From 4c1b226bff97291eb4ddeeeb59185e5081b6b76b Mon Sep 17 00:00:00 2001 From: emdee Date: Wed, 19 Oct 2022 18:09:31 +0000 Subject: [PATCH] 9578053 Jan 22 2022 distfiles.gentoo.org/distfiles/gajim-1.3.3-2.tar.gz --- COPYING | 674 + LICENSE | 16 - MANIFEST.in | 5 + PKG-INFO | 12 + README.md | 101 +- data/gajim-history-manager.1 | 86 + data/gajim-remote.1 | 119 + data/gajim.1 | 138 + data/org.gajim.Gajim.appdata.xml.in | 91 + data/org.gajim.Gajim.desktop.in | 28 + gajim.egg-info/PKG-INFO | 12 + gajim.egg-info/SOURCES.txt | 1043 + gajim.egg-info/dependency_links.txt | 1 + gajim.egg-info/entry_points.txt | 7 + gajim.egg-info/requires.txt | 10 + gajim.egg-info/top_level.txt | 1 + gajim/__init__.py | 19 + gajim/app_actions.py | 325 + gajim/application.py | 562 + gajim/chat_control.py | 1746 + gajim/chat_control_base.py | 1615 + gajim/command_system/__init__.py | 20 + gajim/command_system/dispatcher.py | 135 + gajim/command_system/errors.py | 54 + gajim/command_system/framework.py | 351 + .../command_system/implementation/__init__.py | 20 + gajim/command_system/implementation/custom.py | 131 + .../command_system/implementation/execute.py | 136 + gajim/command_system/implementation/hosts.py | 45 + .../implementation/middleware.py | 195 + .../command_system/implementation/standard.py | 433 + gajim/command_system/mapping.py | 349 + gajim/command_system/tools.py | 34 + gajim/common/__init__.py | 0 gajim/common/account.py | 32 + gajim/common/app.py | 691 + gajim/common/cert_store.py | 89 + gajim/common/client.py | 642 + gajim/common/config.py | 643 + gajim/common/configpaths.py | 234 + gajim/common/connection.py | 201 + gajim/common/connection_handlers.py | 181 + gajim/common/connection_handlers_events.py | 435 + gajim/common/const.py | 1115 + gajim/common/contacts.py | 991 + gajim/common/dbus/__init__.py | 0 gajim/common/dbus/location.py | 112 + gajim/common/dbus/logind.py | 142 + gajim/common/dbus/music_track.py | 208 + gajim/common/dh.py | 229 + gajim/common/events.py | 464 + gajim/common/exceptions.py | 157 + gajim/common/file_props.py | 173 + gajim/common/filetransfer.py | 110 + gajim/common/ged.py | 110 + gajim/common/helpers.py | 1442 + gajim/common/i18n.py | 194 + gajim/common/idle.py | 362 + gajim/common/jingle_content.py | 245 + gajim/common/jingle_ft.py | 409 + gajim/common/jingle_ftstates.py | 228 + gajim/common/jingle_rtp.py | 534 + gajim/common/jingle_session.py | 849 + gajim/common/jingle_transport.py | 502 + gajim/common/jingle_xtls.py | 282 + gajim/common/logging_helpers.py | 231 + gajim/common/modules/__init__.py | 174 + gajim/common/modules/adhoc_commands.py | 434 + gajim/common/modules/annotations.py | 66 + gajim/common/modules/announce.py | 37 + gajim/common/modules/base.py | 97 + gajim/common/modules/bits_of_binary.py | 204 + gajim/common/modules/blocking.py | 139 + gajim/common/modules/bookmarks.py | 353 + gajim/common/modules/bytestream.py | 719 + gajim/common/modules/caps.py | 232 + gajim/common/modules/carbons.py | 44 + gajim/common/modules/chat_markers.py | 123 + gajim/common/modules/chatstates.py | 358 + gajim/common/modules/delimiter.py | 56 + gajim/common/modules/discovery.py | 265 + gajim/common/modules/entity_time.py | 116 + gajim/common/modules/gateway.py | 101 + gajim/common/modules/http_auth.py | 78 + gajim/common/modules/httpupload.py | 404 + gajim/common/modules/ibb.py | 239 + gajim/common/modules/iq.py | 88 + gajim/common/modules/jingle.py | 311 + gajim/common/modules/last_activity.py | 59 + gajim/common/modules/mam.py | 507 + gajim/common/modules/message.py | 390 + gajim/common/modules/metacontacts.py | 107 + gajim/common/modules/misc.py | 51 + gajim/common/modules/muc.py | 857 + gajim/common/modules/pep.py | 39 + gajim/common/modules/ping.py | 82 + gajim/common/modules/presence.py | 394 + gajim/common/modules/pubsub.py | 85 + gajim/common/modules/receipts.py | 112 + gajim/common/modules/register.py | 44 + gajim/common/modules/roster.py | 379 + gajim/common/modules/roster_item_exchange.py | 130 + gajim/common/modules/search.py | 111 + gajim/common/modules/security_labels.py | 70 + gajim/common/modules/software_version.py | 46 + gajim/common/modules/user_activity.py | 91 + gajim/common/modules/user_avatar.py | 99 + gajim/common/modules/user_location.py | 78 + gajim/common/modules/user_mood.py | 91 + gajim/common/modules/user_nickname.py | 65 + gajim/common/modules/user_tune.py | 124 + gajim/common/modules/util.py | 106 + gajim/common/modules/vcard4.py | 33 + gajim/common/modules/vcard_avatars.py | 204 + gajim/common/modules/vcard_temp.py | 45 + gajim/common/multimedia_helpers.py | 115 + gajim/common/nec.py | 199 + gajim/common/optparser.py | 225 + gajim/common/passwords.py | 133 + gajim/common/proxy65_manager.py | 486 + gajim/common/regex.py | 88 + gajim/common/setting_values.py | 467 + gajim/common/settings.py | 934 + gajim/common/socks5.py | 1493 + gajim/common/storage/__init__.py | 0 gajim/common/storage/archive.py | 996 + gajim/common/storage/base.py | 192 + gajim/common/storage/cache.py | 264 + gajim/common/structs.py | 167 + gajim/common/task_manager.py | 108 + gajim/common/types.py | 65 + gajim/common/zeroconf/__init__.py | 0 gajim/common/zeroconf/client_zeroconf.py | 857 + .../zeroconf/connection_handlers_zeroconf.py | 127 + gajim/common/zeroconf/connection_zeroconf.py | 450 + gajim/common/zeroconf/roster_zeroconf.py | 160 + gajim/common/zeroconf/zeroconf.py | 63 + gajim/common/zeroconf/zeroconf_avahi.py | 552 + gajim/common/zeroconf/zeroconf_avahi_const.py | 58 + gajim/common/zeroconf/zeroconf_bonjour.py | 458 + gajim/conversation_textview.py | 1297 + gajim/data/emoticons/noto/LICENSE | 201 + gajim/data/emoticons/noto/noto.png | Bin 0 -> 2499123 bytes gajim/data/emoticons/twemoji/LICENSE | 393 + gajim/data/emoticons/twemoji/twemoji.png | Bin 0 -> 894737 bytes gajim/data/gui/account_context_menu.ui | 84 + gajim/data/gui/account_wizard.ui | 735 + gajim/data/gui/add_new_contact_window.ui | 492 + gajim/data/gui/advanced_configuration.ui | 140 + gajim/data/gui/application_menu.ui | 99 + gajim/data/gui/assistant.ui | 57 + gajim/data/gui/blocking_list.ui | 137 + gajim/data/gui/bookmarks.ui | 214 + gajim/data/gui/certificate_dialog.ui | 492 + gajim/data/gui/chat_control.ui | 1232 + gajim/data/gui/chat_to_muc_window.ui | 201 + gajim/data/gui/contact_context_menu.ui | 210 + gajim/data/gui/edit_groups_dialog.ui | 141 + gajim/data/gui/emoji_chooser.ui | 124 + gajim/data/gui/exception_dialog.ui | 168 + gajim/data/gui/filetransfer_progress.ui | 191 + gajim/data/gui/filetransfers.ui | 211 + .../gui/filetransfers_send_file_dialog.ui | 175 + gajim/data/gui/groupchat_config.ui | 482 + gajim/data/gui/groupchat_control.ui | 2098 ++ gajim/data/gui/groupchat_creation.ui | 344 + gajim/data/gui/groupchat_info_scrolled.ui | 328 + gajim/data/gui/groupchat_invite.ui | 238 + gajim/data/gui/groupchat_nick_chooser.ui | 117 + gajim/data/gui/groupchat_roster.ui | 83 + gajim/data/gui/groups_post_window.ui | 133 + gajim/data/gui/history_manager.ui | 257 + gajim/data/gui/history_window.ui | 561 + gajim/data/gui/mam_preferences.ui | 239 + gajim/data/gui/manage_pep_services_window.ui | 91 + gajim/data/gui/manage_proxies.ui | 366 + gajim/data/gui/manage_sounds.ui | 143 + gajim/data/gui/message_window.ui | 89 + gajim/data/gui/passphrase_dialog.ui | 162 + gajim/data/gui/plugins_window.ui | 365 + gajim/data/gui/popup_notification_window.ui | 123 + gajim/data/gui/preferences.ui | 871 + gajim/data/gui/profile.ui | 445 + gajim/data/gui/roster_item_exchange_window.ui | 167 + gajim/data/gui/roster_window.ui | 108 + gajim/data/gui/server_info.ui | 455 + gajim/data/gui/service_discovery_window.ui | 230 + gajim/data/gui/shortcuts_window.ui | 327 + gajim/data/gui/single_message_window.ui | 379 + gajim/data/gui/ssl_error_dialog.ui | 146 + gajim/data/gui/start_chat_dialog.ui | 555 + gajim/data/gui/status_change_window.ui | 814 + gajim/data/gui/subscription_request_window.ui | 251 + .../gui/synchronise_select_account_dialog.ui | 105 + .../gui/synchronise_select_contacts_dialog.ui | 104 + gajim/data/gui/systray_context_menu.ui | 89 + gajim/data/gui/themes_window.ui | 240 + gajim/data/gui/tooltip_gc_contact.ui | 117 + gajim/data/gui/tooltip_roster_contact.ui | 289 + gajim/data/gui/vcard_information_window.ui | 1586 + gajim/data/gui/video_preview.ui | 70 + gajim/data/gui/xml_console.ui | 355 + gajim/data/gui/zeroconf_context_menu.ui | 31 + gajim/data/gui/zeroconf_information_window.ui | 398 + .../hicolor/16x16/actions/gajim-kbd_input.png | Bin 0 -> 189 bytes .../feather-briefcase-symbolic.symbolic.png | Bin 0 -> 280 bytes .../feather-camera-off-symbolic.symbolic.png | Bin 0 -> 362 bytes .../feather-camera-symbolic.symbolic.png | Bin 0 -> 344 bytes ...feather-check-double-symbolic.symbolic.png | Bin 0 -> 282 bytes .../feather-check-symbolic.symbolic.png | Bin 0 -> 206 bytes .../feather-clock-symbolic.symbolic.png | Bin 0 -> 430 bytes .../feather-eye-off-symbolic.symbolic.png | Bin 0 -> 432 bytes .../devices/feather-eye-symbolic.symbolic.png | Bin 0 -> 385 bytes .../feather-globe-symbolic.symbolic.png | Bin 0 -> 455 bytes .../feather-hard-drive-symbolic.symbolic.png | Bin 0 -> 337 bytes .../feather-hash-symbolic.symbolic.png | Bin 0 -> 221 bytes .../feather-home-symbolic.symbolic.png | Bin 0 -> 298 bytes .../feather-lock-symbolic.symbolic.png | Bin 0 -> 374 bytes .../feather-mic-off-symbolic.symbolic.png | Bin 0 -> 428 bytes .../devices/feather-mic-symbolic.symbolic.png | Bin 0 -> 369 bytes .../feather-server-symbolic.symbolic.png | Bin 0 -> 265 bytes .../feather-shield-off-symbolic.symbolic.png | Bin 0 -> 388 bytes .../feather-shield-symbolic.symbolic.png | Bin 0 -> 338 bytes .../feather-unlock-symbolic.symbolic.png | Bin 0 -> 366 bytes .../feather-user-check-symbolic.symbolic.png | Bin 0 -> 385 bytes ...activity-doing-chores-buying-groceries.png | Bin 0 -> 909 bytes .../status/activity-doing-chores-cleaning.png | Bin 0 -> 842 bytes .../status/activity-doing-chores-cooking.png | Bin 0 -> 1005 bytes ...ctivity-doing-chores-doing-maintenance.png | Bin 0 -> 957 bytes ...activity-doing-chores-doing-the-dishes.png | Bin 0 -> 916 bytes ...ctivity-doing-chores-doing-the-laundry.png | Bin 0 -> 808 bytes .../activity-doing-chores-gardening.png | Bin 0 -> 749 bytes ...ctivity-doing-chores-running-an-errand.png | Bin 0 -> 980 bytes .../activity-doing-chores-walking-the-dog.png | Bin 0 -> 891 bytes .../16x16/status/activity-doing-chores.png | Bin 0 -> 854 bytes .../activity-drinking-having-a-beer.png | Bin 0 -> 906 bytes .../activity-drinking-having-coffee.png | Bin 0 -> 918 bytes .../status/activity-drinking-having-tea.png | Bin 0 -> 712 bytes .../16x16/status/activity-drinking.png | Bin 0 -> 706 bytes .../status/activity-eating-having-a-snack.png | Bin 0 -> 906 bytes .../activity-eating-having-breakfast.png | Bin 0 -> 844 bytes .../status/activity-eating-having-dinner.png | Bin 0 -> 969 bytes .../status/activity-eating-having-lunch.png | Bin 0 -> 1016 bytes .../hicolor/16x16/status/activity-eating.png | Bin 0 -> 868 bytes .../status/activity-exercising-cycling.png | Bin 0 -> 901 bytes .../status/activity-exercising-dancing.png | Bin 0 -> 957 bytes .../status/activity-exercising-hiking.png | Bin 0 -> 723 bytes .../status/activity-exercising-jogging.png | Bin 0 -> 625 bytes .../activity-exercising-playing-sports.png | Bin 0 -> 894 bytes .../status/activity-exercising-running.png | Bin 0 -> 1066 bytes .../status/activity-exercising-skiing.png | Bin 0 -> 854 bytes .../status/activity-exercising-swimming.png | Bin 0 -> 900 bytes .../activity-exercising-working-out.png | Bin 0 -> 846 bytes .../16x16/status/activity-exercising.png | Bin 0 -> 912 bytes .../status/activity-grooming-at-the-spa.png | Bin 0 -> 1143 bytes .../activity-grooming-brushing-teeth.png | Bin 0 -> 665 bytes .../activity-grooming-getting-a-haircut.png | Bin 0 -> 759 bytes .../status/activity-grooming-shaving.png | Bin 0 -> 689 bytes .../activity-grooming-taking-a-bath.png | Bin 0 -> 1080 bytes .../activity-grooming-taking-a-shower.png | Bin 0 -> 793 bytes .../16x16/status/activity-grooming.png | Bin 0 -> 1013 bytes .../status/activity-having-appointment.png | Bin 0 -> 1012 bytes .../status/activity-inactive-day-off.png | Bin 0 -> 589 bytes .../status/activity-inactive-hanging-out.png | Bin 0 -> 907 bytes .../16x16/status/activity-inactive-hiding.png | Bin 0 -> 752 bytes .../status/activity-inactive-on-vacation.png | Bin 0 -> 917 bytes .../status/activity-inactive-praying.png | Bin 0 -> 882 bytes .../activity-inactive-scheduled-holiday.png | Bin 0 -> 703 bytes .../status/activity-inactive-sleeping.png | Bin 0 -> 997 bytes .../status/activity-inactive-thinking.png | Bin 0 -> 967 bytes .../16x16/status/activity-inactive.png | Bin 0 -> 981 bytes .../status/activity-relaxing-fishing.png | Bin 0 -> 719 bytes .../16x16/status/activity-relaxing-gaming.png | Bin 0 -> 866 bytes .../status/activity-relaxing-going-out.png | Bin 0 -> 793 bytes .../status/activity-relaxing-partying.png | Bin 0 -> 990 bytes .../status/activity-relaxing-reading.png | Bin 0 -> 913 bytes .../status/activity-relaxing-rehearsing.png | Bin 0 -> 921 bytes .../status/activity-relaxing-shopping.png | Bin 0 -> 964 bytes .../status/activity-relaxing-smoking.png | Bin 0 -> 621 bytes .../status/activity-relaxing-socializing.png | Bin 0 -> 956 bytes .../status/activity-relaxing-sunbathing.png | Bin 0 -> 958 bytes .../activity-relaxing-watching-a-movie.png | Bin 0 -> 1085 bytes .../status/activity-relaxing-watching-tv.png | Bin 0 -> 955 bytes .../16x16/status/activity-relaxing.png | Bin 0 -> 839 bytes .../status/activity-talking-in-real-life.png | Bin 0 -> 792 bytes .../status/activity-talking-on-the-phone.png | Bin 0 -> 651 bytes .../activity-talking-on-video-phone.png | Bin 0 -> 865 bytes .../hicolor/16x16/status/activity-talking.png | Bin 0 -> 836 bytes .../status/activity-traveling-commuting.png | Bin 0 -> 868 bytes .../status/activity-traveling-cycling.png | Bin 0 -> 982 bytes .../status/activity-traveling-driving.png | Bin 0 -> 960 bytes .../status/activity-traveling-in-a-car.png | Bin 0 -> 696 bytes .../status/activity-traveling-on-a-bus.png | Bin 0 -> 897 bytes .../status/activity-traveling-on-a-plane.png | Bin 0 -> 773 bytes .../status/activity-traveling-on-a-train.png | Bin 0 -> 825 bytes .../status/activity-traveling-on-a-trip.png | Bin 0 -> 962 bytes .../status/activity-traveling-walking.png | Bin 0 -> 797 bytes .../16x16/status/activity-traveling.png | Bin 0 -> 1072 bytes .../16x16/status/activity-working-coding.png | Bin 0 -> 757 bytes .../status/activity-working-in-a-meeting.png | Bin 0 -> 1005 bytes .../status/activity-working-studying.png | Bin 0 -> 726 bytes .../16x16/status/activity-working-writing.png | Bin 0 -> 926 bytes .../hicolor/16x16/status/activity-working.png | Bin 0 -> 815 bytes .../16x16/status/applications-internet.png | Bin 0 -> 1092 bytes .../16x16/status/audio-mic-volume-high.png | Bin 0 -> 828 bytes .../16x16/status/audio-mic-volume-low.png | Bin 0 -> 706 bytes .../16x16/status/audio-mic-volume-medium.png | Bin 0 -> 767 bytes .../16x16/status/audio-mic-volume-muted.png | Bin 0 -> 760 bytes .../hicolor/16x16/status/dcraven-away.png | Bin 0 -> 949 bytes .../hicolor/16x16/status/dcraven-chat.png | Bin 0 -> 980 bytes .../hicolor/16x16/status/dcraven-closed.png | Bin 0 -> 225 bytes .../16x16/status/dcraven-connecting.png | Bin 0 -> 1084 bytes .../hicolor/16x16/status/dcraven-dnd.png | Bin 0 -> 975 bytes .../hicolor/16x16/status/dcraven-error.png | Bin 0 -> 967 bytes .../hicolor/16x16/status/dcraven-event.png | Bin 0 -> 528 bytes .../16x16/status/dcraven-muc-active.png | Bin 0 -> 624 bytes .../16x16/status/dcraven-muc-inactive.png | Bin 0 -> 572 bytes .../16x16/status/dcraven-notinroster.png | Bin 0 -> 942 bytes .../hicolor/16x16/status/dcraven-offline.png | Bin 0 -> 962 bytes .../hicolor/16x16/status/dcraven-online.png | Bin 0 -> 950 bytes .../hicolor/16x16/status/dcraven-opened.png | Bin 0 -> 187 bytes .../16x16/status/dcraven-requested.png | Bin 0 -> 1000 bytes .../icons/hicolor/16x16/status/dcraven-xa.png | Bin 0 -> 935 bytes .../hicolor/16x16/status/facebook-away.png | Bin 0 -> 428 bytes .../hicolor/16x16/status/facebook-chat.png | Bin 0 -> 552 bytes .../hicolor/16x16/status/facebook-dnd.png | Bin 0 -> 428 bytes .../16x16/status/facebook-notinroster.png | Bin 0 -> 500 bytes .../hicolor/16x16/status/facebook-offline.png | Bin 0 -> 458 bytes .../hicolor/16x16/status/facebook-online.png | Bin 0 -> 552 bytes .../hicolor/16x16/status/facebook-xa.png | Bin 0 -> 428 bytes .../icons/hicolor/16x16/status/gadu-away.png | Bin 0 -> 804 bytes .../icons/hicolor/16x16/status/gadu-chat.png | Bin 0 -> 849 bytes .../icons/hicolor/16x16/status/gadu-dnd.png | Bin 0 -> 801 bytes .../hicolor/16x16/status/gadu-notinroster.png | Bin 0 -> 796 bytes .../hicolor/16x16/status/gadu-offline.png | Bin 0 -> 799 bytes .../hicolor/16x16/status/gadu-online.png | Bin 0 -> 802 bytes .../icons/hicolor/16x16/status/gadu-xa.png | Bin 0 -> 804 bytes .../hicolor/16x16/status/gajim-event.png | Bin 0 -> 528 bytes .../hicolor/16x16/status/gajim-plugins.png | Bin 0 -> 541 bytes .../icons/hicolor/16x16/status/gnome-away.png | Bin 0 -> 543 bytes .../icons/hicolor/16x16/status/gnome-chat.png | Bin 0 -> 556 bytes .../hicolor/16x16/status/gnome-closed.png | Bin 0 -> 172 bytes .../hicolor/16x16/status/gnome-connecting.png | Bin 0 -> 1084 bytes .../icons/hicolor/16x16/status/gnome-dnd.png | Bin 0 -> 462 bytes .../hicolor/16x16/status/gnome-error.png | Bin 0 -> 532 bytes .../hicolor/16x16/status/gnome-event.png | Bin 0 -> 528 bytes .../hicolor/16x16/status/gnome-muc-active.png | Bin 0 -> 592 bytes .../16x16/status/gnome-muc-inactive.png | Bin 0 -> 522 bytes .../16x16/status/gnome-notinroster.png | Bin 0 -> 759 bytes .../hicolor/16x16/status/gnome-offline.png | Bin 0 -> 507 bytes .../hicolor/16x16/status/gnome-online.png | Bin 0 -> 594 bytes .../hicolor/16x16/status/gnome-opened.png | Bin 0 -> 166 bytes .../hicolor/16x16/status/gnome-requested.png | Bin 0 -> 863 bytes .../icons/hicolor/16x16/status/gnome-xa.png | Bin 0 -> 630 bytes .../hicolor/16x16/status/goojim-away.png | Bin 0 -> 422 bytes .../hicolor/16x16/status/goojim-chat.png | Bin 0 -> 407 bytes .../hicolor/16x16/status/goojim-closed.png | Bin 0 -> 454 bytes .../16x16/status/goojim-connecting.png | Bin 0 -> 527 bytes .../icons/hicolor/16x16/status/goojim-dnd.png | Bin 0 -> 419 bytes .../hicolor/16x16/status/goojim-error.png | Bin 0 -> 541 bytes .../hicolor/16x16/status/goojim-event.png | Bin 0 -> 428 bytes .../16x16/status/goojim-muc-active.png | Bin 0 -> 592 bytes .../16x16/status/goojim-muc-inactive.png | Bin 0 -> 522 bytes .../16x16/status/goojim-notinroster.png | Bin 0 -> 387 bytes .../hicolor/16x16/status/goojim-offline.png | Bin 0 -> 474 bytes .../hicolor/16x16/status/goojim-online.png | Bin 0 -> 355 bytes .../hicolor/16x16/status/goojim-opened.png | Bin 0 -> 404 bytes .../hicolor/16x16/status/goojim-requested.png | Bin 0 -> 495 bytes .../icons/hicolor/16x16/status/goojim-xa.png | Bin 0 -> 406 bytes .../icons/hicolor/16x16/status/gota-away.png | Bin 0 -> 693 bytes .../icons/hicolor/16x16/status/gota-chat.png | Bin 0 -> 878 bytes .../hicolor/16x16/status/gota-closed.png | Bin 0 -> 248 bytes .../hicolor/16x16/status/gota-connecting.png | Bin 0 -> 1084 bytes .../icons/hicolor/16x16/status/gota-dnd.png | Bin 0 -> 626 bytes .../icons/hicolor/16x16/status/gota-error.png | Bin 0 -> 502 bytes .../icons/hicolor/16x16/status/gota-event.png | Bin 0 -> 528 bytes .../hicolor/16x16/status/gota-muc-active.png | Bin 0 -> 592 bytes .../16x16/status/gota-muc-inactive.png | Bin 0 -> 522 bytes .../hicolor/16x16/status/gota-notinroster.png | Bin 0 -> 853 bytes .../hicolor/16x16/status/gota-offline.png | Bin 0 -> 504 bytes .../hicolor/16x16/status/gota-online.png | Bin 0 -> 695 bytes .../hicolor/16x16/status/gota-opened.png | Bin 0 -> 181 bytes .../hicolor/16x16/status/gota-requested.png | Bin 0 -> 667 bytes .../icons/hicolor/16x16/status/gota-xa.png | Bin 0 -> 598 bytes .../icons/hicolor/16x16/status/icq-away.png | Bin 0 -> 887 bytes .../icons/hicolor/16x16/status/icq-chat.png | Bin 0 -> 941 bytes .../icons/hicolor/16x16/status/icq-dnd.png | Bin 0 -> 936 bytes .../hicolor/16x16/status/icq-notinroster.png | Bin 0 -> 964 bytes .../hicolor/16x16/status/icq-offline.png | Bin 0 -> 941 bytes .../icons/hicolor/16x16/status/icq-online.png | Bin 0 -> 945 bytes .../icons/hicolor/16x16/status/icq-xa.png | Bin 0 -> 896 bytes .../icons/hicolor/16x16/status/irc-away.png | Bin 0 -> 745 bytes .../icons/hicolor/16x16/status/irc-chat.png | Bin 0 -> 866 bytes .../icons/hicolor/16x16/status/irc-dnd.png | Bin 0 -> 857 bytes .../icons/hicolor/16x16/status/irc-event.png | Bin 0 -> 528 bytes .../hicolor/16x16/status/irc-muc-active.png | Bin 0 -> 782 bytes .../hicolor/16x16/status/irc-muc-inactive.png | Bin 0 -> 731 bytes .../hicolor/16x16/status/irc-notinroster.png | Bin 0 -> 780 bytes .../hicolor/16x16/status/irc-offline.png | Bin 0 -> 731 bytes .../icons/hicolor/16x16/status/irc-online.png | Bin 0 -> 782 bytes .../icons/hicolor/16x16/status/irc-xa.png | Bin 0 -> 716 bytes .../hicolor/16x16/status/jabberbulb-away.png | Bin 0 -> 972 bytes .../hicolor/16x16/status/jabberbulb-chat.png | Bin 0 -> 926 bytes .../16x16/status/jabberbulb-closed.png | Bin 0 -> 234 bytes .../16x16/status/jabberbulb-connecting.png | Bin 0 -> 916 bytes .../hicolor/16x16/status/jabberbulb-dnd.png | Bin 0 -> 867 bytes .../hicolor/16x16/status/jabberbulb-error.png | Bin 0 -> 679 bytes .../hicolor/16x16/status/jabberbulb-event.png | Bin 0 -> 528 bytes .../16x16/status/jabberbulb-muc-active.png | Bin 0 -> 592 bytes .../16x16/status/jabberbulb-muc-inactive.png | Bin 0 -> 522 bytes .../16x16/status/jabberbulb-notinroster.png | Bin 0 -> 877 bytes .../16x16/status/jabberbulb-offline.png | Bin 0 -> 660 bytes .../16x16/status/jabberbulb-online.png | Bin 0 -> 709 bytes .../16x16/status/jabberbulb-opened.png | Bin 0 -> 235 bytes .../16x16/status/jabberbulb-requested.png | Bin 0 -> 890 bytes .../hicolor/16x16/status/jabberbulb-xa.png | Bin 0 -> 895 bytes .../hicolor/16x16/status/mood-afraid.png | Bin 0 -> 984 bytes .../hicolor/16x16/status/mood-amazed.png | Bin 0 -> 966 bytes .../hicolor/16x16/status/mood-amorous.png | Bin 0 -> 989 bytes .../icons/hicolor/16x16/status/mood-angry.png | Bin 0 -> 943 bytes .../hicolor/16x16/status/mood-annoyed.png | Bin 0 -> 924 bytes .../hicolor/16x16/status/mood-anxious.png | Bin 0 -> 949 bytes .../hicolor/16x16/status/mood-aroused.png | Bin 0 -> 956 bytes .../hicolor/16x16/status/mood-ashamed.png | Bin 0 -> 942 bytes .../icons/hicolor/16x16/status/mood-bored.png | Bin 0 -> 934 bytes .../icons/hicolor/16x16/status/mood-brave.png | Bin 0 -> 931 bytes .../icons/hicolor/16x16/status/mood-calm.png | Bin 0 -> 918 bytes .../hicolor/16x16/status/mood-cautious.png | Bin 0 -> 922 bytes .../icons/hicolor/16x16/status/mood-cold.png | Bin 0 -> 996 bytes .../hicolor/16x16/status/mood-confident.png | Bin 0 -> 913 bytes .../hicolor/16x16/status/mood-confused.png | Bin 0 -> 951 bytes .../16x16/status/mood-contemplative.png | Bin 0 -> 907 bytes .../hicolor/16x16/status/mood-contented.png | Bin 0 -> 886 bytes .../hicolor/16x16/status/mood-cranky.png | Bin 0 -> 939 bytes .../icons/hicolor/16x16/status/mood-crazy.png | Bin 0 -> 981 bytes .../hicolor/16x16/status/mood-creative.png | Bin 0 -> 916 bytes .../hicolor/16x16/status/mood-curious.png | Bin 0 -> 944 bytes .../hicolor/16x16/status/mood-dejected.png | Bin 0 -> 886 bytes .../hicolor/16x16/status/mood-depressed.png | Bin 0 -> 1001 bytes .../16x16/status/mood-disappointed.png | Bin 0 -> 918 bytes .../hicolor/16x16/status/mood-disgusted.png | Bin 0 -> 956 bytes .../hicolor/16x16/status/mood-dismayed.png | Bin 0 -> 964 bytes .../hicolor/16x16/status/mood-distracted.png | Bin 0 -> 871 bytes .../hicolor/16x16/status/mood-embarrassed.png | Bin 0 -> 902 bytes .../hicolor/16x16/status/mood-envious.png | Bin 0 -> 960 bytes .../hicolor/16x16/status/mood-excited.png | Bin 0 -> 949 bytes .../hicolor/16x16/status/mood-flirtatious.png | Bin 0 -> 906 bytes .../hicolor/16x16/status/mood-frustrated.png | Bin 0 -> 975 bytes .../hicolor/16x16/status/mood-grateful.png | Bin 0 -> 923 bytes .../hicolor/16x16/status/mood-grieving.png | Bin 0 -> 928 bytes .../hicolor/16x16/status/mood-grumpy.png | Bin 0 -> 897 bytes .../hicolor/16x16/status/mood-guilty.png | Bin 0 -> 923 bytes .../icons/hicolor/16x16/status/mood-happy.png | Bin 0 -> 880 bytes .../hicolor/16x16/status/mood-hopeful.png | Bin 0 -> 883 bytes .../icons/hicolor/16x16/status/mood-hot.png | Bin 0 -> 982 bytes .../hicolor/16x16/status/mood-humbled.png | Bin 0 -> 925 bytes .../hicolor/16x16/status/mood-humiliated.png | Bin 0 -> 924 bytes .../hicolor/16x16/status/mood-hungry.png | Bin 0 -> 855 bytes .../icons/hicolor/16x16/status/mood-hurt.png | Bin 0 -> 954 bytes .../hicolor/16x16/status/mood-impressed.png | Bin 0 -> 972 bytes .../hicolor/16x16/status/mood-in_awe.png | Bin 0 -> 979 bytes .../hicolor/16x16/status/mood-in_love.png | Bin 0 -> 979 bytes .../hicolor/16x16/status/mood-indignant.png | Bin 0 -> 922 bytes .../hicolor/16x16/status/mood-interested.png | Bin 0 -> 968 bytes .../hicolor/16x16/status/mood-intoxicated.png | Bin 0 -> 1028 bytes .../hicolor/16x16/status/mood-invincible.png | Bin 0 -> 986 bytes .../hicolor/16x16/status/mood-jealous.png | Bin 0 -> 923 bytes .../hicolor/16x16/status/mood-lonely.png | Bin 0 -> 914 bytes .../icons/hicolor/16x16/status/mood-lost.png | Bin 0 -> 940 bytes .../icons/hicolor/16x16/status/mood-lucky.png | Bin 0 -> 888 bytes .../icons/hicolor/16x16/status/mood-mean.png | Bin 0 -> 889 bytes .../icons/hicolor/16x16/status/mood-moody.png | Bin 0 -> 892 bytes .../hicolor/16x16/status/mood-nervous.png | Bin 0 -> 963 bytes .../hicolor/16x16/status/mood-neutral.png | Bin 0 -> 903 bytes .../hicolor/16x16/status/mood-offended.png | Bin 0 -> 914 bytes .../hicolor/16x16/status/mood-outraged.png | Bin 0 -> 987 bytes .../hicolor/16x16/status/mood-playful.png | Bin 0 -> 947 bytes .../icons/hicolor/16x16/status/mood-proud.png | Bin 0 -> 914 bytes .../hicolor/16x16/status/mood-relaxed.png | Bin 0 -> 949 bytes .../hicolor/16x16/status/mood-relieved.png | Bin 0 -> 969 bytes .../hicolor/16x16/status/mood-remorseful.png | Bin 0 -> 935 bytes .../hicolor/16x16/status/mood-restless.png | Bin 0 -> 966 bytes .../icons/hicolor/16x16/status/mood-sad.png | Bin 0 -> 978 bytes .../hicolor/16x16/status/mood-sarcastic.png | Bin 0 -> 963 bytes .../hicolor/16x16/status/mood-satisfied.png | Bin 0 -> 931 bytes .../hicolor/16x16/status/mood-serious.png | Bin 0 -> 937 bytes .../hicolor/16x16/status/mood-shocked.png | Bin 0 -> 1002 bytes .../icons/hicolor/16x16/status/mood-shy.png | Bin 0 -> 966 bytes .../icons/hicolor/16x16/status/mood-sick.png | Bin 0 -> 1023 bytes .../hicolor/16x16/status/mood-sleepy.png | Bin 0 -> 910 bytes .../hicolor/16x16/status/mood-spontaneous.png | Bin 0 -> 947 bytes .../hicolor/16x16/status/mood-stressed.png | Bin 0 -> 998 bytes .../hicolor/16x16/status/mood-strong.png | Bin 0 -> 961 bytes .../hicolor/16x16/status/mood-surprised.png | Bin 0 -> 975 bytes .../hicolor/16x16/status/mood-thankful.png | Bin 0 -> 892 bytes .../hicolor/16x16/status/mood-thirsty.png | Bin 0 -> 967 bytes .../icons/hicolor/16x16/status/mood-tired.png | Bin 0 -> 959 bytes .../hicolor/16x16/status/mood-undefined.png | Bin 0 -> 899 bytes .../hicolor/16x16/status/mood-unknown.png | Bin 0 -> 720 bytes .../icons/hicolor/16x16/status/mood-weak.png | Bin 0 -> 851 bytes .../hicolor/16x16/status/mood-worried.png | Bin 0 -> 992 bytes .../icons/hicolor/16x16/status/mrim-away.png | Bin 0 -> 1050 bytes .../icons/hicolor/16x16/status/mrim-chat.png | Bin 0 -> 931 bytes .../icons/hicolor/16x16/status/mrim-dnd.png | Bin 0 -> 917 bytes .../hicolor/16x16/status/mrim-notinroster.png | Bin 0 -> 1100 bytes .../hicolor/16x16/status/mrim-offline.png | Bin 0 -> 1045 bytes .../hicolor/16x16/status/mrim-online.png | Bin 0 -> 814 bytes .../icons/hicolor/16x16/status/mrim-xa.png | Bin 0 -> 1001 bytes .../icons/hicolor/16x16/status/sms-away.png | Bin 0 -> 609 bytes .../icons/hicolor/16x16/status/sms-chat.png | Bin 0 -> 609 bytes .../icons/hicolor/16x16/status/sms-dnd.png | Bin 0 -> 637 bytes .../hicolor/16x16/status/sms-offline.png | Bin 0 -> 643 bytes .../icons/hicolor/16x16/status/sms-online.png | Bin 0 -> 609 bytes .../icons/hicolor/16x16/status/sms-xa.png | Bin 0 -> 609 bytes .../icons/hicolor/16x16/status/sun-away.png | Bin 0 -> 875 bytes .../icons/hicolor/16x16/status/sun-chat.png | Bin 0 -> 928 bytes .../icons/hicolor/16x16/status/sun-closed.png | Bin 0 -> 156 bytes .../hicolor/16x16/status/sun-connecting.png | Bin 0 -> 1084 bytes .../icons/hicolor/16x16/status/sun-dnd.png | Bin 0 -> 856 bytes .../icons/hicolor/16x16/status/sun-error.png | Bin 0 -> 831 bytes .../icons/hicolor/16x16/status/sun-event.png | Bin 0 -> 528 bytes .../hicolor/16x16/status/sun-muc-active.png | Bin 0 -> 592 bytes .../hicolor/16x16/status/sun-muc-inactive.png | Bin 0 -> 522 bytes .../hicolor/16x16/status/sun-notinroster.png | Bin 0 -> 680 bytes .../hicolor/16x16/status/sun-offline.png | Bin 0 -> 632 bytes .../icons/hicolor/16x16/status/sun-online.png | Bin 0 -> 880 bytes .../icons/hicolor/16x16/status/sun-opened.png | Bin 0 -> 156 bytes .../hicolor/16x16/status/sun-requested.png | Bin 0 -> 886 bytes .../icons/hicolor/16x16/status/sun-xa.png | Bin 0 -> 877 bytes .../hicolor/16x16/status/weather-away.png | Bin 0 -> 932 bytes .../hicolor/16x16/status/weather-chat.png | Bin 0 -> 835 bytes .../hicolor/16x16/status/weather-dnd.png | Bin 0 -> 754 bytes .../hicolor/16x16/status/weather-offline.png | Bin 0 -> 465 bytes .../hicolor/16x16/status/weather-online.png | Bin 0 -> 924 bytes .../icons/hicolor/16x16/status/weather-xa.png | Bin 0 -> 605 bytes .../icons/hicolor/16x16/status/wroop-away.png | Bin 0 -> 929 bytes .../icons/hicolor/16x16/status/wroop-chat.png | Bin 0 -> 938 bytes .../hicolor/16x16/status/wroop-closed.png | Bin 0 -> 210 bytes .../hicolor/16x16/status/wroop-connecting.png | Bin 0 -> 1084 bytes .../icons/hicolor/16x16/status/wroop-dnd.png | Bin 0 -> 941 bytes .../hicolor/16x16/status/wroop-error.png | Bin 0 -> 466 bytes .../hicolor/16x16/status/wroop-event.png | Bin 0 -> 528 bytes .../hicolor/16x16/status/wroop-muc-active.png | Bin 0 -> 949 bytes .../16x16/status/wroop-muc-inactive.png | Bin 0 -> 895 bytes .../16x16/status/wroop-notinroster.png | Bin 0 -> 924 bytes .../hicolor/16x16/status/wroop-offline.png | Bin 0 -> 939 bytes .../hicolor/16x16/status/wroop-online.png | Bin 0 -> 937 bytes .../hicolor/16x16/status/wroop-opened.png | Bin 0 -> 204 bytes .../hicolor/16x16/status/wroop-requested.png | Bin 0 -> 929 bytes .../icons/hicolor/16x16/status/wroop-xa.png | Bin 0 -> 929 bytes .../categories/gajim-agent-bytestreams.png | Bin 0 -> 1690 bytes .../categories/gajim-agent-conference.png | Bin 0 -> 994 bytes .../32x32/categories/gajim-agent-disc.png | Bin 0 -> 874 bytes .../32x32/categories/gajim-agent-facebook.png | Bin 0 -> 1054 bytes .../categories/gajim-agent-gadu-gadu.png | Bin 0 -> 1751 bytes .../32x32/categories/gajim-agent-http-ws.png | Bin 0 -> 2029 bytes .../32x32/categories/gajim-agent-icq.png | Bin 0 -> 2272 bytes .../32x32/categories/gajim-agent-irc.png | Bin 0 -> 1585 bytes .../32x32/categories/gajim-agent-jabber.png | Bin 0 -> 1439 bytes .../32x32/categories/gajim-agent-jud.png | Bin 0 -> 1192 bytes .../32x32/categories/gajim-agent-mail.png | Bin 0 -> 1073 bytes .../32x32/categories/gajim-agent-mrim.png | Bin 0 -> 1756 bytes .../32x32/categories/gajim-agent-msn.png | Bin 0 -> 1770 bytes .../32x32/categories/gajim-agent-pubsub.png | Bin 0 -> 959 bytes .../32x32/categories/gajim-agent-rss.png | Bin 0 -> 1550 bytes .../32x32/categories/gajim-agent-sip.png | Bin 0 -> 1897 bytes .../32x32/categories/gajim-agent-sms.png | Bin 0 -> 997 bytes .../32x32/categories/gajim-agent-tv.png | Bin 0 -> 766 bytes .../32x32/categories/gajim-agent-twitter.png | Bin 0 -> 1351 bytes .../32x32/categories/gajim-agent-weather.png | Bin 0 -> 1713 bytes .../feather-briefcase-symbolic.symbolic.png | Bin 0 -> 449 bytes .../feather-camera-off-symbolic.symbolic.png | Bin 0 -> 640 bytes .../feather-camera-symbolic.symbolic.png | Bin 0 -> 628 bytes ...feather-check-double-symbolic.symbolic.png | Bin 0 -> 475 bytes .../feather-check-symbolic.symbolic.png | Bin 0 -> 345 bytes .../feather-clock-symbolic.symbolic.png | Bin 0 -> 776 bytes .../feather-eye-off-symbolic.symbolic.png | Bin 0 -> 748 bytes .../devices/feather-eye-symbolic.symbolic.png | Bin 0 -> 750 bytes .../feather-globe-symbolic.symbolic.png | Bin 0 -> 921 bytes .../feather-hard-drive-symbolic.symbolic.png | Bin 0 -> 526 bytes .../feather-hash-symbolic.symbolic.png | Bin 0 -> 347 bytes .../feather-home-symbolic.symbolic.png | Bin 0 -> 495 bytes .../feather-lock-symbolic.symbolic.png | Bin 0 -> 504 bytes .../feather-mic-off-symbolic.symbolic.png | Bin 0 -> 735 bytes .../devices/feather-mic-symbolic.symbolic.png | Bin 0 -> 612 bytes .../feather-server-symbolic.symbolic.png | Bin 0 -> 370 bytes .../feather-shield-off-symbolic.symbolic.png | Bin 0 -> 643 bytes .../feather-shield-symbolic.symbolic.png | Bin 0 -> 592 bytes .../feather-unlock-symbolic.symbolic.png | Bin 0 -> 506 bytes .../feather-user-check-symbolic.symbolic.png | Bin 0 -> 663 bytes .../hicolor/32x32/status/dcraven-away.png | Bin 0 -> 1827 bytes .../hicolor/32x32/status/dcraven-chat.png | Bin 0 -> 2101 bytes .../hicolor/32x32/status/dcraven-closed.png | Bin 0 -> 241 bytes .../32x32/status/dcraven-connecting.png | Bin 0 -> 2159 bytes .../hicolor/32x32/status/dcraven-dnd.png | Bin 0 -> 1989 bytes .../hicolor/32x32/status/dcraven-error.png | Bin 0 -> 1904 bytes .../hicolor/32x32/status/dcraven-event.png | Bin 0 -> 1073 bytes .../32x32/status/dcraven-muc-active.png | Bin 0 -> 1342 bytes .../32x32/status/dcraven-muc-inactive.png | Bin 0 -> 1290 bytes .../32x32/status/dcraven-notinroster.png | Bin 0 -> 1854 bytes .../hicolor/32x32/status/dcraven-offline.png | Bin 0 -> 1822 bytes .../hicolor/32x32/status/dcraven-online.png | Bin 0 -> 1821 bytes .../hicolor/32x32/status/dcraven-opened.png | Bin 0 -> 212 bytes .../32x32/status/dcraven-requested.png | Bin 0 -> 2058 bytes .../icons/hicolor/32x32/status/dcraven-xa.png | Bin 0 -> 1786 bytes .../hicolor/32x32/status/facebook-away.png | Bin 0 -> 811 bytes .../hicolor/32x32/status/facebook-chat.png | Bin 0 -> 1054 bytes .../hicolor/32x32/status/facebook-dnd.png | Bin 0 -> 811 bytes .../32x32/status/facebook-notinroster.png | Bin 0 -> 977 bytes .../hicolor/32x32/status/facebook-offline.png | Bin 0 -> 877 bytes .../hicolor/32x32/status/facebook-online.png | Bin 0 -> 1054 bytes .../hicolor/32x32/status/facebook-xa.png | Bin 0 -> 811 bytes .../icons/hicolor/32x32/status/gadu-away.png | Bin 0 -> 1999 bytes .../icons/hicolor/32x32/status/gadu-chat.png | Bin 0 -> 2158 bytes .../icons/hicolor/32x32/status/gadu-dnd.png | Bin 0 -> 2116 bytes .../hicolor/32x32/status/gadu-notinroster.png | Bin 0 -> 2104 bytes .../hicolor/32x32/status/gadu-offline.png | Bin 0 -> 2161 bytes .../hicolor/32x32/status/gadu-online.png | Bin 0 -> 2002 bytes .../icons/hicolor/32x32/status/gadu-xa.png | Bin 0 -> 1999 bytes .../hicolor/32x32/status/gajim-event.png | Bin 0 -> 1073 bytes .../icons/hicolor/32x32/status/gnome-away.png | Bin 0 -> 1967 bytes .../icons/hicolor/32x32/status/gnome-chat.png | Bin 0 -> 1725 bytes .../hicolor/32x32/status/gnome-connecting.png | Bin 0 -> 2515 bytes .../icons/hicolor/32x32/status/gnome-dnd.png | Bin 0 -> 1621 bytes .../hicolor/32x32/status/gnome-event.png | Bin 0 -> 1129 bytes .../hicolor/32x32/status/gnome-muc-active.png | Bin 0 -> 1051 bytes .../32x32/status/gnome-muc-inactive.png | Bin 0 -> 1022 bytes .../32x32/status/gnome-notinroster.png | Bin 0 -> 1998 bytes .../hicolor/32x32/status/gnome-offline.png | Bin 0 -> 826 bytes .../hicolor/32x32/status/gnome-online.png | Bin 0 -> 1656 bytes .../hicolor/32x32/status/gnome-requested.png | Bin 0 -> 2295 bytes .../icons/hicolor/32x32/status/gnome-xa.png | Bin 0 -> 2315 bytes .../hicolor/32x32/status/goojim-away.png | Bin 0 -> 737 bytes .../hicolor/32x32/status/goojim-chat.png | Bin 0 -> 689 bytes .../hicolor/32x32/status/goojim-closed.png | Bin 0 -> 896 bytes .../32x32/status/goojim-connecting.png | Bin 0 -> 1190 bytes .../icons/hicolor/32x32/status/goojim-dnd.png | Bin 0 -> 706 bytes .../hicolor/32x32/status/goojim-error.png | Bin 0 -> 1085 bytes .../hicolor/32x32/status/goojim-event.png | Bin 0 -> 815 bytes .../hicolor/32x32/status/goojim-message.png | Bin 0 -> 1129 bytes .../32x32/status/goojim-muc-active.png | Bin 0 -> 1051 bytes .../32x32/status/goojim-muc-inactive.png | Bin 0 -> 1022 bytes .../32x32/status/goojim-notinroster.png | Bin 0 -> 648 bytes .../hicolor/32x32/status/goojim-offline.png | Bin 0 -> 913 bytes .../hicolor/32x32/status/goojim-online.png | Bin 0 -> 600 bytes .../hicolor/32x32/status/goojim-opened.png | Bin 0 -> 814 bytes .../hicolor/32x32/status/goojim-requested.png | Bin 0 -> 912 bytes .../icons/hicolor/32x32/status/goojim-xa.png | Bin 0 -> 689 bytes .../icons/hicolor/32x32/status/gota-away.png | Bin 0 -> 1558 bytes .../icons/hicolor/32x32/status/gota-chat.png | Bin 0 -> 2166 bytes .../hicolor/32x32/status/gota-closed.png | Bin 0 -> 415 bytes .../hicolor/32x32/status/gota-connecting.png | Bin 0 -> 2515 bytes .../icons/hicolor/32x32/status/gota-dnd.png | Bin 0 -> 1419 bytes .../icons/hicolor/32x32/status/gota-error.png | Bin 0 -> 889 bytes .../icons/hicolor/32x32/status/gota-event.png | Bin 0 -> 1129 bytes .../hicolor/32x32/status/gota-muc-active.png | Bin 0 -> 1051 bytes .../32x32/status/gota-muc-inactive.png | Bin 0 -> 1022 bytes .../hicolor/32x32/status/gota-notinroster.png | Bin 0 -> 2022 bytes .../hicolor/32x32/status/gota-offline.png | Bin 0 -> 1028 bytes .../hicolor/32x32/status/gota-online.png | Bin 0 -> 1538 bytes .../hicolor/32x32/status/gota-opened.png | Bin 0 -> 266 bytes .../hicolor/32x32/status/gota-requested.png | Bin 0 -> 1528 bytes .../icons/hicolor/32x32/status/gota-xa.png | Bin 0 -> 1320 bytes .../icons/hicolor/32x32/status/icq-away.png | Bin 0 -> 2135 bytes .../icons/hicolor/32x32/status/icq-chat.png | Bin 0 -> 2399 bytes .../icons/hicolor/32x32/status/icq-dnd.png | Bin 0 -> 2343 bytes .../hicolor/32x32/status/icq-notinroster.png | Bin 0 -> 2228 bytes .../hicolor/32x32/status/icq-offline.png | Bin 0 -> 2173 bytes .../icons/hicolor/32x32/status/icq-online.png | Bin 0 -> 2272 bytes .../icons/hicolor/32x32/status/icq-xa.png | Bin 0 -> 2120 bytes .../icons/hicolor/32x32/status/irc-away.png | Bin 0 -> 1425 bytes .../icons/hicolor/32x32/status/irc-chat.png | Bin 0 -> 1834 bytes .../icons/hicolor/32x32/status/irc-dnd.png | Bin 0 -> 1758 bytes .../hicolor/32x32/status/irc-muc-active.png | Bin 0 -> 1597 bytes .../hicolor/32x32/status/irc-muc-inactive.png | Bin 0 -> 1607 bytes .../hicolor/32x32/status/irc-notinroster.png | Bin 0 -> 1606 bytes .../hicolor/32x32/status/irc-offline.png | Bin 0 -> 1607 bytes .../icons/hicolor/32x32/status/irc-online.png | Bin 0 -> 1597 bytes .../icons/hicolor/32x32/status/irc-xa.png | Bin 0 -> 1389 bytes .../hicolor/32x32/status/jabberbulb-away.png | Bin 0 -> 2194 bytes .../hicolor/32x32/status/jabberbulb-chat.png | Bin 0 -> 1835 bytes .../hicolor/32x32/status/jabberbulb-dnd.png | Bin 0 -> 1787 bytes .../hicolor/32x32/status/jabberbulb-error.png | Bin 0 -> 1646 bytes .../hicolor/32x32/status/jabberbulb-event.png | Bin 0 -> 1129 bytes .../32x32/status/jabberbulb-muc-active.png | Bin 0 -> 1051 bytes .../32x32/status/jabberbulb-muc-inactive.png | Bin 0 -> 1022 bytes .../32x32/status/jabberbulb-notinroster.png | Bin 0 -> 1817 bytes .../32x32/status/jabberbulb-offline.png | Bin 0 -> 1358 bytes .../32x32/status/jabberbulb-online.png | Bin 0 -> 1415 bytes .../32x32/status/jabberbulb-requested.png | Bin 0 -> 1830 bytes .../hicolor/32x32/status/jabberbulb-xa.png | Bin 0 -> 1977 bytes .../icons/hicolor/32x32/status/mrim-away.png | Bin 0 -> 2598 bytes .../icons/hicolor/32x32/status/mrim-chat.png | Bin 0 -> 2375 bytes .../icons/hicolor/32x32/status/mrim-dnd.png | Bin 0 -> 2240 bytes .../hicolor/32x32/status/mrim-notinroster.png | Bin 0 -> 2633 bytes .../hicolor/32x32/status/mrim-offline.png | Bin 0 -> 2402 bytes .../hicolor/32x32/status/mrim-online.png | Bin 0 -> 1961 bytes .../icons/hicolor/32x32/status/mrim-xa.png | Bin 0 -> 2473 bytes .../icons/hicolor/32x32/status/sms-away.png | Bin 0 -> 1418 bytes .../icons/hicolor/32x32/status/sms-chat.png | Bin 0 -> 1418 bytes .../icons/hicolor/32x32/status/sms-dnd.png | Bin 0 -> 1567 bytes .../hicolor/32x32/status/sms-offline.png | Bin 0 -> 1402 bytes .../icons/hicolor/32x32/status/sms-online.png | Bin 0 -> 1418 bytes .../icons/hicolor/32x32/status/sms-xa.png | Bin 0 -> 1418 bytes .../icons/hicolor/32x32/status/sun-away.png | Bin 0 -> 2119 bytes .../icons/hicolor/32x32/status/sun-chat.png | Bin 0 -> 2410 bytes .../hicolor/32x32/status/sun-connecting.png | Bin 0 -> 2515 bytes .../icons/hicolor/32x32/status/sun-dnd.png | Bin 0 -> 2204 bytes .../icons/hicolor/32x32/status/sun-error.png | Bin 0 -> 1869 bytes .../icons/hicolor/32x32/status/sun-event.png | Bin 0 -> 1129 bytes .../hicolor/32x32/status/sun-muc-active.png | Bin 0 -> 1051 bytes .../hicolor/32x32/status/sun-muc-inactive.png | Bin 0 -> 1022 bytes .../hicolor/32x32/status/sun-notinroster.png | Bin 0 -> 1357 bytes .../hicolor/32x32/status/sun-offline.png | Bin 0 -> 1230 bytes .../icons/hicolor/32x32/status/sun-online.png | Bin 0 -> 2270 bytes .../hicolor/32x32/status/sun-requested.png | Bin 0 -> 1946 bytes .../icons/hicolor/32x32/status/sun-xa.png | Bin 0 -> 2059 bytes .../hicolor/32x32/status/weather-away.png | Bin 0 -> 1713 bytes .../hicolor/32x32/status/weather-chat.png | Bin 0 -> 2292 bytes .../hicolor/32x32/status/weather-dnd.png | Bin 0 -> 1311 bytes .../hicolor/32x32/status/weather-offline.png | Bin 0 -> 1112 bytes .../hicolor/32x32/status/weather-online.png | Bin 0 -> 1713 bytes .../icons/hicolor/32x32/status/weather-xa.png | Bin 0 -> 1240 bytes .../icons/hicolor/32x32/status/wroop-away.png | Bin 0 -> 2437 bytes .../icons/hicolor/32x32/status/wroop-chat.png | Bin 0 -> 2430 bytes .../hicolor/32x32/status/wroop-connecting.png | Bin 0 -> 2515 bytes .../icons/hicolor/32x32/status/wroop-dnd.png | Bin 0 -> 2443 bytes .../hicolor/32x32/status/wroop-error.png | Bin 0 -> 739 bytes .../hicolor/32x32/status/wroop-event.png | Bin 0 -> 1129 bytes .../hicolor/32x32/status/wroop-muc-active.png | Bin 0 -> 2414 bytes .../32x32/status/wroop-muc-inactive.png | Bin 0 -> 2237 bytes .../32x32/status/wroop-notinroster.png | Bin 0 -> 2347 bytes .../hicolor/32x32/status/wroop-offline.png | Bin 0 -> 2503 bytes .../hicolor/32x32/status/wroop-online.png | Bin 0 -> 2453 bytes .../hicolor/32x32/status/wroop-requested.png | Bin 0 -> 2437 bytes .../icons/hicolor/32x32/status/wroop-xa.png | Bin 0 -> 2437 bytes .../hicolor/48x48/status/dcraven-offline.png | Bin 0 -> 3534 bytes .../hicolor/48x48/status/dcraven-online.png | Bin 0 -> 3591 bytes .../hicolor/48x48/status/facebook-offline.png | Bin 0 -> 1254 bytes .../hicolor/48x48/status/facebook-online.png | Bin 0 -> 1521 bytes .../hicolor/48x48/status/gadu-offline.png | Bin 0 -> 3802 bytes .../hicolor/48x48/status/gadu-online.png | Bin 0 -> 3518 bytes .../48x48/status/gajim-chat_msg_recv.png | Bin 0 -> 2469 bytes .../48x48/status/gajim-connection_lost.png | Bin 0 -> 1930 bytes .../48x48/status/gajim-gc_invitation.png | Bin 0 -> 3440 bytes .../48x48/status/gajim-new_email_recv.png | Bin 0 -> 1927 bytes .../48x48/status/gajim-priv_msg_recv.png | Bin 0 -> 1912 bytes .../status/gajim-subscription_request.png | Bin 0 -> 4147 bytes .../48x48/status/gajim-unsubscribed.png | Bin 0 -> 3657 bytes .../hicolor/48x48/status/gnome-offline.png | Bin 0 -> 826 bytes .../hicolor/48x48/status/gnome-online.png | Bin 0 -> 1656 bytes .../hicolor/48x48/status/goojim-offline.png | Bin 0 -> 1263 bytes .../hicolor/48x48/status/goojim-online.png | Bin 0 -> 801 bytes .../hicolor/48x48/status/gota-offline.png | Bin 0 -> 1028 bytes .../hicolor/48x48/status/gota-online.png | Bin 0 -> 1538 bytes .../hicolor/48x48/status/icq-offline.png | Bin 0 -> 4298 bytes .../icons/hicolor/48x48/status/icq-online.png | Bin 0 -> 4299 bytes .../48x48/status/jabberbulb-offline.png | Bin 0 -> 1358 bytes .../48x48/status/jabberbulb-online.png | Bin 0 -> 1415 bytes .../hicolor/48x48/status/mrim-offline.png | Bin 0 -> 3953 bytes .../hicolor/48x48/status/mrim-online.png | Bin 0 -> 3374 bytes .../hicolor/48x48/status/sun-offline.png | Bin 0 -> 1946 bytes .../icons/hicolor/48x48/status/sun-online.png | Bin 0 -> 3981 bytes .../icons/hicolor/48x48/status/wroop-away.png | Bin 0 -> 4331 bytes .../icons/hicolor/48x48/status/wroop-chat.png | Bin 0 -> 4301 bytes .../icons/hicolor/48x48/status/wroop-dnd.png | Bin 0 -> 4257 bytes .../hicolor/48x48/status/wroop-error.png | Bin 0 -> 1039 bytes .../hicolor/48x48/status/wroop-muc-active.png | Bin 0 -> 4079 bytes .../48x48/status/wroop-muc-inactive.png | Bin 0 -> 3824 bytes .../48x48/status/wroop-notinroster.png | Bin 0 -> 3975 bytes .../hicolor/48x48/status/wroop-offline.png | Bin 0 -> 4422 bytes .../hicolor/48x48/status/wroop-online.png | Bin 0 -> 4323 bytes .../hicolor/48x48/status/wroop-requested.png | Bin 0 -> 4331 bytes .../icons/hicolor/48x48/status/wroop-xa.png | Bin 0 -> 4331 bytes .../icons/hicolor/96x96/categories/map.png | Bin 0 -> 4370 bytes .../apps/org.gajim.Gajim-symbolic.svg | 21 + .../scalable/apps/org.gajim.Gajim.Devel.svg | 183 + .../scalable/apps/org.gajim.Gajim.Source.svg | 3217 ++ .../hicolor/scalable/apps/org.gajim.Gajim.svg | 78 + .../icons/hicolor/scalable/categories/map.svg | 125 + .../devices/feather-briefcase-symbolic.svg | 64 + .../devices/feather-camera-off-symbolic.svg | 64 + .../devices/feather-camera-symbolic.svg | 64 + .../devices/feather-check-double-symbolic.svg | 70 + .../devices/feather-check-symbolic.svg | 65 + .../devices/feather-clock-symbolic.svg | 1 + .../devices/feather-eye-off-symbolic.svg | 1 + .../scalable/devices/feather-eye-symbolic.svg | 1 + .../devices/feather-globe-symbolic.svg | 1 + .../devices/feather-hard-drive-symbolic.svg | 1 + .../devices/feather-hash-symbolic.svg | 1 + .../devices/feather-home-symbolic.svg | 64 + .../devices/feather-lock-symbolic.svg | 1 + .../devices/feather-mic-off-symbolic.svg | 1 + .../scalable/devices/feather-mic-symbolic.svg | 1 + .../devices/feather-server-symbolic.svg | 1 + .../devices/feather-shield-off-symbolic.svg | 1 + .../devices/feather-shield-symbolic.svg | 1 + .../devices/feather-unlock-symbolic.svg | 1 + .../devices/feather-user-check-symbolic.svg | 1 + .../hicolor/scalable/status/bruno-away.svg | 353 + .../hicolor/scalable/status/bruno-chat.svg | 353 + .../hicolor/scalable/status/bruno-closed.svg | 99 + .../scalable/status/bruno-connecting.svg | 365 + .../hicolor/scalable/status/bruno-dnd.svg | 401 + .../hicolor/scalable/status/bruno-error.svg | 390 + .../hicolor/scalable/status/bruno-event.svg | 74 + .../hicolor/scalable/status/bruno-message.svg | 74 + .../scalable/status/bruno-muc-active.svg | 371 + .../scalable/status/bruno-muc-inactive.svg | 371 + .../scalable/status/bruno-notinroster.svg | 365 + .../hicolor/scalable/status/bruno-offline.svg | 353 + .../hicolor/scalable/status/bruno-online.svg | 353 + .../hicolor/scalable/status/bruno-opened.svg | 99 + .../scalable/status/bruno-requested.svg | 365 + .../hicolor/scalable/status/bruno-xa.svg | 337 + .../hicolor/scalable/status/dcraven-away.svg | 646 + .../hicolor/scalable/status/dcraven-chat.svg | 677 + .../scalable/status/dcraven-closed.svg | 108 + .../scalable/status/dcraven-connecting.svg | 1589 + .../hicolor/scalable/status/dcraven-dnd.svg | 748 + .../hicolor/scalable/status/dcraven-error.svg | 706 + .../scalable/status/dcraven-message.svg | 409 + .../scalable/status/dcraven-muc-active.svg | 224 + .../scalable/status/dcraven-muc-inactive.svg | 245 + .../scalable/status/dcraven-notinroster.svg | 450 + .../scalable/status/dcraven-offline.svg | 472 + .../scalable/status/dcraven-online.svg | 447 + .../scalable/status/dcraven-opened.svg | 99 + .../scalable/status/dcraven-requested.svg | 686 + .../hicolor/scalable/status/dcraven-xa.svg | 646 + .../status/gajim-agent-bytestreams.svg | 858 + .../status/gajim-agent-conference.svg | 230 + .../scalable/status/gajim-agent-disc.svg | 803 + .../scalable/status/gajim-agent-error.svg | 144 + .../scalable/status/gajim-agent-gadu-gadu.svg | 199 + .../scalable/status/gajim-agent-http-ws.svg | 269 + .../scalable/status/gajim-agent-icq.svg | 199 + .../scalable/status/gajim-agent-irc.svg | 135 + .../scalable/status/gajim-agent-jabber.svg | 3595 +++ .../scalable/status/gajim-agent-jud.svg | 449 + .../scalable/status/gajim-agent-mail.svg | 409 + .../scalable/status/gajim-agent-pubsub.svg | 398 + .../scalable/status/gajim-agent-rss.svg | 233 + .../scalable/status/gajim-agent-sip.svg | 239 + .../scalable/status/gajim-agent-sms.svg | 718 + .../scalable/status/gajim-agent-tv.svg | 269 + .../scalable/status/gajim-agent-weather.svg | 216 + .../scalable/status/gajim-chat_msg_recv.svg | 519 + .../scalable/status/gajim-connection_lost.svg | 1161 + .../scalable/status/gajim-gc_invitation.svg | 1042 + .../hicolor/scalable/status/gajim-mail.svg | 409 + .../scalable/status/gajim-new_email_recv.svg | 419 + .../scalable/status/gajim-priv_msg_recv.svg | 463 + .../scalable/status/gajim-subscribe.svg | 1121 + .../scalable/status/gajim-unsubscribe.svg | 991 + .../hicolor/scalable/status/sun-away.svg | 1142 + .../hicolor/scalable/status/sun-chat.svg | 833 + .../icons/hicolor/scalable/status/sun-dnd.svg | 576 + .../hicolor/scalable/status/sun-error.svg | 1590 + .../scalable/status/sun-not_in_roster.svg | 1030 + .../hicolor/scalable/status/sun-offline.svg | 150 + .../hicolor/scalable/status/sun-online.svg | 792 + .../hicolor/scalable/status/sun-requested.svg | 922 + .../icons/hicolor/scalable/status/sun-xa.svg | 679 + .../icons/hicolor/scalable/status/xmpp.svg | 27 + gajim/data/other/dh4096.pem | 21 + gajim/data/other/servers.json | 25 + .../data/plugins/plugin_installer/__init__.py | 1 + .../plugins/plugin_installer/config_dialog.py | 51 + .../plugin_installer/config_dialog.ui~ | 348 + .../plugins/plugin_installer/installer.ui | 341 + .../plugins/plugin_installer/manifest.ini | 13 + .../plugin_installer/plugin_installer.png | Bin 0 -> 541 bytes .../plugin_installer/plugin_installer.py | 260 + gajim/data/plugins/plugin_installer/remote.py | 8 + gajim/data/plugins/plugin_installer/utils.py | 195 + gajim/data/plugins/plugin_installer/widget.py | 138 + gajim/data/sounds/attention.wav | Bin 0 -> 146674 bytes gajim/data/sounds/bounce.wav | Bin 0 -> 281182 bytes gajim/data/sounds/connected.wav | Bin 0 -> 388724 bytes gajim/data/sounds/disconnected.wav | Bin 0 -> 313700 bytes gajim/data/sounds/gc_message1.wav | Bin 0 -> 63654 bytes gajim/data/sounds/gc_message2.wav | Bin 0 -> 42166 bytes gajim/data/sounds/message1.wav | Bin 0 -> 63654 bytes gajim/data/sounds/message2.wav | Bin 0 -> 42166 bytes gajim/data/sounds/sent.wav | Bin 0 -> 60766 bytes gajim/data/style/default-dark.css | 88 + gajim/data/style/default.css | 82 + gajim/data/style/gajim-dark.css | 19 + gajim/data/style/gajim.css | 438 + gajim/dialog_messages.py | 129 + gajim/dialogs.py | 470 + gajim/gajim.py | 160 + gajim/gajim_remote.py | 458 + gajim/groupchat_control.py | 2105 ++ gajim/gtk/__init__.py | 33 + gajim/gtk/about.py | 97 + gajim/gtk/account_wizard.py | 982 + gajim/gtk/accounts.py | 1029 + gajim/gtk/add_contact.py | 509 + gajim/gtk/adhoc.py | 404 + gajim/gtk/advanced_config.py | 215 + gajim/gtk/assistant.py | 276 + gajim/gtk/avatar.py | 364 + gajim/gtk/avatar_selector.py | 715 + gajim/gtk/blocking.py | 135 + gajim/gtk/bookmarks.py | 160 + gajim/gtk/change_password.py | 240 + gajim/gtk/const.py | 134 + gajim/gtk/css_config.py | 548 + gajim/gtk/dataform.py | 715 + gajim/gtk/dialogs.py | 555 + gajim/gtk/discovery.py | 2197 ++ gajim/gtk/emoji_chooser.py | 412 + gajim/gtk/emoji_data.py | 26796 ++++++++++++++++ gajim/gtk/exception.py | 130 + gajim/gtk/features.py | 225 + gajim/gtk/filechoosers.py | 221 + gajim/gtk/filetransfer.py | 1097 + gajim/gtk/filetransfer_progress.py | 133 + gajim/gtk/groupchat_config.py | 400 + gajim/gtk/groupchat_creation.py | 242 + gajim/gtk/groupchat_info.py | 286 + gajim/gtk/groupchat_invitation.py | 127 + gajim/gtk/groupchat_invite.py | 358 + gajim/gtk/groupchat_join.py | 195 + gajim/gtk/groupchat_nick.py | 57 + gajim/gtk/groupchat_roster.py | 484 + gajim/gtk/groupchat_settings.py | 89 + gajim/gtk/gstreamer.py | 39 + gajim/gtk/history.py | 815 + gajim/gtk/history_sync.py | 296 + gajim/gtk/htmltextview.py | 899 + gajim/gtk/mam_preferences.py | 160 + gajim/gtk/manage_sounds.py | 138 + gajim/gtk/message_input.py | 427 + gajim/gtk/notification.py | 344 + gajim/gtk/pep_config.py | 157 + gajim/gtk/preferences.py | 1056 + gajim/gtk/profile.py | 355 + gajim/gtk/proxies.py | 228 + gajim/gtk/remove_account.py | 213 + gajim/gtk/roster_item_exchange.py | 259 + gajim/gtk/search.py | 357 + gajim/gtk/server_info.py | 370 + gajim/gtk/service_registration.py | 228 + gajim/gtk/settings.py | 811 + gajim/gtk/sidebar_switcher.py | 57 + gajim/gtk/single_message.py | 338 + gajim/gtk/ssl_error_dialog.py | 90 + gajim/gtk/start_chat.py | 834 + gajim/gtk/status_change.py | 567 + gajim/gtk/status_selector.py | 131 + gajim/gtk/statusicon.py | 363 + gajim/gtk/subscription_request.py | 129 + gajim/gtk/themes.py | 456 + gajim/gtk/tooltips.py | 602 + gajim/gtk/types.py | 15 + gajim/gtk/util.py | 845 + gajim/gtk/vcard_grid.py | 778 + gajim/gtk/video_preview.py | 133 + gajim/gtk/xml_console.py | 384 + gajim/gtkgui_helpers.py | 217 + gajim/gui/__init__.py | 54 + gajim/gui_interface.py | 2104 ++ gajim/gui_menu_builder.py | 926 + gajim/history_manager.py | 695 + gajim/message_window.py | 1276 + gajim/plugins/__init__.py | 27 + gajim/plugins/gajimplugin.py | 285 + gajim/plugins/gui.py | 345 + gajim/plugins/helpers.py | 132 + gajim/plugins/pluginmanager.py | 758 + gajim/plugins/plugins_i18n.py | 42 + gajim/privatechat_control.py | 246 + gajim/remote_control.py | 866 + gajim/roster_window.py | 5285 +++ gajim/session.py | 359 + gajim/vcard.py | 575 + po/be.po | 15904 +++++++++ po/be@latin.po | 15953 +++++++++ po/bg.po | 16410 ++++++++++ po/br.po | 15176 +++++++++ po/ca.po | 11414 +++++++ po/cs.po | 16831 ++++++++++ po/da.po | 16352 ++++++++++ po/de.po | 16631 ++++++++++ po/el.po | 16111 ++++++++++ po/en_GB.po | 16797 ++++++++++ po/eo.po | 15917 +++++++++ po/es.po | 16577 ++++++++++ po/eu.po | 15912 +++++++++ po/fr.po | 15456 +++++++++ po/gl.po | 15884 +++++++++ po/he.po | 16338 ++++++++++ po/hr.po | 16860 ++++++++++ po/hu.po | 16332 ++++++++++ po/it.po | 16949 ++++++++++ po/ja.po | 15138 +++++++++ po/kk.po | 16159 ++++++++++ po/lt.po | 14812 +++++++++ po/nb_NO.po | 17276 ++++++++++ po/nl.po | 17049 ++++++++++ po/pl.po | 17249 ++++++++++ po/pt.po | 15476 +++++++++ po/pt_BR.po | 16456 ++++++++++ po/ru.po | 16329 ++++++++++ po/sk.po | 16237 ++++++++++ po/sr.po | 15531 +++++++++ po/sr@Latn.po | 16508 ++++++++++ po/sv.po | 16718 ++++++++++ po/tr.po | 14346 +++++++++ po/uk.po | 16525 ++++++++++ po/zh_CN.po | 15749 +++++++++ po/zh_TW.po | 15799 +++++++++ setup.cfg | 54 + setup.py | 216 + test/__init__.py | 0 .../integration/test_gui_event_integration.py | 220 + test/broken/integration/test_roster.py | 211 + test/broken/test_pluginmanager.py | 89 + test/broken/unit/test_jingle.py | 156 + test/broken/unit/test_sessions.py | 167 + test/broken/unit/test_socks5.py | 172 + test/gtk/assistant.py | 137 + test/gtk/certificate_dialog.py | 54 + test/gtk/change_password.py | 40 + test/gtk/dataform.py | 133 + test/gtk/fake_dataform.py | 50 + test/gtk/groupchat_info.py | 120 + test/gtk/htmltextview.py | 214 + test/gtk/ssl_error_dialog.py | 55 + test/gtk/util.py | 23 + test/lib/__init__.py | 46 + test/lib/data.py | 77 + test/lib/gajim_mocks.py | 139 + test/lib/mock.py | 466 + test/lib/notify.py | 28 + test/no_gui/__init__.py | 0 test/no_gui/test_regex.py | 36 + test/no_gui/unit/__init__.py | 5 + test/no_gui/unit/test_nick_completion.py | 50 + test/unit/__init__.py | 5 + test/unit/test_gui_interface.py | 32 + 1045 files changed, 753037 insertions(+), 18 deletions(-) create mode 100644 COPYING delete mode 100644 LICENSE create mode 100644 MANIFEST.in create mode 100644 PKG-INFO create mode 100644 data/gajim-history-manager.1 create mode 100644 data/gajim-remote.1 create mode 100644 data/gajim.1 create mode 100644 data/org.gajim.Gajim.appdata.xml.in create mode 100644 data/org.gajim.Gajim.desktop.in create mode 100644 gajim.egg-info/PKG-INFO create mode 100644 gajim.egg-info/SOURCES.txt create mode 100644 gajim.egg-info/dependency_links.txt create mode 100644 gajim.egg-info/entry_points.txt create mode 100644 gajim.egg-info/requires.txt create mode 100644 gajim.egg-info/top_level.txt create mode 100644 gajim/__init__.py create mode 100644 gajim/app_actions.py create mode 100644 gajim/application.py create mode 100644 gajim/chat_control.py create mode 100644 gajim/chat_control_base.py create mode 100644 gajim/command_system/__init__.py create mode 100644 gajim/command_system/dispatcher.py create mode 100644 gajim/command_system/errors.py create mode 100644 gajim/command_system/framework.py create mode 100644 gajim/command_system/implementation/__init__.py create mode 100644 gajim/command_system/implementation/custom.py create mode 100644 gajim/command_system/implementation/execute.py create mode 100644 gajim/command_system/implementation/hosts.py create mode 100644 gajim/command_system/implementation/middleware.py create mode 100644 gajim/command_system/implementation/standard.py create mode 100644 gajim/command_system/mapping.py create mode 100644 gajim/command_system/tools.py create mode 100644 gajim/common/__init__.py create mode 100644 gajim/common/account.py create mode 100644 gajim/common/app.py create mode 100644 gajim/common/cert_store.py create mode 100644 gajim/common/client.py create mode 100644 gajim/common/config.py create mode 100644 gajim/common/configpaths.py create mode 100644 gajim/common/connection.py create mode 100644 gajim/common/connection_handlers.py create mode 100644 gajim/common/connection_handlers_events.py create mode 100644 gajim/common/const.py create mode 100644 gajim/common/contacts.py create mode 100644 gajim/common/dbus/__init__.py create mode 100644 gajim/common/dbus/location.py create mode 100644 gajim/common/dbus/logind.py create mode 100644 gajim/common/dbus/music_track.py create mode 100644 gajim/common/dh.py create mode 100644 gajim/common/events.py create mode 100644 gajim/common/exceptions.py create mode 100644 gajim/common/file_props.py create mode 100644 gajim/common/filetransfer.py create mode 100644 gajim/common/ged.py create mode 100644 gajim/common/helpers.py create mode 100644 gajim/common/i18n.py create mode 100644 gajim/common/idle.py create mode 100644 gajim/common/jingle_content.py create mode 100644 gajim/common/jingle_ft.py create mode 100644 gajim/common/jingle_ftstates.py create mode 100644 gajim/common/jingle_rtp.py create mode 100644 gajim/common/jingle_session.py create mode 100644 gajim/common/jingle_transport.py create mode 100644 gajim/common/jingle_xtls.py create mode 100644 gajim/common/logging_helpers.py create mode 100644 gajim/common/modules/__init__.py create mode 100644 gajim/common/modules/adhoc_commands.py create mode 100644 gajim/common/modules/annotations.py create mode 100644 gajim/common/modules/announce.py create mode 100644 gajim/common/modules/base.py create mode 100644 gajim/common/modules/bits_of_binary.py create mode 100644 gajim/common/modules/blocking.py create mode 100644 gajim/common/modules/bookmarks.py create mode 100644 gajim/common/modules/bytestream.py create mode 100644 gajim/common/modules/caps.py create mode 100644 gajim/common/modules/carbons.py create mode 100644 gajim/common/modules/chat_markers.py create mode 100644 gajim/common/modules/chatstates.py create mode 100644 gajim/common/modules/delimiter.py create mode 100644 gajim/common/modules/discovery.py create mode 100644 gajim/common/modules/entity_time.py create mode 100644 gajim/common/modules/gateway.py create mode 100644 gajim/common/modules/http_auth.py create mode 100644 gajim/common/modules/httpupload.py create mode 100644 gajim/common/modules/ibb.py create mode 100644 gajim/common/modules/iq.py create mode 100644 gajim/common/modules/jingle.py create mode 100644 gajim/common/modules/last_activity.py create mode 100644 gajim/common/modules/mam.py create mode 100644 gajim/common/modules/message.py create mode 100644 gajim/common/modules/metacontacts.py create mode 100644 gajim/common/modules/misc.py create mode 100644 gajim/common/modules/muc.py create mode 100644 gajim/common/modules/pep.py create mode 100644 gajim/common/modules/ping.py create mode 100644 gajim/common/modules/presence.py create mode 100644 gajim/common/modules/pubsub.py create mode 100644 gajim/common/modules/receipts.py create mode 100644 gajim/common/modules/register.py create mode 100644 gajim/common/modules/roster.py create mode 100644 gajim/common/modules/roster_item_exchange.py create mode 100644 gajim/common/modules/search.py create mode 100644 gajim/common/modules/security_labels.py create mode 100644 gajim/common/modules/software_version.py create mode 100644 gajim/common/modules/user_activity.py create mode 100644 gajim/common/modules/user_avatar.py create mode 100644 gajim/common/modules/user_location.py create mode 100644 gajim/common/modules/user_mood.py create mode 100644 gajim/common/modules/user_nickname.py create mode 100644 gajim/common/modules/user_tune.py create mode 100644 gajim/common/modules/util.py create mode 100644 gajim/common/modules/vcard4.py create mode 100644 gajim/common/modules/vcard_avatars.py create mode 100644 gajim/common/modules/vcard_temp.py create mode 100644 gajim/common/multimedia_helpers.py create mode 100644 gajim/common/nec.py create mode 100644 gajim/common/optparser.py create mode 100644 gajim/common/passwords.py create mode 100644 gajim/common/proxy65_manager.py create mode 100644 gajim/common/regex.py create mode 100644 gajim/common/setting_values.py create mode 100644 gajim/common/settings.py create mode 100644 gajim/common/socks5.py create mode 100644 gajim/common/storage/__init__.py create mode 100644 gajim/common/storage/archive.py create mode 100644 gajim/common/storage/base.py create mode 100644 gajim/common/storage/cache.py create mode 100644 gajim/common/structs.py create mode 100644 gajim/common/task_manager.py create mode 100644 gajim/common/types.py create mode 100644 gajim/common/zeroconf/__init__.py create mode 100644 gajim/common/zeroconf/client_zeroconf.py create mode 100644 gajim/common/zeroconf/connection_handlers_zeroconf.py create mode 100644 gajim/common/zeroconf/connection_zeroconf.py create mode 100644 gajim/common/zeroconf/roster_zeroconf.py create mode 100644 gajim/common/zeroconf/zeroconf.py create mode 100644 gajim/common/zeroconf/zeroconf_avahi.py create mode 100644 gajim/common/zeroconf/zeroconf_avahi_const.py create mode 100644 gajim/common/zeroconf/zeroconf_bonjour.py create mode 100644 gajim/conversation_textview.py create mode 100644 gajim/data/emoticons/noto/LICENSE create mode 100644 gajim/data/emoticons/noto/noto.png create mode 100644 gajim/data/emoticons/twemoji/LICENSE create mode 100644 gajim/data/emoticons/twemoji/twemoji.png create mode 100644 gajim/data/gui/account_context_menu.ui create mode 100644 gajim/data/gui/account_wizard.ui create mode 100644 gajim/data/gui/add_new_contact_window.ui create mode 100644 gajim/data/gui/advanced_configuration.ui create mode 100644 gajim/data/gui/application_menu.ui create mode 100644 gajim/data/gui/assistant.ui create mode 100644 gajim/data/gui/blocking_list.ui create mode 100644 gajim/data/gui/bookmarks.ui create mode 100644 gajim/data/gui/certificate_dialog.ui create mode 100644 gajim/data/gui/chat_control.ui create mode 100644 gajim/data/gui/chat_to_muc_window.ui create mode 100644 gajim/data/gui/contact_context_menu.ui create mode 100644 gajim/data/gui/edit_groups_dialog.ui create mode 100644 gajim/data/gui/emoji_chooser.ui create mode 100644 gajim/data/gui/exception_dialog.ui create mode 100644 gajim/data/gui/filetransfer_progress.ui create mode 100644 gajim/data/gui/filetransfers.ui create mode 100644 gajim/data/gui/filetransfers_send_file_dialog.ui create mode 100644 gajim/data/gui/groupchat_config.ui create mode 100644 gajim/data/gui/groupchat_control.ui create mode 100644 gajim/data/gui/groupchat_creation.ui create mode 100644 gajim/data/gui/groupchat_info_scrolled.ui create mode 100644 gajim/data/gui/groupchat_invite.ui create mode 100644 gajim/data/gui/groupchat_nick_chooser.ui create mode 100644 gajim/data/gui/groupchat_roster.ui create mode 100644 gajim/data/gui/groups_post_window.ui create mode 100644 gajim/data/gui/history_manager.ui create mode 100644 gajim/data/gui/history_window.ui create mode 100644 gajim/data/gui/mam_preferences.ui create mode 100644 gajim/data/gui/manage_pep_services_window.ui create mode 100644 gajim/data/gui/manage_proxies.ui create mode 100644 gajim/data/gui/manage_sounds.ui create mode 100644 gajim/data/gui/message_window.ui create mode 100644 gajim/data/gui/passphrase_dialog.ui create mode 100644 gajim/data/gui/plugins_window.ui create mode 100644 gajim/data/gui/popup_notification_window.ui create mode 100644 gajim/data/gui/preferences.ui create mode 100644 gajim/data/gui/profile.ui create mode 100644 gajim/data/gui/roster_item_exchange_window.ui create mode 100644 gajim/data/gui/roster_window.ui create mode 100644 gajim/data/gui/server_info.ui create mode 100644 gajim/data/gui/service_discovery_window.ui create mode 100644 gajim/data/gui/shortcuts_window.ui create mode 100644 gajim/data/gui/single_message_window.ui create mode 100644 gajim/data/gui/ssl_error_dialog.ui create mode 100644 gajim/data/gui/start_chat_dialog.ui create mode 100644 gajim/data/gui/status_change_window.ui create mode 100644 gajim/data/gui/subscription_request_window.ui create mode 100644 gajim/data/gui/synchronise_select_account_dialog.ui create mode 100644 gajim/data/gui/synchronise_select_contacts_dialog.ui create mode 100644 gajim/data/gui/systray_context_menu.ui create mode 100644 gajim/data/gui/themes_window.ui create mode 100644 gajim/data/gui/tooltip_gc_contact.ui create mode 100644 gajim/data/gui/tooltip_roster_contact.ui create mode 100644 gajim/data/gui/vcard_information_window.ui create mode 100644 gajim/data/gui/video_preview.ui create mode 100644 gajim/data/gui/xml_console.ui create mode 100644 gajim/data/gui/zeroconf_context_menu.ui create mode 100644 gajim/data/gui/zeroconf_information_window.ui create mode 100644 gajim/data/icons/hicolor/16x16/actions/gajim-kbd_input.png create mode 100644 gajim/data/icons/hicolor/16x16/devices/feather-briefcase-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/16x16/devices/feather-camera-off-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/16x16/devices/feather-camera-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/16x16/devices/feather-check-double-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/16x16/devices/feather-check-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/16x16/devices/feather-clock-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/16x16/devices/feather-eye-off-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/16x16/devices/feather-eye-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/16x16/devices/feather-globe-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/16x16/devices/feather-hard-drive-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/16x16/devices/feather-hash-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/16x16/devices/feather-home-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/16x16/devices/feather-lock-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/16x16/devices/feather-mic-off-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/16x16/devices/feather-mic-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/16x16/devices/feather-server-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/16x16/devices/feather-shield-off-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/16x16/devices/feather-shield-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/16x16/devices/feather-unlock-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/16x16/devices/feather-user-check-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-doing-chores-buying-groceries.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-doing-chores-cleaning.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-doing-chores-cooking.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-doing-chores-doing-maintenance.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-doing-chores-doing-the-dishes.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-doing-chores-doing-the-laundry.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-doing-chores-gardening.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-doing-chores-running-an-errand.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-doing-chores-walking-the-dog.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-doing-chores.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-drinking-having-a-beer.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-drinking-having-coffee.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-drinking-having-tea.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-drinking.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-eating-having-a-snack.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-eating-having-breakfast.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-eating-having-dinner.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-eating-having-lunch.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-eating.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-exercising-cycling.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-exercising-dancing.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-exercising-hiking.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-exercising-jogging.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-exercising-playing-sports.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-exercising-running.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-exercising-skiing.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-exercising-swimming.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-exercising-working-out.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-exercising.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-grooming-at-the-spa.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-grooming-brushing-teeth.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-grooming-getting-a-haircut.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-grooming-shaving.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-grooming-taking-a-bath.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-grooming-taking-a-shower.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-grooming.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-having-appointment.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-inactive-day-off.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-inactive-hanging-out.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-inactive-hiding.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-inactive-on-vacation.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-inactive-praying.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-inactive-scheduled-holiday.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-inactive-sleeping.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-inactive-thinking.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-inactive.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-relaxing-fishing.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-relaxing-gaming.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-relaxing-going-out.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-relaxing-partying.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-relaxing-reading.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-relaxing-rehearsing.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-relaxing-shopping.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-relaxing-smoking.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-relaxing-socializing.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-relaxing-sunbathing.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-relaxing-watching-a-movie.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-relaxing-watching-tv.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-relaxing.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-talking-in-real-life.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-talking-on-the-phone.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-talking-on-video-phone.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-talking.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-traveling-commuting.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-traveling-cycling.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-traveling-driving.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-traveling-in-a-car.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-traveling-on-a-bus.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-traveling-on-a-plane.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-traveling-on-a-train.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-traveling-on-a-trip.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-traveling-walking.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-traveling.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-working-coding.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-working-in-a-meeting.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-working-studying.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-working-writing.png create mode 100644 gajim/data/icons/hicolor/16x16/status/activity-working.png create mode 100644 gajim/data/icons/hicolor/16x16/status/applications-internet.png create mode 100644 gajim/data/icons/hicolor/16x16/status/audio-mic-volume-high.png create mode 100644 gajim/data/icons/hicolor/16x16/status/audio-mic-volume-low.png create mode 100644 gajim/data/icons/hicolor/16x16/status/audio-mic-volume-medium.png create mode 100644 gajim/data/icons/hicolor/16x16/status/audio-mic-volume-muted.png create mode 100644 gajim/data/icons/hicolor/16x16/status/dcraven-away.png create mode 100644 gajim/data/icons/hicolor/16x16/status/dcraven-chat.png create mode 100644 gajim/data/icons/hicolor/16x16/status/dcraven-closed.png create mode 100644 gajim/data/icons/hicolor/16x16/status/dcraven-connecting.png create mode 100644 gajim/data/icons/hicolor/16x16/status/dcraven-dnd.png create mode 100644 gajim/data/icons/hicolor/16x16/status/dcraven-error.png create mode 100644 gajim/data/icons/hicolor/16x16/status/dcraven-event.png create mode 100644 gajim/data/icons/hicolor/16x16/status/dcraven-muc-active.png create mode 100644 gajim/data/icons/hicolor/16x16/status/dcraven-muc-inactive.png create mode 100644 gajim/data/icons/hicolor/16x16/status/dcraven-notinroster.png create mode 100644 gajim/data/icons/hicolor/16x16/status/dcraven-offline.png create mode 100644 gajim/data/icons/hicolor/16x16/status/dcraven-online.png create mode 100644 gajim/data/icons/hicolor/16x16/status/dcraven-opened.png create mode 100644 gajim/data/icons/hicolor/16x16/status/dcraven-requested.png create mode 100644 gajim/data/icons/hicolor/16x16/status/dcraven-xa.png create mode 100644 gajim/data/icons/hicolor/16x16/status/facebook-away.png create mode 100644 gajim/data/icons/hicolor/16x16/status/facebook-chat.png create mode 100644 gajim/data/icons/hicolor/16x16/status/facebook-dnd.png create mode 100644 gajim/data/icons/hicolor/16x16/status/facebook-notinroster.png create mode 100644 gajim/data/icons/hicolor/16x16/status/facebook-offline.png create mode 100644 gajim/data/icons/hicolor/16x16/status/facebook-online.png create mode 100644 gajim/data/icons/hicolor/16x16/status/facebook-xa.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gadu-away.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gadu-chat.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gadu-dnd.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gadu-notinroster.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gadu-offline.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gadu-online.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gadu-xa.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gajim-event.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gajim-plugins.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gnome-away.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gnome-chat.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gnome-closed.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gnome-connecting.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gnome-dnd.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gnome-error.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gnome-event.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gnome-muc-active.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gnome-muc-inactive.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gnome-notinroster.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gnome-offline.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gnome-online.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gnome-opened.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gnome-requested.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gnome-xa.png create mode 100644 gajim/data/icons/hicolor/16x16/status/goojim-away.png create mode 100644 gajim/data/icons/hicolor/16x16/status/goojim-chat.png create mode 100644 gajim/data/icons/hicolor/16x16/status/goojim-closed.png create mode 100644 gajim/data/icons/hicolor/16x16/status/goojim-connecting.png create mode 100644 gajim/data/icons/hicolor/16x16/status/goojim-dnd.png create mode 100644 gajim/data/icons/hicolor/16x16/status/goojim-error.png create mode 100644 gajim/data/icons/hicolor/16x16/status/goojim-event.png create mode 100644 gajim/data/icons/hicolor/16x16/status/goojim-muc-active.png create mode 100644 gajim/data/icons/hicolor/16x16/status/goojim-muc-inactive.png create mode 100644 gajim/data/icons/hicolor/16x16/status/goojim-notinroster.png create mode 100644 gajim/data/icons/hicolor/16x16/status/goojim-offline.png create mode 100644 gajim/data/icons/hicolor/16x16/status/goojim-online.png create mode 100644 gajim/data/icons/hicolor/16x16/status/goojim-opened.png create mode 100644 gajim/data/icons/hicolor/16x16/status/goojim-requested.png create mode 100644 gajim/data/icons/hicolor/16x16/status/goojim-xa.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gota-away.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gota-chat.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gota-closed.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gota-connecting.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gota-dnd.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gota-error.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gota-event.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gota-muc-active.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gota-muc-inactive.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gota-notinroster.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gota-offline.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gota-online.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gota-opened.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gota-requested.png create mode 100644 gajim/data/icons/hicolor/16x16/status/gota-xa.png create mode 100644 gajim/data/icons/hicolor/16x16/status/icq-away.png create mode 100644 gajim/data/icons/hicolor/16x16/status/icq-chat.png create mode 100644 gajim/data/icons/hicolor/16x16/status/icq-dnd.png create mode 100644 gajim/data/icons/hicolor/16x16/status/icq-notinroster.png create mode 100644 gajim/data/icons/hicolor/16x16/status/icq-offline.png create mode 100644 gajim/data/icons/hicolor/16x16/status/icq-online.png create mode 100644 gajim/data/icons/hicolor/16x16/status/icq-xa.png create mode 100644 gajim/data/icons/hicolor/16x16/status/irc-away.png create mode 100644 gajim/data/icons/hicolor/16x16/status/irc-chat.png create mode 100644 gajim/data/icons/hicolor/16x16/status/irc-dnd.png create mode 100644 gajim/data/icons/hicolor/16x16/status/irc-event.png create mode 100644 gajim/data/icons/hicolor/16x16/status/irc-muc-active.png create mode 100644 gajim/data/icons/hicolor/16x16/status/irc-muc-inactive.png create mode 100644 gajim/data/icons/hicolor/16x16/status/irc-notinroster.png create mode 100644 gajim/data/icons/hicolor/16x16/status/irc-offline.png create mode 100644 gajim/data/icons/hicolor/16x16/status/irc-online.png create mode 100644 gajim/data/icons/hicolor/16x16/status/irc-xa.png create mode 100644 gajim/data/icons/hicolor/16x16/status/jabberbulb-away.png create mode 100644 gajim/data/icons/hicolor/16x16/status/jabberbulb-chat.png create mode 100644 gajim/data/icons/hicolor/16x16/status/jabberbulb-closed.png create mode 100644 gajim/data/icons/hicolor/16x16/status/jabberbulb-connecting.png create mode 100644 gajim/data/icons/hicolor/16x16/status/jabberbulb-dnd.png create mode 100644 gajim/data/icons/hicolor/16x16/status/jabberbulb-error.png create mode 100644 gajim/data/icons/hicolor/16x16/status/jabberbulb-event.png create mode 100644 gajim/data/icons/hicolor/16x16/status/jabberbulb-muc-active.png create mode 100644 gajim/data/icons/hicolor/16x16/status/jabberbulb-muc-inactive.png create mode 100644 gajim/data/icons/hicolor/16x16/status/jabberbulb-notinroster.png create mode 100644 gajim/data/icons/hicolor/16x16/status/jabberbulb-offline.png create mode 100644 gajim/data/icons/hicolor/16x16/status/jabberbulb-online.png create mode 100644 gajim/data/icons/hicolor/16x16/status/jabberbulb-opened.png create mode 100644 gajim/data/icons/hicolor/16x16/status/jabberbulb-requested.png create mode 100644 gajim/data/icons/hicolor/16x16/status/jabberbulb-xa.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-afraid.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-amazed.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-amorous.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-angry.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-annoyed.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-anxious.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-aroused.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-ashamed.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-bored.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-brave.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-calm.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-cautious.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-cold.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-confident.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-confused.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-contemplative.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-contented.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-cranky.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-crazy.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-creative.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-curious.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-dejected.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-depressed.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-disappointed.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-disgusted.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-dismayed.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-distracted.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-embarrassed.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-envious.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-excited.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-flirtatious.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-frustrated.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-grateful.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-grieving.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-grumpy.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-guilty.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-happy.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-hopeful.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-hot.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-humbled.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-humiliated.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-hungry.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-hurt.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-impressed.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-in_awe.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-in_love.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-indignant.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-interested.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-intoxicated.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-invincible.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-jealous.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-lonely.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-lost.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-lucky.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-mean.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-moody.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-nervous.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-neutral.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-offended.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-outraged.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-playful.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-proud.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-relaxed.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-relieved.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-remorseful.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-restless.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-sad.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-sarcastic.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-satisfied.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-serious.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-shocked.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-shy.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-sick.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-sleepy.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-spontaneous.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-stressed.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-strong.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-surprised.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-thankful.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-thirsty.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-tired.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-undefined.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-unknown.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-weak.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mood-worried.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mrim-away.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mrim-chat.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mrim-dnd.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mrim-notinroster.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mrim-offline.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mrim-online.png create mode 100644 gajim/data/icons/hicolor/16x16/status/mrim-xa.png create mode 100644 gajim/data/icons/hicolor/16x16/status/sms-away.png create mode 100644 gajim/data/icons/hicolor/16x16/status/sms-chat.png create mode 100644 gajim/data/icons/hicolor/16x16/status/sms-dnd.png create mode 100644 gajim/data/icons/hicolor/16x16/status/sms-offline.png create mode 100644 gajim/data/icons/hicolor/16x16/status/sms-online.png create mode 100644 gajim/data/icons/hicolor/16x16/status/sms-xa.png create mode 100644 gajim/data/icons/hicolor/16x16/status/sun-away.png create mode 100644 gajim/data/icons/hicolor/16x16/status/sun-chat.png create mode 100644 gajim/data/icons/hicolor/16x16/status/sun-closed.png create mode 100644 gajim/data/icons/hicolor/16x16/status/sun-connecting.png create mode 100644 gajim/data/icons/hicolor/16x16/status/sun-dnd.png create mode 100644 gajim/data/icons/hicolor/16x16/status/sun-error.png create mode 100644 gajim/data/icons/hicolor/16x16/status/sun-event.png create mode 100644 gajim/data/icons/hicolor/16x16/status/sun-muc-active.png create mode 100644 gajim/data/icons/hicolor/16x16/status/sun-muc-inactive.png create mode 100644 gajim/data/icons/hicolor/16x16/status/sun-notinroster.png create mode 100644 gajim/data/icons/hicolor/16x16/status/sun-offline.png create mode 100644 gajim/data/icons/hicolor/16x16/status/sun-online.png create mode 100644 gajim/data/icons/hicolor/16x16/status/sun-opened.png create mode 100644 gajim/data/icons/hicolor/16x16/status/sun-requested.png create mode 100644 gajim/data/icons/hicolor/16x16/status/sun-xa.png create mode 100644 gajim/data/icons/hicolor/16x16/status/weather-away.png create mode 100644 gajim/data/icons/hicolor/16x16/status/weather-chat.png create mode 100644 gajim/data/icons/hicolor/16x16/status/weather-dnd.png create mode 100644 gajim/data/icons/hicolor/16x16/status/weather-offline.png create mode 100644 gajim/data/icons/hicolor/16x16/status/weather-online.png create mode 100644 gajim/data/icons/hicolor/16x16/status/weather-xa.png create mode 100644 gajim/data/icons/hicolor/16x16/status/wroop-away.png create mode 100644 gajim/data/icons/hicolor/16x16/status/wroop-chat.png create mode 100644 gajim/data/icons/hicolor/16x16/status/wroop-closed.png create mode 100644 gajim/data/icons/hicolor/16x16/status/wroop-connecting.png create mode 100644 gajim/data/icons/hicolor/16x16/status/wroop-dnd.png create mode 100644 gajim/data/icons/hicolor/16x16/status/wroop-error.png create mode 100644 gajim/data/icons/hicolor/16x16/status/wroop-event.png create mode 100644 gajim/data/icons/hicolor/16x16/status/wroop-muc-active.png create mode 100644 gajim/data/icons/hicolor/16x16/status/wroop-muc-inactive.png create mode 100644 gajim/data/icons/hicolor/16x16/status/wroop-notinroster.png create mode 100644 gajim/data/icons/hicolor/16x16/status/wroop-offline.png create mode 100644 gajim/data/icons/hicolor/16x16/status/wroop-online.png create mode 100644 gajim/data/icons/hicolor/16x16/status/wroop-opened.png create mode 100644 gajim/data/icons/hicolor/16x16/status/wroop-requested.png create mode 100644 gajim/data/icons/hicolor/16x16/status/wroop-xa.png create mode 100644 gajim/data/icons/hicolor/32x32/categories/gajim-agent-bytestreams.png create mode 100644 gajim/data/icons/hicolor/32x32/categories/gajim-agent-conference.png create mode 100644 gajim/data/icons/hicolor/32x32/categories/gajim-agent-disc.png create mode 100644 gajim/data/icons/hicolor/32x32/categories/gajim-agent-facebook.png create mode 100644 gajim/data/icons/hicolor/32x32/categories/gajim-agent-gadu-gadu.png create mode 100644 gajim/data/icons/hicolor/32x32/categories/gajim-agent-http-ws.png create mode 100644 gajim/data/icons/hicolor/32x32/categories/gajim-agent-icq.png create mode 100644 gajim/data/icons/hicolor/32x32/categories/gajim-agent-irc.png create mode 100644 gajim/data/icons/hicolor/32x32/categories/gajim-agent-jabber.png create mode 100644 gajim/data/icons/hicolor/32x32/categories/gajim-agent-jud.png create mode 100644 gajim/data/icons/hicolor/32x32/categories/gajim-agent-mail.png create mode 100644 gajim/data/icons/hicolor/32x32/categories/gajim-agent-mrim.png create mode 100644 gajim/data/icons/hicolor/32x32/categories/gajim-agent-msn.png create mode 100644 gajim/data/icons/hicolor/32x32/categories/gajim-agent-pubsub.png create mode 100644 gajim/data/icons/hicolor/32x32/categories/gajim-agent-rss.png create mode 100644 gajim/data/icons/hicolor/32x32/categories/gajim-agent-sip.png create mode 100644 gajim/data/icons/hicolor/32x32/categories/gajim-agent-sms.png create mode 100644 gajim/data/icons/hicolor/32x32/categories/gajim-agent-tv.png create mode 100644 gajim/data/icons/hicolor/32x32/categories/gajim-agent-twitter.png create mode 100644 gajim/data/icons/hicolor/32x32/categories/gajim-agent-weather.png create mode 100644 gajim/data/icons/hicolor/32x32/devices/feather-briefcase-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/32x32/devices/feather-camera-off-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/32x32/devices/feather-camera-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/32x32/devices/feather-check-double-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/32x32/devices/feather-check-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/32x32/devices/feather-clock-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/32x32/devices/feather-eye-off-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/32x32/devices/feather-eye-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/32x32/devices/feather-globe-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/32x32/devices/feather-hard-drive-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/32x32/devices/feather-hash-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/32x32/devices/feather-home-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/32x32/devices/feather-lock-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/32x32/devices/feather-mic-off-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/32x32/devices/feather-mic-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/32x32/devices/feather-server-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/32x32/devices/feather-shield-off-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/32x32/devices/feather-shield-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/32x32/devices/feather-unlock-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/32x32/devices/feather-user-check-symbolic.symbolic.png create mode 100644 gajim/data/icons/hicolor/32x32/status/dcraven-away.png create mode 100644 gajim/data/icons/hicolor/32x32/status/dcraven-chat.png create mode 100644 gajim/data/icons/hicolor/32x32/status/dcraven-closed.png create mode 100644 gajim/data/icons/hicolor/32x32/status/dcraven-connecting.png create mode 100644 gajim/data/icons/hicolor/32x32/status/dcraven-dnd.png create mode 100644 gajim/data/icons/hicolor/32x32/status/dcraven-error.png create mode 100644 gajim/data/icons/hicolor/32x32/status/dcraven-event.png create mode 100644 gajim/data/icons/hicolor/32x32/status/dcraven-muc-active.png create mode 100644 gajim/data/icons/hicolor/32x32/status/dcraven-muc-inactive.png create mode 100644 gajim/data/icons/hicolor/32x32/status/dcraven-notinroster.png create mode 100644 gajim/data/icons/hicolor/32x32/status/dcraven-offline.png create mode 100644 gajim/data/icons/hicolor/32x32/status/dcraven-online.png create mode 100644 gajim/data/icons/hicolor/32x32/status/dcraven-opened.png create mode 100644 gajim/data/icons/hicolor/32x32/status/dcraven-requested.png create mode 100644 gajim/data/icons/hicolor/32x32/status/dcraven-xa.png create mode 100644 gajim/data/icons/hicolor/32x32/status/facebook-away.png create mode 100644 gajim/data/icons/hicolor/32x32/status/facebook-chat.png create mode 100644 gajim/data/icons/hicolor/32x32/status/facebook-dnd.png create mode 100644 gajim/data/icons/hicolor/32x32/status/facebook-notinroster.png create mode 100644 gajim/data/icons/hicolor/32x32/status/facebook-offline.png create mode 100644 gajim/data/icons/hicolor/32x32/status/facebook-online.png create mode 100644 gajim/data/icons/hicolor/32x32/status/facebook-xa.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gadu-away.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gadu-chat.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gadu-dnd.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gadu-notinroster.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gadu-offline.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gadu-online.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gadu-xa.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gajim-event.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gnome-away.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gnome-chat.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gnome-connecting.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gnome-dnd.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gnome-event.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gnome-muc-active.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gnome-muc-inactive.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gnome-notinroster.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gnome-offline.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gnome-online.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gnome-requested.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gnome-xa.png create mode 100644 gajim/data/icons/hicolor/32x32/status/goojim-away.png create mode 100644 gajim/data/icons/hicolor/32x32/status/goojim-chat.png create mode 100644 gajim/data/icons/hicolor/32x32/status/goojim-closed.png create mode 100644 gajim/data/icons/hicolor/32x32/status/goojim-connecting.png create mode 100644 gajim/data/icons/hicolor/32x32/status/goojim-dnd.png create mode 100644 gajim/data/icons/hicolor/32x32/status/goojim-error.png create mode 100644 gajim/data/icons/hicolor/32x32/status/goojim-event.png create mode 100644 gajim/data/icons/hicolor/32x32/status/goojim-message.png create mode 100644 gajim/data/icons/hicolor/32x32/status/goojim-muc-active.png create mode 100644 gajim/data/icons/hicolor/32x32/status/goojim-muc-inactive.png create mode 100644 gajim/data/icons/hicolor/32x32/status/goojim-notinroster.png create mode 100644 gajim/data/icons/hicolor/32x32/status/goojim-offline.png create mode 100644 gajim/data/icons/hicolor/32x32/status/goojim-online.png create mode 100644 gajim/data/icons/hicolor/32x32/status/goojim-opened.png create mode 100644 gajim/data/icons/hicolor/32x32/status/goojim-requested.png create mode 100644 gajim/data/icons/hicolor/32x32/status/goojim-xa.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gota-away.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gota-chat.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gota-closed.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gota-connecting.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gota-dnd.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gota-error.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gota-event.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gota-muc-active.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gota-muc-inactive.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gota-notinroster.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gota-offline.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gota-online.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gota-opened.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gota-requested.png create mode 100644 gajim/data/icons/hicolor/32x32/status/gota-xa.png create mode 100644 gajim/data/icons/hicolor/32x32/status/icq-away.png create mode 100644 gajim/data/icons/hicolor/32x32/status/icq-chat.png create mode 100644 gajim/data/icons/hicolor/32x32/status/icq-dnd.png create mode 100644 gajim/data/icons/hicolor/32x32/status/icq-notinroster.png create mode 100644 gajim/data/icons/hicolor/32x32/status/icq-offline.png create mode 100644 gajim/data/icons/hicolor/32x32/status/icq-online.png create mode 100644 gajim/data/icons/hicolor/32x32/status/icq-xa.png create mode 100644 gajim/data/icons/hicolor/32x32/status/irc-away.png create mode 100644 gajim/data/icons/hicolor/32x32/status/irc-chat.png create mode 100644 gajim/data/icons/hicolor/32x32/status/irc-dnd.png create mode 100644 gajim/data/icons/hicolor/32x32/status/irc-muc-active.png create mode 100644 gajim/data/icons/hicolor/32x32/status/irc-muc-inactive.png create mode 100644 gajim/data/icons/hicolor/32x32/status/irc-notinroster.png create mode 100644 gajim/data/icons/hicolor/32x32/status/irc-offline.png create mode 100644 gajim/data/icons/hicolor/32x32/status/irc-online.png create mode 100644 gajim/data/icons/hicolor/32x32/status/irc-xa.png create mode 100644 gajim/data/icons/hicolor/32x32/status/jabberbulb-away.png create mode 100644 gajim/data/icons/hicolor/32x32/status/jabberbulb-chat.png create mode 100644 gajim/data/icons/hicolor/32x32/status/jabberbulb-dnd.png create mode 100644 gajim/data/icons/hicolor/32x32/status/jabberbulb-error.png create mode 100644 gajim/data/icons/hicolor/32x32/status/jabberbulb-event.png create mode 100644 gajim/data/icons/hicolor/32x32/status/jabberbulb-muc-active.png create mode 100644 gajim/data/icons/hicolor/32x32/status/jabberbulb-muc-inactive.png create mode 100644 gajim/data/icons/hicolor/32x32/status/jabberbulb-notinroster.png create mode 100644 gajim/data/icons/hicolor/32x32/status/jabberbulb-offline.png create mode 100644 gajim/data/icons/hicolor/32x32/status/jabberbulb-online.png create mode 100644 gajim/data/icons/hicolor/32x32/status/jabberbulb-requested.png create mode 100644 gajim/data/icons/hicolor/32x32/status/jabberbulb-xa.png create mode 100644 gajim/data/icons/hicolor/32x32/status/mrim-away.png create mode 100644 gajim/data/icons/hicolor/32x32/status/mrim-chat.png create mode 100644 gajim/data/icons/hicolor/32x32/status/mrim-dnd.png create mode 100644 gajim/data/icons/hicolor/32x32/status/mrim-notinroster.png create mode 100644 gajim/data/icons/hicolor/32x32/status/mrim-offline.png create mode 100644 gajim/data/icons/hicolor/32x32/status/mrim-online.png create mode 100644 gajim/data/icons/hicolor/32x32/status/mrim-xa.png create mode 100644 gajim/data/icons/hicolor/32x32/status/sms-away.png create mode 100644 gajim/data/icons/hicolor/32x32/status/sms-chat.png create mode 100644 gajim/data/icons/hicolor/32x32/status/sms-dnd.png create mode 100644 gajim/data/icons/hicolor/32x32/status/sms-offline.png create mode 100644 gajim/data/icons/hicolor/32x32/status/sms-online.png create mode 100644 gajim/data/icons/hicolor/32x32/status/sms-xa.png create mode 100644 gajim/data/icons/hicolor/32x32/status/sun-away.png create mode 100644 gajim/data/icons/hicolor/32x32/status/sun-chat.png create mode 100644 gajim/data/icons/hicolor/32x32/status/sun-connecting.png create mode 100644 gajim/data/icons/hicolor/32x32/status/sun-dnd.png create mode 100644 gajim/data/icons/hicolor/32x32/status/sun-error.png create mode 100644 gajim/data/icons/hicolor/32x32/status/sun-event.png create mode 100644 gajim/data/icons/hicolor/32x32/status/sun-muc-active.png create mode 100644 gajim/data/icons/hicolor/32x32/status/sun-muc-inactive.png create mode 100644 gajim/data/icons/hicolor/32x32/status/sun-notinroster.png create mode 100644 gajim/data/icons/hicolor/32x32/status/sun-offline.png create mode 100644 gajim/data/icons/hicolor/32x32/status/sun-online.png create mode 100644 gajim/data/icons/hicolor/32x32/status/sun-requested.png create mode 100644 gajim/data/icons/hicolor/32x32/status/sun-xa.png create mode 100644 gajim/data/icons/hicolor/32x32/status/weather-away.png create mode 100644 gajim/data/icons/hicolor/32x32/status/weather-chat.png create mode 100644 gajim/data/icons/hicolor/32x32/status/weather-dnd.png create mode 100644 gajim/data/icons/hicolor/32x32/status/weather-offline.png create mode 100644 gajim/data/icons/hicolor/32x32/status/weather-online.png create mode 100644 gajim/data/icons/hicolor/32x32/status/weather-xa.png create mode 100644 gajim/data/icons/hicolor/32x32/status/wroop-away.png create mode 100644 gajim/data/icons/hicolor/32x32/status/wroop-chat.png create mode 100644 gajim/data/icons/hicolor/32x32/status/wroop-connecting.png create mode 100644 gajim/data/icons/hicolor/32x32/status/wroop-dnd.png create mode 100644 gajim/data/icons/hicolor/32x32/status/wroop-error.png create mode 100644 gajim/data/icons/hicolor/32x32/status/wroop-event.png create mode 100644 gajim/data/icons/hicolor/32x32/status/wroop-muc-active.png create mode 100644 gajim/data/icons/hicolor/32x32/status/wroop-muc-inactive.png create mode 100644 gajim/data/icons/hicolor/32x32/status/wroop-notinroster.png create mode 100644 gajim/data/icons/hicolor/32x32/status/wroop-offline.png create mode 100644 gajim/data/icons/hicolor/32x32/status/wroop-online.png create mode 100644 gajim/data/icons/hicolor/32x32/status/wroop-requested.png create mode 100644 gajim/data/icons/hicolor/32x32/status/wroop-xa.png create mode 100644 gajim/data/icons/hicolor/48x48/status/dcraven-offline.png create mode 100644 gajim/data/icons/hicolor/48x48/status/dcraven-online.png create mode 100644 gajim/data/icons/hicolor/48x48/status/facebook-offline.png create mode 100644 gajim/data/icons/hicolor/48x48/status/facebook-online.png create mode 100644 gajim/data/icons/hicolor/48x48/status/gadu-offline.png create mode 100644 gajim/data/icons/hicolor/48x48/status/gadu-online.png create mode 100644 gajim/data/icons/hicolor/48x48/status/gajim-chat_msg_recv.png create mode 100644 gajim/data/icons/hicolor/48x48/status/gajim-connection_lost.png create mode 100644 gajim/data/icons/hicolor/48x48/status/gajim-gc_invitation.png create mode 100644 gajim/data/icons/hicolor/48x48/status/gajim-new_email_recv.png create mode 100644 gajim/data/icons/hicolor/48x48/status/gajim-priv_msg_recv.png create mode 100644 gajim/data/icons/hicolor/48x48/status/gajim-subscription_request.png create mode 100644 gajim/data/icons/hicolor/48x48/status/gajim-unsubscribed.png create mode 100644 gajim/data/icons/hicolor/48x48/status/gnome-offline.png create mode 100644 gajim/data/icons/hicolor/48x48/status/gnome-online.png create mode 100644 gajim/data/icons/hicolor/48x48/status/goojim-offline.png create mode 100644 gajim/data/icons/hicolor/48x48/status/goojim-online.png create mode 100644 gajim/data/icons/hicolor/48x48/status/gota-offline.png create mode 100644 gajim/data/icons/hicolor/48x48/status/gota-online.png create mode 100644 gajim/data/icons/hicolor/48x48/status/icq-offline.png create mode 100644 gajim/data/icons/hicolor/48x48/status/icq-online.png create mode 100644 gajim/data/icons/hicolor/48x48/status/jabberbulb-offline.png create mode 100644 gajim/data/icons/hicolor/48x48/status/jabberbulb-online.png create mode 100644 gajim/data/icons/hicolor/48x48/status/mrim-offline.png create mode 100644 gajim/data/icons/hicolor/48x48/status/mrim-online.png create mode 100644 gajim/data/icons/hicolor/48x48/status/sun-offline.png create mode 100644 gajim/data/icons/hicolor/48x48/status/sun-online.png create mode 100644 gajim/data/icons/hicolor/48x48/status/wroop-away.png create mode 100644 gajim/data/icons/hicolor/48x48/status/wroop-chat.png create mode 100644 gajim/data/icons/hicolor/48x48/status/wroop-dnd.png create mode 100644 gajim/data/icons/hicolor/48x48/status/wroop-error.png create mode 100644 gajim/data/icons/hicolor/48x48/status/wroop-muc-active.png create mode 100644 gajim/data/icons/hicolor/48x48/status/wroop-muc-inactive.png create mode 100644 gajim/data/icons/hicolor/48x48/status/wroop-notinroster.png create mode 100644 gajim/data/icons/hicolor/48x48/status/wroop-offline.png create mode 100644 gajim/data/icons/hicolor/48x48/status/wroop-online.png create mode 100644 gajim/data/icons/hicolor/48x48/status/wroop-requested.png create mode 100644 gajim/data/icons/hicolor/48x48/status/wroop-xa.png create mode 100644 gajim/data/icons/hicolor/96x96/categories/map.png create mode 100644 gajim/data/icons/hicolor/scalable/apps/org.gajim.Gajim-symbolic.svg create mode 100644 gajim/data/icons/hicolor/scalable/apps/org.gajim.Gajim.Devel.svg create mode 100644 gajim/data/icons/hicolor/scalable/apps/org.gajim.Gajim.Source.svg create mode 100644 gajim/data/icons/hicolor/scalable/apps/org.gajim.Gajim.svg create mode 100644 gajim/data/icons/hicolor/scalable/categories/map.svg create mode 100644 gajim/data/icons/hicolor/scalable/devices/feather-briefcase-symbolic.svg create mode 100644 gajim/data/icons/hicolor/scalable/devices/feather-camera-off-symbolic.svg create mode 100644 gajim/data/icons/hicolor/scalable/devices/feather-camera-symbolic.svg create mode 100644 gajim/data/icons/hicolor/scalable/devices/feather-check-double-symbolic.svg create mode 100644 gajim/data/icons/hicolor/scalable/devices/feather-check-symbolic.svg create mode 100644 gajim/data/icons/hicolor/scalable/devices/feather-clock-symbolic.svg create mode 100644 gajim/data/icons/hicolor/scalable/devices/feather-eye-off-symbolic.svg create mode 100644 gajim/data/icons/hicolor/scalable/devices/feather-eye-symbolic.svg create mode 100644 gajim/data/icons/hicolor/scalable/devices/feather-globe-symbolic.svg create mode 100644 gajim/data/icons/hicolor/scalable/devices/feather-hard-drive-symbolic.svg create mode 100644 gajim/data/icons/hicolor/scalable/devices/feather-hash-symbolic.svg create mode 100644 gajim/data/icons/hicolor/scalable/devices/feather-home-symbolic.svg create mode 100644 gajim/data/icons/hicolor/scalable/devices/feather-lock-symbolic.svg create mode 100644 gajim/data/icons/hicolor/scalable/devices/feather-mic-off-symbolic.svg create mode 100644 gajim/data/icons/hicolor/scalable/devices/feather-mic-symbolic.svg create mode 100644 gajim/data/icons/hicolor/scalable/devices/feather-server-symbolic.svg create mode 100644 gajim/data/icons/hicolor/scalable/devices/feather-shield-off-symbolic.svg create mode 100644 gajim/data/icons/hicolor/scalable/devices/feather-shield-symbolic.svg create mode 100644 gajim/data/icons/hicolor/scalable/devices/feather-unlock-symbolic.svg create mode 100644 gajim/data/icons/hicolor/scalable/devices/feather-user-check-symbolic.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/bruno-away.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/bruno-chat.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/bruno-closed.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/bruno-connecting.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/bruno-dnd.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/bruno-error.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/bruno-event.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/bruno-message.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/bruno-muc-active.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/bruno-muc-inactive.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/bruno-notinroster.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/bruno-offline.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/bruno-online.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/bruno-opened.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/bruno-requested.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/bruno-xa.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/dcraven-away.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/dcraven-chat.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/dcraven-closed.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/dcraven-connecting.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/dcraven-dnd.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/dcraven-error.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/dcraven-message.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/dcraven-muc-active.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/dcraven-muc-inactive.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/dcraven-notinroster.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/dcraven-offline.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/dcraven-online.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/dcraven-opened.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/dcraven-requested.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/dcraven-xa.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/gajim-agent-bytestreams.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/gajim-agent-conference.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/gajim-agent-disc.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/gajim-agent-error.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/gajim-agent-gadu-gadu.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/gajim-agent-http-ws.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/gajim-agent-icq.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/gajim-agent-irc.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/gajim-agent-jabber.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/gajim-agent-jud.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/gajim-agent-mail.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/gajim-agent-pubsub.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/gajim-agent-rss.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/gajim-agent-sip.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/gajim-agent-sms.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/gajim-agent-tv.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/gajim-agent-weather.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/gajim-chat_msg_recv.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/gajim-connection_lost.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/gajim-gc_invitation.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/gajim-mail.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/gajim-new_email_recv.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/gajim-priv_msg_recv.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/gajim-subscribe.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/gajim-unsubscribe.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/sun-away.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/sun-chat.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/sun-dnd.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/sun-error.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/sun-not_in_roster.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/sun-offline.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/sun-online.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/sun-requested.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/sun-xa.svg create mode 100644 gajim/data/icons/hicolor/scalable/status/xmpp.svg create mode 100644 gajim/data/other/dh4096.pem create mode 100644 gajim/data/other/servers.json create mode 100644 gajim/data/plugins/plugin_installer/__init__.py create mode 100644 gajim/data/plugins/plugin_installer/config_dialog.py create mode 100644 gajim/data/plugins/plugin_installer/config_dialog.ui~ create mode 100644 gajim/data/plugins/plugin_installer/installer.ui create mode 100644 gajim/data/plugins/plugin_installer/manifest.ini create mode 100644 gajim/data/plugins/plugin_installer/plugin_installer.png create mode 100644 gajim/data/plugins/plugin_installer/plugin_installer.py create mode 100644 gajim/data/plugins/plugin_installer/remote.py create mode 100644 gajim/data/plugins/plugin_installer/utils.py create mode 100644 gajim/data/plugins/plugin_installer/widget.py create mode 100644 gajim/data/sounds/attention.wav create mode 100644 gajim/data/sounds/bounce.wav create mode 100644 gajim/data/sounds/connected.wav create mode 100644 gajim/data/sounds/disconnected.wav create mode 100644 gajim/data/sounds/gc_message1.wav create mode 100644 gajim/data/sounds/gc_message2.wav create mode 100644 gajim/data/sounds/message1.wav create mode 100644 gajim/data/sounds/message2.wav create mode 100644 gajim/data/sounds/sent.wav create mode 100644 gajim/data/style/default-dark.css create mode 100644 gajim/data/style/default.css create mode 100644 gajim/data/style/gajim-dark.css create mode 100644 gajim/data/style/gajim.css create mode 100644 gajim/dialog_messages.py create mode 100644 gajim/dialogs.py create mode 100644 gajim/gajim.py create mode 100644 gajim/gajim_remote.py create mode 100644 gajim/groupchat_control.py create mode 100644 gajim/gtk/__init__.py create mode 100644 gajim/gtk/about.py create mode 100644 gajim/gtk/account_wizard.py create mode 100644 gajim/gtk/accounts.py create mode 100644 gajim/gtk/add_contact.py create mode 100644 gajim/gtk/adhoc.py create mode 100644 gajim/gtk/advanced_config.py create mode 100644 gajim/gtk/assistant.py create mode 100644 gajim/gtk/avatar.py create mode 100755 gajim/gtk/avatar_selector.py create mode 100644 gajim/gtk/blocking.py create mode 100644 gajim/gtk/bookmarks.py create mode 100644 gajim/gtk/change_password.py create mode 100644 gajim/gtk/const.py create mode 100644 gajim/gtk/css_config.py create mode 100644 gajim/gtk/dataform.py create mode 100644 gajim/gtk/dialogs.py create mode 100644 gajim/gtk/discovery.py create mode 100644 gajim/gtk/emoji_chooser.py create mode 100644 gajim/gtk/emoji_data.py create mode 100644 gajim/gtk/exception.py create mode 100644 gajim/gtk/features.py create mode 100644 gajim/gtk/filechoosers.py create mode 100644 gajim/gtk/filetransfer.py create mode 100644 gajim/gtk/filetransfer_progress.py create mode 100644 gajim/gtk/groupchat_config.py create mode 100644 gajim/gtk/groupchat_creation.py create mode 100644 gajim/gtk/groupchat_info.py create mode 100644 gajim/gtk/groupchat_invitation.py create mode 100644 gajim/gtk/groupchat_invite.py create mode 100644 gajim/gtk/groupchat_join.py create mode 100644 gajim/gtk/groupchat_nick.py create mode 100644 gajim/gtk/groupchat_roster.py create mode 100644 gajim/gtk/groupchat_settings.py create mode 100644 gajim/gtk/gstreamer.py create mode 100644 gajim/gtk/history.py create mode 100644 gajim/gtk/history_sync.py create mode 100644 gajim/gtk/htmltextview.py create mode 100644 gajim/gtk/mam_preferences.py create mode 100644 gajim/gtk/manage_sounds.py create mode 100644 gajim/gtk/message_input.py create mode 100644 gajim/gtk/notification.py create mode 100644 gajim/gtk/pep_config.py create mode 100644 gajim/gtk/preferences.py create mode 100644 gajim/gtk/profile.py create mode 100644 gajim/gtk/proxies.py create mode 100644 gajim/gtk/remove_account.py create mode 100644 gajim/gtk/roster_item_exchange.py create mode 100644 gajim/gtk/search.py create mode 100644 gajim/gtk/server_info.py create mode 100644 gajim/gtk/service_registration.py create mode 100644 gajim/gtk/settings.py create mode 100644 gajim/gtk/sidebar_switcher.py create mode 100644 gajim/gtk/single_message.py create mode 100644 gajim/gtk/ssl_error_dialog.py create mode 100644 gajim/gtk/start_chat.py create mode 100644 gajim/gtk/status_change.py create mode 100644 gajim/gtk/status_selector.py create mode 100644 gajim/gtk/statusicon.py create mode 100644 gajim/gtk/subscription_request.py create mode 100644 gajim/gtk/themes.py create mode 100644 gajim/gtk/tooltips.py create mode 100644 gajim/gtk/types.py create mode 100644 gajim/gtk/util.py create mode 100644 gajim/gtk/vcard_grid.py create mode 100644 gajim/gtk/video_preview.py create mode 100644 gajim/gtk/xml_console.py create mode 100644 gajim/gtkgui_helpers.py create mode 100644 gajim/gui/__init__.py create mode 100644 gajim/gui_interface.py create mode 100644 gajim/gui_menu_builder.py create mode 100644 gajim/history_manager.py create mode 100644 gajim/message_window.py create mode 100644 gajim/plugins/__init__.py create mode 100644 gajim/plugins/gajimplugin.py create mode 100644 gajim/plugins/gui.py create mode 100644 gajim/plugins/helpers.py create mode 100644 gajim/plugins/pluginmanager.py create mode 100644 gajim/plugins/plugins_i18n.py create mode 100644 gajim/privatechat_control.py create mode 100644 gajim/remote_control.py create mode 100644 gajim/roster_window.py create mode 100644 gajim/session.py create mode 100644 gajim/vcard.py create mode 100644 po/be.po create mode 100644 po/be@latin.po create mode 100644 po/bg.po create mode 100644 po/br.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/eo.po create mode 100644 po/es.po create mode 100644 po/eu.po create mode 100644 po/fr.po create mode 100644 po/gl.po create mode 100644 po/he.po create mode 100644 po/hr.po create mode 100644 po/hu.po create mode 100644 po/it.po create mode 100644 po/ja.po create mode 100644 po/kk.po create mode 100644 po/lt.po create mode 100644 po/nb_NO.po create mode 100644 po/nl.po create mode 100644 po/pl.po create mode 100644 po/pt.po create mode 100644 po/pt_BR.po create mode 100644 po/ru.po create mode 100644 po/sk.po create mode 100644 po/sr.po create mode 100644 po/sr@Latn.po create mode 100644 po/sv.po create mode 100644 po/tr.po create mode 100644 po/uk.po create mode 100644 po/zh_CN.po create mode 100644 po/zh_TW.po create mode 100644 setup.cfg create mode 100644 setup.py create mode 100644 test/__init__.py create mode 100644 test/broken/integration/test_gui_event_integration.py create mode 100644 test/broken/integration/test_roster.py create mode 100644 test/broken/test_pluginmanager.py create mode 100644 test/broken/unit/test_jingle.py create mode 100644 test/broken/unit/test_sessions.py create mode 100644 test/broken/unit/test_socks5.py create mode 100644 test/gtk/assistant.py create mode 100644 test/gtk/certificate_dialog.py create mode 100644 test/gtk/change_password.py create mode 100644 test/gtk/dataform.py create mode 100644 test/gtk/fake_dataform.py create mode 100644 test/gtk/groupchat_info.py create mode 100644 test/gtk/htmltextview.py create mode 100644 test/gtk/ssl_error_dialog.py create mode 100644 test/gtk/util.py create mode 100644 test/lib/__init__.py create mode 100755 test/lib/data.py create mode 100644 test/lib/gajim_mocks.py create mode 100644 test/lib/mock.py create mode 100644 test/lib/notify.py create mode 100644 test/no_gui/__init__.py create mode 100644 test/no_gui/test_regex.py create mode 100644 test/no_gui/unit/__init__.py create mode 100644 test/no_gui/unit/test_nick_completion.py create mode 100644 test/unit/__init__.py create mode 100644 test/unit/test_gui_interface.py diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/COPYING @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. 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 +them 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 prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. 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. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey 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; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If 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 convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU 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 that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + 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. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +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. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + 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 +state 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) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 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, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program 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, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU 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 Lesser General +Public License instead of this License. But first, please read +. diff --git a/LICENSE b/LICENSE deleted file mode 100644 index e06aa93..0000000 --- a/LICENSE +++ /dev/null @@ -1,16 +0,0 @@ -Copyright (c) year copyright holder. All Rights Reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - -1. -Redistribution of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - -2. -Redistribution in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - -3. -Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -YOU ACKNOWLEDGE THAT THIS SOFTWARE IS NOT DESIGNED, LICENSED OR INTENDED FOR USE IN THE DESIGN, CONSTRUCTION, OPERATION OR MAINTENANCE OF ANY MILITARY FACILITY. diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..3b0af23 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,5 @@ +include COPYING +recursive-include po *.po +recursive-include data *.1 *.in +recursive-include test *.py +recursive-exclude * *.pyc diff --git a/PKG-INFO b/PKG-INFO new file mode 100644 index 0000000..8ab8f7a --- /dev/null +++ b/PKG-INFO @@ -0,0 +1,12 @@ +Metadata-Version: 1.2 +Name: gajim +Version: 1.3.3 +Summary: A GTK XMPP client +Home-page: https://gajim.org +Author: Philipp Hoerist, Yann Leboulanger +Author-email: gajim-devel@gajim.org +License: GPL v3 +Description: UNKNOWN +Platform: UNKNOWN +Classifier: Programming Language :: Python :: 3 +Requires-Python: >=3.7 diff --git a/README.md b/README.md index 834ad16..bc356c7 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,100 @@ -# gajim3 +# Welcome to Gajim -gajim 1.3.3 hard forked \ No newline at end of file + +### Runtime Requirements + +- python3.7 or higher +- python3-gi +- python3-gi-cairo +- gir1.2-gtk-3.0 (>=3.22) +- python3-nbxmpp (>=2.0.4) +- python3-openssl (>=16.2) +- python3-css-parser +- python3-keyring +- python3-precis-i18n +- python3-packaging +- python3-setuptools +- gir1.2-soup-2.4 +- GLib (>=2.60.0) + +### Optional Runtime Requirements + +- python3-pil (pillow) for support of webp avatars +- gir1.2-avahi-0.6 for zeroconf on Linux or [pybonjour](https://dev.gajim.org/lovetox/pybonjour-python3) on Windows/macOS +- gir1.2-gspell-1 and hunspell-LANG where lang is your locale eg. en, fr etc +- gir1.2-secret-1 for GNOME Keyring or KDE support as password storage +- D-Bus running to have gajim-remote working +- gir1.2-farstream-0.2, gir1.2-gstreamer-1.0 gir1.2-gst-plugins-base-1.0, gstreamer1.0-plugins-ugly, gstreamer1.0-libav, and gstreamer1.0-gtk3 for audio and video calls +- gir1.2-gupnpigd-1.0 for better NAT traversing +- gir1.2-networkmanager-1.0 for network lose detection +- gir1.2-geoclue-2.0 for sharing your location +- gir1.2-gsound-1.0 for sound on Linux + +### Compile-time Requirements + +- python3-setuptools +- gettext + + +### Installation Procedure + +#### Packages + +- [Arch Linux](https://www.archlinux.org/packages/community/any/gajim/) +- [Debian](https://packages.debian.org/stable/gajim) +- [Fedora](https://apps.fedoraproject.org/packages/gajim) +- [Ubuntu](https://packages.ubuntu.com/gajim) +- [FreeBSD](https://www.freshports.org/net-im/gajim/) + +#### Flatpak + +see [README](./flatpak/README.md) + +#### Snapshots + +- [Daily Linux](https://www.gajim.org/downloads/snap/) +- [Daily Windows](https://gajim.org/downloads/snap/win) + +#### Linux + + pip install . + +#### Mac + +see [Wiki](https://dev.gajim.org/gajim/gajim/wikis/help/gajimmacosx#python3brew) + +#### Developing + +For developing you don't have to install Gajim. + +After installing all dependencies execute + + ./launch.py + +#### Windows + +see [README](./win/README.md) + +### Miscellaneous + +#### Debugging + +Execute gajim with `--verbose` + +#### Links + +- [FAQ](https://dev.gajim.org/gajim/gajim/wikis/help/gajimfaq) +- [Wiki](https://dev.gajim.org/gajim/gajim/wikis/home) + + + +That is all, **enjoy**! + +(C) 2003-2021 +The Gajim Team +[https://gajim.org](https://gajim.org) + + +We use original art and parts of sounds and other art from Psi, Gossip, Gnomebaker, Gaim +and some icons from various gnome-icons (mostly Dropline Etiquette) we found at art.gnome.org. +If you think we're violating a license please inform us. Thank you. diff --git a/data/gajim-history-manager.1 b/data/gajim-history-manager.1 new file mode 100644 index 0000000..94cf2d6 --- /dev/null +++ b/data/gajim-history-manager.1 @@ -0,0 +1,86 @@ +.Dd January 21, 2018 +.Dt GAJIM-HISTORY-MANAGER 1 URM +.Os UNIX +.Sh NAME +.Nm gajim-history-manager +.Nd a tool to manage +.Xr gajim 1 +logs +.Sh SYNOPSIS +.Nm +.Fl h +.Nm +.Op Fl c Ar directory +.Sh DESCRIPTION +.Nm +is a tool to manage +.Po do some cleanup Pc log file of +.Xr gajim 1 . +Use this program to delete or export logs. +For more information on database logs see . +.Sh OPTIONS +.Bl -tag -width Ds +.It Fl h Fl Fl help +Show help options +.It Fl c Fl Fl config-path Em directory +Where to look for logs file +.El +.Sh FILES +.Bl -tag -width Ds +.It $XDG_DATA_HOME/gajim/logs.db +The history database log file used when +.Op Fl c +is not specified. +.El +.Sh AUTHORS +.An -nosplit +.Nm +is written and maintained by +.An Yann Leboulanger , +and +.An Denis Fomin , +with contributions and patches merged from many individuals around the world. +See files +.Pa AUTHORS +and +.Pa THANKS , +for a complete list. +.Sh COPYRIGHT +Copyright (C) 2003-2021 Gajim Team +.Pp +.Nm +is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 3 only. +.Pp +.Nm +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. +.Pp +You should have received a copy of the GNU General Public License along with +.Nm . +If not, see . +.Sh FEEDBACK +You can report bugs or feature requests in our bug tracker at +.Em https://dev.gajim.org/gajim/gajim/issues +or in the +.Em gajim-devel +mailing list; if you want to send us a patch, please do so in our bug tracker. +You can also find us in our chat room. +.Sh WWW +https://www.gajim.org/ +.Sh XMPP +You are welcome to join us at gajim@conference.gajim.org +.Sh MAILING LIST +Below are public mailing lists on lists.gajim.org +.Bd -literal -offset indent +https://lists.gajim.org/cgi-bin/listinfo/gajim-devel +https://lists.gajim.org/cgi-bin/listinfo/translators +.Ed +.Pp +More mailing lists at +.Bd -literal -offset indent +https://lists.gajim.org/cgi-bin/listinfo +.Ed +.Sh BUGS +Please submit bugs at https://dev.gajim.org/gajim/gajim/issues +.Sh SEE ALSO +.Xr gajim 1 +.Xr gajim-remote 1 diff --git a/data/gajim-remote.1 b/data/gajim-remote.1 new file mode 100644 index 0000000..6098154 --- /dev/null +++ b/data/gajim-remote.1 @@ -0,0 +1,119 @@ +.Dd January 21, 2018 +.Dt GAJIM-REMOTE 1 URM +.Os UNIX +.Sh NAME +.Nm gajim-remote +.Nd a remote control utility for +.Xr gajim 1 +.Sh SYNOPSIS +.Nm +.Ar command +.Sh DESCRIPTION +.Nm +is a script to control and communicate with a running instance of +.Xr gajim 1 +by D-Bus. +.Sh OPTIONS +.Bl -tag -width Ds +.It Available commands +.El +.Ss account_info Aq account +Gets detailed info on a account +.Ss change_status Bo status Bc Bo message Bc Bq account +Changes the status of account or accounts +.Ss check_gajim_running +Check if Gajim is running +.Ss contact_info Aq jid +Gets detailed info on a contact +.Ss get_status Bq account +Returns current status (the global one unless account is specified) +.Ss get_status_message Bq account +Returns current status message (the global one unless account is specified) +.Ss get_unread_msgs_number +Returns number of unread messages +.Ss help Bq command +Shows a help on specific command +.Ss list_accounts +Prints a list of registered accounts +.Ss list_contacts Bq account +Prints a list of all contacts in the roster. Each contact appears on a separate line +.Ss remove_contact Ao jid Ac Bq account +Removes contact from roster +.Ss send_chat_message Ao jid Ac Ao message Ac Bo PGP key Bc Bq account +Sends new chat message to a contact in the roster. Both OpenPGP key and account are optional. If you want to set only 'account', without 'OpenPGP key', just set 'OpenPGP key' to ''. +.Ss send_file Ao file Ac Ao jid Ac Bq account +Sends file to a contact +.Ss send_groupchat_message Ao room_jid Ac Ao message Ac Bq account +Sends new message to a groupchat you've joined. +.Ss send_single_message Ao jid subject Ac Ao message Ac Bo PGP key Bc Bq account +Sends new single message to a contact in the roster. Both OpenPGP key and account are optional. If you want to set only 'account', without 'OpenPGP key', just set 'OpenPGP key' to ''. +.Ss send_xml Ao xml Ac Bq account +Sends custom XML +.Ss set_priority Ao priority Ac Bq account +Changes the priority of account or accounts +.Ss show_next_pending_event +Pops up a window with the next pending event +.Ss toggle_ipython +Shows or hides the ipython window +.Ss toggle_roster_appearance +Shows or hides the roster window +.Sh EXAMPLES +Open a URI of group chat gajim +.Pp +.Dl $ gajim-remote handle_uri xmpp:gajim@conference.gajim.org?join +.Pp +Send custom XML +.Pp +.Dl $ gajim-remote send_xml $(cat Pa filename.xml ) Qq your@jabber.id +.Sh AUTHORS +.An -nosplit +.Nm +is written and maintained by +.An Yann Leboulanger , +and +.An Denis Fomin , +with contributions and patches merged from many individuals around the world. +See files +.Pa AUTHORS +and +.Pa THANKS , +for a complete list. +.Sh COPYRIGHT +Copyright (C) 2003-2021 Gajim Team +.Pp +.Nm +is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 3 only. +.Pp +.Nm +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. +.Pp +You should have received a copy of the GNU General Public License along with +.Nm . +If not, see . +.Sh FEEDBACK +You can report bugs or feature requests in our bug tracker at +.Em https://dev.gajim.org/gajim/gajim/issues +or in the +.Em gajim-devel +mailing list; if you want to send us a patch, please do so in our bug tracker. +You can also find us in our chat room. +.Sh WWW +https://www.gajim.org/ +.Sh XMPP +You are welcome to join us at gajim@conference.gajim.org +.Sh MAILING LIST +Below are public mailing lists on lists.gajim.org +.Bd -literal -offset indent +https://lists.gajim.org/cgi-bin/listinfo/gajim-devel +https://lists.gajim.org/cgi-bin/listinfo/translators +.Ed +.Pp +More mailing lists at +.Bd -literal -offset indent +https://lists.gajim.org/cgi-bin/listinfo +.Ed +.Sh BUGS +Please submit bugs at https://dev.gajim.org/gajim/gajim/issues +.Sh SEE ALSO +.Xr gajim 1 +.Xr gajim-history-manager 1 diff --git a/data/gajim.1 b/data/gajim.1 new file mode 100644 index 0000000..284aa8a --- /dev/null +++ b/data/gajim.1 @@ -0,0 +1,138 @@ +.Dd January 21, 2018 +.Dt GAJIM 1 URM +.Os UNIX +.Sh NAME +.Nm gajim +.Nd a Jabber/XMPP client +.Sh SYNOPSIS +.Nm +.Fl h +.Nm +.Op Fl q +.Op Fl v +.Op Fl w +.Op Fl l Ar subsystem=level +.Op Fl p Ar name +.Op Fl s +.Op Fl c Ar directory +.Sh DESCRIPTION +.Nm +is a Jabber/XMPP client written in Python and GTK+. +.Nm +works nicely with GNOME, yet it does not require it to run. +.Nm +is designed for novice and advanced users as one, as well for XMPP +server admins. +.Pp +XMPP is the Extensible Messaging and Presence Protocol, a set of open +technologies for instant messaging, presence, multi-party chat, voice +and video calls, collaboration, lightweight middleware, content +syndication, and generalized routing of XML data. For more information +on the XMPP protocol see . +.Sh OPTIONS +.Bl -tag -width Ds +.It Fl h Fl Fl help +Show help options +.It Fl q Fl Fl quiet +Show only critical errors +.It Fl s Fl Fl separate +Separate profiles completely (even history db and plugins) +.It Fl v Fl Fl verbose +Print xml stanzas and other debug information +.It Fl w Fl Fl warnings +Show all GTK warnings with traceback +.It Fl l Fl Fl loglevel Em subsystem=level Bq , Em subsystem=level Bq Em ... +Configure logging system. +Subsystem can be +.Em gajim.interface , +.Em gajim.c.connection , +.Em .nbxmpp.client_nb , +etc. +Level can be +.Em DEBUG , +.Em INFO , +.Em WARNING , +.Em ERROR +or +.Em CRITICAL . +.It Fl p Fl Fl profile Em name +Run +.Nm +using +.Pa config.name +in configuration directory +.It Fl c Fl Fl config-path Em directory +Where to look for configuration files +.El +.Sh FILES +.Bl -tag -width Ds +.It $XDG_CACHE_HOME/gajim/cache.db +Cache database file of transports, caps, roster entry, and roster group. +.It $XDG_CACHE_HOME/gajim/avatars/ +Cache directory of avatars. +.It $XDG_CACHE_HOME/gajim/vcards/ +Cache directory of vCards (virtual cards). +.It $XDG_CONFIG_HOME/gajim/ +The config-path used when +.Op Fl c +is not specified. +.It $XDG_DATA_HOME/gajim/certs/ +Directory where certificates are stored. +.It $XDG_DATA_HOME/gajim/logs.db +The history database log file. +For more information on database logs see +. +.El +.Sh AUTHORS +.An -nosplit +.Nm +is written and maintained by +.An Yann Leboulanger +and +.An Philipp Hörist , +with contributions and patches merged from many individuals around the world. +See the About Dialog for a complete list. +.Sh COPYRIGHT +Copyright (C) 2003-2021 Gajim Team +.Pp +.Nm +is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 3 only. +.Pp +.Nm +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. +.Pp +You should have received a copy of the GNU General Public License along with +.Nm . +If not, see . +.Sh FEEDBACK +You can report bugs or feature requests in our bug tracker at +.Em https://dev.gajim.org/gajim/gajim/issues +or in the +.Em gajim-devel +mailing list; if you want to send us a patch, please do so in our bug tracker. +You can also find us in our chat room. +.Sh WWW +https://www.gajim.org/ +.Sh XMPP +You are welcome to join us at gajim@conference.gajim.org +.Sh MAILING LIST +Below are public mailing lists on lists.gajim.org +.Bd -literal -offset indent +https://lists.gajim.org/cgi-bin/listinfo/gajim-devel +https://lists.gajim.org/cgi-bin/listinfo/translators +.Ed +.Pp +More mailing lists at +.Bd -literal -offset indent +https://lists.gajim.org/cgi-bin/listinfo +.Ed +.Sh BUGS +Please submit bugs at +.Bd -literal -offset indent +https://dev.gajim.org/gajim/gajim/issues +https://dev.gajim.org/gajim/gajim-plugins +https://dev.gajim.org/gajim/python-nbxmpp +.Ed +.Sh SEE ALSO +.Xr gajim-remote 1 +.Xr gajim-history-manager 1 diff --git a/data/org.gajim.Gajim.appdata.xml.in b/data/org.gajim.Gajim.appdata.xml.in new file mode 100644 index 0000000..99c63f8 --- /dev/null +++ b/data/org.gajim.Gajim.appdata.xml.in @@ -0,0 +1,91 @@ + + + + org.gajim.Gajim + CC-BY-SA-3.0 + GPL-3.0 + Gajim + A fully-featured XMPP chat client + +

Gajim aims to be an easy to use and fully-featured XMPP client. + Just chat with your friends or family, easily share pictures and + thoughts or discuss the news with your groups. +

+

Chat securely with End-to-End encryption via OMEMO or OpenPGP.

+

Gajim integrates well with your other devices: simply continue conversations on your mobile device. +

+

Features:

+
    +
  • Never miss a message, keep all your chat clients synchronized
  • +
  • Invite friends to group chats or join one
  • +
  • Easily send pictures, videos or other files to friends and groups
  • +
  • Chat securely with End-to-End encryption via OMEMO or OpenPGP
  • +
  • Use your favorite emoticons, set your own profile picture
  • +
  • Keep and manage all your chat history
  • +
  • Organize your chats with tabs
  • +
  • Automatic spell-checking for your messages
  • +
  • Connect to other Messengers via Transports (Facebook, IRC, ...)
  • +
  • Lookup things on Wikipedia, dictionaries or other search engines directly from the chat window
  • +
  • Set your activity, tune, and mood to show your friends how you are feeling
  • +
  • Support for multiple accounts
  • +
  • Group multiple contacts from one friend to a single Meta-Contact
  • +
  • XML console to see what's happening on the protocol layer
  • +
  • Serverless messaging (Bonjour/Zeroconf)
  • +
  • Support for service discovery including nodes and search for users
  • +
  • Even more features via plugins
  • +
+
+ + + https://gajim.org/img/screenshots/single-window-mode.png + Contact list + + + https://gajim.org/img/screenshots/tabbed-chat.png + Tabbed chat window + + + https://gajim.org/img/screenshots/groupchat-window.png + Group chat support + + + https://gajim.org/img/screenshots/history-window.png + Chat history + + + https://gajim.org/img/screenshots/plugins.png + Plugin manager + + + org.gajim.Gajim.desktop + Gajim Team + gajim-devel_AT_gajim.org + https://gajim.org/ + https://dev.gajim.org/gajim/gajim + https://dev.gajim.org/gajim/gajim/-/wikis/help/gajimfaq + https://dev.gajim.org/gajim/gajim/-/wikis/help/Help + https://gajim.org/development/#donations + https://dev.gajim.org/gajim/gajim/-/wikis/development/devtranslate + gajim + + intense + intense + + + + + + + + + + + + + + + + + + +
diff --git a/data/org.gajim.Gajim.desktop.in b/data/org.gajim.Gajim.desktop.in new file mode 100644 index 0000000..6204c05 --- /dev/null +++ b/data/org.gajim.Gajim.desktop.in @@ -0,0 +1,28 @@ +[Desktop Entry] +Categories=Network;InstantMessaging;GTK;Chat; +Name=Gajim +GenericName=XMPP Chat Client +Comment=A fully-featured XMPP chat client +#Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +Keywords=chat;messaging;im;xmpp;bonjour;voip; +Exec=gajim %u +#Translators: Do NOT translate or transliterate this text (this is an icon file name)! +Icon=org.gajim.Gajim +StartupNotify=false +X-GNOME-UsesNotifications=true +Terminal=false +Type=Application +MimeType=x-scheme-handler/xmpp; +Actions=StartChat;ShowNextPendingEvent; + +[Desktop Action StartChat] +Exec=gajim --start-chat +Name=Start a new chat +#Translators: Do NOT translate or transliterate this text (this is an icon file name)! +Icon=org.gajim.Gajim + +[Desktop Action ShowNextPendingEvent] +Exec=gajim --show-next-pending-event +Name=Show next pending event +#Translators: Do NOT translate or transliterate this text (this is an icon file name)! +Icon=org.gajim.Gajim diff --git a/gajim.egg-info/PKG-INFO b/gajim.egg-info/PKG-INFO new file mode 100644 index 0000000..8ab8f7a --- /dev/null +++ b/gajim.egg-info/PKG-INFO @@ -0,0 +1,12 @@ +Metadata-Version: 1.2 +Name: gajim +Version: 1.3.3 +Summary: A GTK XMPP client +Home-page: https://gajim.org +Author: Philipp Hoerist, Yann Leboulanger +Author-email: gajim-devel@gajim.org +License: GPL v3 +Description: UNKNOWN +Platform: UNKNOWN +Classifier: Programming Language :: Python :: 3 +Requires-Python: >=3.7 diff --git a/gajim.egg-info/SOURCES.txt b/gajim.egg-info/SOURCES.txt new file mode 100644 index 0000000..fee181e --- /dev/null +++ b/gajim.egg-info/SOURCES.txt @@ -0,0 +1,1043 @@ +COPYING +MANIFEST.in +README.md +setup.cfg +setup.py +data/gajim-history-manager.1 +data/gajim-remote.1 +data/gajim.1 +data/org.gajim.Gajim.appdata.xml.in +data/org.gajim.Gajim.desktop.in +gajim/__init__.py +gajim/app_actions.py +gajim/application.py +gajim/chat_control.py +gajim/chat_control_base.py +gajim/conversation_textview.py +gajim/dialog_messages.py +gajim/dialogs.py +gajim/gajim.py +gajim/gajim_remote.py +gajim/groupchat_control.py +gajim/gtkgui_helpers.py +gajim/gui_interface.py +gajim/gui_menu_builder.py +gajim/history_manager.py +gajim/message_window.py +gajim/privatechat_control.py +gajim/remote_control.py +gajim/roster_window.py +gajim/session.py +gajim/vcard.py +gajim.egg-info/PKG-INFO +gajim.egg-info/SOURCES.txt +gajim.egg-info/dependency_links.txt +gajim.egg-info/entry_points.txt +gajim.egg-info/requires.txt +gajim.egg-info/top_level.txt +gajim/command_system/__init__.py +gajim/command_system/dispatcher.py +gajim/command_system/errors.py +gajim/command_system/framework.py +gajim/command_system/mapping.py +gajim/command_system/tools.py +gajim/command_system/implementation/__init__.py +gajim/command_system/implementation/custom.py +gajim/command_system/implementation/execute.py +gajim/command_system/implementation/hosts.py +gajim/command_system/implementation/middleware.py +gajim/command_system/implementation/standard.py +gajim/common/__init__.py +gajim/common/account.py +gajim/common/app.py +gajim/common/cert_store.py +gajim/common/client.py +gajim/common/config.py +gajim/common/configpaths.py +gajim/common/connection.py +gajim/common/connection_handlers.py +gajim/common/connection_handlers_events.py +gajim/common/const.py +gajim/common/contacts.py +gajim/common/dh.py +gajim/common/events.py +gajim/common/exceptions.py +gajim/common/file_props.py +gajim/common/filetransfer.py +gajim/common/ged.py +gajim/common/helpers.py +gajim/common/i18n.py +gajim/common/idle.py +gajim/common/jingle_content.py +gajim/common/jingle_ft.py +gajim/common/jingle_ftstates.py +gajim/common/jingle_rtp.py +gajim/common/jingle_session.py +gajim/common/jingle_transport.py +gajim/common/jingle_xtls.py +gajim/common/logging_helpers.py +gajim/common/multimedia_helpers.py +gajim/common/nec.py +gajim/common/optparser.py +gajim/common/passwords.py +gajim/common/proxy65_manager.py +gajim/common/regex.py +gajim/common/setting_values.py +gajim/common/settings.py +gajim/common/socks5.py +gajim/common/structs.py +gajim/common/task_manager.py +gajim/common/types.py +gajim/common/dbus/__init__.py +gajim/common/dbus/location.py +gajim/common/dbus/logind.py +gajim/common/dbus/music_track.py +gajim/common/modules/__init__.py +gajim/common/modules/adhoc_commands.py +gajim/common/modules/annotations.py +gajim/common/modules/announce.py +gajim/common/modules/base.py +gajim/common/modules/bits_of_binary.py +gajim/common/modules/blocking.py +gajim/common/modules/bookmarks.py +gajim/common/modules/bytestream.py +gajim/common/modules/caps.py +gajim/common/modules/carbons.py +gajim/common/modules/chat_markers.py +gajim/common/modules/chatstates.py +gajim/common/modules/delimiter.py +gajim/common/modules/discovery.py +gajim/common/modules/entity_time.py +gajim/common/modules/gateway.py +gajim/common/modules/http_auth.py +gajim/common/modules/httpupload.py +gajim/common/modules/ibb.py +gajim/common/modules/iq.py +gajim/common/modules/jingle.py +gajim/common/modules/last_activity.py +gajim/common/modules/mam.py +gajim/common/modules/message.py +gajim/common/modules/metacontacts.py +gajim/common/modules/misc.py +gajim/common/modules/muc.py +gajim/common/modules/pep.py +gajim/common/modules/ping.py +gajim/common/modules/presence.py +gajim/common/modules/pubsub.py +gajim/common/modules/receipts.py +gajim/common/modules/register.py +gajim/common/modules/roster.py +gajim/common/modules/roster_item_exchange.py +gajim/common/modules/search.py +gajim/common/modules/security_labels.py +gajim/common/modules/software_version.py +gajim/common/modules/user_activity.py +gajim/common/modules/user_avatar.py +gajim/common/modules/user_location.py +gajim/common/modules/user_mood.py +gajim/common/modules/user_nickname.py +gajim/common/modules/user_tune.py +gajim/common/modules/util.py +gajim/common/modules/vcard4.py +gajim/common/modules/vcard_avatars.py +gajim/common/modules/vcard_temp.py +gajim/common/storage/__init__.py +gajim/common/storage/archive.py +gajim/common/storage/base.py +gajim/common/storage/cache.py +gajim/common/zeroconf/__init__.py +gajim/common/zeroconf/client_zeroconf.py +gajim/common/zeroconf/connection_handlers_zeroconf.py +gajim/common/zeroconf/connection_zeroconf.py +gajim/common/zeroconf/roster_zeroconf.py +gajim/common/zeroconf/zeroconf.py +gajim/common/zeroconf/zeroconf_avahi.py +gajim/common/zeroconf/zeroconf_avahi_const.py +gajim/common/zeroconf/zeroconf_bonjour.py +gajim/data/emoticons/noto/LICENSE +gajim/data/emoticons/noto/noto.png +gajim/data/emoticons/twemoji/LICENSE +gajim/data/emoticons/twemoji/twemoji.png +gajim/data/gui/account_context_menu.ui +gajim/data/gui/account_wizard.ui +gajim/data/gui/add_new_contact_window.ui +gajim/data/gui/advanced_configuration.ui +gajim/data/gui/application_menu.ui +gajim/data/gui/assistant.ui +gajim/data/gui/blocking_list.ui +gajim/data/gui/bookmarks.ui +gajim/data/gui/certificate_dialog.ui +gajim/data/gui/chat_control.ui +gajim/data/gui/chat_to_muc_window.ui +gajim/data/gui/contact_context_menu.ui +gajim/data/gui/edit_groups_dialog.ui +gajim/data/gui/emoji_chooser.ui +gajim/data/gui/exception_dialog.ui +gajim/data/gui/filetransfer_progress.ui +gajim/data/gui/filetransfers.ui +gajim/data/gui/filetransfers_send_file_dialog.ui +gajim/data/gui/groupchat_config.ui +gajim/data/gui/groupchat_control.ui +gajim/data/gui/groupchat_creation.ui +gajim/data/gui/groupchat_info_scrolled.ui +gajim/data/gui/groupchat_invite.ui +gajim/data/gui/groupchat_nick_chooser.ui +gajim/data/gui/groupchat_roster.ui +gajim/data/gui/groups_post_window.ui +gajim/data/gui/history_manager.ui +gajim/data/gui/history_window.ui +gajim/data/gui/mam_preferences.ui +gajim/data/gui/manage_pep_services_window.ui +gajim/data/gui/manage_proxies.ui +gajim/data/gui/manage_sounds.ui +gajim/data/gui/message_window.ui +gajim/data/gui/passphrase_dialog.ui +gajim/data/gui/plugins_window.ui +gajim/data/gui/popup_notification_window.ui +gajim/data/gui/preferences.ui +gajim/data/gui/profile.ui +gajim/data/gui/roster_item_exchange_window.ui +gajim/data/gui/roster_window.ui +gajim/data/gui/server_info.ui +gajim/data/gui/service_discovery_window.ui +gajim/data/gui/shortcuts_window.ui +gajim/data/gui/single_message_window.ui +gajim/data/gui/ssl_error_dialog.ui +gajim/data/gui/start_chat_dialog.ui +gajim/data/gui/status_change_window.ui +gajim/data/gui/subscription_request_window.ui +gajim/data/gui/synchronise_select_account_dialog.ui +gajim/data/gui/synchronise_select_contacts_dialog.ui +gajim/data/gui/systray_context_menu.ui +gajim/data/gui/themes_window.ui +gajim/data/gui/tooltip_gc_contact.ui +gajim/data/gui/tooltip_roster_contact.ui +gajim/data/gui/vcard_information_window.ui +gajim/data/gui/video_preview.ui +gajim/data/gui/xml_console.ui +gajim/data/gui/zeroconf_context_menu.ui +gajim/data/gui/zeroconf_information_window.ui +gajim/data/icons/hicolor/16x16/actions/gajim-kbd_input.png +gajim/data/icons/hicolor/16x16/devices/feather-briefcase-symbolic.symbolic.png +gajim/data/icons/hicolor/16x16/devices/feather-camera-off-symbolic.symbolic.png +gajim/data/icons/hicolor/16x16/devices/feather-camera-symbolic.symbolic.png +gajim/data/icons/hicolor/16x16/devices/feather-check-double-symbolic.symbolic.png +gajim/data/icons/hicolor/16x16/devices/feather-check-symbolic.symbolic.png +gajim/data/icons/hicolor/16x16/devices/feather-clock-symbolic.symbolic.png +gajim/data/icons/hicolor/16x16/devices/feather-eye-off-symbolic.symbolic.png +gajim/data/icons/hicolor/16x16/devices/feather-eye-symbolic.symbolic.png +gajim/data/icons/hicolor/16x16/devices/feather-globe-symbolic.symbolic.png +gajim/data/icons/hicolor/16x16/devices/feather-hard-drive-symbolic.symbolic.png +gajim/data/icons/hicolor/16x16/devices/feather-hash-symbolic.symbolic.png +gajim/data/icons/hicolor/16x16/devices/feather-home-symbolic.symbolic.png +gajim/data/icons/hicolor/16x16/devices/feather-lock-symbolic.symbolic.png +gajim/data/icons/hicolor/16x16/devices/feather-mic-off-symbolic.symbolic.png +gajim/data/icons/hicolor/16x16/devices/feather-mic-symbolic.symbolic.png +gajim/data/icons/hicolor/16x16/devices/feather-server-symbolic.symbolic.png +gajim/data/icons/hicolor/16x16/devices/feather-shield-off-symbolic.symbolic.png +gajim/data/icons/hicolor/16x16/devices/feather-shield-symbolic.symbolic.png +gajim/data/icons/hicolor/16x16/devices/feather-unlock-symbolic.symbolic.png +gajim/data/icons/hicolor/16x16/devices/feather-user-check-symbolic.symbolic.png +gajim/data/icons/hicolor/16x16/status/activity-doing-chores-buying-groceries.png +gajim/data/icons/hicolor/16x16/status/activity-doing-chores-cleaning.png +gajim/data/icons/hicolor/16x16/status/activity-doing-chores-cooking.png +gajim/data/icons/hicolor/16x16/status/activity-doing-chores-doing-maintenance.png +gajim/data/icons/hicolor/16x16/status/activity-doing-chores-doing-the-dishes.png +gajim/data/icons/hicolor/16x16/status/activity-doing-chores-doing-the-laundry.png +gajim/data/icons/hicolor/16x16/status/activity-doing-chores-gardening.png +gajim/data/icons/hicolor/16x16/status/activity-doing-chores-running-an-errand.png +gajim/data/icons/hicolor/16x16/status/activity-doing-chores-walking-the-dog.png +gajim/data/icons/hicolor/16x16/status/activity-doing-chores.png +gajim/data/icons/hicolor/16x16/status/activity-drinking-having-a-beer.png +gajim/data/icons/hicolor/16x16/status/activity-drinking-having-coffee.png +gajim/data/icons/hicolor/16x16/status/activity-drinking-having-tea.png +gajim/data/icons/hicolor/16x16/status/activity-drinking.png +gajim/data/icons/hicolor/16x16/status/activity-eating-having-a-snack.png +gajim/data/icons/hicolor/16x16/status/activity-eating-having-breakfast.png +gajim/data/icons/hicolor/16x16/status/activity-eating-having-dinner.png +gajim/data/icons/hicolor/16x16/status/activity-eating-having-lunch.png +gajim/data/icons/hicolor/16x16/status/activity-eating.png +gajim/data/icons/hicolor/16x16/status/activity-exercising-cycling.png +gajim/data/icons/hicolor/16x16/status/activity-exercising-dancing.png +gajim/data/icons/hicolor/16x16/status/activity-exercising-hiking.png +gajim/data/icons/hicolor/16x16/status/activity-exercising-jogging.png +gajim/data/icons/hicolor/16x16/status/activity-exercising-playing-sports.png +gajim/data/icons/hicolor/16x16/status/activity-exercising-running.png +gajim/data/icons/hicolor/16x16/status/activity-exercising-skiing.png +gajim/data/icons/hicolor/16x16/status/activity-exercising-swimming.png +gajim/data/icons/hicolor/16x16/status/activity-exercising-working-out.png +gajim/data/icons/hicolor/16x16/status/activity-exercising.png +gajim/data/icons/hicolor/16x16/status/activity-grooming-at-the-spa.png +gajim/data/icons/hicolor/16x16/status/activity-grooming-brushing-teeth.png +gajim/data/icons/hicolor/16x16/status/activity-grooming-getting-a-haircut.png +gajim/data/icons/hicolor/16x16/status/activity-grooming-shaving.png +gajim/data/icons/hicolor/16x16/status/activity-grooming-taking-a-bath.png +gajim/data/icons/hicolor/16x16/status/activity-grooming-taking-a-shower.png +gajim/data/icons/hicolor/16x16/status/activity-grooming.png +gajim/data/icons/hicolor/16x16/status/activity-having-appointment.png +gajim/data/icons/hicolor/16x16/status/activity-inactive-day-off.png +gajim/data/icons/hicolor/16x16/status/activity-inactive-hanging-out.png +gajim/data/icons/hicolor/16x16/status/activity-inactive-hiding.png +gajim/data/icons/hicolor/16x16/status/activity-inactive-on-vacation.png +gajim/data/icons/hicolor/16x16/status/activity-inactive-praying.png +gajim/data/icons/hicolor/16x16/status/activity-inactive-scheduled-holiday.png +gajim/data/icons/hicolor/16x16/status/activity-inactive-sleeping.png +gajim/data/icons/hicolor/16x16/status/activity-inactive-thinking.png +gajim/data/icons/hicolor/16x16/status/activity-inactive.png +gajim/data/icons/hicolor/16x16/status/activity-relaxing-fishing.png +gajim/data/icons/hicolor/16x16/status/activity-relaxing-gaming.png +gajim/data/icons/hicolor/16x16/status/activity-relaxing-going-out.png +gajim/data/icons/hicolor/16x16/status/activity-relaxing-partying.png +gajim/data/icons/hicolor/16x16/status/activity-relaxing-reading.png +gajim/data/icons/hicolor/16x16/status/activity-relaxing-rehearsing.png +gajim/data/icons/hicolor/16x16/status/activity-relaxing-shopping.png +gajim/data/icons/hicolor/16x16/status/activity-relaxing-smoking.png +gajim/data/icons/hicolor/16x16/status/activity-relaxing-socializing.png +gajim/data/icons/hicolor/16x16/status/activity-relaxing-sunbathing.png +gajim/data/icons/hicolor/16x16/status/activity-relaxing-watching-a-movie.png +gajim/data/icons/hicolor/16x16/status/activity-relaxing-watching-tv.png +gajim/data/icons/hicolor/16x16/status/activity-relaxing.png +gajim/data/icons/hicolor/16x16/status/activity-talking-in-real-life.png +gajim/data/icons/hicolor/16x16/status/activity-talking-on-the-phone.png +gajim/data/icons/hicolor/16x16/status/activity-talking-on-video-phone.png +gajim/data/icons/hicolor/16x16/status/activity-talking.png +gajim/data/icons/hicolor/16x16/status/activity-traveling-commuting.png +gajim/data/icons/hicolor/16x16/status/activity-traveling-cycling.png +gajim/data/icons/hicolor/16x16/status/activity-traveling-driving.png +gajim/data/icons/hicolor/16x16/status/activity-traveling-in-a-car.png +gajim/data/icons/hicolor/16x16/status/activity-traveling-on-a-bus.png +gajim/data/icons/hicolor/16x16/status/activity-traveling-on-a-plane.png +gajim/data/icons/hicolor/16x16/status/activity-traveling-on-a-train.png +gajim/data/icons/hicolor/16x16/status/activity-traveling-on-a-trip.png +gajim/data/icons/hicolor/16x16/status/activity-traveling-walking.png +gajim/data/icons/hicolor/16x16/status/activity-traveling.png +gajim/data/icons/hicolor/16x16/status/activity-working-coding.png +gajim/data/icons/hicolor/16x16/status/activity-working-in-a-meeting.png +gajim/data/icons/hicolor/16x16/status/activity-working-studying.png +gajim/data/icons/hicolor/16x16/status/activity-working-writing.png +gajim/data/icons/hicolor/16x16/status/activity-working.png +gajim/data/icons/hicolor/16x16/status/applications-internet.png +gajim/data/icons/hicolor/16x16/status/audio-mic-volume-high.png +gajim/data/icons/hicolor/16x16/status/audio-mic-volume-low.png +gajim/data/icons/hicolor/16x16/status/audio-mic-volume-medium.png +gajim/data/icons/hicolor/16x16/status/audio-mic-volume-muted.png +gajim/data/icons/hicolor/16x16/status/dcraven-away.png +gajim/data/icons/hicolor/16x16/status/dcraven-chat.png +gajim/data/icons/hicolor/16x16/status/dcraven-closed.png +gajim/data/icons/hicolor/16x16/status/dcraven-connecting.png +gajim/data/icons/hicolor/16x16/status/dcraven-dnd.png +gajim/data/icons/hicolor/16x16/status/dcraven-error.png +gajim/data/icons/hicolor/16x16/status/dcraven-event.png +gajim/data/icons/hicolor/16x16/status/dcraven-muc-active.png +gajim/data/icons/hicolor/16x16/status/dcraven-muc-inactive.png +gajim/data/icons/hicolor/16x16/status/dcraven-notinroster.png +gajim/data/icons/hicolor/16x16/status/dcraven-offline.png +gajim/data/icons/hicolor/16x16/status/dcraven-online.png +gajim/data/icons/hicolor/16x16/status/dcraven-opened.png +gajim/data/icons/hicolor/16x16/status/dcraven-requested.png +gajim/data/icons/hicolor/16x16/status/dcraven-xa.png +gajim/data/icons/hicolor/16x16/status/facebook-away.png +gajim/data/icons/hicolor/16x16/status/facebook-chat.png +gajim/data/icons/hicolor/16x16/status/facebook-dnd.png +gajim/data/icons/hicolor/16x16/status/facebook-notinroster.png +gajim/data/icons/hicolor/16x16/status/facebook-offline.png +gajim/data/icons/hicolor/16x16/status/facebook-online.png +gajim/data/icons/hicolor/16x16/status/facebook-xa.png +gajim/data/icons/hicolor/16x16/status/gadu-away.png +gajim/data/icons/hicolor/16x16/status/gadu-chat.png +gajim/data/icons/hicolor/16x16/status/gadu-dnd.png +gajim/data/icons/hicolor/16x16/status/gadu-notinroster.png +gajim/data/icons/hicolor/16x16/status/gadu-offline.png +gajim/data/icons/hicolor/16x16/status/gadu-online.png +gajim/data/icons/hicolor/16x16/status/gadu-xa.png +gajim/data/icons/hicolor/16x16/status/gajim-event.png +gajim/data/icons/hicolor/16x16/status/gajim-plugins.png +gajim/data/icons/hicolor/16x16/status/gnome-away.png +gajim/data/icons/hicolor/16x16/status/gnome-chat.png +gajim/data/icons/hicolor/16x16/status/gnome-closed.png +gajim/data/icons/hicolor/16x16/status/gnome-connecting.png +gajim/data/icons/hicolor/16x16/status/gnome-dnd.png +gajim/data/icons/hicolor/16x16/status/gnome-error.png +gajim/data/icons/hicolor/16x16/status/gnome-event.png +gajim/data/icons/hicolor/16x16/status/gnome-muc-active.png +gajim/data/icons/hicolor/16x16/status/gnome-muc-inactive.png +gajim/data/icons/hicolor/16x16/status/gnome-notinroster.png +gajim/data/icons/hicolor/16x16/status/gnome-offline.png +gajim/data/icons/hicolor/16x16/status/gnome-online.png +gajim/data/icons/hicolor/16x16/status/gnome-opened.png +gajim/data/icons/hicolor/16x16/status/gnome-requested.png +gajim/data/icons/hicolor/16x16/status/gnome-xa.png +gajim/data/icons/hicolor/16x16/status/goojim-away.png +gajim/data/icons/hicolor/16x16/status/goojim-chat.png +gajim/data/icons/hicolor/16x16/status/goojim-closed.png +gajim/data/icons/hicolor/16x16/status/goojim-connecting.png +gajim/data/icons/hicolor/16x16/status/goojim-dnd.png +gajim/data/icons/hicolor/16x16/status/goojim-error.png +gajim/data/icons/hicolor/16x16/status/goojim-event.png +gajim/data/icons/hicolor/16x16/status/goojim-muc-active.png +gajim/data/icons/hicolor/16x16/status/goojim-muc-inactive.png +gajim/data/icons/hicolor/16x16/status/goojim-notinroster.png +gajim/data/icons/hicolor/16x16/status/goojim-offline.png +gajim/data/icons/hicolor/16x16/status/goojim-online.png +gajim/data/icons/hicolor/16x16/status/goojim-opened.png +gajim/data/icons/hicolor/16x16/status/goojim-requested.png +gajim/data/icons/hicolor/16x16/status/goojim-xa.png +gajim/data/icons/hicolor/16x16/status/gota-away.png +gajim/data/icons/hicolor/16x16/status/gota-chat.png +gajim/data/icons/hicolor/16x16/status/gota-closed.png +gajim/data/icons/hicolor/16x16/status/gota-connecting.png +gajim/data/icons/hicolor/16x16/status/gota-dnd.png +gajim/data/icons/hicolor/16x16/status/gota-error.png +gajim/data/icons/hicolor/16x16/status/gota-event.png +gajim/data/icons/hicolor/16x16/status/gota-muc-active.png +gajim/data/icons/hicolor/16x16/status/gota-muc-inactive.png +gajim/data/icons/hicolor/16x16/status/gota-notinroster.png +gajim/data/icons/hicolor/16x16/status/gota-offline.png +gajim/data/icons/hicolor/16x16/status/gota-online.png +gajim/data/icons/hicolor/16x16/status/gota-opened.png +gajim/data/icons/hicolor/16x16/status/gota-requested.png +gajim/data/icons/hicolor/16x16/status/gota-xa.png +gajim/data/icons/hicolor/16x16/status/icq-away.png +gajim/data/icons/hicolor/16x16/status/icq-chat.png +gajim/data/icons/hicolor/16x16/status/icq-dnd.png +gajim/data/icons/hicolor/16x16/status/icq-notinroster.png +gajim/data/icons/hicolor/16x16/status/icq-offline.png +gajim/data/icons/hicolor/16x16/status/icq-online.png +gajim/data/icons/hicolor/16x16/status/icq-xa.png +gajim/data/icons/hicolor/16x16/status/irc-away.png +gajim/data/icons/hicolor/16x16/status/irc-chat.png +gajim/data/icons/hicolor/16x16/status/irc-dnd.png +gajim/data/icons/hicolor/16x16/status/irc-event.png +gajim/data/icons/hicolor/16x16/status/irc-muc-active.png +gajim/data/icons/hicolor/16x16/status/irc-muc-inactive.png +gajim/data/icons/hicolor/16x16/status/irc-notinroster.png +gajim/data/icons/hicolor/16x16/status/irc-offline.png +gajim/data/icons/hicolor/16x16/status/irc-online.png +gajim/data/icons/hicolor/16x16/status/irc-xa.png +gajim/data/icons/hicolor/16x16/status/jabberbulb-away.png +gajim/data/icons/hicolor/16x16/status/jabberbulb-chat.png +gajim/data/icons/hicolor/16x16/status/jabberbulb-closed.png +gajim/data/icons/hicolor/16x16/status/jabberbulb-connecting.png +gajim/data/icons/hicolor/16x16/status/jabberbulb-dnd.png +gajim/data/icons/hicolor/16x16/status/jabberbulb-error.png +gajim/data/icons/hicolor/16x16/status/jabberbulb-event.png +gajim/data/icons/hicolor/16x16/status/jabberbulb-muc-active.png +gajim/data/icons/hicolor/16x16/status/jabberbulb-muc-inactive.png +gajim/data/icons/hicolor/16x16/status/jabberbulb-notinroster.png +gajim/data/icons/hicolor/16x16/status/jabberbulb-offline.png +gajim/data/icons/hicolor/16x16/status/jabberbulb-online.png +gajim/data/icons/hicolor/16x16/status/jabberbulb-opened.png +gajim/data/icons/hicolor/16x16/status/jabberbulb-requested.png +gajim/data/icons/hicolor/16x16/status/jabberbulb-xa.png +gajim/data/icons/hicolor/16x16/status/mood-afraid.png +gajim/data/icons/hicolor/16x16/status/mood-amazed.png +gajim/data/icons/hicolor/16x16/status/mood-amorous.png +gajim/data/icons/hicolor/16x16/status/mood-angry.png +gajim/data/icons/hicolor/16x16/status/mood-annoyed.png +gajim/data/icons/hicolor/16x16/status/mood-anxious.png +gajim/data/icons/hicolor/16x16/status/mood-aroused.png +gajim/data/icons/hicolor/16x16/status/mood-ashamed.png +gajim/data/icons/hicolor/16x16/status/mood-bored.png +gajim/data/icons/hicolor/16x16/status/mood-brave.png +gajim/data/icons/hicolor/16x16/status/mood-calm.png +gajim/data/icons/hicolor/16x16/status/mood-cautious.png +gajim/data/icons/hicolor/16x16/status/mood-cold.png +gajim/data/icons/hicolor/16x16/status/mood-confident.png +gajim/data/icons/hicolor/16x16/status/mood-confused.png +gajim/data/icons/hicolor/16x16/status/mood-contemplative.png +gajim/data/icons/hicolor/16x16/status/mood-contented.png +gajim/data/icons/hicolor/16x16/status/mood-cranky.png +gajim/data/icons/hicolor/16x16/status/mood-crazy.png +gajim/data/icons/hicolor/16x16/status/mood-creative.png +gajim/data/icons/hicolor/16x16/status/mood-curious.png +gajim/data/icons/hicolor/16x16/status/mood-dejected.png +gajim/data/icons/hicolor/16x16/status/mood-depressed.png +gajim/data/icons/hicolor/16x16/status/mood-disappointed.png +gajim/data/icons/hicolor/16x16/status/mood-disgusted.png +gajim/data/icons/hicolor/16x16/status/mood-dismayed.png +gajim/data/icons/hicolor/16x16/status/mood-distracted.png +gajim/data/icons/hicolor/16x16/status/mood-embarrassed.png +gajim/data/icons/hicolor/16x16/status/mood-envious.png +gajim/data/icons/hicolor/16x16/status/mood-excited.png +gajim/data/icons/hicolor/16x16/status/mood-flirtatious.png +gajim/data/icons/hicolor/16x16/status/mood-frustrated.png +gajim/data/icons/hicolor/16x16/status/mood-grateful.png +gajim/data/icons/hicolor/16x16/status/mood-grieving.png +gajim/data/icons/hicolor/16x16/status/mood-grumpy.png +gajim/data/icons/hicolor/16x16/status/mood-guilty.png +gajim/data/icons/hicolor/16x16/status/mood-happy.png +gajim/data/icons/hicolor/16x16/status/mood-hopeful.png +gajim/data/icons/hicolor/16x16/status/mood-hot.png +gajim/data/icons/hicolor/16x16/status/mood-humbled.png +gajim/data/icons/hicolor/16x16/status/mood-humiliated.png +gajim/data/icons/hicolor/16x16/status/mood-hungry.png +gajim/data/icons/hicolor/16x16/status/mood-hurt.png +gajim/data/icons/hicolor/16x16/status/mood-impressed.png +gajim/data/icons/hicolor/16x16/status/mood-in_awe.png +gajim/data/icons/hicolor/16x16/status/mood-in_love.png +gajim/data/icons/hicolor/16x16/status/mood-indignant.png +gajim/data/icons/hicolor/16x16/status/mood-interested.png +gajim/data/icons/hicolor/16x16/status/mood-intoxicated.png +gajim/data/icons/hicolor/16x16/status/mood-invincible.png +gajim/data/icons/hicolor/16x16/status/mood-jealous.png +gajim/data/icons/hicolor/16x16/status/mood-lonely.png +gajim/data/icons/hicolor/16x16/status/mood-lost.png +gajim/data/icons/hicolor/16x16/status/mood-lucky.png +gajim/data/icons/hicolor/16x16/status/mood-mean.png +gajim/data/icons/hicolor/16x16/status/mood-moody.png +gajim/data/icons/hicolor/16x16/status/mood-nervous.png +gajim/data/icons/hicolor/16x16/status/mood-neutral.png +gajim/data/icons/hicolor/16x16/status/mood-offended.png +gajim/data/icons/hicolor/16x16/status/mood-outraged.png +gajim/data/icons/hicolor/16x16/status/mood-playful.png +gajim/data/icons/hicolor/16x16/status/mood-proud.png +gajim/data/icons/hicolor/16x16/status/mood-relaxed.png +gajim/data/icons/hicolor/16x16/status/mood-relieved.png +gajim/data/icons/hicolor/16x16/status/mood-remorseful.png +gajim/data/icons/hicolor/16x16/status/mood-restless.png +gajim/data/icons/hicolor/16x16/status/mood-sad.png +gajim/data/icons/hicolor/16x16/status/mood-sarcastic.png +gajim/data/icons/hicolor/16x16/status/mood-satisfied.png +gajim/data/icons/hicolor/16x16/status/mood-serious.png +gajim/data/icons/hicolor/16x16/status/mood-shocked.png +gajim/data/icons/hicolor/16x16/status/mood-shy.png +gajim/data/icons/hicolor/16x16/status/mood-sick.png +gajim/data/icons/hicolor/16x16/status/mood-sleepy.png +gajim/data/icons/hicolor/16x16/status/mood-spontaneous.png +gajim/data/icons/hicolor/16x16/status/mood-stressed.png +gajim/data/icons/hicolor/16x16/status/mood-strong.png +gajim/data/icons/hicolor/16x16/status/mood-surprised.png +gajim/data/icons/hicolor/16x16/status/mood-thankful.png +gajim/data/icons/hicolor/16x16/status/mood-thirsty.png +gajim/data/icons/hicolor/16x16/status/mood-tired.png +gajim/data/icons/hicolor/16x16/status/mood-undefined.png +gajim/data/icons/hicolor/16x16/status/mood-unknown.png +gajim/data/icons/hicolor/16x16/status/mood-weak.png +gajim/data/icons/hicolor/16x16/status/mood-worried.png +gajim/data/icons/hicolor/16x16/status/mrim-away.png +gajim/data/icons/hicolor/16x16/status/mrim-chat.png +gajim/data/icons/hicolor/16x16/status/mrim-dnd.png +gajim/data/icons/hicolor/16x16/status/mrim-notinroster.png +gajim/data/icons/hicolor/16x16/status/mrim-offline.png +gajim/data/icons/hicolor/16x16/status/mrim-online.png +gajim/data/icons/hicolor/16x16/status/mrim-xa.png +gajim/data/icons/hicolor/16x16/status/sms-away.png +gajim/data/icons/hicolor/16x16/status/sms-chat.png +gajim/data/icons/hicolor/16x16/status/sms-dnd.png +gajim/data/icons/hicolor/16x16/status/sms-offline.png +gajim/data/icons/hicolor/16x16/status/sms-online.png +gajim/data/icons/hicolor/16x16/status/sms-xa.png +gajim/data/icons/hicolor/16x16/status/sun-away.png +gajim/data/icons/hicolor/16x16/status/sun-chat.png +gajim/data/icons/hicolor/16x16/status/sun-closed.png +gajim/data/icons/hicolor/16x16/status/sun-connecting.png +gajim/data/icons/hicolor/16x16/status/sun-dnd.png +gajim/data/icons/hicolor/16x16/status/sun-error.png +gajim/data/icons/hicolor/16x16/status/sun-event.png +gajim/data/icons/hicolor/16x16/status/sun-muc-active.png +gajim/data/icons/hicolor/16x16/status/sun-muc-inactive.png +gajim/data/icons/hicolor/16x16/status/sun-notinroster.png +gajim/data/icons/hicolor/16x16/status/sun-offline.png +gajim/data/icons/hicolor/16x16/status/sun-online.png +gajim/data/icons/hicolor/16x16/status/sun-opened.png +gajim/data/icons/hicolor/16x16/status/sun-requested.png +gajim/data/icons/hicolor/16x16/status/sun-xa.png +gajim/data/icons/hicolor/16x16/status/weather-away.png +gajim/data/icons/hicolor/16x16/status/weather-chat.png +gajim/data/icons/hicolor/16x16/status/weather-dnd.png +gajim/data/icons/hicolor/16x16/status/weather-offline.png +gajim/data/icons/hicolor/16x16/status/weather-online.png +gajim/data/icons/hicolor/16x16/status/weather-xa.png +gajim/data/icons/hicolor/16x16/status/wroop-away.png +gajim/data/icons/hicolor/16x16/status/wroop-chat.png +gajim/data/icons/hicolor/16x16/status/wroop-closed.png +gajim/data/icons/hicolor/16x16/status/wroop-connecting.png +gajim/data/icons/hicolor/16x16/status/wroop-dnd.png +gajim/data/icons/hicolor/16x16/status/wroop-error.png +gajim/data/icons/hicolor/16x16/status/wroop-event.png +gajim/data/icons/hicolor/16x16/status/wroop-muc-active.png +gajim/data/icons/hicolor/16x16/status/wroop-muc-inactive.png +gajim/data/icons/hicolor/16x16/status/wroop-notinroster.png +gajim/data/icons/hicolor/16x16/status/wroop-offline.png +gajim/data/icons/hicolor/16x16/status/wroop-online.png +gajim/data/icons/hicolor/16x16/status/wroop-opened.png +gajim/data/icons/hicolor/16x16/status/wroop-requested.png +gajim/data/icons/hicolor/16x16/status/wroop-xa.png +gajim/data/icons/hicolor/32x32/categories/gajim-agent-bytestreams.png +gajim/data/icons/hicolor/32x32/categories/gajim-agent-conference.png +gajim/data/icons/hicolor/32x32/categories/gajim-agent-disc.png +gajim/data/icons/hicolor/32x32/categories/gajim-agent-facebook.png +gajim/data/icons/hicolor/32x32/categories/gajim-agent-gadu-gadu.png +gajim/data/icons/hicolor/32x32/categories/gajim-agent-http-ws.png +gajim/data/icons/hicolor/32x32/categories/gajim-agent-icq.png +gajim/data/icons/hicolor/32x32/categories/gajim-agent-irc.png +gajim/data/icons/hicolor/32x32/categories/gajim-agent-jabber.png +gajim/data/icons/hicolor/32x32/categories/gajim-agent-jud.png +gajim/data/icons/hicolor/32x32/categories/gajim-agent-mail.png +gajim/data/icons/hicolor/32x32/categories/gajim-agent-mrim.png +gajim/data/icons/hicolor/32x32/categories/gajim-agent-msn.png +gajim/data/icons/hicolor/32x32/categories/gajim-agent-pubsub.png +gajim/data/icons/hicolor/32x32/categories/gajim-agent-rss.png +gajim/data/icons/hicolor/32x32/categories/gajim-agent-sip.png +gajim/data/icons/hicolor/32x32/categories/gajim-agent-sms.png +gajim/data/icons/hicolor/32x32/categories/gajim-agent-tv.png +gajim/data/icons/hicolor/32x32/categories/gajim-agent-twitter.png +gajim/data/icons/hicolor/32x32/categories/gajim-agent-weather.png +gajim/data/icons/hicolor/32x32/devices/feather-briefcase-symbolic.symbolic.png +gajim/data/icons/hicolor/32x32/devices/feather-camera-off-symbolic.symbolic.png +gajim/data/icons/hicolor/32x32/devices/feather-camera-symbolic.symbolic.png +gajim/data/icons/hicolor/32x32/devices/feather-check-double-symbolic.symbolic.png +gajim/data/icons/hicolor/32x32/devices/feather-check-symbolic.symbolic.png +gajim/data/icons/hicolor/32x32/devices/feather-clock-symbolic.symbolic.png +gajim/data/icons/hicolor/32x32/devices/feather-eye-off-symbolic.symbolic.png +gajim/data/icons/hicolor/32x32/devices/feather-eye-symbolic.symbolic.png +gajim/data/icons/hicolor/32x32/devices/feather-globe-symbolic.symbolic.png +gajim/data/icons/hicolor/32x32/devices/feather-hard-drive-symbolic.symbolic.png +gajim/data/icons/hicolor/32x32/devices/feather-hash-symbolic.symbolic.png +gajim/data/icons/hicolor/32x32/devices/feather-home-symbolic.symbolic.png +gajim/data/icons/hicolor/32x32/devices/feather-lock-symbolic.symbolic.png +gajim/data/icons/hicolor/32x32/devices/feather-mic-off-symbolic.symbolic.png +gajim/data/icons/hicolor/32x32/devices/feather-mic-symbolic.symbolic.png +gajim/data/icons/hicolor/32x32/devices/feather-server-symbolic.symbolic.png +gajim/data/icons/hicolor/32x32/devices/feather-shield-off-symbolic.symbolic.png +gajim/data/icons/hicolor/32x32/devices/feather-shield-symbolic.symbolic.png +gajim/data/icons/hicolor/32x32/devices/feather-unlock-symbolic.symbolic.png +gajim/data/icons/hicolor/32x32/devices/feather-user-check-symbolic.symbolic.png +gajim/data/icons/hicolor/32x32/status/dcraven-away.png +gajim/data/icons/hicolor/32x32/status/dcraven-chat.png +gajim/data/icons/hicolor/32x32/status/dcraven-closed.png +gajim/data/icons/hicolor/32x32/status/dcraven-connecting.png +gajim/data/icons/hicolor/32x32/status/dcraven-dnd.png +gajim/data/icons/hicolor/32x32/status/dcraven-error.png +gajim/data/icons/hicolor/32x32/status/dcraven-event.png +gajim/data/icons/hicolor/32x32/status/dcraven-muc-active.png +gajim/data/icons/hicolor/32x32/status/dcraven-muc-inactive.png +gajim/data/icons/hicolor/32x32/status/dcraven-notinroster.png +gajim/data/icons/hicolor/32x32/status/dcraven-offline.png +gajim/data/icons/hicolor/32x32/status/dcraven-online.png +gajim/data/icons/hicolor/32x32/status/dcraven-opened.png +gajim/data/icons/hicolor/32x32/status/dcraven-requested.png +gajim/data/icons/hicolor/32x32/status/dcraven-xa.png +gajim/data/icons/hicolor/32x32/status/facebook-away.png +gajim/data/icons/hicolor/32x32/status/facebook-chat.png +gajim/data/icons/hicolor/32x32/status/facebook-dnd.png +gajim/data/icons/hicolor/32x32/status/facebook-notinroster.png +gajim/data/icons/hicolor/32x32/status/facebook-offline.png +gajim/data/icons/hicolor/32x32/status/facebook-online.png +gajim/data/icons/hicolor/32x32/status/facebook-xa.png +gajim/data/icons/hicolor/32x32/status/gadu-away.png +gajim/data/icons/hicolor/32x32/status/gadu-chat.png +gajim/data/icons/hicolor/32x32/status/gadu-dnd.png +gajim/data/icons/hicolor/32x32/status/gadu-notinroster.png +gajim/data/icons/hicolor/32x32/status/gadu-offline.png +gajim/data/icons/hicolor/32x32/status/gadu-online.png +gajim/data/icons/hicolor/32x32/status/gadu-xa.png +gajim/data/icons/hicolor/32x32/status/gajim-event.png +gajim/data/icons/hicolor/32x32/status/gnome-away.png +gajim/data/icons/hicolor/32x32/status/gnome-chat.png +gajim/data/icons/hicolor/32x32/status/gnome-connecting.png +gajim/data/icons/hicolor/32x32/status/gnome-dnd.png +gajim/data/icons/hicolor/32x32/status/gnome-event.png +gajim/data/icons/hicolor/32x32/status/gnome-muc-active.png +gajim/data/icons/hicolor/32x32/status/gnome-muc-inactive.png +gajim/data/icons/hicolor/32x32/status/gnome-notinroster.png +gajim/data/icons/hicolor/32x32/status/gnome-offline.png +gajim/data/icons/hicolor/32x32/status/gnome-online.png +gajim/data/icons/hicolor/32x32/status/gnome-requested.png +gajim/data/icons/hicolor/32x32/status/gnome-xa.png +gajim/data/icons/hicolor/32x32/status/goojim-away.png +gajim/data/icons/hicolor/32x32/status/goojim-chat.png +gajim/data/icons/hicolor/32x32/status/goojim-closed.png +gajim/data/icons/hicolor/32x32/status/goojim-connecting.png +gajim/data/icons/hicolor/32x32/status/goojim-dnd.png +gajim/data/icons/hicolor/32x32/status/goojim-error.png +gajim/data/icons/hicolor/32x32/status/goojim-event.png +gajim/data/icons/hicolor/32x32/status/goojim-message.png +gajim/data/icons/hicolor/32x32/status/goojim-muc-active.png +gajim/data/icons/hicolor/32x32/status/goojim-muc-inactive.png +gajim/data/icons/hicolor/32x32/status/goojim-notinroster.png +gajim/data/icons/hicolor/32x32/status/goojim-offline.png +gajim/data/icons/hicolor/32x32/status/goojim-online.png +gajim/data/icons/hicolor/32x32/status/goojim-opened.png +gajim/data/icons/hicolor/32x32/status/goojim-requested.png +gajim/data/icons/hicolor/32x32/status/goojim-xa.png +gajim/data/icons/hicolor/32x32/status/gota-away.png +gajim/data/icons/hicolor/32x32/status/gota-chat.png +gajim/data/icons/hicolor/32x32/status/gota-closed.png +gajim/data/icons/hicolor/32x32/status/gota-connecting.png +gajim/data/icons/hicolor/32x32/status/gota-dnd.png +gajim/data/icons/hicolor/32x32/status/gota-error.png +gajim/data/icons/hicolor/32x32/status/gota-event.png +gajim/data/icons/hicolor/32x32/status/gota-muc-active.png +gajim/data/icons/hicolor/32x32/status/gota-muc-inactive.png +gajim/data/icons/hicolor/32x32/status/gota-notinroster.png +gajim/data/icons/hicolor/32x32/status/gota-offline.png +gajim/data/icons/hicolor/32x32/status/gota-online.png +gajim/data/icons/hicolor/32x32/status/gota-opened.png +gajim/data/icons/hicolor/32x32/status/gota-requested.png +gajim/data/icons/hicolor/32x32/status/gota-xa.png +gajim/data/icons/hicolor/32x32/status/icq-away.png +gajim/data/icons/hicolor/32x32/status/icq-chat.png +gajim/data/icons/hicolor/32x32/status/icq-dnd.png +gajim/data/icons/hicolor/32x32/status/icq-notinroster.png +gajim/data/icons/hicolor/32x32/status/icq-offline.png +gajim/data/icons/hicolor/32x32/status/icq-online.png +gajim/data/icons/hicolor/32x32/status/icq-xa.png +gajim/data/icons/hicolor/32x32/status/irc-away.png +gajim/data/icons/hicolor/32x32/status/irc-chat.png +gajim/data/icons/hicolor/32x32/status/irc-dnd.png +gajim/data/icons/hicolor/32x32/status/irc-muc-active.png +gajim/data/icons/hicolor/32x32/status/irc-muc-inactive.png +gajim/data/icons/hicolor/32x32/status/irc-notinroster.png +gajim/data/icons/hicolor/32x32/status/irc-offline.png +gajim/data/icons/hicolor/32x32/status/irc-online.png +gajim/data/icons/hicolor/32x32/status/irc-xa.png +gajim/data/icons/hicolor/32x32/status/jabberbulb-away.png +gajim/data/icons/hicolor/32x32/status/jabberbulb-chat.png +gajim/data/icons/hicolor/32x32/status/jabberbulb-dnd.png +gajim/data/icons/hicolor/32x32/status/jabberbulb-error.png +gajim/data/icons/hicolor/32x32/status/jabberbulb-event.png +gajim/data/icons/hicolor/32x32/status/jabberbulb-muc-active.png +gajim/data/icons/hicolor/32x32/status/jabberbulb-muc-inactive.png +gajim/data/icons/hicolor/32x32/status/jabberbulb-notinroster.png +gajim/data/icons/hicolor/32x32/status/jabberbulb-offline.png +gajim/data/icons/hicolor/32x32/status/jabberbulb-online.png +gajim/data/icons/hicolor/32x32/status/jabberbulb-requested.png +gajim/data/icons/hicolor/32x32/status/jabberbulb-xa.png +gajim/data/icons/hicolor/32x32/status/mrim-away.png +gajim/data/icons/hicolor/32x32/status/mrim-chat.png +gajim/data/icons/hicolor/32x32/status/mrim-dnd.png +gajim/data/icons/hicolor/32x32/status/mrim-notinroster.png +gajim/data/icons/hicolor/32x32/status/mrim-offline.png +gajim/data/icons/hicolor/32x32/status/mrim-online.png +gajim/data/icons/hicolor/32x32/status/mrim-xa.png +gajim/data/icons/hicolor/32x32/status/sms-away.png +gajim/data/icons/hicolor/32x32/status/sms-chat.png +gajim/data/icons/hicolor/32x32/status/sms-dnd.png +gajim/data/icons/hicolor/32x32/status/sms-offline.png +gajim/data/icons/hicolor/32x32/status/sms-online.png +gajim/data/icons/hicolor/32x32/status/sms-xa.png +gajim/data/icons/hicolor/32x32/status/sun-away.png +gajim/data/icons/hicolor/32x32/status/sun-chat.png +gajim/data/icons/hicolor/32x32/status/sun-connecting.png +gajim/data/icons/hicolor/32x32/status/sun-dnd.png +gajim/data/icons/hicolor/32x32/status/sun-error.png +gajim/data/icons/hicolor/32x32/status/sun-event.png +gajim/data/icons/hicolor/32x32/status/sun-muc-active.png +gajim/data/icons/hicolor/32x32/status/sun-muc-inactive.png +gajim/data/icons/hicolor/32x32/status/sun-notinroster.png +gajim/data/icons/hicolor/32x32/status/sun-offline.png +gajim/data/icons/hicolor/32x32/status/sun-online.png +gajim/data/icons/hicolor/32x32/status/sun-requested.png +gajim/data/icons/hicolor/32x32/status/sun-xa.png +gajim/data/icons/hicolor/32x32/status/weather-away.png +gajim/data/icons/hicolor/32x32/status/weather-chat.png +gajim/data/icons/hicolor/32x32/status/weather-dnd.png +gajim/data/icons/hicolor/32x32/status/weather-offline.png +gajim/data/icons/hicolor/32x32/status/weather-online.png +gajim/data/icons/hicolor/32x32/status/weather-xa.png +gajim/data/icons/hicolor/32x32/status/wroop-away.png +gajim/data/icons/hicolor/32x32/status/wroop-chat.png +gajim/data/icons/hicolor/32x32/status/wroop-connecting.png +gajim/data/icons/hicolor/32x32/status/wroop-dnd.png +gajim/data/icons/hicolor/32x32/status/wroop-error.png +gajim/data/icons/hicolor/32x32/status/wroop-event.png +gajim/data/icons/hicolor/32x32/status/wroop-muc-active.png +gajim/data/icons/hicolor/32x32/status/wroop-muc-inactive.png +gajim/data/icons/hicolor/32x32/status/wroop-notinroster.png +gajim/data/icons/hicolor/32x32/status/wroop-offline.png +gajim/data/icons/hicolor/32x32/status/wroop-online.png +gajim/data/icons/hicolor/32x32/status/wroop-requested.png +gajim/data/icons/hicolor/32x32/status/wroop-xa.png +gajim/data/icons/hicolor/48x48/status/dcraven-offline.png +gajim/data/icons/hicolor/48x48/status/dcraven-online.png +gajim/data/icons/hicolor/48x48/status/facebook-offline.png +gajim/data/icons/hicolor/48x48/status/facebook-online.png +gajim/data/icons/hicolor/48x48/status/gadu-offline.png +gajim/data/icons/hicolor/48x48/status/gadu-online.png +gajim/data/icons/hicolor/48x48/status/gajim-chat_msg_recv.png +gajim/data/icons/hicolor/48x48/status/gajim-connection_lost.png +gajim/data/icons/hicolor/48x48/status/gajim-gc_invitation.png +gajim/data/icons/hicolor/48x48/status/gajim-new_email_recv.png +gajim/data/icons/hicolor/48x48/status/gajim-priv_msg_recv.png +gajim/data/icons/hicolor/48x48/status/gajim-subscription_request.png +gajim/data/icons/hicolor/48x48/status/gajim-unsubscribed.png +gajim/data/icons/hicolor/48x48/status/gnome-offline.png +gajim/data/icons/hicolor/48x48/status/gnome-online.png +gajim/data/icons/hicolor/48x48/status/goojim-offline.png +gajim/data/icons/hicolor/48x48/status/goojim-online.png +gajim/data/icons/hicolor/48x48/status/gota-offline.png +gajim/data/icons/hicolor/48x48/status/gota-online.png +gajim/data/icons/hicolor/48x48/status/icq-offline.png +gajim/data/icons/hicolor/48x48/status/icq-online.png +gajim/data/icons/hicolor/48x48/status/jabberbulb-offline.png +gajim/data/icons/hicolor/48x48/status/jabberbulb-online.png +gajim/data/icons/hicolor/48x48/status/mrim-offline.png +gajim/data/icons/hicolor/48x48/status/mrim-online.png +gajim/data/icons/hicolor/48x48/status/sun-offline.png +gajim/data/icons/hicolor/48x48/status/sun-online.png +gajim/data/icons/hicolor/48x48/status/wroop-away.png +gajim/data/icons/hicolor/48x48/status/wroop-chat.png +gajim/data/icons/hicolor/48x48/status/wroop-dnd.png +gajim/data/icons/hicolor/48x48/status/wroop-error.png +gajim/data/icons/hicolor/48x48/status/wroop-muc-active.png +gajim/data/icons/hicolor/48x48/status/wroop-muc-inactive.png +gajim/data/icons/hicolor/48x48/status/wroop-notinroster.png +gajim/data/icons/hicolor/48x48/status/wroop-offline.png +gajim/data/icons/hicolor/48x48/status/wroop-online.png +gajim/data/icons/hicolor/48x48/status/wroop-requested.png +gajim/data/icons/hicolor/48x48/status/wroop-xa.png +gajim/data/icons/hicolor/96x96/categories/map.png +gajim/data/icons/hicolor/scalable/apps/org.gajim.Gajim-symbolic.svg +gajim/data/icons/hicolor/scalable/apps/org.gajim.Gajim.Devel.svg +gajim/data/icons/hicolor/scalable/apps/org.gajim.Gajim.Source.svg +gajim/data/icons/hicolor/scalable/apps/org.gajim.Gajim.svg +gajim/data/icons/hicolor/scalable/categories/map.svg +gajim/data/icons/hicolor/scalable/devices/feather-briefcase-symbolic.svg +gajim/data/icons/hicolor/scalable/devices/feather-camera-off-symbolic.svg +gajim/data/icons/hicolor/scalable/devices/feather-camera-symbolic.svg +gajim/data/icons/hicolor/scalable/devices/feather-check-double-symbolic.svg +gajim/data/icons/hicolor/scalable/devices/feather-check-symbolic.svg +gajim/data/icons/hicolor/scalable/devices/feather-clock-symbolic.svg +gajim/data/icons/hicolor/scalable/devices/feather-eye-off-symbolic.svg +gajim/data/icons/hicolor/scalable/devices/feather-eye-symbolic.svg +gajim/data/icons/hicolor/scalable/devices/feather-globe-symbolic.svg +gajim/data/icons/hicolor/scalable/devices/feather-hard-drive-symbolic.svg +gajim/data/icons/hicolor/scalable/devices/feather-hash-symbolic.svg +gajim/data/icons/hicolor/scalable/devices/feather-home-symbolic.svg +gajim/data/icons/hicolor/scalable/devices/feather-lock-symbolic.svg +gajim/data/icons/hicolor/scalable/devices/feather-mic-off-symbolic.svg +gajim/data/icons/hicolor/scalable/devices/feather-mic-symbolic.svg +gajim/data/icons/hicolor/scalable/devices/feather-server-symbolic.svg +gajim/data/icons/hicolor/scalable/devices/feather-shield-off-symbolic.svg +gajim/data/icons/hicolor/scalable/devices/feather-shield-symbolic.svg +gajim/data/icons/hicolor/scalable/devices/feather-unlock-symbolic.svg +gajim/data/icons/hicolor/scalable/devices/feather-user-check-symbolic.svg +gajim/data/icons/hicolor/scalable/status/bruno-away.svg +gajim/data/icons/hicolor/scalable/status/bruno-chat.svg +gajim/data/icons/hicolor/scalable/status/bruno-closed.svg +gajim/data/icons/hicolor/scalable/status/bruno-connecting.svg +gajim/data/icons/hicolor/scalable/status/bruno-dnd.svg +gajim/data/icons/hicolor/scalable/status/bruno-error.svg +gajim/data/icons/hicolor/scalable/status/bruno-event.svg +gajim/data/icons/hicolor/scalable/status/bruno-message.svg +gajim/data/icons/hicolor/scalable/status/bruno-muc-active.svg +gajim/data/icons/hicolor/scalable/status/bruno-muc-inactive.svg +gajim/data/icons/hicolor/scalable/status/bruno-notinroster.svg +gajim/data/icons/hicolor/scalable/status/bruno-offline.svg +gajim/data/icons/hicolor/scalable/status/bruno-online.svg +gajim/data/icons/hicolor/scalable/status/bruno-opened.svg +gajim/data/icons/hicolor/scalable/status/bruno-requested.svg +gajim/data/icons/hicolor/scalable/status/bruno-xa.svg +gajim/data/icons/hicolor/scalable/status/dcraven-away.svg +gajim/data/icons/hicolor/scalable/status/dcraven-chat.svg +gajim/data/icons/hicolor/scalable/status/dcraven-closed.svg +gajim/data/icons/hicolor/scalable/status/dcraven-connecting.svg +gajim/data/icons/hicolor/scalable/status/dcraven-dnd.svg +gajim/data/icons/hicolor/scalable/status/dcraven-error.svg +gajim/data/icons/hicolor/scalable/status/dcraven-message.svg +gajim/data/icons/hicolor/scalable/status/dcraven-muc-active.svg +gajim/data/icons/hicolor/scalable/status/dcraven-muc-inactive.svg +gajim/data/icons/hicolor/scalable/status/dcraven-notinroster.svg +gajim/data/icons/hicolor/scalable/status/dcraven-offline.svg +gajim/data/icons/hicolor/scalable/status/dcraven-online.svg +gajim/data/icons/hicolor/scalable/status/dcraven-opened.svg +gajim/data/icons/hicolor/scalable/status/dcraven-requested.svg +gajim/data/icons/hicolor/scalable/status/dcraven-xa.svg +gajim/data/icons/hicolor/scalable/status/gajim-agent-bytestreams.svg +gajim/data/icons/hicolor/scalable/status/gajim-agent-conference.svg +gajim/data/icons/hicolor/scalable/status/gajim-agent-disc.svg +gajim/data/icons/hicolor/scalable/status/gajim-agent-error.svg +gajim/data/icons/hicolor/scalable/status/gajim-agent-gadu-gadu.svg +gajim/data/icons/hicolor/scalable/status/gajim-agent-http-ws.svg +gajim/data/icons/hicolor/scalable/status/gajim-agent-icq.svg +gajim/data/icons/hicolor/scalable/status/gajim-agent-irc.svg +gajim/data/icons/hicolor/scalable/status/gajim-agent-jabber.svg +gajim/data/icons/hicolor/scalable/status/gajim-agent-jud.svg +gajim/data/icons/hicolor/scalable/status/gajim-agent-mail.svg +gajim/data/icons/hicolor/scalable/status/gajim-agent-pubsub.svg +gajim/data/icons/hicolor/scalable/status/gajim-agent-rss.svg +gajim/data/icons/hicolor/scalable/status/gajim-agent-sip.svg +gajim/data/icons/hicolor/scalable/status/gajim-agent-sms.svg +gajim/data/icons/hicolor/scalable/status/gajim-agent-tv.svg +gajim/data/icons/hicolor/scalable/status/gajim-agent-weather.svg +gajim/data/icons/hicolor/scalable/status/gajim-chat_msg_recv.svg +gajim/data/icons/hicolor/scalable/status/gajim-connection_lost.svg +gajim/data/icons/hicolor/scalable/status/gajim-gc_invitation.svg +gajim/data/icons/hicolor/scalable/status/gajim-mail.svg +gajim/data/icons/hicolor/scalable/status/gajim-new_email_recv.svg +gajim/data/icons/hicolor/scalable/status/gajim-priv_msg_recv.svg +gajim/data/icons/hicolor/scalable/status/gajim-subscribe.svg +gajim/data/icons/hicolor/scalable/status/gajim-unsubscribe.svg +gajim/data/icons/hicolor/scalable/status/sun-away.svg +gajim/data/icons/hicolor/scalable/status/sun-chat.svg +gajim/data/icons/hicolor/scalable/status/sun-dnd.svg +gajim/data/icons/hicolor/scalable/status/sun-error.svg +gajim/data/icons/hicolor/scalable/status/sun-not_in_roster.svg +gajim/data/icons/hicolor/scalable/status/sun-offline.svg +gajim/data/icons/hicolor/scalable/status/sun-online.svg +gajim/data/icons/hicolor/scalable/status/sun-requested.svg +gajim/data/icons/hicolor/scalable/status/sun-xa.svg +gajim/data/icons/hicolor/scalable/status/xmpp.svg +gajim/data/other/dh4096.pem +gajim/data/other/servers.json +gajim/data/plugins/plugin_installer/__init__.py +gajim/data/plugins/plugin_installer/config_dialog.py +gajim/data/plugins/plugin_installer/config_dialog.ui~ +gajim/data/plugins/plugin_installer/installer.ui +gajim/data/plugins/plugin_installer/manifest.ini +gajim/data/plugins/plugin_installer/plugin_installer.png +gajim/data/plugins/plugin_installer/plugin_installer.py +gajim/data/plugins/plugin_installer/remote.py +gajim/data/plugins/plugin_installer/utils.py +gajim/data/plugins/plugin_installer/widget.py +gajim/data/sounds/attention.wav +gajim/data/sounds/bounce.wav +gajim/data/sounds/connected.wav +gajim/data/sounds/disconnected.wav +gajim/data/sounds/gc_message1.wav +gajim/data/sounds/gc_message2.wav +gajim/data/sounds/message1.wav +gajim/data/sounds/message2.wav +gajim/data/sounds/sent.wav +gajim/data/style/default-dark.css +gajim/data/style/default.css +gajim/data/style/gajim-dark.css +gajim/data/style/gajim.css +gajim/gtk/__init__.py +gajim/gtk/about.py +gajim/gtk/account_wizard.py +gajim/gtk/accounts.py +gajim/gtk/add_contact.py +gajim/gtk/adhoc.py +gajim/gtk/advanced_config.py +gajim/gtk/assistant.py +gajim/gtk/avatar.py +gajim/gtk/avatar_selector.py +gajim/gtk/blocking.py +gajim/gtk/bookmarks.py +gajim/gtk/change_password.py +gajim/gtk/const.py +gajim/gtk/css_config.py +gajim/gtk/dataform.py +gajim/gtk/dialogs.py +gajim/gtk/discovery.py +gajim/gtk/emoji_chooser.py +gajim/gtk/emoji_data.py +gajim/gtk/exception.py +gajim/gtk/features.py +gajim/gtk/filechoosers.py +gajim/gtk/filetransfer.py +gajim/gtk/filetransfer_progress.py +gajim/gtk/groupchat_config.py +gajim/gtk/groupchat_creation.py +gajim/gtk/groupchat_info.py +gajim/gtk/groupchat_invitation.py +gajim/gtk/groupchat_invite.py +gajim/gtk/groupchat_join.py +gajim/gtk/groupchat_nick.py +gajim/gtk/groupchat_roster.py +gajim/gtk/groupchat_settings.py +gajim/gtk/gstreamer.py +gajim/gtk/history.py +gajim/gtk/history_sync.py +gajim/gtk/htmltextview.py +gajim/gtk/mam_preferences.py +gajim/gtk/manage_sounds.py +gajim/gtk/message_input.py +gajim/gtk/notification.py +gajim/gtk/pep_config.py +gajim/gtk/preferences.py +gajim/gtk/profile.py +gajim/gtk/proxies.py +gajim/gtk/remove_account.py +gajim/gtk/roster_item_exchange.py +gajim/gtk/search.py +gajim/gtk/server_info.py +gajim/gtk/service_registration.py +gajim/gtk/settings.py +gajim/gtk/sidebar_switcher.py +gajim/gtk/single_message.py +gajim/gtk/ssl_error_dialog.py +gajim/gtk/start_chat.py +gajim/gtk/status_change.py +gajim/gtk/status_selector.py +gajim/gtk/statusicon.py +gajim/gtk/subscription_request.py +gajim/gtk/themes.py +gajim/gtk/tooltips.py +gajim/gtk/types.py +gajim/gtk/util.py +gajim/gtk/vcard_grid.py +gajim/gtk/video_preview.py +gajim/gtk/xml_console.py +gajim/gui/__init__.py +gajim/plugins/__init__.py +gajim/plugins/gajimplugin.py +gajim/plugins/gui.py +gajim/plugins/helpers.py +gajim/plugins/pluginmanager.py +gajim/plugins/plugins_i18n.py +po/be.po +po/be@latin.po +po/bg.po +po/br.po +po/ca.po +po/cs.po +po/da.po +po/de.po +po/el.po +po/en_GB.po +po/eo.po +po/es.po +po/eu.po +po/fr.po +po/gl.po +po/he.po +po/hr.po +po/hu.po +po/it.po +po/ja.po +po/kk.po +po/lt.po +po/nb_NO.po +po/nl.po +po/pl.po +po/pt.po +po/pt_BR.po +po/ru.po +po/sk.po +po/sr.po +po/sr@Latn.po +po/sv.po +po/tr.po +po/uk.po +po/zh_CN.po +po/zh_TW.po +test/__init__.py +test/broken/test_pluginmanager.py +test/broken/integration/test_gui_event_integration.py +test/broken/integration/test_roster.py +test/broken/unit/test_jingle.py +test/broken/unit/test_sessions.py +test/broken/unit/test_socks5.py +test/gtk/assistant.py +test/gtk/certificate_dialog.py +test/gtk/change_password.py +test/gtk/dataform.py +test/gtk/fake_dataform.py +test/gtk/groupchat_info.py +test/gtk/htmltextview.py +test/gtk/ssl_error_dialog.py +test/gtk/util.py +test/lib/__init__.py +test/lib/data.py +test/lib/gajim_mocks.py +test/lib/mock.py +test/lib/notify.py +test/no_gui/__init__.py +test/no_gui/test_regex.py +test/no_gui/unit/__init__.py +test/no_gui/unit/test_nick_completion.py +test/unit/__init__.py +test/unit/test_gui_interface.py \ No newline at end of file diff --git a/gajim.egg-info/dependency_links.txt b/gajim.egg-info/dependency_links.txt new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/gajim.egg-info/dependency_links.txt @@ -0,0 +1 @@ + diff --git a/gajim.egg-info/entry_points.txt b/gajim.egg-info/entry_points.txt new file mode 100644 index 0000000..2053036 --- /dev/null +++ b/gajim.egg-info/entry_points.txt @@ -0,0 +1,7 @@ +[console_scripts] +gajim-remote = gajim.gajim_remote:main + +[gui_scripts] +gajim = gajim.gajim:main +gajim-history-manager = gajim.history_manager:main + diff --git a/gajim.egg-info/requires.txt b/gajim.egg-info/requires.txt new file mode 100644 index 0000000..6409c2b --- /dev/null +++ b/gajim.egg-info/requires.txt @@ -0,0 +1,10 @@ +css-parser +keyring +nbxmpp>=2.0.4 +packaging +precis-i18n>=1.0.0 +pyOpenSSL>=16.2 +pycairo>=1.16.0 + +[:python_version < "3.9"] +setuptools diff --git a/gajim.egg-info/top_level.txt b/gajim.egg-info/top_level.txt new file mode 100644 index 0000000..4e86c86 --- /dev/null +++ b/gajim.egg-info/top_level.txt @@ -0,0 +1 @@ +gajim diff --git a/gajim/__init__.py b/gajim/__init__.py new file mode 100644 index 0000000..a0110f8 --- /dev/null +++ b/gajim/__init__.py @@ -0,0 +1,19 @@ +import subprocess +import sys +from pathlib import Path + +__version__ = "1.3.3" + +IS_FLATPAK = Path('/app/share/run-as-flatpak').exists() + +portable_path = Path(sys.executable).parent / 'is_portable' +IS_PORTABLE = portable_path.exists() + +try: + p = subprocess.Popen('git rev-parse --short=12 HEAD', shell=True, + stdout=subprocess.PIPE, stderr=subprocess.DEVNULL) + node = p.communicate()[0] + if node: + __version__ += '+' + node.decode('utf-8').strip() +except Exception: + pass diff --git a/gajim/app_actions.py b/gajim/app_actions.py new file mode 100644 index 0000000..4c0abd8 --- /dev/null +++ b/gajim/app_actions.py @@ -0,0 +1,325 @@ +# Copyright (C) 2017 Philipp Hörist +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from gi.repository import Gtk +from gi.repository import Gdk + +from gajim.common import app +from gajim.common import helpers +from gajim.common.app import interface +from gajim.common.exceptions import GajimGeneralException +from gajim import dialogs + +from gajim.gui.dialogs import ShortcutsWindow +from gajim.gui.single_message import SingleMessageWindow +from gajim.gui.about import AboutDialog +from gajim.gui.history import HistoryWindow +from gajim.gui.discovery import ServiceDiscoveryWindow +from gajim.gui.util import open_window +from gajim.gui.util import get_app_window + +# General Actions + +def on_add_contact_jid(_action, param): + contact_jid = param.get_string() + open_window('AddNewContactWindow', account=None, contact_jid=contact_jid) + + +# Application Menu Actions + + +def on_preferences(_action, _param): + open_window('Preferences') + + +def on_plugins(_action, _param): + open_window('PluginsWindow') + + +def on_accounts(_action, param): + window = open_window('AccountsWindow') + account = param.get_string() + if account: + window.select_account(account) + + +def on_history_manager(_action, _param): + open_window('HistoryManager') + + +def on_bookmarks(_action, param): + account = param.get_string() + open_window('Bookmarks', account=account) + + +def on_quit(_action, _param): + interface.roster.on_quit_request() + + +def on_new_chat(_action, param): + window = open_window('StartChatDialog') + search_text = param.get_string() + if search_text: + window.set_search_text(search_text) + + +# Accounts Actions + + +def on_profile(_action, param): + account = param.get_string() + open_window('ProfileWindow', account=account) + + +def on_send_server_message(_action, param): + account = param.get_string() + server = app.settings.get_account_setting(account, 'hostname') + server += '/announce/online' + SingleMessageWindow(account, server, 'send') + + +def on_service_disco(_action, param): + account = param.get_string() + server_jid = app.settings.get_account_setting(account, 'hostname') + if server_jid in interface.instances[account]['disco']: + interface.instances[account]['disco'][server_jid].\ + window.present() + else: + try: + # Object will add itself to the window dict + ServiceDiscoveryWindow(account, address_entry=True) + except GajimGeneralException: + pass + +def on_create_gc(_action, param): + account = param.get_string() + open_window('CreateGroupchatWindow', account=account or None) + + +def on_add_contact(_action, param): + account, contact_jid = param.get_strv() + if not contact_jid: + contact_jid = None + open_window('AddNewContactWindow', account=account, contact_jid=contact_jid) + + +def on_single_message(_action, param): + account = param.get_string() + open_window('SingleMessageWindow', account=account, action='send') + + +def on_merge_accounts(action, param): + action.set_state(param) + value = param.get_boolean() + app.settings.set('mergeaccounts', value) + # Do not merge accounts if only one active + if len(app.connections) >= 2: + app.interface.roster.regroup = value + else: + app.interface.roster.regroup = False + app.interface.roster.setup_and_draw_roster() + + +def on_add_account(action, _param): + open_window('AccountWizard') + + +def on_import_contacts(_action, param): + account = param.get_string() + if 'import_contacts' in app.interface.instances: + app.interface.instances['import_contacts'].dialog.present() + else: + app.interface.instances['import_contacts'] = \ + dialogs.SynchroniseSelectAccountDialog(account) + + +# Advanced Actions + +def on_pep_config(_action, param): + account = param.get_string() + open_window('PEPConfig', account=account) + + +def on_mam_preferences(_action, param): + account = param.get_string() + open_window('MamPreferences', account=account) + + +def on_blocking_list(_action, param): + account = param.get_string() + open_window('BlockingList', account=account) + + +def on_history_sync(_action, param): + account = param.get_string() + open_window('HistorySyncAssistant', + account=account, + parent=interface.roster.window) + + +def on_server_info(_action, param): + account = param.get_string() + open_window('ServerInfo', account=account) + + +def on_xml_console(_action, _param): + open_window('XMLConsoleWindow') + + +def on_manage_proxies(_action, _param): + open_window('ManageProxies') + + +# Admin Actions + + +def on_set_motd(_action, param): + account = param.get_string() + server = app.settings.get_account_setting(account, 'hostname') + server += '/announce/motd' + SingleMessageWindow(account, server, 'send') + + +def on_update_motd(_action, param): + account = param.get_string() + server = app.settings.get_account_setting(account, 'hostname') + server += '/announce/motd/update' + SingleMessageWindow(account, server, 'send') + + +def on_delete_motd(_action, param): + account = param.get_string() + app.connections[account].get_module('Announce').delete_motd() + +# Help Actions + + +def on_contents(_action, _param): + helpers.open_uri('https://dev.gajim.org/gajim/gajim/wikis') + + +def on_faq(_action, _param): + helpers.open_uri('https://dev.gajim.org/gajim/gajim/wikis/help/gajimfaq') + + +def on_keyboard_shortcuts(_action, _param): + ShortcutsWindow() + + +def on_features(_action, _param): + open_window('Features') + + +def on_about(_action, _param): + AboutDialog() + +# View Actions + + +def on_file_transfers(_action, _param): + if interface.instances['file_transfers']. \ + window.get_property('visible'): + interface.instances['file_transfers'].window.present() + else: + interface.instances['file_transfers'].window.show_all() + + +def on_history(action, param): + on_browse_history(action, param) + + +def on_open_event(_action, param): + dict_ = param.unpack() + app.interface.handle_event( + dict_['account'], dict_['jid'], dict_['type_']) + + +def on_remove_event(_action, param): + dict_ = param.unpack() + account, jid, type_ = dict_['account'], dict_['jid'], dict_['type_'] + event = app.events.get_first_event(account, jid, type_) + app.events.remove_events(account, jid, event) + win = app.interface.msg_win_mgr.get_window(jid, account) + if win: + win.redraw_tab(win.get_control(jid, account)) + win.show_title() + +# Other Actions + +def toggle_ipython(_action, _param): + """ + Show/hide the ipython window + """ + win = app.ipython_window + if win and win.window.is_visible(): + win.present() + else: + app.interface.create_ipython_window() + + +def show_next_pending_event(_action, _param): + """ + Show the window(s) with next pending event in tabbed/group chats + """ + if app.events.get_nb_events(): + account, jid, event = app.events.get_first_systray_event() + if not event: + return + app.interface.handle_event(account, jid, event.type_) + + +def open_mail(_action, param): + uri = param.get_string() + if not uri.startswith('mailto:'): + uri = 'mailto:%s' % uri + helpers.open_uri(uri) + + +def open_link(_action, param): + account, uri = param.get_strv() + helpers.open_uri(uri, account=account) + + +def copy_text(_action, param): + text = param.get_string() + clip = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) + clip.set_text(text, -1) + + +def start_chat(_action, param): + account, jid = param.get_strv() + app.interface.new_chat_from_jid(account, jid) + + +def on_browse_history(_action, param): + jid, account = None, None + if param is not None: + dict_ = param.unpack() + jid = dict_.get('jid') + account = dict_.get('account') + + window = get_app_window(HistoryWindow) + if window is None: + HistoryWindow(jid, account) + else: + window.present() + if jid is not None and account is not None: + window.open_history(jid, account) + + +def on_groupchat_join(_action, param): + account, jid = param.get_strv() + open_window('GroupchatJoin', account=account, jid=jid) diff --git a/gajim/application.py b/gajim/application.py new file mode 100644 index 0000000..4eb6b1b --- /dev/null +++ b/gajim/application.py @@ -0,0 +1,562 @@ +# Copyright (C) 2003-2017 Yann Leboulanger +# Copyright (C) 2004-2005 Vincent Hanquez +# Copyright (C) 2005 Alex Podaras +# Norman Rasmussen +# Stéphan Kochen +# Copyright (C) 2005-2006 Dimitur Kirov +# Alex Mauer +# Copyright (C) 2005-2007 Travis Shirk +# Nikos Kouremenos +# Copyright (C) 2006 Junglecow J +# Stefan Bethge +# Copyright (C) 2006-2008 Jean-Marie Traissard +# Copyright (C) 2007 Lukas Petrovicky +# James Newton +# Copyright (C) 2007-2008 Brendan Taylor +# Julien Pivotto +# Stephan Erb +# Copyright (C) 2008 Jonathan Schleifer +# Copyright (C) 2016-2017 Emmanuel Gil Peyrot +# Philipp Hörist +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import os +import sys +from urllib.parse import unquote + +from nbxmpp.namespaces import Namespace +from nbxmpp import JID +from nbxmpp.protocol import InvalidJid +from gi.repository import Gio +from gi.repository import GLib +from gi.repository import Gtk + +import gajim +from gajim.common import app +from gajim.common import ged +from gajim.common import configpaths +from gajim.common import logging_helpers +from gajim.common import exceptions +from gajim.common.i18n import _ +from gajim.common.contacts import LegacyContactsAPI +from gajim.common.task_manager import TaskManager +from gajim.common.storage.cache import CacheStorage +from gajim.common.storage.archive import MessageArchiveStorage +from gajim.common.settings import Settings +from gajim.common.settings import LegacyConfig + + +class GajimApplication(Gtk.Application): + '''Main class handling activation and command line.''' + + def __init__(self): + flags = (Gio.ApplicationFlags.HANDLES_COMMAND_LINE | + Gio.ApplicationFlags.CAN_OVERRIDE_APP_ID) + Gtk.Application.__init__(self, + application_id='org.gajim.Gajim', + flags=flags) + + # required to track screensaver state + self.props.register_session = True + + self.add_main_option( + 'version', + ord('V'), + GLib.OptionFlags.NONE, + GLib.OptionArg.NONE, + _('Show the application\'s version')) + + self.add_main_option( + 'quiet', + ord('q'), + GLib.OptionFlags.NONE, + GLib.OptionArg.NONE, + _('Show only critical errors')) + + self.add_main_option( + 'separate', + ord('s'), + GLib.OptionFlags.NONE, + GLib.OptionArg.NONE, + _('Separate profile files completely ' + '(even history database and plugins)')) + + self.add_main_option( + 'verbose', + ord('v'), + GLib.OptionFlags.NONE, + GLib.OptionArg.NONE, + _('Print XML stanzas and other debug information')) + + self.add_main_option( + 'profile', + ord('p'), + GLib.OptionFlags.NONE, + GLib.OptionArg.STRING, + _('Use defined profile in configuration directory'), + 'NAME') + + self.add_main_option( + 'config-path', + ord('c'), + GLib.OptionFlags.NONE, + GLib.OptionArg.STRING, + _('Set configuration directory'), + 'PATH') + + self.add_main_option( + 'loglevel', + ord('l'), + GLib.OptionFlags.NONE, + GLib.OptionArg.STRING, + _('Configure logging system'), + 'LEVEL') + + self.add_main_option( + 'warnings', + ord('w'), + GLib.OptionFlags.NONE, + GLib.OptionArg.NONE, + _('Show all warnings')) + + self.add_main_option( + 'ipython', + ord('i'), + GLib.OptionFlags.NONE, + GLib.OptionArg.NONE, + _('Open IPython shell')) + + self.add_main_option( + 'gdebug', + 0, + GLib.OptionFlags.NONE, + GLib.OptionArg.NONE, + _('Sets an environment variable so ' + 'GLib debug messages are printed')) + + self.add_main_option( + 'show-next-pending-event', + 0, + GLib.OptionFlags.NONE, + GLib.OptionArg.NONE, + _('Pops up a window with the next pending event')) + + self.add_main_option( + 'start-chat', 0, + GLib.OptionFlags.NONE, + GLib.OptionArg.NONE, + _('Start a new chat')) + + self.add_main_option_entries(self._get_remaining_entry()) + + self.connect('handle-local-options', self._handle_local_options) + self.connect('command-line', self._command_line) + self.connect('startup', self._startup) + + self.interface = None + + GLib.set_prgname('org.gajim.Gajim') + if GLib.get_application_name() != 'Gajim': + GLib.set_application_name('Gajim') + + @staticmethod + def _get_remaining_entry(): + option = GLib.OptionEntry() + option.arg = GLib.OptionArg.STRING_ARRAY + option.arg_data = None + option.arg_description = ('[URI …]') + option.flags = GLib.OptionFlags.NONE + option.long_name = GLib.OPTION_REMAINING + option.short_name = 0 + return [option] + + def _startup(self, _application): + # Create and initialize Application Paths & Databases + app.print_version() + app.detect_dependencies() + configpaths.create_paths() + + app.settings = Settings() + app.settings.init() + + app.config = LegacyConfig() # type: ignore + + app.storage.cache = CacheStorage() + app.storage.cache.init() + + app.storage.archive = MessageArchiveStorage() + app.storage.archive.init() + + try: + app.contacts = LegacyContactsAPI() + except exceptions.DatabaseMalformed as error: + dlg = Gtk.MessageDialog( + transient_for=None, + destroy_with_parent=True, + modal=True, + message_type=Gtk.MessageType.ERROR, + buttons=Gtk.ButtonsType.OK, + text=_('Database Error')) + dlg.format_secondary_text(str(error)) + dlg.run() + dlg.destroy() + sys.exit() + + from gajim.gui.util import load_user_iconsets + load_user_iconsets() + + from gajim.common.cert_store import CertificateStore + app.cert_store = CertificateStore() + app.task_manager = TaskManager() + + # Set Application Menu + app.app = self + from gajim.gui.util import get_builder + builder = get_builder('application_menu.ui') + menubar = builder.get_object("menubar") + self.set_menubar(menubar) + + from gajim.gui_interface import Interface + self.interface = Interface() + self.interface.run(self) + self.add_actions() + self._set_shortcuts() + from gajim import gui_menu_builder + gui_menu_builder.build_accounts_menu() + self.update_app_actions_state() + + app.ged.register_event_handler('feature-discovered', + ged.CORE, + self._on_feature_discovered) + + def _open_uris(self, uris): + accounts = list(app.connections.keys()) + if not accounts: + return + + for uri in uris: + app.log('uri_handler').info('open %s', uri) + if not uri.startswith('xmpp:'): + continue + # remove xmpp: + uri = uri[5:] + try: + jid, cmd = uri.split('?') + except ValueError: + # No query argument + jid, cmd = uri, 'message' + + try: + jid = JID.from_string(jid) + except InvalidJid as error: + app.log('uri_handler').warning('Invalid JID %s: %s', uri, error) + continue + + if cmd == 'join' and jid.resource: + app.log('uri_handler').warning('Invalid MUC JID %s', uri) + continue + + jid = str(jid) + + if cmd == 'join': + if len(accounts) == 1: + self.activate_action( + 'groupchat-join', + GLib.Variant('as', [accounts[0], jid])) + else: + self.activate_action('start-chat', GLib.Variant('s', jid)) + + elif cmd == 'roster': + self.activate_action('add-contact', GLib.Variant('s', jid)) + + elif cmd.startswith('message'): + attributes = cmd.split(';') + message = None + for key in attributes: + if not key.startswith('body'): + continue + try: + message = unquote(key.split('=')[1]) + except Exception: + app.log('uri_handler').error('Invalid URI: %s', cmd) + + if len(accounts) == 1: + app.interface.new_chat_from_jid(accounts[0], jid, message) + else: + self.activate_action('start-chat', GLib.Variant('s', jid)) + + def do_shutdown(self, *args): + Gtk.Application.do_shutdown(self) + # Shutdown GUI and save config + if hasattr(self.interface, 'roster') and self.interface.roster: + self.interface.roster.prepare_quit() + + # Commit any outstanding SQL transactions + app.storage.cache.shutdown() + app.storage.archive.shutdown() + + def _command_line(self, _application, command_line): + options = command_line.get_options_dict() + + remote_commands = [ + ('ipython', None), + ('show-next-pending-event', None), + ('start-chat', GLib.Variant('s', '')), + ] + + remaining = options.lookup_value(GLib.OPTION_REMAINING, + GLib.VariantType.new('as')) + + for cmd, parameter in remote_commands: + if options.contains(cmd): + self.activate_action(cmd, parameter) + return 0 + + if remaining is not None: + self._open_uris(remaining.unpack()) + return 0 + + return 0 + + def _handle_local_options(self, + _application: Gtk.Application, + options: GLib.VariantDict) -> int: + # Parse all options that have to be executed before ::startup + if options.contains('version'): + print(gajim.__version__) + return 0 + if options.contains('profile'): + # Incorporate profile name into application id + # to have a single app instance for each profile. + profile = options.lookup_value('profile').get_string() + app_id = '%s.%s' % (self.get_application_id(), profile) + self.set_application_id(app_id) + configpaths.set_profile(profile) + if options.contains('separate'): + configpaths.set_separation(True) + if options.contains('config-path'): + path = options.lookup_value('config-path').get_string() + configpaths.set_config_root(path) + + configpaths.init() + + if options.contains('gdebug'): + os.environ['G_MESSAGES_DEBUG'] = 'all' + + logging_helpers.init() + + if options.contains('quiet'): + logging_helpers.set_quiet() + if options.contains('verbose'): + logging_helpers.set_verbose() + if options.contains('loglevel'): + loglevel = options.lookup_value('loglevel').get_string() + logging_helpers.set_loglevels(loglevel) + if options.contains('warnings'): + self.show_warnings() + + return -1 + + @staticmethod + def show_warnings(): + import traceback + import warnings + + def warn_with_traceback(message, category, filename, lineno, + _file=None, line=None): + traceback.print_stack(file=sys.stderr) + sys.stderr.write(warnings.formatwarning(message, category, + filename, lineno, line)) + + warnings.showwarning = warn_with_traceback + warnings.filterwarnings(action="always") + + def add_actions(self): + ''' Build Application Actions ''' + from gajim import app_actions + + # General Stateful Actions + + act = Gio.SimpleAction.new_stateful( + 'merge', None, + GLib.Variant.new_boolean(app.settings.get('mergeaccounts'))) + act.connect('change-state', app_actions.on_merge_accounts) + self.add_action(act) + + actions = [ + ('quit', app_actions.on_quit), + ('add-account', app_actions.on_add_account), + ('manage-proxies', app_actions.on_manage_proxies), + ('history-manager', app_actions.on_history_manager), + ('preferences', app_actions.on_preferences), + ('plugins', app_actions.on_plugins), + ('xml-console', app_actions.on_xml_console), + ('file-transfer', app_actions.on_file_transfers), + ('history', app_actions.on_history), + ('shortcuts', app_actions.on_keyboard_shortcuts), + ('features', app_actions.on_features), + ('content', app_actions.on_contents), + ('about', app_actions.on_about), + ('faq', app_actions.on_faq), + ('ipython', app_actions.toggle_ipython), + ('show-next-pending-event', app_actions.show_next_pending_event), + ('start-chat', 's', app_actions.on_new_chat), + ('accounts', 's', app_actions.on_accounts), + ('add-contact', 's', app_actions.on_add_contact_jid), + ('copy-text', 's', app_actions.copy_text), + ('open-link', 'as', app_actions.open_link), + ('open-mail', 's', app_actions.open_mail), + ('create-groupchat', 's', app_actions.on_create_gc), + ('browse-history', 'a{sv}', app_actions.on_browse_history), + ('groupchat-join', 'as', app_actions.on_groupchat_join), + ] + + for action in actions: + if len(action) == 2: + action_name, func = action + variant = None + else: + action_name, variant, func = action + variant = GLib.VariantType.new(variant) + + act = Gio.SimpleAction.new(action_name, variant) + act.connect('activate', func) + self.add_action(act) + + accounts_list = sorted(app.settings.get_accounts()) + if not accounts_list: + return + if len(accounts_list) > 1: + for acc in accounts_list: + self.add_account_actions(acc) + else: + self.add_account_actions(accounts_list[0]) + + @staticmethod + def _get_account_actions(account): + from gajim import app_actions as a + + if account == 'Local': + return [] + + return [ + ('-bookmarks', a.on_bookmarks, 'online', 's'), + ('-start-single-chat', a.on_single_message, 'online', 's'), + ('-start-chat', a.start_chat, 'online', 'as'), + ('-add-contact', a.on_add_contact, 'online', 'as'), + ('-services', a.on_service_disco, 'online', 's'), + ('-profile', a.on_profile, 'online', 's'), + ('-server-info', a.on_server_info, 'online', 's'), + ('-archive', a.on_mam_preferences, 'feature', 's'), + ('-pep-config', a.on_pep_config, 'online', 's'), + ('-sync-history', a.on_history_sync, 'online', 's'), + ('-blocking', a.on_blocking_list, 'feature', 's'), + ('-send-server-message', a.on_send_server_message, 'online', 's'), + ('-set-motd', a.on_set_motd, 'online', 's'), + ('-update-motd', a.on_update_motd, 'online', 's'), + ('-delete-motd', a.on_delete_motd, 'online', 's'), + ('-open-event', a.on_open_event, 'always', 'a{sv}'), + ('-remove-event', a.on_remove_event, 'always', 'a{sv}'), + ('-import-contacts', a.on_import_contacts, 'online', 's'), + ] + + def add_account_actions(self, account): + for action in self._get_account_actions(account): + action_name, func, state, type_ = action + action_name = account + action_name + if self.lookup_action(action_name): + # We already added this action + continue + act = Gio.SimpleAction.new( + action_name, GLib.VariantType.new(type_)) + act.connect("activate", func) + if state != 'always': + act.set_enabled(False) + self.add_action(act) + + def remove_account_actions(self, account): + for action in self._get_account_actions(account): + action_name = account + action[0] + self.remove_action(action_name) + + def set_account_actions_state(self, account, new_state=False): + for action in self._get_account_actions(account): + action_name, _, state, _ = action + if not new_state and state in ('online', 'feature'): + # We go offline + self.lookup_action(account + action_name).set_enabled(False) + elif new_state and state == 'online': + # We go online + self.lookup_action(account + action_name).set_enabled(True) + + def update_app_actions_state(self): + active_accounts = bool(app.get_connected_accounts(exclude_local=True)) + self.lookup_action('create-groupchat').set_enabled(active_accounts) + + enabled_accounts = app.contacts.get_accounts() + self.lookup_action('start-chat').set_enabled(enabled_accounts) + + def _set_shortcuts(self): + shortcuts = { + 'app.quit': ['Q'], + 'app.shortcuts': ['question'], + 'app.preferences': ['P'], + 'app.plugins': ['E'], + 'app.xml-console': ['X'], + 'app.file-transfer': ['T'], + 'app.ipython': ['I'], + 'app.start-chat::': ['N'], + 'app.create-groupchat::': ['G'], + 'win.show-roster': ['R'], + 'win.show-offline': ['O'], + 'win.show-active': ['Y'], + 'win.change-nickname': ['N'], + 'win.change-subject': ['S'], + 'win.escape': ['Escape'], + 'win.browse-history': ['H'], + 'win.send-file': ['F'], + 'win.show-contact-info': ['I'], + 'win.show-emoji-chooser': ['M'], + 'win.clear-chat': ['L'], + 'win.delete-line': ['U'], + 'win.close-tab': ['W'], + 'win.move-tab-up': ['Page_Up'], + 'win.move-tab-down': ['Page_Down'], + 'win.switch-next-tab': ['Page_Down'], + 'win.switch-prev-tab': ['Page_Up'], + 'win.switch-next-unread-tab-right': ['Tab'], + 'win.switch-next-unread-tab-left': ['ISO_Left_Tab'], + 'win.switch-tab-1': ['1', 'KP_1'], + 'win.switch-tab-2': ['2', 'KP_2'], + 'win.switch-tab-3': ['3', 'KP_3'], + 'win.switch-tab-4': ['4', 'KP_4'], + 'win.switch-tab-5': ['5', 'KP_5'], + 'win.switch-tab-6': ['6', 'KP_6'], + 'win.switch-tab-7': ['7', 'KP_7'], + 'win.switch-tab-8': ['8', 'KP_8'], + 'win.switch-tab-9': ['9', 'KP_9'], + } + + for action, accels in shortcuts.items(): + self.set_accels_for_action(action, accels) + + def _on_feature_discovered(self, event): + if event.feature == Namespace.MAM_2: + action = '%s-archive' % event.account + self.lookup_action(action).set_enabled(True) + elif event.feature == Namespace.BLOCKING: + action = '%s-blocking' % event.account + self.lookup_action(action).set_enabled(True) diff --git a/gajim/chat_control.py b/gajim/chat_control.py new file mode 100644 index 0000000..57df635 --- /dev/null +++ b/gajim/chat_control.py @@ -0,0 +1,1746 @@ +# Copyright (C) 2006 Dimitur Kirov +# Copyright (C) 2006-2014 Yann Leboulanger +# Copyright (C) 2006-2008 Jean-Marie Traissard +# Nikos Kouremenos +# Travis Shirk +# Copyright (C) 2007 Lukas Petrovicky +# Julien Pivotto +# Copyright (C) 2007-2008 Brendan Taylor +# Stephan Erb +# Copyright (C) 2008 Jonathan Schleifer +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from typing import ClassVar # pylint: disable=unused-import +from typing import Type # pylint: disable=unused-import +from typing import Optional # pylint: disable=unused-import + +import os +import time +import logging + +from gi.repository import Gtk +from gi.repository import Gio +from gi.repository import Pango +from gi.repository import GLib +from gi.repository import Gdk + +from nbxmpp.namespaces import Namespace + +from gajim.common import app +from gajim.common import helpers +from gajim.common import ged +from gajim.common import i18n +from gajim.common.i18n import _ +from gajim.common.helpers import AdditionalDataDict +from gajim.common.helpers import open_uri +from gajim.common.helpers import geo_provider_from_location +from gajim.common.helpers import event_filter +from gajim.common.helpers import open_file +from gajim.common.contacts import GC_Contact +from gajim.common.const import AvatarSize +from gajim.common.const import KindConstant +from gajim.common.const import Chatstate +from gajim.common.const import PEPEventType +from gajim.common.const import JingleState + +from gajim import gtkgui_helpers +from gajim import gui_menu_builder +from gajim import dialogs + +from gajim.gui.gstreamer import create_gtk_widget +from gajim.gui.dialogs import DialogButton +from gajim.gui.dialogs import ConfirmationDialog +from gajim.gui.add_contact import AddNewContactWindow +from gajim.gui.util import get_cursor +from gajim.gui.util import format_mood +from gajim.gui.util import format_activity +from gajim.gui.util import format_tune +from gajim.gui.util import format_location +from gajim.gui.util import get_activity_icon_name +from gajim.gui.util import make_href_markup +from gajim.gui.const import ControlType + +from gajim.command_system.implementation.hosts import ChatCommands +from gajim.command_system.framework import CommandHost # pylint: disable=unused-import +from gajim.chat_control_base import ChatControlBase + +log = logging.getLogger('gajim.chat_control') + + +class JingleObject: + __slots__ = ('sid', 'state', 'available', 'update') + + def __init__(self, state, update): + self.sid = None + self.state = state + self.available = False + self.update = update + + +################################################################################ +class ChatControl(ChatControlBase): + """ + A control for standard 1-1 chat + """ + _type = ControlType.CHAT + old_msg_kind = None # last kind of the printed message + + # Set a command host to bound to. Every command given through a chat will be + # processed with this command host. + COMMAND_HOST = ChatCommands # type: ClassVar[Type[CommandHost]] + + def __init__(self, parent_win, contact, acct, session, resource=None): + ChatControlBase.__init__(self, + parent_win, + 'chat_control', + contact, + acct, + resource) + + self.last_recv_message_id = None + self.last_recv_message_marks = None + self.last_message_timestamp = None + + self.toggle_emoticons() + + if not app.settings.get('hide_chat_banner'): + self.xml.banner_eventbox.set_no_show_all(False) + + self.xml.sendfile_button.set_action_name( + 'win.send-file-%s' % self.control_id) + + # Menu for the HeaderBar + self.control_menu = gui_menu_builder.get_singlechat_menu( + self.control_id, self.account, self.contact.jid, self._type) + + # Settings menu + self.xml.settings_menu.set_menu_model(self.control_menu) + + self.jingle = { + 'audio': JingleObject( + JingleState.NULL, + self.update_audio), + 'video': JingleObject( + JingleState.NULL, + self.update_video), + } + self._video_widget_other = None + self._video_widget_self = None + + self.update_toolbar() + self.update_all_pep_types() + self._update_avatar() + + # Hook up signals + widget = self.xml.location_eventbox + id_ = widget.connect('button-release-event', + self.on_location_eventbox_button_release_event) + self.handlers[id_] = widget + id_ = widget.connect('enter-notify-event', + self.on_location_eventbox_enter_notify_event) + self.handlers[id_] = widget + id_ = widget.connect('leave-notify-event', + self.on_location_eventbox_leave_notify_event) + self.handlers[id_] = widget + + for key in ('1', '2', '3', '4', '5', '6', '7', '8', '9', '*', '0', '#'): + widget = self.xml.get_object(key + '_button') + id_ = widget.connect('pressed', self.on_num_button_pressed, key) + self.handlers[id_] = widget + id_ = widget.connect('released', self.on_num_button_released) + self.handlers[id_] = widget + + widget = self.xml.mic_hscale + id_ = widget.connect('value_changed', self.on_mic_hscale_value_changed) + self.handlers[id_] = widget + + widget = self.xml.sound_hscale + id_ = widget.connect('value_changed', + self.on_sound_hscale_value_changed) + self.handlers[id_] = widget + + self.info_bar = Gtk.InfoBar() + content_area = self.info_bar.get_content_area() + self.info_bar_label = Gtk.Label() + self.info_bar_label.set_use_markup(True) + self.info_bar_label.set_halign(Gtk.Align.START) + self.info_bar_label.set_valign(Gtk.Align.START) + self.info_bar_label.set_ellipsize(Pango.EllipsizeMode.END) + content_area.add(self.info_bar_label) + self.info_bar.set_no_show_all(True) + + self.xml.vbox2.pack_start(self.info_bar, False, True, 5) + self.xml.vbox2.reorder_child(self.info_bar, 1) + + # List of waiting infobar messages + self.info_bar_queue = [] + + self.subscribe_events() + + if not session: + # Don't use previous session if we want to a specific resource + # and it's not the same + if not resource: + resource = contact.resource + session = app.connections[self.account].find_controlless_session( + self.contact.jid, resource) + + self.setup_seclabel() + if session: + session.control = self + self.session = session + + self.add_actions() + self.update_ui() + self.set_lock_image() + + self.xml.encryption_menu.set_menu_model( + gui_menu_builder.get_encryption_menu( + self.control_id, self._type, self.account == 'Local')) + self.set_encryption_menu_icon() + # restore previous conversation + self.restore_conversation() + self.msg_textview.grab_focus() + + # pylint: disable=line-too-long + self.register_events([ + ('nickname-received', ged.GUI1, self._on_nickname_received), + ('mood-received', ged.GUI1, self._on_mood_received), + ('activity-received', ged.GUI1, self._on_activity_received), + ('tune-received', ged.GUI1, self._on_tune_received), + ('location-received', ged.GUI1, self._on_location_received), + ('update-client-info', ged.GUI1, self._on_update_client_info), + ('chatstate-received', ged.GUI1, self._on_chatstate_received), + ('caps-update', ged.GUI1, self._on_caps_update), + ('message-sent', ged.OUT_POSTCORE, self._on_message_sent), + ('mam-decrypted-message-received', ged.GUI1, self._on_mam_decrypted_message_received), + ('decrypted-message-received', ged.GUI1, self._on_decrypted_message_received), + ('receipt-received', ged.GUI1, self._receipt_received), + ('displayed-received', ged.GUI1, self._displayed_received), + ('message-error', ged.GUI1, self._on_message_error), + ('zeroconf-error', ged.GUI1, self._on_zeroconf_error), + ]) + + if self._type.is_chat: + # Don’t connect this when PrivateChatControl is used + self.register_event('update-roster-avatar', ged.GUI1, self._on_update_roster_avatar) + # pylint: enable=line-too-long + + # PluginSystem: adding GUI extension point for this ChatControl + # instance object + app.plugin_manager.gui_extension_point('chat_control', self) + self.update_actions() + + @property + def jid(self): + return self.contact.jid + + def add_actions(self): + super().add_actions() + actions = [ + ('invite-contacts-', self._on_invite_contacts), + ('add-to-roster-', self._on_add_to_roster), + ('block-contact-', self._on_block_contact), + ('information-', self._on_information), + ('start-call-', self._on_start_call), + ] + + for action in actions: + action_name, func = action + act = Gio.SimpleAction.new(action_name + self.control_id, None) + act.connect('activate', func) + self.parent_win.window.add_action(act) + + chatstate = self.contact.settings.get('send_chatstate') + + act = Gio.SimpleAction.new_stateful( + 'send-chatstate-' + self.control_id, + GLib.VariantType.new("s"), + GLib.Variant("s", chatstate)) + act.connect('change-state', self._on_send_chatstate) + self.parent_win.window.add_action(act) + + marker = self.contact.settings.get('send_marker') + + act = Gio.SimpleAction.new_stateful( + f'send-marker-{self.control_id}', + None, + GLib.Variant.new_boolean(marker)) + act.connect('change-state', self._on_send_marker) + self.parent_win.window.add_action(act) + + def update_actions(self): + win = self.parent_win.window + online = app.account_is_connected(self.account) + con = app.connections[self.account] + + # Add to roster + if not isinstance(self.contact, GC_Contact) \ + and _('Not in contact list') in self.contact.groups and \ + app.connections[self.account].roster_supported and online: + win.lookup_action( + 'add-to-roster-' + self.control_id).set_enabled(True) + else: + win.lookup_action( + 'add-to-roster-' + self.control_id).set_enabled(False) + + # Block contact + win.lookup_action( + 'block-contact-' + self.control_id).set_enabled( + online and con.get_module('Blocking').supported) + + # Jingle AV detection + if (self.contact.supports(Namespace.JINGLE_ICE_UDP) and + app.is_installed('FARSTREAM') and self.contact.resource): + self.jingle['audio'].available = self.contact.supports( + Namespace.JINGLE_RTP_AUDIO) + self.jingle['video'].available = self.contact.supports( + Namespace.JINGLE_RTP_VIDEO) + else: + if (self.jingle['audio'].available or + self.jingle['video'].available): + self.stop_jingle() + self.jingle['audio'].available = False + self.jingle['video'].available = False + + win.lookup_action(f'start-call-{self.control_id}').set_enabled( + online and (self.jingle['audio'].available or + self.jingle['video'].available)) + + # Send message + has_text = self.msg_textview.has_text() + win.lookup_action( + f'send-message-{self.control_id}').set_enabled(online and has_text) + + # Send file (HTTP File Upload) + httpupload = win.lookup_action( + 'send-file-httpupload-' + self.control_id) + httpupload.set_enabled( + online and con.get_module('HTTPUpload').available) + + # Send file (Jingle) + jingle_support = self.contact.supports(Namespace.JINGLE_FILE_TRANSFER_5) + jingle_conditions = jingle_support and self.contact.show != 'offline' + jingle = win.lookup_action('send-file-jingle-' + self.control_id) + jingle.set_enabled(online and jingle_conditions) + + # Send file + win.lookup_action( + 'send-file-' + self.control_id).set_enabled( + jingle.get_enabled() or httpupload.get_enabled()) + + # Set File Transfer Button tooltip + if online and (httpupload.get_enabled() or jingle.get_enabled()): + tooltip_text = _('Send File…') + else: + tooltip_text = _('No File Transfer available') + self.xml.sendfile_button.set_tooltip_text(tooltip_text) + + # Chat markers + state = GLib.Variant.new_boolean( + self.contact.settings.get('send_marker')) + win.lookup_action( + f'send-marker-{self.control_id}').change_state(state) + + # Convert to GC + if app.settings.get_account_setting(self.account, 'is_zeroconf'): + win.lookup_action( + 'invite-contacts-' + self.control_id).set_enabled(False) + else: + if self.contact.supports(Namespace.MUC) and online: + win.lookup_action( + 'invite-contacts-' + self.control_id).set_enabled(True) + else: + win.lookup_action( + 'invite-contacts-' + self.control_id).set_enabled(False) + + # Information + win.lookup_action( + 'information-' + self.control_id).set_enabled(online) + + def remove_actions(self): + super().remove_actions() + actions = [ + 'invite-contacts-', + 'add-to-roster-', + 'block-contact-', + 'information-', + 'start-call-', + 'send-chatstate-', + 'send-marker-', + ] + for action in actions: + self.parent_win.window.remove_action(f'{action}{self.control_id}') + + def focus(self): + self.msg_textview.grab_focus() + + def delegate_action(self, action): + res = super().delegate_action(action) + if res == Gdk.EVENT_STOP: + return res + + if action == 'show-contact-info': + self.parent_win.window.lookup_action( + 'information-%s' % self.control_id).activate() + return Gdk.EVENT_STOP + + if action == 'send-file': + if app.interface.msg_win_mgr.mode == \ + app.interface.msg_win_mgr.ONE_MSG_WINDOW_ALWAYS_WITH_ROSTER: + app.interface.roster.tree.grab_focus() + return Gdk.EVENT_PROPAGATE + + self.parent_win.window.lookup_action( + 'send-file-%s' % self.control_id).activate() + return Gdk.EVENT_STOP + + return Gdk.EVENT_PROPAGATE + + def _on_add_to_roster(self, _action, _param): + AddNewContactWindow(self.account, self.contact.jid) + + def _on_block_contact(self, _action, _param): + def _block_contact(report=None): + con = app.connections[self.account] + con.get_module('Blocking').block([self.contact.jid], report=report) + + self.parent_win.remove_tab(self, None, force=True) + if _('Not in contact list') in self.contact.get_shown_groups(): + app.interface.roster.remove_contact( + self.contact.jid, self.account, force=True, backend=True) + return + app.interface.roster.draw_contact(self.contact.jid, self.account) + + ConfirmationDialog( + _('Block Contact'), + _('Really block this contact?'), + _('You will appear offline for this contact and you will ' + 'not receive further messages.'), + [DialogButton.make('Cancel'), + DialogButton.make('OK', + text=_('_Report Spam'), + callback=_block_contact, + kwargs={'report': 'spam'}), + DialogButton.make('Remove', + text=_('_Block'), + callback=_block_contact)], + modal=False).show() + + def _on_information(self, _action, _param): + app.interface.roster.on_info(None, self.contact, self.account) + + def _on_invite_contacts(self, _action, _param): + """ + User wants to invite some friends to chat + """ + dialogs.TransformChatToMUC(self.account, [self.contact.jid]) + + def _on_send_chatstate(self, action, param): + action.set_state(param) + self.contact.settings.set('send_chatstate', param.get_string()) + + def _on_send_marker(self, action, param): + action.set_state(param) + self.contact.settings.set('send_marker', param.get_boolean()) + + def subscribe_events(self): + """ + Register listeners to the events class + """ + app.events.event_added_subscribe(self.on_event_added) + app.events.event_removed_subscribe(self.on_event_removed) + + def unsubscribe_events(self): + """ + Unregister listeners to the events class + """ + app.events.event_added_unsubscribe(self.on_event_added) + app.events.event_removed_unsubscribe(self.on_event_removed) + + def _update_toolbar(self): + # Formatting + # TODO: find out what encryption allows for xhtml and which not + if self.contact.supports(Namespace.XHTML_IM): + self.xml.formattings_button.set_sensitive(True) + self.xml.formattings_button.set_tooltip_text(_( + 'Show a list of formattings')) + else: + self.xml.formattings_button.set_sensitive(False) + self.xml.formattings_button.set_tooltip_text( + _('This contact does not support HTML')) + + def update_all_pep_types(self): + self._update_pep(PEPEventType.LOCATION) + self._update_pep(PEPEventType.MOOD) + self._update_pep(PEPEventType.ACTIVITY) + self._update_pep(PEPEventType.TUNE) + + def _update_pep(self, type_): + image = self._get_pep_widget(type_) + data = self.contact.pep.get(type_) + if data is None: + image.hide() + return + + if type_ == PEPEventType.MOOD: + icon = 'mood-%s' % data.mood + formated_text = format_mood(*data) + elif type_ == PEPEventType.ACTIVITY: + icon = get_activity_icon_name(data.activity, data.subactivity) + formated_text = format_activity(*data) + elif type_ == PEPEventType.TUNE: + icon = 'audio-x-generic' + formated_text = format_tune(*data) + elif type_ == PEPEventType.LOCATION: + icon = 'applications-internet' + formated_text = format_location(data) + + image.set_from_icon_name(icon, Gtk.IconSize.MENU) + image.set_tooltip_markup(formated_text) + image.show() + + def _get_pep_widget(self, type_): + if type_ == PEPEventType.MOOD: + return self.xml.mood_image + if type_ == PEPEventType.ACTIVITY: + return self.xml.activity_image + if type_ == PEPEventType.TUNE: + return self.xml.tune_image + if type_ == PEPEventType.LOCATION: + return self.xml.location_image + return None + + @event_filter(['account', 'jid']) + def _on_mood_received(self, _event): + self._update_pep(PEPEventType.MOOD) + + @event_filter(['account', 'jid']) + def _on_activity_received(self, _event): + self._update_pep(PEPEventType.ACTIVITY) + + @event_filter(['account', 'jid']) + def _on_tune_received(self, _event): + self._update_pep(PEPEventType.TUNE) + + @event_filter(['account', 'jid']) + def _on_location_received(self, _event): + self._update_pep(PEPEventType.LOCATION) + + @event_filter(['account', 'jid']) + def _on_nickname_received(self, _event): + self.update_ui() + self.parent_win.redraw_tab(self) + self.parent_win.show_title() + + @event_filter(['account', 'jid']) + def _on_update_client_info(self, event): + contact = app.contacts.get_contact( + self.account, event.jid, event.resource) + if contact is None: + return + self.xml.phone_image.set_visible(contact.uses_phone) + + @event_filter(['account']) + def _on_chatstate_received(self, event): + if self._type.is_privatechat: + if event.contact != self.gc_contact: + return + else: + if event.contact.jid != self.contact.jid: + return + + self.draw_banner_text() + + # update chatstate in tab for this chat + if event.contact.is_gc_contact: + chatstate = event.contact.chatstate + else: + chatstate = app.contacts.get_combined_chatstate( + self.account, self.contact.jid) + self.parent_win.redraw_tab(self, chatstate) + + @event_filter(['account']) + def _on_caps_update(self, event): + if self._type.is_chat and event.jid != self.contact.jid: + return + if self._type.is_privatechat and event.fjid != self.contact.jid: + return + self.update_ui() + + @event_filter(['account']) + def _on_mam_decrypted_message_received(self, event): + if event.properties.type.is_groupchat: + return + + if event.properties.is_muc_pm: + if not event.properties.jid == self.contact.get_full_jid(): + return + else: + if not event.properties.jid.bare_match(self.contact.jid): + return + + kind = '' # incoming + if event.kind == KindConstant.CHAT_MSG_SENT: + kind = 'outgoing' + + self.add_message(event.msgtxt, + kind, + tim=event.properties.mam.timestamp, + correct_id=event.correct_id, + message_id=event.properties.id, + additional_data=event.additional_data) + + @event_filter(['account']) + def _on_decrypted_message_received(self, event): + if not event.msgtxt: + return True + + if event.session.control != self: + return + + typ = '' + if event.properties.is_sent_carbon: + typ = 'out' + + self.add_message(event.msgtxt, + typ, + tim=event.properties.timestamp, + subject=event.properties.subject, + displaymarking=event.displaymarking, + msg_log_id=event.msg_log_id, + message_id=event.properties.id, + correct_id=event.correct_id, + additional_data=event.additional_data) + if event.msg_log_id: + pw = self.parent_win + end = self.conv_textview.autoscroll + if not pw or (pw.get_active_control() and self \ + == pw.get_active_control() and pw.is_active() and end): + app.storage.archive.set_read_messages([event.msg_log_id]) + + @event_filter(['account', 'jid']) + def _on_message_error(self, event): + self.conv_textview.show_error(event.message_id, event.error) + + @event_filter(['account', 'jid']) + def _on_message_sent(self, event): + if not event.message: + return + + self.last_sent_msg = event.message_id + message_id = event.message_id + + if event.label: + displaymarking = event.label.displaymarking + else: + displaymarking = None + if self.correcting: + self.correcting = False + gtkgui_helpers.remove_css_class( + self.msg_textview, 'gajim-msg-correcting') + + self.add_message(event.message, + self.contact.jid, + tim=event.timestamp, + displaymarking=displaymarking, + message_id=message_id, + correct_id=event.correct_id, + additional_data=event.additional_data) + + @event_filter(['account', 'jid']) + def _receipt_received(self, event): + self.conv_textview.show_receipt(event.receipt_id) + + @event_filter(['account', 'jid']) + def _displayed_received(self, event): + self.conv_textview.show_displayed(event.marker_id) + + @event_filter(['account', 'jid']) + def _on_zeroconf_error(self, event): + self.add_status_message(event.message) + + @event_filter(['account', 'jid']) + def _on_update_roster_avatar(self, obj): + self._update_avatar() + + @event_filter(['account']) + def _nec_ping(self, event): + if self.contact != event.contact: + return + if event.name == 'ping-sent': + self.add_info_message(_('Ping?')) + elif event.name == 'ping-reply': + self.add_info_message( + _('Pong! (%s seconds)') % event.seconds) + elif event.name == 'ping-error': + self.add_info_message(event.error) + + def change_resource(self, resource): + old_full_jid = self.get_full_jid() + self.resource = resource + new_full_jid = self.get_full_jid() + # update app.last_message_time + if old_full_jid in app.last_message_time[self.account]: + app.last_message_time[self.account][new_full_jid] = \ + app.last_message_time[self.account][old_full_jid] + # update events + app.events.change_jid(self.account, old_full_jid, new_full_jid) + # update MessageWindow._controls + self.parent_win.change_jid(self.account, old_full_jid, new_full_jid) + + # Jingle AV + def _on_start_call(self, *args): + audio_state = self.jingle['audio'].state + video_state = self.jingle['video'].state + if audio_state == JingleState.NULL and video_state == JingleState.NULL: + self.xml.av_box.set_no_show_all(False) + self.xml.av_box.show_all() + self.xml.jingle_audio_state.hide() + self.xml.av_start_box.show() + self.xml.av_start_mic_cam_button.set_sensitive( + self.jingle['video'].available) + self.xml.av_cam_button.set_sensitive(False) + + def _on_call_with_mic(self, _button): + self._on_jingle_button_toggled(['audio']) + self.xml.av_start_box.hide() + + def _on_call_with_mic_and_cam(self, _button): + self._on_jingle_button_toggled(['audio', 'video']) + self.xml.av_start_box.hide() + + def _on_video(self, *args): + self._on_jingle_button_toggled(['video']) + + def update_audio(self): + self.update_actions() + + audio_state = self.jingle['audio'].state + video_state = self.jingle['video'].state + if self.jingle['video'].available: + self.xml.av_cam_button.set_sensitive( + video_state not in ( + JingleState.CONNECTING, + JingleState.CONNECTED)) + + if audio_state == JingleState.NULL: + self.xml.audio_buttons_box.set_sensitive(False) + self.xml.jingle_audio_state.set_no_show_all(True) + self.xml.jingle_audio_state.hide() + self.xml.jingle_connection_state.set_text('') + self.xml.jingle_connection_spinner.stop() + self.xml.jingle_connection_spinner.hide() + + if video_state == JingleState.NULL: + self.xml.av_box.set_no_show_all(True) + self.xml.av_box.hide() + else: + self.xml.jingle_connection_spinner.show() + self.xml.jingle_connection_spinner.start() + + if audio_state == JingleState.CONNECTING: + self.xml.av_box.set_no_show_all(False) + self.xml.av_box.show_all() + self.xml.jingle_connection_state.set_text( + _('Calling…')) + self.xml.av_cam_button.set_sensitive(False) + + elif audio_state == JingleState.CONNECTION_RECEIVED: + self.xml.jingle_connection_state.set_text( + _('Incoming Call')) + + elif audio_state == JingleState.CONNECTED: + self.xml.jingle_audio_state.set_no_show_all(False) + self.xml.jingle_audio_state.show() + self.xml.jingle_connection_state.set_text('') + self.xml.jingle_connection_spinner.stop() + self.xml.jingle_connection_spinner.hide() + if self.jingle['video'].available: + self.xml.av_cam_button.set_sensitive(True) + + input_vol = app.settings.get('audio_input_volume') + output_vol = app.settings.get('audio_output_volume') + self.xml.mic_hscale.set_value(max(min(input_vol, 100), 0)) + self.xml.sound_hscale.set_value(max(min(output_vol, 100), 0)) + self.xml.audio_buttons_box.set_sensitive(True) + + elif audio_state == JingleState.ERROR: + self.xml.jingle_audio_state.hide() + self.xml.jingle_connection_state.set_text( + _('Connection Error')) + self.xml.jingle_connection_spinner.stop() + self.xml.jingle_connection_spinner.hide() + + if not self.jingle['audio'].sid: + self.xml.audio_buttons_box.set_sensitive(False) + + def update_video(self): + self.update_actions() + + audio_state = self.jingle['audio'].state + video_state = self.jingle['video'].state + + if video_state == JingleState.NULL: + self.xml.video_box.set_no_show_all(True) + self.xml.video_box.hide() + self.xml.outgoing_viewport.set_no_show_all(True) + self.xml.outgoing_viewport.hide() + if self._video_widget_other: + self._video_widget_other.destroy() + if self._video_widget_self: + self._video_widget_self.destroy() + + if audio_state != JingleState.CONNECTED: + self.xml.jingle_connection_state.set_text('') + self.xml.jingle_connection_spinner.stop() + self.xml.jingle_connection_spinner.hide() + self.xml.av_cam_button.set_sensitive(True) + self.xml.av_cam_button.set_tooltip_text(_('Turn Camera on')) + self.xml.av_cam_image.set_from_icon_name( + 'feather-camera-symbolic', Gtk.IconSize.BUTTON) + if audio_state == JingleState.NULL: + self.xml.av_box.set_no_show_all(True) + self.xml.av_box.hide() + else: + self.xml.jingle_connection_spinner.show() + self.xml.jingle_connection_spinner.start() + + if video_state == JingleState.CONNECTING: + self.xml.jingle_connection_state.set_text(_('Calling (Video)…')) + self.xml.av_box.set_no_show_all(False) + self.xml.av_box.show_all() + self.xml.av_cam_button.set_sensitive(False) + self.xml.av_cam_button.set_tooltip_text(_('Turn Camera off')) + self.xml.av_cam_image.set_from_icon_name( + 'feather-camera-off-symbolic', Gtk.IconSize.BUTTON) + + elif video_state == JingleState.CONNECTION_RECEIVED: + self.xml.jingle_connection_state.set_text( + _('Incoming Call (Video)')) + self.xml.av_cam_button.set_sensitive(False) + self.xml.av_cam_button.set_tooltip_text(_('Turn Camera off')) + self.xml.av_cam_image.set_from_icon_name( + 'feather-camera-off-symbolic', Gtk.IconSize.BUTTON) + + elif video_state == JingleState.CONNECTED: + self.xml.video_box.set_no_show_all(False) + self.xml.video_box.show_all() + if app.settings.get('video_see_self'): + self.xml.outgoing_viewport.set_no_show_all(False) + self.xml.outgoing_viewport.show() + else: + self.xml.outgoing_viewport.set_no_show_all(True) + self.xml.outgoing_viewport.hide() + + sink_other, self._video_widget_other, _name = create_gtk_widget() + sink_self, self._video_widget_self, _name = create_gtk_widget() + self.xml.incoming_viewport.add(self._video_widget_other) + self.xml.outgoing_viewport.add(self._video_widget_self) + + con = app.connections[self.account] + session = con.get_module('Jingle').get_jingle_session( + self.contact.get_full_jid(), self.jingle['video'].sid) + content = session.get_content('video') + content.do_setup(sink_self, sink_other) + + self.xml.jingle_connection_state.set_text('') + self.xml.jingle_connection_spinner.stop() + self.xml.jingle_connection_spinner.hide() + + self.xml.av_cam_button.set_sensitive(True) + self.xml.av_cam_button.set_tooltip_text(_('Turn Camera off')) + self.xml.av_cam_image.set_from_icon_name( + 'feather-camera-off-symbolic', Gtk.IconSize.BUTTON) + + elif video_state == JingleState.ERROR: + self.xml.jingle_connection_state.set_text( + _('Connection Error')) + self.xml.jingle_connection_spinner.stop() + self.xml.jingle_connection_spinner.hide() + + def set_jingle_state(self, jingle_type: str, state: str, sid: str = None, + reason: str = None) -> None: + jingle = self.jingle[jingle_type] + if state in ( + JingleState.CONNECTING, + JingleState.CONNECTED, + JingleState.NULL, + JingleState.ERROR) and reason: + log.info('%s state: %s, reason: %s', jingle_type, state, reason) + + if state in (jingle.state, JingleState.ERROR): + return + + if (state == JingleState.NULL and jingle.sid not in (None, sid)): + return + + new_sid = None + if state == JingleState.NULL: + new_sid = None + if state in ( + JingleState.CONNECTION_RECEIVED, + JingleState.CONNECTING, + JingleState.CONNECTED): + new_sid = sid + + jingle.state = state + jingle.sid = new_sid + jingle.update() + + def stop_jingle(self, sid=None, reason=None): + audio_sid = self.jingle['audio'].sid + video_sid = self.jingle['video'].sid + if audio_sid and sid in (audio_sid, None): + self.close_jingle_content('audio') + if video_sid and sid in (video_sid, None): + self.close_jingle_content('video') + + def close_jingle_content(self, jingle_type: str, + shutdown: Optional[bool] = False) -> None: + jingle = self.jingle[jingle_type] + if not jingle.sid: + return + + con = app.connections[self.account] + session = con.get_module('Jingle').get_jingle_session( + self.contact.get_full_jid(), jingle.sid) + if session: + content = session.get_content(jingle_type) + if content: + session.remove_content(content.creator, content.name) + + if not shutdown: + jingle.sid = None + jingle.state = JingleState.NULL + jingle.update() + + def _on_end_call_clicked(self, _widget): + self.close_jingle_content('audio') + self.close_jingle_content('video') + self.xml.jingle_audio_state.set_no_show_all(True) + self.xml.jingle_audio_state.hide() + self.xml.av_box.set_no_show_all(True) + self.xml.av_box.hide() + + def _on_jingle_button_toggled(self, jingle_types): + con = app.connections[self.account] + + if all(item in jingle_types for item in ['audio', 'video']): + # Both 'audio' and 'video' in jingle_types + sid = con.get_module('Jingle').start_audio_video( + self.contact.get_full_jid()) + self.set_jingle_state('audio', JingleState.CONNECTING, sid) + self.set_jingle_state('video', JingleState.CONNECTING, sid) + return + + if 'audio' in jingle_types: + if self.jingle['audio'].state != JingleState.NULL: + self.close_jingle_content('audio') + else: + sid = con.get_module('Jingle').start_audio( + self.contact.get_full_jid()) + self.set_jingle_state('audio', JingleState.CONNECTING, sid) + + if 'video' in jingle_types: + if self.jingle['video'].state != JingleState.NULL: + self.close_jingle_content('video') + else: + sid = con.get_module('Jingle').start_video( + self.contact.get_full_jid()) + self.set_jingle_state('video', JingleState.CONNECTING, sid) + + def _get_audio_content(self): + con = app.connections[self.account] + session = con.get_module('Jingle').get_jingle_session( + self.contact.get_full_jid(), self.jingle['audio'].sid) + return session.get_content('audio') + + def on_num_button_pressed(self, _widget, num): + self._get_audio_content().start_dtmf(num) + + def on_num_button_released(self, _released): + self._get_audio_content().stop_dtmf() + + def on_mic_hscale_value_changed(self, _widget, value): + self._get_audio_content().set_mic_volume(value / 100) + app.settings.set('audio_input_volume', int(value)) + + def on_sound_hscale_value_changed(self, _widget, value): + self._get_audio_content().set_out_volume(value / 100) + app.settings.set('audio_output_volume', int(value)) + + def on_location_eventbox_button_release_event(self, _widget, _event): + if 'geoloc' in self.contact.pep: + location = self.contact.pep['geoloc'].data + if 'lat' in location and 'lon' in location: + uri = geo_provider_from_location(location['lat'], + location['lon']) + open_uri(uri) + + def on_location_eventbox_leave_notify_event(self, _widget, _event): + """ + Just moved the mouse so show the cursor + """ + cursor = get_cursor('default') + self.parent_win.window.get_window().set_cursor(cursor) + + def on_location_eventbox_enter_notify_event(self, _widget, _event): + cursor = get_cursor('pointer') + self.parent_win.window.get_window().set_cursor(cursor) + + def update_ui(self): + # The name banner is drawn here + ChatControlBase.update_ui(self) + self.update_toolbar() + self._update_avatar() + self.update_actions() + + def draw_banner_text(self): + """ + Draw the text in the fat line at the top of the window that houses the + name, jid + """ + contact = self.contact + name = contact.get_shown_name() + if self.resource: + name += '/' + self.resource + if self._type.is_privatechat: + name = i18n.direction_mark + _( + '%(nickname)s from group chat %(room_name)s') % \ + {'nickname': name, 'room_name': self.room_name} + name = i18n.direction_mark + GLib.markup_escape_text(name) + + status = contact.status + if status is not None: + status_reduced = helpers.reduce_chars_newlines(status, max_lines=1) + else: + status_reduced = '' + status_escaped = GLib.markup_escape_text(status_reduced) + + if self._type.is_privatechat: + cs = self.gc_contact.chatstate + else: + cs = app.contacts.get_combined_chatstate( + self.account, self.contact.jid) + + if app.settings.get('show_chatstate_in_banner'): + chatstate = helpers.get_uf_chatstate(cs) + + label_text = '%s %s' % \ + (name, chatstate) + label_tooltip = '%s %s' % (name, chatstate) + else: + label_text = '%s' % name + label_tooltip = name + + if status_escaped: + status_text = make_href_markup(status_escaped) + status_text = '%s' % status_text + self.xml.banner_label.set_tooltip_text(status) + self.xml.banner_label.set_no_show_all(False) + self.xml.banner_label.show() + else: + status_text = '' + self.xml.banner_label.hide() + self.xml.banner_label.set_no_show_all(True) + + self.xml.banner_label.set_markup(status_text) + # setup the label that holds name and jid + self.xml.banner_name_label.set_markup(label_text) + self.xml.banner_name_label.set_tooltip_text(label_tooltip) + + def send_message(self, + message, + xhtml=None, + process_commands=True, + attention=False): + """ + Send a message to contact + """ + + if self.encryption: + self.sendmessage = True + app.plugin_manager.extension_point('send_message' + self.encryption, + self) + if not self.sendmessage: + return + + message = helpers.remove_invalid_xml_chars(message) + if message in ('', None, '\n'): + return + + ChatControlBase.send_message(self, + message, + type_='chat', + xhtml=xhtml, + process_commands=process_commands, + attention=attention) + + def get_our_nick(self): + return app.nicks[self.account] + + def add_message(self, + text, + frm='', + tim=None, + subject=None, + displaymarking=None, + msg_log_id=None, + correct_id=None, + message_id=None, + additional_data=None, + error=None): + """ + Print a line in the conversation + + If frm is set to status: it's a status message. + if frm is set to error: it's an error message. The difference between + status and error is mainly that with error, msg count as a new + message (in systray and in control). + If frm is set to info: it's a information message. + If frm is set to print_queue: it is incoming from queue. + If frm is set to another value: it's an outgoing message. + If frm is not set: it's an incoming message. + """ + contact = self.contact + + if additional_data is None: + additional_data = AdditionalDataDict() + + if frm == 'error': + kind = 'error' + name = '' + else: + if not frm: + kind = 'incoming' + name = contact.get_shown_name() + elif frm == 'print_queue': + kind = 'incoming_queue' + name = contact.get_shown_name() + else: + kind = 'outgoing' + name = self.get_our_nick() + + ChatControlBase.add_message(self, + text, + kind, + name, + tim, + subject=subject, + old_kind=self.old_msg_kind, + displaymarking=displaymarking, + msg_log_id=msg_log_id, + message_id=message_id, + correct_id=correct_id, + additional_data=additional_data, + error=error) + if text.startswith('/me ') or text.startswith('/me\n'): + self.old_msg_kind = None + else: + self.old_msg_kind = kind + + def get_tab_label(self): + unread = '' + if self.resource: + jid = self.contact.get_full_jid() + else: + jid = self.contact.jid + num_unread = len(app.events.get_events( + self.account, jid, ['printed_%s' % self._type, str(self._type)])) + if num_unread == 1: + unread = '*' + elif num_unread > 1: + unread = '[' + str(num_unread) + ']' + + name = self.contact.get_shown_name() + if self.resource: + name += '/' + self.resource + label_str = GLib.markup_escape_text(name) + if num_unread: # if unread, text in the label becomes bold + label_str = '' + unread + label_str + '' + return label_str + + def get_tab_image(self): + scale = self.parent_win.window.get_scale_factor() + return app.contacts.get_avatar(self.account, + self.contact.jid, + AvatarSize.ROSTER, + scale, + self.contact.show) + + def prepare_context_menu(self, hide_buttonbar_items=False): + """ + Set compact view menuitem active state sets active and sensitivity state + for history_menuitem (False for tranasports) and file_transfer_menuitem + and hide()/show() for add_to_roster_menuitem + """ + if app.jid_is_transport(self.contact.jid): + menu = gui_menu_builder.get_transport_menu(self.contact, + self.account) + else: + menu = gui_menu_builder.get_contact_menu( + self.contact, + self.account, + use_multiple_contacts=False, + show_start_chat=False, + show_encryption=True, + control=self, + show_buttonbar_items=not hide_buttonbar_items) + return menu + + def shutdown(self): + # PluginSystem: removing GUI extension points connected with ChatControl + # instance object + app.plugin_manager.remove_gui_extension_point('chat_control', self) + + self.unsubscribe_events() + + self.remove_actions() + + # Send 'gone' chatstate + con = app.connections[self.account] + con.get_module('Chatstate').set_chatstate(self.contact, Chatstate.GONE) + + for jingle_type in ('audio', 'video'): + self.close_jingle_content(jingle_type, shutdown=True) + self.jingle.clear() + + # disconnect self from session + if self.session: + self.session.control = None + + # Clean events + app.events.remove_events( + self.account, + self.get_full_jid(), + types=['printed_%s' % self._type, str(self._type)]) + # Remove contact instance if contact has been removed + key = (self.contact.jid, self.account) + roster = app.interface.roster + has_pending = roster.contact_has_pending_roster_events(self.contact, + self.account) + if key in roster.contacts_to_be_removed.keys() and not has_pending: + backend = roster.contacts_to_be_removed[key]['backend'] + del roster.contacts_to_be_removed[key] + roster.remove_contact(self.contact.jid, + self.account, + force=True, + backend=backend) + + super(ChatControl, self).shutdown() + + def minimizable(self): + return False + + def safe_shutdown(self): + return False + + def allow_shutdown(self, method, on_yes, on_no, _on_minimize): + time_ = app.last_message_time[self.account][self.get_full_jid()] + # 2 seconds + if time.time() - time_ < 2: + no_log_for = app.settings.get_account_setting( + self.account, 'no_log_for').split() + more = '' + if self.contact.jid in no_log_for: + more = _('Note: Chat history is disabled for this contact.') + if self.account in no_log_for: + more = _('Note: Chat history is disabled for this account.') + text = _('You just received a new message from %s.\n' + 'Do you want to close this tab?') % self.contact.get_shown_name() + if more: + text += '\n' + more + + ConfirmationDialog( + _('Close'), + _('New Message'), + text, + [DialogButton.make('Cancel', + callback=lambda: on_no(self)), + DialogButton.make('Remove', + text=_('_Close'), + callback=lambda: on_yes(self))], + transient_for=self.parent_win.window).show() + return + on_yes(self) + + def _update_avatar(self): + scale = self.parent_win.window.get_scale_factor() + surface = app.contacts.get_avatar(self.account, + self.contact.jid, + AvatarSize.CHAT, + scale, + self.contact.show) + + self.xml.avatar_image.set_from_surface(surface) + + def _on_drag_data_received(self, widget, context, x, y, selection, + target_type, timestamp): + if not selection.get_data(): + return + + if target_type == self.TARGET_TYPE_URI_LIST: + # File drag and drop (handled in chat_control_base) + self.drag_data_file_transfer(selection) + else: + # Convert single chat to MUC + treeview = app.interface.roster.tree + model = treeview.get_model() + data = selection.get_data().decode() + tree_selection = treeview.get_selection() + if tree_selection.count_selected_rows() == 0: + return + path = tree_selection.get_selected_rows()[1][0] + iter_ = model.get_iter(path) + type_ = model[iter_][2] + if type_ != 'contact': # Source is not a contact + return + dropped_jid = data + + dropped_transport = app.get_transport_name_from_jid(dropped_jid) + c_transport = app.get_transport_name_from_jid(self.contact.jid) + if dropped_transport or c_transport: + return # transport contacts cannot be invited + + dialogs.TransformChatToMUC(self.account, + [self.contact.jid], + [dropped_jid]) + + def restore_conversation(self): + jid = self.contact.jid + # don't restore lines if it's a transport + if app.jid_is_transport(jid): + return + + # number of messages that are in queue and are already logged, we want + # to avoid duplication + pending = len(app.events.get_events(self.account, jid, ['chat', 'pm'])) + if self.resource: + pending += len(app.events.get_events(self.account, + self.contact.get_full_jid(), + ['chat', 'pm'])) + + rows = app.storage.archive.get_last_conversation_lines( + self.account, jid, pending) + + local_old_kind = None + self.conv_textview.just_cleared = True + for row in rows: # time, kind, message, subject, additional_data + msg = row.message + additional_data = row.additional_data + if not msg: # message is empty, we don't print it + continue + if row.kind in (KindConstant.CHAT_MSG_SENT, + KindConstant.SINGLE_MSG_SENT): + kind = 'outgoing' + name = self.get_our_nick() + elif row.kind in (KindConstant.SINGLE_MSG_RECV, + KindConstant.CHAT_MSG_RECV): + kind = 'incoming' + name = self.contact.get_shown_name() + elif row.kind == KindConstant.ERROR: + kind = 'status' + name = self.contact.get_shown_name() + + tim = float(row.time) + + if row.subject: + msg = _('Subject: %(subject)s\n%(message)s') % \ + {'subject': row.subject, 'message': msg} + ChatControlBase.add_message(self, + msg, + kind, + name, + tim, + restored=True, + old_kind=local_old_kind, + additional_data=additional_data, + message_id=row.message_id, + marker=row.marker, + error=row.error) + if (row.message.startswith('/me ') or + row.message.startswith('/me\n')): + local_old_kind = None + else: + local_old_kind = kind + if rows: + self.conv_textview.print_empty_line() + + def read_queue(self): + """ + Read queue and print messages contained in it + """ + jid = self.contact.jid + jid_with_resource = jid + if self.resource: + jid_with_resource += '/' + self.resource + events = app.events.get_events(self.account, jid_with_resource) + + # list of message ids which should be marked as read + message_ids = [] + for event in events: + if event.type_ != str(self._type): + continue + kind = 'print_queue' + if event.sent_forwarded: + kind = 'out' + self.add_message(event.message, + kind, + tim=event.time, + subject=event.subject, + displaymarking=event.displaymarking, + correct_id=event.correct_id, + message_id=event.message_id, + additional_data=event.additional_data) + if isinstance(event.msg_log_id, int): + message_ids.append(event.msg_log_id) + + if event.session and not self.session: + self.set_session(event.session) + if message_ids: + app.storage.archive.set_read_messages(message_ids) + + # XEP-0333 Send marker + con = app.connections[self.account] + con.get_module('ChatMarkers').send_displayed_marker( + self.contact, + self.last_msg_id, + self._type) + self.last_msg_id = None + app.events.remove_events(self.account, + jid_with_resource, + types=[str(self._type)]) + + typ = 'chat' # Is it a normal chat or a pm ? + + # reset to status image in gc if it is a pm + # Is it a pm ? + room_jid, nick = app.get_room_and_nick_from_fjid(jid) + control = app.interface.msg_win_mgr.get_gc_control(room_jid, + self.account) + if control and control.is_groupchat: + control.update_ui() + control.parent_win.show_title() + typ = 'pm' + + self.redraw_after_event_removed(jid) + if self.contact.show in ('offline', 'error'): + show_offline = app.settings.get('showoffline') + show_transports = app.settings.get('show_transports_group') + if (not show_transports and app.jid_is_transport(jid)) or \ + (not show_offline and typ == 'chat' and \ + len(app.contacts.get_contacts(self.account, jid)) < 2): + app.interface.roster.remove_to_be_removed(self.contact.jid, + self.account) + elif typ == 'pm': + control.remove_contact(nick) + + def _on_convert_to_gc_menuitem_activate(self, _widget): + """ + User wants to invite some friends to chat + """ + dialogs.TransformChatToMUC(self.account, [self.contact.jid]) + + def got_connected(self): + ChatControlBase.got_connected(self) + # Refreshing contact + contact = app.contacts.get_contact_with_highest_priority( + self.account, self.contact.jid) + if isinstance(contact, GC_Contact): + contact = contact.as_contact() + if contact: + self.contact = contact + self.draw_banner() + self.update_actions() + + def got_disconnected(self): + ChatControlBase.got_disconnected(self) + self.update_actions() + + def update_status_display(self, name, uf_show, status): + self.update_ui() + self.parent_win.redraw_tab(self) + + if not app.settings.get('print_status_in_chats'): + return + + if status: + status = '- %s' % status + status_line = _('%(name)s is now %(show)s %(status)s') % { + 'name': name, 'show': uf_show, 'status': status or ''} + self.add_status_message(status_line) + + def _info_bar_show_message(self): + if self.info_bar.get_visible(): + # A message is already shown + return + if not self.info_bar_queue: + return + markup, buttons, _args, type_ = self.info_bar_queue[0] + self.info_bar_label.set_markup(markup) + + # Remove old buttons + area = self.info_bar.get_action_area() + for button in area.get_children(): + area.remove(button) + + # Add new buttons + for button in buttons: + self.info_bar.add_action_widget(button, 0) + + self.info_bar.set_message_type(type_) + self.info_bar.set_no_show_all(False) + self.info_bar.show_all() + + def _add_info_bar_message(self, markup, buttons, args, + type_=Gtk.MessageType.INFO): + self.info_bar_queue.append((markup, buttons, args, type_)) + self._info_bar_show_message() + + def _get_file_props_event(self, file_props, type_): + evs = app.events.get_events(self.account, self.contact.jid, [type_]) + for ev in evs: + if ev.file_props == file_props: + return ev + return None + + def _on_accept_file_request(self, _widget, file_props): + app.interface.instances['file_transfers'].on_file_request_accepted( + self.account, self.contact, file_props) + ev = self._get_file_props_event(file_props, 'file-request') + if ev: + app.events.remove_events(self.account, self.contact.jid, event=ev) + + def _on_cancel_file_request(self, _widget, file_props): + con = app.connections[self.account] + con.get_module('Bytestream').send_file_rejection(file_props) + ev = self._get_file_props_event(file_props, 'file-request') + if ev: + app.events.remove_events(self.account, self.contact.jid, event=ev) + + def _got_file_request(self, file_props): + """ + Show an InfoBar on top of control + """ + if app.settings.get('use_kib_mib'): + units = GLib.FormatSizeFlags.IEC_UNITS + else: + units = GLib.FormatSizeFlags.DEFAULT + + markup = '%s\n%s' % (_('File Transfer'), file_props.name) + if file_props.desc: + markup += '\n(%s)' % file_props.desc + markup += '\n%s: %s' % ( + _('Size'), + GLib.format_size_full(file_props.size, units)) + button_decline = Gtk.Button.new_with_mnemonic(_('_Decline')) + button_decline.connect( + 'clicked', self._on_cancel_file_request, file_props) + button_accept = Gtk.Button.new_with_mnemonic(_('_Accept')) + button_accept.connect( + 'clicked', self._on_accept_file_request, file_props) + self._add_info_bar_message( + markup, + [button_decline, button_accept], + file_props, + Gtk.MessageType.QUESTION) + + def _on_open_ft_folder(self, _widget, file_props): + path = os.path.split(file_props.file_name)[0] + if os.path.exists(path) and os.path.isdir(path): + open_file(path) + ev = self._get_file_props_event(file_props, 'file-completed') + if ev: + app.events.remove_events(self.account, self.contact.jid, event=ev) + + def _on_ok(self, _widget, file_props, type_): + ev = self._get_file_props_event(file_props, type_) + if ev: + app.events.remove_events(self.account, self.contact.jid, event=ev) + + def _got_file_completed(self, file_props): + markup = '%s\n%s' % (_('File Transfer Completed'), + file_props.name) + if file_props.desc: + markup += '\n(%s)' % file_props.desc + b1 = Gtk.Button.new_with_mnemonic(_('Open _Folder')) + b1.connect('clicked', self._on_open_ft_folder, file_props) + b2 = Gtk.Button.new_with_mnemonic(_('_Close')) + b2.connect('clicked', self._on_ok, file_props, 'file-completed') + self._add_info_bar_message( + markup, + [b1, b2], + file_props) + + def _got_file_error(self, file_props, type_, pri_txt, sec_txt): + markup = '%s\n%s' % (pri_txt, sec_txt) + button = Gtk.Button.new_with_mnemonic(_('_Close')) + button.connect('clicked', self._on_ok, file_props, type_) + self._add_info_bar_message( + markup, + [button], + file_props, + Gtk.MessageType.ERROR) + + def _on_accept_gc_invitation(self, _widget, event): + app.interface.show_or_join_groupchat(self.account, + str(event.muc), + password=event.password) + app.events.remove_events(self.account, self.contact.jid, event=event) + + def _on_cancel_gc_invitation(self, _widget, event): + app.events.remove_events(self.account, self.contact.jid, event=event) + + def _get_gc_invitation(self, event): + markup = '%s\n%s' % (_('Group Chat Invitation'), event.muc) + if event.reason: + markup += '\n(%s)' % event.reason + button_decline = Gtk.Button.new_with_mnemonic(_('_Decline')) + button_decline.connect('clicked', self._on_cancel_gc_invitation, event) + button_accept = Gtk.Button.new_with_mnemonic(_('_Accept')) + button_accept.connect('clicked', self._on_accept_gc_invitation, event) + self._add_info_bar_message( + markup, + [button_decline, button_accept], + (event.muc, event.reason), + Gtk.MessageType.QUESTION) + + def _on_reject_call(self, _button, event): + app.events.remove_events( + self.account, self.contact.jid, types='jingle-incoming') + + con = app.connections[self.account] + session = con.get_module('Jingle').get_jingle_session( + event.peerjid, event.sid) + if not session: + return + + if not session.accepted: + session.decline_session() + else: + for content in event.content_types: + session.reject_content(content) + + def _on_accept_call(self, _button, event): + app.events.remove_events( + self.account, self.contact.jid, types='jingle-incoming') + + con = app.connections[self.account] + session = con.get_module('Jingle').get_jingle_session( + event.peerjid, event.sid) + if not session: + return + + audio = session.get_content('audio') + video = session.get_content('video') + + if audio and not audio.negotiated: + self.set_jingle_state('audio', JingleState.CONNECTING, event.sid) + if video and not video.negotiated: + self.set_jingle_state('video', JingleState.CONNECTING, event.sid) + + if not session.accepted: + session.approve_session() + + for content in event.content_types: + session.approve_content(content) + + def add_call_received_message(self, event): + markup = '%s' % (_('Incoming Call')) + if 'video' in event.content_types: + markup += _('\nVideo Call') + else: + markup += _('\nVoice Call') + + button_reject = Gtk.Button.new_with_mnemonic(_('_Reject')) + button_reject.connect('clicked', self._on_reject_call, event) + button_accept = Gtk.Button.new_with_mnemonic(_('_Accept')) + button_accept.connect('clicked', self._on_accept_call, event) + self._add_info_bar_message( + markup, + [button_reject, button_accept], + event, + Gtk.MessageType.QUESTION) + + def on_event_added(self, event): + if event.account != self.account: + return + if event.jid != self.contact.jid: + return + if event.type_ == 'file-request': + self._got_file_request(event.file_props) + elif event.type_ == 'file-completed': + self._got_file_completed(event.file_props) + elif event.type_ in ('file-error', 'file-stopped'): + msg_err = '' + if event.file_props.error == -1: + msg_err = _('Remote contact stopped transfer') + elif event.file_props.error == -6: + msg_err = _('Error opening file') + self._got_file_error(event.file_props, event.type_, + _('File transfer stopped'), msg_err) + elif event.type_ in ('file-request-error', 'file-send-error'): + self._got_file_error( + event.file_props, + event.type_, + _('File transfer cancelled'), + _('Connection with peer cannot be established.')) + elif event.type_ == 'gc-invitation': + self._get_gc_invitation(event) + + def on_event_removed(self, event_list): + """ + Called when one or more events are removed from the event list + """ + for ev in event_list: + if ev.account != self.account: + continue + if ev.jid != self.contact.jid: + continue + if ev.type_ not in ('file-request', + 'file-completed', + 'file-error', + 'file-stopped', + 'file-request-error', + 'file-send-error', + 'gc-invitation', + 'jingle-incoming'): + continue + i = 0 + removed = False + for ib_msg in self.info_bar_queue: + if ev.type_ == 'gc-invitation': + if ev.muc == ib_msg[2][0]: + self.info_bar_queue.remove(ib_msg) + removed = True + elif ev.type_ == 'jingle-incoming': + # TODO: Need to be more specific here? + self.info_bar_queue.remove(ib_msg) + removed = True + else: # file-* + if ib_msg[2] == ev.file_props: + self.info_bar_queue.remove(ib_msg) + removed = True + if removed: + if i == 0: + # We are removing the one currently displayed + self.info_bar.set_no_show_all(True) + self.info_bar.hide() + # show next one? + GLib.idle_add(self._info_bar_show_message) + break + i += 1 diff --git a/gajim/chat_control_base.py b/gajim/chat_control_base.py new file mode 100644 index 0000000..360de06 --- /dev/null +++ b/gajim/chat_control_base.py @@ -0,0 +1,1615 @@ +# Copyright (C) 2006 Dimitur Kirov +# Copyright (C) 2006-2014 Yann Leboulanger +# Copyright (C) 2006-2008 Jean-Marie Traissard +# Nikos Kouremenos +# Travis Shirk +# Copyright (C) 2007 Lukas Petrovicky +# Julien Pivotto +# Copyright (C) 2007-2008 Brendan Taylor +# Stephan Erb +# Copyright (C) 2008 Jonathan Schleifer +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import os +import sys +import time +import uuid +import tempfile + +from gi.repository import Gtk +from gi.repository import Gdk +from gi.repository import GLib +from gi.repository import Gio + +from gajim.common import events +from gajim.common import app +from gajim.common import helpers +from gajim.common import ged +from gajim.common import i18n +from gajim.common.i18n import _ +from gajim.common.nec import EventHelper +from gajim.common.helpers import AdditionalDataDict +from gajim.common.helpers import event_filter +from gajim.common.contacts import GC_Contact +from gajim.common.const import Chatstate +from gajim.common.structs import OutgoingMessage + +from gajim import gtkgui_helpers + +from gajim.conversation_textview import ConversationTextview + +from gajim.gui.dialogs import DialogButton +from gajim.gui.dialogs import ConfirmationDialog +from gajim.gui.dialogs import PastePreviewDialog +from gajim.gui.message_input import MessageInputTextView +from gajim.gui.util import at_the_end +from gajim.gui.util import get_show_in_roster +from gajim.gui.util import get_show_in_systray +from gajim.gui.util import get_hardware_key_codes +from gajim.gui.util import get_builder +from gajim.gui.util import generate_account_badge +from gajim.gui.const import ControlType # pylint: disable=unused-import +from gajim.gui.emoji_chooser import emoji_chooser + +from gajim.command_system.implementation.middleware import ChatCommandProcessor +from gajim.command_system.implementation.middleware import CommandTools + +# The members of these modules are not referenced directly anywhere in this +# module, but still they need to be kept around. Importing them automatically +# registers the contained CommandContainers with the command system, thereby +# populating the list of available commands. +# pylint: disable=unused-import +from gajim.command_system.implementation import standard +from gajim.command_system.implementation import execute +# pylint: enable=unused-import + +if app.is_installed('GSPELL'): + from gi.repository import Gspell # pylint: disable=ungrouped-imports + +# This is needed so copying text from the conversation textview +# works with different language layouts. Pressing the key c on a russian +# layout yields another keyval than with the english layout. +# So we match hardware keycodes instead of keyvals. +# Multiple hardware keycodes can trigger a keyval like Gdk.KEY_c. +KEYCODES_KEY_C = get_hardware_key_codes(Gdk.KEY_c) + +if sys.platform == 'darwin': + COPY_MODIFIER = Gdk.ModifierType.META_MASK + COPY_MODIFIER_KEYS = (Gdk.KEY_Meta_L, Gdk.KEY_Meta_R) +else: + COPY_MODIFIER = Gdk.ModifierType.CONTROL_MASK + COPY_MODIFIER_KEYS = (Gdk.KEY_Control_L, Gdk.KEY_Control_R) + + +################################################################################ +class ChatControlBase(ChatCommandProcessor, CommandTools, EventHelper): + """ + A base class containing a banner, ConversationTextview, MessageInputTextView + """ + + _type = None # type: ControlType + + def __init__(self, parent_win, widget_name, contact, acct, + resource=None): + EventHelper.__init__(self) + # Undo needs this variable to know if space has been pressed. + # Initialize it to True so empty textview is saved in undo list + self.space_pressed = True + + if resource is None: + # We very likely got a contact with a random resource. + # This is bad, we need the highest for caps etc. + _contact = app.contacts.get_contact_with_highest_priority( + acct, contact.jid) + if _contact and not isinstance(_contact, GC_Contact): + contact = _contact + + self.handlers = {} + self.parent_win = parent_win + self.contact = contact + self.account = acct + self.resource = resource + + # control_id is a unique id for the control, + # its used as action name for actions that belong to a control + self.control_id = str(uuid.uuid4()) + self.session = None + + app.last_message_time[self.account][self.get_full_jid()] = 0 + + self.xml = get_builder('%s.ui' % widget_name) + self.xml.connect_signals(self) + self.widget = self.xml.get_object('%s_hbox' % widget_name) + + self._accounts = app.get_enabled_accounts_with_labels() + if len(self._accounts) > 1: + account_badge = generate_account_badge(self.account) + account_badge.set_tooltip_text( + _('Account: %s') % app.get_account_label(self.account)) + self.xml.account_badge.add(account_badge) + account_badge.show() + + # Drag and drop + self.xml.overlay.add_overlay(self.xml.drop_area) + self.xml.drop_area.hide() + self.xml.overlay.connect( + 'drag-data-received', self._on_drag_data_received) + self.xml.overlay.connect('drag-motion', self._on_drag_motion) + self.xml.overlay.connect('drag-leave', self._on_drag_leave) + + self.TARGET_TYPE_URI_LIST = 80 + uri_entry = Gtk.TargetEntry.new( + 'text/uri-list', + Gtk.TargetFlags.OTHER_APP, + self.TARGET_TYPE_URI_LIST) + dst_targets = Gtk.TargetList.new([uri_entry]) + dst_targets.add_text_targets(0) + self._dnd_list = [uri_entry, + Gtk.TargetEntry.new( + 'MY_TREE_MODEL_ROW', + Gtk.TargetFlags.SAME_APP, + 0)] + + self.xml.overlay.drag_dest_set( + Gtk.DestDefaults.ALL, + self._dnd_list, + Gdk.DragAction.COPY | Gdk.DragAction.MOVE) + self.xml.overlay.drag_dest_set_target_list(dst_targets) + + # Create textviews and connect signals + self.conv_textview = ConversationTextview(self.account) + + id_ = self.conv_textview.connect('quote', self.on_quote) + self.handlers[id_] = self.conv_textview + + self.conv_textview.tv.connect('key-press-event', + self._on_conv_textview_key_press_event) + + # This is a workaround: as soon as a line break occurs in Gtk.TextView + # with word-char wrapping enabled, a hyphen character is automatically + # inserted before the line break. This triggers the hscrollbar to show, + # see: https://gitlab.gnome.org/GNOME/gtk/-/issues/2384 + # Using set_hscroll_policy(Gtk.Scrollable.Policy.NEVER) would cause bad + # performance during resize, and prevent the window from being shrunk + # horizontally under certain conditions (applies to GroupchatControl) + hscrollbar = self.xml.conversation_scrolledwindow.get_hscrollbar() + hscrollbar.hide() + + self.xml.conversation_scrolledwindow.add(self.conv_textview.tv) + widget = self.xml.conversation_scrolledwindow.get_vadjustment() + widget.connect('changed', self.on_conversation_vadjustment_changed) + + vscrollbar = self.xml.conversation_scrolledwindow.get_vscrollbar() + vscrollbar.connect('button-release-event', + self._on_scrollbar_button_release) + + self.msg_textview = MessageInputTextView() + self.msg_textview.connect('paste-clipboard', + self._on_message_textview_paste_event) + self.msg_textview.connect('key-press-event', + self._on_message_textview_key_press_event) + self.msg_textview.connect('populate-popup', + self.on_msg_textview_populate_popup) + self.msg_textview.get_buffer().connect( + 'changed', self._on_message_tv_buffer_changed) + + # Send message button + self.xml.send_message_button.set_action_name( + 'win.send-message-%s' % self.control_id) + self.xml.send_message_button.set_visible( + app.settings.get('show_send_message_button')) + app.settings.bind_signal( + 'show_send_message_button', + self.xml.send_message_button, + 'set_visible') + + self.msg_scrolledwindow = ScrolledWindow() + self.msg_scrolledwindow.set_margin_start(3) + self.msg_scrolledwindow.set_margin_end(3) + self.msg_scrolledwindow.get_style_context().add_class( + 'message-input-border') + self.msg_scrolledwindow.add(self.msg_textview) + + self.xml.hbox.pack_start(self.msg_scrolledwindow, True, True, 0) + + # the following vars are used to keep history of user's messages + self.sent_history = [] + self.sent_history_pos = 0 + self.received_history = [] + self.received_history_pos = 0 + self.orig_msg = None + + # For XEP-0333 + self.last_msg_id = None + + self.correcting = False + self.last_sent_msg = None + + self.set_emoticon_popover() + + # Attach speller + self.set_speller() + self.conv_textview.tv.show() + + # For XEP-0172 + self.user_nick = None + + self.command_hits = [] + self.last_key_tabs = False + + self.sendmessage = True + + con = app.connections[self.account] + con.get_module('Chatstate').set_active(self.contact) + + if parent_win is not None: + id_ = parent_win.window.connect('motion-notify-event', + self._on_window_motion_notify) + self.handlers[id_] = parent_win.window + + self.encryption = self.get_encryption_state() + self.conv_textview.encryption_enabled = self.encryption is not None + + # PluginSystem: adding GUI extension point for ChatControlBase + # instance object (also subclasses, eg. ChatControl or GroupchatControl) + app.plugin_manager.gui_extension_point('chat_control_base', self) + + # pylint: disable=line-too-long + self.register_events([ + ('our-show', ged.GUI1, self._nec_our_status), + ('ping-sent', ged.GUI1, self._nec_ping), + ('ping-reply', ged.GUI1, self._nec_ping), + ('ping-error', ged.GUI1, self._nec_ping), + ('sec-catalog-received', ged.GUI1, self._sec_labels_received), + ('style-changed', ged.GUI1, self._style_changed), + ]) + # pylint: enable=line-too-long + + # This is basically a very nasty hack to surpass the inability + # to properly use the super, because of the old code. + CommandTools.__init__(self) + + def _on_conv_textview_key_press_event(self, textview, event): + if event.get_state() & Gdk.ModifierType.SHIFT_MASK: + if event.keyval in (Gdk.KEY_Page_Down, Gdk.KEY_Page_Up): + return Gdk.EVENT_PROPAGATE + + if event.keyval in COPY_MODIFIER_KEYS: + # Don’t route modifier keys for copy action to the Message Input + # otherwise pressing CTRL/META + c (the next event after that) + # will not reach the textview (because the Message Input would get + # focused). + return Gdk.EVENT_PROPAGATE + + if event.get_state() & COPY_MODIFIER: + # Don’t reroute the event if it is META + c and the + # textview has a selection + if event.hardware_keycode in KEYCODES_KEY_C: + if textview.get_buffer().props.has_selection: + return Gdk.EVENT_PROPAGATE + + if not self.msg_textview.get_sensitive(): + # If the input textview is not sensitive it can’t get the focus. + # In that case propagate_key_event() would send the event again + # to the conversation textview. This would mean a recursion. + return Gdk.EVENT_PROPAGATE + + # Focus the Message Input and resend the event + self.msg_textview.grab_focus() + self.msg_textview.get_toplevel().propagate_key_event(event) + return Gdk.EVENT_STOP + + @property + def type(self): + return self._type + + @property + def is_chat(self): + return self._type.is_chat + + @property + def is_privatechat(self): + return self._type.is_privatechat + + @property + def is_groupchat(self): + return self._type.is_groupchat + + def get_full_jid(self): + fjid = self.contact.jid + if self.resource: + fjid += '/' + self.resource + return fjid + + def minimizable(self): + """ + Called to check if control can be minimized + + Derived classes MAY implement this. + """ + return False + + def safe_shutdown(self): + """ + Called to check if control can be closed without losing data. + returns True if control can be closed safely else False + + Derived classes MAY implement this. + """ + return True + + def allow_shutdown(self, method, on_response_yes, on_response_no, + on_response_minimize): + """ + Called to check is a control is allowed to shutdown. + If a control is not in a suitable shutdown state this method + should call on_response_no, else on_response_yes or + on_response_minimize + + Derived classes MAY implement this. + """ + on_response_yes(self) + + def focus(self): + raise NotImplementedError + + def get_nb_unread(self): + jid = self.contact.jid + if self.resource: + jid += '/' + self.resource + return len(app.events.get_events( + self.account, + jid, + ['printed_%s' % self._type, str(self._type)])) + + def draw_banner(self): + """ + Draw the fat line at the top of the window + that houses the icon, jid, etc + + Derived types MAY implement this. + """ + self.draw_banner_text() + + def update_toolbar(self): + """ + update state of buttons in toolbar + """ + self._update_toolbar() + app.plugin_manager.gui_extension_point( + 'chat_control_base_update_toolbar', self) + + def draw_banner_text(self): + """ + Derived types SHOULD implement this + """ + + def update_ui(self): + """ + Derived types SHOULD implement this + """ + self.draw_banner() + + def repaint_themed_widgets(self): + """ + Derived types MAY implement this + """ + self.draw_banner() + + def _update_toolbar(self): + """ + Derived types MAY implement this + """ + + def get_tab_label(self, chatstate): + """ + Return a suitable tab label string. Returns a tuple such as: (label_str, + color) either of which can be None if chatstate is given that means we + have HE SENT US a chatstate and we want it displayed + + Derivded classes MUST implement this. + """ + # Return a markup'd label and optional Gtk.Color in a tuple like: + # return (label_str, None) + + def get_tab_image(self): + # Return a suitable tab image for display. + return None + + def prepare_context_menu(self, hide_buttonbar_items=False): + """ + Derived classes SHOULD implement this + """ + return None + + def set_session(self, session): + oldsession = None + if hasattr(self, 'session'): + oldsession = self.session + + if oldsession and session == oldsession: + return + + self.session = session + + if session: + session.control = self + + if session and oldsession: + oldsession.control = None + + def remove_session(self, session): + if session != self.session: + return + self.session.control = None + self.session = None + + @event_filter(['account']) + def _nec_our_status(self, event): + if event.show == 'connecting': + return + + if event.show == 'offline': + self.got_disconnected() + else: + self.got_connected() + if self.parent_win: + self.parent_win.redraw_tab(self) + + def _nec_ping(self, obj): + raise NotImplementedError + + def setup_seclabel(self): + self.xml.label_selector.hide() + self.xml.label_selector.set_no_show_all(True) + lb = Gtk.ListStore(str) + self.xml.label_selector.set_model(lb) + cell = Gtk.CellRendererText() + cell.set_property('xpad', 5) # padding for status text + self.xml.label_selector.pack_start(cell, True) + # text to show is in in first column of liststore + self.xml.label_selector.add_attribute(cell, 'text', 0) + con = app.connections[self.account] + jid = self.contact.jid + if self._type.is_privatechat: + jid = self.gc_contact.room_jid + if con.get_module('SecLabels').supported: + con.get_module('SecLabels').request_catalog(jid) + + def _sec_labels_received(self, event): + if event.account != self.account: + return + + jid = self.contact.jid + if self._type.is_privatechat: + jid = self.gc_contact.room_jid + + if event.jid != jid: + return + model = self.xml.label_selector.get_model() + model.clear() + + sel = 0 + labellist = event.catalog.get_label_names() + default = event.catalog.default + for index, label in enumerate(labellist): + model.append([label]) + if label == default: + sel = index + + self.xml.label_selector.set_active(sel) + self.xml.label_selector.set_no_show_all(False) + self.xml.label_selector.show_all() + + def delegate_action(self, action): + if action == 'browse-history': + dict_ = {'jid': GLib.Variant('s', self.contact.jid), + 'account': GLib.Variant('s', self.account)} + variant = GLib.Variant('a{sv}', dict_) + app.app.activate_action('browse-history', variant) + return Gdk.EVENT_STOP + + if action == 'clear-chat': + self.conv_textview.clear() + return Gdk.EVENT_STOP + + if action == 'delete-line': + self.clear(self.msg_textview) + return Gdk.EVENT_STOP + + if action == 'show-emoji-chooser': + if sys.platform in ('win32', 'darwin'): + self.xml.emoticons_button.get_popover().show() + return Gdk.EVENT_STOP + self.msg_textview.emit('insert-emoji') + return Gdk.EVENT_STOP + + return Gdk.EVENT_PROPAGATE + + def add_actions(self): + action = Gio.SimpleAction.new_stateful( + 'set-encryption-%s' % self.control_id, + GLib.VariantType.new('s'), + GLib.Variant('s', self.encryption or 'disabled')) + action.connect('change-state', self.change_encryption) + self.parent_win.window.add_action(action) + + actions = { + 'send-message-%s': self._on_send_message, + 'send-file-%s': self._on_send_file, + 'send-file-httpupload-%s': self._on_send_file, + 'send-file-jingle-%s': self._on_send_file, + } + + for name, func in actions.items(): + action = Gio.SimpleAction.new(name % self.control_id, None) + action.connect('activate', func) + action.set_enabled(False) + self.parent_win.window.add_action(action) + + def remove_actions(self): + actions = [ + 'send-message-', + 'set-encryption-', + 'send-file-', + 'send-file-httpupload-', + 'send-file-jingle-', + ] + + for action in actions: + self.parent_win.window.remove_action(f'{action}{self.control_id}') + + def change_encryption(self, action, param): + encryption = param.get_string() + if encryption == 'disabled': + encryption = None + + if self.encryption == encryption: + return + + if encryption: + plugin = app.plugin_manager.encryption_plugins[encryption] + if not plugin.activate_encryption(self): + return + + action.set_state(param) + self.set_encryption_state(encryption) + self.set_encryption_menu_icon() + self.set_lock_image() + + def set_lock_image(self): + encryption_state = {'visible': self.encryption is not None, + 'enc_type': self.encryption, + 'authenticated': False} + + if self.encryption: + app.plugin_manager.extension_point( + 'encryption_state' + self.encryption, self, encryption_state) + + visible, enc_type, authenticated = encryption_state.values() + + if authenticated: + authenticated_string = _('and authenticated') + self.xml.lock_image.set_from_icon_name( + 'security-high-symbolic', Gtk.IconSize.MENU) + else: + authenticated_string = _('and NOT authenticated') + self.xml.lock_image.set_from_icon_name( + 'security-low-symbolic', Gtk.IconSize.MENU) + + tooltip = _('%(type)s encryption is active %(authenticated)s.') % { + 'type': enc_type, 'authenticated': authenticated_string} + + self.xml.authentication_button.set_tooltip_text(tooltip) + self.xml.authentication_button.set_visible(visible) + self.xml.lock_image.set_sensitive(visible) + + def _on_authentication_button_clicked(self, _button): + app.plugin_manager.extension_point( + 'encryption_dialog' + self.encryption, self) + + def set_encryption_state(self, encryption): + self.encryption = encryption + self.conv_textview.encryption_enabled = encryption is not None + self.contact.settings.set('encryption', self.encryption or '') + + def get_encryption_state(self): + state = self.contact.settings.get('encryption') + if not state: + return None + if state not in app.plugin_manager.encryption_plugins: + self.set_encryption_state(None) + return None + return state + + def set_encryption_menu_icon(self): + image = self.xml.encryption_menu.get_image() + if image is None: + image = Gtk.Image() + self.xml.encryption_menu.set_image(image) + if not self.encryption: + image.set_from_icon_name('channel-insecure-symbolic', + Gtk.IconSize.MENU) + else: + image.set_from_icon_name('channel-secure-symbolic', + Gtk.IconSize.MENU) + + def set_speller(self): + if not app.is_installed('GSPELL') or not app.settings.get('use_speller'): + return + + gspell_lang = self.get_speller_language() + spell_checker = Gspell.Checker.new(gspell_lang) + spell_buffer = Gspell.TextBuffer.get_from_gtk_text_buffer( + self.msg_textview.get_buffer()) + spell_buffer.set_spell_checker(spell_checker) + spell_view = Gspell.TextView.get_from_gtk_text_view(self.msg_textview) + spell_view.set_inline_spell_checking(False) + spell_view.set_enable_language_menu(True) + + spell_checker.connect('notify::language', self.on_language_changed) + + def get_speller_language(self): + lang = self.contact.settings.get('speller_language') + if not lang: + # use the default one + lang = app.settings.get('speller_language') + if not lang: + lang = i18n.LANG + gspell_lang = Gspell.language_lookup(lang) + if gspell_lang is None: + gspell_lang = Gspell.language_get_default() + return gspell_lang + + def on_language_changed(self, checker, _param): + gspell_lang = checker.get_language() + self.contact.settings.set('speller_language', gspell_lang.get_code()) + + def on_banner_label_populate_popup(self, _label, menu): + """ + Override the default context menu and add our own menuitems + """ + item = Gtk.SeparatorMenuItem.new() + menu.prepend(item) + + menu2 = self.prepare_context_menu() # pylint: disable=assignment-from-none + i = 0 + for item in menu2: + menu2.remove(item) + menu.prepend(item) + menu.reorder_child(item, i) + i += 1 + menu.show_all() + + def shutdown(self): + # remove_gui_extension_point() is called on shutdown, but also when + # a plugin is getting disabled. Plugins don’t know the difference. + # Plugins might want to remove their widgets on + # remove_gui_extension_point(), so delete the objects only afterwards. + app.plugin_manager.remove_gui_extension_point('chat_control_base', self) + app.plugin_manager.remove_gui_extension_point( + 'chat_control_base_update_toolbar', self) + + for i in list(self.handlers.keys()): + if self.handlers[i].handler_is_connected(i): + self.handlers[i].disconnect(i) + self.handlers.clear() + + self.conv_textview.del_handlers() + del self.conv_textview + del self.msg_textview + del self.msg_scrolledwindow + + self.widget.destroy() + del self.widget + + del self.xml + + self.unregister_events() + + def on_msg_textview_populate_popup(self, _textview, menu): + """ + Override the default context menu and we prepend an option to switch + languages + """ + item = Gtk.MenuItem.new_with_mnemonic(_('_Undo')) + menu.prepend(item) + id_ = item.connect('activate', self.msg_textview.undo) + self.handlers[id_] = item + + item = Gtk.SeparatorMenuItem.new() + menu.prepend(item) + + item = Gtk.MenuItem.new_with_mnemonic(_('_Clear')) + menu.prepend(item) + id_ = item.connect('activate', self.msg_textview.clear) + self.handlers[id_] = item + + paste_item = Gtk.MenuItem.new_with_label(_('Paste as quote')) + id_ = paste_item.connect('activate', self.paste_clipboard_as_quote) + self.handlers[id_] = paste_item + menu.append(paste_item) + + menu.show_all() + + def insert_as_quote(self, text: str) -> None: + text = '> ' + text.replace('\n', '\n> ') + '\n' + message_buffer = self.msg_textview.get_buffer() + message_buffer.insert_at_cursor(text) + + def paste_clipboard_as_quote(self, _item: Gtk.MenuItem) -> None: + clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) + text = clipboard.wait_for_text() + if text is None: + return + self.insert_as_quote(text) + + def on_quote(self, _widget, text): + self.insert_as_quote(text) + + # moved from ChatControl + def _on_banner_eventbox_button_press_event(self, _widget, event): + """ + If right-clicked, show popup + """ + if event.button == 3: # right click + self.parent_win.popup_menu(event) + + def _on_message_textview_paste_event(self, _texview): + clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) + image = clipboard.wait_for_image() + if image is not None: + if not app.settings.get('confirm_paste_image'): + self._paste_event_confirmed(True, image) + return + PastePreviewDialog( + _('Paste Image'), + _('You are trying to paste an image'), + _('Are you sure you want to paste your ' + 'clipboard\'s image into the chat window?'), + _('_Do not ask me again'), + image, + [DialogButton.make('Cancel'), + DialogButton.make('Accept', + text=_('_Paste'), + callback=self._paste_event_confirmed, + args=[image])]).show() + + def _paste_event_confirmed(self, is_checked, image): + if is_checked: + app.settings.set('confirm_paste_image', False) + + dir_ = tempfile.gettempdir() + path = os.path.join(dir_, '%s.png' % str(uuid.uuid4())) + image.savev(path, 'png', [], []) + + self._start_filetransfer(path) + + def _get_pref_ft_method(self): + ft_pref = app.settings.get_account_setting(self.account, + 'filetransfer_preference') + httpupload = self.parent_win.window.lookup_action( + 'send-file-httpupload-%s' % self.control_id) + jingle = self.parent_win.window.lookup_action( + 'send-file-jingle-%s' % self.control_id) + + if self._type.is_groupchat: + if httpupload.get_enabled(): + return 'httpupload' + return None + + if httpupload.get_enabled() and jingle.get_enabled(): + return ft_pref + + if httpupload.get_enabled(): + return 'httpupload' + + if jingle.get_enabled(): + return 'jingle' + return None + + def _start_filetransfer(self, path): + method = self._get_pref_ft_method() + if method is None: + return + + if method == 'httpupload': + app.interface.send_httpupload(self, path) + + else: + ft = app.interface.instances['file_transfers'] + ft.send_file(self.account, self.contact, path) + + def _on_message_textview_key_press_event(self, textview, event): + if event.keyval == Gdk.KEY_space: + self.space_pressed = True + + elif (self.space_pressed or self.msg_textview.undo_pressed) and \ + event.keyval not in (Gdk.KEY_Control_L, Gdk.KEY_Control_R) and \ + not (event.keyval == Gdk.KEY_z and event.get_state() & Gdk.ModifierType.CONTROL_MASK): + # If the space key has been pressed and now it hasn't, + # we save the buffer into the undo list. But be careful we're not + # pressing Control again (as in ctrl+z) + _buffer = textview.get_buffer() + start_iter, end_iter = _buffer.get_bounds() + self.msg_textview.save_undo(_buffer.get_text(start_iter, + end_iter, + True)) + self.space_pressed = False + + # Ctrl [+ Shift] + Tab are not forwarded to notebook. We handle it here + if self._type.is_groupchat: + if event.keyval not in (Gdk.KEY_ISO_Left_Tab, Gdk.KEY_Tab): + self.last_key_tabs = False + + if event.get_state() & Gdk.ModifierType.SHIFT_MASK: + if event.get_state() & Gdk.ModifierType.CONTROL_MASK and \ + event.keyval == Gdk.KEY_ISO_Left_Tab: + self.parent_win.move_to_next_unread_tab(False) + return True + + if event.keyval in (Gdk.KEY_Page_Down, Gdk.KEY_Page_Up): + self.conv_textview.tv.event(event) + self._on_scroll(None, event.keyval) + return True + + if event.get_state() & Gdk.ModifierType.CONTROL_MASK: + if event.keyval == Gdk.KEY_Tab: + self.parent_win.move_to_next_unread_tab(True) + return True + + message_buffer = self.msg_textview.get_buffer() + event_state = event.get_state() + if event.keyval == Gdk.KEY_Tab: + start, end = message_buffer.get_bounds() + position = message_buffer.get_insert() + end = message_buffer.get_iter_at_mark(position) + text = message_buffer.get_text(start, end, False) + split = text.split() + if (text.startswith(self.COMMAND_PREFIX) and + not text.startswith(self.COMMAND_PREFIX * 2) and + len(split) == 1): + text = split[0] + bare = text.lstrip(self.COMMAND_PREFIX) + if len(text) == 1: + self.command_hits = [] + for command in self.list_commands(): + for name in command.names: + self.command_hits.append(name) + else: + if (self.last_key_tabs and self.command_hits and + self.command_hits[0].startswith(bare)): + self.command_hits.append(self.command_hits.pop(0)) + else: + self.command_hits = [] + for command in self.list_commands(): + for name in command.names: + if name.startswith(bare): + self.command_hits.append(name) + + if self.command_hits: + message_buffer.delete(start, end) + message_buffer.insert_at_cursor(self.COMMAND_PREFIX + \ + self.command_hits[0] + ' ') + self.last_key_tabs = True + return True + if not self._type.is_groupchat: + self.last_key_tabs = False + if event.keyval == Gdk.KEY_Up: + if event_state & Gdk.ModifierType.CONTROL_MASK: + if event_state & Gdk.ModifierType.SHIFT_MASK: # Ctrl+Shift+UP + self.scroll_messages('up', message_buffer, 'received') + else: # Ctrl+UP + self.scroll_messages('up', message_buffer, 'sent') + return True + elif event.keyval == Gdk.KEY_Down: + if event_state & Gdk.ModifierType.CONTROL_MASK: + if event_state & Gdk.ModifierType.SHIFT_MASK: # Ctrl+Shift+Down + self.scroll_messages('down', message_buffer, 'received') + else: # Ctrl+Down + self.scroll_messages('down', message_buffer, 'sent') + return True + elif (event.keyval == Gdk.KEY_Return or + event.keyval == Gdk.KEY_KP_Enter): # ENTER + + if event_state & Gdk.ModifierType.SHIFT_MASK: + textview.insert_newline() + return True + + if event_state & Gdk.ModifierType.CONTROL_MASK: + if not app.settings.get('send_on_ctrl_enter'): + textview.insert_newline() + return True + else: + if app.settings.get('send_on_ctrl_enter'): + textview.insert_newline() + return True + + if not app.account_is_available(self.account): + # we are not connected + app.interface.raise_dialog('not-connected-while-sending') + return True + + self._on_send_message() + return True + + elif event.keyval == Gdk.KEY_z: # CTRL+z + if event_state & Gdk.ModifierType.CONTROL_MASK: + self.msg_textview.undo() + return True + + return False + + def _on_drag_data_received(self, widget, context, x, y, selection, + target_type, timestamp): + """ + Derived types SHOULD implement this + """ + + def _on_drag_leave(self, *args): + self.xml.drop_area.set_no_show_all(True) + self.xml.drop_area.hide() + + def _on_drag_motion(self, *args): + self.xml.drop_area.set_no_show_all(False) + self.xml.drop_area.show_all() + + def drag_data_file_transfer(self, selection): + # we may have more than one file dropped + uri_splitted = selection.get_uris() + for uri in uri_splitted: + path = helpers.get_file_path_from_dnd_dropped_uri(uri) + if not os.path.isfile(path): # is it a file? + continue + + self._start_filetransfer(path) + + def get_seclabel(self): + idx = self.xml.label_selector.get_active() + if idx == -1: + return None + + con = app.connections[self.account] + jid = self.contact.jid + if self._type.is_privatechat: + jid = self.gc_contact.room_jid + catalog = con.get_module('SecLabels').get_catalog(jid) + labels, label_list = catalog.labels, catalog.get_label_names() + lname = label_list[idx] + label = labels[lname] + return label + + def _on_send_message(self, *args): + self.msg_textview.replace_emojis() + message = self.msg_textview.get_text() + xhtml = self.msg_textview.get_xhtml() + self.send_message(message, xhtml=xhtml) + + def send_message(self, + message, + type_='chat', + resource=None, + xhtml=None, + process_commands=True, + attention=False): + """ + Send the given message to the active tab. Doesn't return None if error + """ + if not message or message == '\n': + return None + + if process_commands and self.process_as_command(message): + return + + label = self.get_seclabel() + + if self.correcting and self.last_sent_msg: + correct_id = self.last_sent_msg + else: + correct_id = None + + con = app.connections[self.account] + chatstate = con.get_module('Chatstate').get_active_chatstate( + self.contact) + + message_ = OutgoingMessage(account=self.account, + contact=self.contact, + message=message, + type_=type_, + chatstate=chatstate, + resource=resource, + user_nick=self.user_nick, + label=label, + control=self, + attention=attention, + correct_id=correct_id, + xhtml=xhtml) + + con.send_message(message_) + + # Record the history of sent messages + self.save_message(message, 'sent') + + # Be sure to send user nickname only once according to JEP-0172 + self.user_nick = None + + # Clear msg input + message_buffer = self.msg_textview.get_buffer() + message_buffer.set_text('') # clear message buffer (and tv of course) + + def _on_window_motion_notify(self, *args): + """ + It gets called no matter if it is the active window or not + """ + if not self.parent_win: + # when a groupchat is minimized there is no parent window + return + if self.parent_win.get_active_jid() == self.contact.jid: + # if window is the active one, set last interaction + con = app.connections[self.account] + con.get_module('Chatstate').set_mouse_activity( + self.contact, self.msg_textview.has_text()) + + def _on_message_tv_buffer_changed(self, textbuffer): + has_text = self.msg_textview.has_text() + if self.parent_win is not None: + self.parent_win.window.lookup_action( + 'send-message-' + self.control_id).set_enabled(has_text) + + if textbuffer.get_char_count() and self.encryption: + app.plugin_manager.extension_point( + 'typing' + self.encryption, self) + + con = app.connections[self.account] + con.get_module('Chatstate').set_keyboard_activity(self.contact) + if not has_text: + con.get_module('Chatstate').set_chatstate_delayed(self.contact, + Chatstate.ACTIVE) + return + con.get_module('Chatstate').set_chatstate(self.contact, + Chatstate.COMPOSING) + + def save_message(self, message, msg_type): + # save the message, so user can scroll though the list with key up/down + if msg_type == 'sent': + history = self.sent_history + pos = self.sent_history_pos + else: + history = self.received_history + pos = self.received_history_pos + size = len(history) + scroll = pos != size + # we don't want size of the buffer to grow indefinitely + max_size = app.settings.get('key_up_lines') + for _i in range(size - max_size + 1): + if pos == 0: + break + history.pop(0) + pos -= 1 + history.append(message) + if not scroll or msg_type == 'sent': + pos = len(history) + if msg_type == 'sent': + self.sent_history_pos = pos + self.orig_msg = None + else: + self.received_history_pos = pos + + def add_info_message(self, text, message_id=None): + self.conv_textview.print_conversation_line( + text, 'info', '', None, message_id=message_id, graphics=False) + + def add_status_message(self, text): + self.conv_textview.print_conversation_line( + text, 'status', '', None) + + def add_message(self, + text, + kind, + name, + tim, + other_tags_for_name=None, + other_tags_for_time=None, + other_tags_for_text=None, + restored=False, + subject=None, + old_kind=None, + displaymarking=None, + msg_log_id=None, + message_id=None, + stanza_id=None, + correct_id=None, + additional_data=None, + marker=None, + error=None): + """ + Print 'chat' type messages + correct_id = (message_id, correct_id) + """ + jid = self.contact.jid + full_jid = self.get_full_jid() + textview = self.conv_textview + end = False + if self.conv_textview.autoscroll or kind == 'outgoing': + end = True + + if other_tags_for_name is None: + other_tags_for_name = [] + if other_tags_for_time is None: + other_tags_for_time = [] + if other_tags_for_text is None: + other_tags_for_text = [] + if additional_data is None: + additional_data = AdditionalDataDict() + + textview.print_conversation_line(text, + kind, + name, + tim, + other_tags_for_name, + other_tags_for_time, + other_tags_for_text, + subject, + old_kind, + displaymarking=displaymarking, + message_id=message_id, + correct_id=correct_id, + additional_data=additional_data, + marker=marker, + error=error) + + if restored: + return + + if message_id: + if self._type.is_groupchat: + self.last_msg_id = stanza_id or message_id + else: + self.last_msg_id = message_id + + if kind == 'incoming': + if (not self._type.is_groupchat or + self.contact.can_notify() or + 'marked' in other_tags_for_text): + # it's a normal message, or a muc message with want to be + # notified about if quitting just after + # other_tags_for_text == ['marked'] --> highlighted gc message + app.last_message_time[self.account][full_jid] = time.time() + + if kind in ('incoming', 'incoming_queue'): + # Record the history of received messages + self.save_message(text, 'received') + + # Send chat marker if we’re actively following the chat + if self.parent_win and self.contact.settings.get('send_marker'): + if (self.parent_win.get_active_control() == self and + self.parent_win.is_active() and + self.has_focus() and end): + con = app.connections[self.account] + con.get_module('ChatMarkers').send_displayed_marker( + self.contact, + self.last_msg_id, + self._type) + + if kind in ('incoming', 'incoming_queue', 'error'): + gc_message = False + if self._type.is_groupchat: + gc_message = True + + if ((self.parent_win and (not self.parent_win.get_active_control() or \ + self != self.parent_win.get_active_control() or \ + not self.parent_win.is_active() or not end)) or \ + (gc_message and \ + jid in app.interface.minimized_controls[self.account])) and \ + kind in ('incoming', 'incoming_queue', 'error'): + # we want to have save this message in events list + # other_tags_for_text == ['marked'] --> highlighted gc message + if gc_message: + if 'marked' in other_tags_for_text: + event_type = events.PrintedMarkedGcMsgEvent + else: + event_type = events.PrintedGcMsgEvent + event = 'gc_message_received' + else: + if self._type.is_chat: + event_type = events.PrintedChatEvent + else: + event_type = events.PrintedPmEvent + event = 'message_received' + show_in_roster = get_show_in_roster(event, self.session) + show_in_systray = get_show_in_systray( + event_type.type_, self.account, self.contact.jid) + + event = event_type(text, + subject, + self, + msg_log_id, + message_id=message_id, + stanza_id=stanza_id, + show_in_roster=show_in_roster, + show_in_systray=show_in_systray) + app.events.add_event(self.account, full_jid, event) + # We need to redraw contact if we show in roster + if show_in_roster: + app.interface.roster.draw_contact(self.contact.jid, + self.account) + + if not self.parent_win: + return + + if (not self.parent_win.get_active_control() or \ + self != self.parent_win.get_active_control() or \ + not self.parent_win.is_active() or not end) and \ + kind in ('incoming', 'incoming_queue', 'error'): + self.parent_win.redraw_tab(self) + if not self.parent_win.is_active(): + self.parent_win.show_title(True, self) # Enabled Urgent hint + else: + self.parent_win.show_title(False, self) # Disabled Urgent hint + + def toggle_emoticons(self): + """ + Hide show emoticons_button + """ + if app.settings.get('emoticons_theme'): + self.xml.emoticons_button.set_no_show_all(False) + self.xml.emoticons_button.show() + else: + self.xml.emoticons_button.set_no_show_all(True) + self.xml.emoticons_button.hide() + + def set_emoticon_popover(self): + if not app.settings.get('emoticons_theme'): + return + + if not self.parent_win: + return + + if sys.platform in ('win32', 'darwin'): + emoji_chooser.text_widget = self.msg_textview + self.xml.emoticons_button.set_popover(emoji_chooser) + return + + self.xml.emoticons_button.set_sensitive(True) + self.xml.emoticons_button.connect('clicked', + self._on_emoticon_button_clicked) + + def _on_emoticon_button_clicked(self, _widget): + # Present GTK emoji chooser (not cross platform compatible) + self.msg_textview.emit('insert-emoji') + self.xml.emoticons_button.set_property('active', False) + + def on_color_menuitem_activate(self, _widget): + color_dialog = Gtk.ColorChooserDialog(None, self.parent_win.window) + color_dialog.set_use_alpha(False) + color_dialog.connect('response', self.msg_textview.color_set) + color_dialog.show_all() + + def on_font_menuitem_activate(self, _widget): + font_dialog = Gtk.FontChooserDialog(None, self.parent_win.window) + start, finish = self.msg_textview.get_active_iters() + font_dialog.connect('response', self.msg_textview.font_set, start, finish) + font_dialog.show_all() + + def on_formatting_menuitem_activate(self, widget): + tag = widget.get_name() + self.msg_textview.set_tag(tag) + + def on_clear_formatting_menuitem_activate(self, _widget): + self.msg_textview.clear_tags() + + def _style_changed(self, *args): + self.update_tags() + + def update_tags(self): + self.conv_textview.update_tags() + + @staticmethod + def clear(tv): + buffer_ = tv.get_buffer() + start, end = buffer_.get_bounds() + buffer_.delete(start, end) + + def _on_send_file(self, action, _param): + name = action.get_name() + if 'httpupload' in name: + app.interface.send_httpupload(self) + return + + if 'jingle' in name: + self._on_send_file_jingle() + return + + method = self._get_pref_ft_method() + if method is None: + return + + if method == 'httpupload': + app.interface.send_httpupload(self) + else: + self._on_send_file_jingle() + + def _on_send_file_jingle(self, gc_contact=None): + """ + gc_contact can be set when we are in a groupchat control + """ + def _on_ok(_contact): + app.interface.instances['file_transfers'].show_file_send_request( + self.account, _contact) + + if self._type.is_privatechat: + gc_contact = self.gc_contact + + if not gc_contact: + _on_ok(self.contact) + return + + # gc or pm + gc_control = app.interface.msg_win_mgr.get_gc_control( + gc_contact.room_jid, self.account) + self_contact = app.contacts.get_gc_contact(self.account, + gc_control.room_jid, + gc_control.nick) + if (gc_control.is_anonymous and + gc_contact.affiliation.value not in ['admin', 'owner'] and + self_contact.affiliation.value in ['admin', 'owner']): + contact = app.contacts.get_contact(self.account, gc_contact.jid) + if not contact or contact.sub not in ('both', 'to'): + + ConfirmationDialog( + _('Privacy'), + _('Warning'), + _('If you send a file to %s, your real XMPP ' + 'address will be revealed.') % gc_contact.name, + [DialogButton.make('Cancel'), + DialogButton.make( + 'OK', + text=_('_Continue'), + callback=lambda: _on_ok(gc_contact))]).show() + return + _on_ok(gc_contact) + + def set_control_active(self, state): + con = app.connections[self.account] + if state: + self.set_emoticon_popover() + jid = self.contact.jid + if self.conv_textview.autoscroll: + # we are at the end + type_ = [f'printed_{self._type}'] + if self._type.is_groupchat: + type_ = ['printed_gc_msg', 'printed_marked_gc_msg'] + if not app.events.remove_events(self.account, + self.get_full_jid(), + types=type_): + # There were events to remove + self.redraw_after_event_removed(jid) + # XEP-0333 Send marker + con.get_module('ChatMarkers').send_displayed_marker( + self.contact, + self.last_msg_id, + self._type) + self.last_msg_id = None + # send chatstate inactive to the one we're leaving + # and active to the one we visit + if self.msg_textview.has_text(): + con.get_module('Chatstate').set_chatstate(self.contact, + Chatstate.PAUSED) + else: + con.get_module('Chatstate').set_chatstate(self.contact, + Chatstate.ACTIVE) + else: + con.get_module('Chatstate').set_chatstate(self.contact, + Chatstate.INACTIVE) + + def scroll_to_end(self, force=False): + self.conv_textview.scroll_to_end(force) + + def _on_edge_reached(self, _scrolledwindow, pos): + if pos != Gtk.PositionType.BOTTOM: + return + # Remove all events and set autoscroll True + app.log('autoscroll').info('Autoscroll enabled') + self.conv_textview.autoscroll = True + if self.resource: + jid = self.contact.get_full_jid() + else: + jid = self.contact.jid + types_list = [] + if self._type.is_groupchat: + types_list = ['printed_gc_msg', 'gc_msg', 'printed_marked_gc_msg'] + else: + types_list = [f'printed_{self._type}', str(self._type)] + + if not app.events.get_events(self.account, jid, types_list): + return + if not self.parent_win: + return + if (self.parent_win.get_active_control() == self and + self.parent_win.window.is_active()): + # we are at the end + if not app.events.remove_events( + self.account, jid, types=types_list): + # There were events to remove + self.redraw_after_event_removed(jid) + # XEP-0333 Send tag + con = app.connections[self.account] + con.get_module('ChatMarkers').send_displayed_marker( + self.contact, + self.last_msg_id, + self._type) + self.last_msg_id = None + + def _on_scrollbar_button_release(self, scrollbar, event): + if event.get_button()[1] != 1: + # We want only to catch the left mouse button + return + if not at_the_end(scrollbar.get_parent()): + app.log('autoscroll').info('Autoscroll disabled') + self.conv_textview.autoscroll = False + + def has_focus(self): + if self.parent_win: + if self.parent_win.window.get_property('has-toplevel-focus'): + if self == self.parent_win.get_active_control(): + return True + return False + + def _on_scroll(self, widget, event): + if not self.conv_textview.autoscroll: + # autoscroll is already disabled + return + + if widget is None: + # call from _conv_textview_key_press_event() + # SHIFT + Gdk.KEY_Page_Up + if event != Gdk.KEY_Page_Up: + return + else: + # On scrolling UP disable autoscroll + # get_scroll_direction() sets has_direction only TRUE + # if smooth scrolling is deactivated. If we have smooth + # smooth scrolling we have to use get_scroll_deltas() + has_direction, direction = event.get_scroll_direction() + if not has_direction: + direction = None + smooth, delta_x, delta_y = event.get_scroll_deltas() + if smooth: + if delta_y < 0: + direction = Gdk.ScrollDirection.UP + elif delta_y > 0: + direction = Gdk.ScrollDirection.DOWN + elif delta_x < 0: + direction = Gdk.ScrollDirection.LEFT + elif delta_x > 0: + direction = Gdk.ScrollDirection.RIGHT + else: + app.log('autoscroll').warning( + 'Scroll directions can’t be determined') + + if direction != Gdk.ScrollDirection.UP: + return + # Check if we have a Scrollbar + adjustment = self.xml.conversation_scrolledwindow.get_vadjustment() + if adjustment.get_upper() != adjustment.get_page_size(): + app.log('autoscroll').info('Autoscroll disabled') + self.conv_textview.autoscroll = False + + def on_conversation_vadjustment_changed(self, _adjustment): + self.scroll_to_end() + + def redraw_after_event_removed(self, jid): + """ + We just removed a 'printed_*' event, redraw contact in roster or + gc_roster and titles in roster and msg_win + """ + if not self.parent_win: # minimized groupchat + return + self.parent_win.redraw_tab(self) + self.parent_win.show_title() + # TODO : get the contact and check get_show_in_roster() + if self._type.is_privatechat: + room_jid, nick = app.get_room_and_nick_from_fjid(jid) + groupchat_control = app.interface.msg_win_mgr.get_gc_control( + room_jid, self.account) + if room_jid in app.interface.minimized_controls[self.account]: + groupchat_control = \ + app.interface.minimized_controls[self.account][room_jid] + contact = app.contacts.get_contact_with_highest_priority( + self.account, room_jid) + if contact: + app.interface.roster.draw_contact(room_jid, self.account) + if groupchat_control: + groupchat_control.roster.draw_contact(nick) + if groupchat_control.parent_win: + groupchat_control.parent_win.redraw_tab(groupchat_control) + else: + app.interface.roster.draw_contact(jid, self.account) + app.interface.roster.show_title() + + def scroll_messages(self, direction, msg_buf, msg_type): + if msg_type == 'sent': + history = self.sent_history + pos = self.sent_history_pos + self.received_history_pos = len(self.received_history) + else: + history = self.received_history + pos = self.received_history_pos + self.sent_history_pos = len(self.sent_history) + size = len(history) + if self.orig_msg is None: + # user was typing something and then went into history, so save + # whatever is already typed + start_iter = msg_buf.get_start_iter() + end_iter = msg_buf.get_end_iter() + self.orig_msg = msg_buf.get_text(start_iter, end_iter, False) + if pos == size and size > 0 and direction == 'up' and \ + msg_type == 'sent' and not self.correcting and (not \ + history[pos - 1].startswith('/') or history[pos - 1].startswith('/me')): + self.correcting = True + gtkgui_helpers.add_css_class( + self.msg_textview, 'gajim-msg-correcting') + message = history[pos - 1] + msg_buf.set_text(message) + return + if self.correcting: + # We were previously correcting + gtkgui_helpers.remove_css_class( + self.msg_textview, 'gajim-msg-correcting') + self.correcting = False + pos += -1 if direction == 'up' else +1 + if pos == -1: + return + if pos >= size: + pos = size + message = self.orig_msg + self.orig_msg = None + else: + message = history[pos] + if msg_type == 'sent': + self.sent_history_pos = pos + else: + self.received_history_pos = pos + if self.orig_msg is not None: + message = '> %s\n' % message.replace('\n', '\n> ') + msg_buf.set_text(message) + + def got_connected(self): + self.msg_textview.set_sensitive(True) + self.msg_textview.set_editable(True) + self.update_toolbar() + + def got_disconnected(self): + self.msg_textview.set_sensitive(False) + self.msg_textview.set_editable(False) + self.conv_textview.tv.grab_focus() + + self.update_toolbar() + + +class ScrolledWindow(Gtk.ScrolledWindow): + def __init__(self, *args, **kwargs): + Gtk.ScrolledWindow.__init__(self, *args, **kwargs) + + self.set_overlay_scrolling(False) + self.set_max_content_height(100) + self.set_propagate_natural_height(True) + self.get_style_context().add_class('scrolled-no-border') + self.get_style_context().add_class('no-scroll-indicator') + self.get_style_context().add_class('scrollbar-style') + self.get_style_context().add_class('one-line-scrollbar') + self.set_shadow_type(Gtk.ShadowType.IN) + self.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC) diff --git a/gajim/command_system/__init__.py b/gajim/command_system/__init__.py new file mode 100644 index 0000000..2fb3362 --- /dev/null +++ b/gajim/command_system/__init__.py @@ -0,0 +1,20 @@ +# Copyright (C) 2009-2010 Alexander Cherniuk +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 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, see . + +""" +The command system providing scalable, clean and convenient architecture +in combination with declarative way of defining commands and a fair +amount of automatization for routine processes. +""" diff --git a/gajim/command_system/dispatcher.py b/gajim/command_system/dispatcher.py new file mode 100644 index 0000000..dbf0328 --- /dev/null +++ b/gajim/command_system/dispatcher.py @@ -0,0 +1,135 @@ +# Copyright (c) 2010, Alexander Cherniuk (ts33kr@gmail.com) +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +""" +Backbone of the command system. Provides smart and controllable +dispatching mechanism with an auto-discovery functionality. In addition +to automatic discovery and dispatching, also features manual control +over the process. +""" + +from typing import Any # pylint: disable=unused-import +from typing import Dict # pylint: disable=unused-import + +from gajim.command_system.tools import remove + +COMMANDS = {} # type: Dict[Any, Any] +CONTAINERS = {} # type: Dict[Any, Any] + + +def add_host(host): + CONTAINERS[host] = [] + + +def remove_host(host): + remove(CONTAINERS, host) + + +def add_container(container): + for host in container.HOSTS: + CONTAINERS[host].append(container) + + +def remove_container(container): + for host in container.HOSTS: + remove(CONTAINERS[host], container) + + +def add_commands(container): + commands = COMMANDS.setdefault(container, {}) + for command in traverse_commands(container): + for name in command.names: + commands[name] = command + + +def remove_commands(container): + remove(COMMANDS, container) + + +def traverse_commands(container): + for name in dir(container): + attribute = getattr(container, name) + if is_command(attribute): + yield attribute + + +def is_command(attribute): + from gajim.command_system.framework import Command + return isinstance(attribute, Command) + + +def is_root(namespace): + metaclass = namespace.get("__metaclass__", None) + if not metaclass: + return False + return issubclass(metaclass, Dispatchable) + + +def get_command(host, name): + for container in CONTAINERS[host]: + command = COMMANDS[container].get(name) + if command: + return command + + +def list_commands(host): + for container in CONTAINERS[host]: + commands = COMMANDS[container] + for name, command in commands.items(): + yield name, command + + +class Dispatchable(type): + # pylint: disable=no-value-for-parameter + def __init__(cls, name, bases, namespace): + parents = super(Dispatchable, cls) + parents.__init__(name, bases, namespace) + if not is_root(namespace): + cls.dispatch() + + def dispatch(cls): + if cls.AUTOMATIC: + cls.enable() + + +class Host(Dispatchable): + + def enable(cls): + add_host(cls) + + def disable(cls): + remove_host(cls) + + +class Container(Dispatchable): + + def enable(cls): + add_container(cls) + add_commands(cls) + + def disable(cls): + remove_commands(cls) + remove_container(cls) diff --git a/gajim/command_system/errors.py b/gajim/command_system/errors.py new file mode 100644 index 0000000..1f02051 --- /dev/null +++ b/gajim/command_system/errors.py @@ -0,0 +1,54 @@ +# Copyright (C) 2009-2010 Alexander Cherniuk +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 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, see . + + +class BaseError(Exception): + """ + Common base for errors which relate to a specific command. + Encapsulates everything needed to identify a command, by either its + object or name. + """ + + def __init__(self, message, command=None, name=None): + self.message = message + + self.command = command + self.name = name + + if command and not name: + self.name = command.first_name + + super(BaseError, self).__init__() + + def __str__(self): + return self.message + + +class DefinitionError(BaseError): + """ + Used to indicate errors occurred on command definition. + """ + + +class CommandError(BaseError): + """ + Used to indicate errors occurred during command execution. + """ + + +class NoCommandError(BaseError): + """ + Used to indicate an inability to find the specified command. + """ diff --git a/gajim/command_system/framework.py b/gajim/command_system/framework.py new file mode 100644 index 0000000..34707a8 --- /dev/null +++ b/gajim/command_system/framework.py @@ -0,0 +1,351 @@ +# Copyright (C) 2009-2010 Alexander Cherniuk +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 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, see . + +""" +Provides a tiny framework with simple, yet powerful and extensible +architecture to implement commands in a straight and flexible, +declarative way. +""" + +from types import FunctionType +from inspect import getargspec, getdoc + +from gajim.command_system.dispatcher import Host +from gajim.command_system.dispatcher import Container +from gajim.command_system.dispatcher import get_command +from gajim.command_system.dispatcher import list_commands +from gajim.command_system.mapping import parse_arguments +from gajim.command_system.mapping import adapt_arguments +from gajim.command_system.errors import DefinitionError +from gajim.command_system.errors import CommandError +from gajim.command_system.errors import NoCommandError + + +class CommandHost(metaclass=Host): + """ + Command host is a hub between numerous command processors and + command containers. Aimed to participate in a dispatching process in + order to provide clean and transparent architecture. + + The AUTOMATIC class variable, which must be defined by a command + host, specifies whether the command host should be automatically + dispatched and enabled by the dispatcher or not. + """ + __metaclass__ = Host + + +class CommandContainer(metaclass=Container): + """ + Command container is an entity which holds defined commands, + allowing them to be dispatched and processed correctly. Each + command container may be bound to a one or more command hosts. + + The AUTOMATIC class variable, which must be defined by a command + processor, specifies whether the command processor should be + automatically dispatched and enabled by the dispatcher or not. + + Bounding is controlled by the HOSTS class variable, which must be + defined by the command container. This variable should contain a + sequence of hosts to bound to, as a tuple or list. + """ + __metaclass__ = Container + + +class CommandProcessor: + """ + Command processor is an immediate command emitter. It does not + participate in the dispatching process directly, but must define a + host to bound to. + + Bounding is controlled by the COMMAND_HOST variable, which must be + defined in the body of the command processor. This variable should + be set to a specific command host. + """ + + # This defines a command prefix (or an initializer), which should + # precede a text in order for it to be processed as a command. + COMMAND_PREFIX = '/' + + def process_as_command(self, text): + """ + Try to process text as a command. Returns True if it has been + processed as a command and False otherwise. + """ + # pylint: disable=assignment-from-no-return + prefix = text.startswith(self.COMMAND_PREFIX) + length = len(text) > len(self.COMMAND_PREFIX) + if not (prefix and length): + return False + + body = text[len(self.COMMAND_PREFIX):] + body = body.strip() + + parts = body.split(None, 1) + name, arguments = parts if len(parts) > 1 else (parts[0], None) + + flag = self.looks_like_command(text, body, name, arguments) + if flag is not None: + return flag + + self.execute_command(name, arguments) + + return True + + def execute_command(self, name, arguments): + cmd = self.get_command(name) + + args, opts = parse_arguments(arguments) if arguments else ([], []) + args, kwargs = adapt_arguments(cmd, arguments, args, opts) + + if self.command_preprocessor(cmd, name, arguments, args, kwargs): + return + value = cmd(self, *args, **kwargs) + self.command_postprocessor(cmd, name, arguments, args, kwargs, value) + + def command_preprocessor(self, cmd, name, arguments, args, kwargs): + """ + Redefine this method in the subclass to execute custom code + before command gets executed. + + If returns True then command execution will be interrupted and + command will not be executed. + """ + + def command_postprocessor(self, cmd, name, arguments, args, kwargs, value): + """ + Redefine this method in the subclass to execute custom code + after command gets executed. + """ + + def looks_like_command(self, text, body, name, arguments): + """ + This hook is being called before any processing, but after it + was determined that text looks like a command. + + If returns value other then None - then further processing will + be interrupted and that value will be used to return from + process_as_command. + """ + + def get_command(self, name): + cmd = get_command(self.COMMAND_HOST, name) + if not cmd: + raise NoCommandError("Command does not exist", name=name) + return cmd + + def list_commands(self): + commands = list_commands(self.COMMAND_HOST) + commands = dict(commands) + return sorted(set(commands.values()), key=lambda k: k.__repr__()) + + +class Command: + + def __init__(self, handler, *names, **properties): + self.handler = handler + self.names = names + + # Automatically set all the properties passed to a constructor + # by the command decorator. + for key, value in properties.items(): + setattr(self, key, value) + + def __call__(self, *args, **kwargs): + try: + return self.handler(*args, **kwargs) + + # This allows to use a shortcut way of raising an exception + # inside a handler. That is to raise a CommandError without + # command or name attributes set. They will be set to a + # corresponding values right here in case if they was not set by + # the one who raised an exception. + except CommandError as error: + if not error.command and not error.name: + raise CommandError(error.message, self) + raise + + # This one is a little bit too wide, but as Python does not have + # anything more constrained - there is no other choice. Take a + # look here if command complains about invalid arguments while + # they are ok. + except TypeError: + raise CommandError("Command received invalid arguments", self) + + def __repr__(self): + return "" % ', '.join(self.names) + + def __cmp__(self, other): + if self.first_name > other.first_name: + return 1 + if self.first_name < other.first_name: + return -1 + return 0 + + @property + def first_name(self): + return self.names[0] + + @property + def native_name(self): + return self.handler.__name__ + + def extract_documentation(self): + """ + Extract handler's documentation which is a doc-string and + transform it to a usable format. + """ + return getdoc(self.handler) + + def extract_description(self): + """ + Extract handler's description (which is a first line of the + documentation). Try to keep them simple yet meaningful. + """ + documentation = self.extract_documentation() + return documentation.split('\n', 1)[0] if documentation else None + + def extract_specification(self): + """ + Extract handler's arguments specification, as it was defined + preserving their order. + """ + names, var_args, var_kwargs, defaults = getargspec(self.handler) # pylint: disable=W1505 + + # Behavior of this code need to be checked. Might yield + # incorrect results on some rare occasions. + spec_args = names[:-len(defaults) if defaults else len(names)] + spec_kwargs = list( + zip(names[-len(defaults):], defaults)) if defaults else {} + + # Removing self from arguments specification. Command handler + # should receive the processors as a first argument, which + # should be self by the canonical means. + if spec_args.pop(0) != 'self': + raise DefinitionError("First argument must be self", self) + + return spec_args, spec_kwargs, var_args, var_kwargs + + +def command(*names, **properties): + """ + A decorator for defining commands in a declarative way. Provides + facilities for setting command's names and properties. + + Names should contain a set of names (aliases) by which the command + can be reached. If no names are given - the native name (the one + extracted from the command handler) will be used. + + If native=True is given (default) and names is non-empty - then the + native name of the command will be prepended in addition to the + given names. + + If usage=True is given (default) - then command help will be + appended with autogenerated usage info, based of the command handler + arguments introspection. + + If source=True is given - then the first argument of the command + will receive the source arguments, as a raw, unprocessed string. The + further mapping of arguments and options will not be affected. + + If raw=True is given - then command considered to be raw and should + define positional arguments only. If it defines only one positional + argument - this argument will receive all the raw and unprocessed + arguments. If the command defines more then one positional argument + - then all the arguments except the last one will be processed + normally; the last argument will get what is left after the + processing as raw and unprocessed string. + + If empty=True is given - this will allow to call a raw command + without arguments. + + If extra=True is given - then all the extra arguments passed to a + command will be collected into a sequence and given to the last + positional argument. + + If overlap=True is given - then all the extra arguments will be + mapped as if they were values for the keyword arguments. + + If expand=True is given (default) - then short, one-letter options + will be expanded to a verbose ones, based of the comparison of the + first letter. If more then one option with the same first letter is + given - then only first one will be used in the expansion. + """ + names = list(names) + + native = properties.get('native', True) + + usage = properties.get('usage', True) + source = properties.get('source', False) + raw = properties.get('raw', False) + empty = properties.get('empty', False) + extra = properties.get('extra', False) + overlap = properties.get('overlap', False) + expand = properties.get('expand', True) + + if empty and not raw: + raise DefinitionError("Empty option can be used only with raw commands") + + if extra and overlap: + raise DefinitionError("Extra and overlap options can not be used " + "together") + + properties = { + 'usage': usage, + 'source': source, + 'raw': raw, + 'extra': extra, + 'overlap': overlap, + 'empty': empty, + 'expand': expand + } + + def decorator(handler): + """ + Decorator which receives handler as a first argument and then + wraps it in the command which then returns back. + """ + cmd = Command(handler, *names, **properties) + + # Extract and inject a native name if either no other names are + # specified or native property is enabled, while making + # sure it is going to be the first one in the list. + if not names or native: + names.insert(0, cmd.native_name) + cmd.names = tuple(names) + + return cmd + + # Workaround if we are getting called without parameters. Keep in + # mind that in that case - first item in the names will be the + # handler. + if names and isinstance(names[0], FunctionType): + return decorator(names.pop(0)) + + return decorator + + +def doc(text): + """ + This decorator is used to bind a documentation (a help) to a + command. + """ + def decorator(target): + if isinstance(target, Command): + target.handler.__doc__ = text + else: + target.__doc__ = text + return target + + return decorator diff --git a/gajim/command_system/implementation/__init__.py b/gajim/command_system/implementation/__init__.py new file mode 100644 index 0000000..1c3d8ab --- /dev/null +++ b/gajim/command_system/implementation/__init__.py @@ -0,0 +1,20 @@ +# Copyright (C) 2009-2010 Alexander Cherniuk +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 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, see . + +""" +The implementation and auxiliary systems which implement the standard +Gajim commands and also provide an infrastructure for adding custom +commands. +""" diff --git a/gajim/command_system/implementation/custom.py b/gajim/command_system/implementation/custom.py new file mode 100644 index 0000000..af2b9e8 --- /dev/null +++ b/gajim/command_system/implementation/custom.py @@ -0,0 +1,131 @@ +# Copyright (c) 2009-2010, Alexander Cherniuk (ts33kr@gmail.com) +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +""" +This module contains examples of how to create your own commands, by +creating a new command container, bounded to a specific command host, +and defining a set of commands inside of it. + +Keep in mind that this module is not being loaded from anywhere, so the +code in here will not be executed and commands defined here will not be +detected. +""" + +from gajim.common.i18n import _ +from gajim.command_system.framework import CommandContainer +from gajim.command_system.framework import command +from gajim.command_system.framework import doc +from gajim.command_system.implementation.hosts import ChatCommands +from gajim.command_system.implementation.hosts import PrivateChatCommands +from gajim.command_system.implementation.hosts import GroupChatCommands + + +class CustomCommonCommands(CommandContainer): + """ + The AUTOMATIC class variable, set to a positive value, instructs the + command system to automatically discover the command container and + enable it. + + This command container bounds to all three available in the default + implementation command hosts. This means that commands defined in + this container will be available to all: chat, private chat and a + group chat. + """ + + AUTOMATIC = True + HOSTS = ChatCommands, PrivateChatCommands, GroupChatCommands + + @command + def dance(self): + """ + First line of the doc string is called a description and will be + programmatically extracted and formatted. + + After that you can give more help, like explanation of the + options. This one will be programmatically extracted and + formatted too. + + After all the documentation - there will be autogenerated (based + on the method signature) usage information appended. You can + turn it off, if you want. + """ + return "I don't dance." + + +class CustomChatCommands(CommandContainer): + """ + This command container bounds only to the ChatCommands command host. + Therefore commands defined inside of the container will be available + only to a chat. + """ + + AUTOMATIC = True + HOSTS = (ChatCommands,) + + @command("squal", "bawl") + def sing(self): + """ + This command has an additional aliases. It means the command will + be available under three names: sing (the native name), squal + (the first alias), bawl (the second alias). + + You can turn off the usage of the native name, if you want, and + specify a name or a set of names, as aliases, under which a + command will be available. + """ + return "Buy yourself a stereo." + + +class CustomPrivateChatCommands(CommandContainer): + """ + This command container bounds only to the PrivateChatCommands + command host. Therefore commands defined inside of the container + will be available only to a private chat. + """ + + AUTOMATIC = True + HOSTS = (PrivateChatCommands,) + + @command + #Example string. Do not translate + @doc(_("The same as using a doc-string, except it supports translation")) + def make_coffee(self): + return "I'm not a coffee machine!" + + +class CustomGroupChatCommands(CommandContainer): + """ + This command container bounds only to the GroupChatCommands command + host. Therefore commands defined inside of the container will be + available only to a group chat. + """ + + AUTOMATIC = True + HOSTS = (GroupChatCommands,) + + @command + def fetch(self): + return "Buy yourself a dog." diff --git a/gajim/command_system/implementation/execute.py b/gajim/command_system/implementation/execute.py new file mode 100644 index 0000000..58205e7 --- /dev/null +++ b/gajim/command_system/implementation/execute.py @@ -0,0 +1,136 @@ +# Copyright (c) 2010, Alexander Cherniuk (ts33kr@gmail.com) +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +""" +Provides facilities to safely execute expressions inside a shell process +and capture the resulting output, in an asynchronous fashion, avoiding +deadlocks. If the process execution time reaches the threshold - it is +forced to terminate. Consists of a tiny framework and a couple of +commands as a frontend. +""" + +from subprocess import Popen, PIPE +from os.path import expanduser + +from gi.repository import GLib + +from gajim.common import app +from gajim.common.i18n import _ +from gajim.command_system.framework import CommandContainer +from gajim.command_system.framework import command +from gajim.command_system.framework import doc +from gajim.command_system.implementation.hosts import ChatCommands +from gajim.command_system.implementation.hosts import PrivateChatCommands +from gajim.command_system.implementation.hosts import GroupChatCommands + + +class Execute(CommandContainer): + AUTOMATIC = True + HOSTS = ChatCommands, PrivateChatCommands, GroupChatCommands + + DIRECTORY = "~" + + POLL_INTERVAL = 100 + POLL_COUNT = 5 + + @command("exec", raw=True) + @doc(_("Execute expression inside a shell, show output")) + def execute(self, expression): + Execute.spawn(self, expression) + + @classmethod + def spawn(cls, processor, expression): + command_system_execute = app.settings.get('command_system_execute') + if command_system_execute: + pipes = dict(stdout=PIPE, stderr=PIPE) + directory = expanduser(cls.DIRECTORY) + popen = Popen(expression, shell=True, cwd=directory, **pipes) + cls.monitor(processor, popen) + else: + processor.echo_error( + _('Command disabled. This command can be enabled by ' + 'setting \'command_system_execute\' to True in ACE ' + '(Advanced Configuration Editor).')) + return + + @classmethod + def monitor(cls, processor, popen): + poller = cls.poller(processor, popen) + GLib.timeout_add(cls.POLL_INTERVAL, next, poller) + + @classmethod + def poller(cls, processor, popen): + for _ in range(cls.POLL_COUNT): + yield cls.brush(processor, popen) + cls.overdue(processor, popen) + yield False + + @classmethod + def brush(cls, processor, popen): + if popen.poll() is not None: + cls.terminated(processor, popen) + return False + return True + + @classmethod + def terminated(cls, processor, popen): + stdout, stderr = cls.fetch(popen) + success = popen.returncode == 0 + if success and stdout: + processor.echo(stdout) + elif not success and stderr: + processor.echo_error(stderr) + + @classmethod + def overdue(cls, processor, popen): + popen.terminate() + + @classmethod + def fetch(cls, popen): + data = popen.communicate() + return map(cls.clean, data) + + @staticmethod + def clean(text): + strip = chr(10) + chr(32) + return text.decode().strip(strip) + + +class Show(Execute): + + @command("sh", raw=True) + @doc(_("Execute expression inside a shell, send output")) + def show(self, expression): + Show.spawn(self, expression) + + @classmethod + def terminated(cls, processor, popen): + stdout, stderr = cls.fetch(popen) + success = popen.returncode == 0 + if success and stdout: + processor.send(stdout) + elif not success and stderr: + processor.echo_error(stderr) diff --git a/gajim/command_system/implementation/hosts.py b/gajim/command_system/implementation/hosts.py new file mode 100644 index 0000000..d010055 --- /dev/null +++ b/gajim/command_system/implementation/hosts.py @@ -0,0 +1,45 @@ +# Copyright (C) 2009-2010 Alexander Cherniuk +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 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, see . + +""" +The module defines a set of command hosts, which are bound to a +different command processors, which are the source of commands. +""" + +from gajim.command_system.framework import CommandHost + + +class ChatCommands(CommandHost): + """ + This command host is bound to the command processor which processes + commands from a chat. + """ + AUTOMATIC = True + + +class PrivateChatCommands(CommandHost): + """ + This command host is bound to the command processor which processes + commands from a private chat. + """ + AUTOMATIC = True + + +class GroupChatCommands(CommandHost): + """ + This command host is bound to the command processor which processes + commands from a group chat. + """ + AUTOMATIC = True diff --git a/gajim/command_system/implementation/middleware.py b/gajim/command_system/implementation/middleware.py new file mode 100644 index 0000000..ebec45c --- /dev/null +++ b/gajim/command_system/implementation/middleware.py @@ -0,0 +1,195 @@ +# Copyright (c) 2009-2010, Alexander Cherniuk (ts33kr@gmail.com) +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +""" +Provides a glue to tie command system framework and the actual code +where it would be dropped in. Defines a little bit of scaffolding to +support interaction between the two and a few utility methods so you +don't need to dig up the code itself to write basic commands. +""" + +from traceback import print_exc + +from gi.repository import Pango + +from gajim.common import app +from gajim.common.i18n import _ + +from gajim.command_system.framework import CommandProcessor +from gajim.command_system.errors import CommandError +from gajim.command_system.errors import NoCommandError + + +class ChatCommandProcessor(CommandProcessor): + """ + A basic scaffolding to provide convenient interaction between the + command system and chat controls. It will be merged directly into + the controls, by ChatCommandProcessor being among superclasses of + the controls. + """ + + def process_as_command(self, text): + self.command_succeeded = False + parents = super(ChatCommandProcessor, self) + flag = parents.process_as_command(text) + if flag and self.command_succeeded: + self.add_history(text) + self.clear_input() + return flag + + def execute_command(self, name, arguments): + try: + parents = super(ChatCommandProcessor, self) + parents.execute_command(name, arguments) + except NoCommandError as error: + details = dict(name=error.name, message=error.message) + message = "%(name)s: %(message)s\n" % details + message += "Try using the //%(name)s or /say /%(name)s " % details + message += "construct if you intended to send it as a text." + self.echo_error(message) + except CommandError as error: + self.echo_error("%s: %s" % (error.name, error.message)) + except Exception: + self.echo_error(_("Error during command execution!")) + print_exc() + else: + self.command_succeeded = True + + def looks_like_command(self, text, body, name, arguments): + # Command escape stuff goes here. If text was prepended by the + # command prefix twice, like //not_a_command (if prefix is set + # to /) then it will be escaped, that is sent just as a regular + # message with one (only one) prefix removed, so message will be + # /not_a_command. + if body.startswith(self.COMMAND_PREFIX): + self.send(body) + return True + + def command_preprocessor(self, command, name, arguments, args, kwargs): + # If command argument contain h or help option - forward it to + # the /help command. Don't forget to pass self, as all commands + # are unbound. And also don't forget to print output. + if 'h' in kwargs or 'help' in kwargs: + help_ = self.get_command('help') + self.echo(help_(self, name)) + return True + + def command_postprocessor(self, command, name, arguments, args, kwargs, + value): + # If command returns a string - print it to a user. A convenient + # and sufficient in most simple cases shortcut to a using echo. + if value and isinstance(value, str): + self.echo(value) + + +class CommandTools: + """ + Contains a set of basic tools and shortcuts you can use in your + commands to perform some simple operations. These will be merged + directly into the controls, by CommandTools being among superclasses + of the controls. + """ + + def __init__(self): + self.install_tags() + + def install_tags(self): + buffer_ = self.conv_textview.tv.get_buffer() + + name = "Monospace" + font = Pango.FontDescription(name) + + command_ok_tag = buffer_.create_tag("command_ok") + command_ok_tag.set_property("font-desc", font) + command_ok_tag.set_property("foreground", "#3465A4") + + command_error_tag = buffer_.create_tag("command_error") + command_error_tag.set_property("font-desc", font) + command_error_tag.set_property("foreground", "#F57900") + + def shift_line(self): + buffer_ = self.conv_textview.tv.get_buffer() + iter_ = buffer_.get_end_iter() + if iter_.ends_line() and not iter_.is_start(): + buffer_.insert_with_tags_by_name(iter_, "\n", "eol") + + def append_with_tags(self, text, *tags): + buffer_ = self.conv_textview.tv.get_buffer() + iter_ = buffer_.get_end_iter() + buffer_.insert_with_tags_by_name(iter_, text, *tags) + + def echo(self, text, tag="command_ok"): + """ + Print given text to the user, as a regular command output. + """ + self.shift_line() + self.append_with_tags(text, tag) + + def echo_error(self, text): + """ + Print given text to the user, as an error command output. + """ + self.echo(text, "command_error") + + def send(self, text): + """ + Send a message to the contact. + """ + self.send_message(text, process_commands=False) + + def set_input(self, text): + """ + Set given text into the input. + """ + buffer = self.msg_textview.get_buffer() + buffer.set_text(text) + + def clear_input(self): + """ + Clear input. + """ + self.set_input(str()) + + def add_history(self, text): + """ + Add given text to the input history, so user can scroll through + it using ctrl + up/down arrow keys. + """ + self.save_message(text, 'sent') + + @property + def connection(self): + """ + Get the current connection object. + """ + return app.connections[self.account] + + @property + def full_jid(self): + """ + Get a full JID of the contact. + """ + return self.contact.get_full_jid() diff --git a/gajim/command_system/implementation/standard.py b/gajim/command_system/implementation/standard.py new file mode 100644 index 0000000..1961dd2 --- /dev/null +++ b/gajim/command_system/implementation/standard.py @@ -0,0 +1,433 @@ +# Copyright (C) 2009-2010 Alexander Cherniuk +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 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, see . + +""" +Provides an actual implementation for the standard commands. +""" + +from time import localtime +from time import strftime +from datetime import date + +from gi.repository import GLib + +from gajim.common import app +from gajim.common import helpers +from gajim.common.i18n import _ +from gajim.common.const import KindConstant + +from gajim.command_system.errors import CommandError +from gajim.command_system.framework import CommandContainer +from gajim.command_system.framework import command +from gajim.command_system.framework import doc +from gajim.command_system.mapping import generate_usage + +from gajim.command_system.implementation.hosts import ChatCommands +from gajim.command_system.implementation.hosts import PrivateChatCommands +from gajim.command_system.implementation.hosts import GroupChatCommands + + +class StandardCommonCommands(CommandContainer): + """ + This command container contains standard commands which are common + to all - chat, private chat, group chat. + """ + + AUTOMATIC = True + HOSTS = ChatCommands, PrivateChatCommands, GroupChatCommands + + @command(overlap=True) + @doc(_("Show help on a given command or a list of available commands if " + "-a is given")) + def help(self, cmd=None, all_=False): + if cmd: + cmd = self.get_command(cmd) + + documentation = _(cmd.extract_documentation()) + usage = generate_usage(cmd) + + text = [] + + if documentation: + text.append(documentation) + if cmd.usage: + text.append(usage) + + return '\n\n'.join(text) + + if all_: + for cmd_ in self.list_commands(): + names = ', '.join(cmd_.names) + description = cmd_.extract_description() + + self.echo("%s - %s" % (names, description)) + else: + help_ = self.get_command('help') + self.echo(help_(self, 'help')) + + @command(raw=True) + @doc(_("Send a message to the contact")) + def say(self, message): + self.send(message) + + @command(raw=True) + @doc(_("Send action (in the third person) to the current chat")) + def me(self, action): + self.send("/me %s" % action) + + @command('lastlog', overlap=True) + @doc(_("Show logged messages which mention given text")) + def grep(self, text, limit=None): + results = app.storage.archive.search_log(self.account, self.contact.jid, text) + + if not results: + raise CommandError(_("%s: Nothing found") % text) + + if limit: + try: + results = results[len(results) - int(limit):] + except ValueError: + raise CommandError(_("Limit must be an integer")) + + for row in results: + contact = row.contact_name + if not contact: + if row.kind == KindConstant.CHAT_MSG_SENT: + contact = app.nicks[self.account] + else: + contact = self.contact.name + + time_obj = localtime(row.time) + date_obj = date.fromtimestamp(row.time) + date_ = strftime('%Y-%m-%d', time_obj) + time_ = strftime('%H:%M:%S', time_obj) + + if date_obj == date.today(): + formatted = "[%s] %s: %s" % (time_, contact, row.message) + else: + formatted = "[%s, %s] %s: %s" % ( + date_, time_, contact, row.message) + + self.echo(formatted) + + @command(raw=True, empty=True) + # Do not translate online, away, chat, xa, dnd + @doc(_(""" + Set the current status + + Status can be given as one of the following values: + online, away, chat, xa, dnd. + """)) + def status(self, status, message): + if status not in ('online', 'away', 'chat', 'xa', 'dnd'): + raise CommandError("Invalid status given") + for connection in app.connections.values(): + if not app.settings.get_account_setting(connection.name, + 'sync_with_global_status'): + continue + if not connection.state.is_available: + continue + connection.change_status(status, message) + + @command(raw=True, empty=True) + @doc(_("Set the current status to away")) + def away(self, message): + if not message: + message = _("Away") + + for connection in app.connections.values(): + if not app.settings.get_account_setting(connection.name, + 'sync_with_global_status'): + continue + if not connection.state.is_available: + continue + connection.change_status('away', message) + + @command('back', raw=True, empty=True) + @doc(_("Set the current status to online")) + def online(self, message): + if not message: + message = _("Available") + + for connection in app.connections.values(): + if not app.settings.get_account_setting(connection.name, + 'sync_with_global_status'): + continue + if not connection.state.is_available: + continue + connection.change_status('online', message) + + @command + @doc(_("Send a disco info request")) + def disco(self): + client = app.get_client(self.account) + if not client.state.is_available: + return + + client.get_module('Discovery').disco_contact(self.contact) + + +class StandardCommonChatCommands(CommandContainer): + """ + This command container contains standard commands, which are common + to a chat and a private chat only. + """ + + AUTOMATIC = True + HOSTS = ChatCommands, PrivateChatCommands + + @command + @doc(_("Clear the text window")) + def clear(self): + self.conv_textview.clear() + + @command + @doc(_("Send a ping to the contact")) + def ping(self): + if self.account == app.ZEROCONF_ACC_NAME: + raise CommandError( + _('Command is not supported for zeroconf accounts')) + app.connections[self.account].get_module('Ping').send_ping(self.contact) + + @command + @doc(_("Send DTMF sequence through an open voice chat")) + def dtmf(self, sequence): + if not self.audio_sid: + raise CommandError(_("No open voice chats with the contact")) + for tone in sequence: + if not (tone in ("*", "#") or tone.isdigit()): + raise CommandError(_("%s is not a valid tone") % tone) + gjs = self.connection.get_module('Jingle').get_jingle_session + session = gjs(self.full_jid, self.audio_sid) + content = session.get_content("audio") + content.batch_dtmf(sequence) + + @command + @doc(_("Toggle Voice Chat")) + def audio(self): + if not self.audio_available: + raise CommandError(_("Voice chats are not available")) + # An audio session is toggled by inverting the state of the + # appropriate button. + state = self._audio_button.get_active() + self._audio_button.set_active(not state) + + @command + @doc(_("Toggle Video Chat")) + def video(self): + if not self.video_available: + raise CommandError(_("Video chats are not available")) + # A video session is toggled by inverting the state of the + # appropriate button. + state = self._video_button.get_active() + self._video_button.set_active(not state) + + @command(raw=True) + @doc(_("Send a message to the contact that will attract their attention")) + def attention(self, message): + self.send_message(message, process_commands=False, attention=True) + + +class StandardChatCommands(CommandContainer): + """ + This command container contains standard commands which are unique + to a chat. + """ + + AUTOMATIC = True + HOSTS = (ChatCommands,) + + +class StandardPrivateChatCommands(CommandContainer): + """ + This command container contains standard commands which are unique + to a private chat. + """ + + AUTOMATIC = True + HOSTS = (PrivateChatCommands,) + + +class StandardGroupChatCommands(CommandContainer): + """ + This command container contains standard commands which are unique + to a group chat. + """ + + AUTOMATIC = True + HOSTS = (GroupChatCommands,) + + @command + @doc(_("Clear the text window")) + def clear(self): + self.conv_textview.clear() + + @command(raw=True) + @doc(_("Change your nickname in a group chat")) + def nick(self, new_nick): + try: + new_nick = helpers.parse_resource(new_nick) + except Exception: + raise CommandError(_("Invalid nickname")) + # FIXME: Check state of MUC + self.connection.get_module('MUC').change_nick( + self.room_jid, new_nick) + self.new_nick = new_nick + + @command('query', raw=True) + @doc(_("Open a private chat window with a specified participant")) + def chat(self, nick): + nicks = app.contacts.get_nick_list(self.account, self.room_jid) + if nick in nicks: + self.send_pm(nick) + else: + raise CommandError(_("Nickname not found")) + + @command('msg', raw=True) + @doc(_("Open a private chat window with a specified participant and send " + "him a message")) + def message(self, nick, message): + nicks = app.contacts.get_nick_list(self.account, self.room_jid) + if nick in nicks: + self.send_pm(nick, message) + else: + raise CommandError(_("Nickname not found")) + + @command(raw=True, empty=True) + @doc(_("Display or change a group chat topic")) + def topic(self, new_topic): + if new_topic: + self.connection.get_module('MUC').set_subject( + self.room_jid, new_topic) + else: + return self.subject + + @command(raw=True, empty=True) + @doc(_("Invite a user to a group chat for a reason")) + def invite(self, jid, reason): + control = app.get_groupchat_control(self.account, self.room_jid) + if control is not None: + control.invite(jid) + + @command(raw=True, empty=True) + @doc(_("Join a group chat given by an XMPP Address")) + def join(self, jid): + if '@' not in jid: + jid = jid + '@' + app.get_server_from_jid(self.room_jid) + + app.app.activate_action( + 'groupchat-join', + GLib.Variant('as', [self.account, jid])) + + @command('part', 'close', raw=True, empty=True) + @doc(_("Leave the group chat, optionally giving a reason, and close tab or " + "window")) + def leave(self, reason): + self.leave(reason=reason) + + @command(raw=True, empty=True) + @doc(_(""" + Ban user by a nick or a JID from a groupchat + + If given nickname is not found it will be treated as a JID. + """)) + def ban(self, who, reason=''): + if who in app.contacts.get_nick_list(self.account, self.room_jid): + contact = app.contacts.get_gc_contact( + self.account, self.room_jid, who) + who = contact.jid + self.connection.get_module('MUC').set_affiliation( + self.room_jid, + {who: {'affiliation': 'outcast', + 'reason': reason}}) + + @command(raw=True, empty=True) + @doc(_("Kick user from group chat by nickname")) + def kick(self, who, reason): + if who not in app.contacts.get_nick_list(self.account, self.room_jid): + raise CommandError(_("Nickname not found")) + self.connection.get_module('MUC').set_role( + self.room_jid, who, 'none', reason) + + @command(raw=True) + # Do not translate moderator, participant, visitor, none + @doc(_("""Set participant role in group chat. + Role can be given as one of the following values: + moderator, participant, visitor, none""")) + def role(self, who, role): + if role not in ('moderator', 'participant', 'visitor', 'none'): + raise CommandError(_("Invalid role given")) + if who not in app.contacts.get_nick_list(self.account, self.room_jid): + raise CommandError(_("Nickname not found")) + self.connection.get_module('MUC').set_role(self.room_jid, who, role) + + @command(raw=True) + # Do not translate owner, admin, member, outcast, none + @doc(_("""Set participant affiliation in group chat. + Affiliation can be given as one of the following values: + owner, admin, member, outcast, none""")) + def affiliate(self, who, affiliation): + if affiliation not in ('owner', 'admin', 'member', 'outcast', 'none'): + raise CommandError(_("Invalid affiliation given")) + if who not in app.contacts.get_nick_list(self.account, self.room_jid): + raise CommandError(_("Nickname not found")) + contact = app.contacts.get_gc_contact(self.account, self.room_jid, who) + + self.connection.get_module('MUC').set_affiliation( + self.room_jid, + {contact.jid: {'affiliation': affiliation}}) + + @command + @doc(_("Display names of all group chat participants")) + def names(self, verbose=False): + ggc = app.contacts.get_gc_contact + gnl = app.contacts.get_nick_list + + get_contact = lambda nick: ggc(self.account, self.room_jid, nick) + get_role = lambda nick: get_contact(nick).role + nicks = gnl(self.account, self.room_jid) + + nicks = sorted(nicks) + nicks = sorted(nicks, key=get_role) + + if not verbose: + return ", ".join(nicks) + + for nick in nicks: + contact = get_contact(nick) + role = helpers.get_uf_role(contact.role) + affiliation = helpers.get_uf_affiliation(contact.affiliation) + self.echo("%s - %s - %s" % (nick, role, affiliation)) + + @command('ignore', raw=True) + @doc(_("Forbid a participant to send you public or private messages")) + def block(self, who): + self.on_block(None, who) + + @command('unignore', raw=True) + @doc(_("Allow a participant to send you public or private messages")) + def unblock(self, who): + self.on_unblock(None, who) + + @command + @doc(_("Send a ping to the contact")) + def ping(self, nick): + if self.account == app.ZEROCONF_ACC_NAME: + raise CommandError( + _('Command is not supported for zeroconf accounts')) + gc_c = app.contacts.get_gc_contact(self.account, self.room_jid, nick) + if gc_c is None: + raise CommandError(_("Unknown nickname")) + app.connections[self.account].get_module('Ping').send_ping(gc_c) diff --git a/gajim/command_system/mapping.py b/gajim/command_system/mapping.py new file mode 100644 index 0000000..c0546a7 --- /dev/null +++ b/gajim/command_system/mapping.py @@ -0,0 +1,349 @@ +# Copyright (C) 2009-2010 Alexander Cherniuk +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 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, see . + +""" +The module contains routines to parse command arguments and map them to +the command handler's positional and keyword arguments. + +Mapping is done in two stages: 1) parse arguments into positional +arguments and options; 2) adapt them to the specific command handler +according to the command properties. +""" + +import re +from operator import itemgetter + +from gajim.common.i18n import _ + +from gajim.command_system.errors import DefinitionError +from gajim.command_system.errors import CommandError + +# Quite complex piece of regular expression logic to parse options and +# arguments. Might need some tweaking along the way. +ARG_PATTERN = re.compile(r'(\'|")?(?P(?(1).+?|\S+))(?(1)\1)') +OPT_PATTERN = re.compile(r'(?[\w-]+)(?:(?:=|\s)(\'|")?(?P(?(2)[^-]+?|[^-\s]+))(?(2)\2))?') + +# Option keys needs to be encoded to a specific encoding as Python does +# not allow to expand dictionary with raw Unicode strings as keys from a +# **kwargs. +KEY_ENCODING = 'UTF-8' + +# Defines how complete representation of command usage (generated based +# on command handler argument specification) will be rendered. +USAGE_PATTERN = 'Usage: %s %s' + + +def parse_arguments(arguments): + """ + Simple yet effective and sufficient in most cases parser which + parses command arguments and returns them as two lists. + + First list represents positional arguments as (argument, position), + and second representing options as (key, value, position) tuples, + where position is a (start, end) span tuple of where it was found in + the string. + + Options may be given in --long or -short format. As --option=value + or --option value or -option value. Keys without values will get + None as value. + + Arguments and option values that contain spaces may be given as 'one + two three' or "one two three"; that is between single or double + quotes. + """ + args, opts = [], [] + + def intersects_opts(given_start, given_end): + """ + Check if given span intersects with any of options. + """ + for _key, _value, (start, end) in opts: + if given_start >= start and given_end <= end: + return True + return False + + def intersects_args(given_start, given_end): + """ + Check if given span intersects with any of arguments. + """ + for _arg, (start, end) in args: + if given_start >= start and given_end <= end: + return True + return False + + for match in re.finditer(OPT_PATTERN, arguments): + if match: + key = match.group('key') + value = match.group('value') or None + position = match.span() + opts.append((key, value, position)) + + for match in re.finditer(ARG_PATTERN, arguments): + if match: + body = match.group('body') + position = match.span() + args.append((body, position)) + + # Primitive but sufficiently effective way of disposing of + # conflicted sectors. Remove any arguments that intersect with + # options. + for arg, position in args[:]: + if intersects_opts(*position): + args.remove((arg, position)) + + # Primitive but sufficiently effective way of disposing of + # conflicted sectors. Remove any options that intersect with + # arguments. + for key, value, position in opts[:]: + if intersects_args(*position): + opts.remove((key, value, position)) + + return args, opts + + +def adapt_arguments(command, arguments, args, opts): + """ + Adapt args and opts got from the parser to a specific handler by + means of arguments specified on command definition. That is + transform them to *args and **kwargs suitable for passing to a + command handler. + + Dashes (-) in the option names will be converted to underscores. So + you can map --one-more-option to a one_more_option=None. + + If the initial value of a keyword argument is a boolean (False in + most cases) - then this option will be treated as a switch, that is + an option which does not take an argument. If a switch is followed + by an argument - then this argument will be treated just like a + normal positional argument. + """ + spec_args, spec_kwargs, var_args, _var_kwargs = command.extract_specification() + norm_kwargs = dict(spec_kwargs) + + # Quite complex piece of neck-breaking logic to extract raw + # arguments if there is more, then one positional argument specified + # by the command. In case if it's just one argument which is the + # collector - this is fairly easy. But when it's more then one + # argument - the neck-breaking logic of how to retrieve residual + # arguments as a raw, all in one piece string, kicks in. + if command.raw: + if arguments: + spec_fix = 1 if command.source else 0 + spec_len = len(spec_args) - spec_fix + arguments_end = len(arguments) - 1 + + # If there are any optional arguments given they should be + # either an unquoted positional argument or part of the raw + # argument. So we find all optional arguments that can + # possibly be unquoted argument and append them as is to the + # args. + for key, value, (start, end) in opts[:spec_len]: + if value: + end -= len(value) + 1 + args.append((arguments[start:end], (start, end))) + args.append((value, (end, end + len(value) + 1))) + else: + args.append((arguments[start:end], (start, end))) + + # We need in-place sort here because after manipulations + # with options order of arguments might be wrong and we just + # can't have more complex logic to not let that happen. + args.sort(key=itemgetter(1)) + + if spec_len > 1: + try: + _stopper, (start, end) = args[spec_len - 2] + except IndexError: + raise CommandError(_("Missing arguments"), command) + + # The essential point of the whole play. After + # boundaries are being determined (supposedly correct) + # we separate raw part from the rest of arguments, which + # should be normally processed. + raw = arguments[end:] + raw = raw.strip() or None + + if not raw and not command.empty: + raise CommandError(_("Missing arguments"), command) + + # Discard residual arguments and all of the options as + # raw command does not support options and if an option + # is given it is rather a part of a raw argument. + args = args[:spec_len - 1] + opts = [] + + args.append((raw, (end, arguments_end))) + else: + # Substitute all of the arguments with only one, which + # contain raw and unprocessed arguments as a string. And + # discard all the options, as raw command does not + # support them. + args = [(arguments, (0, arguments_end))] + opts = [] + else: + if command.empty: + args.append((None, (0, 0))) + else: + raise CommandError(_("Missing arguments"), command) + + # The first stage of transforming options we have got to a format + # that can be used to associate them with declared keyword + # arguments. Substituting dashes (-) in their names with + # underscores (_). + for index, (key, value, position) in enumerate(opts): + if '-' in key: + opts[index] = (key.replace('-', '_'), value, position) + + # The second stage of transforming options to an associable state. + # Expanding short, one-letter options to a verbose ones, if + # corresponding opt-in has been given. + if command.expand: + expanded = [] + for spec_key in norm_kwargs.keys(): + letter = spec_key[0] if len(spec_key) > 1 else None + if letter and letter not in expanded: + for index, (key, value, position) in enumerate(opts): + if key == letter: + expanded.append(letter) + opts[index] = (spec_key, value, position) + break + + # Detect switches and set their values accordingly. If any of them + # carries a value - append it to args. + for index, (key, value, position) in enumerate(opts): + if isinstance(norm_kwargs.get(key), bool): + opts[index] = (key, True, position) + if value: + args.append((value, position)) + + # Sorting arguments and options (just to be sure) in regarding to + # their positions in the string. + args.sort(key=itemgetter(1)) + opts.sort(key=itemgetter(2)) + + # Stripping down position information supplied with arguments and + # options as it won't be needed again. + args = list(map(lambda t: t[0], args)) + opts = list(map(lambda t: (t[0], t[1]), opts)) + + # If command has extra option enabled - collect all extra arguments + # and pass them to a last positional argument command defines as a + # list. + if command.extra: + if not var_args: + spec_fix = 1 if not command.source else 2 + spec_len = len(spec_args) - spec_fix + extra = args[spec_len:] + args = args[:spec_len] + args.append(extra) + else: + raise DefinitionError("Can not have both, extra and *args") + + # Detect if positional arguments overlap keyword arguments. If so + # and this is allowed by command options - then map them directly to + # their options, so they can get proper further processing. + spec_fix = 1 if command.source else 0 + spec_len = len(spec_args) - spec_fix + if len(args) > spec_len: + if command.overlap: + overlapped = args[spec_len:] + args = args[:spec_len] + for arg, spec_key, _spec_value in zip(overlapped, spec_kwargs): + opts.append((spec_key, arg)) + else: + raise CommandError(_("Too many arguments"), command) + + # Detect every switch and ensure it will not receive any arguments. + # Normally this does not happen unless overlapping is enabled. + for key, value in opts: + initial = norm_kwargs.get(key) + if isinstance(initial, bool): + if not isinstance(value, bool): + raise CommandError( + "%s: Switch can not take an argument" % key, command) + + # Inject the source arguments as a string as a first argument, if + # command has enabled the corresponding option. + if command.source: + args.insert(0, arguments) + + # Return *args and **kwargs in the form suitable for passing to a + # command handler and being expanded. + return tuple(args), dict(opts) + + +def generate_usage(command, complete=True): + """ + Extract handler's arguments specification and wrap them in a + human-readable format usage information. If complete is given - then + USAGE_PATTERN will be used to render the specification completely. + """ + spec_args, spec_kwargs, var_args, var_kwargs = command.extract_specification() + + # Remove some special positional arguments from the specification, + # but store their names so they can be used for usage info + # generation. + _sp_source = spec_args.pop(0) if command.source else None + sp_extra = spec_args.pop() if command.extra else None + + kwargs = [] + letters = [] + + for key, value in spec_kwargs: + letter = key[0] + key = key.replace('_', '-') + + if isinstance(value, bool): + value = str() + else: + value = '=%s' % value + + if letter not in letters: + kwargs.append('-(-%s)%s%s' % (letter, key[1:], value)) + letters.append(letter) + else: + kwargs.append('--%s%s' % (key, value)) + + usage = str() + args = str() + + if command.raw: + spec_len = len(spec_args) - 1 + if spec_len: + args += ('<%s>' % ', '.join(spec_args[:spec_len])) + ' ' + args += ('(|%s|)' if command.empty else '|%s|') % spec_args[-1] + else: + if spec_args: + args += '<%s>' % ', '.join(spec_args) + if var_args or sp_extra: + args += (' ' if spec_args else str()) + '<<%s>>' % ( + var_args or sp_extra) + + usage += args + + if kwargs or var_kwargs: + if kwargs: + usage += (' ' if args else str()) + '[%s]' % ', '.join(kwargs) + if var_kwargs: + usage += (' ' if args else str()) + '[[%s]]' % var_kwargs + + # Native name will be the first one if it is included. Otherwise, + # names will be in the order they were specified. + if len(command.names) > 1: + names = '%s (%s)' % (command.first_name, ', '.join(command.names[1:])) + else: + names = command.first_name + + return USAGE_PATTERN % (names, usage) if complete else usage diff --git a/gajim/command_system/tools.py b/gajim/command_system/tools.py new file mode 100644 index 0000000..cde3e17 --- /dev/null +++ b/gajim/command_system/tools.py @@ -0,0 +1,34 @@ +# Copyright (c) 2010, Alexander Cherniuk (ts33kr@gmail.com) +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +def remove(sequence, target): + if isinstance(sequence, list): + if target in sequence: + sequence.remove(target) + elif isinstance(sequence, dict): + if target in sequence: + del sequence[target] diff --git a/gajim/common/__init__.py b/gajim/common/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/gajim/common/account.py b/gajim/common/account.py new file mode 100644 index 0000000..032965a --- /dev/null +++ b/gajim/common/account.py @@ -0,0 +1,32 @@ +# Copyright (C) 2009 Stephan Erb +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + + +class Account: + + def __init__(self, name, contacts, gc_contacts): + self.name = name + self.contacts = contacts + self.gc_contacts = gc_contacts + + def change_contact_jid(self, old_jid, new_jid): + self.contacts.change_contact_jid(old_jid, new_jid) + + def __repr__(self): + return self.name + + def __hash__(self): + return hash(self.name) diff --git a/gajim/common/app.py b/gajim/common/app.py new file mode 100644 index 0000000..9042b22 --- /dev/null +++ b/gajim/common/app.py @@ -0,0 +1,691 @@ +# Copyright (C) 2003-2014 Yann Leboulanger +# Copyright (C) 2005-2006 Dimitur Kirov +# Travis Shirk +# Nikos Kouremenos +# Copyright (C) 2006 Junglecow J +# Stefan Bethge +# Copyright (C) 2006-2008 Jean-Marie Traissard +# Copyright (C) 2007-2008 Brendan Taylor +# Stephan Erb +# Copyright (C) 2008 Jonathan Schleifer +# Copyright (C) 2018 Philipp Hörist +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from typing import Any # pylint: disable=unused-import +from typing import Dict # pylint: disable=unused-import +from typing import List # pylint: disable=unused-import +from typing import Optional # pylint: disable=unused-import +from typing import cast + +import os +import sys +import logging +import uuid +from collections import namedtuple +from collections import defaultdict + +import nbxmpp +from gi.repository import Gdk + +import gajim +from gajim.common import config as c_config +from gajim.common import configpaths +from gajim.common import ged as ged_module +from gajim.common.i18n import LANG +from gajim.common.const import Display +from gajim.common.events import Events +from gajim.common.types import NetworkEventsControllerT # pylint: disable=unused-import +from gajim.common.types import InterfaceT # pylint: disable=unused-import +from gajim.common.types import ConnectionT # pylint: disable=unused-import +from gajim.common.types import LegacyContactsAPIT # pylint: disable=unused-import +from gajim.common.types import SettingsT # pylint: disable=unused-import + +interface = cast(InterfaceT, None) +thread_interface = lambda *args: None # Interface to run a thread and then a callback +config = c_config.Config() +settings = cast(SettingsT, None) +version = gajim.__version__ +connections = {} # type: Dict[str, ConnectionT] +avatar_cache = {} # type: Dict[str, Dict[str, Any]] +bob_cache = {} # type: Dict[str, bytes] +ipython_window = None +app = None # Gtk.Application + +ged = ged_module.GlobalEventsDispatcher() # Global Events Dispatcher +nec = cast(NetworkEventsControllerT, None) +plugin_manager = None # Plugins Manager + +class Storage: + def __init__(self): + self.cache = None + self.archive = None + +storage = Storage() + +css_config = None + +transport_type = {} # type: Dict[str, str] + +# dict of time of the latest incoming message per jid +# {acct1: {jid1: time1, jid2: time2}, } +last_message_time = {} # type: Dict[str, Dict[str, float]] + +contacts = cast(LegacyContactsAPIT, None) + +# tell if we are connected to the room or not +# {acct: {room_jid: True}} +gc_connected = {} # type: Dict[str, Dict[str, bool]] + +# dict of the pass required to enter a room +# {room_jid: password} +gc_passwords = {} # type: Dict[str, str] + +# dict of rooms that must be automatically configured +# and for which we have a list of invities +# {account: {room_jid: {'invities': []}}} +automatic_rooms = {} # type: Dict[str, Dict[str, Dict[str, List[str]]]] + + # dict of groups, holds if they are expanded or not +groups = {} # type: Dict[str, Dict[str, Dict[str, bool]]] + +# list of contacts that has just signed in +newly_added = {} # type: Dict[str, List[str]] + +# list of contacts that has just signed out +to_be_removed = {} # type: Dict[str, List[str]] + +events = Events() + +notification = None + +# list of our nick names in each account +nicks = {} # type: Dict[str, str] + +# should we block 'contact signed in' notifications for this account? +# this is only for the first 30 seconds after we change our show +# to something else than offline +# can also contain account/transport_jid to block notifications for contacts +# from this transport +block_signed_in_notifications = {} # type: Dict[str, bool] + +proxy65_manager = None + +cert_store = None + +task_manager = None + +# zeroconf account name +ZEROCONF_ACC_NAME = 'Local' + +# These will be set in app.gui_interface. +idlequeue = None # type: nbxmpp.idlequeue.IdleQueue +socks5queue = None + +gupnp_igd = None + +gsound_ctx = None + +_dependencies = { + 'AVAHI': False, + 'PYBONJOUR': False, + 'FARSTREAM': False, + 'GST': False, + 'AV': False, + 'GEOCLUE': False, + 'UPNP': False, + 'GSOUND': False, + 'GSPELL': False, + 'IDLE': False, +} + +_tasks = defaultdict(list) # type: Dict[int, List[Any]] + +def print_version(): + log('gajim').info('Gajim Version: %s', gajim.__version__) + + +def get_client(account): + return connections[account] + + +def is_installed(dependency): + if dependency == 'ZEROCONF': + # Alias for checking zeroconf libs + return _dependencies['AVAHI'] or _dependencies['PYBONJOUR'] + return _dependencies[dependency] + + +def is_flatpak(): + return gajim.IS_FLATPAK + + +def is_portable(): + return gajim.IS_PORTABLE + + +def is_display(display): + # XWayland reports as Display X11, so try with env var + is_wayland = os.environ.get('XDG_SESSION_TYPE') == 'wayland' + if is_wayland and display == Display.WAYLAND: + return True + + default = Gdk.Display.get_default() + if default is None: + log('gajim').warning('Could not determine window manager') + return False + return default.__class__.__name__ == display.value + +def disable_dependency(dependency): + _dependencies[dependency] = False + +def detect_dependencies(): + import gi + + # ZEROCONF + try: + import pybonjour # pylint: disable=unused-import + _dependencies['PYBONJOUR'] = True + except Exception: + pass + + try: + gi.require_version('Avahi', '0.6') + from gi.repository import Avahi # pylint: disable=unused-import + _dependencies['AVAHI'] = True + except Exception: + pass + + try: + gi.require_version('Gst', '1.0') + from gi.repository import Gst + _dependencies['GST'] = True + except Exception: + pass + + try: + gi.require_version('Farstream', '0.2') + from gi.repository import Farstream + _dependencies['FARSTREAM'] = True + except Exception: + pass + + try: + if _dependencies['GST'] and _dependencies['FARSTREAM']: + Gst.init(None) + conference = Gst.ElementFactory.make('fsrtpconference', None) + conference.new_session(Farstream.MediaType.AUDIO) + from gajim.gui.gstreamer import create_gtk_widget + sink, _, _ = create_gtk_widget() + if sink is not None: + _dependencies['AV'] = True + except Exception as error: + log('gajim').warning('AV dependency test failed: %s', error) + + # GEOCLUE + try: + gi.require_version('Geoclue', '2.0') + from gi.repository import Geoclue # pylint: disable=unused-import + _dependencies['GEOCLUE'] = True + except (ImportError, ValueError): + pass + + # UPNP + try: + gi.require_version('GUPnPIgd', '1.0') + from gi.repository import GUPnPIgd + global gupnp_igd + gupnp_igd = GUPnPIgd.SimpleIgd() + _dependencies['UPNP'] = True + except ValueError: + pass + + # IDLE + try: + from gajim.common import idle + if idle.Monitor.is_available(): + _dependencies['IDLE'] = True + except Exception: + pass + + # GSOUND + try: + gi.require_version('GSound', '1.0') + from gi.repository import GLib + from gi.repository import GSound + global gsound_ctx + gsound_ctx = GSound.Context() + try: + gsound_ctx.init() + _dependencies['GSOUND'] = True + except GLib.Error as error: + log('gajim').warning('GSound init failed: %s', error) + except (ImportError, ValueError): + pass + + # GSPELL + try: + gi.require_version('Gspell', '1') + from gi.repository import Gspell + langs = Gspell.language_get_available() + for lang in langs: + log('gajim').info('%s (%s) dict available', + lang.get_name(), lang.get_code()) + if langs: + _dependencies['GSPELL'] = True + except (ImportError, ValueError): + pass + + # Print results + for dep, val in _dependencies.items(): + log('gajim').info('%-13s %s', dep, val) + + log('gajim').info('Used language: %s', LANG) + +def detect_desktop_env(): + if sys.platform in ('win32', 'darwin'): + return sys.platform + + desktop = os.environ.get('XDG_CURRENT_DESKTOP') + if desktop is None: + return None + + if 'gnome' in desktop.lower(): + return 'gnome' + return desktop + +desktop_env = detect_desktop_env() + +def get_an_id(): + return str(uuid.uuid4()) + +def get_nick_from_jid(jid): + pos = jid.find('@') + return jid[:pos] + +def get_server_from_jid(jid): + pos = jid.find('@') + 1 # after @ + return jid[pos:] + +def get_name_and_server_from_jid(jid): + name = get_nick_from_jid(jid) + server = get_server_from_jid(jid) + return name, server + +def get_room_and_nick_from_fjid(jid): + # fake jid is the jid for a contact in a room + # gaim@conference.jabber.no/nick/nick-continued + # return ('gaim@conference.jabber.no', 'nick/nick-continued') + l = jid.split('/', 1) + if len(l) == 1: # No nick + l.append('') + return l + +def get_real_jid_from_fjid(account, fjid): + """ + Return real jid or returns None, if we don't know the real jid + """ + room_jid, nick = get_room_and_nick_from_fjid(fjid) + if not nick: # It's not a fake_jid, it is a real jid + return fjid # we return the real jid + real_jid = fjid + if interface.msg_win_mgr.get_gc_control(room_jid, account): + # It's a pm, so if we have real jid it's in contact.jid + gc_contact = contacts.get_gc_contact(account, room_jid, nick) + if not gc_contact: + return + # gc_contact.jid is None when it's not a real jid (we don't know real jid) + real_jid = gc_contact.jid + return real_jid + +def get_room_from_fjid(jid): + return get_room_and_nick_from_fjid(jid)[0] + +def get_contact_name_from_jid(account, jid): + c = contacts.get_first_contact_from_jid(account, jid) + return c.name + +def get_jid_without_resource(jid): + return jid.split('/')[0] + +def construct_fjid(room_jid, nick): + # fake jid is the jid for a contact in a room + # gaim@conference.jabber.org/nick + return room_jid + '/' + nick + +def get_resource_from_jid(jid): + jids = jid.split('/', 1) + if len(jids) > 1: + return jids[1] # abc@doremi.org/res/res-continued + return '' + +def get_number_of_accounts(): + """ + Return the number of ALL accounts + """ + return len(connections.keys()) + +def get_number_of_connected_accounts(accounts_list=None): + """ + Returns the number of CONNECTED accounts. Uou can optionally pass an + accounts_list and if you do those will be checked, else all will be checked + """ + connected_accounts = 0 + if accounts_list is None: + accounts = connections.keys() + else: + accounts = accounts_list + for account in accounts: + if account_is_connected(account): + connected_accounts = connected_accounts + 1 + return connected_accounts + +def get_available_clients(): + clients = [] + for client in connections.values(): + if client.state.is_available: + clients.append(client) + return clients + +def get_connected_accounts(exclude_local=False): + """ + Returns a list of CONNECTED accounts + """ + account_list = [] + for account in connections: + if account == 'Local' and exclude_local: + continue + if account_is_connected(account): + account_list.append(account) + return account_list + +def get_accounts_sorted(): + ''' + Get all accounts alphabetically sorted with Local first + ''' + account_list = settings.get_accounts() + account_list.sort(key=str.lower) + if 'Local' in account_list: + account_list.remove('Local') + account_list.insert(0, 'Local') + return account_list + +def get_enabled_accounts_with_labels(exclude_local=True, connected_only=False, + private_storage_only=False): + """ + Returns a list with [account, account_label] entries. + Order by account_label + """ + accounts = [] + for acc in connections: + if exclude_local and account_is_zeroconf(acc): + continue + if connected_only and not account_is_connected(acc): + continue + if private_storage_only and not account_supports_private_storage(acc): + continue + + accounts.append([acc, get_account_label(acc)]) + + accounts.sort(key=lambda xs: str.lower(xs[1])) + return accounts + +def get_account_label(account): + return settings.get_account_setting(account, 'account_label') or account + +def account_is_zeroconf(account): + return connections[account].is_zeroconf + +def account_supports_private_storage(account): + # If Delimiter module is not available we can assume + # Private Storage is not available + return connections[account].get_module('Delimiter').available + +def account_is_connected(account): + if account not in connections: + return False + return (connections[account].state.is_connected or + connections[account].state.is_available) + +def account_is_available(account): + if account not in connections: + return False + return connections[account].state.is_available + +def account_is_disconnected(account): + return not account_is_connected(account) + +def zeroconf_is_connected(): + return account_is_connected(ZEROCONF_ACC_NAME) and \ + settings.get_account_setting(ZEROCONF_ACC_NAME, 'is_zeroconf') + +def in_groupchat(account, room_jid): + room_jid = str(room_jid) + if room_jid not in gc_connected[account]: + return False + return gc_connected[account][room_jid] + +def get_transport_name_from_jid(jid, use_config_setting=True): + """ + Returns 'gg', 'irc' etc + + If JID is not from transport returns None. + """ + #FIXME: jid can be None! one TB I saw had this problem: + # in the code block # it is a groupchat presence in handle_event_notify + # jid was None. Yann why? + if not jid or (use_config_setting and not config.get('use_transports_iconsets')): + return + + host = get_server_from_jid(jid) + if host in transport_type: + return transport_type[host] + + # host is now f.e. icq.foo.org or just icq (sometimes on hacky transports) + host_splitted = host.split('.') + if host_splitted: + # now we support both 'icq.' and 'icq' but not icqsucks.org + host = host_splitted[0] + + if host in ('irc', 'icq', 'sms', 'weather', 'mrim', 'facebook'): + return host + if host == 'gg': + return 'gadu-gadu' + if host == 'jit': + return 'icq' + if host == 'facebook': + return 'facebook' + return None + +def jid_is_transport(jid): + # if not '@' or '@' starts the jid then it is transport + if jid.find('@') <= 0: + return True + return False + +def get_jid_from_account(account_name): + """ + Return the jid we use in the given account + """ + name = settings.get_account_setting(account_name, 'name') + hostname = settings.get_account_setting(account_name, 'hostname') + jid = name + '@' + hostname + return jid + +def get_account_from_jid(jid): + for account in settings.get_accounts(): + if jid == get_jid_from_account(account): + return account + +def get_our_jids(): + """ + Returns a list of the jids we use in our accounts + """ + our_jids = list() + for account in contacts.get_accounts(): + our_jids.append(get_jid_from_account(account)) + return our_jids + +def get_hostname_from_account(account_name, use_srv=False): + """ + Returns hostname (if custom hostname is used, that is returned) + """ + if use_srv and connections[account_name].connected_hostname: + return connections[account_name].connected_hostname + if settings.get_account_setting(account_name, 'use_custom_host'): + return settings.get_account_setting(account_name, 'custom_host') + return settings.get_account_setting(account_name, 'hostname') + +def get_notification_image_prefix(jid): + """ + Returns the prefix for the notification images + """ + transport_name = get_transport_name_from_jid(jid) + if transport_name in ('icq', 'facebook'): + prefix = transport_name + else: + prefix = 'jabber' + return prefix + +def get_name_from_jid(account, jid): + """ + Return from JID's shown name and if no contact returns jids + """ + contact = contacts.get_first_contact_from_jid(account, jid) + if contact: + actor = contact.get_shown_name() + else: + actor = jid + return actor + + +def get_recent_groupchats(account): + recent_groupchats = settings.get_account_setting( + account, 'recent_groupchats').split() + + RecentGroupchat = namedtuple('RecentGroupchat', + ['room', 'server', 'nickname']) + + recent_list = [] + for groupchat in recent_groupchats: + jid = nbxmpp.JID.from_string(groupchat) + recent = RecentGroupchat(jid.localpart, jid.domain, jid.resource) + recent_list.append(recent) + return recent_list + +def add_recent_groupchat(account, room_jid, nickname): + recent = settings.get_account_setting( + account, 'recent_groupchats').split() + full_jid = room_jid + '/' + nickname + if full_jid in recent: + recent.remove(full_jid) + recent.insert(0, full_jid) + if len(recent) > 10: + recent = recent[0:9] + config_value = ' '.join(recent) + settings.set_account_setting(account, 'recent_groupchats', config_value) + +def get_priority(account, show): + """ + Return the priority an account must have + """ + if not show: + show = 'online' + + if show in ('online', 'chat', 'away', 'xa', 'dnd') and \ + settings.get_account_setting(account, 'adjust_priority_with_status'): + prio = settings.get_account_setting(account, 'autopriority_' + show) + else: + prio = settings.get_account_setting(account, 'priority') + if prio < -128: + prio = -128 + elif prio > 127: + prio = 127 + return prio + +def log(domain): + if domain != 'gajim': + domain = 'gajim.%s' % domain + return logging.getLogger(domain) + +def prefers_app_menu(): + if sys.platform == 'darwin': + return True + if sys.platform == 'win32': + return False + return app.prefers_app_menu() + +def load_css_config(): + global css_config + from gajim.gui.css_config import CSSConfig + css_config = CSSConfig() + +def set_debug_mode(enable: bool) -> None: + debug_folder = configpaths.get('DEBUG') + debug_enabled = debug_folder / 'debug-enabled' + if enable: + debug_enabled.touch() + else: + if debug_enabled.exists(): + debug_enabled.unlink() + +def get_debug_mode() -> bool: + debug_folder = configpaths.get('DEBUG') + debug_enabled = debug_folder / 'debug-enabled' + return debug_enabled.exists() + +def get_stored_bob_data(algo_hash: str) -> Optional[bytes]: + try: + return bob_cache[algo_hash] + except KeyError: + filepath = configpaths.get('BOB') / algo_hash + if filepath.exists(): + with open(str(filepath), 'r+b') as file: + data = file.read() + return data + return None + +def get_groupchat_control(account, jid): + control = app.interface.msg_win_mgr.get_gc_control(jid, account) + if control is not None: + return control + try: + return app.interface.minimized_controls[account][jid] + except Exception: + return None + + +def register_task(self, task): + _tasks[id(self)].append(task) + + +def remove_task(task, id_): + try: + _tasks[id_].remove(task) + except Exception: + pass + else: + if not _tasks[id_]: + del _tasks[id_] + + +def cancel_tasks(obj): + id_ = id(obj) + if id_ not in _tasks: + return + + task_list = _tasks[id_] + for task in task_list: + task.cancel() diff --git a/gajim/common/cert_store.py b/gajim/common/cert_store.py new file mode 100644 index 0000000..d7cf98d --- /dev/null +++ b/gajim/common/cert_store.py @@ -0,0 +1,89 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + + +import logging + +from gi.repository import GLib +from gi.repository import Gio + +from gajim.common import configpaths + +from gajim.common.helpers import get_random_string +from gajim.common.helpers import write_file_async + + +log = logging.getLogger('gajim.c.cert_store') + + +class CertificateStore: + def __init__(self): + self._path = configpaths.get('CERT_STORE') + self._certs = [] + + self._load_certificates() + + def _get_random_path(self): + filename = get_random_string() + path = self._path / filename + if path.exists(): + return self._get_random_path() + return path + + def _load_certificates(self): + for path in self._path.iterdir(): + if path.is_dir(): + continue + try: + cert = Gio.TlsCertificate.new_from_file(str(path)) + except GLib.Error as error: + log.warning('Can\'t load certificate: %s, %s', path, error) + continue + + log.info('Loaded: %s', path.stem) + self._certs.append(cert) + + log.info('%s Certificates loaded', len(self._certs)) + + def get_certificates(self): + return list(self._certs) + + def add_certificate(self, certificate): + log.info('Add certificate to trust store') + self._certs.append(certificate) + pem = certificate.props.certificate_pem + path = self._get_random_path() + write_file_async(path, + pem.encode(), + self._on_certificate_write_finished, + path) + + def verify(self, certificate, tls_errors): + if Gio.TlsCertificateFlags.UNKNOWN_CA in tls_errors: + for trusted_certificate in self._certs: + if trusted_certificate.is_same(certificate): + tls_errors.remove(Gio.TlsCertificateFlags.UNKNOWN_CA) + break + + if not tls_errors: + return True + return False + + @staticmethod + def _on_certificate_write_finished(data, error, path): + if data is None: + log.error('Can\'t store certificate: %s', error) + return + + log.info('Certificate stored: %s', path) diff --git a/gajim/common/client.py b/gajim/common/client.py new file mode 100644 index 0000000..3a4f900 --- /dev/null +++ b/gajim/common/client.py @@ -0,0 +1,642 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import logging + +import nbxmpp +from nbxmpp.client import Client as NBXMPPClient +from nbxmpp.const import StreamError +from nbxmpp.const import ConnectionType + +from gi.repository import GLib + +from gajim.common import passwords +from gajim.common.nec import NetworkEvent + +from gajim.common import app +from gajim.common import helpers +from gajim.common import modules +from gajim.common.const import ClientState +from gajim.common.helpers import get_custom_host +from gajim.common.helpers import get_user_proxy +from gajim.common.helpers import warn_about_plain_connection +from gajim.common.helpers import get_resource +from gajim.common.helpers import get_idle_status_message +from gajim.common.idle import Monitor +from gajim.common.i18n import _ + +from gajim.common.connection_handlers import ConnectionHandlers +from gajim.common.connection_handlers_events import MessageSentEvent + +from gajim.gui.util import open_window + + +log = logging.getLogger('gajim.client') + + +class Client(ConnectionHandlers): + def __init__(self, account): + self._client = None + self._account = account + self.name = account + self._hostname = app.settings.get_account_setting(self._account, + 'hostname') + self._user = app.settings.get_account_setting(self._account, 'name') + self.password = None + + self._priority = 0 + self._connect_machine_calls = 0 + self.addressing_supported = False + + self.is_zeroconf = False + self.pep = {} + self.roster_supported = True + + self._state = ClientState.DISCONNECTED + self._status_sync_on_resume = False + self._status = 'online' + self._status_message = '' + self._idle_status = 'online' + self._idle_status_enabled = True + self._idle_status_message = '' + + self._reconnect = True + self._reconnect_timer_source = None + self._destroy_client = False + self._remove_account = False + + self._destroyed = False + + self.available_transports = {} + + modules.register_modules(self) + + self._create_client() + + if Monitor.is_available(): + self._idle_handler_id = Monitor.connect('state-changed', + self._idle_state_changed) + self._screensaver_handler_id = app.app.connect( + 'notify::screensaver-active', self._screensaver_state_changed) + + ConnectionHandlers.__init__(self) + + def _set_state(self, state): + log.info('State: %s', state) + self._state = state + + @property + def state(self): + return self._state + + @property + def account(self): + return self._account + + @property + def status(self): + return self._status + + @property + def status_message(self): + if self._idle_status_active(): + return self._idle_status_message + return self._status_message + + @property + def priority(self): + return self._priority + + @property + def certificate(self): + return self._client.peer_certificate[0] + + @property + def features(self): + return self._client.features + + @property + def local_address(self): + address = self._client.local_address + if address is not None: + return address.to_string().split(':')[0] + return None + + def set_remove_account(self, value): + # Used by the RemoveAccount Assistant to make the Client + # not react to any stream errors that happen while the + # account is removed by the server and the connection is killed + self._remove_account = value + + def _create_client(self): + if self._destroyed: + # If we disable an account cleanup() is called and all + # modules are unregistered. Because disable_account() does not wait + # for the client to properly disconnect, handlers of the + # nbxmpp.Client() are emitted after we called cleanup(). + # After nbxmpp.Client() disconnects and is destroyed we create a + # new instance with this method but modules.get_handlers() fails + # because modules are already unregistered. + # TODO: Make this nicer + return + log.info('Create new nbxmpp client') + self._client = NBXMPPClient(log_context=self._account) + self.connection = self._client + self._client.set_domain(self._hostname) + self._client.set_username(self._user) + self._client.set_resource(get_resource(self._account)) + + pass_saved = app.settings.get_account_setting(self._account, 'savepass') + if pass_saved: + # Request password from keyring only if the user chose to save + # his password + self.password = passwords.get_password(self._account) + + self._client.set_password(self.password) + self._client.set_accepted_certificates( + app.cert_store.get_certificates()) + + self._client.subscribe('resume-failed', self._on_resume_failed) + self._client.subscribe('resume-successful', self._on_resume_successful) + self._client.subscribe('disconnected', self._on_disconnected) + self._client.subscribe('connection-failed', self._on_connection_failed) + self._client.subscribe('connected', self._on_connected) + + self._client.subscribe('stanza-sent', self._on_stanza_sent) + self._client.subscribe('stanza-received', self._on_stanza_received) + + for handler in modules.get_handlers(self): + self._client.register_handler(handler) + + def _on_resume_failed(self, _client, _signal_name): + log.info('Resume failed') + app.nec.push_incoming_event(NetworkEvent( + 'our-show', account=self._account, show='offline')) + self.get_module('Chatstate').enabled = False + + def _on_resume_successful(self, _client, _signal_name): + self._set_state(ClientState.CONNECTED) + self._set_client_available() + + if self._status_sync_on_resume: + self._status_sync_on_resume = False + self.update_presence() + else: + # Normally show is updated when we receive a presence reflection. + # On resume, if show has not changed while offline, we don’t send + # a new presence so we have to trigger the event here. + app.nec.push_incoming_event( + NetworkEvent('our-show', + account=self._account, + show=self._status)) + + def _set_client_available(self): + self._set_state(ClientState.AVAILABLE) + app.nec.push_incoming_event(NetworkEvent('account-connected', + account=self._account)) + + def disconnect(self, gracefully, reconnect, destroy_client=False): + if self._state.is_disconnecting: + log.warning('Disconnect already in progress') + return + + self._set_state(ClientState.DISCONNECTING) + self._reconnect = reconnect + self._destroy_client = destroy_client + + log.info('Starting to disconnect %s', self._account) + self._client.disconnect(immediate=not gracefully) + + def _on_disconnected(self, _client, _signal_name): + log.info('Disconnect %s', self._account) + self._set_state(ClientState.DISCONNECTED) + + domain, error, text = self._client.get_error() + + if self._remove_account: + # Account was removed via RemoveAccount Assistant. + self._reconnect = False + + elif domain == StreamError.BAD_CERTIFICATE: + self._reconnect = False + self._destroy_client = True + + cert, errors = self._client.peer_certificate + + open_window('SSLErrorDialog', + account=self._account, + client=self, + cert=cert, + error=errors.pop()) + + elif domain in (StreamError.STREAM, StreamError.BIND): + if error == 'conflict': + # Reset resource + app.settings.set_account_setting(self._account, + 'resource', + 'gajim.$rand') + + elif domain == StreamError.SASL: + self._reconnect = False + self._destroy_client = True + + if error in ('not-authorized', 'no-password'): + def _on_password(password): + self.password = password + self._client.set_password(password) + self._prepare_for_connect() + + app.nec.push_incoming_event(NetworkEvent( + 'password-required', conn=self, on_password=_on_password)) + + app.nec.push_incoming_event( + NetworkEvent('simple-notification', + account=self._account, + type_='connection-failed', + title=_('Authentication failed'), + text=text or error)) + + if self._reconnect: + self._after_disconnect() + self._schedule_reconnect() + app.nec.push_incoming_event( + NetworkEvent('our-show', account=self._account, show='error')) + + else: + self.get_module('Chatstate').enabled = False + app.nec.push_incoming_event(NetworkEvent( + 'our-show', account=self._account, show='offline')) + self._after_disconnect() + + def _after_disconnect(self): + self._disable_reconnect_timer() + + self.get_module('VCardAvatars').avatar_advertised = False + + app.proxy65_manager.disconnect(self._client) + self.terminate_sessions() + self.get_module('Bytestream').remove_all_transfers() + + if self._destroy_client: + self._client.destroy() + self._client = None + self._destroy_client = False + self._create_client() + + app.nec.push_incoming_event(NetworkEvent('account-disconnected', + account=self._account)) + + def _on_connection_failed(self, _client, _signal_name): + self._schedule_reconnect() + + def _on_connected(self, _client, _signal_name): + self._set_state(ClientState.CONNECTED) + self.get_module('MUC').get_manager().reset_state() + self.get_module('Discovery').discover_server_info() + self.get_module('Discovery').discover_account_info() + self.get_module('Discovery').discover_server_items() + self.get_module('Chatstate').enabled = True + self.get_module('MAM').reset_state() + + def _on_stanza_sent(self, _client, _signal_name, stanza): + app.nec.push_incoming_event(NetworkEvent('stanza-sent', + account=self._account, + stanza=stanza)) + + def _on_stanza_received(self, _client, _signal_name, stanza): + app.nec.push_incoming_event(NetworkEvent('stanza-received', + account=self._account, + stanza=stanza)) + def get_own_jid(self): + """ + Return the last full JID we received on a bind event. + In case we were never connected it returns the bare JID from config. + """ + if self._client is not None: + jid = self._client.get_bound_jid() + if jid is not None: + return jid + + # This returns the bare jid + return nbxmpp.JID.from_string(app.get_jid_from_account(self._account)) + + def change_status(self, show, message): + if not message: + message = '' + + self._idle_status_enabled = show == 'online' + self._status_message = message + + if show != 'offline': + self._status = show + + if self._state.is_disconnecting: + log.warning('Can\'t change status while ' + 'disconnect is in progress') + return + + if self._state.is_disconnected: + if show == 'offline': + return + + self._prepare_for_connect() + return + + if self._state.is_connecting: + if show == 'offline': + self.disconnect(gracefully=False, + reconnect=False, + destroy_client=True) + return + + if self._state.is_reconnect_scheduled: + if show == 'offline': + self._destroy_client = True + self._abort_reconnect() + else: + self._prepare_for_connect() + return + + # We are connected + if show == 'offline': + self.set_user_activity(None) + self.set_user_mood(None) + self.set_user_tune(None) + self.set_user_location(None) + presence = self.get_module('Presence').get_presence( + typ='unavailable', + status=message, + caps=False) + + self.send_stanza(presence) + self.disconnect(gracefully=True, + reconnect=False, + destroy_client=True) + return + + self.update_presence() + + def update_presence(self, include_muc=True): + status, message, idle = self.get_presence_state() + self._priority = app.get_priority(self._account, status) + self.get_module('Presence').send_presence( + priority=self._priority, + show=status, + status=message, + idle_time=idle) + + if include_muc: + self.get_module('MUC').update_presence() + + def set_user_activity(self, activity): + self.get_module('UserActivity').set_activity(activity) + + def set_user_mood(self, mood): + self.get_module('UserMood').set_mood(mood) + + def set_user_tune(self, tune): + self.get_module('UserTune').set_tune(tune) + + def set_user_location(self, location): + self.get_module('UserLocation').set_location(location) + + def get_module(self, name): + return modules.get(self._account, name) + + @helpers.call_counter + def connect_machine(self): + log.info('Connect machine state: %s', self._connect_machine_calls) + if self._connect_machine_calls == 1: + self.get_module('MetaContacts').get_metacontacts() + elif self._connect_machine_calls == 2: + self.get_module('Delimiter').get_roster_delimiter() + elif self._connect_machine_calls == 3: + self.get_module('Roster').request_roster() + elif self._connect_machine_calls == 4: + self._finish_connect() + + def _finish_connect(self): + self._status_sync_on_resume = False + self._set_client_available() + + # We did not resume the stream, so we are not joined any MUCs + self.update_presence(include_muc=False) + + self.get_module('Bookmarks').request_bookmarks() + self.get_module('SoftwareVersion').set_enabled(True) + self.get_module('Annotations').request_annotations() + self.get_module('Blocking').get_blocking_list() + + # Inform GUI we just signed in + app.nec.push_incoming_event(NetworkEvent( + 'signed-in', account=self._account, conn=self)) + modules.send_stored_publish(self._account) + + def send_stanza(self, stanza): + """ + Send a stanza untouched + """ + return self._client.send_stanza(stanza) + + def send_message(self, message): + if not self._state.is_available: + log.warning('Trying to send message while offline') + return + + stanza = self.get_module('Message').build_message_stanza(message) + message.stanza = stanza + + if message.contact is None: + # Only Single Message should have no contact + self._send_message(message) + return + + method = message.contact.settings.get('encryption') + if not method: + self._send_message(message) + return + + # TODO: Make extension point return encrypted message + extension = 'encrypt' + if message.is_groupchat: + extension = 'gc_encrypt' + app.plugin_manager.extension_point(extension + method, + self, + message, + self._send_message) + + def _send_message(self, message): + message.set_sent_timestamp() + message.message_id = self.send_stanza(message.stanza) + + app.nec.push_incoming_event( + MessageSentEvent(None, jid=message.jid, **vars(message))) + + if message.is_groupchat: + return + + self.get_module('Message').log_message(message) + + def send_messages(self, jids, message): + if not self._state.is_available: + log.warning('Trying to send message while offline') + return + + for jid in jids: + message = message.copy() + message.contact = app.contacts.create_contact(jid, message.account) + stanza = self.get_module('Message').build_message_stanza(message) + message.stanza = stanza + self._send_message(message) + + def _prepare_for_connect(self): + custom_host = get_custom_host(self._account) + if custom_host is not None: + self._client.set_custom_host(*custom_host) + + gssapi = app.settings.get_account_setting(self._account, + 'enable_gssapi') + if gssapi: + self._client.set_mechs(['GSSAPI']) + + anonymous = app.settings.get_account_setting(self._account, + 'anonymous_auth') + if anonymous: + self._client.set_mechs(['ANONYMOUS']) + + if app.settings.get_account_setting(self._account, + 'use_plain_connection'): + self._client.set_connection_types([ConnectionType.PLAIN]) + + proxy = get_user_proxy(self._account) + if proxy is not None: + self._client.set_proxy(proxy) + + self.connect() + + def connect(self, ignored_tls_errors=None): + if self._state not in (ClientState.DISCONNECTED, + ClientState.RECONNECT_SCHEDULED): + # Do not try to reco while we are already trying + return + + log.info('Connect') + + self._client.set_ignored_tls_errors(ignored_tls_errors) + self._reconnect = True + self._disable_reconnect_timer() + self._set_state(ClientState.CONNECTING) + + if warn_about_plain_connection(self._account, + self._client.connection_types): + app.nec.push_incoming_event(NetworkEvent( + 'plain-connection', + account=self._account, + connect=self._client.connect, + abort=self._abort_reconnect)) + return + + self._client.connect() + + def _schedule_reconnect(self): + self._set_state(ClientState.RECONNECT_SCHEDULED) + log.info("Reconnect to %s in 3s", self._account) + self._reconnect_timer_source = GLib.timeout_add_seconds( + 3, self._prepare_for_connect) + + def _abort_reconnect(self): + self._set_state(ClientState.DISCONNECTED) + self._disable_reconnect_timer() + app.nec.push_incoming_event( + NetworkEvent('our-show', account=self._account, show='offline')) + + if self._destroy_client: + self._client.destroy() + self._client = None + self._destroy_client = False + self._create_client() + + def _disable_reconnect_timer(self): + if self._reconnect_timer_source is not None: + GLib.source_remove(self._reconnect_timer_source) + self._reconnect_timer_source = None + + def _idle_state_changed(self, monitor): + state = monitor.state.value + + if monitor.is_awake(): + self._idle_status = state + self._idle_status_message = '' + self._update_status() + return + + if not app.settings.get(f'auto{state}'): + return + + if (state in ('away', 'xa') and self._status == 'online' or + state == 'xa' and self._idle_status == 'away'): + + self._idle_status = state + self._idle_status_message = get_idle_status_message( + state, self._status_message) + self._update_status() + + def _update_status(self): + if not self._idle_status_enabled: + return + + self._status = self._idle_status + if self._state.is_available: + self.update_presence() + else: + self._status_sync_on_resume = True + + def _idle_status_active(self): + if not Monitor.is_available(): + return False + + if not self._idle_status_enabled: + return False + + return self._idle_status != 'online' + + def get_presence_state(self): + if self._idle_status_active(): + return self._idle_status, self._idle_status_message, True + return self._status, self._status_message, False + + @staticmethod + def _screensaver_state_changed(application, _param): + active = application.get_property('screensaver-active') + Monitor.set_extended_away(active) + + def cleanup(self): + self._destroyed = True + if Monitor.is_available(): + Monitor.disconnect(self._idle_handler_id) + app.app.disconnect(self._screensaver_handler_id) + if self._client is not None: + # cleanup() is called before nbmxpp.Client has disconnected, + # when we disable the account. So we need to unregister + # handlers here. + # TODO: cleanup() should not be called before disconnect is finished + for handler in modules.get_handlers(self): + self._client.unregister_handler(handler) + modules.unregister_modules(self) + + def quit(self, kill_core): + if kill_core and self._state in (ClientState.CONNECTING, + ClientState.CONNECTED, + ClientState.AVAILABLE): + self.disconnect(gracefully=True, reconnect=False) diff --git a/gajim/common/config.py b/gajim/common/config.py new file mode 100644 index 0000000..8ad2713 --- /dev/null +++ b/gajim/common/config.py @@ -0,0 +1,643 @@ +# Copyright (C) 2003-2014 Yann Leboulanger +# Copyright (C) 2004-2005 Vincent Hanquez +# Copyright (C) 2005 Stéphan Kochen +# Copyright (C) 2005-2006 Dimitur Kirov +# Alex Mauer +# Nikos Kouremenos +# Copyright (C) 2005-2007 Travis Shirk +# Copyright (C) 2006 Stefan Bethge +# Copyright (C) 2006-2008 Jean-Marie Traissard +# Copyright (C) 2007 James Newton +# Julien Pivotto +# Copyright (C) 2007-2008 Brendan Taylor +# Stephan Erb +# Copyright (C) 2008 Jonathan Schleifer +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from typing import Any # pylint: disable=unused-import +from typing import Dict # pylint: disable=unused-import +from typing import List # pylint: disable=unused-import +from typing import Tuple # pylint: disable=unused-import + +import re +import copy +from enum import IntEnum, unique + +from gi.repository import GLib + +import gajim +from gajim.common.i18n import _ + + +@unique +class Option(IntEnum): + TYPE = 0 + VAL = 1 + DESC = 2 + # If Option.RESTART is True - we need restart to use our changed option + # Option.DESC also should be there + RESTART = 3 + +opt_int = ['integer', 0] +opt_str = ['string', 0] +opt_bool = ['boolean', 0] +opt_color = ['color', r'(#[0-9a-fA-F]{6})|rgb\(\d+,\d+,\d+\)|rgba\(\d+,\d+,\d+,[01]\.?\d*\)'] + + +class Config: + + DEFAULT_ICONSET = 'dcraven' + DEFAULT_MOOD_ICONSET = 'default' + DEFAULT_ACTIVITY_ICONSET = 'default' + + __options = ({ + # name: [ type, default_value, help_string, restart ] + 'autopopup': [opt_bool, False], + 'autopopupaway': [opt_bool, False], + 'sounddnd': [opt_bool, False, _('Play sound even when being busy.')], + 'showoffline': [opt_bool, True], + 'show_only_chat_and_online': [opt_bool, False, _('Show only online and free for chat contacts in the contact list.')], + 'show_transports_group': [opt_bool, True], + 'autoaway': [opt_bool, True], + 'autoawaytime': [opt_int, 5, _('Time in minutes, after which your status changes to away.')], + 'autoaway_message': [opt_str, _('$S (Away: Idle more than $T min)'), _('$S will be replaced by current status message, $T by the \'autoawaytime\' value.')], + 'autoxa': [opt_bool, True], + 'autoxatime': [opt_int, 15, _('Time in minutes, after which your status changes to not available.')], + 'autoxa_message': [opt_str, _('$S (Not available: Idle more than $T min)'), _('$S will be replaced by current status message, $T by the \'autoxatime\' value.')], + 'ask_online_status': [opt_bool, False], + 'ask_offline_status': [opt_bool, False], + 'trayicon': [opt_str, 'always', _('When to show the notification area icon. Can be \'never\', \'on_event\', and \'always\'.'), False], + 'allow_hide_roster': [opt_bool, False, _('Allow to hide the contact list window even if the notification area icon is not shown.'), False], + 'iconset': [opt_str, DEFAULT_ICONSET, '', True], + 'use_transports_iconsets': [opt_bool, True, '', True], + 'collapsed_rows': [opt_str, '', _('List of rows (accounts and groups) that are collapsed (space separated).'), True], + 'roster_theme': [opt_str, 'default', '', True], + 'mergeaccounts': [opt_bool, False, '', True], + 'sort_by_show_in_roster': [opt_bool, True, '', True], + 'sort_by_show_in_muc': [opt_bool, False, '', True], + 'use_speller': [opt_bool, False, ], + 'show_xhtml': [opt_bool, True, ], + 'speller_language': [opt_str, '', _('Language used for spell checking.')], + 'print_time': [opt_str, 'always', _('\'always\' - print time for every message.\n\'sometimes\' - print time every print_ichat_every_foo_minutes minute.\n\'never\' - never print time.')], + 'emoticons_theme': [opt_str, 'noto-emoticons', '', True], + 'ascii_formatting': [opt_bool, True, + _('Treat * / _ pairs as possible formatting characters.'), True], + 'show_ascii_formatting_chars': [opt_bool, True, _('If enabled, do not ' + 'remove */_ . So *abc* will be bold but with * * not removed.')], + 'sounds_on': [opt_bool, True], + 'gc_refer_to_nick_char': [opt_str, ',', _('Character to add after nickname when using nickname completion (tab) in group chat.')], + 'msgwin-max-state': [opt_bool, False], + 'msgwin-x-position': [opt_int, -1], # Default is to let the window manager decide + 'msgwin-y-position': [opt_int, -1], # Default is to let the window manager decide + 'msgwin-width': [opt_int, 500], + 'msgwin-height': [opt_int, 440], + 'chat-msgwin-x-position': [opt_int, -1], # Default is to let the window manager decide + 'chat-msgwin-y-position': [opt_int, -1], # Default is to let the window manager decide + 'chat-msgwin-width': [opt_int, 480], + 'chat-msgwin-height': [opt_int, 440], + 'gc-msgwin-x-position': [opt_int, -1], # Default is to let the window manager decide + 'gc-msgwin-y-position': [opt_int, -1], # Default is to let the window manager decide + 'gc-msgwin-width': [opt_int, 600], + 'gc-msgwin-height': [opt_int, 440], + 'pm-msgwin-x-position': [opt_int, -1], # Default is to let the window manager decide + 'pm-msgwin-y-position': [opt_int, -1], # Default is to let the window manager decide + 'pm-msgwin-width': [opt_int, 480], + 'pm-msgwin-height': [opt_int, 440], + 'single-msg-x-position': [opt_int, 0], + 'single-msg-y-position': [opt_int, 0], + 'single-msg-width': [opt_int, 400], + 'single-msg-height': [opt_int, 280], + 'save-roster-position': [opt_bool, True, _('If enabled, Gajim will save the contact list window position when hiding it, and restore it when showing the contact list window again.')], + 'roster_x-position': [opt_int, 0], + 'roster_y-position': [opt_int, 0], + 'roster_width': [opt_int, 200], + 'roster_height': [opt_int, 400], + 'roster_hpaned_position': [opt_int, 200], + 'roster_on_the_right': [opt_bool, False, _('Place the contact list on the right in single window mode'), True], + 'history_window_width': [opt_int, -1], + 'history_window_height': [opt_int, 450], + 'history_window_x-position': [opt_int, 0], + 'history_window_y-position': [opt_int, 0], + 'latest_disco_addresses': [opt_str, ''], + 'time_stamp': [opt_str, '%x | %X ', _('This option lets you customize the timestamp that is printed in conversation. For example \'[%H:%M] \' will show \'[hour:minute] \'. See python doc on strftime for full documentation (https://docs.python.org/3/library/time.html#time.strftime).')], + 'before_nickname': [opt_str, '', _('Characters that are printed before the nickname in conversations.')], + 'after_nickname': [opt_str, ':', _('Characters that are printed after the nickname in conversations.')], + 'change_roster_title': [opt_bool, True, _('If enabled, Gajim will add * and [n] in contact list window title.')], + 'restore_lines': [opt_int, 10, _('Number of messages from chat history to be restored when a chat tab/window is reopened.')], + 'restore_timeout': [opt_int, -1, _('How far back in time (minutes) chat history is restored. -1 means no limit.')], + 'send_on_ctrl_enter': [opt_bool, False, _('Send message on Ctrl+Enter and make a new line with Enter.')], + 'last_roster_visible': [opt_bool, True], + 'key_up_lines': [opt_int, 25, _('How many lines to store for Ctrl+KeyUP (previously sent messages).')], + 'version': [opt_str, gajim.__version__], # which version created the config + 'search_engine': [opt_str, 'https://duckduckgo.com/?q=%s'], + 'dictionary_url': [opt_str, 'WIKTIONARY', _('Either a custom URL with %%s in it (where %%s is the word/phrase) or \'WIKTIONARY\' (which means use Wikitionary).')], + 'always_english_wikipedia': [opt_bool, False], + 'always_english_wiktionary': [opt_bool, True], + 'remote_control': [opt_bool, False, _('If checked, Gajim can be controlled remotely using gajim-remote.'), True], + 'print_ichat_every_foo_minutes': [opt_int, 5, _('When not printing time for every message (\'print_time\'==sometimes), print it every x minutes.')], + 'confirm_paste_image': [opt_bool, True, _('Ask before pasting an image.')], + 'confirm_close_muc': [opt_bool, True, _('Ask before closing a group chat tab/window.')], + 'confirm_close_multiple_tabs': [opt_bool, True, _('Ask before closing tabbed chat window if there are chats that can lose data (chat, private chat, group chat that will not be minimized).')], + 'notify_on_file_complete': [opt_bool, True], + 'file_transfers_port': [opt_int, 28011], + 'ft_add_hosts_to_send': [opt_str, '', _('List of send hosts (comma separated) in addition to local interfaces for file transfers (in case of address translation/port forwarding).')], + 'use_kib_mib': [opt_bool, False, _('IEC standard says KiB = 1024 bytes, KB = 1000 bytes.')], + 'notify_on_all_muc_messages': [opt_bool, False], + 'trayicon_notification_on_events': [opt_bool, True, _('Notify of events in the notification area.')], + 'last_save_dir': [opt_str, ''], + 'last_send_dir': [opt_str, ''], + 'last_sounds_dir': [opt_str, ''], + 'tabs_position': [opt_str, 'left'], + 'tabs_always_visible': [opt_bool, False, _('Show tab when only one conversation?')], + 'tabs_border': [opt_bool, False, _('Show tabbed notebook border in chat windows?')], + 'tabs_close_button': [opt_bool, True, _('Show close button in tab?')], + 'notification_preview_message': [opt_bool, True, _('Preview new messages in notification popup?')], + 'notification_position_x': [opt_int, -1], + 'notification_position_y': [opt_int, -1], + 'muc_highlight_words': [opt_str, '', _('A list of words (semicolon separated) that will be highlighted in group chats.')], + 'quit_on_roster_x_button': [opt_bool, False, _('If enabled, Gajim quits when clicking the X button of your Window Manager. This setting is taken into account only if the notification area icon is used.')], + 'hide_on_roster_x_button': [opt_bool, False, _('If enabled, Gajim hides the contact list window when pressing the X button instead of minimizing into the notification area.')], + 'show_status_msgs_in_roster': [opt_bool, True, _('If enabled, Gajim will display the status message (if not empty) underneath the contact name in the contact list window.'), True], + 'show_avatars_in_roster': [opt_bool, True, '', True], + 'show_mood_in_roster': [opt_bool, True, '', True], + 'show_activity_in_roster': [opt_bool, True, '', True], + 'show_tunes_in_roster': [opt_bool, True, '', True], + 'show_location_in_roster': [opt_bool, True, '', True], + 'avatar_position_in_roster': [opt_str, 'right', _('Define the position of avatars in the contact list. Can be \'left\' or \'right\'.'), True], + 'print_status_in_chats': [opt_bool, False, _('If disabled, Gajim will no longer print status messages in chats when a contact changes their status (and/or their status message).')], + 'print_join_left_default': [opt_bool, False, _('Default Setting: Show a status message for every join or leave in a group chat.')], + 'print_status_muc_default': [opt_bool, False, _('Default Setting: Show a status message for all status changes (away, dnd, etc.) of users in a group chat.')], + 'log_contact_status_changes': [opt_bool, False], + 'roster_window_skip_taskbar': [opt_bool, False, _('Don\'t show contact list window in the system taskbar.')], + 'use_urgency_hint': [opt_bool, True, _('If enabled, Gajim makes the window flash (the default behaviour in most Window Managers) when holding pending events.')], + 'notification_timeout': [opt_int, 5], + 'one_message_window': [opt_str, 'always', + #always, never, peracct, pertype should not be translated + _('Controls the window where new messages are placed.\n\'always\' - All messages are sent to a single window.\n\'always_with_roster\' - Like \'always\' but the messages are in a single window along with the contact list.\n\'never\' - All messages get their own window.\n\'peracct\' - Messages for each account are sent to a specific window.\n\'pertype\' - Each message type (e.g. chats vs. group chats) is sent to a specific window.')], + 'show_roster_on_startup':[opt_str, 'always', _('Show contact list window on startup.\n\'always\' - Always show contact list window.\n\'never\' - Never show contact list window.\n\'last_state\' - Restore last state of the contact list window.')], + 'escape_key_closes': [opt_bool, False, _('If enabled, pressing Esc closes a tab/window.')], + 'hide_groupchat_banner': [opt_bool, False, _('Hides the banner in a group chat window.')], + 'hide_chat_banner': [opt_bool, False, _('Hides the banner in a 1:1 chat window.')], + 'hide_groupchat_occupants_list': [opt_bool, False, _('Hides the group chat participants list in a group chat window.')], + 'chat_merge_consecutive_nickname': [opt_bool, False, _('In a chat, show the nickname at the beginning of a line only when it\'s not the same person talking as in the previous message.')], + 'chat_merge_consecutive_nickname_indent': [opt_str, ' ', _('Indentation when using merge consecutive nickname.')], + 'ctrl_tab_go_to_next_composing': [opt_bool, True, _('Ctrl+Tab switches to the next composing tab when there are no tabs with messages pending.')], + 'confirm_metacontacts': [opt_str, '', _('Show a confirmation dialog to create metacontacts? Empty string means never show the dialog.')], + 'confirm_block': [opt_str, '', _('Show a confirmation dialog to block a contact? Empty string means never show the dialog.')], + 'enable_negative_priority': [opt_bool, False, _('If enabled, you will be able to set a negative priority to your account in the Accounts window. BE CAREFUL, when you are logged in with a negative priority, you will NOT receive any message from your server.')], + 'show_contacts_number': [opt_bool, True, _('If enabled, Gajim will show both the number of online and total contacts in account rows as well as in group rows.')], + 'scroll_roster_to_last_message': [opt_bool, True, _('If enabled, Gajim will scroll and select the contact who sent you the last message, if the chat window is not already opened.')], + 'change_status_window_timeout': [opt_int, 15, _('Time of inactivity needed before the change status window closes down.')], + 'max_conversation_lines': [opt_int, 500, _('Maximum number of lines that are printed in conversations. Oldest lines are cleared.')], + 'uri_schemes': [opt_str, 'aaa:// aaas:// acap:// cap:// cid: crid:// data: dav: dict:// dns: fax: file:/ ftp:// geo: go: gopher:// h323: http:// https:// iax: icap:// im: imap:// info: ipp:// iris: iris.beep: iris.xpc: iris.xpcs: iris.lwz: ldap:// mid: modem: msrp:// msrps:// mtqp:// mupdate:// news: nfs:// nntp:// opaquelocktoken: pop:// pres: prospero:// rtsp:// service: sip: sips: sms: snmp:// soap.beep:// soap.beeps:// tag: tel: telnet:// tftp:// thismessage:/ tip:// tv: urn:// vemmi:// xmlrpc.beep:// xmlrpc.beeps:// z39.50r:// z39.50s:// about: apt: cvs:// daap:// ed2k:// feed: fish:// git:// iax2: irc:// ircs:// ldaps:// magnet: mms:// rsync:// ssh:// svn:// sftp:// smb:// webcal:// aesgcm://', _('Valid URI schemes. Only schemes in this list will be accepted as \'real\' URI (mailto and xmpp are handled separately).'), True], + 'shell_like_completion': [opt_bool, False, _('If enabled, completion in group chats will be like a shell auto-completion.')], + 'audio_input_device': [opt_str, 'autoaudiosrc ! volume name=gajim_vol'], + 'audio_output_device': [opt_str, 'autoaudiosink'], + 'video_input_device': [opt_str, 'autovideosrc'], + 'video_framerate': [opt_str, '', _('Optionally fix Jingle output video framerate. Example: 10/1 or 25/2.')], + 'video_size': [opt_str, '', _('Optionally resize Jingle output video. Example: 320x240.')], + 'video_see_self': [opt_bool, True, _('If enabled, you will see your webcam\'s video stream as well.')], + 'audio_input_volume': [opt_int, 50], + 'audio_output_volume': [opt_int, 50], + 'use_stun_server': [opt_bool, False, _('If enabled, Gajim will try to use a STUN server when using Jingle. The one in \'stun_server\' option, or the one given by the XMPP server.')], + 'stun_server': [opt_str, '', _('STUN server to use when using Jingle')], + 'global_proxy': [opt_str, '', _('Proxy used for all outgoing connections if the account does not have a specific proxy configured.')], + 'ignore_incoming_attention': [opt_bool, False, _('If enabled, Gajim will ignore incoming attention requests (\'wizz\').')], + 'remember_opened_chat_controls': [opt_bool, True, _('If enabled, Gajim will reopen chat windows that were opened last time Gajim was closed.')], + 'positive_184_ack': [opt_bool, False, _('If enabled, Gajim will display an icon to show that sent messages have been received by your contact.')], + 'use_keyring': [opt_bool, True, _('If enabled, Gajim will use the System\'s Keyring to store account passwords.')], + 'remote_commands': [opt_bool, False, _('If enabled, Gajim will execute XEP-0146 Commands.')], + 'dark_theme': [opt_int, 2, _('2: System, 1: Enabled, 0: Disabled')], + 'public_room_sync_threshold': [opt_int, 1, _('Maximum history in days we request from a public group chat archive. 0: As much as possible.')], + 'private_room_sync_threshold': [opt_int, 0, _('Maximum history in days we request from a private group chat archive. 0: As much as possible.')], + 'show_subject_on_join': [opt_bool, True, _('If enabled, Gajim shows the group chat subject in the chat window when joining.')], + 'show_chatstate_in_roster': [opt_bool, True, _('If enabled, the contact row is colored according to the current chat state of the contact.')], + 'show_chatstate_in_tabs': [opt_bool, True, _('If enabled, the tab is colored according to the current chat state of the contact.')], + 'show_chatstate_in_banner': [opt_bool, True, _('Shows a text in the banner that describes the current chat state of the contact.')], + 'send_chatstate_default': [opt_str, 'composing_only', _('Chat state notifications that are sent to contacts. Possible values: all, composing_only, disabled')], + 'send_chatstate_muc_default': [opt_str, 'composing_only', _('Chat state notifications that are sent to the group chat. Possible values: \'all\', \'composing_only\', \'disabled\'')], + 'muclumbus_api_jid': [opt_str, 'api@search.jabber.network'], + 'muclumbus_api_http_uri': [opt_str, 'https://search.jabber.network/api/1.0/search'], + 'muclumbus_api_pref': [opt_str, 'http', _('API Preferences. Possible values: \'http\', \'iq\'')], + 'command_system_execute': [opt_bool, False, _('If enabled, Gajim will execute commands (/show, /sh, /execute, /exec).')], + 'groupchat_roster_width': [opt_int, 210, _('Width of group chat roster in pixel')], + 'dev_force_bookmark_2': [opt_bool, False, _('Force Bookmark 2 usage')], + 'show_help_start_chat': [opt_bool, True, _('Shows an info bar with helpful hints in the Start / Join Chat dialog')], + 'check_for_update': [opt_bool, True, _('Check for Gajim updates periodically')], + 'last_update_check': [opt_str, '', _('Date of the last update check')], + 'always_ask_for_status_message': [opt_bool, False], + }, {}) # type: Tuple[Dict[str, List[Any]], Dict[Any, Any]] + + __options_per_key = { + 'accounts': ({ + 'name': [opt_str, '', '', True], + 'account_label': [opt_str, '', '', False], + 'account_color': [opt_color, 'rgb(85, 85, 85)'], + 'hostname': [opt_str, '', '', True], + 'anonymous_auth': [opt_bool, False], + 'avatar_sha': [opt_str, '', '', False], + 'client_cert': [opt_str, '', '', True], + 'client_cert_encrypted': [opt_bool, False, '', False], + 'savepass': [opt_bool, False], + 'password': [opt_str, ''], + 'resource': [opt_str, 'gajim.$rand', '', True], + 'priority': [opt_int, 0, '', True], + 'adjust_priority_with_status': [opt_bool, False, _('Priority will change automatically according to your status. Priorities are defined in \'autopriority_*\' options.')], + 'autopriority_online': [opt_int, 50], + 'autopriority_chat': [opt_int, 50], + 'autopriority_away': [opt_int, 40], + 'autopriority_xa': [opt_int, 30], + 'autopriority_dnd': [opt_int, 20], + 'autoconnect': [opt_bool, False, '', True], + 'restore_last_status': [opt_bool, False, _('If enabled, the last status will be restored.')], + 'autoauth': [opt_bool, False, _('If enabled, contacts requesting authorization will be accepted automatically.')], + 'active': [opt_bool, True, _('If disabled, this account will be disabled and will not appear in the contact list window.'), True], + 'proxy': [opt_str, '', '', True], + 'keyid': [opt_str, '', '', True], + 'keyname': [opt_str, '', '', True], + 'use_plain_connection': [opt_bool, False, _('Use an unencrypted connection to the server')], + 'confirm_unencrypted_connection': [opt_bool, True], + 'use_custom_host': [opt_bool, False, '', True], + 'custom_port': [opt_int, 5222, '', True], + 'custom_host': [opt_str, '', '', True], + 'custom_type': [opt_str, 'START TLS', _('ConnectionType: START TLS, DIRECT TLS or PLAIN'), True], + 'sync_with_global_status': [opt_bool, False, ], + 'no_log_for': [opt_str, '', _('List of XMPP Addresses (space separated) for which you do not want to store chat history. You can also add the name of an account to disable storing chat history for this account.')], + 'attached_gpg_keys': [opt_str, ''], + 'http_auth': [opt_str, 'ask'], # yes, no, ask + # proxy65 for FT + 'file_transfer_proxies': [opt_str, ''], + 'use_ft_proxies': [opt_bool, False, _('If enabled, Gajim will use your IP and proxies defined in \'file_transfer_proxies\' option for file transfers.'), True], + 'test_ft_proxies_on_startup': [opt_bool, False, _('If enabled, Gajim will test file transfer proxies on startup to be sure they work. Openfire\'s proxies are known to fail this test even if they work.')], + 'msgwin-x-position': [opt_int, -1], # Default is to let the wm decide + 'msgwin-y-position': [opt_int, -1], # Default is to let the wm decide + 'msgwin-width': [opt_int, 480], + 'msgwin-height': [opt_int, 440], + 'is_zeroconf': [opt_bool, False], + 'last_status': [opt_str, 'online'], + 'last_status_msg': [opt_str, ''], + 'zeroconf_first_name': [opt_str, '', '', True], + 'zeroconf_last_name': [opt_str, '', '', True], + 'zeroconf_jabber_id': [opt_str, '', '', True], + 'zeroconf_email': [opt_str, '', '', True], + 'answer_receipts': [opt_bool, True, _('If enabled, Gajim will answer to message receipt requests.')], + 'publish_tune': [opt_bool, False], + 'publish_location': [opt_bool, False], + 'request_user_data': [opt_bool, True], + 'ignore_unknown_contacts': [opt_bool, False], + 'send_os_info': [opt_bool, True, _('Allow Gajim to send information about the operating system you are running.')], + 'send_time_info': [opt_bool, True, _('Allow Gajim to send your local time.')], + 'send_idle_time': [opt_bool, True], + 'roster_version': [opt_str, ''], + 'subscription_request_msg': [opt_str, '', _('Message that is sent to contacts you want to add.')], + 'ft_send_local_ips': [opt_bool, True, _('If enabled, Gajim will send your local IP so your contact can connect to your machine for file transfers.')], + 'opened_chat_controls': [opt_str, '', _('List of XMPP Addresses (space separated) for which the chat window will be re-opened on next startup.')], + 'recent_groupchats': [opt_str, ''], + 'filetransfer_preference' : [opt_str, 'httpupload', _('Preferred file transfer mechanism for file drag&drop on a chat window. Can be \'httpupload\' (default) or \'jingle\'.')], + 'allow_posh': [opt_bool, True, _('Allow certificate verification with POSH.')], + }, {}), + 'statusmsg': ({ + 'message': [opt_str, ''], + 'activity': [opt_str, ''], + 'subactivity': [opt_str, ''], + 'activity_text': [opt_str, ''], + 'mood': [opt_str, ''], + 'mood_text': [opt_str, ''], + }, {}), + 'soundevents': ({ + 'enabled': [opt_bool, True], + 'path': [opt_str, ''], + }, {}), + 'proxies': ({ + 'type': [opt_str, 'http'], + 'host': [opt_str, ''], + 'port': [opt_int, 3128], + 'useauth': [opt_bool, False], + 'user': [opt_str, ''], + 'pass': [opt_str, ''], + }, {}), + 'contacts': ({ + 'speller_language': [opt_str, '', _('Language used for spell checking.')], + 'send_chatstate': [opt_str, 'composing_only', _('Chat state notifications that are sent to contacts. Possible values: \'all\', \'composing_only\', \'disabled\'')], + }, {}), + 'encryption': ({ + 'encryption': [opt_str, '', _('The currently active encryption for that contact.')], + }, {}), + 'rooms': ({ + 'speller_language': [opt_str, '', _('Language used for spell checking.')], + 'notify_on_all_messages': [opt_bool, False, _('If enabled, a notification is created for every message in this group chat.')], + 'print_status': [opt_bool, False, _('Show a status message for all status changes (away, dnd, etc.) of users in a group chat.')], + 'print_join_left': [opt_bool, False, _('Show a status message for every join or leave in a group chat.')], + 'minimize_on_autojoin': [opt_bool, True, _('If enabled, the group chat is minimized into the contact list when joining automatically.')], + 'minimize_on_close': [opt_bool, True, _('If enabled, the group chat is minimized into the contact list when closing it.')], + 'send_chatstate': [opt_str, 'composing_only', _('Chat state notifications that are sent to the group chat. Possible values: \'all\', \'composing_only\' or \'disabled\'.')], + }, {}), + 'plugins': ({ + 'active': [opt_bool, False, _('If enabled, plugins will be activated on startup (this is saved when exiting Gajim). This option SHOULD NOT be used to (de)activate plugins. Use the plugin window instead.')], + }, {}), + } # type: Dict[str, Tuple[Dict[str, List[Any]], Dict[Any, Any]]] + + statusmsg_default = { + _('Sleeping'): ['ZZZZzzzzzZZZZZ', 'inactive', 'sleeping', '', 'sleepy', ''], + _('Back soon'): [_('Back in some minutes.'), '', '', '', '', ''], + _('Eating'): [_('I\'m eating.'), 'eating', 'other', '', '', ''], + _('Movie'): [_('I\'m watching a movie.'), 'relaxing', 'watching_a_movie', '', '', ''], + _('Working'): [_('I\'m working.'), 'working', 'other', '', '', ''], + _('Phone'): [_('I\'m on the phone.'), 'talking', 'on_the_phone', '', '', ''], + _('Out'): [_('I\'m out enjoying life.'), 'relaxing', 'going_out', '', '', ''], + } + + soundevents_default = { + 'attention_received': [True, 'attention.wav'], + 'first_message_received': [True, 'message1.wav'], + 'next_message_received_focused': [True, 'message2.wav'], + 'next_message_received_unfocused': [True, 'message2.wav'], + 'contact_connected': [False, 'connected.wav'], + 'contact_disconnected': [False, 'disconnected.wav'], + 'message_sent': [False, 'sent.wav'], + 'muc_message_highlight': [True, 'gc_message1.wav', _('Sound to play when a group chat message contains one of the words in \'muc_highlight_words\' or your nickname is mentioned.')], + 'muc_message_received': [True, 'gc_message2.wav', _('Sound to play when any group chat message arrives.')], + } + + proxies_default = { + _('Tor'): ['socks5', 'localhost', 9050], + } + + def foreach(self, cb, data=None): + for opt in self.__options[1]: + cb(data, opt, None, self.__options[1][opt]) + for opt in self.__options_per_key: + cb(data, opt, None, None) + dict_ = self.__options_per_key[opt][1] + for opt2 in dict_.keys(): + cb(data, opt2, [opt], None) + for opt3 in dict_[opt2]: + cb(data, opt3, [opt, opt2], dict_[opt2][opt3]) + + def get_children(self, node=None): + """ + Tree-like interface + """ + if node is None: + for child, option in self.__options[1].items(): + yield (child, ), option + for grandparent in self.__options_per_key: + yield (grandparent, ), None + elif len(node) == 1: + grandparent, = node + for parent in self.__options_per_key[grandparent][1]: + yield (grandparent, parent), None + elif len(node) == 2: + grandparent, parent = node + children = self.__options_per_key[grandparent][1][parent] + for child, option in children.items(): + yield (grandparent, parent, child), option + else: + raise ValueError('Invalid node') + + def is_valid_int(self, val): + try: + ival = int(val) + except Exception: + return None + return ival + + def is_valid_bool(self, val): + if val == 'True': + return True + if val == 'False': + return False + ival = self.is_valid_int(val) + if ival: + return True + if ival is None: + return None + return False + + def is_valid_string(self, val): + return val + + def is_valid(self, type_, val): + if not type_: + return None + if type_[0] == 'boolean': + return self.is_valid_bool(val) + if type_[0] == 'integer': + return self.is_valid_int(val) + if type_[0] == 'string': + return self.is_valid_string(val) + if re.match(type_[1], val): + return val + return None + + def set(self, optname, value): + if optname not in self.__options[1]: + return + value = self.is_valid(self.__options[0][optname][Option.TYPE], value) + if value is None: + return + + self.__options[1][optname] = value + self._timeout_save() + + def get(self, optname=None): + if not optname: + return list(self.__options[1].keys()) + if optname not in self.__options[1]: + return None + return self.__options[1][optname] + + def get_default(self, optname): + if optname not in self.__options[0]: + return None + return self.__options[0][optname][Option.VAL] + + def get_type(self, optname): + if optname not in self.__options[0]: + return None + return self.__options[0][optname][Option.TYPE][0] + + def get_desc(self, optname): + if optname not in self.__options[0]: + return None + if len(self.__options[0][optname]) > Option.DESC: + return self.__options[0][optname][Option.DESC] + + def get_restart(self, optname): + if optname not in self.__options[0]: + return None + if len(self.__options[0][optname]) > Option.RESTART: + return self.__options[0][optname][Option.RESTART] + + def add_per(self, typename, name): # per_group_of_option + if typename not in self.__options_per_key: + return + + opt = self.__options_per_key[typename] + if name in opt[1]: + # we already have added group name before + return 'you already have added %s before' % name + opt[1][name] = {} + for o in opt[0]: + opt[1][name][o] = opt[0][o][Option.VAL] + self._timeout_save() + + def del_per(self, typename, name, subname=None): # per_group_of_option + if typename not in self.__options_per_key: + return + + opt = self.__options_per_key[typename] + if subname is None: + del opt[1][name] + # if subname is specified, delete the item in the group. + elif subname in opt[1][name]: + del opt[1][name][subname] + self._timeout_save() + + def del_all_per(self, typename, subname): + # Deletes all settings per typename + # Example: Delete `account_label` for all accounts + if typename not in self.__options_per_key: + raise ValueError('typename %s does not exist' % typename) + + opt = self.__options_per_key[typename] + for name in opt[1]: + try: + del opt[1][name][subname] + except KeyError: + pass + self._timeout_save() + + def set_per(self, optname, key, subname, value): # per_group_of_option + if optname not in self.__options_per_key: + return + if not key: + return + dict_ = self.__options_per_key[optname][1] + if key not in dict_: + self.add_per(optname, key) + obj = dict_[key] + if subname not in obj: + return + typ = self.__options_per_key[optname][0][subname][Option.TYPE] + value = self.is_valid(typ, value) + if value is None: + return + obj[subname] = value + self._timeout_save() + + def get_per(self, optname, key=None, subname=None, default=None): # per_group_of_option + if optname not in self.__options_per_key: + return None + dict_ = self.__options_per_key[optname][1] + if not key: + return list(dict_.keys()) + if key not in dict_: + if default is not None: + return default + if subname in self.__options_per_key[optname][0]: + return self.__options_per_key[optname][0][subname][1] + return None + obj = dict_[key] + if not subname: + return obj + if subname not in obj: + return None + return obj[subname] + + def get_all(self): + return copy.deepcopy(self.__options[1]) + + def get_all_per(self, optname): + return copy.deepcopy(self.__options_per_key[optname][1]) + + def get_default_per(self, optname, subname): + if optname not in self.__options_per_key: + return None + dict_ = self.__options_per_key[optname][0] + if subname not in dict_: + return None + return dict_[subname][Option.VAL] + + def get_type_per(self, optname, subname): + if optname not in self.__options_per_key: + return None + dict_ = self.__options_per_key[optname][0] + if subname not in dict_: + return None + return dict_[subname][Option.TYPE][0] + + def get_desc_per(self, optname, subname=None): + if optname not in self.__options_per_key: + return None + dict_ = self.__options_per_key[optname][0] + if subname not in dict_: + return None + obj = dict_[subname] + if len(obj) > Option.DESC: + return obj[Option.DESC] + return None + + def get_restart_per(self, optname, key=None, subname=None): + if optname not in self.__options_per_key: + return False + dict_ = self.__options_per_key[optname][0] + if not key: + return False + if key not in dict_: + return False + obj = dict_[key] + if not subname: + return False + if subname not in obj: + return False + if len(obj[subname]) > Option.RESTART: + return obj[subname][Option.RESTART] + return False + + def get_options(self, optname, return_type=str): + options = self.get(optname).split(',') + options = [return_type(option.strip()) for option in options] + return options + + def _init_options(self): + for opt in self.__options[0]: + self.__options[1][opt] = self.__options[0][opt][Option.VAL] + + if gajim.IS_PORTABLE: + self.__options[1]['use_keyring'] = False + + def _really_save(self): + from gajim.common import app + if app.interface: + app.interface.save_config() + self.save_timeout_id = None + return False + + def _timeout_save(self): + if self.save_timeout_id: + return + self.save_timeout_id = GLib.timeout_add(1000, self._really_save) + + def __init__(self): + #init default values + self._init_options() + self.save_timeout_id = None + for event in self.soundevents_default: + default = self.soundevents_default[event] + self.add_per('soundevents', event) + self.set_per('soundevents', event, 'enabled', default[0]) + self.set_per('soundevents', event, 'path', default[1]) diff --git a/gajim/common/configpaths.py b/gajim/common/configpaths.py new file mode 100644 index 0000000..3156fa5 --- /dev/null +++ b/gajim/common/configpaths.py @@ -0,0 +1,234 @@ +# Copyright (C) 2006 Jean-Marie Traissard +# Junglecow J +# Copyright (C) 2006-2014 Yann Leboulanger +# Copyright (C) 2007 Brendan Taylor +# Copyright (C) 2008 Jonathan Schleifer +# Copyright (C) 2018 Philipp Hörist +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from typing import Dict # pylint: disable=unused-import +from typing import List +from typing import Generator +from typing import Optional # pylint: disable=unused-import +from typing import Tuple + +import os +import sys +import tempfile +from pathlib import Path + +from gi.repository import GLib + +import gajim +from gajim.common.i18n import _ +from gajim.common.const import PathType, PathLocation +from gajim.common.types import PathTuple + + +def get(key: str) -> Path: + return _paths[key] + + +def get_plugin_dirs() -> List[Path]: + if gajim.IS_FLATPAK: + return [Path(_paths['PLUGINS_BASE']), + Path('/app/plugins')] + return [Path(_paths['PLUGINS_BASE']), + Path(_paths['PLUGINS_USER'])] + + +def get_paths(type_: PathType) -> Generator[Path, None, None]: + for key, value in _paths.items(): + path_type = value[2] + if type_ != path_type: + continue + yield _paths[key] + + +def override_path(*args, **kwargs): + _paths.add(*args, **kwargs) + + +def set_separation(active: bool) -> None: + _paths.profile_separation = active + + +def set_profile(profile: str) -> None: + _paths.profile = profile + + +def set_config_root(config_root: str) -> None: + _paths.custom_config_root = Path(config_root).resolve() + + +def init() -> None: + _paths.init() + + +def create_paths() -> None: + for path in get_paths(PathType.FOLDER): + if path.is_file(): + print(_('%s is a file but it should be a directory') % path) + print(_('Gajim will now exit')) + sys.exit() + + if not path.exists(): + for parent_path in reversed(path.parents): + # Create all parent folders + # don't use mkdir(parent=True), as it ignores `mode` + # when creating the parents + if not parent_path.exists(): + print(('creating %s directory') % parent_path) + parent_path.mkdir(mode=0o700) + print(('creating %s directory') % path) + path.mkdir(mode=0o700) + + +class ConfigPaths: + def __init__(self) -> None: + self._paths = {} # type: Dict[str, PathTuple] + self.profile = '' + self.profile_separation = False + self.custom_config_root = None # type: Optional[Path] + + if os.name == 'nt': + if gajim.IS_PORTABLE: + application_path = Path(sys.executable).parent + self.config_root = self.cache_root = self.data_root = \ + application_path.parent / 'UserData' + else: + # Documents and Settings\[User Name]\Application Data\Gajim + self.config_root = self.cache_root = self.data_root = \ + Path(os.environ['appdata']) / 'Gajim' + else: + self.config_root = Path(GLib.get_user_config_dir()) / 'gajim' + self.cache_root = Path(GLib.get_user_cache_dir()) / 'gajim' + self.data_root = Path(GLib.get_user_data_dir()) / 'gajim' + + if sys.version_info < (3, 9): + import pkg_resources + basedir = Path(pkg_resources.resource_filename("gajim", ".")) + else: + import importlib.resources + basedir = importlib.resources.files('gajim') + + source_paths = [ + ('DATA', basedir / 'data'), + ('STYLE', basedir / 'data' / 'style'), + ('EMOTICONS', basedir / 'data' / 'emoticons'), + ('GUI', basedir / 'data' / 'gui'), + ('ICONS', basedir / 'data' / 'icons'), + ('HOME', Path.home()), + ('PLUGINS_BASE', basedir / 'data' / 'plugins'), + ] + + for path in source_paths: + self.add(*path) + + def __getitem__(self, key: str) -> Path: + location, path, _ = self._paths[key] + if location == PathLocation.CONFIG: + return self.config_root / path + if location == PathLocation.CACHE: + return self.cache_root / path + if location == PathLocation.DATA: + return self.data_root / path + return path + + def items(self) -> Generator[Tuple[str, PathTuple], None, None]: + for key, value in self._paths.items(): + yield (key, value) + + def _prepare(self, path: Path, unique: bool) -> Path: + if os.name == 'nt': + path = Path(str(path).capitalize()) + if self.profile: + if unique or self.profile_separation: + return Path(f'{path}.{self.profile}') + return path + + def add(self, + name: str, + path: Path, + location: PathLocation = None, + path_type: PathType = None, + unique: bool = False) -> None: + if location is not None: + path = self._prepare(path, unique) + self._paths[name] = (location, path, path_type) + + def init(self): + if self.custom_config_root: + self.config_root = self.custom_config_root + self.cache_root = self.data_root = self.custom_config_root + + user_dir_paths = [ + ('TMP', Path(tempfile.gettempdir())), + ('MY_CONFIG', Path(), PathLocation.CONFIG, PathType.FOLDER), + ('MY_CACHE', Path(), PathLocation.CACHE, PathType.FOLDER), + ('MY_DATA', Path(), PathLocation.DATA, PathType.FOLDER), + ] + + for path in user_dir_paths: + self.add(*path) + + # These paths are unique per profile + unique_profile_paths = [ + # Data paths + ('SECRETS_FILE', 'secrets', PathLocation.DATA, PathType.FILE), + ('MY_PEER_CERTS', 'certs', PathLocation.DATA, PathType.FOLDER), + ('CERT_STORE', 'cert_store', PathLocation.DATA, PathType.FOLDER), + ('DEBUG', 'debug', PathLocation.DATA, PathType.FOLDER), + ('PLUGINS_DATA', 'plugins_data', PathLocation.DATA, PathType.FOLDER), + + # Config paths + ('SETTINGS', 'settings.sqlite', PathLocation.CONFIG, PathType.FILE), + ('CONFIG_FILE', 'config', PathLocation.CONFIG, PathType.FILE), + ('PLUGINS_CONFIG_DIR', + 'pluginsconfig', PathLocation.CONFIG, PathType.FOLDER), + ('MY_CERT', 'localcerts', PathLocation.CONFIG, PathType.FOLDER), + ] + + for path in unique_profile_paths: + self.add(*path, unique=True) + + # These paths are only unique per profile if the commandline arg + # `separate` is passed + paths = [ + # Data paths + ('LOG_DB', 'logs.db', PathLocation.DATA, PathType.FILE), + ('PLUGINS_DOWNLOAD', 'plugins_download', PathLocation.CACHE, PathType.FOLDER), + ('PLUGINS_USER', 'plugins', PathLocation.DATA, PathType.FOLDER), + ('MY_EMOTS', + 'emoticons', PathLocation.DATA, PathType.FOLDER_OPTIONAL), + ('MY_ICONSETS', + 'iconsets', PathLocation.DATA, PathType.FOLDER_OPTIONAL), + + # Cache paths + ('CACHE_DB', 'cache.db', PathLocation.CACHE, PathType.FILE), + ('AVATAR', 'avatars', PathLocation.CACHE, PathType.FOLDER), + ('BOB', 'bob', PathLocation.CACHE, PathType.FOLDER), + + # Config paths + ('MY_THEME', 'theme', PathLocation.CONFIG, PathType.FOLDER), + + ] + + for path in paths: + self.add(*path) + + +_paths = ConfigPaths() diff --git a/gajim/common/connection.py b/gajim/common/connection.py new file mode 100644 index 0000000..4994443 --- /dev/null +++ b/gajim/common/connection.py @@ -0,0 +1,201 @@ +# Copyright (C) 2003-2005 Vincent Hanquez +# Copyright (C) 2003-2014 Yann Leboulanger +# Copyright (C) 2005 Alex Mauer +# Stéphan Kochen +# Copyright (C) 2005-2006 Dimitur Kirov +# Travis Shirk +# Nikos Kouremenos +# Copyright (C) 2006 Junglecow J +# Stefan Bethge +# Copyright (C) 2006-2008 Jean-Marie Traissard +# Copyright (C) 2007 Tomasz Melcer +# Julien Pivotto +# Copyright (C) 2007-2008 Stephan Erb +# Copyright (C) 2008 Brendan Taylor +# Jonathan Schleifer +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import time +import logging + +from gajim.common import helpers +from gajim.common import app +from gajim.common import idle +from gajim.common import modules +from gajim.common.nec import NetworkEvent +from gajim.common.const import ClientState + + +log = logging.getLogger('gajim.c.connection') + +SERVICE_START_TLS = 'xmpp-client' +SERVICE_DIRECT_TLS = 'xmpps-client' + +class CommonConnection: + """ + Common connection class, can be derived for normal connection or zeroconf + connection + """ + + def __init__(self, name): + self.name = name + self._modules = {} + self.connection = None # xmpppy ClientCommon instance + self.is_zeroconf = False + self.password = None + self.server_resource = helpers.get_resource(self.name) + self.priority = app.get_priority(name, 'offline') + self.time_to_reconnect = None + self._reconnect_timer_source = None + + self._state = ClientState.DISCONNECTED + self._status = 'offline' + self._status_message = '' + + # If handlers have been registered + self.handlers_registered = False + + self.pep = {} + + self.roster_supported = True + + self._stun_servers = [] # STUN servers of our jabber server + + # Tracks the calls of the connect_machine() method + self._connect_machine_calls = 0 + + self.get_config_values_or_default() + + def _set_state(self, state): + log.info('State: %s', state) + self._state = state + + @property + def state(self): + return self._state + + @property + def status(self): + return self._status + + @property + def status_message(self): + return self._status_message + + def _register_new_handlers(self, con): + for handler in modules.get_handlers(self): + if len(handler) == 5: + name, func, typ, ns, priority = handler + con.RegisterHandler(name, func, typ, ns, priority=priority) + else: + con.RegisterHandler(*handler) + self.handlers_registered = True + + def _unregister_new_handlers(self, con): + if not con: + return + for handler in modules.get_handlers(self): + if len(handler) > 4: + handler = handler[:4] + con.UnregisterHandler(*handler) + self.handlers_registered = False + + def dispatch(self, event, data): + """ + Always passes account name as first param + """ + app.ged.raise_event(event, self.name, data) + + def get_module(self, name): + return modules.get(self.name, name) + + def reconnect(self): + """ + To be implemented by derived classes + """ + raise NotImplementedError + + def quit(self, kill_core): + if kill_core and app.account_is_connected(self.name): + self.disconnect(reconnect=False) + + def new_account(self, name, config, sync=False): + """ + To be implemented by derived classes + """ + raise NotImplementedError + + def _on_new_account(self, con=None, con_type=None): + """ + To be implemented by derived classes + """ + raise NotImplementedError + + def _event_dispatcher(self, realm, event, data): + if realm == '': + if event == 'STANZA RECEIVED': + app.nec.push_incoming_event( + NetworkEvent('stanza-received', + conn=self, + stanza_str=str(data))) + elif event == 'DATA SENT': + app.nec.push_incoming_event( + NetworkEvent('stanza-sent', + conn=self, + stanza_str=str(data))) + + def change_status(self, show, msg, auto=False): + if not msg: + msg = '' + + self._status = show + self._status_message = msg + + if self._state.is_disconnected: + if show == 'offline': + return + + self.server_resource = helpers.get_resource(self.name) + self.connect_and_init(show, msg) + return + + if self._state.is_connecting or self._state.is_reconnect_scheduled: + if show == 'offline': + self.disconnect(reconnect=False) + elif self._state.is_reconnect_scheduled: + self.reconnect() + return + + # We are connected + if show == 'offline': + presence = self.get_module('Presence').get_presence( + typ='unavailable', + status=msg, + caps=False) + + self.connection.send(presence, now=True) + self.disconnect(reconnect=False) + return + + idle_time = None + if auto: + if app.is_installed('IDLE') and app.settings.get('autoaway'): + idle_sec = idle.Monitor.get_idle_sec() + idle_time = time.strftime( + '%Y-%m-%dT%H:%M:%SZ', + time.gmtime(time.time() - idle_sec)) + + self._update_status(show, msg, idle_time=idle_time) diff --git a/gajim/common/connection_handlers.py b/gajim/common/connection_handlers.py new file mode 100644 index 0000000..af22f93 --- /dev/null +++ b/gajim/common/connection_handlers.py @@ -0,0 +1,181 @@ +# Copyright (C) 2006 Dimitur Kirov +# Junglecow J +# Copyright (C) 2006-2007 Tomasz Melcer +# Travis Shirk +# Nikos Kouremenos +# Copyright (C) 2006-2014 Yann Leboulanger +# Copyright (C) 2007 Julien Pivotto +# Copyright (C) 2007-2008 Brendan Taylor +# Jean-Marie Traissard +# Stephan Erb +# Copyright (C) 2008 Jonathan Schleifer +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import logging +import operator + +import nbxmpp + +from gajim.common import app +from gajim.common.connection_handlers_events import PresenceReceivedEvent +from gajim.common.connection_handlers_events import NotificationEvent + + +log = logging.getLogger('gajim.c.connection_handlers') + +# basic connection handlers used here and in zeroconf +class ConnectionHandlersBase: + def __init__(self): + # keep track of sessions this connection has with other JIDs + self.sessions = {} + + def get_sessions(self, jid): + """ + Get all sessions for the given full jid + """ + if not app.interface.is_pm_contact(jid, self.name): + jid = app.get_jid_without_resource(jid) + + try: + return list(self.sessions[jid].values()) + except KeyError: + return [] + + def get_or_create_session(self, fjid, thread_id): + """ + Return an existing session between this connection and 'jid', returns a + new one if none exist + """ + pm = True + jid = fjid + + if not app.interface.is_pm_contact(fjid, self.name): + pm = False + jid = app.get_jid_without_resource(fjid) + + session = self.find_session(jid, thread_id) + + if session: + return session + + if pm: + return self.make_new_session(fjid, thread_id, type_='pm') + return self.make_new_session(fjid, thread_id) + + def find_session(self, jid, thread_id): + try: + if not thread_id: + return self.find_null_session(jid) + return self.sessions[jid][thread_id] + except KeyError: + return None + + def terminate_sessions(self): + self.sessions = {} + + def delete_session(self, jid, thread_id): + if not jid in self.sessions: + jid = app.get_jid_without_resource(jid) + if not jid in self.sessions: + return + + del self.sessions[jid][thread_id] + + if not self.sessions[jid]: + del self.sessions[jid] + + def find_null_session(self, jid): + """ + Find all of the sessions between us and a remote jid in which we haven't + received a thread_id yet and returns the session that we last sent a + message to + """ + sessions = list(self.sessions[jid].values()) + + # sessions that we haven't received a thread ID in + idless = [s for s in sessions if not s.received_thread_id] + + # filter out everything except the default session type + chat_sessions = [s for s in idless if isinstance(s, + app.default_session_type)] + + if chat_sessions: + # return the session that we last sent a message in + return sorted(chat_sessions, + key=operator.attrgetter('last_send'))[-1] + return None + + def get_latest_session(self, jid): + """ + Get the session that we last sent a message to + """ + if jid not in self.sessions: + return None + sessions = self.sessions[jid].values() + if not sessions: + return None + return sorted(sessions, key=operator.attrgetter('last_send'))[-1] + + def find_controlless_session(self, jid, resource=None): + """ + Find an active session that doesn't have a control attached + """ + try: + sessions = list(self.sessions[jid].values()) + + # filter out everything except the default session type + chat_sessions = [s for s in sessions if isinstance(s, + app.default_session_type)] + + orphaned = [s for s in chat_sessions if not s.control] + + if resource: + orphaned = [s for s in orphaned if s.resource == resource] + + return orphaned[0] + except (KeyError, IndexError): + return None + + def make_new_session(self, jid, thread_id=None, type_='chat', cls=None): + """ + Create and register a new session + + thread_id=None to generate one. + type_ should be 'chat' or 'pm'. + """ + if not cls: + cls = app.default_session_type + + sess = cls(self, nbxmpp.JID.from_string(jid), thread_id, type_) + + # determine if this session is a pm session + # if not, discard the resource so that all sessions are stored bare + if type_ != 'pm': + jid = app.get_jid_without_resource(jid) + + if not jid in self.sessions: + self.sessions[jid] = {} + + self.sessions[jid][sess.thread_id] = sess + + return sess + +class ConnectionHandlers(ConnectionHandlersBase): + def __init__(self): + ConnectionHandlersBase.__init__(self) + + app.nec.register_incoming_event(PresenceReceivedEvent) + app.nec.register_incoming_event(NotificationEvent) diff --git a/gajim/common/connection_handlers_events.py b/gajim/common/connection_handlers_events.py new file mode 100644 index 0000000..8142094 --- /dev/null +++ b/gajim/common/connection_handlers_events.py @@ -0,0 +1,435 @@ +# Copyright (C) 2010-2014 Yann Leboulanger +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# pylint: disable=no-init +# pylint: disable=attribute-defined-outside-init + +import logging + +from nbxmpp.namespaces import Namespace + +from gajim.common import nec +from gajim.common import helpers +from gajim.common import app +from gajim.common import i18n +from gajim.common.i18n import _ +from gajim.common.jingle_transport import JingleTransportSocks5 +from gajim.common.file_props import FilesProp + + +log = logging.getLogger('gajim.c.connection_handlers_events') + + +class PresenceReceivedEvent(nec.NetworkIncomingEvent): + name = 'presence-received' + +class OurShowEvent(nec.NetworkIncomingEvent): + name = 'our-show' + + def init(self): + self.reconnect = False + +class MessageSentEvent(nec.NetworkIncomingEvent): + name = 'message-sent' + +class ConnectionLostEvent(nec.NetworkIncomingEvent): + name = 'connection-lost' + + def generate(self): + app.nec.push_incoming_event(OurShowEvent(None, conn=self.conn, + show='offline')) + return True + +class FileRequestReceivedEvent(nec.NetworkIncomingEvent): + name = 'file-request-received' + + def init(self): + self.jingle_content = None + self.FT_content = None + + def generate(self): + self.id_ = self.stanza.getID() + self.fjid = self.conn.get_module('Bytestream')._ft_get_from(self.stanza) + self.jid = app.get_jid_without_resource(self.fjid) + if not self.jingle_content: + return + secu = self.jingle_content.getTag('security') + self.FT_content.use_security = bool(secu) + if secu: + fingerprint = secu.getTag('fingerprint') + if fingerprint: + self.FT_content.x509_fingerprint = fingerprint.getData() + if not self.FT_content.transport: + self.FT_content.transport = JingleTransportSocks5() + self.FT_content.transport.set_our_jid( + self.FT_content.session.ourjid) + self.FT_content.transport.set_connection( + self.FT_content.session.connection) + sid = self.stanza.getTag('jingle').getAttr('sid') + self.file_props = FilesProp.getNewFileProp(self.conn.name, sid) + self.file_props.transport_sid = self.FT_content.transport.sid + self.FT_content.file_props = self.file_props + self.FT_content.transport.set_file_props(self.file_props) + self.file_props.streamhosts.extend( + self.FT_content.transport.remote_candidates) + for host in self.file_props.streamhosts: + host['initiator'] = self.FT_content.session.initiator + host['target'] = self.FT_content.session.responder + self.file_props.session_type = 'jingle' + self.file_props.stream_methods = Namespace.BYTESTREAM + desc = self.jingle_content.getTag('description') + if self.jingle_content.getAttr('creator') == 'initiator': + file_tag = desc.getTag('file') + self.file_props.sender = self.fjid + self.file_props.receiver = self.conn.get_own_jid() + else: + file_tag = desc.getTag('file') + h = file_tag.getTag('hash') + h = h.getData() if h else None + n = file_tag.getTag('name') + n = n.getData() if n else None + pjid = app.get_jid_without_resource(self.fjid) + file_info = self.conn.get_module('Jingle').get_file_info( + pjid, hash_=h, name=n, account=self.conn.name) + self.file_props.file_name = file_info['file-name'] + self.file_props.sender = self.conn.get_own_jid() + self.file_props.receiver = self.fjid + self.file_props.type_ = 's' + for child in file_tag.getChildren(): + name = child.getName() + val = child.getData() + if val is None: + continue + if name == 'name': + self.file_props.name = val + if name == 'size': + self.file_props.size = int(val) + if name == 'hash': + self.file_props.algo = child.getAttr('algo') + self.file_props.hash_ = val + if name == 'date': + self.file_props.date = val + + self.file_props.request_id = self.id_ + file_desc_tag = file_tag.getTag('desc') + if file_desc_tag is not None: + self.file_props.desc = file_desc_tag.getData() + self.file_props.transfered_size = [] + return True + +class NotificationEvent(nec.NetworkIncomingEvent): + name = 'notification' + base_network_events = ['decrypted-message-received', + 'gc-message-received', + 'presence-received'] + + def generate(self): + # what's needed to compute output + self.account = self.base_event.conn.name + self.conn = self.base_event.conn + self.jid = '' + self.control = None + self.control_focused = False + self.first_unread = False + + # For output + self.do_sound = False + self.sound_file = '' + self.sound_event = '' # gajim sound played if not sound_file is set + self.show_popup = False + + self.do_popup = False + self.popup_title = '' + self.popup_text = '' + self.popup_event_type = '' + self.popup_msg_type = '' + self.icon_name = None + self.transport_name = None + self.show = None + self.popup_timeout = -1 + + self.do_command = False + self.command = '' + + self.show_in_notification_area = False + self.show_in_roster = False + + self.detect_type() + + if self.notif_type == 'msg': + self.handle_incoming_msg_event(self.base_event) + elif self.notif_type == 'gc-msg': + self.handle_incoming_gc_msg_event(self.base_event) + elif self.notif_type == 'pres': + self.handle_incoming_pres_event(self.base_event) + return True + + def detect_type(self): + if self.base_event.name == 'decrypted-message-received': + self.notif_type = 'msg' + if self.base_event.name == 'gc-message-received': + self.notif_type = 'gc-msg' + if self.base_event.name == 'presence-received': + self.notif_type = 'pres' + + def handle_incoming_msg_event(self, msg_obj): + # don't alert for carbon copied messages from ourselves + if msg_obj.properties.is_sent_carbon: + return + if not msg_obj.msgtxt: + return + self.jid = msg_obj.jid + if msg_obj.properties.is_muc_pm: + self.jid = msg_obj.fjid + + self.control = app.interface.msg_win_mgr.search_control( + msg_obj.jid, self.account, msg_obj.resource) + + if self.control is None: + event_type = msg_obj.properties.type.value + if msg_obj.properties.is_muc_pm: + event_type = 'pm' + if len(app.events.get_events( + self.account, msg_obj.jid, [event_type])) <= 1: + self.first_unread = True + else: + self.control_focused = self.control.has_focus() + + if msg_obj.properties.is_muc_pm: + nick = msg_obj.resource + else: + nick = app.get_name_from_jid(self.conn.name, self.jid) + + if self.first_unread: + self.sound_event = 'first_message_received' + elif self.control_focused: + self.sound_event = 'next_message_received_focused' + else: + self.sound_event = 'next_message_received_unfocused' + + if app.settings.get('notification_preview_message'): + self.popup_text = msg_obj.msgtxt + if self.popup_text and (self.popup_text.startswith('/me ') or \ + self.popup_text.startswith('/me\n')): + self.popup_text = '* ' + nick + self.popup_text[3:] + else: + # We don't want message preview, do_preview = False + self.popup_text = '' + + if msg_obj.properties.is_muc_pm: + self.popup_msg_type = 'pm' + self.popup_event_type = _('New Private Message') + else: # chat message + self.popup_msg_type = 'chat' + self.popup_event_type = _('New Message') + + num_unread = len(app.events.get_events(self.conn.name, self.jid, + ['printed_' + self.popup_msg_type, self.popup_msg_type])) + self.popup_title = i18n.ngettext( + 'New message from %(nickname)s', + '%(n_msgs)i unread messages from %(nickname)s', + num_unread) % {'nickname': nick, 'n_msgs': num_unread} + + if app.settings.get('show_notifications'): + if self.first_unread or not self.control_focused: + if app.settings.get('autopopupaway'): + # always show notification + self.do_popup = True + if app.connections[self.conn.name].status in ('online', 'chat'): + # we're online or chat + self.do_popup = True + + if msg_obj.properties.attention and not app.settings.get( + 'ignore_incoming_attention'): + self.popup_timeout = 0 + self.do_popup = True + else: + self.popup_timeout = app.settings.get('notification_timeout') + + sound = app.settings.get_soundevent_settings('attention_received') + + if msg_obj.properties.attention and not app.settings.get( + 'ignore_incoming_attention') and sound['enabled']: + self.sound_event = 'attention_received' + self.do_sound = True + elif self.first_unread and helpers.allow_sound_notification( + self.conn.name, 'first_message_received'): + self.do_sound = True + elif not self.first_unread and self.control_focused and \ + helpers.allow_sound_notification(self.conn.name, + 'next_message_received_focused'): + self.do_sound = True + elif not self.first_unread and not self.control_focused and \ + helpers.allow_sound_notification(self.conn.name, + 'next_message_received_unfocused'): + self.do_sound = True + + def handle_incoming_gc_msg_event(self, msg_obj): + if not msg_obj.gc_control: + # we got a message from a room we're not in? ignore it + return + self.jid = msg_obj.jid + sound = msg_obj.gc_control.highlighting_for_message( + msg_obj.msgtxt, msg_obj.properties.timestamp)[1] + + nick = msg_obj.properties.muc_nickname + + if nick == msg_obj.gc_control.nick: + # A message from ourself + return + + self.do_sound = True + if sound == 'received': + self.sound_event = 'muc_message_received' + elif sound == 'highlight': + self.sound_event = 'muc_message_highlight' + else: + self.do_sound = False + + self.control = app.interface.msg_win_mgr.search_control( + msg_obj.jid, self.account) + + if self.control is not None: + self.control_focused = self.control.has_focus() + + if app.settings.get('show_notifications'): + contact = app.contacts.get_groupchat_contact(self.account, + self.jid) + notify_for_muc = sound == 'highlight' or contact.can_notify() + + if not notify_for_muc: + self.do_popup = False + + elif self.control_focused: + self.do_popup = False + + elif app.settings.get('autopopupaway'): + # always show notification + self.do_popup = True + + elif app.connections[self.conn.name].status in ('online', 'chat'): + # we're online or chat + self.do_popup = True + + self.popup_msg_type = 'gc_msg' + self.popup_event_type = _('New Group Chat Message') + + if app.settings.get('notification_preview_message'): + self.popup_text = msg_obj.msgtxt + if self.popup_text and (self.popup_text.startswith('/me ') or + self.popup_text.startswith('/me\n')): + self.popup_text = '* ' + nick + self.popup_text[3:] + + type_events = ['printed_marked_gc_msg', 'printed_gc_msg'] + count = len(app.events.get_events(self.account, self.jid, type_events)) + + contact = app.contacts.get_contact(self.account, self.jid) + + self.popup_title = i18n.ngettext( + 'New message from %(nickname)s', + '%(n_msgs)i unread messages in %(groupchat_name)s', + count) % {'nickname': nick, + 'n_msgs': count, + 'groupchat_name': contact.get_shown_name()} + + def handle_incoming_pres_event(self, pres_obj): + if app.jid_is_transport(pres_obj.jid): + return True + account = pres_obj.conn.name + self.jid = pres_obj.jid + resource = pres_obj.resource or '' + # It isn't an agent + for c in pres_obj.contact_list: + if c.resource == resource: + # we look for other connected resources + continue + if c.show not in ('offline', 'error'): + return True + + # no other resource is connected, let's look in metacontacts + family = app.contacts.get_metacontacts_family(account, self.jid) + for info in family: + acct_ = info['account'] + jid_ = info['jid'] + c_ = app.contacts.get_contact_with_highest_priority(acct_, jid_) + if not c_: + continue + if c_.jid == self.jid: + continue + if c_.show not in ('offline', 'error'): + return True + + if pres_obj.old_show < 2 and pres_obj.new_show > 1: + event = 'contact_connected' + server = app.get_server_from_jid(self.jid) + account_server = account + '/' + server + block_transport = False + if account_server in app.block_signed_in_notifications and \ + app.block_signed_in_notifications[account_server]: + block_transport = True + + sound = app.settings.get_soundevent_settings('contact_connected') + if sound['enabled'] and not app.block_signed_in_notifications[account] and\ + not block_transport and helpers.allow_sound_notification(account, + 'contact_connected'): + self.sound_event = event + self.do_sound = True + + elif pres_obj.old_show > 1 and pres_obj.new_show < 2: + event = 'contact_disconnected' + sound = app.settings.get_soundevent_settings('contact_disconnected') + if sound['enabled'] and helpers.allow_sound_notification(account, event): + self.sound_event = event + self.do_sound = True + # Status change (not connected/disconnected or error (<1)) + elif pres_obj.new_show > 1: + event = 'status_change' + else: + return True + + if app.jid_is_transport(self.jid): + self.transport_name = app.get_transport_name_from_jid(self.jid) + + self.show = pres_obj.show + + self.popup_timeout = app.settings.get('notification_timeout') + + nick = i18n.direction_mark + app.get_name_from_jid(account, self.jid) + if event == 'status_change': + self.popup_title = _('%(nick)s Changed Status') % \ + {'nick': nick} + self.popup_text = _('%(nick)s is now %(status)s') % \ + {'nick': nick, 'status': helpers.get_uf_show(pres_obj.show)} + if pres_obj.status: + self.popup_text = self.popup_text + " : " + pres_obj.status + self.popup_event_type = _('Contact Changed Status') + + +class InformationEvent(nec.NetworkIncomingEvent): + name = 'information' + + def init(self): + self.args = None + self.kwargs = {} + self.dialog_name = None + self.popup = True + + def generate(self): + if self.args is None: + self.args = () + else: + self.args = (self.args,) + return True diff --git a/gajim/common/const.py b/gajim/common/const.py new file mode 100644 index 0000000..859efe0 --- /dev/null +++ b/gajim/common/const.py @@ -0,0 +1,1115 @@ +from enum import IntEnum, Enum, unique +from collections import namedtuple + +from gi.repository import Gio + +from nbxmpp.namespaces import Namespace + +from gajim.common.i18n import _ +from gajim.common.i18n import Q_ + +EncryptionData = namedtuple('EncryptionData', 'additional_data') +EncryptionData.__new__.__defaults__ = (None,) # type: ignore + +Entity = namedtuple('Entity', 'jid node hash method') + + +class AvatarSize(IntEnum): + TAB = 16 + ROSTER = 32 + CHAT = 48 + NOTIFICATION = 48 + GROUP_INFO = 100 + TOOLTIP = 125 + VCARD = 200 + PUBLISH = 200 + + +class ArchiveState(IntEnum): + NEVER = 0 + ALL = 1 + + +@unique +class PathLocation(IntEnum): + CONFIG = 0 + CACHE = 1 + DATA = 2 + + +@unique +class PathType(IntEnum): + FILE = 0 + FOLDER = 1 + FOLDER_OPTIONAL = 2 + + +@unique +class KindConstant(IntEnum): + STATUS = 0 + GCSTATUS = 1 + GC_MSG = 2 + SINGLE_MSG_RECV = 3 + CHAT_MSG_RECV = 4 + SINGLE_MSG_SENT = 5 + CHAT_MSG_SENT = 6 + ERROR = 7 + + def __str__(self): + return str(self.value) + + +@unique +class ShowConstant(IntEnum): + ONLINE = 0 + CHAT = 1 + AWAY = 2 + XA = 3 + DND = 4 + OFFLINE = 5 + + +@unique +class TypeConstant(IntEnum): + AIM = 0 + GG = 1 + HTTP_WS = 2 + ICQ = 3 + MSN = 4 + QQ = 5 + SMS = 6 + SMTP = 7 + TLEN = 8 + YAHOO = 9 + NEWMAIL = 10 + RSS = 11 + WEATHER = 12 + MRIM = 13 + NO_TRANSPORT = 14 + + +@unique +class SubscriptionConstant(IntEnum): + NONE = 0 + TO = 1 + FROM = 2 + BOTH = 3 + + +@unique +class JIDConstant(IntEnum): + NORMAL_TYPE = 0 + ROOM_TYPE = 1 + +@unique +class StyleAttr(Enum): + COLOR = 'color' + BACKGROUND = 'background' + FONT = 'font' + +@unique +class CSSPriority(IntEnum): + APPLICATION = 600 + APPLICATION_DARK = 601 + DEFAULT_THEME = 610 + DEFAULT_THEME_DARK = 611 + USER_THEME = 650 + +@unique +class ButtonAction(Enum): + DESTRUCTIVE = 'destructive-action' + SUGGESTED = 'suggested-action' + +@unique +class IdleState(Enum): + UNKNOWN = 'unknown' + XA = 'xa' + AWAY = 'away' + AWAKE = 'online' + + +@unique +class PEPEventType(IntEnum): + ABSTRACT = 0 + ACTIVITY = 1 + TUNE = 2 + MOOD = 3 + LOCATION = 4 + NICKNAME = 5 + AVATAR = 6 + ATOM = 7 + BOOKMARKS = 8 + + +@unique +class Chatstate(IntEnum): + COMPOSING = 0 + PAUSED = 1 + ACTIVE = 2 + INACTIVE = 3 + GONE = 4 + + def __str__(self): + return self.name.lower() + + +class SyncThreshold(IntEnum): + NO_SYNC = -1 + NO_THRESHOLD = 0 + + def __str__(self): + return str(self.value) + + +class MUCUser(IntEnum): + JID = 0 + NICK = 1 + REASON = 1 + NICK_OR_REASON = 1 + ROLE = 2 + AFFILIATION = 3 + AFFILIATION_TEXT = 4 + + +@unique +class Trust(IntEnum): + UNTRUSTED = 0 + UNDECIDED = 1 + BLIND = 2 + VERIFIED = 3 + + +class Display(Enum): + X11 = 'X11Display' + WAYLAND = 'GdkWaylandDisplay' + WIN32 = 'GdkWin32Display' + QUARTZ = 'GdkQuartzDisplay' + + +class URIType(Enum): + UNKNOWN = 'unknown' + XMPP = 'xmpp' + MAIL = 'mail' + GEO = 'geo' + WEB = 'web' + FILE = 'file' + AT = 'at' + TEL = 'tel' + + +class URIAction(Enum): + MESSAGE = 'message' + JOIN = 'join' + SUBSCRIBE = 'subscribe' + + +class MUCJoinedState(Enum): + JOINED = 'joined' + NOT_JOINED = 'not joined' + JOINING = 'joining' + CREATING = 'creating' + CAPTCHA_REQUEST = 'captcha in progress' + CAPTCHA_FAILED = 'captcha failed' + + def __str__(self): + return self.name + + @property + def is_joined(self): + return self == MUCJoinedState.JOINED + + @property + def is_not_joined(self): + return self == MUCJoinedState.NOT_JOINED + + @property + def is_joining(self): + return self == MUCJoinedState.JOINING + + @property + def is_creating(self): + return self == MUCJoinedState.CREATING + + @property + def is_captcha_request(self): + return self == MUCJoinedState.CAPTCHA_REQUEST + + @property + def is_captcha_failed(self): + return self == MUCJoinedState.CAPTCHA_FAILED + + +class ClientState(IntEnum): + DISCONNECTING = 0 + DISCONNECTED = 1 + RECONNECT_SCHEDULED = 2 + CONNECTING = 3 + CONNECTED = 4 + AVAILABLE = 5 + + @property + def is_disconnecting(self): + return self == ClientState.DISCONNECTING + + @property + def is_disconnected(self): + return self == ClientState.DISCONNECTED + + @property + def is_reconnect_scheduled(self): + return self == ClientState.RECONNECT_SCHEDULED + + @property + def is_connecting(self): + return self == ClientState.CONNECTING + + @property + def is_connected(self): + return self == ClientState.CONNECTED + + @property + def is_available(self): + return self == ClientState.AVAILABLE + + +class JingleState(Enum): + NULL = 'stop' + CONNECTING = 'connecting' + CONNECTION_RECEIVED = 'connection_received' + CONNECTED = 'connected' + ERROR = 'error' + + def __str__(self): + return self.value + + +MUC_CREATION_EXAMPLES = [ + (Q_('?Group chat name:Team'), + Q_('?Group chat description:Project discussion'), + Q_('?Group chat address:team')), + (Q_('?Group chat name:Family'), + Q_('?Group chat description:Spring gathering'), + Q_('?Group chat address:family')), + (Q_('?Group chat name:Vacation'), + Q_('?Group chat description:Trip planning'), + Q_('?Group chat address:vacation')), + (Q_('?Group chat name:Repairs'), + Q_('?Group chat description:Local help group'), + Q_('?Group chat address:repairs')), + (Q_('?Group chat name:News'), + Q_('?Group chat description:Local news and reports'), + Q_('?Group chat address:news')), +] + + +MUC_DISCO_ERRORS = { + 'remote-server-not-found': _('Remote server not found'), + 'remote-server-timeout': _('Remote server timeout'), + 'service-unavailable': _('Address does not belong to a group chat server'), + 'subscription-required': _('Address does not belong to a group chat server'), + 'not-muc-service': _('Address does not belong to a group chat server'), + 'already-exists': _('Group chat already exists'), + 'item-not-found': _('Group chat does not exist'), + 'gone': _('Group chat is closed'), +} + + +EME_MESSAGES = { + 'urn:xmpp:otr:0': + _('This message was encrypted with OTR ' + 'and could not be decrypted.'), + 'jabber:x:encrypted': + _('This message was encrypted with Legacy ' + 'OpenPGP and could not be decrypted. You can install ' + 'the PGP plugin to handle those messages.'), + 'urn:xmpp:openpgp:0': + _('This message was encrypted with ' + 'OpenPGP for XMPP and could not be decrypted. You can install ' + 'the OpenPGP plugin to handle those messages.'), + 'fallback': + _('This message was encrypted with %s ' + 'and could not be decrypted.') +} + + +ACTIVITIES = { + 'doing_chores': { + 'category': _('Doing Chores'), + 'buying_groceries': _('Buying Groceries'), + 'cleaning': _('Cleaning'), + 'cooking': _('Cooking'), + 'doing_maintenance': _('Doing Maintenance'), + 'doing_the_dishes': _('Doing the Dishes'), + 'doing_the_laundry': _('Doing the Laundry'), + 'gardening': _('Gardening'), + 'running_an_errand': _('Running an Errand'), + 'walking_the_dog': _('Walking the Dog')}, + 'drinking': { + 'category': _('Drinking'), + 'having_a_beer': _('Having a Beer'), + 'having_coffee': _('Having Coffee'), + 'having_tea': _('Having Tea')}, + 'eating': { + 'category': _('Eating'), + 'having_a_snack': _('Having a Snack'), + 'having_breakfast': _('Having Breakfast'), + 'having_dinner': _('Having Dinner'), + 'having_lunch': _('Having Lunch')}, + 'exercising': { + 'category': _('Exercising'), + 'cycling': _('Cycling'), + 'dancing': _('Dancing'), + 'hiking': _('Hiking'), + 'jogging': _('Jogging'), + 'playing_sports': _('Playing Sports'), + 'running': _('Running'), + 'skiing': _('Skiing'), + 'swimming': _('Swimming'), + 'working_out': _('Working out')}, + 'grooming': { + 'category': _('Grooming'), + 'at_the_spa': _('At the Spa'), + 'brushing_teeth': _('Brushing Teeth'), + 'getting_a_haircut': _('Getting a Haircut'), + 'shaving': _('Shaving'), + 'taking_a_bath': _('Taking a Bath'), + 'taking_a_shower': _('Taking a Shower')}, + 'having_appointment': { + 'category': _('Having an Appointment')}, + 'inactive': { + 'category': _('Inactive'), + 'day_off': _('Day Off'), + 'hanging_out': _('Hanging out'), + 'hiding': _('Hiding'), + 'on_vacation': _('On Vacation'), + 'praying': _('Praying'), + 'scheduled_holiday': _('Scheduled Holiday'), + 'sleeping': _('Sleeping'), + 'thinking': _('Thinking')}, + 'relaxing': { + 'category': _('Relaxing'), + 'fishing': _('Fishing'), + 'gaming': _('Gaming'), + 'going_out': _('Going out'), + 'partying': _('Partying'), + 'reading': _('Reading'), + 'rehearsing': _('Rehearsing'), + 'shopping': _('Shopping'), + 'smoking': _('Smoking'), + 'socializing': _('Socializing'), + 'sunbathing': _('Sunbathing'), + 'watching_tv': _('Watching TV'), + 'watching_a_movie': _('Watching a Movie')}, + 'talking': { + 'category': _('Talking'), + 'in_real_life': _('In Real Life'), + 'on_the_phone': _('On the Phone'), + 'on_video_phone': _('On Video Phone')}, + 'traveling': { + 'category': _('Traveling'), + 'commuting': _('Commuting'), + 'cycling': _('Cycling'), + 'driving': _('Driving'), + 'in_a_car': _('In a Car'), + 'on_a_bus': _('On a Bus'), + 'on_a_plane': _('On a Plane'), + 'on_a_train': _('On a Train'), + 'on_a_trip': _('On a Trip'), + 'walking': _('Walking')}, + 'working': { + 'category': _('Working'), + 'coding': _('Coding'), + 'in_a_meeting': _('In a Meeting'), + 'studying': _('Studying'), + 'writing': _('Writing')}} + +MOODS = { + 'afraid': _('Afraid'), + 'amazed': _('Amazed'), + 'amorous': _('Amorous'), + 'angry': _('Angry'), + 'annoyed': _('Annoyed'), + 'anxious': _('Anxious'), + 'aroused': _('Aroused'), + 'ashamed': _('Ashamed'), + 'bored': _('Bored'), + 'brave': _('Brave'), + 'calm': _('Calm'), + 'cautious': _('Cautious'), + 'cold': _('Cold'), + 'confident': _('Confident'), + 'confused': _('Confused'), + 'contemplative': _('Contemplative'), + 'contented': _('Contented'), + 'cranky': _('Cranky'), + 'crazy': _('Crazy'), + 'creative': _('Creative'), + 'curious': _('Curious'), + 'dejected': _('Dejected'), + 'depressed': _('Depressed'), + 'disappointed': _('Disappointed'), + 'disgusted': _('Disgusted'), + 'dismayed': _('Dismayed'), + 'distracted': _('Distracted'), + 'embarrassed': _('Embarrassed'), + 'envious': _('Envious'), + 'excited': _('Excited'), + 'flirtatious': _('Flirtatious'), + 'frustrated': _('Frustrated'), + 'grateful': _('Grateful'), + 'grieving': _('Grieving'), + 'grumpy': _('Grumpy'), + 'guilty': _('Guilty'), + 'happy': _('Happy'), + 'hopeful': _('Hopeful'), + 'hot': _('Hot'), + 'humbled': _('Humbled'), + 'humiliated': _('Humiliated'), + 'hungry': _('Hungry'), + 'hurt': _('Hurt'), + 'impressed': _('Impressed'), + 'in_awe': _('In Awe'), + 'in_love': _('In Love'), + 'indignant': _('Indignant'), + 'interested': _('Interested'), + 'intoxicated': _('Intoxicated'), + 'invincible': _('Invincible'), + 'jealous': _('Jealous'), + 'lonely': _('Lonely'), + 'lost': _('Lost'), + 'lucky': _('Lucky'), + 'mean': _('Mean'), + 'moody': _('Moody'), + 'nervous': _('Nervous'), + 'neutral': _('Neutral'), + 'offended': _('Offended'), + 'outraged': _('Outraged'), + 'playful': _('Playful'), + 'proud': _('Proud'), + 'relaxed': _('Relaxed'), + 'relieved': _('Relieved'), + 'remorseful': _('Remorseful'), + 'restless': _('Restless'), + 'sad': _('Sad'), + 'sarcastic': _('Sarcastic'), + 'satisfied': _('Satisfied'), + 'serious': _('Serious'), + 'shocked': _('Shocked'), + 'shy': _('Shy'), + 'sick': _('Sick'), + 'sleepy': _('Sleepy'), + 'spontaneous': _('Spontaneous'), + 'stressed': _('Stressed'), + 'strong': _('Strong'), + 'surprised': _('Surprised'), + 'thankful': _('Thankful'), + 'thirsty': _('Thirsty'), + 'tired': _('Tired'), + 'undefined': _('Undefined'), + 'weak': _('Weak'), + 'worried': _('Worried') +} + +LOCATION_DATA = { + 'accuracy': _('accuracy'), + 'alt': _('alt'), + 'area': _('area'), + 'bearing': _('bearing'), + 'building': _('building'), + 'country': _('country'), + 'countrycode': _('countrycode'), + 'datum': _('datum'), + 'description': _('description'), + 'error': _('error'), + 'floor': _('floor'), + 'lat': _('lat'), + 'locality': _('locality'), + 'lon': _('lon'), + 'postalcode': _('postalcode'), + 'region': _('region'), + 'room': _('room'), + 'speed': _('speed'), + 'street': _('street'), + 'text': _('text'), + 'timestamp': _('timestamp'), + 'uri': _('URI') +} + + +SSLError = { + 2: _("Unable to get issuer certificate"), + 3: _("Unable to get certificate CRL"), + 4: _("Unable to decrypt certificate's signature"), + 5: _("Unable to decrypt CRL's signature"), + 6: _("Unable to decode issuer public key"), + 7: _("Certificate signature failure"), + 8: _("CRL signature failure"), + 9: _("Certificate is not yet valid"), + 10: _("Certificate has expired"), + 11: _("CRL is not yet valid"), + 12: _("CRL has expired"), + 13: _("Format error in certificate's notBefore field"), + 14: _("Format error in certificate's notAfter field"), + 15: _("Format error in CRL's lastUpdate field"), + 16: _("Format error in CRL's nextUpdate field"), + 17: _("Out of memory"), + 18: _("Self signed certificate"), + 19: _("Self signed certificate in certificate chain"), + 20: _("Unable to get local issuer certificate"), + 21: _("Unable to verify the first certificate"), + 22: _("Certificate chain too long"), + 23: _("Certificate revoked"), + 24: _("Invalid CA certificate"), + 25: _("Path length constraint exceeded"), + 26: _("Unsupported certificate purpose"), + 27: _("Certificate not trusted"), + 28: _("Certificate rejected"), + 29: _("Subject issuer mismatch"), + 30: _("Authority and subject key identifier mismatch"), + 31: _("Authority and issuer serial number mismatch"), + 32: _("Key usage does not include certificate signing"), + 50: _("Application verification failure"), +} + + +THANKS = u"""\ +Alexander Futász +Alexander V. Butenko +Alexey Nezhdanov +Alfredo Junix +Anaël Verrier +Anders Ström +Andrew Sayman +Anton Shmigirilov +Christian Bjälevik +Christophe Got +Christoph Neuroth +David Campey +Dennis Craven +Fabian Neumann +Filippos Papadopoulos +Francisco Alburquerque Parra (Membris Khan) +Frederic Lory +Fridtjof Bussefor +Geobert Quach +Guillaume Morin +Gustavo J. A. M. Carneiro +Ivo Anjo +Josef Vybíral +Juraj Michalek +Kjell Braden +Luis Peralta +Michael Scherer +Michele Campeotto +Mike Albon +Miguel Fonseca +Norman Rasmussen +Oscar Hellström +Peter Saint-Andre +Petr Menšík +Sergey Kuleshov +Stavros Giannouris +Stian B. Barmen +Thilo Molitor +Thomas Klein-Hitpaß +Urtzi Alfaro +Witold Kieraś +Yakov Bezrukov +Yavor Doganov +""".strip().split("\n") + +ARTISTS = u"""\ +Anders Ström +Christophe Got +Dennis Craven +Dmitry Korzhevin +Guillaume Morin +Gvorcek Spajreh +Josef Vybíral +Membris Khan +Rederick Asher +Jakub Szypulka +""".strip().split("\n") + +DEVS_CURRENT = u"""\ +Yann Leboulanger (asterix AT lagaule.org) +Philipp Hörist (philipp AT hoerist.com) +Daniel Brötzmann (wurstsalat AT posteo.de) +André Apitzsch +""".strip().split("\n") + +DEVS_PAST = u"""\ +Stefan Bethge (stefan AT lanpartei.de) +Alexander Cherniuk (ts33kr AT gmail.com) +Stephan Erb (steve-e AT h3c.de) +Vincent Hanquez (tab AT snarc.org) +Dimitur Kirov (dkirov AT gmail.com) +Nikos Kouremenos (kourem AT gmail.com) +Julien Pivotto (roidelapluie AT gmail.com) +Jonathan Schleifer (js-gajim AT webkeks.org) +Travis Shirk (travis AT pobox.com) +Brendan Taylor (whateley AT gmail.com) +Jean-Marie Traissard (jim AT lapin.org) +""".strip().split("\n") + + +RFC5646_LANGUAGE_TAGS = { + 'af': 'Afrikaans', + 'af-ZA': 'Afrikaans (South Africa)', + 'ar': 'Arabic', + 'ar-AE': 'Arabic (U.A.E.)', + 'ar-BH': 'Arabic (Bahrain)', + 'ar-DZ': 'Arabic (Algeria)', + 'ar-EG': 'Arabic (Egypt)', + 'ar-IQ': 'Arabic (Iraq)', + 'ar-JO': 'Arabic (Jordan)', + 'ar-KW': 'Arabic (Kuwait)', + 'ar-LB': 'Arabic (Lebanon)', + 'ar-LY': 'Arabic (Libya)', + 'ar-MA': 'Arabic (Morocco)', + 'ar-OM': 'Arabic (Oman)', + 'ar-QA': 'Arabic (Qatar)', + 'ar-SA': 'Arabic (Saudi Arabia)', + 'ar-SY': 'Arabic (Syria)', + 'ar-TN': 'Arabic (Tunisia)', + 'ar-YE': 'Arabic (Yemen)', + 'az': 'Azeri (Latin)', + 'az-AZ': 'Azeri (Latin) (Azerbaijan)', + 'az-Cyrl-AZ': 'Azeri (Cyrillic) (Azerbaijan)', + 'be': 'Belarusian', + 'be-BY': 'Belarusian (Belarus)', + 'bg': 'Bulgarian', + 'bg-BG': 'Bulgarian (Bulgaria)', + 'bs-BA': 'Bosnian (Bosnia and Herzegovina)', + 'ca': 'Catalan', + 'ca-ES': 'Catalan (Spain)', + 'cs': 'Czech', + 'cs-CZ': 'Czech (Czech Republic)', + 'cy': 'Welsh', + 'cy-GB': 'Welsh (United Kingdom)', + 'da': 'Danish', + 'da-DK': 'Danish (Denmark)', + 'de': 'German', + 'de-AT': 'German (Austria)', + 'de-CH': 'German (Switzerland)', + 'de-DE': 'German (Germany)', + 'de-LI': 'German (Liechtenstein)', + 'de-LU': 'German (Luxembourg)', + 'dv': 'Divehi', + 'dv-MV': 'Divehi (Maldives)', + 'el': 'Greek', + 'el-GR': 'Greek (Greece)', + 'en': 'English', + 'en-AU': 'English (Australia)', + 'en-BZ': 'English (Belize)', + 'en-CA': 'English (Canada)', + 'en-CB': 'English (Caribbean)', + 'en-GB': 'English (United Kingdom)', + 'en-IE': 'English (Ireland)', + 'en-JM': 'English (Jamaica)', + 'en-NZ': 'English (New Zealand)', + 'en-PH': 'English (Republic of the Philippines)', + 'en-TT': 'English (Trinidad and Tobago)', + 'en-US': 'English (United States)', + 'en-ZA': 'English (South Africa)', + 'en-ZW': 'English (Zimbabwe)', + 'eo': 'Esperanto', + 'es': 'Spanish', + 'es-AR': 'Spanish (Argentina)', + 'es-BO': 'Spanish (Bolivia)', + 'es-CL': 'Spanish (Chile)', + 'es-CO': 'Spanish (Colombia)', + 'es-CR': 'Spanish (Costa Rica)', + 'es-DO': 'Spanish (Dominican Republic)', + 'es-EC': 'Spanish (Ecuador)', + 'es-ES': 'Spanish (Spain)', + 'es-GT': 'Spanish (Guatemala)', + 'es-HN': 'Spanish (Honduras)', + 'es-MX': 'Spanish (Mexico)', + 'es-NI': 'Spanish (Nicaragua)', + 'es-PA': 'Spanish (Panama)', + 'es-PE': 'Spanish (Peru)', + 'es-PR': 'Spanish (Puerto Rico)', + 'es-PY': 'Spanish (Paraguay)', + 'es-SV': 'Spanish (El Salvador)', + 'es-UY': 'Spanish (Uruguay)', + 'es-VE': 'Spanish (Venezuela)', + 'et': 'Estonian', + 'et-EE': 'Estonian (Estonia)', + 'eu': 'Basque', + 'eu-ES': 'Basque (Spain)', + 'fa': 'Farsi', + 'fa-IR': 'Farsi (Iran)', + 'fi': 'Finnish', + 'fi-FI': 'Finnish (Finland)', + 'fo': 'Faroese', + 'fo-FO': 'Faroese (Faroe Islands)', + 'fr': 'French', + 'fr-BE': 'French (Belgium)', + 'fr-CA': 'French (Canada)', + 'fr-CH': 'French (Switzerland)', + 'fr-FR': 'French (France)', + 'fr-LU': 'French (Luxembourg)', + 'fr-MC': 'French (Principality of Monaco)', + 'gl': 'Galician', + 'gl-ES': 'Galician (Spain)', + 'gu': 'Gujarati', + 'gu-IN': 'Gujarati (India)', + 'he': 'Hebrew', + 'he-IL': 'Hebrew (Israel)', + 'hi': 'Hindi', + 'hi-IN': 'Hindi (India)', + 'hr': 'Croatian', + 'hr-BA': 'Croatian (Bosnia and Herzegovina)', + 'hr-HR': 'Croatian (Croatia)', + 'hu': 'Hungarian', + 'hu-HU': 'Hungarian (Hungary)', + 'hy': 'Armenian', + 'hy-AM': 'Armenian (Armenia)', + 'id': 'Indonesian', + 'id-ID': 'Indonesian (Indonesia)', + 'is': 'Icelandic', + 'is-IS': 'Icelandic (Iceland)', + 'it': 'Italian', + 'it-CH': 'Italian (Switzerland)', + 'it-IT': 'Italian (Italy)', + 'ja': 'Japanese', + 'ja-JP': 'Japanese (Japan)', + 'ka': 'Georgian', + 'ka-GE': 'Georgian (Georgia)', + 'kk': 'Kazakh', + 'kk-KZ': 'Kazakh (Kazakhstan)', + 'kn': 'Kannada', + 'kn-IN': 'Kannada (India)', + 'ko': 'Korean', + 'ko-KR': 'Korean (Korea)', + 'kok': 'Konkani', + 'kok-IN': 'Konkani (India)', + 'ky': 'Kyrgyz', + 'ky-KG': 'Kyrgyz (Kyrgyzstan)', + 'lt': 'Lithuanian', + 'lt-LT': 'Lithuanian (Lithuania)', + 'lv': 'Latvian', + 'lv-LV': 'Latvian (Latvia)', + 'mi': 'Maori', + 'mi-NZ': 'Maori (New Zealand)', + 'mk': 'FYRO Macedonian', + 'mk-MK': 'FYRO Macedonian (Former Yugoslav Republic of Macedonia)', + 'mn': 'Mongolian', + 'mn-MN': 'Mongolian (Mongolia)', + 'mr': 'Marathi', + 'mr-IN': 'Marathi (India)', + 'ms': 'Malay', + 'ms-BN': 'Malay (Brunei Darussalam)', + 'ms-MY': 'Malay (Malaysia)', + 'mt': 'Maltese', + 'mt-MT': 'Maltese (Malta)', + 'nb': 'Norwegian (Bokm?l)', + 'nb-NO': 'Norwegian (Bokm?l) (Norway)', + 'nl': 'Dutch', + 'nl-BE': 'Dutch (Belgium)', + 'nl-NL': 'Dutch (Netherlands)', + 'nn-NO': 'Norwegian (Nynorsk) (Norway)', + 'ns': 'Northern Sotho', + 'ns-ZA': 'Northern Sotho (South Africa)', + 'pa': 'Punjabi', + 'pa-IN': 'Punjabi (India)', + 'pl': 'Polish', + 'pl-PL': 'Polish (Poland)', + 'ps': 'Pashto', + 'ps-AR': 'Pashto (Afghanistan)', + 'pt': 'Portuguese', + 'pt-BR': 'Portuguese (Brazil)', + 'pt-PT': 'Portuguese (Portugal)', + 'qu': 'Quechua', + 'qu-BO': 'Quechua (Bolivia)', + 'qu-EC': 'Quechua (Ecuador)', + 'qu-PE': 'Quechua (Peru)', + 'ro': 'Romanian', + 'ro-RO': 'Romanian (Romania)', + 'ru': 'Russian', + 'ru-RU': 'Russian (Russia)', + 'sa': 'Sanskrit', + 'sa-IN': 'Sanskrit (India)', + 'se': 'Sami', + 'se-FI': 'Sami (Finland)', + 'se-NO': 'Sami (Norway)', + 'se-SE': 'Sami (Sweden)', + 'sk': 'Slovak', + 'sk-SK': 'Slovak (Slovakia)', + 'sl': 'Slovenian', + 'sl-SI': 'Slovenian (Slovenia)', + 'sq': 'Albanian', + 'sq-AL': 'Albanian (Albania)', + 'sr-BA': 'Serbian (Latin) (Bosnia and Herzegovina)', + 'sr-Cyrl-BA': 'Serbian (Cyrillic) (Bosnia and Herzegovina)', + 'sr-SP': 'Serbian (Latin) (Serbia and Montenegro)', + 'sr-Cyrl-SP': 'Serbian (Cyrillic) (Serbia and Montenegro)', + 'sv': 'Swedish', + 'sv-FI': 'Swedish (Finland)', + 'sv-SE': 'Swedish (Sweden)', + 'sw': 'Swahili', + 'sw-KE': 'Swahili (Kenya)', + 'syr': 'Syriac', + 'syr-SY': 'Syriac (Syria)', + 'ta': 'Tamil', + 'ta-IN': 'Tamil (India)', + 'te': 'Telugu', + 'te-IN': 'Telugu (India)', + 'th': 'Thai', + 'th-TH': 'Thai (Thailand)', + 'tl': 'Tagalog', + 'tl-PH': 'Tagalog (Philippines)', + 'tn': 'Tswana', + 'tn-ZA': 'Tswana (South Africa)', + 'tr': 'Turkish', + 'tr-TR': 'Turkish (Turkey)', + 'tt': 'Tatar', + 'tt-RU': 'Tatar (Russia)', + 'ts': 'Tsonga', + 'uk': 'Ukrainian', + 'uk-UA': 'Ukrainian (Ukraine)', + 'ur': 'Urdu', + 'ur-PK': 'Urdu (Islamic Republic of Pakistan)', + 'uz': 'Uzbek (Latin)', + 'uz-UZ': 'Uzbek (Latin) (Uzbekistan)', + 'uz-Cyrl-UZ': 'Uzbek (Cyrillic) (Uzbekistan)', + 'vi': 'Vietnamese', + 'vi-VN': 'Vietnamese (Viet Nam)', + 'xh': 'Xhosa', + 'xh-ZA': 'Xhosa (South Africa)', + 'zh': 'Chinese', + 'zh-CN': 'Chinese (S)', + 'zh-HK': 'Chinese (Hong Kong)', + 'zh-MO': 'Chinese (Macau)', + 'zh-SG': 'Chinese (Singapore)', + 'zh-TW': 'Chinese (T)', + 'zu': 'Zulu', + 'zu-ZA': 'Zulu (South Africa)' +} + +# pylint: disable=line-too-long +GIO_TLS_ERRORS = { + Gio.TlsCertificateFlags.UNKNOWN_CA: _('The signing certificate authority is not known'), + Gio.TlsCertificateFlags.REVOKED: _('The certificate has been revoked'), + Gio.TlsCertificateFlags.BAD_IDENTITY: _('The certificate does not match the expected identity of the site'), + Gio.TlsCertificateFlags.INSECURE: _('The certificate’s algorithm is insecure'), + Gio.TlsCertificateFlags.NOT_ACTIVATED: _('The certificate’s activation time is in the future'), + Gio.TlsCertificateFlags.GENERIC_ERROR: _('Unknown validation error'), + Gio.TlsCertificateFlags.EXPIRED: _('The certificate has expired'), +} +# pylint: enable=line-too-long + + +class FTState(Enum): + PREPARING = 'prepare' + ENCRYPTING = 'encrypting' + DECRYPTING = 'decrypting' + STARTED = 'started' + IN_PROGRESS = 'progress' + FINISHED = 'finished' + ERROR = 'error' + CANCELLED = 'cancelled' + + @property + def is_preparing(self): + return self == FTState.PREPARING + + @property + def is_encrypting(self): + return self == FTState.ENCRYPTING + + @property + def is_decrypting(self): + return self == FTState.DECRYPTING + + @property + def is_started(self): + return self == FTState.STARTED + + @property + def is_in_progress(self): + return self == FTState.IN_PROGRESS + + @property + def is_finished(self): + return self == FTState.FINISHED + + @property + def is_error(self): + return self == FTState.ERROR + + @property + def is_cancelled(self): + return self == FTState.CANCELLED + + @property + def is_active(self): + return not (self.is_error or + self.is_cancelled or + self.is_finished) + + +SASL_ERRORS = { + 'aborted': _('Authentication aborted'), + 'account-disabled': _('Account disabled'), + 'credentials-expired': _('Credentials expired'), + 'encryption-required': _('Encryption required'), + 'incorrect-encoding': _('Authentication failed'), + 'invalid-authzid': _('Authentication failed'), + 'malformed-request': _('Authentication failed'), + 'invalid-mechanism': _('Authentication mechanism not supported'), + 'mechanism-too-weak': _('Authentication mechanism too weak'), + 'not-authorized': _('Authentication failed'), + 'temporary-auth-failure': _('Authentication currently not possible'), +} + + +COMMON_FEATURES = [ + Namespace.BYTESTREAM, + Namespace.MUC, + Namespace.COMMANDS, + Namespace.DISCO_INFO, + Namespace.LAST, + Namespace.DATA, + Namespace.ENCRYPTED, + Namespace.PING, + Namespace.CHATSTATES, + Namespace.RECEIPTS, + Namespace.TIME_REVISED, + Namespace.VERSION, + Namespace.ROSTERX, + Namespace.SECLABEL, + Namespace.CONFERENCE, + Namespace.CORRECT, + Namespace.CHATMARKERS, + Namespace.EME, + Namespace.XHTML_IM, + Namespace.HASHES_2, + Namespace.HASHES_MD5, + Namespace.HASHES_SHA1, + Namespace.HASHES_SHA256, + Namespace.HASHES_SHA512, + Namespace.HASHES_SHA3_256, + Namespace.HASHES_SHA3_512, + Namespace.HASHES_BLAKE2B_256, + Namespace.HASHES_BLAKE2B_512, + Namespace.JINGLE, + Namespace.JINGLE_FILE_TRANSFER_5, + Namespace.JINGLE_XTLS, + Namespace.JINGLE_BYTESTREAM, + Namespace.JINGLE_IBB, + Namespace.AVATAR_METADATA + '+notify', +] + + +SHOW_LIST = [ + 'offline', + 'connecting', + 'online', + 'chat', + 'away', + 'xa', + 'dnd', + 'error' +] + + +URI_SCHEMES = { + 'aaa://', + 'aaas://', + 'acap://', + 'cap://', + 'cid:', + 'crid://', + 'data:', + 'dav:', + 'dict://', + 'dns:', + 'fax:', + 'file:/', + 'ftp://', + 'geo:', + 'go:', + 'gopher://', + 'h323:', + 'http://', + 'https://', + 'iax:', + 'icap://', + 'im:', + 'imap://', + 'info:', + 'ipp://', + 'iris:', + 'iris.beep:', + 'iris.xpc:', + 'iris.xpcs:', + 'iris.lwz:', + 'ldap://', + 'mid:', + 'modem:', + 'msrp://', + 'msrps://', + 'mtqp://', + 'mupdate://', + 'news:', + 'nfs://', + 'nntp://', + 'opaquelocktoken:', + 'pop://', + 'pres:', + 'prospero://', + 'rtsp://', + 'service:', + 'sip:', + 'sips:', + 'sms:', + 'snmp://', + 'soap.beep://', + 'soap.beeps://', + 'tag:', + 'tel:', + 'telnet://', + 'tftp://', + 'thismessage:/', + 'tip://', + 'tv:', + 'urn://', + 'vemmi://', + 'xmlrpc.beep://', + 'xmlrpc.beeps://', + 'z39.50r://', + 'z39.50s://', + 'about:', + 'apt:', + 'cvs://', + 'daap://', + 'ed2k://', + 'feed:', + 'fish://', + 'git://', + 'iax2:', + 'irc://', + 'ircs://', + 'ldaps://', + 'magnet:', + 'mms://', + 'rsync://', + 'ssh://', + 'svn://', + 'sftp://', + 'smb://', + 'webcal://', + 'aesgcm://', +} + + +THRESHOLD_OPTIONS = { + -1: _('No Sync'), + 1: _('1 Day'), + 2: _('2 Days'), + 7: _('1 Week'), + 30: _('1 Month'), + 0: _('No Threshold'), +} diff --git a/gajim/common/contacts.py b/gajim/common/contacts.py new file mode 100644 index 0000000..29b4058 --- /dev/null +++ b/gajim/common/contacts.py @@ -0,0 +1,991 @@ +# Copyright (C) 2006 Dimitur Kirov +# Travis Shirk +# Nikos Kouremenos +# Copyright (C) 2006-2014 Yann Leboulanger +# Jean-Marie Traissard +# Copyright (C) 2007 Lukas Petrovicky +# Tomasz Melcer +# Julien Pivotto +# Copyright (C) 2007-2008 Stephan Erb +# Copyright (C) 2008 Brendan Taylor +# Jonathan Schleifer +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from functools import partial + +try: + from gajim.common import app + from gajim.common.i18n import _ + from gajim.common.account import Account + from gajim import common + from gajim.common.const import Chatstate +except ImportError as e: + if __name__ != "__main__": + raise ImportError(str(e)) + + +class ContactSettings: + def __init__(self, account, jid): + self.get = partial(app.settings.get_contact_setting, account, jid) + self.set = partial(app.settings.set_contact_setting, account, jid) + + +class GroupChatSettings: + def __init__(self, account, jid): + self.get = partial(app.settings.get_group_chat_setting, account, jid) + self.set = partial(app.settings.set_group_chat_setting, account, jid) + + +class XMPPEntity: + """ + Base representation of entities in XMPP + """ + + def __init__(self, jid, account, resource): + self.jid = jid + self.resource = resource + self.account = account + +class CommonContact(XMPPEntity): + + def __init__(self, jid, account, resource, show, presence, status, name, + chatstate): + + XMPPEntity.__init__(self, jid, account, resource) + + self._show = show + self._presence = presence + self.status = status + self.name = name + + # this is contact's chatstate + self._chatstate = chatstate + + self._is_pm_contact = False + + @property + def show(self): + return self._show + + @show.setter + def show(self, value): + self._show = value + + @property + def presence(self): + return self._presence + + @presence.setter + def presence(self, value): + self._presence = value + + @property + def is_available(self): + return self._presence.is_available + + @property + def chatstate_enum(self): + return self._chatstate + + @property + def chatstate(self): + if self._chatstate is None: + return + return str(self._chatstate) + + @chatstate.setter + def chatstate(self, value): + if value is None: + self._chatstate = value + else: + self._chatstate = Chatstate[value.upper()] + + @property + def is_gc_contact(self): + return isinstance(self, GC_Contact) + + @property + def is_pm_contact(self): + return self._is_pm_contact + + @property + def is_groupchat(self): + return False + + def get_full_jid(self): + raise NotImplementedError + + def get_shown_name(self): + raise NotImplementedError + + def supports(self, requested_feature): + """ + Return True if the contact has advertised to support the feature + identified by the given namespace. False otherwise. + """ + if self.show == 'offline': + # Unfortunately, if all resources are offline, the contact + # includes the last resource that was online. Check for its + # show, so we can be sure it's existent. Otherwise, we still + # return caps for a contact that has no resources left. + return False + + disco_info = app.storage.cache.get_last_disco_info(self.get_full_jid()) + if disco_info is None: + return False + + return disco_info.supports(requested_feature) + + @property + def uses_phone(self): + disco_info = app.storage.cache.get_last_disco_info(self.get_full_jid()) + if disco_info is None: + return False + + return disco_info.has_category('phone') + + +class Contact(CommonContact): + """ + Information concerning a contact + """ + def __init__(self, jid, account, name='', groups=None, show='', status='', + sub='', ask='', resource='', priority=0, + chatstate=None, idle_time=None, avatar_sha=None, groupchat=False, + is_pm_contact=False): + if not isinstance(jid, str): + print('no str') + if groups is None: + groups = [] + + CommonContact.__init__(self, jid, account, resource, show, + None, status, name, chatstate) + + self.contact_name = '' # nick chosen by contact + self.groups = [i if i else _('General') for i in set(groups)] # filter duplicate values + self.avatar_sha = avatar_sha + self._is_groupchat = groupchat + self._is_pm_contact = is_pm_contact + + if groupchat: + self.settings = GroupChatSettings(account.name, jid) + else: + self.settings = ContactSettings(account.name, jid) + + self.sub = sub + self.ask = ask + + self.priority = priority + self.idle_time = idle_time + + self.pep = {} + + def connect_signal(self, setting, func): + app.settings.connect_signal( + setting, func, self.account.name, self.jid) + + def get_full_jid(self): + if self.resource: + return self.jid + '/' + self.resource + return self.jid + + def get_shown_name(self): + if self._is_groupchat: + return self._get_groupchat_name() + if self.name: + return self.name + if self.contact_name: + return self.contact_name + return self.jid.split('@')[0] + + def _get_groupchat_name(self): + from gajim.common.helpers import get_groupchat_name + con = app.connections[self.account.name] + return get_groupchat_name(con, self.jid) + + def get_shown_groups(self): + if self.is_observer(): + return [_('Observers')] + if self.is_groupchat: + return [_('Group chats')] + if self.is_transport(): + return [_('Transports')] + if not self.groups: + return [_('General')] + return self.groups + + def is_hidden_from_roster(self): + """ + If contact should not be visible in roster + """ + # XEP-0162: http://www.xmpp.org/extensions/xep-0162.html + if self.is_transport(): + return False + if self.sub in ('both', 'to'): + return False + if self.sub in ('none', 'from') and self.ask == 'subscribe': + return False + if self.sub in ('none', 'from') and (self.name or self.groups): + return False + if _('Not in contact list') in self.groups: + return False + return True + + def is_observer(self): + # XEP-0162: http://www.xmpp.org/extensions/xep-0162.html + is_observer = False + if self.sub == 'from' and not self.is_transport()\ + and self.is_hidden_from_roster(): + is_observer = True + return is_observer + + @property + def is_groupchat(self): + return self._is_groupchat + + @property + def is_connected(self): + try: + return app.gc_connected[self.account.name][self.jid] + except Exception: + return False + + def is_transport(self): + # if not '@' or '@' starts the jid then contact is transport + return self.jid.find('@') <= 0 + + def can_notify(self): + if not self.is_groupchat: + raise ValueError + + all_ = app.settings.get('notify_on_all_muc_messages') + room = self.settings.get('notify_on_all_messages') + return all_ or room + + +class GC_Contact(CommonContact): + """ + Information concerning each groupchat contact + """ + + def __init__(self, room_jid, account, name='', show='', presence=None, + status='', role='', affiliation='', jid='', resource='', + chatstate=None, avatar_sha=None): + + CommonContact.__init__(self, jid, account, resource, show, + presence, status, name, chatstate) + + self.room_jid = room_jid + self.role = role + self.affiliation = affiliation + self.avatar_sha = avatar_sha + + self.settings = ContactSettings(account.name, jid) + + def get_full_jid(self): + return self.room_jid + '/' + self.name + + def get_shown_name(self): + return self.name + + def get_avatar(self, *args, **kwargs): + return common.app.interface.get_avatar(self, *args, **kwargs) + + def as_contact(self): + """ + Create a Contact instance from this GC_Contact instance + """ + return Contact(jid=self.get_full_jid(), account=self.account, + name=self.name, groups=[], show=self.show, status=self.status, + sub='none', avatar_sha=self.avatar_sha, + is_pm_contact=True) + + +class LegacyContactsAPI: + """ + This is a GOD class for accessing contact and groupchat information. + The API has several flaws: + + * it mixes concerns because it deals with contacts, groupchats, + groupchat contacts and metacontacts + * some methods like get_contact() may return None. This leads to + a lot of duplication all over Gajim because it is not sure + if we receive a proper contact or just None. + + It is a long way to cleanup this API. Therefore just stick with it + and use it as before. We will try to figure out a migration path. + """ + def __init__(self): + self._metacontact_manager = MetacontactManager(self) + self._accounts = {} + + def add_account(self, account_name): + self._accounts[account_name] = Account(account_name, Contacts(), + GC_Contacts()) + self._metacontact_manager.add_account(account_name) + + def get_accounts(self, zeroconf=True): + accounts = list(self._accounts.keys()) + if not zeroconf: + if 'Local' in accounts: + accounts.remove('Local') + return accounts + + def remove_account(self, account): + del self._accounts[account] + self._metacontact_manager.remove_account(account) + + def create_contact(self, jid, account, name='', groups=None, show='', + status='', sub='', ask='', resource='', priority=0, + chatstate=None, idle_time=None, + avatar_sha=None, groupchat=False): + if groups is None: + groups = [] + # Use Account object if available + account = self._accounts.get(account, account) + return Contact(jid=jid, account=account, name=name, groups=groups, + show=show, status=status, sub=sub, ask=ask, resource=resource, + priority=priority, + chatstate=chatstate, idle_time=idle_time, avatar_sha=avatar_sha, + groupchat=groupchat) + + def create_self_contact(self, jid, account, resource, show, status, priority, + name=''): + conn = common.app.connections[account] + nick = name or common.app.nicks[account] + account = self._accounts.get(account, account) # Use Account object if available + self_contact = self.create_contact(jid=jid, account=account, + name=nick, groups=['self_contact'], show=show, status=status, + sub='both', ask='none', priority=priority, + resource=resource) + self_contact.pep = conn.pep + return self_contact + + def create_not_in_roster_contact(self, jid, account, resource='', name='', + groupchat=False): + # Use Account object if available + account = self._accounts.get(account, account) + return self.create_contact(jid=jid, account=account, resource=resource, + name=name, groups=[_('Not in contact list')], show='not in roster', + status='', sub='none', groupchat=groupchat) + + def copy_contact(self, contact): + return self.create_contact(contact.jid, contact.account, + name=contact.name, groups=contact.groups, show=contact.show, + status=contact.status, sub=contact.sub, ask=contact.ask, + resource=contact.resource, priority=contact.priority, + chatstate=contact.chatstate_enum, + idle_time=contact.idle_time, avatar_sha=contact.avatar_sha) + + def add_contact(self, account, contact): + if account not in self._accounts: + self.add_account(account) + return self._accounts[account].contacts.add_contact(contact) + + def remove_contact(self, account, contact): + if account not in self._accounts: + return + return self._accounts[account].contacts.remove_contact(contact) + + def remove_jid(self, account, jid, remove_meta=True): + self._accounts[account].contacts.remove_jid(jid) + if remove_meta: + self._metacontact_manager.remove_metacontact(account, jid) + + def get_groupchat_contact(self, account, jid): + return self._accounts[account].contacts.get_groupchat_contact(jid) + + def get_contacts(self, account, jid): + return self._accounts[account].contacts.get_contacts(jid) + + def get_contact(self, account, jid, resource=None): + return self._accounts[account].contacts.get_contact(jid, resource=resource) + + def get_contact_strict(self, account, jid, resource): + return self._accounts[account].contacts.get_contact_strict(jid, resource) + + def get_avatar(self, account, *args, **kwargs): + return self._accounts[account].contacts.get_avatar(*args, **kwargs) + + def get_avatar_sha(self, account, jid): + return self._accounts[account].contacts.get_avatar_sha(jid) + + def set_avatar(self, account, jid, sha): + self._accounts[account].contacts.set_avatar(jid, sha) + + def iter_contacts(self, account): + for contact in self._accounts[account].contacts.iter_contacts(): + yield contact + + def get_contact_from_full_jid(self, account, fjid): + return self._accounts[account].contacts.get_contact_from_full_jid(fjid) + + def get_first_contact_from_jid(self, account, jid): + return self._accounts[account].contacts.get_first_contact_from_jid(jid) + + def get_contacts_from_group(self, account, group): + return self._accounts[account].contacts.get_contacts_from_group(group) + + def get_contacts_jid_list(self, account): + return self._accounts[account].contacts.get_contacts_jid_list() + + def get_jid_list(self, account): + return self._accounts[account].contacts.get_jid_list() + + def change_contact_jid(self, old_jid, new_jid, account): + return self._accounts[account].change_contact_jid(old_jid, new_jid) + + def get_highest_prio_contact_from_contacts(self, contacts): + if not contacts: + return None + prim_contact = contacts[0] + for contact in contacts[1:]: + if int(contact.priority) > int(prim_contact.priority): + prim_contact = contact + return prim_contact + + def get_contact_with_highest_priority(self, account, jid): + contacts = self.get_contacts(account, jid) + if not contacts and '/' in jid: + # jid may be a fake jid, try it + room, nick = jid.split('/', 1) + contact = self.get_gc_contact(account, room, nick) + return contact + return self.get_highest_prio_contact_from_contacts(contacts) + + def get_nb_online_total_contacts(self, accounts=None, groups=None): + """ + Return the number of online contacts and the total number of contacts + """ + if not accounts: + accounts = self.get_accounts() + if groups is None: + groups = [] + nbr_online = 0 + nbr_total = 0 + for account in accounts: + our_jid = common.app.get_jid_from_account(account) + for jid in self.get_jid_list(account): + if jid == our_jid: + continue + if (common.app.jid_is_transport(jid) and + _('Transports') not in groups): + # do not count transports + continue + if self.has_brother(account, jid, accounts) and not \ + self.is_big_brother(account, jid, accounts): + # count metacontacts only once + continue + contact = self._accounts[account].contacts._contacts[jid][0] + if _('Not in contact list') in contact.groups: + continue + in_groups = False + if groups == []: + in_groups = True + else: + for group in groups: + if group in contact.get_shown_groups(): + in_groups = True + break + + if in_groups: + if contact.show not in ('offline', 'error'): + nbr_online += 1 + nbr_total += 1 + return nbr_online, nbr_total + + def __getattr__(self, attr_name): + # Only called if self has no attr_name + if hasattr(self._metacontact_manager, attr_name): + return getattr(self._metacontact_manager, attr_name) + raise AttributeError(attr_name) + + def create_gc_contact(self, room_jid, account, name='', show='', + presence=None, status='', role='', + affiliation='', jid='', resource='', avatar_sha=None): + account = self._accounts.get(account, account) # Use Account object if available + return GC_Contact(room_jid, account, name, show, presence, status, + role, affiliation, jid, resource, avatar_sha=avatar_sha) + + def add_gc_contact(self, account, gc_contact): + return self._accounts[account].gc_contacts.add_gc_contact(gc_contact) + + def remove_gc_contact(self, account, gc_contact): + return self._accounts[account].gc_contacts.remove_gc_contact(gc_contact) + + def remove_room(self, account, room_jid): + return self._accounts[account].gc_contacts.remove_room(room_jid) + + def get_gc_list(self, account): + return self._accounts[account].gc_contacts.get_gc_list() + + def get_nick_list(self, account, room_jid): + return self._accounts[account].gc_contacts.get_nick_list(room_jid) + + def get_gc_contact_list(self, account, room_jid): + return self._accounts[account].gc_contacts.get_gc_contact_list(room_jid) + + def get_gc_contact(self, account, room_jid, nick): + return self._accounts[account].gc_contacts.get_gc_contact(room_jid, nick) + + def is_gc_contact(self, account, jid): + return self._accounts[account].gc_contacts.is_gc_contact(jid) + + def get_nb_role_total_gc_contacts(self, account, room_jid, role): + return self._accounts[account].gc_contacts.get_nb_role_total_gc_contacts(room_jid, role) + + def set_gc_avatar(self, account, room_jid, nick, sha): + contact = self.get_gc_contact(account, room_jid, nick) + if contact is None: + return + contact.avatar_sha = sha + + def get_combined_chatstate(self, account, jid): + return self._accounts[account].contacts.get_combined_chatstate(jid) + + +class Contacts(): + """ + This is a breakout of the contact related behavior of the old + Contacts class (which is not called LegacyContactsAPI) + """ + def __init__(self): + # list of contacts {jid1: [C1, C2]}, } one Contact per resource + self._contacts = {} + + def add_contact(self, contact): + if contact.jid not in self._contacts or contact.is_groupchat: + self._contacts[contact.jid] = [contact] + return + contacts = self._contacts[contact.jid] + # We had only one that was offline, remove it + if len(contacts) == 1 and contacts[0].show == 'offline': + # Do not use self.remove_contact: it deletes + # self._contacts[account][contact.jid] + contacts.remove(contacts[0]) + # If same JID with same resource already exists, use the new one + for c in contacts: + if c.resource == contact.resource: + self.remove_contact(c) + break + contacts.append(contact) + + def remove_contact(self, contact): + if contact.jid not in self._contacts: + return + if contact in self._contacts[contact.jid]: + self._contacts[contact.jid].remove(contact) + if not self._contacts[contact.jid]: + del self._contacts[contact.jid] + + def remove_jid(self, jid): + """ + Remove all contacts for a given jid + """ + if jid in self._contacts: + del self._contacts[jid] + + def get_contacts(self, jid): + """ + Return the list of contact instances for this jid + """ + return list(self._contacts.get(jid, [])) + + def get_contact(self, jid, resource=None): + ### WARNING ### + # This function returns a *RANDOM* resource if resource = None! + # Do *NOT* use if you need to get the contact to which you + # send a message for example, as a bare JID in XMPP means + # highest available resource, which this function ignores! + """ + Return the contact instance for the given resource if it's given else the + first contact is no resource is given or None if there is not + """ + if jid in self._contacts: + if not resource: + return self._contacts[jid][0] + for c in self._contacts[jid]: + if c.resource == resource: + return c + return self._contacts[jid][0] + + def get_contact_strict(self, jid, resource): + """ + Return the contact instance for the given resource or None + """ + if jid in self._contacts: + for c in self._contacts[jid]: + if c.resource == resource: + return c + + def get_groupchat_contact(self, jid): + if jid in self._contacts: + contacts = self._contacts[jid] + if contacts[0].is_groupchat: + return contacts[0] + + def get_avatar(self, jid, size, scale, show=None): + if jid not in self._contacts: + return None + + for resource in self._contacts[jid]: + avatar = common.app.interface.get_avatar( + resource, size, scale, show) + if avatar is None: + self.set_avatar(jid, None) + return avatar + + def get_avatar_sha(self, jid): + if jid not in self._contacts: + return None + + for resource in self._contacts[jid]: + if resource.avatar_sha is not None: + return resource.avatar_sha + return None + + def set_avatar(self, jid, sha): + if jid not in self._contacts: + return + for resource in self._contacts[jid]: + resource.avatar_sha = sha + + def iter_contacts(self): + for jid in list(self._contacts.keys()): + for contact in self._contacts[jid][:]: + yield contact + + def get_jid_list(self): + return list(self._contacts.keys()) + + def get_contacts_jid_list(self): + return [jid for jid, contact in self._contacts.items() if not + contact[0].is_groupchat] + + def get_contact_from_full_jid(self, fjid): + """ + Get Contact object for specific resource of given jid + """ + barejid, resource = common.app.get_room_and_nick_from_fjid(fjid) + return self.get_contact_strict(barejid, resource) + + def get_first_contact_from_jid(self, jid): + if jid in self._contacts: + return self._contacts[jid][0] + + def get_contacts_from_group(self, group): + """ + Return all contacts in the given group + """ + group_contacts = [] + for jid in self._contacts: + contacts = self.get_contacts(jid) + if group in contacts[0].groups: + group_contacts += contacts + return group_contacts + + def change_contact_jid(self, old_jid, new_jid): + if old_jid not in self._contacts: + return + self._contacts[new_jid] = [] + for _contact in self._contacts[old_jid]: + _contact.jid = new_jid + self._contacts[new_jid].append(_contact) + del self._contacts[old_jid] + + def get_combined_chatstate(self, jid): + if jid not in self._contacts: + return + contacts = self._contacts[jid] + states = [] + for contact in contacts: + if contact.chatstate_enum is None: + continue + states.append(contact.chatstate_enum) + + return str(min(states)) if states else None + + +class GC_Contacts(): + + def __init__(self): + # list of contacts that are in gc {room_jid: {nick: C}}} + self._rooms = {} + + def add_gc_contact(self, gc_contact): + if gc_contact.room_jid not in self._rooms: + self._rooms[gc_contact.room_jid] = {gc_contact.name: gc_contact} + else: + self._rooms[gc_contact.room_jid][gc_contact.name] = gc_contact + + def remove_gc_contact(self, gc_contact): + if gc_contact.room_jid not in self._rooms: + return + if gc_contact.name not in self._rooms[gc_contact.room_jid]: + return + del self._rooms[gc_contact.room_jid][gc_contact.name] + # It was the last nick in room ? + if not self._rooms[gc_contact.room_jid]: + del self._rooms[gc_contact.room_jid] + + def remove_room(self, room_jid): + if room_jid in self._rooms: + del self._rooms[room_jid] + + def get_gc_list(self): + return self._rooms.keys() + + def get_nick_list(self, room_jid): + gc_list = self.get_gc_list() + if not room_jid in gc_list: + return [] + return list(self._rooms[room_jid].keys()) + + def get_gc_contact_list(self, room_jid): + try: + return list(self._rooms[room_jid].values()) + except Exception: + return [] + + def get_gc_contact(self, room_jid, nick): + try: + return self._rooms[room_jid][nick] + except KeyError: + return None + + def is_gc_contact(self, jid): + """ + >>> gc = GC_Contacts() + >>> gc._rooms = {'gajim@conference.gajim.org' : {'test' : True}} + >>> gc.is_gc_contact('gajim@conference.gajim.org/test') + True + >>> gc.is_gc_contact('test@jabbim.com') + False + """ + jid = jid.split('/') + if len(jid) != 2: + return False + gcc = self.get_gc_contact(jid[0], jid[1]) + return gcc is not None + + def get_nb_role_total_gc_contacts(self, room_jid, role): + """ + Return the number of group chat contacts for the given role and the total + number of group chat contacts + """ + if room_jid not in self._rooms: + return 0, 0 + nb_role = nb_total = 0 + for nick in self._rooms[room_jid]: + if self._rooms[room_jid][nick].role == role: + nb_role += 1 + nb_total += 1 + return nb_role, nb_total + + +class MetacontactManager(): + + def __init__(self, contacts): + self._metacontacts_tags = {} + self._contacts = contacts + + def add_account(self, account): + if account not in self._metacontacts_tags: + self._metacontacts_tags[account] = {} + + def remove_account(self, account): + del self._metacontacts_tags[account] + + def define_metacontacts(self, account, tags_list): + self._metacontacts_tags[account] = tags_list + + def _get_new_metacontacts_tag(self, jid): + if not jid in self._metacontacts_tags: + return jid + #FIXME: can this append ? + assert False + + def iter_metacontacts_families(self, account): + for tag in self._metacontacts_tags[account]: + family = self._get_metacontacts_family_from_tag(account, tag) + yield family + + def _get_metacontacts_tag(self, account, jid): + """ + Return the tag of a jid + """ + if not account in self._metacontacts_tags: + return None + for tag in self._metacontacts_tags[account]: + for data in self._metacontacts_tags[account][tag]: + if data['jid'] == jid: + return tag + return None + + def add_metacontact(self, brother_account, brother_jid, account, jid, order=None): + tag = self._get_metacontacts_tag(brother_account, brother_jid) + if not tag: + tag = self._get_new_metacontacts_tag(brother_jid) + self._metacontacts_tags[brother_account][tag] = [{'jid': brother_jid, + 'tag': tag}] + if brother_account != account: + con = common.app.connections[brother_account] + con.get_module('MetaContacts').store_metacontacts( + self._metacontacts_tags[brother_account]) + # be sure jid has no other tag + old_tag = self._get_metacontacts_tag(account, jid) + while old_tag: + self.remove_metacontact(account, jid) + old_tag = self._get_metacontacts_tag(account, jid) + if tag not in self._metacontacts_tags[account]: + self._metacontacts_tags[account][tag] = [{'jid': jid, 'tag': tag}] + else: + if order: + self._metacontacts_tags[account][tag].append({'jid': jid, + 'tag': tag, 'order': order}) + else: + self._metacontacts_tags[account][tag].append({'jid': jid, + 'tag': tag}) + con = common.app.connections[account] + con.get_module('MetaContacts').store_metacontacts( + self._metacontacts_tags[account]) + + def remove_metacontact(self, account, jid): + if account not in self._metacontacts_tags: + return + + found = None + for tag in self._metacontacts_tags[account]: + for data in self._metacontacts_tags[account][tag]: + if data['jid'] == jid: + found = data + break + if found: + self._metacontacts_tags[account][tag].remove(found) + con = common.app.connections[account] + con.get_module('MetaContacts').store_metacontacts( + self._metacontacts_tags[account]) + break + + def has_brother(self, account, jid, accounts): + tag = self._get_metacontacts_tag(account, jid) + if not tag: + return False + meta_jids = self._get_metacontacts_jids(tag, accounts) + return len(meta_jids) > 1 or len(meta_jids[account]) > 1 + + def is_big_brother(self, account, jid, accounts): + family = self.get_metacontacts_family(account, jid) + if family: + nearby_family = [data for data in family + if account in accounts] + bb_data = self._get_metacontacts_big_brother(nearby_family) + if bb_data['jid'] == jid and bb_data['account'] == account: + return True + return False + + def _get_metacontacts_jids(self, tag, accounts): + """ + Return all jid for the given tag in the form {acct: [jid1, jid2],.} + """ + answers = {} + for account in self._metacontacts_tags: + if tag in self._metacontacts_tags[account]: + if account not in accounts: + continue + answers[account] = [] + for data in self._metacontacts_tags[account][tag]: + answers[account].append(data['jid']) + return answers + + def get_metacontacts_family(self, account, jid): + """ + Return the family of the given jid, including jid in the form: + [{'account': acct, 'jid': jid, 'order': order}, ] 'order' is optional + """ + tag = self._get_metacontacts_tag(account, jid) + return self._get_metacontacts_family_from_tag(account, tag) + + def _get_metacontacts_family_from_tag(self, account, tag): + if not tag: + return [] + answers = [] + if tag in self._metacontacts_tags[account]: + for data in self._metacontacts_tags[account][tag]: + data['account'] = account + answers.append(data) + return answers + + def _metacontact_key(self, data): + """ + Data is {'jid': jid, 'account': account, 'order': order} order is + optional + """ + show_list = ['not in roster', 'error', 'offline', 'dnd', + 'xa', 'away', 'chat', 'online', 'requested', 'message'] + + jid = data['jid'] + account = data['account'] + # contact can be null when a jid listed in the metacontact data + # is not in our roster + contact = self._contacts.get_contact_with_highest_priority( + account, jid) + show = show_list.index(contact.show) if contact else 0 + priority = contact.priority if contact else 0 + has_order = 'order' in data + order = data.get('order', 0) + transport = common.app.get_transport_name_from_jid(jid) + server = common.app.get_server_from_jid(jid) + myserver = app.settings.get_account_setting(account, 'hostname') + return (bool(contact), show > 2, has_order, order, bool(transport), + show, priority, server == myserver, jid, account) + + def get_nearby_family_and_big_brother(self, family, account): + """ + Return the nearby family and its Big Brother + + Nearby family is the part of the family that is grouped with the + metacontact. A metacontact may be over different accounts. If accounts + are not merged then the given family is split account wise. + + (nearby_family, big_brother_jid, big_brother_account) + """ + if app.settings.get('mergeaccounts'): + # group all together + nearby_family = family + else: + # we want one nearby_family per account + nearby_family = [data for data in family if account == data['account']] + + if not nearby_family: + return (None, None, None) + big_brother_data = self._get_metacontacts_big_brother(nearby_family) + big_brother_jid = big_brother_data['jid'] + big_brother_account = big_brother_data['account'] + + return (nearby_family, big_brother_jid, big_brother_account) + + def _get_metacontacts_big_brother(self, family): + """ + Which of the family will be the big brother under which all others will be + ? + """ + return max(family, key=self._metacontact_key) + + +if __name__ == "__main__": + import doctest + doctest.testmod() diff --git a/gajim/common/dbus/__init__.py b/gajim/common/dbus/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/gajim/common/dbus/location.py b/gajim/common/dbus/location.py new file mode 100644 index 0000000..236fd9e --- /dev/null +++ b/gajim/common/dbus/location.py @@ -0,0 +1,112 @@ +# Copyright (C) 2009-2014 Yann Leboulanger +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import logging +from datetime import datetime + +from gi.repository import GLib +from nbxmpp.structs import LocationData + +from gajim.common import app + +if app.is_installed('GEOCLUE'): + from gi.repository import Geoclue # pylint: disable=ungrouped-imports,no-name-in-module + +log = logging.getLogger('gajim.c.dbus.location') + + +class LocationListener: + _instance = None + + @classmethod + def get(cls): + if cls._instance is None: + cls._instance = cls() + return cls._instance + + def __init__(self): + self._data = {} + self.location_info = {} + self.simple = None + + # Note: do not remove third parameter `param` + # because notify signal expects three parameters + def _on_location_update(self, simple, _param=None): + location = simple.get_location() + timestamp = location.get_property("timestamp")[0] + lat = location.get_property("latitude") + lon = location.get_property("longitude") + alt = location.get_property("altitude") + # in XEP-0080 it's horizontal accuracy + acc = location.get_property("accuracy") + + # update data with info we just received + self._data = {'lat': lat, 'lon': lon, 'alt': alt, 'accuracy': acc} + self._data['timestamp'] = self._timestamp_to_utc(timestamp) + self._send_location() + + def _on_simple_ready(self, _obj, result): + try: + self.simple = Geoclue.Simple.new_finish(result) + except GLib.Error as error: + log.warning("Could not enable geolocation: %s", error.message) + else: + self.simple.connect('notify::location', self._on_location_update) + self._on_location_update(self.simple) + + def get_data(self): + Geoclue.Simple.new("org.gajim.Gajim", + Geoclue.AccuracyLevel.EXACT, + None, + self._on_simple_ready) + + def start(self): + self.location_info = {} + self.get_data() + + def _send_location(self): + accounts = app.connections.keys() + for acct in accounts: + if not app.account_is_available(acct): + continue + if not app.settings.get_account_setting(acct, 'publish_location'): + continue + if self.location_info == self._data: + continue + if 'timestamp' in self.location_info and 'timestamp' in self._data: + last_data = self.location_info.copy() + del last_data['timestamp'] + new_data = self._data.copy() + del new_data['timestamp'] + if last_data == new_data: + continue + app.connections[acct].get_module('UserLocation').set_location( + LocationData(**self._data)) + self.location_info = self._data.copy() + + @staticmethod + def _timestamp_to_utc(timestamp): + time = datetime.utcfromtimestamp(timestamp) + return time.strftime('%Y-%m-%dT%H:%MZ') + + +def enable(): + if not app.is_installed('GEOCLUE'): + log.warning('GeoClue not installed') + return + + listener = LocationListener.get() + listener.start() diff --git a/gajim/common/dbus/logind.py b/gajim/common/dbus/logind.py new file mode 100644 index 0000000..d5f8c24 --- /dev/null +++ b/gajim/common/dbus/logind.py @@ -0,0 +1,142 @@ +# Copyright (C) 2014 Kamil Paral +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +''' +Watch for system sleep using systemd-logind. +Documentation: http://www.freedesktop.org/wiki/Software/systemd/inhibit +''' + +import os +import logging + +from gi.repository import Gio +from gi.repository import GLib + +from gajim.common import app +from gajim.common.i18n import _ + +log = logging.getLogger('gajim.c.dbus.logind') + + +class LogindListener: + _instance = None + + @classmethod + def get(cls): + if cls._instance is None: + cls._instance = cls() + return cls._instance + + def __init__(self): + # file descriptor object of the inhibitor + self._inhibit_fd = None + + Gio.bus_watch_name( + Gio.BusType.SYSTEM, + 'org.freedesktop.login1', + Gio.BusNameWatcherFlags.NONE, + self._on_appear_logind, + self._on_vanish_logind) + + def _on_prepare_for_sleep(self, connection, _sender_name, _object_path, + interface_name, signal_name, parameters, + *_user_data): + '''Signal handler for PrepareForSleep event''' + log.debug('Received signal %s.%s%s', + interface_name, signal_name, parameters) + + before = parameters[0] # Signal is either before or after sleep occurs + if before: + warn = self._inhibit_fd is None + log.log( + logging.WARNING if warn else logging.INFO, + 'Preparing for sleep by disconnecting from network%s', + ', without holding a sleep inhibitor' if warn else '') + + for name, conn in app.connections.items(): + if app.account_is_connected(name): + st = conn.status_message + conn.change_status('offline', + _('Machine is going to sleep')) + # TODO: Make this nicer + conn._status_message = st # pylint: disable=protected-access + conn.time_to_reconnect = 5 + + self._disinhibit_sleep() + else: + try: + self._inhibit_sleep(connection) + except GLib.Error as error: + log.warning('Inhibit failed: %s', error) + + for conn in app.connections.values(): + if conn.state.is_disconnected and conn.time_to_reconnect: + conn.reconnect() + + def _inhibit_sleep(self, connection): + '''Obtain a sleep delay inhibitor from logind''' + if self._inhibit_fd is not None: + # Something is wrong, we have an inhibitor fd, and we are asking for + # yet another one. + log.warning('Trying to obtain a sleep inhibitor ' + 'while already holding one.') + + ret, ret_fdlist = connection.call_with_unix_fd_list_sync( + 'org.freedesktop.login1', + '/org/freedesktop/login1', + 'org.freedesktop.login1.Manager', + 'Inhibit', + GLib.Variant('(ssss)', ( + 'sleep', 'org.gajim.Gajim', _('Disconnect from the network'), + 'delay' # Inhibitor will delay but not block sleep + )), + GLib.VariantType.new('(h)'), + Gio.DBusCallFlags.NONE, -1, None, None) + + log.info('Inhibit sleep') + self._inhibit_fd = ret_fdlist.get(ret.unpack()[0]) + + def _disinhibit_sleep(self): + '''Relinquish our sleep delay inhibitor''' + if self._inhibit_fd is not None: + os.close(self._inhibit_fd) + self._inhibit_fd = None + log.info('Disinhibit sleep') + + def _on_appear_logind(self, connection, name, name_owner, *_user_data): + '''Use signal and locks provided by org.freedesktop.login1''' + log.info('Name %s appeared, owned by %s', name, name_owner) + + connection.signal_subscribe( + 'org.freedesktop.login1', + 'org.freedesktop.login1.Manager', + 'PrepareForSleep', + '/org/freedesktop/login1', + None, + Gio.DBusSignalFlags.NONE, + self._on_prepare_for_sleep, + None) + self._inhibit_sleep(connection) + + def _on_vanish_logind(self, _connection, name, *_user_data): + '''Release remaining resources related to org.freedesktop.login1''' + log.info('Name %s vanished', name) + self._disinhibit_sleep() + + +def enable(): + return + # LogindListener.get() diff --git a/gajim/common/dbus/music_track.py b/gajim/common/dbus/music_track.py new file mode 100644 index 0000000..d9b2d02 --- /dev/null +++ b/gajim/common/dbus/music_track.py @@ -0,0 +1,208 @@ +# Copyright (C) 2006 Gustavo Carneiro +# Nikos Kouremenos +# Copyright (C) 2006-2014 Yann Leboulanger +# Copyright (C) 2008 Jean-Marie Traissard +# Jonathan Schleifer +# Stephan Erb +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import logging + +from gi.repository import Gio +from gi.repository import GLib +from nbxmpp.structs import TuneData + +from gajim.common import app +from gajim.common.nec import NetworkEvent + +log = logging.getLogger('gajim.c.dbus.music_track') + +MPRIS_PLAYER_PREFIX = 'org.mpris.MediaPlayer2.' + + +class MusicTrackListener: + + _instance = None + + @classmethod + def get(cls): + if cls._instance is None: + cls._instance = cls() + return cls._instance + + def __init__(self): + self.players = {} + self.connection = None + self._current_tune = None + + def _emit(self, info): + self._current_tune = info + app.nec.push_incoming_event( + NetworkEvent('music-track-changed', info=info)) + + @property + def current_tune(self): + return self._current_tune + + def start(self): + proxy = Gio.DBusProxy.new_for_bus_sync( + Gio.BusType.SESSION, + Gio.DBusProxyFlags.NONE, + None, + 'org.freedesktop.DBus', + '/org/freedesktop/DBus', + 'org.freedesktop.DBus', + None) + + self.connection = proxy.get_connection() + self.connection.signal_subscribe( + 'org.freedesktop.DBus', + 'org.freedesktop.DBus', + 'NameOwnerChanged', + '/org/freedesktop/DBus', + None, + Gio.DBusSignalFlags.NONE, + self._signal_name_owner_changed) + + try: + result = proxy.call_sync( + 'ListNames', + None, + Gio.DBusCallFlags.NONE, + -1, + None) + except GLib.Error as error: + log.debug("Could not list names: %s", error.message) + return + + for name in result[0]: + if name.startswith(MPRIS_PLAYER_PREFIX): + self._add_player(name) + + for name in list(self.players): + self._get_playing_track(name) + + def stop(self): + for name in list(self.players): + if name.startswith(MPRIS_PLAYER_PREFIX): + self._remove_player(name) + + def _signal_name_owner_changed(self, + _connection, + _sender_name, + _object_path, + _interface_name, + _signal_name, + parameters, + *_user_data): + name, old_owner, new_owner = parameters + if name.startswith(MPRIS_PLAYER_PREFIX): + if new_owner and not old_owner: + self._add_player(name) + else: + self._remove_player(name) + + def _add_player(self, name): + '''Set up a listener for music player signals''' + log.info('%s appeared', name) + + if name in self.players: + return + + self.players[name] = self.connection.signal_subscribe( + name, + 'org.freedesktop.DBus.Properties', + 'PropertiesChanged', + '/org/mpris/MediaPlayer2', + None, + Gio.DBusSignalFlags.NONE, + self._signal_received, + name) + + def _remove_player(self, name): + log.info('%s vanished', name) + if name in self.players: + self.connection.signal_unsubscribe( + self.players[name]) + self.players.pop(name) + + self._emit(None) + + def _signal_received(self, + _connection, + _sender_name, + _object_path, + interface_name, + _signal_name, + parameters, + *user_data): + '''Signal handler for PropertiesChanged event''' + + log.info('Signal received: %s - %s', interface_name, parameters) + self._get_playing_track(user_data[0]) + + @staticmethod + def _get_music_info(properties): + meta = properties.get('Metadata') + if meta is None or not meta: + return None + + status = properties.get('PlaybackStatus') + if status is None or status == 'Paused': + return None + + title = meta.get('xesam:title') + album = meta.get('xesam:album') + # xesam:artist is always a list of strings if not None + artist = meta.get('xesam:artist') + if artist is not None: + artist = ', '.join(artist) + return TuneData(artist=artist, title=title, source=album) + + def _get_playing_track(self, name): + '''Return a TuneData for the currently playing + song, or None if no song is playing''' + proxy = Gio.DBusProxy.new_for_bus_sync( + Gio.BusType.SESSION, + Gio.DBusProxyFlags.NONE, + None, + name, + '/org/mpris/MediaPlayer2', + 'org.freedesktop.DBus.Properties', + None) + + def proxy_call_finished(proxy, res): + try: + result = proxy.call_finish(res) + except GLib.Error as error: + log.debug("Could not enable music listener: %s", error.message) + return + + info = self._get_music_info(result[0]) + if info is not None: + self._emit(info) + + proxy.call("GetAll", + GLib.Variant('(s)', ('org.mpris.MediaPlayer2.Player',)), + Gio.DBusCallFlags.NONE, + -1, + None, + proxy_call_finished) + + +def enable(): + listener = MusicTrackListener.get() + listener.start() diff --git a/gajim/common/dh.py b/gajim/common/dh.py new file mode 100644 index 0000000..98998af --- /dev/null +++ b/gajim/common/dh.py @@ -0,0 +1,229 @@ +# Copyright (C) 2007-2014 Yann Leboulanger +# Copyright (C) 2008 Brendan Taylor +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +""" +This module defines a number of constants; specifically, large primes suitable +for use with the Diffie-Hellman key exchange + +These constants have been obtained from RFC2409 and RFC3526. +""" + +import string + +generators = [ + None, # one to get the right offset + 2, + 2, + None, + None, + 2, + None, + None, + None, + None, + None, + None, + None, + None, + 2, # group 14 + 2, + 2, + 2, + 2 +] + +_HEX_PRIMES = [ + None, + + # group 1 + '''FFFFFFFF FFFFFFFF C90FDAA2 2168C234 C4C6628B 80DC1CD1 + 29024E08 8A67CC74 020BBEA6 3B139B22 514A0879 8E3404DD + EF9519B3 CD3A431B 302B0A6D F25F1437 4FE1356D 6D51C245 + E485B576 625E7EC6 F44C42E9 A63A3620 FFFFFFFF FFFFFFFF''', + + # group 2 + '''FFFFFFFF FFFFFFFF C90FDAA2 2168C234 C4C6628B 80DC1CD1 + 29024E08 8A67CC74 020BBEA6 3B139B22 514A0879 8E3404DD + EF9519B3 CD3A431B 302B0A6D F25F1437 4FE1356D 6D51C245 + E485B576 625E7EC6 F44C42E9 A637ED6B 0BFF5CB6 F406B7ED + EE386BFB 5A899FA5 AE9F2411 7C4B1FE6 49286651 ECE65381 + FFFFFFFF FFFFFFFF''', + + # XXX how do I obtain these? + None, + None, + + # group 5 + '''FFFFFFFF FFFFFFFF C90FDAA2 2168C234 C4C6628B 80DC1CD1 + 29024E08 8A67CC74 020BBEA6 3B139B22 514A0879 8E3404DD + EF9519B3 CD3A431B 302B0A6D F25F1437 4FE1356D 6D51C245 + E485B576 625E7EC6 F44C42E9 A637ED6B 0BFF5CB6 F406B7ED + EE386BFB 5A899FA5 AE9F2411 7C4B1FE6 49286651 ECE45B3D + C2007CB8 A163BF05 98DA4836 1C55D39A 69163FA8 FD24CF5F + 83655D23 DCA3AD96 1C62F356 208552BB 9ED52907 7096966D + 670C354E 4ABC9804 F1746C08 CA237327 FFFFFFFF FFFFFFFF''', + + None, + None, + None, + None, + None, + None, + None, + None, + + # group 14 + '''FFFFFFFF FFFFFFFF C90FDAA2 2168C234 C4C6628B 80DC1CD1 + 29024E08 8A67CC74 020BBEA6 3B139B22 514A0879 8E3404DD + EF9519B3 CD3A431B 302B0A6D F25F1437 4FE1356D 6D51C245 + E485B576 625E7EC6 F44C42E9 A637ED6B 0BFF5CB6 F406B7ED + EE386BFB 5A899FA5 AE9F2411 7C4B1FE6 49286651 ECE45B3D + C2007CB8 A163BF05 98DA4836 1C55D39A 69163FA8 FD24CF5F + 83655D23 DCA3AD96 1C62F356 208552BB 9ED52907 7096966D + 670C354E 4ABC9804 F1746C08 CA18217C 32905E46 2E36CE3B + E39E772C 180E8603 9B2783A2 EC07A28F B5C55DF0 6F4C52C9 + DE2BCBF6 95581718 3995497C EA956AE5 15D22618 98FA0510 + 15728E5A 8AACAA68 FFFFFFFF FFFFFFFF''', + + # group 15 + '''FFFFFFFF FFFFFFFF C90FDAA2 2168C234 C4C6628B 80DC1CD1 + 29024E08 8A67CC74 020BBEA6 3B139B22 514A0879 8E3404DD + EF9519B3 CD3A431B 302B0A6D F25F1437 4FE1356D 6D51C245 + E485B576 625E7EC6 F44C42E9 A637ED6B 0BFF5CB6 F406B7ED + EE386BFB 5A899FA5 AE9F2411 7C4B1FE6 49286651 ECE45B3D + C2007CB8 A163BF05 98DA4836 1C55D39A 69163FA8 FD24CF5F + 83655D23 DCA3AD96 1C62F356 208552BB 9ED52907 7096966D + 670C354E 4ABC9804 F1746C08 CA18217C 32905E46 2E36CE3B + E39E772C 180E8603 9B2783A2 EC07A28F B5C55DF0 6F4C52C9 + DE2BCBF6 95581718 3995497C EA956AE5 15D22618 98FA0510 + 15728E5A 8AAAC42D AD33170D 04507A33 A85521AB DF1CBA64 + ECFB8504 58DBEF0A 8AEA7157 5D060C7D B3970F85 A6E1E4C7 + ABF5AE8C DB0933D7 1E8C94E0 4A25619D CEE3D226 1AD2EE6B + F12FFA06 D98A0864 D8760273 3EC86A64 521F2B18 177B200C + BBE11757 7A615D6C 770988C0 BAD946E2 08E24FA0 74E5AB31 + 43DB5BFC E0FD108E 4B82D120 A93AD2CA FFFFFFFF FFFFFFFF''', + + # group 16 + '''FFFFFFFF FFFFFFFF C90FDAA2 2168C234 C4C6628B 80DC1CD1 + 29024E08 8A67CC74 020BBEA6 3B139B22 514A0879 8E3404DD + EF9519B3 CD3A431B 302B0A6D F25F1437 4FE1356D 6D51C245 + E485B576 625E7EC6 F44C42E9 A637ED6B 0BFF5CB6 F406B7ED + EE386BFB 5A899FA5 AE9F2411 7C4B1FE6 49286651 ECE45B3D + C2007CB8 A163BF05 98DA4836 1C55D39A 69163FA8 FD24CF5F + 83655D23 DCA3AD96 1C62F356 208552BB 9ED52907 7096966D + 670C354E 4ABC9804 F1746C08 CA18217C 32905E46 2E36CE3B + E39E772C 180E8603 9B2783A2 EC07A28F B5C55DF0 6F4C52C9 + DE2BCBF6 95581718 3995497C EA956AE5 15D22618 98FA0510 + 15728E5A 8AAAC42D AD33170D 04507A33 A85521AB DF1CBA64 + ECFB8504 58DBEF0A 8AEA7157 5D060C7D B3970F85 A6E1E4C7 + ABF5AE8C DB0933D7 1E8C94E0 4A25619D CEE3D226 1AD2EE6B + F12FFA06 D98A0864 D8760273 3EC86A64 521F2B18 177B200C + BBE11757 7A615D6C 770988C0 BAD946E2 08E24FA0 74E5AB31 + 43DB5BFC E0FD108E 4B82D120 A9210801 1A723C12 A787E6D7 + 88719A10 BDBA5B26 99C32718 6AF4E23C 1A946834 B6150BDA + 2583E9CA 2AD44CE8 DBBBC2DB 04DE8EF9 2E8EFC14 1FBECAA6 + 287C5947 4E6BC05D 99B2964F A090C3A2 233BA186 515BE7ED + 1F612970 CEE2D7AF B81BDD76 2170481C D0069127 D5B05AA9 + 93B4EA98 8D8FDDC1 86FFB7DC 90A6C08F 4DF435C9 34063199 + FFFFFFFF FFFFFFFF''', + + # group 17 + '''FFFFFFFF FFFFFFFF C90FDAA2 2168C234 C4C6628B 80DC1CD1 29024E08 + 8A67CC74 020BBEA6 3B139B22 514A0879 8E3404DD EF9519B3 CD3A431B + 302B0A6D F25F1437 4FE1356D 6D51C245 E485B576 625E7EC6 F44C42E9 + A637ED6B 0BFF5CB6 F406B7ED EE386BFB 5A899FA5 AE9F2411 7C4B1FE6 + 49286651 ECE45B3D C2007CB8 A163BF05 98DA4836 1C55D39A 69163FA8 + FD24CF5F 83655D23 DCA3AD96 1C62F356 208552BB 9ED52907 7096966D + 670C354E 4ABC9804 F1746C08 CA18217C 32905E46 2E36CE3B E39E772C + 180E8603 9B2783A2 EC07A28F B5C55DF0 6F4C52C9 DE2BCBF6 95581718 + 3995497C EA956AE5 15D22618 98FA0510 15728E5A 8AAAC42D AD33170D + 04507A33 A85521AB DF1CBA64 ECFB8504 58DBEF0A 8AEA7157 5D060C7D + B3970F85 A6E1E4C7 ABF5AE8C DB0933D7 1E8C94E0 4A25619D CEE3D226 + 1AD2EE6B F12FFA06 D98A0864 D8760273 3EC86A64 521F2B18 177B200C + BBE11757 7A615D6C 770988C0 BAD946E2 08E24FA0 74E5AB31 43DB5BFC + E0FD108E 4B82D120 A9210801 1A723C12 A787E6D7 88719A10 BDBA5B26 + 99C32718 6AF4E23C 1A946834 B6150BDA 2583E9CA 2AD44CE8 DBBBC2DB + 04DE8EF9 2E8EFC14 1FBECAA6 287C5947 4E6BC05D 99B2964F A090C3A2 + 233BA186 515BE7ED 1F612970 CEE2D7AF B81BDD76 2170481C D0069127 + D5B05AA9 93B4EA98 8D8FDDC1 86FFB7DC 90A6C08F 4DF435C9 34028492 + 36C3FAB4 D27C7026 C1D4DCB2 602646DE C9751E76 3DBA37BD F8FF9406 + AD9E530E E5DB382F 413001AE B06A53ED 9027D831 179727B0 865A8918 + DA3EDBEB CF9B14ED 44CE6CBA CED4BB1B DB7F1447 E6CC254B 33205151 + 2BD7AF42 6FB8F401 378CD2BF 5983CA01 C64B92EC F032EA15 D1721D03 + F482D7CE 6E74FEF6 D55E702F 46980C82 B5A84031 900B1C9E 59E7C97F + BEC7E8F3 23A97A7E 36CC88BE 0F1D45B7 FF585AC5 4BD407B2 2B4154AA + CC8F6D7E BF48E1D8 14CC5ED2 0F8037E0 A79715EE F29BE328 06A1D58B + B7C5DA76 F550AA3D 8A1FBFF0 EB19CCB1 A313D55C DA56C9EC 2EF29632 + 387FE8D7 6E3C0468 043E8F66 3F4860EE 12BF2D5B 0B7474D6 E694F91E + 6DCC4024 FFFFFFFF FFFFFFFF''', + + # group 18 + '''FFFFFFFF FFFFFFFF C90FDAA2 2168C234 C4C6628B 80DC1CD1 + 29024E08 8A67CC74 020BBEA6 3B139B22 514A0879 8E3404DD + EF9519B3 CD3A431B 302B0A6D F25F1437 4FE1356D 6D51C245 + E485B576 625E7EC6 F44C42E9 A637ED6B 0BFF5CB6 F406B7ED + EE386BFB 5A899FA5 AE9F2411 7C4B1FE6 49286651 ECE45B3D + C2007CB8 A163BF05 98DA4836 1C55D39A 69163FA8 FD24CF5F + 83655D23 DCA3AD96 1C62F356 208552BB 9ED52907 7096966D + 670C354E 4ABC9804 F1746C08 CA18217C 32905E46 2E36CE3B + E39E772C 180E8603 9B2783A2 EC07A28F B5C55DF0 6F4C52C9 + DE2BCBF6 95581718 3995497C EA956AE5 15D22618 98FA0510 + 15728E5A 8AAAC42D AD33170D 04507A33 A85521AB DF1CBA64 + ECFB8504 58DBEF0A 8AEA7157 5D060C7D B3970F85 A6E1E4C7 + ABF5AE8C DB0933D7 1E8C94E0 4A25619D CEE3D226 1AD2EE6B + F12FFA06 D98A0864 D8760273 3EC86A64 521F2B18 177B200C + BBE11757 7A615D6C 770988C0 BAD946E2 08E24FA0 74E5AB31 + 43DB5BFC E0FD108E 4B82D120 A9210801 1A723C12 A787E6D7 + 88719A10 BDBA5B26 99C32718 6AF4E23C 1A946834 B6150BDA + 2583E9CA 2AD44CE8 DBBBC2DB 04DE8EF9 2E8EFC14 1FBECAA6 + 287C5947 4E6BC05D 99B2964F A090C3A2 233BA186 515BE7ED + 1F612970 CEE2D7AF B81BDD76 2170481C D0069127 D5B05AA9 + 93B4EA98 8D8FDDC1 86FFB7DC 90A6C08F 4DF435C9 34028492 + 36C3FAB4 D27C7026 C1D4DCB2 602646DE C9751E76 3DBA37BD + F8FF9406 AD9E530E E5DB382F 413001AE B06A53ED 9027D831 + 179727B0 865A8918 DA3EDBEB CF9B14ED 44CE6CBA CED4BB1B + DB7F1447 E6CC254B 33205151 2BD7AF42 6FB8F401 378CD2BF + 5983CA01 C64B92EC F032EA15 D1721D03 F482D7CE 6E74FEF6 + D55E702F 46980C82 B5A84031 900B1C9E 59E7C97F BEC7E8F3 + 23A97A7E 36CC88BE 0F1D45B7 FF585AC5 4BD407B2 2B4154AA + CC8F6D7E BF48E1D8 14CC5ED2 0F8037E0 A79715EE F29BE328 + 06A1D58B B7C5DA76 F550AA3D 8A1FBFF0 EB19CCB1 A313D55C + DA56C9EC 2EF29632 387FE8D7 6E3C0468 043E8F66 3F4860EE + 12BF2D5B 0B7474D6 E694F91E 6DBE1159 74A3926F 12FEE5E4 + 38777CB6 A932DF8C D8BEC4D0 73B931BA 3BC832B6 8D9DD300 + 741FA7BF 8AFC47ED 2576F693 6BA42466 3AAB639C 5AE4F568 + 3423B474 2BF1C978 238F16CB E39D652D E3FDB8BE FC848AD9 + 22222E04 A4037C07 13EB57A8 1A23F0C7 3473FC64 6CEA306B + 4BCBC886 2F8385DD FA9D4B7F A2C087E8 79683303 ED5BDD3A + 062B3CF5 B3A278A6 6D2A13F8 3F44F82D DF310EE0 74AB6A36 + 4597E899 A0255DC1 64F31CC5 0846851D F9AB4819 5DED7EA1 + B1D510BD 7EE74D73 FAF36BC3 1ECFA268 359046F4 EB879F92 + 4009438B 481C6CD7 889A002E D5EE382B C9190DA6 FC026E47 + 9558E447 5677E9AA 9E3050E2 765694DF C81F56E8 80B96E71 + 60C980DD 98EDD3DF FFFFFFFF FFFFFFFF''' +] + +_ALL_ASCII = ''.join(map(chr, range(256))) + +def hex_to_decimal(stripee): + if not stripee: + return None + + return int(stripee.translate(_ALL_ASCII).translate( + str.maketrans("", "", string.whitespace)), 16) + +primes = list(map(hex_to_decimal, _HEX_PRIMES)) diff --git a/gajim/common/events.py b/gajim/common/events.py new file mode 100644 index 0000000..800fc66 --- /dev/null +++ b/gajim/common/events.py @@ -0,0 +1,464 @@ +# Copyright (C) 2006 Jean-Marie Traissard +# Nikos Kouremenos +# Copyright (C) 2006-2014 Yann Leboulanger +# Copyright (C) 2007 Julien Pivotto +# Copyright (C) 2007-2008 Stephan Erb +# Copyright (C) 2008 Brendan Taylor +# Jonathan Schleifer +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import time + +from gajim.common import app + + +class Event: + """ + Information concerning each event + """ + + def __init__(self, time_=None, show_in_roster=False, show_in_systray=True): + """ + type_ in chat, normal, file-request, file-error, file-completed, + file-request-error, file-send-error, file-stopped, gc_msg, pm, + printed_chat, printed_gc_msg, printed_marked_gc_msg, printed_pm, + gc-invitation, subscription_request, unsubscribedm jingle-incoming + + parameters is (per type_): + chat, normal, pm: [message, subject, kind, time, encrypted, resource, + msg_log_id] + where kind in error, incoming + file-*: file_props + gc_msg: None + printed_chat: [message, subject, control, msg_log_id] + printed_*: None + messages that are already printed in chat, but not read + gc-invitation: [room_jid, reason, password, jid_from] + subscription_request: [text, nick] + unsubscribed: contact + jingle-incoming: (fulljid, sessionid, content_types) + """ + if time_: + self.time_ = time_ + else: + self.time_ = time.time() + self.show_in_roster = show_in_roster + self.show_in_systray = show_in_systray + # Set when adding the event + self.jid = None + self.account = None + +class ChatEvent(Event): + type_ = 'chat' + def __init__(self, message, subject, kind, time_, resource, + msg_log_id, correct_id=None, message_id=None, session=None, + displaymarking=None, sent_forwarded=False, show_in_roster=False, + show_in_systray=True, additional_data=None): + Event.__init__(self, time_, show_in_roster=show_in_roster, + show_in_systray=show_in_systray) + self.message = message + self.subject = subject + self.kind = kind + self.time = time_ + self.resource = resource + self.msg_log_id = msg_log_id + self.message_id = message_id + self.correct_id = correct_id + self.session = session + self.displaymarking = displaymarking + self.sent_forwarded = sent_forwarded + if additional_data is None: + from gajim.common.helpers import AdditionalDataDict + additional_data = AdditionalDataDict() + self.additional_data = additional_data + +class PmEvent(ChatEvent): + type_ = 'pm' + +class PrintedChatEvent(Event): + type_ = 'printed_chat' + def __init__(self, message, subject, control, msg_log_id, time_=None, + message_id=None, stanza_id=None, show_in_roster=False, + show_in_systray=True): + Event.__init__(self, time_, show_in_roster=show_in_roster, + show_in_systray=show_in_systray) + self.message = message + self.subject = subject + self.control = control + self.msg_log_id = msg_log_id + self.message_id = message_id + self.stanza_id = stanza_id + +class PrintedGcMsgEvent(PrintedChatEvent): + type_ = 'printed_gc_msg' + +class PrintedMarkedGcMsgEvent(PrintedChatEvent): + type_ = 'printed_marked_gc_msg' + +class PrintedPmEvent(PrintedChatEvent): + type_ = 'printed_pm' + +class SubscriptionRequestEvent(Event): + type_ = 'subscription_request' + def __init__(self, text, nick, time_=None, show_in_roster=False, + show_in_systray=True): + Event.__init__(self, time_, show_in_roster=show_in_roster, + show_in_systray=show_in_systray) + self.text = text + self.nick = nick + +class UnsubscribedEvent(Event): + type_ = 'unsubscribed' + def __init__(self, contact, time_=None, show_in_roster=False, + show_in_systray=True): + Event.__init__(self, time_, show_in_roster=show_in_roster, + show_in_systray=show_in_systray) + self.contact = contact + +class GcInvitationtEvent(Event): + type_ = 'gc-invitation' + def __init__(self, event): + Event.__init__(self, None, show_in_roster=False, show_in_systray=True) + for key, value in vars(event).items(): + setattr(self, key, value) + + def get_inviter_name(self): + if self.from_.bare_match(self.muc): + return self.from_.resource + + contact = app.contacts.get_first_contact_from_jid( + self.account, self.from_.bare) + if contact is None: + return str(self.from_) + return contact.get_shown_name() + +class FileRequestEvent(Event): + type_ = 'file-request' + def __init__(self, file_props, time_=None, show_in_roster=False, show_in_systray=True): + Event.__init__(self, time_, show_in_roster=show_in_roster, + show_in_systray=show_in_systray) + self.file_props = file_props + +class FileSendErrorEvent(FileRequestEvent): + type_ = 'file-send-error' + +class FileErrorEvent(FileRequestEvent): + type_ = 'file-error' + +class FileRequestErrorEvent(FileRequestEvent): + type_ = 'file-request-error' + +class FileCompletedEvent(FileRequestEvent): + type_ = 'file-completed' + +class FileStoppedEvent(FileRequestEvent): + type_ = 'file-stopped' + +class FileHashErrorEvent(FileRequestEvent): + type_ = 'file-hash-error' + +class JingleIncomingEvent(Event): + type_ = 'jingle-incoming' + def __init__(self, peerjid, sid, content_types, time_=None, show_in_roster=False, show_in_systray=True): + Event.__init__(self, time_, show_in_roster=show_in_roster, + show_in_systray=show_in_systray) + self.peerjid = peerjid + self.sid = sid + self.content_types = content_types + +class Events: + """ + Information concerning all events + """ + + def __init__(self): + self._events = {} # list of events {acct: {jid1: [E1, E2]}, } + self._event_added_listeners = [] + self._event_removed_listeners = [] + + def event_added_subscribe(self, listener): + """ + Add a listener when an event is added to the queue + """ + if not listener in self._event_added_listeners: + self._event_added_listeners.append(listener) + + def event_added_unsubscribe(self, listener): + """ + Remove a listener when an event is added to the queue + """ + if listener in self._event_added_listeners: + self._event_added_listeners.remove(listener) + + def event_removed_subscribe(self, listener): + """ + Add a listener when an event is removed from the queue + """ + if not listener in self._event_removed_listeners: + self._event_removed_listeners.append(listener) + + def event_removed_unsubscribe(self, listener): + """ + Remove a listener when an event is removed from the queue + """ + if listener in self._event_removed_listeners: + self._event_removed_listeners.remove(listener) + + def fire_event_added(self, event): + for listener in self._event_added_listeners: + listener(event) + + def fire_event_removed(self, event_list): + for listener in self._event_removed_listeners: + listener(event_list) + + def add_account(self, account): + self._events[account] = {} + + def get_accounts(self): + return self._events.keys() + + def remove_account(self, account): + del self._events[account] + + def add_event(self, account, jid, event): + # No such account before ? + if account not in self._events: + self._events[account] = {jid: [event]} + # no such jid before ? + elif jid not in self._events[account]: + self._events[account][jid] = [event] + else: + self._events[account][jid].append(event) + event.jid = jid + event.account = account + self.fire_event_added(event) + + def remove_events(self, account, jid, event=None, types=None): + """ + If event is not specified, remove all events from this jid, optionally + only from given type return True if no such event found + """ + if types is None: + types = [] + if account not in self._events: + return True + if jid not in self._events[account]: + return True + if event: # remove only one event + if event in self._events[account][jid]: + if len(self._events[account][jid]) == 1: + del self._events[account][jid] + else: + self._events[account][jid].remove(event) + self.fire_event_removed([event]) + return + return True + if types: + new_list = [] # list of events to keep + removed_list = [] # list of removed events + for ev in self._events[account][jid]: + if ev.type_ not in types: + new_list.append(ev) + else: + removed_list.append(ev) + if len(new_list) == len(self._events[account][jid]): + return True + if new_list: + self._events[account][jid] = new_list + else: + del self._events[account][jid] + self.fire_event_removed(removed_list) + return + # No event nor type given, remove them all + removed_list = self._events[account][jid] + del self._events[account][jid] + self.fire_event_removed(removed_list) + + def change_jid(self, account, old_jid, new_jid): + if account not in self._events: + return + if old_jid not in self._events[account]: + return + if new_jid in self._events[account]: + self._events[account][new_jid] += self._events[account][old_jid] + else: + self._events[account][new_jid] = self._events[account][old_jid] + del self._events[account][old_jid] + + def get_nb_events(self, types=None, account=None): + if types is None: + types = [] + return self._get_nb_events(types=types, account=account) + + def get_events(self, account, jid=None, types=None): + """ + Return all events from the given account of the form {jid1: [], jid2: + []}. If jid is given, returns all events from the given jid in a list: [] + optionally only from given type + """ + if types is None: + types = [] + if account not in self._events: + return [] + if not jid: + events_list = {} # list of events + for jid_ in self._events[account]: + events = [] + for ev in self._events[account][jid_]: + if not types or ev.type_ in types: + events.append(ev) + if events: + events_list[jid_] = events + return events_list + if jid not in self._events[account]: + return [] + events_list = [] # list of events + for ev in self._events[account][jid]: + if not types or ev.type_ in types: + events_list.append(ev) + return events_list + + def get_all_events(self, types=None): + accounts = self._events.keys() + events = [] + for account in accounts: + for jid in self._events[account]: + for event in self._events[account][jid]: + if types is None or event.type_ in types: + events.append(event) + return events + + def get_first_event(self, account=None, jid=None, type_=None): + """ + Return the first event of type type_ if given + """ + if not account: + return self._get_first_event_with_attribute(self._events) + events_list = self.get_events(account, jid, type_) + # be sure it's bigger than latest event + first_event_time = time.time() + 1 + first_event = None + for event in events_list: + if event.time_ < first_event_time: + first_event_time = event.time_ + first_event = event + return first_event + + def _get_nb_events(self, account=None, jid=None, attribute=None, types=None): + """ + Return the number of pending events + """ + if types is None: + types = [] + nb = 0 + if account: + accounts = [account] + else: + accounts = self._events.keys() + for acct in accounts: + if acct not in self._events: + continue + if jid: + jids = [jid] + else: + jids = self._events[acct].keys() + for j in jids: + if j not in self._events[acct]: + continue + for event in self._events[acct][j]: + if types and event.type_ not in types: + continue + if not attribute or \ + attribute == 'systray' and event.show_in_systray or \ + attribute == 'roster' and event.show_in_roster: + nb += 1 + return nb + + def _get_some_events(self, attribute): + """ + Attribute in systray, roster + """ + events = {} + for account in self._events: + events[account] = {} + for jid in self._events[account]: + events[account][jid] = [] + for event in self._events[account][jid]: + if attribute == 'systray' and event.show_in_systray or \ + attribute == 'roster' and event.show_in_roster: + events[account][jid].append(event) + if not events[account][jid]: + del events[account][jid] + if not events[account]: + del events[account] + return events + + def _get_first_event_with_attribute(self, events): + """ + Get the first event + + events is in the form {account1: {jid1: [ev1, ev2], },. } + """ + # be sure it's bigger than latest event + first_event_time = time.time() + 1 + first_account = None + first_jid = None + first_event = None + for account in events: + for jid in events[account]: + for event in events[account][jid]: + if event.time_ < first_event_time: + first_event_time = event.time_ + first_account = account + first_jid = jid + first_event = event + return first_account, first_jid, first_event + + def get_nb_systray_events(self, types=None): + """ + Return the number of events displayed in roster + """ + if types is None: + types = [] + return self._get_nb_events(attribute='systray', types=types) + + def get_systray_events(self): + """ + Return all events that must be displayed in systray: + {account1: {jid1: [ev1, ev2], },. } + """ + return self._get_some_events('systray') + + def get_first_systray_event(self): + events = self.get_systray_events() + return self._get_first_event_with_attribute(events) + + def get_nb_roster_events(self, account=None, jid=None, types=None): + """ + Return the number of events displayed in roster + """ + if types is None: + types = [] + return self._get_nb_events(attribute='roster', account=account, + jid=jid, types=types) + + def get_roster_events(self): + """ + Return all events that must be displayed in roster: + {account1: {jid1: [ev1, ev2], },. } + """ + return self._get_some_events('roster') diff --git a/gajim/common/exceptions.py b/gajim/common/exceptions.py new file mode 100644 index 0000000..5e6b06b --- /dev/null +++ b/gajim/common/exceptions.py @@ -0,0 +1,157 @@ +# Copyright (C) 2005-2006 Nikos Kouremenos +# Copyright (C) 2005-2014 Yann Leboulanger +# Copyright (C) 2006 Jean-Marie Traissard +# Copyright (C) 2007 Brendan Taylor +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from gajim.common.i18n import _ + + +class PysqliteOperationalError(Exception): + """ + Sqlite2 raised pysqlite2.dbapi2.OperationalError + """ + + def __init__(self, text=''): + Exception.__init__(self) + self.text = text + + def __str__(self): + return self.text + +class DatabaseMalformed(Exception): + """ + The database can't be read + """ + + def __init__(self, path=''): + Exception.__init__(self) + self.path = path + + def __str__(self): + return _('The database file (%s) cannot be read. ' + 'Try to repair it (see ' + 'https://dev.gajim.org/gajim/gajim/wikis/help/DatabaseBackup)' + ' or remove it (all history will be lost).') % self.path + +class ServiceNotAvailable(Exception): + """ + This exception is raised when we cannot use Gajim remotely' + """ + + def __init__(self): + Exception.__init__(self) + + def __str__(self): + return _('Service not available: Gajim is not running, or remote_control is False') + +class DbusNotSupported(Exception): + """ + D-Bus is not installed or python bindings are missing + """ + + def __init__(self): + Exception.__init__(self) + + def __str__(self): + return _('D-Bus is not present on this machine or python module is missing') + +class SessionBusNotPresent(Exception): + """ + This exception indicates that there is no session daemon + """ + + def __init__(self): + Exception.__init__(self) + + def __str__(self): + return _('Session bus is not available.\nTry reading %(url)s') % \ + {'url': 'https://dev.gajim.org/gajim/gajim/wikis/help/GajimDBus'} + +class SystemBusNotPresent(Exception): + """ + This exception indicates that there is no session daemon + """ + + def __init__(self): + Exception.__init__(self) + + def __str__(self): + return _('System bus is not available.\nTry reading %(url)s') % \ + {'url': 'https://dev.gajim.org/gajim/gajim/wikis/help/GajimDBus'} + +class NegotiationError(Exception): + """ + A session negotiation failed + """ + +class Cancelled(Exception): + """ + The user cancelled an operation + """ + +class LatexError(Exception): + """ + LaTeX processing failed for some reason + """ + + def __init__(self, text=''): + Exception.__init__(self) + self.text = text + + def __str__(self): + return self.text + +class GajimGeneralException(Exception): + """ + This exception is our general exception + """ + + def __init__(self, text=''): + Exception.__init__(self) + self.text = text + + def __str__(self): + return self.text + +class PluginsystemError(Exception): + """ + Error in the pluginsystem + """ + + def __init__(self, text=''): + Exception.__init__(self) + self.text = text + + def __str__(self): + return self.text + +class StanzaMalformed(Exception): + """ + Malfromed Stanza + """ + def __init__(self, message, stanza=''): + Exception.__init__(self, message, stanza) + self._msg = '{}\n{}'.format(message, stanza) + def __str__(self): + return self._msg + +class SendMessageError(Exception): + pass + + +class FileError(Exception): + pass diff --git a/gajim/common/file_props.py b/gajim/common/file_props.py new file mode 100644 index 0000000..9ba3498 --- /dev/null +++ b/gajim/common/file_props.py @@ -0,0 +1,173 @@ +""" +This module is in charge of taking care of all the information related to +individual files. Files are identified by the account name and its sid. + + +>>> print(FilesProp.getFileProp('jabberid', '10')) +None +>>> fp = FilesProp() +Traceback (most recent call last): + ... +Exception: this class should not be instatiated +>>> print(FilesProp.getAllFileProp()) +[] +>>> fp = FilesProp.getNewFileProp('jabberid', '10') +>>> fp2 = FilesProp.getFileProp('jabberid', '10') +>>> fp == fp2 +True +""" + +from typing import Any # pylint: disable=unused-import +from typing import ClassVar # pylint: disable=unused-import +from typing import Dict # pylint: disable=unused-import +from typing import Tuple # pylint: disable=unused-import + + +class FilesProp: + _files_props = {} # type: ClassVar[Dict[Tuple[str, str], Any]] + + def __init__(self): + raise Exception('this class should not be instantiated') + + @classmethod + def getNewFileProp(cls, account, sid): + fp = FileProp(account, sid) + cls.setFileProp(fp, account, sid) + return fp + + @classmethod + def getFileProp(cls, account, sid): + if (account, sid) in cls._files_props.keys(): + return cls._files_props[account, sid] + + @classmethod + def getFilePropByAccount(cls, account): + # Returns a list of file_props in one account + file_props = [] + for account_, sid in cls._files_props: + if account_ == account: + file_props.append(cls._files_props[account, sid]) + return file_props + + @classmethod + def getFilePropByType(cls, type_, sid): + # This method should be deleted. Getting fileprop by type and sid is not + # unique enough. More than one fileprop might have the same type and sid + files_prop = cls.getAllFileProp() + for fp in files_prop: + if fp.type_ == type_ and fp.sid == sid: + return fp + + @classmethod + def getFilePropBySid(cls, sid): + # This method should be deleted. It is kept to make things compatible + # This method should be replaced and instead get the file_props by + # account and sid + files_prop = cls.getAllFileProp() + for fp in files_prop: + if fp.sid == sid: + return fp + + @classmethod + def getFilePropByTransportSid(cls, account, sid): + files_prop = cls.getAllFileProp() + for fp in files_prop: + if fp.account == account and fp.transport_sid == sid: + return fp + + @classmethod + def getAllFileProp(cls): + return list(cls._files_props.values()) + + @classmethod + def setFileProp(cls, fp, account, sid): + cls._files_props[account, sid] = fp + + @classmethod + def deleteFileProp(cls, file_prop): + files_props = cls._files_props + a = s = None + for key in files_props: + account, sid = key + fp = files_props[account, sid] + if fp is file_prop: + a = account + s = sid + if a is not None and s is not None: + del files_props[a, s] + + +class FileProp: + + def __init__(self, account, sid): + # Do not instantiate this class directly. Call FilesProp.getNeFileProp + # instead + self.streamhosts = [] + self.transfered_size = [] + self.started = False + self.completed = False + self.paused = False + self.stalled = False + self.connected = False + self.stopped = False + self.is_a_proxy = False + self.proxyhost = None + self.proxy_sender = None + self.proxy_receiver = None + self.streamhost_used = None + # method callback called in case of transfer failure + self.failure_cb = None + # method callback called when disconnecting + self.disconnect_cb = None + self.continue_cb = None + self.sha_str = None + # transfer type: 's' for sending and 'r' for receiving + self.type_ = None + self.error = None + # Elapsed time of the file transfer + self.elapsed_time = 0 + self.last_time = None + self.received_len = None + # full file path + self.file_name = None + self.name = None + self.date = None + self.desc = None + self.offset = None + self.sender = None + self.receiver = None + self.tt_account = None + self.size = None + self._sid = sid + self.transport_sid = None + self.account = account + self.mime_type = None + self.algo = None + self.direction = None + self.syn_id = None + self.seq = None + self.hash_ = None + self.fd = None + self.startexmpp = None + # Type of the session, if it is 'jingle' or 'si' + self.session_type = None + self.request_id = None + self.proxyhosts = None + self.dstaddr = None + + def getsid(self): + # Getter of the property sid + return self._sid + + def setsid(self, value): + # The sid value will change + # we need to change the in _files_props key as well + del FilesProp._files_props[self.account, self._sid] + self._sid = value + FilesProp._files_props[self.account, self._sid] = self + + sid = property(getsid, setsid) + +if __name__ == "__main__": + import doctest + doctest.testmod() diff --git a/gajim/common/filetransfer.py b/gajim/common/filetransfer.py new file mode 100644 index 0000000..746de6c --- /dev/null +++ b/gajim/common/filetransfer.py @@ -0,0 +1,110 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from typing import Dict + +from gajim.common.helpers import Observable +from gajim.common.const import FTState + +class FileTransfer(Observable): + + _state_descriptions = {} # type: Dict[FTState, str] + + def __init__(self, account): + Observable.__init__(self) + + self._account = account + + self._seen = 0 + self.size = 0 + + self._state = None + self._error_text = '' + self._error_domain = None + + @property + def account(self): + return self._account + + @property + def state(self): + return self._state + + @property + def seen(self): + return self._seen + + @property + def is_complete(self): + if self.size == 0: + return False + return self._seen >= self.size + + @property + def filename(self): + raise NotImplementedError + + @property + def error_text(self): + return self._error_text + + @property + def error_domain(self): + return self._error_domain + + def get_state_description(self): + return self._state_descriptions.get(self._state, '') + + def set_preparing(self): + self._state = FTState.PREPARING + self.notify('state-changed', FTState.PREPARING) + + def set_encrypting(self): + self._state = FTState.ENCRYPTING + self.notify('state-changed', FTState.ENCRYPTING) + + def set_decrypting(self): + self._state = FTState.DECRYPTING + self.notify('state-changed', FTState.DECRYPTING) + + def set_started(self): + self._state = FTState.STARTED + self.notify('state-changed', FTState.STARTED) + + def set_error(self, domain, text=''): + self._error_text = text + self._error_domain = domain + self._state = FTState.ERROR + self.notify('state-changed', FTState.ERROR) + self.disconnect_signals() + + def set_cancelled(self): + self._state = FTState.CANCELLED + self.notify('state-changed', FTState.CANCELLED) + self.disconnect_signals() + + def set_in_progress(self): + self._state = FTState.IN_PROGRESS + self.notify('state-changed', FTState.IN_PROGRESS) + + def set_finished(self): + self._state = FTState.FINISHED + self.notify('state-changed', FTState.FINISHED) + self.disconnect_signals() + + def update_progress(self): + self.notify('progress') + + def cancel(self): + self.notify('cancel') diff --git a/gajim/common/ged.py b/gajim/common/ged.py new file mode 100644 index 0000000..c648396 --- /dev/null +++ b/gajim/common/ged.py @@ -0,0 +1,110 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +''' +Global Events Dispatcher module. + +:author: Mateusz Biliński +:since: 8th August 2008 +:copyright: Copyright (2008) Mateusz Biliński +:copyright: Copyright (2011) Yann Leboulanger +:license: GPL +''' + +import logging +import traceback +import inspect + +from nbxmpp import NodeProcessed + +log = logging.getLogger('gajim.c.ged') + +PRECORE = 10 +CORE = 20 +POSTCORE = 30 +PREGUI = 40 +PREGUI1 = 50 +GUI1 = 60 +POSTGUI1 = 70 +PREGUI2 = 80 +GUI2 = 90 +POSTGUI2 = 100 +POSTGUI = 110 + +OUT_PREGUI = 10 +OUT_PREGUI1 = 20 +OUT_GUI1 = 30 +OUT_POSTGUI1 = 40 +OUT_PREGUI2 = 50 +OUT_GUI2 = 60 +OUT_POSTGUI2 = 70 +OUT_POSTGUI = 80 +OUT_PRECORE = 90 +OUT_CORE = 100 +OUT_POSTCORE = 110 + +class GlobalEventsDispatcher: + + def __init__(self): + self.handlers = {} + + def register_event_handler(self, event_name, priority, handler): + if event_name in self.handlers: + handlers_list = self.handlers[event_name] + i = 0 + for i, handler_tuple in enumerate(handlers_list): + if priority < handler_tuple[0]: + break + else: + # no event with smaller prio found, put it at the end + i += 1 + + handlers_list.insert(i, (priority, handler)) + else: + self.handlers[event_name] = [(priority, handler)] + + def remove_event_handler(self, event_name, priority, handler): + if event_name in self.handlers: + try: + self.handlers[event_name].remove((priority, handler)) + except ValueError as error: + log.warning( + '''Function (%s) with priority "%s" never + registered as handler of event "%s". Couldn\'t remove. + Error: %s''', handler, priority, event_name, error) + + def raise_event(self, event_name, *args, **kwargs): + log.debug('Raise event: %s', event_name) + if event_name in self.handlers: + node_processed = False + # Iterate over a copy of the handlers list, so while iterating + # the original handlers list can be modified + for _priority, handler in list(self.handlers[event_name]): + try: + if inspect.ismethod(handler): + log.debug('Call handler %s on %s', + handler.__name__, + handler.__self__) + else: + log.debug('Call handler %s', handler.__name__) + if handler(*args, **kwargs): + return True + except NodeProcessed: + node_processed = True + except Exception: + log.error('Error while running an event handler: %s', + handler) + traceback.print_exc() + if node_processed: + raise NodeProcessed diff --git a/gajim/common/helpers.py b/gajim/common/helpers.py new file mode 100644 index 0000000..5d5a0de --- /dev/null +++ b/gajim/common/helpers.py @@ -0,0 +1,1442 @@ +# Copyright (C) 2003-2014 Yann Leboulanger +# Copyright (C) 2005-2006 Dimitur Kirov +# Nikos Kouremenos +# Copyright (C) 2006 Alex Mauer +# Copyright (C) 2006-2007 Travis Shirk +# Copyright (C) 2006-2008 Jean-Marie Traissard +# Copyright (C) 2007 Lukas Petrovicky +# James Newton +# Julien Pivotto +# Copyright (C) 2007-2008 Stephan Erb +# Copyright (C) 2008 Brendan Taylor +# Jonathan Schleifer +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from typing import Any # pylint: disable=unused-import +from typing import Dict # pylint: disable=unused-import + +import sys +import re +import os +import subprocess +import base64 +import hashlib +import shlex +import socket +import logging +import json +import copy +import collections +import platform +import functools +from collections import defaultdict +import random +import weakref +import inspect +import string +import webbrowser +from string import Template +import urllib +from urllib.parse import unquote +from encodings.punycode import punycode_encode +from functools import wraps +from pathlib import Path +from packaging.version import Version as V + +from nbxmpp.namespaces import Namespace +from nbxmpp.const import Role +from nbxmpp.const import ConnectionProtocol +from nbxmpp.const import ConnectionType +from nbxmpp.structs import ProxyData +from nbxmpp.protocol import JID +from nbxmpp.protocol import InvalidJid +from OpenSSL.crypto import load_certificate +from OpenSSL.crypto import FILETYPE_PEM +from gi.repository import Gio +from gi.repository import GLib +import precis_i18n.codec # pylint: disable=unused-import + +from gajim.common import app +from gajim.common import configpaths +from gajim.common.i18n import Q_ +from gajim.common.i18n import _ +from gajim.common.i18n import ngettext +from gajim.common.i18n import get_rfc5646_lang +from gajim.common.const import ShowConstant +from gajim.common.const import Display +from gajim.common.const import URIType +from gajim.common.const import URIAction +from gajim.common.const import GIO_TLS_ERRORS +from gajim.common.const import SHOW_LIST +from gajim.common.regex import INVALID_XML_CHARS_REGEX +from gajim.common.regex import STH_AT_STH_DOT_STH_REGEX +from gajim.common.structs import URI + + +log = logging.getLogger('gajim.c.helpers') + +special_groups = (_('Transports'), + _('Not in contact list'), + _('Observers'), + _('Group chats')) + +URL_REGEX = re.compile( + r"(www\.(?!\.)|[a-z][a-z0-9+.-]*://)[^\s<>'\"]+[^!,\.\s<>\)'\"\]]") + + +class InvalidFormat(Exception): + pass + + +def parse_jid(jidstring): + try: + return str(validate_jid(jidstring)) + except Exception as error: + raise InvalidFormat(error) + +def idn_to_ascii(host): + """ + Convert IDN (Internationalized Domain Names) to ACE (ASCII-compatible + encoding) + """ + from encodings import idna + labels = idna.dots.split(host) + converted_labels = [] + for label in labels: + if label: + converted_labels.append(idna.ToASCII(label).decode('utf-8')) + else: + converted_labels.append('') + return ".".join(converted_labels) + +def ascii_to_idn(host): + """ + Convert ACE (ASCII-compatible encoding) to IDN (Internationalized Domain + Names) + """ + from encodings import idna + labels = idna.dots.split(host) + converted_labels = [] + for label in labels: + converted_labels.append(idna.ToUnicode(label)) + return ".".join(converted_labels) + +def puny_encode_url(url): + _url = url + if '//' not in _url: + _url = '//' + _url + try: + o = urllib.parse.urlparse(_url) + p_loc = idn_to_ascii(o.hostname) + except Exception: + log.debug('urlparse failed: %s', url) + return False + return url.replace(o.hostname, p_loc) + +def parse_resource(resource): + """ + Perform stringprep on resource and return it + """ + if not resource: + return None + + try: + return resource.encode('OpaqueString').decode('utf-8') + except UnicodeError: + raise InvalidFormat('Invalid character in resource.') + +def windowsify(word): + if os.name == 'nt': + return word.capitalize() + return word + +def get_uf_show(show, use_mnemonic=False): + """ + Return a userfriendly string for dnd/xa/chat and make all strings + translatable + + If use_mnemonic is True, it adds _ so GUI should call with True for + accessibility issues + """ + if isinstance(show, ShowConstant): + show = show.name.lower() + + if show == 'dnd': + if use_mnemonic: + uf_show = _('_Busy') + else: + uf_show = _('Busy') + elif show == 'xa': + if use_mnemonic: + uf_show = _('_Not Available') + else: + uf_show = _('Not Available') + elif show == 'chat': + if use_mnemonic: + uf_show = _('_Free for Chat') + else: + uf_show = _('Free for Chat') + elif show == 'online': + if use_mnemonic: + uf_show = Q_('?user status:_Available') + else: + uf_show = Q_('?user status:Available') + elif show == 'connecting': + uf_show = _('Connecting') + elif show == 'away': + if use_mnemonic: + uf_show = _('A_way') + else: + uf_show = _('Away') + elif show == 'offline': + if use_mnemonic: + uf_show = _('_Offline') + else: + uf_show = _('Offline') + elif show == 'not in roster': + uf_show = _('Not in contact list') + elif show == 'requested': + uf_show = Q_('?contact has status:Unknown') + else: + uf_show = Q_('?contact has status:Has errors') + return uf_show + +def get_uf_sub(sub): + if sub == 'none': + uf_sub = Q_('?Subscription we already have:None') + elif sub == 'to': + uf_sub = _('To') + elif sub == 'from': + uf_sub = _('From') + elif sub == 'both': + uf_sub = _('Both') + else: + uf_sub = _('Unknown') + + return uf_sub + +def get_uf_ask(ask): + if ask is None: + uf_ask = Q_('?Ask (for Subscription):None') + elif ask == 'subscribe': + uf_ask = _('Subscribe') + else: + uf_ask = ask + + return uf_ask + +def get_uf_role(role, plural=False): + ''' plural determines if you get Moderators or Moderator''' + if not isinstance(role, str): + role = role.value + + if role == 'none': + role_name = Q_('?Group Chat Contact Role:None') + elif role == 'moderator': + if plural: + role_name = _('Moderators') + else: + role_name = _('Moderator') + elif role == 'participant': + if plural: + role_name = _('Participants') + else: + role_name = _('Participant') + elif role == 'visitor': + if plural: + role_name = _('Visitors') + else: + role_name = _('Visitor') + return role_name + +def get_uf_affiliation(affiliation, plural=False): + '''Get a nice and translated affilition for muc''' + if not isinstance(affiliation, str): + affiliation = affiliation.value + + if affiliation == 'none': + affiliation_name = Q_('?Group Chat Contact Affiliation:None') + elif affiliation == 'owner': + if plural: + affiliation_name = _('Owners') + else: + affiliation_name = _('Owner') + elif affiliation == 'admin': + if plural: + affiliation_name = _('Administrators') + else: + affiliation_name = _('Administrator') + elif affiliation == 'member': + if plural: + affiliation_name = _('Members') + else: + affiliation_name = _('Member') + return affiliation_name + +def get_sorted_keys(adict): + keys = sorted(adict.keys()) + return keys + +def to_one_line(msg): + msg = msg.replace('\\', '\\\\') + msg = msg.replace('\n', '\\n') + # s1 = 'test\ntest\\ntest' + # s11 = s1.replace('\\', '\\\\') + # s12 = s11.replace('\n', '\\n') + # s12 + # 'test\\ntest\\\\ntest' + return msg + +def from_one_line(msg): + # (? 48: + hash_ = hashlib.md5(filename.encode('utf-8')) + filename = base64.b64encode(hash_.digest()).decode('utf-8') + + # make it latin chars only + filename = punycode_encode(filename).decode('utf-8') + filename = filename.replace('/', '_') + if os.name == 'nt': + filename = filename.replace('?', '_').replace(':', '_')\ + .replace('\\', '_').replace('"', "'").replace('|', '_')\ + .replace('*', '_').replace('<', '_').replace('>', '_') + + return filename + +def reduce_chars_newlines(text, max_chars=0, max_lines=0): + """ + Cut the chars after 'max_chars' on each line and show only the first + 'max_lines' + + If any of the params is not present (None or 0) the action on it is not + performed + """ + def _cut_if_long(string_): + if len(string_) > max_chars: + string_ = string_[:max_chars - 3] + '…' + return string_ + + if max_lines == 0: + lines = text.split('\n') + else: + lines = text.split('\n', max_lines)[:max_lines] + if max_chars > 0: + if lines: + lines = [_cut_if_long(e) for e in lines] + if lines: + reduced_text = '\n'.join(lines) + if reduced_text != text: + reduced_text += '…' + else: + reduced_text = '' + return reduced_text + +def get_account_status(account): + status = reduce_chars_newlines(account['status_line'], 100, 1) + return status + +def get_contact_dict_for_account(account): + """ + Create a dict of jid, nick -> contact with all contacts of account. + + Can be used for completion lists + """ + contacts_dict = {} + for jid in app.contacts.get_jid_list(account): + contact = app.contacts.get_contact_with_highest_priority(account, jid) + contacts_dict[jid] = contact + name = contact.name + if name in contacts_dict: + contact1 = contacts_dict[name] + del contacts_dict[name] + contacts_dict['%s (%s)' % (name, contact1.jid)] = contact1 + contacts_dict['%s (%s)' % (name, jid)] = contact + elif contact.name: + if contact.name == app.get_nick_from_jid(jid): + del contacts_dict[jid] + contacts_dict[name] = contact + return contacts_dict + +def play_sound(event): + if not app.settings.get('sounds_on'): + return + play_sound_file(app.settings.get_soundevent_settings(event)['path']) + +def check_soundfile_path(file_, dirs=None): + """ + Check if the sound file exists + + :param file_: the file to check, absolute or relative to 'dirs' path + :param dirs: list of knows paths to fallback if the file doesn't exists + (eg: ~/.gajim/sounds/, DATADIR/sounds...). + :return the path to file or None if it doesn't exists. + """ + if not file_: + return None + if Path(file_).exists(): + return Path(file_) + + if dirs is None: + dirs = [configpaths.get('MY_DATA'), + configpaths.get('DATA')] + + for dir_ in dirs: + dir_ = dir_ / 'sounds' / file_ + if dir_.exists(): + return dir_ + return None + +def strip_soundfile_path(file_, dirs=None, abs_=True): + """ + Remove knowns paths from a sound file + + Filechooser returns an absolute path. + If path is a known fallback path, we remove it. + So config has no hardcoded path to DATA_DIR and text in textfield is + shorther. + param: file_: the filename to strip + param: dirs: list of knowns paths from which the filename should be stripped + param: abs_: force absolute path on dirs + """ + + if not file_: + return None + + if dirs is None: + dirs = [configpaths.get('MY_DATA'), + configpaths.get('DATA')] + + file_ = Path(file_) + name = file_.name + for dir_ in dirs: + dir_ = dir_ / 'sounds' / name + if abs_: + dir_ = dir_.absolute() + if file_ == dir_: + return name + return file_ + +def play_sound_file(path_to_soundfile): + path_to_soundfile = check_soundfile_path(path_to_soundfile) + if path_to_soundfile is None: + return + + path_to_soundfile = str(path_to_soundfile) + if sys.platform == 'win32': + import winsound + try: + winsound.PlaySound(path_to_soundfile, + winsound.SND_FILENAME|winsound.SND_ASYNC) + except Exception: + log.exception('Sound Playback Error') + + elif sys.platform == 'darwin': + try: + from AppKit import NSSound + except ImportError: + log.exception('Sound Playback Error') + return + + sound = NSSound.alloc() + sound.initWithContentsOfFile_byReference_(path_to_soundfile, True) + sound.play() + + elif app.is_installed('GSOUND'): + try: + app.gsound_ctx.play_simple({'media.filename' : path_to_soundfile}) + except GLib.Error as error: + log.error('Could not play sound: %s', error.message) + +def get_connection_status(account): + con = app.connections[account] + if con.state.is_reconnect_scheduled: + return 'error' + + if con.state.is_connecting or con.state.is_connected: + return 'connecting' + + if con.state.is_disconnected: + return 'offline' + return con.status + +def get_global_show(): + maxi = 0 + for account in app.connections: + if not app.settings.get_account_setting(account, + 'sync_with_global_status'): + continue + status = get_connection_status(account) + index = SHOW_LIST.index(status) + if index > maxi: + maxi = index + return SHOW_LIST[maxi] + +def get_global_status_message(): + maxi = 0 + for account in app.connections: + if not app.settings.get_account_setting(account, + 'sync_with_global_status'): + continue + status = app.connections[account].status + index = SHOW_LIST.index(status) + if index > maxi: + maxi = index + status_message = app.connections[account].status_message + return status_message + +def statuses_unified(): + """ + Test if all statuses are the same + """ + reference = None + for account in app.connections: + if not app.settings.get_account_setting(account, + 'sync_with_global_status'): + continue + if reference is None: + reference = app.connections[account].status + elif reference != app.connections[account].status: + return False + return True + +def get_icon_name_to_show(contact, account=None): + """ + Get the icon name to show in online, away, requested, etc + """ + if account and app.events.get_nb_roster_events(account, contact.jid): + return 'event' + if account and app.events.get_nb_roster_events(account, + contact.get_full_jid()): + return 'event' + if account and account in app.interface.minimized_controls and \ + contact.jid in app.interface.minimized_controls[account] and app.interface.\ + minimized_controls[account][contact.jid].get_nb_unread_pm() > 0: + return 'event' + if account and contact.jid in app.gc_connected[account]: + if app.gc_connected[account][contact.jid]: + return 'muc-active' + return 'muc-inactive' + if contact.jid.find('@') <= 0: # if not '@' or '@' starts the jid ==> agent + return contact.show + if contact.sub in ('both', 'to'): + return contact.show + if contact.ask == 'subscribe': + return 'requested' + transport = app.get_transport_name_from_jid(contact.jid) + if transport: + return contact.show + if contact.show in SHOW_LIST: + return contact.show + return 'notinroster' + +def get_full_jid_from_iq(iq_obj): + """ + Return the full jid (with resource) from an iq + """ + jid = iq_obj.getFrom() + if jid is None: + return None + return parse_jid(str(iq_obj.getFrom())) + +def get_jid_from_iq(iq_obj): + """ + Return the jid (without resource) from an iq + """ + jid = get_full_jid_from_iq(iq_obj) + return app.get_jid_without_resource(jid) + +def get_auth_sha(sid, initiator, target): + """ + Return sha of sid + initiator + target used for proxy auth + """ + return hashlib.sha1(("%s%s%s" % (sid, initiator, target)).encode('utf-8')).\ + hexdigest() + +def remove_invalid_xml_chars(string_): + if string_: + string_ = re.sub(INVALID_XML_CHARS_REGEX, '', string_) + return string_ + +def get_random_string(count=16): + """ + Create random string of count length + + WARNING: Don't use this for security purposes + """ + allowed = string.ascii_uppercase + string.digits + return ''.join(random.choice(allowed) for char in range(count)) + +@functools.lru_cache(maxsize=1) +def get_os_info(): + info = 'N/A' + if sys.platform in ('win32', 'darwin'): + info = f'{platform.system()} {platform.release()}' + + elif sys.platform == 'linux': + try: + import distro + info = distro.name(pretty=True) + except ImportError: + info = platform.system() + return info + +def allow_showing_notification(account): + if not app.settings.get('show_notifications'): + return False + if app.settings.get('autopopupaway'): + return True + if app.account_is_available(account): + return True + return False + +def allow_popup_window(account): + """ + Is it allowed to popup windows? + """ + autopopup = app.settings.get('autopopup') + autopopupaway = app.settings.get('autopopupaway') + if autopopup and (autopopupaway or \ + app.connections[account].status in ('online', 'chat')): + return True + return False + +def allow_sound_notification(account, sound_event): + if (app.settings.get('sounddnd') or + app.connections[account].status != 'dnd' and + app.settings.get_soundevent_settings(sound_event)['enabled']): + return True + return False + +def get_notification_icon_tooltip_dict(): + """ + Return a dict of the form {acct: {'show': show, 'message': message, + 'event_lines': [list of text lines to show in tooltip]} + """ + # How many events before we show summarized, not per-user + max_ungrouped_events = 10 + + accounts = get_accounts_info() + + # Gather events. (With accounts, when there are more.) + for account in accounts: + account_name = account['name'] + account['event_lines'] = [] + # Gather events per-account + pending_events = app.events.get_events(account=account_name) + messages, non_messages = {}, {} + total_messages, total_non_messages = 0, 0 + for jid in pending_events: + for event in pending_events[jid]: + if event.type_.count('file') > 0: + # This is a non-messagee event. + messages[jid] = non_messages.get(jid, 0) + 1 + total_non_messages = total_non_messages + 1 + else: + # This is a message. + messages[jid] = messages.get(jid, 0) + 1 + total_messages = total_messages + 1 + # Display unread messages numbers, if any + if total_messages > 0: + if total_messages > max_ungrouped_events: + text = ngettext('%d message pending', + '%d messages pending', + total_messages, + total_messages, + total_messages) + account['event_lines'].append(text) + else: + for jid in messages: + text = ngettext('%d message pending', + '%d messages pending', + messages[jid], + messages[jid], + messages[jid]) + contact = app.contacts.get_first_contact_from_jid( + account['name'], jid) + text += ' ' + if jid in app.gc_connected[account['name']]: + text += _('from group chat %s') % (jid) + elif contact: + name = contact.get_shown_name() + text += _('from user %s') % (name) + else: + text += _('from %s') % (jid) + account['event_lines'].append(text) + + # Display unseen events numbers, if any + if total_non_messages > 0: + if total_non_messages > max_ungrouped_events: + text = ngettext('%d event pending', + '%d events pending', + total_non_messages, + total_non_messages, + total_non_messages) + account['event_lines'].append(text) + else: + for jid in non_messages: + text = ngettext('%d event pending', + '%d events pending', + non_messages[jid], + non_messages[jid], + non_messages[jid]) + text += ' ' + _('from user %s') % (jid) + account[account]['event_lines'].append(text) + + return accounts + +def get_accounts_info(): + """ + Helper for notification icon tooltip + """ + accounts = [] + accounts_list = sorted(app.contacts.get_accounts()) + for account in accounts_list: + + status = get_connection_status(account) + message = app.connections[account].status_message + single_line = get_uf_show(status) + if message is None: + message = '' + else: + message = message.strip() + if message != '': + single_line += ': ' + message + account_label = app.get_account_label(account) + accounts.append({'name': account, + 'account_label': account_label, + 'status_line': single_line, + 'show': status, + 'message': message}) + return accounts + +def get_current_show(account): + if account not in app.connections: + return 'offline' + return app.connections[account].status + +def get_optional_features(account): + features = [] + + if app.settings.get_account_setting(account, 'request_user_data'): + features.append(Namespace.MOOD + '+notify') + features.append(Namespace.ACTIVITY + '+notify') + features.append(Namespace.TUNE + '+notify') + features.append(Namespace.LOCATION + '+notify') + + features.append(Namespace.NICK + '+notify') + + if app.connections[account].get_module('Bookmarks').nativ_bookmarks_used: + features.append(Namespace.BOOKMARKS_1 + '+notify') + elif app.connections[account].get_module('Bookmarks').pep_bookmarks_used: + features.append(Namespace.BOOKMARKS + '+notify') + if app.is_installed('AV'): + features.append(Namespace.JINGLE_RTP) + features.append(Namespace.JINGLE_RTP_AUDIO) + features.append(Namespace.JINGLE_RTP_VIDEO) + features.append(Namespace.JINGLE_ICE_UDP) + + # Give plugins the possibility to add their features + app.plugin_manager.extension_point('update_caps', account, features) + return features + +def jid_is_blocked(account, jid): + con = app.connections[account] + return jid in con.get_module('Blocking').blocked + +def get_subscription_request_msg(account=None): + s = app.settings.get_account_setting(account, 'subscription_request_msg') + if s: + return s + s = _('I would like to add you to my contact list.') + if account: + s = _('Hello, I am $name.') + ' ' + s + s = Template(s).safe_substitute({'name': app.nicks[account]}) + return s + +def get_user_proxy(account): + proxy_name = app.settings.get_account_setting(account, 'proxy') + if not proxy_name: + return None + return get_proxy(proxy_name) + +def get_proxy(proxy_name): + try: + settings = app.settings.get_proxy_settings(proxy_name) + except ValueError: + return None + + username, password = None, None + if settings['useauth']: + username, password = settings['user'], settings['pass'] + + return ProxyData(type=settings['type'], + host='%s:%s' % (settings['host'], settings['port']), + username=username, + password=password) + +def version_condition(current_version, required_version): + if V(current_version) < V(required_version): + return False + return True + +def get_available_emoticon_themes(): + files = [] + for folder in configpaths.get('EMOTICONS').iterdir(): + if not folder.is_dir(): + continue + files += [theme for theme in folder.iterdir() if theme.is_file()] + + my_emots = configpaths.get('MY_EMOTS') + if my_emots.is_dir(): + files += list(my_emots.iterdir()) + + emoticons_themes = ['font'] + emoticons_themes += [file.stem for file in files if file.suffix == '.png'] + return sorted(emoticons_themes) + +def call_counter(func): + def helper(self, restart=False): + if restart: + self._connect_machine_calls = 0 + self._connect_machine_calls += 1 + return func(self) + return helper + +def load_json(path, key=None, default=None): + try: + with path.open('r') as file: + json_dict = json.loads(file.read()) + except Exception: + log.exception('Parsing error') + return default + + if key is None: + return json_dict + return json_dict.get(key, default) + +def ignore_contact(account, jid): + jid = str(jid) + known_contact = app.contacts.get_contacts(account, jid) + ignore = app.settings.get_account_setting(account, + 'ignore_unknown_contacts') + if ignore and not known_contact: + log.info('Ignore unknown contact %s', jid) + return True + return False + +class AdditionalDataDict(collections.UserDict): + def __init__(self, initialdata=None): + collections.UserDict.__init__(self, initialdata) + + @staticmethod + def _get_path_childs(full_path): + path_childs = [full_path] + if ':' in full_path: + path_childs = full_path.split(':') + return path_childs + + def set_value(self, full_path, key, value): + path_childs = self._get_path_childs(full_path) + _dict = self.data + for path in path_childs: + try: + _dict = _dict[path] + except KeyError: + _dict[path] = {} + _dict = _dict[path] + _dict[key] = value + + def get_value(self, full_path, key, default=None): + path_childs = self._get_path_childs(full_path) + _dict = self.data + for path in path_childs: + try: + _dict = _dict[path] + except KeyError: + return default + try: + return _dict[key] + except KeyError: + return default + + def remove_value(self, full_path, key): + path_childs = self._get_path_childs(full_path) + _dict = self.data + for path in path_childs: + try: + _dict = _dict[path] + except KeyError: + return + try: + del _dict[key] + except KeyError: + return + + def copy(self): + return copy.deepcopy(self) + + +def save_roster_position(window): + if not app.settings.get('save-roster-position'): + return + if app.is_display(Display.WAYLAND): + return + x_pos, y_pos = window.get_position() + log.debug('Save roster position: %s %s', x_pos, y_pos) + app.settings.set('roster_x-position', x_pos) + app.settings.set('roster_y-position', y_pos) + + +class Singleton(type): + _instances = {} # type: Dict[Any, Any] + def __call__(cls, *args, **kwargs): + if cls not in cls._instances: + cls._instances[cls] = super(Singleton, cls).__call__( + *args, **kwargs) + return cls._instances[cls] + + +def delay_execution(milliseconds): + # Delay the first call for `milliseconds` + # ignore all other calls while the delay is active + def delay_execution_decorator(func): + @wraps(func) + def func_wrapper(*args, **kwargs): + def timeout_wrapper(): + func(*args, **kwargs) + delattr(func_wrapper, 'source_id') + + if hasattr(func_wrapper, 'source_id'): + return + func_wrapper.source_id = GLib.timeout_add( + milliseconds, timeout_wrapper) + return func_wrapper + return delay_execution_decorator + + +def event_filter(filter_): + def event_filter_decorator(func): + @wraps(func) + def func_wrapper(self, event, *args, **kwargs): + for attr in filter_: + if '=' in attr: + attr1, attr2 = attr.split('=') + else: + attr1, attr2 = attr, attr + try: + if getattr(event, attr1) != getattr(self, attr2): + return None + except AttributeError: + if getattr(event, attr1) != getattr(self, '_%s' % attr2): + return None + + return func(self, event, *args, **kwargs) + return func_wrapper + return event_filter_decorator + + +def catch_exceptions(func): + @wraps(func) + def func_wrapper(self, *args, **kwargs): + try: + result = func(self, *args, **kwargs) + except Exception as error: + log.exception(error) + return None + return result + return func_wrapper + + +def parse_uri_actions(uri): + uri = uri[5:] + if '?' not in uri: + return 'message', {'jid': uri} + + jid, action = uri.split('?', 1) + data = {'jid': jid} + if ';' in action: + action, keys = action.split(';', 1) + action_keys = keys.split(';') + for key in action_keys: + if key.startswith('subject='): + data['subject'] = unquote(key[8:]) + + elif key.startswith('body='): + data['body'] = unquote(key[5:]) + + elif key.startswith('thread='): + data['thread'] = key[7:] + return action, data + + +def parse_uri(uri): + if uri.startswith('xmpp:'): + action, data = parse_uri_actions(uri) + try: + validate_jid(data['jid']) + return URI(type=URIType.XMPP, + action=URIAction(action), + data=data) + except ValueError: + # Unknown action + return URI(type=URIType.UNKNOWN) + + if uri.startswith('mailto:'): + uri = uri[7:] + return URI(type=URIType.MAIL, data=uri) + + if uri.startswith('tel:'): + uri = uri[4:] + return URI(type=URIType.TEL, data=uri) + + if STH_AT_STH_DOT_STH_REGEX.match(uri): + return URI(type=URIType.AT, data=uri) + + if uri.startswith('geo:'): + location = uri[4:] + lat, _, lon = location.partition(',') + if not lon: + return URI(type=URIType.UNKNOWN, data=uri) + + if Gio.AppInfo.get_default_for_uri_scheme('geo'): + return URI(type=URIType.GEO, data=uri) + + uri = geo_provider_from_location(lat, lon) + return URI(type=URIType.GEO, data=uri) + + if uri.startswith('file://'): + return URI(type=URIType.FILE, data=uri) + + return URI(type=URIType.WEB, data=uri) + + +@catch_exceptions +def open_uri(uri, account=None): + if not isinstance(uri, URI): + uri = parse_uri(uri) + + if uri.type == URIType.FILE: + open_file(uri.data) + + elif uri.type == URIType.TEL: + if sys.platform == 'win32': + webbrowser.open(f'tel:{uri.data}') + else: + Gio.AppInfo.launch_default_for_uri(f'tel:{uri.data}') + + elif uri.type == URIType.MAIL: + if sys.platform == 'win32': + webbrowser.open(f'mailto:{uri.data}') + else: + Gio.AppInfo.launch_default_for_uri(f'mailto:{uri.data}') + + elif uri.type in (URIType.WEB, URIType.GEO): + if sys.platform == 'win32': + webbrowser.open(uri.data) + else: + Gio.AppInfo.launch_default_for_uri(uri.data) + + elif uri.type == URIType.AT: + app.interface.new_chat_from_jid(account, uri.data) + + elif uri.type == URIType.XMPP: + if account is None: + log.warning('Account must be specified to open XMPP uri') + return + + if uri.action == URIAction.JOIN: + app.app.activate_action( + 'groupchat-join', + GLib.Variant('as', [account, uri.data['jid']])) + elif uri.action == URIAction.MESSAGE: + app.interface.new_chat_from_jid(account, uri.data['jid'], + message=uri.data.get('body')) + else: + log.warning('Cant open URI: %s', uri) + + else: + log.warning('Cant open URI: %s', uri) + + +@catch_exceptions +def open_file(path): + if os.name == 'nt': + os.startfile(path) + else: + # Call str() to make it work with pathlib.Path + path = str(path) + if not path.startswith('file://'): + path = 'file://' + path + Gio.AppInfo.launch_default_for_uri(path) + + +def geo_provider_from_location(lat, lon): + return ('https://www.openstreetmap.org/?' + 'mlat=%s&mlon=%s&zoom=16') % (lat, lon) + + +def get_resource(account): + resource = app.settings.get_account_setting(account, 'resource') + if not resource: + return None + + resource = Template(resource).safe_substitute( + {'hostname': socket.gethostname(), + 'rand': get_random_string()}) + app.settings.set_account_setting(account, 'resource', resource) + return resource + + +def get_default_muc_config(): + return { + # XEP-0045 options + 'muc#roomconfig_allowinvites': True, + 'muc#roomconfig_publicroom': False, + 'muc#roomconfig_membersonly': True, + 'muc#roomconfig_persistentroom': True, + 'muc#roomconfig_whois': 'anyone', + 'muc#roomconfig_moderatedroom': False, + + # Ejabberd options + 'allow_voice_requests': False, + 'public_list': False, + + # Prosody options + '{http://prosody.im/protocol/muc}roomconfig_allowmemberinvites': True, + 'muc#roomconfig_enablearchiving': True, + } + + +def validate_jid(jid, type_=None): + try: + jid = JID.from_string(str(jid)) + except InvalidJid as error: + raise ValueError(error) + + if type_ is None: + return jid + if type_ == 'bare' and jid.is_bare: + return jid + if type_ == 'full' and jid.is_full: + return jid + if type_ == 'domain' and jid.is_domain: + return jid + + raise ValueError('Not a %s JID' % type_) + + +def to_user_string(error): + text = error.get_text(get_rfc5646_lang()) + if text: + return text + + condition = error.condition + if error.app_condition is not None: + return '%s (%s)' % (condition, error.app_condition) + return condition + + +def get_groupchat_name(con, jid): + name = con.get_module('Bookmarks').get_name_from_bookmark(jid) + if name: + return name + + disco_info = app.storage.cache.get_last_disco_info(jid) + if disco_info is not None: + if disco_info.muc_name: + return disco_info.muc_name + + return jid.split('@')[0] + + +def is_affiliation_change_allowed(self_contact, contact, target_aff): + if contact.affiliation.value == target_aff: + # Contact has already the target affiliation + return False + + if self_contact.affiliation.is_owner: + return True + + if not self_contact.affiliation.is_admin: + return False + + if target_aff in ('admin', 'owner'): + # Admin can’t edit admin/owner list + return False + return self_contact.affiliation > contact.affiliation + + +def is_role_change_allowed(self_contact, contact): + if self_contact.role < Role.MODERATOR: + return False + return self_contact.affiliation >= contact.affiliation + + +def get_tls_error_phrase(tls_error): + phrase = GIO_TLS_ERRORS.get(tls_error) + if phrase is None: + return GIO_TLS_ERRORS.get(Gio.TlsCertificateFlags.GENERIC_ERROR) + return phrase + + +class Observable: + def __init__(self, log_=None): + self._log = log_ + self._callbacks = defaultdict(list) + + def disconnect_signals(self): + self._callbacks = defaultdict(list) + + def disconnect(self, object_): + for signal_name, handlers in self._callbacks.items(): + for handler in list(handlers): + func = handler() + if func is None or func.__self__ == object_: + self._callbacks[signal_name].remove(handler) + + def connect(self, signal_name, func): + if inspect.ismethod(func): + weak_func = weakref.WeakMethod(func) + elif inspect.isfunction(func): + weak_func = weakref.ref(func) + + self._callbacks[signal_name].append(weak_func) + + def notify(self, signal_name, *args, **kwargs): + if self._log is not None: + self._log.info('Signal: %s', signal_name) + + callbacks = self._callbacks.get(signal_name, []) + for func in list(callbacks): + if func() is None: + self._callbacks[signal_name].remove(func) + continue + func()(self, signal_name, *args, **kwargs) + + +def write_file_async(path, data, callback, user_data=None): + file = Gio.File.new_for_path(str(path)) + file.create_async(Gio.FileCreateFlags.PRIVATE, + GLib.PRIORITY_DEFAULT, + None, + _on_file_created, + (callback, data, user_data)) + +def _on_file_created(file, result, user_data): + callback, data, user_data = user_data + try: + outputstream = file.create_finish(result) + except GLib.Error as error: + callback(False, error, user_data) + return + + # Pass data as user_data to the callback, because + # write_all_async() takes not reference to the data + # and python gc collects it before the data are written + outputstream.write_all_async(data, + GLib.PRIORITY_DEFAULT, + None, + _on_write_finished, + (callback, data, user_data)) + +def _on_write_finished(outputstream, result, user_data): + callback, _data, user_data = user_data + try: + successful, _bytes_written = outputstream.write_all_finish(result) + except GLib.Error as error: + callback(False, error, user_data) + else: + callback(successful, None, user_data) + + +def load_file_async(path, callback, user_data=None): + file = Gio.File.new_for_path(str(path)) + file.load_contents_async(None, + _on_load_finished, + (callback, user_data)) + + +def _on_load_finished(file, result, user_data): + callback, user_data = user_data + try: + _successful, contents, _etag = file.load_contents_finish(result) + except GLib.Error as error: + callback(None, error, user_data) + else: + callback(contents, None, user_data) + + +def convert_gio_to_openssl_cert(cert): + cert = load_certificate(FILETYPE_PEM, cert.props.certificate_pem.encode()) + return cert + + +def get_custom_host(account): + if not app.settings.get_account_setting(account, 'use_custom_host'): + return None + host = app.settings.get_account_setting(account, 'custom_host') + port = app.settings.get_account_setting(account, 'custom_port') + type_ = app.settings.get_account_setting(account, 'custom_type') + + if host.startswith('ws://') or host.startswith('wss://'): + protocol = ConnectionProtocol.WEBSOCKET + else: + host = f'{host}:{port}' + protocol = ConnectionProtocol.TCP + + return (host, protocol, ConnectionType(type_)) + + +def warn_about_plain_connection(account, connection_types): + warn = app.settings.get_account_setting( + account, 'confirm_unencrypted_connection') + for type_ in connection_types: + if type_.is_plain and warn: + return True + return False + + +def get_idle_status_message(state, status_message): + message = app.settings.get(f'auto{state}_message') + if not message: + message = status_message + else: + message = message.replace('$S', '%(status)s') + message = message.replace('$T', '%(time)s') + message = message % { + 'status': status_message, + 'time': app.settings.get(f'auto{state}time') + } + return message + + +def should_log(account, jid): + """ + Should conversations between a local account and a remote jid be logged? + """ + no_log_for = app.settings.get_account_setting(account, 'no_log_for') + + if not no_log_for: + no_log_for = '' + + no_log_for = no_log_for.split() + + return (account not in no_log_for) and (jid not in no_log_for) + + +def ask_for_status_message(status, signin=False): + if status is None: + # We try to change the message + return True + + if signin: + return app.settings.get('ask_online_status') + + if status == 'offline': + return app.settings.get('ask_offline_status') + + return app.settings.get('always_ask_for_status_message') + + +def get_group_chat_nick(account, room_jid): + nick = app.nicks[account] + + client = app.get_client(account) + + bookmark = client.get_module('Bookmarks').get_bookmark(room_jid) + if bookmark is not None: + if bookmark.nick is not None: + nick = bookmark.nick + + return nick + + +def get_muc_context(jid): + disco_info = app.storage.cache.get_last_disco_info(jid) + if disco_info is None: + return None + + if (disco_info.muc_is_members_only and disco_info.muc_is_nonanonymous): + return 'private' + return 'public' diff --git a/gajim/common/i18n.py b/gajim/common/i18n.py new file mode 100644 index 0000000..2739847 --- /dev/null +++ b/gajim/common/i18n.py @@ -0,0 +1,194 @@ +# Copyright (C) 2003-2014 Yann Leboulanger +# Copyright (C) 2004 Vincent Hanquez +# Copyright (C) 2005-2006 Nikos Kouremenos +# Copyright (C) 2009 Benjamin Richter
+# Copyright (C) 2018 Philipp Hörist +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import os +import sys +import locale +import gettext +import unicodedata +from pathlib import Path +from gi.repository import GLib + +DOMAIN = 'gajim' +LANG = 'en' +direction_mark = '\u200E' +_translation = gettext.NullTranslations() + + +def get_locale_dirs(): + if os.name == 'nt': + return + + path = gettext.find(DOMAIN) + if path is not None: + # gettext can find the location itself + # so we don’t need the localedir + return + + if Path('/app/share/run-as-flatpak').exists(): + # Check if we run as flatpak + return [Path('/app/share/')] + + data_dirs = [GLib.get_user_data_dir()] + GLib.get_system_data_dirs() + return [Path(dir_) for dir_ in data_dirs] + + +def iter_locale_dirs(): + locale_dirs = get_locale_dirs() + if locale_dirs is None: + yield None + return + + # gettext fallback + locale_dirs.append(Path(sys.base_prefix) / 'share') + + found_paths = [] + for path in locale_dirs: + locale_dir = path / 'locale' + if locale_dir in found_paths: + continue + found_paths.append(locale_dir) + if locale_dir.is_dir(): + yield str(locale_dir) + + +def get_default_lang(): + if os.name == "nt": + import ctypes + windll = ctypes.windll.kernel32 + return locale.windows_locale[windll.GetUserDefaultUILanguage()] + + if sys.platform == "darwin": + from AppKit import NSLocale + # FIXME: This returns a two letter language code (en, de, fr) + # We need a way to get en_US, de_DE etc. + return NSLocale.currentLocale().languageCode() + + return locale.getdefaultlocale()[0] or 'en' + + +def get_rfc5646_lang(lang=None): + if lang is None: + lang = LANG + return lang.replace('_', '-') + + +def get_short_lang_code(lang=None): + if lang is None: + lang = LANG + return lang[:2] + + +def initialize_direction_mark(): + from gi.repository import Gtk + + global direction_mark + + if Gtk.Widget.get_default_direction() == Gtk.TextDirection.RTL: + direction_mark = '\u200F' + + +def paragraph_direction_mark(text): + """ + Determine paragraph writing direction according to + http://www.unicode.org/reports/tr9/#The_Paragraph_Level + + Returns either Unicode LTR mark or RTL mark. + """ + for char in text: + bidi = unicodedata.bidirectional(char) + if bidi == 'L': + return '\u200E' + if bidi in ('AL', 'R'): + return '\u200F' + + return '\u200E' + + +def Q_(text): + """ + Translate the given text, optionally qualified with a special + construction, which will help translators to disambiguate between + same terms, but in different contexts. + + When translated text is returned - this rudimentary construction + will be stripped off, if it's present. + + Here is the construction to use: + Q_("?vcard:Unknown") + + Everything between ? and : - is the qualifier to convey the context + to the translators. Everything after : - is the text itself. + """ + text = _(text) + if text.startswith('?'): + text = text.split(':', 1)[1] + return text + + +def ngettext(s_sing, s_plural, n, replace_sing=None, replace_plural=None): + """ + Use as: + i18n.ngettext( + 'leave room %s', 'leave rooms %s', len(rooms), 'a', 'a, b, c') + + In other words this is a hack to ngettext() to support %s %d etc.. + """ + text = _translation.ngettext(s_sing, s_plural, n) + if n == 1 and replace_sing is not None: + text = text % replace_sing + elif n > 1 and replace_plural is not None: + text = text % replace_plural + return text + + +try: + locale.setlocale(locale.LC_ALL, '') +except locale.Error as error: + print(error, file=sys.stderr) + +try: + LANG = get_default_lang() + if os.name == 'nt': + # Set the env var on Windows because gettext.find() uses it to + # find the translation + # Use LANGUAGE instead of LANG, LANG sets LC_ALL and thus + # doesn't retain other region settings like LC_TIME + os.environ['LANGUAGE'] = LANG +except Exception as error: + print('Failed to determine default language', file=sys.stderr) + import traceback + traceback.print_exc() + +# Search for the translation in all locale dirs +for dir_ in iter_locale_dirs(): + try: + _translation = gettext.translation(DOMAIN, dir_) + _ = _translation.gettext + if hasattr(locale, 'bindtextdomain'): + locale.bindtextdomain(DOMAIN, dir_) # type: ignore + except OSError: + continue + else: + break +else: + print('No translations found', file=sys.stderr) + print('Dirs searched: %s' % get_locale_dirs(), file=sys.stderr) + _ = _translation.gettext diff --git a/gajim/common/idle.py b/gajim/common/idle.py new file mode 100644 index 0000000..10d80ab --- /dev/null +++ b/gajim/common/idle.py @@ -0,0 +1,362 @@ +# Copyright (C) 2003-2014 Yann Leboulanger +# Copyright (C) 2005-2006 Nikos Kouremenos +# Copyright (C) 2007 Jean-Marie Traissard +# Copyright (C) 2008 Mateusz Biliński +# Copyright (C) 2008 Thorsten P. 'dGhvcnN0ZW5wIEFUIHltYWlsIGNvbQ==\n'.decode("base64") +# Copyright (C) 2018 Philipp Hörist +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import sys +import time +import ctypes +import ctypes.util +import logging +from gi.repository import Gio +from gi.repository import GLib +from gi.repository import GObject + +from gajim.common import app +from gajim.common.const import Display +from gajim.common.const import IdleState + +log = logging.getLogger('gajim.c.idle') + + +class DBusFreedesktopIdleMonitor: + + def __init__(self): + self.last_idle_time = 0 + self._extended_away = False + + log.debug('Connecting to D-Bus') + self.dbus_proxy = Gio.DBusProxy.new_for_bus_sync( + Gio.BusType.SESSION, + Gio.DBusProxyFlags.NONE, + None, + 'org.freedesktop.ScreenSaver', + '/org/freedesktop/ScreenSaver', + 'org.freedesktop.ScreenSaver', + None + ) + log.debug('D-Bus connected') + + # Only the following call will trigger exceptions if the D-Bus + # interface/method/... does not exist. Using the failing method + # for class init to allow other idle monitors to be used on failure. + self._get_idle_sec_fail() + log.debug('D-Bus call test successful') + + def _get_idle_sec_fail(self): + (idle_time,) = self.dbus_proxy.call_sync( + 'GetSessionIdleTime', + None, + Gio.DBusCallFlags.NO_AUTO_START, + -1, + None + ) + return idle_time//1000 + + def get_idle_sec(self): + try: + self.last_idle_time = self._get_idle_sec_fail() + except GLib.Error as error: + log.warning( + 'org.freedesktop.ScreenSaver.GetSessionIdleTime() failed: %s', + error) + + return self.last_idle_time + + def set_extended_away(self, state): + self._extended_away = state + + def is_extended_away(self): + return self._extended_away + + +class DBusGnomeIdleMonitor: + + def __init__(self): + self.last_idle_time = 0 + self._extended_away = False + + log.debug('Connecting to D-Bus') + self.dbus_gnome_proxy = Gio.DBusProxy.new_for_bus_sync( + Gio.BusType.SESSION, + Gio.DBusProxyFlags.NONE, + None, + 'org.gnome.Mutter.IdleMonitor', + '/org/gnome/Mutter/IdleMonitor/Core', + 'org.gnome.Mutter.IdleMonitor', + None + ) + log.debug('D-Bus connected') + + # Only the following call will trigger exceptions if the D-Bus + # interface/method/... does not exist. Using the failing method + # for class init to allow other idle monitors to be used on failure. + self._get_idle_sec_fail() + log.debug('D-Bus call test successful') + + def _get_idle_sec_fail(self): + (idle_time,) = self.dbus_gnome_proxy.call_sync( + 'GetIdletime', + None, + Gio.DBusCallFlags.NO_AUTO_START, + -1, + None + ) + return int(idle_time / 1000) + + def get_idle_sec(self): + try: + self.last_idle_time = self._get_idle_sec_fail() + except GLib.Error as error: + log.warning( + 'org.gnome.Mutter.IdleMonitor.GetIdletime() failed: %s', + error) + + return self.last_idle_time + + def set_extended_away(self, state): + self._extended_away = state + + def is_extended_away(self): + return self._extended_away + + +class XssIdleMonitor: + def __init__(self): + + self._extended_away = False + + class XScreenSaverInfo(ctypes.Structure): + _fields_ = [ + ('window', ctypes.c_ulong), + ('state', ctypes.c_int), + ('kind', ctypes.c_int), + ('til_or_since', ctypes.c_ulong), + ('idle', ctypes.c_ulong), + ('eventMask', ctypes.c_ulong) + ] + + XScreenSaverInfo_p = ctypes.POINTER(XScreenSaverInfo) + + display_p = ctypes.c_void_p + xid = ctypes.c_ulong + c_int_p = ctypes.POINTER(ctypes.c_int) + + libX11path = ctypes.util.find_library('X11') + if libX11path is None: + raise OSError('libX11 could not be found.') + libX11 = ctypes.cdll.LoadLibrary(libX11path) + libX11.XOpenDisplay.restype = display_p + libX11.XOpenDisplay.argtypes = (ctypes.c_char_p,) + libX11.XDefaultRootWindow.restype = xid + libX11.XDefaultRootWindow.argtypes = (display_p,) + + libXsspath = ctypes.util.find_library('Xss') + if libXsspath is None: + raise OSError('libXss could not be found.') + self.libXss = ctypes.cdll.LoadLibrary(libXsspath) + self.libXss.XScreenSaverQueryExtension.argtypes = display_p, c_int_p, c_int_p + self.libXss.XScreenSaverAllocInfo.restype = XScreenSaverInfo_p + self.libXss.XScreenSaverQueryInfo.argtypes = ( + display_p, xid, XScreenSaverInfo_p) + + self.dpy_p = libX11.XOpenDisplay(None) + if self.dpy_p is None: + raise OSError('Could not open X Display.') + + _event_basep = ctypes.c_int() + _error_basep = ctypes.c_int() + extension = self.libXss.XScreenSaverQueryExtension( + self.dpy_p, ctypes.byref(_event_basep), ctypes.byref(_error_basep)) + if extension == 0: + raise OSError('XScreenSaver Extension not available on display.') + + self.xss_info_p = self.libXss.XScreenSaverAllocInfo() + if self.xss_info_p is None: + raise OSError('XScreenSaverAllocInfo: Out of Memory.') + + self.rootwindow = libX11.XDefaultRootWindow(self.dpy_p) + + def get_idle_sec(self): + info = self.libXss.XScreenSaverQueryInfo( + self.dpy_p, self.rootwindow, self.xss_info_p) + if info == 0: + return info + return int(self.xss_info_p.contents.idle / 1000) + + def set_extended_away(self, state): + self._extended_away = state + + def is_extended_away(self): + return False + + +class WindowsIdleMonitor: + def __init__(self): + self.OpenInputDesktop = ctypes.windll.user32.OpenInputDesktop + self.CloseDesktop = ctypes.windll.user32.CloseDesktop + self.SystemParametersInfo = ctypes.windll.user32.SystemParametersInfoW + self.GetTickCount = ctypes.windll.kernel32.GetTickCount + self.GetLastInputInfo = ctypes.windll.user32.GetLastInputInfo + + self._locked_time = None + + class LASTINPUTINFO(ctypes.Structure): + _fields_ = [('cbSize', ctypes.c_uint), ('dwTime', ctypes.c_uint)] + + self.lastInputInfo = LASTINPUTINFO() + self.lastInputInfo.cbSize = ctypes.sizeof(self.lastInputInfo) + + def get_idle_sec(self): + self.GetLastInputInfo(ctypes.byref(self.lastInputInfo)) + return float(self.GetTickCount() - self.lastInputInfo.dwTime) / 1000 + + def is_extended_away(self): + # Check if Screen Saver is running + # 0x72 is SPI_GETSCREENSAVERRUNNING + saver_runing = ctypes.c_int(0) + info = self.SystemParametersInfo( + 0x72, 0, ctypes.byref(saver_runing), 0) + if info and saver_runing.value: + return True + + # Check if Screen is locked + # Also a UAC prompt counts as locked + # So just return True if we are more than 10 seconds locked + desk = self.OpenInputDesktop(0, False, 0) + unlocked = bool(desk) + self.CloseDesktop(desk) + + if unlocked: + self._locked_time = None + return False + + if self._locked_time is None: + self._locked_time = time.time() + return False + + threshold = time.time() - 10 + if threshold > self._locked_time: + return True + + +class IdleMonitor(GObject.GObject): + + __gsignals__ = { + 'state-changed': ( + GObject.SignalFlags.RUN_LAST | GObject.SignalFlags.ACTION, + None, # return value + () # arguments + )} + + def __init__(self): + GObject.GObject.__init__(self) + self.set_interval() + self._state = IdleState.AWAKE + self._idle_monitor = self._get_idle_monitor() + + if self.is_available(): + GLib.timeout_add_seconds(1, self._poll) + + def set_interval(self, away_interval=60, xa_interval=120): + log.info('Set interval: away: %s, xa: %s', + away_interval, xa_interval) + self._away_interval = away_interval + self._xa_interval = xa_interval + + def set_extended_away(self, state): + self._idle_monitor.set_extended_away(state) + + def is_available(self): + return self._idle_monitor is not None + + @property + def state(self): + if not self.is_available(): + return IdleState.UNKNOWN + return self._state + + def is_xa(self): + return self.state == IdleState.XA + + def is_away(self): + return self.state == IdleState.AWAY + + def is_awake(self): + return self.state == IdleState.AWAKE + + def is_unknown(self): + return self.state == IdleState.UNKNOWN + + @staticmethod + def _get_idle_monitor(): + if sys.platform == 'win32': + return WindowsIdleMonitor() + + try: + return DBusFreedesktopIdleMonitor() + except GLib.Error as error: + log.info('Idle time via D-Bus not available: %s', error) + + try: + return DBusGnomeIdleMonitor() + except GLib.Error as error: + log.info('Idle time via D-Bus (GNOME) not available: %s', error) + + if app.is_display(Display.WAYLAND): + return + + try: + return XssIdleMonitor() + except OSError as error: + log.info('Idle time via XScreenSaverInfo not available: %s', error) + + def get_idle_sec(self): + return self._idle_monitor.get_idle_sec() + + def _poll(self): + """ + Check to see if we should change state + """ + if self._idle_monitor.is_extended_away(): + log.info('Extended Away: Screensaver or Locked Screen') + self._set_state(IdleState.XA) + return True + + idle_time = self.get_idle_sec() + + # xa is stronger than away so check for xa first + if idle_time > self._xa_interval: + self._set_state(IdleState.XA) + elif idle_time > self._away_interval: + self._set_state(IdleState.AWAY) + else: + self._set_state(IdleState.AWAKE) + return True + + def _set_state(self, state): + if self._state == state: + return + + self._state = state + log.info('State changed: %s', state) + self.emit('state-changed') + + +Monitor = IdleMonitor() diff --git a/gajim/common/jingle_content.py b/gajim/common/jingle_content.py new file mode 100644 index 0000000..12cf113 --- /dev/null +++ b/gajim/common/jingle_content.py @@ -0,0 +1,245 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +""" +Handles Jingle contents (XEP 0166) +""" + +from typing import Any # pylint: disable=unused-import +from typing import Dict # pylint: disable=unused-import + +import nbxmpp +from nbxmpp.namespaces import Namespace + +from gajim.common import app +from gajim.common import configpaths +from gajim.common.jingle_xtls import SELF_SIGNED_CERTIFICATE +from gajim.common.jingle_xtls import load_cert_file + +contents = {} # type: Dict[str, Any] + +def get_jingle_content(node): + namespace = node.getNamespace() + if namespace in contents: + return contents[namespace](node) + + +class JingleContentSetupException(Exception): + """ + Exception that should be raised when a content fails to setup. + """ + + +class JingleContent: + """ + An abstraction of content in Jingle sessions + """ + + def __init__(self, session, transport, senders): + self.session = session + self.transport = transport + # will be filled by JingleSession.add_content() + # don't uncomment these lines, we will catch more buggy code then + # (a JingleContent not added to session shouldn't send anything) + self.creator = None + self.name = None + self.accepted = False + self.sent = False + self.negotiated = False + + self.media = None + + self.senders = senders + if self.senders is None: + self.senders = 'both' + + self.allow_sending = True # Used for stream direction, attribute 'senders' + + # These were found by the Politie + self.file_props = None + self.use_security = None + + self.callbacks = { + # these are called when *we* get stanzas + 'content-accept': [self.__on_transport_info, + self.__on_content_accept], + 'content-add': [self.__on_transport_info], + 'content-modify': [], + 'content-reject': [], + 'content-remove': [], + 'description-info': [], + 'security-info': [], + 'session-accept': [self.__on_transport_info, + self.__on_content_accept], + 'session-info': [], + 'session-initiate': [self.__on_transport_info], + 'session-terminate': [], + 'transport-info': [self.__on_transport_info], + 'transport-replace': [self.__on_transport_replace], + 'transport-accept': [self.__on_transport_replace], + 'transport-reject': [], + 'iq-result': [], + 'iq-error': [], + # these are called when *we* sent these stanzas + 'content-accept-sent': [self.__fill_jingle_stanza, + self.__on_content_accept], + 'content-add-sent': [self.__fill_jingle_stanza], + 'session-initiate-sent': [self.__fill_jingle_stanza], + 'session-accept-sent': [self.__fill_jingle_stanza, + self.__on_content_accept], + 'session-terminate-sent': [], + } + + def is_ready(self): + return self.accepted and not self.sent + + def __on_content_accept(self, stanza, content, error, action): + self.on_negotiated() + + def on_negotiated(self): + if self.accepted: + self.negotiated = True + self.session.content_negotiated(self.media) + + def add_remote_candidates(self, candidates): + """ + Add a list of candidates to the list of remote candidates + """ + self.transport.remote_candidates = candidates + + def on_stanza(self, stanza, content, error, action): + """ + Called when something related to our content was sent by peer + """ + if action in self.callbacks: + for callback in self.callbacks[action]: + callback(stanza, content, error, action) + + def __on_transport_replace(self, stanza, content, error, action): + content.addChild(node=self.transport.make_transport()) + + def __on_transport_info(self, stanza, content, error, action): + """ + Got a new transport candidate + """ + candidates = self.transport.parse_transport_stanza( + content.getTag('transport')) + if candidates: + self.add_remote_candidates(candidates) + + def __content(self, payload=None): + """ + Build a XML content-wrapper for our data + """ + if payload is None: + payload = [] + return nbxmpp.Node('content', + attrs={'name': self.name, + 'creator': self.creator, + 'senders': self.senders}, + payload=payload) + + def send_candidate(self, candidate): + """ + Send a transport candidate for a previously defined transport. + """ + content = self.__content() + content.addChild(node=self.transport.make_transport([candidate])) + self.session.send_transport_info(content) + + def send_error_candidate(self): + """ + Sends a candidate-error when we can't connect to a candidate. + """ + content = self.__content() + tp = self.transport.make_transport(add_candidates=False) + tp.addChild(name='candidate-error') + content.addChild(node=tp) + self.session.send_transport_info(content) + + + def send_description_info(self): + content = self.__content() + self._fill_content(content) + self.session.send_description_info(content) + + def __fill_jingle_stanza(self, stanza, content, error, action): + """ + Add our things to session-initiate stanza + """ + self._fill_content(content) + self.sent = True + content.addChild(node=self.transport.make_transport()) + + def _fill_content(self, content): + description_node = nbxmpp.simplexml.Node( + tag=Namespace.JINGLE_FILE_TRANSFER_5 + ' description') + file_tag = description_node.setTag('file') + if self.file_props.name: + node = nbxmpp.simplexml.Node(tag='name') + node.addData(self.file_props.name) + file_tag.addChild(node=node) + if self.file_props.date: + node = nbxmpp.simplexml.Node(tag='date') + node.addData(self.file_props.date) + file_tag.addChild(node=node) + if self.file_props.size: + node = nbxmpp.simplexml.Node(tag='size') + node.addData(self.file_props.size) + file_tag.addChild(node=node) + if self.file_props.type_ == 'r': + if self.file_props.hash_: + file_tag.addChild('hash', attrs={'algo': self.file_props.algo}, + namespace=Namespace.HASHES_2, + payload=self.file_props.hash_) + else: + # if the file is less than 10 mb, then it is small + # lets calculate it right away + if self.file_props.size < 10000000 and not self.file_props.hash_: + hash_data = self._compute_hash() + if hash_data: + file_tag.addChild(node=hash_data) + pjid = app.get_jid_without_resource(self.session.peerjid) + file_info = {'name' : self.file_props.name, + 'file-name' : self.file_props.file_name, + 'hash' : self.file_props.hash_, + 'size' : self.file_props.size, + 'date' : self.file_props.date, + 'peerjid' : pjid + } + self.session.connection.get_module('Jingle').set_file_info(file_info) + desc = file_tag.setTag('desc') + if self.file_props.desc: + desc.setData(self.file_props.desc) + if self.use_security: + security = nbxmpp.simplexml.Node( + tag=Namespace.JINGLE_XTLS + ' security') + certpath = configpaths.get('MY_CERT') / (SELF_SIGNED_CERTIFICATE + + '.cert') + cert = load_cert_file(certpath) + if cert: + digest_algo = (cert.get_signature_algorithm() + .decode('utf-8').split('With')[0]) + security.addChild('fingerprint').addData(cert.digest( + digest_algo).decode('utf-8')) + for m in ('x509', ): # supported authentication methods + method = nbxmpp.simplexml.Node(tag='method') + method.setAttr('name', m) + security.addChild(node=method) + content.addChild(node=security) + content.addChild(node=description_node) + + def destroy(self): + self.callbacks = None + del self.session.contents[(self.creator, self.name)] diff --git a/gajim/common/jingle_ft.py b/gajim/common/jingle_ft.py new file mode 100644 index 0000000..fe2d30e --- /dev/null +++ b/gajim/common/jingle_ft.py @@ -0,0 +1,409 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +""" +Handles Jingle File Transfer (XEP 0234) +""" + +import hashlib +import logging +import threading +from enum import IntEnum, unique + +import nbxmpp +from nbxmpp.namespaces import Namespace + +from gajim.common import app +from gajim.common import configpaths +from gajim.common import jingle_xtls +from gajim.common.jingle_content import contents, JingleContent +from gajim.common.jingle_transport import JingleTransportSocks5, TransportType +from gajim.common import helpers +from gajim.common.connection_handlers_events import FileRequestReceivedEvent +from gajim.common.jingle_ftstates import ( + StateInitialized, StateCandSent, StateCandReceived, StateTransfering, + StateCandSentAndRecv, StateTransportReplace) + +log = logging.getLogger('gajim.c.jingle_ft') + + +@unique +class State(IntEnum): + NOT_STARTED = 0 + INITIALIZED = 1 + # We send the candidates and we are waiting for a reply + CAND_SENT = 2 + # We received the candidates and we are waiting to reply + CAND_RECEIVED = 3 + # We have sent and received the candidates + # This also includes any candidate-error received or sent + CAND_SENT_AND_RECEIVED = 4 + TRANSPORT_REPLACE = 5 + # We are transferring the file + TRANSFERRING = 6 + + +class JingleFileTransfer(JingleContent): + + def __init__(self, session, transport=None, file_props=None, + use_security=False, senders=None): + JingleContent.__init__(self, session, transport, senders) + log.info("transport value: %s", transport) + # events we might be interested in + self.callbacks['session-initiate'] += [self.__on_session_initiate] + self.callbacks['session-initiate-sent'] += [ + self.__on_session_initiate_sent] + self.callbacks['content-add'] += [self.__on_session_initiate] + self.callbacks['session-accept'] += [self.__on_session_accept] + self.callbacks['session-terminate'] += [self.__on_session_terminate] + self.callbacks['session-info'] += [self.__on_session_info] + self.callbacks['transport-accept'] += [self.__on_transport_accept] + self.callbacks['transport-replace'] += [self.__on_transport_replace] + self.callbacks['session-accept-sent'] += [self.__transport_setup] + # fallback transport method + self.callbacks['transport-reject'] += [self.__on_transport_reject] + self.callbacks['transport-info'] += [self.__on_transport_info] + self.callbacks['iq-result'] += [self.__on_iq_result] + self.use_security = use_security + self.x509_fingerprint = None + self.file_props = file_props + self.weinitiate = self.session.weinitiate + self.werequest = self.session.werequest + if self.file_props is not None: + if self.session.werequest: + self.file_props.sender = self.session.peerjid + self.file_props.receiver = self.session.ourjid + else: + self.file_props.sender = self.session.ourjid + self.file_props.receiver = self.session.peerjid + self.file_props.session_type = 'jingle' + self.file_props.sid = session.sid + self.file_props.transfered_size = [] + self.file_props.transport_sid = self.transport.sid + log.info("FT request: %s", file_props) + if transport is None: + self.transport = JingleTransportSocks5() + self.transport.set_connection(session.connection) + self.transport.set_file_props(self.file_props) + self.transport.set_our_jid(session.ourjid) + log.info('ourjid: %s', session.ourjid) + self.session = session + self.media = 'file' + self.nominated_cand = {} + if app.contacts.is_gc_contact(session.connection.name, + session.peerjid): + roomjid = session.peerjid.split('/')[0] + dstaddr = hashlib.sha1(('%s%s%s' % (self.file_props.sid, + session.ourjid, roomjid)) + .encode('utf-8')).hexdigest() + self.file_props.dstaddr = dstaddr + self.state = State.NOT_STARTED + self.states = { + State.INITIALIZED : StateInitialized(self), + State.CAND_SENT : StateCandSent(self), + State.CAND_RECEIVED : StateCandReceived(self), + State.TRANSFERRING : StateTransfering(self), + State.TRANSPORT_REPLACE : StateTransportReplace(self), + State.CAND_SENT_AND_RECEIVED : StateCandSentAndRecv(self) + } + + cert_name = (configpaths.get('MY_CERT') / + jingle_xtls.SELF_SIGNED_CERTIFICATE) + if not (cert_name.with_suffix('.cert').exists() + and cert_name.with_suffix('.pkey').exists()): + jingle_xtls.make_certs(cert_name, 'gajim') + + def __state_changed(self, nextstate, args=None): + # Executes the next state action and sets the next state + current_state = self.state + st = self.states[nextstate] + st.action(args) + # state can have been changed during the action. Don't go back. + if self.state == current_state: + self.state = nextstate + + def __on_session_initiate(self, stanza, content, error, action): + log.debug("Jingle FT request received") + app.nec.push_incoming_event(FileRequestReceivedEvent(None, + conn=self.session.connection, + stanza=stanza, + jingle_content=content, + FT_content=self)) + if self.session.request: + # accept the request + self.session.approve_content(self.media, self.name) + self.session.accept_session() + + def __on_session_initiate_sent(self, stanza, content, error, action): + pass + + def __send_hash(self): + # Send hash in a session info + checksum = nbxmpp.Node(tag='checksum', + payload=[nbxmpp.Node(tag='file', + payload=[self._compute_hash()])]) + checksum.setNamespace(Namespace.JINGLE_FILE_TRANSFER_5) + self.session.__session_info(checksum) + pjid = app.get_jid_without_resource(self.session.peerjid) + file_info = {'name' : self.file_props.name, + 'file-name' : self.file_props.file_name, + 'hash' : self.file_props.hash_, + 'size' : self.file_props.size, + 'date' : self.file_props.date, + 'peerjid' : pjid + } + self.session.connection.get_module('Jingle').set_file_info(file_info) + + def _compute_hash(self): + # Calculates the hash and returns a xep-300 hash stanza + if self.file_props.algo is None: + return + try: + file_ = open(self.file_props.file_name, 'rb') + except IOError: + # can't open file + return + h = nbxmpp.Hashes2() + hash_ = h.calculateHash(self.file_props.algo, file_) + file_.close() + # DEBUG + #hash_ = '1294809248109223' + if not hash_: + # Hash algorithm not supported + return + self.file_props.hash_ = hash_ + h.addHash(hash_, self.file_props.algo) + return h + + def on_cert_received(self): + self.session.approve_session() + self.session.approve_content('file', name=self.name) + + def __on_session_accept(self, stanza, content, error, action): + log.info("__on_session_accept") + con = self.session.connection + security = content.getTag('security') + if not security: # responder can not verify our fingerprint + self.use_security = False + else: + fingerprint = security.getTag('fingerprint') + if fingerprint: + fingerprint = fingerprint.getData() + self.x509_fingerprint = fingerprint + if not jingle_xtls.check_cert(app.get_jid_without_resource( + self.session.responder), fingerprint): + id_ = jingle_xtls.send_cert_request(con, + self.session.responder) + jingle_xtls.key_exchange_pend(id_, + self.continue_session_accept, + [stanza]) + raise nbxmpp.NodeProcessed + self.continue_session_accept(stanza) + + def continue_session_accept(self, stanza): + if self.state == State.TRANSPORT_REPLACE: + # If we are requesting we don't have the file + if self.session.werequest: + raise nbxmpp.NodeProcessed + # We send the file + self.__state_changed(State.TRANSFERRING) + raise nbxmpp.NodeProcessed + self.file_props.streamhosts = self.transport.remote_candidates + # Calculate file hash in a new thread + # if we haven't sent the hash already. + if self.file_props.hash_ is None and self.file_props.algo and \ + not self.werequest: + self.hash_thread = threading.Thread(target=self.__send_hash) + self.hash_thread.start() + for host in self.file_props.streamhosts: + host['initiator'] = self.session.initiator + host['target'] = self.session.responder + host['sid'] = self.file_props.sid + fingerprint = None + if self.use_security: + fingerprint = 'client' + if self.transport.type_ == TransportType.SOCKS5: + sid = self.file_props.transport_sid + app.socks5queue.connect_to_hosts(self.session.connection.name, + sid, + self.on_connect, + self._on_connect_error, + fingerprint=fingerprint, + receiving=False) + raise nbxmpp.NodeProcessed + self.__state_changed(State.TRANSFERRING) + raise nbxmpp.NodeProcessed + + def __on_session_terminate(self, stanza, content, error, action): + log.info("__on_session_terminate") + + def __on_session_info(self, stanza, content, error, action): + pass + + def __on_transport_accept(self, stanza, content, error, action): + log.info("__on_transport_accept") + + def __on_transport_replace(self, stanza, content, error, action): + log.info("__on_transport_replace") + + def __on_transport_reject(self, stanza, content, error, action): + log.info("__on_transport_reject") + + def __on_transport_info(self, stanza, content, error, action): + log.info("__on_transport_info") + cand_error = content.getTag('transport').getTag('candidate-error') + cand_used = content.getTag('transport').getTag('candidate-used') + if (cand_error or cand_used) and \ + self.state >= State.CAND_SENT_AND_RECEIVED: + raise nbxmpp.NodeProcessed + if cand_error: + if not app.socks5queue.listener.connections: + app.socks5queue.listener.disconnect() + self.nominated_cand['peer-cand'] = False + if self.state == State.CAND_SENT: + if not self.nominated_cand['our-cand'] and \ + not self.nominated_cand['peer-cand']: + if not self.weinitiate: + return + self.__state_changed(State.TRANSPORT_REPLACE) + else: + response = stanza.buildReply('result') + response.delChild(response.getQuery()) + self.session.connection.connection.send(response) + self.__state_changed(State.TRANSFERRING) + raise nbxmpp.NodeProcessed + else: + args = {'candError' : True} + self.__state_changed(State.CAND_RECEIVED, args) + return + if cand_used: + streamhost_cid = cand_used.getAttr('cid') + streamhost_used = None + for cand in self.transport.candidates: + if cand['candidate_id'] == streamhost_cid: + streamhost_used = cand + break + if streamhost_used is None or streamhost_used['type'] == 'proxy': + if app.socks5queue.listener and \ + not app.socks5queue.listener.connections: + app.socks5queue.listener.disconnect() + if content.getTag('transport').getTag('activated'): + self.state = State.TRANSFERRING + app.socks5queue.send_file(self.file_props, + self.session.connection.name, 'client') + return + args = {'content': content, + 'sendCand': False} + if self.state == State.CAND_SENT: + self.__state_changed(State.CAND_SENT_AND_RECEIVED, args) + self.__state_changed(State.TRANSFERRING) + raise nbxmpp.NodeProcessed + self.__state_changed(State.CAND_RECEIVED, args) + + def __on_iq_result(self, stanza, content, error, action): + log.info("__on_iq_result") + + if self.state in (State.NOT_STARTED, State.CAND_RECEIVED): + self.__state_changed(State.INITIALIZED) + elif self.state == State.CAND_SENT_AND_RECEIVED: + if not self.nominated_cand['our-cand'] and \ + not self.nominated_cand['peer-cand']: + if not self.weinitiate: + return + self.__state_changed(State.TRANSPORT_REPLACE) + return + # initiate transfer + self.__state_changed(State.TRANSFERRING) + + def __transport_setup(self, stanza=None, content=None, error=None, + action=None): + # Sets up a few transport specific things for the file transfer + if self.transport.type_ == TransportType.IBB: + # No action required, just set the state to transferring + self.state = State.TRANSFERRING + else: + self._listen_host() + + def on_connect(self, streamhost): + """ + send candidate-used stanza + """ + log.info('send_candidate_used') + if streamhost is None: + return + args = {'streamhost' : streamhost, + 'sendCand' : True} + self.nominated_cand['our-cand'] = streamhost + self.__send_candidate(args) + + def _on_connect_error(self, sid): + log.info('connect error, sid=%s', sid) + args = {'candError' : True, + 'sendCand' : True} + self.__send_candidate(args) + + def __send_candidate(self, args): + if self.state == State.CAND_RECEIVED: + self.__state_changed(State.CAND_SENT_AND_RECEIVED, args) + else: + self.__state_changed(State.CAND_SENT, args) + + def _store_socks5_sid(self, sid, hash_id): + # callback from socsk5queue.start_listener + self.file_props.hash_ = hash_id + + def _listen_host(self): + receiver = self.file_props.receiver + sender = self.file_props.sender + sha_str = helpers.get_auth_sha(self.file_props.sid, sender, + receiver) + self.file_props.sha_str = sha_str + port = app.settings.get('file_transfers_port') + fingerprint = None + if self.use_security: + fingerprint = 'server' + listener = app.socks5queue.start_listener(port, sha_str, + self._store_socks5_sid, + self.file_props, + fingerprint=fingerprint, + typ='sender' if self.weinitiate else 'receiver') + if not listener: + # send error message, notify the user + return + + def is_our_candidate_used(self): + ''' + If this method returns true then the candidate we nominated will be + used, if false, the candidate nominated by peer will be used + ''' + + if not self.nominated_cand['peer-cand']: + return True + if not self.nominated_cand['our-cand']: + return False + peer_pr = int(self.nominated_cand['peer-cand']['priority']) + our_pr = int(self.nominated_cand['our-cand']['priority']) + if peer_pr != our_pr: + return our_pr > peer_pr + return self.weinitiate + + def start_ibb_transfer(self): + if self.file_props.type_ == 's': + self.__state_changed(State.TRANSFERRING) + + +def get_content(desc): + return JingleFileTransfer + +contents[Namespace.JINGLE_FILE_TRANSFER_5] = get_content diff --git a/gajim/common/jingle_ftstates.py b/gajim/common/jingle_ftstates.py new file mode 100644 index 0000000..5d6063a --- /dev/null +++ b/gajim/common/jingle_ftstates.py @@ -0,0 +1,228 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import logging + +import nbxmpp +from nbxmpp.namespaces import Namespace + +from gajim.common import app +from gajim.common.jingle_transport import TransportType +from gajim.common.socks5 import Socks5ReceiverClient +from gajim.common.socks5 import Socks5SenderClient + +log = logging.getLogger('gajim.c.jingle_ftstates') + + +class JingleFileTransferStates: + ''' + This class implements the state machine design pattern + ''' + + def __init__(self, jingleft): + self.jft = jingleft + + def action(self, args=None): + ''' + This method MUST be overridden by a subclass + ''' + raise NotImplementedError('This is an abstract method!') + + +class StateInitialized(JingleFileTransferStates): + ''' + This state initializes the file transfer + ''' + + def action(self, args=None): + if self.jft.weinitiate: + # update connection's fileprops + self.jft._listen_host() + # Listen on configured port for file transfer + else: + fingerprint = None + if self.jft.use_security: + fingerprint = 'client' + # Connect to the candidate host, on success call on_connect method + app.socks5queue.connect_to_hosts(self.jft.session.connection.name, + self.jft.file_props.transport_sid, self.jft.on_connect, + self.jft._on_connect_error, fingerprint=fingerprint) + + +class StateCandSent(JingleFileTransferStates): + ''' + This state sends our nominated candidate + ''' + + def _send_candidate(self, args): + if 'candError' in args: + self.jft.nominated_cand['our-cand'] = False + self.jft.send_error_candidate() + return + # Send candidate used + streamhost = args['streamhost'] + self.jft.nominated_cand['our-cand'] = streamhost + content = nbxmpp.Node('content') + content.setAttr('creator', 'initiator') + content.setAttr('name', self.jft.name) + transport = nbxmpp.Node('transport') + transport.setNamespace(Namespace.JINGLE_BYTESTREAM) + transport.setAttr('sid', self.jft.transport.sid) + candidateused = nbxmpp.Node('candidate-used') + candidateused.setAttr('cid', streamhost['candidate_id']) + transport.addChild(node=candidateused) + content.addChild(node=transport) + self.jft.session.send_transport_info(content) + + def action(self, args=None): + self._send_candidate(args) + + +class StateCandReceived(JingleFileTransferStates): + ''' + This state happens when we receive a candidate. + It takes the arguments: canError if we receive a candidate-error + ''' + + def _recv_candidate(self, args): + if 'candError' in args: + return + content = args['content'] + streamhost_cid = content.getTag('transport').getTag('candidate-used').\ + getAttr('cid') + streamhost_used = None + for cand in self.jft.transport.candidates: + if cand['candidate_id'] == streamhost_cid: + streamhost_used = cand + break + if streamhost_used is None: + log.info("unknown streamhost") + return + # We save the candidate nominated by peer + self.jft.nominated_cand['peer-cand'] = streamhost_used + + def action(self, args=None): + self._recv_candidate(args) + + +class StateCandSentAndRecv(StateCandSent, StateCandReceived): + ''' + This state happens when we have received and sent the candidates. + It takes the boolean argument: sendCand in order to decide whether + we should execute the action of when we receive or send a candidate. + ''' + + def action(self, args=None): + if args['sendCand']: + self._send_candidate(args) + else: + self._recv_candidate(args) + + +class StateTransportReplace(JingleFileTransferStates): + ''' + This state initiates transport replace + ''' + + def action(self, args=None): + self.jft.session.transport_replace() + + +class StateTransfering(JingleFileTransferStates): + ''' + This state will start the transfer depending on the type of transport + we have. + ''' + + def _start_ibb_transfer(self, con): + self.jft.file_props.transport_sid = self.jft.transport.sid + fp = open(self.jft.file_props.file_name, 'rb') + con.get_module('IBB').send_open(self.jft.session.peerjid, + self.jft.file_props.sid, + fp) + + def _start_sock5_transfer(self): + # It tells whether we start the transfer as client or server + mode = None + if self.jft.is_our_candidate_used(): + mode = 'client' + streamhost_used = self.jft.nominated_cand['our-cand'] + app.socks5queue.remove_server(self.jft.file_props.transport_sid) + else: + mode = 'server' + streamhost_used = self.jft.nominated_cand['peer-cand'] + app.socks5queue.remove_client(self.jft.file_props.transport_sid) + app.socks5queue.remove_other_servers(streamhost_used['host']) + if streamhost_used['type'] == 'proxy': + self.jft.file_props.is_a_proxy = True + if self.jft.file_props.type_ == 's' and self.jft.weinitiate: + self.jft.file_props.proxy_sender = streamhost_used['initiator'] + self.jft.file_props.proxy_receiver = streamhost_used['target'] + else: + self.jft.file_props.proxy_sender = streamhost_used['target'] + self.jft.file_props.proxy_receiver = streamhost_used[ + 'initiator'] + if self.jft.file_props.type_ == 's': + s = app.socks5queue.senders + for sender in s: + if s[sender].host == streamhost_used['host'] and \ + s[sender].connected: + return + elif self.jft.file_props.type_ == 'r': + r = app.socks5queue.readers + for reader in r: + if r[reader].host == streamhost_used['host'] and \ + r[reader].connected: + return + else: + raise TypeError + self.jft.file_props.streamhost_used = True + streamhost_used['sid'] = self.jft.file_props.transport_sid + self.jft.file_props.streamhosts = [] + self.jft.file_props.streamhosts.append(streamhost_used) + self.jft.file_props.proxyhosts = [] + self.jft.file_props.proxyhosts.append(streamhost_used) + if self.jft.file_props.type_ == 's': + app.socks5queue.idx += 1 + idx = app.socks5queue.idx + sockobj = Socks5SenderClient(app.idlequeue, idx, + app.socks5queue, _sock=None, + host=str(streamhost_used['host']), + port=int(streamhost_used['port']), + fingerprint=None, connected=False, + file_props=self.jft.file_props) + else: + sockobj = Socks5ReceiverClient(app.idlequeue, streamhost_used, + transport_sid=self.jft.file_props.transport_sid, + file_props=self.jft.file_props, fingerprint=None) + sockobj.proxy = True + sockobj.streamhost = streamhost_used + app.socks5queue.add_sockobj(self.jft.session.connection.name, + sockobj) + streamhost_used['idx'] = sockobj.queue_idx + # If we offered the nominated candidate used, we activate + # the proxy + if not self.jft.is_our_candidate_used(): + app.socks5queue.on_success[self.jft.file_props.transport_sid]\ + = self.jft.transport._on_proxy_auth_ok + # TODO: add on failure + else: + app.socks5queue.send_file(self.jft.file_props, + self.jft.session.connection.name, mode) + + def action(self, args=None): + if self.jft.transport.type_ == TransportType.IBB: + self._start_ibb_transfer(self.jft.session.connection) + elif self.jft.transport.type_ == TransportType.SOCKS5: + self._start_sock5_transfer() diff --git a/gajim/common/jingle_rtp.py b/gajim/common/jingle_rtp.py new file mode 100644 index 0000000..81eaf4a --- /dev/null +++ b/gajim/common/jingle_rtp.py @@ -0,0 +1,534 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +""" +Handles Jingle RTP sessions (XEP 0167) +""" + +import os +import logging +import socket +from collections import deque +from datetime import datetime + +import nbxmpp +from nbxmpp.namespaces import Namespace + +from gi.repository import GLib + +try: + from gi.repository import Farstream + from gi.repository import Gst +except Exception: + pass + +from gajim.common import app +from gajim.common.i18n import _ +from gajim.common.jingle_transport import JingleTransportICEUDP +from gajim.common.jingle_content import contents +from gajim.common.jingle_content import JingleContent +from gajim.common.jingle_content import JingleContentSetupException +from gajim.common.connection_handlers_events import InformationEvent +from gajim.common.jingle_session import FailedApplication + + +log = logging.getLogger('gajim.c.jingle_rtp') + + +class JingleRTPContent(JingleContent): + def __init__(self, session, media, transport=None): + if transport is None: + transport = JingleTransportICEUDP(None) + JingleContent.__init__(self, session, transport, None) + self.media = media + self._dtmf_running = False + self.farstream_media = { + 'audio': Farstream.MediaType.AUDIO, + 'video': Farstream.MediaType.VIDEO}[media] + + self.pipeline = None + self.src_bin = None + self.stream_failed_once = False + + self.candidates_ready = False # True when local candidates are prepared + + # TODO + self.conference = None + self.funnel = None + self.p2psession = None + self.p2pstream = None + + self.callbacks['session-initiate'] += [self.__on_remote_codecs] + self.callbacks['content-add'] += [self.__on_remote_codecs] + self.callbacks['description-info'] += [self.__on_remote_codecs] + self.callbacks['content-accept'] += [self.__on_remote_codecs] + self.callbacks['session-accept'] += [self.__on_remote_codecs] + self.callbacks['session-terminate'] += [self.__stop] + self.callbacks['session-terminate-sent'] += [self.__stop] + + def setup_stream(self, on_src_pad_added): + # pipeline and bus + self.pipeline = Gst.Pipeline() + bus = self.pipeline.get_bus() + bus.add_signal_watch() + bus.connect('message', self._on_gst_message) + + # conference + self.conference = Gst.ElementFactory.make('fsrtpconference', None) + self.pipeline.add(self.conference) + self.funnel = None + + self.p2psession = self.conference.new_session(self.farstream_media) + + participant = self.conference.new_participant() + # FIXME: Consider a workaround, here... + # pidgin and telepathy-gabble don't follow the XEP, and it won't work + # due to bad controlling-mode + + params = {'controlling-mode': self.session.weinitiate, 'debug': False} + if app.settings.get('use_stun_server'): + stun_server = app.settings.get('stun_server') + if not stun_server and self.session.connection._stun_servers: + stun_server = self.session.connection._stun_servers[0]['host'] + if stun_server: + try: + ip = socket.getaddrinfo(stun_server, 0, socket.AF_UNSPEC, + socket.SOCK_STREAM)[0][4][0] + except socket.gaierror as e: + log.warning('Lookup of stun ip failed: %s', str(e)) + else: + params['stun-ip'] = ip + + self.p2pstream = self.p2psession.new_stream(participant, + Farstream.StreamDirection.BOTH) + self.p2pstream.connect('src-pad-added', on_src_pad_added) + self.p2pstream.set_transmitter_ht('nice', params) + + def is_ready(self): + return JingleContent.is_ready(self) and self.candidates_ready + + def make_bin_from_config(self, config_key, pipeline, text): + pipeline = pipeline % app.settings.get(config_key) + log.debug('Pipeline: %s', str(pipeline)) + try: + gst_bin = Gst.parse_bin_from_description(pipeline, True) + return gst_bin + except GLib.GError as err: + app.nec.push_incoming_event( + InformationEvent( + None, + conn=self.session.connection, + level='error', + pri_txt=_('%s configuration error') % text, + sec_txt=_('Couldn’t set up %(text)s. Check your ' + 'configuration.\nPipeline:\n%(pipeline)s\n' + 'Error:\n%(error)s') % { + 'text': text, + 'pipeline': pipeline, + 'error': str(err)})) + raise JingleContentSetupException + + def add_remote_candidates(self, candidates): + JingleContent.add_remote_candidates(self, candidates) + # FIXME: connectivity should not be established yet + # Instead, it should be established after session-accept! + if self.sent: + self.p2pstream.add_remote_candidates(candidates) + + def batch_dtmf(self, events): + """ + Send several DTMF tones + """ + if self._dtmf_running: + raise Exception("There is a DTMF batch already running") + events = deque(events) + self._dtmf_running = True + self.start_dtmf(events.popleft()) + GLib.timeout_add(500, self._next_dtmf, events) + + def _next_dtmf(self, events): + self.stop_dtmf() + if events: + self.start_dtmf(events.popleft()) + GLib.timeout_add(500, self._next_dtmf, events) + else: + self._dtmf_running = False + + def start_dtmf(self, event): + if event in ('*', '#'): + event = {'*': Farstream.DTMFEvent.STAR, + '#': Farstream.DTMFEvent.POUND}[event] + else: + event = int(event) + self.p2psession.start_telephony_event(event, 2) + + def stop_dtmf(self): + self.p2psession.stop_telephony_event() + + def _fill_content(self, content): + content.addChild(Namespace.JINGLE_RTP + ' description', + attrs={'media': self.media}, + payload=list(self.iter_codecs())) + + def _setup_funnel(self): + self.funnel = Gst.ElementFactory.make('funnel', None) + self.pipeline.add(self.funnel) + self.funnel.link(self.sink) + self.sink.set_state(Gst.State.PLAYING) + self.funnel.set_state(Gst.State.PLAYING) + + def _on_src_pad_added(self, _stream, pad, codec): + log.info('Used codec: %s', codec.to_string()) + if not self.funnel: + self._setup_funnel() + pad.link(self.funnel.get_request_pad('sink_%u')) + + def _on_gst_message(self, _bus, message): + if message.type == Gst.MessageType.ELEMENT: + name = message.get_structure().get_name() + message_string = message.get_structure().to_string() + log.debug('gst element message: %s', message_string) + if name == 'farstream-new-active-candidate-pair': + pass + elif name == 'farstream-recv-codecs-changed': + pass + elif name == 'farstream-codecs-changed': + if self.sent and self.p2psession.props.codecs_without_config: + self.send_description_info() + if self.transport.remote_candidates: + # those lines MUST be done after we get info on our + # codecs + self.p2pstream.add_remote_candidates( + self.transport.remote_candidates) + self.transport.remote_candidates = [] + self.p2pstream.set_property('direction', + Farstream.StreamDirection.BOTH) + + elif name == 'farstream-local-candidates-prepared': + self.candidates_ready = True + if self.is_ready(): + self.session.on_session_state_changed(self) + elif name == 'farstream-new-local-candidate': + candidate = self.p2pstream.parse_new_local_candidate(message)[1] + self.transport.candidates.append(candidate) + if self.sent: + # FIXME: Is this case even possible? + self.send_candidate(candidate) + elif name == 'farstream-component-state-changed': + state = message.get_structure().get_value('state') + if state == Farstream.StreamState.FAILED: + reason = nbxmpp.Node('reason') + reason.setTag('failed-transport') + self.session.remove_content(self.creator, self.name, reason) + elif name == 'farstream-error': + log.error('Farstream error #%d!\nMessage: %s', + message.get_structure().get_value('error-no'), + message.get_structure().get_value('error-msg')) + elif message.type == Gst.MessageType.ERROR: + # TODO: Fix it to fallback to videotestsrc anytime an error occur, + # or raise an error, Jingle way + # or maybe one-sided stream? + gerror_msg = message.get_structure().get_value('gerror') + debug_msg = message.get_structure().get_value('debug') + log.error(gerror_msg) + log.error(debug_msg) + if not self.stream_failed_once: + app.nec.push_incoming_event( + InformationEvent( + None, dialog_name='gstreamer-error', + kwargs={'error': gerror_msg, 'debug': debug_msg})) + + sink_pad = self.p2psession.get_property('sink-pad') + + # Remove old source + self.src_bin.get_static_pad('src').unlink(sink_pad) + self.src_bin.set_state(Gst.State.NULL) + self.pipeline.remove(self.src_bin) + + if not self.stream_failed_once: + # Add fallback source + self.src_bin = self.get_fallback_src() + self.pipeline.add(self.src_bin) + self.src_bin.get_static_pad('src').link(sink_pad) + self.stream_failed_once = True + else: + reason = nbxmpp.Node('reason') + reason.setTag('failed-application') + self.session.remove_content(self.creator, self.name, reason) + + # Start playing again + self.pipeline.set_state(Gst.State.PLAYING) + + @staticmethod + def get_fallback_src(): + return Gst.ElementFactory.make('fakesrc', None) + + def on_negotiated(self): + if self.accepted: + if self.p2psession.get_property('codecs'): + # those lines MUST be done after we get info on our codecs + if self.transport.remote_candidates: + self.p2pstream.add_remote_candidates( + self.transport.remote_candidates) + self.transport.remote_candidates = [] + # TODO: Farstream.StreamDirection.BOTH only if senders='both' +# self.p2pstream.set_property('direction', +# Farstream.StreamDirection.BOTH) + JingleContent.on_negotiated(self) + + def __on_remote_codecs(self, _stanza, content, _error, _action): + """ + Get peer codecs from what we get from peer + """ + codecs = [] + for codec in content.getTag('description').iterTags('payload-type'): + if not codec['id'] or not codec['name'] or not codec['clockrate']: + # ignore invalid payload-types + continue + farstream_codec = Farstream.Codec.new( + int(codec['id']), + codec['name'], + self.farstream_media, + int(codec['clockrate'])) + if 'channels' in codec: + farstream_codec.channels = int(codec['channels']) + else: + farstream_codec.channels = 1 + for param in codec.iterTags('parameter'): + farstream_codec.add_optional_parameter( + param['name'], str(param['value'])) + log.debug('Remote codec: %s (%s)', + codec['name'], codec['clockrate']) + codecs.append(farstream_codec) + if codecs: + try: + self.p2pstream.set_remote_codecs(codecs) + except GLib.Error: + raise FailedApplication + + def iter_codecs(self): + codecs = self.p2psession.props.codecs_without_config + for codec in codecs: + attrs = { + 'name': codec.encoding_name, + 'id': codec.id, + } + if codec.channels > 0: + attrs['channels'] = codec.channels + if codec.clock_rate: + attrs['clockrate'] = codec.clock_rate + if codec.optional_params: + payload = [nbxmpp.Node('parameter', + {'name': p.name, 'value': p.value}) + for p in codec.optional_params] + else: + payload = [] + yield nbxmpp.Node('payload-type', attrs, payload) + + def __stop(self, *things): + self.pipeline.set_state(Gst.State.NULL) + + def __del__(self): + self.__stop() + + def destroy(self): + JingleContent.destroy(self) + self.p2pstream.disconnect_by_func(self._on_src_pad_added) + self.pipeline.get_bus().disconnect_by_func(self._on_gst_message) + + +class JingleAudio(JingleRTPContent): + """ + Jingle VoIP sessions consist of audio content transported over an ICE UDP + protocol + """ + + def __init__(self, session, transport=None): + JingleRTPContent.__init__(self, session, 'audio', transport) + self.setup_stream() + + def set_mic_volume(self, vol): + """ + vol must be between 0 and 1 + """ + self.mic_volume.set_property('volume', vol) + + def set_out_volume(self, vol): + """ + vol must be between 0 and 1 + """ + self.out_volume.set_property('volume', vol) + + def setup_stream(self): + JingleRTPContent.setup_stream(self, self._on_src_pad_added) + + # list of codecs that are explicitly allowed + allow_codecs = [ + Farstream.Codec.new(Farstream.CODEC_ID_ANY, 'OPUS', + Farstream.MediaType.AUDIO, 48000), + Farstream.Codec.new(Farstream.CODEC_ID_ANY, 'SPEEX', + Farstream.MediaType.AUDIO, 32000), + Farstream.Codec.new(Farstream.CODEC_ID_ANY, 'G722', + Farstream.MediaType.AUDIO, 8000), + Farstream.Codec.new(Farstream.CODEC_ID_ANY, 'SPEEX', + Farstream.MediaType.AUDIO, 16000), + Farstream.Codec.new(Farstream.CODEC_ID_ANY, 'PCMA', + Farstream.MediaType.AUDIO, 8000), + Farstream.Codec.new(Farstream.CODEC_ID_ANY, 'PCMU', + Farstream.MediaType.AUDIO, 8000), + Farstream.Codec.new(Farstream.CODEC_ID_ANY, 'SPEEX', + Farstream.MediaType.AUDIO, 8000), + Farstream.Codec.new(Farstream.CODEC_ID_ANY, 'AMR', + Farstream.MediaType.AUDIO, 8000), + ] + + # disable all other codecs + disable_codecs = [] + codecs_without_config = self.p2psession.props.codecs_without_config + allowed_encoding_names = [c.encoding_name for c in allow_codecs] + allowed_encoding_names.append('telephone-event') + for codec in codecs_without_config: + if codec.encoding_name not in allowed_encoding_names: + disable_codecs.append(Farstream.Codec.new( + Farstream.CODEC_ID_DISABLE, + codec.encoding_name, + Farstream.MediaType.AUDIO, + codec.clock_rate)) + + self.p2psession.set_codec_preferences(allow_codecs + disable_codecs) + + # the local parts + # TODO: Add queues? + self.src_bin = self.make_bin_from_config( + 'audio_input_device', + '%s ! audioconvert', + _('audio input')) + + self.sink = self.make_bin_from_config( + 'audio_output_device', + 'audioconvert ! volume name=gajim_out_vol ! %s', + _('audio output')) + + self.mic_volume = self.src_bin.get_by_name('gajim_vol') + self.out_volume = self.sink.get_by_name('gajim_out_vol') + + # link gst elements + self.pipeline.add(self.sink) + self.pipeline.add(self.src_bin) + + self.src_bin.get_static_pad('src').link( + self.p2psession.get_property('sink-pad')) + + # The following is needed for farstream to process ICE requests: + self.pipeline.set_state(Gst.State.PLAYING) + + +class JingleVideo(JingleRTPContent): + def __init__(self, session, transport=None): + JingleRTPContent.__init__(self, session, 'video', transport) + self.sink = None + self.setup_stream() + + def setup_stream(self): + # TODO: Everything is not working properly: + # sometimes, one window won't show up, + # sometimes it'll freeze... + JingleRTPContent.setup_stream(self, self._on_src_pad_added) + bus = self.pipeline.get_bus() + bus.enable_sync_message_emission() + + # list of codecs that are explicitly allowed + # for now only VP8/H264 (available in gst-plugins-good) + allow_codecs = [ + #Farstream.Codec.new(Farstream.CODEC_ID_ANY, 'VP9', + # Farstream.MediaType.VIDEO, 90000), + Farstream.Codec.new(Farstream.CODEC_ID_ANY, 'VP8', + Farstream.MediaType.VIDEO, 90000), + Farstream.Codec.new(Farstream.CODEC_ID_ANY, 'H264', + Farstream.MediaType.VIDEO, 90000), + ] + + # disable all other codecs + disable_codecs = [] + codecs_without_config = self.p2psession.props.codecs_without_config + allowed_encoding_names = [c.encoding_name for c in allow_codecs] + for codec in codecs_without_config: + if codec.encoding_name not in allowed_encoding_names: + disable_codecs.append(Farstream.Codec.new( + Farstream.CODEC_ID_DISABLE, + codec.encoding_name, + Farstream.MediaType.VIDEO, + codec.clock_rate)) + + self.p2psession.set_codec_preferences(allow_codecs + disable_codecs) + + def do_setup(self, self_display_sink, other_sink): + if app.settings.get('video_see_self'): + tee = ('! tee name=split ! queue name=self-display-queue split. ! ' + 'queue name=network-queue') + else: + tee = '' + + self.sink = other_sink + self.pipeline.add(self.sink) + + self.src_bin = self.make_bin_from_config( + 'video_input_device', + '%%s %s' % tee, + _('video input')) + + self.pipeline.add(self.src_bin) + if app.settings.get('video_see_self'): + self.pipeline.add(self_display_sink) + self_display_queue = self.src_bin.get_by_name('self-display-queue') + self_display_queue.get_static_pad('src').link_maybe_ghosting( + self_display_sink.get_static_pad('sink')) + + self.src_bin.get_static_pad('src').link( + self.p2psession.get_property('sink-pad')) + + # The following is needed for farstream to process ICE requests: + self.pipeline.set_state(Gst.State.PLAYING) + + if log.getEffectiveLevel() == logging.DEBUG: + # Use 'export GST_DEBUG_DUMP_DOT_DIR=/tmp/' before starting Gajim + timestamp = datetime.now().strftime('%m-%d-%Y-%H-%M-%S') + name = f'video-graph-{timestamp}' + debug_dir = os.environ.get('GST_DEBUG_DUMP_DOT_DIR') + name_dot = f'{debug_dir}/{name}.dot' + name_png = f'{debug_dir}/{name}.png' + Gst.debug_bin_to_dot_file( + self.pipeline, Gst.DebugGraphDetails.ALL, name) + if debug_dir: + try: + os.system(f'dot -Tpng {name_dot} > {name_png}') + except Exception: + log.debug('Could not save pipeline graph. Make sure ' + 'graphviz is installed.') + + def get_fallback_src(self): + # TODO: Use avatar? + pipeline = ('videotestsrc is-live=true ! video/x-raw,framerate=10/1 ! ' + 'videoconvert') + return Gst.parse_bin_from_description(pipeline, True) + + +def get_content(desc): + if desc['media'] == 'audio': + return JingleAudio + if desc['media'] == 'video': + return JingleVideo + + +contents[Namespace.JINGLE_RTP] = get_content diff --git a/gajim/common/jingle_session.py b/gajim/common/jingle_session.py new file mode 100644 index 0000000..37eecc6 --- /dev/null +++ b/gajim/common/jingle_session.py @@ -0,0 +1,849 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +""" +Handles Jingle sessions (XEP 0166) +""" + +#TODO: +# * 'senders' attribute of 'content' element +# * security preconditions +# * actions: +# - content-modify +# - session-info +# - security-info +# - transport-accept, transport-reject +# - Tie-breaking +# * timeout + +import logging +from enum import Enum, unique + +import nbxmpp +from nbxmpp.namespaces import Namespace +from nbxmpp.util import generate_id + +from gajim.common import app +from gajim.common.jingle_transport import get_jingle_transport +from gajim.common.jingle_transport import JingleTransportIBB +from gajim.common.jingle_content import get_jingle_content +from gajim.common.jingle_content import JingleContentSetupException +from gajim.common.jingle_ft import State +from gajim.common.connection_handlers_events import FilesProp +from gajim.common.nec import NetworkEvent + +log = logging.getLogger("app.c.jingle_session") + +# FIXME: Move it to JingleSession.States? +@unique +class JingleStates(Enum): + """ + States in which jingle session may exist + """ + ENDED = 0 + PENDING = 1 + ACTIVE = 2 + +class OutOfOrder(Exception): + """ + Exception that should be raised when an action is received when in the wrong + state + """ + +class TieBreak(Exception): + """ + Exception that should be raised in case of a tie, when we overrule the other + action + """ + +class FailedApplication(Exception): + """ + Exception that should be raised in case responder supports none of the + payload-types offered by the initiator + """ + +class JingleSession: + """ + This represents one jingle session, that is, one or more content types + negotiated between an initiator and a responder. + """ + + def __init__(self, con, weinitiate, jid, iq_id=None, sid=None, + werequest=False): + """ + con -- connection object, + weinitiate -- boolean, are we the initiator? + jid - jid of the other entity + """ + self.contents = {} # negotiated contents + self.connection = con # connection to use + # our full jid + self.ourjid = str(self.connection.get_own_jid()) + self.peerjid = jid # jid we connect to + # jid we use as the initiator + self.initiator = self.ourjid if weinitiate else self.peerjid + # jid we use as the responder + self.responder = self.peerjid if weinitiate else self.ourjid + # are we an initiator? + self.weinitiate = weinitiate + # Are we requesting or offering a file? + self.werequest = werequest + self.request = False + # what state is session in? (one from JingleStates) + self.state = JingleStates.ENDED + if not sid: + sid = generate_id() + self.sid = sid # sessionid + # iq stanza id, used to determine which sessions to summon callback + # later on when iq-result stanza arrives + if iq_id is not None: + self.iq_ids = [iq_id] + else: + self.iq_ids = [] + self.accepted = True # is this session accepted by user + # Tells whether this session is a file transfer or not + self.session_type_ft = False + # callbacks to call on proper contents + # use .prepend() to add new callbacks, especially when you're going + # to send error instead of ack + self.callbacks = { + 'content-accept': [self.__ack, self.__on_content_accept, + self.__broadcast], + 'content-add': [self.__ack, + self.__on_content_add, self.__broadcast + ], #TODO + 'content-modify': [self.__ack], #TODO + 'content-reject': [self.__ack, self.__on_content_remove], + 'content-remove': [self.__ack, self.__on_content_remove], + 'description-info': [self.__ack, self.__broadcast], #TODO + 'security-info': [self.__ack], #TODO + 'session-accept': [self.__ack, self.__on_session_accept, + self.__on_content_accept, + self.__broadcast], + 'session-info': [self.__ack, self.__broadcast, + self.__on_session_info], + 'session-initiate': [self.__ack, self.__on_session_initiate, + self.__broadcast], + 'session-terminate': [self.__ack, self.__on_session_terminate, + self.__broadcast_all], + 'transport-info': [self.__ack, self.__broadcast], + 'transport-replace': [self.__ack, self.__broadcast, + self.__on_transport_replace], #TODO + 'transport-accept': [self.__ack, self.__on_session_accept, + self.__on_content_accept, + self.__broadcast], + 'transport-reject': [self.__ack], #TODO + 'iq-result': [self.__broadcast], + 'iq-error': [self.__on_error], + } + + def collect_iq_id(self, iq_id): + if iq_id is not None: + self.iq_ids.append(iq_id) + + def approve_session(self): + """ + Called when user accepts session in UI (when we aren't the initiator) + """ + self.accept_session() + + def decline_session(self): + """ + Called when user declines session in UI (when we aren't the initiator) + """ + reason = nbxmpp.Node('reason') + reason.addChild('decline') + self._session_terminate(reason) + + def cancel_session(self): + """ + Called when user declines session in UI (when we aren't the initiator) + """ + reason = nbxmpp.Node('reason') + reason.addChild('cancel') + self._session_terminate(reason) + + def approve_content(self, media, name=None): + content = self.get_content(media, name) + if content: + content.accepted = True + self.on_session_state_changed(content) + + def reject_content(self, media, name=None): + content = self.get_content(media, name) + if content: + if self.state == JingleStates.ACTIVE: + self.__content_reject(content) + content.destroy() + self.on_session_state_changed() + + def end_session(self): + """ + Called when user stops or cancel session in UI + """ + reason = nbxmpp.Node('reason') + if self.state == JingleStates.ACTIVE: + reason.addChild('success') + else: + reason.addChild('cancel') + self._session_terminate(reason) + + def get_content(self, media=None, name=None): + if media is None: + return + for content in self.contents.values(): + if content.media == media: + if name is None or content.name == name: + return content + + def add_content(self, name, content, creator='we'): + """ + Add new content to session. If the session is active, this will send + proper stanza to update session + + Creator must be one of ('we', 'peer', 'initiator', 'responder') + """ + assert creator in ('we', 'peer', 'initiator', 'responder') + if (creator == 'we' and self.weinitiate) or (creator == 'peer' and \ + not self.weinitiate): + creator = 'initiator' + elif (creator == 'peer' and self.weinitiate) or (creator == 'we' and \ + not self.weinitiate): + creator = 'responder' + content.creator = creator + content.name = name + self.contents[(creator, name)] = content + if (creator == 'initiator') == self.weinitiate: + # The content is from us, accept it + content.accepted = True + + def remove_content(self, creator, name, reason=None): + """ + Remove the content `name` created by `creator` + by sending content-remove, or by sending session-terminate if + there is no content left. + """ + if (creator, name) in self.contents: + content = self.contents[(creator, name)] + self.__content_remove(content, reason) + self.contents[(creator, name)].destroy() + if not self.contents: + self.end_session() + + def modify_content(self, creator, name, transport=None): + ''' + Currently used for transport replacement + ''' + content = self.contents[(creator, name)] + file_props = content.transport.file_props + file_props.transport_sid = transport.sid + transport.set_file_props(file_props) + content.transport = transport + # The content will have to be resend now that it is modified + content.sent = False + content.accepted = True + + def on_session_state_changed(self, content=None): + if self.state == JingleStates.ENDED: + # Session not yet started, only one action possible: session-initiate + if self.is_ready() and self.weinitiate: + self.__session_initiate() + elif self.state == JingleStates.PENDING: + # We can either send a session-accept or a content-add + if self.is_ready() and not self.weinitiate: + self.__session_accept() + elif content and (content.creator == 'initiator') == self.weinitiate: + self.__content_add(content) + elif content and self.weinitiate: + self.__content_accept(content) + elif self.state == JingleStates.ACTIVE: + # We can either send a content-add or a content-accept. However, if + # we are sending a file we can only use session_initiate. + if not content: + return + we_created_content = (content.creator == 'initiator') \ + == self.weinitiate + if we_created_content and content.media == 'file': + self.__session_initiate() + if we_created_content: + # We initiated this content. It's a pending content-add. + self.__content_add(content) + else: + # The other side created this content, we accept it. + self.__content_accept(content) + + def is_ready(self): + """ + Return True when all codecs and candidates are ready (for all contents) + """ + return (all((content.is_ready() for content in self.contents.values())) + and self.accepted) + + def accept_session(self): + """ + Mark the session as accepted + """ + self.accepted = True + self.on_session_state_changed() + + def start_session(self): + """ + Mark the session as ready to be started + """ + self.accepted = True + self.on_session_state_changed() + + def send_session_info(self): + pass + + def send_content_accept(self, content): + assert self.state != JingleStates.ENDED + stanza, jingle = self.__make_jingle('content-accept') + jingle.addChild(node=content) + self.connection.connection.send(stanza) + + def send_transport_info(self, content): + assert self.state != JingleStates.ENDED + stanza, jingle = self.__make_jingle('transport-info') + jingle.addChild(node=content) + self.connection.connection.send(stanza) + self.collect_iq_id(stanza.getID()) + + def send_description_info(self, content): + assert self.state != JingleStates.ENDED + stanza, jingle = self.__make_jingle('description-info') + jingle.addChild(node=content) + self.connection.connection.send(stanza) + + def on_stanza(self, stanza): + """ + A callback for ConnectionJingle. It gets stanza, then tries to send it to + all internally registered callbacks. First one to raise + nbxmpp.NodeProcessed breaks function + """ + jingle = stanza.getTag('jingle') + error = stanza.getTag('error') + if error: + # it's an iq-error stanza + action = 'iq-error' + elif jingle: + # it's a jingle action + action = jingle.getAttr('action') + if action not in self.callbacks: + self.__send_error(stanza, 'bad-request') + return + # FIXME: If we aren't initiated and it's not a session-initiate... + if action not in ['session-initiate', 'session-terminate'] \ + and self.state == JingleStates.ENDED: + self.__send_error(stanza, 'item-not-found', 'unknown-session') + return + else: + # it's an iq-result (ack) stanza + action = 'iq-result' + callables = self.callbacks[action] + try: + for call in callables: + call(stanza=stanza, jingle=jingle, error=error, action=action) + except nbxmpp.NodeProcessed: + pass + except TieBreak: + self.__send_error(stanza, 'conflict', 'tiebreak') + except OutOfOrder: + # FIXME + self.__send_error(stanza, 'unexpected-request', 'out-of-order') + except FailedApplication: + reason = nbxmpp.Node('reason') + reason.addChild('failed-application') + self._session_terminate(reason) + + def __ack(self, stanza, jingle, error, action): + """ + Default callback for action stanzas -- simple ack and stop processing + """ + response = stanza.buildReply('result') + response.delChild(response.getQuery()) + self.connection.connection.send(response) + + def __on_error(self, stanza, jingle, error, action): + # FIXME + text = error.getTagData('text') + error_name = None + for child in error.getChildren(): + if child.getNamespace() == Namespace.JINGLE_ERRORS: + error_name = child.getName() + break + if child.getNamespace() == Namespace.STANZAS: + error_name = child.getName() + self.__dispatch_error(error_name, text, error.getAttr('type')) + + def transport_replace(self): + transport = JingleTransportIBB() + # For debug only, delete this and replace for a function + # that will identify contents by its sid + for creator, name in self.contents: + self.modify_content(creator, name, transport) + cont = self.contents[(creator, name)] + cont.transport = transport + stanza, jingle = self.__make_jingle('transport-replace') + self.__append_contents(jingle) + self.__broadcast(stanza, jingle, None, 'transport-replace') + self.connection.connection.send(stanza) + self.state = JingleStates.PENDING + + def __on_transport_replace(self, stanza, jingle, error, action): + for content in jingle.iterTags('content'): + creator = content['creator'] + name = content['name'] + if (creator, name) in self.contents: + transport_ns = content.getTag('transport').getNamespace() + if transport_ns == Namespace.JINGLE_ICE_UDP: + # FIXME: We don't manage anything else than ICE-UDP now... + # What was the previous transport?!? + # Anyway, content's transport is not modifiable yet + pass + elif transport_ns == Namespace.JINGLE_IBB: + transport = JingleTransportIBB(node=content.getTag( + 'transport')) + self.modify_content(creator, name, transport) + self.state = JingleStates.PENDING + self.contents[(creator, name)].state = State.TRANSPORT_REPLACE + self.__ack(stanza, jingle, error, action) + self.__transport_accept(transport) + else: + stanza, jingle = self.__make_jingle('transport-reject') + content = jingle.setTag('content', attrs={'creator': creator, + 'name': name}) + content.setTag('transport', namespace=transport_ns) + self.connection.connection.send(stanza) + raise nbxmpp.NodeProcessed + else: + # FIXME: This resource is unknown to us, what should we do? + # For now, reject the transport + stanza, jingle = self.__make_jingle('transport-reject') + content = jingle.setTag('content', attrs={'creator': creator, + 'name': name}) + content.setTag('transport', namespace=transport_ns) + self.connection.connection.send(stanza) + raise nbxmpp.NodeProcessed + + def __on_session_info(self, stanza, jingle, error, action): + # TODO: active, (un)hold, (un)mute + payload = jingle.getPayload() + if payload[0].getName() == 'ringing': + # ignore ringing + raise nbxmpp.NodeProcessed + if self.state != JingleStates.ACTIVE: + raise OutOfOrder + for child in payload: + if child.getName() == 'checksum': + hash_ = child.getTag('file').getTag(name='hash', + namespace=Namespace.HASHES_2) + if hash_ is None: + continue + algo = hash_.getAttr('algo') + if algo in nbxmpp.Hashes2.supported: + file_props = FilesProp.getFileProp(self.connection.name, + self.sid) + file_props.algo = algo + file_props.hash_ = hash_.getData() + raise nbxmpp.NodeProcessed + self.__send_error(stanza, 'feature-not-implemented', 'unsupported-info', + type_='modify') + raise nbxmpp.NodeProcessed + + def __on_content_remove(self, stanza, jingle, error, action): + for content in jingle.iterTags('content'): + creator = content['creator'] + name = content['name'] + if (creator, name) in self.contents: + content = self.contents[(creator, name)] + # TODO: this will fail if content is not an RTP content + self._raise_event('jingle-disconnected-received', + media=content.media, + reason='removed') + content.destroy() + if not self.contents: + reason = nbxmpp.Node('reason') + reason.setTag('success') + self._session_terminate(reason) + + def __on_session_accept(self, stanza, jingle, error, action): + # FIXME + if self.state != JingleStates.PENDING: + raise OutOfOrder + self.state = JingleStates.ACTIVE + + @staticmethod + def __on_content_accept(stanza, jingle, error, action): + """ + Called when we get content-accept stanza or equivalent one (like + session-accept) + """ + # check which contents are accepted + # for content in jingle.iterTags('content'): + # creator = content['creator'] + # name = content['name'] + return + + def __on_content_add(self, stanza, jingle, error, action): + if self.state == JingleStates.ENDED: + raise OutOfOrder + parse_result = self.__parse_contents(jingle) + contents = parse_result[0] + # rejected_contents = parse_result[1] + # for name, creator in rejected_contents: + # content = JingleContent() + # self.add_content(name, content, creator) + # self.__content_reject(content) + # self.contents[(content.creator, content.name)].destroy() + self._raise_event('jingle-request-received', contents=contents) + + def __on_session_initiate(self, stanza, jingle, error, action): + """ + We got a jingle session request from other entity, therefore we are the + receiver... Unpack the data, inform the user + """ + if self.state != JingleStates.ENDED: + raise OutOfOrder + self.initiator = jingle['initiator'] + self.responder = self.ourjid + self.peerjid = self.initiator + self.accepted = False # user did not accept this session yet + # TODO: If the initiator is unknown to the receiver (e.g., via presence + # subscription) and the receiver has a policy of not communicating via + # Jingle with unknown entities, it SHOULD return a + # error. + # Lets check what kind of jingle session does the peer want + contents, _contents_rejected, reason_txt = self.__parse_contents(jingle) + + # If there's no content we understand... + if not contents: + # TODO: http://xmpp.org/extensions/xep-0166.html#session-terminate + reason = nbxmpp.Node('reason') + reason.setTag(reason_txt) + self.__ack(stanza, jingle, error, action) + self._session_terminate(reason) + raise nbxmpp.NodeProcessed + + # If we are not receiving a file + # Check if there's already a session with this user: + if contents[0].media != 'file': + for session in self.connection.get_module('Jingle').get_jingle_sessions(self.peerjid): + if session is not self: + reason = nbxmpp.Node('reason') + alternative_session = reason.setTag('alternative-session') + alternative_session.setTagData('sid', session.sid) + self.__ack(stanza, jingle, error, action) + self._session_terminate(reason) + raise nbxmpp.NodeProcessed + else: + # Stop if we don't have the requested file or the peer is not + # allowed to request the file + request = contents[0].senders == 'responder' + if request: + self.request = True + hash_tag = request.getTag('file').getTag('hash') + hash_data = hash_tag.getData() if hash_tag else None + n = request.getTag('file').getTag('name') + n = n.getData() if n else None + pjid = app.get_jid_without_resource(self.peerjid) + file_info = self.connection.get_module('Jingle').get_file_info( + pjid, hash_data, n, self.connection.name) + if not file_info: + log.warning('The peer %s is requesting a ' \ + 'file that we don’t have or ' \ + 'it is not allowed to request', pjid) + self.decline_session() + raise nbxmpp.NodeProcessed + + self.state = JingleStates.PENDING + # Send event about starting a session + self._raise_event('jingle-request-received', contents=contents) + + def __broadcast(self, stanza, jingle, error, action): + """ + Broadcast the stanza contents to proper content handlers + """ + #if jingle is None: # it is a iq-result stanza + # for cn in self.contents.values(): + # cn.on_stanza(stanza, None, error, action) + # return + # special case: iq-result stanza does not come with a jingle element + if action == 'iq-result': + for cn in self.contents.values(): + cn.on_stanza(stanza, None, error, action) + return + for content in jingle.iterTags('content'): + name = content['name'] + creator = content['creator'] + if (creator, name) not in self.contents: + text = 'Content %s (created by %s) does not exist' % (name, creator) + self.__send_error(stanza, 'bad-request', text=text, type_='modify') + raise nbxmpp.NodeProcessed + + cn = self.contents[(creator, name)] + cn.on_stanza(stanza, content, error, action) + + def __on_session_terminate(self, stanza, jingle, error, action): + self.connection.get_module('Jingle').delete_jingle_session(self.sid) + reason, text = self.__reason_from_stanza(jingle) + if reason not in ('success', 'cancel', 'decline'): + self.__dispatch_error(reason, text) + if text: + text = '%s (%s)' % (reason, text) + else: + # TODO + text = reason + if reason == 'decline': + self._raise_event('jingle-disconnected-received', + media=None, + reason=text) + if reason == 'success': + self._raise_event('jingle-disconnected-received', + media=None, + reason=text) + if reason == 'cancel' and self.session_type_ft: + self._raise_event('jingle-ft-cancelled-received', + media=None, + reason=text) + + def __broadcast_all(self, stanza, jingle, error, action): + """ + Broadcast the stanza to all content handlers + """ + for content in self.contents.values(): + content.on_stanza(stanza, None, error, action) + + def __parse_contents(self, jingle): + # TODO: Needs some reworking + contents = [] + contents_rejected = [] + reasons = set() + for element in jingle.iterTags('content'): + transport = get_jingle_transport(element.getTag('transport')) + if transport: + transport.ourjid = self.ourjid + content_type = get_jingle_content(element.getTag('description')) + if content_type: + try: + if transport: + content = content_type(self, transport=transport) + self.add_content(element['name'], + content, 'peer') + contents.append(content) + else: + reasons.add('unsupported-transports') + contents_rejected.append((element['name'], 'peer')) + except JingleContentSetupException: + reasons.add('failed-application') + else: + contents_rejected.append((element['name'], 'peer')) + reasons.add('unsupported-applications') + failure_reason = None + # Store the first reason of failure + for reason in ('failed-application', 'unsupported-transports', + 'unsupported-applications'): + if reason in reasons: + failure_reason = reason + break + return (contents, contents_rejected, failure_reason) + + def __dispatch_error(self, error=None, text=None, type_=None): + if text: + text = '%s (%s)' % (error, text) + if type_ != 'modify': + self._raise_event('jingle-error-received', reason=text or error) + + @staticmethod + def __reason_from_stanza(stanza): + # TODO: Move to GUI? + reason = 'success' + reasons = [ + 'success', 'busy', 'cancel', 'connectivity-error', 'decline', + 'expired', 'failed-application', 'failed-transport', + 'general-error', 'gone', 'incompatible-parameters', 'media-error', + 'security-error', 'timeout', 'unsupported-applications', + 'unsupported-transports' + ] + tag = stanza.getTag('reason') + text = '' + if tag: + text = tag.getTagData('text') + for r in reasons: + if tag.getTag(r): + reason = r + break + return (reason, text) + + def __make_jingle(self, action, reason=None): + stanza = nbxmpp.Iq(typ='set', to=nbxmpp.JID.from_string(self.peerjid), + frm=self.ourjid) + attrs = { + 'action': action, + 'sid': self.sid, + 'initiator' : self.initiator + } + jingle = stanza.addChild('jingle', attrs=attrs, + namespace=Namespace.JINGLE) + if reason is not None: + jingle.addChild(node=reason) + return stanza, jingle + + def __send_error(self, stanza, error, jingle_error=None, text=None, type_=None): + err_stanza = nbxmpp.Error(stanza, '%s %s' % (Namespace.STANZAS, error)) + err = err_stanza.getTag('error') + if type_: + err.setAttr('type', type_) + if jingle_error: + err.setTag(jingle_error, namespace=Namespace.JINGLE_ERRORS) + if text: + err.setTagData('text', text) + self.connection.connection.send(err_stanza) + self.__dispatch_error(jingle_error or error, text, type_) + + @staticmethod + def __append_content(jingle, content): + """ + Append element to element + """ + jingle.addChild('content', + attrs={'name': content.name, + 'creator': content.creator, + 'senders': content.senders}) + + def __append_contents(self, jingle): + """ + Append all elements to + """ + # TODO: integrate with __appendContent? + # TODO: parameters 'name', 'content'? + for content in self.contents.values(): + if content.is_ready(): + self.__append_content(jingle, content) + + def __session_initiate(self): + assert self.state == JingleStates.ENDED + stanza, jingle = self.__make_jingle('session-initiate') + self.__append_contents(jingle) + self.__broadcast(stanza, jingle, None, 'session-initiate-sent') + self.connection.connection.send(stanza) + self.collect_iq_id(stanza.getID()) + self.state = JingleStates.PENDING + + def __session_accept(self): + assert self.state == JingleStates.PENDING + stanza, jingle = self.__make_jingle('session-accept') + self.__append_contents(jingle) + self.__broadcast(stanza, jingle, None, 'session-accept-sent') + self.connection.connection.send(stanza) + self.collect_iq_id(stanza.getID()) + self.state = JingleStates.ACTIVE + + def __session_info(self, payload=None): + assert self.state != JingleStates.ENDED + stanza, jingle = self.__make_jingle('session-info') + if payload: + jingle.addChild(node=payload) + self.connection.connection.send(stanza) + + def _JingleFileTransfer__session_info(self, payload): + # For some strange reason when I call + # self.session.__session_info(payload) from the jingleFileTransfer object + # within a thread, this method gets called instead. Even though, it + # isn't being called explicitly. + self.__session_info(payload) + + def _session_terminate(self, reason=None): + stanza, jingle = self.__make_jingle('session-terminate', reason=reason) + self.__broadcast_all(stanza, jingle, None, 'session-terminate-sent') + if self.connection.connection and self.connection.state.is_available: + self.connection.connection.send(stanza) + # TODO: Move to GUI? + reason, text = self.__reason_from_stanza(jingle) + if reason not in ('success', 'cancel', 'decline'): + self.__dispatch_error(reason, text) + if text: + text = '%s (%s)' % (reason, text) + else: + text = reason + self.connection.get_module('Jingle').delete_jingle_session(self.sid) + self._raise_event('jingle-disconnected-received', + media=None, + reason=text) + + def __content_add(self, content): + # TODO: test + assert self.state != JingleStates.ENDED + stanza, jingle = self.__make_jingle('content-add') + self.__append_content(jingle, content) + self.__broadcast(stanza, jingle, None, 'content-add-sent') + id_ = self.connection.connection.send(stanza) + self.collect_iq_id(id_) + + def __content_accept(self, content): + # TODO: test + assert self.state != JingleStates.ENDED + stanza, jingle = self.__make_jingle('content-accept') + self.__append_content(jingle, content) + self.__broadcast(stanza, jingle, None, 'content-accept-sent') + id_ = self.connection.connection.send(stanza) + self.collect_iq_id(id_) + + def __content_reject(self, content): + assert self.state != JingleStates.ENDED + stanza, jingle = self.__make_jingle('content-reject') + self.__append_content(jingle, content) + self.connection.connection.send(stanza) + # TODO: this will fail if content is not an RTP content + self._raise_event('jingle-disconnected-received', + media=content.media, + reason='rejected') + + def __content_modify(self): + assert self.state != JingleStates.ENDED + + def __content_remove(self, content, reason=None): + assert self.state != JingleStates.ENDED + if self.connection.connection and self.connection.state.is_available: + stanza, jingle = self.__make_jingle('content-remove', reason=reason) + self.__append_content(jingle, content) + self.connection.connection.send(stanza) + # TODO: this will fail if content is not an RTP content + self._raise_event('jingle-disconnected-received', + media=content.media, + reason='removed') + + def content_negotiated(self, media): + self._raise_event('jingle-connected-received', media=media) + + def __transport_accept(self, transport): + assert self.state != JingleStates.ENDED + stanza, jingle = self.__make_jingle('transport-accept') + self.__append_contents(jingle) + self.__broadcast(stanza, jingle, None, 'transport-accept') + self.connection.connection.send(stanza) + self.collect_iq_id(stanza.getID()) + self.state = JingleStates.ACTIVE + + def _raise_event(self, name, **kwargs): + jid, resource = app.get_room_and_nick_from_fjid(self.peerjid) + app.nec.push_incoming_event( + NetworkEvent(name, + conn=self.connection, + fjid=self.peerjid, + jid=jid, + sid=self.sid, + resource=resource, + jingle_session=self, + **kwargs)) diff --git a/gajim/common/jingle_transport.py b/gajim/common/jingle_transport.py new file mode 100644 index 0000000..8481abc --- /dev/null +++ b/gajim/common/jingle_transport.py @@ -0,0 +1,502 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +""" +Handles Jingle Transports (currently only ICE-UDP) +""" + +from typing import Any # pylint: disable=unused-import +from typing import Dict # pylint: disable=unused-import + +import logging +import socket +from enum import IntEnum, unique + +import nbxmpp +from nbxmpp.namespaces import Namespace +from nbxmpp.util import generate_id + +from gajim.common import app + +log = logging.getLogger('gajim.c.jingle_transport') + + +transports = {} # type: Dict[str, Any] + +def get_jingle_transport(node): + namespace = node.getNamespace() + if namespace in transports: + return transports[namespace](node) + + +@unique +class TransportType(IntEnum): + """ + Possible types of a JingleTransport + """ + ICEUDP = 1 + SOCKS5 = 2 + IBB = 3 + + +class JingleTransport: + """ + An abstraction of a transport in Jingle sessions + """ + + __slots__ = ['type_', 'candidates', 'remote_candidates', 'connection', + 'file_props', 'ourjid', 'sid'] + + def __init__(self, type_): + self.type_ = type_ + self.candidates = [] + self.remote_candidates = [] + + self.connection = None + self.file_props = None + self.ourjid = None + self.sid = None + + def _iter_candidates(self): + for candidate in self.candidates: + yield self.make_candidate(candidate) + + def make_candidate(self, candidate): + """ + Build a candidate stanza for the given candidate + """ + + def make_transport(self, candidates=None): + """ + Build a transport stanza with the given candidates (or self.candidates if + candidates is None) + """ + if not candidates: + candidates = list(self._iter_candidates()) + else: + candidates = (self.make_candidate(candidate) for candidate in candidates) + transport = nbxmpp.Node('transport', payload=candidates) + return transport + + def parse_transport_stanza(self, transport): + """ + Return the list of transport candidates from a transport stanza + """ + return [] + + def set_connection(self, conn): + self.connection = conn + if not self.sid: + self.sid = generate_id() + + def set_file_props(self, file_props): + self.file_props = file_props + + def set_our_jid(self, jid): + self.ourjid = jid + + def set_sid(self, sid): + self.sid = sid + +class JingleTransportSocks5(JingleTransport): + """ + Socks5 transport in jingle scenario + Note: Don't forget to call set_file_props after initialization + """ + def __init__(self, node=None): + JingleTransport.__init__(self, TransportType.SOCKS5) + self.connection = None + self.remote_candidates = [] + self.sid = None + if node and node.getAttr('sid'): + self.sid = node.getAttr('sid') + + + def make_candidate(self, candidate): + log.info('candidate dict, %s', candidate) + attrs = { + 'cid': candidate['candidate_id'], + 'host': candidate['host'], + 'jid': candidate['jid'], + 'port': candidate['port'], + 'priority': candidate['priority'], + 'type': candidate['type'] + } + + return nbxmpp.Node('candidate', attrs=attrs) + + def make_transport(self, candidates=None, add_candidates=True): + if add_candidates: + self._add_local_ips_as_candidates() + self._add_additional_candidates() + self._add_proxy_candidates() + transport = JingleTransport.make_transport(self, candidates) + else: + transport = nbxmpp.Node('transport') + transport.setNamespace(Namespace.JINGLE_BYTESTREAM) + transport.setAttr('sid', self.sid) + if self.file_props.dstaddr: + transport.setAttr('dstaddr', self.file_props.dstaddr) + return transport + + def parse_transport_stanza(self, transport): + candidates = [] + for candidate in transport.iterTags('candidate'): + typ = 'direct' # default value + if candidate.has_attr('type'): + typ = candidate['type'] + cand = { + 'state': 0, + 'target': self.ourjid, + 'host': candidate['host'], + 'port': int(candidate['port']), + 'candidate_id': candidate['cid'], + 'type': typ, + 'priority': candidate['priority'] + } + candidates.append(cand) + + # we need this when we construct file_props on session-initiation + if candidates: + self.remote_candidates = candidates + return candidates + + + def _add_candidates(self, candidates): + for cand in candidates: + in_remote = False + for cand2 in self.remote_candidates: + if cand['host'] == cand2['host'] and \ + cand['port'] == cand2['port']: + in_remote = True + break + if not in_remote: + self.candidates.append(cand) + + def _add_local_ips_as_candidates(self): + if not app.settings.get_account_setting(self.connection.name, + 'ft_send_local_ips'): + return + if not self.connection: + return + port = int(app.settings.get('file_transfers_port')) + #type preference of connection type. XEP-0260 section 2.2 + type_preference = 126 + priority = (2**16) * type_preference + + hosts = set() + local_ip_cand = [] + + my_ip = self.connection.local_address + if my_ip is None: + log.warning('No local address available') + + else: + candidate = { + 'host': my_ip, + 'candidate_id': generate_id(), + 'port': port, + 'type': 'direct', + 'jid': self.ourjid, + 'priority': priority + } + hosts.add(my_ip) + local_ip_cand.append(candidate) + + try: + for addrinfo in socket.getaddrinfo(socket.gethostname(), None): + addr = addrinfo[4][0] + if not addr in hosts and not addr.startswith('127.') and \ + addr != '::1': + candidate = { + 'host': addr, + 'candidate_id': generate_id(), + 'port': port, + 'type': 'direct', + 'jid': self.ourjid, + 'priority': priority, + 'initiator': self.file_props.sender, + 'target': self.file_props.receiver + } + hosts.add(addr) + local_ip_cand.append(candidate) + except socket.gaierror: + pass # ignore address-related errors for getaddrinfo + + try: + from netifaces import interfaces, ifaddresses, AF_INET, AF_INET6 + for ifaceName in interfaces(): + addresses = ifaddresses(ifaceName) + if AF_INET in addresses: + for address in addresses[AF_INET]: + addr = address['addr'] + if addr in hosts or addr.startswith('127.'): + continue + candidate = { + 'host': addr, + 'candidate_id': generate_id(), + 'port': port, + 'type': 'direct', + 'jid': self.ourjid, + 'priority': priority, + 'initiator': self.file_props.sender, + 'target': self.file_props.receiver + } + hosts.add(addr) + local_ip_cand.append(candidate) + if AF_INET6 in addresses: + for address in addresses[AF_INET6]: + addr = address['addr'] + if addr in hosts or addr.startswith('::1') or \ + addr.count(':') != 7: + continue + candidate = { + 'host': addr, + 'candidate_id': generate_id(), + 'port': port, + 'type': 'direct', + 'jid': self.ourjid, + 'priority': priority, + 'initiator': self.file_props.sender, + 'target': self.file_props.receiver + } + hosts.add(addr) + local_ip_cand.append(candidate) + + except ImportError: + pass + + self._add_candidates(local_ip_cand) + + def _add_additional_candidates(self): + if not self.connection: + return + type_preference = 126 + priority = (2**16) * type_preference + additional_ip_cand = [] + port = int(app.settings.get('file_transfers_port')) + ft_add_hosts = app.settings.get('ft_add_hosts_to_send') + + if ft_add_hosts: + hosts = [e.strip() for e in ft_add_hosts.split(',')] + for host in hosts: + candidate = { + 'host': host, + 'candidate_id': generate_id(), + 'port': port, + 'type': 'direct', + 'jid': self.ourjid, + 'priority': priority, + 'initiator': self.file_props.sender, + 'target': self.file_props.receiver + } + additional_ip_cand.append(candidate) + + self._add_candidates(additional_ip_cand) + + def _add_proxy_candidates(self): + if not self.connection: + return + type_preference = 10 + priority = (2**16) * type_preference + proxy_cand = [] + socks5conn = self.connection + proxyhosts = socks5conn.get_module('Bytestream')._get_file_transfer_proxies_from_config(self.file_props) + + if proxyhosts: + self.file_props.proxyhosts = proxyhosts + + for proxyhost in proxyhosts: + candidate = { + 'host': proxyhost['host'], + 'candidate_id': generate_id(), + 'port': int(proxyhost['port']), + 'type': 'proxy', + 'jid': proxyhost['jid'], + 'priority': priority, + 'initiator': self.file_props.sender, + 'target': self.file_props.receiver + } + proxy_cand.append(candidate) + + self._add_candidates(proxy_cand) + + def get_content(self): + sesn = self.connection.get_module('Jingle').get_jingle_session( + self.ourjid, self.file_props.sid) + for content in sesn.contents.values(): + if content.transport == self: + return content + + def _on_proxy_auth_ok(self, proxy): + log.info('proxy auth ok for %s', str(proxy)) + # send activate request to proxy, send activated confirmation to peer + if not self.connection: + return + sesn = self.connection.get_module('Jingle').get_jingle_session( + self.ourjid, self.file_props.sid) + if sesn is None: + return + + iq = nbxmpp.Iq(to=proxy['jid'], frm=self.ourjid, typ='set') + auth_id = "au_" + proxy['sid'] + iq.setID(auth_id) + query = iq.setTag('query', namespace=Namespace.BYTESTREAM) + query.setAttr('sid', proxy['sid']) + activate = query.setTag('activate') + activate.setData(sesn.peerjid) + iq.setID(auth_id) + self.connection.connection.send(iq) + + + content = nbxmpp.Node('content') + content.setAttr('creator', 'initiator') + content_object = self.get_content() + content.setAttr('name', content_object.name) + transport = nbxmpp.Node('transport') + transport.setNamespace(Namespace.JINGLE_BYTESTREAM) + transport.setAttr('sid', proxy['sid']) + activated = nbxmpp.Node('activated') + cid = None + + if 'cid' in proxy: + cid = proxy['cid'] + else: + for host in self.candidates: + if host['host'] == proxy['host'] and host['jid'] == proxy['jid'] \ + and host['port'] == proxy['port']: + cid = host['candidate_id'] + break + if cid is None: + raise Exception('cid is missing') + activated.setAttr('cid', cid) + transport.addChild(node=activated) + content.addChild(node=transport) + sesn.send_transport_info(content) + + +class JingleTransportIBB(JingleTransport): + + def __init__(self, node=None, block_sz=None): + + JingleTransport.__init__(self, TransportType.IBB) + + if block_sz: + self.block_sz = block_sz + else: + self.block_sz = '4096' + + self.connection = None + self.sid = None + if node and node.getAttr('sid'): + self.sid = node.getAttr('sid') + + + def make_transport(self): + + transport = nbxmpp.Node('transport') + transport.setNamespace(Namespace.JINGLE_IBB) + transport.setAttr('block-size', self.block_sz) + transport.setAttr('sid', self.sid) + return transport + +try: + from gi.repository import Farstream +except ImportError: + pass + +class JingleTransportICEUDP(JingleTransport): + def __init__(self, node): + JingleTransport.__init__(self, TransportType.ICEUDP) + + def make_candidate(self, candidate): + types = { + Farstream.CandidateType.HOST: 'host', + Farstream.CandidateType.SRFLX: 'srflx', + Farstream.CandidateType.PRFLX: 'prflx', + Farstream.CandidateType.RELAY: 'relay', + Farstream.CandidateType.MULTICAST: 'multicast' + } + attrs = { + 'component': candidate.component_id, + 'foundation': '1', # hack + 'generation': '0', + 'ip': candidate.ip, + 'network': '0', + 'port': candidate.port, + 'priority': int(candidate.priority), # hack + 'id': app.get_an_id() + } + if candidate.type in types: + attrs['type'] = types[candidate.type] + if candidate.proto == Farstream.NetworkProtocol.UDP: + attrs['protocol'] = 'udp' + else: + # we actually don't handle properly different tcp options in jingle + attrs['protocol'] = 'tcp' + return nbxmpp.Node('candidate', attrs=attrs) + + def make_transport(self, candidates=None): + transport = JingleTransport.make_transport(self, candidates) + transport.setNamespace(Namespace.JINGLE_ICE_UDP) + if self.candidates and self.candidates[0].username and \ + self.candidates[0].password: + transport.setAttr('ufrag', self.candidates[0].username) + transport.setAttr('pwd', self.candidates[0].password) + return transport + + def parse_transport_stanza(self, transport): + candidates = [] + for candidate in transport.iterTags('candidate'): + foundation = str(candidate['foundation']) + component_id = int(candidate['component']) + ip = str(candidate['ip']) + port = int(candidate['port']) + base_ip = None + base_port = 0 + if candidate['protocol'] == 'udp': + proto = Farstream.NetworkProtocol.UDP + else: + # we actually don't handle properly different tcp options in + # jingle + proto = Farstream.NetworkProtocol.TCP + priority = int(candidate['priority']) + types = { + 'host': Farstream.CandidateType.HOST, + 'srflx': Farstream.CandidateType.SRFLX, + 'prflx': Farstream.CandidateType.PRFLX, + 'relay': Farstream.CandidateType.RELAY, + 'multicast': Farstream.CandidateType.MULTICAST + } + if 'type' in candidate and candidate['type'] in types: + type_ = types[candidate['type']] + else: + log.warning('Unknown type %s', candidate['type']) + type_ = Farstream.CandidateType.HOST + username = str(transport['ufrag']) + password = str(transport['pwd']) + ttl = 0 + + cand = Farstream.Candidate.new_full(foundation, component_id, ip, + port, base_ip, base_port, + proto, priority, type_, + username, password, ttl) + + candidates.append(cand) + self.remote_candidates.extend(candidates) + return candidates + +transports[Namespace.JINGLE_ICE_UDP] = JingleTransportICEUDP +transports[Namespace.JINGLE_BYTESTREAM] = JingleTransportSocks5 +transports[Namespace.JINGLE_IBB] = JingleTransportIBB diff --git a/gajim/common/jingle_xtls.py b/gajim/common/jingle_xtls.py new file mode 100644 index 0000000..9e79464 --- /dev/null +++ b/gajim/common/jingle_xtls.py @@ -0,0 +1,282 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import logging +from pathlib import Path + +from OpenSSL import SSL, crypto + +import nbxmpp +from nbxmpp.namespaces import Namespace +from nbxmpp.util import generate_id +from gajim.common import app +from gajim.common import configpaths + +log = logging.getLogger('gajim.c.jingle_xtls') + +# key-exchange id -> [callback, args], accept that session once key-exchange completes +pending_contents = {} + +def key_exchange_pend(id_, cb, args): + # args is a list + pending_contents[id_] = [cb, args] + +def approve_pending_content(id_): + cb = pending_contents[id_][0] + args = pending_contents[id_][1] + cb(*args) + +TYPE_RSA = crypto.TYPE_RSA +TYPE_DSA = crypto.TYPE_DSA + +SELF_SIGNED_CERTIFICATE = 'localcert' +DH_PARAMS = 'dh_params.pem' +DEFAULT_DH_PARAMS = 'dh4096.pem' + +def default_callback(connection, certificate, error_num, depth, return_code): + log.info("certificate: %s", certificate) + return return_code + +def load_cert_file(cert_path, cert_store=None): + """ + This is almost identical to the one in nbxmpp.tls_nb + """ + if not cert_path.is_file(): + return None + try: + f = open(cert_path) + except IOError as e: + log.warning('Unable to open certificate file %s: %s', cert_path, + str(e)) + return None + lines = f.readlines() + i = 0 + begin = -1 + for line in lines: + if 'BEGIN CERTIFICATE' in line: + begin = i + elif 'END CERTIFICATE' in line and begin > -1: + cert = ''.join(lines[begin:i+2]) + try: + x509cert = crypto.load_certificate(crypto.FILETYPE_PEM, cert) + if cert_store: + cert_store.add_cert(x509cert) + f.close() + return x509cert + except crypto.Error as exception_obj: + log.warning('Unable to load a certificate from file %s: %s', + cert_path, exception_obj.args[0][0][2]) + except Exception: + log.warning('Unknown error while loading certificate from file ' + '%s', cert_path) + begin = -1 + i += 1 + f.close() + +def get_context(fingerprint, verify_cb=None, remote_jid=None): + """ + constructs and returns the context objects + """ + ctx = SSL.Context(SSL.SSLv23_METHOD) + flags = (SSL.OP_NO_SSLv2 | SSL.OP_NO_SSLv3 | SSL.OP_SINGLE_DH_USE \ + | SSL.OP_NO_TICKET) + ctx.set_options(flags) + ctx.set_cipher_list(b'HIGH:!aNULL:!3DES') + + if fingerprint == 'server': # for testing purposes only + ctx.set_verify(SSL.VERIFY_NONE|SSL.VERIFY_FAIL_IF_NO_PEER_CERT, + verify_cb or default_callback) + elif fingerprint == 'client': + ctx.set_verify(SSL.VERIFY_PEER, verify_cb or default_callback) + + cert_name = configpaths.get('MY_CERT') / SELF_SIGNED_CERTIFICATE + ctx.use_privatekey_file(str(cert_name.with_suffix('.pkey')).encode('utf-8')) + ctx.use_certificate_file(str(cert_name.with_suffix('.cert')).encode('utf-8')) + + # Try to load Diffie-Hellman parameters. + # First try user DH parameters, if this fails load the default DH parameters + dh_params_name = configpaths.get('MY_CERT') / DH_PARAMS + try: + with open(dh_params_name, "r"): + ctx.load_tmp_dh(dh_params_name.encode('utf-8')) + except FileNotFoundError as err: + default_dh_params_name = (configpaths.get('DATA') / 'other' / + DEFAULT_DH_PARAMS) + try: + with open(default_dh_params_name, "r"): + ctx.load_tmp_dh(str(default_dh_params_name).encode('utf-8')) + except FileNotFoundError as err: + log.error('Unable to load default DH parameter file: %s, %s', + default_dh_params_name, err) + raise + + if remote_jid: + store = ctx.get_cert_store() + path = configpaths.get('MY_PEER_CERTS').expanduser() / (remote_jid + + '.cert') + if path.exists(): + load_cert_file(path, cert_store=store) + log.debug('certificate file %s loaded fingerprint %s', + path, fingerprint) + return ctx + +def read_cert(certpath): + certificate = '' + with open(certpath, 'r') as certfile: + for line in certfile.readlines(): + if not line.startswith('-'): + certificate += line + return certificate + +def send_cert(con, jid_from, sid): + certpath = configpaths.get('MY_CERT') / (SELF_SIGNED_CERTIFICATE + + '.cert') + certificate = read_cert(certpath) + iq = nbxmpp.Iq('result', to=jid_from) + iq.setAttr('id', sid) + + pubkey = iq.setTag('pubkeys') + pubkey.setNamespace(Namespace.PUBKEY_PUBKEY) + + keyinfo = pubkey.setTag('keyinfo') + name = keyinfo.setTag('name') + name.setData('CertificateHash') + cert = keyinfo.setTag('x509cert') + cert.setData(certificate) + + con.send(iq) + +def handle_new_cert(con, obj, jid_from): + jid = app.get_jid_without_resource(jid_from) + certpath = configpaths.get('MY_PEER_CERTS').expanduser() / (jid + '.cert') + + id_ = obj.getAttr('id') + + x509cert = obj.getTag('pubkeys').getTag('keyinfo').getTag('x509cert') + + cert = x509cert.getData() + + f = open(certpath, 'w') + f.write('-----BEGIN CERTIFICATE-----\n') + f.write(cert) + f.write('-----END CERTIFICATE-----\n') + f.close() + + approve_pending_content(id_) + +def check_cert(jid, fingerprint): + certpath = configpaths.get('MY_PEER_CERTS').expanduser() / (jid + '.cert') + if certpath.exists(): + cert = load_cert_file(certpath) + if cert: + digest_algo = cert.get_signature_algorithm().decode('utf-8')\ + .split('With')[0] + if cert.digest(digest_algo) == fingerprint: + return True + return False + +def send_cert_request(con, to_jid): + iq = nbxmpp.Iq('get', to=to_jid) + id_ = generate_id() + iq.setAttr('id', id_) + pubkey = iq.setTag('pubkeys') + pubkey.setNamespace(Namespace.PUBKEY_PUBKEY) + con.connection.send(iq) + return str(id_) + +# the following code is partly due to pyopenssl examples + +def createKeyPair(type_, bits): + """ + Create a public/private key pair. + + Arguments: type_ - Key type, must be one of TYPE_RSA and TYPE_DSA + bits - Number of bits to use in the key + Returns: The public/private key pair in a PKey object + """ + pkey = crypto.PKey() + pkey.generate_key(type_, bits) + return pkey + +def createCertRequest(pkey, digest="sha256", **name): + """ + Create a certificate request. + + Arguments: pkey - The key to associate with the request + digest - Digestion method to use for signing, default is sha256 + **name - The name of the subject of the request, possible + arguments are: + C - Country name + ST - State or province name + L - Locality name + O - Organization name + OU - Organizational unit name + CN - Common name + emailAddress - E-mail address + Returns: The certificate request in an X509Req object + """ + req = crypto.X509Req() + subj = req.get_subject() + + for (key, value) in name.items(): + setattr(subj, key, value) + + req.set_pubkey(pkey) + req.sign(pkey, digest) + return req + +def createCertificate(req, issuerCert, issuerKey, serial, notBefore, notAfter, digest="sha256"): + """ + Generate a certificate given a certificate request. + + Arguments: req - Certificate request to use + issuerCert - The certificate of the issuer + issuerKey - The private key of the issuer + serial - Serial number for the certificate + notBefore - Timestamp (relative to now) when the certificate + starts being valid + notAfter - Timestamp (relative to now) when the certificate + stops being valid + digest - Digest method to use for signing, default is sha256 + Returns: The signed certificate in an X509 object + """ + cert = crypto.X509() + cert.set_serial_number(serial) + cert.gmtime_adj_notBefore(notBefore) + cert.gmtime_adj_notAfter(notAfter) + cert.set_issuer(issuerCert.get_subject()) + cert.set_subject(req.get_subject()) + cert.set_pubkey(req.get_pubkey()) + cert.sign(issuerKey, digest) + return cert + +def make_certs(filepath, CN): + """ + make self signed certificates + filepath : absolute path of certificate file, will be appended the '.pkey' + and '.cert' extensions + CN : common name + """ + key = createKeyPair(TYPE_RSA, 4096) + req = createCertRequest(key, CN=CN) + cert = createCertificate(req, req, key, 0, 0, 60*60*24*365*5) # five years + with open(filepath.with_suffix('.pkey'), 'wb') as f: + filepath.with_suffix('.pkey').chmod(0o600) + f.write(crypto.dump_privatekey(crypto.FILETYPE_PEM, key)) + with open(filepath.with_suffix('.cert'), 'wb') as f: + f.write(crypto.dump_certificate(crypto.FILETYPE_PEM, cert)) + + +if __name__ == '__main__': + make_certs(Path('selfcert'), 'gajim') diff --git a/gajim/common/logging_helpers.py b/gajim/common/logging_helpers.py new file mode 100644 index 0000000..8afcd24 --- /dev/null +++ b/gajim/common/logging_helpers.py @@ -0,0 +1,231 @@ +# Copyright (C) 2009 Bruno Tarquini +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import logging +import os +import sys +import time +from datetime import datetime + +from gajim.common import app +from gajim.common import configpaths +from gajim.common.i18n import _ + +def parseLogLevel(arg): + """ + Either numeric value or level name from logging module + """ + if arg.isdigit(): + return int(arg) + if arg.isupper() and hasattr(logging, arg): + return getattr(logging, arg) + print(_('%s is not a valid loglevel') % repr(arg), file=sys.stderr) + return 0 + +def parseLogTarget(arg): + """ + [gajim.]c.x.y -> gajim.c.x.y + .other_logger -> other_logger + -> gajim + """ + arg = arg.lower() + if not arg: + return 'gajim' + if arg.startswith('.'): + return arg[1:] + if arg.startswith('gajim'): + return arg + return 'gajim.' + arg + +def parseAndSetLogLevels(arg): + """ + [=]LOGLEVEL -> gajim=LOGLEVEL + gajim=LOGLEVEL -> gajim=LOGLEVEL + .other=10 -> other=10 + .=10 -> + c.x.y=c.z=20 -> gajim.c.x.y=20 + gajim.c.z=20 + gajim=10,c.x=20 -> gajim=10 + gajim.c.x=20 + """ + for directive in arg.split(','): + directive = directive.strip() + if not directive: + continue + if '=' not in directive: + directive = '=' + directive + targets, level = directive.rsplit('=', 1) + level = parseLogLevel(level.strip()) + for target in targets.split('='): + target = parseLogTarget(target.strip()) + if target: + logging.getLogger(target).setLevel(level) + print("Logger %s level set to %d" % (target, level), + file=sys.stderr) + + +class colors: + # pylint: disable=C0326 + NONE = chr(27) + "[0m" + BLACk = chr(27) + "[30m" + RED = chr(27) + "[31m" + GREEN = chr(27) + "[32m" + BROWN = chr(27) + "[33m" + BLUE = chr(27) + "[34m" + MAGENTA = chr(27) + "[35m" + CYAN = chr(27) + "[36m" + LIGHT_GRAY = chr(27) + "[37m" + DARK_GRAY = chr(27) + "[30;1m" + BRIGHT_RED = chr(27) + "[31;1m" + BRIGHT_GREEN = chr(27) + "[32;1m" + YELLOW = chr(27) + "[33;1m" + BRIGHT_BLUE = chr(27) + "[34;1m" + PURPLE = chr(27) + "[35;1m" + BRIGHT_CYAN = chr(27) + "[36;1m" + WHITE = chr(27) + "[37;1m" + +def colorize(text, color): + return color + text + colors.NONE + +class FancyFormatter(logging.Formatter): + """ + An eye-candy formatter with colors + """ + colors_mapping = { + 'DEBUG': colors.BLUE, + 'INFO': colors.GREEN, + 'WARNING': colors.BROWN, + 'ERROR': colors.RED, + 'CRITICAL': colors.BRIGHT_RED, + } + + def __init__(self, fmt, datefmt=None, use_color=False): + logging.Formatter.__init__(self, fmt, datefmt) + self.use_color = use_color + + def formatTime(self, record, datefmt=None): + f = logging.Formatter.formatTime(self, record, datefmt) + if self.use_color: + f = colorize(f, colors.DARK_GRAY) + return f + + def format(self, record): + level = record.levelname + record.levelname = '(%s)' % level[0] + + if self.use_color: + c = FancyFormatter.colors_mapping.get(level, '') + record.levelname = colorize(record.levelname, c) + record.name = '%-25s' % colorize(record.name, colors.CYAN) + else: + record.name = '%-25s|' % record.name + + return logging.Formatter.format(self, record) + + +def init(): + """ + Iinitialize the logging system + """ + + if app.get_debug_mode(): + _cleanup_debug_logs() + _redirect_output() + + use_color = False + if os.name != 'nt': + use_color = sys.stderr.isatty() + + consoleloghandler = logging.StreamHandler() + consoleloghandler.setFormatter( + FancyFormatter( + '%(asctime)s %(levelname)s %(name)-35s %(message)s', + '%x %H:%M:%S', + use_color + ) + ) + + root_log = logging.getLogger('gajim') + root_log.setLevel(logging.WARNING) + root_log.addHandler(consoleloghandler) + root_log.propagate = False + + root_log = logging.getLogger('nbxmpp') + root_log.setLevel(logging.WARNING) + root_log.addHandler(consoleloghandler) + root_log.propagate = False + + root_log = logging.getLogger('gnupg') + root_log.setLevel(logging.WARNING) + root_log.addHandler(consoleloghandler) + root_log.propagate = False + + # GAJIM_DEBUG is set only on Windows when using Gajim-Debug.exe + # Gajim-Debug.exe shows a command line prompt and we want to redirect + # log output to it + if app.get_debug_mode() or os.environ.get('GAJIM_DEBUG', False): + set_verbose() + +def set_loglevels(loglevels_string): + parseAndSetLogLevels(loglevels_string) + +def set_verbose(): + parseAndSetLogLevels('gajim=DEBUG') + parseAndSetLogLevels('.nbxmpp=INFO') + +def set_quiet(): + parseAndSetLogLevels('gajim=CRITICAL') + parseAndSetLogLevels('.nbxmpp=CRITICAL') + + +def _redirect_output(): + debug_folder = configpaths.get('DEBUG') + date = datetime.today().strftime('%d%m%Y-%H%M%S') + filename = '%s-debug.log' % date + fd = open(debug_folder / filename, 'a') + sys.stderr = sys.stdout = fd + + +def _cleanup_debug_logs(): + debug_folder = configpaths.get('DEBUG') + debug_files = list(debug_folder.glob('*-debug.log*')) + now = time.time() + for file in debug_files: + # Delete everything older than 3 days + if file.stat().st_ctime < now - 259200: + file.unlink() + + + +# tests +if __name__ == '__main__': + init() + + set_loglevels('gajim.c=DEBUG,INFO') + + log = logging.getLogger('gajim') + log.debug('debug') + log.info('info') + log.warning('warn') + log.error('error') + log.critical('critical') + + log = logging.getLogger('gajim.c.x.dispatcher') + log.debug('debug') + log.info('info') + log.warning('warn') + log.error('error') + log.critical('critical') diff --git a/gajim/common/modules/__init__.py b/gajim/common/modules/__init__.py new file mode 100644 index 0000000..8205dfd --- /dev/null +++ b/gajim/common/modules/__init__.py @@ -0,0 +1,174 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from typing import Any +from typing import Dict # pylint: disable=unused-import +from typing import List +from typing import Tuple + +import sys +import logging +from importlib import import_module +from unittest.mock import MagicMock + +from gajim.common.types import ConnectionT + +log = logging.getLogger('gajim.c.m') + +ZEROCONF_MODULES = ['iq', + 'adhoc_commands', + 'receipts', + 'discovery', + 'chatstates'] + +MODULES = [ + 'adhoc_commands', + 'annotations', + 'bits_of_binary', + 'blocking', + 'bookmarks', + 'caps', + 'carbons', + 'chat_markers', + 'chatstates', + 'delimiter', + 'discovery', + 'entity_time', + 'gateway', + 'httpupload', + 'http_auth', + 'iq', + 'last_activity', + 'mam', + 'message', + 'metacontacts', + 'muc', + 'pep', + 'ping', + 'presence', + 'pubsub', + 'receipts', + 'register', + 'roster', + 'roster_item_exchange', + 'search', + 'security_labels', + 'software_version', + 'user_activity', + 'user_avatar', + 'user_location', + 'user_mood', + 'user_nickname', + 'user_tune', + 'vcard4', + 'vcard_avatars', + 'vcard_temp', + 'announce', + 'ibb', + 'jingle', + 'bytestream', +] + +_imported_modules = [] # type: List[tuple] +_modules = {} # type: Dict[str, Dict[str, Any]] +_store_publish_modules = [ + 'UserMood', + 'UserActivity', + 'UserLocation', + 'UserTune', +] # type: List[str] + + +class ModuleMock: + def __init__(self, name: str) -> None: + self._name = name + + # HTTPUpload, .. + self.available = False + + # Blocking + self.blocked = [] # type: List[Any] + + # Delimiter + self.delimiter = '::' + + # Bookmarks + self.bookmarks = {} # type: Dict[Any, Any] + + # Various Modules + self.supported = False + + def __getattr__(self, key: str) -> MagicMock: + return MagicMock() + + +def register_modules(con: ConnectionT, *args: Any, **kwargs: Any) -> None: + if con in _modules: + return + _modules[con.name] = {} + for module_name in MODULES: + if con.name == 'Local': + if module_name not in ZEROCONF_MODULES: + continue + instance, name = _load_module(module_name, con, *args, **kwargs) + _modules[con.name][name] = instance + + +def register_single_module(con: ConnectionT, instance: Any, name: str) -> None: + if con.name not in _modules: + raise ValueError('Unknown account name: %s' % con.name) + _modules[con.name][name] = instance + + +def unregister_modules(con: ConnectionT) -> None: + for instance in _modules[con.name].values(): + if hasattr(instance, 'cleanup'): + instance.cleanup() + del _modules[con.name] + + +def unregister_single_module(con: ConnectionT, name: str) -> None: + if con.name not in _modules: + return + if name not in _modules[con.name]: + return + del _modules[con.name][name] + + +def send_stored_publish(account: str) -> None: + for name in _store_publish_modules: + _modules[account][name].send_stored_publish() + + +def get(account: str, name: str) -> Any: + try: + return _modules[account][name] + except KeyError: + return ModuleMock(name) + + +def _load_module(name: str, con: ConnectionT, *args: Any, **kwargs: Any) -> Any: + if name not in MODULES: + raise ValueError('Module %s does not exist' % name) + module = sys.modules.get(name) + if module is None: + module = import_module('.%s' % name, package='gajim.common.modules') + return module.get_instance(con, *args, **kwargs) # type: ignore + + +def get_handlers(con: ConnectionT) -> List[Tuple[Any, ...]]: + handlers = [] # type: List[Tuple[Any, ...]] + for module in _modules[con.name].values(): + handlers += module.handlers + return handlers diff --git a/gajim/common/modules/adhoc_commands.py b/gajim/common/modules/adhoc_commands.py new file mode 100644 index 0000000..b2c2e56 --- /dev/null +++ b/gajim/common/modules/adhoc_commands.py @@ -0,0 +1,434 @@ +# Copyright (C) 2006-2014 Yann Leboulanger +# Copyright (C) 2006-2007 Tomasz Melcer +# Copyright (C) 2007 Jean-Marie Traissard +# Copyright (C) 2008 Brendan Taylor +# Stephan Erb +# Copyright (C) 2018 Philipp Hörist +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import nbxmpp +from nbxmpp.namespaces import Namespace +from nbxmpp.structs import StanzaHandler +from nbxmpp.modules import dataforms +from nbxmpp.util import generate_id + +from gajim.common import app +from gajim.common import helpers +from gajim.common.i18n import _ +from gajim.common.nec import NetworkIncomingEvent +from gajim.common.modules.base import BaseModule + + +class AdHocCommand: + commandnode = 'command' + commandname = 'The Command' + commandfeatures = (Namespace.DATA,) + + @staticmethod + def is_visible_for(_samejid): + """ + This returns True if that command should be visible and invocable for + others + + samejid - True when command is invoked by an entity with the same bare + jid. + """ + return True + + def __init__(self, conn, jid, sessionid): + self.connection = conn + self.jid = jid + self.sessionid = sessionid + + def build_response(self, request, status='executing', defaultaction=None, + actions=None): + assert status in ('executing', 'completed', 'canceled') + + response = request.buildReply('result') + cmd = response.getTag('command', namespace=Namespace.COMMANDS) + cmd.setAttr('sessionid', self.sessionid) + cmd.setAttr('node', self.commandnode) + cmd.setAttr('status', status) + if defaultaction is not None or actions is not None: + if defaultaction is not None: + assert defaultaction in ('cancel', 'execute', 'prev', 'next', + 'complete') + attrs = {'action': defaultaction} + else: + attrs = {} + + cmd.addChild('actions', attrs, actions) + return response, cmd + + def bad_request(self, stanza): + self.connection.connection.send( + nbxmpp.Error(stanza, Namespace.STANZAS + ' bad-request')) + + def cancel(self, request): + response = self.build_response(request, status='canceled')[0] + self.connection.connection.send(response) + return False # finish the session + + +class ChangeStatusCommand(AdHocCommand): + commandnode = 'change-status' + commandname = _('Change status information') + + def __init__(self, conn, jid, sessionid): + AdHocCommand.__init__(self, conn, jid, sessionid) + self._callback = self.first_step + + @staticmethod + def is_visible_for(samejid): + """ + Change status is visible only if the entity has the same bare jid + """ + return samejid + + def execute(self, request): + return self._callback(request) + + def first_step(self, request): + # first query... + response, cmd = self.build_response(request, + defaultaction='execute', + actions=['execute']) + + cmd.addChild( + node=dataforms.SimpleDataForm( + title=_('Change status'), + instructions=_('Set the presence type and description'), + fields=[ + dataforms.create_field( + 'list-single', + var='presence-type', + label='Type of presence:', + options=[ + ('chat', _('Free for chat')), + ('online', _('Online')), + ('away', _('Away')), + ('xa', _('Extended away')), + ('dnd', _('Do not disturb')), + ('offline', _('Offline - disconnect'))], + value='online', + required=True), + dataforms.create_field( + 'text-multi', + var='presence-desc', + label=_('Presence description:')) + ] + ) + ) + + self.connection.connection.send(response) + + # for next invocation + self._callback = self.second_step + + return True # keep the session + + def second_step(self, request): + # check if the data is correct + try: + form = dataforms.SimpleDataForm( + extend=request.getTag('command').getTag('x')) + except Exception: + self.bad_request(request) + return False + + try: + presencetype = form['presence-type'].value + if presencetype not in ('chat', 'online', 'away', + 'xa', 'dnd', 'offline'): + self.bad_request(request) + return False + except Exception: + # KeyError if there's no presence-type field in form or + # AttributeError if that field is of wrong type + self.bad_request(request) + return False + + try: + presencedesc = form['presence-desc'].value + except Exception: # same exceptions as in last comment + presencedesc = '' + + response, cmd = self.build_response(request, status='completed') + cmd.addChild('note', {}, _('The status has been changed.')) + + # if going offline, we need to push response so it won't go into + # queue and disappear + self.connection.connection.send(response, + now=presencetype == 'offline') + + # send new status + app.interface.roster.send_status( + self.connection.name, presencetype, presencedesc) + + return False # finish the session + + +class AdHocCommands(BaseModule): + + _nbxmpp_extends = 'AdHoc' + _nbxmpp_methods = [ + 'request_command_list', + 'execute_command', + ] + + def __init__(self, con): + BaseModule.__init__(self, con) + + self.handlers = [ + StanzaHandler(name='iq', + callback=self._execute_command_received, + typ='set', + ns=Namespace.COMMANDS), + ] + + # a list of all commands exposed: node -> command class + self._commands = {} + if app.settings.get('remote_commands'): + for cmdobj in (ChangeStatusCommand,): + self._commands[cmdobj.commandnode] = cmdobj + + # a list of sessions; keys are tuples (jid, sessionid, node) + self._sessions = {} + + def get_own_bare_jid(self): + return self._con.get_own_jid().bare + + def is_same_jid(self, jid): + """ + Test if the bare jid given is the same as our bare jid + """ + return nbxmpp.JID.from_string(jid).bare == self.get_own_bare_jid() + + def command_list_query(self, stanza): + iq = stanza.buildReply('result') + jid = helpers.get_full_jid_from_iq(stanza) + query = iq.getTag('query') + # buildReply don't copy the node attribute. Re-add it + query.setAttr('node', Namespace.COMMANDS) + + for node, cmd in self._commands.items(): + if cmd.is_visible_for(self.is_same_jid(jid)): + query.addChild('item', { + # TODO: find the jid + 'jid': str(self._con.get_own_jid()), + 'node': node, + 'name': cmd.commandname}) + + self._con.connection.send(iq) + + def command_info_query(self, stanza): + """ + Send disco#info result for query for command (XEP-0050, example 6.). + Return True if the result was sent, False if not + """ + try: + jid = helpers.get_full_jid_from_iq(stanza) + except helpers.InvalidFormat: + self._log.warning('Invalid JID: %s, ignoring it', stanza.getFrom()) + return False + + node = stanza.getTagAttr('query', 'node') + + if node not in self._commands: + return False + + cmd = self._commands[node] + if cmd.is_visible_for(self.is_same_jid(jid)): + iq = stanza.buildReply('result') + query = iq.getTag('query') + query.addChild('identity', + attrs={'type': 'command-node', + 'category': 'automation', + 'name': cmd.commandname}) + query.addChild('feature', attrs={'var': Namespace.COMMANDS}) + for feature in cmd.commandfeatures: + query.addChild('feature', attrs={'var': feature}) + + self._con.connection.send(iq) + return True + + return False + + def command_items_query(self, stanza): + """ + Send disco#items result for query for command. + Return True if the result was sent, False if not. + """ + jid = helpers.get_full_jid_from_iq(stanza) + node = stanza.getTagAttr('query', 'node') + + if node not in self._commands: + return False + + cmd = self._commands[node] + if cmd.is_visible_for(self.is_same_jid(jid)): + iq = stanza.buildReply('result') + self._con.connection.send(iq) + return True + + return False + + def _execute_command_received(self, _con, stanza, _properties): + jid = helpers.get_full_jid_from_iq(stanza) + + cmd = stanza.getTag('command') + if cmd is None: + self._log.error('Malformed stanza (no command node) %s', stanza) + raise nbxmpp.NodeProcessed + + node = cmd.getAttr('node') + if node is None: + self._log.error('Malformed stanza (no node attr) %s', stanza) + raise nbxmpp.NodeProcessed + + sessionid = cmd.getAttr('sessionid') + if sessionid is None: + # we start a new command session + # only if we are visible for the jid and command exist + if node not in self._commands.keys(): + self._con.connection.send( + nbxmpp.Error( + stanza, Namespace.STANZAS + ' item-not-found')) + self._log.warning('Comand %s does not exist: %s', node, jid) + raise nbxmpp.NodeProcessed + + newcmd = self._commands[node] + if not newcmd.is_visible_for(self.is_same_jid(jid)): + self._log.warning('Command not visible for jid: %s', jid) + raise nbxmpp.NodeProcessed + + # generate new sessionid + sessionid = generate_id() + + # create new instance and run it + obj = newcmd(conn=self, jid=jid, sessionid=sessionid) + rc = obj.execute(stanza) + if rc: + self._sessions[(jid, sessionid, node)] = obj + self._log.info('Comand %s executed: %s', node, jid) + raise nbxmpp.NodeProcessed + + # the command is already running, check for it + magictuple = (jid, sessionid, node) + if magictuple not in self._sessions: + # we don't have this session... ha! + self._log.warning('Invalid session %s', magictuple) + raise nbxmpp.NodeProcessed + + action = cmd.getAttr('action') + obj = self._sessions[magictuple] + + try: + if action == 'cancel': + rc = obj.cancel(stanza) + elif action == 'prev': + rc = obj.prev(stanza) + elif action == 'next': + rc = obj.next(stanza) + elif action == 'execute' or action is None: + rc = obj.execute(stanza) + elif action == 'complete': + rc = obj.complete(stanza) + else: + # action is wrong. stop the session, send error + raise AttributeError + except AttributeError: + # the command probably doesn't handle invoked action... + # stop the session, return error + del self._sessions[magictuple] + self._log.warning('Wrong action %s %s', node, jid) + raise nbxmpp.NodeProcessed + + # delete the session if rc is False + if not rc: + del self._sessions[magictuple] + + raise nbxmpp.NodeProcessed + + def send_command(self, jid, node, session_id, + form, action='execute'): + """ + Send the command with data form. Wait for reply + """ + self._log.info('Send Command: %s %s %s %s', + jid, node, session_id, action) + stanza = nbxmpp.Iq(typ='set', to=jid) + cmdnode = stanza.addChild('command', + namespace=Namespace.COMMANDS, + attrs={'node': node, + 'action': action}) + + if session_id: + cmdnode.setAttr('sessionid', session_id) + + if form: + cmdnode.addChild(node=form.get_purged()) + + self._con.connection.SendAndCallForResponse( + stanza, self._action_response_received) + + def _action_response_received(self, _nbxmpp_client, stanza): + if not nbxmpp.isResultNode(stanza): + self._log.info('Error: %s', stanza.getError()) + + app.nec.push_incoming_event( + AdHocCommandError(None, conn=self._con, + error=stanza.getError())) + return + self._log.info('Received action response') + command = stanza.getTag('command') + app.nec.push_incoming_event( + AdHocCommandActionResponse( + None, conn=self._con, command=command)) + + def send_cancel(self, jid, node, session_id): + """ + Send the command with action='cancel' + """ + self._log.info('Cancel: %s %s %s', jid, node, session_id) + stanza = nbxmpp.Iq(typ='set', to=jid) + stanza.addChild('command', namespace=Namespace.COMMANDS, + attrs={ + 'node': node, + 'sessionid': session_id, + 'action': 'cancel' + }) + + self._con.connection.SendAndCallForResponse( + stanza, self._cancel_result_received) + + def _cancel_result_received(self, _nbxmpp_client, stanza): + if not nbxmpp.isResultNode(stanza): + self._log.warning('Error: %s', stanza.getError()) + else: + self._log.info('Cancel successful') + + +class AdHocCommandError(NetworkIncomingEvent): + name = 'adhoc-command-error' + + +class AdHocCommandActionResponse(NetworkIncomingEvent): + name = 'adhoc-command-action-response' + + +def get_instance(*args, **kwargs): + return AdHocCommands(*args, **kwargs), 'AdHocCommands' diff --git a/gajim/common/modules/annotations.py b/gajim/common/modules/annotations.py new file mode 100644 index 0000000..e2b66ac --- /dev/null +++ b/gajim/common/modules/annotations.py @@ -0,0 +1,66 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0145: Annotations + +from typing import Any +from typing import Dict # pylint: disable=unused-import +from typing import Tuple + +from nbxmpp.errors import StanzaError +from nbxmpp.errors import MalformedStanzaError +from nbxmpp.structs import AnnotationNote + +from gajim.common.types import ConnectionT +from gajim.common.modules.base import BaseModule + + +class Annotations(BaseModule): + + _nbxmpp_extends = 'Annotations' + _nbxmpp_methods = [ + 'request_annotations', + 'set_annotations', + ] + + def __init__(self, con: ConnectionT) -> None: + BaseModule.__init__(self, con) + + self._annotations = {} # type: Dict[str, AnnotationNote] + + def request_annotations(self) -> None: + self._nbxmpp('Annotations').request_annotations( + callback=self._annotations_received) + + def _annotations_received(self, task: Any) -> None: + try: + annotations = task.finish() + except (StanzaError, MalformedStanzaError) as error: + self._log.warning(error) + self._annotations = {} + return + + for note in annotations: + self._annotations[note.jid] = note + + def get_note(self, jid: str) -> AnnotationNote: + return self._annotations.get(jid) + + def set_note(self, note: AnnotationNote) -> None: + self._annotations[note.jid] = note + self.set_annotations(self._annotations.values()) + + +def get_instance(*args: Any, **kwargs: Any) -> Tuple[Annotations, str]: + return Annotations(*args, **kwargs), 'Annotations' diff --git a/gajim/common/modules/announce.py b/gajim/common/modules/announce.py new file mode 100644 index 0000000..5c8dac4 --- /dev/null +++ b/gajim/common/modules/announce.py @@ -0,0 +1,37 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# Server MOTD and Announce + +import nbxmpp + +from gajim.common.modules.base import BaseModule + + +class Announce(BaseModule): + def __init__(self, con): + BaseModule.__init__(self, con) + + def delete_motd(self): + server = self._con.get_own_jid().domain + jid = '%s/announce/motd/delete' % server + self.set_announce(jid) + + def set_announce(self, jid, subject=None, body=None): + message = nbxmpp.Message(to=jid, body=body, subject=subject) + self._nbxmpp().send(message) + + +def get_instance(*args, **kwargs): + return Announce(*args, **kwargs), 'Announce' diff --git a/gajim/common/modules/base.py b/gajim/common/modules/base.py new file mode 100644 index 0000000..97bff81 --- /dev/null +++ b/gajim/common/modules/base.py @@ -0,0 +1,97 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from typing import Any # pylint: disable=unused-import +from typing import Dict # pylint: disable=unused-import +from typing import List # pylint: disable=unused-import + +import logging +from functools import partial +from unittest.mock import Mock + +from nbxmpp.namespaces import Namespace +from nbxmpp.structs import StanzaHandler + +from gajim.common import app +from gajim.common.nec import EventHelper +from gajim.common.modules.util import LogAdapter + + +class BaseModule(EventHelper): + + _nbxmpp_extends = '' + _nbxmpp_methods = [] # type: List[str] + + def __init__(self, con, *args, plugin=False, **kwargs): + EventHelper.__init__(self) + self._con = con + self._account = con.name + self._log = self._set_logger(plugin) + self._nbxmpp_callbacks = {} # type: Dict[str, Any] + self._stored_publish = None # type: Callable + self.handlers = [] # type: List[str] + + def _set_logger(self, plugin): + logger_name = 'gajim.c.m.%s' + if plugin: + logger_name = 'gajim.p.%s' + logger_name = logger_name % self.__class__.__name__.lower() + logger = logging.getLogger(logger_name) + return LogAdapter(logger, {'account': self._account}) + + def __getattr__(self, key): + if key not in self._nbxmpp_methods: + raise AttributeError( + "attribute '%s' is neither part of object '%s' " + " nor declared in '_nbxmpp_methods'" % ( + key, self.__class__.__name__)) + + if not app.account_is_connected(self._account): + self._log.warning('Account not connected, can’t use %s', key) + return None + + module = self._con.connection.get_module(self._nbxmpp_extends) + + callback = self._nbxmpp_callbacks.get(key) + if callback is None: + return getattr(module, key) + return partial(getattr(module, key), callback=callback) + + def _nbxmpp(self, module_name=None): + if not app.account_is_connected(self._account): + self._log.warning('Account not connected, can’t use nbxmpp method') + return Mock() + + if module_name is None: + return self._con.connection + return self._con.connection.get_module(module_name) + + def _register_callback(self, method, callback): + self._nbxmpp_callbacks[method] = callback + + def _register_pubsub_handler(self, callback): + handler = StanzaHandler(name='message', + callback=callback, + ns=Namespace.PUBSUB_EVENT, + priority=49) + self.handlers.append(handler) + + def send_stored_publish(self): + if self._stored_publish is None: + return + self._log.info('Send stored publish') + self._stored_publish() # pylint: disable=not-callable + + def cleanup(self): + self.unregister_events() diff --git a/gajim/common/modules/bits_of_binary.py b/gajim/common/modules/bits_of_binary.py new file mode 100644 index 0000000..c3f802f --- /dev/null +++ b/gajim/common/modules/bits_of_binary.py @@ -0,0 +1,204 @@ +# Copyright (C) 2018 Emmanuel Gil Peyrot +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import logging +import hashlib +from base64 import b64decode + +import nbxmpp +from nbxmpp.namespaces import Namespace +from nbxmpp.structs import StanzaHandler + +from gajim.common import app +from gajim.common import configpaths +from gajim.common.modules.base import BaseModule + +log = logging.getLogger('gajim.c.m.bob') + + +class BitsOfBinary(BaseModule): + def __init__(self, con): + BaseModule.__init__(self, con) + + self.handlers = [ + StanzaHandler(name='iq', + callback=self._answer_bob_request, + typ='get', + ns=Namespace.BOB), + ] + + # Used to track which cids are in-flight. + self.awaiting_cids = {} + + def _answer_bob_request(self, _con, stanza, _properties): + self._log.info('Request from %s for BoB data', stanza.getFrom()) + iq = stanza.buildReply('error') + err = nbxmpp.ErrorNode(nbxmpp.ERR_ITEM_NOT_FOUND) + iq.addChild(node=err) + self._log.info('Sending item-not-found') + self._con.connection.send(iq) + raise nbxmpp.NodeProcessed + + def _on_bob_received(self, _nbxmpp_client, result, cid): + """ + Called when we receive BoB data + """ + if cid not in self.awaiting_cids: + return + + if result.getType() == 'result': + data = result.getTags('data', namespace=Namespace.BOB) + if data.getAttr('cid') == cid: + for func in self.awaiting_cids[cid]: + cb = func[0] + args = func[1] + pos = func[2] + bob_data = data.getData() + def recurs(node, cid, data): + if node.getData() == 'cid:' + cid: + node.setData(data) + else: + for child in node.getChildren(): + recurs(child, cid, data) + recurs(args[pos], cid, bob_data) + cb(*args) + del self.awaiting_cids[cid] + return + + # An error occurred, call callback without modifying data. + for func in self.awaiting_cids[cid]: + cb = func[0] + args = func[1] + cb(*args) + del self.awaiting_cids[cid] + + def get_bob_data(self, cid, to, callback, args, position): + """ + Request for BoB (XEP-0231) and when data will arrive, call callback + with given args, after having replaced cid by it's data in + args[position] + """ + if cid in self.awaiting_cids: + self.awaiting_cids[cid].appends((callback, args, position)) + else: + self.awaiting_cids[cid] = [(callback, args, position)] + iq = nbxmpp.Iq(to=to, typ='get') + iq.addChild(name='data', attrs={'cid': cid}, namespace=Namespace.BOB) + self._con.connection.SendAndCallForResponse( + iq, self._on_bob_received, {'cid': cid}) + + +def parse_bob_data(stanza): + data_node = stanza.getTag('data', namespace=Namespace.BOB) + if data_node is None: + return None + + cid = data_node.getAttr('cid') + type_ = data_node.getAttr('type') + max_age = data_node.getAttr('max-age') + if max_age is not None: + try: + max_age = int(max_age) + except Exception: + log.exception(stanza) + return None + + if cid is None or type_ is None: + log.warning('Invalid data node (no cid or type attr): %s', stanza) + return None + + try: + algo_hash = cid.split('@')[0] + algo, hash_ = algo_hash.split('+') + except Exception: + log.exception('Invalid cid: %s', stanza) + return None + + bob_data = data_node.getData() + if not bob_data: + log.warning('No data found: %s', stanza) + return None + + filepath = configpaths.get('BOB') / algo_hash + if algo_hash in app.bob_cache or filepath.exists(): + log.info('BoB data already cached') + return None + + try: + bob_data = b64decode(bob_data) + except Exception: + log.warning('Unable to decode data') + log.exception(stanza) + return None + + if len(bob_data) > 10000: + log.warning('%s: data > 10000 bytes', stanza.getFrom()) + return None + + try: + sha = hashlib.new(algo) + except ValueError as error: + log.warning(stanza) + log.warning(error) + return None + + sha.update(bob_data) + if sha.hexdigest() != hash_: + log.warning('Invalid hash: %s', stanza) + return None + + if max_age == 0: + app.bob_cache[algo_hash] = bob_data + else: + try: + with open(str(filepath), 'w+b') as file: + file.write(bob_data) + except Exception: + log.warning('Unable to save data') + log.exception(stanza) + return None + + log.info('BoB data stored: %s', algo_hash) + return filepath + + +def store_bob_data(bob_data): + if bob_data is None: + return None + + algo_hash = '%s+%s' % (bob_data.algo, bob_data.hash_) + + filepath = configpaths.get('BOB') / algo_hash + if algo_hash in app.bob_cache or filepath.exists(): + log.info('BoB data already cached') + return None + + if bob_data.max_age == 0: + app.bob_cache[algo_hash] = bob_data.data + else: + try: + with open(str(filepath), 'w+b') as file: + file.write(bob_data.data) + except Exception: + log.exception('Unable to save data') + return None + + log.info('BoB data stored: %s', algo_hash) + return filepath + + +def get_instance(*args, **kwargs): + return BitsOfBinary(*args, **kwargs), 'BitsOfBinary' diff --git a/gajim/common/modules/blocking.py b/gajim/common/modules/blocking.py new file mode 100644 index 0000000..571f8db --- /dev/null +++ b/gajim/common/modules/blocking.py @@ -0,0 +1,139 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0191: Blocking Command + +import nbxmpp +from nbxmpp.protocol import JID +from nbxmpp.namespaces import Namespace +from nbxmpp.structs import StanzaHandler +from nbxmpp.modules.util import raise_if_error + +from gajim.common import app +from gajim.common.nec import NetworkEvent +from gajim.common.modules.base import BaseModule +from gajim.common.modules.util import as_task + + +class Blocking(BaseModule): + + _nbxmpp_extends = 'Blocking' + _nbxmpp_methods = [ + 'block', + 'unblock', + 'request_blocking_list', + ] + + def __init__(self, con): + BaseModule.__init__(self, con) + + self.blocked = [] + + self.handlers = [ + StanzaHandler(name='iq', + callback=self._blocking_push_received, + typ='set', + ns=Namespace.BLOCKING), + ] + + self.supported = False + + def pass_disco(self, info): + if Namespace.BLOCKING not in info.features: + return + + self.supported = True + app.nec.push_incoming_event( + NetworkEvent('feature-discovered', + account=self._account, + feature=Namespace.BLOCKING)) + + self._log.info('Discovered blocking: %s', info.jid) + + @as_task + def get_blocking_list(self): + _task = yield + + blocking_list = yield self._nbxmpp('Blocking').request_blocking_list() + + raise_if_error(blocking_list) + + self.blocked = list(blocking_list) + app.nec.push_incoming_event(NetworkEvent('blocking', + conn=self._con, + changed=self.blocked)) + yield blocking_list + + @as_task + def update_blocking_list(self, block, unblock): + _task = yield + + if block: + result = yield self.block(block) + raise_if_error(result) + + if unblock: + result = yield self.unblock(unblock) + raise_if_error(result) + + yield True + + def _blocking_push_received(self, _con, _stanza, properties): + if not properties.is_blocking: + return + + changed_list = [] + + if properties.blocking.unblock_all: + self.blocked = [] + for jid in self.blocked: + self._presence_probe(jid) + self._log.info('Unblock all Push') + + for jid in properties.blocking.unblock: + changed_list.append(jid) + if jid not in self.blocked: + continue + self.blocked.remove(jid) + self._presence_probe(jid) + self._log.info('Unblock Push: %s', jid) + + for jid in properties.blocking.block: + if jid in self.blocked: + continue + changed_list.append(jid) + self.blocked.append(jid) + self._set_contact_offline(str(jid)) + self._log.info('Block Push: %s', jid) + + app.nec.push_incoming_event(NetworkEvent('blocking', + conn=self._con, + changed=changed_list)) + + raise nbxmpp.NodeProcessed + + def _set_contact_offline(self, jid: str) -> None: + contact_list = app.contacts.get_contacts(self._account, jid) + for contact in contact_list: + contact.show = 'offline' + + def _presence_probe(self, jid: JID) -> None: + self._log.info('Presence probe: %s', jid) + # Send a presence Probe to get the current Status + probe = nbxmpp.Presence(jid, 'probe', frm=self._con.get_own_jid()) + self._nbxmpp().send(probe) + + +def get_instance(*args, **kwargs): + return Blocking(*args, **kwargs), 'Blocking' diff --git a/gajim/common/modules/bookmarks.py b/gajim/common/modules/bookmarks.py new file mode 100644 index 0000000..9e9987c --- /dev/null +++ b/gajim/common/modules/bookmarks.py @@ -0,0 +1,353 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0048: Bookmarks + +from typing import Any +from typing import List +from typing import Dict +from typing import Set +from typing import Tuple +from typing import Union +from typing import Optional + +import functools + +from nbxmpp.namespaces import Namespace +from nbxmpp.protocol import JID +from nbxmpp.structs import BookmarkData +from gi.repository import GLib + +from gajim.common import app +from gajim.common.nec import NetworkEvent +from gajim.common.modules.base import BaseModule +from gajim.common.modules.util import event_node + + +NODE_MAX_NS = 'http://jabber.org/protocol/pubsub#config-node-max' + + +class Bookmarks(BaseModule): + def __init__(self, con): + BaseModule.__init__(self, con) + self._register_pubsub_handler(self._bookmark_event_received) + self._register_pubsub_handler(self._bookmark_1_event_received) + self._conversion = False + self._compat = False + self._compat_pep = False + self._node_max = False + self._bookmarks = {} + self._join_timeouts = [] + self._request_in_progress = True + + @property + def conversion(self) -> bool: + return self._conversion + + @property + def compat(self) -> bool: + return self._compat + + @property + def compat_pep(self) -> bool: + return self._compat_pep + + @property + def bookmarks(self) -> List[BookmarkData]: + return self._bookmarks.values() + + @property + def pep_bookmarks_used(self) -> bool: + return self._bookmark_module() == 'PEPBookmarks' + + @property + def nativ_bookmarks_used(self) -> bool: + return self._bookmark_module() == 'NativeBookmarks' + + @event_node(Namespace.BOOKMARKS) + def _bookmark_event_received(self, _con, _stanza, properties): + if properties.pubsub_event.retracted: + return + + if not properties.is_self_message: + self._log.warning('%s has an open access bookmarks node', + properties.jid) + return + + if not self.pep_bookmarks_used: + return + + if self._request_in_progress: + self._log.info('Ignore update, pubsub request in progress') + return + + bookmarks = self._convert_to_dict(properties.pubsub_event.data) + + old_bookmarks = self._bookmarks.copy() + self._bookmarks = bookmarks + self._act_on_changed_bookmarks(old_bookmarks) + app.nec.push_incoming_event( + NetworkEvent('bookmarks-received', account=self._account)) + + @event_node(Namespace.BOOKMARKS_1) + def _bookmark_1_event_received(self, _con, _stanza, properties): + if not properties.is_self_message: + self._log.warning('%s has an open access bookmarks node', + properties.jid) + return + + if not self.nativ_bookmarks_used: + return + + if self._request_in_progress: + self._log.info('Ignore update, pubsub request in progress') + return + + old_bookmarks = self._bookmarks.copy() + + if properties.pubsub_event.deleted or properties.pubsub_event.purged: + self._log.info('Bookmark node deleted/purged') + self._bookmarks = {} + + elif properties.pubsub_event.retracted: + jid = properties.pubsub_event.id + self._log.info('Retract: %s', jid) + bookmark = self._bookmarks.get(jid) + if bookmark is not None: + self._bookmarks.pop(bookmark, None) + + else: + new_bookmark = properties.pubsub_event.data + self._bookmarks[new_bookmark.jid] = properties.pubsub_event.data + + self._act_on_changed_bookmarks(old_bookmarks) + app.nec.push_incoming_event( + NetworkEvent('bookmarks-received', account=self._account)) + + def pass_disco(self, info): + self._node_max = NODE_MAX_NS in info.features + self._compat_pep = Namespace.BOOKMARKS_COMPAT_PEP in info.features + self._compat = Namespace.BOOKMARKS_COMPAT in info.features + self._conversion = Namespace.BOOKMARK_CONVERSION in info.features + + @functools.lru_cache(maxsize=1) + def _bookmark_module(self): + if not self._con.get_module('PubSub').publish_options: + return 'PrivateBookmarks' + + if app.settings.get('dev_force_bookmark_2'): + return 'NativeBookmarks' + + if self._compat_pep and self._node_max: + return 'NativeBookmarks' + + if self._conversion: + return 'PEPBookmarks' + return 'PrivateBookmarks' + + def _act_on_changed_bookmarks( + self, old_bookmarks: Dict[str, BookmarkData]) -> None: + + new_bookmarks = self._convert_to_set(self._bookmarks) + old_bookmarks = self._convert_to_set(old_bookmarks) + changed = new_bookmarks - old_bookmarks + if not changed: + return + + join = [jid for jid, autojoin in changed if autojoin] + bookmarks = [] + for jid in join: + self._log.info('Schedule autojoin in 10s for: %s', jid) + bookmarks.append(self._bookmarks.get(jid)) + # If another client creates a MUC, the MUC is locked until the + # configuration is finished. Give the user some time to finish + # the configuration. + timeout_id = GLib.timeout_add_seconds( + 10, self._join_with_timeout, bookmarks) + self._join_timeouts.append(timeout_id) + + # TODO: leave mucs + # leave = [jid for jid, autojoin in changed if not autojoin] + + @staticmethod + def _convert_to_set( + bookmarks: Dict[str, BookmarkData]) -> Set[Tuple[str, bool]]: + + set_ = set() + for jid, bookmark in bookmarks.items(): + set_.add((jid, bookmark.autojoin)) + return set_ + + @staticmethod + def _convert_to_dict(bookmarks: List) -> Dict[str, BookmarkData]: + _dict = {} # type: Dict[str, BookmarkData] + if bookmarks is None: + return _dict + + for bookmark in bookmarks: + _dict[bookmark.jid] = bookmark + return _dict + + def get_bookmark(self, jid: Union[str, JID]) -> BookmarkData: + return self._bookmarks.get(jid) + + def request_bookmarks(self) -> None: + if not app.account_is_available(self._account): + return + + self._request_in_progress = True + self._nbxmpp(self._bookmark_module()).request_bookmarks( + callback=self._bookmarks_received) + + def _bookmarks_received(self, task: Any) -> None: + try: + bookmarks = task.finish() + except Exception as error: + self._log.warning(error) + bookmarks = None + + self._request_in_progress = False + self._bookmarks = self._convert_to_dict(bookmarks) + self.auto_join_bookmarks() + app.nec.push_incoming_event( + NetworkEvent('bookmarks-received', account=self._account)) + + def store_difference(self, bookmarks: List) -> None: + if self.nativ_bookmarks_used: + retract, add_or_modify = self._determine_changed_bookmarks( + bookmarks, self._bookmarks) + + for bookmark in retract: + self.remove(bookmark.jid) + + if add_or_modify: + self.store_bookmarks(add_or_modify) + self._bookmarks = self._convert_to_dict(bookmarks) + + else: + self._bookmarks = self._convert_to_dict(bookmarks) + self.store_bookmarks() + + def store_bookmarks(self, bookmarks: list = None) -> None: + if not app.account_is_available(self._account): + return + + if bookmarks is None or not self.nativ_bookmarks_used: + bookmarks = self._bookmarks.values() + + self._nbxmpp(self._bookmark_module()).store_bookmarks(bookmarks) + + app.nec.push_incoming_event( + NetworkEvent('bookmarks-received', account=self._account)) + + def _join_with_timeout(self, bookmarks: List[Any]) -> None: + self._join_timeouts.pop(0) + self.auto_join_bookmarks(bookmarks) + + def auto_join_bookmarks(self, + bookmarks: Optional[List[Any]] = None) -> None: + if bookmarks is None: + bookmarks = self._bookmarks.values() + + for bookmark in bookmarks: + if bookmark.autojoin: + # Only join non-opened groupchats. Opened one are already + # auto-joined on re-connection + if bookmark.jid not in app.gc_connected[self._account]: + # we are not already connected + self._log.info('Autojoin Bookmark: %s', bookmark.jid) + minimize = app.settings.get_group_chat_setting( + self._account, + bookmark.jid, + 'minimize_on_autojoin') + app.interface.join_groupchat(self._account, + str(bookmark.jid), + minimized=minimize) + + def modify(self, jid: str, **kwargs: Dict[str, str]) -> None: + bookmark = self._bookmarks.get(jid) + if bookmark is None: + return + + new_bookmark = bookmark._replace(**kwargs) + if new_bookmark == bookmark: + # No change happened + return + self._log.info('Modify bookmark: %s %s', jid, kwargs) + self._bookmarks[jid] = new_bookmark + + self.store_bookmarks([new_bookmark]) + + def add_or_modify(self, jid: str, **kwargs: Dict[str, str]) -> None: + bookmark = self._bookmarks.get(jid) + if bookmark is not None: + self.modify(jid, **kwargs) + return + + new_bookmark = BookmarkData(jid=jid, **kwargs) + self._bookmarks[jid] = new_bookmark + self._log.info('Add new bookmark: %s', new_bookmark) + + self.store_bookmarks([new_bookmark]) + + def remove(self, jid: JID, publish: bool = True) -> None: + removed = self._bookmarks.pop(jid, False) + if not removed: + return + if publish: + if self.nativ_bookmarks_used: + self._nbxmpp('NativeBookmarks').retract_bookmark(str(jid)) + else: + self.store_bookmarks() + + @staticmethod + def _determine_changed_bookmarks( + new_bookmarks: List[BookmarkData], + old_bookmarks: Dict[str, BookmarkData]) -> Tuple[ + List[BookmarkData], List[BookmarkData]]: + + new_jids = [bookmark.jid for bookmark in new_bookmarks] + new_bookmarks = set(new_bookmarks) + old_bookmarks = set(old_bookmarks.values()) + + retract = [] + add_or_modify = [] + changed_bookmarks = new_bookmarks.symmetric_difference(old_bookmarks) + + for bookmark in changed_bookmarks: + if bookmark.jid not in new_jids: + retract.append(bookmark) + if bookmark in new_bookmarks: + add_or_modify.append(bookmark) + return retract, add_or_modify + + def get_name_from_bookmark(self, jid: str) -> str: + bookmark = self._bookmarks.get(jid) + if bookmark is None: + return '' + return bookmark.name + + def is_bookmark(self, jid: str) -> bool: + return jid in self._bookmarks + + def _remove_timeouts(self): + for _id in self._join_timeouts: + GLib.source_remove(_id) + + def cleanup(self): + self._remove_timeouts() + + +def get_instance(*args, **kwargs): + return Bookmarks(*args, **kwargs), 'Bookmarks' diff --git a/gajim/common/modules/bytestream.py b/gajim/common/modules/bytestream.py new file mode 100644 index 0000000..0e9fe24 --- /dev/null +++ b/gajim/common/modules/bytestream.py @@ -0,0 +1,719 @@ +# Copyright (C) 2006 Dimitur Kirov +# Junglecow J +# Copyright (C) 2006-2007 Tomasz Melcer +# Travis Shirk +# Nikos Kouremenos +# Copyright (C) 2006-2014 Yann Leboulanger +# Copyright (C) 2007 Julien Pivotto +# Copyright (C) 2007-2008 Brendan Taylor +# Jean-Marie Traissard +# Stephan Erb +# Copyright (C) 2008 Jonathan Schleifer +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import socket +import logging + +import nbxmpp +from nbxmpp.namespaces import Namespace +from nbxmpp.structs import StanzaHandler +from gi.repository import GLib + +from gajim.common import app +from gajim.common import helpers +from gajim.common import jingle_xtls +from gajim.common.file_props import FilesProp +from gajim.common.socks5 import Socks5SenderClient +from gajim.common.nec import NetworkEvent +from gajim.common.modules.base import BaseModule + + +log = logging.getLogger('gajim.c.m.bytestream') + +def is_transfer_paused(file_props): + if file_props.stopped: + return False + if file_props.completed: + return False + if file_props.disconnect_cb: + return False + return file_props.paused + +def is_transfer_active(file_props): + if file_props.stopped: + return False + if file_props.completed: + return False + if not file_props.started: + return False + if file_props.paused: + return True + return not file_props.paused + +def is_transfer_stopped(file_props): + if not file_props: + return True + if file_props.error: + return True + if file_props.completed: + return True + if not file_props.stopped: + return False + return True + + +class Bytestream(BaseModule): + def __init__(self, con): + BaseModule.__init__(self, con) + + self.handlers = [ + StanzaHandler(name='iq', + typ='result', + ns=Namespace.BYTESTREAM, + callback=self._on_bytestream_result), + StanzaHandler(name='iq', + typ='error', + ns=Namespace.BYTESTREAM, + callback=self._on_bytestream_error), + StanzaHandler(name='iq', + typ='set', + ns=Namespace.BYTESTREAM, + callback=self._on_bytestream_set), + StanzaHandler(name='iq', + typ='result', + callback=self._on_result), + ] + + self.no_gupnp_reply_id = None + self.ok_id = None + self.fail_id = None + + def pass_disco(self, info): + if Namespace.BYTESTREAM not in info.features: + return + if app.settings.get_account_setting(self._account, 'use_ft_proxies'): + log.info('Discovered proxy: %s', info.jid) + our_fjid = self._con.get_own_jid() + testit = app.settings.get_account_setting( + self._account, 'test_ft_proxies_on_startup') + app.proxy65_manager.resolve( + info.jid, self._con.connection, str(our_fjid), + default=self._account, testit=testit) + raise nbxmpp.NodeProcessed + + def _ft_get_receiver_jid(self, file_props): + if self._account == 'Local': + return file_props.receiver.jid + return file_props.receiver.jid + '/' + file_props.receiver.resource + + def _ft_get_from(self, iq_obj): + if self._account == 'Local': + return iq_obj.getFrom() + return helpers.get_full_jid_from_iq(iq_obj) + + def _ft_get_streamhost_jid_attr(self, streamhost): + if self._account == 'Local': + return streamhost.getAttr('jid') + return helpers.parse_jid(streamhost.getAttr('jid')) + + def send_file_approval(self, file_props): + """ + Send iq, confirming that we want to download the file + """ + # user response to ConfirmationDialog may come after we've disconnected + if not app.account_is_available(self._account): + return + + # file transfer initiated by a jingle session + log.info("send_file_approval: jingle session accept") + + session = self._con.get_module('Jingle').get_jingle_session( + file_props.sender, file_props.sid) + if not session: + return + content = None + for content_ in session.contents.values(): + if content_.transport.sid == file_props.transport_sid: + content = content_ + break + + if not content: + return + + if not session.accepted: + content = session.get_content('file', content.name) + if content.use_security: + fingerprint = content.x509_fingerprint + if not jingle_xtls.check_cert( + app.get_jid_without_resource(file_props.sender), + fingerprint): + id_ = jingle_xtls.send_cert_request( + self._con, file_props.sender) + jingle_xtls.key_exchange_pend(id_, + content.on_cert_received, []) + return + session.approve_session() + + session.approve_content('file', content.name) + + def send_file_rejection(self, file_props): + """ + Inform sender that we refuse to download the file + + typ is used when code = '400', in this case typ can be 'stream' for + invalid stream or 'profile' for invalid profile + """ + # user response to ConfirmationDialog may come after we've disconnected + if not app.account_is_available(self._account): + return + + for session in self._con.get_module('Jingle').get_jingle_sessions( + None, file_props.sid): + session.cancel_session() + + def send_success_connect_reply(self, streamhost): + """ + Send reply to the initiator of FT that we made a connection + """ + if not app.account_is_available(self._account): + return + if streamhost is None: + return + iq = nbxmpp.Iq(to=streamhost['initiator'], + typ='result', + frm=streamhost['target']) + iq.setAttr('id', streamhost['id']) + query = iq.setTag('query', namespace=Namespace.BYTESTREAM) + stream_tag = query.setTag('streamhost-used') + stream_tag.setAttr('jid', streamhost['jid']) + self._con.connection.send(iq) + + def stop_all_active_file_transfers(self, contact): + """ + Stop all active transfer to or from the given contact + """ + for file_props in FilesProp.getAllFileProp(): + if is_transfer_stopped(file_props): + continue + receiver_jid = file_props.receiver + if contact.get_full_jid() == receiver_jid: + file_props.error = -5 + self.remove_transfer(file_props) + app.nec.push_incoming_event( + NetworkEvent('file-request-error', + conn=self._con, + jid=app.get_jid_without_resource(contact.jid), + file_props=file_props, + error_msg='')) + sender_jid = file_props.sender + if contact.get_full_jid() == sender_jid: + file_props.error = -3 + self.remove_transfer(file_props) + + def remove_all_transfers(self): + """ + Stop and remove all active connections from the socks5 pool + """ + for file_props in FilesProp.getAllFileProp(): + self.remove_transfer(file_props) + + def remove_transfer(self, file_props): + if file_props is None: + return + self.disconnect_transfer(file_props) + + @staticmethod + def disconnect_transfer(file_props): + if file_props is None: + return + if file_props.hash_: + app.socks5queue.remove_sender(file_props.hash_) + + if file_props.streamhosts: + for host in file_props.streamhosts: + if 'idx' in host and host['idx'] > 0: + app.socks5queue.remove_receiver(host['idx']) + app.socks5queue.remove_sender(host['idx']) + + def _send_socks5_info(self, file_props): + """ + Send iq for the present streamhosts and proxies + """ + if not app.account_is_available(self._account): + return + receiver = file_props.receiver + sender = file_props.sender + + sha_str = helpers.get_auth_sha(file_props.sid, sender, receiver) + file_props.sha_str = sha_str + + port = app.settings.get('file_transfers_port') + listener = app.socks5queue.start_listener( + port, + sha_str, + self._result_socks5_sid, file_props) + if not listener: + file_props.error = -5 + app.nec.push_incoming_event( + NetworkEvent('file-request-error', + conn=self._con, + jid=app.get_jid_without_resource(receiver), + file_props=file_props, + error_msg='')) + self._connect_error(file_props.sid, + error='not-acceptable', + error_type='modify') + else: + iq = nbxmpp.Iq(to=receiver, typ='set') + file_props.request_id = 'id_' + file_props.sid + iq.setID(file_props.request_id) + query = iq.setTag('query', namespace=Namespace.BYTESTREAM) + query.setAttr('sid', file_props.sid) + + self._add_addiditional_streamhosts_to_query(query, file_props) + self._add_local_ips_as_streamhosts_to_query(query, file_props) + self._add_proxy_streamhosts_to_query(query, file_props) + self._add_upnp_igd_as_streamhost_to_query(query, file_props, iq) + # Upnp-igd is asynchronous, so it will send the iq itself + + @staticmethod + def _add_streamhosts_to_query(query, sender, port, hosts): + for host in hosts: + streamhost = nbxmpp.Node(tag='streamhost') + query.addChild(node=streamhost) + streamhost.setAttr('port', str(port)) + streamhost.setAttr('host', host) + streamhost.setAttr('jid', sender) + + def _add_local_ips_as_streamhosts_to_query(self, query, file_props): + if not app.settings.get_account_setting(self._account, + 'ft_send_local_ips'): + return + + my_ip = self._con.local_address + if my_ip is None: + log.warning('No local address available') + return + + try: + # The ip we're connected to server with + my_ips = [my_ip] + # all IPs from local DNS + for addr in socket.getaddrinfo(socket.gethostname(), None): + if (not addr[4][0] in my_ips and + not addr[4][0].startswith('127') and + not addr[4][0] == '::1'): + my_ips.append(addr[4][0]) + + sender = file_props.sender + port = app.settings.get('file_transfers_port') + self._add_streamhosts_to_query(query, sender, port, my_ips) + except socket.gaierror: + from gajim.common.connection_handlers_events import InformationEvent + app.nec.push_incoming_event( + InformationEvent(None, dialog_name='wrong-host')) + + def _add_addiditional_streamhosts_to_query(self, query, file_props): + sender = file_props.sender + port = app.settings.get('file_transfers_port') + ft_add_hosts_to_send = app.settings.get('ft_add_hosts_to_send') + add_hosts = [] + if ft_add_hosts_to_send: + add_hosts = [e.strip() for e in ft_add_hosts_to_send.split(',')] + else: + add_hosts = [] + self._add_streamhosts_to_query(query, sender, port, add_hosts) + + def _add_upnp_igd_as_streamhost_to_query(self, query, file_props, iq): + my_ip = self._con.local_address + if my_ip is None or not app.is_installed('UPNP'): + log.warning('No local address available') + self._con.connection.send(iq) + return + + # check if we are connected with an IPv4 address + try: + socket.inet_aton(my_ip) + except socket.error: + self._con.connection.send(iq) + return + + def ip_is_local(ip): + if '.' not in ip: + # it's an IPv6 + return True + ip_s = ip.split('.') + ip_l = int(ip_s[0])<<24 | int(ip_s[1])<<16 | int(ip_s[2])<<8 | \ + int(ip_s[3]) + # 10/8 + if ip_l & (255<<24) == 10<<24: + return True + # 172.16/12 + if ip_l & (255<<24 | 240<<16) == (172<<24 | 16<<16): + return True + # 192.168 + if ip_l & (255<<24 | 255<<16) == (192<<24 | 168<<16): + return True + return False + + if not ip_is_local(my_ip): + self.connection.send(iq) + return + + self.no_gupnp_reply_id = 0 + + def cleanup_gupnp(): + if self.no_gupnp_reply_id: + GLib.source_remove(self.no_gupnp_reply_id) + self.no_gupnp_reply_id = 0 + app.gupnp_igd.disconnect(self.ok_id) + app.gupnp_igd.disconnect(self.fail_id) + + def success(_gupnp, _proto, ext_ip, _re, ext_port, + local_ip, local_port, _desc): + log.debug('Got GUPnP-IGD answer: external: %s:%s, internal: %s:%s', + ext_ip, ext_port, local_ip, local_port) + if local_port != app.settings.get('file_transfers_port'): + sender = file_props.sender + receiver = file_props.receiver + sha_str = helpers.get_auth_sha(file_props.sid, + sender, + receiver) + listener = app.socks5queue.start_listener( + local_port, + sha_str, + self._result_socks5_sid, + file_props.sid) + if listener: + self._add_streamhosts_to_query(query, + sender, + ext_port, + [ext_ip]) + else: + self._add_streamhosts_to_query(query, + file_props.sender, + ext_port, + [ext_ip]) + self._con.connection.send(iq) + cleanup_gupnp() + + def fail(_gupnp, error, _proto, _ext_ip, _local_ip, _local_port, _desc): + log.debug('Got GUPnP-IGD error: %s', error) + self._con.connection.send(iq) + cleanup_gupnp() + + def no_upnp_reply(): + log.debug('Got not GUPnP-IGD answer') + # stop trying to use it + app.disable_dependency('UPNP') + self.no_gupnp_reply_id = 0 + self._con.connection.send(iq) + cleanup_gupnp() + return False + + + self.ok_id = app.gupnp_igd.connect('mapped-external-port', success) + self.fail_id = app.gupnp_igd.connect('error-mapping-port', fail) + + port = app.settings.get('file_transfers_port') + self.no_gupnp_reply_id = GLib.timeout_add_seconds(10, no_upnp_reply) + app.gupnp_igd.add_port('TCP', + 0, + my_ip, + port, + 3600, + 'Gajim file transfer') + + def _add_proxy_streamhosts_to_query(self, query, file_props): + proxyhosts = self._get_file_transfer_proxies_from_config(file_props) + if proxyhosts: + file_props.proxy_receiver = file_props.receiver + file_props.proxy_sender = file_props.sender + file_props.proxyhosts = proxyhosts + + for proxyhost in proxyhosts: + self._add_streamhosts_to_query(query, + proxyhost['jid'], + proxyhost['port'], + [proxyhost['host']]) + + def _get_file_transfer_proxies_from_config(self, file_props): + configured_proxies = app.settings.get_account_setting( + self._account, 'file_transfer_proxies') + shall_use_proxies = app.settings.get_account_setting( + self._account, 'use_ft_proxies') + if shall_use_proxies: + proxyhost_dicts = [] + proxies = [] + if configured_proxies: + proxies = [item.strip() for item in + configured_proxies.split(',')] + default_proxy = app.proxy65_manager.get_default_for_name( + self._account) + if default_proxy: + # add/move default proxy at top of the others + if default_proxy in proxies: + proxies.remove(default_proxy) + proxies.insert(0, default_proxy) + + for proxy in proxies: + (host, _port, jid) = app.proxy65_manager.get_proxy( + proxy, self._account) + if not host: + continue + host_dict = { + 'state': 0, + 'target': file_props.receiver, + 'id': file_props.sid, + 'sid': file_props.sid, + 'initiator': proxy, + 'host': host, + 'port': str(_port), + 'jid': jid + } + proxyhost_dicts.append(host_dict) + return proxyhost_dicts + + return [] + + @staticmethod + def _result_socks5_sid(sid, hash_id): + """ + Store the result of SHA message from auth + """ + file_props = FilesProp.getFilePropBySid(sid) + file_props.hash_ = hash_id + + def _connect_error(self, sid, error, error_type, msg=None): + """ + Called when there is an error establishing BS connection, or when + connection is rejected + """ + if not app.account_is_available(self._account): + return + file_props = FilesProp.getFileProp(self._account, sid) + if file_props is None: + log.error('can not send iq error on failed transfer') + return + if file_props.type_ == 's': + to = file_props.receiver + else: + to = file_props.sender + iq = nbxmpp.Iq(to=to, typ='error') + iq.setAttr('id', file_props.request_id) + err = iq.setTag('error') + err.setAttr('type', error_type) + err.setTag(error, namespace=Namespace.STANZAS) + self._con.connection.send(iq) + if msg: + self.disconnect_transfer(file_props) + file_props.error = -3 + app.nec.push_incoming_event( + NetworkEvent('file-request-error', + conn=self._con, + jid=app.get_jid_without_resource(to), + file_props=file_props, + error_msg=msg)) + + def _proxy_auth_ok(self, proxy): + """ + Called after authentication to proxy server + """ + if not app.account_is_available(self._account): + return + file_props = FilesProp.getFileProp(self._account, proxy['sid']) + iq = nbxmpp.Iq(to=proxy['initiator'], typ='set') + auth_id = "au_" + proxy['sid'] + iq.setID(auth_id) + query = iq.setTag('query', namespace=Namespace.BYTESTREAM) + query.setAttr('sid', proxy['sid']) + activate = query.setTag('activate') + activate.setData(file_props.proxy_receiver) + iq.setID(auth_id) + self._con.connection.send(iq) + + def _on_bytestream_error(self, _con, iq_obj, _properties): + id_ = iq_obj.getAttr('id') + frm = helpers.get_full_jid_from_iq(iq_obj) + query = iq_obj.getTag('query') + app.proxy65_manager.error_cb(frm, query) + jid = helpers.get_jid_from_iq(iq_obj) + id_ = id_[3:] + file_props = FilesProp.getFilePropBySid(id_) + if not file_props: + return + file_props.error = -4 + app.nec.push_incoming_event( + NetworkEvent('file-request-error', + conn=self._con, + jid=app.get_jid_without_resource(jid), + file_props=file_props, + error_msg='')) + raise nbxmpp.NodeProcessed + + def _on_bytestream_set(self, con, iq_obj, _properties): + target = iq_obj.getAttr('to') + id_ = iq_obj.getAttr('id') + query = iq_obj.getTag('query') + sid = query.getAttr('sid') + file_props = FilesProp.getFileProp(self._account, sid) + streamhosts = [] + for item in query.getChildren(): + if item.getName() == 'streamhost': + host_dict = { + 'state': 0, + 'target': target, + 'id': id_, + 'sid': sid, + 'initiator': self._ft_get_from(iq_obj) + } + for attr in item.getAttrs(): + host_dict[attr] = item.getAttr(attr) + if 'host' not in host_dict: + continue + if 'jid' not in host_dict: + continue + if 'port' not in host_dict: + continue + streamhosts.append(host_dict) + file_props = FilesProp.getFilePropBySid(sid) + if file_props is not None: + if file_props.type_ == 's': # FIXME: remove fast xmlns + # only psi do this + if file_props.streamhosts: + file_props.streamhosts.extend(streamhosts) + else: + file_props.streamhosts = streamhosts + app.socks5queue.connect_to_hosts( + self._account, + sid, + self.send_success_connect_reply, + None) + raise nbxmpp.NodeProcessed + else: + log.warning('Gajim got streamhosts for unknown transfer. ' + 'Ignoring it.') + raise nbxmpp.NodeProcessed + + file_props.streamhosts = streamhosts + def _connection_error(sid): + self._connect_error(sid, + 'item-not-found', + 'cancel', + msg='Could not connect to given hosts') + if file_props.type_ == 'r': + app.socks5queue.connect_to_hosts( + self._account, + sid, + self.send_success_connect_reply, + _connection_error) + raise nbxmpp.NodeProcessed + + def _on_result(self, _con, iq_obj, _properties): + # if we want to respect xep-0065 we have to check for proxy + # activation result in any result iq + real_id = iq_obj.getAttr('id') + if real_id is None: + log.warning('Invalid IQ without id attribute:\n%s', iq_obj) + raise nbxmpp.NodeProcessed + if real_id is None or not real_id.startswith('au_'): + return + frm = self._ft_get_from(iq_obj) + id_ = real_id[3:] + file_props = FilesProp.getFilePropByTransportSid(self._account, id_) + if file_props.streamhost_used: + for host in file_props.proxyhosts: + if host['initiator'] == frm and 'idx' in host: + app.socks5queue.activate_proxy(host['idx']) + raise nbxmpp.NodeProcessed + + def _on_bytestream_result(self, con, iq_obj, _properties): + frm = self._ft_get_from(iq_obj) + real_id = iq_obj.getAttr('id') + query = iq_obj.getTag('query') + app.proxy65_manager.resolve_result(frm, query) + + try: + streamhost = query.getTag('streamhost-used') + except Exception: # this bytestream result is not what we need + pass + id_ = real_id[3:] + file_props = FilesProp.getFileProp(self._account, id_) + if file_props is None: + raise nbxmpp.NodeProcessed + if streamhost is None: + # proxy approves the activate query + if real_id.startswith('au_'): + if file_props.streamhost_used is False: + raise nbxmpp.NodeProcessed + if not file_props.proxyhosts: + raise nbxmpp.NodeProcessed + for host in file_props.proxyhosts: + if host['initiator'] == frm and \ + query.getAttr('sid') == file_props.sid: + app.socks5queue.activate_proxy(host['idx']) + break + raise nbxmpp.NodeProcessed + jid = self._ft_get_streamhost_jid_attr(streamhost) + if file_props.streamhost_used is True: + raise nbxmpp.NodeProcessed + + if real_id.startswith('au_'): + if file_props.stopped: + self.remove_transfer(file_props) + else: + app.socks5queue.send_file(file_props, self._account, 'server') + raise nbxmpp.NodeProcessed + + proxy = None + if file_props.proxyhosts: + for proxyhost in file_props.proxyhosts: + if proxyhost['jid'] == jid: + proxy = proxyhost + + if file_props.stopped: + self.remove_transfer(file_props) + raise nbxmpp.NodeProcessed + if proxy is not None: + file_props.streamhost_used = True + file_props.streamhosts.append(proxy) + file_props.is_a_proxy = True + idx = app.socks5queue.idx + sender = Socks5SenderClient(app.idlequeue, + idx, + app.socks5queue, + _sock=None, + host=str(proxy['host']), + port=int(proxy['port']), + fingerprint=None, + connected=False, + file_props=file_props) + sender.streamhost = proxy + app.socks5queue.add_sockobj(self._account, sender) + proxy['idx'] = sender.queue_idx + app.socks5queue.on_success[file_props.sid] = self._proxy_auth_ok + raise nbxmpp.NodeProcessed + + if file_props.stopped: + self.remove_transfer(file_props) + else: + app.socks5queue.send_file(file_props, self._account, 'server') + + raise nbxmpp.NodeProcessed + + +def get_instance(*args, **kwargs): + return Bytestream(*args, **kwargs), 'Bytestream' diff --git a/gajim/common/modules/caps.py b/gajim/common/modules/caps.py new file mode 100644 index 0000000..9e868b7 --- /dev/null +++ b/gajim/common/modules/caps.py @@ -0,0 +1,232 @@ +# Copyright (C) 2009 Stephan Erb +# Copyright (C) 2018 Philipp Hörist +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0115: Entity Capabilities + +import weakref +from collections import defaultdict + +from nbxmpp.namespaces import Namespace +from nbxmpp.structs import StanzaHandler +from nbxmpp.structs import DiscoIdentity +from nbxmpp.util import compute_caps_hash +from nbxmpp.errors import StanzaError + +from gajim.common import app +from gajim.common.const import COMMON_FEATURES +from gajim.common.const import Entity +from gajim.common.helpers import get_optional_features +from gajim.common.nec import NetworkEvent +from gajim.common.task_manager import Task +from gajim.common.modules.base import BaseModule + + +class Caps(BaseModule): + + _nbxmpp_extends = 'EntityCaps' + _nbxmpp_methods = [ + 'caps', + 'set_caps' + ] + + def __init__(self, con): + BaseModule.__init__(self, con) + + self.handlers = [ + StanzaHandler(name='presence', + callback=self._entity_caps, + ns=Namespace.CAPS, + priority=51), + ] + + self._identities = [ + DiscoIdentity(category='client', type='pc', name='Gajim') + ] + + self._queued_tasks_by_hash = defaultdict(set) + self._queued_tasks_by_jid = {} + + def _queue_task(self, task): + old_task = self._get_task(task.entity.jid) + if old_task is not None: + self._remove_task(old_task) + + self._log.info('Queue query for hash %s', task.entity.hash) + self._queued_tasks_by_hash[task.entity.hash].add(task) + self._queued_tasks_by_jid[task.entity.jid] = task + app.task_manager.add_task(task) + + def _get_task(self, jid): + return self._queued_tasks_by_jid.get(jid) + + def _get_similar_tasks(self, task): + return self._queued_tasks_by_hash.pop(task.entity.hash) + + def _remove_task(self, task): + task.set_obsolete() + del self._queued_tasks_by_jid[task.entity.jid] + self._queued_tasks_by_hash[task.entity.hash].discard(task) + + def _remove_all_tasks(self): + for task in self._queued_tasks_by_jid.values(): + task.set_obsolete() + self._queued_tasks_by_jid.clear() + self._queued_tasks_by_hash.clear() + + def _entity_caps(self, _con, _stanza, properties): + if properties.type.is_error or properties.type.is_unavailable: + return + + if properties.is_self_presence: + return + + if properties.entity_caps is None: + return + + task = EntityCapsTask(self._account, properties, self._execute_task) + + self._log.info('Received %s', task.entity) + + disco_info = app.storage.cache.get_caps_entry(task.entity.method, + task.entity.hash) + if disco_info is None: + self._queue_task(task) + return + + jid = str(properties.jid) + app.storage.cache.set_last_disco_info(jid, disco_info, cache_only=True) + app.nec.push_incoming_event( + NetworkEvent('caps-update', + account=self._account, + fjid=jid, + jid=properties.jid.bare)) + + def _execute_task(self, task): + self._log.info('Request %s from %s', task.entity.hash, task.entity.jid) + self._con.get_module('Discovery').disco_info( + task.entity.jid, + node=f'{task.entity.node}#{task.entity.hash}', + callback=self._on_disco_info, + user_data=task.entity.jid) + + def _on_disco_info(self, nbxmpp_task): + jid = nbxmpp_task.get_user_data() + task = self._get_task(jid) + if task is None: + self._log.info('Task not found for %s', jid) + return + + self._remove_task(task) + + try: + disco_info = nbxmpp_task.finish() + except StanzaError as error: + self._log.warning(error) + return + + self._log.info('Disco Info received: %s', disco_info.jid) + + try: + compute_caps_hash(disco_info) + except Exception as error: + self._log.warning('Disco info malformed: %s %s', + disco_info.jid, error) + return + + app.storage.cache.add_caps_entry( + str(disco_info.jid), + task.entity.method, + disco_info.get_caps_hash(), + disco_info) + + self._log.info('Finished query for %s', task.entity.hash) + + tasks = self._get_similar_tasks(task) + + for task in tasks: + self._remove_task(task) + self._log.info('Update %s', task.entity.jid) + app.nec.push_incoming_event( + NetworkEvent('caps-update', + account=self._account, + fjid=str(task.entity.jid), + jid=task.entity.jid.bare)) + + def update_caps(self): + if not app.account_is_connected(self._account): + return + + optional_features = get_optional_features(self._account) + self.set_caps(self._identities, + COMMON_FEATURES + optional_features, + 'https://gajim.org') + + if not app.account_is_available(self._account): + return + + app.connections[self._account].change_status( + app.connections[self._account].status, + app.connections[self._account].status_message) + + def cleanup(self): + self._remove_all_tasks() + BaseModule.cleanup(self) + + +class EntityCapsTask(Task): + def __init__(self, account, properties, callback): + Task.__init__(self) + self._account = account + self._callback = weakref.WeakMethod(callback) + + self.entity = Entity(jid=properties.jid, + node=properties.entity_caps.node, + hash=properties.entity_caps.ver, + method=properties.entity_caps.hash) + + self._from_muc = properties.from_muc + + def execute(self): + callback = self._callback() + if callback is not None: + callback(self) + + def preconditions_met(self): + try: + client = app.get_client(self._account) + except Exception: + return False + + if self._from_muc: + muc = client.get_module('MUC').get_manager().get( + self.entity.jid.bare) + + if muc is None or not muc.state.is_joined: + self.set_obsolete() + return False + + return client.state.is_available + + def __repr__(self): + return f'Entity Caps ({self.entity.jid} {self.entity.hash})' + + def __hash__(self): + return hash(self.entity) + + +def get_instance(*args, **kwargs): + return Caps(*args, **kwargs), 'Caps' diff --git a/gajim/common/modules/carbons.py b/gajim/common/modules/carbons.py new file mode 100644 index 0000000..c57be3a --- /dev/null +++ b/gajim/common/modules/carbons.py @@ -0,0 +1,44 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0280: Message Carbons + +import nbxmpp +from nbxmpp.namespaces import Namespace + +from gajim.common.modules.base import BaseModule + + +class Carbons(BaseModule): + def __init__(self, con): + BaseModule.__init__(self, con) + + self.supported = False + + def pass_disco(self, info): + if Namespace.CARBONS not in info.features: + return + + self.supported = True + self._log.info('Discovered carbons: %s', info.jid) + + iq = nbxmpp.Iq('set') + iq.setTag('enable', namespace=Namespace.CARBONS) + self._log.info('Activate') + self._con.connection.send(iq) + + + +def get_instance(*args, **kwargs): + return Carbons(*args, **kwargs), 'Carbons' diff --git a/gajim/common/modules/chat_markers.py b/gajim/common/modules/chat_markers.py new file mode 100644 index 0000000..9197024 --- /dev/null +++ b/gajim/common/modules/chat_markers.py @@ -0,0 +1,123 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# Chat Markers (XEP-0333) + +from nbxmpp.namespaces import Namespace +from nbxmpp.structs import StanzaHandler + +from gajim.common import app +from gajim.common.nec import NetworkEvent +from gajim.common.modules.base import BaseModule +from gajim.common.structs import OutgoingMessage + + +class ChatMarkers(BaseModule): + + _nbxmpp_extends = 'ChatMarkers' + + def __init__(self, con): + BaseModule.__init__(self, con) + + self.handlers = [ + StanzaHandler(name='message', + callback=self._process_chat_marker, + ns=Namespace.CHATMARKERS, + priority=47), + ] + + def _process_chat_marker(self, _con, _stanza, properties): + if not properties.is_marker or not properties.marker.is_displayed: + return + + if properties.type.is_error: + return + + if properties.type.is_groupchat: + manager = self._con.get_module('MUC').get_manager() + muc_data = manager.get(properties.muc_jid) + if muc_data is None: + return + + if properties.muc_nickname != muc_data.nick: + return + + self._raise_event('read-state-sync', properties) + return + + if properties.is_carbon_message and properties.carbon.is_sent: + self._raise_event('read-state-sync', properties) + return + + if properties.is_mam_message: + if properties.from_.bareMatch(self._con.get_own_jid()): + return + + self._raise_event('displayed-received', properties) + + def _raise_event(self, name, properties): + self._log.info('%s: %s %s', + name, + properties.jid, + properties.marker.id) + + jid = properties.jid + if not properties.is_muc_pm and not properties.type.is_groupchat: + jid = properties.jid.bare + + app.storage.archive.set_marker( + app.get_jid_from_account(self._account), + jid, + properties.marker.id, + 'displayed') + + app.nec.push_outgoing_event( + NetworkEvent(name, + account=self._account, + jid=jid, + properties=properties, + type=properties.type, + is_muc_pm=properties.is_muc_pm, + marker_id=properties.marker.id)) + + def _send_marker(self, contact, marker, id_, type_): + jid = contact.jid + if contact.is_pm_contact: + jid = app.get_jid_without_resource(contact.jid) + + if type_ in ('gc', 'pm'): + if not app.settings.get_group_chat_setting( + self._account, jid, 'send_marker'): + return + else: + if not app.settings.get_contact_setting( + self._account, jid, 'send_marker'): + return + + typ = 'groupchat' if type_ == 'gc' else 'chat' + message = OutgoingMessage(account=self._account, + contact=contact, + message=None, + type_=typ, + marker=(marker, id_), + play_sound=False) + self._con.send_message(message) + self._log.info('Send %s: %s', marker, contact.jid) + + def send_displayed_marker(self, contact, id_, type_): + self._send_marker(contact, 'displayed', id_, str(type_)) + + +def get_instance(*args, **kwargs): + return ChatMarkers(*args, **kwargs), 'ChatMarkers' diff --git a/gajim/common/modules/chatstates.py b/gajim/common/modules/chatstates.py new file mode 100644 index 0000000..3fc7a0b --- /dev/null +++ b/gajim/common/modules/chatstates.py @@ -0,0 +1,358 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0085: Chat State Notifications + +from typing import Any +from typing import Dict # pylint: disable=unused-import +from typing import List # pylint: disable=unused-import +from typing import Optional +from typing import Tuple + +import time +from functools import wraps + +import nbxmpp +from nbxmpp.namespaces import Namespace +from nbxmpp.structs import StanzaHandler +from gi.repository import GLib + +from gajim.common import app +from gajim.common.nec import NetworkEvent +from gajim.common.const import Chatstate as State +from gajim.common.structs import OutgoingMessage +from gajim.common.modules.base import BaseModule + +from gajim.common.types import ContactT +from gajim.common.types import ConnectionT + + +INACTIVE_AFTER = 60 +PAUSED_AFTER = 10 + + +def ensure_enabled(func): + @wraps(func) + def func_wrapper(self, *args, **kwargs): + if not self.enabled: + return None + return func(self, *args, **kwargs) + return func_wrapper + + +class Chatstate(BaseModule): + def __init__(self, con: ConnectionT) -> None: + BaseModule.__init__(self, con) + + self.handlers = [ + StanzaHandler(name='presence', + callback=self._presence_received), + StanzaHandler(name='message', + callback=self._process_chatstate, + ns=Namespace.CHATSTATES, + priority=46), + ] + + # Our current chatstate with a specific contact + self._chatstates = {} # type: Dict[str, State] + + self._last_keyboard_activity = {} # type: Dict[str, float] + self._last_mouse_activity = {} # type: Dict[str, float] + self._timeout_id = None + self._delay_timeout_ids = {} # type: Dict[str, str] + self._blocked = [] # type: List[str] + self._enabled = False + + @property + def enabled(self): + return self._enabled + + @enabled.setter + def enabled(self, value): + if self._enabled == value: + return + self._log.info('Chatstate module %s', + 'enabled' if value else 'disabled') + self._enabled = value + + if value: + self._timeout_id = GLib.timeout_add_seconds( + 2, self._check_last_interaction) + else: + self.cleanup() + self._chatstates = {} + self._last_keyboard_activity = {} + self._last_mouse_activity = {} + self._blocked = [] + + @ensure_enabled + def _presence_received(self, + _con: ConnectionT, + stanza: nbxmpp.Presence, + _properties: Any) -> None: + if stanza.getType() not in ('unavailable', 'error'): + return + + full_jid = stanza.getFrom() + if full_jid is None or self._con.get_own_jid().bare_match(full_jid): + # Presence from ourself + return + + contact = app.contacts.get_gc_contact( + self._account, full_jid.bare, full_jid.resource) + if contact is None: + contact = app.contacts.get_contact_from_full_jid( + self._account, str(full_jid)) + if contact is None: + return + + if contact.chatstate is None: + return + + if contact.is_gc_contact: + jid = contact.get_full_jid() + else: + jid = contact.jid + + contact.chatstate = None + self._chatstates.pop(jid, None) + self._last_mouse_activity.pop(jid, None) + self._last_keyboard_activity.pop(jid, None) + + self._log.info('Reset chatstate for %s', jid) + + app.nec.push_outgoing_event( + NetworkEvent('chatstate-received', + account=self._account, + contact=contact)) + + def _process_chatstate(self, _con, _stanza, properties): + if not properties.has_chatstate: + return + + if (properties.is_self_message or + properties.type.is_groupchat or + properties.is_mam_message or + properties.is_carbon_message and properties.carbon.is_sent): + return + + if properties.is_muc_pm: + contact = app.contacts.get_gc_contact( + self._account, + properties.jid.bare, + properties.jid.resource) + else: + contact = app.contacts.get_contact_from_full_jid( + self._account, str(properties.jid)) + if contact is None: + return + + contact.chatstate = properties.chatstate + self._log.info('Recv: %-10s - %s', properties.chatstate, properties.jid) + app.nec.push_outgoing_event( + NetworkEvent('chatstate-received', + account=self._account, + contact=contact)) + + @ensure_enabled + def _check_last_interaction(self) -> GLib.SOURCE_CONTINUE: + now = time.time() + for jid in list(self._last_mouse_activity.keys()): + time_ = self._last_mouse_activity[jid] + current_state = self._chatstates.get(jid) + if current_state is None: + self._last_mouse_activity.pop(jid, None) + self._last_keyboard_activity.pop(jid, None) + continue + + if current_state in (State.GONE, State.INACTIVE): + continue + + new_chatstate = None + if now - time_ > INACTIVE_AFTER: + new_chatstate = State.INACTIVE + + elif current_state == State.COMPOSING: + key_time = self._last_keyboard_activity[jid] + if now - key_time > PAUSED_AFTER: + new_chatstate = State.PAUSED + + if new_chatstate is not None: + if self._chatstates.get(jid) != new_chatstate: + contact = app.contacts.get_contact(self._account, jid) + if contact is None: + room, nick = app.get_room_and_nick_from_fjid(jid) + contact = app.contacts.get_gc_contact( + self._account, room, nick) + if contact is not None: + contact = contact.as_contact() + else: + # Contact not found, maybe we left the group chat + # or the contact was removed from the roster + self._log.info( + 'Contact %s not found, reset chatstate', jid) + self._chatstates.pop(jid, None) + self._last_mouse_activity.pop(jid, None) + self._last_keyboard_activity.pop(jid, None) + continue + self.set_chatstate(contact, new_chatstate) + + return GLib.SOURCE_CONTINUE + + @ensure_enabled + def set_active(self, contact: ContactT) -> None: + if contact.settings.get('send_chatstate') == 'disabled': + return + self._last_mouse_activity[contact.jid] = time.time() + self._chatstates[contact.jid] = State.ACTIVE + + def get_active_chatstate(self, contact: ContactT) -> Optional[str]: + # determines if we add 'active' on outgoing messages + if contact.settings.get('send_chatstate') == 'disabled': + return None + + if not contact.is_groupchat: + # Don’t send chatstates to ourself + if self._con.get_own_jid().bare_match(contact.jid): + return None + + if not contact.supports(Namespace.CHATSTATES): + return None + + self.set_active(contact) + return 'active' + + @ensure_enabled + def block_chatstates(self, contact: ContactT, block: bool) -> None: + # Block sending chatstates to a contact + # Used for example if we cycle through the MUC nick list, which + # produces a lot of buffer 'changed' signals from the input textview. + # This would lead to sending ACTIVE -> COMPOSING -> ACTIVE ... + if block: + self._blocked.append(contact.jid) + else: + self._blocked.remove(contact.jid) + + @ensure_enabled + def set_chatstate_delayed(self, contact: ContactT, state: State) -> None: + # Used when we go from Composing -> Active after deleting all text + # from the Textview. We delay the Active state because maybe the + # User starts writing again. + self.remove_delay_timeout(contact) + self._delay_timeout_ids[contact.jid] = GLib.timeout_add_seconds( + 2, self.set_chatstate, contact, state) + + @ensure_enabled + def set_chatstate(self, contact: ContactT, state: State) -> None: + # Don’t send chatstates to ourself + if self._con.get_own_jid().bare_match(contact.jid): + return + + if contact.jid in self._blocked: + return + + self.remove_delay_timeout(contact) + current_state = self._chatstates.get(contact.jid) + setting = contact.settings.get('send_chatstate') + if setting == 'disabled': + # Send a last 'active' state after user disabled chatstates + if current_state is not None: + self._log.info('Disabled for %s', contact.jid) + self._log.info('Send last state: %-10s - %s', + State.ACTIVE, contact.jid) + + self._send_chatstate(contact, str(State.ACTIVE)) + + self._chatstates.pop(contact.jid, None) + self._last_mouse_activity.pop(contact.jid, None) + self._last_keyboard_activity.pop(contact.jid, None) + return + + if not contact.is_groupchat: + # Don’t leak presence to contacts + # which are not allowed to see our status + if not contact.is_pm_contact: + if contact and contact.sub in ('to', 'none'): + self._log.info('Contact not subscribed: %s', contact.jid) + return + + if contact.show == 'offline': + self._log.info('Contact offline: %s', contact.jid) + return + + if not contact.supports(Namespace.CHATSTATES): + self._log.info('Chatstates not supported: %s', contact.jid) + return + + if state in (State.ACTIVE, State.COMPOSING): + self._last_mouse_activity[contact.jid] = time.time() + + if setting == 'composing_only': + if state in (State.INACTIVE, State.GONE): + state = State.ACTIVE + + if current_state == state: + return + + self._log.info('Send: %-10s - %s', state, contact.jid) + + self._send_chatstate(contact, str(state)) + + self._chatstates[contact.jid] = state + + def _send_chatstate(self, contact, chatstate): + type_ = 'groupchat' if contact.is_groupchat else 'chat' + message = OutgoingMessage(account=self._account, + contact=contact, + message=None, + type_=type_, + chatstate=chatstate, + play_sound=False) + + self._con.send_message(message) + + @ensure_enabled + def set_mouse_activity(self, contact: ContactT, was_paused: bool) -> None: + if contact.settings.get('send_chatstate') == 'disabled': + return + self._last_mouse_activity[contact.jid] = time.time() + if self._chatstates.get(contact.jid) == State.INACTIVE: + if was_paused: + self.set_chatstate(contact, State.PAUSED) + else: + self.set_chatstate(contact, State.ACTIVE) + + @ensure_enabled + def set_keyboard_activity(self, contact: ContactT) -> None: + self._last_keyboard_activity[contact.jid] = time.time() + + def remove_delay_timeout(self, contact): + timeout = self._delay_timeout_ids.get(contact.jid) + if timeout is not None: + GLib.source_remove(timeout) + del self._delay_timeout_ids[contact.jid] + + def remove_all_delay_timeouts(self): + for timeout in self._delay_timeout_ids.values(): + GLib.source_remove(timeout) + self._delay_timeout_ids = {} + + def cleanup(self): + self.remove_all_delay_timeouts() + if self._timeout_id is not None: + GLib.source_remove(self._timeout_id) + + +def get_instance(*args: Any, **kwargs: Any) -> Tuple[Chatstate, str]: + return Chatstate(*args, **kwargs), 'Chatstate' diff --git a/gajim/common/modules/delimiter.py b/gajim/common/modules/delimiter.py new file mode 100644 index 0000000..3c4c8b7 --- /dev/null +++ b/gajim/common/modules/delimiter.py @@ -0,0 +1,56 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0083: Nested Roster Groups + + +from nbxmpp.errors import is_error + +from gajim.common.modules.base import BaseModule +from gajim.common.modules.util import as_task + + +class Delimiter(BaseModule): + + _nbxmpp_extends = 'Delimiter' + _nbxmpp_methods = [ + 'request_delimiter', + 'set_delimiter' + ] + + def __init__(self, con): + BaseModule.__init__(self, con) + self.available = False + self.delimiter = '::' + + @as_task + def get_roster_delimiter(self): + _task = yield + + delimiter = yield self.request_delimiter() + if is_error(delimiter) or delimiter is None: + result = yield self.set_delimiter(self.delimiter) + if is_error(result): + self._con.connect_machine() + return + + delimiter = self.delimiter + + self.delimiter = delimiter + self.available = True + self._con.connect_machine() + + +def get_instance(*args, **kwargs): + return Delimiter(*args, **kwargs), 'Delimiter' diff --git a/gajim/common/modules/discovery.py b/gajim/common/modules/discovery.py new file mode 100644 index 0000000..90b23e0 --- /dev/null +++ b/gajim/common/modules/discovery.py @@ -0,0 +1,265 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0030: Service Discovery + +import nbxmpp +from nbxmpp.namespaces import Namespace +from nbxmpp.structs import StanzaHandler +from nbxmpp.errors import StanzaError +from nbxmpp.errors import is_error + +from gajim.common import app +from gajim.common.nec import NetworkIncomingEvent +from gajim.common.nec import NetworkEvent +from gajim.common.modules.util import as_task +from gajim.common.modules.base import BaseModule + + +class Discovery(BaseModule): + + _nbxmpp_extends = 'Discovery' + _nbxmpp_methods = [ + 'disco_info', + 'disco_items', + ] + + def __init__(self, con): + BaseModule.__init__(self, con) + + self.handlers = [ + StanzaHandler(name='iq', + callback=self._answer_disco_info, + typ='get', + ns=Namespace.DISCO_INFO), + StanzaHandler(name='iq', + callback=self._answer_disco_items, + typ='get', + ns=Namespace.DISCO_ITEMS), + ] + + self._account_info = None + self._server_info = None + + @property + def account_info(self): + return self._account_info + + @property + def server_info(self): + return self._server_info + + def discover_server_items(self): + server = self._con.get_own_jid().domain + self.disco_items(server, callback=self._server_items_received) + + def _server_items_received(self, task): + try: + result = task.finish() + except StanzaError as error: + self._log.warning('Server disco failed') + self._log.error(error) + return + + self._log.info('Server items received') + self._log.debug(result) + for item in result.items: + if item.node is not None: + # Only disco components + continue + self.disco_info(item.jid, callback=self._server_items_info_received) + + def _server_items_info_received(self, task): + try: + result = task.finish() + except StanzaError as error: + self._log.warning('Server item disco info failed') + self._log.warning(error) + return + + self._log.info('Server item info received: %s', result.jid) + self._parse_transports(result) + try: + self._con.get_module('MUC').pass_disco(result) + self._con.get_module('HTTPUpload').pass_disco(result) + self._con.get_module('Bytestream').pass_disco(result) + except nbxmpp.NodeProcessed: + pass + + app.nec.push_incoming_event( + NetworkIncomingEvent('server-disco-received')) + + def discover_account_info(self): + own_jid = self._con.get_own_jid().bare + self.disco_info(own_jid, callback=self._account_info_received) + + def _account_info_received(self, task): + try: + result = task.finish() + except StanzaError as error: + self._log.warning('Account disco info failed') + self._log.warning(error) + return + + self._log.info('Account info received: %s', result.jid) + + self._account_info = result + + self._con.get_module('MAM').pass_disco(result) + self._con.get_module('PEP').pass_disco(result) + self._con.get_module('PubSub').pass_disco(result) + self._con.get_module('Bookmarks').pass_disco(result) + self._con.get_module('VCardAvatars').pass_disco(result) + + self._con.get_module('Caps').update_caps() + + def discover_server_info(self): + # Calling this method starts the connect_maschine() + server = self._con.get_own_jid().domain + self.disco_info(server, callback=self._server_info_received) + + def _server_info_received(self, task): + try: + result = task.finish() + except StanzaError as error: + self._log.error('Server disco info failed') + self._log.error(error) + return + + self._log.info('Server info received: %s', result.jid) + + self._server_info = result + + self._con.get_module('SecLabels').pass_disco(result) + self._con.get_module('Blocking').pass_disco(result) + self._con.get_module('VCardTemp').pass_disco(result) + self._con.get_module('Carbons').pass_disco(result) + self._con.get_module('HTTPUpload').pass_disco(result) + self._con.get_module('Register').pass_disco(result) + + self._con.connect_machine(restart=True) + + def _parse_transports(self, info): + for identity in info.identities: + if identity.category not in ('gateway', 'headline'): + continue + + self._log.info('Found transport: %s %s %s', + info.jid, identity.category, identity.type) + + jid = str(info.jid) + if jid not in app.transport_type: + app.transport_type[jid] = identity.type + + if identity.type in self._con.available_transports: + self._con.available_transports[identity.type].append(jid) + else: + self._con.available_transports[identity.type] = [jid] + + def _answer_disco_items(self, _con, stanza, _properties): + from_ = stanza.getFrom() + self._log.info('Answer disco items to %s', from_) + + if self._con.get_module('AdHocCommands').command_items_query(stanza): + raise nbxmpp.NodeProcessed + + node = stanza.getTagAttr('query', 'node') + if node is None: + result = stanza.buildReply('result') + self._con.connection.send(result) + raise nbxmpp.NodeProcessed + + if node == Namespace.COMMANDS: + self._con.get_module('AdHocCommands').command_list_query(stanza) + raise nbxmpp.NodeProcessed + + def _answer_disco_info(self, _con, stanza, _properties): + from_ = stanza.getFrom() + self._log.info('Answer disco info %s', from_) + if str(from_).startswith('echo.'): + # Service that echos all stanzas, ignore it + raise nbxmpp.NodeProcessed + + if self._con.get_module('AdHocCommands').command_info_query(stanza): + raise nbxmpp.NodeProcessed + + @as_task + def disco_muc(self, + jid, + request_vcard=False, + allow_redirect=False): + + _task = yield + + self._log.info('Request MUC info for %s', jid) + + result = yield self._nbxmpp('MUC').request_info( + jid, + request_vcard=request_vcard, + allow_redirect=allow_redirect) + + if is_error(result): + raise result + + if result.redirected: + self._log.info('MUC info received after redirect: %s -> %s', + jid, result.info.jid) + else: + self._log.info('MUC info received: %s', result.info.jid) + + app.storage.cache.set_last_disco_info(result.info.jid, result.info) + + if result.vcard is not None: + avatar, avatar_sha = result.vcard.get_avatar() + if avatar is not None: + if not app.interface.avatar_exists(avatar_sha): + app.interface.save_avatar(avatar) + + app.storage.cache.set_muc_avatar_sha(result.info.jid, + avatar_sha) + app.interface.avatar_storage.invalidate_cache(result.info.jid) + + self._con.get_module('VCardAvatars').muc_disco_info_update(result.info) + app.nec.push_incoming_event(NetworkEvent( + 'muc-disco-update', + account=self._account, + room_jid=result.info.jid)) + + yield result + + @as_task + def disco_contact(self, contact): + _task = yield + + fjid = contact.get_full_jid() + + result = yield self.disco_info(fjid) + if is_error(result): + raise result + + self._log.info('Disco Info received: %s', fjid) + + app.storage.cache.set_last_disco_info(result.jid, + result, + cache_only=True) + + app.nec.push_incoming_event( + NetworkEvent('caps-update', + account=self._account, + fjid=fjid, + jid=contact.jid)) + + +def get_instance(*args, **kwargs): + return Discovery(*args, **kwargs), 'Discovery' diff --git a/gajim/common/modules/entity_time.py b/gajim/common/modules/entity_time.py new file mode 100644 index 0000000..e3be907 --- /dev/null +++ b/gajim/common/modules/entity_time.py @@ -0,0 +1,116 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0202: Entity Time + +import time + +import nbxmpp +from nbxmpp.namespaces import Namespace +from nbxmpp.structs import StanzaHandler +from nbxmpp.modules.date_and_time import parse_datetime +from nbxmpp.modules.date_and_time import create_tzinfo + +from gajim.common import app +from gajim.common.nec import NetworkEvent +from gajim.common.modules.base import BaseModule + + +class EntityTime(BaseModule): + def __init__(self, con): + BaseModule.__init__(self, con) + + self.handlers = [ + StanzaHandler(name='iq', + callback=self._answer_request, + typ='get', + ns=Namespace.TIME_REVISED), + ] + + def request_entity_time(self, jid, resource): + if not app.account_is_available(self._account): + return + + if resource: + jid += '/' + resource + iq = nbxmpp.Iq(to=jid, typ='get') + iq.addChild('time', namespace=Namespace.TIME_REVISED) + + self._log.info('Requested: %s', jid) + + self._con.connection.SendAndCallForResponse(iq, self._result_received) + + def _result_received(self, _nbxmpp_client, stanza): + time_info = None + if not nbxmpp.isResultNode(stanza): + self._log.info('Error: %s', stanza.getError()) + else: + time_info = self._extract_info(stanza) + + self._log.info('Received: %s %s', stanza.getFrom(), time_info) + + app.nec.push_incoming_event(NetworkEvent('time-result-received', + conn=self._con, + jid=stanza.getFrom(), + time_info=time_info)) + + def _extract_info(self, stanza): + time_ = stanza.getTag('time') + if not time_: + self._log.warning('No time node: %s', stanza) + return None + + tzo = time_.getTag('tzo').getData() + if not tzo: + self._log.warning('Wrong tzo node: %s', stanza) + return None + + remote_tz = create_tzinfo(tz_string=tzo) + if remote_tz is None: + self._log.warning('Wrong tzo node: %s', stanza) + return None + + utc_time = time_.getTag('utc').getData() + date_time = parse_datetime(utc_time, check_utc=True) + if date_time is None: + self._log.warning('Wrong timezone definition: %s %s', + utc_time, stanza.getFrom()) + return None + + date_time = date_time.astimezone(remote_tz) + return date_time.strftime('%c %Z') + + def _answer_request(self, _con, stanza, _properties): + self._log.info('%s asked for the time', stanza.getFrom()) + if app.settings.get_account_setting(self._account, 'send_time_info'): + iq = stanza.buildReply('result') + time_ = iq.setTag('time', namespace=Namespace.TIME_REVISED) + formated_time = time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()) + time_.setTagData('utc', formated_time) + isdst = time.localtime().tm_isdst + zone = -(time.timezone, time.altzone)[isdst] / 60.0 + tzo = (zone / 60, abs(zone % 60)) + time_.setTagData('tzo', '%+03d:%02d' % (tzo)) + self._log.info('Answer: %s %s', formated_time, '%+03d:%02d' % (tzo)) + else: + iq = stanza.buildReply('error') + err = nbxmpp.ErrorNode(nbxmpp.ERR_SERVICE_UNAVAILABLE) + iq.addChild(node=err) + self._log.info('Send service-unavailable') + self._con.connection.send(iq) + raise nbxmpp.NodeProcessed + + +def get_instance(*args, **kwargs): + return EntityTime(*args, **kwargs), 'EntityTime' diff --git a/gajim/common/modules/gateway.py b/gajim/common/modules/gateway.py new file mode 100644 index 0000000..9efe198 --- /dev/null +++ b/gajim/common/modules/gateway.py @@ -0,0 +1,101 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0100: Gateway Interaction + +import nbxmpp +from nbxmpp.namespaces import Namespace + +from gajim.common import app +from gajim.common.nec import NetworkEvent +from gajim.common.modules.base import BaseModule + + +class Gateway(BaseModule): + def __init__(self, con): + BaseModule.__init__(self, con) + + def unsubscribe(self, agent): + if not app.account_is_available(self._account): + return + iq = nbxmpp.Iq('set', Namespace.REGISTER, to=agent) + iq.setQuery().setTag('remove') + + self._con.connection.SendAndCallForResponse( + iq, self._on_unsubscribe_result) + self._con.get_module('Roster').del_item(agent) + + def _on_unsubscribe_result(self, _nbxmpp_client, stanza): + if not nbxmpp.isResultNode(stanza): + self._log.info('Error: %s', stanza.getError()) + return + + agent = stanza.getFrom().bare + jid_list = [] + for jid in app.contacts.get_jid_list(self._account): + if jid.endswith('@' + agent): + jid_list.append(jid) + self._log.info('Removing contact %s due to' + ' unregistered transport %s', jid, agent) + self._con.get_module('Presence').unsubscribe(jid) + # Transport contacts can't have 2 resources + if jid in app.to_be_removed[self._account]: + # This way we'll really remove it + app.to_be_removed[self._account].remove(jid) + + app.nec.push_incoming_event( + NetworkEvent('agent-removed', + conn=self._con, + agent=agent, + jid_list=jid_list)) + + def request_gateway_prompt(self, jid, prompt=None): + typ_ = 'get' + if prompt: + typ_ = 'set' + iq = nbxmpp.Iq(typ=typ_, to=jid) + query = iq.addChild(name='query', namespace=Namespace.GATEWAY) + if prompt: + query.setTagData('prompt', prompt) + self._con.connection.SendAndCallForResponse(iq, self._on_prompt_result) + + def _on_prompt_result(self, _nbxmpp_client, stanza): + jid = str(stanza.getFrom()) + fjid = stanza.getFrom().bare + resource = stanza.getFrom().resource + + query = stanza.getTag('query') + if query is not None: + desc = query.getTagData('desc') + prompt = query.getTagData('prompt') + prompt_jid = query.getTagData('jid') + else: + desc = None + prompt = None + prompt_jid = None + + app.nec.push_incoming_event( + NetworkEvent('gateway-prompt-received', + conn=self._con, + fjid=fjid, + jid=jid, + resource=resource, + desc=desc, + prompt=prompt, + prompt_jid=prompt_jid, + stanza=stanza)) + + +def get_instance(*args, **kwargs): + return Gateway(*args, **kwargs), 'Gateway' diff --git a/gajim/common/modules/http_auth.py b/gajim/common/modules/http_auth.py new file mode 100644 index 0000000..2f0edd3 --- /dev/null +++ b/gajim/common/modules/http_auth.py @@ -0,0 +1,78 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0070: Verifying HTTP Requests via XMPP + +import nbxmpp +from nbxmpp.structs import StanzaHandler +from nbxmpp.namespaces import Namespace + +from gajim.common import app +from gajim.common.nec import NetworkEvent +from gajim.common.modules.base import BaseModule + + +class HTTPAuth(BaseModule): + def __init__(self, con): + BaseModule.__init__(self, con) + + self.handlers = [ + StanzaHandler(name='message', + callback=self._http_auth, + ns=Namespace.HTTP_AUTH, + priority=45), + StanzaHandler(name='iq', + callback=self._http_auth, + typ='get', + ns=Namespace.HTTP_AUTH, + priority=45) + ] + + def _http_auth(self, _con, stanza, properties): + if not properties.is_http_auth: + return + + self._log.info('Auth request received') + auto_answer = app.settings.get_account_setting(self._account, + 'http_auth') + if auto_answer in ('yes', 'no'): + self.build_http_auth_answer(stanza, auto_answer) + raise nbxmpp.NodeProcessed + + app.nec.push_incoming_event( + NetworkEvent('http-auth-received', + conn=self._con, + iq_id=properties.http_auth.id, + method=properties.http_auth.method, + url=properties.http_auth.url, + msg=properties.http_auth.body, + stanza=stanza)) + raise nbxmpp.NodeProcessed + + def build_http_auth_answer(self, stanza, answer): + if answer == 'yes': + self._log.info('Auth request approved') + confirm = stanza.getTag('confirm') + reply = stanza.buildReply('result') + if stanza.getName() == 'message': + reply.addChild(node=confirm) + self._con.connection.send(reply) + elif answer == 'no': + self._log.info('Auth request denied') + err = nbxmpp.Error(stanza, nbxmpp.protocol.ERR_NOT_AUTHORIZED) + self._con.connection.send(err) + + +def get_instance(*args, **kwargs): + return HTTPAuth(*args, **kwargs), 'HTTPAuth' diff --git a/gajim/common/modules/httpupload.py b/gajim/common/modules/httpupload.py new file mode 100644 index 0000000..7d496aa --- /dev/null +++ b/gajim/common/modules/httpupload.py @@ -0,0 +1,404 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0363: HTTP File Upload + + +import os +import io +from urllib.parse import urlparse +import mimetypes + +from nbxmpp.namespaces import Namespace +from nbxmpp.errors import StanzaError +from nbxmpp.errors import MalformedStanzaError +from nbxmpp.errors import HTTPUploadStanzaError +from nbxmpp.util import convert_tls_error_flags +from gi.repository import GLib +from gi.repository import Soup + +from gajim.common import app +from gajim.common.i18n import _ +from gajim.common.helpers import get_tls_error_phrase +from gajim.common.helpers import get_user_proxy +from gajim.common.const import FTState +from gajim.common.filetransfer import FileTransfer +from gajim.common.modules.base import BaseModule +from gajim.common.exceptions import FileError + + +class HTTPUpload(BaseModule): + + _nbxmpp_extends = 'HTTPUpload' + + def __init__(self, con): + BaseModule.__init__(self, con) + + self.available = False + self.component = None + self.httpupload_namespace = None + self.max_file_size = None # maximum file size in bytes + + self._proxy_resolver = None + self._queued_messages = {} + self._session = Soup.Session() + self._session.props.ssl_strict = False + self._session.props.user_agent = 'Gajim %s' % app.version + + def _set_proxy_if_available(self): + proxy = get_user_proxy(self._account) + if proxy is None: + self._proxy_resolver = None + self._session.props.proxy_resolver = None + else: + self._proxy_resolver = proxy.get_resolver() + self._session.props.proxy_resolver = self._proxy_resolver + + def pass_disco(self, info): + if not info.has_httpupload: + return + + self.available = True + self.httpupload_namespace = Namespace.HTTPUPLOAD_0 + self.component = info.jid + self.max_file_size = info.httpupload_max_file_size + + self._log.info('Discovered component: %s', info.jid) + + if self.max_file_size is None: + self._log.warning('Component does not provide maximum file size') + else: + size = GLib.format_size_full(self.max_file_size, + GLib.FormatSizeFlags.IEC_UNITS) + self._log.info('Component has a maximum file size of: %s', size) + + for ctrl in app.interface.msg_win_mgr.get_controls(acct=self._account): + ctrl.update_actions() + + def make_transfer(self, path, encryption, contact, groupchat=False): + if not path or not os.path.exists(path): + raise FileError(_('Could not access file')) + + invalid_file = False + stat = os.stat(path) + + if os.path.isfile(path): + if stat[6] == 0: + invalid_file = True + msg = _('File is empty') + else: + invalid_file = True + msg = _('File does not exist') + + if self.max_file_size is not None and \ + stat.st_size > self.max_file_size: + invalid_file = True + size = GLib.format_size_full(self.max_file_size, + GLib.FormatSizeFlags.IEC_UNITS) + msg = _('File is too large, ' + 'maximum allowed file size is: %s') % size + + if invalid_file: + raise FileError(msg) + + mime = mimetypes.MimeTypes().guess_type(path)[0] + if not mime: + mime = 'application/octet-stream' # fallback mime type + self._log.info("Detected MIME type of file: %s", mime) + + return HTTPFileTransfer(self._account, + path, + contact, + mime, + encryption, + groupchat) + + def cancel_transfer(self, transfer): + transfer.set_cancelled() + message = self._queued_messages.get(id(transfer)) + if message is None: + return + + self._session.cancel_message(message, Soup.Status.CANCELLED) + + def start_transfer(self, transfer): + if transfer.encryption is not None and not transfer.is_encrypted: + transfer.set_encrypting() + plugin = app.plugin_manager.encryption_plugins[transfer.encryption] + if hasattr(plugin, 'encrypt_file'): + plugin.encrypt_file(transfer, + self._account, + self.start_transfer) + else: + transfer.set_error('encryption-not-available') + + return + + transfer.set_preparing() + self._log.info('Sending request for slot') + self._nbxmpp('HTTPUpload').request_slot( + jid=self.component, + filename=transfer.filename, + size=transfer.size, + content_type=transfer.mime, + callback=self._received_slot, + user_data=transfer) + + def _received_slot(self, task): + transfer = task.get_user_data() + + try: + result = task.finish() + except (StanzaError, + HTTPUploadStanzaError, + MalformedStanzaError) as error: + + if error.app_condition == 'file-too-large': + size_text = GLib.format_size_full( + error.get_max_file_size(), + GLib.FormatSizeFlags.IEC_UNITS) + + error_text = _('File is too large, ' + 'maximum allowed file size is: %s' % size_text) + transfer.set_error('file-too-large', error_text) + + else: + transfer.set_error('misc', str(error)) + + return + + transfer.process_result(result) + + if (urlparse(transfer.put_uri).scheme != 'https' or + urlparse(transfer.get_uri).scheme != 'https'): + transfer.set_error('unsecure') + return + + self._log.info('Uploading file to %s', transfer.put_uri) + self._log.info('Please download from %s', transfer.get_uri) + + self._upload_file(transfer) + + def _upload_file(self, transfer): + transfer.set_started() + + message = Soup.Message.new('PUT', transfer.put_uri) + message.connect('starting', self._check_certificate, transfer) + + # Set CAN_REBUILD so chunks get discarded after they have been + # written to the network + message.set_flags(Soup.MessageFlags.CAN_REBUILD | + Soup.MessageFlags.NO_REDIRECT) + + message.props.request_body.set_accumulate(False) + + message.props.request_headers.set_content_type(transfer.mime, None) + message.props.request_headers.set_content_length(transfer.size) + for name, value in transfer.headers.items(): + message.props.request_headers.append(name, value) + + message.connect('wrote-headers', self._on_wrote_headers, transfer) + message.connect('wrote-chunk', self._on_wrote_chunk, transfer) + + self._queued_messages[id(transfer)] = message + self._set_proxy_if_available() + self._session.queue_message(message, self._on_finish, transfer) + + def _check_certificate(self, message, transfer): + https_used, tls_certificate, tls_errors = message.get_https_status() + if not https_used: + self._log.warning('HTTPS was not used for upload') + transfer.set_error('unsecure') + self._session.cancel_message(message, Soup.Status.CANCELLED) + return + + tls_errors = convert_tls_error_flags(tls_errors) + if app.cert_store.verify(tls_certificate, tls_errors): + return + + for error in tls_errors: + phrase = get_tls_error_phrase(error) + self._log.warning('TLS verification failed: %s', phrase) + + transfer.set_error('tls-verification-failed', phrase) + self._session.cancel_message(message, Soup.Status.CANCELLED) + + def _on_finish(self, _session, message, transfer): + self._queued_messages.pop(id(transfer), None) + + if message.props.status_code == Soup.Status.CANCELLED: + self._log.info('Upload cancelled') + return + + if message.props.status_code in (Soup.Status.OK, Soup.Status.CREATED): + self._log.info('Upload completed successfully') + transfer.set_finished() + + + else: + phrase = Soup.Status.get_phrase(message.props.status_code) + self._log.error('Got unexpected http upload response code: %s', + phrase) + transfer.set_error('http-response', phrase) + + def _on_wrote_chunk(self, message, transfer): + transfer.update_progress() + if transfer.is_complete: + message.props.request_body.complete() + return + + bytes_ = transfer.get_chunk() + self._session.pause_message(message) + GLib.idle_add(self._append, message, bytes_) + + def _append(self, message, bytes_): + if message.props.status_code == Soup.Status.CANCELLED: + return + self._session.unpause_message(message) + message.props.request_body.append(bytes_) + + @staticmethod + def _on_wrote_headers(message, transfer): + message.props.request_body.append(transfer.get_chunk()) + + +class HTTPFileTransfer(FileTransfer): + + _state_descriptions = { + FTState.ENCRYPTING: _('Encrypting file…'), + FTState.PREPARING: _('Requesting HTTP File Upload Slot…'), + FTState.STARTED: _('Uploading via HTTP File Upload…'), + } + + _errors = { + 'unsecure': _('The server returned an insecure transport (HTTP).'), + 'encryption-not-available': _('There is no encryption method available ' + 'for the chosen encryption.') + } + + def __init__(self, + account, + path, + contact, + mime, + encryption, + groupchat): + + FileTransfer.__init__(self, account) + + self._path = path + self._encryption = encryption + self._groupchat = groupchat + self._contact = contact + self._mime = mime + + self.size = os.stat(path).st_size + self.put_uri = None + self.get_uri = None + self._uri_transform_func = None + + self._stream = None + self._data = None + self._headers = {} + + self._is_encrypted = False + + @property + def mime(self): + return self._mime + + @property + def contact(self): + return self._contact + + @property + def is_groupchat(self): + return self._groupchat + + @property + def encryption(self): + return self._encryption + + @property + def headers(self): + return self._headers + + @property + def path(self): + return self._path + + @property + def is_encrypted(self): + return self._is_encrypted + + def get_transformed_uri(self): + if self._uri_transform_func is not None: + return self._uri_transform_func(self.get_uri) + return self.get_uri + + def set_uri_transform_func(self, func): + self._uri_transform_func = func + + @property + def filename(self): + return os.path.basename(self._path) + + def set_error(self, domain, text=''): + if not text: + text = self._errors[domain] + + self._close() + super().set_error(domain, text) + + def set_finished(self): + self._close() + super().set_finished() + + def set_encrypted_data(self, data): + self._data = data + self._is_encrypted = True + + def _close(self): + if self._stream is not None: + self._stream.close() + + def get_chunk(self): + if self._stream is None: + if self._encryption is None: + self._stream = open(self._path, 'rb') + else: + self._stream = io.BytesIO(self._data) + + data = self._stream.read(16384) + if not data: + self._close() + return None + self._seen += len(data) + if self.is_complete: + self._close() + return data + + def get_data(self): + with open(self._path, 'rb') as file: + data = file.read() + return data + + def process_result(self, result): + self.put_uri = result.put_uri + self.get_uri = result.get_uri + self._headers = result.headers + + +def get_instance(*args, **kwargs): + return HTTPUpload(*args, **kwargs), 'HTTPUpload' diff --git a/gajim/common/modules/ibb.py b/gajim/common/modules/ibb.py new file mode 100644 index 0000000..3973312 --- /dev/null +++ b/gajim/common/modules/ibb.py @@ -0,0 +1,239 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0047: In-Band Bytestreams + +import time + +import nbxmpp +from nbxmpp.namespaces import Namespace +from nbxmpp.protocol import NodeProcessed +from nbxmpp.structs import StanzaHandler +from nbxmpp.errors import StanzaError + +from gajim.common import app +from gajim.common.helpers import to_user_string +from gajim.common.modules.base import BaseModule +from gajim.common.file_props import FilesProp + + +class IBB(BaseModule): + + _nbxmpp_extends = 'IBB' + _nbxmpp_methods = [ + 'send_open', + 'send_close', + 'send_data', + 'send_reply', + ] + + def __init__(self, con): + BaseModule.__init__(self, con) + + self.handlers = [ + StanzaHandler(name='iq', + callback=self._ibb_received, + ns=Namespace.IBB), + ] + + def _ibb_received(self, _con, stanza, properties): + if not properties.is_ibb: + return + + if properties.ibb.type == 'data': + self._log.info('Data received, sid: %s, seq: %s', + properties.ibb.sid, properties.ibb.seq) + file_props = FilesProp.getFilePropByTransportSid(self._account, + properties.ibb.sid) + if not file_props: + self.send_reply(stanza, nbxmpp.ERR_ITEM_NOT_FOUND) + raise NodeProcessed + + if file_props.connected: + self._on_data_received(stanza, file_props, properties) + self.send_reply(stanza) + + elif properties.ibb.type == 'open': + self._log.info('Open received, sid: %s, blocksize: %s', + properties.ibb.sid, properties.ibb.block_size) + + file_props = FilesProp.getFilePropByTransportSid(self._account, + properties.ibb.sid) + if not file_props: + self.send_reply(stanza, nbxmpp.ERR_ITEM_NOT_FOUND) + raise NodeProcessed + + file_props.block_size = properties.ibb.block_size + file_props.direction = '<' + file_props.seq = 0 + file_props.received_len = 0 + file_props.last_time = time.time() + file_props.error = 0 + file_props.paused = False + file_props.connected = True + file_props.completed = False + file_props.disconnect_cb = None + file_props.continue_cb = None + file_props.syn_id = stanza.getID() + file_props.fp = open(file_props.file_name, 'wb') + self.send_reply(stanza) + + elif properties.ibb.type == 'close': + self._log.info('Close received, sid: %s', properties.ibb.sid) + file_props = FilesProp.getFilePropByTransportSid(self._account, + properties.ibb.sid) + if not file_props: + self.send_reply(stanza, nbxmpp.ERR_ITEM_NOT_FOUND) + raise NodeProcessed + + self.send_reply(stanza) + file_props.fp.close() + file_props.completed = file_props.received_len >= file_props.size + if not file_props.completed: + file_props.error = -1 + app.socks5queue.complete_transfer_cb(self._account, file_props) + + raise NodeProcessed + + def _on_data_received(self, stanza, file_props, properties): + ibb = properties.ibb + if ibb.seq != file_props.seq: + self.send_reply(stanza, nbxmpp.ERR_UNEXPECTED_REQUEST) + self.send_close(file_props) + raise NodeProcessed + + self._log.debug('Data received: sid: %s, %s+%s bytes', + ibb.sid, file_props.fp.tell(), len(ibb.data)) + + file_props.seq += 1 + file_props.started = True + file_props.fp.write(ibb.data) + current_time = time.time() + file_props.elapsed_time += current_time - file_props.last_time + file_props.last_time = current_time + file_props.received_len += len(ibb.data) + app.socks5queue.progress_transfer_cb(self._account, file_props) + if file_props.received_len >= file_props.size: + file_props.completed = True + + def send_open(self, to, sid, fp): + self._log.info('Send open to %s, sid: %s', to, sid) + file_props = FilesProp.getFilePropBySid(sid) + file_props.direction = '>' + file_props.block_size = 4096 + file_props.fp = fp + file_props.seq = -1 + file_props.error = 0 + file_props.paused = False + file_props.received_len = 0 + file_props.last_time = time.time() + file_props.connected = True + file_props.completed = False + file_props.disconnect_cb = None + file_props.continue_cb = None + self._nbxmpp('IBB').send_open(to, + file_props.transport_sid, + 4096, + callback=self._on_open_result, + user_data=file_props) + return file_props + + def _on_open_result(self, task): + try: + task.finish() + except StanzaError as error: + app.socks5queue.error_cb('Error', to_user_string(error)) + self._log.warning(error) + return + + file_props = task.get_user_data() + self.send_data(file_props) + + def send_close(self, file_props): + file_props.connected = False + file_props.fp.close() + file_props.stopped = True + to = file_props.receiver + if file_props.direction == '<': + to = file_props.sender + + self._log.info('Send close to %s, sid: %s', + to, file_props.transport_sid) + self._nbxmpp('IBB').send_close(to, file_props.transport_sid, + callback=self._on_close_result) + + if file_props.completed: + app.socks5queue.complete_transfer_cb(self._account, file_props) + else: + if file_props.type_ == 's': + peerjid = file_props.receiver + else: + peerjid = file_props.sender + session = self._con.get_module('Jingle').get_jingle_session( + peerjid, file_props.sid, 'file') + # According to the xep, the initiator also cancels + # the jingle session if there are no more files to send using IBB + if session.weinitiate: + session.cancel_session() + + def _on_close_result(self, task): + try: + task.finish() + except StanzaError as error: + app.socks5queue.error_cb('Error', to_user_string(error)) + self._log.warning(error) + return + + def send_data(self, file_props): + if file_props.completed: + self.send_close(file_props) + return + + chunk = file_props.fp.read(file_props.block_size) + if chunk: + file_props.seq += 1 + file_props.started = True + if file_props.seq == 65536: + file_props.seq = 0 + + self._log.info('Send data to %s, sid: %s', + file_props.receiver, file_props.transport_sid) + self._nbxmpp('IBB').send_data(file_props.receiver, + file_props.transport_sid, + file_props.seq, + chunk, + callback=self._on_data_result, + user_data=file_props) + current_time = time.time() + file_props.elapsed_time += current_time - file_props.last_time + file_props.last_time = current_time + file_props.received_len += len(chunk) + if file_props.size == file_props.received_len: + file_props.completed = True + app.socks5queue.progress_transfer_cb(self._account, file_props) + + def _on_data_result(self, task): + try: + task.finish() + except StanzaError as error: + app.socks5queue.error_cb('Error', to_user_string(error)) + self._log.warning(error) + return + + file_props = task.get_user_data() + self.send_data(file_props) + + +def get_instance(*args, **kwargs): + return IBB(*args, **kwargs), 'IBB' diff --git a/gajim/common/modules/iq.py b/gajim/common/modules/iq.py new file mode 100644 index 0000000..cf70d80 --- /dev/null +++ b/gajim/common/modules/iq.py @@ -0,0 +1,88 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# Iq handler + +import nbxmpp +from nbxmpp.structs import StanzaHandler + +from gajim.common import app +from gajim.common.helpers import to_user_string +from gajim.common.nec import NetworkEvent +from gajim.common.file_props import FilesProp +from gajim.common.modules.base import BaseModule + + +class Iq(BaseModule): + def __init__(self, con): + BaseModule.__init__(self, con) + + self.handlers = [ + StanzaHandler(name='iq', + callback=self._iq_error_received, + typ='error', + priority=51), + ] + + def _iq_error_received(self, _con, _stanza, properties): + self._log.info('Error: %s', properties.error) + if properties.error.condition in ('jid-malformed', + 'forbidden', + 'not-acceptable'): + sid = self._get_sid(properties.id) + file_props = FilesProp.getFileProp(self._account, sid) + if file_props: + if properties.error.condition == 'jid-malformed': + file_props.error = -3 + else: + file_props.error = -4 + app.nec.push_incoming_event( + NetworkEvent('file-request-error', + conn=self._con, + jid=properties.jid.bare, + file_props=file_props, + error_msg=to_user_string(properties.error))) + self._con.get_module('Bytestream').disconnect_transfer( + file_props) + raise nbxmpp.NodeProcessed + + if properties.error.condition == 'item-not-found': + sid = self._get_sid(properties.id) + file_props = FilesProp.getFileProp(self._account, sid) + if file_props: + app.nec.push_incoming_event( + NetworkEvent('file-send-error', + account=self._account, + jid=str(properties.jid), + file_props=file_props)) + self._con.get_module('Bytestream').disconnect_transfer( + file_props) + raise nbxmpp.NodeProcessed + + app.nec.push_incoming_event( + NetworkEvent('iq-error-received', + account=self._account, + properties=properties)) + raise nbxmpp.NodeProcessed + + @staticmethod + def _get_sid(id_): + sid = id_ + if len(id_) > 3 and id_[2] == '_': + sid = id_[3:] + return sid + + +def get_instance(*args, **kwargs): + return Iq(*args, **kwargs), 'Iq' diff --git a/gajim/common/modules/jingle.py b/gajim/common/modules/jingle.py new file mode 100644 index 0000000..ab2eaea --- /dev/null +++ b/gajim/common/modules/jingle.py @@ -0,0 +1,311 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +""" +Handles the jingle signalling protocol +""" + +#TODO: +# * things in XEP 0176, including: +# - http://xmpp.org/extensions/xep-0176.html#protocol-restarts +# - http://xmpp.org/extensions/xep-0176.html#fallback +# * XEP 0177 (raw udp) + +# * UI: +# - make state and codec information available to the user +# - video integration +# * config: +# - codecs + +import logging + +import nbxmpp +from nbxmpp.namespaces import Namespace +from nbxmpp.structs import StanzaHandler + +from gajim.common import helpers +from gajim.common import app +from gajim.common import jingle_xtls +from gajim.common.modules.base import BaseModule + +from gajim.common.jingle_session import JingleSession +from gajim.common.jingle_session import JingleStates +from gajim.common.jingle_ft import JingleFileTransfer +from gajim.common.jingle_transport import JingleTransportSocks5 +from gajim.common.jingle_transport import JingleTransportIBB +from gajim.common.jingle_rtp import JingleAudio, JingleVideo + +logger = logging.getLogger('gajim.c.m.jingle') + + +class Jingle(BaseModule): + def __init__(self, con): + BaseModule.__init__(self, con) + + self.handlers = [ + StanzaHandler(name='iq', + typ='result', + callback=self._on_jingle_iq), + StanzaHandler(name='iq', + typ='error', + callback=self._on_jingle_iq), + StanzaHandler(name='iq', + typ='set', + ns=Namespace.JINGLE, + callback=self._on_jingle_iq), + StanzaHandler(name='iq', + typ='get', + ns=Namespace.PUBKEY_PUBKEY, + callback=self._on_pubkey_request), + StanzaHandler(name='iq', + typ='result', + ns=Namespace.PUBKEY_PUBKEY, + callback=self._pubkey_result_received), + ] + + # dictionary: sessionid => JingleSession object + self._sessions = {} + + # dictionary: (jid, iq stanza id) => JingleSession object, + # one time callbacks + self.__iq_responses = {} + self.files = [] + + def delete_jingle_session(self, sid): + """ + Remove a jingle session from a jingle stanza dispatcher + """ + if sid in self._sessions: + #FIXME: Move this elsewhere? + for content in list(self._sessions[sid].contents.values()): + content.destroy() + self._sessions[sid].callbacks = [] + del self._sessions[sid] + + def _on_pubkey_request(self, con, stanza, _properties): + jid_from = helpers.get_full_jid_from_iq(stanza) + self._log.info('Pubkey request from %s', jid_from) + sid = stanza.getAttr('id') + jingle_xtls.send_cert(con, jid_from, sid) + raise nbxmpp.NodeProcessed + + def _pubkey_result_received(self, con, stanza, _properties): + jid_from = helpers.get_full_jid_from_iq(stanza) + self._log.info('Pubkey result from %s', jid_from) + jingle_xtls.handle_new_cert(con, stanza, jid_from) + + def _on_jingle_iq(self, _con, stanza, _properties): + """ + The jingle stanza dispatcher + + Route jingle stanza to proper JingleSession object, or create one if it + is a new session. + + TODO: Also check if the stanza isn't an error stanza, if so route it + adequately. + """ + # get data + try: + jid = helpers.get_full_jid_from_iq(stanza) + except helpers.InvalidFormat: + logger.warning('Invalid JID: %s, ignoring it', stanza.getFrom()) + return + id_ = stanza.getID() + if (jid, id_) in self.__iq_responses.keys(): + self.__iq_responses[(jid, id_)].on_stanza(stanza) + del self.__iq_responses[(jid, id_)] + raise nbxmpp.NodeProcessed + jingle = stanza.getTag('jingle') + # a jingle element is not necessary in iq-result stanza + # don't check for that + if jingle: + sid = jingle.getAttr('sid') + else: + sid = None + for sesn in self._sessions.values(): + if id_ in sesn.iq_ids: + sesn.on_stanza(stanza) + return + # do we need to create a new jingle object + if sid not in self._sessions: + #TODO: tie-breaking and other things... + newjingle = JingleSession(self._con, weinitiate=False, jid=jid, + iq_id=id_, sid=sid) + self._sessions[sid] = newjingle + # we already have such session in dispatcher... + self._sessions[sid].collect_iq_id(id_) + self._sessions[sid].on_stanza(stanza) + # Delete invalid/unneeded sessions + if sid in self._sessions and \ + self._sessions[sid].state == JingleStates.ENDED: + self.delete_jingle_session(sid) + raise nbxmpp.NodeProcessed + + def start_audio(self, jid): + if self.get_jingle_session(jid, media='audio'): + return self.get_jingle_session(jid, media='audio').sid + jingle = self.get_jingle_session(jid, media='video') + if jingle: + jingle.add_content('voice', JingleAudio(jingle)) + else: + jingle = JingleSession(self._con, weinitiate=True, jid=jid) + self._sessions[jingle.sid] = jingle + jingle.add_content('voice', JingleAudio(jingle)) + jingle.start_session() + return jingle.sid + + def start_video(self, jid): + if self.get_jingle_session(jid, media='video'): + return self.get_jingle_session(jid, media='video').sid + jingle = self.get_jingle_session(jid, media='audio') + if jingle: + video = JingleVideo(jingle) + jingle.add_content('video', video) + else: + jingle = JingleSession(self._con, weinitiate=True, jid=jid) + self._sessions[jingle.sid] = jingle + video = JingleVideo(jingle) + jingle.add_content('video', video) + jingle.start_session() + return jingle.sid + + def start_audio_video(self, jid): + if self.get_jingle_session(jid, media='video'): + return self.get_jingle_session(jid, media='video').sid + audio_session = self.get_jingle_session(jid, media='audio') + video_session = self.get_jingle_session(jid, media='video') + if audio_session and video_session: + return audio_session.sid + if audio_session: + video = JingleVideo(audio_session) + audio_session.add_content('video', video) + return audio_session.sid + if video_session: + audio = JingleAudio(video_session) + video_session.add_content('audio', audio) + return video_session.sid + + jingle_session = JingleSession(self._con, weinitiate=True, jid=jid) + self._sessions[jingle_session.sid] = jingle_session + audio = JingleAudio(jingle_session) + video = JingleVideo(jingle_session) + jingle_session.add_content('audio', audio) + jingle_session.add_content('video', video) + jingle_session.start_session() + return jingle_session.sid + + def start_file_transfer(self, jid, file_props, request=False): + logger.info("start file transfer with file: %s", file_props) + contact = app.contacts.get_contact_with_highest_priority( + self._account, app.get_jid_without_resource(jid)) + if app.contacts.is_gc_contact(self._account, jid): + gcc = jid.split('/') + if len(gcc) == 2: + contact = app.contacts.get_gc_contact(self._account, + gcc[0], + gcc[1]) + if contact is None: + return None + use_security = contact.supports(Namespace.JINGLE_XTLS) + jingle = JingleSession(self._con, + weinitiate=True, + jid=jid, + werequest=request) + # this is a file transfer + jingle.session_type_ft = True + self._sessions[jingle.sid] = jingle + file_props.sid = jingle.sid + + if contact.supports(Namespace.JINGLE_BYTESTREAM): + transport = JingleTransportSocks5() + elif contact.supports(Namespace.JINGLE_IBB): + transport = JingleTransportIBB() + else: + transport = None + + senders = 'initiator' + if request: + senders = 'responder' + transfer = JingleFileTransfer(jingle, + transport=transport, + file_props=file_props, + use_security=use_security, + senders=senders) + file_props.transport_sid = transport.sid + file_props.algo = self.__hash_support(contact) + jingle.add_content('file' + helpers.get_random_string(), transfer) + jingle.start_session() + return transfer.transport.sid + + @staticmethod + def __hash_support(contact): + if contact.supports(Namespace.HASHES_2): + if contact.supports(Namespace.HASHES_BLAKE2B_512): + return 'blake2b-512' + if contact.supports(Namespace.HASHES_BLAKE2B_256): + return 'blake2b-256' + if contact.supports(Namespace.HASHES_SHA3_512): + return 'sha3-512' + if contact.supports(Namespace.HASHES_SHA3_256): + return 'sha3-256' + if contact.supports(Namespace.HASHES_SHA512): + return 'sha-512' + if contact.supports(Namespace.HASHES_SHA256): + return 'sha-256' + return None + + def get_jingle_sessions(self, jid, sid=None, media=None): + if sid: + return [se for se in self._sessions.values() if se.sid == sid] + + sessions = [se for se in self._sessions.values() if se.peerjid == jid] + if media: + if media not in ('audio', 'video', 'file'): + return [] + return [se for se in sessions if se.get_content(media)] + return sessions + + def set_file_info(self, file_): + # Saves information about the files we have transferred + # in case they need to be requested again. + self.files.append(file_) + + def get_file_info(self, peerjid, hash_=None, name=None, _account=None): + if hash_: + for file in self.files: # DEBUG + #if f['hash'] == '1294809248109223': + if file['hash'] == hash_ and file['peerjid'] == peerjid: + return file + elif name: + for file in self.files: + if file['name'] == name and file['peerjid'] == peerjid: + return file + return None + + def get_jingle_session(self, jid, sid=None, media=None): + if sid: + if sid in self._sessions: + return self._sessions[sid] + return None + if media: + if media not in ('audio', 'video', 'file'): + return None + for session in self._sessions.values(): + if session.peerjid == jid and session.get_content(media): + return session + return None + + +def get_instance(*args, **kwargs): + return Jingle(*args, **kwargs), 'Jingle' diff --git a/gajim/common/modules/last_activity.py b/gajim/common/modules/last_activity.py new file mode 100644 index 0000000..abbdbe0 --- /dev/null +++ b/gajim/common/modules/last_activity.py @@ -0,0 +1,59 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0012: Last Activity + +import nbxmpp +from nbxmpp.namespaces import Namespace +from nbxmpp.structs import StanzaHandler + +from gajim.common import app +from gajim.common import idle +from gajim.common.modules.base import BaseModule + + +class LastActivity(BaseModule): + def __init__(self, con): + BaseModule.__init__(self, con) + + self.handlers = [ + StanzaHandler(name='iq', + typ='get', + callback=self._answer_request, + ns=Namespace.LAST), + ] + + def _answer_request(self, _con, stanza, properties): + self._log.info('Request from %s', properties.jid) + + allow_send = app.settings.get_account_setting(self._account, + 'send_idle_time') + if app.is_installed('IDLE') and allow_send: + iq = stanza.buildReply('result') + query = iq.setQuery() + seconds = idle.Monitor.get_idle_sec() + query.attrs['seconds'] = seconds + self._log.info('Respond with seconds: %s', seconds) + else: + iq = stanza.buildReply('error') + err = nbxmpp.ErrorNode(nbxmpp.ERR_SERVICE_UNAVAILABLE) + iq.addChild(node=err) + + self._con.connection.send(iq) + + raise nbxmpp.NodeProcessed + + +def get_instance(*args, **kwargs): + return LastActivity(*args, **kwargs), 'LastActivity' diff --git a/gajim/common/modules/mam.py b/gajim/common/modules/mam.py new file mode 100644 index 0000000..f6cba8a --- /dev/null +++ b/gajim/common/modules/mam.py @@ -0,0 +1,507 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0313: Message Archive Management + +import time +from datetime import datetime +from datetime import timedelta + +import nbxmpp +from nbxmpp.namespaces import Namespace +from nbxmpp.util import generate_id +from nbxmpp.errors import StanzaError +from nbxmpp.errors import MalformedStanzaError +from nbxmpp.errors import is_error +from nbxmpp.structs import StanzaHandler +from nbxmpp.modules.util import raise_if_error + +from gajim.common import app +from gajim.common.nec import NetworkEvent +from gajim.common.nec import NetworkIncomingEvent +from gajim.common.const import ArchiveState +from gajim.common.const import KindConstant +from gajim.common.const import SyncThreshold +from gajim.common.helpers import AdditionalDataDict +from gajim.common.modules.misc import parse_oob +from gajim.common.modules.misc import parse_correction +from gajim.common.modules.util import get_eme_message +from gajim.common.modules.util import as_task +from gajim.common.modules.base import BaseModule + + +class MAM(BaseModule): + + _nbxmpp_extends = 'MAM' + _nbxmpp_methods = [ + 'request_preferences', + 'set_preferences', + 'make_query', + ] + + def __init__(self, con): + BaseModule.__init__(self, con) + + self.handlers = [ + StanzaHandler(name='message', + callback=self._set_message_archive_info, + priority=41), + StanzaHandler(name='message', + callback=self._mam_message_received, + priority=51), + ] + + self.available = False + self._mam_query_ids = {} + + # Holds archive jids where catch up was successful + self._catch_up_finished = [] + + def pass_disco(self, info): + if Namespace.MAM_2 not in info.features: + return + + self.available = True + self._log.info('Discovered MAM: %s', info.jid) + + app.nec.push_incoming_event( + NetworkEvent('feature-discovered', + account=self._account, + feature=Namespace.MAM_2)) + + def reset_state(self): + self._mam_query_ids.clear() + self._catch_up_finished.clear() + + def _remove_query_id(self, jid): + self._mam_query_ids.pop(jid, None) + + def is_catch_up_finished(self, jid): + return jid in self._catch_up_finished + + def _from_valid_archive(self, _stanza, properties): + if properties.type.is_groupchat: + expected_archive = properties.jid + else: + expected_archive = self._con.get_own_jid() + + return properties.mam.archive.bare_match(expected_archive) + + def _get_unique_id(self, properties): + if properties.type.is_groupchat: + return properties.mam.id, None + + if properties.is_self_message: + return None, properties.id + + if properties.is_muc_pm: + return properties.mam.id, properties.id + + if self._con.get_own_jid().bare_match(properties.from_): + # message we sent + return properties.mam.id, properties.id + + # A message we received + return properties.mam.id, None + + def _set_message_archive_info(self, _con, _stanza, properties): + if (properties.is_mam_message or + properties.is_pubsub or + properties.is_muc_subject): + return + + if properties.type.is_groupchat: + archive_jid = properties.jid.bare + timestamp = properties.timestamp + + disco_info = app.storage.cache.get_last_disco_info(archive_jid) + if disco_info is None: + # This is the case on MUC creation + # After MUC configuration we receive a configuration change + # message before we had the chance to disco the new MUC + return + + if disco_info.mam_namespace != Namespace.MAM_2: + return + + else: + if not self.available: + return + + archive_jid = self._con.get_own_jid().bare + timestamp = None + + if properties.stanza_id is None: + return + + if not archive_jid == properties.stanza_id.by: + return + + if not self.is_catch_up_finished(archive_jid): + return + + app.storage.archive.set_archive_infos( + archive_jid, + last_mam_id=properties.stanza_id.id, + last_muc_timestamp=timestamp) + + def _mam_message_received(self, _con, stanza, properties): + if not properties.is_mam_message: + return + + app.nec.push_incoming_event( + NetworkIncomingEvent('mam-message-received', + account=self._account, + stanza=stanza, + properties=properties)) + + if not self._from_valid_archive(stanza, properties): + self._log.warning('Message from invalid archive %s', + properties.mam.archive) + raise nbxmpp.NodeProcessed + + self._log.info('Received message from archive: %s', + properties.mam.archive) + if not self._is_valid_request(properties): + self._log.warning('Invalid MAM Message: unknown query id %s', + properties.mam.query_id) + self._log.debug(stanza) + raise nbxmpp.NodeProcessed + + is_groupchat = properties.type.is_groupchat + if is_groupchat: + kind = KindConstant.GC_MSG + else: + if properties.from_.bare_match(self._con.get_own_jid()): + kind = KindConstant.CHAT_MSG_SENT + else: + kind = KindConstant.CHAT_MSG_RECV + + stanza_id, message_id = self._get_unique_id(properties) + + # Search for duplicates + if app.storage.archive.find_stanza_id(self._account, + str(properties.mam.archive), + stanza_id, + message_id, + groupchat=is_groupchat): + self._log.info('Found duplicate with stanza-id: %s, ' + 'message-id: %s', stanza_id, message_id) + raise nbxmpp.NodeProcessed + + additional_data = AdditionalDataDict() + if properties.has_user_delay: + # Record it as a user timestamp + additional_data.set_value( + 'gajim', 'user_timestamp', properties.user_timestamp) + + parse_oob(properties, additional_data) + + msgtxt = properties.body + + if properties.is_encrypted: + additional_data['encrypted'] = properties.encrypted.additional_data + else: + if properties.eme is not None: + msgtxt = get_eme_message(properties.eme) + + if not msgtxt: + # For example Chatstates, Receipts, Chatmarkers + self._log.debug(stanza.getProperties()) + return + + with_ = properties.jid.bare + if properties.is_muc_pm: + # we store the message with the full JID + with_ = str(with_) + + if properties.is_self_message: + # Self messages can only be deduped with origin-id + if message_id is None: + self._log.warning('Self message without origin-id found') + return + stanza_id = message_id + + app.storage.archive.insert_into_logs( + self._account, + with_, + properties.mam.timestamp, + kind, + unread=False, + message=msgtxt, + contact_name=properties.muc_nickname, + additional_data=additional_data, + stanza_id=stanza_id, + message_id=properties.id) + + app.nec.push_incoming_event( + NetworkEvent('mam-decrypted-message-received', + account=self._account, + additional_data=additional_data, + correct_id=parse_correction(properties), + archive_jid=properties.mam.archive, + msgtxt=properties.body, + properties=properties, + kind=kind, + ) + ) + + def _is_valid_request(self, properties): + valid_id = self._mam_query_ids.get(properties.mam.archive, None) + return valid_id == properties.mam.query_id + + def _get_query_id(self, jid): + query_id = generate_id() + self._mam_query_ids[jid] = query_id + return query_id + + def _get_query_params(self): + own_jid = self._con.get_own_jid().bare + archive = app.storage.archive.get_archive_infos(own_jid) + + mam_id = None + if archive is not None: + mam_id = archive.last_mam_id + + start_date = None + if mam_id: + self._log.info('Request archive: %s, after mam-id %s', + own_jid, mam_id) + + else: + # First Start, we request the last week + start_date = datetime.utcnow() - timedelta(days=7) + self._log.info('Request archive: %s, after date %s', + own_jid, start_date) + return mam_id, start_date + + def _get_muc_query_params(self, jid, threshold): + archive = app.storage.archive.get_archive_infos(jid) + mam_id = None + start_date = None + + if archive is None or archive.last_mam_id is None: + # First join + start_date = datetime.utcnow() - timedelta(days=1) + self._log.info('Request archive: %s, after date %s', + jid, start_date) + + elif threshold == SyncThreshold.NO_THRESHOLD: + # Not our first join and no threshold set + + mam_id = archive.last_mam_id + self._log.info('Request archive: %s, after mam-id %s', + jid, archive.last_mam_id) + + else: + # Not our first join, check how much time elapsed since our + # last join and check against threshold + last_timestamp = archive.last_muc_timestamp + if last_timestamp is None: + self._log.info('No last muc timestamp found: %s', jid) + last_timestamp = 0 + + last = datetime.utcfromtimestamp(float(last_timestamp)) + if datetime.utcnow() - last > timedelta(days=threshold): + # To much time has elapsed since last join, apply threshold + start_date = datetime.utcnow() - timedelta(days=threshold) + self._log.info('Too much time elapsed since last join, ' + 'request archive: %s, after date %s, ' + 'threshold: %s', jid, start_date, threshold) + + else: + # Request from last mam-id + mam_id = archive.last_mam_id + self._log.info('Request archive: %s, after mam-id %s:', + jid, archive.last_mam_id) + + return mam_id, start_date + + @as_task + def request_archive_on_signin(self): + _task = yield + + own_jid = self._con.get_own_jid().bare + + if own_jid in self._mam_query_ids: + self._log.warning('request already running for %s', own_jid) + return + + mam_id, start_date = self._get_query_params() + + result = yield self._execute_query(own_jid, mam_id, start_date) + if is_error(result): + if result.condition != 'item-not-found': + self._log.warning(result) + return + + app.storage.archive.reset_archive_infos(result.jid) + _, start_date = self._get_query_params() + result = yield self._execute_query(result.jid, None, start_date) + if is_error(result): + self._log.warning(result) + return + + if result.rsm.last is not None: + # is not provided if the requested page was empty + # so this means we did not get anything hence we only need + # to update the archive info if is present + app.storage.archive.set_archive_infos( + result.jid, + last_mam_id=result.rsm.last, + last_muc_timestamp=time.time()) + + if start_date is not None: + # Record the earliest timestamp we request from + # the account archive. For the account archive we only + # set start_date at the very first request. + app.storage.archive.set_archive_infos( + result.jid, + oldest_mam_timestamp=start_date.timestamp()) + + @as_task + def request_archive_on_muc_join(self, jid): + _task = yield + + threshold = app.settings.get_group_chat_setting(self._account, + jid, + 'sync_threshold') + self._log.info('Threshold for %s: %s', jid, threshold) + + if threshold == SyncThreshold.NO_SYNC: + return + + mam_id, start_date = self._get_muc_query_params(jid, threshold) + + result = yield self._execute_query(jid, mam_id, start_date) + if is_error(result): + if result.condition != 'item-not-found': + self._log.warning(result) + return + + app.storage.archive.reset_archive_infos(result.jid) + _, start_date = self._get_muc_query_params(jid, threshold) + result = yield self._execute_query(result.jid, None, start_date) + if is_error(result): + self._log.warning(result) + return + + if result.rsm.last is not None: + # is not provided if the requested page was empty + # so this means we did not get anything hence we only need + # to update the archive info if is present + app.storage.archive.set_archive_infos( + result.jid, + last_mam_id=result.rsm.last, + last_muc_timestamp=time.time()) + + @as_task + def _execute_query(self, jid, mam_id, start_date): + _task = yield + + if jid in self._catch_up_finished: + self._catch_up_finished.remove(jid) + + queryid = self._get_query_id(jid) + + result = yield self.make_query(jid, + queryid, + after=mam_id, + start=start_date) + + self._remove_query_id(result.jid) + + raise_if_error(result) + + while not result.complete: + app.storage.archive.set_archive_infos(result.jid, + last_mam_id=result.rsm.last) + queryid = self._get_query_id(result.jid) + + result = yield self.make_query(result.jid, + queryid, + after=result.rsm.last, + start=start_date) + + self._remove_query_id(result.jid) + + raise_if_error(result) + + self._catch_up_finished.append(result.jid) + self._log.info('Request finished: %s, last mam id: %s', + result.jid, result.rsm.last) + yield result + + def request_archive_interval(self, + start_date, + end_date, + after=None, + queryid=None): + + jid = self._con.get_own_jid().bare + + if after is None: + self._log.info('Request interval: %s, from %s to %s', + jid, start_date, end_date) + else: + self._log.info('Request page: %s, after %s', jid, after) + + if queryid is None: + queryid = self._get_query_id(jid) + self._mam_query_ids[jid] = queryid + + self.make_query(jid, + queryid, + after=after, + start=start_date, + end=end_date, + callback=self._on_interval_result, + user_data=(queryid, start_date, end_date)) + return queryid + + def _on_interval_result(self, task): + queryid, start_date, end_date = task.get_user_data() + + try: + result = task.finish() + except (StanzaError, MalformedStanzaError) as error: + self._remove_query_id(error.jid) + return + + self._remove_query_id(result.jid) + + if start_date: + timestamp = start_date.timestamp() + else: + timestamp = ArchiveState.ALL + + if result.complete: + self._log.info('Request finished: %s, last mam id: %s', + result.jid, result.rsm.last) + app.storage.archive.set_archive_infos( + result.jid, oldest_mam_timestamp=timestamp) + app.nec.push_incoming_event(NetworkEvent( + 'archiving-interval-finished', + account=self._account, + query_id=queryid)) + + else: + self.request_archive_interval(start_date, + end_date, + result.rsm.last, + queryid) + + +def get_instance(*args, **kwargs): + return MAM(*args, **kwargs), 'MAM' diff --git a/gajim/common/modules/message.py b/gajim/common/modules/message.py new file mode 100644 index 0000000..92b4700 --- /dev/null +++ b/gajim/common/modules/message.py @@ -0,0 +1,390 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# Message handler + +import time + +import nbxmpp +from nbxmpp.namespaces import Namespace +from nbxmpp.structs import StanzaHandler +from nbxmpp.util import generate_id + +from gajim.common import app +from gajim.common.nec import NetworkEvent +from gajim.common.helpers import AdditionalDataDict +from gajim.common.helpers import should_log +from gajim.common.const import KindConstant +from gajim.common.modules.base import BaseModule +from gajim.common.modules.util import get_eme_message +from gajim.common.modules.misc import parse_correction +from gajim.common.modules.misc import parse_oob +from gajim.common.modules.misc import parse_xhtml + + +class Message(BaseModule): + def __init__(self, con): + BaseModule.__init__(self, con) + + self.handlers = [ + StanzaHandler(name='message', + callback=self._check_if_unknown_contact, + priority=41), + StanzaHandler(name='message', + callback=self._message_received, + priority=50), + StanzaHandler(name='message', + typ='error', + callback=self._message_error_received, + priority=50), + ] + + # XEPs for which this message module should not be executed + self._message_namespaces = set([Namespace.ROSTERX, + Namespace.IBB]) + + def _check_if_unknown_contact(self, _con, stanza, properties): + if (properties.type.is_groupchat or + properties.is_muc_pm or + properties.is_self_message or + properties.is_mam_message): + return + + if self._con.get_own_jid().domain == str(properties.jid): + # Server message + return + + if not app.settings.get_account_setting(self._account, + 'ignore_unknown_contacts'): + return + + jid = properties.jid.bare + if self._con.get_module('Roster').get_item(jid) is None: + self._log.warning('Ignore message from unknown contact: %s', jid) + self._log.warning(stanza) + raise nbxmpp.NodeProcessed + + def _message_received(self, _con, stanza, properties): + if (properties.is_mam_message or + properties.is_pubsub or + properties.type.is_error): + return + # Check if a child of the message contains any + # namespaces that we handle in other modules. + # nbxmpp executes less common handlers last + if self._message_namespaces & set(stanza.getProperties()): + return + + self._log.info('Received from %s', stanza.getFrom()) + + app.nec.push_incoming_event(NetworkEvent( + 'raw-message-received', + conn=self._con, + stanza=stanza, + account=self._account)) + + if properties.is_carbon_message and properties.carbon.is_sent: + # Ugly, we treat the from attr as the remote jid, + # to make that work with sent carbons we have to do this. + # TODO: Check where in Gajim and plugins we depend on that behavior + stanza.setFrom(stanza.getTo()) + + from_ = stanza.getFrom() + fjid = str(from_) + jid = from_.bare + resource = from_.resource + + type_ = properties.type + + stanza_id, message_id = self._get_unique_id(properties) + + if properties.type.is_groupchat and properties.has_server_delay: + # Only for XEP-0045 MUC History + # Don’t check for message text because the message could be + # encrypted. + if app.storage.archive.deduplicate_muc_message( + self._account, + properties.jid.bare, + properties.jid.resource, + properties.timestamp, + properties.id): + raise nbxmpp.NodeProcessed + + if (properties.is_self_message or properties.is_muc_pm): + archive_jid = self._con.get_own_jid().bare + if app.storage.archive.find_stanza_id( + self._account, + archive_jid, + stanza_id, + message_id, + properties.type.is_groupchat): + return + + msgtxt = properties.body + + # TODO: remove all control UI stuff + gc_control = app.interface.msg_win_mgr.get_gc_control( + jid, self._account) + if not gc_control: + minimized = app.interface.minimized_controls[self._account] + gc_control = minimized.get(jid) + session = None + if not properties.type.is_groupchat: + if properties.is_muc_pm and properties.type.is_error: + session = self._con.find_session(fjid, properties.thread) + if not session: + session = self._con.get_latest_session(fjid) + if not session: + session = self._con.make_new_session( + fjid, properties.thread, type_='pm') + else: + session = self._con.get_or_create_session( + fjid, properties.thread) + + if properties.thread and not session.received_thread_id: + session.received_thread_id = True + + session.last_receive = time.time() + + additional_data = AdditionalDataDict() + + if properties.has_user_delay: + additional_data.set_value( + 'gajim', 'user_timestamp', properties.user_timestamp) + + parse_oob(properties, additional_data) + parse_xhtml(properties, additional_data) + + app.nec.push_incoming_event(NetworkEvent('update-client-info', + account=self._account, + jid=jid, + resource=resource)) + + if properties.is_encrypted: + additional_data['encrypted'] = properties.encrypted.additional_data + else: + if properties.eme is not None: + msgtxt = get_eme_message(properties.eme) + + displaymarking = None + if properties.has_security_label: + displaymarking = properties.security_label.displaymarking + + event_attr = { + 'conn': self._con, + 'stanza': stanza, + 'account': self._account, + 'additional_data': additional_data, + 'fjid': fjid, + 'jid': jid, + 'resource': resource, + 'stanza_id': stanza_id, + 'unique_id': stanza_id or message_id, + 'correct_id': parse_correction(properties), + 'msgtxt': msgtxt, + 'session': session, + 'delayed': properties.user_timestamp is not None, + 'gc_control': gc_control, + 'popup': False, + 'msg_log_id': None, + 'displaymarking': displaymarking, + 'properties': properties, + } + + if type_.is_groupchat: + if not msgtxt: + return + + event_attr.update({ + 'room_jid': jid, + }) + event = NetworkEvent('gc-message-received', **event_attr) + app.nec.push_incoming_event(event) + # TODO: Some plugins modify msgtxt in the GUI event + self._log_muc_message(event) + return + + app.nec.push_incoming_event( + NetworkEvent('decrypted-message-received', **event_attr)) + + def _message_error_received(self, _con, _stanza, properties): + jid = properties.jid + if not properties.is_muc_pm: + jid = jid.new_as_bare() + + self._log.info(properties.error) + + app.storage.archive.set_message_error( + app.get_jid_from_account(self._account), + jid, + properties.id, + properties.error) + + app.nec.push_incoming_event( + NetworkEvent('message-error', + account=self._account, + jid=jid, + room_jid=jid, + message_id=properties.id, + error=properties.error)) + + def _log_muc_message(self, event): + self._check_for_mam_compliance(event.room_jid, event.stanza_id) + + if (should_log(self._account, event.jid) and + event.msgtxt and event.properties.muc_nickname): + # if not event.nick, it means message comes from room itself + # usually it hold description and can be send at each connection + # so don't store it in logs + app.storage.archive.insert_into_logs( + self._account, + event.jid, + event.properties.timestamp, + KindConstant.GC_MSG, + message=event.msgtxt, + contact_name=event.properties.muc_nickname, + additional_data=event.additional_data, + stanza_id=event.stanza_id, + message_id=event.properties.id) + + def _check_for_mam_compliance(self, room_jid, stanza_id): + disco_info = app.storage.cache.get_last_disco_info(room_jid) + if stanza_id is None and disco_info.mam_namespace == Namespace.MAM_2: + self._log.warning('%s announces mam:2 without stanza-id', room_jid) + + def _get_unique_id(self, properties): + if properties.is_self_message: + # Deduplicate self message with message-id + return None, properties.id + + if properties.stanza_id is None: + return None, None + + if properties.type.is_groupchat: + disco_info = app.storage.cache.get_last_disco_info( + properties.jid.bare) + + if disco_info.mam_namespace != Namespace.MAM_2: + return None, None + + archive = properties.jid + else: + if not self._con.get_module('MAM').available: + return None, None + + archive = self._con.get_own_jid() + + if archive.bare_match(properties.stanza_id.by): + return properties.stanza_id.id, None + # stanza-id not added by the archive, ignore it. + return None, None + + def build_message_stanza(self, message): + own_jid = self._con.get_own_jid() + + stanza = nbxmpp.Message(to=message.jid, + body=message.message, + typ=message.type_, + subject=message.subject, + xhtml=message.xhtml) + + if message.correct_id: + stanza.setTag('replace', attrs={'id': message.correct_id}, + namespace=Namespace.CORRECT) + + # XEP-0359 + message.message_id = generate_id() + stanza.setID(message.message_id) + stanza.setOriginID(message.message_id) + + if message.label: + stanza.addChild(node=message.label.to_node()) + + # XEP-0172: user_nickname + if message.user_nick: + stanza.setTag('nick', namespace=Namespace.NICK).setData( + message.user_nick) + + # XEP-0203 + # TODO: Seems delayed is not set anywhere + if message.delayed: + timestamp = time.strftime('%Y-%m-%dT%H:%M:%SZ', + time.gmtime(message.delayed)) + stanza.addChild('delay', + namespace=Namespace.DELAY2, + attrs={'from': str(own_jid), 'stamp': timestamp}) + + # XEP-0224 + if message.attention: + stanza.setTag('attention', namespace=Namespace.ATTENTION) + + # XEP-0066 + if message.oob_url is not None: + oob = stanza.addChild('x', namespace=Namespace.X_OOB) + oob.addChild('url').setData(message.oob_url) + + # XEP-0184 + if not own_jid.bare_match(message.jid): + if message.message and not message.is_groupchat: + stanza.setReceiptRequest() + + # Mark Message as MUC PM + if message.contact.is_pm_contact: + stanza.setTag('x', namespace=Namespace.MUC_USER) + + # XEP-0085 + if message.chatstate is not None: + stanza.setTag(message.chatstate, namespace=Namespace.CHATSTATES) + if not message.message: + stanza.setTag('no-store', + namespace=Namespace.MSG_HINTS) + + # XEP-0333 + if message.message: + stanza.setMarkable() + if message.marker: + marker, id_ = message.marker + stanza.setMarker(marker, id_) + + # Add other nodes + if message.nodes is not None: + for node in message.nodes: + stanza.addChild(node=node) + + return stanza + + def log_message(self, message): + if not message.is_loggable: + return + + if not should_log(self._account, message.jid): + return + + if message.message is None: + return + + app.storage.archive.insert_into_logs( + self._account, + message.jid, + message.timestamp, + message.kind, + message=message.message, + subject=message.subject, + additional_data=message.additional_data, + message_id=message.message_id, + stanza_id=message.message_id) + + +def get_instance(*args, **kwargs): + return Message(*args, **kwargs), 'Message' diff --git a/gajim/common/modules/metacontacts.py b/gajim/common/modules/metacontacts.py new file mode 100644 index 0000000..367477f --- /dev/null +++ b/gajim/common/modules/metacontacts.py @@ -0,0 +1,107 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0209: Metacontacts + +import nbxmpp +from nbxmpp.namespaces import Namespace + +from gajim.common import app +from gajim.common import helpers +from gajim.common.nec import NetworkEvent +from gajim.common.modules.base import BaseModule + + +class MetaContacts(BaseModule): + def __init__(self, con): + BaseModule.__init__(self, con) + + self.available = False + + def get_metacontacts(self): + if not app.settings.get('metacontacts_enabled'): + self._con.connect_machine() + return + + self._log.info('Request') + node = nbxmpp.Node('storage', attrs={'xmlns': 'storage:metacontacts'}) + iq = nbxmpp.Iq('get', Namespace.PRIVATE, payload=node) + + self._con.connection.SendAndCallForResponse( + iq, self._metacontacts_received) + + def _metacontacts_received(self, _nbxmpp_client, stanza): + if not nbxmpp.isResultNode(stanza): + self._log.info('Request error: %s', stanza.getError()) + else: + self.available = True + meta_list = self._parse_metacontacts(stanza) + + self._log.info('Received: %s', meta_list) + + app.nec.push_incoming_event(NetworkEvent( + 'metacontacts-received', conn=self._con, meta_list=meta_list)) + + self._con.connect_machine() + + @staticmethod + def _parse_metacontacts(stanza): + meta_list = {} + query = stanza.getQuery() + storage = query.getTag('storage') + metas = storage.getTags('meta') + for meta in metas: + try: + jid = helpers.parse_jid(meta.getAttr('jid')) + except helpers.InvalidFormat: + continue + tag = meta.getAttr('tag') + data = {'jid': jid} + order = meta.getAttr('order') + try: + order = int(order) + except Exception: + order = 0 + if order is not None: + data['order'] = order + if tag in meta_list: + meta_list[tag].append(data) + else: + meta_list[tag] = [data] + return meta_list + + def store_metacontacts(self, tags_list): + if not app.account_is_available(self._account): + return + iq = nbxmpp.Iq('set', Namespace.PRIVATE) + meta = iq.getQuery().addChild('storage', + namespace='storage:metacontacts') + for tag in tags_list: + for data in tags_list[tag]: + jid = data['jid'] + dict_ = {'jid': jid, 'tag': tag} + if 'order' in data: + dict_['order'] = data['order'] + meta.addChild(name='meta', attrs=dict_) + self._log.info('Store: %s', tags_list) + self._con.connection.SendAndCallForResponse( + iq, self._store_response_received) + + def _store_response_received(self, _nbxmpp_client, stanza): + if not nbxmpp.isResultNode(stanza): + self._log.info('Store error: %s', stanza.getError()) + + +def get_instance(*args, **kwargs): + return MetaContacts(*args, **kwargs), 'MetaContacts' diff --git a/gajim/common/modules/misc.py b/gajim/common/modules/misc.py new file mode 100644 index 0000000..fdd6aca --- /dev/null +++ b/gajim/common/modules/misc.py @@ -0,0 +1,51 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# All XEPs that don’t need their own module + +import logging + +from gajim.common.i18n import get_rfc5646_lang + +log = logging.getLogger('gajim.c.m.misc') + + +# XEP-0066: Out of Band Data + +def parse_oob(properties, additional_data): + if not properties.is_oob: + return + + additional_data.set_value('gajim', 'oob_url', properties.oob.url) + if properties.oob.desc is not None: + additional_data.set_value('gajim', 'oob_desc', + properties.oob.desc) + + +# XEP-0308: Last Message Correction + +def parse_correction(properties): + if not properties.is_correction: + return None + return properties.correction.id + + +# XEP-0071: XHTML-IM + +def parse_xhtml(properties, additional_data): + if not properties.has_xhtml: + return + + body = properties.xhtml.get_body(get_rfc5646_lang()) + additional_data.set_value('gajim', 'xhtml', body) diff --git a/gajim/common/modules/muc.py b/gajim/common/modules/muc.py new file mode 100644 index 0000000..bbe0cee --- /dev/null +++ b/gajim/common/modules/muc.py @@ -0,0 +1,857 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0045: Multi-User Chat +# XEP-0249: Direct MUC Invitations + +import logging + +import nbxmpp +from nbxmpp.namespaces import Namespace +from nbxmpp.const import InviteType +from nbxmpp.const import PresenceType +from nbxmpp.const import StatusCode +from nbxmpp.structs import StanzaHandler +from nbxmpp.errors import StanzaError + +from gi.repository import GLib + +from gajim.common import app +from gajim.common import helpers +from gajim.common import ged +from gajim.common.const import KindConstant +from gajim.common.const import MUCJoinedState +from gajim.common.helpers import AdditionalDataDict +from gajim.common.helpers import get_default_muc_config +from gajim.common.helpers import to_user_string +from gajim.common.helpers import event_filter +from gajim.common.nec import NetworkEvent +from gajim.common.modules.bits_of_binary import store_bob_data +from gajim.common.modules.base import BaseModule + + +log = logging.getLogger('gajim.c.m.muc') + + +class MUC(BaseModule): + + _nbxmpp_extends = 'MUC' + _nbxmpp_methods = [ + 'get_affiliation', + 'set_role', + 'set_affiliation', + 'set_config', + 'set_subject', + 'cancel_config', + 'send_captcha', + 'cancel_captcha', + 'decline', + 'invite', + 'request_config', + 'request_voice', + 'approve_voice_request', + 'destroy', + 'request_disco_info' + ] + + def __init__(self, con): + BaseModule.__init__(self, con) + + self.handlers = [ + StanzaHandler(name='presence', + callback=self._on_muc_user_presence, + ns=Namespace.MUC_USER, + priority=49), + StanzaHandler(name='presence', + callback=self._on_error_presence, + typ='error', + priority=49), + StanzaHandler(name='message', + callback=self._on_subject_change, + typ='groupchat', + priority=49), + StanzaHandler(name='message', + callback=self._on_config_change, + ns=Namespace.MUC_USER, + priority=49), + StanzaHandler(name='message', + callback=self._on_invite_or_decline, + typ='normal', + ns=Namespace.MUC_USER, + priority=49), + StanzaHandler(name='message', + callback=self._on_invite_or_decline, + ns=Namespace.CONFERENCE, + priority=49), + StanzaHandler(name='message', + callback=self._on_captcha_challenge, + ns=Namespace.CAPTCHA, + priority=49), + StanzaHandler(name='message', + callback=self._on_voice_request, + ns=Namespace.DATA, + priority=49) + ] + + self.register_events([ + ('account-disconnected', ged.CORE, self._on_account_disconnected), + ]) + + self._manager = MUCManager(self._log) + self._rejoin_muc = set() + self._join_timeouts = {} + self._rejoin_timeouts = {} + self._muc_service_jid = None + + @property + def supported(self): + return self._muc_service_jid is not None + + @property + def service_jid(self): + return self._muc_service_jid + + def get_manager(self): + return self._manager + + def pass_disco(self, info): + for identity in info.identities: + if identity.category != 'conference': + continue + if identity.type != 'text': + continue + if Namespace.MUC in info.features: + self._log.info('Discovered MUC: %s', info.jid) + self._muc_service_jid = info.jid + raise nbxmpp.NodeProcessed + + def join(self, muc_data): + if not app.account_is_available(self._account): + return + + self._manager.add(muc_data) + + disco_info = app.storage.cache.get_last_disco_info(muc_data.jid, + max_age=60) + if disco_info is None: + self._con.get_module('Discovery').disco_muc( + muc_data.jid, + callback=self._on_disco_result) + else: + self._join(muc_data) + + def create(self, muc_data): + if not app.account_is_available(self._account): + return + + self._manager.add(muc_data) + self._create(muc_data) + + def _on_disco_result(self, task): + try: + result = task.finish() + except StanzaError as error: + self._log.info('Disco %s failed: %s', error.jid, error.get_text()) + app.nec.push_incoming_event( + NetworkEvent('muc-join-failed', + account=self._account, + room_jid=error.jid.bare, + error=error)) + return + + muc_data = self._manager.get(result.info.jid) + if muc_data is None: + self._log.warning('MUC Data not found, join aborted') + return + self._join(muc_data) + + def _join(self, muc_data): + presence = self._con.get_module('Presence').get_presence( + muc_data.occupant_jid, + show=self._con.status, + status=self._con.status_message) + + muc_x = presence.setTag(Namespace.MUC + ' x') + muc_x.setTag('history', {'maxchars': '0'}) + + if muc_data.password is not None: + muc_x.setTagData('password', muc_data.password) + + self._log.info('Join MUC: %s', muc_data.jid) + self._manager.set_state(muc_data.jid, MUCJoinedState.JOINING) + self._con.connection.send(presence) + + def _rejoin(self, room_jid): + muc_data = self._manager.get(room_jid) + if muc_data.state == MUCJoinedState.NOT_JOINED: + self._log.info('Rejoin %s', room_jid) + self._join(muc_data) + return True + + def _create(self, muc_data): + presence = self._con.get_module('Presence').get_presence( + muc_data.occupant_jid, + show=self._con.status, + status=self._con.status_message) + + presence.setTag(Namespace.MUC + ' x') + + self._log.info('Create MUC: %s', muc_data.jid) + self._manager.set_state(muc_data.jid, MUCJoinedState.CREATING) + self._con.connection.send(presence) + + def leave(self, room_jid, reason=None): + self._log.info('Leave MUC: %s', room_jid) + self._remove_join_timeout(room_jid) + self._remove_rejoin_timeout(room_jid) + self._manager.set_state(room_jid, MUCJoinedState.NOT_JOINED) + muc_data = self._manager.get(room_jid) + self._con.get_module('Presence').send_presence( + muc_data.occupant_jid, + typ='unavailable', + status=reason, + caps=False) + # We leave a group chat, disable bookmark autojoin + self._con.get_module('Bookmarks').modify(room_jid, autojoin=False) + + def configure_room(self, room_jid): + self._nbxmpp('MUC').request_config(room_jid, + callback=self._on_room_config) + + def _on_room_config(self, task): + try: + result = task.finish() + except StanzaError as error: + self._log.info(error) + app.nec.push_incoming_event(NetworkEvent( + 'muc-configuration-failed', + account=self._account, + room_jid=error.jid, + error=error)) + return + + self._log.info('Configure room: %s', result.jid) + + muc_data = self._manager.get(result.jid) + self._apply_config(result.form, muc_data.config) + self.set_config(result.jid, + result.form, + callback=self._on_config_result) + + @staticmethod + def _apply_config(form, config=None): + default_config = get_default_muc_config() + if config is not None: + default_config.update(config) + for var, value in default_config.items(): + try: + field = form[var] + except KeyError: + pass + else: + field.value = value + + def _on_config_result(self, task): + try: + result = task.finish() + except StanzaError as error: + self._log.info(error) + app.nec.push_incoming_event(NetworkEvent( + 'muc-configuration-failed', + account=self._account, + room_jid=error.jid, + error=error)) + return + + self._con.get_module('Discovery').disco_muc( + result.jid, callback=self._on_disco_result_after_config) + + # If this is an automatic room creation + try: + invites = app.automatic_rooms[self._account][result.jid]['invities'] + except KeyError: + return + + user_list = {} + for jid in invites: + user_list[jid] = {'affiliation': 'member'} + self.set_affiliation(result.jid, user_list) + + for jid in invites: + self.invite(result.jid, jid) + + def _on_disco_result_after_config(self, task): + try: + result = task.finish() + except StanzaError as error: + self._log.info('Disco %s failed: %s', error.jid, error.get_text()) + return + + jid = result.info.jid + muc_data = self._manager.get(jid) + self._room_join_complete(muc_data) + + self._log.info('Configuration finished: %s', jid) + app.nec.push_incoming_event(NetworkEvent( + 'muc-configuration-finished', + account=self._account, + room_jid=jid)) + + def update_presence(self): + mucs = self._manager.get_mucs_with_state([MUCJoinedState.JOINED, + MUCJoinedState.JOINING]) + + status, message, idle = self._con.get_presence_state() + for muc_data in mucs: + self._con.get_module('Presence').send_presence( + muc_data.occupant_jid, + show=status, + status=message, + idle_time=idle) + + def change_nick(self, room_jid, new_nick): + status, message, _idle = self._con.get_presence_state() + self._con.get_module('Presence').send_presence( + '%s/%s' % (room_jid, new_nick), + show=status, + status=message) + + def _on_error_presence(self, _con, _stanza, properties): + room_jid = properties.jid.bare + muc_data = self._manager.get(room_jid) + if muc_data is None: + return + + if muc_data.state == MUCJoinedState.JOINING: + if properties.error.condition == 'conflict': + self._remove_rejoin_timeout(room_jid) + muc_data.nick += '_' + self._log.info('Nickname conflict: %s change to %s', + muc_data.jid, muc_data.nick) + self._join(muc_data) + elif properties.error.condition == 'not-authorized': + self._remove_rejoin_timeout(room_jid) + self._manager.set_state(room_jid, MUCJoinedState.NOT_JOINED) + self._raise_muc_event('muc-password-required', properties) + else: + self._manager.set_state(room_jid, MUCJoinedState.NOT_JOINED) + if room_jid not in self._rejoin_muc: + app.nec.push_incoming_event( + NetworkEvent('muc-join-failed', + account=self._account, + room_jid=room_jid, + error=properties.error)) + + elif muc_data.state == MUCJoinedState.CREATING: + self._manager.set_state(room_jid, MUCJoinedState.NOT_JOINED) + app.nec.push_incoming_event( + NetworkEvent('muc-creation-failed', + account=self._account, + room_jid=room_jid, + error=properties.error)) + + elif muc_data.state == MUCJoinedState.CAPTCHA_REQUEST: + app.nec.push_incoming_event( + NetworkEvent('muc-captcha-error', + account=self._account, + room_jid=room_jid, + error_text=to_user_string(properties.error))) + self._manager.set_state(room_jid, MUCJoinedState.CAPTCHA_FAILED) + self._manager.set_state(room_jid, MUCJoinedState.NOT_JOINED) + + elif muc_data.state == MUCJoinedState.CAPTCHA_FAILED: + self._manager.set_state(room_jid, MUCJoinedState.NOT_JOINED) + + else: + self._raise_muc_event('muc-presence-error', properties) + + def _on_muc_user_presence(self, _con, stanza, properties): + if properties.type == PresenceType.ERROR: + return + + room_jid = str(properties.muc_jid) + if room_jid not in self._manager: + self._log.warning('Presence from unknown MUC') + self._log.warning(stanza) + return + + muc_data = self._manager.get(room_jid) + + if properties.is_muc_destroyed: + for contact in app.contacts.get_gc_contact_list( + self._account, room_jid): + contact.presence = PresenceType.UNAVAILABLE + self._log.info('MUC destroyed: %s', room_jid) + self._remove_join_timeout(room_jid) + self._manager.set_state(room_jid, MUCJoinedState.NOT_JOINED) + self._raise_muc_event('muc-destroyed', properties) + return + + contact = app.contacts.get_gc_contact(self._account, + room_jid, + properties.muc_nickname) + + if properties.is_nickname_changed: + if properties.is_muc_self_presence: + muc_data.nick = properties.muc_user.nick + self._con.get_module('Bookmarks').modify(muc_data.jid, + nick=muc_data.nick) + app.contacts.remove_gc_contact(self._account, contact) + contact.name = properties.muc_user.nick + app.contacts.add_gc_contact(self._account, contact) + initiator = 'Server' if properties.is_nickname_modified else 'User' + self._log.info('%s nickname changed: %s to %s', + initiator, + properties.jid, + properties.muc_user.nick) + self._raise_muc_event('muc-nickname-changed', properties) + return + + if contact is None and properties.type.is_available: + self._add_new_muc_contact(properties) + if properties.is_muc_self_presence: + self._log.info('Self presence: %s', properties.jid) + if muc_data.state == MUCJoinedState.JOINING: + if (properties.is_nickname_modified or + muc_data.nick != properties.muc_nickname): + muc_data.nick = properties.muc_nickname + self._log.info('Server modified nickname to: %s', + properties.muc_nickname) + + elif muc_data.state == MUCJoinedState.CREATING: + if properties.is_new_room: + self.configure_room(room_jid) + + self._start_join_timeout(room_jid) + self._raise_muc_event('muc-self-presence', properties) + + else: + self._log.info('User joined: %s', properties.jid) + self._raise_muc_event('muc-user-joined', properties) + return + + if properties.is_muc_self_presence and properties.is_kicked: + self._manager.set_state(room_jid, MUCJoinedState.NOT_JOINED) + self._raise_muc_event('muc-self-kicked', properties) + status_codes = properties.muc_status_codes or [] + if StatusCode.REMOVED_SERVICE_SHUTDOWN in status_codes: + self._start_rejoin_timeout(room_jid) + return + + if properties.is_muc_self_presence and properties.type.is_unavailable: + # Its not a kick, so this is the reflection of our own + # unavailable presence, because we left the MUC + return + + if properties.type.is_unavailable: + for _event in app.events.get_events(self._account, + jid=str(properties.jid), + types=['pm']): + contact.show = properties.show + contact.presence = properties.type + contact.status = properties.status + contact.affiliation = properties.affiliation + app.interface.handle_event(self._account, + str(properties.jid), + 'pm') + # Handle only the first pm event, the rest will be + # handled by the opened ChatControl + break + + if contact is None: + # If contact is None, its probably that a user left from a not + # insync MUC, can happen on older servers + self._log.warning('Unknown contact left groupchat: %s', + properties.jid) + else: + # We remove the contact from the MUC, but there could be + # a PrivateChatControl open, so we update the contacts presence + contact.presence = properties.type + app.contacts.remove_gc_contact(self._account, contact) + self._log.info('User %s left', properties.jid) + self._raise_muc_event('muc-user-left', properties) + return + + if contact.affiliation != properties.affiliation: + contact.affiliation = properties.affiliation + self._log.info('Affiliation changed: %s %s', + properties.jid, + properties.affiliation) + self._raise_muc_event('muc-user-affiliation-changed', properties) + + if contact.role != properties.role: + contact.role = properties.role + self._log.info('Role changed: %s %s', + properties.jid, + properties.role) + self._raise_muc_event('muc-user-role-changed', properties) + + if (contact.status != properties.status or + contact.show != properties.show): + contact.status = properties.status + contact.show = properties.show + self._log.info('Show/Status changed: %s %s %s', + properties.jid, + properties.status, + properties.show) + self._raise_muc_event('muc-user-status-show-changed', properties) + + def _start_rejoin_timeout(self, room_jid): + self._remove_rejoin_timeout(room_jid) + self._rejoin_muc.add(room_jid) + self._log.info('Start rejoin timeout for: %s', room_jid) + id_ = GLib.timeout_add_seconds(2, self._rejoin, room_jid) + self._rejoin_timeouts[room_jid] = id_ + + def _remove_rejoin_timeout(self, room_jid): + self._rejoin_muc.discard(room_jid) + id_ = self._rejoin_timeouts.get(room_jid) + if id_ is not None: + self._log.info('Remove rejoin timeout for: %s', room_jid) + GLib.source_remove(id_) + del self._rejoin_timeouts[room_jid] + + def _start_join_timeout(self, room_jid): + self._remove_join_timeout(room_jid) + self._log.info('Start join timeout for: %s', room_jid) + id_ = GLib.timeout_add_seconds( + 10, self._fake_subject_change, room_jid) + self._join_timeouts[room_jid] = id_ + + def _remove_join_timeout(self, room_jid): + id_ = self._join_timeouts.get(room_jid) + if id_ is not None: + self._log.info('Remove join timeout for: %s', room_jid) + GLib.source_remove(id_) + del self._join_timeouts[room_jid] + + def _raise_muc_event(self, event_name, properties): + app.nec.push_incoming_event( + NetworkEvent(event_name, + account=self._account, + room_jid=properties.jid.bare, + properties=properties)) + self._log_muc_event(event_name, properties) + + def _log_muc_event(self, event_name, properties): + if event_name not in ['muc-user-joined', + 'muc-user-left', + 'muc-user-status-show-changed']: + return + + if (not app.settings.get('log_contact_status_changes') or + not helpers.should_log(self._account, properties.jid)): + return + + additional_data = AdditionalDataDict() + if properties.muc_user is not None: + if properties.muc_user.jid is not None: + additional_data.set_value( + 'gajim', 'real_jid', str(properties.muc_user.jid)) + + # TODO: Refactor + if properties.type == PresenceType.UNAVAILABLE: + show = 'offline' + else: + show = properties.show.value + show = app.storage.archive.convert_show_values_to_db_api_values(show) + + app.storage.archive.insert_into_logs( + self._account, + properties.jid.bare, + properties.timestamp, + KindConstant.GCSTATUS, + contact_name=properties.muc_nickname, + message=properties.status or None, + show=show, + additional_data=additional_data) + + def _add_new_muc_contact(self, properties): + real_jid = None + if properties.muc_user.jid is not None: + real_jid = str(properties.muc_user.jid) + contact = app.contacts.create_gc_contact( + room_jid=properties.jid.bare, + account=self._account, + name=properties.muc_nickname, + show=properties.show, + status=properties.status, + presence=properties.type, + role=properties.role, + affiliation=properties.affiliation, + jid=real_jid, + avatar_sha=properties.avatar_sha) + app.contacts.add_gc_contact(self._account, contact) + + def _on_subject_change(self, _con, _stanza, properties): + if not properties.is_muc_subject: + return + + self._handle_subject_change(str(properties.muc_jid), + properties.subject, + properties.muc_nickname, + properties.user_timestamp) + + raise nbxmpp.NodeProcessed + + def _fake_subject_change(self, room_jid): + # This is for servers which don’t send empty subjects as part of the + # event order on joining a MUC. For example jabber.ru + self._log.warning('Fake subject received for %s', room_jid) + del self._join_timeouts[room_jid] + self._handle_subject_change(room_jid, None, None, None) + + def _handle_subject_change(self, room_jid, subject, nickname, timestamp): + contact = app.contacts.get_groupchat_contact(self._account, room_jid) + if contact is None: + return + + contact.status = subject + + app.nec.push_incoming_event( + NetworkEvent('muc-subject', + account=self._account, + room_jid=room_jid, + subject=subject, + nickname=nickname, + user_timestamp=timestamp, + is_fake=subject is None)) + + muc_data = self._manager.get(room_jid) + if muc_data.state == MUCJoinedState.JOINING: + self._room_join_complete(muc_data) + app.nec.push_incoming_event( + NetworkEvent('muc-joined', + account=self._account, + room_jid=muc_data.jid)) + + def _room_join_complete(self, muc_data): + self._remove_join_timeout(muc_data.jid) + self._manager.set_state(muc_data.jid, MUCJoinedState.JOINED) + self._remove_rejoin_timeout(muc_data.jid) + + # We successfully joined a MUC, set add bookmark with autojoin + self._con.get_module('Bookmarks').add_or_modify( + muc_data.jid, + autojoin=True, + password=muc_data.password, + nick=muc_data.nick) + + def _on_voice_request(self, _con, _stanza, properties): + if not properties.is_voice_request: + return + + jid = str(properties.jid) + contact = app.contacts.get_groupchat_contact(self._account, jid) + if contact is None: + return + + app.nec.push_incoming_event( + NetworkEvent('muc-voice-request', + account=self._account, + room_jid=str(properties.muc_jid), + voice_request=properties.voice_request)) + raise nbxmpp.NodeProcessed + + def _on_captcha_challenge(self, _con, _stanza, properties): + if not properties.is_captcha_challenge: + return + + if properties.is_mam_message: + # Some servers store captcha challenges in MAM, don’t process them + self._log.warning('Ignore captcha challenge received from MAM') + raise nbxmpp.NodeProcessed + + muc_data = self._manager.get(properties.jid) + if muc_data is None: + return + + if muc_data.state != MUCJoinedState.JOINING: + self._log.warning('Received captcha request but state != %s', + MUCJoinedState.JOINING) + return + + contact = app.contacts.get_groupchat_contact(self._account, + str(properties.jid)) + if contact is None: + return + + self._log.info('Captcha challenge received from %s', properties.jid) + store_bob_data(properties.captcha.bob_data) + muc_data.captcha_id = properties.id + + self._manager.set_state(properties.jid, MUCJoinedState.CAPTCHA_REQUEST) + self._remove_rejoin_timeout(properties.jid) + + app.nec.push_incoming_event( + NetworkEvent('muc-captcha-challenge', + account=self._account, + room_jid=properties.jid.bare, + form=properties.captcha.form)) + raise nbxmpp.NodeProcessed + + def cancel_captcha(self, room_jid): + muc_data = self._manager.get(room_jid) + if muc_data is None: + return + + if muc_data.captcha_id is None: + self._log.warning('No captcha message id available') + return + self._nbxmpp('MUC').cancel_captcha(room_jid, muc_data.captcha_id) + self._manager.set_state(room_jid, MUCJoinedState.CAPTCHA_FAILED) + self._manager.set_state(room_jid, MUCJoinedState.NOT_JOINED) + + def send_captcha(self, room_jid, form_node): + self._manager.set_state(room_jid, MUCJoinedState.JOINING) + self._nbxmpp('MUC').send_captcha(room_jid, + form_node, + callback=self._on_captcha_result) + + def _on_captcha_result(self, task): + try: + task.finish() + except StanzaError as error: + muc_data = self._manager.get(error.jid) + if muc_data is None: + return + self._manager.set_state(error.jid, MUCJoinedState.CAPTCHA_FAILED) + app.nec.push_incoming_event( + NetworkEvent('muc-captcha-error', + account=self._account, + room_jid=str(error.jid), + error_text=to_user_string(error))) + + def _on_config_change(self, _con, _stanza, properties): + if not properties.is_muc_config_change: + return + + room_jid = str(properties.muc_jid) + self._log.info('Received config change: %s %s', + room_jid, properties.muc_status_codes) + app.nec.push_incoming_event( + NetworkEvent('muc-config-changed', + account=self._account, + room_jid=room_jid, + status_codes=properties.muc_status_codes)) + raise nbxmpp.NodeProcessed + + def _on_invite_or_decline(self, _con, _stanza, properties): + if properties.muc_decline is not None: + data = properties.muc_decline + if helpers.ignore_contact(self._account, data.from_): + raise nbxmpp.NodeProcessed + + self._log.info('Invite declined from: %s, reason: %s', + data.from_, data.reason) + + app.nec.push_incoming_event( + NetworkEvent('muc-decline', + account=self._account, + **data._asdict())) + raise nbxmpp.NodeProcessed + + if properties.muc_invite is not None: + data = properties.muc_invite + if helpers.ignore_contact(self._account, data.from_): + raise nbxmpp.NodeProcessed + + self._log.info('Invite from: %s, to: %s', data.from_, data.muc) + + if app.in_groupchat(self._account, data.muc): + # We are already in groupchat. Ignore invitation + self._log.info('We are already in this room') + raise nbxmpp.NodeProcessed + + self._con.get_module('Discovery').disco_muc( + data.muc, + request_vcard=True, + callback=self._on_disco_result_after_invite, + user_data=data) + + raise nbxmpp.NodeProcessed + + def _on_disco_result_after_invite(self, task): + try: + result = task.finish() + except StanzaError as error: + self._log.warning(error) + return + + invite_data = task.get_user_data() + app.nec.push_incoming_event( + NetworkEvent('muc-invitation', + account=self._account, + info=result.info, + **invite_data._asdict())) + + def invite(self, room, to, reason=None, continue_=False): + type_ = InviteType.MEDIATED + contact = app.contacts.get_contact_from_full_jid(self._account, to) + if contact and contact.supports(Namespace.CONFERENCE): + type_ = InviteType.DIRECT + + password = app.gc_passwords.get(room, None) + self._log.info('Invite %s to %s', to, room) + return self._nbxmpp('MUC').invite(room, to, reason, password, + continue_, type_) + + @event_filter(['account']) + def _on_account_disconnected(self, _event): + for room_jid in list(self._rejoin_timeouts.keys()): + self._remove_rejoin_timeout(room_jid) + + for room_jid in list(self._join_timeouts.keys()): + self._remove_join_timeout(room_jid) + + +class MUCManager: + def __init__(self, logger): + self._log = logger + self._mucs = {} + + def add(self, muc): + self._mucs[muc.jid] = muc + + def remove(self, muc): + self._mucs.pop(muc.jid, None) + + def get(self, room_jid): + return self._mucs.get(room_jid) + + def set_state(self, room_jid, state): + muc = self._mucs.get(room_jid) + if muc is not None: + if muc.state == state: + return + self._log.info('Set MUC state: %s %s', room_jid, state) + muc.state = state + + def get_joined_mucs(self): + mucs = self._mucs.values() + return [muc.jid for muc in mucs if muc.state == MUCJoinedState.JOINED] + + def get_mucs_with_state(self, states): + return [muc for muc in self._mucs.values() if muc.state in states] + + def reset_state(self): + for muc in self._mucs.values(): + self.set_state(muc.jid, MUCJoinedState.NOT_JOINED) + + def __contains__(self, room_jid): + return room_jid in self._mucs + + +def get_instance(*args, **kwargs): + return MUC(*args, **kwargs), 'MUC' diff --git a/gajim/common/modules/pep.py b/gajim/common/modules/pep.py new file mode 100644 index 0000000..2622863 --- /dev/null +++ b/gajim/common/modules/pep.py @@ -0,0 +1,39 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0163: Personal Eventing Protocol + +from typing import Any +from typing import Tuple + +from gajim.common.types import ConnectionT +from gajim.common.modules.base import BaseModule + + +class PEP(BaseModule): + def __init__(self, con: ConnectionT) -> None: + BaseModule.__init__(self, con) + + self.supported = False + + def pass_disco(self, info): + for identity in info.identities: + if identity.category == 'pubsub': + if identity.type == 'pep': + self._log.info('Discovered PEP support: %s', info.jid) + self.supported = True + + +def get_instance(*args: Any, **kwargs: Any) -> Tuple[PEP, str]: + return PEP(*args, **kwargs), 'PEP' diff --git a/gajim/common/modules/ping.py b/gajim/common/modules/ping.py new file mode 100644 index 0000000..0c0c3ff --- /dev/null +++ b/gajim/common/modules/ping.py @@ -0,0 +1,82 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0199: XMPP Ping + +from typing import Any +from typing import Tuple +from typing import Generator + +import time + +from nbxmpp.errors import is_error + +from gajim.common import app +from gajim.common.nec import NetworkEvent +from gajim.common.types import ConnectionT +from gajim.common.types import ContactsT +from gajim.common.modules.base import BaseModule +from gajim.common.modules.util import as_task + + +class Ping(BaseModule): + + _nbxmpp_extends = 'Ping' + _nbxmpp_methods = [ + 'ping', + ] + + def __init__(self, con: ConnectionT) -> None: + BaseModule.__init__(self, con) + + self.handlers = [] + + @as_task + def send_ping(self, contact: ContactsT) -> Generator: + _task = yield + + if not app.account_is_available(self._account): + return + + jid = contact.get_full_jid() + + self._log.info('Send ping to %s', jid) + + app.nec.push_incoming_event(NetworkEvent('ping-sent', + account=self._account, + contact=contact)) + + ping_time = time.time() + + response = yield self.ping(jid, timeout=10) + if is_error(response): + app.nec.push_incoming_event(NetworkEvent( + 'ping-error', + account=self._account, + contact=contact, + error=str(response))) + return + + diff = round(time.time() - ping_time, 2) + self._log.info('Received pong from %s after %s seconds', + response.jid, diff) + + app.nec.push_incoming_event(NetworkEvent('ping-reply', + account=self._account, + contact=contact, + seconds=diff)) + + +def get_instance(*args: Any, **kwargs: Any) -> Tuple[Ping, str]: + return Ping(*args, **kwargs), 'Ping' diff --git a/gajim/common/modules/presence.py b/gajim/common/modules/presence.py new file mode 100644 index 0000000..356de7b --- /dev/null +++ b/gajim/common/modules/presence.py @@ -0,0 +1,394 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# Presence handler + +import time + +import nbxmpp +from nbxmpp.namespaces import Namespace +from nbxmpp.structs import StanzaHandler +from nbxmpp.const import PresenceType + +from gajim.common import app +from gajim.common import idle +from gajim.common.i18n import _ +from gajim.common.nec import NetworkEvent +from gajim.common.helpers import should_log +from gajim.common.const import KindConstant +from gajim.common.const import ShowConstant +from gajim.common.modules.base import BaseModule + + +class Presence(BaseModule): + def __init__(self, con): + BaseModule.__init__(self, con) + + self.handlers = [ + StanzaHandler(name='presence', + callback=self._presence_received, + priority=50), + StanzaHandler(name='presence', + callback=self._subscribe_received, + typ='subscribe', + priority=49), + StanzaHandler(name='presence', + callback=self._subscribed_received, + typ='subscribed', + priority=49), + StanzaHandler(name='presence', + callback=self._unsubscribe_received, + typ='unsubscribe', + priority=49), + StanzaHandler(name='presence', + callback=self._unsubscribed_received, + typ='unsubscribed', + priority=49), + ] + + # keep the jids we auto added (transports contacts) to not send the + # SUBSCRIBED event to GUI + self.automatically_added = [] + + # list of jid to auto-authorize + self._jids_for_auto_auth = set() + + def _presence_received(self, _con, stanza, properties): + if properties.from_muc: + # MUC occupant presences are already handled in MUC module + return + + muc = self._con.get_module('MUC').get_manager().get(properties.jid) + if muc is not None: + # Presence from the MUC itself, used for MUC avatar + # handled in VCardAvatars module + return + + self._log.info('Received from %s', properties.jid) + + if properties.type == PresenceType.ERROR: + self._log.info('Error: %s %s', properties.jid, properties.error) + return + + if self._account == 'Local': + app.nec.push_incoming_event( + NetworkEvent('raw-pres-received', + conn=self._con, + stanza=stanza)) + return + + if properties.is_self_presence: + app.nec.push_incoming_event( + NetworkEvent('our-show', + account=self._account, + show=properties.show.value)) + return + + jid = properties.jid.bare + roster_item = self._con.get_module('Roster').get_item(jid) + if not properties.is_self_bare and roster_item is None: + # Handle only presence from roster contacts + self._log.warning('Unknown presence received') + self._log.warning(stanza) + return + + show = properties.show.value + if properties.type.is_unavailable: + show = 'offline' + + event_attrs = { + 'conn': self._con, + 'stanza': stanza, + 'prio': properties.priority, + 'need_add_in_roster': False, + 'popup': False, + 'ptype': properties.type.value, + 'jid': properties.jid.bare, + 'resource': properties.jid.resource, + 'id_': properties.id, + 'fjid': str(properties.jid), + 'timestamp': properties.timestamp, + 'avatar_sha': properties.avatar_sha, + 'user_nick': properties.nickname, + 'idle_time': properties.idle_timestamp, + 'show': show, + 'new_show': show, + 'old_show': 0, + 'status': properties.status, + 'contact_list': [], + 'contact': None, + } + + event_ = NetworkEvent('presence-received', **event_attrs) + + # TODO: Refactor + self._update_contact(event_, properties) + + app.nec.push_incoming_event(event_) + + def _update_contact(self, event, properties): + # Note: A similar method also exists in connection_zeroconf + jid = properties.jid.bare + resource = properties.jid.resource + + status_strings = ['offline', 'error', 'online', 'chat', 'away', + 'xa', 'dnd'] + + event.new_show = status_strings.index(event.show) + + # Update contact + contact_list = app.contacts.get_contacts(self._account, jid) + if not contact_list: + self._log.warning('No contact found') + return + + event.contact_list = contact_list + + contact = app.contacts.get_contact_strict(self._account, + properties.jid.bare, + properties.jid.resource) + if contact is None: + contact = app.contacts.get_first_contact_from_jid(self._account, + jid) + if contact is None: + self._log.warning('First contact not found') + return + + if (self._is_resource_known(contact_list) and + not app.jid_is_transport(jid)): + # Another resource of an existing contact connected + # Add new contact + event.old_show = 0 + contact = app.contacts.copy_contact(contact) + contact.resource = resource + app.contacts.add_contact(self._account, contact) + else: + # Convert the initial roster contact to a contact with resource + contact.resource = resource + event.old_show = 0 + if contact.show in status_strings: + event.old_show = status_strings.index(contact.show) + + event.need_add_in_roster = True + + elif contact.show in status_strings: + event.old_show = status_strings.index(contact.show) + + # Update contact with presence data + contact.show = event.show + contact.status = properties.status + contact.priority = properties.priority + contact.idle_time = properties.idle_timestamp + + event.contact = contact + + if not app.jid_is_transport(jid) and len(contact_list) == 1: + # It's not an agent + if event.old_show == 0 and event.new_show > 1: + if not jid in app.newly_added[self._account]: + app.newly_added[self._account].append(jid) + if jid in app.to_be_removed[self._account]: + app.to_be_removed[self._account].remove(jid) + elif event.old_show > 1 and event.new_show == 0 and \ + self._con.state.is_available: + if not jid in app.to_be_removed[self._account]: + app.to_be_removed[self._account].append(jid) + if jid in app.newly_added[self._account]: + app.newly_added[self._account].remove(jid) + + if app.jid_is_transport(jid): + return + + if properties.type.is_unavailable: + # TODO: This causes problems when another + # resource signs off! + self._con.get_module('Bytestream').stop_all_active_file_transfers( + contact) + self._log_presence(properties) + + @staticmethod + def _is_resource_known(contact_list): + if len(contact_list) > 1: + return True + + if contact_list[0].resource == '': + return False + return contact_list[0].show not in ('not in roster', 'offline') + + def _log_presence(self, properties): + if not app.settings.get('log_contact_status_changes'): + return + if not should_log(self._account, properties.jid.bare): + return + + show = ShowConstant[properties.show.name] + if properties.type.is_unavailable: + show = ShowConstant.OFFLINE + + app.storage.archive.insert_into_logs(self._account, + properties.jid.bare, + time.time(), + KindConstant.STATUS, + message=properties.status, + show=show) + + def _subscribe_received(self, _con, _stanza, properties): + jid = properties.jid.bare + fjid = str(properties.jid) + + is_transport = app.jid_is_transport(fjid) + auto_auth = app.settings.get_account_setting(self._account, 'autoauth') + + self._log.info('Received Subscribe: %s, transport: %s, ' + 'auto_auth: %s, user_nick: %s', + properties.jid, is_transport, + auto_auth, properties.nickname) + + if auto_auth or jid in self._jids_for_auto_auth: + self.send_presence(fjid, 'subscribed') + self._jids_for_auto_auth.discard(jid) + self._log.info('Auto respond with subscribed: %s', jid) + return + + status = (properties.status or + _('I would like to add you to my roster.')) + + app.nec.push_incoming_event(NetworkEvent( + 'subscribe-presence-received', + conn=self._con, + jid=jid, + fjid=fjid, + status=status, + user_nick=properties.nickname, + is_transport=is_transport)) + + raise nbxmpp.NodeProcessed + + def _subscribed_received(self, _con, _stanza, properties): + jid = properties.jid.bare + self._log.info('Received Subscribed: %s', properties.jid) + if jid in self.automatically_added: + self.automatically_added.remove(jid) + raise nbxmpp.NodeProcessed + + app.nec.push_incoming_event(NetworkEvent( + 'subscribed-presence-received', + account=self._account, + jid=properties.jid)) + raise nbxmpp.NodeProcessed + + def _unsubscribe_received(self, _con, _stanza, properties): + self._log.info('Received Unsubscribe: %s', properties.jid) + raise nbxmpp.NodeProcessed + + def _unsubscribed_received(self, _con, _stanza, properties): + self._log.info('Received Unsubscribed: %s', properties.jid) + app.nec.push_incoming_event(NetworkEvent( + 'unsubscribed-presence-received', + conn=self._con, jid=properties.jid.bare)) + raise nbxmpp.NodeProcessed + + def subscribed(self, jid): + if not app.account_is_available(self._account): + return + self._log.info('Subscribed: %s', jid) + self.send_presence(jid, 'subscribed') + + def unsubscribed(self, jid): + if not app.account_is_available(self._account): + return + + self._log.info('Unsubscribed: %s', jid) + self._jids_for_auto_auth.discard(jid) + self.send_presence(jid, 'unsubscribed') + + def unsubscribe(self, jid, remove_auth=True): + if not app.account_is_available(self._account): + return + if remove_auth: + self._con.get_module('Roster').del_item(jid) + else: + self._log.info('Unsubscribe from %s', jid) + self._jids_for_auto_auth.discard(jid) + self._con.get_module('Roster').unsubscribe(jid) + self._con.get_module('Roster').set_item(jid) + + def subscribe(self, jid, msg=None, name='', groups=None, auto_auth=False): + if not app.account_is_available(self._account): + return + if groups is None: + groups = [] + + self._log.info('Request Subscription to %s', jid) + + if auto_auth: + self._jids_for_auto_auth.add(jid) + + infos = {'jid': jid} + if name: + infos['name'] = name + iq = nbxmpp.Iq('set', Namespace.ROSTER) + query = iq.setQuery() + item = query.addChild('item', attrs=infos) + for group in groups: + item.addChild('group').setData(group) + self._con.connection.send(iq) + + self.send_presence(jid, + 'subscribe', + status=msg, + nick=app.nicks[self._account]) + + def get_presence(self, to=None, typ=None, priority=None, + show=None, status=None, nick=None, caps=True, + idle_time=False): + if show not in ('chat', 'away', 'xa', 'dnd'): + # Gajim sometimes passes invalid show values here + # until this is fixed this is a workaround + show = None + presence = nbxmpp.Presence(to, typ, priority, show, status) + if nick is not None: + nick_tag = presence.setTag('nick', namespace=Namespace.NICK) + nick_tag.setData(nick) + + if (idle_time and + app.is_installed('IDLE') and + app.settings.get('autoaway')): + idle_sec = idle.Monitor.get_idle_sec() + time_ = time.strftime('%Y-%m-%dT%H:%M:%SZ', + time.gmtime(time.time() - idle_sec)) + + idle_node = presence.setTag('idle', namespace=Namespace.IDLE) + idle_node.setAttr('since', time_) + + caps = self._con.get_module('Caps').caps + if caps is not None and typ != 'unavailable': + presence.setTag('c', + namespace=Namespace.CAPS, + attrs=caps._asdict()) + + return presence + + def send_presence(self, *args, **kwargs): + if not app.account_is_connected(self._account): + return + presence = self.get_presence(*args, **kwargs) + app.plugin_manager.extension_point( + 'send-presence', self._account, presence) + self._log.debug('Send presence:\n%s', presence) + self._con.connection.send(presence) + + +def get_instance(*args, **kwargs): + return Presence(*args, **kwargs), 'Presence' diff --git a/gajim/common/modules/pubsub.py b/gajim/common/modules/pubsub.py new file mode 100644 index 0000000..782e836 --- /dev/null +++ b/gajim/common/modules/pubsub.py @@ -0,0 +1,85 @@ +# Copyright (C) 2006 Tomasz Melcer +# Copyright (C) 2006-2014 Yann Leboulanger +# Copyright (C) 2007 Jean-Marie Traissard +# Copyright (C) 2008 Stephan Erb +# Copyright (C) 2018 Philipp Hörist +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0060: Publish-Subscribe + +import nbxmpp +from nbxmpp.namespaces import Namespace + +from gajim.common import app +from gajim.common.modules.base import BaseModule + + +class PubSub(BaseModule): + + _nbxmpp_extends = 'PubSub' + _nbxmpp_methods = [ + 'publish', + 'delete', + 'set_node_configuration', + 'get_node_configuration', + 'get_access_model', + ] + + def __init__(self, con): + BaseModule.__init__(self, con) + + self.publish_options = False + + def pass_disco(self, info): + if Namespace.PUBSUB_PUBLISH_OPTIONS in info.features: + self._log.info('Discovered Pubsub publish options: %s', info.jid) + self.publish_options = True + + def send_pb_subscription_query(self, jid, cb, **kwargs): + if not app.account_is_available(self._account): + return + + query = nbxmpp.Iq('get', to=jid) + pb = query.addChild('pubsub', namespace=Namespace.PUBSUB) + pb.addChild('subscriptions') + + self._con.connection.SendAndCallForResponse(query, cb, kwargs) + + def send_pb_subscribe(self, jid, node, cb, **kwargs): + if not app.account_is_available(self._account): + return + + our_jid = app.get_jid_from_account(self._account) + query = nbxmpp.Iq('set', to=jid) + pb = query.addChild('pubsub', namespace=Namespace.PUBSUB) + pb.addChild('subscribe', {'node': node, 'jid': our_jid}) + + self._con.connection.SendAndCallForResponse(query, cb, kwargs) + + def send_pb_unsubscribe(self, jid, node, cb, **kwargs): + if not app.account_is_available(self._account): + return + + our_jid = app.get_jid_from_account(self._account) + query = nbxmpp.Iq('set', to=jid) + pb = query.addChild('pubsub', namespace=Namespace.PUBSUB) + pb.addChild('unsubscribe', {'node': node, 'jid': our_jid}) + + self._con.connection.SendAndCallForResponse(query, cb, kwargs) + + +def get_instance(*args, **kwargs): + return PubSub(*args, **kwargs), 'PubSub' diff --git a/gajim/common/modules/receipts.py b/gajim/common/modules/receipts.py new file mode 100644 index 0000000..8c1f612 --- /dev/null +++ b/gajim/common/modules/receipts.py @@ -0,0 +1,112 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0184: Message Delivery Receipts + +import nbxmpp +from nbxmpp.structs import StanzaHandler +from nbxmpp.namespaces import Namespace +from nbxmpp.modules.receipts import build_receipt + +from gajim.common import app +from gajim.common.nec import NetworkEvent +from gajim.common.modules.base import BaseModule + + +class Receipts(BaseModule): + def __init__(self, con): + BaseModule.__init__(self, con) + + self.handlers = [ + StanzaHandler(name='message', + callback=self._process_message_receipt, + ns=Namespace.RECEIPTS, + priority=46), + ] + + def _process_message_receipt(self, _con, stanza, properties): + if not properties.is_receipt: + return + + if properties.type.is_error: + if properties.receipt.is_request: + return + # Don't propagate this event further + raise nbxmpp.NodeProcessed + + if (properties.type.is_groupchat or + properties.is_self_message or + properties.is_mam_message or + properties.is_carbon_message and properties.carbon.is_sent): + + if properties.receipt.is_received: + # Don't propagate this event further + raise nbxmpp.NodeProcessed + return + + if properties.receipt.is_request: + if not app.settings.get_account_setting(self._account, + 'answer_receipts'): + return + + if properties.eme is not None: + # Don't send receipt for message which couldn't be decrypted + if not properties.is_encrypted: + return + + contact = self._get_contact(properties) + if contact is None: + return + self._log.info('Send receipt: %s', properties.jid) + self._con.connection.send(build_receipt(stanza)) + return + + if properties.receipt.is_received: + self._log.info('Receipt from %s %s', + properties.jid, + properties.receipt.id) + + jid = properties.jid + if not properties.is_muc_pm: + jid = jid.new_as_bare() + + app.storage.archive.set_marker( + app.get_jid_from_account(self._account), + jid, + properties.receipt.id, + 'received') + + app.nec.push_incoming_event( + NetworkEvent('receipt-received', + account=self._account, + jid=jid, + receipt_id=properties.receipt.id)) + + raise nbxmpp.NodeProcessed + + def _get_contact(self, properties): + if properties.is_muc_pm: + return app.contacts.get_gc_contact(self._account, + properties.jid.bare, + properties.jid.resource) + + contact = app.contacts.get_contact(self._account, + properties.jid.bare) + if contact is not None and contact.sub not in ('to', 'none'): + return contact + return None + + +def get_instance(*args, **kwargs): + return Receipts(*args, **kwargs), 'Receipts' diff --git a/gajim/common/modules/register.py b/gajim/common/modules/register.py new file mode 100644 index 0000000..cd030e7 --- /dev/null +++ b/gajim/common/modules/register.py @@ -0,0 +1,44 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0077: In-Band Registration + + +from nbxmpp.namespaces import Namespace + +from gajim.common.modules.base import BaseModule + + +class Register(BaseModule): + + _nbxmpp_extends = 'Register' + _nbxmpp_methods = [ + 'unregister', + 'change_password', + 'change_password_with_form', + 'request_register_form', + 'submit_register_form', + ] + + def __init__(self, con): + BaseModule.__init__(self, con) + + self.supported = False + + def pass_disco(self, info): + self.supported = Namespace.REGISTER in info.features + + +def get_instance(*args, **kwargs): + return Register(*args, **kwargs), 'Register' diff --git a/gajim/common/modules/roster.py b/gajim/common/modules/roster.py new file mode 100644 index 0000000..726d3d0 --- /dev/null +++ b/gajim/common/modules/roster.py @@ -0,0 +1,379 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# Roster + +from collections import namedtuple + +import nbxmpp +from nbxmpp.namespaces import Namespace +from nbxmpp.structs import StanzaHandler + +from gajim.common import app +from gajim.common.nec import NetworkEvent +from gajim.common.modules.base import BaseModule + +RosterItem = namedtuple('RosterItem', 'jid data') + + +class Roster(BaseModule): + def __init__(self, con): + BaseModule.__init__(self, con) + + self.handlers = [ + StanzaHandler(name='iq', + callback=self._roster_push_received, + typ='set', + ns=Namespace.ROSTER), + StanzaHandler(name='presence', + callback=self._presence_received), + ] + + self._data = {} + self._set = None + + def load_roster(self): + self._log.info('Load from database') + data = app.storage.cache.load_roster(self._account) + if data: + self.set_raw(data) + for jid, item in self._data.items(): + self._log.debug('%s: %s', jid, item) + app.nec.push_incoming_event(NetworkEvent( + 'roster-info', + conn=self._con, + jid=jid, + nickname=item['name'], + sub=item['subscription'], + ask=item['ask'], + groups=item['groups'], + avatar_sha=item.get('avatar_sha'))) + else: + self._log.info('Database empty, reset roster version') + app.settings.set_account_setting( + self._account, 'roster_version', '') + + app.nec.push_incoming_event(NetworkEvent( + 'roster-received', + conn=self._con, + roster=self._data.copy(), + received_from_server=False)) + + def _store_roster(self): + app.storage.cache.store_roster(self._account, self._data) + + def request_roster(self): + version = None + features = self._con.connection.features + if features.has_roster_version: + version = app.settings.get_account_setting(self._account, + 'roster_version') + + self._log.info('Requested from server') + iq = nbxmpp.Iq('get', Namespace.ROSTER) + if version is not None: + iq.setTagAttr('query', 'ver', version) + self._log.info('Request version: %s', version) + self._con.connection.SendAndCallForResponse( + iq, self._roster_received) + + def _roster_received(self, _nbxmpp_client, stanza): + if not nbxmpp.isResultNode(stanza): + self._log.warning('Unable to retrieve roster: %s', + stanza.getError()) + else: + self._log.info('Received Roster') + received_from_server = False + if stanza.getTag('query') is not None: + # clear Roster + self._data = {} + version = self._parse_roster(stanza) + + self._log.info('New version: %s', version) + self._store_roster() + app.settings.set_account_setting(self._account, + 'roster_version', + version) + + received_from_server = True + + app.nec.push_incoming_event(NetworkEvent( + 'roster-received', + conn=self._con, + roster=self._data.copy(), + received_from_server=received_from_server)) + + self._con.connect_machine() + + def _roster_push_received(self, _con, stanza, _properties): + self._log.info('Push received') + + sender = stanza.getFrom() + if sender is not None: + if not self._con.get_own_jid().bare_match(sender): + self._log.warning('Wrong JID %s', stanza.getFrom()) + return + + push_items, version = self._parse_push(stanza) + + self._ack_roster_push(stanza) + + for item in push_items: + attrs = item.data + app.nec.push_incoming_event(NetworkEvent( + 'roster-info', + conn=self._con, + jid=item.jid, + nickname=attrs['name'], + sub=attrs['subscription'], + ask=attrs['ask'], + groups=attrs['groups'], + avatar_sha=None)) + + self._store_roster() + + self._log.info('New version: %s', version) + app.settings.set_account_setting(self._account, + 'roster_version', + version) + + raise nbxmpp.NodeProcessed + + def _parse_roster(self, stanza): + query = stanza.getTag('query') + version = query.getAttr('ver') + + for item in query.getTags('item'): + jid = item.getAttr('jid') + self._data[jid] = self._get_item_attrs(item) + self._log.info('Item %s: %s', jid, self._data[jid]) + return version + + @staticmethod + def _get_item_attrs(item, update=False): + ''' + update: True + Omit avatar_sha from the returned attrs + + update: False + Include the default value from avatar_sha in the returned attrs + ''' + + default_attrs = {'name': None, + 'ask': None, + 'subscription': None, + 'groups': []} + + if not update: + default_attrs['avatar_sha'] = None + + attrs = item.getAttrs() + del attrs['jid'] + groups = {group.getData() for group in item.getTags('group')} + attrs['groups'] = list(groups) + + default_attrs.update(attrs) + return default_attrs + + def _parse_push(self, stanza): + query = stanza.getTag('query') + version = query.getAttr('ver') + push_items = [] + + for item in query.getTags('item'): + push_items.append(self._update_roster_item(item)) + for item in push_items: + self._log.info('Push: %s', item) + return push_items, version + + def _update_roster_item(self, item): + jid = item.getAttr('jid') + + if item.getAttr('subscription') == 'remove': + self._data.pop(jid, None) + attrs = self._get_item_attrs(item) + return RosterItem(jid, attrs) + + if jid not in self._data: + self._data[jid] = self._get_item_attrs(item) + else: + self._data[jid].update(self._get_item_attrs(item, update=True)) + + return RosterItem(jid, self._data[jid]) + + def _ack_roster_push(self, stanza): + iq = nbxmpp.Iq('result', + to=stanza.getFrom(), + frm=stanza.getTo(), + attrs={'id': stanza.getID()}) + self._con.connection.send(iq) + + def _presence_received(self, _con, pres, _properties): + ''' + Add contacts that request subscription to our internal + roster and also to the database. The contact is put into the + 'Not in contact list' group and because we save it to the database + it is also after a restart available. + ''' + + if pres.getType() != 'subscribe': + return + + jid = pres.getFrom().bare + + if jid in self._data: + return + + self._log.info('Add Contact from presence %s', jid) + self._data[jid] = {'name': None, + 'ask': None, + 'subscription': + 'none', + 'groups': ['Not in contact list']} + + self._store_roster() + + def _get_item_data(self, jid, dataname): + """ + Return specific jid's representation in internal format. + """ + jid = jid[:(jid + '/').find('/')] + return self._data[jid][dataname] + + def del_item(self, jid): + """ + Delete contact 'jid' from roster + """ + self._con.connection.send( + nbxmpp.Iq('set', Namespace.ROSTER, payload=[ + nbxmpp.Node('item', {'jid': jid, 'subscription': 'remove'})])) + + def get_groups(self, jid): + """ + Return groups list that contact 'jid' belongs to + """ + return self._get_item_data(jid, 'groups') + + def get_name(self, jid): + """ + Return name of contact 'jid' + """ + return self._get_item_data(jid, 'name') + + def update_contact(self, jid, name, groups): + if app.account_is_available(self._account): + self.set_item(jid=jid, name=name, groups=groups) + + def update_contacts(self, contacts): + """ + Update multiple roster items + """ + if app.account_is_available(self._account): + self.set_item_multi(contacts) + + def set_item(self, jid, name=None, groups=None): + """ + Rename contact 'jid' and sets the groups list that it now belongs to + """ + iq = nbxmpp.Iq('set', Namespace.ROSTER) + query = iq.getTag('query') + attrs = {'jid': jid} + if name: + attrs['name'] = name + item = query.setTag('item', attrs) + if groups is not None: + for group in groups: + item.addChild(node=nbxmpp.Node('group', payload=[group])) + self._con.connection.send(iq) + + def set_item_multi(self, items): + """ + Rename multiple contacts and sets their group lists + """ + for i in items: + iq = nbxmpp.Iq('set', Namespace.ROSTER) + query = iq.getTag('query') + attrs = {'jid': i['jid']} + if i['name']: + attrs['name'] = i['name'] + item = query.setTag('item', attrs) + for group in i['groups']: + item.addChild(node=nbxmpp.Node('group', payload=[group])) + self._con.connection.send(iq) + + def get_items(self): + """ + Return list of all [bare] JIDs that the roster is currently tracks + """ + return list(self._data.keys()) + + def keys(self): + """ + Same as get_items. Provided for the sake of dictionary interface + """ + return list(self._data.keys()) + + def __getitem__(self, item): + """ + Get the contact in the internal format. + Raises KeyError if JID 'item' is not in roster + """ + return self._data[item] + + def get_item(self, item): + """ + Get the contact in the internal format (or None if JID 'item' is not in + roster) + """ + if item in self._data: + return self._data[item] + return None + + def unsubscribe(self, jid): + """ + Ask for removing our subscription for JID 'jid' + """ + self._con.connection.send(nbxmpp.Presence(jid, 'unsubscribe')) + + def get_raw(self): + """ + Return the internal data representation of the roster + """ + return self._data + + def set_raw(self, data): + """ + Set the internal data representation of the roster + """ + own_jid = self._con.get_own_jid().bare + self._data = data + self._data[own_jid] = { + 'resources': {}, + 'name': None, + 'ask': None, + 'subscription': None, + 'groups': None, + 'avatar_sha': None + } + + def set_avatar_sha(self, jid, sha): + if jid not in self._data: + return + + self._data[jid]['avatar_sha'] = sha + self._store_roster() + + +def get_instance(*args, **kwargs): + return Roster(*args, **kwargs), 'Roster' diff --git a/gajim/common/modules/roster_item_exchange.py b/gajim/common/modules/roster_item_exchange.py new file mode 100644 index 0000000..5839206 --- /dev/null +++ b/gajim/common/modules/roster_item_exchange.py @@ -0,0 +1,130 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0144: Roster Item Exchange + +import nbxmpp +from nbxmpp.namespaces import Namespace +from nbxmpp.structs import StanzaHandler + +from gajim.common import app +from gajim.common import helpers +from gajim.common.i18n import _ +from gajim.common.nec import NetworkIncomingEvent +from gajim.common.modules.base import BaseModule + + +class RosterItemExchange(BaseModule): + def __init__(self, con): + BaseModule.__init__(self, con) + + self.handlers = [ + StanzaHandler(name='iq', + callback=self.received_item, + typ='set', + ns=Namespace.ROSTERX), + StanzaHandler(name='message', + callback=self.received_item, + ns=Namespace.ROSTERX), + ] + + def received_item(self, _con, stanza, _properties): + # stanza can be a message or a iq + + self._log.info('Received roster items from %s', stanza.getFrom()) + + exchange_items_list = {} + items_list = stanza.getTag( + 'x', namespace=Namespace.ROSTERX).getChildren() + if items_list is None: + raise nbxmpp.NodeProcessed + + action = items_list[0].getAttr('action') + if not action: + action = 'add' + + for item in items_list: + try: + jid = helpers.parse_jid(item.getAttr('jid')) + except helpers.InvalidFormat: + self._log.warning('Invalid JID: %s, ignoring it', + item.getAttr('jid')) + continue + name = item.getAttr('name') + contact = app.contacts.get_contact(self._account, jid) + groups = [] + same_groups = True + for group in item.getTags('group'): + groups.append(group.getData()) + # check that all suggested groups are in the groups we have for + # this contact + if not contact or group not in contact.groups: + same_groups = False + if contact: + # check that all groups we have for this contact are in the + # suggested groups + for group in contact.groups: + if group not in groups: + same_groups = False + if contact.sub in ('both', 'to') and same_groups: + continue + exchange_items_list[jid] = [name, groups] + + if not exchange_items_list: + raise nbxmpp.NodeProcessed + + self._log.info('Items: %s', exchange_items_list) + + app.nec.push_incoming_event(RosterItemExchangeEvent( + None, conn=self._con, + fjid=str(stanza.getFrom()), + exchange_items_list=exchange_items_list, + action=action)) + + raise nbxmpp.NodeProcessed + + def send_contacts(self, contacts, fjid, type_='message'): + if not app.account_is_available(self._account): + return + + if type_ == 'message': + if len(contacts) == 1: + msg = _('Sent contact: "%(jid)s" (%(name)s)') % { + 'jid': contacts[0].get_full_jid(), + 'name': contacts[0].get_shown_name()} + else: + msg = _('Sent contacts:') + for contact in contacts: + msg += '\n "%s" (%s)' % (contact.get_full_jid(), + contact.get_shown_name()) + stanza = nbxmpp.Message(to=app.get_jid_without_resource(fjid), + body=msg) + elif type_ == 'iq': + stanza = nbxmpp.Iq(to=fjid, typ='set') + xdata = stanza.addChild(name='x', namespace=Namespace.ROSTERX) + for contact in contacts: + name = contact.get_shown_name() + xdata.addChild(name='item', attrs={'action': 'add', + 'jid': contact.jid, + 'name': name}) + self._log.info('Send contact: %s %s', contact.jid, name) + self._con.connection.send(stanza) + + +class RosterItemExchangeEvent(NetworkIncomingEvent): + name = 'roster-item-exchange-received' + + +def get_instance(*args, **kwargs): + return RosterItemExchange(*args, **kwargs), 'RosterItemExchange' diff --git a/gajim/common/modules/search.py b/gajim/common/modules/search.py new file mode 100644 index 0000000..7cf4183 --- /dev/null +++ b/gajim/common/modules/search.py @@ -0,0 +1,111 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0055: Jabber Search + +import nbxmpp +from nbxmpp.namespaces import Namespace + +from gajim.common import app +from gajim.common.nec import NetworkIncomingEvent +from gajim.common.modules.base import BaseModule + + +class Search(BaseModule): + def __init__(self, con): + BaseModule.__init__(self, con) + + def request_search_fields(self, jid): + self._log.info('Request search fields from %s', jid) + iq = nbxmpp.Iq(typ='get', to=jid, queryNS=Namespace.SEARCH) + self._con.connection.SendAndCallForResponse(iq, self._fields_received) + + def _fields_received(self, _nbxmpp_client, stanza): + data = None + is_dataform = False + + if nbxmpp.isResultNode(stanza): + self._log.info('Received search fields from %s', stanza.getFrom()) + tag = stanza.getTag('query', namespace=Namespace.SEARCH) + if tag is None: + self._log.info('Invalid stanza: %s', stanza) + return + + data = tag.getTag('x', namespace=Namespace.DATA) + if data is not None: + is_dataform = True + else: + data = {} + for i in stanza.getQueryPayload(): + data[i.getName()] = i.getData() + else: + self._log.info('Error: %s', stanza.getError()) + + app.nec.push_incoming_event( + SearchFormReceivedEvent(None, conn=self._con, + is_dataform=is_dataform, + data=data)) + + def send_search_form(self, jid, form, is_form): + iq = nbxmpp.Iq(typ='set', to=jid, queryNS=Namespace.SEARCH) + item = iq.setQuery() + if is_form: + item.addChild(node=form) + else: + for i in form.keys(): + item.setTagData(i, form[i]) + + self._con.connection.SendAndCallForResponse(iq, self._received_result) + + def _received_result(self, _nbxmpp_client, stanza): + data = None + is_dataform = False + + if nbxmpp.isResultNode(stanza): + self._log.info('Received result from %s', stanza.getFrom()) + tag = stanza.getTag('query', namespace=Namespace.SEARCH) + if tag is None: + self._log.info('Invalid stanza: %s', stanza) + return + + data = tag.getTag('x', namespace=Namespace.DATA) + if data is not None: + is_dataform = True + else: + data = [] + for item in tag.getTags('item'): + # We also show attributes. jid is there + field = item.attrs + for i in item.getPayload(): + field[i.getName()] = i.getData() + data.append(field) + else: + self._log.info('Error: %s', stanza.getError()) + + app.nec.push_incoming_event( + SearchResultReceivedEvent(None, conn=self._con, + is_dataform=is_dataform, + data=data)) + + +class SearchFormReceivedEvent(NetworkIncomingEvent): + name = 'search-form-received' + + +class SearchResultReceivedEvent(NetworkIncomingEvent): + name = 'search-result-received' + + +def get_instance(*args, **kwargs): + return Search(*args, **kwargs), 'Search' diff --git a/gajim/common/modules/security_labels.py b/gajim/common/modules/security_labels.py new file mode 100644 index 0000000..98970f7 --- /dev/null +++ b/gajim/common/modules/security_labels.py @@ -0,0 +1,70 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0258: Security Labels in XMPP + +from nbxmpp.namespaces import Namespace +from nbxmpp.errors import is_error + +from gajim.common import app +from gajim.common.nec import NetworkEvent +from gajim.common.modules.base import BaseModule +from gajim.common.modules.util import as_task + + +class SecLabels(BaseModule): + + _nbxmpp_extends = 'SecurityLabels' + _nbxmpp_methods = [ + 'request_catalog', + ] + + def __init__(self, con): + BaseModule.__init__(self, con) + + self._catalogs = {} + self.supported = False + + def pass_disco(self, info): + if Namespace.SECLABEL not in info.features: + return + + self.supported = True + self._log.info('Discovered security labels: %s', info.jid) + + @as_task + def request_catalog(self, jid): + _task = yield + + catalog = yield self._nbxmpp('SecurityLabels').request_catalog(jid) + + if is_error(catalog): + self._log.info(catalog) + return + + self._catalogs[jid] = catalog + + self._log.info('Received catalog: %s', jid) + + app.nec.push_incoming_event(NetworkEvent('sec-catalog-received', + account=self._account, + jid=jid, + catalog=catalog)) + + def get_catalog(self, jid): + return self._catalogs.get(jid) + + +def get_instance(*args, **kwargs): + return SecLabels(*args, **kwargs), 'SecLabels' diff --git a/gajim/common/modules/software_version.py b/gajim/common/modules/software_version.py new file mode 100644 index 0000000..031bb4b --- /dev/null +++ b/gajim/common/modules/software_version.py @@ -0,0 +1,46 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0092: Software Version + +from gajim.common import app +from gajim.common.helpers import get_os_info +from gajim.common.modules.base import BaseModule + + +class SoftwareVersion(BaseModule): + + _nbxmpp_extends = 'SoftwareVersion' + _nbxmpp_methods = [ + 'set_software_version', + 'request_software_version', + 'disable', + ] + + def __init__(self, con): + BaseModule.__init__(self, con) + + def set_enabled(self, enabled): + if enabled: + if not app.settings.get_account_setting(self._account, + 'send_os_info'): + return + self._nbxmpp('SoftwareVersion').set_software_version( + 'Gajim', app.version, get_os_info()) + else: + self._nbxmpp('SoftwareVersion').disable() + + +def get_instance(*args, **kwargs): + return SoftwareVersion(*args, **kwargs), 'SoftwareVersion' diff --git a/gajim/common/modules/user_activity.py b/gajim/common/modules/user_activity.py new file mode 100644 index 0000000..4efed26 --- /dev/null +++ b/gajim/common/modules/user_activity.py @@ -0,0 +1,91 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0108: User Activity + +from typing import Any +from typing import Tuple + +from nbxmpp.namespaces import Namespace +from nbxmpp.structs import ActivityData + +from gajim.common import app +from gajim.common.nec import NetworkEvent +from gajim.common.modules.base import BaseModule +from gajim.common.modules.util import event_node +from gajim.common.const import PEPEventType + + +class UserActivity(BaseModule): + + _nbxmpp_extends = 'Activity' + _nbxmpp_methods = [ + 'set_activity', + ] + + def __init__(self, con): + BaseModule.__init__(self, con) + self._register_pubsub_handler(self._activity_received) + + self._current_activity = None + + def get_current_activity(self): + return self._current_activity + + @event_node(Namespace.ACTIVITY) + def _activity_received(self, _con, _stanza, properties): + if properties.pubsub_event.retracted: + return + + data = properties.pubsub_event.data + for contact in app.contacts.get_contacts(self._account, + str(properties.jid)): + if data is not None: + contact.pep[PEPEventType.ACTIVITY] = data + else: + contact.pep.pop(PEPEventType.ACTIVITY, None) + + if properties.is_self_message: + if data is not None: + self._con.pep[PEPEventType.ACTIVITY] = data + else: + self._con.pep.pop(PEPEventType.ACTIVITY, None) + self._current_activity = data + + app.nec.push_incoming_event( + NetworkEvent('activity-received', + account=self._account, + jid=properties.jid.bare, + activity=data, + is_self_message=properties.is_self_message)) + + def set_activity(self, activity): + if activity is not None: + activity = ActivityData(*activity, None) + + if activity == self._current_activity: + return + + self._current_activity = activity + + if activity is None: + self._log.info('Remove user activity') + else: + self._log.info('Set %s', activity) + + self._nbxmpp('Activity').set_activity(activity) + + +def get_instance(*args: Any, **kwargs: Any) -> Tuple[UserActivity, str]: + return UserActivity(*args, **kwargs), 'UserActivity' diff --git a/gajim/common/modules/user_avatar.py b/gajim/common/modules/user_avatar.py new file mode 100644 index 0000000..c5c36bf --- /dev/null +++ b/gajim/common/modules/user_avatar.py @@ -0,0 +1,99 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0084: User Avatar + +from nbxmpp.namespaces import Namespace +from nbxmpp.modules.util import is_error + +from gajim.common import app +from gajim.common.modules.base import BaseModule +from gajim.common.modules.util import event_node +from gajim.common.modules.util import as_task + +class UserAvatar(BaseModule): + + _nbxmpp_extends = 'UserAvatar' + _nbxmpp_methods = [ + 'request_avatar_metadata', + 'request_avatar_data', + 'set_avatar', + 'set_access_model' + ] + + def __init__(self, con): + BaseModule.__init__(self, con) + self._register_pubsub_handler(self._avatar_metadata_received) + + @event_node(Namespace.AVATAR_METADATA) + def _avatar_metadata_received(self, _con, _stanza, properties): + if properties.pubsub_event.retracted: + return + + metadata = properties.pubsub_event.data + jid = str(properties.jid) + + if metadata is None or not metadata.infos: + self._log.info('No avatar published: %s', jid) + app.contacts.set_avatar(self._account, jid, None) + self._con.get_module('Roster').set_avatar_sha(jid, None) + app.interface.update_avatar(self._account, jid) + else: + if properties.is_self_message: + sha = app.settings.get_account_setting(self._account, + 'avatar_sha') + else: + sha = app.contacts.get_avatar_sha(self._account, jid) + + if sha in metadata.avatar_shas: + self._log.info('Avatar already known: %s %s', jid, sha) + return + + avatar_info = metadata.infos[0] + self._log.info('Request: %s %s', jid, avatar_info.id) + self._request_avatar_data(jid, avatar_info) + + @as_task + def _request_avatar_data(self, jid, avatar_info): + _task = yield + + avatar = yield self._nbxmpp('UserAvatar').request_avatar_data( + avatar_info.id, jid=jid) + + if avatar is None: + self._log.warning('%s advertised %s but data node is empty', + jid, avatar_info.id) + return + + if is_error(avatar): + self._log.warning(avatar) + return + + self._log.info('Received Avatar: %s %s', jid, avatar.sha) + app.interface.save_avatar(avatar.data) + + if self._con.get_own_jid().bare_match(jid): + app.settings.set_account_setting(self._account, + 'avatar_sha', + avatar.sha) + else: + self._con.get_module('Roster').set_avatar_sha( + str(jid), avatar.sha) + + app.contacts.set_avatar(self._account, str(jid), avatar.sha) + app.interface.update_avatar(self._account, str(jid)) + + +def get_instance(*args, **kwargs): + return UserAvatar(*args, **kwargs), 'UserAvatar' diff --git a/gajim/common/modules/user_location.py b/gajim/common/modules/user_location.py new file mode 100644 index 0000000..2705d82 --- /dev/null +++ b/gajim/common/modules/user_location.py @@ -0,0 +1,78 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0080: User Location + +from nbxmpp.namespaces import Namespace + +from gajim.common import app +from gajim.common.nec import NetworkEvent +from gajim.common.modules.base import BaseModule +from gajim.common.modules.util import event_node +from gajim.common.modules.util import store_publish +from gajim.common.const import PEPEventType + + +class UserLocation(BaseModule): + + _nbxmpp_extends = 'Location' + _nbxmpp_methods = [ + 'set_location', + ] + + def __init__(self, con): + BaseModule.__init__(self, con) + self._register_pubsub_handler(self._location_received) + + self._current_location = None + + def get_current_location(self): + return self._current_location + + @event_node(Namespace.LOCATION) + def _location_received(self, _con, _stanza, properties): + if properties.pubsub_event.retracted: + return + + data = properties.pubsub_event.data + for contact in app.contacts.get_contacts(self._account, + str(properties.jid)): + if data is not None: + contact.pep[PEPEventType.LOCATION] = data + else: + contact.pep.pop(PEPEventType.LOCATION, None) + + if properties.is_self_message: + if data is not None: + self._con.pep[PEPEventType.LOCATION] = data + else: + self._con.pep.pop(PEPEventType.LOCATION, None) + self._current_location = data + + app.nec.push_incoming_event( + NetworkEvent('location-received', + account=self._account, + jid=properties.jid.bare, + location=data, + is_self_message=properties.is_self_message)) + + @store_publish + def set_location(self, location): + self._current_location = location + self._log.info('Send %s', location) + self._nbxmpp('Location').set_location(location) + + +def get_instance(*args, **kwargs): + return UserLocation(*args, **kwargs), 'UserLocation' diff --git a/gajim/common/modules/user_mood.py b/gajim/common/modules/user_mood.py new file mode 100644 index 0000000..1ca843d --- /dev/null +++ b/gajim/common/modules/user_mood.py @@ -0,0 +1,91 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0107: User Mood + +from typing import Any +from typing import Tuple + +from nbxmpp.namespaces import Namespace +from nbxmpp.structs import MoodData + +from gajim.common import app +from gajim.common.nec import NetworkEvent +from gajim.common.modules.base import BaseModule +from gajim.common.modules.util import event_node +from gajim.common.const import PEPEventType + + +class UserMood(BaseModule): + + _nbxmpp_extends = 'Mood' + _nbxmpp_methods = [ + 'set_mood', + ] + + def __init__(self, con): + BaseModule.__init__(self, con) + self._register_pubsub_handler(self._mood_received) + + self._current_mood = None + + def get_current_mood(self): + return self._current_mood + + @event_node(Namespace.MOOD) + def _mood_received(self, _con, _stanza, properties): + if properties.pubsub_event.retracted: + return + + data = properties.pubsub_event.data + for contact in app.contacts.get_contacts(self._account, + str(properties.jid)): + if data is not None: + contact.pep[PEPEventType.MOOD] = data + else: + contact.pep.pop(PEPEventType.MOOD, None) + + if properties.is_self_message: + if data is not None: + self._con.pep[PEPEventType.MOOD] = data + else: + self._con.pep.pop(PEPEventType.MOOD, None) + self._current_mood = data + + app.nec.push_incoming_event( + NetworkEvent('mood-received', + account=self._account, + jid=properties.jid.bare, + mood=data, + is_self_message=properties.is_self_message)) + + def set_mood(self, mood): + if mood is not None: + mood = MoodData(mood, None) + + if mood == self._current_mood: + return + + self._current_mood = mood + + if mood is None: + self._log.info('Remove user mood') + else: + self._log.info('Set %s', mood) + + self._nbxmpp('Mood').set_mood(mood) + + +def get_instance(*args: Any, **kwargs: Any) -> Tuple[UserMood, str]: + return UserMood(*args, **kwargs), 'UserMood' diff --git a/gajim/common/modules/user_nickname.py b/gajim/common/modules/user_nickname.py new file mode 100644 index 0000000..93766b6 --- /dev/null +++ b/gajim/common/modules/user_nickname.py @@ -0,0 +1,65 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0172: User Nickname + +from typing import Any +from typing import Tuple + +from nbxmpp.namespaces import Namespace + +from gajim.common import app +from gajim.common.nec import NetworkEvent +from gajim.common.modules.base import BaseModule +from gajim.common.modules.util import event_node + + +class UserNickname(BaseModule): + + _nbxmpp_extends = 'Nickname' + _nbxmpp_methods = [ + 'set_nickname', + 'set_access_model', + ] + + def __init__(self, con): + BaseModule.__init__(self, con) + self._register_pubsub_handler(self._nickname_received) + + @event_node(Namespace.NICK) + def _nickname_received(self, _con, _stanza, properties): + if properties.pubsub_event.retracted: + return + + nick = properties.pubsub_event.data + if properties.is_self_message: + if nick is None: + nick = app.settings.get_account_setting(self._account, 'name') + app.nicks[self._account] = nick + + for contact in app.contacts.get_contacts(self._account, + str(properties.jid)): + contact.contact_name = nick + + self._log.info('Nickname for %s: %s', properties.jid, nick) + + app.nec.push_incoming_event( + NetworkEvent('nickname-received', + account=self._account, + jid=properties.jid.bare, + nickname=nick)) + + +def get_instance(*args: Any, **kwargs: Any) -> Tuple[UserNickname, str]: + return UserNickname(*args, **kwargs), 'UserNickname' diff --git a/gajim/common/modules/user_tune.py b/gajim/common/modules/user_tune.py new file mode 100644 index 0000000..ab0ed6e --- /dev/null +++ b/gajim/common/modules/user_tune.py @@ -0,0 +1,124 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0118: User Tune + +from typing import Any +from typing import Tuple + +from nbxmpp.namespaces import Namespace + +from gajim.common import app +from gajim.common import ged +from gajim.common.nec import NetworkEvent +from gajim.common.modules.base import BaseModule +from gajim.common.modules.util import event_node +from gajim.common.modules.util import store_publish +from gajim.common.const import PEPEventType +from gajim.common.dbus.music_track import MusicTrackListener +from gajim.common.helpers import event_filter + + +class UserTune(BaseModule): + + _nbxmpp_extends = 'Tune' + _nbxmpp_methods = [ + 'set_tune', + ] + + def __init__(self, con): + BaseModule.__init__(self, con) + self._register_pubsub_handler(self._tune_received) + self._tune_data = None + + self.register_events([ + ('music-track-changed', ged.CORE, self._on_music_track_changed), + ('signed-in', ged.CORE, self._on_signed_in), + ]) + + def get_current_tune(self): + return self._tune_data + + @event_node(Namespace.TUNE) + def _tune_received(self, _con, _stanza, properties): + if properties.pubsub_event.retracted: + return + + data = properties.pubsub_event.data + for contact in app.contacts.get_contacts(self._account, + str(properties.jid)): + if data is not None: + contact.pep[PEPEventType.TUNE] = data + else: + contact.pep.pop(PEPEventType.TUNE, None) + + if properties.is_self_message: + if data is not None: + self._con.pep[PEPEventType.TUNE] = data + else: + self._con.pep.pop(PEPEventType.TUNE, None) + self._tune_data = data + + app.nec.push_incoming_event( + NetworkEvent('tune-received', + account=self._account, + jid=properties.jid.bare, + tune=data, + is_self_message=properties.is_self_message)) + + @store_publish + def set_tune(self, tune): + if not self._con.get_module('PEP').supported: + return + + if not app.settings.get_account_setting(self._account, 'publish_tune'): + return + + if tune == self._tune_data: + return + + self._tune_data = tune + + self._log.info('Send %s', tune) + self._nbxmpp('Tune').set_tune(tune) + + def set_enabled(self, enable): + if enable: + app.settings.set_account_setting(self._account, + 'publish_tune', + True) + self._publish_current_tune() + + else: + self.set_tune(None) + app.settings.set_account_setting(self._account, + 'publish_tune', + False) + + def _publish_current_tune(self): + self.set_tune(MusicTrackListener.get().current_tune) + + @event_filter(['account']) + def _on_signed_in(self, _event): + self._publish_current_tune() + + def _on_music_track_changed(self, event): + if self._tune_data == event.info: + return + + self.set_tune(event.info) + + +def get_instance(*args: Any, **kwargs: Any) -> Tuple[UserTune, str]: + return UserTune(*args, **kwargs), 'UserTune' diff --git a/gajim/common/modules/util.py b/gajim/common/modules/util.py new file mode 100644 index 0000000..7a5adcb --- /dev/null +++ b/gajim/common/modules/util.py @@ -0,0 +1,106 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# Util module + +from typing import Union + +from logging import LoggerAdapter +from functools import wraps +from functools import partial + +from nbxmpp.task import Task + +from gajim.common import app +from gajim.common.const import EME_MESSAGES + + +def from_xs_boolean(value: Union[str, bool]) -> bool: + if isinstance(value, bool): + return value + + if value in ('1', 'true', 'True'): + return True + + if value in ('0', 'false', 'False', ''): + return False + + raise ValueError('Cant convert %s to python boolean' % value) + + +def to_xs_boolean(value: Union[bool, None]) -> str: + # Convert to xs:boolean ('true', 'false') + # from a python boolean (True, False) or None + if value is True: + return 'true' + + if value is False: + return 'false' + + if value is None: + return 'false' + + raise ValueError( + 'Cant convert %s to xs:boolean' % value) + + +def event_node(node): + def event_node_decorator(func): + @wraps(func) + def func_wrapper(self, _con, _stanza, properties): + if not properties.is_pubsub_event: + return + if properties.pubsub_event.node != node: + return + func(self, _con, _stanza, properties) + + return func_wrapper + return event_node_decorator + + +def store_publish(func): + @wraps(func) + def func_wrapper(self, *args, **kwargs): + # pylint: disable=protected-access + if not app.account_is_connected(self._account): + self._stored_publish = partial(func, self, *args, **kwargs) + return None + return func(self, *args, **kwargs) + return func_wrapper + + +def get_eme_message(eme_data): + try: + return EME_MESSAGES[eme_data.namespace] + except KeyError: + return EME_MESSAGES['fallback'] % eme_data.name + + +class LogAdapter(LoggerAdapter): + def process(self, msg, kwargs): + return '(%s) %s' % (self.extra['account'], msg), kwargs + + +def as_task(func): + @wraps(func) + def func_wrapper(self, *args, callback=None, user_data=None, **kwargs): + task_ = Task(func(self, *args, **kwargs)) + app.register_task(self, task_) + task_.set_finalize_func(app.remove_task, id(self)) + task_.set_user_data(user_data) + if callback is not None: + task_.add_done_callback(callback) + task_.start() + return task_ + return func_wrapper diff --git a/gajim/common/modules/vcard4.py b/gajim/common/modules/vcard4.py new file mode 100644 index 0000000..8d2b697 --- /dev/null +++ b/gajim/common/modules/vcard4.py @@ -0,0 +1,33 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0292: vCard4 Over XMPP + +from gajim.common.modules.base import BaseModule + + +class VCard4(BaseModule): + + _nbxmpp_extends = 'VCard4' + _nbxmpp_methods = [ + 'request_vcard', + 'set_vcard', + ] + + def __init__(self, con): + BaseModule.__init__(self, con) + + +def get_instance(*args, **kwargs): + return VCard4(*args, **kwargs), 'VCard4' diff --git a/gajim/common/modules/vcard_avatars.py b/gajim/common/modules/vcard_avatars.py new file mode 100644 index 0000000..e59bcb9 --- /dev/null +++ b/gajim/common/modules/vcard_avatars.py @@ -0,0 +1,204 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0153: vCard-Based Avatars + +from nbxmpp.namespaces import Namespace +from nbxmpp.structs import StanzaHandler +from nbxmpp.const import AvatarState +from nbxmpp.modules.util import is_error + +from gajim.common import app +from gajim.common.modules.base import BaseModule +from gajim.common.modules.util import as_task + + +class VCardAvatars(BaseModule): + def __init__(self, con): + BaseModule.__init__(self, con) + self._requested_shas = [] + + self.handlers = [ + StanzaHandler(name='presence', + callback=self._presence_received, + ns=Namespace.VCARD_UPDATE, + priority=51), + ] + + self.avatar_conversion_available = False + + def pass_disco(self, info): + is_available = Namespace.VCARD_CONVERSION in info.features + self.avatar_conversion_available = is_available + self._log.info('Discovered Avatar Conversion') + + @as_task + def _request_vcard(self, jid, expected_sha, type_): + _task = yield + + vcard = yield self._con.get_module('VCardTemp').request_vcard(jid=jid) + + if is_error(vcard): + self._log.warning(vcard) + return + + avatar, avatar_sha = vcard.get_avatar() + if avatar is None: + self._log.warning('Avatar missing: %s %s', jid, expected_sha) + return + + if expected_sha != avatar_sha: + self._log.warning('Avatar mismatch: %s %s != %s', + jid, + expected_sha, + avatar_sha) + return + + self._log.info('Received: %s %s', jid, avatar_sha) + app.interface.save_avatar(avatar) + + if type_ == 'contact': + self._con.get_module('Roster').set_avatar_sha(jid, avatar_sha) + app.contacts.set_avatar(self._account, jid, avatar_sha) + app.interface.update_avatar(self._account, jid) + + elif type_ == 'muc': + app.storage.cache.set_muc_avatar_sha(jid, avatar_sha) + app.contacts.set_avatar(self._account, jid, avatar_sha) + app.interface.update_avatar(self._account, jid, room_avatar=True) + + elif type_ == 'muc-user': + contact = app.contacts.get_gc_contact(self._account, + jid.bare, + jid.resource) + if contact is not None: + contact.avatar_sha = avatar_sha + app.interface.update_avatar(contact=contact) + + def _presence_received(self, _con, _stanza, properties): + if not properties.type.is_available: + return + + if properties.avatar_state in (AvatarState.IGNORE, + AvatarState.NOT_READY): + return + + if self._con.get_own_jid().bare_match(properties.jid): + return + + if properties.from_muc: + self._gc_update_received(properties) + else: + # Check if presence is from a MUC service + contact = app.contacts.get_groupchat_contact(self._account, + str(properties.jid)) + self._update_received(properties, room=contact is not None) + + def muc_disco_info_update(self, disco_info): + if not disco_info.supports(Namespace.VCARD): + return + + field_var = '{http://modules.prosody.im/mod_vcard_muc}avatar#sha1' + if not disco_info.has_field(Namespace.MUC_INFO, field_var): + # Workaround so we don’t delete the avatar for servers that don’t + # support sha in disco info. Once there is a accepted XEP this + # can be removed + return + + avatar_sha = disco_info.get_field_value(Namespace.MUC_INFO, field_var) + state = AvatarState.EMPTY if not avatar_sha else AvatarState.ADVERTISED + self._process_update(str(disco_info.jid), state, avatar_sha, True) + + def _update_received(self, properties, room=False): + self._process_update(properties.jid.bare, + properties.avatar_state, + properties.avatar_sha, + room) + + def _process_update(self, jid, state, avatar_sha, room): + if state == AvatarState.EMPTY: + # Empty tag, means no avatar is advertised + self._log.info('%s has no avatar published', jid) + app.contacts.set_avatar(self._account, jid, None) + + if room: + app.storage.cache.set_muc_avatar_sha(jid, None) + else: + self._con.get_module('Roster').set_avatar_sha(jid, None) + app.interface.update_avatar(self._account, jid, room_avatar=room) + else: + self._log.info('Update: %s %s', jid, avatar_sha) + current_sha = app.contacts.get_avatar_sha(self._account, jid) + + if avatar_sha == current_sha: + self._log.info('Avatar already known: %s %s', jid, avatar_sha) + return + + if app.interface.avatar_exists(avatar_sha): + # Check if the avatar is already in storage + self._log.info('Found avatar in storage') + if room: + app.storage.cache.set_muc_avatar_sha(jid, avatar_sha) + else: + self._con.get_module('Roster').set_avatar_sha(jid, + avatar_sha) + app.contacts.set_avatar(self._account, jid, avatar_sha) + app.interface.update_avatar( + self._account, jid, room_avatar=room) + return + + if avatar_sha not in self._requested_shas: + self._requested_shas.append(avatar_sha) + if room: + self._request_vcard(jid, avatar_sha, 'muc') + else: + self._request_vcard(jid, avatar_sha, 'contact') + + def _gc_update_received(self, properties): + nick = properties.jid.resource + + gc_contact = app.contacts.get_gc_contact( + self._account, properties.jid.bare, nick) + + if gc_contact is None: + self._log.error('no gc contact found: %s', nick) + return + + if properties.avatar_state == AvatarState.EMPTY: + # Empty tag, means no avatar is advertised + self._log.info('%s has no avatar published', nick) + gc_contact.avatar_sha = None + app.interface.update_avatar(contact=gc_contact) + else: + self._log.info('Update: %s %s', nick, properties.avatar_sha) + if not app.interface.avatar_exists(properties.avatar_sha): + if properties.avatar_sha not in self._requested_shas: + app.log('avatar').info('Request: %s', nick) + self._requested_shas.append(properties.avatar_sha) + self._request_vcard(properties.jid, + properties.avatar_sha, + 'muc-user') + return + + if gc_contact.avatar_sha != properties.avatar_sha: + self._log.info('%s changed their Avatar: %s', + nick, properties.avatar_sha) + gc_contact.avatar_sha = properties.avatar_sha + app.interface.update_avatar(contact=gc_contact) + else: + self._log.info('Avatar already known: %s', nick) + + +def get_instance(*args, **kwargs): + return VCardAvatars(*args, **kwargs), 'VCardAvatars' diff --git a/gajim/common/modules/vcard_temp.py b/gajim/common/modules/vcard_temp.py new file mode 100644 index 0000000..91be1eb --- /dev/null +++ b/gajim/common/modules/vcard_temp.py @@ -0,0 +1,45 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# XEP-0054: vcard-temp + +from nbxmpp.namespaces import Namespace + +from gajim.common.modules.base import BaseModule + + +class VCardTemp(BaseModule): + + _nbxmpp_extends = 'VCardTemp' + _nbxmpp_methods = [ + 'request_vcard', + 'set_vcard', + ] + + def __init__(self, con): + BaseModule.__init__(self, con) + + self._own_vcard = None + self.supported = False + + def pass_disco(self, info): + if Namespace.VCARD not in info.features: + return + + self.supported = True + self._log.info('Discovered vcard-temp: %s', info.jid) + + +def get_instance(*args, **kwargs): + return VCardTemp(*args, **kwargs), 'VCardTemp' diff --git a/gajim/common/multimedia_helpers.py b/gajim/common/multimedia_helpers.py new file mode 100644 index 0000000..782d5fb --- /dev/null +++ b/gajim/common/multimedia_helpers.py @@ -0,0 +1,115 @@ +# Copyright (C) 2009 Thibaut GIRKA +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import logging + +try: + from gi.repository import Gst +except Exception: + pass + +from gajim.common.i18n import _ + +log = logging.getLogger('gajim.c.multimedia_helpers') + + +class DeviceManager: + def __init__(self): + self.devices = {} + + def detect(self): + self.devices = {} + + def get_devices(self): + if not self.devices: + self.detect() + return self.devices + + def detect_element(self, name, text, pipe='%s'): + if Gst.ElementFactory.find(name): + element = Gst.ElementFactory.make(name, '%spresencetest' % name) + if element is None: + log.warning('could not create %spresencetest', name) + return + if hasattr(element.props, 'device'): + element.set_state(Gst.State.READY) + devices = element.get_properties('device') + if devices: + self.devices[text % _('Default device')] = pipe % name + for device in devices: + if device is None: + continue + element.set_state(Gst.State.NULL) + element.set_property('device', device) + element.set_state(Gst.State.READY) + device_name = element.get_property('device-name') + self.devices[text % device_name] = pipe % \ + '%s device=%s' % (name, device) + element.set_state(Gst.State.NULL) + else: + self.devices[text] = pipe % name + else: + log.info('element %s not found', name) + + +class AudioInputManager(DeviceManager): + def detect(self): + self.devices = {} + # Test src + self.detect_element('audiotestsrc', _('Audio test'), + '%s is-live=true name=gajim_vol') + # Auto src + self.detect_element('autoaudiosrc', _('Autodetect'), + '%s ! volume name=gajim_vol') + # Alsa src + self.detect_element('alsasrc', _('ALSA: %s'), + '%s ! volume name=gajim_vol') + # Pulseaudio src + self.detect_element('pulsesrc', _('Pulse: %s'), + '%s ! volume name=gajim_vol') + + +class AudioOutputManager(DeviceManager): + def detect(self): + self.devices = {} + # Fake sink + self.detect_element('fakesink', _('Fake audio output')) + # Auto sink + self.detect_element('autoaudiosink', _('Autodetect')) + # Alsa sink + self.detect_element('alsasink', _('ALSA: %s'), '%s sync=false') + # Pulseaudio sink + self.detect_element('pulsesink', _('Pulse: %s'), '%s sync=true') + + +class VideoInputManager(DeviceManager): + def detect(self): + self.devices = {} + # Test src + self.detect_element('videotestsrc', _('Video test'), + '%s is-live=true ! video/x-raw,framerate=10/1 ! videoconvert') + # Auto src + self.detect_element('autovideosrc', _('Autodetect')) + # Best source on Linux, for both camera and screen sharing + self.detect_element('pipewiresrc', _('Pipewire')) + # Camera source on Linux + self.detect_element('v4l2src', _('V4L2: %s')) + # X11 screen sharing on Linux + self.detect_element('ximagesrc', _('X11')) + # Recommended source on Windows + self.detect_element('ksvideosrc', _('Windows')) + # Recommended source on OS X + self.detect_element('avfvideosrc', _('macOS')) diff --git a/gajim/common/nec.py b/gajim/common/nec.py new file mode 100644 index 0000000..2c64770 --- /dev/null +++ b/gajim/common/nec.py @@ -0,0 +1,199 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +''' +Network Events Controller. + +:author: Mateusz Biliński +:since: 10th August 2008 +:copyright: Copyright (2008) Mateusz Biliński +:copyright: Copyright (2011) Yann Leboulanger +:license: GPL +''' + +from typing import List # pylint: disable=unused-import + +from gajim.common import app + + +class NetworkEventsController: + def __init__(self): + self.incoming_events_generators = {} + ''' + Keys: names of events + Values: list of class objects that are subclasses + of `NetworkIncomingEvent` + ''' + self.outgoing_events_generators = {} + ''' + Keys: names of events + Values: list of class objects that are subclasses + of `NetworkOutgoingEvent` + ''' + + def register_incoming_event(self, event_class): + for base_event_name in event_class.base_network_events: + event_list = self.incoming_events_generators.setdefault( + base_event_name, []) + if event_class not in event_list: + event_list.append(event_class) + + def unregister_incoming_event(self, event_class): + for base_event_name in event_class.base_network_events: + if base_event_name in self.incoming_events_generators: + self.incoming_events_generators[base_event_name].remove( + event_class) + + def register_outgoing_event(self, event_class): + for base_event_name in event_class.base_network_events: + event_list = self.outgoing_events_generators.setdefault( + base_event_name, []) + if event_class not in event_list: + event_list.append(event_class) + + def unregister_outgoing_event(self, event_class): + for base_event_name in event_class.base_network_events: + if base_event_name in self.outgoing_events_generators: + self.outgoing_events_generators[base_event_name].remove( + event_class) + + def push_incoming_event(self, event_object): + if event_object.generate(): + if not app.ged.raise_event(event_object.name, event_object): + self._generate_events_based_on_incoming_event(event_object) + + def push_outgoing_event(self, event_object): + if event_object.generate(): + if not app.ged.raise_event(event_object.name, event_object): + self._generate_events_based_on_outgoing_event(event_object) + + def _generate_events_based_on_incoming_event(self, event_object): + ''' + :return: True if even_object should be dispatched through Global + Events Dispatcher, False otherwise. This can be used to replace + base events with those that more data computed (easier to use + by handlers). + :note: replacing mechanism is not implemented currently, but will be + based on attribute in new network events object. + ''' + base_event_name = event_object.name + if base_event_name in self.incoming_events_generators: + for new_event_class in self.incoming_events_generators[ + base_event_name]: + new_event_object = new_event_class( + None, base_event=event_object) + if new_event_object.generate(): + if not app.ged.raise_event(new_event_object.name, + new_event_object): + self._generate_events_based_on_incoming_event( + new_event_object) + + def _generate_events_based_on_outgoing_event(self, event_object): + ''' + :return: True if even_object should be dispatched through Global + Events Dispatcher, False otherwise. This can be used to replace + base events with those that more data computed (easier to use + by handlers). + :note: replacing mechanism is not implemented currently, but will be + based on attribute in new network events object. + ''' + base_event_name = event_object.name + if base_event_name in self.outgoing_events_generators: + for new_event_class in self.outgoing_events_generators[ + base_event_name]: + new_event_object = new_event_class( + None, base_event=event_object) + if new_event_object.generate(): + if not app.ged.raise_event(new_event_object.name, + new_event_object): + self._generate_events_based_on_outgoing_event( + new_event_object) + + +class EventHelper: + def __init__(self): + self.__event_handlers = [] + + def register_event(self, event_name, priority, handler): + self.__event_handlers.append((event_name, priority, handler)) + app.ged.register_event_handler(event_name, priority, handler) + + def register_events(self, events): + for handler in events: + self.__event_handlers.append(handler) + app.ged.register_event_handler(*handler) + + def unregister_event(self, event_name, priority, handler): + self.__event_handlers.remove((event_name, priority, handler)) + app.ged.register_event_handler(event_name, priority, handler) + + def unregister_events(self): + for handler in self.__event_handlers: + app.ged.remove_event_handler(*handler) + self.__event_handlers.clear() + + +class NetworkEvent: + name = '' + + def __init__(self, new_name, **kwargs): + if new_name: + self.name = new_name + + self.init() + + self._set_kwargs_as_attributes(**kwargs) + + def init(self): + pass + + def generate(self): + ''' + Generates new event (sets it's attributes) based on event object. + + Base event object name is one of those in `base_network_events`. + + Reference to base event object is stored in `self.base_event` + attribute. + + Note that this is a reference, so modifications to that event object + are possible before dispatching to Global Events Dispatcher. + + :return: True if generated event should be dispatched, False otherwise. + ''' + return True + + def _set_kwargs_as_attributes(self, **kwargs): + for k, v in kwargs.items(): + if k not in ('name', 'base_network_events'): + setattr(self, k, v) + + def _set_base_event_vars_as_attributes(self, event): + for k, v in vars(event).items(): + if k not in ('name', 'base_network_events'): + setattr(self, k, v) + + +class NetworkIncomingEvent(NetworkEvent): + base_network_events = [] # type: List[str] + ''' + Names of base network events that new event is going to be generated on. + ''' + + +class NetworkOutgoingEvent(NetworkEvent): + base_network_events = [] # type: List[str] + ''' + Names of base network events that new event is going to be generated on. + ''' diff --git a/gajim/common/optparser.py b/gajim/common/optparser.py new file mode 100644 index 0000000..afb67e9 --- /dev/null +++ b/gajim/common/optparser.py @@ -0,0 +1,225 @@ +# Copyright (C) 2003-2005 Vincent Hanquez +# Copyright (C) 2003-2014 Yann Leboulanger +# Copyright (C) 2005-2006 Dimitur Kirov +# Nikos Kouremenos +# Copyright (C) 2006-2008 Jean-Marie Traissard +# Copyright (C) 2007 James Newton +# Brendan Taylor +# Tomasz Melcer +# Stephan Erb +# Copyright (C) 2018 Philipp Hörist +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import os +import sys +import re +import logging +from pathlib import Path +from packaging.version import Version as V + +from gi.repository import Gdk +from nbxmpp.util import text_to_color + +from gajim.common import app +from gajim.common.i18n import _ + +log = logging.getLogger('gajim.c.optparser') + + +class OptionsParser: + def __init__(self, filename): + self.__filename = os.path.realpath(filename) + self.old_values = {} # values that are saved in the file and maybe + # no longer valid + + def read(self): + try: + fd = open(self.__filename, encoding='utf-8') + except Exception: + if os.path.exists(self.__filename): + #we talk about a file + print(_('Error: cannot open %s for reading') % self.__filename, + file=sys.stderr) + return False + + new_version = app.config.get('version') + new_version = new_version.split('+', 1)[0] + seen = set() + regex = re.compile(r"(?P[^.=]+)(?:(?:\.(?P.+))?\.(?P[^.=]+))?\s=\s(?P.*)") + + for line in fd: + match = regex.match(line) + if match is None: + log.warning('Invalid configuration line, ignoring it: %s', line) + continue + optname, key, subname, value = match.groups() + if key is None: + self.old_values[optname] = value + app.config.set(optname, value) + else: + if (optname, key) not in seen: + if optname in self.old_values: + self.old_values[optname][key] = {} + else: + self.old_values[optname] = {key: {}} + app.config.add_per(optname, key) + seen.add((optname, key)) + self.old_values[optname][key][subname] = value + app.config.set_per(optname, key, subname, value) + + old_version = app.config.get('version') + if '+' in old_version: + old_version = old_version.split('+', 1)[0] + elif '-' in old_version: + old_version = old_version.split('-', 1)[0] + + self.update_config(old_version, new_version) + self.old_values = {} # clean mem + + fd.close() + return True + + def write_line(self, fd, opt, parents, value): + if value is None: + return + # convert to utf8 before writing to file if needed + value = str(value) + s = '' + if parents: + if len(parents) == 1: + return + for p in parents: + s += p + '.' + s += opt + fd.write(s + ' = ' + value + '\n') + + def write(self): + config_path = Path(self.__filename) + tempfile = 'temp_%s' % config_path.name + temp_filepath = config_path.parent / tempfile + try: + with open(str(temp_filepath), 'w', encoding='utf-8') as file: + app.config.foreach(self.write_line, file) + except IOError: + log.exception('Failed to write config file') + return False + + try: + temp_filepath.replace(config_path) + except Exception: + log.exception('Failed to replace config file') + return False + + log.info('Successful saved config file') + return True + + def update_config(self, old_version, new_version): + old = V(old_version) + + if old < V('0.16.4.1'): + self.update_config_to_01641() + if old < V('0.16.10.1'): + self.update_config_to_016101() + if old < V('0.16.10.2'): + self.update_config_to_016102() + if old < V('0.16.10.4'): + self.update_config_to_016104() + if old < V('0.16.10.5'): + self.update_config_to_016105() + if old < V('0.98.3'): + self.update_config_to_0983() + if old < V('1.1.93'): + self.update_config_to_1193() + if old < V('1.1.94'): + self.update_config_to_1194() + if old < V('1.1.95'): + self.update_config_to_1195() + + app.config.set('version', new_version) + + def update_config_to_01641(self): + for account in self.old_values['accounts'].keys(): + connection_types = self.old_values['accounts'][account][ + 'connection_types'].split() + if 'plain' in connection_types and len(connection_types) > 1: + connection_types.remove('plain') + app.config.set_per('accounts', account, 'connection_types', + ' '.join(connection_types)) + app.config.set('version', '0.16.4.1') + + def update_config_to_016101(self): + if 'video_input_device' in self.old_values: + if self.old_values['video_input_device'] == 'autovideosrc ! videoscale ! ffmpegcolorspace': + app.config.set('video_input_device', 'autovideosrc') + if self.old_values['video_input_device'] == 'videotestsrc is-live=true ! video/x-raw-yuv,framerate=10/1': + app.config.set('video_input_device', 'videotestsrc is-live=true ! video/x-raw,framerate=10/1') + app.config.set('version', '0.16.10.1') + + def update_config_to_016102(self): + for account in self.old_values['accounts'].keys(): + app.config.del_per('accounts', account, 'minimized_gc') + + app.config.set('version', '0.16.10.2') + + def update_config_to_016104(self): + app.config.set('emoticons_theme', 'noto-emoticons') + app.config.set('version', '0.16.10.4') + + def update_config_to_016105(self): + app.config.set('muc_restore_timeout', -1) + app.config.set('restore_timeout', -1) + app.config.set('version', '0.16.10.5') + + def update_config_to_0983(self): + for account in self.old_values['accounts'].keys(): + password = self.old_values['accounts'][account]['password'] + if password == "winvault:": + app.config.set_per('accounts', account, 'password', 'keyring:') + elif password == "libsecret:": + app.config.set_per('accounts', account, 'password', '') + app.config.set('version', '0.98.3') + + def update_config_to_1193(self): + # add date to time_stamp, if user did not set a custom time_stamp + if self.old_values['time_stamp'] == '[%X] ': + app.config.set('time_stamp', '%x | %X ') + app.config.set('version', '1.1.93') + + def update_config_to_1194(self): + # Delete all BOSH proxies + for name in self.old_values['proxies']: + if self.old_values['proxies'][name]['type'] == 'bosh': + app.config.del_per('proxies', name) + for account in self.old_values['accounts']: + if self.old_values['accounts'][account]['proxy'] == name: + app.config.del_per('accounts', account, 'proxy') + + app.config.set('version', '1.1.94') + + def update_config_to_1195(self): + # Add account color for every account + for account in self.old_values['accounts'].keys(): + username = self.old_values['accounts'][account]['name'] + domain = self.old_values['accounts'][account]['hostname'] + if not (username is None or domain is None): + account_string = '%s@%s' % (username, domain) + # We cannot get the preferred theme at this point + background = (1, 1, 1) + col_r, col_g, col_b = text_to_color(account_string, background) + rgba = Gdk.RGBA(red=col_r, green=col_g, blue=col_b) + color = rgba.to_string() + app.config.set_per('accounts', account, 'account_color', color) + app.config.set('version', '1.1.95') diff --git a/gajim/common/passwords.py b/gajim/common/passwords.py new file mode 100644 index 0000000..05c2588 --- /dev/null +++ b/gajim/common/passwords.py @@ -0,0 +1,133 @@ +# Copyright (C) 2006 Gustavo J. A. M. Carneiro +# Nikos Kouremenos +# Copyright (C) 2006-2014 Yann Leboulanger +# Copyright (C) 2007 Jean-Marie Traissard +# Julien Pivotto +# Copyright (C) 2008 Stephan Erb +# Copyright (c) 2009 Thorsten Glaser +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import logging +import keyring + +from gajim.common import app + +__all__ = ['get_password', 'save_password'] + +log = logging.getLogger('gajim.password') + + +backends = keyring.backend.get_all_keyring() +for backend in backends: + log.info('Found keyring backend: %s', backend) + +keyring_backend = keyring.get_keyring() +log.info('Select %s backend', keyring_backend) + +KEYRING_AVAILABLE = any(keyring.core.recommended(backend) + for backend in backends) + + +class SecretPasswordStorage: + """ + Store password using Keyring + """ + + @staticmethod + def save_password(account_name, password): + if not KEYRING_AVAILABLE: + log.warning('No recommended keyring backend available.' + 'Passwords cannot be stored.') + return True + try: + log.info('Save password to keyring') + keyring_backend.set_password('gajim', account_name, password) + return True + except Exception: + log.exception('Save password failed') + return False + + @staticmethod + def get_password(account_name): + log.info('Request password from keyring') + if not KEYRING_AVAILABLE: + return + try: + # For security reasons remove clear-text password + ConfigPasswordStorage.delete_password(account_name) + return keyring_backend.get_password('gajim', account_name) + except Exception: + log.exception('Request password failed') + return + + @staticmethod + def delete_password(account_name): + log.info('Remove password from keyring') + if not KEYRING_AVAILABLE: + return + try: + return keyring_backend.delete_password('gajim', account_name) + except keyring.errors.PasswordDeleteError as error: + log.warning('Removing password failed: %s', error) + except Exception: + log.exception('Removing password failed') + + +class ConfigPasswordStorage: + """ + Store password directly in Gajim's config + """ + + @staticmethod + def get_password(account_name): + return app.settings.get_account_setting(account_name, 'password') + + @staticmethod + def save_password(account_name, password): + app.settings.set_account_setting(account_name, 'password', password) + return True + + @staticmethod + def delete_password(account_name): + app.settings.set_account_setting(account_name, 'password', '') + return True + + +def get_password(account_name): + if app.settings.get('use_keyring'): + return SecretPasswordStorage.get_password(account_name) + return ConfigPasswordStorage.get_password(account_name) + + +def save_password(account_name, password): + if account_name in app.connections: + app.connections[account_name].password = password + + if not app.settings.get_account_setting(account_name, 'savepass'): + return True + + if app.settings.get('use_keyring'): + return SecretPasswordStorage.save_password(account_name, password) + return ConfigPasswordStorage.save_password(account_name, password) + + +def delete_password(account_name): + if account_name in app.connections: + app.connections[account_name].password = None + + if app.settings.get('use_keyring'): + return SecretPasswordStorage.delete_password(account_name) + return ConfigPasswordStorage.delete_password(account_name) diff --git a/gajim/common/proxy65_manager.py b/gajim/common/proxy65_manager.py new file mode 100644 index 0000000..371e197 --- /dev/null +++ b/gajim/common/proxy65_manager.py @@ -0,0 +1,486 @@ +# Copyright (C) 2006 Dimitur Kirov +# Jean-Marie Traissard +# Copyright (C) 2007-2014 Yann Leboulanger +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import socket +import struct +import errno +import logging + +import nbxmpp +from nbxmpp.namespaces import Namespace +from nbxmpp.idlequeue import IdleObject + +from gajim.common import app +from gajim.common import helpers +from gajim.common.socks5 import Socks5 +from gajim.common.file_props import FilesProp + +log = logging.getLogger('gajim.c.proxy65_manager') + +S_INITIAL = 0 +S_STARTED = 1 +S_RESOLVED = 2 +S_ACTIVATED = 3 +S_FINISHED = 4 + +CONNECT_TIMEOUT = 20 + +class Proxy65Manager: + """ + Keep records for file transfer proxies. Each time account establishes a + connection to its server call proxy65manger.resolve(proxy) for every proxy + that is configured within the account. The class takes care to resolve and + test each proxy only once + """ + + def __init__(self, idlequeue): + # dict {proxy: proxy properties} + self.idlequeue = idlequeue + self.proxies = {} + # dict {account: proxy} default proxy for account + self.default_proxies = {} + + def resolve(self, proxy, connection, sender_jid, default=None, + testit=True): + """ + Start + if testit=False, Gajim won't try to resolve it + """ + if proxy in self.proxies: + resolver = self.proxies[proxy] + else: + # proxy is being resolved for the first time + resolver = ProxyResolver(proxy, sender_jid, testit) + self.proxies[proxy] = resolver + resolver.add_connection(connection) + if default: + # add this proxy as default for account + self.default_proxies[default] = proxy + + def disconnect(self, connection): + for resolver in self.proxies.values(): + resolver.disconnect(connection) + + def resolve_result(self, proxy, query): + if proxy not in self.proxies: + return + jid = None + for item in query.getChildren(): + if item.getName() == 'streamhost': + host = item.getAttr('host') + jid = item.getAttr('jid') + port = item.getAttr('port') + try: + port = int(port) + except (ValueError, TypeError): + port = 1080 + if not host or not jid: + self.proxies[proxy]._on_connect_failure() + self.proxies[proxy].resolve_result(host, port, jid) + # we can have only one streamhost + raise nbxmpp.NodeProcessed + + def error_cb(self, proxy, query): + sid = query.getAttr('sid') + for resolver in self.proxies.values(): + if resolver.sid == sid: + resolver.keep_conf() + break + + def get_default_for_name(self, account): + if account in self.default_proxies: + return self.default_proxies[account] + + def get_proxy(self, proxy, account): + if proxy in self.proxies: + resolver = self.proxies[proxy] + if resolver.state == S_FINISHED: + return (resolver.host, resolver.port, resolver.jid) + return (None, 0, None) + +class ProxyResolver: + def resolve_result(self, host, port, jid): + """ + Test if host has a real proxy65 listening on port + """ + self.host = str(host) + self.port = int(port) + self.jid = str(jid) + if not self.testit: + self.state = S_FINISHED + return + self.state = S_INITIAL + log.info('start resolving %s:%s', self.host, self.port) + self.receiver_tester = ReceiverTester(self.host, self.port, self.jid, + self.sid, self.sender_jid, self._on_receiver_success, + self._on_connect_failure) + self.receiver_tester.connect() + + def _on_receiver_success(self): + log.debug('Receiver successfully connected %s:%s', + self.host, self.port) + self.host_tester = HostTester(self.host, self.port, self.jid, + self.sid, self.sender_jid, self._on_connect_success, + self._on_connect_failure) + self.host_tester.connect() + + def _on_connect_success(self): + log.debug('Host successfully connected %s:%s', self.host, self.port) + iq = nbxmpp.Protocol(name='iq', to=self.jid, typ='set') + query = iq.setTag('query') + query.setNamespace(Namespace.BYTESTREAM) + query.setAttr('sid', self.sid) + + activate = query.setTag('activate') + activate.setData('test@gajim.org/test2') + + if self.active_connection: + log.debug('Activating bytestream on %s:%s', self.host, self.port) + self.active_connection.SendAndCallForResponse(iq, + self._result_received) + self.state = S_ACTIVATED + else: + self.state = S_INITIAL + + def _result_received(self, _nbxmpp_client, data): + self.disconnect(self.active_connection) + if data.getType() == 'result': + self.keep_conf() + else: + self._on_connect_failure() + + def keep_conf(self): + log.debug('Bytestream activated %s:%s', self.host, self.port) + self.state = S_FINISHED + + def _on_connect_failure(self): + log.debug('Connection failed with %s:%s', self.host, self.port) + self.state = S_FINISHED + self.host = None + self.port = 0 + self.jid = None + + def disconnect(self, connection): + if self.host_tester: + self.host_tester.disconnect() + FilesProp.deleteFileProp(self.host_tester.file_props) + self.host_tester = None + if self.receiver_tester: + self.receiver_tester.disconnect() + FilesProp.deleteFileProp(self.receiver_tester.file_props) + self.receiver_tester = None + try: + self.connections.remove(connection) + except ValueError: + pass + if connection == self.active_connection: + self.active_connection = None + if self.state != S_FINISHED: + self.state = S_INITIAL + self.try_next_connection() + + def try_next_connection(self): + """ + Try to resolve proxy with the next possible connection + """ + if self.connections: + connection = self.connections.pop(0) + self.start_resolve(connection) + + def add_connection(self, connection): + """ + Add a new connection in case the first fails + """ + self.connections.append(connection) + if self.state == S_INITIAL: + self.start_resolve(connection) + + def start_resolve(self, connection): + """ + Request network address from proxy + """ + self.state = S_STARTED + self.active_connection = connection + iq = nbxmpp.Protocol(name='iq', to=self.proxy, typ='get') + query = iq.setTag('query') + query.setNamespace(Namespace.BYTESTREAM) + connection.send(iq) + + def __init__(self, proxy, sender_jid, testit): + """ + if testit is False, don't test it, only get IP/port + """ + self.proxy = proxy + self.state = S_INITIAL + self.active_connection = None + self.connections = [] + self.host_tester = None + self.receiver_tester = None + self.jid = None + self.host = None + self.port = None + self.sid = helpers.get_random_string() + self.sender_jid = sender_jid + self.testit = testit + +class HostTester(Socks5, IdleObject): + """ + Fake proxy tester + """ + + def __init__(self, host, port, jid, sid, sender_jid, on_success, on_failure): + """ + Try to establish and auth to proxy at (host, port) + + Calls on_success, or on_failure according to the result. + """ + self.host = host + self.port = port + self.jid = jid + self.on_success = on_success + self.on_failure = on_failure + self._sock = None + self.file_props = FilesProp.getNewFileProp(jid, sid) + self.file_props.is_a_proxy = True + self.file_props.proxy_sender = sender_jid + self.file_props.proxy_receiver = 'test@gajim.org/test2' + Socks5.__init__(self, app.idlequeue, host, port, None, None, None) + self.sid = sid + + def connect(self): + """ + Create the socket and plug it to the idlequeue + """ + if self.host is None: + self.on_failure() + return None + self._sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + self._sock.setblocking(False) + self.fd = self._sock.fileno() + self.state = 0 # about to be connected + app.idlequeue.plug_idle(self, True, False) + self.do_connect() + self.idlequeue.set_read_timeout(self.fd, CONNECT_TIMEOUT) + return None + + def read_timeout(self): + self.idlequeue.remove_timeout(self.fd) + self.pollend() + + def pollend(self): + self.disconnect() + self.on_failure() + + def pollout(self): + self.idlequeue.remove_timeout(self.fd) + if self.state == 0: + self.do_connect() + return + if self.state == 1: # send initially: version and auth types + data = self._get_auth_buff() + self.send_raw(data) + else: + return + self.state += 1 + # unplug and plug for reading + app.idlequeue.plug_idle(self, False, True) + app.idlequeue.set_read_timeout(self.fd, CONNECT_TIMEOUT) + + def pollin(self): + self.idlequeue.remove_timeout(self.fd) + if self.state == 2: + self.idlequeue.set_read_timeout(self.fd, CONNECT_TIMEOUT) + # begin negotiation. on success 'address' != 0 + buff = self.receive() + if buff == b'': + # end connection + self.pollend() + return + # read auth response + if buff is None or len(buff) != 2: + return None + version, method = struct.unpack('!BB', buff[:2]) + if version != 0x05 or method == 0xff: + self.pollend() + return + data = self._get_request_buff(self._get_sha1_auth()) + self.send_raw(data) + self.state += 1 + log.debug('Host authenticating to %s:%s', self.host, self.port) + elif self.state == 3: + log.debug('Host authenticated to %s:%s', self.host, self.port) + self.on_success() + self.disconnect() + self.state += 1 + else: + assert False, 'unexpected state: %d' % self.state + + def do_connect(self): + try: + self._sock.connect((self.host, self.port)) + self._sock.setblocking(False) + log.debug('Host Connecting to %s:%s', self.host, self.port) + self._send = self._sock.send + self._recv = self._sock.recv + except Exception as ee: + errnum = ee.errno + # 56 is for freebsd + if errnum in (errno.EINPROGRESS, errno.EALREADY, errno.EWOULDBLOCK): + # still trying to connect + return + # win32 needs this + if errnum not in (0, 10056, errno.EISCONN): + # connection failed + self.on_failure() + return + # socket is already connected + self._sock.setblocking(False) + self._send = self._sock.send + self._recv = self._sock.recv + self.buff = b'' + self.state = 1 # connected + log.debug('Host connected to %s:%s', self.host, self.port) + self.idlequeue.plug_idle(self, True, False) + return + +class ReceiverTester(Socks5, IdleObject): + """ + Fake proxy tester + """ + + def __init__(self, host, port, jid, sid, sender_jid, on_success, on_failure): + """ + Try to establish and auth to proxy at (host, port) + + Call on_success, or on_failure according to the result. + """ + self.host = host + self.port = port + self.jid = jid + self.on_success = on_success + self.on_failure = on_failure + self._sock = None + self.file_props = FilesProp.getNewFileProp(jid, sid) + self.file_props.is_a_proxy = True + self.file_props.proxy_sender = sender_jid + self.file_props.proxy_receiver = 'test@gajim.org/test2' + Socks5.__init__(self, app.idlequeue, host, port, None, None, None) + self.sid = sid + + def connect(self): + """ + Create the socket and plug it to the idlequeue + """ + if self.host is None: + self.on_failure() + return None + self._sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + self._sock.setblocking(False) + self.fd = self._sock.fileno() + self.state = 0 # about to be connected + app.idlequeue.plug_idle(self, True, False) + self.do_connect() + self.idlequeue.set_read_timeout(self.fd, CONNECT_TIMEOUT) + return None + + def read_timeout(self): + self.idlequeue.remove_timeout(self.fd) + self.pollend() + + def pollend(self): + self.disconnect() + self.on_failure() + + def pollout(self): + self.idlequeue.remove_timeout(self.fd) + if self.state == 0: + self.do_connect() + return + if self.state == 1: # send initially: version and auth types + data = self._get_auth_buff() + self.send_raw(data) + else: + return + self.state += 1 + # unplug and plug for reading + app.idlequeue.plug_idle(self, False, True) + app.idlequeue.set_read_timeout(self.fd, CONNECT_TIMEOUT) + + def pollin(self): + self.idlequeue.remove_timeout(self.fd) + if self.state in (2, 3): + self.idlequeue.set_read_timeout(self.fd, CONNECT_TIMEOUT) + # begin negotiation. on success 'address' != 0 + buff = self.receive() + if buff == b'': + # end connection + self.pollend() + return + if self.state == 2: + # read auth response + if buff is None or len(buff) != 2: + return None + version, method = struct.unpack('!BB', buff[:2]) + if version != 0x05 or method == 0xff: + self.pollend() + return + log.debug('Receiver authenticating to %s:%s', self.host, self.port) + data = self._get_request_buff(self._get_sha1_auth()) + self.send_raw(data) + self.state += 1 + elif self.state == 3: + # read connect response + if buff is None or len(buff) < 2: + return None + version, reply = struct.unpack('!BB', buff[:2]) + if version != 0x05 or reply != 0x00: + self.pollend() + return + log.debug('Receiver authenticated to %s:%s', self.host, self.port) + self.on_success() + self.disconnect() + self.state += 1 + else: + assert False, 'unexpected state: %d' % self.state + + def do_connect(self): + try: + self._sock.setblocking(False) + self._sock.connect((self.host, self.port)) + log.debug('Receiver Connecting to %s:%s', self.host, self.port) + self._send = self._sock.send + self._recv = self._sock.recv + except Exception as ee: + errnum = ee.errno + # 56 is for freebsd + if errnum in (errno.EINPROGRESS, errno.EALREADY, errno.EWOULDBLOCK): + # still trying to connect + return + # win32 needs this + if errnum not in (0, 10056, errno.EISCONN): + # connection failed + self.on_failure() + return + # socket is already connected + self._sock.setblocking(False) + self._send = self._sock.send + self._recv = self._sock.recv + self.buff = '' + self.state = 1 # connected + log.debug('Receiver connected to %s:%s', self.host, self.port) + self.idlequeue.plug_idle(self, True, False) diff --git a/gajim/common/regex.py b/gajim/common/regex.py new file mode 100644 index 0000000..4025965 --- /dev/null +++ b/gajim/common/regex.py @@ -0,0 +1,88 @@ +import re + +def _get_link_pattern(): + # regexp meta characters are: . ^ $ * + ? { } [ ] \ | ( ) + # one escapes the metachars with \ + # \S matches anything but ' ' '\t' '\n' '\r' '\f' and '\v' + # \s matches any whitespace character + # \w any alphanumeric character + # \W any non-alphanumeric character + # \b means word boundary. This is a zero-width assertion that + # matches only at the beginning or end of a word. + # ^ matches at the beginning of lines + # + # * means 0 or more times + # + means 1 or more times + # ? means 0 or 1 time + # | means or + # [^*] anything but '*' (inside [] you don't have to escape metachars) + # [^\s*] anything but whitespaces and '*' + # (? in the matching string don't match ? or ) etc.. if at + # the end + # so http://be) will match http://be and http://be)be) will match + # http://be)be + + legacy_prefixes = r"((?<=\()(www|ftp)\.([A-Za-z0-9\.\-_~:/\?#\[\]@!\$"\ + r"&'\(\)\*\+,;=]|%[A-Fa-f0-9]{2})+(?=\)))"\ + r"|((www|ftp)\.([A-Za-z0-9\.\-_~:/\?#\[\]@!\$&'\(\)\*\+,;=]"\ + r"|%[A-Fa-f0-9]{2})+"\ + r"\.([A-Za-z0-9\.\-_~:/\?#\[\]@!\$&'\(\)\*\+,;=]|%[A-Fa-f0-9]{2})+)" + # NOTE: it's ok to catch www.gr such stuff exist! + + # FIXME: recognize xmpp: and treat it specially + links = r"((?<=\()[A-Za-z][A-Za-z0-9\+\.\-]*:"\ + r"([\w\.\-_~:/\?#\[\]@!\$&'\(\)\*\+,;=]|%[A-Fa-f0-9]{2})+"\ + r"(?=\)))|(\w[\w\+\.\-]*:([^<>\s]|%[A-Fa-f0-9]{2})+)" + + # 2nd one: at_least_one_char@at_least_one_char.at_least_one_char + mail = r'\bmailto:\S*[^\s\W]|' r'\b\S+@\S+\.\S*[^\s\W]' + + link_pattern = links + '|' + mail + '|' + legacy_prefixes + return link_pattern + +def _get_basic_pattern(): + basic_pattern = _get_link_pattern() + # detects eg. *b* *bold* *bold bold* test *bold* *bold*! (*bold*) + # doesn't detect (it's a feature :P) * bold* *bold * * bold * test*bold* + formatting = r'|(?. + +from typing import Any +from typing import Dict +from typing import List +from typing import Union + +import sys +import json +import logging +import sqlite3 +import inspect +import weakref +from pathlib import Path +from collections import namedtuple +from collections import defaultdict + +from gi.repository import GLib + +from gajim import IS_PORTABLE +from gajim.common import app +from gajim.common import configpaths +from gajim.common import optparser +from gajim.common.helpers import get_muc_context +from gajim.common.setting_values import APP_SETTINGS +from gajim.common.setting_values import ACCOUNT_SETTINGS +from gajim.common.setting_values import PROXY_SETTINGS +from gajim.common.setting_values import PROXY_EXAMPLES +from gajim.common.setting_values import PLUGIN_SETTINGS +from gajim.common.setting_values import DEFAULT_SOUNDEVENT_SETTINGS +from gajim.common.setting_values import STATUS_PRESET_SETTINGS +from gajim.common.setting_values import STATUS_PRESET_EXAMPLES +from gajim.common.setting_values import HAS_APP_DEFAULT +from gajim.common.setting_values import HAS_ACCOUNT_DEFAULT + +SETTING_TYPE = Union[bool, int, str, object] + +log = logging.getLogger('gajim.c.settings') + +CREATE_SQL = ''' + CREATE TABLE settings ( + name TEXT UNIQUE, + settings TEXT + ); + + CREATE TABLE account_settings ( + account TEXT UNIQUE, + settings TEXT + ); + + INSERT INTO settings(name, settings) VALUES ('app', '{}'); + INSERT INTO settings(name, settings) VALUES ('soundevents', '{}'); + INSERT INTO settings(name, settings) VALUES ('status_presets', '%s'); + INSERT INTO settings(name, settings) VALUES ('proxies', '%s'); + INSERT INTO settings(name, settings) VALUES ('plugins', '{}'); + + PRAGMA user_version=0; + ''' % (json.dumps(STATUS_PRESET_EXAMPLES), + json.dumps(PROXY_EXAMPLES)) + + +class Settings: + def __init__(self): + self._con = None + self._commit_scheduled = None + + self._settings = {} + self._account_settings = {} + + self._callbacks = defaultdict(list) + + def connect_signal(self, setting, func, account=None, jid=None): + if not inspect.ismethod(func): + # static methods are not bound to an object so we can’t easily + # remove the func once it should not be called anymore + raise ValueError('Only bound methods can be connected') + + + func = weakref.WeakMethod(func) + self._callbacks[(setting, account, jid)].append(func) + + def disconnect_signals(self, object_): + for _, handlers in self._callbacks.items(): + for handler in list(handlers): + if isinstance(handler, tuple): + continue + func = handler() + if func is None or func.__self__ is object_: + handlers.remove(handler) + + def bind_signal(self, + setting, + widget, + func_name, + account=None, + jid=None, + inverted=False, + default_text=None): + + callbacks = self._callbacks[(setting, account, jid)] + func = getattr(widget, func_name) + callbacks.append((func, inverted, default_text)) + + def _on_destroy(*args): + callbacks.remove((func, inverted, default_text)) + + widget.connect('destroy', _on_destroy) + + def _notify(self, value, setting, account=None, jid=None): + log.info('Signal: %s changed', setting) + + callbacks = self._callbacks[(setting, account, jid)] + for func in list(callbacks): + if isinstance(func, tuple): + func, inverted, default_text = func + if isinstance(value, bool) and inverted: + value = not value + + if value == '' and default_text is not None: + value = default_text + + try: + func(value) + except Exception: + log.exception('Error while executing signal callback') + continue + + if func() is None: + callbacks.remove(func) + continue + + func = func() + if func is None: + continue + + try: + func(value, setting, account, jid) + except Exception: + log.exception('Error while executing signal callback') + + def init(self) -> None: + self._setup_installation_defaults() + self._connect_database() + self._load_settings() + self._load_account_settings() + if not self._settings['app']: + self._migrate_old_config() + self._commit() + self._migrate_database() + + @staticmethod + def _setup_installation_defaults() -> None: + if IS_PORTABLE: + APP_SETTINGS['use_keyring'] = False + + @staticmethod + def _namedtuple_factory(cursor: Any, row: Any) -> Any: + fields = [col[0] for col in cursor.description] + return namedtuple("Row", fields)(*row) + + def _connect_database(self) -> None: + path = configpaths.get('SETTINGS') + if path.is_dir(): + log.error('%s is a directory but should be a file', path) + sys.exit() + + if not path.exists(): + self._create_database(CREATE_SQL, path) + + self._con = sqlite3.connect(path) + self._con.row_factory = self._namedtuple_factory + + @staticmethod + def _create_database(statement: str, path: Path) -> None: + log.info('Creating %s', path) + con = sqlite3.connect(path) + + try: + con.executescript(statement) + except Exception: + log.exception('Error') + con.close() + path.unlink() + sys.exit() + + con.commit() + con.close() + path.chmod(0o600) + + def _get_user_version(self) -> int: + return self._con.execute('PRAGMA user_version').fetchone()[0] + + def _set_user_version(self, version: int) -> None: + self._con.execute(f'PRAGMA user_version = {version}') + self._commit() + + def _commit(self, schedule: bool = False) -> None: + if not schedule: + if self._commit_scheduled is not None: + GLib.source_remove(self._commit_scheduled) + self._commit_scheduled = None + log.info('Commit') + self._con.commit() + + elif self._commit_scheduled is None: + self._commit_scheduled = GLib.timeout_add( + 200, self._scheduled_commit) + + def save(self) -> None: + self._commit() + + def _scheduled_commit(self) -> None: + self._commit_scheduled = None + log.info('Commit') + self._con.commit() + + def _migrate_database(self) -> None: + try: + self._migrate() + except Exception: + self._con.close() + log.exception('Error') + sys.exit() + + def _migrate(self) -> None: + pass + + def _migrate_old_config(self) -> None: + config_file = configpaths.get('CONFIG_FILE') + if not config_file.exists(): + return + + # Read legacy config + optparser.OptionsParser(str(configpaths.get('CONFIG_FILE'))).read() + + account_settings = app.config.get_all_per('accounts') + self._cleanup_account_default_values('account', account_settings) + + contact_settings = app.config.get_all_per('contacts') + self._cleanup_account_default_values('contact', contact_settings) + + group_chat_settings = app.config.get_all_per('rooms') + self._cleanup_account_default_values('group_chat', + group_chat_settings) + + for account, settings in account_settings.items(): + self.add_account(account) + self._account_settings[account]['account'] = settings + self._account_settings[account]['contact'] = contact_settings + self._account_settings[account]['group_chat'] = group_chat_settings + self._commit_account_settings(account) + + self._migrate_encryption_settings() + + # Migrate plugin settings + self._settings['plugins'] = app.config.get_all_per('plugins') + self._commit_settings('plugins') + + self._migrate_app_settings() + self._migrate_soundevent_settings() + self._migrate_status_preset_settings() + self._migrate_proxy_settings() + + new_path = config_file.with_name(f'{config_file.name}.old') + config_file.rename(new_path) + log.info('Successfully migrated config') + + def _migrate_app_settings(self) -> None: + app_settings = app.config.get_all() + + # Migrate deprecated settings + value = app_settings.pop('send_chatstate_muc_default', None) + if value is not None: + for account in self._account_settings: + self._account_settings[account]['account']['gc_send_chatstate_default'] = value + + value = app_settings.pop('send_chatstate_default', None) + if value is not None: + for account in self._account_settings: + self._account_settings[account]['account']['send_chatstate_default'] = value + + value = app_settings.pop('print_join_left_default', None) + if value is not None: + app_settings['gc_print_join_left_default'] = value + + value = app_settings.pop('print_status_muc_default', None) + if value is not None: + app_settings['gc_print_status_default'] = value + + # Cleanup values which are equal to current defaults + for setting, value in list(app_settings.items()): + if (setting not in APP_SETTINGS or + value == APP_SETTINGS[setting]): + del app_settings[setting] + + self._settings['app'] = app_settings + self._commit_settings('app') + + for account in self._account_settings: + self._commit_account_settings(account) + + def _migrate_encryption_settings(self) -> None: + # Migrate encryption settings into contact/group chat settings + encryption_settings = app.config.get_all_per('encryption') + for key, settings in encryption_settings.items(): + account, jid = self._split_encryption_config_key(key) + if account is None: + continue + + encryption = settings.get('encryption') + if not encryption: + continue + + if '@' not in jid: + continue + + # Sad try to determine if the jid is a group chat + # At this point there is no better way + domain = jid.split('@')[1] + subdomain = domain.split('.')[0] + if subdomain in ('muc', 'conference', 'conf', + 'rooms', 'room', 'chat'): + category = 'group_chat' + else: + category = 'contact' + + if not jid in self._account_settings[account][category]: + self._account_settings[account][category][jid] = { + 'encryption': encryption} + else: + self._account_settings[account][category][ + jid]['encryption'] = encryption + self._commit_account_settings(account) + + def _split_encryption_config_key(self, key: str) -> Any: + for account in self._account_settings: + if not key.startswith(account): + continue + jid = key.replace(f'{account}-', '', 1) + return account, jid + return None, None + + def _migrate_soundevent_settings(self) -> None: + soundevent_settings = app.config.get_all_per('soundevents') + for soundevent, settings in list(soundevent_settings.items()): + if soundevent not in DEFAULT_SOUNDEVENT_SETTINGS: + del soundevent_settings[soundevent] + continue + + for setting, value in list(settings.items()): + if DEFAULT_SOUNDEVENT_SETTINGS[soundevent][setting] == value: + del soundevent_settings[soundevent][setting] + if not soundevent_settings[soundevent]: + del soundevent_settings[soundevent] + + self._settings['soundevents'] = soundevent_settings + self._commit_settings('soundevents') + + def _migrate_status_preset_settings(self) -> None: + status_preset_settings = app.config.get_all_per('statusmsg') + for preset, settings in list(status_preset_settings.items()): + if '_last_' in preset: + del status_preset_settings[preset] + continue + + for setting, value in list(settings.items()): + if setting not in STATUS_PRESET_SETTINGS: + continue + if STATUS_PRESET_SETTINGS[setting] == value: + del status_preset_settings[preset][setting] + if not status_preset_settings[preset]: + del status_preset_settings[preset] + + self._settings['status_presets'] = status_preset_settings + self._commit_settings('status_presets') + + def _migrate_proxy_settings(self) -> None: + proxy_settings = app.config.get_all_per('proxies') + for proxy_name, settings in proxy_settings.items(): + for setting, value in list(settings.items()): + if (setting not in PROXY_SETTINGS or + PROXY_SETTINGS[setting] == value): + del proxy_settings[proxy_name][setting] + + self._settings['proxies'] = proxy_settings + self._commit_settings('proxies') + + @staticmethod + def _cleanup_account_default_values(category: str, settings: Any) -> None: + for contact, settings_ in list(settings.items()): + for setting, value in list(settings_.items()): + if setting not in ACCOUNT_SETTINGS[category]: + del settings[contact][setting] + if not settings[contact]: + del settings[contact] + continue + + default = ACCOUNT_SETTINGS[category][setting] + if default == value: + del settings[contact][setting] + if not settings[contact]: + del settings[contact] + continue + + def close(self) -> None: + log.info('Close settings') + self._con.commit() + self._con.close() + self._con = None + + def _load_settings(self) -> None: + settings = self._con.execute('SELECT * FROM settings').fetchall() + for row in settings: + log.info('Load %s settings', row.name) + self._settings[row.name] = json.loads(row.settings) + + def _load_account_settings(self) -> None: + account_settings = self._con.execute( + 'SELECT * FROM account_settings').fetchall() + for row in account_settings: + log.info('Load account settings: %s', row.account) + self._account_settings[row.account] = json.loads(row.settings) + + def _commit_account_settings(self, + account: str, + schedule: bool = True) -> None: + log.info('Set account settings: %s', account) + self._con.execute( + 'UPDATE account_settings SET settings = ? WHERE account = ?', + (json.dumps(self._account_settings[account]), account)) + + self._commit(schedule=schedule) + + def _commit_settings(self, name: str, schedule: bool = True) -> None: + log.info('Set settings: %s', name) + self._con.execute( + 'UPDATE settings SET settings = ? WHERE name = ?', + (json.dumps(self._settings[name]), name)) + + self._commit(schedule=schedule) + + def get_app_setting(self, setting: str) -> SETTING_TYPE: + if setting not in APP_SETTINGS: + raise ValueError(f'Invalid app setting: {setting}') + + try: + return self._settings['app'][setting] + except KeyError: + return APP_SETTINGS[setting] + + get = get_app_setting + + def set_app_setting(self, setting: str, value: SETTING_TYPE) -> None: + if setting not in APP_SETTINGS: + raise ValueError(f'Invalid app setting: {setting}') + + default = APP_SETTINGS[setting] + if not isinstance(value, type(default)) and value is not None: + raise TypeError(f'Invalid type for {setting}: ' + f'{value} {type(value)}') + + if value is None: + try: + del self._settings['app'][setting] + except KeyError: + pass + + self._commit_settings('app') + self._notify(default, setting) + return + + self._settings['app'][setting] = value + + self._commit_settings('app') + self._notify(value, setting) + + set = set_app_setting + + def get_plugin_setting(self, plugin: str, setting: str) -> SETTING_TYPE: + if setting not in PLUGIN_SETTINGS: + raise ValueError(f'Invalid plugin setting: {setting}') + + if plugin not in self._settings['plugins']: + raise ValueError(f'Unknown plugin {plugin}') + + try: + return self._settings['plugins'][plugin][setting] + except KeyError: + return PLUGIN_SETTINGS[setting] + + def get_plugins(self) -> List[str]: + return list(self._settings['plugins'].keys()) + + def set_plugin_setting(self, + plugin: str, + setting: str, + value: bool) -> None: + + if setting not in PLUGIN_SETTINGS: + raise ValueError(f'Invalid plugin setting: {setting}') + + default = PLUGIN_SETTINGS[setting] + if not isinstance(value, type(default)): + raise TypeError(f'Invalid type for {setting}: ' + f'{value} {type(value)}') + + if plugin in self._settings['plugins']: + self._settings['plugins'][plugin][setting] = value + else: + self._settings['plugins'][plugin] = {setting: value} + + self._commit_settings('plugins') + + def remove_plugin(self, plugin: str) -> None: + try: + del self._settings['plugins'][plugin] + except KeyError: + pass + + def add_account(self, account: str) -> None: + log.info('Add account: %s', account) + self._account_settings[account] = {'account': {}, + 'contact': {}, + 'group_chat': {}} + self._con.execute( + 'INSERT INTO account_settings(account, settings) VALUES(?, ?)', + (account, json.dumps(self._account_settings[account]))) + self._commit() + + def remove_account(self, account: str) -> None: + if account not in self._account_settings: + raise ValueError(f'Unknown account: {account}') + + del self._account_settings[account] + self._con.execute( + 'DELETE FROM account_settings WHERE account = ?', + (account,)) + self._commit() + + def get_accounts(self) -> List[str]: + return list(self._account_settings.keys()) + + def get_account_setting(self, + account: str, + setting: str) -> SETTING_TYPE: + + if account not in self._account_settings: + raise ValueError(f'Account missing: {account}') + + if setting not in ACCOUNT_SETTINGS['account']: + raise ValueError(f'Invalid account setting: {setting}') + + try: + return self._account_settings[account]['account'][setting] + except KeyError: + return ACCOUNT_SETTINGS['account'][setting] + + def set_account_setting(self, + account: str, + setting: str, + value: SETTING_TYPE) -> None: + + if account not in self._account_settings: + raise ValueError(f'Account missing: {account}') + + if setting not in ACCOUNT_SETTINGS['account']: + raise ValueError(f'Invalid account setting: {setting}') + + default = ACCOUNT_SETTINGS['account'][setting] + if not isinstance(value, type(default)) and value is not None: + raise TypeError(f'Invalid type for {setting}: ' + f'{value} {type(value)}') + + if value is None: + try: + del self._account_settings[account]['account'][setting] + except KeyError: + pass + + self._commit_account_settings(account) + self._notify(default, setting, account) + return + + self._account_settings[account]['account'][setting] = value + + self._commit_account_settings(account) + self._notify(value, setting, account) + + def get_group_chat_setting(self, + account: str, + jid: str, + setting: str) -> SETTING_TYPE: + + if account not in self._account_settings: + raise ValueError(f'Account missing: {account}') + + if setting not in ACCOUNT_SETTINGS['group_chat']: + raise ValueError(f'Invalid group chat setting: {setting}') + + try: + return self._account_settings[account]['group_chat'][jid][setting] + except KeyError: + + context = get_muc_context(jid) + if context is None: + # If there is no disco info available + # to determine the context assume public + log.warning('Unable to determine context for: %s', jid) + context = 'public' + + default = ACCOUNT_SETTINGS['group_chat'][setting] + if default is HAS_APP_DEFAULT: + context_default_setting = f'gc_{setting}_{context}_default' + if context_default_setting in APP_SETTINGS: + return self.get_app_setting(context_default_setting) + return self.get_app_setting(f'gc_{setting}_default') + + if default is HAS_ACCOUNT_DEFAULT: + context_default_setting = f'gc_{setting}_{context}_default' + if context_default_setting in ACCOUNT_SETTINGS['account']: + return self.get_account_setting(account, + context_default_setting) + return self.get_account_setting(account, + f'gc_{setting}_default') + + return default + + def set_group_chat_setting(self, + account: str, + jid: str, + setting: str, + value: SETTING_TYPE) -> None: + + if account not in self._account_settings: + raise ValueError(f'Account missing: {account}') + + if setting not in ACCOUNT_SETTINGS['group_chat']: + raise ValueError(f'Invalid group chat setting: {setting}') + + default = ACCOUNT_SETTINGS['group_chat'][setting] + if default in (HAS_APP_DEFAULT, HAS_ACCOUNT_DEFAULT): + + context = get_muc_context(jid) + if context is None: + # If there is no disco info available + # to determine the context assume public + log.warning('Unable to determine context for: %s', jid) + context = 'public' + + default_store = APP_SETTINGS + if default is HAS_ACCOUNT_DEFAULT: + default_store = ACCOUNT_SETTINGS['account'] + + context_default_setting = f'gc_{setting}_{context}_default' + if context_default_setting in default_store: + default = default_store[context_default_setting] + else: + default = default_store[f'gc_{setting}_default'] + + if not isinstance(value, type(default)) and value is not None: + raise TypeError(f'Invalid type for {setting}: ' + f'{value} {type(value)}') + + if value is None: + try: + del self._account_settings[account]['group_chat'][jid][setting] + except KeyError: + pass + + self._commit_account_settings(account) + self._notify(default, setting, account, jid) + return + + group_chat_settings = self._account_settings[account]['group_chat'] + if jid not in group_chat_settings: + group_chat_settings[jid] = {setting: value} + else: + group_chat_settings[jid][setting] = value + + self._commit_account_settings(account) + self._notify(value, setting, account, jid) + + def set_group_chat_settings(self, + setting: str, + value: SETTING_TYPE, + context: str = None) -> None: + + for account in self._account_settings: + for jid in self._account_settings[account]['group_chat']: + if context is not None: + if get_muc_context(jid) != context: + continue + self.set_group_chat_setting(account, jid, setting, value) + + def get_contact_setting(self, + account: str, + jid: str, + setting: str) -> SETTING_TYPE: + + if account not in self._account_settings: + raise ValueError(f'Account missing: {account}') + + if setting not in ACCOUNT_SETTINGS['contact']: + raise ValueError(f'Invalid contact setting: {setting}') + + try: + return self._account_settings[account]['contact'][jid][setting] + except KeyError: + default = ACCOUNT_SETTINGS['contact'][setting] + if default is HAS_APP_DEFAULT: + return self.get_app_setting(f'{setting}_default') + + if default is HAS_ACCOUNT_DEFAULT: + return self.get_account_setting(account, f'{setting}_default') + + return default + + def set_contact_setting(self, + account: str, + jid: str, + setting: str, + value: SETTING_TYPE) -> None: + + if account not in self._account_settings: + raise ValueError(f'Account missing: {account}') + + if setting not in ACCOUNT_SETTINGS['contact']: + raise ValueError(f'Invalid contact setting: {setting}') + + default = ACCOUNT_SETTINGS['contact'][setting] + if default in (HAS_APP_DEFAULT, HAS_ACCOUNT_DEFAULT): + + default_store = APP_SETTINGS + if default is HAS_ACCOUNT_DEFAULT: + default_store = ACCOUNT_SETTINGS['account'] + + default = default_store[f'{setting}_default'] + + if not isinstance(value, type(default)) and value is not None: + raise TypeError(f'Invalid type for {setting}: ' + f'{value} {type(value)}') + + if value is None: + try: + del self._account_settings[account]['contact'][jid][setting] + except KeyError: + pass + + self._commit_account_settings(account) + self._notify(default, setting, account, jid) + return + + contact_settings = self._account_settings[account]['contact'] + if jid not in contact_settings: + contact_settings[jid] = {setting: value} + else: + contact_settings[jid][setting] = value + + self._commit_account_settings(account) + self._notify(value, setting, account, jid) + + def set_contact_settings(self, + setting: str, + value: SETTING_TYPE) -> None: + + for account in self._account_settings: + for jid in self._account_settings[account]['contact']: + self.set_contact_setting(account, jid, setting, value) + + def set_soundevent_setting(self, + event_name: str, + setting: str, + value: SETTING_TYPE) -> None: + + if event_name not in DEFAULT_SOUNDEVENT_SETTINGS: + raise ValueError(f'Invalid soundevent: {event_name}') + + if setting not in DEFAULT_SOUNDEVENT_SETTINGS[event_name]: + raise ValueError(f'Invalid soundevent setting: {setting}') + + default = DEFAULT_SOUNDEVENT_SETTINGS[event_name][setting] + if not isinstance(value, type(default)): + raise TypeError(f'Invalid type for {setting}: ' + f'{value} {type(value)}') + + if event_name not in self._settings['soundevents']: + self._settings['soundevents'][event_name] = {setting: value} + else: + self._settings['soundevents'][event_name][setting] = value + + self._commit_settings('soundevents') + + def get_soundevent_settings(self, + event_name: str) -> Dict[str, SETTING_TYPE]: + if event_name not in DEFAULT_SOUNDEVENT_SETTINGS: + raise ValueError(f'Invalid soundevent: {event_name}') + + settings = DEFAULT_SOUNDEVENT_SETTINGS[event_name].copy() + user_settings = self._settings['soundevents'].get(event_name, {}) + settings.update(user_settings) + return settings + + def set_status_preset_setting(self, + status_preset: str, + setting: str, + value: str) -> None: + + if setting not in STATUS_PRESET_SETTINGS: + raise ValueError(f'Invalid status preset setting: {setting}') + + if not isinstance(value, str): + raise TypeError(f'Invalid type for {setting}: ' + f'{value} {type(value)}') + + presets = self._settings['status_presets'] + if status_preset not in presets: + presets[status_preset] = {setting: value} + else: + presets[status_preset][setting] = value + + self._commit_settings('status_presets') + + def get_status_preset_settings(self, status_preset: str) -> Dict[str, str]: + if status_preset not in self._settings['status_presets']: + raise ValueError(f'Invalid status preset name: {status_preset}') + + settings = STATUS_PRESET_SETTINGS.copy() + user_settings = self._settings['status_presets'][status_preset] + settings.update(user_settings) + return settings + + def get_status_presets(self) -> List[str]: + return list(self._settings['status_presets'].keys()) + + def remove_status_preset(self, status_preset: str) -> None: + if status_preset not in self._settings['status_presets']: + raise ValueError(f'Unknown status preset: {status_preset}') + + del self._settings['status_presets'][status_preset] + self._commit_settings('status_presets') + + def set_proxy_setting(self, + proxy_name: str, + setting: str, + value: SETTING_TYPE) -> None: + + if setting not in PROXY_SETTINGS: + raise ValueError(f'Invalid proxy setting: {setting}') + + default = PROXY_SETTINGS[setting] + if not isinstance(value, type(default)): + raise TypeError(f'Invalid type for {setting}: ' + f'{value} {type(value)}') + + if proxy_name in self._settings['proxies']: + self._settings['proxies'][proxy_name][setting] = value + else: + self._settings['proxies'][proxy_name] = {setting: value} + + self._commit_settings('proxies') + + def get_proxy_settings(self, proxy_name: str) -> Dict[str, SETTING_TYPE]: + if proxy_name not in self._settings['proxies']: + raise ValueError(f'Unknown proxy: {proxy_name}') + + settings = PROXY_SETTINGS.copy() + user_settings = self._settings['proxies'][proxy_name] + settings.update(user_settings) + return settings + + def get_proxies(self) -> List[str]: + return list(self._settings['proxies'].keys()) + + def add_proxy(self, proxy_name: str) -> None: + if proxy_name in self._settings['proxies']: + raise ValueError(f'Proxy already exists: {proxy_name}') + + self._settings['proxies'][proxy_name] = {} + + def rename_proxy(self, old_proxy_name: str, new_proxy_name: str) -> None: + settings = self._settings['proxies'].pop(old_proxy_name) + self._settings['proxies'][new_proxy_name] = settings + + def remove_proxy(self, proxy_name: str) -> None: + if proxy_name not in self._settings['proxies']: + raise ValueError(f'Unknown proxy: {proxy_name}') + + del self._settings['proxies'][proxy_name] + self._commit_settings('proxies') + + if self.get_app_setting('global_proxy') == proxy_name: + self.set_app_setting('global_proxy', None) + + for account in self._account_settings: + if self.get_account_setting(account, 'proxy') == proxy_name: + self.set_account_setting(account, 'proxy', None) + + +class LegacyConfig: + + @staticmethod + def get(setting: str) -> SETTING_TYPE: + return app.settings.get_app_setting(setting) + + @staticmethod + def set(setting: str, value: SETTING_TYPE) -> None: + app.settings.set_app_setting(setting, value) + + @staticmethod + def get_per(kind: str, key: str, setting: str) -> SETTING_TYPE: + if kind == 'accounts': + return app.settings.get_account_setting(key, setting) + + if kind == 'plugins': + return app.settings.get_plugin_setting(key, setting) + raise ValueError + + @staticmethod + def set_per(kind: str, key: str, setting: str, value: SETTING_TYPE) -> None: + if kind == 'accounts': + app.settings.set_account_setting(key, setting, value) + raise ValueError diff --git a/gajim/common/socks5.py b/gajim/common/socks5.py new file mode 100644 index 0000000..bdf1061 --- /dev/null +++ b/gajim/common/socks5.py @@ -0,0 +1,1493 @@ +# Copyright (C) 2005-2006 Dimitur Kirov +# Nikos Kouremenos +# Copyright (C) 2005-2014 Yann Leboulanger +# Copyright (C) 2006-2008 Jean-Marie Traissard +# Copyright (C) 2008 Jonathan Schleifer +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import socket +import struct +import hashlib +import os +import time +import sys +import logging +from errno import EWOULDBLOCK +from errno import ENOBUFS +from errno import EINTR +from errno import EISCONN +from errno import EINPROGRESS +from errno import EAFNOSUPPORT + +from nbxmpp.idlequeue import IdleObject +import OpenSSL + +from gajim.common.file_props import FilesProp +from gajim.common import app +from gajim.common import jingle_xtls + +log = logging.getLogger('gajim.c.socks5') +MAX_BUFF_LEN = 65536 +# after foo seconds without activity label transfer as 'stalled' +STALLED_TIMEOUT = 10 +# after foo seconds of waiting to connect, disconnect from +# streamhost and try next one +CONNECT_TIMEOUT = 30 +# nothing received for the last foo seconds - stop transfer +# if it is 0, then transfer will wait forever +READ_TIMEOUT = 180 +# nothing sent for the last foo seconds - stop transfer +# if it is 0, then transfer will wait forever +SEND_TIMEOUT = 180 + + +class SocksQueue: + """ + Queue for all file requests objects + """ + + def __init__(self, idlequeue, complete_transfer_cb=None, + progress_transfer_cb=None, error_cb=None): + self.connected = 0 + self.readers = {} + self.senders = {} + self.idx = 1 + self.listener = None + self.sha_handlers = {} + # handle all io events in the global idle queue, instead of processing + # each foo seconds + self.idlequeue = idlequeue + self.complete_transfer_cb = complete_transfer_cb + self.progress_transfer_cb = progress_transfer_cb + self.error_cb = error_cb + self.on_success = {} # {id: cb} + self.on_failure = {} # {id: cb} + + def start_listener(self, port, sha_str, sha_handler, file_props, + fingerprint=None, typ='sender'): + """ + Start waiting for incoming connections on (host, port) and do a socks5 + authentication using sid for generated SHA + """ + log.debug('Start listening for socks5 connection') + sid = file_props.sid + self.sha_handlers[sha_str] = (sha_handler, sid) + if self.listener is None or self.listener.connections == []: + self.listener = Socks5Listener(self.idlequeue, port, file_props, + fingerprint=fingerprint) + self.listener.queue = self + self.listener.bind() + else: + # There is already a listener, we update the file's information + # on the new connection. + self.listener.file_props = file_props + self.connected += 1 + return self.listener + + def send_success_reply(self, file_props, streamhost): + if file_props.streamhost_used is True: + for proxy in file_props.proxyhosts: + if proxy['host'] == streamhost['host']: + self.on_success[file_props.transport_sid](proxy) + return 1 + return 0 + for host in file_props.streamhosts: + if host['state'] == 1: + # on_success callback already called for another host + return 0 # return 0 to disconnect this one + streamhost['state'] = 1 + self.on_success[file_props.transport_sid](streamhost) + return 1 + + def connect_to_hosts(self, account, transport_sid, on_success=None, + on_failure=None, fingerprint=None, receiving=True): + self.on_success[transport_sid] = on_success + self.on_failure[transport_sid] = on_failure + file_props = FilesProp.getFilePropByTransportSid(account, transport_sid) + file_props.failure_cb = on_failure + streamhosts_to_test = [] + # Remove local IPs to not connect to ourself + for streamhost in file_props.streamhosts: + if streamhost['host'] == '127.0.0.1' or streamhost['host'] == '::1': + continue + streamhosts_to_test.append(streamhost) + if not streamhosts_to_test: + on_failure(file_props.transport_sid) + # add streamhosts to the queue + for streamhost in streamhosts_to_test: + if 'type' in streamhost and streamhost['type'] == 'proxy': + fp = None + else: + fp = fingerprint + if receiving: + if 'candidate_id' in streamhost: + log.debug('Trying to connect as receiver to cid %s', + streamhost['candidate_id']) + else: + log.debug('Trying to connect as receiver to jid %s', + streamhost['jid']) + file_props.type_ = 'r' + socks5obj = Socks5ReceiverClient(self.idlequeue, streamhost, + transport_sid, file_props, fingerprint=fp) + self.add_sockobj(account, socks5obj) + else: + if 'candidate_id' in streamhost: + log.debug('Trying to connect as sender to cid %s', + streamhost['candidate_id']) + else: + log.debug('Trying to connect as sender to jid %s', + streamhost['jid']) + if file_props.sha_str: + idx = file_props.sha_str + else: + idx = self.idx + self.idx = self.idx + 1 + file_props.type_ = 's' + if 'type' in streamhost and streamhost['type'] == 'proxy': + file_props.is_a_proxy = True + file_props.proxy_sender = streamhost['target'] + file_props.proxy_receiver = streamhost['initiator'] + socks5obj = Socks5SenderClient(self.idlequeue, idx, + self, _sock=None, host=str(streamhost['host']), + port=int(streamhost['port']), fingerprint=fp, + connected=False, file_props=file_props, + initiator=streamhost['initiator'], + target=streamhost['target']) + socks5obj.streamhost = streamhost + self.add_sockobj(account, socks5obj) + + streamhost['idx'] = socks5obj.queue_idx + + def _socket_connected(self, streamhost, file_props): + """ + Called when there is a host connected to one of the senders's + streamhosts. Stop other attempts for connections + """ + if 'candidate_id' in streamhost: + log.debug('Connected to cid %s', streamhost['candidate_id']) + else: + log.debug('Connected to jid %s', streamhost['jid']) + for host in file_props.streamhosts: + if host != streamhost and 'idx' in host: + if host['state'] == 1: + # remove current + if file_props.type_ == 's': + self.remove_sender(streamhost['idx'], False) + else: + self.remove_receiver(streamhost['idx']) + return + # set state -2, meaning that this streamhost is stopped, + # but it may be connected later + if host['state'] >= 0: + if file_props.type_ == 's': + self.remove_sender(host['idx'], False) + else: + self.remove_receiver(host['idx']) + host['idx'] = -1 + host['state'] = -2 + + def reconnect_client(self, client, streamhost): + """ + Check the state of all streamhosts and if all has failed, then emit + connection failure cb. If there are some which are still not connected + try to establish connection to one of them + """ + self.idlequeue.remove_timeout(client.fd) + self.idlequeue.unplug_idle(client.fd) + file_props = client.file_props + streamhost['state'] = -1 + # boolean, indicates that there are hosts, which are not tested yet + unused_hosts = False + for host in file_props.streamhosts: + if 'idx' in host: + if host['state'] >= 0: + return + if host['state'] == -2: + unused_hosts = True + if unused_hosts: + for host in file_props.streamhosts: + if host['state'] == -2: + host['state'] = 0 + # FIXME: make the sender reconnect also + client = Socks5ReceiverClient(self.idlequeue, host, + client.sid, file_props) + self.add_sockobj(client.account, client) + host['idx'] = client.queue_idx + # we still have chances to connect + return + if file_props.received_len == 0: + # there are no other streamhosts and transfer hasn't started + self._connection_refused(streamhost, file_props, client.queue_idx) + else: + # transfer stopped, it is most likely stopped from sender + client.disconnect() + file_props.error = -1 + self.process_result(-1, client) + + def _connection_refused(self, streamhost, file_props, idx): + """ + Called when we loose connection during transfer + """ + if 'candidate_id' in streamhost: + log.debug('Connection refused to cid %s', + streamhost['candidate_id']) + else: + log.debug('Connection refused to jid %s', streamhost['jid']) + if file_props is None: + return + streamhost['state'] = -1 + # FIXME: should only the receiver be remove? what if we are sending? + self.remove_receiver(idx, False) + for host in file_props.streamhosts: + if host['state'] != -1: + return + self.readers = {} + # failure_cb exists - this means that it has never been called + if file_props.failure_cb: + file_props.failure_cb(file_props.transport_sid) + file_props.failure_cb = None + + def add_sockobj(self, account, sockobj): + """ + Add new file a sockobj type receiver or sender, and use it to connect + to server + """ + if sockobj.file_props.type_ == 'r': + self._add(sockobj, self.readers, sockobj.file_props, self.idx) + else: + self._add(sockobj, self.senders, sockobj.file_props, self.idx) + sockobj.queue_idx = self.idx + sockobj.queue = self + sockobj.account = account + self.idx += 1 + result = sockobj.connect() + self.connected += 1 + if result is not None: + result = sockobj.main() + self.process_result(result, sockobj) + return 1 + return None + + def _add(self, sockobj, sockobjects, file_props, hash_): + ''' + Adds the sockobj to the current list of sockobjects + ''' + keys = (file_props.transport_sid, file_props.name, hash_) + sockobjects[keys] = sockobj + + def result_sha(self, sha_str, idx): + if sha_str in self.sha_handlers: + props = self.sha_handlers[sha_str] + props[0](props[1], idx) + + def activate_proxy(self, idx): + if not self.isHashInSockObjs(self.senders, idx): + return + for key in list(self.senders): + if idx in key: + sender = self.senders[key] + if sender.file_props.type_ != 's': + return + sender.state = 6 + if sender.connected: + sender.file_props.error = 0 + sender.file_props.disconnect_cb = sender.disconnect + sender.file_props.started = True + sender.file_props.completed = False + sender.file_props.paused = False + sender.file_props.stalled = False + sender.file_props.elapsed_time = 0 + sender.file_props.last_time = time.time() + sender.file_props.received_len = 0 + sender.pauses = 0 + # start sending file to proxy + self.idlequeue.set_read_timeout(sender.fd, STALLED_TIMEOUT) + self.idlequeue.plug_idle(sender, True, False) + result = sender.write_next() + self.process_result(result, sender) + + def send_file(self, file_props, account, mode): + for key in list(self.senders.keys()): + if file_props.name in key and file_props.transport_sid in key \ + and self.senders[key].mode == mode: + log.info('socks5: sending file') + sender = self.senders[key] + file_props.streamhost_used = True + sender.account = account + sender.file_props = file_props + result = sender.send_file() + self.process_result(result, sender) + + def isHashInSockObjs(self, sockobjs, hash_): + ''' + It tells whether there is a particular hash in sockobjs or not + ''' + for key in sockobjs: + if hash_ in key: + return True + return False + + def on_connection_accepted(self, sock, listener): + sock_hash = sock.__hash__() + if listener.file_props.type_ == 's' and \ + not self.isHashInSockObjs(self.senders, sock_hash): + sockobj = Socks5SenderServer(self.idlequeue, sock_hash, self, + sock[0], sock[1][0], sock[1][1], fingerprint=None, + file_props=listener.file_props) + self._add(sockobj, self.senders, listener.file_props, sock_hash) + # Start waiting for data + self.idlequeue.plug_idle(sockobj, False, True) + self.connected += 1 + if listener.file_props.type_ == 'r' and \ + not self.isHashInSockObjs(self.readers, sock_hash): + sh = {} + sh['host'] = sock[1][0] + sh['port'] = sock[1][1] + sh['initiator'] = None + sh['target'] = None + sockobj = Socks5ReceiverServer(idlequeue=self.idlequeue, + streamhost=sh, transport_sid=None, + file_props=listener.file_props, fingerprint=None) + + self._add(sockobj, self.readers, listener.file_props, sock_hash) + sockobj.set_sock(sock[0]) + sockobj.queue = self + self.connected += 1 + + def process_result(self, result, actor): + """ + Take appropriate actions upon the result: + [ 0, - 1 ] complete/end transfer + [ > 0 ] send progress message + [ None ] do nothing + """ + if result is None: + return + if result in (0, -1) and self.complete_transfer_cb is not None: + account = actor.account + if account is None and actor.file_props.tt_account: + account = actor.file_props.tt_account + self.complete_transfer_cb(account, actor.file_props) + elif self.progress_transfer_cb is not None: + self.progress_transfer_cb(actor.account, actor.file_props) + + def remove_receiver_by_key(self, key, do_disconnect=True): + reader = self.readers[key] + self.idlequeue.unplug_idle(reader.fd) + self.idlequeue.remove_timeout(reader.fd) + if do_disconnect: + reader.disconnect() + else: + if reader.streamhost is not None: + reader.streamhost['state'] = -1 + del self.readers[key] + + def remove_sender_by_key(self, key, do_disconnect=True): + sender = self.senders[key] + if do_disconnect: + sender.disconnect() + self.idlequeue.unplug_idle(sender.fd) + self.idlequeue.remove_timeout(sender.fd) + del self.senders[key] + if self.connected > 0: + self.connected -= 1 + + def remove_receiver(self, idx, do_disconnect=True, remove_all=False): + """ + Remove receiver from the list and decrease the number of active + connections with 1 + """ + if idx != -1: + for key in list(self.readers.keys()): + if idx in key: + self.remove_receiver_by_key( + key, do_disconnect=do_disconnect) + if not remove_all: + break + + def remove_sender(self, idx, do_disconnect=True, remove_all=False): + """ + Remove sender from the list of senders and decrease the number of active + connections with 1 + """ + if idx != -1: + for key in list(self.senders.keys()): + if idx in key: + self.remove_sender_by_key(key, do_disconnect=do_disconnect) + if not remove_all: + break + if not self.senders and self.listener is not None: + self.listener.disconnect() + self.listener = None + self.connected -= 1 + + def remove_by_mode(self, transport_sid, mode, do_disconnect=True): + for (key, sock) in self.senders.copy().items(): + if key[0] == transport_sid and sock.mode == mode: + self.remove_sender_by_key(key) + for (key, sock) in self.readers.copy().items(): + if key[0] == transport_sid and sock.mode == mode: + self.remove_receiver_by_key(key) + + def remove_server(self, transport_sid, do_disconnect=True): + self.remove_by_mode(transport_sid, 'server') + + def remove_client(self, transport_sid, do_disconnect=True): + self.remove_by_mode(transport_sid, 'client') + + def remove_other_servers(self, host_to_keep): + for (key, sock) in self.senders.copy().items(): + if sock.host != host_to_keep and sock.mode == 'server': + self.remove_sender_by_key(key) + +class Socks5: + def __init__(self, idlequeue, host, port, initiator, target, sid): + if host is not None: + try: + self.host = host + self.ais = socket.getaddrinfo(host, port, socket.AF_UNSPEC, + socket.SOCK_STREAM) + except socket.gaierror: + self.ais = None + self.idlequeue = idlequeue + self.fd = -1 + self.port = port + self.initiator = initiator + self.target = target + self.sid = sid + self._sock = None + self.account = None + self.state = 0 # not connected + self.pauses = 0 + self.size = 0 + self.remaining_buff = b'' + self.file = None + self.connected = False + self.mode = '' + self.ssl_cert = None + self.ssl_errnum = 0 + + def _is_connected(self): + if self.state < 5: + return False + return True + + def ssl_verify_cb(self, ssl_conn, cert, error_num, depth, return_code): + if depth == 0: + self.ssl_cert = cert + self.ssl_errnum = error_num + return True + + def connect(self): + """ + Create the socket and plug it to the idlequeue + """ + if self.ais is None: + return None + for ai in self.ais: + try: + self._sock = socket.socket(*ai[:3]) + if self.fingerprint is not None: + if self.file_props.type_ == 's': + remote_jid = app.get_jid_without_resource( + self.file_props.receiver) + else: + remote_jid = app.get_jid_without_resource( + self.file_props.sender) + self._sock = OpenSSL.SSL.Connection( + jingle_xtls.get_context('client', + verify_cb=self.ssl_verify_cb, remote_jid=remote_jid), + self._sock) + # this will not block the GUI + self._sock.setblocking(False) + self._server = ai[4] + break + except socket.error as e: + if e.errno == EINPROGRESS: + break + # for all other errors, we try other addresses + continue + self.fd = self._sock.fileno() + self.state = 0 # about to be connected + self.idlequeue.plug_idle(self, True, False) + self.do_connect() + self.idlequeue.set_read_timeout(self.fd, CONNECT_TIMEOUT) + return None + + def do_connect(self): + try: + self._sock.connect(self._server) + self._send = self._sock.send + self._recv = self._sock.recv + except (OpenSSL.SSL.WantReadError, OpenSSL.SSL.WantWriteError): + pass + except Exception as ee: + errnum = ee.errno + self.connect_timeout += 1 + if errnum == 111 or self.connect_timeout > 1000: + self.queue._connection_refused(self.streamhost, self.file_props, + self.queue_idx) + self.connected = False + return None + # win32 needs this + if errnum not in (10056, EISCONN) or self.state != 0: + return None + # socket is already connected + self._sock.setblocking(False) + self._send = self._sock.send + self._recv = self._sock.recv + self.buff = '' + self.connected = True + self.file_props.connected = True + self.file_props.disconnect_cb = self.disconnect + self.file_props.paused = False + self.state = 1 # connected + # stop all others connections to sender's streamhosts + self.queue._socket_connected(self.streamhost, self.file_props) + self.idlequeue.plug_idle(self, True, False) + return 1 # we are connected + + def read_timeout(self): + self.idlequeue.remove_timeout(self.fd) + if self.state > 5: + # no activity for foo seconds + if self.file_props.stalled is False: + self.file_props.stalled = True + self.queue.process_result(-1, self) + if not self.file_props.received_len: + self.file_props.received_len = 0 + if SEND_TIMEOUT > 0: + self.idlequeue.set_read_timeout(self.fd, SEND_TIMEOUT) + else: + # stop transfer, there is no error code for this + self.pollend() + else: + if self.mode == 'client': + self.queue.reconnect_client(self, self.streamhost) + + def open_file_for_reading(self): + if self.file is None: + try: + self.file = open(self.file_props.file_name, 'rb') + if self.file_props.offset: + self.size = self.file_props.offset + self.file.seek(self.size) + self.file_props.received_len = self.size + except IOError as e: + self.close_file() + raise IOError(str(e)) + + def close_file(self): + # Close file we're sending from + if self.file: + if not self.file.closed: + try: + self.file.close() + except Exception: + pass + self.file = None + # Close file we're receiving into + if self.file_props.fd and self.state >= 7: + try: + self.file_props.fd.close() + except Exception: + pass + + def get_fd(self): + """ + Test if file is already open and return its fd, or just open the file + and return the fd + """ + if self.file_props.fd: + fd = self.file_props.fd + else: + offset = 0 + opt = 'wb' + if self.file_props.offset: + offset = self.file_props.offset + opt = 'ab' + fd = open(self.file_props.file_name, opt) + self.file_props.fd = fd + self.file_props.elapsed_time = 0 + self.file_props.last_time = time.time() + self.file_props.received_len = offset + return fd + + def rem_fd(self, fd): + if self.file_props.fd: + self.file_props.fd = None + try: + fd.close() + except Exception: + pass + + def receive(self): + """ + Read small chunks of data. Call owner's disconnected() method if + appropriate + """ + received = b'' + try: + add = self._recv(64) + except (OpenSSL.SSL.WantReadError, OpenSSL.SSL.WantWriteError, + OpenSSL.SSL.WantX509LookupError) as e: + log.info('SSL rehandshake request: %s', repr(e)) + raise e + except Exception: + add = b'' + received += add + if not add: + self.disconnect() + return add + + def send_raw(self, raw_data): + """ + Write raw outgoing data + """ + try: + self._send(raw_data) + except (OpenSSL.SSL.WantReadError, OpenSSL.SSL.WantWriteError, + OpenSSL.SSL.WantX509LookupError) as e: + log.info('SSL rehandshake request: %s', repr(e)) + raise e + except Exception: + self.disconnect() + return len(raw_data) + + def write_next(self): + if self.remaining_buff != b'': + buff = self.remaining_buff + else: + try: + self.open_file_for_reading() + except IOError: + self.state = 8 # end connection + self.disconnect() + self.file_props.error = -7 # unable to read from file + return -1 + buff = self.file.read(MAX_BUFF_LEN) + if buff: + lenn = 0 + try: + lenn = self._send(buff) + except (OpenSSL.SSL.WantReadError, OpenSSL.SSL.WantWriteError, + OpenSSL.SSL.WantX509LookupError) as e: + log.info('SSL rehandshake request: %s', repr(e)) + raise e + except OpenSSL.SSL.SysCallError: + return self._on_send_exception() + except Exception as e: + if e.errno not in (EINTR, ENOBUFS, EWOULDBLOCK): + return self._on_send_exception() + self.size += lenn + current_time = time.time() + self.file_props.elapsed_time += current_time - \ + self.file_props.last_time + self.file_props.last_time = current_time + self.file_props.received_len = self.size + if self.size >= self.file_props.size: + self.state = 8 # end connection + self.file_props.error = 0 + self.disconnect() + return -1 + if lenn != len(buff): + self.remaining_buff = buff[lenn:] + else: + self.remaining_buff = b'' + self.state = 7 # continue to write in the socket + if lenn == 0: + return None + self.file_props.stalled = False + return lenn + + self.state = 8 # end connection + self.disconnect() + return -1 + + def _on_send_exception(self): + # peer stopped reading + self.state = 8 # end connection + self.disconnect() + self.file_props.error = -1 + return -1 + + def get_file_contents(self, timeout): + """ + Read file contents from socket and write them to file + """ + if self.file_props is None or not self.file_props.file_name: + self.file_props.error = -2 + return None + fd = None + if self.remaining_buff != b'': + try: + fd = self.get_fd() + except IOError: + self.disconnect() + self.file_props.error = -6 # file system error + return 0 + fd.write(self.remaining_buff) + lenn = len(self.remaining_buff) + current_time = time.time() + self.file_props.elapsed_time += current_time - \ + self.file_props.last_time + self.file_props.last_time = current_time + self.file_props.received_len += lenn + self.remaining_buff = b'' + if self.file_props.received_len == self.file_props.size: + self.rem_fd(fd) + self.disconnect() + self.file_props.error = 0 + self.file_props.completed = True + return 0 + else: + try: + fd = self.get_fd() + except IOError: + self.disconnect() + self.file_props.error = -6 # file system error + return 0 + try: + buff = self._recv(MAX_BUFF_LEN) + except (OpenSSL.SSL.WantReadError, OpenSSL.SSL.WantWriteError, + OpenSSL.SSL.WantX509LookupError) as e: + log.info('SSL rehandshake request: %s', repr(e)) + raise e + except Exception: + buff = b'' + current_time = time.time() + self.file_props.elapsed_time += current_time - \ + self.file_props.last_time + self.file_props.last_time = current_time + self.file_props.received_len += len(buff) + if not buff: + # Transfer stopped somehow: + # reset, paused or network error + self.rem_fd(fd) + self.disconnect() + self.file_props.error = -1 + return 0 + try: + fd.write(buff) + except IOError: + self.rem_fd(fd) + self.disconnect() + self.file_props.error = -6 # file system error + return 0 + if self.file_props.received_len >= self.file_props.size: + # transfer completed + self.rem_fd(fd) + self.disconnect() + self.file_props.error = 0 + self.file_props.completed = True + return 0 + # return number of read bytes. It can be used in progressbar + if fd is not None: + self.file_props.stalled = False + if fd is None and self.file_props.stalled is False: + return None + if self.file_props.received_len: + if self.file_props.received_len != 0: + return self.file_props.received_len + return None + + def disconnect(self, *args, **kwargs): + """ + Close open descriptors and remover socket descr. from idleque + """ + # be sure that we don't leave open file + self.close_file() + self.idlequeue.remove_timeout(self.fd) + self.idlequeue.unplug_idle(self.fd) + if self.mode == 'server' and self.queue.listener: + try: + self.queue.listener.connections.remove(self._sock) + except ValueError: + pass # Not in list + if self.queue.listener.connections == []: + self.queue.listener.disconnect() + try: + if isinstance(self._sock, OpenSSL.SSL.Connection): + self._sock.shutdown() + else: + self._sock.shutdown(socket.SHUT_RDWR) + self._sock.close() + except Exception: + # socket is already closed + pass + self.connected = False + self.fd = -1 + self.state = -1 + + def _get_auth_buff(self): + """ + Message, that we support 1 one auth mechanism: the 'no auth' mechanism + """ + return struct.pack('!BBB', 0x05, 0x01, 0x00) + + def _parse_auth_buff(self, buff): + """ + Parse the initial message and create a list of auth mechanisms + """ + if buff[0] != 5: + return None + num_auth = buff[1] + return list(buff[2:2+num_auth]) + + def _get_auth_response(self): + """ + Socks version(5), number of extra auth methods (we send 0x00 - no auth) + """ + return struct.pack('!BB', 0x05, 0x00) + + def _get_connect_buff(self): + """ + Connect request by domain name + """ + buff = struct.pack('!BBBBB%dsBB' % len(self.host), + 0x05, 0x01, 0x00, 0x03, len(self.host), self.host.encode('utf-8'), + self.port >> 8, self.port & 0xff) + return buff + + def _get_request_buff(self, msg, command=0x01): + """ + Connect request by domain name, sid sha, instead of domain name (jep + 0096) + """ + if isinstance(msg, str): + msg = msg.encode('utf-8') + buff = struct.pack('!BBBBB%dsBB' % len(msg), 0x05, command, 0x00, 0x03, + len(msg), msg, 0, 0) + return buff + + def _parse_request_buff(self, buff): + try: # don't trust on what comes from the outside + req_type, host_type, = struct.unpack('!xBxB', buff[:4]) + if host_type == 0x01: + host_arr = struct.unpack('!iiii', buff[4:8]) + host, = '.'.join(str(s) for s in host_arr) + host_len = len(host) + elif host_type == 0x03: + host_len = buff[4] + host, = struct.unpack('!%ds' % host_len, buff[5:5 + host_len]) + portlen = len(buff[host_len + 5:]) + if portlen == 1: + port, = struct.unpack('!B', buff[host_len + 5]) + elif portlen == 2: + port, = struct.unpack('!H', buff[host_len + 5:]) + # file data, comes with auth message (Gaim bug) + else: + port, = struct.unpack('!H', buff[host_len + 5: host_len + 7]) + self.remaining_buff = buff[host_len + 7:] + except Exception: + return (None, None, None) + return (req_type, host, port) + + def read_connect(self): + """ + Connect response: version, auth method + """ + try: + buff = self._recv().decode('utf-8') + except (OpenSSL.SSL.WantReadError, OpenSSL.SSL.WantWriteError, + OpenSSL.SSL.WantX509LookupError) as e: + log.info("SSL rehandshake request: %s", repr(e)) + raise e + try: + version, method = struct.unpack('!BB', buff) + except Exception: + version, method = None, None + if version != 0x05 or method == 0xff: + self.disconnect() + + def continue_paused_transfer(self): + if self.state < 5: + return + if self.file_props.type_ == 'r': + self.idlequeue.plug_idle(self, False, True) + else: + self.idlequeue.plug_idle(self, True, False) + + def _get_sha1_auth(self): + """ + Get sha of sid + Initiator jid + Target jid + """ + if self.file_props.is_a_proxy: + return hashlib.sha1(('%s%s%s' % (self.sid, + self.file_props.proxy_sender, self.file_props.proxy_receiver)).\ + encode('utf-8')).hexdigest() + return hashlib.sha1(('%s%s%s' % (self.sid, self.initiator, + self.target)).encode('utf-8')).hexdigest() + + +class Socks5Sender(IdleObject): + """ + Class for sending file to socket over socks5 + """ + def __init__(self, idlequeue, sock_hash, parent, _sock, host=None, + port=None, fingerprint=None, connected=True, file_props=None): + self.fingerprint = fingerprint + self.queue_idx = sock_hash + self.queue = parent + self.file_props = file_props + self.proxy = False + self._sock = _sock + if _sock is not None: + if self.fingerprint is not None and not isinstance(self._sock, + OpenSSL.SSL.Connection): + self._sock = OpenSSL.SSL.Connection( + jingle_xtls.get_context('server'), _sock) + else: + self._sock.setblocking(False) + self.fd = _sock.fileno() + self._recv = _sock.recv + self._send = _sock.send + self.connected = connected + self.state = 1 # waiting for first bytes + self.connect_timeout = 0 + + self.file_props.error = 0 + self.file_props.disconnect_cb = self.disconnect + self.file_props.started = True + self.file_props.completed = False + self.file_props.paused = False + self.file_props.continue_cb = self.continue_paused_transfer + self.file_props.stalled = False + self.file_props.connected = True + self.file_props.elapsed_time = 0 + self.file_props.last_time = time.time() + self.file_props.received_len = 0 + + def start_transfer(self): + """ + Send the file + """ + return self.write_next() + + def set_connection_sock(self, _sock): + self._sock = _sock + if self.fingerprint is not None: + self._sock = OpenSSL.SSL.Connection( + jingle_xtls.get_context('client'), _sock) + else: + self._sock.setblocking(False) + self.fd = _sock.fileno() + self._recv = _sock.recv + self._send = _sock.send + self.connected = True + self.state = 1 # waiting for first bytes + self.file_props = None + # start waiting for data + self.idlequeue.plug_idle(self, False, True) + + def send_file(self): + """ + Start sending the file over verified connection + """ + self.pauses = 0 + self.state = 7 + # plug for writing + self.idlequeue.plug_idle(self, True, False) + return self.write_next() # initial for nl byte + + def disconnect(self, cb=True): + """ + Close the socket + """ + # close connection and remove us from the queue + Socks5.disconnect(self) + if self.file_props is not None: + self.file_props.connected = False + self.file_props.disconnect_cb = None + if self.queue is not None: + self.queue.remove_sender(self.queue_idx, False) + + +class Socks5Receiver(IdleObject): + def __init__(self, idlequeue, streamhost, sid, file_props=None, + fingerprint=None): + """ + fingerprint: fingerprint of certificates we shall use, set to None if + TLS connection not desired + """ + self.queue_idx = -1 + self.streamhost = streamhost + self.queue = None + self.fingerprint = fingerprint + self.connect_timeout = 0 + self.connected = False + self.pauses = 0 + self.sid = sid + self.file_props = file_props + self.file_props.disconnect_cb = self.disconnect + self.file_props.error = 0 + self.file_props.started = True + self.file_props.completed = False + self.file_props.paused = False + self.file_props.continue_cb = self.continue_paused_transfer + self.file_props.stalled = False + self.file_props.received_len = 0 + + def receive_file(self): + """ + Start receiving the file over verified connection + """ + if self.file_props.started: + return + self.file_props.error = 0 + self.file_props.disconnect_cb = self.disconnect + self.file_props.started = True + self.file_props.completed = False + self.file_props.paused = False + self.file_props.continue_cb = self.continue_paused_transfer + self.file_props.stalled = False + self.file_props.connected = True + self.file_props.elapsed_time = 0 + self.file_props.last_time = time.time() + self.file_props.received_len = 0 + self.pauses = 0 + self.state = 7 + # plug for reading + self.idlequeue.plug_idle(self, False, True) + return self.get_file_contents(0) # initial for nl byte + + def start_transfer(self): + """ + Receive the file + """ + return self.get_file_contents(0) + + def set_sock(self, _sock): + self._sock = _sock + self._sock.setblocking(False) + self.fd = _sock.fileno() + self._recv = _sock.recv + self._send = _sock.send + self.connected = True + self.state = 1 # waiting for first bytes + # start waiting for data + self.idlequeue.plug_idle(self, False, True) + + def disconnect(self, cb=True): + """ + Close the socket. Remove self from queue if cb is True + """ + # close connection + Socks5.disconnect(self) + if cb is True: + self.file_props.disconnect_cb = None + if self.queue is not None: + self.queue.remove_receiver(self.queue_idx, False) + +class Socks5Server(Socks5): + + def __init__(self, idlequeue, host, port, initiator, target, sid): + Socks5.__init__(self, idlequeue, host, port, initiator, target, sid) + self.mode = 'server' + + def main(self): + """ + Initial requests for verifying the connection + """ + if self.state == 1: # initial read + buff = self.receive() + if not self.connected: + return -1 + mechs = self._parse_auth_buff(buff) + if mechs is None: + return -1 # invalid auth methods received + elif self.state == 3: # get next request + buff = self.receive() + req_type, self.sha_msg = self._parse_request_buff(buff)[:2] + if req_type != 0x01: + return -1 # request is not of type 'connect' + self.state += 1 # go to the next step + # unplug & plug for writing + self.idlequeue.plug_idle(self, True, False) + return None + + def pollin(self): + self.idlequeue.remove_timeout(self.fd) + if self.connected: + try: + if self.state < 5: + result = self.main() + if self.state == 4: + self.queue.result_sha(self.sha_msg, self.queue_idx) + if result == -1: + self.disconnect() + elif self.state == 5: + self.state = 7 + if self.file_props.type_ == 's': + # We wait for the end of the negotiation to + # send the file + self.idlequeue.plug_idle(self, False, False) + else: + # We plug for reading + self.idlequeue.plug_idle(self, False, True) + return + elif self.state == 7: + if self.file_props.paused: + self.file_props.continue_cb = \ + self.continue_paused_transfer + self.idlequeue.plug_idle(self, False, False) + return + self.idlequeue.set_read_timeout(self.fd, STALLED_TIMEOUT) + result = self.start_transfer() # send + self.queue.process_result(result, self) + except (OpenSSL.SSL.WantReadError, + OpenSSL.SSL.WantWriteError, + OpenSSL.SSL.WantX509LookupError): + log.info('caught SSL exception, ignored') + else: + self.disconnect() + + def pollend(self): + self.state = 8 # end connection + self.disconnect() + self.file_props.error = -1 + self.queue.process_result(-1, self) + + def pollout(self): + if not self.connected: + self.disconnect() + return + self.idlequeue.remove_timeout(self.fd) + try: + if self.state == 2: # send reply with desired auth type + self.send_raw(self._get_auth_response()) + elif self.state == 4: # send positive response to the 'connect' + self.send_raw(self._get_request_buff(self.sha_msg, 0x00)) + elif self.state == 7: + if self.file_props.paused: + self.file_props.continue_cb = self.continue_paused_transfer + self.idlequeue.plug_idle(self, False, False) + return + result = self.start_transfer() # send + self.queue.process_result(result, self) + if result is None or result <= 0: + self.disconnect() + return + self.idlequeue.set_read_timeout(self.fd, STALLED_TIMEOUT) + elif self.state == 8: + self.disconnect() + return + else: + self.disconnect() + except (OpenSSL.SSL.WantReadError, + OpenSSL.SSL.WantWriteError, + OpenSSL.SSL.WantX509LookupError): + log.info('caught SSL exception, ignored') + return + if self.state < 5: + self.state += 1 + # unplug and plug this time for reading + self.idlequeue.plug_idle(self, False, True) + + +class Socks5Client(Socks5): + + def __init__(self, idlequeue, host, port, initiator, target, sid): + Socks5.__init__(self, idlequeue, host, port, initiator, target, sid) + self.mode = 'client' + + def main(self, timeout=0): + """ + Begin negotiation. on success 'address' != 0 + """ + result = 1 + buff = self.receive() + if buff == b'': + # end connection + self.pollend() + return + if self.state == 2: # read auth response + if buff is None or len(buff) != 2: + return None + version, method = struct.unpack('!BB', buff[:2]) + if version != 0x05 or method == 0xff: + self.disconnect() + elif self.state == 4: # get approve of our request + if buff is None: + return None + sub_buff = buff[:4] + if len(sub_buff) < 4: + return None + version, address_type = struct.unpack('!BxxB', buff[:4]) + addrlen = 0 + if address_type == 0x03: + addrlen = buff[4] + # address = struct.unpack('!%ds' % addrlen, buff[5:addrlen + 5]) + portlen = len(buff[addrlen + 5:]) + # if portlen == 1: + # port, = struct.unpack('!B', buff[addrlen + 5]) + # elif portlen == 2: + # port, = struct.unpack('!H', buff[addrlen + 5:]) + # else: # Gaim bug :) + # port, = struct.unpack('!H', buff[addrlen + 5:addrlen + 7]) + if portlen not in (1, 2): + self.remaining_buff = buff[addrlen + 7:] + + self.state = 5 # for senders: init file_props and send '\n' + if self.queue.on_success: + result = self.queue.send_success_reply(self.file_props, + self.streamhost) + if self.file_props.type_ == 's' and self.proxy: + self.queue.process_result(self.send_file(), self) + return + if result == 0: + self.state = 8 + self.disconnect() + # for senders: init file_props + if result == 1 and self.state == 5: + if self.file_props.type_ == 's': + self.file_props.error = 0 + self.file_props.disconnect_cb = self.disconnect + self.file_props.started = True + self.file_props.completed = False + self.file_props.paused = False + self.file_props.stalled = False + self.file_props.elapsed_time = 0 + self.file_props.last_time = time.time() + self.file_props.received_len = 0 + self.pauses = 0 + # start sending file contents to socket + #self.idlequeue.set_read_timeout(self.fd, STALLED_TIMEOUT) + #self.idlequeue.plug_idle(self, True, False) + self.idlequeue.plug_idle(self, False, False) + else: + # receiving file contents from socket + self.idlequeue.plug_idle(self, False, True) + self.file_props.continue_cb = self.continue_paused_transfer + # we have set up the connection, next - retrieve file + self.state = 6 + if self.state < 5: + self.idlequeue.plug_idle(self, True, False) + self.state += 1 + return None + + def send_file(self): + if self.ssl_errnum > 0: + log.error('remote certificate does not match the announced one.' + '\nSSL Error: %d\nCancelling file transfer', + self.ssl_errnum) + self.file_props.error = -12 + return -1 + return super(Socks5Client, self).send_file() + + def pollin(self): + self.idlequeue.remove_timeout(self.fd) + if self.connected: + try: + if self.file_props.paused: + self.idlequeue.plug_idle(self, False, False) + return + if self.state < 5: + self.idlequeue.set_read_timeout(self.fd, CONNECT_TIMEOUT) + self.main(0) + elif self.state == 5: # wait for proxy reply + pass + elif self.file_props.type_ == 'r': + self.idlequeue.set_read_timeout(self.fd, STALLED_TIMEOUT) + result = self.start_transfer() # receive + self.queue.process_result(result, self) + except (OpenSSL.SSL.WantReadError, + OpenSSL.SSL.WantWriteError, + OpenSSL.SSL.WantX509LookupError): + log.info('caught SSL exception, ignored') + return + else: + self.disconnect() + + def pollout(self): + self.idlequeue.remove_timeout(self.fd) + try: + if self.state == 0: + self.do_connect() + return + if self.state == 1: # send initially: version and auth types + self.send_raw(self._get_auth_buff()) + elif self.state == 3: # send 'connect' request + self.send_raw(self._get_request_buff(self._get_sha1_auth())) + elif self.file_props.type_ != 'r': + if self.file_props.paused: + self.idlequeue.plug_idle(self, False, False) + return + result = self.start_transfer() # send + self.queue.process_result(result, self) + return + except (OpenSSL.SSL.WantReadError, + OpenSSL.SSL.WantWriteError, + OpenSSL.SSL.WantX509LookupError): + log.info('caught SSL exception, ignored') + return + self.state += 1 + # unplug and plug for reading + self.idlequeue.plug_idle(self, False, True) + self.idlequeue.set_read_timeout(self.fd, CONNECT_TIMEOUT) + + def pollend(self): + if self.state >= 5: + # error during transfer + self.disconnect() + self.file_props.error = -1 + self.queue.process_result(-1, self) + else: + self.queue.reconnect_client(self, self.streamhost) + + +class Socks5SenderClient(Socks5Client, Socks5Sender): + + def __init__(self, idlequeue, sock_hash, parent, _sock, host=None, + port=None, fingerprint=None, connected=True, file_props=None, + initiator=None, target=None): + Socks5Client.__init__(self, idlequeue, host, port, initiator, target, + file_props.transport_sid) + Socks5Sender.__init__(self, idlequeue, sock_hash, parent, _sock, + host, port, fingerprint, connected, file_props) + + +class Socks5SenderServer(Socks5Server, Socks5Sender): + + def __init__(self, idlequeue, sock_hash, parent, _sock, host=None, + port=None, fingerprint=None, connected=True, file_props=None): + Socks5Server.__init__(self, idlequeue, host, port, None, None, + file_props.transport_sid) + Socks5Sender.__init__(self, idlequeue, sock_hash, parent, _sock, + host, port, fingerprint, connected, file_props) + + +class Socks5ReceiverClient(Socks5Client, Socks5Receiver): + def __init__(self, idlequeue, streamhost, transport_sid, file_props=None, + fingerprint=None): + Socks5Client.__init__(self, idlequeue, streamhost['host'], + int(streamhost['port']), streamhost['initiator'], + streamhost['target'], transport_sid) + Socks5Receiver.__init__(self, idlequeue, streamhost, transport_sid, + file_props, fingerprint) + + +class Socks5ReceiverServer(Socks5Server, Socks5Receiver): + + def __init__(self, idlequeue, streamhost, transport_sid, file_props=None, + fingerprint=None): + Socks5Server.__init__(self, idlequeue, streamhost['host'], + int(streamhost['port']), streamhost['initiator'], + streamhost['target'], transport_sid) + Socks5Receiver.__init__(self, idlequeue, streamhost, transport_sid, + file_props, fingerprint) + + +class Socks5Listener(IdleObject): + def __init__(self, idlequeue, port, fp, fingerprint=None): + """ + Handle all incoming connections on (0.0.0.0, port) + + This class implements IdleObject, but we will expect + only pollin events though + + fingerprint: fingerprint of certificates we shall use, set to None if + TLS connection not desired + """ + self.port = port + self.ais = socket.getaddrinfo(None, port, socket.AF_UNSPEC, + socket.SOCK_STREAM, socket.SOL_TCP, socket.AI_PASSIVE) + self.ais.sort(reverse=True) # Try IPv6 first + self.queue_idx = -1 + self.idlequeue = idlequeue + self.queue = None + self.started = False + self._sock = None + self.fd = -1 + self.fingerprint = fingerprint + self.file_props = fp + self.connections = [] + + def bind(self): + for ai in self.ais: + # try the different possibilities (ipv6, ipv4, etc.) + try: + self._serv = socket.socket(*ai[:3]) + if self.fingerprint is not None: + self._serv = OpenSSL.SSL.Connection( + jingle_xtls.get_context('server'), self._serv) + except socket.error as e: + if e.errno == EAFNOSUPPORT: + self.ai = None + continue + raise + self._serv.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + self._serv.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1) + self._serv.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) + # Under windows Vista, we need that to listen on ipv6 AND ipv4 + # Doesn't work under windows XP + if os.name == 'nt': + if sys.getwindowsversion().major >= 6: # Win Vista + + # 47 is socket.IPPROTO_IPV6 + # 27 is socket.IPV6_V6ONLY under windows, but not defined ... + self._serv.setsockopt(41, 27, 0) + # will fail when port as busy, or we don't have rights to bind + try: + self._serv.bind(ai[4]) + self.ai = ai + break + except Exception: + self.ai = None + continue + if not self.ai: + log.error('unable to bind to port %s', str(self.port)) + return None + self._serv.listen(socket.SOMAXCONN) + self._serv.setblocking(False) + self.fd = self._serv.fileno() + self.idlequeue.plug_idle(self, False, True) + self.started = True + + def pollend(self): + """ + Called when we stop listening on (host, port) + """ + self.disconnect() + + def pollin(self): + """ + Accept a new incoming connection and notify queue + """ + sock = self.accept_conn() + self.queue.on_connection_accepted(sock, self) + + def disconnect(self): + """ + Free all resources, we are not listening anymore + """ + self.idlequeue.remove_timeout(self.fd) + self.idlequeue.unplug_idle(self.fd) + self.fd = -1 + self.state = -1 + self.started = False + try: + self._serv.close() + except Exception: + pass + + def accept_conn(self): + """ + Accept a new incoming connection + """ + _sock = self._serv.accept() + _sock[0].setblocking(False) + self.connections.append(_sock[0]) + return _sock diff --git a/gajim/common/storage/__init__.py b/gajim/common/storage/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/gajim/common/storage/archive.py b/gajim/common/storage/archive.py new file mode 100644 index 0000000..5d396a2 --- /dev/null +++ b/gajim/common/storage/archive.py @@ -0,0 +1,996 @@ +# Copyright (C) 2003-2014 Yann Leboulanger +# Copyright (C) 2004-2005 Vincent Hanquez +# Copyright (C) 2005-2006 Nikos Kouremenos +# Copyright (C) 2006 Dimitur Kirov +# Copyright (C) 2006-2008 Jean-Marie Traissard +# Copyright (C) 2007 Tomasz Melcer +# Julien Pivotto +# Copyright (C) 2018 Philipp Hörist +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import time +import datetime +import calendar +import json +import logging +import sqlite3 as sqlite +from collections import namedtuple + +from gajim.common import app +from gajim.common import configpaths +from gajim.common.helpers import AdditionalDataDict +from gajim.common.const import ShowConstant +from gajim.common.const import KindConstant +from gajim.common.const import JIDConstant + +from gajim.common.storage.base import SqliteStorage +from gajim.common.storage.base import timeit + + +CURRENT_USER_VERSION = 6 + +ARCHIVE_SQL_STATEMENT = ''' + CREATE TABLE jids( + jid_id INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE, + jid TEXT UNIQUE, + type INTEGER + ); + CREATE TABLE unread_messages( + message_id INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE, + jid_id INTEGER, + shown BOOLEAN default 0 + ); + CREATE INDEX idx_unread_messages_jid_id ON unread_messages (jid_id); + CREATE TABLE logs( + log_line_id INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE, + account_id INTEGER, + jid_id INTEGER, + contact_name TEXT, + time INTEGER, + kind INTEGER, + show INTEGER, + message TEXT, + error TEXT, + subject TEXT, + additional_data TEXT, + stanza_id TEXT, + message_id TEXT, + encryption TEXT, + encryption_state TEXT, + marker INTEGER + ); + CREATE TABLE last_archive_message( + jid_id INTEGER PRIMARY KEY UNIQUE, + last_mam_id TEXT, + oldest_mam_timestamp TEXT, + last_muc_timestamp TEXT + ); + CREATE INDEX idx_logs_jid_id_time ON logs (jid_id, time DESC); + CREATE INDEX idx_logs_stanza_id ON logs (stanza_id); + CREATE INDEX idx_logs_message_id ON logs (message_id); + PRAGMA user_version=%s; + ''' % CURRENT_USER_VERSION + + +log = logging.getLogger('gajim.c.storage.archive') + + +class MessageArchiveStorage(SqliteStorage): + def __init__(self): + SqliteStorage.__init__(self, + log, + configpaths.get('LOG_DB'), + ARCHIVE_SQL_STATEMENT) + + self._jid_ids = {} + self._jid_ids_reversed = {} + + def init(self, **kwargs): + SqliteStorage.init(self, + detect_types=sqlite.PARSE_COLNAMES) + + self._set_journal_mode('WAL') + self._enable_secure_delete() + + self._con.row_factory = self._namedtuple_factory + + self._con.create_function("like", 1, self._like) + self._con.create_function("get_timeout", 0, self._get_timeout) + + self._get_jid_ids_from_db() + self._cleanup_chat_history() + + def _namedtuple_factory(self, cursor, row): + fields = [col[0] for col in cursor.description] + Row = namedtuple("Row", fields) + named_row = Row(*row) + if 'additional_data' in fields: + _dict = json.loads(named_row.additional_data or '{}') + named_row = named_row._replace( + additional_data=AdditionalDataDict(_dict)) + + # if an alias `account` for the field `account_id` is used for the + # query, the account_id is converted to the account jid + if 'account' in fields: + if named_row.account: + jid = self._jid_ids_reversed[named_row.account].jid + named_row = named_row._replace(account=jid) + return named_row + + def _migrate(self): + user_version = self.user_version + if user_version == 0: + # All migrations from 0.16.9 until 1.0.0 + statements = [ + 'ALTER TABLE logs ADD COLUMN "account_id" INTEGER', + 'ALTER TABLE logs ADD COLUMN "stanza_id" TEXT', + 'ALTER TABLE logs ADD COLUMN "encryption" TEXT', + 'ALTER TABLE logs ADD COLUMN "encryption_state" TEXT', + 'ALTER TABLE logs ADD COLUMN "marker" INTEGER', + 'ALTER TABLE logs ADD COLUMN "additional_data" TEXT', + '''CREATE TABLE IF NOT EXISTS last_archive_message( + jid_id INTEGER PRIMARY KEY UNIQUE, + last_mam_id TEXT, + oldest_mam_timestamp TEXT, + last_muc_timestamp TEXT + )''', + + '''CREATE INDEX IF NOT EXISTS idx_logs_stanza_id + ON logs(stanza_id)''', + 'PRAGMA user_version=1' + ] + + self._execute_multiple(statements) + + if user_version < 2: + statements = [ + 'ALTER TABLE last_archive_message ADD COLUMN "sync_threshold" INTEGER', + 'PRAGMA user_version=2' + ] + self._execute_multiple(statements) + + if user_version < 3: + statements = [ + 'ALTER TABLE logs ADD COLUMN "message_id" TEXT', + 'PRAGMA user_version=3' + ] + self._execute_multiple(statements) + + if user_version < 4: + statements = [ + 'ALTER TABLE logs ADD COLUMN "error" TEXT', + 'PRAGMA user_version=4' + ] + self._execute_multiple(statements) + + if user_version < 5: + statements = [ + 'CREATE INDEX idx_logs_message_id ON logs (message_id)', + 'PRAGMA user_version=5' + ] + self._execute_multiple(statements) + + @staticmethod + def dispatch(event, error): + app.ged.raise_event(event, None, str(error)) + + @staticmethod + def _get_timeout(): + """ + returns the timeout in epoch + """ + timeout = app.settings.get('restore_timeout') + + now = int(time.time()) + if timeout > 0: + timeout = now - (timeout * 60) + return timeout + + @staticmethod + def _like(search_str): + return '%{}%'.format(search_str) + + @timeit + def _get_jid_ids_from_db(self): + """ + Load all jid/jid_id tuples into a dict for faster access + """ + rows = self._con.execute( + 'SELECT jid_id, jid, type FROM jids').fetchall() + for row in rows: + self._jid_ids[row.jid] = row + self._jid_ids_reversed[row.jid_id] = row + + def get_jids_in_db(self): + return self._jid_ids.keys() + + def jid_is_from_pm(self, jid): + """ + If jid is gajim@conf/nkour it's likely a pm one, how we know gajim@conf + is not a normal guy and nkour is not his resource? we ask if gajim@conf + is already in jids (with type room jid) this fails if user disables + logging for room and only enables for pm (so highly unlikely) and if we + fail we do not go chaos (user will see the first pm as if it was message + in room's public chat) and after that all okay + """ + if jid.find('/') > -1: + possible_room_jid = jid.split('/', 1)[0] + return self.jid_is_room_jid(possible_room_jid) + # it's not a full jid, so it's not a pm one + return False + + def jid_is_room_jid(self, jid): + """ + Return True if it's a room jid, False if it's not, None if we don't know + """ + jid_ = self._jid_ids.get(jid) + if jid_ is None: + return None + return jid_.type == JIDConstant.ROOM_TYPE + + @staticmethod + def _get_family_jids(account, jid): + """ + Get all jids of the metacontacts family + + :param account: The account + + :param jid: The JID + + returns a list of JIDs' + """ + family = app.contacts.get_metacontacts_family(account, jid) + if family: + return [user['jid'] for user in family] + return [jid] + + def get_account_id(self, account, type_=JIDConstant.NORMAL_TYPE): + jid = app.get_jid_from_account(account) + return self.get_jid_id(jid, type_=type_) + + @timeit + def get_jid_id(self, jid, kind=None, type_=None): + """ + Get the jid id from a jid. + In case the jid id is not found create a new one. + + :param jid: The JID + + :param kind: The KindConstant + + :param type_: The JIDConstant + + return the jid id + """ + + if kind in (KindConstant.GC_MSG, KindConstant.GCSTATUS): + type_ = JIDConstant.ROOM_TYPE + elif kind is not None: + type_ = JIDConstant.NORMAL_TYPE + + result = self._jid_ids.get(jid, None) + if result is not None: + return result.jid_id + + sql = 'SELECT jid_id, jid, type FROM jids WHERE jid = ?' + row = self._con.execute(sql, [jid]).fetchone() + if row is not None: + self._jid_ids[jid] = row + return row.jid_id + + if type_ is None: + raise ValueError( + 'Unable to insert new JID because type is missing') + + sql = 'INSERT INTO jids (jid, type) VALUES (?, ?)' + lastrowid = self._con.execute(sql, (jid, type_)).lastrowid + Row = namedtuple('Row', 'jid_id jid type') + self._jid_ids[jid] = Row(lastrowid, jid, type_) + self._delayed_commit() + return lastrowid + + @staticmethod + def convert_show_values_to_db_api_values(show): + """ + Convert from string style to constant ints for db + """ + + if show == 'online': + return ShowConstant.ONLINE + if show == 'chat': + return ShowConstant.CHAT + if show == 'away': + return ShowConstant.AWAY + if show == 'xa': + return ShowConstant.XA + if show == 'dnd': + return ShowConstant.DND + if show == 'offline': + return ShowConstant.OFFLINE + if show is None: + return ShowConstant.ONLINE + # invisible in GC when someone goes invisible + # it's a RFC violation .... but we should not crash + return None + + @timeit + def insert_unread_events(self, message_id, jid_id): + """ + Add unread message with id: message_id + """ + sql = '''INSERT INTO unread_messages (message_id, jid_id, shown) + VALUES (?, ?, 0)''' + self._con.execute(sql, (message_id, jid_id)) + self._delayed_commit() + + @timeit + def set_read_messages(self, message_ids): + """ + Mark all messages with ids in message_ids as read + """ + ids = ','.join([str(i) for i in message_ids]) + sql = 'DELETE FROM unread_messages WHERE message_id IN (%s)' % ids + self._con.execute(sql) + self._delayed_commit() + + @timeit + def set_shown_unread_msgs(self, msg_log_id): + """ + Mark unread message as shown un GUI + """ + sql = 'UPDATE unread_messages SET shown = 1 where message_id = %s' % \ + msg_log_id + self._con.execute(sql) + self._delayed_commit() + + @timeit + def reset_shown_unread_messages(self): + """ + Set shown field to False in unread_messages table + """ + sql = 'UPDATE unread_messages SET shown = 0' + self._con.execute(sql) + self._delayed_commit() + + @timeit + def get_unread_msgs(self): + """ + Get all unread messages + """ + all_messages = [] + try: + unread_results = self._con.execute( + 'SELECT message_id, shown from unread_messages').fetchall() + except Exception: + unread_results = [] + for message in unread_results: + msg_log_id = message.message_id + shown = message.shown + # here we get infos for that message, and related jid from jids table + # do NOT change order of SELECTed things, unless you change function(s) + # that called this function + result = self._con.execute(''' + SELECT logs.log_line_id, logs.message, logs.time, logs.subject, + jids.jid, logs.additional_data + FROM logs, jids + WHERE logs.log_line_id = %d AND logs.jid_id = jids.jid_id + ''' % msg_log_id + ).fetchone() + if result is None: + # Log line is no more in logs table. + # remove it from unread_messages + self.set_read_messages([msg_log_id]) + continue + + all_messages.append((result, shown)) + return all_messages + + @timeit + def load_groupchat_messages(self, account, jid): + account_id = self.get_account_id(account, type_=JIDConstant.ROOM_TYPE) + + sql = ''' + SELECT time, contact_name, message, additional_data, message_id + FROM logs NATURAL JOIN jids WHERE jid = ? + AND account_id = ? AND kind = ? + ORDER BY time DESC, log_line_id DESC LIMIT ?''' + + messages = self._con.execute( + sql, (jid, account_id, KindConstant.GC_MSG, 50)).fetchall() + + messages.reverse() + return messages + + @timeit + def get_last_conversation_lines(self, account, jid, pending): + """ + Get recent messages + + Pending messages are already in queue to be printed when the + ChatControl is opened, so we don’t want to request those messages. + How many messages are requested depends on the 'restore_lines' + config value. How far back in time messages are requested depends on + _get_timeout(). + + :param account: The account + + :param jid: The jid from which we request the conversation lines + + :param pending: How many messages are currently pending so we don’t + request those messages + + returns a list of namedtuples + """ + + restore = app.settings.get('restore_lines') + if restore <= 0: + return [] + + kinds = map(str, [KindConstant.SINGLE_MSG_RECV, + KindConstant.SINGLE_MSG_SENT, + KindConstant.CHAT_MSG_RECV, + KindConstant.CHAT_MSG_SENT, + KindConstant.ERROR]) + + jids = self._get_family_jids(account, jid) + account_id = self.get_account_id(account) + + sql = ''' + SELECT time, kind, message, error as "error [common_error]", + subject, additional_data, marker as "marker [marker]", + message_id + FROM logs NATURAL JOIN jids WHERE jid IN ({jids}) + AND account_id = {account_id} AND kind IN ({kinds}) + AND time > get_timeout() + ORDER BY time DESC, log_line_id DESC LIMIT ? OFFSET ? + '''.format(jids=', '.join('?' * len(jids)), + account_id=account_id, + kinds=', '.join(kinds)) + + messages = self._con.execute( + sql, tuple(jids) + (restore, pending)).fetchall() + + messages.reverse() + return messages + + @timeit + def get_conversation_for_date(self, account, jid, date): + """ + Load the complete conversation with a given jid on a specific date + + :param account: The account + + :param jid: The jid for which we request the conversation + + :param date: datetime.datetime instance + example: datetime.datetime(year, month, day) + + returns a list of namedtuples + """ + + jids = self._get_family_jids(account, jid) + + delta = datetime.timedelta( + hours=23, minutes=59, seconds=59, microseconds=999999) + + sql = ''' + SELECT contact_name, time, kind, show, message, subject, + additional_data, log_line_id + FROM logs NATURAL JOIN jids WHERE jid IN ({jids}) + AND time BETWEEN ? AND ? + ORDER BY time, log_line_id + '''.format(jids=', '.join('?' * len(jids))) + + return self._con.execute(sql, tuple(jids) + + (date.timestamp(), + (date + delta).timestamp())).fetchall() + + @timeit + def search_log(self, account, jid, query, date=None): + """ + Search the conversation log for messages containing the `query` string. + + The search can either span the complete log for the given + `account` and `jid` or be restricted to a single day by + specifying `date`. + + :param account: The account + + :param jid: The jid for which we request the conversation + + :param query: A search string + + :param date: datetime.datetime instance + example: datetime.datetime(year, month, day) + + returns a list of namedtuples + """ + jids = self._get_family_jids(account, jid) + + if date: + delta = datetime.timedelta( + hours=23, minutes=59, seconds=59, microseconds=999999) + + between = ''' + AND time BETWEEN {start} AND {end} + '''.format(start=date.timestamp(), + end=(date + delta).timestamp()) + + sql = ''' + SELECT contact_name, time, kind, show, message, subject, + additional_data, log_line_id + FROM logs NATURAL JOIN jids WHERE jid IN ({jids}) + AND message LIKE like(?) {date_search} + ORDER BY time DESC, log_line_id + '''.format(jids=', '.join('?' * len(jids)), + date_search=between if date else '') + + return self._con.execute(sql, tuple(jids) + (query,)).fetchall() + + @timeit + def get_days_with_logs(self, account, jid, year, month): + """ + Request the days in a month where we received messages + for a given `jid`. + + :param account: The account + + :param jid: The jid for which we request the days + + :param year: The year + + :param month: The month + + returns a list of namedtuples + """ + jids = self._get_family_jids(account, jid) + + kinds = map(str, [KindConstant.STATUS, + KindConstant.GCSTATUS]) + + # Calculate the start and end datetime of the month + date = datetime.datetime(year, month, 1) + days = calendar.monthrange(year, month)[1] - 1 + delta = datetime.timedelta( + days=days, hours=23, minutes=59, seconds=59, microseconds=999999) + + sql = """ + SELECT DISTINCT + CAST(strftime('%d', time, 'unixepoch', 'localtime') AS INTEGER) + AS day FROM logs NATURAL JOIN jids WHERE jid IN ({jids}) + AND time BETWEEN ? AND ? + AND kind NOT IN ({kinds}) + ORDER BY time + """.format(jids=', '.join('?' * len(jids)), + kinds=', '.join(kinds)) + + return self._con.execute(sql, tuple(jids) + + (date.timestamp(), + (date + delta).timestamp())).fetchall() + + @timeit + def get_last_date_that_has_logs(self, account, jid): + """ + Get the timestamp of the last message we received for the jid. + + :param account: The account + + :param jid: The jid for which we request the last timestamp + + returns a timestamp or None + """ + jids = self._get_family_jids(account, jid) + + kinds = map(str, [KindConstant.STATUS, + KindConstant.GCSTATUS]) + + sql = ''' + SELECT MAX(time) as time FROM logs + NATURAL JOIN jids WHERE jid IN ({jids}) + AND kind NOT IN ({kinds}) + '''.format(jids=', '.join('?' * len(jids)), + kinds=', '.join(kinds)) + + # fetchone() returns always at least one Row with all + # attributes set to None because of the MAX() function + return self._con.execute(sql, tuple(jids)).fetchone().time + + @timeit + def get_first_date_that_has_logs(self, account, jid): + """ + Get the timestamp of the first message we received for the jid. + + :param account: The account + + :param jid: The jid for which we request the first timestamp + + returns a timestamp or None + """ + jids = self._get_family_jids(account, jid) + + kinds = map(str, [KindConstant.STATUS, + KindConstant.GCSTATUS]) + + sql = ''' + SELECT MIN(time) as time FROM logs + NATURAL JOIN jids WHERE jid IN ({jids}) + AND kind NOT IN ({kinds}) + '''.format(jids=', '.join('?' * len(jids)), + kinds=', '.join(kinds)) + + # fetchone() returns always at least one Row with all + # attributes set to None because of the MIN() function + return self._con.execute(sql, tuple(jids)).fetchone().time + + @timeit + def get_date_has_logs(self, account, jid, date): + """ + Get single timestamp of a message we received for the jid + in the time range of one day. + + :param account: The account + + :param jid: The jid for which we request the first timestamp + + :param date: datetime.datetime instance + example: datetime.datetime(year, month, day) + + returns a timestamp or None + """ + jids = self._get_family_jids(account, jid) + + delta = datetime.timedelta( + hours=23, minutes=59, seconds=59, microseconds=999999) + + start = date.timestamp() + end = (date + delta).timestamp() + + sql = ''' + SELECT time + FROM logs NATURAL JOIN jids WHERE jid IN ({jids}) + AND time BETWEEN ? AND ? + '''.format(jids=', '.join('?' * len(jids))) + + return self._con.execute( + sql, tuple(jids) + (start, end)).fetchone() + + @timeit + def deduplicate_muc_message(self, account, jid, resource, + timestamp, message_id): + """ + Check if a message is already in the `logs` table + + :param account: The account + + :param jid: The muc jid as string + + :param resource: The resource + + :param timestamp: The timestamp in UTC epoch + + :param message_id: The message-id + """ + + # Add 60 seconds around the timestamp + start_time = timestamp - 60 + end_time = timestamp + 60 + + account_id = self.get_account_id(account) + log.debug('Search for MUC duplicate') + log.debug('start: %s, end: %s, jid: %s, resource: %s, message-id: %s', + start_time, end_time, jid, resource, message_id) + + sql = ''' + SELECT * FROM logs + NATURAL JOIN jids WHERE + jid = ? AND + contact_name = ? AND + message_id = ? AND + account_id = ? AND + time BETWEEN ? AND ? + ''' + + result = self._con.execute(sql, (jid, + resource, + message_id, + account_id, + start_time, + end_time)).fetchone() + + if result is not None: + log.debug('Found duplicate') + return True + return False + + @timeit + def find_stanza_id(self, account, archive_jid, stanza_id, origin_id=None, + groupchat=False): + """ + Checks if a stanza-id is already in the `logs` table + + :param account: The account + + :param archive_jid: The jid of the archive the stanza-id belongs to + only used if groupchat=True + + :param stanza_id: The stanza-id + + :param origin_id: The origin-id + + :param groupchat: stanza-id is from a groupchat + + return True if the stanza-id was found + """ + ids = [] + if stanza_id is not None: + ids.append(stanza_id) + if origin_id is not None: + ids.append(origin_id) + + if not ids: + return False + + type_ = JIDConstant.NORMAL_TYPE + if groupchat: + type_ = JIDConstant.ROOM_TYPE + + archive_id = self.get_jid_id(archive_jid, type_=type_) + account_id = self.get_account_id(account) + + if groupchat: + # Stanza ID is only unique within a specific archive. + # So a Stanza ID could be repeated in different MUCs, so we + # filter also for the archive JID which is the bare MUC jid. + + # Use Unary-"+" operator for "jid_id", otherwise the + # idx_logs_jid_id_time index is used instead of the much better + # idx_logs_stanza_id index + sql = ''' + SELECT stanza_id FROM logs + WHERE stanza_id IN ({values}) + AND +jid_id = ? AND account_id = ? LIMIT 1 + '''.format(values=', '.join('?' * len(ids))) + result = self._con.execute( + sql, tuple(ids) + (archive_id, account_id)).fetchone() + else: + sql = ''' + SELECT stanza_id FROM logs + WHERE stanza_id IN ({values}) AND account_id = ? AND kind != ? LIMIT 1 + '''.format(values=', '.join('?' * len(ids))) + result = self._con.execute( + sql, tuple(ids) + (account_id, KindConstant.GC_MSG)).fetchone() + + if result is not None: + log.info('Found duplicated message, stanza-id: %s, origin-id: %s, ' + 'archive-jid: %s, account: %s', stanza_id, origin_id, archive_jid, account_id) + return True + return False + + def insert_jid(self, jid, kind=None, type_=JIDConstant.NORMAL_TYPE): + """ + Insert a new jid into the `jids` table. + This is an alias of get_jid_id() for better readablility. + + :param jid: The jid as string + + :param kind: A KindConstant + + :param type_: A JIDConstant + """ + return self.get_jid_id(jid, kind, type_) + + @timeit + def insert_into_logs(self, account, jid, time_, kind, + unread=True, **kwargs): + """ + Insert a new message into the `logs` table + + :param jid: The jid as string + + :param time_: The timestamp in UTC epoch + + :param kind: A KindConstant + + :param unread: If True the message is added to the`unread_messages` + table. Only if kind == CHAT_MSG_RECV + + :param kwargs: Every additional named argument must correspond to + a field in the `logs` table + """ + jid_id = self.get_jid_id(jid, kind=kind) + account_id = self.get_account_id(account) + + if 'additional_data' in kwargs: + if not kwargs['additional_data']: + del kwargs['additional_data'] + else: + serialized_dict = json.dumps(kwargs["additional_data"].data) + kwargs['additional_data'] = serialized_dict + + sql = ''' + INSERT INTO logs (account_id, jid_id, time, kind, {columns}) + VALUES (?, ?, ?, ?, {values}) + '''.format(columns=', '.join(kwargs.keys()), + values=', '.join('?' * len(kwargs))) + + lastrowid = self._con.execute( + sql, (account_id, jid_id, time_, kind) + tuple(kwargs.values())).lastrowid + + log.info('Insert into DB: jid: %s, time: %s, kind: %s, stanza_id: %s', + jid, time_, kind, kwargs.get('stanza_id', None)) + + if unread and kind == KindConstant.CHAT_MSG_RECV: + sql = '''INSERT INTO unread_messages (message_id, jid_id) + VALUES (?, (SELECT jid_id FROM jids WHERE jid = ?))''' + self._con.execute(sql, (lastrowid, jid)) + + self._delayed_commit() + + return lastrowid + + @timeit + def set_message_error(self, account_jid, jid, message_id, error): + """ + Update the corresponding message with the error + + :param account_jid: The jid of the account + + :param jid: The jid that belongs to the avatar + + :param message_id: The id of the message + + :param error: The error stanza as string + + """ + + account_id = self.get_jid_id(account_jid) + try: + jid_id = self.get_jid_id(str(jid)) + except ValueError: + # Unknown JID + return + + sql = ''' + UPDATE logs SET error = ? + WHERE account_id = ? AND jid_id = ? AND message_id = ? + ''' + self._con.execute(sql, (error, account_id, jid_id, message_id)) + self._delayed_commit() + + @timeit + def set_marker(self, account_jid, jid, message_id, state): + """ + Update the marker state of the corresponding message + + :param account_jid: The jid of the account + + :param jid: The jid that belongs to the avatar + + :param message_id: The id of the message + + :param state: The state, 'received' or 'displayed' + + """ + if state not in ('received', 'displayed'): + raise ValueError('Invalid marker state') + + account_id = self.get_jid_id(account_jid) + try: + jid_id = self.get_jid_id(str(jid)) + except ValueError: + # Unknown JID + return + + state = 0 if state == 'received' else 1 + + sql = ''' + UPDATE logs SET marker = ? + WHERE account_id = ? AND jid_id = ? AND message_id = ? + ''' + self._con.execute(sql, (state, account_id, jid_id, message_id)) + self._delayed_commit() + + @timeit + def get_archive_infos(self, jid): + """ + Get the archive infos + + :param jid: The jid that belongs to the avatar + + """ + jid_id = self.get_jid_id(jid, type_=JIDConstant.ROOM_TYPE) + sql = '''SELECT * FROM last_archive_message WHERE jid_id = ?''' + return self._con.execute(sql, (jid_id,)).fetchone() + + @timeit + def set_archive_infos(self, jid, **kwargs): + """ + Set archive infos + + :param jid: The jid that belongs to the avatar + + :param last_mam_id: The last MAM result id + + :param oldest_mam_timestamp: The oldest date we requested MAM + history for + + :param last_muc_timestamp: The timestamp of the last message we + received in a MUC + + :param sync_threshold: The max days that we request from a + MUC archive + + """ + jid_id = self.get_jid_id(jid) + exists = self.get_archive_infos(jid) + if not exists: + sql = '''INSERT INTO last_archive_message + (jid_id, last_mam_id, oldest_mam_timestamp, + last_muc_timestamp) + VALUES (?, ?, ?, ?)''' + self._con.execute(sql, ( + jid_id, + kwargs.get('last_mam_id', None), + kwargs.get('oldest_mam_timestamp', None), + kwargs.get('last_muc_timestamp', None), + )) + else: + for key, value in list(kwargs.items()): + if value is None: + del kwargs[key] + + args = ' = ?, '.join(kwargs.keys()) + ' = ?' + sql = '''UPDATE last_archive_message SET {} + WHERE jid_id = ?'''.format(args) + self._con.execute(sql, tuple(kwargs.values()) + (jid_id,)) + log.info('Set message archive info: %s %s', jid, kwargs) + self._delayed_commit() + + @timeit + def reset_archive_infos(self, jid): + """ + Set archive infos + + :param jid: The jid of the archive + + """ + jid_id = self.get_jid_id(jid) + sql = '''UPDATE last_archive_message + SET last_mam_id = NULL, oldest_mam_timestamp = NULL, + last_muc_timestamp = NULL + WHERE jid_id = ?''' + self._con.execute(sql, (jid_id,)) + log.info('Reset message archive info: %s', jid) + self._delayed_commit() + + def _cleanup_chat_history(self): + """ + Remove messages from account where messages are older than max_age + """ + for account in app.settings.get_accounts(): + max_age = app.settings.get_account_setting( + account, 'chat_history_max_age') + if max_age == -1: + continue + account_id = self.get_account_id(account) + now = time.time() + point_in_time = now - int(max_age) + + sql = 'DELETE FROM logs WHERE account_id = ? AND time < ?' + + cursor = self._con.execute(sql, (account_id, point_in_time)) + self._delayed_commit() + log.info('Removed %s old messages for %s', cursor.rowcount, account) diff --git a/gajim/common/storage/base.py b/gajim/common/storage/base.py new file mode 100644 index 0000000..eb82dfa --- /dev/null +++ b/gajim/common/storage/base.py @@ -0,0 +1,192 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import sys +import math +import time +import sqlite3 + +from gi.repository import GLib + +from nbxmpp.protocol import Iq +from nbxmpp.protocol import JID +from nbxmpp.structs import DiscoInfo +from nbxmpp.structs import CommonError +from nbxmpp.modules.discovery import parse_disco_info + + +def timeit(func): + def func_wrapper(self, *args, **kwargs): + start = time.time() + result = func(self, *args, **kwargs) + exec_time = (time.time() - start) * 1e3 + level = 30 if exec_time > 50 else 10 + self._log.log(level, + 'Execution time for %s: %s ms', + func.__name__, + math.ceil(exec_time)) + return result + return func_wrapper + + +def _convert_common_error(common_error): + return CommonError.from_string(common_error) + +def _adapt_common_error(common_error): + return common_error.serialize() + +sqlite3.register_converter('common_error', _convert_common_error) +sqlite3.register_adapter(CommonError, _adapt_common_error) + + +def _convert_marker(marker): + return 'received' if int(marker) == 0 else 'displayed' + + +sqlite3.register_converter('marker', _convert_marker) + +def _jid_adapter(jid): + return str(jid) + +def _jid_converter(jid): + return JID.from_string(jid.decode()) + +sqlite3.register_converter('jid', _jid_converter) +sqlite3.register_adapter(JID, _jid_adapter) + +def _convert_disco_info(disco_info): + return parse_disco_info(Iq(node=disco_info)) + +def _adapt_disco_info(disco_info): + return str(disco_info.stanza) + +sqlite3.register_converter('disco_info', _convert_disco_info) +sqlite3.register_adapter(DiscoInfo, _adapt_disco_info) + + +class SqliteStorage: + ''' + Base Storage Class + ''' + + def __init__(self, + log, + path, + create_statement, + commit_delay=500): + + self._log = log + self._path = path + self._create_statement = create_statement + self._commit_delay = commit_delay + self._con = None + self._commit_source_id = None + + def init(self, **kwargs): + if self._path.exists(): + if not self._path.is_file(): + sys.exit('%s must be a file', self._path) + self._con = self._connect(**kwargs) + + else: + self._con = self._create_storage(**kwargs) + + self._migrate_storage() + + def _set_journal_mode(self, mode): + self._con.execute(f'PRAGMA journal_mode={mode}') + + def _set_synchronous(self, mode): + self._con.execute(f'PRAGMA synchronous={mode}') + + def _enable_secure_delete(self): + self._con.execute('PRAGMA secure_delete=1') + + @property + def user_version(self) -> int: + return self._con.execute('PRAGMA user_version').fetchone()[0] + + def _connect(self, **kwargs): + return sqlite3.connect(self._path, **kwargs) + + def _create_storage(self, **kwargs): + self._log.info('Creating %s', self._path) + con = self._connect(**kwargs) + self._path.chmod(0o600) + + try: + con.executescript(self._create_statement) + except Exception: + self._log.exception('Error') + con.close() + self._path.unlink() + sys.exit('Failed creating storage') + + con.commit() + return con + + def _reinit_storage(self): + if self._con is not None: + self._con.close() + self._path.unlink() + self.init() + + def _migrate_storage(self): + try: + self._migrate() + except Exception: + self._con.close() + self._log.exception('Error') + sys.exit() + + def _migrate(self): + raise NotImplementedError + + def _execute_multiple(self, statements): + """ + Execute multiple statements with the option to fail on duplicates + but still continue + """ + for sql in statements: + try: + self._con.execute(sql) + self._con.commit() + except sqlite3.OperationalError as error: + if str(error).startswith('duplicate column name:'): + self._log.info(error) + else: + self._con.close() + self._log.exception('Error') + sys.exit() + + @timeit + def _commit(self): + self._commit_source_id = None + self._con.commit() + return False + + def _delayed_commit(self): + if self._commit_source_id is not None: + return + + self._commit_source_id = GLib.timeout_add(self._commit_delay, + self._commit) + + def shutdown(self): + if self._commit_source_id is not None: + GLib.source_remove(self._commit_source_id) + + self._commit() + self._con.close() + self._con = None diff --git a/gajim/common/storage/cache.py b/gajim/common/storage/cache.py new file mode 100644 index 0000000..691c895 --- /dev/null +++ b/gajim/common/storage/cache.py @@ -0,0 +1,264 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import json +import time +import sqlite3 +import logging +from collections import namedtuple + +from gajim.common import configpaths +from gajim.common.storage.base import SqliteStorage +from gajim.common.storage.base import timeit + + +CURRENT_USER_VERSION = 6 + +CACHE_SQL_STATEMENT = ''' + CREATE TABLE caps_cache ( + hash_method TEXT, + hash TEXT, + data TEXT, + last_seen INTEGER + ); + CREATE TABLE last_seen_disco_info( + jid TEXT PRIMARY KEY UNIQUE, + disco_info TEXT, + last_seen INTEGER + ); + CREATE TABLE roster( + account TEXT PRIMARY KEY UNIQUE, + roster TEXT + ); + CREATE TABLE muc_avatars( + jid TEXT PRIMARY KEY UNIQUE, + avatar_sha TEXT + ); + PRAGMA user_version=%s; + ''' % CURRENT_USER_VERSION + +log = logging.getLogger('gajim.c.storage.cache') + + +class CacheStorage(SqliteStorage): + def __init__(self): + SqliteStorage.__init__(self, + log, + configpaths.get('CACHE_DB'), + CACHE_SQL_STATEMENT) + + self._entity_caps_cache = {} + self._disco_info_cache = {} + self._muc_avatar_sha_cache = {} + + def init(self, **kwargs): + SqliteStorage.init(self, + detect_types=sqlite3.PARSE_COLNAMES) + self._set_journal_mode('WAL') + self._con.row_factory = self._namedtuple_factory + + self._fill_disco_info_cache() + self._fill_muc_avatar_sha_cache() + self._clean_caps_table() + self._load_caps_data() + + @staticmethod + def _namedtuple_factory(cursor, row): + fields = [col[0] for col in cursor.description] + Row = namedtuple("Row", fields) + return Row(*row) + + def _migrate(self): + user_version = self.user_version + if user_version > CURRENT_USER_VERSION: + # Gajim was downgraded, reinit the storage + self._reinit_storage() + return + + if user_version < 6: + self._reinit_storage() + + @timeit + def _load_caps_data(self): + rows = self._con.execute( + 'SELECT hash_method, hash, data as "data [disco_info]" ' + 'FROM caps_cache') + + for row in rows: + self._entity_caps_cache[(row.hash_method, row.hash)] = row.data + + @timeit + def add_caps_entry(self, jid, hash_method, hash_, caps_data): + self._entity_caps_cache[(hash_method, hash_)] = caps_data + + self._disco_info_cache[jid] = caps_data + + self._con.execute(''' + INSERT INTO caps_cache (hash_method, hash, data, last_seen) + VALUES (?, ?, ?, ?) + ''', (hash_method, hash_, caps_data, int(time.time()))) + self._delayed_commit() + + def get_caps_entry(self, hash_method, hash_): + return self._entity_caps_cache.get((hash_method, hash_)) + + @timeit + def update_caps_time(self, method, hash_): + sql = '''UPDATE caps_cache SET last_seen = ? + WHERE hash_method = ? and hash = ?''' + self._con.execute(sql, (int(time.time()), method, hash_)) + self._delayed_commit() + + @timeit + def _clean_caps_table(self): + """ + Remove caps which was not seen for 3 months + """ + timestamp = int(time.time()) - 3 * 30 * 24 * 3600 + self._con.execute('DELETE FROM caps_cache WHERE last_seen < ?', + (timestamp,)) + self._delayed_commit() + + @timeit + def _fill_disco_info_cache(self): + sql = '''SELECT disco_info as "disco_info [disco_info]", + jid, last_seen FROM + last_seen_disco_info''' + rows = self._con.execute(sql).fetchall() + for row in rows: + disco_info = row.disco_info._replace(timestamp=row.last_seen) + self._disco_info_cache[row.jid] = disco_info + log.info('%d DiscoInfo entries loaded', len(rows)) + + def get_last_disco_info(self, jid, max_age=0): + """ + Get last disco info from jid + + :param jid: The jid + + :param max_age: max age in seconds of the DiscoInfo record + + """ + + disco_info = self._disco_info_cache.get(jid) + if disco_info is not None: + max_timestamp = time.time() - max_age if max_age else 0 + if max_timestamp > disco_info.timestamp: + return None + return disco_info + + @timeit + def set_last_disco_info(self, jid, disco_info, cache_only=False): + """ + Get last disco info from jid + + :param jid: The jid + + :param disco_info: A DiscoInfo object + + """ + + log.info('Save disco info from %s', jid) + + if cache_only: + self._disco_info_cache[jid] = disco_info + return + + disco_exists = self.get_last_disco_info(jid) is not None + if disco_exists: + sql = '''UPDATE last_seen_disco_info SET + disco_info = ?, last_seen = ? + WHERE jid = ?''' + + self._con.execute(sql, (disco_info, disco_info.timestamp, str(jid))) + + else: + sql = '''INSERT INTO last_seen_disco_info + (jid, disco_info, last_seen) + VALUES (?, ?, ?)''' + + self._con.execute(sql, (str(jid), disco_info, disco_info.timestamp)) + + self._disco_info_cache[jid] = disco_info + self._delayed_commit() + + @timeit + def store_roster(self, account, roster): + serialized = json.dumps(roster) + + insert_sql = 'INSERT INTO roster(account, roster) VALUES(?, ?)' + update_sql = 'UPDATE roster SET roster = ? WHERE account = ?' + + try: + self._con.execute(insert_sql, (account, serialized)) + except sqlite3.IntegrityError: + self._con.execute(update_sql, (serialized, account)) + + self._delayed_commit() + + @timeit + def load_roster(self, account): + select_sql = 'SELECT roster FROM roster WHERE account = ?' + result = self._con.execute(select_sql, (account,)).fetchone() + if result is None: + return None + return json.loads(result.roster) + + @timeit + def remove_roster(self, account): + delete_sql = 'DELETE FROM roster WHERE account = ?' + self._con.execute(delete_sql, (account,)) + self._commit() + + @timeit + def _fill_muc_avatar_sha_cache(self): + sql = '''SELECT jid, avatar_sha FROM muc_avatars''' + rows = self._con.execute(sql).fetchall() + for row in rows: + self._muc_avatar_sha_cache[row.jid] = row.avatar_sha + log.info('%d Avatar SHA entries loaded', len(rows)) + + @timeit + def set_muc_avatar_sha(self, jid, sha=None): + """ + Set the avatar sha of a MUC + + :param jid: The MUC jid that belongs to the avatar + + :param sha: The sha of the avatar + + """ + + sql = '''INSERT INTO muc_avatars (jid, avatar_sha) + VALUES (?, ?)''' + + try: + self._con.execute(sql, (jid, sha)) + except sqlite3.IntegrityError: + sql = 'UPDATE muc_avatars SET avatar_sha = ? WHERE jid = ?' + self._con.execute(sql, (sha, jid)) + + self._muc_avatar_sha_cache[jid] = sha + + self._delayed_commit() + + def get_muc_avatar_sha(self, jid): + """ + Get the avatar sha of a MUC + + :param jid: The MUC jid that belongs to the avatar + + """ + + return self._muc_avatar_sha_cache.get(jid) diff --git a/gajim/common/structs.py b/gajim/common/structs.py new file mode 100644 index 0000000..8d8d034 --- /dev/null +++ b/gajim/common/structs.py @@ -0,0 +1,167 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import time +from collections import namedtuple + +from nbxmpp.protocol import JID + +from gajim.common.const import MUCJoinedState +from gajim.common.const import KindConstant + +URI = namedtuple('URI', 'type action data') +URI.__new__.__defaults__ = (None, None) # type: ignore + + +class MUCData: + def __init__(self, room_jid, nick, password, config=None): + self._room_jid = JID.from_string(room_jid) + self._config = config + self.nick = nick + self.password = password + self.state = MUCJoinedState.NOT_JOINED + # Message id of the captcha challenge + self.captcha_id = None + + @property + def jid(self): + return self._room_jid + + @property + def occupant_jid(self): + return self._room_jid.new_with(resource=self.nick) + + @property + def config(self): + return self._config + + +class OutgoingMessage: + def __init__(self, + account, + contact, + message, + type_, + subject=None, + chatstate=None, + marker=None, + resource=None, + user_nick=None, + label=None, + control=None, + attention=None, + correct_id=None, + oob_url=None, + xhtml=None, + nodes=None, + play_sound=True): + + if type_ not in ('chat', 'groupchat', 'normal', 'headline'): + raise ValueError('Unknown message type: %s' % type_) + + if not message and chatstate is None and marker is None: + raise ValueError('Trying to send message without content') + + self.account = account + self.contact = contact + self.message = message + self.type_ = type_ + + if type_ == 'chat': + self.kind = KindConstant.CHAT_MSG_SENT + elif type_ == 'groupchat': + self.kind = KindConstant.GC_MSG + elif type_ == 'normal': + self.kind = KindConstant.SINGLE_MSG_SENT + else: + raise ValueError('Unknown message type') + + from gajim.common.helpers import AdditionalDataDict + self.additional_data = AdditionalDataDict() + + self.subject = subject + self.chatstate = chatstate + self.marker = marker + self.resource = resource + self.user_nick = user_nick + self.label = label + self.control = control + self.attention = attention + self.correct_id = correct_id + + self.oob_url = oob_url + + if oob_url is not None: + self.additional_data.set_value('gajim', 'oob_url', oob_url) + + self.xhtml = xhtml + + if xhtml is not None: + self.additional_data.set_value('gajim', 'xhtml', xhtml) + + self.nodes = nodes + self.play_sound = play_sound + + self.timestamp = None + self.message_id = None + self.stanza = None + self.session = None + self.delayed = None # TODO never set + + self.is_loggable = True + + def copy(self): + message = OutgoingMessage(self.account, + self.contact, + self.message, + self.type_) + for name, value in vars(self).items(): + setattr(message, name, value) + message.additional_data = self.additional_data.copy() + return message + + @property + def jid(self): + return self.contact.jid + + @property + def is_groupchat(self): + return self.type_ == 'groupchat' + + @property + def is_chat(self): + return self.type_ == 'chat' + + @property + def is_normal(self): + return self.type_ == 'normal' + + def set_sent_timestamp(self): + if self.is_groupchat: + return + self.timestamp = time.time() + + @property + def is_encrypted(self): + return bool(self.additional_data.get_value('encrypted', 'name', False)) + + @property + def msg_iq(self): + # Backwards compatibility for plugins + return self.stanza + + @msg_iq.setter + def msg_iq(self, value): + # Backwards compatibility for plugins + self.stanza = value diff --git a/gajim/common/task_manager.py b/gajim/common/task_manager.py new file mode 100644 index 0000000..18b10f3 --- /dev/null +++ b/gajim/common/task_manager.py @@ -0,0 +1,108 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from __future__ import annotations + +from typing import List + +import functools +import queue +import logging + +from gi.repository import GLib + +log = logging.getLogger('gajim.c.m.task_manager') + + +class TaskManager: + def __init__(self): + self._timeout = None + self._queue = queue.PriorityQueue() + + def _start_worker(self) -> None: + self._timeout = GLib.timeout_add_seconds(2, self._process_queue) + + def _process_queue(self) -> bool: + log.info('%s tasks queued', self._queue.qsize()) + requeue = [] + while not self._queue.empty(): + task = self._queue.get_nowait() + if task.is_obsolete(): + log.info('Task obsolete: %r', task) + continue + + if not task.preconditions_met(): + if task.is_obsolete(): + log.info('Task obsolete: %r', task) + else: + requeue.append(task) + continue + + log.info('Execute task %r', task) + task.execute() + self._requeue_tasks(requeue) + return True + + if self._requeue_tasks(requeue): + # Queue is empty, but there are tasks to requeue + # don't stop worker + return True + + # Queue is empty, stop worker + self._timeout = None + return False + + def _requeue_tasks(self, tasks: List[Task]) -> bool: + if not tasks: + return False + + for task in tasks: + log.info('Requeue task (preconditions not met): %r', task) + self._queue.put_nowait(task) + return True + + def add_task(self, task: Task) -> None: + log.info('Adding task: %r', task) + self._queue.put_nowait(task) + if self._timeout is None: + self._start_worker() + + +@functools.total_ordering +class Task: + def __init__(self, priority: int = 0): + self.priority = priority + self._obsolete = False + + def is_obsolete(self) -> bool: + return self._obsolete + + def set_obsolete(self) -> None: + self._obsolete = True + + def __lt__(self, other: object) -> bool: + if not isinstance(other, Task): + raise NotImplementedError + return self.priority < other.priority + + def __eq__(self, other: object) -> bool: + if not isinstance(other, Task): + raise NotImplementedError + return other.priority == self.priority + + def execute(self) -> None: + raise NotImplementedError + + def preconditions_met(self) -> bool: + raise NotImplementedError diff --git a/gajim/common/types.py b/gajim/common/types.py new file mode 100644 index 0000000..7e10afe --- /dev/null +++ b/gajim/common/types.py @@ -0,0 +1,65 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# Types for typechecking + +from typing import Callable +from typing import Dict +from typing import List +from typing import Optional +from typing import Tuple +from typing import Union +from typing import TYPE_CHECKING + +from pathlib import Path +import nbxmpp + +from gajim.common.const import PathType, PathLocation + +if TYPE_CHECKING: + # pylint: disable=unused-import + from gajim.common.client import Client + from gajim.common.zeroconf.connection_zeroconf import ConnectionZeroconf + from gajim.common.contacts import Contact + from gajim.common.contacts import GC_Contact + from gajim.common.contacts import LegacyContactsAPI + from gajim.common.nec import NetworkEvent + from gajim.common.nec import NetworkEventsController + + from gajim.gui_interface import Interface + from gajim.common.settings import Settings + + +NetworkEventsControllerT = Union['NetworkEventsController'] +InterfaceT = Union['Interface'] + +ConnectionT = Union['Client', 'ConnectionZeroconf'] +ContactsT = Union['Contact', 'GC_Contact'] +ContactT = Union['Contact'] +LegacyContactsAPIT = Union['LegacyContactsAPI'] + +# PEP +PEPNotifyCallback = Callable[[nbxmpp.JID, nbxmpp.Node], None] +PEPHandlersDict = Dict[str, List[PEPNotifyCallback]] + +# Configpaths +PathTuple = Tuple[Optional[PathLocation], Path, Optional[PathType]] + +# Plugins +PluginExtensionPoints = Dict[str, Tuple[Optional[Callable[..., None]], + Optional[Callable[..., None]]]] +EventHandlersDict = Dict[str, Tuple[int, Callable[['NetworkEvent'], Optional[bool]]]] +PluginEvents = List['NetworkEvent'] + +SettingsT = Union['Settings'] diff --git a/gajim/common/zeroconf/__init__.py b/gajim/common/zeroconf/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/gajim/common/zeroconf/client_zeroconf.py b/gajim/common/zeroconf/client_zeroconf.py new file mode 100644 index 0000000..f392bbb --- /dev/null +++ b/gajim/common/zeroconf/client_zeroconf.py @@ -0,0 +1,857 @@ +# Copyright (C) 2006 Stefan Bethge +# 2006 Dimitur Kirov +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. + +# Gajim 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 Gajim. If not, see . + +import socket +import ssl +import errno +import sys +import os +import logging +from unittest.mock import Mock + +import nbxmpp +from nbxmpp import old_dispatcher as dispatcher +from nbxmpp import simplexml +from nbxmpp.namespaces import Namespace +from nbxmpp.structs import StanzaHandler +from nbxmpp.plugin import PlugIn +from nbxmpp.idlequeue import IdleObject +from nbxmpp.util import generate_id + +from gajim.common import app +from gajim.common.zeroconf import zeroconf +from gajim.common.zeroconf import roster_zeroconf + +log = logging.getLogger('gajim.c.z.client_zeroconf') + + +MAX_BUFF_LEN = 65536 +TYPE_SERVER, TYPE_CLIENT = range(2) + +# wait XX sec to establish a connection +CONNECT_TIMEOUT_SECONDS = 10 + +# after XX sec with no activity, close the stream +ACTIVITY_TIMEOUT_SECONDS = 30 + +class ZeroconfListener(IdleObject): + def __init__(self, port, conn_holder): + """ + Handle all incoming connections on ('0.0.0.0', port) + """ + self.port = port + self.queue_idx = -1 + #~ self.queue = None + self.started = False + self._sock = None + self.fd = -1 + self.caller = conn_holder.caller + self.conn_holder = conn_holder + + def bind(self): + flags = socket.AI_PASSIVE + if hasattr(socket, 'AI_ADDRCONFIG'): + flags |= socket.AI_ADDRCONFIG + ai = socket.getaddrinfo(None, self.port, socket.AF_UNSPEC, + socket.SOCK_STREAM, 0, flags)[0] + self._serv = socket.socket(ai[0], ai[1]) + self._serv.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + self._serv.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1) + self._serv.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) + if os.name == 'nt': + if sys.getwindowsversion().major >= 6: # Win Vista + + # 47 is socket.IPPROTO_IPV6 + # 27 is socket.IPV6_V6ONLY under windows, but not defined ... + self._serv.setsockopt(41, 27, 0) + # will fail when port is busy, or we don't have rights to bind + try: + self._serv.bind((ai[4][0], self.port)) + except Exception: + # unable to bind, show error dialog + return None + self._serv.listen(socket.SOMAXCONN) + self._serv.setblocking(False) + self.fd = self._serv.fileno() + app.idlequeue.plug_idle(self, False, True) + self.started = True + + def pollend(self): + """ + Called when we stop listening on (host, port) + """ + self.disconnect() + + def pollin(self): + """ + Accept a new incoming connection and notify queue + """ + sock = self.accept_conn() + # loop through roster to find who has connected to us + from_jid = None + ipaddr = sock[1][0] + for jid in self.conn_holder.getRoster().keys(): + entry = self.conn_holder.getRoster().getItem(jid) + for address in entry['addresses']: + if address['address'] == ipaddr: + from_jid = jid + break + P2PClient(sock[0], [{'host': ipaddr, 'address': ipaddr, 'port': sock[1][1]}], self.conn_holder, [], from_jid) + + def disconnect(self, message=''): + """ + Free all resources, we are not listening anymore + """ + log.info('Disconnecting ZeroconfListener: %s', message) + app.idlequeue.remove_timeout(self.fd) + app.idlequeue.unplug_idle(self.fd) + self.fd = -1 + self.started = False + try: + self._serv.close() + except socket.error: + pass + self.conn_holder.kill_all_connections() + + def accept_conn(self): + """ + Accept a new incoming connection + """ + _sock = self._serv.accept() + _sock[0].setblocking(False) + return _sock + +class P2PClient(IdleObject): + def __init__(self, _sock, addresses, conn_holder, stanzaqueue, to=None, + on_ok=None, on_not_ok=None): + self._owner = self + self.Namespace = 'jabber:client' + self.protocol_type = 'XMPP' + self.defaultNamespace = self.Namespace + self.Smacks = Mock() + self._component = 0 + self._registered_name = None + self._caller = conn_holder.caller + self.conn_holder = conn_holder + self.stanzaqueue = stanzaqueue + self.to = to + #self.Server = addresses[0]['host'] + self.on_ok = on_ok + self.on_not_ok = on_not_ok + self.Connection = None + self.sock_hash = None + if _sock: + self.sock_type = TYPE_SERVER + else: + self.sock_type = TYPE_CLIENT + self.fd = -1 + conn = P2PConnection('', _sock, addresses, self._caller, + self.on_connect, self) + self.Server = conn.host # set Server to the last host name / address tried + if not self.conn_holder: + # An error occurred, disconnect() has been called + if on_not_ok: + on_not_ok('Connection to host could not be established.') + return + self.sock_hash = conn._sock.__hash__ + self.fd = conn.fd + self.conn_holder.add_connection(self, self.Server, conn.port, self.to) + # count messages in queue + for val in self.stanzaqueue: + stanza, is_message = val + if is_message: + if self.fd == -1: + if on_not_ok: + on_not_ok( + 'Connection to host could not be established.') + return + thread_id = stanza.getThread() + id_ = stanza.getID() + if not id_: + id_ = generate_id() + if self.fd in self.conn_holder.ids_of_awaiting_messages: + self.conn_holder.ids_of_awaiting_messages[self.fd].append(( + id_, thread_id)) + else: + self.conn_holder.ids_of_awaiting_messages[self.fd] = [(id_, + thread_id)] + + self.on_responses = {} + + def get_bound_jid(self): + return self._caller.get_own_jid() + + def add_stanza(self, stanza, is_message=False): + if self.Connection: + if self.Connection.state == -1: + return False + self.send(stanza, is_message) + else: + self.stanzaqueue.append((stanza, is_message)) + + if is_message: + thread_id = stanza.getThread() + id_ = stanza.getID() + if not id_: + id_ = generate_id() + if self.fd in self.conn_holder.ids_of_awaiting_messages: + self.conn_holder.ids_of_awaiting_messages[self.fd].append((id_, + thread_id)) + else: + self.conn_holder.ids_of_awaiting_messages[self.fd] = [(id_, + thread_id)] + + return True + + def on_message_sent(self, connection_id): + id_, _thread_id = \ + self.conn_holder.ids_of_awaiting_messages[connection_id].pop(0) + if self.on_ok: + self.on_ok(id_) + # use on_ok only on first message. For others it's called in + # ClientZeroconf + self.on_ok = None + + def on_connect(self, conn): + self.Connection = conn + self.Connection.PlugIn(self) + dispatcher.Dispatcher().PlugIn(self) + self._register_handlers() + + def StreamInit(self): + """ + Send an initial stream header + """ + self.Dispatcher.Stream = simplexml.NodeBuilder() + self.Dispatcher.Stream._dispatch_depth = 2 + self.Dispatcher.Stream.dispatch = self.Dispatcher.dispatch + self.Dispatcher.Stream.stream_header_received = self._check_stream_start + self.Dispatcher.Stream.features = None + if self.sock_type == TYPE_CLIENT: + self.send_stream_header() + + def send_stream_header(self): + self.Dispatcher._metastream = nbxmpp.Node('stream:stream') + self.Dispatcher._metastream.setNamespace(self.Namespace) + self.Dispatcher._metastream.setAttr('version', '1.0') + self.Dispatcher._metastream.setAttr('xmlns:stream', Namespace.STREAMS) + self.Dispatcher._metastream.setAttr('from', + self.conn_holder.zeroconf.name) + if self.to: + self.Dispatcher._metastream.setAttr('to', self.to) + self.Dispatcher.send("%s>" % str( + self.Dispatcher._metastream)[:-2]) + + def _check_stream_start(self, ns, tag, attrs): + if ns != Namespace.STREAMS or tag != 'stream': + log.error('Incorrect stream start: (%s,%s).Terminating!', + tag, ns) + self.Connection.disconnect() + if self.on_not_ok: + self.on_not_ok('Connection to host could not be established: ' + 'Incorrect answer from server.') + return + if self.sock_type == TYPE_SERVER: + if 'from' in attrs: + self.to = attrs['from'] + self.send_stream_header() + if 'version' in attrs and attrs['version'] == '1.0': + # other part supports stream features + features = nbxmpp.Node('stream:features') + self.Dispatcher.send(features) + while self.stanzaqueue: + stanza, is_message = self.stanzaqueue.pop(0) + self.send(stanza, is_message) + elif self.sock_type == TYPE_CLIENT: + while self.stanzaqueue: + stanza, is_message = self.stanzaqueue.pop(0) + self.send(stanza, is_message) + + def on_disconnect(self): + if self.conn_holder: + if self.fd in self.conn_holder.ids_of_awaiting_messages: + del self.conn_holder.ids_of_awaiting_messages[self.fd] + self.conn_holder.remove_connection(self.sock_hash) + if 'Dispatcher' in self.__dict__: + self._caller._unregister_new_handlers(self) + self.Dispatcher.PlugOut() + if 'P2PConnection' in self.__dict__: + self.P2PConnection.PlugOut() + self.Connection = None + self._caller = None + self.conn_holder = None + + def force_disconnect(self): + if self.Connection: + self.disconnect() + else: + self.on_disconnect() + + def _on_receive_document_attrs(self, data): + if data: + self.Dispatcher.ProcessNonBlocking(data) + if not hasattr(self, 'Dispatcher') or \ + self.Dispatcher.Stream._document_attrs is None: + return + self.onreceive(None) + if 'version' in self.Dispatcher.Stream._document_attrs and \ + self.Dispatcher.Stream._document_attrs['version'] == '1.0': + #~ self.onreceive(self._on_receive_stream_features) + #XXX continue with TLS + return + self.onreceive(None) + return True + + def remove_timeout(self): + pass + + def _register_handlers(self): + self._caller.peerhost = self.Connection._sock.getsockname() + + self.RegisterHandler(*StanzaHandler(name='message', + callback=self._caller._messageCB)) + self.RegisterHandler(*StanzaHandler(name='message', + typ='error', + callback=self._caller._message_error_received)) + + self._caller._register_new_handlers(self) + + +class P2PConnection(IdleObject, PlugIn): + def __init__(self, sock_hash, _sock, addresses=None, caller=None, + on_connect=None, client=None): + IdleObject.__init__(self) + self._owner = client + PlugIn.__init__(self) + self.sendqueue = [] + self.sendbuff = None + self.buff_is_message = False + self._sock = _sock + self.sock_hash = None + self.addresses = addresses + self.on_connect = on_connect + self.client = client + self.writable = False + self.readable = False + self._exported_methods = [self.send, self.disconnect, self.onreceive] + self.on_receive = None + if _sock: + self.host = addresses[0]['host'] + self.port = addresses[0]['port'] + self._sock = _sock + self.state = 1 + self._sock.setblocking(False) + self.fd = self._sock.fileno() + self.on_connect(self) + else: + self.state = 0 + self.addresses_ = self.addresses + self.get_next_addrinfo() + + def get_next_addrinfo(self): + address = self.addresses_.pop(0) + self.host = address['host'] + self.port = address['port'] + try: + self.ais = socket.getaddrinfo(address['host'], address['port'], socket.AF_UNSPEC, + socket.SOCK_STREAM) + except socket.gaierror as e: + log.info('Lookup failure for %s: %s[%s]', self.host, e[1], + repr(e[0]), exc_info=True) + if self.addresses_: + return self.get_next_addrinfo() + else: + self.connect_to_next_ip() + + def connect_to_next_ip(self): + if not self.ais: + log.error('Connection failure to %s', str(self.host), exc_info=True) + if self.addresses_: + return self.get_next_addrinfo() + self.disconnect() + return + ai = self.ais.pop(0) + log.info('Trying to connect to %s through %s:%s', + str(self.host), ai[4][0], ai[4][1], exc_info=True) + try: + self._sock = socket.socket(*ai[:3]) + self._sock.setblocking(False) + self._server = ai[4] + except socket.error: + if sys.exc_value[0] != errno.EINPROGRESS: + # for all errors, we try other addresses + self.connect_to_next_ip() + return + self.fd = self._sock.fileno() + app.idlequeue.plug_idle(self, True, False) + self.set_timeout(CONNECT_TIMEOUT_SECONDS) + self.do_connect() + + def set_timeout(self, timeout): + app.idlequeue.remove_timeout(self.fd) + if self.state >= 0: + app.idlequeue.set_read_timeout(self.fd, timeout) + + def plugin(self, owner): + self.onreceive(owner._on_receive_document_attrs) + self._plug_idle() + return True + + def plugout(self): + """ + Disconnect from the remote server and unregister self.disconnected + method from the owner's dispatcher + """ + self.disconnect() + self._owner = None + + def onreceive(self, recv_handler): + if not recv_handler: + if hasattr(self._owner, 'Dispatcher'): + self.on_receive = self._owner.Dispatcher.ProcessNonBlocking + else: + self.on_receive = None + return + _tmp = self.on_receive + # make sure this cb is not overridden by recursive calls + if not recv_handler(None) and _tmp == self.on_receive: + self.on_receive = recv_handler + + def send(self, packet, is_message=False, now=False): + """ + Append stanza to the queue of messages to be send if now is False, else + send it instantly + """ + if self.state <= 0: + return + + r = str(packet).encode('utf-8') + + if now: + self.sendqueue.insert(0, (r, is_message)) + self._do_send() + else: + self.sendqueue.append((r, is_message)) + self._plug_idle() + + def read_timeout(self): + ids = self.client.conn_holder.ids_of_awaiting_messages + if self.fd in ids and ids[self.fd]: + for (_id, thread_id) in ids[self.fd]: + if hasattr(self._owner, 'Dispatcher'): + self._owner.Dispatcher.Event('', 'DATA ERROR', ( + self.client.to, thread_id)) + else: + self._owner.on_not_ok('connection timeout') + ids[self.fd] = [] + self.pollend() + + def do_connect(self): + errnum = 0 + try: + self._sock.connect(self._server[:2]) + self._sock.setblocking(False) + except Exception as ee: + errnum = ee.errno + errstr = ee.strerror + errors = (errno.EINPROGRESS, errno.EALREADY, errno.EWOULDBLOCK) + if 'WSAEINVAL' in errno.__dict__: + errors += (errno.WSAEINVAL,) + if errnum in errors: + return + + # win32 needs this + if errnum not in (0, 10056, errno.EISCONN) or self.state != 0: + log.error('Could not connect to %s: %s [%s]', str(self.host), + errnum, errstr) + self.connect_to_next_ip() + return + + # socket is already connected + self._sock.setblocking(False) + self.state = 1 # connected + # we are connected + self.on_connect(self) + + def pollout(self): + if self.state == 0: + self.do_connect() + return + app.idlequeue.remove_timeout(self.fd) + self._do_send() + + def pollend(self): + if self.state == 0: # error in connect()? + #self.disconnect() + self.connect_to_next_ip() + else: + self.state = -1 + self.disconnect() + + def pollin(self): + """ + Reads all pending incoming data. Call owner's disconnected() method if + appropriate + """ + received = '' + errnum = 0 + try: + # get as many bites, as possible, but not more than RECV_BUFSIZE + received = self._sock.recv(MAX_BUFF_LEN) + except Exception as e: + errnum = e.errno + # "received" will be empty anyhow + if errnum == ssl.SSL_ERROR_WANT_READ: + pass + elif errnum in [errno.ECONNRESET, errno.ENOTCONN, errno.ESHUTDOWN]: + self.pollend() + # don’t process result, in case it will raise an error + return + elif not received: + if errnum != ssl.SSL_ERROR_EOF: + # 8 EOF occurred in violation of protocol + self.pollend() + if self.state >= 0: + self.disconnect() + return + + if self.state < 0: + return + + received = received.decode('utf-8') + + if self.on_receive: + if self._owner.sock_type == TYPE_CLIENT: + self.set_timeout(ACTIVITY_TIMEOUT_SECONDS) + if received.strip(): + log.debug('received: %s', received) + if hasattr(self._owner, 'Dispatcher'): + self._owner.Dispatcher.Event('', 'DATA RECEIVED', received) + self.on_receive(received) + else: + # This should never happed, so we need the debug + log.error('Unhandled data received: %s', received) + self.disconnect() + return True + + def disconnect(self, message=''): + """ + Close the socket + """ + app.idlequeue.remove_timeout(self.fd) + app.idlequeue.unplug_idle(self.fd) + try: + self._sock.shutdown(socket.SHUT_RDWR) + self._sock.close() + except socket.error: + # socket is already closed + pass + self.fd = -1 + self.state = -1 + if self._owner: + self._owner.on_disconnect() + + def _do_send(self): + if not self.sendbuff: + if not self.sendqueue: + return None # nothing to send + self.sendbuff, self.buff_is_message = self.sendqueue.pop(0) + self.sent_data = self.sendbuff + try: + send_count = self._sock.send(self.sendbuff) + if send_count: + self.sendbuff = self.sendbuff[send_count:] + if not self.sendbuff and not self.sendqueue: + if self.state < 0: + app.idlequeue.unplug_idle(self.fd) + self._on_send() + self.disconnect() + return + # we are not waiting for write + self._plug_idle() + self._on_send() + + except socket.error as e: + if e.errno == ssl.SSL_ERROR_WANT_WRITE: + return True + if self.state < 0: + self.disconnect() + return + self._on_send_failure() + return + if self._owner.sock_type == TYPE_CLIENT: + self.set_timeout(ACTIVITY_TIMEOUT_SECONDS) + return True + + def _plug_idle(self): + readable = self.state != 0 + writable = self.sendqueue or self.sendbuff + if self.writable != writable or self.readable != readable: + app.idlequeue.plug_idle(self, writable, readable) + + + def _on_send(self): + if self.sent_data and self.sent_data.strip(): + log.debug('sent: %s', self.sent_data) + if hasattr(self._owner, 'Dispatcher'): + self._owner.Dispatcher.Event( + '', 'DATA SENT', self.sent_data.decode('utf-8')) + self.sent_data = None + if self.buff_is_message: + self._owner.on_message_sent(self.fd) + self.buff_is_message = False + + def _on_send_failure(self): + log.error('Socket error while sending data') + self._owner.on_disconnect() + self.sent_data = None + +class ClientZeroconf: + def __init__(self, caller): + self.caller = caller + self.zeroconf = None + self.roster = None + self.last_msg = '' + self.connections = {} + self.recipient_to_hash = {} + self.ip_to_hash = {} + self.hash_to_port = {} + self.listener = None + self.ids_of_awaiting_messages = {} + self.disconnect_handlers = [] + self.disconnecting = False + + def connect(self, show, msg): + self.port = self.start_listener(self.caller.port) + if not self.port: + return False + self.zeroconf_init(show, msg) + if not self.zeroconf.connect(): + self.disconnect() + return None + self.roster = roster_zeroconf.Roster(self.zeroconf) + return True + + def remove_announce(self): + if self.zeroconf: + return self.zeroconf.remove_announce() + + def announce(self): + if self.zeroconf: + return self.zeroconf.announce() + + def set_show_msg(self, show, msg): + if self.zeroconf: + self.zeroconf.txt['msg'] = msg + self.last_msg = msg + return self.zeroconf.update_txt(show) + + def resolve_all(self): + if self.zeroconf: + return self.zeroconf.resolve_all() + + def reannounce(self, txt): + self.remove_announce() + self.zeroconf.txt = txt + self.zeroconf.port = self.port + self.zeroconf.username = self.caller.username + return self.announce() + + def zeroconf_init(self, show, msg): + self.zeroconf = zeroconf.Zeroconf(self.caller._on_new_service, + self.caller._on_remove_service, self.caller._on_name_conflictCB, + self.caller._on_disconnect, self.caller._on_error, + self.caller.username, self.caller.host, self.port) + self.zeroconf.txt['msg'] = msg + self.zeroconf.txt['status'] = show + self.zeroconf.txt['1st'] = self.caller.first + self.zeroconf.txt['last'] = self.caller.last + self.zeroconf.txt['jid'] = self.caller.jabber_id + self.zeroconf.txt['email'] = self.caller.email + self.zeroconf.username = self.caller.username + self.zeroconf.host = self.caller.host + self.zeroconf.port = self.port + self.last_msg = msg + + def disconnect(self): + # to avoid recursive calls + if self.disconnecting: + return + if self.listener: + self.listener.disconnect() + self.listener = None + if self.zeroconf: + self.zeroconf.disconnect() + self.zeroconf = None + if self.roster: + self.roster.zeroconf = None + self.roster._data = None + self.roster = None + self.disconnecting = True + for i in reversed(self.disconnect_handlers): + log.debug('Calling disconnect handler %s', i) + i() + self.disconnecting = False + + def start_disconnect(self): + self.disconnect() + + def kill_all_connections(self): + for connection in list(self.connections.values()): + connection.force_disconnect() + + def add_connection(self, connection, ip, port, recipient): + sock_hash = connection.sock_hash + if sock_hash not in self.connections: + self.connections[sock_hash] = connection + self.ip_to_hash[ip] = sock_hash + self.hash_to_port[sock_hash] = port + if recipient: + self.recipient_to_hash[recipient] = sock_hash + + def remove_connection(self, sock_hash): + if sock_hash in self.connections: + del self.connections[sock_hash] + for i in self.recipient_to_hash: + if self.recipient_to_hash[i] == sock_hash: + del self.recipient_to_hash[i] + break + for i in self.ip_to_hash: + if self.ip_to_hash[i] == sock_hash: + del self.ip_to_hash[i] + break + if sock_hash in self.hash_to_port: + del self.hash_to_port[sock_hash] + + def start_listener(self, port): + for p in range(port, port + 5): + self.listener = ZeroconfListener(p, self) + self.listener.bind() + if self.listener.started: + return p + self.listener = None + return False + + def getRoster(self): + if self.roster: + return self.roster.getRoster() + return {} + + def send(self, stanza, is_message=False, now=False, on_ok=None, + on_not_ok=None): + to = stanza.getTo() + if to is None: + # Can’t send undirected stanza over Zeroconf. + return -1 + to = to.bare + stanza.setFrom(self.roster.zeroconf.name) + + try: + item = self.roster[to] + except KeyError: + # Contact offline + return -1 + + # look for hashed connections + if to in self.recipient_to_hash: + conn = self.connections[self.recipient_to_hash[to]] + id_ = stanza.getID() or '' + if conn.add_stanza(stanza, is_message): + if on_ok: + on_ok(id_) + return + + the_address = None + for address in item['addresses']: + if address['address'] in self.ip_to_hash: + the_address = address + if the_address and the_address['address'] in self.ip_to_hash: + hash_ = self.ip_to_hash[the_address['address']] + if self.hash_to_port[hash_] == the_address['port']: + conn = self.connections[hash_] + id_ = stanza.getID() or '' + if conn.add_stanza(stanza, is_message): + if on_ok: + on_ok(id_) + return + + # otherwise open new connection + if not stanza.getID(): + stanza.setID('zero') + addresses_ = [] + for address in item['addresses']: + addresses_ += [{'host': address['address'], 'address': address['address'], 'port': address['port']}] + P2PClient(None, addresses_, self, + [(stanza, is_message)], to, on_ok=on_ok, on_not_ok=on_not_ok) + + def RegisterDisconnectHandler(self, handler): + """ + Register handler that will be called on disconnect + """ + self.disconnect_handlers.append(handler) + + def UnregisterDisconnectHandler(self, handler): + """ + Unregister handler that is called on disconnect + """ + self.disconnect_handlers.remove(handler) + + def SendAndWaitForResponse(self, stanza, timeout=None, func=None, + args=None): + """ + Send stanza and wait for recipient's response to it. Will call + transports on_timeout callback if response is not retrieved in time + + Be aware: Only timeout of latest call of SendAndWait is active. + """ +# if timeout is None: +# timeout = DEFAULT_TIMEOUT_SECONDS + def on_ok(_waitid): +# if timeout: +# self._owner.set_timeout(timeout) + to = stanza.getTo() + to = app.get_jid_without_resource(to) + + try: + item = self.roster[to] + except KeyError: + # Contact offline + item = None + + conn = None + if to in self.recipient_to_hash: + conn = self.connections[self.recipient_to_hash[to]] + elif item: + the_address = None + for address in item['addresses']: + if address['address'] in self.ip_to_hash: + the_address = address + if the_address and the_address['address'] in self.ip_to_hash: + hash_ = self.ip_to_hash[the_address['address']] + if self.hash_to_port[hash_] == the_address['port']: + conn = self.connections[hash_] + if func: + conn.Dispatcher.on_responses[_waitid] = (func, args) + conn.onreceive(conn.Dispatcher._WaitForData) + conn.Dispatcher._expected[_waitid] = None + self.send(stanza, on_ok=on_ok) + + def SendAndCallForResponse(self, stanza, func=None, args=None): + """ + Put stanza on the wire and call back when recipient replies. Additional + callback arguments can be specified in args. + """ + self.SendAndWaitForResponse(stanza, 0, func, args) diff --git a/gajim/common/zeroconf/connection_handlers_zeroconf.py b/gajim/common/zeroconf/connection_handlers_zeroconf.py new file mode 100644 index 0000000..7907305 --- /dev/null +++ b/gajim/common/zeroconf/connection_handlers_zeroconf.py @@ -0,0 +1,127 @@ +# Contributors for this file: +# - Yann Leboulanger +# - Nikos Kouremenos +# - Dimitur Kirov +# - Travis Shirk +# - Stefan Bethge +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import time +import logging + +from gajim.common import app + +from gajim.common import connection_handlers +from gajim.common.helpers import AdditionalDataDict +from gajim.common.nec import NetworkEvent +from gajim.common.modules.util import get_eme_message +from gajim.common.modules.misc import parse_correction +from gajim.common.modules.misc import parse_oob +from gajim.common.modules.misc import parse_xhtml + + +log = logging.getLogger('gajim.c.z.connection_handlers_zeroconf') + + +class ConnectionHandlersZeroconf(connection_handlers.ConnectionHandlersBase): + def __init__(self): + connection_handlers.ConnectionHandlersBase.__init__(self) + + def _messageCB(self, con, stanza, properties): + """ + Called when we receive a message + """ + if properties.type.is_error: + return + log.info('Zeroconf MessageCB') + + # Don’t trust from attr set by sender + stanza.setFrom(con._owner.to) + + app.nec.push_incoming_event(NetworkEvent( + 'raw-message-received', + conn=self, + stanza=stanza, + account=self.name)) + + type_ = stanza.getType() + if type_ is None: + type_ = 'normal' + + id_ = stanza.getID() + + fjid = str(stanza.getFrom()) + + jid, resource = app.get_room_and_nick_from_fjid(fjid) + + msgtxt = stanza.getBody() + + session = self.get_or_create_session(fjid, properties.thread) + + if properties.thread and not session.received_thread_id: + session.received_thread_id = True + + timestamp = time.time() + session.last_receive = timestamp + + additional_data = AdditionalDataDict() + parse_oob(properties, additional_data) + parse_xhtml(properties, additional_data) + + if properties.is_encrypted: + additional_data['encrypted'] = properties.encrypted.additional_data + else: + if properties.eme is not None: + msgtxt = get_eme_message(properties.eme) + + event_attr = { + 'conn': self, + 'stanza': stanza, + 'account': self.name, + 'additional_data': additional_data, + 'timestamp': time.time(), + 'fjid': fjid, + 'jid': jid, + 'resource': resource, + 'unique_id': id_, + 'correct_id': parse_correction(properties), + 'msgtxt': msgtxt, + 'session': session, + 'gc_control': None, + 'popup': False, + 'msg_log_id': None, + 'displaymarking': None, + 'stanza_id': id_, + 'properties': properties, + } + + app.nec.push_incoming_event( + NetworkEvent('decrypted-message-received', **event_attr)) + + def _message_error_received(self, _con, _stanza, properties): + log.info(properties.error) + + app.storage.archive.set_message_error(app.get_jid_from_account(self.name), + properties.jid, + properties.id, + properties.error) + + app.nec.push_incoming_event( + NetworkEvent('message-error', + account=self.name, + jid=properties.jid, + message_id=properties.id, + error=properties.error)) diff --git a/gajim/common/zeroconf/connection_zeroconf.py b/gajim/common/zeroconf/connection_zeroconf.py new file mode 100644 index 0000000..eab2cd3 --- /dev/null +++ b/gajim/common/zeroconf/connection_zeroconf.py @@ -0,0 +1,450 @@ +# Contributors for this file: +# - Yann Leboulanger +# - Nikos Kouremenos +# - Dimitur Kirov +# - Travis Shirk +# - Stefan Bethge +# +# Copyright (C) 2003-2014 Yann Leboulanger +# Copyright (C) 2003-2004 Vincent Hanquez +# Copyright (C) 2006 Nikos Kouremenos +# Dimitur Kirov +# Travis Shirk +# Norman Rasmussen +# Stefan Bethge +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import socket +import getpass +import logging +import time + +import nbxmpp +from gi.repository import GLib + +from gajim.common import app +from gajim.common import modules +from gajim.common.nec import NetworkEvent +from gajim.common.i18n import _ +from gajim.common.const import ClientState +from gajim.common.connection import CommonConnection +from gajim.common.zeroconf import client_zeroconf +from gajim.common.zeroconf import zeroconf +from gajim.common.zeroconf.connection_handlers_zeroconf import ConnectionHandlersZeroconf +from gajim.common.connection_handlers_events import OurShowEvent +from gajim.common.connection_handlers_events import InformationEvent +from gajim.common.connection_handlers_events import ConnectionLostEvent +from gajim.common.connection_handlers_events import MessageSentEvent + +log = logging.getLogger('gajim.c.connection_zeroconf') + + +class ConnectionZeroconf(CommonConnection, ConnectionHandlersZeroconf): + def __init__(self, name): + ConnectionHandlersZeroconf.__init__(self) + # system username + self.username = None + self.server_resource = '' # zeroconf has no resource, fake an empty one + self.call_resolve_timeout = False + # we don't need a password, but must be non-empty + self.password = 'zeroconf' + self.autoconnect = False + self.httpupload = False + + CommonConnection.__init__(self, name) + self.is_zeroconf = True + + # Register all modules + modules.register_modules(self) + + def get_config_values_or_default(self): + """ + Get name, host, port from config, or create zeroconf account with default + values + """ + self.host = socket.gethostname() + app.settings.set_account_setting(app.ZEROCONF_ACC_NAME, + 'hostname', + self.host) + self.port = app.settings.get_account_setting(app.ZEROCONF_ACC_NAME, + 'custom_port') + self.autoconnect = app.settings.get_account_setting( + app.ZEROCONF_ACC_NAME, 'autoconnect') + self.sync_with_global_status = app.settings.get_account_setting( + app.ZEROCONF_ACC_NAME, 'sync_with_global_status') + self.first = app.settings.get_account_setting(app.ZEROCONF_ACC_NAME, + 'zeroconf_first_name') + self.last = app.settings.get_account_setting(app.ZEROCONF_ACC_NAME, + 'zeroconf_last_name') + self.jabber_id = app.settings.get_account_setting(app.ZEROCONF_ACC_NAME, + 'zeroconf_jabber_id') + self.email = app.settings.get_account_setting(app.ZEROCONF_ACC_NAME, + 'zeroconf_email') + + if not self.username: + self.username = getpass.getuser() + app.settings.set_account_setting(app.ZEROCONF_ACC_NAME, + 'name', + self.username) + else: + self.username = app.settings.get_account_setting( + app.ZEROCONF_ACC_NAME, 'name') + + def get_own_jid(self, *args, **kwargs): + return nbxmpp.JID.from_string(self.username + '@' + self.host) + + def reconnect(self): + # Do not try to reco while we are already trying + self.time_to_reconnect = None + log.debug('reconnect') + + self.disconnect() + self.change_status(self._status, self._status_message) + + def disable_account(self): + self.disconnect() + + def _on_resolve_timeout(self): + if self._state.is_connected: + if not self.connection.resolve_all(): + self.disconnect() + return False + diffs = self.roster.getDiffs() + for key in diffs: + self.roster.setItem(key) + app.nec.push_incoming_event(NetworkEvent( + 'roster-info', conn=self, jid=key, + nickname=self.roster.getName(key), sub='both', + ask='no', groups=self.roster.getGroups(key), + avatar_sha=None)) + self._on_presence(key) + #XXX open chat windows don't get refreshed (full name), add that + return self.call_resolve_timeout + + # callbacks called from zeroconf + def _on_new_service(self, jid): + self.roster.setItem(jid) + app.nec.push_incoming_event(NetworkEvent( + 'roster-info', conn=self, jid=jid, + nickname=self.roster.getName(jid), sub='both', + ask='no', groups=self.roster.getGroups(jid), + avatar_sha=None)) + self._on_presence(jid) + + def _on_remove_service(self, jid): + self.roster.delItem(jid) + # 'NOTIFY' (account, (jid, status, status message, resource, priority, + # timestamp)) + self._on_presence(jid, show='offline', status='') + + def _on_presence(self, jid, show=None, status=None): + if status is None: + status = self.roster.getMessage(jid) + if show is None: + show = self.roster.getStatus(jid) + + ptype = 'unavailable' if show == 'offline' else None + + event_attrs = { + 'conn': self, + 'prio': 0, + 'need_add_in_roster': False, + 'popup': False, + 'ptype': ptype, + 'jid': jid, + 'resource': 'local', + 'id_': None, + 'fjid': jid, + 'timestamp': 0, + 'avatar_sha': None, + 'user_nick': '', + 'idle_time': None, + 'show': show, + 'new_show': show, + 'old_show': 0, + 'status': status, + 'contact_list': [], + 'contact': None, + } + + event_ = NetworkEvent('presence-received', **event_attrs) + + self._update_contact(event_) + + app.nec.push_incoming_event(event_) + + def _update_contact(self, event): + jid = event.jid + + status_strings = ['offline', 'error', 'online', 'chat', 'away', + 'xa', 'dnd'] + + event.new_show = status_strings.index(event.show) + + contact = app.contacts.get_contact_strict(self.name, jid, '') + if contact is None: + contact = app.contacts.get_contact_strict(self.name, jid, 'local') + + if contact.show in status_strings: + event.old_show = status_strings.index(contact.show) + + # Update contact with presence data + contact.resource = 'local' + contact.show = event.show + contact.status = event.status + contact.priority = event.prio + contact.idle_time = event.idle_time + + event.contact = contact + + # It's not an agent + if event.old_show == 0 and event.new_show > 1: + if not jid in app.newly_added[self.name]: + app.newly_added[self.name].append(jid) + if jid in app.to_be_removed[self.name]: + app.to_be_removed[self.name].remove(jid) + elif event.old_show > 1 and event.new_show == 0 and self._state.is_connected: + if not jid in app.to_be_removed[self.name]: + app.to_be_removed[self.name].append(jid) + if jid in app.newly_added[self.name]: + app.newly_added[self.name].remove(jid) + + if event.ptype == 'unavailable': + # TODO: This causes problems when another + # resource signs off! + self.get_module('Bytestream').stop_all_active_file_transfers(contact) + + def _on_name_conflictCB(self, alt_name): + self.disconnect() + app.nec.push_incoming_event(OurShowEvent(None, conn=self, + show='offline')) + app.nec.push_incoming_event( + NetworkEvent('zeroconf-name-conflict', + conn=self, + alt_name=alt_name)) + + def _on_error(self, message): + app.nec.push_incoming_event(InformationEvent( + None, dialog_name='avahi-error', args=message)) + + def connect(self, show='online', msg=''): + self.get_config_values_or_default() + if not self.connection: + self.connection = client_zeroconf.ClientZeroconf(self) + if not zeroconf.test_zeroconf(): + app.nec.push_incoming_event(OurShowEvent(None, conn=self, + show='offline')) + self._status = 'offline' + app.nec.push_incoming_event(ConnectionLostEvent(None, + conn=self, title=_('Could not connect to "%s"') % self.name, + msg=_('Please check if Avahi or Bonjour is installed.'))) + self.disconnect() + return + result = self.connection.connect(show, msg) + if not result: + app.nec.push_incoming_event(OurShowEvent(None, conn=self, + show='offline')) + self._status = 'offline' + if result is False: + app.nec.push_incoming_event(ConnectionLostEvent(None, + conn=self, title=_('Could not start local service'), + msg=_('Unable to bind to port %d.') % self.port)) + else: # result is None + app.nec.push_incoming_event(ConnectionLostEvent(None, + conn=self, title=_('Could not start local service'), + msg=_('Please check if avahi/bonjour-daemon is running.'))) + self.disconnect() + return + else: + self.connection.announce() + self.roster = self.connection.getRoster() + app.nec.push_incoming_event(NetworkEvent('roster-received', conn=self, + roster=self.roster.copy(), received_from_server=True)) + + # display contacts already detected and resolved + for jid in self.roster.keys(): + app.nec.push_incoming_event(NetworkEvent( + 'roster-info', conn=self, jid=jid, + nickname=self.roster.getName(jid), sub='both', + ask='no', groups=self.roster.getGroups(jid), + avatar_sha=None)) + self._on_presence(jid) + + self._status = show + + # refresh all contacts data every five seconds + self.call_resolve_timeout = True + GLib.timeout_add_seconds(5, self._on_resolve_timeout) + return True + + def disconnect(self, reconnect=True, immediately=True): + log.info('Start disconnecting zeroconf') + if reconnect: + self.time_to_reconnect = 5 + else: + self.time_to_reconnect = None + + self._set_state(ClientState.DISCONNECTED) + if self.connection: + self.connection.disconnect() + self.connection = None + # stop calling the timeout + self.call_resolve_timeout = False + app.nec.push_incoming_event(OurShowEvent(None, conn=self, + show='offline')) + + def _on_disconnect(self): + self._set_state(ClientState.DISCONNECTED) + app.nec.push_incoming_event(OurShowEvent(None, conn=self, + show='offline')) + + def reannounce(self): + if self._state.is_connected: + txt = {} + txt['1st'] = app.settings.get_account_setting( + app.ZEROCONF_ACC_NAME, 'zeroconf_first_name') + txt['last'] = app.settings.get_account_setting( + app.ZEROCONF_ACC_NAME, 'zeroconf_last_name') + txt['jid'] = app.settings.get_account_setting( + app.ZEROCONF_ACC_NAME, 'zeroconf_jabber_id') + txt['email'] = app.settings.get_account_setting( + app.ZEROCONF_ACC_NAME, 'zeroconf_email') + self.connection.reannounce(txt) + + def update_details(self): + if self.connection: + port = app.settings.get_account_setting(app.ZEROCONF_ACC_NAME, + 'custom_port') + if port != self.port: + self.port = port + last_msg = self.connection.last_msg + self.disconnect() + if not self.connect(self._status, last_msg): + return + self.connection.announce() + else: + self.reannounce() + + def connect_and_init(self, show, msg): + # to check for errors from zeroconf + check = True + if not self.connect(show, msg): + return + + check = self.connection.announce() + + # stay offline when zeroconf does something wrong + if check: + self._set_state(ClientState.CONNECTED) + app.nec.push_incoming_event(NetworkEvent('signed-in', conn=self)) + app.nec.push_incoming_event(OurShowEvent(None, conn=self, + show=show)) + else: + # show notification that avahi or system bus is down + self._set_state(ClientState.DISCONNECTED) + app.nec.push_incoming_event(OurShowEvent(None, conn=self, + show='offline')) + self._status = 'offline' + app.nec.push_incoming_event(ConnectionLostEvent(None, conn=self, + title=_('Could not change status of account "%s"') % self.name, + msg=_('Please check if avahi-daemon is running.'))) + + def _update_status(self, show, msg, idle_time=None): + if self.connection.set_show_msg(show, msg): + app.nec.push_incoming_event(OurShowEvent(None, conn=self, + show=show)) + else: + # show notification that avahi or system bus is down + app.nec.push_incoming_event(OurShowEvent(None, conn=self, + show='offline')) + self._status = 'offline' + app.nec.push_incoming_event(ConnectionLostEvent(None, conn=self, + title=_('Could not change status of account "%s"') % self.name, + msg=_('Please check if avahi-daemon is running.'))) + + def send_message(self, message): + stanza = self.get_module('Message').build_message_stanza(message) + message.stanza = stanza + + if message.contact is None: + # Only Single Message should have no contact + self._send_message(message) + return + + method = message.contact.settings.get('encryption') + if not method: + self._send_message(message) + return + + app.plugin_manager.extension_point('encrypt%s' % method, + self, + message, + self._send_message) + + def _send_message(self, message): + def on_send_ok(stanza_id): + app.nec.push_incoming_event( + MessageSentEvent(None, jid=message.jid, **vars(message))) + self.get_module('Message').log_message(message) + + def on_send_not_ok(reason): + reason += ' ' + _('Your message could not be sent.') + app.nec.push_incoming_event(NetworkEvent( + 'zeroconf-error', + account=self.name, + jid=message.jid, + message=reason)) + + ret = self.connection.send( + message.stanza, message.message is not None, + on_ok=on_send_ok, on_not_ok=on_send_not_ok) + message.timestamp = time.time() + + if ret == -1: + # Contact Offline + error_message = _( + 'Contact is offline. Your message could not be sent.') + app.nec.push_incoming_event(NetworkEvent( + 'zeroconf-error', + account=self.name, + jid=message.jid, + message=error_message)) + return + + def send_stanza(self, stanza): + # send a stanza untouched + if not self.connection: + return + if not isinstance(stanza, nbxmpp.Node): + stanza = nbxmpp.Protocol(node=stanza) + self.connection.send(stanza) + + def _event_dispatcher(self, realm, event, data): + CommonConnection._event_dispatcher(self, realm, event, data) + if realm == '': + if event == nbxmpp.transports.DATA_ERROR: + frm = data[0] + error_message = _( + 'Connection to host could not be established: ' + 'Timeout while sending data.') + app.nec.push_incoming_event(NetworkEvent( + 'zeroconf-error', + account=self.name, + jid=frm, + message=error_message)) + + def cleanup(self): + pass diff --git a/gajim/common/zeroconf/roster_zeroconf.py b/gajim/common/zeroconf/roster_zeroconf.py new file mode 100644 index 0000000..b4d66d7 --- /dev/null +++ b/gajim/common/zeroconf/roster_zeroconf.py @@ -0,0 +1,160 @@ +# Copyright (C) 2006 Stefan Bethge +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from gajim.common.zeroconf.zeroconf import Constant, ConstantRI + + +class Roster: + def __init__(self, zeroconf): + self._data = None + self.zeroconf = zeroconf # our zeroconf instance + self.version = '' + + def update_roster(self): + for val in self.zeroconf.get_contacts().values(): + self.setItem(val[Constant.NAME]) + + def getRoster(self): + if self._data is None: + self._data = {} + self.update_roster() + return self + + def getDiffs(self): + """ + Update the roster with new data and return dict with jid -> new status + pairs to do notifications and stuff + """ + diffs = {} + old_data = self._data.copy() + self.update_roster() + for key in old_data.keys(): + if key in self._data: + if old_data[key] != self._data[key]: + diffs[key] = self._data[key]['status'] + return diffs + + def setItem(self, jid, name='', groups=''): + contact = self.zeroconf.get_contact(jid) + if not contact: + return + + addresses = [] + i = 0 + for ri in contact[Constant.RESOLVED_INFO]: + addresses += [{}] + addresses[i]['host'] = ri[ConstantRI.HOST] + addresses[i]['address'] = ri[ConstantRI.ADDRESS] + addresses[i]['port'] = ri[ConstantRI.PORT] + i += 1 + txt = contact[Constant.TXT] + + self._data[jid] = {} + self._data[jid]['ask'] = 'none' + self._data[jid]['subscription'] = 'both' + self._data[jid]['groups'] = [] + self._data[jid]['resources'] = {} + self._data[jid]['addresses'] = addresses + txt_dict = self.zeroconf.txt_array_to_dict(txt) + status = txt_dict.get('status', '') + if not status: + status = 'avail' + nm = txt_dict.get('1st', '') + if 'last' in txt_dict: + if nm != '': + nm += ' ' + nm += txt_dict['last'] + if nm: + self._data[jid]['name'] = nm + else: + self._data[jid]['name'] = jid + if status == 'avail': + status = 'online' + self._data[jid]['txt_dict'] = txt_dict + if 'msg' not in self._data[jid]['txt_dict']: + self._data[jid]['txt_dict']['msg'] = '' + self._data[jid]['status'] = status + self._data[jid]['show'] = status + + def setItemMulti(self, items): + for i in items: + self.setItem(jid=i['jid'], name=i['name'], groups=i['groups']) + + def delItem(self, jid): + if jid in self._data: + del self._data[jid] + + def getItem(self, jid): + if jid in self._data: + return self._data[jid] + + def __getitem__(self, jid): + return self._data[jid] + + def __setitem__(self, jid, value): + self._data[jid] = value + + def getItems(self): + # Return list of all [bare] JIDs that the roster currently tracks. + return self._data.keys() + + def keys(self): + return self._data.keys() + + def getRaw(self): + return self._data + + def getResources(self, jid): + return {} + + def getGroups(self, jid): + return self._data[jid]['groups'] + + def getName(self, jid): + if jid in self._data: + return self._data[jid]['name'] + + def getStatus(self, jid): + if jid in self._data: + return self._data[jid]['status'] + + def getMessage(self, jid): + if jid in self._data: + return self._data[jid]['txt_dict']['msg'] + + def getShow(self, jid): + return self.getStatus(jid) + + def getPriority(self, jid): + return 5 + + def getSubscription(self, jid): + return 'both' + + def Subscribe(self, jid): + pass + + def Unsubscribe(self, jid): + pass + + def Authorize(self, jid): + pass + + def Unauthorize(self, jid): + pass + + def copy(self): + return self._data.copy() diff --git a/gajim/common/zeroconf/zeroconf.py b/gajim/common/zeroconf/zeroconf.py new file mode 100644 index 0000000..674367e --- /dev/null +++ b/gajim/common/zeroconf/zeroconf.py @@ -0,0 +1,63 @@ +# Copyright (C) 2006 Stefan Bethge +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from typing import Any # pylint: disable=unused-import + +from enum import IntEnum, unique + + +@unique +class Constant(IntEnum): + NAME = 0 + DOMAIN = 1 + RESOLVED_INFO = 2 + BARE_NAME = 3 + TXT = 4 + +@unique +class ConstantRI(IntEnum): + INTERFACE = 0 + PROTOCOL = 1 + HOST = 2 + APROTOCOL = 3 + ADDRESS = 4 + PORT = 5 + +def test_avahi(): + try: + import gi + gi.require_version('Avahi', '0.6') + from gi.repository import Avahi # pylint: disable=unused-import + except (ImportError, ValueError): + return False + return True + +def test_bonjour(): + try: + import pybonjour # pylint: disable=unused-import + except Exception: + return False + return True + +def test_zeroconf(): + return test_avahi() or test_bonjour() + +if test_avahi(): + from gajim.common.zeroconf import zeroconf_avahi + Zeroconf = zeroconf_avahi.Zeroconf # type: Any +elif test_bonjour(): + from gajim.common.zeroconf import zeroconf_bonjour + Zeroconf = zeroconf_bonjour.Zeroconf diff --git a/gajim/common/zeroconf/zeroconf_avahi.py b/gajim/common/zeroconf/zeroconf_avahi.py new file mode 100644 index 0000000..d5903ba --- /dev/null +++ b/gajim/common/zeroconf/zeroconf_avahi.py @@ -0,0 +1,552 @@ +# Copyright (C) 2006 Stefan Bethge +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import logging + +from gi.repository import Avahi +from gi.repository import Gio +from gi.repository import GLib + +from gajim.common.i18n import _ +from gajim.common.zeroconf.zeroconf import Constant, ConstantRI +from gajim.common.zeroconf.zeroconf_avahi_const import DBUS_NAME +from gajim.common.zeroconf.zeroconf_avahi_const import DBUS_INTERFACE_SERVER +from gajim.common.zeroconf.zeroconf_avahi_const import DBUS_INTERFACE_ENTRY_GROUP +from gajim.common.zeroconf.zeroconf_avahi_const import DBUS_INTERFACE_DOMAIN_BROWSER +from gajim.common.zeroconf.zeroconf_avahi_const import ServerState +from gajim.common.zeroconf.zeroconf_avahi_const import EntryGroup +from gajim.common.zeroconf.zeroconf_avahi_const import DomainBrowser +from gajim.common.zeroconf.zeroconf_avahi_const import Protocol +from gajim.common.zeroconf.zeroconf_avahi_const import Interface + +log = logging.getLogger('gajim.c.z.zeroconf_avahi') + + +class Zeroconf: + def __init__(self, new_service_cb, remove_service_cb, name_conflict_cb, + disconnected_cb, error_cb, name, host, port): + self.domain = None # specific domain to browse + self.stype = '_presence._tcp' + self.port = port # listening port that gets announced + self.username = name + self.host = host + self.txt = {} + self.name = None + + self.connected = False + self.announced = False + + #XXX these CBs should be set to None when we destroy the object + # (go offline), because they create a circular reference + self._new_service_cb = new_service_cb + self._remove_service_cb = remove_service_cb + self._name_conflict_cb = name_conflict_cb + self._disconnected_cb = disconnected_cb + self._error_cb = error_cb + + self._server = None + self._avahi_client = None + self._service_browser = None + self._domain_browser = None + self._entrygroup = None + + self._sb_connections = [] + self._connections = {} + + self._contacts = {} + self._invalid_self_contact = {} + + @staticmethod + def _call(proxy, method_name): + try: + output = proxy.call_sync( + method_name, None, Gio.DBusCallFlags.NONE, -1, None) + if output: + return output[0] + except GLib.Error as error: + log.debug(error) + return None + + def _error_callback(self, error): + log.debug(error) + # timeouts are non-critical + if str(error) != 'Timeout reached': + self.disconnect() + self._disconnected_cb() + + def _new_service_callback(self, _browser, interface, protocol, name, stype, + domain, _flags): + log.debug('Found service %s in domain %s on %i.%i.', + name, domain, interface, protocol) + if not self.connected: + return + + # synchronous resolving + try: + output = self._server.call_sync( + 'ResolveService', + GLib.Variant('(iisssiu)', (interface, protocol, name, stype, + domain, Protocol.UNSPEC, 0)), + Gio.DBusCallFlags.NONE, -1, None) + self.service_resolved_callback(*output) + except GLib.Error as error: + log.debug('Error while resolving: %s', error) + + def _remove_service_callback(self, _browser, interface, protocol, name, + _stype, domain, _flags): + log.debug('Service %s in domain %s on %i.%i disappeared.', + name, domain, interface, protocol) + if not self.connected: + return + if name == self.name: + return + + for key in list(self._contacts.keys()): + val = self._contacts[key] + if val[Constant.BARE_NAME] == name: + # try to reduce instead of delete first + resolved_info = val[Constant.RESOLVED_INFO] + if len(resolved_info) > 1: + for i, _info in enumerate(resolved_info): + if resolved_info[i][ConstantRI.INTERFACE] == interface and resolved_info[i][ConstantRI.PROTOCOL] == protocol: + del self._contacts[key][Constant.RESOLVED_INFO][i] + # if still something left, don't remove + if len(self._contacts[key][Constant.RESOLVED_INFO]) > 1: + return + del self._contacts[key] + self._remove_service_cb(key) + return + + def _new_service_type(self, interface, protocol, stype, domain, _flags): + # Are we already browsing this domain for this type? + if self._service_browser: + return + + self._service_browser = Avahi.ServiceBrowser.new_full( + interface, protocol, stype, domain, 0) + + self._avahi_client = Avahi.Client(flags=0,) + self._avahi_client.start() + con = self._service_browser.connect('new_service', + self._new_service_callback) + self._sb_connections.append(con) + con = self._service_browser.connect('removed_service', + self._remove_service_callback) + self._sb_connections.append(con) + con = self._service_browser.connect('failure', self._error_callback) + self._sb_connections.append(con) + + self._service_browser.attach(self._avahi_client) + + def _new_domain_callback(self, interface, protocol, domain, _flags): + if domain != 'local': + self._browse_domain(interface, protocol, domain) + + @staticmethod + def txt_array_to_dict(txt_array): + txt_dict = {} + for array in txt_array: + item = bytes(array) + item = item.decode('utf-8') + item = item.split('=', 1) + + if item[0] and (item[0] not in txt_dict): + if len(item) == 1: + txt_dict[item[0]] = None + else: + txt_dict[item[0]] = item[1] + + return txt_dict + + @staticmethod + def dict_to_txt_array(txt_dict): + array = [] + + for key, value in txt_dict.items(): + item = '%s=%s' % (key, value) + item = item.encode('utf-8') + array.append(item) + + return array + + def service_resolved_callback(self, interface, protocol, name, _stype, + domain, host, aprotocol, address, port, txt, + _flags): + log.debug('Service data for service %s in domain %s on %i.%i:', + name, domain, interface, protocol) + log.debug('Host %s (%s), port %i, TXT data: %s', + host, address, port, self.txt_array_to_dict(txt)) + if not self.connected: + return + bare_name = name + if name.find('@') == -1: + name = name + '@' + name + + # we don't want to see ourselves in the list + if name != self.name: + resolved_info = [(interface, protocol, host, + aprotocol, address, int(port))] + if name in self._contacts: + # Decide whether to try to merge with existing resolved info: + old_name, old_domain, old_resolved_info, old_bare_name, _old_txt = self._contacts[name] + if name == old_name and domain == old_domain and bare_name == old_bare_name: + # Seems similar enough, try to merge resolved info: + for i, _info in enumerate(old_resolved_info): + # for now, keep a single record for each (interface, protocol) pair + # + # Note that, theoretically, we could both get IPv4 and + # IPv6 aprotocol responses via the same protocol, + # so this probably needs to be revised again. + if old_resolved_info[i][0:2] == (interface, protocol): + log.debug('Deleting resolved info for interface %s', + old_resolved_info[i]) + del old_resolved_info[i] + break + resolved_info = resolved_info + old_resolved_info + log.debug('Collected resolved info is now: %s', + resolved_info) + self._contacts[name] = (name, domain, resolved_info, bare_name, txt) + self._new_service_cb(name) + else: + # remember data + # In case this is not our own record but of another + # gajim instance on the same machine, + # it will be used when we get a new name. + self._invalid_self_contact[name] = ( + name, + domain, + (interface, protocol, host, aprotocol, address, int(port)), + bare_name, + txt) + + def _service_resolved_all_callback(self, _interface, _protocol, name, + _stype, _domain, _host, _aprotocol, + _address, _port, txt, _flags): + if not self.connected: + return + + if name.find('@') == -1: + name = name + '@' + name + # update TXT data only, as intended according to resolve_all comment + old_contact = self._contacts[name] + self._contacts[name] = old_contact[0:Constant.TXT] + (txt,) + old_contact[Constant.TXT+1:] + + def _service_add_fail_callback(self, err): + log.debug('Error while adding service. %s', str(err)) + if 'Local name collision' in str(err): + alternative_name = self._server.call_sync( + 'GetAlternativeServiceName', + GLib.Variant('(s)', (self.username,)), + Gio.DBusCallFlags.NONE, -1, None) + self._name_conflict_cb(alternative_name[0]) + return + self._error_cb(_('Error while adding service. %s') % str(err)) + self.disconnect() + + def _server_state_changed_callback(self, _connection, _sender_name, + _object_path, _interface_name, + _signal_name, parameters): + state, _ = parameters + log.debug('server state changed to %s', state) + if state == ServerState.RUNNING: + self._create_service() + elif state in (ServerState.COLLISION, + ServerState.REGISTERING): + self.disconnect() + if self._entrygroup: + self._call(self._entrygroup, 'Reset') + + def _entrygroup_state_changed_callback(self, _connection, _sender_name, + _object_path, _interface_name, + _signal_name, parameters): + state, _ = parameters + # the name is already present, so recreate + if state == EntryGroup.COLLISION: + log.debug('zeroconf.py: local name collision') + self._service_add_fail_callback('Local name collision') + elif state == EntryGroup.FAILURE: + self.disconnect() + self._call(self._entrygroup, 'Reset') + log.debug('zeroconf.py: ENTRY_GROUP_FAILURE reached (that ' + 'should not happen)') + + @staticmethod + def _replace_show(show): + if show in ['chat', 'online', '']: + return 'avail' + if show == 'xa': + return 'away' + return show + + def avahi_txt(self): + return self.dict_to_txt_array(self.txt) + + def _create_service(self): + try: + if not self._entrygroup: + # create an EntryGroup for publishing + object_path = self._server.call_sync( + 'EntryGroupNew', None, Gio.DBusCallFlags.NONE, -1, None) + + self._entrygroup = Gio.DBusProxy.new_for_bus_sync( + Gio.BusType.SYSTEM, Gio.DBusProxyFlags.NONE, None, + DBUS_NAME, *object_path, DBUS_INTERFACE_ENTRY_GROUP, None) + + connection = self._entrygroup.get_connection() + subscription = connection.signal_subscribe( + DBUS_NAME, DBUS_INTERFACE_ENTRY_GROUP, 'StateChanged', + *object_path, None, Gio.DBusSignalFlags.NONE, + self._entrygroup_state_changed_callback) + + self._connections[connection] = [subscription] + + txt = {} + + # remove empty keys + for key, val in self.txt.items(): + if val: + txt[key] = val + + txt['port.p2pj'] = self.port + txt['version'] = 1 + txt['txtvers'] = 1 + + # replace gajim's show messages with compatible ones + if 'status' in self.txt: + txt['status'] = self._replace_show(self.txt['status']) + else: + txt['status'] = 'avail' + + self.txt = txt + log.debug('Publishing service %s of type %s', + self.name, self.stype) + + try: + self._entrygroup.call_sync( + 'AddService', + GLib.Variant('(iiussssqaay)', (Interface.UNSPEC, + Protocol.UNSPEC, 0, + self.name, self.stype, '', + '', self.port, + self.avahi_txt())), + Gio.DBusCallFlags.NONE, -1, None) + except GLib.Error as error: + self._service_add_fail_callback(error) + return False + + try: + self._entrygroup.call_sync('Commit', None, + Gio.DBusCallFlags.NONE, -1, None) + except GLib.Error as error: + pass + + return True + except GLib.Error as error: + log.debug(error) + return False + + def announce(self): + if not self.connected: + return False + + state = self._server.call_sync( + 'GetState', None, Gio.DBusCallFlags.NONE, -1, None) + + if state[0] == ServerState.RUNNING: + if self._create_service(): + self.announced = True + return True + return False + return None + + def remove_announce(self): + if self.announced is False: + return False + + if self._call(self._entrygroup, 'GetState') != EntryGroup.FAILURE: + self._call(self._entrygroup, 'Reset') + self._call(self._entrygroup, 'Free') + self._entrygroup = None + self.announced = False + + return True + return False + + def _browse_domain(self, interface, protocol, domain): + self._new_service_type(interface, protocol, self.stype, domain, '') + + def _avahi_dbus_connect_cb(self, connection, sender_name, object_path, + interface_name, signal_name, parameters): + name, old_owner, new_owner = parameters + if name == DBUS_NAME: + if new_owner and not old_owner: + log.debug('We are connected to avahi-daemon') + else: + log.debug('Lost connection to avahi-daemon') + self.disconnect() + if self._disconnected_cb: + self._disconnected_cb() + + def _connect_dbus(self): + try: + proxy = Gio.DBusProxy.new_for_bus_sync( + Gio.BusType.SYSTEM, Gio.DBusProxyFlags.NONE, None, + 'org.freedesktop.DBus', '/org/freedesktop/DBus', + 'org.freedesktop.DBus', None) + + connection = proxy.get_connection() + subscription = connection.signal_subscribe( + 'org.freedesktop.DBus', 'org.freedesktop.DBus', + 'NameOwnerChanged', '/org/freedesktop/DBus', None, + Gio.DBusSignalFlags.NONE, self._avahi_dbus_connect_cb) + self._connections[connection] = [subscription] + except GLib.Error as error: + log.debug(error) + return False + else: + return True + + def _connect_avahi(self): + if not self._connect_dbus(): + return False + + if self._server: + return True + try: + self._server = Gio.DBusProxy.new_for_bus_sync( + Gio.BusType.SYSTEM, Gio.DBusProxyFlags.NONE, None, + DBUS_NAME, '/', DBUS_INTERFACE_SERVER, None) + + connection = self._server.get_connection() + subscription = connection.signal_subscribe( + DBUS_NAME, DBUS_INTERFACE_SERVER, 'StateChanged', '/', None, + Gio.DBusSignalFlags.NONE, self._server_state_changed_callback) + self._connections[connection] = [subscription] + except Exception as error: + # Avahi service is not present + self._server = None + log.debug(error) + return False + else: + return True + + def connect(self): + self.name = self.username + '@' + self.host # service name + if not self._connect_avahi(): + return False + + self.connected = True + # start browsing + if self.domain is None: + # Explicitly browse .local + self._browse_domain( + Interface.UNSPEC, Protocol.UNSPEC, 'local') + + # Browse for other browsable domains + object_path = self._server.call_sync( + 'DomainBrowserNew', + GLib.Variant('(iisiu)', (Interface.UNSPEC, Protocol.UNSPEC, '', + DomainBrowser.BROWSE, 0)), + Gio.DBusCallFlags.NONE, -1, None) + + self._domain_browser = Gio.DBusProxy.new_for_bus_sync( + Gio.BusType.SYSTEM, Gio.DBusProxyFlags.NONE, None, DBUS_NAME, + *object_path, DBUS_INTERFACE_DOMAIN_BROWSER, None) + + connection = self._domain_browser.get_connection() + subscription = connection.signal_subscribe( + DBUS_NAME, DBUS_INTERFACE_DOMAIN_BROWSER, 'ItemNew', + *object_path, None, Gio.DBusSignalFlags.NONE, + self._new_domain_callback) + self._connections[connection] = [subscription] + + subscription = connection.signal_subscribe( + DBUS_NAME, DBUS_INTERFACE_DOMAIN_BROWSER, 'Failure', + *object_path, None, Gio.DBusSignalFlags.NONE, + self._error_callback) + self._connections[connection].append(subscription) + else: + self._browse_domain( + Interface.UNSPEC, Protocol.UNSPEC, self.domain) + + return True + + def disconnect(self): + if self.connected: + self.connected = False + for connection, subscriptions in self._connections.items(): + for subscription in subscriptions: + connection.signal_unsubscribe(subscription) + for con in self._sb_connections: + self._service_browser.disconnect(con) + if self._domain_browser: + self._call(self._domain_browser, 'Free') + self.remove_announce() + self._server = None + self._service_browser = None + self._domain_browser = None + + # refresh txt data of all contacts manually (no callback available) + def resolve_all(self): + if not self.connected: + return False + for val in self._contacts.values(): + # get txt data from last recorded resolved info + # TODO: Better try to get it from last IPv6 mDNS, then last IPv4? + ri = val[Constant.RESOLVED_INFO][0] + output = self._server.call_sync( + 'ResolveService', + GLib.Variant('(iisssiu)', (ri[ConstantRI.INTERFACE], + ri[ConstantRI.PROTOCOL], + val[Constant.BARE_NAME], + self.stype, val[Constant.DOMAIN], + Protocol.UNSPEC, + 0)), + Gio.DBusCallFlags.NONE, + -1, + None + ) + self._service_resolved_all_callback(*output) + + return True + + def get_contacts(self): + return self._contacts + + def get_contact(self, jid): + if not jid in self._contacts: + return None + return self._contacts[jid] + + def update_txt(self, show=None): + if show: + self.txt['status'] = self._replace_show(show) + + txt = self.avahi_txt() + if self.connected and self._entrygroup: + try: + self._entrygroup.call_sync( + 'UpdateServiceTxt', + GLib.Variant('(iiusssaay)', (Interface.UNSPEC, + Protocol.UNSPEC, 0, self.name, + self.stype, '', txt)), + Gio.DBusCallFlags.NONE, -1, None) + except GLib.Error as error: + self._error_callback(error) + return False + + return True + return False diff --git a/gajim/common/zeroconf/zeroconf_avahi_const.py b/gajim/common/zeroconf/zeroconf_avahi_const.py new file mode 100644 index 0000000..e0bd61e --- /dev/null +++ b/gajim/common/zeroconf/zeroconf_avahi_const.py @@ -0,0 +1,58 @@ +# Copyright (C) 2018 Philipp Hörist +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + + +from enum import IntEnum + + +DBUS_NAME = "org.freedesktop.Avahi" +DBUS_INTERFACE_SERVER = DBUS_NAME + ".Server" +DBUS_INTERFACE_ENTRY_GROUP = DBUS_NAME + ".EntryGroup" +DBUS_INTERFACE_DOMAIN_BROWSER = DBUS_NAME + ".DomainBrowser" + + +class ServerState(IntEnum): + INVALID = 0 + REGISTERING = 1 + RUNNING = 2 + COLLISION = 3 + FAILURE = 4 + + +class EntryGroup(IntEnum): + UNCOMMITTED = 0 + REGISTERING = 1 + ESTABLISHED = 2 + COLLISION = 3 + FAILURE = 4 + + +class DomainBrowser(IntEnum): + BROWSE = 0 + BROWSE_DEFAULT = 1 + REGISTER = 2 + REGISTER_DEFAULT = 3 + BROWSE_LEGACY = 4 + + +class Protocol(IntEnum): + UNSPEC = -1 + INET = 0 + INET6 = 1 + + +class Interface(IntEnum): + UNSPEC = -1 diff --git a/gajim/common/zeroconf/zeroconf_bonjour.py b/gajim/common/zeroconf/zeroconf_bonjour.py new file mode 100644 index 0000000..d9489ec --- /dev/null +++ b/gajim/common/zeroconf/zeroconf_bonjour.py @@ -0,0 +1,458 @@ +# Copyright (C) 2006 Stefan Bethge +# Copyright (C) 2006 Philipp Hörist +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import logging +import select +import re + +from gajim.common.i18n import _ +from gajim.common.zeroconf.zeroconf import Constant + + +log = logging.getLogger('gajim.c.z.zeroconf_bonjour') + +try: + from pybonjour import kDNSServiceErr_NoError + from pybonjour import kDNSServiceErr_ServiceNotRunning + from pybonjour import kDNSServiceErr_NameConflict + from pybonjour import kDNSServiceInterfaceIndexAny + from pybonjour import kDNSServiceType_TXT + from pybonjour import kDNSServiceFlagsAdd + from pybonjour import kDNSServiceFlagsNoAutoRename + from pybonjour import BonjourError + from pybonjour import TXTRecord + from pybonjour import DNSServiceUpdateRecord + from pybonjour import DNSServiceResolve + from pybonjour import DNSServiceProcessResult + from pybonjour import DNSServiceGetAddrInfo + from pybonjour import DNSServiceQueryRecord + from pybonjour import DNSServiceBrowse + from pybonjour import DNSServiceRegister +except ImportError: + pass + +resolve_timeout = 1 + + +class Zeroconf: + def __init__(self, new_service_cb, remove_service_cb, name_conflict_cb, + _disconnected_cb, error_cb, name, host, port): + self.stype = '_presence._tcp' + self.port = port # listening port that gets announced + self.username = name + self.host = host + self.txt = {} # service data + self.name = None + + self.connected = False + self.announced = False + + # XXX these CBs should be set to None when we destroy the object + # (go offline), because they create a circular reference + self._new_service_cb = new_service_cb + self._remove_service_cb = remove_service_cb + self._name_conflict_cb = name_conflict_cb + self._error_cb = error_cb + + self._service_sdref = None + self._browse_sdref = None + + self._contacts = {} # all current local contacts with data + self._invalid_self_contact = {} + self._resolved_hosts = {} + self._resolved = [] + self._queried = [] + + def _browse_callback(self, _sdref, flags, interface, error_code, + service_name, regtype, reply_domain): + log.debug('Found service %s in domain %s on %i(type: %s).', + service_name, reply_domain, interface, regtype) + if not self.connected: + return + if error_code != kDNSServiceErr_NoError: + log.debug('Error in browse_callback: %s', str(error_code)) + return + if not flags & kDNSServiceFlagsAdd: + self._remove_service_callback(service_name) + return + + try: + # asynchronous resolving + resolve_sdref = None + resolve_sdref = DNSServiceResolve( + 0, interface, service_name, + regtype, reply_domain, self._service_resolved_callback) + + while not self._resolved: + ready = select.select([resolve_sdref], [], [], resolve_timeout) + if resolve_sdref not in ready[0]: + log.info('Resolve timed out') + break + DNSServiceProcessResult(resolve_sdref) + else: + self._resolved.pop() + + except BonjourError as error: + log.info('Error when resolving DNS: %s', error) + + finally: + if resolve_sdref: + resolve_sdref.close() + + def _remove_service_callback(self, name): + log.info('Service %s disappeared.', name) + if not self.connected: + return + if name != self.name: + for key in list(self._contacts.keys()): + if self._contacts[key][Constant.NAME] == name: + del self._contacts[key] + self._remove_service_cb(key) + return + + @staticmethod + def txt_array_to_dict(txt): + if not isinstance(txt, TXTRecord): + txt = TXTRecord.parse(txt) + return dict((v[0], v[1]) for v in txt) + + @staticmethod + def _parse_name(fullname): + log.debug('Parse name: %s', fullname) + # TODO: do proper decoding... + escaping = {r'\.': '.', + r'\032': ' ', + r'\064': '@', + } + + # Split on '.' but do not split on '\.' + result = re.split(r'(? +# Copyright (C) 2005-2006 Alex Mauer +# Travis Shirk +# Copyright (C) 2005-2007 Nikos Kouremenos +# Copyright (C) 2005-2014 Yann Leboulanger +# Copyright (C) 2006 Dimitur Kirov +# Copyright (C) 2006-2008 Jean-Marie Traissard +# Copyright (C) 2008 Jonathan Schleifer +# Julien Pivotto +# Stephan Erb +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import time +import queue +import urllib +import logging + +from gi.repository import Gtk +from gi.repository import Pango +from gi.repository import GObject +from gi.repository import GLib +from gi.repository import Gdk + +from gajim.common import app +from gajim.common import helpers +from gajim.common import i18n +from gajim.common.i18n import _ +from gajim.common.i18n import Q_ +from gajim.common.helpers import AdditionalDataDict +from gajim.common.const import StyleAttr +from gajim.common.const import Trust +from gajim.common.const import URI_SCHEMES +from gajim.common.helpers import to_user_string +from gajim.common.regex import STH_AT_STH_DOT_STH_REGEX +from gajim.common.regex import BASIC_REGEX +from gajim.common.regex import LINK_REGEX +from gajim.common.regex import EMOT_AND_BASIC_REGEX +from gajim.common.regex import EMOT_AND_LINK_REGEX + +from gajim.gui import util +from gajim.gui.util import get_cursor +from gajim.gui.util import format_fingerprint +from gajim.gui.util import text_to_color +from gajim.gui.emoji_data import emoji_pixbufs +from gajim.gui.emoji_data import is_emoji +from gajim.gui.emoji_data import get_emoji_pixbuf +from gajim.gui.htmltextview import HtmlTextView + +NOT_SHOWN = 0 +ALREADY_RECEIVED = 1 +SHOWN = 2 + +log = logging.getLogger('gajim.conversation_textview') + +TRUST_SYMBOL_DATA = { + Trust.UNTRUSTED: ('dialog-error-symbolic', + _('Untrusted'), + 'error-color'), + Trust.UNDECIDED: ('security-low-symbolic', + _('Trust Not Decided'), + 'warning-color'), + Trust.BLIND: ('security-medium-symbolic', + _('Unverified'), + 'encrypted-color'), + Trust.VERIFIED: ('security-high-symbolic', + _('Verified'), + 'encrypted-color') +} + + +class ConversationTextview(GObject.GObject): + """ + Class for the conversation textview (where user reads already said messages) + for chat/groupchat windows + """ + __gsignals__ = dict(quote=( + GObject.SignalFlags.RUN_LAST | GObject.SignalFlags.ACTION, + None, # return value + (str, ) # arguments + )) + + def __init__(self, account, used_in_history_window=False): + """ + If used_in_history_window is True, then we do not show Clear menuitem in + context menu + """ + GObject.GObject.__init__(self) + self.used_in_history_window = used_in_history_window + self.line = 0 + self._message_list = [] + self.corrected_text_list = {} + + # no need to inherit TextView, use it as attribute is safer + self.tv = HtmlTextView(account) + self.tv.connect('query-tooltip', self._query_tooltip) + + self._buffer = self.tv.get_buffer() + self.handlers = {} + self.image_cache = {} + # self.last_sent_message_id = message_id + self.last_sent_message_id = None + # last_received_message_id[name] = (message_id, line_start_mark) + self.last_received_message_id = {} + self.autoscroll = True + # connect signals + id_ = self.tv.connect('populate_popup', self.on_textview_populate_popup) + self.handlers[id_] = self.tv + id_ = self.tv.connect('button_press_event', + self.on_textview_button_press_event) + self.handlers[id_] = self.tv + + self.account = account + self._cursor_changed = False + self.last_time_printout = 0 + self.encryption_enabled = False + + style = self.tv.get_style_context() + style.add_class('gajim-conversation-font') + buffer_ = self.tv.get_buffer() + end_iter = buffer_.get_end_iter() + buffer_.create_mark('end', end_iter, False) + + self.tagIn = buffer_.create_tag('incoming') + color = app.css_config.get_value( + '.gajim-incoming-nickname', StyleAttr.COLOR) + self.tagIn.set_property('foreground', color) + desc = app.css_config.get_font('.gajim-incoming-nickname') + self.tagIn.set_property('font-desc', desc) + + self.tagOut = buffer_.create_tag('outgoing') + color = app.css_config.get_value( + '.gajim-outgoing-nickname', StyleAttr.COLOR) + self.tagOut.set_property('foreground', color) + desc = app.css_config.get_font('.gajim-outgoing-nickname') + self.tagOut.set_property('font-desc', desc) + + self.tagStatus = buffer_.create_tag('status') + color = app.css_config.get_value( + '.gajim-status-message', StyleAttr.COLOR) + self.tagStatus.set_property('foreground', color) + desc = app.css_config.get_font('.gajim-status-message') + self.tagStatus.set_property('font-desc', desc) + + self.tagInText = buffer_.create_tag('incomingtxt') + color = app.css_config.get_value( + '.gajim-incoming-message-text', StyleAttr.COLOR) + if color: + self.tagInText.set_property('foreground', color) + desc = app.css_config.get_font('.gajim-incoming-message-text') + self.tagInText.set_property('font-desc', desc) + + self.tagOutText = buffer_.create_tag('outgoingtxt') + color = app.css_config.get_value( + '.gajim-outgoing-message-text', StyleAttr.COLOR) + if color: + self.tagOutText.set_property('foreground', color) + desc = app.css_config.get_font('.gajim-outgoing-message-text') + self.tagOutText.set_property('font-desc', desc) + + self.tagMarked = buffer_.create_tag('marked') + color = app.css_config.get_value( + '.gajim-highlight-message', StyleAttr.COLOR) + self.tagMarked.set_property('foreground', color) + self.tagMarked.set_property('weight', Pango.Weight.BOLD) + + textview_icon = buffer_.create_tag('textview-icon') + textview_icon.set_property('rise', Pango.units_from_double(-2.45)) + + # To help plugins easily identify the nickname + buffer_.create_tag('nickname') + + tag = buffer_.create_tag('time_sometimes') + tag.set_property('foreground', 'darkgrey') + #Pango.SCALE_SMALL + tag.set_property('scale', 0.8333333333333) + tag.set_property('justification', Gtk.Justification.CENTER) + + tag = buffer_.create_tag('small') + #Pango.SCALE_SMALL + tag.set_property('scale', 0.8333333333333) + + self.tv.create_tags() + + tag = buffer_.create_tag('bold') + tag.set_property('weight', Pango.Weight.BOLD) + + tag = buffer_.create_tag('italic') + tag.set_property('style', Pango.Style.ITALIC) + + tag = buffer_.create_tag('strikethrough') + tag.set_property('strikethrough', True) + + buffer_.create_tag('focus-out-line', justification=Gtk.Justification.CENTER) + self.displaymarking_tags = {} + + # One mark at the beginning then 2 marks between each lines + size = app.settings.get('max_conversation_lines') + size = 2 * size - 1 + self.marks_queue = queue.Queue(size) + + self.allow_focus_out_line = True + # holds a mark at the end of --- line + self.focus_out_end_mark = None + + self.just_cleared = False + + def _query_tooltip(self, widget, x_pos, y_pos, keyboard_mode, tooltip): + window = widget.get_window(Gtk.TextWindowType.TEXT) + x_pos, y_pos = self.tv.window_to_buffer_coords( + Gtk.TextWindowType.TEXT, x_pos, y_pos) + + iter_ = self.tv.get_iter_at_position(x_pos, y_pos)[1] + for tag in iter_.get_tags(): + tag_name = tag.get_property('name') + if tag_name == 'focus-out-line': + tooltip.set_text(_( + 'Text below this line is what has ' + 'been said since the\nlast time you paid attention to this ' + 'group chat')) + return True + if getattr(tag, 'is_anchor', False): + text = getattr(tag, 'title', False) + if text: + if len(text) > 50: + text = text[:47] + '…' + tooltip.set_text(text) + window.set_cursor(get_cursor('pointer')) + self._cursor_changed = True + return True + if tag_name in ('url', 'mail', 'xmpp', 'sth_at_sth'): + window.set_cursor(get_cursor('pointer')) + self._cursor_changed = True + return False + + if self._cursor_changed: + window.set_cursor(get_cursor('text')) + self._cursor_changed = False + return False + + def del_handlers(self): + for i in self.handlers: + if self.handlers[i].handler_is_connected(i): + self.handlers[i].disconnect(i) + del self.handlers + self.tv.destroy() + + def update_tags(self): + self.tagIn.set_property('foreground', app.css_config.get_value('.gajim-incoming-nickname', StyleAttr.COLOR)) + self.tagOut.set_property('foreground', app.css_config.get_value('.gajim-outgoing-nickname', StyleAttr.COLOR)) + self.tagStatus.set_property('foreground', + app.css_config.get_value('.gajim-status-message', StyleAttr.COLOR)) + self.tagMarked.set_property('foreground', + app.css_config.get_value('.gajim-highlight-message', StyleAttr.COLOR)) + self.tv.update_tags() + + def scroll_to_end(self, force=False): + if self.autoscroll or force: + GLib.idle_add(util.scroll_to_end, self.tv.get_parent()) + + def correct_message(self, correct_id, kind, name): + allowed = True + if kind == 'incoming': + try: + if correct_id in self.last_received_message_id[name]: + start_mark = self.last_received_message_id[name][1] + else: + allowed = False + except KeyError: + allowed = False + elif kind == 'outgoing': + if self.last_sent_message_id[0] == correct_id: + start_mark = self.last_sent_message_id[1] + else: + allowed = False + else: + allowed = False + + if not allowed: + log.debug('Message correction not allowed') + return None + + end_mark, index = self.get_end_mark(correct_id, start_mark) + if not index: + log.debug('Could not find line to correct') + return None + + buffer_ = self.tv.get_buffer() + if not end_mark: + end_iter = self.tv.get_buffer().get_end_iter() + else: + end_iter = buffer_.get_iter_at_mark(end_mark) + + start_iter = buffer_.get_iter_at_mark(start_mark) + + old_txt = buffer_.get_text(start_iter, end_iter, True) + buffer_.delete(start_iter, end_iter) + buffer_.delete_mark(start_mark) + + return index, end_mark, old_txt + + def show_receipt(self, id_): + line = self._get_message_line(id_) + if line is None: + return + line.set_receipt() + + def show_displayed(self, id_): + line = self._get_message_line(id_) + if line is None: + return + line.set_displayed() + + def show_error(self, id_, error): + line = self._get_message_line(id_) + if line is None: + return + line.set_error(to_user_string(error)) + + def show_focus_out_line(self): + if not self.allow_focus_out_line: + # if room did not receive focus-in from the last time we added + # --- line then do not add again + return + + print_focus_out_line = False + buffer_ = self.tv.get_buffer() + + if self.focus_out_end_mark is None: + # this happens only first time we focus out on this room + print_focus_out_line = True + + else: + focus_out_end_iter = buffer_.get_iter_at_mark(self.focus_out_end_mark) + focus_out_end_iter_offset = focus_out_end_iter.get_offset() + if focus_out_end_iter_offset != buffer_.get_end_iter().get_offset(): + # this means after last-focus something was printed + # (else end_iter's offset is the same as before) + # only then print ---- line (eg. we avoid printing many following + # ---- lines) + print_focus_out_line = True + + if print_focus_out_line and buffer_.get_char_count() > 0: + buffer_.begin_user_action() + + # remove previous focus out line if such focus out line exists + if self.focus_out_end_mark is not None: + end_iter_for_previous_line = buffer_.get_iter_at_mark( + self.focus_out_end_mark) + begin_iter_for_previous_line = end_iter_for_previous_line.copy() + # img_char+1 (the '\n') + begin_iter_for_previous_line.backward_chars(21) + + # remove focus out line + buffer_.delete(begin_iter_for_previous_line, + end_iter_for_previous_line) + buffer_.delete_mark(self.focus_out_end_mark) + + # add the new focus out line + end_iter = buffer_.get_end_iter() + buffer_.insert(end_iter, '\n' + '―' * 20) + + end_iter = buffer_.get_end_iter() + before_img_iter = end_iter.copy() + # one char back (an image also takes one char) + before_img_iter.backward_chars(20) + buffer_.apply_tag_by_name('focus-out-line', before_img_iter, end_iter) + + self.allow_focus_out_line = False + + # update the iter we hold to make comparison the next time + self.focus_out_end_mark = buffer_.create_mark(None, + buffer_.get_end_iter(), left_gravity=True) + + buffer_.end_user_action() + self.scroll_to_end() + + def clear(self, tv=None): + """ + Clear text in the textview + """ + buffer_ = self.tv.get_buffer() + start, end = buffer_.get_bounds() + buffer_.delete(start, end) + size = app.settings.get('max_conversation_lines') + size = 2 * size - 1 + self.marks_queue = queue.Queue(size) + self.focus_out_end_mark = None + self.just_cleared = True + + def visit_url_from_menuitem(self, widget, link): + """ + Basically it filters out the widget instance + """ + helpers.open_uri(link) + + def on_textview_populate_popup(self, textview, menu): + """ + Override the default context menu and we prepend Clear (only if + used_in_history_window is False) and if we have sth selected we show a + submenu with actions on the phrase (see + on_conversation_textview_button_press_event) + """ + separator_menuitem_was_added = False + if not self.used_in_history_window: + item = Gtk.SeparatorMenuItem.new() + menu.prepend(item) + separator_menuitem_was_added = True + + item = Gtk.MenuItem.new_with_mnemonic(_('_Clear')) + menu.prepend(item) + id_ = item.connect('activate', self.clear) + self.handlers[id_] = item + + if self.selected_phrase: + if not separator_menuitem_was_added: + item = Gtk.SeparatorMenuItem.new() + menu.prepend(item) + + if not self.used_in_history_window: + item = Gtk.MenuItem.new_with_mnemonic(_('_Quote')) + id_ = item.connect('activate', self.on_quote) + self.handlers[id_] = item + menu.prepend(item) + + _selected_phrase = helpers.reduce_chars_newlines( + self.selected_phrase, 25, 2) + item = Gtk.MenuItem.new_with_mnemonic( + _('_Actions for "%s"') % _selected_phrase) + menu.prepend(item) + submenu = Gtk.Menu() + item.set_submenu(submenu) + phrase_for_url = urllib.parse.quote(self.selected_phrase.encode( + 'utf-8')) + + always_use_en = app.settings.get('always_english_wikipedia') + if always_use_en: + link = 'https://en.wikipedia.org/wiki/Special:Search?search=%s'\ + % phrase_for_url + else: + link = 'https://%s.wikipedia.org/wiki/Special:Search?search=%s'\ + % (i18n.get_short_lang_code(), phrase_for_url) + item = Gtk.MenuItem.new_with_mnemonic(_('Read _Wikipedia Article')) + id_ = item.connect('activate', self.visit_url_from_menuitem, link) + self.handlers[id_] = item + submenu.append(item) + + item = Gtk.MenuItem.new_with_mnemonic(_('Look it up in _Dictionary')) + dict_link = app.settings.get('dictionary_url') + if dict_link == 'WIKTIONARY': + # special link (yeah undocumented but default) + always_use_en = app.settings.get('always_english_wiktionary') + if always_use_en: + link = 'https://en.wiktionary.org/wiki/Special:Search?search=%s'\ + % phrase_for_url + else: + link = 'https://%s.wiktionary.org/wiki/Special:Search?search=%s'\ + % (i18n.get_short_lang_code(), phrase_for_url) + id_ = item.connect('activate', self.visit_url_from_menuitem, link) + self.handlers[id_] = item + else: + if dict_link.find('%s') == -1: + # we must have %s in the url if not WIKTIONARY + item = Gtk.MenuItem.new_with_label(_( + 'Dictionary URL is missing an "%s" and it is not WIKTIONARY')) + item.set_property('sensitive', False) + else: + link = dict_link % phrase_for_url + id_ = item.connect('activate', self.visit_url_from_menuitem, + link) + self.handlers[id_] = item + submenu.append(item) + + + search_link = app.settings.get('search_engine') + if search_link.find('%s') == -1: + # we must have %s in the url + item = Gtk.MenuItem.new_with_label( + _('Web Search URL is missing an "%s"')) + item.set_property('sensitive', False) + else: + item = Gtk.MenuItem.new_with_mnemonic(_('Web _Search for it')) + link = search_link % phrase_for_url + id_ = item.connect('activate', self.visit_url_from_menuitem, link) + self.handlers[id_] = item + submenu.append(item) + + item = Gtk.MenuItem.new_with_mnemonic(_('Open as _Link')) + id_ = item.connect('activate', self.visit_url_from_menuitem, link) + self.handlers[id_] = item + submenu.append(item) + + menu.show_all() + + def on_quote(self, widget): + self.emit('quote', self.selected_phrase) + + def on_textview_button_press_event(self, widget, event): + # If we clicked on a tagged text do NOT open the standard popup menu + # if normal text check if we have sth selected + self.selected_phrase = '' # do not move below event button check! + + if event.button != 3: # if not right click + return False + + x, y = self.tv.window_to_buffer_coords(Gtk.TextWindowType.TEXT, + int(event.x), int(event.y)) + iter_ = self.tv.get_iter_at_location(x, y) + if isinstance(iter_, tuple): + iter_ = iter_[1] + tags = iter_.get_tags() + + if tags: # we clicked on sth special (it can be status message too) + for tag in tags: + tag_name = tag.get_property('name') + if tag_name in ('url', 'mail', 'xmpp', 'sth_at_sth'): + return True # we block normal context menu + + # we check if sth was selected and if it was we assign + # selected_phrase variable + # so on_conversation_textview_populate_popup can use it + buffer_ = self.tv.get_buffer() + return_val = buffer_.get_selection_bounds() + if return_val: # if sth was selected when we right-clicked + # get the selected text + start_sel, finish_sel = return_val[0], return_val[1] + self.selected_phrase = buffer_.get_text(start_sel, finish_sel, True) + elif iter_.get_char() and ord(iter_.get_char()) > 31: + # we clicked on a word, do as if it's selected for context menu + start_sel = iter_.copy() + if not start_sel.starts_word(): + start_sel.backward_word_start() + finish_sel = iter_.copy() + if not finish_sel.ends_word(): + finish_sel.forward_word_end() + self.selected_phrase = buffer_.get_text(start_sel, finish_sel, True) + + def detect_and_print_special_text(self, otext, other_tags, graphics=True, + iter_=None, additional_data=None): + """ + Detect special text (emots & links & formatting), print normal text + before any special text it founds, then print special text (that happens + many times until last special text is printed) and then return the index + after *last* special text, so we can print it in + print_conversation_line() + """ + if not otext: + return + if additional_data is None: + additional_data = AdditionalDataDict() + buffer_ = self.tv.get_buffer() + if other_tags: + insert_tags_func = buffer_.insert_with_tags_by_name + else: + insert_tags_func = buffer_.insert + # detect_and_print_special_text() is also used by + # HtmlHandler.handle_specials() and there tags is Gtk.TextTag objects, + # not strings + if other_tags and isinstance(other_tags[0], Gtk.TextTag): + insert_tags_func = buffer_.insert_with_tags + + index = 0 + + # Too many special elements (emoticons, LaTeX formulas, etc) + # may cause Gajim to freeze (see #5129). + # We impose an arbitrary limit of 100 specials per message. + specials_limit = 100 + + # add oob text to the end + + oob_url = additional_data.get_value('gajim', 'oob_url') + if oob_url is not None: + oob_desc = additional_data.get_value('gajim', 'oob_desc', 'URL:') + if oob_url != otext: + otext += '\n{} {}'.format(oob_desc, oob_url) + + # basic: links + mail + formatting is always checked (we like that) + if app.settings.get('emoticons_theme') and graphics: + # search for emoticons & urls + if app.settings.get('ascii_formatting'): + regex = EMOT_AND_BASIC_REGEX + else: + regex = EMOT_AND_LINK_REGEX + else: + if app.settings.get('ascii_formatting'): + # search for just urls + mail + formatting + regex = BASIC_REGEX + else: # search for just urls + mail + regex = LINK_REGEX + iterator = regex.finditer(otext) + if iter_: + end_iter = iter_ + else: + end_iter = buffer_.get_end_iter() + for match in iterator: + start, end = match.span() + special_text = otext[start:end] + if start > index: + text_before_special_text = otext[index:start] + if not iter_: + end_iter = buffer_.get_end_iter() + # we insert normal text + if other_tags: + insert_tags_func(end_iter, text_before_special_text, *other_tags) + else: + buffer_.insert(end_iter, text_before_special_text) + index = end # update index + + # now print it + self.print_special_text(special_text, other_tags, graphics=graphics, + iter_=end_iter, additional_data=additional_data) + specials_limit -= 1 + if specials_limit <= 0: + break + + # add the rest of text located in the index and after + insert_tags_func(end_iter, otext[index:], *other_tags) + + return end_iter + + def print_special_text(self, special_text, other_tags, graphics=True, + iter_=None, additional_data=None): + """ + Is called by detect_and_print_special_text and prints special text + (emots, links, formatting) + """ + if additional_data is None: + additional_data = AdditionalDataDict() + + # PluginSystem: adding GUI extension point for ConversationTextview + self.plugin_modified = False + app.plugin_manager.extension_point('print_special_text', self, + special_text, other_tags, graphics, additional_data, iter_) + if self.plugin_modified: + return + + tags = [] + use_other_tags = True + text_is_valid_uri = False + is_xhtml_link = None + show_ascii_formatting_chars = \ + app.settings.get('show_ascii_formatting_chars') + buffer_ = self.tv.get_buffer() + + # Detect XHTML-IM link + ttt = buffer_.get_tag_table() + tags_ = [(ttt.lookup(t) if isinstance(t, str) else t) for t in other_tags] + for t in tags_: + is_xhtml_link = getattr(t, 'href', None) + if is_xhtml_link: + break + + # Check if we accept this as an uri + for scheme in URI_SCHEMES: + if special_text.startswith(scheme): + text_is_valid_uri = True + + if iter_: + end_iter = iter_ + else: + end_iter = buffer_.get_end_iter() + + theme = app.settings.get('emoticons_theme') + show_emojis = theme and theme != 'font' + if show_emojis and graphics and is_emoji(special_text): + # it's an emoticon + if emoji_pixbufs.complete: + # only search for the pixbuf if we are sure + # that loading is completed + pixbuf = get_emoji_pixbuf(special_text) + if pixbuf is None: + buffer_.insert(end_iter, special_text) + else: + pixbuf = pixbuf.copy() + anchor = buffer_.create_child_anchor(end_iter) + anchor.plaintext = special_text + img = Gtk.Image.new_from_pixbuf(pixbuf) + img.show() + self.tv.add_child_at_anchor(img, anchor) + else: + # Set marks and save them so we can replace the emojis + # once the loading is complete + start_mark = buffer_.create_mark(None, end_iter, True) + buffer_.insert(end_iter, special_text) + end_mark = buffer_.create_mark(None, end_iter, True) + emoji_pixbufs.append_marks( + self.tv, start_mark, end_mark, special_text) + + elif (special_text.startswith('www.') or + special_text.startswith('ftp.') or + text_is_valid_uri and not is_xhtml_link): + tags.append('url') + elif special_text.startswith('mailto:') and not is_xhtml_link: + tags.append('mail') + elif special_text.startswith('xmpp:') and not is_xhtml_link: + tags.append('xmpp') + elif STH_AT_STH_DOT_STH_REGEX.match(special_text) and \ + not is_xhtml_link: + # it's a JID or mail + tags.append('sth_at_sth') + elif special_text.startswith('*'): # it's a bold text + tags.append('bold') + if special_text[1] == '~' and special_text[-2] == '~' and\ + len(special_text) > 4: # it's also strikethrough + tags.append('strikethrough') + if not show_ascii_formatting_chars: + special_text = special_text[2:-2] # remove *~ ~* + elif special_text[1] == '_' and special_text[-2] == '_' and \ + len(special_text) > 4: # it's also italic + tags.append('italic') + if not show_ascii_formatting_chars: + special_text = special_text[2:-2] # remove *_ _* + else: + if not show_ascii_formatting_chars: + special_text = special_text[1:-1] # remove * * + elif special_text.startswith('~'): # it's a strikethrough text + tags.append('strikethrough') + if special_text[1] == '*' and special_text[-2] == '*' and \ + len(special_text) > 4: # it's also bold + tags.append('bold') + if not show_ascii_formatting_chars: + special_text = special_text[2:-2] # remove ~* *~ + elif special_text[1] == '_' and special_text[-2] == '_' and \ + len(special_text) > 4: # it's also italic + tags.append('italic') + if not show_ascii_formatting_chars: + special_text = special_text[2:-2] # remove ~_ _~ + else: + if not show_ascii_formatting_chars: + special_text = special_text[1:-1] # remove ~ ~ + elif special_text.startswith('_'): # it's an italic text + tags.append('italic') + if special_text[1] == '*' and special_text[-2] == '*' and \ + len(special_text) > 4: # it's also bold + tags.append('bold') + if not show_ascii_formatting_chars: + special_text = special_text[2:-2] # remove _* *_ + elif special_text[1] == '~' and special_text[-2] == '~' and \ + len(special_text) > 4: # it's also strikethrough + tags.append('strikethrough') + if not show_ascii_formatting_chars: + special_text = special_text[2:-2] # remove _~ ~_ + else: + if not show_ascii_formatting_chars: + special_text = special_text[1:-1] # remove _ _ + else: + # It's nothing special + if use_other_tags: + insert_tags_func = buffer_.insert_with_tags_by_name + if other_tags and isinstance(other_tags[0], Gtk.TextTag): + insert_tags_func = buffer_.insert_with_tags + if other_tags: + insert_tags_func(end_iter, special_text, *other_tags) + else: + buffer_.insert(end_iter, special_text) + + if tags: + all_tags = tags[:] + if use_other_tags: + all_tags += other_tags + # convert all names to TextTag + all_tags = [(ttt.lookup(t) if isinstance(t, str) else t) for t in all_tags] + buffer_.insert_with_tags(end_iter, special_text, *all_tags) + if 'url' in tags: + puny_text = helpers.puny_encode_url(special_text) + if puny_text != special_text: + puny_tags = [] + if use_other_tags: + puny_tags += other_tags + if not puny_text: + puny_text = _('Invalid URL') + puny_tags = [(ttt.lookup(t) if isinstance(t, str) else t) for t in puny_tags] + buffer_.insert_with_tags(end_iter, " (%s)" % puny_text, *puny_tags) + + def print_empty_line(self, iter_=None): + buffer_ = self.tv.get_buffer() + if not iter_: + iter_ = buffer_.get_end_iter() + buffer_.insert_with_tags_by_name(iter_, '\n', 'eol') + self.just_cleared = False + + def get_end_mark(self, message_id, start_mark): + for index, line in enumerate(self._message_list): + if line.id == message_id and line.start_mark == start_mark: + try: + end_mark = self._message_list[index + 1].start_mark + end_mark_name = end_mark.get_name() + except IndexError: + # We are at the last message + end_mark = None + end_mark_name = None + + log.debug('start mark: %s, end mark: %s, ' + 'replace message-list index: %s', + start_mark.get_name(), end_mark_name, index) + + return end_mark, index + log.debug('stanza-id not in message list') + return None, None + + def get_insert_mark(self, timestamp): + # message_list = [(timestamp, line_start_mark, message_id)] + # We check if this is a new Message + try: + if self._message_list[-1].timestamp <= timestamp: + return None, None + except IndexError: + # We have no Messages in the TextView + return None, None + + # Not a new Message + # Search for insertion point + for index, line in enumerate(self._message_list): + if line.timestamp > timestamp: + return line.start_mark, index + + # Should not happen, but who knows + return None, None + + def _get_message_line(self, id_): + for message_line in reversed(self._message_list): + if message_line.id == id_: + return message_line + + def print_conversation_line(self, text, kind, name, tim, + other_tags_for_name=None, other_tags_for_time=None, other_tags_for_text=None, + subject=None, old_kind=None, graphics=True, + displaymarking=None, message_id=None, correct_id=None, additional_data=None, + marker=None, error=None): + """ + Print 'chat' type messages + """ + if additional_data is None: + additional_data = AdditionalDataDict() + buffer_ = self.tv.get_buffer() + buffer_.begin_user_action() + insert_mark = None + insert_mark_name = None + + if kind == 'incoming_queue': + kind = 'incoming' + if old_kind == 'incoming_queue': + old_kind = 'incoming' + + if not tim: + # For outgoing Messages and Status prints + tim = time.time() + + corrected = False + if correct_id: + try: + index, insert_mark, old_txt = \ + self.correct_message(correct_id, kind, name) + if correct_id in self.corrected_text_list: + self.corrected_text_list[message_id] = \ + self.corrected_text_list[correct_id] + '\n{}' \ + .format(GLib.markup_escape_text(old_txt)) + del self.corrected_text_list[correct_id] + else: + self.corrected_text_list[message_id] = \ + _('Message corrected. Original message:\n{}') \ + .format(GLib.markup_escape_text(old_txt)) + corrected = True + except TypeError: + log.debug('Message was not corrected !') + + if not corrected: + # Get insertion point into TextView + insert_mark, index = self.get_insert_mark(tim) + + if insert_mark: + insert_mark_name = insert_mark.get_name() + + log.debug( + 'Printed Line: %s, %s, %s, inserted after: %s' + ', stanza-id: %s, correct-id: %s', + self.line, text, tim, insert_mark_name, + message_id, correct_id) + + if not insert_mark: # Texview is empty or Message is new + iter_ = buffer_.get_end_iter() + # Insert new Line if Textview is not empty + if buffer_.get_char_count() > 0 and not corrected: + buffer_.insert_with_tags_by_name(iter_, '\n', 'eol') + else: + iter_ = buffer_.get_iter_at_mark(insert_mark) + + # Create a temporary mark at the start of the line + # with gravity=Left, so it will not move + # even if we insert directly at the mark iter + temp_mark = buffer_.create_mark('temp', iter_, left_gravity=True) + + if text.startswith('/me '): + direction_mark = i18n.paragraph_direction_mark(str(text[3:])) + else: + direction_mark = i18n.paragraph_direction_mark(text) + # don't apply direction mark if it's status message + if kind == 'status': + direction_mark = i18n.direction_mark + + # print the encryption icon + if kind in ('incoming', 'outgoing'): + self.print_encryption_status(iter_, additional_data) + + # print the time stamp + self.print_time(text, kind, tim, direction_mark, + other_tags_for_time, iter_) + + # If there's a displaymarking, print it here. + if displaymarking: + self.print_displaymarking(displaymarking, iter_) + + # kind = info, we print things as if it was a status: same color, ... + if kind in ('error', 'info'): + kind = 'status' + other_text_tag = self.detect_other_text_tag(text, kind) + text_tags = [] + if other_tags_for_text: + text_tags = other_tags_for_text[:] # create a new list + if other_text_tag: + text_tags.append(other_text_tag) + + else: # not status nor /me + if app.settings.get('chat_merge_consecutive_nickname'): + if kind != old_kind or self.just_cleared: + self.print_name(name, kind, other_tags_for_name, + direction_mark=direction_mark, iter_=iter_) + else: + self.print_real_text(app.settings.get( + 'chat_merge_consecutive_nickname_indent'), + mark=insert_mark, additional_data=additional_data) + else: + self.print_name(name, kind, other_tags_for_name, + direction_mark=direction_mark, iter_=iter_) + if kind == 'incoming': + text_tags.append('incomingtxt') + elif kind == 'outgoing': + text_tags.append('outgoingtxt') + + self.print_subject(subject, iter_=iter_) + + iter_ = self.print_real_text(text, text_tags, name, graphics=graphics, + mark=insert_mark, additional_data=additional_data) + + message_icons = MessageIcons() + self._insert_message_icons(iter_, message_icons) + + # If we inserted a Line we add a new line at the end + if insert_mark: + buffer_.insert_with_tags_by_name(iter_, '\n', 'eol') + # We delete the temp mark and replace it with a mark + # that has gravity=right + temp_iter = buffer_.get_iter_at_mark(temp_mark) + buffer_.delete_mark(temp_mark) + new_mark = buffer_.create_mark( + str(self.line), temp_iter, left_gravity=False) + + message_line = MessageLine(message_id, tim, message_icons, new_mark) + + if corrected: + message_line.set_correction( + self.corrected_text_list[message_id]) + + if error is not None: + message_line.set_error(to_user_string(error)) + + if marker is not None: + if marker == 'received': + message_line.set_receipt() + elif marker == 'displayed': + message_line.set_displayed() + + if index is None: + # New Message + self._message_list.append(message_line) + elif corrected: + # Replace the corrected message + self._message_list[index] = message_line + else: + # We insert the message at index + self._message_list.insert(index, message_line) + + if kind == 'incoming': + self.last_received_message_id[name] = (message_id, new_mark) + elif kind == 'outgoing': + self.last_sent_message_id = (message_id, new_mark) + + if not insert_mark: + if self.autoscroll or kind == 'outgoing': + # we are at the end or we are sending something + self.scroll_to_end(force=True) + + self.just_cleared = False + buffer_.end_user_action() + + self.line += 1 + + def get_time_to_show(self, tim): + """ + Format the time according to config setting 'time_stamp' + """ + format_ = helpers.from_one_line(app.settings.get('time_stamp')) + tim_format = time.strftime(format_, tim) + return tim_format + + def detect_other_text_tag(self, text, kind): + if kind == 'status': + return kind + if text.startswith('/me ') or text.startswith('/me\n'): + return kind + + def _insert_message_icons(self, iter_, message_icons): + temp_mark = self._buffer.create_mark(None, iter_, True) + self._buffer.insert(iter_, ' ') + anchor = self._buffer.create_child_anchor(iter_) + anchor.plaintext = '' + self._buffer.insert(iter_, ' ') + + # Apply mark to vertically center the icon + start = self._buffer.get_iter_at_mark(temp_mark) + self._buffer.apply_tag_by_name('textview-icon', start, iter_) + self.tv.add_child_at_anchor(message_icons, anchor) + + def print_encryption_status(self, iter_, additional_data): + details = self._get_encryption_details(additional_data) + if details is None: + # Message was not encrypted + if not self.encryption_enabled: + return + icon = 'channel-insecure-symbolic' + color = 'unencrypted-color' + tooltip = _('Not encrypted') + else: + name, fingerprint, trust = details + tooltip = _('Encrypted (%s)') % (name) + if trust is None: + # The encryption plugin did not pass trust information + icon = 'channel-secure-symbolic' + color = 'encrypted-color' + else: + icon, trust_tooltip, color = TRUST_SYMBOL_DATA[trust] + tooltip = '%s\n%s' % (tooltip, trust_tooltip) + if fingerprint is not None: + fingerprint = format_fingerprint(fingerprint) + tooltip = '%s\n%s' % (tooltip, fingerprint) + + temp_mark = self._buffer.create_mark(None, iter_, True) + self._buffer.insert(iter_, ' ') + anchor = self._buffer.create_child_anchor(iter_) + anchor.plaintext = '' + self._buffer.insert(iter_, ' ') + + # Apply mark to vertically center the icon + start = self._buffer.get_iter_at_mark(temp_mark) + self._buffer.apply_tag_by_name('textview-icon', start, iter_) + + image = Gtk.Image.new_from_icon_name(icon, Gtk.IconSize.MENU) + image.show() + image.set_tooltip_markup(tooltip) + image.get_style_context().add_class(color) + self.tv.add_child_at_anchor(image, anchor) + + @staticmethod + def _get_encryption_details(additional_data): + name = additional_data.get_value('encrypted', 'name') + if name is None: + return + + fingerprint = additional_data.get_value('encrypted', 'fingerprint') + trust = additional_data.get_value('encrypted', 'trust') + return name, fingerprint, trust + + def print_time(self, text, kind, tim, direction_mark, other_tags_for_time, iter_): + local_tim = time.localtime(tim) + buffer_ = self.tv.get_buffer() + current_print_time = app.settings.get('print_time') + + if current_print_time == 'always': + timestamp_str = self.get_time_to_show(local_tim) + timestamp = time.strftime(timestamp_str, local_tim) + timestamp = direction_mark + timestamp + direction_mark + if other_tags_for_time: + buffer_.insert_with_tags_by_name(iter_, timestamp, + *other_tags_for_time) + else: + buffer_.insert(iter_, timestamp) + elif current_print_time == 'sometimes': + every_foo_seconds = 60 * app.settings.get( + 'print_ichat_every_foo_minutes') + seconds_passed = tim - self.last_time_printout + if seconds_passed > every_foo_seconds: + self.last_time_printout = tim + tim_format = self.get_time_to_show(local_tim) + buffer_.insert_with_tags_by_name(iter_, tim_format + '\n', + 'time_sometimes') + + def print_displaymarking(self, displaymarking, iter_): + bgcolor = displaymarking.bgcolor + fgcolor = displaymarking.fgcolor + text = displaymarking.name + if text: + buffer_ = self.tv.get_buffer() + tag = self.displaymarking_tags.setdefault(bgcolor + '/' + fgcolor, + buffer_.create_tag(None, background=bgcolor, foreground=fgcolor)) + buffer_.insert_with_tags(iter_, '[' + text + ']', tag) + buffer_.insert_with_tags(iter_, ' ') + + def print_name(self, name, kind, other_tags_for_name, direction_mark='', + iter_=None): + if name: + name_tags = [] + buffer_ = self.tv.get_buffer() + if iter_: + end_iter = iter_ + else: + end_iter = buffer_.get_end_iter() + + if other_tags_for_name: + name_tags = other_tags_for_name[:] # create a new list + name_tags.append(kind) + name_tags.append('nickname') + + for tag in name_tags: + if tag.startswith('muc_nickname_color_'): + self._add_new_colour_tags(tag, name) + + before_str = app.settings.get('before_nickname') + before_str = helpers.from_one_line(before_str) + after_str = app.settings.get('after_nickname') + after_str = helpers.from_one_line(after_str) + format_ = before_str + name + direction_mark + after_str + ' ' + buffer_.insert_with_tags_by_name(end_iter, format_, *name_tags) + + def _add_new_colour_tags(self, tag, name): + if self._buffer.get_tag_table().lookup(tag) is not None: + return + rgba = Gdk.RGBA(*text_to_color(name)) + self._buffer.create_tag(tag, foreground_rgba=rgba) + + def print_subject(self, subject, iter_=None): + if subject: # if we have subject, show it too! + subject = _('Subject: %s\n') % subject + buffer_ = self.tv.get_buffer() + if iter_: + end_iter = iter_ + else: + end_iter = buffer_.get_end_iter() + buffer_.insert(end_iter, subject) + self.print_empty_line(end_iter) + + def print_real_text(self, text, text_tags=None, name=None, + graphics=True, mark=None, additional_data=None): + """ + Add normal and special text. call this to add text + """ + if text_tags is None: + text_tags = [] + if additional_data is None: + additional_data = AdditionalDataDict() + buffer_ = self.tv.get_buffer() + if not mark: + iter_ = buffer_.get_end_iter() + else: + iter_ = buffer_.get_iter_at_mark(mark) + + xhtml = additional_data.get_value('gajim', 'xhtml', False) + if xhtml and app.settings.get('show_xhtml'): + try: + if name and (text.startswith('/me ') or text.startswith('/me\n')): + xhtml = xhtml.replace('/me', '* %s' % (name,), 1) + self.tv.display_html(xhtml, self.tv, self, iter_=iter_) + return iter_ + except Exception as error: + log.debug('Error processing xhtml: %s', error) + log.debug('with |%s|', xhtml) + + # /me is replaced by name if name is given + if name and (text.startswith('/me ') or text.startswith('/me\n')): + text = '* ' + name + text[3:] + text_tags.append('italic') + + # PluginSystem: adding GUI extension point for ConversationTextview + self.plugin_modified = False + app.plugin_manager.extension_point('print_real_text', self, + text, text_tags, graphics, iter_, additional_data) + + if self.plugin_modified: + if not mark: + return buffer_.get_end_iter() + return buffer_.get_iter_at_mark(mark) + + if not mark: + iter_ = buffer_.get_end_iter() + else: + iter_ = buffer_.get_iter_at_mark(mark) + + # detect urls formatting and if the user has it on emoticons + return self.detect_and_print_special_text(text, text_tags, graphics=graphics, + iter_=iter_, additional_data=additional_data) + + +class MessageLine: + def __init__(self, id_, timestamp, message_icons, start_mark): + self.id = id_ + self.timestamp = timestamp + self.start_mark = start_mark + self._has_receipt = False + self._has_displayed = False + self._message_icons = message_icons + + @property + def has_receipt(self): + return self._has_receipt + + @property + def has_displayed(self): + return self._has_displayed + + def set_receipt(self): + self._has_receipt = True + if self._has_displayed: + return + self._message_icons.set_receipt_icon_visible(True) + + def set_displayed(self): + self._has_displayed = True + self._message_icons.set_displayed_icon_visible(True) + + def set_correction(self, tooltip): + self._message_icons.set_correction_icon_visible(True) + self._message_icons.set_correction_tooltip(tooltip) + + def set_error(self, tooltip): + self._message_icons.set_error_icon_visible(True) + self._message_icons.set_error_tooltip(tooltip) + + +class MessageIcons(Gtk.Box): + def __init__(self): + Gtk.Box.__init__(self, + orientation=Gtk.Orientation.HORIZONTAL) + + self._correction_image = Gtk.Image.new_from_icon_name( + 'document-edit-symbolic', Gtk.IconSize.MENU) + self._correction_image.set_no_show_all(True) + + self._marker_image = Gtk.Image.new_from_icon_name( + 'feather-check-symbolic', Gtk.IconSize.MENU) + self._marker_image.get_style_context().add_class( + 'receipt-received-color') + self._marker_image.set_tooltip_text(_('Received')) + self._marker_image.set_no_show_all(True) + + self._error_image = Gtk.Image.new_from_icon_name( + 'dialog-warning-symbolic', Gtk.IconSize.MENU) + self._error_image.get_style_context().add_class('warning-color') + self._error_image.set_no_show_all(True) + + self.add(self._correction_image) + self.add(self._marker_image) + self.add(self._error_image) + self.show_all() + + def set_receipt_icon_visible(self, visible): + if not app.settings.get('positive_184_ack'): + return + self._marker_image.set_visible(visible) + + def set_displayed_icon_visible(self, visible): + self._marker_image.set_visible(visible) + self._marker_image.set_from_icon_name( + 'feather-check-double-symbolic', Gtk.IconSize.MENU) + self._marker_image.set_tooltip_text(Q_('?Message state:Read')) + + def set_correction_icon_visible(self, visible): + self._correction_image.set_visible(visible) + + def set_correction_tooltip(self, text): + self._correction_image.set_tooltip_markup(text) + + def set_error_icon_visible(self, visible): + self._error_image.set_visible(visible) + + def set_error_tooltip(self, text): + self._error_image.set_tooltip_markup(text) diff --git a/gajim/data/emoticons/noto/LICENSE b/gajim/data/emoticons/noto/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/gajim/data/emoticons/noto/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/gajim/data/emoticons/noto/noto.png b/gajim/data/emoticons/noto/noto.png new file mode 100644 index 0000000000000000000000000000000000000000..8622dc1b9d104f9f27a8765c154959c17c5243c0 GIT binary patch literal 2499123 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%0Axm`Kxc@2APS{~GxGC}KS$xA~;_2a6)=$bbA9 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 $>!wiO{&mbGvE9q@Cp1D5DFMJ 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 z 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%0AXxoe1p4qkq$u{(s)>$VhC`4Luv>H(p zHquRyNF;Ej%h5y6@s?YE9d7*>0Mg5DVDy2{VCVAq$rR;Alc`3NoQPPSk6E1YIGdj$ zk?>;v@xvrm5(2vEpB@0?9Myralv5;OG&r9H09{UgP=gyzJlTGjX zWg4Y9y4GI8_g?rHNTrEVX=a;Erkg$)6Pe{XfoPp^J+%WB!W6Vtj8zq-CB8?(PO@j; zUVh>y-@}`KC-n??OP*6$|q z5*`UB$qPGn^6vNiB>(esU*y2vUEFf}JNUP+f1S|waMBs(noVY!P0~7Kc}`%-SpTU5 zyc86a)*LBE_-%b860v?!uQNXS3c1^V4g2PQ#284gxPh7PewK7sAE{KDM!iAZZ*Z&} zFp{@l)qj-M94SSldIxDsBuOR{)a!NTr$@>5-i{;Q7W+@nYD)7D)7{fcDxIRO-bL7G zaHQljl6!T2q!h>N5w%7RV<+*v1iq>B{EJ7p>YCfwc>9Mi7}`cQ@zQ;dQ&v6rr8N6y z8VJ=ON5FFTKi1!D>m!*+kw_+x^%@5cALPxqzL}eU@wdRhvW*vW|6_kcwzr>TD)mF{ zv%A&CQs^bV-Ls7TWQt@Ww$G762e|FlU*SC;`%?^twHLphNB-t>bPWuWN~Ouv>x7L4 zN6S7Vc^gZLr6Mcx?z`{SKl8_*e^WyrPG@Gb64gHkt0V%StkTJHS@9F2(16`j7wit(~3i zTXWg;b+*vPuNI?1p`iAS&*-4pG;-yoJZG<_G;|rMbjBPWo77VkUvc26=)CdoneME; z+_B{O^<@9@f=S;Bz}B<*`F#4CC4RA}_K(l#X0u^dU3wMavI`ivj5#zmq33G8 zn%TZBvUY7XUHR;C$FVkz%i-k{Va(rp?X^q%5B~8Ne!9J*^TAv;@p@Z_wyBpyxl-Z4 z_$(5`BlUOk-=4XFZx`;su|1AYPBT>sxso_Oh z(xDyJN}^CMvH!#j0(j_v;+Owv5C68KiEY^&otR;wP~igS7$3M$(B0X#O1j?q)TY;O zuwDBm0p_k#_&@z8U${Bn-u_s=E&axX6}hf1iLhDX*z6o4@;M@U`Q%Ft9-7ONOr@Ee znPQ>dU|D#8_l#6nJ~TK0@IVj0Vp-P4%-YLWM8f+CfUT$M|M(Z*-rmvnXg-_1#ukxd z8f8(flsPmpi;e<{ooo2kLWYB>6(o{Lj!jH4S8bA>c!ev?K8AX-%Pq&+K+oFM(zf3Y zaNVi?^YOpEv7V2z09`c#%8K_MI_{%XZz0=@91dD{~(u5T`hI!gtek5mWmvlm?a8BR$h7) z;j+yPU2+ZSREk4mQxxhxbKAG#?SF#qw(JUF*&8P0&|0MPHh^olUVHMk9Kesv~cOW-7v%o&%16-^kK$um2k zbMt+KF+BF@qbvkI@}9>KU)@SYMLhQC)*p+nw46Lt)y(7KB$GH&pn@h6!*fqR!|}ob zZO`wg{o79y7|jnJei*ch`BLB{5)_2X!J5I3%=DRjqvhnGiemOue&{1HY=8cF4$sao zbYPsd+jbBd!=n#>AEOm2XrAOtkAqc1GZIs$cAfxXC?*e84GY43Y$0*oJ4|>l`scthI$a|pE*VUne8hv1dTcv&DO0? zP*|8J9JrI9{|>6vGF!Jj30e^}>(~<9WRlq*!+*d~uh-F9^MgmXQYb9YObpU+`>9r| zJi2vTTwlFjM+$ILEq?V!<0l-0&~+S3^VE~uC@d`C4R6F9+Ca5h;i;z{!;uPU>Lgrn zydTg1C7PgK1Fd;%+hZ&&EYQE{b@Xn$lxn5Iv)^jm!GPOQW+QQ#wYzJHyebiV{XgY0t5R zj%ES2w%*{U{`?=(mJUAUSXi~vLI5}hEX!yvUN%f7n_*c`o3T{DaA%H0GRdZqKJm)< z9+8;ZMJknKvg|7h6D1sBOHST$vdFhh@adReIGsN-OeULUuq$tL=rhofC7DdJX<5J6 zHL+Vv9@$NQTN~rE1tkShUJ9F2ZaD#X&&U6^*R{l73LWTLsiwf#2Jj?YvV0}Ubec8& zS+>arYx^@KQYkK2KETVz_i#b}1$3g5%ILIqlZnWyS+*^MDPU>q=!f%HkxZvqJKV!I zSFm=theRsH=H>moJUY$hb|3AuF*iA>6P_E%YQ>gD&z)-jYqxwkVaw=Ko`qX0#`cdp z49!IwhDc{KtnBL|Wf@lXc92Y^*s!dh7mm&_Bno8OdpUCKxR%01*_3As!npHny}{4^ z=@+w7@F_=Vd5Zn9jN#&uWu!A1R`j;xpcv_CBbiKb{>T6?kL{$bI!d-H&EbiXb}SL4 zoTe>Qc$)v*@~KaGc2k_`pTzz-82e{;8@7oU?#z)&CfT^GpI1&4kW;%zr#z-AffhzZ zNk`ZyHFIkF-ti}&&pVjEvW4bU{WgY+moF!sNi)>hh7Mx?NhFh8uwsC{Q@fcywwJzq zJ11u5v~5{YRtj6`XzEn{;^){~@Ol$TY0$o@22Hb=>|j4i8u1xL0SGBg*+?^A^*T>w|497rewW*yehQ-vKiIhH$L8;tcY3{qG{S_Y zR`E~cmkR~H{osSV|D|2%ox9oo{52drc#uRYMG%B>;uIjHFg0VF{WZ58U{6nvSsY|` z&wD*i!ZPxQ@PB6i5!BPqvg5WJ*|&c`UNT9gat2@8W}#@G#oxP-=y8+MU;6H`Rre}sK+doz3Y?!|Up!b%m>da{(lG^A|~l$|z!o}M1Fby5E*?OO?& zi}K_4otxwS2Oi{_tKWbzh8JIYg|V?QGMNmGM)Sw^pL6o>e}HSQzPiPKX^G!#{`mYe z{d0D9j{6^YfUB>*3S$f}z4S7pqcOj}s9%5(|NHtMc;Er9zN*E4`Q?-LQ9qjgeI=*E z^~4Y1KgiWrU4=G=mrv!N!#;C0uXmAech{05i0HgVwG0L?{;+~jDW2RvN?%tO%Le+$ zW;2Wo_G7f-={<)Tn=f;T6PH&@x|XFBmXMM_dYt;Oe6_}M^onM+0&!s`gb>t~;>mr- z>Fw%ZWN?67HpBAa0aO_B)Se?u6e?`A1;Pjtj%8`BEh#KQD``&S8?{Cny}Vg11LACc zXD1_r{p7P5mJbaQg&|MvJ z$!5|l8|=fVh-da5;lx6j%Ld{C?y00_sYqE;N_^vpQ~4UX#x~KiW~~B3xQqHvZQo^s z{bbW=mJbdPg+5R1JT>kmg{xSMn{+Y{W zSUxy_Q7!*mD07}AkVfFy($dOUQd%e{c^W?}tTh5NaHjs6itXRi*}?Lm*gsbc4-y4F zPwqL)WU-28S(wP+xvpi5wm=|~Y3Ee_b=O^|w{6>oG5U%|y(YpibWXqOHNHadJNMns z?d2-29_S$P(Np@Tr1Wn=l=hpwo!w>WBbe`p2f(O6(O$wzF z*-Yjv{ZdMVkXL``LmzU!@P#jgTefVG|6%(E0pIz~cev`Rt8g5b2OfBUMx(Lx-v5{V z=QO_a8uMRc{qFxBUn%|iABFG!X#8sz`F7I}CTv^Yq@!jWGFvQxY{P-EDhG~^G0@XN zHtCU0c+4)$vHjq28a@>LxROjV>CkK#<156x$?XBS>#l9;?zeZ+c7?T~;oaC@+I;d_%($+vhLZ4v%o%-TZI! zcOE-Ivk4Q0h}Fw-STcbkqSaqn&Yl$wQqC^+=l&QRrVhlW1uHT zHkBafxy;VQ?OSUqW=ah-8Yh`YG%F?yv^Z8t?g6;&uDcX>-%Xfs4pFV$B+p_0-N&n3 zIMhupmnM@)l1zF`%}(>;!Q(U{i-IpO!jMWO3B$lNLM6skX4k3y)ATDR{qtPSUFzd+*f%T8Dqw41&Kslizw1Mvon5DzfNOirqV2{Gt3r zB2mBVuDi_Lci+9lH%9+Vf`%W_f1-%PhYz!`uz=@z96Wds zrPTj@{`3Fmzh?ZiI-OG<7V&-e0Lk9=_EpAl`YdB)Xw2N)+}sg}vl-8L?l~U@1m+G2 zAjH2ZFzo#n*^X?-6*a$A)lg#cNlTP`y=&yA`HA@Ujz5rFw{Df!UAIlO>R|sL;RBd^ z?y%^d5#svCA~2YHu%_EOuk#~mfm-6vm77ObzqN93kfRIwdVhS#ecST&xq?=_Ics+I72Hsukj-j7xi4^*ZjjHx0Vn8*!DN^ zYHv~h=shG;-5qbJH5Q9rWAb@R%r8XyR^470{eP1E7wz+-_|JUR99wnU+<_lQ|KfRC zfM5UhUr%0i(G`8JYjrt}ofVF-i2&P1sYodumV;Vt?xmMrn)>7?KY3~|8mDppAK)8f zM61p*fBL6?n(be)qBkkrPTQ6lW7!r_6qi*Ef-n-QR4-9tltu5EWYwwJLitVR7M3?rp^G?|NZy=hy0}hxRvrQ0q(C> z#rEyn!-4kpVK0~cjil$@>Ui#mZP_jYqA*fH7*6@k#-q)!@s|@5b1z+T$tBKPGMV@d zuDebz8XLfDL5jPDUbNk=&yqF;WOli`o3A@C}0aaJ>O|^n)Zu-oZ$!`;y=3U3=vR!@xm`xNfcExfCY$ z%vQ!9e{bPvX~%^hW@*pS+=C_VJbR+@e^CE#_pZ6}r^E1c{l$sBv$gTZ-aGfB>VK{I z{~z<8r+%Ge|MiTdx-b2`p4C^p?=1fr-!oM{@%a0KsnX81KgaAM=bn48?mUNmwroM( zb(b-V{Fi@&bo(_dPxQS0<2`F$|F+N7Zds_Wv9^{&10XT#7vjr(?`G(ixUD2nP)6io$@+EJ}kzkcg2H+~h+=jupbW4>q=A2Ihm z_}%xkx8>gFI?nl)W%XE=mGnFhAp|nM>JF_GK^Q8fR5c8v2|oy5D3%NNyzREz?&nno zu*LWM)_o7YqpPF+{f=W_WIJ|`C9Ra_xd;)L=rk?;zVBo|y({>7^#gCNjR6xAZ7$AiFsu~;ts>+QGRdf&NhBVOfASvEL$gX=k8 z%Vu(2j^iMuM9TPsYi)$qnlKEhRx4o;_`i7k#Kf1*Xjc*2Ce{YX@vTE|^U}jV;bup! z#HeA(U#z(V(N&vljIq5Po4l+U_c; z`iU2V@`-PqIJp0-7ylfyXX$^f`TrmCpW_ep+?eTD{$3|De2o$A3eWO|H}J-@?Niz( zn#DsHyQ`>bqc29)v2PxJ`QTSC|7GTXh6=FKf@?Klj{ok9Fsrcd7>;`rfatU9xCrTw(u#1AqI}6OaEQ#F_tR+UKF~J^Vk{uRrg1a+!3C z-}(%%!WTlu1uul4TCK5f|NgHXJ$&f>6B85aT>Ss*_SyIS@e^aOYX8?t|DyfB^ZkcE zw|V2nUrHtuXr&glpTajR4yR}G%jF9D4jlaA(@#A13uoG2Yyo*U=nuW+qAN1#{0AIM zdMD;9){}du-jzwG(?ZBlN@-b^6pOb($2UMIqm)+0XuDFYaq-Hoe>rck!}p^wsMac9 z`NI7#J-x_2dVk0I_Mwe`mmfI)3i8Xq>ZCsQBEr;lA~z_F3YLr`q)kvSnxI)HyW%Q= zDM4eB(%6mzb7KcSy!zJBN6!2bzt;RcUr+V-jGX_so&B3`qiYpdT?Eqy2&yM^x^ty8 zQL6(2gpjDHX==qO@++?whz11H)W&vB%#H5-*z#MB{_~lg#A~g8*FCAe{*{|P-`=~4bTg9O#FSJCgAT49p>s_O-^0saitv7J-J6Z<|keAD57JX8N`&HsP9{~Y^z zsy{cf`HSrXn{K6ZC0JefQ~QbP6FSwgLK@{SeR+kDL}Am^OVcg?se?aFb!^8(;l!Tb zSa$RAe>GdSNO8)S_~>`?%kw>(zSKUr>3Z6igVjZId?z|w(8;!CXXv+xnpM-N7Rar< zPCyx&(^STG9G@H8|EnwCeC*r*+4g_=>*=21;Z0v?AK3V|CI6W@L{J(1;r_GodV$ph zf129Zj_LWaeZMtw^O3Kdpai*>vIE_wU-jIu0@l9XB$zk z9VeXYF^-qkh<1}-bmn*YM*aXJS!|8wUB*IiF77g22j z6S6kDOJs9tDZ(j)QLwa~Zm^{#@MrL6b{j9#rL{?$^s*}loMiH!#vW0V;*Fy}SPYlF z*80t(*fYt^|I~58wQr=BkEq4^>vOwACYyS7{lN^)nO!E4>DJn$OlH{?eO@a0568bB zPKp~xA70e|TJ!(k?mxTk!A%Za@U`~M*IrHir2o|Cc8P2*drtc}QVQcw zA!?0rg4sRBO}1%7&SY0yH6kqM8^^xmUnbr>`Qm?;eIDI{-9LE#KXqJm?Tx4T&+JZ- z&Lm&mf5I7>GdoQp+oQEfne?(Nd%bk}?~i|1Pl}t5eeaZTv}tQ=OW2l`@O|HeVQ9EBDUipSsjD zFmZdG}^ql!L z8!)b$eS3F%kEgY4o>(Z_`^TnnY|Bzg31bXW8Z1jSxtek#RKctxMZ7Gx-6WN{Q7lU$&0Cr7i_06%~YmN9$uq5EE2{d-5r4_uhP zoVp2Aeax0ZN+B&AFG02NYWg(>7hAOSn^?co(e2r8_G;kaMg4pK;kD(z*7kX={b#RF zr;dQEz64AMhN4&jy*fK zK%mrafUR4%o*H5mfB*M?KUt~OPW1Klu4p!!S{ox&q|V}>s^7BW_YguDqiwrVs|$_V z`KtD5G!F_PF8klIk0q@})0bfsoYOw9rT&)v4=)spv+Zs9)9tTR9O^zL%6+E(*#53H zzfd5k`-cE_-*Ly%3*x1^l(tgJShlt&<`?WRQaGO7+O$@LQG_;-bRE|9cCvn;o3Z&K z&m0^@N`YfpLTh7BEfg5;>Od)FkkSV5nsa+A^CwP?3+( zQM}oNKu8PM_Heu;=t^sQOlXpIuWN1 zT|ZTWn85~ zg%FU+!UN!SD*7$9fv9*b`FhDxjMwCbrg-whOmzFQ*@*iV_ z5pF$EId)Xhte)mSFMK{YmaR-amK(`mV>K+TLM;T4$#oJY)2OhCi3`AE5LnVW$=7wX zGJr66^+fsj(T3FwANh~$bC!R$_^0`&+w#xQ{Lt?g|AoTT6SLpV%ML|?P%FY$#Ct)G~;WS^FP%d(7@@XW$o;qJHJcH0Xr{<-Y) zbLX~Ci_gjM?WuezrA{Oha$#ZNGjF~1)`!kzpC3j4;v>Ee)10)=f1v*?`y12g2fh&^ zRxLz)6!BEP)~DDfwtrYC%>U+{cfNi9nf4a|AAQH=A0Fym@z)7A9c|sQ*M9!Magv@( z5Gh>SBJDZ!&{dFJ48lrjWS$R%r*asB4?Q8TF9C#H{nMKnt+Ia$2n_PLI(D13Cn)z>_h*aBhD7mqv?|-|6e} zI{Utu&9}eRNhFAa4+5m!GU1s)2m?mZO3pIqP*f|GqjR$hA6fCH1K$B?{Bh4p)sbjq zeqnU-Ed7ya-3?`(gKt{;Rs7pBKh!??Um7ireRrrmmGAsguA}32Cz~{ADdXEHC9P7$ zr@V)0{pk3&Z45yms-?=YnVI>IuDbEy1E=awe`s`Sk)LhvxZTa4!l$MGv^H3b*{Hak zZ4Caa^E1CNI(g{6!8M%&{a z-Y@6d+pi<(StudU0;KgS-!Bu}U#r;uL13z-@`34vxu0Ks!;vQe8h_EfI+3x9;uj|8 zPTD6Q+h4bGnT6G|&pG@vzSSo#iRSx1)IMY19coXtcl}*wXZx+BllDpfJcYlw#9N#R zq2teBV+cc2EtJM)rsjWn)y;?Q11SD+&q^obHPgR5HnF&8_`n0-`PJ_3uD|k|wMa^|?m28rqLn66@$9+wqw>G=-Ou-Sb$qDNXhcE^TL|kk*IaZ@gurNp)=E2$Ba5Z# z%WuBrri)(fD9j@N{s$lW)1L0mk2UMDerYZ8#c6yYKx>7Hl$MqyE4BKeH{X2I8sMDA zZ5H|WJ^0YC^>lT9ve~FbR*Nr$JdF<^F(|EwqS*emdUL+JtE2zYOD_$782|nUANtdt zuFj7&>a|E(mTk9^plI1-(LV*Clp;Ds|E)iQ{`(*N?%(!yb^Ls@8S^bEF+!qLe7$8n zpc|xU`A-yS%XVe4Tz&D@TW-4KTx=Uao2U@AmeY%sSu817+0zcj(3Q(D($$VOh9HVC zz|rY>Y)f+Wx)r>5Y@F$0fYI^nE>a5Jy73{-qC9a3PF(fvKil-zmgju<;tREMJ=cn~ zMLKO-v#WT7G(f#BkSL4_)b^L944ctEOdic7z*_O7>+^0)0>&5Mnp zxXAz3pKbo@hUCLnU*4@ew`>JrjaiZ^AQvW zn3{#Dw|(c67yM@Lfc&%G{WKpkM zYTv%P41N8o_CZiw#`pr9c>4pN*z{k^ioe*f#!v&^>P^!V);knXO1y6>HKx7+Uax?imCY21O}>r4DkZu+mY4gTW1)vg-qwJgU| zWK%Yl%~CI65Y!tH^#;^ymU?+#UFxdXwmf@o{+2C#WA$6d55o8@fBBJ3M^~(Jx-UH6 zm{i&kp|VLP4XzWfzQ7Phf<^Jm&C99{u?KDls`TA&P2D}>-0FEEAOk{ZVdMeF@6HZZ~DY9Zalhjl^i+myoBy( z7gETOL{j3|Cu6uu8=6f`vk9mqFYPFs@#8{1{DS{;|MsiZsnTB#yfwMZU2o^CKdtPp zUAtuqPb}K!fBwRGM^~(}y3b$dnf4A#SdJl;6gZYx+7OF0)Ek;+(-74q&+e?5@lhfF z<-Y2BUi{PM+4d0>mvLeNPQ2rHe|FvW<;(4hH>`2=P`@o*PmxYqxQ<*}fhlchG!>Pa z#&5X1u(zs4j|zM5!RWtz>vlVT*VteG3E&=xL!qfuVg_kZstX}d z1b!3O@<}KBrHP?Zl0r3!>)F_jt#i4ol}vKjH7$djF$4sMF<8OWJiAiZY)ciQ25j30F!eCpX zrC*?o!4EWUB7tSwrmZ7GLW=`iwrr6bH*OSXtR7FZPbQg~wk(@wgg{3${Tf1tI3mu7 z1~5XKM(?ihOn1v_`QMQ%>2$f=_tDT|t9EYc7nOZ23a4fpA8Ke-*S89yU z7f{-;Zm^ftyPQHn?}*yC-<$2W?L;)EXb&&|fx>?QEyq z(6r|jw_a03T5%uo(BpY#=4}!VTz^^BeEpkwk&x+^Kl^>c_x>aAa6IqlOd;AAHsl{? zJ~r_(AA?2ycOSBz-dU6%-mvMX%p>1_hEipgo(_+ny8Q|)+d=^UeBaZI&(ujI^1S0s zH<-`g^EYCJSA6+zAAJ=*@aUFn?d$H^rhet-jwdg^q{v0`4We2-PNO-6=SuqeHe=ff zgpkb4?xs>HfwAfDyV{J6J|VVmpWFMp|FBRleL4G1FKd566~b-)Oz`E@FHe43{PIcr zJn?w)>GA32hi|@am6@EKMCk^(tj*^21FbLw`3995jC2l|oyTk9qG7r3%a1IS7rvNzYw8UC z-GJGGT=r+3`IlZ1sVAP3oIh0L@ZmHKKftl!g7tMgFJ5`=*_)zXm(=Q#D=(~a-vddA z93I^|P&51qmP7{VCD7rt;wa_ki+8~HUhY`jK5jUbr8 zwhg)50FILa1m*Gxd_N!zH6862a%}VoGdDTSbfrz=W?tv?JNJZzXsb5-UG5_j_lu9j zliaqpeA`RAWaf#dHMhNSm5`!IsOz|{VR$ef-_^eB%Od~ zce*xd?;2;w`kSy2KChbkQ@LNCdhDcq$Upm%PTl{Q=Is~dX&Qxa6rN{T)#Kn;@f7ID zY(TXR<*HzLKFPm6Q>L%e;ico@tJz-|gShlk>=$;3+}9s%vSuJpE)@~slTAkqcjriX zE<(WgT$zP(#6n5Yn``HZy;TO=HKX&EgU(&x4Z8P4h2UXf_)78z6JH0I{oLow-S^(B z`}@}(YZjm9y7hbH!2=CuXX-ej&Yd?;kxoZo!w;Tl0ur?$3PsuU?hEm91PauGjx|&lit~ za+w}GAM4*3=gk7Ha|T^kD8GOk54hbP(%k!E?<_wv*JbHD-#VS zE1Er-@0`x*I$3V{@kZNGby7wZ`||>_$fR1UVMTi;xfBPtguoar!YBfL@>2NSGu;{x zt9uucD~A*-mW86TugN!dBpK|llS&3SCc<+=Rt(ko=8hzpPM@KXfHfnUe74dw_xD~d zl)hFigfCiMcAGJ*IdDr{8+eg_(fPULrd4^?uN@Stmo4XekB_r%)fHqrF2r)ykj$OW z`RlLY`%g|V+&j#=b;De+rj5bj?xwka@N%KdIr*R4(_@6dtQpiP+fI_pbr7o6eDxcK zshN!=yz>ZyK`_Hu@^$>%eHI6g4${%li|b_(mK~Z$`bKPNepb(iTb*{h+ZeHO{I|31 zr|NId>f}J*|Bt%&j*hE3_x`_o@6)Ghq*1r!-VGR=<|dmCp@SVl38_FTDb(EL%AzGC zfrKOw;HKRKQY=Vlp@S_t#s(X3@3v(1GWE1wet(Q)T!G}i@BOX!tmU=PF!PybzUMi6 z@3YTSEL2s*h-sJMjg0{ase@NYW3ayr#asn6HUe*M48Y6;Dl6g`QEP(}I;78`?O!)! zzhz}3brlSiaf7673tM(8@SKBUuZ`|@6TR&QOgDzjI{_wiRK-j*ROw)v2-S<#4Z4P_ zWq-I_PimDysIhatQ&YCDK0SU{q&}^qJZ_S>mBhMj9{TzcXm5{U(^eB(wp%D=4~njsa61Vo^rPGM9vM_sLldtQu#Gl6)*hbB2pjiaH) z#eFZu5aHs6E2+jFnc;Dy!OHfb?!oJ|$1NEV$log^7VA7}<#x_)9;^;AW;BTv; z8)HyjdmJbm4=XYalg7`+?;d_1mJvsFLlwr>TeRr=;ZH7iFM*2%VgJE=LZA$zS8BRY zx@IC4iz`hVjR#w@Si7MLwmlVLPzxpNq3bj8*MH=(W^D|KL>jtAS;muCIHB((6!kBK zz5Hc8#VRD!m|Zs}lEeH=MiD|dt4ixgB^|`$<#=IL2HgX3sGtUeePzfEmP4l_@ZvjJ zWCIiB$tWtzb?Qo?t~oP*KJr+^`+_(03cXAzjPJOtDl)7;0796+$SNJFh>oOT;f-}6 za=j*sy*9eqP4snGAcY9tSjRzyjbE=u|wN`DHqY840vXCu=(5{`km zmBh*oIc(mpp}RAQOt$M6 zD2(l#QdJHBEhzOt-uc%n=nH@Tg&Jo*g(F71iKpN1MXI6`(O3rHE*LLj+PEI9XwM_0 zJ1}AF3bd_x9IGGsY0%QrB5G@EEv2Bfw6qB9vnf7&bieT+efUqmRin!kW=~1umDg8b zY;6K%DF;dfU@FAyBS&G=rmcvu07o8OkM*nH!dp-OHE3yR5rmLK^M^XO?0)%Iq<{TV z)LAZy{W>0gxDBCK1ych=7(k;O6m|H=kLZz<{jU(H`*58Zbciksd z0FWve40#A8C84zRtgaM2rjU1i6g(eNDKJu+WTjHbdp>fmS4v2#l5^1j0RR9=L_t&* zrR@U(0wpC0c?hY3!QmgUU_mPYsOi;hbH-GA5_+gK%8_#^Y=Z+t4tbh@ZHCBu1e6Fs z4^da{$=M^@=3{`?vM8G+L-_{^_;yd>#}l4`U*azS05$*kqvjkrrc&yrrVLFXSI8h{ zOAz9L5)Xv9h*=W(d=?rNfXOhSJ|)juFnvCH!^85wI;GT+q&ii0yur#9U`V0>-!GuF zsTzRL0Duolfgo@pga9Fg_(4ooM#^SmBdamvY@XzJP*Hf+p#RJIALaH|Ap)Q@WzVTd zI+8M~ClTm+>>52Hv#EtxW``4~`#wSTy8>F)O8aaA!x84N;W z3S0?Trh;K8Xu1T`B^*mZQVB{G2o#N5Oqx>730L{GR+7z?fqFYz5Phh&lw6aWJL;NSd^D**oaX>3a3>d;stW zk;OnMMk#nG;CT{V{Thm%8rpsX0Er-!=o-+FEdbygQc^%Fm9}{twssr>`MU%4DP3tq z<~*eg3h*$5=M~V=)rn$Z08m9x>Vcq$(9fZxyAzpg2H+ux6p%`)v?b%P*m2?zd;kc7 z3PE)#!jM2pfiMh^&kw-!bAa*z8UiGM5H1RZK@{B_loa4$DPkl>!U!B~p%C&xLgCr{ z-rWs9$_#wyK6>c+($_TtQF^|Jyjw&ld{8F9bP2{d6ap0dB3$1GFI~4pNl6kch{9p> zxR3v)1in33_({!!U4?!8Qx-g-OvVs$2`&YSoI?@;rpdkj11jJO4qpg_T!K*oA*8DK zD1AyNAj}knXB%v&fPz54Jtz{uGz1(Auq_2$2@}SxKk>u`>l+&v{v0Te4O_nSt5XO7{N&n;j$iWCvlP>GVVMT{GX>}xg{HH; zk=#++z(96LR-xD_v!~!^H(h+{+`04r(AYTdko*NhCtzH1!u+!MWXWMFsZ12y018Iw z`QvaP7BNsL`VdM7hfbrB@cDU)1jD7$BwSUtRp60bjjHQpfr&@{w9W^CPY$BeC!rsHtKv=JxaVygyG~FyWB)47%7nU9?=!_~UB@s%vl9N0RI3ldL;)oIc z6(}mXVA>#-HD{q43gMuHpDV(M7#Lqy#EVNdLDv+J1D#moQ`H~#z&3vr?g?(u;@THL zApTK4qVD#;AGQ5^7rfYq1pu0Xcp|=H-ckA$VLm5MoiiOPT5f}F8z}Z=P|W0E#~e%@ zUynDJ-U8FmAqNNPaZ~GPIUDQ|U_TO_;Vmq7Fu!MNr2+tpu~kax#C3gAUt5OnePrSA5# zUuqxLM+mH_t%_XXheD34tH4*zO+nKs^7#P1>%*`Nq?1uxeeUtlGz!-XX(}F}q0ILn zYW~RI>EB``54L|@Wvc>!OvYO^z9L2_r6g$qpP5+>jS}QN0YBi-7=x)(TzEtZi~@x~ zsQNO84ff^N>SJTSEOZ9<5`&z=Oqy8kl-o^DO{{M|v$d_VwR9ou?sHd78mWj5Nusue zb7oBgV-&ffkN#X9j%6b5*f{N|$)J?N54cJ>8rxb7*H#@7|7E^2xR)NxZwCNJ*F7(g zq0WGOQDMT!0+!vp3A(AkvkG3O2;J6EUm@^Z(`IOfLXZKtAS!NiWCP%ln~q82+9;XNhY4$xw2@EqW+RByqzv7edn*3V9D+E(fOTuwoH>`|5K+ zD1qm@D7u1ZRH`|X{Y!aQ_;cN)XHbJgmPadN-+N+O-R)<;vup~2WoT#=ekhPm zMRC=+$3xdB3dI0!!Gosja2yL?{M50~7(w0*K`E3$B`!QsyBK@IJM}1COekSb#%e2? z9yz+Q`NHRiOJRE1A`iz@Q}|q>B4Xf@nHA94u>T0?8b!=txcKPuq1QPWqbg=dBONEjN!nMY3nqZCCiL~kw!Q`b-yiQtqYCxH@zq8}n=QJO7q z`OQm>OVAtqlImEXSv3BtQ*JjsHL1S&%+|J^btV5C7{r>BruI{VX=+SWpk8X;NOWC6 zWEH%e3(eG!j50ia!)9nqLFEaVUY}LpetBxc5i^dy;-U*bjrHr-;k8$uzh>V2=@Vah zdHLA@IC|D80LT~IH5Z&TnR*Or!l){>qU9E1nFhT6K@>9u=$3(0B7zrw|2=3Lh0J8h z>}fUXx?euqFm?L$D;6!j9P8JuJ(xdqC@xl3+Nm$Po+qbHs>Aocy9kD%A)n17bUlQY ziR#J({^L6rf-#EFcWE}u)Z^>3Gd^|NDKi=uehP2D^-A44t6p!OJ$ruT>#sL|9RQ|Q zmc}<3@OQ@6rD+%nS)WeetLGmFU1P`>eE4nv-PDnYTDa<*V?h~#>xDEHu~h3WcglkK zCrml@^b4^1ofUX{#mnEDJGZg^)mK}u0D$4~r{D!^##Bcrq*Mu$s7q$12%`iAUmyqt z7^S80=g8#H`Q;=XG1Lb+r{U-$kG|sE^Dn{rbsymMS6{eh-n{7(UwNgZ&+z!;bMcNt z6%B$wR>T~fd(1TGj3Ha}kSP`swM;}T3!j=<@+;2|s7Z)Q){K}kXYQOSC!coyA?*iR z0RTkGVh{@Ca)L}8nZxp%Hy(2QdA?~AG+jYu2<^`cSXJpSoP6?$m^=SWta$5{ns-*d zwq)+y`RV57=C4x#2;FR6N?BA&mGTA&;CeoU5KyWV7($04>y#9w40On=TBMg<%y+f0GbUp+G>$ z);;Fq(@pJeFGPVv*;v~~bWIR1f2kt9h*38HfQ1X2c~espt+D9?>(+06P?N0AXHNm-OAhEkm&|6oLSdLPDbiK^TCR z@)!W6AcT+_17Re5_v)#cn`MAKFb~ZKfTWcP+(5cv0MNjP3MF(J0-QrLU6{ziGz);_ z&`1a+1h^MKCxnD<=y?GKNn9IiJBS^q4**nEWrCci+`#u?sT@=g!qNaKLfBCqF%5`C zbwF|GOhE|&>E{ul9w`+05Z@SUTLT&ODZ4;ICLh7@WZg+qfa`lAsQvgO}-s_uA=4=%XGsJ^+8bZg)60m zMgc#RAW+~!LZ<*#rPoENJR-O#)!mKQloSh|=Y>Q1A3`4t-Dwm9St$AvQH?7v5FjXx zJsK+oHj<$rK{fOpK@cKo13?hTd=Wh`*vM#-q&teH@kpxf@=!1Z0E=57R1@gYx8a37 zUGlq>dkkDCotDNQW_U1U2Bw||5JDp%1Q#I0!}1MfWMhAY`rKuo7AMW~<=4M7OOjbcl4{zU-4OS(p>M5{DsY}Ts1XOZ|fufwY#J1UQKZ=47p^qH2#_<1Ct>v zgF;FHN&wCUAVR#nu9JAglwbb*W#Z&x_o$n$Jwr4uI8`vFuAVXDxXC4bT0~P*6TP9O z^{-uhnL8k)#)XuWPzb4@YZ@RVbjBb*9De{Iv97B~Jff>FeC~2_^6Y+j?Kd0csi&XA zHI00B)~pkb`EdLJ{r#KUUl`06u9ZSDE=r}a#L)Odq=dG2{3*Rogv9OwC3#}1OE0-Z zoIKB!-}v$o2kFxSh$et;?&$q%E?>AK3`0#wDNFp4|9IX|;F?k(LqS<#7{H@CvEvE# z*~>3Gto_3WV?f|5@PZ4;KW6-q0)E~{e_$Y%ER&!A>?Pu)W7^bB-!17+h`M^_%$buY z0DO?&Sx`#mrIaujQyOLH&liy|mL}Gs=i{{v+t8UQqBB#(Ya6zq==mT7$QNDo=Znx7 zgU*;LP0TX?L4N1H+gAXZv9J~V?njTmZp}u^g%(00P;ag&$A3RQ4KMGQhKHV>h8N$c zhEyS-1#0s)i(LD=#;;ma6SqpC*0FrJnODS)Yc&#@^5r!*ocDTeUp`sb%zyIJ$F6&S z^?NQ12F0X$Y}snuboXQU+sZ9y`t?8Y`^R1fhyW~2ZQQVyeCY>Ieib8vTcPMj@|U)> zNTn3H=C`ljym|B1Hm#HhCbw?uz{8Kfg?F~};F;F7cyalA;GBaoCNq6q^oiv=zB2Vx zT+9`Xq1Ssdh}x$N7z_Tc4rwqr+M z0k5suiT5{klw!pRRhjGndGhUnuU5{qZxw=kr2R{pn@e%vUya|A4gB23PJS{tRBi0_ik}_b-`6ie8a4%#1r}ML+dj<0c%VRv<(E%sgEECKnX#2CWlwn zZ$r-G*xEIKx3}zqQW61|u$hlty@9-VF42yjOy29?5ia9V>y)R>)Ck7dH}~CLBF&IW zflj&+cNO}Jt6*>n>hlfTqWIn4r=WG~G(6He75{i{B%}xxV?vLYioh!#xsU%#rJ88<8Mob)@9$ovS&R}5{LM96aotZI#-CSg z#E&0ZhC6@%ETjw-V^qM;1TVg|e%;imQ*qpJQ$LcAB}>%e7KkmKZ+@q@x38xZ*{nxXfDk3c z&h9?EwRtyu34E}-8}IFChmuMWKong!*OxDDoIZU9rcA9oto@ahr8{g>3yXQ5;l1?) z6doi#V*H^Y+S)?2^@f;r%yD$&D3kdwoKNJ|TiMy?Euyw&4cFY_gwH|-_oUv*g^avI$wS5joaOxcE${y&pC30s;`LP zwG|r?F$hjRW;Cc}1S;33wJv}C*L`YAcX0qkDdbGO`tW=LsFs$+6oiCZHf_GXr?Z_> z#$TverG*tTsC0zbgS@zv0D7EtNyE8cnk`K52He%tFMI=HOStF140E3MEzK+d`Q zjAu61DcT1^_*|kPsX+=ESO(R5ir$M4Jp1As zg-*f{%4%9|UeyDw*fprmz5A>e);BF{)IL1JB|ag|ygVwdPemnl10hpUTa`s@wDk_c z4>?AbC%}aa90R&W-52kE^2IlDAI%@m9F~Nj#|t?gex*|N?*S-0Oc>FFx>N?6wnShu z4@XVt03`v!tdGCER1Kd?+SeEIuzW5DIKuP@{xe^@@IPF+L*APCWA+YDZ?Q*GP4 z6-p_j(=k+4#nIN*jW7r>W=tg*qsR{AuyyNusHg~N|A6AYPo_Dw+UL3?%Xbc_vwwE_ zb6bY_i-ux32tk+Y0h_jWA(QDxCSlte>q3Q|${o{P;p+TeNt?Hdpx z%&J+@dhL=u0UO*s$WH&|na{NCs}BIFG4%B1LTu#0`QynGlR9j7Vw- zco>p&#w&O9~zT?Bxb?Zn|6KK)n z*SdZPshF0uHI=j}+6F`Tp~Q%!0U?R9HH`_*f4Q+=-0S5B$eQ=I1={pKgH64sq>nmC zf3;vi$^KlfaINQgCHv!16)|<}?CA#=0=20mB#45NtdP&$Qc&7o2YNfm#!Y>Px4&iR z3na~I4EW=VRitxU2&!?68_|clR0f;3Ixv}sBgc1vQh}hqh~GV(hEzKCv~7`_Hsz&x z+<$|P`%f8*7$OY0%4XedWVlb`H5bi$Icb;A%M?8E)anh44+UY5h+7zuiXq}Sdvg_) zQYaLQ*xjGQ?yLt8K%>B!M@8xa6+EK5=&>ZCtaboBw*$mv(%0 z<^41DSy!#vZ;~(Z7wOH-E%^Plr~mQ7^UwHntfm&Q4M2#}9)cet=eHY$n8BcAiO)j;ssglk?r443-FEulr-$j(ICEEjpS(NvN$vm2s_@5G zobcl$)vgO&0Xo!Qnh-#61;bz{5WX>=R40Y!m|frN-8tYF)!#jhE#?8N9 zn1A(GR)x2H_P8JS59-(T3@R}F!`ihxlyFQSo#Y$GOmj}!K1X~kf6<~vtfi$zoH%*R zLsb=tOT3WqW5#jqi>GWyWo;gC6d;HE$0Nw~*!b)620Za@1T_&)-T%!38SE8zN7Cjs zd%DAe^jQS37C?*{G2)?AdFm2Bo0Ez$|cQ1bk#MOx?&?dDQa1xMuzlhY;4q8TU+_U$z$%R zh}&P~T<~!tqT1v!BN2_HVA=+T+mi7>py=kXyJI)r+0+M93HiqxLR!d*dl1#WHkgrr z8~MfU7avNWsUxc%Dldy&B9-FDj814{VkW==-JpBZ>^WBe1v>oz%Qt0EZgKVKO@#FK z@VjGGht>zBbVxq3zV-)}Y2F+P#g82w)l#~NoTtOEjJ*XWcpyL#AR6I#YgZ0k{l0wv zCmOYt_|1S~m+(NXuKoP>IfwI4wX8`a3vcCpzoTDD)rLQYfdn)V2!nufKuHM>;r5cJ z?U5HH^I zIkErRY9o^}Ob!t;)#b&CYqzED{pv4Q-Z1>W;Ljtk?+e(qPK@S6utShI_yIv(|n1qpt7sajg^Ay5rsM`7PzM58^i| z&?We==PCf)dd1P78$EIKtqDC|s~I|!kgCXwL1%a8pTG9gm%awT0|526(U)}<)ep@m zL(&aD-C`a0)}lo%ija@C|HoGzcVjG>zE%s36c_{HLWO!zEEWdt{qDW5?Wa$FK(Do; zv^&w`e`5Q8_@!e%YZ}IF$cj3t6d(Z_VS&=|m$qNO_SK&OE&%X9jl8Tkq<831s!|2_ z(=Cy?Zysp>q4+=k(y^Z%47J;`y`qlGQo^Sbr$I77{&LdOZ+vxj+dh0w@6aQM<~KGr zYL#EBR9*kE@`iLQaT}E4K8QB9f#RfNvKSN3!mZz1edQ^q)pRt6aKBt+?j(8{(1VZ2;wg3bkV=I=JZ6$rw{r2g|V#cp-N8 zb>i`t)?xX(gJ9H9K?w4-lQL~zIE8v4)52u0d+veyH#IeC>!wz!V^-|?%(!y-CnkLn zLb8FJ2Fdpt(ALgMHk}7t@*a*heMzDjs$uU4(5dg-H9XqwEs`_pvyoCTMW^(?s`F!RZ zyLRpB_(*>9gEyZs1veg7nW1$t&T>9g@AsK_etTs7l5gaX0j?V2Po7#;RWZazF_ZHS z;vd+d2LLX){=NriS7kplG17yy>C=JGkel);^;&o8r9b}Y>Qjf`H+}k1C&yxuJCyK` zl8Ovwvc;Bxf!^`pc|N5v{*OwdU9+a^H%S%(WiL`p(tAFFs z`@TDO_W^={IipAWwcJACc_)+@Iz3eA9Ph;C}to7H^xENqQ zu~fHKkInkjb&vn|r89vE{=WK4?kxmpF`GYFpF`O{<=mTpUFB{4a-y&a7SFJdIx1_A zR6WrtZ>)ao*1h&mnl$Z%va;k|lDo%(&}=s69%w&Zx^yY|;dj4Mm2{$;5>YGSb4`T} zv&nfgcj2tj@1h~vjZU`=FYTF*rSD8aVeJY;wE|o(kiEkAPrbbIOe($ELek#BT=8$& z!T#$zIyzj^)Yzysx3=8on+$Uz%7JX*vsjY8*=Dri2d)u%6 z!j^0P(RN@vvxE7GQ%%jD<;1Eg#Y=+|EBZ*p444WHNqVB8M@}kR?}feXu3uQSQ}sTx z^vs=ae)|3so_lp*;}_a*?EgsqSN<_}X3Qx&Rfjp-Nu{f_72yPPLpEW$ObK0)LIn-6 zuwp}j^|bkg!uwe}|NO5Pu7BaYUmf=lwer9D`vMirdk_>?dFkMpU(R~}&Bgc4ey(d|?hCDFzWe;U=G{oxnq9L&G+%9;8D53CAjHdHMfdu;hjWm6p)tQ&n-G9obUG25UJHC0@ zL(}HGvg!RBcQ$7Z;x{d8)S4Hz^6!6c^7zWB#s-;Y#EqE5C{IDISJ2kyVEGz^CQ(RJ z=*PzqgniI6F0YW#cE0W3`qtD~I;!{o^>1I^xcp#!pg-^c!lP>{W{x?od}V5its)~W z60IypY?lJo4MHmt2vY&0926$n$PD(PxZCB$9b9|u$-Wzp{@K{cl;(f7^s}qi9Jm-9 z*1w@DvT(vNl`mBv5tGRgHjP!LQMOAVc&`Vn2nZW6CZ;erR>NR#H?q52-n+%uUV5VY zn~Q#bp}W7HbHA`1_!JWM>SS%9eG4duN-TucuhH}&sZ3Ia}RjGfHHve z)D#9LM$k3bg@GLf-n*S^uRq!IlQZs~;M6AZ)V&wI{?vi`>|1~Li6@>p(ug>xRmI4h zFFb54cxM-l)kFtzUH!e}+5Y)>ao_~Sl}>(ruJ`85T7UVLY{N^JojLh=U6N6gW*)zN zOIvtiq3iW!L+DbCy+iTi+MF*el?&e4rD8QP4>ujNhdjMKf#-K66o)~6eLi_}W-VX7 zV?clD(`V0l-jH(Cq#4I--?69v#7x)L!}1^d=d*L7j&+J-8OL4n7c_3~r*yq^K{%4*! z)-fZeMs0S&=N=}F8@gnq*2t>U>C5Czc_cRTdRPXNf4B(C(oXPdPQ{j;**L4Us&?dY z^>wvxZ0i`9KCpZJ+K2r>LK~QVdF*Bxb?;da$?%cR)`C<7(_D4*5!j~S?8aH&wNICjd<&GB8U%dbW z&IDKnlfOA%E=ya%tE?=&Y|c^BT5D@Y9yfB-h&Q_Xv(vY(U$dY6`z(IUs}`TXY4QSh}gp#Hd&ot{d@d+_&cvyq}qXRE*=!<2S0o-CM|-cQ=WKcdY0iu=0dN zs{Dob-t`)Q6>Y=X@120JxoFN^Hj96ITZZ!j(KOR`VA~do#Ud6gSb%SS^P70?$;SZz zr=E2Vetqw~c<%Y<;W!Z#i$w&kizF4iA)#qSp8eU~55M-Erp87M3tDA!Gvw8OpL|AD zS!GkgP92wwC81Ljz83=PIT&0_$vuxv@kV$&2}~leV-||SN6n7cFb};uTxLa+B>SA# z=l!(olJMQ(o}a@P^GEU-#f(%P-p_WzD+a(M4R*{#Q4~CI{w&ndDX26Gj&R;ECqv@2!w=O9{?Pv=m)Y%AXI=HP2g16@RSF+ zC4(vb4LhY_$6^Gp=6ZX7G5_liym%o0Q1*LX2(q3-Z~^y&0a#O#&@>HlB83yP;42q> zFL$DPXMBe+wW#5%=Q90;pMLee$KM^^{vYOF*)nEUI#qjn!Yn(vJeeW}wGapivEBy> z33e>sfbt`1kSr@h&>#^>JK!ut_p94sy_(+%&5RjBzUJnFUw!9qE1qv^Y9gP6&)54P zA@Jni-o;V#Mqx}{1-uagk%|bE9%9W?o6z+{VJ9)|7~J5sVy^J3M^>!;kUuoJfBo-M zFQ_O>HzgveX^s^m2C+!s2cVk-G6X4?kJ8GgJ1B`5c1G8mcd!U&{l4hUx zdJgcP1Nddbd}=sam|B>x7pNASY7TQ4>W`M0GF0addop$TTCVY0n?l ze_AFksHv#F%`wW3H;p*4HH&Z|z_x^7lAydF$RvSK0^UdkD`}%BJ!S05ld0MIPHMzh z1mg8fU*FvezV^Vfz5F5jzxwdxGb>Y7&GAUt(GfdN3}TWX6d)TpAQas9`(R8;Lf3T! zqZOQ_1rMIez1>49HaUBUY3fFxmS+cxKfC&#N8i}%KL_ZOjFb=QV-nvBK{pEUFvPBx zH=}mW7}%zTa2$aXGvUKW?~B_IeK%~Erf!%%f4-0netPXAD-ZI|s~(;(rz%zT!-P{l zJ03|;gIFXK0%C&?$|;^)`Yw)~(||GcX%y?iVgFHUpWi~-AIo)Wx}!-qe6yI#|LX5= zuYK-A|15n^%cGCZs7Y7f9*sDsrYg#5GGgEt&+fs4Z}cM@8l^NU!$8~+Xh=%jb;(Fn zr^+y}{x_%?ylaP0g1o-b8kwe?u1P{1%v zIE-Uj4Z~fRHXv%7Sn=GW=zo9N)=&t0TX!LCli-xq`Pi%7-QA>hD7#~?K2_DXN9_;w zx%-(tc<_w@6odvZ5HJh_5nWw}q`gQ+3NKh3opr|F zmoHyVTU%TCN7;Yt<865S-7H+G!w)$u(}YDsOs!`4*`=cpk6L*6kAJ|cPdu_!N@?e~ zN(Z_8DY5aBU+wO0A+4?WQ2&2Eb6#b-qA8I~OtWp9Svn=RJ+=qWugf7D81OlVZCZ%w zK4#P#xP5Uw2sPnv__3<-AKEccgtKC^kvOKNd+xRW{M712Xu;wZ>}^~OpR0~GS0YDE zL`)q@2^0ziNGb60%P-@yOE1OzlTU+G61iLsFTe5%IOix93m}BRaBTFr0fHPyrLOjF z4Kz1HUh~+IpBqs#^7j>XEu;@AT_rt867rBZ)6&E?qU7cF0Cm+$oj~fv(P_q_QwWA;u zM<%;RdcIWRJ)x$w*E2oIM&&}{f|vKu_jgjR9&jU6fRZD zQ+(KdHZD%eW7VXus(@5Q18mDdabSlG0;T*71(kj&q;@>okShkNGU1%PHP8D1Jcs4W z89pJuB3@07OBYdBS>osVcSymZ+TY5k{)Y)IPo*2OxtvPGl4s|0ULSzxmJjm@`NqDhMA+x{`1r!G%C%S{k+y#jyX_iX)rb1J~0qac~n(a`J!`uM_zp{~0*I ze-7YtA4<8B1Vkbfyu{Zdc%gFxYA23^tpqZ;4it(UV~XWCH9ie6RozGV&o}-t_3XOJ zk&jjN!B4$|d2X_HdqM}aFrpZ!^-xhi4nlHx**yq3 z5WJa1?Fs@dZr6Eki1I}Ak}bu-l0K!n#Im^=@@r2_J#9p4#FN#Dk(zLcl0``Z2yn%r zjZdH=UX5eZ1=LlJgl$EU?b{B?f%X*{()%}sin7Y;Tt1IfJaN|Uf;Rx**}eYL+$^7X z`h|J5RprlAS5-Qm=c&+ld1tXmK6{))FF493`GDZ9m8+3V#4xJ95~Hf(2$UxByPi;E z!dob-DH|p8F3veKKz@^Z#_aQ(Thubp=7qq=^R0dO@elb@h-~{>HJWXuR&CuVH=o7% z7c4-}#t+Uq^{Q)I)Uqbpys#C75c$vNpa1O0+PeQPOT^*(zI2NPSyYN#cS?d@H7`ao zMS&HoR->jmjnQ?Ls4aI81it9qwo;|}E@oF&jgRDWn0{(4-e14*l$MtNUbSpllh)D# zG!r79dg|HpYwK!SDk{pE@4Cu!i^44`^38>D`neM#Bjx+=Y&K35zc zp%>0LSpSigaX^Du_r`Ly^Pl(9R6H`ONHrW+reRl4c-FU@n;&j!Y^1IDX#1~O7^j~< zAwsequwvzER92)gx;~BC@+cTn;>9N(Rj)kqXI7R^?%uD@HqxhYKhA7+lX6w6wIWTDlAxS^#bMUVi<6S!LN&LHa5eczgHJ8Dr?}?ZZEx zdJ1#r&V^D6t5>ha?%lf)jYi>l-rjq4LaE9ss`~O~IRGpN@Wnrmu1Y%Pcct_i>E;8W zpfmyuReq+(X8Mprzq0KF`UctoMW8W4xbKoNybXxQRHnUM>ZUEN3_um{0`^vC`^0?9 zG|@M(=RW&1dl*NKCFx11EfPj3c4~G3`NFRiOhq1C9G7>|!tz8+G zEe_>BpOioBKP5gv7={>2${;O8A{E(x5*Cf3(4FT>hQhL=y5xM%zt0a~(*Ul|5lBfA#ht{8 z$I;*2&L#H+bt1Y5f}VZ(k38~7Wx|Qx6?JTx&*!;PO2bgpco;(Il&I=BK}{q;g&Dx4 zA&R~L7o3Q}oy190sJ5Nkgkf5uKg)C(hTZ%6&!7JEr+73Ty*rtR(|j%)43`BM=4(W$ z>bQoQNPsdkfJr&rKtK_n^lg2Y#1m1qrza;Eh0t}T3m*3D>p%D3f4`oH#(tizNPWCM zRsfrZ@O%!UbkhFb%fzu51`3=D&V{K_J>;@`UwuA_{WZh(Tf_EqFy)aoZ@fa1$)xHX z7!U+RFy`pt!TQ%kV)luG)hnz1*#n%Wkvvlgvfb1xG18+dmbcK ziR_+UshOtGGMcVL&<%Vz{%8vpERe0Otx!sy;1&xc3`2e2{)v=Q1VMnOpMDy1=gx&; z82INu{|VQ1L52!)3?E73=l#X)qp`5Y$&z~0ANMTPsrE6X$YYtC^aAihiPa4qal#dIPx3tuE<5)h@?s`5X5tQs#9gaXy4hldc8YJZqa@c5(eW4<_QU;?0p(*xD-T9>YP-uJo zlaZ4B7NejYH`S73({gp=n z92&ZPiQ0q)V#EL?6p9{MrR%Ez4-1-09cN7v`Iq?xc;MjZLJswD0%m9s9Pr#Cw!3>) z0ln=%ndlIlpXPc+%K72>1^6Yt1{8b`T;u3bk{3tA8o%V{kH}b ze81Fgl}eOJ2}9RFlu%qsQmFDb0l<>wt)iLyd;DUd0F7#pdg+EL8gY;-`br2+v{At( zv;wWIt)le1kpvde{%o%_xS!N_MceH+buXh#rp*Q18C5O^yeDK zK$robU`G@1@;McVkaV#F{Kuf1LO(p!lP=*O;Xj3a?MKOfvXX<+7#zny7)s@a0qKkP zegJ&vKmV3K@BtGLnm|ecx=u>^2#!oWO8(i}Dw+Y%w9);^{O3b`iiP5b{-cKcM-)r` zQypvqKJ*{PSf5bx!a|{-3n30_pddu)*`w#Vh(sJnA&|*tAV4taC6OQsfgS}!L2{3> zteW^9&;cyKzs=8Pa}Z$AiyTQEki-Efm%baYY(U>b=>!X)8Mdx};JL*MrQk#eQEEMS zh{G)wP?@d(4?|?LSpW>K%MmjesAd96s=VhD*Q$84gkK`i+>A)X*y?-11x1>t!6Eqj z+Fw?dEZLvSfte;ep@T>X-P8~YNIz86svPll$$yrM=4JxMSf7Nt;9t=vm&<^eF$mp; zFE|*pAbBV~DH*L9^B(Zh-tp((u|Jm^gz3bf8KtH|mSMr?p5#i=h6zW!jpc7*d26d6 z0EDftaf|+GrRriF+WzaKy+^TFFjJ|rKq;kM*8_)%ydQ^S5x|ImC|{w-NFO_C74WCM zyM{QdlQVpU>P#BfGv3^o^Vy}Y+`-N3-EeclTk#@{~) zKVh1qblV=GQ)-7&y2A5z4tURMf;G#wbEq3`&Lp_uE#t_ijGi@BM_w-t$}Gpe7QHjUtM~loUZB2-|ye z!T&M7<2W_Zs5y!$Ehec9L@{XZ&E@`GJ^`RkA2-hAqbkdVFl{NN9srsFKnNijV@1Z8 z8;wSbk3ar+?&E;}%X|Q(lss$RymUb+n=xi!XpJa@kc1GIQtIlu?!NHC3z<)9G#N_L zS5H0l%%zD$@)F%LrfHO>HBGY(z0?hZ5CT=I;fo*$B&oWWGr$`#I|OdhLK>DBIE*o;CJPV z-m>0I_D8GRd)Dkbn0&&60T5N?S~~e?@=R|H(~1f9IutbrK$) zRF7+@Tabv`*G4S+1k=z{I%5chKoEv~`J(q)UorpVRogmV`*-yjT^TFHU6eFoc4a18qvnLB>um!r0Ig>4$s3|)^iO2MT>7>0wcAH0_+U}u z@VQUSudA&5vJ;71VOiEReTXllKp2FBzVE+R$mf6C-qZ7M^Y6ND)|V4e;|j;pr|G&L z*EEVS6bQm_(DV6wgE{`&@BVbfzsleH-q{mIoSU?rt1QzvM%T0oMhTPx0v;AUKiE)k zgFkQIxc#1;rDq}kiv0kf#?~axi$x+=M@)N`Vd&+IQb;M`2VtS;`x{-?dvHU0@4W#0 ze}`XRQ*)kWTUT4AHA~mEa>hy>s)8UW_`bi<3xfxD?{5FZ{NXg7o4@zH&%VEY{i4q9 zt^rfm>KIfF1&IQn3W`ghUxKu|e%Ll?+_ve{}+FF9J&4b-#_#H zO&hC|yTF0RtRlj~4{H8tUuQ(3=ceZ7Ws4RqqK6xYw4n(> zKK=X)_Z~5I>Q`*rf)t|EW>6_8HT+ER!`%Z)2_=Na7-N$_$fRsGcgZu)zxbOsUVZs0 z0Q>!z|15_`czc9&A0HUt4@>}KQMCPYfuR(y zMigKWqGXD|IlZgDaQYqJI{I5T{JiDv1FNwe?il)=V(z$xucpgl_oNfCA^Rx^h*D5Q zDOFw(=jS+s#yKX@zudfa*Kaj%u%0x?5Dsh@)+hDZRLawy*R75ExrIhpY#p3)0Iy<{bNc8l4gK>jQxuM z+5*UhlSbd4PQ;?zZMp(LBDRVoq&V93{G&BpTiomA&*|*U_x>yVh7olSM4afC9LEM@ z+Ft(wKy=-RSeAXX<$FhKBk5u{2+!&4?EF~%qD713%$YNFCmwCKBX*I5o@HqEXi5kn zrONggx_@bqN*+-RiXSA)QzH~J0st3JojR2sj{U#EpE6~N0szBtnq#q8IRf7^bUKj| zLJ3iOhi0WPk}7qC7q}av@kB&7jV1su4S)V{!s9Q0`OB#B6DDpSIig+!L7=3RLmTNI zZhj6QL$d}jRCR<9B6VFS1A`g1cH@R)FFfa*w-2n^^83I1Wz_WlA%8HFWgo0xcfy6| zp8MwiHvijq-f3Srd(MtY8VLJ+dl1eEMPNDQYy?uqY z{=w<*?dsZrlAnCkAk6@X>WYfSit_U1WvP@@O370DXi~Zi6rf69AP6C>ueVqBba&6{ z$z;}i9DnG}UETK08Pn@3taoZEY$_BLAe2$U$nfQ_lvD~*Fd}Jx#-}?v+=VyYy=wW= zMT^+tkGK;a*5~*!Bj;3=MPDtCN2MZ=1e8%q2tnyGmZfrG0*bJnOctGk`D5SSwtH1m z6Ue@WB@U<0=*q;&)fK7dQ}MV^3W`v|hNGqwN)-j5lmMW0_xFb#nf{~Ox(aJQss44< z)fXg^iAN%i!%IKgQsR)rgH-Kq;k>Vdnub zydBKBkc3hh_@3U|(|g~pj*hS3V|EIL7Gdh{8)iN}vEDo@6e^Hl8YPUB8lVFJfs#@w z8A<{v86*1oUBP|d{prfDeB4gTu>UNWIOd1dWsw^hVoXT+cKuq?A(1C}qQuZctECDK3RlLUJL6Q7jgh@7Ue;k^C#Kyi&ja z{`NNn6PN&KLCVylqWoncfzV9nP*q4uk z_9tZ@4R-_1tTixSw*)P1|c_;;8aRZ zqzIv;gy23ncZpPz`C+K}UXiEc>gpeU=Y$z8EiIy{>Ck)tw50`N&e#!CBbIi(6p{xa z*Mt;I2ti8PmvW{(KOjme8ggOyVHhTCbKbm(BR|~?$Wq?vVfcU;U70*0>e$y&LU|B` znv{}BrHBv`N|kcry^s^76y;nPQmQZ!aTbiPsaOm^HXaz=whteGsH>|xLesSCxDcFk zt_dNS;DUr9hY%cL$l(P6kwVarb0Z9SsA<}QhWeVt81lbE!5?_wfsha)lgZ>&rftKp zEX$6@ll1OZSBR27cUl5r%pYjkN)50 zH#awPLWoRNR$LiP#F?g>dNiI;mgOK4jS)K%A*N*!I}#z0XpESajaVY77-M=YnbeZ$ z^3M}OpLaYLSo}QkA^%=>JO`+AY`eSzLbjD7Ez{QoKsVS@3yqG6mj@% zCJI2NJN%+RPZHSNTiBP(iJT6#Nh_^n(DKsJ;| zCs~GZtdtUgP)uVKjH;n6`r);e0xwPWOlMSChJIRoJf3RFX8S)ve+EF**H_QbHGP^8 zLWNv0#^hfA8~&t}5<*G{AsHi3nx>soQ-kkzbl|Y(cfo>I+1d(NhV>QG&=nVgQc}8M zCX7HSg26$85j6r8WfJeMr-;~!aG?;fOcaX7X92vsys?p@we=ujTAW8{>H{e+S=MG4MY2q zW9XC%DG43AU#9>CK_LiWnL6sK64=q!3r(XCLQ$PjX=?fx06esywNIVQRW^Pr`Ex`YxU0s1)rf5Bn+x7_j{qa#N29wF7q`9eWS zDT&~mNGTyiDXN%K3eNdZLl1%=3`^Swl*&X!#ed%QqaPjdyWjoptNVP1`s93lAHMpR z`8VBkQ@SD^zfVG)UMRY1=%$KDAs~eSWwdk$%mt*9Ae4bIMi^t1QmUfyLD}ZTC z8HO1S4D?;Mc=34~_pQr0bdbw0zdZZolTTl=yKT>(_vO=}%^5<;Ub~b6q>>oEX<`~v zx~}uV!OXS)Du1v2`|RT?rAl`k_+2jNgBCko5ZkuHzJ&^7Yz+HKO%^(c!(rlU}Jafox! z7ER0IMHFZe(WEggY9SVeT*YFw1W*XMi&6vo(oGy?IxI5*LNpZe?K0*-i$%1f0c<|} z09qR0B8EA`)HFj%DMr+kG0r7iKZFo+h)%!^2FKDtDJ31ESpL0P7siibM9_Sf<3~dGRhZZ*Pq9}`lC`G|Ec07Q+X&r|+WIP^E z>4q_LXvdiX3PBhmn=6263@6Vy3O9ZI(}+hMT>6bWux`sPlqcgvN(rWE#{)p?VYZ-2 zGvv3wczjBy!A#Bt0Vq{Uf%5=LxgeCHEIAqtBj-ZXOnk8RVH65IFm#(hN$3>E10SYk z9e50-I}t|Md;og~8_orM5kdi|t4d<-tZ}HVOyaQ@R%7G#PDE^zmYzaj0O3F$zxudw zsd)32{_LU7L2D}n0HSHMvGlxMQ9yx91)mEj1=N+FGHn-%#e%ige`}on7517F{SA!Z1ukV{w$8^XpJbfl?q00~CvS6!JN6E(jqM zx@n|z-S}KxEOs3LUzOr#_C~WG%oos21JPIvw&Q@YQcf-<1R)PmEEZA7=fOEAgpiNt z6EQkomb@U7$)Z>+LP`Nc|B$a~I+T~+UR8CCfl&e>Bsk}iQ9}Fr z`#<>9>8Jf-IG||13*bZk3r{}v%wyH*@-InFIHgo0lmQ@+YWO3iDm@xBC?y~SmpUVK zU~q8tnWvrliTITjP{X=K`En*l~#ySeK@p~CS?U#(nk@1_V@Sqy^ zL@V9FP{@5edw8iLgh0r-WaOju*?S=vw88Z$EBE3l{p z2=K$ZqvGWij74nJ0a(*9b0)*8RR>RC09pZ9jy|H`2Dt3J6V-J$d=4nM$Y=8?7X8xQ z1|^6%79#N|U>W%SlKbUfA74%*wmAX-rc9Z_)~#E2&>*^YN;d%jTVwSaEh3d1FUE{L zLsOE2a}PoWLn~*1QXQIRfiV+1cD$&%y5EPcIYZn2l@y1ZWJV_G zj35+ny$~T6dxbZ22Fui;YYfl4yjHGRzndDmUJn3RG=-t%VEcy!(it5Y3WcL<9Cgy9 za(G<93k5=<_S$bS0!wGmDDdR_J>vZ~Pji@7SHe$WEr-x&m`@352t$DhRpppAqPi5- z&iRKEJOG_h7(;oCuW#Nd_Vjzq)Qma+Yi7=z$yOcW`~pA%@mft|NkF0K5<-bWMVY|F z(GsW4<2dRF0fYq574G_e0k_>_Wss~XBLqQ=G9NR#;Dv3#BYcO$i6(}PRQsTT*XW;o)*I~{2U9e39l+a|7 zL@Sz_zL9TkZYDT*A)(S~L75K`g7qpR`k+8(Ul zorPmCP(sQany6@M`d0Dq{B)EMQVRe=DWVi$>I`w)M15HT_2mgLN}&MEn=}TiwzXkP zXK$%K03l@#r4>z0O^4+3FwC{LwM(uP6rE z!j8reiNxS~F0$DS!1+h=p;)o2qr(SfhNcvWMB}h*2O{L??`VezJSZsuLP2yJrjvjZ zNy7Jw$Ylo+`o7xJUf_-uF93=xzyeAL_%MI(zP(b4zVg}|ZJMs5ySEQqNVu*CMuBu$ z43sEod2t^1&Ef8wTL|Kd)hWJGM*4N(HO*I__k3$L{f$sy7!!a3@6d;ts z4;2EgV3;N}LzflN7`2^`=QlMq(Wn#YB2@4Z8KsH(pasO-+;>CRbM}MO$Batz9=vWO8|MFM#WL;9&@p5eUvf83UIJ0tA+2 z!Lm%5jwfg+KVE++U^_8|*+=>qXw%T&qhZX*0H!5N@1}s4r`Ym=h0)`D%sI-(@;40_ zIxHwf9w21D-olF(EoCh&i$8o609d-la9ZOG4D9K~w(aehGHwJaE8>t+fl`V>!Ntl| z>o9Rr15Tem1AlvBIf$YTlp^a02|kKXffywU$>eARejfRJC!9zcn&tpQz9U44!NHwy zoHUZj(dg~{0F=rYph$D`f&4|RW$99h1q+7kCs9fX#*M5%Cg-BBKacWM3=!KHvY#Lb zId<>qN4h+Qu_G$*-um4jgg8)&v>asrBG%HfR1QC0Rf@zI1;(Zw^c6Vz@*Guh9ga?+ zP+FmTp~Q|pA2o3uO2yem`*R^bq442of=d#$$X$$~a_!f-s4`JsR42 z4SenL03)gdo@}*28EAcdz24m1>>iF!88axQ@PiNwj-QUn<3}Quh~ZNw&O)lP3|_VX z#u(amc4Nn$J~Vy%Qj8f~<>`dR80QjINk_*U+XetaC}sLb@?$a1BnOpBA#NE+IwlARMwBN|9*ZKB5=1F@ zL5Tib0b?pth*}2T-`xoUP~td;zuWk6>NmY`*75hK}2j0 z0w7cboqY~gZmNW|>LIl$h?iAJH`B**eS^0*|Kb-p@++#aSP4K8(o)(*3@Cj=WHT+5 zBSw6hF`d_z>6#{Tkle>Z#fJf zhOy3f3-=|`)z_G|&C5-$IeZ5!45G5W8n)$t5?1M^c=TjF#)| z`WbPe+e!=VR^9|fhxr-+EMLAH3l}bwcinYYM;L@Sd)_2$-nt7imxJqjICbK&aBKsF z0Z%R8h;T3usT(+I=2SfT+*8=omtB9)FMdvzE?vs6zWQo)(M1=rmX?;`y+HuWLC8Y+ z@L%rjOj-rh7zy}=osdBmM7l^q2ckRYtW)N<%h_RI^Fhal>#kTH# zgi^tFA{aNa9z2o&vz?F8ALz-@!jTgNbV{)Fu@nY#3`b5Z;^OqobNVG2}Y*2K6A}AJ^<3vvVU*VwvPV7@yARms;LvAmBpV+2?FEaHN8VpA9%H}L`zCc~l zz%dOG2nhfRZ*I?_ufS0e(J-yfhNV;Va4HdG^w_H)UF4bOFd){)F%|8kcyd5 zQenlmUGRbsb>#_69a#gZ6nH4{&bHmi7CltNBN$ViCOV_wp>zo$>hy0kO~JTBpI>HD z5ptlqLgD()dsz8F3|)N;Z>(}~;_M6vkx)`$^?DmUeGEN442w_Cp>?H+ybIOV*5;mf z<4-3Hn7Li8&CT9{d`gH2LXL*&H14?mvsm`lI<$56;+f^|;G#2*2O|KK#A_=zpuM{f z?VY{&@@G!Plgn13tIPdZzGYZK$^r~Mf-$2{#K7QYcy1QGed|$~KC<*CB{4X-6`q%c z?+u`)`e@`bo1vssEiEnXc{koZVZihc$=6u98s6qSY4&6ki$1!0bJ)708>XQ_(-;^b z=;#_iPk$agy*W&qT#rrLyRf5UKn49hnMF-M9~t&`79PFlM}7PG=g^^4X?OeN$rTuI zCAzW!Hgvf#bpoB1b`E#-`{>Sx=*oteF(QV|T?K3}c(Qj-Z{Nr9fzo4^N!2N2iyksw zfStVqa7+`r#y}}S$3O=CxdM7~1xy=Ri`{)0^ycz%aM$+3@|%I+_FI-Dd%Ls3-_b%o zeMuYs*;;}AtO4bjIC;JcZ~`WQw^uRr^bKNkeJ5s&c@y_MJwuF|el*i9J3$ChPo>7i z8!s5V$4De+6t-30o6zRnPnw&9J8ro-xpQ}i=-#=W-1eoSwav|X{&SUg+Uewp z-`-LA=k9mocTxZt+PcAi-t>L>$Y1`1@s$iyN5=5SrT;`-MHGpY10MQdkeD@P1Rj05 z6^3*%c48VUUR{Q}e){9CmX;PVcI>RUQffG4fA8SGe5msD=C^(!^PB&Sv^EIh>3Hy= z_t4v$fMeBW0_$B*)`=eXri+}wC zw1I7KR2Hr8tOKDEwobr94#fq^lQveY-;R8)A1Rf=d&{22pMQDRN7~=gQhK^~^G)CK z{_?;tF}VH>63^|x`@DT<+QkISl+jk<{+Xc6) z4NpD#5B%)TpOoxRjXk9O05HBhuf-!F%IbX7kILiqE{1fK2SOyIP|z)og2u5XLvY-T zK~$A-B%&c2t2^CGfBDGK<%#4o6+xguDY9tkQo87Scb{lKy?PmIdn@$#L}>1_a2-vZ#wF0%1OE`hBIbW2VZ^g#fF+xc`Hzi z0*W*>HL*{B@5kqU<~u*F7`ERQmM&EUjuRzHjm2ZnDD?KFVd$k+Y`R9!-J8H;&qz=@ z1<^zN$>UYM6iV4}S8gbN}O~d!y3RQA@W>9c6I`>FP4<%y@8O z5im+2goMr*pzGM3^)Yf}72+`mmZ>AHiSVkWFVvMKldYz%#i2g5f6+~Mr-%6oi)bbz zD06f)qzt&BM7g7t@_(c%)eJW%0xmJJ%0kT4h^Y}IdDj2NUtSzrk*<6xhnzE{KU@6$ zJI*_|>1Rm{MeZmeHA7=aI2LMCad=^fvWNpHl~z0& z|073NRUGF00x+oZf>0q{CSgVc)Ys?n@EQxm2|x`F9!gMyBhWeix!J^#Q**Elj)+YV zctPLg&381GMfGPYfkX0jUH5`8L`}L3u~ZCG#@683)>TNxOz5_OFbtttI!uG&^_6R} z;FyVsSO%gI8=hO}yS(|%kK~6^d0a>sMii!LL&`e*?a^Lzb|qlw6g=e64TfFqQ9SZw z7P>L6G-+xki1hkC^Mkt^%c7CP^1Ff{5JH8vWgudks-irB^_>|MBw(8cxF{te>$Zgt z_6#6ZnS^Z`&~*)hhsEl-=hen6ZCSLUyk^)x7k~fGGZ)?PqmckmGXNo!6t>P_>r~Yx zboAsyXq3RxD7Y+TN5n0Lu55@AWdUjJY8y$}80vNR#3 z5;~(W7*$n?7zXn$G)iIW8l)-(YQ}5}-I+Y<%9F579gI>)!QC0>FCG&&4$Z&vtg{@= zb~bNX_TVF0*vZOAQc+gJ@zQP+$#Ne`Nra&S(FFP>@Oqbt8ArGnUsqJ!>z1K=-ShuN zElXbUWWM_GOMbt`S->yTzLlApm{7Qon3 zf8AD$tS&3@10TAjLGln=wzc7uInyvM_WplqnkKJ!QXP`t)YL>da|Xga ztqlxe7`t~;S|!Gfg?BO~iiI`PC0=FXkp1b{U)HSNdOm@S}1AixlW64^ol zuICLUsFYS?VHhHt&%yNr1RPXR1KWGcPndP=yrs!Rbp1&up1AgKe8aYck1%5wJcsN z;7WdtjDRu%Q)lSv$sl6t(1=o( zeQKsydi$kEXSQ#>Dj9XOmgeg_0iv3ln|Z`Ge{LnU(-&X?0AO@vepq+6`og?-<5y<+gG0*D5O& z0L-3LH+N)JnFI(ZA;=f~p+XQtzDWQ=Y3cQ$)XTB;X*qvN%}jK3d^v90PRs4zZ6{=} z{XdOGaCT*7DI?&R`sCc&xFG>W2!OmVptBD%%Lq#G3Hd-mqXa}jjjf2tV{0O_(BJ)) zsBO}}G+*00tbfe1e^H@prwm88mKk(z+|(qcrI2mc4@*(pq_i``hJq1`egH-(7$vei zV#t`Tj&;Bfdwv0cN**c&!398+P`f(s4`sXWia_O>o$a|IBJ(%3_RY&MT=yE@^z9-ss`7YKbn zR~CtWBwr_XD3uaQDJUsb7zW5>2jKZbO*v>O&fW7o3}yxp1_6{TZ6GNT=2CIzBl%Tr zZ5#xCDS%W#2#LX55k)T?DgsdoJn=)0flLwZ(CbnGBJlbuCr|!d+_I}5Y`*S;VgGkb zc56K9TrxB?1W@oxk@yN+C=3(@3W3<0_NV~(TwC!%{E>AqYLUXVl~) zu82hr&99l63$DNR`fq%D;pXZSrUnuu1fwDPvlJ0C03ia5C@{vMF^>K$g<}K&5#lo^ zh5DB!Jk$3d|M7!cYx=sc=ToMx9{8vHS@^TE)q|Vu@8+VxdoyRw48HxH?|kEd8_%jf zbN)2R2w-Xiy#raqozku?qXe4HU}zLQ{TW0Z1Ar3Of8h-MhhLb{che7=Zmk(;KO}$2 z)OF$Yio)+N2R!@$hYMYy<8<28I4C%!rLK zBP#IvUvGwG>InJ=X|CvDT6T@{&yC`Ff`<|1^D>_0?R~sc@#H&>q0Q5Aq)z1cXtu*?T&rn%rj2L`~_!x zBp-kmat_xGNIDt8SI#>gx>g!A-GT?h)RBzZxa!+9P!pSF{h`Eg) z!{;1a2)F@9(lW95s1!5`xIyVPMhPrK!-Yqbm5d2E&3OS*wIfbBX4VXxdG^IvzwQIP z_R90u%$qlT!Yi*VKO6f5Ehqtxa}L+@Nz$=#?lIG#F@}86Lw_!hh;1S6*f?kAR4_(R z^gJ4JiMsj`Us$+sA?7rmfwvE^Uo8b|29R>pJF|}(I3Af4KlA7ToN`14x}gyC3xuu< zGiKnb)4K7+6MLZP5>gWKsTl)w+q+n6#ljOt*4B?+{QaMP>DhO;K638y6TVhiURJTY ztJ_3+EdhW;#8`Rh`7_T72D5VEv6Hd#@3+CR3>16%;pSZk-@_H>&BLe9I1aXD!1p{{ zeD2W z(`U}~l1zF?0s)dx1SK>Du^{S1)aUc~*uaV)VnJbM1iPqMc!bA_`k)y^KsqQHNFxA#x4qZzkNZqWAPxO|f7kWd*EQE%nVj=F>%8~6_rCAF*IrA9Tow3^lrPtZ zYCc-F9W}kR2H&{89fqMHm&?N|+3-RpPCdB|3+A=JFfTBnYr_%aVke3jA-OOpV?<+Z;n%+>2&s=dfbWI>%aNyc5 ze9OS8bDFSdMgugB!}cWRwbbzaTSwP3qNOw2ricGe=a0YshZolV>_cZQ{ZM0F&Gga9 zjJa^E!Uxu$R3E*xMKt!lEnn$wqjekl5d*UdX)YJ;0jgNK(>?=L5VQGwTP#0 z*#+Gocqs)tUxF1kaOHWEc;8tm=wXS8ah+TbfW|#T)6K@Z+BxlC|NbYR*s$;3*YaVh zG8AmzlM$~_z~cGS@bX{34a+i69GgTrSA=w;_^u14B1ZcCtj|!zbO- zgfLqh8ji|e2ly8gib^Rsj*oaOgpa-Bj9`o@yC@ZGIHrynjY)j=eQ$!U2^7mNq^|(L z)=Vopy`|aw&#oW;@a~7#e)9uwJ?-+=`ucfesgwo)+W`M$hLR$J<0(W#I@(XKj6IHm z?fP&vj@E>M|2VT2I%g<4l>j_~W0+QWdULb+pWnRwdv~vX>02LMcItat>g(oCOlAxK z*tTt(-!`qaLnOP{Qn@_hkqBCAtMP$zmq6Dv*q#hdldyo_b`*Z+ zq8{o35DT$wXP-8C-ieMsAcl9GmSS6WMz#V)kU~{5?mU#dC->{%@K`02;HpKUs|%>D zifsGfyXT+hPo(_!T)Y&Qyk#-MArpnM6r7Tcu;=0nAGs8t{@}$hO&zZ5VZ~*qu=IF( zD*%vBN8~?!{tOKOk>cAL!bx5#m(|=^jkxLhb{K|^d^QiS?7(*|oV9E&mM)$N-Oyk= z4jMw$d=J@M06c9T;L-L|C2I*_pzg;dr|80^n`qa{;OHVqSZ@~9G*u?^T zUxG1$@B1)K0gWk`hJca^48dKb=M=GaH-YKZ>JuM5gnz*l|4pyq1D-EYEW5$73;*f>g2c{TpmI= z8lx2}u9O#@lUJYn08cPxbPO=b2EEKbL(+Imn7=o<9m00 zFEccBk6}XdTvvs329QKJY9IoMaKr$EgrzfhuBS|kw28h0zv5?g{)xQ&HZZ2mX|Dh7 z7cPD4*0UF$^fM)W431AcdqG!^PaPfnkG=QZH8?tPhX$$nzApt2BEc;~KqwEE9^}In z9PoTk8cb;ihR0W?ZhQ25?rx}#jt)LDICf($UwoXT z)RdHx5kM3qv9KKn8fTTHE`U@@d7dY7#q#$jT>0?m*x1&Hb(H=E;P|S@7|Kpr!Lx0U zub?vzP(F0C1PeLnMj4P2I`g2ULOJikbpcLtBJ0biBO%L}-`sFSzEMy`fR$~#2;~+b zeGjG}F!B+J8i)!)IHCi}hbe+Fsa(v#wp|FKiGnMij#x+Mk4jc#U}evB;Mk>L>;XYZ z3De-vNWsuKROM`~FD2|!5lZ>cIZce_k8Xcu@q!pb&X*D;+ap=IrB;fd2?0*Q=@C^q z)*}_cu|2XK7eeTErtCf`Jx|PUX}tcL_Vc!#xnSE7Z!B?P6?X-&b?P!;cG-X;S(!qz3`n(TI)+QwT+L za7dUMAU#i+y3{5P^nW{f-j^$UenkEST|JUII{3Z~ul#Uubn*`xQ<~@bN^l0HB+RMt z#|Q#_IR{+NS2~m0;ON+|Htg|!0sxW=SGi2k%68E~t2nho1YylVBLE18L@8Tvv3A2Y za7_XNcyjeteC3CK#UEeViO&Cd48Q*Ca{wnW4d_3xA46jkSbD}eeEJMSI8R-{)ZSag zyWZ2zLm^X0Ddz*gqDA#nhaHQGBvPq9_`ZbT!1f*exc9*qv3}1u9{$HhJilgpaC1OF zYH|bvqZuqa;~YM%%@WQ(u3&2KE#h652YlamPXd7Y`oMn9S<&|;4h&5Mfw5rNH;}^9 zFYiU~L=kH?_haMEAxxDMADzr$BAdgKC1>-tnMdbO>BC6bk_i22n+12Tgpr(&f9xq@ zS6boaK^HF_C{^}+7_vnV69orz=FDSfowZ2#&s@soE1%%+xa<;MS6e4tw|wehe5Q($ zfRRiVN(M0!ePb!C+0}=VPuS8wip>Xx53XCLas?FaGEQ4^HlJ~b{qMfKorgoF@O@_i z0|=eKif&|WTYb(=mk3-D$fd`gX~v(QJQ>gIUxeR3un=oER|CwE&?GC4mwV@4FTb*K zWxE*I-~Xd+d-rWj#3FiILtXRW*m$vTJoTA1zw8>D;?Ml(@9pCLZJ&3t<0YYSVj9$+ z9)1xw-|-MuzOolL{rvCv%i}MDX;8YsQJNf`T=UHRU%0uWgOB6~f3tmW?=z85h-Ng_ zwoGKQ-v05iYoGXW*B$^sXBTyMLyqj|yMAI~VnXAbfsxv@WgqT;WF0o{o5Vv;Zp4}w zcYsKd;2fz`s+^t7eQpI~a?7?C?%UqG??FS?X=YtXMs%U6DGccCJj-9(n=nTXOcR#oWH{bDh{O`-V@YSE(kB56U z0vf=D!mizWs8Dthjz;XkSi{e^?KwLCXCtwqg2*T;Bc19Gj*c_JD;xIW$yHmhtv`*& z{;?4|cJzbu;O0M_9w4P8B#+uXgGcADXs=`wWNgy+6%GuH9o#eBH<-fHYxkmeA|H%B zJBBLT4ICrm8I;NnL?}evmiyrc-XTn$Jb-yzDYdr=z6SOzXxEXbipw(F_GRpK5}i>y?+g=)qx9Qim?^l z5*0oJ=&&bX-&HwH6Zp}eo@WEQcS9HgXDphIdDD_uw_z_L2FJx`&4theoa`9B|J#4S z@fb!1_o|({3d%g|_uzAGR*sFH!ItIVe%C0I3#{3=QCG<^} zh=C&>5~z;|jAT8yzQVLB17Jb*nYH~{IG#i%HKty9WtY?z{~6-sJ1877l~ht>vxS|9 z@=38gXAJ$>5*tmWK>%tKF+?pB1Cwb0KyxwyFpgZlfV~r0C~yq*?^Qc@<&}BX-QaU> zR?&zlJx@|OSJ+!|Qbirmrhg85%9EuZ!EiJv<)1!xh&Z{}x+9MIcpmeok4q?GaLcTm zwXY|DMThg+6Tkj(YCKo`k>mpVN5(hzY~FO%%3E*v^VA+W>*`YUbcfdZkv~ip(<5Cx zqy&7aE?728RYi0>^TKx2#0)GyeWrp`1kL5;{KQw@-L%pY$=hx#j->M6bqTD0 zY;ynVt-H^?r|X704)Pg@R<0Bu{e6#}&8EM~$>B;VYMWN0q7ehTb`L;sV9u<1MFeSb zCDN&hTULChdwk_zZZ@`cce^90!mTCOW5cQR*b7_tUiin(>%TL_@9Ki;=vc0GJ*ygZUG``2ul~&s@?-hjcU|JFe|&P!>dm{(x#!j|{pwKu^5x65C${a~lg(#;1SK^P z{O0NyDW$M~EQOGvp)MAdlE7@+X8B_AdH}4ku~B>B82wv$!jlYY)Kdcg^KdMyd5H(8Jy*G@;L>BX>kArg$6Z;+f;U5jq1VIXIa^2PME=^>zKRJs3Or0Gabv(j% ze*F}c(jyQW!$oJzMs?J{+6{X#t0{rAPniy(GmP}^#qIz59CVF?1fP89>UWpMGN~i- ziNMg^Eu~_kLNH9GH&He-0i_sbwAI4UI1coUA|AES(ozNKGo&U4kj?J^V;USKCWr5O zcPW)Uvi)OY%UN*kssSN5w(cIHfuRX7#!;7yBM}Kv!MH#sSHSwM`=@dZ zjiRed4UCL^yJ)*?D3zIbX~&+6{?K*(H#<5y_}KCwP*V{G83Q&B6=*DLgAq^{7DyNj zgINy(gqBLJ`l9XO<^DXWV8vq`-Q99vV)EO8|7XV5Y~OX!AHMmeZ*_EZ@a2_2Py!8d z&M}ZJ(?m804xp(zfvRu_{Szs0#xSG47Mi9ZmC0h~Xo?u;pyTlW-SMYb?9>4;Q-{=r zEaC`_v0(g}e)*606jQ@L;!&=F$baiub4g>grNYcXVhU?Rp@SNlkX>ObR7Q&74uIEJMSt-2<>pftfSvlv0W`xICLl-+04q zPZodsn}1jUU}!K5gTIbHwFgW9;7OTD=p5sDmw)cNf5VTya1mymJO>~D(3|k_%0YWb z2ig7|`1&3H#M)gGh*}zL*|dd!?z7k6g15aF?|GNTAA97Nd~k5|e|vj(ZU%s@3%dyb z6cZWGCzz(sM<-u`fjnxGEx6!Kvti45Fognq8@cp843BLC;{`06r_*1a+r~fr>1%M| zC9m>_hDZK)-@aX&0AOLoe)1^;21o*5y=gzraZ6}vOyczUO>k8!46eX@83kT5oezBR($xwr?XA#|ETZSvFimuK6)r0nwH@VAg1vhV_7J-i26hn zr!*%aTN=ROL%AiS$0xBX?ZF`q>sM)-C+ApScDXUUCKA^Ddn~_Q-$p!J(0RcD-sp z&Z zMSxO45FCiZE+Vye;9E5p-Siu}^D4db#grr>_K~iiOxFw(nUcNoA3yDQ`E~piE7aOM zm+DKe{?%`u`0*!awKO;0Sd$3h{5LP4$~jgDM%?#ozNdHej*FlBpYN}|bE$syQ^N#+ zRfWyzh84ol*!ZK5-+t4oJMX+xzxwK{51xJP>gtgzI~E%4c<}aL3|!IHSfBhtA{xTd zMQsOD*a-&iI4%apCV%j`J086AO>(LJ_heE6VDXUArkNHprQ!RYyuIVa*V^CJ(<4{5 zFErX0zWkl7 zUH4yg)lxl~OiB>3$Sp_i-&M<(Yv}3mJ&*QB4FB9cqcQsKA6szU`}-$ZZ)SJiN74sdH~<^alZhYsuccNu_ z6R!LCg*ce01QPpq?8KLD`#T0FiZFGKyrcFK5&PITe{w`Vuv`Ord?~S?GwobLo(4x& zL&>G6s;a@8&z*npoVVvnOpNtmY;qkKci^iqT!pqu!L#0 z8CDp>6O)fV@#BuC590@s^m_#(C=P5N%>V#e>XKM8ds^W8m4X8!3O+{2|$aPUEJRQ(ylk`|qZz7WVq_hjHQOfz&Yja>FOY{dZpVas8=Crw4S= zw*7t+V=M{)t6n>c0l@j4vSZ~Uqhr(X*S{%tHdVE>erV>b8hq_DmrRX61d#A@8Kj3s zzT9w0*Zp_i*{nZReU%5`xcm#cI%P-4BIB*sw%`8vPe0u@y{Y~S^;HpEw0u#pwZj-R zM%=N>*flivgG;adpF8io^9=oW`_K0QU`L;>I>yQsP7=*QQrSz?-b6W6rM9=`84 z=RA1t?P&<*aYO75?`=^O=#n zRVXqgBX$Y&=Ygecju*wru{0XANertfc9xRZI$8~DY%g@UaBP=6rQcK#;fgRnFt$Phs0`Th!+rnFpESeTjn!dyj$%Zl7&0ZT$1In>(eP(C;&j(3K}vg9M@I+WwrJ5I=TKJ)fXS1)-~tTj{@Q2zAHM0ITDbb=>WF@d zB1Q~~Ws3e2TQLHXXcj*bq#>ag6h?E>hQ%dTGM z0SvhAf4=_Ut^fI)6|3%yhWQ!bOfdp0l;jq>l>6qpzWUpH13T8qwQHB^OYbCn{M$c2 zl?O+PHn+F8i=m+*I^6yhaz)p+z<&Jg+V6k#9X+9Nyfb34Q@}t(#L5oVl}oA48-DZn z!=L|e24J1H_RghxClNmR?Vq2nl!WK{TPt_|>UI3?Z591r{#3`im#xw@;~S>tF9aA7 z5p$&W0{2QcfBo+po&*@KzH6O#=bg}rfUCYOPWL?*j^}NEy*`2dE4rupcgu(0ddk8l zEz`Qu)M*Z9jC`fw`n<=<4S(awUBk}<40qkN&b#U==wRO@>$^Wc-6@ygy58&iw|%8h z8?WDzEi(`U*6)krx?j%2|2cmM=Pby8I3PXXu~+JG|C(B4$^zhAIAtGUqr8K0(ABq! zqx(<$N-N)K$A*+gu^&I!Vk-`hSuoiI_76RW@WedSR@H-R0>0~GJUa*}cSC3% zTxAK*A#g5sFwRN)_Rmgtoig0l@p}NY3&mgDRo=PrtYWv!=ITep?N=CIF?- zH=M)H-hPzr5?mF68^kPZCn9|8mLD$;D){(^`)5zkzl2Y3%h?iOCUboUPwq-%eq9{1 zYl3|1M1=l~#P+cqa*hL6S>T=rA-ruwz{kF6oyr*CxbBui`8^dr!?oKA4#DvS3+o;> z4y7@g^U#{K5V9jJ>f zfDa$|pV(8n<=t2lma`=oF{LnB)}D!#%in0Y8qWd1)pydC$a3*>5yl))nxtzS<*PeFFTIqPv^P zuC9Q8$u+q4(I0>M8KxVZRUz$U#W*pNELWE6G~e#H^x8Wg0q(@rSHmM*%`gAh_hK*Z z*?qY|vhV5T=(wQk)xcW~09LMC$tvaRCf|JVTPIID{q)GZd2{HSYiF|SRx8}T-Nx6> z7{o6&Hel0e1T~4%@vUzxrs4fN*$XefLOXVBxovc0e03z2cxuyzJ*NYyfkVH*qD29J z;lhQJH+=lG$!P1mh?$s8e}8l)+r1x{7AfLmjjv$k_yTM%)F2t=xcIWu$+CB{!cZ^$ z@o)NVwT-J*Pit*_YQxt4(_s(wAId+}{;Mu{%jAMnPm4^OIg`G=b{6ZI;Aqb0@D9ET z|5RsUpVx?*M&NtzT1vUW-E7;IEz~qJdD~M16RR6*5>IX2z5jGOeK`M+6p!k?Z@+kK z(J80RIc3pY`svP-a9_WPTCF#N~oUfDHr z#^QPJ9+@b{35-L(O@3s-;Zr>6~%XXwQ- zckS=)=u#aW9aBeK0R&~d)_;BaIj2uMaLI@6zxK@c|8_~u8BKl7x4v^9gBF60GW-4` z)9ZTnFZt4C7dC$M;rD*$h2BiVDOME9*E7jXFzK+nx17R+wL)py~lTW>#YGFPMlm@nPk)ur0oSF*$TE5-g>KEJ%JYV@sd|LfP5{bcW{ zRdYix)xE9$3C2Vio@cX1#@^F6tA>C3 zp1YoTao?OL&i>9T+k)dZ>XcNz;7=r~U-|P_ZctOphxPS6gzg?W*1TZto9E_m_Vfb# z$>#Utp^=5a%d4@t;U1I~;Mj!Qp8Y8H=jw4u>+|&X8PBnYHpkO{T=T~lfD0f9Cm+dw zdH_QA3YkyLTzmOR1zb40#QuBR2eEdv8TUSK8yuX#jH(S_x&@8Oc<#VL>?~Y> zMOC}-iIe^&dU_LBxxV2!#u$C9^T(%VOE!j;^}-{E_-Am;Y=s&duikLcsnUDTDPwx~ z?zhuRlgn5pGmI+paTrDzgi8&0X&h!4*FyLfD8nEtY<^?Am|=@YkzQ?q3c z6Fl+4L*3o7edR&_SHKFD9dFuj<|5_2XJJaezxOiQls%J;P(QrUzrr#@aNQ!twRgjb z&%x~QD|r9x2gReiV)V>`8P7Au=wn?!I<@GyD4K~Ex)0~0yPL^{3)_wQw|?aUEtI&( zSKiX;kL9Wsn9n4iSoUQW(tw@$Fgy39KhBKC8h>!f*Xo8nDW4&C{7Lqc^S8!^oVYQ~ z)y92Z#Q=p)uplew(fDfV^gH%fEvg+#uKMs03+Ws?#u;07ciYTp__QBf^7XyLp69&* z{t5|zpMTv;ZxMR@ZD8VzcfQbHolplF{&>nNmM|nHY>j<*^Z6~VG5zL?zw)I|D@M;z zY4j=f(+k&OqcCgd6{=IrN?p(c|Ih?I+Ej6X2OoayJ@s|99o1Ed=1@39mL~WM#X&F> zk+Va%am_4*ECUOgB~EYE@b*hCWSn1&D=&GDH_(A?nL;_dcISwD%8eH`+}yo)xE;WX z?ru57f9TOiFR!hs>x@R@&AJ(;u*vx)eM8{eipaZR{9@!y2w4VBs`asC8pncDFJufC z!`%2dU;C#$+wT3=mEo$x=vUVm+A{qfqT+ut;;D7I$S*yN$#S6*) z;+-=G3o-lJx_vDt{RTtS*#*`G03Ez_LG0bGsP4#n@zY?AA{L2YR%;BpS%xO^sEuhX zpDV)(C7NfnB$}%uVZg+@c8}J4_e-C>uID=+En7o5I(@K^k{@VtTF<=$TNf?bR`F6| zGZua4tr^waIa&JIn_wJ3JQ_x8eH77X92%2|hl$x`AK`GUaav=vu__h;EL=90uKH&C z6`x(*d1ao`esSrfy_Xg@j!)|W(2nj(=s*XbwkZ0J5^6gqo$4iXLjy=eqiCwJV1?u0 z@DVWtE7?Axu|#vD7H+PNM*$P>9Ld&w_p*!rv*%;y>@f@OmL>U7OVwm1r~eb!^eVqy zv@AUH3SZ=J%9Z1b(J+d5EQ$u-K!nFY%7&>k<|-eFSgf@!WVP1BqJWNf?a$YK|I%|W zS+!#ROOe8XM^7ngQU9V$s`WWw*TF0J2>qLgR-r~0(2CWNSsR+h84*yOh_`VHwbjHU zfPpLe({=ty^UqmzZtJF``{H9W%Z6oJgMBRkhNcP+^!8rG8&8`5;i47(+NaL!q}HlY z{*yhk5lu8eSk*AOLdXP0Y=&^G2AZ0Vs>D9_fwM+PsX5V8&iKyXzkEeJ*)musHw2h86wVt>@oN&DCT4?gKNB^c!GU6EL+hLLm*qV}wMa0Wq%z(`ts z8go|kt(RT%_bLLBYPhU|%(-(6Z#u80zQ*y1IZBz16(&q}x8c@}==w0?9}^t1mp`|qE>?90hf zC*L++O54k4jJ8|}481x$6U{vNdv6_=&0Q;&{zP27U@!fBw3UhSbeLfV&J|*Y2gmiH zg==A|Ht11__GJ^8o~*%Eb-^8JmNrsxbK6TFR z{Gx>e^z>vKv)mbo>OP=67_0?<7_?PD_$SJ)1#L}UyG4jSIrd4LGihDk-@ofBqh&0^Dt=f~AWn%k|HK?{S z7*TW3-*Pq1Y$dj7eH^+Oo35+z>3d2wm_L2~73p-n|GW47$Ex?zx9j%!bJTE|wJpA& z>eOkBZR`kYRI8)%V+uod4fbobST-}l*7s+j8`gB47pLzj_$SQoKnH*J+IPQ$A`P9) zs9K^$BiOq86~sjeHfoV-UXG=64YqTK3vYXEQ1pVDtzj^II?Alm)34Tb7LK5wA7=yCJdK6woxh;Py+DfwXIyBJ8KS&jJ9nnxnJ-ppG7yo^;r6{N=bi6x=1`L~d6!Y)H0 z4OJ}JO!-CjO0QtwzgJ^#UYN&|8+2^%2PrC0*>(uSpr!LP?VWF}U9M?1>ixVweOgQ# z-JiV}z~k+83mE`3%=_64%?LkKWrTFk3HYUw!+bBt`qBpb-OJP2nbRk+ai|r$#=|6K zmP%!tFb1lR`{JgLRGm{>m4qA{mvigmYEW=|4eeEZ%4LVSc7}~>jqDZw&8$K1!+LoZu6Fh(Gh;JQBK2xD(v9MZ46sP1B@0-9yfpE)fS8SBk12k>&|s$c+Zb>^QF zs_>=HKrRC#7X~X}%V-sT|8g_t)#mYhUmGTh8gy2GU_L0v*vT_VUv@^r#UaGtXLA1h zhDc=lZY&4z^7-e3cXdHE%=_64p<54EM@-#wIms+zp6dgC0prCmo;a`=a}$H;%g;f7 zJ_*P?r0+te8H@4~K6O#%P4$U7j7{WaYgA!xI(I36KP{~IPvHO7L)C_*xh^M}Va#-o0B$xnmXjt9@l!8MYw&9}pLx4}2&0IU(NorUAL@H1e=+&Io|>wQywycrXztPIN% z%NEj?0=Q?a!smthb6EAPyOnOi^`V3f6${m}k@0=3SX69FO$U3^IZb$J{YH4>uaHbe zDQ+axxC^{}@=@(0b(=4SXu-+Z0sr(`ZQ5W~Tnu1i=W_6_9;oB-U$M_&%UWk)&G<|3 zCbqp{{xjFUXMqa0Jji2p@LVWWf{Ix+EIYE3m9j3|mpF^npSJ*e2e!Z-TTgnGNmUJ1 zH0goPO0ChZjX%8{4YP348m%=~DWWz^nVrD<68OF&>S4 z-!$~s@m(+AH$;Jku!H0wd?{V1Oh3YjTJ-PlRi4kjWRYdv}zfcOYNYzJ8 zG=^P7O&2C}QM5g9L&Naq=Mb@UWJ*#g-}g<88=mit;gI&P*k5!EFt3DdYhOThvIb+5 zlgiL_$ryCk_s0+AM=UKQm?vGwC-NZRLI`C;Pzg-=`0d8`5UbQ%it0HyD#A4B2$X^3 zY^9)^D&IQ{5sHvuYa|srO#kXQ3v;Ga(aDqYh{J^tWJ9PDbj`&d|7p;lp4LF%h?zDV zk1?Sf1{+A8v_NU5P^tbgFd>N9lB7cFQ2XN%X&IXEZKuGf!sp5XS7n%@jGo?ldZxD) z1dfnyLy%$`ISge0^|L9Ftda-zZGlu!rD%-%QXR&x4hc(W{lB6IQhfsM4iZET-0tH}4 zCZ?hxT@4Qp!mvUlxgf=mK8znSEPe=Icm%E-2vr7$kGnU$8$b|bRPi5Z%7JhQ)pHb} zoAOxxb0{AkgzyPM*#Vz?{Q3z4fDX%b+P6!X+fyP6jyS#NZe-(;_PS4239qU9u*mMIVH+zulgrMxXkN|ip;{we>= zIt50q;(`4Rn6hDr61Jt=uq{0u0D~#Y@RT3e?+~)A4vDxf`-djsE2v0>b0U@kfb$X5 zUJCf!%Q^*2@dN+2p;H-y{$dPxCxbB#ot43r4D@#iPBt`Eh96l98CepP<0Kn`6a+cYJYeg12+@coM<)j1OQ=vd!~u2~-w!Vg zDFvwtAjXuCfM}_i3rLAQ8~%Ycuk4^tUQmq}*6je}gc)t;u|&9DWOE9a7XGeKA5z0R z2ACBMlci~jh{jKh?_0 zd<@U7-A8!;96YynAE0bZn|?m4i%(}01>kL&2NdcIHP$-}As9t0LlJ2BP`;*zV)J6r zXu|hBFvj?ywSR#i0?Ai^Vg_tqK@p&78Wj1k3>^>>5z7(;h>)Q{GUKofY>V^x(G%d) zA$(oaK+1z@=nxEuL_z}K!Y~As5!U}DK0lN%;Q0!=#=(4su&E2iNa&gdJzRAdzo}_v zgRYBtp63CK8R9j3MFd|lD6Yft3BC&S0b|ewhtD|-jSG*s&;*AOsrvWr*Mr0Hf^&cf zreO#GLgO6O$vPc4 ziWq_V3guyy~A8Nx%hua;SeE z(!Yd?fAYW&I5WWj%`!DOo`PTuAUfRsgM4*F|9_qTfWhE_e+p;-W16W8xIRH+1fru| zUq|M@&VRt5vw+W_gFu?0=^#iz5fl#hPul^64nYzJ(@sbqXsSI4nK=sU`g*apw}8EA zhItF#g?P9YwgZsjFoeb+iATd0gkZuX2_-4;pGxkBqw^OaGlwet9QLN@U*dZufHdf= za)<)}$~I7&n1R;$mtxD%dTiX6$F>m{ZS&ubn)o!7oj@;L(-;(Z*fIc8umX)L<4+L5 zp~;ZGv0QR4;SBJ7KbSm@&`PDEnM_u@L`3Cs89so5EfEg`+%O@1AAY%vk#hAq0671G zP6>2DhC&X5xbzN6;9Ord>-}gbLLa|UVts2tF1^j zg@cLmTF2#=SSUi19^e8=D|5up2s{EoLBk^8WQ(x40hp2CyJl_J8TA|huoXchpW``O z3@$F=zJ%eI0UM|?vq$GowIbl9MqyNLD3mSX7fWzl`(*$?#eYIl94HgLjZ}$;RS75q z36TSgye7+56ZW&Ss44uL8fwJQxm7*5` zptC37|4aSr0FXdTWii5ZSe5}FfaCZmx|6E`{Qu2={vE!T9)SS{&UHutcBX`MequEM zTyR0xzs*YL7MJ_qgXXTQ= z5dgY6dnCH>ulv6T7_tlx1k=z#kmM_3Zm}4QZx#Rfm-!A*MR^c0gsljq>yT7F%asHE zl>dNZt>@qp_=msUcYwBrg&0cp;mHksU|J*U6Sc?{e3;N+Yrp|7hNYSSkHx?tQ7#rS zUQ7r6GnFXg|6@M6*ewZf0|z_wGs=#S>9sSkrGFQmSho+3ieYYY8cKN|0)VG!=yR(9 zC}{C&NIM7LlkmsKg7K}V;{UJJbvd9}Z+S~yktigDFi?qK$9Dp-kMP=miC+~C&(|%h0RTMP9?g_W{}#V;^ppT#`Epnn zow8^?V}bod{^&n8Z{69`6Yvjx?Z0aOX)Sg04L#ty-v51lTB^eH^$Oqf{L#V8zo*Y@ z`E^xQ^P%$w0Dz}P$1|CKmw(t%w^Qm9v$T-ez?9IW^z-TBc;A6+u$|Bji0(sj&i^a? zglWz)4WmH`p)r^8IJiO-KYl?*EnT2443-4yL+<$ zu(G{ftOzQ+{mb?*ZfKZkTB4D0(nzuVXr|bAAe;TarcXn{oN1Xxqf(?vrt(AMr4!PJ z0aL}pyXCjP@r}zi@7np9{(*rB%g|c{sF8yuDjy~ZNc&(zw(A~fYi+GNdBMV8e66eN z>Gt+^-hB*#{$J;>T)9%LSg}HW^Tr$hbMyACR}PPkr9+0^%o#OuVi5owj66v!rN9Qu zjx#WS&fLb6=g+$Ji{I#arK6*Ry|!TW(fQl292p%+>xSM;iW(VX5hCIY@CcORTnxI7 zGca$?+{Q&G$e*e|eCtg&y=}|(?bq}T45s1{qbV9flcBLF0|WuSCn;03F__6aeY2)d zZ&oe8Ax88W;6`OYL_~gj& zXiC?4GbA-~jtD5Q9}FolKIpjqff>`MH!PYz|0iGV>U#b}{pZ#jZ@gm5t{tBo8Xipv zjWFLo5=x(y+`~hGFOc;JU8o+D>nwRJ!ND(9jQoH^!fu zP_O@w#gXYP<_(FMb){+Ovn(^<+m7owuGgC>IQR4q*gw4OkDH2ba1v$!XmJA~)m1ZZ zh)1j|E%R`FY}@V4m&^C0(&Zm+8Xf(Y^l1PhRnuy2NQ5F+TBbS6F!YK(o@YBwZ?06j zCp|Fn!_haW&mpgkv`uTeA#6pi)Po7^Rs9{Ox9F7aaSjaqD|`+>Ev&1H)>cP88wpwM zrlHR_bS=slAbsh(zCT*F-PPGr@n1=fh9@ST#cL*{W3{Qt_qvZSOwOv0ToVl&SD1!AN7qD{F$Uk4p6hud zMceNg&$>Uk`KRmGOkMhAd@PQCwV?f-RtdwaWDx^$@?jz_z~ zk!X>71M_s9&*GIaWoj2mfMzJ7(@L(hxwxN^~=Mf^nhRwPt(9D5#Td=}%3 z1!d7tDPo5izVDw_vdf#Rk|)lud_S@*t0PezZ>-7mmYQnylZ4=6>aq{EpIBQ}L@n0H z-4(Bjhji0u2Jpli(>g~1aZ&|Mc!#er?k2HjoZ(yXyle?G^V@d zy|Z+L<}$`OB!Yb^#y|>f1pidGT-qM5u1X5ihyu8@y}kWlP3PnB!;zR?Ebg5Z3Wer! z#`$a3h}y`Prxwe_H^hHUV*uFFrly)?GV*9kea$kL>e@R~ zy!iHY!^2a-Eyo+A82}cIMr#_9$w%w!>z7#}3!L-A_)4kyiL%{kXxckRQmMBW3WXEm z6M=Phf^}TAw5Fk6dvxx!#4=6OK@b4r1OSPsp);uYEz<2Ywd^}Pu3Gx`&dznIsf=H5 zNT1s3WtL@tF%HfcfdQmQS8XOSsmIcmUqYtV1 z)wbPfX!<+(ME>o=C#cUsep9r@GLw(iR4132rUfB5I1ls*hr+s4a(=|NJ14pJ&L$`I z_Tk|Z=5qk*^wzpLbybPK)hDY?woDV8vx5Z`h@cUv7T=fc;hfq2W}$zzYtMo2o#2xm z2cYWW@i~d=>c3T2SD$Q!LR0=TWum5(YVm!)J(tb3>q30>!071rZ~{-lQ84J7{~YOxP~@498zeC5a8cTh(MXUDivKh*xE)27X? zNtl1DOTBOsk8}PR1gCtF20$Vwolc z7nO>-tio5#o*#XG#>~IpFtnR?4o%#8Bz;&%M~Bwg*{QDm^q%x1Km8#gWf$*+F3bH$1k>_~Sg|F83}y6P(Z&O7gv zU;6y#FIjZzsgDq2<#MqQ3bNLC#5o7!0#f?HB%=wYq(mZF#aOvmD1TX**gwqnHz>Ql&v zm=K5PQ?Va_&@?7}A5}HACuILr|6c!@&zybI;!~azhUpaYIZJRJ^e+Wx@ufJT^b(e^=;AZ{c{UVf7iZSNQly9^BgP7)k{C_r{$ur?1Al67hv@D;>LkMeu`yqxB;3&f-q{KI)^$r88{&LjYn|5Q`P>8Jf^ku? zp8-UqlmwA4Ig}{a#QG-WWnaB*?W4z8j%FPIdvs1RnlP(hs!zn`GsawEOyh@M03awu zq?D8(u(IoliEREO&+P8M`$Y6fCX>%g$p8$R|J}Rp;C&7ND{zG<+2#h zWOqT~F(&cExfyFA92s;a8G+6;wYhC*g28lzA+f>1cZ z!qFJBLLn9oM_42lV}@xVUY#Vyxu{Ae<4w)YSFTvGLM~dg=ym(;N8($dkQs}`C=!Vv z8ji47G{z#~FpEYaEFOg-uf=T^m{mj^XF zd;MfNBTCF+M^7P)&7p=f>ml%efG~lG0!d zJSd=5;S<0BuB0-A5Pm!!zr3ls`ppOi|D*ET+uKD~SC{(MwM)-!Od6NFp6h$QGC+z$ zNzl{}NsyA<^QGasuHTR}F2CiPrEl))>Qe3P?MLSy)Mxs+Rguu;Ao6`*8lWJGTq%N5 zs#1iWxF@9nBEKpczWl6N(@sdAEl>tWQHy$BH#CYLn+0Tl8`d^QA&cO;=b=0q{t7Mq05_^>P|ra z;07R47yC+eA~w%g%5{BdD5bbm#H3OHQz+XCu1Aa%X^!VH(=;e-89$g`Qxog%uADhM za^nD0%rw6ei^u0FMXu+00beSnlmh1rCEJGMcnl!T^;~9}CRw4-4{B;^VwLZ3ME;^h z?Tj%{++yEsPEu2;WP4Kjx>7zT%;SWrYibqoGHsNzklYOWc*nAR4P-c z#)!Bf5sl9GrF1>tHxv< zYxXjZ#+Qfi#sA0rsVBUDg@4N}U!NH2qsEj0-g^Dp%Af53hCwt06aIv zI8s{JeKJK}reN^`U73AF1^xM`}~a zA;KoRG7)Cvx()~~Na$c(yt+h5gkZw)AsHbN)+icc9{}*&6yw6PPXe+R;>iY z;Y)~+O2PLfI0Hh4Mj>6Cus)_Gt_+z5Ii7?9pb3KDL5b4J0~n+t_)Y3S^@u9 z`W)0>Gp-auBiHjPt5ym^9BzM5dp8)cHKCEA8OP(Z?rzA1b#+nGFh9yTBTq_AFb04@ z69lCgQdx$Dvn6bY&_BXpn#83f84HJ+lGW~|n4Iihz8qRl&uim`!4N!|MGedPs1Smr zlp5y@N(Fr&mBK_Si_;d)f^EC#?H@tdGPp054242Xb|Ceaqv_KP z$R;3c82ZN;1Nl;Ef&(Ce;2a7-!INl=oA4ztS#Y5Va4AWKEvum+;=VnV!e5qG3XlK* zH<+9mudaG8<04!tl~}1*WJ*dzVlgx{x1f32G&D3dqh;DOG&MIP8jV6piBhr1ilq`` zLPV>pYu+y{-Ua|29UY7gnc)xR7b|=zC8E(78k<|tGHv?7-%ZUeh(@E3{|3K!2*0VN z1+CMkqq#Zw-PGKSNQGZKQ9hZAYU}FXPGEYeRA!}8fdPa_ERM$JX=rGgj@tSbG`F^) zzOf0BXcWHhqEsrfVzJ0{(@2`(@PD<$Vv*q5BOIMyVx>}v5r9Z6(5IoP8FlsbXl`jm zePd&V@1s=tuE*m;(`F^AtKScyMFM`2NhJ}9MbXgIjHZ@W)Ymtnsbv}(o0<`g#UPbL zsZ?a8Qi*Y)MXG9&@70K=13+hI=dtxE78!vMjm6N^+KQ&u*1&(JPd{kC=XpW@o`^n{ zHorQVyc~>K2mMp2iaxDquJ}*uv^F#}HzN{@1^QI_muq?=nn--mtcf-rv43B~FBXeT zDuqZihNhO*ivKiY+Vl!P8inWk2mR-G{6pKS%Fztn(3ZG9V@>rwJL6OrEe#&xQHhWh z{KTRXEe$@FEq2jV=QGy_(+zFOp^PK7p32geVHitX-)GaC>(~WvT8tU34M--Uh=eUf z!WNQ=C}y@c;DU1&V|sHP^L(EfhOy*O#*tcQXYkpkU`wQQn4!m5B0dd<9);jK7&sU> zIM-q5Q6%E6FtjLB(qX1xOAcimQy*Ph;`@@tqZVsxNg^J#g2Ly5K?nxZ5J*HVw6!D= zk66t2CDZj2*GJd1B~lTKS)9#Cnn+k2rT{b^oRu{NL&D;iku(uCIg^T*u4%{BXX^hr zXG?rvvXCxVZ8U_CCLjPXA}}Io04z9OU0=jCAF&}gp=<+!gLF+JQxk6qXv>fE5gY)T>grB445N{PNri&| z*Yz-&%E2x>xbj`g@#`O5k6Ui|PiTUpSau);Cr#H$GmN(!jo!VoodZBPtj>;wc{JEU zU@W*1ap2fF_`ZvV`jat#-n%e;`ngcjhg3emxC)t!EKQyV09%i66E~%g6)_eYLNqHy z;EZu11<&(QD3;;4E*8vf!h7C&8ZLa(Nni|cT_2n=5}cFH`SRoG6RA%w)-|m;Sc(TH zrQrDz1>1$|`B>Bx!4;>~r2?{<41C9-p;FNgTk#@5?0lTh8G}#nhhW{1 zhw~MSSJfaA2?K5!>7fHC7xGZj0}}?!NDR@cYE&g_P%IRX&7|Nv?g{fXB350UL^KkH z@7NeU(1&ud0O|V>nvQTRhD3D|H8r)!7xGA_QjqSk`M&4n2L}d~rxb(WEEKIp$g-eO z4!O}`_)Y;J9|{(Pl|U$3g;=5<#X=VOTpHv{B9)tHZEW-j#L&HhGX{BNzF^@<4B?Ok zgDK?3N8mX&0D>Y0-Lw#n#u1MvP$(9W%Vh!IKPDd`Q5YE+vcb8j5wS=t0m}+Q`4Z`o z5%^9KL4|S-ZiHZj6Np5s;W$O)vO)h24-}=L>m>l}e5^XEJ|sloKUN6j*_a$W0H+l2 znb2T{V+hBqP?fAfA)iMsdjk4^3d6$#z5*9I14~rZARG>XoDx!leJB_6AnAi?2CPUN zv8rlR*VG}O&mo&hLwPQhiiMJ3R{4nidng}_RVR~(gu{?d8RPv2P%PwwCwbjKI2J=y zGKo-K9kRI`GU?;<54nID186Cr6R{>kSGe)2BCDGvfjmR0$l+D)xpfT)M-&hzjO`Wd z`tQX+#F~}@Is-f$`6+wqZ@MCCvJ4%!-}DLAwrDm~I)`k&2)FV9hOQwIkAPRj(YJLk zyYiYJAV<^$K*urojDeOey-MeNZ4(s7tT`96ShNwISAs7ckP5yo;{uv6q3dDf3nOgz z?)$*GY+AbXDxI;rj?S;>!xS}f&Tz?j3s_@a6-s3nj_X0n;4Q%MuMG$CednnnO* zwouY^T}MM*70x_mF0Op{a-4SRJa{D=r=ETi?)mxG@Y!$t0)wNINJPVoPw|hi0jE*33(A9n6~1ioK_X=qFUO-Hc% zFnySYnL=;?kdEtXLNG+b7MdHXu=u1_v^G@3^?XcgO5y|WJQEK-wE?+&86nGH;Ajr? z>3N;~Q!5k9;4?MBK?LbarD>cYVhXfWg|N6aj@D``s0*L8@WC^iasP%t?~#Xc*g^V&Rv`rsgjgp|H;~gWBkp-54DmMPpc@ zF3b%=AgQ!&M#&&$K{ucgzH%3Q>QDx}R zI183;IfG9OIiJwfIt|li&qZxrouAL7we;BNQTZ3pVkj(nlAOim?-QYKsh^!=9(}PQ45tgWlWCS=-=+ZsBS>4X$Ioe zHL93N9aEnLJC>~9H2uZjCR>_6sTr1(69>e|&>p15$Iuv7s15N7og?iqY%1x9*0-R3 z#(Y#IYgI9u61j=-?|<|AKOF4(9&o{H`ge+7)6)D&-Lzz8s9$W^yBmW;gQzlfL@lG@ zKO7}bBI_zNPn(X}CoMotO^wQBG9ouIc2xdr+pM#pji#72w@sq1(Z{~c7DARnW0Uvl z0z3yshIN$pbIhD=V{V&|1H;UkbvCqhFTgtzcdE6YeYUoGf1h>o{5G_;HDc3?n-LA0 zm^Hl-q=M_7afaRlBPi_b!{SA=aPs`=cyw^cYCrpIt^0)+j>$joytJl#&kBcIV3}1& zrS?Jy1EFvYz$@blV}Y)u@;0wHBkPbb>4YtZQZ(K+pnM9s(C4C)g_~-iifd( zU;>6NP@RZW_I`sqfpoTrvB?}7>*Akv%4!H%h*}2vC(_V0 zfvQO8aQllTc)mn^B8IAviGfndI=i)1dtu;c_Adv}1FrEfV~i;RE(;AcLEV%-pmHXA|~o<;+Q|H5sWd|jt9mW z`iE0citye`mf)Xjwqa;A3w{E}zozl7t}bQ8VsXc|)hmzOi^%vUjP2fr1HFCd-8TeXaA<--7YzG) z`!TwIKMK8@5gXfpZ9PvwDn(`}Qq|SfrS4)(EBsgePj9}VYE!1Y{>EK%=9mFL9xs;5 z>Z!lp4Qzh`1ADe(e0&nShH{WnLSuk{!nOk`?C$NuzKt)z-SjYCeCi?iN>S)I{BSH9 zFWZj#^B?cVrd3bi+0|?C%J$vZvcDgwr28YKuxamptlPX5Jx~7=8~*tyo_P2nD8ljV zcf;{Syqqgy&olSX+ot^mQMVT;m(brYU>QD4!$;I~ks6h#)rK)YyasP=`VIQlKSQQr z!3ag8V2mEAo*gfKqV^Bo^;MfQS2TWxf}j>RlBkNO(iuGS)MIr1$u;oZ0`kQIw(dTF zu%#npYKVqR^!5+K(g=+Sj<=i?$15+cAx+m|MUKf=%#6ko5sBLJgE+lDhZ)slNQN_D z@&HVY!O%FumJXATptU-WQ=7+eR&xPW_G&~!3c`#gy1KelC+lLlk2L(`<{PRu<=X3S z+Sk@*P3dFjve@*?iKz1Spt(=0D+JnTzM(lm@88Qv? znEI^fULnKrc+4r6@$`LvAlmUHQvJJ-&!#b$DuP2nfS@sn(Nqq0dIb5s>!7wgjE&De zK|*LS!_hcnj8-yc75}U5&YQkewJH1l`s-=wQhi1D3K^-2$BM-g?z#K-wEg*~v3=`i zjEs)qz}N&xsbJ|)DGZE^VX(g+n_hkaTb_O#tDbynq{lW`gu3(qX zI(05quit^6{ozsk(sf(73}iyCSL$p zzkZ=7l~<0(TaeE7qObos>_6}f^0`3-fnGp9H;DZQowr49SAcH=$_45iW9SOw2lE#^r&$v z7R$hr1wKCc0T(qf9mB&WHg7SZJOwT!(piqRo5FZ;Z3yX%j*q3+vE9&mq982)gXyuG(!NM zC(+VWjq}c&hiJ$|CR0S;zyy3L!8t>*o?n+;lsLWktwg>1P5|5pN7FqI|MidQp*~R^kE+J%2+}rTMvVnSV{j{m zTZTZ<=a}0RLtR*?U9YSW&pdkn@6Bj9``PSiX=E&p!A!STrW$^#U_y zxwv;r7_K2fT*7k+BoqoRaluWZ_Ia_3V0t3<2l@j^lzE0)hdLKf4}p zUNR4}r`KWY=8f$BzdhiIWAFh$F$#&)qkf!^b1PI0uFuBG2XolI+k&oZa6KQ45k@Cs zxO?RUO3p0Q*VLe1+s?K0BhrU7Zg_4yw&L1t&&SS+e}P|@T@+hd{AQ$Cz9-NpFP?v( z8&uAT>gp=gHr8U(U=~sfiiLZ=g5Uz4(6DJRi>8(aR7VXAY%9SfU1$9*Z)P**6>Cr0aby1twBqZj}ETY#TWOWbIn#+Jk zfJd0tTt-&+(CZN9&McxPAyF5#Ijw?zDC^L6kWZwyH70mnGLF+1wxN*EL+6B(W;H^3 zE~Mw;q*;y7IiZlxB?|gs^dI6{68v zNa;aJ57B5XHg2uLGiySKhFc)CD4;CuZ6aoBP((;r8l+P2 zq(V(pL)hTpjG;NMBcyYfg80hzvyaQKclPQW#6yOL`a~3rF<82RWF&OZ{$wNsOE&$bMe*Wb7Sm?5AY=#_ zx(-QnTs{~{BEU4Fh=i;0{7XKbc>#z;n}VP{-$N{##O7@g{Nq``vg*JXz?cA2>bS@J zh%u>%5Q~IR6$@js?4vJJMnhc{lq7gkArTEh>N@%|WhAR(;EY2E4hr_-j%~hH;fFL- zhXs5^C^!-=38NCYM~GVjQG=u4C^STMFa~HrFx%_+d{KKl``Qg(`qJVWq0OJwN&pn+ z426l}8FW&N#8+>;@yoHS@qa=KXXN_-slM&sR=u&XG2B%M zYfr6gZ)Z1r>5E@#LsmPfrG})GN=k)n$%ii$rt*n11j+1+jt{{I1gMkS8mPsa5MTQ8 zSHB#~)*O-F-VXM~FMaV#xsiUYwYHi7QVc-JaiDPq4pbr>0l^rGwi|?saIV@KYG|Ur zSA6NKU;T0nN58j7e}#U|b?s01k}maBKz7 zQ%Vmd#OQ&(z2E4(wWDcl_7e+G0gmG$lTE>O%J6)jh=;j!GMODaZ~cVc=Y24~pvCE1CBN<8 zR=uIHA$&{G5RWm=spo<2Ys#gfFAS4OsmO7COlFF(ol5QLN~C7V_K?b!;Cdc>Maqms z#Yq3L^&uiWc=ugj$fQ$6D->qZm*lt-lSL0DN8->-{kAKSDtfS838_ehqH#VvI52Ya zEw^50_6~ncUodZA_zCrW??=@evs=U8fEjs?i16o?-CxM0GsSQ?!j$yM^*m$>C6pa6 z@Egv-8Q{1c(uEQn*M%Zd(O8@h4h@am+;z)Q`3JAGj>^-=pD^cBZylWx3)^I9J};CR zJRdL(7pziT!ZcjCK2R((7@E&xVVgen*3lXG6XqPoI&9?W2>w>+o^#t5-!&r{4^hYz zyihE|^L&IuIyeg+BElgZp64T9EF)wHo{Wd+w(H(C1BLE6hp`UB2Y)L@HqU8|&7R?^ zFfqot?Kto}3C^@iUjv+J@H`3Ialjbkt_o9YZ1#*|Wb>RuS%da+PP!Sp{&FCfo7Z1={cvjBxV>K zBsk-)uOKB&73u&HpmPQ#368J8Ipc-^Eon*2*pyDsIh6I9#sFZ)fIFuqq|Yz}C&3x_ zd>=}wiVrbx#)61hCE@u#1ZUh7oRT4Z#*P7Z&Y`R$HJ__e5M>U=nUCQ~4SNO+C@I01 z3dSP%7@iQ=dBA}3RdB+AfT=6lr)D%-C5Fn*uoDoLGCeeFf7)tsO0tch@N5&?x zt9JlO`W3zcs}!mjJBIyGtT=TfPANhvok1!!38mCQ{~;ozGZ{=wPC!W&96bXd8804{ zTWJEU7@R{7mfJJ=GA7bR1V^;k!E|idLK&lzc}P_`dKMhfCh zf)9TxVG;lkAzPLh%XX_{XVgR21RPIdPIEOsFqGK>08(lVb&>q@(^nq&20%9fOabHQSUybyVYE5XI!Sxm9*M#}bQMCmCJjsv9U%ng~ zV~iFw*KdmoaM$xyeIkm>&o~9T#*rzOkT2PYM?#p@P=o1p)zCPH>-&guaG{yUv>yPJ z@UjBT@m!^$L^x?$5vy+51>GcgDFwGwhGFaY;CYjH-`Ob`VTp-xom@vj)3rPR1u1Ki zap$4rJ-J^4#DG`#1IY8T!VEdC=V@M{fW`Bt;pM-68zIX;aXbY(UxIRMeDr(EWzp78rJVDtoG)MYUD?1(36`NDlPi($OK2xx|LAZ!-7>Sql~Td+72=k_hnCes;|xVd!u2FP zO<+!)g&9c`hQ?5GBwWvju4yFz()X#cK3?c){>#|60s2~Ce^41x&t}sy9CoFYfnQiA z-hIZ&(1bv?SVpc?LM#-*%=#o+YZA~k0o(Q9`4YMi$K?Y6IziM4w(45+pE9jHHmj{r z56@D6yr!3P4v+(sGQs!~t}^hQ4-G&m26#}XwUu~0T^?KYGWuz%I8E1UM}|%!>SUQ! zo&D#Y(lQpVYpIuxtN!}4FL2H{yt0k_WDWojtBK=BU;Qu?DM-gvZ$7n!m&U!Z%-XH} zm4S=!+7IaLBI*LWKcDWml99258L1~I_34jZ$~k9nTo>hBkRCe}kKzMYoD&Q@P%2?Y zcpBzdA)oFifT6SNb@q35bx|k4I!A~4YZDD)4OOvvUy}OJ#iw${7#vTcTnJJphoTlP zd((VS@Wi1Ss$#qp&yMwt4h8(KE_$szU0uN`xXt5s|E${ZSX11pFWJ7ja9*4Ta}%Lp z2SI9E{ZPFOCIIEY6)J3Pv<6wX% zB~rOy89Et{;mo;h00B~wvN+=g(bz=Z>Bmuyu}uZ;2x3KI1nCnaTjARu9)u#m&;UE_ zLHQC^!o&^l8O7%=8$&26k=|_u0cMF>^$qba| zBa)2c`u}_zKE2|6M5{uW*qDWs3XC0-4**aCc?Ccz4^m2e~A2mPyls+D*l12i)ubAUWy#4I?AP_VmP%PL`QbC4IEI(})&N;aa zVN=J*s2jw2fK~X1?1)eCr}SY|A|m*TnCmMnpB?y#U<@VOhav@~YdEtlf+ejHSQ^8y zQwhLhc%A*ctE)$Lbae2+bq9Vpmd^iy6Vp5?6=ysseJ3~|6*Nsi5rH!fUn(UC+Gr~K zt92XVKLG&JgsWU8Xl1+TpjDjOAqZeyJpun8L%V;NF4}+Kfadv1F#u92=p2Aj&{>cn zh5_(=QXJ4G3*}!uJGSsA0Khc;i2R-&$c~NBdUhd>2S zDtN9Wsi<<+l%O$yDFvMe{{{$B5^T>WUn&rg1;9YWJv5yKP+QIS_Y*X@6n85GDNb>M zJH_q6o#GUCheB~J?(U_yLve@VZpGa-Z+`R6KQo!x*?V$jX7}99*>gVMG=%CuVlS%o zM%>(d0DPg%h%-L!##t$Ov0ZeFp&;Wx8bs{icQ>-@kW+JAfFh%ph6o%GCEJ*AEq2_T zMB8)VnvW_nNm)hYrxOm2m!u?xVoTt4?=}wA2y^NX!(7Ww@M?nCL4pet*B~f6yXrZ( zMv*?VtBIV}OnXDbcsPt|@?xN#s#j2uyd{qmdX#+FtEVN6%K&~eB>w31knh(Uz|B3- zO}LIDY3yGuIOWtiFo7nX2K5?|9jTXy?;yoajVe&J+&u2!*AsIa#nR8CQ&2&<(HOEQ zEV<3t%!uBA$L`LiV#xeVk$37}*2 zIdcRrN;_G8-x=W;yL?NiUafc8rx$Khtq3Hk!IUz@6}E%#w`_+r#3zFZP;t=0&DXyr zb`gdt&4(g85vC6J7m>AW1NM4xS%)7~hubdw0z=ef_P^YPsOZx4u;LTlWNqoBPEv7) zhmPRjBhVHFNzm9i#b40oW`-Upuy2*UO05PD+g^K0GlhR^?Gau?JSeNGL2{-M2cTU$Rtp^7~3uzgnhDZ zJ-0Jlo8lLLN(0L6ePpiI21Ra*qdXn@{q0r-QQ=@=6#Ch)TT$qA=aPlA+}(&yZ%8~MNUlf4`rzXCw9raH}z*n-G1K(#2Ya7B^a&*}rV#8ADS z1DXBZdg1Z{Y)-D!nfhjJ+z+gHt&ay8NUs;PXjkL!QY|kRKkD4odGK6%w@sn`xpr|9 z>^zu&J@sflmu1vpP5gHahEuuXsPI89cr*UfwZ@3hNzrJhhmgvdr?H6tq2ir(l_`7r zg);#_r~EpfDMO|eick>6+`j7LUmzyCT2v{3@@T|A(LestWG>aO zt*hfhG~x$cdLGye0{P+srv~Y=eI}u4b-C(eMbEXH@ZfnfT3{3eT zUHjhTA_xV+%_?X+0Z&ejDt!020mF%3qvBK!-EuUgQQUZ_EXL{~rJlF)^0bT7J$4yC zjwL5AF6Ni0K_6JTu}Da zFb_|@9VAFc8S{{tpSCeX)_e(0+G<=^&p48!jK zz8((~67)mBe_q(J;D2j^ldl9?b92)=i!eU_gxOi`VyKQ=1)32Qg4@NBsy( z*L8pQPFh^;5L>QJTgIx7CWd0*7Cu>|rccxo=RdQPpK-7j7-5w(XYePu{W^BDn!m0M zW?y}>R8BMhKTdk*?$NwdyKjV=8ha1(3TDpw#*cb^VzXAx|FsIv0)aVdYRPBUDOgiIn@0bI2Ams)ZbIECkYp6W|3X?V z>{iMDkSln3);}$B!vT)?8I_z`eW2{jO0n34=oanKj?ioB*V`bT$NuB9#}%xLftoH8 zQGjAx_4k-i2l`VeATA}_SirAH_TCSrc^%<)3V2LO-S_z4CRe|=o z!9<^el!iQwmQKpYVaU5;PlNSIa{-HD6acqLs_^}@giN3 zzB56*Ob!4fRick72u9p9#K)GBa^f_s#XwtNc9&HBP!kpPO)M;*flhR#XhM;bD_z9p z-|fxs&WDFM7kXi89e>-mu9KH49%kJU7sDI=3oA&wKdP7oAGj!f)`dJ{!t&hP)Rp@o z#{+u#`*oHn?!$Lg8SvvwA^vOzI8ZHCic7}0g1{Xni!St2+O{77e8awMwR;dyi(rNu zYz6?hV(44En%{rG3%QW7*WUR7d8%Ylj0t2!uuYqi95(iRFYdH11MQq5-WfCXE(IB` zJ&al9GoiNd2?q#k5r*v05f>=-YPhFmWsrp)0AnyLK*$)b9$4aFQx zuN{Hh{|C>?8~Bmo(Jw4WA4{Vq%$MIo_kAVMfG|G&fkGb>u_ zsVmv#fmQisIQx=#~4 zKR6eb)3J;9R4RAP;pgV=e%;jcIW>pRb<@+dA_9<6!{lJk5_;uIuzSQ}Q%HSSv4bm0 zs;qcN$AG!MxUeuNpgffZVCUFYv>8_*&$`@AiwhI8AgDMtKB~e|ROCE8xi4&V$K6jr zCt@}}u?!zF`b67y+=sKHGBT=ugUmqBlTvbjtGq4P?Fpw?Z$g5);pC2niJ`nxtleJ! z%@Bj6l12qR*eZ7=6eD0$$u~SWc%MuF-*2NM1{Z)T9?MVRhQMiVzNh(>P@kwRIQ1WD zbPWCUCT~>9GiPWp5}BT{xhn&UV^$jlJmEJG->(dj^f&&rFSt<}HCx6flkiRkSg2-Y z)zLKB_3V6!lDgc1d7B8JfsGt7GO{eXXf-Eo%&t_C-7nsWfb!oH^=?!cj0j-rGBie6 zJ+g>I)=^({|CC^{0w0!$^H3=wAPXx}Tm(hU`^L-_o};Z^t>15(H{Ncy!&xnd zz#xkoQmj%@bA-RY>~57yE;{d!Yoo|Ut${bZ~XphsRO z-A`dP4Wxx7-nO!|e3jCWtiA+X6;?Xw#Dz`|;g0?HOa~Dce=947+{J~Ox33$|j$Ql8 zXr#N;&}uP*{=|~w{(A}3|LRy2Ex$d8JYVO$q^-Zg-x=Q>J=tp2S{|O>k}2O0@OW*U zCwzb1VM7#gw}*^YT(>+Yme2nC0AOVQTe!Uuk;$Hj+M{B(RC5XpT=z5NF|pb5ywQfQ z`f#bA_8?WT;>G5{uxD@NO=Q$@Hc{qS);lEP$w6g4f|y$vaACN1btl8Yt{RxHW=>v; z47k7bn!lxcJ^F!mi&`$)(>MJ{5Ar84y<*b$eAky{6(tTkaH69R=it2J6w(c(!QczN z1@vtA&wv?og>nR|#?zv zwhZh=&7E+O8(*M!1*%3R!#`;#;~wxJ;oMZ}{AW+*--Uo1Sruc2Wf}h)7>4bse@}3B zkRoY;92d}4sU70#4hMG)D8|EN_;xUi_sitV!jbc{Z{rHxu3VH_ z$^dAr45=+**rp7?fonB^uRFiLzdf(@+dlSI^Za8ZX33J}0z$LGBI`m4Eo(LLGS17@ z7k-GnzYTA~{N=Dt{D%>D7=!e)>3Unt(K@L^cU#UjPJq;YbmKvz>6urx%sO~}?XV{( z=zXK|pytKWyFWai>!2CP>!6?bKCo_}{UKO}X>^zC-)}85cU#RX3T&`s8EwA=GA6l@ z>s?H)QR02GTQ)IeyglGEt8UW!+WSEbeX@ue0mhVdS!7{8z5k;KQh97N115SbUCp`9 zFZ%U`d8vhLF{%-qcg>@Aqqn(vgnL?`M7k=amI|e1#66S#GW`)TTNK(Kj>d!PC7+KQVJ5I@4}rIZn_CAZ zf$XX~Ch1)u&dd5grmx3Y9XGQm<2I9K3(?yJF9?WR-|Uw0dKLpV0V>kMtKqg+K!DC1 zigO~hG@K}jtd^%QH!jMc|MQ_cF+0yS<)Tq2z7>zjz--CR`G>+ltKH@9?m%VV7Y=N3 z#sk(C>|!L}9VUN2WOL-eZ3@RKZw`8*c^gixS|RRXS&Jv%-`v`!3*)2xW@4$}>q9&iAwp|81V8gX#xnQy{g5Jfmz- zLp4dtS?=29D`X;IZnk(4JEi8K@*B`1YA;9Tnxd)Cd4%u71hP*_?L1`7kIKPuYO+@k#fZ2pw8m$7}u5#5^hR2Dl}Ds&7lUXnfKv+&RqtRv#b~ z;wu6lCch1mZ%~gMJMbIzetyahP%i89c@mwoAjJL+UtB$1@J_n-kI zuuF9YV0x@hy$ucqWI%l#n`m>VHj2RV*Z`rav7i2%Z`woI_u-BmkIGk@Y6fR$<5eeM zov=(-11z{e`&HsO_KO2#BO91V+jy>{9x2gu_(-;1fF2H-0d?4(S44e-<-f~GG|Ynf zw!@>$5x&QMg}cX_R8Cph@=B^m4H15U90xx)bMt~w!Q~5Mdwct(>pryZ80kW7S=k)s z7Q4Gyq&4?-rtzxUPz15hnFGquM^yi-C3g_YS8FD@;<=G=&wMvJ9~*xkL2GSoQr%VW zyoT1`+yk$y_AIV2t-jKUz@xZe>|k-$u#P$8Mbgj$?0gkzWO`jFrD1i>ODW{7+==P^ zw@75R-seI1fAd*r=gyN%qqINgG$O6(5JriT)Dj+^c)Uoj8F7|tNOgtpVboeU779r29ZqG<&<Bbr#$)+M^**}XDFa@Xx0tuea>eN!1k#hjt1bV=WzrQdMx3Osw^2XFQLW~qxtL{S?knHz zmB~l$h5!rA0lq`Xk|i#7+jytOAhy@t3miw-X7wBbd5_pQvR88h_}7uodNc zZXeaXhi^`Rw2-~$avrK~rY#6X<%4NsSLa(}JDLa{GuB zmt8YzeYb}n5}UvFmqV~h-p3bN?oK%KeC6Gj?-h1773JPsR`a)gtoiZOtDClxDvyZI2P$`#YmL+;^kf;=b(e&+bA`hjAsxwiRtG5fC13?n@01507Wh z1;!^Fv+A$bQt!pup3yK z+_i6i0W$EITtf_aIr5_i===6phZ%L(Sq)J_A9$f;x#fhIG3d>Pcd;H3tl4_?TLIlO z4sbm@&DCtLZc|IKoA1wQ>M#nbLF_}^6|p)S3}52VdH(zmO0tuW2-9?7P(q1R_In=- z3zBpns-<{+($Lh@O!EkTov+kxn4J7_5v&`N8=I0A&}){FHffdes|3I0!pthfz6&J> zJ~VCpyQ5GuUckm9r0ly?D?Oirl9I^FUd_20>tRx=Fx_0c^WFS>ZcP;|PHjn)V^5fT zy^`JnMQiSZT#*S4h1Y)lC<47nyF9$`50RzoGg!1p+BKWHzrD*&?KY7hHE4FAh3?po zb!{)suX@WwF7hU;Te9i|VKp0sy(zzv1p8PU_~C!HTZy&GeT4syq<F)SwVm#?E1oj-v+1c3}Pt{5ug9Qm}K8g>CVZpQPwyYxeT_=})Y+V>*qhK|Z^70pdSJ1bv0=9c1)XfUeXt^}D!nYybEMcDM}l8IdicT!Jk{^WLf zVV#OoRMvLltQ!(xy`4sUm+2#`8NiKj`YX~@840~B9Y5ICS6 zgRk9zg*HZZJ=zkq5jkpOqO9p*6>K$5nfXAc>*urQZIim0GH0e{L%&}Cpo>i#M$L&F z;>K&{mHj6+O~PryMv*Fld_{k@ZO34ELM{VqVeS4g<@!F#p;ii=PgT9u{Tr+&)8E+TiU{RX#266u;YVH7B^*< zoA>)52I-%bID4--Xu9T!0d9~A+|qhCe%LsbkR*qu?bfLl#`+5x`WXwd3!=2-r+-tP z$Ycp09Rtp9uqdVpB5SK4g zkTwb7hc%awaFeP zP#&(flh2Pq(3tr#v4b=4)6)Hnp10)(0oPM2%AkAu0OB93keFMYE0Fz_g?47{i^;0I zG}KF^7{P$8`}@@99XmbN9S}k1t?40Sv#rU#SRB{~yPKJS=v?_?F_hi~CAOWK2wu~= z3jkni{i1usceT-;`3J}Q>951|tC{8HqiS83ndod*xvudVEPGde;vF~+_dD^Y`NrE?=}cI$0CZfYVbd$!L?C7a31cCi*{ zUgk-(m-DQm+%?pYnYf=JuV$DJDSCUVaRmoSsuDviOK9%l{u?4iI)xa)YnzL-H zuYfN>m-zLwNUB)hnaopw0i2D6s;qMU*9if;w_c;Vo4knn;K}B6o3oY12X3Cb z4YXU`(%FMPv_;>)+!L9RU*!eU%+j;MLf+o24O>aV(`2AIXF4xA&>qK&M?AGyWJ<0w zEv-*6Wx`hW7ISGIBCpsSR+~O~eG`%Q-L;%MNP^ux{{k#)1k3d5cuedD<#h8NcjG>x z-RULUqxTvi^j~Rxg}_l|S+4p5Hx!}k`qo~10>5hoGHuMSk1W1N9W0$yBz>RgJ4*eO zo|b5_I6g?*eJ;Lzl~#nyVP3>Z!(cGn@PQ579G0UWGio`WPIgT&(D>+tx(GP@b3Bii zoxRftb1aJqV>J!~Xx+;(eK(oVkFW7K3`e*DlWrIE&4&DF&_-vhYiNTU5^Z=ik<}!_ z(W4hP=ZRQ8$rfvmevoG#8LhgX>^`0QpVj)~H5)sBFVe?9%*OSA(Q)iq{hjL(NabSM zg(tkuCxRkOFNLw>=U%*agr26mN-;qJXSiGevKdig=@Lwu^c2ql0m8A9%&XT&OV6Zs zF;o9P(b$O_=~ryekIXKu%a>pb%|O0*5`^-|J|9+Rzk$;Sy{#WM zWj`dh%Y#{Rmn0pqMCwWKCw>a^?|ovK>!a0uApryk7K>oYbeIRwGXzO#n=EG_twB4h zorc_d2(j|U`3k0d4Ex{fSNIja=53oCp@j&>*C9qe?Gk03O0!Pj@VywcoW@K%p1=#5 zbhqGpk4vth(+(i&W_zkVsoXyO$mcaR+=*}ItI@<_7|{cE@YzFWe5Zo&QmJr^$eto; z0%l$|;`CTEgOnjHAHs6&q`;Ommf;-xDBrgCY;Q`9Hg2XMkczK^(6Ih|{7^v6$+x+` z#ha8g!otEu0Zv)(UZ-dAxSls#d~H77p_`P6CFKg#LOVCacj5T~IoRILUS3c5uos&b znOiojf=_sT9rmkGk!LlEcwEN?nd$WgqsOUkLCMWhr;DI?K6}A7l`2t?DG7`TabA>c=zrdN&~^26kV`4ei26^%w|i5Pj;wch znBDziE%q6|a)xbkus{RJpxwQX5}g_k9akEdyBVF{m2?A)hlyzri{wHdww)f;#8JNE zl|{ewnj?HLlQ=xzKrIm^IOf)nRBKrU+4f0&$QxjSIC)dx<&&@(F zrwwxUSJtW({rOHGa- z8I~ky;ePrq+Dbp@9nnja;4kq3_uJ!P_|t!{-JLB){@0`QLQgyI0cg;xgNKp0&SD&8 zq3#RHotqx_OBM}c|G}1i`7*aUbeA;gxp7wO!?}5ITi2@xh)mWiXixbVah$1R?bs{yP(GeuQ zCqcJ+W}fb2z^$`}%kflr09#&(1J9^<4AB%YjV=Hyx!m`(2Sk*>X>1dW#{cYndf{76 zc+r}NJJs{EJ zeDb)%1On)m-`EbIUULr1^XlVP6UFar`>SCr6n^;%=g0gAqJ22Eaho$U+XkN7D<>HJ zo<8~U&5|5+@vaokKxKKPZNW->Q!p>*5WIWS5qH9sCq-qMtE! zz(O4=5BiQBXd&oy21nszLijI&u+KTjUeKL3`%B*?B1}Iu4~(uRFURPts18YU>7wYV zmN{|hMYP?(2R+t|9k?_lt1)6uBBWY~MHPrFjH4xt%H3XU#EnFv1ag|Y@R!M)dZ0@f z^t3*>0Zw8U4qSc7hAviHDI>Y|m>nqMQ8mPY!=`P`!HCIWnJT<5-%iQAiC3RFmxPb= zobO3-u;vR@M)hDS=RtrwViGDubSKf_z8Ugq+ba)@?r3{I-BSuTsQoMXo9^io@>41X zJHFyKK+*64g^Iyv!jW`1y%$Vl1xJETb%bh{&EWW2vQ!LNv3xGXEj5%!bav^Vto#UR z1Fjkt-)!5=*1l?0&uaGh?LoaQnYgU1YFMRIQnGH8Uov zyhn5lHP7jf$a^Pq2m9~vo=>7k$R(F?%NJ#dU@#Iv;h*NfC>^xfhQPCs_DdThq!$Ju z?kT?y1wk1*Hz{}m>OhnMM-l)K{V0gCsoS%YAYf>k)$Rg11lz=_!h!kgc(t6|5%Vpt z8VBCaYmbOahAXBY0B49#$l$sSF-l1VG1U zBQcM~`@+Xn=qKNbm%sqhfFadanEs>ioG;w%={xVG#|40S8S4G0EPSWIh|JJhq%z#^ zoYn6On06%(Ka!ZrG2qKpLFn&cRz45fUHUFl;ADUt>%u41AO`|c-_F9euk3dRVMBtvKI7c=#R+@&!FG6gQe|A!2nG3YjmBS33Lqx}9_>{C7xiTDXZ)*-jXg7OqNKBPOEv zds7wfww*&17rf2hV$tuy5?xIHncN=QoeA>-s*2cK{LL#(PRJ!$`kJ$>wD-BG=Qi3kwRfDZGwOTrw?Ckv_G<* z*lZf(!-szOVFoUCS}}C;H7re4>K4g-Cq?T{1X0B~7Dbm*vpA^1Yoa!9=oWdH_%?Ef z&fiwlt5g%C?7BJ#uVg37Hmsr-1vSh|5E0Ih#_LdJW<*O#!oO%}Y_ z0BrFr<8I5Jvgmh|O#yqNym-=7Egrb_8S8?~jBJTn#AEHwbLni*HFyW1WOAT%8 zSe7G9Ga$+S{k9A!0QNI|cz_FSf^|03S1tnfJtp ztCM}ow@#~}T^^j=1r}o8P}6rhKShi3pc}vZjW)v>?ulXEf7yAL&FF665iaQ z;j4$v$&4F|M{`#9HpTq8e zx=O3(e_v&q7r#PHG6@z2k6#rXi!`nT(LOf z&>i^ZcrcZTd`50dI7y$Z#RZ_)d;E7W^zi=m#Oa*};%k}KR8?d8SzU(*06L0wJjz`9 zp>`D(&};Em+P6Wou`KSyyD((rwOa#vEo=T+<3ALD)4-u8=M&p*8hlVj#x;R~IujtU zorWiacs&5@clJYR>K?6vIcPwmQ#g#z%njOdnE&Pm((cYD2T#8Rit z%gaAnSz-|@8<;CIKxcRL3H*dSs8;t^mN}kJ`YgIbCW80YpB;ty6XXMq=6kQ~Wv~{k zJXHY&^c3B&_1=cf^SDJuNyLw!845BO-1q=hxrFP8Erua!H880?Gk4{EXX_La=WKxLPLYhbbv~o3;qH1a{gF-`lvaE}W1hjU<7471t z6jL7EyH6H-^5q}u0-E~rsrF||BL9DsM4`k0kwTi=a3?CKh$(ih<2C||N+@lH4w-9qxXhsyXZ^?z01aIn528CsG-whwjDn(;;U(%8Ow!-f2Zml-- zXfibmQn?)hob#+Lw?*UD#Nhakh4`?|;g_-CDpzY?T zb<;D{-M0S%wt==i5&r(%xn6t1`=n@JUQ?ku2<9WKGvL*$%Uaj1yzJq6d4`(!+bZ3j z`R79EyKC4qd3gT&E7RkiZI^F+F}b_||AMLXPU{PZcbmu8CJuk1UT06Wtst<976So? zoWC{MUo`3;5W>TUY$7^!G+&O?5Eb9PVP{Y~74gEE zUUi&g-VG*YpJ3}b1ccaKPsGKuOhpR{pS$V9pIr9Pk*CR{+wz#l!Yh?arM4Q%!Z`cY z&ZML9T;!zI0C}hm9SH_ZoQe7)$YT^oAJcr51UZn3J`OhH zN1?_3%e`ctjGx{^|3doXI%36s0=Mo`=5v3f4V|Mz&=!A-LI{P~eNTqVIWaLc?aPp- z+u#u5e;S5)&cS!Jj+0Ig7Uq^6DU3$daO_wEis&+;KnY?*4^_d&W~7cx#?5kxRxakqk>7-^Gu|n4%0=cL8W$uX zS`;zDehkR z^feS1rU+Y{Ds#$=JHhvHIwxeY8_h{DYV*Q1n;RJDDMSGx9vsvWa!)_Hp>%)@7_mjh z;|9Cz{o<#?jf{8+53fPq+ChIjJEQ9FA6x3<^UJFr?U-~d!#0l3i+DnSizjQ^-Pv;5 zzJO2KAu05>wS4m)PQqvB3&)Cwe1b7S5xD2updz``*EvGFc;R}w z({nRt{=T~2>@Yc*lA{DSGEP>)v+Cdm*N_f$eV;BsQo|NU5Sr>OA(szgT_~0jx7zqHOJhhDAwYt^lthMvUsz3B`kwMe*RJ&zP~rTbhXZQUD)u zc)v09iSN zC@FhshNPbbsL{mqSeqosY6q9x{~!l zPLr)A$LP45)z#Gk?0kIJgjweE+`^vO>-s)QnnK@{`3@iSr)Vjtlc#rR)1*v_5U!Za za6-`D$D}Y!O=O^lVjb=b6M)N=>uXz6iy5Eb-uR(bnNX@^yZ|8MLLMG&sOQzMmfo<( z;>(V(!t%ei*SvPtW+w~wdq!<;M?4ceT|Te$H>jx+qC~}^xOfdz;}1-n z*WDr=*4yhR&6EgVAfV>PAUC^Eon@VNCJJ<42+1v)w$nC$;!MF)khxi-bU5nbX=5T>GmW=2-$0)X+~LRvsK4Q}g~IgQ0DA^EU8*t4Dz z7FCoP>eBhn{8SVPWYiC%-3FJofdLyjdVaNEA2*a4T?`hB^_@n+ALj(G)MSrPSgE(u zOT1!}uXzC*fpb`w!D2TgH43uT{!y~MqUAk@ac)0Hn9ABvSDk-|Cmda_>-lsMRq~Aa z2Y7=h&U2}YutP!hzLtQ&HRn@3q2PDNMymU8#?XuwqD~%3<-xS9AdaB=2-h+*i)q(l zbLefmN|urWBZB((vOC0t$_&xFfPXVD)dYW(_j2Y{wx0!1u1P57UFXua=jlj3)7wbk9?9}S-2$u3Qu(fE*q(&F_6xT4D6EFH_s4dl!xS0!^5}%t{{zJV zjHw$40&xg;Dd1^esU-ya;B?D1AXbw1kSgRt);|KVyQf}j^QIVtC&d_5sTiY*YktHj z$YV2x(iGp)^yd9nciN6c{Sdo2YxQ4%lD43RR7%bP4vcJ!3sw^N!HXgnx>bSQcb6{G zz02nT*McbH?*64k3zk>p>gw)&(Db+K6E12;7<|p8P>dQX2u=<}gh)o{B#dp4H15X# zF_7>!lTx6x_#ZN9dxRnX{Fh!E(IbQon9phs6VGo3I0-M#gDvJN3Bb_=C(t$u4vd)A zSOpYn*xY|qQPN$;3a6(x>}90KnM-P}_4Qr$(lqg{QyKPwtLW2lR#l(_QV*!bi}Quz zN|Q~^m7TQBbKH%>><0E>)kH#{C-`%WGCHnc*#MJh=_|-#*f}Ti#Y;jTLs?QTcHwG< zBKyG3!ZmUrUh`w^oXr(auc5B4p)WjQY+A>pU&*NCQJudpnCdr9AUGRv-1Gq`7 zgp&DGtb`zGn`?$D+T=WE03&`f`nR z*BQR$E%H-X$J_rod$LM#(>ZNOk^LGEv1K;?NJ+_v=^+^ypN#fJjNj%1Q0Q%0mq;0# z?m<&*27fz}!&_*xekafv(5yl~dpQKwm%+Qk38a&Gz)$?9tumlY6+a zkw-jq9k&nxLX1rUHqhh5F+1sFN*~p8ff-SX=xX}QDb(1Xf+Lk`|Kz_M9o;pLq9mZF zX2J+AqF^-^E7`Bk{w$?;Y&Bab4}9}*2)k26umn%^k_+ysht>I6#^euy;$zAMG-W;N z2xWS{-E@riZpnaUp*(gu5dQcsZd*y=#SO<2b>yD*N#4tn$@>gBC9sDX_5tNzZ0XBR zw(fY5;(wS~jYVUG0gq(|llf!HM_m*IDE_5ZED!IyX)3&x)c5R* z(#z;<(A1H`4Iz@%E(H;gQE5{R@6pjF%Nxwql+}dS?v1-v+}I$AY7OivV9e=nIR|Ob z5B>5&YdY(5HsGs49&$F(#pGOuQ%ff+jFz9Dt^sVVdhS&nhuTW$k7gHjyxomk6kS&_7-4rP^Xs@}>aT=BH3hjIO$RPh2U0D&3P}g#y zF1BbNcNc1*h&XU=$?AuV+k;+rm>y%CGo!KfaYk5Uqg(O(T{#j5swnp$e1npb9yOhD zYu0j3;25G1Yp>LmavIu_e%=-;l6X-`c^YimEgjvaFLc*b*pye4p|xN;2~Cnsg$(_; z_t8&&XYpqk+EwmIuiz5{ym;&n75kv-Jdh%@uT8vBAVEbMq|X1_ObdAyiqf1mTbs} z5m(G;HJZ>s6QXJKU131oGv4#X3Xe3Pr*vBaC?TJQCcBL@DLky^w`A(@H8`*vH8u&k zC~yez>Z^E0l5KDrkWm*r?xLqQi11D5=u3&(txWbzjsYQL|aylUTDl8AHS7D z)z(*3Q#W^`O=!W+b0!g9BBu=kQG*EK3R(^Vv(AE4^XRJzx9}?2zfpg$shFLfpSvz~ zQwNLm5YdW*V5$gFewY#1aEPlx$#Blyz*T33Bz)B>J;h;+kAE3GR6<$qP2Tw#S>6{g zCI6#0sUShcl%Yq)V?kL>a9W#x^1@#0SbF9Y@hiqKTh!Tz?_XQ3&^ zI~kd0>M7=)JG)12<6bY_ap;P}IP{qUoWk!JD-`57sc3f9>`v3=iYK7D{S7Pi4A1^S zNHGqv=A_qMACCnVeh{}}>We`c@Alv&$O?y4$IWn~W`A{RK_1($D}CXM>)##dUZs%f z-G_A<%ouaW7;kqP{PYocJ1D8U)f3F;jtvS*c^=y#+VbAufW#j3!A9j8{72N}K@JuH zjLk-2gfx1NlR1M+TR26tE&V_RAT_@zpPjZb4P(7i><{C>LSs1qoMirGc~3OfS%2`$ zJ>Z@8wNSeU53oq2HvmQhY=vSEda2@>D3qc0M_+>p{%V?XXAj)?U=dW(sjB&sg4(fr z)GL9rUXO@|O4G|IxynZQ$s-?*?r(wZ@7-+QeFZpRPp3gLqlXA4#EVVW@M{D!K%~q9V472%(+OF&0hjG+%FjYlL65(j0BVf0V` z&Jcj4BO2>{CB2q>(GGEU7q>2H`lF)R@64jAj+38-w)cq;Cg!5`HM;L$v4`lRgc+kr zSriVYjRJto#ulD`nZDO1&>gOi{SFpj;#_3B%&42xpHy`+@RYfn25&7AgXoASThtbB zWs4!aknBOOxwBo3XRfdss^q?UR3VB>#vE)XGOUi@@M0iQl%R5U5aU-)#}E!JiLXyA zTYsNDTt&w#(FQaIQ{`ZZ)L>xHu0UM_Su|WFfy>&hJFBkW@ z5oKG!Wzj6{MOS*7Ta#X3niqYZLK)ShDlGxoow`%~9q{6Jlc!1>(t-sLg zlGZKOM{IPYG6WE<`7)>Iddt`EF+3V>$*tv)t()J{$JN!#$gJ~rH6DW$AUTxl=S zerQ*glu@5J*jNo9nQuo7aHIXw3lVyvAxvi4RuKo04F&BI{76bceA7|UjMbTrIQYen z{-qcP_3>vi6@t05g++0It1Guh#pge*qSONkJ|m)S%@ow_fEwJtL;Mv?LW+uNd!JAZ zZK$K=9?>Iz@eK|0_4ZH!DK+Xl3y}TQq1VXis z#8M{gO7Q#m9OzhaW=_U?zkPcVtA2~#!&E_Yt$Xyez{Xs5Dg@!1gb};{s6x>ge`E{f z{}#t3;(1RXQpb*q+7XwsfJ`ca~ry(#{5Id2QHA1Ewb&wmoug-Dm!pnclqGZO2JkXw}pO=I20y5)Yg*1&a zVeA&Bk4b1)r?21Sjq+)7jZgnVRzd|INy%cG2R{zdsU-CDmtMZ5iuv7<)YdVVLHV+c zbtj**IA5jC>8bU{-oQi06lz$UMorEr7x zKatOA6nxY%t-ipttWNYFq_)OB6#A?^#X@At{ot@sFj4X2YGwP=f`P&K^wQTma;bOxiC}%4xz>#XGA!(z?plzawvG=zu(+ict>hG{|~xA zMZbpYYw*}p+pu-ZHsbU9Kq!f#x;or`(@lx4t}b%2(7A>(Um2yel7PT=EFw5ZG!{c+ zT`lHS1<+FAJM4V)!Md6F^R^*u+P0hcO&yeyXmubEzUhuTPQ{nAXUBtffz%R0VB0p~ zo{Ly4hNk*@G?qtD7Yld-Z%pv3q@(7+~OVLFUqcplUO{-c0>Y(eX<36vxB;$Lfah6|f)}?RDTTreD5{BE zZW8;tH$u&G1RHFWpPz)2GV#i{=}GxcK|$`9CXi8Z$+@%9P!mJGP+To?UToTo5onqM zpP^!6DvyW%vKj6$fjOsunl%|%DdQOaG5TaE`hQ5lIKgG};;0Vk$h)FANS59lMgc=* z@TnBTX&W0~9)>+i5L}+e%+u*#m4}mKNPSNMu~jT>tU^5CgY9~7Jbq+=Cj^?ppsNZd zvw1wdw-<$Rg6gw#m~n0vxs&i4J~9GdO&*EA7$CbNkQ$K95d?e!jkO%h7YbZ{p@;Hn z0huFMd7h20_&C1seFK>S0rMC_^D?NvD2c*|iSZKu_%mQgDH%%JfemF5FhURum}shq z0RU{z0|7z*L=ptR`E#1EwRaF{%LY06!0)&#F)?Z0a_4_y?FX(w_s{{j%s{NxgQ66- z{0St|4#8BKBJB6@-n;7|fHV>uxDr( zwymPFECNMgAf*9dqF`fuGL5om2%q}gmq5)Z9(w3O9RRj&-RhFl@U85G*|7FMPnwigW(tcr~|;wKlp)r^ACP-O8#))!N3h4 z`Y>+z_?;LW8UpnM;-&^ReZT|2;~e>d11J>lz34{79((}5{^^fG0I+f6M(31p5R43s z250v#@|`^{khKL21^CqUb*TE`_wm4w?hgP28@sxk)9Eul zI%eK=_dR&`4L71|e=i83@EIEDQJ--+N5OVrXezGxXcfNmt#9I?Uq1Aj`b)|+N+~>7 zVE$RnXgzBYYG za5j%Hoe-jVu8aCvvoLe%3e1?h7%j6~;4@U%PH|*$Tn@{2aP9J|QS;~@@%V2Z1SvUa zosLgjRi~6_uIr*<#!Sp!bQb0;S%KLtP4KA{4lkbIIb6VU1a7=sLDOT8;`hJ$1*RQS zPRDm$K?xzmbzL+xHeue<_~c*lz>j_i0FwIY z^u+L_yAT2%#uyevP)4YB;aO- z5DeDA@2db|eaIf9;ED=T3d=m6uO2X<1SOCch{pmbiv@9LBn3t(!a?Kk-GmUNvoFu#Oj3sl53L`@aF6BaauBJNi(eS}R3 zFq!i(;tAA*HBHm@eHKKv}0mtSj_XQEuH4IElK~oqae%~*lun3iI48{-kos*0m~cpPKNG&F^wDiQ)C z1j$?hePfgGxWKIHa?GhM#|!)WPkIRU)cW-xYuDnI^1Gyp9J!41n*RNlX zwQJX+{R>~ozxUnOp?_oykH7dT9M?l_WgJW9HiB~jAtYYhwjb$i9??($Z#s7w?)b!= zc=OfoD6F|)qi7q>uwz%(>eS40lqJ3N*|!E!(e zaLJkr(RTBPan>c5XO^FJ7B<|mVMaa+=Z5>&4IayX5^LA4#rki2E4^;rJJ8pE5RX5% z1z;KiIz??nEBZV@;!wgy!4pu3z%`dgam&X(g*ROFj_k^1OYp0Y|8}O8_i{IWZ{5hr z_+R_xxAO12?j3k>`)>U9Z_h!~H24h-72zNxirY)WlPNeJ2crZxt$QmzbI(1v{ypz4 zoORY&r_=`kn67izwNX`Fj}Lt6KhZxjfOL8oTelxXbG-wCq91+lfR1dAAQYl_^L5wa zrKdI_Ju=8IM+>g`@E2x~LMs2kAAfN4cs?bBJFbhyni|~mU!TMN(Mco{Q+VdpU6|ie zkCGoWx_SnX%H$A@hVh>F-GIM8@dQSOhj|NHaOY|GuBq8V*p6ld)#eL7iP3Bp2`h=I z{_XJlDnUwdHo4pgJkJJWI%X|chjicHFrFR;5Ws^U`QJM3WaJI^-!OPQUomx?bME*f zQT1IP`xFi(Qb?pS*!1$ND366O?MOVC$iT8)P)4!(s%x?B*(b5Ty9a?_5dVAack0Gc z8F|akPvlEgwLOnJW%0Or(`}zX&&VW3lPQdB+KS4M3Pu?ykr>OkD7XTQ0+(NPEjB;X ziQRklAQ%L`bK{@u#!_P^m)(?mwRHxg3&tC?psT{?0%=K(Kg@gPprg z{OPX|sH(t~7bh^YshCByr^m!2e~Z9%Dc*8P5({Q{cyxmEG#@ZX_p3U0jiA}pEP2mp9_*8%+W;lIOnJiMpvA}pLU3x9s* zIfUjgBztuvkK=QXLsAYWM{w|uew=qTM|f^E(&>?g5*+-a50!okwR1w4m?~h`zEOYxvzy|m zhz9@w$#fpOddA^-0`5$pIvxcA{Rl6zkRH%5wZ#Ny$rJP`Bp612r$hH;P(RDSfk_)% z`?FvKSl-}Abyx)e97?&^(w_sD!1BfbY61qfMCL2=zM{x9`&SrqIk$oGGM0)EdpGz z%E4PN7I<#6f$jqeB7O%=4K}C(3=HVlxnG0lQe1SQhpR8P@n5@4C_aISLkiL_>kvwj zf5Mna2;l%=YAParvvfc%P!S3g56C@^h~I?97#xoy7W9Kaf)WY|a^fs^&6?sLi&f3z z6h5_pcp1fT-as%!pb!pl7p5Y>nSu#NM{_-g;2chF3bonq=kLGeuWNntXKq#JHh2Ey zhM&{}MNhUOzQ|wq#ub{&1^l{#`l=|B$qdRPekc@x@N`AD~l<9;}P~oC7;sa$WB0jC?p~XF@l)z_bU`$1A z)Cb8ulFOvgv-MAfpWXb}O4eGp#h6?B`~x5ORVx6rw-?i~P3vDCjc7tjFey+GEygg1 z{U!*CvBfH-@EJNZRYgrK49Pi?i6nma#|QJjxc#xU=Dbtuqfy;*9S5~35JJI9Ph9u$uU#Hl-2AeC(VUa=RaLcI$3az9 z6+%HjLOMZD?;rw(218>IoWoEkG=*Y#B!Q-?7*vHJ7ziR;NKdSPEj}~26dqU27))Oj z*`$N6Jy}o^g~I6J=PP9dd-uEWyZ|TxR6PVP3dvgIU8}SO^_%sDvo`(WrVR@LK(-%A zho@-~?s+Z`$KnWv!eGL|M5X|$YETslk8>~rXoij{%R@Ni10{ez7=~r%l5ailBdhqr z#?9dsC+9~(jJvMOW3e)XBN3=>29_&fXc{zDTum`T5HK~kQbBn@10w>#Py_`ln|%Kz zpI^lnR-BTrs;cm~BchQgVzC&gYr%FLn7Rg)QFxvUA|-;R0RbQu^npr&fIk4+E#$6T zb^UyGVcoOgRf}Hw*@ri*Ji7e@fah=o=ValVn}yF`KrCn>9_ESt@;4=-BMSK`er!i&QsI01h>W@J6MNnQ*0fzv6lT(O=&EnCXNl~%Hg1y@W2mpGMmXRHAwWeq z07F%wXdID+8Td}cpOZy!e&+D^sxIS*m*>%WfZ{-2!HgCIpp}rM5{=CU`Ya8vP7+jC z=AbDOQ~*Yug+OZto;dP+53hiy&uu9oIU!Ms^^!>E3*bUP$f7&_bX0#TZ(%B%gA}5) zbs#~c$N@)=1&bFE00r-S|2YWwg{+uOqZ~t?SX!^!>c8--5Qw2wC+H?G*K>$E#{Hb#sT^CNEjt~N5auyU-fv)>u>J*;z z07{U~7oe#O9#mP29-$6Cca9Z*`*wEjtgJ|6Pvoy(F92Zl$)BAQiv|VCn~29HEZc^F zfJD8J3Xf&%cgQC@W;RRJqZBM{N&zq z4Ms$4(JBa8OqL)(5Q>!}8jfNrHHG1+JaPpGLP}_X2nM&kAU6H{n`h5i^XFITIf1O= z!FBhJ29D-$Tvz08{L&{@1r1$9S{4w`^N_P7WY~|g>RQC& z%xG#vRe20O{eu`yA4Ilbp(5-@I2MX7u&ya&I`X@zrAlhvMiN9+4F^~30HF@ z_dLm5X-ZELlFABLE`#c8g&M2@clM)Tr!kfG;Bp2>nD9Igl5rhrviOKO1B>IPt&f9Q9CWvCd^E?P4 z3c>PnQ#}oT#tiOkf0fu$0-CN%Nh!$`Y^bV=>Y8fIsI9`Gk#ThO_92}sz^|!Lbpu>T z2+s56(Yl~|?re*AF0}qcvHiE^L z&Wj&aSr)z+1(Fj`=nz6t2On6L!1sR^K;MLdV0{7Eo+BN!WFGea!jBxcu=;#IKC=2k z=pjFJjX^3J{Lyk4;c_@`@iT_X;Ez=RV<~6~Lon{g9q+gjU)%5;4({(oq~1D~uXyO$ zV8SI74Re5nwXLva5Q0z;%?E$H5_+@&k}yaBDg}J;S}0>#NTR@DCYtoQ_`^>ndJ*ssRuJ=@w9y3nAZMtO%(4 zDCQY4?D)2YBpev0;1f;2-)KXf(x7R@t#*GTf`%DQXr4PCidNi4_gotTmVkTUAV4S# zp8|8p#H(M^Kz!n){JjtQAl2fr1-B_&PQW=}$#Qr`1w2y#nC^PB@N|YeAB87IV7mmw zPcZnji77ZR8VZN`CpiNa8K9WDjthYc<~A3%$fU$XCJP}1qQL;pp49+ea&EF5x9ECE zNalDRHi7^W+>tL=4t{LagzsK&Y0E+^Y$ot&fSPy(H1Pm<&0BHt;%1ybpF^ef@FgCE z|Iqj7C}%HIEzR=2peNIo=buOl09e0%eaYjo_#zYOy&RW&S9y8ETi()yCC!cSX$*8~ z03;EwkrT0alxEt(B`UJF!8AxE|&)BQXJWiLz9V|i2akj|gL-!)eB zvIbRN>UsKi>(qcLmbT8qf|i*u6b5Hv5W_G34P~BvMzT)lw;hnvB0hSBEPzbVvJ?MSmkEmUIE-qL! z8@4B)Qi{>7f5Y}iAEZRnUXrdQ3r2v0s}2+PF|n3iT}6KZ+jd_5`8U71>OHr9!nJOcke=r%bs{G6nP8LY^%SA0sWZsN=7zzVY!?5=5N2qoV7BtpkW^ENz z#=yt-OE*7B2vse3G@sX~1l4Tmk^%tin%8#N-{N30X|?#6RY*_48tRsFni|N=x?1Q8 zg*!2bp_d*+px8N; z2|=Ytk8A&6fSvO&=bjW|tu`>`pk)wPQ0)S&0YCgW0eoRVuLTvsQiN^>cf4yD$R_|> z$61wq&?+31-;%@HsD{Zs1_nQa!#Vb+`O($_XkrSp;%iaWPzF$fUw!+NfEEB06Z-U& zLj~@+{oR0_1$Z7SXP05bH-PASU&cj2g2WyZho<=iaB>{8KAlFzLJQvH2;}Z&)Imj1 zA^5}xu7(zfLG=Y8QQX2MgyZ_FE{1dQQh50UG8VyvWufkt-KZ=BGJ_^YK2e${Do6O0 z3oSSk4nmK|&}=9OF@_IcwHE$(6?~y6s8SjrJsa=1B!J9WGm)PhhLX-8YdUE9@Ln`k zFr){KBm9#7EAL66Y?cLU#6|f-^=PC)M0E`}uWd%SvL1n0IfP;sGg)~Byu%+sa%Kdn zp692r04O*%^}JGF zD~kcfycEZ&Py*L0#z}I{k;@mRKb-`Q^MYOnA=@S0IE1?@h6ZPrg>Jq~$U07l#t0?= zYY^@fpela`SR*8YkRl_fH=y*6@UOIfi9i0p=eE5s@zhMPe3tr~g2#F4tP@hU)838Q zy9Di@Sy^XZ=H(eDgfPYhAT3yS3WnrBL4hX-Ah=LyK^gBK`bx#6Uw!;1pS$dRi6;k7 z&Trc&WP3aP!SHi;1qKIZ&hY>JGEjpngfUmx5QPj1=`5%>4yb;pM1kP05KdYd7@7FW z756>=_)k7J@V==|?WFvU&Q9Lm-cIeVjo%s?4bJy2fx{X=K+m>CV}Na8JeqtW;ZT zJ%D18mG*Yf2OliIYoLE%=5N0F<;%ilWn5t@D`e9c9UH?~GL6CAI}j}^hh~_t@;Na% zHmYO_)>rbJKif522D zxD0_RDL4nl;5f5E2~R1m!6u$Mq_9Hnq_W;P$!r5NqL30$Tmis^rw%E~DfkaO@PNJQGt1JRTd2wG`745v8Ym#}qzmHY z;7+BWiUg$UgGy8Y5}CvRJSPtcnjze8C!ZZu!MPVR#RPpo6i>8&sYzPU<6b(Acc$Z;bB;o1xk@oNyttu=}W#Q$L$Q2x954;RtBo4(40-lYL;UQQB8-yZb8a{jK)O^y>0nyk%GLGZo zw?F)jY-((TqUo^mIi#i%7#N#C->z+_s;q?W55RLA3=Iv*R4PR%W7&{DoKHP>Nab9x zh$zJpO^4)hKpGq`+{M842(qn21-2yNFfg!MO8<=fDDjb+DlV@-|e;0!=V#v&#i|*y4`0%?3RF8ou02B@=ED0CVECB+r6q#hiFpXwg?Wom z71uCXUxl)&8u(+C@Q2G_2BPq&4uC)vHVWK_ob)57L@}Wb;fd@pM(&>tvuisP=S2OB z{0Qs?i(t%PKwTA5O-&doD@P<=hEOyL$%+#c$~~m1i6rwO>5HOIi(sd(3|oH8q3=97 z|HZo*Y$XQYilwMNzYLH1EMzhf2+{z`s{pMW9`^wtP*@&tA`nlHi?O=9qT9mCt3 zkpJ;3(7hx46Ia08n{Bc5}i^ znwwO5n{T&21rX>{1$CyIl$%N@of8_QL>!FH$su7YDLjK@4FOZR` zJR0lDuzSM`xL|Q3-n?c32V*olKG9oo>1RI$0KO?(tvVgQ9pvU8{5AE+7q0(sDxKM9 z_=FUK%a>n0Nb&^_(P#i;+jpbBHj3G;Ra{{z9Zh64XBo<(^4FvaX7VX&^D|AvQIMSqeb#MalsVo}f zAx;&A+Cua`yQlY4gb?WIf?CykN`3HHcOv(Oh4JKQDp0oXpeE-o7$DLW`1_V73?*iu zvb=!7O}ok-+ng+j?gW0|tu`+DW#vlbKK zdHDGsUPAYw1ezMkv9IR^oWHmcZ(O|qgeutEeL&_d7hq&8mgYn|1-}%bCZ(haz(z7T zCUqkM#yGaTau6e98B|n+F}h^{byX28UEBc98K#n>5=1~qI_Y;qPSwFAqyi8bc(I!tBN}D2js7sl0SO0Rc?L^_UYs zkOZ_7`8XU~D-yOKm~yF%W|OdU0tco9#tH=G!2lA29^#1v7FK7WCFH0ZW1{To+7E+r5rO^&fm+i<&%?iv&gbv)I4$yzKChAh zAY6v6O9fE9rL#sQ6&7~w@uMP`#GJ+{4yhA34k@JacT9htO2*@U1(gjx zvv5qg^J#vEkWaQN4Of1nJD(W-It?-ffOqMtSyCk&&ur>KQ)Lk6ENb8ol0f8$l^wrh zIxw3`a(aG8hj_BRUAgkEUvwuX$G`5^nL;S_W;9hu2oJqIg9rvR)Yinf1S6hZAem(1 zj_D+ruf^}^fM{=Dt#thIv2-Gtx`z?MKs8ZQ5fK`r=o^>-qd;9{R1l^KN(f7*Gk149 z@JO;~Ab8YNWK}~zlL~PFpzWwFzK#xv_SLJEJ2!TYO>47K|i(AGJ zR5RG$t)nWOz?`Nj5QSl)Pv94SD}$m4*p54>LGj{#b}Ib|is37xwkz?)A3Y)SQ=^~? z!^JCF5Dlo<@@hAlt3xkT*r2qkKA`hb+}QdO ze_dPg9Tr>+QA)7AYe0@qromJl)fG|r3>AaJQ_vViU1bc4sw0ui;?-S!k`Mw{c!vV? z)cm$mA0dPs0wi7;%*c!*pz8)2Vg`a5Ffdtw$t0S~P3VS!sjQ1l2c{$dxSo5+ulY{N zUp<`xO=6HzivFproJ?h)s0ym0LHJb#{o|96f}=hjg{o=D+Q3`=W;~mEkRy0G|#q_QYDsS`JkwVM6;%#Sy$0w7-%s~%<}m#v-C5| z=R=EWqQx*UQ`gX}DX1mnRQ#eoq^M7W0IH(4^^TU<&F8K?N6Rkf(pX!PyH) zqXep?#0*uQVf!IyRwb&WM56?P$MH|tf_5k!(;+8RN^6F5wq!%&q^UfNnrIL;(GY;5 zGgiT}aBwn(gUP&Pj1ta0m)LypXx1^;ddYXrU$2b?5}zTx|5F{Rrthq*$Yb5*lg0Qu zDkVUem!(LL;m-08u-`xV)1Mi*5tiT_xhaRJCi8S6IRLC*zg~89bR6NYSD{p;6v^0(I9 zuP(dkrtg05!*82WQ5Ly9=reHE{KmtHK8TdmbsRc8nfm&~_kRD~pH}?LxUu6#3jhjJ zt`vR>URt59$FbM?r=H^T*RR*g*R1*CmhXS6HmIvN2ULP(wK@*hsFk4H6Bx7Y|GMju zSAPD}_MaLzcHC&W!c}q!o9I4q%2>{)o_dO}U%y^UBod!Fw5hW?67at>sHs@dTs!T+ zCpqUVpUWYg%ia0dj_%+8wEbtsjUA`gXU*!>44s{x>&b(DU7puH7Li~6rNph*^dVlA z!0+$2DiWeB1{Ve;o;!kJ@~{o{)E9v3qFk@YdO7+%ZZhBh&TzqeAo0D zJbDRKNMd1l^aXJ5EQBNFxM=l!2vPK&V0#?TY}tpi7dNA_EQTd>8j9_Q5(v-3$mk?CZRCQp79hs&QTT$V19k&VSPN;#pKi!_D^JBgF<5zp7463 zS_Hi#bQ*h!Jx^YWZ$O=ygNsde1N>Qu= z1Qfp&m&fs?geoOGpa7(|(R0fa&??pKot|@%aNn@)}4f`!faPxkQENW4tQ6if9o_t{(I2T#=mG66U2$8AdAZFV_*Nkn>xdhXgh!ylPqmfjM;RrWf$fn?SaOXQ}P?C zs&*!mDG*BV_~u?5_|!wV^Su}1yv0q$3_Vid(P#JIn-4vQp@}s7hQiX80Qc0rxqNm$ zKL!7(lKummzq+enMyRtRu*!Vv&AY}mlQ^VvIhWiuH_!AT*X$CEGa!GhWKsI7>CFa{|&hR0LbvF9Mt z=`1Lb#B+6|oqU%o9OfiFsaKwa-&y2;=JpTm%A_+OkYp&w@P7`+()tJ*A{tbcL2!Zo zq=PL7Coz@DgAqww%8;-`m+LspO?uKh3BR+%zw^#Jc4f0!c&iE*#ZCr@I`PA`7h!V;Ir~5{=c*R96bON0A%CFjl7|uZnMu9I8QSS zna}63^upCRfB6#Jd(Wrfc^+>5*e5Vi@bK_&euH2zC~V83*-ZN7;jP1YoFu6}A%wTJ zwQC>$A~H?o`Ux4Ij_}{Q)--$lXY)t zB2|&EZrgU_5GeZx_*btr4eeqGZ&|duDLlIE>1g4FUlBz&U~`a)x7^-T9g2PR)vNCw zB1}DF{7iY14&4fA9^GyDQ6T8=`}Ic2;fv{(7P*3LMWPD?ij;RnxlgGZ%fd z?{)3M09x#tNAN zj$OeYuaD=t%Vy1;7k>2NUq`?A@sARpVSwod`ObzvG?iCXesy$kXo#t2_IxWkJ0&56 zpFeBHmYIvr!rZ0HNOfHe;*Cqd#-2uc&xfEIK-Q&*yoC}VK=cVDqg&@+aDiB`Yz3`uoPoNTt;kJ`V%J08fTpQ%T#gH_{}?U_MljI5 zR}S`evmIMr;?M2qela~Tw89=2(iuAm9}w%-trL|||JG$^trW}7K8Myf%|O$vIhYzb zguj0MP8g~R%j3B8<6p&<(J~y^w_6_U+0VAT_&k59d+^1v;r>(dQQ`x5<+4jJb(b$+ zskY2&k+WvcCR2$?bo}QBp;7|Naq!8nej5!lW@7iQo!Gx`Kij(XC8Ym4_1 z6k#rw(*#^DDEA})P_%y*=;#p7ednExO$(Q7e53) za*;Agg`^<=xc;ITLrd}5qWtaXG(|d{VYcI-??5lU`|bNMH9Cl~kzst~6Q9ES-~T}n zN)QT%S-7!L7V`O3Gg?~j>Fw>lx390ynr1%v7y%a( zbqlb2-~#A6A&!V*eob{FrL2)g8lfBJ)ua9qe(z&{dUCVlG=*%hMoIC&6xHY8$9R7I z>G-K63||0~ZasG84?x#+VoQP6%9D33F2V!Y(>1>sp0#1a2G%g6P2u_ti>bdA6jQOub)2a-_CUoe+wh9Ogvljfqm+aG_{ za%Kc=R;{ME|9JlW_uo$!pS9v$WwF?&gF&AR27@%6O2P1jkem#ot8Watro)i}bLTGr z2*I+Yi->L*GBGh}{-(qa*{oVQ2_Ng%iO(Xs=|^iON&dM1Lx0$j&BP;~zgkK1SXSCg@eumD=Fcx4HAsm! zZrXZPygc?4F+!0TT3crk(-%NyDnZ`(8hk0G ze17xR%PQjWjzGYq;c!^ya#=!|hIBfOnHOIK+jT%BuyDyz)Ya8vW^)q)!5}hIDLlG& z=dU)V$9-|`uT`f!FUP&bco45_EX4tDxnHXD%Jhefy6_5-A<_||SVpnrG(!l1%{l%b z>fSrL&gx44f6h5?zg4>G#gZ+_y&K%Y5Ww^jf}KXDWD+KggoGrd4MwRG5|T+DmMc(ZrSSP_WQO|et+C6BZE!L%=)eGS75I~a zfH+FRfyr1Uh>8FZ)b*umCc{m;HySMf`>XlqZoW#NKD+DoSaaj4>X1~PkmcIi zZ<#Nt>j$b?<4xN)-Pn`a`}hZEeW*LXaosvLbxr3lrcP}?U6mkxDG61m?5@iEP)NwY zFBjde4E81Az#+68L{)Z05`?N$6YrH_&{ z;9MpBY}1$j;k2H?J;NXTPIq^H37~h)oN;?qP4%e?P`;3aNC0nxA9Aj&Vy(M%6U#CVk41Aps(*JcJJDa%Rcv2WL;o% zdO3_FNI!eBB{gO%~6H@nl>~gc(cq(yrH39Oays&4cY6^R@ z%K$uyM<1mC}rj)!gKar3+$lK>jL52tVNN7gMOY_er z9;0Xk#nK6WG9h*E&GFB_^wOC%iR9hQO^qlPi!z_jNht+M4-FD#n51yt6(mOp5=uc* zrbdPaRWue=!gJN3QcgP*HP_Tv$B@aUMRaDhnc1IP4PfK!+FAktZ5!DM}|~99#;nO)IK+-4J0CG)u!Ue<}-rMOjYIg zWKRe1!0YLwlp=$DM@hVk21OA1zRG!TO`lU&tXSF7*z_yMw&1!hyh0vO z3hCi~cxEH+oB2IV_|G&ygzJ_NkHYyX(ZA2W_~NX(34WoV zyh5HpNu)=IKn)A|^VT6x2@(nbVMvb*BN~f>_#O@vv$WT-*3>3q$mY@_`Ud<$p`eO| zJW*0&e0UJdwBTI%QRFE_LMafYVSHo=(O3k^bFsgerH9^t|I9PbwAZF;?w-=xq~&ut zRmkUwQVN;$FbvDV(obE3aSBAGf)$BkWN-jZ)B!KKsQ9&(UtCaPDm+OpcDw?MBMXR;4AoC5)0C7XluSALRK5VotMT|R4quv zV&`YGc_HA_Kmk;}!Y2R%At3xoe5K%r92#TC_<(|xgeWLFqrLTlf;zJYczW%MDtAG` zNu6KFyF!GV22jA;~PNapBCBG2340l{~>i&H@1B*rMRg^D7bAgi2{P*VbHNo_4CS z`>&fX{lE4fZOxiBY}2Mq+%T+L z#e4>)9YwKNgr+elr4*$kux)dtl(HMZC)cc5qct?t*oLl&d_J!LFiI&a6$-GU2{0+3 zdE<&x0*mU1MY|9PPTXRN5mVx&@lnZaQ;rM_5YsTF(gOmJF#zSmH2^2%7mLUEI`>pj z5Liq{EE+5GOMfH3Q08k=fO;k6Q$VN2EBv=$e`6};*tQ+!aycS|V2m+VDivW^Hf+-Z zDHc@`5(yAQTOGKBl47w)EK2dh*pQ^UCdUSb%5REFf>16;Cp$u8W20khn#^XiN-0Gd zW2{&#z;vQuj6&vfsz4NKh=$mdC~``XQmI5V056RVOJ*8!bYPG$rb!eypD)cyVk5 z%(2AZ!q>TnWBwC~A>bUo=Yg4Tj^A2eZ)q9}v)L?_Qc}j4DwRqw>Xd$I1OCWP%0G>(G9#fG6?8Qj1LYGDWpV15F&7#|5Ib>3w_zXodUtktf2`Z zB@Lv6BIOtwN-11F00Iw_qi9?|0Mqnx0R;jOC19Z8@ATJ!g{ql3ZL0p%e?mtN6iWJ^`eF z8~D&o<5&R*KtT}-!8sio%gXlpx_3PAS6_C~2qKU4yZt+Pz-Jagg(W4GujaoQeUt*13QS6pE&4JMwJ!PB zb<0*iYIMFZGTOT{41<{-CBhJrLdbGOhqu6oQczMM99ZD)hB2oChhl$0JQp&Cr zhdB=@*DB?lL)UdyE>~9OIuQq9=)-X$&LK%oF4VOchmQqT;Y5K5`#*dT;5 zFap7)2LL+Of(P)4a~+vO@*8i7!%G?{-QeIgMDVNlk`G%Xakhj=7f)(8LF z`k&l?bkhK#RQtd3pEtv=l%Uf!O*_W7Z5y5+!n7S&mW7;Ogl#!67(-r!ux$ql3YuYn zQlgo*1tBCO8im5~{rg6I+p>}Oi*WuI`Oaj%{kQRb-v_1CavXBx8`IF3^;F=`l~L~4d*Aq+!CGzLH&cLrS3@=P%Mz>Q826v<#)6-((9 zzA!3-r2?f41%Ir3KsQl&OiC1d4@R=8a;`_pInAkoVqO<2@P*IS9?j;vr`u-)vk$%G zc%dXiEgDPdI($Li248_w9mOIMf(N3Q<$H7(yH|eZd*1Y4{Ltn>kqlLtT8*Z`C#c;1 zR-lZbkV#MCmv>x6&x4h$hNSWsUr`M{2m-gr$K2ouIDg^V?``zDZvCO{y9F|CIa-P_ z_%Plwznr;7hfgRxKjhFJT> z?-AXu>)s-Sn0RRoK)^6;*p`jqBZuJ?I1F1u|Dk=*OdUdm0JlI$zi{0Gj^*qE6u?L% zVr7qgL8<3l*FD#t^a_J9hGMY@6$%ipkSlti5nwz$3eGu-ATR-FVF<}6Ow$Gz9Bw*` z@l5G)0O+X%F8#mG_kDjafVE*5l8FS}j4_maA0(|nxGeKE2bpvRE-!*20*U~dA3|9S zmhHeV7Qss{JU_b`05+X@rT~C!HoFbLxs#KNGsaLV7D2cKm7>hI;uuelBIF#3044wy z_>k0uZJ6+d58o}Km@Yjtng9Q~{{O%AZ?Om>6f{xhYnFp_It`Z>E6WtX@Oim^brZhy z;gvji?(zNm|2p5Ytll69)|N^oI+-8(KJw`_bOq#!9+>8!n8~2z6(J)Ls33sO1q1{l zmW`~C2>k%r^vDYU&|TrL8(AMd9lPvG7Oir0CgHn2aI9Fo1~36XlLLGg&?+G@oWoZX zepRYc;IRC8Euy1WYtI)B4HaVwu ztry%l0`+Ag6TkQnjkd-OL0-iNz%;nI4B#El52S*htgU>g!Z!)Vi0K{fJCK!u%%1bb zU-jaeTZp>j7awxkr^XGRAoyGOgdlB3y+Z@(Y_nI&Uh}K_de;rCXD_|?qAO#GDktwN z_<;|Ix2X@&Fj`fgAI|tiTb9PZ{D+rEuzo$8{@#nOtW8xpUh!|^gJ{UtH01jRhKdG} z<9~U1-^jX=_3Z!Be_j)@e3BNeO(Z%s#_9k-hGBLnpWh2${7ruU>$Y`kYNHDlHgzhA zy7D4R%Z~KBd%xea<9~(U*x2Yyi<(_fq>e%n36=AT!M-g61EX*J-EXQzn`)g-16sNA zxlq~h@%-N0|B^lcqP4Y&P7Ov`e=4%BJH9uU`W0nvF8Uy zcLOL?{-2^!^y2OEt0Iw^x@k5lfG8oxMzh(!iLWYabO4w=8^*ddb7yKAYXATh1|!dI z&g{Os9F>m^8$i3e|0es*Ma^|HbiKk?e0cNWkv#xPC;05!;nRkwF;jQ+W~Lb7GE5&G zb9V#CP5eLpHvRRgs>n=DGaJkHi_y{1>}~+Xx69uE(C$~h$5_}<-KiT|BcY55E;9q! z(*FK@ehdKC0j%dFwR&HtO}5FXjz&8*(`;l)F`x6ycrLdez*yz~8Qvm)vQM?ssR zf&UeK^oDAq)6ncDsube_nap_ZKmo^I$G>HLUd7ki8XCG3V~vzbjVP9JIX^f!I5=?} z^_KXPf8UukPNQQdIyDAcgfehT!GRs=bnmM__ZHhRdmNzANhUi9rM46zDEj^Z&+~d; z{kgZ&)~#E|dMf^K&HHCI)>i4AM5DF{5fsAkz_)MN(fjJpovaZ6)s)hIf;23NS5!9) z5K1NLt81F0(db&!G+Q*iJjHV^RN(tVCD+|FI6St=YTBgvzlT!X104DQ+ za{fyWNv2J)aP@m;G*`#XwWg`Jn1-$q0DcfEKM02k#bDDf?>@BS*{vC9pbC^j%GdBY zrS!v)hBIM508kCYF@S}w4Gj@PUrPz5P)hZ3*tmiaYM3ke*p7jbmxl`;WIz=?o*zmn zZ>{iOtB(evX%cO9iRPFSS!)@3i=kWrz^#v<1HEyL(A4c!0;f-nd@KRBE#dA}VP$=$enY%Kpa^+8u- z^(W%7$UoVpHETlukcYzc{l22>-Z@k(d~_|a&zraF-4v8!GCbj&d>F?7~$8oEgcffs}#2>6ieg?}AMhu{0kkGDL#ZXH-p&zl~s zDF8XMsVUVIH?MJQ>vGF9rkT2C5mfXE!;zBbKT#<9|Muj;BY%B6`ZUF2sd&=5CgwPo zTc$D1&@_t>f{=6R`~FDL3!W$x+G-Uh>CuS5c)0xbP__X^4nS^ zl~N-L>S+k|gTsA&kGxs_#H6~ot!{ZL8ow^;SgTFLsL>dMkP?0nWQwl8c|4!LY4f3h z``)51KxI;`tFB%ik4CSvBazjnVbrh+KM4GcTXHuSip84-Mn>*?i@IRK4>o*c-twl} z$aRimt+oukM%OiPA>jLArs#T`hco_7U-`lF_ifm)fp&LypOjAkoHxB|#-CefS3!^f zAOwt2j34w+7%d=GTMff7KnTUe0H%~8N+}2~Fg7*@-8N7+BL;7Xfh9udhK3{C#<6Gb zp7Q}tt(h`!;`J%hR2xi1|aI`k%;wGycTYg$XopK9ys&UPvZTtJ8- zllh*H;o;#uxpey6p=|a|@s$F(;f4*w8@M|*rIy{(H6^)9*K{bb*Z7YRA@&`~ZtWck z&-=#BTLuB(O-#aNeWq2#s;tyK&9%u@wrPS)(qE}^|9XCazLD{*=|cA0&4)*ZCQN)2 z`cMFL_LSP+HP)ow8FeC+qVwdK|46A21OWy{$9l&z*>ew%6?VNDeJXrXUte!Kmhq?R zs;aXr%LZc%l+t7N3nAe9KE~7OU8PL++<|oZNacH9mp?Hep3>H|C>4+Vp}soVW|Yr* zLGX(GN-1zIFrLd}ER(BhB$@;A9YFik$j6c*SV(o^ZA7}sM@pHUTL^@yk!ee_5efzEG(^i{USQU%>p(dGV zH%$YSG7vyjR#9br1V=iTM>=2l!k)gdZ@(FRaBT8zm`$PoN!PSaOpI)=JUe6}JD-#S zArCk79_|0?8}TQ!S<%t_fx2Y!m-VS6WsFtI+!8gx6+&VxlSTh{=JQYP?fuSMn1m?+ z*<4%ufn;^nFH@-$orql^q--*vz&S@Ilfl^N*yoQ94Sff1auS~C|8HNj=mX95kzY2~ z#i#-+|JtOS%m@{~8BG^)pfCUV>%RZ|cV5qLGysyp;8Wf^u8h_+Aw)xAkYnKb2$IQa zfB-=dQc4LWl_(4X0wJZ6Qp!XksdBjtQkNV=?(P|=xnuxljH&+5I>#R73BK8yCPGnI zzJ|rmHK5MaQ1W~ba7rjU#)kr=6iP`h>k?2GF9o(N9>R$CpeQyyabK zSe;`47`qB{$-PeKCJH`=hR&wYw zaawVv*XUCk;>h1%AQg*2DZqb~J^&!4R6e?#xQ>OOw_)PK4m^baaiKW zmrR(t11TkZ-=~aGN=PLcoKg@{C?TXY4O12KMa;T%6q&oGpO8Pftt&gTI6Y?G)KZ%| z+c1nE2t$ofN+>Cx{VN4Xr4*$!Y_6-B9t!c_08ZNg$nH1t(n@muDUFRc)z;OWZCYj! zhFl}Z8YXH@E2goquC8vn5aPd)&7O85dtcqwuU|)ddb-8;K7Y#3rng2{Nhy5SQ#zr? z>m#L9l*q8NB{JU+a=#)3=Wf`rfdJjFJ3&t9bEcX6_vV`9DvdGU54rwI{}L!AA*E83 zlCY^JIiE}UD`4cj4FKtWg9&&YKzjf&qowBSjj7Z-Ez=4@&NXpNopO^>Dne=4P*XjH z3-Lc~V}(-=m+P~<(N2{D5SGDykccPFVoVFdFw}&Ql}Dhgzm!rDLc?StF;fVB8`9}B z-+&90wNaxHTDPpl0At2vYQts~?8My-3pmy?e$4#%Haz-e7MgNKMM{yCi71L_9AARTAQ}%zZyZg^?@H(1y z18UjSy84)@-;;_(nxvAU7ldr$7eM6)NU4+*LPSlSP&og(YI^&@o;`;)z8QU{)q)mbBE(OT}Zi)>I`3my!#qSjBS) zP#$+6l}yHCkV@USY-;0+-3JFAcoT~g3P9CWRn3bh61P@YR}(2E55tg6j6CHVL`o^8 zWIUdLl=4OqhA$3`k3VoSyN}tw0kpfjTYdH8OXk(5^jm9_264TRg9uh0IV;bWlu9Wf z6OM-VM(4(Fd~(T)U+(UHVB^MhZ2kJz`i%wvk_OtoA2q7LttA8u<6}dxYz<125FtPr zg%IV+5sVV#izVn9Ba~7mq=0GKc;R0tQVj~@H?_cYn38Pp6=$GXc9dC7~)A zW-HrBBBU??64oT*%U4cqzO?&b-e5D`KeN=ok7&S|Ypbr&A#AHEY4CqyUG zXB|jS52Rx|-PQ4EW5{_(2-O*-<#gNxU<4?73Y03ssMNwx3d=N93otmyR#$7=F<7&1zAO3Qs)9v=t-&QZzXpmENH&WLh!cH@%9#=CoZ2Hca` zzpm^*(lR60CnAw1E<{L_D(f$0C0}znF+}AppT>m{reP@4v~Fx{#N9muI4K|HXOHWQ ze96#_HUOcnYX%|o*ceJd5J~|?6k&{NoC~Rxl9ZBfr&6guj*X2KPQ>4_4g@`rv1sHg z)rq(!6z2p~I~K^HCjM4LK`|jh5sx}5TXen(;KA8%?#+^nIL=oRiG(JlEU&Z+NgD27BSevtB9RYe|GD^PESZ!!Qz&WLwMkvbTftpzRE25NQ z0p}taVJZ=!Uj^{s_U%0<)b*abv9i13xoj8psZuv`v{Y7{!2^L&*}=SZ>S!dDW3 z0s<)z1OZB}k8Hk(La{_l(^UGK-~(m*qZVCP6{QFQAKWW|haNZ)5JW;K4#5L(?ja0a zgkgY)1r@RI9st-rd-$Y*hr?^u5CE_=w%##y<@+Ig*FzA5@TEea6apy_h8%tn!u3M< zK?qydlx1k|1ty9koKznM01?Z%IAU8C=R)~DCqcmBO9@{o1X3d80zoL?g#x93Q(e=P zZRqa>fHPkIEdd1pL!IUeV!ckMjQFIkR6ca+qh;6mE8O>(^Q0vwm zSB32uAApEPqcw(MyoV5?gp`_;5>iMIuD~HNRLEj(R~s7Yk|-2iP)e9oO4_#Fu4-z| zsM!A+{)P>p>w9{{hO3vhL`->E5QJsE2q8F!3I#X`;HexOvj&VA2tyZ2DdvYG-DU}pb6GB3A0mUUk#gX=ls7XZNI66E(fC3m7 zQbtUp&5r2rcs+f30MQbUSDU)_zRCIsApoHeDvt56gxZLXh(X~698ii0DP_bm+9D)b z=AS^HivGO1x;joNyOI#9G)>bO)1Ye_Os0eB44x)Y6OAC|SOB5Wb&XO=m9FcJ5ldfN z(VxAV-O~dxyCq(2S;krgsC)se=qk8@LJ&#>Vfk+_P$;@Uz6i#Jf^8a0m$Ws`=mzA5 z6We{vcjEDQwP9InL5RxbODtb-;d%jrik}BT2+t3YFS^L)i%duf%eI%MQmGjzKUXK@ zD+RK?r$>DHpO#nK23Z@1p$bEfg`o@1eFz>xhya2I5Znh3T?C=W{2)NoCQCPbV#$nh z#k<$?%catUgqIf>e$vMF@1&qM9 zBNWV_*z?mWy!6FZ6#4);X%irXgrDc=|ErD6FB=ed6r>`@&JcL$!Six}0$Q4uVP@Bb zXl-5r!9ys?p%g{LmdJ0c!}FhSL9zdMzLcVD|FahMeWw;iWyMxG_ksce7ZQe{W9j@h zTzJN8tX|Sl{{0ld2!mk}9Q{QS&tKPy{9y`7_;L1od4ZuPZS49^6)F|gDzCC7{2)Z$ z4M3r=a#|9XEv(1t&Lp@H5VAa;X*$8apC<9*N%Se}?_m3PQe_{m=p%%H9|S149v}r~ zHl(n;qXn~@Y7ue{E+q&Eh^Danr&W0AORwcmw7R-Y3IGg)E#-nDl@w&zI|Qb5NW{4h zvk<`aL&RbNjkO%7%nQ)g%&8xO7&==3K&$NTPB_VIstn$`t}o?WqOK-E&bs6bbk3TF zYR=&li*SMvRaG&xHPvFxvbmT(wTT8nNDNJ1fb#C^r2HGONdkbW;S?o&=z5gI+h)Uv zRYS{qpyPSaq7TXp7$o@$#$Tq!78d9CNG5NWLdp4D*)YsL+q zF5zQWdLTr>^#Mwu3|&*2p|1u`x=5h_kg%*%P1B46P>j&>S-T1`#!3*G5dRokhX1(n z)7Ws$`^#0?Tpx@QrRln2hOru$RO0ZsR#|)+YGuNqwvtLxMTisvA@Sfkd8jdt*4^_l zz3T!@X;}#=ID`m6K&5RGrJHIMaNm z$vYO{jAhfIltK`4P(qZ>h|(E5sXoW_k7%cuhMrVFg|Fbr5ThgyxC9q^GjRF*dYn0< z8h}C|Bq)K>n5J}1EA!W!(0|JM*!p6Pv06%r(ikHeWso{S-VR~I#KrCmoZ8xeInA}u zH4O>`j8R1yQ|2{gaO3i%BR`BAfFNk2>g@+Jw`W&BeM4 zPeaR;M)>(6&N+V-eiL)>sT=+s*u{!}(Q!czg#jC*KYitggsw!}hX+CHifBAq z0~*?phJxS$G|hx%RU?^fLtX70*mgCz@K9Gb8=7We&)$2%g$pKZG|Vfa>&$VeQ3u06 zd4(U86k7jb2+{T;#vihPEin+AfO84k(vgVSXs%CSdV4LB2^&EmFl|Z=E59s=?6(5LYM;QgY3=Vi?cT+9i$As{Td@JTbE@U74P9TpruisBPbWBlbE z2x1X9w|xg@TN4td4ptqj}{Lj5xpcLwtG&VY0296aZdCgAp z3_xxw>)#@!BBxESBIjiCNbNfcZ7>f{qj=`xMJUxo5P^baG88<4javqhE}+_Otg694 zy7y#!yz=V4NeY35tu5rDbQ&`c^&*kZB5fM@^=V6ycWgL>z|b}1T%SC)>mWRZx+zl< ziQe99`b63fuUSK|X%h%zow~-9l8{9qsHFk5r6}fPTX9aN1G8>^1TX{4n#*w0mx}n> zk8O;MQ^Xt)LTJm$`gRRKHUVI|-l=JtQc}rm=u*cp(d@-=YQ72Ya_3{g&8rcZ3a2ic zhu{6=3;5Vqeu{zNal|4vVf5tuiDoj@Vdzj{0L57VCUr!H6G-i9M)THLAlKI+&^cFf^hOc~bsFSx7=vCnZD?1?j4g>Xf0*jbm=E1!rVt!M)1In3>1a zrW(BG;-$Fj!55J$xUemQP)3@|v`w$&R~8kNkxq?KrKFNBI5i1FQxM1Eu{NBSosF?e z_F_;U#nfsW?_Ju2J6{|^&I@7bj8MXwPl5+3d_veX%9vu5%8)3k84T?rfh8l2xL~9U zPb@otz1k>hbq6atn(_SMLF7sv7@sh|AnE?9;+WfJ{0{D}pZsk0VFib%#gWM|h! zOi2MQJO~jSD;Z0v4o$P5F$0GVKca?)UxLA`DaR>2iC;bg2FLJb6WJ;QK?VR(uuKz| zuU!e#vT(}$PMo=FA;3AjTpmg(Jn`^m*tUgV-t-xK;oHB!j-5w=0fvF62}DRBWq9o8 zNpK83XF*0xG}i$nsX&Q_+WJ|bgd!GeLMqh-r6f3ap_Ib#@D4C$VAjmbu>ZgV2uc~0 z`WXiI=`aa}l&=(>QQ#PP!9eD)0X7ae3}BREMrSQ_jiD|T#njeXD5c=}<(=)mL&IQ{ z;({~gVAC^u(C=m74N;Vy)7L8A=KRTjGHYzV2~h7w8v zI|f`B8pXR7H{$-CBN*~L6#FRppJq@e&}Tw_KcfJuzz9QYT@p|dHL(b$)K-^Q%$!33 zI50E{Mk!X$XvdaAeMko`ihUFVPwTJIe^OHffbYR>TO`pwoFgxPz64@0w1gh4wNaQP z1hExHhje5PGIY-HF>iW^JqHP!(q!pd1_~$QzQQMfUvlk*%NJtS=s4MY)dmnvN2lO0 zFM9`cMxaG4^d23?=&nOpyl^^}F6hFpeFs@*OSL|*>!f@FK&@GG15-ROtkhJ*Ug$&d zKYt0LGek=YV#N{|1rAwlqEs3MFAN|SYk}j`L5>_UI%Ynl()HA2O1S z)#&IOfq(lW2n-D^Tp+Ws6Y-G4HyARRBK)x&8tRgyz9x?Tv7D8vVipEaIx!iT2+$Hj zMxB_6xvmfE&pR>3D7r$9bXOB%l{kg0CvY?yVoJ3|T9PIX4a15MYQLWN6HN-C8&wWY z$>-7W%!?=yigqROa&rR`LV{C*Y|(=kax^4ksB&y%i$x>K5*CnsT{b1Kp$MTi$2rM3 zA}>!xhnK=B10As6{Q?3RLUSqh?=m3?!8fn<@WWpj*tK7WMo+qfncQrpK$uPOuJ%(9 zeG!<$>v8tT6c~SBhoUG#b1iIn@nwJ#{PLzx<163&4PMy3AC$2-m< zs#l9u!_zUaDveQOL4AUQ=de!(=a@;6~M{urvSi10q6q7afa*;6GdLaW#=r%-@SV+Vi6l#cOJsa z+x9{T4#QwLaAXjhU)qBQ|N1WrqYN}_Vv0*+arO4%uB9}daa+xWLQfU;~>|u8IO$f#@t+f^lW;TOSg5i-I`UlhH^H>68vPJX_j^p5w5lAjDe`X89P=VPJ z`2mK*cUce!kF&q54@LTA1DpxWs*hsvlq599(3kOXWZZ=i5)=xfg#f+d9`+2mAe3TZ zYXU*2phYCIN7)JWnb1G8&4AQ6rlgXXR-1&95`*b12FJ4yQh-2VJXb*9Xag!)fvL;=W^SaD8EfCJlg^~Z&?aMx*bu&tpMr91QB*%19B2L9_$)#&+4 z6*g~iuwZ%!UyyLXwfqx7kK-#~Jnt2kbhcv0b34_)PoIhZSavF&s;Pm$@h=dWEcW(~ z;`_JWg`eGiAMSf}3zjYDg6H$_rT)wt@v&*sSGj<26Iu$nu>;uoo+;S*k25gZ6#={V zNhmi!!5_xq-c9K3eFEw9UKNiuLrUQf6x%)EE?2HO)1F9Z9`?H?uIhg6f=+?Dd8tm zn(?FQ?RYR%g_ga;(2E{M0*S}>=J3qHJYMcAs-~m`1?9S4srY*Qi54p9H8>VBqZxcD zp1|j7QuwoJ;grLDFgeFi(Zh554&(U)y*My5iki3sso+O6?WBu`iKa2-7hQrC3qo93 z-+)*c!_oRN?5OKS;qET5jET{r!izg>Y<|H)p`_t`7kJ>Jyu*2;W@wt9FSs~s^#XjN z^Gw9Jjy*Nwc(%G9#XAOIWF!W289edaPCWS67mz8q_}Kf;M;LNwZ(;&dgbE=8#3F5I zK0F6{ksvd@AETYU(C!bwiW)qbMK*f~V`ICZz|q`v3WVgKguUVM0wtsrgdELH)i}qT zg9JBmxM~P5rVgTNivz1mSGd-VykIh-C|=mg8(rezfokAGG9iiD`8XF41Nn z7TDMoAH-9M{b=0X2*!d;#+f`Aj2%3yDM~*&@BS)V?U*A&@JSfLANr8dE&FDSy6b|=321<39W*k0uvj8w> z&TH*2Pr!jdbY=n3+2xvs1VC$J4O*IO@WQq|NM~}GJEs#uF>paKd*(D`^FM6$XK&uz8v z$m0^WRRcl^l+d6zd5Clsz?J_hzC^UEfcU&TxZ+R>h($~!Vi6o3FJQ!%XlZSN<|Lrm zNi;PzqC|8Y$-1aYMnM??krYNlfauHuxH_@@vDpO(B|sDqw=^VehVfzmLN&BC*1(9T zpvO{}(vSkxbhv>)%F)0m08U`H1c*#8AUugavDpPkRX)>o3>}GxjcmyS)ikuXG$NL) zMl@NCww5Mnx(+`GQ5AJSC;X3qBMeSyQ}f=6DAzH8JZr23=MjkX=<<7zm6%q zmajH$Fs!J_5&_5jEqjp>0MB}8&AZtB?sp(PtqCd1K&TrS^(E?R6Noq_OpVbmym#@j z9l*wQ>)5Lw;EF!PG>8^e603LhBQ7O0DKS4&!1F6Q(c4*%DymQw)euUBmV|+*!JrX^ z8O``e zns z0xnVVf=T?>_zwU;gvyf|VCN&Kz9)tU`+RKLs*pI4MBy_8{vwIER)Z}s8+c%ofMeHz zQChxwruZcO3H1jElq3oXL@?)tIvij*98g8f7^}hFcMf1=b`CXm6eSQG8ZV(H6|2PB zD1_pb*Lo-EUjR^oNK`2sOLk4gsFlZGoeJ+_?w0*CNAphMA~%Gr{!?E*Md9dZNm$V{ix9+&<%#X>!BtQJ$4=%BRkkoiR(VNk%ZGwGOkUHDd4nUM!f=0>jcF1P7(SsdL+L z;7}jhnyS&%)`(Oxg4GLKbP$3b;Dr2%W-D8lDuQSvj(o8Nf4En{^`}7B88{bU6d#O-8_Wsty{{OaM)CovM5h@^5 z0Q3m#R5P50sfagsBHq#or*SImR5O$rMW}#)D^Ld*c*a8SJqD~PF2dl|_FFjkKV^Lc z7(x()3LudrB267gw9iIu=X}(5&PTF+Hlj@(K%}b77X&Ou(D#^)zWYz6kA(yOW5R3@ zkcxo=;0iFJG1N_&ik7aKXrDb7?X%~irE4bY+NQ#Y#UT{H1;Ani{g2r=dICOBxdj0z z+=9BRFBzI^ZO^FUK}Ec{j%yP7a*sy^Dz)04>nK^@BM2t*%dbc8xc7;+Q|7kM zOz!PhY%EW6j)frL7`k8?(u=#G|7KK`Et7W9qcU(;5S2P6vQ>>(XLnRPI4Oywz%qMa?<0#xkm|=#eqQfZ!63&+5WU?JY?70SIGIvK#=! zC?SkMPOnW?PpxU31pw=?j`qC9{_?@04B-(wME21Zl==*erPAo<0ql=F2J7;jz_<<2 z5F=@dqazw1B>X_&@6H{;in%2Z0Nyua6M41&OdLy!P+ zK=jHwkTDLz6oy99=nQJph<-)e`b*|2ftPf_l;*(4Gmv^F?H8 z^T@F@iXWzs=a^tQ3NWBpEFfRVlqVJ`P#vFvs8#I)z!?Bu?LQO00pqmD4TM0 zzd4E#k;PwT?!j}N14slGBqT~+fSl`LBH>44#6-1i1OTvP$r3Wze{MLV%>Ly0W2??z zG$uiW(wRUy$6)Flgo^U(aUx(DA;xnIj0ymPtelya*IqDkIzXV-tz$d2x-Z8&JDXDx z^U4XEAFcd=o4@d`ReyiUDUvCvES+LBor7a)U>d1hcLk!BjOB`CERI8z3Mhr+u(B?utWAS{ID_2Y2#$Wa!Y4pbl$iec92(}AkbhKz_-!5Z zVjd~Oz(+4T1F=*+>{vC3W|r?+3LhUhFNXZs5W?ILdh-XNh6-rEWE6AH_c3^s|EYw*w`0$#kNH(-0QdJA7JC%pf#rtDPWQUS)hYn$9VE}5l zfR6X3QGY(c;12sW`b_BGdk@3jU&TOcbEvl(@WHcBM?-T9s%mS&%yL#Q;rnQg$1&7@ z6eC9u3*#4l!arC|3$yYKn!Ng%T_kmpf%sK6 zO8W~?Qo)9a&t5WsPhVJe+{UO!rkzRQy73yI9HTSdV_X`l;FT=(INU}y~Obq<-^JP+f2 z*%|;q5777L?n?t9pP715_aFe=(A}+W07%cs_Q6QwDM#x^{T5YUEC1n%7b(5$4217K z6Yjx2C;~{L@UDxNm5&@4z$Bv`Q@fBaxG6#iYHMechko+W%c(0KJM*)*i~>M+clj3X z=l2{Lte@WAH(jdcVpUvz{)N3XefoU#pSciz|2RBCU`GkoE}af36_f&^wn^sCXhFdf zwS)j?S5?uoK5^Nlp~9xCfAYtPe8pr6D%8v+2ZQmeQcns2K$$G zA;`LrQh`eii&`8kXmX%Y0)r5`q&)>U6mJ#tIP%u99N99p2@g(hLveT%St*f<$FOKx3#2UHVJA|Mj=B^=DQW>=c+D`m zv@rKFLugO*y!hgA(}=q3<-2g zVsxD1%%vQ2I{nOzzXz^58*<$_uks&EJZ>@{3WZP$h~1^IVRt8D>!%|5nRcZ23|0Im zfp321-3USsGiqXRG>wZ-n}y|bnlrz=`w859^L28=J9i%EKa*Nca)6itv^o#}{6r`C zrPT=E?Z7*f0igthCGh_B?|@PghOWc+OQ=nCArQF?Aq26e8RVg#%)Xpz;;}RT`Ih5? z2BlDWDhUJ$h+mt~9`> z0cW2*O)k<}FBJ%$`NU7}J1yE?3 zc6Rewwc7dJEg5`qpNPEls*YtEw!H7+Mbvjo^2}wk@Z25WfNdLaN7E=~3$S7ircZ6a zQ@`tmW$FmiS@r(QmaxKL{}uq~*uJj$tfjBzKYGl5xuw=hQP=h5%;`<|m(Q+)u4~BW z3J6LigtmqHx;Vb{>32cb7z#yKHAZXM9#Pl=08P^_dX4=W1fVQ|r@z7w8r2|+7QuXn zg9pu8m_rgGB%nqJXcWA1EUM`McnBFPFiqkfT7|+pR^qAcC8*n8fF5{InkeV(!31AJ zK~pFazgmvl?w5^KciN+d~VpCx_N!VHyOd1Cvu) zk_$d3D8c}aR)FLJREq-v0|S&)4Dd>0K5VK8<^%X$|AR0S?~L^rBD@61{pA(@4fKM+ z7|-t9d0BS-nm_&3wPs8^(kthG<0?vIfGV4Tb3n5hgd0GoP*Mp{>5h2?mqL>H0DgDZ z_FtQ)pS7mP65%DNq|zjSDyMWq=>h$|3-+D2>`%QU-ab7urkXx{0U<#ELnq}jii{!* zILgzbgjXsKQ)!w)%DGCZd;9NtG&$>()9=V>nRftqWa9a{VZ#Rc9iaGc58ZLWbIa%a zNjlYS9qDluTyP4Z0k2$JQ(%-LR8CI&N=5c8D6Uk;^rB&Ybl8 z0^Pvyh7F|pxBvE@&9i6x;l-+k1ziXG<=CoL3aOx>eAiW@3Srs(l$1ayM7H2ct_YbA z0PA~t#83Zz_3wlszX0Gz6ZR8;u3NV*Jo=|UUGj$|^X}Z&sCP~u9Fz~wY@@oAP?bBQ z8Yw4JPzp*(0?+kFHH~USVLpK0zr1OabHSO*dV00(I703n zW0+cNV)|#F20{f#D?)M(swIGcLIa?LLS~F$B%x#e?5qTU6Zy}v2|(8iv?wrox=!vX zoXRyukir6r8gdqo|1VTvUbEB}THB`lGl~M{%ZQUPVxpKuFZXtWj ze@;~*%nA1;@zr+Sp8Vs$RJ3!YMcqJ%EDIk+8f&pl)ODX{P-e;aN zK5^yg8w1~XCxCl_^7$kHa2-X*C)nOPPBzx{W9EQ{-ep4|V&V>8IXNPi<;)gbC=^_d zh`}+X+ED<|^Hh&<##yU2hJiZ9pJ>Xa1tS2SO^uP;>ie;9P{*HVje;r)q5vT{G)fQ( z2`E4afkLSS$1;(03<&@|Jw4?8YnJ^s4EXy2^qtuat~P*@Zrpn4hvD3|M*mX?HK|iU zApp(vVdRQ1OdAk3Gzx%2z~I`@P_S{=%lP`njqBL@?bG{D@%r}t;f0Lz?1;QYDMbh& zik#WamD)gWxZ#VpesXp9-0Eq`Pw^m>mQJV=9CpkA@(Om;02GI*69~bDZZa)*q;KQ) z!QroO+_;gg-@dN@AG}9j!|(3i#MOok^oH*4Tj|%YoI9hw{!?K{Bqg9i2v{bAEDBgg zxqm4ExDdkBsdi*|bmRX0y%m1#YwXtmKnTGh1BGk6rqN|xESH?n$@W7AieCFK z+SDtqB+T_N1mJE_9@Hj&#>5*h1p?UZAobME@GGpoK%0H{0f)caDxINav|3BUs|LEVb$>Yr|%()y)E>A z?wXExg2T`S`iE>>u<|e(Y6_g1O!xBsudH}7ZkXYxvww`Np_-=ahC$qHY5X{T_YDdl zGSO4pf9d6C7Nj2GbJwgU^E{7!=V$kzrX~){GO+L95dQh{<>;7F%MsCZzi<3klxp!< z()skrLtkIRDARS*Aa342#$UH?9joM1Rp;C@@8~7|h=)|Om@&5#?<*9w2OrsnWHJiM zD8@#!SiNEqO6I(>L4Blas3nj@#%}1rbi6J;sh*vJpTp>5Oqz<@}rkD zFjs4zF1F7IaYiZ7Hg7+ISkwZg1eshv7S3ow)Umk1n4T>Zf9ljFXGeAI`v3g&x=S>T zMs!2tlE~a-eE?uncQ@aJw!w>LPt7^glH&QsCbdEi(H9RCpfd_nBN#80Fssf$jl;OX zG~ExxM#C|R5kvda;5hwnxZwsx2$3^ZUeZ_FU>A2Jll=MCCKAgH z(QSK=AYvQPD8>Gv1DM@XkGNxT0;Lz-!q01~Yw7{@xpgZRokcZf8HRzP=O5FjYRM9c zEnCFcz>&R;?Gg3D;B5MoU5kaQ_hYs%aK}Aeh(sj}Ltt>&!i6gjp{B+IbpveO*DcdTxtcnB2S1Z0%HORYMHB}L~ zUVuYK$CxoyLmi1*p8Wm+0_{qWfC`ap%BB*Xirb+jlRnMxl{RpHsz5iH{Z z&mS%?Kn+Teb_2|7Fp;zw!cd?;<1xq7fVgq>_ujMY98IT6*C_RZSNLnztRas+`Y0iU z>}zXn6?JuO?B%8^Y;GAtbs@yI-9s>R21C=ZfA|1qHr1gj>LBoa4CM-}k!c{7{?At| zUv!41F=3d7UgF^^yZ0NQ&<)jQ;&bk3>D_j1qz*Ea&u(p`I}WGN(pbdsW*fDM63$tE zNP+6`$6T-Is!y)(A+A~nwqf8VBNjWO!zbER7JgX-??Ru^A&=jW^s z)xFzEHP%5%dDo*`=~FKs#*B_e96B9S=Cgu%-Udxwwi`{c^^{oGX>SFjBO z7oVJeLz#bb@6OMqni}6-Q&(3fq>wLfKTHqxj-sKV3ZtV3k&N3|erlJZlp#Gn?hTI) zfAZR%r%!6X27rnn&;mn8{fxP20Ng+$zf(XcB&e=|8WS-YuS_iy|0a|EEtP`g0=fc* zXUru-gz78^fQdvOllapJ0oN4>WdO8ep?R;llsWlpN`; z^wE#kpD+f(G(bCX-n(O8Q+ma+mq2$nF1X;*e~8Ak?C` zq3<2zPn7k#;DUGlb2MguCy|K9TrU9iL)f~;XLL2PZ9962kP35VwjdTULsO^vk)!=b zUU=%!@2xrS@_XZTwUKB{u4WXVn&y{^1^;+H!G#xI_R&Z*a$_PMi+Ul4#w84$@hOef z?7)#xB9+3_<`gVb4-HMzj}DF>dG3W>|8~~tOYWZOl#FUyOY(onPppT|A z!w2^dd?(^WH&(@Cj#5|+C81F*2#T-he@jnK2mmchFF4K@UJ!z+f;Rr_S!f z6E8I(3=J%qHHhkX0h9%JY?Fg$_EwV%*7O0?O2iX#IVG?4pPmZ;oO8}QKN^dvWHJHQ z4~Y>1w!v`W>KXX`!&~769Otc=fu`CRGz<9ioqxrH&mAIHoHYlEutZfnwww_ll*jwe zEw|hf0>C|6+t+GV41tQklpLa1z8gAs&J?`#@*zkev0&abR9D9l`U<^=o&lE`5(Wy1 zxS2Hc_=Xu;t~$7#z)!nH>$#brw&?oTUK3C=I=0aGXAb0B4_l?s>6TT*i_KDkX>^bT9yI zNe%nP0%WB^TT+Lk6HqAZ9L(crE+DfS0gcgkG-56#N`Vj>hCH0i=Y$ZPb=G<3$Ko-W zNG8g8Ii&_h2wGBc92go$C`xEaB@nd?NWpP%XbfpDBn={jrbXk?h<&P*5;|icF9pY< z>Is2T8^OqWgd;!qK4(|c-$3eWM%yUH(mHnRPNJ!%fCXKHfP#ePF>ltPe-lU-~(xrs_A6Yih;(HVh1> z@#N+`=xj~l>}8#h3X((^Lh02^oX<1zIb^oX8$yiOe`uEi$jBbgZ~X!{xvN5!`ENF z{DUlE%w4v4DwZvoI`Mh~U_|$a`p0qy_FuN`+gtJ%{(SMO&<|7)hC++Qh#?`A?;Ycx zd+w#DIT7<`i9}*fu~V2dD3pTYdG8heg=a(}k)OsBiCKk0;mBbB(DzgjW|wxEA9M70 z$CSntS{th?e83C83HL7t@P6}SO|DqL4NA*57-hawh>QBb0UD7we>Z`}TAES^|Y%4bkKauB5w z(6;yx2=~x6br4-s2P*wbfDm|mQyf3Ms~y#`5YwkINDk%ufwYrx=<)>q6SsdFPb3!Q zvKbuOzaQDWi&GoBK;hw(#ceocQ5%kR01t5A-G9ZGfA$D!lTpm?YC;$Y<@te(#ADC} zg!d}{iA1cQnbFuB@GNFk?I#)uFsG#+r9yxi)2CqWoT=rkMuZ}lDdO=~?S)Gt(a29@@x+o+K7+#HJqY~(4Ydx!upLtxt1+#) z8ibaMNq8>DGcO#(b1(P8HVrh@B_X9!e!yjQ(t%V&xSn5nH9ww6EXijx7}&QHz8|6^ zDxjJyG(;Kdqt-G1R|?oYSi-ZtMc5icW738w`;Uw|29zQq3^7Tcixx*Bk)OokvE{j3 z4tsX)fbWNJgpX-eHtJ##)WstJ%G<9X2yu8Ui$fU?I%TMdM*$EO2BD0{V*scq?J znuAcaH#mg(1Te(~T#Hv(s3{k2cK zPj0xlbL$cJ>Qbh#|EZt%6xRQ|M^vufzQQN#rF!mWot*NK+eRP!Mn|eC^~IWMTfgf4 ztLd>!AJUfyax8OT#n%M$Yi_^I1&41jj>I+T>iTc zJaG4)kA0&BjG21hbGpL=NklIKk`G|kw%Y}@{|rnAlYT;aR--+%WXkMSw+rGGr_L-Bm@ zB?h!ZK?z8oTgJcNxUlK#xodmIK?uJ8{$)KiG3SZ`S3GJmt>gx|-m&81Ene+WDUH8# z9P4LHqmLBw?sxCI?@#v~;}c-T@`azOlkz%)u?B!3;JjF1?O(&=3f?mW17#flYTqJMRbK9dVW*bdKQmzoziuwj>OV0D|C4|B%M~`4(KCN;~OLcWiXm6L$`!StdK8# zbNANgK9i_Up3f1AQsA>yb6fDmzdH*Z&2^9pNaynS!N$k%Kbv;K&~*?=@Z-;1gcXaY zqv!@QnuybUW@OjX4?b4$pXi62NaTl1WA}{=6>oh1>fY|D4e~UX`!bXvWk{havKX;= z9SET)=EpH!cpjeU2crf=2sG53g;dQn1TvI0RVg|!d}Qb2cRaA7eAefSr-H{6oCv`DjCC)nH{K4B|#}cu297DI}hT}zzB3rgOmhkE}f08 z_6B&I%bIwU4veRFJ@)+WC24yapUls@!8eY)u<6s)$>;^43Pqp2!W1} z+S&0z#)(07gyPBJDBE?!?f&@3ul}3)AHV58uj{n)Ut7iwFwQKh%RszTsA2m@WcPQz zwc$?bf-V2qkBs~@o1wbf?UD@&-VE~|%VSX|OHYv_uDWDQC zLIvmLp=HDMKzFzN&yStiHe=<=o{ved!dFyPszm)ykrbIrLW>E2q~!auhW2Tf$Og)=uCSxgOXse?(p+uNV;6x)0VTJC+W&_3HsHF9 zu6BDNwtnvR(`+rKgBAlK3=M?>k34g5r9Q37Pre>M;_=17v=4QOPh70kSn=) zHzim9ti25%y)L8cyS*^n`o&vbvbC5ER&)tB4de@M}mCn2NAAatiUwW#!$`y;W_kL&Ut}9lv!WoN+QVRBqyXpL&-`|ye-*>;PbhV=20>j9!qkz=x%yMj0yAeuTM5BO3;Fy4O0^5@i1V(Q?|z?i<-Q|ZKKRm8 z%}&4<$G-WSY4@Bqj~E}Z+W_Zy4TnI~@i>;2W55T~Sm{@2+(Q){#> z3#Sq)6_O)a@|h?1wto6I_>8a9JqYECpU5}WYC;EdJre2$+>nd?qfV~I(&`ygpLX5S zQl-@Cb|iAytarW7dgt(wXRmqs=>}bhCCR5=?EFe9$?j{aB^rpDKAs_e>>Hj|dg`U? zN|f&Qq}=wIWJ_Yq)S)eN(5 z365;P3kl;MNCgb_&O*5Rb66eUi;Nh+h(CazJTMLB76Z%$5fjp;fJG-$1)HQ9#9zIF_~>)kd!SYI1JQm+s~^AJF@zEdFt{MXWbj6We*4%_oSR6bC^bGG1pew$i7$;tqL+>( zW4crtQd%oX>1{~y+0X`$B7KYrOmxlS08YlR5c6pQ(V(P-l0SYx%J3LMR}mNZ-K zm>F4w!^Ib|EBy#GrX!{r@t(SmVlX_60k0Q*r6WKzi7`70&6nhe1caJWJ$G(HbYS2Q zC8ZQ4ga`n5;E}(sPDISLS;3Z_^Vim8=r8Gyrrv=yu>p5I&t9>v{-ZNb<)hfbyX6xB$Y-bh(@Zxbe)EH?vGh|vg8yoMRm5DI7RIu39;;b~ z?RovFl@DWiV;*A#M$dbo16?(-5AENvb@|~#hu;=I5i!?hgtlz$ zLl_85`my~hF}F4Kp?%vgTYl(p?;G;9=Wf1ApFX?m_E>Y{sp^nao{*#*c2x_zl*15R(*HfCRRw*e|AS6)|P~;VU zC?v#je4r#8ID|r~N^X0lNDvAY;a<&GzkKlbnHT5%{TI8t(^oB7qIXWWZm&v3PgP1P zUr3_8ivOnUSCR&ttE8W8`tm=V)-$+g_=Df+?#?d(^sbpRZm+7TK2-tA7m^T(O3tdc z#t%7HRx#JK?#$&qzkTHC58|s|%|EDA|GDR0e0OPJ^gvZd!ynpe;;kQf@Zo=+)qgZ= za-N7&K&J$K`+-QH;Fuss_QF|6$-BWQcqrgcorTu}pIC#r@7~M&C`C1|9@u{*QlxyMOqjGXM0I za%ADb6#2dVu^6TA<%~guA^bUW@XcFp!M$JoIxf58*V?V;tWo);OFI_No4?|V-T(6N zx#wPVpEs00THV?BFVhl{$R{3p_+v8$`!j|RNt;nnr9g+$;7Wl}0y!`q*C}})mAL^Ft$hlg)KMX|7Ao z{ouood}z**!#RzMNR)tq5X5sXie3QQ&-{NUeziaY=Ncevo| z-)4VWeyTij<{4Fs3i*q_(tZ7{=bn4R;kf7t2>-R@vJX( zUw`+x=U#mGz`*E%sU3BHXsN4jT^*i-R8WmLNl={{AbJv+@$Cpgz&3!sp=Qj8ECACx z!2<=YUSYx23-ISVZpHGuo+eLrcFNN?f1}mp!P(Pc-7%TpR8!l!D!3L&uNn!Opcb=0 zYzz5;=MjYCuq_My2RTlyS_#dP2z?GZMPcF9^KkDSKgaSrpCM0ncF5B=f3wx({Oswl z?pV9_qPzF*^$yRQAOCzyZBte2k@FEAO@fIemD~Uo4o3L>h_??yV+_Ls4(#D&kmEi? zC=qQXxb9C=U65fe_nZ83e^*6w{rhP;4PYD8ZT}7JqU+?)}rPSpMs$$x~fZ zXRVLCSpE zCb9UF3vln9zrgZeKSiGE?2xBz{zj`Al=*AdUUJvaP<~HiWBk^p`kI+5#V3(0RU^r& zs7WnEv^X9Nvv{%i0CWHiG=(LJWeC(lNUoq_9H)GG0q(o^H#qedkCSJ*rpT3>Z>%*u zbxxOJ|4j&y_dT>}ZEba;+i{%bi9{S7jN;SqC9xpQhPLJ_B4o7z+<9s1oW(1v6Y-VVOil?l0=})u8yf!L~yx* zTfcQ_&5Xptq+^_2$h(4vf(AIAPXPFWLr&%^1)pLg5#D=5YYVWVU0uebdMTl)_I?G0+L@`-BU2lpH z;E~66uz&xDZeiCpD zpjp-6y`6dFyfgp}c9!6gNAJeA(H(GGLvJ{?T6|V(Dlstj2q%or-iR0|Ev+OY!idf5x`aJ#bs4IuIQo{{;zqQQviQ2m5!$>VtafsHwC_T@X@0)E0PR+c5t1sXswu1oQMuv96 zgOA*e?V0`XTBJG7BryM{QP)b>eL@E~gLE+HRJ-phhLYL~)3d)14N{H$l zd;5#HWAjrmHHLXk9Migr$a@(OXt1&b4?cPiwhrz_u|=qZP9Jfn-kx7HvScUHC+2sm zjxs+iA!>x^Pb=L1{2^$JU}@DnoH9L+Tv+DYS%L>2y&GExcA(f4s)P1X;5x)Z;&v1QNN^!YVI(VKRf$Uu-@9S;_PygT z>`P~N3Mpsis->Vx(m=dTK2b1uNJhr9vbrX9$pb&WYW0B;Jb%>lUSQH+m{*WYR`_%h zKbXuXfE4ij0J>q6`6wqb7LZU}(6L-m)>OsL{=wDnJZBuvll^Z0P9E@?MNnZ$N#(2g zZ^nM5z@-9{l4Og%Ohm0q{&n55)sGsTFN}=#?hM0Vrbme|grpF%oLS{9@XL|n3Ly_k z(eq^@9=qhCC9_xGy=BMagb*2v#bq`min<;l<{9Wd%M_yY`fx9dr8u;EnkNamlfDSDyla^EDHB z-Jn^bPQv$y+PQmzuLvPBk%)`**dXz8F8j&!E>#^0**Ts@!7vzA1aTQ+SMP`dfDh>w zvP`Erq7d@~JY`4ZPjCNk;@CP~YOYhZSAy8NyYTEdhGxvDQ`xL1P16#^{21|aF8lHH zE>#@}*^!>a7a@)eXA}U`OybA=08iQx`LqB2EpaRzTPOIt_7t8S$52@xB{fZ#ZqY?p z$g*EfX_K`+m!}L2qF`D~Dut+$7%!9*0Hib%1>K-oD8zygFUOPehj;veXqJwbn(LJ* zIKl4S;SN{!Rh(CvrYUmSJPC3xySbx7r2;NzjgFyUl>0X(1%ja5zqPuFEPJJYpNq!i zPk+0S*p`m1O|SItQyv*S*1vjOW(&ill=ax1`eq3>Rdt1Nln4irMMRi`tw+l4`GL+V zxPB1@?jovmY!Nv;djIW+83J1y3}vbUd9mx}QukTC{rK6N;Hx4cS`063AFS|`aKjRc z;mP=U@?zJ&Pw*8XL>dW0X2#Q`vPJ>eYpKi@Fj)K9E=poi5gx zh=(4$9Z|!_%Z;WoWP!Zc`5(cLmmN8J=ezE#aV+zDhR#$zpXW*`jS#RC~+@de_C5*&vP+oQ|9r#E-c3^%*Y83}8UjHb9n+o;FMEl8z;sOm-vi0V^k3c(`X=k5`3XYA`!~xZ8L0Ibl!za+2(hx zX8n~l2l+uWM2rzJMijS-{2aGv|CDL8^ZNI&%Ia$J^ET538)ICf`0f zKO7EGp-?b55nXidV*cv8|ABQjPG&i7(Wn(6%?we57!iRgtssqAVajO%>aDJ$t=GSY zl{Yn!C=^IfrXasZqJE`OLw+G`CR8KspYkpK%ewj0C2T6> zbCk@dNs}h&Oe4-fAr_&rT$1cuhW3a8{dUq>q{pU`D%iwQHuEzMS-DW)^4?2~6XzRb zaGf|K3b81SWlx;1l+w+zdh(r=IZo4Q@6>OyU)0Q^KF=oGF7gc(DEbc(S%}bBHc5qC zhB~A}zi(PdR%8-M+a{K_nV)qjl#K*#$b9l({pxxJ2`6nPWCI{&sdLJ=_^;~Ep#8!jr=&j@I+@%e02E{~8qcOEpUcnzFHgU2I+Ix0bV9)< zmMSnmTOcbNvd$V=ZiYg!d7)6K%JV#8jOm4gFM z<3&DIAw{<1kniM46!PS|dE(N!VKUDxt zsfo}{%TJ!KHILloZ80vpUe-(s>Kt%v2M5nKLj$;glS~7S4QQn^uf7jQF*s!vrBsK- z&ubwK2UsvOmKe$z5aUf(d}pM&c{|_Iyy|+rF%s1AxAS}SNT#oIUoI-e__8njZUmqB zF{$!jeJ~W89!WWX<2ryi&vg$b(h;YSx%F3% z_cf2N<}bf{)%B5BSuo?M!}up@KWP{(tH}%}om@cX$8WoT#|T!h=Cj_t>iVjRvS1d9IJ#wCUJAeLCv5zlyYF!eIbO1pz?nItEMpJ*S=qQBwtM-F65c2y)X&c23E* zx3|g_E3WvVE^54q{nv3tfFe3wnEk^n;2F?0xD)>Hypw<4E&E5B4R z|D4MOdWo}}2Z#EiTET^!+JslnBPaoYX&BT@2**dyoH@u(Zi2RZ z@0;`qkR}T}&{@*wPREH1GNt~ZZ+OT$*LPu0n}S_)W}<1+_LBY@G)&n4hW>j_Jq2D} zJ@{MnH{MjgacgX34Ep=T*yfOx*oU4_H8wFH=jD@dxCuuTz=*>WK3rE~Bs&Vr&tYRE zh<-1H>A4KDg#t>40AYo6Pgp0%Col-9;JV_Z_(c4!s!(C9i?r2hWRn%B*^m8Z3|lmT zv(ibVxD8jhAju#g;QIojxiMIN4$nq{81cq2)6SuIEV?)g3`Pv6Ga1j8^#74<`~4Ee z4K(&r$V%)+Z>SD0>JsNAi}n|U3xW=*JouhEX#b|_Ao~0irX6N~Ai!j>lEzMk&q#-o zC(jo`-W}0%LqlZUh_RQVX4NkAhnnz$E^uLTLVp(=27m&5Ut!oDf#&3}sk$D$ei~El zG%|&WZ88B0Xkx5N4B0kI7wr6{$~1AblJS8W4Y*+@uzk=+%oM0Z9wS*BTq~ttw1K@# zW*jL% z6NN(e;h#I1(gLv7l3mk6q3W`Dcq-Rf%$L%4J-`3efw4V@aQ~X$aPT`JpgLS$K9vD6 zN#y&E(?6EY{!RR~&CR@YSpYtI-K4Tfm6g+!5*0#`^nE$FVP|S@dwW*_C|**~+In*Q zH|bLos;&yer*aha$$PT@)q#P($^JwAE(}!0%LCIiuE(VmzN@@}!EtvlaPU6KzefLq zeh~pGLbVmsNU$03TzB1dWr;*$I#+%<0JxHpu~=+x zTU*=sA)g1{nvdoGEWf3tg-V&vaMe{;#eLtOPQtAK0Lk=JNQU;eJ=S(;p6VmztNCx^ z4d=$9fzO96Yl&$Xl{)988(`dIuHbA=n+SQr4=SQc7P9*cZ26tFHfO|xbqAj);!OwKNB&*bbo_YRKVi<58QH~>*y zU43piXnj5q2re-VqmpYJQWWiX3ijr#o%{a4z{uk#%b)nY3#ZhrjEBSj7_f{*hOSrX zoRd@vj_cWu>+Q)F?Ee@Y&;O`nWF(7|dwCfESyx`ZG8~QmV=x$4r0Yf%=bWUJa9!7S z9A{51pZ|}-z`&12fRo}kH-opeL45rm&stbnrr#0{=ogxXUZd+8mrB8LT&LjrUD>?< zKv#d}2jBZu$Kc6y!V~(OH=}7~ED-p|pk*x54ZTWZoTQR)T+c4J-kzN8{KxQk_OI4w zdQEIuC>Z!e&@>kthEb()jY%cpdVaxioqe`lXzR<2-kC}viIc12qW*PNOM+(bQo9cf&qV6iPe1+i5YWPa z)?>bBC&D*0sf_<2{5N&L6OHHM>66}D9S{Gqx-7;tt(X~xKuST8QVLQCjHNRe8c%)h z**)FgJ&8`30g%&b%dV)5McS&$%Yufc7c=t|FDQmmihL=MOlL4OmiW%=eWRbpiO*CS z0NKz```$<>{L6SO&U9Tb-uObKlmba9A%u@~I*nu|@wwjKq3_}Z8_w;O6zE>5G z-5QUC!8tG5UrGw86i7*lg5zQ+k=!w!&#l_Bf1vvWpTPl$Np*GKi^t=)Mx#-1jZdUw zIjE165`{tmiSh9rxpZdLKq7HM{E3nRPo#spd=9ll=RUx zZ1)e1$g95mFPmRFkxqC*pQUrAe6J!Bx-}jOf^!ZKLn%2Al$1q%Tn{6u%#N|YLZ4X; z6<;flM!p=6M4)ThLH|)uP_m?t>tHOI+MP~kSM49o>^T{JQ$yXCLc!oSLZL7;O)I7~ zEu8_AQj!n?uInO`&2+lH^S0jJp;u3kPXN@470ofv8~d3M?mLvQk;q6y0zPKd7Zd>O z?zbpoYbc8_5Vyd&`JicPA9&)4C&qE?M*9B(AFEca3Z%37pGePrFH`}Ej6gsanA2!0 zV!-|Zlg6_;%A-X-W5$z#fbqV^AAfw{IQ8&f!T-DIQ@o6%RbF(_iYuk`ek6Qvnvw-1 zv+9Wac$h%U1mi}Rrm;`2U%&po3C4dXf9cW{OO*0{B7E-@$O2M11ydK8+h{8y;J}bc zV;LRs2!SyZ#Pwla<6l_6e*G{0ukjCdz@<)9oi(j-eqA)YwYn_I6(ER+GscKOC^c|O zsbWM>B9r5N$@I!idwbTMz;ZMLpz6!4#=6Ri9W@n|F)A(-YQ)&Vj9*eIrIeD4NTsq_ zZD4flJ$nZdzduoab#?XpSR}kP7L9Qt5{xm<7|}#dF)5`IQc5U=Y%a@_>D0=Bf#G#H zPA5Onxh$D6>2r0JW#6_e(=Q&=C02}`nJ7y6LMZ}#siZM5GQNFx#yzjMx7Ptmho6sJ zik)vw&F9K0E598G1pHzEFqJ|>-gtlzLILCpA&k+{k?mej?|Hq&yN`~_U%R%MuU_3I zzIE%ucTTNlZ6Om$Sm(4?K)_{)I2~X&A z;jAg2tB!}iZR(m&AR@*}`V`w0rJ#fq3QGA(Dq|>_*`CX|=e=+oeJ1LER(-|CD&x_A z2?hd!iURRN{Rc`ZA*E7KzLe4!O{RABr3V*|jUjg;`Zv|r-w+H2eyQt*V2l)Fyy*X> zCnzPA5JE{IeIcb`+qq6p;;i1@QV8v_I~Tg_vdi>*-hRS$-3#;itpDDNQ?z73j`a>3 zbnW6K0O0=TALwmW4O4zz1=;^@A%)&M@vf!>*(m9;o;E- zJkPl@ozD92x-dn{&&smCVS`qklY$ixxbN9=)K$9brPqV<=TF3yVFoqJvR;YDV@n=< z@WJfS>f!Iq|GVllG4s0k;!Cb^-NJpjToytI|GgI{X~}{d>l-%cn#1_d?Fh-=JRMh@ zb1f7KL)W$I)~{dx??;-c{#Wr=tXQ$MP;efz?Y!kUp8w7zXN{&3RuRM16Dv2zAvN{T5-lwyoOB_ZxzE zreP{eH*d$WN96#(+S(u%O|F>|3R<^o8W*nTGa)6HN|F>33KG7M$mSIRlDR?{z7$@0 zEOPqP0Q(RCxpe8o4Zv^Z0}wT_*pxshbi1zW!t*>PrQ}j7n#h3V`vRG4o&Yf4_YEbb z7mY+uM@`L#P}Jv$d<9T*bDR9^2hWSdEOBQ*bCu)zO87!k(kCf>C@G+X2hYosl!E!f z*KNDt)t9TfvWWU(aR#`Q9f|*jK9i?}O#OBaC0x&Ez7$+YK_%Vc3xR^;l9GyfzA#+h z^Wq`vbTh1%^jUf|eW(o(lPZIC0n_}Ju4&Tqd=gS>QYn%`9K34J_I#2`G2a)4@TC_G zh2~UQRsRowTzV9JP^^E^*w|RkHU51mmGnH1gbh^WdSH3 z#I#?o3m=*Pv_ZdI7v>-t1U8`2Ds%&d(JG?FZFX7*C!wpuU;QX6y=Peqjk0XB^tHo12i=n!vY3f%Ik+L116JyXAfw3YVs(7=KkP<>ju5l(qmN{c;Wqjd*(d4r@`Yg57 zfJVzT&Q?k(l`jP6l7lk|#@N9wRw`BMj3s9T#WihVU0vPmfq{WtILh+U(xppTdwaVy zEc5zkFkt#Z`j}{Jsc3&H14Kd!XUr4W{3?TGD0o6KjdN+}`V9d7rM>;gGwh`RYX_tm z3SA!z22CM^PXu1fA5LIINTf1|M?yIN?0I-*)2j$t27D=*rt8wOtQ!FQ%Tct!nwF)! zmD>I9-s)ai6Qg?9^@JkEC;AK`4k-%&2(f4*lBw=eVh_cA-%|mdufFxxQ@_;O+MdG^ z1}hW#SV6izWa_3Tq)$XeeN^!`;+X3GS z1m6`7S`i_oPed9-@tQ_Pgo2RJIYU$2MCVu@i~yk|=ZvIj>hA^c-S(reaBu)VW4Kn+ zvG>XW-4n6jg<+iTO^F8ml`Y>{!>&Mo=xw)CO zwY3S~SBs?dD}3J*zUOPc?*qhe|ML|kzAW(>@&yTlyMXIL;~Lj=O(-Sexm;l(fJY9U zg&ofKJWu$3kxwVU=Un6Z3Gn;+hUW|6&+t80`M%Iy&jUbs77`5xm;)AbYPyRNHz z-`73Q1DychWt{0p;cEcU46rsp#C1AF*I3;5g=(yglTtvw;KCOZ_t6qK=P2IB!Z9$E zl!nH6$TH3ZuxrCoFti`J0|uZbmxrh6oHzNtq`H_%oDs6Fgecv23j#PJSegb)XBbQs zBwi2`>G-uBA}GUQK^G>Hs}lpX*xI~jArtZF~&K^ znE;O30bkVKF53YZT)UWYuB4Jg1o%QCZxf^<%$p(cp=JlOX9;}cP751e&cesO_#-_0 z^k!67#+Xtd#`)Z;V6bK+pFbjhq6BoTFf^rXNs0hS;luYGKuH9HRcLBlgvyFp*t`EJ z^!L96T@NuKl(Gz}Ez6p70lc)fxtXm#Y)8V<+GU4+=nibsS61o`Hti zI38HH9j_l4L?~b~r4(^SbI+MPxn^@$*AeZXxQyIjY&mC4sZ#bYUn&S+Kq;U$W?{*U za!jrW;Gvg?@M?b=A(ImnNMmf~q?*{I?xECyqtvki0Fr72fz-qbpzjMf$_GFw3k5K* zp&IpN5xlrpV(-ux0*1zv0*JB6uA7|>pyO!zPjmo`@nK?|5!Yo|B#vOffT0)fjrL22 z5++59?}O_~WNjC=odYq>7-PeSvW~`Qj5Dt3G8~B_7zn`7i~I1RRBKI907}AfedO{s zoI(NYB=|yd=1Eog^dv7jA^~@)OlQPZMP;0VmI>`peH73b zQXo?BeF?kZAeqh~?+O+SGXOLSyfNT8oKHlaVoWy!AyrWkAYGr(hrt)c7qcN$RMGb( zT+c_oP(Y#JFk&ahC&qOvV7`eD&>Q|!S86|mgy;FNOZu=Q@HGG!UJ61xUWLZRTn^?WD=5COWzVOhnCrJsJ`b+!5B128zBR5WlYfOepzh2hN`*#rPV z%dD4*SZ!37*Pc<$2tdJ;aC`|l!RG`^V+a@=&+SX#nb*fiV|?2aN8|;RQ}S$pPn)(5&|^NLkQ}%00x@@*4EOZ4&~z@pEWVYC~p_Y z7Xnq~F`T_%CRQz9h$}B%2wm48JP&t$=aaboyT8V-?|X`3kx-Ez3e}?60W-Xr51=@b zBT`e9Qlz9HAq8|jh;X19<>k{+RW%oyX2J6dm@)kl7)A))-5bF;mjQ#gp-}^Xm(UDg z-jVeoLK6|l_XJ6)5DFNms)=LH^jgfCS_{qzLP%V_@(eurTnDyy^pIt0;GBhY14q*b z6MO%R*d!v5D-@GbA!Kq?#!Sqv4P#Di7#e5rgv8rVuSVG7*xZ>UOXrGnrt6&50XP7F zj^IC~bZ9gMN|8{Cq)@O74dnp~4dqcxswgY+eTj2tO+vubv9os=oHNOYF`-yJCOY7^ z@(;dniqk{!K;Xs*7v#c5B2|Fv0iMsmN{e1n0=h0?=?djxg>p@2Qn!@L+5LyIj>P9& zd&o4+8%ashH9{(tgzNcmTpx^0#6c*Sh6dBnQ5Fp$M~dl&sWk2Q{G3A%&1?$XXfZ{* z`y@uj)9{6Wk^*#y{fu$wnuhX-i8D?&S*j3J`v#8BmyA6eF^$iJl*er8A(?XEO9d(A z!9;LU0-Q1E8X;(CsIfF+0ShjS`+*~OU=w`Cw1+K2{|xgTrhFGE*MU%gkj3_g07wOJ z0yGAgoDk7LhGjzO$LDjdJ!ELcjV=l#TnAa#fmFo{RVE@8q*UOHfl+bkg_L53t}9K` zkEl;+CP~w#P1~|-=dN8-%EEJ!Sz8Vb=a^|JNJVhmgZH;UDZtPr0)~X}2?3C7sEo3d z&~_vei7hBDsfxq-iNv%m!N9Ivkx*z(E|-`6gF`G73P8zX=Dmp@tpHet4$Cs&I39e@ zmu2x7Bd#BjUyA&tC!c(B&xIE*+jQANwj^)s^0lr4A0A6VNI*&tM8!#-R0@oAaLy17 z8aV%yY8emb*-QJhUenYzlx&tq=3lg_DT*bTTuvqu4(GZKMS$;1Ow0|GQsA6H=M0b% zru1cPEX1;m_nNt5^DnsIqD>Vcu_T+%%S6iKy2b$__@X$0obVrw0U9GnApqga%8a<+@1krXP*!UzToNU1=K;Cli+{o^Q)hcK=_(|RL8czR2XB5 zxgIcclE9g#C@MHF5PyAB{By{QN$v7)hlm4gm82bu>O_ zj1?Rgr_7v$^Uj`!fMwy*3(mll8I5q$S-4UlmC2!FZy(;*yaH33s`0&_{z(xLX-ZA( z8y$@gVvI}W!ZKrsmrVtM5RXqqEY=9&JMeu6Qus(FI}wjff-xh4?ymL4T_^L$%wcw6)Hmprc?&O8OMz3AZnvJ3SMbO;Y)OmdN`#%idaCyvwOxBihS*$rAO0; zz=cu>TLx-k5hy9qP!U6QECSaT@MUq<)jO6%T`Y`{p<{d3000FNq#uhv@xsLmeH)VF zG`jq3z4D_U$f?Jl4bZ?ipj$q&`C_PABqSj{9gUR=mt9bhKfEWzo_sMo9G#hJKa_Q7 znfO~coZGPNrS8#7E;zIDTVML1y6@5FX=p5oaL7V7R{#NsMuN!O4(h7P@s7(E%UfFS zVNX2s((vVHp3(mFarg!cZ&)(>!02hy>ncNKm#7`PU!{SuJPMu#+W;Uz-@YlXz=tdo zLDNA)RT!tvo-dOlkFo80`-k`TEN%y$J|^FuHEpBu>{C56>*ABnUv!Gx-8;g@vIS^{ z0mmyQoC#VQ;7gPRb(}S~LA5{k8sGYQPu3`pJPiOx+RB*V&&nh=ZcGgJ%&dw`x_m*6 zd~K+}#%%#pXK?&tby-@mK@A&((;Gr+{mx;&y?b9a!o+d;;X-c1w(joHnrOK4?8!Ci zz(|5zArUYwc%pbgtIjzJt^<>EOsOi9oAz|EuCB4+(`sstTE9z|F6H;!bC0)d{>;Zi zkaRIL9zFdHt#-%m>4GGK1R6Sg8{x1Op}pM-rGZxgO`A zJqO?T@gL;w{e4V$?i0KA@AsAhTKgN>mH+@PElYW8YrB8RnfZs$X!4d!ZMsysS_QW3 z*n*znad&+h3-AF5BOQ7SI%X7g?;UKv3&5~P=2K7i3g78UU@&N_7phzLvpJ9hPA zU^s~OG{TmN)222eWEvQA?IIsIlKlXHvj8X*XDOe) z!Nzzhh&=~1Y}&@KBH$rlNieSP>h2)A`b-??(sAXo6xuiIv~{OK5VClAcXNw&@wrp0 z4(9{Kkt^pM|Mc1SVqi3dmpeM~#IxJ5I$|Ldw7@ln7hm3kUHkg*+U_pgaLq+{c>PQC z;?@oXIWGXfyyh0I_Rai*od5xlQef)TCE%Q6JaGVt~UoxIRz# zYRU>WRT_LuO{y56>9qzL>*pgBss{k%as%k?+XUB3K>C%?%|<|VWx}iKTx>ZiS^>b8 zd+zbhpVl~DT~$8Gb6ohDEGjs|Dbp*_P+JBfAd$>s+pAqDqzV`xOQW%&5-+^kogLp> zynFUo{Cl=+@uoLajyG1+Ov*YEBWV{JBb-tnz@#z*N&zETADcR}7%fN)hFvsOgz)12 z(d=Gl=vaIJfVpvF-m9xk)s{so$I@BVH!?;VXK0*UkLp-)oIjGv;+3IcctRp%aMYAV z(VIwSGU4!X_2<%cGWiJJb(w=z%Yo-#GN9K3=bqsr)=>1HRG*0#w&^IigsL(hS1ot( zt)GU#q~jk455RXac^e7o}z$iu0zIqhlbCxWzH8(n3SbfC7-TeRK@i@PvfM8P1+k zhWob46>>^j_z~;Ry2h2SO|ux zqatMLKyfJ}*F+0mtvi2Ha=c7CvL^NQ*&={02bb!zX9M%3+fbf0gM}i7fF(2``jkPaZ2vs-;Mm-2$ z0778a^c)`BYd{7)Xb}gNQCyM`!4LxgYuVDH=_6d>`|(HsH5E}bRK@VvhRtZKi6d4X zf$zD16gc~oDR^OP2Vx-;f$}f{rU9uGw0OM4KkumeD=9tBbeKjEL>0LI;RN;`h#?e; z!S_8#=^+?wz@tw)c%>tRV6fOJ1AtZE+RLZwZ9igBJ zD`es2?s1smAcB?wA&UF()m3rq8cG9(f#Uv8@k&Lm1&^lB!QY?&-_RIBCRb$^M_06r?y;ybkOVbZAzjVe3p2j&$ zog*F!U?iPI*fJ3|4fsO97ZSDcC^B{drp^(v46xEyxycCtmaY2u5&d)GM<@lOD(vuz zn2$+~Icy(S*l!Dj!Ugza3jUZvC|tmP+sDfZg(;JAsEGNf3OihFD6T>rX@ma_zA~oN z#(7nF1oLJ#pnqTpnM?*%pQ)&1zi1tk;9$n91S+&rOFqE+PH`7u57-#?> z_0rvXC}3))X`s9;j6vJSpzXs7m`LXwq;drqrjC>(bfq0sRYnmGng|9A_KlBSp&gfh z_gT8hNegHURbd^zEXERq42F~~kSYk68i6x{?Mc)`bOdz;LCB{Z%efx>a^2W$Xns;@vpLj|_Kwg>wt<_bzHt9m0fI8Buujm>z?&-|6@7$GKNISe}oF4 zeG}03P#T(610n&=ID8)yxipVjh{#q-Ar=lI5(%O^X=Bew7J*;@$*hA!)`4ai7|eU< z7)&D)4S_QT&In3Q@RuH)&&Zal*oVae9GQZ^c+N-EO zMt}gl#eN0=7nL4(-kgT>XEatyMNo_}ZhKi7R{lr6BmM$d#IK94X@$Bl51VM5}$h#7p@TR>BofB-gxWYqF zR2A0c!lvj20D%E`R-5#t;Eb7db(Zm=3I5WOUNMc%FAErwF;a{G+x5Up5!ReB5C|G$ zuwAb>qlcoHsmr*@F9a16RUFBF0B9{9Q7)cDR|1|V(L1amoh1OGxPM0yo-5Haq$80g zFeQ{H04U|T8re!I+G8D=4?sepP>e;B@LU(2eZxqm(jcb5Ie~G4<2X3bJA|=B3XGKU zeIH7}^L^h|O3~|9!&~@kCLW+*gNoNF3L%irq>#^N0i{aGJ_y1W$YfH;<}!d(kWxTM zAkT_3?1!}ZU$AD*s;i5JK6I$@MSY6)OH~Y@NM!OQUjd4lEQ*0;iF6)0+l4Bg*@aTd zb2V`+eFy-QR7Ji7e5sJk3*<`6RwaLgFC>z-kDOclyHv&GF*a!h0N%(}WD zd;ekjLzNmIRf@z<=L^M~s4%f-M-WmVoi8BgxF{W;BS1kg!zKVP#%H|6KZ`Fxsi*!O zX54(q(3D89piJFod50jSLeO%daRrSR|6fQ2+aZ{m&mzHsy7`i!Dfk^`yovQD<6DY< z%eKw<-lyL-r92u?K}%zK+kq4kk#I4XN!J)6VG~kF9O)2HM@J7yfp zdXqdYEewEq_|Z-EOU{@%$1rroIVWF8NU2~M#XUhyH&$K_f|#~{D{K)(Kr`sf@}gW?S23k9J7Q=@}>zy>eoJaC1C#)&kh)R_&j z>Vj_02Y}{gyoHaFkM8PqXH*3ADJEx1D{aXrrJyrbYUmks#-K_;WEvx8a;C}y`jlP0 z?uU@XNkG|oXv!1ENOdgHstDGn6i`#uN~ z1HrW38fUWc?X$%p?F$?P4I!7?INAAi*1Pz zr6|nf4^XHyi1DR@l0epx$T*_7Z;j%K6)1(ABayOwNU07kO;3FH(Ej~RBRVDImRXHe z%yEUBT33$$cg5I0|SE;NlHTkzEErb^z~HM9j#sGqi~VR@By zd23@5U)(D~FPFF-)$IxZ3ckB-Mr{RCN~ww<$9vAMfW`>lm!6K zbyPG`fzSTqHPAGUT;4_@odwf01fn5);>J~A3@A7bgm6hnLKKArK$u@{HUDTz7XRF9 zhqoVQKL~lH6zqafRb^p(?3%^UHHK{7MIl#!X6lHB0=V(*i=c6aT)~6y34oZ_w5{W4 z`rr_L7D~bP1S&!Xt~;v&8VB;OM8Wl;v10Jv>NCp02*^89xxOL=c;)@Q$=t71==A8W zw|{$53TyUzp;zAec4d`Pa6BJnp#a`?_9@UfN8WKUmd?O348+4hTz=+UFd{gf4_`_G zNSV3u+tg zgJ&0z8A}5IA{9~m;0y054#XT+E;+4%np*EQ!sN(BWeV`hjYU=C+9i5>+I*0jFG{?^u3 z1%Nj943E^7g}UR>$TZjUQrH{RVC3rs7xLS8;EP6WUg3WbS5o1x*nDPbr8LP%8+G^sjl zWCs(&djZhAwxcdWP&(uERF)gV7Ncq*m0Z4H76SpE5ExHq008CD2o}zq3@AWIB`rqG zP-=KI3sU!;|x;QNYvA+ch1^xyt!Gb&o1=sy?@)Dy)TZ)drB`e+S(vmTEKq3vGc)XHveTM z6!(RagyKj-V*n`$oiLG%1HO=g0X&&4JlU5V{7g$ri?;W7$X=)hUU}r@y@Oj4-VY}D z?SS9X0=9c#^yleJ_Dd;fbWBw1(-;~H1dG-p^*nA1)RJKJFh^5T;GgxKigkF zewN$6=WsqIM!bZi>$>pl6r}IL)Bq(sSYaIzt`G?sfbyYp1t&LWr30YFa9DE9~Y z>&MSNGJoPR2`L5aTrqMLD4vNnbPkA?f=9dE0>~j)>t;_>TgNQoe7XxGZlMJUEUAg34uP%s8q(%?Fo= zRnnIVuInpb6zfq41&tJ#lF*qdj>L;+nBjQEfgLGj7wW3rq4y%c*dOS4aQnXQt>f-L zAEM91j3z0SLf*EOkQ4l(|9HL+f+`(pD@Nryo~H_~2S7Piq|#|4CN7X~^-rL*0I&wM z>`o-d61c|8*&~2ZO!*4Z2XPl6okS4+c*GLU}oRWGsPemfeXY))bHAAO0c} zk;0laRJN=&nM{pe<2#uVBBeN#A_(XvL%j4)HyH>5oRlI`%6Bp&$<+8YWy@NVShI%c zu;8=_``5Iz&^32HkW7vyugPaKBLu0Gl1fSm&H=OZk8?l@0i~oONR`iKMv|k+Yp%KT zf#jN&mLu8^K((~AQ0qMp<&)XWwFSrN(>PZXpVc^r&KYz@rDIP3BT}4^v~4#%FqF9Z zAMbi(u%+dw+1gY~3+SPNfqXh^UuzfKJ|a?5DkWtx5vzt`QdUOA4oelCRl2U9PG{_^ zf3ry38mGO;`z&b-X2M2bJujG zQb`=O18y%pL?)yH3RxHMd@v<&RR2)|@O)$v9;5;k~kp^AP2CgVI;5BPn zRckBMo>#{{TUA~0u8N9SwGcw?>mFl+qZw4hLr8XxARI7p%8XjY8ABqKEexddpZMVm zFW8F#-ZJogBNDl2x#G$JA(hD#RNnstic62YW%l=t z$bq-ozhOgh2C0!4$vGN!ybiUZu>c8%9lI*Ab$1mS>+%>KvrrzfamnItFe3E#`YMs( z#91M^s9`~V(ZJiRXyl@4hx3<~5^->bkxbshOD}h*rm2k(5?H@!7uIdsjak#{(Az(b zx{5G9boIF)jia}_Q;jCFq;pDM-moBl`BC^2b?i$TQp7Nx=td+m35G@J>K?(??FUd> zTZT-o08$D|m&}Ex=}0Dr;kp?p(sH&m5=4Zu{Vy(Xxb>6QZvEuT8>W@?S-O;=yhPiLnhbc7#0E5XiDx)C~;}}e)abS2HmC-PU(&HeEV}4UDG|rGnrBU!a zFrus$4kuL0SJ@p0w#+RY!9M|jS|QbXXtWF)6Tflqiq|+TU~rQu)A-XfGf-7gT)`U| zGja8W`w@>h9yp9#+P!PxH?Xnv-J=G&P;0AH>svHh*19pV{+oBjD{EUI$Q>9-8h8Br zGniao0T9sDH-=ALcOmMk;vOs*>F&|H8drU1W9hp`<+rxB%JnTR+OpQxjZgi!>8|SP zsurK%Ceu0Nndf$*ygUK`NQ`H2;rVkAi-tUtDI=Lm-u3PuKeDm(-DC1wT9#^GY<=S8 zJ8pXWcdN={cX(i)<9hn@+dB~nThKUR{Ix!uGrtjK(V%Z|u8$@%zqsvpPd>H2WvRC8 zu;|z~^C4T7F4bDw+h6|XAS}YG?JwV{!6NDBdOuHYCudIk{>1^@uN2gk9XsTLv2^rRGqU9j)k zH{GSR^ZDMmG2V&?&!A#DSOg;ZL@1JBMtdA#`5@uY^UE;xWl)CbZ9bnK5a z#v}@!7(JAASUJe&+{E^d159NTARfTzcnUxI!?UQXjspM&hLiZjKU{!{@)%S$fo&c8 z8RrbXDDrWH0mN(b=1uU&Ji(C8cCu`G7Q)deY`cIB>pBn&SPJX&4>Puw*)ia43j^<6_&(eXvX&n#Pda)sF?U>JX0v zVB0SG2FC$L5RfJQTZa&B6MSEcSq3ngb6K|F!PGSrJc(_61(eWmEWV`My zo+n61#><1cid!7LNe{k|Xo?vSN=ZxOS~}po16I-z)NSdpY>daNf1@XBM2Bex<|$VDAbq5N?V(Pr?T0v ztv_&JsJXd0u)3}7c=kgG)vIxd-#k@|{=FWU=3#o{IGQSx*t0JPgB5W4tU)m5!%OAx zvxlpcCp8dLTm{bAcx!vR-*!B{k3OX|i0jG_UdE5`S+IfE!thnmc2R1OQDx>hFACW zp|^h&U>YjQPfU)uR_O8OW|8UP~PyO!u@x2=!c(BBO(@aJIeT)$X zvJU!2#-Wr#JRC-OD2V>CBwWu!Lq#0K81nf%_6#SLA_mSVv1QAaROL5YXFm129~{j; zi{&B+wH7=%D(fGq* z?c3KqI(Ua#+srRob9{blYrAM^S*msP_5HMeWc-z&sp|pL@TN6YAd$*rXf%T<4P}Ui z1D<7SdiTKSKv!q#n`@h!`3Af-L)BaO?d_sv=~As=tDlaf@~`L`(>cML6w{E%`xwc3 zXozwII6THkAJ5nWiGuyjwav{ON63J6cxi8M7tPJhJU!Zb$H;hM9|4A`YhFWn6eH;@ zM$%a{ltp3cnn!>!GM?C%9PPcMxw)AiEfXB@MhBC3*r3K;Z10S*2cHgtu^b{n8)wZL zz|b(q&@jhYvjz|e+F&e)2cHgNdsmEU+=c7%!9!Vx6$Jq4j6E1I7@phF$9{X?dT5qJ zMJ$NR7SBXi&oDZBhH%;9nW%^bp;;2Yy>C69+tJSg217bq7(A49nDPLCf+t2i!EA*b z1_rk&Ctu8vH+Oa&QppSk2gWdCYBgf909;36aOhPy{xI`=4xwZ}@WyQVt#qIOe*}P? z$`-Ko)dNcS0=lkaa(y{6xdKMUvuLP}BNVUzMR@h~ZuAeQ7$br!iu|JtPyhgS!5tw; zJ7N3S){|C{5*h)M;ySVgfzgux1T_MK!p?yVx>GJ=q~Lhy2Y~iN^m)@B@aolV^6tCu z)^EP~=HK4=(W|C6!~3r9kL52d}e(>ppMPwl-%?C?aFE~D zR-fL+KRTe|1=G+^_442_mD}XU*C5} z^Q0%XCqHSYGjHKfjJJFt_8S^QBJ1NHzx^lt;N#0NWBxSU(7XsYsD%JAK-$O*bmA*_ zt;42W!^$)?j1G*w-gigyq(5y>e$qJtf5KsX#XB8O!QdJjO}z|V7Eo8&h_g?hj5ALw z9yQaIgG_1=y~8`mm9Ve}PbHKT+`@ z{a?23#galEO?Bm1Fsre+1j7iLZ)0q91kdg0K{8uVj1jV_W9u_fl)?cJ;DggMof%wE zUqF3?V_sDlb1QX#2%0P)o0E9H&%tnBNCw5yiNv1WcV5%@^vk(V=aT8}-us?RtbXvx zL;0l_LLDFgoNKgaJO||!P#+6mc3lN#)m0Qf?B$V8j$rqA0XYc;5K`&%zOHYtsDFHq z_L{Na=$E{RetGd$0Mx*H2G} znmbO24?uNvR4W9ko$kT$cj}xyP+wCvcY0F=W=^gw#)C2fNu~GpkN5B1KlILT{`u+Q zwav{ZdS#~SsIFE(wKF@r=ben$0})G~+Ylu*L^Vug9O48$W4rz18RwnfeCXBT=H|Jq z?Zj?;Qvh($`#+Ul|A*gP!$1#2!=b57CA!Q@$@yz-v6m|M@Ppo z_kK%z*hmyo{bhbA6^*Fa&!1{kob}L^OUH4_tUOMcHF5HdfP%!skCo%+Pc^E5sVJS1 zsc}0wa473YcISP+-xnek4hLi3`RzufX+-b7dI>IAJQEizp7}<^Mj|1jsqp=!yI+t02GS( zEPNr*F>K?-o(wo6R&a!X^m-0um1?S3)~;R4SFc|ErV-dXzHsN~Ct>Vs^9#GU)J(>t zEB1(b-jmi^fA@>;t^t5;U%I%#J#EF0rZqHN*%K+4Px%AlU8BK0eJ{WIuEn4G^}#q7 zr4$384&7gR+b6#9p(`@N@q`rn>Cmi_at|LW(<(p_Jx8QjXb5n$4@#b|H_AD7|Q z9qqq4Vf&i_-n@1#?)<{7iz7kfSwrW__le|`1-STPg_~;r1kyM(A@Ik6#dzrH0MZA# z!F8p|BSBhu#d$-QUwCe$J5mTf<@Fy)AHH_&THN~o{@-FF5O~%!P31Z+1?Mcpb=O^v zkIhN}q=PFD_wEbgXTN(K-8(ix3j|ed#H9CMbHUKn%NIww!iC^d{#*GiEnsWbD17Tv z7fq@NkL@ZCI;N6B^=WgcTe}#S1^W;*8MyNBm*EOz?7cY6dKR8Cl*TMFV~fU4pLd?- zS0VOCuS;B=3=i0^9r)m>AODwiZ_?+>UsxRG;#rNLNJ`32J{#3@Ps7Ek1Ed>ZzKa(M zlhFNo2lW2!@R^}1VnMq6s%1l$UAX92`mnWY*U}e1`LWZ2I=y6S8lVKJ$!DQ{+8iuS zZ!AVP3Ky^PdDzoG47X=11Zk==8l=@%T{L{{rAvc@5hwhp-|sh%20Mp4c3-#fQ$O82 z!B7^af^QD3ylSy9KUdsyY^=8&@wI zefO2ij6~Fr{@FjWe@?t_6M1D1z88H6W}geSGMT@TX<7sTr0-|It-FJZ>=v3-jLZfO z-pC?x^oIJae06s)`=Z^-ByJ>Lc5Tu;EloOheEANiW^DOi+tb9 zFpb@P?p$i2^M3fZ@mrQ^zsNVN(I9WuO{1JKg6BAS#q^)~{ppqu{OW<^-^5?PRJ-$M za*b24Z)Qv@FLsW8J`fE3Y!XAuHNR^AoA|5h>Vm=P^{uYs-e?#`1OQyu%@~Gpx9Zx` z($;%Y^~;tnUCQ*)zAaVp$f>@N((ySve_k5bE$KvMd2vB=bX?;1f0=^kI-)Q&AvMm} zXfm_It!y~6G|N6FzxTj_E%A8#R3W7-I6k}L{2BPs-7a{3 zFLaGbjWgCW#{1Uo3eRb4YtKzo-QoP^W^kYx9v)j!pJ zlNzSX8h+v`@0IR>;mxO})-V5X{l^!^9EC!Bjch91qkQ~T+X=<5YFy@KW+KI@Xsj#YNHm=yQO^SJvT-+919?e=lC#yd780 zB-}LXHk_{#cqy{xxctjkUfQ*A(K*rT$urd_$Id4|CGgyNPvN|}G{&+Vm21zzsbvDU zFX+cJ&u_s$%q4tc&X;knN?^-v00@?`T~&{3d;_ zx}xjUGft0&8)vGIjbA`+p0H-{>o`Roz$n7_C~m>RMvm55U3h8pOIS5q!%efle4_eT zS6y;Z_u1#1Q&lr%mbxXilyY_eAAIHGn3sPUDGK3hb>GGO#t8mt_Fim!aSN`Qq40$T zU%@OEdO}x=ug+jHa2hX2~yQm$HOk zh6Rs&7_|d`L4gPG?79Df*;DIq`;6D|?51sKo>IVf7k(Ax9>I>c9ML~ZFWkWy&iwg{ zYAPzMWjf~<_74utI_DTpVqA?ky@%sHo` zrY5qCb9UkA$nf0x=PZtV@*OKr+4$QZg?-=0dCebk{h*Iy5(zjM`!C^C6UudmV|tc5O3Ty}C_&;}d6nCukX;-9HGwt3R(*HO<85KlDEIY-oe;Ihb+b z)%eBJoAAPu!U>Z*uK-Dk`cz z%MHs<=knUrIrDMjJ1@gycYO`6Q^3mie-cl|#Lqhlivzt%bM7QQyo zc|HDA`^u{FSZgpCJU14LVmfEIa!&#ecjob9xeC|%FQ79xhs;nVKDi{^P}f-2KqIeR z8jaSWCem4UKgTeDwJC zEA{n_L?j-2a>FGxl@+alU?3O>29&8Wy7ciB9_~rwLz&y~+46g_$vX#Dyb7PZB!q=? zXJb-1L%p6xQ@Tsd(g$%poxzxOY<@5p2nIt%{-ckj@laP5@B7Pie17%-HjP!n48?Hk z-krvK{ItHq;_K6z$!O~pT1fzTw)2&s60vrF??{B++i zzLr{qWX`}aRU>8AAc_y zrJnfpg#Fc(Wv#(rC>RI^m8mnj@6i+<*^cZ-Z>aPWZfp{PoR6&E$<4>e;?~9}OL+m|R;g=y1pAVy~1|MA-!Lrlm zVs@>CMm~bNOplt)$MMn30(QGO0v`UVh&P@;v#H{37qqlo^Tg`atHt9_KfS23tm2=- zp2JrJ(B^XG%(Ql&kJ>(gK7NI>hcrgpL_1PfnYHFCDSxM z5)OxJGMNlGXXxF#6H^y{12Q{~Y;qi@U->TcJHNZ`9D{Rk&Q_L}$3Gqp1qNzs>wh*n zI{d9yUU}v4Tf2_R*EmP#&Q~!18*7js8$xP)6iZis#JuOa_nc$s9Gq(_%gduD#6OZg zoOA5hz6~v3{t|}zdI18OufHMi&UZF1)HDs6#xE^DL4DrfTbENHpzLIdXZ$2a20LKR zZ$p%dE1b?LAIHdGGctk@(1YBFMO7eNaoI(+Q*LW(8~iSCe10GhP^nakr!r||#|NR; zo`F!HIK$4xPD3{FO$Y^8p%9P9>Qs4E^<`70&%Ete_ODs<8eg_-`B(n3$Go2F0hLT< z_~>XJeW^ZJQ_jZR<%C>f7e`NzY;j5^<$OVbQW>%fIC~_BS?e+?Y8M z|FzeOe9JPgXMuonGg+R?70}(=gGpy!2vd1T4)x=#w_k@J{PF$BNkZ5Nu|Qc|S@FW6 zWwld|&7U`qFRQ8hie;JCTY-SeWU}11UG(*IVg3b|gE?7@_V-}Z$YI!qJi8K26&>(nTOqp6k(xzy$Fl#9^B6lTO!V~bnHX#O3`U3Za0bTk!f-@gbl}A7 zCnEWD`(NHuS6lttNGOOxp@2dz3!ec$T+DH1nDAJ~0(@iabPSE!@YonOjYP0C_!_*C zy%>v^;V%9p38ml{Y7nhGK0lw$!ePJ<7Bid?*74YD5!}8tgu&4Qe0>}*3`cQc;58J6 z_q>^Z6#bumX5-Szvgo6g73Bfj&O^!^GC76Y&S01oFz}~WV)*yb3o$tA!t)c@G7`b~ z-~s4kuV6G5!B^F@q*zh^y7)f$v909yohdZ~bw}1G1D^qRoX2ohnBz_UlNra0BT-z` z`5N4jJtw5khG#ckQ&my+$9OEtY}h7Zcfqr)HeJ?>Ng?GNA5nbI~|4IA^b$55uz`y{z zZ|eXQ6y7mu0Np2NKP_FlG{m{~a4Z(RaDs1|h6+cb)ZafqJ>A{3bzD$yZx%C0N3nn3 zei;f!lw}q9x*4c5OzX=;xa6F3&be~)=FQ_1+8>uc&`&+x-PEmO)R)iV{IPND-+xm4 zqv{h5N2sT#sE<)z4Jd_yfdTaN{B8BClte5Xg6EWBpuZoTU0nz_v;Y9IU0oRH??+i# zIU=DDNeP%%u--JSli&-4LLtOrarE`~p|i6S;b`&Boor_(`uh7&R#uKsFhssME}zal z_gpIw2t5#wM=vP`UPx4x2cS_L{R0EoyL%UA%{>Q&XaWPnBk1qhkE+TTsw=}p3;+*Q z8iw`xbegSPy!evKo_~Jb$f5OnIA1A=XwZU)#nC^|kKMa=V$QiMVU3StXk-*!2lgW# ziy;;clazpA1}aVSWcUK1poMrWj)8%GyuPag3oiQyjE|3FcytV%2lgWtiy<5ek&u94 z1}jZ7@D{%I;DZlV1}*akhR#(clkt^O8WFgs2#kP_oNlU5FS79a?OELZw8R%Ls6gAe zfi0qo%~uZ6=`2!8Drg*$9e+XkF&+Jjzd(*B;iGf^+O=x~X3)AL5(?_+blO!)=>%|v zV&<9a=jrOk(_(mPpN*UUVW8<_}F>JCqMc5Ew~(k5sq!Mjo23Gjpm=713OcrS+ak6}IkZ<7DMHTq{%Q@Wsw2P0OUw%^jyYIeR4;cC# zW${=bl}b5EDPv+#=R)FLvo*Ybei=6P6!4z4HokCSIUYy`@I=QhT%v5Gvm9wDp>z$Q zJzGEzjbZ5A&wvF(Ov%Y^8*F6US9OiXLk2u2^EmZX~>lHIg)=) zB#Gx-|AJ+i=j3vkf|SZ20+SN(JP(fJVEeW$s%!77Pzu<-tqzXkknelsyJ-YW3E`3O zgyvZRbD5o&p9k=jrAwD;0B~abZK`YkUMMJR-?r^Poxg3{R<(cc>wp5bZQFX%e1Lu2 zvaAbpxokm7X`pmM!*w0_zK3nwwqeh%ovOdTA6vI0r2q?=lj^UZ5wv)>`;CEeb~BX3-Y#oQvBoTvt`RxwX>rGN-5OWH~c5)Pb6hA z+nD1x*z(e5oPPSL0D$e=UxDK|@H`j3nYvw~$59RFDeF72LHf^9(8T-vIED z=H_NTJUmRt;un(%3A}WWpTTSWgUID_V2s0a|2DpJ2*13~g^ALJ|L3hga?77E4Y zg+ie!&+~{ergP4TF;1K_BE~4=5v2;CDYX&0c|{|AdSQV6c#%(4NRjP0%*pL;nPt(vTJKFf7o5Rt(-C&r6>#u#OMqLf2aTOOnvS2WQl z&I!`JD-=!Bl9VerBnmbOr^si?G+AB!#0w5frbl)syYtVUi2Z4YXj)yAKDwgmr0v)B zz`Rf}cuan>Ks31~N;fT^^!MT0pvl!?y6NJR*MIWlIkk+@DURcSh)m8o@sj?WPv{RS zk6QGRWRS^Zt$aSua=AR&woR60kzp9r(Xo>p z*C*HWX=leyGEIXtJwP+6N9fa6?xgFN?BiS|tW+ukD6t#>F1qL1>!D||ox+t5?Ad|^h`Fx(`^LfhW^JJPPSyq5{?%YXsp+G`P+PQNlX_`j55u_=V zWAw?(chUPV+`|GqVI`6oNGVoKH2f#amr|AZ{Dk-?s?W}yJIV7r@_nCn?flQsKX;I? z>pJb(vzLnbf*I}EvzH7*Kb+70HvS$e%?N4Fo;@ebf8%OJbwM_pdz1dQog>3AC=dwH zp1pg?7lJfRqdj}~5)qMMg{ZM?oIZZpPWs@o-7Lrw)_5`lrQ}kec=y1G^7kI(>$Lap z#23fp?>Qo0vu(DcVCOGYrir7Kj1Sakzzs8j?SnpIra&d~7|Gh;npgag4eVVq8;UVi zBR!(A>>g@s6OVuR!#z^?mw2AX9LIsCy)~bC9zaL|H_ZWFANFCI5>-5lkz5X3Qvd{z z2M(M)73#d{s>1b14dl8n{r+!r4=uat?`r=;H+lz})OoX1jr0g3?*93$ZSLcb z-_|3A`*-tCl$No4-~FWHIOReJ#W^qi%||F?!m`5X?(W0L$Or&{NJl6XhVOY;x79!@ zQ-EBgzsU)%NjEII8r%|z5PJQ$^j~vov{0jtNs2y{0WWzJM|BRLg?%3g=JX)fWE$7 z1cRafDg4p^NVXITg`c>t`zC%-{}B57`@k4OBpO9e&jDDL1yUY1yv$+eDv)x3T|Gc7 zlmmmAIlO-Vr|_dE$v@;{;3eW#<<+rr7Xy=}L?sUdjgOrj180hHe z*njJ-x7tUt<*(&SDH|AL|LJ@Hc;t~srfZtkSXy2g?(OZ}|KSgRICIEnPf8!96el79 z0C(Sgx8BguFoQ8xPekOp?m%Z}=iX0#@{`Vgmi_+|8HO=9Ffg$H zeeZi;?nt)$6@25IbIzI07^?>W*L4S6*WJ5%^=kJ&gWufT%s=?S56+nIPsZ3_DwW!| zdiCo6RR1KRCL+=S45!oSeSeGo0I(L|%`H&W3i)ppvm@r%_+mhV2zq1h&yQ{a0qYgC zivU3<$^I|nD@Y=!Uq$LGjEr{{05~BUe1C5EmH!O>y9h!l;Fp2M2GbU&06zSP?0Roz z?DYx$GT>N8n@-67pM`6yf?06}puq{rzW3*bUi;6~|97!TWh`Z%1867&{oxPfN4Eb@ zsNc7Az!M$m+u#27NH%L<=eXXrN_wYxzNmCO#sR?8l`wQR2537>)3{#<_jm2>?a34E zgeP9EwQJW_)z;R2#Ime+n5H>96bgkjO+!AP_iWqlD-;S(X0zF!TzcuHTL7Sx%JR5E z{k{1Uk>mH@e}7YDW#vtQK;Z3$Vay1HLIK7Ya=DySC=|LK$9XK3O8w-DE3W8hX=!0^ z9`PTa|HvbcG)5wkn-Ayb^LfX%?Z29Th(6`j)zu#f27~W3O>=HA7!2vUj(k4v<@5P| z$8pw|^x5>+=zstH_fM&;ti0K>tW~CIP7j4b)*n$(%VOd-h(b+2NmtS!)H3@43GFLN7mkwY%xN zU-u)cuBviuWIJY=Y{a}(X;Wo#Uuk{y7R-HHVy$g2DlWlr#(jJIFIFAdxg=9w@Q<|6 zlbe69)Mvj>Nn_RN)qMKLSR$rsFRVi(g!w{R`1rA9>pa)h^F>{+5OmRf?1^P1`aAcA zvV-8zrNBE|{WzL_`+;MtdfT@NK1htp`-_a!O+F+S&wz$Td;`s~){ZJ*NL*Xk15JH= z9&%_d_#G-o)VEY*^?NB2%z6Fy!e2%lvOlP*VssbKm2(;YL;S983ur3#O4+brM;apb zy@{z&6*1^c`Eykr$89f6w!;J6$O4!a*e7@JyXxs6aUc3sET*Wh9POS<#z(JaHXUbX z^7L<{Z-uwdtUXt8S+=jxgFT8ZgP?yCt+oqH=jFE1e%*h0bgxX|T#1uGWYD~=$lL=& z*~l(4hZ(Ptq}w#p4!Gp){r5^}VUKYM3eH4khDL_|bQ_KfF&v9U2oc6N3wb93V5H;Q;8^v9)s z0Ub%?t9RKqJQd-~WNV(M)2ytcMwH%Ko0ur761t81O`rchp6f37+Cspp?O*(RjG`$; zIP853dTnmj(Gi!yQsE(~yE4Zm!ebuR%snSR|A9Hz_c{)!SpD&b4p`dB||?9sf7%_4v<^ zXI&oBS4$5M4|hpF1CAAN)LUq1sHb4AVUy`_%y~|n=)1$)P$tWt^NkVkNyF$mUg9WN z)xf~Of%GZ+CRv^E^xppl3q1;IO{Y+Z*gsF$Tu|DPTOOBwe!gNiY?lV_c4+C%pDd#OOjUr6eeyV0KC-nCx*s;f6BEk-gdHwX>! zg?^BC`N|K#W;MfxOB2@lFH$ODJ@uVzz8bxsV7oFdkE^1^5Pkmp)$qBu5&3e+qZb(O2r`^&QKzWF2GtZWAz*pwS&x5-vc*%)Y};{aoMGK#GmvYVG(n&L z?}8TSAIkCEi=@mQz)EZpVUkqlLc_AIbncVqdXmGoO!ABC1GGHw4mCgmpzt5pzuAv1 zMtAyHWds*Pb2RzaG)9W0!W$Zo_S%-*B)=Nj(9zLfTpzFYfc(&Fsh|9ttE!IJr-|Fk zp67JqzLzNs1FEEM+OBDG6}cu+>jwq~sm zA_m>sKgG1Qwcm&V=tCF94a7}KDa2;daRjIL0lRJ;eG}mS90mT`B^5__mIY>7(=S%oQcs{U$wSK6G?U%(wqU%=7u(k2i^*{u+M$`b@CF@npqA zY8FwL@zQi4)_Y!Q&&$evcoPPGvxTnLxfss7|I6j5n3|rR52G1+XYF%?)XVkkJzvI5 ztUK4R(xf@mZGb6BNPHLpE<6E2e55mC+B#rgSK+HyMUkjRj>C3v&1XwrSNnPVXdOfD zi}h;U`Su|bPawT`8(M~AZ#3{=eifTgy>0QVcL5nIJ*Y@rm8at&Za&vzW3$mmZq~0OeI?am z@qa3n&c~NHD4sT;him$t>)n~Z=vNpfBYEpVFPHH{l&SpP&1Re7wJ(P2PTPx)c*m_7 z!FGuJp@1j^*g{PoAOC$RED;{SUNs;Y@+{v~*q`1ze;`+7H^tY261C;GzF z5EAsF?p8_<4Xc9gRte4#5d$+>6_ptgR-M}JL;3id!k3AOiDw>VysWahg9E0uJ}(Ym z-_B$uhQbm_5V3TC6kOR%X7E!4;;_Iyu@L8*S)$0@Ttq}fmp_zIT0mzSdEB4Tycamn zF=7e&fJ|8fho%e@M>y{VQI34^ar*XbeZ9`8)pbuNVHkWfCs$WfQ{z7dQXc4#9dA(k z)8fSU)QL%zq9m>uEe;AhdO}pn<3wwTPr={$yAbpA;=4DI#z!9e{u58dzpA(QEmDy= zF{*iBKw`Da3hTe0#{4gmG&*cUB6HXf^>02N)2BERYioPWn+Q?HZL#ypy6V>-no~qE+*@&= zQCIAe!l1J&{NP+AVDti6rQv$X;Y!j;k5q2p1?k8aEoL@4$DTylSV5B7vE!-i18E6}E*u1^kD6hcZy zLTa4bq z9(bNd`5;1qR!ZvRcF9N%5)3Dw{=$uqTG&vD(q#E-pkzD+-)zb(j-;mtsxCH8pW(l2 z9oil}()6SAsfu}SEPt>e37NS7>Z5IZ@asuD&*}8NJ0wRn1lYXi)mEr~nN9E+0u}6! z&d>V_fY?9erf+VHM*8}yj(RjExBFUYV8niki?HJJWsD|~SsolC5E_=$-&eBj*IjEe z42UrJn=M(J{#$!`=8$no_xg#spY(kP0!bb18xBn;;-%kkLor)qr8!ttxDXkfS|E5@ zD&>4usBHAv=Un0z9D%}|eT_GJBH3Rl(~JxP7N!~>RBn>?_=Qm{+g33Ow=((iH~n&SGJ0$|i9 z=Edp5n6C*p|4!DbYgo=YLZCoAQ73=`AyK%$ z)zP1@@+WZte$1so7yC&+jX3` z@SCl&!-tJFFAl#8mHUN18Ld<)zk;IriQ!7S(vu|EsFqIbU@RWIfUxb2ROMJbl5 zmm9bY69_S;t7Fv}O>zm@9v@YYMnor<1X7|+-E z=(_GLX1Ywk&P?wm9Ev$OI26Xj#89L#C}(l;@X%4dEaX3o^t~WJoduxam{flz(m@D1 z=Ho3Kv*NbDU1e7{9HOBjQuVHM0ff@!A9)M6HWf9Brhmeq>UdXS6MLa45h_eXWJU;c zm!JZDfN%0=-(INI-kR_k{7}+zd3i~nVd#742F>H3iDi}sVPc=Yq1LY_q5CGQH-8SO zz2KhMBmM+T3-}ui-Um3#BFh$Mx*X}XU!0z+Dlb@#B^OeE|6C3+^4UxC!(0T@^lmnc zQre-z!wT8i9mBo`h4;&roQd63gzz$qy1x9%af=}a zk}ZB4-_^@73Vi%Sd)Q<$6p^WJYh|XP@oTd`sI%=yyvV|Of^<>lwIu65#?!~)%zRZ) zl*azd=#f_snpKWZ88r31fijGLs%zhlVN94sNrAn9>(5$PepubTTE(h?! zdea-ygDhuu0ooy-;g-5b2XZp-h@ZSD0#&^Orx)+b)q(z_v$Gt3;8wZ1_r8qvK?y5` zV_GaM=H&UiyDEjX6-1@%6O3<4zx=(08=NP=BxPiMdCAAnzc(RES<@i)6^}$lo*5^+ zsnvX1^+Lzm0MotwoI2T-O|9}G+Yi0_yiE8AsBHGoQ1tq!Byp}>$_^eK8#5c-e*Y>X(@u@Oyr_#)XBJX< z;6Cu6W9z(>OAg^^;q*YfXabVyz6O#lVXcsA1OJDFt! zmElssLP*gfX)CI$<;=|BES0Mzqyj$Ph*Lmcq({}UU^{DZWe1AEEo9=IxTs*aIG`mz zul;g=v^;aED38Nxb5;hg6QNl9Y12uE9OchhRZL3BAVS1u?1D&u2>Lj!yah4^hr{qc zqj#>i*QGx52Ji1&=&zpuvw#2AB#dly`!qeAd}ymjI_m-kz)4*Y1iMfuarZZGg9rF= zE71+T1MzyFN;$SN#NGv1Sy?qY-?ZOkhzx#4$>Yp@NMTSx5xqY_yuHHvka`|Ko{$>^ z2&JKj;m3E8pQjqw;wM=S1rOBTwk>F=2uH1UB3kPGfdC4A{D{Yd*k#>~Gi#K?^V#dx zoxNOH9SnP5LB|x~vS1wH`_b`~_y*zu@@+}KR=oE*tS)DaUdctAHv*temu?6o3g&r* z`3rJ*x{3JlwKb;Be}Cs>OYBWZb`+25UkD|#L{rG@4=Q(7c*k&KKU@x{l{lw=cO);{ z8-Wuva}`|5*Svt6Rl7P0K}kly1SoDsDOYgO`zBfLx18t;weQK?XwrmbVK$)>D`277 zIFqnO91vkco!xeMqoJ}@mgpaL)^jfU(Po}bd7=4h?D+!O8g1mC^IhfzThE?ugO{6Q zBa<0ncQI%?x<(b-5)>DLJb;RLS((kF?;0FFM_2#6_v>M}?ayYk*jwhal=j~+G&fd(=A#r4xpG?=Rn?Dl4@8dFjEICx02N?w=xRED|L>be| zG0@a2;JuyOG*x{4Ldfb~E}t86Ab;Omrm3Z}wD50HOL*l8IV=}J!#~KhKLuC+*6ig$ zD~doR*r7c6*oWXB2RP*x_`n)Vkda)*Y$UYOTl{o?_(W7~cigbCu9{)yP9IyFi z^SAwSz=1=A!|8nj^0+_-471tCK}Os{3lp!xDs)EH;jr%C%~FRlwix=E;Pu|Od|k%F z5(}EBVmau1OXGgD63u^K4nx6XX?0p-=)LHexfc5e7E`ape|ZDI1_Rp52F~wy25ojY zJIY{vCP!Gmwrx)uz0d?cXK!4{(@BcvpBn)->E3@v3_{ghw=cCU0^j+wsRl|+%aJ+% zjg-bCt_tDX`|A#b#L`<%flTgjh%>O&U1c;%RTdo)gMO9kQRjZ=kb4Mh1}|>>O3C|RuQZ;ZiJNy`E?7#-4b0p*ay&e8uLQpWGe?3gXf*TyQ39sd>z z?1rC-jhv{LRE%T7lD<891z=pYZBbhcI2iqVe0C-{0N3aA`pIx zia|g_NnuPpDDQ_aM zc~seC%{MwY9)$BcN?at#&$0>jN<%q^Zv-_d?IW6!ps;*l&@OC6Vae)JT=kONpF|685 zT(m`sJQKobKO1F8LX0mHS%#22?oNB6vP0C@D|HCuYPie#Sbf$3$t!{a0WcCRBiIc( ze}8SUO~XkXt@D9uP93f(Z|rg_hD2rH7naeWF1VVkP?oR>^W|_8cg7eOApd){L8n)L zI7|drWG2M2*69YUaDX2tx1qPAm&H@(by{bGp`uJQ>T_FSf11eX89%7*Sl&jTQ+~pQPkT1qC~=tsNb;d9;S1u&_V= z@6Q`p+#_7YSHLzWpU2LnwjRm*^*ay3t3za2(=iAFmq2g<7qOula(OY zD31-k`k}Tex&19<%^B6nmfB5BQ^l54RkF15n#>S&$R+{qk-PpQ`Kf(%Iu= zU%I~3JNao4S3gk_nXJ}AN(%#@NLk!sPdF^ZMVj`b^9hgoA^Sm2vD;Fe_t(TP?1 z3ON_HsCivL;;s@pgIm(z@HzM@Ag@KF)A{lns}po>IY1+>X0J^R4Qd>$u}0TZ3o5g@ z8&5=(sPNbcBgR6MY)c_VI-nNeuxnCNCX~Yp^y;xpUf=m}hWq!slylZfeM%j}fYZ{x z_t*1Je|~)Bb8iGg%U-gFur=hO@K^Uq(V~n_7&^ z2d{@2QA)!FLg950JRtG1Blfl<1Abb_XYk*I1M+k6Qa9JshnOT*9oZtp(J82h!oX(& z56?kURcRHDiGx!LnqP3Y8R7SgvA;CHapyw>W-MX`A?v`zjE&ii4KLTh>2ZGvY1`RE zs%zS7iou#J^r|(2OucAD4av8kNT#cEaA(Vtd=c`%Z;@=Od64RMPtG24rDIF>=caE1oMTV4Wys$Kf

G>P$8}1&RaSv%YCvv+Q9*v!=PN$MqYAi2c!bUrBG_<#>sv4f4 zOp*RXs{e)-Og2t#pSLz>5mS`YR@uAW*4*=&8dgIe zUjLI)YjKi9TrwoJKDYpV5Q@2U>4~fqp|TYN z-gMSVpdkenAw!cw7~t!CF4G5QlmE<6Cg7FXf1J3uF5uK|#}FJKck0#mEW+FIXU1K* zsNI`u&+}yf?*JY@x%Fkt$^WJP*yKR|jow__kV>_tw zS$Rmv0kjEh;^er=)L{1mI)Em$9h)NDcP>l zvv3v(*;C+`OjynsD0hK(M|k#adYDXLQ~VSIt;xQr{aIRMfj-rDB;)t}U)hgPlphRs z{>v^SqvKlZkL^gY2N-uLNK8=?1L0uJs_Swdly%OV)<2E=pbFJMqrT1#klPc0i~x61 z+jUkXPp2Mu+OqVyr zEsMR9MX<4a(IcAAi)UzpT;6qIdwb@;_tA~mZ>xx>F_WJ!feO;WeJ^_)+`X?qoH$`! zv=#=$`JL|Qa`>!J*^N2@J7iS=m3{>a?AY*&Y#}3nf^lumn z;{z4|G-9r^lzar??cu$=?|Wc>zTm<%MMYh!NJEaSR#g{<2^L2IKu@=WFUZ_wMv<*| z9}Z3fpv@(mF38))So7EIzNf0RCKz|9tYKdKNlBEQ*li^!b2)M1LHKB@loLK$I^qKP4x#TC%5p%Ulr=`g}!lTpzYR5r2=rlWg*olfi*~XPvG3uIF ze+%*J!WGn&)|>kKC38kV9cR5U=x63ke^4su18_u5WWusylO+;F|0ML3JpZgp7GF5l zoVmBm?|L%zvh%ezPWb~nJJc*P?O@>2XTpm~$4Vx#s~|yxNi#6D*#H)eC;?7sS6$P?B;`BI`t0%oP_Qdbq%X2f6~*co^!?Z72bZF}g@VP%dZT zFnKDI3{$)S8x(TZ-cwwK6$L{qC=e7sHp6e0GPzUAMjq`e|{9rVUJywZ)?zF3mb2 z7)KZGu>7+vI&k_3Fj57)q*5Ihx-2O}!3ha8lRT_2==oDXyN&sIQ^GiWPIV0Q&_X_m z3JfbX(K&b>fY78%4L7XHqAFz)awL3H4bR_&hZ$xIu<%UNfTmI{lZ1l{yqqtRF(~0E z3P`_21u$kx3C*1uYIU#{4jI?7SYBU6IE>a<_Xk}8zk^I951|tYIA>>PvK|VloD9xq z=vYXtNV6-2P!SkmMMeD}V*6|p$gv4FoTbuOaraLtt1JmEE#IfZa+kM9h)!Mtc$C5` z%+J?X6+a#{gQM%dj()P-4TpqDIW*{2UewtLPlp0cD^h08;UVZ~(CF7;2o z^tz&&U52Uv4t}{cR!Yv-gqU=@)Z_u3Am#&ASkeqs4y)05uINhb4cd4l0aR62v-a*J zk_?*;4{yTkSlMmIRLV0v};4JXL z9bxSO{(Wh8qTp z*!wyI{Fz)kkZeFnlxG%7N1Z%Tus5SJa0@T$`C5uCxv2vVM2)CjSWpp*N8|9%7Bd?` zM+9hDv{+>Gfj16L$*7d8Em4uSEzqc>VRP1!=EGAdi6PD>Y@LyYu*9kc9+V{)pv+|~ z?2H-FXEvjTmv63s#3k>w%$Xt4F>hOp<mNy|W^UK0zW*3a05EZN9U=r>6Gp6-~E2dI__XoWRAr~qPeMYH=n zYG)NwM+@?_RxB4;9=nMWaW>Kq184uF%#5gH@yhdZK33bycC+Q(KVL-HHn4w8gdok= z3z%rTV0*|2(!oUML@wcyfFig4dSfrVAXcZsWQlk*QpQME)%)EykeIc0$lW%XJl)LJ z#9Wb*pl+Ltn)=NP2(QhBqoXKQu**3V5KAiVmc;X|CQ4k=?GJx)R&e2*=0q3pI>M(! zm8+_^TUt-K9RhUPZA+VJ8+eFd5fuJl8)un5AIifdNMI>cp4`bH>5x?GE{O=>kOgE9 z#lzf6O1$rLaXKBD(-Vu%fj{%ZAp#6_69?-mqYz%lbTQeMq{hyrrahCID8gPuGixJr zPN_(5h)~105I>vePLXlb^~-A!n6pvgQ>7B2o%}r=LUVd-=+i<<4x_^o2}L#hdpa81 z^)kkfzEdSq;))KM_0q)-oNFRb0%?IaImzcIbMtjf7YlPAD5F1d)MUIfKpFY1AZoP=kN*Swh3hNv|vI%&es zngZlv-XF4uJ0VHR=45_bmCN*gfCi7FFzr(a=t#XdCdEf=zQrmu0|gf<)z&M(4?6Qk zCIrK;KI0h!U?UJ!#&)jIs6R9I!HZ{A^*1Bq9m88ry8;%a25~n3!qEzR!#|L~Xuseg z%G)+E%|)U{2@82|uk{mrzu|{8sz&`Bj8kZ7-yC$?ToPd8#!}uHeaxz*BD{mfuE=R- zBPD|J%rJMD{xo`H$*NQ(X!&X(^6j|MB|r)T7Ji)su;vmE-8Y;YEcn7I)Q|!G5;}Pn zx{zE2vEnB$;oz%A;;L<#i+*DTSgY`TMyilPX5%cxO6P;BkZ(oU!YXkOki*we4})>y z&?=^>OFEV!MB7+@RRI7tKkaN(91Bv2U}Pa7X;Esp2Qu>j^r9;4?dG-|IyTPv_{@(P*^*HqH7e7+}K3{g24%~Wv0s&~R~FhCaCz-Euztq?7= zq%1xZppZXuPi?fzo>rT>*$&Ffui}^0iJ4LSA14EwYID2`#sfAGA0dH8K(axqO|@)f5G#+PX)U+>(5?=Rp6})R|0};xjY3FT?4o9Ce2Ck&b8Ei=PSb zSlLu#Bue;;V2JWqF3hVV4v8>nggUT{&TK|QA9)y-wEuOQ#099J^aJcAx4J(oO8#k1 zZgarK(VQ-H#iW5!yC#2hNJ>qTOkn%d5kR_r050h(X=mC~#Bi&+<|!18y=sTUalV+P z6k~{=3{D2xEZu|bgej6h5R^eY$;ei(YAXYx+7ET?$W&-pcX@+ z35>Xye()DZ&hT-=*q9l{8-)N$UtzeR3dH1~BudyfMd8bw@YAl3(zGt}F$L`E@HFE? z$;d3MtX(kBHfYeuMb}VaJ!7=DgIW@e1TdypLU)sYHbYX+247v#Te7HzE~Zr)bEs9^ z#)WtwC^%vsyCg{%7v;Y%wn~NK9G}!)(ML=h@Xb&a{ZWe$<$jk_ZEMWtda4mDqE&lI zFk#p@%T9;0(vrG|7qXNDmzd94qtnyV=Q19b*Vfjul4E|N*_Kd-DT&mb#Y%Idb7R<^ z!wyTumMmh!m0WG^7iU6!g4v=jU`>L~iD4EO6%`TjQ~pg{YpZDIA4bD-F;Kx#s<;aDbX@mUo<7o(6C5k`-Xw-Uiq!J1W3QH9)W;fjU(b5q-213(I zL!$P9d&)02_lZSpgz!ibzLbiJv=3|Cb=ySXK-|l1Rg*nIb#YqU_`H6xJoJ*|o;hne zj%aQ@`N7EA=Zo#?9`A!oDP!TVIbOF29B8QAvYpI$C$&IJg-ZqE&)bFeJool2Mo)#R z@*}FM@|^jVT$^=~h@nz$wSPoU1m|Oo`vGcOLoj{88F%ic_j52|A&6m2-NM*7XyJpJ ze2#xB-huZs-oop6n2`n`!}h38L4{o86wMdfUX&6&^?o!Z(qpRieM>)sMbRX3&ET;V zehzJ6+fGcXBm>2b)YQ}znY#-J8(*{#0>*jPj}C(SF1B^r8OrVWd3oaC3<55W!#6Pj zbkQ<2IMB@cCI!``}cCsy~=(`f^yMW>>S8HciPW3H<`^;Zv(U4xnGSvzt3byrP6slml@X z&Q%X>r5mG`7=RQ7r$1*bfLrNK_!mxdEpdC9Zr!phiSLKZzxeplnhw4Bu?_}18=T+E z72;6@kr8+m*}4O){-V}DjkDO<+EhagxWu^-wX}>oV0{+CF(cY%A}>=|R)V)ACT>DZ`@M5e=k)Y=2;f5uyrAtDC}A`fVAl)}C5DrAG(%=KSz-6j zDV(3(LOXbQtYw!U?XjLYTHJ#^I&b{QC{FL-%27aQ=z*7gSOF~I>`L{Pa|R|ed?w8R z0jwEiClUeq8PDcEU~$_x=Q^Xa%S7)Efjjrc<(YCLgtF=TH$;F6GPVMnkQEIv1Y6RW zNuwR|1s8K`yK+Z@c1eM42`;#wxKzcsP_?DJvND=A=G()sI&cFcF?(mbpsP~gT_d&3 zsztlABw?GOGBO!vi82*ziPXbb5j+6aBKYHV1a=x`%SpmzR+g<= zPS@b;W05!Ghi#Na&c_ZcHjOENOrl@kqw3y=p0QD&X*L=iz5eLPuO)UEGkA`)k;uBt zSgFXt-&cRXcGtG<QWW6=tD<=?axBcwYHT&rkqTIXj^pxRxNE+M z!fho1eI})S+6f5?@tLz?I#*YNzkU1G0|2Rm0JJX&mpf#bWN-bc^92%ajM@#|rzYyk zC`A%*Ih^fzZ2INf=tR>MQvK!BRvnp!MhV>?te+d;k8F<-V`F3Q2?O zjnf1|f)Cv0U)U?6SrQm=u&Vg`M3Lj+Y8k0foQ0!p_5zVvEJ@;je!^^`UtqHpUYSjkhHJT`d35O%^IVIz{?U zQ7cnit>$OT=%&@xtTSVf_on$HfsDf6=UAhY=#dz9PYM-O6`e6Uf73^*T2VffP(SR? z)PwS94=-7PC0D3X!X-@r9ORtqqa%&ia%fH7ByQ!udbnp=ditWLm*=M$yqqfr(d%FW z?~MtB*^h=7K!D@=&kRvd`fuNbqj0_*vPDHb*gVi$C83KuNe#6Jyor0~9ixm>5zO2= zAAUOoeSpz2xe$iVLI}?cx9AuEX0H2Xr^8C&71X_Y+ts0Hrv>( z1K(Cd%MY^RX@E20D$Gmhx zSn*Rs!CHmXu0vslxH`)%UF^Ih@AsG$TDQcY?;JIC{xERW9GS2R@YE;+^+3Fsp(#6x zkgsftktW)J193d!k3{RIn6+OBTuLjhTzMJN9(~lLBll4Cc|RZqZ7PJEMh(8yv9{M! z!|SO~Vf%{`XvDxO+58$xG2|gf`3<`qTE-yz>zDDbUspd47d+PRT4HvJv^Bo(hU*8T zmGj{1e?yLTN6f=!LPg+gs>NNfnfT7$^~oA_XPMA*o`M~qA0*GK#d8}Ai;$k#>;hDz{8Ej>%}Pi>Y6`*b01HgMV*E7 z*5O^i0%3|c0*1712p0m$fxC4a&dWGXA*eK2;~?EP)|`1c|oay|p6hd;gO(*OZ-Mnr$39{;Pv&MWHhd%yFDve{wp=_Gi8iQ?AXitaYgeL5d0) z62c)Wp)=(Jla`w$-)21!h^F%6D)FkRMTi36^n|-l>oY|?xUxm8?ly?c4l&4h;|wuK z_xze5Q)?ivJEgmcWXJD36!O%nTBO4r8g?cJq%}Fv10u4DDO02Ycc)sBN*HC~_F}t` zozvoqju%Qa9v|26n^-iRO>Zz7`Fel4$7!Hj;KUdl@eMN=kNQXhR4y14G_oZaE>w$( zjHig9#Kwslts(8*#K8fb5wX5IS>a%baV>!!Cfp;kjH+pzmNU6R=Nt=VpDm)h=}B}p zJK49Bu^DvIC3OgH=p*J*u((57*@WwYnk{ z`bNqU3+nA8?kuCqn4r#|mRizM`oSS3rG=xv6l&8k2Dx^-GU##Oaych#lpd zuK(>IgJP@)Tpzn{qBh%c_e=;dh7mOpb<^P%Tnj)2yk*4Opc zOc!1egPJ+`tmFPyu29C_l>jcZNJlhGEq0`62GT@;8^>RLM(iiSPDE5Qzz=6cWhGx| zHg|BKkiFRut$M$utu9%IGRB58vKY(^Z)&8mttkTZnRX?0^nsQPI4M0r}ffx$fJn8WXC78GPSJfwlPWO=K<< z+5(AS=~-1O10ww_{+GH$8m|f?Tb9WBoE?82f`^@n36`*%3E|Pux4)v69(Mzw@NfiK z*sh2MFq*itA2FHfHA_KaU%#V2Xmk}aC|7cVmR-pKskiq{B(!To)arHuYDp{X@qX2@ zK9%J9H1)}=C^^@Iu6nrm;c&*`88S5O--SunkIbu1acHlSjavXgJ@M$u%HiasT0gFY z>oR>{(R?XJnlSYhjA=PE(E&)o$zg+lZ}6hu61P_<_dUNxdD98t@X^^ZUEFgO^w;HR zYMl8RcHF=_hD?O42-`CcM4{S`prS-2Xy{_#1qVyWqb%^a^q}#8WKdPaiFhahq@&AT zrxR(VwMl8_LYr}%tmnZ3?D*cZ_(VY(7r^hZOKd^<4+KcNK4WF}?Xa^7iZaMS>v#DL zFqr^xMb0sSA!pv1CLg>wf{@Ek&tK=VCyM#fMxpPL+w4Jz=GP1nO+M2Ca0;CK=^q85 zjEO8!QBWIrPh?I1V52d#cO>@Dh^`3*DG&Q%K8#}RlS_RYY>%ga;ktH$dp;^3$3W8P zDVVj$>aO}_wVGq7XqdH6S$Z_(>&TVWOz!h&8f$us1XdOB_0Gtg_apq0+ZJ7l_eu1r z_pLl%g5}l2adBNyUlWlhJC-t$b??1`@9ywx_ho>N*;dhT`2~zTjVT%td-wCzCl2K@ z{j&9zOAnj9rg{pZaZSv+Q~t2&Lh`41-c|>(u%FI|Wv7yYgn@6%?1I8cYIXVn9c{LY zN5IYBe$C&amgzI}U1uy<)3Jn`gj-_k*~L;VtOOqn1wr}8Hv^O2f=LQYYk zSdB=pRt=q1^`)B5sjsd6k63{EhI>`HTW+)cDKQSi?gv!`y^g2f$<0dH;Z1YhAL{!y zBvrI&j$KX;Taw3o>-A9>Q0mL|Ygk z@(YcdD8V^4W?&sLWb!!H<&DM28odX;$;R0fuPB==-@^%lKND%JP{QjUMtz2PZ0|1} zZtv~ha_B z8!pIFW#X7DhHEZ>P$?U4$-!17^M%k|?-I5zow!7XjTd(*r(J=sz6#POjh{GP$L9%H zm1NWwl^EpmAOm<|O4B2~e?;5k24L$Us=#>xG<96pvQTL*xvH|t$#jmHI^EV2Od3In z_u{*rhwWH!ulq_&VbDgMOkw!J9B)@+)dxWNkmRsxn7afiWXjJ$&+gmOyPPa= zLG%Dw72EIv(_Bt@t-^`8(Ai+eOn7J5Mjx`Tt-yicT6j!P#s-TuoDw%e{`lr2;n~ot z5{!BLd15%c?gxj*d%{*#&6tB6R(2~*2y?|5XL9l2WRDG6_iWZsULX+?E^Kz;jNf%;sufk*CxSRSHRhl>qEsBLk2E=)eF%d*|3(S-?Mv*@a$pjUx6?u$4#=lz z?9jT~-sT6JZ@FDO_kEU;%fR|60va8B8zRRQCk8OekF}lpDFQs{&n=|KyuSet$)Ien zAa{brVKq7~0q9GUNY3PdMR;i-xtH2pc$@@BU)^`K@v|xSh_2^t7OUgaL1dls*)i_J zq8Vys1je*J@|Nk&Cy(~`@$m!Td;tq@b3tsICtRQ3NcxgNN2a!+@1w)s9z92H*~G84 zmqk0rr)6c}=QF3{p}Mbm^dF`QE6CM5A0FX2w!ilI!cvHYUL2Ck{_f8fTK{=YxxzxW zWGDeO)SK3;t1FEMD3yO>X=yn3$P@Iwhm4|E1IO2O=VG#ny%!8JFR1;{q3njoa1n3c z>+CV}D`WDg2QB-RUSPH-c`8uf>qnRA-oy;|2&VmV{Z?26f!SlmkIt7JKK+eMG4C2I zj^0IyKxG8kX+^`0rDz8y52|c0Kv{pCo%gFVR_m!#O8k=kUTycyJja87ZvYvuJ%2|N zM*PJu)<3ncW08*DU{jFUc4;f!A+1xWI_~;O!-Z>CbjcwM6)}t4Xni~pmiy$S4x7b) zzXqwLr6oHmDqlh@x0=20WnszCEq+miM~Om8VVlZ%+PI6|)9Yq4zLhew6>S<7MKBjC z#f=nkki}Z(&fa&@_&!Q35XhnBHW(kK?se;|MR}>;(wWd)L;ijLeCwFBK9_WCbRajjqEo4#nO4xsMVI16EQx`x9UBCKI6yJR7~~Ks>7*)dr1$Gs8nbfi+qWa{pxzmueuhR z?+pdVEbhv~WX}m(%MFxYTyDQSepN_=@#AiBNPS~Kr-JB zi%DgH+Wp&ddzcqbN&qVkpsY44Xud5jSEt{y&*C&ZG3j*4*?LcLlHGN;YUlKH@QV+N zu~DG;4g*I%#4V!R!c5MN(NOevLa!$E&=(VQk#QbOue-6u45QE0OEn!LxY6C-Az)rU zJQ(yt_lzo*fAodO8nCq)8$hY|Sn{~!tHxyHi)wgzn=$Gb1mQ+@z}lE&5&iFTeC<*7lax6df`)OY;R z-Bn^@7)u?Zr?0J&Xpag)7=13gFFg5^EfQNp!vj>COTs(iK(0Dq7y_o0RVEL0LT|4L zxx=Z9vKIOO9sHe7%(l#nsCOp|ix6&o z;vFpqKKu)5)wbFVmc^`4rmTe?yhIn~julLI+L0x0DN>Id>c znv;umV?rfd@fmDWV14_dYd&36qJLB)2o=B*u_4-{MlgXJ^Mn6hKL^_EUu;J|Kx{AM z-iqP_;7?nkQEckI&#FciF}+%Bfh;7}$+wv(l&DR7p?6puHi7yjcT9|8x?MT83fgn| zb}16J|Iu{TQBi%-9v@)nlt#K!8X3Anr8}j?02xY}0i>m+Yv_^&X-R1$L<#Bc&LL*r z{k`?xTKA8;n7J{B6MOHo_vc$LGnf6Ut2%M*Mr7h^yH?YQyyQ}GSw}kuosF!UvKmX| zeQu1xX8oiA_65g{Emuz+3QF>|0$bNK6YGNS&_8w~%F^MqoWDS$SYB{wN$8s1kMNy6 zCSN=IS#m|$)Od_arC-qBG*!U1SM}80yj8m>iMs9~mlUBax3I~D>MKU()>VGR0vyn@ z)YMetnab8SrN0jifzTV7dX~k}Wf*&(&kjSMkBBd*CpZs7-5RAu#n{FgqB6?w(CokF zP82Msp*&b~oSo5CqGb5pRIcUzqp9wu<4G4%*rM(YL$!%8JrqoW5BlAQq_5fNvqI5R zJ~Qq4i0GA*Qiia00U;{VCw@TjCOiOz{gIljgUiQ8pj`EPh9US;s;Wk#rJ@_-a_e*g;Ppva8_CLSc zQaKgzMJPr)Vt`ge=J7E;zOqy6K<>|akhawy}O|l&{jn z1N>^+qvs0pAVe1QbImez0cjFez9Zle3x5dR2+Eo21n>)AH8nLK#-&ac{r(ynd)_`E z>){U%3^e%foR02O*Ggz9*D=z@!;icp4Ss?+>TbRt-HtV*Fm@~(6CO8qkWg581czbQDwu3*q*$MwyS+c$DB@7~ROIBXDNgs**rZBD?Fq0Y~%O28N2Fw)J8 zhIDcE=#)vZrLfNy^A*fGx8Ea!vt$#8w}oL+UtzYJh#yBy3rzu=C0UZTb#sS)$DQVQ zJ6u^t#SJsFUkTW$J<1-WYgec@``h-~ zs`c*GnfE*_;k5B*ZB(ur?~}|KLb$E1ttSH+t*>e)bFgT{2dIafA=8UTdax&n1 z9dslMW0r}js~IwUK-IzG)vNlO=+Q0);gH#4(;el;db(%+l5oBDDr zYkyO6G&L0z8Y#H7;E0_G|1kzw)S-ikFY&0Sz#I&+1Tvg?5grbXS;Uos+(zrcaG1VWps*t>$K3{&LW$)VFwGPgV8v1F0mE z@Mn;sgS`2bY$uiSL?aF`IC!vWLgO#?3=O6G=1zFUW$$`T9(C*r-KHV~2Kz^mtjl&4 z0b}`95xjHXvq@fD+4-w5Y|LI$KB&EH=>xq~^scTVLP&ou@IFtaE5SzzNhguC_q5{>l>PbzGN2Y<_JX zgUg{Jst>&5WssqF-Qk2>q}&?Sk$I3!Z0dv&Q^;bPYT7{`V5ALv|4?&QP?z2oaDVNW zDqw{~Ek~hlH{z{CKFm~hRaEdaNuxU4P>(S5D~6vfdCEUmb*Pn=Q+7wle7%KIE!v(k zn#}H|7#ox=G`p;{cb>ViVj)sVauKWghSlIG<@J-#@E5&tYKa5>?avKTgq#^%i*H; z08(qJNq5IfFstyckzvY&hTKqvLnbCT-^kvcAu-&rEGMwo*z|S5@xSjE@#alVt$P{| zK*Nu|;%_Z`2fV|IhGWC>D{Z;*j{%1^%BDmc-@fS3;RgvZC629G50dDS_xAEu_w@4` z`y@h50s;o(Txu*@&$CX7Q2+h^FWk4s5K%{vR_&)c$t2yC)x zk+^d0mW4MYj|npGx;?uiD&JR`y4{49H%hu0J>-6y>5wbqK?(m6 zm!3DOH+!4_9~{@H6tq8$qsNL=5Oa(Cd8Z>)MfhlSHRMdFXKGk!9`a~DJTUlCO`lB3 zT_h(?4thlaKX<(jTdw};%`m}x#)#K+@R!ts;h8G`2DV+O{E(typWt?`R47tFs31Rx zk30TTOLzRJxGb{a$;=$V&BjCLH)9wiugvP`WNnCVNzndz)>?yrX$%w|=z{ z*a5A?PT&tUi#|PkaeEi5uR|lCxa?u#=O;xsI6t?z$OpvY$+JbZM!Qy}GiCfJ{T^eR zPyGjVJG}Xb6GB&IL%*f1AFO0XjhsWyORlQ_8!L7|_~x>?>(Tj@pI`e2>TrOPqnGWq zjDEQI13PE%-(;@(=g98Zry7<`=#1%NWc~d@_6-uL>IAR2x9nnsfQr=V;oFV>tiiYL zzzsGo5PynarCRs2?%3Ys20&(JqLn#tUw{jFV){p)3f^baaPdboXN}ga+3T65da5FU zSsqC80&K~AV<}0=--+sM(y(P|Nyh<#CP$P)BfUh-B2+Gv1P7bd#6UmZRHP(d`Zd;Q z{d}F>;3{Msc!Sn}`%i?N6iSRKs6;gepX1%B!WBV+&ow5UbUSb_hU;Uwpuz}Z<`n7> zHpRvk@CJuQ_hq^MlUUWn;WvoY$pon7P0V@xcNa%T$LEw^FsUp&p8QIeia%PIj;8Wk zQFJXJq~i}?dO1Wh?Rs&gufre^?mS-!CHUFx~@ zs{~!Nl}n$p%Je8`5j6?N!SQjCF7j%$r>vE^zg{~<1`H7pbzew>3xo{BV+IdRMSu##_=6RRh<6GtH*dvF{@KN#qaEYc?h_JnjJY$&iux(|2q*4~U-m z2Dph1ovF6zqduRIQ%sk)z_*i?FUOA?tCCOm$0fkuLz$!~)*n@bNhTSn1#@aNeXi$? zKzZBS`sR0H;$(L6^L?}@0b3mx3{}E0Cy_uny_Nu3xXdiGP@{?A$EmFo$%X zuB+1P30k-n6IR7A5eq*({(=kBxxdgc3v~XCuT95WtL5x7l$o`Kg9?rSg30HL``!&H zda{Lt?E{1;zPT%Li1%BJd>Bc~-Ua~@f@T?GCiOs0v`0*|fT+>(-$p2bCV$SA2l!=W zIq2IJGB~~S*<3&SJ1xM^efQB4eo%f?T~Rr?7XO!NMG`Eq!6e;)F0GjGnPdA{zewvT zjMwEv!s~v!2Hi!x6SQ2-(F>Xc>h{U65&i%j4`#=-D)6FMZ};fPhJqsH?YsFPt7QZ$ zsGCz3r6T&gTFJ$Qn1_dl`zbDKnz$d|XlH3x*G+`q&9SFy1}M%;%4Z{19DUE@ZWbWO znGL$OIG9=(Qrr>{#(aQw^iqjp>ZAubP-Xt(&HgG!67()p0Dz#wF53>Or9_{PUM?Xz z6~mZ~$!~cgdO@R~R@;u-&(%;J@1{%eEN5Y~cwt7{7e2>r47{g=LGIp#{XFDE^1V&; z-nrO@hQlW}`uu5r1pwpE4sgy6Wav=<=qQ?O>ZEt=w7BG*+n{Gg1(zTJeGG5deO#y_ zWkGUnj{dE7Q&UsmVILzBI+1btRfFT?84r({<3f|IDWx$vrmT_x`6RXLyD%XTY1~Gy zrzLcpn*^u3zS6k8t?gsyf0eIrEhLqde_gcD^}P;PV`Cm;S~*a}HJcyfQIDo7Od1xn zL7sGKV8{-iP@8x9WCw`z4ax#6P@=e0L7A@sma_oN_4wwVgaAw4BI3x61g%X~Cj+0? zg&97fr2Zn@=D`vvlFEn|1}Y)ncO~m7{iZ{~1fO6{8&%51gu83ibRm8Da`*BzHD^kDwPYvK7 zevjMW0)FfTf&>pM|Ggv|o^d((ICKBPgYKhw>XnofWizXb|9kd;wuxVvD9z6kikAD02D`%j@`m}8Ry?52P!7uR)W~e*mKaGZN zN&=jg(`!T`>V~8;Cx*^VW|Vx%XQ3S>&*FLC794!IcT4;J{eyl;rwcgXUj*T2zSa*E1_Gi5j7^KHpSYvYGHl4#m!3Y0*rcyi?mZTE^T-mlA`w2gd<+CPWGHqE97ZnXvW(mGO>0)FD!s$WzJj zepOvpTxw&yDx^9~&bU+3?;r00vj&j}(qJXVKmx^YGSYwx!>d=GY#-w)bWS1>r(YK5 z-qB5pVNA{yjSloy_yjgf(i$}V=K7l9JKsSEP$5Tv=CUFpD}`JT(1c+#0$~;>AldEC zxa;okPN`;AlXdcm&$27>?U(MUW}0d)9Ycy>c~D#R=SX|er&~EWIa1Vi_;CO87k))V zLYbMFbKhz@D*})g@D*tQih@5d0w3K{y|q>LNAJ#yIeiS2Bj^J?8CGZOm6DS3+IDLV zGjIMVrgmUIt$xr4*cF=s4UQ9mR+2fXAgw9lL^{m~iSZkR|KJrFUYIuwh7w{ig92;o zW&FO|Owi<51k3H)de*j}!*oL6&9|3u*4vW{XJ1;x$ zkKNU_-vrieUu2>I;w{PFS zw*~ez{5J+-wE^GE-IOOqvKj?EV8UIkT7`U*gS=WD8rFA0Og9T-BVAisTDteJ?1Ca6 z5PNlZjMUUP7Vf{qYBX}CeFn+`)UHlq7vT;-LhgHjP6%Cusa~QKb#p9^HG=?pd@$UVY978(Tg%3>rMT zG=;e!50JWi);iNeqD`4Aak&+F-|`lQ6VWjzG)&>*)hi?Q2nkjiT=D`+Qy~9o8Pmt>`lG`I5rsHrQL8vi1mvzzm?Q^cr31w-N@?CKS|)%gFXeix|VUgZgcf_eVbqC+VcFf2fo*S zKKdOW{!~1tJf+(HY(Mmda%98}Lq}9z1SgtxGILCJDNVg*>EEnlH6yO|0owDzl7V#c zb2&&Imw!g-Me|lO2r8dt!+KW-PRC<|nG)PQ!yp0OP;AZykXGkaOsTb5f}-b9!J__c0CZJ63!iQj5q}1}AlKh2Mu0d(;O?N5v_BGKMX8 z`oHk=TN%Fo;kh3wrxC64F(Dj%6s@Q)$m@*p7FPq!gRzHG>w8U`_n9p~czu>z@Yd=K z5rf%kF_4txF+lw_X%#|5H#l%T`?~K?q5%YQIs8XBShvhZ1?$&sv^^PEyZ}a{rC|8q=y3@cU%cq z^w`b?V1CfI@_P9Kl3L0tDwvUxgaia85k&NvD^pWvbqg+Cj~_vU2smO4036TEd{S_A ztvhO~2CfCLi83;P3?b~JqvOtC*W;1P3Z^{3>0=v6zx~N6Tem)$uXOTda3d~RPloo9 z-5U$M$gV3o;zaAPnIXP)2W{~z?`!6oN_TL*CgOL393^25(Q&dlSb}k;9 z5fiX*x%VsD0sH#1z<%B{;5C|de4g6HI4!7pd5Kfo4bHRrKi4zG5A0&3prEjhIm^#y z-Z@?CoBsFjpR5-^0SWw2iIls@nD9TJtFsdUsAXD{Fe|H-caIT5Mv#xxg{aO>+56R= z&-j3OvJAUFYDU@cp{C);OKiZcfRr8W<4~kr_5IL-sV#m{I?|>UiDt<0hwE z>pn1h83REHROuC5gQMy*Hu3XDU?F#%Do|;DE+$s~XHLDcSfxWcf9)<)=QLb2;>bZp zr3%_AG#}2RTec}z)GedR#JncKaM?fnL_|%Iak7u4s4=Jq#oE9)eDnzL%2HQ znJX`txYy?SFWI+E&%|$TF1DYUcg$KGZ2v1b{mYFt`pY--^@gxrh~?bdogiwRH3rtx z^iU?MJK+WrBxLove2DQhv7o0aHhi0ra&Lj=)b+iS!SkD&hW~Cu&#uz^XCMSWLZKw< z%EK=E*QMkQxYIpGzB=@e^KKgDK7$fkw%ybEDy(uW_XF1alw3|1=i`I>?WF!M_{au_ zFE^Rmz@*9MZJMO3fHaGs*~lS7S0IFhWP=U__SCd{tzmO?H-yFLlZH)n z-Qqx&A*U zq@=_}R9yTEum)_wlDcgAu!ulC)~6!?w$omiMrqd5J6F8z@xJ;Y(b>W~cjsVlFWA9U z9HWIci0(%XH4eC%`sq_ej;}%leYe_YVI-ZoxeS{Z2wJp7OnEK1>|+bEVV(~VN4!#J zJNG(>a3|s}o&uii^xUt{(rfAJ??k|{`zJfQLUa(oQQAi$1MM43l?)95DTh#!Nzo&E zgtCVPs`}t5z__e+zJCMiLO<mBbc|H?3dj{va~N!5^7*~-qoAHut7H%xFE}Cy^a*?F4mF^l$Rj}{IG(zMNqt~u z=5#l4N`<6G_3oi0yu|f}aPzvj2MGFP*rU=Fb<})O{ zU>_vsvS_V*$A+J#>h`H+#27+aTYRdorLZTaG`W%nNpukjLd)mHR=p*N^gdt8m?zL~@vG)M9*Z%JFuR9X(2IqDY9EIqD+NlURYEi)Pnfm)zqV4bJ>S`@8x`KE0 zmr|?Q#1Zm*x#CqQv92rIpu8$NC^IW7DpJ|qT?Ftx+$?WsW<4Eb;X8^rILzY))Tq#5 zuC!4!kiYDI(`KDAi_I?}Q2{jh9}im%@!w7zh$-|oc*h4;>zqY5XafS`M=QVLm0197 z0SDDf5wj8!yix`CmxX0Be(9eB zIObXEY&ak@)ni0?#ho+v){j&Nip-(h;)iVa^b%ZV@I#=SN}+D52FEn#D5~o(EK{vo zc(*OEnPeU4fiGUZsHoVsn0+Sd3h{)*2pPW|jx5vpHB`TPa}UH+_JBB6;lhMy1#Do> zm-**}#`Ht`l?x!vK>`G~de;O;cP{$67Xo_GhQR5y@qOYx*=`qY&Nrp~h0GD$O}+bu8Mz>v4y zTZ$W217qKc_GSnP#ZINUCJ8W>MWa!C&YtK7CO1w1r?X|q_qejfzQ$!mR>klJW`r@V z1r<-D@0*Um>8}&c!5-!b--23|%XKf}W`;T9;J^b{T^}8Rok_1*;ujh3=rnup7@JP^ zte&Y2V9CF8La%!>WR;?UORE%xk4C|=O0<;BxQK@3#8UQ3)t9}K>>$QJ#Gb&zs;oZQ z@rO?ko;X*#%h=VAtCe2V3O@=5Mci}VlKRyh)J=3=o#htbH=cy@LM`76_}Ps?e$goq zXdck0CS|{Q?WUbrBmF#BfgB@xC z$&2U>I)Yda8)UXBw+@pe!^@boCVH`U$i61?wjBdDhniFi zpH!y%b(piWi*k6F##)_Pz1pd-AB}#28u%#?!5?R(7a~)|1cp>t*R!z3TdoWd7A^d^ zzwcPQ%hE63oX4u0T0Kvzk3J~KJWts>D7^TrZ#%a_h#Ony+h-fd`^9oaw7uc;vCAEX z%t~u3{S0sc%4&phD!E3(C3>7#D|W5B?4hmS{}ZLl1LqdwmK+e93rNfl^!azUD~&3m zCb|~J#jNac6q14W)2;}%i}W4Wm=(%2!;S?HMgG5`s72JsIpz?tv<0~Y4`yNovlYIe zYPJ}GJ*9vt5Ssiwl;#6HPs9LC=!c%~N%1YxUKh)$o>5-8ML-XNZ^wi4=0Bk7Q_J(E z#9+Gg#^f!pgI9DcR+|aa>Syxt%JAeBd%uUb7p1j2+*sAz$9oYZq3{u<;QyLRUK$y8 zXL37OYzC^Ud3QN!&F&!S-chY!d&5A_*y(Gs@AYrd2|Mo1S3fL~)=@b@Y5&8ekU1_? ze)Rc?=+6QxUVyA7hS;09UoYBj=qLk27E7koj0h7SatEsvqGk-FB(dP&p>h55Xr(Fq9j z@KA@iT^{&S202t8Cj1>!w%<0K_QiI}!91{Q9!;w<>5>73l7)HTf13Fhu{@D+qMZQV zGi6BQe`W6xct9c005fTz2c5da{~GiXf34iloW(ZFZXCd)PmVLP)N)_*0p;Cxw1}#D zAUlqT(Lz2uyZw8Wcp9&?mZw9&L3HRbe>waj5E+J^!FHM$zcAO81$n`uZJd2qup5)G zvf?I?_rrNie~=5+<(lSDKOdUW;N&z%#p z!KAw?z;}iX6Cs^jIkQ0hI9tA*i0S_#&Mn_S;2|aMZo@ZnL+7UKtG?Bi5B_#Ar_0B6 z*d-WVXcA=YNxzX<9eJ6Mc_Oh1Ew_RsKSe?&`S2@mZc(T{&Y9o!T3U~%)9jmVH{QeG zLnIONuj~q}zL#Zz(o!Siyr&YA1C&e#QgPhDf@yDzzTd~=dU*#8J(0_qzBMs@H7bd? zZoNQ#MB)~6(V`*jx)~?0q#n>1Utr5u=?nxg#rYi@3BiJ+@F|}hcUlhqBffhwWXgBJ zx%(-oRV;rJq2+^!ko`M*v!EH&<{|pU<+4kML>nnf$B%pKzhe9lo=gdWbNf8r^PF8U zJ~67U6Y{}YTRz#lo#YHSB`h+%b5&`69IL{?s`1Wi^bn(^^LIK#9HS@@YPahE-bOm_ zLvvrvD;vc%cea|Y5s z6?xQRElv!){4K=>$WX}y;@#xTANX+jRFEWBR+4zljb4L0!swv)$l36`$^|ziP5DVT zIw)T3c@x*OXJHb@9{wmCcn;>up0nXt!`4DU^%ysiPj6_mH4c?LnAJ zhd7eAunVSbqr#*jM@->fT%zFnx!rp6Mu92-M~{e@j?X}iXXfMQ!4RmoL}j-Dmzci% z;6I6BClqd_$Z3iW?(F-6V)0wamD5WM3WzAa?@T+yNQ(Z@M2gCB zIIYt*?i`Cd{B^{XD=2eUE#dqvO=6e&{c|vWukL#7!`HR`(%{8U;}b~}O6(R@&Iz_} zIWOZLCp!YcToHuW9w36cC!OC0Y_Ln@%X9GdZ~d;OnH+4X8pmYc7BHfX*!Bg71ls;{ z#_ZH1;uNJYTM}J0kxCPGH}V%V=)Jl_xB7MXdHbp-o(^dT3udI>`sNxrDSEqK+Ozjo zst~E>=as0d{@C}jyhb|wr6b1M+>5%d%JkQ zadu7%D9dSS;XI`_b^nm*CXug$G$cgWY(A<7d|m5(k56Xi=}naXo1*rUYF?vS{@}Ub zMajB)L^+-mOi42qwP}`Dnqoy-Zo?SD7qsX_GwxhFHMu4*B*6AlyHAHG)P{Va)=eUp z?AUZvpj_v>5cM^)HNs|jptela`n@Agu2R`5`Z2vOwIx{m4Kw@~ZxeJy7s<}5U^Uxl zxDHu~&)bT)pby{rOS73y57?%f@LMp6Pr2Yc(F*yKMj#XHD8@p-Aj>nF4LaG zHqe~i5}UrA z?y0MsKFiQ;Oq8&MlS`dA*nB5$`p`!T9;DDo?wzdmhxK4a zfFgvG7QQAE;ITs0sgtY=vw2fy$!G{qs!`Tcsu>3l_SY%!dXf{2cLYQm385S3JNEf$ z;;gtc+=)+It7kgk=_rDSULQ{V0JTqgTun7>_dgpS)^_ZFH+ggYv{4A&D%0^+Kvr%F ziW18%VQAn6GBJ(57udqcZ*^gsyp{xo*Eu%Y-3pU00a}4ssVg_x9y#O!(O7H3aiLow z@w=RAbh1ieR>n44eD*5_4rRx9Z0v(Shc}*Z1KVy` zoCj+|ou69f+1@`&63l-755QN6U$wNfvz$C}0-1h(X7^ppuXOg0HX&Fk>E7@o4ZlT7 zU!;*j{C?PogembhRDgU|x%*5ZlYi@+Lu%1;OlEOO1|ib4^vSLMPuT+?7?%q-wQ3fm zi^T)Rss=iD8cAe$UWB0_CJ6_#RPtw4{t-YDo;N|v9pX!QE@!6S;AIr>_(z?OC#>Ww zkU61|{Q)Zv6Ag+bOd~826*Qnz&NC^kkl_@5bg&DJ_qfS6LMHYwR#nLee(U^b%SV}# zTXD`mI3WL8QH(%P4qFJlfhM~njD=BW=R$!hL~oB^VPV+@*zD7MV4IW(N4+Kqba^ly zNN3}lR51?VuB7wt@Z4(E+ADRTyxhbOocRhefJaz#>JUoOvEdl2XyQTc`Cf7}p|y^4F_HkKhr!ltv#cjDqx@4nRJi4z~% z$S6sqR}+^we-36|6(JFIGDry%^c#^7mN^w%afQsI+M6>6kLJApwx4z}R!d%fn=!r0 z|E-cXR=A{wWy<1+k=^5lUuqU;iOHEKde~QqTYTR7YynYSIFB6rNjq>fH}^39@THU7 z$PZcQ`KH*c%}G_}X#ctC0Oh11kzdh#xD@~oRs1t3)IK5r_x<+yQk|kBlEK7f<{+2e7WZSE`=g12@CoxDm*^=i(Hw_#tAEq zySw!2wu+XR{ORH}D?s}9kI!n72Cu>cJ#J5Ft)4o>Zi$OMGs?v& zwQzoa_ufUZK-{J;(FRft`DkVNqOhrediv>p!c*TF_Z*w6tML)W$I*EB<8Ll}Z$F@% zT;5AF`|ViOw{ogr&~gRWo0L~OYX}VbS_2{p7#_c@3)T=BHG{@_znT>~A608Tiw0}n zql-W^V!DK@2ik%s<#o(u-jQxIni_J-+Ot|G;r`N*k|K?EOSWjBKb_7v4sAa~klL2r z5J%-b8jHyc3D&*vY8;~qxth1Uu%`>}FCvZK4|OK&pN^f(t%f)ThR-J|tIB6tm=A>` zCBEBq{DlV%<5Hy1i5aSpBw1%ZC!*6(yu$fzLr9iP5@W=@t(o%>ckYr7DfRfMQ|P6E?V!@Za_yaN4EJv#Iuzq zL1+30XrQY5g|mg!ozsEN!gSg1L^~5%u_*7$t+4?s|9wkDL(Kho%sKZn=*RLN?DFcO zFPdeOy82=mJ=PQ;rnCbE$D41^Y;ch=dcXLSnB0j_VX5U5*lMErg~P^sJqknpmzL%U z>%NteWp?|w!pT4J2zMfqIIf$Cx}Vc;))S5JR;9|O(0F^@m1#mh3+w-)LsW8y!DMx zwN*PfUZ$PilcK-HX^PGuz6J~A@%_`<@QzncBON)F8g%1(+B&@J>ea5(sU<@9*_J(D zTzyhTSw(hSbiofDj(c4*Va#Cp{1RW;mH7O845$okVgeEA#ncpnuE1=cToxMyY(k&~ zX=`SkXB178nV$_XoT;ntkkyz*()mE3d4%q?Jj@Z((1>ZSc&sNzkk>vNAWDl*3|Nk_ zefRNn{Vt?^>1M_O2md9;4{!e(G>$(|+Yf$iVuZk~AS9QO{r>kLd)(A|Ut;dABzngR zP>?Flb7BzAQZtFNp2$Lz?(7er5~NoW>Gl3-)_z#Clg?0cCk)Cf2NEY{${rZu&$mS0 zOd8)r_1*XPv5a2fI#9E%ny|!=yafwlrnBo5-FK4{`rV7*h$Y)t8T0^prW-vLPrrVc z;6wctdEYfzowo}lx&BDikW)%dpdjtVc#r;+oJvPJ9Iq=5q%Zi^H!}Hy_Y)fb-EQ-9 zK%*70@j)vQ*7$nA_l(d=vfIRC@1XsMA2znhb5i*cPc-cU4!V$I++D?jUMl$@UiEa! z?6)M(GDO=CW5u^bQv0{#KHNS9iNKcFTs|M%)y(A$p zJq^cMCSj(opM3A@ZI?c&lcx0IkIK6tqv!f-sXcpi7tXSKgoY|FO0i3!tk5PrGBNQeJqz>8wH$F zNlA>1oS(i!uV7(L|JeEMq2fI{>375avTFXGYMBUVQ5D%)63#h>(hxBL^J~(c#3rpn z8E@J*eerwjN#}(~^q_YI8zzj`&7TzU&{Q^7pJE$ROZs8g zo}3D`w9*lbqC<8jJU{i+AL74}+%p@X*45V!meZR^h8WS06ZaTI?md@p`utM|U8xUO zJt?Rc&%6ahTFwRt@iFmXNACrb58Q0tt+pKh&S7ko9LUUKkF7pe-87~){{gcmd5nw2 zG0yWQEpLnpRwl}23%WpuqYcM|1+VcHv96MVtD#6e?Hj2PfhZ&Alf9nWo%-|w1x%#@ zQtEN4I|7k$ys!-#!R(uap|(|0oZvo;+thI_NN&5w^xrSq$uI-CZifY5Um-r}*Oe8M zQ3=1YsK+zHUVp3XPGe%b;LwvGt4NL%#KK;k@cPtyvB*wr>1lWiM*3|4p*ng^)=m#b zjzC`rDOl;;9|khu#fZIvS>N2`@S-JrYrshyo}VUPQ@$Lct_%oX9vmO|NFtWpdo5=dCZ~j6ouC8RXhY95r+1!{k(PGlJ1FV_ zS;HI;ev)?mv*yY+7;o9Z{a*%Q%){I4&+5HbVBk;rP@d~=g!fW8QFf-K^p%rLlNW3d z+)GY!f?{$m4S7S{ikCX+-8wH7Rua%v(W_sDQRX={wysJMa69Yd$D@5#)`p=6eD2eM z^h{Dv`!XBnyFjTe1C*>2xc=Ce_Ij-lP7HCNM}pN!&s#+`MDU4%csl@4mkg;Cy-CBXS#m^ssO^Mz6z~KrY|fv8UWkebz5h5+_V9ez?A^jC zH(rAb+9-vIC(<6!57-)V(8OV0Bc?VHb)@6ZHjT)$8tk^l1Ep)Lm#e#)AsE|s3u<|l z*}W`wv)#=p87hm(`gACWu$Wx@0RCwp;b^HUGn;}wjawYZE(T$NJ8{)Z7Bd-jj?uWc z-!C+H!DBcW7VrKBAI~OhgiTLZeZ`XvN7y25cc`picBRN z?cyGaFR@w@-1je}g`KWl0tp9I|J{*lxsF~bH|Da7*T{W38{0?9n|fNz#XXE_%MD6w zKsE6*@)e1rp)bI4h!Je&7m9On9rmBZCWu=ehmZW?o=goPHePgD2Z-p3%qeB8*>$d4 z!~Wn5;OYf#ZyRR2V=cH^mjH=5Ft*Tx+1FrhTrhW`Y65ZJ?!=q$_$S@9od|Notho5J zZ&20AfvnNfXD0&jVH>$jK7G;i*{)cF6oLUbVhMph6^Hr!k$QwIDq|DP)>%d?iN zz-7bx?>_Q(Y;;Lj(*s8QZVk@;dNt=}$_}|JR`(}%zEY^u-n1cKCN=+M#7$@=&iyS^ z{s`utcTWv^-Ye-t0!kg98+`fYDv;69mH7ofTq5H$S~ZD!kq9VgU7dPIvjQ83B&jG~ zq?+uC_|2gmY`0GS9b7#^3z99f_iD+1R$@qMLtNBpj3s=I0LJ zINr7X`THkMi9@hZFC2ERtz(GU>zPQSfez{|7J4wh7+mu~k0A@!f2W=_N$qDW`{dOt z^iU`oiR@Y8DBd^oiO&)Rj4-wsVljShJ{~kkHSP;gPWZ%Zd`DHKWo!K(iuxovD!h%c z5yu`2d>+#^#Q+Y$m49={cHv@UU^ zIhGw$CAPUQRgzMl$-(v*nmh?-Jd=!Izk<#%Q<;4?Id%dA!~z}MD&cPZmij~5av0kT z)iS5{mPqg2Rpr}v?!p-_E3Xd6Kz7P_kCC7!(FsNIfOQ7_TY_>Slh0|_R9lajh6B6_LG2f85<$>0}ELAtUo z#6`g8zlggMEml0XGmkYvez&pLn^4*2nfe?w5F0y?kgj8DgIud5sV!ndmrp$+AlPyL zz!=Dy;w0%F#0ILANqNc9&Ii@*P+J4XHNpNjO_dhwtwE-1bk~f z=HVG@mom{S^vX(%76u4z_7qGVR2?x^YmQ@`5LH*HzX!5&GkMuPQj9hc+{;GoGwBh| z0uNzJR~c-;O~7A zxOQ-4@C!Dr?eYVB!oDZ=eCucmj88DdD6kj&66tppY9U0Uji=Lc(im`UHMaG^o|$L2 zs}2`}&UzFrqGtoSN(mqqg4H0flK&-DV+MmCXKpLU?DL$r1h=K%g*>$m7`+ zsq+A0YLAa6n5#Dfum$U135~cs=FwGsFpuM?lm*RIXcD&)Y!?y5#mjwIOGrS|@FPc`trN}fM|iuj#BF5ew$e>jO69L;M| zo9JpJ?(eq&bwgP`t59jHh?05`YWWJMbnIZr1vniHd94H!OC+teT{((T+$5*|%%rx{ zdhT-2e(l9f%D+ga>B#p0JN)65o#T*mgKDil_*gn2G3}U?@q)wicaS_7OqR*?LsOna zM;Dsn++}IJ6yOor{&C6@Kh<*buc0p6XD$_$_gJETYAhXyf6WNRvGZ=%eW66buM7Bo)NbCBi46(naiOG4tIKZg@?&q%^##2KGn|; zlfB>l_R)_^MQ@tD>2Qks+@ZTRVf2IdZmX&KAA{x0@%Jt3hcc1M5(!?lK3;^y2EAu0 z=hibelHHDDKkt6|mGQihHvtWM5P3bWONfg90fE8?>uT0Be*Yhi&N8Zv zrVYcv9Rh_yahKu_#hv0-ptux=;vU=z#f!TXw?c7>x43(;;BJ8e!ICfUch3G;IJ=Y0 z%xs>SXXd`{$u2f)ViP@R)*h-=|3Nf1IQ@MwSzHvM(c1$cHb%;L`qkMg=a)YNfKZeA zF9dm_G>wLsWmfoq1~B*I`bh-*d2j%%`gJsb{-8rUP3Zu9 z4!J=L&BEB?SzU=gk1+C5(|WRDqD9nU+yN}5%9ya&{hdW*g&0eMa% z^<_^WIk}~c#GupqJu(uIc1^AJ&2p+XAU>gd7AzH)*lP6K`t@1rz{m)5I|w&imxPeq zu#eGXWErWbtyqSNvbVgk*dYaTHWH{XJXn)^M_YJkkyc#ClnCnY-%>`ujpcE)LTbnF zU&@y|qR|M`2^X<`3&hqANrj$UxwjQH^GFayGe?oNi3;J9Zi!--Yw(n6D0TkkO}m}Z zccP`9+Y;@2?Ed)A&eT4+dR9P2{hQly@0*bH!nf%@kMS$>a&-1OVa0vdr?GKPx_KPZUmE!eL+`&vHgtU5&2~0Hu4*BMu?XNA{%4<*Y)z>MRga)LZ5pt zKhJG+KYkJV5_4@lagdtP5~LA^V>O_4ZV7>IIwaUrA#>~-R}yggOp$HfjYil_Uq zqns{M{)Y?~+uUw~Y&`IV;R|?iW5Y#nGtfD>(GTVLBC2nALgEHdIPB zP0CxqT_Q*wRplhf^qXvY?@0-9Nqzn2QbX}~y*OHk8qOY++szq*tZs?~9Ub$qwh-cH zGs7iN>rmhl*Bcp)I` ztj#A2n&wbh7mhDqr?L`YLDnl>uEeDIk`yhCw9TOd-2`{rNv^o_p;i5_6`RQ6gwN`x zrqx}6g5zID+IM;V=#^rk!J)dZF{5xN@)slb{Ln`sxCc{?vaFx_*l=+1dXY5uDo=Td zgV_IWbmzF7oJjPsERMW6J}0rxH2pOPyoR0nT*ylO)YFaswg?s>alfIo-zM)%3rz#e zZkL&mZR0`LmuUv&H2t)47~mCE*<4kz^{|t{-iNDvl6KTkL|r=DxHgdW{*x=5Wqp_` zy%{c2lK4%J&2KlU7~qFQKMVBw$yY3m8E3L2Q~Q}ET1kjr^sV;4?9NZtD6=ki8>_>? zfiWk?#os&4_vs+2-f%GPMgNa*M~zU>9>e4jcn*CYn;xhIAV#$t`6S*v{bo@0^nU9> z$_?7d4KHg=pTdeZ2sxh}-PJS?KDLXz3^^R^YNbWN`zb~y8T=kk=w()3;5!2`b5W!; zl=zrZ>2TCW{MiGYyLYVkOX-D6uDVfp@ueco!{m2}9aq<01E{|jQe3yjqo;2ukh>j6 zAb<7yl0$xgS+;m=l5H4G=MCv$!Qs{er^53#Nn#Pxf~)N`b6r^9@*pA)?25mmIT>9r zCpN2nSyE{?6NyZ%v~GgR2KdlIP6x1&UfuY@%0+uG3P)*sdmH; zz{fzrdlQDE+2Dt*J%LSf0>(RdBSMGS{`ygw27`4z_0d$d4KxY{>@i; zE39R|Ke$X9(qV4S*pe^jU8nY@U&T6dL0-bZBQ4kSJMx( z+bwAv%2I~*)X4UuF`5Mu$y(xke^l4TW+kEeq;sm>B+O4~_DJugHu3cme0lw^Tit7^5BCz~rb2fI{pC%y@J zOjZ5-yt2s&UhPk@udeX>XZQMVTa@Jn`Kzja6^4|Y02inCT{J(HOL^2q&V$$Hw=)Wn zvqst6t}VFWk?iyQim0W;pv#Ctu^1hnnDQDRz^yQi_II1q?MkoYt;a)cMkU$Gen$4V zRdI)j-`@lRvs+`zCYKGyXWDp5qWlWMGpeUerPM>M$<7D|BTPW#7Soq&#NFQ>E6g;e z>|^5^+a{KA$r3+;|9*C%d3u^Rmxwu8qG}$?G)ZGb=j>+L)bwF1Mtah(1b%8>k7bj@8iB3;{w|R^YI?~QPfvVSZ}UD5icPc zAin$t`lz|Ib?>Td*oZ&6ZfV3p?3<0#<7U!RWc$2&48PqU$~s#&cTUAyqRl7dq$4^D zC#hWz_c^1F+gD%tMqu@Qow*_==GZ>*BESM((Q8jRB(-8XDUaedx@@5{+}GJPw-Wq#*hg{HA1t!S~8@G&{OBnX0^EE3kMJA6}<ItTW^&rlrVz^)SfB3!g+${HH~`=F&oIVo3UcZcu? z8LbjqFpQ91n3Q#c@fRL}>))UWC<6InSM&G?O)6P0quIknC{!2|nvsF&LbYbU_z7VY4?$Lk574jg++w1Rx)$n~(x$qe3HDO!!S9 z4`&muG!pdqo+J(Vb7y+!0^shn&r}$*amwHfZ#u|%ZEGe*%X?DhPY}ZD@t8_kJG4?% z^|JnJ-kjj)1>rE#pMYW>SnyslB_?B%8q&W6`l6$f^gA{r90ZiDBnc-!AMSx!KEK4MKo>;QKOVtvkPAbg7M$7-`f-e6_5Ek+8E#5t;M)@)HAKN2C=Sfcd3v3LNkA+y58LzA=;yja@F z`DIYaRu5CCg#gE=YRT)>^=vr%`k^V6kU-T}z|CdGjHFRyPiU#j zY~t9Zvj?=n$Ss(>FFaVK`$e|pX|rVc(5L=ndJXRLaP=cdga)AO>dFL5_BUQw&>NW} zyZCVRk3Rkz$SYqGd!I152mrPp=->`zFG~4ZVp8TjcbDXuL=~cHj=06ajEdlx50EfQ zgAM%!2rB;iliR15SlSy4uJ8)hO$ZX0sFZ6b7yhSEPhy5}_=3EWzWo;#>@-!&jmG(M zz3LV<4L9z)!Qpw`iLlrnW5khV`X!YEl=`~GeL}_=QPY^}-$a4C-VuxeHwcGSna$`1 zWXcl<1laFs@5$4JB(Wb4$7*1vmF%Z-PDs;>2QnMqxj{-rSm4Njt?eD9$-n%^$MGy$ z)Kt6jrMQvGzMl*|Dy|}Qc+%?3kN|yqAXX!;1Z)OFiUNsc!@Kcr6*-J{MYY1x`uejbo?VC{K4*WV=wcROns|_+x-71m4C=)31{? zX1I7~Sl9F80#?XPJ`1rpYOt&aD1poS)JeloJe~*kckhl8Z7(K=qa602F5z@&Yy%H^*6YfVi$%wABx)*APOEBsoNcDjm$r zB-p31SLh(3ZJ0QH9zDxB!khc#CQf@wn5-_n-LN}z81Q91HEd~%{{F?Ny&*ePwHP^0 zYiLHxdLc{pB_yELP21dVTwz79Ib=uwG#}t!-n~(ab<~?fl4Q0=L0o|0m)aNfhP7T* z+I)-N$BA4X#Y3tx>OL9^GZa-Cb5@I#mpnf7mPzF=#xkD|*4?F4yD|cM(a+GwTyzDe zqLfm)D=_jqWrr{nVOrvPYnKjT=lea^<9rH2z9y2}PG5C=egjme3(|TXLoSXlZXB}b z0X;CC|9~QGX@u713r%9nBNKQJF_1z7qRj6wN50}lWjYmedue+*p%-CST`muR?U9MJ zm@ya0avb9oB^U#<^hGXbb=LNM@p1R64F+^`=ERce+h4^szzcz(iBAI-TIsnQk$mcG zJE9VayDVG2`R*0>Vk1GCS&+OwS22= zQL-j|^JQ2a5E@iXqRqlorhhZ_5XY9L>&UnwLo>aE3{bqqk39dbcd7Us$M!*^+ROg+ zhRh)fV9w(;a+&*kFrH*q>Ro%2^^F5>J2I`bOfCVt)Y~f9)B`}bM4vB04X2HDVm^bal@TG?f7o4Eg(%HS6@zEG4g5$_Q_1 zBt>a}|LkXCxefD=XF63E%jCN~KM|)T12`zjA*ANtG@Fd~!O zBRh#Qwr(m;^PcG26wmg~6N3<%FY022foL=;j#=$pCB&>Z%E4Y=ANv-Q!hl;n<~=ki z^2wMiD9OUET7(0Bv_daqIzw<|wJQk{%uGcz?!jr;5(zr(j^omD?qenkp)$FJJoY;w7?F zi*;9LzT0k+#}1nE`nxo9r&Q2ak&oDS<~T!3+~{`0v*J1E-ZM8;syr z8zd(2wUh)OZ1IC+*+1m^%{>+_jloXHIpj?lDGKz|GqL-?RYmt*{iA+u@)1hW(bEfv ze4x!+_NbVfo>Jp8hT|YwC}4kG2-BMS`@4l;6)e*e>Pp5#B&ZemH($rA9akmO=4;%B zytV6st5*OTOuvm@&EF#2gDOK-dj6#5&9>st}BA+0zAT_<=(B6BCGhZ+Zal zJ)?248saX4YD|$Pt;(x_cLntJe%zt3j*O*+AoW#hRNrc`VIoUw73UGNy3we~_^Sb{ zErd0l5A{qBRY+cj!?}aCBDDrkMoCedUmS@f6SqkDDMh&~+GXFP(}$gffloBWVX@vr zlpY`YN$)AQ4#Cu5J6g&SOBLM!VLcaP*0TG|5<_LoW7e|YbeclM^L>~K$_uMJFjQIZ^1rcdc-(w-2Zk#=f8!kQG{PiI)49-9AtAHo z$D$)FTWEC_dYT`m4&;!6JhqMXK3|V_(Wi{4u-WLTbeOATm!|pf3^{&J>lzv!4tZSA z)hyfOf}hkh1ozr}%w#KTb__NdGGw7+q%B)d9^bzRI%^zW_f0O8I)-##kFjS)$riJh zrJ)~!LV;E&N3~q@t9q=&!H-9!Nz^Xjo!#q(&Xek>FzF&=HWF=>^H;KaSakek*4nZo zQ=jK_MI-YfLMeRG8Z~&luY(`t-{kDsKIDG7OIHc)zx$XN*DXV^pHC#3%;JFG} zyv&y#8GwL#)V8%5cp=D1%*5D1?8Ml-^8$3tLZZvw|0$e>;{NP-K7e2+N;E+NczG*E z7x1spW%P)Cni$#QB8MC;l@C6*V#B}AJR2vuMuj{BH_ z_ThZL=JZ{f&Z}pteUFD~bJ%re?&jN&{ju~mjEMfrNLjjb`vy+8zUa0Z0h90OyxAuYWA6ez0}e_0bHyFKnK%9derJ6>b>!?XKMZPz&FV!alliEx`_)Yrpb)m#NP)j4ZC_&?n02$l0( zP)~Y3zfo`C?s*J5{Sl}9k2N4|`f>hH(?P`*kzU@Yt*KE(D9^n;5xkVII%DF~yYak; z9X|{Ryag_LM7SrH$YC%m@jEdxTo`KTF9i2ifYOfdsqh`m;_l4tvN?E!?1|2r8G^${YCTYV`(T?pt)5Z)xSiGNXEzRf!Hm!y;bZN-aV z-+dCHd@YN){nX?7amiVIKKM2z3B=fJJ4wFE-^h8ay)Zv7hhRD^EEZk}J zkTN-i2;Z{k`qO*lK9{zQA(-YNy!+t(-@h3I-R~QM((XuZeMUW$b?i@FNCuXtr;F&{ z3VX&t4l6@&rAoTGa`6cWXoRI+N%ii;u{&1pQn;Jm8}5o_>O79Ca(4@Si3>>->&X>% zWkys_T~0X_VTd?&X0evC+Y}45!Z4#H;Ng1z%nv~t*}6b<>zXenpv8s;7RG5xxA`sR{9ZrB5jO zQEEoY8Cg#W) z)v^-ToS_)W=WPOW|7nSPD1u!ob&?6y%qIv%5J%E(@9wbK_F245lSC4CJ*RHfml{*wnkUi}oKFZJ6_r5WXrvuTr&6}HM+fOhhFH@%`mt4ec&O+me z+YH~PmkbULauiPU)BQ#b5juQsctVUk4#uL{lqRQh1f7old*X73kbW|o`csdo2ls1h zGXy7T+4L#o9sE+zoK1l`=%4n|+8R58i_lzus_zYIi5T|%^eK|$>z}v1dlb=-VAEyS zcZ6`Y_y$Wd;nPn25UX9MiLdhXA=NMMU`;)$mcx<1~c`ZX$IdU-N9O8GjD}`u+La8r;RW$I02VpSiCS11oN^JSI;!Sit zu3SYIXcujM8eoivHU6?WYiRLCq>T?b{?jS9qW3otX=X-m%&^*EJ zdwcKTUNEo|Y*_NHkttj4fOqA>T{|A+Le)unW>1vF48!xTngG^QY75TEu3l76{0=5X~P!Xt1x-Ai#-@8}{BF=z2 zW%{J;djWF9uR||G+S0QK_Q1=!L^z@1ayGRj#jO zr=~x7=vV1gUysT_=250G7*a6F$xrAarTMaDMJOX}J~kk?LlCH|H6JK{cRIU4fg;?QC=?O2xJ%N4U-ez< z@lB3RL3SEsOiif}1-{Fd5tN$d8~Xf=fFB9@`8|^Z{%Jhd*f5q|6|3iJ5-x?k^rEoe z%e``l+};X1XC@9Me<`GW51@{XFg~YkVUck)R#tGN!Hp=xx78S0uHY`>sEs&#qRP_U zj?q%Qyc-M77JQVFr3Dl+_tp9QSp8<9_i!cxVghBk;8ecmt$FUY5Raf8GwiM#NIHgN z${=qEAX&D^HHcv~1<~z~jz0W1pPY#*cjy5hQnq-vjCqd#z6U`iV|3Cdt3jH5Jb3G% z8+DQM=6Q>3=I=U;=_=zag&nk%~tWv;d>flU0<9odggQl#CPR=OT+n6@vgYUU({h_)C@Wbu6yWsi7O)t}sXl8NmXNQe&=o zd|bLh4FB@_$;96DZ8AX9xcCImb;^i$ViA#-e>K-bkmf4_`ZtZg`=g-i2{b0$9pYvE`235mzEX>e8+#^fczve z61Qo}-adrv#11!lpDyhtHXJ@R)z`l+I3@BOkgA@uw&sJgmMQc3gL=|DI&9FUI9Che zmlmqEMyei%V^XoPv3sWb$p&MjKvYxWH)^QJuhWoqs+t21vhDWD)hVQkP9J3f5#O#f zdDU--%rO^!@4h9&B%1czeoE)fze-9YGB9x$of5SZ4euX=9(ah}u6s^HmdyfP*vh=# zgr3JFantQNk2g)-g6fG7ZSPIF({YgtHfP%Q#8PCF1ig5R>`w6GL;3TkDk}=>e>XU+ z$^xDUlHglUbDxe~e4Su!lc%xQsyE}Mn&V9zy8QOYk>NOK`rW(i#9@k90@Yhx)MUb+ ze(cK$IB*7S*sJ8XUKFf>pYLdf?xU?6FtE8N?uQCf!uB)fJF(I0}ed9LlsNwtDP2{j&WxDdc%~Jc+L~y%s?qSF132HkO-j z;2GpCqhJ>FLgzwaBZ<7+i8w5b(bW{gLySD!C^7PI45PUa#N?x|+}%wuMC=k*XJf)Q z*KhJV*6IHF^Z!w|%!2j@2XQRxyg*gC!&V93puzhv_J($%{GYZ~pZrkk4`tjEwOAR; zH4CQ-5QumT1On{NDKUelAq$>WzIR_|sOC;i7hN^T$7WL4cSDT)4grpT=0{z=?T?Zc zCnuWZTx?JbHT*9&VP9(u;B{v+@@?pnoR@4#X&iv2*p}BJ4E(%*^nJH}Lg9 z43(Rk)$D?%C7+)D^A90aAHoQ&;p#f0-%q2)RkVJM6(f$Wl3WoF5OljwT7R2=JzWAZDvv4Q!Tpx? z0S+|@SEk7{4PZN%EKJ(orfaXq;6iv6gl26n4HY2p`7EEiZKYo7 z8Vo_#!sP#+%?Ya^cZvFw7z+K{Jjl%L$pAVYvM6JpS;JSqYct57A%7CY^EvI=-oWn# z8ycR@P*1lAjCv@I%xU}#4%b~5a{lyMsU7lD?B)O>&e6@{evP3WZ;VBbs7?$1}XC*u{^S81EAon2imhykwqQv5-KhLg+lncZh3 zun^I*&pCnBHV4LS3S-_;i+#2y*7^jqA77$;yj(<#un>vfuPWYe_V(BaN2{+DAqV`0 zf8C&&emn7<9rYJAb#--xFPYOJd6z4~^)4F{k-DTlCA@@@rHjShwxnn4B4a(Wa`foP zv83i3mF4QW84k{l*uS7Vd!Uxi+?4e0or@5WL<47-usecnz8%DqRO2}NJ(SH$iDHH97`oq09Q0P##0Kr6*l}(% z9j$KpVNKp@%X@_xt|4?O@x;w;rv`rn5i#owAo<@3@R;h zV9byu`oQs2$IUC(Uya+Vxvo7AnK3tAUHt)pbUEZFFixUG*haSL&vs4kx~<2`q$oNn ziVDz{NuKw`!%BA$yTD+$%~A6DaNkvB&eA)HwS_rizuQHF>2}0CWJ%K}*^Ib<{ccLs zIGcK)Nmp=TLE(pkFWFaHu_Na<5wCh)b9!<`=WgJd4*`>~f!mgAiK$H`gmVJj-OqCf z!^d|$A13pcMLpT))lEPbdu5u z8u1xw*(biKv=PdAU6@dIXqMP0VT{D^rKlgUZ3$K;vZbwkcR00+Kz@lGek*+5qaiq? z;e9dMb(p>roXFpZ<|l0{WwI)&;f=&0ZP_~TJlH-U@pSJWu$^$lq?ctv*p+|nv>hOM zCm`j&eyg`YaZl-B8SF$^(J~C=XDe4A(Rg}W;9q~$ASM#>7@1lEbq4&k9l`-z2D zC1-5v$A}0bq=1vOo-ay!e7!x5kbqTSWXf1-^e{<2k0Qd=I)pQBAIN4ZkD? z;-dp`vVrSz;^bN>Zds87+nH2{N6&(}Z=cmZj)cDX^L#95ILG(JhKemuk|E|NXgzQONPWK`%Jz0+5dW@9x-my8Ero(uQi31qb2L3ZPGkmaP*5xlvXDl)QMD{75H%F?p&6iUE#JJEvdEQosDMY6D0I1-%siR7a%Dt>nw9_?yv~ zniv?ahVBQcDdc0c`zHS0XelSjWJ=;5_j8laK{s zICbx~{X><53yynPDP8fEFuShdT=MUzn>$N~T_BeTQ-b`wi88`mhA!?g6i-gX{=LYT zKO8z^hc3(BCucY{MdNzSAoZVaV`pe56Qam8CZD!ZZcsOSi{7Z$onM{f z+6rkmGh&{|F)b)^L=F-f8g-nB+DK5lwp-3Y&}MjD3$V&P)vZN>g4vA(Nb`{hIGext zdz0IGO)2u`%F640;Xyjc0PaG9Hy-y{_49!T471tZ^}o%a2xcblilRQkygrNI}ABa{+swB0v+L~&TrONtP7DS zUm_z`c+KQPmclHvM~F>7#c|<|BmU~Y@WPr^29lQ*p#rN{Pfy8o^te%ov{mKQL+NyP zSUZViBIpm@_9zoWWwgDRJZ!>pXd^U`us;M{LcV9l>R=w>3ew@A4M&}NMxwk{sgFrL zrK9|zbtj5A&Cvp&Vn+gqSOyB`(l&Df0s|2&0kf~sL0Nc`B?(;Af8R(K4Mo{0C3EFe zCcUN;j0zK%;kaNRe?5~WO<(h{{cRE>kf7|$xR-8aH@u2e6PZav@{YVqs)yigf+$M zafOwzC$|O3BQrPotYAOZpRU9um;N^27M54vX!432q?3OoxWZ?K zjEA~4C>{F>RRGJ8OgUXV3+YvHQ5j~aMV}r(MM&>`+MY0-3f8&pQJUYq2yE54j^DB>f7m7+=TfORJ}#GI6EMmrJnUr6FlA+HYjLk?)K>XKAkaRYO9^PgzgnmgscjF*O`@g`k#w1 z?N6QxJhC%_KM8LM=bXjr`-3FeXex=D@3fx&mT$7kNRt(7&BYAi+N*`(5ZEj$^=Qey z%~z<}14Q;&SzhTh{=E$vyx(~LQ0QQ<1#lb6TjF2K-O)j^h#$B|^Xm2>jSs{(F)z{c zNf}*ZU8PRbVI&fe$+Pkt2z773(5b zi-0On&5>J&Q+@`m)C1CFM=Z27>StTWd8cdkdfVFWldTWpPLRYb?d|08)QQS4nL?*U zy@ra~38vZPSo?e=_Rjbymura46_d%S9Bw;Y{R@QA0SL6bs7H6@mI)hEJA(0fZ5j)~ zjW`8#>PHg^ImcLtt2X-T$+gN$$A)fU%c`ieX)Sxte@o(~6*<&O@BKnN=530bWTWLn znZ+CdB!R~>@vjK-#5wn1Dk5>Ae%Hy-ImrSMl-Cf8BkSEIeLzms1&~U5CCFmYB%U%9 zwxy`qYO$`;MiP}Vwx_9KRy_sVfLOYasc(Y_LMw;?tYzQjtMsy2|FF`&#D&D!kXF?u zgrDnkk+BPY!KCAudfEH5ivv*c;{q5|jpZQ~s_s$YXQ~3X2YpqpP_;Zn`Ch@o=yl#I z(`6$IOg%t9L7bF8WS^+x1{!=)doG@tEFwd3u(}K#gs5Bfq#Du=D2k3`d zk$lp1xq3*)Ipn(0eG~l0zhbN8C+T1_?n<@*?r?wN3%N%ATD-$#i+xoC5<}dCW8HSc zIpt@fJSU%G9<~s)rI`<*-@_%r#MP$y9DhNh13nyCQdFJwgQGTKO^HDhec>5EB0)m= zQWMbGndDYQ&ixeCbpMP0CDDV z@-5aXSyuLmZ2bX#^G*EnS63#m(2$H4f+D8=S<3q@|428kEe~yLH;uSIXM;++gQ+%{ zBC>Hn?(`q_Qv$!BeNz1bcp`rV)Rya^b{hOfxsJSbY)H$uUoJf{=^UZ%(7EEoIHIKF zvG~JIdDOy}2@)O-9J5BuRGNNCTg%yIObs*fSB-{bI+#GWPuIcnK&`cc^+Lc57<@Th zAT_VA1(c;HYIPfr$r#`fXm3rJn=zx!k~aQgC8H!ED}y4dqCBO$?i{6tH5`V8n=21yErX(8-oi!-}eHt-R`}HNi62%$3X%toky+iq_r}%B|O8 zP=SorN83*;qb)kGrP5D|-8!x<(ItBFaS2IW1|4vAqBc7A@hd75stPtMn{>@-YZ`JS zkToMe_MSRZ3bAX0q|OknnE0s21sc<+eMzWgjzSvVk0BEC*m6cBxMyo68Ay2in`PD{vc!o4_~6hSbn#M+pD^$ zJ;vhqz_AOt7yZ@H6k#MMUf$ElzUN6g=hH@U^L&nalGHO~?Q?EguhoY_EeQ#Mu8=h; z+yo{XUNV6~Pb5~i3kHj0`(<6=z+gtPIPr(8AcDUpGA=X|ogWQa%D-7F?Khm9{zt?2 zx~~@mlW81=j7SS0qNVhfC(_^#i*jF?6;a&RB$33xyi%>V);z{shvI^qf(Qf1I>gke zyShTjxW$n~DtEcnQ(;_4SkTcDWW6_?>qlRL2$$pjkl&pv9#k5*@L^ zngW=;>xTnvlsXFAzwRa+g|)ip+C2+D4mlajNWIaBj~F#buhw#^7>jsPeI5SZ$^eK> zV+FfZRz!vx-Q%q%>xts(QIWKKg5vi~v00VrzhV5u*G=a}2ys8f330C40Cm`gLe@Je z7)1X&{yS^k4F?w4XQr^Nrs*Iv{imu!EZ1r%0HVaga4r?9=(wa3Jb2mDzK2#&Kgqoc ze(ajR8aN<7gYP!*3ZxAUHVAF?XP!XTrxcrP3<;uT!#q^i^1k)na)Z0i76LCI=KlLa zFF?sEzuWJ*mz;lapXRTyKcc;7OFt>VC>Vr4PJ?$~hi1dydf`-e_-DhV(=G!M)6RV~ zLT3yVzDa0^<&1Q=d1ijV^!2TuR$A#nX?H?j!<@sMF>7_T1WJ>O!%He#-kD#b2;>2CbQ@3G8) zHR*ZW=?<{cB^&!Bl(+^-`QXOy{E0EJt_!@yQ*Kb?k zztU@s{;+KCBJ>Bu0Pp^$)m~3iSFy54qN=?qcMPYy_7y&>-TRu5XbG`aYx9r8t>XPf zP8Ji|VbXmbMyrPcLHF@pmm+o_XnLP67y@Y6YmLwVWj`*1JM}nh-acqM%E4)c@XLNU zSxEKV)VW$&fF<`x6f}T-Iq${k88Ay z%vtGHVypH~9vjr1Ufvx}DhMZS{mt9nx>KmMw79$6u&~?m(&ENgX_*te`%koja#9NL zgEPHJJ;4@T(PO2_CB}*wsd7M*+U#p@@2TZFd_6$?7Ha(g?)+QMX|r!=!&-|L1Hy8j zggnyeeF|cFpQA%CM}fqIOK$CVersy@a;0k6>p;*d@xrQjhqu+Se7}>u?6Z3-@$p|$ zL{|B+ux6py<(m1+Cf;5i_s!sg1coEo`v(&XXYn#JrlNSO`yR#ukb`jRCB@))l6dG# zppWIe7SidRZ6nM1pnlp>&QR{!VJqnV^d3~s*W*hg*@FsTk*+>d#XTI0dyB>zzqgbLB^(rZKDhJu?0Mh@zhH_UDu+?^rt}cV0_3yC_ zFHy}6cZpF;6*Po#)1`?mv@8PDfU_W|DdX3bGK$u|yjJiQt4#<$K!6&d&pS zLZKh-Ym#|<3~?7_uenSt#=cRE8Q%PM^(jx?MHHyRJ)JqN)*JP58j@&MIwgL)uokqq z5u|)+)a011gV5ysTMOP=heO9B=u8Re(sRTr-ehPrhVUe0koE6eu^vPX*-(LFSf~TN z4xuYsb15nR#&7od=Ur{!kA)pcKlnAfgNP*Q5V7%J;^l2hjQM(N=36wj*qkL|r4c@! zoK`|cYWmVsLNb5TlQ0YNpv2RV)J?CWiT~62Jyhib_Bd(?Nl`$6bckRU#3!EdUbR0KRnOQ3k1VwLd|;fh z@nRO^$M&ewezYB8I|hMNb0D}Us3IZJwxDphu;9-9MyjVmat(BM-Ui-nxEKn1*29UX zl}~&v5#HM?TzdxLt7LY&&a-4hMmyUe9en;x(cZfMwY~OM3OK#~72^WVL=8Wd_%vU0 zdh7o@dMrE(Z+~Ki6$4Pq$XZOpxIs^rA5`!n-VoD>2MOiuAUUsg(x|Quw);2$GV_V$ zWzPnuFS`ifLH8Sb>6vDWT~OV5*AjTZ{U_M5>4rMHwOWh|0Tjm2P?^%mYgnH6_h$ti zAwh9S2+^cFid}Pnh$lIQ&KjgE<`RSI*_H3zRj1@+aQTDc`KhmsD|SK1NmWeZWzPOM z8-O)j1{e;mU8_Tn*8SmyH=napnSjQV(?n<`X%v?`qq81=U9fyrV-6!qdN~T*OP8u$ z%o&?rHl6N)G+a={Ui{}?lMFd8s7z5wz+{6!6FKG-2yjt33GwLg$hcpT`H*jZ?cQpT zj4$@q+z#8sxcUiyWcGJI{~8c;?|h?vAl$PLSGYlY1gB-|H=vpPhdk#ZGe zz?ruu^LnZfZ%_aqfmXXRA)shG>l<^K zF*7&5+|;cIUXbb$uvR&f)#Gnh@Jl`AUVQt*QZJT7M~s|>?uK+!JLe;quj3nhNaq31 zF|A*;Xnnr15f(Cy3<+Fv_H=Z4S@kIPftae3f?zi)Y{;_G_`4PSe+x}L9|an(pUWn& z(WS{yNU_NowDK5oM=RkVH%@;a)m1_D?)^f<3dyn6-J;#?fzJ8GK+G6Q?M=NW>@2si z;UXOy;E32zMy_8Q+G;!bQEqgBUzMEG|G23`fEYL2F&zeoCsLl$e!B;``f9xBG$<6S zIQlHr1-l%h@#+1+yi#!D=YOj6;21m<5^}Ou<2o$UUEIZvhIIVzXs3AgtR`Ro&EZt7 zjI>=*yli+Vku)~avisF~K`p4%Vn$iI`?9pqumyhb4=hQYFW9v8$3P4c6Xbm_$@lm? zTpfft(*J4T@4z#+^6p-^@N3k~yW)>B%0RLl^goF3_zTY$ zw#AG4sr}hpSfT1%{b{o>s^A51%F3~x`%naK@ZIR%(KUyA>Y-=V8usMf-rmOEblC>8 zktb|EC{FD%`!?qqcv))O@vDskq>CI#;Aek@<7mWT@9s#`4T*)bl}e;wFW!N6r8dtK z25p7$22DSMuW!08dRta8!a2%O=vZ?cjzbNtNAna|!^gI;r}bo$TaJmI$S?OYFB&EIykmi6h8JAU!^ zZO0P#Z(dhN5g&fkmZNbr5c1~{LVxJq#9Z*Qp^y<{Gi2f3g#z>N2Lllf0HE@dPw2~b z9MqEP%_=j}7T#3WWBtF$nV=LlmNw|Xw;=I>{CLe)=t35Q%(n$$;|g}%d9OeaiI5V$ z0K5C3qo(PF*1fjN`q{m-)fJi|zT(-$+ zsFJ_cq+1}`CQl+1U(CB}sm~t!)~e-U^VF61*J0y2@G0nJkG262JlCfhQ1YeYC00#7 zTruEnm+)PN^Ox&BkHZ4AFEaX%wu)lnw&&EUm4sC@F<<$!CK)j|_Ux+B%~xD#j3E`* zT`e2K<}$V|jk5^Qt3%s>lAXbCeY-3qz_gC_+5XuTBPn^%_C{Aut;re(?#@hZi*U|3 z_9bX&D^2_HohhX;fdOR;_&E6eiIsHVp?PB8!6JKOE)bh{jP(O|?pPoK(M` z;B$P|Qh>AP=E^*8Va}%_dZDyY?2^m1qNg2Y`qvy3udu!*hznG`f!OJi@dH&Fe`$Q= z4xM~JdPXE7dT}3Jxzo~IuCj~S;{ol=$tITb3qN*Np9&?orOtr+1aUS>_vaGddB96W zZij~RW!|GV!s5?~SJjDWpqV@7lryid^uhaf_+>5XQ z#$TMDHq4kQdpmho=qz)q&S}YEiZ1tqGhUvaHE=jPz0SC88q`wrcfslWd^=&v^cUKQ zJ{Dc8-q8JJ5avEZtQ{dtq$<0E!bN^+k_eD(VYp*F~mKi=hS zsM!042LBw#&7L;Hz=~T6-@os-?+Hzn9uCJ?ychg03=d(4hlhb8_?XausrrrpNOIl4 z*q_h}{_h?dgrCb0;t#00I|Ioyds@*LwUT@nvL(J*i3fh-6oxo-yQtj!mle!+u-2}u zdSkS{xj|2AYNx(z_wi@n%6+?oNfDC8W4lF3gFoLb%oi8F3o_uenj1{M5Rw2vsA>{eOvJ2e_@-(~hU;e*OBmnuE1P z8-!xJ?1%`co#N_W-_=3>{JA*S7O@_?w0xeyb+=0Q`%2Gz_v3-MBDpjC6v}k$Bkb3*Eu8r?#_M?4jmv}cN+3cYa;DowQAYGA zgRk*dYi$O7!56How#xxw;kToT-Y6$S^%!KaYldTgFdNIj|S(G30Ni_(T~> zks%3hXkq4W(IDMd?3<4Ok@Ojkm(;SlEF?B;fi8PizV zozTg@1!3ELFxqJ`(3Te1_KWqel>|Vjw(fSD_Z6WNDfqE3Y5&>w=Uz;-sn`3;{bZX) z#A&q~V&v=gp1&Sp=%j7Ni3&v3u_wx^Q_7<1R@SGe zF^gB8J`skM)zB8aKb_7MF1zmI%MlP(my1*zT5WND0SEr=>Vskc;C#41yWL!==BQ=k zLH%iAX7nhfB$u8c!5dVeHz~j49lHsSL{Jb=ZH_74+49+&+G^r3tAb3;ont+OMuWa& zISr5z<4^G1CmcZcF8$0NjREa{LNO^mO=i0)@sLR@d2T{j2x6)apH*0s6C9p-nj9#_ zG$oM=Ff|e1>+s4dGv{r>c|6@3y$iIOI?7CM4F_nI4%_KzCpu~cZeslAecno25cmzu zQ?L=-BH+c39j<3;8Y)&e?DApsJvL;w>AvS-x$?kg$TTrC8&j5Oe(&7@@w}U}nA_G~ zQ4h?q$6_5sGXZK;-Zvw+5=I-cSen(+G+i0}~i=?CMNR<$cmt- zG^)pymRS?(zBOdl@o=Ur0Zmf6ok0UV3=G%aM>Z^uj-4NuRtz@!u~+olO^>9S<8V|u z_;|GSe*r~~7yx3m(lN`}@xPCC7IaKNFPeUyQ&UrKlT&VuVsn&R(wo8uIEQ9Muq;Rb zApq`CgHhl%zYG2jlo~~(XFQ>dP9-pmV#q%pHOU>o!Ix{Tq!vV=&K*gnpv~$|t{C!# zSdn@e+@B>rJvXn_@?fdUBUUzk1HWubz4n-aX#g6a*MGy4iLKyy*2i?>*y_$Fzwr*~ z7^KfLVvE+^45lk6%dL3y*yiEp0Rd{n{O?k4ejOa5j;ya!yxAVhiZxjfAm`ZB7uCVP7I1<TIa`Z0Wg{Hc~}a8zSB8q1RCKBuYC{Aq9%05Ew4r+7LUfZ9cJ` z&VM|c%;C2sjZ?tF!FiK6!9dUyjpb(j1BEP3L&?xVrsqTC0OPw#3?OQllhZ=gCgNM) zg)NU}{)YEawi}(y?X&U0JYfSf)rGq=GeIY{>kN;g@`Lnm7)a*pBV0em5nL*nP6iJE z-&M}PhyF7zCKtv|B+1Y16royKh)5sg%i+O()&1-Vf#nCTxa_(Fab?Mg5HaGbMmaF| zJDl#|V!iovGz(N_e`PK@9#L1=@D@lY)nh;Iy~LD@i!SF`l33wF2-b!roZ@5?AW zRaKKaYvO-Vk$DPm!UQ29_~!|p(+Pl*>rFpU05NsUy2Rc{&fk9{;RCB%8T%zyBvuT) zKF??)TLQjC?mA15$HZIMbt5gzAm3}zC5e-8yX^I2TWcPr?9$~;*ahC zrj#jS{AhVz2WS8Zr5dQmy>_W!#lr)p2A8RnQc+Npt~uiDXaQrQBhno#^H)lLJ!_LP z1gHM8zKvEaGx%N{hkZut>vswL(Zxd&viAgU#{*$ow7LAY)4J!>{2Jrds`G?$KeT?) z6JgPRw!f+su{I@q_(S&@i&}+k|JG28gxScF=F^mlR6cv>Jyk)e2^as0dqzD|I5{xr zv!^Bm@}d6Z=gq+ccvIA2*|*g+lYwDKAZvo23WvTJ!AKy)$DQ(D3W2N`N{B3178<{r z*xtTP^#mz+pV*6JsB*ZP+pgmbU#0px=WCgyFxT@T%e~!6d76fAX|wwX8`DOnT$miZ zItC)F!C>S%2L*Ryew9|#1Z8Q&HB0;ut?bDhVcIc|3kxhMXUh1YYofAVO>+9d#WfcH z&aU1%gxEhCti4dM>=kbsMwra|FXuWG$o<8>_SUk^-@~TS0M`4Q$f|pEMpW_gC0|dy z>BB332e_LKm%X;9>9sEWr>1>ZikFvU=^`o}94bT`@&YVo=~q6ZzO@lW?`y?0wKYS; zGk5=v>GuU$Pg7c)3;Y$Rd3+wn>mGCX*bKSY+^bq3|C(MJA{}hkiL=dSVF1G1FrJb7 z8}Z!#N)TQ-;Au*Pfnt+|Av>Gh>dr`z-&YP~m_zY-h+F!{ za}@9Ks9`g9Vw5>GCvYs9CX=+&f&dZUJK6H$+%J|79ib!Hf*Y;p3uvgQKI|E9RM>mEgbb++if zeeoCZfg}DbDooFzug{QMYd&-~CVs3ivP$%AcYF;2%j2aL%QN95^8iPz@g}%DY5bsx zeWMjPvOAgbY4}jcat^>oL|s#ENm0RGo?`)Umz>GlfX^RREgT~~&UsQ-=%6=ulI*@< za`nIVJ)oSWVyidovlPvIvutDy-HHCoEBPxBj=cG$PW_E03O&hXE&`+bDWMtficFuu zZ~JIHzA>U;Wk$qG2j{1%0}1QlaIl9+Vwf7U-1tw4a+0bIrNNL#mJOxrnY!> zhbI{*8}&&MdQgo)uqE@RU@c-?rj~rEAnQhj+)J7LI^ssF=DP4Kcj}lcbA>!BQDo)u zRX$(r95az^t@QOB+D@jbRwTlxtNDg~y9WLwFa^rX;!&Ae?Ub+RmgA~WZXRhd-YscY z2p==3|Fm@d2@QN6UR@>2kfkHT7^r?4j%J$mxOm_1OcRkt1>))bX^DTJgFj$LHJ)j) zO#CDn1==XbPQkQH?F~yGE5WIF{sLo`>d=y7VH8IC`g0lvU?Zw@#F03uS` zN}or)OnPqg>9ig;Pjq?fga8-4{x5Uq8&}*blE{dEtRUP&{|NUX>YfMLaDB=Td-Wd% zoY9V%{OSwJp1SS|Y!Rovtfc%`aaP||eOceH@%;8Q#gk2*AkF5Ey;=F0bM!ed#e=Jr zahJZyd2f{@EWP2QE6ebYB&x7WKlsh?aPY>l3%P=5aVLQ5fPvfIV3mZa0CU|&3wf;Y zZC6`3YtNY+_%R#OOzAA~>BXxNP?a5K%1*tS91vPGLrO*}`Z!885FdHIzaQal?Zhbk zal73$ZYQ1ldBPd=chhGtq1J@!xz))bo)=FR=SuVt4hgUx@UaqOx@?Yf2_@^HPlm?|ESWFVr&t`flh&UEN(63tt_b=S9%5r-8>Z_h07LdfVtGFt zZ$%;A95Z4(N|?0Gix->Jdz80K*nHs3AfnHVwUPe&GmyBRcj=5z?tC*A&S2$icZzVe~QaXW1qVcunu{x~1KF+ccxDDA6v3Yn?@gb?r zT;}xDdO7tEJ~YP6Q$VUNKYCT+VLA^wKp%i6MS2oan~371&F8;^MNU*A_u@X2q2Hv( z&NMnYdW>ww7R-x!X$~X8yb7T0y(}}}9K4kf(IA&i{I-ubFd6xFKR)enLf%@;*J`g4 zp`=??>bj*R;#)&+r(o8EZ->crX*zoaQFuCBedZ^j_o~aeztheYp3X|d{?UyJZA{My zA8+xLM%2@*AXZ>>DRYy7Z5yBV`b&;o%7PQ40Zvg>~&ZXR^=r{jg%Ko~m|8eypH;?c>f5AJp9p8*Z z*W3>|jz^tbj^Y@jciQZ08DHEo5JO^+=tJJ@^~QkxJjgqt?IFH{gK2r0nJW^{QQCJF z$$Pg>BK2`PEz&e&Xyh|b4~JWCvp3oze5ri=UbP-`1OpjVLiV{qQrn(AWj6@PoK+9U z?$6iz99?Ak$fsTv6An*>)Y=&PU%#oyvsLKZ%F~LpBLEIF0xeA&2I2iI^Y{VR{PB+s zOAmpv*Spz?!uRKI0N+{8W2%Y*z0eS}Sc%~J@Ctj16rB&9U)~FUCY23#$C-h^HRUQ5 z1Ojz#5iH@=j(>6R6o9Q1Q>!fw!FcVfWKoJ^gYm zf$OBC{73}{VLk{CjH(D+4Nlw-BZ?)0b^Gym7H*FJ9(qapSjhZiz0YTtpK~I#(*7!t zHq&O{PJ&34>7f@_g>C*=AYdERKNGgw+amWcM2V!P9HH-R+g-IH(WQi7?aTKrU5CUf zp0y%c2P0BDCy*;VIQ=FV4Btf$QzfB1Nf!cnV6+}GcfyM0#xEK~)-#Rg{o~$&^QG;( z?CZQr^cjeDlao)OxBLqL$U1bY$k6IcX&tMDm97q+YMwbqkQS)TwKLy&tzadAcZpQk zTz>`X{}kYn#b4&IEu=t@??4VRn8B0H4&{gucu`TRdG9<;2L(-|DXjWDzrZo8^Ixs! zS)QhSTG7H&Lats?t{k;mto^M{F4HCU6mS@c9&6zT{gm&+)@=(gheGVMDac!xj2`c> z0P^LE++=YNRJ0nJY+uq`vwV4R@hSXYuXw;nun#58W)m9yg1m0+1prnWmrt!Tj>}&0 zYXE+#Lc*+T^u%12++0EeZttW^gHT&>U4TG=<&*zj$bT|3E82U82IK99!KHLG(}(%` z^-bT<4g;iczxl=8m`ec|D`)zpqzDryv}tv%ecc$ChO`c;Z3B=(;1WFv_y%j=4gr2l z&Qhm2bA&!rdt%6h|KV9wj0DPG9Cm$Y0zwahWgb{%>3D1uQ zZVL$7m8|(V-U0+r)l?VbF6z0$9JkKiPJcpUt)R7zpF{7hw1;be(MG&Ooj2|gpy62} zXaWfg^P+@ZBkU|0*q$xz=B|qVmPo(V{yto5`W#kYJ5UTZ+ghNllpsV$rk|ah@Ci9@ zol)ylGYkFb{hRARl2_?lr^C(}P6p5_PoJg>mrvIbPaWIWEDX3A`>ie1FJ+>u;0U+E zNRtc)`4k8hNcwvz4L2E~S0DhibTTm$`P;2V6NB`YJk7WbfDYV-f2H z=mOkiY!Cm*%MDR~VD(6;Kjjxx$J9JqeBaYzuv^&H<+#yDJ7eA3<+Rb-(_fBlg0n&d z{=an|N!FSD`_tFZeKT&Pa*PWv)>VJ1tD?Y3LKq`28!1aqAC8yrzTH&IWx7IZ(i_kr zC?OG`Y}^6Aa(i^(0xJ}{EH1+vXl7!fzVZ4xw7$MK$W?#@6D?GREVBY@LT5k=*qEEE zWooroy4>2@SFpAIw9XbsT7)V6fn4{64GP~5SmwiJ1Q6i1;nZdi`R$$rhPR}zbrxi1 zd-?7|JOU$RY6}uPR#T8bR;C@_-UfR$NZ_UOMb{;?LBF98*CSk1O;`WF`OYtPC!Cf15P{m*GXoBCI*y_dE8=mPD&DPr#)Z6;54X z@6)=rk1kr*1)T(i^Zuo9<_S?+fzv^ohb;fRvz{oQQb&cof>B3>>OM-Dt>(|~D+x{H zp&k3$5(_r=o{%Jwi30dZuX@mZDZAe0u&0GyMcHD~U${{nc3U=?Ep(esQK_Kd&zao&uY_5;&Xy1C6>>Qevsv{YcbvLhYbb}HJk%sc zZlwa$7Uh3G3X);cVIRq!S9d1~wjKSN*Z+TOWrN0C!Pl!&qpQBqt*jEWz8;Q&O1<03 z)jmU?5&oYBm$kwLZg67xc!NtvhJ^@l>&QPj_0Q~sK0QJ3Wi?Q~JNVjo$NuM30+Ekz z`~Z+w@h!IRzm^9gFoo-Fi~sMMu6l5egMCqb{>dHWx?Pd=(TJ1erbkfFm4PCTZQ)0> z{m~!UP*wDcj`piC(%pSsjghNaEl>K^VEdDkb%%zzDs_jz9k?rjq3Nb&JT1%$?hoC@ zqGDg5a}w>DJNmw2Lg)PdcPaOoLc88#1K^GebGDUj0$pkgQ}>mqOTV?EdYDLCQs_eE zEiY1ad7PmEj%!z9(Un7d0(L5JA|H>Mk~%Gpl>6iTe;OiL*EeXr@2 z9+o=N3AJ1a{v4&@fbd1N|D7*3=*B_c#yr6M;`g!k48k1iQ0+QUab)z*s?fYI(siWB zrNK(&(uYG5 zTJ=07m7cm6Ew@mpwlg;@${%hpWdR}_-RaYx2hdR@`27r+)~`0{ zd^RaI@Y?Z{D*tmeZu3hE&t^q#i)(0}Ts9Jii78!Ap53OsJ`XW?Yip~fLRr^uM!qEb zTvvn(DFm4z1F5ox&92sM;~g-x$;|L+l&M%c+FlD!1q*O=aw2x}?hT5;*!7Md4G=*< zMFv>xfMw*F2B1f#Dw1OhRzWMx zqrxg1U9%Uy2Z;!sAf{8WVL}2ZqLbAH2uA4rk^O*Kh6tobwL56oyCL3-?I#ALey|W4hQhVQL_m7^_gn4(QvF0g zC;%1C%JLolvIe99c*X~QqU_L{!jvU#U9@>QVK&3S=P7lNTil4AE zd@BbO0c`J?k6tGwV^EZZ+c`6VhzO9mvdl+saOv@6Wy->NWHqxj*-(H8Ss3Yh8bNU6 zl8cy(DSVc2@4q{M4sZ30CcKxcvQ^>X(&(xeuMX6o?<|c;JizdtLUfvh#A%`kJn4o?~_8Szd zEIoQan(z0^bVjMjhj^_tZ235Wj8c_tBg^geV$k)mQ0w5hGBt!w&a@QuIZ_u$L3EhE z=nCv}e*H*9mDu{%h>>66JxOvG=1qG*y%x?ys-qC`=TKDC1r!4;A2VY-G_yB70$PeO z9BK{N3=aNZ`vVQrPuc^tjJ)D}Yust?8iDr-Ra#yq`Fv$46cuRo*+LhT5gf!~c_+zl zi853L(G?OW^z*aqMH@nAU0!bxKdw?sOZ;NFoALQLMBY5^^Y8Kd&3Gc>;phS8^u(iy zMh^1B1Cy=!ROflL5;J7RpfcE9qaX^6#$Wru$(W5kv51yw{MLy2AS=+Lb!rIu$}swG z=3nclv#mB$`${e6GYRMe`@lqbx~_%ncb5-@Pf@8r3P&B-K6N5_o#$$|zn*Bt4fd7;YdbMX z=#d*BxC4Y3%|;a8xifTy=rKmG4*i+10n2q^+gpk^-JM}k1EE?=o3fk}!}Tj4Wmig> zfQnXh^`^(@=k6}_)=o|ZLPBDl7t6-Zua|H$Ux&k5BSAp~2bIg5b|Qyco7bn)%(K1m zTGFCU>)>}uGPoGgvOoPe2d^?t(WJ3MNLQ9H323t*-6Fbsy*@M|N9IE0MH4M+q5iLR zq?3Q^Y4M7luIl2uq!8!m^40JG=0ArXPRz`ZJ|FoUciau;Ta436bja=f2636GG`8-? zp6XB59S)dl)k@f++y*2{_lN7&p2;~xAU^y$m@q%Wq7=T5OZ=YP=No83CbwfEFVgC^V33q5AM}zS=SJMy1`k* zf~dxsYr%t#sGH{UI!;_(qa9E@1t`|~7p|LAgAR6Kl=9ZJuR1LCX98l|#~-vxcS&4V zH>aMfrh7X}rm@PK5?r)8_0-ffJu-W_q&R#OMdMfH*$WgdZY{fxa>mIoaifBe#(M;FOI1_lC5@A~aJbRMrV?e9o`Fh2CABd zPexOSl)2+19u%cqzu}u4DAWs4W^j9X5H&NNW^8C^z)ZUjj;PNOBRblLY7;QwU_BXP zvBV9>FBND(M^pD!l*pL|%&AEPm!%iT)DVfz2!JKgQF0>oehh$qZ>rTbfu>$M?3nev z+ijb<6Iv}gCL*5HF*d`VyJmmJm@IExOPB%1_UparYNr!rY%Ki*LVb>Tq>P8@-qgAK zM(=A2>}gT-+tb5l+osUmlLLHGW@T|@g#|F%F=q-o+4%DMcVOzRq8QWaY%-H)GgdlE zdRmy9o3x>{Fnofe$r}DgSe|kGVXLv`TSpBjDZt1^eH_;Ra+E{^wm5YD0CR0fQBP_v z2`uBo6DrQ<%RUVCoaWT zcPO7H7ZS+L=qxEY^T8`b+7V^#qVWi`u;b*=J;plS$PxUwEqSk}&o9meqT+(tt=L@% zH?RaU7_&A9%w@&fy9A)2utW$5m9Hoqi3?h(s`FYj-z6O*5r3e6U-^bwO2whM0mqiD8)sa0v{Q>Efu=- zTgVN`;$R!jPVp_uK(*mcqOCjvoYvCbEves7KO5}y;e1k`)_nPX=I4)Sk%pawHNNv& zCh`@0pJZX@qkNKCDViv(HS}-q#!2{QD0K*eJS0X*u0CEeN0oR{M5U;h#)oHVR5Fal zNWenWH~L7UfKI7NYSX)~e{U@{2*P?yO}h5bRzaECvy}eu;;t5yfCt)_Jxft(f~%$Z zR$TO8K8%l zI}e=7iq^kZ+;i%>FA;LL5Dry$&)x=OX5M|n&MVV<({tbPcJ2~f{_XM*?pN;P4f&+w zR3Ih_CO)(ETQ+%&*uLoa^7Cc5N~mtzgJh|u^Ld3kIoSpgppqE3(I8>!WYibKu3q~( zz%` z6x4ZLu4+0RH*9`)-+$h`EhuU@Ir+Ppa&L8muxil!cYHh1y8bkpQObt#*7lvW({En+ z_;DmnAF0v7wL12U$%R^Y9D-=}Ba~_s>Z|W9ob;mz2wuwQqXr#x9!FlY6`)MtbW{n& ziwrNa&(N7(Sh%KD1lY_vu6^wCHVFc^>OT4ELlPwBgU()%zOU38dD?ibHBnaoX*+EV zWah_evDgNpA7#9pseEem@k=8pREnc9%e$NKCY?Ai^Vs%baNZ8^fZiO;7W!C*1#X2- zZ&IRu{^TKm_05ygipP^wvwJmB?&Y>OsCI))u_jxW5+cY@ZPO-sKVLrxFZJ}qW7vR% zBJIB$!*XVLe%@uaE+AqxHfdDR_k@})b8Xh=hY0v7ANkWe+DIkM|tUHV>5*JzL;X(Rqprk2Jm!h(=Z+0?nW!T$a?ClnbNg7GKvZM zyonl*UaSQ34LD`$G5NxY_Jc*p@jI!vz&Q=~HF;T1EuR5mZ}KY7*&jTZfU%3nkO6a9 zYAYb3`U;`$lJ&7>9~`#H8@T=@Z-N|-q2zSp@RJQ=ilgEQa3FQNbB5V8i))P^@T7CF z=BeT_we@(Mz4WoXSqhJ7wSNmEN*IQI-*@XB+bvj%91Jf9`LDQhrmI zVmNXRfptt|zP@opX>bqFznFO>0#yF=us>#gD|Y`1yZ@zn84cbk?dYqH39oPNNPp%> z`C7~)Ns}RyFz;C60lVB@z0Z6+oN|JBIlXa3tH|#IfBBfVY**5;HF{qnLKNKbmK-bT zbQN^+CuyV91VdfbW`5iEvoWlw2-w$Caj?;t`#{|}?E^97Z}DBo#jCFSNh^daiy+eV zjrc$h!}vbwPYCGjZ!h-`6QSDzXi16H%{!Yx-k>WuExP%E`_e^nT4|I*aHdYq)RYJ* z%pM?Z>_9bUjS!h5Z#Bd!?5R$vJbxLmJJIm+DC54KSWu*Vg+tHe?DTaZm-4fPA!=l* zFF;z=l&F3W-b_Udq%hj1f367)9DK~#HhMl^&po1637K(-w|9zRmDsTY!{>3;;*NQ; z6GJ>`jFsH;@$70Gq2k7%hQ703M`1bnNuU<#V3l)R&r~PL5mNc58Dg!` zz-ul%46xmv{bl_E`S&KZ*yuWpxvRRj_t^VVd{2!&-Lh;*PWgza@=7`!x8nFJC*((i z*2*HHoYigyDLgaKA8lI8OijMGx9$BHBlgoeW8{D*HBSNmvT4`q?BGmr;)<~8*&e$@0EfoMbqfxUMg438$D*ictUUkO2 z`)$t`_7q3+jX%4fcEb))2E7!bZ;2>hdsUv@*z+v{@vy+^%Q6t> zdPWO_GV*4X&mh=MvV<#r5a3i zHZJ}v9R=$G6FZbx5(;RPWl5(MF6!X2%URK>#4I`Hv;d?%vYaEtKg(hittCE7^H6{q zUr29O?Bh)x>^kWp2dXbiGF8H{vFW7e?ov{TblQp~^nHHY=Es#Cz$Cf*_b2&hu)Ke? z1ZuNCww1WZ3knEmu`wZ+tirQuR@;sR)y!N7{ucP5k`a+rkWo^m<#^=!h5t7A-CHne zU*y%`U>p7^TefPEjD`|+BX=rv*S*r$pAKyxMWUM#dEEDsBnud7s#Uhxq)~XshTMT$ zcQ$}+ADuGJn3B(Do+;wfA6$0~#7F#K+IAwQG0=RjFw=K$1lszI`@9;^g(XZNTidC| z#KJl$i!MRtqyM0|7DA0hr^cRC2=DFMW$mEUdJl86NAN%_L~t-NBZ|LXISt~uQu$;? zlvXmlXgt=(h1$Pi5n?+iy;8WrMjy7a6!?zN^2Z}=IX&Q+nqBvVfAKQ@IP?l`DY z+~`S>d$OCXhzDnYWRp3F@PNoizxk)7dkvlp!J_){sKEOJk&JpJ%bo8$Sg(YnoL^o} z2q_h}CmyQ)fxG}7OueE=$4(@h%S;1229aE^V zKn&*7ZJ!zx|63$Ju)_8TTl2r<=}2V1gz0+99gg`jPO;h=x9&S~j-fmDcSC8v0z9!T}$#RB$LkViV^IY49isJu<1A)dyLQujS79wI*9EfkLaPE2A@> zG9vG6J4`cPk{pIs3Z*^;y`#GbcAcvpX)0-5Bs!zP_`js)_g>93K$WH*ALYr-;XHOqbtX=>+3jeot&>nt zZ*bBEcw(9JqvPz{&hg1t%4tlrPvX6MPv#^UvvO8UAZ)o=J&)?zdKuCi5!IQ|jMNg+ zLM2qW;U9mgcF^Vg>xpsl+w1-W(L4<1{)|)Y^MIM{th`{~7Qj$ou;oj*+5BTsQc+@} z@aCr;a{j2Os1zL|H^*(AI>A;aD?^e(eTp=1$s|WE_>}EW0d++sB{q^ctLKn6;pwX_ z>W;_f1a=8lSt+JGRcY!Qu&>j!ZGB*4z7NLhKlTmn-zxjAv%meg@?53#Y==?ETq+RM z3v~Z$WzBcQQiLonKgTV3scW7=NwAQ5h+t;mCcSyG_ws)qhHIG7C$YrlA=i9(4lf>{ z@X#WcdCtxQj0ksuha(!V=pv%alr)!2dHw0f3-m-I5D6^0uAm;2cJMi_%Wvp~Iua`r z=soLKcBKcS_{&^yuy4Im?;qLn`1+ZENNFeHzvVGn9v_j=OKuBUexzO_t&KkZ-^Y0v z=CEe5vPIq2$05#2re8m7(2DgI`SXEFJf;=roxuE+EBp2s1?zbuF5Pe*7<%0{4Sww? zgSZzaE3b?;1d1oYU z{#27}P$`|!aNs(Z==aL&Jc6@WRfqk^ZQHo$ono~2zBg>?Iq(nnViopStWE)DaEZU+ z8!SiNVj7KRzel$hSRxE<9bsuQRDGw?&^<3+ELh+FwWOzGt4?~SKh_pTEwwnEyJWYF z;CSjDW&Y4NMcW28Q2XwC!Pb1@^d4>27*Foi*lhJ_0taK%tyc>A)D?8zmchY00+YM} zxbIQFWF?lpYX8`dqVdgdz?STvytW$Y`!)I*togDfo-KJp23j0q>ZOrSk{I!hy0o3% zNrb^DVa}$oJ|WN}fL}@9y_rVw+4TpFY?9P81SbAOdo z@S1-`dW$O(^bquSc*P|yG3!Mi>F8lE!2O8k6ZLeF@HvcHjoLT7;UTc$kro`fv5V`r zYjy&XHl}QH&v30-UX}h6+VS>0i!-<9)wHVcPi+TN<;sgd<+kTI`b91e6`cz+XX^3BS!!};}JYQjL4?W&Z zJY9*;nA|%jTkxgk;I(#mN~{O6*g~0JdO^J0w^ZJwLOP3*4STr7n3QwyDw-~(re9Sb zULh`u_b4=?wNgFLcfKx1Go0bVv>^Wvd@Q#T-b6w=vzzcD7Z6wt^jY+B>H)Xd^LX{& zg2W0W+oZ49;=cJ(@)Ya!Vu5=WvL)gQYq@}~GX^e^lb%2dJtL)R;0wGajbZ25`kqLS z%suoZMc>)%)XZ>+?C42)Upzi#nFS?)H?o*dI&P;|Ff~NpXDL-mZ9uAhbYJ#$C4_Iv zJD`=CeFtk%V7HW@tI^B(4XD6-2hs}a#a58|0`9AIPS8UY>2aRaYo@JIp@49Ck(31N z0q@^-Urb|D-RD0tQd-NyP6O|hO_4Q=YuOp4%!7qPokK&gBLepo{SB5qcp*te;Bw5D z%`4hnQ=5brW)XZ!Qj>(Hueg6kuhmU=NxNKjd%D|>onDS%!v8zi>n~{SrQJE($jtb| zqIzKAL_R^CRjsoT%HzLCQ>52jRtJ#n8DE=(-{hZ}A~6$X*905(ILd*+3z%axQaaxB zAhQmFy@bdvT=;aq<(odB+OWh|DN~|UNs}cPd~e!saQ(0A7X^NAWMkG*q?OUO&ph|f zMbhLnvZ#1pXc@a6?9PoJkLMoHOh)k#L9d}NRzemgzB5R7;cqf8iGO5^g18PZ-y)go zs>Yt@ea#?V6wA7cSLLFh(<`}THQP58o%Ue}`V{tJ6=3l3@wDqSdc?8MV0L#OrR?U% z1p%xBolVHGRwpERIp>E%z@JnZ_OI;>Uhyx(?l(!TK$FMuWo9+iC!=@T+Tx6-g_vQ% z1G?^vk)Jctd%aAZCi6B`WxBle3cP%vuydOA>lL$WK`5r@QIN)%^YBU!t7P!ET|4f? zWrZJH=^ulr>J(=?X_X+Q&8Nx`&>&GA{*&?$3m7e+4*wOx3u-GYy-+xX@4NJ{NvJu16MY&*CV)=#KDFT&bs8~3NZ-lmgN%A2gYxWi5{uClcr9q4E51JG4 zNP4}cT=e?VtMg)QMz`U~y|AqXIv$RHc z#&x>w4POe*(VTz(9=qd^+p8_RhB)T^JtevT)f-i;bYE%IDa}S?x_g$~nZUo{f?!;M z=d|DkPYUnR<+Y%rsjI&0`QC!Os;5p`??-O^6AOaLJ%_o6f%-Y$o1v3}iC z-!RO01=cWWCR7RLnG_DYLw3cT-QK5rtw0~7TG$@NT(UwzVtP&TaLzGiPc_%SIdCDg z@o5i^i1B%S%~+NRAg+#-4yQy|4G4GO1^0Y2{ev3uza{*X)VJ%>JgPL@dy?~Xw*VqQ*l)|+t4{|u5(}4HXIWp zp6q|m^L@zD)hHrDx$}mg(ZGV0p_P_Ajfd?nqu5_Ji_*xj2G3h?C|0p6|_`= zn%d+~Z8>t);Oga6<=s^bG2KvYI7eK1#8`;@QuXW`P8B}^=|+db>D5b&s(HQ^rC7|` zZQZvc6GQk1Br_1f({;+%l!x=@6 z$a$gE;9vl7Y~Zn8!mqFaL@? zTdycWhhemL+Lw%r%zB`%#ZL{)7`<{FhFc2ktZtD|goZq^#=Snpt(;qb!&Zrz zM2Iz-=sSYaOp>AvCvDM!_8^cxLJ$T0!9aiBX63yjxIY#uw*z@pd;Xabkasx3S|QLwjSj{W1Cr6bTptn92^wWw za4X;?E=Mr>2~2laVy^j>m;CNU%Qk*L!`y}SBVrcq1om{9h3h5}6z~ft<^0m(fHOx{$EupmWja2$Xrd(__!Ygn+I1n<~|hjCS!dt?(*Y>#s&QO168kZWx#lk)kz zMnP_GYN8(ovXUJ?qQOe}g?t@W5l4;^Hf|U4w^O3QE9+5ih%CtKlCaN5s>3JWHC$C$ zxGmNlGiR+Xtq;L zCEyQQ80?4Te6E4bqoqQNnf@oTno!k&3_MpAh^Pa86LDkkPxEyMwxne_K@Cg2~G4j*cUKurJ&`J>$IR%a1?SKNcRT;9bFY5f=Zu{pe(Ug3YkrYU_O?_q$S2?CC6K|*AYp^@VrbeTH>*rv78SDkesEs9uDgE=L9vP2QwW$SdsX1DGz6oG8C z-&SZ>;m%4e*kP_VGFKtcGIkc>+FiP?qjBrb;aXQZ;*I=-B`4wq zC{=1G$;GcaKAL@Zf)&*Qdxv*L5+{)seP890gLFIAG8cWTR4@Vuwg|+fuwZCR{Lm4a%OipB;a*B#AD~XCFN+`2UBkKnR@~*Zsq6yHWI;sx#+wTqm zm$5@P8}M~D^emse?OhccBb>~?7Q&Ae(A}}o4x%~8km?j*ng?2B;}5RUGzN}R|04-~ zi`fwPZD}iLLgr-;{oxXxQ=L?A@zoA+6KtD&hRG{NV5yTJixKky(SrR(;fOY(65S9n z9Fm<(>k`}oSMNhYqkf&yLDH>F8Eb~7wjdU+9-jb})k!%aPl8)IH;=l) z=klU@sDAcu9Y(4XrA%AmLcE})AS)=L8u5~}%-%Dxb(GcqyalH_MKzfUI#!Jq*50vc z`g^}{S%zqrkLU@-MX1urPNJNkE#Ar`Bn_^~t7+D-K$*}FlH=GV0U;LbJWV2>gDcT- zGM3mTBTE%Sj!GK;O?anPWEG6xtla7+U7NBpIz4?vpW7g$J5svFB^X1K>1K8ujiT5?dZQ34>&Q2ZN=&W1)Dw>K93cWkg&^s<4aM5QlG^TQEE_@8Us4n(cCT>^M=+7J zpYj3qqb0DqkS(6>=8(ns92@(z}>Khy)k+GlAQq$jOlkbvDo>E};WQU#sWlym% z*B@nbr)8&~Za%YTuYJ<&6PVmu%cgZN5(x*HGO2<63x0*5b6*eH9lMx6cM2!Xn#ldV zJ@&HGPd8VsUHgXob0VXrLBWoOn+XQXNhP*n$N-^mHHLhRpU(~At0J-J1froT40`Ny zBBO`+e|!k~@7#)enP)B|15s|+ZTu@ zi=4S&CRbm64xa1bc#7};@_zR94KjCn9TzQb;zz%`QGM#8y|grl4RYe)`NclwnkJ9# z-5aX!eRVc9WfzNmdpA=oI#gD)&``e!t$mbMbag#Rz7Qu?Rz*W&BZH|`YW`_GR0O;Y z#$=S)H=h1T%GOS?&=veecD znLjVe_Wozodp^`BCN-+f)aivnaL5(L`5Rs~n*a2>My6Pk#1pT$q;k+yZgWaY1f?}v z3!d&wGn#X$uaKNFOVa6gs_U*B7OhSCi2U?k=7wWD`t0*o{cXQ$B#>_rPi!0{lT$QR zl{0Tr6TVg`rFmiJKGKB(jnzR;nOlY`->&}s`cayy)DiEm9$~Iq6pyWby1Z`d^VR(0 zMTjS#uOOK+sjKo>dS(h#Xj3%>$!h-qpV(c7vPM>;iuUNF8u+M5#3xr_w5dJW;J(ouxek$Df#6wlg3bu+D zcPi33MJ#A?LUS0cOQTCK_vA4pL)32z3G1Hqp?HM4WeOvD<1? zCkesup?6@vm2%Bu%!RvWZU2vJ#gyq&q`LQ!3Ta!KOU@f*YHLZ}U3)^@^H?R0D|qJx z3ALkB$*T(kTW{uR#e^woe)ec3=Pk*C;o!RxE2K!<4lkt)u3k7wbwu;fy)iC7t6wr#k3O}q z>C7{$yvw?BY+N?w{k`?tQzuQVc&ez{Rn(+>(-XDg*>w~27yi#QPMW=kAOH42-hatl zgpt566bMFwm`0r5z8(CZk1V0OqJq2cZQ>(u%Sld1j6St+(wS#g6%OHR>+4Etr+nY~ z8nL&pMNeJaL^>Piq1Bss&lO>8J4K=B5(-)D>e9TjrN9T@GaXAtcxhcL)9X@_bK|3H z7fw3!l*96G^ktwJd+E`b=ygCK zP0Am*BOva3uuQ-2+$gP$S+@4{GqJInNUVtK`B;WQb(N1hT42`1CY)S=U)@vA^0QO2 z=>z`gQztZ?d1n2g_m`@6)wj-weD!n9V!>=%N3V)AZ*Gcz|5Y8=oR>iainv*c6;ZgM z0{6dA&UY3MQ*LV>d$5*GFA9Eo*Pi&xXEmKUFMN1@*Yif?6Q8UWr!H*KRkh8Wv&iGK zU%izNUv&XSAcK?25-N)j3Z{Abg=hFt`$wsYmUGvin|R^*3=cfoe`J1LyO(;^jy!SC zWFmnInyae_g>8O+_iD~MbvmsrIkLGTkx+o)gyf;edboP|Vl1PQJ=+@S+HG*i*S zexPoFzKF~Fi+alytsm&DvOJmDR`C=y?Otk|2!HDf^|<*;eZtk{qP5j!!@gITSy4+g z=8`XZglv;=h0k-l`?zTOOaiikryj4?Ppt99@9*9{I=G^8w!YB1H14Zim$qKLIfe>H zQ+*v&uTov>Wc1&zuM+j;<$B&Z0cJJ3JhnYaYh{>7)TQ7mf|jJJ(xay*^&sDi;= z4^*;oqsJW&4vlVmd(&z9?cQZwSzcN`{U5sPgriSttavI~-|i)M$nd}XTNOQhQQmb{ zi0REXgQ=ZVR#Z?~;Zt-yY}25j7W&eo%xi1`H^M#lm+8l!)Z&H5dlKnyRL;;BTK_ug z`g<;!@}8GtrVK~pl^v^AwL9?ID7IdMbZkv7E-R$E4;wxTTyosX0&5 ziqV%bnLato$goXq%#nHxmJoR3tOIR7Uu)}x8B=6!RT&HBwvbMziPcpyduk)TTl$4I zdukK5p&3r6SunSS!GU2~8!P0?uf{DQ#9{g4_Vr83to40CX_!%>;bxwA_7y5BBFvgm zgYT6(x6x<~8#h;wNM!lQ2bxJM2UJjg{gN{4%#H&e8XQl+fA?0_&5T8^ve6nYeSW$(1w8!14Ahy!5~5!7}CHrElgq3Ka?gK zv@xWw+WzTuJ$uHi=dbvjF*^11Nsr`Y_o4h6cdO2_*z{)KS65wAsRV}SNs&(H(K>*} zK%)?tc&OSCR+?~XP|WgVn6kfu^+om8oZ1}1N~_8W`#g=S57C}(!Zwh`mRnyKWI zqkezgq$!n+Vz<`%oNS`{{)JP`dLgtF2${~8bXUGWDM}N{v>=^V7y=B#S7*%*=v})i zH>~{DJNH?08y?D8J%{jXCbLy*7H``fyl>V-St(_yHhm`NA~DcP01~YQT1hf_7byg` zrPZ8ChQ8;?(DT0=_{eDR%!)^HR_~$u2)5q#)xc%33jd){*pp~aXS0^r-D{J{Qi>m0 znvIoA3-nYz( zj1#ISlTRhoP~Em^La_VMmEpH)Lp@hs=|{lVMMsI@(E`oYE?UV_jB0~?K`}g(a6c^++tL3{W~> zRAM;oku4~c4_XPd5@hq5;j~A=(FDRuSJ!wVk)!whU%fU}H>2*Mi;SM=E0nXKrj=|W zUiiby8>X}i`kuJMyif_fuBO_L38}Q>_+lhopgioNe1X6KEy)*s;^_hf$3qB3Ri!UH z?ZrR(gR6FioEi6CKEJ1GFCpesPRDnOyqej$5ZC}f8-jK;zhT-xT`{FY&K8GHe_{KNPqkKceLWHD)Glz2jSa`p!o>G{ibV$@gmnC{o*0|jnjPIV4cIi!g5yKbfA{vn zPq7zWhr8*E+&u5p&?l*=^ibM#T!9_XI9VSz?-7XEn6?;u-lI@j_(vub8J%MCq1{!GYnzoi!Py{ zO*WOIm@5#jh+^9oj^h#x+7unv4>Dw|-ITlbpZ?fYJ#|{u=e$t$A^iJ3W;u(lTkqcS zFYms2&cdmm6tNmlqD;s2ux*QCu7Fo`up=Q%%f$11EX%-C$}jZpGuEujUHkiDZFO^V z^mBf=<`DjuPPd%vZdvbs`O*u%GHXul4T18QC&6?*AImf-7G2z;OCS`$vKnqLfCt+2mBy43$Mf-gg>4!bhM@GmK!HD+$QsXd>Q4^LyC~RDXa66+>`?yMt*g?v z+=4r~y6)yhvzk9yS5xaLrA*&fSf)WHUm#a3QXUCon%Ubg_l>HZ#-g|VrlPj|Q#x85jUItNsoB_j+DWq_zxme3v}IW$moE|u+T^kY z3h5l7vM`}=kbJ=*91GLkJ*1X@@;kDBB)4x_rKgL zM0xqVmdL&-4dt!)|@6RCnX(t7q~Kd5f5`k*eWoe)&6S!WAIlga#!UE5AryXy9x zP@3!ou;$a0Pn^KEsV7y{6ACKjAf?o30l7qJmU6fvfY6|nK-wts1-a|R_&`@TvzC01 zB$Vd19N5ljtpy17+|^cITNBzAuAN-3%!u+`M@ng+f%HfcfLKlW7~jXRY$d&{%nj`x z7#hycYQ3yI2^t~9>-Y!+{NhuK%j>HqY@0lPR=pXFD9`nzl%@W1K9vO^R2Bh1DUE5F z$}ePP=ca7~1M%)zAH2CEiGI!hGUVb^t z!dpD87n>uA&28zvzK4u}Fn!gu`i%y(b^ zvyH31b7Mo_&cpH-Ubo)Us~4L|cUxP}!05*;CV_( zW0#hvi>)%X)A1>cysK_uSYwlDgXv!t{LQOCeDjEK`E7 zu*_1qP9X%IuawZ*=pD&?|GOvO`@^-r{@P7-1G`q97~f{e-ksaJ`uktaWHS4IVMb`9eO6ayk}#J$QejI8SxaSD0udp=TVl=2DK2Bz`|SO&^3z3=%RZXv6b@(Ed9&lA7C z=}YxPoxeXJzRfgycWmF+*Z*oNli9a(s52o1TDNH_O`UOEpM1f^Q>C_BX^mwX;Fo^1 zsj*hv_ceurtBa10CDqUqzy9u*Y6m)haYB5nY4`5v+}q!`C7DWhpOR0nqniXwg^5yM`(Rlnaub3JVLTdx1h4Qch zl8T@~MbN;qB|>=^C@qB6UNJQ^8joK#`SSJzE84{Clka~2+uFo6H+LjbiIK~4naq$t zYps=5zK>xD0wx5^QvG4&`)IASK(d~L>q-CMu(8b5vnK4`sWiMr^rtN*T zAFobkFOEjTLMg4cyxJ==Ifsh!5F?#K)Kx{8KB-2ThQZKqqVK-F`Op6A#IiDnsNvp`p@=}|$u z*Fw3PHP23@KOUjJE>F+1rT95{-T)HVv&YZ{S7M+Oi`&}FZ@&1;9g&LW!}1?pKbo1| zTAt`0Ox0|Eb*Dbz?XZ?D&jndlS^XG~Y$Mxvy z9o7|PQ3Qe=dxseqPE%bOA+dXyvS@(WQyM@B`iDlf<9bMlFJ9bcetY=mJEE1XB>H-O zQhCoQ-??U4wCe6vw`T#K*-rMvDU9YERo9=$>z0~`P+GHfph%*is0c~oeL3o*CR3|z zP@2J1LA$=ffYHTmZRR&O{Ax$6vYGhqU0bvi`J$+zX)ZUKLt1-n=*2aJ3{;;y4xB`ijNCxb?o|r~$l~ZEJZ7w^flZvvUi-Da< zxj$U=HP()ud(bn~gW9_GcBNOhnPO@C+W6yN`(b5G!wQsi`UVsB_kQ;TlNzf4=<18} zsrQ~kV{L^?5Iebd=!X+8{pQ-SbC1YxZ*Nzt+uF>f?d@wH{m<4P*45Rn@B~gGm9w9C zdMlNcrI1UEW;o}p*_4-s-GJ2gXe#-`tG@f-+OcyF;veq;|36?tpmZDN#80y$Ka%?{ zcF{!n-ig!twD4UvZ7riFmSN_kAs?j$PF^^ph0kgbdp19Bb#%0QDI?gRJw-}{l05ie z@i%w-#&hBmLi%QDI7ycfn~>wbVWxYqv6~Hp=PqC;0fDKxKuS9{Q}- zTI|^zF7d55;Ex6VyT16l9V5d--woTs)LMJfrqpY#6tBM8MOie+q~>a0`C53ztVpFt zOa9+CcvSz}+uK!J+hVi*Hyz!hiPYCEDNPVwb6uqp0`_#r3EC$0)n!T}wdZ;=l}`U_ zM@NUZX3rYCqodtR7?DQpY0}b8uw|9=^WXh$_%%MNZSi8W{mxC@*`oV(TNsvwAWM_)4uPs zXK;j&Wl$Rn`$}t3C=^6GoB1pte(}TSt&a91>!VALseFMNaFof<@2k^=;XG1$oG`VY zkX2yo_9(Tn6f-6bBMq04y+wZYcs+)pL8*Nm?d@LD3^yJ@e?e(&>Oj%eeErr(b$+xT z!xWsmXewnvgJ;%lXHs2^)8|jbumppg{Rml*)QqFs`tG#O;w-!Sp3be_v>HsU(qY2WN#v?hei{i6}9CN z!j{Rtp*Wyvtc)Shq*7@*M^ah{fl#Wiqods$wqgxhL(Vhffd9KYZy!8tW3&W+bsJ`K z#Jf4ymEDEy+ZBCx($;h$58%oNxQ## zb(@(?ZofI(wR;x#?HNc?A+7GMQ2W+hVh8sPE=|-95VkmSIODrax|!_P>PgU;uw zKg?Y(T#J=n)9S%q40NR^x)h4VAwc-ckYd#VUx+0u{8v_Pv6KAd2BY(%O=Zn3S52N$ z!{_9s zWP8+uy+`G*>FDrREt_L+p0oLeO%KdzDvwoMRUWiiG^H6`+M-A+7x$IUkpYEc)siJt*SK6dZ}|zf94x2`Rb=GVZx*aKJ$_D zN*k_70eI}&{wn|Wy?f}1X9${-qVjhE7)Ri5-aIG(d?j~F1Q>bUH}nj?zlh4pTFzZO z7v(FYA#sZy!$Um`#n*w%p;ZLer?bQtmBMv#9Pf4dF9tgBl>$h{-iPLGQ zt6;(GNob`IQiAdr93JJljXTKX^O%N(uXHDXDX9>iOR?Y#0^-rdi;bln9p0M7NIFoy zVz+H@PQr2Z6P12)I}M@nC2SiS#q&!Ec>bgYl+s8k@I9B|(Ih)Z5;&CRDrjGh`L8R5>)|=h z03d#}aG`nK`t|$QylRbDvjT$^uw*WhWu*Fl=w2!ebyp}Xr_GzZPtTjtReG4}X^m$X z`F^!CHRxZ~`e{lpdLo}KA|&dXXi{xa1%cg`{MYZ;PD=tw;{eC4I4A@2%?DyL1JG(pdp)+_*A z7p)xM7)ti+7>mCjmp3$9+>Vd^1_#2-b4aveM;HwtK0y%wMc^9Atl?-_XPYY!WN z=;x!hn5q$4YfaWsPa5g?4b>Na=_!ybx^BIzSGSpZ=wn9Wk1Hya>)|=-D13k)zvtoa zUHh;Zh<-j~GgTurN>OmdlbO`$4VQfG7f*p;(Jkv;-L}|V`LUIT{NsuW-}R2{|0?0r zKJNcrAG-Ov%OA5sk^cyqY9?bqv#0`(W`sz~v*R5agu3n6} zY}qnH@=AqUbjhR+uTTHR)>jf)0j}WbEtT}f!@PHCKc`I}MGKAZ!K0fR_|ucs^bH3H z*%$@k6C%G|YsB!oMEM)V&)TP&UKz<~gcsp~XZzUQ{~NA<-#IKfX%fB`DCKk46R+~q zRnM@u*CQMX8A-APOub!eEr#DUyZnvf$MH_zobxnZA%Gx5@6gl4le4Id)?(NOp5v3q z4pJ;`!*P712+E=b0#=fY$1aRQ+r#q)?)CAnU%OcTKU6(9;)j&$p4q0t=XK&X>`$| zGvkqVlFX?uqd6)NqBMDLUrMp1Kfy=>Ole7F6c9Muv_=ds(-q3`NV@(gpjRwGwRe<~ z@3LhpjkRk(yE#<=H)jaL)VO|>{Ro<`LjqFhV7D^ran>XL~-CIw&{H(j54OvYy-CSLX9~>5WZ_kcj zJpHy)ufP80MCsTqe*yo_&6obe7f!kHif5kHe)Y`wV3|Tdc|}^7;lUkWc;K{C@BZbT zZ^%EMfd3z`RjY*m!nIfn&k8K&1I`8X>ys0|sVe_j^8FR>um6_NhG3)+6Aui1qUB#F zfBBofBl=`fcNBjbeON3lYy*$@C4P0fAo44pO^i>h&`0DCijxyRUr~Nr=$48PE*cR^ zL%bLg_db(t`AmKLH+{$KlSQwi_|xi##nSd|03(-7u1@Fk`RAYQKRUmklMBE7P5IZl zZmhVVa+45-Bwh%LE$Ql(&rSQzet!C=)enn*>DUGx#4nj#oi7&hgGcaRFT>!ifpfUV zxsbRxnUxPzd}ha2s;0!(2-`MDIsuWXo`X9=VORb)Cz8`r=d~U;LZdp(K z(kWF=M)@_{`+5NmTqbcSU!Tk!uT)&O;d52xdsc~1$Rb{_MP%0b6K*`Q?aMd(UVPlp zdW`?#X4bDKdD-+TH(xj+{~&#O^~u~nQ2vfbudC=;|0@v-2N*1d#l>%XYs)uI`|>y4 z%VnSCsgCsbqYsz;M{XN>6}MhFy;`^`e{%d_ed_8u^r}_DUoxfc`Gu2`ELxrw(`wTA zPgZkR>H|z4_#VO(4CiCKQg|O<;e3EyBh~!uvMuzS8qph` z3ya6@FcJ^FIIvC#p+~NmR+WmU@{c~-e-M8KOO#k8)S{2ge7?+=w46U;R7LU_j|=`Y z{$9@Zb`T5*l6i|QxtaV^*&y{=|>&Nv^v3gORd2tI#CtIb*OEy$U5dCJzu_{!e* zVs-zCNXTX|A0jgSOn!duciDHMtzTImlB@49Qg?2c`MeO%>!HhaRWVm6&VOp~_3@)t zty-=oma+bf*^T~^<#}V?oT8qz5wT+1yV>;gom7Vf@vO&;GvCE6Gk?h56MSCW5;WHQ zF{E~;raU8r(7o@RQZ0%FJ<}`f17OVm@%^WFx6x2j%hE!TCIL-BOE*MpuNm*9vTWU~ zNxHc~IJ^4*f!SIwte*bnPfvg8@lXGRWZI#p;Ls2BhHQG086KVRc}B)(Rv(_P8X`8$ zxYv|rjfs+=(ncRvb4Xa--OZmi|M2*ye@Zf4)PFhOYcDIbwoWpeo5bj@3;-2V zqQdX#ZNBT22OsB*H}?N{0{%O3kn zMXkqFw+AJ{R0s27$cb`FtQkvR8Mhp?*wCJlX)V;tE@AI}=?{uX2U8 zu^FxK>b7zIoH=b`(e)p=x+T=}`S#ZHHScjs^G0^(*%2Q>Yekg-0~nlLy@$y&b4)%j zFHS!>!Q$eq$a(L1@UC~yidDF&+#A(-Wz4FCK=0C2FE>YGgS%C$tgXx)mG*BtijEWlO*gce06)BtR zhzZRJ-L%28cFz6K@4oWeS&^Y4^WsAT&cMPm7I4F_JI47dwN|HpYRkoqF@MF^YR@6? zj|s2@^lKIs`{+&!VvLf|wVYDfOUvXuEpHW^a&DSSRgDaH{^P9+!qd!khA}UaN%=i* zX<5LIhk90RDK-9sZEfO|)cf8$H`Mp}AGTbe`Jhu8rX477QgVpSPLE0>iKi#=ma1;1 z&T^RgHcu=)Bcqp_lR^_0yyZ`GT)+GgGc>QPSa5b+a>9w+^YU{mUeljP6IWbR84b1l zvgRBS{a8X{2|-G8_V57f6i8=~ykEsx)k935nqm4o1?Rs#&&R`-xVq!apPgKrlQ%ix z`Az)=wX0aS07myM-}2gC78`FO5{}Rjt!GA5NC-iHs-7S9T}^+nhR>+GXpRkGPYadK zi3~H`T^0Uf?#7dv1B3iS(=Vxw#!Gupqsa}h{*^Y)WNcfxVyLS*{O#;VPihXnG5>f1{yVp4 zGMAhgsBF32vqHFOrK~v0t1^Tc^@O!gh}*ociZgSM@vwI_A9jAADM$M#WpqJ9xYPW^ zTkg9UvkoIz^us5bL4O->2ez>UNjvKBd@0N_PZ(Qvil1$}PMlS-kp~AB@(;=X)KqHi zqm{7_YAT}Ur_U>1EMx<|RpD2jG%r}#vFja2=NrO|c%r=6C+>Ey6eks)WvxDs>(!?< z>4pE{|MVEFX2-4B~6*uu0mUV=ycLI-`2G4tyRGW`ceg@8yaM0 z-@v87#w9G4?Q|TL@776Sg*`Dd92fUZ`i$^K@1eK(z08u|)s&%KrM1XPT?u zT3%DlP}WtsXhfz)QkMc7S-e=%(Q#OP+$uv@0Z*J>>xe&{_&Jg8e}M9tA7Fv~jS?TN ztRdLGbJ%Qgp1-)VaRNKj1%Hnf3nuLTcL3YgjPajNU3ylqqUG0~6~aktjA4PQGBL|s z>>kOj{#Q9O_xO1HpsGRn649+_i0!uCbGCOrUNzb*`jKg7z}+sE0PDx^@6)Nbm-yyu ze80-XEO#-s?&6kh*Ku~mMjjYg#5Jk^L{)?D8^|tAO-+sU{&S4;ajS8Sf?qbHHBi{K zXX%0b(dK_S$%?l8(GNSgIjzkRA^dt1quQmhYd3fL*K%rc4bSKc_$PG(x)yw8Vhnr2 z(dFi{Q|+YzVLiW#WsdxvA`2ngNJm19V_rze_66ZAaz9ky0W?(d@WJ`<8?HznOa9{15#R598 zGZ&xfS4{bhYeh@?3<~@j12gO~Gm_%rNuR+<+(-YU_c6!#I;sLZUtshL(cfRRP7c0u zelSu_Jm>meWqHW;Q|ANEv1YM^4)s*>{8mDZ_o}j5BcByI*e!&bWMW2LPKosrSo9yH zcmED+-f~VY|05~_j&EQNdScVgJe9eZ&n|ChWH6CY$zZjN8~)pYdj5P6#hr~`7!>&G5%BI{KBOwn|)*c@dW&LZccD! zxTp-jn9XXypok&RPzUo~ewr2fR{e+E=b35jV~YGRs$K{KZKyn$wT2=XROwy&FarVY z83{?QxbgB}jsfN4uVVRb8Or(PN zvHCy%<)`_QajSmBe>=0xP9}@ZsQNK}7BXcgsYo=c_H5sX9SCb*YN+yO3G%QrUZw1aQvLCqHVmmv-?wz>8RQ%4 zBggbPansY(o_ed!dY@pnxtEFF%cy!GB+4KQ&+MyK;h3#@`}(l$fDRf+t<^#Ld(qj! zalQbbvFw0$GdbaT z{z3W_BeTPf4yi&muCav_uGT{MhtS z-8){wGy}@dT9)vvJqzc&oNT|C;k|HJM~7E+1}O2 zdN2%y;b`_1Td}GGeot>N8mVN^vV2w2|F!s;yZ`-{4$ z%x+r!m!KX@Lm`WrorzjxO!$NGEQVofY5GDdMh?`+wNDIqX3QyO@|G}=rl;|ZlK(Tk zwM?3S2fef2&jib1PT{l2h7#X&;n}VltYFk19O^=Ap@IR+5=tM$2M9)3KnU&Uz!09X zwQC{|j4Y=m(u0A=oxPXnpKQI9uU%Y0Z_2|C3oPLf?&}vd(VVzz-~(K<`&UeE9K_dn zMid<==R_za$iHR&@dW&LZpt;Z4~AAY)>t7d0|l*u7HbC!z2|vEoyvLKfl;ZTsZ@_m zDhSxN0AGee2AHLaE~v3;9xKqaABAu4V4?Q{kBCK_r|-ik_xJPB5U^tcp=2m%A%ux- znP{zDc&!0?BmN|72MfFxcvLN7iF+?b?E!oRwp}KK@?bXsSk8YYG6&Ej=TAL%zL} zh2A@%Zr_Q}5T`AJ<<)i=;Nt%c)KWcdGL^ zhx-Ur6kvjZq$EVpv=JyX6bhlV#4rR}m-w&g6V{%Ir45^aK7c>bAQnz=TJ|AsS66U} zdWcvg0h46u^Z8&43s+zU12(Q-s(-At&K~jpj!gkFP%v50Y;|%%@mU^JXK=Q6CuWTY z&13i12V0mFq&5SVi53Da1VW30{4ZkT6$vWa7Pb-x`5y_VI5~YEo78eHbRVEB5{F3= z6AeC?m>`sC+ZK+eQD_wU;DQxei@N*7?Tc@_^}}|MaWjOyuJ@zS%@ztW3uN3CMtOBrK7z|(jE0~4PK#ZBbBQ<=<*5CBhTOix1w3h4qtBm~RxydvI67I#EF z1Hf3}?W6NwBJV9?G8+!yOGx`Ti4iO87GTNPn!Ka&Cyw!_9K_d9 zfMR9{QyK)qWfY4=Mn)5)3;weJOWR9)nQ>n6BB8f>IJjD46vp_r#FQ|>d5NsIm{xO) zZ@tFXxilIe)}=-Cywza@8?tE=fU)f_yU5qBwO&wWLEUMpmM%TQ z{mqW?gJbu%_%a#qJSLeh9-zN~0=T0CNMRC+L?{-0vRQ}WT>LqJr7PNf+QD&BJA7Sz zq3gS%fFe*FzrSEw(CWNQ*1Mt%*8n zz2ljXF%& z(&Z1iB)9V4<+FdPYY=K@&1y93FkxH2JA^x2;&Z@s*f(Lzz*sd_+?`@Vkjjy<~o*A?<4U)GlW@>?S*tl=uf8d(8eXTV{;c z>s+>MLTFlb!_-;PY=i4b+2sa@6Pe-8n}4}C0kCq}GGqB+YJ0vR|A5bY`ssuc-BYG6 zolt1Vx`y05WDiHhaA(KfWa9P5z6m=>p8+c}_42uahExIh?7qS4KKe?Q@1LD|xK^zc6}_+i?R9UzkU%T)9#%U%uQ2m@{XNeZvi3ni7nL znnEE#) zTkd(s1s8N4$QME=j`6!x+7}uzb`I~j_S*2(Z++{OU?9+7nx=0A0=q9-x^&O@@vB#_ zHkU44dc+;Dj^_WIIdkm)^Mx-=tq7MjS|LmLubZJ$=Zs?R_m6Da`!%g$=kJZT-M-Dgx4pg8GdhyJ zo`2%x>d%Klk*jQBPrl(}y%xZi|Fg;SDDTYYv%i07_sCz&pFSNS{Kn7Q!N^snuqS`* z7v1k9bHgw4CX&o}^1b1o7EPSnT=;BWS6plmYB}Y!PTTV>%ok4Z zHKG37zg)Jub1?9oU;+sjraxcJ-56#dng! zy>CkY<96KsQqx)sA%tGOe7XPo-~ax^36ol{iAKT~nua;qFpZ$+`J_^*+?pqz+NOPd zZ*T9uUkM>P0ovM16A%CYzz6)_u3EKdVpH>nqS4rSmML3I!wfjCM>?I(tnPSntMB`F z^>ppMT?n!7b>|+@+S=OWc(Pu3$315^H`aeJ5)Lh~ENh~a(smq|R3@E%yyJ;ie9ynL zb7%MMOP4O~6M#Af{(=7g{!f28vAMqSL(y2|0?V`}8%9Z=bUK|~{lt^om9OsY@9lm= zeZ;|V3?cASPxD-^AkB;3H`AFtrR;Rii*ohl+j-~bx;4N(U!N#`d)EvMGsE`I)Y|)g zvpo)Z1OtW`i zV(pH*cOMfUN?XIVgF1Ce^SKR`;XkbU{*Ibke?Nsi!)3J38`7>L_~PbzaYE||@4j>o z@BZX$H=a&^^y!`5w~n9tMmLzTt>@~itIw^gD*MB;x9+aF@mG`CF;vE{P94^+BY5BQ zwc@m?BYf;#`#9qtr@5(g;-lRI!?%u~`$q8bAo%*HPd>N4()zFSPdxu!|u^Dc#7wbe#0m#0`Pg4WtJO#%U1gu-DAX|S)WD?2F#-uLV4YTs90URL549fUwzrX>Oan{YUc(y(t| z*T_(O_@)cbJ@+O+9Sgs$tu46p-1EO#S6BPbH8ro($1(}nwg`vANGaLZ)twz4iT`NF z_N^-9No0#3gm|Cmi0SKj^STEY>__lk&_^GD_UePsY_nv`Purb=Z6wa#UI zzT-iZ% zCgT`aT^gsnQrr=H6a4syyz;g?s)PM~teWR1 ze{sL@$0uq;Ak@Ej^``zOj?xp8fS%tPo3S@BVckdHo`}u;=S$pJ|0ZKbXuX*7FC~8G zw_jjq@g$w7ndiUq<3Ag>JyI#E0zHd&bSIwR4SHg2ZEbSJigx|Ye_J#oY=zdHHFZzy zxt5FEsm^BO#LD#|`k_+<8Zx)8=cVLHdZ#hRKXvbe#)huRB3Vo?{?~83_{33q!XoQB$E44qnXwstL)Gg({I*nV^2e6B<^3-kGea+k)_*DSci;3JJBkbSXzhHz^GA0W zzka-2#6lyBH|yLFNkUXdb$w6tKWQ%UCu(C zs+;ex`}QA=U#+PT6Kdj%x9%7|oc_lX@NxU^*jQn!(y;2PRjUH^jm`H=ncRAQJU*fU zKNJeda3~}!%Mt)eDee2d)*2iWOqow9}%k zQz{>9ZJBgNd?c*t84)p(kVhmbH zfzLm$j@CcE@zi{Ci@J72ulLCOZy6Jp&zEOhoWlIs49uU;;Ean?)LpqqJ~saw#z$84 zc&Vmos{YZJPU8BNp;GeFhk0)C8o%z*ji-7OC#%nXZOB`D^7o8+S1*){-;u@q*>udG z&tUO8GE9HZ8FJmiZyBHc+K`u@FhkY8NxquYs=oM*0dD|0LB+nyDc?2D_=gka`R`0) z{cHx-&u4JKC23B+`c%2?)SHYid~?8aCQMg#N999XTj@fnY{g9%zoiiS_&@cyT_Y2$ zs)m4^eo9eTpMQnG7hYldf&yhV0nwM7Xnx|O-Tnoq=W+7UZ?&}{=N!F3)&tqfo0gyJ z#J+ZYpW8h$!D?s<$hl_}Mc{_bgub|ixhLnTuCqj6a+3MAPxtzlzokgVDgRbmTPcCO z5nKqgiM;8=mf_e*^Sj*c(TSD}+p?~;AjH4Dg81BK>RNJ$kR^IkE#^rlcKI`#2C=pE zt+qDg<~gg5$ltF|Jap5=XXj#{{=~4`H9WzpYz)d7r#Zs-_f43e-^9#Qij>y{M9=6X z^ZHK>`RAXOC7%x-RiCyoed42$n=W7C#lG;FxZ6E4(W+|-$=PSP!v6eb0yk`C&gl*{ z4MEYHm}Gw8`eFYaXF24Hp>MUdAy*wuAJBXILpNRVmVE3x{~mX{;}fl>2_ZTEELQ|> zDDh7?)1kgGDEbmD=6C-+?!WVl93#olG3kHYj@w^it5&U&LI@Qrul!O?P4)Q$0|QPd z7^J4U+6)DQGG8c&p`l@V`}*nY9}q*sBQic3H%CU|I+aQ~Q(9Y3uC6J&`=>wsX&Ck= zl>b$JdwaX8skOdST~&F;;J|qgJO7iM2^Jc=E%s1&SWyq zjA_%(uCA&7(@%f;Q)>))5P$C6xk3n`V}||X^0M+1hK7cmXf!Nqs;kU^ZOLpdx1ZlX zFepZbN90I+)Epij(YajKnK@(ng|YIg->g`%LcE@RpgxmYCV!=-x};Ay7^J4U>QH?K z4y(_?XnDnceRyqx*K4NRkb>3nA8YRG_`(UlJTs_A{6Flv+*nYtnc2-dDEz4r1O%_> zwSx>PNq;lXrEPi~4fA)*qo4CWSz0Jz?5A&i1#i_{W6YITRElgT5Hegh=Hh zc!46RbdGc8FCdlJgL3+r&=RJlGOOBetC0^pBNutzzV%uk+6!)LE0rC){vR)#cG|Rk zThExeM`paR&_!Pq+z5Fmf{3_yUXgNhGD7uYieb!ffRN0n7j{gQ>vq&Hy7A|$*B>~6 z>rj2>OuK4HYU{_}J1l$RVUZs4MKT*AlMkaq9**lVp{xe2MzD<(RgD%66*={z-`2^y zo(M1M%WXTNJ_uAmPnh=3a|&BOe@$BM9tw!~fFnjTA=0@JD(q2o6|JEtTBZotS?Zet zOsX!bum7T4-ubjzUG~D6@6NHKTIJU_cD^IU=43k<5nCVGq~$ zsWZ#4%_PxKhQ{UqQ)&vT?Y3(9=yUcW&)v6PAIv|VkdNDc$He&1=gO5UqcwH)yP6vt zYi!%Zaa@_n=5QPbLkjGGMbNe|O$#Zgn1xwrydW zCWbWj^GkJ=O)s0vo7=YSJnQny-|@_W{P7;;AOHC0mfHG?o%OXfGGN=H=r|&i&EdK( zhLi*XHnvsbOT$12fe>SLxlPlLCz8giox4t0e);8_wASO#k`LCWw!X8usj>R?`b#OW zZJU5)VOl1JVIU5p|CVh#F1qv`Z+mdu|AQuBt!M{W>iMUXxnB-75DrgbQq3;zPX}08 zSbz?fmI#WrdZIy(n%Hi>y6Plyxio(6XPOtj?XP%)5{Kjb{<((xspupkb`6s%USLzs zB;(9Phf5RD#M+re?IJbd4P2j?PR=RdXTGo5?7ksijPZBQ4!G|%8wl97G{rXXP|+ms z&O%4V_^W3Twj9a>FY%}JOp0y}%lVOJ+qZpj1pea1$c_%w+$QgwOs>rQ@{g;%Y~C;x z63+wAgUT3OdcMoK=Q^x?zLGEfFo0$F)KvINN>5H{%%0J=i}izx7mKkHBnO(*8r4*< z&Kb&-nb&@|)=OtiQvt5);kZR=Dr)$^mFIKGRqy1H$6nwQU;Ht)Wl&!wl_83gM79>U+R&&2#WnRL|r+K(!|T){S_X^uIg2-yMVOsl7|rJ0?3<2?M- zHiTBhBA$|lE2lITj;POKkR2K|v8ixQJQXoN`R#Hqoi$8dDoBh%6ERIrnpj3;S_NDC za@_mU0EW<1l__PJzMNE(J!4lN>lcGKMEx=SYpaXrbdLnh_kN|xOQsDIDbQ$y&;$&N zsdZK83DxWy$?)u}`!LW{m1`9aXjxz5pV8fSB>j)uar?_`tXHOshEWj?gp;&}g*M$HXrbRCQf_Agp{}_QyvxXacrPSuBEKS||;!uPEkSl**x%k5;7w zEQAoYZ7Vxu)*VJ4+S}U^Le<405!3TL;-d*(<3}+q8%?QbMc(!Bb9t2Sq4w*8kkZi6 zK%@>})v8s8_-`0SML1m2r+;8nE2YNtk6;IaXd&@6IG%@_&!IdQr8SiP6QNK@S(aII zpgspCV9^e0Aq%bD>2zzI2=dl*=Zo5!Dhh=nj^pCHrH-LtNo?CD7_?~_j*C_IzsO*w zp=BY{t#;OrEvG-^m%kXBU}JS=np*1&o43xX7j}F9BiBaphxW0$-N~g$jfn}IjrbRfM z7Ef&3ORiYg!onJh^+)o5G0;IUAf`I5T`JmY_(X#)4K`~LCASXEYtwkDY z@_hZLA(ClHC}3flYQpP-=U_V622%^J4JZtmqC6aALSqeQpE8ekzw;a>v^L?T)4Xf> zX|yz$eELhb5Kra_1#ApMOgNBrI18G3st^(l7)A!e2oMOAQBgjL`ucf0cVzz9hq6sEwdj~2ARKnE4M};(q@_B-{0U`LM{EkN!`U-~)K}JU z-^&AJiyEa2f>ueN!wEG0mT9V~xq^k(n({IiQ%b_NMNKTs|o3>`)v08BG5oJgjeK)|*Gwy6WbkkG;)lTDLL?8VO|QH3v~datu4zQ1X#9g*&+T{RaGUj*?dAngCPZxXbfps>1!Q@P1V%C%3QfVsB&DExr|vm0gCM59!MEe1!2u}p)CNC<6?^96})rZk*b9;GH~ z(_PHkrwbeki5We=A0^j=VKDC?qnV;f2*32!%u3`mN9M?>FAYj@`W& zhH-Sh)B%A;3WJ*36A;p*EY?JI^>noMah*IGNDOVmFl=Vcyn5ro5wayE?dyVBU^?T$vUt<0^Y!XEdtiqlia#ksQ`IREW*T^ zN`w#;T!jF3_Kjef24_y6!V8^UWQq<#ADw^Pj@z5Hv6;7W`SRtNhaP=wXDk|O$mCJk zg4!h%1M_rwSj$u@ozE-v62RuooAr_SWzk4O zCSOq5Ow!23dnvbFPM%taAxg0?EtBrPI6L~YgeseHWki>khh!?1IwF5;7=6fjK0AX&%L;tbuaCqt9O*<`bu0^<<|zL9xZvXwi~zT>U?uWh}|Pap6N{SgQJK^x;&J@pdrr14Pq`4wU(bf5*C0~HR)TyqobiSr6!oHzVHgtBgZpS_b5^2VE zilaY~X5Egxtl!y1*HD7$XaryBd|>L){WnbEXLEuJ&n$AqMLuOAlU=(5?A~ReltNmH zo&l3h+k>oK7s9k8SDs%aR}h${IO<|=%QXE|I>)=-b|xQu&)bNELcF|nH?M5og{ORM z+hlk50BbjH=fTx4VA>WRyz)FUxdN6ckII)AzULRItC>w>!-*IY(wQz&sVKp zZg0kxELkD}q~QKk-Xy*I4qe&vAH4YR{XG0YoR>CRXwyQAFoQ#7{PA9!rytr#;pJ~q z5&wZoWxz13XD++&!d|WQA+v~I<1&moD|BkdI}H9(&e3 zsyZL~CC}e~7wewgz`#%v!wMn;A%>Gho_qcko_p}m?0WE*^u74Fa(xhne01s3rG>GL zKMooJJwX2l3qHK^#Ql2xZ*JoLRlj4+^PA}$%wYur7=bV;*Q8@}KaV{87;Ap{9dajXhu1aF_(V?~;?PV8D>!kWGDEIdNA}Gz_XMV|c#C^EK6#F^Yys z+*Q=qmJ<#I2nGzf?~;?P*YjR)E0>*a1r04jmZYiNLJC3HmefW}Twme(irR=t*fx+t z&{S>_vLr!6%azMcKPtbjxXY4g888i+t12iD2l1668njWq!t)eW(J(>VMhHP&d6b}S zBGIz0xa+8VtyNy5X{=RL)#i9|ufdKqOrDrSI0{`YzgRTWW2iavc=hsyE@hLp(Cv)rTd_1IpsWkHL|kU=u<;VDgB%)(O| z*VoiUEtCSs*HlMLOev719o3HRKjZ}vGEK_EK{ACRN^7d4VU$vMzE4doiqaa#^QekN zkU}7(K#YC%<96Ksr)|xeH45PTa~Irx_kZ1-+V|`&=F}O3x?hCYSqv~`QXX6%<$6?9 z<`Lx{>*6uy&T1@4_?|<3eFe1@5%zQsaOT39s8l!q^`r0Us)#qnUvmh5$&wPkx?=t>UVZxK1u^)z zQC;4wpLwyIXE(%%MC$N;7teEvM#|Z~yOsx^2oecTCYX6i?pga2tvzuoz_P>Wvuf2U z0GcM%|9s_-zUS_E>V9KFLj?%}Kv}{oH5@DIJcMVOjy|V-~Jg$}bUHP#LlD%@C7oBkWuE z2)BIeE4r8*y%k`^ir4ht|Btq|HUaQxXXmt2XHIA}ZA(ibWzqHVmBuh$)6_5|zETuj zA1S0XZA+gzb3*GAot@JTWF2U2ZKa7RFK0%loiw4m)i%&l2wC*hSkI-j5jeUuyr`6> z=qaQS(l*d1O(<`DIWs!#K-TL_0Bq}ard5Zm)_^IsA%!fsE{^YE2#J&eDZvl|r4+8` zVMrkZhSb#|t94tqGwnduVNFm3@H~Z7K7(R^o&GnjjuSm|AL~{8sArFtx07Hq%(!mWP~xk(wcOp zKq{R_De!!S(&~-%=@`dTL~DGdQA(34_@oP^&oUlA> zkSn@mi>1>{!@x8Q05XLl>3k7jY@&-s3vn#>_qZLmH*G6cl!jU9ua2Lhe^P8|HnnAG zvIWIx8X`f5(xWA?Ef?2Q3?>8t(;-$7 z$L;>Tz6dlSgh4h}B$Fv1rHvM)FR+v*`GQ9}l|={xZPyV@#D(|pcT#Zp1UWwBz5UiN z3s{Kv`uae%B^(_g6lW1lY3WHU0NL zvs%&Ku2+Cq(Y>dus;qvXz9L%h`AWU_{1c^+0>|~qXG?`lLXjXBojwz-G@h?ieMMAe zW1)c^-Fvz;2-@3q`yn3y4Tw#>g|4Z!;em!&u-^52_0D;fQUFC)QE*BtH-fgoIa6b3 z!1a995DUsg*c{l@+uH?*G1lu%10t0!cGXnd10gBu3$CY5o8BU|)(8Q8@dN^>ibXkX z`Xp4TAy+|(w9o^?>0%d$pWwCMq|zxZHN{dI=GKqz!8Aa-kV}+0K;eo2-@T>_&j(N> z)1{;!l};UrJ8nXYlopzNp@0yY-+$+mn5Kd6x}=8_0K{r4_(}VR@w`&fA5ErET44!s zRKC_Cr8M}y3ur#_4{t>ZiR*dfQ)vJ~WihT^wgjb1qezaMFa3Zx2EKrlQX0qe(OPiT z`6nWU!1EQkOeucC(IA(;Wlkw6Bgp4Vvjv6XsC=bK>9LK^(VDlBz|E0oIkS+ zUjbT^b4s%{l|C|mJSR&bQkv5J5<+m!oGF-wfkHEqNCJYo%5s*>n}Gs^6ck;5T-?-w ztmAgv{-;a`bXyy8%}*8==TCW}Yx>+oEvbnAtq*h?N`r+aKkA`N6sH2 z7*IN-ePi)Fhn_xb54f=T(DrToIp>-+KPkTDq^Vt@n&w(>H0}TA7e8o>KiWx+Bv77D z*mwEthu+S|-gg1va6kv@!baQDReZ#C2w7XfBs2W78+&Bh*{+%RJI#n^PD+{{(u`m(j51?9@#dV;4}RY^SvVogf~F9r&^l~NV@ho~-AQ8)3@~TT zYx?i+)(X%o+S)|>-7h85ne1h`Tww^LRvN98MoNhx1O@^rWyyJs2B~wo!caPsy{!H2 zml7-5+JrcK0@H16h`V3fn@FW{mlcZ65TKRPCB6VtC`_S{V{5ZisfE^sqBE3AoMhWxx!E~le=thGMQ*Q zVgfETs~R<`G!!xpxE@mbpge@(5HZq3j5NYz%W3mQi5|`ms~E1)&ijpuGM>ZeZ;6jlg$r&!O zX7XsI@ufJTKKo6mQLUlq`nY~6@Ria?N@dy%RB1tSX+!|m*W`-cSV0f{2L6xh&nQ6A zD~&3Q4~1BUQEEYi#u^(9DqTmB$>zq-Ju3gW9k;*KRsiRIslyu?)>r3J`CUj416Ntn z1?dtp(%346vct~A+(pTKgx(#`xeH2!#fOF6Nk~c6oe04FK*dtMc*D z(dFr6s>cvo3xSdXq!d^}V`v}KlxVGx0;Kk(fG3E-(Iy_A7QJ@@%(k&Evu4= zc=F0zt~dlz3(#ULXGuV4jUi>}T_H4D=t99s_75bl{Pg$l9cXJq2yw&?9vjxLcjKek z_vH%CE`dOg^-=_-GLBL!Orghqz?bry>-cUmlYQT>p5C>2d_RV9=s~kK+uPe!Tiar@ zy}e`YfBtjr4{NF`RtO=SOs;5e+}1-`GzdT{Q((cYW}@MMYY1T{(zzeD-}&^~(z)$N zoQTrij%r)H*lh3USbO87`X5$A#0pm{C*vr4V{egIu+*@n3l0mK0z_>2|FQSp@o`pH z{{QFR`?TrOsCT(HjOiU@Q-UF+kVN832qB~_X{79KHk)JxzD-hcnYDK z>4=~H>c!sY+gnEw`V*gUX#}!pz+dh>dV*#3hbVk9wPtQfXr0}PS zl!AAizYme94`gg?-CIH_6|g-%ekg0I1Iz^HvV8>0sG{T7-iJayc7Aqlv;dMaXIOsVsgbA>=q9F`RLz<#=F>A?FBe9JCQBX6a`g z7bn#k2x%0S<6$`CP(VVEf^U`6OyCN9K28`z%5?W(WCga3{o4OpP&ju&QqOTHz2}kH2!#X; z!^eTAgShC_18Attc+i+?rtEu8?7*F}3v99tE5w>>fZ64JEiPmgtSe|@9gXptJ~X^ z6`h?MANx_=x2jO}Qz;Al7kYLh90@>CC?>}D;N+8LAs&zThCb>TUwN{f#fX%!{d82MbUzW%A0CSkx1u}NafK~TZ*8ea!paR zf#LBzV*|-s+FM$bj?SKAc7y5YDex`Nxn(S4?NKS!3>Cbwlp$&QNSZzxOBoCmT%}YS z%UF9X&nfVGj?M4s>ESIcElTg$z%65mo&a z_wEIEO6n?sQQM>NM2Zd%zXHeR zh=dI+m|KJKu_VUFl2|ae29a<8j?FPVya}F2QOBilr8e3w<&@n>wQIbflamad?dfqm#f>A-o5vB z=lb@or4dyP8H#(!8FS?R{t-O)(k`4jzXo&aN(=n)LDS2Pe?@k6v8k4x54RPaoqTnB zi}FhEtGD;}4{QqRimGdh+tgTwvC$;@`^HdHU4ls1@Ki?B;i2JVHaptc)z!+@9J`T9 zA%3;DDEaZ+PXUwmk;Bkf236%z7`o=EilPpVBnQVbxtrQsS`?t? znEcM39>2Y%McKbkbd9FXXAOm^1n}ykicFdu2T~r&0u&LA_yAE;ImfhZ@#WUmRyNhR zc`(^XN{}@jV9Nn)!D70kW2^te>sBm^S61Jn>Cw5AQK@N#*SjvH;DWeLW_Kbr{O-^H za`mQd0rN=oDBELJGpLqAf z8~e9)cR*=93ct0ri*TXBoxPFt}7&y$)+FLw7m{M{t(ub{DpJp42C1Im~ENzi`Se%-h0_u2*k^PVge92hn1MX z-4DNjo9G0%16(sGqF$27!BqF_Zn z=N#!&2E7>%uZ;UrRaKJ7=h83lIxr*t?54&+rfMww-G!>+nz&9{B zjQwL17_x;_RgL(bliu6gHx>VQFg|W?#g0e_?dob}t*xyXxb<_jrB&mrf>rb+2)}So zM-qTafHF8qWYuK_pNR}Pg!x4tGn0py9)eA{-d@uUbQM%U31dG&?jYKoTCIz zVj`a$9=^Kf(vJI9ul|~{V#V}Vr-%EG)-D9Td;RQ+^0HM`m1PUv!Y$20$tVhFlpv8v zCP&96S}*^??N4<5`Oim;IY;BSwsy%M-0GFKu6IXw! z`^Ed(zjpqVSJy`=nOC?tUbgJUlK;B#<>#z?biq)6K!N~OH5Q4KrgmTRqf^i5-Sl6n zgXyPl$R_#MmfZZIjnAbglm-2}3y`{5Amz2*?(2Vb@)^CG?s$`YQhbjqN`Cd#ozIPo zstdMmD|A_yHxHz_+24KLS1Zl{)}{&*tLgde?UHtO67e4oWtRlX!sOBSH~hXLYAo}# zs0daqq~E-8Au5tLgZPCUAE`t!R{F2_(hpvNIkHt~+@=#*XJgCn4qOd0BRVgM?L4&Y z)$8~*Ve+#}tA1Y+4K0&eL_{j<>2JRNe$;76fEUjX#xUTP;@U6Wj_l|Gp$MC%GWm@k z{_EIL`Coq`yTmfWr2gI|zi%vcm*r$wC?(DGq!X^d==N<8qOc8`QWcd87h&TocR{4~ zix6{YUsB)Lf7#ZnHI@;b7aZOH$KG4_`%;4~<9bAtHq4A`zoW()cUBT+27 z{N4D$ZyvzN-W`H*i>6Fx<5hQMj>(VJgvk%yR{nbhSjGY|(Kv5D{nS+#;r>704aal= z0tA8vE^m7`Zn@(@^zGUq;8~P|Z2a`Y6IZ**BlyPy@Ns)9_WFALg*~dT3lyn4@DI%rpF}bw5Vmp?`~M8p9uz|J1j>q8Z^&Q$nkRDD37C@cx|H_~cjX zZn*!A@JVqG?4f+N=BJ zPE|ENMkt9w0#eGn?>V>s;m3D{yYkbhqH z^b7y-=Rx!z&3{rTvkAGc9o6L(SYbP;B|xpAqB^9Z4jfUhW%dGETN51Ho|XVX`TQu6 zLxZN;vu_6!q_ZvtY!|}-1_K%f(m6a{|7A?bVh+o(`2O;_3utX^aCGa01RL3usMe`P*x;ohZ%D4mw>X()gGCXAB$=y4^j?QoEmbAN#@SC19ud0h{ zcM?Ic=cVTyH#HJ0owE!}>_6k8GnXSbv<}YZ4gi3DLOa5>XW+4?AI8gg2a-EBAXv8` zzu>GDsw6%gN{eg0aHihX+9eqP9ORd3cT!34>bhqgGcgjZU2qak5AMYUi^`Etj=>$? z0szpemmpMHiPf(hz|#}e7}&B7WsM8+C!KepDlk32KCayIw#-_2K|x~Q9k?< zEo1T};{5lvqG`cA+_7pSCMuR8v3)&44U6&%&R(I)qxe6m z&z5y-9Xl};tXgm?==MkOvG<&c-CMR|)h~Yz3E*8Hy#aGiSc3ol(^}X~=V4^)3y3u? z$uB+cq8agDS@(>S9UTbPEjkrr>mR_EKX@kAuiJ$0e)ARp694w)&*AhlPC~~oS0lP) z1^PF?fa*C*^CwTCe|Ouli+>!q<8~CA48WwYEJ)<{zyJNf(xoR~plEctuIo$kq%juV z^iNA?c@LIKg&=9iz5PoceJL7MM!A*RW4Yp~oddm3-FV$~69A@bY(EX(Sd#U$SVijD zrE^N{QUL|2obByU&VDHxjf`^7++*4PjQA)9wx9f@D?DdGd5f+p%MIOF`-0ipDUQ%D*)S_tW1%{z7 z5NaUy${&7sGE&1KLMTMI%v^f)=U-N(KVe$t4$pU2zw+|SPkrGFU&tTL|6)ZieE<93 z4=g$H#1>UimK#Q3u@)p34H6grIS%vu^6bJyrnJU~d^Z^Vx<@o1|??wIM3}DlOjzNxr%`yDo z@pquk7{zt9zeQO%0hjdn3MF^bs z8;E=#XrK;Y8mx660215ra`W#nKKEMaE+8Ejil$;X>!(N4?xO!_2@L}{g0C1F@l>E{ zbR$kku7Ve=LS)vN;BFpN3j%~9zxR2l))+R&--*Gp6QTJ4cU-8);B(iLoE7-NZBL=( z#h=2cnS~RsXoHhU!HC2F%J9mnKfxK=myBj5K9SEI!F-RVOJ2O7jHKIg-0}uZd+kW~f)GbKG8K2ECHVXb2t9<)eqr>lTOCZ zZ~GyJ1_n`ETMeqH_{eoPV(Tj#an;vYB(tdPiCYzzG8 zlTUs&7LDCl5{=G@gu~EOg0ZxRu@`@WrlFglQeYsk9P*6+!t90$c)o;bSx6*P!BZ+mL{ z*6()SaDzD&|MuH&HyWE~e<>D?e5526s|yB$P!)>NWCrW+`yW zfJlytC1+#h4gZdYnksN1kT)$PlgZ&+-u&&(?OVTn!wom2C;18?kiFeFrSc@qhX#)m zN|^NVoku=}TM}O(L6#=gt5x)*ftPV=oenO6wfk*sN}h_l?RSZMJ|w$~50GyGcpYDY zsIW}wF`bm8hry%|#&fWDtpWd)4hXN07q7Syo;n=nmRGk^$%uC`JBtN(x3Vc`- z!}w$8*D(9kGZ2c!uzAfBfbW69M`~a{`~-(EEh*W|^buxGs$PJM_U!>99I3&6eD~uY z!HE~FK&&*5wfEf(;klsF$5`KP1QR~IoF&2Z8S!~OD}y{p`u6OE0*-;+{dmWv@59Qs zUy6##a{S?Ue}v~aP{7f*cNgYP_{gU%NtLPj$L+Yi1tW#6m#gXd7vT5v=FYuJ3J%Zn zL_VJrd4O=oC3f`{WRF@-n4g1Hawf`&5UEr~N)Sm1A?5MX>guYhf72AU@}7I{xeUNi zv5lWRCf{>OUauotZIvjlhn!N5ate`3r3-hRkHYWh=#U*99pv`gZ`YfeXWu<{?wrd6 z_u>0K&*yUz01>W3)P@sD-iQ(+JdmR0!Ko9C3>KX>-*3w+N7=lmd_J2t64={#bTRuTw-Skrt6&k?C~S^|)S zfL2wMH`i2EeTOOR(tGZ?=Up8g9r@yl06IE4NPGKg+R{SroHKWJ+oAdZk~oe>W}kKe zF`^~JGjph(zYIhQkpF)n8N_@RRF*U;Uokgxd|}h zvu*ticxa*xO`!oW`1tGKJLS)|y$j#Eyaa<8A6k$=B`$(P!=yZHl6yuzi0k+L4zp@T z!6keahSXzN1{4D1|8_oQWLGjPgyn!pDI}mkdcNFQ^%;y#EJQ=*5j2zMQS1C3LUIf_ zbFdGWp+9mdQt?Y5Odo|l00JN&PEJTl$_|QZh%YzmXJN!HL%q2d^<)rnXFCKW zk|K(J(trbOImV2+@EspS(l@|ofal9>(@G@u8pOsop)|7_{-$Rjg@hHTM6zTtQnQx9 zt~wDS>jQ<`7c=K)d?}Z`2O`=4y8lI}gPXB!&7+0=*YO7UO=m(hp8-1SG`N|fKHg0E z3Xt|?;N0ur$7jLW-UEN%dOWwP8-fd{RkNWix)6~?EeI?;ALA(wNc9cyRpgSsoO}7l zpjFSs;D#qKw(WWR>34TR2!Yaud8j)1Qq-M#F&a)@j*%pX6e{3P%|C9(?akWi)vMWx z6~uq|u_r#z+&t?l+cIs=xgrbM_7o^oCakS2mC4{G()BrNq8c=n!S#GH8KeMk#vHe~ zvEf9=ac?GsyuYifi>_Y1njVu+DQc@LWHKF;w&$a!G*aYy$K4 zC#95Z&6+i&v$NBGg+D^NJm=_vOyc&Mz%rzFb+odNo$8Sm8hX*aaVGY-(zoPXFqPxQs;3m7dQL4e3xB zgExgfO^pr9Y{$8o5OPgdR~JOX{J!P(Uw>4qKKVrEV1_E85*I>J#2AO8 z2t-0I%89^^2@XdBG+YKnl}O5Yc+aNiP_=mwTnnqt(58(~o%Nx6P<-?M&HVNbkk6h* zy1x6Y^?5H~oMmSHLbGc~NLq!l>T9t>Tnp7op(_700D_Uq^Whn>LfK1>!oUmyDFsx6 zDLmu!{oC34Z$F1Z0?@R4qGKd*I$o8h!{8=r{r!+27}A?zvp^x6PXgpk^17c;B`bk!9?IY*00e&Bi9k41xGChlNj{e# zdIi{-??vE@_rgzS;q83^gb*mR&wvt*fDj<(0P;=pX|NLY7hi?Ci>^X`B7^a*&jEy> zV)5As#tVGg225{y{&72Qe+yGoR#-mbN^wYjTTuU2Nn*HlD9I&23B1q}F{&xl`4Jc6bw7b=Xw-y34_kAD2=Lh{iJi~cXA6?T9>Z72r`k%z7uD_neQO-Tc zI01=c6u#5}2nY~}V);Lf0)Kom4_3)AE3Uxt0RtKI$=TS*XGh|G( zH@{OtqEiwO_lB&4YSZ+kBt8KE1`hB%6vmJ@%FtW+4gf&R0rczye9i$D0>|V5DK8kyHDU@&Ja@OyU&bQ!l4uwtm zYXFd(a{@_HlTRFMOUUS#^Z9(GWm$##wo_Q%vH%Xy!)FeM@ChM=Q8EEwvW?i)j6eLLd&#O*4_@@ZBad8o|6`BMKJ4{ux(_{# zy^ghBWUHtIF4=-$QZ$DV2YxU~Y$|0BX|JV74>(l!A&j$|b z^S~n)KK$^*a}RxeahCZ;{Kuhu;8gYYJMUb0@4XLPc>nzmU3~xjk1jgYe<>wRS!OT(L)bCw4lAc{oqNqdi81r|8MaD09~&|J^+CH1!l?r#^R&B z<~aX29{^g>dg$MU7si&Jx-5Rq+m^)7c-x%V(o+G1Cx6+F_Gu%+asK}=`K0}jB3AW4 z{G|Ho(@$-vdE2SYHE%n$uIkL1aJYQ(_wtbC@FPHnKXGXGSJ&NlpHWj)bA2=%zK|)b zNnuQPJr9{|F6VjPHZJ8o1HJoxf8BN0^&S4V)0vc#P)eng5`X&BpO)1(Hh(xA3SOcx zHj62W;rl+a*_`cp-Y%cZRr?3~e*KYauGtF!?bFl&{h#I^qR-iNRdpW;hK%K^s@5~c zbkFmU&E@j0=kM@*|L(rMgSUV5qwgPlBl-Y^+1GFW(0$_U#)c0^Bf(1;W3!b>|8sfU zb=}=Ui2H^H`hRuJoAmz=-QA}()-_xo3WhFH6xysPithP7vbmh)Io?h#_&o>uMt*(W zb!~nBuka7PPhr2i_;=KnwN_b|_?mu7_eGa}h^RF9uE!tyW!TES^k_zX?BC3>VOgvN zKNIe8{y#py6|Jlr-MqP^xoM7Z`oC7IjaNiiNrO&<41~bpCQtK;zF~L&s@<9O-|e^h z2iwt3J2A6!^Em$>nm-vcZ^Ch%L-;xg1Os4{VSjILW^8=o zM{A$j|LxAs>+NG5-@hmS;QJH@=Lf25KR&lK&=HQ6R(*WIXRvzVyCFew)~*NftL;Ao zPmLybrkrnGK6v2fE`YUR`Z~DB`TzgmPY$#vmY%h8apcT9mj=&?2WbQfQvg8vg?o1d z1jz9;Hs+oh+G4(N<+j9z7iKa@ALsu=^GQ2EIswwMp!vtuWu>1ii$%aFn~bEB;}!u5 z75P%xJch@UUE|68hhG^PF^j){tq{lL4^m3f(a}McELjq%t*d{ysj2C#L?R&oh+r^4 z1BO9VRV4r*1ecr(2|y4+6)7cl?B2b0Vszv^ZEbC1Qw4$Il^yxTFMh%1FI;rj>{+wk zkxHc`AbB7Vpus@k5WbL{b15YRr9=Ut*tL82#^l8Kl~-PQ<^KO${Em(ea`MS1hsw$; z9%^c8IyaF>2ujF7eUwQ)=aLs%ISEFo;tPRYyZ7`AXVUNcz`Ncx{+A6#}dniZ1~Nc4#iKl_z?@!S)(JPZZKfbin6$3=sLA5n~aT(V{m8~ zL&KwFe0+jVBofNR#DvV{a_;=ObI&U)uej^yKmWN}M859oy1ToZ5<)~n)2we)lvliC ze0Y?AfO`R#vb2epgrE{{|lb+5y@I@H^u1`gknzy{a$~f6z|kt7g4Z zsi9Iyy9P!{f}H#(3-^761ap0%D2n3NSC*|j ze_rF~y8+(X+IsLDr9k28rLC=vcXd5jVHn0$ltPpi9LLb`2o4MkB9TnO^E~LPf^aZ^ zNFU0ny?WRidP-FKJihW<%~QBhh_qDm>r z@W^O^pGd&>T^Kq;G!#HI5-RY+A)@QLD!K2?YHnIQYi{(Ngb+EI9zHYv5GImI_}qt~ zYlwtGulYYSK5c7ju2lWXZ^j~o9&2Da*S7U^(Jly~G_IBFV*2W)t=%Jc`u78YC6!Z~-3>~6>F~uL@ zPymrh{X-$5sj4Of_nI3UPMH^qUP=g&-G>ZxGvZGa{MQbiKQre~+VbLab%xQlBpM7@ zo)8a}%x6u`R#f*tjCq6iVE)iOsO)xvlWAt$dv2?-=-$1&WTyRmKio}5 z6KE!hiOG5K!n@z^*D4+_+0UW^X*(8s<@pW`YuO1%M5ZJ41WmQ&20X+o)NORHu=pTuAmwuCHfiz30Gd`ywIdLfFTc(k@K#?}m-5vN9iaF$$#7b^SY9=_ zAVCW>`QHdQSgHIuNVrz5Z6|M^|~H^0&UXkmJl!mKO)Sc9EOr_IYHsh(Io<}KJ>8& ziic#w47_o2_X;;2r|*)4=9bu|SMe$w%c_5&T}(@piyoq9H#u{bC*R&Te$#@upADFq z!M_*vGh$1=tYS(N@m|dTT80uomL`|K=X#-ad;LYkdAVNc!i0)z!D!Ej`_FIZsUWP4 zLmEFwZGLEA-Zp~svDviet5IIYufS86K{FgShOXz{+3L&nBA1-JM$;Zvqf(JBmw2hq zTBv}X;`2m`&KH}S^46E{GbhV>$b(OTGJ-gO;Jy9GeO#n2(1|aP35DX%zxx$wEAzPl ztiv7`qnhw*$|iO1kCNz~EaihJSYASM3z106gI{{Iv$Fgon{1K$)7>xf_^@wZ0ok3R zlDoodAOn6vq-Dlh$<^j$x+DiL)XGSPXcxPTP4K)tR%%KwE zWK~sy7X_tD5Au<~U?595I3!IzWM^@7*haYwvG5CZZU!xo4=^@4`I?7Xc~^s-86L?N zO-GI$%!|J0gwg4HLzhFY#FYXk1r-){VbyxQfD@mYkma80gt5v)KOPOwbeo4;4EwFg z3-w!&v!ND1z@r;J@4dcuYTojEX~_tisSC`$HV-LO3zO*&+mzIXsq_{Ezsva`8BiW-iuhZCe0ZoC%a5)_YgwRP^w zfZW3#k4~#|6(i4Pk$=B+tb`BlGZv-O?US`F+tSZi{0PXKKe}QZ(UjGQ$SA|&^;tV- zK?#W!e~H#jjr3Jt%`@>T2>m&{TS9g!?wQ)**~Gfd?eSVeD?@!4x~TDsjei|KBjEFm zFks7%URFSrrT#+s9@52}P{UYEH=Xv;{7zaK_OqJh>g`j^#XtUfMR++}bD%DP6mY}H zCyBmAjEqc{4uLg|uXwMS?kox+swB%YiV#;bI(A(ad2<$S3m*uIZBd-I&$nmAfAdr0 zW~*ZN>@@TZYlW31MaCEL->t@^9g%bn)ju2Skgf~+{X%M za6IJ7mc2~Q`Vg$!=VC}R$f66h!0?ovlX?fTd}5c$Sp?NJS4mkBzrwP}KIxMl*#dz6 zYLn4V+D+0pzlZK0$Y{>%V|>)WhAK?bB?kp*qrN?o7i;Y_P?a8*y?h15F0-ViEvc%| z)@#5)c_g$)`Ki-_%Jo5n2_9cNl&MHDb`_8&M)m3vcWsf5xZwO^n6h&ov~$mw zmrH9E`al>I!=ENZN2!Uk%FHsbyZTV;`9t1Ng9uJ7CqTgn|H*oXEUbY5{3Zzu?!;v` zK`?QA{#nf2rO)}}1$@TXVW>&YaGeZ>x?e%joG8LdGo&w+t|(9@GCjoY8$2%-W&YMNV5wDN0BhUrcGg95dLl<@--o- zl+JNq&{jwv(|ifw8ee@_FEAgr)zVPM5l(bCrUi-FIH1Cj2Gu;O<7GIJK41>=isv%5 zRnR$-BRh%lca={4@+Y|auB1jM!%-eXONzfyKvo5WLYOCJ6DEvAcv2PUQkbDzG3T&M zp|Lang8M7dumetD#K{PR*}@9RUd`?t7u;(5qX(0hdgydf+J=91uWys?D%#Q6Na z`00NX?7|Y=5H)NSZny&8tn}n-xe)p^9GRRO+O@lLU!Lj&Y1Mp-lbh+M%Nx4dV~DQ2 zBhM}st#<+wl)@1sXvcud2fuw>GBFP&Ql4omgxing6mdhrk-iFGW&BHqxAkUy5!D4o z#HQ-FE?}mLGEWHNIPU#=3bil)8j=i2srR&!yOG=$=9V$6AuV$GoEHucI%FA6l?uNb zd(bi>L@WN`I!mYNdoiy2wT_Q zfMc5RYGS%eVSCA<}NHBB=otrMbrYR4l_{+#dK{nJG3FZ3=&_#UZJ|luOSbS#JLwnMohF*Zc$V zpurS!J)QCQ?_VF2sUOJcQ)~Q;s%`t1nkQb2^_wdnm$b5338ma+nFKJKC9y$=X4p0b zL_I zDzd-qw)O16Kr(L&;#qh z%G4#MKOAq8zUps=^p)a(V}HvjV~tTLF*TCN-?JoOwJ6rBI|%Ax{od`pv)%Ydlq|<2 zUGzrk@-a3l>i5_7JYVJ1dwT2j*r#|ns^E@&IeSDr#CxU}8D2Z<^gmO)DRh`bHP}%z zoOuj8Gr8Gey-EPoe8~BA)1(&TA6m3^*(|ljxwtP>SHg|LgWkaxJ=lU$050aF5yOC- z-QYvJ1L^O2j-c=g~H6v9bi}1fMB9+M3y6D2} z^)~;AiWU9|7Gz8(gGkecJ(%IsCFl`a4+u6CrE`_+EO8Mi$Q}LRCxhnHgSn$NmXL|d z%)xiksQpi&x2v6R@E9*K3!DHO0_S1B1dQAHry9 zQ2^>Pb^p&Z4C@PAG0ZGi1ddz{2boj2--$QntA(!~GUT~2HNCYTEd(v6d1!;xg(CEu z3G!n>w<#7*lzhD=2)r|YF6hEaJm!!)_=@$lGpJC2oF$qdH6rbvgNGFyy}yt~wjsF& zUQY`-=nAckV$fA|la&)J>}6pH`u^Th4Z$N0)iflHz{5-Y^5Pt4^)I8-JZj75!5vR& zmo>m;R&G$i> zZJ3^BBnB%ZE@$MK_XDBB&v-L2f)a<>m%GbVSR*gk^qr(V;WN?V?!0K>> zDZrXhw@^-*ww%wJjXIoq7@F)ypt=r6q&fx@qG!dl*P2|JSIqOtuyKPL`H`f@Yj=*XD#3G{ED z@1bhyy~C1b3`=?Ier9`lvEv8?aO4Uiu4(*EeXlzMA0^lc4z%&$J;WsE%AnlS{!4K< z9^SMj_%orjzads`z!i$mrDqqT#88(rh2GEU>E2gjVgo1oWUM)Mn~dECNR~BQb~sA^xcGZ) zZAm?zXwdG)r+2nsiOvk>u32yx{RVEfAV0Ai8{L2c;Tp@=7K??3$jNG_kB;o*sEGBTRN$(&N{1*iE-SZl}?YDt-#04=J=J`*T0jMEZ9)4_C(m& zR5u<_bB74AUVz)eJ73VG%>9Si6wguACX4KTCc?PZ?opA zeJ|{U{i*1)@<}C1;}o%+(hOqzlKFo8Qnu|3_l8 zzusl&hcH4!VbZh&zLEq)UVr*oHeb1%MxlOf?C}me&&w<|OFmy%BYqN1oVf>vIwD>p zr4UaDneXNwT7IoYFA;xqVEq2b(M74&ae$C%No%8w;ObvPZZ~;e%QH59FYl{VX(pH6 ziQ-M$8Rb3B=va-Q2d=8_UG3+tOH%sP?(VWnG4>mhde^eu=Flpm<_~6{?DO|7hz?z! z#9nX7^}lL5x=LuK+EynL<&W#wF~7v8!Nkz*2;3QYtRp&%fBE;+u+@EM`ic9ZaylUw z_ENUxaa-{u)V%M)9Eq6N>UEb$uj*;p=}kcffDNXmoI$;mFAog8IsBJo<|~c5r&OYE zvbFzgbzsDNOYS*G=P>KrMa3tp5yx64(**SzdQeD}!24fE-;fWE-_i-L&6KMMD28T3 zdiGFr<2MrJl=0svdl?4-%Hx1uNld*-RzrW#0HA~}W-0@364;bkSj^vV!^f*6+>KN&z8T(Khv) zuSmt`6_J>mM~;Ea-~Q#VTyQgq=;5QngTm-+Q%iB3Yd8y!?v$I#RO0L5Q&jstxMIzz zRuSzOwK|{VF8{#eGcNr%dptnDTVK}ddt)@cl<}~^qMQoddx(Uiop}>4pEFp`U;yPs zdtXi~iJVDbR9gyOvrhHVGM0b&>gq>BeM2ZnF8iH$d4wX}#u1#D0`#)-JK(1TU2lXv z(u3m3E7a&+{m80Lp^%@1mW*C(_1K+*6hG`46Tlnkxl+Qhv;_>KqCX9`h@^=f7rw~$ z2C^2gpnj&qcKjK=wc!{kZIbdv1QV2?NRqGNe&85OR%JP9s-5Mxd5)=I<4svnNb6u9 ziT=?Z8(pR#wp5nYkIQ^Xh=sA7g?*^WV=57;?7t8IG&D9+eI3v2i?%#=k?by7S!U5I z0)izm20@<)%E2p`P}F2q@GUuY*}`IV&y61l0wzrDe^%;lPXqV0zl$6HXk2fL2iTaF zda_o6MRDs*0E(s8dsv!I4-|l*fb*Bz`l$ehh_s zMWlNB#h4jr-_166x2#egC-o|0wZtp$N<`b4fXrCu6R@3Heo2G5saSdE0<$5 zCv@=P)KvO0MCAeNS@(G(w=>PrDlHVOv~9%wII-l{SRxtF_G zBp0_(EMPzKCa1m3)?10-@CY8S^EOCKWM;PO(~~#exw3R>veIyyhS>SvYkvctb_!i= zP1YLoPlBeaT{MTn$FeHk@E?8Qk8y|G<%V4yp&qERqpY`>PwOR}rw#Yvi8X8zgp5;F zYUWRaxU#_)vfBB?AoS7N04t2C$~S#PgbeDKYfyGfaZh0 zVtUkhGK8WLiT<#Hf}l{iyf|rJa1`ZrtaU#6M@yD?yLknNS5@8w?6)Ekh=Qr{*`D+q(o z%H~1WsXR?+ygdMKcbIsn<(I}oaZnUl4cz=D-;uHq(CWA1SLFheUQzNQz4VH(0eJC| zO8!o(#6RLbd>ag0eH)`Mj0t@av0Zm&PFd}Q|EC*y_`g$48Zz>79W5$Y(zA{${WrxB z>gqRX->hksN5qFN2Qn@*v1y`liZ7X3z$|zXt{2~5Au+7zjPh(?0o(m5PzoNcu=Xu( z#Nym&A58T3k!0s9rF8c42F5Or2>=`@fL@bC4WF|3@zHN{mA>WtLW`U*xK}ctDKV|< z>nLE^JBDG{m`#I7>hYoxEGs)tVm+7y&W+O)|6Cn#fpjCL zcTs8)2w7devCz`_N=e!K0kF@4u`K62u}$FPm3F54XIq1=5Ov-R#tQ;Wq8}MkYpVk3 zpvE3M-W$f!dc@W&)UaZ6QkDRx{zzt9iK+U(0Y=q{@?8*mb&N zzjt%Ap;NXQ9J9HyXmN}Ble|}XFkA*&G`;@;SKVa4v&?IJtHj2aVUNM(-S4LOa6JHF4()wKkligJ7asXSS_umEf7g`^G-}%!B^kqoS48HGjL`V+ zgaV+**iV3pkU3JNt%UB-+ZH{$Eva7e&pMQKXG->=< z9$o(9qQzKJ7!}~^k7AnrLq)~)IlJ#Nbx4auONFTv{X?MT1MeMxfq6V02!Aln7461C zhOQr6p9&?ldtY2;0+e0znEtq-)7(pu1+xb2 zdDqkroHJ7l>gng=tS5oelm&9*2TwX7xec)+H|4W=4Kwzp;*qZD8xmyMAXS^q5Oxa!ncE8#q$WDbHeDs zA+oa?20QINMD?~mJiWT44sGMv7cokG47$9irGYJAWosC68N>k@%($e0GKT4@TmL(j zw#7#d5`m6PR)S}l*#%!9dI<|nGtxZUq2P^KDvZ?ekx)`H!7xmxHH#k5Z9M8i+nBVT zI5TU)kIQ(97cv2fzWXVOKxuqR5%ZWmK4;MxN?L8z`AhiTgC+>&#=oTsr$ponZM?QB zRDFz(|IYX@HX-3D-4?5=y`2Y!n1PW@N!>fx_e`|XRxy+N*^i@@SY8o$x0qd))oW(%zqgMS~#46fL40sm0n{xpeOODYT8$83> zr!I@blD`46$L+hMUFFDKZHZe6n7Z#qmA12+B1BdcP~!uz5`F!6gcD%n9B#(?+QYI& z(u(=oSSgW~!UR}~C{vfkIb-pg>TenB|33G9{l#A*2^bFLb}?#(u}s?;;u}wKe}q7R z02F#+I1Wp+jB=0`YMfenX=s6b>Jg3VIy%6}H}!iCLS}0p~(i zNTi5ZJMzzuF#0V1sACu%1M68?dJm!Wr{<8v*Das$g~Jo3LSU`=Q1(4x+a3W-Iti47 zT)+(FxXZY?jNIE0*b7BT$30j21NidlyJ0=CkTBqV56|fVvmM=-qu#_efqw$AdGCf{LY{=Gt-P* z%y_23MSxR`9Ujlv8x$RZs`+BTo-b_L8k?;sG6Iza3!@k;o0*y;sPUi(_>jPR3@JG^ zT28DZ6Kk3!+9oIW0Gx#KV9KN_MB2)feU zV5TpX|3Cs5`?&cHJa73G<6rOcc1^{5XTZ7RCYr-Kon^1AEPv9zH4On{abZV&iw5(c zg0+WLnUm?V{>9Tojb$s3E7QC@X>wbOaH`7|5ekI|fg!{YY(jGur`65Ev+nmO0Zpd1 zcR!+UxmKL5I%s}G6HO^X3Dt-P1z5eHSjk{lE@@heEJ@T)Ipb$oAj*+E@r1Vsep$j* zesO$xIY}<(jGm+i-K(pL7QZ_n%T~NBaiaB$p`9`2pEKY7jQF#?<;n}HaJIQgUE%@Tx-uZcT~+r%jUFxYnG<_|=?)e#G6JL89o zd${onGx$KVi>p|?Ud(GfysOJ@>5Fe&=^r9gRnT~u*%Bg#24TUua|eIJQfy;%J2!PQ z6nE;6?cz2{|DD+3r%#Pd zuep+_HUr&U>jwEg?WOwD3uM*$f!V0ywiaU^YTuuNuA_Hqd{#e1Ghc>1P0O~m`zj@` zogdLVdY+z&W=d89)R>YEYCCR@E9t%edab0z|GEawos3z{L`G0y#m=^0Dra`INWE(l z8&Vfau5G)H>U7RKR0h~_PI^WA2G!Jp6?Ov9?0UUTy=PuXMpp8)SHO1LAohq=o z1Ov_}hp0v}$I%X!X68KwB$wKHcN|#C{BUkcbxt(Q@k7U+{1X3+l>M#YHi>)6@DX3s zi8w+gbM0;M)yh_~Uf+?Pq2C)d~IPX7)vR{Vc|Bgs0l?}<24ZR$WN!1zn&XC3FU#+8b?@Q;hPTM_^h>Kry5)$3W>Z9i7 zW|m`534a$p$JHM!7Sw40OsD2sO=!wXl&ld}|849!c^ThFLsG}z2{*3)yXrhX=2X4W zy4yJB0eh_BOAO9DYS1W2t-N0*sMuguxh9>lj6ggg-q1ZH?u3vq#yIEge z`&IanMgj35sJWqmMNEnL#KY-Zo>add{%&_7gyzF<0MYwI;9mW%;J{RKg!y<~z0*|{@VP582SS_bJHn&fm zm+>Qf@n<4JRiXqhO>;S&g+QT-%z%6nXQh=t-Z4@aiACxyhjS&1ZF)=wU*pjFS^du2 z1A8k8s)ycC8^HbEaze$xqe{xF88qV?NpFWm3^hrW$l)v~ zGij{&pI&;|T5;zFw2~pMM+omaFm2Np8ij)V#fUSQtw2AAdGFpkK9*!tx&5~8%CqHAsznDPaf1>PN~Vic4y&tS+HPV>pB|4| zop1kDpJF*Cr_0ZnAhuiO-2Fl<_D;aN^D#wr0{t1bUt*@%m#E%U80Cx7ph=6x@wKD( zlmKmhKQGR3pWglR46IePYI`FqGts>r-FngU6FBF*62nhAU)Wj-XNNM)NnS@^*H<+f z{k6IuDi*&#YOQQHYG`Vz%gLzku65*bTlcd3HfRz@juJDKW5OB{!Sr)pDr9$%??vo> zwy!Z0M64kvl-{x4_Mp3=xp`);>g2s(=5IUy(_pikSSG|nn1-*w39PWVCb1EOdq4S+e?6PlFjyK9hID(!|Jy^?yigIsm(tsuY(@}0#$qiL{;pr z^GWqTpKdt}g!0*{f+qDIqyuPOqKs_F$Wy2CU-VqybG5e_tQ~dFQY=VG0)I*k7 zWCh*;Kip4P4QG*tgtOU8>s1Cnp?TLM-Y(7#)O2j6KkiWFAcYPoi@U)_m>A(0AN90Y zt@>d8;)|DT)Ml4#PDAKA#1`f1ROI9oH4|vfpFA4tkX?qhJwINbRn5IkRf}7HC6Y<0 zNut20PDq_*&|N~q{oy3^7z*;YSgO)b%J7Kizeh#ky~^jrXaR-(DZw((_5-LcmMt4?j+0` z@ujS&E&x!*x!=DLA70BF&QJCa`c5!ff}3NoKkyEq_^1!oQp?w}qB(mv9Z_`tzGon( zn|#xkW~%6YSM1nSPK1PSgqyiJtNlG%7IpF1w$c3;PiY(ss?Yn>4&9(QE zlQ&)E`5o^pdmkO5ql8{Dj83MCydWP7w z?7Hzf?>L7xh=ih8-8*SIwq3=SiJ9gJ2yM~Z(7HWb05!slB~+R>_x7y zC-Bmi#L+?rVD7Y9PtoOO_gMAxslV*u-bc|jdZ$DMv3|LBQ(IM4756q-?`lx?o=npF z$!2rrO;*^)%Chwl3En4o&>uBW8Y6l;d;KY+PsO?V>ci8V zQ&xb(=68jqK5xNv;W7$94-53y&0@uh5>19syGb6JNL58jO#lQQ8raGiW z+F?@iS4@zVnfT4N_jKDRAWfLm_9yFs;HI2fJ{%5$Rdb?!&^snA+yEolAOWU~id9-8Z$mCM$ch4I*Uv zDXfV-Aaw<1HZww;Ga&hC!tg@QMJh}g%f2KN?n1;YntVh<5r7EsL~tz53QjI5 zFXP_En^g9YtP(J_cN@YQ3u};2V9usLN1_+WNw$QnjFvJ?FPcYgyaM-E#pZoboTmr6g^w~K&*{CgRllJt-yz3o6#qtKB3@cC~6*19xo^`~m zlz5Vpvp&EkcdJ>2<)rPCK&+4o|(vrCJ-3%xry9I*4@Sed1@zkwqW(zLHbK zE?QPnWhKs{t{Oro9T?R3^fZEFRr`%qrTX(PcL$Mrw7c{?zOfXj(O&y`>yQrms}X^0mO$0y{=9?0jev?ZJ!#slR53HV9R2qfghV z1N!p2M7yY&Kct4)JH+O9xeHUMsRJOn-{=>cf$m4L(dlR|=~914uP^~NAF)C{02`+} z%QIdAX?so3NB5ls?p*rQCE#$eXwee28exBiyat&DIc-03Zuz`gU(|7z#jZDmYH991 zOC22f%E*N#qd8tN3LRlND~iD9q&*vKqh!A*i6`}BpfQE+F*UMZL!i9&FATR^^$=y& zg92YK6qZvF8@G0g{X7QR5#Kb15zV2OIB#-5^g5U?ep0GpPJ9@?q-vGLlmk$SW5`isS za}TaO=N13GA8+Yglcj$$GCKNpB1-anhYV>91lrGM+Da#hAmA>SxDq}o#G(uJy)$>s zIo>}1?0Mzw?FBkbww~cVtD-fm_OqIh#iCT_!Lx=ZVBuQvD&uqDb%!C%_gE#V5}rAA z(1sh*0OL4M^7(J9@F?cHcJj7&VX~1(phN)Xm$wI}i>_J&ID;z-0O=tA42rw`;l&g5 z-M=$rfsCz&C>zacpDR~^tIkT@*kaj;R zdE=nA5*~$D7WfdHD?CsJS4P?RRMk& z2ViOYII{fmulLUBf`{eE3ys(-d7(G&bs9rU?}6l6Jd!IQenA{2d~+ptiHg3MM9s*( z#JHRe`c?~=*wToA^CAAGS?%GE#QIFigGl4af`5%r0U`8!F!~l6_E8kM`m0!~uW6bj z4qiHsCAIun;(w4Pb-zaWs8aNBqgjUE0HH9O;Snt-wGYz&vMvx*?Wu#4_7{=NPD5pk zgy_={6h-3OMHby^$P393=cwjMPjQtZ8CqhFqt!4S6qDa{J9u4;&seqmnIh-#Q?-h6 zN_oyRv_eS9cWNw8kP*{d5tF;RBnoZdEmyL5gWXB#(x@vEge(mAiczx3-3+$tGw76z zWSKw#@~D7Z#MtA$Opc?qNv~6zJU+bnmY`a8V;VTOHnS8Ee8rGN`OE}3OUnBgw#UU{ zQuWp6OTpn6x)Pgdm*?fZ)Z_Iw)(QuTX#1}-cUyU##jK+SuX5IoVJ;KT627@@o8d2i zAt^25Z;F#?;lrnah=*WCwbxD-(N!$$UnVs^-`8#2$8qLP(3HnV(^?FyJ}1$bnQ4_q z+a^XmH646Eo?_4s{9egJSPRW&#LdNky@+m9Ha#&G@rLHS;e)8$3nuQ6~ z*dD~!Wa@D7O50_MtowHQNb6CmA+O49Qk2YCn#9L~gCdt3jqzL`ak2hoWvwzrU3dfJ zrB-#8-0@ZCBV!WJWS zyM-{wTyAHrDyQ(1a58%iqj8BOA2py8t(|J@EJJ!x%^L?k{rj46k;W-j5~f*K$UvG! z6qPp6eRqoJ__#O5Jt$}rLC95$xSU%SBG2SYO;6{gu}>q;8F-q=I}k(RfC<%iTpHw> z8QC(7ERW>@LwlZx$VPeFDP_|S<6pongC{kp=gdLPea(|IRHsX{BMEnt zW3<|q5dn4M^w?%lPlMoJ%|8gDQ1i|?SaS?8>ChoIcFJZky;j??*^*Y0jI^?U9Ip!h zP6TF9ncl}nt?=MgKq&<2YWz_*Uus5TYwQf)hmudk=YvuEVAZNqcm7hk}Qu%Ou z25=ZRL%C)Fm?T-Xc!e-}CjuelNB^$H6GRowk}pqpfNS+wc_yc}&YQq})~`qmfna}R zkw=g0feS|S!pQabx0@TJ4-SF@dqYYCqry~Oa`pBePTN>YIvPYH$xQJI1n4Zhi6PR` zgu|IYvfPA$?--bY0mZ**)WD1xDr>h_Rb6@NbwQS+&rq~(_udN}gdjzfUk3xJGj^D) zc{E)XzuUtU;^nuKN5SG`k;B52+oSG4^b{L6SJs57EM+DgO!vD-ZZm4C=e6#JM#E|v zd4dlU@o|!O+jdsd3o(q-``OAOxEdwoYVG7^H$(#XYrquL(BK`g-6NUptbWfP#CuGZ zFN0!o`=a~h(K2GfvAR=;A12vv&-dkb?jEoHaaaY<)sCEN#pJ;E!B@B0G)Yo-mz>Qj zg?X-jR1l;waKzV!;$lg1Tv?qL;e$H+f!6`R2vZCw@UHHzT=Yf)3CN5%blbl0F8-CV zrp|OZ###NL?XEuW={w9IUR1=}>*{Lu#!euTtRZn4vV(wpQIs;&hB)I# z^l6eK!)u!(QtPqK1W(jJ$n4l;e+kV4-QSAQP2^<+64XmE>snWiG4HPf_d;nN%>zpP z23g!o!`7evlC?ZEcf*NM?HY`urvmOA%d0rJZv$~9gF-`L8=1aq2lE`a^UVa}Zm$o6 z1&@5m{HZ!qgI>LgZeVfpkDBI?Hx&JI4)MFL{UmPe5&opyC z@I0_^9`*Mon(}4e^Bp-1%2om9j@hh_^FOXU=e~dC!zuleO8PAYAP7{unWk6xy#bi# z|5$l>lNBT>1V{n`z`znLZqukbFD%I$(!2G}{lk4h#;aNx0}doH;7q*33w`uYiAzr4 z=6vmXGDsb_Pp=OEn3(EkWmWQCjJ_kLMU98qrf@v&h*eaX70k%$m33WxD9!;2l*$(1 z%3_PG1iucokDLf*<oI({VfrJ2x}Q?Cg(5XAaRjUDtK845zoUvJh2e1@Dfo z(zXg6tpyv;b^jX@0AxUh`1qK%$HC_r{r0J&6;_=Xf~?m|nA(%4rd@H1((^!HEJ`NY z-7`-J8K)&rNhR>mEBmp>+4qa{{0E=G_Cx&-gj4ag>OQ29#RYL_Mq`S#(Nipm zyd3hfYMkH7Pcnr)=h}gR8Z>|(Zj^j`<0K54?_Re!7dZ4r1)ULW5^0;heW!0?az~?X zk%pAro1~$UXNh+W{aKEco9y1#hHzIiG}%~=sFX>&n_1fqreR|4#fe`}B!;(|eR4p? z*O%kYpKFKwpUXA69-3V0dlkksh2}8n7{7le(mJs_%NXkFlkzqvdDI*>Xx~Uma}0NH zMREn7Cr%jF<$T2ktQ#wf&S_XL$nxNIwP>{QHKT`L9=W?co@EekWJeZ|x$y-O9PGy- zgwW$@=kc$=!@u{ z!}$ajfCXDl&!#oH@q4^62#$;Qxo^XpTC~{hRavsngocKlXwyv|JpK(5O7rgjxG%KN z{c#fK!MnSL`irUWVUtL`_dxGQ_RmYB+8MZ}bS8O4OcgRZFN~)Gsq%P-oIf~;OuMaQ zVL?w%|NbpR;z>$}wsk%){l(5u$1FL%D`$-%zFXtHbDaBLkdu@1Odlt8cd%HWrN0eR z`dh???cm5}!v;yn#z|HP)g(r*I;8fCIczhw7|&T<`TeJLO&KlBm{#1OhiU zhpHSLocy}2GGeDh+3y2>BEd9#FR&v@4)0j-Fbk*)y2n^cOm*a*EQj0zltJF>j`!cs zXuKcK5A6hnyT(TMoDqTuRsc&hGNNOwSh%N}ha(^QO1C7Rz_g42W+yC|^Y_)HFcy?1 zNxN?Ln|@Np**Eqv>!Xm=`AM2j+jsmVG?gaO%$rA{1l6GV$vbyir`y+(q2kN}gq0R# zz7IUzhirESmkPJXcL-b=7Riq5_7>~)qVytP0mG%B?*uaA90UVuEX-H!&kreb%@k9uN?akzSW=6gYPFg^wYPl!4swVTlXI=-;il#U z*`piWY@uu0~?KO!-Dgse5a|$3Z^?PN&?x8{o7ZJRnVqOGNSDgb7;4y)74K<&NqvcE4W7cGYD7^Bz-QP zUVuG5>p#AFt|TsWLlqC-s5c5g)1JXi3h#9<(v*qZNW>n4Q*%a8NVt0P~7A&0ADb-WaMYg|p-c(O#mT;9Q)sss5{ao+oh@7CHx98y^ykaee+ zGE^7@r81!4(h9XNCDHh%Bb0jxt4rp}mm8IU!?nQtJ-A^?nMl>cRCsBplErsJy$n=9 z>VW?`*@N>`=X}G3aP=Y8%Ma)ay1u^&NGHwX*T?tVyPG)FEHm9dq}ufEP&(`mqcqtk z!d`>q9WJ7F#?r{vk~fq@$2#UcOrUTPON3kSY2OZ4^7!u^{1;YEx-w&-EBjVeJZ`j-6q69XUMATR`4M4UpxC#&1h*k}5c_cB6;hK#g80SW2Tj32j ztO1Jo%4!;k`j>AktUrQbMamOV82e5iDomtx-=YA1ZCO3|VtV2hXtsZB+rUvbOY?9) z`1mW>%TVA|1e>bG%f!7BqQxU>z*dBtZQT?BAkxW&x!8+fpT6?n`QXKZOxFfq&g&)L zfU}{TEdcEokDhfmR60j4kORB~MZ)mLtu zajo)q*Z}IAUkC6;<{Q#0(QLD~q&af$wE|B{h@xH`O3mDee;9IR%W{uq31G%i@tW`L z5v%PX`;HAD9#yKr78`c4pm|=(SVFLLlTf^??P2<^Xc6Rk*K*C!lw?MXp}B~!T3Tg# zgTO!p7D<|z7gvIlt;PC8Q0o0F^ihJqlPyA#65I7*AtVu9*EBIwvuTGL=B6*=%qYLe zOMU>xzy$QFwROW#gH9iQ!B(}#8cdNCiDo)!@CH7SM2RYCg#P3ppES>G`_7XSq7pl$KJ`Z)DT6 zNd}zxaZ$~`6m;Gj_@2>uyeJ{(GK^4p{yw@eFztG_B}4BTTlH11Li^{?CC+nJ?4_kp zR=4w%{a=l9cJ?i@p}y%j%#dE>Fa2g2MmMt|nO1ce`>yHEk}Ipz+5W2ho`#@j=(uu$ z(CWwbjqAQIC?!w#8lBPfIuK5srGXZX4d|2%O%tHWgb`a_Udidk)1F`gG|c5Nb))iv&dwaC)g_h5EdTqs!*4}-9Nc)J zL4~eLmyON}KnNUE%*W&t@yq1l;fP?}Z-|{qvz$qQv)gq??H#EAqNVNoRgz6Dh}TDhzFd zzDiQ!d}#hmG!u9pQn5p0l7`yas0v!2*FnnCA;fc4y`oA?Nxio}4CcGm-v5)L4vJeg zs-2G^)DFo<16~sD;dv0$4#3`^v7^ILDUXWSKrEPEsD6hh|7;OGHVHY(`9-$_lAoXA z&QL;p3I8As8S4jNTtV-I1kFl&norio@9((>X31qShij{@o|SG9S^ro~Iek4N))gq& z1BWPH7D|KSv4Q141{Uk!IB~Cal(Ey7|HIW;M#a%Y>w0hkBusF3cP9|s-Ge)U-~@Mf zcXxMpcL?q-gS)$P<~!%ty+3Mot*Po>)zjs*_w#lwwy-!SC*%aY8C@eI_aFgms><6t zi;7-^eFb_Bh2n(bq3o716{P@vC?xp9zhHxd2sW2M-lEq_aF1O0=3w8|3b19u=N3q= z-Sar34*7f0lONdek~;Tp3s(Z5gdkafmLP-zZ#=dc8l1iPzJo46+lENaSiI%$=I$$d`Uz13cC@!|(}wsEL6e`M(}(lrcJ`TZl1*sE88c3@`i> zAb~s zyk%NxkF$#lC#&1xGZ1fjhlEAQ9W|ss)IK?nSf4*8d3)nEtQHU}iWK+x?!Ul86%xfy zOcwgku~8kWd`BR>xXpy>{{vIarYD4X|2GG_*+=3gA>=v0bd zQTku5)Sp&Y(T00VEU_)!ds2{veL&gWWYeubqN9KfN%E+|wDdHZZr)rYvoB#?YRT75 zp9i;oRu|o!l-5Dl?)~(Caqr42E7Q`@ZLRBSa?<=isTzv*9(dos?UA<{ zo`dcBW_-3*krINTXg*s$TSRgG;HZUJ4VzwNxl8k!RfaHpz**lNwu|_cV>Vcfu%G}s z_y#5yt+`jzPI-F&ALZ%Mc8?@#R zG!iJd9eT@V!wK8$E2CAh=HlC~5+b7%`3t!X)yEk1nc>rp(2SS;E1A}u%ncQSOf%Y3 zkeMCC2rl10e~DzDS8w5uf=@g&j*z=Qd!Ks(ys20D;Qo73pNh;Ar0lZxdocu~OazJH@wn|NDl0d3h7#@X)k7R%9Vzg$Y4?cq1f(E{xkRoH`-CCE zHaBW$u-_5O_1?}L$D~$Q+gf=dK>r^qMM4H0EBXrb|BzCsn|{0Vc9+OAVI3jCK+fLs zzznkA8eMyW)R1H`w-v6!Yq6x-il-0R--R>50`p)2r!B&HUA(+*7ktpIhv*XJv+~J* z`p#O-VLKvB7@Y{UA!uD{@>y%anj1$Y1eBH$9L@Vlg8Z2321ymZ3EzA31GP<@as zh#@=v?SbGmejlsv?9up>1;Q@=S8**#QKW>QaZ16!7NS{N2PI5`kUN1bA0Tc*x&Rf4 zF_|4ZAm^Uy1#grw+7CfqX@NAsjp$0CK+mNIj+~(6#J3khXgl>9c`jQDQ-$#^n|#1K zQr<&hRPZYV0wz^z?nm(RQ~{+%3~Jd^PQjDFwRfOD%nvL_->usBOBy+XjH)e3HUcia zWf5R6I{deh&Lx6AI7`%7XGGtu*RYz9g4k)h*XUIbA)+vy(@g*A69Uw0dVj}S! z5CGHn3<_ZU0oQ`)M^|CV<)H=<`|U3hAMc*G25NM3K>xODoq}REiz6HBWG`5nfQ0S8Ej%bZN}vCU5mKmH9{zJUN0SgMuuxWa?P&x| zL3kiv>Gaq`EQwt^L;HOD!@i(GTbk(l3Z37+!d6dh9N@MZ4`b1JPO!h$EZM(B~#0sASi#E+z~7q z@cRS!@k22sNsoJ^7^p4qgwcZvNZ#5}`nwL$>wxNWRxGI(1Yva_btgc_*$XV|{}XzG z42?x)p8w<^8uoctNgm-fT&fh0O=)?;lY_|q>mL$Xpx$_F?u2}}`EO=a( z5dc&YrF4E3mYIrvSY+oE!W0z4!9$065C@D23jU4Jd7_JV=x8!jK#Ic&oJae0q8aNQ zA`tJvn^QgSsDnTZog9avBtc&gTtg`W+3M*aDv zOg<6k36Cxlpj|x;ov7GxfjBN|&?>L|rQt`9dZcBr5d7Ot6F(Pk_I!^T(G`TL8!D0g zUmer}^#lna-y#@@fNk#1fM91%b)2=U98sNtHb_{hRT6o%&uB-n)l&Xhc$ z9*FlxIF1`=CiFE6A_fri%HF~TA)CpST?!ye*?|y&c{G$LGLMyG^tnv*rzWs;hoGQ< z3`ypL1p8?fAJ77(mDg>`%vVPSwFz%}X&FV>PzJg_zRMKU{oAK^@iMRjZ)5clLm88Q zA2+WMqA=RI5YHl4Ldl~U{UUlm%$l1;lAVD>4PQWpZj6{q#f?V^1!^V^fFnkHyrj;} zQ3=e$n!cy<011-R#!E=T8|^^@j*gDDGc#dcZn6kwpad4?sbBFKPDYD!e0keE2S z%CCJ2*l|h7W2jdxBDM^WQV@yXp;f}-d?1H+mpLp^gy0QCz2v7XUheMD?$prse+z*r zTyd)*5P?eST|Si1Eiu*7+p1K)LSG;e{28Hx>YaS$6Tx~iU@ERL?FIe-Bo&cJ@F`># zTtGt~(TPhnD6*;?@Cz^pqm4;4FMvh^_$0F6{s61wWDl=6sswjEHJc;`-I;^}|_8V*Iz8h{$lWL&dl2-ORXr0OmJ zuazY}AzXfV!HVo&QU)S?ZJ^VjFC|ZZ^lF_tz2#DU&G77U&um=MEiZFgpz*^h!X*Cb z>a@hV+|+*~x}j*4UE*+l@tz-G&@);%)%sf`c z(GZdrXQ7_1Y!hk7WxyyL-aJ#{;YU=at&0KUJ=ZgozUR=QBqL_AiiA?dr2eR1(g9i* zCO&OpjzU>ZBni3+l?;VhZKQJfPR8WNn*FjGH$~D<5-J(#Fav>H0KFt`<)7!6aY_Hpa11clkx4E4d`FtVdVe-%)~FMQsgtq+q(>)hK1pYG0cZ)d`FPkXzKg`?=gHF>8`3f~-5Qvk$|=Ku zH?9CEC-tfXRy+cR+Se_Ji0>6zjWMFUl~_oq%A#2=2f$S-4ChBX!P?X$j(tY+oq{*8 z&%YmFY2L2?Tl+BY0~(F~){ZDOM&khBN5-wo-d`B#3Uj&GYzI>fld?^be!k*qZ(yHq z00Z)+9T$`8-d`{1%I%Cz7&>#CUi}oh1ecv2cvx9AWy;_n){0{=?vAhXg9=)S=)_S( zAO<=|G&0a)j^s()j$=RwlHmM}GPOGG*22GX|Lv}RUPbt0NNMBuvJ!w19@F`-z+d`Q%PkgAn|{3_*2*V)>|fM1lcQB=$WOeq=Hm=V0I>Y-orx ze*R}ggOCz@?9A$PTtgrbZ*DhoNXrDZdOL8h++kj9gu*hnQ4Bt+eya8X(+~W_0MbCT znV75u6zNf;EL!o<;^Rih6uheR#d+wNv7-opjrx-3&qEUR`>g%18~wQ-LS&l-;# zama5Jq84pxjo*01ydqqq+X)Q}(2da44eR#Ya+aImgzs0&c*9aPL#SI}W9`aiu;N}z z{~{y{G+ot91BU*{PmF15LfXd`H0uiiz3((q?oUNsgy+&`q#EcQ3`26yebdC9We%^R zfa9Nk$}K7%Ax5pAUY(A0`WFo|j`V7GJB>bBThV$K{B`oFtBsulFUCrW7)Yj_9CbkP zMnndWMqf&n`a46xY&AU{i||V-pEl-7w^`I3|F3#I9AqdZT9u7MWVoF>@5LZ<^0bh0 z_9JfZdzf(kClw?{HDLr^+%x&^0ws}1AExoycB0-csCFt0MD0ccdV>wpE6*hQ;{w&n z8jH*C3|!5@)5%11x<^8pLY@(D3gzS>!|_P(b)(e;^=4+eVY9@Vw6n(?1fDEI@)uu6 z*qrklA}~->Q6GQsuaaLxemKEQucR3a`$ykSId2AAX?48cC)@20TEP1sVMm-V^VIB8 zcRkJp!wV0(gEqybDHfQbbITEjhH*2srsH0nDkN`5 ztIStarlv3Y^T5P)k2XYw;b7I%WQbKc<95+1YMoLGv4kZ|a#3@6MJCV7AA#n#K-+e# zGi|pHyz3>MJ6ru3#u0S8_<-VkZbV_4No4?wi+UYj_4`pIQXE+=MyRIiXK!57vhAB^ zykizYWp3nlo+!29gQdTbwHF2I3dmG=yzU1R^F)0=ssu#2JGaJik|_I73LP~U8(05D z?3V^#$Ii?j)@KPX|67aWyrBJ4lJ+a;qW6<1Sd*A@=`9Fc2!ODWL2N)89%OR@til2Y zw<4Z2t;M>G#Gd&2iruFoJtEl1QyU#K@@gF%44rr>%{rCR?PtD`0%`R}K>?PFt!KVM zsZ5o=ID;8>7Ta@{B@oUvZpH5Wo2Xefxle?w&CjWa^v#gN;Xu{v5|p0w z&;&Q+Xf%ubHJ4*KiAW*xnJ$TF8kV1}r79*q-`907w8&TuocF`dkMfTOV_Tn+6dT_0 z@n>1*L*B2h(BU)@EE;GOEvY;f0mV1w)h!reX0@9-_Rcjg07? zf*D1|Y10U$1RlgS;lg({m!G$cV=&sShZ+KkszD+o5E#if;fV}$rEu^ z7^L*XJo5X)!_i!d`Rr`kbc>6}zct`v+2N%M{hE+7@($S40n=iK-S?H0G{ZR%E=B4U^fMdA#3HIvz5mp|4Lim{iVfL0IRB2`#sx=~ ztNfXnSdu6+<*E&x!BPGsIquJf9%#Wof0fiss#D764+9% zPF!9^h)YX}c^Kbh1b{Y-M}=b8hnQHDi7r;*xBkgwRaw56&atb6#isHw4-WxISz+9` z*S^B$-v8e`L6XIX87jmI3XcKJFBHb0ll6G$p5NOeJ7HGeLy(=YRfpyD=CGSRViEE< z=gUc*0zAdpkKlY=3=^mL03$j52y7r+(^tHzQgYPer#v}oVb7({mx6>OQH4sSw5Y7^ zqBRzehiEUvO0*_?b85^HrCyo&@ws5!H7y)n2S49lK~{ZW^Lua8Na!0^@J{B&7(M6w zrT3JH!P++|i<3f@KCs~UL0hx-h}OdXk1Do(O;rLs3&!I3es{q2U7I6igB=`PK4l6N zBC^~Cp&9R9fmZUGbxE@&w;nw4m9T83(lEFSNzA#-+wXYsGgikiF)Wh2*hr^lJf}N{ z7-)0UI^2WGYj!`oif_k|OCj3CZf^8CeZioHcJVE`5XUcQvA8|iH;aIfHuW?mW5`~; zlyh(-$ENe3IS~7!YCrRtx z#ex!==tP{b^%$M?Q6-2nep;IHMkA(o*iueoFpMDH*c?CPzt>IpR*NrrB)`jzgLJ!f zT8IDZMnI|;Zu1p~&SKG93Ld(Se9XPcatJFj;hUfWbS1O>5#t|mj?4Ga$Wlvg3}hj2 z-5>e7q&qQ5>2$q3=kD^k#<{bMAtsJki@&z>4xR%V$zK{A?zTT=p6bf3H;OhM)Vm0_ z4dT6+TR4d7{g^q`WRS_NbitxAjFP6Xr{-@f9^ZIW`Del?tVyC7R=_@s^1D9S_K_Fe z>u!!E^D7!4Ra9${R1bSgA9=MT=6kaI=8?Hl+Ab(cv!aJjy{))j(l_$e^2GScDT- zO~XMaM+_sL4J8eMi&6Yf4V`r%=4*I*O(4*#Bt)aZV~5jCOV5M2Ej>+1v$SOvJi*Rr zZ%G$w6sy%dTp#3>AZA)+(^T=Z$9z<%Sfp05$Y?KslZMZ25VBaPV~FSS{S50MVH6GM zK|&(pK#pTfXqlv45Ce`%Kt_K1o+Pf6Br$>_^b+X@?JGvLn`llNh_YlwK*rDXw+?%t zkBNyW$%UW-e=qE!iUeb^S~e!^fv(opZ&L4pAzsngXATq+h4f0+!u^*H=q47cyma(i-B< zb+OE;14~q-WMpNT*?C19HO(pxqf!3u!Jrov6{n&!gvT z61PFjvSYJC(rg);72jNll3Zj|w}F_LBotCtoI(R9lLSShYb2?auK){6lVwte$E1Nk zZV8&Pj#R$d3k zipJ23q|wV92?d~YXPag=D9*u7dNhWeB#ims_3%XJa`Iz+r_zIs*do0MQ0|cKUj!wkh)_zI7?SY_W6PCSv(mgU|=hUc-1r+4pr^w}Y%Jl+AQi&Z37VaO?ih@zIFxQNgB z9kl*_>wbC8U-;qg@88zlJ@qmENZ`?-P~{~>Yb;6KZ@2L0NX^~lWtwe@V5Igum$#mo zvIeNyrSiO!0)b`f^tNzO(g^Mz~4$J&8G>u+4C7lSW>iCMyl8 z)kZI|tePoEfuy31aPzHE4{v=F3 zpo;%>%B0rYob%GvWpw5kGC`-0%|>IK6uJUI7NOxEEf{t}|5V6jHdjNa9V)$NRA>yP z3v{o2V4odUX2yX$-=j{~-EQ#nPBg*6lyzskVIlPL(?aKu+6}+9z%Qr8`-rG=TZo#P z!=hMn#J?kyO8XWsd3*e$3AVb#A8s>$UKU@t!hbJTU6FSm4#|OyLw!bRf{f8jps&=O zm#VyAj%Td(xEJcWZbiP0?EV1KCOK>`ok~a((F-b+*BVM5FlzlzQ}2<-6)y0)ISr{7n2*Q`V;;I*O^s0D{_`;%|p3GHeehYdI7 zSo)+HMS9IuKjzycGW$xvAnp?TZIPn}I2B#~JC*2cA{o7H0{<&29Biz6Ir@c zjoCX5N2Q)51vaGuPB}9%twNd%%Vg0#?MjCi`ie@18!%5Lgb7Dn?5(l`yhI+OHDn!K z5AWTJ3nsFd72O5-I1fNi^^4JX7SY6G_0SuK63rtyS>|6 zn?V@qaPngyo*!77YapBM>*x=&)7;BXc#mTOFgO4o^p^BVJ_8n zak1e};OYU&Z~pHVn>0A@zkjLDE-&l(ZP$>SzeUTvGnuSe^I#}wTe>=k2U|7Rk(O-iUR+bS!%Ffjze;0Qk_s2!-6aZu%gX??YeIFWqB+h_)uh=E=EhWNjE1J`B3iZD z#~v(kv0|68^2Inwlal?R+Kf*oxp7nj*@mo2IgTz0H5 z3_RX2p(2R!Mx+jpXH2Cg^nEw$9$MPnzo6pw2{&hAJH4r}>t6`GAAGuQ%I#x5aSXHK}?1R=UPovpL-{YHGDD3W%wbuQOlPaKS!89>;F+bhoNSXxgKlp5Ko zqFWV-$D*)D$FDCKD9OcTI9j>>NmLDbf&4rloBNrSR)Hk>8{{%GC#{KE_j4Dol0PRh zS3A;Vo0D9Jj`(QghpFrUqx+U6VUyu#5V^-4I&u|5sAo~Kx2-*4FisHJqg*(#ssRz`pYAHC+cej|Q26T{1|ggatM@=X~YLA&9< z0n1m3)#~zm_nnVL+OH3j50jvdzwaoM{N6B1n#+(5mFD>Co>!ZcS)MyV>6;J9f}kcV zq>1?MNLkCLQTK}C%hyeJ9WEz#d+zsi>2^(xhMcc}(B7vmc8;WO=f{D8uX<0@xPDz$ z0O8xZsV3QUtP|{gWoP~uxn_lDx4xz-jZMq?0hkTE^TJq~zl4RcYiuP%nNl1V`EI+r6w5r7mUhV3Qt8yDJBK7k>0u9*Ew;N>=VHT+F|4mYY#ak`7unv1v8Mf&ZxT~n5NV+EQ*eGtfMrz< zQiPet7?~|cb8QCWta;ci9iFO%(#lsH_U$-y8cDcSpHo)z2j-9s_mHI64f@vKo)f2& zuT$Ff6(Z#9?khAp!)_;af)e70N|dX4$8Qp&=Q1ku-=M{gxt{B9gP`?aKCf2K z_(Au}yBmmYZkJDM$a9UqeN_e#oYy=32{&J{u(e2lDli?loDBPw)ty*zwobgQ@}Cdc z>tdxbpvPXFkxQ*Q zvUJqVU3~h~&F0F>9P;CTZY8c>d3{}_G)*DjRD^2UNC(5B$g0S(XkA`F*{NiDG?!W% zCpvYGf2`#`;tmcfHsU-x*w<#=t<_j1hvRZNWK?*H$_NJSuze1SD7e#i8Ys2tsHxn1 zy-e~Xa$`Wnh=bA(`%$~yEc7qvuGBYu+TupgP*8rof}ZoP{7=0}Hrig7vei!Cyb9(X zSOBO76;Jv#Pm7Q5cX3)z56$7?(Va%&gGrTX@m8Unn4i2$4IaCh$?Nk=i+8aPDe({~ zH-0Q0{bS)cx*D-Rx=DW(LMmv~KI*lwIwF~WjPugN>`mUY zX5W)F*jh6!`&mLW7~3bVA-sPjN$Zn((GKzR77R){$n^D$>UtdRPVV}<)EnI_Kk3mx z4Zj9arle|@Nw4QdmHti#>ac$ayv)}2hB5?@!oDo6X>&fXNn=zX4Wn>#Zcq;+H|tNW zOaHmW0_+CD97RnyFs9`-S}D!^YF_sIEupQs>@keLGo8))1zxU;Z-j2)4O5Yior$4MX`f9U0`^V;Uq2A-MI66jZNKp(5@{5aC&!w(2 zdbt|I-WaHjl81%QNG&`tngECJbBFG9nQ$7*@C*Ora5AVNufKb+3B|zu6~?KRXZ+}i zAi^o{_(%YVMJHWb$79kfd24r+Oy;r~e21B+)m(sfrOyPJmm-7O>MY~=W3 zZDu7Icvz`viX46DVm?KsgivA1@7||C46WVZ^xY~IE&2lI+t_{@ZziMH-N#07*D{tI zR~G0=*1~PodX%Hs#!P;&@78Vh;cwTZGU;G`Ag|Am9dYkqc$%3k7Y~OvLO45!At9X5 z)7r&E?iDy8ft-AIx1KO*Vq+H8zTM~0H@O7$?NAEdC@=U`02n|7Bdx_shM&G|$X@a6 zt3!9d=Vt11H~6N8az%TiL}q7hG%(Zi63E}4A+wW7a_}HIteboG?X`*2U$*=BtO?MC zTA{?rfJdd->yiWYo^k!2tytobEdTLXEU!N?n(^i`fSL4u?$UL9UP+C(<<5$Jzv(7D z!(x#0uAk*GFf(xb{OQCzk?I_lQa@sMwqQVa{5G>WtbD1Og)b3)o~xLx?x-k91sXa!urk)*iIphpcHgj&&QpE-axj+N&sVh; zY*fvZYVx}3{j53{sH}|9V|0#xQuWx;Om!3JqmbF?8N!ubU|hMFX(f00`Q~Q+96z-- z)P#L*uIA47-itC=7fpE9n;!geCq0le)HC&Q=j`3(y?38Z=ziq!E9I;qY*3Ex%6CHB zcE%I%b~6*X?)BRFyWZ$GW<+pu_X%-(vGLJqy7kB6rPLQqT!`EKNA*AtR_`ZJ_n@)o z4E(9EaOK;1c4u_bB6gh)DPw4M_E8hfzG{`{)TjRWGaSI>BD8S*ekz+{gGY4CZ$|kh zT4#i{J=N1=e`he7Oi9+l+>t*)X*Cm{zQNIHyM;j?-p{AB)|P_e57SV<$nWv01gWWW zUWcO{daWy5;qu{k0F+@)w;t0=zl(Uf$8W{*?xGXdTq_Ny(u}R=4eGK5Q+xxKQuWR{ zAqpLG6>gcK-G^=L*Vaz<*PZQc(GST7D2(^_5W>wxd>b=azPO2kB^NKO)uaZ`LaeMw z<;Q#>CgvprMJ2BJ_t}k8RvQC9*Q>;5kBiv7N`$o# zeyW7c9HZzOWj35HJ2V&7S|Jw7V%5{PD=_dT|77yIPTb1=-E9C7VjV)6MCU~|m!X3i zK+`~Pwp8{jNL;LBF^||!gk&-=D{vrQvSBvYO3SG>#oHR>D~t)nSA7Qe7S`cG5(PUy z^$*&Y9Y0Ys4w)+c}J@wK^CQwG6oDW6~NJrrKT{1TS@Nz=s7jvB-09WR{E z$^7K}yz6&I{frPW7+h|&z9aJSDK6;unWzn*N~k%Q`b?K^n4NW`O}%qJGDZIf3uo(qg-|XHc zwnPGHbY~G-ci{K|tg<1zzr9MJ3(-vm5q_p{Zn!f7oNYG8Cpo*mcW|$AL%mMrcEbxx zP?)}Mde^*YIg>ORfV4PRU)-03E2C`B=1%3i0|Yx$uhFr8-W!`0z7zyzN`O!5f&4YC zC%>SyUyDq&AFA5no(BEje>COkHkYU|4Q&N_JqNq$ye_{xMD^85-k`k&3{^|&-acgC zrgwh=0HEjK^5^GAU4PuAdGj0c>x~vMm^gdJ=Wo?+o_n9jA9tBN_g6NCD`{@;^KY0- zbg@1c);6G+k>3{<*4A=3l~DXh^wLt;(jq#R)w<%;g*wBkLK4LaR4U!@%wn%sM4dUW2`2 zX8*$!s+f}9HlHx6#K#&4zmFaTT>QL4%WswScwx-HNC4jMN>e9AM(j`xUIg-D5$EC5 z7w=Au9-om0sJGY<0>qOTZI(Zc8=@0Pp3ewGfJz$OI0a0mvMRIp zbABACv89Vaz-zYF%-@xgoT0Hk@#&R!XaH*dA?kUZv)e~_a;a$#PG;Jw1~mqVCw?q4 zK#Hr$N;)7%wK7e!(Hvm8mSj+pk*aOopiQMcC((sboF>K}vRP*wet)dxe1=Dx${CHm zCqZ}cBPn6FHn)C*HS;{n*3zH6(7`B*RkuM*9N{JHf9napR+DFFuXV4(5Ma zl|1dMvRrvDtMJih)Zm7m&Z@l|7h(@>a2Q%;Dsr!Au#SUgbP)N zZ=nVCzte<9Q5c}W9&F#i{1<|lm`a8=dvfETeFHCX&2=-$d6VO;UjY98X;$xxZ%+sb zENh~pmYCH3O0b0o!`;mw@F8cs%qK=ThPG6t?(ieA$9I0DiMbW0TT_cetnbV!tGjde$l1m_MSkO- zgl{q>3E(6i`E)m4wyui#bk+%rxB-5IzPnzYCxZb_U)O_~Uk5AVYS>nOu>2m+Pph2$ za11Q}1<>f5?jM($d^X&GVg}NB-lsi=T9By5?Fl*SSi$2>nok!1Z4v`_^W3 zJxxC(pKFbbPZulA$1p1R-~0N7vp;(FF_$3UM*=Lm`(w>ZHd6C9Gu5Ls~RD$d1=`L5D+F)@t`OnaZ%ii|#3pn-ok?C;VEFIWGY^`wzw6 z`DhoC_i8jz(Auw%0E#7C?ktSk12|%RoHwJWRLsx22Ta`tg#L`gclm05M`VK@iJ6iW zZ@2fKf4tjk7I6duDH!DHezh8j$IC>fz1}L6wjio2WdsLJ8i_p~^gC~CEsZu;zF^<# z@j!c4;Neck^PZnuL;&#teJLZcrKN|yCwRk?(oL2thE`T&^SGco;#SMX_Mx~kC;>AI zJMR_mkES&zRXvZhj^|;rd20y{;TV;tZ6_pjspa};<-YxiInAp+lj?p+(T8Q3{*0ZT5A z&MC)`#4&*Cw@upbu_d3~%eFK1iTdXKbcTcBNbjogBt9he+$qod{7Lo6U+xL*!?eWB zdN>F^z)AC)3HURZyeu|Lchb0iq$7A5&$w6p+3^(r3bUr+gSxZi%WA5DVY$M5bdKC&vx?S|* zQTa=nmbgPm);m6sHaQ0Eg9vX|DW6&crGHuQKdWyt`>o&Xy~74kEYR z@4YaHs8M{wbt37rB$SGqcL|?&ho8o31>WA>Jd)2-@uRj6$5uK=|DL##3MTaJ(vp|> zD!*WGkSiTZ44VtbBSt>lDDM}K-PTNHfCWK`Q@srWFD^Pli;_5TI9DtNcfUcZY#;{e zVdttmnf-M+xV;8FWVh~qt2jMO9r&2L#f5mZ*D0vd9PzfY3jb8?;Oe5A+4})slIUNP zR(&}pzx3&NN$~L!WJ~i0r9f}{GkYTYYs;rQ6s=qQdV*BDO~fC=&g+(apB!Ce;p(Hv zgs~5K@i32%wqch88NWN)x6k_Ldb|C)tY$KlYkpHHvZ@F!x%AUjXu*)#RTn`f#Y)$o zqxY-y-K+d={KHH5Dam&Y&E4c#5^sVeu`RQX8yv%q@czKU#OrtczVZd9`O$qXvD@eR z9q)&D%x-dY=Z_pN^!8b&vnG-C!V6kIA~qT%%CKKH;-zStH^q7$dmpC73#_|(t#;R1 zN>#UTr6O-qOSY?qRkFZyD;qzel#=-l{K91YY-633=7OF7ia1p5fLBa!@)Mdygxad3 zC%a^!6F)J`dF-P!e(f*-+VUmV5QzVFS!6M|Gijq9j%iE;GbBd(6^l%a2wg!CAEzoX zc*yJL$HR@YY=b;l^%dpw_?ZY+z*1e-!nykG+LbnqQ=R^c!}!qhtd9T{eF0|PpE91t z=9b%kHEz3;I^#$pMmWVC|EjM(kq+jd$pPF^e4ZqVuTCG(M1*GT$Vl*uhI8;s@ zZwgtASX&=2mpO0bZ_kcL=(U|<+6<2$ zu_Ghih6KFZ;5p#Sz1F}7{wrTs3#+TN1x3_(3%miTl@?+^gwzR*`8{{5Ql@Zz;-mM= zCBbvC>q7wPE6+oDv@-|i#_W0m*+H9nQlPQu3oW`8jbf=g+9*0jc;Vxx;o~-I4f0Mc zoEG2a;<|@4MXz zBcqcFm9TG33<`1HA1E>02t_fUxTdCs<=kmpf_9SUhZE9uU!Ik}7oXi%jT||N-*?8J zuKK<@eJ<=&jj0xZFvyH_sRBrKsB3WoNfX83G}nfp&ew(o5=WDVSAJ z%;w!C@VZ?ci@d7V&DRBq|Mv2vi7j(=THkGb#5ftl|Fgnv|0Zh*%&gvwpI{4ARe2Ye zq7Ed_XUJoYq)%beq@GaeGL@CV-0axhifxx?1r0)~{Lxyo__?-rIl{&n3r{%(GofX`6%FG&JVtU`2!h|GX5{yX_ zA&yzXBDa3omXjclB|+D#%B`<%&D0LKKx`Xx8BzgB4Pa@Xu{a?Piezjf1u5K! zMJei{aCD0z1^r+P50%y}7 zBlqRNUDMpgZ<<@@MZa(23mpnnAPliDxrqY7ScNf3(V|oeU6tm#ru3%GnGOf_kVsl` zpvdfa8=N;LkyVH!1;4BP!&9aKJ4ia$gSVee`k{h%$P5Py;pv&p3+TCOh(-ZYIC=&h z!1F*X{z}zy}rqbZPd7<2L;x>Z3TfQO` zcpc<(O?D)Aa;Nl(KM?iC8^`aT1#g-m4{Y3O11cTK*?M1R93w}Px0eRg*aNA4<(?q^ za!-9~+Dsx%a0*)~!z7g}9uW+BZPH#TzcVJg5u9{2hd~A;IunFL-oz zHADvN4l%N~1ZK|6X83u(FIKh@{^lORM5$VoqAg8micsvs3REN(3&ukAQzTIsMQFsJ zm!18sTvZoe_yjfUTW$0(;e|d`f zSrZ`O?o7s*PA>M40vhUhnelzOpSChQw@-4XJ(YO1xWn#Y4MAFn~#My@BASAn9ixc2z4Ul~MRM zGYI(gO)(Lm^EF?MTqH4X%Fj-qoK}W=vOUT;Ba2a1p~~RK)uGgnVQCt@`noJ%8eN7@ zUZHCCWVC*#Tnb;2#t6q!`JU+)|4XxyaKdOn;)}+$7M_8_LVwvJu#vmyz^F`cR}We7 zzNYM#%0m7Em$cW!aH;!0H^4nW8Ih?GsE8PIf5fVcXv&4#MURvvzg}(R>g5onc^9Ya zv;RB*h0Nov`?j+8(O=$Dvv9EB2r}IdY$^>r(hMnsE2)$Jq1u1a)XP$0=!1};gBT%+ z$nkzzu0aoryN^2=Qmx<^NaGeDe)Dhe&>#b;Y%3qqYUwR`6kHtOuZQVfSHCFq0G3b& zjwi-npXL(kh%?5>T*^d*mjlY*R6G(sXP?V3P*kBD28S6EQs-sod3?dtk4@?3?y^AW zuU>iDhVs0!xhBNrdDEfL<*6uR!~Z zsDp%h_#E#GXi|u|jm4(brgLK<34@65EGP5$dMvdwVn8Jk4~VK$CoCfjeBM3LSrFm% zMzp1R=3k8qE$Z*sWXI1bg@#?HTC=%Dd|dK6y}*&nO~R?NJtslpR~zz8t0mJ z*hCGBkT_rC#CCr>J*}HUVKvOmV)+}b;ZHQqt^JX7o-GnII{&4>V5~AiIh`pU0@`mv2H)Mx0dlRzwzEks2ErH|QkwhF!E z{+)`kfyu?X-?_1^&WzQ}@X%2z6)c2(P8*b&C559NYMU$bJ0+%KY; zh7R=6?}(}jCew>2f7NS~)R_w^qq+Jjl(TA85plrcW93Qta=7k6yK~6vH$$`99MXC3 zZ2GeMDfy;DDEf>23CGek$s-hjt?VeD(!8Xtr~L%S{PKfr)1pdz3D?8c$pc8Gmp{s9 zSR|&-il=KwJ*8tu52x0RpfeYu0JT%`oLkL=PFSu$SwWL!r8&yj#<*9yn0VACM&r*V z-NpPpJ50VqWw@H^L%4dc{K5E5p{myfM+>)si?_S_I;-KV%Vpe(MU0l8DNliAPdbMG z03?KsVEiw+2N7x2)JS8tuJ8!P#bitp6=}BaMSIB#GM|SZ$odQx;6Y&xWN8&Dy{3t$ z6}fcx3Sk}sZ*mwWEv)HJ^j^jTqKxj@i$&rWbCtM(U246Lw9sDIpy-bWe+0o@n@Y$A z)uI1k>n)?&dcw9}3KS^r4uN9Dt+=E}p*Tf~6?caM#R)D&TU>(_cXzj?KZ6Z;~EZP$lTI`ns&o+#*DZx)^pR;VWiN{cy5`u@{uJZKcKAHM`0S|Fo2Ah zgQ=W#bM+S(`{2TUuq0(qwU&{PfA#xXtxR9(J=_q;`*!S!^%ona$Rfz&9s+^1jr|w~5aUlcLI3p`>FX2Jn9ZDcrRk0A3BA!7nKK?thVqec6+P@G%z?3C@B4>6 zv|pcHH~1d7GZayH*gYUX1{>HtYE?q##sGzLpMBw`V^{UZ)trV8hS#lCMr66)1|Bq} zNfVDgHbgqbr$`e-osv{nt_SAdLT?-|UR100q3bkOr#*MaR_l>RbBIedza63`qPKSj z`a`7LjjY>^dPN@__*b)VL`cf>l14X55U4`G5QzEBO1`(JSpV@wBhuu$gGz8|H2vIW zTK{?jJWax7ULVIp-Gkvo9_x-oFC(mB7WFfg0Hp1UAPc^GLfq&=r$EC@LGRl_DO7(C z*Wft2Vf=K&Ecw+(BuC8HLIyh$EcqKD5P(&93)_A$|IGI0Cq%MoL*Asalh}5MMX~vd z*L3=qe0;?V!y4>cr zhlkJdDO~+pM1&4hV}H!ET%));@7mDQY%5x$6xw2m7m8?3vqy^WtW<#vIjbg1CtRwx zw{9Na?NVW6d_u--e;`EZswo?>8{~I`6t>nTDsXBm>A4UjriB55t?a{Fv5U>3QYBL} zRZh)4T-8Jx*r`TZC?Dhi;Uv@ZmFH16?la~Mgp8O-E84&I6ge9RWRGzPX7i=LU?>P9 z8%L`-BSS_GgOBCscYka!sQ|^CB?B|+V+pT#6wnEfX%Afk*WR+zZ*fQz23S@Vq;8lWLjT#=@|(B- zxhdQ-C6qF8VIHH{`T&bdo>$Z=J2MfZu%`wm985Ufs7KF}jkgW$!8 zc9R`mOL^q*!!+6mi zIJHwwufEL?Oz3L9l6PhtW$ZK1dmwzeNbe~StvNm@Al!bZtULx0YHzR)HSNt!<&Mw( z$S0%xWr@cc7weuY^w8%`6yvBF8Do&C#gg*DHIllC|tsUEQaqB zihG?tfjd;N@D%FL!;ja|b)<&PNxsS$k9*3x#P=H}Rqf=uXpGpgKR)sE)?S{L`93gx zOt##Ephm@=93SkF@hA?Y4>eeZzl$b7u|g(LC%T&&?fa$B44sIt3)%I&ew+Op`hIdG z#w*bGBf*GkTwL4)HMxX?*B`(!X&8^z#d6}Hwwb&W`fE%1S47;vGD5Wc=m*YDoxJki zo`=Bvk>TiQ|2IfscZ2WpH?Xuc$R3`NXVWCmc|Fl*^N=lcbeMxxbt6?)AFx}zgx?*B z?}KXz?Z~LiKdJz|aZTT?T~Z`pcLSe!66LXIQ-g)nL@sWo^(+a@zGa6@>fYRa4?QlJ z5T?&OlNkLr&l755jZBNoKE}FGd%vD%tk0lQ0>ilD)_EgIMpw~d^>$G)kW0h0!7_LC z2=jkX%V69x-MOJyzgIznq7A~kMPXZj^f$C%e%s-?7Re~orbcDBd?nx9 z86WSNn2Mg^&Mg0c#zj)B%ua;cvcjZKi;{k~tYh81pMUg|<=(I`C)rSniuUe|(zpJ! z#y&rOLzY`#+>vr`^7Rekywibamt67>)hoZ)h)i_A95d1`nj#rWB$m4YNU)&Pi@wbdDfF9mLsBSa! zh_+5OsAT-LSh)Fzf5?DjJS(c~I)IgxMM;NE>h$-*;Uj^gHeO#g|6T)^L4~si&){Y; zWxxDeSyD>l58qfQvxfgG^JpGOS(Y4CP4|%M1LkW>9+3a#RN69J9;sCpfl$j|K-KYG z{j2y0rio+4lQ)Jk`JdfFljif^9cQz7>cT!Y(76(+Q5dScv;%f^3ZpIWqpOa85B?VZ zB+O4hFfIDJ;39e(Nkus!$K&{{)YBsI?)k=N1m7c@vnguIZJu{FK4(Kkm3ln{jqpok zS~8Q?f{OEw+^;e28_mkk-YC3)mk@?B++Pact{<9xMJ1AYr!_5N6phH<^85mZ$+##| zQW|&4bG1K7qDe$dUnk=BeB+v2>Q~+O^4k=s6{t+f;@BpAD;ZZAa*}yPn*QOs47~AW z|9vo`c?t=zU^CSWr*ZlCA=V`7r5Sy9CB*x;lZVZnejUX2Ow-w9fKM zM}CoL!eL^^)t%IF#=Nmlu&|CD{UIM z5yAZ9XZS2BFHa)tbw}fE>RAZY%I&t{MLa6??xp1&{@ii!tuRE?-5;=ij|O}g!Zs;J z7HBgiXf`2psUgpuBzrIZLz*JCV%$ZEZLY7cFJ4gvs8Z~ToG)32{vlB|HOn(AVyN)9 zT21!#_k=6l9&u*SoH!!4+CAbp{MA=YDtt;nW`5o+H^3N)oHKyKN1)DdN1d_L+-?e& zNM6r#^ju2@3pT&Xo(54Dqo!SZ^D+{+dt7}9*&no}9P&oaVMOCIeGA?nEEN^g?QUQj zKUY%6;giYw2j12xyzEl_H)u7~qBt|MBlTHDi=v|v4bBO<5PW_ccI8I=v#@ynt<{@7 zdI~uJ9pW~vk(b(3((exnw81$76ulUjIXrcY_J94=lxqL>=BT|@tZVH)d?@G!P$$+| zQvE%pV_>s#7{HP2QJu{AMVFub{aR;bQM%a9Lf}G#8N_b|axwZ>T=-iea%Ag_9EZA^ z>>XdEcj@Gb0r1J2en!-z&%)U~I=eqVOU4ggQz-Lw83l!MIx)fE7;%o{c-wE2*yY>3TIIZl*Zdp!#U5LI1bw+?d!w!hJEtEnK+&qP;=lTb^*`gn-7mMn zo}yP~fqQoMCns`gwX6S~0AQnZc;`K~_Jx0b?uMZ@WNN^4{4Do+$D?dVe0Zc3`1=D= zSs31)mLKL}FRi5&{N3nMOiZ%-<-^lkXFD=J8V1)`AG-;gN)B6#NXQQ79x(sKb^W-A zoI{I-MWw{AhW0Bfm(HBqoQae`?d(=qWr(C}B76S?CywsDoGpt)^BHYOc0F?lfCZ{L zxs)J@4lkKZljnN>=LF-oR8SV3pj#kGk2C~t>HAW=Cbc*MYDuWed?I(2#BkFGu(*wbXgiZGSLNWXqlRS z<2;sJbm$`~+^4%h&R!CBiXLePGGCNt60?_&pe4qlBc=T*hu@nh@Ji(uq03xJ_LzrIA_dm)Pf|rXHBG~Wzn;VFy@+SD7b=hoa$9tR zHpAVvJT1bsIls@kSWbPtg?kPB82jaLy>b?$!Ais-Xvr;%rWycg;cGAA+8DCDul^y& z6iHGS*+e%}vesbi&+Y<^vCN7H%_iV+-ZvYs5V<5Ki>*(GHO=pD4sM%GVW_guU`nM; zXNq3B{sFA254tTmnd*EkTNtiBG4?PP^yYZ3 z*ViM(Wx=FuZS^_^dme6uV7LQ0H@6QP#-4najBGgopQ^P<0Ig^i1rc z7Y$dn9GM^8qD!K&Ef3V#2jk8h6S3U#s4?rvH>N%4tyS0UjzcO$libQ~1lIIkcjgkG zy&;Cer~G7y43V0#KV~E63;_B}mLIglere($G8ASqx@6zOr)=PrmMiVKOXxp~{boq{ zO6rNeuyud*SKXweUp0jj(FYC)_L$}>UrSh{=6{geNL~!{}^Hg8y zCEn%BhEo(Lvd#OlxB=`xCgDzMc;^+*_zt@PiW5a8M}1nSI%cd>wHKRem9v80YSM-O z{KNh0GNbn(A^Pi4Ncl*eiOGP8*{}?2G#U}s_1HSB9uaeU`t1Od1(&Wd9~3n&C1aRZ zm_M4I91rE-fEd1`{>ikUBu9f;orPplm#V!(#&$RnKVR)lKA$At!}Y{^xD2PNZC!w5 zKa-)j9F%zut^Uny6-4w#Ak^k2SX{S3{o-b5TZNB)1|`SsBSd>V))B!NbBXj9A6V^_ z@KTnHEiW(J2mR&TicO{EC6cby(dWgfEPsfAal%B{ky}45J2z(34w^coz<5m@oaS1? z;pnqkbz2GIZ`s$LbM~2bL^x}^H*^PW7Buz?*C)8sd@pa$k>XxdOCg$n%MjyiA zLYrHjSsSu)Btp4G3(iK4pK~W~7OrkugdQe^fUkQBKMmVTM2I6>-)rb5l!_;ogz-;e z(FcDblgd9*uXy^9?@TFc&{i_oVm$5X9b-;4=tw`d-cHl{49#+7GmZ>DXCBTHCkN5A z)Q@E4?l4Q*JF(G13@6O=TPxVN?mLZO1X;|?pM~TL$OAU?E5!g&^crb4`PeAk> z9?)ygs-^T-gxK9C;k7#%_C+`8vvwsMD@KfSaNKiz-4XkcU-ebE-XfJvNtXaMlv>0t z7x6fh1Z-r)H3f47i=DXNDGQ2;WyTOb#RI&;5|ZdK`4WBJ_-izzy2JJu>!ucxCgyrR z^H>TI><%^v+yF!+VE>Wc2qrX*#}^s}wz)!!YlrB0>-V9N`3Z=?nVI292ik}NLB}=| zEL{r995?n^j>4@qY0<{xsyE#m*`C#&D5!aZbq+Zm9)H`dbNd~RT)#doUF+uKZiI!l z0F#Tea(yRPLesV9N3Ake~?yF0dQoPAQFE3P3n3s{S->q1r?`(H8}bh&2i ziZ(@@fI%(nRpp}#!@)DB`{d1MXZ;ZNx-PT8FMPwSM8Z7~=U}_Hhtr8ggd$k+HzPgV zL2j8t!oy2E+ZQKbb71`uE4U5~4!2cDamW4p==@Tz^_dlyEdo4(CtwsTSpM45Enti$ zb5Sv$h1!!Q^7Gmp zG($T;$`5Wur|Vm}9JI1Q{Hqmx)2Q4H=p)6|bIf>7c zjSd`izM{!vuubf9R*aZc^S=avdHk*(c&(x&PFB41HfKrLsO5gL859Mnu0P&`D;M#j8h1B=ZJt*f_-{I}Yn!@@gCQlK@|x-ZQ8 zXAChh$2qmmLWVYJsBY)!3NiCrWX@keElw5LXytM@OLfJ)^p!(P*&o~fq@+6^V8PT? z?=-RV-t~~XsnC*(5z{jKGz|?P#LtJP1hKirEvu2HKs4Nc(~vn6*>%7bHc2WeY6!58 zkjG4#&?ZHm^hT6goot-Wv_U@ zH$I;K!@(TYpVmM#CMCrkSrbpG++(b~whh7i3unho36)pgQ^cE@;tvvK6E#TFMPJ&& z(Q${X7IR0yC@&XHu;As_Pk%w33($zleFgRS`NWZYyulPldgE)JU{ljj%EkMLco7%kBX^*j|SZg+TmtKCG zRR37jj|Gh0gGD9CKM|sb_*APkS7;YU8Rhod{f31PNWPLl2R{-M60;`$Hp%~?pQHNE zB@MZZPY4S+pB(wk6mqsy@b2%rm`ebW*ttMQtbjp$4g%oH$p(f~|Bv|-5hHg_7z1X{ zhm#cg<%^tuAW1u8RX-}wO*ZBm!;IJ0*|=%MwjNBkb;lc0q9np5;y$(@1_|bnKGkbc zXapV^x@!3J6;ip2uD@Z0Dh^SKmGNuFC91?2#^fVeF>-K*0qCs|(r+F}QB%DmtTkq+^cT|IdIQA(Ay?m&L-E17&*PY#qtE?ceN1k_qOtauh6T|k->aY6+D?;BqtCMvfP#WW=k1N_Yi*uR&nmBX_l^b& z)6Wdsg0FoV<1dfxv6GXFfpcjqquXt-^(507N@3VbnWTWuNBbAOMu84*bn*YV^)mqF z(rY8Y2X51Lx~Cv1->F*C9D7bqo31R~+e;LSG0#Dt=p){&mpmgpq-$#6nRb1&Y`rs{2a@Y4o_N(}b0N5>fp3cG&G;ju(dx}m3Pq^#!QAoM zm^agp|5}=p@XRO%V;Aiw6vZUT{p?H03cn08Ec=@`D`hK}V|IC`b8jo{FP!&sl=O^4psIMyuLX8C!{<$$Kpr9KPJ%eteMDi z(K#q>BZn&Y49!&^66DB;NU`M&CVBiV)z{+vPifQ%#_2x2lq6%TRIFh>t!XRw(XxnY zP2o7pQhE%L^F{?CtKxw#T!0-Zrmo(%tjkO?EZXq=`O?xJhcWei25FxAk^ct_Rhh9! zLnPvF7JUSX=*I75>WQxwQb0b?!-$;k6s>9|o^J99qtJ(JCKi-&0p2aRV+KupzHVua zsYl?R8Pp2e>~x8kK*3~?wIwe^hfZFlJVwIV2M%NEJcW6d)xMhJ`c>e%pSL&?QQ1%4 z1P+lUH#)A!x(wh{*Xc1o25H@1Z;<_0{k-`R@?W$?;lKWSh2h~n9AE-K z_cAR@wX_Zg#Dz>Ktrd?WsQW~qr{~kLpdcLBAc+^Ot+w=fL=7F7%-VeK2+EpEV#JJt zBrZOb)SK}XPcXW=g!F7UzMQV&@OOC2`_YAp`WyqkKkviCYeW*QQ{!@F5Db(oVAd^A zD~od4ObhwQV4A}OLHW@=8Ba;**vJZ|DSyq zWA~^8R;dW5QVGF_TSICur-}!cI#khg*S{As%%OE|HlB-`y^2a&)#e0|#C1IJrK%rh zwU?$tC*S=D;n8aMS}iKx^o(|D~Gpy_B3|?U*9p zUsZLsp{1ghzq&Y&(eA;F)3l#e(F1oxA7WJV2ob%K7q2?ofMzx=n8s0Sa~5!Oiyw(B zk;}CYSxVK~dqJI*in6f`fm_9oweR`!M%x!qS)cB%eh=fm+qIb1blV*M8Y;UL71L~| zEhed+Tks{+!Ly0SwJO)qQ4nVBE`pbing~bg#hdP*8)A`; zYNDQhzvTu7Ed|fpcK_B|Cn^uD=(pZu`tGNKnqJ^dyst$cf`X(mU0 zJ4+4eU;1Wy#@W<)%`L8oh}o^W-SmlEDDNi@ZYFp;g@1U148i})->dcko&1-X&}VZ} z?3=kMX5*_E{XPL&Buq)@S)yn7#2MgZjGYQDa{cL#ZpHF54t3ds$| z@3L-|(~89MiiyK)c0(J&N%)BFCc*+ApAKpp1^%4NJ;q08AB9BC(Q^f{t?3jR+*w%{ z*BI~qf7rbifHt*4ePo{555ij$RfG}PVuZMHSPmCDVEFLq)*@TH=Ny6Em>=bnwRnqo zP7{?bcpF90<*B#rmehZAuTx7WE4+y{m#@=vJL%PDPYr?AlKap+z#*MLNm7LgC8%e=TZV7i}NnZ@Nh zRA*`xrTXKePsA-`&9P>fgvbTOht5hftIgF$Airhc$9FGY_~`8)Cn5dShsQ+S1UcJWa0_wE5b$Kgc`mi;jb(o_zb} zuf&rj;BXdFUfbp`&ANJeLZu`<(I)qUjWv-@{__W3(ta=!MEt5ADGVEjL4QPvuYb0L zNIxnT!X=btIy=mPKa?Wh&*l!x>6Jpw^4+nG-Vr%}xSr|lH57qI4xtOB0NkkozN4$S z&-xX5XhTaJ$+rdBnNY{U0i7ytL%Lsl?D=1tux*TM`&}9A`T!V%lKplgnIAO5u+R2w znIeIlqDT&KfV{7&n8k2_%Ki2!P3~_N2@b3#C~I699*J*gG{lvmxDU};jNm@&?%4`LAd~A%leC|B1^7BR1gs-hTX)LB2#D~RfAD$exim1(*w^_n|n>bR$f97W*`rNkD`I0iTd->h|r- zcd~x%mfbzJ9PL(o6dVRf{vSiLzt`MRuUzNJ-iiL~9mg`Ho#%lg1xo23?xUujy4KuV z{#7=brBR7K}wEXQ6&pX-_O@&bjq;#-aPqXlZ(cBy+OppQ~wc|J#Hvg?P$EQTrz zb9^J|_DLU?vBdvR@_(i6Q7WCk+k1|t^P<;%X~{<{Gs>{`FJJFgg9Sn`Kk{q~pJwTc zRnte`-to#6wEG=pYw%*WE&*n;|W_ zcRJ04dh4(kq7j0!hm0E~FwT#KS^su{x8TVgsmFKSd*Pt6!R%rRG6^pAirjqz7$1-+ z(`wnB+@r5c%6G|hh7YOi2+pebe8XWSfslh8M*wkpJPWhtB)Nq1mq(A+i8t|TO{~Yf zjNG^39!+j|?PKg;p?KM<^lf+?nL^UZT7x9~Icb1SdeRD(k;*Td9mDLYf4!vb$~pRM z47z%f`q8?y#FY}opoWyjhS4;8I#5P!flgxwAXPg(Q?LHS2LQAQg%w;%Ijfwr2@$-h$NB^>2+{UNUL@=l&pl zS?IXqx%UewYiUc4i$uyj(YdzQQeCK1V`R>iHnS@kDcaN+Zz!%k_+?cvU`LZepO_t- zT`W{sc9zy(K_|5})w3sZ)?{D+dWmS&934|R_))Dyy|mmNdnPQ6tI_38pl~_o&Sr9X z^-e9-+T3j(^6Na7-nD&+<6d-rz|i;6^JA_CU!W=dSJH4!-I30z%_wiQ+ZaJ{uQ8Y-Z9|^&=t9p(U>B6=zu^sotI1O!% zdlO0u*Sr9^V=g4sKR=xXmwy}s`*j^QL4K_sHw(3!pbIhf{=XO^ zo5vgU00vWHj<02)8i#gY-+f+{$|`N4(>#}54k32psh_KFTD0~MNLN>TM(>j*XmR50 z)6`Bm=6K&okzl5dxjVJDWyL?kE`4%b`iX^1%d?MzDhq9WDQHMRHi4I&FdX4N@tVUP zo$ErM9EC)Fp^9WR&sDFqq|YHH!_V@6&prQecmq?-4C)8RV}OV6^vfHEej72XR2~i- z)o`QTq(D4dVKMULF~96mKw6qlLrDf zSKOb&NVA`zm0fuW;W7YT&GguQN@4~a{8~$mebI+WxxHUF0K3P5El0<7SB%EhZ-QQBhsj(!6{Ubp9rvqOl|$f1e_BoDd)9jqZIz;@5Nc#+5oaS(QL!_69wz$ED)B zzmodK(fD|-b_?Kp9t5!S1Pi-P|ACH%@vw}(&!#`^=}wyC^y6*4AQt!5+YEsdr$CEl z=}u`(8%*el3g~|SS=ONQu{vyA>+$mKxALX&M_;JNf4h#I5`(kThT6xp?`yB`CWM12-lH(Q*>|d1 z>qBdA$LT+#X-DB!cK>ta(wS%s)L-AYs1H5?Eq!2?ge>d3@vxUe0`0<`LAs8r6UV`8 zB}Ydk9fbAt;-dRGyXhqWAwowLL9LeOYfjt#m!2g5B2*xB!{AimAT_Z#7Fx!V59o<7IJN3l!Y%2|^HkUcf(lnpc@7OwUeD?g1sTr1d8i3JaYd0Zle*{8RqjWi zip%y;)3IW=(ff6?H6YH)EvHdf9eX1CAO6Nt1j5`*=04~=PCaQGxQCt=} zF+@h{;h6+~6M`Ijm#M5it#jltzbJ3Ez%7-vLeCJN9c5qN--^slHxOUwgA!YujX^`` zjEGc4`iy8Gnd%FD@z-RP(Gi&AX=hY{N1uB}Voudbya%LILo(}o`L$P@KRp6gp?*MFQ?F3A_qh2ka_wE_= zdOb7XGtMu0p$h*U58W!+hu}`<5~P=f=^U$@wcOY=kI{#LCt^*HCK3C2#GAmnyVlLf?4 zDN>)+bhoEMZMy6?b|=f7j)_F=YN(HRL32Y%Y01 z_hvW{s2zZinwBm0BIT$$kx3gmbzYc2BWzYc=%W{bc};)mo2p*> znld{*j1N&&2IPj!Y|ER)-$@)P#SpsGSK+CCYwJU}y8a~(kjT^OhqXr%|LD()eN%Ox zQJ-WtR2L_2RF*uD%p%>l6~$&a{uVV4nd`@*dD5tb?w2O31vy9=V*&@q( z8Th!VXW&s{U*KQ3-st=X1c@fK==O0(&?nil@^Da+ElXQ9yqR22#T2Z5yAw$LJh;n> z<+gVFO(!cE27t_eR2a$;i)^w}Hv>y~bI?qiZPK^?dy8R!545mlGvpHL2%QzS$ySM} zq>WF~b|7iKV7OwBF3naG1y4X(YCxAhJY)e?E&oDRIU@j#gzvDHIuky9zMJ=>d;OOj zz)2M20iW_{#W|p?v(XgpIs01r9&(DWepb1L{S~S;pMynXSCx^f%*^F5Wl5rYw4G9p z9Lbx(101Q`uz%(Te1!wLwMX9ue+o|(dI2f>5rU}8LsvFt$z zucGjzic56Q)&7>PBzoVp6q305z8vQtRuWFR2`wxKkpiR;QRm7U%xqnf3g`!HF47?} zoISW?vAhkg%r@uL$Xp%9K@56RI)AX2YTz=5$&k=_=OU5aIy?A7jg#MD%pXq|BMK!5 zneI!yG<%=?nF%h6L|uZcJkpnoEky`n79=dOH0&UCk5q^VKtF(HwnZ|DrP^9@xojvd zj)pER7G=SYk0m@B1YE{`Dpj%6nYf~1B?bqPSmm~7Ad@eC_(a3OEW>^i#(Qj?kcdde zUN3=;F^_j5^nj~AU74R&#>Hh7leO_bRtC|+Ov~jOe|7%ejr5X8W&jBiS$uQr^KxJ# z{UkKFtT9mtRqn2;ZdDibvolIEo%yf6^`VuO%4GG!C%s7nPQKo0m^M6VlwPK!C( zdx-JhfoW`{N^AA@|86O8y~C>dpPfLh{$EUavIH;BM`Nojt3xi8I#<%33-i4&+)xY0 zbIIC9cjF)!&+`9o72t>U#EOQb-o8NzKQabxGXWrF*v&@+BgJg;`(*5>xva(3XC;gC zGXb)4u{_saU?M;K+NuZ=3>@i*cs-g|I?5Yc!Lx+S2{e4Rcat zg-u_dF1947Y1?9DOAN6Kz!$gESKT%mk6&wBL)%7u ziZ!KRh6F$~P_$3bMXp=i-n3=NMXRWc06#-LQy<{>gOdbi1$}f|7^H#5_kqd1-*9liJP z&&TqkiNi#yvd-pScJ_l#bEtVoKn)vTI~_VwkH=uik9wBCC&&>DjuWr%LIwbIj@>w~ zyZP&eIb8?b2q>t8NTcb%&Igyf|84XN-RixBstf)4+`Ct-QBulGZ5YNb9IVD*YF7Te z5~x?K!AQ}mFus33HcVXAz`wB1e)gSu(118{@%U}7k~JSgfNnPRSC$lylYcX3Bp^%b z9~$@LdwaVJcRYg)^9sz%Q86Vi9v!gocfAqCYS#CWoi4)7+cE5OCu;exI9ZLNhYKTi zvK1tO{N;HzpNW7z(#R%TyoR230$u-kgv>jN4P6DQFYN#6&m5r==@_lic9fees7pmG zD&D}`9f}x?q4boy(^;X^a~RwjVH?rq%(t4x>L7WF{XoYUqnO$38za_G4=4A{Q}ZjR z)@j%#qvkZZ+^Ev_qt$xzrl%p9Z(&6#aKnr^J0AIPD=7_H_-^2Wom6D^5o$Sj9r8nE%MVouyL_LDbh5VJ|pDj{(eL$JuaOei*gY52mzWpE{9V42tC-vr=v7b zL13dY-W2HuDB}1}J6&CIY3z6(kbU-eefcpDyOXV8esRlBPdg3vgU6lD+cMtM6LHj{ zK~22Lq(Md$Nj}kNN_2tLw_qj87bQ!GK%hNRlFt}8tiU<&A4uHPWt0!Z47FcIDVuK# zhh2j~18X-m7kJAkPi6DaN8iC~VD03Z>nI=4Ry;hQL;M(WP9Z%03SL~W#KFX3=8kRq zNsb49$vNkHPgMyUh^DZ_*v}wZCv~aYu`o0=gtnjip6fE37uqie8w);;Ir?2M=H%o& zMaGIrG{-YzrDSD|&-dHi-)~3s*-{Q3hBtG_TTA9&_=0+_k5x2nXFEv&;Md0!cjdwd zyIhakU;QKsdTp$UiYqDM{WZlNn9IL@wP0jxmow*Uup6>~44C~cB7MUES(bmQ5$c;- zpG{2rTGf<>D7LG$`Ke<~mpLz3XG_qfG+9X^!Ls21N@@!46i@m9ILEH7*XW=Le%Zz% zVWN7hXgXd=k#Aa5RHs~SxI_xU<%+NTP_9|7dIdax+{Ag^aRm5!zzs#p_2BcfddN~g z$+Gsje4nWRqlp7QQS9adzXT~(-sn=HcCnxMC)frF1f1$S_p{M3YDZtGxG(xrn=L)6 zpZqSO!=PeLqe!D%n*&5Wgp&mn72|w{XLDfJovB8&hy4`IYT_o2WDg(Q?x{YtGPTbu zp0m+q-qmDHtPGX$J^%On(mumjYMk^hE+-|(5#a1UCN-n-b2K%a`$a9B1b?Qzb9w{x zqWyX~n1R>XX-J*k1+tXugFSVdK5z=}DgOPRGNa^AKFnNw7*GzGP;6=+ z&j%XA1f%U}Q0yihgnuaAZ>Jio&JvdLu}cW-ZLA(l0&tOmk~|L7g4QYvQ8jscgzIoq+(CNMCd(bmn$Slhpq2nQf5juKuq`y7^wV8@Dg6%({0 zjBZs_H1^>~RKf>7yVG~nW#>4_56ld?-Sf3R5W3`%U4=)eo~%o=`jt{0UE1Rb6Q{2N zzqzlQr=v}P8ve5L?+x1S4!NgF1 zVydmHhMjVG;E$S4Qb?Ry5!Xju+Y!eFOCH1FeU|#hvjuk#gFBt&>DMHWl@}XJ+n)iZ zB7!l|gh@5!|6b*b!vUcl9fPhNah!y*9;9XDs4EiUtm$cKwv4~6sg2Gu5> z%V7i&3o^{o$#`gaV<}oV=j%Yx+x%|O^I}EqyWHAhUpJ3eL&Xt=L)Uv z(z=h`VKICvZ3PR8_|b70)EAk4R)O^3F#WlVPO59cMa!SnZvWN^a<$u1z&Qadx_y(V z+XSlI)*20cu8!^hqvSZzqw@j5IFL@F+~@v)<9sd=G}`xHFKzE;NY>kohVnZvxkcu# zP@>!8P}V&jTV>s`R$Hz@&z0H|j-UH+^jkJ^BMon>HCSFyj6eHOp~%|IUaiK8wQbMg z_1u!$zo%Bzk!k-x#-nmNCYO;0;1Lo-k&j^DV* zHD9-(H1P^6EGEh~KAs6~-Z#6dR353w2@FKBIFhq7uT1b{+BH3z3prZT-)q}84AL>3T+Aqo5jA-ofv-dXs{q*Om8%5q9|H~JXuwcao z-ld4`uSsP(E!XXq3*MFIfPMKS%k<#F&i!XoAjFqV;lAyx<+!YNj(X0Z)xprz)Knhr zkeB$Xw^p#!hahXi1QU-`V*_>W=EjvFdCcHr*3e1cy9eZ|4g;>JvT|GNo#(wqX*J|c zUJkYacE(`jZA8pX&mQC=it9+SoiSNXJLv8i+j*pH^p3`jA znQ4O|LO8c{$b$Qt;t~{Ce>uD+ zd%<`k?rl&Rz>Ts*iumO*poWomQNBaF*$Va$am#B8TwPsFx?0^=8=5g;hLf)j?`TtS z@g*;up2kS6sHl}I>c7b|f8|Kl9%9!Q6BYFXY0kxqkCo`o2Grk?4bf&P8!#9%q^C zjt_<4EG675=O!R*C3>Fi#NdaPf~}q|#V4)8f5?_`l%!N-%qPpO`;f-F+sQlk zw{8E}mxA!E^=ASQ{3{GNglOKlKja5o8Oj<69Gz-wgX;bpX* zb1AUuweJf7N55LGEk75y%+>MbgQm0z&L?KC<1HToxucYlQDhje9FJgNOGu0%)0Tl5<#6@C(XJ=B zpQSduWt{Gb6U8kfPi9q~iAwFUaVF6DI5t1_T_oAv4#5J!N<#KI=+eU{Gl4jwN;A{4 zX}9d@&4jL$t&%PUJol4U>Q$~(7^AH6jk!fajo)HmYnqMi>w>dgKZ1f&KQpS#8d!J@m((|vYs_NAI2qR8d~3yGxkHS$6xOk$yn z6zjd3uCe6KD$t_amQiKS9t8EE3mdv2yeD;cgRz4wp$DsL;4#hURA zI3hxRZc`-pQf(^oi`(MeI5&aM{!f34ASVwt?SBxntaTwSKb{WcY~kg7Uw-lkzn%uW z{*bDC!jyL%vt;3m*b^Bvb_r@_-;Qt11s*V~N zxdvQ6l2;Fe;UwRmtW`ffbv_UI-Q3ko3mvW*Ty*$N0B^sy8y!yVS?cN85D;;qq0w7V z-*MF^9Tu7Dl?JhjDjowbR`#{Wwyuw|Vn!WLrN2JY{3$rX@oXB>re!|4dhPYb5&bO& zG6y6ggie=xj$h!s%t!Oxj#PLFuT|GfvnKe&{YHZfza^#Ps>sk-;h^@gIPW5G&+NRC z(vzP(cawouuKRe7eNL_bd2QyNjY}49QJB(e?ph)^k8AQ!*WY*CY^^a-!xkR_PmP%j zRa`e2e{i^PFXkOv%Jwp5sZ=;mtd7`PvQ$FpWBM?*GKxL=s_&^Nm!A)|Az3g-y`PDs z=@J>CI2(H-&5t5C{eY12BUiAOyPl|LTiC(8dUWnTX>ox~#i>Jpk%Gf$Sa4%`1fvmkKFiOt_a| zW?`Rm2Bm`8HBQC=UX{`q5{z@>IL@N>mX`I^n=s2K0_*DoefblwS{bp}r5qaC7(rw} z6b4!t1FZsR<tNNc|n~)VK4HX9Ts{CP}Q5z$` zU>w_8)ZJ2ZoPMf&)79GA$ryhlz?e2h5}Dafjxh#GX#|0S(Q4Lys_)@ML_&xfp!K>c z?}U31a0NJHjB48>w>WL}36z5XAglWRIWMwM4g#m8HWq7&eT*?ixZ)(tIc-aoADOr4 zmT23egjX&F3}i7@?fB2UK$cf21(DW;F+1HI^0%Cxe?{2Ar03s_i zN8*f#v#>IRRW4V8w)T0k#-{lnV*qVA1NnjVoB`A_FL_H_Yh9x31_1zzfpJt{;m@$j zZV=3Cu8p(79XEf9<`>g={Z z80oC5erYjCU^S^a{m* z!Pwz3*j4EnID@ghd@)GOU)nuy)f=k(zSHuzRQW5;S^dHJ3+8v`3gv)|vDqB?8NiJ( zcD`5+7A{!Wy<*wA_cF$4OK@!9F57V^#aHOP&f^>l57zo8s?f z0QIduJ%4@p9_m`${=wG9hECTH0>X*pC)*EH(Aw14-Mx1CdlA~tDfx|!jSK+l>+9d% zP+v!`M+hj6KwD6nA<%?C5dzKNYYBw}Dn6mUzK&9^hC!1a7od><7re7T;FiWeXV6toE^KNzP4Rn}1-vUcrS34nwYAF4|y=Nn@*5ph2N zf`Cvg15+8mvNVLy$d?HD5+PRvv?dS{(?*+QJQ|hK`YQm~HRm(dhNCZHQhq3zPFMNh zo)^Fm0_2Njj8A0X*cL1)kS~;w%a<^nD?%w9^0hXxSS)G@@mI%whnsF%D_Q6rKh$22 z`AP+v$Z%}}XdOTW6}VnL3|M3k1Z4z%8NOeJF$y5Vl-8y`NzsT+e+2+5SN5=D^+RNR zs3z*nH(F~V!W4^ws3w`1 zudDhGw1LtFl|ZB52H=bUGN||p6pMTvP1p%9DR=k0HcJs!M3c`I$WQq z%CF)13MJPIX9J9e>j&_vb`>Z+Gtwr`IG0R(0;rY=I;Ii8*aoIv`Y;?TmbeB!Cu58V zr#_E<5fKa-0gsc6#@_f~FCuIMQ*?ai@Ccv4HoWE^)JtFMc4V~f8slm*Mhj!Y&dA(X zxXhphDw{jl;)&EXo-#xf%75H92yIEYzM*(B z^~T=y^CKHJ^q*3G0Ia`%t9pHRw-b*?ukow=6Nr!ScSiWiP(0?m@!jj^M>d3Kp`Mz* zHRMMfc}<`Vkv_TpNt5ukp{QfM@!jj^N2+I`o|3sHkbIPrM=8UjdbEsQz3BU(LW z9a?Ll0ZPPUZ=4TAww|63TtS+8!L4}W1}I6|Xkkt$KcJ1_hAgrZ@f*Txdrvo%P$>Vg-vA&Oqd9RwiB$TA z5Pt^zzAYL6k0&EH7y@Zys`@|XD;U6N!x`t4N;)?Hz!qF_T7F-cdCa4ZyulEWIfeab zV>kecMrBn$r{{0k63U-UByIrXq_q}w0{bBVS}87sphPSg>gP24E3UXg13)wyS))iY zQ+kPu+&wVGUC@ z+R_Ph)+I479Y;$disnQVt*IF1*Co+jlR(4@GmFD9k+}Fof^XlxU9VWN!j?iT4(}ha zKpE7eG?EF0i_fj#t#2sdQ~xK2&wL_-x4o`})k{2FcV!utWe_Mp8*pQY1ZV9Rc6X<$ zd+-J$!BN}-`Pg}QVcSH1dN{GWHc9$)?2Kf@hg`xyT0?XShf=P$vZ zzV%8twgo>>v!gJ^d3#-5T?%vft*zU2Z*Pw+I4#yn6Ns2r0VH=IxPx@61I>-AFu&t+ zEbe+en(9{|5pO|L<4Q0v7#)C&=7BOKIBW0y@P(jD zVnJIS&R@}vD=%4sYp+~|bC=D-yrwi(FKYwm41vL?k$G@2;ymijV5uXPj1qOF6^> ztsyysBRJ~g4i?lVv7)&Suj*{VqJ|V|q7D``q#+q*f-pD65COFv9Ub##m`52>Z#V-L zUxkIzu{xj(laEp+ChP0 z(O85>VotU5Q)M$C5_1rZMYvXqNh{Xwyz07zvy7ACdl>;(f6?lNP9)mlE6q5!ITzM( z@^fK#xTpWxMhjin=~`OW?2H3WpQl` zb8OkZsB`hcxr`I@L*1RfEV9rNqC;!LEXlbot85ZCV3@Eq z;}H$u=pe~#4G~eCD`LWOmLK{O>KOY6bE*zjZ*MPWjM4Dg_qR(KU1I!zMWZ&0#3SMI z+Kl~x5Q*A|#vBf%7?;uIhc@-pG1hNrW}5mG{FR@4Q@iCvmiU2Uf?G@qyQ=>q@^fCb zA7z*wi7x+tK6-H->+e5}{Ne1+Cws1HcWi4(pf$6kWVR)b*T2PK*@7!$m~F}BAARk` zb^ZPQ=2RWT-d=D9&?m22(JlpF5`^}{j@_|tPOIvH( zEz4eFjA51(%$7&&f2LW2!;+F45VIX?`HEDkuDV8kGCpIB(b~0ZEiSCqz|Em)`eSIw zeE^M9??Bz)M${e(Uv+~U(KvM@>T@4Jtu+&$W}tG;2h7M<%NS!y zYbbf#Q{S@OO zX{}|9vA|b+UULoJ^qO-qJeGka1v=a6XQzbMuIj+pL;+fBEbnT@;OI0Sd~`RnZNVhx z=W=q7(@!y-j@JslmUG73K=XMuHr~9t1%nw6mf%=e@5~y&1)WI@=Y41mEN_luC{xA* zFHSMr;!Fy0t}80D`l()`0Z0(LgaKR|GI3krlI{*n=8Iqq=%}v&5U%fc)}{~@97<`t zYT-QO%PzL+m3xF497$SmVV#L zU92B~v>V$av6vGC0qxv*kX5_@=PsR(NW`8Ufj#x?UX&^>J8yXxEXPSRr?nlxG|+ca z{>tjTkJZ++$D$EODMk7GFe6e(Bw8VaRUO?C^4UYs+Gpu>JEUc&n^J8dzps}8{U_#E z?@eReZjU;aqm-tx$vo5Aps67RDfw)GJUp635GdB#R0G?R>4uh?b^z0Ty}b( zv7flz?pV@MnrJi^Fl7iWDGQchvmLm>j1ONCYpbzg36V}YjqSkDbYCwR`cJH%o*uBx zn*lpj*X~%-(ZvDKxx)en}U=wU00uMM?OE@TU`!3mQB^| zE9=&cNn#Pl@t+4O2eE6g4T39lcjh6g$MtH%v3Fk#+O%Ow$3fWsb1%7$QuSig;@OAbh2h}lQD<>@h{)bDz1kY_YFbmFq!DmS1ki+ z!oi_&-2dBW5GaK!E?$j4di`2_XVWimV59^NDsjftEO^EpagP&N1u(UoOX}#joN42s zSQ^31T5oO5LJ$!u?lh*SUxG0j4GoKtPIf`?CqVGQAWAT#a7>FR#Tl#$5!Fgd(7KD3 zFr_pmr;B0I6%jh;)xi*u&6jata01#Gbagah@%&~y@yr2uo&p#vkrK!0N5u^%Ld6hj zEy3xECH2f#gt2@OCS4I>VZ8%GK&Gs)cie?Gghh=}ENhNq+rcbKfdM0w1ZQ*QCje~4 z3h;6PWiY^y!OFHqD5Wu$$%8=PV3=2z1`#1wb}=wM1#Jx4>TA(flR&}}CSOg z$?OOK0)|>RgoAq|J+&(WA%Li((AgfAf;&9y;OSjaXbo7lq3*?mK%@3lOaMSn^$QWN zMbyFW7YFD!+g^a+9Eq5NrCsv?0DA|<@S7)hK^p_xwrS1z^AQA8JC|_^Jjn1`+p>`< zj8Gye0KjyyjKPUaD8Jy;n2dpe*Un{} zQa?5vIE1lLK~L?BFsf$7u3Ak^Qk&;)z3EI4v#t* zJUB^PpV-A_{P`tomx8pxz~MGT2sfa_+E&F+IS8k{qVInB(7ut?43Q*^Lq8nfZpmW5oQLW9H8Y$hnSx7NXc zkSkPhXm|?75E$pwRF`C0DFT39r{K@r8C%$nB{`I8-$OD;13(8I1rSG^GuRe-T{@24`wk(O&*Sn7mqB|zwDPfNVGGhb3bXIF60MY#Gym zM(4bG1S(v!txG3R(1f9!i@Lfb{6NDJ9EONEAfz4&>2!WgrZF-SRrC2fI-#ZdIZ zC5Z)fHhg8EG@&jg!5L8Y4Vse@zA}&;RsAy|F-Jeu1h0I)T>yv}0&Kw%6&&e!1O!6G z573lOLg_Hct0oqKEhP#S4-KgVls2#gudcko2tjlCGq-`E2WHbp5iJ*RD?CC+ONBjh zSYkLZ=sGLQaT@~9N8tHbzPJspTfxrV2e5QOGlT0P5>4HDXwyfdK+nmh`51aO znN45niQ0~RYoL7Cb|d@c10Hrf8$l}B1f>Ef6(E&t!j5Mn_~ip0Y`c*u6~KulZr${y zo+x@YoopJ8^=#T~K6>%RQ5~pTgTSCJ9cKrp%P44|p)P@-x+dRHmq0-S2dB%ZOUGFd z7-*$#{piIPM|(DHKG`%J>)E{7^t87}i)H^-Ul}ySB+I)RoQ1(R&<24vXi8Y%j3Mu8 zG{hwHl|ixW-`dmO9_`tDa{i{xn@u|q&HDbWN^8`_W31?U;GCg88HZ9~)_i?34$c{h zu7{d=_5EAhf#{}_^JiP3h*i*prh1pQkB9ze)v^M}GcdkEOLGOo0pW>Jf#r)z z2F4&;!bQNDb$~3vRzWLtw${=9fy2n>3%GRcVkp;z_I)gz--JrJjF(Ekhxbk3_l6%QcD zzQpfnf;GdLX>-@u2ms&JgHO>9V>9l`{sx8HfzLKtXU0DLAWj1dEyA zMI7I#rw8Jhp`pWp3Z4k3!AL7F07zqOT3}>Sg0u!>6ea>0jqz!L!xIu@G<;8^R2D`G zFfUMho*W$9i6dJY2!NQLo<6Kp@C2)_x+<>>2Ey>zG=@edK}JCcKnMnq#>n_I4h>HL z(D2*}az)oj!C4Uad&a`OzzkvCZraoX@tLnYcGwHp6SgG)(mL=x7$Ovl1r&<8YHyZd zW&~I&6_77v!vv$i0~z1g7H4IT_Wb=!DC~p~K!d1P}M)m0S<`iW_Fw8v~^camKkZCUfY}@IzJGIg%978x}BWilaL!u|`({ zqqXMa(-Koz0cZ`*t4F(Ojj61___T!9n(Innq7rMG;^<}!bmDd3Ud9-sL{n{dDw$m4 zm&?W&#Ye`cF+Q0Ek%1I|6abOI_+%C%`(Y#d7qg*M%7&H598e>qd6j3VYVT|IXifbC`8`sn#9`aAHPTSkt%NPSS zci7!g+gelhe4`EVLdiq1>{Uk-EL=}9gksr4q2xgu;$_b_QOjD>++lY!20GC?aBpw8 zbSyySW)dp^j}YzjIVLfP}f#6B|I50nv{ud$nIyQ{;&69?dpp*;l^+zj70 zq%|9xs`?+L!T8bsXLwRVDa{ZB20lJEmvLhLMgsuCirkFAGsY-(cytPbBa<+*{s#b= zS^pCRK4SzU6U|kA&q?_kH*PinAf3p~z8@H^4J#J&C=_!rx|-X=0An;tr2-0tECQt% z5t(F7-Nyi+r)Sg2`C;b;wr$_+2ij;dEMIbwD}=LQv-UH`{{&hy5Sdgm7V@i%Q}NwE z-y8(S7z37fHL?{wyN4MFml*O@|D&~G+K^Eu)c?j)@HbcgR#E!qAP9^hV#SJwLdAtP z2BNyZ*pNZd^--v}P};CSDWi=3Sjaf>{iR+ofT7fd?vBZSUf}2VlF@=sO!LtH7!5ur zeobWsCZ;)z5!}n|rS{3sFDP}P8(>vd*yJ&v!^TENN{#bdhmw|9>T7K-U%rSjgic|) zScKLF^{FJzTiA}(^9h_WvKY9-j5}UYLo@Q8;5#s*%tP9EZy2ABu*nIHmIVR6{hhzQAs8hrUvHzH6Pk+_W)_6%bzQwGQwt@ML9vJEEW_w)dp zH#4pILuF6Aftv~|mokVaQusgbx*D8wD5X%z7XbnysRVkieKm|Wu%y6baTct{(f?8UnZ4iikTLpCi6F|Z52ZCOUa|l{*m0Z8n5~s%PbaAKlsX@bH--;PaZ^s zRDBv>{?v`o#z0!!fK?=ed7`QXhLh|yrf?rPLDQ4a-ZCZ~_5OEV&A~VVrQjAyAR)wB9x%9o6){8Owk_xAR({{DUBn%M*W2Wo}G6?h&a~UVTz2W+8 z5U3|hmCCY6G^#eN?Bkag2$h;QS>Z;6!$9r4^Ln~1b|AV(vLxg zPv$(n^@*JX9)LrGk%DwMY9azPj(}wWAO*n)AP)~dwiEfX0?2T`QaO&lbLZx&{QSoi zpL1fGXR-t2`vCxg(HcT9*n+_p1i=AQ9npKPk8ExL#59zayjY>*_$#XNyT1CdGKTv~ z^MRpBno0jRhQK+m_TT`Nx)9D!<@)Kh|1vPZ>TiU8b-g zM)+a?1TzpUJVRbrQ}>l79Gog6&;+9m_q~vR%uI~|fMUh}nbDdEj87IyMk_U&bix22 z+&TiuS#`5|xE&)?D8bc+1ZUh3{TN|jKPm&7F;HJ0*oLnmJC()t<(#`0ToFfLU^JNU z5aR{Jc_FkPqrnjva7E>uyLT#!>o7@gNJa(%-oe2n5$SODfrkZ?s{W_C@lo-E|Eclbmf7#SIHacm{8-d;X$N#^_MO~GLgW<_z*@X9#ld~xqnRDkV;(eP@~_&)y?yh_W~lA znsnq(AL(Mv4K55ZOlNFdw{9P$Qh@@~*4RMdwJq<$eKXgd$UbNJ5B5s7pWlAt!_|xCx7{l&8D#Qh`P@sxES-#o%O)ik=PhfeL@c6=Qr5nK z!>|3=x9_=c=Gs&8*RPlTTeqrDU%&S1rrP+uAPRDxk(`Y);o=pqY?e{N4i8~y&L+Uyu@|u_Nhd@ zlI02a;P?)A`NDp$MXOEgV)rqxoG+B=H}MM;n8XR$m6?3U2QU4 zJ}Q>6{?#i~eO*G1438ZA)%Sk5ynpM!8S+E@eCnFZYL~6(*xl4n+c=&n>gV?ii=+I{ z(l%9-ipkOO>4RH0Kf3(80|RHKpK8UwPhE3PZF4%lI~{WxCrg2Te#{q1C(N=g`v&K= z+A0;bWVYlT%ndus`?qd&tCQfT6$JqSwlWzR289GbAi*MHoiRMACaT@h=# zM=&yGVRDk=RZE7EOqSthUEKELRz04T()CJ3FVO$IePpD(tN+AnJlnT#4+^gTWfOQ4 z`-U>2|Lea{x-f;#_IkYT;>Fl^a1@6}CUMQHm!hFDjY?(|fB)~l(8H4@8Tgf=*7~1E zMn=jw;TlpuZu-{tAYk&#lLay1kr5MN@k0_`nzn9i1v zFH|tUwH~oZ6w{dko_KnnF8fNB{h;Wv;I#TFx%B0V=TBtIzIbdPrz);O(iUh-N=%mn zJ??3SxTbSW5)fX1aAR2QhYB6hYXz2E9KXvDQ+rIgJ z>vX{v0Q&p4s&Br3t@W{Q-*ey4*wpP7=TiUGN2fty{OMwQJW}_ddV(zKQ9~?PQDbz+|C_ zw%QbIOA;AvO-yBOzxVmQ_pM#K);eAA4fO*G}PJHf<8CZ~U)JVS4yRFEge)I-A66FIr6d z2de((lBHDFTr1tlVK+NA^o|YvTV2|;Nu0^if&KmcX49q~ar4*zCo?rVd1GdBN;lW1 z#p13O8XwPKdODA#-K|uYj?1a>33qgC{2l#U2i#4Ydd`p!v#F;?eC~f9&P+~ZZ=BAS zbX__r+MDZWI$J`nP(f#FJ*5%}IW?7cN5?Yn`0l_A{|xkl8UAybawWL2R0(u##1?G{ zNtv=juAtEn9CM)G8z?a zwJDk^l#nTv(O#FPxb4X4Y|fpY&b?#nz<}G+1A#N(vklPnAml*7e7ktKv=vcp*Cfk& zuK!uPWEhEPMI)x{;!tVpK*4;w8hnpCBjLo!3cc$kuDAl1|M{J*t%>-L)3MkE+_DIQ zGa>>b5Cs7%R@}j{LjLXdKezX>wKv@)w}0zfr`$eL{XAORu(q|nIe)KZCswUpGEE=2 z?htEjC17?BI^oa|!@vLcLVEr{4GV(e=;1MQ+0Kc*`*7-B3Ijk5v1P4wjlsQ|vsD|` zw$tB!@HK3H*Fs=smlXNf`_dlte|-x*_WUU0#*Ai0{L3c1!879j<&D?3c6W^2+t%o> zBIQtP(+ZYKw}G*6L%cB_^0`5bPP{-&1Z;TH9z8G|z3hwMdvM=rdU2tCI@h+=CJXn* zZMLeuCPJ@T-N72`o4}Y=<@*?$9K(~(4pBDmv$9X4(|LK>_Q9QJB!6eavetCGaBn0k zSItXHy0A0O>S8g#gyo0{3X|m$o*1amctJDQ3q~_j{IbFP8R>_2c3zee=J5aJ7QMDH z%F*4NL@W{qgB@PV2yRfo&_sy_az0aveCG4Z4~!jn0%uSZy=PO803dpHZpL-z;5IAC z-UkPKuKmD=@d|YNPtA%CZN^Ff(3>}&;d#uPHidj_#&vBM-e%P{ybrN>*gX%E%z#SS zc$taYe|q@I4{Z)pC-vqzHC|88-ziq?+>F;XufMIfw)TA@8spU>sSqIOO4&?LXKufD zeDXuPR;~cB>x|{crXJCQ6#|<#vow-zTF{ZmRnqI1yB(Vy5%O+wU6_A41Ox zY{o8)Gv;p+D|YS_D|hX}C3N7nm?hrFEy?GeWncnjO1{4Ru~iE{v=b|^Yu7G~GdvF) zn|j2Goh!ty&6{z(L${^l@%K6LD5tQNF<=O8xngpq((OO-*oRj1^qdvH2PArW`ozY~ z{l5Pbth1814Hi~Fv2Z{l$RNN|??3(* z>#UlEw;|fN0;*bUoht)({HgNP-kal>e*MW!JJi5Z@aHBor z+9)bNm3OCa{+mrhzY`xTHjB->Hu_heU$d@0(R5ofQn!L}ivtYW_@+>qdTOdTcJuvD z=b!9ZvB_R>7X0t%7?Qugouw^HYK;=5LiT>}e8#V;tpFVQca&L!V4|&30AtJ*9JxgN!9m~q=z#|we|FX*R}0zW zq&+QSJv|%w=FOY+iXJ2ypKgDT(v4rJi?&2QzVR8XUOWN-c;=-Rd}-6gl=TlNArAk| z;g*T-ytEaQ>(MK>qE7>-;A11-jLjM=kXV>$eUBF;ztECg5c%4tUXAlsC&0k45>wy7OJ~Th%Ktne@vDzr{2oc{3#Qx@>1=31V@p`?dvesr;N%pE z{$_V`;XBxV zru@x(Gd5}vSX+DjjZD}6OM`5yotFkhQyIn?hg-2QG1+KF)d47x`NCv!^y}^m80bNd z*o;kdQb$3=(AUQ>cl!S7@5R6I_AlIgb!6|SS{<(j07g6~`)jxBvp3yw+ilpoVfO4; zZ0Zr{*=$ahecaY{OwzAeqCeoQ!UX*4FMQ;-R!T%il4pd6W_ZHbI!i~o%mN@ z9slI(7u|fh%|BIVTQvYM9R%5jUHa_jezxm2R1fw3o%y%CGkzo3&1(bqQ)$j>03c^5 zyF)sky>m+3hVOp&4{IJjSBf(X7|?CfA$A0Yi~n;|I6gx5K{ma-N-RY5eTd*IjxW{`4&Ppz0cHXuq2Pu@RJfNAn}+|MkbO`;Yl; zQwss$;86X(zx#&=-+gys)$;($&s^OLs;&{9)c%j=_wQuj(YF2kzyI=<|7f4j z7cu~Y2lc*B{-4)}e8%!K(w;59`n)9HlHPv)dq4c0|7e^?3jtt!nC<)e7jJs^z3$7C zzXv_yUTjKUXpCQ{{yKP|U~oslDHMx5ldHpEw)- z9Q&M&c^~{>?e{Kv@RrN1fj@7OUJ3xlm6LxY==_&=-gm(lao1h>+4r8nKIaDDBO{wH zeezt?*8UNsypmaR5w$efZD0Sd+U{-7GDIAV*QD^m-+U+s*Q>Bf*cD;{ub>Ep9cU89ax3uAO0L5MiiCWe`ozz7GF!z z!xu4Xko8O6kA`{M002|N7hr1l?J)eXVwKJ_)X$OMU5U|4Vn|;fwIXX(bmS77*GGq= ze}ka@d$5p%TWG=j>;ur4BJQ?4p*;R@0f&EiKiYo{%sdFk1YsgJ+p+t~-(7@M^sUTs z)(ML*QL;&V^KgH>$J!$RU~{lo-_-W^MH!6yI-nQG_wPrp^dtP$KkYn@by~h$qL?M_ zjAY_}R2LTj@Z;%{ey3Ygl+eERg5Q}B$5|&Wu|(NX@!37k#IF)Y0Kl&`*MGhE+@ka< zz6$gUco}>y#S#-wh!5O)zxiKPCGvLp$|En-@ zWt2tUW;yIq$5GuCm5%=DyEo7!Yae0&@aXn+^qucL$Q+R`c&^y3e6yuM{tvgH;qj`l zr+mJS;zy{v;>V(Y-g^gKv|*Y7z~fu$=(fIhvWQ(Ncop`t__kxZeVvHD>FuAPmFEpG z0NC~PeERth{+dZqF8J=t<6DmIHk694y!2z#zHlc4fT05`Y3CzfWDJEu;PIEow{*5~=9HWDg5wde4JN>b zLb>U0-&`#GaLP>o#c#oek56ovLt z&Yy#1NuAHpPdyC)*tdL{;PvS=k}*KMOuka!5eLIvT{w4O001z2 z;e~?NrP7GofcV|@55_@N|5IAI1iD(4ue5TBU^U4!*%lzrfPWJEXA)pS!*YRhPn*TF8_5b9@e@3|})7l_8=NlLPp z#RoU=J%*{VrA(XWXZ#OKBsgp*o`iY%e5HU&el=4Rj;|{D)hv+&q>Lx=GWA1TgERpD zRV>h<{^4K15-EW3c#_e};~Sd6 zs{h&6aE=hoky_{`5SLA-vQGwpp|_V|dfLM3)?Z=i!u4={0zm_Y!62-_Aq0!QxDTS@ zqPS`)AO%5dfHMQ|Fi+jKI1Uc&$5`=Fe7t`w9LX9M0lQ_zXl0UCY7;c>jxw z!g64*0H1+45eI>xsr6X^!1%~&Fc26spjSwKfFoYJBXmHSH3)V43h4(7APye=Edan& zUR|}lGv)WO^|(2f6xKt{^|j|~%dJ+or0UUt3>+5ncpM5Dq_G|x7Q$mEnPCiuGsd`f z#ME?YtmtPh|25k8_5!Sb<`nJE{dEmmY9GO(&gJle@I1y@`(yxP?1FsQ!Q7TwiR%6* zfMdo!1#F99@4%CooVpU_SP6aoG`pOANgfppz_WFY zm_4%P72z|0fh{^b3;@{IHZPR^mDCSotZn~(0Knm{u2)!o0F1NP&d|Y?S1tj_oEg9B zLr-D<;W=l=`yZ-4U-UAcuj(n2IM)BXvi#%y&nwCY*s=cSmEjYy@L*VWwEqb=U;^wF z;4{t`7;*^f`=qfhG=4e*{>(V|_vC*#dV2->`wf=XU5oaX^{BWW{D7bW0i`*N4y)UH zK2?@?Q}Kdx!ms8B;hAPia|D5a=P{HkE;?Gfkg`4j20~w-SPuw*kyf z(~l1MLE#Dt3Ri@DeK!1l6M?*;CRuyF$4jp7D;DzgEI-g?itCH1MqfilGg7ns@V%ZN zaF+Lk<*wk6LcsDPjq zVDu6D^nF6bb1{G3tB_2*5B>cHTYANr@im||J<8(rD2o%c4m+Q(Bws0dwziR;t!*SI z^$PP9pcL(EZ=-$fZB_m&tRJQ5@Z!aEc=6)jgZvs$0hP~PPUUl#SMTqc@z22iaT5PC zbN2bmeZE5e@&4zPS3VGq z@NgFV@#@_d4CgTh1c8Zg$P@AvDgX%VBABYd+hS3_{X)e-O$ zT~FX9)K8f0J14!NI)a4?B5-1WCD$Bx`Dyups3vD?cFgnf3h}woRr!BU{O}Bu-xHs} zys#KO{a*A>V3q3g#m}5S^9=mK|NMW`|C|j!sPa$de@?;=t?T#Xe!D!4K|)Rs`Rikbl}e1i}#f zfPo_{nR-QEHQWEp_@~|D@-q3qZ~1@U{8Rdd|0Vt({LdfwFN=RgAAXk; z@5HZ(#gk+x~oRv!%3*{$LWA{I|bNAM*aF2cO?<)U! zZH-H9E9CpZE3cmgjWtW9lXk$pw^jWsn(VTF7IW^5w+^7uV~n5k92V#SI? zovL&ZN3(!Hz%V%xVBg-od-KP>_bi$~^_s@U#zexlyI@Q+q=eCWvf#S=rl+U#$G-PW zTe!t6+^&0b&-z5$eBA{TG>6qZ_~h`I-uJI}J&`~5y~nl__cW^x{gzv9iLYC??i2Io z&ATC;PA`nd;}!rEi$#^s=l73}j{e^*Tekf3m%j9+(%A%oKk)x|`7;jpo8SEAqR!6F zTN)Y~UY|@R+oRE_#TY}mTvo+mad={4;=Y3i4}STBAN=61vvJaY;QxP{kE+9MZbp1r zYW~NQiP#O%h~4E_mIVM_5Cj$1-=8m4zP~$n@QY((DBMieF9q(*&KAuiSZg6a?E8>KF*Yg9<5B6t^ z-uDNG+%JCV&Sy(!8H5=CTHTCzZOy`ur{a+tBF@qJab16Zp;Gz&bf)sfXUE2VC;c=x zBVH%#KOTuhZm^{2l0sSlptK4CrT2TD_x-70@@46Nen;!aW0Cj`mg96ebM^0e`%7N= z``)49FOHq1{(E|Q#O5FUNWZ$PYmsFBEfGt;-ZY&BR2$9r_k&B3Acf#kC{Qf86Rbdy z;>8^b6qn-eE-l5SKq;jZcPZZB?oMzgxRW=}?|{$`~BRFwv`$= z){eKO;UMt0Vn)}zbu`yH86jQ*vsVXWs;8kuGA zF8fPcN-n=9Ze5pl|HBT+8vCiAjWG!&oV_9AcgVy%)jk(HGn@u>d+F&$ZUc*Y9D)zK z&B#nn*5dbjMN2owOE>p07;L}2T~gE-c#DPzN{47EUyq8Nwl$QM9r~4hC|7!0qycwX z$^U3Y&)8HEmn-J=!NhmJ7~(V6x_VWVX^*^T5T=qcOP2o!0ou5!6PPgt#t5&+n?tWZ z-oBjcft{5)PE8dHInYsLRs=rp=kTL-5+e~n?#3$;s;a8wa)m@Lqe)1l#rg*$mG~rQ zs@%Ll*=jxUSCT|}rgR|r*;xUh0Y5UYAKb~4sL}uq@k<&jP*}*MMPs`?fS#mDDl2JW1{dcPuZRsWe>_&vIeiwo^R6dsQwztP-3?T^0MhpPEJ z9mv^oht)QHA(Xiaqsg+|#ZfZK^2 zd$q;x^;Z3$bD9|YR&uV#)yKqHZGHhl&o&Af`53_7_ufb3*mVPp87a^1M@aBIuzNcE zWV^Fy`7J>E72_y~4++OnJ8eH7WMAtRxk=R|BU~CrW=P@D9F(#@7KeADc_HCA&h1Xf zmEVB>Zt z^%?W?bXcs5$#?kS;oEM89$Z&(zW;68eYA64#dC*!bT@|&3aa~n?2^m!_1k}+pFP0J z-q6_$U?q}HtyMX|)OH#LjoFJY@hJuJrr6>Y<^}|k0)5B;w~%0^(>aU zR9I#^jrC7fCiaK*X^wZ$~T3U)`zjZk55V_F#(*Nhzvu|of z@UJ??`}XxA&e6)ye;jmj^t_Q>tZe;(fu<)X9gn+?bGaH=wuynF*$0&`HE-pT+kVr_ zc&D}SSP6$|8Z1RYe~#)w_)hgF7H+@(TwJs-CY7`_avQaA4rU0QfCA%@KATgStzI-) z!eUQe4NpHRem)xveUa>x2^0|M2Zb_NN~tShTx)+kI0=z0nM1@suRf%)kD2M*t6E5GBy*Lf>Jk=^`!Qu<@8#=5M zN94GV`90QG`sLQU&Aj=hR4g~+#Y->Fsl@g+Q$-%~FkE{c6nO1^Rc5;44twE;^?rcm zU_1UQ8*zJNICg4OcYk*BGTk61(t0rQ2gW8f-#1NZyhYaYAqr#A8k^~2v(EA2^LPZ^ z!+DX~2pFl8&c$kDX8`x91i?6QTTRl z)wPc%oevu5{=4+g=3U;T!PxMy+0MMEtWLY3Yj|>p*qT@#S6yD`)Vu{GKC~qbj(gnn7_ouu+~qj zbEJ|(FQ)+U^IME7@x0Ww0@}{3uD<5W9NtASnwgq%U$jH&5(Gd1)!^CKQu<_R;IHfJ zYu(7PZhf!?s(~FDdLAC?RqPpsC4d5KC%Yevk;j5|HF!P%!WKiNVcqem&{q0uac{#R zjydT`jjqHqR(`%T8o!1X9VlhGJmYJp%InIxsjkGH?M{2LUoqQVZosB1zoa5H^MiQK zWO~L|AMun2!~w8zQ_voCI~hFWr{UR?G1;vhva!P zqg-RJ+Vb*fC)U;~Ay4V{+>WKSl~-t{6ki&CMdD}SbkZmD7*SYKm211_1{^~It&XjO z=GGAKQu%iZms37=s^Y$!(W#n?WI07G_H`{jIRGGGT{T6@?{~cwe}9#2);vFjmCUF? zzPB3KbF0c(&KbzCLNhqgqt;Q~#aOd=Dg+$jWSNVq?f0RjKgs$pkz3-5;)AG+T^ z4beG$k$t#f6cY*Qyy-3?C6d-sewE$fonlmHQUBao;`HtGxnJSL;n1kY2|4&!AmMDh zy1qV_1O#Y1WP&IVDcik&a>q`mA-B&r+j)NKhkf_-!au}p)bi&5BdD>c)M+Et#AdI*Z}I))L-k z&lVKMEaa7&c5Z!MPcSxK??9EJN6jty7p?RjQ;y`F_MkOe`P2n+ZvDwOvfPlUI)`dQ zBYW^ATCs>j9KD?0dlc+^)8Y^*WXjXtR|Ic4caH(IdH<=PvF1Mj8mw1<339)TTnkbo z9hI>ez+T}c^^vFSifqW@{zUn;M3o&F1vF+c_T?rXz=EKafyQ#{ffid*QP0dB71T}O zD?HVOy`S+zF7+=>XU~8C(5rixkQ_~%5d?setSJ?)wO4yT0hKC+J1qXTloI!kg5guF-G~G*(A5DQrA|Y_zalA-$l(h@?*ea&YeN{amn#k@*uG^(|@5@Ej=bXvZJ zsj{q(^&{q;O=hUhJh_( zbLAk~--Bujw~u>-&HrPb7#HF59Pfx!s>rnZuy){W>;A6ft;1W z1&;Ftyq~Y3Jas|bd3VRoU^m;~GvuT=`i}OSdL;6Q7C@04dFsci!;f2m)|jKjl}af4c|N31BHQ^B1PTzp2>P39uVgEh^X-S+t|p9=V)u;%&+~+Rv~pH2j6?#(o~P zx1!?GPrx`H`K8PPOnQsl)YIRanfvhxw)qN(?h4dMmFhpN`NlfTwztD;X}V@@k9n4q zYLJwehHt^^WFTRXuyCW9ArA5?tFjKIIOb8PLV|HhrjwZGSc~=F5Sd>r9V9EstCMz*HEmgn|-G6hb788m$--DTl71TqR`>6%k|m-#C4K zywdB$=hHS?N6U@G+WlnuXP)eD)!uk9+LXhwMSE|7F-mPW$Kh%SPS~r{dSFa(r!{r4 z(FgyBGDIO=z#a_A9ei>iUuv2FUY$2TB83JL;41g+v7qO&8zht5bb2cDj|vmXuhMt2 z27<9K3D5LM^KZ=v+iy-AH>UEvxi`+x!|Reqw*T!)B3=d{!a97$_Bu~068hjmI@=w) zd40Mk0Zxa0dA{pq27dZ%<-$L5(KF<}`v>dWItK})ai4Z|SCn;?3ujcBKjwHJbOlX4 znEF3TKsruixS)yf-NaxD%lO#}V|!NygMhWSUuk9dWdJz0Z!xk~G*qfy5d$eJhUSGi z!-0j?$BXr3mK>cid>bF{WTHQ;adxdCfK9r=+^=BM!^4<1lV-hu?QY?B^2(-!3|sne z>oP;Gjq%ym?=QXrQ-tw^n|{&mmY}(SY#Y&29IWD2;V9U4xgw^6vu+Gg3eE_;wgHsh z$$GOiwEge_)^U{ZGosWB7s}n*`k-rl#lzt{&B0j&-7{8 zY8LrTFJm=b95C3dcVja8E;ySiUZA0{SoFXsdHd;Aede*v=+&vTqBV%H;&5!y<{JXY z{Bh>40On!tI2CU?FKOZ3fDBVWIQ~*@WR5TGx5aJndX=N=jz1gBmy(w_Y#mRUEiOi4 zDP^exO*#;jm-sEXoqXXKBJF!c1)zxF+>5`{RPtWzOk`#Nb&Vi#(_e2aF88t2GeO}r zYK2YCVwi!~+l{a}k2bOK2Pf8brN z^SXd@5P6O_HMnG(4|Ck0lhLBQ!5S`f%3TfR!Y2g{GADk@CDbF1{)eB;7=KD~ls3j9 z-D@z1N{06S6JlmfKk}D=g&}fX_K709!;MJgb&^p5ddEFV19Qsze_i&Pp!w#c6?h6a zz1lQxXE)nze8_A?K*ztkh7X{`ijy)u-ic6pR#`hjZO-uSreIP64)#bH*VN;M3rm*@ z!@2)l=NsRTA{kECSP z4*wQeItq7%nkl37eaU!}x**$1$k?{i`>2{NNMsog#Z-_aiTn5JOio34>0@)KJb&T% ztX0*=;x4LLwz@id^-S~Qw<_V*}u>YL7IZr z`Q9_pzI#owSmTg3@G?32ZPoX3qI8ogR0(H;s0ia@I4-l1>rBM0({PvRWdO;)*goPI z;hE`KmTMZ2aN=669Z3ie@5gh#1pJu(UOhQ?^IG~}QrJ{PED0VhXsW90L~#OA_T>0i z%Jgaa-gaZ$W~^pub#^B9mfbp93THNG@L|dcWNa-{hzNlWpd(x%pDL6TuPog|CK?Q| zSM_%5GhtN~cD55cQlvm9({FUjU2YHX1Gkz8me9bw-nqas&Pms|lf6nhv7`I4yA(&- z8}%sBc<52kwDM4!qW>7qefAAZXU?=1+a6#@<=e~{#4^*CwhSP~gSq;lN5+(*M!Qaz z@ua@S>f&IpsTlgQ)VP`Y$YrmBE4HCR=Zn)^%|Hso%J-c3qCM_JWKIk0)6+l`4~3rf z^wX`raAIaOPGfG|oc150{OZZHfp-#sQzRP(&yaH!jf(scYRDE+>ylvpTMu&+)%O-0 zNq7>r-OHF}{VpdQ@{r2&8bE*_TVPm7)xRH}FsbV;O=L<1d!++%BUzUUfNM?R&4%FpHlZp`|=s%?z7OGIY@s`c=y z<%s1lDb!%d$f!;@jKS!}MyROR@|j{_?K98TJbxTVUggAmq04$Rb|Fz%+U&aGJwBGa z0*5w%8;8-B#hHJE>?@8*r0aE`%OGEmA6L8H^Yyxv)y(8w2BZUHO!AqUm^&7cfH9AA;A7}p^^JdJZKwHp1Y4T80XN5cBO#j@h z6`_vjv2tUMSKFSL%#g7(Cbpc4i2m%_+G{C`92hSXWX_S=sVx3VFqntzcc zL}Rjkg%!AoxVieZ`aA5|-r1zdx5M`hKL|_<0BNNNmhaz?^vAAJ4%?gqcHQ&_45wcMoX ze7+i)Lsz0Iu1^l#G@f&o68+XWc|y>3a(;mVTsESO=W}>C=3Cd?xaNMucs?0IL`2ao zF{Hj$nw`E{zOUZAGkxkdt^DNV)c(<*kixRgEWV)GP9VGv7$^9>J&*?k3jL0X8ChB? zfy_9+Flo;NuEL0Tlr+cFKxPvegCI7Eo*h#2UFXHxYhJ1MzOm~wyLpxtZ*wFMyx8J8 zqN7A3M>WDm?t7f`mLsAXkGoHv!W0$oP)FYUS0iI6Yw2U)%{Q7&6dwH)X`BkNL?b7_ zT{pvRAgzoja5Cg{H-(#8hD!)AM-!!O4gC78@(2XMfINEjHIaawbUe&azkcQY3Y=$QmQj%KhiU!{cOIgpg1f zPww+=oM7eP;MjC&!CLa>4Y1NwtJzDef|y()Q}%yN)~|%%sGd&;9aVlyMZ*5xc$tNv zRSsbJesW`K%B)`7*`D>)bae{vH!6>!Xiv7q86Jh8pl1zn|32NSr)mW-IPG6uVrPvb zc(PxI|5`Pb$H=wH>qa@l|9+01p&)GP;+y7hqFnXifWq0|$^arlNjLyg9;(iZ*IsbvDjOLH# zzdot`-$%kgjksKHxoY2-q%TA4*|}O`L4f(kc}wZ`y$@WXUOa)Vn{OWvX>Qib*6!$z z=05|F4CU@bV=Va0=_8?2>n81^XJ1^?-txbG@|D5;P;S7{d^O|v>t8=K9s9SgEzRKO z)Z&*w+`FEcW#IQ@NPJinZFlE-57PGP+ov!=Y3shkmnGYf9S&Sn>o-Wz1&DIgY>5vG z-aCZ_=FLOXA&j7)7=y)>5dK#R=FgG#Q^rSnCW*woAET35Xa8MSOhcV<4qtlmdHm>% z(xdNuEzzS-*s+k^=X|s4>N42VR)=P)vHhPOA?Ixzs;su1B9wzU-Qye<6DDT$r`{zjeKRZ*;15*5vjh)eGv!A@8Dc>AI?y}h-( zT+6mxwfbm-Q}-_}-CgY=(AA->$qPs*aVB0jTjdziQ>5i>^$^$OWj~+o>pW(!?i%p% zUFnkOj@Xbc^_X+!+|`MXW3EhTCx`^ugs_P&a-*XaXj4kRuBD5_19|TS)jaTs+%ZO@ z*45=;S@QESc^E$Um$*L<>OVUG@-n&S&zD}uHH(~ltI?aCiOp>#?EK9BAGIcAml1Bn zVY-YtS8ld@f`&BWR;Hrexcd(|Xa8ybLsGw1v0$U)W+~39#z1EOPvWL^{>%t{KZ`7R zg1#uF!mcZEm$7L#ki6QKJ#>iYol^Sy#DCBl5`y>X>bludfo|x{XXfo6*FM;D9omYcbyhjE|2gYI^Z(=xz;}%a zEnxu3TFS`SA<-RKT4cgl=Pwg>>JpCTfly3Bcz~ff%27B`drK0bA&R{jLQ;}fICxQx z^z9s$4fW?35Ndfrs=VwQv8!4Kn+E+1g-)O4lwdE ze*Ke9-^?i%>74nGT%-ISxn_XK?2HlrIK4AN@{4?6EVN4k6;1c$w9w4vzyvQrQ#eu~ zAL(ZNt5dT&DO~5@xW%NNQs_zU8WjAwuk3UKM8}UH+g;V4P z47l6*APRY7Rs0MZlwH(v0UXxif&^(tMzZrEF43%Pb+&I((3~%j3#>)dG9K9ZeI0Zo zg8AqMTZCPzuMHQ7e2MPpB-f%Mi{i-B)bnR;Rhn`d)_**kr>R+uIKR7qwvdjR^3eU0 zK_O$|IQ$es;J??|S5rZzm!r->>he5zXZuIlJWx4{1gWnZvzhzBk%3Ll8zSdGOY6%Y zYvVafpJE$4D{Tvj!4$8p#UzxVe9JhC$v_eu10Sn+m)ng9KOQ%n)gw}X>rKmRX;Dta zuDiwDXKnon`c?U^dmD8sc6>Tjp5uUi13Pe!)BgR?+O&K1Ha2pyu}Hu=gfB8Jq7yvwmazKn7(-MoD4YmQGb!(l#8W&+9V&G0^~si*5w@cQ?4k z+&RA03#DiNUJsL*S1dV1U;{cfV%aY_ATQ5FY;vNTVB;Kkf7bd{D+`0!Z!O7p=m*0xuR%Fi+P*HJ!3L(YbYFT~;(R z99fvdQ_bSLJ}a~8#+n(yHJ!c?Hygir+;MN&t=VZu*J&XBvwqn2hVVe-5oz{U9WzGwYf_1bDIcd@6=;@9JM?AfDV{ zo|FA|g97AW=ytF`9n4Fz_!j{rqoblNM6_Rsz2Nxn_mLPml|v4&^bm=6hZ$VWllJug z0NCL}adJq^_@N~j1Zqm^-#h8e@Ir*ybL0KOod;*cU4luWEI)Y!1z%n}m0hDvW@HRo zSb5;eW5H&bET!aZpe5r2l;s+%JIKu}KJRab6<%yH>Ujip9d7pl4(!g#rk8~gJc=UA zn);?c{S7^%i!0Mqo%(q)XA>A2jN|jcU;9oD^G+$atxP(@5(2=@lb@YoFdbA!*t~&Y zw+(WCFd|(6FQ|^r69yOV7O1u@jGbbfrqW&6NLr548Ev2OAZC z)T$mGqcc+uXxo&B1qI!x#xH)2BTL;F%bi6$`rgE?R2nR{OD%pu-(0@vd7qT3U{sz; ztwbVjDhnPh=G@m&ULya`t>g^SS(~YHlhtsEnjMD3G-zQ$fgGdVMB;!rK9DLr6=gSm z3AOGg=il`Om7jiGhZ#`7`agz_R>@DCRTwN?6ojd`UKDWfcXuega1;+^h$b+{Rl((V zoWTnd>hsp!nvdEYXZLdziY4~s5AAA`p2AY#$j*drs}E)#nt9WRPLQp&lv#4xKZ&&x z?H14Nj-YKiGTp}Wap<9GE918c>>C+t4}3u$D%;G3t7X1FY$Z!+dcP(1y*{LlgQV6d&%Fd%Yk5K+k^PTV z+`{ht;UUWb+QU235i|EdTX9-v`!5q2cV&boea-9YgWpp}PyibOc8_OE6~PmjlMSkW zzHDpV!CZw^!(bm^fugi)Y5{I%a?J|Ijg{P~eYs z`CS%o^EYBA(;oQ5d6s*pC6@5L)5^T~2}-J*wB-|-^!%iRo1P_@hA_T`JZ`!2EfLc;f6lJ=FcrplAb8v>rz;?ef!d?WRSbpB6tc57h^cGjM4n zICBie%=WkH=Hzyq6uO>fM!}Qc-AOKYV&CL`ml2oOBr>nvcvdV-5E}<20*R6VgxaYC zQfs-e!}Suv{-Yf^qNBf1$IAf&SapOcywcQK6kjiYWWazS?j9g0yTKZgxLQ6yqAyo= zkDF1esMgqtOe*(W(L~XEb^enrw!fF!(OKquv0^`xkIs|e-h7o9~Xn=lGWk< z_)d7ym;2k52Us)3>x~rqxLx$=oOPDPuq5lHNetr@U0m-9+6^x$fM2^*gPZ* z_E}jAn1gJFbs7Vh3dt%=(l9dsK5s#^_;((@PhSb{WWtN~J`a(P&Z<+7MP5(oWp`T- zk%zbvbZBCd!0rnqXP%DHH0b8jI(pYdXuh3Q-2HovPUOC;aP2;davtm^7{69cNtGYa z2aGqD0=Ta}@~TX9wB+*%F-3U&RpujDlblXX?CfGKem)Rfqne1cw-Ce;__A0xw z7r&I5U11w{0F=e#7#FBx;n_f_P&5gX_spD-k*4Wde>~4%j64(IwjD)!bBRtApu8Ub z%%Tn;r_B6=#@HDn_dRv;3SYJ6XT_Zbpw;FMKS716yfEb#I$-RxbPha>I|wvM4DO;v zOd&B&kk79krKA^8r>3-!sG;AFk&)2NyQ>5h`|>6aCKUBI)TDnAE0q|#kKxY>_V{eV zgT+SkU10mu~6C@<&>%G?^Bgp6QPTB|?4J@1(@rxN) zkKX;I2+s)H@}2ZQBhRMfF_T7E(b~xM)z#?j*P=V*x^-y4WviFXi|xtJcNRVw5&AEo z87^}4$dssfIcJ&iay_6TqXKbp0sW?vqP4$bOLJ5o`SSXu{7^h^_?jImh>doAR;z$H z!mrQ(X=YU-X70E)INhfX;bz*bI*}zWz8#(fzD_@u@QLI_F>5yBGQ1v~`!@K^yi26| zlQp|CE|3DiFBXdo=6)f6Cu1&bT499D6j{UK3)m4XZ;KZU@3aZtl>y^tAW`MfF{m4D z0O%9=Yqniy`S-$4O_P)cIyHbQ>!Gx-u!8zQTUm7zoGo2?kxoTfQECAlD%@k1U}nJa zw{;&$!qmvwgG>KnUODu}jV^cN;O>;Fbv$Hnu{4l+T=WP}XVAI{*N6hGJap>(nBNnrB!=+6Up@gd__4KVxu z_tq`}>c3S0S;B0g8fM)JMx;P;3@{8$KI9d>loryWV(s#T1QNxylgw%7ok8lU?rRs8 zFRupKRlxF0QoY~Jbpq59ddx+r@hC%yc;tVyb;}6~1q2*NK5ISXubOy1&7F*XWT~A? zkBh*;l$DF@4%iCT3cw*+Bu!z!l-;&4XB5l)`+Q%yl6!n8QIFW~c*t~+)NN`v@?-(X zM@mH|ohj%1^eh{N2b`HuHBBmEX1aZtn zDD-m|EWF#3S2i0#m~PDu4SFr@Minab(*!9zKs@kk>Jc2WStjs|UA|j0ZwhBx1)XpV zqWaauiyz1I*r;+AJi$Dq7m|AGvdQwckiL653>5rZN$6`*&~CJxB{nKu1Bo;frO%8} z`xT<*W^KY%XO|X^Snfe+ylTA3TEJ=W5nsl7J96d{R`1(pIapf0-T_WN2aW zXsEp#&)Xd(|LS%!XeGjsb|DcF2xs=cVhNIE$^#UKYvtDV_Vzcv;d+`7ypn5`f3NYo zyr@W4@=UJvdh~kKu?Q)6on*)?I20#SgN=4bhLm_+nhjmQn)jId_+v`nwgvhbTToQ+ zzMQ?ocejBh&vx#;4sJyeTFu|TZyzR|=@!Xiezw0&wLnj0(Im_BJ^`BSCz+|Op|_aq z$-mwO(C4sLDe_;HbFZ9@H(Xznl^1Pp6;F!-7FH(lBV*reMW+EWp;A15XSUuRq{qyzBpHE&<|x`%RgAj zg7M?}jn`Ng#Ka`H!`U<*vbq%RA&(|U&DM%ux<1o8szTp4APgAJham8=;5?>qjV{L@ zb~pn+zJ6D+u;qxQ3i2j@e&`~H4`G>f3I#rQM3>ZlUso)dQase@9W727Iup8SrvChg zTF(~qoi!&AyLZEG+5J>d{BIGtp~*?tUqbOHhuKJCvdOeyeaWb;$#+{#zFPUpBA=}J zSWBH>Q;S9u_iqW)`t8tPU%off9YaSR0;w6Ke}vWXYl!+$4E!Ko|MW(ZV#HeWm#v9( z1`B|h+Df>~66?#nz+kmy_-1tgj&Q7$2w6CV%*=-SJ5eGG-6Pe2cm1}nb7d~{ZAeCr zBe$qUMyq|s81Vj0fnrN0>L2LCQJXBovYa?18Y6l)d05%h4$uJm!P;t4hIcd$sw_vQ zA^LdJt`<14YioQ|i1}*3fA5YC8$k;kTwotct)8ek;?uTQm5u~TLe9o*)=|)>)n`+~ zsgyHQ4RVlWFGX(jCX{X^!4z^y9QXuRZaP!&vg9Ymvg|G3s`9XU)D>_>RF-QU1T8Mr z-#l)FlvjHn>Au#9Cl)@Fqr6$Z;mBKEh%52B-f+H=h?C>RS6a`|Mh5O)m;KLKtxl~R zvESsiH0%B5fn6T^Rk(0ze8R{WP50_E&e3sx=guwx!?$W_99IwnN8aG`@6A<5!;(eB zW1!*b>>tj+VxsQvsb6c*1?iM5Z&>?IG!jRmCKdHj)dwfA&Gii*4{nxx8{Z=vJlZ%X z)!mwoFPdOfVdMqKSxF7GWsIAUBQrD+iT4;qMWJTH7}}}nI6yi|=p!umPJEP5a>RO% zUvydn#!jvnC9T3J$)JpQ9UZ$(&%5ofnX~{iobgwpd%hxo%Bb$`tDb5{RGIIGCp&Yu z#4f@tCi!%<=^=gjkYGh;LjI)05EzdCU6fbHPejb?FXJnsku8LjcHip>VqFnTl-r z>t`AniHV9U55#eU_E-v+w?I+bGz*t_E71c1{`XcJPIlwMEWPInML)R~zS-Vb5mO6?jWVhK7R~$2R?! z4O`r7m(~mys+I|%w1Wf5`$xxPPELb9HnIh^hKdTV31rKF?-;b*aAw=4Y&i}0TP|$i z51-IOC5a(D7*d8^Wylmw@6l22w*)<~H`dqH*&3I?S;TY8^o#u=wk` zJP(ceRsY*a4V|N|;r*K3Q9H+?j)zhtcIr~AApjgW_ zqs#60Oofb<1F1=RqKK*vh$e;}$w6z=p8;pcI546H>@*KvrYEb2iZGihiKHs^5@G93 zw9M$zQ@-o81oO|PF%l2a=M7uD51>%NjZb9J@VVA`qfY#Ke{1^5N<6V}kiw%&Ofphi z6svK=mi05kmz`)Ek&o$q-<7edQxo*lgY+=EzcJ;is4OJ)S^Uadkg9BXwv3kF1WT!# zn#9J);Z|!?s_JZim$6_Z?y)|7NPbiKn_<9vc_8L%M|+r+`F;BE^=r*cQF?Dy3kHV?))ifXq?7)Dn0~ub~5qYubREMI1gpJgiy7f2SOX1 zDV42S1(fi^h)M*1nKO>?z`2?nL=Zm(Da_o=&?aX6eQd&dOF_ z3&{?;L`x!u)jjvoE}AIYpLDSq$^91Iml(Z8)!mvU$m>Y%;%V&YjrX#X+^bCxMGz6L zpwx<4BzaDU;4?}2gH|~}^OiMGpyeW~81t_&A(?3)Y_Yis?&$u497Jlio3SGF*tt4! za)ZE1D>CQ!;c|cz-S?OP&>V8^>ORh{a6P=d{vCTTq|1?;usyT`0Q}N)(R??%;=UJ> zPVo2fnLK?h)YkUk`C}d9)dT}6WF{a1#n+E@y|t~N1)Z-YsYiC05;i26K)!{OikO_YY8gnrR@Rz`KGlMpS5Zx2& zqKrmFMd_V!d3mSbZt(Nvv%N>eQd}Hr`q&%pe>n%SkD`{v$*R`#>iqYeqj@Pe+#TCR zd%pa>gSRYVGe%r<`AYf?W7+&}%%|!-T;!#(4VJK@B0b@fMqo%dvyGYUPNRAAZ1?t$ zbz#t2M-YM);IQ1J@!7*8r+aKsG9T=gm-$H!tXWL({j(0ffv(UF9fw<0jVqqtZV%%( zmv<h6+ zb(%Y8Dk;MK{xuzj`fnSB>68L)xNLG*(Zf4HrWXxq2P#d=pQNRFxIudw=t4 zT%KA4YO9?_j&$i1zva=;2=j_h2Yue0fhapH@+;0(<`=GE`d7KXvzQVhG#LT43K2_~qkcUmpU-`N%VQcE{vuE7KHu{B@2R5y)9;7MkJIgQ_O@5`()jh# zo<|z-K#9!yq#qc~Et{)eDhmoQp7OaM!Lv(=pyn(h-^#V!(n?N(!UkdQBWW3I2}(7Z znBp4UMiazBFH(c2=55zn`jclk!(><_3YFox5Xj$ypRa7T)NWCSfObW#NybLh`c=C) z6(ESvv2LiEu1;Uh3u)t34n6Vu*aa$n8e>X2+u)6O4!PUd#Cv@Bl$0LsZy&75|3_c?bdFdQP0A$&cr z>WJrqFSU-fJ}W@Bh?cr~O!k+&0;@xedgepjV+`z%%3E=dHWsWIFD%q{RzQT@ zZ*-5H2co=!9@Ctc|F-j{E~0pONp2=!Cmg8wiq9t3ItYwuBT(t}B+^W;j8lau;pmfvKQ=BOtGnVocu^J`xg(Z>YEhb( zCmxxI)FdP?&+-d>8(u_mGbO+E> zCpa{TcLmN4n5_PS+qCUW*U|h`;%y(uyl#iMY!$Wb!UCMkzhiY9Y7AUmSViXCK1sr6@w5$UqCu?Y!-`?%UD}*2dJy7m9wv#gh z@n46*hm0X9NpTb<(3;+-Pc>q`D9ItxgOIn1?tF;WLe-4`7MY#iW`ggv>{pwEC0Z%jkc0fF}k zwL~tavMRbSX6ogoGp<>5hrK>mr=xVPG1|F0a;2IfGiG~Uvn>VUon5ZnJ~rO8b%_=` z*QpyjlSUdooP?zNldBH^)-~S!)3xDN1&i$}X6Ls%gE-~psEX&xR^aoN?X_C(Facxt zj~jF3CduCiQj2mLcVy=%b?AQ?-|a%~)8dnO0N%~~94D>UE$9g>t6vCvYztauS!LfE zJO!<6lX1Tg|Cj3*AJ|lHZ`Pih>HaiJnldS+bpI}8yQNg_6~7&B zM8tpNBmo5PwkW|boZHAlHu(LwH#qM~HK4p~kP6?^8y@E~4L~Qm*vE}k$QrgY7$+#g zUpde%oJWkRv%6lX@Dr2^&}lX%bL4ye;BrR{*KOCy=Vc+68(1bRY&!RmLP>$W%$UCs z1Lc8Gbq+Z1&dj@`X=I!yd=(KN007krdE=u>`U+6!jMkNDu95rof=xP_$4ZTL+^ir! z{|LdD(M#`}Kf7eTfgmyoS}$==tGV8B*xp2s!c9AT^15+dXt?524!LmUsGiGu z3Zw-G`=hCc@%6;3*@}W!4@FUgbc+v@`_K-nfyKz5kqcKBWSAeR7BI3AaCadT=|e2Z z+?9L*FPeo8G2dG_tnp~fpov30i$)LLnE$y6C%6pK$|Lsi!;xsy!}in-n{lJn#Fu(i zRs33VPD5JI>And(tTJdp729RAF({d{)PBDHqL{oWs+I6G!0ut-34*vLC;u=r<|hoo z{uO(!x#8w__Lw#jorrIFQZoZ)p$%QQvAhkn1K@?TvMT;4#QXwNV}OYfw&opn4~vZG z&G<_4?vu(xUu$!au{=pUaGNPjYz8#;#Z|D-_Ra6Hrg0dCBvVJQ1OR-;BL-GlurdDF zQt~)rVwMB){5;ur1cWx*F1V%cNdv8Y*d~lkE{~Q_^JwL~cW`@K3C%6~zK)Cc9m`{2 zuvi!Ux^uX-nKr+L3wn3Im;gI-I~D|-pIJE12W?_hbW(HcWD8E{E7Ly5wGOnuvQ$!vM*?A;rTz?^{4}ja+f7z` ztN=5wZ58NXtn4}gX@I>X5$g2#gt1|QdqW2vU@uQ7eL|fcy^<>SuRuO7fkg{=dOn!> zuLP2;1jUq(LuF{fXZ@MmKqylnjCIzOtPiI8WGV!puXQ1Kg<`5`NBLc~OF;}nbW2oV z5;We{5qQ5_;f|v-xLrK#fiwQSyK~$C&a4IiU`Ea|0=2;zbOVyVC7RXPetkP_4}JZY zN91gulV0}D>jD|WAqW0maASu5pk?!YQr$iYdCd#XPau_;4S!(dzdiU zvZs~^8w}o&tx0MtzFpx$nW9(hBbQpI07!|p1D*jG1*?rYbm?sCf;d0wsb$3Tg2eQO zh_H!SxBZ6Nmzcl%0U)E$CT|cxJ+>Cc&FIpr{p26j;(PU}V`zI}&n=VArFDfF<|6Xx z({K1VBrt4&?m_r~a*4jUSIaVP+3?wCX;7J~9TX#XzVZ8a?AS~4-TP0UxSFgzJm67& zHz)O`LfARIghfAp5)(>zaDN%4$(Il$1OqsoCv8o>7FBUC_vky#;2aWaf?V8zNl=&Oa%*vTEd?N!v`lj-N{4f*g`E(eFI2~l^cR#l^K4k zUe&%UcgbI5u{)1nNV_0YY7!*uadbF6)IYz}t;Av=)qEGbg?jITd9IGBgr@kF zd}o0&_OHgU3^YN-n8U30&4%01$k~zJ|hz`Ib3R{8?8$q3GNU8~Q!m3fB|k zpQ0-IK*3W+(2RnH&?zJE%i5h113EIh@K?)h@jwLo+h5oc3D6dwDry}4`7TWhwy^4xKh01A)gpPYS>=7_K?h?6)CB=GnBmw~R59cTNZ%47+Mo3lu&LLf=fyxvz*0WJe-Jci6){{Xrt z2EH{1hjOrjubOqp5*^01?*v`a2$Hp@>=UH`w*fI4Mc++7gK;Pg|3TL=-|P1xRqMd= z6O?}9{a{O*fUE^Y-so%CypdsD2gl7FA3|-_JfyQZ2w~7!06I$CfU?ZmL?+k_WUvd5~@w;oP^Itj6zr-JyH7oy>W&I0$ zp)!l-<-g43rtG%>=mOye8T(|B-(P1Tol`kwp6EVt_rXg60J@Pn?$;Lna|)o0TfsnZ zjvW!70!Vuc@`YTc>hIm2&yV4h+BGXD}^BwO=e z(0@(-1GoSHz%dQKr3GDGU7Ruf%PyC>BArg=l!C!Irxg_ysI07j0x);ZEVb&KbHF*r z(_6PeN=YgzDu`*C7#SIXrfGr@;<(-Bx=cpi2;duqWh-yuS3)UZ?wmPl)vCO|_35n; zXVM2SXU?4C;@^4(FFOF-BhXX$t4;t44Bs1lV>v z`04mN^M36vj-e347TSy1Lmote974vhroR@cNF3^w+hL!=e{~kLp)CTVKu)-hZ43Ci z#tKWk1bN-+rNSpb%0+PE{ODS~V^-qCKj%WY3;>Lhg^;h>Q}qqQ`Iq_{%l%7zQkZY@ zukwLHCCGn~?-cx#{rp6Jb8D;W>gs}0>fB^93CFL4q&p(gLF1rjXR;)lM z6oT9B#;Vn8@bb$q97wWkt;=ja%A zXL0F$NnEB?!$o!YZJxg&0su-N7K;*F5O^r1+%RxTKge)*LmxJ+7Q`?74D_`f|o5ZE88tymoHMDLNKnFnaeb~+)A-IAqU;Ejv(B5j9~~8=sYf^|DXT= zQopbqiF5limSq(SArvd@OPb5&uw}~@eEQR$Mm!!bd|J&{|Ea61!`*k^4aOK;E*Ah` z^0}sIMgX9rqvP0H`v3F)-|63T`|Z!$Ip<>A%7SQa2qA!o1Gc0dTV^b+rDagIMN9KfOKEaq!Xc*l}Dh*%sD`6^|(tbni_Xv%m|18{1;_auHl4pnFV zb^fA$9IAP9|D*?M8^AgXV{UVEv#*%)2FhhQ0DxdT=b-z!Lx&Qtf9y0GL*Y5$aM%~} zkp>D@4gf?t<4#g`ABsd0uYc_6_|45>Up8wr0JNL|fTZKl_3lH3_)pV6z8#y;(BSo! z6_*5?7$Jt8${pA~F){cS+&B1Mpv)5rHBm|pp2-}T$Y$TNukdR5yA9VZDk}=nCXF&9 zl9UI2_}lGgH2y{9s_vBsb2 zKJ)o$tP0K5ndZx6?eX66_?gdtRd_CAnvZj5d}!z`Hl}bG(1=`URLAmy3yeg5Ja@LZK5d0$GJGfZxk2p;G z$y2X%?`?b6yV&d2kDau&wY9Ok?!H?zSC=$$DK;1yyF{Z}jjl1B0C0rhLdZc&@<%Aq zfAUKI=-zi-bIr8;yYIeRG&D3c=CbJxjL=IcV>P;_=>WhBzLeq-)2;pF@ZtWw*G$8I zT_XV0^2*A(l48$y+-}!Jnx>TjfMq)qsdVPn&HImjtsVJNa;NKuT&}uMIQ$*A$8(Xc zX=Mt4ZCMlPOy<_!!NIQ;9y@J+vLkK(XmedfdEh%fmwpjrq>Mnqa`;3v#cz$dUicc2 zFSU2N@vmv9tPA*j-|?8nMU=5JC%UUd^(smT zEZgRpOy=2SJpPG+v9TREjX_}YJ@cs#E(tH1;r?cEz;mT;xT+}O$YjzynYN!DjpGwv z`RQ{zPIC|@0MwF-if~1F;F}?z?@H6qtDqFp*(^_Ha?d7n&L^Hec=Rphr^4q8SCt39 z8T9+FG!3IlK_QdP@>DkaY&4$!#L=6uCD#aD0cK&fnr%*bP!XlKtU<>EI^hE5h zM?bu#=fq1Cr{;sPSAC^)NdA_6CBDml@E_{x>H;(B>QGf(1+Ukmpnzm5MFs~3(bL9h8wsTlQi5}#gp?$kvoJIk`NES2dw$%~0z_Zn5C5?no2qEEcuDIaDwrz|jQeSv#?>1_r0j zPhC-U(A-j8QZ%3G`F(F~&XsLD1X5rukr|6y*`?1MJiYwX1%pK;CEhKS;gb2frh`xd zhYRI!PNd+Nh$Y6xV$r4jk?iUDb-^Ny7HtU?70owI6O>Zej-#xcMI75kCYK%KQZ4PD z>g(ICC_0F2-n4UrH&FC#Z%L^uIXc{%)m%U0L;bJF9ZzIv?|zLjMtD^N$bvOKy`pY` zi>gog!{ueEiLqohk@)LOxc{!QyDJgZOMu&SH!}YV&K+h}oi;rjQBL_51 zNrJlBa4$dC=c%q=V5rmcy(Oit_{eZ?LK;6~iNRN@Mz&>2Vm%t8l1u~}FjBh2=LG5& z_;mFtf7$8z{}=hO4A0Lp14mx5Uwk|xd-rOZq6Brbp)Wbt=c#U7U?_1)|23s3+uPe| zM@NVF_bV@1I)BOH&bOU+p5D;BfO`W$R=6=wCja6>sAM!M4(;CI-u%#me|h|ohgPod z?A%^3PIyK)>0fin+NFz@EbBb~qD%C73l?$Tq)+k(Hz5G$T*YHiv3JLI_dow}|6d;b z=ff*Ir|4gK$@xncE?L@n!37uS3l}Zq!C(<9?6X?p*d82OVmXykX0#Qm4DWot=11{6N0l?3I>G>Nswy=(lE`HOE{_C4+LycT8OMn^* ziYQRR1%yTfJT7%ZOH0eo3bnGQ9e=RceSJkqsF5&c5fCGP76>Ax5{yvjjNQ-z{H#z* zb{aldR~LA3$ot{SlHxjD(=3Ho^Dm_mhOWb97&id;Mb|WMGfc*>2mRL<7l#^kUAHJD zhE$XgLWoijgisL5rkwvtGwdz-VsXGXKV#VzW6H?cl(-E^l#&>YC_5DNge}MU0)Wp= z=fq^vFY)`o81Vb&JC0*9MvZLFCLXsz2o%O9;&vz)2s@7Rg-9eaEq`Ns3+o_V{O31j zzgSbs=Eq`5i)t=IDM2VB2f|rPe1Q;ruD!iQ1Ev>$*sXoB$m5!y&RLc& zgu#U(8Y4t1fp{`)7kOP_TkzA!PyRjQ51L;L`n~gWHn+Ht23H_D0TGfTk+$ui&l9$| z_yQu?&rRpVtp#9R0EhH{Q8)DY*=)`dTo@7{6pC=iK{AuI-KG(Sll=mK&*9BZ+zK6b z{hwc46bP69$VUV$E5kFx{aY&A-%%ZM>F?7`qejzoAE1cXD^m79el`^0>sOZo7Q%AcE*%aZ`cy7y}g}o1h7%1Dn^I$ z{wuq8iM#K-LpyTt0LDkhU|Ts*0uaN6^73-hID59%ylAQTa(jpN=`Vh1%KrG!*xj1p z)_3mOCI0w_KWh6A9Kh)480`E8+t3UH6&2-V?wr}$k|j$-d;5QCU;5I9KUST>KUMR% zjj~LZO3jhX?IMJ}`cx{FB8<|i#Wls{JNhF7$X{}rvJC)kw^^3XY=JmJ;p~o&< zP^Cba#;S_l?(#@Bds@Crr)5G|(vgyBnpwc}lczbCM5n51&0MRzs|y2#ON!I;HLc8c zxD-k;LpKPZCYMQ5kLkSeBF&`SGK#eFT1= z2VeW)@3jNn{mL+mY5N;Dc8QJ-5L3tH+;Jp#lqT#9F$^yn8rH!ueCR&>m}X^%l&PDS zpuK%VM@Pq${mJ}j8ogXfDY=wdI%^TH+r;^An-9Oo#3N7d)rLnC%AoW#@{>PF(sk`} zr66s`*3uS;*I>9{K^gomiih`%X+sHH=^D%X)3|Co>zkhDj%A^l!CE+H`O4D$|tZVI?9z%Sr2S#!NtWYS4 zyS%33FDY@#XD%oWl>x$$S<|N+k=#zH9>e6G$sKR>?M(WhQyOk!xiqb4nscr7n=K$C zJ)nsR5GxBs0A+eiGgw;UtC+FCEGYxwjEKU3w5Vgszy4Ed)225}YH9^2 z>FD5(uU^u=Z};x{`|r8O866(c^E*#yFmxRX1UW~dE@a}+uI>28z4yX2G!`ze;Fn!> zRde&=MH|IgbX^A_6t)lu``mc>#qH?q zya%SPv+{~^{_gefY(8uG;#2u=Xd7F*u&xWZ^(&(<9~g7fhqjn%WK2WO225Q-N=2kp zV3fMuhNl>a3>5BlPN{9&*ot-Qy72ICKKJsohg0;f`=3^QLu1HUHe99-r6iG3f)eW1 zT&`l|2jD5UR|bpcnl zEO=Rg(mmZHDw($6@IqA>IT=538#M1vCqJ!dK^MBP{;cX3EMn5VLm8E{95_OPLP9E) z_bKrPs97?G(;I-7RFuA~`}}k$nN_)54vr9jl#o&oDJ4LN8_=ebA3^|C1GpI@CAI@9 zl~QY#+qnLn4k~K}Mh6Uh@Lhzwu)`sL{U@!ya8Y^bBRfY%rx^F-W893f65Da8R8SYM zU53wpwX5LumLioJMRoNGl1&eg(ZoyD?IT-DJAl#SCvClHerjsml%Rx5NtIG+){HRL zEN?<-u@B?X6jm>5B>h8C^4N3xt5+>*DBZU6@U-$%1GouDiI6JqmwB+JsRUu4fzhOc za~ey@U@S`>+mo$sDEF2g9!XEnuc>hZD3MB00;sAYKjznzqsZ&VL^6$8<;A4b?;(5o zhNhN(LR8`Q*l^K@zIvUgZ+yyGw1y#AB52(lm8zRd)nv7sLKX=jiYTF+Oqw7z4z~R+ z$zFW=Gl%ZKGtqY6>u$9XqR`gHdOACY#rwZ>o!v0&DbKREF;-L}jQTkW4RfiIim1Xp zD@q6mB?>a{XQSiDKD$ZAw{Q7O--DeA+}FnNI=^jG8|(aF=kUt!w_iu9nx5(}K8xjC zB_d`vsD7h~Dka|#KZ8`n&JedXjydChm+m85Kl7W8-zD12O|0|y$xQzT`I+?ThrV>3 zsI7m>T-wT5C@k2_c}mvLr$WlYiFy7YA(SX4g|ahgA|qpPp1)HjUfTMZ!w+`8#@B%S zebaU8I>erX+vj)w`nKyI{p+7aX=$nE@p=Ie2q9q$36IObiY1L$wWI-udPnj1$994e zAQ_FZTYvHsaryf{c>VtUJAX>%EIOi8J0&E4DYvbyjjikG5IsG6=Ku1?KfC^(KmJja zmzQbz&65d)RB(iX$7DFWDS%ZCAsiab;J%&1piqcMBkZR?_%Ctohd*+CPtX3J&X_Uh z4Sq+#|Jjd!dHrv0{kqb*kR6X;YN$!1A2Z(@_N>NIP z#*_yD_MT+o+X?;F{N#+Kru@?It6myYico3$AocBN{ElzqgG5ou_n<`wbH4LRnd0 z$Jlt%YN{(Xs>+Mh!J}hj$G(0jDIug(loCRzHtqbNwM(K4s0p%NJ#lF_mY8~Nv8nct zWXO*GB$O18QYuO)QAD_>ou95Q*#)4~&2|i@Q0s;*okl_fdIw8F>;f!ig>6|D{)cvAQG z_q!_rjJ5-$SXcdywTso9x(ZTTUJNId#_-?>d>$9M?j38<`9PO{ zpg&#-U`hkb=1L!)Ii&d`DSgWMIX?c{n(BDa^+i)104|)gUegNS(;xiZ25-1Tr%!eYUOSsP zmGvOS6@bSN7-s&lb`D48q@3?2sSJ0N^x11uehbpW^!C-9s1dT>DyafMvVi&le#N&3UlHyX|(7<2^fcJHF&OcV|V$wg_-S=I$%j5F-3VzOpsSyO- zI%br3u%OzHQlEjG%`vCkjcb;an;w_P>lH4S zNwSs=ol$sA1LZ*gzu8#`sU#HWvPM z>nvd@o~6o|*~l@oMquZDH+CN+aJ%yNoTXH6?wzceI?HC$oDgEno8N?a_0@QO=K;L5 z>mafy^&?bw5aCzFkmnqikNX`i{D#HO3 z7kSY)ID!6=D0D4f@Jqgh_%*^PS4!xN=oJASC7uBKB54dnEf_4%s_6{uulFfsAc||0 z7$J`fKGVQREP=611}tAwbISRjoah%%s{`{IWb-BG=j8rF8cn7Yd;x(_v4!Ukxp3Y* zTNe9udWf(}06X@!flTGRr>(7x-PPGCV#(xzCG%!Bzw4dn%iVjA&_ptYV91Z6vJ$-X z%2BLc5|AZ9A3c0nRsz_8DduO>Cb0GEJH$<2Xg=Wchnq`Fmdc^g5$ba1;PZN5JH7|wzi#O$10c$a zi_i9zhSzI>ph9AtxpoeL?Cb&xK3L&`so;e_0t$d&I)lGR2Efj%ww>02iHXN?+|tgr zHn5Hkh>p)JKRZemZG|El1l1r47i5{@V2Xn%4yhD!lCd;(%W#Qt zUSi0M5sIrXT8h$;7nWr+E~F|7m9%~9YoBUdzka=FZ*M>5 zf2V!Jg5uJ$%WX$UAtfUK7S{%`q&9>V^(8pBsTf6W9a&pKDd6B}79bQ?FRetWPlsi5 z=5VQkMa6AjJE>oOxy^-?B40|VvAh@!WyP3XS&I3!vMl7taf@3RCLWz`85MXjm^VI$MdH+EF z_}T??>)rEa&#)7TsBr9@&{+`#R{#jH9VIx)`_0WKID0-Rzn1_&|9E=s>=~u*S+%8h zG?5jKtwbo`hvWbygm9?@BXZjL$#?3&Xj;6jvD9tOEHUk9$`LtRh>&SO3JO99gpz_m zE0mdSeEc=I;0>Vgb*c_V2n&D|D&U$1OTLvJBLOU zc*em*67U%rsEIMugc7)HNen?(MtTehMp-!jyp|~qFr%ZRL;;XO?d%&EMJ|&;B%VT% zM~8|`puWP7%T~=pv5!fgTZ3YH7yw$PIDqZhlaIreY-cW)L@wuGB4WYRHRPgEl$CgJ z*3ubZgh&d&Fc1cSJesv0)2|tRtXPAd|7-GbkEMOfUk;2n7WVAOE~JYm<2-1Uu8V4Iw3R zjsr%3p@|4QhK3p85Ga&{0vJP~{_e^B$(*=N{oP)dp`>txtu%1A7q-g>Zg?P=4n-&w zp%A(bZn$B)d~i$;B-NkE?vLoc=Py}-7eR=-KMDocZ8!T;Pykh{g9>yO4IWv znuGwl0cm<5+&&1GH$S)uE=|Kwy32LV@g@K?H|Kv>z@+aEd5BWN5so5A5f4(tgA6fY zD-9C)OL8_eWMCo*4^nV}gF*=|eJ&`E$*uuj`+ho6ejLK!xO}i(esIJ6+Wct7aryB= zQVsH0e$12SM|Zv3V;D+uE*#1rT|RKPAHwiJY6esxKTM>;}bPK6h%8$uw2VI<+; z@OTzdDlh`XvK&VzEbJT3KuUsTwE=Lch^8@7T{FX+cPig;B$pDkB|*%q%D=ZKQW*?J z5|B!Q5`t9D!cZ)M-ticOlxV6bfmC?aU+}7bs)LOX2(_t=d9O^|{NzLAR=1WkbvmI@ zIl=tC0oZy{F$PE>rIU`10>Bh5lO5-;7n?S1V*Zsk+`Q?o2W~C$IHubxG-~8nusDOP zmMCmkB_wg2(ZbWF?yp}jHf?HS=X~%-H$VK?v$wjbFm(tGj?G}E!Mq8j>i`!-W`$YU ztbOYK`t_Y+Q(GJR;Ey_QetP@STXmwF6ow`wW6I3H(c_Bb?*&Vz5dU=Yv%a%aw6(Rd zPyg|mUvBG;-3Ccb2x#0^Ot3gCEv5(oQ9_DzDl+Z-bQb)-JpIDWFB~|0t7F@ybhu{Q zHnT_+IW3;wrvXZu4w;f)R@RlDy`}Nz5A{fRM3P>-W&-^~F6`>9!scfyK$U~Ucm|0y zgU^%S!+NT%t1Iv8j6J{qP!HV5(aSDA3$GmR$L8Hf@yEY!gM>gLI)X?%gP_MfEr0&} zGL`>Nx}G14M4+)OUA1y928YIRpm!YGp4$f@6cX_8PoD7^P}tR`H}G?q%G*O z+0__}rqLfsW7mNZC?LQ2FFNjO4)G5V(d=KRDu z7`nES5K4ql#P1eJCM1L-K)|6?e*YFBB`iwM1yeBfN(&h$lop!0#a~DVF86tz(ffs=|BlVpd`^XEI!_RLw;yJKZZt; z%UY1!0hG+=M=A&@;cy2^=5quoAcTP6k`O|OuG5p|N7va(LJ1L45|aX1%g+0g@hb(P z6dZ>`Ns-?(L2?Ko^W!5SL}T0gi@*i1iWsThK@sHNlfGf z>MBd%I1&z*2nBseaG*btLvhFtMhO_DkWx^_bOeJX?*u?wTU*6zeFjPhRZs}HG`KW^ zXvTq53Nwmba76xIaIr@NB|z3z2>Ub;lJ|v_lxjKxC-pT@nlJS1Hgp&oLn51lQVNwt zesC_pg+Rb%f)Iin=LmV+pvdnCBZZ{wb^e^nWL zyc3P1*N9Bo$>p5f?_VBHjkll14Bxi4HVH!T?^n$HsvRBvwlmS)j>LgG%MP?)S@hi^ zo66;~PWJc1snj@5%ikmk0T#@5e|2PV^xFd?hug;@2k*3>Iv>{4>qRPS<}zIV{(HaJ zGTz<}I*s+5d4E%x9=j^d7aZcho0g0SY&hHNm4^Juoot^pn?!{*E#i1z4{QWVLB9l~#a~wG8 zN3kyfolM}54;Eu0<%LJ*o>O@zXc7QQ19)+8JdwHce;=n1NhO7Y=l2{zRjC(VuY+Iw z;W3OvZTP)L-fx-O0M^!)&qrLkUQDFzOkdA-8W~S2%i=iPI|8521h;Y+7~TmG1tqm< z#Xp%JqT$74*3P`Nr;jGnj^Y9s981CDHX*pg3%h#YIDp2c=@;^23hl*Y*2(PXOH#`c z%Hb0IF$XS2K%~HnJtlRi)^+e)4hKi#5YRx8 zkN*_epR7`+Ge#>jIbd$RL%#Es7_K-k0}zF1oFJQ1aJT{>QB&?9odpspf+09#wyd<9F{cKlRw^kBi{GUbs!*^h$N8C=D;}zpwLiTj#N5} zSR##BB8}#zS_FJ&1d=Rzp~+fGC9 zTz;Tc5{B*vcXHrP7Tn3g?J5RgIuXJFgDL~sSfL*x$LEJKR%tsNWyM}{_4y01ps5^6 zDP*!XY+Ha!0i_gzh4}db1EAJleNl5T7@B3Hwu366uxQXeWmhCT{4yfQ8@FV z$HkwvY^1UlWPTzLKnM&&KVkf*YLf#Jxr9Uj=No`B{|iTMwlJpZ;bOIe=fCs~ao)!O zfV^>&^EYji%c01E4G{nZf8WhE5^4=rvL(^Czw}Lc!CUrMf8@4f{*SQl<`m+Jz|Fjm zUG>t2_}f1A831IO%a8JY{y87{X=en$H$DYr&cME#vq-2qxLMWcl`nnWSyzbvH2lJI zzWTo}OaSWZzk_m3;J~kdm|6h0);M~_i{Fx$d|bVHpiZ|b0C@PBS0aG=hJrGGiUT)i z5K{)+Y;pV@FLg}s^;In`?bx`#~&RC`OihMP8y@UJg_LC}3`dwM5iNzoFvZgmrE+ri-@ zPe5vipz9uJW-i(eMX`7K@jpGk;e`V|N7tsZ5!u|-#1_xaZ@2fzQ@hbOG62J%;JNhl z^MiJ+b$sK<-Tv|yc8!d$O+x+VtUsY$z#b%~d7f4#!JJhcIR*plbk^*=Rcy?R*n|5nvF&1t?sxE=!7w zIo|)?1g^O#jYqe-@$3#0qY;W&f@1X&2W^+8(Dj^wgFPCmD>zmx6!@RJydV@BPF#A| z0Ei0!-uI4HQeGay7eD(ReE8iL;GPGc!DCx@VrVpi@kjy}ox21#Tzd)bf9yHz-rtMH zx^k>LXFk6F>wCZ`eT_dkip`r>Y!Jj;N=lTLG!sMjqON8&%F7mEB60w+L@yjC4en$R z^wpp|ya3VIVWiVzFpU8GzG{pNZv&{IH8<~Jd-uLJ{&K(|O1YE*=Fh4iK97NOm)B$Q z+$!upGKQmr5u`IVGC2n`t3p^Zw+aV)$1xU3p~&w>T}2SvcJzW!a>D$S0|p^*DJU$g z@)4iOu(m0Pr8PdhGMvHDNERteB4cyREH<#T#*2fa8H^-t1U(vRLngK!j-fE-9`iK- zC@CpjRZ>JK7@^=oB9qPm3UK>exb&Pk5JG}chGZ%Wr2xa_ z0vAG*l$L2l#pUM!*nhk)q~tD_TY~}|A)%mf+593f0ysj!vIP_rT!x0VjeZE3-wZjG z%P*5NT`q9WMM-J+B);Hox4WRGj*gyb*#q|<-`f?f}n)>S}C1xkQ)HU~lo zTm`@Mb^e>Rb|~6Gh`hzv_u&9f{is*Qf)UlL2qC0c)ULP#=|%5{Z$~>6?Kq7=@>Re4 z!vUW8QLoGeCklRveAQP_^mGQ{<9$C*|EN#qf(i5~LI@%8nllqWi2Rj)@WVlo{!zcm zzM3EB4CMzz-b@dC$WW;t3zZH|pjQz>P%LZD{sYFA5RjMOQhq?>FX+J!|4F5O

YE65t@9SqqJs!3ecwMNP;M;Ccel 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

rHBs704d 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%0DoF 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 QOkBy%dGbj7N!`HONdOQe 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%0DZKDxsq*h8# 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%0D>hI7(42S!IC_GX3fC&`LKRMvdgPNB^yj^ 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�-`aJUj%oW)+;;ItVHRS)|2|K;1sg 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

%}^81K9NT{XF=&6s_h(secQId ze@+5@3LqQ(D9k88-^O+{`2LKfvO#|V*bJDs$&G>D6+GVkme!VXZ)oN8q)QrmyK4bj zDaWNYkWKc$D(RvRjH8nM25QJN5YimzZO06s|E}l_ZTFNssGqtX+E@WnAV(Zqe@OV5JF=7OE z?b?N`tSqLKQkj{V-@W068-D+XnKMIVVa?w+zqRbRiIYZu&s5ZQI5z+V+e$%jo(^bY z6bux$V-L<91(o*qrsq>SHPA71rf=`)d+oxj?|*ZMda}B@Q3613yV#WJk9P(8U54c;fd52Ks-T zOr~accX#`NG_jek>+M-tS*!B$^8WhLOE0YjfMXXdxW#eoTYGxC8ctnwa(!cCV;#OI zp{W3ZF;r?;?Z zc|%V-o3#!Hl>(kjHY(v96L&22+Lji)y*T_OgA-R^XD5IYeaQ*0~%`}PJ43ClNmizuc^xW71?jS zkGAAGM4fIx2Xepx)+`~#ZZ!iCM~dd5}M{h;fUiY*R^byL7<$&Y=tTv39XcZZWsWgIm560ifsOI0DAA;?95!#k_I1bGNK2(O-Z&J2+hZ|U^5vr^thhqzH zLqJh-@I^RR5L^O62`U7!h1$A-#&!_}^!hV?>Dklraeg9UT1DlYryMQosG0DVjerP8 zL4*V|beP#$aF-UrGjfD-Z0+#UPaaU^YM02x+0Ry819Wn{T+Z*nM|XelKvDJdDE zwEFTK0sth1P>xcx&*6y<9^V4sh)#+CKpGoGLv=N)x%Ro_+1PT|ENuD5;vZI=G;(s$ z52jWXpI&@wknQi$WGY0EF(=B9L*)qgX8rJ%s>)02>sNhUo!5n{!D}m_UB24-$NdW- zxWYe*DWOS91R;bGnl?qdK#)5+17^lteE#%D@Whg0)YiQ$*Vb08KK^*FDxqOD1Oc2Y zyL%Fe&l@$adjWT*9C6eXIpUaw)Ug9}bY}{i4!nTSryZCy<0yoWD#!ZLw~^CXjO^rS zBtsuMqPJ7upE5t(-O0{evO3m#FlxTNsqc?j%qylFnN8G3jB@OV5~rfFuPy1HMfTDtB*{9wD*VvMUOJzrB)aUmsl zYz6?7F@!=PBoawvXJtZ33EQ#L>|Fq)l!}0G(=_y*E$w^zLb1yRNoWoR@}&=}PsZQ= z%cajzqJFLf7m^SP(357$or=NCO z&TFr~{&SV4qQmvqUmtk?{r8?RO*68*Z;ml#SHwNPBBD}Zo$w+F{!|zCxAd-#|!lW5tDc^Ek1e1s^2B{`HMKm|alM4-P1ncF{rYx^eQP^IlKz5iOg zv3*BFH5h5ckk5eh);;>T<~eYqzo0l@@`SVnr#t%+*xpM(!N4eiK1gV!q=b+XHs`P% z4%<#aavM+_N-3!sE*kId2-%U22cZ%M&t52o}S&LX4$ zg$U4V_w>e@Y5EADR5F=XR5b<}kAeBUir6->`}@0o4#bA~`AFB6u4y?s0Bi7y;n{m> z*G&31Mk&}J03S{kFH^dr{v6f$BDDC6P{s%_?@S2aEO7T22)z)J`2k`;QEl)bYJ9$Z-*Y*4p-l2aD_KO<2^to6k#;8vPo*+2*87WU~q|MOQ2RGl1Ko81CA{YYBGQt zjGhE^N~BJS?g(=CgX`clG&HcIYic&W^TfU1leY6rVWi6>RFi>|=Sj(Q$iY&7L`g-I z1hFlGM4YjKP68=uhsAk3$)9iQj{Ww;pWU?O(9?4*KKbsOyBwkKL44o*C)uiRHBK>faqsiaXD^_NAuU+FDvuQ-4I}LPDU@n{_>3xw!D> z%+d;if>+l4{IYKe9YhDV3Bw1QH&I82iIw zpd+HLQ-d~@;gUP3PDCxfHcssCI7%U=R2f+&~c%u$A!Uy7WoYG8O?? zRh|3wrtbRH;7yg#7B*Rr{AD3)<0|y{C`R%vN;oJe8PtZ|1PEjYP%?iy*52@>o{$bK z;NMUH@&@NK0ahsUqHVq8QcWdJ^PBN<)xDPz(+va*VC0YHv#+fr(N>#AJELSwaxx0L zr=fRXt;*XK5mvla-xiZ^tZxg{T>pMwbU1H$ZRN4rs>JGjHP5dEiHv~z7k*fwULb05 z221M=3AA+J(T{g~Zus@X-Cat7*43p=`A6Ev-`M{(HDXZv>s`Ef@kv66*QQOIRv8L~ zxNY0o8E2dU!!W=($K1Jd5s5@3V~j;2k-W^x*DIxfS&P95!3A4ZJ@~uatiVk< zd0C8-fD%#)N(tGqb2n{k@5BiUk0X-Xs=vP%*}3_WKq-w;jc8Qgy}#r0j-LMWF1_w= zoqOZCUn&gHj4G+Hnmiw|?mW;H`C(zU-)nO&)WO_aGWhSHSuE|v1EbV-n})Hwtz-FV z*FUsc)z(t-^=nT72P+uK#~**Z4M5w_hs&2Q2LM)ETdV5RWFCYNLe{Qbd-09eU+<2` z;%CL8(JRhA`)u#><;yQsO3|G=cg`e)l^UA*amlEPzWeuz7Z`2AQKO>@Rg9>98)`to zJePupDbAVNjUWBuKtiLpL&V7wPHGTdUndw%-u?2%-6cSR}aJYme!t zl(JF;Oan1pkg+&eAgGXt!-*x^0Fth7^dIbNI%9b>O@;auA6`1vA$|CyM1fJ3_jT<| z$U||`bKydQe*)A|BzZv5=mA2-a_9;G4M5QhNaBTpI~^fyCqS$iXetDnilR zCL}a33l;pdvZ@1l-7jtHC5Pj1(6G9?o+ZYJP99!_sR?2!U zl!!iCb?%Z)0B{)76@V{l`~tv=zn?WbwJ%y%lw(evG&Q%Svm;ixzt?*A#Sb=KaZh7w z@_$;7cBrz@GpBmaC~%Rx3q5p| zpu9MEN-#GFBg4mC8Gh=?3Q(8NqqN*i_0dZkJKp{Mikp8Kp^qvh56kqtY;mEdJm@~! z#mJc^m5ba|Ow4jCP(uSenb5P!xK=uo+FQ4)*gMa&IFe{jxRyPPGp}fDY!rv4P+c}L zkkxBOHeQk{EZ6ckf<|8Z}BK5((bb)um~g*6ldXF+cgqPj(GmpSBPFWqx= zZdS%EKCk=K-0UDg2*RN-V(|om!9Y4aXwcuw9S7}QeaXIo@IOBMto4=~{`g?{>ndLj zt)18I`q6hs7iK==bsKQF;Aw4hD9%0YTO))>N~v_4y1u8aZ)c>F?L*AWZ^?r(VRxu4h6)XePY=vZeM=CW0* zR{r!yKmXM^q4r(>JUjcN;OP~e$S#x$pcFPBY(khD*xf4BZ$I&CxEGPl9r)K&TXi$~4s{C{dD9B?(a! zO51N)d}qozr)KBCtA|^^)eQ}-v8G0xb^pJ9>dPy7zzhVzElZ>cPb5)N5~UOw0$wR4 zl$2>sGa=K?0LGXV4I|dwcFntWSKc$!=D~g(qziuHiH33Iqf1^IGiJw#9gWzXIpoPYi~&wg9QqI3Zjg?9?G*3NwC_34|c zjzMtQ!>s#n_d<@F082NJ{OALF@-MDo+b+HAp))D{S(B97LVWw7cc^6P^B-+}?Yz0; zPl{QNkV@$`7eo%K!5SqXgsGkccYJ;iTeWucic5}}d|HE2tR`JX@}M*{G%(Yf|C^D4 zoxd5$-he;(E{NSJAt1p);DCSwa0WSS4l-py4g0@>0OhWH8qTZ2ZvW}nXN|sP^Cv5A z`_{zfA>esrrhi_J3(E^#G|!R>Qb96CA*3V#h(QT70_;!7_qKOMPrqRg!s=j}{+H`r zzPqyVShuNHQo_apDw65QO=5qLEE zMa-L(e$oM{aDYpE99MYZyYJ(*;q82-{lWga$>S*;r?CThjIk0*MLs2jAF}Zb4jkDo zq_maNwsYs&rP27^wSZQC1QYe!q@lW+4Fh81p=%fZaBgMJ6;ozpP7Q}r_-t3WeBrsv z_a0eWUuc|9Rp%|v%kthlvMh5%ASVbt;DHzXp>j1&&v(zJ} zJDETHZrOOKA8tZ8qOhln{qvnY-s|fh?C4buV5o*XTp^18rVOo-yYIgH*!=wb7qhdo zv!c>Yw;lLmBmVklOuHT4_|s+IFUSepUz8inkWzvRIpnKJ z7X#23ESuv%Z@8(oCvmf3@BcM3jJAYoJGH3^9b6CZTucpfo&&Il6 zTyxU}jQycWh$8~vArO6F<)^oPr)tK{nG8q?3ESb2gLZLB2@%i`;{-85u=1nzzgv3J z%v%lzz=Ol3{_*Tb$N5~=6&~5LsKD5hna{Q(L+*k{bV3tRfLnkRX@Y4%0b#(FUc^*B z`sgThkg;f|75zzf`HEOf-go7tC%>nZ`gUd!;0q1&&PlEjWq$3qK1ROdX2d->91w&g z!|9j4EZg<`z0CfmwctR@PRD<1@gKTKY5}c$8uDQvgAw=%1tSV6E)k6YeM>*Vmuh7mu3ruj0swzC&E+28 zl#!I^6?D*CGWZ3BG>X^&J`qC2lxmAhb=EH(XZ_(c>;KjJHdM3ke5X+i9v<1}ub*F& zk!{`*4LjeNu&8mzm{C49`v=)MzKes|{%N@dnVJ^#$=;~AdeiqC z@2_sC204sx85q*iL31a99BKxB{i>1UTyFhLFPsZg2YUNE`>kKpyzXoo9J52oq7TXi zv#`{iqF2<+$>}XTD(T+0kJX=ld+4R~`-9c|A8EaZlOckQyYIexc3xiItGce|S(YUL zv`Q(P`}+DGyY|{^o4#p2r;A+Fso~a%NA9^QBR?}I+h;PCa4gvuv-&Q){PuyN&l?&V zSao&H5gjsy)>uRB#ihl089z5o?F@~Qa!sQyDWQat1KbhoBT4JA6R!IE6NB&de+9ln zGGzCbix>ZBwr$H37-P>r{P4rOA9>^v^XaFbek_$r)uag+)V^^e3w|InMw=b&J(rri z_h>ibg+9$TVh)2wVMkSVU#n<{DgoA zE^LSMPTR3R4o4ylRmUFt0swU+;0p}miBjqnLZ*#;@r7Hvue^M|f9Wr>A}>4-IcYLN z-95@4=x@tA^|V(aH~zZzJf(UDt&B$i9f~LgkeWt%_m4*Yd~8wP4}1n4>oyIqY3LvT zY{x-g%!B z-k(Ky#H*Zy&bb4jT#lgLn8kwqj+VWT8(Ev-%KA8EM?bmymlyU9Z}W%%82GZ*_V9Gy zL{r0fL8PA%8p`tdcAoZj=az%t9j5snP8u2-SaohLX$DZ$)1y!gG&kpxDx`D%tE!qM zA&0Grd8G2CoZhc1qxU}*1(4=Su%0}qBS}4Js)RQ9-LD0KVL||?N9Y}tY z9J0}n7ne?$o?ntPHlefwC*08V{(m@Dq@fx#cVZ=}s#`6FT{lQw1E_RB%eO!0L>Sl# zJ6&~wsD=ix>i-8?@8M)tyb4C$O&t)2%SkgXFbMxcrgK`*KHoo%VDatHzz2Fl>F~s6X5*Lr`nI6Zkv0tfGe`q^L48Z?QIW&6q zzUqm-^3hrmrOF2YQj%E9Zr=X$#x1e0yXHTU^hVRns;a6K05mr@ld7-Tl>W2#XkgXV z)#~de-jKzEeATS+|Cgd^6pr(-i;zoGhkQh4&6=gnDuf>AOmj)9nVM-Z=^nT@UA5&a zq5#s^0J^zasjB8?T2)o0>YAHLT~(E+s{^U3YNkCsRjQ`u%YE~sAN|UoS5c6E`%TyG zI$XPl5mH+VGHDA)Zg(X?Rr-%r0I+3s`f#_olJsm@t*RR^c*_0qqWjqmH)Og^e||D< z8`Oa2I1YgHN!f7#YEqRtuxDFiV`CEk#Y2u#ilDKEVsko}tr}{ErSBL;nAlUw*mR=W>-VT(s!j;h#6X_0}=5RI267GtX>0l30QN zOIf<~6!YGD4?j-<;Ol(e{{HyLl z>i>)98~&W?SL4R{PcnQXuiBK{z6D!seBC;(t)-QyqO0oKgb=fC0tZfGtJT2PY1YgBLYYV03)DY1x=U807WR70_758r_6xY1?=Cw z3;Wyq;MH7kIEUlnP)P}g8F2Yc%WGMWEr0E`_Yb|{(5CQ%$}-pGCk4(6xN*L&sadA3 z@(7fnKp+)thm&rHlXa0Kp8wm5$iE+3y)X5jg76UVe%*v`YHHH{CqO(1tYipypL_Dj zvh3pGDHJFn0O6ds_lLuqF1X-=J;T0_|6grFLmS|>NF>MO_s2^KN!HfZYISvW^5Uxb zH(h?wjN?s{xbt(pxjLilkAGjANG7?5G3W}!An9UT8UfKkpix4op=q#f=d{1P^7iY8 zzaLXaVhOLFIMF!j=hscq+^#Axx`LoThYEeZJZnoPHQgl#)iD9HquiVFcQ1RNohPzs4ybYrx)=bYt_KG2HV zT7v(@=GZWpzH%hNfP<`N|1l5`X>4~~d#!i+i4%`D^u%PUy8OvVyB+H9*lSslaze4c zbzjH3H~ewWe&E{yd+0#9ZrwTx0IOH8))rP(eNs|dI;nO4{#V=g@4pQIib_jwDk&{J zy>HA~_MHrAnFz}$&nMA=tiwM5-uAJl;~qjJzAvl=~HpsE}3 zr6L|f(y;9M;G9WgH!7-LZhB@z{diaTxfzCMA+fmE3dOhYYHfR>`i;MC{67TYuSoN& z4O5B=3U3rvXnZ`Lcp>G;r;j=9d%F+w)&JFDZ%8Zs_~Va96&4mYI*!v64u>C^0Qf)$ zzcFLR=5N3Hn`I~v?bu_Fy_+$1OmlPdT%;r71=1F%BeGx)f$zI3UtBo4#CWWI*Vdb6 zopJ4xYu7H*XU|^Z{BNGIp}Lw?Pn@V$zVhO6qrK)o+!RHvVP{86f?tfO4k=DA7Kpo#9a+6(>9PX5IoS~H4APe^q9`zBZKUSIOSzD-5r&l*LyUC4N>0;A4J zI6GcSD6k#98K*tH@{#8nt7g1CUAbt-+zVdaqZHDWiIPwc2ji((=SCt3PLj}yC1gZG ze6C?b)WlmFFeftuKfLBg7@L~}4U`~;AXfe3VXR&EA?%7wj6Irbd@eCbF*c$i6q-*wkr?xT-7YN^-johy|hiFo{z^&2+aw{YRY*dgEj zRvGqP_0}72oROQCx6~gD9+#V!=W@AR007If(9_**Z``oqz25Hb`w1b>r{Dj`d?f!( z83O+frM!03Y7(LN#Q;95udnCz_4TMe_Nbks%lu1HHir;$!0pnC{C@h({*HK`%SDJ1 zM5ete={!8Ch$4`RQX(j&8xM0!LI_a|z`hqI&Hq>QiFmHJz0%|LEQlu(d$(@e_@|I=QDmsl4 zSxOXKaQk95)UHHt_eUo_{`SX1&w2#00|#XYd|!X=7Z;b5m;Wxm&|T{F6$7?`M9*jF z?oPsynb36~D#nbDE}t~x@69iNR9jQinEa;oH3*ys`~Iyr-~7eosZ%F0P2;&aIj864 z=A8~gP+U?B3GjeFFsY}z`{%P~&%Wcxo*Q)1q-sKH8U+q_IQfDlK>@1|6QvEdc_P&C zeu}quT5S6G4SAm66>|!wRgWtgm1pQ05KjREu`@HNan;*r{pwOuU;os93xtOv(gA3D zHh%CcjW{DC(O5fo97jQo&&tTYpsZrFt7rcXeXV=MHhKHH*8p97{*Tkpt`ymjg5^5-9O(Z4Gn4VeXr@Ii>FK*_qbo{L@H8r z(TA(wiq4*W(sHGmG~j<`scfjOX4L>leZBnjsF{B+_nV_*+~E^_=Cp8%-+5wV6m zFV<@d3)4~gwY3z4$Ybw*zL5Dc=c+dH>ToT1c$UGQcW+qXaZi~xGov)`gRnw=VadsE zUlDHEkS9wKpmWWwQ02!#r@h|3UI|%xcz!e&fkpG%MXH;R6xJre!vOg z`Q44+Aedh2Lds-FGc2b|0sz%e%}7n7c&~QS&ErPUTeCAH zBo{o*VV!2V)|es(1~e!@m1J-z38^tC%9z#{q1fIkZ&^^g`FBHYebYoCgvf@+9xE*< zEuHW2dasx zWSUY^0RU4}T132a|BI{ohTV(Q)e#aXd3@9ev+cT>nQvaSou2?!c!rx%2JYAx7#K)8 zf*VR9BpklccAR%pspNY-?OhvhyZM^0R8KkB_OKX)hD*j2kIGl`{f0W;G{t;_V6>YM zuOTUfP2kuBJ_Z<2kOHtd!9YsE;wmCQ+AU5$>WGQIp4hPa(_h^3`vrmA{56K#OKjT) z7m_%f!{J;xoD+u&M-ifjdpbT-(fCOdOSAe8mk#r-<1j2PqG`$5RoPh?i``T$%49Mp zpfhML6GYRYIENJtqc@g7RMPdmwtV2YzrFM@0C^-SbVKv&zE^i3=$=vprVPCvrgE&mpeQbj$0e{4D@_j z{|XZ6w!R$Dbm!v5Ij4@Dzh`{uI6pTT7lIQNOG1TW(&&ll`&#zfTf*Iw&VKoxUH^?> zu_4Ra<`3SyV$#f6_wsNL9LG+RWN-(PXwX~%(cZF|n5L=R9xwBHeQ>$mkkFt}n3eEXdP$-P`!DgLS4NYaw80-h)C!BD?m4;zVd;Rs-FZ;UohT;>}i0IVGQ%0}J%FFeLlqH$VV9JSO z-RkCR=Pdfs-TxE!#qd4$sWVPFX59XcH%A6^7pDZNu%q@1)zv>|@}hGdd1?y)EL*lr zU-HwRI+a)cCWFj9x7kxNW?Fpxs$*CG;;eTMZFB7d|N85+(~e%M`7;2A%jlZ*N_2)) z=dsi1R+detr`{LNo`*=*l#2-!aX2XpwzEa%h&P~k7Bh^f>g`WO-&w1b*VJ$6*FXVc z6DdbQ`*em!4ulMTqA-g+fCPFYJy0To&3jVFb{8OK zCDBi%B3_Lc3bNB>rc;or(}20=mWkKQ98GU^xg3$Q2%&?ufdRlU6#li|gEzOju=Lm% zDa!^NNf?)a5>jS*g_>S&-1^RMCMQWv<6U1DHMn-|TAdK$ta$zPlgleAo+&OV$<%Zm zTuLs57~&&Vlc!CaD>#3uqpdCS)*EkJNCs)4*YC&7S+h9hsG3x?0-${}@iBsEbowskF(N z5CTSrh*t=7Mv+LS&IItvSMTbAbP}T-xceptS7v|OKgXt?Of4Aj(ca#km7(6=8y^4L zpLecXx9%%_-O$j$HgDcc28k8`d;z}8FB@Gku@H5Bk8?)0A3@EffF$4~0iIGyDJ7W% zlp?A-O5vi4Xz8db_%y--IszI+z+`f~i_wc$)l69UytJj1k_sWfg*>PMJDd|o2uT^$ zLp`0F_Q$OgK78cf{@U7F+Ry;{pF~Cvfz9KKrg|q$8uz#2g6vCjnSe+o!4;(R2W85( zpdukaDNvUS*@nRi6`xTWi9Gn(503fa*0zBk*EBY6{T2`=)zvk!wz5(S_(@%Mwy6?{ zh#;DwK_(!D1xX44O5k$2p&0=rVsT}7v&6J%f!TSv{tuQv`Q6*ku6g#x;UL`H+{^%Q zmuc3{o-^l{TnOlz4gm#+QP2d3*xtc-Zv><;6DZGPL@C%Qi`bLzN-D2AoG)=?0 zPd>R5z^|H{niz(;hH4rc#S2$W8wsjTD9kc$$Osq}ezyjlrHvp;DP(7ANTwu`2^$1* zp_Br)%@K~KP}XPe9h(ukOE>XG&BKu|#ShF6PPlYz-blZ2Ge_#0P9=kM1eC5Ziz%lp zkYjWuq8BzaRR7NRPQRuA`#)h_`qEgd1_tyfLWtV9X897Ch>3*7d8oUMDFBXbA*)~{ zbL%>zOhYUhh7dwomZdx%pQMHtlv*k)GdLlq-!~nH@V%xjp!Kr;a5o?Px>ln^4Do114OlgWWoPd#;S zLqh`_{rIETZdd9~LWo>?$|>f(Z@gj6pFe+kC=~jO&*!`Jo7$|dt_C55Z+qvF`mCJM zUKwiVlxdo>+kk*+IF3Ik` z5TUjMM?z(cFE1)CF8b`_n{Iq=XCis?g-e#~SvG5y{`B;dpLLI(HZ8Gp-TNZhx*4^# z6!rCTsLk~^KY0CEGiRxcz;SqrF_(+F=1+r@NMW=~$9NY}GBJVmyOtufdp&Z;6oCcH zp~X!W+P4;lwS}jMM~kE~HwS&tYHMq$rU1BwARF`Cn4-C`z#D@rz@SnJyCM|N7v;fn zCD8uDtC)1JJP2VX4mWK(DdC=^< z;=1wkM&*+`T`q@P4q+}`5u2ysml8m5f)gt&oH;%PuS>#q(lnQYpHr$Sf})~FD=I279U&Yc1OuQcr4Wk5z_~znWwg+GIAls5k|RD95~7-w(iRfJ z_eHD~Zjbr%wQJYvlu}nRW}W`h#=RBlp))4|-pr%tj`##zo;+_t#%bi}KlIF+HOrOD znCAGEP7@YO4cH9K(G;b+!E~3fvHy@~LPIr3%ZNx9=c>cdc$JfseSv{Df&=FF!(HtM z*6rK9b;-@wT+=}aNrP=}E}7KRqc(5etm^CQF4QsFEw9OGoev;iuG z1eDXSQIZ29_nSn7C<7FTBJk-7mQA3ubZTBo049U7rQ#X|Y>AJeDY>3=OyfcTLcrl1 zoO9S*fD0jPE?M6|c+JZzi%x%S#-Hh)%jXpQyuQ9OJsw9Et*ro3S6fS(>Z+J;>7SpQ zUYLD~JrEX&WDLsVqBJ*;Dknu%Bm|gl5Yq)7?t`*Z;8sd9CFPV{?|g5-|L)8A+2@@3 zRO35`fbdWa7S&h{N(jWSe$?q^Y@FY*9U_rn41Iv&>C%8a4o%Zwx-+1gp7f+uN&{n} zxFnxI${U`z|EzawY8qc1zP^-FaoyLNV1Fa9|Au;I?V=A*1#PJKP3&v2cp z=^Bz;P^z)?VjU#YS5SmfC=blC!FLtF|19WpP+JoK@Xo8xT$PuTIk~U9O$KsGOx+zo zbf5>p>_T|_nGixCx3C-oz3m_X(R3F9GpUqP>KY?`{R2DO!oBOix}2e2`^&i{`9*1bo?L z=A9%^wY3_lso`(c-F9JFrhi$f+wfYEK9x1!ON5m|DxL(Rgt$Fk zu$(--BqQ&8fmr;c*J^)z$t@#KKD}`KoRi}%n|6tAwrd7ZTT6$YRozva)jfUc zjjj=8(vI6K+_9V*{u20e=ELJBxN}P{%5_T4Hz~3_lfZLFK>0NUb0~T~Sp#>)br7jm z7^w&tpS0)XnlrkUx|wN20TyK#+nK`TWCYt{20~FC{*;3f-NK^wUcA9_(f#rp=sUR* z`SYqFYzxlL^+@(6F{vyQ1_m&>Y$R51Z9&juA$M{n)LRi`t^=xF=@i!70RCK@tBAwX z`Ffk$bxbPY7~+Fh3dr^dNJU^f(;GHe5Iju9_82FMpZXJ zf?O7RQ!sjkc;Z;@97`*{HU%5a+`sw>S|R}Q*-#|uY-EIWlZse zG4>0EQ&ZW}upLFAQK}eGfZ-86>6={dc>;nn9L5qSQh6dT+4LCN4 z6o6q;r5iMPtgirvfiEdADdtOvYCtpERO2mj# z3WD1Z+y>QjFwMZhN-F6k$s9ptZmy>C^IZS@+aHb@UtQf80)S*P$p|5QO>^^3Ate(^ zDVel1(f9!%CD^(1KyrhSEuByw?Se{LPyr8QX*N`@j|huvgbOGkm}OZz2_fpW*Ir`) zczr$O^lNr~XH22_%Tc9n>}wMum9mN3B-HC=n%B#q8w8G>KHwQT2RsHC1C-#1MpEeM zia{i!a@4pyHGTG2W6$S1FW=GKxxW5h`~v_qNBUJf2`LyMJY6PHB`he*0*Q0NSzlAr$o~_caN4j&)CVh`J1yw*UXhvMJ55QhY|bem1la{;$jmKC z2QWA(2*CjYWabtPwE)2#0FcRKQtRyx-F)%IS49r4mqEANXU|>so#K4&gQmd(j1mYT zVA}%mgrywLLtFoSahqjXpAAIi$B>~PCsI-=C7DjSOeQI7ZEd~vj5E&YY-(!KhJsV; z>+9vAd(qGySYKanzxCEzrBce1{eC|fAp!pR=O>Y}k>9g=d;UPyydQnvG~M%8uTJjE z@W1$OZqB|7Uw`AO!DhbFcTG)A8X<&#`rh+b&X_;rZU_a%dAdxl5`eHkgbfi(fKl5S zlP}Nia_yN6;InVC94=e7OkcQUiL>IadoP__T=35mmxo|AIXO=04te- zl2dO%mCwN)&-@$JmE)j90s~Qkq@sBD#T{S?0|T=FQV;p&wG)pYnTw+&7eazEO;>pF za}SnpR=DB#=)p)EF4I&}gbX6`pqGeJV0*8Dfh1$&3S(kqu6ER$*H5e>^;_N^n!R;( zb-3e>JG>b=xlc@(Frg?CPY6w8j8S^9B%7u&WM}#Z0bdPL@d?Tp730Q_D~QHoPyFRC ze;HF(R~H+akj>4_tfr=hzp#Ay_2VZ^ncmw!;B@x%>1DKKuOVF+oVLBjo;6XkbgYr+wXy_dojdS9jgj4ICtl_{yoYxw)2A)z-;N zJL><`PA4qV@?d(I6GheCk@t_iy0|}OibMjjnwtC=AvMFF|0}tNK>Ec0`LD%oBc|H9 z(zF~xp%XfI%ORV90*Fh%H7SWi)C+rnK>#p_N{=;wfG*LMq@u(}v`u~JOjz>Y3Lrmn z0M0oC9Ry$@q|GHWtp4!g(oMmU%y}@opb&5zz={EObWTYUkH34L^g74Cyd zCA5U#d`ww!Fy^zLP;c*=i!IeqXe9SfoaohPYP@FCdI9w;*|GZxG(!BSI@Kb1szQP) zsI-+vGu)t>4kb7a@--6%C;>t=NZw6F{2eiJL_uDAr@M*}yfC;9tlFhZ10JvUQ~(N$ z5c%e3Kr99ACyM|^A)bF9YHM4%T~i0K9WX*bri_4?HyVl&LZnnKxBJwkOPBuRw9`(D zD5b~?KcA50)zzPi3k=cTBZzHrmYqq#9R-gk?b1oc2lhG77@#^5y_ zWEN%9EgKGC`rI;U2C}8MXZKytED5gs-m>uCWGLE7BFUL51u1lmLQ1HV4bq!L(h9S# z1>Go}OfJj}jK9Q5g>azhye<0=gnmsfsekcEe8NiA(wdqrC4Fr1i)p=;X>CHBZeV~&!ZCpnMst)gc6ez3G1Sc-hZM0)Azv&t7KNm47O|6u9kiK zRxcaWeh;p*rlzLxgph4Rd)|=AdHM3?6=h{*zw-P27iyYjBoYbb2!U}v{{yV@$9;6LP}$nKoiaE$DIcULSM9si$r~w6ChFsw5!RE1{|B?q6`CunS*3(43gm< znErg|3~;))kwo`CnVFdv$PLCP0QewH>_7>$m_SXW139`tSeP&^f$@UlwXPg2R~lRk zWCkynOWNyaNZ? zPQL1@s~W4Ssx$z6;lhRd_S$k$$bsj_$Tr#Z!WWlcHL zjw{f-6p^@tiKV^@5(+@|Z-vXS4dO^lEY(V4QHuD!U9eLru+nj`N=Kl0^tis})6QHO z8VLREoD0rbGdS@NE&`yA5R&%Ye)Q(5V~Td)Gc~D5LN{HL&dz*ypDqS`KEf23H~IPI zO+8jp-<}el4~c8U3PQ*x0OC*J_9aWDL^|2zQbkE2us`o#z-5Y-;IO> zKmmiM`O$T%lv^XLBSF;euw4Az<$J;n)nHOeWjkC^%8AVdXN+n+ef{rV=6~z)QHJwC zW@NI3#5M67S&MAnsXqPDJ% z)_=18jlU?hu4>QT_N<&jo=U{2EE`GVqbi_Ro&@J#PeFgb2{h6JGByjeAPXuMg-WH3 z5Ui+NOU6QctPIb5+TPYL z`@<*t0}O(5P%T}9+p!ZM3Xt3ZA%Nr|P|Xj*7@$mWRji~WiV`_;=p9z9STV0KKmU<2 zoDE(79?PoXxq0%bW+^T$GFd7*3$vS~lG_qIci#9^H>l?lgI zxMTqhJA`s9Yc;Lj%d|L`E*9DH6l}u8@CQr=A0Z_lCMc4~5;G=eUAiX=&h4 zlF+z7!V0nI>AfhKkq?u27`Uat1IWmCPxN`z3-3I6{AtHtRR8)nnWKj^#TOeMo;adp z#AV)$pp1t4l<6VNmstqY?Sm8of~O$3omK`0`I_Zm(ySy6F|(b4gpEw#0O@vi&$jy|d%U-Zh$y(_O=@i5V}w*edq zzyyPVs)BPJf-q|Oh0@#rGXSaslwk;rl_HD~DW)D})^1w;xSv$kT&q+q9pb461_RRS zfE$;+SYMc9+*npJ0;yz@Fpr-oT?ci!p=>)%6A3^`1)^ynrU9BY6~yHsmZGe}W2o;I z1b*v!;05~ECFlNa_`&Now{_Ok9Hwg;5q$}p{AEDk)Btc=u8vfkV&JpwP(mPc`WP6@ z4Y&9Rmfi|YUxY}@2MA^|XufQSa5pHp^k!$!+>Gdt0DPbk0FI)_BLW)(L9_@LEJ2}Z z1VOKWD+7R)LS+3$u(N-POyUBjoDOJiY-(MPvra8XXZrvM4CpQm3CqHPSPWok{?KKM zXX$P|ehhR@h(l?5IT28zP?{y+4AcLV0#qsmPzGuk2en{n*+`~1sNVn~gaVRy4IHz0 z@hpAWvbDUfu1+nht@Y&O=GVKuK4n=p&G35>NhBeJgr>2B+9_i!ed0_56Gjx~A{tKu zN>SZ3RbGB>?H~X6$2Y2~s$xTa*B4)UxxTQZB$%=+!5E{urorYMx?-@T1Iu>caTzdl z?Vxr&SfnBy)FUN?kWfld%d%u{eqq6hC!O@iWy_XbO9)X)DMBe#H8nM2)tjr1%gPE~ ztDDA2Wh2X7KEE%$NQA)7wawV@+`W*N4R3BqX&}F3t~Y<|MHzXesV&=ER`hhX-&I+; zU=1MzQc6MyQ3OEq%9XzzGk(G?Ma4x>A_}qVX_<)ktE|u#CgOXgauS3RMyNBOEXPG! z9(`7Zx+r)oq!fW-!CbJMA{tn9QFh*pS>NeyKk%JZZ#3OT>c}mF3u?%GrJCMvKgG@0 zUBeQq7m5K(a~G&At9Lhw&8q^2I|0RXSXM?*xXTK>0Zg$)?gee#iq(3d*fhB;yEw+Jo<2^75`X zhJyIMx0GuxfCwRNfEeMPu8ps5Dm?YBQ~ICDEGS`|n1T?>2m@fa0MpBCE6PhUCECLD z45idoN{AT#WQY3q>+9=fQ*EtQMM&?ORc}8l^7AiJQUTn76e;kWe28mqgmcC@&>w#k z#+tW4dMuEN97u4`j2tK{0jGUGbLqMm<-%=`E}ZoG!lu=`|5`dKsu3vWfm7@;&1BNK z8o=U#p6G_qK!|u<3BsitAa2A%T}Z^*VY-5_tpGHk0Nw+*bU2m+CzXI8WyEW)C%HNF zbb#DbRaM3Q^5;K4I(h2Uah7FsfM{xePx^pdnhP0?L+$JUGCfcyPJt{4K<(`T2I6pz z9S5mX=x=-mIyN89sC)v;;ghFLAOG2>Yagwvs+xS>6?2VjpFz4hw;?;10T~S8kPW|| zL5j4$iZKe#IUpqxy_@j(+Y$67D106R`9TKFbb~VwigLX$bq%9N7sDLmQybU(TN^YZ zzxK{KH{3QZyYQwgw-*4w6C7O&dr>;87`n`YR0NXK()2D z$!*(rp8w-t{;qW>MdwR*s;^grnFbesU%Mh)QI`2L)6kV=JCaaJsiJ_QL`q3j+OrJ9 z6GV<-QJGwgSl64UEL%M5v7Vm49ekg`xq8RjZ@+!p%9SgBJ9+Zt-@Nk5E1AJy@UDV_ z0&gObaHN#l&`Db<1ug`LQdANmMwFF}P0pBpf9my@emdpj^-XWT`Q}5C>g$g`e&JJx zt^=iN2_bdZyuRttg7IUgL(`;!WCu5Y3|c;=1e6UpNk}U~H6-PzJa)~h$FF~!kopb7 zLAbuYUM^iWt8!j`)-B^RH04+hWFkuR+U~bMvrg&mK$?$+Cb;ls@~34=0SXNw#Uhu{ns#jijSMDfz;$sOx~Hr9pQn z(L(`5H=r3t8i=GKQYx4lN>9|1WdK_0>+9vKufO^GaT6!aaBN3VN*JRAnSNhd3mr5! zODPeF#o=|kz!*g$X(5(KAuH&IWjoZeEHQS%q)Cxz^iPD4%au}e-MjD3$;imOY9Jg{ zE|-gW-7ZL#t|JMh5Vvf^5=kg{L6EKvrI0@5S`G)L1X8N>NmmE}ggR2nU@+tAH(q(= z1*O!x05EgrO#Pu{58aiUo3k`4I}0AK7x=1P$qJNK-$pKiE!$;@fj0^mw1^3qHHK5EpAIkyxQ=PTa&ju1OuU`&(L zXSyMs2$Y^fVYNWYB&@y!;Yo(xR-Ni@23K|ggk^y^HssFF(SP7p)pXGap^eC4({jIm z(@T?Hf8|Vd%7=sy)zqR~MqBfJna%^3jmUl<%-Mmq-9dQrGZb0?du2kUf|Nj5pjHor z>Quc2QB`mnSCg^~EfFnS)aIP9sA*Nx!#KX`=Y)`yQi`lzI#y=}4wjqxHX()r3p zkP-y8fbwWc45TRC6DH?h^74*V!;5mHEN2IehT8%;1;wGBj`eMA9Vf3H_j^gS3CAif zpfp0sm+qaOuaqjKYov$}q8fgGY3{gLb8hhZf~763;bnx7mBW2(0MN5#i)yZ|W&YzA z{^*m>Hg@_A{Q_n=Wz2DiIapOpW#>R#cQe>o=OgcfRnXR~0__b0r35O&1q!94aMTz# z@y9Lk>Psh%I_dL|QroO7)|cTia||y<24yGz<&+9j>CXPXzEH=ALSG?K7Iz$na&9Sx z4oIt=#v>YWdoy8}C6J1NQo!^Cpi4z`RKOodjsC$8E^+PM3v~4Kc`D*@p&JHOP(U;V z7&??ogNi1Blns<*LuUIREeG0%yFfRzK%PDW&h#>9O`n7A>4qGY2cje$=-1 zF;Y9dw@-H$x>$B;2|7D_;4&Tf{RC19xZMO&C`c(_7z9Ev6cz+<);t~Wu5ZVpvJT|9 zETlN_X{Q^jKL{d`v{6xBgyWAJPyIfZLF(&eZEY<*w!Z$?E6)Da+qtIidoHCHgfqfM z`4sPoI{ZWu1B7XSq=0fkI)*MCT?GT$#F`nq@=mOIyG=DzvjzZ%YQpIQbOR%#rgz=S z#*dSc?$en&OPX#UQ&K<*4#BO#y-PwK0=|x8LvTkxNv*59@4g@Z@^|Z-nrgL$3v0eY z9z+IX|LW?LB7|JNaru%hMY+Dav$Nc~owS6Kgbitr5)xb}SeAoC!lD|1m^doud|Qy; zR@F4#*w9eTP}3*~A+n*NfgOMR@i(nnwd#*=z4g}BZns-6Dk{ndhr@g*hURc$E5-C^ zR3xX*l$-y2|0k=G$vdS|pPzW*!uy7Ny+hv}I#9g*!rx|9lxALH&=jO4LFh1sdnG^= z2Sf^R;%S$U6(z7k(nFHS(D`Tp8=C9Bpqd4My_RA#DUoiU4jS-MqbvuK3lNQhBsmm! z(lHgL4lO?maG5~L2H&#}6cj8s7kXiU_8BR?_sLm)pB4zH z93e>_cfjKgG~t4l8HCI01#Au}ENJl(=o$fo4Q6vdaztVjosJ(4Pssd?6br?yRa-hc z<663E29S&ZeIH678ifEsR&EY*a`ND2fSKEg9Rp$9^qac@0&tHP9?D?q1~zQl4F(F+ zV1QES&=}kvFY=)PWFo^Oi-RWIaSM3h124JxLB^NW=|c}b^umOS zveWmr>=xMtg%CngKxvFI43*JRQef27IWR8&J4w8IF%q0&j90^P!HC-a*5Bnj@4tc5 zZ+dv?1D||azGU|7^G>|}dP#)v0#u=YBjg8v)2M$WXhjuh>G7Z+-VE$}9nd6fK>&xq zMN`Nu&=K%z=cCkUE2OX;86bx^Ro_sGa){ur2#L*X~>W zn8hyou?Yg|@_I0G)JW2{Z$FZ$NIIqhaxl0l4PH)}YyWIQTk) z;OoG)Y)K)tT`l`}C1T-UH#9V`s;X)+oONWlq$~LmqMB+ovatTX4;z2HA)ZJ*RG94^ zXWNdlQWi-iQ%EKfNW_z{QYmoG5eRrGmmZN5Fs}XgpBDb(yqd<{LqTSPHL0}|PB`KE zx88c|7LUjCo35@dA%tKD!B>6ZVjHCO8+w0A2%)*aikOtwELyba@k0-v05D`uCsy3D z`}V>>hJvFA(e(5egaai6k_ijoNl=l3rea`nK!Qlt-WqD{IMDk(6i5~71nR%&pO5>( zpX)g#DJkU)-B?NgqH0|t1!_NU}!+llMX175^!tKi?bmKLxNCjYYWR2v26Ob z6>t0Cvv>ET=M7YKLjya$rh3)Hzc)8+_j=CyNq4s(x~A$d*(_dodYy2eJ4X2K%CXeWt_Wdfcb zUkLZyqmVahGzv0(;He~{Qb%u352CwvBK2G&_I(aAA;xbuQC*sbJ_DxR4;=NI4Fera{*j{4R~ec|z_Vh_rwA;)})Vrl#M_ zm^tJ0k5)Wy2S-jdq*AaPXYhIfO2}Z2s)Q8{gJsRa+I^>@P7X(R>dPZ@vHjQTLxwaurwi zIJ{5Y&^b*`$~hq+2~a>`hysC$GX{eVCP)O6!5ACU(*{3aF!%wRATZcuGh=d&nh`<> zMI@BdC`^t$oo}eB_e1vx0TS`~ul0M+T3WEAzIE%SI(5$3XK!StN3o-`3}&MT4ozTe zQ51r?v96;89d0L5aRaie2OV<)=&G>L?lrM#gN@LpV$3`2GB!9cMXcVsr2E1P>-f?S z{(HxSQ0?))_7BZiPf*|XsDQ7-4b7DRS5#085Do>BJb-Nh4i{|GfV;>A)}BW1%K{rV zYs%Q_VicMmnN!?}<5#SwaCLRvEkL+&_t8&m%vabH*dmKg`f?fg(sCO(ky0Sj1W;C^ z+O2E)hA#fv(a#=Uvv^LqI=8Oj>%GVH(xdln0k8$g5kfp)*L~ucA&q241Jag4Xf72} zKpF|~Op=>gA?xf+HnsHHYi6&U{r;#^uO9~`U?L-^Z0Hb`9D%y`Uw!5*qUu+}0Ha7m z)XqF^V5t*-4k$|1&;bJ-8W9rdG%}n+RTUJuoFLmmX4iJa*RMry?Q=+i}@+bxSsf=L|Y_ zSoP4!QiwbW$%LSyp+m~=su(sbk2EKk>L$_(L23w)0>X|GPj8T3A9LsB`G-jr@4FaYP0eky%sLy`_$q1B4K{_r_~w0-Bc*6zN`rIc9x=)(Ss03@L43?9u1DFMzoEL)%>&f#(B5O!7&9;CqG z9|*In2V4L`GN>dl+@Hid(hV+hnKdc3{SP@35w%rS%A})9)X$f;*-8g@ieX7&dNTVi zF%=L7AW{I2V`GOOdoYahjtaaTfNB4G@!<7Md)xke>jjZ_zwU%<7u^*YJ!bgJB}Jie zebFA_4HPm+WWiS4K1kZxhGkhW3_~(V+0@dOYU%8%T5w$?Cc|My)z#lfb<1#=)z7WZ zMP~J!Dznk$w5or83}F1yf1h0!bjZ^LH-%|f3_?Ir3BiB|ZkG;S*T^!tEG_V8U47>1 z0Pd}yThEXK5Z2Vx@S2($BBDFCZQFK5K|w)@VHk41118#ERs`n%5^~v-Z zGoCsWmjY2lWK+jCZTRA~$h`vw7T*wXyF@e=W0svpULb_dj-62X1~8F^;29WJ2}1ct z!n9KOV#kh)PWkQ2ZMB1|6gq%EK9?r$=zXl=v)59i=B~)N#n6zuj_zV*%PXIob8-AyW;&?ASwuP9x2v#r;mL&8!ZFIv%)Et6jltD-i5*hCCxYeGt zUAy|xzx2%sFIH7XgrqGn!|g_8O$4YsX8%o#{pEC6o4!Ea-&Z3vVgxW^1jKR2+|k`=lZ5uT3X&3Lk&eT65Z<;4A@o8KB!v(#O`yPOLkI?&DY$FdK-6yo z+*%eCr7%K&Tcreni)@6MG8tx%2;i?L?ZJi?1rIFoVgB$01`V=cTMj9u#Kg%*{$;?B zp@S^j=6M0XLX07uN#pa+SHZF^C@h;|V~jy?kFFi6$ne-B`0BtqI!}g(W4wdHnIm|FPknclLDp zoh{uJ7Y=a+CqNr_A+)`p;KMhUprtc`>4#0m$DcLhy|n@t}1Wzp+@BIQdPNIl5MfR5GY_w|HQ;1OAW> zt`o#o3uqHC6$6UX0p8mKI5Lo$16E%GLP{_vA-*k*z8*L7N(X4Z#9C2czHwRYVtIdc zCAD?54}V}#l0VH{+!m6+sJ~rPe7O)v1_%Y#UIoG;_&h{*LQ&Rri3gwA61YyvI+07T ze0_0~;c%GM1FRuZ!>g(YsDtcHtM?>g{CT&dlkBu&LjsCOBcqn8j>FDDeB-9QL$Kn} z(FGkx@RfhH*->}sc3G_6$Ab%4lD znkI|cHuE{1&=du+L;`}_&@~OAygU?}rc6HjB(}c$PWP7MPq;=58oKeB!r-=s`|rsh z>oRZ~z-q!_P$cr!f6ESgTPotD0!PL^szP0~_!lECseEqx=aGgz88qzq3McyqFJE$r zuIoqHQt~VengLLMYZ*VS=ZE5*obNIp07nB@ao+^GR0b%!)F9Hc0a7Np&aPg~tc2PdO+kdG8* zdki}Ti}GeUy~;axKX=KQzx_qz<$hpRU0ofUFlE}mM~@g%+1J}^=a=|YmnQ%ra(&nR zi07}Roejf~5S;hL6Y8Gk_Js?si+sK~99HQ70vaHjb4E>=C=wCakG3bg@zDHGaY4xl zx6YAcR;O4u@Gh9{(1gMnnR@s@3=1;ngb_q?Hj~rnX8& zNl@pWsc`745%TW@EE^Dgu#62d8f~X!GGq8?$2KWJH8pi#8NVL&41kcC#Dg-?Q`zb8 z$f(7z!O-DS7@P`0X8?nQkbos5Qno|R?T)>uDjtfUN9uRQ3 z7;o902y`{xm96F12o;I~^hF`g{}rstV~|Ot;B;spMMdAlpCeN=6Mlyau?87V+_sYr1jc6CaqA`WS1 zQ_Ej3co4FiE>%i2cKeY^a3E>nym1_Jh8nc5odi>5G#m~Gy@5a#7?WnkV5+LX=ka3W zrgix119#&~v;iO?_ZJiUv)&|un{T)k%oTuTn((+>OktYz1_EdO`TqNV_lIk)={(`s z<5qFb2ivyIT`s5U^ZQU3@`Lj%im^ZHHBAdeK|cuDot9;qFbxA{CXG}og;Xj9RntUX zULMON)1O~)%PqZcyz}lJ}qI>pze#^uE>izgv;p2U*JeW?nq?DWrMgU!71zI*)DDWy^yCjliLtzA#u^^cn z(i9M>B#1Gj(?Gl5MA38sRaaoaPpZ|0fYurG7!4C-7#$SZ@yy11hWu>oM5_ucEi7^{ z4mUWtAmMkvCO_UJd9_r{Lb3BV#cv_xhunh`(*R1KbOE!zH{ zWxpRbWMH0JQyLIDBLJ!!ZSCkdaq(Hi2v*Wi;CF$h3<2I>5BB;bv30 zfU4PuW`IS@^W=oQxL^!&TdxaU866NAN@q;LIo}_!eZ$dYdurQP)_NipW!hg9hX=5j z1WV(Kb_ZoblQ6hA58P(3g)Ny75Vm0#7Uyfxp1!}|aL@VgRaZTek`h#R-#*UX-fZD)In4``1h0v(tc_y8C|=e~+F ztFLDOY|FB?0+=C$kdkwd*9W{_h0tNg~Z@CrZ@j#~2V5&-)Oa_KwY>7l7V(#3z z-*}E+x2~P1THX`7c|lnt@ltCEjEO%@k=|H~J#rp?RUr6UVWlUtT8)D#z_7}kDP9*Jz} zOALNT#ybKAGbJ!-&PLfM#Bv3l<+-$X5 zNLZEyNep%}1(Ou;qGC9<>_kH*fT4*rjvtW5hfyb@eF8iqK}y!qwfBjg!-}YzNmeL{ zWR@a_LsI|=w!fC}^{3Wf5|)tARlu}?@r7}Km=vayOatBRU1F!R$Voy9)8?E&$VS_i z4b!r~n6f_|Oa!o;^X;!@5C{qbGKPWjVjnzC9YP4$+$Knv$g#ylqrET2`ueI|9uH+Q zMz*a**P$p3s?rbQ6JSyWlLDDc8b-!ICX>!OVAFzSa{vT~?vR#gQX-Lf2>=w;0d8gx zC@4nBz~R{Zuj?`7lxq+iFcN*8&0qvDe=&523wz#v2<@xi0=G;Uwi_;uquiT>X-mWt z5?+@Fy^ZV9w(WCx%Z6u>qX3ec^Tl*DTIDxV)bXE3(M^DBz+fo8Ak<(!REGnDJua|- z2bqkCcvCmjWDG_+g+xa?j94#{txX`NBClegjJ33o5iEQO0GQh$D4ho|3$9@$aHvU? zPvh9pBB6F#aJm&RQeaxycSt2bQyI9%vLHWGzelP2+ds~Py;Dz zz=#^FH$OD>gMo(?9c!o|uBy7CC=yB*d<_W(p2wgKkdpV9EZIYEop<4LuLD^<+8;u) zPZ5Z$6W)2}8`q3@rL9k%$QYGC+S~WE#8wa2mp@ck#sx7ZxDYC79?1A!*dJd9W%`|h ze0gf)hOLQ2tn+%LQSX zfNjGxElAr26M|`~$|nRvv*Qycz9hd`H@~x}NFKP6sLE|u>trqmf;(^|-F79wT6=`zVlLmox^?`l14eFkDupvd@B>@Oc1&gPkY;T3S zVK3|f`AD8V6~q`AK=Ixlo=Bww84)Z1(3uu8#)TwFbPy@@gFG9SZ6)-0+&KNL6DgIk zl~l^WVVN|{Od37Cark{6Mb$K945Rm;V^r7i9Fq3#)z2Mol~s6d@OhMS!?LlD&qPJO z55iWUDNZmlNk|I@S2S))5iInT=jA6RgYa=(ZIx1e!wu zFPvsukT~C;b~a5@2yRm1$EIm+7D8lKOHG4p+zIi? zCm_y&L=xh|55T5R2ZDJZNY>Zahjco<4aoNS9`e~yKOXj()T!s3{J5}VzfyQQ-^_48 z?4_7#!8SQ;i=ZotByvil!y8Ry)aMu9<&GVSeJ)Z1i5dy@1a?P1L zkN#`zJdN;@UOHl+ZF2}AY@S7KGZ6KYH)abe#3TrcsyP(VwU1lvJ1=jz_RMGc)7t=` zN=T3dG8qGD)56i9x-<}i_L@I3QfNha*s>BioTYJINTe|1W zc}JZv<)}W(=H+eeol;6k!v+lm=NyJ<;5)-`BpmYe;9Tps2_{aPqNo``s51i#21Lvltt8rD2%{j+iFSbNevk?eSE0Bh_I{j3U$Y69&fy4g zxC(U`eHx-&fOKatWJVu6Q4bt$z+aSrnRcRgN3YDN0}%_H(HED)HUVKGiin*bUVcmI z0M8VM>=SOgmqBy_Je6%%005|f<^)_mhN7UzbLL;u{^`~8n)aBdOs z74#o@bdi;K}ju{VD=!3Fy2iW@EpwA4z&Xxs)--XOEjk6ySCs)f1Jw_U@yYO-gfn z2e$9nl?H$`%j`;~*k=VEIuaIy1k`VTGE!(NW68MDG^_IPU$`{nnWkNmHtdp&VU=dm zMzN|Y6+3q9iEi7LTzSanOZ(ZM{`R+PCjRT_BlAaYN#&2ppXz@C(q;kzT-p$lLrA_q z3Rg8IRi7HzKbzWGg=Wov?z8t_965AgS-7XSiw8o*N+47KA_mSyc1^HMSfs6efKZ45&&aFv7|{x#`*vNIy;NLvh4QjrE|_VrBW%VijwUi^7$cm?SxFHfkYhW zXb1WH5K>50(p)C9iEvwUi=|#b6ZhKH4K7F z0hk+*T;pD^OI^81e`eZmHeM}jk5CRt{YoSe4zrIVk=8kPJzbd*{BgB#&d%iI z={Ayof;)7cmS5(9?#Z@iWm15YV7ikjstRxmc2664vgZTQ+w{kV8_rptW!U<%hMgti z$ek{hOv1`!;Ptq(w2ircB*tKv7A)IF+Awm=EgJkGjwxj+bhWA25OW}yMUo z$Dyun-M#nTo18px!fk!!6;HT49@|dZOjT7Vin5>7L&$7OgXf&EZCSAF>>rzFS(cnm zCs!0ji}m&0ao!bI^yU;xn%{fpofRWSjXrMB#2Gv=Y>L{~vKazxD0Ae4TnbV120CWccA+dX>hGFxb0_<2{w*KdELUI9~O2IbLa19;?I9;&fF}TMc z4z0M1>mx>KRy1|T6}R5rKmXPbK3x83+34HniFLoRb>>v9lm<_cfx|CyB9l;HwYI}q zd7J?nUC1%TyGUsX|9 z;JS&sQ7~Hm1Q+JU6>MNP^^wZGu@2Al9pIRiES`jQOg6h)2 zxP)zUBrO|W3B@CXDCg|n$HtC*ud<<`Ck(Jie=9~^osa<4Y%}gi4)LBl-fx%mb+*Z1 zVX;c83R@B#SVQiLD*OYN%MoVGY#19(?Yh)?V*$2c@keq`%HSjzixYq%hF`-(vY-(+z zHM?541bv)N#2znkVsFj?W>)?0DL0jQgCA=i2U7?lSJL@f``4Fi0TBV*HvChs|M-VI z&u={6FVoRc04r`>bYu5ynPH}#hJb`3O>k+$;%Q`%fuY!xNttByWcC2S#;UQh3RO~O zW%~Yf_6d%2^ZeeCj4472!H5`CO-CZp2O)&b0CjImTW@o7`*{~$7k+zjIIMn~^92CT zxtdNJ5Ry2EG$OWt&B?CMBA2QckUUp&&iz-4ue|Qup)qA|YvS`I-R6>T80;YAA`$>H znaqy9zCK=1Sg0VClE|b9p%9c~jsX%0!0mxdBtUMDRNZdkobNgF%rkp(K-BM%#{i@Z zvz1T2wlgIOfwCk(K&oAb?iTRoS?F!oV5u4kD)>$*!BF3EkhkFg%Sj40{O*@c08Tvi z!8d;{oPl3U-91IBTE1jz&VQ4Hum!l)!L8J%BHHH*i)Rr7FIvdAB( z9l*j__dInMVqLSKX@^Tv$3fMOCC$M^D!z$BE(13=uw>uIi?2Ux4FL4hTOK&33IN22 zy1Kd`z#tieB><+WS%M)(uq+#bShlFF>M&ACa3hYLoi2RFEDZMw^f^^Tg}_p7VqHv! zGep#qF-S@f>h!t~Ke2BqaMHNZfecS)bVUj~_q@Nm!IRq@n&jBkL;T+xiqx|Qc5i(6 zJ*^G^xg4I5qG-C)p`)z0hzNkq#eQC2Apx7)-`JOt)qnPEW4X;a@&bPNy&e!_k~^G= z=5pp!bv4hiOa1GG=bk%d(&Wi!N|0$78BI|X>hELQ&u+sxY;NxdU0AjS!!V%hx|tUW z={t68e}B#ApFfc8iz7h*cJA9(<6XY|xXDKx#j5Xog|B<}8Kr&83Pg9Whn?tx)O{G^ zP;ht%_^c1uVE}8Faae`{DdUhLgCl-bgQ;g+&TY$LpMA0vE$tmO06;{%wzgI|t8(_g zUU~7wQ;wW9`%K@!p(cnlg%J_wu#*YcMg~raY?>^cf+8hUMT02>Ov?gsVS2qDedqSA z@2@`njQ#VMQqm)j+!uDaPdKrB`2Q&0-kZ3R))X`2M6^qXR+JBYKrt+-Bi>@8caI0f zrAZWw_rQ)Z@QjVteR&YP74C@(xMO5Q*|>hS+_QUixSx!}{QPZyyzpo^eT7_erWKer z0G=b$%LPoN0L%$eTp-N@xI@IF!iufjoCg5)-}#mu!m6rJU0r9cdGqqyMo$_w2Fz!& zqyD7J&mxe0+X2lF@Qh43hloDYCpPT<;`I4PIap!D_3j7*8Z_S+{=O z5rYN~9jH4UV5Wt1dzVxK0Uo&dCNj=EgC(ANhFafx3tDpi&`Gk4ZCOKw zEK8^CM*&pV;LAo80%UDfl@h6|i#|JO?5$mGy-$QJ+vGOaf(3;nbzSN3W>BJT=E?|q{1~tNREuiz}4Al`ea(!(UW|S zw+!0YPX-Y|1dA6hRw9vzed?T--}8F?BNc~NaKV}291e#YF1OE)^>(Ryn_AZH+td2X z1;4vvMF^e zJ_E^=bzLOVVAs}GDg8jB155(Iu3fvDN{Wj+6h$dD<8jD0UWa)9Js_FP{wgmIQdObM zJ4r|>nQ5Ba0Z1W)(l18wZ8o>FND@Uv{eu&CyPO8%Q7~>ZdxT=A#01i+fhU!0#Z`A1{ArHUI6gI2^U|NXN)@HNO!@2zoBI4D75Zend)i2S$pq^ zmG8g*ei8t}QnCn<{5I$NeX(~+124f5?*J{(z z(T<+>7BF`Z|LzMwL;)8A6h>GQBPkpzdAOB8aB!-w8mzi*liBc_5f`00p!Z|HCiGrY z*xa^NZd;H{%NBMHVp2$OZbNVjsf@HI7MkjbWl{639qx2S(mFre?=y?be@rM0T2rl!AMFJH(y_fH;u z^w9;Wbo$YWlMctMbFZ@nKpp!U+3J@bq~^~*!p?Lb+FCP6SQ3_0;PCoUGLs$bt5eCzo~J zk&GjqA%T|Mvx1T_DYKd>-e329CHz>EwOBI$6rG-3)yGxe+w1`ofHcJH`b0t)4}A=PztJj?F2>0i&C zI{GLkVhfFo0V|obHJ@KeI|Lai2VfZ>res@uj6P)2y&!2=`GJ`B`Ih{?r5p2S{^c)k z?EO0ZVveI6M6`T%?Tf2=y1FV8$)w#Cjj0L&6(uFi>2?#OL@E)N&24Rhm;$fcX}g?G zwY|G%)suhwpXE|YrLL}SKV2t9B3Yc|)vrIkXu*`{hZZZ9=>WUc?O;dbc{N2>2)ZKS zajFnmhB?KfE06+tts4@Yo~-5)5QhTTeIJWNB4S)^t#Z#j)$x0enEdCWWaopr=7hA# zmXaeS4JBYD^~qj09I1HQ#7IQUof}pqa9};2B(Trv@kv_{M79Ja6~=geUZL99xaXfw zy!7$>{p@F&Laz-h^%rF<&bbXh${fT@9?)l;OFj3e zT(dvmx=NA}se3z8f2zFd-TFgOYxcA95m9pe`t^<6vP!K10|d@JPoZcOa>Pi$FhKkE z!anC*aL%D*GDxLTn*gA`zW#gB<<#UvbTS#XFP*Y%MKaYg0fkJcQh|}u5%kzfJjG>i zmy%6wZ>;;?&o>ewamwFcoa`tYeu=@HM>>s6NpUDpYy}EPq4cCSPv9xK;vdatE=(;= z?Ag93LbM|n{eJi0Ip=%wqIW8lyox_tietLd>Bj(<4X4Ks3k=$@;V1E!ILY7wr@pj# z7w>BM-y@o99*i6$!d9h}=!+#c^~C#*+PHO_0Eo#Pj6KJS0d|0cBqAuP0;j{7O9y4a zOfvgZNGXM;spNBcw!apMm_Sw_d(J<$ulVo9qt2dEVZTruBA0Dj+%hewBpHYiV_yQY zu-_>PX`8mNZ3Ql3>YffYUFtA?{y(p5S$ykh0*8zYfOD%{etzmKr`%Lx0i z2OfB!v8Si!-a!Kg99C9dfnZ(lI#BnDU(D4ir0-3PSyBGuGw?C!G`eO5B= zUWt7~k%k|ozg$;WM*z?pw;$^3NKOwFm)P7Ak~#8-P5&REuKWYrw`-5JwdIQ{_y_-N z#Np+?+5F$@oJ5gJDHo$2u&{Licm%*Bixw?%mzNKkBp8l&xje@UDJJLV7rIbb2<k1YX2e}4zq;|7qUkmee^4Rq6GA(f>QwA1n}kuw@exv^lIa6DT+E{(${Cu5kkm( zB9O*dGHHrci%wb17p*=ty8VY(j*NocP#t;bueA$9MHP8B`$KLYV+12(;*-Ak5^r}p zdD!6te!c0x*CobQMy{4$HdO$CB&IhB$w&weF1S<_g`^Pb#;rS^oqg*0mm(*@`9rk8 zYpbf1V;0tZ_TM{?ou15C50ngnOmbe|0B5}HueY?3=8d`41qX!*>MS3cBJ zI^cn|(%cN955As;&ZVH)R>QK%ULW~f zp6&gAS6v5QTU(`^U0wJ3n+t}{ZcD0v=axM!iw-0Zad2Yd0RIa>GASk5oGaY2@kNWW zysOu~YW|~*s}9sdU3k$&U(~+*>ixwfrPp|UJ`8m_!4ws}oy{;UOL8e?ZbKpazZMB( z>0}sz0i>uZl@t|`6gG6-p>WGYTU+a6mtJ_`n*Dd-%SF_B^wCFeeBj=DpY{dI_I2o&RL26^L|YS_y8yTK~+`N5yu^O+_^h; z?LOb_a!xBK$oJ;w7csXt521l2007G}(VK{4$L^Kr?CeM+Q_1D2wDHUbEiKR2MIz?G zKJu^6|KW!pe%kN#yjW2&V3=uHQdLz+#H5r0mSs^UlOe{K($Uto%QDS#7G8Pf_nH4E z0H#0w@2Agf?hgIR?ZnJbuqQ7R3Nn{_G+6#b2+M+HW?(pN#9~qOtlQC(OlLkxB|4s3 zu;4c@0T2hyKN5k+q96Buf+-7*`23i6PV{&5%_D)s$yO@BnOkxqX-ZpKqKjL!J!7+_ z`?%}%`7i9+2JFK%2mhSDmsM9+^BmjHGxe`MlXv(L!TbFML4kCiO>Upol6S7Pb=lv} zJn4VdzX5E1W5;VZIz}Hc=#nijUC%#V*M04;BTr@yy#Mv}^-5=Fr>w57P61e!`xE)^ z8*dCsrcy`Ip52pFg$)*pQltd^#HJtFYis)Q#y{Qq=ru&K1LyYj{W<{>kzCj2o16dV z(UV61H{O!I+EL1@3Wj-$e0mxxGr{d797-FcC_!sfM|Y3$w_SU*zx?6OCG9zOq=QCh zEiElP5{Za^JoeN>o40MNNToBaMk-!U>4E|(DSlA4c4)Cw8e7|XtVD0`l~!+emoG0g zH<30=6RE^QkNoW}5e|nBdY`Gfj!S^*s;bz}>+1M%cYeMJz^0$@=zg#rAj|jXKm7IQ zPZbQ#n*l{}aZBvDvHGE<0NBnqZhUdfk%O+<`qFiFO-NJHZWs0igz~b3{EzY?VT(sD>wcP90o?WwU%PRon0b^uO znX3~%SNGCop}hQyn4%2!dVTIMzF6ygXwlykfGux|8aoGz*nwz(V|7_!i5X1zx?Gd#}25dxL4D(u|%ZVxw~8}peBE*0ci(-bE|+UOV{8lq%0SYG?EQ%YvPB5m zoKB}VTz~!bt%n-pU{7oR{QvytV+RZ#e6OZyV*zM6Vt81#4I`7WB(SNyz5RyUZ@>M+ zMT-_`3l}czFWev0zP^JDhZhtS7mpu9q>Lnz6)IzHFa{xz0ymp7mc6aJyKi$O66reB z82$E5**`*6)!F)Sp0?ih@m87;U7PISrecdPZz>gE5@3;FN zeC*VcfrIN>y1LP{x3TJf!?(QtW5($>83x0+DyrX@1>bazE0SO8e}{o_n}~koT))c> zb|3nMS%^q!eDkK~2M@|Wd)4Z_^N+aTp|^7X&WK1Xd;gX5DoRTpH%%kHXYanVjy?VS zB?nU|`=ORq{rOTQtp5Iahr7J&WQ8d+nL@)O_s%1Bvbb5l~=u6f2eCZ z__b%(k9XdA=lH=xhP+2vPWmsAy2xIIB!WXz(bm}5-PYDN{ERcsh#q3SJgCW9C{zu; zWzoPtmIdig8B?MlXd;zS5KAg3Ea2GD#O@w**}j|mfBU^|R5nVbqi=ccV(;)#myydk zmg^p;MH;fr<`TNJz>IW4q!OPewru{}C-+|P(su!{zBaxbe)Ls^6(`TT+F4w3vf^o^r}51EnR0+5i_q{wP1p z7)bz%uCu1sUw?f^|JYxde;ABKz641R8WadJmN!ySFo1}B*=v+>&aqF3o^5;f^hNt8 zDh{E&dfcLj@IXTQ3e^_DVqi%rt)AJ_j%gh@aAY)< z>PcOD?X}<9BiC;SI6CEtMT;hKDM!RpsRF|=Af@aw3}bsF5?Kd;|G=~pg~MS5fcVyQ z$N?4(hZz8NFn!)1Gk?Zdmt|SoZ@u-_A2t8l+FI7HY5aW-kY8#Uf9oP80YWVpHqIf` zH1LD9CCDl$7(0i62Jvk=y+6ieZLLDp)%=4OA3MG{=$y1`XX9I^Ex2uCzqrEzn+Ih> z?X_okH2J}hGwzRmpRvQ?FzY8V=xpU^Q{+6XfSr)Bb zCl1->age!=8#j(NZY-oMylpNbkxKi{zurG3Wm&lWmK#@x!(kNw=FXjq&dyG`apOk$ zec$K*7c3kOGtAA>6O8NJB&%~^twJ1b?XUPPTzq`W#rl5^lZq?BH-my)*KapH+5e*ROg>7zSF%-3}k27H!CrW6<^V_vuH zo^s83Z}zii;YV&>CRN=t)?HpSLUB1tpsE_Uo#E+JOM1tiZEIhT?8yG=8*b_c*_g^d z4DydC9l&%?fJmygm5EzzU9D?hxotOqbawU!ckn;N(SH56KYGTwde4C`1U(f#zcAnD z3^Ir9RTU;lQK_#t*>TqIo^1jS9T^?+9APlbox`ZI!R~M1mYZgk0sxKuxOM;EEuN#I z{--V0@<5^oS>*-Qr2yn+87VE6o^$2Sef{6=S4a`6Y8Cv%ckxj6+H0>B zcs!wErX$3N+)OIcl2(cdt*57_wd2e)&+Pv0QU2dBDM2;$gB+2{J(>Tn&arv*>axC6 zYpG?YTrzFP+L~LNsxQ5v=ev$u|M9b-=G~tct^4@Jw%MoNn0H$g7rh9rC?|b;+eLr>VS6+F=7YGDAj4@5qG>2)LL`0cXDrI+d zbtTU~|NQumUE`3YkwE`JAo}P*qhG>*(m9xeW~>g74?R`lHp_KmWRL&;ZYTpIbXlSJ?zrV`Z8`USgyH zKvwLJVy&I2=U;uL_4-I%o%v%@WH|~{0CNpTGWJJnuK4htLE$;hJ&}f=^ufuhS_J?$4eXeyI`!MyIie10&M4P8y#?y*+Be&o`J@9I6&ArfD5 zF}=Is_SyMDxzwd9`{Ja!)tmNZ>7}#3|ManuhYc#!KI72ZR&0+Qb=FP0 zIuoOG91TbxW2AB+3`W$~+1>m8 zleLR4sI9I2hNyOJZCD?kSA49Ycmq2=eDu#wX1WWHIOm_9U@7m6ciegM$=4W%I`>bV zHvrso&%KWi9X|A|KrrNYIGivH13kSxh()7)?X4~Uz4g{xFa18xwBN66*sx(>FqpSc z2zw%9Y>=v|0mjHf#B`!8;klHO3&Aa7O0v6cZ_Mj2*vnLXLoykEWaP+^JHKZtJ;!iN zD7^0UiNBa-xzAcVT_5KeeycBG&N5qLds>=3Cy#vR!kynX$TwJL!eKB(fCwPa(6Ikw znm2s7qa_|!*SEI=S?Xq^F1PqJ^dE;TXy#B8uC1+NM8uardBshoh2Gx|EcO+^r6Nbv zi5zWI_SZrJ3d<`g^#^0&F0&fJd;5|r=Pl0l|A~I*d+&AExn}Z;2L=?CTv9f1 z6i^xhR0hcfkj(h7x9c!##kRwO>o;Hd(e#DCJEm^YL;uH4`0HG4Kgw!r(ch0Lk=qzQ zbmyI+V4>H=xh{9Kq|y|bl|=Pa>lbrqkZNa!dsKqc=NtF7qz8#Sfz6Z4;x(1kc@-_B#Jl}YwPOj1hN^BubeASbxrbxLjRpK<}i13(|~mIw$Jx@De#3~WTsW* z75{F@2amlx`?yQL_^BJ418qNU=eg&KXU?8|L4IC{_4P)jX&PWs!s~Lw?e+vLi3@MI z;fCK6QO9>V#hRKLl2T&DiWN?`+i~NNA;b0Wnn%yR9igIN5P1~?$2K|5qXL_~veW5qT&)WCNd0+78RTX90nZbfBpY0nm{r7sn zPz~LwEZ9L?fzSgEXz*q{CTihoQUUwS1|0Z7yoU>PsYj_Q2 z-wfW_C6TeA=4WO|;C*{zJ|Om_-vMw^|FPd?Qc9|;u4YxWwaT(ffBlCMdv^T6 zJ*Yrtwnw?*aj@eXP2uUb^eZRY<5%Ck;)K=sSS(t!NITdL^jpsp4l{~Wa{z4B<#$)* z>+U}@QtW)a*d_AJ+9l_NCr@3taQ)(NSgkw+a`ljw>x)e+dot6~Ia=Cz!@2Ynu(Go9 z>58e^b?v9XZmVy>teS4}m^dUb9%EE-hz2qHxqmTl>S#*Zgr z;}w?&e8ZA9gu@N>HT6tFN`!0ZU-*|}T&(YnDMuf544XQXo6$I|jg5@A^#X=P$Wma{S2l`AE!es7y@w|q$((q5(8%)9V1dza6`~-m4ci!3v6~m86Wvc;|McpC zzn(;I5Yal|tGJ9GYA&Zcsi}$`?M?BFk=8|48I2B%7l}wRMsPY@rq|-xNk-PV{{Y!qGH~1%7U0odmz#SgXkdl%TDz7LPLSZbP zHjzjs(AyhDZ)d0QM*EmIR5%zwM|E{I0}c(uibNt}+_-T{b#?W&ciwqv7MGd&f)b}{ z+HnT58Aw1PtA1x@OmsGPARX-%W2RQhox3&~Tes|(JAeM^o4?P7OJ;*Faq+XCJ$(Dw ziTSDaJbQD~&x>^V2`Io4gccg@?MG#<63+aU=U3Fy(Fx zpFeHNk-C+<(K~YTd~ZRa+uX7W3Nd8t4CarTh3SJP;o;9}(HiR-qL4C89X;>DSW{!_ zjH1prO;!DCU0vOZTttzZ>wfTx{lUYRoIP$t;g!s%S%{m8kV4JUm*IehIs!3)4NF&| zd`JZaOG-3pnSA)L{9z7VZK!{A;pJ4l=&6Gv6+uK1k=pf(LFn9g95$u6ss_&^;1#>K zxld`%5Ym7p(tSE0I5Ov9TMI{8otxfp>TsgSjvNKvw?2Tnx;j=}SI1YaTl(~1m7U8H zmX+zXROWT7G}MQ_o)nwVk(8HYhO&VxZ@Jd^Y{wJlFI>21;lhRAyO!PG?z3{?-KP~h zJ-6n&y;GgOAWU}}wtE{dGDj%!3ghu5kq2*_9lo;RD|P7a8XKUxO%1ZP3VK0www#?`Uv>Inb%%6lG|GUw=H z*vwI8vVNV;H|_!RIl(+GfHBCfJ~G#AC(Gerdi87(y6|{0?%}s?d++dz*PT%J_)9<3 z3Fk5j=s$)rfb*=@vBJO)$Pj#`&h+hLW}V)$N2Y}btT|_a&(mF&9&5s~x?$~E0gK!y z&KHO$;LUUP=C`G^QH{+m6#1H?XCBd>nEQuMa(&ldo-4=rw0+0xr|yLs7{X=9R=8W; z9?O?W%4c8fjiVz)ICA{ZI|3!_Pam$@^sgPOKfb&M;6FBMvTZZ&bUM|t(qeGVNr)`d z)BaWlA~42?5kXNDMNw7NwycBJufNT5$YR>Qc5P_$%9Z2l>+6?FDdpBRE2aXpKF7EG zy*A|swOoo>^=aJLf zUw$4Ly;0G#X(Re}?939xs45T)N!90Ln%h+h0At6F{myMlb#*n*ZKhVdxA?ycg~xcx z;gUAD6aYkuq9S7(*tvWicCOweM;tprb|pjV&PMUe`SYt+End7>C8BQ+3c_HFAaK-G z#V1a9d%l(#fbQPMxPVr|DM{KG2o(GoZBXyzouyP$jiTa@TcDxPDKt0Eg|LU zM^3uask7g@bT{+({V4qTZ+Nod6`5XKM~XW{pEPZuhP@jhq$T}sm$c1{^v{@2#lsJC zw>@-oRjjG;tmCGPx|>$h@5A9R<*4R}s;hbJy}v3SS`m8K<5k3pH!)H`Kb=x2zpbvXY`CCQRF{QlwckETv-t_JYV!aI%}GH}49Y|>ym z`Q92$cJ#q<;uI)_0YJ-^NTgvywDrJvYb7!dzQJ(iDJVQ;nhZVj)_t#?vf!Ol>mE(_ zgWA4p?h;?7^FO)o_+!3kB!@k^yUFTmDJ7^1v5^ZNHc$_@IhW7pPJ zDMZ9;e>Zksk?g8*cD0}0U_mi@A#z|EP4Zuw~LT&8(E4kY7fK`^kZFQhyRzP46sm&-Zq~xiljq zA|A;)*Urr=myNEhtgPR%>eHj8kP6@ZZY@nYQb;M;j|C$2qugLwf}n%|Kp|Nq1PM)X z^a4LQ`psQWmb7Nw+7;np!-gE)+1|{hgl-t7C@(F#>g8wu_Z_0@w+?X~vf-U42Dn_R zySKCLqczdK7s^ZX>sp$2brt3nd@*Ry2uXAd&vsfw{!c^UbTsPQ_K$xc;B?5nFTRM> z`t|U7y>Mt60$#6l%{&@SW5@Y^$e5LtmG+`li?kD_p8fP&A3iv`e1!db+qP^)(bc`X zwqirwhe)|>b}StdT06m4 zTo^*)Nx-%R%4|_AK8CE43XYq~(BhTYR3zyj8+0`s4if+z|N7|X%e|qWYfKej;9}=m z7QO2dMLI)p`-3P87&739Nr2Fsc2INN$%yI5ymTK@c@+}rxR5H*^wP1v8x|@b5{X29 zQB_sN0La>Kl|Hg8P&Z_FK|x_r+l7v38XGou z;>1J}DiI_%nc%i?JER;_;r!!A_nrCfG1YaS^j}DB_iqDWJ3H^L8Wwv@>b)J(>@3V5 z@z%1+4|l}y$c2wV6(;`t`t1Woe7br-+DJn4_X_ZGG{*1znUuGz%c7Knv3_@#v`lQoLfwAb-V>p*Q;dzIn4|O+350 z`jV}Oa>BJ$waV0m)z;z#w;w$;zvL#5&%<9HG5`}(31v_s2Gh)gz55vG1qSUK;Ii9` zG-b&0bj_2eU-?2+RaMV{V4{PW41=Kx;@wLI4k^@n>e%vo#?vH%u%$egHgyhTRMFsOr zA?>b?4lS>sFw3ZA7?6x1ZJ5M`WSXkjKBx1Jc@u_VM|$U9tE;PxA5v?}wz5UUn}0oQ zfq9%@!^+@1dlu4< zzYFu#Bp8fz22@l|vqv(FEsrCW8Nx*}NglU(acvduN7a{1N!fEYrRSYo*j`|& zCA*?Qti?QR&6MGdFS-$n_Tcu@@{#A!)Sh@+>Y8c}9WnCUHx_@ozOr)qT|cG`M+lL~ zNof-BP35$&U$bS|kakX8;ydhsZ=1jW{`>hA6%|t@x28$kI)2BN&C|_f{7A*+*rH50 z=j;s|sy-*8O~4QD!uZk%I`a+CTx!p%Rg1LO_x*i@Ce^On&RUzUk@(5=<#0I6h^qO= zAHP4eq`3IEnM_7VDH(_$gp^LF13s_s-f%elK~+`NH?Shv=X=q<$^zgTD9p3#Tr$vsj_4{_x5>_l_$lGf$I@^QP^)l=QAn(0HFc za@=8Ry0`546XyQ!?dB}etz+kGt6h#y{YYsw=kbC2um=G4R*-+quNE8 z-%z0D^2!!rZ`8?O+gheHMg!2}9h9_9W!BKC^5^4EFz;RZ+Z@q=*r6@>i45EN-aT4qja%Vxr| z?O=e(pjTWB;1eMGQ87lc_WoN6kD4~=g@L2TSH5hI5-4h6zBjhXiLI}S-cSi^>FFk2 zSm@fztCWxToQt_4#T+*}i@ ziPU_>S%$-5whmIiy-mG%JDKq|lA1|K%vV+RIuWke;Z<>Md|9f*JS9Hhes z*ar00FQ9a6rdat5>KiZ%qb80Up)v7@s%eNP(pdJ&-_M+J`c*H_n>XAs2=bM(!u%7R z93W|!5?2Do|7KhCR{B9Q+HdoAaub6TC$#>j&;lhje?cQ}g5xw%g z7VBKvSwHvF5g($y{^Vi*EIl!{+NB(08mpCCMkgz|MrS-{sVCrvKE!18n8 zYW)~2-i0_7fTVz;2H>pl!em~UtPH_WCy^OvfxQ-+Uk5G^=#C(QyyjnP2fq#f;0?VN zVoDk9in;Lm`flvp*NN+9y799~#fTpLr_&AKL<2^7M|32e>-D+xTSR@h=B}Em#Dk?2;bhS0vMATneR5BTZ z7Z&D?o-i_1Nks2{Jqjj*T-ETzOm(H4&@eSSY> z@<`W(}c_`Em5uLptY&gg%?Y? zn*lW(-^Fuz;NTLdt$jhMI;Q%`rAz-Y$ziN@vRIdteJT+nLL6Yy@>R*CLPY%A-WzrP zgb5+i#f^pTkoa)NXX^Hz-Q;qpFl>n-p)@X@*hIDuF@tS zG4YjwM;LRT2_BflkYyj6)t3-AwP0;cGl z>{Msc9(>fy z0Q!Wn7NmDxeKup+xseoLoKt>T@1|Yc&C1FFgO`tR+mEPze0!g{4_S@5x)&J%1|H5_3 z=reCV&2!9UoTrmYqWKFb$!@qt%tCzm)45C^gLF8+xQWp2CGhm^LZ4R=C>kwPJ0mQc z>#?5RP}Q_)u6%MlUse!0(c$%4v1nA|wh6Dxg+w}y&W;W!ss_vE@Vi~Gg+L~ipviNN zr86$Oju#b|4Bl(;a5$%@6Z$9_A`&XrVx<9lA>B0ElwI|`GnXBc(Bey{aLHDjLNouldpO#d2*|4`jSX+1^`uUQZ&RKc+Y1a&P z_`D^&Ck`-1EZ+~Av0$y)0ahG>I)u;LJiG1wh_r04s{;c$!q zfVmCdjvdGnUeo{|oII?po6q0ToZy9r&h6~poKL~xP{&cYb zL6WdcR#s93VHwZ;^@-wqE{YqhSsJ9-rq}2$79s4kW0SLVDb8>2>NS z0C=~saN{?2GdgoLrVV9QqNQn0W zyi$DLzE=+R_M)c;J*(Q>x3(ws*Y93sbq+KK($8l$mhS1GbEcMNZmrPz-0dY(D0EB} znm&0Gsdy)IXih1mSt4~~($6P*_qg5aDA=3{DJ2O&B(3bdlmK%mXxXwATQ)Re=9~#| zxSSA{0g=o(U2s5h*p>-ynQ%H7U;(NyyZ~tN;>8M8R@$pyd+@wrQ^wD*UV7K;t$SC; z{F}kO49+qi9ODLo_D0c@;c$|G;&#J1(EsntfEoyPWu&-EB^yh9RN2WnF^r`sL>{f_wQiV$dkw%K38q- zh{l_mTR-&pwE|sbr@4K8o=T+@Gn0X$Y9NwuI~|Cp(lE>ff<6zx2=U%Nj6UjU{Or;6va<5!L)F}}j8kN{jV!31H@0)?l19J%-_BoXH{?Ht zb4IMf=ZV9xttW_A_fCRO7j)TC>-gm})+@!SPgkAw%LglQumywQVydEwcnajy0EI#H z#v#)Nv`NEY?`#Hf3A<$zmGQ`t9jrzkY9}2IhgsFeh@@%~t+l7l z7*V0iSC^VH=p%v@Uzr$XRZSozD3KC!WVu6jbg~)6MBAkV9heU7k5=EmYf7NNk$7YD zROhhnmJZ=&t&CI^O}o5kX>?&wzC^&?2w2YS+=T(r)d+4Sp|BLC5~lQdeR;!5GH*Wf zhcPqHtJ%D_rUpbclK%ICnl;n^O!suC6*o0?r}8U` zmtLwnqkO=C(HmBMW-O`wx4!%H6|7?TXx7`>grO6suwIE>+QnaN8ycxqqjUqb?>XC8?S|8UQ*wzX`@VY}R?b z0D1xJ%KputK}4$_yuM&uef>u-95H?R+@T{T+_dKX`=_;ST5`=P*S)lsBry9ns0|VP zU`I?uvbL&9sV0j49Q`Jpx@R zM!H6@GtwJs502QiZy11{e$@BDhEY|9PzJX2sSe2)V_Zl~Et>=ejc@3VsYvI)aQfqG zAL&0}6E@+U9oP-vuBU%JaYkdxbE@KubE+7rc*n<)X?_|RO$8B2V$l5|%2O3`<_bBv z6dNG94N`#4U5)t9bL-I;S1@`^7s>_{Kw23v@SL=k4b=hc*wu|!-|fbw=a*72L?CGe z7cH3L2ap7SV1DR0sJiHV_H~xov;*Qq0aeu?!2prLU@zfUG1%bnwz`keuwb+ig(B76@)G%g$W^qqA(q0BgO;B0GS>j zwhP$P2)k=5WY;Fh_%6Wi1*r_AI{;S@l#tA0+Fw~%a%fSp{?3P7o?zKj=~tBE-h3%J zhm|j3`GU||dSF|#A^jO}PZ};uVvN-c%VNyi#ce+dM|SyoBUDp!{^B`ck*`N%wN;F& zBmCpbO0OM%+La@0&B@hFx1t9^00@~>9LyPjf9`LP+FB2p?1H3huNWf%#YrG3V1E9l zY;W(So$C0Vm)-uv9spQy;;c(M+B+W0FDl@i+tN&@Niw!yutV20^d?epE5Mj(vvA7A zS0NY*A(=|Uwr$0*ED_8vR7Q;*SNqD+S0B@WqC(08e(%X zqq`B)2W-WS6F4p_p@5qx~J z&ocLX84-!rQ%-Szw))=RrrV#ra_-nA^3#a{Wy$AJ=&FFG(*Ax|Atek8h@~ZFPxLEu z#u;+2dgQ$ye|p!Dg{R(p_oHt_QvGArFP@`RQiJ{JKgCI7M{1M7RNGbqDr6e41uRmK zak|m9rw4_>ICO^wVhl171u{{PDgZLUh%vCVHLToQo=l4ii14Sy;W;WIWarNH+Y284 zEPvLVp}(Fs$ZZ$-b+spMz@sw+Tn?<-*@;Pm^WoA}#4{FrPK~A0DL$;cc>F1qM=vRO z;y+cDm6dD0ZPBZ$s>~Q?+O}-Lr=KiUw{6}+N1a;b ze*XFAf0q{wj?9?mj&0kv-GAeaH>M7Bm^sN$?AWp6?*X6x%1k-~r!^3rZM%ih(=6g? zNhxZAh~`NtB{79uZm)i9C=@()+qP~0Afl^(Oe9=bSm;p{#m&XR50es5h=RHMb5I7j znsAtEYQ_<;Q4&SOZMR8wMdbaC>n@&lmP1!ob6Zx7oit@udq>CeilX3seQo0IhDcv8 z@FfWIhs?RUu1!99!t-uA zacWQ+nI&p|S#$179hea5V^gUC#||Z@Y-n4j#Q%03GO7mV@ZdOJfd=d&PLL@>ri6eE zK!*@g3Y$oBNZSH)N__J17Hr;?Msa}?LP)?)LE0vei+m-wAuS0_vB4Y)(iwrEZ9!*N z{=gzCnLBsx4geq$3|uhx<>v`&Pb>c`eNOue;zPoqzZ6OW-pUH8zI`hfau%+8QTqH zx&S){kO@*%ki!W$d;k}ah6x#sg10CD%Cm#^H$GFg#qped?bf@Ne+Lq5veDZsnFOi2 z4h0gh1sGzGQX*~XaEc7bG@2 z!M1J2G~IUR7pNQl_1K@Kl(SG(CBp~MSpvY^ng)RgAQeYx$lFaLeS7HhzR_5;=PV5H zKZ`*{&G_TgPjK6^qmWJmFYX*qJNg3RvLXL<4J`R$9Eh41)m9Nj7VdZKmwxnk$LB{+ z+oci% z3}4&$WI-|{o`3Smk%v#6`ohprBPX@Jybr3~gIiAXWAcz77Oywa)MX-VWDj*a7=~Bq zsGOkV#EFvBOfTumzWj+3hKB=p+;Q5>s;Zw8(Y9<^q#gj!*9BL!n+eTD(3J#ilYvx@ zyaES?A6^b45l7d)ZWQLXz)UhYoEDO{j&zp-U!g!xrw0lNO2Lw`xWn+0X-SNIYag)B z=OZbl^6|1|U5q3P3>qf3Z{Cb_OJ`Q+oMm~9HtlExF@llFK+$yM7nYMZuRso{C@=SW z+;^Im^_rjP6e1c$L>Kgr-`~QrZQHhs3kwUbY~0aorR+}DYwcit_8yk9J6VSJ!sJQ# zW94wGMer*FWGFULc+^5Ubi{z)Y~H+iH4**$`$lFtYEh|anodLxDa2Rw5x+DEB6dh( z3IZe|5qV&@RU`rt4$n~|k%pegRr*Cizw4uxwk~s9Q%ZL^eZLz#-#)i^B0aY26MIo4 zlIZ#oEQK->sR1IC?vQf+X$vpE#oOL?9aPQR6$;$h^w?vOzY`hwi9{tpw(UtuNpHRN z-(?W8E2m2Kqua~+vmEzE?L5za&X@+p2ej;C=#_w)0i-0Pn&D@wjt6OXXPx!IP2I{9 zsb9(h75wir` z?f@h=;gkw0$P1ZUhdO%_ZMGTg1viReWxy0bSQ(J8AyWb~rwu@FLV;nc2>3M!BLxT> zkQ@*k3Is%kV^FDz8!ik&SZNYzF8wa)aCvAffGnYQrU$T6@XkCO-s5KCjvk4f?|g&_ zk3NAGT}ALOx4}7NU^eoO$B_8rU6{FQ9qu~zRE)p*5)3%|4rFl=8Sq%!0XI8~GF<=h zvqL>j&ndF;J@DqWitJhs8Q%@qeE^dnRn4}n=neo*NYjGs>Vvci(on%uPB=!)gW@XH z@>(-0umb4s!j}?f6Dhk#mA(3DT1>9$i3^9VFku;BTxKIOAptG`TVQuG4}+C%NS;9| z187mNl87g9-z5LM$)`Vi-l?k=zKqgv29byaAZx}|5mB93^?T#ip=J60y&wF`Hh1k- zhn;!_JV6y81>7>xvUeX^m%e~F!-8A~NzvAI2!Y+Le$_cS5qpcet4vuM*d7K)mh8hO}Z zhgFOnJ^I5@W5-rJa{KSBV|=SsDpg4Kwc*s!gp)@((Gh2erLqZSze}RXmxMw+F!})U z`e3xIl~3Jst9{vRcTeI%eE8ziPftJd{PUaZYvuv~5($!<)=O4Y(kg;Z6C0XFqqv|6 znnwjlg)5{ZPkPbQ+5wfh5$m!cqyeWF=<0Q%God4$WEeXlO_r^F<-QXU4@=1+m%jMP z`}b6TG-1NnV}`grrlvp#fU-Of%JMvTZ(S1-i3CmN`om1{DA-l3>u8FhfTz! zBc>s*ut;Q5Nu@6uy=KOY84s*jvEr|aqMUr-Ip)rtE5ZO%6!xoh(iF@0{EO`~-%~Q8 z4?^0xd%-|p*oUQu1UTBX9Uqer={>z}ka(0I`*}2eH?mD-+ zy6%(k;;h*Xj5$S^ZX!w@>RQywLML8H zZ$%IexIFoY&O8}PcN1J27bC5?V8r9nu78aSZo}%05`=&Rq%AnrrdKLmRsyWrL&u zBnLsjwoDKSFaoSJ2c&?)q|_Op2$9!MnTK?nM5-MSA;`Wy3@s@`MdxO8H||AuA_>R# zo$!nt1}O!sXdmJmwjtdU!=&z=7~mI>-F+a*0i_3I^a~=@p&xY`UGsF@!@6S#^aZ(< zmP}WPbSKE=hZGX9ZAim{Gz`e3gvdCd6deJAMMzt48+ z+F6UIOnRZ(2x8TFJ(P%e< z2(LdAzZ>&k49#1If6U&F$JR~2>w6|sUy3Lm&FcVwqD^0|fk}W~N<<&qwr|h%BMQnw znWk<*E}bc51(1dXYg-dwT7YRmrc5xe8``|7V7B0*VXLyYC;t4YTOMC=C?XCblAkVJ z`nS`m?0zYKtzF@OlExB(^-C{hWff$ZLZ3kfR*7)*nrIlxUD155q1 z=lyrI*PfqfopIiI6|vslzY$T@;_#g8i4+APpM`-1y=ZC+p)W3w7m|p!nb^Fo4Vo(8 z(9@_WBB$TTe!yCtTU7vjD3Ef`wlL9tIqcfy2AC6-F3Wzg*q(Tp zRTY*lU3#0x3o16=6DaZNJE3jVGeHbdpxJzdH+*+V;2@}cHt5&JCfB6d~6UjZq*nrxqDrMspSM;}){+}6_b{`3r0={g8`bm~a z1|3}{V8;YnOa&IOUtiE7NxqD07@z|YNR=uOTNQ3Hh?@t3MAT*ghV3NR?ioT=IgJ<&+h-fP&7n|_uK&jWHvzI|sXVM*D zuCdL#TjcX~dvH$G5DXsVfo+b?Hu?d>wKjUU@FI3^)Vze8h$Zf1Cthnlz#X@|N> zZ>`AlIMbPo&7r6suMghXMu_e;Ff9vxX&W7V7WQFh1;OGYe_9Y&DW z_Y|YW_TjfH&cec>ucESi39dVQnK)-?F`ipFrn7d{jI{)yuI{UhK6O>Ktoo7aj`y$m z%M}G)|9=9SQ(9Y^xl)m@C}o9Uc>#!M958Lbp#v^mQhQXS-`T*st#(EGb-WM11q#P@ z(82n2pMCb(5yd5?rveZw>OWM=iac=W1k+?7%GNhQfF&f%+-pZfAca9;3WzZXFgSEV zS&3`F!qi5?}4T$DgbF3J@JEbOV!lWP;G6kXTX2~FOM8K@;E6a8XFs7 z7zW~feMoB>bWMY*X<&?jO9{?xSXNdW+qSdqP_}J@h{}lQQrouMHBEZ~2f&RZ5r|uk zo^pDsr?K2(e~zt9%h1-f9kFB=EV~~Q;e^jqfRg;-7*#P70}94d#x!L* z+FSDbSyN7nL{`6AQ}d-%?7^-}O379~`lwP>?dejrL@L35ar{NTW5=BI_Aib(_h+*z&-);!9sa%f>ErRZtgfr$|M~g3 zDI%7tuB+pF&cvY&R@R zB5eu~vS@dQuEW6-=sxu-$WSqo%iqA^1qN=ZOj28)f-N0-5&$eC9g`xB?(QVE?l$nz zvL0MCPy_6ARw7Ym0asEAWNW_yBqgkjiRKQ5JuMPmAIIsl33keqnhx~Dk!X$DD^Z^< za3|Bo7ceqsL$-i;3SN0$JJKFC-zVD^C z;NN)os?$#}O%i=62!kL~1ag*vg2Rzn)dqWW49ryuo-m;vJ`3uAawK2;Cz!e%`Zy2Z zOTk@C(7V&XySYF~0w5AOQGngYuW$R5-*H!^y>5@_-o05#e^HM;ty|&k+X8Po0f&@; zB-q4|)Le*qf`|bM>_@v{ZJS| zN&%G-R~ggy8dfJH`vicT_1EVIXfFR0TPUNzl+mV$4_mbFSY>phPP2w>k+&W8I=}ym zne6>NL#fmB;FjfQh7ErHeY0(u-2|(1G5|mOp&1HSO}} zua@Jg6p1=Z6(o_UNU_pA{-lpGj%I}Yv1w=qJ`TQQ=*W)n{mfe}xoO|xM=XqZ3 z`D*Xa!d1eF!#P5skSiPxkHHS)0a$=BhPM7S@8Au1Ay(0lH=$9m^af13ST)3Oi8kEr-h;VOeSM9#&n<0 zNBa8u;2Sn9m&_$4kONo%g9%=_{nBw9^z`%~nM^`TsVXWe>=7eIl(n|DJ_O+U2teo5 z*3w^|GULHaI(<{up4}*@7^199ij;-NVMx(r2$}O>NtrX~7}KFK9h7R|!bURPOI*sY zy7%l3Sn13wzdYsGN9WYm-WCC5^x#Q-B)_3c09d(lTk;T7^gof7IS`R3==KR6Pg+js z=RV~Nr&CHMGFf`T)XUf<$9+cE;|0?hWU|5M2mh!etNIZ_g_YP4=<7{ z7bW7q?(P(gMrEwNo;8f{ZT;}k-~X;;TgP4O(=G=FbVx`lp!J@9irReowReFK)mUFo z4^m4y&$S)L@N#5qAn42Byzw@|Zi${0 z!RmG$+Xq}g(+gnzZEz6>mrS-K7(ri_c5O8I8UU~?tCghE7mgY3mfyX+l#Lrz0BL4G z6bEG9+NBbdikw9Z1*HTura+m4fiy=(Rze{S3P(UQwEmQQ{qjGy?z(K&BnAMfJ?lU0 z_DK+TfKoky!lFW`Y&Q^h0n7z3Be$s`m&AdD4R9NfCI~EW+Xj&~WLhAV&aMCeG`AAe z<|c}Nwo}Qf;ZkZ<$b8TVm?3CK9S`pbm%uaHMCRp2$la~bM@hKGZGhAK4vf+i*mxa^ znNU<$FsMT2i|O>u&CL{m6n#B!s@{@1?(?hEX=fvO;@RjmP0(}#db|fjf zlZ&2BmUCA9>eVYx{(WpDD<1XVo#&RTY7|7}f3R6H9LX@QEux8lJsH#p;>b zuem+vJYi-{34lyKW*VOP%Tm0)B7h4|4ny=YIN2;foLu+=D*vKTltEDgy2k@n6vS&S zHa2cgqyF@x;C8uSnx=%5iNR|SoG6D=<*ruyeqN-Thzm0PVl|yN1({qpFcrRCXdRzfKn&)TRA zxp3Ub5EgChMOA?drFnO>i-B0SO}!pB3Hx1D0QLefAtc8#)Y8I*l39}Ddd8u^g;J_0 zr9?_$H8-w1XzRdOELIf?g}!51mQ+gVQcA)YLpGa5cXv06i;Lkn4ulY&17M{TOw&YL zTN?-=sHmtwNl6LeoErcT4u`)Ji^YC@>7|$MyvL0vRF+)RF_7S!)~sg3CQl*RbOz~6 zX7G5G*FAV0Do;L?CyQ2qpp0x>vs!fw#Kkzj|0cNMokPgA2crQags2@mI!BwS9V0XS z9W>edk(XDV0^;@^>bCuNLZH^gKpPt{aM|6sODXzzB5U&Lg{RUJ%1=N~UmFdCD`Zh| zu}7+|S39;Wy0Coo$?ttt3Qv#WCW@#mu#YeLe<@OOL;a7u`VEbZGFD&DX5Id?yB9t7 z7w^%dKe)xUWU*xaAl+G8lU-AL?iClEUfYzgP&<42FO;!u62Y4w)24WfeNjX(+2G0h|OtwcLwo z0B8>QxdSK;5TL&=3A1-Q7*mu%BHh`(3INc(PUX#1xTf4n>FCiUJMTk?HXVAA4_5Ph zz}^V=ltQ@2Yyuh84dQYDB7ia%zjO0Mrw3SR*N-DQo8#1Yy44-;D^$Z;= z!sWw0?v1COYya2VFC8pSl_MBYYR;TFw6ksZY)a`%Wkagmz1ghz?7eqc_St`8Tw5E4 z1Os4;7W+JqAYA$+%Yp2F&K#LCA3F* z$W2R5PT#h@YxP+pw;ywI@ebF?Gv;GWXBZ#s8qqdy`{+MCeBT52D|P>%Yxs~)-yjH| z`=^F?0W4^q{hPA_Oh1DPF#(qCRVMEYO~hYl${ECthBKoy@&lFy zI8LtZAppWCU>JbQjdWH+?DZsGdcO-tO`U>MFTPZ9?x3%)uY1kr&1*+h=NN*D3aqxQ z)JT6np+pgQ3oaD|`0(MU8_%_!2`yuXmHV>UtdvsH@#Q{j>PVq8ZsOSC0W4V84XG4P8XZzXQN$A| zv$wB*!-2Y`%&jRYa>N>pu|wXo!K5r9mAP(RqXY8ASf{S*C7PzWg%FhFnmB-S4wuV? z-rinVmW6OQ442Eb*VXMf4pONU`uqE#>pC<|gUjWDQVK$d!O|$VuInWaT=C7)#GbZm z`qCKz#@L#L&E%+4&j17R2ie2ph|0&EQ<)4_FKi;vG}fC+i$aZE^S~9~eC+mT{vtXr^MzMXpq+VX!=+1)M0YluWlc>Ay60m8 zDP@jD3|cM|_kV$ywE&{fG|i=y^Z>d1hOgUWBQL6iVbR{Sl1xi8+ zj1pK51M+7#k58gzg1||m6qMsAok|B(H`cb1)=eF_FA@Q*URO`f`dQ=JC4V^i?tsgE zpWkqVZpF$}T&Bq+Ny8F0n zPiKlf@Odeqxd63a7jQ|CbA3uBO$XBCfMXb1uxuzDKYj`=8aGvyj+wa32o}D|72X(q z^cidRuAW0|E`$&ni70yEh2-t$pO0PKpG-d6{+}0%yl=lHCNakR;Sc}?3I&}}P(p+& zZ~1OEoii_6vu0&eO^sI9(!$Zwva2TY=nO$34y6gIJZ?Bv^8(+$wyuai?IG0RSJNKt=0eI_R?~B#fvrz>F zbjHn(-?Mn`cW}(O(x@k70wM8<3(kW4?ZJDVwAQN+S)l*Zc3r$lYaEYfs^WLaOG`xp{TTs_xJYd zyLRn*Ays zqY7>xFtk8Wi&Hhgu?PTa57U$c0A|dX;mlpWT%SE-#>&6^>(y`TjJ-arB+N6WNs?JX ziv2n+Jh~Lk8+y>6wsBT<5o|8F$LrI3!z&b!1pgb>g)4V-g$ zydd=>i1LkUqzEuTGG zpD|(FZ(pCk;55PQcdoCVxF{Bj8FdW}2ldMAFWMXc(dRZNUb|(|xwK8ZJZYGIjE4zu zfP)fJQLKmph!7xLgxNzn%R;L7Dg4g8S_PPs&Jke}vw?0ss`$ z?19&60|SS}f*9}&g`x($svmwYfik=fye^}2SK`^Tf7-G+N81<`YEF~@fVlrVilnxy z;6)}Jj|u9cP*ekwLk&&R}G~@hK+%*VmJcjL)QdK zhrUdM1uu`CcGjxB16CktjL}1pWDH6)N@U&z_0Ip@c;n>puf2ZHam7X7*9hTKNlm8| z8Y7^<=fJmq_3C}#3!pxxSYrd}sClA!gRUE65(6pW^SgDapfqNHCFoYABq8LzZGhUg zZv+IWe}NJ5)wwUXL=oUL))I#SX#iPY9Yl4w)_5KT=H?WDTsJ&Wgl z564U>iF(2=bNZz6n?HQ&Mv#WT+@c~88i{~x*|sfWEL?crvB%CVFDwUgd^ zo4ohxtC+WZE&kKA8#)zm=PNZW8*n6pFAzrcl;iRJ^Do4Vx-%4G8t-ar(?40cvSa(s zosnFPaa5`p7-{&d_oKOEo*iCg{&4)5j00}yj>Awqd;pdu;W!FHNGJ&inKOwAApp^! z6ayjP9z)YU*`(h6*3UMqRS{5f1mp^{XUuTs&Yi2zzWky${vLb%Cw|{izxC;qo0g*y zC?vBsihUZU4k>~ZLKrT$zHamOwpCkp-g&qN2U5zElu(CDz(U?VYgvWw`Xnnw2>d+`7d6RuDg?kCBu|q7&M#c zqE>bQf^#Txn7pMgX|Z~w($LT-Bas^I=IGl$e(3Hq$OwY}Q&Mp^gZ9F_)rkJ{C8|-v z-Ci1oGgWOgeb345!&30uhpsR3;F>xUw%1LbLZle<`>05`h%e*G|X7e11psR%cUsiw<85Y6rofRXatUGSm0{C3H@)QM< zn|7r@i4qII7hU`8^10LX8M9mVCSBCmH%b)&eSUN5Ca*!p3?Jc}2^vsg z%@o4wpo-gs>YPa34}ij;3ITK~=q|+!pM>UO@M^}6t*MVT>@sgwkqAZo0UJYn4cJhh zq9txcg%U(5!la^9I24XTI;pUyPi6a(q_r!hE!+}!H^00ww0zNu#qEPQORyaB5F6W| z%h*oE|82$NcQT>~h~&!3GUx^%90IBVBHzA|5Jemd%H@$%a^+;wl&1#X0D#i&?!7lX zTu~xPce^0Ukwijr2e1SP@wl09$PiLgF_IcZ6(GLCErFtv_d=zW%b|Ned1=x5Rnh2W zdBS**=H@0=TiYxNiAvzeK&_#nLF7TW1B6`vdO=uDav8JTkQ|g~gKpl@`)1>gNdH8dXL zvn~66tgDOiy&(L=wU{=cJnAj*nA5AvZ~ow^8wL4p^!7+3LhiWZjy(@N^2phiZ8cU; zoHVwitPCffc^*IU%=1Y5t{rsOmQCo`y@w8|H(I_7}Tryo(J)NCe zPj|PzVdKV4yZ7v=zvGTO_T>4=F{c$O5&_-Qt3}qYGtQnk)*cO!wsk@^T?6sxIUZys z3AkWz90rFoST=)cGpQ7WOQ-tA-6YZ9uiv5+2<9C5WX+yE+sTth{O*}o-ah)oY1Q9m z6pm$cT`GkUg)TTkIfl!vZ{5}2v+A=A=l|iyH+2k-e}5UwhcIo^rn!_2M@mU4rF;3D z0YE9GD5V^L%d+g;A?YBLf3aAMopHt)FTD5Od;XClM?O?pS?SMavk*dvqM{;IP*6Y} z$03g63^LMzQab2*R)i4gI1VukgZX?uZTIfosV!T!+qf}MMNSs+O5&~cRu)&(=e9O|9fTqR{rR_A5o1_;q@^cwt4^7h22XIr6d;1wNPB~ z>8H0<4IBP|ZWyGqy$zOSqO`R1n&HETU$b`ohAX#j+HeVgY%YlM)yJK`RucfuJ?q^7 zh%|G1SoD9=k$Hdpug!aJs3V=C$&)AB0Pwvd_`C)TvYvp>j;_ey4cz^on~(Z)cS>CB zF~~V?Lms7RDEAsfWBHmCA%KjjIJZeh)+TE*8N9uFK)w8}zirwL9Gsf0F51GInrgJV zx|ZkWN2c{UHu>j>3Q__hAfzKFRG2y4oWNj;=E$K4K$+Io4Y9oo|98?a*FKQ%Rrpr(Ao0=k8Z7uSk`}Jts8X6izBod+P)~zEKG&cU=?Wt49RFC_5 zO-YAQs_)>ucSF`W>vL}B{Um}ph?1znqwoCO-n`-pVWxTr(QDYy2}dj8C^+UO0O&%A zB>!cXmaijqbIzdZjAtS@=Xh%q@q#?irkCA;TjQ=QA4AY zQc8DqlgyqTT;A~OH5+0Z4qnrIIH|3z6|q>1eXwQSbuL|-FmuX;V>B)#mjY4|>h^f_ z4cm6MeY|Gl1<~7YTzRMjo$lP>k#u(S{cX#RofnQCUgaLNg7*UslFy8G?P~8pM|aO( z57aX#4Gj&0jSl|)(n~KbN~hCzheDxmm6nzU48z#lL}GuUk3rTg#u#CYQO9x6)zy{U zwQJXZ)~;Q9-{qHIzHutG(A(%d-!=4KWmlOdGb@VVV&TzLuAbsf<4PIoZ$kCLHd0JcF%zJK?)@2?;K6j3JD>*bL;)cbEF3kYt7AXmIVTZcY8dZ83DgOSxUv%u3b4Jm5MLneBd`H zo%D^=;77jF1mq4fXliO2Us+jsv99aK?CI@0+NJ9i+qZ2Smq;c*7#J9M>6BAW>B%4L z4yyliK|BSJ9B1&phc9yebnh`EoU))t7AdutO~p!N?cPte2Rfr~tk~=RQ86$y;B#dd z2TG1mzlFbe$F$+&hsfU)`qhPgm-1^2fXXF@q)i1|AT1U8vld;ly>ux&f8S}-MwYv-2zbcp8p9a3!MsMkT+ZearY$m@V{_6{^LKSQ&({5T{;C6Y z?EnAuza1aorrhWu($|xuE4otJqOJX|MSs~8TDft>!k&FrE+8X$R+=c(;pXBXLh|fb z>i8F%zM=X3mlI8&$tWo&n&u{&o~u751k!OFrDV6Voi#k0{?CBj@$|Y&FSQ{h!G1UU znVZiJW*xpFSWsZ-!NSjc1x2ge!GaY~a%JszezNIv^B0S;=GL6smE>8pzQWiKD+(Zu z_4Tx&u~9TlpZe$om+Oa}4sY9JIp-hD@;#iKe&=s1#Zjkire43t-m+@?qMuy$Nxqcp zf8u8Q8bX?yBCM`1%9s4(2S1-YrsP*bO03)3ciBnTJoW2bNv za=TpBhGCR?yrBGn zxPCqNnTl~k%l=tf5IWs$=t!kA+3tAq)s-tY-ub)ek9L1qcI=>)Husrlj+t6L<<{cD zf*Oz8RpIe?bV3MB)8v_~)!E(G_hIYi4G&*aU%%+fEW7=`^O$-20eK{C+~%S^>>i+|GDJ8)COl|Nb^ ziA2c%qNi_ONPRtMV-1t)Dnfy%dgq;2C;5EtS3Ms0XhY923|qE? zWHP;qQgu#U-T9q|1IR<`&n3jY^UgaDmzS5{;&!{?I1VUdV1yu*PG{QN+poXif(xEI z+QEdA`z{-dY!8Ol5788h{~@w z0;uuLQ<6hvSRiOr}m-OPE&*wwEXCT7xOjG z|4+w$B$A^ojmkxj&%RgysJ(vf%b)+dB8`oWbpMC(zWeSg@cDdI04fO~-u(MA0NT>& z^v=8QzI*Tejm2WDzP?@_ZnOBj_eqi1JyXU7Tw*+~>oZ4D{WNlwxPqOotyMFU70I^`fE903$rLePl zCY{X2$se*KQ${`R-=FZ=8l0C>=JKky-c;DHA`XP$Xx@ry6M*uH;(wNi=!P)G6rd{t2Z zMNJJQEiGK-t;+v)g8+b~OP3aUz24B&sZ+NBz(C#f(FP3u+olh89pLggq+Eaf_4@J0 zpI#ISc?%R1Ax+b~x~6FW;Bd}4=NTecJRa}vfAoV7dRILD_z^L~s7Qpa-$+lkrEH)2 zLUiNj{+4Hs{;JpeU&`L~aQWqzUj$&`^UpuukN?qw@g?7TF#QC8TC`|UfzRjD9LJH2 zF-{2aF~;Ikr%p`+`!=fAUVE*ow6t_!)~s2HgXlV}eAPO}L&@NMoA>)GN)z#TN&T;1 zZ#@)s<^NDfO-&7}1j6Ccg5kPG%hH)_7yw)@&wx_0vnOfp?8;{QTUx$aZ`bIPx(OGyz zg}}zGo`F|B*s%G-Xw_bTJa9~3Pd~x{pd1V&`mj0LK>G4NE!4;AS>q9gI1U`knX$En zn-;7a!&6om05nDi#-4xl=64$=f35NVe@S9X;c2tA$+y<>j{zXk1g*Ljs&x+3p$xJE z32|aiTw6FagfUc@VemMl86Vi4a5gvG@nPS-&m8&sIZy`of+b6qOeiZW>l;0KbT{zz z={XOj|N6Tl6DkVJ`l5H<*nOl{_2&S1{|#r^vSn9VTlnL2f93}15-9<&DP>+1o4G&VM>!B$xZ4*cr?k5Y;*Tehr}Wiot5U0v^M zuf66u=9sBBxDD4iOxGtkmKEB%{^%lNVO@jVA=OGXB>A~r|o`aWJ`;= zpDscOQO(WGC+mj$EUK~TjL=a`(~2phK1!%-u#5o!gb;8X2U1B(3XyiW=ut{;m0YZF zY;#_1ZS5CaW(tZB5X?K{4)6Gqk`;c#J(er6jS#Xd(;t81-BulnQruMCD`zOL@WNqv1iYiw*3 z*Ij(Uuan92&wBgg&?(KaJSl~uf)ISczKl)W;hng+(wEzvH)D_Qc2axEwOx{*Y*64-}zqz2tSgJIXV58ikcdwUHmJ0i8rLa zts82Frjat2ThW~zGqLcK>*V&Hb2|M2b2*hg&o939t`~t8p3j&+tp34`yru@)#lONO z{t)>#bEz2`Lz(W%9rA6HO2?s{O!4K)!t>vo9(fUn^1au7*zxDbP*bBFcm5wQG5m$! zj(7IWkV2I)!%aa5q-{zl(HW{JUhbs(pa1BM+h0V>k&XZVD>CS5d87p+-63tOW7Eez zXtD2n_D<}dIQE4@^kAFOnwlEz;h)xCQs~FGgC0J^tEJ0ynxb&};G}wFCehoO=;gyv`R>hOa=5b?2f8)RE1^l^rh|oE6=BQie zJT$zZB(y3X?{9waXLo$#NSVOCU;#h+=%fCbGiUyM^5n@sF^pVYM4k_IFZns8bdX8r zQvjQKdwV0t9COUNBk|SeEo^eQO>Ozyx%%|kvw8f~>Bs7X{lKgD-H_tN;L zJX~ybaAMc2S#|A*5u+Y*9Bv6kI^zR<_Q(;Vrcw%|GaNpzhIOk~{k!_;X_u$YJpKW~ z`C>&7G&Jo=(-D({?=M@YA`#kHT}>Jq8pMYmee}?$Y zzHQH*x>@m8cg#VAMDah1;~Y}*+|K;O6HmOgzrX)Muh+Y9+bGW_4W0txw)DCFBUd(C3aspj1Au3k3atSW=d(fQp!|HbrC{l5<*^?K7IP@YuBzd zCQqJhuV26Z@d*c|wbaxx7Zf6;v+00)_$Nb^&d@BhcA345h9`s}?Pse*5FIS2P{Y z65fA)+`;lcddjM%ru$OJ4#ZJ1W*Cwkx$1;qMJegs)&}NsAy^tlwrl4qGtqJTil2RP z{Qv8w4ExJ}shcPT%y}K2AywM)%2C?HJzL4TZNSD&+tAh7tst@}4LM|7g@vN>6p+ng_b$0=Pd{#-bqAWhDhLlg z^P4tpnm=aDnA10P4aiSctvdR$v+CCVFFag>hu5F};V<(`hYUM?)tXkhXYAGutva?ZK1ZClYi8M>orhK9IOimG#J z9OYy$!#kU=C8rhsRU8HT69?+^GB$&}x3h$5oGXxsTQC(dS~ zXqeccal{)aJU6!VokI5Gpa0qM>IUWF!Vaa1tKMJMmy3r*W&Q*OF642X3)R)xY3sVC zX_`jzS&|@xlDq)G-d?3jNR=xS5Q=lI9EWpF(+n=;arv8f&}%s9wcjTJEX=>=EFXDg z{j`!{vF@UD135GHz|F~a4S^W1nUteztDRFT|JMmfgWx-L)~s(2^!GogY1*o>W5<5$ zU;p}7&uOQf7G;cmWAfz5r+xI%M*+Xze_k*c>|VZnx#{!yMgn+f|HD`;7GotPC8V~t zR!~Znl#(_#H`C_kX1V`?Z4l^Iu3R}4z;6JYk3)chuIph+X|Ynu%1?Z;lrjte)z#Hb zEEWrSz21vV(^T|Jib-`{uaHvmbUMwIQW_zImY0`LD<~*2%tW zj+5M_W21QKiMbCj zsxEgN`Ke3ON1rk=KnD6bM6c_zseYG#!EyI5zqPS}JW>;B(psXQKLkdapf%KiKk&YG zOUY33P(hg_+)^T&2B1LmdDTQp9V^zIi5(rMsNQ&`JpQP^;k^w{PTe7iPHIQZ*#-P^f~D?z67V?aF|q-mk@_be6%%=f%m&rp>D}<%#xUK44LZh zPzzQ)h+9bm9%+g|tBZbl4X;vau+-_o;lqcYo|bToP*@v2V#HrxTeSS!X8YDX|IHy} za8J1XoxZhF(FPp>-asH5(ysHlKx znv!$Q^0jx6QtnO7Cxj5C6je&Wwryb;23#)J5WnB=CWP3Bx}d?>@~Tyv-VPfyTzh+(RQ(ui9w?Ptqbl!0Cj^vH7;X=dQuPABpzbeR2S89CqiAddL8F+l?U}~yLvG(*JfZ}o zu|YgG*cB-M{+9oq(B*S7n34R+#TT3rZSQ_=J*8Vt96$b|$N%-Op5u={{^vbCJ--YD z0bhRQ zIS&y+Yyg5%8Uj#|*RMYK;Dec=P^i?lZR|Z69YQ$gTL7?p8H%QqLNb{Ynx?6V6DR&` z>C&aWC!BD?gI^bfFaJZ+77#k^#h-uU#NM5)?K)6yNfC*zM2FTkzZ&H($5_Og~i;DkK5GbXMqR@BZigcfax7vrfA` z%k66c{Hmqp;LKM!*J~Z0e(%zo{X@n-%t=U=v8UwB>3?GHeGDDfAke5pcYitFS@9?mVmLW(@^@K0QGri) ze^(Tj3gQW54ywPtKE@iOb$r^d7T@ft9QQEQ4Jm9>COdmrprjClF-WQQQeoxS83|RC zutY}>+ySr9`~`%%d=F3m)ne81i<9>1fBw~1tBXQK&xd`w3sQpRJ&;;{KhY>a83UyZ zjOJJhg_Mv|LW*3Y2_Yo7l#oj02sF+jaVCY2d*uQLSY`m_%VUE!VI5>nMq2&jP($dmP!{IPDO%qZ|?MwEo z!KMa-Y#+3+urR2UO5z}Xe*kE1Zf1E4==f2iMqLU3wrwjZrA(*ODijK_!otEKgb;YW z-k*Q^>8BORWb*fZckAQv-@X^n2KM~hI%C#Hkx zm=Ihlr9deIWw~U={fW|ZKMs~6k4oDQAZth&i(h_-+$RbPA=^tCZ@tENf|ZclW;tAsci3ROgU9aYv!g=Q{(ymcxycF{XRH z-Wi;8M+lK}yWPXG*{nYJcdyqw)93Rcl}dqge%QsFPN(0`WHNW=50{X+tW;*2rW8WR za5#K#EEbD3G&Jn_IwcVRNbC|xFZtC=OCG=R#J~6~^T&N@)3W>f3`fxa{Pm`@>SsSX z@1_4mT&ljlp2iv*<>iFz*xo71&DU=kyKC!)q3Q0lav3_IM8L7q>e!Ohgw2nAckIp2 zZ7U7A$qogOhWdKactF>dK_EEl7tJT@;h~RE&EQT_vZA5u=rI#NL09}meAN1F3@u%W zt$R+!)Uhwa<4QqNny;v%kYJ44L}>=)#g*D4(btPtHC)iMC>8^2L=24$4dSS1^T}Gl zh)3KW&U^Z2v9((-q$f;y7Fo*$N;n8nNM;z08v8bs1RSoxv^}V**ofgpZ?K)I?<$vD z<3_=-M~?bM^Qy*%+C}xT7^_DE8X6$(ecOL>(GWbM8In6T7-gUYD#xv!KSVp6A{=PP zsFK&QJ$*G+?YI#cF$_gTCKHye2z7lyKL9i~G>DnMU4F72u6%?V9!?2oPS&CT;4dzO zk^)rMK=O_lW@r#LhqoYvbl(8%OqO{@|%8nUwxpUa7reV5w>M90w9x2NGQ}!s;@U18>5HSuMPg- zcDuhB4u`eQ&Q9TWyFS;1gA$b^A<4zFK?wn2E)WPp2vJ_2FH8vW=JqeeVzC%GuuiVF zww4e=)P@ZkN&yHd9ib#Qq|8|!c@9Ky_vhZP6d?fq zv}9-HTf5f0_1-%3=nW{rWx|I{)>XFB966>80!nj%K?gGxHgqNM%a_)^N#eds=6rXA zMJQ2UCp9XTF9&+Nre?&Xf`T_KNEOPaE@*vk!TRsj)&1gw?(TbBhOw}=w)UcjAAWcM zxmrITV{CZd63%LxR`%9gZ@JDr_gw4w=btY-`skw{D=sd+I2a7>B|OM;?w%PAhkvqc z*|OgfLZV737L7*buwlcdmzS3tZEbCb1tKY>95G_V=-%F55JC_Rhtb;Fx_3Qmnl@2N z3C<6XXG$sZ_SCP^JGQR-xk`11xm1d3lv1f+np}y#J>$1$tz{=x`HYWui&qJtYP!0@gn3ARY7~?t`OoLM zlmR%74k;;g&4QtE?Cuzgv{?Z{9l|Y>X#Qeop5Di%Uq5$RV{5CJ1mOC)(0u{+Sg@GD zwm6|wkz8a+f`CFnK}v>z&%%!OaqxR~K})A#8OK5+X0BB#C=vD-_2*{kdcD7`|1lpe zL#lr}(R7_~(}Lsz1A96krObu#(m5Jp>F~Y36E;VpqX*e!ig4Q@L~|qE(f=5xUq7v} zwN>1H`ti=1&ba)~`T}KmN(iHXrZX_z4P65~S|?mu5`q@MmL=dk2l7e*QUF9IAcYOf z@xyTlgp}ZBrmdOUof&Hfx>RpEiJseQ%u9Yh-#AtgIrA6iC0@u4 z0%XpdRyB9-^?IR)KUPpGF!%S*62n(aZoTn4P{faJQUSTW6Two7OD=DKmCV2&@FQ!Q z=t%S;9M*9A>aR$NjO<-6CxMnhwR ztS~^Q9Hqm}vbkQQM1yi{Vp$fHQhGcd=bENX_~esMZnV?sPsm9pEdwFD zk7R*Rv=0Xx3fnG&5NYN08bosRr!w9x3MDgyOe(<%F%z3XNm)tcQTPZ!N<|{Haosvn z-_=FP0kJU4vK%vO!nDjBW!*u(SK-hFaD#4Y(s@nNQBa8RK#Y@ zDx6tV@TNvt*~Y&3nbY4}@bS(I&iO@QFm%t2oX^+Bj{Vld4?mn7v;-Z;k>%y($5Bd! zrfDRRNVM(RwM)MC+H1vQ$BtbvYSgIefq?0Z(aZ>70*0 z{&)x>1rq0c59wMolOo@|~k3 zq*Pzf4*=utc=r-d`PgcJ3#RLgXc`4>ufoS0>J+7JBBXtIH|HUQ zkR0{t%_n8sem~!Pwc#cAKG@>_=WR8Ks{ni)QJ`}GMF>?L?x8(w z_1Z0>dJL)VTdyvj9YyRQ!&CWZhb;c+TFOu&%ea_W?r4>-qSy`tZXKCzh3! z&83u%XOtH2*wqPd;!RE1aU_P_0Iv&3CpwU|1aw`85CT4*Pa8612s|FopL=_I(b?I# zJGo)QYv%LM-&PIqgR%A0*5>}DU|wNvg>5?kyh?J1SlrjuHxT?o+8p`ES&wth#|j~k&1MffX4|$k+qP*YlaYiFZo93ZuUkM>17K^c&GiScAV#SJ+tE;Pj$T^2;nw)bE$8k6zgxI!?NF+ix zZru2_HZ5Qu2!B5sedqC?T`|M%-t{xD?EOxEZ?AsTMK{Q!YtH)5qUPp?lWS{V&L@L? zB@kY>uAUGy$_H8c*B`FwD1SfM&r8ED=64g~q6$zFoGaKikTNxr$THQRND6mAAL%YM zesdP^qx$-Kh66SU>hfL<&7}l46%+wuKq9U%W5~0pnf4+EQUs=Q^a)poFG0!=-eOyc)=DpgH|+C3sc=fUae*wd*Xjb&W$=@mAQ} z1x6hhngyjOwzW;iYac#=G?@msFAXVdaGnbt2&oj&+={xqd-WS$<7(YSlx^i~=^UW| zfdYfamBQ*R=Odn~#IEjRQChGOX{#Kjs)SD_AOwMwDi6R1*Y663ul5v|DF{Kg)4(Am1(69% z9o~phLs!A$?T3QEf)zJo?bfr{0K8bNeuRu;1W<0C@)-(&$gWi z;WJ@7r{(sr|0dW`3mTaN&=xkKauhq7JM`%L=M}d6#P`OOpX)?W@$QjDP24cHlEZ5!p4mFQ@5P+lrf zbIJ*rzihjjGEu028++#;$QgWd=FA~;=FDLmceXv`3;1hYhHDZ5l#eMY6<|;x#epOz zLB>ZA)Ud$_Uj-)jy8;T)O!oH-#avww!>%V6D zy!T$(eBL>~7+p{p-IGkda@H%aUrZi2Po(atao_Fev$2q7{M2t?}Z>zQR)!DKRtR4R2)pv!Xw zqo=3mr9FH0Ae+rn%d+$>Teg^qMB*&~C@n3erfC}ScwD8^>B9mr05mi-NTn2=K7IO4 zt5>g{lT0SFZns-=yWN_mX>LLYa~x+zG#ZuT#*I_^HwE~rk^^DT>+gMb+f9$RT&H^q z&O7IpKhWdOxmtC)hCrW`dHa3boe(;0ROgw%~Pz|UN z#X2)>LE8H`K5G~FbhpHsHiZpcKxYz2S&H~Q8q>`ll}Zd;d&ducP}-R5ak}^VhF<$b zA((51ux%naXG(FT({79kJ&V(3%*ESFzlVR%e-vAHp9rNWHtaYZFTMWC)ziSUlgP-El9oN7xGT`|RQgXkS;+zR*pZ=lOK2a#C zKEugo2scf}Z3k9511WQ3va%Lz(}Hc<5ViwhJFra~wrRo2nh;JdUTdb(aBK(MG?`;& zh@|?Aq1Qf9$hjK?7LuY0Pc8gA{?+^&WXv%7k|Qy+Y%NYW>T#@Vy9`NlB*OkS*p3go zI)@>d^&w??kjVyMJ6`l9hT@H-ci{C;?uDfa0Oer62;^6nTF5AYB!rfLG6kXuZ-71c z(|?tgHZ(vCItgPBoLLxhXJ=%#en$FIVAH0IN8B{v@fU!4!$`$Bc3K)jW5#071Ahh! zmLr{VuwvCFaOwwj2jKG;AZfX9%#_g>5T&fQ3&igsGoH8&g@eOs1ZXrGmCwBV=1-W% zdt+}RHEGH6mALPrzmP>AEeF#GG$LUNg*FoiTYU(7-EzPNFE0&i#o^!|L5M0TsXyqm zT_20lXf!I5p5h-DlvUp7_6H{!ZZ|B)Az9Og!#NC>3rb2@*);rtAUGE?F%ak8U|92p z0)GUcy1FKPPXFFJKnRhqzaA5g90woW0Hly2R+ZCyH@US3vK)-Ytq5O+^c^OibNuAUDs<{TU$SDZf?H#7=Py)w_leAey;_1+f0Fiyk)<{{=F)?AiCT;2mSH%OFUAf}%!}xLvQK=(uGg@A7e{K*2er-~p;M!~Y2!vyAY zW7z%R9obQTxvg^o1u1iVdx7r@g!2$qnb7HD`1|II=sD`1i0^-?%~na!!7c@Bi`LyLT^>Qod7K zT6%UWmEwE$?D@@*Aw%j43k#7*B$Te}Ux>pFlHP~IVf6O)(o`xX%gV|sfB3^69+OI? zSR#>-iNwK)s|K4poPGA$Z#?(hbC(PqI`rS1^ZwntcVBSz)mN{`hd#vBS6}Tl41<`a ziEK9eWgY>Q&tD*fkm#$gzWQ8oaq(GF%3+yIhS|0~F%Sq`@YGXJ-BVXr_sdu;##F8c z;@2u)h(>eSnXRqOo@sTLUN?F2QOwRH0Yc#O`Pi5-V;UDNTGTLO#*8Djgc}>`DbOgc zJF0ukKi{>yTe_t>dy*n;aiFSzVChzgVjrNO(3T>YSSUfD(3_MbV^bBE-1pt!hA|HS zU5)kibkGX+ge%5^>BWLOAW$TiKFHCR7=q8XACF|Z6b4J-&80ubhiku$(t=I6>fEal z@bo}Q1ws@|GYBCJD9Ip%i%4#OQlmH=HpY7V6#&(Xg_F~-h=g(oTt*5TIxj)%=2vmt zlzE7~_e(5V{X%%z>m-L`er=da=h}F?Q{aZ{gUI zt;LYN5Zp~Xo&*2|hr6I_7TiV#j94fLY{G^;=VEQg4?x`kFkwPS0;TrW`5#n2G#$k7 z6e}nY$_N;PwDTR^Sgx5$zI)leQ$8Wc_ge)h11N!&~eLSB(`AkP?v6 zf!A+hTlewk9Tyag*Z)`O9L3@=%LRJI7ax~5@x`N#0NC0u$I&q0^;R>>&yB$MIP+S$pSO6bIA`#j^ATPe|=ArK`UG|g3tJZVw*u?AgGN}}H>}i7y zz(s(pVj$T##+Pa^d_L-uiuRjClvE8rE!Oh!wRJV*?~z!{i0;?RHxh}^XhXd``?{Nl zGMDGBteNF5#)u$b$#fP%%3Qx*${>XRr3}7c2-$3wGTorrR8n{Yq0?&XufDdqG5YsO z_4UTO#zq@B;0UDI{ZcAOrTb8oj3B<{4S2B?2I&R7BLLr2pzlq>x(*tv$&=~N26 zy}duItE+4N_~VaDhYufqmZoV{0C4QF$ChcD7EYy73vasVrjC!6uZdHY1f_8WU80A6 z6Rv`(FtiLDzONma#ux|@0Cgel7(^0I0Hq6oGv>{km#M3(+jd~d)1Y;f$hg<{CyPO| zA5nK;G}+Zv-o9ZSc{vt~vD%ZX8$bAH)r(_?|KJiS1u$Or5ON_vZOg| z+wV}c`%Taa6Pf|=?7m=`VnA^gabDJh=XxGwvG~4&Svs5r2B*Yj0hn05u072czk{^2#d{0M38ql~=m5+3Xva zUw-)$YuB!A5<-AdN(K|`4wh9<2tl62T!zD85(|QKmYm9`-Th|@{2$J`OkrdhKAdeQsir9L=Vn~c<7;r3awP~%I?lK<@X2R^ZAHn zS<>tE4uWt!A>=E$qf0#;BMKxsIu-Wx3v>(+a0hU>LcjnrrbMBeU`IdTH3&G*9pnmh zjskqqQ=o(%0@119T;;s06t-ofqzbT*8E#84FYJK%No zgAfIs32;Zjay;PNfDj%9>Y_@s!iwk$M5mGqMM&PWKqXq zKEW$3zr?h0ufT6?gFCnt1F1^rx`Pcp_0U{K&Pr7(r;{1sg_~|uJIr2sMc`glT(Fz0 z+j1h@t`sJYT#9XNQ?Y9E1?W!>hfm*yesLl+j|)nq!BwvDxl{^Ds=eiy2kN)`Q%bM| zwNqRXC_*(2k~ZpIAyks}xsW6i1V!XNJXP7kn z9eCU+e6s#5e7NDePd;Rnf_nh2OU$O4FqE5d~q!iY(_T876_q%5RGP&{FMi; z>goI=fQ8@9WI(Q6%DdQ%fdDe*tKXM-u z&peDV_dW)V5~K$b@c7)={8XG|n^EcepaK_^O zUD1R3-RzD#46olWgy4qT&H9r`>`yU}TO$Gmr4^8%&;+$^)0LM{7gw+XX7U7aXqZZQr>oE||fDi^k2r}t3I(zz& zF#YIi+X`#VkI=F8L)tfx#>9zZADl5`#@1DbP0CQ!l)ll0X9) zh~vKNuA7(~HEI-9O3~G;-nnjPyISiFjfa^{ECmh`kHtQ>wwXyeZ~f;}tk_^8#ay64 z1A!_Xg`+hTj?qv&o*`Jx;2FkHFq)xYjE2x?4c=ioNYFqEZmij6;mz18WRnTLzwR%5 z=bUB=0945?jRNF=KA4o`fR_<~5(26uloTCD@citRrkWaU#)=irho_x#{p4UMx^5u; z=uz*!_siC^&-~4VaQLn*{qZM8zV_C4RV0ErhXCKa5C9?`k2|()59H(izCqAE6!-$z z8@kB9k4Pyiue$20`&X=3@%v;lSvYs@+(Y`v2qCJzzTO~&7=#c{o-jp{d|SsWue|b) zt*x!+*|rT$(~by$fqfQsQ&W?+|Ldx&uDW}}h7ErmKYskJ&ph+Y(}WN<7}Gsc-TRL{ z7K^c4Z@qPAdq>9=-Q7JTl}d@crA{r&QhvXmjvYJph~3exlNuEO6qfsU+MJp?1rb6j zAr<_Fgo^>Dt&p@7+?s?=C9)1ca~y62l$lk9#?Jk90l6(YpMV4@1#CxyU#-EJ)Bgmo zD~&{|49RpU>W+B~Cm!_-&OQE*;G7|uEd?p(8s3t2Wjlo+!eZuIx{VfW7MIBMoBynFB6c>1&pK^+Claga3~ za3PUQrLk%2E-;PdVl4pn+S$4GtMYl)j(l))&Y1c)b7;6k9grw3dB7NMxp zvZx+b3a&9^9f{p(fw*8K1<>G-QtyQ0PI~A6{`}lk4Gj$3Q@NdAk=%mi98ySRvx4THRY@Jkfy@_E+O}eYmaFvyQw{dB?}B3^`RdnMFPPhi9lGw z6Hw3$g@Q1J&rQ+UD_~~{vPp{c071NmA=A&WzMVmh2w)85htDt?ydKFr=ppRD!CwF1IQ#XM91istJ<6%1X%Ard`V4MPke4b4Se zZttgMcem^Y@VQ>zj-8F`mMMwhrGyBW4#DW+R%nbOl`ewDY;dI^<+uS5=$Zv73~bnb zBBqXg58H!V@cOFzuzt_!XgFaG3|->gk1ru(OBTryg$oB9+s2@N3YjwsRj$-gN&-qP z7(N|s=2>{|{Smn6xSyi#n5Up5g#y9O_G-Me_?NI~2@Isb1)vBe+%l!(SOe*P2S!m` zezvEUcJ>T~=JTT`H3o}UeG?v67D`y~ILo2*LU36MC^%hT5afVZeHSF)l2!YHhC2D;w|BM^kJZ79Ns zlj@Vo_78x|kW@Lqb{qj+S>U=0pYFT>CssFN#E`XM8o^5+Jp#@Nsz)qBSI-b=G!CVO zvA+Fmj0nAlZ=Lu6K3IDeRt}s8)8dez?^639@eoOI$@(7B(R|K$IJR0%|Zw6QrDhxS6zMiPxk9yZSL=Xd(Xeo9p2X4~M~k z!muAju41hEa4~wTufX5;49B>p*Ky0Y>fkOe2CQC;9#M{4zJC#H%Yv0nAQS>gn~*lg zKn(?L0XU=n>%9I@5K!FXGPHqY8d53fx{lp#9ayvWGmITK23GqvtV{Y)TwILO@&Y6s zAd#~0@tbcG?l{sP4Ea_sZGL*%>F2DA0xN0&)&g+DWn5>tJs}sP+_r74Kaqm2X>d65 z34ID0qi}ouuq`tex)2iCR5G8%Pl%mKOHDVthTHx0w3>6)MWfLbpSuU0nWP*dBv&qg z3k4}%xr!DSa-hpd&S^~nu$qFP#7h~qf0Z95GBot>S#gTbI(US9qS zzu)~6DM5&ACvXACP{2cApa+H8Hi-BqXmd@3*Zc?}Z4H1mfPVsDoS<}ck&fPeId$^U z7cO18^m|oRRZmQuIB_I^b^BjKZEdXr03pPJ-8;AZu)DkKhtX&YudZ%nKrYsu2kFn| z&!7K_rfD+)JpE-GX4-O`QRNa<8G*6I0)zv+hr;Zl$mYv0Qf`XU0u9~W4k*p7UJp|U z>Jp+t!eSO!xr4MRj;Q`lD&8T*!Ld(aUwN_O7KD_Y0D$V+!^R~C!S{{hk3V68-~Y<) zO!nz5tKTMuC|4vn3&k&6sQHw%C2wk{vp&^8D0f1?miE#vyBQbHpYTnx@gdzCM{uCO-gxKp;@z@pz0xB5~L~qOPva2m}I5DWwnU1Ayv0 ze|IbvD<~-`fo#XqgtCYaoP;DMjll)zGO85N8sr=7?Q`dth)c zUER4B!0XhGN8K;d2uzx>tACqHJ{~o^1@`>UuiVh$02)uq>U1K-n?lY%yO)x?6MoiB zCse&>;K*}&EDOZm3UwU&EmW%N4HrzM&#yDXY0mIjHhlG1>9n-v3LkmRU;XeWY#H@W z|6ZJ+#Wt+WeE4~Ti`7a7lJrCPZ5(@uJ1OL6M{Qvj1w8lG!eLL0^6hU7Z0wlcft(qc z&9ZmmJ<49E=Qle3Y0j_pgo}*V3uRQoT!=L3bO`=EuW2O7xZt*|N9&Xzo?DW0@PBP2 zM)eBIxke|X!w@A!hj*q&8)-u zvtr!FTxTCK+kZ9hyu}wD@((+6Pj;0YB`qREi?S^gtw|WSvPi>>BGLD`lalV_FU?=f zG_V20Hk6g#eOT|kJGWxU6mn~h|B)l0il=T2J82^@1>eB0;Gk1Z7AVA?njj`aHV! z<@=P_*YUxja$N+1qOLqOa#DkvFu@|3*Y2MTk{izg(N0slUOtuBwcLZbwy(Enz-(I2 z@|qCA!2*bggD^7ljqJ>*MY9!j-L^lxy8*jeq9{Id7 zO#EG0Zv*!U7(TRBd)Y8YCS)fe!GRU~ib}8>QSvw|k-}CxWsWY8?W(cmqxLAQ@cYie zk2Rf{8t>LZ%r8L{?@AJy9BgA`(Gjf4d^Ufl;bY(N;J@o{1iofIUpK?s>Gyiw=bqEy zeHUV8^^B_6_!>>kj?k+2=LD4xA=yDC#*<{4G%f1>4_g|TweBB<(AhNcuYNXDi^Snz z%Iv7@2K3=;og=ucAbL9-ERwL$Q4}0-fzkq;zA!Lui5Q7McOs3LzObiHRMC~(AabMT zIAOb}a!JtO9iC{~0NY|YV@Nq6VI-7KtpN=L;3V6d4LH0ALrf!nzSQRi5ss~(_K_1Y z0n}^@HW7ldgh{%#OD5bt=B8{AYg)8Nm240w`NQ7f-z2qkU_Ue=Sa!8pI{WS<)LmNidDc`7 z`ysg5FCQ+fy(|2zx((5cYn47*vdOCg$`5Af6ez!;;qpE-G}M%cnD`!w|7Y868p+<3 zt(Xof0~vk}>Y1OPzd0ed$*w~MVPaw$wO9KCa)XZu1~UR{r?>oU#h+Izk{2gYNYIf3 z!otG#j*mU5hdrs({~u0}08}xv6nvISfjnf{!GMD*@96ds=6^BF!u=ZR0H?U_sHm=X znj+}F1}*$*6y|ES98U5B53xr)yid++^UrceU55>z&gh|FrbNL+(|X0qcFAS_8ofAgM*1)C2xbqW zm|#}?*gdhLF)Iyz;|LuB=v3D~g{Xg(-v8#Mp$T;DSOg*FnRH`jBg0&4tLtaFL^QWZ<;td@w3%vAqX|eB zU=ZeF^KaG=4W6eC07V8DAi@mm=;%=9%P>MaV)}Qt;@Glw^QUf5-O=Sy;kjR2z+?cL z@8q3?4?%cKUxl5#15W((8FAc7gO3msbBe5N?-fma-;GC`f)!f3S88%HYq8FrhIkhK zcQD&rh1;4Rs;~{H&A?R-Kxha%uWL=*uhkih$)OMb#aEUFZQv2F$c=jVIHDrp?j)U& z;PVI%zY|J0(y48bX$=K0iiYTbWnFrAi_!IXEJr*XxLL(2QH(NM%pHe2R7XRj4|EtF zZKWJC{9Vh5^eHw|_mwOG*2T9Ecw#SoFAecD;^j|d!L3WL+#Y}3W5t=eei+X_M}SQ( z{MvH2?p&aHuGqi=?dAn{18P!1dMGZ4)X1eT7Y{H-RbO0ONZT~L$CYVYa{?@AFzPC* z!B-|V`iFaaLqL+qs?d-M&{sXt#77Vl5mAwZ0OcX@AQ{P8HRa_6UyKI6#MlP)NRwfP zZJhhWiJ%6EMDAp{oAr*1@&}f!FPK23Sr4z7k;^# zQ5SOODiF0P7^q*Qsd@YNn>i7h*LPtPMDZ-J)wy~neAtQ=-Q%^4FoT`0?2NmU4GJO? zW098pxj^0c^8gG6Z?tsW-DzWSyY5U4^Y9iWgni^d z0u3qp#s&rVeJ?E4f48^TSz#!01c8)67zrTTsZ6Uhcv|I*9&$)UGKTuJWv@fV_O*3z zbJKeTsG%AnsTg2#&1S^w{2~5K^}AKnwDD%qxSx(ZIAE|HO~gMC>0?M*xsjhFy#^5= zEs$5@{V_FA5lX4+M` z4NC|Yk&&TGSs(4>B2Rc0n`ztG5fsLa+NBEfEAtkYkUQ7EN31#h;fCe|yA#hc<5+i- zisa?Qc&y+P=lg%0ZaWz^P5@|Tp&|UE4w3;)q`Z;<#WU3zb~~ras6ysPM-K2#M6D#F zzTyzV&*FSE;`(DuF7FA<=9$;d)P!YEs9HLoWLp>?e%R!*O7yRq-hSpQ7eotcw)3*# zBPa9w+Kw(`H*p~t7Wx~(5ES=10nAwCqc06Io1h9q@=ySMptVo-rjq>a?N;l8@R^8k zM_A1`=)*YozyngE;PZLj*e8>_4q)0F`%h@2M#p5!tqmKPg-{Rjf&hRfA^7D#={62E z5GDYKWawcjN(A8K0L;S{wiDo$wQz`Y_Z-w}R1L=fA+_Nv&~U7n2Au!C43sjx zT&%NDY+pOMg$2W(qYn=bQUh=ZaCA*gdq|;qzB?I5!2PHB$(SIIDQaqTrm=`3rm`Br7%xoe!=^@;}7PtoM=~hU{07+%4OLi_6Qmof3_MD+g~VwK-eazG|s% zXZ8HsrP5;EYma^BogKBwM5(E{iV$%~=WEzo{NDCMaK%ua3-Qw;H1Rvg^gKUDrRex3!i{kU2euEy4Gf)x3d0=<@0+2SP&MO;qASi9hwq^?t&u+=^~VHufxqnvH;GnTReh zgs;2ykFFw{t7tR0;tRLnjCun>W%{R2T`4+MJsqE}A*>0kOD)U{ucnBdI*n?zo8l_}v-JikSQ!{;=kP>|Ch&sP*5*-p>*SVoL9E-`l!YX1K8<749?2Y1u zosUMgS!CL>izAK|o;Knpaq=?4o@@9NN|9SyNY6!+uIU4f5}Wy8F#(#zV5EyIv-!-ro~u*YMN8lu2te`t&5eP@$uHGX<}+9OO6 zy9{9?03GnN6nh3pG)VpW|_k;60=EJhwk*v*u#_F@6mK{A91xG2|eLNe)Q zQ8a`F)=DC)y^_=LM3=YuYP}o}lTJ=f@bH=nT_;A1lB4miZzbNh_yEMJ76{ur4M^ah z<>iX;4F28x9NwtLWQ**(;1Sl>zj~fgGzLe=yQz9X_-BZWwa%NTIDdA!ru&US{$sZr z;v$YU-m~_)@{~ccY`zx49a*1(02o- z=EQB;UOcA1za3?N^CoD=t0Nu*88HSQkskT)dF$ND%HvJ5<4TYhkPTNI{oCAOGFK82 z#9I7Wf_nR-@gPtDjSi+a_4k93?gFR*Vju!&%JaF$OZJrezg+RrIJ@}MEIL0EwV-7WGNMQ>o9{-fC+iUM%=0aSw`%;C`dh__QEO8 znq+wO4@(;_!E+8d7ALOrWSjEHX8}BJTGY$Qgu#%UNvBZ@#ll_K^b$|V4$;6Eo#*}4 zh0o?LfQ%!9QJvpL6z?r-`B%8|ZlxUezF(^777H4H&S~2IZt}pNPQ~3rKLfk+d^U(RywME)i;s_RH zbq$QVR1cs**%W#Bn?fdj#ZT6bA=hwba+pGQ^7^X|i#ipxHtlhzs%QyH;(ixGa8{S| z(^s*R@6pcr;YLGG+fho2%A?HIrra^1U>Pw<+##q-3s6=`~etR|avii$!_n*0j|t?unt;Jh!%n}f(IoyB~GdYCNY zoes(Hqlx2v&V7W#9hh<5K@QTwsM+Svm!2QhsCKp?mz%V%a%I|_5^$gIFZb)_*R$@> zfWze$va!9cLqlmm6x_TBVb(Kl!JDgE582 zf~eFvP=%hy4&&H>+e(*zi{JKknlkgZ&&ilGHmZYw=4xtgI&!_+M2XGy&oGO{udj*t zT4t9eYCb1RyS0IjUOtjEMKf#$C1G`21Aozk*T2f}e7#1JgoqD_Dd63viXuIam>koO z6olxQ{dCAD`05S%m7;Ptt*|^5<+iR-idCEHPv3!KpiXsu;}oLZ8lg#)OB}i*XvV~O zjY3MBmc*P>S3x(0Tr-cAG->~38Dt}?&!!u+yH;I zE}j*ICMbfalIRKrj>dIx$<=xOo)QGM@O5=yRGwNST#?{+P;Riv?8MSk$lA&F>f(}< z;c0qEWG7LO74VKY<4omFG=FJO#fGd$HMRSr)o(Lwh37M=vT8u+h|RE2z9GHG-PXW- z?MtgCaY7Y^)DDnVIYjTFq!Q5VCqL(vS`|f|HJ-7<`|C{ki-;yHQuy1sSz9zW(_mtt zq6@D+TooAayDmayQ^%m^M)2_k_!5JD61mFYulON1-QC?O0E}>l+04{*yrhH~2ZT-^ zG>{G$wj%07Ud1ZNvdxiO$fNi5Z=R8^tDs}-1WTAJlrs>6zYcYr=>g(MV{@_rNH9^cQ4GEt>_7hDTC=0Hl=T>yFg?^ha{wUS(8TXj{@0il zR#$Vm^Ds@bTK*Tc_|)Wj468}^)Xt}SZi!p#U`kI#GBYfzA8}K_8gXttS-Q8kxW2BW z_xn1q8H%{%|n5>2XWbbG-me=7w}=b{hOAy5T_AqZebXpsxKQ1c0J5GWZ1{FOd$ zxtB&ce?aN|T3=6bx)P}J2;(w=K9I>-NVx|{KTmbVYpf+iMF({B_Dz_J-nRW?jtV`d zLrw_oJAJo#j5k4|A|#w(##0!%uGZ2BuX;&%KpU(D`@LEbeU9;?Dum0RxrRG! zZS1$ngR;|m4Xw{M+W4s`g|$j9hWJcs;|J@mD!W0KGr{YZ;-MMUb1?EBZOO@I$)W!) zS%2(xT#h==Jq3*V0-_wc>)UuRl&vH`Kf*jAW&79HPbzzPqd2diuB^$D}I- zDx==pwrM%tyWhBb7{;>~YkOm~^8$Z$yT0j3bo+28ZZ*2UTc(oALAvC|y=aDnx^%V9 zL;zME!YMKWt6~m!DO)nNwb?-YOl0!9(8@uhU_?oC(Njn^vH-Gis*F;xke(z zcJo->9{99BD6JjKFy$9ik&@b5cT8rN^bayIAarPQDqq>u<2zp^B)cJ~;D zs~kBytaNqs-A)OL*xbhP8XC7 z_0t@j?KWxQ#e4J<94S205K^XFsCnHVlXB z@U5mu;D=uR_TL`&oGQTurT?CP`oyU9hx`bwK`z-vJ@ieH?AzB>$y~U&tPF{vJ3@r} zKTkygUF0;o5K{UhcV*$Ng9W3s1>AY%7^dw z1#erMn@g<*M;Lslf*J(DbZ56`pe9gs5j@3vLI(XoZL6ma=u>MA9Iv9g-oBf@S3%Ed zbB+%PTA}gi(o{RP<%}Fi;=vB@I5`L(x;-eGE}gJLWuC`xt}#8#m0k6j5O#SS@jA0| zM0g{FfW=lgbJ(B8~76dmmX{5tJbKD1X;Ca=&8A4UChx@>~0;3t-Ma&ngfA)ssR zlAmc5xy)pq#L37;AocaIL}A$|@kAxKuG9vOv`tJKg(Kz|qW)!%Lm-*i zOr9PrLkPupio-pb`B?crpgRixf;sMcfSt2*DZ5_fRL}FV^E-9sZ#^oE1UPY9MNRXsCNJAB?w=qa z%b3|hXizaVHMN}me5Gg>@0Px2li(n2IR-XJ0{Lu8oM+nkaVkJ6;`8S|>6nt4Jfl{Z zk1shKCa394#`V@#efz8w*}MnjAc17P<+Kn63{5B*2eK_&=pFYut`Jg4GJOTM0qN-w z(L^?hN-qCIeNPM9x2}syQqykd7>vU&xeG9RG1lFM4*%N|apMK!;Mr$;kVSurhnLqM zUKb+#{0W#HbsYUPR#^X+l@{l;?8`OUtCg5K^j)eL-e_KHB-sETps)dfAa5ePO8&KmND>8oDF2TqL5v@~whpw8rrc{c45 zBV$8DEZ8l)+Mfp0tfRYsbK~{UKOn47&OGZWi33Wdd6%+~?&RF_)oH1In-)vdgM-la z*fP-D#KZ7<4$mRk=_NwKL^7US2&x%}34*02}g5>oTn=O`BONZBA*yI;I9kvQY6wvCV z2JqHA&L&1*B44ni1(G~34LY&Ix)GoU2l$KDA*c+$Uu3~x*Ma_5tEvCe19q5BU&e^H&+saU<01+0|^=ZK983qgJ8I?@-6MB2TG)F~Bw%2s=aZ z`MRaFv|J}^+dJwj`~Cw+>uZZ5?f}hAeDKrOuqS}0{z!JSpPZ=%C3F4B^ECkx@*rBg z+STu^A9oeMejPa(VEwbFL1|!h005>OygYVrsV57rV^@`eM{EDcL&_hU#=0aVIuB3m zYk*ZN49kbl>j+r<-UCdgd*YSmLyl2E2?yO0u~$@3aC%xCl)5n=KA45#KWD+7tgZPn zvL(gD+8;OizWBd9_Q3r&PGjA%JAu5b9W0>cW-76x86~slQRDx#GXLsBeMou{y6M-( zWVe=G-^o${Ob&cs*I8WmdQX#m6z<;g&2?#3;xAG%i%V9klns(1#G+FrR$l`ZIPtcn z7_Jw`;@2CmQ13A{8+-PZPG5d;Uh<9-UaD?)eJPmVgi4K+Kq}tTq;wq|zLIW#3oK+E zot&K3586-m0G~lAu&P0kW5OpfY<9?4Y_yw+x1PxM1?+~DE4yPEm$C5Z&|6v_W(B~u z)pfHRK}ks|y$Vb>2HV_sUv^-}x3)>~)z#HN!sO@(Ub7}yiwy6h`vYS?7s3+_#9!bukneiC|ghbHDq^QD$JckvLgIX zUAN+k*Fz@tb3<@&|J4l5!AWn=tTf*5>M4%K1P#4$RrSEUzDX-$`ug}R%UHJ@Sa8Y7 zScKTi+{@2M_D&B!dd7;#kDB;0Snur0A1W_?Q5X+Bb)V*C^!(gv(jB3X0fm3DNuU=duWqEA5A4WJI#(5H5aO`<*c9LQ)>Dxn}T}5 zrPDVZ=&N6&OnUa{988VpiDW)@9N-ZQ1lYY)W}bh8gIU>iy@F1?8hP}3A3-z&$h@Cf z7*TPL#2#(pjc~-R;3yz;POHw&@o9qx|H`i{z`Mq?w?YvaFtGtgV$rW7Wzag`*85hSX zy1^;?DBHzhP}_TVRVpnR#yfBMUhlmK6|NOu#t9&A{xpha3^X9>X_n5oL> zAEO>v1058<%kTO?o3;47`tm2>X356+#pdDe;F>l^i}l|R1Ujm?tH8rJ*wI}Y z+7+(sE9Yk`^7sXT?HnII8f7_%jSldh%x^54d*p9?Ie9}H#gbVsnk(VEY+)d989QB? zo7r-?-EsONz2DP)oysRYJN54iBPXR9Gi5BLoOsLXLool#!}hyWD zwC;TTK#l|Yt6#2`)_tKU&M!YKZ{fC-48NRS{vGW&_AIvI9Ov)d4W7y&S?a1_0kQ)j zx7F;(;lF#VOSAm-K#Rjevg%vvQ?t5U2t{0J+;13U51V>Ylu zAEpnGYd4#nn$#rkT;s9RSzKO@I|n(tiAmbm@5X+DU?dWlVQ(0fi@KWx?;red9^PW5 z8j-vWkgEUqlXnnHc7L%AV&|BtoTTKieBD$NXtw}+HB?mGmE-B{fesQm45zFdW})?# z03G?A%%$aaK6{aZJ}j>Qf8Dy*d3U^(TLYVnn~3>Skz_+Ra*JZOVpMmEyPG+V4ss92 zx`U~YNJv;l`rQ^t=C)!dME_c<10TZ(Kt^XiOs@$`Eqsn)y{*^P+OK1N3jCuim8>m4 z&FPUW>8%oVyg5R&iFg;}_S`#?O48k!9MM%#9L9BcLNb{nSi{F*Io@w0!NeSUJ!CF zpZ7Mc9Z&)CDkv(ZEjBw2<#P~|SvpEZ0FfboL7~s7o&+dp%S(zDuNVJcv8%G z#)w#(lnl{^l#LM!^(;UC`+WPxsmFSpf?-!gMPxTTfaNh4nGRwpv+B3<4go>848K2q z`KDuMx9dZsX=tqP?1b1M$Kg(vvlI;oXoyd{uK@Z|yNp?SK!T>XWs*3;{4(N25>_GP zFNG;Re;{X2j~B*{YV6-wfxcWEis%UwDE%LVCPxfrwLk=ay`~V(!|+8vZ1r-U^SYS+ zi9pfSdJmQIUobR|Zr@J&| z#yvMh;PhHCCwe|OIPg~b4Rnx01!SHQ(R-dfjIQSr2HE8xXpfqdWD(9_Za9}sm9x~rW(PENS>Y72f+ z9G$RpP<^hkBcC@5zNw}SxQe7r?tbh5R|i^QnbvuvJXz}>Zil~xD{4!!Q3>-d=LLhE z{qCOnqO`S#N2XdZ2H8H8e@(v7kUD(6xjEEZkMjm`!TkNi-|OpVJw3H_2Y0_x2L?vD zYp~>%;5m&_h? z_Y>aP)76!OB%`Pp(Yjxf7jPGf<@IC&L5oqg9j8N<^=t1SE3*#4McE6L?lEc${9E>$|jQ4PX)Qj1EONstfC3 zv+-SNtRjQM&`45$+YMASP4DrDCeO^H zaOo$kawp`F?vm}r%*5=KO`r8agkGWX4sFdJ&n;^;)K1*z7oJb{sJ)4gzMHK}r0VFD zw}`#fp~1SNKPcf(?_%}8G}eILAFD>q=`jg^PC7Ws=YQUGc3fZUM*L?RbezJ;8IWIL z*pv45)}*STVFsCQbaeDxwuG;nx5gK0CIJtP1eD%a0~{ax#0R6qY>Q>kHy)+Dj+f{7 z1Oyr>K=$_bmjlR4Of1})S~PsQ=!)RVUkq!5H|tp{l^P>MLflXxU+~!II|k87h&9YEow7;@7;QnGNjMT(O_jO`xA5YAC(8l9SiHBGq zkZJL>>+j5Yj3-t$d&A|zNB#ILB$MQXo)M8_es|xe`+qmmb~z46mNs^paZM@ghDSaU=VoeZPm8u!^yHY&3c5P~1{Y>^Ji0DMY)T0J z6f_1MzNp-1ww}Zt#w;%{Iuhedixx22SO0hy1n&t7oap4_Z^5q;{2*=!(-)klD6)7D zP)cnV&Tp}bdyI#~Ov&~~;q+S8Ip3TmF5T;ruOpUAetAN_D?@ZYLhnK|htF4}o}<6f zqU5iv#Dm7x=K$R-E})hge`q*{k<&&o2eF`UE3iJKs7T)zPkMQKd_`F>wgJ)6$)`b2 zAFIF3&xb7i&|uA6;?OAoNvF;5umkbrr^_tEL((Dh zCxrbUOf=i?Y{SZ~<_Of5zMVd{F!PoxMO!}E*0{`;pPGj1{r}wP3sJ0oScDk(peNG(xlsIaiGpZu| zZRU5tNmVEjXxf%#w7uhZJ4!>EKKd5@<3+v8!QEcvg{J%UD9f0n#i+9T>5|)@Reuwy zk2~bsg*ykcuJas^=Hf>5F%jzqJpT9fCr$;^>Q`tI&d4Aoy-c~lec;SIrW~%~$MITA zdh5QJw6()CW41s|GhE$qb$7qu1*$;O0E8>fS+_k49&A$Gl^uqi^*-}BYR&hxn@Q=L zNd^s$Qcr*Xz8B^Iiin)5s;ko&QqWZW_b^WnnK``@r)mn?s+uw^%FVKKPW(Mi{&*r^ z7K(h}dAv0wwX``DKd!xX0vclzL&K~_M?)x>o*FaElEY#D;%l)5y^3LKv0QWU=<7Zf zOSD1rfwNRh`XmIx-k)$eRA%@-7={b7I`*%%53+piZxm6DyAgA|)7Xmi_U0pJz~o`lS*tv~B4-{DPvO?MdtcovHwqXU)Z+*I3--V)UqfZU$j>D0b<#xpGe&6hrCk51mR z=X}RG)|D{scw9CP%dVt&ppS#GCbQNhXdMpt)c<%@***FbeSx=pKudmjeIR3IR}fhB zN((V%FXVv^Vb#Q~1s-(qF9RoL4aPd_;5yAz>(nZ%uctSXYx+dxcm0WRU~c-TJFxL+ zhmd)6pI?v6wC(<25H-A7y5`4WMj;#Ayl#I`Pp4!D>;+*mv4kQ*ul!O{Oa&t%3e!M$ zxDbiK<6~Cciv8Z*U@upcvg)g7Fmcq|K2acDAbWOhzNy<9H}c96T>}3!_c4EJOh4Fv z`pPHl+TFU2#2VjB-mk5)V{ZRCd<-AneKvPi?HOpgcgiWze15m_$Nx;FF*d6p%SNI%bloZ40t(wPhqE zFWJ}*3Mv89yB(~GaMY4{`#ce*{mS7|KAt0_e(fa`;?C?`24gL($G zJ^pvWIgojXd3gDIW5-L|H|Or$mTNxetKvbwV2gh5^c5A)_oO_hH7m**MFhYGOr@Cw zM0hyUO4JJ*Q>^VD447G&mWMlP!KcsOi`G&LOP@DiUst*uwUxX%>^7#}7H{@tF*oX` zV`j<^SN@6_Rfs=;U*!lj2~aT0)j-52;dx<2p^58ft$Dj0xf{ZRJ0eO}sL_vBoZQ+? zci)YG_wMvFuF_(13ANw&SVoIZ`i|PUy&ADJy_$xLr)<)jYl6Txb|~BFkt)?uoQX-*Bk&SRT55>RHSi09Av7v!md`$?8LhA%}^C?_ZJZI)}t` ziH}q)pq>HnZ;1K$UX#ye$uwcuF^WY}=|UZvq#<5H~$jh#G4 zSi;S`UZ4u`>EX&nN%EhO--!`LtarY$iX;P>-EANwEc?-kV=5)@Ny z{q(Xhrnaxldw94zAKv7B_a3O}4S=(2Z`FOWODqKv$dv+7V<*A{{2nO<8ee~z^J0ST z15Ao%?5LxEX9DBD;2?nCvF-y1n_l+L2Wfjs3mc_lu7@%5g*khZFobgTDbST2&Q$~U z-%<{8CA8X@6Y5n?{ylo`<hZ5mzd8a23iOBKF`^W-!4A>mNk z?7XGft3EDHNLftmY$R*t6bK3#i3rEUXQS*aL+ALC{~B9J16r0YwwChR4_C)A`OEU6J2B1u#4))e~g!@v=aAw zp}w?YJwFZ$c1f zqp{*3L@Dx%Zp+$PiWU8+gmjW>&USm;>yShhJa#7vV$y)W?(s3$@h_A8=M4+LSqAiC zi!RloC*V`b=f=igY#o1#3r{vTb0UMtsZ@LJ#`uZV+On@2-7aHXMtoYeSVawHzZhcV zpO2b8fLtU)RIWDWcXMqzL}T@pG|3V&-$3LNl?0q_Zc9y(Wgvk_j*f2U7xM|c$3;IH z>V_^ZG7om@U5MBQtmFy5C!3SsH-FTGpnuO~H8-GW5(Hu@9-?KxaZB&VtvFq`NCi)h zIy$}u4Q)S{Zn2#%moR;b-9?7Fd46;K2oLdAva0gOu-Mh+#F9@+6SdjxzI3kGW6y4I z$5JpZE)zc|a5K|Q9PUGkKwGQvjiRPn?vVanj(TpSD!rvz7I?U6#ZMPwZh4xOzZ#-N z;PoB*yE$gF)V;u%3mF8Rm91Bm(u6*u{eG~()m${(+Yw5RDTjd}ny_Pmxm&YBdAyG| z5NxPv-Sk^p?X9&I;fjWV{F|E|^}Th{CM}^oVqO%)vJM41ubPOf0w#~zk5bHI{s`xb zLiEAp?fct1OV`dOxozPdNA7W$TM0k|wG32A+_p|}(`Axfg+C7GRN|$r2a>j|e`N4y z&SnZy`kKPkG;=^ZriysxXrV%bRPg zj*j4^rR9+iu!!I;0CV{3d~2{ql`(0t%SM=LQts`q@4++z=Vp0fqxKR3R-qBkzEQ*- zh>BC3usS;xZy01{BCj zFh+6v>K%b&tIO&6L0bA|5Qd%696Ncj_AZxfexW0&SC^<7Q3AoCfUPq(Gsedkvvg2` z1J?><+iCQ1b6=GpgWjxfk85n!4(hWZ+Z>5l4C!G#+oh%a7LH51-c?jxy@|n)-8*&0 zLpAvMBN@>LIc?0GQCU1}Sy~C?b~7oEOtmqZRx=i(Sv>w(3t-KN ziB+JYp?SVZ$rK8Dx-&KMTCy4iQs2A|M^e~N?bwg;s6eWbo1MRcuiJb&v(0VRLjwCO z$huF&jP5*#MC8Y+*F z7mYzaSC?^y&E1?5(-qxsD^C8OWU_@AMs6|8j4~n*PuIgH^Nb^yv~|F&Z}bN=b0VZ;3UsmJFegXVRVTCYOG+M&I@NAG_-;@>*d(_#$<$yT<^p0#y|4PIJjEl;C~7q8Coy% z-9$clcD<(BIIA`D-$+kl{9}~fjt7rEUbP0Qv+~urOn1unF{4<%-a}*L+m^qEhEaK& z>gg%Gj1geM+z(^i?@XjJ$Mb?9ZpYJcuC|b6%nAjnAZ%7mS6b|DcR$dk z&_NU0Z42HlU&6I-w;t4Y7q6|W`!$ho+fRIK=s$!_kdL)jdop^z^)dPj>M zS`vfL$fm8pTB&So?Cvad8I3J%cMm-s?+i06_upCd*&1Swy^Oxq?=k;%FF&Y>%kU#=XalH&I=6T=)uS~`$6cPDFRp$$4;`*^d;BzGiAkZ#u2z)r zhJ>F>>}7swoITb1^pi2)?Iz}6tBXhC_K%Mf6)kPv)#7$u&rj9WUN{Mbu1t!8(Y)0R zsRa(|7@&&$S5_1$B?>VpbtVcSZVgagy1qIxq&MRmM!K1((VE1~t=2Kx^w8^}=#_fm zK+l`*%yw4+qSz>NDZDC1FK1X>Zs4Qqw61=k-3isA7kV|Jh_`yzkyf_Py6EEl0BU8x z6Yp#sWdz1ImM{2G8UhuB=g7nUZg2+E#Z;8$%@_VRw{r}t1&wFrI7}$>Gsu1{6Mdyg zZvlEL5E_TX_*3gc?;lHC=K-82J4+$!V}A^OWr}3-5I2GRVGO<=_(hMyNW1A%lm?{S zK%n9>3^5U+S?r;4*3Z*tY7%Q;#iXH&@WBKDq@=40inw7A=K;A6h|=|=DQW0UHFFY2 zD*&0?t<~(gK7TQO)YP0FjEsy-F3imdK6b|gj7ya&L5wgkHV8AUKk>jx2A_d@E(o`^ zACFoKik|~1&OAIk40b&zFXhVPx0&DsA|7vDKS7zFYjN+!%LkSX z82UFfnp~j=16$S4D`yMBxSK+WgEBo4Yr7H=bn!P`P-lN}6utb8FJFiDVR>`^1L!~( zzj8PIO`=9EC_K7e?C8z$&_`$BFYAX<88`9rwo!a)>ml6#)kT zldhYT=*H44(0$|u?gUsHARlOITHFu{ouzU)_$@8Wo;Xnz(`lkZA*8#zNrJJUCM2PO zmErry`vTlBn6qfHsDAx*d)V`SM1a$DdplWlddJY_&0qM$@Nnh*Wo2Iu0RoOov3JkG z|D8McC(mo$PFJj2r2)V+jZ=*{DwB4&(y;i#Y{8W=Um$qBG&1>OnaxQqlgURt-_0h* z?|j?*Y$?_0)KpiG9Lk;SD>=Jbli_KDT;hN5{T*3gLl)Ra9$`hq~*E z$Y%9urEa2&s!kjI+kYO{n&0!#tsh1hER&)vSnx__R8Eo+v9F~tIy}kDoLBY9;w$~n zJXaOfh{cLpgLHMRq5$CK2A9~4^>?ah1VSqrCX^JV&kE8n1-VPrc*tA&Mu2ltr6O2* z%%zDirAla}Re7q}w5&UweFt{yPOKsX-pHMaw15(O_Qe)eRAq0ikkhideJdv&I!Ncc zV}UV-S6%>sT))-_fG2)@mUZ^S~{NWc(QDr6vG#S;jPn}G2roCI!KL6PthkViO0R5Z^-WLy%$6EH$H zJYQhAf5d-crZw3*s8`m^q78NbDMToo=Eypz-0&DKzxQs0BcrJOdL_2b_za%R2Np)t ziR&;ebsG+S{{SvuaXCWQ)BnPmUt zyZ*-=*G1Fpsd~{dGg}{e)T%3cwHAD z$M%`AaSN?Afg*ddK0T0EgcFUt0IsNZ@sS!IgaD(0pvI8+*|fj{(>gfzks23QRJ+hx zAulO7(KuL;)XeyLW>gVTLQ@qS*OE%X^E@c6;kh0n;Rr6h?h}~S=OA|eSD|bJw4@X& zXi&#T)pxE(*>(Sc;oW=Tx*kl+hUa;ZN}=EsjzH_vuq*|RjMnHM9D<@IBAnt=*>y-& z)I$jZa0Uf|LNpD<1ZdjAbZw(Hw-tw+40g#PxJsj{EP)UOMoNe(LI|OR(B1p@>%M^j zQd^ONR0>LIXenU`iEwi>5RC!xAcHeJZ$6OABG-EuQc4h|p-VX5Jv|3#!EyDBN#hA2 zglylweaVz5Q|_#&s6Z~4lOrP|#4rrTIfw825JJ37_#W9KN!zz_Z z>B`E=W&n3?*|KFf9}_+$%T*yr$kn6+LbrpG4y@mP8`kq`9D_1w%0bltRAvbG&ifV~ zJ8DxR@8v=PG(iVZ1RaQ-{j<-|SjGPirp?&l;e7&*!{Zg@_}ivo?C#5B?d}Y!k|u_> zAI2qLUyV<;%>pT8_ zAfkIMDnH(QbKIbp5!YABBQ&7r099H`aPl!VN_)}K@!x0#L&@dT8h{MRqm=GE?E614 zgg7s{c=3b~=kNeHJv|WHcStZsea|P1G5A7iDJ3ZuijbZQIc^-!5vr0}pW4~nJezcM zY;13Dr!!}E{P~3!uAN_3S91YC!`bZU-{#K!$@86^tqffqKxIp?*%0LNIY%>Ts8lrE zuOW(nhL8$M0feZm>q+9ejJm#W_KnnY;J^_#aaUWHZ0&4i9c^7-y6LX7=GRR~{*+rp z9o{#ZKD2fCoMc1vdy%MF)|)A;sENi`BuC1w`OYW0KKrrnpZG$!jNKJU8io;KXV4jQ zCUZ}DItUp2F(&>WtwxUM@BO& zpUXfBK_k(`eMLe?Pdcyd)aN@oULT9)X@HQnZ+HN({xjbl-{9{5Z1}um%Z%DuJC=DF zu(CjemTEtiZj@+%(sGC_;%o?*ecaFOieBfGhi@M4u^S&IOQC^pcp4xRI9JN^kQ?@N zQ7Jk+JVHX8!(to}(}HCfAW8o-C^z{wZgOrn%--9T4~5|GSSfW-8Lw_Uoh9?$b{{{V_raIsNq0f7Pxv zoqo^H>mun*BS^NGSfSPD78PZa#IAAJG z^jsL3u5Ac6TWI+5ctopQ3>WIqYfk|Hlok4roJPUFJs!LMw-1@yw_@MrHtJ7KBg8ao zxZae9eq`>FyA68bg4wgRBF`I~B_=kEQ&p8IY}&Gm9_kyEC!cr>9UK}ZjB|`;^QbCI zfKh^d2m4T2Qwd5bJm1HjeFupWl24gXr;^DSdU_6Dn=KSBy>P+olm5K+trV!P=~GUc z9Jac`Ia)nBPl>6YE8}Jqa56roMMmJU02*K#4&1Dda1}-K*He7^kA_8L9i1^VYIS!_ zpVGRlyZiaEKHJ*5pw_V2m7Xg!G+|n4XiuSN5f<6&;__}>0>&U(Z7I$>mv7D{ zp-e^+pWV*9->ekLZsXc7A3MAL94~Wu+Z+2v-)3dYz@qKy5yXK}4fbEIs245Fs#PGx!&t0Ad=!I|cxhLVG@PAqFBOeAhwOZ|+7Wox!=6UW&?= zQy_i+Em=U6rc`5l+QHA~-+)xU4jZz>|!D*a`18dho zALv2tnP&h1dY^h4q`m>Fabi$nQU(42gK<3kmuHYjCh?sw{wIVK$mjEFcz77aVo`I> zsbyJ&a}LfqOw$Boti;RxZUL;dh7bat=Z&31hlYl<5JDG=MdG@y3b>#F{Z7lZJrG`c z?ImbT9KaN50-^y_Na$1=w4#WP&KCTswF*VdfPO!~6+kqf|E+~aH2FQk6U$UifEsCO zGQwdRFl~-kw+sQqf=M`BMM!$DxIJQ$p7NZ<7|T3gxC9H&Q=i|yM70o>5u*!abh%F8d?yLIc$Ry;m6^Tr!2luk1v8inHv zO|*uRil}f{J5Et5*M+bw!Z;V@O0fY-mjKup)R=9jgmi2J@ckp>Uvr&776xFYHEVLl zicYXk9CRux5h1?sGa($yHVmP(f>Mh3z7qL@TTiu$nJ!a8i1!4N%_tSiwrze*D8|*u zK!FY)OtW>WnAznzd5w1UR)m5i{^VeT|w(~ZZ@RIfyl!%_=nBhVJYNjx+6WX%N5_nva_ct9~iLNRK4;pqm2x9Ws&$OFul+-B?>{Z2Fs z0HztbnGnK0^{G!ioM>pE0FdtKQI=(Wl`$p({A$i0|5z=|#4Vmtvs#<+TkpUB{!;<; zX|2hhKC}>N;=m*tic*ju?*xP!u*#~D-th+BV(&qzf|m=sq7K9gV`R(gV0I*!wUXNMTYs3x-rr=fJF^Jomo}<7-Y;3j4fZ#eUO2SlL#HgN&W`3TpEj#`(Tu5$ z9frx3)*8F^9AIakb^`K62YdG(#FT~_Xr+;JT$CqcunmTy(w3JqNl;7ntin?jKVMq5bP z;7kJrAEwDM<4ZBV^^T0B&!Bo@*naw<=~F+tth@WcF_$qh^+!TUGwKwjpadKe$Xgl} zn;o2Te;!c@75jV=)r&*y?)>FAU`|F>0%zheoc^g-_}&UFA`huEX0iCH&f}(DysW!> z&zKMv2!u(DX$S^LrC~y0<%o^@`a}3gwSy%IA3HpXpB)T%fM!Gl>P>}bhb`RKXX7JP zz`~e7Mk$0C0++PXI3j_SfD{7Zkd2|khe4~VU>PQ)kRXN$ZJU6>p^QMlQ(r(+0>U|@ zaABGz3fT+>5BDNuTS4xzdP^M8QXN%Gy2u=R0V0RrM10c&fhFw;z(h~(-eSsGz#Im5K@9L2BiXA1e&Hm#1??O z`Z8!KeM(H934PpRkZcC<+)@Uff{+rCa0u~e<9~D@Qwvn`@WBOJdTMICkBKXT1(D38yFbaJTNeDeKMI`^S<06 zOILw*03yV2LQ;~L>1o-wnX>8zMFxAA3K!JGITQ7C{03{#`T=P>Q-3fml|r`>w!)+R z84)gzFlyLLX$Ed__`@!2!$)<+5E#=K7)c?Wi-EEf!j1>&dk{Jfi#rs=*ZX&jO0bGk zP0qS27Jc=YX&0>;^n5-3)vtHFF_yzyQXbUc63p12$8q9JH1nyLVwsrcWXP1IxuV&$ z-@}1k6K{sXc+=pBGQyz1lu%F<|6P_|wSD+6xTka%WGqjzeZ>mW``BZwv@2A+r0q$e zs3hJ^8rs&%Aky=nInZ_BDALj(?W=eD^#pnq!Gjk@!3Z7h%l+cE|6KL#jdz^(b;^lW zzLbRtnZwTO-YeC~#Ej8{nUh-DTONC$z5A69|IflpV=z`Jum}M3Z|*1EE4t)a`){Z; zt>~B1Mvn>=%bDW^_!mkU+(H4xYzCfJgl)!AUS5GrE{7b35J4G~$Ka?e@>6$mV{47D z?C2DK*t;Da_-IQ@3%|F@HB9%wA7kP4327fv=Lkh+4_JDb+f66KnsXUZ>mP!;=S{c>(-Auff^b&1EsGK?w-eDiKYeCaL|${jG~nyZe=4_sNcLu0H#r`)*2M6I zSCcCL(sQ5q?COsNp%MZ>$1RkxkbZ8YfG2%l_C_c%0DutEGp?@g#A~j)YP(?=%-|f1 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

QC&m+<4&=wOzG8@<;i~Z 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

Mt*V&M6^ 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 literal 0 HcmV?d00001 diff --git a/gajim/data/emoticons/twemoji/LICENSE b/gajim/data/emoticons/twemoji/LICENSE new file mode 100644 index 0000000..c595cd7 --- /dev/null +++ b/gajim/data/emoticons/twemoji/LICENSE @@ -0,0 +1,393 @@ +Attribution 4.0 International + +======================================================================= + +Creative Commons Corporation ("Creative Commons") is not a law firm and +does not provide legal services or legal advice. Distribution of +Creative Commons public licenses does not create a lawyer-client or +other relationship. Creative Commons makes its licenses and related +information available on an "as-is" basis. Creative Commons gives no +warranties regarding its licenses, any material licensed under their +terms and conditions, or any related information. Creative Commons +disclaims all liability for damages resulting from their use to the +fullest extent possible. + +Using Creative Commons Public Licenses + +Creative Commons public licenses provide a standard set of terms and +conditions that creators and other rights holders may use to share +original works of authorship and other material subject to copyright +and certain other rights specified in the public license below. The +following considerations are for informational purposes only, are not +exhaustive, and do not form part of our licenses. + + Considerations for licensors: Our public licenses are + intended for use by those authorized to give the public + permission to use material in ways otherwise restricted by + copyright and certain other rights. Our licenses are + irrevocable. Licensors should read and understand the terms + and conditions of the license they choose before applying it. + Licensors should also secure all rights necessary before + applying our licenses so that the public can reuse the + material as expected. Licensors should clearly mark any + material not subject to the license. This includes other CC- + licensed material, or material used under an exception or + limitation to copyright. More considerations for licensors: + wiki.creativecommons.org/Considerations_for_licensors + + Considerations for the public: By using one of our public + licenses, a licensor grants the public permission to use the + licensed material under specified terms and conditions. If + the licensor's permission is not necessary for any reason--for + example, because of any applicable exception or limitation to + copyright--then that use is not regulated by the license. Our + licenses grant only permissions under copyright and certain + other rights that a licensor has authority to grant. Use of + the licensed material may still be restricted for other + reasons, including because others have copyright or other + rights in the material. A licensor may make special requests, + such as asking that all changes be marked or described. + Although not required by our licenses, you are encouraged to + respect those requests where reasonable. More_considerations + for the public: + wiki.creativecommons.org/Considerations_for_licensees + +======================================================================= + +Creative Commons Attribution 4.0 International Public License + +By exercising the Licensed Rights (defined below), You accept and agree +to be bound by the terms and conditions of this Creative Commons +Attribution 4.0 International Public License ("Public License"). To the +extent this Public License may be interpreted as a contract, You are +granted the Licensed Rights in consideration of Your acceptance of +these terms and conditions, and the Licensor grants You such rights in +consideration of benefits the Licensor receives from making the +Licensed Material available under these terms and conditions. + + +Section 1 -- Definitions. + + a. Adapted Material means material subject to Copyright and Similar + Rights that is derived from or based upon the Licensed Material + and in which the Licensed Material is translated, altered, + arranged, transformed, or otherwise modified in a manner requiring + permission under the Copyright and Similar Rights held by the + Licensor. For purposes of this Public License, where the Licensed + Material is a musical work, performance, or sound recording, + Adapted Material is always produced where the Licensed Material is + synched in timed relation with a moving image. + + b. Adapter's License means the license You apply to Your Copyright + and Similar Rights in Your contributions to Adapted Material in + accordance with the terms and conditions of this Public License. + + c. Copyright and Similar Rights means copyright and/or similar rights + closely related to copyright including, without limitation, + performance, broadcast, sound recording, and Sui Generis Database + Rights, without regard to how the rights are labeled or + categorized. For purposes of this Public License, the rights + specified in Section 2(b)(1)-(2) are not Copyright and Similar + Rights. + + d. Effective Technological Measures means those measures that, in the + absence of proper authority, may not be circumvented under laws + fulfilling obligations under Article 11 of the WIPO Copyright + Treaty adopted on December 20, 1996, and/or similar international + agreements. + + e. Exceptions and Limitations means fair use, fair dealing, and/or + any other exception or limitation to Copyright and Similar Rights + that applies to Your use of the Licensed Material. + + f. Licensed Material means the artistic or literary work, database, + or other material to which the Licensor applied this Public + License. + + g. Licensed Rights means the rights granted to You subject to the + terms and conditions of this Public License, which are limited to + all Copyright and Similar Rights that apply to Your use of the + Licensed Material and that the Licensor has authority to license. + + h. Licensor means the individual(s) or entity(ies) granting rights + under this Public License. + + i. Share means to provide material to the public by any means or + process that requires permission under the Licensed Rights, such + as reproduction, public display, public performance, distribution, + dissemination, communication, or importation, and to make material + available to the public including in ways that members of the + public may access the material from a place and at a time + individually chosen by them. + + j. Sui Generis Database Rights means rights other than copyright + resulting from Directive 96/9/EC of the European Parliament and of + the Council of 11 March 1996 on the legal protection of databases, + as amended and/or succeeded, as well as other essentially + equivalent rights anywhere in the world. + + k. You means the individual or entity exercising the Licensed Rights + under this Public License. Your has a corresponding meaning. + + +Section 2 -- Scope. + + a. License grant. + + 1. Subject to the terms and conditions of this Public License, + the Licensor hereby grants You a worldwide, royalty-free, + non-sublicensable, non-exclusive, irrevocable license to + exercise the Licensed Rights in the Licensed Material to: + + a. reproduce and Share the Licensed Material, in whole or + in part; and + + b. produce, reproduce, and Share Adapted Material. + + 2. Exceptions and Limitations. For the avoidance of doubt, where + Exceptions and Limitations apply to Your use, this Public + License does not apply, and You do not need to comply with + its terms and conditions. + + 3. Term. The term of this Public License is specified in Section + 6(a). + + 4. Media and formats; technical modifications allowed. The + Licensor authorizes You to exercise the Licensed Rights in + all media and formats whether now known or hereafter created, + and to make technical modifications necessary to do so. The + Licensor waives and/or agrees not to assert any right or + authority to forbid You from making technical modifications + necessary to exercise the Licensed Rights, including + technical modifications necessary to circumvent Effective + Technological Measures. For purposes of this Public License, + simply making modifications authorized by this Section 2(a) + (4) never produces Adapted Material. + + 5. Downstream recipients. + + a. Offer from the Licensor -- Licensed Material. Every + recipient of the Licensed Material automatically + receives an offer from the Licensor to exercise the + Licensed Rights under the terms and conditions of this + Public License. + + b. No downstream restrictions. You may not offer or impose + any additional or different terms or conditions on, or + apply any Effective Technological Measures to, the + Licensed Material if doing so restricts exercise of the + Licensed Rights by any recipient of the Licensed + Material. + + 6. No endorsement. Nothing in this Public License constitutes or + may be construed as permission to assert or imply that You + are, or that Your use of the Licensed Material is, connected + with, or sponsored, endorsed, or granted official status by, + the Licensor or others designated to receive attribution as + provided in Section 3(a)(1)(A)(i). + + b. Other rights. + + 1. Moral rights, such as the right of integrity, are not + licensed under this Public License, nor are publicity, + privacy, and/or other similar personality rights; however, to + the extent possible, the Licensor waives and/or agrees not to + assert any such rights held by the Licensor to the limited + extent necessary to allow You to exercise the Licensed + Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this + Public License. + + 3. To the extent possible, the Licensor waives any right to + collect royalties from You for the exercise of the Licensed + Rights, whether directly or through a collecting society + under any voluntary or waivable statutory or compulsory + licensing scheme. In all other cases the Licensor expressly + reserves any right to collect such royalties. + + +Section 3 -- License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the +following conditions. + + a. Attribution. + + 1. If You Share the Licensed Material (including in modified + form), You must: + + a. retain the following if it is supplied by the Licensor + with the Licensed Material: + + i. identification of the creator(s) of the Licensed + Material and any others designated to receive + attribution, in any reasonable manner requested by + the Licensor (including by pseudonym if + designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of + warranties; + + v. a URI or hyperlink to the Licensed Material to the + extent reasonably practicable; + + b. indicate if You modified the Licensed Material and + retain an indication of any previous modifications; and + + c. indicate the Licensed Material is licensed under this + Public License, and include the text of, or the URI or + hyperlink to, this Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any + reasonable manner based on the medium, means, and context in + which You Share the Licensed Material. For example, it may be + reasonable to satisfy the conditions by providing a URI or + hyperlink to a resource that includes the required + information. + + 3. If requested by the Licensor, You must remove any of the + information required by Section 3(a)(1)(A) to the extent + reasonably practicable. + + 4. If You Share Adapted Material You produce, the Adapter's + License You apply must not prevent recipients of the Adapted + Material from complying with this Public License. + + +Section 4 -- Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that +apply to Your use of the Licensed Material: + + a. for the avoidance of doubt, Section 2(a)(1) grants You the right + to extract, reuse, reproduce, and Share all or a substantial + portion of the contents of the database; + + b. if You include all or a substantial portion of the database + contents in a database in which You have Sui Generis Database + Rights, then the database in which You have Sui Generis Database + Rights (but not its individual contents) is Adapted Material; and + + c. You must comply with the conditions in Section 3(a) if You Share + all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not +replace Your obligations under this Public License where the Licensed +Rights include other Copyright and Similar Rights. + + +Section 5 -- Disclaimer of Warranties and Limitation of Liability. + + a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. + + b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. + + c. The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. + + +Section 6 -- Term and Termination. + + a. This Public License applies for the term of the Copyright and + Similar Rights licensed here. However, if You fail to comply with + this Public License, then Your rights under this Public License + terminate automatically. + + b. Where Your right to use the Licensed Material has terminated under + Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided + it is cured within 30 days of Your discovery of the + violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any + right the Licensor may have to seek remedies for Your violations + of this Public License. + + c. For the avoidance of doubt, the Licensor may also offer the + Licensed Material under separate terms or conditions or stop + distributing the Licensed Material at any time; however, doing so + will not terminate this Public License. + + d. Sections 1, 5, 6, 7, and 8 survive termination of this Public + License. + + +Section 7 -- Other Terms and Conditions. + + a. The Licensor shall not be bound by any additional or different + terms or conditions communicated by You unless expressly agreed. + + b. Any arrangements, understandings, or agreements regarding the + Licensed Material not stated herein are separate from and + independent of the terms and conditions of this Public License. + + +Section 8 -- Interpretation. + + a. For the avoidance of doubt, this Public License does not, and + shall not be interpreted to, reduce, limit, restrict, or impose + conditions on any use of the Licensed Material that could lawfully + be made without permission under this Public License. + + b. To the extent possible, if any provision of this Public License is + deemed unenforceable, it shall be automatically reformed to the + minimum extent necessary to make it enforceable. If the provision + cannot be reformed, it shall be severed from this Public License + without affecting the enforceability of the remaining terms and + conditions. + + c. No term or condition of this Public License will be waived and no + failure to comply consented to unless expressly agreed to by the + Licensor. + + d. Nothing in this Public License constitutes or may be interpreted + as a limitation upon, or waiver of, any privileges and immunities + that apply to the Licensor or You, including from the legal + processes of any jurisdiction or authority. + + +======================================================================= + +Creative Commons is not a party to its public licenses. +Notwithstanding, Creative Commons may elect to apply one of its public +licenses to material it publishes and in those instances will be +considered the "Licensor." Except for the limited purpose of indicating +that material is shared under a Creative Commons public license or as +otherwise permitted by the Creative Commons policies published at +creativecommons.org/policies, Creative Commons does not authorize the +use of the trademark "Creative Commons" or any other trademark or logo +of Creative Commons without its prior written consent including, +without limitation, in connection with any unauthorized modifications +to any of its public licenses or any other arrangements, +understandings, or agreements concerning use of licensed material. For +the avoidance of doubt, this paragraph does not form part of the public +licenses. + +Creative Commons may be contacted at creativecommons.org. \ No newline at end of file diff --git a/gajim/data/emoticons/twemoji/twemoji.png b/gajim/data/emoticons/twemoji/twemoji.png new file mode 100644 index 0000000000000000000000000000000000000000..5f679a3ebdab514de8e6c78001bd93dd88cadd1a GIT binary patch literal 894737 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

>}`Tv17B!U(C^f6Ne8s;My2n^~SLF!H}GQmgx zJ^Qr=D<*#KL&GnXkp`T?dM5^|hzLr!iB1INrQCqIvYJB?O%6gwXp2=)jCp$}0{d z?V^}=c)%f>IY=J&TL)L;daZ`+>ndEW>as?45v*6ggh>FD*Sl=Bj5XJ`OT0248B_f| zM;9kGU#scAeL%HXr&2;Ca_uIFbH4kg+wwiPh3=G&q!!xXCUHmIepKZz&v{&2`qQ;C zI}1HQznIrDH4=y#56!^QiI5$KlNh|7%C7NoDxYrxHi&n5X&}J8jSU%udtvKZLP<9T zZ9fki9q)iW!VPfLcRuzx^nCKY#R-aQm z;{m#D3KdkX(GI!(-A3pgwA!69VhusW%o5WCw5k-3@#$5U?kMb9ihX0ue%2g%+f{lQ z7cznn^CoCh@2P+AgJ)+86WGt28{5-ChRg}rv5#gGJEQG8`33x#oMGaE-E( zlU>bTBb=SG39#k{X-nCME#d`EN(P`CMdkwlM03Ve>~%?r$uTX0TFaTr?LIc?tEOiT z^iXE*9?P?_j&-J#CZGnYJYh|Xyz}5FB$COxwfs_HvUu;%0(GCIUPPMV_P#Nt^ViBhh9HF3ad=EzPWNjl zxS{Amzg6wVUn5)j89Pk6Q?8WnaS7O8@?k)tM$kMXcyphVb&)Ssnwxk(dGAY1?6aHL ztcz)Pk{lwvI|%z8YK+*6(^5cohJf*T?yAR_ZhQ{dq$nM~k}SXABjmRUywkPCakME3 zj^-@v8SRrbg6(K(BbJgD{_2mhD@qw2r8ndh=p8P_#1@YU5O}J5li7@{0EjIe9Ye}W zJi^T{*q@y=aJ^zKuZ?3LtGbrGT---QOS@r%Ol8O}fPR$gGmbN<7K?ec-5dJ;tl}7t z4V(p^?^f^`lU&Md0$Q7&f)6QP^8aw-z1afdmr)Wk9&b!j1hcnR(Jobg*@Br_EQR(bI$;&L*an~l zGroM{t_sfS3JYr5q8hMz*PY(d4+)K^gdM_(LW)goqQGeK+J&oC4`+j5k<$8Ud;yvs zumxtYwMlgK&PjhQBL;2vyOM@QJ?({ zz+*2%h$cm+io?!yvEYCvW<45`&=XpjO+@BG|m=S%<+ z@waDU3EyzTt=-?RiC0kGJ}lGPrmL=`k9%fAoeEbu0>ewKQF?7I_J;fzB>!$3N-8R*L!zX z)2tXLGX*BKS{=XB+j@%@Rxe;064?hS*cpiRv@EOfq*T=B z?cb1FrtqdNMPHMo zK5s*D^yGIHDqF#?XdR7YPI6O?$Co(H$MdJQfmnv1Mi*AXv3~e@Uh6>UMx`SeCov#d zxO%f-emkqim2tW{?_M;FjWGCtsm$^7OOY&H7UZT29F?TXSTu$q+kXBps^cADO7R{t zg!_?0e++%Y5+uWdxcSgAN?^+Y#+hrQ$hVw~_9234;}?q60*F9^q%H3wb=AB0dddEc zRS3<%o(ayuf5ELV+Nndj-`!SbE;W)And#*Fz*qVn|3ObPDB^4rW1KA4-ObgyUlQf1 ztsV8ZVJx<_dg7gohD?=ad5v>kkd(g zGnCEcgkzz`TDp594 zh?rWa1)(pc#+P|_4nf_Yq8q+LBsjBXc_P8$=*h9XK-M=UAhAMon``Yb_&!9Q*hVmxx+us`<1dfzyz`7)DU^?C+U0soH~pUyY*i z8^0?ZYQ^7-39!{Fs-_h7J|MVT!x zuA-^I*D*fKNFfsg&Nca7W@x29IGu;>T;PMGY;TEseSFCLX9t2#-rV^1;&8W<4lnaT zxGNbIT&v`lrCfuhF!bt%7SU%Ay=+r?|9;!laSq4xkBtja2c2wvXRnQZ#@6_+mU;hs zL6&9upZXJ~Kx*uW^4s*LVtKOJoQ$EFdw3!gkhl-xvRXt>Vb$-!Esg80auU~$8XYd$ zlqutzmlu2?Y)7F4Q)-RVqG-^{$qg_9YD`q!L>FFqzbQHj@JM%gF?DB-9O$}XDQy2r%k-<4c@K4)cC~TYON8T5ze@8y1$VH+=K?*o#-CJQqniKWf7;tO{ZiI z%y@>s`a;wgKGZZB^^)jAQQQ5QytxBo5rX)B0emS~S0^6aM6 ztquU7&Cqw9zp+v1zG<-ZlT4Z^9aU&(m1O>DQANh6@DS zK&j`dWak z@HzIo+UWwH^SB^wldP&&p8q^vFw^o^w!s4K<0=E)7Z3HyO$jEq{5#~MIMkCR;|&O3 z>-uVIQW)?dPyETf6@Y!gyqQu$=OGeXc1{4tFU0dF#~yCnQ9;JJ+GbPl zBgNmpe>c`U@jjSrkp-UWc(9BxzDHmSMgpC`G)FE86SSBx>d$lL3Ll>|T9xs6!Jc0` z_B>G8e_ETo8Gw;xlM%h>`-S`&pEBzYdH9yEL5#7ISTDdf zK_WV;6*MxX=0(0MR?A7XL83t`>&&|Soo)U>W^b|Twt$y<*epwKwD`bUh@p$_+`!D`tTX^$5HPFFHCstfbLfRha(ZAM^Nxq z)(NN))Ye^CT0q4>XWN{PYd9dV#17mVz2gCRg#OIFq)+blQpcIA`?pUGbO#Htd~3c# zO_|V#vb~z;z9r`s&%8koMKI|<3~JJ(Am2nV0zx=g1lvY5h#rUns7NlP=T9P1IeZE4 z;rN_$oh|ANMD_0xe#{}oB=D@6-BI8rtWG z0AN2^qtvfaoal<=BN0GG1Hid`$*DN+`Ce|ayouZ7 z(tpy!bEIzTkc#=~0v2eoo*IdyB*^=M6&W3Q17TZZMaqlJK`5L2NOTQ_>-}(`R^W`} zG^k}#4XKT2=dx#F?S3{m4EASr%4%3oxP`cHdMkXs$KtRU&u@YOz%u#)0|ILoHx|qm zB{2UIDM#--E(PtugillX|0o;z(U*~bTisPTpV>CHHGobe7|jlL8qk?uzM+4SU|?hn zE=r-*34@VyKb?NI%9N9lP~dhcM67wHBA95BM{%`Rg`RR4)T|7w4wNjn=)>iptpM?y znZ47S7~*LR{6vgox8MAN+aYX#&$9ww&)N$i2;4ksM4Pj{XrSv_a#4O_+33!QB2o;J$EV~av5})K z^nJ7Dm5+ir{K9p)zODB}Y%Cs+8qUiRnB z6L@S3+`uF7Ejf0PpKOrs4%_}Zc+@5Dyc}2jB9fCd0(9?YXdsC2@30B`=g9}5*14YH zc&N)-TcP?w`+yw#X=4%P150bMm@vpJ+`%+H&6m?XGrGm2UEk1u`*i%m`?dZ3XDY@aH&TqJXj6riz+pZWn0t_`u zL-K(S3`f#=b(MOR0abmC_C4bssQfWpLW|1q+?}$x_qR)8hsg%2IrceLaj>wKupP_t zCI%#^zx_PYYshIM*XHdMrjFA-!Mn*TcgnxHZ-8 zhRDma-xo`jFUT0eEdZ}VpHYwQq7;!0)a7hZ2HRfuj;#w=Kh5Q6HbiObD;I0esOvS< zIUUs*wv>E9bwS%N1-yH#z~Wfo{EW8#zzLZcQ{5M4?XPyF;J`?O?nzwukB3Zpj!8SUS_+;Kt z)>MvNC0>c#NtL#_v$2#&>81X_*z%%r>7p9`>HC3Qts}z)p^IEfN9DlR4q+2;{gv}O z-wo-a_XStOO$D;geW&I)tHiJRo!`d|jk5>pdiW(@y6>ydZXQc7(Ygv-YzU<^wlngD zg!sR7wW;C^ux{DUjsX2aO((hG=8U?ZB`>e`{@4w*B`w;WGoyZFf!gS!h_hdVLAyiR z-JHM!brU%-;c#cK!%nYN!#?|5yyKy%6poxWya3 zw+Ex4ZYCtoLkP}o<$axj-1D@nF1mc$i};QcTE0EB_aa{uGvNc<2g&Tiyk3mk zUBK(!dW(7>7m(f+e8a?W0P&0c#xfa)6Tp%%_Y;X{6oQuO3DEYU(cRwD+e&8xLYtqa z5L~pJTzbr|%rUorZUyP7CwH#`Ppk^p#LYnc=+vQB5uD3|WPxCU&q!nS^DG0~I_!T+ z!p%P&(M;YAyQjJSI8(Q~S(4 zinL~(`E+x`pCNU>MuM0M`$n%sp8J3U(P{}Sz8Zm@n@2we2P}EX8~KgCL%+K^Iyuov0~OLGYyIfMT;j@@dDdCO#$Og8_Ux6B z%&D}K)Z5==mF5`zlGGPi&QbY43b_{u1qkxisL0+4E6EN2#SJ& zqfZGEh$_T^>w|!!HI!{_4M(oQi8UxN=p&2D4>N%#H(Fe5Y$-jP1?k&x+va^!*Ygro zE)2N9Fu4`uGrO@&R}U*PhN!E2X~2jFtHw8sw_~SkC6Q-aBrwMO(jK6{elDo+Jq-js z*BU`M6>>vfmg`6FcyKpD9s$JjvJ9gHKyUWX(7>2tG!X0vQ}}d@ejUs;7eMIFc)4`{ za){k6jbiiHUatNC+Yl-lL7>o&p>a<_CK9_0Cv^u<0VSJdC1dQwMAZodpsdkY8kYDL zFP6veShcbxrk;S!Oidpl{w9)WON5R$1hA70K-6R*$denqc2_`{=BIbAEC3m@L>PIi za8l$&>c)shoDgI$wUll&wS7l2srL7}faTpNP>ucep}Jz<)3nFM$0Nzi91lG9SG^>y zExP6#jv-Xau6vJZI6=(Ag@bRAm@kjmv}c@OPTR*wWOw?}jxQHSAru`4L{gSO9b&&+ z`q(7AGdki7P)uM0#B-Sz9MjTvZGd{4R`te*j+_He(_?h6hED*9>i>Wf(`4i0@>q+o zAZbO5OGGSJKm}L)6q4j0P}25Vq2M^|#m_VNnQC(hKW^UU8VBMQM#(oO z)9cY6Y2HYZV%|!ULUY0uaUNufww`Dp3e#|-_<79o-X{UfWW^&TX#9-Q&;H=MgxSSeu(`3!(Fa=rMnd;V z4AD!6$j*Vn>!}M$*3Da~+n`sD*ku=8i$t%lNoymc(VSg%2rMT#z1bqKo1wRGe=pEJ z{d*U8j}{V*6xpYPIvasBn)h!q8u}(1*f~ggq^5W;KLh6`#Gig#J=^ZHp#b_VyR?hg z?&?--==%*2rGt-5tA(zD`n&ke3-e=9Q7)bfGKAluzHn*(=?~kx%?5*{rG0*_jP}G{ z6YUxyQH+3V@m~G|OyB z$=J@B4(DwIkQ5zVs-yu`4nV}lEUsfQ_r+ST1$4go2HRKdMrHj~i2bf?!)a;hVpF$; zB;~i|RHSIk(yBsd-{$LPKocI@9ZQh(+Q;q9&%K6;Q zH9KKJWu0`o#&1uaq*2yY?hn1KMuUwT8}~=kPLgqVYxrM*7df8>@+;fg`%5p&vL+6I z{)^{|?}t3v_wgBv{rtfMe3%o_wXx>UF^7Hk4Jn^Yek+GIF8?JGkC!`v<=>~R{3=G* z$jm>Dz@wI8mVaRX^h1#BNA3Rj43&e>HBr)^5l}Y#KclslhUi zl@-g>Rc9VBJ~3*b^Kjj%U=E1ff)4K+^TqTPr+*)eAu)F%x@4snejxSeV(08#wvQ!{ z9V<}xMKl3Y14@qd0tP4o_A`Mkh39`nWUV`8-J$tHJhL1$%`DsqHfAUjvDB(<(%h9- z7{MHWH|_I>t%}jup7}dPmw^a>_?rb9oS1Y3``1X_C%XqGebrRh0rWU{M4j`Y&2HiZ_jc*0!`ao|aw{uoSH6RB=W+|L*SD+l>#`d5CZT|UoW%dnv<-JEW>Bb5XqVmOra-SkkP?+YR@BiW8qUE zq)r>`ALpcm?2o1KtMaV+Pxikc9c2Mkj~x=NO*Cuh^%&0q!UH}>54R8xH%%Q&FS8X^ z3I9CXie&toFK3&!OsovtpvS(H&W^_!QvMVepPa7~&3bR%YByaIiPbc)4b0Bk;do>M zqU!VGIje8uq2P~TDS(=8X0EQeOk3=wdq0gqV>v#;AO>7)4F3>rN^!vIt6-W2JCpPm zcu+KlJ8+S_x8;Z&P5jsWYle!R+h&G6kdU@;rRCZmKqpa&X*+j2?3}Tcz<%+o6T-*+ zepzY8-(Yr-rN>e;x$dM2`!wTRBc6~VlsuLbNne9&vXq0u{_B~mJu_ne+~73zrQ~5X z&hM3T6`&EJz%x{O847csanK@Io$f_oE0cV;Fu(f;HL{!<3%Gy7LED+I^kQnf3KY1? zYN`9AVHLpg>A|iqjFV%F+t+&bn=S26IpMnlk;E<(5PF$c^W1)H5RzyYEIlpCqEH*I zC~0tRtRUP&9wu1W;E^6@`Lpz6AUjct5A?Lqd7BYwi-c7_H%`5MTtBM_5^f9O?V^$G zgL#XQ?zH8`2#NE^#Kt#F1?AcrV_-wWD}=KnZK`QTt>5A0D1K}*c`sqZXWx5n+~}7< zs1X0Wqba7HUpRU(Ib319AnoFKbEtli2Ze^EKc_FyF>u9t9hQ-yrkJRtln`&||AP1o z-#+33u;IO#3}>r!plX_VT)Q()LT^Z0Rg1@$;NLxQ8@{B)2haUl&6u=?ys1vt&ioT~>`ZXk zozw%GMq68r-ev%R1Fn*Gw|YXM#^C$l|VT_Gjp7zUnsKsuutkwl(}qTk-08R{_j z=14y=FI->wIF!x;(mSB_y|svkwDrBa)m5|fDMnFJaU2|i%V~vS(>!uTpzC=5&|PA= zR)ysqi`Nfd3;17X(c?Je6`64C><7D;yD~Qr!>|FdfaWio%_HZo1;KR{XAxdv!e5<* zpC<;_?Dd^;tS+iHv>mKxVB?vCaN;#e>uVWgA3L@&+LG}YzMRwuAWKM1?|-{D9=NL} z3H=Kd`M2o8+{c4TXd(I)I&d|1)Jk*6!ke_p2+O_;?;HR)z#JhR^#Rg6sk6wDA#i~N z`Q>@5pDl)jP2Q(yBswhm!vWgBKN8&>sQ2|Hs^iuIj!|tmKt}XCEQNP=I9e!a+I_Cd zzXI2UKnjZEz16s<;>g|^dQDSP9N;?;d&hBfAvJvqbEnqhk0yCWfPWHFC?@QiUIF|K ziVN0hLikn|>ncr88&8Z!g|il;Wr|KZ2+hN)b$ zn_UDfDfgy0NPo*c#{2Y8Y)Qam4{BUcUX@yS@I%VDX+Yw4fn!SCs6}GAa!cgUJ1vz_im?-|%nN>Q}M4*j6IXpT}nYb&<>W4GWdWsa-(Y&vs#+>SV=ymIdO)y?~eeW10UY6UNw z-VG?`f06;x-s3kqrIdbmy5{btOnK$e5;kpV$ok1kzMiSv93!xd?SWR09$#Ga(4~;2 zrshVYtj7aRRaeKmk|6oVvEl5T`Vmc0PWH)rrEXkg_Q^=vE}*!?lv|t<@tT^ zOj;U1m^R5)7kX2z2Xt&Ge}zsLki2m$z3(Z0hTq<3Blg~8V@_*pHUUL3-obaQoj5>i zFqx*-WCh<>h|T=?aEM{ID#!zq%ALR%=|_rGpc z^?p&b4Gcr^xb#M|{?vK57dnK`g#xeRz9RxHT9?d>?kA1siw6ja$`d#uv2}Nw{!DV$ z;(0zoXA7g~ivY6a=L~*qi}9CG`m^?EgSKqSfg|@<^X0Z^?WrQ;uAhBDCpCqN;{Eyu zK6i9K9}`|=hPWGu=@)j+Nhe9QOL{cgS`dqN7Yb72)PWb1JAv4_Q+C z4NJnkevT0qRNmo4IXGEKK7=fYTz=v;Hj}QkwI(T2m!m^rIkYd=+sF_P@|;_TcW6jp zh7MG)OQIy|t8|!#KgDt>fGuha*YyM?}no zX~<01?o0BeVQQzphs${An)d!-h!XA|8noMSj%NP4{7J(XOvb~Ah2Joha6d2}tY1C6)n4y}z71 z{6oG!;?9pk#C@T{0p=92(*3>an~UE(Pee@oucG2S`*annrzM0K_>?CuFkMcalO`Jz z7>0r|QJE)tj);rG9Hd}$e?{WR35{?actO1Z^4MG^O~5hrFY?aTArrjqm zM!umseI8%l`p2CN5 z!#&rbY1`E20!yN@boZ;(G~RjbGvB=M1R+@3edDEG|D1&9^Qr4I_FNE+y_klIok=LO zmY0k&dhrgmmv8eeLisPV1!&Q=z4Wc+f+g=hO{_$y5d37Hyf^xHp5n=k$yjq;8?qeNKaSLlX{))??*h|9On72dAIT=Cns+{5sRFg(Ba5e z@roeh&FX=pS%d9jr>!fZ*@+(iTVVt&mYhqXHldly90a^~<32I8%!^PYZ5Sx4Ro zvvqP5JLjY^UbDH$WDlEE&~)+TvlNZB@)u4G0wMOUgdUft@P~5sNBshx)4c0`A>Ml1 zyxI(NU_T__|L{O7T(U4aN=(YE6O*pC_gm7DE%^@w>P#^wEC{N6irdwbDmx&rVRp(4 z`h4+n)ZL$`PSUY57q#rf`7P-El`z)CpyA0_$B)(3oaL}$^f^DWY0L+Z=>~$wHmSc_ zJDYBYY>Al|eY#tzLYahFf;$`ec-B7_LBxX$#5~kR!JYQ<6c%_ZjQp_z3gRkR5)7@{ ze5N7auY}+D{d?$KSjeSmQ(Moren(#c_Rd(Gdk~J@b3qYX;el-FAz6JC*GBbkhgIJK zN2a@xfWUWucl=xk6YAkDuMDs1A@A3_VdP4pCXeWGh%M-eTCXMP{^spFjD2(~?$MsC zy%2WZmYhbCvgD@?06Me^Wp4gZDT4cTC$aZOl1;|gyPh^)sL^d z>yh;mK;9Ll=td*%!#;efbWGX!j*E)+hn!UJ^LTgnL&fII!rIT^C45MgKi2Jv4|tsE zbetN9L z{R6IdX_VEdPFEUGl%_<}B)d{9(3FP4wt>kaBV|wkwf(aS z4uE|I<~=BXPticC)oJ8mDFOxh1=D~*yzHl5md!#SU%xg1C0wUYlcpZGuU~eCKSn2L zY+tZg*=#5kv3x4GArxtNZ)%a%^&OY@ZhJH5)YM+?h;R7J0veQ=Q7hU-8g9(Q7%ZOE zTs$}|zHs6?-{gYy^?i0^xJ?G?Y|caoSFqwnZymwBD+RiTy%WZ{e((nv)p!zaJg{O? zPy($khZ*#sf3BypiadSVPiuhz^Rx(TsYqZij_n| z?@B1T`!N}s%0AK@X<|&95JEBOS4$`a*7VJ?qR2^TDfrIh)^kl%iRXX?LxU9c*7IDUowmgM?qIraK?TLdPl00w1@#qkntnz6gq zkO%yZr4V4N=Nh=VEIA*wW61I7C65r|kc&m;G-jiqqCzb83YnF@yW#^d^l@MyDqY%r9`!8Lw69>7F3#tJYJ*mCj zXnR;q_{7XXx+c5uf4$$TOfKpQ8K8dxMPw?7?*vVbJU#?|xego464;urGBw)x!?V_j zYgk^$;}x&ZNs+Po_TS(xTEA@4Xc8jjJap+5COKG{!0D3JYG4?g4N{-+<|IY|ur!DT zDClhaN|W}3<92y;Nc4D^*>C|2*u^|!<%BqW_hmmonF#Fnw5y+(-Y*g{h-$DEMO1OC zbuo#;=_1!3J52ApK)WMQX)n$Rhq4b3;!W?2W%T+LV1hpP2F~#bXrW70k(5S_W?uQ< z*$dLuSr9npIrF2_qkExjUCrAxR4(?~oQ_5E=6knX`Fjo1AkTcA$95!<*I4iDWe&gM z#zJdQGA{?_GhsxjHY%#y;m>1kp7DA5Vnm`N*}czG(T@A_Ld9Y0b4~2TCjTnSUx5ls zzKbsD1^))7#93i(}6A=_8-W z3laje#&-f19oS$0@KM9T1O~qOkwtEoPKm&Uu&GK@13dN>1r3yTX@AzTF)vn zEb)kinPEEdHEt>Sozu*?Oe8tNMOXs>EOl4eu?+tdT8S99knxwsTrYdoPs?{fHK`P( zRGoW2R4!yG_TJ~t1r@dwLDWD{%=X%8e)sgC=NG1yT3FE+CkruAjjYEy&@_d;`L@~4 zriQ8gxgY1sLNlC1h)`d^%0-WT3^DPL(>-i!`nXKQ*6wBmAW{uT3P)qGh8x}BupB)B z!fX{N0fGZ^ z?8FHiPkjZrcCUY^)X+Zi31HN|2#=Lqk<6po69ZXYHH2}Zjz4o}7_5R7= zU0H__M5jHWTuoZKL;y|1xw=e{z+0~v(A2wp2TVyUDq20BcE0Hf9+`;F53Z>7sl0G&&5(zELgPq`aR)A$5Y4=RGLg|I0eu@9 zNB2!t$d}3$pvV9dOxldz6j_4U011;JPO3$3uL@n=3XP?j8qlra`Vvo5lY!geT=zOx zdE<;{s~IUp=UsKR7g(X0|LMSnc06lB#RE{tV#+WzFpuYo*BEzQ6P!;HPuZ5&&~siX`eefAGdj*%M?uI4Y2qYdV^rkS8eEhkzBcWvro^nfZ>j7M=GTN=WAg{w+x zK5KX$iY^cclXK(k9ZY$E_a4EmH5F-&P#q4h)5iv+kQNs6bk|&MyaHd^a z4Yt@{FNV24m4vlnLGw-g0A|#+3Kp2(BZ}ns1_W4!tZUdc+B^@)o;Kl6SFrAmKL_F( z&01@1lLU}xro;Yg9*S+}@OZQjxJA2EaJ2g-J)l#371uQ7b(7S1d|@0{ZJN$mhK(O~ z&u|fod|6S!>zm~IOoO3^Q!Nlyd;P&r0l&pkf-F}s$K$27sZ~IS9Kq&pUXn8Ps?yHS zFVV;bOoLNd$70Ecgol1xc`wNa2%wOWv+J9L4rvWQsfI;Vs2Ul=N-U&+fIcv6DC{x= z&(Z+)M0&M>1Q~Oi1hJ8#syqY>%$d--jPZBR5SZLk3Uh(7Mj0t(ZF~rUOZ?T8 zqMK;2_f4hg9f^S_c)elNaBE?Mk}cpAejmx=eNxibDmH~pwE#s>cAg< znxZ*+nUraY0CU$UNK5(<;IbO&5x^q3hI6}5(0P-zoP!Y3RwVF-7MV)MORDo{Kq|N6 zKmRtNGPe$`O6)3-cpZUGKva;DcrhpTk}z{9)j=o3=C+0ubw@^tOA%84SiN&p?u@N*5X|Ml*_9`Uq?DPZ1Kqrc>t9+yxIpF)TE zrE*xL&2)V}yc`j?%X51a!|1@wpB$856B(TW?vsa9iO(}mSxUT~+s(@_XO~@c{cZ06 z%9>hz9ppDF;eTI&;-zlio6*c3tUPMN^M!sQEw68`2ikaiSl`%$B2_G}NlyC_-ujb* zvrHdL^2-;zZMsbEU+w*c*OY<(1+!&{Z8?{&s>O^Vh-EY zo}X`xFEU`JI|;Bf_!LqAb++W^Y(u5%5xXA~ljj%Lf$>G~tRrEE{cEvogXzl@Bf+

cuJ`Xfm7Snd46Rz@3-95W%P%>C}5t8k`p0g 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

    uq_mcXM z%c!`c4YfgrJH~9i1KeTDnF_t^A5ns-a&_%jKMmK{+>VLxQS-3k8f$F&EOiGA3?(rG zPhC{l^u|-zQj-eA{T-PBXDQb>P&(ljy_*Ccl;~s98zvlY?~yd$Afe9?_1-#@cC-!=yv@0TSlo)TIt6n9axWFXmM_L} z_ncOqe>-6%)OZ^%ej!Ep>OnM~4*pgDB6%X}><>c=Mv4sqtLzX!{#fWEnIp5$3_diw z7X)5x+E+K(dy|;4OkoJVJ>F`=4gz=PLlqwRyu@2vJ55wloWl_?u2Ze|Sm1dONA}nd z=Tu^#GjyfluOfE2GxOfN=9@gw77U$nbk-;#hu{3Uua`%3R-oWag2YmSmUeKOoTp0V z!QqAF+4h@PuuLB1y#8BgsEZA#6MG7kw2+6dN4IrAr%q2a{*W(}E5RgzcfnMg&{t9} zh^60@Eki^~J87>G?}51Nibm)+4C?W!PdvMqBOdT6rOz!2G&Pt-`OGmxZQu}3EaoSVg`!ACG)mSw=W8EPIC~_lCGz1nbf|a zI`&xQPhW)pglcGuzoyZC#ToB!yR!qMZ*B(%tnpF48(UG?zP7Sz60jo!aNB~yjPNTd z#5F*y&bc6KR*bYc6D+a068W#huLm~eMGRp!RPe8$YN==IifFtByi0I)s`&v?@EeIW zd$Hei(93^vG^PEek6-!pC_B|?Z58i!_yG;)_wZ`JFYXNHk8EU#ao9OL&BW@RumI~D zwH0iZ0~egepda@sVgSr5ad^4_WRUl6K`DCT3t=EQ#d$X84f~=GeI)a*o*v-g4Ss2j zR&V0I1=?BTDbHJvZ;2+1?t@-9={?Z){It{msD{5sD^#25DgxLVi~ugT7TE&L&l>+> zMgy+kBYVZ!Sh}f)vD>EsAjB}6{KM;$1xpO0#9t#LotfROwJo%rnstd}d#6-I3Iv)) zjjnp+dMPy%!JFsQQM~C=h?a`}jdpV`650Zn9lE zB@S3V85OBHP39IK{I}_zAJ~LLN3tw1AUlS?C}gdkHtxx9p7{-FuCB@@5>C>(sd3#< zdxWxAG9|fbclT^A`;KR#)j|PonB@M>&F6XbY)&>3OkofOJ zXVW|KH|Ek{P$dBecBpZzpi$Q39nWV9zjmC>+jwVms-p*DQ%jMm0ha_>@lC+zXUSqz^ z_>&3r5(Qzdx%#O`cIXlAE8*9WcIaiTYJBFA!2&ykKuPWl7duFblDB>2jd(MC0Xc5b zVC4SYc`ehBP< z=f#-`moS)OEIQ)%&-G3!QkJ&}^n#L}K3#;_)DVK!nqdS-mAQ~d}8Fqjy9^T^lq*um~AV4>-3y_LoHQ^zlwu=HEe zu#|^wwFu_Lt^ORvZh}`GFYPDRMU%su^oe`AGTwhb=ODEdH>m@|X4E>(^B+mXpL5tb z{>e>ZimhB$7&zVTaFriM zo$vjO8Js)3JY=1`y^l-m(gffNZ@k!PZ9+DYANn`I7^6QL4DzDA0w>1-8xRKwXI9i# zm=ayPk)$psB7SCkQu{(aqAOtKb}HRK{DtSJVxp|Nd)$ps+DZV<{l@P0w#Q0oOOj2= z55tf(sfRwpid~q0Ek@Nx-%rm=Y&|~*bsVh-G@Se~8uU;EN}Wb}rvQ0s%Z|#bzDZq* z@Siw(P#VS1X7U+Wbr&OJErcG5Hjc~K1{EeYPCj|&52(NU z6Q!N%XT&i~XzlS6^slooG~(Jm0#o@$I;-;kN{B`8PKncpY>?51F=tm&K80^>5zmOS z%cPL(g{!=-B42;|7f3dwov|=`|NZz>$)D0=0FF{-K9m${y)99LlypU zpCNnN7rsl2FXu%Wa5EC$_ww$txh}s5UalF~Qh4KY+TOOk5J1x{)2(Q_MV0!#R*RMX z(*UF_O3-~jPi5E`*xfd+JWv3d?`|qD*O3Fwp-!yp4!a$%0Ow>-=(9lFC5gMZ!kH9- zO3D6fz)zvcRyz*e%6YAEiE}4+(U0&Hb(4)JCKZcBR&RNYuF0L7k?QLK32`c1Gi}>EfAz|Gy0~ z={)u|!n8XBO)C^YkDQPPW+6_59dNkILaQWuOGEv(^^_}6&1Qt@+CES6Z2msXE>YfvhOTK-FFWJg@N=MYL zJ`1@x`z}y{APh~cem}6r@LE17doCr?W=K&Dwll^b>)DCC#KRxhL)b8Wcd=CQPT`FJvDJYh^_qx?(#SWsy@h{v-*i_l&-(x_j&0y-Z%gx|b@MM*jcCF|@c0p?zJiU*?%fzyykz|FcM8u@ zKT`oL5CDNJ{a}wADyY@j2*?Sj9M}693{Pb8+?2EZ&3ggbKV5sUs>Ll^r>1u>gr|Ewrr2TQPy^~Dt;sl(Wq|i zEFs#XyljGMBZPfkKRs=xW67)tJbND5<}57#9t@{QS|8Sk&GRd>J|66Ly!EgKSiTz$OC|(okoU0LhIN2AwDBdzN1g42$cCAySbx5&XEdbo1(c=HBNIxFMLcr>_tX=4P_cv8HL z^wB04dv>p)v%XJ%YzDuzgNDcF!tWvA8n;LH!L(%uLqbVg;%<^>-8r(Tx_IbwY4@L$ z1_N=fVI8Zy4`z$+juFuhcyfJ($K$&e`UK_@MvR&sALeDq@Y0}hhNq^=ui$>>`%Al0 z`)%m>y`_y20PbTh8`Qwg2oI?FgXXG}VaZUHif5Gz^_%svTFkE@05;X+-H z#fJ~V1YIv-RI|uany{CGBtW5AJ&8Cwg09K6Y-l!gRWCE~>e`zhQWtevYy;pfn+T=O zcG2I2-aW8qo*pWGbV3Z~?LVL90r1QV3Q-X+jz?{QW@x>P#IN%^Tl+l#yoBo3JsYKm z|KMk*+Ir7ZNECj;uYXUd_BOhX@&ZA(rKByuON|GfTPhLNtH)nFk>Cy62*105ViZpurEot7SG$PdIPa;*mU z4m`v$em!$El8W#*UOE@`_7dC5IqZ-|ZC&y*QYQO-7^-OWiB7K&p8BBTLCRy1TYCq8 z8za}vVE=G0j_tksu{{echcOuC&>2>sKAS9j@6J~~tE}qmW?ajwN=MPq|3+wDz5NIMD(3tma-jxU zQFjYoRU-!;&s@lR`eV|f$e(Y)r%7)`BsMvD@C>g=Zi&c783U0(*w}{HNv#; z|3EiAu0oP}0L_O?>Jo(dTo12^ zE`n~BHTJD$(7d&GU;!Cz>C3qgLw6e=9(-meSjiqUdl}?P+yuM7 z=JRTWt;j#CguM-RayrdkV+io>)LS)Ae6@35c5qsF4PvjP!Ky3``$xA-lixF#8Bzke zSE-IOb|n1B5x51)MQsG_qJ8!_wPtb3CvjxLes%T^p5}tJ{dz6aNe0QX`S@PkKC40m z)M({$jJ6+M0D7lDLCb2RO)iu-wh?OE43bXbB33xcc`<#2W{(?0e1T8Ei4sg6-HS^< zJlnP-G3}s?eB8hAYF^B03!I8z|HHgYidhqEEA*e|TnDQpi?_qk$_n0ZX8PK`WwnBb z(ptCk0b>0}Ky!l8q!?*Y+vF9Bd3p-!>0w6HvPjJ0(5tgl5{!CtAq}`3Le~y@34Z$U zw817ek);Qa_0Z3v70BbZ77L<%FNb}q; zf^R!c)v4B_YgJtLggx{;InmP5wNhQ#$D06#5ZRQ|m1twqWvFq3OK^mZUK9z*f6bky z7@26j-d(=0wc4@wFH!S=?1wobv>jKr?(C$p9E&CZIDO}XEtG&~!WLQkz6$Ma!g9o^ zr;FYfF3*SGJyxh6crC&lZr`|T@e)@v^eFws=ttzl7oHIh%wZBV1GeGq8kk_^uc5^n z_%Wz0CyN5X?@a*I$LV}}(0yA_!YlBs$nY7>AK{U7FcMbwCW~{^F1NoeYn%|w6ZoLb zi+Z~%ppOlb-g9C$p`oF@4!mFbTvdYueY6KGKiJRUZ?JN#fkDerry%%GLUD&N;hLT8 zDnWPUab!-|6HUPob`d94Hn^tA?yGkQ(F*_ny@hQndHwG#?yHCg8+_Ke=}pchc%4j< zbmT>Y+|7&ndoWH(fekBBm;%xA%gEXFv8XlCXPi~-$HBe4BxVO`Mvz_&hl^4RspmM$>ikpbRVuu5gis&i4 z430+xJm#PO0-nmd9uPG!^K_5mdUM9D-KE7WOx3>PubZA1dwa{l6$jWVrv>&)PI^AB zR@kfXQg#NF^cSs=Qx)UgDRsJQ2_@`2sky0dNs#LW$5orgU!W!)mY4O>>+-DFo#03<0*%jCJpNz@)l5K;l%=bNs<$LZhqK;{K` zZLc}9k1C-`b^j}oz*q5S&+FR|mt7bm>P;~PD}xpW;2iwU8ON0aEWv(x(CjC$;Fey) zf+va^Mmf+2+bA&BhYG3lM&-u%EmWG$ijDF8N+Y*z_Xm}+q-o`RrV+;5p0x>ldT(y< z!Q?^)>K^~OY%y8cA7paseS%EEm|rXpVTs)k$Jt|xw)yp&e6REQl<@AsBlFf4ALmA$ z&0x2Fm&wuM7pUE<_Wg3&sx)C;WuJIulfq(UFqF^Rp(Ux@(emE!Hl?26FS@jY6Z6C- z4bqlWsbGKoDgQZOdzNn;Prhez+%tf+*vMZD24`&T=9egsw3xkLwMdN#FoZXCX&i+R z6x_qDS_;`=4`mlXICgd6{ZeMH0qMdj-tG+0O(^ia!J_hG$5rAV2!QRm3~Ho;$)2B` z!bX$Meo^w$Pku?a^{~YRt;r9Tg9SE$JsA&o2vX!ep;Ga-t}Xb3;BY21GqeULD4=5- z-W0Faqsm`5<;!I;$nIo1N>`me$g6MrXLXy@Ys%nmMwgbd&E~Bhq5T_Pc0@mpbylc@ ztYXTFuh~(<{xx#IS1yQiPPiuwEItiQA%t?b==i7HQ&vLbhoS<(I&*rol9s!ImX?r)dmNDdrf)SUrgXZ zPi8;5QD%-f`qI!NMiAf_Yo4CN^%ukC^Xm~Q0>?d*cnkok(J6rDd#^IT6;(Qxkg?ku z_EUbC3D(v#`is>?QTQ46%SNkI63Ytz!)$ZyY4R-EnOysyvc~m^8yhPC$Cw&{mtE=V z;d^tOlQ5YWd%EcUx^vyvNj0#3Q+KK=Nc+R~u(Q*DPkTm_tpvM$p158*fxN3r0f^kW zeQ-c`zURg@C`;OiOMA`JzFjY_u4*KVhxDUgXxff@##z!o{bP<}j~`lpD$8s4`iV@T zwnOc9)_~ES))^QXiC4&JRR6A{gL0Ijd#R_7$}M_I{K8Gos>-yAf%;2PZm|^T7ZSC_ z)hRZ0=b`rpk8O_D>4MpstOU#i1=A2u5NZ_u5pnW^D^3$M+Gm{4MHg1|w(ORJ!A*4d zQ*OHWza5&t8g}tEhao9(WZrQYJ@tR-QWx3Mcfp19W}Y)yw=`&KS!$)SWY|N zuw>19FlavYDhaFz?!4r|`xM+VJm%h2A|A}@p{veKSq8b&y(+f!aq020Q{~G3&h@S)=jl@g zQYubVAN{+%g9n(tWtOSw6vdTV!-hK-6D^!8`?>p3UgAa_$iJ40dI<5lz$q9C@WuX> z^~vJ6@TICev>}Hfe!akZSXk^f)0*HPWu(>VmvLwqfUhhcJF3w>pD6sstExU|CyQaW zs`rO8{1<3K)~pK{0?_#nK0(uAt=3~DmT7HLKp0XT@0`f|W#DUszojjE?9P+F&ti#1 zK%2(_|Imj~NMsl_5bFd0I+_$&`-j?<_x1W(8I&gE{*v-V)I+B-`Lq!^TXwy7Jv6b? zqe?oBBQ$5+9Pt|7{+0&~_ehko-=ZalhT^-lyr*Gxk9I6y`HCxus_hom!A)BPxSuG( zB1dqV7h~w6K+Q!al;QTBiT)Kx#YcWOtXz^2SoxIA4Y#3;f#EU!PBIDo>&UKh=ct1Q zHm!YLe6I^r)WOM#=+jp8cV?sbM$nLhnv0ET6!WCb6uA|fIR*f>hdJ#5S9#UlCjw-G zSLs>(Z$N2c`6%mG=S%BZq{VEnO9U7{hHV`AmHJbdGdLF0xAJZbeG5vk1bzqZ z*GkZR5J7woO1V?D-eh-O7u@(RKfo@-HJW)j?knGSQiNN10ygyT2)&|+&cuN_mKWi z1Oq`0-U%EV=Njyw*^4JVV$104=OjCISE*~;``xMoe9|Fj6h`T6FSA*Yv~!W(6O#G) zsf1{FTb5nP`Gts8OkkOtOG4XT#q2R5>>_Ic6qG)bl3AEwf4W-jKeZRz!!cib^Xowd7mCHI*V*@nKDv?d<>BIKoZ78XBT_dUCp8F4(uSthHX{D8IrS; zq!UF!aorO#%gBz>;gWa%!Vk^cMmjy0->%5nL?gcl!@g7-;x&vZEy=oM6t*^5YnrRl z-N4fmk}93~kO~N)G*;cM2cM3$1=Uv^s(%nvIolNPlvthpSUPpXSx}x?V+or5*)9G^M&p|>_>(;wAEA^$q&J@`mh{mvNa&C>|IaiQ|G?hWgcn(!!Q$nGxdHrM^PRyJtlH$3)VM|OsaGH~8Yyq!Q>TUH z9{TeM{~a0%?>2V{iEy)3@IO^z=d5<$P-~#!@+$h{HOFZP%4n8fot!@Nr~Ak~r+T?P zWi-SNYvbH`6s!3^hQ+MyBMjtMCYK*gIEXDLA=q;G{%rd1Jn5=}Ta8<-x2BA~gPOlj zIle^LW!HD`j6;;8%>4@MUbvZ3w69VaKdt@jZJOUUnhwi+!*X-^=77=r2rN-SqsR-;ZaxR1PlsPC2*^ds+|qTTo~|Los)D#mEbjxEdd6nAeP)sjt}YRA}s0j`IU(&!<% zcLO#&@;kTCJ-urhb=3Zdo-|M3vY2tS}pnfWUR1qGV!Gvns`VOS6j2F8}za7%$UeK%|pFhds9J z#nyxDnlXir_|lwHTHFTq@(}HD|E#%vI8I=9Q*Y9)5)Q1?$mFuveOEPO3^p1b) zfL%bPZ=)niXx^o5!@k!)nb{k>!;kMzd<8X0yNo(_}-Dh8uJk1#3gn;GF%T-N9TCtv6Fgv^3 zK|JkNn=MPexn0LOlr@r@%u&~rsM%8$0&2dXw&@anwUYnaM8+RWC#qQkQZs*KOh0Zd zrxM3wGZd~1N3ipTqWoLYfxSI`vZ9w?ZP%Z%%-k)Z^51tue{psMpLHI+4C2M9TgduE zevXvzvIL#agA^}3r}_%O5e)Zj8gb*;L5lL+_@Im3C(rUbJ8Vxr{(-PBuHnyqQ#GXc zM4_DSpQxCQ-iv>`-^DYxl!~?HN7o(j+x*;XXQ?^0(}oUwa2-11yR^X(y6&Is$+u(w z&6?8tZT*Z0;ajWii%xHQi|Kb5OiY}1u5M;{gxj4)Cil-jlaYD&ni3|=MIPy1d#8DU zQ^oykiTFNOMHDnalluV6qZ2MC!u@Bl5^j8To%1a|(y*QD=u2XoB@j&UImr*%M! z=C`=cf9%skRddh};l_s#=zBFdSVZ;6K9OW@^>W?kihApazbtDR5N4}NWd^Cj@Ff>i z=07!w94y%`O;qE_o!OYww?=pM+{AZ`~pRl%E@_9!4Y|MIUy* zrlNlHyZHZ$?m|3eA7x`0i>cU}f743aDJ~J+br$-dEh|`ZC;m5O{JG9sL}F;PnCZDe zvq}>9*SKO;?rHDa2Y!pp-(%CCWxe#6{|ltmcFX=g@l7DVeuV6ncMIRyd{6Tjhr=a- z3IG_yX0EO36v}9=_>2_S<`ce}Tz+_b=wS;17WU3;!=~x~?RnZsa_=qD+@Ws=$>s)Z z4il6krY}ll=tNUz8BI#^PF9@{`S*?$*<@~%*bvXj5_{S6yopBW(uE7f*9xLvCQ;%; z)GWiO{kx&p2tP@K{^S~eEG~ti+Zx$O?>K9qoCeN*kF*FxUMz@q(}!l_KfZn7BJ@Bu z5b2s>bV-#FUN*%5=sEnyI_PI(*AOwC>g|@7vl5;J` zxbP;3wOg2yA5juIZnf1H&&=EUUcdSjvjMHW38Lj{(v*(N;OsYT@p2=R(_g9wh2qZ$ zcPkZ%sw5i;>Ke)B=34fsadP3wH7fs3C{`3%qc1#b`*+Kyui6lcc->jZe7U$DR20Gp zVfYaonO0CiVdnY=^}6&R2aK4_9HGp55#R?&ef$W|Yg$|QX=FTt>eJ?>H?u#;Fs_Rw zEN*5t2VeNBY{2d5LGHF8onm|NG+{|?@VXyNwrE#ypS0H{@m|u9`IK~Rfyv0?tV)sE zt!Qk4Z;v`=W85!>G#v_pJq&st%V!BDC}wAoUnaXOz8VV_3$S-FsX~3E;mn`=K#t9Z zK=-OIiYJBc)P%cJZ3&(YG}gQe^WQpQCJeTFYzmbUoV%8`0JcH#tmrXio#20Xa2F18 zl&<@Us|x3Y5r%6H*93qAP#kJw%uzr=K|xLmfH5K_(6fcY_bk(1HyUl@oYU1G2s)prQc7QAlRet_=d4brM0b=Ce=xgyic{YVf%7X^HqUHIRL%r1HVnM}Esoi5x^Cem1Ssw3 ztTvC;ovH64xuZrA_3#Ztvt^Kv4p@1O8K}Zu#{L#Zc&kK(zH`Eg z`}RGO5Xk0n)hUCxlal5>wS(@f5o(*4&kSq{QW$7d&?+zAIUM^e9vKSH8Y7yP3Dyp> zeC#y-2m8+$BqO-*0DGHLlcHIqy9ibZiQ}IScZG!x!3v5X>o}maVYb)Jt$c^o@nLw7 z={ylW+Cb>g4+|Bw#jybJs2SPY8ql3&>6@(Qwk)V#h0j}>ua#j>G-|Zxcz;aR?KN;4 z)3u#!&JqSu5yJXC*zB6KU<$qqDP<}I07CI4PCUky7zkfSF%PgNpWa9R?7NKlf}zrV zw!v!*3?<}m-`ezlMsD<0-QXTv`K7vZ=Vw-(rRMOc0E=Xl6dB@0p6ZK(w@k>rqoB~K z&0X>j#|RT6y9SIb_$Rm(PJDr%Ft<=muN~x8|r&0Pf zK=TGngW5_tB7wWy-8xZzad6!jKKU3K7LPNdr9H6xUjCnzmg~wzPc21D8#pXPEYfv3 zKB$rlDs9@EJT*$*?T(%`Kr<0ozhW&T278Azd&Eq>c_Z$tE6ARDh9x253cg=WFO?6y z^$+ykG62$I8(sn}1(v(qrH6h$$SF0n(+$;7dPbMphh51$D4y z>*+(8y#AU>aDaC)2mY?U;}38) zyJkf-KBI4H1u;I>J+4aWo2d6&FR30EOF~Ci>dcJzsdvDoSSTB0p45ZvUB^-2AY%k z(^fwG;^=Rg=Eo#_H6(7-;uz%kV*<)4#<6}TqF(+2ch7|xERob1Z>)Ma|21>SK?bF= zR#f{$u^<~PrYF@6|Jn0eRvzrqGNU*cKgml^-rnB%O{Fs+00VE6Mt$RoZ_r-9N(WTx z5s>UWWmdfY3eY&M$T%B6kHS2C;4l{V4vYHA>v%3ZQ9J1VT zEZ=R%@w;$A!e1Sag#O<6*v)Rkuk!X-uh`nf^Kn z2IpE{W8%HVi*Z4H1^GOX1~oYs+xaEKx}RC(e*IoHgiH3P?LsnpOw$}F(rUv9!`d?p z!UzDT_~MrS;9b=clfuJlkT(vY%9h#dd1>q>wTsUDSv71tG&|`R5dQVe&2N@B%H%-n z_DIV^H<#02TicT3Qj1oLk3pu79FVR@-Xzo`z5B3#hJUsRU%77ii$+JtV||-;5L2Mi z@r3baL_kv^)edOqP9_<9>#!h=W1H+~+Y!tR?fKd2ix6`IV~x%4Ex#W^Nk3m?K!FWp zeCKnr!cH2+f4tlqLh*FoSX9{6Ox?wPIk~(Sa~4CpLLAB-n0+J=WhRl*cniQN6rF|r zHQZnO%!)ykfi_%j&l^0<7D8?N2gNa&1XsP84gu$%mqktS%R;G+__d3irhKwJGZ`=c zLThLOWe$J6Ha9_Y{_{+HhAtlpTHMbzyQ*m6U7xY3N(;!-t>b@c3eBD?H(%>HonuHU z7Bkw`DRwr?kM%s2{%k3%oah6#QM^uBGqJrnGJ`D za1b6ly;QKAWtnI;`M3a{O!w1d+bgbCxR}kw2a)_&>N?2NzTcm6eFy+c>QODN25!rz z`M0i^T883}iC3CE$+Jk$za`)K>RM;`H@x~R1&piiJZAPzvu~pU-~Rm1Di756W>M45 ztlz&rSr0a%U{?d^@*7dvMxwJ;P!TEvI91p-7z&!wZ;QB`foDrQ$0ibs+;=r5c=TkI%$Sj+9 zINbM}jTZYo-aenBhX;y&q$&Ub06bMy)^Dm%5B5#LiceFJz(F3iB5rX>E(Ym+<7)b< zcU_$O5B%(!e@v4laJ}!H^Fn``faqn?Cv=aw2+&UHeHkG3sl0tp3a|eJ6G&irsno^k zW~&=_M-dn|BU68mlznKB@J)JxiE~=tM(u6oHCC-ini#9I^YX*tPU=TpRpgY2*?NJp zWnPgyR{MC{lk<0bj=0Wxy2VU;ZISN+t;1k#(%p7 zMZJ8ZfaXT(sInAKylftRt)$AndE&G#qLlSgnQmRWpF1w~p*_d5K?_w6b)KM;GQ~;> zAJ0db7!}VarL#~WuBazv;Wx0#ak(xmH*y7CBn>@69|6id!dWvvsk;hS$uNdlrv9}^XVD;h97B%4D_wX2S%==#N%{i)T{h z?{>UU9geu=5`gj5uUO0T-{(l0NiFPo?AU%R2UHP@q=oKZdhh;- zrj#yhXBcE>8;xiom}6A>PJD7r>b7gz52LyQ*KlguqV#;$_#ve^f8Grr*TB5G5w@0@ zY2wqf*1}z-iEuGM=`Vs{5-#v;w+5^sGHiua4Jno%jC4x*73SzaEr4@#=hd_$*qI! z3fxEbck{3)~Gg1K`E0W0vFxk2N9`S^~vk zn?GI(1R@yw4HNC`@ zS}H!rd&y0<{e8xMYk!xS5RYgYF^A1z>ZI!PH%CmLu_Mr{@yTEK=Jzj%0fRK^w3q4A zl0$_fj%gbrEjil38}9;+{Z|FXu|a9B7ivFew~kSCN}f+d@`pc%e%#!z6}fTOkN(c@ z*s;55Mzc|2FL>$8k0B@5lm>#Th(nB@DV|t7S4BxhE`PK;*xzr7Gu`}7Yb<$>+~QW+ zS5g-C*3VDUbr&-K8k^%H(m3hh-d$nD-CbRzv&CoPr(6$VJo&Py zlLc!U>pCC!*w{^9)|M8cqn5B(`vZ00#xXn?&ksF!zee;2|1aGVO71IJDCf#P>oy~- zE<^}N74`1q#2eGI%M7iy_n-R=J*LLXqI;0dx#wcZuS@=Ce zlRDm%d;^A-o|5kT_7l1|SD&#%MT4MYm)8ZM+A!K`Hgw&i2BC0o_?~ZM-zB-t?Rs8~ z3sU2CRB*#Fa{EByjuvKqQRUP6#cw`eRgR+_8LFvOgALZm=b6C?cY{uZQXs($iQ+l3 zrA|Q)R+GE>?Vde``6F7{a! z(_zj-QCfgX)GF34#$oPwpU9q|Pm)_T~aamD9M^sIls7~+m)2KH$c%rn#}!DYgv z9*-v=8-2rGS?vx0L;Ara`th_|aS^<(@eer7Y35PGi^#(9g&S(i+-Sb5AH}&eW9LGw zx!R#kSbF`8M-!B-7YcqVZ2ZsGD+$73OFk1*fMKL8xc1R$!S1_BypG*;{JN;yyVr{} zArWC7(x|)CNq!ZF!&AUp@rCEXzKpXsenqgeu|@u@MNpx$mOQ2{&~ynC^JP*~F0fa3 ztS&m`k_^2W%Z2*}aqAB*2sDw7@^yV?Fl&AKk0)QfrG<^KZ~vseLkJu;z#={XdpT~! za(mM(BFvD70+j9o$J7fc1)VXFxBEtD_>Xjjk${T;^VE^ZF&5$UQ~Ou4Ur>L6W}e?X zORfX0YreagtU0pgj}js8DJEE#4v72O-YgKNHGNG<4h6yODk+6~8*7?-6PXp!wCu`q z+8_%4V(qVRFW5v^OrFa9Ud6Y0O=_h~a0F0i@OXBYd6Mp4dG>1z<3}N<{AI3(zR+@M zux_7HcI<3yiOJBXhTLn1nJ)Vq`ze}YEXdVY*(r*o%goV^l zg_Can;Q{N0 z<-RhH5+1d+b|*(AjZ^0wV$s+po8NX65nt8S_3q6i7D}-7TZZh`M>>GXb5snKSj$C=uz>Q3vgeSE`>^@LR++>Xga+khW;Nsu)_WUgM_k(&wCqD;a@ZvQf7Jle|4{>=W9UEs zA2mR0T)=>(X?LH_dWB9YcKlrZXO;Ptc=^U_pExM`&sNTX;IAhDx7b3c*45;$WAWp# zd0BD}iZJ5-h+(PfM|}sD*Wf2CiP&+>y{Hhv4ULg>w;m^_GXA>hx99u>v_^hc^LTl=EJuomR~oSbvE}8_VMRM zJ4E8++wI-$*VD)pK~2Mz8X#`RH8-$OK>%Cz%;|x|O}eLe9dnq=L&S8ny39KUB0^wz z&Lt0_ghxC@s5z}#)ZCEEn-I9{VuTK#GI&Ti3XLWc#Rf1zEw zQxWGrf4@c;RGydp6r4b7OwUHCTv#)HbMKT&)b;z8Vid8!PuO;oC@sC0;pd99iuq0-rsJ&NcHr}{LckdRN!9)^yxswX6yc_~hB7->Q0Si8}slcnoaS&6y#3zT0D z5CANS@ z;w$dpiHn}NQRI4fk&0w-uVNS3n9_QnK9<4}m3k-Pj(eJg9xHGf4RKD?S8iE}>fo>- zN&D)J>wn#q#rlm*rJIuwRC930bWYjRICv1vku$<6w9gbsX9)GJ$z|SOsdUPffnEo+ z4*R=CnXhFQtSr~OO1(UrS=dn#sU>4<=3)NsrlgDsNCGwFc*|>DQj=}!onr>rX;;PIcFuTI|5L0kXkzD|S}gkVcY5myc%xw)!}VGun-67) z8_e=!h79b0=KVTI^ZN=yAN(xG^5$9S^QMi_tlc%NATvM(8DVFg>J`0c5EMhCl-x-! zne(xkO={R7f`2+;9?o@Z(?f0l*guALtY@G)GSR5&tO@Y{cufQaF= zbGI8Y9LeXMhCmR{`mO$Vu)G;_8vmD4jK6@tA7HGGZq*ALf=xD11q;#hyoU8>gB3Gm zK=j$B?j1L#w#HSKh@UIEq7NKSlsL8dZ4nDKwC1teab6MG?o@7Qfx$ja_ujRBe;j7B_nC9f z?6d2Ao_9a5qlgqf0C`?SozWN`4MRKP34eLQ474@P_I>Kzts@M6*a4bFIRi}>18t-;di)pNJlK*X8QK$&ZK0J6NAxV zW$!1qtJ?{Yf(J@vlKx~TNft=YkXK0Ywx7&Wi>rn}nH@wy;PTx(%=6TQ4xN`OBN|k}h(ZX!oN%xE*r#&3p5%2dA>oYY{KZh;dt1mf$ld ziM#41PEf~177EV?rOUCRHGPk(fA^=J>!zcng&4}KQ~AFJ6#{og^`-;pi?0?Y7wY3Y z%2VjtUgonU5!cdN)ytEli-kJv9@^YA=TEG9qBRj2QWnf-c4a{WdaaG+hQHWkoIQu9 z*<(RmGJD9@3BolfpT#6ug!60gZbWhUjz<%@0(!4(&96gw!ZuJ z`h~D>!V{M1G#^wmx1!UjcUxi@U$*vD`)e$KJDH&@ZaBWzho6=M{A6j?LJ-k{3a=c= zEi5dvW1H_~%TMKcwaJ|MU66MK_hmgqXonB#eS(`UFA~I_F^>jDSwm_ACtsT5yp==D zXEH=j!|DnN&$py`!3E%9bLvw*0{PFkOuu@cphj`<54; zhUvd?-aR6mAp?9VwJf)INr*{3j9zB{B$zu9Ui^zJ4p`jk;~+Xe0cChBw0DaiEJ`Vs`92by+!`85)%6KRJ)7Z;_@)edfH)6avcY3z{0MsfWiF7g6FANO8L za`H~_Yajj^kTG03v13QKrLDIqsRt-Y9{#@I_yK)>9DqGZQ7x|GD4qJYAEYf6vow28Rd#x*#kBE7 z>(up!qbry2p?tY$;!ISdTcD{Uv`hN=Jt}TK+$r6*td|?}ufPA#vkHZ^L!*AfDGO2b z*g+`C;fpV9Z|Qv9H&#w6QAy(#KLxt9kg5(?%i_v4Q-oknZS{bUIqilWG6eqJM>F9k8k1j|zt#9SDTP(YJaub5yRh>=*r zbOC7X7=c;np}!J>L;8}bRBih1jgsgGvb+DhlpRLKaPB!8UK9o(MrlWLC}>L zFVt*JXi;=2^P4gca$#W(p)&B0{jb;ilQ^Zkr<=g*=Qyb%;6h`Tcb+4X)_w02mkpN8{tT6lEz-<&U~v>F##_m#eXwn5nO% zkNpOiznhwP5{NS%xRHXgqrAL>0|zpht9~dXzu?1aJfF~Gb0qKJQ2)U*FuG%WT*VL| zV=QCxJ%hO?^Ghdz?$)ytK`>H$WBr_nBB-*MjQV;2Mx3Af|3#h9kxjufO}ZyY|4*Bh zC=gV(jQyuGYFbgpJQucb^~d>Ed3=U}f5OXYuBO;Ew&#z<@Y5)#BwAI3T%;9(-2lzv z$uf<*uq>X=WRu4z1G~E;E_T0MSh6p)s-!<;fG%R}Lmc;yzug;gv9F?(y#ev!GgXZw z855K6x+3!*h>;ObWI)2fRZ^z(m&STsbM#p2;u;c(te%Gce-3KRm*^Xw0R4rr|Ld7{ za9EhvKx}C-`P4tZhX8qaXqvD6>kM>7lTF_(*=#8;v_*dMhuMI4%mL#`knQfrAHR~= zeP*(qmBGAu5B4}Ii#cwW31U-hS>am(Mhk1~$uf95I0SAP+PMcQ$^Mp9sT$!G0V+^Z z3PQjTIiUQ-Z)g+x>9DQoQ@xjM4WD0sdvWJ;w=KXD;rkqnSK$O!GT*-gxs`?dcsNhC zJ^Ed+;;3cdU1zv5Gmxw()wZ);asg^MCjL8+>PGK2O`k(E{XbB6(UB8|4lazFYH2V= z{L{Gqr+lFR22fs$)^W6HzB=n6+lYu*F&ARV&Se@Ly*D4V4u%JLw^6xtj-8b}hI5x( zVxiWmzH>UtED7q|AE^v*Lw_jX>~hbt@VpSjm;Dv==k5jR9|c9t)UTvkGBRwqUt-4P z*e^0)66ZNpJ!&3EM4*33rp+zQ&4I@X+V?onq_QR1b*q)qCM&~cG{r4beh+g?#Mp0p zS`D4$)5g%6OH)Matyai9rd;wgLpU#em`+>Wnq4;?v?KJeFY~E?8Rx3OIZ`%Lz$5QS zFmBi2=GtKtnwn-PR8vZ+^~l~~6{57v^Gppf_Pzcq-6725{4-{(1XrC;b%6fR^|k_?*3P_3kEwRf6CfJ!gYIjPw(3<{!4Wn}KET z9gS4%qFGCF!MEW33ex01r+Z&d@bAI)X zujP5i8w`AL-xrDQe04s)KR7!~Iq+zFf%$H`5f;3Q*m<=$)1L+Ad)&f$z1D3L(Al0a zY%>0;z*3Vu-@TLvn~ECjZCj1DA^VIakY{t6<;GHStNHhbE-rrO8;XZ3Y#}ZbrtQ#1 z6t2sP0%?II*jI-wm-nCJnof7rLa_uesIHymj=WkS*K1ZNwy|9q&?eNSc>Id zgv1oKUXVg`72E3Kp#AE&ZPJ-~;!?`*vhE!$5E-_;pMT*NDe6M0&0E{5j?ZdY15=%G zF2ktQV{1Fw9^W*Yy9}$JQA}ys5ja`#_oudXt#pw4H=s#qt756|qvdzl)e`h?U#)8LppbOG>!ggmynr8x zn#VW&R_|Z1nGNCaG~q8UZOfPrbguBCt%?>C+!t9$zWZrA?AnT_i)>{V@~vtC`U>}F zQc_Z&nhK}Zmu^avB79k@zRU!7G2@f(iY6w@J4=1fvtGUnsLCb@m3hDQX^V;k-IBj? z;e2$o^MKan>UqKrGPR0-ZXkbe>_hY-1)M4HsLW+sY&;Z4=)K5p}xb2xk>C@l}i zbZr1by)v?t;Sny`1JhY0^!7<+UwZxd7tHhIu1tHk!Kb^RNvO!rzNpf0FeCjQQgfpZJ~d@q~rJxg!6tpV2C)9#%KXll0QN&*5My@ zp0VMzxm11+*z^H~_<+ zc8oYPv!w{OnU_Q>$P;Jxn?#^EkgfPIJ_234lsZs&;OFJquqZ`3F2Ir@?S`QMG`XiJ za*3`v0p!Za{Z`%`d|>y{ME^y+-5el;o51gSC|}xoY&~l1J5CQwbF#-e+@Y?MUMY63{9J9Wi*=6`hqdLCMn;YxOwQ130eG>?OAKJ=9-vg&uPA#o*26jm$k5SaNrBCleYmtu~m5c_lJ z4c45Z-KTN;dy*eh(s`{0`T~asGPzulQsqR61IXpDh)P*8khE8>H5wCIHJlW`AqW7* zqU)n*`1=Pqf%YlICzeifY$WYthh5X6%3h6$Gp=jfo47*vvlF5^e~eVUzy*vJ6^o0d zGuZ)^N_2T{GG*O&x3$;h&u)P7^Zc-{u3a_y&iDe|)u;K7sc}19rZcAPIJTRp)8Uij z9ydT{Y5uOFDHBC5uJ;W1hVmk04yDhMl0Ggk(c5kzlFkKFPuwc~bua!dR|f(tXQ%s3 z5GR6N&U?O*bB2{ri_O8pgF+}woHr15eK_YjhzSMX7dsAqB!oH#EOmyBLT&MCoST>1 zs*zRNW2R{_%A|^&b#7#YyIF4=&x((ej<7Zig0%NvyXV4H{{0G^$2)FgGnf2K4v5~B zV~^vv5a7MrZO-1LL1o;$4R@zD_Nd-|=A&elBGsZ0#Z?*WA)&XHT&dn0tJE@O{6~ z-h=W3vUpuXNz@GWofzNCKO_Wgfc=du^x}p5;W#?`bmLY_=2}IPKzQ?|*b;Y0xZaG4 z{g7XSf|~Rbadh}36y}bNcHi|vI1ha?Sduro=iwi7#wUI4|KQy?tZZvyAM)z1SEH7; zW*Xy`e39~+-=240$(^T5SotE9gql<8*lT*Ol>x7_2kkZ#?X4C_HX-i*Rk}m8i6Bq7 z+EUwf!>jokVqgPi#0F$bBuQ}48@D1a6yK+bZNY!lu(Z_YSDZ=#RGED20L!F12KERd zz~nT~;CU%D2dk;R(RIE{wWPl~CA|uC6OAt3mu)@}5tA`@7Io!ABN>-Dx%V^@R zsr(OUyy~I^kX&Uqz`gS(1aVa2`S;u+g)p&u3iD{;>Q%gG9Uo3m7Fn%qMcHpx&Ki?n zTj((M-y&eWJ_cF>zz{06+Kt4(Ej>GQj<%D;>(`DePw@#D+xG1@7EyGPv}3h=ydeQ`Iu?WR*t6aYR%G%4X(#obnM*iD z5fcpO!cvFc(4D0X=?nBD?1_MO%fBYxe2Zi^!X@AMc{IXJC;=Grgn;Jl=KWh1UQ0M= zI^EuT90ifalz=JIA5Tc3k*&-ifs-JG$2T6!h;&SsfHbP_9g~pW@5jFP`QB_v)mlKU zT(hIEZ~LaqC^g(Rilh2@5`B;N{6!&JKXq1@?wwF=2v^{nUyohjYYY6j3rjQao(4f{ z-lmBA-XQi^h%*j?b-C{isOq4zzp)w;l5V zH@;}@?qul~Jf#ZYCo~=4uook^w6|E2K6L6`mS~UvR}259Q=sfk>F=3l{G8=-eyz<# zQ}RKbfxWDLtoy+2b%#dfeC?dq6ISpzSF|u}jDqOXvX0)ZMwoko8n18Zl)bk59&ZRK zLyA*FqKm$t>{(>WIeBoEC~994!fKFecnB?=fB$O!QDtw=h)WCf58R*v)qz9w7IK43WScFm zy<>g4sZPjm>UVgookHKY#`5uZM$gWva3p?TEsa2&VA}Y_Jtqz0SQOEuruJ3_5niLyx z-?dmUov-<%QC_FSj2&R7!8qBDP&2$U3B|xUw>TyH?3_nX%8c4~X@PpxI4aKp+-$P7F^094d7!^$ngx0UvqKNI6^gG!%Te3Y!*I*bNb0TXSJvb-90z zrZVwEUpcx55x6}*{IEdr)u};RV#No1W_1%@-<;Dg9!okt{uA!vzP=HHl?v$F=~WT5 zoS>LY{+E;Ca@X5un~}go8V)Y@f?Xo8LWE{+5tI=qcDO5)O0+4n|Do(}`fyk>fZ)i*{W{HQd(Qa8YK3)gW!8_7(bsL8j2InM z=Ab8#mad^>uC! z++^g`*w}bHSC7vI*>iN1OXYMUkQN7ZEzRnq8fgvOSrLrG?!a#ZaA`Hh*!>U}-5h`> z7zIpWpY!`SYkY~#_}5rs;ai;+FY~At3nFE4LqER=m?@DyfStS1r%3ufa8;`88X4gl zzJiLJ;)MiLP`hjL`UZ*N-ehDA^()yy*0tuxidN3+C0cx>`DMf8>emRR9&AcNlD@YY zx^#K%J9%eT)(r;U*xJgZMNtRIJ{$B36aX7hMPK;D<&L&vU`(w9a<^~aYq+q9#_4z2jLX_wQf2BU1bH@v(5e5y&meJz|03$Sc_PGh zWXK!g#;Ap#hE|%+1+FH3u&!-M53Potr{%=F_T$yI>!Z^aH7!-2K2Sgeuip zkLJw4%Kgc%_UqF&!bF_bi0bOTt*;>;vXzLcF)d-5yK5ovx|M#&^+Kl$m|M%Rn@dfm!Td{9qyHd_bXTX^9YA!!kXE~ z8eSnn1IzUDX5l(bke3lxiKapVZc@b$d0|erlA|cfKp)#bMq_&q2Gh_U(v``RW5b?^ zGSo>w_voeIWvbO#+h5@<9=`+e*-F=d>5YJ{>f4{d5GJ;xS9;A-(2<7W^g)vPC zCkivTUxxBL?0O1?B?ySTx@qnjtkOr&yP??TMi&ec|6pop(kp)z@a2PR^8Y1jNxu9q zq2oe1I`j5*qBbn{*?)=Hf2cAWB* zAO}k}k3rS@%RwNj`ac`EP4w>&0HT5(Pn1Xfq>6L1{+&5lQ100}{0+ktu+vxV8+M~V z7~G?{?3DWhSRE$YCA<`=Hf~#SsTW)raVbmkAPjRqv7C>4^*nis!BVa*Ic0oJbP&v@(BHm-VYtip(UCTIRb;XfRjwKXdD>qtZ8K_ zk<9bF`1pFjFO8zAE;PXkDf*I>?!Oul*@AxuNK;1Bv~mRU?eg-2krQtejx-F-MWN7n z(%7NMCsI}hc><-Gy8gy5Uq_(8n)=>U=KJQ<O{ zr`f|`YB#6TzkZAnQZNw%m@M_rFMo&j%n00(kq|_=-@O;<9zjQ-lXH|XT2vPMmzI_l zr=Q<+Saw^Ll12?;Dz)JpPRB*)m;0lDsi$?sOVY6PpZ%s}-N=R0j?gE{Df@1@=uB|R z2$_lo!-9JSsu`z~16-zi#0a$9E6@w_yUjwo$(^M#IC?oVMI(wZ=#B<2OSw}wFN}#Z z%4j6|bLJ_YnQTgL}p%{GMI$@-Uf zU05#USANt>B9mqwP4-{b#Os3pot8cJ(?&~2Vy~cCjP>_HZIgQ)P(yzO8pp0WR+2wX&}CxEaGjvA;?Q?z2Wcc4~pI?UJ~87+M~tg-m^tK%YpZ7fB;wj>pY z)mtiy&VZ9Guj`-gj{R(+{kmW?E5owz+=&rIsnTMnDc$L*1zxPwu{k~!>?@+Wys>o| zVVr;S^AH72;QLA`S6=*zLD{#JHjIU-^~7gH#q#Y9JL=9WO&iOY2@drG2{O-kbQCDV zpkP#C2m8I{?D}A*^=;XT@mueF(Z7gx9+bCh6r#S*=3|D$*yi@vJ$Vn-Oh;kF`Pymm z@1{>O!wD08^+;-5-^}BrY4Ha@ssymzsqdNI= z^Q&H9?HF_iBT*9~euG~WW4!pS?r3&?G#^1DjV>(RxlPZJNS&01+wZv-R@!gfv*u2V z4M#FkM2 zRa@nxz$M&h+?f2NVlt_E^D`M;UARkl(^_(=rwp=a>&{Mr{eu7p)pkO6ev1qqT;!^A zji=On6akE_p~T~D6h98*`<cSBzvf@^*@!&edY^S;8^t_PO?%f>;^o(f+u8Pq8pfVA z+#Z3r*B$~Rr_B@aBLdxP`J1?XKl*Gadm9Ic4Akmgshvr5z0CSH!=b`2YOq4pL@fMlt*%4u^-^|d zlVZ7G8p_J)o=q3d0dgjmy(i$%LFi*M(F?^o;Rd@p9Z2wtWgVgC+$6ZAjv3jcPznlp{R4jpf(d)^0{#a_L|o4;P|sDfpbw2%^srF z)SQXYjDMx83(vU8Lmo4N8~@zCJS((uSk-6l4DER|Pf>p~BX6)Uy9aR_fotgTB9@nT z{?sxKGV92j@K*0Y>JZR>V|#8%i3y0+b+r(G;a_n9e}k4*ZpN7705o}H?U;}jDo)(m ztvM~4oBsmGDnraIWn8rk;!?UeuhdZ3MMX z7@3KQb5Vj=_M7>j&xB5zCugn`S@pU{)XWX4{;O-dAGdA@`yH%oD`uASjGs$gY&+?i zWmDqf1*~pvMm5d9(9s>xEF?=cF*&+9uj83rVeG&xpIo`i>pJ1_*zalSme#H;OsGMZ z-~2aT!lP9Lb`rO&8yX&SQDsk#j|aJk`IoFfEl){-&&E(4U+MLC7d#21Y`2lKm7hQR z`d6FRl4LE5Iz?5+4E^02O>h6G9nea?;_RrlP_VtdDVOi}$%YbEQE_WQyjC4lia-z-dNgoi&^_Y@t$4GIzTcI48X_nH=^?j0$b$w7oyp!M4(-}^7`@=-+jWZazh zeSS%T;A9rp=>rkajqYf{1b)1qI_1;Z26_;-9J9VwCe~^oyKCy~kf+v~6TpZ2%5hJgxpnzJ zJFNZ`Ll9WU%5ONHm~ZC*yDT&lYKi>>3u=m3`5{%G+lx! zsIPstA-->;m|^Hab5t1R;K{^Q8=Dih?RryZ647gP}ca}EpN z>mEx>uBXG8(IvmNfiI{TSS})gh6ZlF&lz@(yxx!Q$n7)O5ZSG#Kgyf!vzoq>w(t2f zK{9qv^7SK!In1PUqwaA>VCs_ycM{SR(cOLBGL)&Q@ssNODu1L%%?CWAi;-?Fl^o5J zi?R!Ozu7^jtjC_I2IUCEW&q5v$CQ2|!u|3r{c^fdL~?epoLi}LC>rL3k(X;A`3Om1NPKzY8ibgyS(JfNen@Y%EXO?7nBKenU3*{LBe?eR1 zbQ99OBi{S?fw-2kx-50jt9j5g3$-5CG! z@emOp13!szi(0keYq<|fG?)5qN(MuuuYLJ|`{Bn&RDs~d_<(pW1BPBfW07c za~NxhW^I-}U%d3o_{4Dbn)rlH#v9m>kLiB%sm98~!lK@{0wyR{p57`;DkBHV@SG<4 z>>mj#aC$O9k+V3x>$Okd(>;5QMtQTeNeZH3(s5q|`p7*IL>)wiCBr4DCwfP# z+{>kK;BxvYMEbldic|{El@B;oM)0V*K_MkJITSBR=1jBf~e?zhg0Hs~<_NbP3jxP>S4 z!or98mCGn_;@W%Osq8l!)HXHr#NF3d#oEWv4*@wFBkCaGfW{Sc`hhHikx;L z36IG8e1CMth9*&Zr`mg{#VVqHc*vl|ifM{Be!%y8+!!NsP%c6p9XuO8Q_7AE4bz2=iW#=#h)NvyBz_8+m-hX8o*>XhlIaNr1+-1y5;UGjc`B`z?)* zmOlDNL_2b+RIjq>V&`}6M?jw#Xq<%yB1P zc~tl`|Hpl7s2ELobhISMgWnmvN8`Ly+THqthfL3P0`+B{Wceet;4ny6j_|)sf8-q= zA@1D-?e!FwDtLpV2OpS&U$>QW_SrLT(4G1-2%m zyYPDY#H}! z4nI21xcrQP7OV1{E>I7utXiy$bo za&uBpeW}04r;C)LnfL*WJO09>!t|S!@A+Qs=Mq8<@d%C64A-yK{SaTDSme#8?|y_g zaY5At8}YBzC3MPg8lJQIN&%?ASIwY0euZTCk_XX$WJ7$in5Pur@1u-#<=B+N(-yE5 ziO}pTdhBU01*D^1eU8f-AdfoDy98pItqELb%H9*3=CYn%>%mr!D+50eGXo{+>9SK_ zL=1Z@93~5EtQJj^OZ; zqf_!>wV!4KHco;NbnpE5P%m4jrR5)Kbx>sj$_@t$X;OO z!v_(Mvg+6o9^dh)BKeri$B}x{Qair&B%Sl23MPn)?EUTiC>>^vf60XxYmp$dQR!cp zUZq$jo-F*8V+V7;Mq`dV~KD?Xs9Rc!2gwLZ7)^S3YR z{meY&>e4=`{~zPDr>LdWSQ!`H?_#XjJS%7uKStr_#PLE6Py)k=tV#GC|@JbWlglo*gV!iJCR}iT9P;0ZFNe-cyT-ak^P`W{Q?~3@- z)q7t%8{q&h?Vo3OU)k|T8n&p_f_nNci))9H0c@52>-UbwJ0AFKGS++BkRNyPW>tLq z5cxf3uuh(PHU*`Z_F(#qUq#oH9JSNT6Y3 zC$_y4AOHK#LY%nDm!!_=yCyCVqguAMh-?dsGjQK)C!&L=UQaU_Y0?x(LFh%eIJj_T zr9o1AE&r$JColi!Z0EJS$k`s+Mk78)JKy{KXE`dnk7lJo;{Lxgl7gikx-|RYwyOYh zK-5B~*VrSTgC|80IihY(4q$R zm38l=kN|ql`+ZtwAR6j=_H$c7lDeKhUYkCLloz~zGMmaMf2HFuMYj- z>^;{>azEoNRzsofc>Db*KEW$?xc+5cfX&?TpON%1f@TVS#Og)}l&Ja+)=7!|GlgQK z@h{=>!|5@hd$A@laZdlNp161)yqRX9I{!=KKUZ+dxoLuu-+|w@iv{e&us&A9&817m z#w(LC>^W~rbAH=qYdd6ve_2JxZIut}KI5y{XS1rrFlZ~{zKosZR-t|gyo_Z}z#k_L zwsrOLh-4w=PP_Z{4lHvSb>HkTlw=tAs{zS zqu62Vp5vi`F4>X=#Y*i2fvLe+mK}o8(PB)ZLd{Bjd)sN^Y3QRS|rS+?aD4G6SX~kffhUG zuL}|%Vwj1>p~Ks-)?fGaBU0V?j3{HyHQU+-KkL1ID&%U{Ft_9P#f zH+dZ#wjww%o~LQL71oIHwyvt^O3x+AU-Zb$uLuh-@n$%`z((NHam>9xPO$b{f!?;` z%(!wFJU~dokV-7R3NE|yQr(pXZHyvA>|MJj3|>4>ODFA%L>cJtKTziciK!K*=;WvC zuFT@Q$zEmkir)&xx(8b2WSMHl$KwZ$XbWqj<8R!e84?sJk4z$JwySqhML8CCGaWZq ziW?WsR-JRnOi?3^7;o0PH_!?>lfF{47oqa_t`Vgyr0*Se(5LPl-fnDcEACIFJkryqB?&g{Dl}Cw-uU$1v=k1q zFUr8IKIZ};BEGZXLbETj)lfNUpgZ$EW~v^n7Ty2k7~x;$Ya(w0vhV zl5OOyn5Y4qxBq~!ZpAfz@H?++|2-T5kdH`pAP|rHvEac?c#mg%oequMM5xRtd( zDyr{>7q>f<7wz*ASn!+}@a{ePKc|S?>Mj}FAyP>5n**LLbc%9OD}=}>$M1SZWHaJ# zut*@VvX})o=pW=e$L($M(F}pt=Yz)!Rs|i6WR!@_>!T+RS|!!I=s>;|z9rcd2=a_( zOz**`R3TUa9r1!yOS`kv#i-I+W&b&=$@PsPCAo6IB(rCGN|p{oW*^LZmu7IwllTw zuC(%FEQf)hzg;8=2J%N79|<|$Fl%yr8da%fu^FdO)dFRMwFXhS^l8x{>H6kGG200AaolHql#x%a2{8&_QunY}WCP z&L?%W*N`KSdAOOW^LiqN1aNk?@b;m%24hOa$mfg`0#In>Uqgls{b~RAMjxECb)76h zIIj8Y-@{$&_ib%jI6l>h%-pB4v&GufL!^XBVvB?i-Lr8hER|MV-e*a0f3JY zybk)l5*4yfL2uAvof4M2q^wjwO@I83(JY;!icm}sIRO{x+PTx78N{In`@IuGA1FFO zZ^=CE;&Q!T$*q{(%?851;G9^jQ_RXjO#JC!PG`#gaFX?xaz9;YG4LujkLB2)LnIH_ zCt>NwfA>i_w(K717p@!6!x)FVK^#DywP20hE4**%{+<|c7UDa-x>!v(CT~}tdpO;! z_kU1Wz0wD3hnt%fAnF^8ZoPeQOyQy-t}`W;4f2w@O)8_yna(%o(>y+L@iGDOxAz!> z<_)sz?!C)hL=jw4C{EV|aXA{vJ<)s4ZC~sS^q}Rqk7$47-`uv;2Nn3-dP3M74BEjJ zCo2QPT}2O%$e5RmEFfxJ{9QPLcG6z-UoLowe|_Yvp!dht%?l7Tj+q(EcC@Hq)-M0t zQv9nw_1=lK{zEOj86Ebx0WDn)krPJFsVPw!{R!Mruv_L;75vz1dZ9Bp`Hx9`EOMC( z)>{Htyr;-YEO&?Y4!ZjD@bV($kSD>H6M!TA zWLcmF zIk+6X!z|>RRQd+z@`a^iODnlS-<7*;DI;Tc{2PXJS|ow&PVv~0g&u8lIPZxz;()8}9I!{?V1LXc*stgsrvbNvs%uH8%pkGrq&B)6* z;9z~1P+ad<;EFcw6OLH+FN?e!T9G4{E<6c?GbFet@7*NV_juaI+@*j?@d2Wu_`UbI zwr5vYi+|ZXji(A#z3GAEeRBf|zphtw`Fk5hYyu%)(@|ImN^wNaHK8=MeplUHtK5ML z3riZCg*50-H#okG@GY*a>??Dp1wHo8AtXX%0-gH6NvwfLbwPo-UsJ?;`WZ^_wdvpc zQ0!QoRo_>(wtV;s-X!y!3_y|QiInc|)ze-(_oYaL?~a|*d?gmFH7$V?c9#t z{WS1P+pbFyIB`&0w@%ooosWNCVZsz}&$QXG-BiTPtgPjY=WSq-qwdmGN7oJkZaxqA zV;o9|N(!1S;o)DIHi`era42c7N2`?uJ}fyr!{zzc1W_IV+@B@1pIC^gWjbac=qvt5 zRL=>3&=(@xQ#P453yY#@(B~~dR57J8R4H<_o6Uk6$(k+|eEA?=d6@hJUV9iMW_ZVN z4#e8h0JE$LJ}w*AGi)_zrLVC~%f3~Y=m|S|5~;ek@j+;)BkLE~td^YlgD5hd-x6?} z+(xh;eN}WwEce&HB0GO@sefhrYT_|9aLbR+t^YOZE#ff+aNpI``h(qT!zb#$bnpP8 zr9{b4$eT7D8<-{BGBwc_SpC^YN_3jE3y&&>D%qc{P6i02`kV~yj(iKek;y~_>u@a3 z4V33ZMm&w1I0!BbL+y(v7)V8t!HTUmzI9qhGrt+3+qv%Q=&6mWT1g(002l>}?@2!o zonfwt!>)9}CZ0HR&Ng3vKBtK}eiB*zl(-cWfc^8_QAl5gIIqZ~ANq~lA$w+UZ zG9qxFrp23Y-pQpBoGyjTdcB#`&3UtS-72P{ zheAC+;I&$`G@>)HB>w6eYLpr?%FlW(K375ke>C3sqXO|*OVe)~uKap|?tP;tm)BvH zFvt%{&)!^-+LlxKcO9{}GMaV{kH?G2DzA72L|?K=dQ6=^l=Rq~!h9z4;Jn0I9Dg|E zHyu#>Q?0G?uCO8oA774|D!gCa*r|fqSf=K}nLkc-wdO>Ex`Nyf5)qrfTFTqCT{NpT z`9e8n<<-p>5EG9vDwrA$@Wb0`YsJx%mwXhGo5y~+?N{hX%uG1yAHi+Aot7E zP9jLnp^bv=!dSTQIw9SphGzVQur!>qbcKCyZ)W}Qi#!E z9ZJrMj;%)K7T83Oth;RWojh%|A4f;qZKvF+GlPX3PVzV68cJir#vW_pt#f-=NCdcO zRmboR_-A7ckKcHxi#NQ#beY1ealNRy>TQ%h`T*A7V8iqWkVBxE_+W`Ch!~1eM_5R( ze!8|vI}V8EvO^8Z9`(sRdm>a(YZ$8!Zj7Zrhun#0N^6qJ0K%u5^OJfsqUZ`;BpRL{ zohG%S1kWL(-XdISLCq^ljV7XNT%YT&2&wT;`Bl+BPlhg`L`#s-c^+_|LjH)VOE-dk zk}@b)R_l+ph=1aZ%O=#%Y2ZtXkc(Wdv%!&sNN><_;=yT>KITi+%YyZIXJZ8Ng^6>8 zn0M_LF%p5Mb~(zrP2puCk_vt$)uuNPXFU1$EB!MzDAP4V^7g-7@<&Ek#paqf#%iK_ z_BAA271%!y{^ia(ID#yc$mAab4^h#g(qf!!V`pBF_n~KkdyPWHHTqm?u_&)|cohVK zMi+CUF0KpN{JoW>nNhmylDNQzhqe@S3Le#Ra+^6F(wOU6J~qF{Gx^2=ij0%=#Xapv zN7NBENUE)~Ie{BES>83MTMT)KamP~jubMwh!fTJS?9Is;a8I3Dg{aBVK(sgp2^IDm(t@~*>fuf42Ve^~s&89EKR(X%5 zl~bAmDwi>4Du!sRe7;tc{}O+U`DooE$kV1oRDq#rn;%96FVM$&F2aRL65f##w^?v0 zPqh^G1pz@y1O|~#3F%U#V+aX}nV|$kS~>*<$)S-B z329Io>FypFrryK7_x=6B^Dr|fX3p7rowdJft>bd$3UxBq!$w!wfOH<&eMW?ui#-EBe+_$zFmL1490|^U%8oH7x#9NUZ6ozvzlRLBA05lqE3dLkn{kcA^n~RAzWw@ z^YcT@-qSV1p6IQ+x94nd4$FdE+CisCJGxV>Uv&>+pZ^tgbu8PTN2AE~)b-~U+QU}G zADT&kh3NZ{L~N}zqSEVLt(R-#$WOY&2pPFBCv~)~2B=8KY+3KBD{O38yZ0)(t7xVu z*z4M7;AG279y89o2i`zos=>p{afY!nt%X&oe zyJbazTF(ZeXOy%Aaua%^o253ge9GOrljrh|kCiTe0KZ z>HVEjt8zGxiIfrN9FE>fZY?vbymP8U_yweUXwR_fhv1!Y4`$dfB1m5Q{qdQcCDfb) zFUNr=R*;r?2S$YM zJJ-0e`WwP1ExA&V{m`y=O+U&%&GmxjP6|BSw$V%89KzCMI{Zgqco=rb`4S^GWV7nE zBVUR=d%78c7l(&^u0Igdg6~Vfd|yS+M{LpD*Ory!{D+t~v^5~8DZd26!OHi3o9=!L zZJx~E7^yh($}&lHwL|9ps$(LaD%n2I&7sHa+1n_;S{5nBz>Lvd>yq*up=39!;Y6)D zkElf!iPQswl1L6N7M%eE|5w_^=Q>Pc<9_%mby)LOXPv2oA1$=s=u~R?10?pS^VQk) zW8P`w;r2UO?;nulIHxQt)`?1OFS_~FmSDdlVI#RCTnC?;Q0_NcTk=(moN@OUNMw>m z_IkO+CZ?;&zL$eC$-@?}jief2_|48rD4i%j#bSKRdPol+R|-Q1KqK9lq8?WLlr;r? zsxMcgO2=jh8ov#&&CB}#9#7o(W_n=811waao{{g0 zb&cc^V|Tddx&KIzf%g8xM)3!2Ypu@xP)Gar^wSoJ&jR|w%cs@8r|V?zDPC-?#HOR^ zNnF6kq!5CGsLjds1QhfU-QDU69-S`%@5{%-$5X-;68tT|Hz+X3b*0uHKyYWKhV_2B z1|;8=mgJn(fPuS$RF&W2KXCWsy47W0TXC7AG=VaKhvJOnXMW@WquB0;UVJ$Ch(aB= zQD1eA;J{SBKI{m7q>DT5N+KnFYhIrSaqYcT$eT(xKL|LUhS@%shQhd`gSL0Ax}~HO z`fRLvD$Jiypuo~X4`6P1ca6lGsdZ$k((K@`RbYGX6cgtMeQ0W<%?=~I_UiU_QFJ>P z*XO{`76_nIw!}N0SM#!YQrQI&Eq-k3C0E`49lOgx?j+E(ax|EF65rx~Zqgem(K*XM z&|$eh5cohWA7=^304cnt!uuelQxAPtM7g=ncih&IHp}6UpAOhidRA5)9m*zb;piK^ zh$-v~9^%7oP9E0U4Dg?QVetMP_GVck^hcU8X*3Cc>1vRLolDs9&5f0Ql;;BzPG)_%}CNtmBmM$I3AlTE6Hl?yWhODECBD3Za(Pz zVi`$QOMX=@cOFhLU{g60Nel#Xy8XELdJd6<+?`kAe_4LU`uo}yOB@!J&AOc9uUI_v z=v8ye@`O%{09<-?zrE|ZKi0In1(Q>lxD;={L~jK*TnoyurxDo6JQbJb(2#9>iNOht z4YA#>X1uu|V&T3?QhPR@NAOt4UAHku#?EhT@Z2rO+EvFz4$&hR`q6eZ2=-=CuT1_@ zqHgi?qc$w}F(0Q28Nf`0*el1eJB_Yc@3GEM=SQ*T3{K6A)i40{T_{DT_{4dU8VFA{ zwn_3J8jz`#CV9m@A#Llm{S={zIU_PkV-lWj92Ul$9d_=6yN{_)H}+RutVhm2Ev=p? zwD~6^jW&_aa(BRM{1rE@V9+umw~(St`x{-9bABU`<8jpdOwao=ur!Vh0ULA)7I)5b z)~RO zwyJ%7XM_T%smA`xuLcTmpOh^Qa;z8M0!m!UCytso5@zdR6{^aXeTQ$PB#9P?NZ@Ke z7z#sbg&d%dp1hi|YW|*J9u?nRz5h5ZEhLD6sP7@Z(fO@S;T0(G3&I>vbvT+miv3H7Ni6G= z$D_;miISMF~ugezzsCXd{bf13a zv;6#hL6zn=w{iz@D`<=OO^(rjwH#L&hUOmIS@T+O@=VrU`z_5YCK(Scz*a8nsT8+v zqiJ8bXPt>PE<9?0!katG3la^wdM-@!CiY!o zNvT?TE;C10^tN6svh4ii?2b}(lYCg^yOR*ELb<=SE5O(2fF|ZWEi1m|iyXJyAM*(v zh1)Hf`en?2Mjo?RLL$U9x&PSZNwHaP1N`+W&{boe3bRC9`wjl$w^nmeZ>?C%z566( zXIKhYrkKa1tD?U<5ILnbE@u!2QQe?jv0HWUf@0nkPW&cIaNrn&p znyGhuRxRHg1@&XAw=$WdZ#KkySfXocch{>c42L`?yL+Ha{6MVi&hnS8(8mWauc8;q z938g0`?{}4O)H5XZ#Psux7))i9>Wdn!e7LZ1yON;_Pwzo{u_Q{b@gqJq5Vwic)l!E zrRSg9v{Q$fd|0E%ZCC!)>0qz29=t+QtIpb>VS?0Zn|Z^*fs|Xn5A4VLE{JOEBZmo> zH328PrKnqI(w&2TeK`aGmpFZxA@h%yGxe`;n6f{ zEJYTB_?6o6g{@p84Qz<|JGlG$Tq?%>O^HfX7>R=H{M6B&hS20|E0jb4!lIa=-c6HL zCl89h1x4aLX_VtmfrF_$o1bfir?t8Ze>Ulq=CO}z;N_*fh`WFRI0}hO7EE?pQjfVa z%!`)Ob{CibT%nSAe)h#KO<=Y;b?D~+8{z&k3KFt^e&JP&W3CFC7JnEgPdq8Dv1;i? z2Z}#2W!wf{N8-O3nL!aHqB_BjbKF_HG!@j3Qcxx>y|2|71ro#xw&<36xeqsJzgKwU zd}<5b$B(j#@yS22%8>Vw+Quu$Tk(eDN8P%9pLq#;q5QFl=qw7AXv4lN6AXo`_3P_P z5(cbUb%Q#s)AmC8gmnnx=SkK?Uk>R93B^((pHJr-nbCcr?0ISEgzkqWDE7gpEaoR$ ziKTp1cJC)NtQOuVKU0u?-uKNh!XzLuKH=al%g4B)q=k7==75`PY;z)akLY!1e0ALz z@?jIyUua2W;QL!oTl|_Nij-1pT&O3H_6B#ePXh<=EAsxTx+V7nu3nLYSi&rI=%RL} z-?{V~|7c8UM*q$F^yLFt&r5Jry7MBEQqI?QpoNWKQInt}zDVVPW@Tlib0 zlJWLL?l!8iD4jgf=+-GK%EFH2S!rw1+1bS{!a)$(=SO8ut~C5u+?j*mVrIu1Y|wX) zcb2isTkEytr!i7XqYD+`1Vwp11xT5c@?0U(X5Pp(8raIs0wP>ROd-PdOB77Y=!JKPzF zy9)OzcydN-;<-=0CJ^d3tKHRpo9m2~GJMCje~9SGH$b-j|nqzgeC_}9;D7|bmxqptT@qbtYt zlj8>yet6+nuN|=!vu2Nbzjrt2x6X%a=uWJrKiI~TT#;+AY`yMO5jDA&A?S}?K0j>L zdU!jp&kp%7&ZuGSIG^GIqq9u^HdZJaIEb01mhe{El7`obo^P#4XQA`4pe(887c{{o z0lQfZ+4^&(0E1nfUT|Q_8pCTP9ao_U-iTPJAfRJd23Y)FwiH}BEdRXjcst=rM7Soz zrs&6G12w;kXU6hYZEu(U4o&g!P}0+7!3OoT49k+wPuvsVbqA6gUTU#S`A3G<>I>DV zWAT2GHA&i;U&etq%JZnlq{ADOX3gV7YVJ6!?oeIi?|``<@*A`+KuM86x&6xQ*702F z614$k9ecv2LjUR-WJj;_wYhA^AbH+QFPlg0MQTHg_g`7Tv|TozyvNwi!$BP$hOb07sAUuzLpqC*+s1j!AK*Vcfo@!L58C0Pc+@? z2)l{p4)9S1lRhWB#}FU~Y~%-_Ba0(oMSrf^>cA%G3qATwW?j}J9>#jBN3A|#inxNm zn$yzEtY+xV;_bkfca@`#5e`;U0xmbU-jC25GB$%bv&Epi$@wBFblPNzOofEE(B{Lq zUCqdP&NW}^%=5(o9ZX7Zbfb>)N7C?{d!@Vd)$fB?KWJWD6E5Uaa5v3Iy1gd6i(=bY zRrWkMd+_tn!TLomK2dt2+K~Aoxz4MeV_(;vxJmL2i+OdVG=o8@c9hVWhSy5QHKEDA z_|HdYiyfK|ktwU=*`hz-+A@-ua)VBBAGehZl?qe#02J%A-Zw5hqBm8)(SFSQ?{>ac zc)pl-!CCU6!}NvsJ=vws9=tr#dGqe(x(^9ZiZcu%NivRq_x^M@G|htn0A}C%ym{+J z+gmESgkL3l$z)TNhy2#^QY2r=H68CoSoGf=LIsWWJdtBmPr~*!$@Fcjqyre(qoWvT&i3=}hn$ z(U%fGeNNc1vr2LN!~s#Z;oSAu+SlexUNy29{Gir6@{TE~4D+p?IT;6r zqIvNI&0T^f$3w%r3u8_+XRlZMXuag81t0RxPg6=lrLKK^^<{f*yo52je;!+)CsYk@ zw3H!uU#U}+p($3!yt#cXT;-)%5y};L#i;-2asz^X(gG{Rz$AHYXJ6!Ly|KlxQ_jW5 zuA%Dd9_o+%oOn~FA>)GVd2q@UqBusU9@zKPMo+^Z1uVqJr!TAH3UKkJGbc*AF}@aG zVcMPe7hYjoOas!=R+&^D)@a?!z2^k8eH#P+akGa}B<_&k`uqR z-=M}SoNOA90IxgU{`J|ZJJ z*bj}nr0BGMl7`QxozLf`9y}0MB$9c>6|$|;=l9wV`g>l@^08%cHD!zD5pChqlBKg~ zk-pk3jZ!_W_#PJbAm>B}62$KrL86_kq1p%0pHC~!Fx58IUtM{!PRZpfScW|xsZxJ> zXKmc!mD*+4nDVz*yX`$39Km!>)zrgeHioDdzBKgJpeb3b=ie}JK;EX%HNEREXYOy} zOIW;rm6t(;k{5K8sp8&$1`Ubm#Wn3HuWLd-j01pO8T)lYYFeOfK|wg>%{r*~-aP>o zN712B8R3~^>cHz{$`<8uNQQt*k!WqL*L7Fhr@B1b&N|e6+UCws>$Zc@o z%mTYu^NU;GZu(1%Gm@LBoMad3+Lrk?*p1IM#|N@|R!Sz;iX0SXvyC{u;CuQ&hGl-{ z?K1?cx5#j`ZB2I9dS)Pdluk2~(ZcJOkesPNqrB+QdiZ09J4M7UFa7y|*1qnU)V|^c zhb%_PrjkCDUm50@=(UMHd*)uK<1qf}?m3LFIoc||bW9a&HY4xI{yg48ExS}~g0Do? z{n=k;882KE=y|Af%j4NzT`prJ_jNPnp45Prnq0v7rk~uvZFMQrPX~+BuVV+v$Qi#K zf9n;Fg^^6H5zL@WK9VaMtAc>BeqA9bTB@d;cRxSB^EvZdFAed4OAWfkBV#(FJ)^e; za5P^nMEROOGU)0*v#HA3H5JUxXn3xjd;d{$-GyMcjj#T7;Hd4*l(QF)rWW>WG>5AM zi@A6m;U=4m{+4DzI)k0R;NR8onJws-rK#E4foFxo`G04X;}h)1fIM_dSKEa6kIb18 zQ-ho!P3kWqvmr&3RCbl-Yqz`$?Bo#F_{pPWldbC8i(S1+usC6M#LNMOeJXW!fH((b z4g_EE8)}wLrk>4~|4639Pox8$8MtvqmyR~+_#pBvuHP*vjm?-AYP_;SI7ZVGe;X@e z9r@|#zU%nSn>oY+rn8Ee zw&$%iAuIjr`(NKV<9Fdtvvep8YIA6S_v1L<2F^;!skww;TkMN^b$jRT&A9%f7oei2 z#+Kx`{CpbEIs0HN%e5Tb>Jg|JjzhxP_PBOP04^$fV{|3pXd}Lt&-BEqC~oKHc=}tr z8Sr^0bGDbtrt?|;F}YHnd1Ys!7Z^y+8EpT6%a`O4SeM`nfk_!#ji4!-GqsJ+O?Hz; zm3bW(-KC&uxO=2CD@+$bCGeLSRH#rIN6Lr8=$c9DC**UerpDn?a)K1}#qRc1e>C6aBK z{$RdE?=I)a)iBSAq0`luy1d$d@6ispo2^7T^y@2z=34O+pr6jyzyRI}n{@n6(;ad2 zPO4)7p^xB-$*9l(bC46|oCrP_MUPdxcW*W|jNNoQ;yW~Mh#v2ibcBkpExo-{g9-r1;o7VO~nY72r8}$Ti%%Q%v2_8So@o zqP3lkVqvm-=mrXduRRk#O!;>GLmDY!AuMXY$AL9d|DW00i}AS|k6zNp0W{;~edMPi z3EX#)O*R$6%xr%8npvxJtj^ur`~vT?fH3vf>QWDL|Qyp7` zMB*owEBWN*4ySn}@4$2bj{#gfI+ovcMr?>bnc|X>aB&bX`uOPnYF%XstT&RT zJLBKM^!YvD377|e7k+Q^@0^REHxs%W;@kY|Du^Rt0voxDUf&g>zvB#aR zGx4*~K`;llLV>9D)PgZmmN_v7pD(P7G(Q?toP)mm&&Q{+H>8K`L_fWDyP$5kM1S?d!E^oD zFn{^j+~WH~LO4yg)U{b?{o}7q7Z#38Qjl{DgZKK-Ua@TOPk}r4qI|!dTin|B>xJiZ z_)*arT(FrkKF{J`6vbZB;`wzop4t?!kS^KqHeE2X7$9eOblmPn zP58$*g?q4>Q1?mAvqhP>bw30^=oY3o$VlmS!v~D;BTWz#)njZ#Bf3*ksO&&Md#<>H zt&3@Bu433K>u!rDPQZy!nQh*4Fo9^MR zT;iB7XH1)0+LC4WeZ;4;-ll8YC0$-7a1d^9=Mxn6w?h5Ra1wXZeCxNjyS<)3kY$iN z6O@{ARr^BwMI@8A=U>3F-!a$&2;&SHlq!Ptl5TPE*8+}9O)NduJdDFbJ#B7xh4@^b zbZMrT@j2g)Ue`@s;VM@?j9eF-Ecrfk^Mk(Mbm{56v+WAW@$LR*60;|J1FV6+@%q*! z7nz5WReWYef&8ZX-(hsQw|vd57F!sX{aunuutW2B{tAOV?ceS2XI+?u+BFR~tuAH= zEwFXBhtb?>Rs^sep`r594KQOm3whHOM&^g@=1Vi)xeQ~2)T#N&zeS}>*MNu09=|xs zkrR3T`G-5p8Rc6C(W1v7+$0t_D4VKGE5eRY0mCuxc3*}VRqPswXe(T?*o@5;J-)0y z01lFVNJ=;N>R@gl*d0`99-@~Muje+LTl9^orJ?^r`CMthcsiLI`OpDM#MM`?CYZ$3 zDniaM=kloE)-b;UPmjEM{#etrA+x#{EN4{PN~2f2LZO`=CaCzCey{%EGpz3K_JD=MPzNZ<5k+oLU0pY8!M=`6C3H)l;Nmj0X?m4buyn~1vUzf{&)Vjzz5 zTlB(iE&i4011?ktmWz#Kco3qoD{fYS-Xj_WH%;YHxu^=mfmFqhoc2XlrEvrKp9Jqo zm#u~ekMRRBjr9zN&ikA_+({MU$BzhgA6`sx=j56gLuizWlo?vg_kKJP{&&R#vJU{* zaU}2ICpf%kJoPvo{e{5H7k_9$>e!_{98d!7wXVM^7m9Px4ymcJlyOBb8?$~ zXI*aYtdlg|q$`%&O59-K3{Q#Um+My57x-5h(gFfc>vp!f$+|P&XCd$`^>6TN^EGx# zLf_}Q1%BpT7<}i$f`FwJMfs2DNbdR@FVw3=)Zm_ zukiT zc~IQrgof;aRPz#%Yv-2kt4jdyZrXKnK9B83udg%f?V-TQSOX+C`D_JPXD!q}>)Ez! zE>CO$YZN5$`EP37CrT%V`HPvE+*ccvm{A4l?LlkQKKA}-^2vM}sm1a_=L6%wNk|5?cyf_dGmxD+?Rgel zRzvR7GLJGl7y+|6U3Xnn3|qcNBsbj--JWoGHzV!Uzcw^>2qoTlO9{u8-N1bcp;l9D zy>rC7*m@Cu>#XGd3)0E<{k3W9V28l|9o;Lw+ub0-?9z&7IvPm?0&f!Gla_aG-ivA= zXP>6W|6KFxvLD^E)@L6%WFxxjnT#`9mhrW$7>w3)@Y(byFD*EJf8{w^qxnvxoe_!^@%nnc z8@2D_ZKwdeajl7qCuH00qt0rmRAR_L(sD;*_W4e^8pNhA>ca3U!tP{p z^%rZOPwf#Vu7-3`P`ytYX#LVRlY=7*Dhq7S5zw9)uex#D{>cL}F+C|s$EDh^MsX_t z>yB)8bmlvBUplLc?^vfLJ>zy*=qn?O(qCn<5@-8NIN+(E$0 zT?WeVT*+g_zh|=|vS#^YVWR_NcNjz1kxvqyZUn+Wz21iCI#9)@wB^6`E3V-;9;ctT zO?a%mCZz!>Tb<1y+vF|qO9h_npRystLIPR!4yeIgtLx3SqRmvOr-!w~-YMZwjdG5E z>T}Q6v&#J6=l=JuOY4Jo-MSsJQ{LZ0AU~i=AICWXq(XS$>McTP{nG$NWlpEhKC0@V$a) zu9pp=Zc9&lN{&C>Z0$~@oPIcz98I3Kxws$?_J*V;N)-RRPgiL#e(?3z`M2)BFA?+1 zT}dAXSZ^FakO`NtI1q}Lk599rL3l(wWR%;xZ#B0ZTcv9(-zy1*AiT(Bz?2n_(;VHC z$i;0Iuct2@H`gnZ&zBj`zXQ`GGUs1^X^$BGI@DS_ub017ycFFJ5xDKt)Db?!X=u7z z7Px@a^55qnmN=0)Z7LdG^T`<4^ieJRX)a{6aVAo@Z~8(eH1kKZ*A>{;Mb0Nl3^4!r zx9?s=+%r$3OkxAYXO+;_->`Wa{0@{B6D?GeHFObMMa7i2S_^AwcKRjk_di={FrHkw zPYe|L=MVuz6~xS}ZJNDW5-s=G!Qx=EF)rt*1#r!1Pf+4($@?wn$F#Ga`bnFBx9n?p z-Xjmq+cf7FXfgjirXk8Av{XwVbO{KQQ%Z`zS)c{HAKL-bKD1$*V{{c5uidwQM0`$u za{*8Megjpfz*`>_sg`-0@tLyhJijWDMMsQxm8(v!FW3_IJN0=xhwEh7Di9-C#YX%O zF(@eYHRi|$?p9F)Q@GB8cm*Z$=|X+{5deYhvrbcHULLX^7&^SM!!MYsmU`okUGHWb>^?2(*ICbY)MH1Mkxi7Ew3WQxXgI>}|Z%jt{$VK)T67dVFx+}3}k^`5C(8@~mv8vbL(g+>0TT{KsHy(v@|=(oNu z6j|p`tTj=QOIG)wU;#fkWYtL8^YMxy!zM;pS^(9}itc01V!$*Iv@D-^j~Ic~eT^3X z(xff}*uu4phoNWc8DS@=Krn0u>gINbLG!A(2VJrMaT5Q;`l&>7Q6Y@XsLP9(D3hP6l{?6GW;c+SlM4a*ea7x^*#~=#)9^KwdnX zCIkEK9|OYEbb*b#Nt3ws#Ju*n9e#rPS%O;%gj}iGCI)$~w`l>hxigR)6H3QQm_nxY zS<5u=AM_@3D**<6yFvok^jIk`a^EC>BHM{8nScHyk|N$SeD%o9HYQ2BdvUXkepJYk zc=WJ|FOg&;K!2I0Id@l#TTGb-kntq&cl7>RM=%01+F6Hj#S#DL;?v?o;l@Af8sh(u za|IhD`rgP?1^@y=>qX7l{`aCW{PUP3n^`#}Nr1gz;=S_tDx1UZY6E$&%+B76@q{Fr z>5Gvyf0kjZ)RliFQl7_B*qPRWS#@KGIwUI)DJtOL*r5}LU7FunYrxcoOpclAoR#Ua z^Ak?)%2rYDWXwoEs>2<4HJ~p?3TT~0T$INAeD65=NY)J*N3C?DZg|heV);!?etOwV zXIspFsgoQ-yupa_QyVwj}HwiKvxul1GSy}5&fqfxe^$93v>bQz_9fX|nKX?`mB z{^M|}V~vv`fz>T{5Gz*E0069UIv*B`R!@jyt#=1R{Ok_ zgEn%YydiWBCY8mFA(B}gGlDqf)KkduJ3rLdlyDN5*Dp3r9YscZ$}_p5^X1Zh>=6UD z6tG`=ov$+RmMPTYxbF10mf}94NkWcB)}o#A{vNF_`fsh@yRuj9;K--`UZe9osy2;q zGWb3yMAB^P3?pZcnVnPiJZ4zQ5-Wp`bec5bkmqN$X)VfA?>{wX?cMkLG@U8;zUFtW z__fr#$?w$Nt~s1&t|#4|C!hL9FA{{??J-Iajyt4xCJ_pnK4I1R~bcd7P?=vdm# z!Py-UoJ8|%)iCtnuW7Jc*0VI4v)-1+M^wa5q?8JtD;P=LpNzw|9OeG{u>Mq;le3hr z)QqOycRTt~4_%+62`Rtd!5H5swenE0j!asd;7~o%+c)*#%ylRC$v(1@KJaejFPUI>6|a62DX^JtOq}9IY@j+R4YeuV-d_!e^V-H&9fq?!^cn) zLg=jzc{5ZjJNfkU_8WsQwkU1^+LHnaznWVGlD&lY((!tOa|cog8{_ET<>LDA!M!ue zZEeWZ+&9;(&4-}zA`n^$w*V(D$2qhj!1+98|0Ij>n83CRDY8cTCIv58KA?eMPy3W; zK8xvOo>MB*WJ&bm6OhHGWU?DiF#63E&iAeoE%T_3A5hU-F60Pk+OFGC;5b#4zCPiu z*3TU%N`J?h2qC5^o+(ipykTd_8=(vq;M5Ym&q4hP4LwL)Bm;!#%|xr<9s*{&VE3n4 z#3lF$c?tFciymZ!k(Xev>*pZv=>ML2`U-E+B*4A;*&~o+_NwM+ybw$-y$AHJDT1>8 z^ij`{f%g<53)B>lSP-{Gbxyw2aNG+vclt@rZd7ahDwAe5KobT+x5(z9Z>J5+TFj;2 zp;%lLlYS0>?NEf8b**U!nk?&oaR|Q;u}Kr{Zt=b4^!KkEc+xamoGXz`*&d?+PtRjG zNmUy6E~7xNfj9a#;|x-&E23-N4E`$_2_k)D-LBCy9eZ?pYk}v1GG6`{`(OXq(~2{( zC2SmQMi;yR0)4<>#G);g88Dp3S(#o-It)U?T5S6#SeE6H?;w8d$(OJ*2t_kd@X9SU zMTdhc2-{gfGZ5%D{GQRjrQVW|-!V;`7YLOl%NXLiH&?|X`1=jy$j{jLr$WF!6p@x z7N?lz_x>Mbt7cI;hud;^789Pw`B@j@f=j49rxxb8io0>zhvx;|mkH zy4I+9f%l!)yWroC9|v1^8XP*3SwYxWI-LV7fdM>?o$T=PTlRi_P!y^?u|~lg5@& zk7wUy-5L|vQ0(1L$v6f~B*Fac66gb3(itE(wRK)06eGMWZTs_v&-aA|opyW_4=%xq`2>TQy?gx6o`YSpEF=-& zkhmuYLaMZ+&qrUTm!7>NMN}Ou-UACGX_h$|L=Tz3J~1E>@TS|;b~I6P3OJ(#54U$L z9Vc8@b*NpzX+_sIfY&7UK9%wFdh76ZhQsfmAoM3l9hCj&)nN&&C2`BqaqY=BPD0>0 zo?Dlb?QPdVGX=25ofpZa;`6a$@OW(pA_2~b_&edN@460D;=`aC>Gj#BH;419@-}kz z%0|VCBg{?H_z(QwQ<}pFPXTs8r|W_S(`Ihd`!K!<>iqG|49POGmh{sJHi17LUX{vs zDqO@7bW2BL)_vO8!(a7_t>$9IOPCMQY-WpNDReF7YFGJ997^1yP}D>&ag-22wa+_$ z#y{jRqjLdlPY9dhzn83268HcPf-(?VcMx=~;?@ywQg67XqjrHx-_OrtbiHd2CI6Amm+5=|T%A4Essr$7N zKZ$FuLfLKuhL^~4{CP^Cp1pFd-d)(y^C`)H4)HE6d{1xsJdMb zfxy)pd496fsXI0J;datg0RUt~;rbF6C|g_69_xkT>;{VFf6*st-1@K(eVakQi-CAB ziOYeWO(F|+JesjA6oA#NiGMGRTcZF*mYPk@L+g$<#WaC1+SA4MbrS;UAg+T;ij1KJ zhzY&$nhD`#q3F5I6#QSip)s7y&*)&a7l{g6>CY!OpM3@zOrJ|bh4edh=dOvl~CBLL+~evx#ET| z@k1*CBGyAKVg-*8yFRL>B$ulBa%hUC&{KH3MZ@`})Cd#2XFVjqI5Wq8X_JHm)f`dS z{z0B_DJ)pOBNX-128CVTtKC_;G(#`07+MdJ(`QyifKFmQVe;4d0%Wa)`Nn^6KaYay zlcieTAK5lE&zo!K#p;lerAW0Lr9AZVJqImKkDya(e)K#X3Gqy_NVicBi^pg zJAq9NYbSE+Cp*HkWz~Wc=ez-&} zih~h-@5SV$5}Q@Cr0ReMFF_QEj1T@EF+!QA@xB%7&8_uMptSrBwAw|xVDGGC5@4Po zoeN05F8fe>?WQy>v{+q<6O0?|)g)$ZEvFCxEmfnmsXm*w%g4HBY9N{Ybd zclY%4rTXoKL2d;SPF@IjU4Y*ZV5$22kB{-re4AeDCIp-%TC_kslYprNp@;a%FEWC1 zV937yI>ZpLHrj@e#;6%BXwKDyvIkrzPDV$Z;-AvcZz--rY>4{H#^G0Et!WErvAufM zmBq2_uLI2~Vy)v&@jG~V|KEJK$_h7>!ICE7 zEK}O;tVs0mN}x{!s^xUH>7IOVV{FaAn5>_3IKji(Bg>dy?8s>`=p}AtLLc=^HE~iG zQt_Zuqcs#nN=GXF{Oi(Ivp@0Q_^Z6@VOATs|5MSU0W#nd;V9L-L9cFQ+x&*{FNRNS z$yJh(Xm{9`PRTDe8~GH5b}jM*L$4PiRaNL>7#F+4d8x{u`vm)eU9)G-k?~H8Nn>M< z#L4kyTG&8mCtp1==4N}!c}8U?6LEfX>dO!~%p_32LJ^Q&z`08Jwx+vm;ba3gKx|pPx(x++r3LO5*n@zu-%>jLbN|y!Yi%$(#Y6Vjo|Em zC$6_dMsLfr?@?;agmH=KvJ`U6jK;Oak=-BG$LuYi9cK)*i`<3w;vMNRnwJOt98T%y z4|f%?3xiADd2GktPVyZ<1g$ruHQbODStAzL`PTp3Ick1q)3v--6ALS!v>CsXgRF`) zC%H4FphBt&(&cYt?%F3(o8rFwyv-a*`jqhX;l^9eK-ewxd4JR5ALOS(f+vxXuxLZY zcuREXOaw4EYxmP-Ivv+*EtDUjzteUt3D;0@286o4+o){*AkKMcp=FA%V!%-W=*4Ku0I#A6O&2 zTQyk&vnK|9z2ZFud}X>AX4!+bj7Srj`BO6}I0jG}g$ZAWh{Yci&G`PCzdo=2`a?25N?2*G| zg#>1h(AN`3ZtBQ5?HAsW4-mZ*YE7vsG+^YsBV^u&IB8%>P^Jft97MOh8~-iyp5 z$|WrZ*xx5aa&77dRQTkn0=t1nQ&s+zr+^kd zwiy>WW7-ms+Hp@6kONtQchLa5ONtO_bDvqqk~#7hGh3_k_h}2#GDCuv{efd|bHq^I z0@zsZ-viE8-!sX^$}^q=L>){iVL?CgDyD97zmPLa`T6_ZI}3MZ#t4d)2I%{LRu#X$ z@(-iTx^*?n(64aiPWlBsups>*tknS>F?p~qwNQ_K@zybi+?;>u7NR@dp8skiMP-u`B9+Z~?6PQ7a*Ry6t4 z6-29cB(p(#^|KAX5(8DjbV`nd>(duk+?O<`YHT?D!K^!oQn0uf!fR_#PedP@&w0Qh%I=J_r+W* zhpCaS@Du+wCH-;gBEQ05N7L;!GBcD1(%IF%?K4dbf!iE*{(SOVZrT_cAECrCg{o*3 z(_`XDWt!T}s&I;afqL}dlJdw9``~07P27to`|y+({z9YX1&$H(pS=&|aPOH$eSY45 zJL}-0ywTQ!N2YCY|2<3DnSUb6tp4_1YKN?F{imDthvq&oRk{Y8P5bO;+OCiFyrN&d`obXm z`;vkE^Xx`OqSelaB`ZRapVBh3B)pAY{b$? zUO(honhtwVWPS|P`dD9kYKN`$o*&oh+RD+P#@qAf7>`4jPVh&l?ac4qHls{zgMMtA zr~s3TAtd6T12bLo=N2^Nugssp_$yDpSDQW6`4}q;Jse7)7QS%gkme8YE+)T~CX1*pLL=cPIxw-nj<|_->L3zK{n8ABC>=lE?RA$oF54tbN&6G&xFVCWN{cU0 z*oNxe>;B3lRnTA0&i`1IQyOh>8|EaA3u(Npc>O#pR!K<8=c(v={QYVvb_a+_F_IBD z-$juDt^bd#_YP>H>H3D3A|OZ?5fBhTKsqQzT2Mrkjx?!J>0NpY35tq>f>H&9P(-Bn z4go}Z@14+l3pGGU-sQTl`}v;legDWNJ3BMUZqA%J^E9MckFKjM7Q?QnM;p6Vt7Eh$j;Ak-Ntd#=QLsvv57${2S>lL z4x7}MNQ&CD_-ls%9};N9w;nzAudOngF*(Gr3O+qwyO(|rKZ`BdBdl|@%K}sYuNMaw zOPv(*n`=8hN+DgCy5SE{@r~%t8Z%2hRQ<^IVEvN<$!W=+r5Ml6tv<=esM}{A)sKp3 z8i<2-t1a+h+S9hU^Jh5inEymz7XXXI;(UpeB2)%nt-g!fKB0ZG(t3v!<2KG1cipglc`LkeE@e zIN^-({HCi7-g(V^XWQLp_}#(vIXZk4=^Igbv*B-Khl6uWRxjE4Q14G!XlBWMj5OPP zX^v_>P32zD2DJ$Non!=-hX5qNVTj8*%x5)%9A9?rd9S?ShnZnYz+SZbQE#>6ijr#Oq9lo-+O0$8l>(KQNV($LE%4!Kbxo1^kMSx(;%k z!n|@GSh2>p(!_w!0?vB?b~G?&jgdn3qoKUqC?jiPVJ;#qf;C3Fl2t;Yv%IJl^&^ zIX5=dVT?Fx;ZA|rS#S}-Y3P#Zf{T{gI{EN#KOB3`iN1$RQ@A-@IVPCkwjA=%bc@{c zaN*_|Q4kLWtSXRCupaZ0I^l7hbGR!*!S_wu9MGS&l4h@BlNn=rb;IEa(3fMTFl8|8 zOPpfTV9l4Rp4ythq*0I(k!=5PM~a)JQ+JxWMY{}vpN<#u=b1YoEp+gw@+YJ9xQn;Kdhf$dwgKuS^I7U(s;o)*+6bXY6M;X zoTVG*!WInsk5ZLiXH#wbcvXigKwUyJ-DPi$oB6O)%*@gozu>CL`r&Sptc3ZiTc+zP zlP{IO4OT@pVQa{#{}ge=wo(BN5t0>iWmDCs<6@_7W|Y!|j$0`t3s;0@ti%D5yiSH^ zIozP|(=<3RD>n2FP(C>TV6SIxM(rD`K$J%Q)cS^0Wtw=rnkN|V3NL1pMJ)(-lX@qA ztVl%EzGh~P`Bh+v#Wp*w4f>y)b6)-AxL95FL=v{ZNp@{3a5I)rX zvy*I2k3;mTK+6=fMIqAl7aVZOvrr{}k;ve7_1Hx<7mRyDdQ+j!I$864a46-nC6gj$ zVRS~Dh+^CW36S7q7~sa5>L7^hyvZ1V4bLZlTfr^>BZ3|-gw@kBcOTT)9q!i5NU64t z?Af*$Z8obVIVUs|G|^no|{v5)!$%YDr`4S9-Wl_F@d-XGbzuCqb;k zO&$^waPVTw#%2(aOO?Rkdq=l17EG&P=~T?!FPZaqDd+M(`LB~;7jL9!UseY6`~l4v zm|MZU13b(d5k56v|IcUl4ka)|QaQ=@r&}8%*2|h8LUw)EYeQoH7YMwN!KSNca^1^= zlKyFT8o>|d5t0R5zu&Lp2IFk{%`m8LX`427APe0-nO_hRb8#RTQn;6Nv8&*s$qj*p z5n)6m2u9{G&aWWlym&q8JwX6Ii;-G{_!-am9!PsS6o^=$oX!WJL4c!j9 z02Jaw=mG=)lf3wD&5+pPNp8Yq2(SbK2xN=SoZKTcUbq?d?eW1Nh&%(bI{_sSH15HH zNMSq>>2z+UZr%?*fU)L^A*Q5ciEa@^Q=`&h;o16Q=SxAKK~s9nfi{OV8$zmN1x&>z z78^Fre5VHd$lZ&DnaZ9nAXhH~^@1cybgfn9_8``il&KXWhCPH3MK{rQ5>rf z7Rzj2 z^`bCIcuZ7jH7Bs`pJx_(00zF%0Cp)UmEu~XUe6v;&tU1Rnj^|ee@74p6-2Q4x0W{b z&bscpjC@djdW$$7pj+Iy@SuogqQrA}QY62wS0{t8z7#TOW-N=O{8{a?q7Ft!eOb#328;bqan7>$IcB;(tJ}TYy<9C| zAIt>qP72wEo^}cQus0%{%&q`RxkEC4@mb3LdWkeeoJogY9*11`3Gxxy1Rl;KMKWOb zkgVDh5XccOIJA2|ar^xbvLLuZ^=#iLGR1bq?(FV^zUbOt3&Bs&9)ONd~a zkGf^fBvrE940&Is-X`+HG=mwNl7)OLRDUexlJZsO9$<0|?M4_o~ZXh4nl*A8?vC-y3va{HEV(SGQh%)cx1A~)~y#~p-IKgy)X}=VH3p){pck5 z+Z|$GP*0-~4|^PsTLy#WajsQSr%UPBWxhw0JYV|rX-W{jKN26UtIK>w-%%35Y;Ns{ z!3XSU2__i}|B!@EGtYWwL-ju)jZ75?g{=}6C;Jnk(NlF>Yhw71*(*HT9PI2ZNM7x) z_aYAPul;$?}DetOT+MsLW^CWl^E@MKVqf&7G5yH2Iw^cfzI8I3z`dl4X;d#0`{qg zIQoM{8(<`5su$Nyll|X-2|7TJ68Us1CTXfM2-2A+h=v8DM^oHgYp@+(-^YWmpAuH7 z$}^1p*s~j56_fBVA{mfJijvcKM6t4h{L1*i0$+9kv>!ZRE*Ai=D7q$or0dE|?g9De zdp*o=zhBU5eLpD(jPUa8HII(cKA2Aefyh6~w|{FMViu?2UqSvU-y*4QdiEF5nENSs zaR}kv4+=MK2N2K3SX|(wi-h!ZTQHKS0`z8IZH^;5W*Gv;3SHZ1ZI1bV!Kh8u&q~1V zA>Bf)M}Iq~e*NJAmd$bg{(btMkB~a4O}8iq5?JZs@BtGPE~JNicN>I#-{q*=J7-sr z@4zDUyFmivXPvALr#(*Vwm&@PpbL09HLF@ls&SwURF|*r?{eOq*Y3k`mUwP~5!KDG zQj?$nefidFO&1HlxBPyAdV}Z%m~RsfgH_3@l<%>Pk~Hkg9RHvirO9kf}HXB|zm~%>E1l-rzag>@?y4hgN`?(2gxZ z;)hxyERSxD<`kb=PrkGMyLMN$A-sQ++C@dSP( zLrlpDcG2~q)geNWl#8Lk=aE=obSdfM>GgZVysnX_;z=pkkWBxL2qsPi(l<{&7t*J% zrT;WO0fVf)T;lXidyd%bz?9I1K3Y}GMdB59dRCC%d_yH|PQW|u-_J|_@V9KwIp$xc zG8o3S9XW-`ZbU6&$~BrJpVKi+Ul0B#m)&RW@SVk1g`60fg`1X!D3{NT7y0VG@3yLR zTsaB|zhOtbd)4vzN%aGh&P=Dt5)BBYEGjB#^jjP zCk$NZ068m3qZ0EMv=FXmH(9*HW(V<0;4-lDcha1jOXP!07DK6uZ%|P;V|OGvV-NugP3eF#XTB$3eS%~=UuO-oU zrW%6DY-i+Qzhuj9Nbs1RzCBYWT#KFIZ`N)Coy(VpSyF1DfL4D>9Ou;TLb&6e)aN(xe&d6z=JFv}&OL=8^c zPh%y6v8(CnFguR>4U4q2`JCr z<)J7EMzrMSAlD8D{sNYk6+U zaqkqLgW|nB74Q&&i4isuOioZkLetoU7tB_SR0{l0S#0LRbpUS#ptHiA4SW4UwEOIJ3Tnea$-ew98Orb z0zFJul!2h=$%*f>(g(z+z6w@LjCzBPT~cw!k5IqS`TCdUp~sNBMnk;!K?eUn!-J3r z%Y05OR<}p=!lYlz0y5U_v-gi-NI);jWiVwbQmGpKJ8)4^g!*;@^qM1cDVSdiOk)oo zt{a!JM*jD#IpPP=f2~M7i96Z9R^E?O+BTMdZAABV$jxtHl9v#X{LOzlxJrhJ)dcGJ$LB-Z_6l_B(rhYY&tUVo?RtjD|b~;r2~@7wPP}K|1u7 zA^XRjo}6=#-r$c?Qqqs64lSO5M`=8FGD-Ye$=;yh00NX!1&wmUt%E`J#v^Tl5RhKe z04710iviQJ^ai>9$Y{0z=lYio(meyO3I_CkvFv6ID`5YncX{7G&oublNwjzUow@`| z9NVHW1(;8-t6@cyBBHmh#|{F0Aj6Z{@Xl48uKaos==01c+5HedC7;wL}0~~r~VHaE!K?FDpcw@ksuV@ccFqX_0l#dIWp!be; z0pr_yofV^q5uPjNd_gTjXbXbh@Te{OgY53TtwSW-`pX8z7e7=UKI+?Ztv{nwza7P7 zl7F!O=~Pw*sUa-GijQ=C>!-fJK_Aqb4ozwP z`mDU?jMP&qr#@I?=vr0y9e@MhymYAwGkiIBW9U)6$@}LUAxEtTp66|L!CGqA`cDHl5va*L;!iX zStFLuf4+hK=*RFf4-f?AM2|0=@k^;0d37rS^vM6SA??};$fQcVID}o;?o#_zLV0Bn z=l9((5p~CmOpTKGUTb^de?eGqbEoDhk&@%hWhewVRobL*CNd!@A}J-Yqy8H{ulHum zkUkxKJ;&$OdQxcqk*kgAPlTW<2D4j$~4FuG<}clp`QqUZF7xJc=zECnws?R)-zrMymNe|)K%G(BRg zij_7rzxwlKZg`{afk~xW9Iv}1T=Y8&a^u7a{a$i%T?o(V9-4hl^NNxtoa*RSS0dqi zR1xwsZpr!y=QQ$K?ulDLnGi3_S^M|8!>^;GJ-hZ}r`(({O9%^shdA`{xQ^@iXeM@+ z?W}$3?StBph$19x`$QIy=M#aRlNgb?Iq&c>6a6*0oAPEYYjEli+~oJaPca$AVZf_A zmcE9AA^Yu9@DcxW_2!4H;aA(IU~VH3;*VuEN>}u9nx_sy2EqS61*r~6c#=%Qb@PP- z&TGaCkl1MPR##(?1|(tK_E2H}Q`@9(&Lk&eRK=a6$v;0GFEY)7v%dIjM7X>W#+CM`AuYdoz zp7$gnG@`dSPa^)o`GJnP^4nVhd*%M|Dky{Wlsm@zB!wy?IKYV>2?2PGJxIz_My8aU zze!5#m@a~}n+qx#I4SD~FP1$w@+k;AutaD~jqoto$?LN|7#tJLQE;{YgiAda$TA{DS;?qRru(Ha0ufX}kq&1AwAr1y|uNZ&- z>8QrHMx!}A{gL;%#4G2AuW~aauHY`4U2GbqS!#{z0OJzmBSG;o!$!mx5yaI;w?Vkz zy=%!iC^R=Z2+&<5xamC-+!-!5yWui)?ZoVWb5{E-WReh(&B?3V=rxeKqS5mOlzPsI zN|MC4SD4INH}jG;xVjF*m;VQ8){XGeCnM0v6d9_fDxE|s62~GdOoIVhLS}#$A$qyUg@hR zB?&%F>IPImCGR?F=MhCc4u67tIF#m<&=F*Dw(U6^M_Bk?N8z1A0^AVYs&pOpv%vn3 z`F!3}tfsGOgj^WKyFQkG^wse$Fl$vcit6>n!@<>W4=tL3R5#^l#fV@#h!U;O-q=5- zkS@7UWXxc~y0h0y72|sx?;0nP3w|*&9|cyq(F!8KQ4$7@lDRJ0=a9>Pl)zB5xAuF$ z#tKax+S>8nZlIy|Yo{kD4ZtHAsm)a0yH2n<&W$ymIs{-$Xl1w__W)-@2 zr<0L77i2f}hJitef1Ctx$Jo(1BIuJ)g{Au4Ez1q3nUbQaUJ2!0%B; zBuVM@^0IbcP|m4S-FN9oM};T0wO4g^_)r>O<>XQqZA2_0phh4%L%G*}HB zsfRc)R=~UK;~Gbq|7i+}#xsE7qTx+bsti`9z1W@%c9IeM899ly-ss-9;d&$;{=#J;?%IWn{oIE1WH+ur`q1*O*AyRZp-NsQRL|i+ngXT^KN>sQj=gCoC+2<6%fmtDA3j zg$f>A$t{AfYbWH%{3GOO!PeeeyWZDmPAtMZN&sOo;hmFVm?+5L62XA^3GW}5>PLi(L!gr5FSA$*qn>T#< zb#H+?^i56ablMq8TdB!mIS*lk`p|NDH6D}uzc#p&NU%1uU@6`;&G#lb z4WP)PLP7e1bBa}7N*Eil6!&G*_g4o{Ty}mv^^i8d!^SVW?r3A1>neg=p>j_b^3SE+ z=?Ap=n$!aoEZE#b%PHc=k*-yZa19N_uZ_s(-xR`)pcR5a`%e4>K&tpVPFwx z1>Ktqk-xXOvBNq%;(&7b`gaeE1i^@33^$^tg19I^N7+l|{i256K~Pa)jqtw~AZ>6O0gIw;%@I3^=u>TI%dDo~ zAUORQGVT7XJ)Eq4-Mg%8O?vF-=Z4m(Z`xkmQc0CTEJg^+#Q+|kyJHcXma?=4vs*0} z&6whScFpEg9;5t~DjVUxRz^`0KSQXv34|h_nK{iEke!?SS!((zGwG_;PO&OgDN_c8 zT72j&2`gG6Vg3&Ox1w)}iEq)Q%s;gG#&pB^Ju&ga&Y7!rTDfiZ&c%PhIDy+b!GTfSwTV+ zVlbkvP&G`aDTbB_wvA0Cw^h;KE38S9=0oc{k1VXU2n*N`*dDl`bXZr7S^@JM5JBuF>I!g(I#6zKR+hX4SMH{Adq%K)_*mOo zg{U_0?ZbcD*LM_*X4giIh@B{+zG$4brjW@?%o4dwSATRI?RoH&(s*=4rS-1^#6-gP zC5uswe|@#aRP{dHsLOInc&o|Ml|eR2vM@0I%sPEU_(!>O+Jkclq}uTxZA-W$O3 z`$O-_5k7@RsqmlO<{Wl7iZGTkeZ_>#f!a7k%W)tznwp?A>5q4$lVyD_s>9=@Ct~ME zvV_b|&b5bz_Kio6v{)@K>bEdKsA2io%iq^W=^%$3xsIN=DNZiPYs9-79gdVEhwC0{ z;JIr5%2MBvFzfF5FY4AoL1vxZQG5O0<7iQKh&BT=hi_yhotM#0NxopOMN`z@_xzKU zll>)^kKM9XDdk3XyGI~Ts1{+5IGd!=iu2k>U3OdQXK~Sl#63&IX%30c@Q&r zrwprP@nV*TfnY3JA`qklKs1HD|I8~ z(T-eNWXLCr+Myl#eNB0AKnp4tZ#TVrM#T-;mL%I<+1yk9THbj ztxyyVB{_bpojbp?h4UPqp{Es^CkfI)9o=`th6FI>nz1grilc=Ij3o<>-(`nNUNqlA zq&CAm@Y27D(7LB-UK{z(wR8kO3h`y#uH{I%jMG(gGWXOdmn7TR5U;;uQb7t|J-9DI z+`6r zz#G1AYQM>8*#0d|1dQgGq*vl&B1=wY>8`rJu6XIvOxkgbPLeGogQj> zwvt~MhA4aVj;7ySZ0$&AmZPw4_$AOFtOC4!H{68s+gftE+ewIz7KCf4`)LxP;Scn2 zX7(SEIR<$*y+m(#Th;QOy=0Y4UTBY$0IUr$V5~CL7p*R27>|m_q=+~EWBAKq#ruPi zM1VFL?Qp~D(Yl-p#adrzD6(b~Yd@ze;dH#pT!Q?i3vR@Wj4{sde@O4=)*VnZM3|r^w&p>t}whlJS4`2RSJ6l;F?k~_Wj#9IE^9UAk7&5 z8Acq$9&fKn&xqKnJLZ&@T%5G5k44NM+k6aI?q|U7bbmfoHPEF=E#L(9@zOuYZ&dv_ zaDG^3@==Ez&~YI7fEVwBgvYf*`^acDSY7&f8fI&T^<1$BiTvl5DTo{AoK7kwq3XOR zWSYcR6btfM0Z-SogNV72G0+Gej3T`8nK6!nouByOc72`{*yxueG9!zT`R#r0*Fec3 z0-n-C(?gJJk`E6Pqp@>4-z>UKNC5d0{ad+NnXCe_0}0vZy(yyqm&wawwB6*scBK@NQhr z?}TzVt`;+`R$AHX;yyasL%u`rbC1W;yx!BjBIPagDpbAP!RS>qq|Vw06A;J7vODdUAW_h=FKuZ#Zd;5HJ6uFXzqDFzTza z!@aqQrmF=FL6?!#C>?YQnf9^pRzvHMGe;>M)wacKY2z8z*2YR zz9DxiV|qW>orY8oPJc)9xtKXb*Vn7l`(cF2^q?9zORHZ+j=!rqQY(}q^8lrr47Y0n z0))@RV*3tUex{t%M@*msQrKZ6XSN@h(=#j0R^DF9ln6(asbDrW_D6b(xqJKVIJ480wn6o7*=>Rb#|Czw6v}6zF8ih7>vG9M z`EZScf|;iWyOm57Hx_eSd3HNR;AHn$?{m*DA!J)-B#y2OtPtRv};F zGjKieq-MU;V*GC5jW=A~w*5z8ARQlA^~z)%RcU?RHG15uIsk3ScZeoJzgT-XLAWJ7 zfSg1AT|-%r!GaZE#F<^(2;Nw&Et;YDjh~97!P^GMIAV-p#@FexpIM?LzrUfXZBYhs zL>bi&lq88f{=9c-6K~PpN-Q7_0xMo3gK_8rI^3yi9-{DbFBU)n)y7Y-+l+dZ@ph-z z9umR2dGq#>aAxoA?OGi&v%X>f?s4sXSLku;6oZcxG6kzaaH`ukV%biqZ^l)&KHfUM zn%#NTix_JFuZvZzs91%wT*nigz+`I2U`C9k7cw*e(f4F5y&c&d`*r!+bl(UnpK{4D zZ$?$rYnyUlDveFRp5e~T^#XeB5wF77dhiMTw=n3Gl?&=Bi7@xPV(-#V9dqx~VpO(c zEsol7Kl9B0+w#a2qo+|%B6$jGmJm}MuO%P+Bedt*PxG?Rr{ZxPp&bUxJH_UqCd0h8 zdyc~i!WU$xVdI?-^muU;ox|BY8dF%f=eoYYLNMP7qogBjA6EC znP8pKnoW-+gqda^cteru1Rdi6(!6Px9aDfE_zB+5m+<8>m0^6zsc-01{j(_C5#W7! z$+1;761parhpdQOS#hA4Ai)k#G)s47smXJ9=q=*S6}X(VBNNcM=CCGWIH&Zt(NWR| zrNJ?Hx8b0F#1)_M47|T1f7lbxduZyQ>ePfI2_WS53-Cc)C3^8$+}qCm=ee>dof@5d zx?cR|++C{}#1-cG7yKRzb3Oo$9C$~JPqMg6UQyhx#w`oZ_e@A_kzYcMgYTlAHNDr{ z>Pz=LVFjK}G-al`g)em`cb)@D>Sa{X`&5i0<*tiQ@P+%M6~y0vDZu;-Rpmk^L>0WC ztt*(1e_8`?-EgQcSx~*kjV5|Q{PdRP?wu?H^?Bno)wR7tV3|mUiIwk*+dXKkXFTXm z&)r&leHM~bkGkC81h9|?lzPZO{nzm{03+}tQdL!U3KGvoyMYz=2$^U`M2n1OeC?CT zY9>h(vaZC6poC%R!G#ji9K5N*@-V$NQGn7doe^ydt9kmI zpXW%;S3f9W(c3a8p*4x|uP~w%#pkh}c@4U_mn#KPc27_Moy;cAD`XtJ7i9COUEAz0 zTlX6_^>-IkrDEwiUoGXkFD>(@zB50sBNgX#LV(~Dpm1OC4g*!UC$ zCSmX!oen3H_*Hkg@i6|8mWXg<6-F$+3R9?z6{$MV{?^WGr|lzct?8WP(j2gC8`9Rx z#$Vtd!%M&V1or4|mIR-6Pw99n&fh?N_r1?|+qdlP$262m2D;+=(aKw{H#UQDe?ELE zmt-ACJ(3fKyCbhp?ul+Zhn{?B%*@!|YD6rginr7s@tdQ#?)5050%l!Y;C6?8#sf># zmmTHCn;|~)+FE!`?@LW&K7Si6hZ2VOR-b@m0Cq@g zOF$%`G*#aksQjqp<2%<4&an>)Qwu6ghN#kL-!-AW3?T4_LHnnbeZ2IJ%8#a)g}>h0 zpuY?RXt@`};H>Ls=;dliO}a*1@q@9Dtjme&A&#bcSE9e(xouT)n;hWbbrQLqYo9g* zUi`!sM`LSYsTP1H0zQE!Ce5Q@X?pn%N4~SBcqzh}@72yvaj;GJ1Zq+MRgQaV{#wAJ zvRtxR2^>A#;2P=%@U?PQ|Ca&G`6Q~kEY1I)YvAp_sxBA>`vhmbym`k?ska|gPabsAbe34zED}f?q=wR3gv#&6lwhI6N(LA; zkK^&|tH5DZOJa613P#jW@5hfz40+X1n`MV?pOu?&(%!oi z^!S0I-POh5m%(yr@k82#z1AZhC}4Mu|8a?u_=NV`e4jqH7C5}FV}W#{i|2V`Gwoq7(pOA;u2yk_u#lG&<4#$v$U}jB4?$2`)Z7J z0oE|^Fr6EFdNxNRca6;2O9g=p71d%5XklFgE3LpeLrzr@kSR@zyF@R3fUBGU)m_3i zwhHnvytv0@;TrkwjaT(>ocvR>k81DTXVbXm(O(oSzZ@)Nf(yK>2KtH>LgK4Ns=J2^ zst1j({9Ehyw-t(7xbXcENUf}9{&oHv6+$0(qOtMdf(&Ts{>%(YcEOF?Vc(*vLzTR! zzd}j%4F@H!m*l9kFxI&brF-6gYDDU?wD_t?I^gxu0JXX1_|*EdmPcS4Q11*d5utXu zrsUxy(C^BlLEZTx)*1&Lx)u^I= zg0Y~T*D+5U`dUwWO$cVcxzf2+jsWF*=fa%39R(>gW?J?X;!t!r+tv>_*+{cA6qbo; z-$QVsA0AS)pT}Jz_zk$6Wnxc72-#_Gmyk5;jvoze!lx{ZUrM9LG0I_8epNdj$-A7- z&i3}n-$U*P??@Js<7^^0qAT6jM0;jyAd}TIJBJqOH|QZ|xYOUibn5!Nv2XR_wdUd^ zJ(LX)70ilVMx5SckXF@T2x}Hu64hZzCt-rQk{U>(K?Lx5uR0170U`Bu!Ks$qC0w(% zz;|11;$J7lN$3{d&za>(FIYR`6?F8eMB^?lxGTW^ z=F^6IgvBo*MduSAhybk_-;dkfiBn}FhIw#{c=^lZJhF> zArhr=aJZM8-AR~JtqSn974K!|MAbcR81&7StW8KY4XxXpGdk;CUs&F5FNS#ita#YQ z4Z0_uiTm$MXa`_pP=lwRYGK-9y@Bj!*B@{=0KO97zw`@aN#gc(2laM;dJ_i}gL+39B&L^jlF)$sLd}m?`b~@g$zHUj=t?AQWi#7E6ddVLtIW^ z+d0u`XQX_@8e?*QexHfsXxE5S#CdCDteg@RXb(b(IeQGr72g) zU#C3N>b`dPZO>~3Xi}&VW=g+gEfYjC?CwC$E^2@G8oGxx*Yb|K007)VK>u?#Ea;e; zo%N;-`e%MJKFBLqHiH3}GQgn)wE>s{rMDrt!XVtt4kduU8$}40h)Zx~odY=M^-h3mj4yA@Y;YgQOQ!AD2xZ<8A4Su51qe(W%OQ=)3 zLuB;_FA>DSEBc^e`BWt;-@+g;H7{+AWg(AKX|^_4XuXzSk>s2DC3qlgGL$r-k9uv()2+dghtVQ8DttBd)}fP&k|pBjNA`|fr#_$u%l3W@CvJKBH@2VGELJw-+C}w(DJHOb z##mEtGWO}1*(s1>c-J4CmsamLvngcyF2o1A_SKNBZ5OG4mcTkz`A9!)e@MFDZ$0sP zaptqu%$*_?&@vdogs@X7w~mISEo>-@gEtVajkXNC_M>A6vof_qLclA`qU*_*r*_g8 z29L+m@|cEY@w^4`b_~}(@V9XNH*p?5Ao;57iC;-8^>@b3io3erQ#S?`Txe2`Um1k0Y>Lf$n(3g0=^I5Q1nUB zw}d@E|Ehudf=Mqy3>{6A`tKLsrVjti$&P5u(jX4JG#2@5xfD&0vFw0^e?;zciOtr; z4QZ3Ui*j;)I5e7ZE9)e2vo9vie_wh$HRpD?`L731pJurrUedl-URLiNB9QjN; zMsq&FKyl9shcb$-D5NGnLCkzLINBI~gt}1{Sm7d>#Yz|-e7DVEddN}K0k2DV(g8jd z#x)XEtZD&oWN}%VNvr6wA9wqpY4PJ7`W)OofdyhZ5Isn=>RJ{nao6G={WUdF_%jA+ zkzs|Jwb29?n4&f!Ml+X>%knQc%-s7Xo?yK7zh?V1wD~gWy zTnwmT@{d?Nk`Fy8p*f%9F}E^z1)0>az8~R9ETZnuajR#ln_Kbs?^+D?vcU4rwe};@ zHwk>qeIj^-G&+SA`?}z547=;f2eyEl1iaS;AYGgmgy%LquM9tEhn7`%6sh1QCIoU$ zRL>Uchqpdu;8>q0!j8S+)ebu!$**CE8YUJ4DvcUDG9KWs?dNHtLj14gK3^0q{qCAa zNaBDfgvGX5EU+yhYvF9PVWF79-`AHYFXd{YAU*}S7t`-4qi})|OTPO0pH)?w3#F=X zQ-rmFp{KgMC#C1N4TcM)PB_+$3+MM&j~_ctqK;Vrfb zWglI`&M%g9ks?Iknv&5<+K14S*LW{`US=Xq@3C}1%*AETSW_=g&`erN?58+s(>{4rhqv{-Ym z^{#L^5)UWX?akb^RQI?hm}E&n@@4GQNvK*65Xxco7f&iW|FVBNLU=se{4y~6cc;4# z#2QDcyOOeDe^s&P>T8w-N)8i5&~%Y~J=_a#ju}2hf#SfG%*Q88GkVQSDiPFJU=~_8 z=wvYS|Dd3`#gMyscV5kN$_>GP5vs6*rryl;K2_g{&`Fth_Oo$4E`$im(5nTAp%Jbl zIc~VrN5^(4b~PQN&Q@gnGZOsX&_hgKEsPy|afwiw zerdktn936;CX6KQQ1s8rGRC(6x5w2sEJO%Go%}IVs07nASBTJ3B8DJ93&oU`#mk;4 z=Ps7u5YIyKB;z<^CQ7&V9yv06ND%*-ofWvvl@qg~?6yj}DZds6GF6)qD4f zE#rLC%fK50kJi9-cFRw;OVdKR#2`pd2CRaR=HYnV%b^+i#-Ng$UI<&kpfv>#+HaBT zA+G?Q12TrHz}>c<~vkS#2KT{q+u% zA4k*hU%)o(4HMXlliN5l{_&TAuulk$K<~lT{5VLUdn{gv?o%X@(7!@1Up zWjE{{@jc$SrImrbSX;9mYTNl{v}0=ngm<)CwoHjMT#xZo4h3-GzX4@9-ASLxO~M8z za-f+ns|+g3MV64S*}TDzcLjAO>sHT4C*yF&di!&ed9c~40~fPSP)F@cOy$qCS@qg8v4hjxObS|Jh-u67e|eC^P2JmUbZm#vO^paj@q& z+oQUdj0p7R;&a7_Cy4E{v}1)Z={({fB-&Rw7jwlLvv%^w3}!==+Dowi^ZmIZ?OOlj zdQ`?=6c~0@7M1v1*bc?qaQ7gvDg6ETU+APXZ>;vsz?QsxS%QY^xcQX8^Mkv9Ipn$m zbj*a%Me7-1Fm!nUa;sJ3AP46!tTY@-;z;!z-=ELyED0{NJT`CNilt!4%=DI%Mr{0z zWdj`0FGxQcR9uDE ziX{TfeTf^acRD0|&(_I|he*3FGZWu8L-2FyskM&J zWqC96#0*bQTwb|I3!VUvW|k0N4Un0_C1fX2pQGwY>u+*%6}ckx?_b52p<2Q8*s zihN&a<^TYmL@rKc3(x($XZOgEE)|L;QTn45(+mTQs`B|PC>VIbmpg`0T4YJ+c_o%O z4bM92H36>e!Le;?+7&XvgX|=LquHcuB}xE{ICQ%}x|7`PfanG8%*z{hMe%k_t*_$u zSpghqaV9K@hVF~EXKsy(;=mZjBeY#EkjfOcvTQAdh}i=OJJPJ(=Ri6@+e4vgNKW}S zIQLm7S$UXiw?(UcK0&l(IoeckS~=-{Z}$qsHs6%C#G`dg0zPc8{8|;J+(>C(u6F4l z6pOt1(JR(GmiBcJ4mzPS+tbQY@|YgbId-G1YlgB-&fD=c2G%M|0{cGWA}Vdm9^)5SgeQvKi){#o%@2is$ta zI9Bi_8}Ifbw_d7FK~`ddT=nr8&)x8-!_i+As^sL5zm1KwQ7o6+hc3-9b{ zNG!-0Bb@yM?q&K@E$h2JwYkB!QK0D>ahh!U7F^H%PxGU{5lxJ*^U|^lbWl>w{bpqK zR3$7U{n*Q@h1nz*htA~bcwmQ5;&I`fqy}aTs6a=N6<4*_u zVe6ifWUYV)xxaNw{Y=$<$%GN;mYkF95g_iZcfK=jGCbOH{x*)~WRt%Ng#X_NsWlkP zvjncQ)(2|Vd@O5UTr@wb8ZLMY7V3f=7N)IRBfKkzesO`x&cgK*2t&@|_P03`Dt($0 zI|h64!$(G^S{tfrE6`z)w=V7$x6@gsUm1L|ePqwtTO$hsenXP*&PAK8a%>15UKW-j zw{Yg=fXkKDzi~Le6Y6-Z+Sc7e6}a<0$jR{pX%WC$b|?L49VB~z%Z+>Oh?2UKU(W*b z6wN052R}{Zf(yZ-+nV+g@KqZ-$5Q^hl*LFi{a2ie6cr8W%eeA*bMzdF zjPaAf-99R-f=h1JNMZYqD3GWTe-7uncUY9+Al3iJqx@o!+_(0=qn1x&t@?$-1H?K5 znv3rJG~j+=jw3iL_R*!E2HV|GP#d`zO&RJ95d%xrO0-|1Cak{S`4F}Png|37)P)Dm zmt{J<4|IRJw?}`^V+(g0evJWpU{bUt=IHnNpt=83>ZfSgsvJ`cxIy7|QsHK%dB<)uPD@@RXARi6zWXMI$MI0e(>Gv3P zF8t_iPv`ywt`0%i+d=wv#rFbp3(-RmZQSkp5^^6I_CEl2nzx>N*vUkommWBJY2un+ zBkC{5KYJ);>JBJ@*8;*$^0DIG1nJfYwS;IAV9r7XTa9sG0LVJoO!t1PfG)K~fNnmo zWogGq$=LjTpUj4|oHVcXE^ZPAa9K!>iU067W~nU?Zo-x#9?D-`Eenvk43O8bO{a9& zz%45rD13AU3zm*A`^cbcmc<7Q!?}rW`uFV9tklf6iV^YMRfGUv?TEN_14Q>vtRHWC zVF)i_#-HU!u0KDjP8_qqr+Y5I+)Tb*_t+|htQG6R*AJ3kc_js2IH=f`$ZZtqxMf>J zPzOVS>9AqWs#mprEh6ycmZrxiqsLID<5hYGYEIy0bio%H2^Ab4I%)M%>Fu^nwng=# z62m~BPLHCaSZ9#IBdsCcwVQFaoZGg@__1a7a8=Gl5!*dul9#(8JTMb^E4rY}?`qEP z*MT{lEfJ^<-kS+V%mp`ViDM&cf9*qZhbd;fNTK{tHq2AcE@R@=Ptxd{c4zgjiG}1hew~;I8#ZBPR~C_p zd3ptuvKwNq0)Ue7vrtp}Or6-{cmGyN*xpca$@|UwGjlr%bQ+NY(MJ4khb@fq!dbr@ z#eS9_y(;rxH2eyJB%eT`Yd>kqV&Yq}Hjwc;RCEvPSY^GEl~?y%c--mor_BvFV1Rx& zT-Ml}ME=fC{G~|xVVC&wBgZn3V05#F2FXBvGl>O)bRt|vnAcqb+L>u#WnIZw42>^@ zMoE?(BLC*bcCy6o`(uzko9(+K5iq|JK@DvodXl-2nf?3vv39b`TDm;&ghR}A{o>+m zks$buYuK#ZXY+fK0&swbmTk%{UI9~rZ}=nwta;+1^+#@=517jf2#^FVf^HqrlH2g) zjl0S?n-ETGWt6~%bK3pwH=yeNb8Qm26~&W0Grh9grm1eJvAh3%uT09oxmGYStfF`8 zX#YEV%^BOm=xEN)N6OKP;`iu+PA9iC+apYcmi3YQ2ZVnGl6U*Z*?Fp{K=$eVVDxZ> z58cj0!5M)P<3@=F|I{wt7dmo@kJ`QAY>8rcNg&8+rD9b9=3742Do4^FA3&*-K1r-;3lrZKp469Djmd%BO8HH#Id-mw77<1s;vuistRI2?~e^N>Z|tK|lpWB@8M-KtO^-VNjw3LCG-8 zASyXX&I|~WbIwB$keqYQIj0#IX100X-}mjeXZP$Mo`c<0PuFyHS6AJ8pIglRG?`jJ zBS9fI0sga~_~hgud-mGG(+7*(nO3S2ZtA}Cy~p1q_u1`gLY2dQWg5@UTos02MU7m8 zJ!jdVxiC`2(##@a1nless$JPhy3ij79}|kYetG5Y{6lg-9I6v4K(&{usF>5A{gf6` zu}j+oUAS_VAh~a^YM8JsNFy`N&(r96qN#h*R>mY^yA;x9`gU#j7q4{?s~+8v4>N7Y z=#9_&cq>d6_(IRCEa4|Fj3aE@Uoag4usHCxYIYvJ5$Ju{gdSx(*;g4cEYSu}oPnG} z^8GB3{vo`)yBzE5Z{P*y=f4bf$xRh_-6SXJUr>g=#DF(2RV7O%QQdDuz-xY`)tLtc zoqWKvImDwelmhZPn>s> zaReeL977J(PM@%nEkc`Tpejaa`-?83u2%-5k2|{Ai7p#q>3SzSiDteknxqjt;&|;G zLlF92jk4D?1?*!rZ8g7Yf5juWav_$aPOnmD?HWwbH;+^nDL%QJmBu$&Lz%hizuq1i z^{sBbwf`tRG#*d+Fxi7R!qF0Z;m9r?;r`MnA)%?!eZK`%lOp$0C|Y;c$W19dFkn`+M}w@>YT z>J{?ElDzexVmAf5?S6@9R!2pymKS?yi%0c?NfR= zh90q09T6^c8N0_*nwD^a#Xl{A9Ea=~YYT?}2b z4=|i`QQ$t+{&PUP>idLlnCq4=I_30lUBaufCl5lHZ$iM>;(8+l7GuKBAkE|RhZ4|A zp!sMx)p&YS)o5n*?m^etalf)BP#S3IN)7ovasU_=y06>MKM zZt-KsOniEvmB90DWjiyAH@2a+ceL5Ocy8T%GH=@sM3jsm(zm&E9Lj?2X7FVkF!D3ioL)0<3Cli9 zJgSmdrV29m9AnF(-}Vq{n8;#tn9owJaZuc3=vM5z>HCC->oAiZry}jQt0_Ci*Y4%w; zcVV!d-gBpgP5YtdBJEP|@kRMZ2CKx2d~{Lr)$6x+O`MMO;skMcN~BetLBnUOooY0m z8RjN+dhD_7u=?ulMNcDCv-SqimX3j^W~&EPc+^Y%w1LWINh9B@M`~NVo3ylv&DFm2gvww6E^fj`*^77 zXCys4cv9n89)&u+@Wvy8^y(J3OAsoAo+0kXGlu$kF;CbtN(``+K4nHpI5#UfB=sUnf376}gIMN^_6#f9VXn1}A%c&?;9w_mo1MEl6j+Z%GB{^uA@rkqQMS^w+m1ztyF&<{@7#7pH-V; ztfdW=adl+@FN_YSrYk3Gs1jIMqoXJbk#x=g8n8CSqKvuoDB*+YPqM?uh|dP@DUlUB zhbfbw2^c*^{N&lkJYW0CmPTb30H8VcIt%nNg8>2M?IXEG-uRW0K|SsLizk?Ee$`DW z=;1m!U=Nf|HkOdZn66;v#mZBzyOM!&Uri6`e7nhNt;f(I_|QY1Lpv zWch)?erjaS)h$qMs>^@zkv6ZQeS~V##L9u}!tC>Hz=TN0R-iVsI!P39|8Kyo0TQve z!yb=OwUTX)Y5Tg<@%Ri|t9X~S;R?X2+gY%1F4-w@k}o7SN1rVbnY>luW^|L6s%RzR zmZd4b2fPlN$q;d&bxtB(I`di8qu$&H2iOhE)$_wki!-k>f%xhweSE}jH& zkoewrz2X@5>@K~1!vWvlIV12Zp#9>>j>22*FJ=>5svo&z>7~F0nwQ`cDZLBimRp${-v2Z#9k@-vX8EP*MX}tr zE;-Omr07yR;7)9?$AKuV7d><}``X$9J?SCjLfq@t&IGO5NXhm*p=xxv60f+p3e&^Z zosqpeC#nMnHOeYFulP2u90P1Ne9QaS3U1~=bglwu>t@7+&PN2@H;BABWS$J5a<3te z!C{t~m$mlAJg}@Dc!&6e!keKpo=YWSD640m`3%0c@jDPyf+eMmz>8G00>5KcM_ZX#p z%X@oo;a;$xXkas>u=PQTHyL=w^%1*WJXcH+G5?&j&bu&RHC=+5?1`y@_lnNHi7LJF z>&i^__2cd%9V!_*Pf{CXQ44N=t6`V$#(89rIC*Uc>vPg>zm6J2%K&cl-=OxOV4V%4ArRhXin<5?!I0oMAk zydaRT4=dOVUo3>S;m^=#{nyVq_25}oUg|iKi*IdZLF?@9k=QSe#tAnR@;{|OFEtHigXb#Xl<|Ld~%;kjLDZTgp@|RU}h>?>{o9aN?n+(m?80@&hr~&qbiGIMTdN% zEvcV7F-uFtDau%BXHF}7LoU3JJ|S>R0VxOC)B4SQoJNf5hv zcsRJITd4n`t_Z2!gZrN9@Yh=N^iJqZJvOot#kI}bHkj- zI+j3P!_ntQo~B1dbpwLWV*|T?{~!Mi0{Jfg0?B`47kP+zyxuQsJ5j75HhrXGI?zS~ zb^kYP>aRGdbo7L=`{gC?Q1!Rbu+kMsR1iqh01xEd27awte5#W%Ba#`C*BuH=?4;`! zyWRDxElq}MlfdC&YsTsub=dQvY{)P`oQ@$bVoA&268;G3#&7-FxPjaqKS&KI9Kkt) za|Sb%{E)W)jTNv^kNWvI?$rO;+{5dcB~!R(1Eu)&r}Z?@+sBp5G|8>6SESAJ$-AT;$u?{~?W0rAZgLk`%fGcE>9&z;n&HWj+O_|- z(H{B>v%x*e-gUrh=KuR7$7{9z&nmf|UYGe~?|6F;OpE!6RaoSSb5SeYu_2Jm?iYTO z&>Z#puqH=P40H{^YcIA9aIN_PPId|Q5$|9io`oklc)6HH&HB5O+k!kyDY?8M@W*4n zL0k01j{`9R&%$}#6{9GVH{G8YlLh*~Z$34FbQ`y?_0J`kV7=4bb0i@BDrQbYG@3`H zp6py;CB7U&&QawVP%v%rzUInFK`M3i!*f?Ql8@50%?lcg0%^AoA(Ts&HYFtr_?nwb zShrh64u=oBM?aMolIyV_VPJ&qFv2^IX*M`KG>A1vtLaxsHLj@c%RU}~IZ{+O0+=sA zJBLdV^rf!)Fu`v{^uqkuih$Q)e&rI*>x2c|D!fGW{z=ZziM94J%YVKVxGsculClpn zFn`Sot`}=CQGd)eYe^2bF&~`beodlc5R&4`{WC3i#A40DDr>9QGt$nnt3dDoDzO07 zPX;^VdDp2Q(ta95v7EXr{K z_n*AovV(_rou?fQT?hkjTp!KO#$#xaOc2Aw+AA(nhx9EEsj(7(ax>=(Y?+OerefLi zu9yWP7b)>>4*U&Iy7>=AN=@;W&d;;h-rLAqp_@wvX|lM`Uw|Ne1(CH<`)lSHV}Bv9 zISgcwuX|!wfQS78p?4klc^Xt0Bc!>AIppp-_sQsLM)Dgj-bXOavua~+FXOEi+ALW2 zxceWPlO==hI{WLROO1Dtd20U?z_W^25rOW86aT#pypn`d{1D1l$)`o%CjvJ}Mmcrj zUHm1nJ5`a-aNa|&ADvCJYGuOGI!mK9z8{o1jU%=kPeaI9dn?wAG4;1%7tSX@KNf{A zo4Mu^W@F8>;_n+*38DKAXHO8YFWKq8o~gOVfMOPt=nD|d!`$-hY5M`m$S`u=0c(-L zr1(`#MiqToPj^b9+E!7@tfNVl{9p>~bFY)WPv_k3l?YCnYYqYwNuwR60y~)>ai^fv zWpQg>ep&#hz9u+?$#68A&#w=P>*psJ?}j|<#M6YZof87F9^YX5{ToH1eDi_;=|Nr4 zUOFlUCMB-?{(#d6pFo@8LVQLjT~H)UwSO>yiF90Y14wT{Wh+IR1#zbZsEFmB47mU| zlKYKKC1grMQ?9000AkGa3zu-{_Cmq-U=^^ zV0O~C^zhuVr57QOy{+7EQQbwy?PkV`*wi!=q87n#c+-BTM^oz!CcP@x~N}vty4^mO_gXp=N73Qtg;@uE7J9o2$Lu|p_JtL=tzaQ{2 zE$%;$C<`2sF!<{#y>S<7HW_ z(aHRHU;KoeTF7dAvjJSfEe7t_O)36$>P8g$&E9>cDM6M(0;<(SI!+ygIKe=+)F^{l zvjwe6RtI0U=I!!Xmmo8QQ{0ENIvBNRT=V!x zfBLNz#)AGQ-)(=%ZBc>C1YFg=@mmy+f@Mc#kG2-gnr)$VIF1$L2SPg{Q&=C_7M11I zDfcBRDL@6+{Od#f1#3){P&y=jFXUxClp3qe+~n+>Q~ZOKc6UE~=HYm?s=nWE#3?)p zS)^oKT1(`O4ZaEkH=rKe*HPZ!AeG3L3ZT&-&?NbFs~u&~Q>bZm09V zP$0$kh6TAi0Prt(v~MER+x}WgAq*-WHp^S#z0>A?i53x041Zv1$&i>xpQmFtPLD$)7&G9JBQ=PxuT8FNP{>?g65GY39VwmI`= zuf#&R@D_4oMfsSBIvFzyUgPvjyM*-Q6jS$MQ7A+X|J|qUTNwB&4{CUyD*(gq#!|P< zh%qx})ADWR6XX5qU9Ux!W(EBGPkG**Yz!SszqEh<6P+yp`=+)Dd;k6;_@S#ZF==x1 zv=rRxcM|r(juDOA2lFtS$)*AnQx_x^qmQ?9j#YWbFT-`rzig|0b zf3nA%WALe)uiZ@P74T~8UG`$gG|W}r;!OkbiU+}fTsZv+z0NlB5-{ePU#$kcO}cN0ati9JE?dlOv%cfF`FgTwFRU0hvN^q*-S{4N6%-S2p; zP4xU_*thCBCxq2<3Be4vexmQ3VqwR^588(K9gjh0BFE zk0nsHO|>pNWq2vFx4`lUyin~{ibWQpCt(e(mNit3b~Wv!Rfk~Iv2o>K0JPe0wgc`z z#|Rsgyo#x;Fb?ysS(Wo`?r4kJ=itJ+Wt^U(Czjg4#qho*4=k7|NSH^0Ao<8LY8Y0% z*Tv_aEbjcDlE24Sb5{m`ta=o`j~`)gTcEh63h>lf_8)0Ptu>X5RixaO_#)DiyhrRg zpk$u6GT2@rIFE<#sG0Q4M8Y>3;e32FwlX{ByTVWT zV|;$+F;u+zsHnpX$<`az9v2`?Cmb3|8`zlO6`D2CwgfNrb4aYZMRn(t0^P;1*Q=CS z;ByBO?Jo)ftT%uM<)Mrd2OCu39iQ^EpJ8v_nj!az|LYKPv)jD2x8)Z(y2_Km^YBCJ zYG1h^00O2jaSL{pt~#yet*Tn%L`=Ljguv~4JHBs-KOB8_LdKQB%&=43$a@+`Q~*`# z^>3w36vAJAZ7m2dW{gGqi0APjh*vG=+zq}8wNU?aRB(#o50EV$iA|+h9_OqaJ7*@s z&9%%^>HT$X3HgXa@xpb?|2G!;|9~r(VZ))Ky3)-_zUgVpn}(w0TAI`j2iw!|xG|!# zL5Vs^*8mKK$BBP)4kZDFyPRIbsG~Zl^x<4vipTrB%f0JD4H)%xcT=3O;?~TQ-}fq6 zZK;mEQv{Jujjuj2G_J1!&&qIShu*FmE2adVRZD;8%m>>*k>4$c1B&i_njF54bRub_ z28BQ(_)N&>E^T6kK|!>aN_~!=BYij<7a$$7co>Vl1ZxjW_Z)G$c6{N<;k$w6tG-q_ z5!4crG8U!#oYTVOFC6Do)U6KcTd zs_;(QXe|u{e_nwq5yW@Fo)hX(hknjc57`UaK__l18h~%BjqA{=JvC$8V(pH4k!Ai~ z8fJFe)}jRp2S>>!YG7hS?K}t>Gxf%EPY9;C-%TSWg4e%_SpN31x=G{DsWcDa-Gc*} z2_=f|6fF5>-U7ZQ#O2Ij5R1^q+MN)fFk7V~Z(*qTca)_C z5_#va?hGNIYn)5JBzDu#*v)uuDk@F-&v>%Xf8n@53`)7&?3*aIos8Tan6oaa#15ZV z_a>(2Iy^x*1bA1pU1G}|RW6hJW%zjz3yunL72>OS(K4QX_=4Yddi7;R4#0>7MS&o! zye7r!e(MHk&N~@gaPe0W&JQFo>oM&wzQN-M7kqLkD?=X;ve(>SsAf)id+2~nE+DWQr-O$BPOL-qxgl?oe_bu?yKsxd-liG- z+s`f1zd=}91#y?e+Lq9#76)g0^k29Q^F^+FbYv;8U3-;7-beMYhTL*=`8SUm9iheA zXlD-j3r9zmUoYkL3_KqnkeM^HR^rH(-fC9#xV*vJO3cdf6u1S}-(}Ael#cfs$IaRw zv(pT}!R_YR&@5H>w+(J^uMOVs-ymk%>Mn;Iw{p9vD~zk|Ix@~kT~p0Dur3B=2I{0o8HO!v3|HbGX2&yr+pdJfZVhG(2?u0;;KwK~3W&yLM z7oOG=0O&zH)FFesPx8ln<#)ULN@>rqHuH%88*PvKA8330HWb(6WgcB%SP}3MBKcr5 zq=J8MPv`Oa=RN&+Onbmeh|WpB+XQ6%62|W%D(O+d0F?MjX*VWZk0E|=c6S(r{F&Fk z>aNaS+yOJd*(I6VP=(6n>Eg@~S0s}xe1v^qaZV*3!#Jb=;KNL|<9*N=C^bS-+Q3Ol z0*<3AKcMf8eTHpThQhm-2KN`k-v+k2zBR)*P{iy&2!Zj>*}6iQw$UP&E-g|F3r~LN zVn$ATHK7Q`j&ZAMJtVa=>kbduwmSPcqNEq! zMg)oSgB#Om<({eXTcJB=bbsb?eV+T~yrN3H_sH|cB~!ql&}?M#AMybNK_GgwgABL> z*~5}oVOU3uIJx1-zbuHQRlUVbE(1N|`8w8^2p@KJ3|VV|qlv;>ZGuMIX~z5}Kh8GM zlaSe|7Df2u#q(i|JlKkGGx%RizVdM#Wpur}UdZe}t!vCUQ}x@Es~j7PZnw3`!z&Fh z;V5>sRnzu5*x2L0YF|jDBsgPp@xWa#v&+9qe5eJ8bnf z-Hllugv`)Ge1|Uf(gj$42=jh{Rk}YL_+<0aGlNFh{gbRf0U6Lx;rP_I$;##Zm=Vwr zG2C02WKKu=4jbFqIyXgmMF%&nnE)@P{A$?!pk!5Rh%9q=v=efxwu#Z@{q13${SEo) zyaiQPbB><0zeSe2)(LKQt1lF3!lTH_wjT`gWH}#LVbEH{wGg zJ_Gy__K=mu=G}}%haD+mHw_$_ZyJ~WcbCk0Lzs3OvcA#n93*ZN@V0)eEG2scp5RBx zoJiWjdNH5P_n#*QB+R1NGazFN;An@&V%=$nNM+%^HCyyWRK!28B#(Wl zAHm=KJitR(nMR<4L#gSska+SFA;sZSK9pXT=|W~FcjAi>p;5CxfZ{UT=r~ein*^Zp zwoorU(O+fF!!sU7%221>#TPwb0;p~;$zyzm_HA{WGcKUnT)Nn}pKt)cQ~BK=o~1Aq z6&*Q4ut>LXKfkB6w%+2;itl*{12T6w6qNRFro2|O3hTx06G}(74#96GQWMQ{JGRBr zJpB}fY>ToVs%KpO$RVW z_?%#9Q${P5%+TzQjhT-wio|_G{5l@+baY}FR*>Cmj@z*rj4b#Ny;3CF1rPv$g3NQx z-$|N>?-Dnzg8ebiJO45-+vFG%TMAX&pQJqYK@J5KLuVSaMQtrueq$8hQsngZ(x8;W zui^t3YZk%hv{D}%9W1mhd=2Q!E@Hfl!AU2bm2Gy6(ft59zNns`3c=hzuL*L!0#I$` zzv#|`IGhNd2ZE|#e&6TLX|y)vE5sA1J!f#eImqNDM-{~PwU```MO{!}$65`J(AAju9|W@B*4-<& zMvWiC($5?S-Y7KOM*K>+{d%_96k_zfcMsv4f>?>jK?9z>2z{jVtT6$q5wD39>=xTV z#;OKz4V>P_z_l4Mxrc~XwV!b{SZw2wB;DRq6jTETrN0MKY@gD+<5_M0Iv=LaB=>p; zAX9ed7ldQClWcS%3so(C?Hqc>D(mi*>Qkgn;^92E}c zhW~kjclbnv;=|_dBwcdIKzMcTqDgsh^qSP^$EeKnDFodl9yMj9^Sz+BlX+TlvSeo9 z05Wg#2%>L^GFj6IKM{`2M`Lz_Sly_!u2L@zTdKf|e~0w;R8f2ygfpHLHrwl84< z{MlpLG=igLEHenUubnS3MkwDJMxA@A(y4p+C0rI#2&-1Qe|{l}o|i+%->cY?KIZS8 zAC!N-v>Zamu>5Tv!J<$sM<7z|5oC(M?W%H2e3Yw+D>x@KU36Q}kYyLFkHIytE5v%U zt&s(t@duU2@xHDSx;_dvY2UWwa-fR0MYwgqkGsY${eiZ-EPxySzmu^kk9dks2pZUZ+i9*V$YYOh=H z)I&9{UYAy+b0;=UR3{R*j%^12XnC-t69p$E=x< z*&!`MrR!dwm;*-`qW;HdbuJwh!l5(M?zW0Ml z>$T683(cm~*TVN_bm3XHcrp6$%5BO!et0bG4%yBOk5D4n_`XW+IXF2`F*B+p*{qMq z{gHrOjYEA637LJ)4!0kQs3#r&eBwoS?|n0NrooPK>P40;Eb;|W$_VbVh>f&+WpsT{ zqirFw-MNMGH@+2pcfx5$&Wo-1iDeCtX(m#wpvAm>Wa;t(1UAC+XK5$r0EjMkzV=0#fitFFsiAa&jQiFf0#@-`y z=sytpJmf@y22*M8pLg$-DC8kX*)HogKBV{dZ?!Gdy2TN}EX4YMy z_!x^ASkmQ4S=L{}3#@nOv)SxH{O*GdxI4>$&uAA4BW^hjuVx(5vbd;Ss?S&0n7H_C zqMWDGcG+m72c&tBatXPrS~?o2$s7Iog;}=;w`l#no#_X$+&t0zWiYXC6U6lRvpVg+ z8_y8r+r2NVYJ2#=-B1d`M9XgFU=~_;u9ndX;)28%|MHcY;voCu#u3YdxQZ@Z&Z!|g ztt0#~8q`^PWAVZ0d4gB(ITWK}h!lptmT*1SM`t46g-~^jGF*TB-tR-Y1%9*3kvxF) zfiYpXHtmen`zY0i8l@-lv5TWudf>4u&e{f_K7GAV6F~}QD({abyixrXZX1=Ij_Gm< zRj7|rIP5+%KUO#F;Ss^AF{=en^&b1F)a%Ym zfqe2eTR(hA6iSAB);@1qUuOfMo~n>S{hJq;fznj<9tlCnR0#KS_x%{MP;aWnY+QTh z@sPwVLQBR=P(s`r@r}hsjB%=26TExxr(yl2;T8GG!Yv3rh7^8@R6Xko&jOi2l^N3Y zg;aju*ZTpAdS3-41Qti{rUitwU^9MqKc`O`*=q*l-ulf8f3Lvb_rtt*1sb;;y{v)D zsD~b&&`a1*Ji|BzV*Br%GonFQaS8AIhw`DtOrQ6Q?`*}=VdTJ{7n2g^TNFsTR6z0S zPXaF;d2WZ`n<>#i*Wy>EG=gE+M_we!m$LG4SE5p~PES>;@lV80QAslQr(xE-NL992 zRkqY%j*&q!1EeaT%jWxoL!otSfz^xc(ep5?weL-hC>g>-BOg4O5z)s#;D+7GKbIsZ zo^wb~)>>Ubh=y>Oay++ArmiMH$~;yulJb0BzDK~s{VF$u`dKtyp&=j5;pr%Mp?Xj0 zZyVu|)rU>eq_;3J_3-ObLNDKjI6Axl(?xEn?Xy&W)q$%!mohGe9JG~H;`l`i2F4g4 z37m~P^`12sWQpgq3iZ?eJ!9v)NW157dn+VNg7Xvh12byd9=B)9)ii9(Sxq?pbJyGH z8{wO?LOQX*yu}K?Lm!SV=Ft%P&1 zPJu`fg;O)t)7T9q+q}um@sHP<>#_qal;YG+?@wo(;JbQzR5a{PNUG5Y^4aX&Q-rd9 z??`BzB?YjEE0u?0Tevs*vlCk@I9T4nR`;i0&T`~v4tW!|cG$Zw-K_V`%^ZFb!g@ld ztJY@EFq=0nQCw}fCQ_fg&!qm`R|l3<6d&6@8uNrM?q3r9mT^quRRGNX<_!qNUj<0m z$ycAo6&N_&Wd;rgm)QgNQhzN-7F!oX)*taIRl`8Gzs|K~9{cA|tQ|}=K?0u6s&p#O zA}ECw4|TT()W)9I<+ox zX_L4VBIFi}>X+LFDGTgL?7M$!=QQKKFd(W6=rMBLPTvj_l>5NME@nW$r9%Q+wIF&6 z__Zq0t2pwmruKn|gt&4jxUKpscckho+BDH17ZY?7&{UI9_fY)>m#9mN7A{KUHf;L+|Ysb za9O0lY&v(qT|h{S>kW4Q-2U*=l1q2iV&(&dYUMS65N1n+{;{d1M*`f=YwBI&wk)=) z-938+#Yt?u79aWzdDT9-Bt-z29gqCXc#Vg|F7*b|E1+T@nAag~`)aibYR{~pnrTc5 zd5Rb8H-R16n@hXt703u3Kw5`a0r#FT-*e+TFD_R{?XL)=mzh}M^%|j& z!$(@u_2Iaov>VN8|)w4>b=@-$wB5Wkn2Veg5)|Kl2` znpku1zt8NdsVVmUQTYY(fch=7!f;KxyK}O!Zl9Fm!Zab1iobW5`QF*_4f5ft*JADi zYUxRnVd)%7P1B;TYBRMUX{ogjnrfO7_&z$G0-NA!@UGw~qh_x->j#OXs-eU8u5|6} zzg|mbgmHxmKTCWYWa%oq7Km0;2><&>>r)(W;@bK$aFe6XqHpl8tL;qlw>B7v)EDUyG3q;AbSAE0$os zwh6qIzj{KRAdDaHK;XfLZkn}ica336OS;K-)9a!B^!2~lwW(GXnL`KByUa| z*6Y&}Ys?DCPR&>vV~GNLwGN4{Y5o~HReERy4bnhMT~WL&{1WAOV-{7J6mtgWT?m{+ z_#QT)ULAG%K+hMR0>kv&@dCQG?Ija=0;zz+gSKc1R!NHFvxQ6BXy1bAiGh3dtK>GT zfF^WmM#1?0!X@>}K`aq~K2H2iPLM71$-p5{7PdVSMYq4aT{}aVSzigJG}7&t>FewL z={+exkSCvgabMEX`Lhd-kYN%{9LRj^_p=BAVkTCI2*O&wq5{}l^s!C3C@8%jPpQKS zfhC!qP=+q`kX#l(MQ>nX4g32qug8f+2(IZQHokqUOth0!qu(Ub6vM}VjcV44aq{86)^!CgrSeXfV<8QE!D-CK3Eu>W6XY zDn*%oCvo&t-``i}c#t+BznQ zL6Ms7BWq78=}X3r?r{C$7s2hk?#qfS5h4%TGPH?-G%z1$@`Kc6%+#{jG!fTI3%gS$ z1!sR0Xg1aYb3<7Ga#q4t!BIZ5JL|FRzBEMA9V7mh0hl9rKVX!rB@P;y>~YsIE)R(u zfO}hka!a~H0Y4-I{^>kx8!l?FL_uoqJ6esne%whmI(xGYv{X~^MZRnKxz{VF@TFQT zn<#+_B8szb%6Qz}zP_P<^~qhhC3f{YD*22vgEN#Q#*g(G0V6+KXYz{;(s8RajxU=i?4UM(l&%CNJhCs;i!!*@;fz#~(24y;pm=GtZaSy~o-` z>A_y+hMjPAus;-r@b+WY0gm;eM?KG^1?GrL0({rzDJ^ z6nf^O_k+v|F6soScoQijUMI)L8&mT1ZM=9H;F*YhghDE57(Vj>!`e^PGnAGNz>Ukr zU$)!A-m%Y-NhW}lz(_J5&>&`m12;p0^z4+{ZLM@ZgI2p9gm?&NT^x=a-1+ta03cpLkWj9{663AN- zzWSB`=zvHN0SaL7qle+Dm4~YM2fsZ^%V2JAXg#JD=7@l?y~Qn+!&q35=aY-UqhPJW zJKwSaV0-lBif7qf7J0fAKJPX3fV5a_@>zqC73OSza67eR3cIIu$II*3sZF(@H=Do+ z?%Nhh@fw~65qkOiiHS2d5Z4_t2oH_lv!H@F`j){i(5?k+bU+wr?+oi&B6nRXYTc1n z#=-q$At8@-#c#r2a_S6kQfRR4yt^Tv{|j8Do^%VPsBxrQvNviya&bP8}_7V7<<|bB?fX~dnG&X z`ijNZ;(E)Ev1vvTM+aqbkou?z)R&C&E7MhbA;o=X^^}|Ss8+G(pG&!O-|nI^4SgXs zRt~EZxgF1Ak`OpINzxXNi`*6a7S+GrZ5GZi8>@GB7*i@oo4e;QC}DzvxU+Q{09t># z94|wy>{EcpE{?W)F7toTF010-_P#X&l9Lf|`d&cexO1SsVF*LFtz+=Yy1<%2WUBrw|IrN>QI5GgS>l4dd z6|a1M$N^d~u#u?UvQew}&8nOWnht((BOXg83Z3vg+FB?U#XRDS7vN<+eJTHW#F+J) zl?0)yvaI}8Fj8UGfF9~*y~ZjPQaSqPqR;>bP9k5gM_efGo4VFDih4;K3X5+;>6tao za8SbqeN*pdJElf(R{6HNuCxSgnD}RofpV!XokhO;tZhxgC^=;>m)w@;b_i2|FzD?2 z#%WpgkZ$vGZOLglUFF2ydk3@;ePUpIn;6t^%qsnMc3hnZer6830?%E4UGHP(uTsC- z$q>b0CAL!g929auazwALc7gSs+wV>se0S5RdEF z!6(JcUhETfRzeVPX4(F`EiwU{yjRY@y$nt-^}pyE+Rh=Dq~d zrn-k)vr%Q(y4{egG?oo7J!?#EssykQ0B3wJ`%AkhXghT#&p&8A=;gzMI+XdA`?IP) zNCYr|=brd6)rcQ zBG@JGWfMDnIHN3e{u%&kA00g33YjpG_*(z?;5oRJRid%16&cI^V~=`~5&@2fVn=FR z+aLKX>=(KU)-To;K@z64@+!(go8=B&mmzXAH0SQqc>MDXjYkcm=g>}Q?K#=_{XV4Q z&g>FiadtiJZ@|Teoxj5g3Ee`UkMp)g|BTN zv1I!6`IAClw~t1T8MA2^G!d~xpk~#5(ItKy019g2)$B?p7Jg(wcPeSrj;(;g_{2Km z9T)DH>=v??omac^oMora+>>7$T0KO_#5?yXNM9g?;}Z#tQexb6_pRxIh5N$^0RFRc z9dm?_sfC)XDE^<*=^Que?>UoBP20iyo&gO5J4rn7w9*(z`m{ThsTx_-_||nG^-#az z<$bBFWOpXU_I^kyZ(Kxu?pKoJS?S<`OLYpy~*9}OJ|>|tDVmtwO68pSM5&-#P&b>{VBKoEVVbBI}ZR~RROMi97Bfv z>0NzX&RcJP*`Phe43i$K{}vWxC0tZ$ntbV}BoaLg{u8iG_r;Jr-!=36-P#>*ji<8< z>Y=fwkfWi$sW;`Emda;Qdzm}-3VVl7E-ZwK4-qB)vzlxzh54ON3f?AKXBxPl#(M>l z%+9;L2VI(N#SnoZXFm@oS_Fh0ku^P2Ucyx*KRF?vXrT*tTgHN?P6qdh01YW|qY-#M zak-F0Dkm^<@bL%sO|90&54GTeWDwBxySlob))j$EF0Qt`RXqGO;T^RQ7cYoI1juU- zJbL^=;tNXT25{?fw3$w4>GxRdx~XC|>gNuVWrDWDUXm|nQkIie9+{J2SfsV8!KkU;vezStbQ=zIHhyWsQJ z+3Drwc^Ne|?glj!K^kaTQ65LhM(C*q4|zB3S$pZ~t+mhD5%GvNtOM|+5In$u6Qblji`Z-1RhS#T ztl)}2RxwVKlr3hl80@YURw1Hik&WLkKnEWMJfq*gnu(OHCy{$m>46}zQ1OD}=+9ub z#8!R1x>(`LZIrkrk>1?j;%ERM`!*Kvd2RH1C7K_e;K^zH*mEvG?U##}fwtD#t-UPS z5WC$~65sAR3t_~%SiyXqc6pP*+7GNh$r!@EOppNiuK2p@$ve3z_H#79A)XF+qt4!z z4=NIfVXpmx2cOPF@0~PWsX_0eYOj3Sk#fEs;f*Bl&@UmWVv{+qkl9i9zErFwLQVKhNNf0#fzyad@|-LFYkl_1bObS+M#M zCbF?lLE;=p?Ya+0O8HkiFtXTZNM;C@10_(%11JMGY8;6>OR8 zZwIl)?QZtG^rf^N-R8%?zdXP^tNhJuCfmR{-{wCBTC~5CFsZNDxP-b+&!AHc%nR z)wP$+1a{nWM8|$(*>T=ovJWk8f^(0`b2jd%HTq{qhWkWkgzX3+g*}rr7!_B%iT3e6W;rLEhE#+ff`%;O7{I8&K zGokdI%odvKasd;+LP8=dQmh)3)koLR;4Jak_ul_S)>p?x@x<@%0n())h)5_UQX(MD zp(u#7phzP~OGxJ(Dvh*+Ac7)YB3%b6T}L+@-E|ysz;X9mKA&&?zJJ{7c4ua1XJ>XN z-t)Ylr^2lMOy?s0#viSx386z0=G!|eR+&t?E;Z+qGcjF?LOFBvpc&Lks^UMR7G21j z+TfZs{U#tK637u|*zTo=yG?|8BS2qgLKeuC72xi#(hAyV7-@^)w6w6iMcF&B6#N9E zkMc#zyC-f1)oa+ch0t6xZ)MetOMts3bx_7I%_^)%r3$D2Mp}{$=y&W900PauuG%}D zL$oM3{@JuoF}S;lktNfSNC$BMoJn+j1#0AUZkTaSA`hy!!dKG=(E`(X5NSS{poJPb4)!ZI?VpbnDOl>_^4f?i@f3=R zdE~3G+lroeXBk*F^N3u)_eP>Aaepj{u5L|AKwA!W`+fd(eEfNIVkr@B>RqtDAuKMIvK zxmf_Y=i6U%nR@QTP&Rw+hVU9&XOzJ#O8q{406UtjN>p)yT^-VkL%d?=gfg#I*BBfy zu4|k!fG)<}5c3tI-GyQv0o|{g_u)_c*TnNA?zAEawM4p8BG$PhBtzj|vwi}5ql1Y` zi1W9Sv>ehA)wv%TmYKW!Sp7y*9-7kB5U-K0etKu$m+EyO(VdJH&(35fo1R+`fqOPs zVwGf8T+q6?ULNF7!Gd!WVf>(V9PRvACAzV_l|x5GCJ1g~jO?UC?DgNoU3Sdp2=v^G ziAEYf=w^?y-wjBN{O6E{qHw7qqxOB0yf1If$Ao{vJXUAsm&Ek@Eh5N(;zd^8D?<_{ zpe{r?%jU{ZEzQ)9YKX$fOu4)R1TcS=>`}L=ZhdCM8iKk=wFWKckA&Z`fp(GTefHpO zQS(BsGUr)0v&_73yZ0F$S+Y)~NH93XIeTR6J|XnalnX`r`lL)RGiX|;)r725xN9&2 z-*d%Zp|zlsg=hZtR>eE)GABJ-wTTH6yoh-*6I~MO^91yqES3`VOWB<90Z|KxPb7eM z7RC_F0vi&beikHN5weD{@?t&J+2!`$+?hzysO-^Qdw{GqSc$b7OuA|qm`(;X-VU2*x`l)=(r2SQx zscX|mL|I9Hj9~AZ$ibc}0Puyc^ZrJxjeeuyjd>z9SnSBHFo|W!5i$%3cJ5oO82H3p zdP;ulSS^398zG#7#NZyqwsvd_bK|T(DkcnryB%vX{t-1L5vg#tk*Z56LXfI18w+O= zxTGl&Fbmm@T*qwGF~#zjRHd06Ka@qdb}CW;xUzY*GG*1?FZ7`jzd_la?UmKXJ{Vy> z(kH+iNF8Mn9Dn_g{l*#%NVMjOL6VMOM%B7`fS>qg3ef-s!I$qrx~uIKaed&{SInA%;563pSswtS$)7l08lrk1YD<*Et%^sv6$fQ zmeR<=XPjV!x&-gV_1ud~628_sH!}l@=2Cv`X`cj-$Sp2*_sK3MfD4O@UfQhv>^s?| zN}dfon+kD1U-9HzfB*(*Z7~jArt@o|-CLJ`*$0yn(XoH$QdTVYr|kMpu8!mt#Yp+> zUH$EhCA_-VJ5icH5V+c@8J&rFvy^WT6Rr7-@GqVA~@s6;jGrDRB^E^jA)XS1gkyjj(w2h#c)3 zObYT^OHe@-7oSOdotPR9L^AdcYf2CS4K;jMEI6Elg2n%4Z%PhWsyI-y9mnr{w$!IY zJ528078GpRY04Wh4xxI6UWf@nre}=*w4W0DaHWjUQAP%Ef|k3Ina=e;tC&tBUP_);q&Tjb$s=GyK75)my&m9I20` zCKj=k+jAo8MbBHd795iEUOURxEbrM37r0Yho@gBt*0Ga=c|VfPd>c{>IvTBmukKD= zn)W!Y2C*Y3RQY$>Q(FY~mDpwAg#zeB1-_*-9_$&YDRu=mXpbWq9ee#?^Xg?%e+XbK zf25~BmF>W#K0tN12Zv_N&%(i-XTSrWo2I;1vZEShQ4zTVj17xMAX+tPS^u>Avc7uy{16RB5U;M=yugcWC= zy2%oL*lY{>^Tuwq{(9|UzO007x8wy!J?gci{zN{=H0(dZF`_Y z-QbvMsMfnH3YUObD^bFR=nzVzu~~V3T>lAS!Pnxh+`C-;-j{l&JSHO?QI(ixxH z<0u1LOi>Kocj$`e{<=^}b5y!rF*!#ei&d%XOQx=^F>QzTS5_)*!-cD&mXbfF$>0|i zz}9{6QqoMW!Muh^sF{7jaIZpw(PMbFfsG3u)X{hi>aaV1=TY~v2l?g-RaD3$C#K_j z@#?UwrYGJ^w&cLLnEuB>bE22e>_3_DmOg&MT+n7i0bR0|$5D-t0B=mTRCqLWasCm= zMfBd@!&(Daq3n(=u4dQ*hUVe{F(cnhvmeY_VUDWL)IJ0fB|gX7jdqf8KaoQiTP1P8 za@iFw4ga}azpAFq1eD`)(i?8l?+fi~VK5$hA|-r)`Klnt?QEiQ+)pRi7h}LXCC%m_ zmH(}r*J|kypHZKm^QBtC!72&Ra79vNV`tll0pJwZoV+6&RqMX;IM9%b6eMGjdzzd; z=eDEuBrM}#oo<~qny5JpA@;-(^|R8zJMah<@{n)no7$^3Vj$fg5?bo!XiJ#Xq+JzD z*!|7EeWTBY*9>f*zb6-D!YQ>%Z0&rV5YFo^6rTt00ex5)M0+TH?h6*8I2Odl0j(Iu zEn4-3aTtP|zg_0Mu$Nhx=Rcg*?n=>Xaolzhh>E!ECcrs>1aW(ucc+Q=0@RlyGNP4QAtrBnjB1{fgd|GzH5I=lu zE7s4^D*bd?U8F1m#oNaLxqNFHS4`3x^GW%92R5sVb1B1vO?HM)O%XzS<0ES7V}-Nsdb}W5G7)??)KS2 z6M9|3=?Y#ZA)M?uFSVw!Gm8DTW%n?>+9SG8WmfiKJm1N>#_vhATp1v?dh_|ZMflpg zdsXT}zaAaD2>$2)A16W!+}aAn>}i0#Hba&B$pdQ*G5~z1EDJ5Pu6=HG7`$v|LrT1_OGXWa|R#OoAI)o-QX=Ea6M&xNdKw;46j zF(3**QUG=%HSqbna#iyDf$C`ErPR^Ua*rR%^~D)n%%Zu6t!Dne5Z@>5{8uQYgb@K3 zG^fk}*dHk$AH3F_DytGXbe>CC`C1-|fVecf41mB26a_M%obI3-CaEtSM?}t+$CO5cymN1zUUCHo2M+7lRRq{)L zPigWt;#~fC5*U717jl}#>?#s!7TU#8gP`GwYLe-&qnI=9?55^1t{K;R|H*x$hZgri zap!4%|2p`h>aAm5+9P{Vfr^_K61?as6AW5hLiCi0zte3QMvUj>ocYEjGc@+|j~w(V zRTZc>U8>FExr>fYoACP_uFAy4R~tWsA9xQ9)X%qmSj@!$FCdg&Ud_6)0a2m}tykpFwkBE2C!c*7 zu^(<;BTi%p0t$im%`|&Mnuh{aB^mp{Yjy^u)v&x}jOfvrb%_5r`pjy#v z91>*Zx(;DdSo__3JgQkKxXkWttIkGDX8l-Kfa`&3*k0o5k9Ge50@bC!m$G|5JL*sd zcTZmjr)O35Kc|v&DcM|D?_Z@Np~3U>yR{;roUj|udUIB*pYz-EJUlV{Gf-*f3*!bl zL9N>PwMl0Ard|VoUszf>_5gR^1|*+%>{}Q@>%PeT87)FX^nLQJ>Gd)dc_8Ye8Aw3_ zc29b-ORs?87G)0S4FfJQIQU)^(vQ#<-2DJMICjjZ(c1PFj=*p6WRj}ZdEq~eXr;T{ z{@8!@OR=v(YsScnfe`#wen7G090wJjwmMC;Ue%1%Rl?zDwhj%>cS8wtHNXIuby)`X zoZJDQXF!92=Pml}4Y!?SF9&LeZAv5*EvSs851=1&OOWgGXhc|{t%S&B&^cdst*=4_ zk87euv~|PP$KT4Q!3Ei4dn5@a#a$rumF!LT6dVGJshvSdhK?xS^O^h!sCb!yKrJZN!ir_z8y#jN5tmoq@B5z;GxcmjTNoTrLH)W5`^id@k z|Jij68_t@iofnAMr#@+_x|LMqss1-t0M^s-9)y1CO?l9t#va`DaTpd#o=l$|?mrc> zd%CX@u4vWm`va7_l{raW+9mhP=}S6%0z#596G~O_nuPn5Mx$IaVlc*Ze~o>~eWlGe z1~KlSBJ0Je{w&{SRI!TvQ;-32ZOI`XdS>C#D1;uuysDkRegk&_!%YaT*TPp`)%k&3 z&C1v6p|9NdLB3B(9Oxj~;AXg<7Mbn6JDtK6noPrNL8WOQnwNG=yYa%`A#R)tQGx*DNjHr^_ zP=bDYa28*F@@pcVB4}K8ChG$^NKLL&RZ3ZK&#FjT0j1(?-uFlAb8Z`5zJb%BVsMbq zRTkuSM#EL$>%=jsJx9Pszf%xMeJU2RTly3d2r6UgVCJ|&FZLPJMNhqLDFJF(rjXRo z45?2b#=^So{TEYy;O+%K`ii5=ZMbguy+yIobt8y5h*!_UNXmYKE3`;1s>du919@+y z9%o2@x&Ti8l7LYwKM->eZL{aOfKSNIp4@M5TDh#~m~DklBPnNkQ}m*K#n#7r(TiL9 z_xU+sFCY|o(qs6u%y9dEVMB&r7&2i#SDIT^PD-eB|NRh8x`I830P>0}1Xsiyez)0I zs@m)nDE~#0|^VNR7E9AFYfy%_BR)4hx8xY(uujMP*m2bBMc?oK% zPcx3~i>}=DI4i5^^+uB|VuC;roiy+VVm@>(Blp7Iee7VBnPB3d`HJ(KdoamgF?IC0 z8xX%x>XYEH9k%KkNfnz_j`P|hcO?p>zPlpBIsmGJ0Nu>)<4~JcT6Rd`Ns{nd^EhGT z4kDXM#{bHUGZ|#_+;aUr?T~+?FKoRQ-@YuNfDoCPBP0>oIOO zmn0stbLb7qnboue$P}fFH;hQG|TWt7?OxYutE1 z$#ZM;Ha^zz%AQ1lFp`khr*L2MS|RVHbrFB(jxjAnMGwy_5Wv8nx846{fLOP87gRIx z3O2!kZ?DEah>o;mz7PQ8y-$z!4*Y;U(IDAp>Jms_aDujU zWp@ET?LqY>@3-H6#{HHsN)XWnKcYcP%kq|BgAfND2Dzp4yX6T3(kV%|L0bDklo?C~ zcd(#Q(hbK;)h9ep%ieSVrwZA8He2+}UmI;)qUJ7N;3;gA&%pvbbrzfwDXB|Gwl*FA z?THrJng@}ZcZz3yo)`6r8AnczE_Lf&+&?E5)5`uhM5A_;+bmIhedSLHOEKBw=@FhM z-~5Hp7=aLwZ=#3zGZgyxV#J*mv)(mpmw0zU2 zIdLbl-hZC`^oA5phH@!{OFzb2m@m3-ABD!*@Gw*&d5EOUU9u7_Moo{924$8lyakEi z!%>FreXdLfnfbRejlz#KuP@RolppP@x;L>or^`rR20&d|sUTz#sLFLXi+=ogpuwI`RuTnB!WKGq{fG@p=@q)4``XG^;pI(6Dc`nyc9vRSFW(VsggX(c?aydO{PIWkqU1qLZy~4v?!d?~c$t@2eN8>!8N^ zR-Do0DG+Tvdi^V+hH?>{EV+VM+E2YnEnU`XU)nCfxA(!1Di?hE>kRcEN%lWr_Lh>! z=(iVOcKt1Iu+K$DwZ?dztacwFDP|tqdGI_IdVuG=)cOe3) zx$In==XvJ>t)zP)(IKR^(4I3B>#i|y=TgDfE?u5+$uB-2PxvMI-L4#7`nvr1|JruN zo3D6)ldx!KH3stD)id9BdSkhoyEIAX|LnR}iNCv>W;i2rUp0U$FR0a~N3A@cBB+xu z?X=Unvc&4d2E^oETzWmhj73o0WcVHO7uY<>{}FV1aLaIZ%uNs@qmR3r`uo|1s7P)? zR=!VN1=wG74+@99ue-vNa$Z$|7e>_m+QIfa7ci_Xb${`Et*$b=*Vx63o+2L36tr&o zDSgtmB}hbnjZ?6FbvyZ2NmS=3&D_)cjvLT{D_=zsd}bet(>cmYqMEMl+(kUfY~hRB zic;pC8BH`f+Eass1?WUwS~@Or=nl_6XfGAG*Ul;^U`vD2eIC-ny8El-ykE8Y$9H+$ zE#TezR10ya)Mta2|9y8*qwP9P&BhYj=HBE$uG6!Xwf^c z@8TTiM+-dK0To80eWy;bFMU|GypCCcevo`UdN;3HDChh)DryYPc3748iI*-Wkedwn zq(*v?+Q?=SE-k9q?lnAhda;c*}$661+;O404qV^L)B^ZV> zGEgt18%ydurGS_5VCPw+t3d+13!UTp%Id5D;BXNt>!?=LXt5nJVY6%fwftuQNa8jt z<|P79x_b=BbSMWvD~i1!32)MU!8f-zy|{MJ{*VGFg1S8HX-KL?yXgDT#Dn1duxXKO zna*FOn^-w$-0!b>RUOW4@zb0Fl=NO%ItE9KOL_UwDqQbxvu6%H`*I{hAvt=^ z+J$<2%`bnqP2h3@?4N?iCzM4O>p{M7L>eByV*Jzx#( z_z((k0~%p#Kc9=lQO@$X?kQ}PlgSW@ah=TU$&h9``95l*Kz(38bRxZILy0+KTMMBS z1K;uZv($LeLQtd8(LjdJWV%;;%VyWkdSI|9lTmLUUZOxjW#N^AZQj?{CmN?+8v$UE zZY6SkQkd)HmUy2N>=ppZ%tY4O*I!VC%4W%529$T}Z-E!EZw>U_#Es8Lwis8M{Fl}I z-wQ#Lc_dZ=|GV5jsK644Exb`6>IKzhPwgW)M-iAaNLDcN-tCaN#NN@$h);(y5BdoP zm@gMKi%h7L6{9m}pSHcK$24T0$3;byTDpmP+VM#yo`Vh$2v7y3C;PtnE1iuQ>i;bZ zGGp!%9y@PG)c($JX?93~jlR8lAE9s<#EXl|`yrh)aC?l_zbmRbmQC z#*qGjPzcb_1=g~e;n)smxLQt=PaCY{n?H_D_~xtoJ)>^}`; zXL}gLyv_Vh?DG$xbW}Dxut=l1tnco_jNQ2(4$WRJgA#MHQtQ|E*uJ>aU}-h$Nd4VZ zlk=^}FkP7@kmqZ{Plv>P&WvUgV%pPS5zjym4s9Ux$&~|Tie9`E{$hGoWeX)cJNY^r zpQHYnMdX)lmy-K@+JJ?#Dlc$jT>c8+Yq0-M4eiEiU;<5C*9l7CqH+OfE`P0CmyPV- z6f=|0H#{Nqf^$E0LBZ17FTp4HnC=v&^vY+K`NKmXh3cU%eFg{ahymcgKWJ(E8G*!CRz>lcc1&#*% zSH%f$!gmFumv;Gsp9TkgJff{81e7V>7&_MEHz;nNgWfRfhG+kJCI?f0#c#hE8#_8` zkJt*{cm(>c^1ObUEIWB00OgK2$T@k%`=tHBz0^m*%#~43!v$)5m{}?BXr#{!E!f12 zpb*r#KBOW}MMWk!qZYlV2#AWhg$jF-nk8w+g%xa+fQGj0mE9^+5M!VOai@t&kjc(? z$O>fxGrM>8%Ptb^EEGr;3qjQ_>0l9g4>)z;i~Y4HxqD)g?3yI~H!t4Wll#tX%^$1< z%2BSutHTKV=`d!#P=Ro*7e zDAF}b4>Ax4f|&J0j4igKIOlgrho9+I3u^rNGK7+;i06J|wR_#NuqLNTX!Vj>72TX{ z5K@BkXO4T>>z1)C6U#SO#{!#OtkgPl&x2^^-Dt?a=RzR~S2}&Zi*e9y28wBaXFZT_gKZ87g1oqcaz6On_hw{}V0Z5?-$ViU&+)`K~$ec(Ho`JI1b&d}4 zzNq8;892n=S~ydTwRe60?c6D_Dd<#d$vW{I6)cx9!tFtm`lIB*;%)+D`&opbPYp4| zVgvdu?Rh7fH6uy#eG_ZU+-@7!T6c2oi6_=3s{l>29RE&Rm?doT$IDDp%MRvRv6Ioc zxG!q2O*E;Sms69#Bb2+STlQc88>pwn9<~E6>b}--bSL_U((Ht7&suq6z_*CKBhi1AZZ}563NBcljN~s9 z0j<2?-lVR5{@;wv&`2`GpDcIqY~s+vQRjKX6_8V!)W})p;k(|yqUN)Dpj_7sKd$Y8 z!nOM~T;T8}8;rVHB)S4-2x1b17L2}-eBbPQG?4N5#}yzmp11Yhu4-&0r?wt7NLP&N zeI^cY{%g$@0DwQyn-e(8IFhGbz&k*#O0p_q7dorb&L@|*1j_PtPIidSKaqNOWgD1z zF&gECW>-*bU-j|n$Gv1CXkUA`a1RLlH6vVzHO;E8_y%S8>NM>?2?Yus7DbA9yrE*t zV5F!y3H{@a`^UK4J>{o7kg-|0OG*lwp-Ce63AtalEv`bjG9R^<4k=fDgQqgw{*mJ= za*~s8VEr&hoLKQ!N!67tEgrLt$v1`6OWL+y4kUq2cgN-Io9G&EkUKJU1_vtV-2;k# zI0)Ra5-*6*9~|3qYMYU)Q6ddYba&*bP_v;TK<-HHrp=%$l*9sOAwe=97 z)S9x`L7(P9}&S@+-$k8iU&dax75UOY-1d(*ym zBBzNzY`7df&*1$zvNVdL{sjDt>>R^+9A;>+UiPM(yTc8N2#LH){Aoh3G(Q-XoF^+X zY?_|dV0UT1JOM4QzrT=H8=r}ktwoh7XHdt!DveBkVGsI@j@~>}*tKQ*Ujc}Xc**}6U_l69FaYQssvBOT*VC)FCR*^`i^+gu z(ae5)Yp&PqFB=9wn|9>;^J;*v4LL;?2?77Q+_>jjuqVpwL{g$K+A~_x8`q#rd~+H+ zT_2GRInI{?HB806^`W-e7d zlNGP+_*y)E@%Fi4jLFrvkq#r?OjkGF8Oj;@DSZ=Se9A!d&czA_e{Frw%bHiL&R(IE zxs+E7*?@81Upnc-$e~uxBy77%J!@H+nkLUk0Kt;o*5d9TyG_5fZx&m0YH&}DZb}Vzs4yGzCwpi}^g|*Kf)2n=4XUjGf$mdAV@{C;# z+1Rylns_5h<{#!g#@e@#|< z0}Plu5>17E>tztn*y2q7u=Qkj^8O>t>JiIx^k2m#9o&~Yp%7D%8CXuwxsYgTL((-3 zQ#HA>na)g8fq9jn;I~sq*Vt{F!D(4rd{fhgZmZ;zij10yXQ>2Dm5+B6FnBOhy5mUf zt*>Y=d?@aU`+4nlyG(xI3fwV;&HcRd$c?t+$nuw|3MPhE_<2k6@}+ZGwJl}hFd~44 z{KiL1;=qwW9A8v6+j#-jHA8$$a^gOF$EKjvJhW51={zJW1wYK~q{F8iGRk?&mn*Q| zwcy6)^4@0T?xgq9zAR6=teYEC_4;)f1(2+@L>q((NM-b^WVy%`_l~yQv~yhlz0fb|os( zbXy3!!pv};JnJSapjjciXA-RuZ?^5)y^t}vGx_qT$oIJk11_3HQnT|?xog46Hr_Rl zV<0cp&}q7YzpyclyQ*YA)BWV^HKlTjl;Vd3mF3=ks|8C2mSe=f>=ao>yZBBFgh;(UTaT()aaa5E zdUh7Ow09FHnw-42|+NzH7_(NhV+|J6Z?Yl1cs;Tkw%q7$eQk zlEs^s=w}OlnL3ULd!_0@T**sQQC}?LmJ)OoUo=Z@@L;Hv)*1s}tmsK^WK+ie&p>); z^)K~!Elr341eKTEBSQV{_#v(#)lgMI`qJx5{#mB?n(hY8QlZt-uJfGq9F^A~lDqy* zWS?vlpD{4M0l9m5FUq$Q_lMqBq{UgY?8$!ZLUe>CR?GEz$8?)|e!9ide(o?zq(fh} zwPTr29=>f1G(;ZVq42onwk7R4Q*#`r>JHpZpGi=!+)f58s@DOe58XgbDj68yKyIDZ_Ad;{femi!a& zN8%?X5Fxl?45W?d1@h;hO(qAL(3np(&w<#1`N1HhIN~Vn4XYcwTM-f9R~FR{b@AZ? zn$iAEyC?!R$sgIzZPf^DNmT9g%@+{G09EN2IQOw9(5yIf23p)OM}hu1=wg8ySIgO) zWPOOD$t#5z)Onf>1lTb&`_6w1Z=&h2xsHmk`pl|UEdffwNAw7?LpOH3Ai(_YE-?@! zQF&=eENXXmv4@po*DJCrqxDb$iCs!Zv@nPJg%It3ZaW_K9BV`77(JRo7Bni9?q#?8 z8=;t_iJaca<_u#g*UrILoE6YWetONmqgZe#0hOY!Td$%5Q?k>|D#6(&*K26u$3BZ4 zEGexX5vNbl?c3XXEGOTW*ytLoJBFA586>ncI6B@A@7m$!XTHN9sFSB+$e6-%;SB{dbfgnB|{iXGKKp zeBuy{{6oVL*K6+&Z}TWJ8PjV%70F-@lb&l~y@MX;D+D&54L_vheb0a3gS`?g&sjKx2+cKaeq>n&oFg4|3ug<+b!QK7a!8L#RuaIOT zAyE*v6cQ6iJ#kdX-ps`i^;hUvs{J)ut3o!=s%wYvrtsS`>g^W!M>7PFJ2ri zd8bo{e>MNAS(-|G5qgAB89Nh`Td&%b7bY`qmsz*uA4r`S{i5glSKCbF)bIRoEFOCA zgifDs-GHE4Z32~%0#x+RVm_G}X0Dvk+&3qLaF!Af*!O*gq{P<`mRTzns1%|YUcKV5 zZ(;Vd9$Ld6WH8=b5zM9FSjf6sj9r^VA9^OCFYR>~lp;qWb|=s#V%=E#o?YD0rghR= zG`hTU;n=^t@UxZwJk|63tAu8RQqgHlOtgb9Tw$`-rvB@3ZuNORR7}$ zz(SK9iQmQ?PkQ;8G_aEC3?n(0R>_ujhd!fn_z2M?Stb6ByL5ned$``azq|IWd=0Y( zr~4E)5gWx1T(OtW8dK2^6vxhpIiJs^SRZm6U-$M`(XY40-K7_+X>U^wl~_z`b|x5( znuS5fy^K94`vU!mGj^jt=b4;e!p083h_0Kfje^c{BCs2We0Ya9?Md zirVqrUy~M`sY9GQeUq?f8}_rcviN6dY=Y4Fid<4b1LPI>Nz>|#KVEI(_bkU03#&;| zkxe-Cd_5SpQ%g7-qO!SU1n0-6U!UdxZ$evk2Dkal>p!roPo;1!&4kj!QME?Wh%k!W z?@?F%<5ADpN*Sl8{^fIP226*yWKy@31u85Y(yC>g8X|xg7QW&1Qk^>zI)CuF!+V~0 z8~fUoIf5hZYY-Ot^&3mZl~#_FD<1-qv+diWV%Uj+ACH=xo`l0@T;``uw_et3h{4{d zGe*L@+^G;XN&&XoB^KYg3~+8XpZC^#Q?aBFz~V0j6XBz3miI}6LN8V)M286~^e4PY z)4o3%x?_#bYMZISjZ;BN#f%NSjO`wMj(vFA*)ihn*evm;Yv}8yvm(25XTGZ-MGoz! zT=_9npxkV{kpUB9#(u@>DQj%I5!ji1SkV1?WDIst-fDKbmfHR(O&UZK#HS&9a+x+l zYkPR^pMu#nL9H>{x(Mox*hwa*~t4i^Kr5~H84H-fwR=##6uCX%8{S ze(ZC5?qoH=3wXOa%k?6Q1*syCYjRZJJu)DH@ST`%Cq5FD56~>>tKht)O#|4AY1C

    Y1hFLgbzhh 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� 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 z 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

    pF?(@$nj(Tv=untzJg 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⁡gP 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

  1. H`5 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°a_axm)m~ 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 + + + + + False + + + True + False + _Status + True + + + + + True + False + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + _Personal Events + True + + + + + True + False + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + + + + + True + False + + + + + True + False + _Add Contact... + True + + + + + True + False + _Discover Services + True + + + + + True + False + _Execute Command... + True + + + + + True + False + _View Server Info + True + + + + + True + False + + + + + True + False + _Modify Account… + True + + + + diff --git a/gajim/data/gui/account_wizard.ui b/gajim/data/gui/account_wizard.ui new file mode 100644 index 0000000..f8a2638 --- /dev/null +++ b/gajim/data/gui/account_wizard.ui @@ -0,0 +1,735 @@ + + + + + + True + False + center + 6 + 12 + + + True + False + end + _Port + True + custom_port_entry + + + + 0 + 3 + + + + + True + True + 6 + 5222 + number + + + 1 + 3 + + + + + True + False + end + _Hostname + True + custom_host_entry + + + + 0 + 2 + + + + + True + True + example.org + + + 1 + 2 + + + + + True + False + end + 18 + Prox_y + True + proxies_combobox + + + + 0 + 1 + + + + + 250 + True + False + 18 + + + + 0 + + + + + 1 + 1 + + + + + True + True + False + Manage Proxies... + start + start + + + True + False + preferences-system-symbolic + + + + + 2 + 1 + + + + + True + False + 12 + Advanced Settings + + + + 0 + 0 + 3 + + + + + True + False + 0 + + START TLS + DIRECT TLS + PLAIN + + + + 1 + 4 + + + + + True + False + end + _Type + True + con_type_combo + + + + 0 + 4 + + + + + + + + + + + + + + 0 + True + False + False + + + True + False + center + center + vertical + 6 + + + True + False + 12 + Welcome + + + + False + True + 0 + + + + + True + False + center + Please enter your credentials or Sign Up + True + 40 + + + + False + True + 1 + + + + + 300 + True + True + Your XMPP address (e.g. user@example.org) + True + user@example.org + entrycompletion1 + + + False + True + 2 + + + + + True + True + Your password + False + True + Password + password + + + False + True + 3 + + + + + _Advanced Settings + True + True + False + Proxy, custom hostname and port + start + True + True + + + False + True + 4 + + + + + _Log In + True + False + True + False + Log in with your credentials + True + + + + False + True + 5 + + + + + True + False + or + + + False + True + 6 + + + + + _Sign Up + True + True + True + Sign up for a new account on a server of your choice + True + + + False + True + 7 + + + + + 0 + True + False + False + + + True + False + vertical + 18 + + + True + False + center + applications-internet-symbolic + 6 + + + False + True + 0 + + + + + True + False + center + True + 42 + + + False + True + 1 + + + + + Visit Website + True + True + True + center + True + + + + False + True + 2 + + + + + True + False + vertical + 18 + + + True + False + center + application-certificate-symbolic + 6 + + + False + True + 0 + + + + + True + False + center + Certificate Verification Failed + True + 0 + + + + False + True + 1 + + + + + True + False + center + The following warnings came up while trying to verify the server's certificate + True + 42 + + + False + True + 2 + + + + + 300 + True + False + center + none + + + + False + True + 3 + + + + + _Show Certificate + True + True + True + center + True + + + False + True + 4 + + + + + _Add to Trusted Certificates + True + False + True + center + True + True + + + False + True + 5 + + + + + 350 + False + + + True + False + 12 + vertical + 6 + + + True + False + Which server should I choose? + + + + False + True + 0 + + + + + True + False + There are plenty of servers to choose from. +Creating an account on one server allows you to communicate with contacts from other servers as well. + True + 40 + 0 + + + False + True + 1 + + + + + Visit Server's Website + True + True + True + center + + + + False + True + 2 + + + + + True + False + 3 + Listing of Servers + True + 40 + 0 + + + + False + True + 3 + + + + + True + False + <a href='https://xmpp.org/getting-started/'>xmpp.org/getting-started</a> + True + True + word-char + 40 + 0 + + + False + True + 4 + + + + + True + False + 3 + A Feature Comparison of Various Servers + True + 40 + 0 + + + + False + True + 5 + + + + + True + False + <a href='https://conversations.im/compliance/'>conversations.im/compliance</a> + True + True + word-char + 40 + 0 + + + False + True + 6 + + + + + + + True + False + center + 6 + 12 + + + True + False + 12 + Sign Up + + + + 0 + 0 + 2 + + + + + True + False + _Please choose a server + True + True + + + + 0 + 1 + 2 + + + + + True + True + True + Which server should I choose? + server_recommendations + + + True + False + dialog-information-symbolic + + + + + 1 + 2 + + + + + 300 + True + False + True + + + True + True + example.org + entrycompletion2 + url + + + + + 0 + 2 + + + + + Sign up Anonymously + True + True + False + Note: Anonymous accounts are not possible on all servers + start + start + True + + + 0 + 3 + 2 + + + + + _Advanced Settings + True + True + False + Proxy, custom hostname and port + start + True + True + + + 0 + 4 + 2 + + + + diff --git a/gajim/data/gui/add_new_contact_window.ui b/gajim/data/gui/add_new_contact_window.ui new file mode 100644 index 0000000..452145d --- /dev/null +++ b/gajim/data/gui/add_new_contact_window.ui @@ -0,0 +1,492 @@ + + + + + + + + + + + + + + + + + + + + I would like to add you to my contact list. + + + + + + + + + + + + + + + + + + + + 400 + True + False + 18 + vertical + 6 + + + False + True + center + 18 + True + center + True + + + + False + False + 0 + + + + + True + False + 6 + 12 + + + True + False + end + _XMPP Address + True + + + + 0 + 2 + + + + + True + False + end + _Nickname + True + 0.5 + + + + 0 + 3 + + + + + True + False + end + _Group + True + 0 + + + + 0 + 4 + + + + + True + True + True + True + user@example.org + + + 1 + 2 + + + + + True + True + True + True + + + 1 + 3 + 2 + + + + + True + False + True + True + + + True + True + Choose or type new group name + + + + + 1 + 4 + 2 + + + + + False + True + end + 12 + A_ccount + True + + + + 0 + 0 + + + + + False + True + end + _Protocol + True + 0 + + + + 0 + 1 + + + + + True + False + 12 + + + False + True + protocol + + + + + 1 + + + + + 5 + + + 0 + + + + + False + False + 0 + + + + + False + True + protocol_jid + + + + + 0 + + + + + True + True + 1 + + + + + 1 + 1 + 2 + + + + + False + True + 12 + account_liststore + 1 + 0 + + + + + 1 + + + + + 1 + 0 + 2 + + + + + True + False + True + True + Query Contact Info + + + + True + False + user-info-symbolic + + + + + 2 + 2 + + + + + False + True + 18 + 3 + + + + + A_llow contact to view my status + True + True + False + True + start + True + True + True + + + False + False + 4 + + + + + 60 + True + True + True + 18 + etched-in + 5 + + + True + True + word + 6 + 6 + 6 + 6 + message_textbuffer + + + + + True + True + 4 + + + + + True + False + crossfade + + + _Save subscription message + True + True + False + start + True + True + + + + + False + True + 5 + + + + + True + False + True + 6 + + + True + False + You have to register with this transport +to be able to add a contact from this +protocol. Click on Register button to +proceed. + True + 0 + + + True + True + 0 + + + + + _Register + True + True + True + False + center + center + True + + + + False + False + 1 + + + + + True + True + 18 + 7 + + + + + True + False + True + You must be connected to the transport to be able +to add a contact from this protocol. + + + False + False + 8 + + + + + True + False + 18 + 12 + end + + + _Cancel + True + True + True + False + True + + + + False + False + 0 + + + + + _Add + True + True + True + False + True + + + + + False + False + 1 + + + + + False + False + 9 + + + + diff --git a/gajim/data/gui/advanced_configuration.ui b/gajim/data/gui/advanced_configuration.ui new file mode 100644 index 0000000..01f507a --- /dev/null +++ b/gajim/data/gui/advanced_configuration.ui @@ -0,0 +1,140 @@ + + + + + + True + False + 18 + vertical + 12 + + + True + False + A restart may be required for some settings to take effect + 0 + + + + + + False + True + 5 + 0 + + + + + True + True + edit-find-symbolic + False + False + Type to search for values... + + + + False + True + 1 + + + + + 600 + 300 + True + True + never + in + + + True + True + + + + + + + + + + + True + True + 1 + 2 + + + + + True + False + vertical + 6 + + + True + False + Description + True + 0 + + + + False + True + 0 + + + + + 40 + True + False + True + 60 + 0 + 0 + + + False + True + 1 + + + + + False + True + 4 + + + + + _Reset Value + True + False + True + False + Resets value to default + end + True + + + + + False + True + 4 + + + + diff --git a/gajim/data/gui/application_menu.ui b/gajim/data/gui/application_menu.ui new file mode 100644 index 0000000..ae45692 --- /dev/null +++ b/gajim/data/gui/application_menu.ui @@ -0,0 +1,99 @@ + + + + + _Gajim +
    + + _Start / Join Chat… + app.start-chat + + + + Create _Group Chat… + app.create-groupchat + + + + _History Manager + app.history-manager + + + Pl_ugins + app.plugins + + + _Preferences + app.preferences + + + _Quit + app.quit + +
    +
    + + _Accounts + + + _View +
    + + Show _Contact List + win.show-roster + + + Show _Offline Contacts + win.show-offline + + + Show _Active Contacts + win.show-active + + + Show _Transports + win.show-transports + +
    +
    + + _XML Console + app.xml-console + + + _File Transfer + app.file-transfer + + + _History + app.history + +
    +
    + + _Help +
    + + _Wiki (Online) + app.content + + + FA_Q (Online) + app.faq + + + _Keyboard Shortcuts + app.shortcuts + + + _Features + app.features + + + _About + app.about + +
    +
    +
    +
    diff --git a/gajim/data/gui/assistant.ui b/gajim/data/gui/assistant.ui new file mode 100644 index 0000000..9844e5b --- /dev/null +++ b/gajim/data/gui/assistant.ui @@ -0,0 +1,57 @@ + + + + + + True + False + 6 + + + True + False + True + True + vertical + + + True + False + True + True + + + + + + + False + True + 0 + + + + + 0 + 0 + + + + + True + False + 12 + + + + + + 0 + 1 + + + + + diff --git a/gajim/data/gui/blocking_list.ui b/gajim/data/gui/blocking_list.ui new file mode 100644 index 0000000..8394784 --- /dev/null +++ b/gajim/data/gui/blocking_list.ui @@ -0,0 +1,137 @@ + + + + + + + + + + + + 400 + 300 + True + False + 18 + 10 + + + True + False + True + True + + + 150 + True + True + True + True + in + + + True + True + blocking_store + 0 + + + + + + XMPP Address + True + True + True + 0 + + + True + user@example.org + + + + 0 + + + + + + + + + -1 + + + + + 0 + 0 + 2 + + + + + True + False + start + icons + False + 4 + + + True + False + True + list-add-symbolic + + + + False + True + + + + + True + False + True + list-remove-symbolic + + + + False + True + + + + + + 0 + 1 + + + + + _Save + True + True + True + end + end + True + + + + + 1 + 1 + + + + diff --git a/gajim/data/gui/bookmarks.ui b/gajim/data/gui/bookmarks.ui new file mode 100644 index 0000000..1488c91 --- /dev/null +++ b/gajim/data/gui/bookmarks.ui @@ -0,0 +1,214 @@ + + + + + + + + + + + + + + + + + + + + True + False + + + True + True + True + True + never + in + + + True + True + bookmarks_store + 0 + horizontal + + + + + + + + True + XMPP Address + True + True + 0 + + + True + end + chat@conference.example.org + + + + 0 + + + + + + + True + 100 + Name + True + 1 + + + True + end + + + + 1 + + + + + + + True + Nickname + True + 2 + + + True + end + + + + 2 + + + + + + + True + Password + True + 3 + + + True + end + + + + 3 + + + + + + + fixed + Autojoin + True + 4 + + + + + + 4 + + + + + + + + + + + 0 + 0 + 2 + + + + + True + False + start + icons + False + 4 + + + True + False + True + list-add-symbolic + + + + False + True + + + + + True + False + True + list-remove-symbolic + + + + False + True + + + + + + 0 + 1 + + + + + _Apply + True + True + True + end + end + True + + + + + 1 + 1 + + + + + diff --git a/gajim/data/gui/certificate_dialog.ui b/gajim/data/gui/certificate_dialog.ui new file mode 100644 index 0000000..0e1a596 --- /dev/null +++ b/gajim/data/gui/certificate_dialog.ui @@ -0,0 +1,492 @@ + + + + + + True + False + center + 18 + vertical + 6 + + + True + False + center + 12 + + + True + False + application-certificate-symbolic + 6 + + + False + True + 0 + + + + + True + False + center + + + + False + True + 1 + + + + + False + True + 0 + + + + + True + False + 20 + 6 + 12 + + + True + False + end + start + Common Name (CN) + + + + 0 + 1 + + + + + True + False + start + <> + 0 + + + 1 + 1 + + + + + True + False + end + start + Organization (O) + + + + 0 + 2 + + + + + True + False + start + <> + 0 + + + 1 + 2 + + + + + True + False + end + start + Organizational Unit (OU) + + + + 0 + 3 + + + + + True + False + start + <> + 0 + + + 1 + 3 + + + + + True + False + end + start + Serial Number + + + + 0 + 4 + + + + + True + False + start + <> + True + word-char + True + 0 + + + + + + 1 + 4 + + + + + True + False + end + start + Common Name (CN) + + + + 0 + 6 + + + + + True + False + start + <> + 0 + + + 1 + 6 + + + + + True + False + end + start + Organization (O) + + + + 0 + 7 + + + + + True + False + start + <> + 0 + + + 1 + 7 + + + + + True + False + end + start + Organizational Unit (OU) + + + + 0 + 8 + + + + + True + False + start + <> + 0 + + + 1 + 8 + + + + + True + False + end + start + Issued on + + + + 0 + 10 + + + + + True + False + start + <> + 0 + + + 1 + 10 + + + + + True + False + end + start + Expires on + + + + 0 + 11 + + + + + True + False + start + <> + 0 + + + 1 + 11 + + + + + True + False + end + start + SHA-1 + + + + 0 + 13 + + + + + True + False + 6 + Issued to + + + + 0 + 0 + 2 + + + + + True + False + 12 + Issued by + + + + 0 + 5 + 2 + + + + + True + False + 12 + Validity + + + + 0 + 9 + 2 + + + + + True + False + 12 + Fingerprints + + + + 0 + 12 + 2 + + + + + True + False + start + <> + True + char + True + + + + + + 1 + 13 + + + + + True + False + end + start + SHA-256 + + + + 0 + 14 + + + + + True + False + start + <> + True + char + True + + + + + + 1 + 14 + + + + + True + True + True + False + Copy Certificate Information + end + + + + True + False + edit-copy-symbolic + + + + + 1 + 15 + + + + + + + + False + True + 1 + + + + diff --git a/gajim/data/gui/chat_control.ui b/gajim/data/gui/chat_control.ui new file mode 100644 index 0000000..f47c141 --- /dev/null +++ b/gajim/data/gui/chat_control.ui @@ -0,0 +1,1232 @@ + + + + + + 110 + 1 + 10 + 10 + + + 110 + 1 + 10 + 10 + + + DropArea + True + False + True + 0.9 + True + True + vertical + 18 + + + True + False + end + True + mail-attachment-symbolic + 6 + + + False + True + 0 + + + + + True + False + start + True + Drop files or contacts + True + 40 + + + + False + True + 1 + + + + + False + + + True + False + 6 + + + True + True + True + none + + + True + False + center + <b>1</b> + True + 0 + + + + + 0 + 0 + + + + + True + True + True + none + + + True + False + <b>2</b> abc + True + + + + + 1 + 0 + + + + + True + True + True + none + + + True + False + <b>3</b> def + True + + + + + 2 + 0 + + + + + True + True + True + none + + + True + False + <b>4</b> ghi + True + + + + + 0 + 1 + + + + + True + True + True + none + + + True + False + <b>5</b> jkl + True + + + + + 1 + 1 + + + + + True + True + True + none + + + True + False + <b>6</b> mno + True + + + + + 2 + 1 + + + + + True + True + True + none + + + True + False + <b>7</b> pqrs + True + + + + + 0 + 2 + + + + + True + True + True + none + + + True + False + <b>8</b> tuv + True + + + + + 1 + 2 + + + + + True + True + True + none + + + True + False + <b>9</b> wxyz + True + + + + + 2 + 2 + + + + + True + True + True + none + + + True + False + <b>*</b> + True + + + + + 0 + 3 + + + + + True + True + True + none + + + True + False + <b>0</b> + True + + + + + 1 + 3 + + + + + True + True + True + none + + + True + False + <b>#</b> + True + + + + + 2 + 3 + + + + + + + True + False + + + bold + True + False + Bold + + + + + + italic + True + False + Italic + + + + + + underline + True + False + Underline + + + + + + strike + True + False + Strike + + + + + + True + False + + + + + True + False + Color + + + + + + True + False + Font + + + + + + True + False + + + + + True + False + Clear formatting + + + + + + True + 7 + 7 + 5 + 7 + 1 + + + True + False + + + True + True + + + True + False + vertical + + + + False + True + 0 + + + + + True + False + + + + False + True + 1 + + + + + 60 + True + in + False + + + + + + + + + True + True + 2 + + + + + True + False + + + + False + True + 3 + + + + + True + False + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + + + True + True + True + Show a list of emojis + none + + + True + False + face-smile-symbolic + + + + + + False + True + 0 + + + + + True + True + False + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + True + none + formattings_menu + + + True + False + format-text-bold-symbolic + 1 + + + + + + False + True + 1 + + + + + + + + True + False + + + False + True + 3 + + + + + True + True + True + none + + + True + False + open-menu-symbolic + + + + + + False + True + end + 4 + + + + + True + False + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + True + none + + + + True + False + 1 + + + + + + False + False + end + 5 + + + + + True + True + True + Choose encryption + none + + + + + + + False + True + end + 6 + + + + + True + True + False + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + none + + + True + False + mail-attachment-symbolic + 1 + + + + + + False + False + end + 7 + + + + + True + False + True + True + Send Message + none + + + True + False + document-send + + + + + + False + False + end + 8 + + + + + + + + False + False + 4 + + + + + True + True + + + + + False + True + vertical + 6 + + + False + True + 6 + vertical + + + False + True + none + + + + + + False + True + 0 + + + + + True + False + none + + + + + + False + True + 1 + + + + + False + True + 0 + + + + + True + False + center + vertical + 6 + + + False + True + center + vertical + 18 + + + True + False + Start Call… + + + + False + True + 0 + + + + + With Microphone + True + True + True + + + + False + True + 1 + + + + + Microphone & Camera + True + True + True + + + + False + True + 2 + + + + + False + True + 0 + + + + + False + True + 100 + audio-input-microphone-symbolic + + + + False + True + 1 + + + + + True + False + end + True + 20 + + + + False + True + 2 + + + + + True + False + + + True + True + 3 + + + + + True + True + 1 + + + + + True + False + 6 + + + 70 + True + True + True + End call + center + + + + True + False + call-stop + + + + + True + True + 0 + + + + + True + False + False + + + True + True + False + True + True + none + vertical + menu + adjustment2 + microphone-sensitivity-muted-symbolic +microphone-sensitivity-low-symbolic +microphone-sensitivity-medium-symbolic +microphone-sensitivity-high-symbolic + False + + + False + False + + + + + False + False + + + + + + False + True + 1 + + + + + True + True + False + True + True + none + vertical + menu + adjustment1 + audio-volume-muted-symbolic +audio-volume-low-symbolic +audio-volume-medium-symbolic +audio-volume-high-symbolic + False + + + False + False + + + + + False + False + + + + + + False + True + 1 + + + + + True + True + True + none + up + dtmf_popover + + + True + False + input-dialpad-symbolic + 1 + + + + + + False + True + 4 + + + + + False + True + end + 1 + + + + + True + False + True + True + Turn Camera on + none + + + + True + False + feather-camera-symbolic + + + + + + False + True + 2 + + + + + False + True + end + 2 + + + + + True + True + + + + + -1 + + + + + True + True + 1 + + + + diff --git a/gajim/data/gui/chat_to_muc_window.ui b/gajim/data/gui/chat_to_muc_window.ui new file mode 100644 index 0000000..dadbc51 --- /dev/null +++ b/gajim/data/gui/chat_to_muc_window.ui @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + True + False + gtk-jump-to + + + True + False + 5 + Invite Friends! + dialog + + + + + True + False + vertical + 6 + + + True + False + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + You are now entering a group chat. +Select the contacts you want to invite + center + + + False + False + 4 + 0 + + + + + True + True + in + + + 300 + True + True + guests_store + False + + + + + + column + + + + 0 + + + + + + + column + + + + 1 + + + + + + + + + True + True + 4 + 1 + + + + + True + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + + + True + False + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + vertical + + + True + False + Please select a group chat server. + center + True + + + False + False + 4 + 0 + + + + + True + False + + + False + True + 1 + + + + + + + True + False + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + Group chat server + + + + + False + True + 2 + + + + + True + False + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 6 + end + + + gtk-cancel + True + True + False + True + + + + False + False + 3 + 0 + + + + + In_vite + True + True + False + image1 + True + + + + False + False + 3 + 1 + + + + + False + True + 3 + + + + + + diff --git a/gajim/data/gui/contact_context_menu.ui b/gajim/data/gui/contact_context_menu.ui new file mode 100644 index 0000000..8135656 --- /dev/null +++ b/gajim/data/gui/contact_context_menu.ui @@ -0,0 +1,210 @@ + + + + + + + False + + + True + False + Start _Chat + True + + + + + True + False + Send Single _Message... + True + + + + + True + False + Send _File... + True + + + + + True + False + In_vite to + True + + + + + True + False + Invite _Contacts + True + + + + + True + False + + + + + True + False + E_xecute Command... + True + + + + + True + False + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + M_anage Contact + True + + + True + False + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + + + False + _Rename... + True + + + + + False + Edit _Groups... + True + + + + + False + True + Add Special _Notification... + True + + + + + True + False + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + + + + + False + _Subscription + True + + + False + + + True + False + _Allow contact to see my status + True + + + + + True + False + A_sk to see contact status + True + + + + + True + False + _Forbid contact to see my status + True + + + + + + + + + True + False + _Unblock + True + + + + + True + False + _Block + True + + + + + False + True + _Unignore + True + + + + + False + True + _Ignore + True + + + + + False + _Add to Contact List... + True + + + + + False + Remo_ve + True + + + + + + + + + True + False + + + + + False + _Information + True + + + + + False + _History + True + + + + diff --git a/gajim/data/gui/edit_groups_dialog.ui b/gajim/data/gui/edit_groups_dialog.ui new file mode 100644 index 0000000..e9b9490 --- /dev/null +++ b/gajim/data/gui/edit_groups_dialog.ui @@ -0,0 +1,141 @@ + + + + + + False + 6 + Edit Groups + True + 290 + dialog + + + + True + False + vertical + 6 + + + True + False + end + + + gtk-close + False + True + True + True + False + True + + + False + False + 0 + + + + + False + True + end + 0 + + + + + True + False + + + False + True + 2 + + + + + True + False + True + + + False + True + 3 + + + + + True + False + 6 + + + True + True + True + + + True + True + 0 + + + + + gtk-add + False + True + True + True + True + False + True + + + + False + False + 1 + + + + + False + False + 4 + + + + + True + True + in + + + True + True + False + + + + + + + + True + True + 5 + + + + + + close_button + + + diff --git a/gajim/data/gui/emoji_chooser.ui b/gajim/data/gui/emoji_chooser.ui new file mode 100644 index 0000000..018a888 --- /dev/null +++ b/gajim/data/gui/emoji_chooser.ui @@ -0,0 +1,124 @@ + + + + + + True + False + vertical + + + True + True + edit-find-symbolic + False + False + + + + + False + True + 0 + + + + + True + False + + + True + False + vertical + + + True + True + in + 350 + 300 + + + True + False + + + True + False + vertical + + + + + + + + + + True + True + 0 + + + + + list + + + + + True + False + vertical + True + + + True + False + end + 72 + edit-find-symbolic + + + + True + True + 0 + + + + + True + False + start + 12 + No Results Found + + + + False + True + 1 + + + + + not-found + 1 + + + + + True + True + 1 + + + + diff --git a/gajim/data/gui/exception_dialog.ui b/gajim/data/gui/exception_dialog.ui new file mode 100644 index 0000000..1c9fedb --- /dev/null +++ b/gajim/data/gui/exception_dialog.ui @@ -0,0 +1,168 @@ + + + + + + False + center + dialog + + + True + False + 18 + vertical + 12 + + + True + False + 12 + + + True + False + center + dialog-error + 6 + + + False + True + 0 + + + + + True + False + vertical + 6 + + + True + False + start + Sorry, that should not have happened + True + 30 + 0 + + + + False + True + 0 + + + + + True + False + start + Gajim encountered an error. A report is shown below. +By reporting this bug you might help people to fix this. + True + 60 + 3 + 0 + + + False + True + 1 + + + + + False + True + 1 + + + + + False + True + 0 + + + + + True + False + 6 + end + + + _Close + True + True + True + True + + + + True + True + 0 + + + + + _Report Bug + True + True + True + True + + + + + True + True + 1 + + + + + False + True + end + 1 + + + + + 200 + True + True + True + in + + + True + True + True + True + False + 4 + 4 + False + + + + + False + True + 2 + + + + + + diff --git a/gajim/data/gui/filetransfer_progress.ui b/gajim/data/gui/filetransfer_progress.ui new file mode 100644 index 0000000..5295971 --- /dev/null +++ b/gajim/data/gui/filetransfer_progress.ui @@ -0,0 +1,191 @@ + + + + + + 350 + True + False + 18 + vertical + 6 + + + True + False + document-send-symbolic + 6 + + + False + True + 0 + + + + + True + False + 6 + <placeholder> + + + + False + True + 1 + + + + + True + False + <file name> + end + 40 + + + False + True + 2 + + + + + True + False + 6 + 6 + 12 + True + + + True + False + start + + + + 1 + 0 + + + + + True + False + start + + + + 1 + 1 + + + + + True + False + start + + + + 1 + 2 + + + + + True + False + end + Progress + + + + 0 + 0 + + + + + True + False + end + Speed + + + + 0 + 1 + + + + + True + False + end + Time remaining + + + + 0 + 2 + + + + + False + True + 3 + + + + + True + False + 6 + 0.10000000149 + + + False + True + 5 + + + + + _Cancel + True + True + True + center + 12 + True + + + + + False + True + 6 + + + + diff --git a/gajim/data/gui/filetransfers.ui b/gajim/data/gui/filetransfers.ui new file mode 100644 index 0000000..d6c4258 --- /dev/null +++ b/gajim/data/gui/filetransfers.ui @@ -0,0 +1,211 @@ + + + + + + + False + + + True + False + _Remove + True + + + + + + True + False + Pa_use/Resume + True + + + + + + True + False + _Cancel + True + + + + + + True + False + + + + + True + False + _Open Folder + True + + + + + + 500 + 350 + False + 18 + File Transfers + center-always + 450 + 350 + dialog + + + + + True + False + vertical + + + True + False + 6 + 12 + + + True + True + + + + False + True + end + 0 + + + + + True + False + _Show notification when file transfer is complete + True + notify_ft_complete + + + False + True + end + 1 + + + + + False + True + 0 + + + + + 460 + 150 + True + True + never + in + + + True + True + False + + + + + + + + + + file transfers list + A list of active, completed and stopped file transfers + + + + + + + True + True + 1 + + + + + True + False + False + 1 + + + True + False + Remove completed, cancelled and failed file transfers from the list + edit-clear-all-symbolic + + + + False + False + + + + + True + False + Pause or resume file transfer + media-playback-pause-symbolic + + + + False + False + + + + + True + False + Cancel the selected file transfer and remove incomplete files + process-stop-symbolic + + + + False + False + + + + + + False + True + 2 + + + + + + + + + + File Transfers + Shows a list of file transfers between you and your contacts + + + + diff --git a/gajim/data/gui/filetransfers_send_file_dialog.ui b/gajim/data/gui/filetransfers_send_file_dialog.ui new file mode 100644 index 0000000..82c1170 --- /dev/null +++ b/gajim/data/gui/filetransfers_send_file_dialog.ui @@ -0,0 +1,175 @@ + + + + + + True + False + 18 + 6 + 12 + + + True + False + Description + 0 + + + + 0 + 2 + 2 + + + + + 70 + True + True + never + in + + + True + True + word-char + 6 + 6 + 6 + 6 + + + + + 0 + 3 + 2 + + + + + _Send Files + True + True + True + Send + center + True + + + + + 0 + 4 + 2 + + + + + True + False + Files to send + 0 + + + + 0 + 0 + 2 + + + + + True + False + True + True + vertical + + + True + True + never + in + + + True + False + + + True + False + True + multiple + False + + + + + + + False + True + 0 + + + + + True + False + False + 1 + + + True + False + Add Files + True + list-add-symbolic + + + + False + False + + + + + True + False + Remove Files + True + list-remove-symbolic + + + + False + True + + + + + + False + True + 1 + + + + + 0 + 1 + 2 + + + + diff --git a/gajim/data/gui/groupchat_config.ui b/gajim/data/gui/groupchat_config.ui new file mode 100644 index 0000000..0165be0 --- /dev/null +++ b/gajim/data/gui/groupchat_config.ui @@ -0,0 +1,482 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Owner + owner + + + Admin + admin + + + Member + member + + + + + False + + + True + False + <b>XMPP Address</b> +&lt;user@domain/resource&gt; (only that resource matches) +&lt;user@domain&gt; (any resource matches) +&lt;domain/resource&gt; (only that resource matches) +&lt;domain&gt; (the domain itself matches, as does any user@domain or domain/resource) + + True + + + + + + + + + + + + + + + + + + + + + + + + GroupchatConfig + 700 + 500 + True + False + + + True + False + 12 + + + True + False + start + False + 6 + + + True + True + True + info_popover + + + True + False + dialog-information-symbolic + + + + + False + False + 0 + + + + + True + False + True + True + Only Admins and Owners can modify the affiliation + start + + + + True + False + list-add-symbolic + + + + + False + False + 1 + + + + + True + False + True + True + Only Admins and Owners can modify the affiliation + + + + True + False + list-remove-symbolic + + + + + False + False + 2 + + + + + False + False + 0 + + + + + _Apply + True + True + True + True + + + + + False + False + end + 2 + + + + + _Cancel + True + True + True + True + + + + False + False + end + 3 + + + + + + 1 + 1 + + + + + True + False + True + True + crossfade + + + + True + False + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + config + Configuration + + + + + True + False + + + True + True + True + True + never + in + + + True + True + affiliation_store + 0 + + + multiple + + + + + + True + autosize + XMPP Address + True + True + 0 + + + user@example.org + + + + 6 + 0 + + + + + + + True + autosize + Reserved Name + True + 1 + + + Name + + + + 6 + 1 + + + + + + + False + True + autosize + 100 + Role + True + 2 + + + + 2 + + + + + + + True + autosize + 120 + Affiliation + True + 3 + + + False + combo_store + 0 + + + + 5 + 4 + + + + + + + + + + 0 + 0 + + + + + affiliation + Affiliations + 1 + + + + + False + True + + + True + True + True + True + in + + + True + True + outcast_store + 0 + + + multiple + + + + + + True + autosize + XMPP Address + True + True + 0 + + + user@example.org + + + + 6 + 0 + + + + + + + True + autosize + 250 + Reason + True + 1 + + + Spam + + + + 6 + 1 + + + + + + + + + + 0 + 0 + + + + + outcast + Ban List + 2 + + + + + 1 + 0 + + + + + 140 + True + False + stack + + + 0 + 0 + 2 + + + + diff --git a/gajim/data/gui/groupchat_control.ui b/gajim/data/gui/groupchat_control.ui new file mode 100644 index 0000000..f42f8d2 --- /dev/null +++ b/gajim/data/gui/groupchat_control.ui @@ -0,0 +1,2098 @@ + + + + + + DropArea + True + False + True + 0.9 + True + True + vertical + 18 + + + True + False + end + True + mail-attachment-symbolic + 6 + + + False + True + 0 + + + + + True + False + start + True + Drop Files or Contacts + True + 40 + + + + False + True + 1 + + + + + True + False + + + bold + True + False + Bold + + + + + + italic + True + False + Italic + + + + + + underline + True + False + Underline + + + + + + strike + True + False + Strike + + + + + + True + False + + + + + True + False + Color + + + + + + True + False + Font + + + + + + True + False + + + + + True + False + Clear formatting + + + + + + True + + + True + False + + + True + False + + + + True + 7 + 7 + 5 + 7 + 3 + + + 0 + True + False + 4 + True + vertical + + + + False + True + 0 + + + + + True + False + + + + False + True + 1 + + + + + 200 + 60 + True + True + in + False + + + + + + + + + True + True + 2 + + + + + True + False + + + + False + True + 3 + + + + + True + False + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + + + True + True + True + Invite Contacts… + + + True + False + list-add-symbolic + + + + + + False + True + end + 0 + + + + + True + True + True + none + + + True + False + open-menu-symbolic + + + + + + False + True + end + 0 + + + + + True + False + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + True + none + + + + True + False + 1 + + + + + + False + False + end + 1 + + + + + True + True + True + Choose encryption + none + + + + + + + False + True + end + 2 + + + + + True + True + False + True + none + + + True + False + mail-attachment-symbolic + + + + + + False + False + end + 3 + + + + + True + True + True + Show a list of emojis + none + + + True + False + face-smile-symbolic + + + + + + False + True + 5 + + + + + True + False + True + True + Send Message + none + + + True + False + document-send + + + + + + False + False + end + 6 + + + + + True + False + True + False + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + True + none + formattings_menu + + + True + False + format-text-bold-symbolic + 1 + + + + + + False + True + 7 + + + + + True + False + True + + + False + True + 8 + + + + + + + + False + False + 4 + + + + + False + True + 0 + + + + + True + False + none + True + + + + + + False + True + 1 + + + + + groupchat + + + + + True + False + vertical + + + True + False + center + center + True + True + 6 + + + 40 + 40 + True + False + + + 0 + 0 + + + + + True + False + Joining… + + + + 0 + 1 + + + + + _Abort + True + True + True + True + + + + + 0 + 2 + + + + + False + True + 0 + + + + + progress + 1 + + + + + True + False + vertical + + + True + False + center + center + True + True + 12 + + + True + False + Enter Nickname + 0 + + + + 0 + 0 + + + + + 200 + True + True + True + False + True + + + + 0 + 1 + + + + + True + False + True + + + _Cancel + True + True + True + start + start + True + + + + False + True + 0 + + + + + Ch_ange + True + False + True + True + True + end + start + True + + + + + False + True + 1 + + + + + 0 + 2 + + + + + False + True + 0 + + + + + nickname + 2 + + + + + True + False + vertical + + + True + False + center + center + True + True + 12 + + + True + False + Change Subject + 0 + + + + 0 + 0 + + + + + True + False + True + + + _Cancel + True + True + True + start + start + True + + + + False + True + 0 + + + + + Ch_ange + True + True + True + True + end + start + True + + + + + False + True + 1 + + + + + 0 + 2 + + + + + 450 + 250 + True + True + never + in + + + True + True + word-char + 3 + 3 + 3 + 3 + + + + + 0 + 1 + + + + + False + True + 0 + + + + + subject + 3 + + + + + True + False + vertical + + + True + False + center + center + True + True + 12 + + + True + False + Enter Password + 0 + + + + 0 + 0 + + + + + True + False + True + + + _Cancel + True + True + True + start + start + True + + + + False + True + 0 + + + + + _Join + True + False + True + True + True + end + start + True + + + + + False + True + 1 + + + + + 0 + 2 + + + + + True + True + False + * + True + password + + + + 0 + 1 + + + + + False + True + 0 + + + + + password + 4 + + + + + True + False + vertical + + + True + False + center + center + True + True + 12 + + + True + False + True + + + _Cancel + True + True + True + start + start + True + + + + False + True + 0 + + + + + _Join + True + False + True + True + True + end + start + True + + + + + False + True + 1 + + + + + 0 + 1 + + + + + True + False + vertical + + + + + + 0 + 0 + + + + + False + True + 0 + + + + + captcha + 5 + + + + + True + False + vertical + + + True + False + center + center + True + True + 12 + + + True + False + dialog-error-symbolic + 6 + + + + 0 + 0 + + + + + True + False + center + 6 + + + _Forget Group Chat + True + True + True + Gajim will not try to join this group chat again + start + start + True + + + + + False + True + 0 + + + + + T_ry Again + True + True + True + True + + + + False + True + 1 + + + + + _Close + True + True + True + True + end + start + True + + + + False + True + 2 + + + + + 0 + 3 + + + + + True + False + center + True + 40 + + + 0 + 2 + + + + + True + False + An Error Occurred + center + True + 40 + + + + 0 + 1 + + + + + False + True + 0 + + + + + error + 6 + + + + + True + False + vertical + + + True + False + center + center + True + True + 12 + + + True + False + True + + + _Close + True + True + True + True + center + start + True + + + + False + True + 0 + + + + + _Try Again + True + True + True + True + True + + + + + False + True + 1 + + + + + 0 + 2 + + + + + True + False + dialog-error-symbolic + 6 + + + + 0 + 0 + + + + + True + False + center + True + 40 + + + + 0 + 1 + + + + + False + True + 0 + + + + + captcha-error + 7 + + + + + True + False + vertical + + + True + False + True + True + vertical + 12 + + + True + False + True + + + _Close + True + True + True + True + center + start + True + + + + False + True + 0 + + + + + 0 + 2 + + + + + True + False + Information + + + + 0 + 0 + + + + + True + False + True + True + vertical + + + + + + + 0 + 1 + + + + + + False + True + 0 + + + + + muc-info + 8 + + + + + True + False + vertical + + + True + False + center + center + True + True + 6 + + + True + False + 6 + Kick Participant + end + True + 22 + 0 + + + + 0 + 0 + + + + + True + False + True + + + _Cancel + True + True + True + start + start + True + + + + False + True + 0 + + + + + _Kick + True + True + True + True + end + start + True + + + + + False + True + 1 + + + + + 0 + 3 + + + + + 200 + True + True + 6 + True + False + Insert Emoji + True + + + 0 + 2 + + + + + True + False + start + Reason (optional) + + + + 0 + 1 + + + + + False + True + 0 + + + + + kick + 9 + + + + + True + False + vertical + + + True + False + center + center + True + True + 6 + + + True + False + 6 + Ban Participant + end + True + 22 + 0 + + + + 0 + 0 + + + + + True + False + True + + + _Cancel + True + True + True + start + start + True + + + + False + True + 0 + + + + + _Ban + True + True + True + True + end + start + True + + + + + False + True + 1 + + + + + 0 + 3 + + + + + 200 + True + True + 6 + True + False + Insert Emoji + True + + + 0 + 2 + + + + + True + False + start + Reason (optional) + + + + 0 + 1 + + + + + False + True + 0 + + + + + ban + 10 + + + + + True + False + vertical + + + True + False + center + center + True + True + 6 + + + True + False + 6 + Destroy This Chat + end + True + 22 + 0 + + + + 0 + 0 + + + + + True + False + True + + + _Cancel + True + True + True + start + start + True + + + + False + True + 0 + + + + + _Destroy + True + True + True + True + end + start + True + + + + + False + True + 1 + + + + + 0 + 5 + + + + + 200 + True + True + 6 + True + False + Insert Emoji + Alternate venue (optional)... + + + + 0 + 4 + + + + + 200 + True + True + 6 + True + False + Insert Emoji + Reason (optional)... + True + + + 0 + 2 + + + + + True + False + start + Reason for destruction + + + + 0 + 1 + + + + + True + False + start + Where participants should go + + + + 0 + 3 + + + + + False + True + 0 + + + + + destroy + 11 + + + + + True + False + vertical + + + True + False + center + center + True + True + 12 + + + True + False + Rename This Chat + 0 + + + + 0 + 0 + + + + + 200 + True + True + True + False + face-smile-symbolic + Insert Emoji + Insert Emoji + + + 0 + 1 + + + + + True + False + True + + + _Cancel + True + True + True + start + start + True + + + + False + True + 0 + + + + + _Rename + True + True + True + True + end + start + True + + + + + False + True + 1 + + + + + 0 + 2 + + + + + False + True + 0 + + + + + rename + 12 + + + + + True + False + vertical + + + True + False + center + True + True + 18 + 6 + 12 + + + True + False + 6 + 12 + + + _Cancel + True + True + True + True + + + + False + True + 0 + + + + + _Invite + True + False + True + True + True + + + + + False + True + end + 1 + + + + + 0 + 1 + + + + + + + + False + True + 1 + + + + + invite + 13 + + + + + True + False + vertical + + + settings_grid + True + False + True + True + 12 + + + True + False + center + 6 + 12 + + + _Close + True + True + True + True + + + + False + True + 0 + + + + + 0 + 2 + + + + + True + False + Settings for This Chat + + + + 0 + 0 + + + + + True + True + True + True + never + in + False + + + True + False + + + True + False + True + True + vertical + + + + + + + + + + + + 0 + 1 + + + + + + False + True + 0 + + + + + muc-settings + 14 + + + + + -1 + + + + + True + True + 1 + + + + diff --git a/gajim/data/gui/groupchat_creation.ui b/gajim/data/gui/groupchat_creation.ui new file mode 100644 index 0000000..c2cde98 --- /dev/null +++ b/gajim/data/gui/groupchat_creation.ui @@ -0,0 +1,344 @@ + + + + + + + + + + + + + + False + + + True + False + center + 12 + vertical + 6 + + + True + False + Public or Private? + + + + False + True + 0 + + + + + True + False + <b>Private:</b> If you plan to chat encrypted, you would typically want to create a private group chat. You have to invite people so they can join. + True + True + 40 + 40 + + + False + True + 1 + + + + + True + False + <b>Public:</b> Anyone who knows the address can join. + True + + + False + True + 2 + + + + + + + 400 + True + False + 18 + vertical + 18 + + + True + False + Create Group Chat + True + + + + False + True + 0 + + + + + True + False + 12 + 6 + 12 + + + True + False + end + _Name + True + name_entry + + + + 0 + 1 + + + + + True + False + end + _Description + True + description_entry + + + + 0 + 2 + + + + + 200 + True + True + True + + + 1 + 1 + + + + + True + True + True + + + 1 + 2 + + + + + True + False + end + center + 12 + _Public + True + public_switch + + + + 0 + 3 + + + + + True + False + 12 + 12 + + + True + True + center + + + False + True + 0 + + + + + True + True + True + end + none + public_private_popover + + + True + False + dialog-information-symbolic + + + + + False + True + 1 + + + + + 1 + 3 + + + + + True + False + end + _Address + True + address_entry + + + + 0 + 4 + + + + + True + True + + + + + 1 + 4 + + + + + True + False + True + center + account_liststore + 0 + + + + + 1 + + + + + 1 + 0 + + + + + True + False + True + end + _Account + True + account_combo + + + + 0 + 0 + + + + + False + True + 1 + + + + + True + False + end + 12 + 12 + + + True + False + + + False + True + 0 + + + + + _Create + True + False + True + True + end + True + + + + + False + True + 1 + + + + + False + True + end + 3 + + + + diff --git a/gajim/data/gui/groupchat_info_scrolled.ui b/gajim/data/gui/groupchat_info_scrolled.ui new file mode 100644 index 0000000..255f5cd --- /dev/null +++ b/gajim/data/gui/groupchat_info_scrolled.ui @@ -0,0 +1,328 @@ + + + + + + True + False + center + 6 + 12 + + + True + False + end + Address + + + + 0 + 2 + + + + + False + True + end + start + Description + + + + 0 + 3 + + + + + False + True + end + start + Topic + + + + 0 + 4 + + + + + False + True + end + start + Author + + + + 0 + 5 + + + + + False + True + start + start + True + True + word-char + True + 0 + + + 1 + 3 + + + + + False + True + start + start + + + 1 + 5 + + + + + False + True + start + start + + + 1 + 9 + + + + + False + True + end + start + Contact + + + + 0 + 7 + + + + + False + True + end + start + Discussion Logs + + + + 0 + 6 + + + + + False + True + start + start + + + 1 + 8 + + + + + button + True + True + True + start + start + none + + + + + 1 + 6 + + + + + False + True + Participants + end + center + system-users-symbolic + + + + 0 + 9 + + + + + False + True + Group Chat Language + end + center + preferences-desktop-locale-symbolic + + + + 0 + 8 + + + + + False + True + start + start + vertical + 3 + + + + + + 1 + 7 + + + + + False + True + start + start + True + True + word-char + True + 0 + + + + 1 + 4 + + + + + False + True + center + start + True + end + True + 40 + + + + 0 + 1 + 2 + + + + + True + False + 12 + 6 + + + 0 + 0 + 2 + + + + + True + False + 12 + + + True + False + start + True + + + False + True + 0 + + + + + True + True + True + Copy Address + start + start + + + + True + False + edit-copy-symbolic + + + + + False + True + 1 + + + + + 1 + 2 + + + + diff --git a/gajim/data/gui/groupchat_invite.ui b/gajim/data/gui/groupchat_invite.ui new file mode 100644 index 0000000..f49d01e --- /dev/null +++ b/gajim/data/gui/groupchat_invite.ui @@ -0,0 +1,238 @@ + + + + + + + + + + + + + + + + True + False + center + center + vertical + 12 + + + True + False + avatar-default-symbolic + 6 + + + + False + True + 0 + + + + + True + False + No contacts left. +You can also type an XMPP address. + center + True + 35 + + + + False + True + 1 + + + + + True + False + True + True + 6 + 24 + + + True + False + Invitees + + + + 1 + 0 + + + + + True + False + Contacts + + + + 0 + 0 + + + + + True + False + True + vertical + + + True + True + True + never + in + + + True + False + + + StartChatListBox + 300 + True + True + False + browse + + + + + + + True + True + 0 + + + + + 1 + 1 + + + + + True + False + True + vertical + 6 + + + 300 + True + True + True + True + True + edit-find-symbolic + False + False + Search contacts... + + + False + True + 0 + + + + + True + True + never + in + + + True + False + + + StartChatListBox + True + True + True + browse + + + + + + + True + True + 1 + + + + + 0 + 1 + + + + + True + False + center + center + vertical + 12 + + + True + False + contact-new-symbolic + 6 + + + + False + True + 0 + + + + + True + False + Click on contacts you would like to invite to this group chat. + center + True + 35 + + + + False + True + 1 + + + + diff --git a/gajim/data/gui/groupchat_nick_chooser.ui b/gajim/data/gui/groupchat_nick_chooser.ui new file mode 100644 index 0000000..afd8e34 --- /dev/null +++ b/gajim/data/gui/groupchat_nick_chooser.ui @@ -0,0 +1,117 @@ + + + + + + True + False + 12 + + + True + False + end + 15 + + + False + True + 0 + + + + + True + False + document-edit-symbolic + + + False + True + 1 + + + + + False + + + True + False + vertical + 6 + + + True + False + Join Group Chat as… + + + + False + True + 0 + + + + + True + False + + + True + True + Your Nickname + True + + + + False + True + 0 + + + + + True + True + True + False + + + True + False + emblem-ok-symbolic + + + + + + False + True + 1 + + + + + + False + True + 1 + + + + + + + diff --git a/gajim/data/gui/groupchat_roster.ui b/gajim/data/gui/groupchat_roster.ui new file mode 100644 index 0000000..f3aef42 --- /dev/null +++ b/gajim/data/gui/groupchat_roster.ui @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + True + True + participant_store + False + expander + 1 + + + + + + + + + fixed + 210 + avatar + True + + + 40 + 3 + 0 + + + 3 + 0 + + + + + end + + + 1 + + + + + + + fixed + 35 + event + + + 0 + gajim-event + + + 2 + + + + + + + False + fixed + expander + + + + diff --git a/gajim/data/gui/groups_post_window.ui b/gajim/data/gui/groups_post_window.ui new file mode 100644 index 0000000..c8e281b --- /dev/null +++ b/gajim/data/gui/groups_post_window.ui @@ -0,0 +1,133 @@ + + + + + + + True + False + Create new post + dialog + + + + + + + True + False + 18 + vertical + 6 + + + True + False + 6 + 12 + + + True + False + end + From + 0 + + + + 0 + 0 + + + + + True + False + end + Subject + 0 + + + + 0 + 1 + + + + + True + True + True + + + 1 + 0 + + + + + True + True + + + 1 + 1 + + + + + False + True + 0 + + + + + True + True + in + + + True + True + 6 + 6 + 6 + 6 + textbuffer1 + + + + + True + True + 1 + + + + + _Forward + True + True + False + end + True + + + + + False + True + 2 + + + + + + diff --git a/gajim/data/gui/history_manager.ui b/gajim/data/gui/history_manager.ui new file mode 100644 index 0000000..d24942c --- /dev/null +++ b/gajim/data/gui/history_manager.ui @@ -0,0 +1,257 @@ + + + + + + False + + + True + False + _Export + True + + + + + + True + False + _Delete + True + + + + + 1000 + 500 + False + Gajim History Logs Manager + center + 1000 + 500 + + + + True + False + 18 + vertical + 12 + + + True + True + 250 + + + 250 + True + True + in + + + True + True + + + + + + + + + + False + True + + + + + True + False + vertical + 6 + + + True + False + 20 + 20 + vertical + 10 + + + True + False + Gajim History Logs Manager + True + 0.5 + + + + False + True + 0 + + + + + True + False + This history manager is not intended for viewing chat history. If you are looking for such functionality, please use the history window instead. + +You can use this program to delete or export history. Either select logs from the left or search the database. + True + 0 + + + False + True + 1 + + + + + True + False + <b>WARNING:</b> +If you plan to do massive deletions, please make sure Gajim is not running. Generally avoid deletions with contacts you currently chat with. + True + True + 0 + + + False + True + 2 + + + + + False + True + 0 + + + + + True + True + 6 + in + + + True + True + False + + + + + + + + + + True + True + 1 + + + + + True + True + 6 + in + + + True + True + + + + + + + + + + True + True + 2 + + + + + True + True + + + + + True + True + 0 + + + + + True + False + 12 + + + True + True + True + Search database... + + + True + True + 0 + + + + + True + True + True + True + False + Search in database + True + bottom + + + + True + False + edit-find-symbolic + + + + + False + True + 1 + + + + + False + True + 1 + + + + + + + + + diff --git a/gajim/data/gui/history_window.ui b/gajim/data/gui/history_window.ui new file mode 100644 index 0000000..741c465 --- /dev/null +++ b/gajim/data/gui/history_window.ui @@ -0,0 +1,561 @@ + + + + + + + + + + + + + + False + + + True + False + 12 + 12 + 12 + 12 + vertical + 6 + + + Display status changes + True + True + False + True + + + + False + True + 0 + + + + + True + False + + + False + True + 1 + + + + + True + True + True + app.history-manager + History Manager + + + False + True + 2 + + + + + main + 1 + + + + + False + + + True + False + 12 + 12 + 12 + 12 + vertical + 6 + + + True + False + start + Date + + + + False + True + 0 + + + + + True + False + start + vertical + + + 270 + True + True + + + + + False + True + 0 + + + + + True + False + start + True + expand + + + True + True + True + + + + True + False + go-first-symbolic + + + + + True + True + 0 + + + + + True + True + True + + + + True + False + go-previous-symbolic + + + + + True + True + 1 + + + + + True + True + True + + + + True + False + go-next-symbolic + + + + + True + True + 2 + + + + + True + True + True + + + + True + False + go-last-symbolic + + + + + True + True + 3 + + + + + + True + True + 2 + + + + + + False + True + 1 + + + + + True + False + start + 12 + Mode + + + + False + True + 2 + + + + + Search complete history + True + True + False + start + True + True + + + + False + True + 3 + + + + + Search selected day only + True + True + False + start + True + search_complete_history + + + + False + True + 4 + + + + + + + 600 + True + False + 18 + 18 + 18 + 18 + vertical + 24 + + + True + False + 6 + 12 + + + True + False + start + center + Chat + + + + 0 + 0 + + + + + True + True + Store history for this chat + center + + + + 3 + 0 + + + + + True + False + center + 6 + Store History + + + + 2 + 0 + + + + + 400 + True + False + center + True + liststore1 + True + 1 + 1 + + + + True + True + + + + + + 1 + 0 + + + + + False + True + 0 + + + + + True + False + vertical + + + True + False + + + True + False + + + 300 + True + True + edit-find-symbolic + False + False + + + + False + True + 0 + + + + + True + True + True + start + search_menu + + + True + False + 6 + + + True + False + 3 + 3 + + + False + True + 0 + + + + + True + False + pan-down-symbolic + + + False + True + 1 + + + + + + + False + True + 1 + + + + + + False + True + 2 + + + + + True + False + vertical + + + True + True + True + more_menu + + + True + False + view-more-symbolic + + + + + False + True + 0 + + + + + False + True + end + 1 + + + + + + False + True + 0 + + + + + True + True + True + vertical + + + True + True + in + + + True + True + True + + + + + + + + + True + True + + + + + True + True + etched-in + 200 + + + + + + True + True + + + + + True + True + 1 + + + + + False + True + 2 + + + + diff --git a/gajim/data/gui/mam_preferences.ui b/gajim/data/gui/mam_preferences.ui new file mode 100644 index 0000000..2a27283 --- /dev/null +++ b/gajim/data/gui/mam_preferences.ui @@ -0,0 +1,239 @@ + + + + + + + + + + + + + + Always + always + + + Contact List + roster + + + Never + never + + + + + + + + + + + + + 400 + 300 + True + False + 18 + vertical + + + True + False + center + 12 + + + True + False + end + _Default + True + 0 + + + + False + True + 0 + + + + + 200 + True + False + start + default_store + 0 + 1 + + + + 0 + + + + + False + True + 1 + + + + + False + True + 1 + + + + + True + False + 6 + + + 150 + True + True + in + + + True + True + preferences_store + 0 + + + + + + XMPP Address + True + True + True + 0 + + + True + user@example.org + + + + 0 + + + + + + + Archive + True + True + 1 + + + + + + 1 + + + + + + + + + -1 + + + + + True + True + 2 + + + + + True + False + 12 + + + True + False + icons + 4 + + + True + False + True + list-add-symbolic + + + + False + True + + + + + True + False + True + list-remove-symbolic + + + + False + True + + + + + + False + True + 0 + + + + + _Save + True + True + True + end + True + + + + + False + True + end + 1 + + + + + False + True + 3 + + + + diff --git a/gajim/data/gui/manage_pep_services_window.ui b/gajim/data/gui/manage_pep_services_window.ui new file mode 100644 index 0000000..03422f0 --- /dev/null +++ b/gajim/data/gui/manage_pep_services_window.ui @@ -0,0 +1,91 @@ + + + + + + True + False + 18 + vertical + 6 + + + 350 + 250 + True + True + in + + + True + True + + + + + + + + True + True + 0 + + + + + True + False + end + 12 + + + True + False + True + True + Configure + center + True + + + + True + False + preferences-system-symbolic + + + + + False + True + 0 + + + + + _Delete + True + False + True + True + True + + + + + False + True + 1 + + + + + False + True + 2 + + + + diff --git a/gajim/data/gui/manage_proxies.ui b/gajim/data/gui/manage_proxies.ui new file mode 100644 index 0000000..218c077 --- /dev/null +++ b/gajim/data/gui/manage_proxies.ui @@ -0,0 +1,366 @@ + + + + + + + + + + + + HTTP + + + SOCKS5 + + + + + True + False + 18 + 12 + + + 200 + True + False + vertical + + + True + True + in + + + True + True + False + + + + + + + + + + True + True + 0 + + + + + True + False + icons + False + 1 + + + True + False + Add Proxy + True + list-add-symbolic + + + + False + True + + + + + True + False + Remove Proxy + True + list-remove-symbolic + + + + False + True + + + + + + False + True + 1 + + + + + False + True + 0 + + + + + True + False + start + 6 + 12 + + + True + True + False + password + + + + 1 + 8 + + + + + True + False + end + Pass_word + True + proxypass_entry + + + + 0 + 8 + + + + + True + True + + + + 1 + 7 + + + + + Use proxy auth_entication + True + True + False + start + 12 + True + True + + + + 1 + 6 + + + + + True + False + end + _Username + True + proxyuser_entry + + + + 0 + 7 + + + + + True + True + 9050 + number + + + + 1 + 5 + + + + + True + False + end + _Port + True + proxyport_entry + + + + 0 + 5 + + + + + True + True + True + example.org + url + + + + 1 + 4 + + + + + True + False + end + _Host + True + proxyhost_entry + + + + 0 + 4 + + + + + True + False + 12 + 6 + Settings + True + + + + 0 + 3 + 2 + + + + + True + False + liststore1 + + + + + 0 + + + + + 1 + 2 + + + + + True + False + end + _Type + True + proxytype_combobox + + + + 0 + 2 + + + + + True + False + end + _Name + True + proxyname_entry + + + + 0 + 1 + + + + + 200 + True + True + True + + + + 1 + 1 + + + + + True + False + 6 + Proxy + True + + + + 0 + 0 + 2 + + + + + + + + + + + + + + True + True + 1 + + + + diff --git a/gajim/data/gui/manage_sounds.ui b/gajim/data/gui/manage_sounds.ui new file mode 100644 index 0000000..ce8c5e1 --- /dev/null +++ b/gajim/data/gui/manage_sounds.ui @@ -0,0 +1,143 @@ + + + + + + + + + + + + + + + + + + + True + False + 18 + vertical + 6 + + + True + True + in + + + True + True + liststore1 + + + + + + + Active + True + + + + + + 0 + + + + + + + Event + + + + 1 + + + + + + + + + True + True + 0 + + + + + True + False + 12 + + + True + False + False + False + Choose Sound + + + + True + True + 0 + + + + + True + True + True + Clear Sound + + + + True + False + edit-clear-all-symbolic + + + + + False + True + 1 + + + + + True + True + False + Play Sound + + + + True + False + media-playback-start-symbolic + True + + + + + False + False + 2 + + + + + False + True + 1 + + + + diff --git a/gajim/data/gui/message_window.ui b/gajim/data/gui/message_window.ui new file mode 100644 index 0000000..a7e8bb1 --- /dev/null +++ b/gajim/data/gui/message_window.ui @@ -0,0 +1,89 @@ + + + + + + True + False + False + + + 170 + True + False + 4 + + + True + False + start + + + False + False + 0 + + + + + True + False + start + 3 + True + end + True + 0 + + + + True + True + 1 + + + + + True + True + True + end + none + + + True + False + window-close + 1 + + + + + False + False + 2 + + + + + + + MessageWindow + False + 480 + 440 + False + + + True + True + True + + + + + + + diff --git a/gajim/data/gui/passphrase_dialog.ui b/gajim/data/gui/passphrase_dialog.ui new file mode 100644 index 0000000..13fa2a2 --- /dev/null +++ b/gajim/data/gui/passphrase_dialog.ui @@ -0,0 +1,162 @@ + + + + + + False + 18 + Passphrase + False + dialog + + + + + + + True + False + vertical + 6 + + + True + False + 12 + end + + + _Cancel + True + True + True + False + True + + + False + True + 0 + + + + + _OK + True + True + True + True + False + True + + + + False + True + 1 + + + + + False + True + end + 1 + + + + + True + False + 18 + + + True + False + dialog-password-symbolic + 6 + + + False + True + 0 + + + + + True + False + vertical + 6 + + + True + False + 6 + True + 40 + 0 + + + + False + True + 0 + + + + + True + True + True + False + True + password + GTK_INPUT_HINT_NO_SPELLCHECK | GTK_INPUT_HINT_NONE + + + False + True + 1 + + + + + True + True + False + True + True + + + False + True + 2 + + + + + True + True + 1 + + + + + False + True + 0 + + + + + + cancel_button + ok_button + + + diff --git a/gajim/data/gui/plugins_window.ui b/gajim/data/gui/plugins_window.ui new file mode 100644 index 0000000..d15cc3b --- /dev/null +++ b/gajim/data/gui/plugins_window.ui @@ -0,0 +1,365 @@ + + + + + + True + True + + + True + False + 18 + 18 + + + 200 + True + False + vertical + + + True + True + never + out + + + True + True + + + + + + + + + True + True + 0 + + + + + True + False + False + 1 + + + True + False + Install Plugin from ZIP-File + Install from File… + True + system-software-install-symbolic + + + + False + True + + + + + True + False + Uninstall Plugin + True + edit-delete-symbolic + + + + False + True + + + + + + False + True + 1 + + + + + False + True + 1 + + + + + 400 + True + False + True + vertical + 18 + + + True + False + False + 18 + + + True + False + start + <Plugin Name> + True + + + + False + True + 0 + + + + + True + True + True + Plugin Settings + + + + True + False + applications-system-symbolic + + + + + False + False + end + 1 + + + + + False + True + 0 + + + + + True + False + True + error + + + False + 6 + end + + + + + + False + False + 0 + + + + + False + 16 + + + True + False + True + word-char + 0 + + + False + True + 0 + + + + + False + False + 0 + + + + + False + True + 1 + + + + + True + False + start + <Description> + True + word-char + True + 0 + + + False + True + 2 + + + + + True + False + 6 + 12 + + + True + False + end + start + Version + + + + 0 + 0 + + + + + True + False + start + <empty> + True + word-char + True + 0 + + + 1 + 0 + + + + + True + False + end + start + Authors + + + + 0 + 1 + + + + + True + False + start + <empty> + True + word-char + True + 10 + 0 + + + 1 + 1 + + + + + True + False + end + start + Homepage + + + + 0 + 2 + + + + + True + False + start + <empty> + True + word-char + 0 + + + 1 + 2 + + + + + False + True + 3 + + + + + False + True + 2 + + + + + + + True + False + Installed + + + False + + + + + + + + + + + Plug-in description should be displayed here. This text will be erased during PluginsWindow initialization. + + diff --git a/gajim/data/gui/popup_notification_window.ui b/gajim/data/gui/popup_notification_window.ui new file mode 100644 index 0000000..9e384a6 --- /dev/null +++ b/gajim/data/gui/popup_notification_window.ui @@ -0,0 +1,123 @@ + + + + + + NotificationPopup + True + False + + + True + False + 6 + + + 6 + True + False + vertical + + + + + + False + True + 0 + + + + + True + False + 6 + + + False + True + 1 + + + + + True + False + vertical + + + True + False + + + NotificationPopupTitle + 196 + True + False + True + 0 + + + False + True + 0 + + + + + True + False + False + none + + + + True + False + window-close + 1 + + + + + False + True + 1 + + + + + False + True + 0 + + + + + 218 + 50 + True + False + True + end + 30 + 0 + 0 + + + False + True + 1 + + + + + False + True + 2 + + + + + + diff --git a/gajim/data/gui/preferences.ui b/gajim/data/gui/preferences.ui new file mode 100644 index 0000000..f4ba03c --- /dev/null +++ b/gajim/data/gui/preferences.ui @@ -0,0 +1,871 @@ + + + + + + True + False + + + True + False + True + + + True + True + never + in + False + + + True + False + + + True + False + vertical + 24 + + + True + False + vertical + 12 + + + True + False + Behaviour of Windows & Tabs + 0 + + + + 0 + 0 + + + + + False + True + 0 + + + + + True + False + vertical + 12 + + + True + False + Contact List Appearance + 0 + + + + 0 + 0 + + + + + False + True + 1 + + + + + + + + + + + + general + General + computer-symbolic + + + + + True + True + never + in + False + + + True + False + + + True + False + vertical + 24 + + + True + False + vertical + 12 + + + True + False + Chats + 0 + + + + 0 + 0 + + + + + False + True + 0 + + + + + True + False + vertical + 12 + + + True + False + Group Chats + 0 + + + + 0 + 0 + + + + + False + True + 1 + + + + + + + + + + + + chats + Chats + user-available-symbolic + 1 + + + + + True + True + never + in + False + + + True + False + + + True + False + vertical + 24 + + + True + False + vertical + 12 + + + True + False + Visual Notifications + 0 + + + + 0 + 0 + + + + + False + True + 0 + + + + + True + False + vertical + 12 + + + True + False + Sounds + 0 + + + + 0 + 0 + + + + + False + True + 1 + + + + + + + + + + + + notifications + Notifications + mail-unread-symbolic + 2 + + + + + True + True + never + in + False + + + True + False + + + True + False + vertical + 24 + + + True + False + vertical + 12 + + + True + False + Ask For Status Message on… + 0 + + + + 0 + 0 + + + + + False + True + 0 + + + + + True + False + vertical + 12 + + + True + False + Automatic Status Change + 0 + + + + 0 + 0 + + + + + False + True + 1 + + + + + + + + + + + + status + Status + user-status-pending-symbolic + 3 + + + + + True + True + never + in + False + + + True + False + + + True + False + vertical + 24 + + + True + False + vertical + 12 + + + True + False + Themes + 0 + + + + 0 + 0 + + + + + False + True + 0 + + + + + True + False + vertical + 12 + + + True + False + Emoji + 0 + + + + 0 + 0 + + + + + False + True + 1 + + + + + True + False + vertical + 12 + + + True + False + Status Icon + 0 + + + + 0 + 0 + + + + + False + True + 2 + + + + + + + + + style + Style + applications-graphics-symbolic + 4 + + + + + True + True + never + in + False + + + True + False + + + True + False + vertical + + + True + False + vertical + + + True + False + warning + + + + False + 6 + end + + + Show _Features + True + True + True + True + + + True + True + 0 + + + + + + + + + + + False + False + 0 + + + + + False + 16 + + + + + + True + False + Missing dependencies for Audio/Video + + + False + True + 1 + + + + + + + + False + False + 0 + + + + button1 + + + + + + + False + True + 0 + + + + + False + True + 0 + + + + + + + + True + False + vertical + 24 + + + True + False + vertical + 12 + + + True + False + Server + 0 + + + + 0 + 0 + + + + + False + True + 0 + + + + + True + False + vertical + 12 + + + True + False + Audio + 0 + + + + 0 + 0 + + + + + False + True + 1 + + + + + True + False + vertical + 12 + + + True + False + Video + 0 + + + + 0 + 0 + + + + + False + True + 2 + + + + + False + True + 2 + + + + + + + + + + + + + + + audio_video + Audio/Video + audio-input-microphone-symbolic + 5 + + + + + True + True + never + in + False + + + True + False + + + True + False + vertical + 24 + + + True + False + 12 + + + True + False + vertical + 12 + + + True + False + Miscellaneous + 0 + + + + 0 + 0 + + + + + 0 + 0 + + + + + True + False + + + Reset Hints + True + True + True + This will reset all introduction hints + + + False + True + 0 + + + + + 0 + 1 + + + + + False + True + 0 + + + + + True + False + 12 + + + True + False + vertical + 12 + + + True + False + Advanced Settings + 0 + + + + 0 + 0 + + + + + 0 + 0 + + + + + True + False + + + Advanced Configuration Editor… + True + True + True + Please use these settings with caution! + + + False + True + 0 + + + + + 0 + 1 + + + + + False + True + 1 + + + + + + + + + advanced + Advanced + preferences-system-symbolic + 6 + + + + + + 1 + 0 + + + + + + + diff --git a/gajim/data/gui/profile.ui b/gajim/data/gui/profile.ui new file mode 100644 index 0000000..609bd5e --- /dev/null +++ b/gajim/data/gui/profile.ui @@ -0,0 +1,445 @@ + + + + + + False + + + + True + False + 6 + 12 + + + True + False + Privacy + + + + 0 + 0 + 3 + + + + + True + False + end + Contact Infos + + + 0 + 3 + + + + + True + False + end + Picture and Name + + + 0 + 2 + + + + + True + False + 6 + Make your profile visible for everyone or just for your contacts. + True + 42 + + + 0 + 1 + 3 + + + + + True + True + start + + + + 2 + 2 + + + + + True + True + start + + + + 2 + 3 + + + + + True + False + end + Contacts + + + 1 + 2 + + + + + True + False + end + Contacts + + + 1 + 3 + + + + + + + + True + False + + + True + False + True + + + spinner + + + + + True + False + vertical + + + True + True + False + + + True + False + + + True + False + vertical + 6 + + + 100 + 100 + True + False + center + + + True + False + avatar-default-symbolic + 6 + + + 1 + + + + + True + False + True + Remove your profile picture + start + end + True + + + + True + False + user-trash-symbolic + + + + + + + True + False + True + Change your profile picture + end + end + True + + + + True + False + document-edit-symbolic + + + + + 1 + + + + + False + True + 0 + + + + + NicknameEntry + 250 + True + False + True + Enter your nickname. This is how your name is displayed to your contacts. + center + 0.5 + Nickname + + + False + True + 1 + + + + + + + + + + True + True + 0 + + + + + True + False + + + _Cancel + False + False + True + True + + + + 0 + + + + + False + False + True + False + + + True + False + 6 + + + True + False + list-add-symbolic + + + False + True + 0 + + + + + True + False + Add Entry + + + False + True + 1 + + + + + + + 0 + + + + + False + False + True + Privacy + up + privacy_popover + + + True + False + preferences-system-privacy-symbolic + + + + + end + 0 + + + + + _Save + False + False + True + True + + + + + end + 0 + + + + + _Edit + True + False + False + True + + + + + end + 0 + + + + + False + True + end + 1 + + + + + profile + 1 + + + + + True + False + vertical + 6 + + + True + False + center + 12 + + + Cancel + True + True + False + + + + False + True + 0 + + + + + Update + True + True + True + + + + + False + True + 1 + + + + + False + True + end + 0 + + + + + + + + avatar_selector + 2 + + + + + diff --git a/gajim/data/gui/roster_item_exchange_window.ui b/gajim/data/gui/roster_item_exchange_window.ui new file mode 100644 index 0000000..8852bca --- /dev/null +++ b/gajim/data/gui/roster_item_exchange_window.ui @@ -0,0 +1,167 @@ + + + + + + + True + False + 18 + vertical + 6 + + + True + False + 6 + 6 + 12 + + + True + False + start + <user@example.org> would like to <action> some contacts in your contact list + True + 50 + 0 + + + 1 + 1 + + + + + True + False + start + Contact List Exchange + + + + 1 + 0 + + + + + True + False + avatar-default-symbolic + 6 + + + 0 + 0 + 2 + + + + + False + True + 0 + + + + + True + True + in + + + True + True + False + word + 6 + 6 + 6 + 6 + False + textbuffer1 + + + + + False + True + 2 + + + + + 350 + 250 + True + True + True + in + + + True + True + True + + + + + + + + False + True + 3 + + + + + True + False + 6 + 12 + end + + + _Cancel + True + True + True + True + + + + False + False + 0 + + + + + OK + True + True + True + + + + + False + False + 1 + + + + + False + True + 4 + + + + diff --git a/gajim/data/gui/roster_window.ui b/gajim/data/gui/roster_window.ui new file mode 100644 index 0000000..b28d21c --- /dev/null +++ b/gajim/data/gui/roster_window.ui @@ -0,0 +1,108 @@ + + + + + + + RosterWindow + 85 + 200 + False + Gajim + roster + 250 + 400 + + + + + + + + + + + True + False + vertical + + + + + + True + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + + + + True + False + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + vertical + + + True + True + False + + + + + False + True + 0 + + + + + True + True + never + + + True + True + True + False + True + + + + + + + + + + + + + True + True + 1 + + + + + False + True + + + + + + + + True + True + 1 + + + + + + + + + diff --git a/gajim/data/gui/server_info.ui b/gajim/data/gui/server_info.ui new file mode 100644 index 0000000..362d74f --- /dev/null +++ b/gajim/data/gui/server_info.ui @@ -0,0 +1,455 @@ + + + + + + True + True + + + True + False + center + 6 + 12 + + + True + False + end + Hostname + + + + 0 + 0 + + + + + True + False + start + True + end + True + 0 + + + 1 + 0 + + + + + True + False + end + Server Software + + + + 0 + 1 + + + + + True + False + start + True + end + True + 0 + + + 1 + 1 + + + + + True + False + end + Server Uptime + + + + 0 + 2 + + + + + True + False + start + True + end + True + + + 1 + 2 + + + + + True + False + 12 + Contact Addresses + + + + 0 + 3 + 2 + + + + + False + True + No contact addresses published for this server. + True + 50 + + + + 0 + 4 + 2 + + + + + + + + True + False + Server + + + False + + + + + True + False + 6 + 12 + True + + + True + False + start + True + 0 + + + 1 + 4 + + + + + True + False + end + Proxy Type + + + + 0 + 5 + + + + + True + False + start + No proxy used + 0 + + + 1 + 5 + + + + + View _Certificate + True + True + True + center + 12 + True + + + + 0 + 8 + 2 + + + + + True + False + end + Proxy Host + + + + 0 + 6 + + + + + True + False + start + - + 0 + + + 1 + 6 + + + + + True + False + end + Type + + + + 0 + 4 + + + + + True + False + end + Domain + + + + 0 + 0 + + + + + False + True + end + DNS + + + + 0 + 1 + + + + + False + True + end + IP / Port + + + + 0 + 2 + + + + + False + True + end + WebSocket URL + + + + 0 + 3 + + + + + True + False + start + 0 + + + 1 + 0 + + + + + False + True + start + 0 + + + 1 + 1 + + + + + False + True + start + 0 + + + 1 + 2 + + + + + False + True + start + 0 + + + 1 + 3 + + + + + + + + + + + + 1 + + + + + True + False + Connection + + + 1 + False + + + + + True + False + 18 + vertical + 12 + + + True + True + never + 500 + + + + + + True + True + 0 + + + + + True + True + True + Copy info to clipboard + end + + + + True + False + edit-copy-symbolic + + + + + False + True + 1 + + + + + 2 + + + + + True + False + Features + + + 2 + False + + + + diff --git a/gajim/data/gui/service_discovery_window.ui b/gajim/data/gui/service_discovery_window.ui new file mode 100644 index 0000000..0081134 --- /dev/null +++ b/gajim/data/gui/service_discovery_window.ui @@ -0,0 +1,230 @@ + + + + + + + + + + + + False + Service Discovery + center-always + 550 + 550 + + + + + 400 + 400 + True + False + 18 + vertical + 6 + + + True + False + 12 + + + + False + True + 0 + + + + + True + False + vertical + + + + False + True + 0 + + + + + + False + True + 1 + + + + + True + True + 1 + + + + + False + True + 0 + + + + + True + False + 12 + + + True + False + _Address + True + address_comboboxtext_entry + + + + False + True + 0 + + + + + True + False + center + True + + + + True + True + + + + + + True + True + 1 + + + + + True + True + True + True + False + Go + True + + + + True + False + go-next-symbolic + + + + + + False + True + 2 + + + + + False + True + 1 + + + + + True + False + True + center + True + + + False + True + 2 + + + + + True + True + etched-in + + + True + True + False + + + + + + + + True + True + 3 + + + + + True + False + 12 + + + + + + False + True + end + 4 + + + + + + diff --git a/gajim/data/gui/shortcuts_window.ui b/gajim/data/gui/shortcuts_window.ui new file mode 100644 index 0000000..559f0d3 --- /dev/null +++ b/gajim/data/gui/shortcuts_window.ui @@ -0,0 +1,327 @@ + + + + + + 1 + roster + Contact List + + + 1 + General + + + 1 + <primary>n + Start a new chat + + + + + 1 + <primary>g + Create new group chat + + + + + 1 + <primary>p + Preferences + + + + + 1 + <primary>e + Plugins + + + + + 1 + <primary>t + File transfers + + + + + 1 + <primary>s + Set the status message + + + + + 1 + <primary><shift>x + Show XML console + + + + + 1 + <primary>q + Quit Gajim + + + + + + + 1 + Appearance + + + 1 + <primary>o + Show offline contacts + + + + + 1 + <primary>y + Show only active contacts + + + + + 1 + <primary>k + Enable contact list filtering + + + + + 1 + <primary>r + Show / hide contact list + + + + + + + 1 + Contacts + + + 1 + <primary>i + Contact information + + + + + 1 + F2 + Rename contact + + + + + 1 + Delete + Delete contact + + + + + + + + + 1 + chat + Chat + + + 1 + Message composition + + + 1 + Return + Send the message + + + + + 1 + <shift>Return <primary>Return + Add new line + + + + + 1 + <primary><shift>m + Select an emoji + + + + + 1 + Tab + Complete a command or a nickname + + + + + 1 + <primary>Up + Previously sent message + + + + + 1 + <primary>Down + Next sent messages + + + + + 1 + <primary><alt>Up + Quote previous message + + + + + 1 + <primary><alt>Down + Quote next message + + + + + 1 + <primary>u + Clear message entry + + + + + + + 1 + Recent history + + + 1 + <shift>Page_Up + Scroll up + + + + + 1 + <shift>Page_Down + Scroll down + + + + + 1 + <primary>l + Clear chat window + + + + + 1 + <primary>h + Show chat history + + + + + + + 1 + Tabs + + + 1 + <primary>Page_Up + Switch to the previous tab + + + + + 1 + <primary>Page_Down + Switch to the next tab + + + + + 1 + <Alt>1...9 + Switch to the first - ninth tab + + + + + 1 + <primary><shift>Tab + Switch to the previous unread tab + + + + + 1 + <primary>Tab + Switch to the next unread tab + + + + + 1 + <primary><shift>Page_Up + Move tab to the left + + + + + 1 + <primary><shift>Page_Down + Move tab to the right + + + + + 1 + <primary>w + Close chat + + + + + + + 1 + Group Chat + + + 1 + <primary><shift>n + Change Nickname + + + + + 1 + <primary><shift>s + Change Subject + + + + + + + + diff --git a/gajim/data/gui/single_message_window.ui b/gajim/data/gui/single_message_window.ui new file mode 100644 index 0000000..877de01 --- /dev/null +++ b/gajim/data/gui/single_message_window.ui @@ -0,0 +1,379 @@ + + + + + + True + False + mail-reply-sender-symbolic + + + True + False + mail-send-symbolic + + + True + False + mail-send-symbolic + + + True + False + user-info-symbolic + + + True + False + 18 + vertical + + + True + False + True + 6 + 12 + + + True + False + end + _To + True + to_entry + + + + 0 + 0 + + + + + True + True + True + user@example.org + + + 1 + 0 + + + + + True + False + end + Su_bject + True + subject_entry + True + + + + 0 + 1 + + + + + True + True + Type the subject here... + True + + + 1 + 1 + 2 + + + + + True + False + end + _Message + True + message_textview + + + + 0 + 2 + + + + + 100 + True + True + True + in + + + True + True + word-char + 6 + 6 + 6 + 6 + + + + + 1 + 2 + 2 + + + + + True + False + end + Characters typed: 0 + + + + 0 + 3 + 3 + + + + + True + False + True + True + Query Contact Info + image4 + + + + 2 + 0 + + + + + True + True + 0 + + + + + True + False + True + 6 + 12 + + + True + False + end + _From + True + + + + 0 + 0 + + + + + True + False + end + Subject + + + + 0 + 1 + + + + + True + False + <user@example.org> + 0 + + + + 1 + 0 + + + + + True + False + <from Subject> + True + 50 + 0 + + + 1 + 1 + + + + + 100 + True + True + True + True + in + + + + + + 1 + 2 + + + + + True + False + end + Message + + + + 0 + 2 + + + + + True + True + 1 + + + + + True + False + 12 + 12 + end + + + _Close + True + True + True + False + True + True + + + + False + False + 0 + + + + + Sen_d + True + True + True + False + True + Send message + image2 + True + + + + False + False + 2 + + + + + _Reply + True + True + True + False + True + Reply to this message + image1 + True + + + + + False + False + 3 + + + + + _Send & Close + True + True + True + False + True + Send message and close window + image3 + True + + + + + False + False + 4 + + + + + False + True + 6 + 4 + + + + diff --git a/gajim/data/gui/ssl_error_dialog.ui b/gajim/data/gui/ssl_error_dialog.ui new file mode 100644 index 0000000..40e6ad9 --- /dev/null +++ b/gajim/data/gui/ssl_error_dialog.ui @@ -0,0 +1,146 @@ + + + + + + True + False + 18 + vertical + 6 + + + True + False + 6 + SSL Certificate Verification Error + + + + False + True + 0 + + + + + True + False + 30 + 6 + True + 50 + + + False + True + 1 + + + + + True + False + Identified Error + + + + False + True + 2 + + + + + True + False + 12 + <error> + True + 42 + + + False + True + 3 + + + + + Add this certificate to the list of _trusted certificates + True + False + True + start + 15 + 15 + True + True + + + + False + True + 4 + + + + + + + + True + False + 12 + True + 12 + True + + + _View Certificate + True + True + True + start + True + + + + False + True + 1 + + + + + _Connect + True + False + True + True + end + True + + + + + False + True + 2 + + + + + False + True + 6 + + + + diff --git a/gajim/data/gui/start_chat_dialog.ui b/gajim/data/gui/start_chat_dialog.ui new file mode 100644 index 0000000..ea506f6 --- /dev/null +++ b/gajim/data/gui/start_chat_dialog.ui @@ -0,0 +1,555 @@ + + + + + + + + + + + + + + + + True + False + + + + True + False + vertical + + + True + False + True + True + + + + False + end + + + + + + False + False + 0 + + + + + False + 6 + + + True + False + dialog-information-symbolic + 3 + + + False + True + 0 + + + + + True + False + Start a new chat, join a group chat or search for new group chats globally. You can also enter an XMPP address. + True + 46 + 0 + + + False + True + 1 + + + + + False + False + 0 + + + + + False + True + 0 + + + + + True + False + 18 + vertical + 6 + + + True + False + 6 + + + True + True + True + True + True + edit-find-symbolic + False + False + + + False + True + 0 + + + + + True + True + True + Global Group Chat Search + end + half + + + + True + False + feather-globe-symbolic + + + + + False + True + 1 + + + + + False + True + 1 + + + + + True + True + never + in + + + True + False + + + StartChatListBox + True + False + browse + False + + + + + + + True + True + 2 + + + + + True + True + 1 + + + + + search + + + + + True + False + vertical + + + True + False + center + center + True + True + + + False + True + 0 + + + + + progress + 1 + + + + + True + False + vertical + + + True + False + vertical + 12 + True + + + True + False + end + dialog-error + 6 + + + False + True + 0 + + + + + True + False + start + center + True + + + + False + True + 1 + + + + + True + True + 0 + + + + + _Back + True + True + True + start + True + + + + False + True + end + 1 + + + + + + error + 2 + + + + + True + False + vertical + 6 + + + + + + True + False + + + True + False + + + + + + _Join + True + True + True + end + True + + + + + False + True + end + 1 + + + + + + False + True + end + 1 + + + + + _Back + True + True + True + start + True + + + + False + True + 2 + + + + + False + True + end + 1 + + + + + + info + 3 + + + + + True + False + vertical + 6 + + + True + False + Select Account + center + True + + + + False + True + 0 + + + + + True + True + True + never + in + + + True + True + account_store + False + False + False + + + + + + + + + + 0 + + + + + + + + + + 2 + + + + + + + + + + + False + True + 1 + + + + + True + False + True + + + _Back + True + True + True + start + True + + + + False + True + 0 + + + + + _Select + True + True + True + end + True + + + + + False + True + 1 + + + + + False + True + end + 2 + + + + + + account + 4 + + + + + True + False + center + center + vertical + 12 + + + True + False + avatar-default-symbolic + 6 + + + + False + True + 0 + + + + + True + False + No contacts found +You can also type an XMPP address + center + True + 35 + + + + False + True + 1 + + + + diff --git a/gajim/data/gui/status_change_window.ui b/gajim/data/gui/status_change_window.ui new file mode 100644 index 0000000..b27c8f8 --- /dev/null +++ b/gajim/data/gui/status_change_window.ui @@ -0,0 +1,814 @@ + + + + + + False + + + + + + True + False + 150 + + + True + False + 18 + vertical + 6 + + + True + False + 12 + Change Status + + + + False + True + 0 + + + + + True + False + center + 12 + + + True + True + False + True + preset_popover + + + + True + False + Status Presets… + + + + + False + True + 0 + + + + + True + True + True + False + Save this message as a preset + + + + True + False + document-save-as-symbolic + + + + + False + False + 2 + + + + + False + True + 1 + + + + + True + True + in + + + True + True + word + 6 + 6 + 6 + 6 + + + + + True + True + 2 + + + + + True + False + center + 6 + 12 + + + True + False + end + Ac_tivity + True + + + + 0 + 0 + + + + + True + False + end + M_ood + True + + + + 0 + 1 + + + + + True + False + True + True + + + + True + False + 6 + + + True + False + + + False + True + 0 + + + + + True + False + start + True + + + True + True + 1 + + + + + + + 2 + 0 + + + + + True + False + True + True + + + + True + False + 6 + + + True + False + + + False + True + 0 + + + + + True + False + start + True + + + True + True + 1 + + + + + + + 2 + 1 + + + + + True + True + center + + + + 1 + 0 + + + + + True + True + center + + + + 1 + 1 + + + + + False + True + 3 + + + + + _Change Status + True + True + True + center + 12 + True + + + + + False + True + 5 + + + + + status-page + + + + + True + False + 18 + vertical + 6 + + + True + False + 12 + Activity + + + + False + True + 0 + + + + + _No Activity + True + True + False + center + True + True + True + + + + False + True + 1 + + + + + True + True + True + + + True + False + 6 + vertical + + + + + + + + + + + + + + True + False + 1 + + + False + + + + + True + False + 6 + vertical + + + + + + + + + + + + 1 + + + + + True + False + 1 + + + 1 + False + + + + + True + False + 6 + vertical + + + + + + + + + + + + 2 + + + + + True + False + 1 + + + 2 + False + + + + + True + False + 6 + vertical + + + + + + + + + + + + 3 + + + + + True + False + 1 + + + 3 + False + + + + + True + False + 6 + vertical + + + + + + + + + + + + 4 + + + + + True + False + 1 + + + 4 + False + + + + + True + False + 6 + vertical + + + + + + + + + + + + 5 + + + + + True + False + 1 + + + 5 + False + + + + + True + False + 6 + vertical + + + + + + + + + + + + 6 + + + + + True + False + 1 + + + 6 + False + + + + + True + False + 6 + vertical + + + + + + + + + + + + 7 + + + + + True + False + 1 + + + 7 + False + + + + + True + False + 6 + vertical + + + + + + + + + + + + 8 + + + + + True + False + 1 + + + 8 + False + + + + + True + False + 6 + vertical + + + + + + + + + + + + 9 + + + + + True + False + 1 + + + 9 + False + + + + + True + False + 6 + vertical + + + + + + + + + + + + 10 + + + + + True + False + 1 + + + 10 + False + + + + + True + True + 2 + + + + + _Back + True + True + True + center + 12 + True + + + + + False + True + 3 + + + + + activity-page + 1 + + + + + True + False + 18 + vertical + 6 + + + True + False + 12 + Mood + + + + False + True + 0 + + + + + True + False + + + + False + True + 2 + + + + + True + False + True + + + True + True + False + none + True + False + + + True + False + 1 + + + + + 0 + 0 + + + + + True + True + 3 + + + + + _Back + True + True + True + center + 12 + True + + + + + False + True + 5 + + + + + mood-page + 2 + + + + diff --git a/gajim/data/gui/subscription_request_window.ui b/gajim/data/gui/subscription_request_window.ui new file mode 100644 index 0000000..268aebb --- /dev/null +++ b/gajim/data/gui/subscription_request_window.ui @@ -0,0 +1,251 @@ + + + + + + False + + + True + False + 6 + vertical + 6 + + + True + True + True + _Deny + + + + False + True + 0 + + + + + True + False + True + True + _Block User + + + + False + True + 1 + + + + + True + False + True + True + _Report as Spam + + + + False + True + 2 + + + + + main + 1 + + + + + True + False + user-available-symbolic + + + True + False + user-info-symbolic + + + True + False + start + 18 + vertical + 6 + + + True + False + 6 + 12 + + + True + False + Subscription Request + True + word-char + + + + 0 + 0 + 2 + + + + + True + False + start + <subscription request> + True + 50 + 0 + + + + 1 + 1 + + + + + True + False + start + 6 + <subscription text> + + True + 50 + 0 + 0 + + + + + + 1 + 2 + + + + + True + True + False + Start Chat + center + image1 + + + + 0 + 2 + + + + + True + True + False + Contact Information + center + image2 + + + + 0 + 1 + + + + + False + True + 0 + + + + + True + False + 12 + + + False + True + 2 + + + + + True + False + baseline + 12 + 12 + True + + + True + True + False + True + deny_popover + + + True + False + _Deny… + True + + + + + False + True + 0 + + + + + Ac_cept + True + True + True + True + Allows the contact to see your online status + True + + + + + False + True + 2 + + + + + False + True + 3 + + + + diff --git a/gajim/data/gui/synchronise_select_account_dialog.ui b/gajim/data/gui/synchronise_select_account_dialog.ui new file mode 100644 index 0000000..365f862 --- /dev/null +++ b/gajim/data/gui/synchronise_select_account_dialog.ui @@ -0,0 +1,105 @@ + + + + + + False + 12 + Synchronise contacts + 350 + 300 + dialog + + + + True + False + vertical + 6 + + + True + False + end + + + gtk-cancel + True + True + True + False + True + + + + False + False + 0 + + + + + gtk-ok + True + True + True + False + True + + + + False + False + 1 + + + + + False + False + end + 0 + + + + + True + False + Select the account with which you want to synchronise + + + False + False + 2 + + + + + 150 + True + True + in + + + True + True + + + + + + + + True + True + 3 + + + + + + cancel_button + ok_button + + + diff --git a/gajim/data/gui/synchronise_select_contacts_dialog.ui b/gajim/data/gui/synchronise_select_contacts_dialog.ui new file mode 100644 index 0000000..7bc2abb --- /dev/null +++ b/gajim/data/gui/synchronise_select_contacts_dialog.ui @@ -0,0 +1,104 @@ + + + + + + False + 12 + Synchronise : select contacts + 400 + 300 + dialog + + + True + False + vertical + 6 + + + True + False + end + + + gtk-cancel + True + True + True + False + True + + + + False + False + 0 + + + + + gtk-ok + True + True + True + False + True + + + + False + False + 1 + + + + + False + False + end + 0 + + + + + True + False + Select the contacts you want to synchronise + + + False + False + 2 + + + + + 150 + True + True + in + + + True + True + + + + + + + + True + True + 3 + + + + + + cancel_button + ok_button + + + diff --git a/gajim/data/gui/systray_context_menu.ui b/gajim/data/gui/systray_context_menu.ui new file mode 100644 index 0000000..7e78d65 --- /dev/null +++ b/gajim/data/gui/systray_context_menu.ui @@ -0,0 +1,89 @@ + + + + + + + False + + + True + False + Sta_tus + True + + + + + True + False + _Start Chat... + True + + + + + + True + False + Send Single _Message... + True + + + + + True + False + + + + + True + False + Show All Pending _Events + True + + + + + + True + False + Mute Sounds + True + + + + + + True + False + True + + + + + True + False + _Preferences + True + + + + + + True + False + + + + + True + False + _Quit + True + + + + + diff --git a/gajim/data/gui/themes_window.ui b/gajim/data/gui/themes_window.ui new file mode 100644 index 0000000..3030be8 --- /dev/null +++ b/gajim/data/gui/themes_window.ui @@ -0,0 +1,240 @@ + + + + + + False + + + True + True + never + in + 260 + False + + + True + False + + + True + False + none + + + + + + + + + + + True + False + vertical + + + True + False + True + word + Add a setting you would like to change + + + + True + True + 0 + + + + + + + + + + + True + False + 6 + + + True + True + never + in + + + 150 + True + True + theme_store + + + + + + + + Themes + + + True + + + + 0 + + + + + + + + + 0 + 0 + + + + + True + True + True + never + in + + + True + False + + + 200 + True + False + True + none + False + + + + + + + + 1 + 0 + + + + + True + False + center + center + + + True + True + True + option_popover + + + True + False + 6 + + + True + False + list-add-symbolic + 1 + + + False + True + 0 + + + + + True + False + Add Setting + + + False + True + 1 + + + + + + + False + True + end + 0 + + + + + 1 + 1 + + + + + True + False + 2 + + + True + False + Add new Theme + True + list-add-symbolic + + + + False + True + + + + + True + False + False + Remove Theme + True + list-remove-symbolic + + + + False + True + + + + + + 0 + 1 + + + + diff --git a/gajim/data/gui/tooltip_gc_contact.ui b/gajim/data/gui/tooltip_gc_contact.ui new file mode 100644 index 0000000..adbdb09 --- /dev/null +++ b/gajim/data/gui/tooltip_gc_contact.ui @@ -0,0 +1,117 @@ + + + + + + True + False + 6 + + + True + False + + + 0 + 0 + 6 + + + + + True + False + start + True + end + True + 36 + + + + + + 1 + 1 + + + + + True + False + start + start + end + True + 25 + + + + + + + 1 + 0 + + + + + True + False + start + start + + + 1 + 3 + + + + + True + False + start + True + + + 1 + 5 + + + + + True + False + start + start + True + word-char + end + 40 + 3 + 0 + + + + + + 1 + 4 + + + + + True + False + start + start + + + 1 + 2 + + + + diff --git a/gajim/data/gui/tooltip_roster_contact.ui b/gajim/data/gui/tooltip_roster_contact.ui new file mode 100644 index 0000000..5e5272c --- /dev/null +++ b/gajim/data/gui/tooltip_roster_contact.ui @@ -0,0 +1,289 @@ + + + + + + True + False + start + 6 + 3 + 12 + + + True + False + end + start + Resource: + + + 0 + 5 + + + + + True + False + start + start + True + + + 1 + 5 + + + + + True + False + start + start + True + end + 36 + + + + + + 1 + 1 + + + + + True + False + end + start + Idle since: + + + 0 + 12 + + + + + True + False + start + start + True + + + 1 + 12 + + + + + True + False + end + start + Mood: + + + 0 + 6 + + + + + True + False + end + start + Activity: + 2 + + + 0 + 7 + + + + + True + False + end + start + Tune: + + + 0 + 8 + + + + + True + False + end + start + Location: + + + 0 + 9 + + + + + True + False + start + start + True + + + 1 + 6 + + + + + True + False + start + start + True + + + 1 + 7 + + + + + True + False + start + start + True + + + 1 + 8 + + + + + True + False + start + start + True + + + 1 + 9 + + + + + True + False + end + start + Subscription: + + + 0 + 11 + + + + + True + False + start + start + True + + + 1 + 11 + + + + + True + False + start + start + True + word-char + end + 40 + 3 + 0 + + + + + + 1 + 4 + + + + + True + False + start + start + end + True + 25 + + + + 1 + 0 + + + + + True + False + start + start + True + + + 1 + 2 + + + + + True + False + start + start + image-missing + + + 0 + 0 + 5 + + + + + + + + + + + + + diff --git a/gajim/data/gui/vcard_information_window.ui b/gajim/data/gui/vcard_information_window.ui new file mode 100644 index 0000000..dbe131c --- /dev/null +++ b/gajim/data/gui/vcard_information_window.ui @@ -0,0 +1,1586 @@ + + + + + + False + 12 + Contact Information + False + dialog + + + + + True + False + vertical + 12 + + + True + True + start + True + + + False + False + 0 + + + + + True + False + + + + True + False + 0.98 + start + 12 + 12 + 8 + 8 + 6 + 6 + + + True + False + end + start + XMPP Address + True + + + + 0 + 0 + + + + + True + False + end + start + Resource + True + + + + 0 + 1 + + + + + True + False + end + start + Status + True + + + + 0 + 2 + + + + + True + False + end + start + Client + True + + + + 0 + 3 + + + + + True + False + end + start + System + True + + + + 0 + 4 + + + + + True + False + end + start + Contact time + True + + + + 0 + 5 + + + + + True + False + start + start + 5 + True + True + + + 1 + 0 + + + + + True + False + True + False + + + True + False + start + start + 5 + True + True + + + + + 1 + 1 + + + + + True + False + start + start + 5 + True + True + + + 1 + 3 + + + + + True + False + start + start + 5 + True + True + True + + + 1 + 4 + + + + + True + False + start + start + 5 + True + True + + + 1 + 5 + + + + + False + True + start + User avatar + True + + + + 2 + 0 + + + + + False + True + Configured avatar + True + + + + 2 + 0 + + + + + False + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + True + start + start + gtk-missing-image + + + 2 + 1 + 7 + + + + + True + False + end + start + Ask + True + + + + 0 + 7 + + + + + True + False + end + start + Subscription + True + + + + 0 + 6 + + + + + True + False + start + start + 5 + True + word-char + True + 20 + 30 + + + 1 + 2 + + + + + True + False + start + start + 5 + True + + + 1 + 6 + + + + + True + False + start + start + 5 + True + + + 1 + 7 + + + + + True + False + start + False + + + False + True + start + start + gtk-missing-image + + + + + 2 + 1 + 7 + + + + + + + True + False + Contact + + + False + + + + + True + False + start + 12 + 12 + 8 + 8 + 6 + 6 + 6 + + + True + False + Full Name + True + start + 1 + + + + 0 + 0 + + + + + True + False + True + 5 + True + 0 + + + 1 + 0 + + + + + True + False + Nickname + True + 1 + + + + 2 + 0 + + + + + True + False + True + 5 + True + 0 + + + 3 + 0 + + + + + True + True + start + start + + + True + False + start + 25 + 12 + 3 + 3 + 6 + 6 + + + True + False + Street + True + 1 + + + + 0 + 0 + + + + + True + False + City + True + 1 + + + + 0 + 1 + + + + + True + False + State + True + 1 + + + + 0 + 2 + + + + + True + False + True + 5 + True + 0 + + + 1 + 0 + + + + + True + False + True + 5 + True + 0 + + + 1 + 1 + + + + + True + False + True + 5 + True + 0 + + + 1 + 2 + + + + + True + False + Extra Address + True + 1 + + + + 2 + 0 + + + + + True + False + Postal Code + True + 1 + + + + 2 + 1 + + + + + True + False + Country + True + 1 + + + + 2 + 2 + + + + + True + False + True + 5 + True + 0 + + + 3 + 0 + + + + + True + False + True + 5 + True + 0 + + + 3 + 1 + + + + + True + False + True + 5 + True + 0 + + + 3 + 2 + + + + + + + True + False + <b>Address</b> + True + 0 + 0 + + + + + 0 + 2 + 4 + + + + + True + False + Homepage + True + 1 + + + + 0 + 3 + + + + + True + False + E-Mail + True + 1 + + + + 0 + 4 + + + + + True + False + Phone No. + True + 1 + + + + 0 + 5 + + + + + True + False + True + 5 + True + 0 + + + 1 + 5 + + + + + True + False + True + 5 + True + 0 + + + 3 + 5 + + + + + True + False + Format: YYYY-MM-DD + False + + + True + False + Birthday + True + 1 + + + + + + 2 + 5 + + + + + True + True + start + start + + + True + False + start + 25 + 12 + 3 + 3 + 6 + 6 + + + True + False + Family + True + 1 + + + + 0 + 0 + + + + + True + False + Middle + True + 1 + + + + 0 + 1 + + + + + True + False + Prefix + True + 1 + + + + 0 + 2 + + + + + True + False + True + 5 + True + 0 + + + 1 + 0 + + + + + True + False + True + 5 + True + 0 + + + 1 + 1 + 3 + + + + + True + False + True + 5 + True + 0 + + + 1 + 2 + + + + + True + False + Given + True + 1 + + + + 2 + 0 + + + + + True + False + Suffix + True + 1 + + + + 2 + 2 + + + + + True + False + True + 5 + True + 0 + + + 3 + 0 + + + + + True + False + True + 5 + True + 0 + + + 3 + 2 + + + + + + + True + False + <b>Name Details</b> + True + 0 + 0 + + + + + 0 + 1 + 4 + + + + + button + True + True + True + start + none + 0 + + + + 1 + 3 + 3 + + + + + button + True + True + True + none + 0 + + + + 1 + 4 + 3 + + + + + 1 + + + + + True + False + Personal Info + + + 1 + False + + + + + True + False + start + 12 + 12 + 8 + 8 + 6 + 6 + 6 + + + True + False + Company + True + 1 + + + + 0 + 0 + + + + + True + False + start + True + 5 + True + end + 0 + + + 1 + 0 + + + + + True + False + True + Department + True + 1 + + + + 2 + 0 + + + + + True + False + True + 5 + True + end + 0 + + + 3 + 0 + + + + + True + False + Position + True + 1 + + + + 0 + 1 + + + + + True + False + 5 + True + end + 0 + + + 1 + 1 + + + + + True + False + Role + True + 1 + + + + 2 + 1 + + + + + True + False + 5 + True + end + 0 + + + 3 + 1 + + + + + True + True + start + start + + + True + False + start + 21 + 12 + 6 + 6 + + + True + False + Street + True + 1 + + + + 0 + 0 + + + + + True + False + City + True + 1 + + + + 0 + 1 + + + + + True + False + State + True + 1 + + + + 0 + 2 + + + + + True + False + Extra Address + True + True + 1 + + + + 2 + 0 + + + + + True + False + Postal Code + True + 1 + + + + 2 + 1 + + + + + True + False + Country + True + 1 + + + + 2 + 2 + + + + + True + False + start + True + 5 + True + 0 + + + 1 + 0 + + + + + True + False + True + 5 + True + 0 + + + 1 + 1 + + + + + True + False + True + 5 + True + 0 + + + 1 + 2 + + + + + True + False + True + 5 + True + 0 + + + 3 + 2 + + + + + True + False + True + 5 + True + 0 + + + 3 + 1 + + + + + True + False + True + 5 + True + 0 + + + 3 + 0 + + + + + + + True + False + <b>Address</b> + True + 0 + 0 + + + + + 0 + 2 + 4 + + + + + True + False + E-Mail + True + 1 + + + + 0 + 3 + + + + + True + False + Phone No. + True + 1 + 0 + + + + 0 + 4 + + + + + True + False + 5 + True + 0 + 0 + + + 1 + 4 + 3 + + + + + button + True + True + True + start + none + 0 + + + + 1 + 3 + 3 + + + + + 2 + + + + + True + False + Work + + + 2 + False + + + + + True + True + 6 + in + + + 70 + True + True + False + word + False + + + + + 3 + + + + + True + False + About + + + 3 + False + + + + + True + True + 6 + in + + + 70 + True + True + word + + + + + 4 + + + + + True + False + Comments + + + 4 + False + + + + + False + True + 1 + + + + + True + False + + + True + False + 0.10000000149 + + + False + False + 0 + + + + + True + False + end + + + gtk-close + True + True + True + False + True + + + + False + False + 0 + + + + + False + True + end + 1 + + + + + False + True + 2 + + + + + + + + + diff --git a/gajim/data/gui/video_preview.ui b/gajim/data/gui/video_preview.ui new file mode 100644 index 0000000..89561be --- /dev/null +++ b/gajim/data/gui/video_preview.ui @@ -0,0 +1,70 @@ + + + + + + 250 + True + False + vertical + 6 + + + True + False + + + False + True + 0 + + + + + + + + True + False + True + vertical + + + True + False + camera-web-symbolic + 6 + + + + False + True + 0 + + + + + True + False + Live Preview + + + + False + True + 1 + + + + + False + True + 2 + + + + diff --git a/gajim/data/gui/xml_console.ui b/gajim/data/gui/xml_console.ui new file mode 100644 index 0000000..250fb41 --- /dev/null +++ b/gajim/data/gui/xml_console.ui @@ -0,0 +1,355 @@ + + + + + + True + False + XML Console + True + + + True + False + utilities-terminal-symbolic + + + + + True + True + True + 6 + + + + True + False + system-search-symbolic + + + + + 1 + + + + + False + start + + + True + False + none + + + + True + True + + + True + False + Message + + + + + + + True + True + + + True + False + Presence + + + + + + + True + True + + + True + False + Iq + + + + + + + + + + True + False + vertical + + + True + True + True + vertical + + + True + False + vertical + + + True + False + none + 100 + + + True + False + center + False + 2 + + + True + False + 6 + + + True + True + edit-find-symbolic + False + False + Start Search... + + + + + + False + True + + + + + True + False + True + go-down-symbolic + + + + False + True + + + + + True + False + True + go-up-symbolic + + + + False + True + + + + + + + False + True + 0 + + + + + 400 + True + True + in + + + True + True + False + 6 + 6 + 6 + 6 + + + + + True + True + 1 + + + + + True + False + + + + + 150 + True + True + in + + + True + True + + + + + False + False + + + + + False + True + 0 + + + + + actionbar + True + False + + + True + True + True + Filter + + + + True + False + applications-system-symbolic + + + + + 0 + + + + + True + True + True + Clear + + + + True + False + edit-clear-all-symbolic + + + + + 2 + + + + + True + True + True + + + + True + False + document-edit-symbolic + + + + + 3 + + + + + True + True + True + + + + True + False + Paste Last Input + insert-text-symbolic + + + + + 3 + + + + + True + True + True + Presets + popover + + + + + + 5 + + + + + + + + + + + _Send + True + True + True + True + + + + end + 0 + + + + + False + True + end + 1 + + + + diff --git a/gajim/data/gui/zeroconf_context_menu.ui b/gajim/data/gui/zeroconf_context_menu.ui new file mode 100644 index 0000000..8527342 --- /dev/null +++ b/gajim/data/gui/zeroconf_context_menu.ui @@ -0,0 +1,31 @@ + + + + + + False + + + True + False + _Status + True + + + + + True + False + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + + + + + True + False + _Modify Account… + True + + + + diff --git a/gajim/data/gui/zeroconf_information_window.ui b/gajim/data/gui/zeroconf_information_window.ui new file mode 100644 index 0000000..2d3f445 --- /dev/null +++ b/gajim/data/gui/zeroconf_information_window.ui @@ -0,0 +1,398 @@ + + + + + + False + 12 + Contact Information + False + dialog + + + + + True + False + vertical + 12 + + + True + True + 0 + True + + + False + False + 0 + + + + + True + False + + + True + False + 6 + 12 + + + True + False + 6 + 6 + + + True + False + 0 + 0 + Local jid: + + + 0 + 0 + + + + + True + False + 0 + 0 + Resource: + + + 0 + 1 + + + + + True + False + 0 + 0 + Status: + + + 0 + 2 + + + + + _Store conversation history + True + True + False + True + 0 + True + True + + + 0 + 3 + 2 + + + + + True + False + True + 0 + 0 + 5 + 5 + True + + + 1 + 0 + + + + + True + False + False + + + True + False + True + 0 + 0 + 5 + 5 + True + + + + + 1 + 1 + + + + + True + False + + + True + False + True + 0 + 0 + 5 + 5 + True + + + + + 1 + 2 + + + + + False + True + 0 + + + + + True + False + vertical + + + True + False + False + + + True + False + 0 + + + + + False + False + 0 + + + + + + + + False + True + 1 + + + + + + + True + False + 0 + 0 + Contact + + + False + + + + + True + False + 6 + 6 + 6 + + + True + False + 0 + 0 + First Name: + + + 0 + 0 + + + + + True + False + 0 + 0 + Last Name: + + + 0 + 1 + + + + + True + False + 0 + 0 + XMPP Address: + + + 0 + 2 + + + + + True + False + 0 + 0 + E-Mail: + + + 0 + 3 + + + + + True + False + True + 0 + 0 + 5 + 5 + True + + + 1 + 0 + + + + + True + False + True + 0 + 0 + 5 + 5 + True + + + 1 + 1 + + + + + True + False + True + 0 + 0 + 5 + 5 + True + + + 1 + 2 + + + + + True + False + True + 0 + 0 + 5 + 5 + True + True + + + 1 + 3 + + + + + 1 + + + + + True + False + Personal + + + 1 + False + + + + + False + True + 1 + + + + + True + False + end + + + gtk-close + True + True + True + False + True + + + + False + False + 0 + + + + + False + True + 2 + + + + + + diff --git a/gajim/data/icons/hicolor/16x16/actions/gajim-kbd_input.png b/gajim/data/icons/hicolor/16x16/actions/gajim-kbd_input.png new file mode 100644 index 0000000000000000000000000000000000000000..782395a57f716d48c0d9044c760e98306eb84657 GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;RN#5=* z4F5rJ!QSPQfg+p*9+AZi4BSE>%y{W;-5;Q!ucwP+h{fsTgav{>_>aEG*~GKxhH8o7 zf`|56$I=-5On2}&n=!-+w<*3@_SlGFwbY(vj|&*{)GwdnR$*28dg)-j*JMNHrIig@ dGdmR+81#c;ckh^Ea|>uNgQu&X%Q~loCIB;aJK6vM literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/devices/feather-briefcase-symbolic.symbolic.png b/gajim/data/icons/hicolor/16x16/devices/feather-briefcase-symbolic.symbolic.png new file mode 100644 index 0000000000000000000000000000000000000000..5598d7e33333efc72d67fabc937a5952300fffb8 GIT binary patch literal 280 zcmV+z0q6dSP)ohh55HaQhur{Xv0000$80?XOro@_uW*9DHSDjnk$Oa2%qw!{JK;ssCG3eBxMna3OLGIp|W zi7SEqNKX1d#&rLg#xae3EG9TbKl-`^cnquycR07*qo IM6N<$f^l?_WdHyG literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/devices/feather-camera-symbolic.symbolic.png b/gajim/data/icons/hicolor/16x16/devices/feather-camera-symbolic.symbolic.png new file mode 100644 index 0000000000000000000000000000000000000000..2b2c59cbf1705022bfdb4456de0b9ee6bd7dad89 GIT binary patch literal 344 zcmV-e0jK_nP)hHuU_()39#m%N|P^SS5lIr@xT7rupZ#IA4=3-gKM5>8Rf zuwr1PR0or&VJff%d|?$offewGF}ws;$3X!%SV1Es8ra5X=AbqnFq7$eBP=ac6IWTs zQCMqL&Ig&s qbB_kgcrV}4*3GTP5DN>#E?55RLbI5_@N{^aieb7yOJ8Iy5&0 z?rr8=H|fOj3U}RvTAPIT`a65X=di75%;Yn6g7l=RGC^;4sK-Fwy2BO;H{d4+W})%wpNu!-dhhe_?$%-J#{yg zsr-EIZ0#Re!D;(NL^K53PjFxHaDF1V?nc{*4aYf~w;i5({=eCd4nJ zaP0+Q#w~kgl7NDeC9V-A!TD(=<%vb94CUqJdYO6I#mR{Use1WE>9gP2NHH)lYJ0jk zhFJ9WUiQ^K5-7s<;l7Us8+WRq<|!w`eaB9)#W!!walIC&JikFl*VB%b>#26d$LDcg5#ypWk_YsVDQz1GfCc>o?ridg!ITo~NMuh&6pj|7OlJNdoN= z$Cf*NP~EqoYu|_RR!7$C43_Qc{sjUDi(9$+4;7tppR{++bGJJ&M=B!(Uke($O5I2f zD^usxsyGxTS(=$3uiH`o&^GB+YR{u}yp=3h#r{?IOid2Xa%>3hdF+@~YGJMYaJI^f z$7Z4-%0HNA&-~94uJX~wt2wh>@yoGY^5^$+W?!1T=I>;M<85yw6YXU_%d+URl$)3T z^V+G{xg^y3@6EH~FP8l@&Q0Q6KdB+_agLC&#DtXni$2UOy0Ssl_lM~ltx5i(C+(j{ WxtY8^ujmU5TLw>8KbLh*2~7aRm#yLe literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/devices/feather-eye-off-symbolic.symbolic.png b/gajim/data/icons/hicolor/16x16/devices/feather-eye-off-symbolic.symbolic.png new file mode 100644 index 0000000000000000000000000000000000000000..dbe4eb288ee13652f7934d75ce145b5d745c072e GIT binary patch literal 432 zcmV;h0Z;ykP)HK~y-6rP4hw!%-Lo@E>gqW_$pH&a76S!q`X{L`veNiMOG# zh#;(1lMi4Z48&VvvFSn(43&tt1i^4`o2FVro$dag^FQ~TbDsqANa9c(NW`BP@PvbU zL?DB2WaBxBeLSLoBTS&RngfFUN6e!G8)(8NcJP6I4B;AQ)m#kXtHMb+nz0l))0M-4 zI2bF7Gg%{UU*x8XA5wV5Y#C`jiY(R;$>9y1gtCr>;)+0-1OK8Eku$=`w3$HYTHow=tE{q6qGyf6E aApZkY%T<+;0_MvA00002?7 z8z9Vhe8JAOKtah8*NBqf{Irtt#G+J&^73-M%)IR4`4^%}L_uzUXHxn04^$$BytbYQHiIK3i^7te)Zaa8j7dtUZ$V zwkBD-D{e{Mzox_UW*<+1LDn|Wm?Jr|Hm%F`qL(OcD+mpGAbk18(YfnG_Z{V1R_Fak ax`v@Z#QI=eh%+c87(8A5T-G@yGywq2jG!(6 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/devices/feather-globe-symbolic.symbolic.png b/gajim/data/icons/hicolor/16x16/devices/feather-globe-symbolic.symbolic.png new file mode 100644 index 0000000000000000000000000000000000000000..24a8c2a9d80ada00097e130371f4e8e974366ddb GIT binary patch literal 455 zcmV;&0XY7NP)x>;VC=ECe#5u@HK#4I* zi5n32KnO5Fwm|p`q$iG)nUI*YgF25C&1+Bcl6&f&x^?cmRUP9og{8!YIQozF7F}%M z9K(_C46mbU#bfN^8lSL_i+p?doZL>d_fFo$0JC_JQ*fLJ12LHM-ML(AK2?7 z8z9Vhe8JAOKtah8*NBqf{Irtt#G+J&^73-M%)IR4q?szOQ+T>`8jgr$8hMCuoN-_d(y*ATCv<;F!}S~IcWu@= zy+K(tKq7AvQ~U$9JHnl8>EiZ>!lmcLylJWKbNt64H|+q&l|$AK@_Z*S?0vY}3tL}-j(;4<^5wbEq>wOl5vIo zd6IXIi}+jId}M!2IZZ-ju6V>FskvQz)`FXP(iZawn`k}QDkV7kVBVt{r}ex4oLS6N z(K@?h=K5Z1)ljz=s=x0|Yw3~|DQ*88k)G<9DtqPHf6otn%v-Vza%I>y2g-B*6uv6i tov^QVj-KDeBXKw4lKj5UuQ*`5hM{ehv6@7=l?2eU44$rjF6*2UngEM_bUXk6 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/devices/feather-lock-symbolic.symbolic.png b/gajim/data/icons/hicolor/16x16/devices/feather-lock-symbolic.symbolic.png new file mode 100644 index 0000000000000000000000000000000000000000..73a161c98e03ad8371871eec44c186619f40ea62 GIT binary patch literal 374 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ zuqS~qqea!s+dx6d64!{5;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq=1S(d%8G= zSo9vfelmD%3P{S%KYS?9CGek# z&a*vdzn-%;PJ6mCc>D96&tKX-zq9FG#1XS;7mg(N@7^D9P;g&yX~)F<5;87_4X*_r z_AL1Qch>QbZQ4_W_O-meaO_Eo$W?=#7f#Jx*!lUws=Yj$dgimPKfS}tYue<`YGoUm z^v@)ju9SNAQSSTupvAUxgWrdjN^mtxpGoAtTyd~i?~sVv$ChB5gi4DeoF)a)6ZUfS zzIZ9|=)jNq<{Y;5QO+?J;)2b4lGwg$Mw^Vjoxz(^4DH-Ud#Tj R;3&}h44$rjF6*2UngAqZo+AJN literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/devices/feather-mic-off-symbolic.symbolic.png b/gajim/data/icons/hicolor/16x16/devices/feather-mic-off-symbolic.symbolic.png new file mode 100644 index 0000000000000000000000000000000000000000..41df5f519665c188fe03af061e891f2a53b0fc98 GIT binary patch literal 428 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf2?7 z8z9Vhe8JAOKtah8*NBqf{Irtt#G+J&^73-M%)IR43J`WB%NnI#m~#qX9X`Wu6tg7?)$vYd!MtXPBHP~dtJeKwVU`!`p@wuk=@QSR@0VF3Qz>r1&Sg zcg~u&t~p6z?93W1@qD{Q%Zw+6cf?HakJ;1u_W0^w>+c3VU+VUx`Wi=bph>e~%_BB{ zL%-aX$}ee*2Q=SZXb+Tm$Y9M_bZ5;5wZj!hY?m#5s^{}CQhB4U<2j|B%l2CwkJ_ye zGIQTC(KexvZCm~Ig-VizWLN1Mw0FLE6jXZi(~YCy*QOu;I9Y0;(8iA;>QCz@*LsAQ T^Ig~k3|R(GS3j3^P62?7 zYaq;+tobzmmtT}V`<;yxP|-V27sn8b z-nEzadN~IQusqPua_G3#-K41CyvE$CRo;Q2nd}`k7ojZ3kSf;D6ar%Rw`uk$G7`REx);##4<YL?~3`tRD*DVfWy&? zFGh)ipl z$h_W{0ji=!{aSn%jzqqgUeWi@;MdNKMg8tF$&%U@oxW8!^rYq`ahGq*nza4K9Md^R ztmK-qU6-}WgTe~ HDWM4fZYqou literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/devices/feather-server-symbolic.symbolic.png b/gajim/data/icons/hicolor/16x16/devices/feather-server-symbolic.symbolic.png new file mode 100644 index 0000000000000000000000000000000000000000..7d0ea0befe44b3c2cfff4e2c7efa143df42e3d2c GIT binary patch literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf2?7 z4Is?er+n2EC@5Lt8c`CQpH@mmtT}V`<;yxP*Izwi(`mI z@7qfoc@H`8uwEz^yqn6jiTg`{v1+sdOJb8x!AfUAcQ3(%OI;p$Pg^>9|No!2PxgqZ zr<6*3bcj5m?_<3Vf;A!HTZQ$`zPinvCwSk$C2zLus@WDC$`>BSoqVk%{!Fmy zw{MNo@)uJI!}cFbihI1HVuGDWzT#TT|JFZ#T30atjtMY*wSa3c&_xWMu6{1-oD!M< DYf)bW literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/devices/feather-shield-off-symbolic.symbolic.png b/gajim/data/icons/hicolor/16x16/devices/feather-shield-off-symbolic.symbolic.png new file mode 100644 index 0000000000000000000000000000000000000000..5650d06d813107082f29d793edd2f7065e494be9 GIT binary patch literal 388 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf2?7 z4Is?er+n2EC@5Lt8c`CQpH@mmtT}V`<;yx0|O(Yr;B5V zMeo$hy51~-BF8?;?_!&sIPoVFSJH)d;v2Z5|F9%QURU8zVq2W%D&XVReRj!$i@AqP z4k|?OH2v7tW~tp=TrMkbai{ux<&XQ{1D|9(a0@Ly@nOb_zZtyoFQycEzgQ%Gk@x-+ z1rO^Ub;Emy7{!$MKK7W;Ni<~r$#ddZgXgi0J=uGf^VrJ#XKW0s2#|@3e7@soTu*s> z!z6|q{oBM;SbvBw;i+)i%(g`GUYB0MtP|hY@2KCfx@+~C6|MYdt~aQd3avgNdj9+N zZOla`Jd+;kC2gBB|Ddhht2HWzRpT}^eSHz1xaeJ()Qv!!o8dW0YeL>@*d2?7 z4Is?er+n2EC@5Lt8c`CQpH@mmtT}V`<;yxP|l? zcH(vA*+<_nMvLrJXLCK%6xG_Qvpn=e+h;Co@f%CH;x4QVxUhA9H#1kw;<=IgdS}*Y ztx0S$oz?kAXuZVgKe586FMQSi&!(;Or}&(`YH-a1#{M5X`d>Gxq)XhIpVPVgL*Fy4 bFY4Cmi!?XMHfJscdX2%;)z4*}Q$iB}dh&gT literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/devices/feather-unlock-symbolic.symbolic.png b/gajim/data/icons/hicolor/16x16/devices/feather-unlock-symbolic.symbolic.png new file mode 100644 index 0000000000000000000000000000000000000000..8095a8d17c30723a3bab97caf3a633959be06965 GIT binary patch literal 366 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf4nJ zuqS~qqea!s+dx6d64!{5;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq=1TEd%8G= zSo9vfywS_qP=fWrde=1pGDl7>w0M2(q@#>gMy=%Si=hQCsx>S+`4@CF2N!Dm;@DNH zp{W z(by+?-A7bw9|0kbSRKReHP z{-SD!f9JNJSGwK01*A#>4{L5~QLq=E6L)a&gyW87ty*jqr#H?`5-=@}jgb5wuW2?7 z8z9Vhe8JAOKtah8*NBqf{Irtt#G+J&^73-M%)IR4&{)9&S`O?x_jRoUI_h~sKv1?|^2rJ2UC6|_|ESrB#KW{Z zH)Y2p`&a2v1x?0t*T)BpLSmfPvs--Ews;iQ~5!nsp3c1(@>i@%|`uzQVga ZevY!4*qp;VmjOe9!PC{xWt~$(695DNn`!_6 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-doing-chores-buying-groceries.png b/gajim/data/icons/hicolor/16x16/status/activity-doing-chores-buying-groceries.png new file mode 100644 index 0000000000000000000000000000000000000000..d8acaee146983f8460161e056456286c0629942d GIT binary patch literal 909 zcmV;819JR{P)WdPUmATl!`?&|U&GB7YWATcsJGch_cGaxH4GcYj4&YbiB000McNliru z*a{a2Gct#0CT#!!010qNS#tmY3labT3lag+-G2N4000DMK}|sb0I`n?{9y$E00QMn zL_t(|+I>=8NK;`LKIiQ0e{*xc4ilAa;b7#9fvKPt-o$Q(?xqV9A_kK#?4|{Qh9DHt zjoFRTB9(3e>9TGWOoiAYC$hOem2IJOZf?%~_bhCzw4RH7XXm`{`#nD|NdSt6@;Qct zzDaRNK2aiy1Vu1N7RhFMSf2y019yo3fUf*-gj|C~Vd1Efs{L>@EXe2c+5eeHZ~lUM(TV(me1!W3x$GMp-`k)ELM1HYl|TgiFjVGx3#6ErIX2I z-stb|Z_sEo*DV&y3-l;!2M~!w!lP2D-s^O_FCd& z$K!yF2rWOV9#nvrUvcZ*SS+SIIXPkA#xt zWMsrqE|(Q>UfA8;eFyR=X!oHsb72#$R_h}icF>Q&D6LE;iya>y3y^!#;c%#jhKBCL zmnTxGwBZ|IGMS86s$x}w%jLRNF%&D>3GIdU_I8uaW_vt1IM{{=(|*4{kJvac52VU% z_4V~^)Sp&qAd&~Ov$KnrX~gYbn0jir+wb-C^u$L;M?YLJaeRDy2FJ{00}yKhd%znW j9{vbWdP6eAUGi4;^QDPFfceEF*G_gHaamgAS*C4FfjRy0oMQk00(qQO+^RT z2nz=$D#+rbRR91032;bRa{vGf5&!@T5&_cPe*6Fc00d`2O+f$vv5yP&Xir7u%!K z($b=&8o+$%#B;WK$cp0Q#Sxq=d zAS^7bp`f7PqL`SN6gCZv=mKsIIlL!Eu`?BLEw?9n%0j)hYkf_0|KmJfXopT z6qJ{cR-G!ZVq`2NuE@;H%qqai&B@RH<>Egjb@jiu?>@VS(*R3L%TR4??e*Wke>eQ~ z>lZL~J~MD}aWP!KdWktQK-Gfv`?FYIU%SBnKi9esg>M}oh^5m9~kdQ1enzT-xI>jm}DapXd2nkzYATYdt_xfI0VSvz@sgoJvNcG>3ulD_A`WJ4XqrfzE@|uh983ZRiefVnDjr(uzqD14nckg~)zkYqA zgoMN$EiEkrAba(R6DKC#e){ds`{%FzK6?M}`l~lzo9^C!as1l-kBWdPUmAT}WA{_7wzFfcYCF*7 z$5Ot%IG>^n7AJ}9?8K4DxvNvf^GnaY_;UJ*ga|?iEIWYS@zK;gG@2d`R2Q0NBQ$#m zOapnL+}+!F_pC5Jclq<;;)U6KE{3ckA|>-f0;5OS3fQ)TuIL~t*kDM6v<=bQ35qAJ z_TC0mL9cB)d*3-8P8=7-V_87v5QY@ZmI+lgQQudgYh46}9zH2bVSZA;nbT8b^~-}6 z`$Apl1}96q=Bo?yvI)sj@q5$9?eDu7O#-t|MX|V4L{y9-A&-(D9%$s-%@*GKNP}@e z>x0}093OHS*~MmU49VnC#G@RZnJ1t$#Ewm|ewRXT`*^JN5m=PDh=8)c5jw1(5Q`En zDH%ADR**@HNW^&v0)gj;==CWgl0VFa&j>Xd0r4D`i#EU?c7QN=F(#Ra2|7lVag4|k zM3KPtLbSVwV2{P76~Hh!*aI+Z5bjR`QRIVYgaha65P}#ZP>>#x(Kr99LNKgIgtysw z1EKer$q$(y_79gP`{eb)eQ?BsXEs6m4e)*))K=kJEx2s&b|0~r<;-m|`7YjHDq}3s zR)+*{H9pxrcl!fBY*nabny|XR;!#xvaqqLZ4ztt3iNaktJr&fmaEes$=1=R`EPOTW z;(?Gz1lWoR68F-n$;6e@>HJN5Mt$daZS@kH+US3h^0>@RPTCLvGb@ySvx3SaieA8;RcG!q_ b2B1Fx{0Egn$t<{s00000NkvXXu0mjfvliER literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-doing-chores-doing-maintenance.png b/gajim/data/icons/hicolor/16x16/status/activity-doing-chores-doing-maintenance.png new file mode 100644 index 0000000000000000000000000000000000000000..51410347460a89d689ec7addba2964151666dc02 GIT binary patch literal 957 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 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-doing-chores-running-an-errand.png b/gajim/data/icons/hicolor/16x16/status/activity-doing-chores-running-an-errand.png new file mode 100644 index 0000000000000000000000000000000000000000..c1817390f88c38d1a988d2c8395f760f92b2824a GIT binary patch literal 980 zcmV;_11tQAP)WdP6eAUGi4;^QDPFfceEF*7eXE8iHic~78WYU@G zY?kNaiE-*qCInFoz;E;zbMVY61bjQ7+8DCCOO8v0%FUV0hYzH^~fUrl-*h z4Rb1;SiNft#D>L&_b!Ju8XbDC1H3-(cC%8%81+Ziu0qAnwGagn!z2s_{csytbawS% z=`Zs!MIffk2!_!xmY5iv1$e6KijoA^jayjrZUk2tT1q*f?lp}{QhXn+RvWONog#N?M$SYVbTtl(k1Z8eHgysgw z9w*+u8!eDDI_tpe_LohG#fMCGq^LgAjd-^!y@dW<-eG_EbKgTi7ooPC2{G1YbrfvBXS(0L(5F(@!%2o z&gaUW$*dUD0na*Kbd1Fl)s#q&-D1BCpEP)WdP6eAUGi4;^QDPFfceEF*G_dH99diAS*C4FfeJjfbakS00(qQO+^RT z2nY%x7P6sor~m)}32;bRa{vGf5&!@T5&_cPe*6Fc00d`2O+f$vv5yPW+z0&Up^xaf zJZ?ub&v8aYO>O=QR8&~#IoH%zUt4*v++nX2%|>=D6x9~}A^&v;nnK7CDfceaWRHOE_4gB#(^t>hemYJYP;_uahmsrSO!_7a;7 zT0W1tg#cDVVbpruaF^Sl$O^uEpNzd5`nE$MzcT9!-8yh^sjKxxM{Co?NKC=3F91O( zhNG+$XPO#O=CFfdbSNUvIc&v-OeSLT9Yx-A)Iik|wRA5b%XzGzpMW zS)?OzI2|^Oj7?x-at3lTiL92<)`F3dJ?_3hh0{@Gw~AN}#vmBY&~iBlW(y+GII_Dr zOwG(A7>sJlwmK2nN{mX9GBQ3j_v%0(l}<|(O%d=eBt-(pve-%_peQNiwKU!j4sR$@ z{KMP9&o>A>e|U5I87wTX_5YajDSBQ9RZT(9@sJZqs3{qb2A*jR)yHh!#%g;Z`QRTc z2f~ucz~2>&2D5K<9eSQcsoe_SvL73pF{-Roq*@wkPEgQd)4x{63LO|PceOm{Ii`GR zC4dA8NzdvKCnF@237AcKY(%z5U52wnyi@3a>hRXxFSS~(ligB_M1Uf@-bxbg>AaVGOYCN|1gyYf7GO2=NU1XNxhzytBYk!~5-%AZ4csmq;WuO|E_R2c RHs}BV002ovPDHLkV1nHyejNY+ literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-doing-chores.png b/gajim/data/icons/hicolor/16x16/status/activity-doing-chores.png new file mode 100644 index 0000000000000000000000000000000000000000..dbda52db91bcbee3337b1e1817aa23689fe066b6 GIT binary patch literal 854 zcmV-c1F8IpP)WdPCeATl-}?BMVqGB7YWATlsIH8MIhF(4~2GcYjO{HVwP000McNliru z*a!p)E*MEsv}JT6%kX9}0rNA08gQ3xz@+uh;uN7K=%Gy`E%Q{#L8if=f$F zKW_uXg@uK3sZ=u9?RKHNyPJx|;^NiSm88{bB^;#d>uUz+KR-Wzf&BT~03i~IJPwD$ zI+mQxW~sHcRfFncGMQ9PPfs~~ujX<&rKP210IlTr_V$v^03H>8TwGkx$jAuI&dyS~ zT&9hU4H_RG=lc5kWVDn5?9u-IehHB0KA*4uhJv1+9xo0Dc%CPCKrWYyc6N4D(BR-8 zZ!(!|g+k%=+1Z%`et0z+jSq@m{RS`vqoboCtJP{`ZNMyYI-M$DdwZL(Ct`0Rl}bG| z8jWETa$78xFMwuMz{$x;(O@u`pyGj|C@O#jOjRNIe4fU}#w<|RiFTsZYIOiPc8v9{ z3Sf`5wYAT~!^1O}c_#xfB}gQP!$IkET793Inz{=>9PjsGt`F@bQ9LcwTahuY98`ov zM5C3<%S%-W zkH-b zj{!I=IT#G`(P)%GU)}}~45}O*9mQ}X=Q=t%OziO1))sAUZmLshYir||mzNdzz(GOe z4*-kfWdPUmAT}WA{_7wzFfcYCF)%tbGdeLiAS*C4FfasZuB-q600(qQO+^RT z2n+`{3M84XbpQYW32;bRa{vK`pa21epaCZqWTF5700d`2O+f$vv5yPvgor@s!&)gs8sZvRUR1IO6~xWyO1H^&K6ZA_drq%{nu;&{;eR;i{k_lsdEUcd z^U7^*s&5I;&0CMv)t;^>-&X{N$qk1iBj3h<-0%m!E^PT8%vy8#;<+owkJjFExtx43 zIEe$*RX9>xv-*w@f}!D2^5Nsi!}|{&xBm|?tu>xQ2U}WO&+w|Mp|Y|H;mABvX%#HP zP!S9o8tS=;Uz3en6|if~z~JzdAga(|hB?O$S9v95gM|nV0?T7^E{bS$X<$b{IP&Mz zXkZ)~F`yZMsvF4YIuye|LKHC+7(*x;^X>@Hbz=HC5yXpEKFow7bTc3-1S2B>Jb&7U z#l-~X!{LhV?(WxyVU%n$@#Kla(>FV>l^OYNOifQA6q$ogPcJGdMsZmwBq50C?@UGz zBy%Vf65HC^&U!qax9cXFO}u9Md>6?<}27r}oijnn2!e1xpz__U^KcH#avAMk0|eS(Yty zl!A2t^^6)wXl#HivLGw@(^9ER7Q#Rh8PJJVBXu|&n$>D$Hkr7h0GtNG5y%oYN(2&d z6H-Y7@uX7Y_xrn?PN$9M`80*aHUN~aq-jYiQgKn25)x6C6~YrikIzwc83y#G>29|> zyRWZL^m@IQHY=cjXh3z~`2!imYr>CcSC4o%< zi_I>FQ#o8}$wH0Ok!8++<Uv6LKucC+@r!_pKm&U gp{1^_?)z52KQCEaN&U17mjD0&07*qoM6N<$f~&WXVE_OC literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-drinking-having-coffee.png b/gajim/data/icons/hicolor/16x16/status/activity-drinking-having-coffee.png new file mode 100644 index 0000000000000000000000000000000000000000..c27608b53dad80ea8f74826c11bc966d03b3a531 GIT binary patch literal 918 zcmV;H18Mw;P)WdPUmAT}WA{_7wzFfcYCF)=zcGCDOjAS*C4FfigsX|MnQ00(qQO+^RT z2n+`|4AkK|0RR9132;bRa{vGy!2kdr!2!c*R8s%|00d`2O+f$vv5yPx1Do5&P|uwQ0Fo)Oq86PIC7y`Z4_u(CP7`;MT0;BBPoE8DC_7~`mL6jm+!!{6Z%_)j9m`tYg8jVJu6hzdOmX>Nz#C9UU zB93%*b$u>IsH>|hL;1K|F5lDF*Vhd@gb2|*I5;>wH#heUi6~KCZ?#${1_lPM{LcYK z5X5PV#nNOn8mmw)al73Y%w}_CEEeNiT3X1Ber$^}wL1U3#nMaL?Kb}DlgC_*LC@7z zSMi-UuCt{j#Y?-@s?H6En-C-qolbkRs35O{NU+jebs<#h_rtUMw*VIj029l=x8?yL zrI4-6iLd%Y*01AJjp&;zRj*hqt~hu0%p-PTTqa~F@Hy=ejSIoGXoExoAQA}!7f(Pm z!hqlF5tM7oRRl?DS61A;sUGC!<{UV6@`N13*$`$qU^yNpMut-6m>8eBiy(%h9QYc^;~da54ahb;x4eXo zYnLINB>0OhZMTzSP;upfTDsB4u|3Oo8iROwoCZ& z`Xd?EvGLf@hffcG&y+@13zf=jU1p|Ogkz%35~3UneqR9Q?T)0t?5K5O;qAL&=Htkh z{w3$?9l@U~T%q09i$shl=I$v_fl`qL)3ZNdbZnA#EV!npX1*Uo??V49(iUV%B^f4# sVwWDrF?A%u%urP5)jA!X+-`k;0e##WdP6ZATco@;Ns&TGB7YWATcyLG&4FhIUp-AGcYjnC?6RB000McNliru z*a!;>E)A{e2xR~O010qNS#tmY3labT3lag+-G2N4000DMK}|sb0I`n?{9y$E00JOM zL_t(|+O<EEPc0F#2NF1PP|zfV0{sIHdaqG5t4Wj-14j*- z8Avqj_1#qUgZk9?o8SowfGfm*^iC|C_k%+jnys zfIBTKt0HlN96v-`zj@$(-m@cDcX1A)K`g+g(TmRkdi}Y@VhQ4ob2^>mcDt!stxAW(VXWKjdcw@CBNTKAfv%xK<##$zBDehsNU^mWdPUmATl!`?&|U&GB7YWATcvKF*rIiH6SZ6GcYg{TjJgT000McNliru z*a{a37cuTj{6+u(010qNS#tmY3labT3lag+-G2N4000DMK}|sb0I`n?{9y$E00J6G zL_t(|+J%!%ZxT@yhG*t}F@O?;7OV?tf?^C|V_6t~fXYs7;@;oj!oN^rLP&5|Nl6Wf z)|j9b6T*sxWg(#?29qX85N)Lt1ZJ2o7{=QjObWcSI%m##^1k=xvdom?@%V%H+3YiE zG^)#rJYgC7Q5jT|iOz*?+zh?l-F-N{1E-5fByu{k*@UN09$&=}@n0K_PiN9lFbu{h z7Ygp{2ze-AdWGSp3%}pr>U27+jaa;w2npWv`5svj##W4op=ow%Lt{+hOtnn?vOQU@ zVE{Z92v==%nJ_Hj5yY}2Ee6oIT?8R4{j604O+9S%{^hM06EM-O7(k1rD54nv%?)-u z7KC0OmXD9$Ar1fVPLsh>li@=Ok<>2zB3udfFnAzq=|wfwHvS3d6T zIoI6o7sX;xUFzUmZ&In~K|ZgC!r`t?Q&|Amip64si)Jqboa?gHnms5KR!>_kHMO(z zW8U0cz^g=}SUWm$4hI8+Ss*y?M>3i8-3kPFjxp930p>dRUaj7D`TeECN<~}*V9kwO zF1ME1-+#X1@!Y0IZj<_bsoQQhA;*=I+uJF6l{3H@2lUmF51C8?@%)C<<>K!IgLaPN obVbv=znaa>t!Q+U&dlum2lx%)oEJ+`82|tP07*qoM6N<$f{ETS00000 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-eating-having-a-snack.png b/gajim/data/icons/hicolor/16x16/status/activity-eating-having-a-snack.png new file mode 100644 index 0000000000000000000000000000000000000000..f6d699c84f69d530cde604c55c0d4f426b06a918 GIT binary patch literal 906 zcmV;519kj~P)WdP6ZATco@;Ns&TGB7YWATc#MF*!OkH6SZ6GcYiYYmj3A000McNliru z*a!;?88~X621Nh>010qNS#tmY3labT3lag+-G2N4000DMK}|sb0I`n?{9y$E00QDk zL_t(|+KrQ2NRt5+$N%5H&)uDK!?8IxuPmJ{@`7cid$Nl}l=$X@2!&6DL{t#fOZQ&X z?om=^R1yU~gh9PT6dL5rmNMPu=WRFL&268%d|Me9UF>pR&-wojob&&a_>Vf(qV3vV zo_;=^%b0j-g!3nH_oe!LsZ!bNn&MFNcRi@eWg!!% z6B2nOs3^%3OJo@c#whNZ0AsaAXxN~A#4-xSV&^ynlnXL0i|~?#RaNLD>S7HDz5s7V zm&|Jdj+MH#tO(T*vwtOHf~X^2NX(AMOWg>@B36Y}wyW`;*Be$#J&p6iWAiVY?E zY&Wck+U(e9Ad!msp*7~R`MVk*$`pd&3J_#c&sOGt0`y$j-BPzze`ciL1@V({Wa}0X z4Y+fNlOn5O z2S=_c14YT<^$~D-!hIv3+;iUn&AWA#wOh*X2LtIM+l4_0Rny>U6mavFkhRAMrM?mz zQi@P03DZZXW$43f+v?&K0B>)@rXC(QQ~vVg0A!$%wLTB-hy&`T8mP)DkxIr9Wt^~D z%}aytEv>ij4nb53@4$-n~>Qa%T=E7kCLW`XJ)NDQTjEi+&JIs>;m0Effb z-gWKO+aK>n1(*49B!PMJEHjndEVCz?n(uZ0`ZZE0 zl-LDa?C07iC>|T*OeZ2x)D%LTA%fq#2pjEVXXpF}n%kastmPSUf?f#eRjgf>NYhJI z8bw6lW2HGVj>{W_#qMQH=7oc&yM}K5$@1UA^v>)x^N7@A76cun0tEpkNlemy)99rC gaNhvk`?tV-0a}1C;ThamLjV8(07*qoM6N<$f^yE6{Qv*} literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-eating-having-breakfast.png b/gajim/data/icons/hicolor/16x16/status/activity-eating-having-breakfast.png new file mode 100644 index 0000000000000000000000000000000000000000..eced76e94ef1b44943ec2ed97885c414475214ac GIT binary patch literal 844 zcmV-S1GD^zP)WdP6ZATco@;Ns&TGB7YWATc*OGBG+cHXti7GcYh;FA!M(000McNliru z*a!;^786A_pLhTO010qNS#tmY3labT3lag+-G2N4000DMK}|sb0I`n?{9y$E00N{* zL_t(|+J#eHNEA^RJ$LT>IUR9*W$Bv)Mqf!)epXu_#ho^3Sj(g5;&fFaL+$=Aw&3vi|jtEvJ zt~$k80nTv7*0}E%qh#I+cM5YI8)4`_@c2$b=mP>-0uO+|2j@&o8N>v>@9nSKTKnbY zz?-T62}thmjjHQ}$U2A&K@=s3B)&@JtpOa{Mn1oKZ|L2~`L6EMg@|C_#odGL z?Hz-X1eu6OdVUgCz8HLXt}{w$(5abC3qR$>yk>N_YIsK5qi{GTJ};K&cE_jX@D$Mb)7wDh!Py_oH6`ODyzu+nt&0nhbgk;7cVyz$7(LKKoFd)scU)tw-eXn z*^@i_c5H7xVOmv(4I{Rj5JmRfqU(CjST39Wn9Jpcm$TWvuI`>f#UD$Uq=?ii?fV1V WDni%9pvS8K0000WdOqRATcr^ z;Ns&TGB7YWATcpIGcr0dG$1Q5GcYhS=eVB$000McNliru*a{a3At(bp#q$6F010qN zS#tmYE+YT{E+YYWr9XB6000DMK}|sb0I`n?{9y$E00R9dF(M)s ziXw%UvbA)fr4-s3rgbF7xSo8s@ArMbm-oKB5BN`z|7uiKSlsmv>ovQf^pqqBL^>~a z|7}k3bFs=@yPo&B&e_Vj`pi&>tJ5=JZIyW2`3@t5GNsVz9<_ILUlLeEsnL zokyyxZK~iOHahXox64yv6MB| z&1a{ONljuVox{R{05ew!Ur#rZDG?TqhEOtqa3qZU=p@2J0|?X08aMfq{}NB9l&nWoft@OmOi_;96b-Ns=%a7-=KlcKKhgUB`Qzj*429 zvIN;|5;RkWSV{s}6reX+pwj4|Ahl4^4pi5yUkuLuhcE8ky8GbFw;V{HJ_nzeP3(5Q zew)=&>4Dkmg-&NhW?qZbOdeMIRydq17s-;-89aFW^3~NFxA)3_^FK$KY~9^-wyAN$ zao)q*s~k>1wzeSVkd`g<`21*V@AUQcf4TYWdB+ubzWB#2e23b*dPM`rnKoONvQ@Iz r!q|8;5Q)ayeSHHR-xUAv1^WdOqRATcr^ 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 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-exercising-hiking.png b/gajim/data/icons/hicolor/16x16/status/activity-exercising-hiking.png new file mode 100644 index 0000000000000000000000000000000000000000..541d308aa738446065b704c874664022a0a63744 GIT binary patch literal 723 zcmV;^0xbQBP)WdP6ZATcx`|Lx)+GB7YWATlyKGBi3dH6SZ6GcYj0flS%}000McNliru z*a!>4N?hLY*~^C)uo=K8FQZ~4A;fg*|G(eNA3lF)(AALt|LV<0Mm9DU z22}+q21X`UhNEY1{CfN0U&_-L_ZMS$K}1-@t+c2o==Iw-|1=c%7#}`;&8R9b#vmgp z#=ytN$MEjscLq6G31$|S|7PF5{p9@m?b~4#156AplhoC;%uNj(8P8q5@j_ahljp^o zj|}3XLJWd}f$9@4hV%09r1EeHl}gD-Zf7n(!-pCr#e7XGgvK7Rc0kKqsZoA;j?jP-RG#Kc4y)^9z{@ZixWF2?`7BDVG}(iPQZ zBClS()n>7>wNTa3(_#SOM~@yeY}>Mv+sG`D`^)FAKRlu=lWN7B&P zP(VdRkx5)aobmd#n+!}$Obnkser9<3^!e|TCyt*wdFGfqBT{&X1My4b08&%Zi{$3y zE&BWK56i!Qe;HVq*}nYz_3i4D=l7?6{`&DUZ8HMh006&~&%$HuuTB5}002ovPDHLk FV1j95PAdQa literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-exercising-jogging.png b/gajim/data/icons/hicolor/16x16/status/activity-exercising-jogging.png new file mode 100644 index 0000000000000000000000000000000000000000..d7c98bbeeb7835735468f648393b596c89fb4b5e GIT binary patch literal 625 zcmV-%0*?KOP)WdOqRATcr^;Ns&TGB7YWATc#MG&4FdFd!>1GcYiN&5zmu000McNliru z*a!>@H7+`>-~#{v010qNS#tmY3labT3lag+-G2N4000DMK}|sb0I`n?{9y$E00GHK zL_t(|+GAiK0PO7SG^M2^e@IG5{N1pAoj1BX3n2r(eEE{j%f-nS?CJ8JgOlqVx;!&3 zjsO4uXa4j3%Ss_W-biaho$s=$>I=f6V%DImW5lNU%9SfZGp0Yz1vs*|N4;)2pE`{m>47^Bv?V>yLa!_oYdPLM$iR7=krf$t-JZ* z%MWpF6LW?er;q;q{pat$Yd3GQnwpuNE30cZ#%llw%$++oVd4Dw^JQhF|LSRJ%;MnU zesAaGy1>xT@HSC_sHz~l&Oazb@XO~<438c?{?Ea~UltJ&@qnl>009AhK3-8#Q3fLu zGbTe56Z4;Mo?czGaL#IUbvV-jCnpy>BO@cj!g+H){{HooJI>jd{qwuG>gejQdZE6) zUhK);8+qr>onr~~^SS){{VQQ^8MQST#T9M@y>REw9WnOrA5I&HadAC){Dfii`gMl7 zR`wCOr4@15EW>btiYVXyFVF5v{S#L{;}sB;vuWG*sOhuk#xM{ADhl(q$9Xz_S~Pcd z6_R(fiP8)L1=*QDf_%I_g7N{edQigP_kV^)P99$Fr1;p~#2NqqV#%e~viXmV00000 LNkvXXu0mjfzBD0x literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-exercising-playing-sports.png b/gajim/data/icons/hicolor/16x16/status/activity-exercising-playing-sports.png new file mode 100644 index 0000000000000000000000000000000000000000..33e32e6a6076b662a5c23dff1cb0329910bfb7e2 GIT binary patch literal 894 zcmV-^1A+XBP)WdOqRATcr^;Ns&TGB7YWATc&NFg7|gG9W83GcYiFB18cI000McNliru z*a!>^2QJc*qW1s*010qNS#tmY3labT3lag+-G2N4000DMK}|sb0I`n?{9y$E00P!Y zL_t(|+I3S)OB+!X{$?_2nuSTx_()o{D3K+sp7NVe_05>-`sIIOCSHb3XyG<60 z#eH;i^gNYHO)ysFM}2+$x1pgSXK`_{05wfRB9XxA>M9HdgBbr~>+I}ASy|aLkH_+9a$-p34NN6s`iH-~sU4$6W|CWAmA@HbE-5I(UM9&2lBXlZGI-|xry`MH?QWkqoYI4+1S@^w+mOqSxzHDE;yT_C}L)_8B0q`*x%n509V%2(<3eL_wCN=&`ext zq<4x+eZ&Xcg4Jrp`1rUuGAEmxo3fXblt^3rpIhXeD*d5Ssj-EH1)QCo3F|Bs2dS*A z1asr_`4EjpaeRC%0Zva(F*P+M=j0z(+S}Wk2o$9O(RhGHMn<5jsJ z^78UmWdOqRATcr^;Ns&TGB7YWATcyLF)}(ZGaxH4GcYjmCX2oR000McNliru z*a!>?GYU~Q$zuQj010qNS#tmY3labT3lag+-G2N4000DMK}|sb0I`n?{9y$E00V+a zL_t(|+I3S)Y#U_|{{DSG*u&_20^IQUO=K8IC4Oo z3WyVeD`zB-5G`2!BZ9=3cech2{QwIt|>)T#d39jIbYnqv$j#Zx?S5VJe^Mt+{-VV{Pc}WuUyV$ zHi*1mV?%y{vzSdV8I52V25qH-)LOokE0i*s&En5LEu`Mp%cO%^`oNiKrng!uPdn{B zHj9~O`aMpVOeSzT0m~V|>+hi7%Z?2l6DFRCoC^E<;^k`nR~?N*g01S_O06MY^NyUH zO_yuxANSUjzp}ag^-_fhZV&5l*uk&{P&5mcWpLCd3?6aWrwiMa0{!1CM_i6cBdtXv zvGL>0YMC;y2DTx|+G;l6l~s+7gpLuKp+N|Bm@hbN?$MxcmKpSUX2!ySE9Vm@CM3|( zLi)aR;q^DUL}CJ}s$hQpHs-E=**Y;6-_WSv+>xVv)6_j zOS$p~AAjQURCa+(T3?e4EjEfxp2v;PKhrM0I7#GI6H-frB*URt;DjPe=;+YpWmhb;;kld1Kb5`hD#V7!p1X7rYIGQi zA|rKo1wVd$9qe8SEs8?vVHR>*#Hm;WVygu*Jm8JKclkmxHag-kIb4wRFMjcT5~8fa z?d*kM{oh+ye31L??t|=BcB9Z_8LlU_n&Bx$ zqFo+0G=|p|l29t`VsU91^>Pt*U3N)UKy)Pt{>LJI;VYgqgmj6`W+T@S+tPLYyji=& k6gF`NAICCYmZk##0KD^mSK)v0)&Kwi07*qoM6N<$f{-Zdd;kCd literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-exercising-skiing.png b/gajim/data/icons/hicolor/16x16/status/activity-exercising-skiing.png new file mode 100644 index 0000000000000000000000000000000000000000..b33bb97bba0b39cd294335ca81a3515326a9d4e7 GIT binary patch literal 854 zcmV-c1F8IpP)WdPUmATcx`;Ns&TGB7YWATcsJF*7tib zW)Kzm_UGqUW+pC95p6q$Xa9tlUcY+$pP!%OftI%PX-N}BmW-~3bQBk~)i)_0KKE=b zJ3BYCiXzXv!-rqw^73maGW=)xrmpsT&D1GH2|#84k8j%C!NtcrQ{TbiK1v`mef$=x za_hQ`xCo2ygNIK-zx{Y1`uf%3uS!bab^tZUgEWKG{rLJt3Zxk&7S8P2Ey&BplQ%eFalErFT~Bg)Gn85tS>f&?c{oMgOy z^J$GgzrNn#;`saF%h#W##ieygo_cBmfB*d6hvMxIFJERvR+NXqH23yT3)r~z)Jk>^ zj<@b^rZETht~dSr=jW4;pMRUMva?;5Qc*dGGXc$+Ge^kG+W(xhd;HyLGZs03#Jan? z6}^LUzNBSVO~^{*ZF37`bAR%yxfr*Ld_m3ZfOw7#edmerG`TNhW_iI+nj>RxwVrJ&6 z|Nj|&fZ~{uiRtrib}lByFCPVee*MbJ#KiQMm7V>^_4hxxufP1rDa`!sx09CIOPFR+ gS=l?p<}aK806(=Cf1F`a;s5{u07*qoM6N<$f{c2iCIA2c literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-exercising-swimming.png b/gajim/data/icons/hicolor/16x16/status/activity-exercising-swimming.png new file mode 100644 index 0000000000000000000000000000000000000000..fad7c6ced12cbf8886b6f6e9219ee0b6fd7d4845 GIT binary patch literal 900 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 JPDHLkV1guj7wrH5 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-grooming-brushing-teeth.png b/gajim/data/icons/hicolor/16x16/status/activity-grooming-brushing-teeth.png new file mode 100644 index 0000000000000000000000000000000000000000..f24d0773dda4931fa4ab29b736638f383844ec9a GIT binary patch literal 665 zcmV;K0%rY*P)WdP6eATc!{;Ns&TGB7YWATc#MF*7D+r9>D>_X;f1H000DMK}|sb0I`n?{9y$E00Hqy zL_t(|+SOA%ixW{4J#XI3?8IzLG!81n1(P7Gh-hPBlfrE*G;IR;1Nj-Y3PKPeU}3kt zDA);G#mbOoMa-99yO|`DWM+0Ina}5&h={s&f_UL^@8#Zm?zsmZ@ZVa!UcVN5@`t)o ztJQWWrQ4z?>XIbAZ8n>&@5O4hdbLuiJS>;XJL0dCjYgxK&*z`yayd1bOkz5nVlWt> zSS*@`VeAiw!+j2ZTUFH$$8FAbyIsvRO~#wqd_HHM=dmCNSQv(EHk+|tugAvYF>AG2 z&*Oog7;xnC?RMMZw3D`NBZ?v+olcAV1Sylrpin4)hZv1U==b}|u^Q;Q{>-whyM+8G zF~-0dpwsC<5QG>QrBdldHk-Zkn+Cq`zvq-=4@FVnx-J~YS%Yw0);%!@XP8=_kcM>G zfN%3S7A5`i=`OjjwZ)M_NXiBdK7N9nP%zT8bv_$Uu(Tc6hIQl0=Gh12k$9cSK)49q z`8gyK`O|9h)TN79q(o?r3C);e;#ipII;coNWf=}-SVaNen1_$aYvmT(j3`d9Z#N$h z7e^$5DMVP(2o`?^33(pk5G#BR9s3Buzz9~m@9gP)a+999#{uP&MB0!cq$r340r?do zQAgl;2tAK5bBXAS#r#*AZ}0Ivi+}wS{-S*an<(#p+BA+d00000NkvXXu0mjfyznFx literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-grooming-getting-a-haircut.png b/gajim/data/icons/hicolor/16x16/status/activity-grooming-getting-a-haircut.png new file mode 100644 index 0000000000000000000000000000000000000000..13396d71e2507b0f940b73b08e8c3e0167977fe0 GIT binary patch literal 759 zcmVWdPCeATlr@;Ns&TGB7YWATTpJG%z|dF(4~2GcYhea?#TO000McNliru z*a#CBHYar&7P$Zb010qNS#tmY3labT3lag+-G2N4000DMK}|sb0I`n?{9y$E00K`* zL_t(|+GAiq0B#_#VIUDOBe8#*nVI#8h=?%1c=6&2HpLEXY<5PhtTlS9tie2tj0{iz z{kwr|0E4Kg=p9#A*M)!n{9$_f^yx8VxmYePb8l|$b?mIH9~qdK{&;b572f~#YdeYo z&w;?m$jAf;lAb(ya{KMux7T5EQM|mxj~EypcfNZUapvdGb@sfxK41R*`^<#y%ysM5 z)d9Wn+0oIlO;Au!4krGGiHYMkGxJ*+Ha4kXA)#psTwH1wfBibZjBdc^&!6A%^YaV% z`S}HX`0zpF#*G`>ym@$*$+EKQ_zMdM^Ru&OnDg;5Y<>T}?9kV*#~5)1Ze?ZVj+-}c zI=y=J>aFa92Tb2Temwq}fnnS2pFdAL`t|D)P|aVELKbYgZEbCX?%usC4rDT^si|>1 zU}MwYw{PElY-&-$Kv`K?r@6U#LveBOVqicj`~uqK?dkdB%eiyPgwg|lWMt%w?c2A% z-@AA3|NQ*?D=scBc0h6VOfj(+oqT*3(b5b8*xA|XPMkRL{IO%l{&#eAJooYO=>utm z$@{ReMIILu`%xkwuvLwXO$c2-qp7KBu9%pZHZa6*A3b_>0Z{BMvI0+b_Ow7gzV5%Q ztpENpGe2y9@xtrr@88b|c?k~kcz90Av9js{ncU$bB5fV=^2>1sA~qnz#KdFF!C?wy zeqH(I&BSm2{uv|7vk)@i@~>a>ZFqRPrP$c~nV6XVX)-haK$d4FWWe=5e~$h9`}eUl pGqVvNBcs^mZ{L=j112VzJOEh}+c8%9l{f$Z002ovPDHLkV1iTMZ887= literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-grooming-shaving.png b/gajim/data/icons/hicolor/16x16/status/activity-grooming-shaving.png new file mode 100644 index 0000000000000000000000000000000000000000..d1da19f227add242937a64b8f328583bc4726658 GIT binary patch literal 689 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 X85#z>u)+Uv00000NkvXXu0mjf=iO}V literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-grooming.png b/gajim/data/icons/hicolor/16x16/status/activity-grooming.png new file mode 100644 index 0000000000000000000000000000000000000000..3c9a0e5e8b58a0ace411562adc7c284174e10578 GIT binary patch literal 1013 zcmVWdP6eAUGi4;^QDPFfceEGB7$YI65>lAS*C4Ffd{&+z$W%00(qQO+^RT z2nz=)47OTsqyPW_32;bRa{vGf5&!@T5&_cPe*6Fc00d`2O+f$vv5yP3Km#0@4?s_X>$A?ml4*s&dHB#$(n$>=>Dw-{WyNc+RR z_rN)Pod0kxz&?HCJQVzqKJmjZXWC5gAEn$29{5`?NC@4jAk~#4b=1>X@I(Lq0T2;E z_{yQHMLxR&G&XC4#p8*rgg(CdIsn>x2^_cE40^~&Rj8>{fmEvrg0c=oyFYn5S1hHF zR&y>dyt1)rW-%{{-*(*{{C+<`Kq~ZJ1w#W&scb6oJh)jFHVS#5?2dO^S_5*40xBs6 z@~a7dnd5HFP*&PEaPu0r*UJ5uoAYhX`kz%Kaauwu#|}t9nd{(CD-C%W_|xDZOwG^3 z%UljzCNqe|0`0(wX>7lr(Y0sn2hG0Qd4NYa1IeFP9m!0f^T9B*{NDVG~0*_(&U8=9ss6L0yOlX@MdQ7B`F^#&SY2vTAJnyfZZR4ZV%QZO?& z2e>3bGMi0e@p#SWl;b;kbuL5Cj*)FgV9??*{^bCykAbe^@LQXFiv+%sxwiS*L?QofT%}xFiqN zjA5Wh2ojkzFg$-x84iap$rkhmgFz%oGSbx4H0gI9Oth)B_-VTnHa0gw$g=Q;UJq{? zO@I|kFcOa!i-p41pG|~EFuCnpy}iBXO(xSqC=~jlC7Bk3^$pj3G_6xqtFR>l9xpFQ z;l!#qomgE;X4&85bM@2lU;o|%o6YuWe0=;%*^1@HQ7;#CAHAu=@mg_l5%O6MBCE@A zpG}uIgcZBHyU%oXcC!E4#Aq}cXt3G0FPaa0NA7U7{MWdP6eAUGi4;^QDPFfceEGB7$aIXW~sAS*C4FfeiSQN92G00(qQO+^RT z2nY}#6OzBX`~Uy|32;bRa{vGf5&!@T5&_cPe*6Fc00d`2O+f$vv5yP&)**HY*e;HON((iIN|l;K=_PJZ%O=RZ;=l!o3pd0G zI3Xb6HXENuDT?6N{L=h0-}{#L-p}Aa z>$&si7Xyz^U$&2r2Tg)4q{s>y)ynpR-Q7F6jg3!tGMVJjc;?9a==}2Xhvya-U+uNp zMo!bPU#(!`cmU0VHWZGB%rdnfu3!Hol}x@(@yZayJp{jY_3C#QmlBD9$7@))Z~>>! zoW@4_7J{J=5=#mAJsz~md#0(GSe#+GNIsMK;@<=>t*m^obZPm8r)OtzA{0b!GXtO3 zhhDdfU@%A#8k+k}M59qC-5yL{&vdub>EF-if9B3DEX-ZJ^5T1vC>oxM#lW)+fxX}u zhUU{C*ldtx89c|KKagOfb3T)0AB}{=&06hy?$YZkZ<>w9XXEiW%EcmFUZx84U&~s;alCP*r*k!7Ru?L*j5Vm4embC?>!C<}I#xZ|5$Q3C*+DeX?&CkPVoU9XZ zfvG8-yzEv6PM4b+U?~ZZC0~pQHmt9$t*&1C?2Z3jrn7T%@5kroUr{?<3q!ZiX0_<- zcgPcC#D&E!?5%(K)yF@6z4p$-%XBn>zGlwG7kz=_FWVfBkjv+vR3wRM)~eh4)!O#G iT=t{Qbo!^G@&5p7XnJ>D3FmwO0000kwd literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-inactive-day-off.png b/gajim/data/icons/hicolor/16x16/status/activity-inactive-day-off.png new file mode 100644 index 0000000000000000000000000000000000000000..474a3ec6c19f31e2abf6f6893a9f7a8d0615216c GIT binary patch literal 589 zcmV-T0WdP6ZATc2E5ks4Bjh>}1NN`i<8k%VZ~W8Ee&NP>QWv};?t{y;yXMT>TZ zv=9T6 zASnR|lr&8yjNX_GcL=MG9Im4FCL`XQoavzd>Zj$i+TFg01=7J#e4+Xj^MMHC%*Vu) z##fjy-)C(Jz8Md&*3b=pdU^H(b461IaRRrFauCX_gFpqa7e;KeJt#dw_v*%o6O3|J z0Zc~{zfv**ayHEZs1bmtU_zix-H9W70WBKQB8RKSMZfj}&DtgK@3*l)2?TRHhTl-1 zHK#y5l~m_1&aJspZpJRA)XP^3rz+f91#Byp>JW{{@ZRY|xAzHBV9ekV2N({?evr!d zFn6%$WdPCeAUGiI>hd5mFfceEF*Q0gH99phAS*C4FfdarB$xmI00(qQO+^RT z3J47eBC*G9QUCw|32;bRa{vGf5dZ)S5dnW>Uy%R+00d`2O+f$vv5yPYbadHGzX3d&~3-%*mu>t_!Iu-;fw?4`~v8bi9Kt z$uXQA9Y<-Ljn$Dh%qI?yj7>|Q5sWFCSM{c6-I0w(g4#PeGcq$%%r`6DpAR0W`JA1^ z#$7Aa>;Xby@qJValIBi{N1{(R)GZN~OIYU`dhwn47A4#m3RQ z;HV}l3J&d7w0FYdRU%tqQ}x&#dq^buGjz_UwA50Px%cd)%gQ`-o~ixftHpk+D^ zM-(mZ&vW|V2evK{T{xVphW#fsVf}&$Dk#*X#>1{WMSP^9V7~N9jO>m;mNcOdLsi8U zCJz49k-^mWH5ElT|z-x=#j=bWdiQsfqF5RJ4cKo0(Edo02_rn9+ICZ$>T(4 z`w7b=2%ah>5=W=wN3lMA1*?*MtKg%c$pg&~vGs-L#xGN$1D`JWcMue)@Sc5|;$@0! zHTaWkm{L}1l7-e=31YOs!2WWxL5i`$hz@}dPMmqfqFgIMIg2$#s}!&6p~9_i83S;Y z<}17Bi%gT;EL^hp?FGeW;I12;mX1Q?_SQDWPrHmVt}EU62LGC3eXqjJ#6Xjhog9gY zAaS@;MS6YO_r##Nsf`<7Ix*#BFg+9m>|Gwtm)_0Hg{TPTZBM$%o002ovPDHLkV1izlnMeQt literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-inactive-hiding.png b/gajim/data/icons/hicolor/16x16/status/activity-inactive-hiding.png new file mode 100644 index 0000000000000000000000000000000000000000..80b204880fd5a8351879f6dd713ffa02702c55e7 GIT binary patch literal 752 zcmVWdPCeATc%||Lx)+GB7YWATT*PGBY|dH6SZ6GcYid^rd_N000McNliru z*a{vLFecusv`qj2010qNS#tmY3labT3lag+-G2N4000DMK}|sb0I`n?{9y$E00Kx! zL_t(|+LcqyYZFlrpZDJGCT`6~ZPHLLCKU@_a?q1_6a1oTTM-oe14J*i(45ta;K#+A ze}ab^OBJMe^dNW>JV`Z6p$HM(w#g>h-RzF@-tMMJ?ZtuJdGnb0&2K&)z@C(HLexnM z_zz+7m!2!&)aNeT(~rQ@tPQ&-G(Z=@*zk7R-@5tKLLMV;28>e(<4QBeEtR=4Y4$$M z%;48*6>k@dTWQYER88~K*>bKU9gJ(4#zEN+-JEP_8O~Rh^zl?)*CAsV@N9be=oa%o zzL+{DmfD*N0K>4XUp%q3?fz$7U51}b87$`2LP+U%< zHfugmfibYun$j+ovlIHO3R1_E;0D7f?NG{>lJ`b4BD&>CT4%;!{>wb?O6m1rxQo#O{~Kate+@rD+SmnCC< z-hbb#$(s3j9Z4t?b(+p>hy^jS{Iym^257^G)a{x&(3rw?zcSc13JBKSfo;rX8_5>( zICYuIz+_=$CMi_T;;^k>8Cy)KCYnbM%#!nk*pcn&`$~(*hQ!_vAa^?kQcMN_LeK_g za6d5FE3tpn1NA^iXg%3TPiXT-US15~zW!5-2=M4Nnzu@_;~;liuBV(Y4$qmfhZOWE iePaTX7b$~fv;P8)3*bVFV8lEC0000WdPUmATl!`?&|U&GB7YWATcyLGB7$bH6SZ6GcYjZ9l~<}000McNliru z*a{a4AuVwbk0k&A010qNS#tmY3labT3lag+-G2N4000DMK}|sb0I`n?{9y$E00Qkv zL_t(|+I^ET+pIW=u6R(|BPg$okYm?e}EK?p(JMFd4%L^nZq z5kXxEkp$UI1uYU0GzksMkMd)g`7t#&r*m${=OGah)rEv}AZe``S$gOtd5S43udk`4C;x!81aKayOW#S5CtB)X@jgiNgz5Ri)q zkRl7e5*r+e@R1pw;{8Ibmqx|rIXWEMoWZt-oqB6+i4=dH!AmiXfC7z((2s^8Dg~ef z-cQGwH%d`*ev~sPG)@ z!Ir=%PrrlmLfR@#!8$7V=i{+%gGFDht+&3PN=@x|i2Yty zz`VRdzD5bT$|PerYkHXJm}SYP7Sc_0hCI!fO!{6XL2l$(2n&5Us8bCgs`cak3VaMH zMjP3yR>D|f&}&{|GE{=Mk&_L(uQoV1_@SyG`^nVW!q+GlDtBk;fF7e^>>vf?P&87k zEgI``^|0tX9d_^aHkZrwSs_Jph6p#C_%4SZx$BVHt%8x_Fcf(USuP<)H~Uc7hbv9a zTD3+K;Pryj+^L7jf&dr?bTFM81T$ih8jXhG{|ajCl^5Dp-uiVQ&%|O9P|qr1F^dE} zZwe?=wd1(K#Oy1`CJcoG-qA+hzEob-nhjG<9~Aw}fRP$6e?H~Z%*3>ZC8-U3PeG+M zr}SK%ZPb_LQ=EC2Ck@sGq57){+?VFz$Z+l;p3vCn4T_)hcvg2LahnJer_&JmviTcv z?dF$vJtfNgTV{kmq3Fb;j{Gt!&#^;~U%6^`1SuJ9y5i`PKcMAB@noaJW?uLm>}#Kz zc~qQDCY5G%(MPV6D$l}F#lF9B rKk6LE(hx3wozN=FT043#Chz?Ly00000NkvXXu0mjfqx6@H literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-inactive-praying.png b/gajim/data/icons/hicolor/16x16/status/activity-inactive-praying.png new file mode 100644 index 0000000000000000000000000000000000000000..7b27307a6d2ee07f6e53290705cabb3049f38ec1 GIT binary patch literal 882 zcmV-&1C9KNP)WdP6eATu!_?&|U&GB7YWATcsJFg7|gF(4~2GcYi)Z!u2*000McNliru z*a{yB2o6xg_X+?2010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00PQM zL_t(|+J%x`NRwe0hVQq{rkgsQiZe~q+0>OX@o$(xkd*}^kfb0e5BhcA9C%YL*I zD>@K5itHeQ2sErnGfguq!D$NfXJzR$f3~)z;?!+#&lH!0;RDyl%lCcv&HcR3!?1RR zC&!^u>;r`?0KqN}yV(lc%q-sb8c;&t=kdSF+=lX^;~27jW}FWZqr@07!nmP{@xwXj zNln0^wZ$rwcRXYct|x(!n38gCRuU>cGaSL~#%0s$3T94L;)q)#ToEfb;lPDFc4BKR z1g|>)d89w?S4$w5`@lFhhw+I;)I3T6y!1Gh2U-6hZknuU5v&-bD{+SlkX&#N&}1;! z9pQ*ksNgN$3{^r5%8E4*2&i>#0i1Kt#4*{MHY{%VYrsN70vOau5hyGV#Mq<^_04t^ zl{DaGg9#?fMu7Pd-UJ{K12QQRJqAI(2p+O1Q1zf2#g{9f9}I+xOHq2|8p^I$q2z`R zPRBGQm;+oS;DA(&K+heFPH}@g)E0gAq!tdB3!0QE>OT}Uub!g0sTL7(3j~;@_|(Dz zmYDp7VUL0CD+ZqDoA!u8Ok_X?qtHqRnO1;PH?vE28;+$3SMZlfe;cbN0s`MTRr8eP$h!8~b2 z(})>w>92{^eJ>gOu%SD13)J&uB4Q!9TX|ai@l%TvUc#=-Cn*wJGgUQ;mRFQiHKe4@z~)jMJC17_4cFk-?(el9~bg2ewD7!P5=M^07*qo IM6N<$f+B-~*#H0l literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-inactive-scheduled-holiday.png b/gajim/data/icons/hicolor/16x16/status/activity-inactive-scheduled-holiday.png new file mode 100644 index 0000000000000000000000000000000000000000..27ad10a7e21b1ea41a2cf74580067d1d31cb339d GIT binary patch literal 703 zcmV;w0zmzVP)WdPCeATlx_?&|U&GB7YWATcvKGc-CiF(4~2GcYhzsw}7g000McNliru z*a{a4A`_cj!A$@F010qNS#tmY4`BcR4`BhQKc{H`000DMK}|sb0I`n?{9y$E00I|D zL_t(|+GAkA0aOfCtYtN2&zc2V%m#9qajC;8@$SXDR{|1(Zz+EBh|XvGZ{#DVQqNsru+d zzr6bF)xWQQJ}MY1{b$5xfPsh6W^N&Fm6wlSefq`t_bW3ilg#gLzt78BD!SY`aAU*k zbImMd90}sPE z5h;;ZPp&^cht&m0;lskr$Eqf$DYbx&n_F2;OXc*BZ$CTUe)$k5tu5`gxqh7r6CMNp z0`X5DU7ef89HKlTtlV#(K71}IVJx%q>6J$ZpFVod3Q~m605EVi(@&F^5>J2kYfZauf>>z{9u zzrX*w0aC+)&j15$jk2@XZm$BdzkmGx?hnKFD?dJd|H{b7c<=M=_p9+b-N96!tFts~ z4U&+skcx;VmpG3qvO1hD2y(RxfA#U}W+b7v@9w;LODN3Xpdu-JF_7XWqz;=4%;nXk zou9ma{T~#{gbct)i7GbgQx*KRV$a>UBhSLhqW1mWx6SwrKuL+hvLa$!BHSfEnf|bS lc=i77ugBk(f&7lo003)T&7sHFJ&OPU002ovPDHLkV1k<0Nu&S( literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-inactive-sleeping.png b/gajim/data/icons/hicolor/16x16/status/activity-inactive-sleeping.png new file mode 100644 index 0000000000000000000000000000000000000000..521fc5520bc9129195afbed4f9ec05d6f8fe1426 GIT binary patch literal 997 zcmVWdOqQATlx_=>F>L#Y=lw+q9BAuA?m16Gs7ffV&db2Nc=Erzz?GS z_=uCq43Zf2LrwGpqh=DqpdUlV7g2l!QBg!h2xuUslu|7A#qHy^XZ9^q(wnTibN0zv zd+oC~hqTXRGOah8&6@>5koR5twg!zx zlM#(ZK?3l2JaH1a?Q*$Jx!vw`p$!yT2|x34qPn{J_p-9GlSZRa$j;7&QmF)E4Done zL0C)YI+aQ_OQP@7$y9wruv)DpWc#>QtCd>-iC|)40-`8FtyV*!P=Lr;I-Tya!C-KZ zt@A`KAPke(3qh~fALe;pkSj`(gm5^VjPhAV((*#ol9SU^wJiPJ1WMM()dGP4oKC0Q zcTyx63??JBfJ7pZ6yZ2-S=vJeNonXb^MPkEXgConod%)rL3q6($oW_-mUJXT zqvjt~Oe+FP&QTvYk3 zZvD0G6&6;!!oW7J$zz{x9Aqyq?q^jtBg-@Vz?xcavCbip^*AEzvp2>rwf;4@xCipD zZ)ECpLv8WSZRPoS@A@Xu`|n4Ze*%B}R0@k#hmM?5+5sAn0#NcCES7wE7qo;>QsCaJ z@tL3)+3J|~w%2VbEM1l*AR3jBpPPY>SL0s?l#j)NB5Sc2W$=p$bU%6VS|%?#kiW+t zT%-O_q^9e=qp`9ebA?*qv~TWtN5?&(EAEVrrJ=yw)m*c=aNhrI_}$B{qbc5him-Rv T_wts500000NkvXXu0mjff|}MQ literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-inactive-thinking.png b/gajim/data/icons/hicolor/16x16/status/activity-inactive-thinking.png new file mode 100644 index 0000000000000000000000000000000000000000..f57ba9fdb0a37dcddd91a4623a60066e7cd980c8 GIT binary patch literal 967 zcmV;&133JNP)WdPCPAUGiC{_7wzFfcYCF*G_dH##ykAS*C4Ffe6Wzv%z~00(qQO+^RT z3LX^=BwLU7=l}o!32;bRa{vGf5dZ)S5dnW>Uy%R+00d`2O+f$vv5yP7NVPVB-Z(;3 zXAjXmvzz8FF|{YCby@5Wku1ZAV|oqd=VUUuMcANTR&o@o7zu`PlyV6IA%ZUuMh|CO zQT{3EPvvM0W~Jy+QBlS+QZo<*8DQFFMVNqa7!dn_U@t-Bfj;iHH8mjM|JD&Ts87hB zhFjMvS=w+NB#7aW=n)uaAe0}v*1uM$;=!V1_+qo;>bc|L^OXmlHe24U?f-+kDY$ZK z2TO@mg`6YRqy1|#($fv7u9D(nbp>vo=tNhyA9{5FoAR8J)*3-<=BbjQGGuL7%(7z? z+#3Rzn-o~FQG-i2bFh3(3!H8pEEWd2Obcy7H1=$@!R3=esZN=#RH;@YI~DuAw;9n} zj+N1_(itQM-P9NIlE>9XrlJM(qUH{XLKn4JKhnt~8Zs3ZP;IN9rq7(&DxGM6Q8koT z=gk6djw)^xz!;jXHUxqJFo_(KCQjy73au^)L2(i$Xy4;RSpmq`;Fs9l5Fm2#Al+RJ z{9|F5Ruv;_YA(L@*fBCG6;)NIAq4#pgN@i;WXFXqHIVi?>Ls5YcwBGg;t)pw3iCdo zXyrVlj^$Grn}~xu6)@-(Xt936`gH{;oYT~wYpw^J9^8)%L0h^Mt@MER;3db*Y2i3I zt~jDjHMdHlj)5NazkkJO_i7d?tBsrkUnm6WxDhNjIWaPa!G1)x)E9)={2lua3-Eau z#%p;j06rD?_nxKluU_2!b%ryIcvM%;M0&_8Jmb_c^42gaEe46N2Yh^gcs%QW literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-inactive.png b/gajim/data/icons/hicolor/16x16/status/activity-inactive.png new file mode 100644 index 0000000000000000000000000000000000000000..99e1edf7fc8fd098867587eb6340873277a47379 GIT binary patch literal 981 zcmV;`11kK9P)WdP6ZATco@;Ns&TGB7YWATcpIG&edmHy|r8GcYiEd3Un_000McNliru z*a!;<02Q_dO>qDK010qNS#tmY9>D+r9>D>_X;f1H000DMK}|sb0I`n?{9y$E00S*a zL_t(|+I^F4Oq*2{$A9-}3vHoA1`HZ;GRtfkg#{gxIW?e5Ci`HNEJpWY)MUnF(MY0^ zFD}`pU)+~{TKr<7W(n$IwqSIbi#lV|xR(xa$~IuS5}-gBEzp*}Ur&oJnkAm(m*?D< z^S|eu=U&Bst<*4#{dTM6m3yl)@fLSprE{~p&nLopP$^Te~#bUbYa@FRWnws>c zmPUPGcd6DRO3(Y1K6zASyC3Ds8Ydh79c22)v6T?8m*3OibXF*b!-36KhP^B*Ic2D; z7xm2;FFdVWlT+-G*$JZ`va+1I;Ef-MqQQfOmAvYzU-9%8XL(P)%-JdW0ip8`g4-DHJ5 z-D{iX6dULNLPpO>#s4f2q8g%_WNCp+Mr zUzMBDg`W@a?u8o*(03?LxpP!R7U_H2;ISh zLGfpmKK8*Hy|vAf_IWubp=HIJ7)fwTu4eu1h}!Uk2V3#WdP6ZATco@;Ns&TGB7YWATc*OGBG+cHXti7GcYh;FA!M(000McNliru z*a{yAI|N0)5fcCa010qNS#tmY3labT3lag+-G2N4000DMK}|sb0I`n?{9y$E00JjT zL_t(|+NILVj?!Qh2k_IvP|B3jLV;SsbVem}iAF&fK}}q_(Zz(gaG}u$@Ev>y6SwYW z=M!iq855H+aWN(a6vuF}6$VO2Zf&7=!)AgJFU0@iTb$(k<>Z_L@Si~#hQY#N;sqTd zIMcF4!*q5PMc->Q8iRiV;_*0k*)7OiWbMkAt}MxFt$D0GE|ovM{}bR* zRn^XAQ+KkN)Y&LQL28vi*(gpVSUid2z8#uoxO$`Y>bJo3;aAwg%>tj>+poY{l7x|> zgJFAsiI4T3*f_+^$Q#EqVTPcDH_1WW)d_Vg^2+`(}dTx zTuz&qmk?y>;Tq3&1hIYi6Cia@YD-w~-mM#}tk|(&JHG`MU?BH2=tx6IB*Gxe+VlO_ zZ}YRCPl0LTv1lm}@ZY{$%n>*l27-!$gZQD}AA)6?h+~<=hf?*~+!;(Gh{r;RVo*gj z3+wB=FF;Zd<2XZ5b*0lgn75jAIvru-)Dr;f(beq~8KwOQVk=vbTFLs7Ha!%`2k4c=LoQHsWJcn002ovPDHLkV1iQ) BI!yoo literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-relaxing-gaming.png b/gajim/data/icons/hicolor/16x16/status/activity-relaxing-gaming.png new file mode 100644 index 0000000000000000000000000000000000000000..1a817fbc32d7347a8164d7f8f315be92851f61a8 GIT binary patch literal 866 zcmV-o1D*VdP)WdPCeAT=Q9{_7wzFfcYCF)=zbFgi3jAS*C4FfbS`Qsw{v00(qQO+^RT z2n+{0I zK~#9!#ZzBMlTj4^ecwJe+j36Za5`n1!=!>mqF7X9){+7jN-rW5=8MsTM$wBDYETb7 z1ieL;W&a++nnfk(Hfa@uGR&IEY;NWfLb3U6Uvq!l*O_2M5ct-Cd(SDe;z^+*5`ahrXq!i5QWd@lW_8NnO$4Wo7f8-?Ks-hveM3jyEmZTkc}~q2YGpU z@OpjlcqSl`NT61$!H27en1xg-RdOj2_~`MXyQdfD+RuXL!|1-*3yWnxT(8`8iSh)` z^Gqt0A`HvKVll?;c0;e%gZ3E4VzEq_ii?ehYY)I=G9r;k;@OKqIGipqkw`>1jyp*p z2NgC?1UB;3bh1>V(O_|Bz+E*B@W)FZ zq^I5WdPCeATlx_?&|U&GB7YWATcyLFfckWFd!>1GcYh$N9kJt000McNliru z*a{X32nHcmj_Uvb010qNS#tmY9>D+r9>D>_X;f1H000DMK}|sb0I`n?{9y$E00MDI zL_t(|+NG0CPZLoThTpmK(V^coFkqmB6lg@E7!^!R4DG^=iHTcRZtxcvcCOs`19XF7 zVbr}F8$-M}WLpMo3eT?ulb^bO2T=K`<87h2YTjDoz4I6iyqU>pHB2iEGmnkdsvF zhxkyiq0&>XoExJv9qibxiu$0P%Vyc6Qb^dF<E;PxWBU-hoNY5)f$8M%=m;&g3jtMcijtINZ2X z=kAlX>vCK3oU0gvAfu6Psl>_eH6GA{nuq-5e^>ztsg)QW#&m$HI z6O;vOq|tj1=DoG$2&W|xe6WP(v!ZCO_`WZf21g){L@bP{i4kZ_3C8z*F7?m~&i?Jf zU+0sG@n~PP=437bQYaxZ_bD&`sNj>m5_saeEpR$Nwg=RFSN6)>b=@NXiDdq>TEnXA z;o_MwB%%?tT225~Pb`w(PV)Ku^-Lxsyyow&fmGNWN%v!@zn2VT*edPf-Rg$lbVae_ z&(!{=#)n^Aoy^|c+^P8AN_)k6)A{PS-b=f*w?O6UKLJ*E^toy1tk!TI|Ee`!pRE4@ X{=EifMeLRn00000NkvXXu0mjfz{hQI literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-relaxing-partying.png b/gajim/data/icons/hicolor/16x16/status/activity-relaxing-partying.png new file mode 100644 index 0000000000000000000000000000000000000000..31835b5edc2e637081d15dd313948ca6f8ddd38c GIT binary patch literal 990 zcmV<410np0P)WdP6ZAT}WG>hd5mFfceEF)}(ZFgh|fAS*C4Ffi5~W0?Q|00(qQO+^RT z3I+%X0~@-?)Bpeg32;bRa{vGf5dZ)S5dnW>Uy%R+00d`2O+f$vv5yPu*}O+aRb3xLDH7C(3W>Ec{vBVLOSZ+t>R5unoUeVr{fA$p{Lm^)kB3Mu7-#DI zy~Kux=xW*{-WZQ#9QD&ZZ-I4KTlcZ7wiu0}j7j%Rk_CR$PMONwQAgXZXA5l=74GsI zzLzPa4>oNgjInWy}3b}Oxo zM}-Tw3I!^+EbvPhjk=y<$1%~rKv9PeHXE6m4beZ~yDt9WVX?H}7AJf2oZ^J#RaO6W z8ln>xat3oS_8Jjm<2+p*=84J_$4{%NSke%<5) zA~J3hOIUgF`OP%Ew2hLI)mRsqWs|Zk5yEDi!I3HQ&;7~;C7x0ZN`|2A@OHlHO!Mu} z5T6x1Szo|sXG7E{6{;$V_^J0M$4?ByEEGB5%{>@$ZR}PCyj-3NQDn;dj(|79;g{t@ zR!N{v&)Y|;IMX?Cm)xQ25kCH)6mIu&v1ghKSHWgs`5cMH3McQ`tu(g3B6NktpwE#} z!zxfVNs0@kBVjXg{uz%fAcYy@u2nawU(BsB+0#eM!Fo#9WaBz|(njFVJZiTNQD4`K z(KI3<8rgbSnio>?LKJ-0AROcS`#Ko7#pjo=QnG)0Wa0ZiRAE~B4)1<=nmg%hD4H0) zVVy*k5D2Dee9Xr;-O(%kBb>UgMDG|q!7#h{`v9MG{y}9;11$&Isi`|auA_{A zKfqeMhh!u)((xk=;W#(Me}t%a74gyDZK8JnGc4}v&!X!}4jBeB&ZQ$1W(8^gRPFP4 zX&v&@!Qbr6^A#OzTCs$->_u|r2JF*!NJSHb{Shvn|D9F|nYoAk3)-tAl_N9BfB*mh M07*qoM6N<$f*j7sk^lez literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-relaxing-reading.png b/gajim/data/icons/hicolor/16x16/status/activity-relaxing-reading.png new file mode 100644 index 0000000000000000000000000000000000000000..4e7eb8c544515e102eb9da5b50d9064c23495fde GIT binary patch literal 913 zcmV;C18)3@P)WdPUmATc)}|Lx)+GB7YWATlvJGcr0bHy|r8GcYjZ?y9>0000McNliru z*a!>=00co{RXP9w010qNS#tmY3labT3lag+-G2N4000DMK}|sb0I`n?{9y$E00QYr zL_t(|+O<<#NEA^R{^p`H&bV&6?xfAuuB{@uo0l@FEhU5`3oIxq5Q^vm-GhoAdg~#h zqUfdGEQ$h?qLO?lq>G7)NF^9vsaAJa_u|Z6U36!sNvJIBu^$ec^Plhg_|NzMhr&NX z5Leqx`5T{UTk~|p`}$uvYN4b?JZ)XM^>*d9ODhD?R^gxcEJlN#7YkvDzXe5W<-_vo zlXX-^85@wouvkS!mnH9yw@6sZEFep*XxUfgB?XPM1yQ*=qB~ zhdXN`L3fkJnf*bewWZHBSH9m||G*xIsjwB3$TFnjev6Fh1PSYM4hapKP*tQdEUh<~ z4PnV;h=x4TIe|rnq5~Dx4R$VFfZnL0Z@>$uF955BM@}{gf>5DouO1(Ki;>PoC3SY7 zNh3RddBEvR6%@^4CLV#B1WF2w$QSisXbOoLX!#_1pI=2;?l_w6UZzZ>hNqzro8_ZSed35szo`iYy1e{c2;T z(f+})`C92BVHvV>^FT8y{O(SKM(*M4sl9mg=rN8RJ&fgfW_W#G?ApCgc8vvgMkqJ{3DoP=d)0X`&5WM}odb4z5g3NSyY{YdG#YB2 zKZ%S%SS6+F_%w^Cg6Gq*s(cOBl$RqE3ZbvBAHAOjAx+5$%2R3}5b_44FFAjVGMl#e zcnVG2tld&g@;r~>Q8(mZ2(ef^8HvtLClytq==7e+@s9Hve0ZV10A6SA=D4&XB}o$$ n&HECGNVDYYzoA`u@IT@^8rmC)UV)e%00000NkvXXu0mjfLgboL literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-relaxing-rehearsing.png b/gajim/data/icons/hicolor/16x16/status/activity-relaxing-rehearsing.png new file mode 100644 index 0000000000000000000000000000000000000000..5be9a8b2d3ea7824737925cc9db037efcc323856 GIT binary patch literal 921 zcmV;K17`e*P)WdP6ZAT}WG>hd5mFfceEF)}(bH99plAS*C4FfjE32`m5r00(qQO+^RT z3I+%zG3s3M`Tzg`32;bRa{vGf5dZ)S5dnW>Uy%R+00d`2O+f$vv5yPRhICxw$Q;b1P-e>FHO)3}Od9I0wG(JO4T7XIKyt5t7%b zaDHhx5+oAH15SLl1 z{a(Z*=BPf0YQ?$a{)tRL@OfiLBhXiBV1lt}N6GhQF3 zlJ`?_Rx~CExbYYmpFsXU1`$%MoXyxA-hcFA)FVLki)*-QXn@BnMD5#gWb7v>Bl);H zn1nNv<_&}lA(-M>U=CZ;rr>hfQGB5Umx{L`FzG_SWrS~-yH5kYiJ5o)jS#0BHu#~z z1h0HEV|1e+Pm6-X%X#7AA}e-o9fsj%7!)!I-ZpuD0+Zk7&$lEDEH#d0E{{a0#Q_-Z z2B1l_K`OR!u^I0g2XXs>7Q3>}Vatvp#3rUonSf2lO0tZy-<#M zS$vubBApsgDSB@K`RjeyX7{x0%LAE!5TCKt~Sg zyE!E)B$&bHmQGh~-Mi_dd3yxD@n3jeS&5#WF37~)nEdtH%PCG_FoPkNyTWR7jI}j4 vtsfaE7yAPrAXlhhG+7;Ad+lX5J2n0WwM|M<1_A_m00000NkvXXu0mjf_3D-& literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-relaxing-shopping.png b/gajim/data/icons/hicolor/16x16/status/activity-relaxing-shopping.png new file mode 100644 index 0000000000000000000000000000000000000000..8f969fb7b566ed9692e59117b84211340bbf317c GIT binary patch literal 964 zcmV;#13UbQP)WdP6ZAT}WG>hd5mFfceEF*Q0fGdeIbAS*C4FfhrckQo2~00(qQO+^RT z3J3=d4OqZK8UO$Q32;bRa{vGf5&!@T5&_cPe*6Fc00d`2O+f$vv5yPj!V*pSqyPQC!Q|l+cFI6dH1I=^;7zWH2NU5nM_R z1|Q;s5Ah`w-RnzE&e7Bu;}%?q4n4FXs-cNfsEMs^<3GuYqMz07>}F)yjUhR7m>IsA zdGCAQym>?MKic&4^o6djt{=w7$Jy%YYWDOQ{g8v}y41Gqxp+K2Haa@`%i`kVi&!jH znV+9eO-)T{Yinyie=y3##Kh9v+}vlgv$H?8wY9mCNQC$I_nXmZ)LB_s=^Psyd)&Y? zGc%V@{G`UTu&{7pa&j`O>w3*F3^kcdmP@6QIXF0&U0z=PGIlQRJpO$>cX4EB%`O*j zFvf~Ph5p|aOw;^TNcN{vsew!;bEj^aG#Uz3mX?+d69WU?TB}bA$A$yDOi#A+0`;h> zaz1hX%Et5O4@o+mzD5XPeING~Z{N9{?Cb5dgiN`!Sd3h44_+iL;86pxj6Y#-{QTKnbQtp_CYS7s-8Ey(yb7g4N$cUYx6^*5*z;M+@|;!N!gvi}%}899^> z3TV|lP!t7(G?Pdaq98Gnz^(6ZA@v{yg)87D$E(N=4!sIeSH3{Y{vIytI+#r0p%P>w zfk;x5fC{M{o(|}mjzmuaH@~}y?bqAr9_j{d^+67YAuBRerhp1ZCI|?TP96|)gTSx& z5%z`=@`Re3M1~>@nOX~IdkB)Sp+a**H9d|j9oK;@3CIY8Mztn^I3W^wS7FjoWy0nT z#Dl;QSagBiCV^G8Sn;rk8n2;HFC1-hMDOVuHz*M(f*n3vXzxw38PbD+?YhR~t moiH+V>c>V;nKbZMCyTc=COWdPUmAT}WA{_7wzFfcYCF*7i_@%32;bRa{vK`pa21epaCZqWTF5700d`2O+f$vv5yP_E&2#QzxZfaVhG7)?cftJ9ZXoneNGv1Mjvx`l^_C%k+2?(XyF&)?(I z9OtJrLtcW-<~pFMk4gplU{zkhH)dHR9(%jchwa7h6Hfq)Aa zE}YfV)62r8`Qf41FZcI^{9n{+{@>qTViQOl<^_fyKYnllfsC7*oBr0VTlWKnzQW{6 zbA6^K`Aaqa{q>#Wz_CXRYj-`|y7|ycUvx{NPn+*sBJ#7{LJss3;;|d?C_3PI! z0@6^-g?I%aE0or5P3$<_==}c)8TwzIp^~Gf1EXJ-7G;_LR*#ldnR(VBsP<)`?E z=g(wSzyJO&CGu&@?%jL-|Bold05Aw~<%kY85S~o3Mj!wH@v_zVS8y4H00000NkvXX Hu0mjfL#Qp+ literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-relaxing-socializing.png b/gajim/data/icons/hicolor/16x16/status/activity-relaxing-socializing.png new file mode 100644 index 0000000000000000000000000000000000000000..45fe7fc5b39086d5de4d69cfe26d0a4a55542f2b GIT binary patch literal 956 zcmV;t14I0YP)WdPCPAUGiC{_7wzFfcYCF*G_dH##ykAS*C4Ffe6Wzv%z~00(qQO+^RT z3J3=z2uHzty#N3J32;bRa{vGf5dZ)S5dnW>Uy%R+00d`2O+f$vv5yPZwO~dj>6j>W%crOeDwwkNDt zptQ33o+C0U`q)Iw1TE6@c9QdXS(ph8b13~;$`BNvQ={dr2I1OR==6ygFqvq3N3U&v zR*oMphymG|`!>K3ir^Ew(M#J1rTq-wl$6?%DRt~%NT+moE9Hk4QzN^VDl0mKzKBS} zh1&W@9;Qx-ENVW=uN9FsTp)1!36OJ~!~HrDN|g>Vu}dL{O4K|s;bx@+DwPkJo5}3T z`?inGZ!Dqa0doZx76dKN8j@8&5gG>Eyc7j+Nidp1V6uduvGFwq&A{4KGja9S7zUFG zbn~IR`|O3^u-$%*o2ABFs|~nbOdt!A{-1$UAY2#DB#T38TBJwuS%YpkeiDVGG` z%r<-y#*rjrnOj@^@$9_}n>IGXptno~aI%1(0hgPBxjeu}6O6wG$L&R{+eOmWCSaCY zC8D}H6<)FnRW(*LJ~gAK+m7#pqaZF3bJ*CG-N5InCLDE+!#ojS+zY$a0qZ;!S+`6N zrESE9S3Lp_A1T4M?I*F&uoq>QEqMIY0X6S%ovom!yS}38X9eWv!4Qm$m9Z!+$|P|M zm>O4_4ComM2JdqtCEAFZ23z;@E?n#}q4f9JCz!tEDWdP6ZATco@;Ns&TGB7YWATcpIG&edmHy|r8GcYiEd3Un_000McNliru z*a`>-J0~GZNO}MO010qNS#tmY9>D+r9>D>_X;f1H000DMK}|sb0I`n?{9y$E00S0D zL_t(|+I3S+Xk1koJ>R|W&3kWtGEFj*P7-x0NjBCltg)svv_(Ww;-Xz>z@-Qk7rGD; zl;Fm$DneF*E)2*0XEJ&J@7?P+V*)Dl!R6y}&pG!y z=ev(^|8KBbq_gc%cQlzNi0Gu&+DVe+9G|rhK=eP7HJGO_DkV%EE>r2$IQ4zDXi;@^ zj0%M!q9{V6(O3;h> zj^ihpmdSnoC$?>0s8ok!d0+_rl^TXd>M-mQ+U`2~hw8}XETm})r4+)zuLVK)BU@VO z36yP`hqU@x1eRstpqe=cvrpymOJfz=?k;vaA@(|LW>`uWjL@mlS^6py3;L^;fb|po+FD|c%&xq_VW^B15Eb10))$px_Naao9o2*;ovFD zdRbh1_lz|;`7k%_Xqc9UG`df`7Z%^}8(msI%W^>ksasm}L^`vSTh>C20o+4$By z)T)-uJM8Bm)W|0+-vQoVNZhMy>eB6&di{QXBZ@hisW|jzqA+&ICM!`|bs~h0f#tt^ g{az>5zy2HlH*>CCZ=he}^Z)<=07*qoM6N<$f&<~W(*OVf literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-relaxing-watching-a-movie.png b/gajim/data/icons/hicolor/16x16/status/activity-relaxing-watching-a-movie.png new file mode 100644 index 0000000000000000000000000000000000000000..bd66835d721eaffa0597ed1b3a90768c3e7b9a3d GIT binary patch literal 1085 zcmV-D1j74?P)WdPCPAUGiC{_7wzFfcYCF*G_cF*-FjAS*C4FfeTVv7Z0{00(qQO+^RT z2n+}TEgH!D7XSbN32;bRa{vGf5&!@T5&_cPe*6Fc00d`2O+f$vv5yPaXskd28y*#%K&;&fiNl-cl{oj3xd}SUg)Cnw%4}e{9!#{ryGNl%Lm`8|{xY2JjkPEg+k#a8} zPpLw&*$UgpA28A?)ENkmV_7yqMnXm&FjY9(Lvm^-G_3Mg}?`3E}@YZS%N~N&nR@I2(v+sBvl1ri3}8! zRKV|cpsKYC`N>hhv4YyRX0+_9g+OQ^Dk%)~+2QqgAfqjbcv8?vocV}om>u-H=hCJ1 zZIUub#L{YrDm@za)#KFhqo7oIs4OeOtIt0P^+pC(GXu?zJ*h~D_uc9F=10Oga_ORT zyuXjsm0@!;1$AjPddFRO`D6zm3dm-%V00?TgeX4verL;Fr6WkP!Or?Zd#BP>GE?bb$R^I<*N|85qlCb(pZ#AqYRwHs zLZLBOXz}D%r#eqe%{UPZN3gWIhVI@QRT9MUxc&bHSc8oF9n&=+00000NkvXXu0mjf Dn+N_o literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-relaxing-watching-tv.png b/gajim/data/icons/hicolor/16x16/status/activity-relaxing-watching-tv.png new file mode 100644 index 0000000000000000000000000000000000000000..82255b80ccbfb1333e9d35b3ed8fbe453cf1ffda GIT binary patch literal 955 zcmV;s14R6ZP)WdP6eAU7cB{_7wzFfcYCF*iCfGCDOgAS*C4Ffh`&oW1}600(qQO+^RT z2n+}SI)DI3kpKVy32;bRa{vK`pa21epaCZqWTF5700d`2O+f$vv5yPC8|EjuG)%EDE?xtfpZ8FognFc{{lq}Q{!PlnUm{D4HgWwA$OL3D$ zAggifMrNfL(SRUP1`$LzM&mQkj7CHgO(2OGW0HPWbv-@RGlCDC3m59%I`=#Of6uwV zXJc@1@N{2a-%0$>7#J9ceZJJ1agWbzNwG)Hw^Ul|%2T4(`&J5)SU zt=5iLs+BbzQH{@~Q;9@0il!f6^yL&5KP+Q?HUrMKVcL%AxUS;{uzX(N^i*4eJ6ha7 z_EXB(yi_+azg$MmG+{d~Y}bYF`_L2x5s5*UWhkNmF$mCXT9|mZ1fJ(+7<|tvy`II( zxg{vF0!e0�cVX6|37*&@~yUsD_nt84K?hF<+@-k*3qALy+Vqb3G3}i(>EYUc~ey zbP85f8IIe;Ka2Btw=j#*C--rvumwAMHlebzga@VPxbx@<$VH8L1Yk@?L{_1y5dtXC zb(NGPkWRNF-@OhS*Kfi7hZit4J&o~a&#<982aoKzuE#Tu`G~nwg+`*wnHSDhV?OR5FuPgwv-4x9;A9eRaR#||KEXs{|}oV#`djP6YmC5J7W*7VtHH%p|-h-<2` zHv2;&m(8N9tBV>)!kd{H{FvSe@&>zJg=?7zC_^*g%B$Mi4uA2OGMS9wI!->DNpGVr z+#rc!rz}ayD1nnvUC(9OjgFWu-!4tKOq7pZy#Cj@Z(if~Mn0d{R8{R>)6w2z=$dx^ d%GERB{znZ(NPrHwgvI~>002ovPDHLkV1iQYth4|C literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-relaxing.png b/gajim/data/icons/hicolor/16x16/status/activity-relaxing.png new file mode 100644 index 0000000000000000000000000000000000000000..f9abba0e091b6fee9ad66122f73b961dea39a9d9 GIT binary patch literal 839 zcmV-N1GxN&P)WdP6ZATco@;Ns&TGB7YWATcsJGcr0gI3O!9GcYjz>9tb;000McNliru z*a!;RP(l`jCQ_6=9}DFDvv?2pRMPK^c)RJ^2tl z1Q9_b^iuTTTPP%fV1f~7hy_F*tCxG>a_;w?d(QVA z1PUyk=NsD3G>#$&8kr1>zVY#KWhWe3D1pOfz28(+PwPj8>Ee|RjiYYSCnB`vz9nPm$H zi^(*E<02q513b%cb=3z>>?xwx?cyYyjMg7L?nH4CP>cj!2Y45lT5daa#NOT0ySs>M ziNs+H#XcBJV^e@(CgYGGrZ*P!O|@Y!7qFb7)UdcVf#l^ezDA52ih`69-)A<`ryq4) zwg1z?-FE+N6!dx2Y$G7is4CGWyYG&bQe(K3qXC}Vufi7GE73=4;bh9MSiu0b;P6GF4$ zY#=aA8&u`bAPx3E?cgk2XF4NSudXH}L2#KYEX%q|oFvEFK+|%tIKQAy2EGl>&VPUM z@bQbW|0c1k<3gjA#s};ysnKRCjkEjWT)DeaT;HH%DHDm#%*=H^f9?O9^9#EG`3_5A R$w&YI002ovPDHLkV1m)ubszu$ literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-talking-in-real-life.png b/gajim/data/icons/hicolor/16x16/status/activity-talking-in-real-life.png new file mode 100644 index 0000000000000000000000000000000000000000..76c96eaaa75d7d717278f5861412ad9c0d261a31 GIT binary patch literal 792 zcmV+z1LypSP)WdPCPAUGiC{_7wzFfcYCF*G_dH##ykAS*C4Ffe6Wzv%z~00(qQO+^RT z3J3@kHOsR`VgLXD32;bRa{vGf5dZ)S5dnW>Uy%R+00d`2O+f$vv5yP((@_-u?r&S04%%oNOEgC+xTdDmnq*;MX-JYXoX#f19)?H<4wrk+_nmX@x!*-z7On%x z#{b%2n;`oI1Pij!&0EbnY3iH|+}v+NJ7`uAxdnZCE9mS|e9O&5^;%5bMjR+F!bjIL z=8X#i`OQRLEmf3)9ySW9F2MxjjETs44Nl&upg_9t?cs+o~ zpE=Z>n@4~9VU$_N(0s)oCH;y^pe@}2nY~7irrW3SW4sZj)DT~09&q&)Qr&qic}94u zlkCHS`kKXxR*kCo8C3tn!5Y1cJkp@J!6$(PuXr*7K9L8gMNy9cK#7A}0CFb^gFaX8a32 Wo&=#tdrzSN0000WdOqQATlx_=>F>=0y?rbDiZ(z010qNS#tmY3labT3lag+-G2N4000DMK}|sb0I`n?{9y$E00HAk zL_t(|+GAwE0~8e%%f-aRih#_o&!0cv|LD=9EFk+QvKkhA25@k2SQwjFiku&^-v z`~RQe9|I$%EAeUm_3PI^=KpUP&K#c3@a@ZMhM&KFG5q`Yk9Y$k+Umrhye2U^tT$<(O(^Vcc^B>lX=!O)pdrjxu3Q17HU=Rf zAy6zlUA=mB=bJZg*5V3mxC_|X*}pw|_RQ4H&5Z|W7y~f0-%p=DeKt_6gMnDU$H%7x lbj5a6Rn=3#Y+Oi;9soe7ws6rO*aH9n002ovPDHLkV1o859sK|R literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-talking-on-video-phone.png b/gajim/data/icons/hicolor/16x16/status/activity-talking-on-video-phone.png new file mode 100644 index 0000000000000000000000000000000000000000..672c43805411364cb9d9143214317af07950dc83 GIT binary patch literal 865 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 Eg2>LhPyhe` literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-traveling-driving.png b/gajim/data/icons/hicolor/16x16/status/activity-traveling-driving.png new file mode 100644 index 0000000000000000000000000000000000000000..081300d86c9ec6d3392577b51a9f6a83c083a285 GIT binary patch literal 960 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 XXuvb`BRds!00000NkvXXu0mjfN2QOE literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-traveling-on-a-plane.png b/gajim/data/icons/hicolor/16x16/status/activity-traveling-on-a-plane.png new file mode 100644 index 0000000000000000000000000000000000000000..7c38c58d068c1eaf276c36daf42343087f59f6e4 GIT binary patch literal 773 zcmV+g1N!`lP)WdP6ZATlr@?&|U&GB7YWATcsJGB7$dHy|r8GcYh32r-`k000McNliru z*a{Q~A0x(G!ruS@010qNS#tmY3labT3lag+-G2N4000DMK}|sb0I`n?{9y$E00Lb} zL_t(|+GAj#6u7v!l;-E>TM(<>*w|PsDJiKZCMM<%kju@asHm8#uCBg2H#awtkY;OZ zYpalukXg#g%EjE=-0y%wUzvo3h3_aSDe>s&=*(_yZQX`Tv$L~vc~n%?QJ{r>-@kun z`1R}8L6A7p&6_u82?z)Fw+ct(XXU=>S7Z+y%((F7uJii?s9XZ3p!x=t( z`oxfvlk*>F8Kat-8pF|}NB1y;3}9qrysM(360>;mViuqv0|yW&C@8Q2#hHNOtbu`n zATfrkSFe7%fB$~zg$oy2U%!66Y4`5k)nFG$Nl6I>1O%MEb?cTA$U8u%GH7XOF}S(8 zG4S#6fo%ReZQ8WMKn-2z&Yjzi>^(+#d3nBwh=^T!dV1!ZoSY0IA|fCcF#toE;mMOH z3>Pn6{BZK*$u(QHY)QoyxQwx}v2AvCc9k+RG7O@kq6|z-ObkG0G8{N?;Jb;53FnI! zFBty)`^Uh{%zX3i-MelxXU=?tYyb-o#J+m0>-T!$jL{J99abv`v;N$DrN(ECl8oX zlWlBlH2(kp4+?cqnEXF}{P+Q&8LmKOe;J8MzUk@dfk1gq}*$^aMurUeaP4CMjC%J9vbH^O`O?lmAqKWzX23RvQKs?~O&00000NkvXXu0mjf DMXpea literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-traveling-on-a-train.png b/gajim/data/icons/hicolor/16x16/status/activity-traveling-on-a-train.png new file mode 100644 index 0000000000000000000000000000000000000000..b17ce472fc6963231bded1512ac826af30ece295 GIT binary patch literal 825 zcmV-91IGM`P)WdOqRATlu^?&|U&GB7YWATcvKGC4XhHXti7GcYjt+u||+000McNliru z*a{U1CA+XzC4Aq7q|L)Z1hEz3ISqE@Scs$+S1nNfjTbasC0V0L!$ zLJ-9B1a3-+sLO-F0G&<;K`=sR_bVKyq#&cwXlSF+XtLYwK0Oe)v8q4*uvS>`{Qy!* zaLzFt4imR?0nVP8Mz^P9b90jf165#wMs6e!3EVD0a? z8BbZe-M(i0+PzCJG(}onRI{t7OeHIbs;c7QI8Gw2gotV0SS%c02{Q(hbkQE^u*U+~ zA%{stG@T*hF?^wso9IP6;iC9Z`>0eZnsF*$T718^#VVGK^C)9Jv=EKQXoUlq#CVN) zn4-!vnJON#9>OpL0ZiQY{m({g+;4jplU)<+OFTe;5RwrWdOqRATlu^?&|U&GB7YWATcyLG%z|cF(4~2GcYg~iaZbi000McNliru z*a{U2I4`ajkD34g010qNS#tmY3labT3lag+-G2N4000DMK}|sb0I`n?{9y$E00SCH zL_t(|+I3S|NR&|&{_elcIEyyZ%s4K;M!2MzVjCg`5!6Ez1W^|BVha&bR4+laP(c_J zWkggj85EV&LlgyVBvKlcS(asur8Q3DG?wY?i>Lel(L+WDzI)-E?>n4x?zs#Ttg;vl z78BMN=E5OKg6gzU*cYHcpBF!3aUAIWfIIk)O`cJVyQlZC=)fIDmySqev)O24y@>*C zjC>CnHEv@goYTU&=6}Sq%Her_h0)hmMn9e~YQHQ|ZjOtZcAF{D%_#EXxBqDiBc9|X z*BCURs2$bQaP8bdHa9N^uvh>qN6#k<%7Aj4<`Oc}f!$%Up17KEY(D2f7u!N7wO?sX^#j%Dj{jkjqv94)=T2RdJT(|Xir|3@SA52Bw4&|uHv2U75S8pDwK@D`i0&B@~6_=t@+0z93iya@FE^hqJD`BD;8(*=Of&H@R`R(^ti^;`29Zk zMUxS7j)N_lS^(LgBzRd84xSoEriJ0??tEBHG2}Q1Cz`!{Un0nN4uewPar``j9bMR= zui@-+-0Ho>DAdX5ORGYvs?yoUBBFsBjynC`x1*Hi*A~#v=MufT&Qi0cHJf{Ml ztH(sDo0CbEI>lFhXJabQIb|yE{aPP zMKRuM7?chnoeX1eD22E0li`aulGnQ4VVS1UglyuksxCu=m49c~WVlMEFlRhL%sT|% k=dT!!#&Cd(|N73q0Mu|kx#VP0qyPW_07*qoM6N<$g4N}%@c;k- literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-traveling-walking.png b/gajim/data/icons/hicolor/16x16/status/activity-traveling-walking.png new file mode 100644 index 0000000000000000000000000000000000000000..2bea3d1c500d1d0a396f893d975a851ba115de31 GIT binary patch literal 797 zcmV+&1LFLNP)WdPCeATlx_?&|U&GB7YWATcpIH8DCfIUp-AGcYjE>fZza000McNliru z*a{a52NQB_dz}CP010qNS#tmY3labT3lag+-G2N4000DMK}|sb0I`n?{9y$E00MPM zL_t(|+Kp0ONRwd{evVVqRW?8W1qGcIT1Z7is8K;^KW2~=gP@D(CNByhq8MJ}O;FOE zLB-uFBY&v|$W>tp*p z6?Aie#`z0byUTFm!5ds`yo76qj!;9YAd7z=Vl6GLOV9s8sZUYuvs>i2P=%(DiI}GS zOts(XjBU}53L^j5OcAlb~F?YdA^4i)*?D1Xd{DHt@a@$o5xzGre%uoMZ>(PesGT74Xs|Ca!v0NTPHUd-|g043>2Ia@`I zTM@`si!UQEC^M*XZyuCOT*)l=As&Ui{S#XGb8JfjDRh0%dfZTsnkm_81JfIrZoq`M bn<@AM_6rH}eV%fH00000NkvXXu0mjflF3+O literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-traveling.png b/gajim/data/icons/hicolor/16x16/status/activity-traveling.png new file mode 100644 index 0000000000000000000000000000000000000000..b029a5aa5885ccc6f0af78edaa22f8174197e387 GIT binary patch literal 1072 zcmV-01kd}4P)WdPUmATc)}|Lx)+GB7YWATlvJF)=zaHXti7GcYi-=cKRz000McNliru z*Z~m|77+RI{{;X5010qNS#tmY9>D+r9>D>_X;f1H000DMK}|sb0I`n?{9y$E00W3g zL_t(|+Fes?Xj^3%esYp@-I6A4&(fLLEXl?iI?WJ!8;!$xSsgn4(c;`c72LEH!9NNe zDz;RyilYTZp{R^fSW&1|f_6@2i_TWNwx(uTx3o>tHuvi}IhW*|)4(|l1d70XHk%Q6KjlTPI_$w(#<9UdBZ=ePgII4ih}fnZU*`saTET8~OGnoG1956c%b2f{v{@0Auq?KAeUfia$xY?e$?o+aQmvU z9^w&@vCK7s?|K><%`R9iW(*DV!)9*-mChrZj0aSycx02;B=q z=?C<65_q$(8+v_>JTPe+YoQdp!D{3ZS>#gTbyYgHd1338=jh%C9yd(Qj3E}|aP|a; z7fzi-I-P}Dt%M|%x5+$LfOk#6$|?ij?Bqs16Z}m1*W6W~(V%~5&w+M(bwe|>r7axo zu%p3Hk54`w!^%xRS{^)v&2Sdid^E;gG@=22>E^;0<3&DsURl|uJ@vYu!mGCP!c}xb!0LW$Oa3-DFPS&6fylv4v~N#%kKC8VX5_#GPQK)m^wN-NUg#0Rg?4C zPNV%{lBEjB=U6Z~4*4uAkB!2urKxDx|Kkjo556i>n7gj=b~sv`-DSm&SIT9T5rl?h q^Nb>&OC$;$9pst#uqaS>o%6rot-bd)c(m650000WdP6eAU7cB{_7wzFfcYCF*Q0fHaasiAS*C4Ffb(zImrM300(qQO+^RT z2n+}WEoZ+7QUCw|32;bRa{vK`pa21epaCZqWTF5700d`2O+f$vv5yPf-ERCnF=J zfBg8Vtw6coAO(#0Y|YI{Z_?4xvER9CKZAyv62qBu7Z|v?xfuTZ{(WuN?!D1__8z!^ z%>eew@}f!yM~C8P&tCHQ`*||(@NhG9c1>iEk(OY1^X4ssw2TCUwx;^i&0DtTp?Ja5 z!_~aMw|$K=yZ715&8-+#u3F2WtESE7u_S{7VZEXz(FHctnb~ZM?JNNE# z!Cb&zTU}b_?&eZ_|G{JaFJHeh{Q2{jK~z+NL0nvf;l;~W4Dxc)4Cbar3=IGOF#t6( z%$v9P)XiJBeOWv`oXs=SliGNAc%7J-7#W0x1sN`0y2=n08OreT)oX^IKYufDu(L6k zn;C=r&T#n95r!?>c5a$5X<8uA;(v?>_G~zAYHDP$blG|a0YL$VzkmOM6`wtKnSq6k z1Ly)_u+1Mod}P?TY0K|Zr_W5DK4We%%-bv noj&)8WdOqRATcu_?BMVqGB7YVATc*OGcY=1ucH0ITHW?010qNS#tmY3labT3lag+-G2N4000DMK}|sb0I`n?{9y$E00Tuy zL_t(|+J%#CXj4}h$N$gGy?JS3V^f=^nQx_yt%kI7T310^hc9(?;!ClY~ZXfRFUdL#;mhiqixaJ7i>jSU7StUq`hfwa_>E!m<*&}cHsZv z@I1eB&i{Fy1N{H8bD93z%yPs1>q+Wm&xo-hV&ar!gL{Up-jSWPN)q9kJu@_Kd4)c6 zJkBOZf_SbZ5%rdkd&g!JLr(*gg1EGWp8SozqWtEDPs^9|2cDZu)*kHL9!*EZOjb$) z7fTUoiC@(E`a%hRYd;BR7$T4H-DI=w(Y2 zBT)j0A}-$UK;6m?%)A8a}DeBjJXzc9iOE&E9p2*GB#Og|B_RdpL=?fushWM@uBye7Y zMN0eY9iE0i`~}$dSv5ZLII;HQLP=FtNRdbwM}BOTZ{G`1UXvxOuwXJ(9?F;@ycx6L z$&iRsElzBxsYPX35d@ZimeBbf0<2~ezS~=CjYMP|{{G?wqga?;UigZUBtekO7*`Fr z{O5gCEnN<;XD)X~(2@#Q9KW}BArX(E%IAWht6-{%okuTUH+)@RafB#chb)T)i+u~= z%*p0f81z)4mgGucj?;?%p%I)s=ZDN2qA>vjBjLyNL*pl78>{Er8Sg~x1`~lpW0>r;F}j?a&jHH9M&bpbF^z-kI}ww&$uvm z7Vz_V1OD>caNx@*&bHcMGHa-+h~dJOLNu+ffsu6VIM#an!9ehk7!1pu&7adh2OE`~ z)WpjQFdWeF%c;n_!I?}*wXo(>Z{1zv$ zW+4*1OH3Umw!6-*Y*|_Uda3t=Z{G)L>fc?q5Dj?_Y#ohYG|!F_w+qgp0J_?4VHXd} bQ}f>f{BT8%N5nnA00000NkvXXu0mjfyU@&$ literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-working-studying.png b/gajim/data/icons/hicolor/16x16/status/activity-working-studying.png new file mode 100644 index 0000000000000000000000000000000000000000..b05fa8477c9fcdf7ee5fbad136ae4771f64ed4b9 GIT binary patch literal 726 zcmV;{0xA88P)xC@iM+qF}XP5lT$JfHVg|d+;VIc<4nh-Xghq z6(fqER;XZeQfi7GB;rBQCLT;{N?M75Bqd*)G#h6gB&4+>;)CHm-pu^|GxK-=|GBt7 zIYOb3)!}elvfJ%5qobqRR4Vm(r#Q{_i(oJ)R;$&k<#KtlSS)&LwHm0Zsvu}l6vgP= z+}z_G0f9hZq}gm2$h&j^ij0?DoAda#)7D_a3t3N~Ho=72A29S7cdUlq4z2WAZqHCJY8czsY0*=g=Tb zo*si?mjfO>c>xHe1RyY(R;wkTA(P1*LD4U)1)t9+WV6{%w{BjOtkCu&}VO zLHB(3Ju#u(YQWM`5|)=&!0B{?#bROi*dCLmSj?&-r|w4Ud#_ zxg220%!g0P{GFxk98g8&I2{WjMe3E3$&5zhmSNKQH-Oi{D{IeZz&oI_Y6w6rkP(oQ zDA{VY);u21{C0r($^>`p=x`HmpF?F%VX6e7WKyO9B3Q-QJc~pkKeo)^_yOaP_u!zg zM-*U}unGga)xytaQ`p?xG~io<*=#PM`ZuiRemow()B8FM@b+sxIiEB=o!&1`fB3lm zJ-fa-CZ9N2MMW1@QgplBE8%ds_1CXCHNNlijkA63fBDY80QFz)GC|$C6#xJL07*qo IM6N<$f`r~oGXMYp literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-working-writing.png b/gajim/data/icons/hicolor/16x16/status/activity-working-writing.png new file mode 100644 index 0000000000000000000000000000000000000000..c63554e396320da266e51b768bb3cd033d7270f0 GIT binary patch literal 926 zcmV;P17ZA$P)WdPCPATcx`=>F>=2@eNxH~Rnp010qNS#tmY9>D+r9>D>_X;f1H000DMK}|sb0I`n?{9y$E00Q<& zL_t(|+KrM)OjBVH$LE!nf-EU*DbSY1SISoCLW>~~aaR(J5H*biPW1pp5)Vc%E{V%U zA$rkxfCSV;0vrrMP?10snpl=JYN{-S0<{}mo~7HPEq%TkNH~b{C11YD%={+vpKlP@ z<6$ru)m$$30D>SHI-Twb>C){9l*weZ6%`e8eSLi%jYdO^kB<{7l?qcR6qloM%D-Tt zPhTanz=6`6MR~E3Qe3 za#Af;CzL6Q)5k_XgfRQ++SW{bJ9u8XqTqUFRvO>u4-7{Ou;kLbu7-=pP!kE;)?Bb? zu)_J%Wi&x{`IXm08l}bR!tBm87aR^ZOn=cEO%}(^7~2~5 z(d)&}6c=W*Cbcu*4fw#YG6w^1yFnsifvhA8Jl+5h1VP#Y=$^Rq;U zXwuAluW@4T{NNyIkR}$X{ zI?PsQ_p;F{{b{ntBM61YOJ`G=DM^62ePlcY!B8093{PPTOXio_ulk4Ee~SENPoiCA zmr8`yi3xFsl9TqOT5T?h$A?Eq?YErR`ozxU-+ARl(@_YL2LJ#707*qoM6N<$g5)KX AdH?_b literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/activity-working.png b/gajim/data/icons/hicolor/16x16/status/activity-working.png new file mode 100644 index 0000000000000000000000000000000000000000..c0e478fb7c4c12999193f22c8c2b952ee2036138 GIT binary patch literal 815 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 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/audio-mic-volume-muted.png b/gajim/data/icons/hicolor/16x16/status/audio-mic-volume-muted.png new file mode 100644 index 0000000000000000000000000000000000000000..f7fd00f1198c8d97f130b657d8cf7e07d1bc8e9f GIT binary patch literal 760 zcmVPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2igV{ z3;`*9`S8d900MYPL_t(I%cYV}NRx3G$3J^FeXabHNG&C&1Cwx>Wd1uC9Xxr_!x(Q6 zL5B_{2%>fqNrEW*cT*6ICK2cm3>0Br0^P;A!owV<6Wc`J)H&E&wzWUM4u+Y?F8!|0 z@A*8>_xXO|Kc5c3rda!c-ea|ofZs7XelIP-rda!)zj!8Q=VpbbX+qO95eNi?=aWa+ z6sxc)){b=j642Y&c!LsC3E^;F9G8vf}5AZgI7$lHJ|V?Gs(FDb~kt-;DIEudgFX z67hJP&CN}GJ|F745h|8fNXB9aA;?N3LPzY23V31wdS+&3=1phCI{~je*W++FSXo)YXf!f3G(<~l3sNe@X<5eN zbW-VZkyBny)#4)Mb~~qZIso~=g>4n%`3q>8Ml>45Z%6Wj>m7#+WJ2mm2c zDM%(shQkEf+bJC$M#STXFvFj}6ScK<=Yku-<4Yu>s%r4n)uGSMCg%4O^?He|uJUVt qA0VMi7t{CfGzDEp2K@t<;N@@e>I!$B?E*dk0000V>IRB3Hx05Ui(F)%JNFfcYqFDn250019!MObuGZ*_8GWdLY&bZ|N^FJo_V zZe?s~b#pFfX>D*WV|phZT9g0)0>Vi|K~y-6eUi&>lw}l$pZB}WOgl5ZuxL^cZAc7_ z6go{1NQG!HNFobOOk7xv1{M%wNPzH95Lc`)goIKg5jG~;g$rpT$fdLj22w4R2CG@jv%&MtabPnjz^FJ5ZvTWkPs=}6m(H;D z`niU3Y5Ii3OA~6VWBO?Fs9Zf8map`)<;lGFc42^Y>n23#7&=epnSwTm42sx1arGL`{)xIG zs!OCw1&L9Ym zsHZ!>TKi#gjvlkEa~72)hHrO}%UqP*cfW~@a#17wJa>*E0CRaS*{u3sG(@}OS$>(Ap}$XPcMqsc-O~KXP|X(RzFrLEfPb*t|MrD<4((aJ zdtWk4h>`Jr(z?i8X_6oBWywD*u&ezNyIQ7T>N^r`>&&XI9ijSRXFNUis=4{GH`B7| zjcl@MmEYXe+YnSIF~#4YZ7XGMz=@+t%IF`%NYIQluc!Fy&3a{iCaTWfFPm$9G$oXr zG3-g@-ui4!uB$PX{~lDqOMnwJS_J2)W;&U^_gBSETtBHkgT`Yt*!Cq0zz?H+6x`o4 zpN4)9#4)I%8i6=)0?rYJA+9u!=W(k047UM-g*(IBo7S$w z4^yCmaTaWqxKg5ge*#bH<13lR1QNN!b3cz9&yS641VTSBbrhUvLcw{4Td~zcE17=) X8Rb`^_^+{h00000NkvXXu0mjf2@t0> literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/dcraven-chat.png b/gajim/data/icons/hicolor/16x16/status/dcraven-chat.png new file mode 100644 index 0000000000000000000000000000000000000000..5a571b079c3367219221100e37fa878eb6b83ff9 GIT binary patch literal 980 zcmV;_11tQAP)V>IRB3Hx05Ui(F)%JNFfcYqFDn250019!MObuGZ*_8GWdLY&bZ|N^FJo_V zZe?s~b#pFfX>D*WV|phZT9g0)0^vzSK~y-6g_2EdRAm%~pYPteohj2Y9Y$zr1xlKZ zqNFKl)l!w>57q|U5rQTzH0r{{<huWhK}QW4!)_3;IO}=5)%Oa?wfuM0 zna_CO?1|b!?%F5DuO!7QP0Ot-2|YFH6sAUaaJAoBEjTsy@I!lt!jYx{Wy%wHxueuY zw^?mnFNJX!{@(^#q$?bILP_-;N~b_7c=_Yh#daz*-K+h9)q*H0+RfBap2FxwZZDTP zKif$yD84B3JXS;Xw;>^cF=dSkAw>8hJFTX}Z zLzIchlPiOs+1pPpwYt1sWT7<8nZ*%Apm%2-l^Y#ov$u%F?z?A$ zbow8PDx>W7e*4jMCe!-++@xxW#@Vp0*~*kI)6%+`#+DGjoth)EzJW)&dT86;PE%tu z7cb55-T2os?H?OoIb#2Z_WtYDlV<1ArX(mvu$4)-X8~fj7Vse~xZeHJZ zmrle?{LMrnQCxYW_MOZ5QkH;nFj^21vfgzpFUZ#F9=;osxH<ki9@Xw!S^%<_vY9k^qM4!HZwEHUz!>>#;s6&2o(6*qvDn*l=57?K5snVz3`tX zYu|l+HudM*bJs5I!O$uqVL&OxGOz&rY>a>O&dk4+Qd8_+NCHj(00004nJ z@ErkR#;MwT(m+AU64!{5;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq=1UzJY5_^ zEP9g@Bv^ZPs5l*N{;&Kwe0@xJsIIWx<#4_Dvm1(jX6?~SP)sr2WuZ5HfySTj@8!dK z&KB&6Q(#M|XaoX98>1;eit$~&#C(;8H=;2Qn=Z4y(352S!N}msYjwdze5n}FCI(Me KKbLh*2~7YVdq?H~ literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/dcraven-connecting.png b/gajim/data/icons/hicolor/16x16/status/dcraven-connecting.png new file mode 100644 index 0000000000000000000000000000000000000000..c6e87019d37154e8be750f9b9ea1b0fefb3428d1 GIT binary patch literal 1084 zcmV-C1jGA@P)V>IRB3Hx05Ui(F)%JNFfcYqFDn250019!MObuGZ*_8GWdLY&bZ|N^FJo_V zZe?s~b#pFfX>D*WV|phZT9g0)14&6lK~y-6U6V~{TvY&tzkBbS_vSB|nGVw?X~@{b zM$r&$BsPdYNQ)&cDuDIAE_<&&$Yid+1t@VM=H$eAFnnif4;ITwfoeq zsqwM`=uIB^aHzlMjrZR=6cGZ7l_pY3RySOh)@#_7;IYmGeqiX^+pauc#20TD2TC{2 zf1~ysp2)@`kyD?KjYOrA#2kxsi$lZnSu54iet;8F#3L51kr3K9Jl@l;W@c}8TAj~b zlv3KqkG`_sF;e1K5`bK>#!8`v6d;7)iEM&hi7+6rq@Y^&7#SW6E2WNE%95jl{aK~` zfNEW{Qmj#}YZ^L02L>etv9Lu$2S@=1P)gF*(}Dc3wIuI6stCzG&= zITnxXZlNu?UA~#G;s*gpJSmkbZItVz;x>_xVxT)oGHz3GJpyCs-Wewqx9QI&8R$-u zE7k}pL4Ko(kYZIDBc`w3_{aExAy;%U2CA;6T+^&?*7@~%fyLD_TQv`3pkqgbwq%&u z`4w&a;EeQi^UKrcF1y{kV$9#(#PxjEHeAZCN7>a}S}1Vlw;UJ#SO*~LSahYsoSmL) zN>86uTeqfH?5-D{)dAV(_dTRa)h06w1>9ypUHjCV0fB*1)#K6KEo2f7pM8D7UCoz1 zUYa^FDF7ZG9&Zh-$lS{Z2D)B*X`lUPZVMp^@knEzqg9*KUNNyT3r86FJx^|Xm}B7*h<@*7oV=U4RP^jx#i@IF~O_wENE%mXxT zD|_UlXOvRMFy^4~gEUfjLW!$d literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/dcraven-dnd.png b/gajim/data/icons/hicolor/16x16/status/dcraven-dnd.png new file mode 100644 index 0000000000000000000000000000000000000000..9842c5bcc6a7be971796530184afd630280f0d54 GIT binary patch literal 975 zcmV;=12FuFP)V>IRB3Hx05Ui(F)%JNFfcYqFDn250019!MObuGZ*_8GWdLY&bZ|N^FJo_V zZe?s~b#pFfX>D*WV|phZT9g0)0^CVNK~y-6g_7S-n{^b%Kj(e>meLj`Wt5*|Ky?Bm zn+j1!*kqe?G7{s3nNcr{x5izm(Z9goCMN!fda=d17-e@RTQnwSW0A%w3z(%UBL)x( z);3VOzHQ$h->(-c8EnxfIX5Ryp7WgZ9N`wY^a;BxL*7$xA7})=_Y}|Vf0~(F@i$@o zB)!Scstaq2A1bdrqg{JaXJ=pZC(c-fJ- zP9rh!WJDW$^uGeiSNBBfheTJ#5q}wU88?5LXsl20>EFr^Y;A}^(W@*~Q@V`uGbn!* zrORk1hc>YP)4|9qG|ZG_a{S^+t*t%y&H~E)6AA9;;>47?R*@fu-(vfwfdCJ`N{3Vh z-wj#O2m8DC$@S@us@ZHG_wM=wtsK7lwT*!tNlG2Rmw%c2iIQ{u8w2OW`4^a%hh7T| z)(Cc>?(U3CuYUWIew{tV>IRB3Hx05Ui(F)%JNFfcYqFDn250019!MObuGZ*_8GWdLY&bZ|N^FJo_V zZe?s~b#pFfX>D*WV|phZT9g0)0@O)FK~y-6g_B)KlTjGQ|L45h`?`&(na-7wqwIs| zLM#e|J|InHeXfEojObFRE))`tqzooV(M8?VZ4iYJMPykQL7xOFMxZ&uHmR%}o7(p7 z_1!t==|YoSLC@U-zvsvEaQ=tk9~HhFUTbj2H6pbY0KnN>TgsE|E$xw9mi;w+DZIhu z)ZZT1AM*J9%a~FUu~<|+di=-~wzZ|T_1wsxJkJ%l9F7}@LPtC+%2u#cY8r`T9HphD zyr!nceTV#J&84FIQ4iG`fIYH5xGbnCr!}p69@wL4jB`q!Rb#^Y^002nP z(Cas^{S~V#cwylZXqp2FO@ojU6X(z4>xBz*pss`FLL?Ub#@csf4002ovPDHLkV1j;Yt|0&b literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/dcraven-event.png b/gajim/data/icons/hicolor/16x16/status/dcraven-event.png new file mode 100644 index 0000000000000000000000000000000000000000..3bd582cc8d10221a90e7bea9f5f1f45228eea821 GIT binary patch literal 528 zcmV+r0`L8aP)6LAoLzh8Eai8I58U5nTik(KsIJ&hB;sVCPxB?E7`j&Q4Ka z$#pN>JRXm69G7}MV0v){z!<||aLnn+38IS5iJ~Ye%94Kn3&xmpX=R!;n`^}JH;#@D zu`C-^MMO|lj4>P!`V5C(X*3!$SDgz)gm(KnS(@_x;2n8=mAIP$lwdPes z{9^ZeAc=PrZ054y^Ak9*2t4di;5YhR9q9_QX9#+NT*3H{^p2z;pJ8?cK_ZIE{xBLR4$m70i S`}Yq30000bY*F7Wpd{G_b&hd0nJH7K~y-6 zt&+`aQ$ZBPfAjLbpoEx>;2&VcE=0kuT!;z^wo8!+t}N(U5yHzN$)X4%;vzexZiFDZ za~TLo1VaUjf}&E9S|OpJUG>s%LML`c-hPijnnRD+9{3Fz4qF5|G2*dD- zh**1)lrp~WuM`S}tFdAb1iIJjiHL|XW@>ag9SMR!1K5)SB4YWzPq*9M-Nz!8O0nzE z2FT{G-&c{lgeYt1B5vDK962_}xibr6c^g1Q?$V{3C#}Q#PBD;hYTxUvmpr~(j9yyM)0kG#=k1PECE{@~SY&K21-M%<-pcLlE_J%c|&Tzn=V?Lc35&EW!5zU96 z&jFEAsT3xYNzbWwX3tsf-MRhfEVKMN&e*Y->d|pLSG`ca7NDzkG1}}QpXf$s7 zzQ1hS_5$$42Gr;Gn>W%k`!CntJu}s(YpvI>-Yixsl}#X;h(2I|Og5WM?aT+r<#I>0 z)@wNZ>bEaj*UIJc*02KsG%y&hG1vfFYi*1k}@P)bY*F7Wpd{G_b&hd0hvieK~y-6 zwNo*xnlThTiHQk__#YhFwfGNow4KWvI`u)jcaaF9Vg)<9wX{n?p+7nr4VYP4Yq8tyl6{JWLIFua1pw`K`>pr>IuV_7sbo@0 zlu9L3DwPvm0f6`Zy3uGzYwf+m3L&7=>7ZOLgPBhalGy9@8bXMRwAO-%QpP7UNP0Xk zmh#Vo7-P~2?iyUeT|Jx4VltUTTI=s82FdMzGtgRNxm?m_vw3=JAcUa9;UJAMP)flV zlPdP!LkPkBem~^%d83qi0N|@S_VsZ*9$!_fRkK>HxZCZDD2i@x%w#eMA&@cV!(y>` zW37FylzI%{lL8=Sv)QX$F88chEYff|{5hRYpNvMM9{{2={sKS%u4=Vf0XY7JdcFRL zh`wm8KhNj$mxICJCg}h`4B&8FQ&0d9$8k(V4|~1dw~JH!pZE<866ETFz!nDp0000< KMNUMnLSTZcgY!KA literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/dcraven-notinroster.png b/gajim/data/icons/hicolor/16x16/status/dcraven-notinroster.png new file mode 100644 index 0000000000000000000000000000000000000000..0b5bd4cb8c8e47121743fa29d8b847be8968ec73 GIT binary patch literal 942 zcmV;f15x~mP)V>IRB3Hx05Ui(F)%JNFfcYqFDn250019!MObuGZ*_8GWdLY&bZ|N^FJo_V zZe?s~b#pFfX>D*WV|phZT9g0)0=r2>K~y-6g_7G#6mb;CzrUH;nbBEklOivXYo$g> z?zp;kq02)MWfV~mJ@nXHy%j-!La!A?l=N8aOGQv*H_9|q*C?Xa&2&|~>}u-n&Zy(e zIXxMgl3zG)-|y$Z`5u84w6m_RN|u!y%p3s&LZHoYr3>F;Z9iA?FOk{MuzmM|gV{$< z9@F5^ASV(%e7C8|YuLLlQxl0){_B^PBcwZ5FJJPTp^$j-;yIe`-$P(cfpqrFX}<(< zYgGU<*H%~WK+A`B7#K`qc6J7@-@HPwtV|G4zbZfg_R!EE(&;oT%Yx%L@cRppN~HjX z^*nn{R8_eRisFN&>8RLRfv3-&5rpUrhr{dsSqOx7?FusCy5Gn@6bYMR zcw|@;OeiTX#=PrdY-|idC@5GHnEf7)BbUoHORjRUySp_hs_X0bX3TDL3q*`3N}Av}627LE}LM;dEFJ0DhT zDL2|awt^YZH66qZ%eFwo*j&CDlarZjytnt<*Ut9GOIq+G{yzTuw@_6To=5PAkh877 zVIqR!Q!t&&$U@>T%WB*f3??(v)2b}X@Q6SjfoRb%LkJ1BWvf+XWdq9q(P-4O?3olZ z5C{aI_F9N2y>2;ibkW}LQYxy6t3%i{?rvKDk&+I@-!U`VBU2xH#3Xr zTo!%F0h)K5?!}oU0NGQ{|L93v>FG)ACvXr9LjZyWasndBL~mtMuPx5}0sov;DcW@w Q=Kufz07*qoM6N<$f;YIHn*aa+ literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/dcraven-offline.png b/gajim/data/icons/hicolor/16x16/status/dcraven-offline.png new file mode 100644 index 0000000000000000000000000000000000000000..54568896da05dd521e4ae7fd08924ed5b62fd84e GIT binary patch literal 962 zcmV;z13mnSP)V>IRB3Hx05Ui(F)%JNFfcYqFDn250019!MObuGZ*_8GWdLY&bZ|N^FJo_V zZe?s~b#pFfX>D*WV|phZT9g0)0?$cAK~y-6g;Gmz6K51X-#6p&_yHj>69?J_Y9k?p zg#?rcShOlooXCO#En5gkEZKsxVAF00+g2d)3qW4+GELbODNvKBP_?`go=!<1IPu%# z@yvYpvfxqIAoWOhajwoeSGqa^AHm4TkE=pP_-A73XJ%+pzaIGRk)ubCKkn3u&c%rn zKdgzw7Ugz-yC;_DNeD%R>FH-g)3hld}v>t$zvVMfk;w|8HB`SKN_QY~Yl zSb$|)a@*GJ@sO#V?$mz}5Cm$SWm#x6>HrvEMx|PYo#+uvs{eljqz1=v8t{A%p6?@| z08&acod$%|>YaM6oeT~R+KamuZT>r7|7=6DPk4R{M1)!sxNvoh3NufyEn8|`otm0* z{`16vfq|7~#P}%^kAAcDtFQ6LtQme-459CnZYU<)c~ZvrYg>Rj?@mli2)Eh%)%WN~ zHk-|hbb7~@XngVL!J(mOGMSXMdJV;@k5i+w`215F^W_F6pUhz7Kpz^81JjJ)-o3l( z;>Amj>$Ota>g4L*ckS9~ZQis+v|29yd7ekq)KMuFF!8X2O1Xr=B(SW@#N6CVgbf3| zy}i;5hr{`2Pg7#|-koQa3er-@@PVO2GLf*gO0@#pvLU4gB7*OEn0+yWuwkN9DhHRZ zWc_-rCUjl9^u9=`bSmAy@r!e*9jVyds~2Eq2q8ek@I4PoDMTYNjE#*|Cm&4i&t^x@ z1AzW6K!>_tcr`CHO+p0<%nV`%5xpNx*Rilr)B}zG`q%ds(P($RTq+twK%fFJ1Iz>> z1`|OM0RXDCs?lY3O@C0NOeUkez%RJ2i%`e_m_h2zWdI22I$XC2W}eGrGU}sERKB{M z%iSR56P7ILhHdx4wt5hY#nEhfxOM9`0rY3PM{g$%xrcMP@nhpR$G;@vm5PHHSO`sO kb)m^TIQXqe!O3>dYb`@-rInKBssI2007*qoM6N<$f|M1k5C8xG literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/dcraven-online.png b/gajim/data/icons/hicolor/16x16/status/dcraven-online.png new file mode 100644 index 0000000000000000000000000000000000000000..3605ccc6df36b103c3a39418ac2ebc77d2f96e01 GIT binary patch literal 950 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 JPDHLkV1g+dpP&E$ literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/facebook-away.png b/gajim/data/icons/hicolor/16x16/status/facebook-away.png new file mode 100644 index 0000000000000000000000000000000000000000..4bb8de1bba7982adb070d33fa689cf2b9562a0bd GIT binary patch literal 428 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR46jpoT<-(k2`U^pu7V~H zx$eAE_;xEV+Uv64rlhp8{r~Tu?Yr^yp{1A}r(OEQ3u~OdIK6rG;Bw#jqAsB;jTQo| zCnw!y6FZQ_arRZ|gyXYM3D)>+Wd8fkiA}?c!>;^5%Pp53rZ;kwkLs<-Yy5vK?!9Ap zQnj2zl>3HzU7mN@bHA5&;Q};ya}6G8ho_3`ycgx5u%Ytd?0M{;6d97mNQ)?4Oga U%IuC?4-8obPgg&ebxsLQ09-1rL;wH) literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/facebook-chat.png b/gajim/data/icons/hicolor/16x16/status/facebook-chat.png new file mode 100644 index 0000000000000000000000000000000000000000..bc42cf9b0b3251a61786d99628207d2978969cb2 GIT binary patch literal 552 zcmV+@0@wYCP))8iP zGSW4Gj)dT61D@XN(mi()fStX9G>Hk`k!jTcBIW}wbd~{l@bV)+fA69ch>Tnx0u*5? z!uG4XNBTEUt^u(2XlryZ9*ZEs&vh_a^<2c51LxcnV0Ha10G~JSAL;8-5*k2NR&!sW zu1Vbo-vIKm{BMLwy{f7PFti21JJ#=X=K>zyym+|YeE*HSD8~Ug;vMoY*USiGns|q` zMFTh(T0(HVe)nnW;Hm=tVzLC2C1j~a#}RQHp@1NQ_d-!Q%F59n q>;qV>pw}Pd8~s7P(02x`g5F=w(8@aM?(+5k00002?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR46jpoT<-(k2`U^pu7V~H zx$eAE_;xEV+Uv64rlhp8{r~Tu?Yr^yp{1A}r(OEQ3u~OdIK6rG;Bw#jqAsB;jTQo| zCnw!y6FZQ_arRZ|gyXYM3D)>+Wd8fkiA}?c!>;^5%Pp53rZ;kwkLs<-Yy5vK?!9Ap zQnj2zl>3HzU7mN@bHA5&;Q};ya}6G8ho_3`ycgx5u%Ytd?0M{;6d97mNQ)?4Oga U%IuC?4-8obPgg&ebxsLQ09-1rL;wH) literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/facebook-notinroster.png b/gajim/data/icons/hicolor/16x16/status/facebook-notinroster.png new file mode 100644 index 0000000000000000000000000000000000000000..2666be91a51d023254e2ddeeef2728a3f22a742e GIT binary patch literal 500 zcmVW@ZM8Z6-7}no#y0u&i!!6`NieLsA`gBDTBeF zO8}OamQmHj0N5yM9Zb`V&5cdgd+RJNE-@aD+5fUfoXjsa08wOH0bdUeS^c;Qz-TnY zS_eSvTmuNhpcSz4VFiHiN8h-5 zVGuS6y!USgYNt9$UDuL8ngmr2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR4`mGcQj ziV}I{I+MKhW;su4)J-dU_WOUTJ%N&{cn*wjLBv|~J*CCm_jNzo5wfeQ|S`2&k?!WZ9 zRQ)SY2*-|Hd*+=ye_oHFqGFf&`&~DF+fVF_lBm7>{=^g`^+-EbgHiz#oi_@XWf=b$ zHC*gr{cw=EprRneV#5CH@~9SpWqf@c;XG|HNb(~uA yn~H@gMIol!L*}V?3QTMiofx(G=gu!y{~4-!I$qnm3cmq{JA)8iP zGSW4Gj)dT61D@XN(mi()fStX9G>Hk`k!jTcBIW}wbd~{l@bV)+fA69ch>Tnx0u*5? z!uG4XNBTEUt^u(2XlryZ9*ZEs&vh_a^<2c51LxcnV0Ha10G~JSAL;8-5*k2NR&!sW zu1Vbo-vIKm{BMLwy{f7PFti21JJ#=X=K>zyym+|YeE*HSD8~Ug;vMoY*USiGns|q` zMFTh(T0(HVe)nnW;Hm=tVzLC2C1j~a#}RQHp@1NQ_d-!Q%F59n q>;qV>pw}Pd8~s7P(02x`g5F=w(8@aM?(+5k00002?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR46jpoT<-(k2`U^pu7V~H zx$eAE_;xEV+Uv64rlhp8{r~Tu?Yr^yp{1A}r(OEQ3u~OdIK6rG;Bw#jqAsB;jTQo| zCnw!y6FZQ_arRZ|gyXYM3D)>+Wd8fkiA}?c!>;^5%Pp53rZ;kwkLs<-Yy5vK?!9Ap zQnj2zl>3HzU7mN@bHA5&;Q};ya}6G8ho_3`ycgx5u%Ytd?0M{;6d97mNQ)?4Oga U%IuC?4-8obPgg&ebxsLQ09-1rL;wH) literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/gadu-away.png b/gajim/data/icons/hicolor/16x16/status/gadu-away.png new file mode 100644 index 0000000000000000000000000000000000000000..ef1287d8f71241f735531e397984a3f8c942c8a8 GIT binary patch literal 804 zcmV+<1Ka$GP)+F*>F*$1yvly3VE+77Hr#g{ z_kVNYe1N!~O>xuxYY>n4W9`6+n*xTrqdrw>6Yrl61G`a#XUgjvjrs(J`;TOHn>U=7 z)7IK|1#^1+M}8*|%mSx{Yp8Aqr0~Vs(kS3a!l04*=KhaRb*>b4c~^YB0O2!*s*TGvbCXIREJ*8 zfeN7D3ZM=YKrz!J*qRj8Yg+?1HG25^Xzu3_6cLBI1Q77kr1uG^2k$@~=@wL7Qy7RHJ?3ouhaL91sq6L(O&cs6!UrMX+QKK6j3>Z@yn3UcQ>W-b|C}j&e)e zx2Gn~pQE<5r4+Ysi)_UTK#^-%CQp4{8a+7>)!bIg_=WSoH>drIIe_8aL7%F&iO8(V z@$D^&cT8q~41&PCHlwmJX0Um`-!TVpV}>4QOGSO^ASztHa_Qmb1N7hYnQqLr%X}R~ imwr(QTm=L3&HW9N{y=Ts^uZ+n0000Y_yv)uvM6#V^mP^rmaj-FZ@E$8xb7{8KT`sU7(EV=GW|M z+Kg#YTXjL{ikY#dCc2BHS>E^m;f30vk^|@JJm)zNoaYhLsL#O3ThA2GYlPtA*31S7Dee$VdHKWvS!?AhCA8XFreVOeOcDHIAinH()w zmP+wuf>GN(W{l}lT0bf*t5X>>RDJnHXU{|XMYt|PDt!(mB>?fRtyC%%5^ultowIz> zaW;1h4>w=BaN%UzwsybizMbxyV>8rUA4Y3MS4SN4H`Edqp->2~>fO9d;8&{;&rMCe zAAf!TXMNa}^RFS zNBs+dwl}0y zxBVWdBxLsru_CB+=jvVi>FH^n&t$l%ccZ^{|1Q^QXaNlV!W`K{r~KI?pS!K~^~_~5m;04!`4_=|t*l`vwrP_w zzE5su#aUffua})=k9_wP?gr8fvWz zl?X0uaj{&;7?lve>lTo@&P?rJ>r^F!~=+FJg& ze0lW4D60P71W^zi7`k)k#EACRQlL|@*oZni043J z5CB01gBZV>OmnlDpPIT+92v=Z0AejJ3_%3!Jm-%(5DPX2i8-@>p7F1zc)WEE7w)9Q zBurFNq6F093Ziv?=U-P+k@|ssNAh%a1hj7oh$iNFynCG0HT9HbG6+!2=b6dnW}iFv zj=2Q(3gkPLN+qq^QrXdE-d@|!Pq!7{_pQL3nxf9Hp}fjR#>U{;GfI6Que4N$Gc$FI zB3yuu>kSPu`^zZ_|Lv2x;SLG@Ov}RxPi&zeufi4z@<8k2qKsZ5ak{3yo|~VaWVpL0 zBKicKxrhr>pqDycy~qVGo%o8C9URJR+$bf3gWj5KR+srcZgLVt(7sP`Vj?c&a@W)n z>X$2RugGTm2t!>lJ*_Jn8*#v6`SJ9mH+?(zDYzuR5*=&Q%z43Q4~F|GdNQ!Gc^>2 z8ovr^NCRr2l%gRd8e>dcxY8IBUAkar{1rx5ELgdAO~go4tVT*HA|g@z3PuwIT4vg* zsdhT=z3W0D0mQSq$vyYv+&p;)#0%mITCrk15?Cy4f6wFwO<0XJ#H9@9MrKNn`+Jkbx#(uFuWA z9XWsQENW_0E&Fl`#XGE?sQc}!RY8HN{$0v z*Pv?}9H)rKV^84MHSB2!RaA!Ly7Oo>x+AQ&*_HPqJnp(+Z5 zl<=w^RxJzdZEb3HdM2@_G5oA9;9pTyf8cp%M=W~i-~rV%46IrfbX@}hAW0yi^~CLh z4bwCcZEaPof;F=2WAiEia4Fz%51b2dA>er)Tvq`}f+UG*^-oU-2_ZPR@W45T1TmHW zD)+vAHQV)i_RXV~NJKRZ10}}+5m5C!fCwJvaH}qiIupw)IlTYyQ4pgGzlw#7lF#SG z%F^PuaCooIrR++?M^cfgN5S5CHO2vg?m^hW}K`yt7rSD6+kTkyK4tzc~)YRCBvD7n!>gy}*?QMF{ zG$Ex#KA%TA`_f%pT-0j)emJEcLjd+~5FknE7ZaHzV>Gbv^;`G!tC^dJTUy8y919Cy z6k_Z)NMwlEAOo9Nn_EB0&1j3qdqcZI!;%DwwsUcIdh+RipJ_Ad1A(+<|?d6++g&^eK*U-15?wqa!0D`gS^D zCqP ze4^QWpXcCx^ziY;KPKRKuC%uL(q6xRYS8Ym#|o4JF(JVMfKXamhN)@)joIm0K~WUA zU%2CqL~3WY$#0062Q#<8LkLjK_+c+k^>SVXJas^jA%Q7p;J z&DA7P0?z@q>}(_@Cc$E{AR{9KAOo^lhO?kR6GX8jKDo=~k^mexiQKEU)^=G{RkYph z1PJKtXax~NLt_&FLSsWcEQv{IZoVBgh)%7C*8PH6mOOTcJwG!&Q?MjhpzAt71R}sN zbTA?i2q1zaOGvaNL2)=t;ZVr^d3ou>uN^QV-Oxb<5Yy4o-U7xL^xuHCmRn%Nu(q}a z5WoxrL<~e6$44Vt`TMDv)5F6rb#*O_)o>VBuHD3_XADtIgQi6>;u*))>rL3)j3A`0 zA`l1|^B)(_eEa(2q$wB-8o^+2QBmx&*(?|5<>i_7=h)yG^WyoyAYQ*2#m2@4F1RXT z%d}zKGo~$kTDaH$^jY8B+?)}&QIEyEGqW?2)9J*aoLpF4yCIkb5HZA}I#QBTp{il{ z{62~4#=C!P6lJNasL+YtzFznyy|F#kWMrjgBP-Pg>#k&YCnsWE-QBR;?GR%UG} zQ50f~ArJ_dc%Hwr-6_Wbe@9i-`SJrfIfD$q;{5!%{{Dft+v#@v#+8-t6M`(x129>w dDdRioegYJKOT6nZkAVOH002ovPDHLkV1gdoZbAS6 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/gadu-online.png b/gajim/data/icons/hicolor/16x16/status/gadu-online.png new file mode 100644 index 0000000000000000000000000000000000000000..0a7e6d4e0a330b5e8cc84a609e874bd4ac585cdb GIT binary patch literal 802 zcmV+-1Ks?IP)z{L+T6eIeOp+8=$y?t zi|0I?%kv0h4CUhf%9RhiLSgw-GPyQpOmQxZEZ3Y6qQxH!wpK+VOMorqaMr)#x|F?2 zO1tEF=YfEwRD5ALtW2R`en@#WA;eiAZ7bF7XM8y5>j; z2+SZz2+?9m84tB>udsYCIB_9IS9}88Ja{>}&gD6A8GOzw!fl%zOR0E5h}MJ<^Q@an z-K}YC+`Tv&mBO)c0>7rIjRCI++67~QF*sGD6e@j0R0 zbdjFZOxLap#--=vbS`8B7=tMmL2EEZScg1se?o|siJ_sMQ0IoGoIRf#y;CSOo7WVn zuwCxGs9=F3*}GvOrLhrGA3qMdS|11c#Xlt`gg6*&-*GL{x!K96+g!OhpRc2eOjgj` znC0l6Us$;VeCg@Se(oJO5;Nw`j5h-5;n$z+rQ6oyZ)oF8`xBf6DZr4MT0-vkPUO3v z48Kj;Kzf!AY^A#E!(r>qrMqt3#!xBLw#CU;`T>JGHp{GF z{9j>~l%+F*>F*$1yvly3VE+77Hr#g{ z_kVNYe1N!~O>xuxYY>n4W9`6+n*xTrqdrw>6Yrl61G`a#XUgjvjrs(J`;TOHn>U=7 z)7IK|1#^1+M}8*|%mSx{Yp8Aqr0~Vs(kS3a!l04*=KhaRb*>b4c~^YB0O2!*s*TGvbCXIREJ*8 zfeN7D3ZM=YKrz!J*qRj8Yg+?1HG25^Xzu3_6cLBI1Q77kr1uG^2k$@~=@wL7Qy7RHJ?3ouhaL91sq6L(O&cs6!UrMX+QKK6j3>Z@yn3UcQ>W-b|C}j&e)e zx2Gn~pQE<5r4+Ysi)_UTK#^-%CQp4{8a+7>)!bIg_=WSoH>drIIe_8aL7%F&iO8(V z@$D^&cT8q~41&PCHlwmJX0Um`-!TVpV}>4QOGSO^ASztHa_Qmb1N7hYnQqLr%X}R~ imwr(QTm=L3&HW9N{y=Ts^uZ+n00006LAoLzh8Eai8I58U5nTik(KsIJ&hB;sVCPxB?E7`j&Q4Ka z$#pN>JRXm69G7}MV0v){z!<||aLnn+38IS5iJ~Ye%94Kn3&xmpX=R!;n`^}JH;#@D zu`C-^MMO|lj4>P!`V5C(X*3!$SDgz)gm(KnS(@_x;2n8=mAIP$lwdPes z{9^ZeAc=PrZ054y^Ak9*2t4di;5YhR9q9_QX9#+NT*3H{^p2z;pJ8?cK_ZIE{xBLR4$m70i S`}Yq30000ONui8Pj3^qfoxg`11})%NSb4A$MbYag?-@S4{Q_nS2=g$A$_S#w zLS^m*u&MTX;gD$j`RhAe0m$Z8Pv3z85v=Rg(_im-McCmk!AJ+dl*sVw&o4wk{%2zN z_3IZX5I(@t)}OzBS^xk02jKwK|An%_2K@c==kU#wkC2luNb@cv{;nIR9=HK%RwTb8 fSx8}a1_&?!W$xIpcs8(|00000NkvXXu0mjfoW}qv literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/gnome-away.png b/gajim/data/icons/hicolor/16x16/status/gnome-away.png new file mode 100644 index 0000000000000000000000000000000000000000..bbd5dbaf5e8b3a4d0b99f8fbc9ccf6f809249833 GIT binary patch literal 543 zcmV+)0^t3LP)cUzlVqa2b4fY5rFy>~3EGD|tXR7`$%p=tPob%B?v*O})ovm9fb(ZkLnJo)-WEg@Dlj zP0x|esC@kVg{J4Ng!lJZ`Z|x|u~V-+1*k2ow;Bz8B`$g5w9`8?bq0nyP;_Pr)e4BY`n!rrHmS%6U hTX^tM<>59;rN4rtp21aTcbEVG002ovPDHLkV1h~b<@Nvo literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/gnome-chat.png b/gajim/data/icons/hicolor/16x16/status/gnome-chat.png new file mode 100644 index 0000000000000000000000000000000000000000..badfb2d6dd9bb1225893b77647248c67be4d61de GIT binary patch literal 556 zcmV+{0@MA8P)&Anw=%6IE z#QRZgn}6T~aJ#?1ubZ124F&_HX{wi(7bQue>+5Un?d=J;9raF5ou8jqx7$^gWyPUFRILv$LF>oM5fR7=t822ov1c*dR?) zmY0_SRsaq!FE2G54wYq@ilUJBUXtX!S5XwovP{F_P)|=!>i7F{&guO8T)?3Lemy)q zEX>Tz5Jk~cf}Ncms;Z)@D$24PpRcd4EG;cL11L!nq9`JcW307*eL^j+4MGSkE-n%S z&U?RLt);3ej*pKq#<07)%hAyhlEy}xo126XkVILQ0L}o1?RNXq>gp;{6k&|PT034( zEvTxB5W+ac)zua2>+4^~TX=kY1fbb$VvHFZNMdViYeJmoIgLgGV5ROvj;y6YU-g}&LoSmIKbS0000Rad>iAX zM}hyU*p)sA%=hwb;oTO?dQ{gnKvuqmYcdN%+(VXaum3!K9w;WNCCKu@aH%-Z5C%_I KKbLh*2~7Yx7cn#d literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/gnome-connecting.png b/gajim/data/icons/hicolor/16x16/status/gnome-connecting.png new file mode 100644 index 0000000000000000000000000000000000000000..c6e87019d37154e8be750f9b9ea1b0fefb3428d1 GIT binary patch literal 1084 zcmV-C1jGA@P)V>IRB3Hx05Ui(F)%JNFfcYqFDn250019!MObuGZ*_8GWdLY&bZ|N^FJo_V zZe?s~b#pFfX>D*WV|phZT9g0)14&6lK~y-6U6V~{TvY&tzkBbS_vSB|nGVw?X~@{b zM$r&$BsPdYNQ)&cDuDIAE_<&&$Yid+1t@VM=H$eAFnnif4;ITwfoeq zsqwM`=uIB^aHzlMjrZR=6cGZ7l_pY3RySOh)@#_7;IYmGeqiX^+pauc#20TD2TC{2 zf1~ysp2)@`kyD?KjYOrA#2kxsi$lZnSu54iet;8F#3L51kr3K9Jl@l;W@c}8TAj~b zlv3KqkG`_sF;e1K5`bK>#!8`v6d;7)iEM&hi7+6rq@Y^&7#SW6E2WNE%95jl{aK~` zfNEW{Qmj#}YZ^L02L>etv9Lu$2S@=1P)gF*(}Dc3wIuI6stCzG&= zITnxXZlNu?UA~#G;s*gpJSmkbZItVz;x>_xVxT)oGHz3GJpyCs-Wewqx9QI&8R$-u zE7k}pL4Ko(kYZIDBc`w3_{aExAy;%U2CA;6T+^&?*7@~%fyLD_TQv`3pkqgbwq%&u z`4w&a;EeQi^UKrcF1y{kV$9#(#PxjEHeAZCN7>a}S}1Vlw;UJ#SO*~LSahYsoSmL) zN>86uTeqfH?5-D{)dAV(_dTRa)h06w1>9ypUHjCV0fB*1)#K6KEo2f7pM8D7UCoz1 zUYa^FDF7ZG9&Zh-$lS{Z2D)B*X`lUPZVMp^@knEzqg9*KUNNyT3r86FJx^|Xm}B7*h<@*7oV=U4RP^jx#i@IF~O_wENE%mXxT zD|_UlXOvRMFy^4~gEUfjLW!$d literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/gnome-dnd.png b/gajim/data/icons/hicolor/16x16/status/gnome-dnd.png new file mode 100644 index 0000000000000000000000000000000000000000..0e31d6938d377f3bd033499c16bd3af4451dd947 GIT binary patch literal 462 zcmV;<0WtoGP)%=U~DJ>pHAeG|zYT0Y-r3mcU6EJbu}GhbP^No5o@qhS2%e^MH9%+NB5{#8)y*#A}iQP@Rb59jQ{v&)@xC^CGe7eN;`_Ow)AcM!t+kb!R$19 zZ}TWCsnh-E4784Lf#%kGJkJFILD1zAMqI-9Y=6>VtWeQ!`Z6x%@uz@7M2JK|+Gj6x z2t+=f79^Lr{p!m;WtGD5GZL;<*NaN3{?58}?5XOK1H%Zf2NwpFXgrF4%wKhwnpbVhQD@PmAHc5=MC#xwN(GlV zRZG>9N=mAzq_j=?Hhtgs?i?hcHo-1}HywBP{CGGX_}}Gv4d=!VPR3$hQA9_>KnVhw z4FV|@7FMVJ3Mh{p7)~bRrNObY`E=nDE^~+=jPR>pSeto8{q37~K_JB|-~7e4#@h~1 zwNmQzx%}SqR}rs|!OPdkjNhQLvW{1{Nczl$ycwnKnhxOQk@THVG@r;GrL|n6SzGEH zy?8yt;`~SY4i6)0`RV=1$@VVZZh}aQc;J6sCYDSRO4I>-sxEONl_aw-ji?cc7J;ch z0GpAX65waK%s@6vDAED=jV2pEzEiJ!CK4r58|`wi87g8B)oL{BD=@I912EsGu~=a( z2ykMAVsrsELY?1I%OyOIc-TbO8$2HBr@SQ$nPK8+0jMEjA9?|%W8!jg&qz3jVBBBb z0^nvU4q~*-Foj6;SW{sTJ2w(@U}oI*e?M|O;c*}h zbDUH&ZY4Yx6u|HSUztn5#I8|(;PFt6>pmQ77*3&@g6B`*E}**tb_A{MGTJHrC-n>U Wa^tD5kt*8&00006LAoLzh8Eai8I58U5nTik(KsIJ&hB;sVCPxB?E7`j&Q4Ka z$#pN>JRXm69G7}MV0v){z!<||aLnn+38IS5iJ~Ye%94Kn3&xmpX=R!;n`^}JH;#@D zu`C-^MMO|lj4>P!`V5C(X*3!$SDgz)gm(KnS(@_x;2n8=mAIP$lwdPes z{9^ZeAc=PrZ054y^Ak9*2t4di;5YhR9q9_QX9#+NT*3H{^p2z;pJ8?cK_ZIE{xBLR4$m70i S`}Yq30000HdJ)^&oApvCh~UAS zH~$66u4!@#g<22<@8+Z@DaM1BNTCLW5Cy3Le}ETDKt&|Qkj-{y=Xuy|Nzw)jeZw%k zVZPt@eczc;BEm_+9^WXJ%dXaX?Y}_V_9~UieMDqrdY&h~?~5^J;_P<2;(4Bk$YBKl znM?-X_YaZpx0}o5Mq9YI;<^~?Kz6ZMJW}@JwX4j}U18X_Sb?$D?zlHNKXnO^cu2hN z=k4FG*m$_b?B%(mO+0sIhSe{#45Gg%6iO)+3Q#zwa<~`XutAIQTO08}n*c3?I2k%; zB*G*>$8jbTObSa`2qp&DHqB;pFO^EQ0IcH>q?B_&kWQ!RbUM1;j~h!853Bh^6u?+;pS2)v%T|LO6w(MOk7c^ z*w847FiNj98jZ*KeEv~3o4qa~Pi=s`fqwa8=g-~d=X&(w$>#2-_SdCat@b@B9|0N& zflx#u;FjyU3jiv4zB86(wY3VKeQ13w)a&)##2=FYbpqDo{@4JH<8*=`SX^Iyuyq_$ eheMt8JO2afK?XvU;zQB^0000igP)%%@dty!XGA2|zVAyEMUrLN&ED_#;`_dc$h86hV+>IgU6DW9tyZgf3q{%8 zZueQ)&1REEqrqiv4uG}xuHWxdE|+h54#SWj2&mWV`7ADF9}Wiqlv26YTH|>h0L884 zGPt$UEX$tGl}hC{!Q;iE0;SX+fa9=OEPlDJ`}4mQToRN@CAQnG4a2aVBZ%V|V+^kA zVvM;WJ06b!j7FpAbUIa%BzdKjS~zD}gZX^kZnauwx7*2ZI8;SDX_}&x`ZSx(zSL^9 zd(ZRUi^x|8APmFro6Y9qdc97^Iy=_0sSB8{F0G@t4pPmH+?% M07*qoM6N<$f<}Sn%m4rY literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/gnome-notinroster.png b/gajim/data/icons/hicolor/16x16/status/gnome-notinroster.png new file mode 100644 index 0000000000000000000000000000000000000000..45cda57e6e07585db6abc0335c842235627fbb0d GIT binary patch literal 759 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt_f1s;*b z3=G`DAk4@xYmNj^kiEpy*OmP;4-W&YS?bj9EA@P?#{r#_{P)4F{I+w(#dDDg98PQ)|aQLL?vzMWxPFM$x5f}h1y4_#&(Ftbcuv> z9sTbhP@Lu=Qo zRt)D_+tp@BF7w*E>)5=9wLSgv3vT8F>WF1*kDlkkEBx}4!<^|)KCrUIJ>Phe)9rZM zj>4~EYtv?*jehiSx5B40)e23m?62)|-`_p8Q2F=H>gS66^0tWv)=oNNhpk^0@7lFs zg;&Z(=3kRIU1Yw$w^f)dr!@5qzv!>CW?BU^qGr684C_)|7dvlh-0I2a`x4a@w_Jb8 zx!5f0ikLk|-@lSckJZ&rJY}o+TO=vin|7ewZ?|{B#3iN5k3Px?b;|9#oUk=WX=}2= zlkXhYY(36-x;sj|pKf3D@edET{<9NH$`kGH=4&hr%MJMV>*aRi{nqwfH7j+bL$zN2`^5ubX>O$m>wBCUHx3vIVCg!0H<#`Qvd(} literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/gnome-offline.png b/gajim/data/icons/hicolor/16x16/status/gnome-offline.png new file mode 100644 index 0000000000000000000000000000000000000000..60a6e40e6e50d99f0accb9dc16c5a46c844b04bf GIT binary patch literal 507 zcmVVxbs};LS^G#7hrhW27~XW)l=kl8uKYHfszB8F(-6%=0|+ zynmp}6Y7v}JQQzqx^bKwu3JKDjn?NB3Mb6Wd}@1VJVZGXiC|ggy+Yz{;&^%zfLg8Q z|1lIo2!Rk10A(pm+YAsiS_0YsgpChxh{p%1*XwPHmaVXC6|~S)1*q#&hAwifzkf|4 zG0gV%4~oU&e}brmlmhp>60E`gx4mF_!(|pnpEEHr$?WWB948NeX`4tX+H3Il^ePZX zg%W+r_g$$}NG6khL3?Z>z4jdozfZ6pMG=Oia8?E&K0d@$CQBxh=KA^{`TVgDP!grW zL4uLp!`sAs3pktoiPk#UXRm?LO7L;+?X8W}m+xK^>^M2fWfy>IwTkPO0FYscGL4Rd z#8f5=faiH!US9F*;DGc_nzhw+UM61<>yKf!v@x&?hLY;(vw>>v@Q=5(waN0=C6-bv xjJ~Sy3QW%CLBm}Dq8~&ViyG-3~GdKA-mTQfJO>_VN002ovPDHLkV1nh%LsR00dKS0wDuI=plD*&GFW$4(JP7fYVQ)y{|+*+B|zPzWW^98zlZ-Q(~Cjd?o zP?CjdXycPp_fL(S9Y%jnf+@;KGY{5*gJ4z;J-GqADZOk)TogK9A)86l+tqjI)f>=7 z6*4mb05SiLwe2iERXHwQyztelZx6H?IccD(44??9pbVLrAQB)FkeP|YW)(wyHd0LK zPcpw5gdvBw6JQrZh(+ty0SS;~5XDec6=BHH)j-$P{L<@HtT$q81r`FKfZ_vExZddPc}K>oKm`uHMGYKl>(y-KI1 zh~v8JZl2FdMJyHOV07*qoM6N<$f=hq@4gdfE literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/gnome-opened.png b/gajim/data/icons/hicolor/16x16/status/gnome-opened.png new file mode 100644 index 0000000000000000000000000000000000000000..8df4f53ea5b6201c78bb8a415d197e15f66e7e2a GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^+#t-s1|(OmDOUqhY)RhkE)4%caKYZ?lYt_f1s;*b zKvlvZ%*Zfnjs#GUy~NYkmHjFQqo9UPNf*O3ppdbri(`ny<>Ukjkp@Ap|LShK%0kco z1Hr}>2`$p6I@H=1F-9uteUM-E*nVT(&+`Tqj0_2-{C|UtUpoP{GkCiCxvXl#(#N}CfQQ^we%xty3&nV9K$icpv;1GQhQotXAW#9!r0ON2G0dg6r{wW z-~_+G#ZE>ovQ@NO{YbMcbWLK~bunLUlQqekywCGKj|bZVejRxo-3J%H`{w4l;D5^T zcsT#;=*iyR{@44uJD-!a{S$7d(PL78*ckKk^9UgjLOk?TA0U;k0+w+%{rhi@MxA2j;T9nTBO@cs%*@be zG>Ar{3=a>t;7TcW;=i(IHtzzau~#mCTeG!_Enda4ENt5bV0wC*xw$#KUN2KqQ!V&@ zW`j!p58}mg1aKIUjqOaf)>vx9SIMN3ty6^%tgWpvK0c1y?M4WJQi}ZYBDb@J`trTP z4}i}J(B*b*jrRNBD3(eLJ^c(yDQw#&6bcat1nB7KKq-aDZj%1yGcHGyH!_v#GEg!A zF23{L^;lu=tF}~(#I2u@Qlhmc91gRvuz-{jhp@K{Rx61w4)qP3 zdFsgO;hwI+z}fQzj~=65ucNi5+joHMmCLLwEvk1{?nDap=2hT2ka9i-Y(1z|Mbo<0 z@AJIoNygf%rb%z;Fpm5^?tlFW@t<$$4}MwyZhPOn0;~cVz;yh*9M1<2JvkQY3!mug zKHcec)08%`{BHS+#O9~zay0_PfgE4~%JCm1^Bnhgz8rkw;Hj-jt(q?H-;_!hfFe)@ p^gr78FERkJP)HH)2Fc6Y-qVn z)JzVYxdLIXWRInSh1tkD5H1L$BEUdPYa2RAVz(jBy*q=*1_@b`sIZjL)_w-SvsF+G zAh($(ozWP+KSJZNWxLTaX1`H*Lr*L zc)h%QaG4W_cQN@Mp3VHEsjU->rJRk-2DfkYZ@U737zzYLDwPtds*1BG8%1)uRs8rk zD8`4b3YW_z9*x{8WMO9u9A$!NCQ?K2Gx4e0fHG)-f1aS=(9ru=??PghshS}Fg(0i`nI1r zld(zzK@f(&^&-IpA!=o#Aed5A&^lniO2iki*O%}W1S=mvun@#jEwmN`f?%g82sT1; zljtS4w;79^CdNxZA~-P3GXKZyx2#cB2C1Qe(tiO+B_Eqq6*hrowTv3eg$p^#<+So+ zvfDu!Gv$SxW67r|fP*Nwgor2CU~OzhZ~I)q40~lx@W~_KxdL9ZfC{M3w0Yz7rDQTa z0rE@{VO|APfO_0MAYgnZN2+Y~bfCft4u}8?WPoN2`#g)7>j$W1XOHo+3$e-^jfdUV z22tFOOg}&=xY-6xe+4wCpzm#fhMaw~*8K{VLvw{?NuzeCWBq##SRCI`Nt6f>3F}Sa z8fl3`S`t-wq{c>PIB^32_DuTKXVtS5HKeYNy9u8I_SJTeCIfy^|Nogj0Q(x2lPK|q QumAu607*qoM6N<$f=y(qIRF3v literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/goojim-chat.png b/gajim/data/icons/hicolor/16x16/status/goojim-chat.png new file mode 100644 index 0000000000000000000000000000000000000000..7dcf08e4d4567b2b76b352c71c117a71bc9a8047 GIT binary patch literal 407 zcmV;I0cie-P)^@R5*>* zlf6mL{O37 z&l)Y3J-a&=lDL~6o7i~ZaN#gB%$a+ylf*DJG8FqS1iXGjhx33{U=gE;aYDqQCKdF6 zCFL41MaV55h&MzN@qoCaL7nMde4aeU3l}`0Fb$P0|I!y{JaR@M%gL{BPnn2W4E$#w zjPH&+X9;5+*zTXfD@(-SB_7pM6;dDtON`2Or7biwIK+TYVo)N2V$czYErxg6jtYYX zTAUL>5+~G}wIA!*HH_ojjdj07x9?6d7PQti-*RBo8D&nJY7G|HaU~*-Fy=Gifzcph zMZ3EC)d7IpaN|s{Ohg$YB;kgX1MSIru>b!veF4udz@d$3^<)45002ovPDHLkV1nxk BrO^NY literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/goojim-closed.png b/gajim/data/icons/hicolor/16x16/status/goojim-closed.png new file mode 100644 index 0000000000000000000000000000000000000000..ee32dff1df8fead34378b214269a603382c97a45 GIT binary patch literal 454 zcmV;%0XhDOP)Fb8HOhED(h0aHmt zK~xyiHIOlDQ&AW|&wYJOOw9weg9x=Mh@%8j1f3KELZO8IfVy|-QjdB8_d|eM#GweBZsFL*jbQaNsyI17I7{ivu2G+?i<1g4oB>=3d^vP7dJA zjJ-a~F~s+x+)AC{A{>t*D)vjpthMh}KD%De=7*VnQlX)0Tw6?7tUJ121QA2k`e))vwD=H_OY2o#uNaR7If&ulKqdM^*_&hPn!bp4>7IbSJxsdwg3PC07*qoM6N<$f?i+2{{R30 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/goojim-connecting.png b/gajim/data/icons/hicolor/16x16/status/goojim-connecting.png new file mode 100644 index 0000000000000000000000000000000000000000..d74b7c6e82b772531461cb3ea562d83ae5f1f163 GIT binary patch literal 527 zcmV+q0`UEbP)* zlR-$60T_m#UpK8W-AE`RsV>q4(?C!x#*8A-gNN{B5!o>a35n^YbJ8Ici;CHmP3g<$l=`0hRmIuwRuPlubM(8+ zc1Mvl6EKtN@yB)Q#GHi0^^=}+cS9p1 zUo|@$Q82imKwwG@4L6p+lY`ONs|$wFQVc6ikiH7(6#V-Ju{V-3IoiWtrcE{U8EQG2 RNs|Bo002ovPDHLkV1g^e^DO`X literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/goojim-dnd.png b/gajim/data/icons/hicolor/16x16/status/goojim-dnd.png new file mode 100644 index 0000000000000000000000000000000000000000..3d045a37448efd98cfb721f4ad4dfec7765470e1 GIT binary patch literal 419 zcmV;U0bKrxP)mXZWD@fJ zY3=4-7>+Vm_=uv01FDXMq{VRLno~UoaFq!#s)tS$+x>o~HJx%9j@+4PqOsNpiLl*< zl5qo25(HpGAgW9A08awowbh!wIuf2d%zcIXQmHGd`>Fk7aqu-7?Ou?>nK_8Y<6{;I zcaE(6f~fYDJh@DWvvUC8+VgzR_m2c<2ssh*W!2i7Gt&MYq<{CBegM)X0?^OfZ0G<0 N002ovPDHLkV1jD6t||Zk literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/goojim-error.png b/gajim/data/icons/hicolor/16x16/status/goojim-error.png new file mode 100644 index 0000000000000000000000000000000000000000..85cce3860687c039467222033cb7958611b13104 GIT binary patch literal 541 zcmV+&0^r zlR-#SaS+D8eXd$disBXsYFXOB1rbw00uLp4F%OF5sf(vB;z_(}mk>n3gX|u?~HKbXrf^Mm<5Cg6D4PF?g#G?VuPJ85@vmYa4XVRVen zK@}Jr-zh@-y9B19Js?e$!txrxWL^NJ=s61`6#_mDwWELH8%%+Pg@Fim!i8X^AuNr) zCTgYAEDRArB2tcCD}W+L@U^iVT5AXkTy{hM?)(=c5p9wpkRrUCUc=w;E$r2nVsQ2c z(kTs61g-RpC?W0&7Xgxb@K>s2Oi)}e>G~8C+J={fL3}xeVUH@rT_pf(=C+^ zd$gRfyoRm2K?n=(+ZmJ`^WoY(tIM9T{bRgP{ZM_ebKB|SEO!daskpMOjC$`yJ}lX|9U$flM zOccz^jatC9xuMs6NBr9t2PVuGmAfK+XhXw>t(*COOpaBt6F>M|eACWCw|xODcdSCD zB+D`$itAb+ckia3a9iq;=kg8H-@SMco$bz6%_o*vS$jXJE^)~>Ch-mB58jpjWfzs3 z&NJ2d!}7_+ucvs0b{;zIv_a?YGwD5BZ?h(gu^&)7=-m*`_Mc6zOqEsl=KuXZ_RJh> UC65T*nga@SPgg&ebxsLQ06F-pHvj+t literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/goojim-muc-active.png b/gajim/data/icons/hicolor/16x16/status/goojim-muc-active.png new file mode 100644 index 0000000000000000000000000000000000000000..efdd60f12db3c6759edfa3c91537e543e93a75e2 GIT binary patch literal 592 zcmV-W0HdJ)^&oApvCh~UAS zH~$66u4!@#g<22<@8+Z@DaM1BNTCLW5Cy3Le}ETDKt&|Qkj-{y=Xuy|Nzw)jeZw%k zVZPt@eczc;BEm_+9^WXJ%dXaX?Y}_V_9~UieMDqrdY&h~?~5^J;_P<2;(4Bk$YBKl znM?-X_YaZpx0}o5Mq9YI;<^~?Kz6ZMJW}@JwX4j}U18X_Sb?$D?zlHNKXnO^cu2hN z=k4FG*m$_b?B%(mO+0sIhSe{#45Gg%6iO)+3Q#zwa<~`XutAIQTO08}n*c3?I2k%; zB*G*>$8jbTObSa`2qp&DHqB;pFO^EQ0IcH>q?B_&kWQ!RbUM1;j~h!853Bh^6u?+;pS2)v%T|LO6w(MOk7c^ z*w847FiNj98jZ*KeEv~3o4qa~Pi=s`fqwa8=g-~d=X&(w$>#2-_SdCat@b@B9|0N& zflx#u;FjyU3jiv4zB86(wY3VKeQ13w)a&)##2=FYbpqDo{@4JH<8*=`SX^Iyuyq_$ eheMt8JO2afK?XvU;zQB^0000igP)%%@dty!XGA2|zVAyEMUrLN&ED_#;`_dc$h86hV+>IgU6DW9tyZgf3q{%8 zZueQ)&1REEqrqiv4uG}xuHWxdE|+h54#SWj2&mWV`7ADF9}Wiqlv26YTH|>h0L884 zGPt$UEX$tGl}hC{!Q;iE0;SX+fa9=OEPlDJ`}4mQToRN@CAQnG4a2aVBZ%V|V+^kA zVvM;WJ06b!j7FpAbUIa%BzdKjS~zD}gZX^kZnauwx7*2ZI8;SDX_}&x`ZSx(zSL^9 zd(ZRUi^x|8APmFro6Y9qdc97^Iy=_0sSB8{F0G@t4pPmH+?% M07*qoM6N<$f<}Sn%m4rY literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/goojim-notinroster.png b/gajim/data/icons/hicolor/16x16/status/goojim-notinroster.png new file mode 100644 index 0000000000000000000000000000000000000000..b6adff121b6125a49137dffc0b450cf0cc26e160 GIT binary patch literal 387 zcmV-}0et?6P)r zld(#~KoExKmXmtAh}C1v$Zih27!*znz(7C(b!qC&XIrzW_{q$uv!;Wm#SdA&!}O3&4XA;x@~& zdaRv{XCS5AvDV%L*aJX)-xB}=@CM*4&-14sKuWpMG|d9QY+xKh-lHhmEsEm9+k#SR z&df89akbypT3->-wHIKFIT@M)kp18g+qTsK)9}0*1aw{Z$jqUeSL^P_S4fg%0pKVA zd9l_WR8_U~RzO6gwLT}J0>I%2@=8P(N~z^g|E&TdqBxGDx~@-|c@CiK`~KM&bK{)* h9BaLR-^BlarY}gpAfS5kgJ}Q&002ovPDHLkV1m`cr=r zld(%eQ543%9xno=!7;&bh}=S=S{xL5&=k?&+9*PFZWI|H8mtHf%PVwr$&208W^Bo0%Ui z%epO#tu>e#%nYsd8#AAm%jKt)2HkFVb2J)tm^mL4NBz4} zYOhkMOd`z!1J`vOBFalCk?B#_JHFquq1L_5>z^m-)&-}g_WtAoJ+#bOc0 z7_?d~_`V;dIGEQgBp@P5L?9vvA)vK}Wm)L=`-tX5lvrsXrR)+Bq?9NW3K$ND5JJFl zoOy%$A77zXt96Vq$C*q9uInNQ0;JPv2q7?=&0dJ;u+eCEOBsA~xG=`t^?JRdh{t$5 zhSvI(nJ?$XOA`PmzDwVpa*Xu!icd5Z|>i<8}7t%fg&^-uf QdjJ3c07*qoM6N<$f_{X`9{>OV literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/goojim-online.png b/gajim/data/icons/hicolor/16x16/status/goojim-online.png new file mode 100644 index 0000000000000000000000000000000000000000..43199765217108b180577ab828973d13bf26757d GIT binary patch literal 355 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfERP@!;#WBR9_v+-0Ue1mpF6XCqNC@QQ zuF09|pkhD4LCWzDW3_bsu~YmTI3hCBlk+$5Mz9EZ2)I1jr}61VZ(r|(@00Fond$NH zOrLr4^Z`@PHJ`4975#U0P&G4I!!(D9mnoX%-N%^h=sZuIl`Kc}EdBQ=-xJX9Fibkp zVE4PbN_$$y4J%@5ABq?M<9V}k-T4Z3pa_V9C;WPLJ>wEs#xW`D_W z+}$X_ZuK(eWj2o%FH_pD9pxqa!ee_%$z)lJUr$OdNi(F#Jl?5Tuw%nXhVz|zCc39| z%ec$(q;oDEyR0FDsd+e+dKQFIeHpkcDeGK<1Oy|`3Je}ux5=j7@K-%-f3Sv6TWvTRBW5vA&U=na3$N_#MbxxN(yx9ZvyXU%V8>UT{tRfDPz256SZWR&OQw yDSUD5x~-#DTnIt)mdBb!UA=ZbY?n7D4B#8!-10ryqZ4)j0000r zld)@BVHCyBi+O|>=;ESrNO3SYl~7*0I7tGXVtM`nb(DaEo3n%9(#26+vvp~=wt{;w zE`>N~pz5HL==-8X?)l#9QbVx5LP#KYJe>REocr+^zVG8Hv-70w=K$<(6U*iDZX^=< z=wvo%_ zU|AMi*FDf$p9A>36`+(l(OQEfNFp2#Ba_KsI-R1~Y{GS2kbD!EKq+;*UM7iBsRYZi zP$(2I91hoda0R8*m5AH}8jS{)%O$$q?!6`=KmPj)>2&&%t)0na;y(2MlK=n`iNxM&wfZ0;rzG!4Ue9K; l3*Yx;)4LV$n0fin^atk3>hWK6Kav0d002ovPDHLkV1kFD;_d(d literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/goojim-xa.png b/gajim/data/icons/hicolor/16x16/status/goojim-xa.png new file mode 100644 index 0000000000000000000000000000000000000000..96906eaca4a1917b39b6af2c31ba4734f8adb0ff GIT binary patch literal 406 zcmV;H0crk;P)r zlQByJK@^0)4HphVgtRu=*@$8UtrrYfihsb~6!|T|PO!BTf~7XrifILfz**Q>WY^>Z zNA{9ukxRIocZEdo!8C7YW`|){i3qDqX(jbv7RF;Z=0)@DHDj;KmY&$07*qoM6N<$g3lqO A!~g&Q literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/gota-away.png b/gajim/data/icons/hicolor/16x16/status/gota-away.png new file mode 100644 index 0000000000000000000000000000000000000000..84b6b094cd4ca0682d392e03665e7c6d2a2fbb7c GIT binary patch literal 693 zcmV;m0!safP)WFU8GbZ8({Xk{QrNlj4iWF>9@00J3FL_t(I%VS_b1&lzf z3dAiye3qGo`3nmx%P&So#(O~iLLhbmVm1aGfE|eQfSTSZX(|5qi}(4TU6=7czbWT` zbZ*3dLmPwtT)bR=fNB;2u@t&yRv>QW=H>bolNb4a`K~4Zk6$_R|HAEa|1aJ-|Nr#$ zlmEA!*z&)szx=6xBsn+n*MJ-y7B*(V+gz%4NqG?>3?=h#(ypzPLOvTKn8dS2=o6d zn^5$>d13wk85^ejU$A}N{{=gMc>7!wJa_A?|Lsef|2HkD`)^>S_aCTt9>{D==Cffn1W+l!g)}peQb#Q25_1%;i5jC;NAx+D2TN zN(+cLfWib6u*MEX|IJ;@{;M0P{pSZJHlPKUf$||h%))>NfK1j0;zA&v0Zna9K00000NkvXXu0mjfbaXcF literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/gota-chat.png b/gajim/data/icons/hicolor/16x16/status/gota-chat.png new file mode 100644 index 0000000000000000000000000000000000000000..b557d203e25dd4d94155b6710dded0a748ad118d GIT binary patch literal 878 zcmV-!1CjiRP)WFU8GbZ8({Xk{QrNlj4iWF>9@00PoUL_t(I%YBkvNRwd{ z$G6vgIBoj+wN0Hv9ga19MckZIai)9S^und6g%N`y3XCA5s}V}FizvGY1TicMKU0#B z1d*aUF|iN7AnHPj=*sk>AQRfZ^FDJ!i+bUA@to(J|8w5|IWpPdPeq8tu$+@`aw=|* zQ*z(wyiD{GWVxNj2SQLlsxuWN_LXuj?mzTb@j{9t zCEPsQjQ%hEnAx7e{LVb)cIGg-HHq#I-Ej0dpyZW%lzW{}9Bg}3DsEb6g8zyirFEqU zjs!8aHHERyV`#hF2D`_Oz*qqGdv+*}D1J~)Yg9m#+OB+3iRz(h(3!z!@(8Vm5Eux= zVoACrG;TDapsN7n#45#-B!S_qmMnPJy>JdYLFPpS@_BTwbizO6hdeG4OUzA#cf$+! zb2s7*@nL4TTrS@fZVBwdyXJ+h#|C4Y5$+K;+TXRKb+r{m*NR{~VT9|EE0RZ#rMuH5 z(H57iBNXBto0r{|9+*i!HsCrt(wvNUW zE9BH1a?j+V?qwbGz~D1T@yBe3mX?;{G#X78?ZTepzJobjzgCa(iE=g(;fBEeKWbp! zxjfM1KC0E~qil-+C3AG0CoIHuh%z(!{NA? z0Fk)3xTv#Qt>;y0)qBZ@jAI!voieeV;7fUs_|JrdgxT8KS|{ZvNOe&Gj?fS(MCSPT zxZv~o&YI2U0fWIXO-xuUmQY7WM?L+nk#hKb0Zyv_4dL8~5{;$ImjD0&07*qoM6N<$ Ef^vzN_W%F@ literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/gota-closed.png b/gajim/data/icons/hicolor/16x16/status/gota-closed.png new file mode 100644 index 0000000000000000000000000000000000000000..0b8439d11914f1fbae240e059099aaad90129a12 GIT binary patch literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfERMh3^;uvCaI{C-{|MtwPGaA#_7#O7m zv>7&v>|_&R{-~(1kMGEyClUdiM=m#3hzoFExW}+!zH)+Mp*8&-AF*V~6M~u9S_7EeowVbNLNBWh pn+oGcPKA9uM`FI5=Pog3V3?ZY^K`3MRv*w+44$rjF6*2UngE&&Pa6OL literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/gota-connecting.png b/gajim/data/icons/hicolor/16x16/status/gota-connecting.png new file mode 100644 index 0000000000000000000000000000000000000000..c6e87019d37154e8be750f9b9ea1b0fefb3428d1 GIT binary patch literal 1084 zcmV-C1jGA@P)V>IRB3Hx05Ui(F)%JNFfcYqFDn250019!MObuGZ*_8GWdLY&bZ|N^FJo_V zZe?s~b#pFfX>D*WV|phZT9g0)14&6lK~y-6U6V~{TvY&tzkBbS_vSB|nGVw?X~@{b zM$r&$BsPdYNQ)&cDuDIAE_<&&$Yid+1t@VM=H$eAFnnif4;ITwfoeq zsqwM`=uIB^aHzlMjrZR=6cGZ7l_pY3RySOh)@#_7;IYmGeqiX^+pauc#20TD2TC{2 zf1~ysp2)@`kyD?KjYOrA#2kxsi$lZnSu54iet;8F#3L51kr3K9Jl@l;W@c}8TAj~b zlv3KqkG`_sF;e1K5`bK>#!8`v6d;7)iEM&hi7+6rq@Y^&7#SW6E2WNE%95jl{aK~` zfNEW{Qmj#}YZ^L02L>etv9Lu$2S@=1P)gF*(}Dc3wIuI6stCzG&= zITnxXZlNu?UA~#G;s*gpJSmkbZItVz;x>_xVxT)oGHz3GJpyCs-Wewqx9QI&8R$-u zE7k}pL4Ko(kYZIDBc`w3_{aExAy;%U2CA;6T+^&?*7@~%fyLD_TQv`3pkqgbwq%&u z`4w&a;EeQi^UKrcF1y{kV$9#(#PxjEHeAZCN7>a}S}1Vlw;UJ#SO*~LSahYsoSmL) zN>86uTeqfH?5-D{)dAV(_dTRa)h06w1>9ypUHjCV0fB*1)#K6KEo2f7pM8D7UCoz1 zUYa^FDF7ZG9&Zh-$lS{Z2D)B*X`lUPZVMp^@knEzqg9*KUNNyT3r86FJx^|Xm}B7*h<@*7oV=U4RP^jx#i@IF~O_wENE%mXxT zD|_UlXOvRMFy^4~gEUfjLW!$d literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/gota-dnd.png b/gajim/data/icons/hicolor/16x16/status/gota-dnd.png new file mode 100644 index 0000000000000000000000000000000000000000..d19c7f6e818a9809aa13ca9d4073ea7fc32d2cd1 GIT binary patch literal 626 zcmV-&0*(ENP)WFU8GbZ8({Xk{QrNlj4iWF>9@00GuXL_t(I%Z<}NNR?q2 z1@PbZaqlgy6zvWQUMg$}tf_EH=#L~K1Pu;>6*SZoK~WI4Nthx8Hds)TEkO-MEm4#$ zk|>JcrUi;R6zD}W@_OF}H4;rd@C*;U=WyP`b0X`p8%J>pm5A^aAJL1f{~*T6h~9GY z4TKwnn}oB33i1&Hs9$-@iux+~a*Foraa?@0s>;6VYH=n*91G*)Ci?n385+{Iv^2NC zU36k;Rp87Ho)RGv=L z+|03K>+M4bfn7FA+)xJkk5xLktg_f^?cFvL&L3 zblQr?WC9ao(Ah~<6`9QD0@KrUbQoLSCKBlR%=zrlkfPdJN=h~tn3=JV&HAvs^*}|E z>1WF^ZEIc=b~1y5tGd_9Ssd5~d4zC)oaJl$8(IOnGUQ$ner-VfO?XGBWC`6XrCWnS z+$kViOL#zdLwHMgNT?_5VjeBnvsoh#;U2yu_@3kk`q7Rf|27f+07tXw8bV&c-~a#s M07*qoM6N<$f>4PL!2kdN literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/gota-error.png b/gajim/data/icons/hicolor/16x16/status/gota-error.png new file mode 100644 index 0000000000000000000000000000000000000000..4e1c85ead4e1e95ba645dc02b605e4798c42a3ec GIT binary patch literal 502 zcmVWFU8GbZ8({Xk{QrNlj4iWF>9@00CM_L_t(I%e~UUN&-O` z!12GiEFl`Y*dpp~$hsn_6r!ghsX){h2%=LN22l?X^bSEC3c7U4Q*r|VwGHjk!0$A}pP7$A*Yy|EG&{o*i9{zD3^p0HY}*!(XIJ3LLDOnt7{<+* zfpYzzU|H5jsZ6LAoLzh8Eai8I58U5nTik(KsIJ&hB;sVCPxB?E7`j&Q4Ka z$#pN>JRXm69G7}MV0v){z!<||aLnn+38IS5iJ~Ye%94Kn3&xmpX=R!;n`^}JH;#@D zu`C-^MMO|lj4>P!`V5C(X*3!$SDgz)gm(KnS(@_x;2n8=mAIP$lwdPes z{9^ZeAc=PrZ054y^Ak9*2t4di;5YhR9q9_QX9#+NT*3H{^p2z;pJ8?cK_ZIE{xBLR4$m70i S`}Yq30000HdJ)^&oApvCh~UAS zH~$66u4!@#g<22<@8+Z@DaM1BNTCLW5Cy3Le}ETDKt&|Qkj-{y=Xuy|Nzw)jeZw%k zVZPt@eczc;BEm_+9^WXJ%dXaX?Y}_V_9~UieMDqrdY&h~?~5^J;_P<2;(4Bk$YBKl znM?-X_YaZpx0}o5Mq9YI;<^~?Kz6ZMJW}@JwX4j}U18X_Sb?$D?zlHNKXnO^cu2hN z=k4FG*m$_b?B%(mO+0sIhSe{#45Gg%6iO)+3Q#zwa<~`XutAIQTO08}n*c3?I2k%; zB*G*>$8jbTObSa`2qp&DHqB;pFO^EQ0IcH>q?B_&kWQ!RbUM1;j~h!853Bh^6u?+;pS2)v%T|LO6w(MOk7c^ z*w847FiNj98jZ*KeEv~3o4qa~Pi=s`fqwa8=g-~d=X&(w$>#2-_SdCat@b@B9|0N& zflx#u;FjyU3jiv4zB86(wY3VKeQ13w)a&)##2=FYbpqDo{@4JH<8*=`SX^Iyuyq_$ eheMt8JO2afK?XvU;zQB^0000igP)%%@dty!XGA2|zVAyEMUrLN&ED_#;`_dc$h86hV+>IgU6DW9tyZgf3q{%8 zZueQ)&1REEqrqiv4uG}xuHWxdE|+h54#SWj2&mWV`7ADF9}Wiqlv26YTH|>h0L884 zGPt$UEX$tGl}hC{!Q;iE0;SX+fa9=OEPlDJ`}4mQToRN@CAQnG4a2aVBZ%V|V+^kA zVvM;WJ06b!j7FpAbUIa%BzdKjS~zD}gZX^kZnauwx7*2ZI8;SDX_}&x`ZSx(zSL^9 zd(ZRUi^x|8APmFro6Y9qdc97^Iy=_0sSB8{F0G@t4pPmH+?% M07*qoM6N<$f<}Sn%m4rY literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/gota-notinroster.png b/gajim/data/icons/hicolor/16x16/status/gota-notinroster.png new file mode 100644 index 0000000000000000000000000000000000000000..e4cab925b588624f469518f92d6a6ec4947f64c3 GIT binary patch literal 853 zcmV-b1FHOqP)WFU8GbZ8({Xk{QrNlj4iWF>9@00Oy5L_t(I%VS``1YAJu z0L0Beyab4s0dXe~djT;o10KKv#O^?RLO?*^kFKunKMxO&|6X2R{|yZd|BHx-{9|Tj zz5^VYiMZvcXV|8>+9?Lm6wU-Y=K|#>U3`7A;!DYHMpdfsv8%9s|&}R|W&(nd7m$1$5O8pC{AB?8`Ky_kSsZeRZrZeo zF+4oH9jM?pOtXZ9#J#$@x`eG;w=#p&R99EW0lo7d)7t|peuyW-}9&>YZxW9#j zgl<_`S;_6$vxgO?2ADqL*xA`Zu47ndX=!<4&YU^$!~qNo2_GMy2Wo0+KR`GvENm*W z1;7Aj02;Uk$UFz)hXCXCV@XMg571_?f|)aCa6(;yITq9-Nl@oobQ2LZ)8_70R-HU)JaG#!@ z-ZLQm2$-olOifK=b#!!I04;hB@-{3PqXQXG>H_AvcR*V{0yENQpi6!L)52$00000NkvXXu0mjfim+yL literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/gota-offline.png b/gajim/data/icons/hicolor/16x16/status/gota-offline.png new file mode 100644 index 0000000000000000000000000000000000000000..a4e188f3670c79c71f7839757729def8b191e5cd GIT binary patch literal 504 zcmV000JJOGiWi{{a60|De66lK=n!32;bRa{vGf6951U69E94oEQKA03CEi zSad^gZEa<4bO1wgWnpw>WFU8GbZ8({Xk{QrNlj4iWF>9@00CS{L_t(I%cax5O2beT z2Jrj?6B{B;f^?Ej3V8w(+y!xPF%fLYR&?s(q_{O8861M(CRF+aqTt}*;O6232!e>< zBorwk;_*ABftXgY?STQ?uC|P^;BQmSrw^g{7>(h6f-%Jq$yNqG+ff2uRa3E?^fhCG@|kx2Y%! zIgUe~=M8XOm#Woj7H03Tzy-&-P2vIa&`i_p4Um<~Wl~i&8)RO@1?Pp$QS5WU*#rf< zTyQu+fzJgi@HIxb19Mzpz}*-Hr}-PX25%#TAHm6AWu^bKbpH|NA8fUMgN0(rI^6#f u5I;;?Xj&A=v{z!h9V3d^7tU;YLWFU8GbZ8({Xk{QrNlj4iWF>9@00J9HL_t(I%axN&NEBfl z#^;^cMt3%r+684{ze+S26k|mST|XLjMh|vaP}?FsM2B22u@DGFM1|}@20D~vK~Yqf zMInMz3L>IQLf}VD2T1}m$jvB74{J~VcWXnpt@MQ-yv+Ojf4svyBM2LpNbDsp2~3y~ zWpRaArM*SZt`K#EB>ZJ08Nx5`@l&px@GA+%`}

    UkiCqv<2+s9lfH-@2eymc z5Q8QtYiAshhFFG%9GpEG#B5VIRrmWiS~jBo48dsVom`mt_GhO@UaxEB(de6Zucx*5 zj*zQYBuKC4t@ICjWLJBW%*jfU4K+vN$(RZd;2*arN5dcuLRj5ji)i zb)@DT!QJzY{DKYCzj(=#CCjO}WhEn{h|OC{sI0uh_FsOYy~~5y_^+|qj$LPp#uyQ< zD(wy>KYu>!inn5KYp1!zhE`iZx6{YL!=!~FTpc={ zju?ZNvLg}9G5Ls7r#*e%kJsBnqotfPySfPzaN;VDb!{#jeIAI=LqZJPI^6-Gqa9QC zb%9?`_NrmB)B50p@(n5sKz;qFLZ6JaF`rg>TZv?!kR^FY$0H@0W(E6a0V(@TsWUSb zS$#q6ReW2Z!4EyxPLajmrrN3lWdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{m9Hz&qP24esK010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00T8i zL_t(|+I5p}Y?Drvj`40$cO{lZgg$a(U#-e;y%njPjYhe zp8GuKz4y82DExb)j~I<)<1{twj^>}{!Ibf8N~{U*d= zL*kcJetrKfB|EorrP{~#{}gYoN;>x`$=p)nFV}K<;yrihBHFNfynaP-gO&bE}^raY#i|9Ijm*~U;HdZSJhqAilG|${ma{`}-4=2A; zBA1k$@0lw#>jGjh7{qLzFP-l`DU$qH4ja3+zysl z7HH?tL3gi<_Vxo57TWL>yZJdZ1^N|S{w0RZX2onav8{GHeHRV*yinw%N>{R&!u-uN z7!6sL6}h;1J;cTHU!znOvLigYWX3W8<()-m4p0wJ4OA|S(Z99{=J-?plU1mqW6euh-e@7BDfZX zF9#e{uQ5}#)}t{@8ZoK;WLztD4H9Y4ZkCJ9d*!(P#$CqmO~9%)12usKtnp8>^3gC3 zOPCuY5#q@L!jWmlZzuSsUo*^>;l0L5LPIcihYKp#y8EByrxlMIA89)=pPjp2C6$aa zI(mh8Jb~3})xv>ek&C{*evUQ`v!OiA%ZDZOX+Nv;W~}$p^5YRTeQbAuc$O}d);Hgf zU@$0|Oh$4@rBc#)=pAWpC=~flNl&|qtt?@EPOE0Rabr2B_t&YX)>SgM`<$NOO(((M zGi0)Y!#0naiYYqkC+PW>#AkideKy3NSp{-fTS}9^gaiAYQ^lpr{_a!t(CyGL96cph zN5*NpaFsJNnpp*A#@X+tW8pk}kGZg?v&dM4@ST`8&SP}`bDaMI8uLVntn~(X00000 LNkvXXu0mjfD-p;L literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-angry.png b/gajim/data/icons/hicolor/16x16/status/mood-angry.png new file mode 100644 index 0000000000000000000000000000000000000000..46c0e6dca756ea84f9a89e2fe8812b5473427a73 GIT binary patch literal 943 zcmV;g15o^lP)WdP6ZATlx_?BMAjGB7YUATcyLGc!6gIUp-AGcYjIsDz{d000McNliru z*a{d80vA-7CnW#?010qNS#tmZhM)iehM)l_7G$CT000DMK}|sb0I`n?{9y$E00Rd} zL_t(|+HF%^NEA^N{$}Rx%x~Z=0jSLQBmYWR+wN`WQaeQZdtl&y1O$wdpjenn0VmA{W;(HzH`n!0@k*| zL{ThJ1fe7X1Vfy^nvO)?(*5Vvj>4+5Gn28_Y*{YOkY#%cWBAKC`VxjZh$nh2vT2k@+0 z_vG}sb82UAFAlZ0GS%9$#PMYceI znT{j}qe1>r_jt-nwn55q~i&I>Twkubb zT4`D+6oQWkY^1{U8`gD=a4*?ZB+@;sY4aJ15<5xKx)Ks_vY`PH3RG8Dhmnz`b|WSx z1_|`$pPYnFDSizGf9ag}FFj^kEKi%WQ`uiO_Fi-iXQtzXdnw3R4iFkAUI?AS}asKDeF9V@aftlIz zEF?)%g`2U9$5nMhg2jSaN`Vo`beN{p0<@^*xc2AI(C={g=#*i+UUQgekXrK;rP!+| z_B8r1W-Uf^9YdNn`zaWF_D$3N8>ZC(mdDvCNkuk6*hyd2puu_Z+c4G~=YO?%Lrm75 RPLBWp002ovPDHLkV1m7#u1Wv^ literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-annoyed.png b/gajim/data/icons/hicolor/16x16/status/mood-annoyed.png new file mode 100644 index 0000000000000000000000000000000000000000..76616aec5772f0f0f9de1a72b61708e1427716ee GIT binary patch literal 924 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 QcmMzZ07*qoM6N<$f|?SjNdN!< literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-bored.png b/gajim/data/icons/hicolor/16x16/status/mood-bored.png new file mode 100644 index 0000000000000000000000000000000000000000..b0b562abe32dff92445d4681d327fc4c4a30378a GIT binary patch literal 934 zcmV;X16lluP)WdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{pI1P_RH0oVWl010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00RC= zL_t(|+HF&9NRv?%er}tyg<834iq6euV2Uj%(u6ckp^~ys2%>(J5m6L$;s%bqnI zXLYgg>EogFjsxaz80i~CxZR28oIlU*!~bkX1fFsr$@4Qo)Gdg51XY&^3hgVx(8W;} z!b}N9ttt{<9izxwmkX5c5lBn~K3FAIpl6U!eM;bHvA~!Ysa)uzgb9(z!o$$d%#@N8 zL0L=FC@LzF)N`U~?J6ye+tR6cyN*)kYbZezLy-}R&`lnPZjiQl85FxV%)sTVP55jY zhRgK>4!({?w*uStjw2~~EBXg)`0~|)-yT9rvKm=w&@)y8gANxR_XTY!RFiYWOs4)$ zDm`(C8XIb}aLY?K8Qhzg2 z{WvrG9cmi3<7Af-=?mgeS)LDlk`~&yC8(%4h);c1tjrrj?KvCZ2U4_%l}`-EADC?F zT%hXIFrY}{)~eZm@P0QI8N9ezqv5p+7#jpQz!?~#mO$7!qb5d3m6sykz>yR6Es|Rj75GCb*21t%yBI8pd_Dl8buRo%){XMEO z)1i?1;pV58)e!Er05P+Gsfv)0fp`^=zd($3_Tzx`7!i_Vek$%BTQ61@WI)mO2^e+* zMcF~A1)D6ryZ#Z}H=fY-M@HN$mx#>sR zdhsBH`HLWEs)Y$Ci&DZcFBU4V4`jAu_?ruFyUaKpoWZ310e!AWBnwjb3;+NC07*qo IM6N<$f-KpUy8r+H literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-brave.png b/gajim/data/icons/hicolor/16x16/status/mood-brave.png new file mode 100644 index 0000000000000000000000000000000000000000..9351a2583c9225761d3754f0f60ca5a345dfcc19 GIT binary patch literal 931 zcmV;U16=%xP)WdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{d81^}}rXXXF^010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00R3- zL_t(|+I5qCOx0x+$3M?~fh(4Jx#9%|mkU<{l)5b%F@*f1(88_7Y^;saw&t#L;QRyo z%T4>EHrjFl&TxaKm>aGY^A9&&Ea$|nqT*%j0`Yq5qPKe!0eLgP$HVUewaT-7cb?xl z=X-w7d3hB76^GZuNn0#A?qr@?T!LVjiMa**y(63u|3jW6#ko`+DPwG?RcYNL@C*8* zy6Y>Y-+7&ZVlVsum%Qf%TEDAP4|S&y1_S}Y9YJVS2cq_t8a1;wpEGMb^9nMY)Mcbn zG51JW?M_H^i`8ZaYdTm`B|^@YWzh>{rV=wata1kfL}un0HfnyOfYA07w44oOxMTJC zvsrp+;$7W!yIeQc7wWECdHQ&jQ|DwxV-oC4i%!Dprf%|zT(3jv@1@S|o+NFzZ&^>) zcJ-K!i?a%B#&?X>q#Hj{`o{}O=eT&^;@V2$=BLGFg7!`;b+z@pTvWiJ!R{DrU26*$en>d7$vW;D)bSLq~zeL{JyGTvVNt!QS;6@YAa9kJ{(OFL}HD#)jUu^!(0;AGhdzH9nOQyr;-6 z)#N?{ZW(_{@)QeyX+o0JB26yxDh}?!NOHPGclQPPa%GX`Es{UmsY=RsW3H}H?9Njp zC#aRd;7(K&<|>{`m*mN?)e4ud@!*?w4umEdR%P}ieC{v{+FA+nm7_6&%YWlm$ zD|KJG&g{iDeg1kkm20bP$Vi0CL*qn#9^l#R1hpmJ79|)B6Lj~%@pJmuZ-2pe!_Q}H zy!9LW^Ep57;>4y6cr%l5EH0yi_xLkBO-FB#Q~!R>j{%aBHaUpG>8bz#002ovPDHLk FV1oEZvxEQu literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-calm.png b/gajim/data/icons/hicolor/16x16/status/mood-calm.png new file mode 100644 index 0000000000000000000000000000000000000000..4b5d0baa1bcc529fa8e853325322f55a2cd3babf GIT binary patch literal 918 zcmV;H18Mw;P)WdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{d81|*LqgEs&G010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00Qnw zL_t(|+I5pjXp=z{$A6Qiw$-%Ordy0#t+sIq4X!QNgG&_^i=ybIh@iL>>cs^GK@VP} zhl&a!=)r@a2ri(wfg-d$SX?PFRnwYMZQ9gmk}gTxbbMb@J-7_~zL|OR-kbN${73P3 zvz8TeGChrXv!-Gh8HKK1f`d`qt?itU^%(zal?$n>-NNTjx0TlK1h?Qx_HS+~U9+CH z$}+b8GkEPHZa+PzV*0fNvVeuSjzN~2f(a*=8D5lgX-p(No9#}4=x~bh`qv1jmtIB&Z=^l!5hjH1V z{)!w;ho2xKmeQ$0DXh;-ntVCZAwV@XfMUQ%t_QbmQ?Oe?p;~EVi4augXjsjIR&1&3?SjMCPsm4{J*j}Y5u`6tr@!bdE z#zP{v8rkXpfj6N<-#1!(JuJ3a)a>GXNg~&rEut!vW5||2D4dim+emQj0RvYb>#L0( zF8-FX(b@yt`1FOq%Ql>jJe8eesB&cd?Fny1Cr2*n4^LjP@0pvkzv9%tp0jHPC$cgq sn`^^55=VD^qpvqiOKTUW{(R0q0eL4jli|hgGXMYp07*qoM6N<$f{?7A4FCWD literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-cautious.png b/gajim/data/icons/hicolor/16x16/status/mood-cautious.png new file mode 100644 index 0000000000000000000000000000000000000000..293fab7f0838303a733530bceb1e65b6bb93d25d GIT binary patch literal 922 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 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-confused.png b/gajim/data/icons/hicolor/16x16/status/mood-confused.png new file mode 100644 index 0000000000000000000000000000000000000000..4121aec4f62d1ed5213b438284d6619a538fa069 GIT binary patch literal 951 zcmV;o14#UdP)WdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{d82R9Oc^QZs-010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00R$6 zL_t(|+I5p@Oq5p?hMx4RXJ-uEou zdlhe6h}}k^zaR5rA_y8CgSIYu28M9d{Y!zqALf0waz1-<({VOkQF6URNp?Ci^tY0d z0wsU_sAS9MJXmQbM2BSm4n#VXY)C_r7b9a1C6|t>{&hfpL9rrVjQPez*fgU&U*kdT_y{bfNlr-H` z@>yD3cV9kfsjJ9H-^9&Z-C$ZsMP(Oxc?a2@lZ9>00=l1pJr-t%vchBy!)#2hEpy!{ zSp|hSo40Y{;stJ8%?3|1nO|DT+IfV=#(LUZb%X@#3wH2q+ zsoQVl+6~?Q2&|b8wGKm}cMa+0eZfPiRMJtQBzeVBDK0LSoSYmno6X{F^nb5DqyN|) zCEHTDr_X-I@>a)^``ckPELBSOW+*ZF@)mI1KZ->9bfHTJl{>-8>T#^^_@||tnwCzI z!h_U@-)z9wGE?Cmgb}@)K|OEq6iAo@r@mGEQOoo4U!?rkdd^HJ@s%yNu`}Mv_uqY` zqHU2c>6N#BZ4;dMSsL`x58Q3w+63k`f{EuGA4S2m0PJ(a2^sYuZQVTSa#K^+#-TT# Z^M7`6O8CzBiMRj&002ovPDHLkV1f`JvPA#@ literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-contemplative.png b/gajim/data/icons/hicolor/16x16/status/mood-contemplative.png new file mode 100644 index 0000000000000000000000000000000000000000..f78b5e90e9a614e47abf7fce151aad18131053a0 GIT binary patch literal 907 zcmV;619bd}P)WdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{yB92Xh}h@Sue010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00QGl zL_t(|+I3TFNRwd{e%?7Q`~B@!paKr=g*2@0UTk?^b?;jV7@Lt!|X zcZzZKpU5S8n73u&gZGgjdMD`qWkKv7LCi$Z;<=z`6#{(!#n4M}5mLI0Oa2f}PSYax zQ;)z;4)OFwAU}5!7A;Ui8KJ}q^JMHU4WPCX%6rXd_w>TXao;47W`#gtPON$$B_)}( zS}kcb8mc)TN51Y2Y^&r9EEWru6z5P~RU|#QDEf8NacnsI{p*tOB`s+lRaaNbWP@QA z^?uz%RhIQsQBgrj2f@rl~K)h};jvmfILv0YM$ZqV|8iUqH zMTnd61ZhiKaQ|8WD-#F!6;>D+?V$epA>pGIZr^K0C!hggHf)*hk9&2O=KcoL=aJ5u1q(+*^0FA`HHh|vHUL#eyDQQJ?`n-5NG z?DONtc*~?U>2R|&RhV-Vp)na)hpTwe2{gW>zJ@kDeA|WX%=`JjZ5&zW6a(_qDkKYL h{0P8m`#kWdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{d82qTZeI~o80010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00PcQ zL_t(|+I3T1NRv?*e$Lm*4N{kyf0RE>ahqG8iIozf(I5RFNEbm_*hK_V5JgfU*o}o3 zK}rN&B}Gtpp+!lOWL-o>nNG&smQJlz)9Ff6(f0H9?%R}p4?MiQ=e*B3@6U4t{$7c) z4)y977_!o_(jNfa7o$VFM0D}`&`sK=S&0<3@<=y7t9T&2~S4ycM4 z#jp>pg%AQ(mln_f2PzP2&OsA%VLn_#>Yl;SqA8`RZ3Y#J!c?Nlnb=lRH#%EvNAaXDMpEt^MEzU z*dk@8AORF@2HTP%f<_~uz#Py1cOW`T z5ATg)%njUs%yE9eHi9qGs283oJ}Wl?)#nMbK0ch|(}11P%Xk~Lc8q=SW8YDNiZiy@ z6otM}q+45oA$laJy+M#k2WoHTdB10jLMOLK2H=+@6oN+Dfr!$7Y^% zOk~#KaVg_nY%*7NrxUZcyQrnpf)j{_D9h!=y}?iL_BdeHuNK+_b%db&J%(ifID3Pf zPu}5pw+&Ypc}p4m`kf0hP#33xoSTM3e-PxJ#KibC-dNqZ_~&>22{-^e;BOmfG5`Po M07*qoM6N<$f}whP$p8QV literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-cranky.png b/gajim/data/icons/hicolor/16x16/status/mood-cranky.png new file mode 100644 index 0000000000000000000000000000000000000000..08dccb7fd26b66c5e895f5bebd1afa8d3439a908 GIT binary patch literal 939 zcmV;c162HpP)WdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{d82?wg$?uq~a010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00RR_ zL_t(|+I5p(Ow(5s$3K_CDA-!0{Oc^Gw6Gw9)ww_MVfwJ>%=WP8X3UZqG`^6KZBP62 zFgEw<+`}XoaS0DBVZkiwh}q_5)Q7QTLPRm71BcR1a7CtG=bmf$uen1(4%_qDD8Ul!Z zTda55q|%!&bx*lO5-k$@W1m!4*{!)}8;~L=;&PDG|6)RZ+Gcundjm#(({l#=74l5u z)3UD6E+>xd7D;xk;VP4d##a*>-x`n!zOZlop0S3-r$skw5X?^+)1?d@Fc zzs%7ipHf=t<;tLqxw&ON`S?Rl9{+-1O(XG#@InLlJv^UVU9Q`Z)q?EZmEu6_VIt#A zbbr&$PrV08ufQ)C-r+#=Ioxh16L*GjyEJ$f>Z|bNSYi!g8LBFv^YbwCGaa1n^0BU9 z5|<-Fm3NlTV{QsR&v_gs z5G>OqnF3|%vXo^p%K~)&$b8q&($zP@iM3X??DjOL#wMA*I!a?*sVT~=x>nc>L%+iZ zC*|gaL7Fdz`EpHX9`~F#`)FNXK&aM(JGG2V#JPVj!NBkYpZ)te{{yA|KL5&E7T^E? N002ovPDHLkV1l0|$U6W4 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-crazy.png b/gajim/data/icons/hicolor/16x16/status/mood-crazy.png new file mode 100644 index 0000000000000000000000000000000000000000..6390d50f57b96ee473685ccdae98e8ff4f9ab83c GIT binary patch literal 981 zcmV;`11kK9P)WdPCeATc%||Lx)+GB7YWATl#LGB-LfHy|r8GcYiel(E?W000McNliru z*a{d82{008ON9Uc010qNS#tmY9>D+r9>D>_X;f1H000DMK}|sb0I`n?{9y$E00S*a zL_t(|+I3UwOOs&~|Gj%(x3$r3IGwpBSpQiJzS#&Wd2`Q=-N`5e+e<12Z zABu=T3h4rNGlHNC2q|TR_b?js?G+Vkn%PzRCy4v=VXdlcGw3yKQ&GRX#NbZWRB@U>l*G5rWr|((N0qh> z)p_l=?+5SRe^|-jp+)Z0N^EqTJerb6Ada&QK9rk8Y&%X}yc!gYUd266Eo0ib$~PlPhYp3DU`C%G+xNES(ugYP*P&X=X@u(pmKAwTP%y(3M({Vt1R} z21&}o>-A%Et(`?MgJ}F$BMG^V>g*wBy~%9aE2z*B8AVGbgGq4~k69!KFP_7uP3u_} zG9(fr1VN5O&^a5K#O2?O6bfqwH!IC}9Sow85YBt*`Ha#9`*ta8koxU$%8I-eq{3f@0tGrO3+`MU;;8800000NkvXXu0mjf D0%NON literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-creative.png b/gajim/data/icons/hicolor/16x16/status/mood-creative.png new file mode 100644 index 0000000000000000000000000000000000000000..321576d0855db358d5bfd8a1af1b09dd3a6a3ee1 GIT binary patch literal 916 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 X!Om9h1wXyk00000NkvXXu0mjfzm&|a literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-disappointed.png b/gajim/data/icons/hicolor/16x16/status/mood-disappointed.png new file mode 100644 index 0000000000000000000000000000000000000000..bd7557defe0af9958f3ac9dc2fe0e6f4e63c3f09 GIT binary patch literal 918 zcmV;H18Mw;P)WdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{d83o_1MNGkvU010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00Qnw zL_t(|+I5p#NK{c2hQF=TXl0G1c?mOf%*LFWGKww?RG2A26crSN^biC_K@Sy_P!GLC z7orOlQP4wBMA?IMvn!Z}cC%#CP;naMV@U{ohmKBqz6J0!woxwMgZyu~oop&wPJ2s*()zi;BWN*84){mF|p9t);Wwr7Ldn@8oOQ5+HT|S z)g?@F%#Pq)S+up>!|Bi@*-QZ^k0;$?kQfw%P2}fz`!bAa@G<%$pUW>e6r+cyBr( zY!qOz)mKv3bxQ4}v2pwQ4XTBN}fap;5C553e4hFH1CrA85B&bD=*=BtdqW20u> zia~~1!`!*Asd=cFpDzib@AhN5;dTR?4I}kS(eI8_wJ0M=j3sjw%~mX&sYr|mtLT%R z0)^9s?38So=E8OQE>~0P`%G)ZiQaDNy&ss7o}jYrDRPJ*kfF;!6oDwD^0{mH&)(E$ ztD89f%gV-T>*7MoTe==MGsQ7RC612&O;|z0OBwB?epU5^4R<{p`pHxOy3W%wDIYl$ s*Ti&^LSb}AHy=BDsc-CH_n+7K2Q&pb0n8~k+5i9m07*qoM6N<$f&eJ2&Hw-a literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-disgusted.png b/gajim/data/icons/hicolor/16x16/status/mood-disgusted.png new file mode 100644 index 0000000000000000000000000000000000000000..14f426cb4508c67d094cd8b6ffc95a8ef1d3b634 GIT binary patch literal 956 zcmV;t14I0YP)WdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{d83>734Yli>;010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00R_B zL_t(|+J%#QNY!T;$3O4y{M>drmY3YQDQ4OfCZU!@l8Z*vHc~c2*Dfq$$Y^b_ZtRcN zs6g6Q5HYNcBBZS>f`)+x#$p?UU69@9mX|ypk9m&eEj^t)owK*+oRbh6(F{zytYZneHy>T5{&U$klS`R5*u?k(j1pU_q6)7v`N{stoai%?$ zTPev2p=qM4E0vz|W@$ZAsGCn@$L~vvm41IcIzNZ5m?kDvv6ND5oX&BvwrmlG-K7{9 zPUfSHPKt^OgpnSPuwzdX*yCVFJ2&>m13%2x=-z=yYTd_ z=Va3f+RnWdPq%t)DYbQ<)7||KKHuNWO@q{hSh5_vXyiJu@~^N2^IULjUnjxwuQ+== z2b*<53hZTG<{geTlrYOYPivDI=UOCSwv$ZLnS!0DIEW;W=N3(Ph>o94*1Y_T^nQ%C zi$1Pg?Pu4=v&1+IcN5$+8yV*4r1-lp7coo=k|gC$Vd-M%@g!0I#Q-g*B)w=4 zgr^cbf&Uic=Ji48X857lOw3tc24p!RRJ_qcmfN7T2vV#f4vGC9@jY-8y1aB7z7dXm z-NNk|LoB_37ikt;KCRgOfyO^5MNf)Ng2#SdRQAmWwD-3g?6r*D<@(K03|F!$D{#x> zk(oQ*3Ln0%u+JurexJgT4Czu{R2+QLpogw@Qt2O~PtDBol3aE;(x}^7rLtEnmO_#q zmSiOC6OzH1i%fjern`e7w*PX2pJqn+(e-q`i=7#>S&=>m>)bim3=2_DK=dJo`}`al endJLN1rGpoqamCB|28}T0000WdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{pJ5jyNVHEI9=010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00SIJ zL_t(|+HI3jOj~6X$A7oIZK0b$>!m=~LC3~6aE1v+6RL?bWJJ+y>K4!#WZASP8plIr z8;Oe12Oma+CHkVtf@Ve^md&J58?r1Unuv>I#I4w6mFieFMv$@5QA*q6ce}`D@SmLA z`{kVfIp6u8^J%Qa{TqE8&O!Y;FBWG3i<48#j$NWLlf_W}mz5pk|Ik>&!8N7aR=;9e zXb+OPpvmDwhCHyTTpSKt&SJ4FnnhNSo9c+H^^h}(9%Hp^sV$WszqLwlcZq!dS)Z6l zBobn?=~7ZuF#R8Lpq4Io5jkbj`t%d|;8ZFl&D%Ch+wN_0FG8V^XqqM}_P}z_fjVZ| zn~~RFGV)b=dU~XyqC))sN_oHcU1@4+l0YDk_hm8}d1!0Bl)1U7xDM+59GN+xiJZ}- zv&}E@cwD?*Z(akt-7ZyCRr0SUt*x#3TZF@5d82)`)K;?BQfW}`E>>;}Z1&F(i^Y~( z(=7z{EvI7neZhJwQTFpN^1PA3Bc z17x#VP98tXn;%166&02|+0;G@WiIG{FUs_lujptq7&-kcufDQ@mhF!di9}Q)gM;0# zvG4h59M(IH=@ZxZn~XXvDO0!gsU#nEPf+YyuiA~In}HA?&LMny=|)iFoQ)_J%E z(F9lZKc~4iHw(oMwO&K;!-#M`k;b=n99@s|NQ2Iy{dQU&n}Y>a#9TAQAB)1|b$+r= z-Q<_t61%EBn(OBau>DDm=BIRuTn`fJ+Q~=#7ip-OrF<246R7WjPh{-W7;ow7I5QHX z&l%xJ=T5A;4~!ZgC7uQh?~6=b|C&pxTD?a_rj@1On+Ugl`-A;v(-u?x;TWHO_p6MX zVy;oo#bLX_qYX--^bi{>bA*RA;^uT!-^aovkA5#-j7~6Ya;?k56>dCSt?k%Utv14@ z)YPw_Yk%>=js?z*CUGP+KKN2D4xJ@s m&2u?Af?nyZ8rThDP{u?&^8~0000LN% literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-distracted.png b/gajim/data/icons/hicolor/16x16/status/mood-distracted.png new file mode 100644 index 0000000000000000000000000000000000000000..9fc9586cd2cd26758995cce8b34e5dcfc6f14645 GIT binary patch literal 871 zcmV-t1DO1YP)WdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{d83^gBmOHTj*010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00O^B zL_t(|+I3T1NRv?*e$FUT2o)x>(m=aNsjMIdkx*H7mlhc1bvGt> zQCC8BAyM8{QW8dml+{KyfAVj*<=mX<)VZFNsMzAn$dcyd* zT8vlfa3VTKE=`V>q3_lOcIE9ve)8S!0hoTMF#B@|rR5>`8E~m16M4Dun))j5u~iSU zrtEkwFu0@-P(kmaW%1w2AV7nxOjzZ5k{}XEoUx(pS=i zXgz%a)L-W4YGY_LFeC`;RG{}IR-e6t(XosvCUsNwUi7s#u)3Q4h=oK)9=TpgWMcNX zAL|ca^PYY)uKw{Brd{Zrw8Qmz9K}UDSaM2Sl&}QzC~*BgpLq2J7vEUWDdlaQAo@9% x=AeCBJamPb&;&x@Ha8ZX9()?H;m+UB`8OWdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{d84IMMo()0iT010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00Q1g zL_t(|+I3S~NK{c2UB^2*Gd{{kVn&%+g3rdp${>j%jS?ZrAWHhIkP1RH0>SVnf{0$2 zerZ&oMQIVFWaUStlvbLUim6jRCPytFGtM-Qr*-G*M_C6p`<}D+T6^tt_7zyVLQLyX zY|tY%auxhtbHLyzChQJ$cJ!f$aVP$_(h_hgFB=2BHA2dES|_bb^B?aEnY$O=X(k-_ zCpaS+H7~9Sr~E)bH_c2NrdbxeSv#+~C}#F-!Hqw_I}?%DR7!9wlX`?~c}i~$mU28! z%86v@7><>d*ZriUUyD~=5L26?u|vgrsXcFwL4Ilyd>*|4wjGiR60!L27iP9_2pH{dF`#R0CQb{ zy91bL0meT8)_Fj>kWpl>&_#tI7&d}IpwIyhlC0y~NxqhxCa_=g>fY%FelTZ@ox6Mx zx7Hr6lag2xVwM4?o>g5Wvhr+*p2TvLX4CeDF%}?TlILz!1qJq7FaaakZAMBZk>4){ z&HNytoFs`ay`2OWUK!OWyj%l|_;RuaFrqVCVVRtn$MUc#_DGz+1F$o}$iBTsNTAo` z&y#GH@gSRL-~P>^PUvgp`xM^JyO5KfB7+c2u-@&NjWZ<@0eUA!25l&>bYNGK&O zLPcP(K?8XHJzCpmprBm#JbRDhFFSE%5ht*8g(O9wXqgeF=x~I%+>nFg7#p3!yN*Ge c|ND3T4YtHSka+yUdjJ3c07*qoM6N<$f^CO_b^rhX literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-envious.png b/gajim/data/icons/hicolor/16x16/status/mood-envious.png new file mode 100644 index 0000000000000000000000000000000000000000..456b71e6e6e50241da53d78da72e0dc38612e86f GIT binary patch literal 960 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 g@byFOWqmMOP|?qyPW_07*qoM6N<$f-E+j)&Kwi literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-frustrated.png b/gajim/data/icons/hicolor/16x16/status/mood-frustrated.png new file mode 100644 index 0000000000000000000000000000000000000000..2d2b0b6424a4b990a8614db26d972190216870a2 GIT binary patch literal 975 zcmV;=12FuFP)WdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{d84-kJ-%*y}(010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00SpU zL_t(|+I5p}Ow@H8$6w#yUB?{=zk}nBt?F;Dtc}J_jsEH|uRRjHWesQFcv&-CPKQ)aS++P=_CyrHsF3^L6_&2ZpCh+! z@T4|Za`Io`suk3h`j|JJ^7B2?U*MBIuU9S!y5+r_Vd>U0rOjruNOIk}43uQ0%L^AG zv6(sha;ZlXu1#CE6IvePa%&sYGc%-88sn42^bbsvNF=P!N=k}}4ULQB16h+YIAaS3 zsEZsEFC{b|d*AyUO%t@V{Dff`6crUBv@E>dVkY7fxZOGpXTPE9g>_U1n{9(b#ua;M zK7KtLoEd47$ywgs^CpY3T(m_yR5VLyX#AeWhBLH8E>O8<6?#rKJ=d-gC`wb}qe?3; zAP<$@>L=qgHGPMa^Xz!NhR;4ZLbUxdm0>?W|8kK{8(&o5ManhJ`R00_U1_kgj6%%> zo8^0TEkrNX6N}xlNIE;OFmDWVptg*4ka@*23{?LRY{W}G^SyHeMjxvFv9w|6+ zaFjjo)ZonYDB~1gf4LYv^E!1O!H%8Vm`%cS6-kcQ-nabKVBN9D#u&Xn33>*UEeIPlc4$p~SSRFXj}< zz#v>`gRU;?{`b`zd|>W{IY`9fw8#G9naWZTe14f4uC!8`b$PHLc9pMBrL?vjB2lJK zpOdFA_VLBTNwm(5F}@ubVXUK{r$b)h&T}pl*4jNK-Pd9NN%_Z*o$QPBa{M7qJZha+ xmvSh_MR;i;o>Uq+9B2IQ6zx639RBY*{{!%LHcE`}3!nf1002ovPDHLkV1kdOzytsQ literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-grateful.png b/gajim/data/icons/hicolor/16x16/status/mood-grateful.png new file mode 100644 index 0000000000000000000000000000000000000000..902166cc9759a50ec4e864cd8908b6a9f25bc87c GIT binary patch literal 923 zcmV;M17!S(P)WdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{p9Hvs=u;f4SJ010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00Q$# zL_t(|+I5p{Xj5kt$A3?I+hq1tQ}xzX(@c+#w>n;!VzbMJZ1 z|2+4c=l>Y~Z!TXodz=nxtL9KRmWJps@q0;veb;Ey^%PID1~1J`uM!^YG$Ow$f{OmE zzjVOJmUUcd@bUT+$!nI-dE#r6k{%^oQA8AfD`NlpNH*TS*Cf_1W8V}nH}hDvn5K_+ znC6D%FFyZ5UAH(tN8AR0nVI{vwd?hr6nUA`WfC_W9*X`2wU^YuuF>Ir%SN^3!{JQVB?1Q z^j>yzd$bs5K`oUPgKXQRt)wsFp5vg@N>MWdDrfOxj%PMA5ZKnJo8@RjqP1asq5^Y xM_chT_?|7tH8ze!Z*YD14j1~OeDvSz`~XV(TdiW^e%}B9002ovPDHLkV1i?!vWfrz literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-grieving.png b/gajim/data/icons/hicolor/16x16/status/mood-grieving.png new file mode 100644 index 0000000000000000000000000000000000000000..097264877ad96728500e9322c3ec6b0862ac287b GIT binary patch literal 928 zcmV;R17G}!P)WdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{pA2Ro42RAvAG010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00Q_) zL_t(|+I5p#OjK7ChQB?`z%*QD3dK<|1Q=VuNWdaqqGYr&Rv&yY#`MJp8k z(}7*8xqda7Cmcj=plauCo$~Snd>U}YE=!H zLlHQ1OcQvR2`Wi2JWeoV^24QdU^h8&p_^FrC5>BE?vgTE?+mg+RhQ8E`$^SoI-&8X zW@!~Hul3^2uK-&SH8qvEa!p7CFh*{&yQPocZorZfh)nQ>z4!y>yK=$hg3dMtd0Dbs zk)WKPt|d8pevloXc`5R^=o^3yJ_qOa$GO!72immHR_Y-i{aO*r>ja_jG^;;p=gQR{ z7MD42=Ou-oVR5Mg(@e6dL9@sMa@~dYRFcF=%pp#8j>(UgYbhxFNVLe7R!1#9};$x{GD^-3d6vbm*?=-1JVvdz;{QP)^t@jc8zU|P% zses_Q-G|#T1@iGCO3$BRs@6WE@k`D6?HYf7dfwR3K(w-MLwia)UpY-(2c-*tmTtQ) z=o0iOJ$gmyb#WdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{d84>R2~y}1AY010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00P-b zL_t(|+I3TFNRwd{e%@_4FY~VRf-KF#TQy07ZlY3x{V_`k#4vMFA_NlEFCh{7l|%@U zU4A5yq(L{jh}}c!$4oSAPMx}y<HJ6^wzHg(jdg0-G=X}q(yyu)(;O`TvkH=YW zHIibZp>h5MhR5KTUxcZ95S9G@2mW``H{wM3epoH{1kneEiD8yy=N&S_B_(~DJA=^ zt)T1Gf(~TjBkOADV^KT#fJ-zATI?2-ofSoXzG{j5y7?Hz%*=1F>ZSO8tU5Jc3+ zJ!ue>q=P}B3qxd}KmS$$kKTIWh@l#N<_=_}r=g*#7f@}+lNK8crG*%>n9%qz7*GQG z1RzF>or<^!gh)m6*|U8K^*7F;)KG$0of5S*xxn%eu3gGUZ%;c6M~jfTV+J06@>)cx zBxQxM3F*Yw@`hnS>8gWXP*bh(P;UC@%O#hlo&38 zLcITIETgLjIDLiso^{~(D-$ky{KUVWbE*!N0Y1=gh(f4y88keBZ)4Lib`PU!^>h9O XEWdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{d85FO08zUTk|010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00Q$# zL_t(|+I5qCXw6|1$3M^R<&O5&%(ZK4jJ$?>_Y$MlXtN0!`9n$+isYq)zZRm9$ZJU= zirR`qw0Wl{X0frkwy|-uF=jKfclYi%_g<2>r@p_Z=bZCB&pF@Uc?^HALC%qE3$-zB z_)x;Sx(R7);ZtWf?#epy)ZfGZR{8|ity#dER~L=QGb61fM&@TB;x_W&tdZ;~c+#CL z{3kg(nTxj%n;t1sa7AxMXEH~BBRdn>x-bK8))XYo zg~ZwsH3zV7XPij$cqzUb5jZc&MV9B9u0%($5~HwBpTzU_USe81AwEtmA^mYpvNLPu zSaPyPE3KW13O76UR&f4uP=e?PI$PRs;T+E4)=Nh6cNtl|SVLcH3oXeaZ7W1Nc1w9l zUSLm6ijn-2i6S4=Ut{FfF(cy=SYb_wAvQ7`7Uh67(vX@Bu8D6+O$n#6s*1312S@hJ z=5EnqROTs#@~~_ShDlAs1{Ac*?la_ z)mY70cw4J}-AD^wHGB(>h^H2YjrQolssxQPdX=cUeT{m7+Pi;@lE%B=@ZRcaqVdaT zt=T+7dKu4|&;RRc|rtC=`p002ovPDHLkV1nMAu3!KF literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-happy.png b/gajim/data/icons/hicolor/16x16/status/mood-happy.png new file mode 100644 index 0000000000000000000000000000000000000000..09e2d52653852d1ec8bf0a0987ca06f1606e0f9d GIT binary patch literal 880 zcmV-$1CRWPP)WdPCeATcx`?BMVqGB7YVATcpIF*!OiIUp-AGcYhIX*Zkz000McNliru z*a{d85e`uu&UXL+010qNS#tmY3labT3lag+-G2N4000DMK}|sb0I`n?{9y$E00PKK zL_t(|+O1McNR(j|J)iH#_!xW@`M``c85>ej(G*O{%7S)L84+QNsCHQ`jL20aq|_o> zh|wS-#wcYjlp+@@W}4$;g4v?KPvoSHq@$GVWT&KNW+-e#JC_;ov`iSix;em z`I|Y4%@gM5EPltBV(1x*n^<5>3o`c!D$9k=qyNpVNJguz^>*wdmsCTv+RRW9*=mWTBSa=S z(JbHYt)RRNw0Le1kQj^fC>ej09O!u>fXFZ)kY5uJ;+ZQTg820CU@u>DG4liB<%shJ zM20dUW*%&KP6xxv+`@(#ZuntLGl6H_3y`d75YAxSt=1zf7;0&+eLur;7 z>4~gh^WYeq)%R$a%_ZD%Zw>Hmp73#eX_zGDzirx$UZ zwQD}p)_`9#$x6i8kRTMxWr$z0!QxoMz{D3k;%9UC-}M8Aw@ZdRJK~=J0000WdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{pA4L4(e@W%iE010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00PTN zL_t(|+I5p#NK{c2hQB>Cj$>*zW9Ee^6^pbSMxu)rMn!fb0x9UBsFy&H>?O(lRUe`;>}k&xOz~@C$kcfvMeZ*lUlgZ|j$GI>s~WkJTZjhvOHj)rR&UWXNSC3M}*S_hl2A$VHj6`Oq_o!#)kP5l{iVFQKGB zW!!y2mu1dOGE$PkbvkF_1i}RP8aAt2MG**h7`T5ID>~0Z$cZG`s6GQO&C#0Hi`jB;`RMd=mYb| zAs$D^*;eLOc1(si8k(W50p>X)jD8*F?8ON2QgW6In-L>P^%>3E>}8)Wq*1waB0pV~ zIa5Vg(pPR4JbeY{YBg>&LQ$S#gUr+vHWJh|^7ZW9Jb#EEAYOC18222H(RK< z literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-hot.png b/gajim/data/icons/hicolor/16x16/status/mood-hot.png new file mode 100644 index 0000000000000000000000000000000000000000..121e9117c6b4c4a03fc5de81e4090c12b6a733f3 GIT binary patch literal 982 zcmV;{11bE8P)WdPCeATc%||Lx)+GB7YWATl#LGB-LfHy|r8GcYiel(E?W000McNliru z*a{d85i<#Of@S~!010qNS#tmY9>D+r9>D>_X;f1H000DMK}|sb0I`n?{9y$E00S;b zL_t(|+I3S~XcSi%{^p!BXC^Z{vztw_$r@>lq*~2tLaMRGwA7YH(O4-|X|WGp&{kSe z@x`K#J_x0veJI#Iv`G6>`qYP(6bXbV;tjEZnl_->7~O1kH|XAy+1WGW8Hu8zhxs^X z4&Q${-~ayzdNz}Xj4_7 z=GOJ0vm~%?r1aG1(dddG;_BYFaOn6Uq)Y?0s>0?RgLVk3emI58mI<}4QD3-p6RH*B@rm-fY+Pz6GkvENS2k4&%(l%h)CJwsa0Eqj!iZ{y1|M-E$89w`xHchh|1$ z*T>f}Ls8au>-uX%5(Dx^&xb7}Gz|u0(Bu<(T?H#s8RVIYfXA7FkPg^(xRpuqHn(!l zl^09m`||T4f_?t~aoLs&db-itvJlH_bkx;F;7HLrRwgi4sbEn{3;zD|JbpU; zJwD9jkQX8yJSnI`dNOQ{HGH$VA(rsvF+#) zoI7x&@X+(VdA60CKQN4eKGSUfFIJCILmif_=|b=OZ=*`4t?zDlLOnQ#*(043nfe`ir+qpMk2WAI1lfZ%fGyI8s}GI zn2`5Eit?$PgHgjUXe}WW{%cP=140v6soDl!s~ng9R*07*qoM6N<$ Ef}3u|5&!@I literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-humbled.png b/gajim/data/icons/hicolor/16x16/status/mood-humbled.png new file mode 100644 index 0000000000000000000000000000000000000000..a519b3d8f1a16023ddf71ac39ecbdac9a435b9d2 GIT binary patch literal 925 zcmV;O17iG%P)WdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{d85+tFERAK-C010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00Q+% zL_t(|+I5qEY|M8U$6ue`>9tgmq9a*`4GdH)|{@{Sjzur>nP*rp523{9(!XSdV-&Z& z;}uyNIGqDW1{03v#q^ea+2;(MlFcE@6IT|8yDw{b^@?UA-G3VSdd(`?EBObmWT!;(p#UMshP*ZO*KSgPK5@dLa;5lTlsejWW zp4wYG@V|Ht!yIsOmx+xqpifE9P{N5<6FBgk*2KRD$r%SjP@fPqG{qQt(-wHioj3h_ zInQNAkPs(FiZx0dd-zqDXkU-cD$LkaNVF=|+H^?Dm59`#4)7xN0GKpp0&TEzOjux@2~Sew|QG&$)BJY00000NkvXXu0mjft7@>e literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-humiliated.png b/gajim/data/icons/hicolor/16x16/status/mood-humiliated.png new file mode 100644 index 0000000000000000000000000000000000000000..e4476b9b32e135d1ad4a63d267de173fc84d17d0 GIT binary patch literal 924 zcmV;N17rM&P)WdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{d86AKeTSb6{e010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00Q($ zL_t(|+I5p@NYqgfz<*EI+%2zGGp#UlEzPVAiw-&{$SA0w>r+u545GjesF2u5qUeBb zqJk(oD9R635Jb@h3Ys0eC8o7nTWjfVT3Om|yZV~l)h`_ne!Th5e`emydozl^SF+W@ zPGc;iGlvit2!h)~dzX*8+9quB-_QTnjC_jMFXo-ITxtD6s1xcVyS+^5mGfzsVP)x` ze$hhFuoUVK6{}zRxi~ZkF5#ol(!0AN`V-q#XPgPQ_>>8jaD<$p97u{oi>Phu(YjfT zy=JZ3^0aO*i0tzH!=#&{tCw~LbKOItTB_u_vvJ3 zTRC{bgLPawYc_kRs0niYxKh3!3~@L)hc%O9UvJ2XHNtD9OEyF@3E_OXMeD9pdd}=@ zZ8S!Qb^B})JNsp&M`uuE$Veg0CpS$OB${FG4kNQ>jwC4MSuA;A$YoRU0$N%xQL-t8 z6^q|NhaYPW3`=EN)QG{DopL2})@e5H*0g%MnK<6W?K_S5eP5vaEftluRNY^~ie+XV zRR$?srKzrkyy2u9Ldi~(gR0Idj+9HFr2z~v4)&E!AU5WM1ZZda)B#K{yow>(Pkv62 zQ>6+^B3!uvYGDD_ZthXbNsuz)dl?WT*DEg+l_nPbrE;mSr$vG_LT3QJ6J~C)K4)-w zY569ZCdP_V{4fYgj7;?s;FHMmLre4Ze1o4v@PVT)+@X~!^o-jU@p%7QmDSh*C1*5G z#8+CGv{bS6N92?w$j?&PR!edcVD&ETxNwijq4V0R8#q{H=Wt9s{YqCV#^j2&Utc!T z{1U|Z79LiE-5!>|zieV-Xf8sHgsY7jS1S_=GE~--QPN!9q6|IluLuUIDAfd$M!{`=Q3iTvPjI|~t*7X literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-hungry.png b/gajim/data/icons/hicolor/16x16/status/mood-hungry.png new file mode 100644 index 0000000000000000000000000000000000000000..3546c7a287fcb55f7821ba72729e7ef70d94095d GIT binary patch literal 855 zcmV-d1E~CoP)WdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{d86D+n%?GXR~010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00OT` zL_t(|+J#eXNRv?%e(pAP%w%e*`LRtmThletbSPv&ie*@)C8k#7pZcK^*$4gUM?XXq ztT2LtA_*casiX)j2+Fc8WSU<&6Lr?CX_hILiLX1|7n_0jao~C1%Q@$H?%|ws8I~|@ zC^iXh-1U+n(4@te&H+sJ591gQ4PrHm)8VW+1~dFf4K<9Yi_zn&jO5-B*7~DpMY1{= zr;S=ni{zsHAaZa4CnJZI3;2MPe)z*#{a?jcJ#t|@#lq6+t?_ErlCGvhS;$xa#R2I{izru@8gnjHU19c>oM z-j_)d2@^&7ICLVJIG&n~US;Pm)c6T=Ze(TWp}nIM2?@z~^rRp0Thef_@F<#^no(a@ z3mVYMgvlJq`+S}jdNv21OzA$5)uq^Vm#8*w!_x)5HV5s2B^m~tc)n0tq8_=$xp0iV z<+C5+7?lx?sreX9^AOM6=dv-{wH582%NLubqLd9$4;L6@WdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{d86cwfq^WFde010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00R<9 zL_t(|+J%#COcPcVhM!yNs6#B!4pEeV+K7@Wx^BcJYK38@ld%Qo7M9FqCh9VhP3I&g z{Fo-1?2mCjw#02eP-il;WMHNNX7OW!ADx=vItUv=ZE1%Tq@|@;`*FR15;P{BAlJ=FBg}r(@Z6Gc6QQwsTr5s9rJj+9Uiam^M;0ob5l7P2M_EE$6_)0yy)uclC`z9 ziR$X=&6Da+cWmvj*=(}0u~9l44(a#%pIfNDzRo|UO|n|8A07Gr$E{126o|aMJd_w! z1iRfn4yV(JMx()KG(It_P$;BRaB5#EG*zXiXNX87!iDBK+`WI(=k-!#(Xx8|dD*lKKInI-N@i+&R+A7q<SDh6_7J5d zuaTXTkL}!1oUS0zcn9a3YIt}3JOa^;OiyMepOmFvk{+*CZ3o>P3&@H2*cjd+n z#nR_GAm!)@`F7c>lleE_FsVrjDQ^h*Sp^N+Y4M>E5`sUjOHy@Vw(Y3GVkzW~tB2SF zC&a^SD$io)7rV%wlZ7c~Q016_1Z__r_lQBJUSLQKak=$3u3Wvq(!~jk`u`y2<%5ba zb2I-@1Ma7MRS1Gg9EEl#|7-8~=nD)%k_^hCOd#|9ZQaFH@jjEvg|)t*FxdbOx^9l7vQ3F91uvpnT;-kuCdW z+p%VflGJrntNP^65~cHuB+bx)M*Xe&kYrdj-Bcp5t`O*iz}70sP8D3V6a2M>5BvPw zp7g@&1=Q_%M{Fo9;ssQ9rj4zc!k8-(kA|lHeWHnx<2G5_)J7GLDC5!X<7Afy-;GYp z`7epI4Bdoa+WdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{d86fy$^MzsI{010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00SgR zL_t(|+HI3_`QYf2&d^8a^i8O7>Xrrx|5nz znnM|p(6)8NPV6&FYfF<{8~9b6PDi#~izQ!vzuF=tB}HNwhFGmuY2W*vyz;zF*48no zbG+1+^V!sQN_KAZ$&Jx|ITSf4d3i=wz-B9zEzR{(T3T{{1}|)Hm8K1k$}fkNRQq_* z{M4(GBs_YVRb!PEbH6-_UkMUuE3^eQ|97HBd`=( zM%!&mFgSQklYMkYFVf#P!06Z*M~`*VxMmBVw72odGB<^V1q=`WLD^DR>BnQrHkO8$ zo{jNgTbNWTsT)n>^DX1^FFM%sPBoEl4r-!>C7S%h=~IL%Z(`0}$`~5wHhNiV%F?tn z{>0PkpTO<*5|7_t-}`nvjsZIN7x3E7&CJe1L+#&u^zvUY2R*~wG)Depd|H1O=R?!u z37Xbkhb0;o==j>qxyv;e=}EqiXy093^^S%XiuPnT^pbgEhM&_(wmwsKAZ(P0WGxafJDznc_W+OxPl#5_Ns)O(yMzx{c_Y0yHjeA|sP@jZE;Er$|)ybG1TJWdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{d86%@!5@(BO{010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00S#Y zL_t(|+I5qEOcZ1o$3O4gad*%i93FUh5+Wo>!cLGi{6S>+1J|+~^iMOkR*l7^TsHeL zHrvWy|3spHG{;tHnXDXhNf+h@W_%(jl2>i4A6aK@yRcP%K?7Po1&MYfSX#A)_ zHB~Ofj1BG>pyjhV6uI3f+3pm1YK23F&N^kno48lMjseZJ;K`-+hR*rzjYvj1qMhPM zGs?FIt3~eY6uJAUbRK(EOeRD8YzDRz+dJbi! zxu9H3s{$@w>Sjr)i;5)%(o_E+bTdkMo?^%+OL^lNI^~p-i5?|2E3+iaEM~Jw zjvRVL-hbzLF&I=LGDoV^t#^uy=z{hud9#+|hImjh*mWS2O`G>%Fq#R6rSWMy-x7+PJy}F4nj#yzjk&xj^fFN2d1HU9wQ?r_RIgetsTFK6KQ?zg%Ws3{Q z&zq0SHJjHPUS|2SDt@}03K8&L<(kPqPT=c;6RMWJkdDMLiptG+tXMm6(7RUwVL>Qzfo0p=5zVM43Dq!703oki##e7-G+ z%>r3=NHanE5B#;eU7o#gg`R(eDL5n{|y^lXv?{2b7cSk002ovPDHLkV1h53 B%6k9+ literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-in_love.png b/gajim/data/icons/hicolor/16x16/status/mood-in_love.png new file mode 100644 index 0000000000000000000000000000000000000000..ea6f4ac396c2bf3a944fee1c0e1a2bf8041ceccd GIT binary patch literal 979 zcmV;^11$WBP)WdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{d86+2_X&rkpW010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00S#Y zL_t(|+GUenY?Dl@JMBfNTp4_T@VJvAS*@Yy0-&JwB~q6i@O$&wI}E zasKb~q4@u5ibgo;vDn_#hQC~ac$%erk%_TsMnrG_+gR1MeU`PQ*|OeW3sj8_kFO0p z6R|o?L-G78HpV(g{h|1J)a24ad1@h}-^t$eEEct1x^3HI>IuVe9}EVkw}wLDplOl~ z*tF#vs5%a-yV5-QR+iD10(2G{sWer{TII^-Owg4mmC`r!`9nsJ+da5D9DZ}7IJf(J zcpVQdZZ{=iHh;@t()JOWX`w|ax{M&6yvG%`ELG9kf2UgQas6o9;{_*IUN6oe%VJwY z10D%xYYkhy^u_w|RI3C;*X8%KT~O1PC1BQZ60T?$BSY^luDcV=P!vO3P!{@W%VF@u z9v&JT;(?bRtm{@v!b<|n>nuwye+?Hodo9WD^Ggix@4>Lv%WJDpovF*{ zi(#(krb*_)!Iw6-W$RsA>Wn+5D!O!34v4`K0gHq`s*Efq29X3USO(tR_RzD`kN1x)?@^l7gpu6|qMl z=!VnhS^M%QJ$n8cZ~QY%_tvfmul9Cx{OAGI8ELO2^R9(t``T^z_>7*Eq`!S(k{|vv zjrWgpZwDg*FVQWnG?lC9_@89bIWCXIdGG#l{tNy&Rx-qY{0sm9002ovPDHLkV1ju; B$qfJi literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-indignant.png b/gajim/data/icons/hicolor/16x16/status/mood-indignant.png new file mode 100644 index 0000000000000000000000000000000000000000..9b12cb2027c581ecdf7d07e092427734023fca86 GIT binary patch literal 922 zcmV;L17-Y)P)WdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{d879Vu%ctQXG010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00Qz! zL_t(|+I5pzOq5p?$A6b^aE8D*qaXuXhecb|sr_7Pj5b6~FsMW$vFZynJ~S~Q!I-qw zCM7NpKA8C6gQoF8)VQ?92XP}tH0~1DG8HF)C_{sa;2<4qopBhh$8VSzx0C#H?mhSa zKj$vzDn7PMa~vBTb|&VJCL=ZgT|M;uA0g2EkQ!N!@;NL1n(C@@g6&6@)_)5Ef|i7D zI-+#NLRyPWmVHXQGTlMQ98Y}vFG@%5il|fYSkOJ>W!`j5>80~{o#o=LXyzov(=*bz zKEcbN+liLB&dEl%G`h47P13q=n&mgGOS9IJP>O!>W!9P3E$4y0CROe!UAJ55!aPHd zFHF+|eU(~=t8{x)xg}b;)S=t2$PWKfx^e-2iP;S^pRKj))dGiGZpQ{cZ_6dsp3C$8 z2s39+!<%Pvygo?V{g9L$gUcObhA&FtDCN0$lVFNBiyW6za;3n@OT+kK)n+bTxXi-R z66}s_uziEm>7lxMEoU1p@JHPUFu*K=FS7YArNF~T>r`STvtF}r?-t4yml1jO58qDB zgm?!f^Tu-MU@aAu%b7d-1xfy-JaTQ;WKa+XR|cHk-wDG~rHW7D9YXGr_)E^#O(Yof zQ{)XnIKh9bwRLpUhcpYZp%#e<3`v5G_&`6+Epco{6yH}bC@OdYFNb)-4+ME)>+Gfb z-{(@@F2Phw2P#I?XrXw?Bixxjay+AX*4;q;Zc)8T6!8bF4!vqT4Rd2K#`p70HRA0> zS|(fDb68w@1&hkcaSqSoRQ(kud*${=VkKF>Q~S^PS!40%6j9ZTqtZ1$ zs`nblNI}>BmRSGuR~4RG@U9aRFW}?onHouQLP%$nzO_qfSNgjI*=}^#A*B!er2Z>4 z*^$&4$-%>34!1v|_jW6jCyY{V-xzu8LdE^Zkne#FD-^#U*KG}VSbaXg_M}dI>N`*I wQZqaa^UGW^V{xe*;#p6ao6TKp`tUoy0n#r*0(^b literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-interested.png b/gajim/data/icons/hicolor/16x16/status/mood-interested.png new file mode 100644 index 0000000000000000000000000000000000000000..e5ac625c9752d81e55eab71ec79bfd2e542c4aac GIT binary patch literal 968 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 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-lonely.png b/gajim/data/icons/hicolor/16x16/status/mood-lonely.png new file mode 100644 index 0000000000000000000000000000000000000000..cfbd8c66b510792f838f0a7b03d95630827b9707 GIT binary patch literal 914 zcmV;D18w|?P)WdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{dA6a~0EH`D+C010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00Qbs zL_t(|+HF%^NRv?*e$Hm;=5jh`b5rKps=4JK87PdxA|bI03&FZ@*^TR>zZ(fmP@3$o*`{x2n@i0OynN?7@B2LGJkNO#!}bxM zsY7*CBn%oABtAbdHihXWFYJATsN(sR&Bbi<&*3y&ik0Gek^%~injtS2$jJgG-9T$Q z@T!Z3re{#mX+z7lZ8`XbDIKePN`a8e#MJgsNd9p~7tb>i2v~6akP-f42hp$vY%<_# zq6}+70WZi-Czs1bUayx<U%A`Ck08%v`3=9lx5=Rh; zqqfNH?R}5jta;>S04a&c5$sVw7Ubun?9>A4?o_~Hu|TWUVy{kt=TEO7nv>}DdK48E zq49nV&J-*J>y0T;3WDG@9^8LL98gv5^g%_~dgB|)#I5~$8Yd#d`XR^3}k?Y=} ztpj+{vI1-8BIjFyMz#)K3VpBLC0mCLmjh~+`KJC<1UMJyZcq$Axkes}AlMrsc=QsBO|Pk`s~`6Q zSYh~n2i<6PjKlqL0O_d-ELIk^VQe65-+_t-`tjxyEN|_o{qJiGw|15qRWTxD?o%S( ow+b5b;OEpFdiust^Y3&119GM%7hn8AEC2ui07*qoM6N<$g2f++%>V!Z literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-lost.png b/gajim/data/icons/hicolor/16x16/status/mood-lost.png new file mode 100644 index 0000000000000000000000000000000000000000..54609d9f5463dc9bd166d1b3ae76a92cfd19bfeb GIT binary patch literal 940 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 P00000NkvXXu0mjfa%qMP literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-moody.png b/gajim/data/icons/hicolor/16x16/status/mood-moody.png new file mode 100644 index 0000000000000000000000000000000000000000..8f4643177d3294fa47715258a44d7d3ea7b8de4c GIT binary patch literal 892 zcmV-?1B3jDP)WdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{dA6)p{%|J48h010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00PuW zL_t(|+I3TFNRv?*e$Je_rMBE`PMLScwo)bri3wJqf3nCjsX!%BFoMcImOljbNA)i( zkfn?%wX-al5?yxX!Nb|=85SPw{hM>UJFexU*#4vEJW}DdB z63_W!7H__(5!V_uc&2eXPPixD`C17^m-?vMXTl`oPg)f`-59|$GnCvlU(HL;rt(J* zjC^_|MvU8f886C%m2!2=l#IJ??y$>>cydP$6xGDR(6=+rDZ@`lTHJO@CB3prL?GWfPWA*7E${kA>6$D^+V%R>5 z196coHBC(-WRQ$bBN2QF3Is$tUSO@QkGBol{9PCl?B}t0bbbGc`43-_Vc5&|C}lg0 zC0M=ywfFhA{*S1BWkqu^kNxXAXC|V4w;U#298_*E_>>b1b1N7gnL^{A-}yH+Nid^c S7^5oy0000WdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{dA78vOaIgbDU010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00SFI zL_t(|+HI3tOq5p?g}*a1E$Gmq4A*2jAS0s4vwtscpgoB$%31(WEHeV~UL_Q6bQA1QaMxMsO&oT!eqz-7{cnt0&p{bM{_) zowL`!j^XL$%JNeFNXSWd6J@ty_4G41I*za9Hf36W_$1goxmmV|;>-+oIAcs|%_X6& zPRlmv?SrZs_@h-?|LkMeuT30%>ezR3sQK}0GqEZc(XEtzg2-P+Bw)nqHWD3$>@GI) z(_Zsn#p`_cpXMd=`Ep?zkHU=(JF@d5#0tcT1Q&=5=0v{h-hDnovUNSOd8HZ8aI-qx zYu8AOjp5krSfaOYGJINSXzNbE{ZbmqDcOoh*D>NrjJLSjc#qSUESlSKXy4kght!aj z#=)TzdesIa?dOcF%+HaNzx*tD%U_kDzH*V#L(<;7Q{Kv5EC&zlm!)qeiL@GNJZxmX zhYxL@c#>mZAR^ZB3(xWS7rV&M%jNy|HgfJ_5FD>?ytbc`l2Sh2UVwLQCc*oV^)k2< zS>l+JL|jBRT^m+RQczY-XU7(*4_9;g#8wD(uwm^S3W~m=t<6tQcMGmq1rNi5R8nk_ z=CFJrNKJ-{eLhBp4so>7gL6i&=6$5Php9N=Vy3-<+NwJdY$UYT(Gg$}OE;5K7V#=c z@wQ(4w;;wjg43z<$tYe=0PhD%I5KS|#rrzxvvmy+82)=YIS#dTP*^-c{coLow&Myn z{a3)cuHlE#NkR{%a7{i?hh7dl(N(gB-}e@o^x9^)I|cQOy;aB49#EbXLzS4OQNzMAfGlsXQZ<^?ts8?8L~r zJ;0InUIwn-By(PZnH3lPudv~0x&dGPAgyPwQFPJAx6gcykDqh4hq4!Ekd={wYchoN l1i9OPkA{{WcK`o5{{y&oKj-ZhPBs7l002ovPDHLkV1kK@xC#IO literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-neutral.png b/gajim/data/icons/hicolor/16x16/status/mood-neutral.png new file mode 100644 index 0000000000000000000000000000000000000000..2892d48463ac4f1f43c32de38b82ec54ee532d88 GIT binary patch literal 903 zcmV;219<$2P)WdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{dA7CTF8Nc{i+010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00Q4h zL_t(|+I5pzNK|1I$A6!WI*P56Tb9;Lk%e1DdlEgA1|dZ+ibW4WMo~SqJ_tob(LyLm zLdl&&s$Y994z&WOpjqG=kj{Yq!amiVIh`Xv{DSq*{1n#i&R6R*W)VuHD0G;ILC9Dz zjTS5UH~B=mNwyIhqN$1RKk~@ciPNO_JS~Y$aj}G!RX|;v^xPiK+}UwtEl4NKJOrQj zEB7ASxqP*c*x_zQL@;PGAH_3wYdqmXEbHkN?DPcD!IO)v@X_c zI8S$P3|C4@S(n>wEVJq*twHD&`2{kg7@5`C!Un=Q%;nQo(SH!VgTzr?oGP>s5qyfW zB9~!nKzvOfTy!F2!4sf}Emn}*DHDGOGCWj-81`aIaAC`7f}Q~?iM^wN7L&6bSJ!74 z5+=$Jf$XKJRc_5S#K*Tt0J+e_!`}sc1mFg{!(iw`rLS>oHc$8EE32`8NqFwI*!T?t z2@ojNXj3ZPo(EwfSMJj6XKph?=RrqBE&HETb71CVA(9y8%@b{Cpqifnyv96@?8P_u z`m&yldNT$SogGvWdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{dA7bU2FMBe}a010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00Qbs zL_t(|+Fg@dNYil?$G<{WE-e;u{@Su?*pTEgL z-ON$hcy~U^Kh}sKbqWeF)=Pp6x;RSJD#+QDN94<;+twtKGE^@C?ca)^L4&ebaBbBg z^wS4URZ90Kq7-L?de5! z)->F|BB-sY=1%b_ga?O@xp4Ko3N0;vVEe*7(qVhtDm^ryXe}vfpt@3^z1fU2CpV&{ zu?!Y7_lvlz6hv!7E*hSPQCJ}G?v8-j1cOpGo?{|0!bnQ=qhN!P2h8_DZ-YC4j88`>0k!}p5q!=jK2PCnL z!--*~%Y%`LaZX=a3zck#U?_x&OWp8}t5A7jDNGr2NYjVm>f;{O5pE0%9I(h6`aU|w zVjkl&9?u)5L(mAz)_VSSGOl^q%h;p$-X~E6hQ|IeM`_UCSHBb*VX<)y73- z&CK%~XlldMlXjGj1kf)zfXjyt*C+~%YOy*?$4;bXN`3h=&+LCE51KJu|AOkDLDzz)M3;+NC07*qoM6N<$f`MqAng9R* literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-outraged.png b/gajim/data/icons/hicolor/16x16/status/mood-outraged.png new file mode 100644 index 0000000000000000000000000000000000000000..141380cb472739165f38c01190243f533429b311 GIT binary patch literal 987 zcmV<110?*3P)WdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{pCCLUAI>2Lr5010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00T2g zL_t(|+GUe%Y?D-|I>@4caOUaAHAuvXGb{>EKb$09XT1~aarx{KLm^B@m-W&`5hAJXm z?<$dt8o%aBdOiE461Rg%?I#PI)T~M-@MyX$8QjUuS~`?vxn}viQwIl?+`gp5X=I90 zNK=C){y;5XFZ?+52|Zko^TSuwV}V(Z`AAPM^{eaXyEwqX?kSd+xY+*6T}E%saiH@f zRyf?I;@qn>vH9q!U^v}^eb+XI-ri}*dEXg{M<--(z$g1Ycwd^Ey^>)zr7GIkx|1qmrkeFlg`;amhc0cWoVq zzS+tIP0T&E?eD8P<87c<;YWXzT_a zmu_d86dPWbF4J&`;N*nfh-&7wG7Q-CP=f6*-eAu34m&z}Fe>-4`I&Lb?K*fa?bqi| zDfCQwj9VCzV_G!7YR)OSa70OA!M~zPl5IhJhtuatzxI~&7?VPp%Yb-oiCXWnYhh`3 zM-e1Y+!}`r6F5uY$ri;6k81B(=swPL&uQ9&5r)*_3wp#u@2)nraeWgOEf2_C(5X(q zU6L6g249`v&KEz+!4rMFwkYM4T@TTHZG_P8gVfh9SB19hbU^BEG<^f`)@Sm^Pv?2* zq@Pa~WdOqRAT%K8{_7wzFfcYCF*Q0eGCDFcAS*C4Ffh248jAn`00(qQO+^RT z3K$O<5AUy%R+00d`2O+f$vv5yPq|{0}PIbX>0XRC-F%>XDb%4y=Fb$j^C8l{|FunTI1`Z z%SuRJ_kIzTK=U<&OiKRc&pRvSrSZ52-Uq79>J;wj?WMD{`nc6JyNj?B&M0 zD&G`S(|lS@25&39XAAmKqx?0Hq;)V~>rjyn_d0atcSbGO(k>_ZNUeHV`Xwu4Ttn>6 zW%JpcVZ&Vhlcu#3)^1U3-jPbwuoM!OvuXPj!J!oVZE0-!LDA8tQ;G{XEnJJyoyXB% z_o~&Wu4$D%4j)#V&m*N)Xkz+!~Io0*DNr10K8dqTtj{J1y=9+~xKu=FU;c+j2-s$3c z;}nUa-0>PYu~1B1{R|?7FYZ^g^ud)TxZB)Ihc|@Ja~Gu*RtsdA%%tQ*xb%zov4f66 zo0mS*^8o&l5wJ?HMNr%eV!hXNhr;}|tC*D&Nt|zQr_$-% zB0`SoQsRnm^6z1W0tqx4{Oqlc(r}Zp3%B%z`|X^Gan<_`Tvoug5-0n1Z%}y!xiga@ z88;uwSV%+8-q6oH{p@La%C)x~#iwQ~nMYk(GVZUkvB@}V-yp$(5gxSqIQa26zX2-P VC1uTIxpx2n002ovPDHLkV1jK~w$cCq literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-proud.png b/gajim/data/icons/hicolor/16x16/status/mood-proud.png new file mode 100644 index 0000000000000000000000000000000000000000..788df04af0458b8e07e60e94629db5b2535bd09c GIT binary patch literal 914 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 JPDHLkV1j$`nrHw3 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-restless.png b/gajim/data/icons/hicolor/16x16/status/mood-restless.png new file mode 100644 index 0000000000000000000000000000000000000000..89276398fbbced9cf4b13bd76083bfb08bb11e68 GIT binary patch literal 966 zcmV;%13CPOP)WdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{dA8Z>ud8ejkb010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00SOL zL_t(|+Kp3dNRv?*e!e!pO`Y?y;mo|OhNZdEvWwl3vQjXu%*0BffoJDV0hoGBScP z(o<=F`ciT#2n8#>geujp)vaaIUN?p0jjI1pevVrs3?C9 zr6xy_K3pw|C_T}`V$`o{z0UjkyZRU89JA8N6WJt_$!Oo+G#a-Hv}^k^dS3mA+FIU- z!iigAMG+3Lv$$unUbSuP1CK&c%B~IEu-Y5I8v$n#JwA(muYzLGo8r_ zrnne%vAu{{QCgfXG&nU?6<6Wy?FBXi@m4N!;p4{+7AIh_SRs{2P*YQfL7NqRzAjwM z=5!GuSS<}vBVcYIplGdvu`2}+@886Q!V>IANkmKQDq~ zXxKSH{#YZ~x&(%VRouMTm=Tm$RpW7W8@!cr&_oZ;osP%K74x9>b--pDKu7yM96wwS zjh71;1Kzgai*&N%xLhTqat~-j2w~a|XhYdr8wT@0JIv-!OkfZR8;9Yre?i$T9u19Z z*enh#@E?S;1VS#?v7F^t8xJ%* zIfXV8`ms0|CEb@fij58=K@jMFus3Z3m7nJ*A_xb?XUyFO_p8sVwqtOV%!QJ489wA))?fadV z$P{caa?=T$B5^l&JD0dZ55BlUhTFBCaJt-B?+W$;HfRGl5izd*-(v7 ofO;)3e;q=7YcKL4I^Z{c0GS4m-|-YSEdT%j07*qoM6N<$f~SwCy8r+H literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-sad.png b/gajim/data/icons/hicolor/16x16/status/mood-sad.png new file mode 100644 index 0000000000000000000000000000000000000000..14006836c9854b3e61b2a63b32a3c96c0581c3ad GIT binary patch literal 978 zcmV;@11WdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{dA8ym%|7I**v010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00SyX zL_t(|+I5qEOw?r@$6wDEg5!tW9bfn&_5}`$0)x)TY$)^5OE}c0OYHJP)Vs4Qe1>KpUA_5B5DIGt~yEwe>@$}pQf0XsvomM{s}W)h<4min4y?gII+Q!WVwU?p#L4z$p7weUAT&x@wws`51e=0%^-Y zM*4)5SA=YM2KlH9xpN~|>)dSnPq6n1zIt(kW@Xtjq)KIZnJzDND}tbq`-L>kmPN(GD{(r~xiL1);NTE;dmhJ+9U&YJGxghE zT2IDa)k+IkZeIqr%mlI6EQeZ;5(-T+GZW_8&@hq*h|R`Qt41PGe(?vAo8VfJz%=k^ z-lQb931vs);?+C@jQ)T6jD|B2#qiApsTZuHLEOEl~JrE z!Abd^TMNBCZIqZR@c;ZhAAfX!x^>Ih*IdSA=q9~CeoKFECw+Z=WF#(9WKRu3`bdyT zES1FJ@H;_Xd2I`}Y+V(@oH$y7J^L~rz6U#A+DLMfr>bMLG|!~^m9hRvzcE2@W(w?? zP?is!hku7`b+QzxHVsxL?#ekXe4{|K>h7%EZ=UQ!;-K*3}5s zR0(d5!TX0KHKxGKg;O2eZTo>;!D+6GB{w!aM*F_4VpDxB84)F_t}oh5TM#)K1^*Qo z9VhyEr~K?(fVY;Mn2O;EP7U2+A}~ZvttlM&wgq8Re@~su*Wh5g9Q>}I*SiO3S;7hK z4}Enh@8)IUt|&&2Cy?VI{=5_Br%U4;`1g1I8=rYTs|(4LC;$Ke07*qoM6N<$f({(N AUjP6A literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-sarcastic.png b/gajim/data/icons/hicolor/16x16/status/mood-sarcastic.png new file mode 100644 index 0000000000000000000000000000000000000000..5a28d210e646e46ae7b3e87efe4910c8ac9f07c5 GIT binary patch literal 963 zcmV;!13dhRP)WdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{dA907NTdBp$#010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00SFI zL_t(|+I5p#OjK7ChQB@M0D~f9VQ?5goy;hL!2;FLv>G*t3C1?@L8GQtc`-cbgGp_C zv9&d^iH({zY16c6OH42kTW_clZ5l&F69bAM9dDqFj>=pZ?ib6z?wX-Kc-uK^@9fL} zpMU*(ZN=*?z0kuRYZCdcEKv@CfZekHoVT>u88%L?SV+iwOljRJ;Z@pS zuk@1l&`AksM;e3qF1Ec1>_{*fmQlx|>_c?;rqa>JN|%?SbDZdpR-i?d&UlB3l69SnRr1@A(4_NH<4HzU(6|@K~aFKMiiQ<-as*L$F*?aRB z^?su-m9mXzS+aaR{exMALr-zJiwJb5vF_7aPMwQz>GHoUTRei*0`3fzS>H&f#p58& zHVt~7&ma&ClRa}D?Hx~OZX1^b9sGGZKy}r2&it{KicfO*p-M!{S2z!HX0X^OFQ#(U z2g;ppk8tp}R(kuROiS+M%UuN|CfX=jMz|1YI6@OJXd;tSE$*8|}&Z1_ym7mOJ#yU{xm%@R#qyVk_c zFCI~`Mx>4qCu#AtoE25It(qhGqO^U5+6sg7}FjlWMbqt(n zU~^Y59kFG6-8A|FEOe$QcWx#|j(Aw)2A3UD%t^`d5P~D;89IDXA8xqAPcf|VqNX2& zsA+#f==xn20{$) le>dS^KaFjEzIydJ{|8;$FI*NBL6ZOg002ovPDHLkV1h4AwPXMQ literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-satisfied.png b/gajim/data/icons/hicolor/16x16/status/mood-satisfied.png new file mode 100644 index 0000000000000000000000000000000000000000..4ee971e4439b2d03d9b809eb25fa6d71c31f02b7 GIT binary patch literal 931 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 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-sick.png b/gajim/data/icons/hicolor/16x16/status/mood-sick.png new file mode 100644 index 0000000000000000000000000000000000000000..5e3b41ac95ad487a291d9c2cd62c93215d99d4ec GIT binary patch literal 1023 zcmVWdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{dA9xI*&(vbiF010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00UP^ zL_t(|+HF%`Y!h`H|J?O@cfHOk*Zx?5h#q6JNX6G|sZQ6J?ACd0prQYZIU+o+2m!zgf_&Faq z9|s@Hf}v>y!U1gEw@m^?Jgt}XsFE#y`@lhHTjZ79BLk!H-Eo@tbKtoe`Rh(L9Z(+1 z&4xf@OrkBv?%G(9f6)u&G+C>;F&;V<-O)-j3a}R8Sd*5qrqbo+rTw5JcH%gG#0MTBR#u>ie})@$-{`WMj-G!28IUk$r~Tz!xzt^ z{m~8tJ0wJQMZrn_eV*{n<`ZVA5+6VJ1FGc;y7uqD(XkO6I5vn{R*r2Wmgqp$GI8_A zS)`_uxHFvsNs({}CriYh+^ZmxoXBC~!Z`X4?S-n9 zpp;Z7s*0kbV&bDK-&0ynl}*z`)vV(3J71%4R|d_}uuU7?2NEz93zHWoF!S9sgbi!*%__y^Rc2mbF!_sMSaH_~;<~?(7}ig48TQEo&eR5-*%Rj{CRoLD(Xq>R2eb z{OrOiG`Te8sVK&E)3lxqcQrQ<#NUfav0hki?RvQkLpNZ$MqYt|;YKa%dYyj#{Mzs9 zbE~gWu719-ls}u9yZ?S|7aYeyalMF{PbX_B)|Xvq3gEGqp8(gy!>AZYP0lNBsjt^? z@c;`Ao#9K59Na$C($hw##~0ADs~u8ILM^L}Wf@D?7P0+s0(X8&meNy;pXKJVC;x#3 zJ+FPKt|{yJrCef5e_PNO;!ts$YgDTMOM;*Y+`Mo-nf+ts#6~Lj!T+Lh6V7~#IOg`D thYRzPZP|`dDCa6_WdOqRAT%K8{_7wzFfcYCF)}(aIXW>mAS*C4FfiUEqSXKZ00(qQO+^RT z3K$O`4$K-imjD0&32;bRa{vGf5dZ)S5dnW>Uy%R+00d`2O+f$vv5yP716%3Wa8#n5TJ~n@;C8w|(>N+0>y>FZ}r4?>YS6=Y8IXVarmhP#&X1 zlP(pzwfkA@q8+QfLwt640>ix{XrPcK{AWo^GVtQbWoF?$jPu{bATdk~FmCz6_}NN~ z6dgp}KeLZ!qIsl+f`1W1go!YRaz4L%1R@s+6}&MmR)q6WrK7U2h_$u{#P=?S=c;WShMQy38vOBd48H;*X9rE4|} z8j~qS5%Aw?U|9(&)C2`|8tjCWcEScsN!A#Gl7u|eohinRdy{033ixxikftW0A}F9u zVtc^0UTTf-0^C8{DU_AQW6tc{uv2k#m^KCKpn%;07kso6*Yn!mn<#c1@C}iz4>DmK z$BN}7Xbt%NaSj*UL4iIaw*(v>g3KM?=&3~m(L;0*Kk?uuRj}#~_#Nc#AA@mIKr*EA4HFsgUWhbby(ZzTCir}ZlwhB3Sf4$y=Zoh~P8E3?=xzhQ}j zMn?fT>CBh}7z|3Zyi_1ou?Fj`h&#{t#{mfBJ(h%OEXZo0j5`!oSa`ThrHY<4^bd>$dw;4T|LNxsZ+t$tjf<;R?sb{D z*Ez#Ijwxc2Fwy@s+2^=(d78g#f9C2!l>q1XF|jYFZ3BPTl( zB}KXD?&(Eq`zMH^2)A2AMn;-EIVrI^I02Ov#|yJ{+UC;Yf&+=_ctl1jAP5pjB-Be5 z(1XV#Vujw&JimaBPW{C9F8%dwBjjJ_>g(=CD8ftRa#@m8DiNp(fB)h2iVn`V!Z literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-spontaneous.png b/gajim/data/icons/hicolor/16x16/status/mood-spontaneous.png new file mode 100644 index 0000000000000000000000000000000000000000..75be432032a86c86ffe7f80df595d34bdddda9bc GIT binary patch literal 947 zcmV;k15EshP)WdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{pDBOSH(^40(V010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00Rq2 zL_t(|+I3TFNR&|!J>!11xw68~E%u_(;nh~BPhVr~|+3EF?!##_YMYtWGrhm3!5 zV+=aHs41gKek+6yfl)9hF#WQ|pZ@Yvvc@mMt>4K>a}@N6Wp6FGd>^r`M=;>Sw!vs- z^D^d9gY!FY3s_Nsr*l0uI5FFE@g{UXJVl(E=;90p`nz!Qaxdob9A-;CUpbd7zB#NY z;JhsG>SS<4Fh(R-jks`}9=lC^>98l49o@yHCHbri)$sL;Y0O{Bxbo_DA-Zt<5?{V^ zRnN9QX{D3+!U5uF9kyXz0&emX;({Cl+b2J<-8RZMua$Gn^-N}K1)KWr@$n;>9JScT zS)GSFc&t%G-VmoJph8&?0H5iuRwo)!v@;ixQL$)htVLEvh@?+o%xp$rfEs&>mjd67 z2oLFn-ToaQzz~KY#d#zSU~Q5WQBgH8eXT)Z&O$&HApRai>fI3;F;B=}1j70zWQ%ad zr|SWf9uv%vVZjuj7mi*F=bt1b36ez`u~rc?IsNw^03M=~8VR)ZVn{K5glYVfI9-8} z2_QfxToN_6cEDvw_G%H3;d6|mqZK%GiXk_KrZ(q<*3^MFgG|)y{QX0 zS;d`l=)3AWad(DCzdwpFtv1_>s7OtY2ocbD_)S?tgKR_nqZk>s;B`ws4*mI@e*kOx VYqXs`8>;{S002ovPDHLkV1h^mou>c* literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-stressed.png b/gajim/data/icons/hicolor/16x16/status/mood-stressed.png new file mode 100644 index 0000000000000000000000000000000000000000..92b47782aff2b97e406e7f7114538f9867c15d63 GIT binary patch literal 998 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 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-thankful.png b/gajim/data/icons/hicolor/16x16/status/mood-thankful.png new file mode 100644 index 0000000000000000000000000000000000000000..e01ffe614f6215327ca0364948c9c36a32a6d155 GIT binary patch literal 892 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 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-worried.png b/gajim/data/icons/hicolor/16x16/status/mood-worried.png new file mode 100644 index 0000000000000000000000000000000000000000..5499458cc4744cc844e38a4953aa32943d7d9dd8 GIT binary patch literal 992 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 Uc*yVGJ^%m!07*qoM6N<$f?c}cw*UYD literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mrim-chat.png b/gajim/data/icons/hicolor/16x16/status/mrim-chat.png new file mode 100644 index 0000000000000000000000000000000000000000..0daf86b8c9aaf4c695b6efed75aa06f2d91b3139 GIT binary patch literal 931 zcmV;U16=%xP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iOb? z6*UlrBkijI000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}00091Nkl@jG z+SF;XNK&m(RN#Sroldx{!+pWOO6(shV7+S3dQqdz$~`7(vJeG%83S6Kw##Su$wGM- z{oN{Hs|7atNWFEk^7{Q|*ma?tsA;M!lvHUR%ZKqr^qFbO`!kn16Y7vv9^=UWk6RQ*{(&eDnyspU;RWHT9 zTUM8v`AqfVwc*=C(VcfsmOh+TAQX!U1@Z!+oSXoq^2q8$`mN?E^EWP7QMzRQ5+y~Y z&!<;r+LGt;!8<*t(}Tl>!I*LPOqdWc)dC3_BSOSAHZRt?^@YcGG&a*TsI=U4EgGy=BYrb9UXlrCub5j^SyI+ytWa;}qtj&5w?>crIIw4b zd+vBth+>>`O~hG6$|W>PTCT>5GlgtrXYY`TV7O3LJo@lPcX!t}NBZ`Dx-Y#in>QN# z@6K1TMuk=_W_enfl)RWRxyk)*)bu(x(&f_Kem9VYzW`h@8t|;76yg8?002ovPDHLk FV1hAZt3Ut% literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mrim-dnd.png b/gajim/data/icons/hicolor/16x16/status/mrim-dnd.png new file mode 100644 index 0000000000000000000000000000000000000000..656e7ab189cd0189933da974dec3a1274f56d844 GIT binary patch literal 917 zcmV;G18V$Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iOb? z6*UZzBC+HE000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}0008;Nkl+1kuTHz9*(!)d3U29k+Fl>xj1?k7{%*y1 zQKx6Tuhk|ck#QGH7*$c0)ZjiVWX+Q^=A1oVcf=ZH-o%rd9d+E0*h!=I+F`L~)S?<$ zn{0H@G2e@v@Vj?BEhhA~qyt{oYLnZpJ8q|bgLdfEXr+<~cib{d#t*(xRIyf{4zKAk z5bCx_t3EL7kk1Ty&psWtNlA$isfZ<{z3WQ{Jm4`IYjs(ju*yTST1~pw@LWdb7u#DBVAQ zT;`mKB!tSU%I_b&9bFtuUIbK)+R2O!cHGTU>V2Y}d@QPNOaz zHfoX{%@$`G#tUuB#`1GgGkHNiFPOw3e3eu|6@GL@!dWSGYAjV}UDRy- zV5d0~iKOggA`Xj*+`S-qeJD(R@_7(^Fj8OtXYju}UqX+$x^-!>Ud96|!XU5QJe;_? r=4^PbcsKazyHa_isVbGfI+OPoo_8Z)L~!<{00000NkvXXu0mjf=x3+O literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mrim-notinroster.png b/gajim/data/icons/hicolor/16x16/status/mrim-notinroster.png new file mode 100644 index 0000000000000000000000000000000000000000..defe9ba3d08abe2edd51ee7c53bc0dd6b88af0ea GIT binary patch literal 1100 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 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/sms-away.png b/gajim/data/icons/hicolor/16x16/status/sms-away.png new file mode 100644 index 0000000000000000000000000000000000000000..ccb1c4426411524f7b5c3997b822bfe9cbe15952 GIT binary patch literal 609 zcmV-n0-pVeP)X0@N5p8_q@;daNuag;?P(sqc7}wUOx%TFwM=#mvfd?eVdf0(;0pK_DrRJ zv|IwTKVrqw(sKXo?EQIQAQ9kt-oR+N#2334rC{3)Xzlnk9iPpH$AuF|a9#I6QW+rK z-ZUInXgEHt9iP?p2J5wL0*Qd$e|7f)z^ZMt)$~~TQODVpuBAl4H>-j5t3?>8|1QS> zRlAvZL8QA)x@)=zFg|f6re+wKdKk!L2cUg@1b}H80JxqD3Ph#>c=7yY3~c?h@;7c) zo^$~B?opGu4f8_m#cU(Mw3D?tW1EMfwdhQ`8Pzn@^ zl$HV%Q&%qoP%a&3Ur!I!>UWC8LvcVLLgm^O0^i>=IY1;NkPv{bJL z3T;5vH0;I2#ew1B5kf-P}=&-%PR~X93+>^0g%t<0kCbGY_?}zD;9^wv~+60 v_jeP&b2gjh=*VIEa{FWFnM|f0iA??mKd1k@33>L{00000NkvXXu0mjf0sRxe literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/sms-chat.png b/gajim/data/icons/hicolor/16x16/status/sms-chat.png new file mode 100644 index 0000000000000000000000000000000000000000..ccb1c4426411524f7b5c3997b822bfe9cbe15952 GIT binary patch literal 609 zcmV-n0-pVeP)X0@N5p8_q@;daNuag;?P(sqc7}wUOx%TFwM=#mvfd?eVdf0(;0pK_DrRJ zv|IwTKVrqw(sKXo?EQIQAQ9kt-oR+N#2334rC{3)Xzlnk9iPpH$AuF|a9#I6QW+rK z-ZUInXgEHt9iP?p2J5wL0*Qd$e|7f)z^ZMt)$~~TQODVpuBAl4H>-j5t3?>8|1QS> zRlAvZL8QA)x@)=zFg|f6re+wKdKk!L2cUg@1b}H80JxqD3Ph#>c=7yY3~c?h@;7c) zo^$~B?opGu4f8_m#cU(Mw3D?tW1EMfwdhQ`8Pzn@^ zl$HV%Q&%qoP%a&3Ur!I!>UWC8LvcVLLgm^O0^i>=IY1;NkPv{bJL z3T;5vH0;I2#ew1B5kf-P}=&-%PR~X93+>^0g%t<0kCbGY_?}zD;9^wv~+60 v_jeP&b2gjh=*VIEa{FWFnM|f0iA??mKd1k@33>L{00000NkvXXu0mjf0sRxe literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/sms-dnd.png b/gajim/data/icons/hicolor/16x16/status/sms-dnd.png new file mode 100644 index 0000000000000000000000000000000000000000..e398aad30d850441d4a8fa43db42f6ccd1ccc0a2 GIT binary patch literal 637 zcmV-@0)qXCP)b%9A4x<(R5*=|lTT|CK^Vq=v)Sw}+8VJj z%^E@uQb}76y?K&C!K-IM@ZzZ;QamVy+CK-yFCbJuK%w+h^x(yVeg!cUs~#Gbw6>{i z{_JjcW_LWa1go)iE(7z<^Lw6mUPhEkl^MgztoNcQ&wyn+&OsWhJD#`meo);st<2if zrTP5i#5f@SC~LO1zT}sepREC-0|8+ajZRLC^J#Awt)UZ2+TEB|5Od&1%-*_27>0#G zVgU1K69l2c4`SNgnC}grMze!dDKPvm?e75anjH>X5!>~j1U+@CXdvL5=i}|SNmBja z;uCO#3}YM@=OtNmK7E7SCPKf%J{b3o(R z4q8Ju2mp9#85FBka;|Hp^*RVa&UH;8#Q7h!+G-!Lvh?JHvs4Nt71qN?RJOljjEtP< zeW=+q_X~xaCP11bEUvr&4O)XnV+aG#ti}?Izu#IMo%KursTA{%=a6yScUDTGR6_7N zVrP1qOT{AT?k;GJ;kx*ZhC+ysnf&Ga?AX}Vq2j1ZHk-w=EG)~$wrniR;}$}SdZi0!0(*RW)E(3f(Hx!;oajg_KwFmHwE4= Xu?qv?QVzm%00000NkvXXu0mjfQkp26 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/sms-offline.png b/gajim/data/icons/hicolor/16x16/status/sms-offline.png new file mode 100644 index 0000000000000000000000000000000000000000..eadd36dea7307c70d44801ed0ec5e2dc3985ceeb GIT binary patch literal 643 zcmV-}0(||6P)OQ5eU6=e*l$45NVv zPM8f++Z$Oz1zs5R0S1z=oB9GmUqI+fbRPuKjZhI2Z@Ut^(r|i_n1f?Ke4SoL~as$$$mIUkd?xm;FYY#?fzfs)uw=&AGrB z)3@*vptN_y-meyc*pMIyf~x^4wd1~mD?9jK^Z@z%+>49(SUl#NQ@axB*_;f%pp@c! zsf@Lj@ysY%YXT7f78gH+z}16l?A5};bfnj%R;$r$waMjj_}wl`g#y|NV`F3VnmCTb z#>P6UtE3jp&GV^KqLqaae28wquF3CpAXN#7{l)FF2)!l zRxrk}xmmODtfKp0)-`Ay53D5IFmZQ-qnM?+ylw`-xoYd=e%H(7}|qa d%s0la`~j$M4<@e{A)5dI002ovPDHLkV1iM*GN=Fm literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/sms-online.png b/gajim/data/icons/hicolor/16x16/status/sms-online.png new file mode 100644 index 0000000000000000000000000000000000000000..ccb1c4426411524f7b5c3997b822bfe9cbe15952 GIT binary patch literal 609 zcmV-n0-pVeP)X0@N5p8_q@;daNuag;?P(sqc7}wUOx%TFwM=#mvfd?eVdf0(;0pK_DrRJ zv|IwTKVrqw(sKXo?EQIQAQ9kt-oR+N#2334rC{3)Xzlnk9iPpH$AuF|a9#I6QW+rK z-ZUInXgEHt9iP?p2J5wL0*Qd$e|7f)z^ZMt)$~~TQODVpuBAl4H>-j5t3?>8|1QS> zRlAvZL8QA)x@)=zFg|f6re+wKdKk!L2cUg@1b}H80JxqD3Ph#>c=7yY3~c?h@;7c) zo^$~B?opGu4f8_m#cU(Mw3D?tW1EMfwdhQ`8Pzn@^ zl$HV%Q&%qoP%a&3Ur!I!>UWC8LvcVLLgm^O0^i>=IY1;NkPv{bJL z3T;5vH0;I2#ew1B5kf-P}=&-%PR~X93+>^0g%t<0kCbGY_?}zD;9^wv~+60 v_jeP&b2gjh=*VIEa{FWFnM|f0iA??mKd1k@33>L{00000NkvXXu0mjf0sRxe literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/sms-xa.png b/gajim/data/icons/hicolor/16x16/status/sms-xa.png new file mode 100644 index 0000000000000000000000000000000000000000..ccb1c4426411524f7b5c3997b822bfe9cbe15952 GIT binary patch literal 609 zcmV-n0-pVeP)X0@N5p8_q@;daNuag;?P(sqc7}wUOx%TFwM=#mvfd?eVdf0(;0pK_DrRJ zv|IwTKVrqw(sKXo?EQIQAQ9kt-oR+N#2334rC{3)Xzlnk9iPpH$AuF|a9#I6QW+rK z-ZUInXgEHt9iP?p2J5wL0*Qd$e|7f)z^ZMt)$~~TQODVpuBAl4H>-j5t3?>8|1QS> zRlAvZL8QA)x@)=zFg|f6re+wKdKk!L2cUg@1b}H80JxqD3Ph#>c=7yY3~c?h@;7c) zo^$~B?opGu4f8_m#cU(Mw3D?tW1EMfwdhQ`8Pzn@^ zl$HV%Q&%qoP%a&3Ur!I!>UWC8LvcVLLgm^O0^i>=IY1;NkPv{bJL z3T;5vH0;I2#ew1B5kf-P}=&-%PR~X93+>^0g%t<0kCbGY_?}zD;9^wv~+60 v_jeP&b2gjh=*VIEa{FWFnM|f0iA??mKd1k@33>L{00000NkvXXu0mjf0sRxe literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/sun-away.png b/gajim/data/icons/hicolor/16x16/status/sun-away.png new file mode 100644 index 0000000000000000000000000000000000000000..9f9b563d3f3c3eb7b580df9e68c4ad6df764296a GIT binary patch literal 875 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 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/sun-dnd.png b/gajim/data/icons/hicolor/16x16/status/sun-dnd.png new file mode 100644 index 0000000000000000000000000000000000000000..5d5752d18347db065f015bd5337422795b3f9b13 GIT binary patch literal 856 zcmV-e1E>6nP)PbXFR5*=| zQe9{qRTTc_$H}-eyX($&+tjWBAt<3lLSKsDQxQb44+&yH1t~;>4`m_flL%T=1br#} z!62Fkl__ZxDt)+D}+3fFZcjnH$&W!gS-xjGW_`!k0;rrnnj<&S4 z@lQFj5YPF6=QG`OFfLtyI#@K*JL|}}8h@k5_;y6Y=pGO?W;GC~%M1+-< zl?~grCo-9gnWibElyDpezVDNiG7>_#Ns>S*1pqJ%0{~dJ+uf}L!1VO=Lybn`K)c=E z5JG@+j!vfoDdmM`vsv({x-z-v6YMVPutzM}@Aqr;Xp)0|EepWBHR2HpIxomd)t>D z_(-*$qvZDI{!eEQ-FGKF6opEN~yYFj}Ghj8* z2M0dxJ?C&aoC_j?KfG;Wjb+Le%fC1re#Z8URmuT8KQve`Dl9T7{&!zbVx3)bySNe@8d9sOY9i_STC24^0RUvL69JL&Nr(2h+(*tY zPY=Zb==}0=Agi%2Oh}w{2O11dbFy<|+-?`TdwPUd=QH43niM#b_I+`5TWF|GSEv^N zQi^}wo3EJ$1_%3J9#2d(f?>j^^De5U)-FtTEx5M6nhX`V@jjAG+v}y-Ds#@%pwTdM zx9!#S)%9;Co6R<@2~oEz16wm!xFkJfj9F8PJ@>{U*c{tHtb8~KsxE^qIk0Ike9G9~ zKBiQZJ{Cfhcs!o_9c`UW+}ht0ObOJR>$RlxV_L8++a%%=m%uHxR_1= zKt#FbJacq-Sa^M@Qexpmx=f@&7pnk-%(%SkOR855tLgwd6^m30| z)Xb0fuMklm0LZoE*5=nC$AkdU!Qjgp3c7~n9fQ8!H@zzkhoh#orLCL;Kw2qTgg_C1 zoZ%*xjSY-bIOd#p9P^E-sWY2K!&I=#J&|9SpA#SlTopQ%b+mO_d`}}Hj9Ae>XV0Lq z&V$aOMr8k9*}Q_h3%9FpIy;`XlTuMS>^=AOKqr=L4El`y@n?+-lU+|ntn4*oEUTgK zvLIsJvJ_}aNH}VAI=A5Qs7Zeo3GBzr#G=Ic@}$t!T8W`0COI>zVqZKOtg{iCF3k4P zkp~R?Bsey9rTaGwH>2`hyS!C(>(W+1;Z?;S&#wUyVdOu)^H0^+&Q3qpZf*bo002ov JPDHLkV1ik7YPA3W literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/sun-event.png b/gajim/data/icons/hicolor/16x16/status/sun-event.png new file mode 100644 index 0000000000000000000000000000000000000000..3bd582cc8d10221a90e7bea9f5f1f45228eea821 GIT binary patch literal 528 zcmV+r0`L8aP)6LAoLzh8Eai8I58U5nTik(KsIJ&hB;sVCPxB?E7`j&Q4Ka z$#pN>JRXm69G7}MV0v){z!<||aLnn+38IS5iJ~Ye%94Kn3&xmpX=R!;n`^}JH;#@D zu`C-^MMO|lj4>P!`V5C(X*3!$SDgz)gm(KnS(@_x;2n8=mAIP$lwdPes z{9^ZeAc=PrZ054y^Ak9*2t4di;5YhR9q9_QX9#+NT*3H{^p2z;pJ8?cK_ZIE{xBLR4$m70i S`}Yq30000HdJ)^&oApvCh~UAS zH~$66u4!@#g<22<@8+Z@DaM1BNTCLW5Cy3Le}ETDKt&|Qkj-{y=Xuy|Nzw)jeZw%k zVZPt@eczc;BEm_+9^WXJ%dXaX?Y}_V_9~UieMDqrdY&h~?~5^J;_P<2;(4Bk$YBKl znM?-X_YaZpx0}o5Mq9YI;<^~?Kz6ZMJW}@JwX4j}U18X_Sb?$D?zlHNKXnO^cu2hN z=k4FG*m$_b?B%(mO+0sIhSe{#45Gg%6iO)+3Q#zwa<~`XutAIQTO08}n*c3?I2k%; zB*G*>$8jbTObSa`2qp&DHqB;pFO^EQ0IcH>q?B_&kWQ!RbUM1;j~h!853Bh^6u?+;pS2)v%T|LO6w(MOk7c^ z*w847FiNj98jZ*KeEv~3o4qa~Pi=s`fqwa8=g-~d=X&(w$>#2-_SdCat@b@B9|0N& zflx#u;FjyU3jiv4zB86(wY3VKeQ13w)a&)##2=FYbpqDo{@4JH<8*=`SX^Iyuyq_$ eheMt8JO2afK?XvU;zQB^0000igP)%%@dty!XGA2|zVAyEMUrLN&ED_#;`_dc$h86hV+>IgU6DW9tyZgf3q{%8 zZueQ)&1REEqrqiv4uG}xuHWxdE|+h54#SWj2&mWV`7ADF9}Wiqlv26YTH|>h0L884 zGPt$UEX$tGl}hC{!Q;iE0;SX+fa9=OEPlDJ`}4mQToRN@CAQnG4a2aVBZ%V|V+^kA zVvM;WJ06b!j7FpAbUIa%BzdKjS~zD}gZX^kZnauwx7*2ZI8;SDX_}&x`ZSx(zSL^9 zd(ZRUi^x|8APmFro6Y9qdc97^Iy=_0sSB8{F0G@t4pPmH+?% M07*qoM6N<$f<}Sn%m4rY literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/sun-notinroster.png b/gajim/data/icons/hicolor/16x16/status/sun-notinroster.png new file mode 100644 index 0000000000000000000000000000000000000000..55e639f813fff38b729c4e9ebd45d1aef736030e GIT binary patch literal 680 zcmV;Z0$2TsP);8Hv(&|^zv`L!x&3PTX5U>tXA2^(I zhV#HV{0_6$;w<84n*JXKvb&j?n-ZM!$5P6903f1eW6YCWHviW>S@#WQZ%@xB5{Z|Y zOvd$nA8V^?jp|-?MF?>fKo5Xrt@WdBLpD8oOEJdgrIZWCm`jtBlOhq1gRI3-y^ha2 zJ9^;qfC_>D8y`0s)oPUsA@+^Y4DI}8@L6!h(K|~NjKt&=TBKWZw+9xLn!*AICx(^}(U}3HG#nAAea}b8( zss4WDxgI#@V2uCF3|w$<#-Wr%Z|^zyehdd;h~3>UM_TLGVrY2q(_y_HmP)1T>CsW; zIu4|iP`^ScD5VgIC@2+y=X!`nqbL@ORU*2{bJ=_+m(9O2#ynVETWuZI>tKw*aa_2b z2hZ~$g+Os@%e32V)M_;p3WX*SE#|U$>IUgexm*q^mC9WrIzKixj)@x+(N?R8_a9bT z+uNmg>+6MU04xzb2e9-9NL@s7&iM-fcK~PrZ;9yXX+)lC@Gm;^GkpiJqys`APxFWX O0000biC>9sB zv~}sG5qt!ZDn(H6uW%tkHdQKEx@b2=1YZ>eZB{M>iTG$m1jR&6YhE)+rZbuADs@aV zZSU%y!*@P@=fWk%7@W@ZRH&m}**P9*KXLq5_FZR1t4Aw3KY#Y(!i5III}Ja+uZ$f% zaz5!6I>OoSDF|F0ZlMkNQvQ{lqgDxCKK0+|=}BBy%Ri{F`USO`h?*{9HE%48B^HP6 z?1ls{9(jiMc6VK^swt{!8UQZ_ zwec$-ziujsMrhP0xq6!+tx`?L6Y04PyEY5t0Qy=%hG9Hw)d!m1AQT=Q5dD3y=q+^p z0|0oo`zeDIn6i=bbal8<1PgT!SO*55rRHxWLtvYxzDc| zD+3@9xe-uC;0qpt*Q;z#kjbn(DCHNwHEJRkctM5|-nW15-hud*f>Uu;T3${~m}c4f z*ClYAhr-IPTep+Fdo~pSz`#)E;nJtOlcw>90kkd=+vKS1@0{FH004)Ny_ra-XU}O` zHfIY0$tw@tN%o(yvyQ)U@Z{3W^i=5ij>zsyJRd!18lG5f%}_W_=m#*<;Qj)dR;v`o S1UvQs0000L zlUrz1XB36ke{OT;B$JtplbKGUAq|Q5%R^ePEh)7^Kuc?N5L+JA0e});u$yV}4ghfOFRm}#S#;iPXU4md_W>E=M&nOE zC{g{!=y7=oQ`tJITW`CAXW@@qkI+T}`em6MX1Hy)P4jf;ZpAK;~7 zaN7g7JOs82UT`l4uD4fVl3cZkcL9JjetqTE{69_ig|O}wpZC|WP{SM&8d&&82$~M= zc;Jo);rQU5|Fw~d$D-f-cH8Qyy;HoI$|zb@bwpBior%0`59B2h3P1uPP{6c>fK1@- z|KN@X5W&qBHB{te-^{AyaaA!E96JQykaD4o)&zMUAhwwRw3=m6#f){{5 zcloR@Mx3#`&55Yi_)})rBSxyS*B$R0@_K&H1lflVcyZL?)|&#k#cQg>e&NZ83ak9k(&y_TZhfVd%8CUd5_n9`gcgbYz zks&StK)RJIw2=S+SuND4F=N6Tv6S*Tn=Z15`nPQtRIquLU$SOTCKeguA9mq1ll|P~ zYcyhi7i$^qBA=eZr=IEC=$`+wbD29_xMZfGzo+@!I==<%y39JprCOf=00000@VllcSD=ulr;B5V#p&b(304tiH=U&ao`L5( uoFCRJ=^oBx*rnL>r0V1U44r-s1_lp77Us=!&He#3F?hQAxvXtW~ApI)U@cX6TqC<&) zwhqOHdw$&g>9HH%6(_SKj2HX#N2lih>X{gM?(gmGeQZj3_#Fa&z#Ft{Y76JQE!@_5 zWyj*7#$dsNy(>$V+??er_^c%hOS!{&ym4NaOI6kLn%&+yDJ-uI)`VPnu9Ln>Ul9>i z06?KSzFia)feDW6{kx#i1eCe+0pJ@Vs_<3%id=cFleNK`5SLQg4AVe75r>pg0Kii1 zZ=L76Vg4IKbXGa6at+n*{P zv(KIbk|xYp^vTiKs%wf(*&;3ax}!Z3dglr@Ar6(5l`YDjS$Mu_Y}Mz@trt&x<{V6N z_s5XYr|2FjX-VWRYudEwt2sGN$HA#qCM?UFk%u*FzR*?0@l&AM-)It_%@hS@CL<%G z%WF$YO7(R56|z}l=@cVzhLP^8-9k~6huKV~feC)v#w?b-+XulQTs*n^*6sfN4Ez&t z48Ivn^uhF1Ro0~rfXoZ4DOJxYbpYCjaP0ryIbF}*F6xdWlzAWXAODhFhLh|S=>Px# M07*qoM6N<$f^BS}W&i*H literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/sun-xa.png b/gajim/data/icons/hicolor/16x16/status/sun-xa.png new file mode 100644 index 0000000000000000000000000000000000000000..cdbb40c2914460596111f64c9372b8d3f7f79610 GIT binary patch literal 877 zcmV-z1CsoSP)1zhQnb{N>MBpM}M5CF))z`#Nxk&s(jS`Z3_;QKxR zz;PVR&(9+ojUpTlgE0o*_u>0KEX#tTC_fcN+0WJ0)qOWj6Pl($(=@263eWREDMc(6 zgCGd-eZNXT2mz%Of*{0soGL0@IRCeUVW5TFL^F8>)R~NVO;<$9-W#MeC`uZC)%a6X%Ue_wMp86o3%gi7DeAud~n4r|DFHmQ&mJ&x%KqV=O5RwQPm(##Mw3YV3kJ6 z2ry@omStJ{QR6@FO@L19ulT09C15o^STD}**C_cy@^}~G#x%%&mb_3w&8$Yr@!7mu16QF{c4n(Iw zSN^+!MB<_zg&mNZ(Ti2CEo^7+z)q~SBuSmGz8>PSu849mZxc0LsL2tX5zjC?O+1XW^o}TuLiwl?2G<{Q4m3NQ4-CZaY4&`}15Jk}+qV*#! z<$86Y-ul*Z!)++oXwpdX;fn)jkG}WGgByYL)mL601NaA?E0>N=!uERr0000DW`K~y-6bx}=dTvZr7-*@kO^WHRRI$F{+76%lOwot*M6w*Z{ zF1k^S6j%PtNZph!#3D#5N&;PUuZyA(l`cY|pl)qxpdhxOXoaAdK%S+T4vmdTI`iI} zd+%{EPDmR(aJdKW{m%D&=YS+0K4G!(?k2t?EH+L(^!{j{TL56z9Fh9;68aE~^49A| zrMmhXWoSY~w&SmtM^JHVT-)^ufUEtl_P^UPYo12vd@9@A03}%xn$te$ltN#n_#cBc zPs;tF7e&ILJpSj*MlX`+P4U)qfP5CB{2aVHC|#Z+eF;bm#T_y655jcJC#%P-@r&5` z>@DEqupxlfvByH0G^Fb$gGQ9vxRtox6E8FH-W3QtzoP0U>7!g-^#Fp-OIU2Y4GnjL zDGK`hpoGCG9c~zwH^A;(Z_H>PBz_*D^@SIPWzndhmLF=qGGhUJ1LA${rpM{Kk6`Dx zu)F~l*Ec-vbE%CRE`M7=rTqaF3oy2-QlDOyXzhGR|9OM-PU8AT=gnYu4ieV^h5@*A zOkBLT)M$t8MG%c>5xqp*w_7T=KvaS~1aJ3PCi^Y3<{5+Z5Hu(iD=f2`MEf3Cq3;9B z3=p<_W%Uyg%p3JLdnqhUjCvcMKs$O9OyAMr2L8uH3gIR4pNF`8!I<*rp1{h)pl`=x z+D*SA+XbbvTWaHGON_F9ol*3iy5t#B?n;!L6p~=p+zs$NqvC7We3hN#jD%t@84M^E z8g7dWB(Ru8ygm~kw~db%P;RSRX3ZGDeksb=q|zC6!Vx2tAtrv3>bfQ$n)2!2XC>rT z%E1$!ddFI~fZ>ZR04*!^=@P(Y0GOS9Av^rka1G%1jEZYQO(Fb4MCWN;hpzm{6x-|A z_2sp`xw_fuBS)@!C2*VJzZNo4O z=z1B&ViAU6U}$KN5K2!oKM0mKHhy)cQYmb0Z9xzOba!_l+R%VXrGn+MG>Z1#oAiIbv##+ zCAs2yE*#gciUR51Nx}Dmd!j(wWmXZgXUkMmJxsqphKi+v2fiML?6&KM4;4i^6NX{1 zlfv#y%Q-p`iML&gGo6#*gR{BlyX8er0)Fnm3;u#+OPH6B_O=j8$@b5$7I-)f z>W>^Az{*}d+q;lW@eviJW~aPlao_sEeeY6y2p?*G+Hdq6y{XTF>#wL$&fy~GwHF=? kn1x%;k*6Ckq5ZGt546oFwtgE?NB{r;07*qoM6N<$fDlgmoOKp2J3nKVh$c&isg zaqSI_xNzeO_yjHl#g#80K89-%5ky@09IjocX~l{QcM2j{OGBC_ncs!fYbwFBJO9l8 zaR%l9IVB>@nr99H;Og#bf{ET%RI36#27&QT;=WMrc{5%G018>lmD=Sx5`9=ImRNFn ztvHV4wOI!UUnv~TPR>_5cYgt{YZt2^4~EJkwq@D~TcI?9Mx6>Pb5o1we?GzY{jy={ z`{D9vziFCCwZ_x)V>1;lcOw7Pw*-bQJ5JFpnx+W=XarN8*O#G~3SP%G00000NkvXX Hu0mjfoG!vF literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/weather-online.png b/gajim/data/icons/hicolor/16x16/status/weather-online.png new file mode 100644 index 0000000000000000000000000000000000000000..192aa1c88157438f635d4b293f711cab55257bdf GIT binary patch literal 924 zcmV;N17rM&P)mKQW~00tLV1W zE`-#Wu|cztmK2KM(nS#j7lH^Hp$k#LO%Vh^5JZtsY`mnkqA>|6TBuc<5QUJ=n9ktb z|L;34G_mBs3+IJ%&dYO9Rd&j)Oy%zDd+zr;C92BK(zUY_YT70B>+90$C}84wO*C(# zreYeIF6qCtvNfC7URphO5M$detRQ}(fel^;-bJ*aUR(r1X(vy+s4~q)A>r-$BnB{B z2V8PA#Pn_wzx;&(9i8nBd*{!3-MQJ51O?8cch+K%(G>nM`Sqm9b|Na`ej(duGIlCS=w z?gr9ZPfV)UT0>=)rjC$&$lUySj-PI4SuchR4=iysKSI_mc8c?#MCAx7R}sCN(A9I@ z;&qH8ZWM7tN>gs!++^e4amG)dBnSd(wHlw#e9Gg)flGI^mp~VQWuTG({+^lN^V{8f zSyOGKv%TF__gAIloj?C9l}ZI`ExzwFKK2yfUHQT6i#L0%BeQ>RIR>hUH$KXZ+IZ>5a2@mMOALPUt7h%gL^ z;~3{0B7(IRV+^WFu~^&=$n469wQeHed5OPtdQ+*Hid!3z~qN;p*{c60p_@g^8FlfRcq}6J1 z<;%8)5v@&UGqqB=ntip= yv_oOwuX(2a)^ii{Z@>Beqr*V!#S1U}0`L!w3Yo5F@{KS60000zl240LVHm~F^ZMSd-W$ie`RB3#7OqTlX;!^1h8LznZq0p_do^EXz1*9Im%2-(KX zXmsB~A%7;4KAMs7_<^bI-q%a{vxO&>7nSy}S^|JldHEv7d^Z>h&G^3Gl~V3Mf9?Y6 z^*UOu7Q*2$5{U%AtUO;qfEQ^@1Iya8UMv=eR4Omch4)6EoyeWEq%^?HP|AnzE7WQ= z5D|ReM>?Ixo40GQt=-;uq_Fj=+4BcFFQMsvHj}fO%`MdHbp!$dBoYZ|ts#VfQVK!{ zn5KzLI*aah*EUTPv8lNA>hTr4*{wDjdgwVHlX6J_yHgAf-gL z`jH8|PNnkFoM{A~W@nGvVJ8fw6yAT>9DVD#GL@QzZQF2N7aN=J20gbIj5rau-|wUA zc3mkr|FZ=i^Bp0?VK9FN)1oG70{R{ShgkC$K`8b6qX(9?E2p&{|7c;-40g`xE00%B rU4FFor#AqIe{11y*ol4Me~9oMwFB^QDa1_k00000NkvXXu0mjfu9y$I literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/wroop-away.png b/gajim/data/icons/hicolor/16x16/status/wroop-away.png new file mode 100644 index 0000000000000000000000000000000000000000..ab36438126538966cbc73530498645a6fa365dd1 GIT binary patch literal 929 zcmV;S177@zP)ym;_p;?0W?6{GR8uA6AUm>3MzgE4B;*KWIyA{6_A?sj*&@5k)? zy_q)R@BaHv-zNzn*u9C#umlVO{XU;R1W+jC<3I*TMe_&e|cKywCch zZ2)=?b`c63r_0<=BC&Aq`X|?3i$-Eo{{ki^!@XCpzW#GCIDGQXuk(CAHH|DwsHzHp zZQD4G;L^o&yztx^5{dZT8#g|^5RJsvm8Dcd3Je84dhw;P3qMRvOW)r96PKo;8wQ51 z;c}@UE7)zpTyh13;MsE_b8YqSu4~snzNrF(m&dP+W$vxZx29&%G#$6wAUJe@^JfnM z@W;$U5~(d(w&2#(EGLc}k}r>68B3;;gEBCnyWO7Y#T6W6R8^z5$4B2WKejDl+Y)`p z{PgztP*n{Fnd!w9bhq0B^s8R4_jIc*X=_^+vZA3GIzF=#t7Ic28GxOVjnC{vGfKz} zo7G1at+u3jz22Y-P;1njjckSWTm{YOpj>ruXyP~u09mU^wcMs$Z?l#y;c~gCHEIrk zS}Yb9oAqkRZ+g1oe`QIo6zJ~WPiiI)l7tWf2^f0PPx`?Qt)_$D^wO+XOT}U_p#qsg zE|=>&YWjam7?Oj+My}5I=m4dv1AwPP=9if@gruP927O0OQOM;3qRx5PwGbq*D{4~A6wpBwQcq-7t^CMk5cW(c9vr;L4r7R|v_~OgY z=XFIH?H@XPu-??we8onf^3bx`%r|fx2U&sO@oq-Xdg>dQ_k^?a$2Sx*0MS=NV-jp=bYYnnC$&}=r-|CjSWcHwnRxNw#l)Kzx2Q8369d>8vxAuj=Y}rCNQ6P5K$nhzOMt@q`btaR zEARb1m>7ujyMMpKm+vPDAvm1Tv6KYFfi7Kd?gJY0twe>&I z|IxYB`Bxi*fq?2$Jwia;w%zhxrSe^R;)l80bMH@%r|$tAqg_mCAxxrVMUtGF#`SRyOljG_8^3rlfN^~baIeq%&pQDg~3ot5k#xGp^P%wTw9Lzr2lOSx8Qa zs+mVoeOOl21yD@WT->i6ly$wirL^^c()J9s))uz%GbkQ`K;XC@nvM-%7G}Y5Xx3ZU zuN{<4)66KqYN256M53|gopn{xRGa$V8i}W0$FU6nWHrpa>@_si0aPNbsNU zY4gaHPoC`iAejvGsI?o9`m8lclS=^9oF**a31MqPg-oWhw6HM$;gKsJmMI(#zZdI@ zpL!(X>S5i`0gPg}xU=OcuI5&LHw@$BhsyLYomExs2C!{=<^Od48$IuRQuokO1ONa4 M07*qoM6N<$f@UedCjbBd literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/wroop-closed.png b/gajim/data/icons/hicolor/16x16/status/wroop-closed.png new file mode 100644 index 0000000000000000000000000000000000000000..2cded1ea86aa1239853fa3166bd7aa1acc6ba12a GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^JV4CO!3HF4Hmy+sQjEnx?oJHr&dIz4aySb-B8wRq zxP?KOkzv*x36Sy^)r^LnJOwonXkvV8Fq&@c*UbuMgkqT&Q;Jo0_u?TSwE(x3f~! zN;g;caWFLOj=yxM!Q~=X*19#V>IRB3Hx05Ui(F)%JNFfcYqFDn250019!MObuGZ*_8GWdLY&bZ|N^FJo_V zZe?s~b#pFfX>D*WV|phZT9g0)14&6lK~y-6U6V~{TvY&tzkBbS_vSB|nGVw?X~@{b zM$r&$BsPdYNQ)&cDuDIAE_<&&$Yid+1t@VM=H$eAFnnif4;ITwfoeq zsqwM`=uIB^aHzlMjrZR=6cGZ7l_pY3RySOh)@#_7;IYmGeqiX^+pauc#20TD2TC{2 zf1~ysp2)@`kyD?KjYOrA#2kxsi$lZnSu54iet;8F#3L51kr3K9Jl@l;W@c}8TAj~b zlv3KqkG`_sF;e1K5`bK>#!8`v6d;7)iEM&hi7+6rq@Y^&7#SW6E2WNE%95jl{aK~` zfNEW{Qmj#}YZ^L02L>etv9Lu$2S@=1P)gF*(}Dc3wIuI6stCzG&= zITnxXZlNu?UA~#G;s*gpJSmkbZItVz;x>_xVxT)oGHz3GJpyCs-Wewqx9QI&8R$-u zE7k}pL4Ko(kYZIDBc`w3_{aExAy;%U2CA;6T+^&?*7@~%fyLD_TQv`3pkqgbwq%&u z`4w&a;EeQi^UKrcF1y{kV$9#(#PxjEHeAZCN7>a}S}1Vlw;UJ#SO*~LSahYsoSmL) zN>86uTeqfH?5-D{)dAV(_dTRa)h06w1>9ypUHjCV0fB*1)#K6KEo2f7pM8D7UCoz1 zUYa^FDF7ZG9&Zh-$lS{Z2D)B*X`lUPZVMp^@knEzqg9*KUNNyT3r86FJx^|Xm}B7*h<@*7oV=U4RP^jx#i@IF~O_wENE%mXxT zD|_UlXOvRMFy^4~gEUfjLW!$d literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/wroop-dnd.png b/gajim/data/icons/hicolor/16x16/status/wroop-dnd.png new file mode 100644 index 0000000000000000000000000000000000000000..93f03b92f86301b0f282658d510348001968f90e GIT binary patch literal 941 zcmV;e15*5nP)GK~y-6b(2j@n{@!jfA42Ix^``0IGn7`j6(U^hoFaH!eUIo z$hK%j4tkmzy?HY6;=zlFH!p5cXEY{SYFW%ooVTHoWd@L8`4}Ig?bwphLOiYuYxdR$(Mat6e*nWH;WO{N{qC1t9i30*H`A<6 zO|iLt7l4N5BOL4L!Q0SCe12~2(&rc7j7DPD{{;+>gb!c1@YeY8Q2VjTYd6c%jcko4K7Z+A9U;d&$8j0Ok7H-c;p|;Sc1JA$EKQT5Y{rdfP=$eMp z>13ZnM^_bOBx;t$^5i5!z^T)H-n;ki)nB~y*;N&2Jv(%6Ff~6X-;9p3PuFlc92`B_ zO6bf<02Z&$keFUXR4Uwzj`DagD4!iVH@J9vu~i0wb*koGy)l7eSvX~dra%+TZ2^R7 zBTSp-wg63mCY-W@Vp*)-n4nJ8+(3)!@pw9fY3jK|0$q}DY8r08kIH5NsrJv(m23gG z--lDvuq27>S^{C3y2s<`Q~@gGa;=bBXFHL^rD{~OMYb&y$r1>lxRJ&xKEy5*DBf8^ z(;QUFgLT`hY3{`&M*maY604F~HA%QQUQLw0(Gs%_(~uV=@u z77fFgQ-S5QVQd}>2L0>0E@`Go`A(AVH(tlg<^jK zXZuzrlL?*beI{5-r=2^g6e5$MF!d)cw;MZ`ClS5E&VvUCpt-M)BSSA0uKoVo)lzBu zTV;N3fv>;$YL@-`pKA#``IuZTtMe{R0;|Hx&N>U010PF(?&;kLW_V;Jv56cVj_+KCGx$_a@o6Y(F@_v6Vttz?Ym8C!O`TQr3l<84A>$=_sV4CLA|LOcUL3xHrD!a0T P00000NkvXXu0mjfdYiq- literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/wroop-error.png b/gajim/data/icons/hicolor/16x16/status/wroop-error.png new file mode 100644 index 0000000000000000000000000000000000000000..a28a58d89087ee5c60e70a7a0b49c37cf2203ba4 GIT binary patch literal 466 zcmV;@0WJQCP)SG*jZapKxJY=LoiysCvPa+C6ARQBzxNXpL5ULxf7Xb78Ns9 zMOEMD!a+Q_C;TTIJ_Wu^zs<>#ib}@~+F*xNL&I@{b5#`&=OZ>&v8!q=E%7Pxw zN9=8berA&#B;5seA$T6F$;<_IlWuY_?w^T|G{;Uu7aJm?;>W+Ij=%=K&au<3iOF3U zMs#Z4HGFPQA=xbX@G7&q*I=wq5zpENuQN~X;-(rrR5NemH9!P-g#>Feg#Z8m07*qo IM6N<$f6LAoLzh8Eai8I58U5nTik(KsIJ&hB;sVCPxB?E7`j&Q4Ka z$#pN>JRXm69G7}MV0v){z!<||aLnn+38IS5iJ~Ye%94Kn3&xmpX=R!;n`^}JH;#@D zu`C-^MMO|lj4>P!`V5C(X*3!$SDgz)gm(KnS(@_x;2n8=mAIP$lwdPes z{9^ZeAc=PrZ054y^Ak9*2t4di;5YhR9q9_QX9#+NT*3H{^p2z;pJ8?cK_ZIE{xBLR4$m70i S`}Yq30000CP z21?RoB4IP0d*Ts^7-C|KAB$P`FZdBRQ@YNCWVl7Q5u+w#f-<2L+L8@N$67{-zVzem zYy0y=$rk5xcIU}`9o?6ZQu6Q(4h;xkFVJMQT0H>SY&Hx;fTe&x_((xK3>X|5aJgKr zcVFr2?{(F?s<*Usg_KZXw`uX!cxvLx<*V^{{KJ4h82=AoaA=_C*h|Mh@p{|ZFO2yu z0Ct-VfIrh|kdoJjP8p%l-0XMPz8wkpgOl5U!Jz?HPtOaNviZNd7eXP$=j*4dy#tHI z1b|@_n3?^R@$t)eyxyX<#QgK* zb~iG!`VH5XKV?l@W=)GRmzbnjEa0wf!&zO;mlwXW^d3K9TL>>)SAb^KT2d*5!odTb zWbzu*@d@@gJe>57aMC-%9*2kN_yn1}#=!%f2%(@_ODcgTMOD?7#aPs_+vP$^NhtXP z5=nQx4|}N-d#RJ|dLNR1eo|6fyNktG)S;?ss~KQ(BPH`j0Yx!m6m+tN1_F>02_PVo z|ATxXi=vpwq%&-8rX+x(>-u7C&5j4ry9CWLL?faq286$bv6b}*O-1>GQVTG0do z#8R==w2=~iL02ZG3**LRjnT%RU~G58bh`1Q*lJ`cX{NCYghFjId<;gIfuVrRIKB6{ zz}gz?S)I*!a=so>Ri2Kq@lgRffezpIUjo?M+nWOxfcZ>1`>z6d8Zb6KnoK5>ADtR` z`^{u)GT~UKK^21V(RN{_u<`BWH{TTsg^QVVw(uXo*!bw+i8qEn?d^T-<*%-P?X0gA zB^LDo*!^RVrlv-H=hW#()6+lQ`TmESA7;|oseb@tc@98>1@Hy-kp(_=9W(eh6aWwu3qy#xNw1v z_I9i_Xc&Sj)^T_)*-B4$H(y-7Vunu)9a_vU9k_hu%Si)t_Vx7-Ok}S{&z(I(A`u5w z#MH1}1?yE1Qv+2Ji8$xZo?#-JjrR5R4*;D8I2vn+9xQKd%kg6=P{4$U1gHwCf=B=+ z1cl?rQk2Wv5^IPa1Uekg^SX+grH16;7F3l`6-3ccP-FI29SVw~su-ZTxtZc-sloHS z7Y)GH)@E4wvxYGafs(ySu~I!_5%DRIAmyb&*IZpI<~oa2yvA z!I}uJ>*G3gSQA0S;8+(C!~F+&>iuZ3TCL7Gz{2mpm9|9W$#>yUtyVB*|BPW6;Mh6< z<`;g&^^BG`c1plK1I*vb-Cla3tv!4Uu+|W9eT-O)SR$^EwT4=)#>LM*ruX%p)tQ-@ zX<*)D(pfE)%J;guI-j%v`(s!KYaK*{{Nf_#-+zz8ZSkG$wY{00o$X7RbXFaJIzQT7 zAB)PZT#l8MRURzgXQN!At@U}TwFqVcB2#sl#d-`4EzA!9^iHeNJUue7$lcBfLQeEv+Co~5(3wi6%-f`$Ln`7eq{ VNQg643!4A{002ovPDHLkV1lEPsUQFV literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/wroop-notinroster.png b/gajim/data/icons/hicolor/16x16/status/wroop-notinroster.png new file mode 100644 index 0000000000000000000000000000000000000000..c346512a1031a24c73161aa1f234f104a2f8ac7e GIT binary patch literal 924 zcmV;N17rM&P)DkG}2g zjl8n6v%}KT5{X0tfM_(z`Sa&#X=!17eeL(zZ?0Zmm|wgFfH8)#iILXWax9rnZ=30< zDdYG1jS#{JDUVhNO$;nEE)s+>>wvVB+XX`WRbmP_8nd=e=U%YT>cr_lES7v5FYx<>R zP%12~v9xATD*B}at+_HY!)iP(FJ8Db41^`nscl^wyRnSxx@2sdtk#_Ks*HGs5zlbW ztCH24jBVq(F0mWSXj|6;9ab@Aneb}E&^vNTdD?n+6kkX$|}fHBMkYPjq3VR;^& zkfc&6%H^^h3K(Tb_c~uYfUv8-ss!}<6lMpC%6vwMpsS1Ht^(dAOJpe18&#$|# zyWiA&qVWk}pyCp#xLgZ`0EiTeWUHDxmIfhcYCeJMy8HQjeoX>fd%66ha96u=9EUbz zXz>iU>*~1KaGaYB$GKfsM~i1@GX}?T2zRxcyCSvM=Nx4I zBI_LEK}`+HvXDx#W7`}Gi86+s{?iP-cjlj4zpPv@6dwPe*4H-p?)$m8WBUhRjkGoI z9(dLt`;U=Qp|wUS1;BxA)85y|+rw`aA7*y%C6ikpFU&9IpQ&;*+V@%WOQD{7zb2Z} zf9{H6u?T?UIGlXB(Y*dfH2ZKnw~HIJCdSd}TKX1DL0000u;HG1=8;>Cj(6K`JJqRwc%K<%j6ft$``WJFfxHrkH1h;vXGl(zKGk z&x479IDhxwcltiTwr%!ra%w^VbU^d@T897%h5Ry*0+ONW@PUJ{A22yJ(LQ{1_>(s# z-h53}Rn_H^Mcam2t=2FM!}vZt^TX{sw?7O`hco{HOioR_^6oqDeKjx;?9A?LvlNZ8 zzWxA!!-tPBGBQG2+Y`j&v9(KITzo4u9lrK2U~+1r{lbN}e-8HdchAkuab@-jqA22& zod8%hi$2O9$ti*)A-oDRHoqF|TWOi1V3C*A=3aYB2 zDhe)HMv@%V>vf{hD7I}gIy&02v9aO5c|@6Kykb2=xRsr?VwSIMjiCt z4m!HpQQU42VDaW6vP<>=n#1e$4p>%A&TM3G$u1OC!QbYmTr>~_5rA^hz~AOaQUAm= zt8A=iu&kQw^?HL20JCZ~Ha8!#wY5dFr}QClY*vq+J$^^2S`f;!Tww} zo9%o4*ho*QSaIiaIm|ti`+q#Z>+xWkCfDb0kk93@ZJVRR!yG^HQt_uBuU$2a%6C#c zmf)LjzrN#gDlconBTqi6+Kx)4j3i0y7I(?zay0671VKR8dwKE1v(?P~?O)UB)cc|7 zaOr@`gM&jKwLcT+UrqlO$UiI#_4*?KB*{VRA&=dyb!9WZXA{fIcRxO$^8T1wT3SBn z(exKopVNoa^8MqovtSggLMom7Wp{V?)5pg2xSVBK?ggmTYRUi0`EPP2f3`K$?hpU~ N002ovPDHLkV1jmo%CrCg literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/wroop-online.png b/gajim/data/icons/hicolor/16x16/status/wroop-online.png new file mode 100644 index 0000000000000000000000000000000000000000..d868f9a2e450ce115dbbaa5bc57b5f948e321e0d GIT binary patch literal 937 zcmV;a16KTrP)#z2|>M?qnS8vG$A2#OtzM>EMQAvz=3{npy#wb{dr+x zAkO#xeJQ%uLVb{sWkp93Q@R_4;QcBO`;hQ&7_Df5@ERwTT7l_$@akWu8JH?B0Trk{qs{^qMW<{>93UGL9^LJom~C-%Lq+m=q_T@@I1&m0J*uW@3BRERc1sz2hKv^Q5e`SN-4ZDOEN#0b z!r=(ofe*)%*(qiiXjcQ8ruC`-Wykic;~WQWhCo=u@s21sRgggdg|bDt=HSXUma~Ch z)hIi*2cWvHyPCI(`R1lqqU&~njJ-_MZDDzT8A%ZcA)qeP5gcUGUcr^BG)G#UMWF_Vd6qcJ)0VY2H8VY1 zI(6lEyzQfofk>CvwR+ZR*wX8o4S?(h(U003Wh1ekS;=o~Z*P5m>dGf&(slh-tTi?m zjH(TRwrU9Ac*|F^_i9HwyF1H{<9zW_nO>%|q9_*uJkMMEKb`*uE0uijwdvb;00000 LNkvXXu0mjf@(sGP literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/wroop-opened.png b/gajim/data/icons/hicolor/16x16/status/wroop-opened.png new file mode 100644 index 0000000000000000000000000000000000000000..6fb9170041d378f8e67c5cc708de115da08cc1f6 GIT binary patch literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^JV4CO!3HF4Hmy+sQjEnx?oJHr&dIz4aySb-B8wRq zxP?KOkzv*x36SyS|xv6<249-QVi6yBi3gww4 z84B*6z5(HleBwYwmYyz-ArhC9QyiGLZQJ($;!!?%yE7cg#zH|o>pD9dg%Yx}f6KF7 sxM^T&k!w-%LLjVg(%d5+SsIKCQ5%(${4PG74K#$o)78&qol`;+0Q!A7o&W#< literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/wroop-requested.png b/gajim/data/icons/hicolor/16x16/status/wroop-requested.png new file mode 100644 index 0000000000000000000000000000000000000000..ab36438126538966cbc73530498645a6fa365dd1 GIT binary patch literal 929 zcmV;S177@zP)ym;_p;?0W?6{GR8uA6AUm>3MzgE4B;*KWIyA{6_A?sj*&@5k)? zy_q)R@BaHv-zNzn*u9C#umlVO{XU;R1W+jC<3I*TMe_&e|cKywCch zZ2)=?b`c63r_0<=BC&Aq`X|?3i$-Eo{{ki^!@XCpzW#GCIDGQXuk(CAHH|DwsHzHp zZQD4G;L^o&yztx^5{dZT8#g|^5RJsvm8Dcd3Je84dhw;P3qMRvOW)r96PKo;8wQ51 z;c}@UE7)zpTyh13;MsE_b8YqSu4~snzNrF(m&dP+W$vxZx29&%G#$6wAUJe@^JfnM z@W;$U5~(d(w&2#(EGLc}k}r>68B3;;gEBCnyWO7Y#T6W6R8^z5$4B2WKejDl+Y)`p z{PgztP*n{Fnd!w9bhq0B^s8R4_jIc*X=_^+vZA3GIzF=#t7Ic28GxOVjnC{vGfKz} zo7G1at+u3jz22Y-P;1njjckSWTm{YOpj>ruXyP~u09mU^wcMs$Z?l#y;c~gCHEIrk zS}Yb9oAqkRZ+g1oe`QIo6zJ~WPiiI)l7tWf2^f0PPx`?Qt)_$D^wO+XOT}U_p#qsg zE|=>&YWjam7?Oj+My}5I=m4dv1AwPP=9if@gruP927O0OQOM;3qRx5PwGbq*D{4~A6wpBwQcq-7t^CMk5cW(c9vr;L4r7R|v_~OgY z=XFIH?H@XPu-??we8onf^3bx`%r|fx2U&sO@oq-Xdg>dQ_k^?a$2Sx*0MS=NV-jp=bYYnnC$&}=r-|CjSWcHwym;_p;?0W?6{GR8uA6AUm>3MzgE4B;*KWIyA{6_A?sj*&@5k)? zy_q)R@BaHv-zNzn*u9C#umlVO{XU;R1W+jC<3I*TMe_&e|cKywCch zZ2)=?b`c63r_0<=BC&Aq`X|?3i$-Eo{{ki^!@XCpzW#GCIDGQXuk(CAHH|DwsHzHp zZQD4G;L^o&yztx^5{dZT8#g|^5RJsvm8Dcd3Je84dhw;P3qMRvOW)r96PKo;8wQ51 z;c}@UE7)zpTyh13;MsE_b8YqSu4~snzNrF(m&dP+W$vxZx29&%G#$6wAUJe@^JfnM z@W;$U5~(d(w&2#(EGLc}k}r>68B3;;gEBCnyWO7Y#T6W6R8^z5$4B2WKejDl+Y)`p z{PgztP*n{Fnd!w9bhq0B^s8R4_jIc*X=_^+vZA3GIzF=#t7Ic28GxOVjnC{vGfKz} zo7G1at+u3jz22Y-P;1njjckSWTm{YOpj>ruXyP~u09mU^wcMs$Z?l#y;c~gCHEIrk zS}Yb9oAqkRZ+g1oe`QIo6zJ~WPiiI)l7tWf2^f0PPx`?Qt)_$D^wO+XOT}U_p#qsg zE|=>&YWjam7?Oj+My}5I=m4dv1AwPP=9if@gruP927O0OQOM;3qRx5PwGbq*D{4~A6wpBwQcq-7t^CMk5cW(c9vr;L4r7R|v_~OgY z=XFIH?H@XPu-??we8onf^3bx`%r|fx2U&sO@oq-Xdg>dQ_k^?a$2Sx*0MS=NV-jp=bYYnnC$&}=r-|CjSWcHwlC^POH~33O*Ydf~|M@@v^PF>R z!H2<-BgVRa__qq%xLcTFo0hs#DityfBPmQVBBeefa_VH?EzaLLazrggC03fd{>vSA zTBiAAbtGK<*-teGo9ZJ*Wmyp0wwRo9NhCA$T)w8>db=-uWjH=0rMkcWFNa?I=mNfR z(rk1ucdjZ8erxB~wgxw?uOjOzdWKVcZo_ICqa~yqkJyAmY$A)3lk~nn!k=F{pN@@A zKG*B7-^=gsmMaplYwxbrVY6gUCgaqOW=nR2LZRsThAPWv83cS502=6zO%V!Ml=y8z zWfk~qHqkwlrMf&o*l%+B?3tDwf(|{3rh;vxN##wz?FdkOv{&d zAX-HzU=y3jl9+NSFZK}*+Ki`Ma#FFWrJLSHVOy&6e$1CvZO2ZIr2OgMLz|r;YnD3HJPu6)Ix; zm+Da()b#GqI{&_DngojM;spih={GN4ytr%!M#th*MygO6D#AVjJ`+97m48li16kL@ z$$H5p1+=uZEXx4|ghHiwQlT{rCo&8tGQ^WEr9pd^4%S{z*URORFJC=0m8yJyjeQHSunwy&! zEc*JY06e8Y>iqY@L}`sHHRs-r(Xuv7z-P`n@b7mnP3fHc-Aru3!K1Za_V~cH>1Ip@Zz~Q zr-nx+JNr+!y)~}@(=zzsq$A0SQj*1u2my7K#YD?&PQUy{ z=3iX{FZKSZwGF;^qxhK*et+QA?(VMJnwxK0_J#D`d+$03_nw!?>7L!r>Of%y(CnM@{s*?zR+@dd(NAPpq0m+u4o kEb({ke*gvK00)r&1?8_8{;Kwb;{X5v07*qoM6N<$f*zYci2wiq literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/categories/gajim-agent-conference.png b/gajim/data/icons/hicolor/32x32/categories/gajim-agent-conference.png new file mode 100644 index 0000000000000000000000000000000000000000..60d83ee5c17a737e0c03680fdf0fe52d57676757 GIT binary patch literal 994 zcmV<810DQ{P)MHR~-J{n>R@ss*{++ zG|=W|=^jLcUY0$z!uB8q_fQZDiwBR=V^C8n>mgbSiuC45kscP7RM5*xMf9jAS(K70 z7=(y_s#scrZ)V=>p))D5rF~eh4MNi*`tZL^uK_Cnvw4l)f|!qv0KyrirPkskQ`mbaY^Fa1i-?{+__50vKbz zjE#+DGMS9;L_1Lsgb=v8y2A4EGDb&71J^kMIOn-^I*r@gTgSNo8d^KteJ=`-rL%V+~aPMULrq_ctO1b_T+Yq)hxL;PbdL?${*r#zlyXJ5Olu7 zi18!zyM%lN1c?X|<2NrFjiRfo3wL*SP!y%^=DK$gxf3-rqn|mOK}rc#RdINDC|6ci zNF)+@(Xs-~cKJ3wh{a+6{wx2<$w^%Z@%{Al^p7nC1QE391KHWxX&+Odgwv5mC*ZDDgg+eFyS&Nu96bc_xN>8KFC^t>> z=l%WtAJ*2^bXTQ_6?S6j5g`$R)QtvXQA(c>LSE^*{#~h5I%_A6S}U0F@{ts1&-su^E@b} zP!t8CD7ucJ>*vPW z+8WBr%2DJks!~<8IvftqaR4BCgrV;4Udb>F%+Adq7F*eK@STXoRxmp^1Ix0|)pcDI zJ;D&M{?ZNH>^Gl1eJ&@He^Ppsq_=Bu=$`fZ)mudX0LGZi^8)7Qf55V=%+=az)428T z)>jY&R904kF(v~WZh_-CuBUe|OiWB55C~v=d^}_Qem};>#^Cq+vA)<%w`Y@p?OwIR z#8tp?k~0JQEjouLfKqy(!0qkrSXfvBMty{Ah1T?7h zmsz^KzAxYawaq4nMk=Uk=ZL-S6G{eD-L9M;7!G*p6Cqo~?K;MIczym@+> zAO)VbwqGwbEv0}KR^XLqCcD5x>$tkK#?_l^RQi3Us>53fNDcu(3&+5b!W z(b>vLBLwuGX{#7<|vsS?>&;!cAXta6f^UGJ3PdzxaY`L8R3e5k%nAOIJF9*goHbBZD0koVH@isS-twg~cW7!urJ+ zH)<0YTKW0oPv)B&2No7@%!rt-FQvUORTo9Im9N%rTsj}))&&>?s=#F24g)2M1^#`p z0Sl}H%fK&jd)EV+z#ZUspbqrM1oql2unDZjcul|wEh+kdfw=YA+ugTKfsocF@5OES Y4}~4&IUUPDaR2}S07*qoM6N<$g4S;A^Z)<= literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/categories/gajim-agent-gadu-gadu.png b/gajim/data/icons/hicolor/32x32/categories/gajim-agent-gadu-gadu.png new file mode 100644 index 0000000000000000000000000000000000000000..f8b342998e75c4a35ca7c626ec6cd730723afd76 GIT binary patch literal 1751 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 LNkvXXu0mjfvQp#? literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/categories/gajim-agent-icq.png b/gajim/data/icons/hicolor/32x32/categories/gajim-agent-icq.png new file mode 100644 index 0000000000000000000000000000000000000000..1023343a28070bf30d748f3a9a5d20bcc8842807 GIT binary patch literal 2272 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 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/categories/gajim-agent-jud.png b/gajim/data/icons/hicolor/32x32/categories/gajim-agent-jud.png new file mode 100644 index 0000000000000000000000000000000000000000..f4b47676b45b1f2003d83873c1eafff5ab100098 GIT binary patch literal 1192 zcmV;Z1XufsP)3@RT#&A=bU?{FFMm1 zrsYvk#9%BE1%uQGSiwh(ni!2F5@U=TWn)~pGA3p=#)UDsATD&l!p8y=O%#I=6dw%_ zYp_MzrUlxjP#!I17?^42anCs}TA{*WO zL&v`YDsBj{=8awTBMM`$5jY3SZ(qdVz!1*CrVVT8J2}Xn?|-5FXeUb+*VFM=FG@ICTJ8_b z&vXjf&{3y7g|X%FRrjpmyFIN$>uPCSlw|9c%}4~sI*hS+o@Bga$c&X{oP46*Kt#kn zCCg?2porkt zLe7im;5lHd!|6)4zOb1^4RLyVPSW~o8^_waaV4KE&u%0Zoi}Z@4{dw%xwnorOn(vz zM3qt!V}hj=ealF;$nravva)Fzo)S0<1>ca(`}o)I+YA%{aKcq+Pcaq(022e5&HH5Y z{(nvurr;J>wCAbN4$MY3`iY0!2b`*{j?fU-L_CRB@}}+s;JB14AcWwz9ozH2fAUh* zv;fvxwfm<|tnrzf9zaBUENx6OczUGr`nAv-(fU>Oy!yyOakV;8$Midv+CnL30a|@u<@YI}FEmZD;R7y+y-9NMqS|J2; z`82OcAcQCYQ9w_nnJRta=bi6-XiVb=Umkt{CxSMerKDiIaOwOkBOe$8E&~~uFj?4~OQ4d8JN#S?f?=ZK@yYisUDZD_!LIA0-0|0vZqphti;Ow+MPbLzrQYw9=Mfr-R ziIipAz42)BlkV>BCjcm=P)gB$?riAC!2uQr@_I5KlHHBfA>xw$mr50cK}s z2}i<|mXuIeTSsY0DV>)u5sxSM$+>}f!XLRk>Lo%UN64gz6?}e_khsw`zt6c zEFv--W@ct)`4R{rQc5X(VqzTs9zTv#uq1IlQu0a(j_oi$@r*zqfDj@jgfNv-uDJoA(Fqop|fbx5aYx`oH4$`xzLxuPn>H4HO9>X3`n(JQ)1t)AOPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iOM% z7AFtomT2|>00vx1L_t(o!?l-7Y+P3v$A9O(#-7O}6W1{@2@!EA5x5abTGB>UU|OLr zKng5a0ULvW6|6u=2(e%RQVgEkp!|0@x2m4C&Pry`#zB$Qk}&NcvKW-L`uIa#sLj#hnu!mR6Q%pK6nlk=cw~ zatbLhVz6Qnk!o3?l#=wtl+h1H*tL5D*%g55DoNT2CqH+R&e;w_88WZ~26n(uh7`6y zi>8zk5kZL}umK?rQA{|A|kM0tU)#ez6osJ31SMsSo!1MdYp7NWz%l5QEo8E2T*v$uLG|F z*T>%G|1JVYfMp=?@|0tO68I1Bb>P}GhzS7IRgxS?IQz_5>|x6_dyPxx5@u*%2Y3$n zIWWABTh9XLfb&2Llz0#ZxC&eV@(M&yzq|a|WmtqwyXlng7+43s2>fVTc`zRkE`_Ki zH7zCeU_TGM0wE!4Z14i`;c2|l*!s?i4s++`xM6RwQEoWP{|S7prZ|9o=l9Y6KpQo$ z&{k8F1=?!#WsUi%L7o?|9>}*L_)I{!9Fj}!p6gNIcTT6Qike_wT3KQ!LwdI7-h3PQ zZlydt60&$l%W}tmMNw*ghxUepK6eNJgLkxpf75oVN|hTfhTJWjNiU} zs?801gI?K#9QX~e;SU{;IC|kIDp72kZThBDH0YoYyAt5{$B7Ya+cgB=gOY-M( z%(I60gE55^PT<4dKe|dHfX?X-85sjRATt?g;8)cnEqq}Cl_<8%7X7RbBTw-aCx}Hb zks%C1LPFw|7$WC@>Q9Q|g@T#)&s5^@fCb*-00aOt56+NFPG&QA>9y*O zTJLF*+nm1cJF9;IJnNLpswi0%MGtre)XNHG6{VC;PKnDOfLs;=f{KMh6Tb#JOwubB z=vVZ|Ct|WP!)oiO|K*+4Zv0!mFEnWqOYG#>8cThMiL1obsRL-bs%EWq2L^t#6JW$p z*un|BGMz+jFTb{LnYlhgGiXj{NkFAOJ&&IttN}1(Rn?}1`pPCE?qYoZ`rdA|X$37B zG^PMhLLfoKh|~b+k#MBuz;-Qs?(4r|!fiVUIRL2=rCM9{1 zJLTdk;{-suo_e2)+<%YPP_GskYa9Rtycg7`6~TePDefw19cyv&%O?pR4!N1$q&Mo3 z>eNNbQv%DNAJLU#3b0nI1=&9`T936H0}6P%uWBjCs$iZr$ehpdK=?>V^W9CFTTN!0 zvn0)gK{;T1uuU)RIeKFs0S|hEq^8`sLN#Gv^x}xpmIM+wOB=uwV+ugNBaktPZDR~O zdWWsn7MpCczO&BS_8Prm&k6q-E@6qkQ@0%8dABdCq5@eJrPnq2zjMS2v5FlF=Ya$M z!n&{H{R)KDmMqU0W<#>vr*G@B8-E0T=)<|*F#)^;{QkC%NOhIOPsSvlOfc3^lm%kM zWyEiI%J8&40i5y?F}5o6Z~AB8WhPHW2pskc;0@oD)RNZ(00D$w4Ut9H*^0;{EvxS- zWP6wH`GBXo+$A9#1-AVDJ?4d}mW-pom%M9wr%@=9VS@Zx(5o6r?>$FErz6bMX5z$L z+`SpSYg5V@;1e|(#g)}Y&>$f}y{@p=EatMAG#Sx+gql$VZwuII?zl=g_WHj8KfXJF z=yrNkR|y9ASjB`WAu}17WF*HD;$t!KW3j7l7DNQCHKW{@^SaaJ_fFl>Zbe0Pm2eaI zNL4n+LJJDl*+^|ZxIN6q0R9U6_J5oWC#m)n@Kg%qbwYA3yS^Yo8^SzGd0RIKyE2~8`rJINV0000c*_pWyK6uyNUB~UV3W6&g-Fwg6d;Y&UbLU*( zf82ymv#Fuu@K(i8zDF6|MhGjBWicU%(wna3{_=yr{_yYrJ%C4!OHKChZ-N2ezQ_06 zr{7T*6m(6-yy>8KV4NT8x{!`1tmh(H-IF-+C@m(W^hxxaR<}L9X+!91KR)n~VR$`4 z%%X_S+b|u56%{2y$NlS+>l3kNHZ@W`bM4i?6cbY{R=gp6xTT`PxBol)wi(l=i?mCj zNCI?a;T>j@Hm*-w`1+&wdrJJC{SD#6Ew>av)zr@YyYDG69R|(;LzUstB&f0oSrQ?M z0xXwe&UCT&q1F;rQ#)@d0HbtAQ+-e{(*yzlQ3M2G;Rp!;gv@c8O*&`}RSAsJ9mT|z ziv=K*`aQaWY14u#eaP)n4$2mcaSn$t_&pj3rT$wAAW70(B54O1=|o(GWN$0x_oBX^t@-9Bw}zRiubOL7{n!Ki;Y=y1{!uBIiN#6+0ou2JhuBDc_Qv0 zWfO4DK`BGZA*ib^McZAC=o_948@1ckSFhjlQna`GBTMqf-UW@jj#f&BaICH-u=$%` zY4<9cis7gUGflua2haR|jB#+zQCX_v_JD!oCoiVo?iqR~#mrq}U7e{<1<(*a+#<@- z>AerOmVfTPHS*AuiRpQJi73m=vwlOB@R`~&biIBl{np!&D{#&2{jYQ;J`q4|$Il<| z=-P|le*6J%-KwAvxsgEHrOS#I`VCb=OIwjGMuc^mDmA*FwKs#aWi zTAqu%_QtXRwVyxKpeo86-+iK^Ofxj}jm_r=r@TP40IC3xG6pN{B5Ap3-_)qS+cVVW ztKISDT>q)-O90kA(y2-?{_)tJtt(gERv}y+i7z9%49rKYNtg~aMaJ63D&@V%=+4rW zTb_vxbrT?`5V^MR>3cUd)wJAsn|S&999&942n8voFJeva&5;6Ifg0!^Wl{{2m!qc6c1;VC4{G+(o-44m-~GqKz!Aq<>zG_NYh z!@E9<6DKbqGH}Cft|>!hsfNFuecuFUN3s9{0Ic3~^vn|vZ)=xyT}ay$p(;PRFI*+v z=dTWM%J$2OczSQgX8-E?N?|0LL^Nh0mb78J6pV9#1DYzL)T1I$qT}`zUJQ;-#w{rb5t?rimlf*_oGw=Xp?9F3&M`@b~y z&TnU`?>(^28>s(%pu!j0u(n>STN#l2ULC3;fii$|hE&SIbj-x)_>6P8Z`4gD(-Uqg zesJW>q1OP=9LsBqcR_8(&$eosdJvrZEIav9?5*dHCzAsl3*}k{AXVPI?{1^KE-Y!@ z&4MTgIiPdSRRJIZ_%s6@BdPdVdv>UM>e35W0FWG`1#^}MkQvJWl&oNmcy^xkiJ5VB zKhFrT9I-+{3c$@6S(1U9WJbt{hy|iz#(VP)Rn;@oJIOBD zu)&}~L%APhd#C4X-RYg1J}9Vu)m8t0{p;0x1^;z3Z@&HRlF`m3(4gQF zv6x`FQLlegWOiV*v-rw8A3MRKs_3}zNN}rubrC2=0Mx~5xV!!b<&qm~awqb(`rXN{lv^<2z>wR--Q-9`NE-H5wN?OJpuclK;h7z({*N=_qbjE3V?;${CGLc zYV0byT$sR2^BxyIKZSL}aYYpsO|omQpZGyzf|bkPE*8K1qFAT=(z=Z^<*r{9FN%sF zUJ*%}dcmupUg^Y}9G!g?)VKhQH;DW2^s%w66q!Do8(9Ug0zedRI-KIyq-IMw#RpU%nJdEz+sNgijs>5grqu{W_8spXDeVfR~w4+C~q77P|ha3!_PYC4JuL2doE!5`! z8nxqv+PtopW2KEA5CGPsljZr-2 z07MiY_kpGW1E5)7Qhyc$xkWW=YpadJ>27~Icm8Z9{o#HVs)CPwuL3dz)OSHM|5gm7 zYc&B6v@>7h8nv0}ui10|CP$un4q%{Kz5%Ml?NzS8 zKid+JA)wo+GK@g4yif`EJ_~>~!ksUy-dul?AAWzP`;RC-_Bn9fVIU43!M66&sZVHc z{ERDq!->~F1(E<2NdR{ud5M;XQ6tD-(Ey5I)u<1MHR^*e#+WFAB>I9zjQWN#(TD~k(I_C&M!*EB0WmZr zNL7S_6y%0N)wWdV?cJH^-bY#F6eZp; zId3c?&ILv?j;otZ&Muw&F`N1j*t>*T$(%NMB@Fz zF_Q12P?wJd*SPgCoWZRLh-;uu#Agz0lle@vo7J&CvCI((ePH7OFz65&vZ4H<# zBvMd39929VRXPc(AAwvKwq*t6G)`cRW&#h9!FQs zMVHUS?0Exo;L`zj9a$2`>XU2ITdpA3{6&I$-5uDb56Nw~7klsvaEo!KzKlElRZz|# z;4-)ZQXrQ~Rp88d50v(I-+mA|z8!mFCzvjOv1|us*DKiL4Y)I3M_1S2CewIZp8@F^ zAQ;c1KseC!fY%L)6zbA3=*syx(^rvra4XK_=b$JZs$yHdAy>Zyy8lFvnu9y@)qyji zR}kuc!Nnq7C-62cAos-`c$*)>>|B9u*#^o*Ppl>JKs{<~O*H;g6S?}Qpyv#FTn&2S z;yAbsZ0XhdQ6TbL0>7ob8GED-)9^grhI_GxH$l-QxYJkSOj!Y<{W+)i<85CG2=3Hn zs7oq>c!-pcK^352kd05w@6>i>@V;G+*YF~kEY5_*xVNtepPM6FFijtWTY`K0^1i{y zpcW8%TUFa1!>xeX?zDz zI5$4oHyFOzpjU58t0a0!ws09 z)*ycKNbxSb2Uk9-`Q~&PRJt4p3Q~86|4vbq0-YF2F(Q=I zW_F`T%?_X06T8BAkj@j>%pS;fg{t5g?BQ*YE(hy{#LS_uQR%Dv+R{%k>h(SlrHa?E z9QU@Rs1es=Pwm6(d@UA8xz8VnzyoD^Ha-?)QWV5J8*0Nj;i=d!0foUB2b90Sxi-A* zF9eoI3_L7Av4!K$<1eHUuvi0N`ow^C^r7tOqyEtui-$qL?NGt}{MT1bB73?8rDz6< z3Kb~c-)fgT^=m&Fv!J#ldD9)BRA31O{{gYyA0S}>g@F_uYQeQwL-vmhN4I}=ZdZm^ zfHcsV|1e1b!```*`))4NFC?%PNIxn1-n+a07*qoM6N<$f}H8) A#Q*>R literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/categories/gajim-agent-sip.png b/gajim/data/icons/hicolor/32x32/categories/gajim-agent-sip.png new file mode 100644 index 0000000000000000000000000000000000000000..1efadf8c4f581ab35af06894efa1bd9d01cdce3e GIT binary patch literal 1897 zcmV-v2bTDWP)VA_pOp1LSPY= z*4W4fBZx`82x0<`!EP3U8{#^O8MD~6zqFmqKU!XUz@Q{$~Ic6&2iFS*ev{$u)mS&&n`o zWm+MMJVGG_9`7W+^xX7)W%lIWanID*_V#x5zX?EUYn}DHAT-(S_M|CkllfEkJOUvN zRM)`}0;9;HI9EdIe7EoF)vI%gEFU>>!qoym|BnFb>gtkNp19W8)|Vgp)?rg-W+o`5 z&~+WUe*4>m5D-GZFbuq2FPe`Z^A8LTbZ82FqP4Yk_TK_4$ zO+#L89y>NRmSVN0dM{n-xsYg2i~QxmFcYEV|W z3sp5Wc%i8Y9l%tw;g8J#YWcoxAopwmSHT?3KCo zsLZX$=NG#1-KU;Hl2Js7V>3z|n~}3-HAY89@baX`1m;PvRYAE>_GEtuSK(`ltNWiWMpJQk>!oc0yv#cR#6nQ!C+Vd@WHtcQS5La z7z)B_wJz~sD2QUm7PNPC#*{$QG>D=IRaMPSr*lce0|1wZY@tm}O+(iy{QdxpMgv6A z07@xBp%4Or06bprt$I(-M1wCLScxnO;BvXN`o{gfU@({}2tv%})YKFV4&FfTl^z5F zfh8X?8jY~7N<&JDB?f>H0>9r6j^li-Z@#I;1BmGXUJ!b`UJnR~ogF)O+z@DJbSi1nMn=Y9w-=zid^_y+0*s7|;r;dwJon5In9b&BaF%5e2>9`FSJ%8Kn%+tT z5Yw3#FJ4scE-aXw{Kw?3lHw8}G7TxE$VgAe&WZ|LbGvc&!%lqs>E{?48O6GF>+#If z--9h@Exx$ejpMI2qpYkPk|d#}^|y0lqoYr^w7l_2B7k@Y1!+83|B-X=6Pq7+;6Xu_ zWh?|){9O3n^s^W7@WWNOue1ywoc)X3*7nW?cmF_TT3Q-uYisi_t3bpy-q6O4 zMX&a``-(63_N>m|kk45x766C|3f#H_@H`Kr(TK^(N&NaZF9*+`|E!&Af#Y~kO@peb;8+d}%Rp6CsH%#>fBLNa7Igz1?X437-!=Q_HALI3n8Gj-H-udP zz~grRPyk9eKrrlq1wNZ7`$PZ{6T&Kp3!D!-yI^lbW+m*Qu+QNRwOJ4 j2?viTu+Zb4{qgLd2BeZgK3W$`00000NkvXXu0mjfu|J03 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/categories/gajim-agent-sms.png b/gajim/data/icons/hicolor/32x32/categories/gajim-agent-sms.png new file mode 100644 index 0000000000000000000000000000000000000000..08b681f5c0b263df5e5716f4ea57053671fc45ec GIT binary patch literal 997 zcmVGqamGaTL-> zC~h2~h@=oqB7~?)(@OM~i}DB{A@K}-2wsPXUQ(&*4XTQYW1LTj(j-;`X+E%>-JP8? zT+}vA+QgeG7UJB@jP~p~zw_Uj*%?I_8!Z+m0>@WD7<_^9AL4meL`D=CC(;jSK#bP0 z2dA|@K=CJDEvME#3^WTnJ3E_a#aG<`#)=dBGuN)=u3jzVhVnz?a{Yv1h&G167_`=i z2&r?3b69JMqL_N4POVmpmR45n^PTPCv*HKc0KCY^t@)em?(Sl3LL5hU?-3Ea_jvD7 zN}-fOYu#z{gM-|fpU+j7S90gY?+VbiAAY=_)wN^ae)Dx#pUeON@7?`Av+w4@Jw)Vk z0RX2}ej^mVrdQ3C29pByn)Z^Ex z|LY)PzaAmtPx$sofuvJ?GfsK_qCsrk8-07GKx`e2$g+2Mj5}3z?*SSy$8pM0BSHMx z$$JLy;wU;(^0xud7X`?gyk`IxvHt}?ra90Kw7GEazXP~^^K(W=M^Q@Qy=QxSn_{up z8LzLeGc`4ZQVJ2FQmI@nfO97&pG{M$YwI+c$K(eGP%iEKn%nRAF3a>n03t%IR>L`m zh|r7^N*{f|ojbRA@Zb@Z->Our)eda?oo<$C61Ibmjg2urK8}bG#R)fVd`h7(#`VuW zA+ZkU95XXBluD&c)x!l9*xK6a^uxgL@X^mS{%-Q*=^{oeBo)f#a^~cj0lfD(=a`t7 zAP54|G-Y*djg3E^u~=CqKQMq#EgzRk^!4?TBnjnm`SJkT-*jVRqoaTqVW>Z3C^tfy zrZk<)obYZy;HzB$Li{8M*$IGadGj) zOz*h@)6>(0VTiSsa=Fax?Cgn(d#*rxowqlc(@A=&Kt7)*NfNBJCw4{=LF<>>i7^JH z6vh~WAlp&nJTC?0P#pg9^w-?zm685@K94a5V+`6DOzS2j;t?-MODX3ZQ5;jLRAMh; zfp>reIDS)-vuqH^4-XGd=^*%08*^Q2^FH`1c!m{d@xH$m!)v8t4}#(d)V_%OU7UNI zCdp6rdVK?E0`=1nT>)Bc-#LC+ENKB80QS`f-EPNyK#sRKJHBGlN*V#Lo#*}m2)TUb T`JK<(00000NkvXXu0mjfV0qWo literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/categories/gajim-agent-tv.png b/gajim/data/icons/hicolor/32x32/categories/gajim-agent-tv.png new file mode 100644 index 0000000000000000000000000000000000000000..565c8ef45a43026b181283c269294736aeaab9f8 GIT binary patch literal 766 zcmVOx+)`x1Zh#xDsYjYZkk03CfUq9 z-+lL<7H{5jbe=iVjBWhFFz4QL=X^isaybm_Xh;897C?7*x7)mX@2I!pUC~;n>S<`( zwr*_9j4jRo=$o3F^3wp#yZ4M;IDhusy}>&v+qUcJk1>*ZJT!dy-TR3#pw|L8eC)V< zoSa~J`8PqJ>I&dE4oyu>oH%`kuU|e}=_sMKVR3Phkr&UIotvqPc~|Elve)`)XvoBS z>Gg+Z=Vo~L;1Q{mjR=4MRK_BRl-88R60XBMr9HvufZ=Du6;Krb(GPOD98xk7kNN)S+4CsTjH%G0tA7=Tk#MRbrqQ!OxR+na1xBc#5ZIRK#ZVN^4m%T zP)gwyz4&UQ&-$)Hz}3CV{3?L&`_%*F^LdJ1G3?%yx&l}eo7iYW00}!U6!NsRG*=I> zu&}`N^fw&W#YsCj=`?mKMas6ZYzqM_tkB#Tj4^1f(KfItT*-^cfT0PJ357yoONBF;40i|bC)T`q{dT;r@86#)WC0vKc`E;MWF*tt zx_?_tzvpsfZ`_*y^kH&e8enC`>${pA7*)z|+ztT8Nf&=D{Tu)qtkPZvXe@oZ+rZ!h w1z^c4+jN0lY%m*YC<7?K19Y9ecC@+v09Rd-JClQbMgRZ+07*qoM6N<$f**oo@&Et; literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/categories/gajim-agent-twitter.png b/gajim/data/icons/hicolor/32x32/categories/gajim-agent-twitter.png new file mode 100644 index 0000000000000000000000000000000000000000..f7f862c40a56d6fd7f41f877976e61cabb2e3218 GIT binary patch literal 1351 zcmV-N1-SZ&P)1K~z|U#g|=dR7DiW|7Ygz-n;E?TWSHTQqUA5mhb>XOpQwL zBjM4nXh2C!j1L-OFeXC$s11=+9>gfoga;!Kf-l4b9*JpqAb>WenxX+EN`*jC*+S{= z{g|2K!@aw`-Og4UmpI8kle_ocJ-gT?V*Bb>uwhYkD&kIeQ{pr;;%R4r%=yq?*=P*_Zuy^=uu>0icKYg0);WuBt z)(8M$`>+|_uD2gvwcz#M6|U>$a3N$kSr>2gu5jO3yK;Ur@*g!KcwGPh>z`P*By%w| zC@KTrFpA3HLTK>RvL#s%9>1vozS5oTITt0(P>iZ3HDg}RMWA(OqX4W;C;(yrk)=Nv z05RyM0#pJi%L+9B@>vJoz=3N36Eg?|0yD*r6FEYZ9YJHhQhTD%`;_~h3Fi!8>Hu7c z48D8iX)w@206<96LDjUBl+OJ=QEuOJYGmNZ+4GA5Y?(6vGoUObIPYtSYS1`S)j7Fv z1);6bjCa?qb`PI9|Ke-_^;SVO18GHx0t5Jof<&PKLXI_|85aYCd0rOU=mPck*Nrnv z53scfYe#K25`e5Av^j)pp@JatRbQW(GeEr_=yD|%xdMXXGR3e{Gc(|8jZ2e0b`772 z93c)0?_hbgVzNhP#9_h!?7Et6&gmH=Nd>; zXas=WiUoqe7^@qG474`63~o#YtN;WG0&Tz$b^y<1NYl{>0J}jD{6HH348_xRH8OZ| zd3W9w&H!!S+e0(0U{0fs5779yA0p#6&9LJiOA6~2-a>CZa^KyDemHw-WXHa&1JWQS zFcBl3rJ$0O^0HFVK}Gn4w{7~%8p(Dflke}}zV*>H+g5dV$?qp;xB&{1ur%jjVMZWF zweQE9(uC6Z^?C`%ejfGr51lRsOg+4HL-Ai_z_9-M*tyZy9=m5r!RCfV#rS3-0ua}b zEJbJ*g!yg`&#%7M>nt>Nd@%U!#{gcaea_wktrI7PMlZYhg)@)PyxmGDK<|{}kZV-_qnqDwl1_*$o-+Sq+;on9F2L^|Nhw=gs zwr0@N{)8C7PCDh9`jToW#fqlSTmYE_E-jIylo9XLx<(2>0AMmv2|&oq)f18pfRZnkNze@9+Es#5YEEas zq(CY#20)aOj*~ML)c)sms#7b!urec=3HCjJQ>t92!N4^E{|3sJ$#ERcIP3rb002ov JPDHLkV1oGQSBC%q literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/categories/gajim-agent-weather.png b/gajim/data/icons/hicolor/32x32/categories/gajim-agent-weather.png new file mode 100644 index 0000000000000000000000000000000000000000..40f6466ad9f683877d350a7285377f3a39d6ecec GIT binary patch literal 1713 zcmV;i22S~jP)|;G=!eh;1Z-*^ZBrRz0%-|0FCT;?rB2$W z8pnA!ckIl4oO{lGt$r|0u$swOTI`1`SZvtrv)7OH|F3g6#LT#oA+Bik4*>oj0Mz`B z-6v2xR)Ui;LR&!g&UVNSCe~1ShRRb-;PM?!?>hz4o4U}F6(d|3ffp((-Rh#&5wHk_ zE%duEeLZm8hDQUDoyLNp`sD!3(Shv&CP#X-lRYBvT}mfk_Oda=tkw%3q-3H`GTfN( zT=%A9xewEWN{1bo96XEOo6Z2=_VWRF4-ae)aJE);wzN#SWROTKW-pcr6R!byG1=gD zI5|kt_mb}1L4y@{~-YX*%oVL~}RJwff0)#}04Wpv;^fwn6P zNo60UuTfUqK{{E%q=^=MNioLY+j{{w1E36wRzWPdC-75`2$DX7PQEDMM!d=%w}M+$ z8#e&V32>nYYR5_tsw_;rQs{6cq&dk#pFweD$d~}9`vE%xI08%)+;|pjPJ)tKB%E9U zp=%trj)Hs$Ab~&v+&1T^UkKo2Y@{o&%1?pChhPh9;kcjT0dV#L;KaM>&#l}#0*XEc zc;n%N0oKW#!bG1UqLNV*W3sm}e+iTc$jK0ZV5Q$C$HU&ELb6jrPXkQn3Nrzo&aJkI zQ==`sbmaPAY)bVru(;g8y#xKHCRf}rIu4f=05s^sLtTH+JpZ zGXebji>S6Sfu(*cc?o&Cid=F1-$#>w0z&VE?2%ywC{xnUIrYW*4 zgL4i<1f>-E`ugzn!6AFY@=wTx3#-HojE;@ECx7!;JS-?se-n2=6_b%_f@7CR(i)>h(IB%_h9}vmocgdk^nDhzRRGJE*GFDrH%Y zcDs#5eT(GgO0&LilL9E-P_dM4sm`#>}=`N(lgvQX+~X zNGU-?U}i8glv1$PLTe3U46-Z(Gs75z#fz>I*16k&OHD!dz8Oe!mWgT%J_81yztnp_ ztF?0u-g^jf?h2(8!Z3tVY8Ea{Q!w-FGkKnah+wUqEqCe9@gGZ*fv}TIG*OJ{t(lo= z1VI2H1f-O+MdCO{6h*W9Qc46tFq<769VixyC>D!|q6l4GT}YAy|2XlMQ&Rrny#coF zb9iX~m}Wm#?LPCsV^2Jq3n7ps3F0_Lu~PVr}W+->v>0i_WiY{oJ;w zTF6cv!?8IB%1s$V($(yLnQ?-vS%Jw}_4 zN+la}kKr8ggCBioO`uBmYh#xY!9}4sq-5ja?b{C@_{l?`?lva)rc&}Qt@Slw7`~yk ze$spY;I5r}@;NU)Z?OMXe)oa<>2l7`y958LxZ*!19{~Id1GRu;;E<*P00000NkvXX Hu0mjfb)6*d literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/devices/feather-briefcase-symbolic.symbolic.png b/gajim/data/icons/hicolor/32x32/devices/feather-briefcase-symbolic.symbolic.png new file mode 100644 index 0000000000000000000000000000000000000000..ca7f9d8098495ac783cdd9e811c85bd8d3bc90c8 GIT binary patch literal 449 zcmV;y0Y3hTP)`+lg*~-2NC7rNqs9VSVrXID44KcGRf@DmznSEp4~IUeaC}q@(WC3 z?27m|?BMh!qOQU-e8zbf+r{MHF8&0^8O1C6g29}`4>JY4#z@nDhYg%1oB}g=g>lSd zDKmdptZA*TzXPv7@K$pY_hbs_4gSv#ycm0wnfo{Tu&CV0x$pYA_7w}-y!rxL|FCds z@2kSqe_#%8oBk0#xcn`@K%?nzba;xC8xg)^J6YsQj0WCj6om#G&A|86bXmuw0A+Vx6 z^J72I2>y&bG!kxs*>JrV$&Zzd$Zd5*M;J~OPvYY(6yFgBmvl5M@LV~1#aIuflmo|) rRC$6Sp%!;OeR7?BvK|z zNlMeOb`k@dS%erY!bH-6gcj2;+CIa*PoMhz-n;Mhr#;Edd-vUQ&-uRd@16@YSi~ut zM2pCHYnKCWe$#FZ*Rk@^My?}>Xa zVtx(J54^zl;>QX6)Y+sr69K?s!G&cmTEKX|;Y0;Y*-6oa-9I?3VM?OqdTVUj=I^wI1nKq{4i*dY|NA*zq#{{;deck_m1S!hV!cNxTp ziXQX0v{t*D~8MK_1@iclbba9!N9Ql&75z~ zo|!ZJ>u9QzzYePlI0JY!J30C2!UU!YY$D}06eYZiSUj^2Xp2eQ5-H#UI#RzMH)`+> z;2_%3iz7ve!!xiHo3NyU(~gTN_r2sCjMm6klKlS;$xfWa#|q9U9%CeYcnsg6&Adx1>KZcn@CqdrO~VcVv$KAg(R}y;T;jwDa>N z;CR5Dz!e-$?W&nw@@S(4ER&SZ6nt1D zAa)|k@KAD_osiUdHlPmRrsOx&8dhqe-pi;Fn9&Kx(}%4KC?FgA##``Oa=>=r4BpK1 z;;WQLyO*#}{J7m{o4zl)m2bO+upt~`=2%{mjO9^1d=41FBgqv0AN~M#9}nYCJDJ!3 O0000Th!EAAyg1To8Z*u))+SBl0!;R zEw!`+Qhz{0!;f9^V`}}9cp2Y$eYQqA#bc}oyOae$p@Sb z|Ef~;<2@eA@Aw8@D9(N4cg%mP4^K){ep8id Rww?e0002ovPDHLkV1lqt)T00Z literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/devices/feather-check-symbolic.symbolic.png b/gajim/data/icons/hicolor/32x32/devices/feather-check-symbolic.symbolic.png new file mode 100644 index 0000000000000000000000000000000000000000..4527d098e0fe7a23f8bfeecbd76a24e580b980ed GIT binary patch literal 345 zcmV-f0jBKS~5K7>4oRtl|Mg6c>c`7#51KSlW998?mzxVNt}&QakUU zt%WGqcnm>Z5y9HOW04Fq!h+3AwwVV~WEk>%`Q9Y7w6u(wi3IB(Vi`9LyGF8)JdR#! zc^}_Veu*rld=^hp{*3vQ@{X|MTcBor5tvYxgXWBUu17C?AV2KcHJlH(1FP0OpS r;;~Y|MoM|X98R%04tYyUOYQsuXW~VCIK9p@00000NkvXXu0mjf6akXr literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/devices/feather-clock-symbolic.symbolic.png b/gajim/data/icons/hicolor/32x32/devices/feather-clock-symbolic.symbolic.png new file mode 100644 index 0000000000000000000000000000000000000000..5f8bc230efc69eb7485860ec1f1dfcebdf3d61ca GIT binary patch literal 776 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 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/devices/feather-hash-symbolic.symbolic.png b/gajim/data/icons/hicolor/32x32/devices/feather-hash-symbolic.symbolic.png new file mode 100644 index 0000000000000000000000000000000000000000..e12ab685be772e1858d0b9caaf00819002bbbda8 GIT binary patch literal 347 zcmV-h0i^zkP)R=Hc{I^z)H)IGT>iHz<;ojKt3cz{=jZi zM;ohjDYbCLrrG5$-^t`@)(&=T0Vy8i&rO1=X=fNjjw zagTFc<>g`85hRz?=DHDdf!C^j2Np_x^$6-T;?&BSfs4|NAo&Jp4I~dCkAWm11iBn} z4C)E+pyW*sh|=W18_)q(z+8AP#$7qkmLC8B literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/devices/feather-home-symbolic.symbolic.png b/gajim/data/icons/hicolor/32x32/devices/feather-home-symbolic.symbolic.png new file mode 100644 index 0000000000000000000000000000000000000000..f2bb885ca2d44915a124c3d5f233c39adb58fbcb GIT binary patch literal 495 zcmVz-rFu zc`%y56C5Vw@Lg@JZfTm2Coc0WXrPF zYnpqms`(7wX@3`WR}b99ev{pm~f_HHGGJX-Ldx*?XcAbqbind*!PZ>ElM#B8G{j zT&@^D8Dc9@cMBpfu%5fNh{tt>nijB*m4>+k)Y*cOFfL$Rz_@_4fPTsKu1MdmM_#GX zZgPAdQyrR51v%LdUN8nUlt7E{msd@k0$+-AVRBPrTNQ2q zvk|;G;8Jn7d>D8T1)IP`47Uip3I2Ur@g)YoXvZO^%HX10Ok-eO8JKs-Sx`A^apa^$ zGOgwx4hG)UJa#uE8PM;$4hA$QR>R9SNrT)CM4Bl u9Asd?dL8#rA#5IeHYDG`6%Gwa=J)}y>Fz-qu>*$y0000IR6!KL;ctxuqgEmkgF!4rNTq^;l?c`$AQ8m} z(U?O208v2;!H7i)3!e$7SVRl85J6N#R1gcXuobir6hSZ~@j*ypac9}d&E3tto2&$q1$~iQXK+ZwLFVau>}-0S<-Wc_8|u zV1Mxp&qKYezfcqa4o47EIGSOz6yw3>8#Y939rzmBeqmW7AhxQE@>E9u6H)v2dI08v zXvRIfz^aVCyCZ;I^#aTVQA@fbfbRJK)C;ko0QEpDI6zT|h5%$i^#5;wG{iK{H5#Bx zk{^a5-Q_4i)^c=4?VXXnoNKy@01T^K&1H#4m<7>-8=fJz2D>bg0b2D7K{9S6~NrVr9^!Z_JzXg*X{G z8JiC0oH6qs&l+qC^*8tu zwTO`H002ovPDHLkV1kghMO**? literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/devices/feather-mic-symbolic.symbolic.png b/gajim/data/icons/hicolor/32x32/devices/feather-mic-symbolic.symbolic.png new file mode 100644 index 0000000000000000000000000000000000000000..8f8b50f13da61f76b8a2fc715db8b465b73586d6 GIT binary patch literal 612 zcmV-q0-ODbP)0W%>ci^O0;8){I)J(qi2?%MaQUKo6nCw=;TetqA2-}dgHHcS9# zKtb#jm;UL56RoU1YBi?`xDq>PHMF^+cy-+aQXFpsy2 z60pSg!{*TEZpj#wz@u?GN^}A<`-4m7iQH2TTrQmAa81dr5Fz@y{xZc9UZ#qx~m(oJjB?LTnc5_^)A&^g=Q@#R+Da?2S3@_csui#)d5NictSvm&U7^d){u+~b7xJcfwCQ@v(EJg34^^yTz8C;mDHrEee(_ci3I2D2q z;a)?CWb2a7h4++CbddGkffRr?AQ}TSg=ht!2}ElEbs<^>r~^?6;9GEfHo&h6#Pi_y zH3eWXIKN5oO@-*5gzr-T9?5%y(H0=K$}hOt6o8IAUsqBD2@sF*1&31>89M7RfrS$6)<%MCNL zbNpkpYH&Na9-d#|L;X01V-CycVVG&XFgDk;=`qaXHTH6hvu!Wb&IfK~bnpz@IVL}` ziYuY5hIiSz?V!;qV|-Qq6c5qG5@vFEGhwVdhT99;hhjHF+{9zFOZeDQmOHdWbu_gFY5d`oyEQI e{4|94|L_YN+MaOUA;V?>00006_`xmP62O%|BzLDfxmx|{A1t1d=>+1ngNrAHKT;XcibfM zL`t%ncK>c*-~(tAEXoc+zZltozKRD11^`wJd3MSq3ko+71sAv{=<}wXFD?4O9k7um z-n1wh7yEJIOMst)0UuZlMP(JN^SdTIU{B3A1g9P6J_S|aP+coZtD}=Hgv-{5LP=@~pfnIy`;Jbu0GV^BC0p@}7_S1mK+lqRP34Tz8lsTR wNXJ1A24c745H7*t!RCSF6S&3TK$1It0FV>zoGR6!I5;3sPkBKQ?!z(x=>f**~4Kt(JBL5M{J z8zHTYRyIN`v`DRuqW?gNP3+W44I0Ek&_ZoY&_oeb1kGwJ<}P=#+`Buwxk;ff40o70 z=e+NoGjnG6-_et3*N^?!gjqaCeWgUj7{YBVU@>Z+F^0aCBtMF;O~lRZDF#-8e5i?h z3g>YeS1=#VJ&>NtWZa1e#tR6xVmh)Jsgk^3p7W^!@&0tm8?h{Eel>=wgBY4&1_U3-TH4 zZl!hr51Yv1R?oht$Xe1&g zA6gCaA`yk;MfvN+0c;a;*ACx>_&yG1V{^EPm-v+sV?B-tr)5nxb{5xCMVykWf2R8v&SCt>;(Wp8RL6Un z(*kyON#4K(`Oln5b!t4X9xam`wnqZ4ra08FCF{>rAmDw}PfBG?UJL$IARvyB^iVB& xkgO_d@;kZoZtf5r#~T!$N4*sZs5;(1j=y+Hyl@q>84dsd002ovPDHLkV1lMiA~FB~ literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/dcraven-away.png b/gajim/data/icons/hicolor/32x32/status/dcraven-away.png new file mode 100644 index 0000000000000000000000000000000000000000..a708af3bd1854e0eec474c2c88ea7f02688c0d84 GIT binary patch literal 1827 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 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/dcraven-connecting.png b/gajim/data/icons/hicolor/32x32/status/dcraven-connecting.png new file mode 100644 index 0000000000000000000000000000000000000000..35ac602a4bfff2cbb78d744702c8e8e3d7f1fab7 GIT binary patch literal 2159 zcmV-#2$1)QP)La(D>MM?Uru57>^it zZ(hHguU)aks;P`45jCM{9J!*8OwPr*D-&XCUeID0*Z*4h|`Gafi+5CP%C{tP&0unY~R&ar)61A;)o4oL=)yo$0sHs8M7!nZ!RdEw_l@UY?j?t`#biPz) zLMnKIu)MJh$ub+3!BJgqBM~t$l<~3Q-Zta#iQdhzmW>B8y$1$o+T*hU;zr`dCm&n4 zq<#599A`*?;)qH#e5Kf)Ft^Fvda!ik?LOZ~-He zF0?Qr8ovp7dtDssTC333keDv*sS39Z4cTIVuRXFl#x?e<_V$;IIRH(MzEEeI`hBaH z*0Z>+Pfx%A1X5vS(nUZDMrfEbfHO=(mVjp`^rkGSj>0f>+|jbo7^@pwKL>zw^_2(L zFVj3hF!Y;&$rJ_phVsa}5`ip*m=vHCpa4KAC;$;lgHrPYm^w$!5olj|Tf*SRj;ZI< z1!3s=*YCZ%$$|nt>dzo*>xfx8#&bR-DVREklmICpkOWDpqzb5tn@B`TQ7yOuNGVu` zhS@ws3U@YFGsW1ZIRFZ(sk$NtL+2PwJ7A2#(mBj5J&|n2`#lT z=$zqt+QHjB!>FyazyS=5JJ{OZ0Lv&v)HXDfMGQcx1#?mm$e=nAvvB0x7+UKS5K=)% z1wSBoLc;ZLswX6TLGS~DkO~)5IrNVdaOB)5ge2sO0R#c52^TLPyo@U&1?=le;q*Wj ziKqo4s+bc25KLX;7@2fIN@4x7BrXi*kaq-#O1*%gly@S9fD}YfO2vXQ3zor=EVIBl zM{2@>OqU9_xi*UWN*kTsL+~YG(_Pg7gFgp=Yg%Tq=p}WHV{tNyxUFMtYb9=^U7Wg_ z0S}j>QUIw^{)JRn+ggdb3L8Yg`ehaZNho>}mcbE7g{z}Q*oKCuwlw2!?++l8bHO!j zbPfPx7@y2}NkikPikqOYr0XkfD3s&!Z~+rx>!q*&ZBs*SXq=RS3g59!4MYlz0p|y^ zI6s(0b8QSUOUKAW9!#NsP7Nqh|2lJNSXGx>5RyQorYEkeu(9U0O1Qp+<4d@L;0l7K z@e+(uw=U1{UMb+=RdqOdC4;w44xz0ff$lTcJR*8^4uBxB_h|RU+`j+Hb1u{heM}$TN%`h(E2Q+;K0DxnC6laGZ$0T`A*MOhw?iyOXi%2 zGQ9@|<4qe=AD$oBvSafKLjsVb&~<47LD(Hd=qXKYNVBBiNu+ZEEwwS6yEsIDdgYxo z1l@o2&E4a($IiQfwrqX==~&eM&Cj0dh}I+%c<<~OG|mvWb(BSPRF_+@4Gp7N50}Gp zf(omD*`fqiHCNz`gCF_-IM{t%3i)9FThH`=oSjcRmN!58>o0SizxJgyZP6zlz9+&o z4e6YKkc60}L)RG0aO);gFbs}_ZQ$gELG{XOhu!f>r!$f(eEZD1d-C(y_|y-RMLT{Q zF&*(^#<6Qz>tb5BvL(^hRKqIb7UEG8A|OoWT@0u5=sA1MJ96RzDK$~ipCCZN7g`Tm5L}1h5#HBERZQTmwG!paQvV7s~@BQ z1ONm8f0lZfQ982$OaPJ4upR1WxpqVKKErhpfCE5&QUo-Vx}-iM5>wHb(y1{By;Y%y lQ=YpsycVI#dF*|0@?Y?MW%W|-6Z`-G002ovPDHLkV1h}d0e1iZ literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/dcraven-dnd.png b/gajim/data/icons/hicolor/32x32/status/dcraven-dnd.png new file mode 100644 index 0000000000000000000000000000000000000000..492d2b4f27b098dd3ff914803fc6302801a0d88c GIT binary patch literal 1989 zcmV;$2RitPP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2ipW4 z6C5hQa^`FR00%`$L_t(o!_Aj%jFiMHEE625}T5yo3@{bADWPc7-?-OwITp~4zjt;mYY!m_x)u*~c* z`!=u7bMNVg8D2JGSyN1Vlau?roaf&E{h$9m=RWX1ZtAmsu=_Ut%TKhxXcmB#jnDG!QQIwFO$f0pFIN8PTM1Npt1crwl&=Y2^y^rn9Nzt-iNbj5r%N8;xhn?XtK=Yt(#Q+j^a&h2k#^;*WDI(6zirk_LKmKVdb>Ol}fyi zQOb{!9C%02P8{t-Q96v$0h9{h<#$utxKxR-a!QMvijx(obNr2X`6S}hftN>7Mkzm_ zQRvEAl)}16{L|_Xq3((SK&uh!rW4|2F}4fs)PnLMwtz?pkur#fhym@#xLK4Ud&NSa zmF&r9y98e&){J7jG}cXFy$sfjAvRY5V~c3tEOOZoMQQ$d#Q=CEd3xZz-{o{@2_k}Z z(-<#>@rJS9S*#hw+Ht_a3Ej-ekKUT_N<4kV0BnrWb87VX)?@Gg+I4DHBls}x8LXGW zRzaX*nDDn4=-KHebHiIV#_0L4^T2(-_21<9ogZ7V_cl$R&DXS3v$y8~y?n{lESvpo zWnw7;P!R+>Sp?XRTHj%bos(>hgut!sQ%nO`X+Xhbq5g(P3ha%vHgA?{l-#U zWATiTFS%@cvzuFP?&NfRC)Nr96=8Pt23lh6j7$tmcmK{}Hg|f{XwrS^&2@O^=5)?o zJoG9~AQ;@WaPA%VerL(g!)NU=wR31AALqL%+ObMP5@?CfKY{=pQ&mJg|$_W!nhXg%~azN2KD9 zfLLL)nBwGEFLM&@{(!ETk;=UMAh=LjAOz|-N<6T%K z=fgBq?B)8o_Ykk|r>XFJM4&F%Ok->*?`K{I0}I}8Y5%)WJK&;Sp*SKFXaL_>-1Ioi>IP|&?9))ZJgXGLVxoMiv-t7xa)Sl<3{v~yqsk$PRBwW88%eaa zBbf|REP_&~a2VooMh+b^!|%K^5HzN(4a%2HM6a!3;`PVMJ)Y-(AzMf}Azu{jQ-}ev zU~MI?#(0dChZ!%WG1hR+E|&%xNVK(MlSynoj~IivE_QSjJ2*&u{(L7qYgThf>+fGS z6Lzl24Y^WKt}PPshp|?$RuC(QrD}q$3a#}Gq3ODX*i;HBm%;NUTe*y+Qq;G$MsS=b zr&JA= zSmE$UK26wPTUo6Idp;DC*-)NEjJeFoMi9>frQ9hoAR-6Gi100oC}*vGVQS^rk)yfdxEIio$&{N5yTMkU_1@}ZNTtaf=|wj; zqk_STlQF1Z5Z&C&$gyK4H#BrwjQPVSYQd$>3ib1C(I1zeENEWj3pzCfbqyL{m0nc| zfd#GnI6BDS(rGkoOX4Pn2~NL?Ktls67Q=O2(mg%7k>kftIM&|22u41w9IL7>oNDh| z^_$=yYoqmFjmHuu7MT`~hNh{2F9=Gbl?E(jw?xSlDY*smxiOjZx6|de9bQ~*YJc&&|G)Nc Xwj%kHvw{|c00000NkvXXu0mjfeX`Vh literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/dcraven-error.png b/gajim/data/icons/hicolor/32x32/status/dcraven-error.png new file mode 100644 index 0000000000000000000000000000000000000000..ff16e2ffae710a90482bd1909040d18993b940fc GIT binary patch literal 1904 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 AZvX%Q literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/dcraven-muc-inactive.png b/gajim/data/icons/hicolor/32x32/status/dcraven-muc-inactive.png new file mode 100644 index 0000000000000000000000000000000000000000..52e1a9c5befdb753d1e3bcc795debb8a6b305d61 GIT binary patch literal 1290 zcmV+l1@-!gP)bY*F7Wpd{G_b&hd1WQRoK~z|UwN_6^D@Pdr&CYE8=UGz_Di3+6c|wIE z^k^@hdMMIT5Xvhw4W*%nf;R;zvN;$%)k6=pN=}9FAQTl(Z9~C>lzzSEdAFNwuONg7#@G?( z{0kCfI5#&pNGUzbWHM}cco>8Pn)eLHaj>_yCw6ytk60Jm@mMTor_*W1Ifvso9Sxqvr0DZk9+a*<>**;eA9psLR6RMRw!kB_5JDB$w)5`%+- zzIFh>IOmZ>B7sJu0nT}wbNAURg9uVeq3b%r;V?|oYzZ!>HG)XI@d~(lzfQIv6QOpRR`Q(IxZrS$m180QVPyF2q8A}23Kz~zd*g{ zT&M)%@i@-T&cHc`Wm%|Jt4+q(pG*z@HYy;cL?{%3X_{DHUw1;G&>unwTL^Ka>-y4L zsen7@R)8^v>+5Uix_+3?=RZ+nGItTBw519{h!$s>rggj*y!V4^dv|x|-utj^8&b+E zc))aBKR-D+d7e(E9~TNCaC39hl3gN^0AsADYgtN(i;D|fU0orSN+BAJA`*#!5E5-8 zVB2=4R4V=EILHTT(1tEkJLdwNr@$*b3 z6YB5phm`VVn;ih;aydPfN+mQ+3sFjIv$M1Bg~MSq8V!WQVI&d>tgWpz&(F_)l2ZQM z3xQ^{SzldUZOqTlf28aB*3i&U-|6Woqm;f_T3R}5A)sP$aq+KgHaj&iFaXQ4(AU?8 z&CN~g;NakQO6g~YVF+a{@%VA2RHQTvqtCLeMF8IlAr@CwR#x43ejg&q7=y0sh(sc& zR4R6@Ry#O8K7Lg$ml^KAp6Vcqd~~A>VHk!3;D_ny>B7j!$Oix@00BU@5g>#N#p7{k znue{dExT5$RqOTor{!|leppB!0(zx8@Zg+#q}bWnX#n{9VGRMmTL>725wk4oMZI3f z#>R$qdwcsj6bgM)EEXLl01wDsZ9z*F6v>tM))tti`7r=iDwX~bLVUlxy!@-877rr` z-aXJ2-WI%+QhryhR$o^tl_r2F{@ZMR9{_K5LV52Au4BKRdV8z(SPjU1p4GX)sxh?o ziFg*MI`0o`r|i9RT`SOOzSD4ndkIQBq4X~P1ygxdO9N3}#Q*>R07*qoM6N<$g3yOP A=l}o! literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/dcraven-notinroster.png b/gajim/data/icons/hicolor/32x32/status/dcraven-notinroster.png new file mode 100644 index 0000000000000000000000000000000000000000..e9aebd435b9d4f15035fcb297e31a36267628f10 GIT binary patch literal 1854 zcmV-E2f_G>P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01ejw01ejxLMWSf00007bV*G`2ipW4 z6B{gMP}QCQ00zEEL_t(o!_AjlY#e75$N%3qx7~4K8?SM^zQi{WNqw!oz69E!R8=1; z1OXM)sz|LG0TLAo4?F=`osz($^O z((Ac2IvW2l-+Vs+3Rh1*_2d&~p^yg=p|Y|PuIs`u4CuNJP1B$#3f_J9p8yCCKXlyW zjGx|*?|lI<&Q5f6w6W>wDQKFCY<3;9$r%d)^Z2V)G3?PPR$O9;uyNqP!4fG2|LlXG!T9(k*tQKRB@Dwr zQ)3H8FI<2gFr{T#*0og10q_#z?4_~c;psa9Xz%GcqH^um=7ExS}8t35dnw-o%xdSXo}VBFTGlJQ|IC7y#>v z^q)3@`q{@$o-}(SJuHz(VDj<=u3r5BQcBd-H()WHLR)J)geTw$0pSVE&CjDEREcDA z4kQU><>hE>Xh3~^J(iZ1X>e%B&TZtsH#R!_0sy*I4Y1DM{Toq04>te|SYBD#aY{fgpGWuo-7pMes~ak4YHG&OBS$fIaSWDiZ7ED3 z0!-7y;re=1RaHS%RD?nyEis#Xpe|hfLOPw6+cj|f;YXe;DKWoGl1S4ux2iIvKKQ^f zGqae%;Lsox&H=^%0?ZN<<`{N}JCNf4fgrp6|GqNN41$vKhB z=beIOD@)g}tHO29T#TMSd&{?=t-t>e7ifY?UkXqK;>)#3l zgWybol(Z|aJL?X>w(=kXIOhli4CHb-u1Wt)G#X9cQ7fK2e}1u8bXn1L5eNou+U4%u z?p1<_z&L}dYOrjZ-7fe(W&umBt*yf}O-PcEBteq4^DOrSrL8vw0E|EYmSuqm3wJ$? zIAc?*YpW<1(kd9eiH~048y=iE(d_7?ixT!d1)=XK}Nv%_dqvxFZY7%q{7fN zVF5J0|A(ASqYW&juf{4JyZG!6Mydsc6(9g*Hw4jw2yQC?o^nL$$t1`We7 z3}zTQ3_SpXgjKLmuq{{xn;ge+ZO8Tsd0Vp_>#yU{(We1;Tfx0uCU5sWa05Wwx>gRi zv^434(X1$1v#Kb~obw}`vj#9$MUoUSwj_x@ke(NpzCTm+ipiqu&R$C<=k^2^yI}V9 sXT)|Hzm08;DabuWyH?sO{r}DJFBhX3SYqwuxc~qF07*qoM6N<$f~VP40{{R3 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/dcraven-offline.png b/gajim/data/icons/hicolor/32x32/status/dcraven-offline.png new file mode 100644 index 0000000000000000000000000000000000000000..cc590185a9837e848b39c68773bc41e7b0bf89c7 GIT binary patch literal 1822 zcmV+(2jTdMP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01ejw01ejxLMWSf00007bV*G`2ipW4 z6B`vdRb7?<00y2(L_t(o!_AjlY+Oej#=n_4bJpIoYsa^^w&S9@fhLX8Iv3O^k=nQt z;;pE0Zcc?LL?jXw3My42Oc6n;f>QMXUJ!~@q(Z1^Qzy_0QNYlLpytUy(m26(Yg>*@ z*3NGBT=sT$ZanO+y)kX-8Y7saPjgl}bLO}I>m1;JJjkbAaO%{lCd;PJSr+S2N^JrF z#@L9I>RnmXFZcKNr~YdIFTM1`uThKs=&{FoYVYm5*NVsD(8j>?(wLl@l$S2Omp96M z>-p!u^Rrb4IQ{aeue3C^{AACby-~&(G8rFXF$9bOwJgM)IP!%8-hS&hIoEf;as0Xd zS62<-^y!li@JM9%@K=vGQb`a(Kq-air=him(h5o`#A9)2Z7?wKT2@Q3?fCKUjegR* z>2d(56*=~J&ljSE5)ewjIR^k(%mQN!j507v;RhaU+s2L^JEGKz99!1Am-7%~q^G^T zorGZllu#IBAf*Ij43siZNGAXRB|DJ7(mr7X~T zAtuJgMkR&*?Xu!)IS&mD4b69NeYh!=N^Rfpz(yvdfRv)-0b|F{nH9_sxp2Rlp&J>0&oJ+l7(_0ELn(4Jk}(A7$zm4Yz_gb=(x72?mA zE@N|RPESot=4NJQ3kK#D0rkq@YlGvT3ZS>IcSDWEe;KWHHtycNn|E*Nw&JlkJkQ11 z-;dzkQGieYW^s)%z|Q*>p4_<(u~-~oA;h)o*W_P^hlT68*Fz$0q@h1ATjs z)kJDvJoMC|=%xoZ5#RTbc5fq_%RniGglFOGdja--aSMdh$QJ~%`4AU}$MIyhjh1K@ zS{vAQ1od@wsEgNOW_H%R^SgKQLB{{?>jQ88xEj4W21wtR4-ReZ-tzR(qer8Wni?`O zF^;r%yOj6k(b?9Fzg$Tmoe_}Qzzy;kn@B)~8SLHFj!edbF@O*PnIJ$il|(ESBipxs zo)?Sa(Y0+Yk6*nq@{4~1*uTHG@1chte&)db1GQ7rlSn4#p^XM1q-^3+zSqTL=xQh+ zF_*ymA9|QgxL9BB<4fCW(YU4#zUP(eLTQaQ2Dxk&K@ec$#s_&am2B;3Z<`nyxqfxQ z1xJn?;e}#;=G)IcyEYz+qbQ0f7K`xwG+fWEf&e0R1Wk?2xSdYH^E?=%5sTHKp`ihD zb2pLA2w+$Z5_CH@nSA9mv~hfc|j98wfS?KKRj{bgs$voEd>}D zcxw*8+`fJLrsi+m`X=WbwrxXey#N5S7!##lpcj5u6tQh^Zo_pwTBPda`Lh>p0>B^! zmsg6%r8z>p6gu@nkBc7_}C%0F^>sRqe1O1GF(9lp>vWm8N8Tr2x!Lx?}UvTbwb5 z=B5@%DItV_kP=FkW|-2yrPKnW6oe8`Lcs`y>w0!#Ch-A)2mn=-h zMe%_M3zMGbP7DuUo?5c8sDfG6ml3HF{TNlkLNAf2n$1$v|KE&%0Ywu(R+4?>;s5{u M07*qoM6N<$f+>4lNdN!< literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/dcraven-online.png b/gajim/data/icons/hicolor/32x32/status/dcraven-online.png new file mode 100644 index 0000000000000000000000000000000000000000..cb2f65a03365efe61c029bdb4f75bc4eff4f35d8 GIT binary patch literal 1821 zcmV+&2jcjNP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01ejw01ejxLMWSf00007bV*G`2ipW4 z6B-h}D*1E(00x~&L_t(o!_Ajla8*|s$A4?>z0W?kq)EvI3291-w9wLmFjj;*q%hJt z#&PR`fJ}{OJ&~`u+wWUf&XbJ>KNVp`Bdq_@l zZu_=AA9506un07cu93%Q~1ui41XSp#@~2Y1`?*wN+92UCQn zP}%}rMmY95Cdwmb3=?Ls(;G0% zfCjW(jkYUMx*TOC3C7;SwhZ-49!^>@w%&+ueS?K+N>{B`#%o3EBua9Kxs0|d&^m?E zag=gV+QHB6Cw=?f3ZZG%03?z|C(!_54<_oxglEx2DCK~%P)e7osW4$Tu|zFKXq+_w z%TlNO{5gaOkdpfN)!xY zf&ol8jEORc$s(qJND=MSlNoFcqKI9y24Etyx9{xRKK242jtK{df_|cK5EEU&L>Y`3 zN9jti7BSp?Dm22|vj*_cQyg#4T-<)<@Gk-tUyl%*C_ylY35PJ@2pM><&6| zgD-#S2~K?KbKtALbw6v_vPq#fRaexxYm({I*!lbP{mVbkvg(&G(HMviIQ*^qX+CVZ z#2t%2GJh`?^8KS1i-_!qjM}m9yWZKG0%+bIyT`KC>j@{lc*UZ%&eHj7?6P{e^Ka^RvC*@qUGxBFCOC{`FVggG=gHt$Ors_=t|?#sQz>81Y8G+mhqcVqqlnc@JgLw}{A zY?)fO^c%_cOCSAGz4Br69`V*sLReF2pC9|?y>+X$Ji6?O#9#Wib2{@UBJn|~Nk9ac zlURT=?-0RI8}025J^jNp)V@W->cgZfD(KCfMkcExAVwG|^wO7YXJO3>$McJ|pZOqj zu6=KGa;gN+Y{waiRb2XB(+f4WtH_2|$VJ0k%pIdEcl0U*P-fS#IJKV3nRfcJorr;& zR3r1s7IAXq0Heh|#7qbq196>ZPP_qEr${-sBcbBGGrRk1jbH!rW`ZftkNUO7p&o2kL^d^b9Y6X9RMm;tsQNQJpWsfJ{ zIsYQ5Dm~ToA`^y@iM0_-X`YNee?_>jY8{=uC-cMp#hsvcn}`c5`@GI=+c4KQVQK7n zI@b^Mf92Py3!@DEFm9)@9fg>yeSpX{5K}NEvs`eU1i5fj+s1kB&CU5; zQlf|ZB6M!Wtfa7E!T~^u9HxX6C-B1fROic6#N`TKQF~%!7KRrun=UOVy^JVeLwJ@ z1j3SdIL*u_y$2=%oYLC*+(u_Xa;|E0%T1%>szxiW?@<;FmL)X;mWUcKo^%DCv_%E! z@W%D|@k?^<<2Ql}GlYX_FgNsPq^6nv1S{=W%nXxhv&>BW|IPR(vexdX0|5`<00000 LNkvXXu0mjf*bRB) literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/dcraven-opened.png b/gajim/data/icons/hicolor/32x32/status/dcraven-opened.png new file mode 100644 index 0000000000000000000000000000000000000000..d06c80177a685bac5291c3aade32ee7492fc6b6b GIT binary patch literal 212 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@;M7UB8wRq zWZOZQvH$7ERG^?_iEBhjaDG}zd16s2LwR|*US?i)adKios$PCk`s{Z$Qb0w4o-U3d z5v|Dy60D08M0%P64K6V%E3z(pc<{gG#)Pk@wpP4NSahTyi$N?&bY0ZOHkIbXN=_X? t<_{DNUNJ1X%&@W0OH1N|09-d0LtZO~*fN8p#X!RuJYD@<);T3K0RZ1!L8kx! literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/dcraven-requested.png b/gajim/data/icons/hicolor/32x32/status/dcraven-requested.png new file mode 100644 index 0000000000000000000000000000000000000000..ebc054418a9c10f29585f92b50435fd040ce37cf GIT binary patch literal 2058 zcmV+l2=(`gP)1c53lCAETBb!+0!ra#q2Thr8PHSLzfAB~|+V{3{{8lhVM&_rA7 zkD4|JNU1@sNCjoFE6eV}vdqrT&d$uv+#jcZ%(8-3SR0a_`W>yYkUP-o3UP8OfC}iv^K8ZPiwnQT{*#Y6W?R>D+qNeX#r}8iwB_N=;ws%@ z%bijhd`9|q-ek5t9xHBL&uyP3=7cNo_YL|xiN;w!n|sOANpaoS{2y_Zz2HYt;VFcv zOYx+5Z`1ciO8G-~ExwUopEQ71H_#Tv5^tTmYEz>xZ$(FKC_RbF;99&dB5oM(vIL1` zsMu$D`{g^b&dI!`H`0Bg*m@!WVW2x^&cCHW>|S(u8Y-9yQbdPM=%4`=)S+|=JMt3P z9$L@5upv-%OeFS%0K~B}-Lg`N-G@>UN(x{*(Ln<`NTGBsO2<$thAnQQzGaCLVdaF9 zo5&(B(ilW7*kT_NG=eRnsGw8?XcW4di&A*gN0e?vgvOHwfL24^3^a+&;`}yrP!B3Z zdr|jQBzo#*d=I(IFY$H|qyj{|u;+HRyjf!P?6>^Z z?n?{%_a6ks^WOTkzh8IX>z@kXx^LdKAXXE9v@V^Pefgyq*Pb z7*hqSuS?RHPSHP*kyp3AKAO$t*6(kQZhNJp!yeHb?}7IA_F!tzwDJ4}^Dg_wjaSu% zQA{1o3^Q6bh)A{hL}*Oc@t4>3fQpFK)G}NgW!Ikl3}iB_UOb0l$>F_VtRt5%aA07N zCkaQ`R$Q_;-hE(zd|`CFGJ@c};JhP> z;+)k|rgP6$w(QKZx2un7v0YrbsFig6H1fp~&Uu{oc;|7>kuMY($mEzleOeTtrshV2 zt+n*V)mWUt-@tPRvR1&4Y8cS>2wA$T!-oF{R`xpSUdTi~l)_*+~hPp1DFwQYHki3DCe)_M+QhA5QEcwf!l7(+ukNqsUwXIFP6 zJ2YGx$&ct&qy)SpAe`x}09U+>X+ANv+O^+?AE@UO4l z`h&y$1G&3{FhJ>miZLM7ZK!4`IOnSSJw8_F-g|-|Bnm_F`GSr@^Yh0ZdFbFrwf<`b zj**94sDU76uf9Xq%_ZI<9=HE zARmnH{P6(7Am|$&DG=xYV=NV0bz>~XTCB0-Wj`YBoMTG zL``3TN}fuv{4v7wu8*S6oSD)(cqV^0Q%(qAjoXpU4U1CxLvdrOZY{<-%y{+|>m2hk zPg2v|gq}PLIlKeE<#zlV4^!IcoY7;eKpqbp5rd+8o zS~ir8sS4U^_ba79APNI2VIA>G85Koci_Zwu1(EQkPtmq%``({hQ_ak5)j&Rs~~od3@ai*IlsU>N9#8o6d^!B_ zWJIM9;-W+;R7vn7;w8J=pZ?C==FO|3R86gl$3c8GbE$5LluEcmnWFdp$44?go~bd{ zpWuv*{s=H2UEgJCbDe%Vm^`UQH`Yfg3=m`RLpkFPXUk6H^1A!kI1zyV*-CdY!w32& oBCJy48${_LrFc#|f6PtzA1H5oG37|MF8}}l07*qoM6N<$g3I^(x&QzG literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/dcraven-xa.png b/gajim/data/icons/hicolor/32x32/status/dcraven-xa.png new file mode 100644 index 0000000000000000000000000000000000000000..72e3996c6961d7a02b1cc4a187ddba4b41b55d28 GIT binary patch literal 1786 zcmVZ#+NK%r9fYc@tedrT?NF^fmr4MZ-8Z{Cjp-Ef`rD+7HQWPr>X#$}&h!4{) zHZ}xo>;={z`!TzonS1(RV;l!>A+p+${<j9Z6s=OLyRagqe1f5mkz4PRTIbmHv1oxN`h z0HL*}Zmrnz8H`CHT0m_d#+i#TDa2GE;vpu+SpI!#=C=q+>#PB2q|LF!5(uwgqbu03 z3qyoR48%di00Ia$yhuDzk5!sy4Zv~a>{ziE#bV2+(V(9w%wTOEwPn->pdqReV&+gT zW-uHoT6FMo^nat&eI66Ki1PYG)8d9GEo#8`*>X zU5CbSn}8~8m>~)ViNdScD2t6our`O7dEhMP+NHChRSwS@z}jt`8ve({Kc+w09ZHhTHVB|#R)pbvE`gZoNI0xPqSq5w~#%!CrWQn)v2Xj(K zn(r|ySFPs$x;@w^2Ra7CIC5z_|2)yhcl(ap>xc8jp`Mv`}X9b_3I@%bB6HPF>H4?8bzG^-lP0F{1%UG zdWayh_@#h?U*?nJoxC7_=fSpvSXIn|1;kofaF;D3+uyHe4j=aYZ1$H=!ta<8^d^9a z{8{9KhIQ-K+`nT-f^?eld+&koBW9viR0+2HkQYX3sb0L2g$oxl7DimUJU}#hp5Lbi zF|WUkRYk2uRk1+)zWZ?Qy_fD|$BKPNj~?Bky5R=I{*m_UF^^hn#~fPIz@Q$B#0mr6*qNtm`5I=(A`bB zrw3If-q=WD=~9CBcEZ8Io7r27R9E9RG$5%IGH)IQRXPqF7|dCF*ACTSvIKvruYbu+ zrFMy`dY)IFS6}ZoZQh)e%a_R?I)o>J0aO*Kt;K0afCX(Ibf6p?IgrK_W(==b)%Vc}f^7rNm5ORAGK{lb-Oi|QaS_`1l2!oa|b zZYo99gq=4Uu_DBTO9{YDBq(RI#=`EWRIf~r1r;XYGpYkpDv9-d+(cqLvx)2`*9tO# zxGtK@$xOj30st71zOhUOx29%tV>_k6rU&JQfLJ0yG&+h=?XMW4(wCxou9V4Os;jZq z-V8c*oxu&0NKhUg1~~Vn0Rq)irEAyJnOXvCCkKt4+IZ7sJde`Ih=!^szcc`l&S$eF zl1Z%Uq^3Gxr(`|#vx&zk=5jtz@nTvLK%uLU%|^!aKA+*#9+;sFxGu%f(MVy&lMpKW zGZGPJ7o77lnK(5yc&k@q3x!GH``BU;wHArTF`fsW2eB9ui$N-dKRW7lK=+SDJRkxh zoi=zrH;82XcIixjIe@!gq%ApTPHXkTg<&$8bW*95=OvTkc^>hqDnyl1K2Ir^!_Vin zP%M@Ug+l1(aA)?@Fn-q_mzhB@eoonG(kZJ>xBj*O c{uj@G02b#-9{SJv<^TWy07*qoM6N<$f-=Ke_5c6? literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/facebook-away.png b/gajim/data/icons/hicolor/32x32/status/facebook-away.png new file mode 100644 index 0000000000000000000000000000000000000000..c89b9304dbd0114a3626758b9c14838f949be6b6 GIT binary patch literal 811 zcmV+`1JwM9P)p8ynh=-rHO#+s?$oSNPp1JGb4ue=A z3Q!;tr6o)wi9c)5I_3k=$Y9GPuLUr`R@IB&F@Z>sup6QlbnaK~s!SOn5zF#?5T10$DMb^W-QPD+9N_i(h?$@;p(&2T5ce@|AEKnGW| z-dzDeu3RKJD!um+{9;@G8Nd{@A~1m9WB>}77zqV}KH!@e{U^{;0s5hUNx2j=u{X3HZmvMfqgtcY=r>9>>xRok_?1LBIUOhg1dFI;ZH`gtKlQtjlfL{?_2?&Hx piZqakyhCrcf(FWjgFK3S`7ffY&k&BewX6UD002ovPDHLkV1n}bTwVYG literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/facebook-chat.png b/gajim/data/icons/hicolor/32x32/status/facebook-chat.png new file mode 100644 index 0000000000000000000000000000000000000000..65695e9e541a77e61b7f0372e09efbb9e7bc8b94 GIT binary patch literal 1054 zcmV+(1mXLMP)BMty{Ah1T?7h zmsz^KzAxYawaq4nMk=Uk=ZL-S6G{eD-L9M;7!G*p6Cqo~?K;MIczym@+> zAO)VbwqGwbEv0}KR^XLqCcD5x>$tkK#?_l^RQi3Us>53fNDcu(3&+5b!W z(b>vLBLwuGX{#7<|vsS?>&;!cAXta6f^UGJ3PdzxaY`L8R3e5k%nAOIJF9*goHbBZD0koVH@isS-twg~cW7!urJ+ zH)<0YTKW0oPv)B&2No7@%!rt-FQvUORTo9Im9N%rTsj}))&&>?s=#F24g)2M1^#`p z0Sl}H%fK&jd)EV+z#ZUspbqrM1oql2unDZjcul|wEh+kdfw=YA+ugTKfsocF@5OES Y4}~4&IUUPDaR2}S07*qoM6N<$g4S;A^Z)<= literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/facebook-dnd.png b/gajim/data/icons/hicolor/32x32/status/facebook-dnd.png new file mode 100644 index 0000000000000000000000000000000000000000..c89b9304dbd0114a3626758b9c14838f949be6b6 GIT binary patch literal 811 zcmV+`1JwM9P)p8ynh=-rHO#+s?$oSNPp1JGb4ue=A z3Q!;tr6o)wi9c)5I_3k=$Y9GPuLUr`R@IB&F@Z>sup6QlbnaK~s!SOn5zF#?5T10$DMb^W-QPD+9N_i(h?$@;p(&2T5ce@|AEKnGW| z-dzDeu3RKJD!um+{9;@G8Nd{@A~1m9WB>}77zqV}KH!@e{U^{;0s5hUNx2j=u{X3HZmvMfqgtcY=r>9>>xRok_?1LBIUOhg1dFI;ZH`gtKlQtjlfL{?_2?&Hx piZqakyhCrcf(FWjgFK3S`7ffY&k&BewX6UD002ovPDHLkV1n}bTwVYG literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/facebook-notinroster.png b/gajim/data/icons/hicolor/32x32/status/facebook-notinroster.png new file mode 100644 index 0000000000000000000000000000000000000000..faaaa1ccd5625bcb0468cfb551506e3d3e0563d7 GIT binary patch literal 977 zcmV;?11|iDP)E8$}p~pKo@(uH(`=1=W$#LYvl+;DkgDO%O=X z6A}$@jVe*vA3;^YrD@Y^s~(_#0Er7oaD-DKR#HIXLJuWCB}fG=ZE1*Odv|t*!>*mo z#)<3@C$D79&hG5K&-Z=fomsKgvYYZ-2QN-c42w3?*4ilx`F@xQG)3eS>#GlctX3Bt z0MTap;K653zc6|{w|8$5-}mu-AJ6mgJcaT+JmsO3LIe;&5G)pJEY=!~F~qSUHZfXj zVjZL72(2|yq^Z?v`8&VdJ^k?EV}P>`fVFn&`O#y!f1W&M@!lW(NC1UGfze|}a@D^d zO|<}28vydfVv$;{))#Ytdc96@V1TtH_SX*ZJ#Who9~?Zu9_0G{d{U}$KF z_s*On2!gK0ZwjE4qF25B);sIWwbm>wEb#Nf9g4*wN1i*nYM9Bg10YIz1~`29*>&fx zUBAlw{9MQJ*)lsJE9o8J(C{IrZ>{C_?VmOrpDnYS0qMR3moCmAN+=Wx&Us@D=ik53 z?$>I|%v`y=3gEdO?u_U`l}ZKakTK8ms2s1f`%6np&h>1NPS4W+g(*AF+zj-vGFGdz zh!Q5oUtV|Z)_3!0tpQkBS#bf_1i*B>Y<3$!?=pbiff8hcbpD3pC&n3jX{_Uoz3iS(y*Wu3h8?e! z%Vj?O?2FC-o0)Wa?QSHc)P_rY)s z63}6@ar6FPf8I!a8v+~vhJlf^-3NGU!rBg5AO@CzMc~)8{nrOV;0bUKXaI#2V7nCq zb>LCz7Xn5|Qn3dZNZTCS8+}U_h)9B5N!#c@2&OL$)_XCH00000NkvXXu0mjfZiv9> literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/facebook-offline.png b/gajim/data/icons/hicolor/32x32/status/facebook-offline.png new file mode 100644 index 0000000000000000000000000000000000000000..2ae605802e05205bac01495e1cea2e78e2dbc73d GIT binary patch literal 877 zcmV-z1CsoSP)4l1m60T)|5ET-Sz$;W; z@dm6bR){rgUVsG%v0%vtfy4qKL{+swCAuq=(rc(_lJVFqW)d<Kbeu#-kS&4d5R{H+*z3HVGfM=WsgQo_k3Kt5= zl$S!3phO`eNK`5%fFM$PBwz_mv{?J^GRB0ZHCSUX#!xDky~S^fQ|oK%0C!^m#+u1O zA)gGiX0x=>4+C%h^{?2e?+{wtU3i|y z`LlVl*&La42G{kl)}VF3PHBhtAKpb8Dt2ECKqQ`QH^xq%;qt|+Boc{OyGR1pP2jq2 ztxZWwfX*Grq%&N(bQPr%`*&s^2j~Le{JBDtxG{!eaf_|uCXSONo6Xiq#5Lj$bSw`8 z0|QNMvvV`7{94|%eD#;=Vl$4Q06QdI0gM6psLTNgdOI2{5CBDB30REE-wsd#wt(+I2}nl( zy^a9b0oEhE3SflLiWK2MOc4!^J^)z2C;XFtqSF5hg6tL`ZXFjY00000NkvXXu0mjf Dz*dOZ literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/facebook-online.png b/gajim/data/icons/hicolor/32x32/status/facebook-online.png new file mode 100644 index 0000000000000000000000000000000000000000..65695e9e541a77e61b7f0372e09efbb9e7bc8b94 GIT binary patch literal 1054 zcmV+(1mXLMP)BMty{Ah1T?7h zmsz^KzAxYawaq4nMk=Uk=ZL-S6G{eD-L9M;7!G*p6Cqo~?K;MIczym@+> zAO)VbwqGwbEv0}KR^XLqCcD5x>$tkK#?_l^RQi3Us>53fNDcu(3&+5b!W z(b>vLBLwuGX{#7<|vsS?>&;!cAXta6f^UGJ3PdzxaY`L8R3e5k%nAOIJF9*goHbBZD0koVH@isS-twg~cW7!urJ+ zH)<0YTKW0oPv)B&2No7@%!rt-FQvUORTo9Im9N%rTsj}))&&>?s=#F24g)2M1^#`p z0Sl}H%fK&jd)EV+z#ZUspbqrM1oql2unDZjcul|wEh+kdfw=YA+ugTKfsocF@5OES Y4}~4&IUUPDaR2}S07*qoM6N<$g4S;A^Z)<= literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/facebook-xa.png b/gajim/data/icons/hicolor/32x32/status/facebook-xa.png new file mode 100644 index 0000000000000000000000000000000000000000..c89b9304dbd0114a3626758b9c14838f949be6b6 GIT binary patch literal 811 zcmV+`1JwM9P)p8ynh=-rHO#+s?$oSNPp1JGb4ue=A z3Q!;tr6o)wi9c)5I_3k=$Y9GPuLUr`R@IB&F@Z>sup6QlbnaK~s!SOn5zF#?5T10$DMb^W-QPD+9N_i(h?$@;p(&2T5ce@|AEKnGW| z-dzDeu3RKJD!um+{9;@G8Nd{@A~1m9WB>}77zqV}KH!@e{U^{;0s5hUNx2j=u{X3HZmvMfqgtcY=r>9>>xRok_?1LBIUOhg1dFI;ZH`gtKlQtjlfL{?_2?&Hx piZqakyhCrcf(FWjgFK3S`7ffY&k&BewX6UD002ovPDHLkV1n}bTwVYG literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/gadu-away.png b/gajim/data/icons/hicolor/32x32/status/gadu-away.png new file mode 100644 index 0000000000000000000000000000000000000000..7ac86af1e2483139a660140b2a44e6a6040c1128 GIT binary patch literal 1999 zcmV;=2Qc`FP)lb29po~=R&DkX&mYD@@Jq7qa=ttvr_8mX-We4UPNTR*7~KU9kyjEmpY4l6ESguBbVOy za3FK?7~QWvl``4fL)z6_B2~53RhO-aN2@PHd1FXE3D%e z^F{!mqm|W8DDa58^e{=HL-<@RW9}#(V7QQ$|9-fz@$OE0&EczZIeQhe?m!)*!&-puk9o@ zw?YNtWi{=sY?zK~S^+xX{-kPkbKK-Rk&$7XOC6j|)y9G=ZN$({x=T^MReqxmsSgY1fm#j3vd$+Ul@ZGwr{SN#k zA$%uX8q_wAi6n5sE0FwuK|ES+aEV5sWxYOg39LuUdP6iUv|Mk%dPuGlC$a)_K^kSU z=wLKhwg9hV6Xx({^-)JFtD(3F4{z3e4cC8fL9}iON(7t$GM;3tVmsxF_h5&94K{P; zh7exqy{Bc@ONx6Ps{} z&Sb3b2c5ABOy(d?@FHaVQ@*uEvvs?}wg>XWLgozeY);tvWI0za&wzNS@THi{yXcWP z)`EE1@zH)_*S>{6IUSsJ3T}NKqaC#`)AupKR3q8p=TMQgAkeZd%hEcZ&0C|qzRw{s zVo4+||JWbk&R@-;y29hm>yscF6~C73$jbyin@4)^6xvY-3gl+BO)xV^Z4P7Bdl9J1|q1+d-2kHU}PAb zttHX(!I<&ochhm5I~8x%U3JY@H^$}%RA%8GN)|kZvUz0a4~1-aj-9XO{s?g*oId_D zBJGPveP-l%*RhYA+T@}cr(y+SeEUStf8JI~R}=1C$=HdXV*CMg&10z2Z-ZL{q6-Mr zqRKX)>wb?h2~MAUh)`!0m@@j0_9!dz#B}86j6g>#tCg$YXt?T{cyw+JVhz^xldXLZ zT~;wh zejVA71l@c0vS4MCl+2r_jN6T0)`uxiBSBMGFVDdlj^HFJanhBH4JM`kXpgF2R!<}v zBsHAm#K$MPo7!e@A?e&i%qnMO*-f_u(uo0j_wP&DasMIhsx86N^6Ghu8{+ZG3Y4D# zKM&R*+Qo`XIx)y#??5V_P7jEYZOU~XS+KY|9*c)Kdia>9MP_^@+hwiXjAB5noOLNR zhGrd%1TVgF6V?qN?@i_rC@l;xMr4vJ! zC?$wey=$MB5D=tr+=Rj%Z8C}l^i@$*py+G@p(4UXMC#*oR+`auqlwYX?ryp7 zjb2U{{}U{ZcPGJ_go$PUq9jfc;G74OBcqC#I%_itlly)VW-{TqY{L0O_?;>JiT1>7 hCIn0sGWp$E_J8rU%l8(-)Uf~n002ovPDHLkV1m}A-D>~< literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/gadu-chat.png b/gajim/data/icons/hicolor/32x32/status/gadu-chat.png new file mode 100644 index 0000000000000000000000000000000000000000..e95ccd2f978b0532ff23c949e8331a24db4d8244 GIT binary patch literal 2158 zcmV-!2$A=RP)6 z>9@h&^YLSyuK<^n72_8!3}6f&zx;9~wml~GZOxiBMQ)G$wNz?$JRUCuaJgJ3wBx)U zi|TbNSFUV0U*0~e0=ws-hfMFPRi+Z0RQ=;?AH8!!`MSuFBZuv1ENZmYMr&=Nv8Xw6 zFNR zW9U$t+S_|QU0v~cOP6^8rj$%W2yvQUtsS&B{CwX0%;%ne_9@`XGXzvXmQiZntcM?V zbv86y{Nal)?x>7J9(YO0W&UBq0>$IU`*KH&Kz4Vd8yf+bI(s(8<8eQelkLvR%EGqe zY=3`S+UQNXp#)!+k9a(OIi#6_#n4-A+uwB7*N?~@KAcH++~NCgW##(oX3Q}D!a`x2 z&#{X>fXh!pb}Z4U+YJW>k=?VDP^cG=$3w}aDJW(2ML}zgAb6*C<5B1m1Y-BRaZ#Oq+TOfk0uOzj!=OOG`6vZ`&N{?&^BuzTd1^ zD1*TKaVREjlBQHN68z$^Xv+E>46y_i9Y^0GK$X zH(6wQp>(?J8+i()(;YH145iZ?6j6xoLwT=;F{e<`DAMb7e+%(SaH^#|QVHYw)!BKH;(ZmvdnCxC&{8^esc$Y#mvOtyZc2zF|MCpGVU>|*gBa|sNIvv}G`FcRS_ zA>8tB8X==hHUX^S^;I7)y^~2(P_bm%Nq#k>17RFQ-rd-d{lvc5gRCiLZ(Ut?Pb9K(6MQ+4>wAyl zv6ClXI&_#z*!S!tXXILhj$+!M1*i9{D_{8U!6+|X4J(miv^g0 zTxm~20mjz)soI(vAzZ^yf4`Ql#^pG6GqP|kB4;L8g~;g~+c1G`F>xPY)gx*I#i3xjr8)!62U> zJlMEE>!NcCsDLb&Qk^r(%3Q${C#c=Iv&W9dA5c;*%N{&9Fly8&pWp9CMj{Z4B@P(N zLMugUYb%Ev8+&@YyPIvT*ISnL$kn4q`}{dMytQjr+}3*VV(2}01eDt7Xgya7k@it) z!wu5wb>CD{0$Q`Jrbfqld$k3-Vve)E9$xzc=n5F?mhx2%1xkq57C27n51N8=S@KyP zpEZ3t0GqdNHF2%|OQ8M#^_6xPoXbkU7T{>dN!%O8*j@;okFW3hF_9z=D%lSrl`1I@ zwY9cht^gs#@%hGh05^&4W=Ooz`XhOPoNfb8LXi~ZN;*rylSD=m-h5;Bsn*sTziDX+ zeW3N-yP+%D#+~eM^@Hk%)U+Eoa}9_AjnkojWJD4JNA2`O|FWHg)1UBcmU5m7zZy_Z kOV07*qoM6N<$f=6!=tN;K2 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/gadu-dnd.png b/gajim/data/icons/hicolor/32x32/status/gadu-dnd.png new file mode 100644 index 0000000000000000000000000000000000000000..af7dba91c4a3000a5d384a98ac22cac312f3c281 GIT binary patch literal 2116 zcmV-K2)p-*P)o8C|LRqeWSOx&%Muc&eb@Psr~h^?pNcub+B-!lwZFtM65}v##CHl@{2l14+H{(_dffqf3U5M4_$&xwdu(2DvGD9C=(#7LatNl! z69Yy9a6A+FMH#+m8NHpIw)M~;8Nb>`uj%G6EJvlawcytXnrXCtnKp`)`tQ z)5{1Uu+cZbIA9H663=8CKO+197Pxrohp6Xo=X{rETMr!gYJ)Kq0_9#}8&G#-s_ z8=?+0zHLE|VMh-VDtrLF_zbxP1$eMDRk4x)4X~g|%99P?#liDsWCWz+K-C~BbPG0i z9IQ+2Y9DDKs9hy5UjpM&yGoNb%~E@}2IFF#Pf?*;plTQuiy=dyKqt8Mpqr%psvZ`> zcoH^AdG6Nr>u2WPcq76XPzpORK3;@H^zwwW=GuJ`L>B#l!T;Qa?`JCz z85v+L));!byZPkfk2^LPGwYj>SPMdcl%O^E{o_BFOJV+2@`-Js5|~MBYe8#-wJ2+` zXO9CE-k1(bpnS^dM8r9YY#Ia2DoFk|} zIW~TlyKa+g+pc(iYmD@uzKnd#v21%WljZZHU|qztDs;33j%8v1<2dmdkX{2G-<+aX zX61vRcL{O$!s*j1aw%tQNfXmc|A-ygOYO=r&UFQObXyufSQ}+Qg$EcuIqB!mZ-l9u z9pif|hZxusXXwrM89nwD#<8g2`{WDJk#Fr4yDnuVd=1uQ<>WLhU$Z9ct=dgm^=5qj z8Q6gr!D{xm`gwhC8mHR*SZgVp?frtR@jl)Rpt@+tzkxd_1N@2CIhQ778o z-XXPKF%LSgDIi&j7p_<_H-Cm-cu&4Z#+=_HObpxqQlc78&H-cia$}Tm)_k&VuEO^B zV;u*CK!ie&naR+J6Z%3+%bB3om6Z^Os~kqZ2G&|Dx;i>mm(O2@_%wu5x&wc>5|#6K z;!k=6bR<#T{Y4BPn2pmS$zQM-)76EI#}gM8t+9@Sy?BvONr@aA7?|daj10YGZOc_7 zP!EfgQu~(Pd1pAgs0eEeMxVnx)PlO9kZIYg6UVWy0I*oEm(%w@LuSTz2m&@5{buV; zaFLcq4CrWX{^Azby*XtP0{EqDTC{w5IJ>Bb!3!7opt+fa3m4jgS62y>-Nxv=2B>-w zGQ7lqi$2DVLjIcDN#D8^Rauz|7Vopq5YIgao_FbDa)p38NH;>v%$+rh^PQcvy!T#2 zyY5r1hYxR=o|RQpR#q0y>sf}}<3K!~n4Qmu8G9eAbxPt(W-Zq9KnOQkq*7nWlxoz* ztd~Oc#ErTC5oom_8enZesVyE<%TOq=x~2w<;hjT=OmQ?SN^5FF2(Xa|Hq{b@Lb!nd z9S0A#&Uf8KS6zY)TGu8OCvE&Pu^X*-?+0IJB;r~xu>|o*L`Y+P)PMZ=?`Bq4r`wAc z6XkrO03i_B+4LVdGHQ%@If*-^?}8fe1ZbmmlE`a^x>!%o>7i4nTv=R<2nH|h0uc-% zi;Ed*Yty4WJ>6F89Z9TfeN0Fa+f+_)k$fsCPoD4Vt5kpxqWwW@eNP*+e(kYi|BCeW z-H=mWo))_PdeEBq@Gt|dt)r2?zHVjAih1Bpi0ox1#!0W`5>QV<)lw;U0OA8<9{Uq~ z4wyoae}N4JKHp}kb%_OyQeQ@l+3~V5e`|m-VEi=uKLkvOh#-+4b{y1<6C{0N-y3&5 uk??Ak1W$%vP3kAxOcF3z$i#P7*na`G^##epSRV)g0000H1sV1 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/gadu-notinroster.png b/gajim/data/icons/hicolor/32x32/status/gadu-notinroster.png new file mode 100644 index 0000000000000000000000000000000000000000..fc53528ccfeff79ec26a817e32521d6c0d20b394 GIT binary patch literal 2104 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 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/gadu-online.png b/gajim/data/icons/hicolor/32x32/status/gadu-online.png new file mode 100644 index 0000000000000000000000000000000000000000..8d42f25f99e34acde5be37ca16f111a30f45d782 GIT binary patch literal 2002 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 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/gajim-event.png b/gajim/data/icons/hicolor/32x32/status/gajim-event.png new file mode 100644 index 0000000000000000000000000000000000000000..20efb6f9047aad073b0043095aae0f72f6fc7d6b GIT binary patch literal 1073 zcmV-11kU@3P)A0-0|0vZqphti;Ow+MPbLzrQYw9=Mfr-R ziIipAz42)BlkV>BCjcm=P)gB$?riAC!2uQr@_I5KlHHBfA>xw$mr50cK}s z2}i<|mXuIeTSsY0DV>)u5sxSM$+>}f!XLRk>Lo%UN64gz6?}e_khsw`zt6c zEFv--W@ct)`4R{rQc5X(VqzTs9zTv#uq1IlQu0a(j_oi$@r*zqfDj@jgfNv-uDJoA(Fqop|fbx5aYx`oH4$`xzLxuPn>H4HO9>X3`n(JQ)1t)AOX_ngNM9g+pMyW90iZZeZO zbIU?Q6hTq2ah~9+=g&PkRf!%3 z;59)E0A3eBcbBu12)}*gr@wRu26kuL+q*;*VT>6R$2wBV#7SbHH6xovd2;gI?9pcj z<>A36+x$Qus5R6u03SedH3+%F+Y6f zv6STV_KlV$+L*Z!$GW05hf5P^z=&cUDJARu{Wq63ZtC%eUwi3G4L>;wAZTiW*96d0 zc7FDaZ$6m0=ia^T*=(-rIH?{Xs6+&^W9E4wh@~VU1PLi2 zgn*EO1QCeAU}BKWFMjuXKQSqb?sd{)D}d~Bn)^rwN_lJlfp34`>F@uHAd)kdMMMOT zh-${L3qTW*1)%wm1&{Fd!afTUc7KN=ZE_5O+oUC831tSC;LBb zDMgo>`{of*D5ZduloEo9Qc|mJi&oo~ZH^<`vRSJ&ld+1nBQi22QY0ZD7#cFTbzrwA zCEW@j--P}^Sj&{2*b0vy`0+6XOTL26bkzhV_I zfWQ9t{HdI@%!Wus?5Rk5Q5-aaXtY-MDqaxJ2ccTDz>LACfBnR5Z=XA(Y|Ac1Mj2m6%2#n%=;-ij^{KoY zMT=e-)f!<`bA#BuJTWPK9W^4Egh|RMCYZc%N(<9t8!wHV>vg^4NYew%sy;9=8_ogv z#ew_3QmIrXZ5@C@t&GQ!irI*>BO|S~(D!Pg=hg$)b-fw8y(|50B$H6vMlsmHlh6&f z^~mp^>OA(B=Z3=Aj4T0IRRb8G2@l3$ZRd-}hEf>|-4s|b${>i;g|?ENN>n4mtTmI- zu}-$vW2ztp0|uiZQBLRkUV7or<)cHtvt}3KM*-BAXkbmJAs2GitN(iA)d$ALCMNoC z?k^V7CA(2uNc+BDjQzzeDe`-yUfi5$a&+8~ws3+RWpgr!%g_Jmj~gEU`N4MA*Y`!r zoNWT=Yi&qqQ>U|&2!9Z%{CkHE{iZve5`D4eOv(~Srv)+&frw!YL)sa);pv&fgM+D~ zLxYy<>jxTM@(O^(=1IuwX~_tH=Lc6+rE~p)l`Xq9Nc68tH zS+uveqowGewdjEK94?PuM5R(KEa&$tg|*g!x9`5|d4-lQ*BdqXGs9>sTtwj25CkD0 zY-DnsNITgDz>n46I~1DIaYivQnNv-ihs?Cx^T+jc6uZ|^;#ds91Iy7UfCzct3EPn~6LSWV7``vAP& z1PIr1H@sH86ajp`tE+4H(4j-TYu7Gz9A_H9j{w{TU~_YfwbsSaIv`|oqOSqy0B{n( zKLN})J%7y}upWT-|04m|0G#Icxas$5iFvIl{s$RU18LPlYkmL#002ovPDHLkV1n)C BqR9XN literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/gnome-chat.png b/gajim/data/icons/hicolor/32x32/status/gnome-chat.png new file mode 100644 index 0000000000000000000000000000000000000000..1d1c8ba02b6f3efc1d59902fde3117f6f5a04e78 GIT binary patch literal 1725 zcmV;u215CXP)TAO3R(&2D8V1e#Hr17G}nyxXL9ek=jUF1m~$>S8RrMKFQwhE*yqRI zdwth;t-aUU@c;I|-qbf77Xw;=)=;{EKEMdS8$bY5faOq1fCI?C1E2#)DW!T7iNyCz z(;SG$;{$DNZ9nMl?*6{xIBl-$8bJ^!!!Vp;vAAH{c1|g^(B9tuFrUxQ0*gQqu-=5B zJ-}~(j}9I@Xy3YZ%gyC-zGYe3_kHm^Z7QZpw z>w))o?%es;3l}bYdjJ0YYN1dN%d*7xeer!?f*_C}2xKh~$8n@yuS>aHmWK}?+7~Zg zTpAr6{TuKr;JaT3L;)k6ot+=-*|TSEa&pox6bjF4AX;m2T~{2(5yx@Fwr#O2ORCkX zR4Nr&US5`Rxh&;!SxTjn)M_=UR;%K=u6Uj&zVAz+P>>TRPAr8?ycK~k*8uoMCX@O3 z*x1-xgM))8rBF(twdVZ!^ArjN78e&AgKgUe!1sNEARq{W&uLVOEnBv5{P=MU!$3qx zCX<{xb*fKmedNrUGZt_<+&KWW13w%Z8v5|^<;zyHuSG<()(xv8saC79yu947zE~_u zKA)GRr6qaw>XlTh)dqW!+icsGsi`SzWMt$+;9bBl0a{vGlAh-sJbd`@;NHD^+vD*# zB0?+{Lqre}ip3&^VE_;W0a|Oc*7&}Uh!6w;zVFl9+e=SRPlJg@a4Cgpnxs;x_Tk~- z_4n@GI{}G&Q8{?TbBZM1HUuFpRH|eZ5z_*bgOBajY*At8H+J8GSYZ&{=fD) zlC}RMK;7Nl?AWoR9oPtTnc<)oAmzHQxz_S1$i~LT8gA(7>cVwhT-U|(Ja+Bc#i2uo zn3$O0&Ye4?(`kBodN_9M81Z;~l_5$glF6h2BmmP46=z>B$G+v@i>V@g4Wj7Rjh~zzV8!{#|6+pix~!$2V@<`Nd`d>kHunN zaKZNN+Yu48)(uuVIy%r=W7{^hT8&McHnDm0W`ZCfa%ChDXv?xF7KOs&*baXH}I!XjyYu!*D?H;W) zmSxF<2M=n%9pI%2;JR*JME*QEIr(mXe}C`L(9kLilu`^24}amHBPLoI^SXo)&$&)7yKu3=rrMI`Y0V;}m5h0(?Gc`5kT)ldAUTghF;Gd!1 zRc#2kux;D6;)@qAq+YK#(rk04Yfem#<1~^^)UQp?*=$y>UArcs(q97UFH1%XK(<<~ zCYmER3ZRJA=3Nre-+X#Tz2i8{&dzf4=FRHavuEdkGr*0oWRuqcumI=z^XE&sT<%&| zSJzKX)BJXn7b3+`hHR!f0;9F2UawOq6y)~p+n-&!bm_(1+}y|Ia{2ebpVpRUYXJ4pZ56|=PeIKp0IF2KwQprv3=R$! zlgVU0pU+n+mC94caUOY|H&?6GUTUo^pcaF00000NkvXXu0mjfDt1=X literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/gnome-connecting.png b/gajim/data/icons/hicolor/32x32/status/gnome-connecting.png new file mode 100644 index 0000000000000000000000000000000000000000..49599fbc59ec7fbe7292246ed72b29a063f6eff3 GIT binary patch literal 2515 zcmV;^2`u)BP)V>IRB3Hx05Ui(F)%JNFfcYqFDn250019!MObuGZ*_8GWdLY&bZ|N^FJo_V zZe?s~b#pFfX>D*WV|phZT9g0)2;fOXK~z|UotJBDT-6cBf9KrCKD>Udoj6V$$2g9i zhauzv4QZ05h)@z5L?a?vA*6nzs+tew3y=ymRVe|fs#GYYRQ&{1TPZD|Di10J3JPfw zARzL@#16rB?8LA2?%KP1_ug|(Kiu7oO({t`(&#=k_ssvy%zy42!T%tOw*O)^N_sSgw#|E@A|Bag;Dn(fuxRVvhlJp1pcSB{Imx#+tYGER1vJ!Ek%&3iQZkh#-NR1 zIv=qA$a(hdKY>^D0fsSh$E8D$9ltJs&h5W!^tAt)Fl?wv#LZ8Cv`wt;YDNg~m0==V zq<<_&JYvyYA4LekXxigUf10McC@l>!k_i`WAeAlf>sQ|4qcax)JRx}avjb1;o9WM* z`LJfqOU_h$dcS~8i(BXL-0q#Cb72xAU^=gu_5#v5A72^9vK~vC6QrkoKK?w-SfpJd!bF%mF;Fki3tlIDg;Qqy}b9jFD10-vr zc!5SK$mV^{4rHi~I}A zuK{&WKYBl%tx5bqWEZe#?aghh?rO$pkU}6ONKw8IH8oXaaH0?b zE58>|9kpqyjZzzPNG9A_C2m_1&sWq{N7!-CZ2&?W^%Q^vC^Z>=@Zbi75O_*qNr6Cs z2tgElMgM4yiz8DQV-P|hMA?U+ZEl>UE!DI%#1P^ONHVDQd{M6wm*ZEVWvma=ty?{Tz z+t2#02J%IPl!7~No=Z*KDW@hO4LD(uNQ{AV0~ykJpF6wf($Ww^3h;bQ!B=>`#`6`$ zKvN7fz6w*&R2L!cS|qC@%&CcxnJ)6-#YtRS(p(>vm|byH9dp>QtdV(jQ9NJa1scx} zBM@;U%_Zk$HW;8f=2WOUFrMSpv5)#N23i_o zy!**G`JxIJ)&`|vB<+#O`C$}%P0`m3jOI8ykeTJYGN_nq1dO>B`J!S;a{>$;{h%kL zCE``v)*K83>cq#r)>M8I$%IS9mi+y_A?~|6>R!4hNfa^#;xirq`SQ;bfy?Eg9)3W!_?oo_6>=zaLkDNyvxVHah)`zAT`;T6(3e-?m|w8y&6B*wriuOAD8ugwc# z6aZ<&lYrT`{{*RQfrdncbxV?*{ya^gsL1<@V?E;)8iv^I3(gt5$(-|pest~ZUtq#kQ7-NVy7DHoG?0xZo@q<7J!6To({^aQj0Dw6iTaIaA zzBha|RqZLs%Fbrm=T(vSG{zWC_h-oa8dYk)0zsh6tYRz6v==t3EQMwjXv!=bC zuPw`Pz~OHm{hAl!D>0DSq~w{S057zzE(=RC(VWJ@>XM z`~8ox{HA;N?lgv%f#|K>?d*DJ6Sax(XEHKbU^G+23lveus!T;n8@xahcP$ppiQ_t9 zTR(n!fEWMxmdWJ{0(d7-ksX8ocywZ>zb`$Qv~7KM9YVhfG`p_Dj(cun+s0+YqxP4X z&lUqcpO5qM>&MCk2bh-{t~TsCdGZnei{}6JXx8%Wrxw^+{tCoSKsb)gnw1@_?OsIN z{Ca8=QL5t(MPD;H+%6sALzCFdSvb-*U3Xtv3w3@)&XN1`ZVj0i^)B<^6983?0qeAP~K6~RQ dr*3rJe*?#7$Ta>ZGw=Wa002ovPDHLkV1fkBnq&X~ literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/gnome-dnd.png b/gajim/data/icons/hicolor/32x32/status/gnome-dnd.png new file mode 100644 index 0000000000000000000000000000000000000000..d421e4b798a436d96177ad00c0fff0c61ec408b6 GIT binary patch literal 1621 zcmV-b2CDgqP)_~Bvwe$?os+WynToYIKmiRbE}t`%Qo)|g=geck0FVQ0SB|^rbFh%N zzxY7WKJc~u!#cIMkD>mY$>#%9l(?BPzY^)mt2K^SVskN0&a`6rI&dC{0LjSSK7m5s ze$#pV{&OE1%RhSW9(z~L;-Zweo)EVjKJ|zwV9>y_>V=o*8}fsz)x;R{Y?8`zKov-L zA`$EY{*41Y#UH(Jcsw^fIcW2#r@qu6s>Y|$4FTHShEcelU1IATjnyW2*Dxll_sAkOyA%=2b%$_hXf2k*jMfe9W2PB|rdf%^`1C7IQ~&rtjGDU>-3U=@=EDA!dE0H{}7(iR!*yz_Q7MG{!NS7z~1gerIs9@H8T#dX?-+X)0_d49Du z(rYj(P_%~Cmw$-~!Y!Gu8L(!vRB69`nvmY8A_9>YR@A7qrX^n2gh+QIpkZKUet)(4 z>CcY$8&Zd>R&li|#+aMbPuEEx8{rmFM8SLEM(R1|4Ayc9PXlnb%mER;_p615y^)Ig zb;r6z_r0{Y;QF_=b49Xt=Y*yc<~@2w0_&Xq7HD>=jN7Exd7Wzp=COX!@%@FshNdmE zYkI%&=$0CwS<-n?V&}OQdtOV>H){1+=Xnu$JFAMftOe@4&b%3=UwwZu7nZFtq1o8; zTfo^2-VS^0gr(Rs6N?_NMlNysEN~9E)+q^hs)j4M(5{}Z#nXeKHG|fe_9kvG2kQw) zHfwNBX{N$l?3jsFU#YjGDf~>7Q@}-_emmt@z1Op`wW~Ar^r4bM!C(=L$wDq3oL5q( z)KgC-_FPI;UrUT0uSTvZ{M>o{bp~F!S%SMc5g8y4++WPwpX{@I_~=BL{rQl-Fr-aH zP-|#}0sm@5oV>EgqHsA*<;TE3fp>tVoz4Osb>OD*mH=m4iF~qAE?%4Z?lWQkzz757 z`>9vXkVK0lNy3nC5nY%i{pp`HuC$&9-paricRP;Vioj+PD_?x-3nz~ree#J~b%|!w zBq`oS+;qf=$L0pg>GtRh=!p|2rW>ml=NJ#L57Ei85}6GXP}7j6|P*q$kNhEe4~>(c-`J`CQM_U;ezE7#}vX zv+r>B{JVPg%sKU<>D*%LY2fvYK&zAV{x4>;i|5BjM@LT|J9bQu966%JV(~ig9pDk* zy;+~I+sTyK_=71>^sTse`&`{!Y=k-E(45v T?D8ls00000NkvXXu0mjfhKnS1 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/gnome-event.png b/gajim/data/icons/hicolor/32x32/status/gnome-event.png new file mode 100644 index 0000000000000000000000000000000000000000..70eef820ea16408aeee7bc2326dcbe5f079792a0 GIT binary patch literal 1129 zcmV-v1eW`WP)#8+F2J=;UJ2l8R`Oo^`S#z7 z0D1FXz`9Px_iHXId9DDV=TB~J*weuAWA9?K*$_gksiRVgnVA_{&wj?0D?eIgMtlgo z4j>Wi1bF+cquA~CH8%$kLSVDmICk`SE+N(K!kmu64d8G%mk?)3rP6>}19ORC7y#Jq z_PjyP6F?RRGB>=@+k+4i(=?G%`r>pxLQmGWWuA}QY zdZpB=L(?=2!$1hZ^`2{3t;_d!34p`lAXpdVtF|whnwmt)+)0EGe`^e27$%ygb9dn` z9hWZR^Z9VQmVdKL0F+X=TyA#O@8XN|=NOC*AcVj)El8=M6lEhNx-9*6eN7HmNnJhPYdpLFaBti(R4_kTda3gkm1umD1 z!RP?VWRh^C55Lck)w*fL5|jle1wjQRN_4u@l9fNVC4l#+#13Lzw3ua^pY#ftS?NiJ6Tj3DsF<8eG54_kxV9?Y?foK7c!KyC3kJ|54H#Bd=eg-|~Lw46M_z~BJs zbb8GI3QDKbM5BXz+;SqHQQsHlMDsh%UM(eiLDj6eb9oJsl{-SA&~3>7lr}Xrxph;% v59|i2*2#DbxJp)j5DJA7>*TSa|DgT?w%gLnEmdBv00000NkvXXu0mjf11Sfj literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/gnome-muc-active.png b/gajim/data/icons/hicolor/32x32/status/gnome-muc-active.png new file mode 100644 index 0000000000000000000000000000000000000000..3c7474c826f1c6c7e056e8b02adddfc631e5b110 GIT binary patch literal 1051 zcmV+$1mydPP)*aW*kAC+D8ChoYcyAAxp;ofu4@ACVc-|u&R_X2OaNFzo= zLqmsLF4r~2*zS#RY8b|I&Utq@9G=k|dBL)*SZ{Cd?qDzoN@-J0rIe6T0s!Xc=Y5lt zlQ95+h5!nMf5GQh~l$a_*_ z*T4;5Ehl4RV~w%`06bm`$3H#+zu&)RG|B){FT^^I3g5oqL1<*@v8lPyV4YUTmJGi= zOW@`Y*Ky|bK!tNB#7YW^X8Znk-o>qjb0~-`0Dy@cB&w?yI`?4 zOkcXc>VJVMNw;Nms>R30$3N-s@3(wDA75Bl2m<&+wX6B99UdM&?Ab+ce)Q>H&()`A z;j{MO{p|y|J^9P)>|gA22wblR5Q#)y0Kn+zXrHd@R}8~&=W@A;a5(%~%?MP`OZk{B z64Rhtu)};CAM6;wgBy=tXI|zmUkH8uZQboF3WY*bgM)+jY}>vH;D~d*CIBIXT9!+i z)Qzs4qxkXGuleUsQqvc{x;O|x!%_!T2f<2LB|y1y1ppb1MpFO|_w@9%bar+cb8~Zi z*=Dsy6m;)IkucMBcj{q2lg@n;Ie+oXlKnD(rVQuYR)$!> zcK44}bqcz>yS3KV)@>6L6B(={&sf=^I_h>YCxDvErt<8Vmy5082q@1tEYJUI{S8aK V(7V%QLP7ul002ovPDHLkV1gQV?V$hw literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/gnome-muc-inactive.png b/gajim/data/icons/hicolor/32x32/status/gnome-muc-inactive.png new file mode 100644 index 0000000000000000000000000000000000000000..279843fde50167d69c4bfb0d04e7986f55b81c74 GIT binary patch literal 1022 zcmVMBAMja@cs7#bn zQ6_@N5)dB!b44Ak6kteB60s2|N`Eu_TX?h*Tg-wx?1c{2bYYN$U+nH>K;k zBey_|7ww~)@MD`208~{)E|&|gcDvn1DwS%E5D3eZlth#l6-cMkI6psUXJ=;$0LZd@ z=Qz&FSOT94E|$Po;Ns$90N|TywfbJf9BINZ`$?LT5E9H~Sq32lolZyPoPP-81q!56 zsb;&~{(N?J_MRCbxV^oFZQDV1x~?OYN`=oDG0r(|Zf=mtWOy!@lO#z(Hk;+$Zg(VM z@nf`daB%Re<2cg*u&}Ve3Wb7V+cr4on3|dbV+`eT8II$`l8|NjPLiavTCMi&#>Ph4 zFbrl{Rvy3~VqD}4yjU!LO)33teSJOCYPFzg8m6bGad>#xw=C;N*L6?g2vn=pzX4!p zXJ^N0mzDhe!oP_1d5_S*L5@+jX|^7d~KTM+t~C4Gfnf| z=H}*m$8mlE@G8-!VzKze{{DWSbIuuK{N&{1pHivx2KS1|08{`PfM)h(r1N2L4~0FxPQXDVHga6R;$(emSz1^E|*JQyo~$XBMT!ucZA{k&-Hq} z=dA+(1HdB*NRssZ<>h6jR4VltV;iPvzVntGZzB}5neFL|JTJQs+#-aL5YjZ@%N zzu*6TI2?Yrx3~9aXw5$`{wgG}kz261xG3wo{`~0Z=nfAv^|SQ%`C0f`xe+7wV-Y4G s)^egchvqDf#JC?hKiem%^MBg@1-l-ugk~juAOHXW07*qoM6N<$f(=#FumAu6 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/gnome-notinroster.png b/gajim/data/icons/hicolor/32x32/status/gnome-notinroster.png new file mode 100644 index 0000000000000000000000000000000000000000..4cd5a230bee44a31d81fbe68b3389478dfd37712 GIT binary patch literal 1998 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 Ef@O<**8l(j literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/gnome-online.png b/gajim/data/icons/hicolor/32x32/status/gnome-online.png new file mode 100644 index 0000000000000000000000000000000000000000..4e02f9a8f0ae837afe1d3a3bc2b42c35e83f0b90 GIT binary patch literal 1656 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 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/goojim-away.png b/gajim/data/icons/hicolor/32x32/status/goojim-away.png new file mode 100644 index 0000000000000000000000000000000000000000..70d92ba5d28c38e9df2025996a029e57ad20e1f4 GIT binary patch literal 737 zcmV<70v`Q|P)6-`3tHvlkrDlR z-~gp2aJ zeHUSQ&5Wzd92T0qZfXIy@td)XXEu1bU;M-hY^|B&)e7JJeru=#`7_?!jU^M;4iPw4 zxTs5U8i^IC{$o-t{c7u3`tH`{wQ_ z3Oy(8ksX|8|GP{1>v27fT{5(H2{EE ze!4&A&Q@05dsznq2YxrLfyT8^Dim343&3%CCfh4-L{=Jl9F=8^I0&D)ua#JhB!GO4 zcgC`e>usy1^C0Xl;jOA-d7GGI(nqdoOgs2WRz5l0-{?M#Xt^8(|)y zE3VYxwiw|<;fdbdFLp~eqQV`0?O3j0DF(BSY0D;-2ZbJPwGunsh2*grH5IO_GKp|L zwBM}}UUgS_)b~PHTaB3tpaEvuj2dN399FZ!-`sPGv=OXrfP=C_zZG`?IspFxktM2p Ted2EO00000NkvXXu0mjf6X8V& literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/goojim-chat.png b/gajim/data/icons/hicolor/32x32/status/goojim-chat.png new file mode 100644 index 0000000000000000000000000000000000000000..e896f1d393d1f41f28a069dc675dd7bfe7fa2333 GIT binary patch literal 689 zcmV;i0#5yjP)deD8bTdv9jeB(a^Nw5{H|1iA!( zawnS%+X3vQNk5K0#2nf!6KNJ_Z+Y# zyGFtoj@>vQ0o>|rwH>g`T@EoSf5F0eV%hG??0 zRo>uZkS=?BN=i6x17}l%^wofUvNt#eQ}dlw2WxiB0bS7NLJHWd?V-%cRzPz`#VYMi zwPGs~VH~y-XtEzDMt~9(B6?cEDy0gwQ?=ABVKXFn_Ky^azO+5*1Y)Yhn|~NH_F|nA1ema@52kG2_g0B@cG)_W*#6 z*Z^=5#}JNVTcVC}JVe~ll&ZNgJN+@SVH=>qL6)h~!#tDJ)B#w>1pe39_E&M2K$pN@ XA@>629ke;C00000NkvXXu0mjfYZEo~ literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/goojim-closed.png b/gajim/data/icons/hicolor/32x32/status/goojim-closed.png new file mode 100644 index 0000000000000000000000000000000000000000..bf0f789b14f6c27aac8d96a03d9dba1691ce783e GIT binary patch literal 896 zcmV-`1AqL9P)N@~-001yH^P?X?JUfHkF%3zj?1aU}@^mfUwE!w=E-i`-KP{l#Sf;Bsp`93IL<~{@ z5kSQAMB0eWJlJs97~gULA5+v$3SC6JiwGdaZef7PeedomLeIBj@y_c2Z3%#hU(~_G zcXLIZ=l+C_mYV?R2~q1sa8tb+D;-JmV4bZFgB?gS#giwWuVi#Djmf|8q!(D zv`__XppiKH7$|KG%O9$O*I!U=3VJRj=~6J97ePvflmw4F%VK}ekCOx`arVJ*_Q<9g zkV-a_g|fU^EBI8y1z=kau);VZ=!*F!fYX~|K$?8U>C7o01VebACHoB6HV}-HZk%u! zY3lA@sEy3Pz*weIC*y?I(ZRh2m;oj@Pi7b~C$_p$2dN?uvmcY1wUL@7hYdyzfK(&^ zO2jKHRx#z$dHhg(O{VJW4Aj@#`4lMLUWCmDe=7d@7&-LFDLDS&RodJ}W z>d-V`MKYwB`+@;1Wpn3(nUibP3H5>dgP9dlD9)2$;2?HfC`VbTj*+*^c>h&mRh%nX z%jQ$P-HBI`7ytlM@RTAxP^f=T1s-%qhP28j+_-e6Br&#Djc^$XzNd)$ypB}9#BwsU z9qk7@S2-Y~Lw8`VRU=e}-;)*nLh_`Ljs$ZilW#<}<;c*B6FI|TVd806jZgqXEl^TY zXRxU6h9ckt7DKpu1#w+39wpy|)!5LV(WPtimznt?5sZM>=Z~de{zP~-I#7Lnz1$nR z5%t}!>NO=bNXd)d7=$F(6$Ae7(7t3!zELU`FK#4vqzg&Ym6=*tdMhh#Cc;sV1^4ht zR@xI&({D`-?U~zX&PV`)tKr;Ct%9~sS(uZ$`txD9W|0|@lWiKnR;_Kn74HDp0q`HA Wg!4o1toU~T00004Ga-1h_y-rH7JS*7EHK^U_@FY5Tj8aNVs^5MkRt8JCoxpE}} zMAt@nXqklDt+1qSmzVk_Ug|Vv^hND0wbhvg0#UuY^sEwnWir`Y2u1$xw7U&%^7oTo z&NxqHU65rt3Wr^7+1#jUQ>t`}|A>+j4rzE=xfagQK{EnEtknw?I}4g zNqX>sT{2j|J8l4zvi(yhS4fgR$vG>NLYeH=j_v2J%l(-%0ZG#F<4y9gK@&4}NRmEU z`6%5>4RcGUsQ7HbRCV2jjUOH z@Hzn34bsqHk(BHKEKGtaaR9Vj28-lm2!$fJvJe)72b;0omH-d}ELxhIJA53#qJRGg zsi}U>*ES+790Egn4InKD3ajnXr2u|^0?EnkK#1z8uErYC9cqSpvE?BncwjnEJ+hJ8y)XHbRArG%8bJnM7YO*9ruIp;u zy25K6(b5vqnl;}lv0s)9X2`=MT@Irz-vYyU*7T5aV&$r=QSUF$Wc~V5-g@(EAd1%u z>FFtiLN>Lv^-P*{H_gqhoIF`WG#aMkfs$|^mk#fZD+MvQd2@ZomUXM&-GLayoR<>&&5h*d?vW&g!x8P@ ze^eVbn z7Zfl4z=Qq+9$IM-Y{Mlelk6JEB@dPzzU;j3XWzcr8ATHP46Cp1 z1AqYlfKZ@WGc#c*wa2N|M#Z+{6e$m{tb7J({H9XAmf_@NOozkQNX`=&5fTF6?>#T% zvKaGncRKyC=K$4IYF>aPA$Qh|*$B`uhEjJE>GUE<=?TEb^z?!u@6pA~O%nhj@)|=! z=MSu{75@vMFg10CN-Ya%ZM}7inVTjgNWMC>zCITiAfHO@703A|E#I3iW=+-D)`UtO zKAOpV_3~)D3bfXb&ZUQEuVj4#0Dv~;hX4n=?s~ZPN-&FDoec13^(LWX>-|K|(U>cvjEyE+kFC>9@U^0XEyXk-3;>t^k@7P+~h z_2q7I`#O+3j7G}VUW<}&!OV?Kgcx2UTx381AZgcuO5jDgerN*sLXg_MToCbd0 o0160@EHFT?qVK2T0l)y@56@%TVQigdH~;_u07*qoM6N<$f(oWT$N&HU literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/goojim-error.png b/gajim/data/icons/hicolor/32x32/status/goojim-error.png new file mode 100644 index 0000000000000000000000000000000000000000..600bb94c9ff4e35c7ca101f366fb212eb6a9080d GIT binary patch literal 1085 zcmV-D1j74?P)m&-Qu`ZizgJ?B36{7!#(ec7gWUJ?Aq0|y>>&iQ>m ze9!myoX2IYWi^L;Rn^x3)&KzSayE6)@j#GZuFG+4vSM=_>xA-C@_(zK!X#SDl}H;l z(6HVc@g5P8!^W5l5kW){BZ$b5wf1{s%-7WqR$o|gfW~m+VPniO5!pCTlzW~eQZ7@{Xoy4QZKRKc5RaRN=GXBT`4ABiN1kYXv9)(Gjks;7M3rl$ zGqlo-rMfv+^AZ3a$MD+G^Ei_sw9>qCyo>aa5CA_{J;p!V)}xh1EA0+D;ZNde#0Lng z{jox5rRjOPfWJzM0m!=&Pws?Cb|6Jlq{%!{8MA+Ag8jB>~_hx%uMIZbDIKI*ju}>d0mw zkdOo7mQ1a*M=6C0t63Lrdo5pnxMzB^SW+h=0Cc{wlWV!jC>2|)=bY0~os+NwTI-jl3LR_vz5bQX1><=K`At+bk-ftgv_);lXcOT;7g-iSnm4UgD}8yU zrQYngO2NQ%zkl~!F5QL61X3)YmF5GmP76oB^`qy4XjMp^iKh`4puM8qD6Ois(iHa( zQTFRC00P;`H15luwYu}sR4x{!0kHdei2c70&A4#PU+@1Vp2m_cqh0m8-h1d~==018 z$0H&Hvb@|%_e_5uVi!>QRFtCsG}c+NeEi#B7)q zUifyL6p>HIM#pMxyIu6`69xb%I8spP#$9Q|l#58oT>#pMX~uGV;><*FsWlSbYv><00000NkvXXu0mjf Dv~>+^ literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/goojim-event.png b/gajim/data/icons/hicolor/32x32/status/goojim-event.png new file mode 100644 index 0000000000000000000000000000000000000000..f45e1950d2fd859f23feced4e4b116ef4a9b7e07 GIT binary patch literal 815 zcmV+~1JL}5P)&`lpa?!de`_ndR@ok^64u$rrB zRkN=VSR(*9jXb0jEkJiOxh^5w2@+^Fj)`FE#;Ruwl_KsCoCZ4xx(y8ZtpW2#&@UDC zVNSNctr=8AYTC`D1|9y+I82MfZ)x8!C6g0bc{esM4wK^WMI6S(;e$B5zXZ}$3vNvg zG^^wpFjopn0ZlwE%%paZOlo?%$B~i~#WTZ(>@kr;ZWQ*4J>aOHeF}YKh4 zzp{FbwR!F$Qb<a8(^GbBCQ=pM?W$;-2;6MI)+3(SFL^B1o9;I^+ILMWYXsH^`~&Sh1#uaj99RGV002ovPDHLkV1mxEVjKVf literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/goojim-message.png b/gajim/data/icons/hicolor/32x32/status/goojim-message.png new file mode 100644 index 0000000000000000000000000000000000000000..70eef820ea16408aeee7bc2326dcbe5f079792a0 GIT binary patch literal 1129 zcmV-v1eW`WP)#8+F2J=;UJ2l8R`Oo^`S#z7 z0D1FXz`9Px_iHXId9DDV=TB~J*weuAWA9?K*$_gksiRVgnVA_{&wj?0D?eIgMtlgo z4j>Wi1bF+cquA~CH8%$kLSVDmICk`SE+N(K!kmu64d8G%mk?)3rP6>}19ORC7y#Jq z_PjyP6F?RRGB>=@+k+4i(=?G%`r>pxLQmGWWuA}QY zdZpB=L(?=2!$1hZ^`2{3t;_d!34p`lAXpdVtF|whnwmt)+)0EGe`^e27$%ygb9dn` z9hWZR^Z9VQmVdKL0F+X=TyA#O@8XN|=NOC*AcVj)El8=M6lEhNx-9*6eN7HmNnJhPYdpLFaBti(R4_kTda3gkm1umD1 z!RP?VWRh^C55Lck)w*fL5|jle1wjQRN_4u@l9fNVC4l#+#13Lzw3ua^pY#ftS?NiJ6Tj3DsF<8eG54_kxV9?Y?foK7c!KyC3kJ|54H#Bd=eg-|~Lw46M_z~BJs zbb8GI3QDKbM5BXz+;SqHQQsHlMDsh%UM(eiLDj6eb9oJsl{-SA&~3>7lr}Xrxph;% v59|i2*2#DbxJp)j5DJA7>*TSa|DgT?w%gLnEmdBv00000NkvXXu0mjf11Sfj literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/goojim-muc-active.png b/gajim/data/icons/hicolor/32x32/status/goojim-muc-active.png new file mode 100644 index 0000000000000000000000000000000000000000..3c7474c826f1c6c7e056e8b02adddfc631e5b110 GIT binary patch literal 1051 zcmV+$1mydPP)*aW*kAC+D8ChoYcyAAxp;ofu4@ACVc-|u&R_X2OaNFzo= zLqmsLF4r~2*zS#RY8b|I&Utq@9G=k|dBL)*SZ{Cd?qDzoN@-J0rIe6T0s!Xc=Y5lt zlQ95+h5!nMf5GQh~l$a_*_ z*T4;5Ehl4RV~w%`06bm`$3H#+zu&)RG|B){FT^^I3g5oqL1<*@v8lPyV4YUTmJGi= zOW@`Y*Ky|bK!tNB#7YW^X8Znk-o>qjb0~-`0Dy@cB&w?yI`?4 zOkcXc>VJVMNw;Nms>R30$3N-s@3(wDA75Bl2m<&+wX6B99UdM&?Ab+ce)Q>H&()`A z;j{MO{p|y|J^9P)>|gA22wblR5Q#)y0Kn+zXrHd@R}8~&=W@A;a5(%~%?MP`OZk{B z64Rhtu)};CAM6;wgBy=tXI|zmUkH8uZQboF3WY*bgM)+jY}>vH;D~d*CIBIXT9!+i z)Qzs4qxkXGuleUsQqvc{x;O|x!%_!T2f<2LB|y1y1ppb1MpFO|_w@9%bar+cb8~Zi z*=Dsy6m;)IkucMBcj{q2lg@n;Ie+oXlKnD(rVQuYR)$!> zcK44}bqcz>yS3KV)@>6L6B(={&sf=^I_h>YCxDvErt<8Vmy5082q@1tEYJUI{S8aK V(7V%QLP7ul002ovPDHLkV1gQV?V$hw literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/goojim-muc-inactive.png b/gajim/data/icons/hicolor/32x32/status/goojim-muc-inactive.png new file mode 100644 index 0000000000000000000000000000000000000000..279843fde50167d69c4bfb0d04e7986f55b81c74 GIT binary patch literal 1022 zcmVMBAMja@cs7#bn zQ6_@N5)dB!b44Ak6kteB60s2|N`Eu_TX?h*Tg-wx?1c{2bYYN$U+nH>K;k zBey_|7ww~)@MD`208~{)E|&|gcDvn1DwS%E5D3eZlth#l6-cMkI6psUXJ=;$0LZd@ z=Qz&FSOT94E|$Po;Ns$90N|TywfbJf9BINZ`$?LT5E9H~Sq32lolZyPoPP-81q!56 zsb;&~{(N?J_MRCbxV^oFZQDV1x~?OYN`=oDG0r(|Zf=mtWOy!@lO#z(Hk;+$Zg(VM z@nf`daB%Re<2cg*u&}Ve3Wb7V+cr4on3|dbV+`eT8II$`l8|NjPLiavTCMi&#>Ph4 zFbrl{Rvy3~VqD}4yjU!LO)33teSJOCYPFzg8m6bGad>#xw=C;N*L6?g2vn=pzX4!p zXJ^N0mzDhe!oP_1d5_S*L5@+jX|^7d~KTM+t~C4Gfnf| z=H}*m$8mlE@G8-!VzKze{{DWSbIuuK{N&{1pHivx2KS1|08{`PfM)h(r1N2L4~0FxPQXDVHga6R;$(emSz1^E|*JQyo~$XBMT!ucZA{k&-Hq} z=dA+(1HdB*NRssZ<>h6jR4VltV;iPvzVntGZzB}5neFL|JTJQs+#-aL5YjZ@%N zzu*6TI2?Yrx3~9aXw5$`{wgG}kz261xG3wo{`~0Z=nfAv^|SQ%`C0f`xe+7wV-Y4G s)^egchvqDf#JC?hKiem%^MBg@1-l-ugk~juAOHXW07*qoM6N<$f(=#FumAu6 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/goojim-notinroster.png b/gajim/data/icons/hicolor/32x32/status/goojim-notinroster.png new file mode 100644 index 0000000000000000000000000000000000000000..85c807d27777c76c0298777c8d48ce60d93630b7 GIT binary patch literal 648 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 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/goojim-requested.png b/gajim/data/icons/hicolor/32x32/status/goojim-requested.png new file mode 100644 index 0000000000000000000000000000000000000000..546a363eb9e87ca89128affb069231c6dbc8ef46 GIT binary patch literal 912 zcmV;B18@9^P)Spuv4fY;P>{ugB@&dUCCG!9s8bsXA;OZOsD~o94v~R| zOBxGG5h8i=yn=!#(Sl8o>_#(hcK-J|)Gq6~JGzVD#UI{bX5Rb0@BiNWXT~8SILYNa zQT9^-rvd<+DW+(4cGjh7+6Bw9>XcHo%>2jW@qF#=?Nx|>;lHd#_luoV`i=v5mZ-K!|isXq@)CiL;|r`3`7K_6qHiI zii(OyLqkJ+ECPbT;6o94%FOWjeDHd`C@(MHmqSEYSy{p2;$lj~M-jO*F)dB@l**M~myaax41_|V1Q8k8Gmwgo zj*fKh*47qAM@L~8M$TL!`d*9!Afg>+zMRW}<>h6pt*t>su)e+yUDxxu6&I1u`8aIf zgq@w8cbWO6-5?$z-fe7b+%C$2%F4>uySuv&nAw{R91e$3SNE^Akw^rAKp+>nF!L)r z4%_#@%*>2RCX407dl5OWl!D*yhuiIjh#(q`Vqsw+W&3XtdA7H=HzFeD zu?YZxhK7bl0JoXBM?|h>oq1yB7XXG6iG+4k%z^}Du9}*f#$+;i34rEsIDW+A@n2E| mSkVHGYn}LC@u`4Q0e=DR#2ja5Q80c00000 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 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/gota-dnd.png b/gajim/data/icons/hicolor/32x32/status/gota-dnd.png new file mode 100644 index 0000000000000000000000000000000000000000..f609c322a75389f82a5110fb1535bc35922347fa GIT binary patch literal 1419 zcmV;61$6p}P)WFU8GbZ8({Xk{QrNlj4iWF>9@00i$zL_t(o!?o9MY}IEK z2k_7D-b;J?hjPov#!98IEn5)+wL^x$W|l3Bn~-dokR=#ne6{G3`NqV=CHm4AXpCZF zoEnWmqlsdif6(a*rX#ZPXLD?9V{4(TAZ?+e?QN@V@8gT-xo{zv9>8X-MEw=}|AW)`2mXx1 zIEnIH31sNNgLn)ZQCFYbF4ZvjcM8EUCgR>19K|p34BkZLS_sr(3qFTOa}<~2BUp`F zQ~aBe!x+w@2e0BKyn|_`@dx|>e@(CEsstMF2%bcDGli}ABtF{MXhnOw`u27fFQ&1P zEMsDV;bBw#{od*8b9ijbKJ3MX7>(Dl8$VCMdQSp%*nuyjb1C_+;(>++9o^mX8#d71 zPHQVoO)OXt2~15Pp26WP>q( zZ^jY)tCm1BK7-GFZj24F8O6 zb1S}Gzzx{22whl8^myGmHf^G#BNE8vX76SE!-*%^N?Lgg~YkMs1??Ac@0^t7dszyfqt2`Hf*Iy-s%aqhjB zLcw*TzMhR6V^mL^uB6^gA;qG3N3lpti$bzhjZY4v)ysSwdU_Zbn12F;gS`E=iT_n9Be|qxjA4+NvHSML zi)FqrHpa8hvVXsUs>c!i1-ypoAqu_NJUqAjr2C>HSHlpxoG^Y{^V#aBCy zpWvrgiqk4?!w)f9NB9EaIALavp7#=-A~Z(_$CFU*x*F-ViREZU*hcsT;mkF>l0m{V zgq?)KW#hlarYn_r{{Ij-mvnpuoo~_bLX_6AQ>M$LuI8kW()msNDe3O-<8N_98pF@< zjVOkM*^Xv6C7J$3+*u%7l7_^alc-pf4j9EilDVhTXX^K_CmHz1l;GElx-^YFnTF0u zgp5!}Xe2Zd>eI92-BjvuUrEzk@p`A@EQ#b&5-)e-&NL#nrV<`blkiKam%UaqtG=(C Z{x2D6T%?{4kXrx%002ovPDHLkV1id5v)%vz literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/gota-error.png b/gajim/data/icons/hicolor/32x32/status/gota-error.png new file mode 100644 index 0000000000000000000000000000000000000000..5624950639dcdf1bcf9cbe86898161403a0b7408 GIT binary patch literal 889 zcmV-<1BU#GP)WFU8GbZ8({Xk{QrNlj4iWF>9@00P}fL_t(o!|j(#XcJKs zhVLXX8Iv?5+EyC0!6u=^rVTYTFQ_4;F=?7$ML{>NbRmdPkcy9upsRw4Ac(~Wx)20W z5JYrSiaR$#1XtB|QLqY15$mh8$Nwg`Ha>7>l4(~R_>!5!%$YA|&fI&$j7H;2o6R<5 zx7#&gu~;S4D^J5>>n$EmHYjSL3E(YghkPA4T22_$PJ#twjk z3hW@Cubl#cfZhUGB!36KDKJW2@3xf?=tuHdKnmPg6Ic^iDS-@vPvoin$ZVW&1UnsR!k<-7_J|zw{l*rj7oeQ>FMdAa5$_AzM%2@{TS5P@#;S4 z2WP-u4HfXpvRq0glVr8FAmJ`WBq@pojgR=7S1rJM;1XB>cQo`sS%6nSmSadb2fiq9 zx4fMDQ-F8<5O^l4P=i1m2^UpNW)J=;P;(E|Er3rG-n|VTfWT(3aSpE*;x1Yxf%rUQ zPYyBm6m_5Ay@2B(#2*6pY6$SX=QFr^AI>_1Edn97_xj-tF zqNb)6YH0AOU`zSt)fM13KMX#C7byR$*GN9X*hQ)gNMSGq#zDIfxG7@Sxxm1{KzUJ< zPN!9o%jGB-4E_>GgZE$z&A0UjW81O+226rhF=04G`IjaSn}`LuK%r33yr8KT;C~8- z#kVASA_9(4W!Cy{6Jla1MIsT3Mx&bWcs%@8!*#Fdz-i2g*R+D`MnUo?@VO>yYSg^z P00000NkvXXu0mjft!{h9 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/gota-event.png b/gajim/data/icons/hicolor/32x32/status/gota-event.png new file mode 100644 index 0000000000000000000000000000000000000000..70eef820ea16408aeee7bc2326dcbe5f079792a0 GIT binary patch literal 1129 zcmV-v1eW`WP)#8+F2J=;UJ2l8R`Oo^`S#z7 z0D1FXz`9Px_iHXId9DDV=TB~J*weuAWA9?K*$_gksiRVgnVA_{&wj?0D?eIgMtlgo z4j>Wi1bF+cquA~CH8%$kLSVDmICk`SE+N(K!kmu64d8G%mk?)3rP6>}19ORC7y#Jq z_PjyP6F?RRGB>=@+k+4i(=?G%`r>pxLQmGWWuA}QY zdZpB=L(?=2!$1hZ^`2{3t;_d!34p`lAXpdVtF|whnwmt)+)0EGe`^e27$%ygb9dn` z9hWZR^Z9VQmVdKL0F+X=TyA#O@8XN|=NOC*AcVj)El8=M6lEhNx-9*6eN7HmNnJhPYdpLFaBti(R4_kTda3gkm1umD1 z!RP?VWRh^C55Lck)w*fL5|jle1wjQRN_4u@l9fNVC4l#+#13Lzw3ua^pY#ftS?NiJ6Tj3DsF<8eG54_kxV9?Y?foK7c!KyC3kJ|54H#Bd=eg-|~Lw46M_z~BJs zbb8GI3QDKbM5BXz+;SqHQQsHlMDsh%UM(eiLDj6eb9oJsl{-SA&~3>7lr}Xrxph;% v59|i2*2#DbxJp)j5DJA7>*TSa|DgT?w%gLnEmdBv00000NkvXXu0mjf11Sfj literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/gota-muc-active.png b/gajim/data/icons/hicolor/32x32/status/gota-muc-active.png new file mode 100644 index 0000000000000000000000000000000000000000..3c7474c826f1c6c7e056e8b02adddfc631e5b110 GIT binary patch literal 1051 zcmV+$1mydPP)*aW*kAC+D8ChoYcyAAxp;ofu4@ACVc-|u&R_X2OaNFzo= zLqmsLF4r~2*zS#RY8b|I&Utq@9G=k|dBL)*SZ{Cd?qDzoN@-J0rIe6T0s!Xc=Y5lt zlQ95+h5!nMf5GQh~l$a_*_ z*T4;5Ehl4RV~w%`06bm`$3H#+zu&)RG|B){FT^^I3g5oqL1<*@v8lPyV4YUTmJGi= zOW@`Y*Ky|bK!tNB#7YW^X8Znk-o>qjb0~-`0Dy@cB&w?yI`?4 zOkcXc>VJVMNw;Nms>R30$3N-s@3(wDA75Bl2m<&+wX6B99UdM&?Ab+ce)Q>H&()`A z;j{MO{p|y|J^9P)>|gA22wblR5Q#)y0Kn+zXrHd@R}8~&=W@A;a5(%~%?MP`OZk{B z64Rhtu)};CAM6;wgBy=tXI|zmUkH8uZQboF3WY*bgM)+jY}>vH;D~d*CIBIXT9!+i z)Qzs4qxkXGuleUsQqvc{x;O|x!%_!T2f<2LB|y1y1ppb1MpFO|_w@9%bar+cb8~Zi z*=Dsy6m;)IkucMBcj{q2lg@n;Ie+oXlKnD(rVQuYR)$!> zcK44}bqcz>yS3KV)@>6L6B(={&sf=^I_h>YCxDvErt<8Vmy5082q@1tEYJUI{S8aK V(7V%QLP7ul002ovPDHLkV1gQV?V$hw literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/gota-muc-inactive.png b/gajim/data/icons/hicolor/32x32/status/gota-muc-inactive.png new file mode 100644 index 0000000000000000000000000000000000000000..279843fde50167d69c4bfb0d04e7986f55b81c74 GIT binary patch literal 1022 zcmVMBAMja@cs7#bn zQ6_@N5)dB!b44Ak6kteB60s2|N`Eu_TX?h*Tg-wx?1c{2bYYN$U+nH>K;k zBey_|7ww~)@MD`208~{)E|&|gcDvn1DwS%E5D3eZlth#l6-cMkI6psUXJ=;$0LZd@ z=Qz&FSOT94E|$Po;Ns$90N|TywfbJf9BINZ`$?LT5E9H~Sq32lolZyPoPP-81q!56 zsb;&~{(N?J_MRCbxV^oFZQDV1x~?OYN`=oDG0r(|Zf=mtWOy!@lO#z(Hk;+$Zg(VM z@nf`daB%Re<2cg*u&}Ve3Wb7V+cr4on3|dbV+`eT8II$`l8|NjPLiavTCMi&#>Ph4 zFbrl{Rvy3~VqD}4yjU!LO)33teSJOCYPFzg8m6bGad>#xw=C;N*L6?g2vn=pzX4!p zXJ^N0mzDhe!oP_1d5_S*L5@+jX|^7d~KTM+t~C4Gfnf| z=H}*m$8mlE@G8-!VzKze{{DWSbIuuK{N&{1pHivx2KS1|08{`PfM)h(r1N2L4~0FxPQXDVHga6R;$(emSz1^E|*JQyo~$XBMT!ucZA{k&-Hq} z=dA+(1HdB*NRssZ<>h6jR4VltV;iPvzVntGZzB}5neFL|JTJQs+#-aL5YjZ@%N zzu*6TI2?Yrx3~9aXw5$`{wgG}kz261xG3wo{`~0Z=nfAv^|SQ%`C0f`xe+7wV-Y4G s)^egchvqDf#JC?hKiem%^MBg@1-l-ugk~juAOHXW07*qoM6N<$f(=#FumAu6 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/gota-notinroster.png b/gajim/data/icons/hicolor/32x32/status/gota-notinroster.png new file mode 100644 index 0000000000000000000000000000000000000000..f7a77a4f4b48d4ab6ad7b161b61ce6dbc8a8cdc5 GIT binary patch literal 2022 zcmVWFU8GbZ8({Xk{QrNlj4iWF>9@00&A*L_t(o!>v~dOjK7C zWyXPFsqBa#yM#rMRh9^nhJa9nARvn1hMH(Zr6QXm6vPLTXBKpoIci%y$1ZP4D{ zzTeN!Z(!A`Rg%QSL`iaTGD}NKV@XL#Z1w8ZZ2tWD%+=MEhz)6IXh^uHi2O<(o=IJL zz*^uZ+O?*pCUbUn?pU^L*^71S*0o1PMfF8SMh?xJH;;LEc(6Hh<}e>09~Kf4!j>#q z!ie0OHERaK!ovD&Y-|R&Hy!~wfW<^1(E$>Gd-S2Ltu2d*iFvSV*RGp^fq~Dht*v{f zOqs$I#Qz^qc;E%e;>C;K!b>kfzDFby(X%$-Q^0(@WLru}CJ+dilao^yTzjLasOVel z_95asG@fBu(D&Nf+Jg%gENI)leftA%Z|}cUR8*uSGI=G9xP*WQaGiGU=;+v;nwom{ zb6j)h&b^0^2PbP>mIS=fi_qQPxpQZWo10rJ_ugY58W778AVvp)cgDuXEFvP}^x?yY z;}OdXdU|^OV;O)~-XPhYqB36NeiTWeP$)s-w(i}#w;CI&L}z(}v6MQ6>LHF)5_fvUp7 zLW4tx4r!&Qr(2*Rn$*x?((YANRV6Uk zuyNx?gPNKeWiUBpl-kA8$57H4E+ zT!V{mA{l=)G&H;kLM?DkTP6G zhDYRzot@n)R6#0zPlU0SiG_v5Rjv)BH%eFNMI$4lTUgLRzCP>g>otKXvcDZXcu-tY zQsR}6kWdB#ZG5p&Re}V38x#~&Ra#nVB>R16XlOG$N$>U1{bOQ}cwfSz6E+PbpBS0% zw|@P4Dyw!fq$p7l_kP6v!jU6KLeHEzGot39kj)et{;pEHy1F`pS~X9mQ6M=jus|ac z@%30DG=2K?q3G!7mQ$xrMKv}yYRIpF@@=N>DJ9T~@}Z_OA%TX51`*^r93|I3mT^=P zc{2mK6x-C)q^)S3ZQHhuAaIvTWyXvd7bYTr1+}uXv&&Gj3XMbcDC1Xyfadx0=XLJh zy{oYEp<^~9Kj<6M4W+Lrj*#F-h;7_h#*xA5s0za!J9hl6$T+DevU>xXnA(O78e)4!X~#1u)fgAiHy5M5O2=sG|_N;0K}VRzv`$$$Wi%Jtp#Ee0+Qu zgy?skycg*=A94k2E&(BvIVBMZTc8klMTrTG=!7@! zpp6#bP?C#E`5J<93mx&7&6_vh*|cfXWe8Lylr#}1qzV{qpy7GUPe%fN zLW%)y&`v=_g09&GJcDdM!4UEUIns_Hr3?Ae34?z^-&+y7K0X;ysXYXe`QcXdz6VqT ze%igx<4D7X1iKr;AVPnKCm;GvCMO>7gQ+Fo^_YF(Z*Jgva0==ZqW}N^07*qoM6N<$ Ef(rzrP5=M^ literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/gota-offline.png b/gajim/data/icons/hicolor/32x32/status/gota-offline.png new file mode 100644 index 0000000000000000000000000000000000000000..6bc715b6d981d5ea84e43e4c4b9f3093131411fe GIT binary patch literal 1028 zcmV+f1pE7mP)WFU8GbZ8({Xk{QrNlj4iWF>9@00U@AL_t(o!^PKKNK;`L z2k=ezy}9XXnV*fdVcQUt-J}r%O|OK6(zNKRjTFm>FcJ;&LN5xv@S-SNX?P(L)J0L( zMHE3%(FX-lR~3B_QS@c{^nVWTk>lF*Y|VM#2Qqig`+v{g_c_neXw)4B$b&E(gG+D^ zUcfWB0WpZedayvQCIg2N*1_yWs)+Q8~EMH#iR=FsCv& z-#Rahz(?gp&1N$d78a7*?WT%~3JL@Q-AD;X(<&H6p&7*Q-EQG&MCvu~>|ThK48-iBN5AEfp0NQBF>d zGRSkWKJphETnlbEDQ=&1veW6LhK2?j92}&HiHQZq$H)IMHa13GU0oCm21&2iD?>bi zU0_WXfYTj@Px47Nn@yTE&u(O7M781JVd+lsPo&jqr^M_%g5X=H_NL4wJ{@iQf&fH&87WzO?vmCn_eqfOrPH&#S7csJgm(QT!cN zSy@TN#l>VW7?KsKS%`=dukpb5WEG7=@P!->hqS-T%F3v`ygZ?jk`i*cTx7LcDK|HF zsY-bkY#g9LO=;yId{N%pMx&8TCX-Yd8UM{8xe6w^<%!&q3)7x7>bw+4md^R`8dhn< zla5xv2XJwK{VNpUov1%jeO`$G{D5+DfQ@2XWIMn$uycSSc)tPxj*He!N^v>Mga3kN z`Kf3S&B9C;13VI4*L)-57awM0aBkBE;#)LsxsQmBcDVyQgqrwnneRdnt|xjbX3%Ho zN!Fm6V4LXOmSgarZ~=VsV>nq~xDQ@sc<|qFRn#2aQmr|c#{=*(gEPM(x-Ns-my-hV zGI94mx91l)1C`1iQ0-wB3-g4il&LIEF70<fW4X_;!iDvdF?1efps71{}laId`VuKFd#E}310000WFU8GbZ8({Xk{QrNlj4iWF>9@00m}AL_t(o!?l+WOw?r< z$B#P>yhA`ZFd#S}{s^a>A_&M|j{_t@$k;$2Yqfxarsi~kCD~tE)LdoscghTCE}IUN za$xGLbXdAdK$(iBiwQ}?=E|(TJB~@j}FIjfG!n<@kUwjvZVhw^$!#0E|UOq#Q`WvhHPK=8gT0qiE=Fu!;Ih^(Z=31k2YJ1XTnn zIWa^$LO6~Ta1YVSgBuna5Wh1X8J!s-(Rf`a!m8d?qOYXAN$|SY3!Kz6);Gj#WoOtE z_j7o(Gqf;mG$H-FbkS%<&kEFBs6oxe+vLK(@Fcjej1w7{yJ;?TJ~|fg7xB0f1y^D# z?^};V55za$m_3u#l_heZ>U`DhbFK<&d)FejJ9oIhz~r6G6SF8kQ;v$W6*f_Rwj8BrN>OmCU{qfmg;`I{Qg+1^xeTgAF0mXME;OSW z5Q{q(Bd0qD`6u&H+*2%;<^SOS+4aY|1 zX4uj;^>8XYQ#=&`^(>&4UwHd*lGxJ8L`XZ9hMCrxihvy~;01nhk8u}!b*crVc2EQ? z!x3m;0W0~%)$EG6PvWLrKyrIB3~>fU0DA`2Vm1+ae?8{CHE+rV#5Baf#pI$0C{xPt z&wN;fJQ;%Y@6)GLfa!S?96cSC(@~s^ZbS>816-?<_f1_QS`J&_Ti~l4O2>%1RI(nI zief~Ti|aL4tf>$Xy(L;WB^myW((H;8X%2BzIG`MFB(+WcZeVZW|DeC{mNZtcG^}dn zIM&PEa82W+LD(~4uzqWuw88mwHNR$tgTX;@%`Xx&#+s5qqLH|+b<@K9x>*#B$rwE9 z{V3>shmYaCGU7LN!zsj9EP^vN;?)RPk6I^G_2$>j7p__keuBsu8Tzr0VounxT(@_z z7p5|yC1Kd4*feX}%1NImA^h2JIL;JXjxRLb(u(PBWy>9iTw*`*2OCt6WDl6CO^DkO z2W!Xp5#hXv-xZHJFU^5hrkA)e$-$2jE0nCagayf=KwrCTPIG9Z8ch3JsC=UjOooTi$@hnK}kUSN#! o{>Zz=B5%+v(vxtO$!yc}56_E8yGLEc@&Et;07*qoM6N<$f-Q*A<^TWy literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/gota-opened.png b/gajim/data/icons/hicolor/32x32/status/gota-opened.png new file mode 100644 index 0000000000000000000000000000000000000000..86e9a8982b6794ae031a57918e83c81b1ca01820 GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@+C`LBT9nv z(@M${i&7cN%ggmL^RkPR6AM!H@{7`Ezq647Dw^Zz;usRq`u5sdUM5F@qaXi&Sentm z;>pah%c66Kn!pri?kf(GCQS^EdX?!DcC#2J`tOOuf`&%#XVSK=v(@^Ym zT&m*QA&tKsN=bZQ4j3^SFob))pU?Pz&NK6b21YiC1c%}S92+l4buaiJE(CNZgQu&X J%Q~loCIDaaT=oC} literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/gota-requested.png b/gajim/data/icons/hicolor/32x32/status/gota-requested.png new file mode 100644 index 0000000000000000000000000000000000000000..236f9f9ff07c769f76aa8bb56ec60c2f8510e654 GIT binary patch literal 1528 zcmVWFU8GbZ8({Xk{QrNlj4iWF>9@00mr0L_t(o!@ZYjOk7nI z$KSxrunhZ}0s;X9M79EggisJl0kv!q2^6psAdvF%ujpv_o(5BfNLt-21=ho_o%@9C!F82FAb! zJPS^PG>`=nK_IXP=0FdKI4w0PZ~+OR3tR{Hfv|^da2I?8-eQ8xpLFsQARBxPHfSQL zR4Ulo+6o>X9)iEWzYrK0D0q8&3rg0Zo&AQFj4%ntYoybS`_B97E_zzd)UtkIwr z78VaN;YvV2z=v^haa|P^70Ql|4rPCTzp}BhQJI~ct%Rs|yu7@wxx2fsL+CcM%vJCP zusF(IzYG?@mcG9JPH=GWo$&DR-iC&TH>ank-7&FbpWo^>H#fhOmzQ@bIy!pM&dzR~ zSz`q#fZbtM9uJmjax!Ute*O=orKMR_RaLIT!^6gyKv$tq>^s2d=%~29zWxNnhR4Lj zlw*s2XChX?MPPf7fMC_it*oqsva+&oc%DDo+S+P>iN*8t^W4J1!Xr&MH#f%>7Z;05 zN=i)Ra`~(A@$sw7H^@l~fowmAqdng;F)N6NGc!LoH#a8%n;?}r{O%u$WSiF3);l>E`D4b$NMtG$z;Kj;Bem4V`9YW+dPqc%Ea&;syf8 zeOTZkCKqwX*fKIQA|T*f7Nq3#?m05QSS((0b#?V*p_kV{vD!Gr`+SqF_D#cn{jfIA z1oYB#EIS_bk~1@{AqFVM00%lD1T;W^#(sLwV!`_y3yG_Ec@wALb);HT z?s%IX3qmBImScs&74k|?PtWDLy1G+?gM;GZn0b7BTpAJ*k|~qPe!=5ImXtVsP(q5F zot@VauN6Z>Lnhju9Aip)dV0cwf`S&=3HY8BvAb!J>VVtSfl6k!udnZ9Q&W@Ha>2;R zhzM4FCO0=%>FDVACo_M&dR;)7?-F&OxZFrgOsuY~th8urYtxE=-rioLuC6XQ3X@y# zH41vS*`h^ztD&zbDu#xJ{#8&=AcsH5Qd3i(XmX`esgLq3HYFwHGekgvmGmW=sv`1* zJn$PGk+iflp{AxL3x$MUPEO8aB`72|8Mg8aR(=`LZws#;fJt_-(b#NQ68VEfU@L^= zUEoLNF#T&uNlA+~Ha4_!60itPJ?hrv2wF%4`2>Q~8mgpv z2snG;!Ueh}t8 zhb)1}w~Y(QP54G1E+j3eYukPs{IA-PP>FMut` z2~$khvIi8XkYcH7+C)Kd6**%HHy|F@GTy<#frpttMIc*6QL~|zOXxyU4&3(&KFSr% zmEC}^fOS=3p+tjQlRze>_`zbk>R$LGXkvNBNGr7*ixnq90eBaD!D{?p*^POYP5KJ+ eBiUiD=>Gy0H4qe3$jPAq0000WFU8GbZ8({Xk{QrNlj4iWF>9@00fLlL_t(o!@bvCjGSc^ z2k_s_yq)Q?A9mZVZLKaE8%tqhi`rN;YBZ*z(3pr`5W@v<1K|R$h>3})2^U6g@WObb zCQ1S!rfSr9fk7-1#1CSmg|1zrD+62T?#?c3cXqow^LX)`%?z;Hc3akyJjuN8ygBE8 z&U4QHoKtdPsh}V4#wYO!j9_=XU&I-l#Gmna{GN&bE?G+0jxXR5Od*v>RZ>4`3+WxC z9#WYkp9MUHJFpkUg^a8wRqV$txUEEQAKr`igzGzS1(q<4dYthHM~gO&;XynR5xFP; zz4$!t!AGy4xDKDf$0`*g0|SP(ZByy(Wz!~FEveZwH#1|b(eTXTqGMt4bPmZ&_&$CT z7|#o!7hlG`*t?U;UAVDUbM>A*sv{!|4>L4GZ!gs<%gZ#IG#X4yNTZ|b$B%n_cGizl zaxCke#*gtm{C6z?RUE;$uMoC+C@(fr8RDDX^F{6PMxy+*khg> z8*_iF+_h)bC=hr@qi&QEM4k`~1 z+f}dI-)K046FFt};AK3Y)1(7n2zTM89TfNDM$`@+%Er45H=Appm2VanGLY@tZF}}v zSB1rK`l7P_h6zz36?_P{Z>G32?x6;|cQZYG;et(R_4l=!(!hXgW@mj3|DiO_b@&qg zg_%M|_0^|jE?4n zt5nucV<}|^noY0`pT@53|oSVy4(Iq>Bn|mY z0RD}q8hA1uHbTzgkDVx=j>p9^Uc*Ce&OM3W;oJrQIDw;`@c$O4y7T^h_*IGY5z^D7 zcCPrh<(wwnNh-246GKVKHQC0kZvIT zg|vK`p5I5RW#jYsX^drS$_{)xlB9i*^vh7Ro-28s^e56C9na_Siyg$cqSVf2J>&Qx9>&;uRx{DG_Th`Mtc;*si+VA_uV&d=FNLE z_INkgcwyg{u%jekK}nhdO%aGf8ltEIHD6jOU;3eysMJc8QmL(~w(2UOBud&uX{rJ# zkc65gO~5R{HV|WDV;f^;Jf0cP`j&f7Ka8=*Hjq@xhf2ND(VMw<=APd<=YQ_I!2kPT zU*t#ayHMhod8!?OK=qQOBCy59ZkwH#%Z=~~I{dCzXIrjf4vAIt{aJa*zr+z>o8jPl3UHE>&b$zz5*ni1Z#$^Hd+B+s`>z33zJ-L7j1EiaxjqlIcvSV+<*01mImsKCV@;o+8_MsMjxwIcoXg>dMwW891a9zbo#d<|L`$qWc zmG4$9o?VReojkP@L$G14nTsbFNy1TKrTEWjGD%Sl?!K@h;;yzhvVr!gk~))x^(5=8v%Scp#-Nk zLgj(bYjsUcAvMzhr0)Q!UU;&dsGe6EXxz5jxO?FOB_aaQD?!4Auh?YLNpo-=APImW z6HgNqwWxN(+9Jd|^YiyD7lU3_7UWD>HbnzPb@*z@qU8Z@4~%YBFml82%G=7!r?>Kv z+ud@gCkkfPLJ=vbJ|7$l`4Z?A2w%M-Y94RW5$^(|$j?gxqy(uZ>_jvtrMx`_fHQT4 zzqHJRlX{>SNxHyD2WnO=P~40y@3wY=n2FNzAj@@M135Mo$7qFh9C(fZ=-5Xg%S{9a&BEh(VC6izvwXt%Y)pf zC#h=rDo%->@u;DI1?%DPD%?7LBw|_FZ_fS|tit^n01&{g9n_mE*Kb)9sx8$hGYE3h z`819JP2URwdm=CjH4I=H=qppLUp3?E1fg88f9ScH35FUOJtz1>dM-M8`$ z+?X7oI!ZyOtn63h>GysbF-!J_<}Waf%4xbcs6&ASNC46W)jMow?zTD7N)J1(_#3(MU<PsJs)7;!_);hGy_RipIakxH6l2be(Hn zg@_mc_$kFIx9?@VGy{l9df_HS)Q{9BA4*nQrzjp3U<@K>!O5hvBZC7OD;n+>uCs61 zVYE*HIR65w{2uS=k|nFB71!4pnok9Ul{X>~6v&}FVD(F(gi;R#ki!OK+XrBNKOo)w z>8Nmk`v6}E4jJe7L^!16U^wmOko&e(#aI<-6Nq}nulmXI1P`MX%Yu1(bocZ7vfY=EXybBbMZ;3D9 zW5|RHTBx7{NFtTf5bx=N=opc;&rw zAG@_{)@nT62TF&hbP)*&;_7(dV@h`HcT$mF>8(SG@MXHax!vwO)h2!kA|jNLW(HOIon# z>BgolB`n&OS2hvAedxOx7o~F-b3J=~yvFy_T(S^d&CNILc=id!P`=MO+v(9wuj@F9 zu(KCGOVPI7Z$V4}m^@m)t^T8->8WQtRv&|#8xtf8&Oqmx^SPR}Px`cEdx7)OONkah zbi_zT+Ar=}_9~78K+6I6Z^dBUcRWRelgCH9psPk`wdN&8sqBOZT^4|w%Z)&i4{}oU zqopv*X9Qv%z6TJ;0pMYG#D`wVRE{#QS;Sza$D$*WfL@AtUvC;j=Y*KpYIOfvCJ71% zQlk7(8Gah&9pfR~eS z;6O*@R`*DvxAU{3x5UmLoJJIYe1JU^;J#x%YD&RVnKZ{Y*P!UfPx9XxhTcdF%+6$c zZVZW6o_i0c0f+*JqTuO{ex^rdfEAeX04rR>=w?)~F--y}T>IY|{{dl#T1-6ew&wr< N002ovPDHLkV1mm7{yG2v literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/icq-chat.png b/gajim/data/icons/hicolor/32x32/status/icq-chat.png new file mode 100644 index 0000000000000000000000000000000000000000..d1e5d48ea593a6e882a48da607eeb319d63049ab GIT binary patch literal 2399 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 N002ovPDHLkV1gXnP|pAW literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/icq-notinroster.png b/gajim/data/icons/hicolor/32x32/status/icq-notinroster.png new file mode 100644 index 0000000000000000000000000000000000000000..ce89631e6dbc43c51aeca881e403a40f5241dfc8 GIT binary patch literal 2228 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 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/icq-online.png b/gajim/data/icons/hicolor/32x32/status/icq-online.png new file mode 100644 index 0000000000000000000000000000000000000000..1023343a28070bf30d748f3a9a5d20bcc8842807 GIT binary patch literal 2272 zcmV<62p{)}P)TNXM7od^V8Kw1{9FLHxB(M@yqW@fV-+ZIWhHBW9x5qvwWs6A;~N0=^c^YKa1er5@&D!FiY*y8wUg*kuc1r5jGM+u zcnS<<_xkvDgv%|ls5Z5Dtoi>0l zYTQOv#w-ux*s>Wl5GZhNFQ2!;(_?)Nn=DZ3M})A^iFP{8*00*c-|B0#qy2)=uaJXqtXCz=>by%4^5uSSmOEw+rWq3v zFg}B6>u6R#!`!ktoS~W2(bj_^J&0|Vhh<-FgePXgW95TDu;mzwn~^(WxP?pIWk|@j$T99o9RhkVsJ=fPh=-CFBPevc)xBn0F%r*W4960a$Tm z6b;%T!j@h9P4!e7Two&d<#GtRf+KYw48@bNXO6uHZDtn`*xnDkbz7G0dB~IHboA>@ zh?zqm*lF+-sr6qEV^wA)#QYpka$HR&7eedmN8{*4R4+8)6Z4ScECqB2F5kQ`(%JWI zo37EmqX+b+>1`-X(4c{L$F>~*>cig#l)QZlik2w_fl^75ov@h+n=Dwi24_5u2NUfO zmu7)tjp-m1YlJhu45i%)N=Ay&k{C3u_J68JwaBn#*@t0Ktu1o;bnr<9CTzn&2pMyv zrv;vWiDUdcm(wFVMVW&QMj$L53bW_t?_rKW0@P7f?>y@+sW}9F&@Ru zy;#NOf%nJmO2CY`aZEdnh9U=S+ky=fB9q|cyzq-bxF`oFzc@TFnjBev(fWp2^GDutUSU|6~#Fvqmk8y`6) zKp38laBqT=JAQzxeV-zF?j+2J8)n3fv2(}J(0?3<18zEhsn%E^KZbxfXEFv&ZpMNE zp6AoJ=@jUO`tjIE;uo^h%O}i{blzt>%Fx?6jA&wv)|PK#-^Nd(ph%jK;aFi}YE9*u|vr*$Va`HX$JiT16 zyHfo(kK4a>McE^Pl8g*KY7Ii>eCWL0q8q09!Hg~dfSvEi1w6xRJSRS6!&YtEyzF;p zZF_X}uE6#9aad#lAV|Cy12=7JS;=a?g^tfSG3UEBzWkh!Yt*PPtYiEC>*8#Am09sQPbXFR9J=OR$FWo*BSoKIWs#uv*X>J zHC`KEF)`eGw1Kadfl}RR$AquQjhd&j^>>6f8Tun((bP@J%ArAUX^VO!u z9`nO-*ie7}WG0vU{8xdd&8doR>c>0lw1WQ9v~` z?Z>pv!N5V)V2nwoZfzJ+%*J&l^xt98}ueM#|n0LK9lfr#ce5R(ACttj6QH#B^> zdC#81Tf4iT4OCYC_89QwiUf`UJ5PJPgTJq?9y=2bkH4d;y}5k;#Ep@WSzcGSuusI} zsCwiPGv~TW5uAuXnug^4`*}rCzEs=X{9dDE+;1;<8jnBHU_6IU(S=Nf}{ii zpg;ikqfxh_zW#+r>*`GB+O>i*L|~(%sBLZzq%K|B4dC1&1^xsmUcdjXE!(zPd|&`_ zYz#6IfjT&d^&U@I*Z%#!p@9LqtEynt)gar3U)PzFN(rXxg|Fuvv-v!6Ap&jf?SUeA z(cGCC_$|w?aNfQw1X17%Yg${&#I0L^l#5~{<8c_n!+giKZ6Z1`A#Y_e;EjzyA_2|o zMOFw95qMPEH(O3z}6nrtg0d^#c?Azy%`Xhl^7R2h+$O5=AI5;ykJ|1zTJaQNqUaIaw zD}EjD`V{4dUduXM-_&G=%FA`r;{hisgurpYlq|f@%)#@_9#HDqVn@DaCg1rDi-@*TnXI)a=BZr%ekTL57K!UQv0U`Hk~bulW%x=nzhEIL;-naM!2ZN?2_>#`8I zww;&7gC$>0^W_xNb;PEpsf|Cy(r^9-+SYoA<_<6b&fxEmy>uHRAL%lez3Ob}?DX)P zH{nc9F7`8@&`eSIG6Ig{oQ|hb-wx`!pj4``SqSjzYD8vckW3_KV`nFGuJj>kdk~A{ z!NWZin3`hwI}C18U|m30#)6^L#j|HK>)PA(Rhu?>?2!=^8xx2?J|FDFzdN2NPWDN8 zaV{1+7;I|`dMhg#Dk_k$Eb1E?O1b$wYum6v*!}&0TZnIrd7*l0z^=ua%(FtH%4A@f zrYGa~XKxP-oQ}p~)n-$Z*VoX%xoJYJugBfHcXKoG_^YRgdVnQmcmk*sLcGF+*g{g~ zNXozKe*fObckBq+eSIL;Ep#};z;HI});Bi`t-l{s(0M^>rL7H@KmK@FX0tmb=ilXw z9ngI~&9-fx&u0I|iN1IcaF-ESI^GfD{Vlt9?^7ZXCbQWE8AW3wF8B9mTe`ZuqOWgR z&TzjUv0yL}xq9{aBftj$a1<~sAXfw~j)(pcodk3(7<^olashndYW4eJXEJkC0=j5@ zb`~MaD$_VWRP^@(kX{PDA^{gzrThI%CK8LviC0u0Ix&%Qh%Pt}DAk4Q7l2Dtv68|o z5*PvQ%tfOq3Wq`ScRn-?sIA4F;o&hN`Y@l*yO>`qB_YCLOh=n0)GL(jx+Y_)@|Fim#L~C+lFlzxIH#DH#s^w z@{#Kvcnz2WARk~4B~Szw^Ttb_e91e}1q8my*ipkU)-r%))9ITLqE}u9dQeEXBA{FH ybmr%@k^-#6_yeqT4fD>Z#4#-)P`dWNHU0%yeOaTEEJvRJ0000dfe`&=RE?V zf{Krb_#RAfgJN8`aiI%!p`v@^){Pri{t@n!*|{*$g>gX?Q4`-1B8q?tD8dYb3^Vkr zs?KrIJw5l{>1i=B@g$Y%KJ~ljeD~Dr!vAb$*x*Nd@e^AK>y6LMu0H=yT7YVsvAf=3 zIq&ns9;n~Qgm;zJjwhe4Ap$C>2oe&nn=H(pzLmia-%~#R?VpexG??M4!m})Y%9M)?!q_SCANqNpJi1`P>`; zYJEggA%U?T2?0?ym-REVm;!+DZqu!gKgGzVO<+JpL6fJwgjxrx;4D zq}L}%$!p`U;wxHDb##KAk380QMS&Ba9hhHJ0aUkSRgW(I1gQxrb%VzU)_@pjE+EV2 zAx1RCVjm-<;uL6Ofpqe~>PuF~NK}7mRx|NUwSk8R?Wn4V<%bGJ}>&~5w+D_5wGUk5yIbJw(rnuk@XA1xi%{cK}Fpk)6TiaVi zeXTO-oQG5bu$~wKCJhD{dKZv%++jYlkKm{Yhi1pck3S`6>Dz)~%1o(0v)7EDllOh^AXo{$S zblO<7VO~e_T9>)DK|y6Th_PTC8e?|XJO2`(5}9^cC1|G!F?1_{A+=jziZ@|jTQ0x# zND81d*2}XlKypmGtfGWAx^m8|CAC^u_-mlHTz;1!Az&?w>*eV$!f&4Ad1Kh$A5lR4=#YdP@_L0gcFpoy0l+x6Z{BuO+PM98my3~U zV`24%v!0RZO@*tqs4eX@>#2=T74+v$9&0W9@%z~|6|l_UOr2@ ze0Jd2K>d~Z!c}aqyPwc(brAYNR@Z=GN4B93ap0%he`CH%Xt%NOd*9WkRkr%EDeS~l z;Tf4biZ1=xrM+PnrZ%~5e3|i-lXtbT?B?{*BVl=dF0ZejNSrSKJo+)+O`fyE`}om%zk^0D zsLL=ZHpKAwgZuens20F_jHHGdp53*d57*E!{3srGS%&5-U_BuQn<Zbrq z)0?&-T7a=*i!^(=q}TdZ{>HU{%eC_V^?a$+WQZ^JdL0Ci2Q$57D{UpYDfRS%X)npj f?|fp(jTP)~kTS0(8=|Yl00000NkvXXu0mjfp4zr= literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/irc-chat.png b/gajim/data/icons/hicolor/32x32/status/irc-chat.png new file mode 100644 index 0000000000000000000000000000000000000000..33d05687c15aa5145c774335b1e9ff12a4f34864 GIT binary patch literal 1834 zcmV+_2i5qAP)KleB~iXj(O>0tp@}1QH0v4KIG8p@mT8tr6q_5FoWt)HZI~ zG)Zj)g)~J~tAd3S8Yi(sNa9P*Wv?^y^RRo?XV395?Gq!7cITgO|L>cB{`uz|;Q!p% zN|QrFqhdN|hmGc^UwM*!SS$cEIeyFE$45)mHnGwN7uu}W7G`?i|ISx3)pjW*o_+4c zQZ2Sw3-7!8wq>Yz70R7M=#>Egrk%ruS&!Ct=+EzegI;Bf(T5ViJ+Ug2w`8a^rf)>f zEWxoV!@#&vuEu`4%N!V7&&@VDjp3cc=`IC${jgCip& zR{(&oC_sd*cE;42XvxMIftJB7v1A38MJUKfGQ4?g{}RO*4mpa2F)t(PzcWAMEYK^Sh{xa%nb zfQuh6{P3G!!uoaVpp?SdiBk<1^~Iqb{QmoQcO5!9HV1&E1aO0|e*9}g=;>~+HVZFQ zRS^LC`Z}=xdtXm%&eRFqIXH+glrRjA`-XSc5ff=hDG`PNwhVj%{oN<1E&>30EZfAD zTV?p6u5$taMOUKe7E`wFFa+lYlnQZn;`N5B2Y}CQ`vN#;V2HLgB|s_Fk;~dxTntup zQrooMfvYoDv3AW`Z2#;%Fbo0CIT(vhsn!}wDJUgjnigheXE5&=1)wSkH}5=b6S1sq zn^2k>P^B9YL2JS-s~^XXABW?VVObUcf>IJvN}PV+ z`rT9nLUFsVHJ5i8SaW}GON!`L(Z@n5ib`kRMq85wA_71l0yH&274E`wzdC|@whv+O zj!z<+&4P$<-|$Wl5gfihR$mt!P`l zIvE>`VeIv{uSgY_kIc|&t1gnGpDfsM+d+d!!M5>!TiEJ0%hPIvkLEA2E6bh zh~ZjFz~!-#H&IiX2Oj$QM8>wa>v&6u2#f)KARWf&8<)loyi~#V@A=t;X*X{#WV+Dp zUBUJLT*pf%UdDCRhqtd~%kNKKd*af`Cx2Zldc{HnLT4o>h$t37C_64R!_69Wr)itW zl%_yLIP!;+_*-EkbkiCX%2H|4x0a(=u@n>ORk@6Xc~3*fA`HghxB)jb=F(dAs;nt6 zCpKbMZ-9;k1Ayy#;KEo|z={#jr1O?3Af=8nK6dDNfgucQK84kk7p8zO5s8fja|XCx zz<8+Vm*ZGL05Pp}PM88xMG=6Gwjl6>%+%eb`81ZAEK@)#1x*oN>nLKLA6h=_k0xNv zLr=AvmIy!urFFD=1_Yi27=VBX$EIu zsFqHPCIV*+t{*@txuzP=82#kZ*nuCX1aPoTTel9X&)hX&5D_RUvu4SYNzG>f*7kJZ ziEr%&5#riVd6HRhg5>xSMfi@k7CgT9-ikk*f9Idx@88UJ2zu~71p zW2CD{7D_(m3SL4G-2+R6mGD>ax63}>`@l=0vZ<#9CC3lIsa^m;TUuJO2m+OSQ0dVa zOXDiSIuXe?NRNqNaE5Zpg&{FhCqNUeZO`Xm*>-A$vvXxEmV9U;Z0Kr6&Js)Ws0af< zgv&RISSb3*{JO3dv}VmJ9HHcTBDDByk`F-R-}HNSZG+-A3Qhnb!ur+CI5Ylsc>TtL zS&Q8_1)wQw8~9jn21pVK@IxtxryUZg zDQ61|^tD1qh9nOHKj08*ae0=;0=QDD_2}7=KmNx?94-Fh ztQ&LbxF@al&nX9BRQ1|%Bb%z}dIg(|pR}BSYGEuUtMm#vt9c@JMlng{y_#58&86CZ Y0YC~xQ{_K<#Yq^+4bXWg^cS^IJB0RQJf zofao1rtI0A7j3mZ`_d2SRW|7vMB7~ua0@m8Gq)bo7bH#A;)Bml)j5Fjci2#kL5j3+`_&vRh-)(A-K zwC*q_A{@^(*XycqOh8!5KwAhRd!@KN*Igsfwq3*dgrkME085n+0MOsUs@Km`|bm9nV3iIZ=j|BGhUDv+%-ZE;@EX5$?%lTttTBWU`2`UJI4Q zC?~mcPsXtk8BSCM0Mu$elx=--0xaC^IySU!Z3+OsA6mBME+()n-Hu};j7*{`6ah6q zBo*=EW{2+1zc%O{Gr;na2 zIIbN+1cvL01p-1}1Ekh5HO1{%*HHnBz?fzeVl+}0T5IRySH8a~fi08Ji|j%+??#d4 zOjAy>6ly^TB3eshGr2kzMq|%~SF!K!=g>R%0W2M1U#@^5rH*Hqe>x6?w?u$h7jj-+ zG`GsiBEa_}D2tZT*i1Gr)>0V{pLqmBSqsI_?16h|KM24`xva_;FaB`-+O=aBjhVO` zxW0kF&ci=?SVVr?zOhm&(puuOA_8hbfGE^^(pRfPhz>sWC`NV+VBoHCNVyETejP#t zFPla2(4k!U(#+_kci;bb&u5RFnt5gFM1p_F$RrANEiaEtLWRk3p+~l`1Yk2?|dw+fMr{I zySL@6xuqJGDna6MX*yY|1SrRSK6&--ef4<^?HvP`N_B?~=j|q?5{7n<;@&_1<=`ec zAY=J_7GY=-oveBK)`=x?-#1AN-1q?Q{xNht{y41h@lEqezw-|0)G1`b+TaEPEOJ|+ zI|tYE5+}S~u41_ofJJb};5Ou3yR{C94`_?7%id{-K(vN{bb`Rd#FRa&P5-mMemQ|Z zGIFk_E-?L%1{wtnAZV$VD_aa-)dq4!>|7iBm3`xtgZrWNeB^u z2vjJbJUv|%=ASp8-Leyk)O&lRIexPt0s=o&#MW|3+3u_NJ%G7LVd3&+sA3W1c>ptD z49N4KibX76xnim}Z_bG^zeN^=(T#N9yr7jCQnhH7N;O!ub40(>VOmTNtb?fR%y``6nCw>D AmjD0& literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/irc-muc-active.png b/gajim/data/icons/hicolor/32x32/status/irc-muc-active.png new file mode 100644 index 0000000000000000000000000000000000000000..471742a862093ff03b8c4431070caedf9dfae671 GIT binary patch literal 1597 zcmV-D2EzG?P)#Towo>gw*9*`3*^ z9eW{wiETODB81{xkQE_8OoFi#!i5MahbSUaUY9t|WlsT2B1I^d9FjwVk^@pAKud%Y zB!dJ};z$UTXaPrf9auuVUhjJ6(cRTm|DQuYX1Zr*!Kai|n(4p3sqd@*RXxD}dC*>q zCr&KuwN{u;T3>tdNAyXt05CO3+W$Pi+#9v&y?$_UE|_VPAAk3o4>m^a)>{1hm(TU; z*eR#u?>~0Bf!YvZocqNexK94D0#vML8=b(Wj}1?$|GOM?Rlu*^e@M}#C!Vbb*QZ6_ZeDic6?WLX4~PZj|Ih++eqy8RVAvK*=i zP@dZN=vPnRz^CRbBIDGJcmP;hTEGv#^U$sbiV_Rvp$L#*alV7^ed|F$1R_A3#Q4=S zFK>)_0KkDD^zrYjeIzOGvOmy`EV@y5%r520fzk^s=nYc5-QNaFh6#Ozwib}W4p7Sh z=iEZ88NxalBiL&c?q<&7E}W6G45u)IISWag7=UQABH-|so(@H*8HPR_e=-45l4gXZ z5aH5RtY==~Qh=~*0wWv0PG*!=?Q=Pt}G&X?{N5fBKkU0Ahmy!o#RUI-sn1YBM@^Ezs+`RM7Nz0wH7yEzYu zh=2%4j2#fk*DtM{eZIgRIrY<5nxTJpY8j)Ys7Me+CMKb8U;5LT-_%9#*$E+7EOMgQ zkVw!UL}0>34ZY}xK8)o`8G4EkMG3R;)!iue?1Umb+iCejK1 zFvAwH7ZxZ8qS%5I4JPqS6u@lfTVWtJKRt`UBOs1bD37-4*hVuHn~N>*M1U~{1n>GJ zp0W%N-T%ZRBJ$gcI;B!;r7SBVAW9OX#(uVbwR(!uqFRcCRYZsq1Ly2bqj)0u$)%OE zKduN+phL%x-{C(0xuc%sEmH)3FScdRCjd7eSioc7xE~@Y+ihO+{?5Qunh*h4m}}$F zhwmx&!-Y5AiB~VKe>mm=PkVQCrd!^BwjylxlFH>$kZko5Y?gh#cJ+#kwBQVXy`SK% z_u|qkhYqyS8zcrw#svU!tle(H7+2|J#py>*TDkAXM3lcl^*Qf~{aysm;)5{(EOPUF zr-dL4D<@pv>|?u^fJJcY{%N!VJzPg241fqOU+H42o0RLH-rvSd(;vYJdQq&?K&_Yg z08D_G-!1#6@#b6arthzB zRPbw4pV4^sYp(Rb`SZ&bwVUwBsi#(bt&b(?@OD!KIOYK$_pZHo_OAu@@B`;owbsXa z5m$0Y5n!zwfau}1l`}8ZMQ6!BVTfeCy=X+t`BfYnMeJ=?vFK>+A$6|uhD1a#sRNik zz7LEGz*IBzaQneV{x&OM0g}{eQPm9vGSvz-jxNoBGeemNCNT=yZST%9S%7lR&HVaz zf7xxVxpCnc0GLM}Hg-Jo`#-)qiKCrtuSYo-=d&F3Kc@%o vqrxaBD`r7XwNK=mNlsFHA0_6IwaWM(&zyaflVX~;00000NkvXXu0mjfXsP*# literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/irc-muc-inactive.png b/gajim/data/icons/hicolor/32x32/status/irc-muc-inactive.png new file mode 100644 index 0000000000000000000000000000000000000000..2bdfc7c591046550b04251499a7b795dccbe37d8 GIT binary patch literal 1607 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 Eg8YsJ`~Uy| literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/irc-offline.png b/gajim/data/icons/hicolor/32x32/status/irc-offline.png new file mode 100644 index 0000000000000000000000000000000000000000..2bdfc7c591046550b04251499a7b795dccbe37d8 GIT binary patch literal 1607 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 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/irc-xa.png b/gajim/data/icons/hicolor/32x32/status/irc-xa.png new file mode 100644 index 0000000000000000000000000000000000000000..947c78ccffd5afa1629cb89852774dcec26540f4 GIT binary patch literal 1389 zcmV-z1(N!SP)!j&#GegQv%8&`e=KY$w4tpUZwAR;KiV33fgAq2@JlNl!& zHIJU|x{u?cYTBymN@oPY1DC2g_kYj%_c`aDdmH{|QIjUW273eigXZ6=tbZ65AcNhn z!@a7`PFipcX1ZB6IDYbESAdifh~QJ=`!i?mHL;o2gXd42=(gGVVR<<_YtXMo%53C-Fx4DJJPExqj&Tu3bxvO=t%@T%w$=XR7z;A z(ORRjj2Hq6?pCp}ARrP#&4zN0ROs%v`KU$Uv{Gk8F-WZEO5_v2$hIruu^!p>@DMnBVlp<|xFj!wF z#z=~hlv3?I#aJT{Zr|qa^7820?B0!9TtwgwG-^OZ9_ejePGo1O66+k%dlcNR z5%>Z+qEydh8EG&e#fYR-q@iF}C0b=&PwWl|grZJvLnQ^b;J{S3yOl(CnWIN*&ivJ@ z#FZ691iP?6cHqD$+#*t~0k*DOVR-fGXnkj4f$ZSH8j1e;Is$7o0ty}<^!vNMJbk(b zUOIM+NAi5+M2z9mxpQId+O@GBa%gdpDPM1f$~mrIz8r3@tTgefH3FyLI~wWy%$RSS zbH~&D`=ei|jUj~47dUkaKHtWE3g1}gj!T}8hy3o{fxtVb;KL^AiH(Sq_8Mb|!{KO0 zU<~z=tqztj#4xqW8s?Q;Lx1Xp#PVkg8Z^%n%Vs=^rCn zgE7Pq-0T0AfQ5P2>G)VSr5GbgYx3a`8YiKJd6#8=YzLGFk%ImNKkX7>-Z>{J&xvJ! z*VYp990h-jVY5uy!k@fHL;ZwmBk(c21$GjOumtXKVZnQbTudd=(S6k=WBy4Qdj^e53o?|!||nrt`x~OW4MJ z5a7y%3;vJaf3M=FGFYz>I01piN%#r;Y^*(8z2z$BkP!L_UU?hNPQpS_gc4(4!5eSF zS7Yp$+=}-!TWi@^w1Pj!u-4K>z=weBqz|;nw4I)&bL?168AGsP+~Bm`wTn*WCRM>} z-5|UZ0y@D=vnEREeNa5-DbqFq3$XjQ;$M+1prq<#^FpfuQyIZI5l|s_~>WCZ&_@_p0MmnXAd)@^rT-jd^-q00000NkvXXu0mjfap0mU literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/jabberbulb-away.png b/gajim/data/icons/hicolor/32x32/status/jabberbulb-away.png new file mode 100644 index 0000000000000000000000000000000000000000..e6a4e69e006bb62d61e962941af883aa011b8dfc GIT binary patch literal 2194 zcmV;D2yOR?P)$yD(YuTQ000JJOGiWi{{a60|De66lK=n!32;bRa{vGf5&!@T5&_cPe*6Fc03CEi zSad^gZEa<4bO1wgWnpw>WFU8GbZ8({Xk{QrNlj4iWF>9@00;I-L_t(Y$Gw&dP?Xmd z$L}u4F1sM2h){X@h+7{(HofNm?69>Ud|)?9TnZ@BYp`=iL82j16;H40(#va=gvaX| zgqWH2l#U+#KssUsS8Q&cQ!EtTB5*ZmxK%0;JR-n5rDMhjhkBo!vmmF|d=Kxq=j|QXxO=zBu)(Ug-ttm-dHt?EC1qG2 z7mLLU2wYxbZQZQ&@tHepaCdn*zcD1}d`_tN0^UVCi@fg7mkE)!Vz(!g~gA*LmxM_(ZgXeDzUd~kZL*!M=1t5kVm z8Dtq7A7|}bkaA+x$X8xy$Q>MFiuim39Ygrpbj32jDJSr_{`tsCGQ@5qRH*sas+A-sXQDi*XgbAMz7>e1mgIS6nGr19J zzP~qnq5CJY zs?P)67d%~<%Lo>6XZ%L~6u4r_lzjv?lA49H^8rj)^@%X4|Kd0xe=>UV+@ZeU4Apf3 zI<*YFj~Kdj47W~*3_a>iMm&lH9(_nr2|~BZ7dH<$w&fo3Si{9nJkR~rIg?9T==eNv zxuc^ARd;$3kB2HBpN;JDMrI<5;6=5>35*Yph|zS+47xNPjCUB&K-SODPj>eUbM!p$ z1HRipwjOBnr{^o6OmQ<7{KZ1e9Uhs@9kyuaJ{2r_?j;it;7CPPL%QBwvwHPpM!6f2 zw1S1+*}?DbNZ><#XawqGtk8HwgpPO~kV)`5h6V)>70FKMS5YeJmIJEAfMPz>XI}w# zQ2ZzEYOFOEW2NB^@)!IEboFYpau=5<5|O@gC#SO%c0P+=%=5SvX4ce}V1e8}&ql%d zcqq9mP~E+Zk~2FYkDiRj$vpHHGAMIRP@mz1KIv?rY&MLN=}?`p*Jg)}b>yPg5;9x#g@nX{XCfaR-eA=|-&yLaSrU&(@V{mP+H?Cj)20t7|qY=91dX&Vh zg#H8{y%L7HQXXo~iO~ARIH>gcy!C0 zox|w*G#hw$VY4V(lWdQaqaPq3AOKleSuhw3gW!h`A41!pg6z0I9-pRsH!^hU8Cq(2 zXrl0cvx}wY$9Y9@hb_~&ul_Ko<#Y#I$~`>ZlbV~i5wwNQ@Q2i~SPpu1JXaKK z`B~VpV+Yo)TZj7k`T=ljYbzomB2ZXZi1zzsP#v;|G51-)0StyG47U?m<=NefJ-E}W zt^c)V%h97^`K(#dQjthUc`Yinu~|<}{8%QlLanZ<&P+wUvIxDsz1Y5eJ9h5eIq*Lr zApw4VeyFOdLU(5;6kpPO>Igvd4E)rJ(;1Qin9HCv1_zs0dU(WA7owM%n5323+Kzqh z!Oq+yI?#~mj;fod2Y0z=&mL^qvIT*GfymF#M^{%DIyyQ~aV-ViX*NJLe-K=r!TQe! z+D=ya`&(#FoibG}S@Nr5OG^!b6KS`O|5eH|e=qQ=PI2o|e!U63o%#W|R4Rq1rzfJL zqtQt_)#-F-Yioln=Nx*@IZ;ImfIbR!7lS00ue&?hA*I~eIiqgtR&T1{!vrm&DxUC@ z8k(_&iSr`HBx~}P7#a)Wo>ek|Qd3hQlgS2(tEHs{YPA}rmlM%*(Urg=5)lTyoEdZ8 z5UQkhwqH@Z`x%A!mvrx5p%8ycl`I%iz%OoKGZabF8e0n1KqL8*cG&^FUJtES3ynsD zhK2^*uf7L)+9vd6y8sm;^xh*iJIJd|_ZPeCE?wd^gog`A7VW8m3kbZOGFagO zGyjjgrm92_v`fO!T=*H9Dss?RTaCK9Iw*^BP6RT*W6GRC5B`#GhAFIj-}@9ec7Z*$<$G1Q;yS>3m5v7jvbpp`3N zhBIr$M?%L3apPSSd&N#!LF~=uW9&(HA_MojppkBxTB%T|qGtYEYTyc~nChsJ|J%c~ zG|T3ws2A7F280-?#8 UPe+G?cmMzZ07*qoM6N<$f=1yf+5i9m literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/jabberbulb-chat.png b/gajim/data/icons/hicolor/32x32/status/jabberbulb-chat.png new file mode 100644 index 0000000000000000000000000000000000000000..f31896300cc865160dd51ad62cf475a02c340d1c GIT binary patch literal 1835 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 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/jabberbulb-error.png b/gajim/data/icons/hicolor/32x32/status/jabberbulb-error.png new file mode 100644 index 0000000000000000000000000000000000000000..f5d2329cc6e5f5eb0598a04396dbf253fbb2fde2 GIT binary patch literal 1646 zcmV-!29f!RP)mMVl-h7fmp3NcbNPV?L&#O)zMBz$$`Y9TC{LS);8z&#;~1B3`~pt!L^ zh^zm~`JM>zuB#BEz9^n0#mnVj^zIF~x#7MLB@KX}xa~dX3k?ODHz&l~Y9Y2s@yn+8 z`0+q_IdJS4;OvZt5+bnf5XLT3eB?;LZU@ev2V7k6R6+z-hLG`T`I9Lg8w(T`0!2kY zX(_O4mx6dyHwa_56bI)UIuv;E0w^v9%F2L)2i4BzN{H?z#3do_DbjA;fc$*m*)t$F z7s$&4o<9fHuU8O{YX@PZo8ne0kdyOqKK6nFVA(Rj!GYoZ$09_KkR(ZRg?6~R11nbo z4<7>A*}(1Fz@0n5qeuFqCQTT_lJ9GVF!r0`efj{mZUJ}i>Ur27JkVkA_eZG&NEAXw zS9DTec9uuvF(I6sfaGN0>Qx{s3%GPiKd)T_X3tg-PpgM84w&LSdH|W3z~#&Odv=>m zZ-1LMD3xQT3h_XG6H;XcLOd}crcMP;odS*=0S+GqjvfWhoB<|HQV=qRB_SUnjDx0l z*RH^!L%@j>`a5>cvt18dgkN$3MU*RIv> zmJqMxq)amC&_Tbahs<&OZsttD+gphz)kfTGK@uX*gy`EBm^BMXOa!J+*Uvd~w9yzY zUtb_0L5uNyQj+dG|DK*;R-IKB@yZat6GFxuAt69~JP;SBpJT=VE9R{ zb{;=zHo`Nv%&w2P*}6%Hd}n7nyu5&(J%OkwEogT7guijM;o&+IGH0M^Qw8nATSUJ3c@xgC+TAm*huAExMdhdRt3#Cc(6VJ1YjRDNc(^g3=zE| zcPY=u=XIzM*2WMwGCe$ON-QQu$K5m=dvvt+0N)diA?npjLB4F)uDD-A?i1fg@hneI zn-ZQlQJ3k-lYwc|^l@Y7-~5g5Xvh&GfPn+`u1K&~etsp^`an?pM~lUVv19carx0tw zym`Q)MZn_4y02OVELfm(0LKx8z(a-r0|qFlf=-?42Ju0hd7l$AsZhksZYe21YN}4N z%zR9_e9oV*$8$%x8}texWX||AAfR>-6t{VM+f*^)irJSg)xw)L0o%6&yLSU8PpTdG z!7%dwuv*`$0>pa*cZFG!5cCL5O7lvHza+%qFF{cJXNq&XnR?l|YOa{V>FK)CvD8YS z)vm7c-YSCS?RiQ;M1);cy^R}zB}+6oeM5ux@2~HKGFuka1VQm@+;*;f#tdyRu4dgj zV8;&NzyZB#)^)iP>)hO`WVkSytO}!|>^OH0*suXuxKP&&rflX50t5%ET`86j!zx3# z3(@?B8S^PqG&#*igRunf-w$MD05@)^ok;mayfVb=m>4@QUevp0hJr_zUf`9lb7z%3 z-}w7~gvfDm$yTB)ECnwwCfprnr`1d;QDoS5lJYC%Mt{<`u6=L2StF=Ozh#!%j$Lq=!VDH{qi+=`j_N>k!%#uvi zEZcIo(_CDB)g?waeE3K~L`GI9!_j=a!Pa5r)k4I@*>U{1K9bzoxpR@`?rw^I-V{V^ zY=ycNOZV4Tyb45gv>m5Ut6fbqjGD#GHe87Lh2i1ln=F=J8l#@ef|T$wEbLvnmsjpr s#s6;(ZS=q9-5aZ(w^r*Cy{dcnACFme)iS3aC;$Ke07*qoM6N<$f|rK|UH||9 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/jabberbulb-event.png b/gajim/data/icons/hicolor/32x32/status/jabberbulb-event.png new file mode 100644 index 0000000000000000000000000000000000000000..70eef820ea16408aeee7bc2326dcbe5f079792a0 GIT binary patch literal 1129 zcmV-v1eW`WP)#8+F2J=;UJ2l8R`Oo^`S#z7 z0D1FXz`9Px_iHXId9DDV=TB~J*weuAWA9?K*$_gksiRVgnVA_{&wj?0D?eIgMtlgo z4j>Wi1bF+cquA~CH8%$kLSVDmICk`SE+N(K!kmu64d8G%mk?)3rP6>}19ORC7y#Jq z_PjyP6F?RRGB>=@+k+4i(=?G%`r>pxLQmGWWuA}QY zdZpB=L(?=2!$1hZ^`2{3t;_d!34p`lAXpdVtF|whnwmt)+)0EGe`^e27$%ygb9dn` z9hWZR^Z9VQmVdKL0F+X=TyA#O@8XN|=NOC*AcVj)El8=M6lEhNx-9*6eN7HmNnJhPYdpLFaBti(R4_kTda3gkm1umD1 z!RP?VWRh^C55Lck)w*fL5|jle1wjQRN_4u@l9fNVC4l#+#13Lzw3ua^pY#ftS?NiJ6Tj3DsF<8eG54_kxV9?Y?foK7c!KyC3kJ|54H#Bd=eg-|~Lw46M_z~BJs zbb8GI3QDKbM5BXz+;SqHQQsHlMDsh%UM(eiLDj6eb9oJsl{-SA&~3>7lr}Xrxph;% v59|i2*2#DbxJp)j5DJA7>*TSa|DgT?w%gLnEmdBv00000NkvXXu0mjf11Sfj literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/jabberbulb-muc-active.png b/gajim/data/icons/hicolor/32x32/status/jabberbulb-muc-active.png new file mode 100644 index 0000000000000000000000000000000000000000..3c7474c826f1c6c7e056e8b02adddfc631e5b110 GIT binary patch literal 1051 zcmV+$1mydPP)*aW*kAC+D8ChoYcyAAxp;ofu4@ACVc-|u&R_X2OaNFzo= zLqmsLF4r~2*zS#RY8b|I&Utq@9G=k|dBL)*SZ{Cd?qDzoN@-J0rIe6T0s!Xc=Y5lt zlQ95+h5!nMf5GQh~l$a_*_ z*T4;5Ehl4RV~w%`06bm`$3H#+zu&)RG|B){FT^^I3g5oqL1<*@v8lPyV4YUTmJGi= zOW@`Y*Ky|bK!tNB#7YW^X8Znk-o>qjb0~-`0Dy@cB&w?yI`?4 zOkcXc>VJVMNw;Nms>R30$3N-s@3(wDA75Bl2m<&+wX6B99UdM&?Ab+ce)Q>H&()`A z;j{MO{p|y|J^9P)>|gA22wblR5Q#)y0Kn+zXrHd@R}8~&=W@A;a5(%~%?MP`OZk{B z64Rhtu)};CAM6;wgBy=tXI|zmUkH8uZQboF3WY*bgM)+jY}>vH;D~d*CIBIXT9!+i z)Qzs4qxkXGuleUsQqvc{x;O|x!%_!T2f<2LB|y1y1ppb1MpFO|_w@9%bar+cb8~Zi z*=Dsy6m;)IkucMBcj{q2lg@n;Ie+oXlKnD(rVQuYR)$!> zcK44}bqcz>yS3KV)@>6L6B(={&sf=^I_h>YCxDvErt<8Vmy5082q@1tEYJUI{S8aK V(7V%QLP7ul002ovPDHLkV1gQV?V$hw literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/jabberbulb-muc-inactive.png b/gajim/data/icons/hicolor/32x32/status/jabberbulb-muc-inactive.png new file mode 100644 index 0000000000000000000000000000000000000000..279843fde50167d69c4bfb0d04e7986f55b81c74 GIT binary patch literal 1022 zcmVMBAMja@cs7#bn zQ6_@N5)dB!b44Ak6kteB60s2|N`Eu_TX?h*Tg-wx?1c{2bYYN$U+nH>K;k zBey_|7ww~)@MD`208~{)E|&|gcDvn1DwS%E5D3eZlth#l6-cMkI6psUXJ=;$0LZd@ z=Qz&FSOT94E|$Po;Ns$90N|TywfbJf9BINZ`$?LT5E9H~Sq32lolZyPoPP-81q!56 zsb;&~{(N?J_MRCbxV^oFZQDV1x~?OYN`=oDG0r(|Zf=mtWOy!@lO#z(Hk;+$Zg(VM z@nf`daB%Re<2cg*u&}Ve3Wb7V+cr4on3|dbV+`eT8II$`l8|NjPLiavTCMi&#>Ph4 zFbrl{Rvy3~VqD}4yjU!LO)33teSJOCYPFzg8m6bGad>#xw=C;N*L6?g2vn=pzX4!p zXJ^N0mzDhe!oP_1d5_S*L5@+jX|^7d~KTM+t~C4Gfnf| z=H}*m$8mlE@G8-!VzKze{{DWSbIuuK{N&{1pHivx2KS1|08{`PfM)h(r1N2L4~0FxPQXDVHga6R;$(emSz1^E|*JQyo~$XBMT!ucZA{k&-Hq} z=dA+(1HdB*NRssZ<>h6jR4VltV;iPvzVntGZzB}5neFL|JTJQs+#-aL5YjZ@%N zzu*6TI2?Yrx3~9aXw5$`{wgG}kz261xG3wo{`~0Z=nfAv^|SQ%`C0f`xe+7wV-Y4G s)^egchvqDf#JC?hKiem%^MBg@1-l-ugk~juAOHXW07*qoM6N<$f(=#FumAu6 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/jabberbulb-notinroster.png b/gajim/data/icons/hicolor/32x32/status/jabberbulb-notinroster.png new file mode 100644 index 0000000000000000000000000000000000000000..d04a6cc473441e97d43b921405c681b1bc5ba37e GIT binary patch literal 1817 zcmV+!2j=*RP)WFU8GbZ8({Xk{QrNlj4iWF>9@00wBsuy-~IqWKrBeQ$eu;DlQ18XNGEOU07_m$<52WdGCGq{O8>N9zupVT4G}jn*9A| zDojk0>YSYN8zhoLIE!iof}IL;^NkIzu0ah`r;fiF7RDz3$G9FGtaZh~!B1goT3V&6 z+gizHzp5Yv{ykOqsO6J{!1m;lR!}PEb9*U87C@n0CYlXs5WTXb>T?b|V9wTqZG%dl!Fh&gC z=;7gn;5%4!zaW@9V&LZ3Savm!cN#t5K294ll0#u(v9p57?8R*u_(>n4KZP-dP-Ki+ zkthYh&@g$jZ1~V(|EV<3E{dMmWTyUID$}Mv`s;rTe8t{=D}wvb%@T$OJ(*-fGqmo} z9U4lSZS*VME15&{Y>(4i>oU6E%kq8iC@n2nSluNR3in24wc|wjrNC-ej2f(FE(Ba_FGyh#UD@_Fr3j=6t15ha7 z#n`bBCDKTy=TETc(HJ((cZ{bQ+$x%5`qoxyk;#}?#naK}|HNqT)HyiJQvVS`$d)c= zXMmCt07?N49fA&9+keAZ=_;tNFTmNe02eO;q@_WH5$}aNpR0a`?sxaZoVUS;WhsQ@g1b9Fem+29 zA;79ta9LBcQ^aNlzbUqT9?3LQuY?|ndE@1H2J6+ixU8tu(t3c6O~r9hldO8a_W17x7`6L_3jpnwa#$ymh*5MjsW1~UsQPfZV%*CZw6&=i<58&+$fQ59G$Lm@-X3V#E z$~0r4+{b+xdezIzpuMO_vo#}wb0aWNx4p2CeRal+X;pf9tq3l_Xe|fp4a_Wa^SmBk z-#&G;0RaHBX9G;14iCiQXB$PLZ>|Rfe1UDyNma4b7#WpgQ7TE)x39&%EE4zW z16gt(s7~ikXl}u3}E|qfaAxZam|`edlqZK>u18v%;YaqQ~RY?8Ofwc01^pg zi$sTO?d%Rt;z=)dU z^2hIkz8=f1tP)jG-wFum%~3fLmwN-7`Lo!-{eiMKV6 zG(rd5=X`#g50AH^&e3r;%DEZg1$Zr}9yMxxowKvuV0nK7y51qfDqdq!00000NkvXX Hu0mjfR>oN; literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/jabberbulb-offline.png b/gajim/data/icons/hicolor/32x32/status/jabberbulb-offline.png new file mode 100644 index 0000000000000000000000000000000000000000..46f0a1a453a9ca818d58c1e51d5e596e9a951456 GIT binary patch literal 1358 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 UMg*tvssI2007*qoM6N<$f-_4>f&c&j literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/jabberbulb-xa.png b/gajim/data/icons/hicolor/32x32/status/jabberbulb-xa.png new file mode 100644 index 0000000000000000000000000000000000000000..63a254ede2d7c26c6af579bb22ee827caf5f8579 GIT binary patch literal 1977 zcmV;q2S)gbP)WFU8GbZ8({Xk{QrNlj4iWF>9@00$jOL_t(Y$Gw&dRFmf! z$8&=ugb;{w6$(*ys8lG(O}cr**40j^Iz0t;+U=A>>jgJ)GIT?`9jj9a2z1(sLLCZ@ zu3_rR&_dPJvb~HXB!L7d5hR8|vZP6q#&Dqdo;~4Ms?%9vJAUUpCztp8zTb0u|L;Si z&GORk+$k8$%zR!I9Q>9hKK^81dU_+;8D&VwG1YBu%qqNf^Fdh*=P*f`S4N8iMIw*dr3H@AmUMi;j$=gI{Wsl1hyg6+W`L zfO{4#+9qeS9SF!%&YQ=1)V&@6I_HZ{{qQc_-k+ZSx?$fw=B&Xtv$NCs($Y3s8X6w^ zVUGg}9&ZJL)!hLBV*?o(sk4syj#|wy6csUM`y7H;2+zUDZR+sw`ktsLf7+9}uftIkD)^4=ja$gH6W3PHxeRZ2RM_^OwP}lG1va-H&?>d_unRjGe(MOKT z)=`is?9i;R!6mgF8ao~E%cfCydc*NynpfbfM)APr246+K0rrigorJO$$fuU{V3GlFoU$;27^Wy$cF4NWSRi& zs0$=A3!J#&f;IbOurzM*DN@EUA$Tc~USyIFcCg6FxI!Z4C`eW4eOpCeP{6=0UX42c zPmK1qCN_5MjBI+%OF8s<%@{Ov+M#pU1&R?DjMyj`w%#>61swx+sH*RUigr6BZI`;Y zX9d@hx{UeLsjvIq3aq)FRENJrKD}~ZLupe|G7+dn@wn3y8Ci(Or}x+EPbcO7<<8N| z7PvOx1g(hzt(gL~g@Rs$YVh{}I#F>_1`U^V(5iJpL8BG?5_T!^S?)BrcKL5eIlqbg zX~#?o@eJl`5)$5&bGiRQs1f&Y2~I5hZ=wxMKKNsdwgqe1G30^)1Zohd>r}yz3~hpf zchB}hZIc#s4hpXHJE8Q76+*MG0gdLfZW?@HZ#b#X3i$e+#_DRGCNZ&8?&D*_y2_OE z=jWgkocm5DVM_5o4qP;YN{{Kqljrgx(5d1>r?b6Feus9}RVhZayWCgKU3U#%e@aq~ad?@LFNs0o;Bn3`1 z`-B^G*zvE_SmF8L#8DjTPN1DuM@C9Uwrxwt4lYNi47+&YBUQ*h?zPs!Mm?BqE^s5j z?WTaD?lILhaGMM>YZFs$(C8iTqSydg{t-kK7A8>!2RGrkTZt)t2G8AAOmP`@GW(HW zmS4oyjpZ7+A{zsfZQ_2Y$E+rxy4t3{d%${=9cn+ZK;n*eDlRBwgSEMtX=`br-!3X* zqb!DE2X`QNH)`^?j!5(4v&FX#Nc1pfc0LI9nBpo>CjE3NR46K2-*>@k(MmVraK1!A z=t9w#_Qb^W;9QoE`?LdVy9?9(?PC&y6Y$EWGD20g8en+L2@aS0KcY5*`C2QehMjOk z>W1XJKiKny!a^M0_Vh$YpT&u?4Qt#quySRFGB8kr_5B(C_jvOeCm?E1_EG6qhgyu# zrm}!;%mux;#fFU&D4&yXK{^aaZcwmxYaLZA2#{lx8%Ou=pH?pW_3I3CZS4Z>(xuN0 z<>Wl4O-+p-T)%!6a}|^Oa>|C?^4+Jppt{WjXFDgLzH16fui7B5M($peo+B-cj(!`5 z`H%3Vxh3atZsIV16$iM#V>6B5AYb$O`Sbj-!-wgHl9E{;x4s?+gbS9GM#Zf@7ZJOn zo);K>5WQMUyE~*A_U`r9#KnCd)43nvr}6W2x4-{h&9l!&KQ83o+i5r58MjPb00000 LNkvXXu0mjf(7VKQ literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/mrim-away.png b/gajim/data/icons/hicolor/32x32/status/mrim-away.png new file mode 100644 index 0000000000000000000000000000000000000000..fc7c88cc4ee58b405b5e6ad243b19932ad5e35c0 GIT binary patch literal 2598 zcmV+>3fc9EP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iOb@ z3jqMA(YX5n000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}000SrNkl(aA zgQ}g5)0wt9RxP#S)JJQpPAggzM_PINK#4FCB@Y6I7;=-47rQr`ecXFa{|Ll@_-Ok_ z&p-E`dw=KrzQ4!$o!?hjmc{>bm|sQcnp&IQlZYj?6qQG*D#~L{UVt(w(MpYp3D=`5 znW1?gLG#{L`U*nm4Lhv=9>8@M*tFS*1=E>UHG$P7`CJvrWvbt#(3BXb<&++KdalQC zGEH-}#g^WaJnwq;;fY1)`(8db5OJ;$EUvcs-c_)-l?k&dSXU8aZ7f1{z=u3b;n+}W zbguO1JD`$j+J=%m)7i%#%3}nn~Oe4O46y z2&KW(kai(HLMEBU9ZuspDLf~Ic2XEUaUUl}3h{{%kryBu3UGOD4m0`^9GF|lz>E@y z9nIl$d*GT{o5z1(@ziT}{rqYCt~|;NQ+{gMK!QZqAn$e$@@8LxgQ*M|SK%8PCJ-Ny z)1zgz*PVCKH)_K9QNw7tkEuodXp~r5@PO(Z{-Ki;mBP;QILvjmN0CGS&)xsy`6-+HgR zB+wrU=Z+?|^(Ui%o8lT<0(;1{Y3t=3hLW`-}3(QyMZZy0wcZ-)iRGje9Hy z$S*4xIe*b*3vRuB^-Xs#tzWugqE%WdP(GzRL!%|yGttV>r=GAZ` zGC@j^lAxzCw>R=iD1c{n_QP}gEHHu^P{n1Lu-NOc>n^mKr1=^G$~JsNF(4YglICWN+FeDT0w{@Nr*CIRQU`YP)eb+9yJ=!2n`7FIdGIxA`l4VELw8qC3~NHesFfGn@A9( z#Ag~*#pZ(ae}87{Pt(k^g4=uE`u&0kCHr7NOE z#pMyDlyF^Fo*iEyj4VQW;`9gU%W9SN3$z#~rU9*#57#$4 zueVznhN1o=jarFwfWR;eErd{=A2-XUx1S-XdvHBQoD?7KZ3UBToJ^LKQjiyb$-x#{ z_HWVA<+m##g#1d*&`O>ie<2NJ7>4d27#wNXy~zx8KPxN3UBtqW%5rpQn1k^o$Ukl! zrY}KrGDF%lpd=r3=L^}6_M<7&G?hkZjW|Qu_@vZYOQl@jnAKTptER9i4OjI6e}wlI%;DFHW;-QS+uHTC?9!%_;V zwKmSMP%DWL0GKz=hAv;pWgB6#zVdPA8!8Iy@A~9OPdaj`YgtxED&=(na(Mq(7-MDyJaCia zH6A0cEXq}(0EPg9W;*A+mUP$DnF}L6pWjeQ$+L@%6dR%4_#Iv^Gfomk`jC-fo%MU z*_ExyR8&s$YYnFoQc5(2lsHbDhIh7kyIy^4UrWR0hbsyb{<0{Ob9|%iTh;|9g<}u0 ztF47->Vz>DH=8dVonmRWcEA~7g zv=G8er$$6;Q&acOe{F6!(Yj^dNHX!t`^T-rk)XZFNpWRS9%ZK*)l__hhOPk`Tf69q zMc~hSt#fz9mrk*HtKBkxy4+sBu!f%%gfKHMwD*D?yUSa+Y+Y6(vhBw@26pb;x##uQ zU*FWzZSMzqfz+we3&5m2n@=2zI~Li+(<4HKwS5A2DdistZ8fiW7+U67Xkv}QLL8TciEx_}eXr-YbL{2PBQNT}i zBuIU34oh=$m~9%E0}i)OEaZuXBe4EO>+^ZRco4HE^X-BV{s9NN6M2NpVZuQ@A_XUu zrd=r#%E|K zc6bVPv}&Z&SaXFc#?(zhXd`sv~2mvN>t|C ze0RFD0{{R3 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/mrim-chat.png b/gajim/data/icons/hicolor/32x32/status/mrim-chat.png new file mode 100644 index 0000000000000000000000000000000000000000..8fef576d7afe9a304e5f91ac7bdd30bd6338bbfa GIT binary patch literal 2375 zcmV-N3Apx&P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iOb? z6*V$YL#$5#000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}000Q0Nkl!oyW&HeXsfQY(rUFA zttxFQRl8AFinLPqQf+s$mAX>9RV1R#MNP9!69SD0y+EKqFg7=1*9IHkz}NANXWsq5 z%fw;XHv3A?m*;)o=lswAob!LqiTU793<2V(h*l!n4>5;)w2CN2`@i?l5Asbypw@ks zTW_s3Hp*&H5?2zSB(7-6fPNR9an1?73MNqaT|j;xfTTdZJvMvT7p%8ORr-QMzZFZgdK<%~rPeP94FRC>S$pYv7QJZ8B@>AQ^H4PgF$UTD}gonCg( zzx$;w%-+pL{2s;w)Opk+zT)qE%wrm5BqHNQOk+&ZxRS|e%|yWCk%^d?8g&|MvBm~* zJvt2B%|z@Tp4WNY;|};6>nxXu4lH6&PN(xOI;lsef+;a2C4qzmR=D3PTeNGFjUb0n zI(B=o7n+kWB)p3&zrV%n_sSqE&gUskgqit?z7I$Y3dounjUW?c82Z+Xc-T4A-_)(KFh z+B%P0=2h4I_KuQeZ1ow<7L@htsvbY}FD^&Mw|mIvJ!PA{G7|4A!K?fdfk6mo6vf_J{*MY;PH05q+kd zGpN%|)Atagf(augF=s-b9%suk6c@-?iOK|0T5XV#E+f3*lH)F*q*|km9nk0*M4Fq|{5y^KR57gKi>lzYSJc zQ;zwVoVWa&pZGzjwHS zTzm7-uRET-*4H|59SxCWMeg3Nf|6L-c=*2jjw{Zi{`NN$#@&p#iX*dRq16W(E9#&8 z&~6)B_o+xPAxP8<bunvdc= zZ@l;9w|eP9_kH{8RZr~S|42)wVLPUU`E$ZBE*2|^#o}t}mn9GE`?F-zsqg!fU!8Dn zR>4&lFdLv?*3A3bh6?qRb3U&qEE`X%wOD=B5jFhPld&&;>Jtxrsy2IH5ElC6MvoZk zewq9w(<8@>biXK^`W2-?yEi@Io9kCvc)_p}E};-$R=-Oo%$5DhYS(TtLf8G)n2B=K zvR2z?AC_%eW81?!mOfUOZA*r8Ljt!P`}L5g|Ngqk$ziV_zTugF9xy$9Q<(1+hQmI& zexENV;(fZ@x|0J1J-Q4Sv&3Q{7HYH8W?inh=z`16TVr;;|eOlxUemR%mm z3+HBpK}xc2qx6DGLG?xznT65|`o&U>!s0lkt75=g}m(i#>>wUy( zDXBcqk`nKq8(~DozNCw}gd3 zVWC%$?{uTTR}kbS;zfhQ#fg^>8zu! zIb+y>4xLSd;nd#ysv2u*6T#Hn3a3wvt4Z}qS5AqW6bo<3&y4Eqm^L)E-ty+6VzH>> z!p!CGy-;}m>wm3xen(W&t4~_i3Y%3&;#8|qt8G>Y4eN2v8K)ibuAir;^zC^tzHRB! z+J$xXX~Vf~UVC*!SI4;SD>KfXnRV#_>VG-_8BfvAzyY>x+Q)v89V0O8;jg~j!SOnYn919h2r(9}{VyK=XYTUj?o z>J<}h+PCfY@kf@aPo6V9nRD{gaOXe#=j``xjOqCPD`xIB7o^l`_a)!-37@k#%KWel zv0%!W2?NIElEdo$Xi>cFFSj;VtY}#xS=*?TTB}gXhzD~LrGBNUizY@#oH^Oo|D7L= zef#-0y@WpG?==?`<&C-GlxcZME$Y;j+w-`%v}$#hTBND8NcQwh81Lzyuy8uBE;c6_ zjz}65&i0rb?RE9?K=`vGy?y_BaN@f^e#?*19}OwLb2LjJquodB_JnpjHEK{LkhrTK z&S8|sTWpU7HdUr9iB|}xN;884v)9ga8C?C9E&`^=UniAjc65EV3mzF*rnMf zSu15M76^o5(FGRDDH${ryRN6=n)Bg+3;6+;%<98PG*cD+zti!16EZ1e)L3kZC8!Wa tS`sLV%e!gFh#^Je5jS)5W{Cgw{11}ImnVcp0I2`~002ovPDHLkV1klfpPm2! literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/mrim-dnd.png b/gajim/data/icons/hicolor/32x32/status/mrim-dnd.png new file mode 100644 index 0000000000000000000000000000000000000000..d1061f293064cc968abdde043fcda3ebb8ef265c GIT binary patch literal 2240 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 UIt`E%KmY&$07*qoM6N<$g2GpIrT_o{ literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/mrim-online.png b/gajim/data/icons/hicolor/32x32/status/mrim-online.png new file mode 100644 index 0000000000000000000000000000000000000000..f1d8c47666b13feb819d8dc9f2a61dcf65a1aab5 GIT binary patch literal 1961 zcmV;a2UhrrP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iOb? z6*VeDFEkkd000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}000LBNklzF!#mJ`t`78h>0#mKD#2p^6z)Ce5l`EHyz731csL-GRImaCFwtx7u z*K9YaC-Tr$14y9EBJJ+;4L7*gOfzIAD4htP`1!CisD-#Rcf(HqH0ln1DE zkGnnW$8LA88LFfr<$3g@N8UvRebE_+fF~mr2?^yY)w^D+c1fM~=$hz>#3YtiT5r9F z{6L$TQjx$s&KR`MUI%Q~X`d07Boq_`QmV~zojI;IUyGUuau}uK5!*cHaewhH2F5*+ zn4mo49`}31)7mx0x4jDfW2ZO$(Po?VI2j2UjqRlbSv6WLx6TR=TB=nx0#LwFTWs`Q zuh3Z#mal+{oTuc=?U+8-Jq^Wd7&r^@)4K;{m$yJO@|MK>eOp8 zMIc0l1{J2*?qB-!Axsv<{d2zQ33pg69f`dt?@b&1#t$8}H=hxF7Iut3t#f|RwxEriiC3OV_Yt(D9LP{bI-5Fi7GS1rW4Sz7lk2EM1;u?!A z)8<8|0t6a0TVR>8$ofk{TRm^Ht;nm_Y^}#Fw?>uJq(!zQQazqRYmkkYD6z3H*goNl|lg+655?IAZ?9RtkcgiAhh#y%JHPg0CV^g6E(qk5gt zX;)l^k^)tlQI?-&QNMb> z@cGD#c?|0*D!l~>g$Z6tAQ)?}V_oes`hC*{MimAmm$Y)G3*ob$u-!dQ8U3bm$2=@cOAR;x6cUBrNX-MXXuYIpjQS(@Yf9w&9!iQxc4 zPCBU9Xxvt6%r{>xLZ=jI-suUhjC?%Qi*bCQgeH)uwB+QZ`DyGW9Z!+2SL|b*eDK z3=2$&7-Iql&Ks2w!~;x95H+i@tnYHc`=0fJ-$x7yi|2uYZWlGW(QGp$kXEMJTqE|_ zqr+i41@uX27@xHO-I6LR0Vnr+HZ%=e&Qt?^vCS@#7LI4!lNGb zQ>`ju?jN_!3!e0f_XV<+Sfnj86{3kxK()P>xCsW?OBQR`cxeGtc{A z;!v8L5Y0iy9FjKO4D;i7m#fierA3x%Qm#TE5DEpd%4AhYo2uS)*J^dMW!CwcyM4=b z)~a=_OHO&u2jjEgr|ku$D$Ms~PrB26YNN~#i>g?k9(}qD>yr=)qjH{*l~t!ym5fZB z;&9S?e&rE+9V)J*sYw6~>9x;`z9;91WxlFaL)>c9N=#FyTHT}z$z+SlB?TV~)ksfN zmi!-^QQnXX_Sx!~oraVss8%8?C>p!M30)y9YBmExIlT_sWs5&}-7|JLD2zMgRqcj} zXbY}3$3pE^XtY?3W>spVOh^%FDB##hUJ`-a}F0HhKv^Te&X-Hdx^nGu-Olv00000NkvXXu0mjfSsA8h literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/mrim-xa.png b/gajim/data/icons/hicolor/32x32/status/mrim-xa.png new file mode 100644 index 0000000000000000000000000000000000000000..05be9a3ce0932d0ad7a2217d6ed36b7c29d6e507 GIT binary patch literal 2473 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�UO6f-2>2Lx<`Dtn8e#bF&PeAL8h< z$B0H_fUXaqltKtm6|)_O>;Jq#u~a4=i_)`qZ*{#8LZFnor*+!%SQ`8z`O~La8Xrg7 zHs9T~i_)Dr!f(Eb2!-ws(An9EX_}a($*JWEOMeD1tA^>Y)f!uFTvv}$^bo})!?C!1t$n^j-Gc!z2PotD# zK9k{lefw!`ZQ=39zr*b897-uJUcAVK3m4XA?)%I<|6>{w3EG}~l8_MSJ9h}uX~I&{ z`ot4#-M*cfqsP$Bs?BUYKq{50R$xba8<#GBiETN2HF}lK&JL7P9654?^;Z7ub4<&k zsjrV9oksgUXboCd0_O8H?%qu~mm~Y(hxGv_Cns@Tmry9g)BR8J$)|s2?CJzt8ya}y zwVyIPJd9;oL?V$jAPXOVOtQP1Ad{&CTn@f^=uC#D#~vg5(MPZ^RU2Uc{{7Von5M}K z$B&}5Mk&RXhK8Ei1LVK@lGf**Cq6KMv2R~ZAMff_#JlfepFdw8V03g8$8iXU!yG<* zn5n6$YR2vD?FWzKsc4c&Sa2pzl|SN7Kt!X6=4KYBrzr;k z+g^XY3b1A!h{a+krI5>iLn}WcK=pj(o?#d$rM@AM1}$gKu;jX=$H%cu6S;FIvZDi6 zDdr|7$Sp15z4soNCQ?ct2$=v%sm0U3`+cNmPb#v#c{_z^%dPMG*p5Ts z`xFWV3WXwfvv;|9>lTfTjU8)MPf< zEE*jJwg`Y^d;1RQ1urEM@n_=k*dfPpqn2%f);O+<4m3gvLP~)UM8Xk5A(L=8Of(W^ z+qNdc;c(5?tT!oTAf++!#g)r%O-)VT5UcKmfh|A+P=K)^#RoT^O6x5k{~z4>y_5=@ RgGvAZ002ovPDHLkV1ktE^Vk3Y literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/sms-offline.png b/gajim/data/icons/hicolor/32x32/status/sms-offline.png new file mode 100644 index 0000000000000000000000000000000000000000..6a66ba384747f82e74b243a9dca75d4c16427b46 GIT binary patch literal 1402 zcmV-=1%>*FP)}DWzx|sfZUUezj6TL{Jb>|ApT94|pT=T1x4KVhcrTv8a?PDg-aoBn{iR z#?Um`v`Lz#&3>Janek#b$0pfr(vac{!-JQ9;r>`%TPIboG zTH9!9a&a67X<68og_IJdG)gP9QUpPO=lLubmYKbAqjGipui$2W=8>%c*Z@kY#NlTK znVXx#_dP0=GR7FR))-?j#vp`12!WI`dd8cZ89aC}mc2S2+e-2XV8y=q_TmEvc>le3 zx0-uB0Knr%KHc=-sSC$ZN^LIyz{f}T0id;^IY%BR{S6_5&;z{c7cYNV!sd<`)Xg-7cZ@>WUuoEDS9lI0`dz5LUsQHD*$i5^VTPu$YFoLQ=a(A-%-t??>uwpXH(uc@0AGE1b`$v#!^6W}Cr*6!CUCkT!2D8aGr?8? z_`cuJM@os5k{>R8$ICChN}*JIJo>ijOd9}zuG^%PXstPO<_mgz_pA&PE1ib_fd>Vs zw-#O3rBEpF_4#wW@Zw7(6UlWx5x`2IsSC%q1W>Jb#U!rlGCMoNrOTH%^4byN@%S2_ zIsk_U50OkJ5kg>$VS0L+?(XjBJ(tVT*Vl&-0Ugm2YVylJUB>q-y!Ofwq+F}ceE^hF z(`^cV_W?4>u(g6OZ+i>1u2N;eyyE4{W*L4`e|*AqjiXso7>^*rl7mK8{4)C z!;rsnIsW-)iqWxgTAG_NVZgw^0Iuue`~E7B*IzwKTU#45Gc!z1PLRp;VB7A4D=;}Z z8TF0Uv^F`k#$3WMq|~5#fcEwd05X{#Zrz$^Vq$_+YA5aO?VAHI#-Nm9*REaIwoMQO zWV2b)=`@bx;QKy{i;L{rx38`O_wJyMjwH>^EzHbZr&KD@+1a@T9hT z85vnMppgP=Ef$N>)3b}&+3J*Zb!Bkf^;5D+0j)K?y}dY&Ll6XvjEtxt4X{1Ix-inkqQ&ZC#j-EqI;aL)n05h{Hl~T%~)TUs_t4-Uxu|LJ>d+_&`P6^HBg!jZCZ`yDesFEvz;E1-r-frgl(U#{d8T07*qo IM6N<$f??#NdjJ3c literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/sms-online.png b/gajim/data/icons/hicolor/32x32/status/sms-online.png new file mode 100644 index 0000000000000000000000000000000000000000..3baf205c429ebd212a4c31947c237df980c037bb GIT binary patch literal 1418 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 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/sun-dnd.png b/gajim/data/icons/hicolor/32x32/status/sun-dnd.png new file mode 100644 index 0000000000000000000000000000000000000000..35579a925365f4e38e9e85c3d1358a81cbb432ff GIT binary patch literal 2204 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 ee(qhKCH@2SZ!)1=%IVht0000L#N=DO8 zf=L*K%}UzIfSp>5tu0P6F)@=motidvOpvM_)AR$|L<1YJ*4hEm%=iW+ycnYh2_mU4 zOh5=rL;|?%KDQrs7nhf4<;?8t?sL!i|Ia!1o^$RaN-5?d4K@h{{#90!cN56BS5%M9 z1xK3`yGLw57LWt{d9EOHa-hK`&jV`>1`Shy4p3w*$S?*5cyg0LKl-Dh+a!A{kMMKmtl??UnC7dB+Si*yJVXZF;1C8K4o;pt;lrLHGY_G7luYx2 zSg^K~UC6bg1{Y*7E1p+8Nk-l=K=Ue$G-SN^b*wzf6~ z2Zy}a`qAn7GY(W8(Yx4SPEKKDrL4jWl7gie*^+?8@AZ(_U1cgpur|Fcxu@S zbOHsLg{mK*Rpg>T@}#l>V)p%zv57E-N)99XltAiJmHGjIwZIYuQ~=8WJFv@MQ8n4D zCeJ{FO^ShTpah5oRsmal>#iK?5I+hx^#0;~hDxfZkSl?+OOxLB)7;|4iuGc5TMI0c zZQIyjlR!MfqzE7)Hi?A^xpX$}0a!W7S3r`A2h*DZK0+PDlXB0uz_D~Q?TK+qespCd+DvnE6K6g=69^oz7FfOqY&HVbK#ryf3HQgdAUYmx{)0Z_6}Lm%| zxX0U-J>nxbY!9d7(qcp@vtI^Q04zyNBzS%h(b3V=y;q0JoK9dPk4ZzI6i_&9?O2cx5-XfnB%U(z#CydQ7iqC;+D3yb>)FZ(%g7Fbnj zuk`(Q0x#Pus&;{26=W8wU3kju0N?-`f!)4!!{1qfe+w}Pi^|doc{LTK-7XJJDN-+W zTm3Y5d$Al|>|`G~d_^N_{F|h?6?-+sm~LQO*3+t~Ris6HRiS}%6Xg;x3QRG1}DD<7P+3F)}2q10&`hS zo(pJs==_C`(?7nL2?ULsOwaCJmz%3lTm7=^K-XgIcDvJ`ZpJh`ok)fTae<+cL?vW# z<-!qzLTz*Y1y@#~%AT%2eHsF+FL<(4p-ME(Kv7{4O-&!r-q9Y8(X|@S=$@1r(@-E6 zAUM=X#C=Ju_)!_4A@D-|TarGLZmL+V)`t}8*P5pB()O1~PEIB^HU5q<36m_qVcn)*|^&-~SZ&Yv1=vKDv__zv)(cMHw|t-xM1c?FO)YaV0#);QO% z_Yx8k>cJMjS@Km50EqxfnHU-RlChpc+#J??&V}OXoEg(>Vt_}1OuP;2^r=&{wVfv_ zDiTw`yeZgI0=|b!>E{AJQSc5Bo}9LU&?qw#`g}S%`*>|%6ToL0YK@L|2v|M~#@#Qa z3Tnj@jptepT>>@pZgD*I=W3$CCU#)c;I(4}1-4-{hSAg<;WM{aR2)7Bq*#7zNfEco z)r1sPu$-+mX!m#pIq}%`ywsRp4cStDp4qW~DEB*?Ow*ySCIb!)#0n(S_6pp00000NkvXX Hu0mjf%~fC> literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/sun-event.png b/gajim/data/icons/hicolor/32x32/status/sun-event.png new file mode 100644 index 0000000000000000000000000000000000000000..70eef820ea16408aeee7bc2326dcbe5f079792a0 GIT binary patch literal 1129 zcmV-v1eW`WP)#8+F2J=;UJ2l8R`Oo^`S#z7 z0D1FXz`9Px_iHXId9DDV=TB~J*weuAWA9?K*$_gksiRVgnVA_{&wj?0D?eIgMtlgo z4j>Wi1bF+cquA~CH8%$kLSVDmICk`SE+N(K!kmu64d8G%mk?)3rP6>}19ORC7y#Jq z_PjyP6F?RRGB>=@+k+4i(=?G%`r>pxLQmGWWuA}QY zdZpB=L(?=2!$1hZ^`2{3t;_d!34p`lAXpdVtF|whnwmt)+)0EGe`^e27$%ygb9dn` z9hWZR^Z9VQmVdKL0F+X=TyA#O@8XN|=NOC*AcVj)El8=M6lEhNx-9*6eN7HmNnJhPYdpLFaBti(R4_kTda3gkm1umD1 z!RP?VWRh^C55Lck)w*fL5|jle1wjQRN_4u@l9fNVC4l#+#13Lzw3ua^pY#ftS?NiJ6Tj3DsF<8eG54_kxV9?Y?foK7c!KyC3kJ|54H#Bd=eg-|~Lw46M_z~BJs zbb8GI3QDKbM5BXz+;SqHQQsHlMDsh%UM(eiLDj6eb9oJsl{-SA&~3>7lr}Xrxph;% v59|i2*2#DbxJp)j5DJA7>*TSa|DgT?w%gLnEmdBv00000NkvXXu0mjf11Sfj literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/sun-muc-active.png b/gajim/data/icons/hicolor/32x32/status/sun-muc-active.png new file mode 100644 index 0000000000000000000000000000000000000000..3c7474c826f1c6c7e056e8b02adddfc631e5b110 GIT binary patch literal 1051 zcmV+$1mydPP)*aW*kAC+D8ChoYcyAAxp;ofu4@ACVc-|u&R_X2OaNFzo= zLqmsLF4r~2*zS#RY8b|I&Utq@9G=k|dBL)*SZ{Cd?qDzoN@-J0rIe6T0s!Xc=Y5lt zlQ95+h5!nMf5GQh~l$a_*_ z*T4;5Ehl4RV~w%`06bm`$3H#+zu&)RG|B){FT^^I3g5oqL1<*@v8lPyV4YUTmJGi= zOW@`Y*Ky|bK!tNB#7YW^X8Znk-o>qjb0~-`0Dy@cB&w?yI`?4 zOkcXc>VJVMNw;Nms>R30$3N-s@3(wDA75Bl2m<&+wX6B99UdM&?Ab+ce)Q>H&()`A z;j{MO{p|y|J^9P)>|gA22wblR5Q#)y0Kn+zXrHd@R}8~&=W@A;a5(%~%?MP`OZk{B z64Rhtu)};CAM6;wgBy=tXI|zmUkH8uZQboF3WY*bgM)+jY}>vH;D~d*CIBIXT9!+i z)Qzs4qxkXGuleUsQqvc{x;O|x!%_!T2f<2LB|y1y1ppb1MpFO|_w@9%bar+cb8~Zi z*=Dsy6m;)IkucMBcj{q2lg@n;Ie+oXlKnD(rVQuYR)$!> zcK44}bqcz>yS3KV)@>6L6B(={&sf=^I_h>YCxDvErt<8Vmy5082q@1tEYJUI{S8aK V(7V%QLP7ul002ovPDHLkV1gQV?V$hw literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/sun-muc-inactive.png b/gajim/data/icons/hicolor/32x32/status/sun-muc-inactive.png new file mode 100644 index 0000000000000000000000000000000000000000..279843fde50167d69c4bfb0d04e7986f55b81c74 GIT binary patch literal 1022 zcmVMBAMja@cs7#bn zQ6_@N5)dB!b44Ak6kteB60s2|N`Eu_TX?h*Tg-wx?1c{2bYYN$U+nH>K;k zBey_|7ww~)@MD`208~{)E|&|gcDvn1DwS%E5D3eZlth#l6-cMkI6psUXJ=;$0LZd@ z=Qz&FSOT94E|$Po;Ns$90N|TywfbJf9BINZ`$?LT5E9H~Sq32lolZyPoPP-81q!56 zsb;&~{(N?J_MRCbxV^oFZQDV1x~?OYN`=oDG0r(|Zf=mtWOy!@lO#z(Hk;+$Zg(VM z@nf`daB%Re<2cg*u&}Ve3Wb7V+cr4on3|dbV+`eT8II$`l8|NjPLiavTCMi&#>Ph4 zFbrl{Rvy3~VqD}4yjU!LO)33teSJOCYPFzg8m6bGad>#xw=C;N*L6?g2vn=pzX4!p zXJ^N0mzDhe!oP_1d5_S*L5@+jX|^7d~KTM+t~C4Gfnf| z=H}*m$8mlE@G8-!VzKze{{DWSbIuuK{N&{1pHivx2KS1|08{`PfM)h(r1N2L4~0FxPQXDVHga6R;$(emSz1^E|*JQyo~$XBMT!ucZA{k&-Hq} z=dA+(1HdB*NRssZ<>h6jR4VltV;iPvzVntGZzB}5neFL|JTJQs+#-aL5YjZ@%N zzu*6TI2?Yrx3~9aXw5$`{wgG}kz261xG3wo{`~0Z=nfAv^|SQ%`C0f`xe+7wV-Y4G s)^egchvqDf#JC?hKiem%^MBg@1-l-ugk~juAOHXW07*qoM6N<$f(=#FumAu6 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/sun-notinroster.png b/gajim/data/icons/hicolor/32x32/status/sun-notinroster.png new file mode 100644 index 0000000000000000000000000000000000000000..44d4b67a4512c3bca5df6b63b4a61083d073779a GIT binary patch literal 1357 zcmV-T1+w~yP)?NGwiIJc8leOwbRiG}YAlH% zrsYKqT9+jOLrhH6f5Q0Sql!MrlOco%%d#T1r7;>(G%*nk5(FYC38o0eU4FE?-Tv75 zb$ytb?N-`im4p{2+2nigoH^%n?mhR%3avE{@{tcT`a^(+0Dy5XgJh~#0&f9HAORGB zexMKdF_X@E{|7)UwhWW0-d11`*tCGjDWE%(&N}xUAerhlfbW18>g(&-($z(0=Q@1f zBbUoDaAJT$p#ZQK_zg$_8-Ox!68HxAGLz1_{}mt!9Er!{yt;im@pv79twsom_B96% z9>BKk#r*dJ$xJ#sb5DR|s#gK;056A`Gy<__HgBf0Gl52f)@V%y^oH=ubnwlCm zZ`wqna~;YsxO4k9ef@ouN+p0lfI7ej&H~4P&ok+)t^g!cz3o5-c($6Zp`k(dboYqb zcx@P5qhXGA9S5y7N*NVMB^9yST8+)8l5Li|WspNve=hwj~p*7`lnW^b%R&}hxG)*QZCO9!TNTDze@IA0qbtcxn3%p%Z zQ^U5NZ8WzuV({U6%9SfPjuGF!1f|qmN1-!A7-*?cN?}?ts0-fNw#`Jb z$V6!($X-(k9@KfHH4P2*Q7vpRAeh32hDO@j+K@_BK1OQ<8Z81Vp#@q5*`NiY;#?4m z#jsjiX>MtuSS&JL7-M>R`mW#r<#IU!a17u)@K|ZGglSqqwqn+Cpu<9&Plv-BWh;fG zxw)C9rY1_I5?BAciW5$2P^+4;v9So?lmrd}3=Iu2Q7j^)L`sR03aJ7ur9xG-oU5zs zl&aEF(b(9?ny1!KS67Gc`}n@k)YKH$ua8CmgQ_#J_B_z-d0zX4ix&XRvX)k2F$*CC zLIe(l5J(xcgMKlmKhRYmA+%|lEN^`j1Qd%!hKGl792X!BydP~uO~6s$MS!-p$Mx=A zyMz$3Qpw>`k4mO$ZfAEFJ-0!XHCjVHpX1QsLjZZ;iA*{>BLOn$>^QKE;6VBP#*I;N z=gt_WX=0crrfG%0yR~ImSf+_-nsc;iMK+P0$;ik^g!fZ)K2$CwnRM36q_anW_W+Lf zeTCi`cZ0jpQ8SV>pc7CJgQP*O2+b%d|``?z`YCcp;-d&_R%=>U;m!h|Zv@I3(*fT|^! zzwQN0P69nkxhF0OAcQc19R#apD^LTR1NH-7EcKGQWPtnqJn;Vo4*~uLNlKg`SPoXF P00000NkvXXu0mjfv0`2D literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/sun-offline.png b/gajim/data/icons/hicolor/32x32/status/sun-offline.png new file mode 100644 index 0000000000000000000000000000000000000000..ed241336702f85131753c6b944b3337ae444d1db GIT binary patch literal 1230 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 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/sun-xa.png b/gajim/data/icons/hicolor/32x32/status/sun-xa.png new file mode 100644 index 0000000000000000000000000000000000000000..e099b7f3d07a1b2d2c9a5b7e4c7d752f947d6382 GIT binary patch literal 2059 zcmV+m2=w=fP)JNR9J?PabzEvKMFT8Kn>L_QJ2jaWsHlKwLJJX+YzPE4m(4l5XV3Nf`X}d`jc%5_GvCZP z=X)>D`@EM!7-Il{OeP~OS+ZnjGMQW%3We$lg+hNmpFcG|KAugd(;liwCXio(EVfjZWzlur;e0-y&E;~t(&;p-W>+bMF@~O=p1YfyoB!0-*47pb1|bLn2qADB z2Ll5GM{~K{58B(?uYB6Lr>EycOH0ezcsve8Q4k0OAW0G&$6&X* zy1KejO-)VbR;*aj;5!gS5rhyh#y}~>=;-K(Wm#p$*o?00?@vrj{EHCMp{nYGt*xz4 z6a}&@Ly{y2f&c(;90&dV{jaQFzy7;50rd3ryrC${hPJjg)Ya8NmSxTW05Hbjx-J-F z{F`N2ID7UiB9RE1nwk&}hark0L{S6)P)Y#+`Fwun%$YM!*45Q54TVBqGz?>GW@hI2 zmMvQjZ~)!i-8n^3Zb~MTShQ#nR8@r_2s{%?DFi_Pr4)=YFvegQ28M@+5sgL>3WX4f zM4%|joZyTxIF7^ZUDt(an$UHf<@5Our>3U1cXV|03(;sa>AEgF&x59E&@_!Zp_IZj zP5$nS<2Z=LVmvTo47P2<^E@6L03=C*EX$lZLI`A8CaS957K_D>W-^(uq$tXSZQBt_ zDLl`EZQCf7N(hBQC>D#{*e?xZ453hn2aqI*2d0#Q5W@S%bzNQ-|2rWBq9`I53@)m# zuiqt7hGD>UU49=5g*fejKmf8VLli|`KA(2m zwmEZxAn*pC1;0ud9UXnrFpU0SFvzL%YprP-%H=Z3w1_S~D9-I&Y+qPjC1}w{h<2Z0#muFQfmH6@5s{|oQ62jpy zZ)V@G&%i8*YtpRED%-Zv)YJr7mcbZ5=BvPU6%(VgdiG?qFgS|q1~VN>FH^h zrpe!Z20op!pN!9-ZQHPI8@jH4lFQ{bN&v=9(<~K>Mb+PAj^pqdudlC1p-=#043=ea z^npMCx~|XJfUfKExvy+OLI^Kk#l#G!(`i>or_+p5dO?yTlu9L-rs*#XxUP$2GKtpK zR$fm(Q&m+F3gHQWS;F)(D1Spin6AQPg#vZ#>2rR8{rH#>P$ugFy;_Q(T#;&yZzV&@>IYu0z-L z2~E?U17?56m6FY7H>#?7Pdpyq9E-(T2_c`EUqw-%C<=19+^N;8SFi5w?tWNR)y=_R zu$2&^xvm>drBZi^q9|yZ#>;A&COps6ZQFjdy}kW#RRF#mI&^4hOH0eia5$VQ7K^;w zeGrVX>w|-X8$L+folsoQeD?n4y0k1tt$Z$9yPEtAOzu~_Vzq9{fSg+ib2?6#Li?)>G3*5i{l z*u|40Yk$+R_~d-a?09{=zBz{FKmS%^-<*reh2fudoxReY^VV?Y-N~n_-TMb%WNWXH z-S&@}7qRs%MD&pLQc@4J!iokhq42FmCWJ4U(k*LlUR-xW2GGfbW&5Tc{Z7~Tm#d*&-Z>C> zWzfpK^xovN3!Q+kWG5cH_tk56&da9%(D~NojwL&fky_3kI6S>`Z;r7)o;Sx=Jzl%H zew@8{&q4r#F@}}D8>~MtN@}c literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/weather-away.png b/gajim/data/icons/hicolor/32x32/status/weather-away.png new file mode 100644 index 0000000000000000000000000000000000000000..40f6466ad9f683877d350a7285377f3a39d6ecec GIT binary patch literal 1713 zcmV;i22S~jP)|;G=!eh;1Z-*^ZBrRz0%-|0FCT;?rB2$W z8pnA!ckIl4oO{lGt$r|0u$swOTI`1`SZvtrv)7OH|F3g6#LT#oA+Bik4*>oj0Mz`B z-6v2xR)Ui;LR&!g&UVNSCe~1ShRRb-;PM?!?>hz4o4U}F6(d|3ffp((-Rh#&5wHk_ zE%duEeLZm8hDQUDoyLNp`sD!3(Shv&CP#X-lRYBvT}mfk_Oda=tkw%3q-3H`GTfN( zT=%A9xewEWN{1bo96XEOo6Z2=_VWRF4-ae)aJE);wzN#SWROTKW-pcr6R!byG1=gD zI5|kt_mb}1L4y@{~-YX*%oVL~}RJwff0)#}04Wpv;^fwn6P zNo60UuTfUqK{{E%q=^=MNioLY+j{{w1E36wRzWPdC-75`2$DX7PQEDMM!d=%w}M+$ z8#e&V32>nYYR5_tsw_;rQs{6cq&dk#pFweD$d~}9`vE%xI08%)+;|pjPJ)tKB%E9U zp=%trj)Hs$Ab~&v+&1T^UkKo2Y@{o&%1?pChhPh9;kcjT0dV#L;KaM>&#l}#0*XEc zc;n%N0oKW#!bG1UqLNV*W3sm}e+iTc$jK0ZV5Q$C$HU&ELb6jrPXkQn3Nrzo&aJkI zQ==`sbmaPAY)bVru(;g8y#xKHCRf}rIu4f=05s^sLtTH+JpZ zGXebji>S6Sfu(*cc?o&Cid=F1-$#>w0z&VE?2%ywC{xnUIrYW*4 zgL4i<1f>-E`ugzn!6AFY@=wTx3#-HojE;@ECx7!;JS-?se-n2=6_b%_f@7CR(i)>h(IB%_h9}vmocgdk^nDhzRRGJE*GFDrH%Y zcDs#5eT(GgO0&LilL9E-P_dM4sm`#>}=`N(lgvQX+~X zNGU-?U}i8glv1$PLTe3U46-Z(Gs75z#fz>I*16k&OHD!dz8Oe!mWgT%J_81yztnp_ ztF?0u-g^jf?h2(8!Z3tVY8Ea{Q!w-FGkKnah+wUqEqCe9@gGZ*fv}TIG*OJ{t(lo= z1VI2H1f-O+MdCO{6h*W9Qc46tFq<769VixyC>D!|q6l4GT}YAy|2XlMQ&Rrny#coF zb9iX~m}Wm#?LPCsV^2Jq3n7ps3F0_Lu~PVr}W+->v>0i_WiY{oJ;w zTF6cv!?8IB%1s$V($(yLnQ?-vS%Jw}_4 zN+la}kKr8ggCBioO`uBmYh#xY!9}4sq-5ja?b{C@_{l?`?lva)rc&}Qt@Slw7`~yk ze$spY;I5r}@;NU)Z?OMXe)oa<>2l7`y958LxZ*!19{~Id1GRu;;E<*P00000NkvXX Hu0mjfb)6*d literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/weather-chat.png b/gajim/data/icons/hicolor/32x32/status/weather-chat.png new file mode 100644 index 0000000000000000000000000000000000000000..683684fc088dff2cfc9a1db4d43d2db2aa9a57bf GIT binary patch literal 2292 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 Hu0mjfb)6*d literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/weather-xa.png b/gajim/data/icons/hicolor/32x32/status/weather-xa.png new file mode 100644 index 0000000000000000000000000000000000000000..a870125b2b8538adedb2f9431cdfc74026ecefde GIT binary patch literal 1240 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 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/wroop-connecting.png b/gajim/data/icons/hicolor/32x32/status/wroop-connecting.png new file mode 100644 index 0000000000000000000000000000000000000000..49599fbc59ec7fbe7292246ed72b29a063f6eff3 GIT binary patch literal 2515 zcmV;^2`u)BP)V>IRB3Hx05Ui(F)%JNFfcYqFDn250019!MObuGZ*_8GWdLY&bZ|N^FJo_V zZe?s~b#pFfX>D*WV|phZT9g0)2;fOXK~z|UotJBDT-6cBf9KrCKD>Udoj6V$$2g9i zhauzv4QZ05h)@z5L?a?vA*6nzs+tew3y=ymRVe|fs#GYYRQ&{1TPZD|Di10J3JPfw zARzL@#16rB?8LA2?%KP1_ug|(Kiu7oO({t`(&#=k_ssvy%zy42!T%tOw*O)^N_sSgw#|E@A|Bag;Dn(fuxRVvhlJp1pcSB{Imx#+tYGER1vJ!Ek%&3iQZkh#-NR1 zIv=qA$a(hdKY>^D0fsSh$E8D$9ltJs&h5W!^tAt)Fl?wv#LZ8Cv`wt;YDNg~m0==V zq<<_&JYvyYA4LekXxigUf10McC@l>!k_i`WAeAlf>sQ|4qcax)JRx}avjb1;o9WM* z`LJfqOU_h$dcS~8i(BXL-0q#Cb72xAU^=gu_5#v5A72^9vK~vC6QrkoKK?w-SfpJd!bF%mF;Fki3tlIDg;Qqy}b9jFD10-vr zc!5SK$mV^{4rHi~I}A zuK{&WKYBl%tx5bqWEZe#?aghh?rO$pkU}6ONKw8IH8oXaaH0?b zE58>|9kpqyjZzzPNG9A_C2m_1&sWq{N7!-CZ2&?W^%Q^vC^Z>=@Zbi75O_*qNr6Cs z2tgElMgM4yiz8DQV-P|hMA?U+ZEl>UE!DI%#1P^ONHVDQd{M6wm*ZEVWvma=ty?{Tz z+t2#02J%IPl!7~No=Z*KDW@hO4LD(uNQ{AV0~ykJpF6wf($Ww^3h;bQ!B=>`#`6`$ zKvN7fz6w*&R2L!cS|qC@%&CcxnJ)6-#YtRS(p(>vm|byH9dp>QtdV(jQ9NJa1scx} zBM@;U%_Zk$HW;8f=2WOUFrMSpv5)#N23i_o zy!**G`JxIJ)&`|vB<+#O`C$}%P0`m3jOI8ykeTJYGN_nq1dO>B`J!S;a{>$;{h%kL zCE``v)*K83>cq#r)>M8I$%IS9mi+y_A?~|6>R!4hNfa^#;xirq`SQ;bfy?Eg9)3W!_?oo_6>=zaLkDNyvxVHah)`zAT`;T6(3e-?m|w8y&6B*wriuOAD8ugwc# z6aZ<&lYrT`{{*RQfrdncbxV?*{ya^gsL1<@V?E;)8iv^I3(gt5$(-|pest~ZUtq#kQ7-NVy7DHoG?0xZo@q<7J!6To({^aQj0Dw6iTaIaA zzBha|RqZLs%Fbrm=T(vSG{zWC_h-oa8dYk)0zsh6tYRz6v==t3EQMwjXv!=bC zuPw`Pz~OHm{hAl!D>0DSq~w{S057zzE(=RC(VWJ@>XM z`~8ox{HA;N?lgv%f#|K>?d*DJ6Sax(XEHKbU^G+23lveus!T;n8@xahcP$ppiQ_t9 zTR(n!fEWMxmdWJ{0(d7-ksX8ocywZ>zb`$Qv~7KM9YVhfG`p_Dj(cun+s0+YqxP4X z&lUqcpO5qM>&MCk2bh-{t~TsCdGZnei{}6JXx8%Wrxw^+{tCoSKsb)gnw1@_?OsIN z{Ca8=QL5t(MPD;H+%6sALzCFdSvb-*U3Xtv3w3@)&XN1`ZVj0i^)B<^6983?0qeAP~K6~RQ dr*3rJe*?#7$Ta>ZGw=Wa002ovPDHLkV1fkBnq&X~ literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/wroop-dnd.png b/gajim/data/icons/hicolor/32x32/status/wroop-dnd.png new file mode 100644 index 0000000000000000000000000000000000000000..3c28fc49a664aa23e1f4126560fc1cd3f1f7ada3 GIT binary patch literal 2443 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 JPDHLkV1nx*mHPky literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/wroop-error.png b/gajim/data/icons/hicolor/32x32/status/wroop-error.png new file mode 100644 index 0000000000000000000000000000000000000000..4b6c6661e7adb270d95d5d76e09d5a220479c270 GIT binary patch literal 739 zcmV<90v!E`P)dt0fZ%+tbm^v-phcN`-Zd0-aj%z2*k zgZtk1y;rt5&*(YV=@$S%Z#SZ{bQf3%Ylf!_*3zEs$w=o2hdVC75zC27Vmb&A1F zVVEjOGhG3cr6IvmSQBig4UKyQOJ!;3)BwQTf&MVIvhXAgAnDm^W?=4A0I#KMKrSfl z)?jShuBHKu+tnJ30lPstmw0vtP=`A}rjZNQChfhn;fU(bR+gI|t|>zQ%<*eCx*Oq$T(e_Eh0kH0(>P z>5Tvq&7ptf*&aYqv*31^_rV^~n(s#du_pFx3(x~^fm$OsEPDW@u76W{z!BZZWVbuwI_^ozZdA@Zus8=`~hvw V!@cY&(f$Ac002ovPDHLkV1hN!Nyh*H literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/wroop-event.png b/gajim/data/icons/hicolor/32x32/status/wroop-event.png new file mode 100644 index 0000000000000000000000000000000000000000..70eef820ea16408aeee7bc2326dcbe5f079792a0 GIT binary patch literal 1129 zcmV-v1eW`WP)#8+F2J=;UJ2l8R`Oo^`S#z7 z0D1FXz`9Px_iHXId9DDV=TB~J*weuAWA9?K*$_gksiRVgnVA_{&wj?0D?eIgMtlgo z4j>Wi1bF+cquA~CH8%$kLSVDmICk`SE+N(K!kmu64d8G%mk?)3rP6>}19ORC7y#Jq z_PjyP6F?RRGB>=@+k+4i(=?G%`r>pxLQmGWWuA}QY zdZpB=L(?=2!$1hZ^`2{3t;_d!34p`lAXpdVtF|whnwmt)+)0EGe`^e27$%ygb9dn` z9hWZR^Z9VQmVdKL0F+X=TyA#O@8XN|=NOC*AcVj)El8=M6lEhNx-9*6eN7HmNnJhPYdpLFaBti(R4_kTda3gkm1umD1 z!RP?VWRh^C55Lck)w*fL5|jle1wjQRN_4u@l9fNVC4l#+#13Lzw3ua^pY#ftS?NiJ6Tj3DsF<8eG54_kxV9?Y?foK7c!KyC3kJ|54H#Bd=eg-|~Lw46M_z~BJs zbb8GI3QDKbM5BXz+;SqHQQsHlMDsh%UM(eiLDj6eb9oJsl{-SA&~3>7lr}Xrxph;% v59|i2*2#DbxJp)j5DJA7>*TSa|DgT?w%gLnEmdBv00000NkvXXu0mjf11Sfj literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/wroop-muc-active.png b/gajim/data/icons/hicolor/32x32/status/wroop-muc-active.png new file mode 100644 index 0000000000000000000000000000000000000000..e0544aa5635076b9d0e949f2de93aab4bea5b8fe GIT binary patch literal 2414 zcmV-!36b`RP)dYn$DKHE2uNF>AIfr+*=ZQ=KizdtxSdSM*c2OMZ= zZZ*C&fX1eVD&Y4*h@x9>*;IXf{rY99s;V>pdwTqw`1m9MtFO3<>gvkOSj)1kLx>-$veL4GK!1Rj_w5&xlMxa|5|9Xy z@=r}6a5{A6&C8?VwoS6K!bdO^9NqoguK$EWp)ugGmgd$Ez7{}ZQ^Oh|#P4pp@yC_* z*ImC<(==_*-shFJwoiqkDyXVTZf-8+r3)!5D+3@H4ALJOAR3KgSr)csvvTES@~*9S z+LmRRhu=EX@#<@@_@$JOd>+Ic0BPF)bi;;?OE%uHad|M*r~d69yHq1#;BqY1b9%gzvfy1e@uH)AJAvQMPDchn zy5OEHDK7Cn_~5VW&UK!1?b`jks%Z*URh8VirIDh-LL?GJfJDr24?-Z2*b)SS;gJzu zc&UZnUO%R3aqm5MS<99zo8Gze&+mr^!vSE&OkpasmT-#@qG-#OrsbAxD$hK-M@2~1 z*I&m2JGN6)R7g53Qi5fhjK{-_$HQ2*iIk8k2}w~=ArI`>&ieZ6K)^H4?olnFev)FIo4ab&H<(`%}67fqt>Fww7ORzdu8_ln|Qiy;};*EI_X?ncTJ_oq1iH^C5)bRNJSTs;WZQbp`M$K)%QA(Jj-o zyL$qvX`1*dDwrwc@kB~yLI`r5UUD4nv?yeT0gxae$KfW|=|u>Ul4&BG)&lq{DliO# z^XL0i%QS6|+oJ>d+6=;^Y1$K`6O4>Zke4?Pgo40M1rvZ28BnQN1=#70D77ora%(pDlv?7s6 z5*Sl}al0T zKYp0*@s9{bI>^f^L{&a(89F*U0jOSFo{Ys~Ny9K~U|azLfE*qko~o{_iURlpp8){a zwBjLV5^y?vh@J0lV>}+t{2z~p+4=4^PKOVr(;(Qi;-NWnw0CqNgrIim^2qS;@Kl<< zfY#F78fk25I2-5-cs-u{7*L=n%ACQ=3hP)`vyHd9cV|GHe)SOfSqlLeix154Ustn@ zWrcN__tDWY{DA_kdQWmR#)NF+_azc)&%Z)66*kytF&G}J$+rT|o30zgw7 z+;#aQtS-Bm{bwJgXY>?FI{|>MIH@kUoJ}hpnzM3%*WNhD@efbpbm}zRd|OZ3nYNKw zEEWNdz}$Xd^Lc-0k7e1ez0d7pVM*~NAZD9on+!&~0VvL`K~=O%d!uC;1-bKw-Z^$O4E(dDx%K7Q3;-OkEZdRga#2#e;46azsES5u-qJ7qf9$>EJht<3 z;?vVqFDZ_f7gdbD``)n;U>G7D5P0 zN7w|uaxt25Hq-xnp-8P93YGXSK@wL*ff z>l{AvHo;Jc&_I}AC`2$AVlo=N1e8P9F)a(*wlm*^5X>*hO>DS!{TXB0m_Bjh#Km|# zHpSPq<*Tl`x(y*~zi9OWq^@h0%jrtycy!Ao;h2gTni01Y3FNvRmZvz|C|yuAURkho zKoPnb3kpnmVUYEYp&)*p%7V7c?$jyl5DP5#|56n$5N^x|}MCA{@Fy02oO_+P0lOm%qcy g=~saH&aUVG1yKYPA*hfl9{>OV07*qoM6N<$f{9v_wg3PC literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/wroop-muc-inactive.png b/gajim/data/icons/hicolor/32x32/status/wroop-muc-inactive.png new file mode 100644 index 0000000000000000000000000000000000000000..80e31bf313e9efe974df0b114303c94a0a0e08c4 GIT binary patch literal 2237 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 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/wroop-online.png b/gajim/data/icons/hicolor/32x32/status/wroop-online.png new file mode 100644 index 0000000000000000000000000000000000000000..013102b236ee4243aefec6c71e5fa88efc83f4ff GIT binary patch literal 2453 zcmV;G32OFNh=c3|n?Qyn_KYt* z({t^f?%n%RRhx(2V~i0Y5wx_W*50dXef6)ZT5E|c%Xl}xW5fBWM6^77Iu@Dy>NCr-WePXUe{KYCaQ@vTQc`KhUg9(?#t zt+lo;k9W=Pk}zwlJ+DT#Db3c3Tk3ajr=VpL!-WraZ0QrXdL33Mk@~dC{ z+7YA=QX89J{_ZqqUwICRL~Dam8m$ykDkMVyPlopn>m1HmtWEKFK77w3-2eVhV{|da z%jEmt|K5wO`PMA(m5q%lZ&BkhA;j1dPaNN$;bj!}&GYA;;>^pZAU6Uo_}WOI8Yd)Fo8k`5)~*+K`}B?VPvF&DJWF_&E&Q^7=oNV{|r|b-lP|G zg7LBO>O&7cJOMnO`$Xp;57g`R`Uj4DaH=17OzcAS^w}RGb%r(yZ4@eyXe}rP1rF>x zz|_Ppwl>B9SX^y$<=SN~&0Hc%99~K^iVTIv^7Pps@}*CGLuFZJK5*oNQ!oGSTzhS8 z?E&B?8zDG+;K1}KKriYPUU=oFEOl-mwL}?#HUg~`wR)W+hwf!+`y{18ku;4-)0k4B z$kg^pjvTs|TD^|e3T*_+2&9%Qb#Cy&tIrZfodQ7a>o9=KrMPR)?!BXfq^De#ii?+j zg9-%N3;|Ri2?~aNlY24Rka|mE6XG-?P9qYVka~;JLz|#rP{9VgL<}W!|Hn2abt$Qj*i^1kER;}MqBKYYS_@WtizF_RN-1HCkw8NN zqxD+dIBR`uL$x+&BeXzifzlFb1m$7{r4_M@NL@tg{_1!GBy};Vi-=u>(u#7if;1wB z5C|<;4Ht;hNI7eLy;e8Cs0PT$NUimWjj~R-M0#TIamC zFkFscGsM(RUS>qyg-@yc#uIbbDfkupFUAkP_NxBCo>iCLMKO|Q+)&32_L_MCTqcXJx4MXm&-B4ja|!vqBm z?|hW$=KU0l6|5Lw#eib5%yjd94)1&v6BJmC=14_|GTfYJcXJx&otLiIo1L5O0yqOKpgkjjdcGm;^5>*5k43cqp_unmo6@bVb}%E++GiS4*2|s?)z}Fy0uvC*8Z?(wtGR&uD_aJ z$HQ=_TvDl^s5T8xfm_Er@HWHQ43~mSGF+N5x#=L2)%W>o=k7PUi&6K5U!QFOKRS8h z)RVW@1E+!Zg;&lm+P(~Rf9w22V?R@))58l%4Ob*h4iX5g>0wRpCY&^4XrqQV=+x*m z6OH}o{?>Whm*It1&MyM(+!ueNK(4|r;5(B$C%5d|cV|7WUK>j{UvEaN$+`Y{V%hnt z8o3Gp-Z5NxzUqRnv9ofBB6V+;ceD!KiT2FQ>ua-fvrGJ=lI#|U!@#$8zGvsi)UI7s zN>M4<{>GH3^eRjCExP_1P7lz*FcdJ9-Xz|FG_EN_DB834C+5DVhsSS@0^AeY}eBX4r4YG(fr{##ivMbXjY> zC0moNUbmP0`Heq!27|EAJ1xs^3&*#Cv1W67X=2C3h*X)(Hm_FY=Czuv#06Qh1pq(L zvF{gRzg+K#(@Byf>G7|$X19U-U2`g>6oCl@K$0ez_kN>S`}Z}cZv*phYtR1z$?~Q^ TX#>_700000NkvXXu0mjfJFca9 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/32x32/status/wroop-requested.png b/gajim/data/icons/hicolor/32x32/status/wroop-requested.png new file mode 100644 index 0000000000000000000000000000000000000000..2e37e9cd57fe0149cdf75b6631d7508fe4217ec8 GIT binary patch literal 2437 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 IM6N<$f<2p?qyPW_ literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/48x48/status/dcraven-online.png b/gajim/data/icons/hicolor/48x48/status/dcraven-online.png new file mode 100644 index 0000000000000000000000000000000000000000..4d826a8a6bcfb9f59cfb47e940b6fb6c6ce4a2e0 GIT binary patch literal 3591 zcmV+i4*2njP)@~8FWQhbW?9;ba!ELWdL_~cP?peYja~^ zaAhuUa%Y?FJQ@H102OpaSad;kbZBpK07`FjWo95&d1Aw@a$#(E1)BE&000V>IRB3Hx05Ui(F)%JNFfcYqFDn250019!MObuGZ*_8GWdLY&bZ|N^FJo_V zZe?s~b#pFfX>D*WV|phZT9g0)4HQX4K~!jgy_#!`UDb8RfBQV{Yu@$*8{1$rhJbk% zY(p@Q@UkO9kWd=(YNdom6(v=n5dosA52H#|6Z4^jsBNm0gfvRiL}@BTEs!a38n6Sg zp@6ZC?HSwS8GGz`-ns8{_G9(Kx%bW;gJH(TUDDCr=e73#zxLW|t-a4xe1Nk3yIkVn zZWJ38tP)rTC}0%D5RQHi{&T~9?E0YkR3C(r?ay$v6CMXXF&~{GJg;E$jrZ~Lnf84~ z1Vm6TeV+%FumuPg{yI;Yl{|dwt(eoraM}c9Gv2lf_!orFHy>=+bV-~xfowg3)gHkC# zA$A-+^G~>V5OGzM*M&-7Nszq}aEQc+o#xPvhZr9oYN$S}g*CU{M{OZ^yoC}-4RKoo zydR`kwe|@hm4FwGi}xUU2;2-x1t{g?>Xxoln-reMJYprg@H zehyp&N)SDa$P~CTU=WGwq0^8=BL^hm)tOO5YKYYEyc|j;Sq(_NdM+8DayAJ}0ZRd_ z$>RrrRB`cMK%?*xEJ%#F8c2jl+$1AnQOXBb0~cXUF-aSVRM*`@c;N+z)UaAJviC(^8|t8_ zyQ%q8+n*fe`vWg5Y!1w;l(=^@sY1^GEK2>M2pdu!-aYB%JiYrbxwQLrKE775>7&;Y zrWJ_A>4U`iAJ!+ZMkFR||2ST_0+E=wYI)%|dH!|hD#oiz_{!Qp<(a&p;;_JWg?y*8 zVt@3L&BSL!;Fc%o4JCL$316ljc^cB|3rmZi=GRA)?0;T&o=hTxigx|H4#X z0nvD=iwN58z&XwHJG%J6ue%v3^a61EivQqv$Ilow?|^b#6n`IR^N-K|8RH8gaLZ6J1sFH}5tg?;x=88^H|L zhQIwz8Igro<~LoV`PiLBL+>1w4SfN>R$D-7O{g3Ex&m|zJO&A=e?(RTD zh^<3wOKdE$HslLce)-BE&Lye$j~>{~nAw505g*F-u_W7vQvMtwwTj{B@gd$C-o`|6 zqz+r2`o$ymAr#^RY-$Vs8q_1c7jWB}&+(ZJUuETaefTL5u?UW7J(`G{ z(i0qwxb8>h?>2kK3-imrRF`D2Ee^D8aahk;)q!D*u*(KG7&D=}9f8-9Lw1TZO%E<T)K$l`3w>g9X6d|kk*l{GvC zB|Y7ogK0m<6}_A2PA`Lo8;RhsIB|sSLT|LB@wo3idCb3XqxUT!2M~5?{J^7X^JpR* z22c4d6IWQ8xrB-6Fr|2snk{l}b`75AlS&DF9}c*1%_LO!QjWC9D{H6|iC1XK4!;;l$R#JDf`@SmzwosKVg*>rCdy8WXrT zaHz6EdI5IreuG`R-$-sM2+|(ewiK&Y^>On>_p&&%5=7_q7#P%^BPDkFrb*_D?Fq@3kM62LNieNE|0AKlD?0gvnY~BqxIi z0g5{{_(r+WXlK$H1cxz(nk&!g`@Q7-38+Mg3WP#=5-S?PlJ?qX>zz3u8+DMJbbT)P zh66PQF!a+{F<4`WU8Uaj2S7lf5&|B~l&26JRvHBAVBD-lTY>W);9H*oMc}6pvBbup zT@?UV@B54h;AEglpfrWW;KY#e+Y`5OQg;QJb)R=3)ao`Tk5)=$5G)o$B`Vg7NAOkB z_j}3v?hARC1C{{gL9v`i#A2Ngs@zEvxFu}YZ!|$R?zcvtmh;fdVZ|b1sn$wOm9cNm zd<33-l%qfypirI0ID>O@T_~}9V-)62=2;h-ov?Gr2n1dR=QPG@s&SJ*<(FUK*clT* zA;3XMiZ`PTRx~LuGslHa_WM@gtz=GiBN0fc6iyu08fvB)fd=Y*pCJK2>XE1#7coZT zoFi1ZIbi2l-Mtg|tkqAN&?0y$g%yL=7VVnfH{REMVE%if2?0~YXiMN6ftQ*SQRXt9 z^>e5Lr#0%#jZT3IvCd+QAu`poKtR+02--!|;u@iZcm!Ox^i!1eG!;EVN$07V657_V zqH$s|HpYo1P$?8XzL$J2NU1cbppCTGM(AY-ycE`Hw9#l=C!o~(Mxc2UP@e3^CE5MN z^kH&6eFzSZfVOZkxuA!|*<@$IH5Wq3u7$YzuguY2hEm5hKVElc<^+F`CL_ILy zhZnS+cIVewVO03L3b`HF04!c8x>Lv$unkndi2iA^KAE4K{+~SrwQ)=OLX^22QEL?H zVvuu5{$g_u$>?^FY~kk>Sb=fiIH;p28NkVIk6_nxk4F3FleFGV{tr(Md{#-CzbpU% N002ovPDHLkV1jy7t{k6gsLJ%4mSh^B&w36NDwC^B~Ih7-JRjEvyScTCb)L|@kk@j z=kD{&yzjd^vlgv2(+q3e1O|nZRJpnNV9j!!jW7uBrS%yh0^6~_R(|l+{rg{T_clte z32kmZShGF%yOrhTOlfJ!a$OfoEJOrE5J1EtDoRuj?Oza*p^0v#(K=4OWsTMfr8Qbb zdEfV`R4QtBZ?B>J;BK#o3$tsv&c@2}a;8u$TJ?I3voqD_gbf!WLa|h|fXwdR-UjeR zXZr;o2!rrmskCG@n+=p2FL?m1HLX^QVyR>qlkP&26FaW!P6YWFT5DX_g#?R9bkK8q z9zH~b#Tx|*izV{;JTqPf$8peF6NVvS7|?7ssWZ09M@|J?1W>r=qsKHxY`B;XQ=2##}+!d2tC z`u5FiZ0O60CvTgX78s{!1(I=XPW4g4!e?9U;+iCaY`|v$rF%AbT1&cHWz?DP!{!1CKGmrhuy6noEiQUlAiy-Kuk)z;#Q{dc^P znR*jSi!2s^oWqLxPM(0+tVP6%$pSbg6DK2JqN9)vC_sw{7U#qrU`sPiNovBw;= zY73Yl;%WgB3$RT?76^U6g@|x`d^A=ODhxS(afFEA2R=Y(IL;W(5-V|l43MkUYL5>O z4)2tfN^<(LO7-+)U?RUi{q2>KEpqG@OGv9HBBOobpRHNIk_>p}_AN{n}rcI-?Ch&bKl>@!Av*VYy z$`65gpaC=iUkveCU;!usOY7?&t*?Eu_Ia^TSe3Ld3nPNoS{)o7KH1*d{-#|1p$zN; z2f)8TT>y_rKn_?W5>YVa4B&DerAEr#B%f%;tH7Zl|Borx9n&cwT9TKBurhg%$h<~P zK1R%~1)KpVhF8l#0cnp631eC?S33S(3x+CPLnjCMQe?;<6al(anF1&bjNS>FAJ^pe;3rl>^t89 QBme*a07*qoM6N<$g82DJ+5i9m literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/48x48/status/facebook-online.png b/gajim/data/icons/hicolor/48x48/status/facebook-online.png new file mode 100644 index 0000000000000000000000000000000000000000..2501acaab51de52c513812f2d531f4695abe5c2e GIT binary patch literal 1521 zcmVg7SH zPq7d6K@fcML3}O+!58tNf>!iD5TS@7DoBMY7R5eUf>_Z?3r!mm)Lvq1noD!e?#}#t z*xlqLXU}DGwmtR-!|u-P?tFjq{r$c(yQ4&eyV-Q70kmswTIIHpqx-a{4@+nc3X*!y zoic?AmFs+E1N;8?iPulpw66@IZ6inb6}p`7cRaYGxMj;G-Bs{#9gU+ET7lLoK36yz zl#1$=QYZyVrJxY70s>eohzQ1l6~S7;#@EKmVhN4K7@^_^{QcKuJ3cm64gSC5YJD0!Ast z6Fb-O)UFNe+|tjw{w{ipF4hWV->~2trfyca@^6_VpPpTYDa}$Ha1;@RIoqz`HN5fC z9yYJ4xq@DfdhLtGf*mIes0waDDq9>CwC9lZJWAT=Ge(G z&QDG=J@0c*slf1HiHC*Jo)|4v?P;mAbvUZC7qAwA@do8~|xsg}#1! z1kcsz2FkN-sE=>o8L6rN@SAgd{^P}Ebt=n5mIni+ZV#{C>=T>TDwUyvt84nNHw>u` zNRBzM8cXj#V-n}7LaVa7nSpc_%)o%;z`*`PU!as?Xl)Olz4d(E`<^@WC4pHEHZ-<9 z2COx0GvEg{K86kNs{{c-*u1ZLc?8|RTuz2FdRGaYt|4l@yN6vM)f`g6VnQ$!97|>EQNI#Nd4jnLzDZDtyP;uLQqeI zG=N$%4RO4QT}rTaOA~;NpN*Cp2?I(goqz>!xBlFz+1bLg#iFCmUA)2{ zW0%_o^6p1Jtom8U(X8w5Ve0yvSby#m&`(6G0c;XNE|FKInTgTkPS-O}3q`N5x1c=N z!EqF><3yW%j>6FzM@RpBTt}l+yz!^i;yFr1i4|}DRh!6CY>UL3eaVKOwb;eYK1&c- zu1_z>wHvd+%*5z%pahhG3J@d?Bw^%DUpP5#DsvzBTlbF4_HEn)s>6H9VuRVMXJ;lx zPs~pKG)|PK4l!;86o76bYSsgTz=rs`7(b9Wc}J1QB_JB{8DI*y2K*CWFSzkdArU2W zF<={?7hqATI$;SmAD9Pj#<(hRy|_eRLn1E~QF6=^X3;00000NkvXXu0mjfGmX70 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/48x48/status/gadu-offline.png b/gajim/data/icons/hicolor/48x48/status/gadu-offline.png new file mode 100644 index 0000000000000000000000000000000000000000..49cfc6cd852b9d9f45c6beddbd372c46e78fb27a GIT binary patch literal 3802 zcmV<04khu4P)z>_d`Uz>RA_;*OmTiudeD=tF>F+%DVsMTBTRd0TDt7!=>3`X~ydtQ}v`@Qdb_rCk?dqrW0q-^n` z)eOV_7yt-yezB{f=GQ|p4l@*;mMvNISWZsv8{d8Esr0+J9;bWBHdCELD{XYqz_tnp zT@}@v0HCC##Le<}j-r^gqehN$zBO&Cr=Xw^9*+lvIB55`0RV>O<->6tgu`L9UcQWm z`i98)3+EXM)D|_S|8n2HeO&;scxl-Sl1o}QXYOn{CnpyTr%pM?jvhO@b4TTUH$|X) zNoi#L`sdx9!460+863xB+k5XRSFc=o#kA}r0?$=WoAxbf=FFKcQ52!73N%fFWn0Pk zPYy&;U|ALdFG3ImD2j@sNB^KT)SuEV$6U@b+>G>e-pDb1#MREL;25rTAdCZhpuA*3dWLW3(@#Gw#gr%%B?ieQ!Q=4)pb(9Q5L03Z2D{*I z_rvS;V(OG>C@d(1D2m{D9spn%1~g5>rPfPmICT=CPzbqsx$ybYAxScLj)&tA=(-Bs z(7|&&1VO}(9q-42SG&GfRaIMgQv?8@d`am`+1c5vSFT(sshR>siNWQPKpY3*NCrd9tyyu>OpeX=~s-P>>g^TC^ zhS}elgBdgK21OBQng-jx2A&WChd3Y(f$i9^OcT1Hf#-QlnluI3**W;)PhUU~c`ytE zj^iLnZtU2x!w3dDD=T+aJv|t{8`=j9+d81A3QGv!5C^fCg0|LnEM2k;`T6-!lqgKo z1c08v6VJU>*HwhWT^N>^hsEVf(AL_9SWJm~i~x$F(5B@a#tm#BgL>fp`|oFcUhlEx zE0(3P97A;lyKwQsMJz5~3YW_TO;eM=d$b?`A#nt~T7m=-Lx(83Fn;_596NdxX=xtN z42=mBCeWuEPJesM=&@Uyo13rOD^g`p59H-#uNpsoTt;qgE)|J{ap_Vk9-Tc8k|aUb zwH~v5eM|am;~KY##Uc^O2eZWcXekd(3UBz+i2GcZ# z6G9jOP&ExcpAVhED^L^#1^ERqOfwD;06lzC33-H(De}UsT@T8@|w9K56vd0MkP!whJJb%G5%$KUFYPSQ4 zow#iAqNnon3O3JsY_6P{l?9rn5&+@@x3ynJbJJO@SoS0gLx*Ks3HStoKnGsg@+O+k zp2dW5tS(brE_F`wn4irzE z0Jqx%3KS9);W!Qg{s2Bc@NqQQ6Y+45Vfwt=^NdU=hUe#jP zW)?tpRwiEBwDDSw?+%$h_JORd4E)=R>wA&A<|WIr!SOr{!vFw8qmk=yr2D*>H-Dac z=gx|s19&$XLL`3b=rhi)NlGq9-(iw$Q-ELBCV}_d014=Bw+{rNhp+(PnD&O6n%e)E zGk1=hlbwtBdG?yMKhO@I<6)QvD2jqZ>=YpVv`N4>PL5${7>1FoV%@T*hrQ!C2y_H+ z@W3Zg+p?Zd5~!-G-CAB=VsG2FZKG+Lw-G{;*=g_pyH6n!&>a z@nVgDpkh}oMvoeq$XM~;h=Pc(zWNHXTLwi@2!}#oSC~NSs8@KNhs)(cG!{iT9EKq9$;}5eh4t&6#j!tr zhPQsR4XUd3TML<{iHgb^eDL8%Sif#HIG#(Aa)}Z`;V_g~3@(=o49lXisVS_R+Kz!R z4p>e%Ha5178Z&y$q>05c%d%it8W%2Hz@&*&pr}d$7$68d?w$Gf_~OsU@!pOK=$Z~* z;J|S_EXzde<#znjvP5^ zDpCErEiEnPO%VWq;^N|HBoe)U^5jW82tiwWJAA$jWM*VS(bQzjvn-1lGyV>fCKaQx z=`4Qt`va(|-i>`9{1@sQPD6BwC@qwEY7`7bxNU2c~%vodg7VIdBFydR4el_AaTMJOEX zu{cK-4aYw{`2>Kz4>`$2oA_HsdL|6R#HWWo!Pv25z_A2v20hSh z-MZDZ45Or`rUnedK$c|;FB*Zpdw0V!O=S480APSc+w+jqy(VaiMs8Lf9Gl?75B6e2 z(Fh2l007vtdyivV*2>!2+R!&9000cf-ox>nMV$Cn+y-zaR5+Yx%iEo*W*QIMm9{- z!l#E0qPe*Vqed4&mgCndwrzu=C`_3=g}HG4%gJLWjP;&wIP=Ls_y#O~N=p~sE4$qv zJ-KS7OhBOPIyjDlD7XLsx}n1`bOeK4Xm4wW$CHNQiN(ktRsfeMLJ-8bovuOEG_Qwr#tiX)0S*UPk+T>0lTJK3_UiMa8+6W}G;29HwDHH*^4i zzzg7b4sKaOW~L8?x8=vn6OKbL*oC^+3xw&~T4FjU+0tFhoc2z5}X!KpnG!IwqtlU0n@+9HzyYCWZNe0jJklivI$LX^_ znx?_f3>b!irs+8Lr$1_^PdA#5Wqm*DMDN?Pdtdqd1@mNUPJ%kIn&fUdi0pLgI%4%i4!NL`~3l(<9S|| zB)Huk2!fET>t)#umSv%;Dq1hK;`9gJN-JafdbLY;L zTrU1GUKE}n4!Og$%$(J$e~4%-8Ydvh*t~fQIF{|AS>_8}*LL!Z>w}7lig53~%9boz z&awOk+jeqThCXE)%CejOz;UxuQua7mz2;fO5(Fek#_O-WVb~_gxslxd|B<2lMwWWA zN2ah8GpKUA@xz@W_!PdE2ycVE=(=pgr)fEiLCRq}X6F~~VRM5R``psbf2it^#utTls Q2><{907*qoM6N<$g76e8c>n+a literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/48x48/status/gadu-online.png b/gajim/data/icons/hicolor/48x48/status/gadu-online.png new file mode 100644 index 0000000000000000000000000000000000000000..de2fa021471f5a6abc5b1979502c2a9b367af49c GIT binary patch literal 3518 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 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/48x48/status/gajim-connection_lost.png b/gajim/data/icons/hicolor/48x48/status/gajim-connection_lost.png new file mode 100644 index 0000000000000000000000000000000000000000..6e62e8449e869f3800da33d2b2649e532524e51f GIT binary patch literal 1930 zcmV;52X**~P)`f9LM{t4T^Lqk=2cMnF)L<^_sd5w#B} ziUKk+G_+Nv23ktQmrI|DfhN$RHmw!G141oPP!&~(m!?rbjjB|tL?zOPmam5Q>SJh>W)2%t@;(>vIeFtB7ad+CbtOw7|&W`_b|G{!(rNu9@mcvZV zWzQ|sD1c#&##iApQ@gikV>sW{R3&>K!)> zQw#mpxK34lzZqbt8Y04vcYd1IY_CA-4H0m`d%*(%!9t%Q-Z{jdi=qD3fY|TUr-YL8 zi81x}Iq_qq*RC)Cq2vUDb3#gi;6&=30~EwS#h-dm;aUObnofft&cGyO52QfySETq# zjp&C6V~C}Wd51Ja(9D{FbOL6GiKh|*&M*rZGr`0=ZYDl!mji%v(x8n9m>L@Ri}<~m zcv88ha|EYN7PbfS0ih-c_0=f@mm-Vb{pQX~23{(a8T|Mb*4%Ul2GrH4&BfGaBj)N# zJx-{{393Gwanb?66_7<98QVqj!B0`SIL~}N@pMx~)vHgcPO4tD+5)%|vX~?>|EbQQ zVO$OLYi!yalkSRm^<`08LF>XmG=LP$I|~4;zAQE(-xB>+ARQ@`+G@*UF8bNXXK2-B z23B7d+wndNtg9LjAy6oz9$7kIn1sk`lU61^1C0Wwds%G9`z*MkPp^Ci%rikmf^sw+ zv;YD#R6tylDrQDV0@Yf5NwU~Y^wZiqX&#B3B7M!FkWY#aHdQb^LEHW}re z4~1wLQQfG_L{w%Xk|Zg7_)=uCE$_p95)`i^0K=G`jVU`%mn89YsMnQR6jPgzi9;b4 z(W5Z>9c1wrV_OzZGg4}$9)-RhqAn<;P??E>Gn#Qs7mZF~^p_xuQT6>sCbIkN@sn?F z;fdilyU0M}!P+%9o1E^<`yyFPl4McG)BTTb`vcR{RYW9i4}i`OFQUg{yzfR9pW6GA zTx5$(MB?7w-hFKWV5u(WRN+#2 z-$@piY6TPu`!0E(qf{r}7s%qD|N6%w-#&NW{r5C5ib&kw-@ot0gTLOLy(kBuY!N@a zXJb>!GM`pqdf%MZrf=h1n=MHe_dkE2P=T^GJzXvT;PLM-Skx*6P@A604b(dLrS@fy zv$9yL)ew=k+qKtz05i+^yPyU{B(7AZ!rN6zlB94e>Py?&^<}qI7R%*wTgP|(_9Kns zB9m-%zVhG$d!r~CFG6}btXwYhh4cT0-@k!r(W+0OX^(RU?n{zyLkob#Y+_>KNfCKs z8NRZ9{dz`5Msm~Qqt{>0$eum)+<0TNy+xt2RIHyn$FYeCeZc(E$*M#e;GGliaQMif zT>BSQDGv=%dG=YqCUDI)==Aggr)BM0lIdws<+|OwAw&HffUiEZb3BTor&P7~vZ2A( zo0;tg9#K^iRjzybY5H!zo%ip(7rk%+Gs6uIa>L6nGxye8To@nEsZJw z_%Hyyn>I0j>J(>3M@gop!s0^H+Wtn?)6;`6KULyY*J)PM!oa`ZsUp=2u_k@7uSNOip$LpsM=Qhj%@+XEjs^cpiAv%&;|UxcTT& z@BE1q{A2re4EWe~PflWHoZh;XPrUv*7mpt&u2ypc7JX9Ai%2~@#E~vctc+P0 z(*ZG12d_d&z0SL1W0cmeC9YH&H^h^ZoWAo;{~{}(W#OCH%oLbkA*b8gZ$xzVz4zSE zGtYE&{ruUpK=bFaRhvpIW+gaq{JH18LHGampd~nvo^&;t`+v5p{+~Vm2Sx%LUgRSY QXaE2J07*qoM6N<$f<@=60RR91 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/48x48/status/gajim-gc_invitation.png b/gajim/data/icons/hicolor/48x48/status/gajim-gc_invitation.png new file mode 100644 index 0000000000000000000000000000000000000000..d0c53c493cb291885561b29f62556c623f221d12 GIT binary patch literal 3440 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 N002ovPDHLkV1i?5pnw1X literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/48x48/status/gajim-priv_msg_recv.png b/gajim/data/icons/hicolor/48x48/status/gajim-priv_msg_recv.png new file mode 100644 index 0000000000000000000000000000000000000000..fc0fad37e1912e341b66890f7af926ee0d20995c GIT binary patch literal 1912 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 b0|5RXegt0h$?}fI00000NkvXXu0mjf0c!vZ literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/48x48/status/gnome-offline.png b/gajim/data/icons/hicolor/48x48/status/gnome-offline.png new file mode 100644 index 0000000000000000000000000000000000000000..f3fb12768dbedca5a679e54d38e6541cedc9f544 GIT binary patch literal 826 zcmV-A1I7G_P) zOHUI~6vuxvbMKug^-%;WSlu)vMvNO06Sl^UChmxAWZ}w{3*raR82tu*0ZqUMgjbA; zLTQK+NDxhoL4ygelmcy_QaU_TIxdP0wFO&*=z@Q8Gs!u3?)jZNXU@H_uYLVvX$8)A zb~~OZbcK5{=FhiA0&0oFulekoE_IeN0SD=Dl9N0Ed7$fY0Z{eJvmTOM{0HWJD-EKEkRaN+W z$Myzb?#^`p=I7@#t4hnPE5F~5kOH9u(v;~@2!NAg;H)kaZm7fWuOt?Wp=nxH@N{8G z1EnNV36v>O+W_P&!mk|&K(EdT_D&@&+ILI9kl zMOFrSa=x(qri*Yx9mmer5DW%TDwSPhV-xlDS5k{Afe;3|p>MfMJ1N4n);Ma|=QW zq!Jjy_~Q400?(d3#p5|lB9U2QQVOJ! z2)RRm_F#~O-)t6eawGU-AQ0%Lq@)DfPGp}rnuex-E!AdqFdu_<_e|7*P7 zGHiP}=c3=g{Xi%Inud@9-O%#~xO)3S*6jPYx{_l+2QWN5L`6kK&dh&leSJN3C}|qH z&=FGneGPPMJS!_JvF+@(V%s*cSd68mC6p;KErn@HOjBX(1^{ph_>?PfC=_CJ^b6g6 zuUJgP@RS~==zt5$Z6cK{>=WedRzmlAk9#7s6AL(wgX1_vqfx@)S;oi5dDPa#x8xe` zLq!}f_hDKp)d!@3uIsydB^w?6%=Gj$-M!ts40a)0Ixe?`S!80lOoS2`8yRo@1)tpO z+?^}gi=G!WcRs>As5t5`#dImmJe$scc`4o3zW%v>0s(#O`{)-FumAu607*qoM6N<$ Ef@O<**8l(j literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/48x48/status/gnome-online.png b/gajim/data/icons/hicolor/48x48/status/gnome-online.png new file mode 100644 index 0000000000000000000000000000000000000000..4e02f9a8f0ae837afe1d3a3bc2b42c35e83f0b90 GIT binary patch literal 1656 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 ffUF}2$U6Q3`&Jvk`h literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/48x48/status/gota-offline.png b/gajim/data/icons/hicolor/48x48/status/gota-offline.png new file mode 100644 index 0000000000000000000000000000000000000000..6bc715b6d981d5ea84e43e4c4b9f3093131411fe GIT binary patch literal 1028 zcmV+f1pE7mP)WFU8GbZ8({Xk{QrNlj4iWF>9@00U@AL_t(o!^PKKNK;`L z2k=ezy}9XXnV*fdVcQUt-J}r%O|OK6(zNKRjTFm>FcJ;&LN5xv@S-SNX?P(L)J0L( zMHE3%(FX-lR~3B_QS@c{^nVWTk>lF*Y|VM#2Qqig`+v{g_c_neXw)4B$b&E(gG+D^ zUcfWB0WpZedayvQCIg2N*1_yWs)+Q8~EMH#iR=FsCv& z-#Rahz(?gp&1N$d78a7*?WT%~3JL@Q-AD;X(<&H6p&7*Q-EQG&MCvu~>|ThK48-iBN5AEfp0NQBF>d zGRSkWKJphETnlbEDQ=&1veW6LhK2?j92}&HiHQZq$H)IMHa13GU0oCm21&2iD?>bi zU0_WXfYTj@Px47Nn@yTE&u(O7M781JVd+lsPo&jqr^M_%g5X=H_NL4wJ{@iQf&fH&87WzO?vmCn_eqfOrPH&#S7csJgm(QT!cN zSy@TN#l>VW7?KsKS%`=dukpb5WEG7=@P!->hqS-T%F3v`ygZ?jk`i*cTx7LcDK|HF zsY-bkY#g9LO=;yId{N%pMx&8TCX-Yd8UM{8xe6w^<%!&q3)7x7>bw+4md^R`8dhn< zla5xv2XJwK{VNpUov1%jeO`$G{D5+DfQ@2XWIMn$uycSSc)tPxj*He!N^v>Mga3kN z`Kf3S&B9C;13VI4*L)-57awM0aBkBE;#)LsxsQmBcDVyQgqrwnneRdnt|xjbX3%Ho zN!Fm6V4LXOmSgarZ~=VsV>nq~xDQ@sc<|qFRn#2aQmr|c#{=*(gEPM(x-Ns-my-hV zGI94mx91l)1C`1iQ0-wB3-g4il&LIEF70<fW4X_;!iDvdF?1efps71{}laId`VuKFd#E}310000WFU8GbZ8({Xk{QrNlj4iWF>9@00m}AL_t(o!?l+WOw?r< z$B#P>yhA`ZFd#S}{s^a>A_&M|j{_t@$k;$2Yqfxarsi~kCD~tE)LdoscghTCE}IUN za$xGLbXdAdK$(iBiwQ}?=E|(TJB~@j}FIjfG!n<@kUwjvZVhw^$!#0E|UOq#Q`WvhHPK=8gT0qiE=Fu!;Ih^(Z=31k2YJ1XTnn zIWa^$LO6~Ta1YVSgBuna5Wh1X8J!s-(Rf`a!m8d?qOYXAN$|SY3!Kz6);Gj#WoOtE z_j7o(Gqf;mG$H-FbkS%<&kEFBs6oxe+vLK(@Fcjej1w7{yJ;?TJ~|fg7xB0f1y^D# z?^};V55za$m_3u#l_heZ>U`DhbFK<&d)FejJ9oIhz~r6G6SF8kQ;v$W6*f_Rwj8BrN>OmCU{qfmg;`I{Qg+1^xeTgAF0mXME;OSW z5Q{q(Bd0qD`6u&H+*2%;<^SOS+4aY|1 zX4uj;^>8XYQ#=&`^(>&4UwHd*lGxJ8L`XZ9hMCrxihvy~;01nhk8u}!b*crVc2EQ? z!x3m;0W0~%)$EG6PvWLrKyrIB3~>fU0DA`2Vm1+ae?8{CHE+rV#5Baf#pI$0C{xPt z&wN;fJQ;%Y@6)GLfa!S?96cSC(@~s^ZbS>816-?<_f1_QS`J&_Ti~l4O2>%1RI(nI zief~Ti|aL4tf>$Xy(L;WB^myW((H;8X%2BzIG`MFB(+WcZeVZW|DeC{mNZtcG^}dn zIM&PEa82W+LD(~4uzqWuw88mwHNR$tgTX;@%`Xx&#+s5qqLH|+b<@K9x>*#B$rwE9 z{V3>shmYaCGU7LN!zsj9EP^vN;?)RPk6I^G_2$>j7p__keuBsu8Tzr0VounxT(@_z z7p5|yC1Kd4*feX}%1NImA^h2JIL;JXjxRLb(u(PBWy>9iTw*`*2OCt6WDl6CO^DkO z2W!Xp5#hXv-xZHJFU^5hrkA)e$-$2jE0nCagayf=KwrCTPIG9Z8ch3JsC=UjOooTi$@hnK}kUSN#! o{>Zz=B5%+v(vxtO$!yc}56_E8yGLEc@&Et;07*qoM6N<$f-Q*A<^TWy literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/48x48/status/icq-offline.png b/gajim/data/icons/hicolor/48x48/status/icq-offline.png new file mode 100644 index 0000000000000000000000000000000000000000..81c58cccc925859859bdf1c89924b6964f97c458 GIT binary patch literal 4298 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 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/48x48/status/jabberbulb-offline.png b/gajim/data/icons/hicolor/48x48/status/jabberbulb-offline.png new file mode 100644 index 0000000000000000000000000000000000000000..46f0a1a453a9ca818d58c1e51d5e596e9a951456 GIT binary patch literal 1358 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 Z{{jzB`Enc5tV{p^002ovPDHLkV1o2rkN^Mx literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/48x48/status/wroop-chat.png b/gajim/data/icons/hicolor/48x48/status/wroop-chat.png new file mode 100644 index 0000000000000000000000000000000000000000..8e1b4213cede0743a8ac90594daa3c4d8b3050a1 GIT binary patch literal 4301 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 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/48x48/status/wroop-muc-inactive.png b/gajim/data/icons/hicolor/48x48/status/wroop-muc-inactive.png new file mode 100644 index 0000000000000000000000000000000000000000..1ef4c99475d3f284d56545a121ae6dbcec6733bd GIT binary patch literal 3824 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 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/48x48/status/wroop-offline.png b/gajim/data/icons/hicolor/48x48/status/wroop-offline.png new file mode 100644 index 0000000000000000000000000000000000000000..ca40bb48c30977cf4af976f83695d9d4fa3c84d3 GIT binary patch literal 4422 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 M07*qoM6N<$f~(21RR910 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/48x48/status/wroop-online.png b/gajim/data/icons/hicolor/48x48/status/wroop-online.png new file mode 100644 index 0000000000000000000000000000000000000000..35a6b9e044fbc9074aed867615d99483ff8e4d16 GIT binary patch literal 4323 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 Ra54Y@002ovPDHLkV1jasV!Z$W literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/48x48/status/wroop-requested.png b/gajim/data/icons/hicolor/48x48/status/wroop-requested.png new file mode 100644 index 0000000000000000000000000000000000000000..2b2846c257aca229785a044493113b909e251b4a GIT binary patch literal 4331 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 Z{{jzB`Enc5tV{p^002ovPDHLkV1o2rkN^Mx literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/48x48/status/wroop-xa.png b/gajim/data/icons/hicolor/48x48/status/wroop-xa.png new file mode 100644 index 0000000000000000000000000000000000000000..2b2846c257aca229785a044493113b909e251b4a GIT binary patch literal 4331 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 Z{{jzB`Enc5tV{p^002ovPDHLkV1o2rkN^Mx literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/96x96/categories/map.png b/gajim/data/icons/hicolor/96x96/categories/map.png new file mode 100644 index 0000000000000000000000000000000000000000..132064cfcbb3a409c71ff53ccb95e1266dca0669 GIT binary patch literal 4370 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 M07*qoM6N<$g16C8HUIzs literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/scalable/apps/org.gajim.Gajim-symbolic.svg b/gajim/data/icons/hicolor/scalable/apps/org.gajim.Gajim-symbolic.svg new file mode 100644 index 0000000..5b05712 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/apps/org.gajim.Gajim-symbolic.svg @@ -0,0 +1,21 @@ + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/apps/org.gajim.Gajim.Devel.svg b/gajim/data/icons/hicolor/scalable/apps/org.gajim.Gajim.Devel.svg new file mode 100644 index 0000000..26d0b77 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/apps/org.gajim.Gajim.Devel.svg @@ -0,0 +1,183 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/apps/org.gajim.Gajim.Source.svg b/gajim/data/icons/hicolor/scalable/apps/org.gajim.Gajim.Source.svg new file mode 100644 index 0000000..985f54b --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/apps/org.gajim.Gajim.Source.svg @@ -0,0 +1,3217 @@ + + + + + Adwaita Icon Template + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + GNOME Design Team + + + + + Adwaita Icon Template + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + battery is full and there is no a/c connected. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/apps/org.gajim.Gajim.svg b/gajim/data/icons/hicolor/scalable/apps/org.gajim.Gajim.svg new file mode 100644 index 0000000..d9554ff --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/apps/org.gajim.Gajim.svg @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/categories/map.svg b/gajim/data/icons/hicolor/scalable/categories/map.svg new file mode 100644 index 0000000..bdad609 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/categories/map.svg @@ -0,0 +1,125 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/gajim/data/icons/hicolor/scalable/devices/feather-briefcase-symbolic.svg b/gajim/data/icons/hicolor/scalable/devices/feather-briefcase-symbolic.svg new file mode 100644 index 0000000..c5e5c83 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/devices/feather-briefcase-symbolic.svg @@ -0,0 +1,64 @@ + + + + + + image/svg+xml + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/devices/feather-camera-off-symbolic.svg b/gajim/data/icons/hicolor/scalable/devices/feather-camera-off-symbolic.svg new file mode 100644 index 0000000..e3c5d0a --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/devices/feather-camera-off-symbolic.svg @@ -0,0 +1,64 @@ + + + + + + image/svg+xml + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/devices/feather-camera-symbolic.svg b/gajim/data/icons/hicolor/scalable/devices/feather-camera-symbolic.svg new file mode 100644 index 0000000..4a5b19b --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/devices/feather-camera-symbolic.svg @@ -0,0 +1,64 @@ + + + + + + image/svg+xml + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/devices/feather-check-double-symbolic.svg b/gajim/data/icons/hicolor/scalable/devices/feather-check-double-symbolic.svg new file mode 100644 index 0000000..4d34b97 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/devices/feather-check-double-symbolic.svg @@ -0,0 +1,70 @@ + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/devices/feather-check-symbolic.svg b/gajim/data/icons/hicolor/scalable/devices/feather-check-symbolic.svg new file mode 100644 index 0000000..79b7659 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/devices/feather-check-symbolic.svg @@ -0,0 +1,65 @@ + + + + + + image/svg+xml + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/devices/feather-clock-symbolic.svg b/gajim/data/icons/hicolor/scalable/devices/feather-clock-symbolic.svg new file mode 100644 index 0000000..ea3f5e5 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/devices/feather-clock-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gajim/data/icons/hicolor/scalable/devices/feather-eye-off-symbolic.svg b/gajim/data/icons/hicolor/scalable/devices/feather-eye-off-symbolic.svg new file mode 100644 index 0000000..77c54cb --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/devices/feather-eye-off-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gajim/data/icons/hicolor/scalable/devices/feather-eye-symbolic.svg b/gajim/data/icons/hicolor/scalable/devices/feather-eye-symbolic.svg new file mode 100644 index 0000000..9cde243 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/devices/feather-eye-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gajim/data/icons/hicolor/scalable/devices/feather-globe-symbolic.svg b/gajim/data/icons/hicolor/scalable/devices/feather-globe-symbolic.svg new file mode 100644 index 0000000..0a0586d --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/devices/feather-globe-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gajim/data/icons/hicolor/scalable/devices/feather-hard-drive-symbolic.svg b/gajim/data/icons/hicolor/scalable/devices/feather-hard-drive-symbolic.svg new file mode 100644 index 0000000..c08131d --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/devices/feather-hard-drive-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gajim/data/icons/hicolor/scalable/devices/feather-hash-symbolic.svg b/gajim/data/icons/hicolor/scalable/devices/feather-hash-symbolic.svg new file mode 100644 index 0000000..c9c8d41 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/devices/feather-hash-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gajim/data/icons/hicolor/scalable/devices/feather-home-symbolic.svg b/gajim/data/icons/hicolor/scalable/devices/feather-home-symbolic.svg new file mode 100644 index 0000000..a722acc --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/devices/feather-home-symbolic.svg @@ -0,0 +1,64 @@ + + + + + + image/svg+xml + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/devices/feather-lock-symbolic.svg b/gajim/data/icons/hicolor/scalable/devices/feather-lock-symbolic.svg new file mode 100644 index 0000000..95af657 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/devices/feather-lock-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gajim/data/icons/hicolor/scalable/devices/feather-mic-off-symbolic.svg b/gajim/data/icons/hicolor/scalable/devices/feather-mic-off-symbolic.svg new file mode 100644 index 0000000..0786219 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/devices/feather-mic-off-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gajim/data/icons/hicolor/scalable/devices/feather-mic-symbolic.svg b/gajim/data/icons/hicolor/scalable/devices/feather-mic-symbolic.svg new file mode 100644 index 0000000..dc5f780 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/devices/feather-mic-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gajim/data/icons/hicolor/scalable/devices/feather-server-symbolic.svg b/gajim/data/icons/hicolor/scalable/devices/feather-server-symbolic.svg new file mode 100644 index 0000000..d1f6d48 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/devices/feather-server-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gajim/data/icons/hicolor/scalable/devices/feather-shield-off-symbolic.svg b/gajim/data/icons/hicolor/scalable/devices/feather-shield-off-symbolic.svg new file mode 100644 index 0000000..18692dd --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/devices/feather-shield-off-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gajim/data/icons/hicolor/scalable/devices/feather-shield-symbolic.svg b/gajim/data/icons/hicolor/scalable/devices/feather-shield-symbolic.svg new file mode 100644 index 0000000..c7c4841 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/devices/feather-shield-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gajim/data/icons/hicolor/scalable/devices/feather-unlock-symbolic.svg b/gajim/data/icons/hicolor/scalable/devices/feather-unlock-symbolic.svg new file mode 100644 index 0000000..7d8702f --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/devices/feather-unlock-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gajim/data/icons/hicolor/scalable/devices/feather-user-check-symbolic.svg b/gajim/data/icons/hicolor/scalable/devices/feather-user-check-symbolic.svg new file mode 100644 index 0000000..42f91b2 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/devices/feather-user-check-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/gajim/data/icons/hicolor/scalable/status/bruno-away.svg b/gajim/data/icons/hicolor/scalable/status/bruno-away.svg new file mode 100644 index 0000000..fd9bc24 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/bruno-away.svg @@ -0,0 +1,353 @@ + +image/svg+xml diff --git a/gajim/data/icons/hicolor/scalable/status/bruno-chat.svg b/gajim/data/icons/hicolor/scalable/status/bruno-chat.svg new file mode 100644 index 0000000..9786d7c --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/bruno-chat.svg @@ -0,0 +1,353 @@ + +image/svg+xml diff --git a/gajim/data/icons/hicolor/scalable/status/bruno-closed.svg b/gajim/data/icons/hicolor/scalable/status/bruno-closed.svg new file mode 100644 index 0000000..9de8562 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/bruno-closed.svg @@ -0,0 +1,99 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/bruno-connecting.svg b/gajim/data/icons/hicolor/scalable/status/bruno-connecting.svg new file mode 100644 index 0000000..a44ade4 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/bruno-connecting.svg @@ -0,0 +1,365 @@ + +image/svg+xml... diff --git a/gajim/data/icons/hicolor/scalable/status/bruno-dnd.svg b/gajim/data/icons/hicolor/scalable/status/bruno-dnd.svg new file mode 100644 index 0000000..206ba3f --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/bruno-dnd.svg @@ -0,0 +1,401 @@ + +image/svg+xmlD +N +D + diff --git a/gajim/data/icons/hicolor/scalable/status/bruno-error.svg b/gajim/data/icons/hicolor/scalable/status/bruno-error.svg new file mode 100644 index 0000000..a288754 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/bruno-error.svg @@ -0,0 +1,390 @@ + +image/svg+xml + +! + diff --git a/gajim/data/icons/hicolor/scalable/status/bruno-event.svg b/gajim/data/icons/hicolor/scalable/status/bruno-event.svg new file mode 100644 index 0000000..39d8fd1 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/bruno-event.svg @@ -0,0 +1,74 @@ + +image/svg+xml diff --git a/gajim/data/icons/hicolor/scalable/status/bruno-message.svg b/gajim/data/icons/hicolor/scalable/status/bruno-message.svg new file mode 100644 index 0000000..39d8fd1 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/bruno-message.svg @@ -0,0 +1,74 @@ + +image/svg+xml diff --git a/gajim/data/icons/hicolor/scalable/status/bruno-muc-active.svg b/gajim/data/icons/hicolor/scalable/status/bruno-muc-active.svg new file mode 100644 index 0000000..904c55e --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/bruno-muc-active.svg @@ -0,0 +1,371 @@ + +image/svg+xml + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/bruno-muc-inactive.svg b/gajim/data/icons/hicolor/scalable/status/bruno-muc-inactive.svg new file mode 100644 index 0000000..3ce683e --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/bruno-muc-inactive.svg @@ -0,0 +1,371 @@ + +image/svg+xml + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/bruno-notinroster.svg b/gajim/data/icons/hicolor/scalable/status/bruno-notinroster.svg new file mode 100644 index 0000000..c86e1d5 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/bruno-notinroster.svg @@ -0,0 +1,365 @@ + +image/svg+xml? + diff --git a/gajim/data/icons/hicolor/scalable/status/bruno-offline.svg b/gajim/data/icons/hicolor/scalable/status/bruno-offline.svg new file mode 100644 index 0000000..ac88b85 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/bruno-offline.svg @@ -0,0 +1,353 @@ + +image/svg+xml diff --git a/gajim/data/icons/hicolor/scalable/status/bruno-online.svg b/gajim/data/icons/hicolor/scalable/status/bruno-online.svg new file mode 100644 index 0000000..5fe7ac5 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/bruno-online.svg @@ -0,0 +1,353 @@ + +image/svg+xml diff --git a/gajim/data/icons/hicolor/scalable/status/bruno-opened.svg b/gajim/data/icons/hicolor/scalable/status/bruno-opened.svg new file mode 100644 index 0000000..fcc4bf6 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/bruno-opened.svg @@ -0,0 +1,99 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/bruno-requested.svg b/gajim/data/icons/hicolor/scalable/status/bruno-requested.svg new file mode 100644 index 0000000..f1c6e45 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/bruno-requested.svg @@ -0,0 +1,365 @@ + +image/svg+xml? + diff --git a/gajim/data/icons/hicolor/scalable/status/bruno-xa.svg b/gajim/data/icons/hicolor/scalable/status/bruno-xa.svg new file mode 100644 index 0000000..5660d84 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/bruno-xa.svg @@ -0,0 +1,337 @@ + +image/svg+xml diff --git a/gajim/data/icons/hicolor/scalable/status/dcraven-away.svg b/gajim/data/icons/hicolor/scalable/status/dcraven-away.svg new file mode 100644 index 0000000..ffef8ce --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/dcraven-away.svg @@ -0,0 +1,646 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Gajim + 28.10.2006 + + + Josef Vybíral + + + + + + + + + + + + + http://cornelius.gimp.cz + + + gajim + jabber + im + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/dcraven-chat.svg b/gajim/data/icons/hicolor/scalable/status/dcraven-chat.svg new file mode 100644 index 0000000..6014eee --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/dcraven-chat.svg @@ -0,0 +1,677 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Gajim + 28.10.2006 + + + Josef Vybíral + + + + + + + + + + + + + http://cornelius.gimp.cz + + + gajim + jabber + im + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/dcraven-closed.svg b/gajim/data/icons/hicolor/scalable/status/dcraven-closed.svg new file mode 100644 index 0000000..78d079f --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/dcraven-closed.svg @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/dcraven-connecting.svg b/gajim/data/icons/hicolor/scalable/status/dcraven-connecting.svg new file mode 100644 index 0000000..1d53640 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/dcraven-connecting.svg @@ -0,0 +1,1589 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Gajim + 28.10.2006 + + + Josef Vybíral + + + + + + + + + + + + + http://cornelius.gimp.cz + + + gajim + jabber + im + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/dcraven-dnd.svg b/gajim/data/icons/hicolor/scalable/status/dcraven-dnd.svg new file mode 100644 index 0000000..831ac1d --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/dcraven-dnd.svg @@ -0,0 +1,748 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Gajim + 28.10.2006 + + + Josef Vybíral + + + + + + + + + + + + + http://cornelius.gimp.cz + + + gajim + jabber + im + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/dcraven-error.svg b/gajim/data/icons/hicolor/scalable/status/dcraven-error.svg new file mode 100644 index 0000000..c1d4760 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/dcraven-error.svg @@ -0,0 +1,706 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Gajim + 28.10.2006 + + + Josef Vybíral + + + + + + + + + + + + + http://cornelius.gimp.cz + + + gajim + jabber + im + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/dcraven-message.svg b/gajim/data/icons/hicolor/scalable/status/dcraven-message.svg new file mode 100644 index 0000000..748e0fa --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/dcraven-message.svg @@ -0,0 +1,409 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/dcraven-muc-active.svg b/gajim/data/icons/hicolor/scalable/status/dcraven-muc-active.svg new file mode 100644 index 0000000..4d7c4be --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/dcraven-muc-active.svg @@ -0,0 +1,224 @@ + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Group Chat + + + Jakub Steiner + + + + + + + + + + + group + chat + IRC + internet + network + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/dcraven-muc-inactive.svg b/gajim/data/icons/hicolor/scalable/status/dcraven-muc-inactive.svg new file mode 100644 index 0000000..0219533 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/dcraven-muc-inactive.svg @@ -0,0 +1,245 @@ + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Group Chat + + + Jakub Steiner + + + + + + + + + + + group + chat + IRC + internet + network + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/dcraven-notinroster.svg b/gajim/data/icons/hicolor/scalable/status/dcraven-notinroster.svg new file mode 100644 index 0000000..d441166 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/dcraven-notinroster.svg @@ -0,0 +1,450 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Gajim + 28.10.2006 + + + Josef Vybíral + + + + + + + + + + + + + http://cornelius.gimp.cz + + + gajim + jabber + im + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/dcraven-offline.svg b/gajim/data/icons/hicolor/scalable/status/dcraven-offline.svg new file mode 100644 index 0000000..857ee71 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/dcraven-offline.svg @@ -0,0 +1,472 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Gajim + 28.10.2006 + + + Josef Vybíral + + + + + + + + + + + + + http://cornelius.gimp.cz + + + gajim + jabber + im + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/dcraven-online.svg b/gajim/data/icons/hicolor/scalable/status/dcraven-online.svg new file mode 100644 index 0000000..213eb8f --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/dcraven-online.svg @@ -0,0 +1,447 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Gajim + 28.10.2006 + + + Josef Vybíral + + + + + + + + + + + + + http://cornelius.gimp.cz + + + gajim + jabber + im + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/dcraven-opened.svg b/gajim/data/icons/hicolor/scalable/status/dcraven-opened.svg new file mode 100644 index 0000000..a7a1e15 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/dcraven-opened.svg @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/dcraven-requested.svg b/gajim/data/icons/hicolor/scalable/status/dcraven-requested.svg new file mode 100644 index 0000000..6c857ab --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/dcraven-requested.svg @@ -0,0 +1,686 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Gajim + 28.10.2006 + + + Josef Vybíral + + + + + + + + + + + + + http://cornelius.gimp.cz + + + gajim + jabber + im + + + + + + + + + + + + + + + + + + + + + + + + + + + + ? + + + diff --git a/gajim/data/icons/hicolor/scalable/status/dcraven-xa.svg b/gajim/data/icons/hicolor/scalable/status/dcraven-xa.svg new file mode 100644 index 0000000..74947fe --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/dcraven-xa.svg @@ -0,0 +1,646 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Gajim + 28.10.2006 + + + Josef Vybíral + + + + + + + + + + + + + http://cornelius.gimp.cz + + + gajim + jabber + im + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/gajim-agent-bytestreams.svg b/gajim/data/icons/hicolor/scalable/status/gajim-agent-bytestreams.svg new file mode 100644 index 0000000..e45fad6 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/gajim-agent-bytestreams.svg @@ -0,0 +1,858 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/gajim-agent-conference.svg b/gajim/data/icons/hicolor/scalable/status/gajim-agent-conference.svg new file mode 100644 index 0000000..0c13a84 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/gajim-agent-conference.svg @@ -0,0 +1,230 @@ + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Group Chat + + + Jakub Steiner + + + + + + + + + + + group + chat + IRC + internet + network + + + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/gajim-agent-disc.svg b/gajim/data/icons/hicolor/scalable/status/gajim-agent-disc.svg new file mode 100644 index 0000000..1c3a8c6 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/gajim-agent-disc.svg @@ -0,0 +1,803 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/gajim-agent-error.svg b/gajim/data/icons/hicolor/scalable/status/gajim-agent-error.svg new file mode 100644 index 0000000..07229f0 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/gajim-agent-error.svg @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/gajim-agent-gadu-gadu.svg b/gajim/data/icons/hicolor/scalable/status/gajim-agent-gadu-gadu.svg new file mode 100644 index 0000000..c423f23 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/gajim-agent-gadu-gadu.svg @@ -0,0 +1,199 @@ + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/gajim-agent-http-ws.svg b/gajim/data/icons/hicolor/scalable/status/gajim-agent-http-ws.svg new file mode 100644 index 0000000..36f455b --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/gajim-agent-http-ws.svg @@ -0,0 +1,269 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/gajim-agent-icq.svg b/gajim/data/icons/hicolor/scalable/status/gajim-agent-icq.svg new file mode 100644 index 0000000..497d1b4 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/gajim-agent-icq.svg @@ -0,0 +1,199 @@ + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/gajim-agent-irc.svg b/gajim/data/icons/hicolor/scalable/status/gajim-agent-irc.svg new file mode 100644 index 0000000..b64d3be --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/gajim-agent-irc.svg @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/gajim-agent-jabber.svg b/gajim/data/icons/hicolor/scalable/status/gajim-agent-jabber.svg new file mode 100644 index 0000000..390f325 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/gajim-agent-jabber.svg @@ -0,0 +1,3595 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/gajim-agent-jud.svg b/gajim/data/icons/hicolor/scalable/status/gajim-agent-jud.svg new file mode 100644 index 0000000..b7dbdef --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/gajim-agent-jud.svg @@ -0,0 +1,449 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + @ + @ + + diff --git a/gajim/data/icons/hicolor/scalable/status/gajim-agent-mail.svg b/gajim/data/icons/hicolor/scalable/status/gajim-agent-mail.svg new file mode 100644 index 0000000..994c433 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/gajim-agent-mail.svg @@ -0,0 +1,409 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/gajim-agent-pubsub.svg b/gajim/data/icons/hicolor/scalable/status/gajim-agent-pubsub.svg new file mode 100644 index 0000000..7d7b2e8 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/gajim-agent-pubsub.svg @@ -0,0 +1,398 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/gajim-agent-rss.svg b/gajim/data/icons/hicolor/scalable/status/gajim-agent-rss.svg new file mode 100644 index 0000000..f30d2cc --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/gajim-agent-rss.svg @@ -0,0 +1,233 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/gajim-agent-sip.svg b/gajim/data/icons/hicolor/scalable/status/gajim-agent-sip.svg new file mode 100644 index 0000000..0dfed96 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/gajim-agent-sip.svg @@ -0,0 +1,239 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/gajim-agent-sms.svg b/gajim/data/icons/hicolor/scalable/status/gajim-agent-sms.svg new file mode 100644 index 0000000..098cb48 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/gajim-agent-sms.svg @@ -0,0 +1,718 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/gajim-agent-tv.svg b/gajim/data/icons/hicolor/scalable/status/gajim-agent-tv.svg new file mode 100644 index 0000000..c5d2687 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/gajim-agent-tv.svg @@ -0,0 +1,269 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/gajim-agent-weather.svg b/gajim/data/icons/hicolor/scalable/status/gajim-agent-weather.svg new file mode 100644 index 0000000..5a4bdb7 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/gajim-agent-weather.svg @@ -0,0 +1,216 @@ + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/gajim-chat_msg_recv.svg b/gajim/data/icons/hicolor/scalable/status/gajim-chat_msg_recv.svg new file mode 100644 index 0000000..e426c02 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/gajim-chat_msg_recv.svg @@ -0,0 +1,519 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/gajim-connection_lost.svg b/gajim/data/icons/hicolor/scalable/status/gajim-connection_lost.svg new file mode 100644 index 0000000..24987e2 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/gajim-connection_lost.svg @@ -0,0 +1,1161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/gajim-gc_invitation.svg b/gajim/data/icons/hicolor/scalable/status/gajim-gc_invitation.svg new file mode 100644 index 0000000..bdb2a2b --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/gajim-gc_invitation.svg @@ -0,0 +1,1042 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ? + + diff --git a/gajim/data/icons/hicolor/scalable/status/gajim-mail.svg b/gajim/data/icons/hicolor/scalable/status/gajim-mail.svg new file mode 100644 index 0000000..994c433 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/gajim-mail.svg @@ -0,0 +1,409 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/gajim-new_email_recv.svg b/gajim/data/icons/hicolor/scalable/status/gajim-new_email_recv.svg new file mode 100644 index 0000000..5bad092 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/gajim-new_email_recv.svg @@ -0,0 +1,419 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/gajim-priv_msg_recv.svg b/gajim/data/icons/hicolor/scalable/status/gajim-priv_msg_recv.svg new file mode 100644 index 0000000..27b3c8c --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/gajim-priv_msg_recv.svg @@ -0,0 +1,463 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/gajim-subscribe.svg b/gajim/data/icons/hicolor/scalable/status/gajim-subscribe.svg new file mode 100644 index 0000000..23eafdb --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/gajim-subscribe.svg @@ -0,0 +1,1121 @@ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/gajim-unsubscribe.svg b/gajim/data/icons/hicolor/scalable/status/gajim-unsubscribe.svg new file mode 100644 index 0000000..45589fa --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/gajim-unsubscribe.svg @@ -0,0 +1,991 @@ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/sun-away.svg b/gajim/data/icons/hicolor/scalable/status/sun-away.svg new file mode 100644 index 0000000..f025e0b --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/sun-away.svg @@ -0,0 +1,1142 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/sun-chat.svg b/gajim/data/icons/hicolor/scalable/status/sun-chat.svg new file mode 100644 index 0000000..a9f0018 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/sun-chat.svg @@ -0,0 +1,833 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/sun-dnd.svg b/gajim/data/icons/hicolor/scalable/status/sun-dnd.svg new file mode 100644 index 0000000..df097f5 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/sun-dnd.svg @@ -0,0 +1,576 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/sun-error.svg b/gajim/data/icons/hicolor/scalable/status/sun-error.svg new file mode 100644 index 0000000..1547b27 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/sun-error.svg @@ -0,0 +1,1590 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/sun-not_in_roster.svg b/gajim/data/icons/hicolor/scalable/status/sun-not_in_roster.svg new file mode 100644 index 0000000..a0b2e5d --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/sun-not_in_roster.svg @@ -0,0 +1,1030 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/sun-offline.svg b/gajim/data/icons/hicolor/scalable/status/sun-offline.svg new file mode 100644 index 0000000..b9bbc11 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/sun-offline.svg @@ -0,0 +1,150 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/sun-online.svg b/gajim/data/icons/hicolor/scalable/status/sun-online.svg new file mode 100644 index 0000000..b95ad7d --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/sun-online.svg @@ -0,0 +1,792 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/sun-requested.svg b/gajim/data/icons/hicolor/scalable/status/sun-requested.svg new file mode 100644 index 0000000..cf5280f --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/sun-requested.svg @@ -0,0 +1,922 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/sun-xa.svg b/gajim/data/icons/hicolor/scalable/status/sun-xa.svg new file mode 100644 index 0000000..a466015 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/sun-xa.svg @@ -0,0 +1,679 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/icons/hicolor/scalable/status/xmpp.svg b/gajim/data/icons/hicolor/scalable/status/xmpp.svg new file mode 100644 index 0000000..d0a5f83 --- /dev/null +++ b/gajim/data/icons/hicolor/scalable/status/xmpp.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/gajim/data/other/dh4096.pem b/gajim/data/other/dh4096.pem new file mode 100644 index 0000000..90ef682 --- /dev/null +++ b/gajim/data/other/dh4096.pem @@ -0,0 +1,21 @@ +-----BEGIN DH PARAMETERS----- +MIICCAKCAgEA///////////JD9qiIWjCNMTGYouA3BzRKQJOCIpnzHQCC76mOxOb +IlFKCHmONATd75UZs806QxswKwpt8l8UN0/hNW1tUcJF5IW1dmJefsb0TELppjft +awv/XLb0Brft7jhr+1qJn6WunyQRfEsf5kkoZlHs5Fs9wgB8uKFjvwWY2kg2HFXT +mmkWP6j9JM9fg2VdI9yjrZYcYvNWIIVSu57VKQdwlpZtZww1Tkq8mATxdGwIyhgh +fDKQXkYuNs474553LBgOhgObJ4Oi7Aeij7XFXfBvTFLJ3ivL9pVYFxg5lUl86pVq +5RXSJhiY+gUQFXKOWoqqxC2tMxcNBFB6M6hVIavfHLpk7PuFBFjb7wqK6nFXXQYM +fbOXD4Wm4eTHq/WujNsJM9cejJTgSiVhnc7j0iYa0u5r8S/6BtmKCGTYdgJzPshq +ZFIfKxgXeyAMu+EXV3phXWx3CYjAutlG4gjiT6B05asxQ9tb/OD9EI5LgtEgqSEI +ARpyPBKnh+bXiHGaEL26WyaZwycYavTiPBqUaDS2FQvaJYPpyirUTOjbu8LbBN6O ++S6O/BQfvsqmKHxZR05rwF2ZspZPoJDDoiM7oYZRW+ftH2EpcM7i16+4G912IXBI +HNAGkSfVsFqpk7TqmI2P3cGG/7fckKbAj030Nck0BjGZ//////////8CAQI= +-----END DH PARAMETERS----- + +"4096-bit MODP Group" from RFC3526, Section 5. + +The prime is: 2^4096 - 2^4032 - 1 + 2^64 * { [2^3966 pi] + 240904 } + +RFC3526 specifies a generator of 2. + +The generation of the group is described in RFC 2412. diff --git a/gajim/data/other/servers.json b/gajim/data/other/servers.json new file mode 100644 index 0000000..4e65ea6 --- /dev/null +++ b/gajim/data/other/servers.json @@ -0,0 +1,25 @@ +[ + "0nl1ne.at", + "creep.im", + "deshalbfrei.org", + "draugr.de", + "jabber.ccc.de", + "jabber.cz", + "jabber.meta.net.nz", + "jabber.no", + "jabber.sk", + "jabberes.org", + "jabbim.com", + "jabbim.cz", + "jabbim.pl", + "jabbim.sk", + "jabster.pl", + "lightwitch.org", + "linuxlovers.at", + "njs.netlab.cz", + "tigase.im", + "ubuntu-jabber.de", + "ubuntu-jabber.net", + "verdammung.org", + "xabber.de" +] diff --git a/gajim/data/plugins/plugin_installer/__init__.py b/gajim/data/plugins/plugin_installer/__init__.py new file mode 100644 index 0000000..77aa5e2 --- /dev/null +++ b/gajim/data/plugins/plugin_installer/__init__.py @@ -0,0 +1 @@ +from .plugin_installer import PluginInstaller diff --git a/gajim/data/plugins/plugin_installer/config_dialog.py b/gajim/data/plugins/plugin_installer/config_dialog.py new file mode 100644 index 0000000..046c6bd --- /dev/null +++ b/gajim/data/plugins/plugin_installer/config_dialog.py @@ -0,0 +1,51 @@ +# This file is part of Gajim. +# +# Gajim is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Gajim 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 Gajim. If not, see . + +from gi.repository import Gtk + +from gajim.gui.settings import SettingsDialog +from gajim.gui.const import Setting +from gajim.gui.const import SettingKind +from gajim.gui.const import SettingType + +from gajim.plugins.plugins_i18n import _ + + +class PluginInstallerConfigDialog(SettingsDialog): + def __init__(self, plugin, parent): + + self.plugin = plugin + settings = [ + Setting(SettingKind.SWITCH, _('Check for updates'), + SettingType.VALUE, self.plugin.config['check_update'], + desc=_('Check for updates after start'), + callback=self.on_setting, data='check_update'), + + Setting(SettingKind.SWITCH, _('Update automatically'), + SettingType.VALUE, self.plugin.config['auto_update'], + desc=_('Update plugins automatically'), + callback=self.on_setting, data='auto_update'), + + Setting(SettingKind.SWITCH, _('Notify after update'), + SettingType.VALUE, self.plugin.config['auto_update_feedback'], + desc=_('Show message when automatic update was successful'), + callback=self.on_setting, data='auto_update_feedback'), + ] + + SettingsDialog.__init__(self, parent, _('Plugin Installer Configuration'), + Gtk.DialogFlags.MODAL, settings, None) + + def on_setting(self, value, data): + self.plugin.config[data] = value diff --git a/gajim/data/plugins/plugin_installer/config_dialog.ui~ b/gajim/data/plugins/plugin_installer/config_dialog.ui~ new file mode 100644 index 0000000..faa0b61 --- /dev/null +++ b/gajim/data/plugins/plugin_installer/config_dialog.ui~ @@ -0,0 +1,348 @@ + + + + + + False + + + True + False + 12 + 12 + 12 + 12 + + + Check update after start + True + False + False + False + True + + + + 0 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + False + + + True + True + + + True + False + + + False + True + end + + + 0 + 1 + + + + + True + True + True + True + 6 + never + + + True + True + True + plugin_store + False + 1 + + + + + + + + Plugin + True + + + + 0 + + + + + + 2 + + + + + + + Installed + + + + 3 + + + + + + + Available + + + + 4 + + + + + + + Install / +Upgrade + 0.5 + + + + + + 5 + + + + + + + + + 0 + 0 + + + + + True + False + start + 2 + 2 + 6 + vertical + start + + + Install/Upgrade + True + True + True + start + False + refresh + True + + + + True + True + 0 + + + + + 0 + 2 + + + + + True + False + + + + + 350 + True + False + 6 + 3 + 5 + + + False + True + start + True + + + + + + 0 + 0 + 2 + + + + + True + False + start + Version: + + + 0 + 1 + + + + + True + False + start + start + Authors: + + + 0 + 2 + + + + + True + False + start + Homepage: + + + 0 + 3 + + + + + True + False + start + Description: + + + 0 + 4 + 2 + + + + + True + False + start + False + True + + + 1 + 1 + + + + + True + False + start + start + word-char + True + end + + + 1 + 2 + + + + + True + False + True + True + start + True + none + + + 1 + 3 + + + + + True + True + True + True + in + + + + + + 0 + 5 + 2 + + + + + True + False + + + + + + + True + False + gtk-refresh + + diff --git a/gajim/data/plugins/plugin_installer/installer.ui b/gajim/data/plugins/plugin_installer/installer.ui new file mode 100644 index 0000000..be93382 --- /dev/null +++ b/gajim/data/plugins/plugin_installer/installer.ui @@ -0,0 +1,341 @@ + + + + + + + + + + + + + + + + + + + + + + True + False + 18 + 18 + + + True + False + + + 180 + True + False + True + vertical + + + True + True + never + out + + + True + True + plugin_store + 2 + + + + + + + + True + fixed + 180 + 150 + 300 + Plugin + True + True + 1 + + + + 0 + + + + + end + + + 1 + + + + + + + Installed + + + + 2 + + + + + + + Available + + + + 3 + + + + + + + Install + True + 0.5 + True + 4 + + + + + + 4 + + + + + + + + + + True + True + 0 + + + + + True + False + text + False + + + True + False + False + Install / Upda_te + True + + + + False + False + + + + + + False + True + 1 + + + + + -1 + + + + + True + False + True + + + + + False + True + 0 + + + + + 400 + True + False + True + vertical + 18 + + + True + False + True + start + <Plugin Name> + True + 0 + + + + False + True + 0 + + + + + True + False + start + <Description> + True + word-char + True + 0 + + + False + True + 1 + + + + + True + False + 6 + 12 + + + True + False + end + start + Version + + + + 0 + 0 + + + + + True + False + end + start + Authors + + + + 0 + 1 + + + + + True + False + end + start + Homepage + + + + 0 + 2 + + + + + True + False + start + <empty> + True + word-char + True + 0 + + + 1 + 0 + + + + + True + False + start + <empty> + True + word-char + True + 0 + + + 1 + 1 + + + + + True + False + start + <empty> + True + word-char + 0 + + + 1 + 2 + + + + + False + True + 2 + + + + + False + True + 1 + + + + diff --git a/gajim/data/plugins/plugin_installer/manifest.ini b/gajim/data/plugins/plugin_installer/manifest.ini new file mode 100644 index 0000000..c3c6902 --- /dev/null +++ b/gajim/data/plugins/plugin_installer/manifest.ini @@ -0,0 +1,13 @@ +[info] +name: Plugin Installer +short_name: plugin_installer +version: 1.3.8 +description: Install and upgrade plugins for Gajim +authors: Denis Fomin + Yann Leboulanger + Thilo Molitor + Philipp Hörist +homepage: https://dev.gajim.org/gajim/gajim-plugins/wikis/PluginInstallerPlugin +min_gajim_version: 1.2.91 +max_gajim_version: 1.3.90 + diff --git a/gajim/data/plugins/plugin_installer/plugin_installer.png b/gajim/data/plugins/plugin_installer/plugin_installer.png new file mode 100644 index 0000000000000000000000000000000000000000..096e098b4bf4d21769a01f6202076de6ca52e64d GIT binary patch literal 541 zcmV+&0^ONui8Pj3^qfoxg`11})%NSb4A$MbYag?-@S4{Q_nS2=g$A$_S#w zLS^m*u&MTX;gD$j`RhAe0m$Z8Pv3z85v=Rg(_im-McCmk!AJ+dl*sVw&o4wk{%2zN z_3IZX5I(@t)}OzBS^xk02jKwK|An%_2K@c==kU#wkC2luNb@cv{;nIR9=HK%RwTb8 fSx8}a1_&?!W$xIpcs8(|00000NkvXXu0mjfoW}qv literal 0 HcmV?d00001 diff --git a/gajim/data/plugins/plugin_installer/plugin_installer.py b/gajim/data/plugins/plugin_installer/plugin_installer.py new file mode 100644 index 0000000..0802371 --- /dev/null +++ b/gajim/data/plugins/plugin_installer/plugin_installer.py @@ -0,0 +1,260 @@ +# Copyright (C) 2010-2012 Denis Fomin +# Copyright (C) 2011-2012 Yann Leboulanger +# Copyright (C) 2017-2019 Philipp Hörist +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import logging +from functools import partial +from io import BytesIO +from zipfile import ZipFile + +from gi.repository import GLib +from gi.repository import Soup + +from gajim.common import app + +from gajim.plugins import GajimPlugin +from gajim.plugins.plugins_i18n import _ + +from gajim.gui.dialogs import DialogButton +from gajim.gui.dialogs import InformationDialog +from gajim.gui.dialogs import ConfirmationCheckDialog + +from plugin_installer.config_dialog import PluginInstallerConfigDialog +from plugin_installer.widget import AvailablePage +from plugin_installer.utils import parse_manifests_zip +from plugin_installer.remote import MANIFEST_URL +from plugin_installer.remote import MANIFEST_IMAGE_URL + + +log = logging.getLogger('gajim.p.installer') + + +class PluginInstaller(GajimPlugin): + def init(self): + # pylint: disable=attribute-defined-outside-init + self.description = _('Install and upgrade plugins for Gajim') + self.config_dialog = partial(PluginInstallerConfigDialog, self) + self.config_default_values = {'check_update': (True, ''), + 'auto_update': (False, ''), + 'auto_update_feedback': (True, '')} + self.gui_extension_points = { + 'plugin_window': (self._on_connect_plugin_window, + self._on_disconnect_plugin_window)} + + self._check_update_id = None + self._available_page = None + + self._update_in_progress = False + self._download_in_progress = False + self._download_queue = 0 + self._needs_restart = False + + self._session = Soup.Session() + + @property + def download_in_progress(self): + return self._download_in_progress + + def activate(self): + if self.config['check_update']: + # Check for updates X seconds after Gajim was started + self._check_update_id = GLib.timeout_add_seconds( + 10, self._check_for_updates) + + def deactivate(self): + if self._check_update_id is not None: + GLib.source_remove(self._check_update_id) + self._check_update_id = None + + def _set_download_in_progress(self, state): + self._download_in_progress = state + if self._available_page is not None: + self._available_page.set_download_in_progress(state) + + def _check_for_updates(self): + if self._download_in_progress: + log.info('Abort checking for updates because ' + 'other downloads are in progress') + return + log.info('Checking for Updates...') + message = Soup.Message.new('GET', MANIFEST_URL) + self._session.queue_message(message, + self._on_check_for_updates_finished) + + def _on_check_for_updates_finished(self, _session, message): + if message.status_code != Soup.Status.OK: + log.warning('Download failed: %s', MANIFEST_URL) + log.warning(Soup.Status.get_phrase(message.status_code)) + return + + data = message.props.response_body_data.get_data() + if data is None: + return + + plugin_list = parse_manifests_zip(data) + for plugin in list(plugin_list): + if plugin.needs_update(): + log.info('Update available for: %s - %s', + plugin.name, plugin.version) + else: + plugin_list.remove(plugin) + + if not plugin_list: + log.info('No updates available') + return + + if self.config['auto_update']: + self._update_in_progress = True + self._download_plugins(plugin_list) + else: + self._notify_about_update(plugin_list) + + def _notify_about_update(self, plugins): + def _open_update(is_checked): + if is_checked: + self.config['auto_update'] = True + self._download_plugins(plugins) + + plugins_str = '\n' + '\n'.join([plugin.name for plugin in plugins]) + ConfirmationCheckDialog( + _('Plugin Updates'), + _('Plugin Updates Available'), + _('There are updates for your plugins:\n' + '%s') % plugins_str, + _('Update plugins automatically next time'), + [DialogButton.make('Cancel'), + DialogButton.make('Accept', + text=_('_Update'), + is_default=True, + callback=_open_update)]).show() + + def _download_plugin_list(self): + log.info('Download plugin list...') + message = Soup.Message.new('GET', MANIFEST_IMAGE_URL) + self._session.queue_message(message, + self._on_download_plugin_list_finished) + + def _on_download_plugin_list_finished(self, _session, message): + if message.status_code != Soup.Status.OK: + log.warning('Download failed: %s', MANIFEST_IMAGE_URL) + log.warning(Soup.Status.get_phrase(message.status_code)) + return + + data = message.props.response_body_data.get_data() + if data is None: + return + + plugin_list = parse_manifests_zip(data) + if not plugin_list: + log.warning('No plugins found in zip') + + if self._available_page is None: + return + self._available_page.append_plugins(plugin_list) + log.info('Downloading plugin list finished') + + def _on_download_plugins(self, _available_page, _signal_name, plugin_list): + self._download_plugins(plugin_list) + + def _download_plugins(self, plugin_list): + if self._download_in_progress: + log.warning('Download started while other download in progress') + return + + self._set_download_in_progress(True) + self._download_queue = len(plugin_list) + for plugin in plugin_list: + self._download_plugin(plugin) + + def _download_plugin(self, plugin): + log.info('Download plugin %s', plugin.name) + message = Soup.Message.new('GET', plugin.remote_uri) + self._session.queue_message(message, + self._on_download_plugin_finished, + plugin) + + def _on_download_plugin_finished(self, _session, message, plugin): + self._download_queue -= 1 + if message.status_code != Soup.Status.OK: + log.warning('Download failed: %s', plugin.remote_uri) + log.warning(Soup.Status.get_phrase(message.status_code)) + return + + data = message.props.response_body_data.get_data() + if data is None: + return + + log.info('Finished downloading %s', plugin.name) + + if not plugin.download_path.exists(): + plugin.download_path.mkdir(mode=0o700) + + with ZipFile(BytesIO(data)) as zip_file: + zip_file.extractall(str(plugin.download_path)) + + activated = app.plugin_manager.update_plugins( + replace=False, activate=True, plugin_name=plugin.short_name) + if activated: + if self._available_page is not None: + self._available_page.update_plugin(plugin) + + else: + self._needs_restart = True + log.info('Plugin %s needs restart', plugin.name) + + if self._download_queue == 0: + self._set_download_in_progress(False) + self._notify_about_download_finished() + self._update_in_progress = False + self._needs_restart = False + + def _notify_about_download_finished(self): + if not self._update_in_progress: + if self._needs_restart: + InformationDialog( + _('Plugins Downloaded'), + _('Updates will be installed next time Gajim is ' + 'started.')) + else: + InformationDialog(_('Plugins Downloaded')) + + elif self.config['auto_update_feedback']: + def _on_ok(is_checked): + if is_checked: + self.config['auto_update_feedback'] = False + ConfirmationCheckDialog( + _('Plugins Updated'), + _('Plugins Updated'), + _('Plugin updates have successfully been downloaded.\n' + 'Updates will be installed next time Gajim is started.'), + _('Do not show this message again'), + [DialogButton.make('OK', + callback=_on_ok)]).show() + + def _on_connect_plugin_window(self, plugin_window): + self._available_page = AvailablePage( + self.local_file_path('installer.ui'), plugin_window.get_notebook()) + self._available_page.set_download_in_progress( + self._download_in_progress) + self._available_page.connect('download-plugins', + self._on_download_plugins) + self._download_plugin_list() + + def _on_disconnect_plugin_window(self, _plugin_window): + self._session.abort() + self._available_page.destroy() + self._available_page = None diff --git a/gajim/data/plugins/plugin_installer/remote.py b/gajim/data/plugins/plugin_installer/remote.py new file mode 100644 index 0000000..b8b0a77 --- /dev/null +++ b/gajim/data/plugins/plugin_installer/remote.py @@ -0,0 +1,8 @@ +# File which defines all remote URLs + +server = 'https://ftp.gajim.org' +directory = 'plugins_1.3_zip' + +PLUGINS_DIR_URL = '%s/%s' % (server, directory) +MANIFEST_URL = '%s/manifests.zip' % PLUGINS_DIR_URL +MANIFEST_IMAGE_URL = '%s/manifests_images.zip' % PLUGINS_DIR_URL diff --git a/gajim/data/plugins/plugin_installer/utils.py b/gajim/data/plugins/plugin_installer/utils.py new file mode 100644 index 0000000..a199738 --- /dev/null +++ b/gajim/data/plugins/plugin_installer/utils.py @@ -0,0 +1,195 @@ +import logging +from io import BytesIO +from pathlib import Path +from zipfile import ZipFile +import configparser +from configparser import ConfigParser +from packaging.version import Version as V + +from gi.repository import Gtk +from gi.repository import GdkPixbuf + +import gajim +from gajim.common import app +from gajim.common import configpaths + +from plugin_installer.remote import PLUGINS_DIR_URL + +log = logging.getLogger('gajim.p.installer.utils') + +MANDATORY_FIELDS = {'name', 'short_name', 'version', + 'description', 'authors', 'homepage'} +FALLBACK_ICON = Gtk.IconTheme.get_default().load_icon( + 'preferences-system', Gtk.IconSize.MENU, 0) + + +class PluginInfo: + def __init__(self, config, icon): + self.icon = icon + self.name = config.get('info', 'name') + self.short_name = config.get('info', 'short_name') + self.version = V(config.get('info', 'version')) + self._installed_version = None + self.min_gajim_version = V(config.get('info', 'min_gajim_version')) + self.max_gajim_version = V(config.get('info', 'max_gajim_version')) + self.description = config.get('info', 'description') + self.authors = config.get('info', 'authors') + self.homepage = config.get('info', 'homepage') + + + @classmethod + def from_zip_file(cls, zip_file, manifest_path): + config = ConfigParser() + # ZipFile can only handle posix paths + with zip_file.open(manifest_path.as_posix()) as manifest_file: + try: + config.read_string(manifest_file.read().decode()) + except configparser.Error as error: + log.warning(error) + raise ValueError('Invalid manifest: %s' % manifest_path) + + if not is_manifest_valid(config): + raise ValueError('Invalid manifest: %s' % manifest_path) + + short_name = config.get('info', 'short_name') + png_filename = '%s.png' % short_name + png_path = manifest_path.parent / png_filename + icon = load_icon_from_zip(zip_file, png_path) or FALLBACK_ICON + + return cls(config, icon) + + @classmethod + def from_path(cls, manifest_path): + config = ConfigParser() + with open(manifest_path, encoding='utf-8') as conf_file: + try: + config.read_file(conf_file) + except configparser.Error as error: + log.warning(error) + raise ValueError('Invalid manifest: %s' % manifest_path) + + if not is_manifest_valid(config): + raise ValueError('Invalid manifest: %s' % manifest_path) + + return cls(config, None) + + @property + def remote_uri(self): + return '%s/%s.zip' % (PLUGINS_DIR_URL, self.short_name) + + @property + def download_path(self): + return Path(configpaths.get('PLUGINS_DOWNLOAD')) + + @property + def installed_version(self): + if self._installed_version is None: + self._installed_version = self._get_installed_version() + return self._installed_version + + def has_valid_version(self): + gajim_version = V(gajim.__version__) + return self.min_gajim_version <= gajim_version <= self.max_gajim_version + + def _get_installed_version(self): + for plugin in app.plugin_manager.plugins: + if plugin.name == self.name: + return V(plugin.version) + + # Fallback: + # If the plugin has errors and is not loaded by the + # PluginManager. Look in the Gajim config if the plugin is + # known and active, if yes load the manifest from the Plugin + # dir and parse the version + plugin_settings = app.settings.get_plugins() + if self.short_name not in plugin_settings: + return None + + active = app.settings.get_plugin_setting(self.short_name, 'active') + if not active: + return None + + manifest_path = (Path(configpaths.get('PLUGINS_USER')) / + self.short_name / + 'manifest.ini') + if not manifest_path.exists(): + return None + try: + return PluginInfo.from_path(manifest_path).version + except Exception as error: + log.warning(error) + return None + + def needs_update(self): + if self.installed_version is None: + return False + return self.installed_version < self.version + + @property + def fields(self): + return [self.icon, + self.name, + str(self.installed_version or ''), + str(self.version), + self.needs_update(), + self] + + +def parse_manifests_zip(bytes_): + plugins = [] + with ZipFile(BytesIO(bytes_)) as zip_file: + files = list(map(Path, zip_file.namelist())) + for manifest_path in filter(is_manifest, files): + try: + plugin = PluginInfo.from_zip_file(zip_file, manifest_path) + except Exception as error: + log.warning(error) + continue + + if not plugin.has_valid_version(): + continue + plugins.append(plugin) + + return plugins + + +def is_manifest(path): + if path.name == 'manifest.ini': + return True + return False + + +def is_manifest_valid(config): + if not config.has_section('info'): + log.warning('Manifest is missing INFO section') + return False + + opts = config.options('info') + if not MANDATORY_FIELDS.issubset(opts): + log.warning('Manifest is missing mandatory fields %s.', + MANDATORY_FIELDS.difference(opts)) + return False + return True + + +def load_icon_from_zip(zip_file, icon_path): + # ZipFile can only handle posix paths + try: + zip_file.getinfo(icon_path.as_posix()) + except KeyError: + return None + + with zip_file.open(icon_path.as_posix()) as png_file: + data = png_file.read() + + pixbuf = GdkPixbuf.PixbufLoader() + pixbuf.set_size(16, 16) + try: + pixbuf.write(data) + except Exception: + log.exception('Can\'t load icon: %s', icon_path) + pixbuf.close() + return None + + pixbuf.close() + return pixbuf.get_pixbuf() diff --git a/gajim/data/plugins/plugin_installer/widget.py b/gajim/data/plugins/plugin_installer/widget.py new file mode 100644 index 0000000..0018b45 --- /dev/null +++ b/gajim/data/plugins/plugin_installer/widget.py @@ -0,0 +1,138 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from enum import IntEnum + +from gi.repository import Gtk + +from gajim.common.helpers import Observable + +from gajim.plugins.plugins_i18n import _ +from gajim.plugins.helpers import get_builder + + +class Column(IntEnum): + PIXBUF = 0 + NAME = 1 + INSTALLED_VERSION = 2 + VERSION = 3 + INSTALL = 4 + PLUGIN = 5 + + +class AvailablePage(Observable): + def __init__(self, builder_path, notebook): + Observable.__init__(self) + self._ui = get_builder(builder_path) + + self._notebook = notebook + self._page_num = self._notebook.append_page( + self._ui.available_plugins_box, + Gtk.Label.new(_('Available'))) + + self._ui.plugin_store.set_sort_column_id(1, Gtk.SortType.ASCENDING) + self._ui.connect_signals(self) + + def destroy(self): + self._notebook.remove_page(self._page_num) + self._notebook = None + self._ui.plugin_store.clear() + self._ui.available_plugins_box.destroy() + self._ui = None + self._plugin = None + self.disconnect_signals() + + def show_page(self): + self._notebook.set_current_page(self._page_num) + + def append_plugins(self, plugins): + for plugin in plugins: + self._ui.plugin_store.append(plugin.fields) + + if plugins: + self._select_first_plugin() + + self._update_install_button() + self._ui.spinner.stop() + self._ui.spinner.hide() + + def update_plugin(self, plugin): + for row in self._ui.plugin_store: + if row[Column.NAME] == plugin.name: + row[Column.INSTALLED_VERSION] = str(plugin.version) + row[Column.INSTALL] = False + break + + def set_download_in_progress(self, state): + self._download_in_progress = state + self._update_install_button() + + def _available_plugin_toggled(self, _cell, path): + is_active = self._ui.plugin_store[path][Column.INSTALL] + self._ui.plugin_store[path][Column.INSTALL] = not is_active + self._update_install_button() + + def _update_install_button(self): + if self._download_in_progress: + self._ui.install_plugin_button.set_sensitive(False) + return + + sensitive = False + for row in self._ui.plugin_store: + if row[Column.INSTALL]: + sensitive = True + break + self._ui.install_plugin_button.set_sensitive(sensitive) + + def _on_install_update_clicked(self, _button): + self._ui.install_plugin_button.set_sensitive(False) + + plugins = [] + for row in self._ui.plugin_store: + if row[Column.INSTALL]: + plugins.append(row[Column.PLUGIN]) + + self.notify('download-plugins', plugins) + + def _on_plugin_selection_changed(self, selection): + model, iter_ = selection.get_selected() + if not iter_: + self._clear_plugin_info() + else: + self._set_plugin_info(model, iter_) + + def _clear_plugin_info(self): + self._ui.name_label.set_text('') + self._ui.description_label.set_text('') + self._ui.version_label.set_text('') + self._ui.authors_label.set_text('') + self._ui.homepage_linkbutton.set_text('') + self._ui.install_plugin_button.set_sensitive(False) + + def _set_plugin_info(self, model, iter_): + plugin = model[iter_][Column.PLUGIN] + self._ui.name_label.set_text(plugin.name) + self._ui.version_label.set_text(str(plugin.version)) + self._ui.authors_label.set_text(plugin.authors) + homepage = '%s' % (plugin.homepage, plugin.homepage) + self._ui.homepage_linkbutton.set_markup(homepage) + self._ui.description_label.set_text(plugin.description) + + def _select_first_plugin(self): + selection = self._ui.available_plugins_treeview.get_selection() + iter_ = self._ui.plugin_store.get_iter_first() + if iter_ is not None: + selection.select_iter(iter_) + path = self._ui.plugin_store.get_path(iter_) + self._ui.available_plugins_treeview.scroll_to_cell(path) diff --git a/gajim/data/sounds/attention.wav b/gajim/data/sounds/attention.wav new file mode 100644 index 0000000000000000000000000000000000000000..16c221182bed1c517af8e7e61c720008582cba77 GIT binary patch literal 146674 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 zℑ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

    >fX~1hL#)sDNPcJ(;WJS;_Cn@` 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

    y*o0OJ`f4eMj;DnDur`DH7f$y%3rv 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

    w-m3@OU1SHLvc8bOHJr@QY^h%Vj`~~Z&WSc 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�X!xS^)UGWSP7o0~J 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

    #8%MTBOzIo0#V`jz(Zs; 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�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ΠI+jyj#< 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 literal 0 HcmV?d00001 diff --git a/gajim/data/sounds/gc_message2.wav b/gajim/data/sounds/gc_message2.wav new file mode 100644 index 0000000000000000000000000000000000000000..3292deadf47d87d8532b135a257c7ca5338a40a8 GIT binary patch literal 42166 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 literal 0 HcmV?d00001 diff --git a/gajim/data/sounds/message2.wav b/gajim/data/sounds/message2.wav new file mode 100644 index 0000000000000000000000000000000000000000..3292deadf47d87d8532b135a257c7ca5338a40a8 GIT binary patch literal 42166 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 ikJ?px_Um_j revealer > box { + color: #D9EDF7; + background-color: #3A87AD; +} +infobar.question > revealer > box { + color: #D9EDF7; + background-color: #295A72; +} +infobar.warning > revealer > box { + color: #FCF8E3; + background-color: #D2822B; +} +infobar.error > revealer > box { + color: #FCE5D5; + background-color: #D64937; +} diff --git a/gajim/data/style/gajim.css b/gajim/data/style/gajim.css new file mode 100644 index 0000000..12d93ee --- /dev/null +++ b/gajim/data/style/gajim.css @@ -0,0 +1,438 @@ +/* Gajim Application CSS File */ + +.chatcontrol-actionbar-button { + padding: 0px 5px 0px 5px; + background-color: @theme_base_color; + border: none; + } + +.scrolled-no-border { border: none; } +.no-scroll-indicator undershoot.top, undershoot.bottom { background-image: none; } +.scrollbar-style scrollbar trough {background-color:@theme_base_color; } +.scrollbar-style scrollbar {border:none; } +.one-line-scrollbar scrollbar.vertical slider { min-height: 20px; } + +.actionbar-no-border box { border: none; } +.actionbar-no-border button { + padding: 0px; + background-color: @theme_base_color; + border: none; + background-image: none; + } + +.dialog-margin > box { margin: 18px;} + +#MessageWindow, #RosterWindow paned { background-color: @theme_base_color; } + +#DropArea {background-color: @theme_base_color;} + +.chatcontrol-separator-top {margin-top: 5px;} + +.chatcontrol-separator {margin-bottom: 5px;} + +.message-input-border { + border: 2px solid @theme_unfocused_bg_color; + border-radius: 4px; +} +.message-input-focus { + border: 2px solid @theme_selected_bg_color; + border-radius: 4px; +} + +.link-button { min-height: 0px; } + +/* VCardWindow */ +.VCard-GtkLinkButton { padding-left: 5px; border-left: none; } + +#NicknameEntry:disabled { + font-size: 28px; + font-weight: bold; + border: none; + padding: 0px 0px 0px 0px; + background-color: @theme_unfocused_bg_color; + color: @theme_fg_color; +} + +#ProfileWindow grid { padding: 18px; } +#ProfileWindow grid > button { + padding-left: 4px; + padding-right: 4px; +} +#ProfileWindow popover { padding: 6px; } +#ProfileWindow actionbar box { + padding: 0px; +} +#ProfileWindow actionbar button { + margin-top: 12px; +} + +.profile-scrolled { + border: 1px solid @borders; + border-radius: 4px; +} +.profile-scrolled-read textview { + background: transparent; +} +.profile-scrolled-read textview text { + background: transparent; + color: @theme_text_color; +} + +/* Emoticon Popover */ +popover#EmoticonPopover button { background: none; border: none; box-shadow:none; padding: 0px;} +popover#EmoticonPopover button > label { font-size: 24px; } +popover#EmoticonPopover flowboxchild > label { font-size: 24px; } +popover#EmoticonPopover flowboxchild { padding-top: 5px; padding-bottom: 5px; } +popover#EmoticonPopover scrolledwindow { border: none; } +popover#EmoticonPopover { padding: 5px; background-color: @theme_unfocused_base_color; } + +.emoji-chooser-heading { font-size: 13px; font-weight: bold; padding: 5px;} +.emoji-chooser-flowbox { padding-left: 5px; padding-right: 11px; } +.emoji-modifier-chooser-flowbox { padding-left: 5px; } + +/* HistorySyncAssistant */ +#HistorySyncAssistant notebook { padding: 18px; } +#HistorySyncAssistant progressbar text { color: #000; font-size: 18px; padding: 10px;} +#HistorySyncAssistant list { border: 1px solid; border-color: @borders; } +#HistorySyncAssistant list > row { padding: 10px 30px 10px 30px; } +#HistorySyncAssistant list > row > label { color: @insensitive_fg_color; } +#HistorySyncAssistant list > row.activatable > label { color: @theme_text_color; } +#HistorySyncAssistant list > row.activatable:selected > label { color: @theme_selected_fg_color; } +#FinishedLabel { font-size: 14px; font-weight: bold; } + +/* Server Info */ +#ServerInfo { border: 1px solid; border-color: @borders; } +#ServerInfo > row:first-child { border-top: 1px solid; border-color: @borders; } +#ServerInfo > row { padding: 10px 20px 10px 10px; } +#ServerInfo > label { padding:10px; color: @insensitive_fg_color; font-weight: bold; } +#ServerInfo > row.activatable:active { box-shadow: none; } + +/* Features Info */ +#FeaturesInfoGrid { padding: 6px; } +#FeaturesInfoGrid > list { border: 1px solid; border-color: @borders; } +#FeaturesInfoGrid > list > row:first-child { border-top: 1px solid; border-color: @borders; } +#FeaturesInfoGrid > list > row { padding: 10px 20px 10px 10px; } +#FeaturesInfoGrid > list > label { padding:10px; color: @insensitive_fg_color; font-weight: bold; } +#FeaturesInfoGrid > list > row.activatable:active { box-shadow: none; } + +/* SettingsBox */ +.settings-box > row { border-bottom: 1px solid; border-color: @theme_unfocused_bg_color; } +.settings-box > row:last-child { border-bottom: 0px; } +.settings-box > row.activatable:active { box-shadow: none; } +.settings-box > row { padding: 10px 20px 10px 10px; } +.settings-box > row:not(.activatable) label { color: @insensitive_fg_color; } + +window.settings-dialog row { + border-bottom: 0px; +} + +window.settings-dialog list { + background: transparent; + margin: 12px; +} + +/* GenericSetting */ +#SubDescription { color: @insensitive_fg_color; font-size: small;} +#GenericSettingBox { margin-left: 30px; } +#GenericSettingBox > label { padding-right: 3px; } + +/* Generic Popover Menu with Buttons */ +.PopoverButtonListbox { padding-left: 0px; padding-right: 0px; } +.PopoverButtonListbox > list { margin-top: 10px; margin-bottom: 10px; } +.PopoverButtonListbox > list > row { padding: 10px 20px 10px 20px; } +.PopoverButtonListbox > list > row.activatable:active { box-shadow: none; background-color: @theme_selected_bg_color; } + +/* Settings ListBox */ +list.settings { + border: @borders 1px solid; +} +list.settings > row:not(:last-child) { + border-bottom: @theme_unfocused_bg_color 1px solid; +} +list.settings row { min-height: 52px; } +list.settings > row > box { + margin: 6px 18px; +} + +/* Settings Window */ +list.settings-menu row { + border-bottom: 1px solid; + border-color: @theme_unfocused_bg_color; + padding: 14px; + min-width: 170px; +} +list.settings-menu row label { + padding-left: 12px; +} +.settings-stack viewport > box { + margin-left: 30px; + margin-right: 30px; + margin-bottom: 10px; + margin-top: 25px; +} +.settings-border { + border: 1px solid; + border-color: @borders; +} + +/* InfoBar */ +infobar.info > revealer > box { + color: #3A87AD; + background-color: #D9EDF7; +} +infobar.question > revealer > box { + color: #295A72; + background-color: #AFDAF0; +} +infobar.warning > revealer > box { + color: #D06821; + background-color: #FFEBC0; +} +infobar.error > revealer > box { + color: #B94A48; + background-color: #F2DEDE; +} + +/*SendFileDialog*/ +#SendFileDialog grid list > row { padding: 10px 20px 10px 10px; } + +/* Accounts Window */ +.accounts-menu { border-right: 1px solid; border-color: @borders;} +.accounts-settings-border {border: 1px solid; border-color: @borders;} +.accounts-settings stack > box { margin:30px; } +.accounts-label-row { + padding-top: 10px; + padding-bottom: 10px; + font-size: 18px; + font-weight: bold; + color: @insensitive_fg_color;} + +/* Account Creation */ +.tls-error-list { + border: 1px solid; border-color: @borders; +} +.tls-error-list > row { + border-bottom: 1px solid; border-color: @theme_unfocused_bg_color; + padding: 6px; +} +.tls-error-list > row:last-child { + border-bottom: 0px; +} + +/* Start Chat Accounts Treeview */ +.start-chat-treeview { padding: 5px; } +.start-chat-treeview:focus {outline: none; } +.start-chat-scrolled { border: 1px solid; border-color:@unfocused_borders; } + +/* StartChatListBox */ +.start-chat-row { border-bottom: 1px solid; border-color: @theme_unfocused_bg_color; } +.start-chat-row:last-child { border-bottom: 0px; } +.start-chat-row.activatable:active { box-shadow: none; } +.start-chat-row { padding: 10px 20px 10px 10px; } +.start-chat-row:not(.activatable) label { color: @insensitive_fg_color; } +.start-chat-row:focus { outline: none; } + +/* GroupChatRoster */ +.groupchat-roster { border-left: 1px solid; + border-color: @borders; } +.groupchat-roster treeview { padding-left: 4px; } + +/* GroupchatConfig */ +#GroupchatConfig stack { border-bottom: 1px solid; border-color: @borders;} +#GroupchatConfig stacksidebar > scrolledwindow { + background-color: @theme_base_color; + border-bottom: 1px solid; + border-color: @borders; +} +#GroupchatConfig treeview { padding: 5px; } + +/* Popover Treeview */ +.popover_treeview { border-radius: 3px; background-color: @theme_bg_color; } +.popover_treeview { padding: 6px; } +.popover_treeview :hover { background-color: @theme_selected_bg_color; } + +/* .inline-toolbar linked from top */ +.ontop-bar { + border-width: 1px; + border-bottom: none; + border-radius: 3px 3px 0 0; + padding: 5px; +} + +/* Container with buttons linked from below */ +.linked-up * { + border-top: none; + border-top-left-radius: 0; + border-top-right-radius: 0; +} + +/* Highlighted label */ +.tagged { + background-color: @theme_selected_bg_color; + color: @theme_selected_fg_color; + padding: 0 3px; + margin: 0 -3px; + border-radius: 3px; + text-shadow: none; + opacity: 0.95; +} + +/* ThemesWindow */ +#ThemesWindow grid { padding: 12px; } + +.theme_listbox row { border-bottom: 1px solid; border-color: @theme_unfocused_bg_color; padding: 5px 10px 5px 10px;} +.theme_listbox row:last-child { border-bottom: 0px; } +.theme_listbox row.activatable:active { box-shadow: none; } +.theme_listbox row:not(.activatable) label { color: @insensitive_fg_color; } +.theme_listbox row:focus { outline: none; } +.theme_listbox row:hover { background-color: @theme_base_color; } + +.theme_remove_button { + background-color: @theme_base_color; + border: none; + background-image: none; } + +.theme_remove_button:focus {outline: none;} + +.theme_popover_listbox { padding: 10px; } +.theme_popover_listbox row { padding: 5px; } +.theme_popover_listbox row:focus { outline: none; } + + +/* Text style */ + +.bold { font-weight: bold; } +.bold16 { font-size: 16px; font-weight: bold; } +.bold24 { font-size: 24px; font-weight: bold; } +.large-header { font-size: 20px; font-weight: bold; } +.insensitive-fg-color {color: @insensitive_fg_color;} + +/* Padding/Margins */ +.margin-right18 { margin-right: 18px; } +.margin-top6 { margin-top: 6px; } +.margin-top12 { margin-top: 12px; } +.margin-3 { margin: 3px; } +.margin-12 { margin: 12px; } +.margin-18 { margin: 18px; } +.padding-6 { margin: 6px; } +.padding-18 { margin: 18px; } +.padding-left30 { padding-left: 30px; } + +/* Treeview */ +treeview.space { padding: 6px; } + +/* GtkLinkButton style */ +button.flat.link { padding: 0; border: 0; } + +/*MessageWindow Notebook*/ +.notebook-tab-label { min-width: 80px; } + +/*Icon colors*/ +.success-color { color: @success_color; } +.error-color { color: @error_color; } +.warning-color { color: @warning_color; } +.selected-color { color: @theme_selected_bg_color; } + +/*Encryption*/ +.encrypted-color { color: rgb(75, 181, 67); } +.unencrypted-color { color: @error_color; } + +/*Receipts*/ +.receipt-received-color { color: rgb(75, 181, 67); } + +/*Dataforms*/ +.field-fixed { font-size: 16px; font-weight: bold; padding-top:5px;} +.data-form-title { font-size: 16px; font-weight: bold; } +.data-form-widget grid { margin: 0px 18px 18px 18px; } +.data-form-widget treeview { padding: 5px; } +.data-form-widget scrolledwindow { border: 1px solid; border-color:@unfocused_borders; } +.data-form-widget textview { padding: 5px; } + +/*Image Preview*/ +.preview-image { box-shadow: 0px 0px 3px 0px alpha(@theme_text_color, 0.2); } + +/* Badge */ +.badge { + color: rgb(242, 242, 242); + padding-left: 6px; + padding-right: 6px; + padding-top: 2px; + padding-bottom: 2px; + border-radius: 4px; + font-size: 80%; + font-weight: bold; +} + +@keyframes pulse { + 0% { -gtk-icon-transform: scale(1.0); } + 20% { -gtk-icon-transform: scale(1.1); } + 35% { -gtk-icon-transform: scale(1.0); } +} + +.audio-mic-animation { + animation-name: pulse; + animation-duration: 2.0s; + animation-timing-function: ease-in-out; + animation-iteration-count: infinite; +} + +/* Treeview */ +.adhoc-treeview { padding: 5px; } +.adhoc-scrolled { border: 1px solid; border-color:@unfocused_borders; } + +/* Search Dialog */ +.search-treeview { padding: 5px; } +.search-scrolled { border: 1px solid; border-color:@unfocused_borders; } + +.gajim-treeview { padding: 4px; } +.gajim-treeview check { padding: 0px; } +.gajim-scrolled { border: 1px solid; border-color:@unfocused_borders; } + + +#GroupchatJoin > box {padding: 18px; } + +.assistant-grid { padding: 18px; margin: 6px;} +.assistant-grid > box stack { padding: 18px; } + +/* Windows notification */ +#NotificationPopup { + background-color: #333333; + padding: 4px; +} +#NotificationPopup label { + color: #FFF; +} +#NotificationPopup button { + border-width: 0; + background-image: none; + background-color: inherit; + box-shadow: none; + text-shadow: none; + -gtk-icon-shadow: none; +} +#NotificationPopupTitle { + font-weight: bold; +} + + +popover.combo list { + min-width: 200px; + margin: 12px; +} +popover.combo { padding: 0px; } +popover.combo list { + border-style: none; + background-color: transparent; +} +popover.combo list > row { + padding: 0px 12px 0px 12px; + min-height: 40px; +} +popover.combo list > row:not(:last-child) { border-bottom: 1px solid alpha(#cdc7c2, 0.5); } +popover.combo scrollbar.vertical { padding-top: 2px; padding-bottom: 2px; } +popover.combo scrollbar.vertical { + padding-top: 2px; + padding-bottom: 2px; +} + +messagedialog.confirmation-dialog > box { margin-top: 18px; } diff --git a/gajim/dialog_messages.py b/gajim/dialog_messages.py new file mode 100644 index 0000000..532b685 --- /dev/null +++ b/gajim/dialog_messages.py @@ -0,0 +1,129 @@ +# Copyright (C) 2017 Philipp Hörist +# +# This file is part of Gajim. +# +# Gajim is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Gajim 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 Gajim. If not, see . + +from collections import namedtuple + +from gi.repository import GLib + +from gajim.common.app import app +from gajim.common.i18n import _ +from gajim.gui.dialogs import ErrorDialog +from gajim.gui.dialogs import InformationDialog + +Message = namedtuple('Message', ['title', 'text', 'dialog']) + +messages = { + 'invalid-jid-with-error': Message( + _('Invalid XMPP Address'), + '%s', + ErrorDialog), + + 'invalid-jid': Message( + _('Invalid XMPP Address'), + _('It is not possible to send a message ' + 'to %s. This XMPP Address is not valid.'), + ErrorDialog), + + 'unread-events-on-remove-account': Message( + _('Unread Events'), + _('Read or acknowledge all pending events before ' + 'removing this account.'), + ErrorDialog), + + 'invalid-form': Message( + _('Invalid Form'), + _('The form is not filled correctly.'), + ErrorDialog), + + 'not-connected-while-sending': Message( + _('No Connection Available'), + _('Your message can not be sent until you are connected.'), + ErrorDialog), + + 'jid-in-list': Message( + _('XMPP Address Already in List'), + _('The XMPP Address you entered is already in the list. ' + 'Please choose another one.'), + ErrorDialog), + + 'invalid-answer': Message( + _('Invalid Answer'), + _('Transport %(name)s answered wrongly to ' + 'register request: %(error)s'), + ErrorDialog), + + 'invalid-custom-hostname': Message( + _('Wrong Custom Hostname'), + _('Custom hostname "%s" is wrong. It will be ignored.'), + ErrorDialog), + + 'agent-register-success': Message( + _('Registration Succeeded'), + _('Registration with agent %s succeeded.'), + InformationDialog), + + 'agent-register-error': Message( + _('Registration Failed'), + _('Registration with agent %(agent)s failed with error %(error)s: ' + '%(error_msg)s'), + ErrorDialog), + + 'gstreamer-error': Message( + _('GStreamer Error'), + _('Error: %(error)s\nDebug: %(debug)s'), + ErrorDialog), + + 'wrong-host': Message( + _('Wrong Host'), + _('Invalid local address? :-O'), + ErrorDialog), + + 'avahi-error': Message( + _('Avahi Error'), + _('%s\nLink-local messaging might not work properly.'), + ErrorDialog), + + 'open-file-error2': Message( + _('Could not Open File'), + '%s', + ErrorDialog), + + } + + +def get_dialog(dialog_name, *args, **kwargs): + message = messages.get(dialog_name, None) + if message is None: + raise ValueError('Dialog %s does not exist' % dialog_name) + + # Set transient window + transient_for = kwargs.get('transient_for', None) + if transient_for is None: + transient_for = app.get_active_window() + else: + del kwargs['transient_for'] + + if args: + message_text = message.text % args + elif kwargs: + message_text = message.text % kwargs + else: + message_text = message.text + dialog = message.dialog(message.title, + GLib.markup_escape_text(message_text), + transient_for=transient_for) + return dialog diff --git a/gajim/dialogs.py b/gajim/dialogs.py new file mode 100644 index 0000000..e9e12f1 --- /dev/null +++ b/gajim/dialogs.py @@ -0,0 +1,470 @@ +# Copyright (C) 2003-2005 Vincent Hanquez +# Copyright (C) 2003-2014 Yann Leboulanger +# Copyright (C) 2005 Alex Mauer +# Copyright (C) 2005-2006 Dimitur Kirov +# Travis Shirk +# Copyright (C) 2005-2008 Nikos Kouremenos +# Copyright (C) 2006-2008 Jean-Marie Traissard +# Copyright (C) 2007 Lukas Petrovicky +# Copyright (C) 2007-2008 Brendan Taylor +# Julien Pivotto +# Stephan Erb +# Copyright (C) 2008 Jonathan Schleifer +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from typing import Dict # pylint: disable=unused-import +from typing import List # pylint: disable=unused-import +from typing import Tuple # pylint: disable=unused-import + +import uuid +import logging + +from gi.repository import Gtk +from gi.repository import Gdk + +from gajim.common.i18n import _ + +from gajim.common import app +from gajim.common import helpers +from gajim.common.exceptions import GajimGeneralException + +from gajim.gui.dialogs import ErrorDialog +from gajim.gui.util import get_icon_name +from gajim.gui.util import get_builder +from gajim.gui.util import get_app_window + +log = logging.getLogger('gajim.dialogs') + + +class EditGroupsDialog: + """ + Class for the edit group dialog window + """ + + def __init__(self, list_): + """ + list_ is a list of (contact, account) tuples + """ + self.xml = get_builder('edit_groups_dialog.ui') + self.dialog = self.xml.get_object('edit_groups_dialog') + self.dialog.set_transient_for(app.interface.roster.window) + self.list_ = list_ + self.changes_made = False + self.treeview = self.xml.get_object('groups_treeview') + if len(list_) == 1: + contact = list_[0][0] + self.xml.get_object('nickname_label').set_markup( + _('Contact name: %s') % contact.get_shown_name()) + self.xml.get_object('jid_label').set_markup( + _('XMPP Address: %s') % contact.jid) + else: + self.xml.get_object('nickname_label').set_no_show_all(True) + self.xml.get_object('nickname_label').hide() + self.xml.get_object('jid_label').set_no_show_all(True) + self.xml.get_object('jid_label').hide() + + self.xml.connect_signals(self) + self.init_list() + + self.dialog.show_all() + if self.changes_made: + for (contact, account) in self.list_: + con = app.connections[account] + con.get_module('Roster').update_contact( + contact.jid, contact.name, contact.groups) + + def on_edit_groups_dialog_response(self, widget, response_id): + if response_id == Gtk.ResponseType.CLOSE: + self.dialog.destroy() + + def remove_group(self, group): + """ + Remove group group from all contacts and all their brothers + """ + for (contact, account) in self.list_: + app.interface.roster.remove_contact_from_groups(contact.jid, + account, [group]) + + # FIXME: Ugly workaround. + # pylint: disable=undefined-loop-variable + app.interface.roster.draw_group(_('General'), account) + + def add_group(self, group): + """ + Add group group to all contacts and all their brothers + """ + for (contact, account) in self.list_: + app.interface.roster.add_contact_to_groups(contact.jid, account, + [group]) + + # FIXME: Ugly workaround. + # Maybe we haven't been in any group (defaults to General) + # pylint: disable=undefined-loop-variable + app.interface.roster.draw_group(_('General'), account) + + def on_add_button_clicked(self, widget): + group = self.xml.get_object('group_entry').get_text() + if not group: + return + # Do not allow special groups + if group in helpers.special_groups: + return + # check if it already exists + model = self.treeview.get_model() + iter_ = model.get_iter_first() + while iter_: + if model.get_value(iter_, 0) == group: + return + iter_ = model.iter_next(iter_) + self.changes_made = True + model.append((group, True, False)) + self.add_group(group) + self.init_list() # Re-draw list to sort new item + + def group_toggled_cb(self, cell, path): + self.changes_made = True + model = self.treeview.get_model() + if model[path][2]: + model[path][2] = False + model[path][1] = True + else: + model[path][1] = not model[path][1] + group = model[path][0] + if model[path][1]: + self.add_group(group) + else: + self.remove_group(group) + + def init_list(self): + store = Gtk.ListStore(str, bool, bool) + self.treeview.set_model(store) + for column in self.treeview.get_columns(): + # Clear treeview when re-drawing + self.treeview.remove_column(column) + accounts = [] + # Store groups in a list so we can sort them and the number of contacts in + # it + groups = {} + for (contact, account) in self.list_: + if account not in accounts: + accounts.append(account) + for g in app.groups[account].keys(): + if g in groups: + continue + groups[g] = 0 + c_groups = contact.groups + for g in c_groups: + groups[g] += 1 + group_list = [] + # Remove special groups if they are empty + for group in groups: + if group not in helpers.special_groups or groups[group] > 0: + group_list.append(group) + group_list.sort() + for group in group_list: + iter_ = store.append() + store.set(iter_, 0, group) # Group name + if groups[group] == 0: + store.set(iter_, 1, False) + else: + store.set(iter_, 1, True) + if groups[group] == len(self.list_): + # all contacts are in this group + store.set(iter_, 2, False) + else: + store.set(iter_, 2, True) + column = Gtk.TreeViewColumn(_('Group')) + column.set_expand(True) + self.treeview.append_column(column) + renderer = Gtk.CellRendererText() + column.pack_start(renderer, True) + column.add_attribute(renderer, 'text', 0) + + column = Gtk.TreeViewColumn(_('In the group')) + column.set_expand(False) + self.treeview.append_column(column) + renderer = Gtk.CellRendererToggle() + column.pack_start(renderer, True) + renderer.set_property('activatable', True) + renderer.connect('toggled', self.group_toggled_cb) + column.add_attribute(renderer, 'active', 1) + column.add_attribute(renderer, 'inconsistent', 2) + + +class SynchroniseSelectAccountDialog: + def __init__(self, account): + # 'account' can be None if we are about to create our first one + if not app.account_is_available(account): + ErrorDialog(_('You are not connected to the server'), + _('Without a connection, you can not synchronise your contacts.')) + raise GajimGeneralException('You are not connected to the server') + self.account = account + self.xml = get_builder('synchronise_select_account_dialog.ui') + self.dialog = self.xml.get_object('synchronise_select_account_dialog') + self.dialog.set_transient_for(get_app_window('AccountsWindow')) + self.accounts_treeview = self.xml.get_object('accounts_treeview') + model = Gtk.ListStore(str, str, bool) + self.accounts_treeview.set_model(model) + # columns + renderer = Gtk.CellRendererText() + self.accounts_treeview.insert_column_with_attributes(-1, _('Name'), + renderer, text=0) + renderer = Gtk.CellRendererText() + self.accounts_treeview.insert_column_with_attributes(-1, _('Server'), + renderer, text=1) + + self.xml.connect_signals(self) + self.init_accounts() + self.dialog.show_all() + + def on_accounts_window_key_press_event(self, widget, event): + if event.keyval == Gdk.KEY_Escape: + self.window.destroy() + + def init_accounts(self): + """ + Initialize listStore with existing accounts + """ + model = self.accounts_treeview.get_model() + model.clear() + for remote_account in app.connections: + if remote_account == self.account: + # Do not show the account we're sync'ing + continue + iter_ = model.append() + model.set(iter_, 0, remote_account, 1, + app.get_hostname_from_account(remote_account)) + + def on_cancel_button_clicked(self, widget): + self.dialog.destroy() + + def on_ok_button_clicked(self, widget): + sel = self.accounts_treeview.get_selection() + (model, iter_) = sel.get_selected() + if not iter_: + return + remote_account = model.get_value(iter_, 0) + + if not app.account_is_available(remote_account): + ErrorDialog(_('This account is not connected to the server'), + _('You cannot synchronize with an account unless it is connected.')) + return + + try: + SynchroniseSelectContactsDialog(self.account, remote_account) + except GajimGeneralException: + # if we showed ErrorDialog, there will not be dialog instance + return + self.dialog.destroy() + + @staticmethod + def on_destroy(widget): + del app.interface.instances['import_contacts'] + + +class SynchroniseSelectContactsDialog: + def __init__(self, account, remote_account): + self.local_account = account + self.remote_account = remote_account + self.xml = get_builder('synchronise_select_contacts_dialog.ui') + self.dialog = self.xml.get_object('synchronise_select_contacts_dialog') + self.contacts_treeview = self.xml.get_object('contacts_treeview') + model = Gtk.ListStore(bool, str) + self.contacts_treeview.set_model(model) + # columns + renderer1 = Gtk.CellRendererToggle() + renderer1.set_property('activatable', True) + renderer1.connect('toggled', self.toggled_callback) + self.contacts_treeview.insert_column_with_attributes(-1, + _('Synchronise'), renderer1, active=0) + renderer2 = Gtk.CellRendererText() + self.contacts_treeview.insert_column_with_attributes(-1, _('Name'), + renderer2, text=1) + + self.xml.connect_signals(self) + self.init_contacts() + self.dialog.show_all() + + def toggled_callback(self, cell, path): + model = self.contacts_treeview.get_model() + iter_ = model.get_iter(path) + model[iter_][0] = not cell.get_active() + + def on_contacts_window_key_press_event(self, widget, event): + if event.keyval == Gdk.KEY_Escape: + self.window.destroy() + + def init_contacts(self): + """ + Initialize listStore with existing accounts + """ + model = self.contacts_treeview.get_model() + model.clear() + + # recover local contacts + local_jid_list = app.contacts.get_contacts_jid_list(self.local_account) + + remote_jid_list = app.contacts.get_contacts_jid_list( + self.remote_account) + for remote_jid in remote_jid_list: + if remote_jid not in local_jid_list: + iter_ = model.append() + model.set(iter_, 0, True, 1, remote_jid) + + def on_cancel_button_clicked(self, widget): + self.dialog.destroy() + + def on_ok_button_clicked(self, widget): + model = self.contacts_treeview.get_model() + iter_ = model.get_iter_first() + while iter_: + if model[iter_][0]: + # it is selected + remote_jid = model[iter_][1] + message = 'I\'m synchronizing my contacts from my %s account, could you please add this address to your contact list?' % \ + app.get_hostname_from_account(self.remote_account) + remote_contact = app.contacts.get_first_contact_from_jid( + self.remote_account, remote_jid) + # keep same groups and same nickname + app.interface.roster.req_sub(self, remote_jid, message, + self.local_account, groups=remote_contact.groups, + nickname=remote_contact.name, auto_auth=True) + iter_ = model.iter_next(iter_) + self.dialog.destroy() + + +class TransformChatToMUC: + # Keep a reference on windows so garbage collector don't restroy them + instances = [] # type: List[TransformChatToMUC] + def __init__(self, account, jids, preselected=None): + """ + This window is used to transform a one-to-one chat to a MUC. We do 2 + things: first select the server and then make a guests list + """ + + self.instances.append(self) + self.account = account + self.auto_jids = jids + self.preselected_jids = preselected + + self.xml = get_builder('chat_to_muc_window.ui') + self.window = self.xml.get_object('chat_to_muc_window') + + for widget_to_add in ('invite_button', 'cancel_button', + 'server_list_comboboxentry', 'guests_treeview', 'guests_store', + 'server_and_guests_hseparator', 'server_select_label'): + self.__dict__[widget_to_add] = self.xml.get_object(widget_to_add) + + server_list = [] + self.servers = Gtk.ListStore(str) + self.server_list_comboboxentry.set_model(self.servers) + cell = Gtk.CellRendererText() + self.server_list_comboboxentry.pack_start(cell, True) + self.server_list_comboboxentry.add_attribute(cell, 'text', 0) + + # get the muc server of our server + con = app.connections[account] + service_jid = con.get_module('MUC').service_jid + if service_jid is not None: + server_list.append(str(service_jid)) + + # add servers or recently joined groupchats + recently_groupchat = app.settings.get_account_setting( + account, 'recent_groupchats').split() + for g in recently_groupchat: + server = app.get_server_from_jid(g) + if server not in server_list and not server.startswith('irc'): + server_list.append(server) + # add a default server + if not server_list: + server_list.append('conference.jabber.org') + + for s in server_list: + self.servers.append([s]) + + self.server_list_comboboxentry.set_active(0) + + # set treeview + # name, jid + + self.guests_store.set_sort_column_id(1, Gtk.SortType.ASCENDING) + self.guests_treeview.get_selection().set_mode(Gtk.SelectionMode.MULTIPLE) + + # All contacts beside the following can be invited: + # transports, zeroconf contacts, minimized groupchats + def invitable(contact, contact_transport=None): + return (contact.jid not in self.auto_jids and + contact.jid != app.get_jid_from_account(account) and + contact.jid not in app.interface.minimized_controls[account] and + not contact.is_transport() and + contact_transport in ('jabber', None)) + + # set jabber id and pseudos + for account_ in app.contacts.get_accounts(): + if app.connections[account_].is_zeroconf: + continue + for jid in app.contacts.get_jid_list(account_): + contact = app.contacts.get_contact_with_highest_priority( + account_, jid) + contact_transport = app.get_transport_name_from_jid(jid) + # Add contact if it can be invited + if invitable(contact, contact_transport) and \ + contact.show not in ('offline', 'error'): + icon_name = get_icon_name(contact.show) + name = contact.name + if name == '': + name = jid.split('@')[0] + iter_ = self.guests_store.append([icon_name, name, jid]) + # preselect treeview rows + if self.preselected_jids and jid in self.preselected_jids: + path = self.guests_store.get_path(iter_) + self.guests_treeview.get_selection().select_path(path) + + # show all + self.window.show_all() + + self.xml.connect_signals(self) + + def on_chat_to_muc_window_destroy(self, widget): + self.instances.remove(self) + + def on_chat_to_muc_window_key_press_event(self, widget, event): + if event.keyval == Gdk.KEY_Escape: # ESCAPE + self.window.destroy() + + def on_invite_button_clicked(self, widget): + row = self.server_list_comboboxentry.get_child().get_displayed_row() + model = self.server_list_comboboxentry.get_model() + server = model[row][0].strip() + if server == '': + return + + guest_list = [] + guests = self.guests_treeview.get_selection().get_selected_rows() + for guest in guests[1]: + iter_ = self.guests_store.get_iter(guest) + guest_list.append(self.guests_store[iter_][2]) + for guest in self.auto_jids: + guest_list.append(guest) + room_jid = str(uuid.uuid4()) + '@' + server + app.automatic_rooms[self.account][room_jid] = {} + app.automatic_rooms[self.account][room_jid]['invities'] = guest_list + app.automatic_rooms[self.account][room_jid]['continue_tag'] = True + app.interface.create_groupchat(self.account, room_jid) + self.window.destroy() + + def on_cancel_button_clicked(self, widget): + self.window.destroy() diff --git a/gajim/gajim.py b/gajim/gajim.py new file mode 100644 index 0000000..4fb6f27 --- /dev/null +++ b/gajim/gajim.py @@ -0,0 +1,160 @@ +# Copyright (C) 2018 Philipp Hörist +# +# This file is part of Gajim. +# +# Gajim is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Gajim 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 Gajim. If not, see . + + +import os +import sys +import signal +import platform +from ctypes import CDLL, byref, create_string_buffer +from ctypes.util import find_library +from packaging.version import Version as V + +import gajim.gui +from gajim.common import i18n + + +_MIN_NBXMPP_VER = '2.0.4' +_MIN_GTK_VER = '3.22.27' +_MIN_CAIRO_VER = '1.16.0' +_MIN_PYGOBJECT_VER = '3.32.0' +_MIN_GLIB_VER = '2.60.0' + + +def check_version(dep_name, current_ver, min_ver): + if V(current_ver) < V(min_ver): + sys.exit('Gajim needs %s >= %s (found %s) to run. ' + 'Quitting...' % (dep_name, min_ver, current_ver)) + + +def _check_required_deps(): + error_message = 'Gajim needs %s to run. Quitting… (Error: %s)' + + try: + import nbxmpp + except ImportError as error: + sys.exit(error_message % ('python-nbxmpp', error)) + + try: + import gi + except ImportError as error: + sys.exit(error_message % ('pygobject', error)) + + try: + gi.require_versions({'GLib': '2.0', + 'Gio': '2.0', + 'Gtk': '3.0', + 'GObject': '2.0', + 'Pango': '1.0', + 'Soup': '2.4'}) + except ValueError as error: + sys.exit('Missing dependency: %s' % error) + + try: + import cairo + except ImportError as error: + sys.exit(error_message % ('python-cairo', error)) + + from gi.repository import Gtk + gtk_ver = '%s.%s.%s' % (Gtk.get_major_version(), + Gtk.get_minor_version(), + Gtk.get_micro_version()) + + from gi.repository import GLib + glib_ver = '.'.join(map(str, [GLib.MAJOR_VERSION, + GLib.MINOR_VERSION, + GLib.MICRO_VERSION])) + + check_version('python-nbxmpp', nbxmpp.__version__, _MIN_NBXMPP_VER) + check_version('pygobject', gi.__version__, _MIN_PYGOBJECT_VER) + check_version('libcairo', cairo.cairo_version_string(), _MIN_CAIRO_VER) + check_version('python-cairo', cairo.version, _MIN_CAIRO_VER) + check_version('gtk3', gtk_ver, _MIN_GTK_VER) + check_version('glib', glib_ver, _MIN_GLIB_VER) + + +def _init_gui(gui): + if gui == 'GTK': + _init_gtk() + + +def _disable_csd(): + if sys.platform != 'win32': + return + + if 'GTK_CSD' in os.environ: + # Respect user settings + return + + os.environ['GTK_CSD'] = '0' + + +def _init_gtk(): + gajim.gui.init('gtk') + + from gajim.gui import exception + exception.init() + + i18n.initialize_direction_mark() + + +def _run_app(): + from gajim.application import GajimApplication + application = GajimApplication() + _install_sginal_handlers(application) + application.run(sys.argv) + + +def _set_proc_title(): + sysname = platform.system() + if sysname in ('Linux', 'FreeBSD', 'OpenBSD', 'NetBSD'): + libc = CDLL(find_library('c')) + + # The constant defined in which is used to set the name + # of the process. + PR_SET_NAME = 15 + + if sysname == 'Linux': + proc_name = b'gajim' + buff = create_string_buffer(len(proc_name)+1) + buff.value = proc_name + libc.prctl(PR_SET_NAME, byref(buff), 0, 0, 0) + elif sysname in ('FreeBSD', 'OpenBSD', 'NetBSD'): + libc.setproctitle('gajim') + + +def _install_sginal_handlers(application): + def sigint_cb(num, stack): + print('SIGINT/SIGTERM received') + application.quit() + # ^C exits the application normally + signal.signal(signal.SIGINT, sigint_cb) + signal.signal(signal.SIGTERM, sigint_cb) + if sys.platform != 'win32': + signal.signal(signal.SIGPIPE, signal.SIG_DFL) + + +def main(): + if sys.platform != 'win32': + if os.geteuid() == 0: + sys.exit('You must not launch gajim as root, it is insecure.') + + _check_required_deps() + _set_proc_title() + _disable_csd() + _init_gui('GTK') + _run_app() diff --git a/gajim/gajim_remote.py b/gajim/gajim_remote.py new file mode 100644 index 0000000..125fd5a --- /dev/null +++ b/gajim/gajim_remote.py @@ -0,0 +1,458 @@ +#!/usr/bin/env python3 + +# Copyright (C) 2005-2006 Dimitur Kirov +# Nikos Kouremenos +# Copyright (C) 2005-2014 Yann Leboulanger +# Copyright (C) 2006 Junglecow +# Travis Shirk +# Copyright (C) 2006-2008 Jean-Marie Traissard +# Copyright (C) 2007 Julien Pivotto +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# gajim-remote help will show you the D-BUS API of Gajim + +import os +import sys +import locale +import signal + +from gajim.common import exceptions +from gajim.common.i18n import _ +from gajim.common.i18n import Q_ + +signal.signal(signal.SIGINT, signal.SIG_DFL) # ^C exits the application + +try: + PREFERRED_ENCODING = locale.getpreferredencoding() +except Exception: + PREFERRED_ENCODING = 'UTF-8' + +def send_error(error_message): + '''Writes error message to stderr and exits''' + print(error_message, file=sys.stderr) + sys.exit(1) + +try: + import dbus + import dbus.service +# import dbus.glib + # test if dbus-x11 is installed + bus = dbus.SessionBus() +except Exception: + print(_('D-Bus is not present on this machine or python module is missing')) + sys.exit(1) + +OBJ_PATH = '/org/gajim/dbus/RemoteObject' +INTERFACE = 'org.gajim.dbus.RemoteInterface' +SERVICE = 'org.gajim.Gajim' +BASENAME = 'gajim-remote' + +class GajimRemote: + + def __init__(self): + self.argv_len = len(sys.argv) + # define commands dict. Prototype : + # { + # 'command': [comment, [list of arguments] ] + # } + # + # each argument is defined as a tuple: + # (argument name, help on argument, is mandatory) + # + self.commands = { + 'help': [ + _('Shows a help on specific command'), + [ + #User gets help for the command, specified by this parameter + (_('command'), + _('show help on command'), False) + ] + ], + 'list_contacts': [ + _('Lists all contacts in the contact list, one for each line'), + [ + (Q_('?CLI:account'), _('show only contacts of the given account'), + False) + ] + + ], + 'list_accounts': [ + _('Prints a list of registered accounts'), + [] + ], + 'change_status': [ + _('Changes the status of account(s)'), + [ +#offline, online, chat, away, xa, dnd should not be translated + (Q_('?CLI:status'), _('one of: offline, online, chat, away, xa, dnd. If not set, use account\'s previous status'), False), + (Q_('?CLI:message'), _('status message'), False), + (Q_('?CLI:account'), _('change status of account "account". ' + 'If not specified, try to change status of all accounts that have ' + '"sync with global status" option set'), False) + ] + ], + 'set_priority': [ + _('Changes the priority of account(s)'), + [ + (Q_('?CLI:priority'), _('priority you want to give to the account'), + True), + (Q_('?CLI:account'), _('change the priority of the given account. ' + 'If not specified, change status of all accounts that have' + ' "sync with global status" option set'), False) + ] + ], + 'send_chat_message': [ + _('Sends new chat message to a contact in the contact list. Account is optional.'), + [ + ('jid', _('XMPP Address of the contact that will receive the message'), True), + (Q_('?CLI:message'), _('message contents'), True), + (Q_('?CLI:account'), _('if specified, the message will be sent ' + 'using this account'), False), + ] + ], + 'send_single_message': [ + _('Sends a chat message to someone on your contact list. ' + 'Account is optional.'), + [ + ('jid', _('XMPP Address of the contact that will receive the message'), True), + (_('subject'), _('message subject'), True), + (Q_('?CLI:message'), _('message contents'), True), + (Q_('?CLI:account'), _('if specified, the message will be sent ' + 'using this account'), False), + ] + ], + 'send_groupchat_message': [ + _('Sends new message to a group chat you\'ve joined.'), + [ + ('room_jid', _('XMPP Address of the group chat that will receive the message'), True), + (Q_('?CLI:message'), _('message contents'), True), + (Q_('?CLI:account'), _('if specified, the message will be sent ' + 'using this account'), False), + ] + ], + 'contact_info': [ + _('Gets detailed info on a contact'), + [ + ('jid', _('XMPP Address of the contact'), True) + ] + ], + 'account_info': [ + _('Gets detailed info on a account'), + [ + ('account', _('Name of the account'), True) + ] + ], + 'send_file': [ + _('Sends file to a contact'), + [ + (_('file'), _('File path'), True), + ('jid', _('XMPP Address of the contact'), True), + (Q_('?CLI:account'), _('if specified, file will be sent using this ' + 'account'), False) + ] + ], + 'remove_contact': [ + _('Removes contact from contact list'), + [ + ('jid', _('XMPP Address of the contact'), True), + (Q_('?CLI:account'), _('if specified, contact is taken from the ' + 'contact list of this account'), False) + + ] + ], + + 'get_status': [ + _('Returns current status (the global one unless account is specified)'), + [ + (Q_('?CLI:account'), '', False) + ] + ], + + 'get_status_message': [ + _('Returns current status message (the global one unless account is specified)'), + [ + (Q_('?CLI:account'), '', False) + ] + ], + + 'get_unread_msgs_number': [ + _('Returns number of unread messages'), + [] + ], + + 'send_xml': [ + _('Sends custom XML'), + [ + ('xml', _('XML to send'), True), + ('account', _('Account to which the XML will be sent; ' + 'if not specified, XML will be sent to all accounts'), + False) + ] + ], + + 'check_gajim_running': [ + _('Check if Gajim is running'), + [] + ], + + } + + self.sbus = None + if self.argv_len < 2 or sys.argv[1] not in self.commands.keys(): + # no args or bad args + send_error(self.compose_help()) + self.command = sys.argv[1] + if self.command == 'help': + if self.argv_len == 3: + print(self.help_on_command(sys.argv[2]).encode( + PREFERRED_ENCODING)) + else: + print(self.compose_help().encode(PREFERRED_ENCODING)) + sys.exit(0) + if self.command == 'check_gajim_running': + print(self.check_gajim_running()) + sys.exit(0) + self.init_connection() + self.check_arguments() + + if self.command == 'contact_info': + if self.argv_len < 3: + send_error(_('Missing argument "contact_jid"')) + + try: + res = self.call_remote_method() + except exceptions.ServiceNotAvailable: + # At this point an error message has already been displayed + sys.exit(1) + else: + self.print_result(res) + + def print_result(self, res): + """ + Print retrieved result to the output + """ + if res is not None: + if self.command in ('send_chat_message', 'send_single_message'): + self.argv_len -= 2 + + if res is False: + if self.argv_len < 4: + send_error(_('\'%s\' is not in your contact list.\n' + 'Please specify account for sending the message.') % sys.argv[2]) + else: + send_error(_('You have no active account')) + elif self.command == 'list_accounts': + if isinstance(res, list): + for account in res: + print(account) + elif self.command == 'account_info': + if res: + print(self.print_info(0, res, True)) + elif self.command == 'list_contacts': + for account_dict in res: + print(self.print_info(0, account_dict, True)) + elif self.command == 'prefs_list': + pref_keys = sorted(res.keys()) + for pref_key in pref_keys: + result = '%s = %s' % (pref_key, res[pref_key]) + print(result) + elif self.command == 'contact_info': + print(self.print_info(0, res, True)) + elif res: + print(res) + + def check_gajim_running(self): + if not self.sbus: + try: + self.sbus = dbus.SessionBus() + except Exception: + raise exceptions.SessionBusNotPresent + + test = False + if hasattr(self.sbus, 'name_has_owner'): + if self.sbus.name_has_owner(SERVICE): + test = True + elif dbus.dbus_bindings.bus_name_has_owner(self.sbus.get_connection(), + SERVICE): + test = True + return test + + def init_connection(self): + """ + Create the connection to the session dbus, or exit if it is not possible + """ + try: + self.sbus = dbus.SessionBus() + except Exception: + raise exceptions.SessionBusNotPresent + + if not self.check_gajim_running(): + #Do not translate "gajim-remote" + send_error(_('It seems Gajim is not running. So you can\'t use gajim-remote.')) + obj = self.sbus.get_object(SERVICE, OBJ_PATH) + interface = dbus.Interface(obj, INTERFACE) + + # get the function asked + self.method = interface.__getattr__(self.command) + + def make_arguments_row(self, args): + """ + Return arguments list. Mandatory arguments are enclosed with: + '<', '>', optional arguments - with '[', ']' + """ + s = '' + for arg in args: + if arg[2]: + s += ' <' + arg[0] + '>' + else: + s += ' [' + arg[0] + ']' + return s + + def help_on_command(self, command): + """ + Return help message for a given command + """ + if command in self.commands: + command_props = self.commands[command] + arguments_str = self.make_arguments_row(command_props[1]) + str_ = _('Usage: %(basename)s %(command)s %(arguments)s \n\t %(help)s')\ + % {'basename': BASENAME, 'command': command, + 'arguments': arguments_str, 'help': command_props[0]} + if command_props[1]: + str_ += '\n\n' + _('Arguments:') + '\n' + for argument in command_props[1]: + str_ += ' ' + argument[0] + ' - ' + argument[1] + '\n' + return str_ + send_error(_('%s not found') % command) + + def compose_help(self): + """ + Print usage, and list available commands + """ + s = _('Usage:\n %s command [arguments]\n\nCommand is one of:\n') % ( + BASENAME) + for command in sorted(self.commands): + s += ' ' + command + for arg in self.commands[command][1]: + if arg[2]: + s += ' <' + arg[0] + '>' + else: + s += ' [' + arg[0] + ']' + s += '\n' + return s + + def print_info(self, level, prop_dict, encode_return=False): + """ + Return formatted string from data structure + """ + if prop_dict is None or not isinstance(prop_dict, (dict, list, tuple)): + return '' + ret_str = '' + if isinstance(prop_dict, (list, tuple)): + ret_str = '' + spacing = ' ' * level * 4 + for val in prop_dict: + if val is None: + ret_str += '\t' + elif isinstance(val, int): + ret_str += '\t' + str(val) + elif isinstance(val, str): + ret_str += '\t' + val + elif isinstance(val, (list, tuple)): + res = '' + for items in val: + res += self.print_info(level+1, items) + if res != '': + ret_str += '\t' + res + elif isinstance(val, dict): + ret_str += self.print_info(level+1, val) + ret_str = '%s(%s)\n' % (spacing, ret_str[1:]) + elif isinstance(prop_dict, dict): + for key in prop_dict.keys(): + val = prop_dict[key] + spacing = ' ' * level * 4 + if isinstance(val, (int, str)): + if val is not None: + val = val.strip() + ret_str += '%s%-10s: %s\n' % (spacing, key, val) + elif isinstance(val, (list, tuple)): + res = '' + for items in val: + res += self.print_info(level+1, items) + if res != '': + ret_str += '%s%s: \n%s' % (spacing, key, res) + elif isinstance(val, dict): + res = self.print_info(level+1, val) + if res != '': + ret_str += '%s%s: \n%s' % (spacing, key, res) + if encode_return: + try: + ret_str = ret_str.encode(PREFERRED_ENCODING) + except Exception: + pass + return ret_str + + def check_arguments(self): + """ + Make check if all necessary arguments are given + """ + argv_len = self.argv_len - 2 + args = self.commands[self.command][1] + if len(args) < argv_len: + send_error(_('Too many arguments. \n' + 'Type "%(basename)s help %(command)s" for more info') % { + 'basename': BASENAME, 'command': self.command}) + if len(args) > argv_len: + if args[argv_len][2]: + send_error(_('Argument "%(arg)s" is not specified. \n' + 'Type "%(basename)s help %(command)s" for more info') % + {'arg': args[argv_len][0], 'basename': BASENAME, + 'command': self.command}) + self.arguments = [] + i = 0 + for arg in sys.argv[2:]: + i += 1 + if i < len(args): + self.arguments.append(arg) + else: + # it's latest argument with spaces + self.arguments.append(' '.join(sys.argv[i+1:])) + break + # add empty string for missing args + self.arguments += ['']*(len(args)-i) + + def call_remote_method(self): + """ + Calls self.method with arguments from sys.argv[2:] + """ + args = [dbus.String(i) for i in self.arguments] + try: + res = self.method(*args) + return res + except Exception: + raise exceptions.ServiceNotAvailable + return None + + +def main(): + if os.geteuid() == 0: + sys.exit("You must not launch gajim as root, it is insecure.") + + GajimRemote() + + +if __name__ == '__main__': + main() diff --git a/gajim/groupchat_control.py b/gajim/groupchat_control.py new file mode 100644 index 0000000..5032b5d --- /dev/null +++ b/gajim/groupchat_control.py @@ -0,0 +1,2105 @@ +# Copyright (C) 2003-2014 Yann Leboulanger +# Copyright (C) 2005-2007 Nikos Kouremenos +# Copyright (C) 2006 Dimitur Kirov +# Alex Mauer +# Copyright (C) 2006-2008 Jean-Marie Traissard +# Travis Shirk +# Copyright (C) 2007-2008 Julien Pivotto +# Stephan Erb +# Copyright (C) 2008 Brendan Taylor +# Jonathan Schleifer +# Copyright (C) 2018 Marcin Mielniczuk +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import time +import logging + +from nbxmpp.namespaces import Namespace +from nbxmpp.protocol import InvalidJid +from nbxmpp.protocol import validate_resourcepart +from nbxmpp.const import StatusCode +from nbxmpp.const import Affiliation +from nbxmpp.const import PresenceType +from nbxmpp.errors import StanzaError +from nbxmpp.modules.vcard_temp import VCard + +from gi.repository import Gtk +from gi.repository import Gdk +from gi.repository import GLib +from gi.repository import Gio + +from gajim import gtkgui_helpers +from gajim import gui_menu_builder +from gajim.vcard import VcardWindow + +from gajim.common import events +from gajim.common import app +from gajim.common import ged +from gajim.common import helpers +from gajim.common.helpers import event_filter +from gajim.common.helpers import to_user_string +from gajim.common.helpers import allow_popup_window +from gajim.common.const import AvatarSize + +from gajim.common.i18n import _ +from gajim.common.const import Chatstate +from gajim.common.const import MUCJoinedState +from gajim.common.structs import OutgoingMessage + +from gajim.chat_control_base import ChatControlBase + +from gajim.command_system.implementation.hosts import GroupChatCommands + +from gajim.gui.dialogs import DialogButton +from gajim.gui.dialogs import ConfirmationCheckDialog +from gajim.gui.dialogs import ConfirmationDialog +from gajim.gui.filechoosers import AvatarChooserDialog +from gajim.gui.groupchat_config import GroupchatConfig +from gajim.gui.adhoc import AdHocCommand +from gajim.gui.dataform import DataFormWidget +from gajim.gui.groupchat_info import GroupChatInfoScrolled +from gajim.gui.groupchat_invite import GroupChatInvite +from gajim.gui.groupchat_settings import GroupChatSettings +from gajim.gui.groupchat_roster import GroupchatRoster +from gajim.gui.util import NickCompletionGenerator +from gajim.gui.util import get_app_window +from gajim.gui.const import ControlType + +log = logging.getLogger('gajim.groupchat_control') + + +class GroupchatControl(ChatControlBase): + + _type = ControlType.GROUPCHAT + + # Set a command host to bound to. Every command given through a group chat + # will be processed with this command host. + COMMAND_HOST = GroupChatCommands + + def __init__(self, parent_win, contact, muc_data, acct): + ChatControlBase.__init__(self, + parent_win, + 'groupchat_control', + contact, + acct) + self.force_non_minimizable = False + self.is_anonymous = True + + self.toggle_emoticons() + + self.room_jid = self.contact.jid + self._muc_data = muc_data + + # Stores nickname we want to kick + self._kick_nick = None + + # Stores nickname we want to ban + self._ban_jid = None + + # Last sent message text + self.last_sent_txt = '' + + # Attribute, encryption plugins use to signal the message can be sent + self.sendmessage = False + + self.roster = GroupchatRoster(self.account, self.room_jid, self) + self.xml.roster_revealer.add(self.roster) + self.roster.connect('row-activated', self._on_roster_row_activated) + + if parent_win is not None: + # On AutoJoin with minimize Groupchats are created without parent + # Tooltip Window and Actions have to be created with parent + self.roster.enable_tooltips() + self.add_actions() + GLib.idle_add(self.update_actions) + self.scale_factor = parent_win.window.get_scale_factor() + else: + self.scale_factor = app.interface.roster.scale_factor + + if not app.settings.get('hide_groupchat_banner'): + self.xml.banner_eventbox.set_no_show_all(False) + + # muc attention flag (when we are mentioned in a muc) + # if True, the room has mentioned us + self.attention_flag = False + + # True if we initiated room destruction + self._wait_for_destruction = False + + # sorted list of nicks who mentioned us (last at the end) + self.attention_list = [] + self.nick_hits = [] + self._nick_completion = NickCompletionGenerator(muc_data.nick) + self.last_key_tabs = False + + self.setup_seclabel() + + # Send file + self.xml.sendfile_button.set_action_name( + 'win.send-file-%s' % self.control_id) + + # Encryption + self.set_lock_image() + + self.xml.encryption_menu.set_menu_model( + gui_menu_builder.get_encryption_menu(self.control_id, self._type)) + self.set_encryption_menu_icon() + + # Banner + self.hide_roster_button = Gtk.Button.new_from_icon_name( + 'go-next-symbolic', Gtk.IconSize.MENU) + self.hide_roster_button.set_valign(Gtk.Align.CENTER) + self.hide_roster_button.connect('clicked', + lambda *args: self.show_roster()) + self.xml.banner_actionbar.pack_end(self.hide_roster_button) + + self._update_avatar() + + # Holds CaptchaRequest widget + self._captcha_request = None + + # MUC Info + self._subject_data = None + self._muc_info_box = GroupChatInfoScrolled(self.account, {'width': 600}) + self.xml.info_box.add(self._muc_info_box) + + # Groupchat settings + self._groupchat_settings_box = None + + # Groupchat invite + self.xml.quick_invite_button.set_action_name( + 'win.invite-%s' % self.control_id) + + self._invite_box = GroupChatInvite(self.room_jid) + self.xml.invite_grid.attach(self._invite_box, 0, 0, 1, 1) + self._invite_box.connect('listbox-changed', self._on_invite_ready) + + self.control_menu = gui_menu_builder.get_groupchat_menu(self.control_id, + self.account, + self.room_jid) + + self.xml.settings_menu.set_menu_model(self.control_menu) + + # pylint: disable=line-too-long + self.register_events([ + ('muc-creation-failed', ged.GUI1, self._on_muc_creation_failed), + ('muc-joined', ged.GUI1, self._on_muc_joined), + ('muc-join-failed', ged.GUI1, self._on_muc_join_failed), + ('muc-user-joined', ged.GUI1, self._on_user_joined), + ('muc-user-left', ged.GUI1, self._on_user_left), + ('muc-nickname-changed', ged.GUI1, self._on_nickname_changed), + ('muc-self-presence', ged.GUI1, self._on_self_presence), + ('muc-self-kicked', ged.GUI1, self._on_self_kicked), + ('muc-user-affiliation-changed', ged.GUI1, self._on_affiliation_changed), + ('muc-user-status-show-changed', ged.GUI1, self._on_status_show_changed), + ('muc-user-role-changed', ged.GUI1, self._on_role_changed), + ('muc-destroyed', ged.GUI1, self._on_destroyed), + ('muc-presence-error', ged.GUI1, self._on_presence_error), + ('muc-password-required', ged.GUI1, self._on_password_required), + ('muc-config-changed', ged.GUI1, self._on_config_changed), + ('muc-subject', ged.GUI1, self._on_subject), + ('muc-captcha-challenge', ged.GUI1, self._on_captcha_challenge), + ('muc-captcha-error', ged.GUI1, self._on_captcha_error), + ('muc-voice-request', ged.GUI1, self._on_voice_request), + ('muc-disco-update', ged.GUI1, self._on_disco_update), + ('muc-configuration-finished', ged.GUI1, self._on_configuration_finished), + ('muc-configuration-failed', ged.GUI1, self._on_configuration_failed), + ('gc-message-received', ged.GUI1, self._on_gc_message_received), + ('mam-decrypted-message-received', ged.GUI1, self._on_mam_decrypted_message_received), + ('update-room-avatar', ged.GUI1, self._on_update_room_avatar), + ('signed-in', ged.GUI1, self._on_signed_in), + ('decrypted-message-received', ged.GUI2, self._on_decrypted_message_received), + ('message-sent', ged.OUT_POSTCORE, self._on_message_sent), + ('message-error', ged.GUI1, self._on_message_error), + ('bookmarks-received', ged.GUI2, self._on_bookmarks_received), + ]) + + app.settings.connect_signal('gc_print_join_left_default', self.update_actions) + app.settings.connect_signal('gc_print_status_default', self.update_actions) + + # pylint: enable=line-too-long + + self.is_connected = False + # disable win, we are not connected yet + ChatControlBase.got_disconnected(self) + + # Stack + self.xml.stack.show_all() + self.xml.stack.set_visible_child_name('progress') + self.xml.progress_spinner.start() + + self.update_ui() + self.widget.show_all() + + if app.settings.get('hide_groupchat_occupants_list'): + # Roster is shown by default, so toggle the roster button to hide it + self.show_roster() + + # PluginSystem: adding GUI extension point for this GroupchatControl + # instance object + app.plugin_manager.gui_extension_point('groupchat_control', self) + self._restore_conversation() + + @property + def nick(self): + return self._muc_data.nick + + @property + def subject(self): + if self._subject_data is None: + return '' + return self._subject_data.subject + + @property + def room_name(self): + return self.contact.get_shown_name() + + @property + def disco_info(self): + return app.storage.cache.get_last_disco_info(self.contact.jid) + + def add_actions(self): + super().add_actions() + actions = [ + ('groupchat-settings-', None, self._on_groupchat_settings), + ('rename-groupchat-', None, self._on_rename_groupchat), + ('change-subject-', None, self._on_change_subject), + ('change-nickname-', None, self._on_change_nick), + ('disconnect-', None, self._on_disconnect), + ('destroy-', None, self._on_destroy_room), + ('configure-', None, self._on_configure_room), + ('request-voice-', None, self._on_request_voice), + ('upload-avatar-', None, self._on_upload_avatar), + ('information-', None, self._on_information), + ('invite-', None, self._on_invite), + ('contact-information-', 's', self._on_contact_information), + ('execute-command-', 's', self._on_execute_command), + ('ban-', 's', self._on_ban), + ('kick-', 's', self._on_kick), + ('change-role-', 'as', self._on_change_role), + ('change-affiliation-', 'as', self._on_change_affiliation), + ] + + for action in actions: + action_name, variant, func = action + if variant is not None: + variant = GLib.VariantType.new(variant) + act = Gio.SimpleAction.new(action_name + self.control_id, variant) + act.connect("activate", func) + self.parent_win.window.add_action(act) + + def update_actions(self, *args): + if self.parent_win is None: + return + + contact = app.contacts.get_gc_contact( + self.account, self.room_jid, self.nick) + con = app.connections[self.account] + + # Destroy Room + self._get_action('destroy-').set_enabled(self.is_connected and + contact.affiliation.is_owner) + + # Configure Room + self._get_action('configure-').set_enabled( + self.is_connected and contact.affiliation in (Affiliation.ADMIN, + Affiliation.OWNER)) + + self._get_action('request-voice-').set_enabled(self.is_connected and + contact.role.is_visitor) + + # Change Subject + subject_change = self._is_subject_change_allowed() + self._get_action('change-subject-').set_enabled(self.is_connected and + subject_change) + + # Change Nick + self._get_action('change-nickname-').set_enabled(self.is_connected) + + # Execute command + self._get_action('execute-command-').set_enabled(self.is_connected) + + # Send message + has_text = self.msg_textview.has_text() + self._get_action('send-message-').set_enabled( + self.is_connected and has_text) + + # Send file (HTTP File Upload) + httpupload = self._get_action( + 'send-file-httpupload-') + httpupload.set_enabled(self.is_connected and + con.get_module('HTTPUpload').available) + self._get_action('send-file-').set_enabled(httpupload.get_enabled()) + + if self.is_connected and httpupload.get_enabled(): + tooltip_text = _('Send File…') + max_file_size = con.get_module('HTTPUpload').max_file_size + if max_file_size is not None: + max_file_size = max_file_size / (1024 * 1024) + tooltip_text = _('Send File (max. %s MiB)…') % max_file_size + else: + tooltip_text = _('No File Transfer available') + self.xml.sendfile_button.set_tooltip_text(tooltip_text) + + # Upload Avatar + vcard_support = False + if self.disco_info is not None: + vcard_support = self.disco_info.supports(Namespace.VCARD) + self._get_action('upload-avatar-').set_enabled( + self.is_connected and + vcard_support and + contact.affiliation.is_owner) + + self._get_action('contact-information-').set_enabled(self.is_connected) + + self._get_action('execute-command-').set_enabled(self.is_connected) + + self._get_action('ban-').set_enabled(self.is_connected) + + self._get_action('kick-').set_enabled(self.is_connected) + + def remove_actions(self): + super().remove_actions() + actions = [ + 'groupchat-settings-', + 'rename-groupchat-', + 'change-subject-', + 'change-nickname-', + 'disconnect-', + 'destroy-', + 'configure-', + 'request-voice-', + 'upload-avatar-', + 'information-', + 'invite-', + 'contact-information-', + 'execute-command-', + 'ban-', + 'kick-', + 'change-role-', + 'change-affiliation-', + ] + + for action in actions: + self.parent_win.window.remove_action(f'{action}{self.control_id}') + + def _restore_conversation(self): + rows = app.storage.archive.load_groupchat_messages( + self.account, self.contact.jid) + + for row in rows: + other_tags_for_name = ['muc_nickname_color_%s' % row.contact_name] + ChatControlBase.add_message(self, + row.message, + 'incoming', + row.contact_name, + float(row.time), + other_tags_for_name=other_tags_for_name, + message_id=row.message_id, + restored=True, + additional_data=row.additional_data) + + if rows: + self.conv_textview.print_empty_line() + + def _is_subject_change_allowed(self): + contact = app.contacts.get_gc_contact( + self.account, self.room_jid, self.nick) + if contact is None: + return False + + if contact.affiliation in (Affiliation.OWNER, Affiliation.ADMIN): + return True + + if self.disco_info is None: + return False + return self.disco_info.muc_subjectmod or False + + def _get_action(self, name): + win = self.parent_win.window + return win.lookup_action(name + self.control_id) + + def _show_page(self, name): + transition = Gtk.StackTransitionType.SLIDE_DOWN + if name == 'groupchat': + transition = Gtk.StackTransitionType.SLIDE_UP + self.msg_textview.grab_focus() + if name == 'muc-info': + # Set focus on the close button, otherwise one of + # the selectable labels of the GroupchatInfo box gets focus, + # which means it is fully selected + self.xml.info_close_button.grab_focus() + self.xml.stack.set_visible_child_full(name, transition) + + def _get_current_page(self): + return self.xml.stack.get_visible_child_name() + + @event_filter(['account', 'room_jid']) + def _on_disco_update(self, _event): + if self.parent_win is None: + return + self.update_actions() + self.draw_banner_text() + + # Actions + def _on_disconnect(self, _action, _param): + self.leave() + + def _on_information(self, _action, _param): + self._muc_info_box.set_from_disco_info(self.disco_info) + if self._subject_data is not None: + self._muc_info_box.set_subject(self._subject_data.subject) + self._muc_info_box.set_author(self._subject_data.nickname, + self._subject_data.user_timestamp) + self._show_page('muc-info') + + def _on_groupchat_settings(self, _action, _param): + if self._groupchat_settings_box is not None: + self.xml.settings_scrolled_box.remove(self._groupchat_settings_box) + self._groupchat_settings_box.destroy() + + self._groupchat_settings_box = GroupChatSettings( + self.account, self.room_jid) + self._groupchat_settings_box.show_all() + self.xml.settings_scrolled_box.add(self._groupchat_settings_box) + self._show_page('muc-settings') + + def _on_invite(self, _action, _param): + self._invite_box.load_contacts() + self._show_page('invite') + + def _on_invite_ready(self, _, invitable): + self.xml.invite_button.set_sensitive(invitable) + + def _on_invite_clicked(self, _button): + invitees = self._invite_box.get_invitees() + for jid in invitees: + self.invite(jid) + self._show_page('groupchat') + + def invite(self, contact_jid): + con = app.connections[self.account] + message_id = con.get_module('MUC').invite(self.room_jid, contact_jid) + self.add_info_message( + _('%s has been invited to this group chat') % contact_jid, + message_id=message_id) + + def _on_destroy_room(self, _action, _param): + self.xml.destroy_reason_entry.grab_focus() + self.xml.destroy_button.grab_default() + self._show_page('destroy') + + def _on_destroy_alternate_changed(self, entry, _param): + jid = entry.get_text() + if jid: + try: + jid = helpers.validate_jid(jid) + except Exception: + icon = 'dialog-warning-symbolic' + text = _('Invalid XMPP Address') + self.xml.destroy_alternate_entry.set_icon_from_icon_name( + Gtk.EntryIconPosition.SECONDARY, icon) + self.xml.destroy_alternate_entry.set_icon_tooltip_text( + Gtk.EntryIconPosition.SECONDARY, text) + self.xml.destroy_button.set_sensitive(False) + return + self.xml.destroy_alternate_entry.set_icon_from_icon_name( + Gtk.EntryIconPosition.SECONDARY, None) + self.xml.destroy_button.set_sensitive(True) + + def _on_destroy_confirm(self, _button): + reason = self.xml.destroy_reason_entry.get_text() + jid = self.xml.destroy_alternate_entry.get_text() + self._wait_for_destruction = True + con = app.connections[self.account] + con.get_module('MUC').destroy(self.room_jid, reason, jid) + self._show_page('groupchat') + + def _on_configure_room(self, _action, _param): + win = get_app_window('GroupchatConfig', self.account, self.room_jid) + if win is not None: + win.present() + return + + contact = app.contacts.get_gc_contact( + self.account, self.room_jid, self.nick) + if contact.affiliation.is_owner: + con = app.connections[self.account] + con.get_module('MUC').request_config( + self.room_jid, callback=self._on_configure_form_received) + elif contact.affiliation.is_admin: + GroupchatConfig(self.account, + self.room_jid, + contact.affiliation.value) + + def _on_configure_form_received(self, task): + try: + result = task.finish() + except StanzaError as error: + log.info(error) + return + GroupchatConfig(self.account, result.jid, 'owner', result.form) + + def _on_request_voice(self, _action, _param): + """ + Request voice in the current room + """ + con = app.connections[self.account] + con.get_module('MUC').request_voice(self.room_jid) + + def _on_execute_command(self, _action, param): + jid = self.room_jid + nick = param.get_string() + if nick: + jid += '/' + nick + AdHocCommand(self.account, jid) + + def _on_upload_avatar(self, _action, _param): + def _on_accept(filename): + data, sha = app.interface.avatar_storage.prepare_for_publish( + filename) + if sha is None: + self.add_info_message(_('Loading avatar failed')) + return + + vcard = VCard() + vcard.set_avatar(data, 'image/png') + + con = app.connections[self.account] + con.get_module('VCardTemp').set_vcard( + vcard, + jid=self.room_jid, + callback=self._on_upload_avatar_result) + + AvatarChooserDialog(_on_accept, + transient_for=self.parent_win.window, + modal=True) + + def _on_upload_avatar_result(self, task): + try: + task.finish() + except Exception as error: + self.add_info_message(_('Avatar upload failed: %s') % error) + + else: + self.add_info_message(_('Avatar upload successful')) + + def _on_contact_information(self, _action, param): + nick = param.get_string() + gc_contact = app.contacts.get_gc_contact(self.account, + self.room_jid, + nick) + contact = gc_contact.as_contact() + if contact.jid in app.interface.instances[self.account]['infos']: + app.interface.instances[self.account]['infos'][contact.jid].\ + window.present() + else: + app.interface.instances[self.account]['infos'][contact.jid] = \ + VcardWindow(contact, self.account, gc_contact) + + def _on_kick(self, _action, param): + nick = param.get_string() + self._kick_nick = nick + self.xml.kick_label.set_text(_('Kick %s') % nick) + self.xml.kick_reason_entry.grab_focus() + self.xml.kick_participant_button.grab_default() + self._show_page('kick') + + def _on_ban(self, _action, param): + jid = param.get_string() + self._ban_jid = jid + nick = app.get_nick_from_jid(jid) + self.xml.ban_label.set_text(_('Ban %s') % nick) + self.xml.ban_reason_entry.grab_focus() + self.xml.ban_participant_button.grab_default() + self._show_page('ban') + + def _on_change_role(self, _action, param): + nick, role = param.get_strv() + con = app.connections[self.account] + con.get_module('MUC').set_role(self.room_jid, nick, role) + + def _on_change_affiliation(self, _action, param): + jid, affiliation = param.get_strv() + con = app.connections[self.account] + con.get_module('MUC').set_affiliation( + self.room_jid, + {jid: {'affiliation': affiliation}}) + + def show_roster(self): + show = not self.xml.roster_revealer.get_reveal_child() + icon = 'go-next-symbolic' if show else 'go-previous-symbolic' + image = self.hide_roster_button.get_image() + image.set_from_icon_name(icon, Gtk.IconSize.MENU) + + transition = Gtk.RevealerTransitionType.SLIDE_RIGHT + if show: + transition = Gtk.RevealerTransitionType.SLIDE_LEFT + self.xml.roster_revealer.set_transition_type(transition) + self.xml.roster_revealer.set_reveal_child(show) + + def on_groupchat_maximize(self): + self.roster.enable_tooltips() + self.add_actions() + self.update_actions() + self.set_lock_image() + self.draw_banner_text() + type_ = ['printed_gc_msg', 'printed_marked_gc_msg'] + if not app.events.remove_events(self.account, + self.get_full_jid(), + types=type_): + # XEP-0333 Send marker + con = app.connections[self.account] + con.get_module('ChatMarkers').send_displayed_marker( + self.contact, + self.last_msg_id, + self._type) + self.last_msg_id = None + + def _on_roster_row_activated(self, _roster, nick): + self._start_private_message(nick) + + def on_msg_textview_populate_popup(self, textview, menu): + """ + Override the default context menu and we prepend Clear + and the ability to insert a nick + """ + ChatControlBase.on_msg_textview_populate_popup(self, textview, menu) + item = Gtk.SeparatorMenuItem.new() + menu.prepend(item) + + item = Gtk.MenuItem.new_with_label(_('Insert Nickname')) + menu.prepend(item) + submenu = Gtk.Menu() + item.set_submenu(submenu) + + nicks = app.contacts.get_nick_list(self.account, self.room_jid) + nicks.sort() + for nick in nicks: + item = Gtk.MenuItem.new_with_label(nick) + item.set_use_underline(False) + submenu.append(item) + id_ = item.connect('activate', + self.append_nick_in_msg_textview, nick) + self.handlers[id_] = item + + menu.show_all() + + def get_tab_label(self, chatstate): + """ + Markup the label if necessary. Returns a tuple such as: (new_label_str, + color) either of which can be None if chatstate is given that means we + have HE SENT US a chatstate + """ + + has_focus = self.parent_win.window.get_property('has-toplevel-focus') + current_tab = self.parent_win.get_active_control() == self + color = None + if chatstate == 'attention' and (not has_focus or not current_tab): + self.attention_flag = True + color = 'tab-muc-directed-msg' + elif chatstate == 'active' or (current_tab and has_focus): + self.attention_flag = False + # get active color from gtk + color = 'active' + elif chatstate == 'newmsg' and (not has_focus or not current_tab) \ + and not self.attention_flag: + color = 'tab-muc-msg' + + label_str = GLib.markup_escape_text(self.room_name) + + # count waiting highlighted messages + unread = '' + num_unread = self.get_nb_unread() + if num_unread == 1: + unread = '*' + elif num_unread > 1: + unread = '[' + str(num_unread) + ']' + label_str = unread + label_str + return (label_str, color) + + def get_tab_image(self): + return app.interface.avatar_storage.get_muc_surface( + self.account, + self.contact.jid, + AvatarSize.ROSTER, + self.scale_factor) + + def _update_avatar(self): + surface = app.interface.avatar_storage.get_muc_surface( + self.account, + self.contact.jid, + AvatarSize.CHAT, + self.scale_factor) + + self.xml.avatar_image.set_from_surface(surface) + + def draw_banner_text(self): + """ + Draw the text in the fat line at the top of the window that houses the + room jid + """ + self.xml.banner_name_label.set_text(self.room_name) + + @event_filter(['jid=room_jid']) + def _on_update_room_avatar(self, event): + self._update_avatar() + + @event_filter(['account']) + def _on_bookmarks_received(self, _event): + if self.parent_win is None: + return + self.parent_win.redraw_tab(self) + self.draw_banner_text() + + @event_filter(['account', 'room_jid']) + def _on_voice_request(self, event): + def on_approve(): + con = app.connections[self.account] + con.get_module('MUC').approve_voice_request(self.room_jid, + event.voice_request) + ConfirmationDialog( + _('Voice Request'), + _('Voice Request'), + _('%(nick)s from %(room_name)s requests voice') % { + 'nick': event.voice_request.nick, 'room_name': self.room_name}, + [DialogButton.make('Cancel'), + DialogButton.make('Accept', + text=_('_Approve'), + callback=on_approve)], + modal=False).show() + + @event_filter(['account']) + def _on_mam_decrypted_message_received(self, event): + if not event.properties.type.is_groupchat: + return + if event.archive_jid != self.room_jid: + return + self.add_message(event.msgtxt, + contact=event.properties.muc_nickname, + tim=event.properties.mam.timestamp, + correct_id=event.correct_id, + message_id=event.properties.id, + additional_data=event.additional_data) + + @event_filter(['account', 'room_jid']) + def _on_gc_message_received(self, event): + if event.properties.muc_nickname is None: + # message from server + self.add_message(event.msgtxt, + tim=event.properties.timestamp, + displaymarking=event.displaymarking, + additional_data=event.additional_data) + else: + if event.properties.muc_nickname == self.nick: + self.last_sent_txt = event.msgtxt + stanza_id = None + if event.properties.stanza_id: + stanza_id = event.properties.stanza_id.id + self.add_message(event.msgtxt, + contact=event.properties.muc_nickname, + tim=event.properties.timestamp, + displaymarking=event.displaymarking, + correct_id=event.correct_id, + message_id=event.properties.id, + stanza_id=stanza_id, + additional_data=event.additional_data) + event.needs_highlight = self.needs_visual_notification(event.msgtxt) + + def on_private_message(self, nick, sent, msg, tim, session, additional_data, + message_id, msg_log_id=None, displaymarking=None): + # Do we have a queue? + fjid = self.room_jid + '/' + nick + + event = events.PmEvent(msg, + '', + 'incoming', + tim, + '', + msg_log_id, + session=session, + displaymarking=displaymarking, + sent_forwarded=sent, + additional_data=additional_data, + message_id=message_id) + + app.events.add_event(self.account, fjid, event) + + if allow_popup_window(self.account): + self._start_private_message(nick) + else: + self.roster.draw_contact(nick) + if self.parent_win: + self.parent_win.show_title() + self.parent_win.redraw_tab(self) + + contact = app.contacts.get_contact_with_highest_priority( + self.account, self.room_jid) + if contact: + app.interface.roster.draw_contact(self.room_jid, self.account) + + def add_message(self, text, contact='', tim=None, + displaymarking=None, correct_id=None, message_id=None, + stanza_id=None, additional_data=None): + """ + Add message to the ConversationsTextview + + If contact is set: it's a message from someone + If contact is not set: it's a message from the server or help. + """ + + other_tags_for_name = [] + other_tags_for_text = [] + + if not contact: + # Message from the server + kind = 'status' + elif contact == self.nick: # it's us + kind = 'outgoing' + else: + kind = 'incoming' + # muc-specific chatstate + if self.parent_win: + self.parent_win.redraw_tab(self, 'newmsg') + + if kind == 'incoming': # it's a message NOT from us + # highlighting and sounds + highlight, _sound = self.highlighting_for_message(text, tim) + other_tags_for_name.append('muc_nickname_color_%s' % contact) + if highlight: + # muc-specific chatstate + if self.parent_win: + self.parent_win.redraw_tab(self, 'attention') + else: + self.attention_flag = True + other_tags_for_name.append('bold') + other_tags_for_text.append('marked') + + self._nick_completion.record_message(contact, highlight) + + self.check_focus_out_line() + + ChatControlBase.add_message(self, + text, + kind, + contact, + tim, + other_tags_for_name, + [], + other_tags_for_text, + displaymarking=displaymarking, + correct_id=correct_id, + message_id=message_id, + stanza_id=stanza_id, + additional_data=additional_data) + + def get_nb_unread(self): + type_events = ['printed_marked_gc_msg'] + if self.contact.can_notify(): + type_events.append('printed_gc_msg') + nb = len(app.events.get_events(self.account, + self.room_jid, + type_events)) + nb += self.get_nb_unread_pm() + return nb + + def get_nb_unread_pm(self): + nb = 0 + for nick in app.contacts.get_nick_list(self.account, self.room_jid): + nb += len(app.events.get_events(self.account, self.room_jid + \ + '/' + nick, ['pm'])) + return nb + + def highlighting_for_message(self, text, tim): + """ + Returns a 2-Tuple. The first says whether or not to highlight the text, + the second, what sound to play + """ + highlight, sound = None, None + + notify = self.contact.can_notify() + sound_enabled = app.settings.get_soundevent_settings( + 'muc_message_received')['enabled'] + + # Are any of the defined highlighting words in the text? + if self.needs_visual_notification(text): + highlight = True + sound_settings = app.settings.get_soundevent_settings( + 'muc_message_highlight') + if sound_settings['enabled']: + sound = 'highlight' + + # Do we play a sound on every muc message? + elif notify and sound_enabled: + sound = 'received' + + # Is it a history message? Don't want sound-floods when we join. + if tim is not None and time.mktime(time.localtime()) - tim > 1: + sound = None + + return highlight, sound + + def check_focus_out_line(self): + """ + Check and possibly add focus out line for room_jid if it needs it and + does not already have it as last event. If it goes to add this line + - remove previous line first + """ + win = app.interface.msg_win_mgr.get_window(self.room_jid, self.account) + if win and self.room_jid == win.get_active_jid() and\ + win.window.get_property('has-toplevel-focus') and\ + self.parent_win.get_active_control() == self: + # it's the current room and it's the focused window. + # we have full focus (we are reading it!) + return + + self.conv_textview.show_focus_out_line() + + def needs_visual_notification(self, text): + """ + Check text to see whether any of the words in (muc_highlight_words and + nick) appear + """ + special_words = app.settings.get('muc_highlight_words').split(';') + special_words.append(self.nick) + con = app.connections[self.account] + special_words.append(con.get_own_jid().bare) + # Strip empties: ''.split(';') == [''] and would highlight everything. + # Also lowercase everything for case insensitive compare. + special_words = [word.lower() for word in special_words if word] + text = text.lower() + + for special_word in special_words: + found_here = text.find(special_word) + while found_here > -1: + end_here = found_here + len(special_word) + if (found_here == 0 or not text[found_here - 1].isalpha()) and \ + (end_here == len(text) or not text[end_here].isalpha()): + # It is beginning of text or char before is not alpha AND + # it is end of text or char after is not alpha + return True + # continue searching + start = found_here + 1 + found_here = text.find(special_word, start) + return False + + @event_filter(['account', 'room_jid']) + def _on_subject(self, event): + if self.subject == event.subject or event.is_fake: + # Probably a rejoin, we already showed that subject + return + + self._subject_data = event + + text = _('%(nick)s has set the subject to %(subject)s') % { + 'nick': event.nickname, 'subject': event.subject} + + if event.user_timestamp: + date = time.strftime('%c', time.localtime(event.user_timestamp)) + text = '%s - %s' % (text, date) + + if (app.settings.get('show_subject_on_join') or + self._muc_data.state != MUCJoinedState.JOINING): + self.add_info_message(text) + + @event_filter(['account', 'room_jid']) + def _on_config_changed(self, event): + # http://www.xmpp.org/extensions/xep-0045.html#roomconfig-notify + changes = [] + if StatusCode.SHOWING_UNAVAILABLE in event.status_codes: + changes.append(_('Group chat now shows unavailable members')) + + if StatusCode.NOT_SHOWING_UNAVAILABLE in event.status_codes: + changes.append(_('Group chat now does not show ' + 'unavailable members')) + + if StatusCode.CONFIG_NON_PRIVACY_RELATED in event.status_codes: + changes.append(_('A setting not related to privacy has been ' + 'changed')) + app.connections[self.account].get_module('Discovery').disco_muc( + self.room_jid) + + if StatusCode.CONFIG_ROOM_LOGGING in event.status_codes: + # Can be a presence (see chg_contact_status in groupchat_control.py) + changes.append(_('Conversations are stored on the server')) + + if StatusCode.CONFIG_NO_ROOM_LOGGING in event.status_codes: + changes.append(_('Conversations are not stored on the server')) + + if StatusCode.CONFIG_NON_ANONYMOUS in event.status_codes: + changes.append(_('Group chat is now non-anonymous')) + self.is_anonymous = False + + if StatusCode.CONFIG_SEMI_ANONYMOUS in event.status_codes: + changes.append(_('Group chat is now semi-anonymous')) + self.is_anonymous = True + + if StatusCode.CONFIG_FULL_ANONYMOUS in event.status_codes: + changes.append(_('Group chat is now fully anonymous')) + self.is_anonymous = True + + for change in changes: + self.add_info_message(change) + + def _on_signed_in(self, event): + if event.conn.name != self.account: + return + event.conn.get_module('MUC').join(self._muc_data) + + @event_filter(['account']) + def _on_decrypted_message_received(self, event): + if not event.properties.jid.bare_match(self.room_jid): + return + + if event.properties.is_muc_pm and not event.session.control: + # We got a pm from this room + nick = event.resource + # otherwise pass it off to the control to be queued + self.on_private_message(nick, + event.properties.is_sent_carbon, + event.msgtxt, + event.properties.timestamp, + self.session, + event.additional_data, + event.properties.id, + msg_log_id=event.msg_log_id, + displaymarking=event.displaymarking) + + @event_filter(['account']) + def _nec_our_status(self, event): + client = app.get_client(event.account) + if (event.show == 'offline' and + not client.state.is_reconnect_scheduled): + self.got_disconnected() + + if self.parent_win: + self.parent_win.redraw_tab(self) + + @event_filter(['account']) + def _nec_ping(self, event): + if not event.contact.is_groupchat: + return + + if self.contact.jid != event.contact.room_jid: + return + + nick = event.contact.get_shown_name() + if event.name == 'ping-sent': + self.add_info_message(_('Ping? (%s)') % nick) + elif event.name == 'ping-reply': + self.add_info_message( + _('Pong! (%(nick)s %(delay)s s.)') % {'nick': nick, + 'delay': event.seconds}) + elif event.name == 'ping-error': + self.add_info_message(event.error) + + @property + def is_connected(self) -> bool: + return app.gc_connected[self.account][self.room_jid] + + @is_connected.setter + def is_connected(self, value: bool) -> None: + app.gc_connected[self.account][self.room_jid] = value + + def got_connected(self): + self.roster.initial_draw() + + if self.disco_info.has_mam_2: + # Request MAM + con = app.connections[self.account] + con.get_module('MAM').request_archive_on_muc_join( + self.room_jid) + + self.is_connected = True + ChatControlBase.got_connected(self) + + if self.parent_win: + self.parent_win.redraw_tab(self) + + # Update Roster + app.interface.roster.draw_contact(self.room_jid, self.account) + + self.xml.formattings_button.set_sensitive(True) + + self.update_actions() + + def got_disconnected(self): + self.xml.formattings_button.set_sensitive(False) + + self.roster.enable_sort(False) + self.roster.clear() + + for contact in app.contacts.get_gc_contact_list( + self.account, self.room_jid): + contact.presence = PresenceType.UNAVAILABLE + ctrl = app.interface.msg_win_mgr.get_control(contact.get_full_jid, + self.account) + if ctrl: + ctrl.got_disconnected() + + app.contacts.remove_gc_contact(self.account, contact) + + self.is_connected = False + ChatControlBase.got_disconnected(self) + + con = app.connections[self.account] + con.get_module('Chatstate').remove_delay_timeout(self.contact) + + # Update Roster + app.interface.roster.draw_contact(self.room_jid, self.account) + + if self.parent_win: + self.parent_win.redraw_tab(self) + + self.update_actions() + + def leave(self, reason=None): + self.got_disconnected() + self._close_control(reason=reason) + + def rejoin(self): + app.connections[self.account].get_module('MUC').join(self._muc_data) + + def send_pm(self, nick, message=None): + ctrl = self._start_private_message(nick) + if message is not None: + ctrl.send_message(message) + + @event_filter(['account', 'room_jid']) + def _on_self_presence(self, event): + nick = event.properties.muc_nickname + status_codes = event.properties.muc_status_codes or [] + + if not self.is_connected: + # We just joined the room + self.add_info_message(_('You (%s) joined the group chat') % nick) + self.roster.add_contact(nick) + + if StatusCode.NON_ANONYMOUS in status_codes: + self.add_info_message( + _('Any participant is allowed to see your full XMPP Address')) + self.is_anonymous = False + + if StatusCode.CONFIG_ROOM_LOGGING in status_codes: + self.add_info_message(_('Conversations are stored on the server')) + + if StatusCode.NICKNAME_MODIFIED in status_codes: + self.add_info_message( + _('The server has assigned or modified your nickname in this ' + 'group chat')) + + # Update Actions + self.update_actions() + + @event_filter(['account', 'room_jid']) + def _on_configuration_finished(self, _event): + self.got_connected() + self._show_page('groupchat') + self.add_info_message(_('A new group chat has been created')) + + @event_filter(['account', 'room_jid']) + def _on_configuration_failed(self, event): + self.xml.error_heading.set_text(_('Failed to Configure Group Chat')) + self.xml.error_label.set_text(to_user_string(event.error)) + self._show_page('error') + + @event_filter(['account', 'room_jid']) + def _on_nickname_changed(self, event): + nick = event.properties.muc_nickname + new_nick = event.properties.muc_user.nick + if event.properties.is_muc_self_presence: + self._nick_completion.change_nick(new_nick) + message = _('You are now known as %s') % new_nick + else: + message = _('{nick} is now known ' + 'as {new_nick}').format(nick=nick, new_nick=new_nick) + self._nick_completion.contact_renamed(nick, new_nick) + + self.add_info_message(message) + + tv = self.conv_textview + if nick in tv.last_received_message_id: + tv.last_received_message_id[new_nick] = \ + tv.last_received_message_id[nick] + del tv.last_received_message_id[nick] + + self.roster.remove_contact(nick) + self.roster.add_contact(new_nick) + + @event_filter(['account', 'room_jid']) + def _on_status_show_changed(self, event): + nick = event.properties.muc_nickname + status = event.properties.status + status = '' if status is None else ' - %s' % status + show = helpers.get_uf_show(event.properties.show.value) + + if not self.contact.settings.get('print_status'): + self.roster.draw_contact(nick) + return + + if event.properties.is_muc_self_presence: + message = _('You are now {show}{status}').format(show=show, + status=status) + + else: + message = _('{nick} is now {show}{status}').format(nick=nick, + show=show, + status=status) + self.add_status_message(message) + self.roster.draw_contact(nick) + + @event_filter(['account', 'room_jid']) + def _on_affiliation_changed(self, event): + affiliation = helpers.get_uf_affiliation( + event.properties.affiliation) + nick = event.properties.muc_nickname + reason = event.properties.muc_user.reason + reason = '' if reason is None else ': {reason}'.format(reason=reason) + + actor = event.properties.muc_user.actor + #Group Chat: You have been kicked by Alice + actor = '' if actor is None else _(' by {actor}').format(actor=actor) + + if event.properties.is_muc_self_presence: + message = _('** Your Affiliation has been set to ' + '{affiliation}{actor}{reason}').format( + affiliation=affiliation, + actor=actor, + reason=reason) + else: + message = _('** Affiliation of {nick} has been set to ' + '{affiliation}{actor}{reason}').format( + nick=nick, + affiliation=affiliation, + actor=actor, + reason=reason) + + self.add_info_message(message) + self.roster.remove_contact(nick) + self.roster.add_contact(nick) + self.update_actions() + + @event_filter(['account', 'room_jid']) + def _on_role_changed(self, event): + role = helpers.get_uf_role(event.properties.role) + nick = event.properties.muc_nickname + reason = event.properties.muc_user.reason + reason = '' if reason is None else ': {reason}'.format(reason=reason) + + actor = event.properties.muc_user.actor + #Group Chat: You have been kicked by Alice + actor = '' if actor is None else _(' by {actor}').format(actor=actor) + + if event.properties.is_muc_self_presence: + message = _('** Your Role has been set to ' + '{role}{actor}{reason}').format(role=role, + actor=actor, + reason=reason) + else: + message = _('** Role of {nick} has been set to ' + '{role}{actor}{reason}').format(nick=nick, + role=role, + actor=actor, + reason=reason) + + self.add_info_message(message) + self.roster.remove_contact(nick) + self.roster.add_contact(nick) + self.update_actions() + + @event_filter(['account', 'room_jid']) + def _on_self_kicked(self, event): + status_codes = event.properties.muc_status_codes or [] + + reason = event.properties.muc_user.reason + reason = '' if reason is None else ': {reason}'.format(reason=reason) + + actor = event.properties.muc_user.actor + #Group Chat: You have been kicked by Alice + actor = '' if actor is None else _(' by {actor}').format(actor=actor) + + #Group Chat: We have been removed from the room by Alice: reason + message = _('You have been removed from the group chat{actor}{reason}') + + if StatusCode.REMOVED_ERROR in status_codes: + # Handle 333 before 307, some MUCs add both + #Group Chat: Server kicked us because of an server error + message = _('You have left due ' + 'to an error{reason}').format(reason=reason) + self.add_info_message(message) + + elif StatusCode.REMOVED_KICKED in status_codes: + #Group Chat: We have been kicked by Alice: reason + message = _('You have been ' + 'kicked{actor}{reason}').format(actor=actor, + reason=reason) + self.add_info_message(message) + + elif StatusCode.REMOVED_BANNED in status_codes: + #Group Chat: We have been banned by Alice: reason + message = _('You have been ' + 'banned{actor}{reason}').format(actor=actor, + reason=reason) + self.add_info_message(message) + + elif StatusCode.REMOVED_AFFILIATION_CHANGE in status_codes: + #Group Chat: We were removed because of an affiliation change + reason = _(': Affiliation changed') + message = message.format(actor=actor, reason=reason) + self.add_info_message(message) + + elif StatusCode.REMOVED_NONMEMBER_IN_MEMBERS_ONLY in status_codes: + #Group Chat: Room configuration changed + reason = _(': Group chat configuration changed to members-only') + message = message.format(actor=actor, reason=reason) + self.add_info_message(message) + + elif StatusCode.REMOVED_SERVICE_SHUTDOWN in status_codes: + #Group Chat: Kicked because of server shutdown + reason = ': System shutdown' + message = message.format(actor=actor, reason=reason) + self.add_info_message(message) + + self.got_disconnected() + + # Update Actions + self.update_actions() + + @event_filter(['account', 'room_jid']) + def _on_user_left(self, event): + status_codes = event.properties.muc_status_codes or [] + nick = event.properties.muc_nickname + + reason = event.properties.muc_user.reason + reason = '' if reason is None else ': {reason}'.format(reason=reason) + + actor = event.properties.muc_user.actor + #Group Chat: You have been kicked by Alice + actor = '' if actor is None else _(' by {actor}').format(actor=actor) + + #Group Chat: We have been removed from the room + message = _('{nick} has been removed from the group chat{by}{reason}') + + print_join_left = self.contact.settings.get('print_join_left') + + if StatusCode.REMOVED_ERROR in status_codes: + # Handle 333 before 307, some MUCs add both + if print_join_left: + #Group Chat: User was kicked because of an server error: reason + message = _('{nick} has left due to ' + 'an error{reason}').format(nick=nick, reason=reason) + self.add_info_message(message) + + elif StatusCode.REMOVED_KICKED in status_codes: + #Group Chat: User was kicked by Alice: reason + message = _('{nick} has been ' + 'kicked{actor}{reason}').format(nick=nick, + actor=actor, + reason=reason) + self.add_info_message(message) + + elif StatusCode.REMOVED_BANNED in status_codes: + #Group Chat: User was banned by Alice: reason + message = _('{nick} has been ' + 'banned{actor}{reason}').format(nick=nick, + actor=actor, + reason=reason) + self.add_info_message(message) + + elif StatusCode.REMOVED_AFFILIATION_CHANGE in status_codes: + reason = _(': Affiliation changed') + message = message.format(nick=nick, by=actor, reason=reason) + self.add_info_message(message) + + elif StatusCode.REMOVED_NONMEMBER_IN_MEMBERS_ONLY in status_codes: + reason = _(': Group chat configuration changed to members-only') + message = message.format(nick=nick, by=actor, reason=reason) + self.add_info_message(message) + + elif print_join_left: + message = _('{nick} has left{reason}').format(nick=nick, + reason=reason) + self.add_info_message(message) + + self.roster.remove_contact(nick) + self.roster.draw_groups() + + @event_filter(['account', 'room_jid']) + def _on_muc_joined(self, _event): + self.got_connected() + self._show_page('groupchat') + + @event_filter(['account', 'room_jid']) + def _on_user_joined(self, event): + nick = event.properties.muc_nickname + self.roster.add_contact(nick) + + if self.is_connected and self.contact.settings.get('print_join_left'): + self.add_info_message(_('%s has joined the group chat') % nick) + + @event_filter(['account', 'room_jid']) + def _on_password_required(self, _event): + self._show_page('password') + + @event_filter(['account', 'room_jid']) + def _on_muc_join_failed(self, event): + con = app.connections[self.account] + if con.get_module('Bookmarks').is_bookmark(self.room_jid): + self.xml.remove_bookmark_button.show() + + self.xml.error_heading.set_text(_('Failed to Join Group Chat')) + self.xml.error_label.set_text(to_user_string(event.error)) + self._show_page('error') + + @event_filter(['account', 'room_jid']) + def _on_muc_creation_failed(self, event): + self.xml.error_heading.set_text(_('Failed to Create Group Chat')) + self.xml.error_label.set_text(to_user_string(event.error)) + self._show_page('error') + + @event_filter(['account', 'room_jid']) + def _on_presence_error(self, event): + error_message = to_user_string(event.properties.error) + self.add_info_message('Error: %s' % error_message) + + @event_filter(['account', 'room_jid']) + def _on_destroyed(self, event): + destroyed = event.properties.muc_destroyed + + reason = destroyed.reason + reason = '' if reason is None else ': %s' % reason + + message = _('Group chat has been destroyed') + self.add_info_message(message) + + alternate = destroyed.alternate + if alternate is not None: + join_message = _('You can join this group chat ' + 'instead: xmpp:%s?join') % str(alternate) + self.add_info_message(join_message) + + self.got_disconnected() + + con = app.connections[self.account] + con.get_module('Bookmarks').remove(self.room_jid) + + if self._wait_for_destruction: + self._close_control() + + @event_filter(['account', 'jid=room_jid']) + def _on_message_sent(self, event): + if not event.message: + return + # we'll save sent message text when we'll receive it in + # _nec_gc_message_received + self.last_sent_msg = event.message_id + if self.correcting: + self.correcting = False + gtkgui_helpers.remove_css_class( + self.msg_textview, 'gajim-msg-correcting') + + def send_message(self, message, xhtml=None, process_commands=True): + """ + Call this function to send our message + """ + if not message: + return + + if self.encryption: + self.sendmessage = True + app.plugin_manager.extension_point( + 'send_message' + self.encryption, self) + if not self.sendmessage: + return + + if process_commands and self.process_as_command(message): + return + + message = helpers.remove_invalid_xml_chars(message) + + if not message: + return + + label = self.get_seclabel() + if message != '' or message != '\n': + self.save_message(message, 'sent') + + if self.correcting and self.last_sent_msg: + correct_id = self.last_sent_msg + else: + correct_id = None + con = app.connections[self.account] + chatstate = con.get_module('Chatstate').get_active_chatstate( + self.contact) + + # Send the message + message_ = OutgoingMessage(account=self.account, + contact=self.contact, + message=message, + type_='groupchat', + label=label, + chatstate=chatstate, + correct_id=correct_id) + message_.additional_data.set_value('gajim', 'xhtml', xhtml) + con.send_message(message_) + + self.msg_textview.get_buffer().set_text('') + self.msg_textview.grab_focus() + + @event_filter(['account', 'room_jid']) + def _on_message_error(self, event): + self.conv_textview.show_error(event.message_id, event.error) + + def minimizable(self): + if self.force_non_minimizable: + return False + return self.contact.settings.get('minimize_on_close') + + def minimize(self): + self.remove_actions() + win = app.interface.msg_win_mgr.get_window(self.contact.jid, + self.account) + ctrl = win.get_control(self.contact.jid, self.account) + + ctrl_page = win.notebook.page_num(ctrl.widget) + control = win.notebook.get_nth_page(ctrl_page) + + win.notebook.remove_page(ctrl_page) + control.unparent() + ctrl.parent_win = None + + # Stop correcting message when we minimize + if self.correcting: + self.correcting = False + gtkgui_helpers.remove_css_class( + self.msg_textview, 'gajim-msg-correcting') + self.msg_textview.get_buffer().set_text('') + + con = app.connections[self.account] + con.get_module('Chatstate').set_chatstate(self.contact, + Chatstate.INACTIVE) + + app.interface.roster.minimize_groupchat( + self.account, self.contact.jid, status=self.subject) + + del win._controls[self.account][self.contact.jid] + + def shutdown(self, reason=None): + app.settings.disconnect_signals(self) + + # Leave MUC if we are still joined + if self._muc_data.state != MUCJoinedState.NOT_JOINED: + self.got_disconnected() + app.connections[self.account].get_module('MUC').leave( + self.room_jid, reason=reason) + + # PluginSystem: removing GUI extension points connected with + # GrouphatControl instance object + app.plugin_manager.remove_gui_extension_point( + 'groupchat_control', self) + + nick_list = app.contacts.get_nick_list(self.account, self.room_jid) + for nick in nick_list: + # Update pm chat window + fjid = self.room_jid + '/' + nick + ctrl = app.interface.msg_win_mgr.get_gc_control(fjid, self.account) + if ctrl: + contact = app.contacts.get_gc_contact(self.account, + self.room_jid, + nick) + contact.show = 'offline' + contact.status = '' + ctrl.update_ui() + ctrl.parent_win.redraw_tab(ctrl) + + # They can already be removed by the destroy function + if self.room_jid in app.contacts.get_gc_list(self.account): + app.contacts.remove_room(self.account, self.room_jid) + del app.gc_connected[self.account][self.room_jid] + + self.roster.destroy() + self.roster = None + + # Remove unread events from systray + app.events.remove_events(self.account, self.room_jid) + + if self.parent_win is not None: + self.remove_actions() + + super(GroupchatControl, self).shutdown() + + def safe_shutdown(self): + if self.minimizable(): + return True + # whether to ask for confirmation before closing muc + if app.settings.get('confirm_close_muc') and self.is_connected: + return False + return True + + def allow_shutdown(self, method, on_yes, on_no, on_minimize): + if self.minimizable(): + on_minimize(self) + return + + # whether to ask for confirmation before closing muc + if app.settings.get('confirm_close_muc') and self.is_connected: + def on_ok(is_checked): + if is_checked: + # User does not want to be asked again + app.settings.set('confirm_close_muc', False) + on_yes(self) + + def on_cancel(is_checked): + if is_checked: + # User does not want to be asked again + app.settings.set('confirm_close_muc', False) + on_no(self) + + ConfirmationCheckDialog( + _('Leave Group Chat'), + _('Are you sure you want to leave this group chat?'), + _('If you close this window, you will leave ' + '\'%s\'.') % self.room_name, + _('_Do not ask me again'), + [DialogButton.make('Cancel', + callback=on_cancel), + DialogButton.make('Accept', + text=_('_Leave'), + callback=on_ok)], + transient_for=self.parent_win.window).show() + return + + on_yes(self) + + def _close_control(self, reason=None): + if self.parent_win is None: + self.shutdown(reason) + else: + self.parent_win.remove_tab(self, None, reason=reason, force=True) + + def set_control_active(self, state): + self.conv_textview.allow_focus_out_line = True + self.attention_flag = False + ChatControlBase.set_control_active(self, state) + if not state: + # add the focus-out line to the tab we are leaving + self.check_focus_out_line() + # Sending active to undo unread state + self.parent_win.redraw_tab(self, 'active') + + def _on_drag_data_received(self, widget, context, x, y, selection, + target_type, timestamp): + if not selection.get_data(): + return + + if target_type == self.TARGET_TYPE_URI_LIST: + # File drag and drop (handled in chat_control_base) + self.drag_data_file_transfer(selection) + else: + # Invite contact to groupchat + treeview = app.interface.roster.tree + model = treeview.get_model() + data = selection.get_data().decode() + path = treeview.get_selection().get_selected_rows()[1][0] + iter_ = model.get_iter(path) + type_ = model[iter_][2] + if type_ != 'contact': # Source is not a contact + return + contact_jid = data + + self.invite(contact_jid) + + def _jid_not_blocked(self, bare_jid: str) -> bool: + fjid = self.room_jid + '/' + bare_jid + return not helpers.jid_is_blocked(self.account, fjid) + + def _on_message_textview_key_press_event(self, widget, event): + res = ChatControlBase._on_message_textview_key_press_event( + self, widget, event) + if res: + return True + + if event.keyval == Gdk.KEY_Tab: # TAB + message_buffer = widget.get_buffer() + start_iter, end_iter = message_buffer.get_bounds() + cursor_position = message_buffer.get_insert() + end_iter = message_buffer.get_iter_at_mark(cursor_position) + text = message_buffer.get_text(start_iter, end_iter, False) + + splitted_text = text.split() + + # nick completion + # check if tab is pressed with empty message + if splitted_text: # if there are any words + begin = splitted_text[-1] # last word we typed + else: + begin = '' + + gc_refer_to_nick_char = app.settings.get('gc_refer_to_nick_char') + with_refer_to_nick_char = False + after_nick_len = 1 # the space that is printed after we type [Tab] + + # first part of this if : works fine even if refer_to_nick_char + if (gc_refer_to_nick_char and + text.endswith(gc_refer_to_nick_char + ' ')): + with_refer_to_nick_char = True + after_nick_len = len(gc_refer_to_nick_char + ' ') + if self.nick_hits and self.last_key_tabs and \ + text[:-after_nick_len].endswith(self.nick_hits[0]): + # we should cycle + # Previous nick in list may had a space inside, so we check text + # and not splitted_text and store it into 'begin' var + self.nick_hits.append(self.nick_hits[0]) + begin = self.nick_hits.pop(0) + else: + list_nick = app.contacts.get_nick_list(self.account, + self.room_jid) + list_nick = list(filter(self._jid_not_blocked, list_nick)) + + log.debug("Nicks to be considered for autosuggestions: %s", + list_nick) + self.nick_hits = self._nick_completion.generate_suggestions( + nicks=list_nick, beginning=begin) + log.debug("Nicks filtered for autosuggestions: %s", + self.nick_hits) + + if self.nick_hits: + if len(splitted_text) < 2 or with_refer_to_nick_char: + # This is the 1st word of the line or no word or we are + # cycling at the beginning, possibly with a space in + # one nick + add = gc_refer_to_nick_char + ' ' + else: + add = ' ' + start_iter = end_iter.copy() + if (self.last_key_tabs and + with_refer_to_nick_char or (text and text[-1] == ' ')): + # have to accommodate for the added space from last + # completion + # gc_refer_to_nick_char may be more than one char! + start_iter.backward_chars(len(begin) + len(add)) + elif (self.last_key_tabs and + not app.settings.get('shell_like_completion')): + # have to accommodate for the added space from last + # completion + start_iter.backward_chars(len(begin) + \ + len(gc_refer_to_nick_char)) + else: + start_iter.backward_chars(len(begin)) + + con = app.connections[self.account] + con.get_module('Chatstate').block_chatstates(self.contact, True) + + message_buffer.delete(start_iter, end_iter) + # get a shell-like completion + # if there's more than one nick for this completion, complete + # only the part that all these nicks have in common + if app.settings.get('shell_like_completion') and \ + len(self.nick_hits) > 1: + end = False + completion = '' + add = "" # if nick is not complete, don't add anything + while not end and len(completion) < len(self.nick_hits[0]): + completion = self.nick_hits[0][:len(completion)+1] + for nick in self.nick_hits: + if completion.lower() not in nick.lower(): + end = True + completion = completion[:-1] + break + # if the current nick matches a COMPLETE existing nick, + # and if the user tab TWICE, complete that nick (with the + # "add") + if self.last_key_tabs: + for nick in self.nick_hits: + if nick == completion: + # The user seems to want this nick, so + # complete it as if it were the only nick + # available + add = gc_refer_to_nick_char + ' ' + else: + completion = self.nick_hits[0] + message_buffer.insert_at_cursor(completion + add) + + con.get_module('Chatstate').block_chatstates(self.contact, + False) + + self.last_key_tabs = True + return True + self.last_key_tabs = False + return None + + def delegate_action(self, action): + res = super().delegate_action(action) + if res == Gdk.EVENT_STOP: + return res + + if action == 'change-nickname': + control_action = '%s-%s' % (action, self.control_id) + self.parent_win.window.lookup_action(control_action).activate() + return Gdk.EVENT_STOP + + if action == 'escape': + if self._get_current_page() == 'groupchat': + return Gdk.EVENT_PROPAGATE + + if self._get_current_page() == 'password': + self._on_password_cancel_clicked() + elif self._get_current_page() == 'captcha': + self._on_captcha_cancel_clicked() + elif self._get_current_page() == 'muc-info': + self._on_page_cancel_clicked() + elif self._get_current_page() in ('error', 'captcha-error'): + self._on_page_close_clicked() + else: + self._show_page('groupchat') + return Gdk.EVENT_STOP + + if action == 'change-subject': + control_action = '%s-%s' % (action, self.control_id) + self.parent_win.window.lookup_action(control_action).activate() + return Gdk.EVENT_STOP + + if action == 'show-contact-info': + self.parent_win.window.lookup_action( + 'information-%s' % self.control_id).activate() + return Gdk.EVENT_STOP + + return Gdk.EVENT_PROPAGATE + + def focus(self): + page_name = self._get_current_page() + if page_name == 'groupchat': + self.msg_textview.grab_focus() + elif page_name == 'password': + self.xml.password_entry.grab_focus_without_selecting() + elif page_name == 'nickname': + self.xml.nickname_entry.grab_focus_without_selecting() + elif page_name == 'rename': + self.xml.name_entry.grab_focus_without_selecting() + elif page_name == 'subject': + self.xml.subject_textview.grab_focus() + elif page_name == 'captcha': + self._captcha_request.focus_first_entry() + elif page_name == 'invite': + self._invite_box.focus_search_entry() + elif page_name == 'destroy': + self.xml.destroy_reason_entry.grab_focus_without_selecting() + + def _start_private_message(self, nick): + gc_c = app.contacts.get_gc_contact(self.account, self.room_jid, nick) + nick_jid = gc_c.get_full_jid() + + muc_prefer_direct_msg = app.settings.get('muc_prefer_direct_msg') + pm_queue = len(app.events.get_events( + self.account, jid=nick_jid, types=['pm'])) + if not self.is_anonymous and muc_prefer_direct_msg and not pm_queue: + jid = app.get_jid_without_resource(gc_c.jid) + ctrl = app.interface.new_chat_from_jid(self.account, jid) + else: + ctrl = app.interface.new_private_chat(gc_c, self.account) + ctrl.parent_win.set_active_tab(ctrl) + + return ctrl + + def append_nick_in_msg_textview(self, _widget, nick): + message_buffer = self.msg_textview.get_buffer() + start_iter, end_iter = message_buffer.get_bounds() + cursor_position = message_buffer.get_insert() + end_iter = message_buffer.get_iter_at_mark(cursor_position) + text = message_buffer.get_text(start_iter, end_iter, False) + start = '' + if text: # Cursor is not at first position + if not text[-1] in (' ', '\n', '\t'): + start = ' ' + add = ' ' + else: + gc_refer_to_nick_char = app.settings.get('gc_refer_to_nick_char') + add = gc_refer_to_nick_char + ' ' + message_buffer.insert_at_cursor(start + nick + add) + + def _on_kick_participant_clicked(self, _button): + reason = self.xml.kick_reason_entry.get_text() + con = app.connections[self.account] + con.get_module('MUC').set_role( + self.room_jid, self._kick_nick, 'none', reason) + self._show_page('groupchat') + + def _on_ban_participant_clicked(self, _button): + reason = self.xml.ban_reason_entry.get_text() + con = app.connections[self.account] + con.get_module('MUC').set_affiliation( + self.room_jid, + {self._ban_jid: {'affiliation': 'outcast', 'reason': reason}}) + self._show_page('groupchat') + + def _on_page_change(self, stack, _param): + page_name = stack.get_visible_child_name() + if page_name == 'groupchat': + self.xml.progress_spinner.stop() + elif page_name == 'progress': + self.xml.progress_spinner.start() + elif page_name == 'muc-info': + self.xml.info_close_button.grab_default() + elif page_name == 'password': + self.xml.password_entry.set_text('') + self.xml.password_entry.grab_focus() + self.xml.password_set_button.grab_default() + elif page_name == 'captcha': + self.xml.captcha_set_button.grab_default() + elif page_name == 'captcha-error': + self.xml.captcha_try_again_button.grab_default() + elif page_name == 'error': + self.xml.close_button.grab_default() + + def _on_change_nick(self, _action, _param): + if self._get_current_page() != 'groupchat': + return + self.xml.nickname_entry.set_text(self.nick) + self.xml.nickname_entry.grab_focus() + self.xml.nickname_change_button.grab_default() + self._show_page('nickname') + + def _on_nickname_text_changed(self, entry, _param): + text = entry.get_text() + if not text or text == self.nick: + self.xml.nickname_change_button.set_sensitive(False) + else: + try: + validate_resourcepart(text) + except InvalidJid: + self.xml.nickname_change_button.set_sensitive(False) + else: + self.xml.nickname_change_button.set_sensitive(True) + + def _on_nickname_change_clicked(self, _button): + new_nick = self.xml.nickname_entry.get_text() + app.connections[self.account].get_module('MUC').change_nick( + self.room_jid, new_nick) + self._show_page('groupchat') + + def _on_rename_groupchat(self, _action, _param): + if self._get_current_page() != 'groupchat': + return + self.xml.name_entry.set_text(self.room_name) + self.xml.name_entry.grab_focus() + self.xml.rename_button.grab_default() + self._show_page('rename') + + def _on_rename_clicked(self, _button): + new_name = self.xml.name_entry.get_text() + app.connections[self.account].get_module('Bookmarks').modify( + self.room_jid, name=new_name) + self._show_page('groupchat') + + def _on_change_subject(self, _action, _param): + if self._get_current_page() != 'groupchat': + return + self.xml.subject_textview.get_buffer().set_text(self.subject) + self.xml.subject_textview.grab_focus() + self._show_page('subject') + + def _on_subject_change_clicked(self, _button): + buffer_ = self.xml.subject_textview.get_buffer() + subject = buffer_.get_text(buffer_.get_start_iter(), + buffer_.get_end_iter(), + False) + con = app.connections[self.account] + con.get_module('MUC').set_subject(self.room_jid, subject) + self._show_page('groupchat') + + def _on_password_set_clicked(self, _button): + password = self.xml.password_entry.get_text() + self._muc_data.password = password + app.connections[self.account].get_module('MUC').join(self._muc_data) + self._show_page('progress') + + def _on_password_changed(self, entry, _param): + self.xml.password_set_button.set_sensitive(bool(entry.get_text())) + + def _on_password_cancel_clicked(self, _button=None): + self._close_control() + + @event_filter(['account', 'room_jid']) + def _on_captcha_challenge(self, event): + self._remove_captcha_request() + + options = {'no-scrolling': True, + 'entry-activates-default': True} + self._captcha_request = DataFormWidget(event.form, options=options) + self._captcha_request.connect('is-valid', self._on_captcha_changed) + self._captcha_request.set_valign(Gtk.Align.START) + self._captcha_request.show_all() + self.xml.captcha_box.add(self._captcha_request) + + if self.parent_win: + self.parent_win.redraw_tab(self, 'attention') + else: + self.attention_flag = True + + self._show_page('captcha') + self._captcha_request.focus_first_entry() + + @event_filter(['account', 'room_jid']) + def _on_captcha_error(self, event): + self.xml.captcha_error_label.set_text(event.error_text) + self._show_page('captcha-error') + + def _remove_captcha_request(self): + if self._captcha_request is None: + return + if self._captcha_request in self.xml.captcha_box.get_children(): + self.xml.captcha_box.remove(self._captcha_request) + self._captcha_request.destroy() + self._captcha_request = None + + def _on_captcha_changed(self, _widget, is_valid): + self.xml.captcha_set_button.set_sensitive(is_valid) + + def _on_captcha_set_clicked(self, _button): + form_node = self._captcha_request.get_submit_form() + con = app.connections[self.account] + con.get_module('MUC').send_captcha(self.room_jid, form_node) + self._remove_captcha_request() + self._show_page('progress') + + def _on_captcha_cancel_clicked(self, _button=None): + con = app.connections[self.account] + con.get_module('MUC').cancel_captcha(self.room_jid) + self._remove_captcha_request() + self._close_control() + + def _on_captcha_try_again_clicked(self, _button=None): + app.connections[self.account].get_module('MUC').join(self._muc_data) + self._show_page('progress') + + def _on_remove_bookmark_button_clicked(self, _button=None): + con = app.connections[self.account] + con.get_module('Bookmarks').remove(self.room_jid) + self._close_control() + + def _on_retry_join_clicked(self, _button=None): + app.connections[self.account].get_module('MUC').join(self._muc_data) + self._show_page('progress') + + def _on_page_cancel_clicked(self, _button=None): + self._show_page('groupchat') + + def _on_page_close_clicked(self, _button=None): + self._close_control() + + def _on_abort_button_clicked(self, _button): + self.parent_win.window.lookup_action( + 'disconnect-%s' % self.control_id).activate() diff --git a/gajim/gtk/__init__.py b/gajim/gtk/__init__.py new file mode 100644 index 0000000..e92e451 --- /dev/null +++ b/gajim/gtk/__init__.py @@ -0,0 +1,33 @@ +# Copyright (C) 2003-2005 Vincent Hanquez +# Copyright (C) 2005 Alex Podaras +# Stéphan Kochen +# Alex Mauer +# Copyright (C) 2003-2014 Yann Leboulanger +# Copyright (C) 2005-2006 Dimitur Kirov +# Travis Shirk +# Copyright (C) 2005-2008 Nikos Kouremenos +# Copyright (C) 2006 Junglecow J +# Copyright (C) 2006-2007 Travis Shirk +# Stefan Bethge +# Copyright (C) 2006-2008 Jean-Marie Traissard +# Copyright (C) 2007 James Newton +# Lukas Petrovicky +# Copyright (C) 2007-2008 Brendan Taylor +# Julien Pivotto +# Stephan Erb +# Copyright (C) 2008 Jonathan Schleifer +# Copyright (C) 2018 Philipp Hörist +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . diff --git a/gajim/gtk/about.py b/gajim/gtk/about.py new file mode 100644 index 0000000..7f4b2c3 --- /dev/null +++ b/gajim/gtk/about.py @@ -0,0 +1,97 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import nbxmpp + +from gi.repository import Gdk +from gi.repository import Gtk +from gi.repository import GLib +from gi.repository import GObject + +from gajim.common import app +from gajim.common.helpers import open_uri +from gajim.common.i18n import _ +from gajim.common.const import DEVS_CURRENT +from gajim.common.const import DEVS_PAST +from gajim.common.const import ARTISTS +from gajim.common.const import THANKS + + +class AboutDialog(Gtk.AboutDialog): + def __init__(self): + Gtk.AboutDialog.__init__(self) + self.set_transient_for(app.interface.roster.window) + self.set_name('Gajim') + self.set_version(app.version) + self.set_copyright('Copyright © 2003-2021 Gajim Team') + self.set_license_type(Gtk.License.GPL_3_0_ONLY) + self.set_website('https://gajim.org/') + + gtk_ver = '%i.%i.%i' % ( + Gtk.get_major_version(), + Gtk.get_minor_version(), + Gtk.get_micro_version()) + gobject_ver = '.'.join(map(str, GObject.pygobject_version)) + glib_ver = '.'.join(map(str, [GLib.MAJOR_VERSION, + GLib.MINOR_VERSION, + GLib.MICRO_VERSION])) + + comments = [] + comments.append(_('A GTK XMPP client')) + comments.append(_('GTK Version: %s') % gtk_ver) + comments.append(_('GLib Version: %s') % glib_ver) + comments.append(_('PyGObject Version: %s') % gobject_ver) + comments.append(_('python-nbxmpp Version: %s') % nbxmpp.__version__) + + self.set_comments("\n".join(comments)) + + self.add_credit_section(_('Current Developers'), DEVS_CURRENT) + self.add_credit_section(_('Past Developers'), DEVS_PAST) + self.add_credit_section(_('Artists'), ARTISTS) + + thanks = list(THANKS) + thanks.append('') + thanks.append(_('Last but not least')) + thanks.append(_('we would like to thank all the package maintainers.')) + self.add_credit_section(_('Thanks'), thanks) + + self.set_translator_credits(_('translator-credits')) + self.set_logo_icon_name('org.gajim.Gajim') + + self.connect( + 'response', lambda dialog, *args: Gtk.AboutDialog.do_close(dialog)) + + self.show() + self.connect('activate-link', self._on_activate_link) + # See https://gitlab.gnome.org/GNOME/gtk/issues/1561 + self._connect_link_handler(self) + + @staticmethod + def _on_activate_link(_label, uri): + # We have to use this, because the default GTK handler + # is not cross-platform compatible + open_uri(uri) + return Gdk.EVENT_STOP + + def _connect_link_handler(self, parent): + def _find_child(parent_): + if not hasattr(parent_, 'get_children'): + return + + for child in parent_.get_children(): + if isinstance(child, Gtk.Label): + if 'href' in child.get_label(): + child.connect('activate-link', self._on_activate_link) + _find_child(child) + _find_child(parent) diff --git a/gajim/gtk/account_wizard.py b/gajim/gtk/account_wizard.py new file mode 100644 index 0000000..0e28456 --- /dev/null +++ b/gajim/gtk/account_wizard.py @@ -0,0 +1,982 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import logging + +from gi.repository import Gdk +from gi.repository import GLib +from gi.repository import Gtk +from gi.repository import Gio +from gi.repository import GObject + +from nbxmpp.client import Client +from nbxmpp.protocol import JID +from nbxmpp.protocol import validate_domainpart +from nbxmpp.const import Mode +from nbxmpp.const import StreamError +from nbxmpp.const import ConnectionProtocol +from nbxmpp.const import ConnectionType +from nbxmpp.errors import StanzaError +from nbxmpp.errors import MalformedStanzaError +from nbxmpp.errors import RegisterStanzaError + +from gajim.common import app +from gajim.common import configpaths +from gajim.common import helpers +from gajim.common.nec import NetworkEvent +from gajim.common.helpers import open_uri +from gajim.common.helpers import validate_jid +from gajim.common.helpers import get_proxy +from gajim.common.i18n import _ +from gajim.common.const import SASL_ERRORS +from gajim.common.const import GIO_TLS_ERRORS + +from .assistant import Assistant +from .assistant import Page +from .assistant import SuccessPage +from .assistant import ErrorPage +from .dataform import DataFormWidget +from .util import get_builder +from .util import open_window + +log = logging.getLogger('gajim.gui.account_wizard') + + +class AccountWizard(Assistant): + def __init__(self): + Assistant.__init__(self, height=500) + + self._destroyed = False + + self.add_button('signup', _('Sign Up'), complete=True, + css_class='suggested-action') + self.add_button('connect', _('Connect'), css_class='suggested-action') + self.add_button('next', _('Next'), css_class='suggested-action') + self.add_button('login', _('Log In'), complete=True, + css_class='suggested-action') + self.add_button('back', _('Back')) + + self.add_pages({'login': Login(), + 'signup': Signup(), + 'advanced': AdvancedSettings(), + 'security-warning': SecurityWarning(), + 'form': Form(), + 'redirect': Redirect(), + 'success': Success(), + 'error': Error(), + }) + + self._progress = self.add_default_page('progress') + + self.get_page('login').connect('clicked', self._on_button_clicked) + self.connect('button-clicked', self._on_assistant_button_clicked) + self.connect('page-changed', self._on_page_changed) + self.connect('destroy', self._on_destroy) + + self.show_all() + + self.update_proxy_list() + + self._client = None + self._method = 'login' + + def get_currenct_method(self): + return self._method + + def _on_button_clicked(self, _page, button_name): + if button_name == 'login': + if self.get_page('login').is_advanced(): + self.show_page('advanced', + Gtk.StackTransitionType.SLIDE_LEFT) + else: + self._test_credentials() + + elif button_name == 'signup': + self.show_page('signup', Gtk.StackTransitionType.SLIDE_LEFT) + + def _on_assistant_button_clicked(self, _assistant, button_name): + page = self.get_current_page() + + if button_name == 'login': + if page == 'advanced': + self._test_credentials() + + elif page == 'security-warning': + if self.get_page('security-warning').trust_certificate: + app.cert_store.add_certificate( + self.get_page('security-warning').cert) + self._test_credentials(ignore_all_errors=True) + + elif button_name == 'signup': + if page == 'signup': + if self.get_page('signup').is_advanced(): + self.show_page('advanced', + Gtk.StackTransitionType.SLIDE_LEFT) + + elif self.get_page('signup').is_anonymous(): + self._test_anonymous_server() + + else: + self._register_with_server() + + elif page == 'advanced': + if self.get_page('signup').is_anonymous(): + self._test_anonymous_server() + else: + self._register_with_server() + + elif page == 'security-warning': + if self.get_page('security-warning').trust_certificate: + app.cert_store.add_certificate( + self.get_page('security-warning').cert) + + if self.get_page('signup').is_anonymous(): + self._test_anonymous_server(ignore_all_errors=True) + + else: + self._register_with_server(ignore_all_errors=True) + + elif page == 'form': + self._show_progress_page(_('Creating Account...'), + _('Trying to create account...')) + self._submit_form() + + elif button_name == 'connect': + if page == 'success': + app.interface.enable_account(self.get_page('success').account) + self.destroy() + + elif button_name == 'back': + if page == 'signup': + self.show_page('login', Gtk.StackTransitionType.SLIDE_RIGHT) + + elif page in ('advanced', 'error', 'security-warning'): + if (page == 'error' and + self._method == 'signup' and + self.get_page('form').has_form): + self.show_page('form', Gtk.StackTransitionType.SLIDE_RIGHT) + else: + self.show_page(self._method, + Gtk.StackTransitionType.SLIDE_RIGHT) + + elif page == 'form': + self.show_page('signup', Gtk.StackTransitionType.SLIDE_RIGHT) + self.get_page('form').remove_form() + self._disconnect() + + elif page == 'redirect': + self.show_page('login', Gtk.StackTransitionType.SLIDE_RIGHT) + + def _on_page_changed(self, _assistant, page_name): + if page_name == 'signup': + self._method = page_name + self.get_page('signup').focus() + + elif page_name == 'login': + self._method = page_name + self.get_page('login').focus() + + elif page_name == 'form': + self.get_page('form').focus() + + def update_proxy_list(self): + self.get_page('advanced').update_proxy_list() + + def _get_base_client(self, + domain, + username, + mode, + advanced, + ignore_all_errors): + + client = Client(log_context='Account Wizard') + client.set_domain(domain) + client.set_username(username) + client.set_mode(mode) + client.set_ignore_tls_errors(ignore_all_errors) + client.set_accepted_certificates( + app.cert_store.get_certificates()) + + if advanced: + custom_host = self.get_page('advanced').get_custom_host() + if custom_host is not None: + client.set_custom_host(*custom_host) + + proxy_name = self.get_page('advanced').get_proxy() + proxy_data = get_proxy(proxy_name) + if proxy_data is not None: + client.set_proxy(proxy_data) + + client.subscribe('disconnected', self._on_disconnected) + client.subscribe('connection-failed', self._on_connection_failed) + client.subscribe('stanza-sent', self._on_stanza_sent) + client.subscribe('stanza-received', self._on_stanza_received) + return client + + def _disconnect(self): + if self._client is None: + return + self._client.remove_subscriptions() + self._client.disconnect() + self._client = None + + @staticmethod + def _on_stanza_sent(_client, _signal_name, stanza): + app.nec.push_incoming_event(NetworkEvent('stanza-sent', + account='AccountWizard', + stanza=stanza)) + + @staticmethod + def _on_stanza_received(_client, _signal_name, stanza): + app.nec.push_incoming_event(NetworkEvent('stanza-received', + account='AccountWizard', + stanza=stanza)) + + def _test_credentials(self, ignore_all_errors=False): + self._show_progress_page(_('Connecting...'), + _('Connecting to server...')) + address, password = self.get_page('login').get_credentials() + jid = JID.from_string(address) + advanced = self.get_page('login').is_advanced() + + self._client = self._get_base_client( + jid.domain, + jid.localpart, + Mode.LOGIN_TEST, + advanced, + ignore_all_errors) + + self._client.set_password(password) + self._client.subscribe('login-successful', self._on_login_successful) + + self._client.connect() + + def _test_anonymous_server(self, ignore_all_errors=False): + self._show_progress_page(_('Connecting...'), + _('Connecting to server...')) + domain = self.get_page('signup').get_server() + advanced = self.get_page('signup').is_advanced() + + self._client = self._get_base_client( + domain, + None, + Mode.ANONYMOUS_TEST, + advanced, + ignore_all_errors) + + self._client.subscribe('anonymous-supported', + self._on_anonymous_supported) + self._client.connect() + + def _register_with_server(self, ignore_all_errors=False): + self._show_progress_page(_('Connecting...'), + _('Connecting to server...')) + domain = self.get_page('signup').get_server() + advanced = self.get_page('signup').is_advanced() + + self._client = self._get_base_client( + domain, + None, + Mode.REGISTER, + advanced, + ignore_all_errors) + + self._client.subscribe('connected', self._on_connected) + + self._client.connect() + + def _on_login_successful(self, client, _signal_name): + account = self._generate_account_name(client.domain) + proxy_name = None + if client.proxy is not None: + proxy_name = self.get_page('advanced').get_proxy() + + app.interface.create_account(account, + client.username, + client.domain, + client.password, + proxy_name, + client.custom_host) + self.get_page('success').set_account(account) + self.show_page('success', Gtk.StackTransitionType.SLIDE_LEFT) + + def _on_connected(self, client, _signal_name): + client.get_module('Register').request_register_form( + callback=self._on_register_form) + + def _on_anonymous_supported(self, client, _signal_name): + account = self._generate_account_name(client.domain) + proxy_name = None + if client.proxy is not None: + proxy_name = self.get_page('advanced').get_proxy() + + app.interface.create_account(account, + None, + client.domain, + client.password, + proxy_name, + client.custom_host, + anonymous=True) + self.get_page('success').set_account(account) + self.show_page('success', Gtk.StackTransitionType.SLIDE_LEFT) + + def _on_disconnected(self, client, _signal_name): + domain, error, text = client.get_error() + if domain == StreamError.SASL: + if error == 'anonymous-not-supported': + self._show_error_page(_('Anonymous login not supported'), + _('Anonymous login not supported'), + _('This server does not support ' + 'anonymous login.')) + else: + self._show_error_page(_('Authentication failed'), + SASL_ERRORS.get(error), + text or '') + + elif domain == StreamError.BAD_CERTIFICATE: + self.get_page('security-warning').set_warning( + self._client.domain, *self._client.peer_certificate) + self.show_page('security-warning', + Gtk.StackTransitionType.SLIDE_LEFT) + + elif domain == StreamError.REGISTER: + if error == 'register-not-supported': + self._show_error_page(_('Signup not allowed'), + _('Signup not allowed'), + _('This server does not allow signup.')) + + elif domain == StreamError.STREAM: + # The credential test often ends with a stream error, because + # after auth there should be a stream restart but nbxmpp ends + # the stream with which is considered not-well-formed + # by the server. This ignores all stream errors if we already + # know that we succeeded. + if self.get_current_page() != 'success': + self._show_error_page(_('Error'), _('Error'), error) + + self.get_page('form').remove_form() + self._client.destroy() + self._client = None + + def _on_connection_failed(self, _client, _signal_name): + self._show_error_page(_('Connection failed'), + _('Connection failed'), + _('Gajim was not able to reach the server. ' + 'Make sure your XMPP address is correct.')) + self._client.destroy() + self._client = None + + def _show_error_page(self, title, heading, text): + self.get_page('error').set_title(title) + self.get_page('error').set_heading(heading) + self.get_page('error').set_text(text or '') + self.show_page('error', Gtk.StackTransitionType.SLIDE_LEFT) + + def _show_progress_page(self, title, text): + self._progress.set_title(title) + self._progress.set_text(text) + self.show_page('progress', Gtk.StackTransitionType.SLIDE_LEFT) + + @staticmethod + def _generate_account_name(domain): + i = 1 + while domain in app.settings.get_accounts(): + domain = domain + str(i) + i += 1 + return domain + + def _on_register_form(self, task): + try: + result = task.finish() + except (StanzaError, MalformedStanzaError) as error: + self._show_error_page(_('Error'), + _('Error'), + error.get_text()) + self._disconnect() + return + + if result.bob_data is not None: + algo_hash = result.bob_data.cid.split('@')[0] + app.bob_cache[algo_hash] = result.bob_data.data + + form = result.form + if result.form is None: + form = result.fields_form + + if form is not None: + self.get_page('form').add_form(form) + + elif result.oob_url is not None: + self.get_page('redirect').set_redirect(result.oob_url, + result.instructions) + self.show_page('redirect', Gtk.StackTransitionType.SLIDE_LEFT) + self._disconnect() + return + + self.show_page('form', Gtk.StackTransitionType.SLIDE_LEFT) + + def _submit_form(self): + self.get_page('progress').set_text(_('Account is being created')) + self.show_page('progress', Gtk.StackTransitionType.SLIDE_LEFT) + + form = self.get_page('form').get_submit_form() + self._client.get_module('Register').submit_register_form( + form, + callback=self._on_register_result) + + def _on_register_result(self, task): + try: + task.finish() + except RegisterStanzaError as error: + self._set_error_text(error) + if error.type != 'modify': + self.get_page('form').remove_form() + self._disconnect() + return + + register_data = error.get_data() + form = register_data.form + if register_data.form is None: + form = register_data.fields_form + + if form is not None: + self.get_page('form').add_form(form) + + else: + self.get_page('form').remove_form() + self._disconnect() + return + + except (StanzaError, MalformedStanzaError) as error: + self._set_error_text(error) + self.get_page('form').remove_form() + self._disconnect() + return + + username, password = self.get_page('form').get_credentials() + account = self._generate_account_name(self._client.domain) + + proxy_name = None + if self._client.proxy is not None: + proxy_name = self.get_page('advanced').get_proxy() + + app.interface.create_account(account, + username, + self._client.domain, + password, + proxy_name, + self._client.custom_host) + + self.get_page('success').set_account(account) + self.show_page('success', Gtk.StackTransitionType.SLIDE_LEFT) + self.get_page('form').remove_form() + self._disconnect() + + def _set_error_text(self, error): + error_text = error.get_text() + if not error_text: + error_text = _('The server rejected the registration ' + 'without an error message') + self._show_error_page(_('Error'), _('Error'), error_text) + + def _on_destroy(self, *args): + self._disconnect() + self._destroyed = True + + +class Login(Page): + + __gsignals__ = { + 'clicked': (GObject.SignalFlags.RUN_LAST, None, (str,)), + } + + def __init__(self): + Page.__init__(self) + self.title = _('Add Account') + + self._ui = get_builder('account_wizard.ui') + self._ui.log_in_address_entry.connect( + 'activate', self._on_address_entry_activate) + self._ui.log_in_address_entry.connect( + 'changed', self._on_address_changed) + self._ui.log_in_password_entry.connect( + 'changed', self._set_complete) + self._ui.log_in_password_entry.connect( + 'activate', self._on_password_entry_activate) + self._create_server_completion() + + self._ui.log_in_button.connect('clicked', self._on_login) + self._ui.sign_up_button.connect('clicked', self._on_signup) + + self.pack_start(self._ui.login_box, True, True, 0) + self.show_all() + + def focus(self): + self._ui.log_in_address_entry.grab_focus() + + def _on_login(self, *args): + self.emit('clicked', 'login') + + def _on_signup(self, *args): + self.emit('clicked', 'signup') + + def _create_server_completion(self): + # Parse servers.json + file_path = configpaths.get('DATA') / 'other' / 'servers.json' + self._servers = helpers.load_json(file_path, default=[]) + + # Create a separate model for the address entry, because it will + # be updated with our localpart@ + address_model = Gtk.ListStore(str) + for server in self._servers: + address_model.append((server,)) + self._ui.log_in_address_entry.get_completion().set_model(address_model) + + def _on_address_changed(self, entry): + self._update_completion(entry) + self._set_complete() + + def _update_completion(self, entry): + text = entry.get_text() + if '@' not in text: + self._show_icon(False) + return + text = text.split('@', 1)[0] + + model = entry.get_completion().get_model() + model.clear() + + for server in self._servers: + model.append(['%s@%s' % (text, server)]) + + def _show_icon(self, show): + icon = 'dialog-warning-symbolic' if show else None + self._ui.log_in_address_entry.set_icon_from_icon_name( + Gtk.EntryIconPosition.SECONDARY, icon) + + def _on_address_entry_activate(self, _widget): + GLib.idle_add(self._ui.log_in_password_entry.grab_focus) + + def _on_password_entry_activate(self, _widget): + if self._ui.log_in_button.get_sensitive(): + self._ui.log_in_button.activate() + + def _validate_jid(self, address): + if not address: + self._show_icon(False) + return False + + try: + jid = validate_jid(address, type_='bare') + if jid.resource: + raise ValueError + except ValueError: + self._show_icon(True) + self._ui.log_in_address_entry.set_icon_tooltip_text( + Gtk.EntryIconPosition.SECONDARY, _('Invalid Address')) + return False + + self._show_icon(False) + return True + + def _set_complete(self, *args): + address = self._validate_jid(self._ui.log_in_address_entry.get_text()) + password = self._ui.log_in_password_entry.get_text() + self._ui.log_in_button.set_sensitive(address and password) + + def is_advanced(self): + return self._ui.login_advanced_checkbutton.get_active() + + def get_credentials(self): + data = (self._ui.log_in_address_entry.get_text(), + self._ui.log_in_password_entry.get_text()) + return data + + +class Signup(Page): + def __init__(self): + Page.__init__(self) + self.complete = False + self.title = _('Create New Account') + + self._ui = get_builder('account_wizard.ui') + self._ui.server_comboboxtext_sign_up_entry.set_activates_default(True) + self._create_server_completion() + + self._ui.recommendation_link1.connect( + 'activate-link', self._on_activate_link) + self._ui.recommendation_link2.connect( + 'activate-link', self._on_activate_link) + self._ui.visit_server_button.connect('clicked', + self._on_visit_server) + self._ui.server_comboboxtext_sign_up_entry.connect( + 'changed', self._set_complete) + + self.pack_start(self._ui.signup_grid, True, True, 0) + + self.show_all() + + def focus(self): + self._ui.server_comboboxtext_sign_up_entry.grab_focus() + + def _create_server_completion(self): + # Parse servers.json + file_path = configpaths.get('DATA') / 'other' / 'servers.json' + servers = helpers.load_json(file_path, default=[]) + + # Create servers_model for comboboxes and entries + servers_model = Gtk.ListStore(str) + for server in servers: + servers_model.append((server,)) + + # Sign up combobox and entry + self._ui.server_comboboxtext_sign_up.set_model(servers_model) + self._ui.server_comboboxtext_sign_up_entry.get_completion().set_model( + servers_model) + + def _on_visit_server(self, _widget): + server = self._ui.server_comboboxtext_sign_up_entry.get_text().strip() + server = 'https://' + server + open_uri(server) + return Gdk.EVENT_STOP + + def _set_complete(self, *args): + try: + self.get_server() + except Exception: + self.complete = False + self._ui.visit_server_button.set_visible(False) + else: + self.complete = True + self._ui.visit_server_button.set_visible(True) + + self.update_page_complete() + + def is_anonymous(self): + return self._ui.sign_up_anonymously.get_active() + + def is_advanced(self): + return self._ui.sign_up_advanced_checkbutton.get_active() + + def get_server(self): + return validate_domainpart( + self._ui.server_comboboxtext_sign_up_entry.get_text()) + + @staticmethod + def _on_activate_link(_label, uri): + # We have to use this, because the default GTK handler + # is not cross-platform compatible + open_uri(uri) + return Gdk.EVENT_STOP + + def get_visible_buttons(self): + return ['back', 'signup'] + + def get_default_button(self): + return 'signup' + + +class AdvancedSettings(Page): + def __init__(self): + Page.__init__(self) + self.title = _('Advanced settings') + self.complete = False + + self._ui = get_builder('account_wizard.ui') + self._ui.manage_proxies_button.connect('clicked', + self._on_proxy_manager) + self._ui.proxies_combobox.connect('changed', self._set_complete) + self._ui.custom_host_entry.connect('changed', self._set_complete) + self._ui.custom_port_entry.connect('changed', self._set_complete) + self.pack_start(self._ui.advanced_grid, True, True, 0) + + self.show_all() + + @staticmethod + def _on_proxy_manager(_widget): + app.app.activate_action('manage-proxies') + + def update_proxy_list(self): + model = Gtk.ListStore(str) + self._ui.proxies_combobox.set_model(model) + proxies = app.settings.get_proxies() + proxies.insert(0, _('No Proxy')) + for proxy in proxies: + model.append([proxy]) + self._ui.proxies_combobox.set_active(0) + + def get_proxy(self): + active = self._ui.proxies_combobox.get_active() + return self._ui.proxies_combobox.get_model()[active][0] + + def get_custom_host(self): + host = self._ui.custom_host_entry.get_text() + port = self._ui.custom_port_entry.get_text() + if not host or not port: + return None + + con_type = self._ui.con_type_combo.get_active_text() + + protocol = ConnectionProtocol.TCP + if host.startswith('ws://') or host.startswith('wss://'): + protocol = ConnectionProtocol.WEBSOCKET + + return ('%s:%s' % (host, port), + protocol, + ConnectionType(con_type)) + + def _show_host_icon(self, show): + icon = 'dialog-warning-symbolic' if show else None + self._ui.custom_host_entry.set_icon_from_icon_name( + Gtk.EntryIconPosition.SECONDARY, icon) + + def _show_port_icon(self, show): + icon = 'dialog-warning-symbolic' if show else None + self._ui.custom_port_entry.set_icon_from_icon_name( + Gtk.EntryIconPosition.SECONDARY, icon) + + def _validate_host(self): + host = self._ui.custom_host_entry.get_text() + try: + validate_domainpart(host) + except Exception: + self._show_host_icon(True) + self._ui.custom_host_entry.set_icon_tooltip_text( + Gtk.EntryIconPosition.SECONDARY, _('Invalid domain name')) + return False + + self._show_host_icon(False) + return True + + def _validate_port(self): + port = self._ui.custom_port_entry.get_text() + if not port: + self._show_port_icon(False) + return False + + try: + port = int(port) + except Exception: + self._show_port_icon(True) + self._ui.custom_port_entry.set_icon_tooltip_text( + Gtk.EntryIconPosition.SECONDARY, _('Must be a port number')) + return False + + if port not in range(0, 65535): + self._show_port_icon(True) + self._ui.custom_port_entry.set_icon_tooltip_text( + Gtk.EntryIconPosition.SECONDARY, + _('Port must be a number between 0 and 65535')) + return False + + self._show_port_icon(False) + return True + + def _is_custom_host_set(self): + host = bool(self._ui.custom_host_entry.get_text()) + port = bool(self._ui.custom_port_entry.get_text()) + return host or port + + def _is_proxy_set(self): + return self._ui.proxies_combobox.get_active() != 0 + + def _set_complete(self, *args): + self.complete = False + if self._is_proxy_set(): + self.complete = True + + if self._is_custom_host_set(): + port_valid = self._validate_port() + host_valid = self._validate_host() + self.complete = port_valid and host_valid + + self.update_page_complete() + + def get_visible_buttons(self): + return ['back', self.get_toplevel().get_currenct_method()] + + def get_default_button(self): + return self.get_toplevel().get_currenct_method() + + +class SecurityWarning(Page): + def __init__(self): + Page.__init__(self) + self.title = _('Security Warning') + self._cert = None + self._domain = None + + self._ui = get_builder('account_wizard.ui') + self.pack_start(self._ui.security_warning_box, True, True, 0) + self._ui.view_cert_button.connect('clicked', self._on_view_cert) + self.show_all() + + @property + def cert(self): + return self._cert + + def set_warning(self, domain, cert, errors): + # Clear list + self._cert = cert + self._domain = domain + self._ui.error_list.foreach(self._ui.error_list.remove) + + unknown_error = _('Unknown TLS error \'%s\'') + for error in errors: + error_text = GIO_TLS_ERRORS.get(error, unknown_error % error) + box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=6) + image = Gtk.Image.new_from_icon_name('dialog-warning-symbolic', + Gtk.IconSize.LARGE_TOOLBAR) + image.get_style_context().add_class('warning-color') + label = Gtk.Label(label=error_text) + label.set_line_wrap(True) + label.set_xalign(0) + label.set_selectable(True) + box.add(image) + box.add(label) + box.show_all() + self._ui.error_list.add(box) + + self._ui.trust_cert_checkbutton.set_visible( + Gio.TlsCertificateFlags.UNKNOWN_CA in errors) + + def _on_view_cert(self, _button): + open_window('CertificateDialog', + account=self._domain, + transient_for=self.get_toplevel(), + cert=self._cert) + + @property + def trust_certificate(self): + return self._ui.trust_cert_checkbutton.get_active() + + def get_visible_buttons(self): + return ['back', self.get_toplevel().get_currenct_method()] + + def get_default_button(self): + return 'back' + + +class Form(Page): + def __init__(self): + Page.__init__(self) + self.set_valign(Gtk.Align.FILL) + self.complete = False + self.title = _('Create Account') + self._current_form = None + + heading = Gtk.Label(label=_('Create Account')) + heading.get_style_context().add_class('large-header') + heading.set_max_width_chars(30) + heading.set_line_wrap(True) + heading.set_halign(Gtk.Align.CENTER) + heading.set_justify(Gtk.Justification.CENTER) + self.pack_start(heading, False, True, 0) + + self.show_all() + + @property + def has_form(self): + return self._current_form is not None + + def _on_is_valid(self, _widget, is_valid): + self.complete = is_valid + self.update_page_complete() + + def add_form(self, form): + self.remove_form() + + options = {'hide-fallback-fields': True, + 'entry-activates-default': True} + self._current_form = DataFormWidget(form, options) + self._current_form.connect('is-valid', self._on_is_valid) + self._current_form.validate() + self.pack_start(self._current_form, True, True, 0) + self._current_form.show_all() + + def get_credentials(self): + return (self._current_form.get_form()['username'].value, + self._current_form.get_form()['password'].value) + + def get_submit_form(self): + return self._current_form.get_submit_form() + + def remove_form(self): + if self._current_form is None: + return + + self.remove(self._current_form) + self._current_form.destroy() + self._current_form = None + + def focus(self): + self._current_form.focus_first_entry() + + def get_visible_buttons(self): + return ['back', 'signup'] + + def get_default_button(self): + return 'signup' + + +class Redirect(Page): + def __init__(self): + Page.__init__(self) + self.title = _('Redirect') + self._link = None + + self._ui = get_builder('account_wizard.ui') + self.pack_start(self._ui.redirect_box, True, True, 0) + self._ui.link_button.connect('clicked', self._on_link_button) + self.show_all() + + def set_redirect(self, link, instructions): + if instructions is None: + instructions = _('Register on the Website') + self._ui.instructions.set_text(instructions) + self._link = link + + def _on_link_button(self, _button): + open_uri(self._link) + + def get_visible_buttons(self): + return ['back'] + + +class Success(SuccessPage): + def __init__(self): + SuccessPage.__init__(self) + self.set_title(_('Account Added')) + self.set_heading(_('Account has been added successfully')) + + self._account = None + + def set_account(self, account): + self._account = account + + @property + def account(self): + return self._account + + def get_visible_buttons(self): + return ['connect'] + + +class Error(ErrorPage): + def __init__(self): + ErrorPage.__init__(self) + self.set_heading(_('An error occurred during account creation')) + + def get_visible_buttons(self): + return ['back'] diff --git a/gajim/gtk/accounts.py b/gajim/gtk/accounts.py new file mode 100644 index 0000000..53a990a --- /dev/null +++ b/gajim/gtk/accounts.py @@ -0,0 +1,1029 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import sys +import locale +import logging +from collections import defaultdict + +from gi.repository import Gtk +from gi.repository import Gdk +from gi.repository import Pango +from gi.repository import GObject + +from gajim.common import app +from gajim.common import passwords +from gajim.common.i18n import _ +from gajim.common.i18n import Q_ + +from .dialogs import DialogButton +from .dialogs import ConfirmationDialog +from .const import Setting +from .const import SettingKind +from .const import SettingType +from .settings import SettingsDialog +from .settings import SettingsBox +from .util import open_window + + +log = logging.getLogger('gajim.gui.accounts') + + +class AccountsWindow(Gtk.ApplicationWindow): + def __init__(self): + Gtk.ApplicationWindow.__init__(self) + self.set_application(app.app) + self.set_position(Gtk.WindowPosition.CENTER) + self.set_show_menubar(False) + self.set_name('AccountsWindow') + self.set_default_size(700, 550) + self.set_resizable(True) + self.set_title(_('Accounts')) + self._need_relogin = {} + self._accounts = {} + + self._menu = AccountMenu() + self._settings = Settings() + + box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) + box.add(self._menu) + box.add(self._settings) + self.add(box) + + for account in app.get_accounts_sorted(): + if account == 'Local': + # Disable zeroconf support until its working again + continue + self.add_account(account, initial=True) + + self._menu.connect('menu-activated', self._on_menu_activated) + self.connect('destroy', self._on_destroy) + self.connect_after('key-press-event', self._on_key_press) + + self.show_all() + + def _on_menu_activated(self, _listbox, account, name): + if name == 'back': + self._settings.set_page('add-account') + self._check_relogin() + elif name == 'remove': + self.on_remove_account(account) + else: + self._settings.set_page(name) + + def _on_key_press(self, _widget, event): + if event.keyval == Gdk.KEY_Escape: + self.destroy() + + def _on_destroy(self, *args): + self._check_relogin() + + def update_account_label(self, account): + self._accounts[account].update_account_label() + + def update_proxy_list(self): + for account in self._accounts: + self._settings.update_proxy_list(account) + + def _check_relogin(self): + for account in self._need_relogin: + settings = self._get_relogin_settings(account) + active = app.settings.get_account_setting(account, 'active') + if settings != self._need_relogin[account]: + self._need_relogin[account] = settings + if active: + self._relog(account) + break + + def _relog(self, account): + if not app.account_is_connected(account): + return + + if account == app.ZEROCONF_ACC_NAME: + app.connections[app.ZEROCONF_ACC_NAME].update_details() + return + + def relog(): + app.connections[account].disconnect(gracefully=True, + reconnect=True, + destroy_client=True) + + ConfirmationDialog( + _('Re-Login'), + _('Re-Login now?'), + _('To apply all changes instantly, you have to re-login.'), + [DialogButton.make('Cancel', + text=_('_Later')), + DialogButton.make('Accept', + text=_('_Re-Login'), + callback=relog)], + transient_for=self).show() + + @staticmethod + def _get_relogin_settings(account): + if account == app.ZEROCONF_ACC_NAME: + settings = ['zeroconf_first_name', 'zeroconf_last_name', + 'zeroconf_jabber_id', 'zeroconf_email'] + else: + settings = ['client_cert', 'proxy', 'resource', + 'use_custom_host', 'custom_host', 'custom_port'] + + values = [] + for setting in settings: + values.append(app.settings.get_account_setting(account, setting)) + return values + + @staticmethod + def on_remove_account(account): + if app.events.get_events(account): + app.interface.raise_dialog('unread-events-on-remove-account') + return + + if app.settings.get_account_setting(account, 'is_zeroconf'): + # Should never happen as button is insensitive + return + + open_window('RemoveAccount', account=account) + + def remove_account(self, account): + del self._need_relogin[account] + self._accounts[account].remove() + + def add_account(self, account, initial=False): + self._need_relogin[account] = self._get_relogin_settings(account) + self._accounts[account] = Account(account, self._menu, self._settings) + if not initial: + self._accounts[account].show() + + def select_account(self, account): + try: + self._accounts[account].select() + except KeyError: + log.warning('select_account() failed, account %s not found', + account) + + def enable_account(self, account, state): + self._accounts[account].enable_account(state) + + +class Settings(Gtk.ScrolledWindow): + def __init__(self): + Gtk.ScrolledWindow.__init__(self) + self.set_hexpand(True) + self.set_vexpand(True) + self.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC) + self._stack = Gtk.Stack(vhomogeneous=False) + self._stack.set_transition_type(Gtk.StackTransitionType.CROSSFADE) + self._stack.add_named(AddNewAccountPage(), 'add-account') + self.get_style_context().add_class('accounts-settings') + + self.add(self._stack) + self._page_signal_ids = {} + self._pages = defaultdict(list) + + def add_page(self, page): + self._pages[page.account].append(page) + self._stack.add_named(page, '%s-%s' % (page.account, page.name)) + self._page_signal_ids[page] = page.connect_signal(self._stack) + + def set_page(self, name): + self._stack.set_visible_child_name(name) + + def remove_account(self, account): + for page in self._pages[account]: + signal_id = self._page_signal_ids[page] + del self._page_signal_ids[page] + self._stack.disconnect(signal_id) + self._stack.remove(page) + page.destroy() + del self._pages[account] + + def update_proxy_list(self, account): + for page in self._pages[account]: + if page.name != 'connection': + continue + page.update_proxy_entries() + + +class AccountMenu(Gtk.Box): + + __gsignals__ = { + 'menu-activated': (GObject.SignalFlags.RUN_FIRST, None, (str, str)), + } + + def __init__(self): + Gtk.Box.__init__(self) + self.set_hexpand(False) + self.set_size_request(160, -1) + + self.get_style_context().add_class('accounts-menu') + + self._stack = Gtk.Stack() + self._stack.set_transition_type(Gtk.StackTransitionType.SLIDE_LEFT) + + self._accounts_listbox = Gtk.ListBox() + self._accounts_listbox.set_sort_func(self._sort_func) + self._accounts_listbox.get_style_context().add_class('settings-box') + self._accounts_listbox.connect('row-activated', + self._on_account_row_activated) + + scrolled = Gtk.ScrolledWindow() + scrolled.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC) + scrolled.add(self._accounts_listbox) + self._stack.add_named(scrolled, 'accounts') + self.add(self._stack) + + @staticmethod + def _sort_func(row1, row2): + if row1.label == 'Local': + return -1 + return locale.strcoll(row1.label.lower(), row2.label.lower()) + + def add_account(self, row): + self._accounts_listbox.add(row) + sub_menu = AccountSubMenu(row.account) + self._stack.add_named(sub_menu, '%s-menu' % row.account) + + sub_menu.connect('row-activated', self._on_sub_menu_row_activated) + + def remove_account(self, row): + if self._stack.get_visible_child_name() != 'accounts': + # activate 'back' button + self._stack.get_visible_child().get_row_at_index(1).emit('activate') + self._accounts_listbox.remove(row) + sub_menu = self._stack.get_child_by_name('%s-menu' % row.account) + self._stack.remove(sub_menu) + row.destroy() + sub_menu.destroy() + + def _on_account_row_activated(self, _listbox, row): + self._stack.set_visible_child_name('%s-menu' % row.account) + self._stack.get_visible_child().get_row_at_index(2).emit('activate') + + def _on_sub_menu_row_activated(self, listbox, row): + if row.name == 'back': + self._stack.set_visible_child_full( + 'accounts', Gtk.StackTransitionType.OVER_RIGHT) + + if row.name in ('back', 'remove'): + self.emit('menu-activated', listbox.account, row.name) + + else: + self.emit('menu-activated', + listbox.account, + '%s-%s' % (listbox.account, row.name)) + + def update_account_label(self, account): + self._accounts_listbox.invalidate_sort() + sub_menu = self._stack.get_child_by_name('%s-menu' % account) + sub_menu.update() + + +class AccountSubMenu(Gtk.ListBox): + + __gsignals__ = { + 'update': (GObject.SignalFlags.RUN_FIRST, None, (str,)) + } + + def __init__(self, account): + Gtk.ListBox.__init__(self) + self.set_vexpand(True) + self.set_hexpand(True) + self.get_style_context().add_class('settings-box') + + self._account = account + + self.add(AccountLabelMenuItem(self, self._account)) + self.add(BackMenuItem()) + self.add(PageMenuItem('general', _('General'))) + if account != 'Local': + self.add(PageMenuItem('privacy', _('Privacy'))) + self.add(PageMenuItem('connection', _('Connection'))) + self.add(PageMenuItem('advanced', _('Advanced'))) + self.add(RemoveMenuItem()) + + @property + def account(self): + return self._account + + def update(self): + self.emit('update', self._account) + + +class MenuItem(Gtk.ListBoxRow): + def __init__(self, name): + Gtk.ListBoxRow.__init__(self) + self._name = name + self._box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, + spacing=12) + self._label = Gtk.Label() + + self.add(self._box) + + @property + def name(self): + return self._name + + +class RemoveMenuItem(MenuItem): + def __init__(self): + super().__init__('remove') + self._label.set_text(_('Remove')) + image = Gtk.Image.new_from_icon_name('user-trash-symbolic', + Gtk.IconSize.MENU) + + self.set_selectable(False) + image.get_style_context().add_class('error-color') + + self._box.add(image) + self._box.add(self._label) + + +class AccountLabelMenuItem(MenuItem): + def __init__(self, parent, account): + super().__init__('account-label') + self._update_account_label(parent, account) + + self.set_selectable(False) + self.set_sensitive(False) + self.set_activatable(False) + + image = Gtk.Image.new_from_icon_name('avatar-default-symbolic', + Gtk.IconSize.MENU) + image.get_style_context().add_class('insensitive-fg-color') + + self._label.get_style_context().add_class('accounts-label-row') + self._label.set_ellipsize(Pango.EllipsizeMode.END) + self._label.set_xalign(0) + + self._box.add(image) + self._box.add(self._label) + + parent.connect('update', self._update_account_label) + + def _update_account_label(self, _listbox, account): + account_label = app.get_account_label(account) + self._label.set_text(account_label) + + +class BackMenuItem(MenuItem): + def __init__(self): + super().__init__('back') + self.set_selectable(False) + + self._label.set_text(_('Back')) + + image = Gtk.Image.new_from_icon_name('go-previous-symbolic', + Gtk.IconSize.MENU) + image.get_style_context().add_class('insensitive-fg-color') + + self._box.add(image) + self._box.add(self._label) + + +class PageMenuItem(MenuItem): + def __init__(self, name, label): + super().__init__(name) + + if name == 'general': + icon = 'preferences-system-symbolic' + elif name == 'privacy': + icon = 'preferences-system-privacy-symbolic' + elif name == 'connection': + icon = 'preferences-system-network-symbolic' + elif name == 'advanced': + icon = 'preferences-other-symbolic' + else: + icon = 'dialog-error-symbolic' + + image = Gtk.Image.new_from_icon_name(icon, Gtk.IconSize.MENU) + self._label.set_text(label) + + self._box.add(image) + self._box.add(self._label) + + +class Account: + def __init__(self, account, menu, settings): + self._account = account + self._menu = menu + self._settings = settings + + if account == app.ZEROCONF_ACC_NAME: + self._settings.add_page(ZeroConfPage(account)) + else: + self._settings.add_page(GeneralPage(account)) + self._settings.add_page(ConnectionPage(account)) + self._settings.add_page(PrivacyPage(account)) + self._settings.add_page(AdvancedPage(account)) + + self._account_row = AccountRow(account) + self._menu.add_account(self._account_row) + + def select(self): + self._account_row.emit('activate') + + def show(self): + self._menu.show_all() + self._settings.show_all() + self.select() + + def remove(self): + self._menu.remove_account(self._account_row) + self._settings.remove_account(self._account) + + def update_account_label(self): + self._account_row.update_account_label() + self._menu.update_account_label(self._account) + + def enable_account(self, state): + self._account_row.enable_account(state) + + @property + def menu(self): + return self._menu + + @property + def account(self): + return self._account + + @property + def settings(self): + return self._account + + +class AccountRow(Gtk.ListBoxRow): + def __init__(self, account): + Gtk.ListBoxRow.__init__(self) + self.set_selectable(False) + + box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=12) + + self._account = account + + self._label = Gtk.Label(label=app.get_account_label(account)) + self._label.set_halign(Gtk.Align.START) + self._label.set_hexpand(True) + self._label.set_ellipsize(Pango.EllipsizeMode.END) + self._label.set_xalign(0) + self._label.set_width_chars(18) + + next_icon = Gtk.Image.new_from_icon_name('go-next-symbolic', + Gtk.IconSize.MENU) + next_icon.get_style_context().add_class('insensitive-fg-color') + + account_enabled = app.settings.get_account_setting( + self._account, 'active') + self._switch = Gtk.Switch() + self._switch.set_active(account_enabled) + self._switch.set_vexpand(False) + + self._switch_state_label = Gtk.Label() + self._switch_state_label.set_xalign(1) + self._switch_state_label.set_valign(Gtk.Align.CENTER) + self._set_label(account_enabled) + + if (self._account == app.ZEROCONF_ACC_NAME and + not app.is_installed('ZEROCONF')): + self._switch.set_active(False) + self.set_activatable(False) + self.set_sensitive(False) + if sys.platform in ('win32', 'darwin'): + tooltip = _('Please check if Bonjour is installed.') + else: + tooltip = _('Please check if Avahi is installed.') + self.set_tooltip_text(tooltip) + + self._switch.connect( + 'state-set', self._on_enable_switch, self._account) + + box.add(self._switch) + box.add(self._switch_state_label) + box.add(Gtk.Separator()) + box.add(self._label) + box.add(next_icon) + self.add(box) + + @property + def account(self): + return self._account + + @property + def label(self): + return self._label.get_text() + + def update_account_label(self): + self._label.set_text(app.get_account_label(self._account)) + + def enable_account(self, state): + self._switch.set_state(state) + self._set_label(state) + + def _set_label(self, active): + text = Q_('?switch:On') if active else Q_('?switch:Off') + self._switch_state_label.set_text(text) + + def _on_enable_switch(self, switch, state, account): + def _disable(): + app.connections[account].change_status('offline', 'offline') + app.interface.disable_account(account) + switch.set_state(state) + self._set_label(state) + + old_state = app.settings.get_account_setting(account, 'active') + if old_state == state: + return Gdk.EVENT_PROPAGATE + + if (account in app.connections and + not app.connections[account].state.is_disconnected): + # Connecting or connected + ConfirmationDialog( + _('Disable Account'), + _('Account %s is still connected') % account, + _('All chat and group chat windows will be closed.'), + [DialogButton.make('Cancel', + callback=lambda: switch.set_active(True)), + DialogButton.make('Remove', + text=_('_Disable Account'), + callback=_disable)], + transient_for=self.get_toplevel()).show() + return Gdk.EVENT_STOP + + if state: + app.interface.enable_account(account) + else: + app.interface.disable_account(account) + + return Gdk.EVENT_PROPAGATE + + +class AddNewAccountPage(Gtk.Box): + def __init__(self): + Gtk.Box.__init__(self, + orientation=Gtk.Orientation.VERTICAL, + spacing=18) + self.set_vexpand(True) + self.set_hexpand(True) + self.set_margin_top(24) + pixbuf = Gtk.IconTheme.load_icon_for_scale( + Gtk.IconTheme.get_default(), + 'org.gajim.Gajim-symbolic', + 100, + self.get_scale_factor(), + 0) + self.add(Gtk.Image.new_from_pixbuf(pixbuf)) + + button = Gtk.Button(label=_('Add Account')) + button.get_style_context().add_class('suggested-action') + button.set_action_name('app.add-account') + button.set_halign(Gtk.Align.CENTER) + self.add(button) + + +class GenericSettingPage(Gtk.Box): + def __init__(self, account, settings): + Gtk.Box.__init__(self, orientation=Gtk.Orientation.VERTICAL, spacing=12) + self.set_valign(Gtk.Align.START) + self.set_vexpand(True) + self.account = account + + self.listbox = SettingsBox(account) + self.listbox.get_style_context().add_class('accounts-settings-border') + self.listbox.set_selection_mode(Gtk.SelectionMode.NONE) + self.listbox.set_vexpand(False) + self.listbox.set_valign(Gtk.Align.END) + + for setting in settings: + self.listbox.add_setting(setting) + self.listbox.update_states() + + self.pack_end(self.listbox, True, True, 0) + + def connect_signal(self, stack): + return stack.connect('notify::visible-child', + self._on_visible_child_changed) + + def _on_visible_child_changed(self, stack, _param): + if self == stack.get_visible_child(): + self.listbox.update_states() + + +class GeneralPage(GenericSettingPage): + + name = 'general' + + def __init__(self, account): + + settings = [ + Setting(SettingKind.ENTRY, _('Label'), + SettingType.ACCOUNT_CONFIG, 'account_label', + callback=self._on_account_name_change), + + Setting(SettingKind.COLOR, _('Color'), + SettingType.ACCOUNT_CONFIG, 'account_color', + desc=_('Recognize your account by color')), + + Setting(SettingKind.LOGIN, _('Login'), SettingType.DIALOG, + bind='account::anonymous_auth', + inverted=True, + props={'dialog': LoginDialog}), + + Setting(SettingKind.ACTION, _('Import Contacts'), + SettingType.ACTION, '-import-contacts', + props={'account': account}), + + # Currently not supported by nbxmpp + # + # Setting(SettingKind.DIALOG, _('Client Certificate'), + # SettingType.DIALOG, props={'dialog': CertificateDialog}), + + Setting(SettingKind.SWITCH, _('Connect on startup'), + SettingType.ACCOUNT_CONFIG, 'autoconnect'), + + Setting(SettingKind.SWITCH, + _('Save conversations for all contacts'), + SettingType.ACCOUNT_CONFIG, 'no_log_for', + desc=_('Store conversations on the harddrive')), + + Setting(SettingKind.SWITCH, _('Global Status'), + SettingType.ACCOUNT_CONFIG, 'sync_with_global_status', + desc=_('Synchronise the status of all accounts')), + + Setting(SettingKind.SWITCH, _('Remember Last Status'), + SettingType.ACCOUNT_CONFIG, 'restore_last_status', + desc=_('Restore status and status message of your ' + 'last session')), + + Setting(SettingKind.SWITCH, _('Use file transfer proxies'), + SettingType.ACCOUNT_CONFIG, 'use_ft_proxies'), + ] + GenericSettingPage.__init__(self, account, settings) + + def _on_account_name_change(self, *args): + self.get_toplevel().update_account_label(self.account) + + +class PrivacyPage(GenericSettingPage): + + name = 'privacy' + + def __init__(self, account): + self._account = account + + history_max_age = { + -1: _('Forever'), + 86400: _('1 Day'), + 604800: _('1 Week'), + 2629743: _('1 Month'), + 7889229: _('3 Months'), + 15778458: _('6 Months'), + 31556926: _('1 Year'), + } + + chatstate_entries = { + 'all': _('Enabled'), + 'composing_only': _('Composing Only'), + 'disabled': _('Disabled'), + } + + settings = [ + Setting(SettingKind.SWITCH, _('Idle Time'), + SettingType.ACCOUNT_CONFIG, 'send_idle_time', + desc=_('Disclose the time of your last activity')), + + Setting(SettingKind.SWITCH, _('Local System Time'), + SettingType.ACCOUNT_CONFIG, 'send_time_info', + desc=_('Disclose the local system time of the ' + 'device Gajim runs on')), + + Setting(SettingKind.SWITCH, _('Client / Operating System'), + SettingType.ACCOUNT_CONFIG, 'send_os_info', + desc=_('Disclose information about the client ' + 'and operating system you currently use')), + + Setting(SettingKind.SWITCH, _('Ignore Unknown Contacts'), + SettingType.ACCOUNT_CONFIG, 'ignore_unknown_contacts', + desc=_('Ignore everything from contacts not in your ' + 'Roster')), + + Setting(SettingKind.SWITCH, _('Send Message Receipts'), + SettingType.ACCOUNT_CONFIG, 'answer_receipts', + desc=_('Tell your contacts if you received a message')), + + Setting(SettingKind.POPOVER, + _('Send Chatstate'), + SettingType.ACCOUNT_CONFIG, + 'send_chatstate_default', + desc=_('Default for chats'), + props={'entries': chatstate_entries, + 'button-text': _('Reset'), + 'button-tooltip': _('Reset all chats to the ' + 'current default value'), + 'button-style': 'destructive-action', + 'button-callback': self._reset_send_chatstate}), + + Setting(SettingKind.POPOVER, + _('Send Chatstate in Group Chats'), + SettingType.ACCOUNT_CONFIG, + 'gc_send_chatstate_default', + desc=_('Default for group chats'), + props={'entries': chatstate_entries, + 'button-text': _('Reset'), + 'button-tooltip': _('Reset all group chats to the ' + 'current default value'), + 'button-style': 'destructive-action', + 'button-callback': self._reset_gc_send_chatstate}), + + Setting(SettingKind.SWITCH, + _('Send Read Markers'), + SettingType.VALUE, + app.settings.get_account_setting( + account, 'send_marker_default'), + callback=self._send_read_marker, + desc=_('Default for chats and private group chats'), + props={'button-text': _('Reset'), + 'button-tooltip': _('Reset all chats to the ' + 'current default value'), + 'button-style': 'destructive-action', + 'button-callback': self._reset_send_read_marker}), + + Setting(SettingKind.POPOVER, + _('Keep Chat History'), + SettingType.ACCOUNT_CONFIG, + 'chat_history_max_age', + props={'entries': history_max_age}, + desc=_('How long Gajim should keep your chat history')), + ] + GenericSettingPage.__init__(self, account, settings) + + @staticmethod + def _reset_send_chatstate(button): + button.set_sensitive(False) + app.settings.set_contact_settings('send_chatstate', None) + + @staticmethod + def _reset_gc_send_chatstate(button): + button.set_sensitive(False) + app.settings.set_group_chat_settings('send_chatstate', None) + + def _send_read_marker(self, state, _data): + app.settings.set_account_setting( + self._account, 'send_marker_default', state) + app.settings.set_account_setting( + self._account, 'gc_send_marker_private_default', state) + + def _reset_send_read_marker(self, button): + button.set_sensitive(False) + app.settings.set_contact_settings('send_marker', None) + app.settings.set_group_chat_settings( + 'send_marker', None, context='private') + for ctrl in app.interface.msg_win_mgr.get_controls(acct=self._account): + ctrl.update_actions() + + +class ConnectionPage(GenericSettingPage): + + name = 'connection' + + def __init__(self, account): + + settings = [ + Setting(SettingKind.POPOVER, _('Proxy'), + SettingType.ACCOUNT_CONFIG, 'proxy', name='proxy', + props={'entries': self._get_proxies(), + 'default-text': _('System'), + 'button-icon-name': 'preferences-system-symbolic', + 'button-callback': self._on_proxy_edit}), + + Setting(SettingKind.HOSTNAME, _('Hostname'), SettingType.DIALOG, + desc=_('Manually set the hostname for the server'), + props={'dialog': CutstomHostnameDialog}), + + Setting(SettingKind.ENTRY, _('Resource'), + SettingType.ACCOUNT_CONFIG, 'resource'), + + Setting(SettingKind.PRIORITY, _('Priority'), + SettingType.DIALOG, props={'dialog': PriorityDialog}), + + Setting(SettingKind.SWITCH, _('Use Unencrypted Connection'), + SettingType.ACCOUNT_CONFIG, 'use_plain_connection', + desc=_('Use an unencrypted connection to the server')), + + Setting(SettingKind.SWITCH, _('Confirm Unencrypted Connection'), + SettingType.ACCOUNT_CONFIG, + 'confirm_unencrypted_connection', + desc=_('Show a confirmation dialog before connecting ' + 'unencrypted')), + ] + GenericSettingPage.__init__(self, account, settings) + + @staticmethod + def _get_proxies(): + return {proxy: proxy for proxy in app.settings.get_proxies()} + + @staticmethod + def _on_proxy_edit(*args): + open_window('ManageProxies') + + def update_proxy_entries(self): + self.listbox.get_setting('proxy').update_entries(self._get_proxies()) + + +class AdvancedPage(GenericSettingPage): + + name = 'advanced' + + def __init__(self, account): + + settings = [ + Setting(SettingKind.SWITCH, _('Contact Information'), + SettingType.ACCOUNT_CONFIG, 'request_user_data', + desc=_('Request contact information ' + '(Mood, Activity, Tune, Location)')), + + Setting(SettingKind.SWITCH, _('Accept all Contact Requests'), + SettingType.ACCOUNT_CONFIG, 'autoauth', + desc=_('Automatically accept all contact requests')), + + Setting(SettingKind.POPOVER, _('Filetransfer Preference'), + SettingType.ACCOUNT_CONFIG, 'filetransfer_preference', + props={'entries': {'httpupload': _('Upload Files'), + 'jingle': _('Send Files Directly')}}, + desc=_('Preferred file transfer mechanism for ' + 'file drag&drop on a chat window')) + ] + GenericSettingPage.__init__(self, account, settings) + + +class ZeroConfPage(GenericSettingPage): + + name = 'general' + + def __init__(self, account): + + settings = [ + Setting(SettingKind.DIALOG, _('Profile'), + SettingType.DIALOG, + props={'dialog': ZeroconfProfileDialog}), + + Setting(SettingKind.SWITCH, _('Connect on startup'), + SettingType.ACCOUNT_CONFIG, 'autoconnect', + desc=_('Use environment variable')), + + Setting(SettingKind.SWITCH, + _('Save conversations for all contacts'), + SettingType.ACCOUNT_CONFIG, 'no_log_for', + desc=_('Store conversations on the harddrive')), + + Setting(SettingKind.SWITCH, _('Global Status'), + SettingType.ACCOUNT_CONFIG, 'sync_with_global_status', + desc=_('Synchronize the status of all accounts')), + ] + + GenericSettingPage.__init__(self, account, settings) + + +class ZeroconfProfileDialog(SettingsDialog): + def __init__(self, account, parent): + + settings = [ + Setting(SettingKind.ENTRY, _('First Name'), + SettingType.ACCOUNT_CONFIG, 'zeroconf_first_name'), + + Setting(SettingKind.ENTRY, _('Last Name'), + SettingType.ACCOUNT_CONFIG, 'zeroconf_last_name'), + + Setting(SettingKind.ENTRY, _('XMPP Address'), + SettingType.ACCOUNT_CONFIG, 'zeroconf_jabber_id'), + + Setting(SettingKind.ENTRY, _('Email'), + SettingType.ACCOUNT_CONFIG, 'zeroconf_email'), + ] + + SettingsDialog.__init__(self, parent, _('Profile'), + Gtk.DialogFlags.MODAL, settings, account) + + +class PriorityDialog(SettingsDialog): + def __init__(self, account, parent): + + neg_priority = app.settings.get('enable_negative_priority') + if neg_priority: + range_ = (-128, 127) + else: + range_ = (0, 127) + + settings = [ + Setting(SettingKind.SWITCH, _('Adjust to status'), + SettingType.ACCOUNT_CONFIG, + 'adjust_priority_with_status'), + + Setting(SettingKind.SPIN, _('Priority'), + SettingType.ACCOUNT_CONFIG, + 'priority', + bind='account::adjust_priority_with_status', + inverted=True, + props={'range_': range_}), + ] + + SettingsDialog.__init__(self, parent, _('Priority'), + Gtk.DialogFlags.MODAL, settings, account) + + self.connect('destroy', self.on_destroy) + + def on_destroy(self, *args): + # Update priority + if self.account not in app.connections: + return + show = app.connections[self.account].status + status = app.connections[self.account].status_message + app.connections[self.account].change_status(show, status) + + +class CutstomHostnameDialog(SettingsDialog): + def __init__(self, account, parent): + + type_values = ('START TLS', 'DIRECT TLS', 'PLAIN') + + settings = [ + Setting(SettingKind.SWITCH, _('Enable'), + SettingType.ACCOUNT_CONFIG, + 'use_custom_host'), + + Setting(SettingKind.ENTRY, _('Hostname'), + SettingType.ACCOUNT_CONFIG, 'custom_host', + bind='account::use_custom_host'), + + Setting(SettingKind.SPIN, _('Port'), + SettingType.ACCOUNT_CONFIG, 'custom_port', + bind='account::use_custom_host', + props={'range_': (0, 65535)},), + + Setting(SettingKind.COMBO, _('Type'), + SettingType.ACCOUNT_CONFIG, 'custom_type', + bind='account::use_custom_host', + props={'combo_items': type_values}), + ] + + SettingsDialog.__init__(self, parent, _('Connection Settings'), + Gtk.DialogFlags.MODAL, settings, account) + + +class CertificateDialog(SettingsDialog): + def __init__(self, account, parent): + + settings = [ + Setting(SettingKind.FILECHOOSER, _('Client Certificate'), + SettingType.ACCOUNT_CONFIG, 'client_cert', + props={'filefilter': (_('PKCS12 Files'), '*.p12')}), + + Setting(SettingKind.SWITCH, _('Encrypted Certificate'), + SettingType.ACCOUNT_CONFIG, 'client_cert_encrypted'), + ] + + SettingsDialog.__init__(self, parent, _('Certificate Settings'), + Gtk.DialogFlags.MODAL, settings, account) + + +class LoginDialog(SettingsDialog): + def __init__(self, account, parent): + + settings = [ + Setting(SettingKind.ENTRY, _('Password'), + SettingType.ACCOUNT_CONFIG, 'password', + bind='account::savepass'), + + Setting(SettingKind.SWITCH, _('Save Password'), + SettingType.ACCOUNT_CONFIG, 'savepass'), + + Setting(SettingKind.CHANGEPASSWORD, _('Change Password'), + SettingType.DIALOG, callback=self.on_password_change, + props={'dialog': None}), + + Setting(SettingKind.SWITCH, _('Use GSSAPI'), + SettingType.ACCOUNT_CONFIG, 'enable_gssapi'), + ] + + SettingsDialog.__init__(self, parent, _('Login Settings'), + Gtk.DialogFlags.MODAL, settings, account) + + self.connect('destroy', self.on_destroy) + + def on_password_change(self, new_password, _data): + passwords.save_password(self.account, new_password) + + def on_destroy(self, *args): + savepass = app.settings.get_account_setting(self.account, 'savepass') + if not savepass: + passwords.delete_password(self.account) diff --git a/gajim/gtk/add_contact.py b/gajim/gtk/add_contact.py new file mode 100644 index 0000000..f193f06 --- /dev/null +++ b/gajim/gtk/add_contact.py @@ -0,0 +1,509 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from gi.repository import Gdk +from gi.repository import Gtk + +from gajim import vcard +from gajim.common import app +from gajim.common import ged +from gajim.common import helpers +from gajim.common.i18n import _ + +from .dialogs import ErrorDialog +from .util import get_builder +from .util import EventHelper + + +class AddNewContactWindow(Gtk.ApplicationWindow, EventHelper): + + uid_labels = {'jabber': _('XMPP Address'), + 'gadu-gadu': _('GG Number'), + 'icq': _('ICQ Number')} + + def __init__(self, account=None, contact_jid=None, user_nick=None, group=None): + Gtk.ApplicationWindow.__init__(self) + EventHelper.__init__(self) + self.set_application(app.app) + self.set_position(Gtk.WindowPosition.CENTER) + self.set_show_menubar(False) + self.set_resizable(False) + self.set_title(_('Add Contact')) + + self.connect_after('key-press-event', self._on_key_press) + + self.account = account + self.adding_jid = False + + if contact_jid is not None: + contact_jid = app.get_jid_without_resource(contact_jid) + + # fill accounts with active accounts + accounts = app.get_enabled_accounts_with_labels() + + if not accounts: + return + + if not account: + self.account = accounts[0][0] + + self.xml = get_builder('add_new_contact_window.ui') + self.add(self.xml.get_object('add_contact_box')) + self.xml.connect_signals(self) + + for w in ('account_combobox', 'account_label', 'prompt_label', + 'uid_label', 'uid_entry', 'show_contact_info_button', + 'protocol_combobox', 'protocol_jid_combobox', + 'protocol_label', 'nickname_entry', + 'message_scrolledwindow', 'save_message_checkbutton', + 'register_hbox', 'add_button', 'message_textview', + 'connected_label', 'group_comboboxentry', + 'auto_authorize_checkbutton', 'save_message_revealer', + 'nickname_label', 'group_label'): + self.__dict__[w] = self.xml.get_object(w) + + self.subscription_table = [self.uid_label, self.uid_entry, + self.show_contact_info_button, + self.nickname_label, self.nickname_entry, + self.group_label, self.group_comboboxentry] + + self.add_button.grab_default() + + self.agents = {'jabber': []} + self.gateway_prompt = {} + # types to which we are not subscribed but account has an agent for it + self.available_types = [] + for acct in accounts: + for j in app.contacts.get_jid_list(acct[0]): + if app.jid_is_transport(j): + type_ = app.get_transport_name_from_jid(j, False) + if not type_: + continue + if type_ in self.agents: + self.agents[type_].append(j) + else: + self.agents[type_] = [j] + self.gateway_prompt[j] = {'desc': None, 'prompt': None} + # Now add the one to which we can register + for acct in accounts: + for type_ in app.connections[acct[0]].available_transports: + if type_ in self.agents: + continue + self.agents[type_] = [] + for jid_ in app.connections[acct[0]].available_transports[type_]: + if jid_ not in self.agents[type_]: + self.agents[type_].append(jid_) + self.gateway_prompt[jid_] = {'desc': None, + 'prompt': None} + self.available_types.append(type_) + + uf_type = {'jabber': 'XMPP', 'gadu-gadu': 'Gadu Gadu', 'icq': 'ICQ'} + # Jabber as first + liststore = self.protocol_combobox.get_model() + liststore.append(['XMPP', 'xmpp', 'jabber']) + for type_ in self.agents: + if type_ == 'jabber': + continue + if type_ in uf_type: + liststore.append([uf_type[type_], type_ + '-online', type_]) + else: + liststore.append([type_, type_ + '-online', type_]) + + if account: + for service in self.agents[type_]: + con = app.connections[account] + con.get_module('Gateway').request_gateway_prompt(service) + self.protocol_combobox.set_active(0) + self.auto_authorize_checkbutton.show() + + if contact_jid: + self.jid_escaped = True + type_ = app.get_transport_name_from_jid(contact_jid) + if not type_: + type_ = 'jabber' + if type_ == 'jabber': + self.uid_entry.set_text(contact_jid) + transport = None + else: + uid, transport = app.get_name_and_server_from_jid(contact_jid) + self.uid_entry.set_text(uid.replace('%', '@', 1)) + + self.show_contact_info_button.set_sensitive(True) + + # set protocol_combobox + model = self.protocol_combobox.get_model() + iter_ = model.get_iter_first() + i = 0 + while iter_: + if model[iter_][2] == type_: + self.protocol_combobox.set_active(i) + break + iter_ = model.iter_next(iter_) + i += 1 + + # set protocol_jid_combobox + self.protocol_jid_combobox.set_active(0) + model = self.protocol_jid_combobox.get_model() + iter_ = model.get_iter_first() + i = 0 + while iter_: + if model[iter_][0] == transport: + self.protocol_jid_combobox.set_active(i) + break + iter_ = model.iter_next(iter_) + i += 1 + if user_nick: + self.nickname_entry.set_text(user_nick) + self.nickname_entry.grab_focus() + else: + self.jid_escaped = False + self.uid_entry.grab_focus() + group_names = [] + for acct in accounts: + for g in app.groups[acct[0]].keys(): + if g not in helpers.special_groups and g not in group_names: + group_names.append(g) + group_names.sort() + i = 0 + for g in group_names: + self.group_comboboxentry.append_text(g) + if group == g: + self.group_comboboxentry.set_active(i) + i += 1 + + if len(accounts) > 1: + liststore = self.account_combobox.get_model() + for acc in accounts: + liststore.append(acc) + + self.account_combobox.set_active_id(self.account) + self.account_label.show() + self.account_combobox.show() + + if len(self.agents) > 1: + self.protocol_label.show() + self.protocol_combobox.show() + + if self.account: + message_buffer = self.message_textview.get_buffer() + msg = helpers.from_one_line(helpers.get_subscription_request_msg( + self.account)) + message_buffer.set_text(msg) + + self.uid_entry.connect('changed', self.on_uid_entry_changed) + self.show_all() + + self.register_events([ + ('gateway-prompt-received', ged.GUI1, self._nec_gateway_prompt_received), + ('presence-received', ged.GUI1, self._nec_presence_received), + ]) + + def on_uid_entry_changed(self, widget): + is_empty = bool(not self.uid_entry.get_text() == '') + self.show_contact_info_button.set_sensitive(is_empty) + + def on_show_contact_info_button_clicked(self, widget): + """ + Ask for vCard + """ + jid = self.uid_entry.get_text().strip() + + if jid in app.interface.instances[self.account]['infos']: + app.interface.instances[self.account]['infos'][jid].window.present() + else: + contact = app.contacts.create_contact(jid=jid, account=self.account) + app.interface.instances[self.account]['infos'][jid] = \ + vcard.VcardWindow(contact, self.account) + # Remove xmpp page + app.interface.instances[self.account]['infos'][jid].xml.\ + get_object('information_notebook').remove_page(0) + + def on_register_button_clicked(self, widget): + model = self.protocol_jid_combobox.get_model() + row = self.protocol_jid_combobox.get_active() + jid = model[row][0] + from .service_registration import ServiceRegistration + ServiceRegistration(self.account, jid) + + def _on_key_press(self, widget, event): + if event.keyval == Gdk.KEY_Escape: + self.destroy() + + def on_cancel_button_clicked(self, widget): + """ + When Cancel button is clicked + """ + self.destroy() + + def on_message_textbuffer_changed(self, widget): + self.save_message_revealer.show() + self.save_message_revealer.set_reveal_child(True) + + def on_add_button_clicked(self, widget): + """ + When Subscribe button is clicked + """ + jid = self.uid_entry.get_text().strip() + if not jid: + ErrorDialog( + _('%s Missing') % self.uid_label.get_text(), + (_('You must supply the %s of the new contact.') % + self.uid_label.get_text()) + ) + return + + model = self.protocol_combobox.get_model() + row = self.protocol_combobox.get_active_iter() + type_ = model[row][2] + if type_ != 'jabber': + model = self.protocol_jid_combobox.get_model() + row = self.protocol_jid_combobox.get_active() + transport = model[row][0] + if self.account and not self.jid_escaped: + self.adding_jid = (jid, transport, type_) + con = app.connections[self.account] + con.get_module('Gateway').request_gateway_prompt(transport, jid) + else: + jid = jid.replace('@', '%') + '@' + transport + self._add_jid(jid, type_) + else: + self._add_jid(jid, type_) + + def _add_jid(self, jid, type_): + # check if jid is conform to RFC and stringprep it + try: + jid = helpers.parse_jid(jid) + except helpers.InvalidFormat as s: + pritext = _('Invalid User ID') + ErrorDialog(pritext, str(s)) + return + + # No resource in jid + if jid.find('/') >= 0: + pritext = _('Invalid User ID') + ErrorDialog(pritext, _('The user ID must not contain a resource.')) + return + + if jid == app.get_jid_from_account(self.account): + pritext = _('Invalid User ID') + ErrorDialog(pritext, _('You cannot add yourself to your contact list.')) + return + + if not app.account_is_available(self.account): + ErrorDialog( + _('Account Offline'), + _('Your account must be online to add new contacts.') + ) + return + + nickname = self.nickname_entry.get_text() or '' + # get value of account combobox, if account was not specified + if not self.account: + model = self.account_combobox.get_model() + index = self.account_combobox.get_active() + self.account = model[index][1] + + # Check if jid is already in roster + if jid in app.contacts.get_jid_list(self.account): + c = app.contacts.get_first_contact_from_jid(self.account, jid) + if _('Not in contact list') not in c.groups and c.sub in ('both', 'to'): + ErrorDialog( + _('Contact Already in Contact List'), + _('This contact is already in your contact list.')) + return + + if type_ == 'jabber': + message_buffer = self.message_textview.get_buffer() + start_iter = message_buffer.get_start_iter() + end_iter = message_buffer.get_end_iter() + message = message_buffer.get_text(start_iter, end_iter, True) + if self.save_message_checkbutton.get_active(): + msg = helpers.to_one_line(message) + app.settings.set_account_setting(self.account, + 'subscription_request_msg', + msg) + else: + message = '' + group = self.group_comboboxentry.get_child().get_text() + groups = [] + if group: + groups = [group] + auto_auth = self.auto_authorize_checkbutton.get_active() + app.interface.roster.req_sub( + self, jid, message, self.account, + groups=groups, nickname=nickname, auto_auth=auto_auth) + self.destroy() + + def on_account_combobox_changed(self, widget): + account = widget.get_active_id() + message_buffer = self.message_textview.get_buffer() + message_buffer.set_text(helpers.get_subscription_request_msg(account)) + self.account = account + + def on_protocol_jid_combobox_changed(self, widget): + model = widget.get_model() + iter_ = widget.get_active_iter() + if not iter_: + return + jid_ = model[iter_][0] + model = self.protocol_combobox.get_model() + iter_ = self.protocol_combobox.get_active_iter() + type_ = model[iter_][2] + + desc = None + if self.agents[type_] and jid_ in self.gateway_prompt: + desc = self.gateway_prompt[jid_]['desc'] + + if desc: + self.prompt_label.set_markup(desc) + self.prompt_label.show() + else: + self.prompt_label.hide() + + prompt = None + if self.agents[type_] and jid_ in self.gateway_prompt: + prompt = self.gateway_prompt[jid_]['prompt'] + if not prompt: + if type_ in self.uid_labels: + prompt = self.uid_labels[type_] + else: + prompt = _('User ID:') + self.uid_label.set_text(prompt) + + def on_protocol_combobox_changed(self, widget): + model = widget.get_model() + iter_ = widget.get_active_iter() + type_ = model[iter_][2] + model = self.protocol_jid_combobox.get_model() + model.clear() + if self.agents[type_]: + for jid_ in self.agents[type_]: + model.append([jid_]) + self.protocol_jid_combobox.set_active(0) + desc = None + if self.agents[type_]: + jid_ = self.agents[type_][0] + if jid_ in self.gateway_prompt: + desc = self.gateway_prompt[jid_]['desc'] + + if desc: + self.prompt_label.set_markup(desc) + self.prompt_label.show() + else: + self.prompt_label.hide() + + if len(self.agents[type_]) > 1: + self.protocol_jid_combobox.show() + else: + self.protocol_jid_combobox.hide() + prompt = None + if self.agents[type_]: + jid_ = self.agents[type_][0] + if jid_ in self.gateway_prompt: + prompt = self.gateway_prompt[jid_]['prompt'] + if not prompt: + if type_ in self.uid_labels: + prompt = self.uid_labels[type_] + else: + prompt = _('User ID:') + self.uid_label.set_text(prompt) + + if type_ == 'jabber': + self.message_scrolledwindow.show() + self.save_message_checkbutton.show() + else: + self.message_scrolledwindow.hide() + self.save_message_checkbutton.hide() + if type_ in self.available_types: + self.register_hbox.show() + self.auto_authorize_checkbutton.hide() + self.connected_label.hide() + self._subscription_table_hide() + self.add_button.set_sensitive(False) + else: + self.register_hbox.hide() + if type_ != 'jabber': + model = self.protocol_jid_combobox.get_model() + row = self.protocol_jid_combobox.get_active() + jid = model[row][0] + contact = app.contacts.get_first_contact_from_jid( + self.account, jid) + if contact is None or contact.show in ('offline', 'error'): + self._subscription_table_hide() + self.connected_label.show() + self.add_button.set_sensitive(False) + self.auto_authorize_checkbutton.hide() + return + self._subscription_table_show() + self.auto_authorize_checkbutton.show() + self.connected_label.hide() + self.add_button.set_sensitive(True) + + def transport_signed_in(self, jid): + model = self.protocol_jid_combobox.get_model() + row = self.protocol_jid_combobox.get_active() + _jid = model[row][0] + if _jid == jid: + self.register_hbox.hide() + self.connected_label.hide() + self._subscription_table_show() + self.auto_authorize_checkbutton.show() + self.add_button.set_sensitive(True) + + def transport_signed_out(self, jid): + model = self.protocol_jid_combobox.get_model() + row = self.protocol_jid_combobox.get_active() + _jid = model[row][0] + if _jid == jid: + self._subscription_table_hide() + self.auto_authorize_checkbutton.hide() + self.connected_label.show() + self.add_button.set_sensitive(False) + + def _nec_presence_received(self, obj): + if app.jid_is_transport(obj.jid): + if obj.old_show == 0 and obj.new_show > 1: + self.transport_signed_in(obj.jid) + elif obj.old_show > 1 and obj.new_show == 0: + self.transport_signed_out(obj.jid) + + def _nec_gateway_prompt_received(self, obj): + if self.adding_jid: + jid, transport, type_ = self.adding_jid + if obj.stanza.getError(): + ErrorDialog( + _('Error while adding transport contact'), + _('This error occurred while adding a contact for transport ' + '%(transport)s:\n\n%(error)s') % { + 'transport': transport, + 'error': obj.stanza.getErrorMsg()}) + return + if obj.prompt_jid: + self._add_jid(obj.prompt_jid, type_) + else: + jid = jid.replace('@', '%') + '@' + transport + self._add_jid(jid, type_) + elif obj.jid in self.gateway_prompt: + if obj.desc: + self.gateway_prompt[obj.jid]['desc'] = obj.desc + if obj.prompt: + self.gateway_prompt[obj.jid]['prompt'] = obj.prompt + + def _subscription_table_hide(self): + for widget in self.subscription_table: + widget.hide() + + def _subscription_table_show(self): + for widget in self.subscription_table: + widget.show() diff --git a/gajim/gtk/adhoc.py b/gajim/gtk/adhoc.py new file mode 100644 index 0000000..3cb2155 --- /dev/null +++ b/gajim/gtk/adhoc.py @@ -0,0 +1,404 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import logging + +from gi.repository import Gtk +from gi.repository import GObject + +from nbxmpp.const import AdHocAction +from nbxmpp.modules import dataforms +from nbxmpp.errors import StanzaError +from nbxmpp.errors import MalformedStanzaError + +from gajim.common import app +from gajim.common.i18n import _ +from gajim.common.helpers import to_user_string + +from .assistant import Assistant +from .assistant import Page +from .assistant import ErrorPage +from .assistant import ProgressPage +from .dataform import DataFormWidget +from .util import MultiLineLabel +from .util import ensure_not_destroyed + + +log = logging.getLogger('gajim.gui.adhoc') + + +class AdHocCommand(Assistant): + def __init__(self, account, jid=None): + Assistant.__init__(self, width=600, height=500) + + self._destroyed = False + + self._client = app.get_client(account) + self._account = account + self._jid = jid + + self.add_button('complete', _('Complete'), complete=True, + css_class='suggested-action') + self.add_button('next', _('Next'), complete=True, + css_class='suggested-action') + self.add_button('prev', _('Previous')) + self.add_button('cancel', _('Cancel'), + css_class='destructive-action') + self.add_button('commands', _('Commands'), + css_class='suggested-action') + self.add_button('execute', _('Execute'), css_class='suggested-action') + + self.add_pages({ + 'request': RequestCommandList(), + 'commands': Commands(), + 'stage': Stage(), + 'completed': Completed(), + 'error': Error(), + 'executing': Executing(), + }) + + self.get_page('commands').connect('execute', self._on_execute) + + self.connect('button-clicked', self._on_button_clicked) + self.connect('destroy', self._on_destroy) + + self._client.get_module('AdHocCommands').request_command_list( + jid, callback=self._received_command_list) + self.show_all() + + @ensure_not_destroyed + def _received_command_list(self, task): + try: + commands = task.finish() + except (StanzaError, MalformedStanzaError) as error: + self._set_error(to_user_string(error), False) + return + + if not commands: + self._set_error(_('No commands available'), False) + return + + self.get_page('commands').add_commands(commands) + self.show_page('commands') + + @ensure_not_destroyed + def _received_stage(self, task): + try: + stage = task.finish() + except (StanzaError, MalformedStanzaError) as error: + self._set_error(to_user_string(error), True) + return + + page_name = 'stage' + if stage.is_completed: + page_name = 'completed' + + page = self.get_page(page_name) + page.process_stage(stage) + self.show_page(page_name) + + def _set_error(self, text, show_command_button): + self.get_page('error').set_show_commands_button(show_command_button) + self.get_page('error').set_text(text) + self.show_page('error') + + def _on_destroy(self, *args): + self._destroyed = True + + def _on_button_clicked(self, _assistant, button_name): + if button_name == 'commands': + self.show_page('commands') + + elif button_name == 'execute': + self._on_execute() + + elif button_name in ('prev', 'next', 'complete'): + self._on_stage_action(AdHocAction(button_name)) + + elif button_name == 'cancel': + self._on_cancel() + + else: + raise ValueError('Invalid button name: %s' % button_name) + + def _on_stage_action(self, action): + command, dataform = self.get_page('stage').stage_data + if action == AdHocAction.PREV: + dataform = None + + self._client.get_module('AdHocCommands').execute_command( + command, + action=action, + dataform=dataform, + callback=self._received_stage) + + self.show_page('executing') + self.get_page('stage').clear() + + def _on_execute(self, *args): + command = self.get_page('commands').get_selected_command() + if command is None: + return + + self._client.get_module('AdHocCommands').execute_command( + command, + action=AdHocAction.EXECUTE, + callback=self._received_stage) + + self.show_page('executing') + + def _on_cancel(self): + command, _ = self.get_page('stage').stage_data + self._client.get_module('AdHocCommands').execute_command( + command, AdHocAction.CANCEL) + self.show_page('commands') + + +class Commands(Page): + + __gsignals__ = { + 'execute': (GObject.SignalFlags.RUN_LAST, None, ()), + } + + def __init__(self): + Page.__init__(self) + + self.set_valign(Gtk.Align.FILL) + self.complete = True + self.title = _('Command List') + + self._commands = {} + self._scrolled = Gtk.ScrolledWindow() + self._scrolled.get_style_context().add_class('adhoc-scrolled') + self._scrolled.set_max_content_height(400) + self._scrolled.set_max_content_width(400) + self._scrolled.set_policy(Gtk.PolicyType.NEVER, + Gtk.PolicyType.AUTOMATIC) + self._treeview = Gtk.TreeView() + self._treeview.get_style_context().add_class('adhoc-treeview') + self._store = Gtk.ListStore(str, str) + self._treeview.set_model(self._store) + column = Gtk.TreeViewColumn(_('Commands')) + column.set_expand(True) + self._treeview.append_column(column) + renderer = Gtk.CellRendererText() + column.pack_start(renderer, True) + column.add_attribute(renderer, 'text', 0) + + self._treeview.connect('row-activated', self._on_row_activate) + self._treeview.set_search_equal_func(self._search_func) + + self._scrolled.add(self._treeview) + self.pack_start(self._scrolled, True, True, 0) + self.show_all() + + @staticmethod + def _search_func(model, _column, search_text, iter_): + return search_text.lower() not in model[iter_][0].lower() + + def _on_row_activate(self, _tree_view, _path, _column): + self.emit('execute') + + def add_commands(self, commands): + self._store.clear() + self._commands = {} + for command in commands: + key = '%s:%s' % (command.jid, command.node) + self._commands[key] = command + self._store.append((command.name, key)) + + def get_selected_command(self): + model, treeiter = self._treeview.get_selection().get_selected() + if treeiter is None: + return None + key = model[treeiter][1] + return self._commands[key] + + def get_visible_buttons(self): + return ['execute'] + + +class Stage(Page): + def __init__(self): + Page.__init__(self) + + self.set_valign(Gtk.Align.FILL) + self.complete = False + self.title = _('Stage') + + self._dataform_widget = None + self._notes = [] + self._last_stage_data = None + self.default = None + self.show_all() + + @property + def stage_data(self): + return self._last_stage_data, self._dataform_widget.get_submit_form() + + @property + def actions(self): + return self._last_stage_data.actions + + def clear(self): + self._show_form(None) + self._show_notes(None) + self._last_stage_data = None + + def process_stage(self, stage_data): + self._last_stage_data = stage_data + self._show_notes(stage_data.notes) + self._show_form(stage_data.data) + self.default = stage_data.default + + def _show_form(self, form): + if self._dataform_widget is not None: + self.remove(self._dataform_widget) + self._dataform_widget.destroy() + if form is None: + return + form = dataforms.extend_form(node=form) + options = {'entry-activates-default': True} + self._dataform_widget = DataFormWidget(form, options) + self._dataform_widget.connect('is-valid', self._on_is_valid) + self._dataform_widget.validate() + self._dataform_widget.show_all() + self.add(self._dataform_widget) + + def _show_notes(self, notes): + for note in self._notes: + self.remove(note) + self._notes = [] + + if notes is None: + return + + for note in notes: + label = Gtk.Label(label=note.text) + label.show() + self._notes.append(label) + self.add(label) + + def _on_is_valid(self, _widget, is_valid): + self.complete = is_valid + self.update_page_complete() + + def get_visible_buttons(self): + actions = list(map(lambda action: action.value, + self._last_stage_data.actions)) + return actions + + def get_default_button(self): + return self._last_stage_data.default.value + + +class Completed(Page): + def __init__(self): + Page.__init__(self) + + self.set_valign(Gtk.Align.FILL) + self.complete = True + self.title = _('Completed') + + self._notes = [] + self._dataform_widget = None + + icon = Gtk.Image.new_from_icon_name('object-select-symbolic', + Gtk.IconSize.DIALOG) + icon.get_style_context().add_class('success-color') + icon.show() + + label = Gtk.Label(label='Completed') + label.show() + + self._icon_text = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) + self._icon_text.set_spacing(12) + self._icon_text.set_halign(Gtk.Align.CENTER) + self._icon_text.add(icon) + self._icon_text.add(label) + self.add(self._icon_text) + + self.show_all() + + def process_stage(self, stage_data): + self._show_notes(stage_data.notes) + self._show_form(stage_data.data) + self._show_icon_text(stage_data.data is None) + + def _show_icon_text(self, show): + if show: + self.set_valign(Gtk.Align.CENTER) + self._icon_text.show_all() + else: + self.set_valign(Gtk.Align.FILL) + self._icon_text.hide() + + def _show_form(self, form): + if self._dataform_widget is not None: + self.remove(self._dataform_widget) + self._dataform_widget.destroy() + if form is None: + return + + form = dataforms.extend_form(node=form) + + self._dataform_widget = DataFormWidget( + form, options={'read-only': True}) + self._dataform_widget.show_all() + self.add(self._dataform_widget) + + def _show_notes(self, notes): + for note in self._notes: + self.remove(note) + self._notes = [] + + for note in notes: + label = MultiLineLabel(label=note.text) + label.set_justify(Gtk.Justification.CENTER) + label.show() + self._notes.append(label) + self.add(label) + + def get_visible_buttons(self): + return ['commands'] + + +class Error(ErrorPage): + def __init__(self): + ErrorPage.__init__(self) + + self._show_commands_button = False + self.set_heading(_('An error occurred')) + + def set_show_commands_button(self, value): + self._show_commands_button = value + + def get_visible_buttons(self): + if self._show_commands_button: + return ['commands'] + return None + + +class Executing(ProgressPage): + def __init__(self): + ProgressPage.__init__(self) + self.set_title(_('Executing…')) + self.set_text(_('Executing…')) + + +class RequestCommandList(ProgressPage): + def __init__(self): + ProgressPage.__init__(self) + self.set_title(_('Requesting Command List')) + self.set_text(_('Requesting Command List')) diff --git a/gajim/gtk/advanced_config.py b/gajim/gtk/advanced_config.py new file mode 100644 index 0000000..651cd71 --- /dev/null +++ b/gajim/gtk/advanced_config.py @@ -0,0 +1,215 @@ +# Copyright (C) 2005 Travis Shirk +# Vincent Hanquez +# Copyright (C) 2005-2014 Yann Leboulanger +# Copyright (C) 2005-2007 Nikos Kouremenos +# Copyright (C) 2006 Dimitur Kirov +# Copyright (C) 2006-2007 Jean-Marie Traissard +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from enum import IntEnum +from enum import unique + +from gi.repository import Gdk +from gi.repository import Gtk +from gi.repository import Pango + +from gajim.common import app +from gajim.common.i18n import _ +from gajim.common.i18n import Q_ + +from gajim.common.setting_values import ADVANCED_SETTINGS +from gajim.common.setting_values import APP_SETTINGS +from .util import get_builder + + +@unique +class Column(IntEnum): + NAME = 0 + VALUE = 1 + TYPE = 2 + + +BOOL_DICT = { + True: _('Activated'), + False: _('Deactivated') +} + + +SETTING_TYPES = { + bool: Q_('?config type:Boolean'), + int: Q_('?config type:Integer'), + str: Q_('?config type:Text'), +} + + +class AdvancedConfig(Gtk.ApplicationWindow): + def __init__(self): + Gtk.ApplicationWindow.__init__(self) + self.set_application(app.app) + self.set_position(Gtk.WindowPosition.CENTER) + self.set_show_menubar(False) + self.set_name('AdvancedConfig') + self.set_title(_('Advanced Configuration Editor (ACE)')) + + self._ui = get_builder('advanced_configuration.ui') + self.add(self._ui.box) + + treeview = self._ui.advanced_treeview + self.treeview = treeview + self.model = Gtk.TreeStore(str, str, str) + self._fill_model() + self.model.set_sort_column_id(0, Gtk.SortType.ASCENDING) + self.modelfilter = self.model.filter_new() + self.modelfilter.set_visible_func(self._visible_func) + + renderer_text = Gtk.CellRendererText() + renderer_text.set_property('ellipsize', Pango.EllipsizeMode.END) + col = Gtk.TreeViewColumn(Q_('?config:Preference Name'), + renderer_text, text=0) + treeview.insert_column(col, -1) + col.props.expand = True + col.props.sizing = Gtk.TreeViewColumnSizing.FIXED + col.set_resizable(True) + + self.renderer_text = Gtk.CellRendererText() + self.renderer_text.connect('edited', self._on_config_edited) + self.renderer_text.set_property('ellipsize', Pango.EllipsizeMode.END) + col = Gtk.TreeViewColumn( + Q_('?config:Value'), self.renderer_text, text=1) + treeview.insert_column(col, -1) + col.set_cell_data_func(self.renderer_text, + self._value_column_data_callback) + col.props.expand = True + col.props.sizing = Gtk.TreeViewColumnSizing.FIXED + col.set_resizable(True) + + renderer_text = Gtk.CellRendererText() + col = Gtk.TreeViewColumn(Q_('?config:Type'), renderer_text, text=2) + treeview.insert_column(col, -1) + col.props.sizing = Gtk.TreeViewColumnSizing.FIXED + + treeview.set_model(self.modelfilter) + + self.connect_after('key-press-event', self._on_key_press) + self._ui.connect_signals(self) + self.show_all() + + def _on_key_press(self, _widget, event): + if event.keyval != Gdk.KEY_Escape: + return + + if self._ui.search_entry.get_text(): + self._ui.search_entry.set_text('') + return + + self.destroy() + + def _value_column_data_callback(self, _col, cell, model, iter_, _data): + opttype = model[iter_][Column.TYPE] + cell.set_property('editable', opttype != SETTING_TYPES[bool]) + + def _on_treeview_selection_changed(self, treeselection): + model, iter_ = treeselection.get_selected() + if not iter_: + self._ui.reset_button.set_sensitive(False) + return + + setting = model[iter_][Column.NAME] + desc = ADVANCED_SETTINGS['app'][setting] + + self._ui.description.set_text(desc or Q_('?config description:None')) + self._ui.reset_button.set_sensitive(True) + + def _on_treeview_row_activated(self, _treeview, path, _column): + modelpath = self.modelfilter.convert_path_to_child_path(path) + modelrow = self.model[modelpath] + setting = modelrow[Column.NAME] + + if modelrow[Column.TYPE] != SETTING_TYPES[bool]: + return + + setting_value = modelrow[Column.VALUE] != _('Activated') + column_value = BOOL_DICT[setting_value] + + app.settings.set(setting, setting_value) + modelrow[Column.VALUE] = column_value + + def _on_config_edited(self, _cell, path, text): + path = Gtk.TreePath.new_from_string(path) + modelpath = self.modelfilter.convert_path_to_child_path(path) + modelrow = self.model[modelpath] + setting = modelrow[Column.NAME] + + value = text + if modelrow[Column.TYPE] == SETTING_TYPES[int]: + value = int(text) + + app.settings.set(setting, value) + modelrow[Column.VALUE] = text + + def _on_reset_button_clicked(self, button): + model, iter_ = self.treeview.get_selection().get_selected() + if not iter_: + return + + setting = model[iter_][Column.NAME] + default = APP_SETTINGS[setting] + + if isinstance(default, bool): + model[iter_][Column.VALUE] = BOOL_DICT[default] + else: + model[iter_][Column.VALUE] = str(default) + + app.settings.set(setting, default) + button.set_sensitive(False) + + def _fill_model(self, node=None, parent=None): + for category, settings in ADVANCED_SETTINGS.items(): + if category != 'app': + continue + + for setting, description in settings.items(): + value = app.settings.get(setting) + if isinstance(value, bool): + value = BOOL_DICT[value] + type_ = SETTING_TYPES[bool] + + elif isinstance(value, int): + value = str(value) + type_ = SETTING_TYPES[int] + + elif isinstance(value, str): + type_ = SETTING_TYPES[str] + + else: + raise ValueError + + self.model.append(parent, [setting, value, type_]) + + def _visible_func(self, model, treeiter, _data): + search_string = self._ui.search_entry.get_text().lower() + if not search_string: + return True + + setting = model[treeiter][Column.NAME] + desc = ADVANCED_SETTINGS['app'][setting] + + if search_string in setting or search_string in desc.lower(): + return True + return False + + def _on_search_entry_changed(self, _widget): + self.modelfilter.refilter() diff --git a/gajim/gtk/assistant.py b/gajim/gtk/assistant.py new file mode 100644 index 0000000..f939cdd --- /dev/null +++ b/gajim/gtk/assistant.py @@ -0,0 +1,276 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from gi.repository import Gdk +from gi.repository import Gtk +from gi.repository import Gio +from gi.repository import GObject + +from .util import get_builder +from .util import EventHelper + + +class Assistant(Gtk.ApplicationWindow, EventHelper): + + __gsignals__ = dict( + button_clicked=( + GObject.SignalFlags.RUN_LAST | GObject.SignalFlags.ACTION, + None, + (str, ) + ), + page_changed=( + GObject.SignalFlags.RUN_LAST | GObject.SignalFlags.ACTION, + None, + (str, ) + )) + + def __init__(self, + transient_for=None, + width=550, + height=400, + transition_duration=200): + Gtk.ApplicationWindow.__init__(self) + EventHelper.__init__(self) + self.set_application(Gio.Application.get_default()) + self.set_position(Gtk.WindowPosition.CENTER) + self.set_show_menubar(False) + self.set_name('Assistant') + self.set_default_size(width, height) + self.set_resizable(True) + self.set_transient_for(transient_for) + self.set_type_hint(Gdk.WindowTypeHint.DIALOG) + + self._pages = {} + self._buttons = {} + self._button_visible_func = None + + self._ui = get_builder('assistant.ui') + self.add(self._ui.main_grid) + + self._ui.stack.set_transition_duration(transition_duration) + + self.connect('key-press-event', self._on_key_press_event) + self.connect('destroy', self.__on_destroy) + self._ui.connect_signals(self) + + def show_all(self): + page_name = self._ui.stack.get_visible_child_name() + self.emit('page-changed', page_name) + Gtk.ApplicationWindow.show_all(self) + + def _on_key_press_event(self, _widget, event): + if event.keyval == Gdk.KEY_Escape: + self.destroy() + + def _update_page_complete(self, *args): + page_widget = self._ui.stack.get_visible_child() + for button, complete in self._buttons.values(): + if complete: + button.set_sensitive(page_widget.complete) + + def update_title(self): + self.set_title(self._ui.stack.get_visible_child().title) + + def _hide_buttons(self): + for button, _ in self._buttons.values(): + button.hide() + + def _set_buttons_visible(self): + page_name = self._ui.stack.get_visible_child_name() + if self._button_visible_func is None: + buttons = self.get_page(page_name).get_visible_buttons() + if buttons is not None: + if len(buttons) == 1: + default = buttons[0] + else: + default = self.get_page(page_name).get_default_button() + + self.set_default_button(default) + else: + buttons = self._button_visible_func(self, page_name) + + self._update_page_complete() + + if buttons is None: + return + + for button_name in buttons: + button, _ = self._buttons[button_name] + button.show() + + def set_button_visible_func(self, func): + self._button_visible_func = func + + def set_default_button(self, button_name): + button, _ = self._buttons[button_name] + button.grab_default() + + def add_button(self, name, label, css_class=None, complete=False): + button = Gtk.Button(label=label, + can_default=True, + no_show_all=True) + button.connect('clicked', self.__on_button_clicked) + if css_class is not None: + button.get_style_context().add_class(css_class) + self._buttons[name] = (button, complete) + self._ui.action_area.pack_end(button, False, False, 0) + + def add_pages(self, pages): + self._pages = pages + for name, widget in pages.items(): + widget.connect('update-page-complete', self._update_page_complete) + self._ui.stack.add_named(widget, name) + + def add_default_page(self, name): + if name == 'success': + page = SuccessPage() + elif name == 'error': + page = ErrorPage() + elif name == 'progress': + page = ProgressPage() + else: + raise ValueError('Unknown page: %s' % name) + + self._pages[name] = page + self._ui.stack.add_named(page, name) + return page + + def get_current_page(self): + return self._ui.stack.get_visible_child_name() + + def show_page(self, name, transition=Gtk.StackTransitionType.NONE): + if self._ui.stack.get_visible_child_name() == name: + return + self._hide_buttons() + self._ui.stack.set_visible_child_full(name, transition) + + def get_page(self, name): + return self._pages[name] + + def _on_visible_child_name(self, stack, _param): + if stack.get_visible_child_name() is None: + # Happens for some reason when adding the first page + return + self.update_title() + self._set_buttons_visible() + self.emit('page-changed', stack.get_visible_child_name()) + + def __on_button_clicked(self, button): + for button_name, button_data in self._buttons.items(): + button_ = button_data[0] + if button_ == button: + self.emit('button-clicked', button_name) + return + + def __on_destroy(self, *args): + self._pages.clear() + self._buttons.clear() + + +class Page(Gtk.Box): + + __gsignals__: dict = { + 'update-page-complete': (GObject.SignalFlags.RUN_LAST, None, ()), + } + + def __init__(self): + Gtk.Box.__init__(self, orientation=Gtk.Orientation.VERTICAL) + self.set_spacing(18) + self.set_valign(Gtk.Align.CENTER) + + self.title = '' + self.complete = True + + def get_visible_buttons(self): + return None + + def get_default_button(self): + return None + + def update_page_complete(self): + self.emit('update-page-complete') + + +class DefaultPage(Page): + def __init__(self, icon_name, icon_css_class): + Page.__init__(self) + + self._heading = Gtk.Label() + self._heading.get_style_context().add_class('large-header') + self._heading.set_max_width_chars(30) + self._heading.set_line_wrap(True) + self._heading.set_halign(Gtk.Align.CENTER) + self._heading.set_justify(Gtk.Justification.CENTER) + + icon = Gtk.Image.new_from_icon_name(icon_name, Gtk.IconSize.DIALOG) + icon.get_style_context().add_class(icon_css_class) + + self._label = Gtk.Label() + self._label.set_max_width_chars(50) + self._label.set_line_wrap(True) + self._label.set_halign(Gtk.Align.CENTER) + self._label.set_justify(Gtk.Justification.CENTER) + + self.pack_start(self._heading, False, True, 0) + self.pack_start(icon, False, True, 0) + self.pack_start(self._label, False, True, 0) + self.show_all() + + def set_heading(self, heading): + self._heading.set_text(heading) + + def set_text(self, text): + self._label.set_text(text) + + def set_title(self, title): + self.title = title + + +class ErrorPage(DefaultPage): + def __init__(self): + DefaultPage.__init__(self, + icon_name='dialog-error-symbolic', + icon_css_class='error-color') + + +class SuccessPage(DefaultPage): + def __init__(self): + DefaultPage.__init__(self, + icon_name='object-select-symbolic', + icon_css_class='success-color') + + +class ProgressPage(Page): + def __init__(self): + Page.__init__(self) + + self._label = Gtk.Label() + self._label.set_max_width_chars(50) + self._label.set_line_wrap(True) + self._label.set_halign(Gtk.Align.CENTER) + self._label.set_justify(Gtk.Justification.CENTER) + + spinner = Gtk.Spinner() + spinner.start() + + self.pack_start(spinner, True, True, 0) + self.pack_start(self._label, False, True, 0) + + self.show_all() + + def set_text(self, text): + self._label.set_text(text) + + def set_title(self, title): + self.title = title diff --git a/gajim/gtk/avatar.py b/gajim/gtk/avatar.py new file mode 100644 index 0000000..30d4a70 --- /dev/null +++ b/gajim/gtk/avatar.py @@ -0,0 +1,364 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import logging +import hashlib +from math import pi +from functools import lru_cache +from collections import defaultdict + +from gi.repository import Gdk +from gi.repository import GdkPixbuf +import cairo + +from gajim.common import app +from gajim.common import configpaths +from gajim.common.helpers import Singleton +from gajim.common.helpers import get_groupchat_name +from gajim.common.const import AvatarSize +from gajim.common.const import StyleAttr + +from .util import load_pixbuf +from .util import text_to_color +from .util import scale_with_ratio +from .util import get_css_show_class +from .util import convert_rgb_string_to_float + +log = logging.getLogger('gajim.gui.avatar') + + +def generate_avatar(letters, color, size, scale): + # Get color for nickname with XEP-0392 + color_r, color_g, color_b = color + + # Set up colors and size + if scale is not None: + size = size * scale + + width = size + height = size + font_size = size * 0.5 + + # Set up surface + surface = cairo.ImageSurface(cairo.Format.ARGB32, width, height) + context = cairo.Context(surface) + + context.set_source_rgb(color_r, color_g, color_b) + context.rectangle(0, 0, width, height) + context.fill() + + # Draw letters + context.select_font_face('sans-serif', + cairo.FontSlant.NORMAL, + cairo.FontWeight.NORMAL) + context.set_font_size(font_size) + extends = context.text_extents(letters) + x_bearing = extends.x_bearing + y_bearing = extends.y_bearing + ex_width = extends.width + ex_height = extends.height + + x_pos = width / 2 - (ex_width / 2 + x_bearing) + y_pos = height / 2 - (ex_height / 2 + y_bearing) + context.move_to(x_pos, y_pos) + context.set_source_rgb(0.95, 0.95, 0.95) + context.set_operator(cairo.Operator.OVER) + context.show_text(letters) + + return context.get_target() + + +def add_status_to_avatar(surface, show): + width = surface.get_width() + height = surface.get_height() + + new_surface = cairo.ImageSurface(cairo.Format.ARGB32, width, height) + new_surface.set_device_scale(*surface.get_device_scale()) + + scale = surface.get_device_scale()[0] + + context = cairo.Context(new_surface) + context.set_source_surface(surface, 0, 0) + context.paint() + + # Correct height and width for scale + width = width / scale + height = height / scale + + clip_radius = width / 5.5 + center_x = width - clip_radius + center_y = height - clip_radius + + context.set_source_rgb(255, 255, 255) + context.set_operator(cairo.Operator.CLEAR) + context.arc(center_x, center_y, clip_radius, 0, 2 * pi) + context.fill() + + css_color = get_css_show_class(show) + color = convert_rgb_string_to_float( + app.css_config.get_value(css_color, StyleAttr.COLOR)) + + show_radius = clip_radius * 0.75 + + context.set_source_rgb(*color) + context.set_operator(cairo.Operator.OVER) + context.arc(center_x, center_y, show_radius, 0, 2 * pi) + context.fill() + + if show == 'dnd': + line_length = clip_radius / 2 + context.move_to(center_x - line_length, center_y) + context.line_to(center_x + line_length, center_y) + + context.set_source_rgb(255, 255, 255) + context.set_line_width(clip_radius / 4) + context.stroke() + + return context.get_target() + + +def square(surface, size): + width = surface.get_width() + height = surface.get_height() + if width == height: + return surface + + new_surface = cairo.ImageSurface(cairo.Format.ARGB32, size, size) + new_surface.set_device_scale(*surface.get_device_scale()) + context = cairo.Context(new_surface) + + scale = surface.get_device_scale()[0] + + if width == size: + x_pos = 0 + y_pos = (size - height) / 2 / scale + else: + y_pos = 0 + x_pos = (size - width) / 2 / scale + + context.set_source_surface(surface, x_pos, y_pos) + context.paint() + return context.get_target() + + +def clip_circle(surface): + new_surface = cairo.ImageSurface(cairo.Format.ARGB32, + surface.get_width(), + surface.get_height()) + + new_surface.set_device_scale(*surface.get_device_scale()) + context = cairo.Context(new_surface) + context.set_source_surface(surface, 0, 0) + + width = surface.get_width() + height = surface.get_height() + scale = surface.get_device_scale()[0] + radius = width / 2 / scale + + context.arc(width / 2 / scale, height / 2 / scale, radius, 0, 2 * pi) + + context.clip() + context.paint() + + return context.get_target() + + +def get_avatar_from_pixbuf(pixbuf, scale, show=None): + size = max(pixbuf.get_width(), pixbuf.get_height()) + size *= scale + surface = Gdk.cairo_surface_create_from_pixbuf(pixbuf, scale) + if surface is None: + return None + surface = square(surface, size) + if surface is None: + return None + surface = clip_circle(surface) + if surface is None: + return None + if show is not None: + return add_status_to_avatar(surface, show) + return surface + + +class AvatarStorage(metaclass=Singleton): + def __init__(self): + self._cache = defaultdict(dict) + + def invalidate_cache(self, jid): + self._cache.pop(jid, None) + + def get_pixbuf(self, contact, size, scale, show=None, default=False): + surface = self.get_surface(contact, size, scale, show, default) + return Gdk.pixbuf_get_from_surface(surface, 0, 0, size, size) + + def get_surface(self, contact, size, scale, show=None, default=False): + jid = contact.jid + if contact.is_gc_contact: + jid = contact.get_full_jid() + + if not default: + surface = self._cache[jid].get((size, scale, show)) + if surface is not None: + return surface + + surface = self._get_avatar_from_storage(contact, size, scale) + if surface is not None: + if show is not None: + surface = add_status_to_avatar(surface, show) + self._cache[jid][(size, scale, show)] = surface + return surface + + name = contact.get_shown_name() + # Use nickname for group chats and bare JID for single contacts + if contact.is_gc_contact: + color_string = contact.name + else: + color_string = contact.jid + + letter = self._generate_letter(name) + surface = self._generate_default_avatar( + letter, color_string, size, scale) + if show is not None: + surface = add_status_to_avatar(surface, show) + self._cache[jid][(size, scale, show)] = surface + return surface + + def get_muc_surface(self, account, jid, size, scale, default=False): + if not default: + surface = self._cache[jid].get((size, scale)) + if surface is not None: + return surface + + avatar_sha = app.storage.cache.get_muc_avatar_sha(jid) + if avatar_sha is not None: + surface = self.surface_from_filename(avatar_sha, size, scale) + if surface is None: + return None + surface = clip_circle(surface) + self._cache[jid][(size, scale)] = surface + return surface + + con = app.connections[account] + name = get_groupchat_name(con, jid) + letter = self._generate_letter(name) + surface = self._generate_default_avatar(letter, jid, size, scale) + self._cache[jid][(size, scale)] = surface + return surface + + def prepare_for_publish(self, path): + success, data = self._load_for_publish(path) + if not success: + return None, None + + sha = self.save_avatar(data) + if sha is None: + return None, None + return data, sha + + @staticmethod + def _load_for_publish(path): + pixbuf = load_pixbuf(path) + if pixbuf is None: + return None + + width = pixbuf.get_width() + height = pixbuf.get_height() + if width > AvatarSize.PUBLISH or height > AvatarSize.PUBLISH: + # Scale only down, never up + width, height = scale_with_ratio(AvatarSize.PUBLISH, width, height) + pixbuf = pixbuf.scale_simple(width, + height, + GdkPixbuf.InterpType.BILINEAR) + + return pixbuf.save_to_bufferv('png', [], []) + + @staticmethod + def save_avatar(data): + """ + Save an avatar to the harddisk + + :param data: bytes + + returns SHA1 value of the avatar or None on error + """ + if data is None: + return None + + sha = hashlib.sha1(data).hexdigest() + path = configpaths.get('AVATAR') / sha + try: + with open(path, 'wb') as output_file: + output_file.write(data) + except Exception: + log.error('Storing avatar failed', exc_info=True) + return None + return sha + + @staticmethod + def get_avatar_path(filename): + path = configpaths.get('AVATAR') / filename + if not path.is_file(): + return None + return path + + def surface_from_filename(self, filename, size, scale): + size = size * scale + path = self.get_avatar_path(filename) + if path is None: + return None + + pixbuf = load_pixbuf(path, size) + if pixbuf is None: + return None + + surface = Gdk.cairo_surface_create_from_pixbuf(pixbuf, scale) + return square(surface, size) + + def _load_surface_from_storage(self, contact, size, scale): + filename = contact.avatar_sha + size = size * scale + path = self.get_avatar_path(filename) + if path is None: + return None + + pixbuf = load_pixbuf(path, size) + if pixbuf is None: + return None + surface = Gdk.cairo_surface_create_from_pixbuf(pixbuf, scale) + return square(surface, size) + + def _get_avatar_from_storage(self, contact, size, scale): + if contact.avatar_sha is None: + return None + + surface = self._load_surface_from_storage(contact, size, scale) + if surface is None: + return None + return clip_circle(surface) + + @staticmethod + def _generate_letter(name): + for letter in name: + if letter.isalpha(): + return letter.capitalize() + return name[0].capitalize() + + @staticmethod + @lru_cache(maxsize=2048) + def _generate_default_avatar(letter, color_string, size, scale): + color = text_to_color(color_string) + surface = generate_avatar(letter, color, size, scale) + surface = clip_circle(surface) + surface.set_device_scale(scale, scale) + return surface diff --git a/gajim/gtk/avatar_selector.py b/gajim/gtk/avatar_selector.py new file mode 100755 index 0000000..dea230f --- /dev/null +++ b/gajim/gtk/avatar_selector.py @@ -0,0 +1,715 @@ +# This is a port of um-crop-area.c from GNOME’s 'Cheese' application, see +# https://gitlab.gnome.org/GNOME/cheese/-/blob/3.34.0/libcheese/um-crop-area.c +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import os +import logging +from enum import IntEnum +from enum import unique + +from gi.repository import Gdk +from gi.repository import GdkPixbuf +from gi.repository import GLib +from gi.repository import Gtk +import cairo + +from gajim.common.const import AvatarSize +from gajim.common.i18n import _ +from gajim.common.helpers import get_file_path_from_dnd_dropped_uri + +from .util import scale_with_ratio + +log = logging.getLogger('gajim.gui.avatar_selector') + + +@unique +class Loc(IntEnum): + OUTSIDE = 0 + INSIDE = 1 + TOP = 2 + TOP_LEFT = 3 + TOP_RIGHT = 4 + BOTTOM = 5 + BOTTOM_LEFT = 6 + BOTTOM_RIGHT = 7 + LEFT = 8 + RIGHT = 9 + + +@unique +class Range(IntEnum): + BELOW = 0 + LOWER = 1 + BETWEEN = 2 + UPPER = 3 + ABOVE = 4 + + +class AvatarSelector(Gtk.Box): + def __init__(self): + Gtk.Box.__init__(self) + self.set_orientation(Gtk.Orientation.VERTICAL) + self.get_style_context().add_class('padding-18') + + uri_entry = Gtk.TargetEntry.new( + 'text/uri-list', Gtk.TargetFlags.OTHER_APP, 80) + dst_targets = Gtk.TargetList.new([uri_entry]) + + self.drag_dest_set( + Gtk.DestDefaults.ALL, + [uri_entry], + Gdk.DragAction.COPY | Gdk.DragAction.MOVE) + self.drag_dest_set_target_list(dst_targets) + self.connect('drag-data-received', self._on_drag_data_received) + + self._crop_area = CropArea() + self._crop_area.set_vexpand(True) + self.add(self._crop_area) + + self._helper_label = Gtk.Label( + label=_('Select a picture or drop it here')) + self._helper_label.get_style_context().add_class('bold') + self._helper_label.get_style_context().add_class('dim-label') + self._helper_label.set_vexpand(True) + self._helper_label.set_no_show_all(True) + self._helper_label.show() + self.add(self._helper_label) + + self.show_all() + + def prepare_crop_area(self, path): + pixbuf = self._get_pixbuf_from_path(path) + self._crop_area.set_pixbuf(pixbuf) + self._helper_label.hide() + self._crop_area.show() + + def _on_drag_data_received(self, _widget, _context, _x_coord, _y_coord, + selection, target_type, _timestamp): + if not selection.get_data(): + return + + if target_type == 80: + uri_split = selection.get_uris() # Might be more than one + path = get_file_path_from_dnd_dropped_uri(uri_split[0]) + if not os.path.isfile(path): + return + self.prepare_crop_area(path) + + @staticmethod + def _get_pixbuf_from_path(path): + try: + pixbuf = GdkPixbuf.Pixbuf.new_from_file(path) + return pixbuf + except GLib.Error as err: + log.error('Unable to load file %s: %s', path, str(err)) + return None + + def get_prepared(self): + return bool(self._crop_area.get_pixbuf()) + + @staticmethod + def _scale_for_publish(pixbuf): + width = pixbuf.get_width() + height = pixbuf.get_height() + if width > AvatarSize.PUBLISH or height > AvatarSize.PUBLISH: + # Scale only down, never up + width, height = scale_with_ratio(AvatarSize.PUBLISH, width, height) + pixbuf = pixbuf.scale_simple(width, + height, + GdkPixbuf.InterpType.BILINEAR) + return pixbuf, width, height + + def get_avatar_surface(self): + pixbuf = self._crop_area.get_pixbuf() + if pixbuf is None: + return None + scaled, width, height = self._scale_for_publish(pixbuf) + + return Gdk.cairo_surface_create_from_pixbuf( + scaled, self.get_scale_factor()), width, height + + def get_avatar_bytes(self): + pixbuf = self._crop_area.get_pixbuf() + if pixbuf is None: + return False, None, 0, 0 + scaled, width, height = self._scale_for_publish(pixbuf) + + success, data = scaled.save_to_bufferv('png', [], []) + return success, data, width, height + + +class CropArea(Gtk.DrawingArea): + def __init__(self): + Gtk.DrawingArea.__init__(self) + self.set_no_show_all(True) + self.add_events( + Gdk.EventMask.BUTTON_PRESS_MASK | + Gdk.EventMask.BUTTON_RELEASE_MASK | + Gdk.EventMask.POINTER_MOTION_MASK) + + self._image = Gdk.Rectangle() + self._crop = Gdk.Rectangle() + self._pixbuf = None + self._browse_pixbuf = None + self._color_shifted_pixbuf = None + self._current_cursor = None + + self._scale = float(0.0) + self._image.x = 0 + self._image.y = 0 + self._image.width = 0 + self._image.height = 0 + self._active_region = Loc.OUTSIDE + self._last_press_x = -1 + self._last_press_y = -1 + self._base_width = 10 + self._base_height = 10 + self._aspect = float(1.0) + + self.set_size_request(self._base_width, self._base_height) + + self.connect('draw', self._on_draw) + self.connect('button-press-event', self._on_button_press) + self.connect('button-release-event', self._on_button_release) + self.connect('motion-notify-event', self._on_motion_notify) + + def set_min_size(self, width, height): + self._base_width = width + self._base_height = height + self.set_size_request(self._base_width, self._base_height) + + if self._aspect > 0: + self._aspect = self._base_width / self._base_height + + def set_contstrain_aspect(self, constrain): + if constrain: + self._aspect = self._base_width / self._base_height + else: + self._aspect = -1 + + def set_pixbuf(self, pixbuf): + if pixbuf: + self._browse_pixbuf = pixbuf + width = pixbuf.get_width() + height = pixbuf.get_height() + else: + width = 0 + height = 0 + + self._crop.width = 2 * self._base_width + self._crop.height = 2 * self._base_height + self._crop.x = abs((width - self._crop.width) / 2) + self._crop.y = abs((height - self._crop.height) / 2) + + self._scale = 0.0 + self._image.x = 0 + self._image.y = 0 + self._image.width = 0 + self._image.height = 0 + + self.queue_draw() + + def get_pixbuf(self): + if self._browse_pixbuf is None: + return None + + width = self._browse_pixbuf.get_width() + height = self._browse_pixbuf.get_height() + width = min(self._crop.width, width - self._crop.x) + height = min(self._crop.height, height - self._crop.y) + + if width <= 0 or height <= 0: + return None + + return GdkPixbuf.Pixbuf.new_subpixbuf( + self._browse_pixbuf, self._crop.x, self._crop.y, width, height) + + def _on_draw(self, _widget, context): + if self._browse_pixbuf is None: + return False + + self._update_pixbufs() + + width = self._pixbuf.get_width() + height = self._pixbuf.get_height() + crop = self._crop_to_widget() + + ix = self._image.x + iy = self._image.y + + Gdk.cairo_set_source_pixbuf( + context, self._color_shifted_pixbuf, ix, iy) + context.rectangle( + ix, + iy, + width, + crop.y - iy) + context.rectangle( + ix, + crop.y, + crop.x - ix, + crop.height) + context.rectangle( + crop.x + crop.width, + crop.y, + width - crop.width - (crop.x - ix), + crop.height) + context.rectangle( + ix, + crop.y + crop.height, + width, + height - crop.height - (crop.y - iy)) + context.fill() + + Gdk.cairo_set_source_pixbuf(context, self._pixbuf, ix, iy) + context.rectangle(crop.x, crop.y, crop.width, crop.height) + context.fill() + + if self._active_region != Loc.OUTSIDE: + context.set_source_rgb(150, 150, 150) + context.set_line_width(1.0) + x1 = crop.x + crop.width / 3.0 + x2 = crop.x + 2 * crop.width / 3.0 + y1 = crop.y + crop.height / 3.0 + y2 = crop.y + 2 * crop.height / 3.0 + + context.move_to(x1 + 0.5, crop.y) + context.line_to(x1 + 0.5, crop.y + crop.height) + + context.move_to(x2 + 0.5, crop.y) + context.line_to(x2 + 0.5, crop.y + crop.height) + + context.move_to(crop.x, y1 + 0.5) + context.line_to(crop.x + crop.width, y1 + 0.5) + + context.move_to(crop.x, y2 + 0.5) + context.line_to(crop.x + crop.width, y2 + 0.5) + context.stroke() + + context.set_source_rgb(1, 1, 1) + context.set_line_width(1.0) + + context.rectangle( + crop.x + 0.5, + crop.y + 0.5, + crop.width - 1.0, + crop.height - 1.0) + context.stroke() + + context.set_source_rgb(1, 1, 1) + context.set_line_width(2.0) + context.rectangle( + crop.x + 2.0, + crop.y + 2.0, + crop.width - 4.0, + crop.height - 4.0) + context.stroke() + + return False + + def _on_button_press(self, _widget, event): + if self._browse_pixbuf is None: + return False + + crop = self._crop_to_widget() + + self._last_press_x = (event.x - self._image.x) / self._scale + self._last_press_y = (event.y - self._image.y) / self._scale + self._active_region = self._find_location(crop, event.x, event.y) + + self.queue_draw_area( + crop.x - 1, crop.y - 1, crop.width + 2, crop.height + 2) + + return False + + def _on_button_release(self, _widget, _event): + if self._browse_pixbuf is None: + return False + + crop = self._crop_to_widget() + self._last_press_x = -1 + self._last_press_y = -1 + self._active_region = Loc.OUTSIDE + + self.queue_draw_area( + crop.x - 1, crop.y - 1, crop.width + 2, crop.height + 2) + + return False + + def _on_motion_notify(self, _widget, event): + # pylint: disable=too-many-boolean-expressions + # pylint: disable=too-many-branches + # pylint: disable=too-many-statements + if self._browse_pixbuf is None: + return False + + self._update_cursor(event.x, event.y) + + damage = self._crop_to_widget() + self.queue_draw_area( + damage.x - 1, damage.y - 1, damage.width + 2, damage.height + 2) + + pb_width = self._browse_pixbuf.get_width() + pb_height = self._browse_pixbuf.get_height() + + x_coord = int((event.x - self._image.x) / self._scale) + y_coord = int((event.y - self._image.y) / self._scale) + + delta_x = int(x_coord - self._last_press_x) + delta_y = int(y_coord - self._last_press_y) + self._last_press_x = x_coord + self._last_press_y = y_coord + + left = int(self._crop.x) + right = int(self._crop.x + self._crop.width - 1) + top = int(self._crop.y) + bottom = int(self._crop.y + self._crop.height - 1) + + center_x = float((left + right) / 2.0) + center_y = float((top + bottom) / 2.0) + + if self._active_region == Loc.INSIDE: + width = right - left + 1 + height = bottom - top + 1 + + left += delta_x + right += delta_x + top += delta_y + bottom += delta_y + + if left < 0: + left = 0 + if top < 0: + top = 0 + if right > pb_width: + right = pb_width + if bottom > pb_height: + bottom = pb_height + + adj_width = int(right - left + 1) + adj_height = int(bottom - top + 1) + if adj_width != width: + if delta_x < 0: + right = left + width - 1 + else: + left = right - width + 1 + + if adj_height != height: + if delta_y < 0: + bottom = top + height - 1 + else: + top = bottom - height + 1 + + elif self._active_region == Loc.TOP_LEFT: + if self._aspect < 0: + top = y_coord + left = x_coord + elif y_coord < self._eval_radial_line( + center_x, center_y, left, top, x_coord): + top = y_coord + new_width = float((bottom - top) * self._aspect) + left = right - new_width + else: + left = x_coord + new_height = float((right - left) / self._aspect) + top = bottom - new_height + + elif self._active_region == Loc.TOP: + top = y_coord + if self._aspect > 0: + new_width = float((bottom - top) * self._aspect) + right = left + new_width + + elif self._active_region == Loc.TOP_RIGHT: + if self._aspect < 0: + top = y_coord + right = x_coord + elif y_coord < self._eval_radial_line( + center_x, center_y, right, top, x_coord): + top = y_coord + new_width = float((bottom - top) * self._aspect) + right = left + new_width + else: + right = x_coord + new_height = float((right - left) / self._aspect) + top = bottom - new_height + + elif self._active_region == Loc.LEFT: + left = x_coord + if self._aspect > 0: + new_height = float((right - left) / self._aspect) + bottom = top + new_height + + elif self._active_region == Loc.BOTTOM_LEFT: + if self._aspect < 0: + bottom = y_coord + left = x_coord + elif y_coord < self._eval_radial_line( + center_x, center_y, left, bottom, x_coord): + left = x_coord + new_height = float((right - left) / self._aspect) + bottom = top + new_height + else: + bottom = y_coord + new_width = float((bottom - top) * self._aspect) + left = right - new_width + + elif self._active_region == Loc.RIGHT: + right = x_coord + if self._aspect > 0: + new_height = float((right - left) / self._aspect) + bottom = top + new_height + + elif self._active_region == Loc.BOTTOM_RIGHT: + if self._aspect < 0: + bottom = y_coord + right = x_coord + elif y_coord < self._eval_radial_line( + center_x, center_y, right, bottom, x_coord): + right = x_coord + new_height = float((right - left) / self._aspect) + bottom = top + new_height + else: + bottom = y_coord + new_width = float((bottom - top) * self._aspect) + right = left + new_width + + elif self._active_region == Loc.BOTTOM: + bottom = y_coord + if self._aspect > 0: + new_width = float((bottom - top) * self._aspect) + right = left + new_width + else: + return False + + min_width = int(self._base_width / self._scale) + min_height = int(self._base_height / self._scale) + + width = right - left + 1 + height = bottom - top + 1 + if self._aspect < 0: + if left < 0: + left = 0 + if top < 0: + top = 0 + if right > pb_width: + right = pb_width + if bottom > pb_height: + bottom = pb_height + + width = right - left + 1 + height = bottom - top + 1 + + if self._active_region in ( + Loc.LEFT, Loc.TOP_LEFT, Loc.BOTTOM_LEFT): + if width < min_width: + left = right - min_width + elif self._active_region in ( + Loc.RIGHT, Loc.TOP_RIGHT, Loc.BOTTOM_RIGHT): + if width < min_width: + right = left + min_width + + if self._active_region in ( + Loc.TOP, Loc.TOP_LEFT, Loc.TOP_RIGHT): + if height < min_height: + top = bottom - min_height + elif self._active_region in ( + Loc.BOTTOM, Loc.BOTTOM_LEFT, Loc.BOTTOM_RIGHT): + if height < min_height: + bottom = top + min_height + + else: + if (left < 0 or top < 0 or + right > pb_width or bottom > pb_height or + width < min_width or height < min_height): + left = self._crop.x + right = self._crop.x + self._crop.width - 1 + top = self._crop.y + bottom = self._crop.y + self._crop.height - 1 + + self._crop.x = left + self._crop.y = top + self._crop.width = right - left + 1 + self._crop.height = bottom - top + 1 + + damage = self._crop_to_widget() + self.queue_draw_area( + damage.x - 1, damage.y - 1, damage.width + 2, damage.height + 2) + + return False + + def _update_pixbufs(self): + allocation = self.get_allocation() + width = self._browse_pixbuf.get_width() + height = self._browse_pixbuf.get_height() + + scale = allocation.height / float(height) + if scale * width > allocation.width: + scale = allocation.width / float(width) + + dest_width = width * scale + dest_height = height * scale + + if (self._pixbuf is None or + self._pixbuf.get_width != allocation.width or + self._pixbuf.get_height != allocation.height): + + self._pixbuf = GdkPixbuf.Pixbuf.new( + GdkPixbuf.Colorspace.RGB, + self._browse_pixbuf.get_has_alpha(), + 8, + dest_width, + dest_height) + self._pixbuf.fill(0x0) + + self._browse_pixbuf.scale( + self._pixbuf, + 0, + 0, + dest_width, + dest_height, + 0, + 0, + scale, + scale, + GdkPixbuf.InterpType.BILINEAR) + + self._generate_color_shifted_pixbuf() + + if self._scale == 0.0: + scale_to_80 = float(min( + (self._pixbuf.get_width() * 0.8 / self._base_width), + (self._pixbuf.get_height() * 0.8 / self._base_height))) + scale_to_image = float(min( + (dest_width / self._base_width), + (dest_height / self._base_height))) + crop_scale = float(min(scale_to_80, scale_to_image)) + + self._crop.width = crop_scale * self._base_width / scale + self._crop.height = crop_scale * self._base_height / scale + self._crop.x = ( + self._browse_pixbuf.get_width() - self._crop.width) / 2 + self._crop.y = ( + self._browse_pixbuf.get_height() - self._crop.height) / 2 + + self._scale = scale + self._image.x = (allocation.width - dest_width) / 2 + self._image.y = (allocation.height - dest_height) / 2 + self._image.width = dest_width + self._image.height = dest_height + + def _crop_to_widget(self): + crop = Gdk.Rectangle() + crop.x = self._image.x + self._crop.x * self._scale + crop.y = self._image.y + self._crop.y * self._scale + crop.width = self._crop.width * self._scale + crop.height = self._crop.height * self._scale + return crop + + def _update_cursor(self, x_coord, y_coord): + region = self._active_region + if self._active_region == Loc.OUTSIDE: + crop = self._crop_to_widget() + region = self._find_location(crop, x_coord, y_coord) + + if region == Loc.TOP_LEFT: + cursor_type = Gdk.CursorType.TOP_LEFT_CORNER + elif region == Loc.TOP: + cursor_type = Gdk.CursorType.TOP_SIDE + elif region == Loc.TOP_RIGHT: + cursor_type = Gdk.CursorType.TOP_RIGHT_CORNER + elif region == Loc.LEFT: + cursor_type = Gdk.CursorType.LEFT_SIDE + elif region == Loc.INSIDE: + cursor_type = Gdk.CursorType.FLEUR + elif region == Loc.RIGHT: + cursor_type = Gdk.CursorType.RIGHT_SIDE + elif region == Loc.BOTTOM_LEFT: + cursor_type = Gdk.CursorType.BOTTOM_LEFT_CORNER + elif region == Loc.BOTTOM: + cursor_type = Gdk.CursorType.BOTTOM_SIDE + elif region == Loc.BOTTOM_RIGHT: + cursor_type = Gdk.CursorType.BOTTOM_RIGHT_CORNER + else: # Loc.OUTSIDE + cursor_type = Gdk.CursorType.LEFT_PTR + + if cursor_type is not self._current_cursor: + cursor = Gdk.Cursor.new_for_display( + Gdk.Display.get_default(), + cursor_type) + self.get_window().set_cursor(cursor) + self._current_cursor = cursor_type + + @staticmethod + def _eval_radial_line(center_x, center_y, bounds_x, bounds_y, user_x): + slope_y = float(bounds_y - center_y) + slope_x = bounds_x - center_x + if slope_y == 0 or slope_x == 0: + # Prevent division by zero + return 0 + + decision_slope = slope_y / slope_x + decision_intercept = - float(decision_slope * bounds_x) + return int(decision_slope * user_x + decision_intercept) + + def _find_location(self, rect, x_coord, y_coord): + # pylint: disable=line-too-long + location = [ + [Loc.OUTSIDE, Loc.OUTSIDE, Loc.OUTSIDE, Loc.OUTSIDE, Loc.OUTSIDE], + [Loc.OUTSIDE, Loc.TOP_LEFT, Loc.TOP, Loc.TOP_RIGHT, Loc.OUTSIDE], + [Loc.OUTSIDE, Loc.LEFT, Loc.INSIDE, Loc.RIGHT, Loc.OUTSIDE], + [Loc.OUTSIDE, Loc.BOTTOM_LEFT, Loc.BOTTOM, Loc.BOTTOM_RIGHT, Loc.OUTSIDE], + [Loc.OUTSIDE, Loc.OUTSIDE, Loc.OUTSIDE, Loc.OUTSIDE, Loc.OUTSIDE], + ] + # pylint: enable=line-too-long + + x_range = self._find_range(x_coord, rect.x, rect.x + rect.width) + y_range = self._find_range(y_coord, rect.y, rect.y + rect.height) + + return location[y_range][x_range] + + @staticmethod + def _find_range(coord, min_v, max_v): + tolerance = 12 + if coord < min_v - tolerance: + return Range.BELOW + if coord <= min_v + tolerance: + return Range.LOWER + if coord < max_v - tolerance: + return Range.BETWEEN + if coord <= max_v + tolerance: + return Range.UPPER + return Range.ABOVE + + def _generate_color_shifted_pixbuf(self): + # pylint: disable=no-member + surface = cairo.ImageSurface( + cairo.Format.ARGB32, + self._pixbuf.get_width(), + self._pixbuf.get_height()) + context = cairo.Context(surface) + # pylint: enable=no-member + + Gdk.cairo_set_source_pixbuf(context, self._pixbuf, 0, 0) + context.paint() + + context.rectangle(0, 0, 1, 1) + context.set_source_rgba(0, 0, 0, 0.5) + context.paint() + + surface = context.get_target() + self._color_shifted_pixbuf = Gdk.pixbuf_get_from_surface( + surface, 0, 0, surface.get_width(), surface.get_height()) diff --git a/gajim/gtk/blocking.py b/gajim/gtk/blocking.py new file mode 100644 index 0000000..b80c653 --- /dev/null +++ b/gajim/gtk/blocking.py @@ -0,0 +1,135 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import logging + +from nbxmpp.errors import StanzaError +from gi.repository import Gtk +from gi.repository import Gdk +from gi.repository import GLib + +from gajim.common import app +from gajim.common.i18n import _ +from gajim.common.helpers import to_user_string + +from .util import get_builder +from .dialogs import HigDialog + +log = logging.getLogger('gajim.gui.blocking_list') + + +class BlockingList(Gtk.ApplicationWindow): + def __init__(self, account): + Gtk.ApplicationWindow.__init__(self) + self.set_application(app.app) + self.set_position(Gtk.WindowPosition.CENTER) + self.set_show_menubar(False) + self.set_title(_('Blocking List for %s') % account) + + self.connect_after('key-press-event', self._on_key_press) + + self.account = account + self._con = app.connections[account] + self._prev_blocked_jids = set() + + self._ui = get_builder('blocking_list.ui') + self.add(self._ui.blocking_grid) + + self._spinner = Gtk.Spinner() + self._ui.overlay.add_overlay(self._spinner) + + self._set_grid_state(False) + self._ui.connect_signals(self) + self.show_all() + + self._activate_spinner() + + self._con.get_module('Blocking').request_blocking_list( + callback=self._on_blocking_list_received) + + def _show_error(self, error): + dialog = HigDialog( + self, Gtk.MessageType.INFO, Gtk.ButtonsType.OK, + _('Error!'), + GLib.markup_escape_text(error)) + dialog.popup() + + def _on_blocking_list_received(self, task): + try: + blocking_list = task.finish() + except StanzaError as error: + self._set_grid_state(False) + self._show_error(to_user_string(error)) + return + + self._prev_blocked_jids = set(blocking_list) + self._ui.blocking_store.clear() + for item in blocking_list: + self._ui.blocking_store.append((str(item),)) + + self._set_grid_state(True) + self._disable_spinner() + + def _on_save_result(self, task): + try: + _successful = task.finish() + except StanzaError as error: + self._show_error(to_user_string(error)) + self._disable_spinner() + self._set_grid_state(True) + return + + self.destroy() + + def _set_grid_state(self, state): + self._ui.blocking_grid.set_sensitive(state) + + def _jid_edited(self, _renderer, path, new_text): + iter_ = self._ui.blocking_store.get_iter(path) + self._ui.blocking_store.set_value(iter_, 0, new_text) + + def _on_add(self, _button): + self._ui.blocking_store.append(['']) + + def _on_remove(self, _button): + mod, paths = self._ui.block_view.get_selection().get_selected_rows() + for path in paths: + iter_ = mod.get_iter(path) + self._ui.blocking_store.remove(iter_) + + def _on_save(self, _button): + self._activate_spinner() + self._set_grid_state(False) + + blocked_jids = set() + for item in self._ui.blocking_store: + blocked_jids.add(item[0].lower()) + + unblock_jids = self._prev_blocked_jids - blocked_jids + block_jids = blocked_jids - self._prev_blocked_jids + + self._con.get_module('Blocking').update_blocking_list( + block_jids, unblock_jids, callback=self._on_save_result) + + def _activate_spinner(self): + self._spinner.show() + self._spinner.start() + + def _disable_spinner(self): + self._spinner.hide() + self._spinner.stop() + + def _on_key_press(self, _widget, event): + if event.keyval == Gdk.KEY_Escape: + self.destroy() diff --git a/gajim/gtk/bookmarks.py b/gajim/gtk/bookmarks.py new file mode 100644 index 0000000..c07c073 --- /dev/null +++ b/gajim/gtk/bookmarks.py @@ -0,0 +1,160 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import logging +from enum import IntEnum + +from gi.repository import Gtk +from gi.repository import Gdk +from nbxmpp.structs import BookmarkData +from nbxmpp.protocol import validate_resourcepart +from nbxmpp.protocol import JID + +from gajim.common import app +from gajim.common.helpers import validate_jid +from gajim.common.i18n import _ + +from .util import get_builder + + +log = logging.getLogger('gajim.gui.bookmarks') + + +class Column(IntEnum): + ADDRESS = 0 + NAME = 1 + NICK = 2 + PASSWORD = 3 + AUTOJOIN = 4 + + +class Bookmarks(Gtk.ApplicationWindow): + def __init__(self, account): + Gtk.ApplicationWindow.__init__(self) + self.set_application(app.app) + self.set_position(Gtk.WindowPosition.CENTER) + self.set_show_menubar(False) + self.set_title(_('Bookmarks for %s') % app.get_account_label(account)) + self.set_default_size(700, 500) + + self.account = account + + self._ui = get_builder('bookmarks.ui') + self.add(self._ui.bookmarks_grid) + + con = app.connections[account] + for bookmark in con.get_module('Bookmarks').bookmarks: + self._ui.bookmarks_store.append([str(bookmark.jid), + bookmark.name, + bookmark.nick, + bookmark.password, + bookmark.autojoin]) + + self._ui.bookmarks_view.set_search_equal_func(self._search_func) + + self._ui.connect_signals(self) + self.connect_after('key-press-event', self._on_key_press) + + self.show_all() + + def _on_key_press(self, _widget, event): + if event.keyval == Gdk.KEY_Escape: + self.destroy() + + def _on_selection_changed(self, selection): + _, iter_ = selection.get_selected() + self._ui.remove_button.set_sensitive(iter_ is not None) + + def _on_address_edited(self, _renderer, path, new_value): + iter_ = self._ui.bookmarks_store.get_iter(path) + if not new_value: + return + + try: + jid = validate_jid(new_value) + except ValueError as error: + log.warning('Invalid JID: %s (%s)', error, new_value) + return + + if not jid.is_bare: + log.warning('Invalid JID: only bare JIDs allowed (%s)', jid) + return + + self._ui.bookmarks_store.set_value(iter_, + Column.ADDRESS, + new_value or None) + + def _on_name_edited(self, _renderer, path, new_value): + iter_ = self._ui.bookmarks_store.get_iter(path) + self._ui.bookmarks_store.set_value(iter_, + Column.NAME, + new_value or None) + + def _on_nick_edited(self, _renderer, path, new_value): + iter_ = self._ui.bookmarks_store.get_iter(path) + + if new_value: + try: + validate_resourcepart(new_value) + except ValueError as error: + log.warning('Invalid nickname: %s', error) + return + + self._ui.bookmarks_store.set_value(iter_, + Column.NICK, + new_value or None) + + def _on_password_edited(self, _renderer, path, new_value): + iter_ = self._ui.bookmarks_store.get_iter(path) + self._ui.bookmarks_store.set_value(iter_, + Column.PASSWORD, + new_value or None) + + def _on_autojoin_toggled(self, _renderer, path): + iter_ = self._ui.bookmarks_store.get_iter(path) + new_value = not self._ui.bookmarks_store[iter_][Column.AUTOJOIN] + self._ui.bookmarks_store.set_value(iter_, Column.AUTOJOIN, new_value) + + def _on_add_clicked(self, _button): + iter_ = self._ui.bookmarks_store.append([None, None, None, None, False]) + self._ui.bookmarks_view.get_selection().select_iter(iter_) + path = self._ui.bookmarks_store.get_path(iter_) + self._ui.bookmarks_view.scroll_to_cell(path, None, False) + + def _on_remove_clicked(self, _button): + mod, paths = self._ui.bookmarks_view.get_selection().get_selected_rows() + for path in paths: + iter_ = mod.get_iter(path) + self._ui.bookmarks_store.remove(iter_) + + def _on_apply_clicked(self, _button): + bookmarks = [] + for row in self._ui.bookmarks_store: + if not row[Column.ADDRESS]: + continue + + bookmark = BookmarkData(jid=JID.from_string(row[Column.ADDRESS]), + name=row[Column.NAME], + autojoin=row[Column.AUTOJOIN], + password=row[Column.PASSWORD], + nick=row[Column.NICK]) + bookmarks.append(bookmark) + + con = app.connections[self.account] + con.get_module('Bookmarks').store_difference(bookmarks) + self.destroy() + + @staticmethod + def _search_func(model, _column, search_text, iter_): + return search_text.lower() not in model[iter_][0].lower() diff --git a/gajim/gtk/change_password.py b/gajim/gtk/change_password.py new file mode 100644 index 0000000..ab3c265 --- /dev/null +++ b/gajim/gtk/change_password.py @@ -0,0 +1,240 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import logging + +from gi.repository import Gtk + +from nbxmpp.errors import StanzaError +from nbxmpp.errors import ChangePasswordStanzaError + +from gajim.common import app +from gajim.common.i18n import _ +from gajim.common import passwords +from gajim.common.helpers import to_user_string + +from .assistant import Assistant +from .assistant import Page +from .assistant import ErrorPage +from .assistant import SuccessPage +from .dataform import DataFormWidget +from .util import ensure_not_destroyed + +log = logging.getLogger('gajim.gui.change_password') + + +class ChangePassword(Assistant): + def __init__(self, account): + Assistant.__init__(self) + + self.account = account + self._client = app.get_client(account) + self._destroyed = False + + self.add_button('apply', _('Change'), 'suggested-action', + complete=True) + self.add_button('close', _('Close')) + self.add_button('back', _('Back')) + + self.add_pages({'password': EnterPassword(), + 'next_stage': NextStage(), + 'error': Error(), + 'success': Success()}) + + progress = self.add_default_page('progress') + progress.set_title(_('Changing Password...')) + progress.set_text(_('Trying to change password...')) + + self.connect('button-clicked', self._on_button_clicked) + self.connect('destroy', self._on_destroy) + + self.show_all() + + def _on_button_clicked(self, _assistant, button_name): + page = self.get_current_page() + if button_name == 'apply': + self.show_page('progress', Gtk.StackTransitionType.SLIDE_LEFT) + self._on_apply(next_stage=page == 'next_stage') + + elif button_name == 'back': + self.show_page('password', Gtk.StackTransitionType.SLIDE_RIGHT) + + elif button_name == 'close': + self.destroy() + + def _on_apply(self, next_stage=False): + if next_stage: + form = self.get_page('next_stage').get_submit_form() + self._client.get_module('Register').change_password_with_form( + form, callback=self._on_change_password) + else: + password = self.get_page('password').get_password() + self._client.get_module('Register').change_password( + password, callback=self._on_change_password) + + @ensure_not_destroyed + def _on_change_password(self, task): + try: + task.finish() + except ChangePasswordStanzaError as error: + self.get_page('next_stage').set_form(error.get_form()) + self.show_page('next_stage', Gtk.StackTransitionType.SLIDE_LEFT) + + except StanzaError as error: + error_text = to_user_string(error) + self.get_page('error').set_text(error_text) + self.show_page('error', Gtk.StackTransitionType.SLIDE_LEFT) + + else: + password = self.get_page('password').get_password() + passwords.save_password(self.account, password) + self.show_page('success') + + def _on_destroy(self, *args): + self._destroyed = True + + +class EnterPassword(Page): + def __init__(self): + Page.__init__(self) + self.complete = False + self.title = _('Change Password') + + heading = Gtk.Label(label=_('Change Password')) + heading.get_style_context().add_class('large-header') + heading.set_max_width_chars(30) + heading.set_line_wrap(True) + heading.set_halign(Gtk.Align.CENTER) + heading.set_justify(Gtk.Justification.CENTER) + + label = Gtk.Label(label=_('Please enter your new password.')) + label.set_max_width_chars(50) + label.set_line_wrap(True) + label.set_halign(Gtk.Align.CENTER) + label.set_justify(Gtk.Justification.CENTER) + label.set_margin_bottom(12) + + self._password1_entry = Gtk.Entry() + self._password1_entry.set_input_purpose(Gtk.InputPurpose.PASSWORD) + self._password1_entry.set_visibility(False) + self._password1_entry.set_invisible_char('•') + self._password1_entry.set_valign(Gtk.Align.END) + self._password1_entry.set_placeholder_text( + _('Enter new password...')) + self._password1_entry.connect('changed', self._on_changed) + self._password2_entry = Gtk.Entry() + self._password2_entry.set_input_purpose(Gtk.InputPurpose.PASSWORD) + self._password2_entry.set_visibility(False) + self._password2_entry.set_invisible_char('•') + self._password2_entry.set_activates_default(True) + self._password2_entry.set_valign(Gtk.Align.START) + self._password2_entry.set_placeholder_text( + _('Confirm new password...')) + self._password2_entry.connect('changed', self._on_changed) + + self.pack_start(heading, False, True, 0) + self.pack_start(label, False, True, 0) + self.pack_start(self._password1_entry, True, True, 0) + self.pack_start(self._password2_entry, True, True, 0) + self._show_icon(False) + self.show_all() + + def _show_icon(self, show): + if show: + self._password2_entry.set_icon_from_icon_name( + Gtk.EntryIconPosition.SECONDARY, 'dialog-warning-symbolic') + self._password2_entry.set_icon_tooltip_text( + Gtk.EntryIconPosition.SECONDARY, _('Passwords do not match')) + else: + self._password2_entry.set_icon_from_icon_name( + Gtk.EntryIconPosition.SECONDARY, None) + + def _on_changed(self, _entry): + password1 = self._password1_entry.get_text() + if not password1: + self._show_icon(True) + self._set_complete(False) + return + + password2 = self._password2_entry.get_text() + if password1 != password2: + self._show_icon(True) + self._set_complete(False) + return + self._show_icon(False) + self._set_complete(True) + + def _set_complete(self, state): + self.complete = state + self.update_page_complete() + + def get_password(self): + return self._password1_entry.get_text() + + def get_visible_buttons(self): + return ['apply'] + + +class NextStage(Page): + def __init__(self): + Page.__init__(self) + self.set_valign(Gtk.Align.FILL) + self.complete = False + self.title = _('Change Password') + self._current_form = None + + self.show_all() + + def _on_is_valid(self, _widget, is_valid): + self.complete = is_valid + self.update_page_complete() + + def set_form(self, form): + if self._current_form is not None: + self.remove(self._current_form) + self._current_form.destroy() + self._current_form = DataFormWidget(form) + self._current_form.connect('is-valid', self._on_is_valid) + self._current_form.validate() + self.pack_start(self._current_form, True, True, 0) + self._current_form.show_all() + + def get_submit_form(self): + return self._current_form.get_submit_form() + + def get_visible_buttons(self): + return ['apply'] + + +class Error(ErrorPage): + def __init__(self): + ErrorPage.__init__(self) + self.set_title(_('Password Change Failed')) + self.set_heading(_('Password Change Failed')) + self.set_text( + _('An error occurred while trying to change your password.')) + + def get_visible_buttons(self): + return ['back'] + + +class Success(SuccessPage): + def __init__(self): + SuccessPage.__init__(self) + self.set_title(_('Password Changed')) + self.set_heading(_('Password Changed')) + self.set_text(_('Your password has successfully been changed.')) + + def get_visible_buttons(self): + return ['close'] diff --git a/gajim/gtk/const.py b/gajim/gtk/const.py new file mode 100644 index 0000000..833ae64 --- /dev/null +++ b/gajim/gtk/const.py @@ -0,0 +1,134 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# Constants for the gtk module + +from collections import namedtuple +from enum import Enum +from enum import IntEnum +from enum import unique + +Filter = namedtuple('Filter', 'name pattern default') + +Setting = namedtuple('Setting', 'kind label type value name callback data desc ' + 'bind inverted enabled_func props') +Setting.__new__.__defaults__ = (None,) * len(Setting._fields) # type: ignore + +@unique +class Theme(IntEnum): + NOT_DARK = 0 + DARK = 1 + SYSTEM = 2 + + +class GajimIconSet(Enum): + BRUNO = 'bruno' + DCRAVEN = 'dcraven' + GNOME = 'gnome' + GOOJIM = 'goojim' + GOTA = 'gota' + JABBERBULB = 'jabberbulb' + SUN = 'sun' + WROOP = 'wroop' + + +@unique +class SettingKind(IntEnum): + ENTRY = 0 + SWITCH = 1 + SPIN = 2 + ACTION = 3 + LOGIN = 4 + DIALOG = 5 + CALLBACK = 6 + HOSTNAME = 8 + PRIORITY = 9 + FILECHOOSER = 10 + CHANGEPASSWORD = 11 + COMBO = 12 + COLOR = 13 + POPOVER = 14 + AUTO_AWAY = 15 + AUTO_EXTENDED_AWAY = 16 + USE_STUN_SERVER = 17 + NOTIFICATIONS = 18 + + +@unique +class SettingType(IntEnum): + CONFIG = 0 + ACCOUNT_CONFIG = 1 + CONTACT = 2 + GROUP_CHAT = 3 + VALUE = 4 + ACTION = 5 + DIALOG = 6 + + +class ControlType(Enum): + CHAT = 'chat' + GROUPCHAT = 'gc' + PRIVATECHAT = 'pm' + + @property + def is_chat(self): + return self == ControlType.CHAT + + @property + def is_groupchat(self): + return self == ControlType.GROUPCHAT + + @property + def is_privatechat(self): + return self == ControlType.PRIVATECHAT + + def __str__(self): + return self.value + + +WINDOW_MODULES = { + 'AccountsWindow': 'gajim.gui.accounts', + 'HistorySyncAssistant': 'gajim.gui.history_sync', + 'ServerInfo': 'gajim.gui.server_info', + 'MamPreferences': 'gajim.gui.mam_preferences', + 'Preferences': 'gajim.gui.preferences', + 'CreateGroupchatWindow': 'gajim.gui.groupchat_creation', + 'StartChatDialog': 'gajim.gui.start_chat', + 'AddNewContactWindow': 'gajim.gui.add_contact', + 'SingleMessageWindow': 'gajim.gui.single_message', + 'Bookmarks': 'gajim.gui.bookmarks', + 'AccountWizard': 'gajim.gui.account_wizard', + 'HistoryWindow': 'gajim.gui.history', + 'ManageProxies': 'gajim.gui.proxies', + 'ManageSounds': 'gajim.gui.manage_sounds', + 'ServiceDiscoveryWindow': 'gajim.gui.discovery', + 'BlockingList': 'gajim.gui.blocking', + 'XMLConsoleWindow': 'gajim.gui.xml_console', + 'GroupchatJoin': 'gajim.gui.groupchat_join', + 'PEPConfig': 'gajim.gui.pep_config', + 'HistoryManager': 'gajim.history_manager', + 'GroupchatConfig': 'gajim.gui.groupchat_config', + 'ProfileWindow': 'gajim.gui.profile', + 'SSLErrorDialog': 'gajim.gui.ssl_error_dialog', + 'Themes': 'gajim.gui.themes', + 'AdvancedConfig': 'gajim.gui.advanced_config', + 'CertificateDialog': 'gajim.gui.dialogs', + 'SubscriptionRequest': 'gajim.gui.subscription_request', + 'RemoveAccount': 'gajim.gui.remove_account', + 'ChangePassword': 'gajim.gui.change_password', + 'PluginsWindow': 'gajim.plugins.gui', + 'Features': 'gajim.gui.features', + 'StatusChange': 'gajim.gui.status_change', + 'GroupChatInvitation': 'gajim.gui.groupchat_invitation', +} diff --git a/gajim/gtk/css_config.py b/gajim/gtk/css_config.py new file mode 100644 index 0000000..541a774 --- /dev/null +++ b/gajim/gtk/css_config.py @@ -0,0 +1,548 @@ +# Copyright (C) 2018 Philipp Hörist +# +# This file is part of Gajim. +# +# Gajim is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Gajim 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 Gajim. If not, see . + +import math +import logging + +from gi.repository import Gtk +from gi.repository import Gdk +from gi.repository import Pango +import css_parser + +from gajim.common import app +from gajim.common import configpaths +from gajim.common.const import StyleAttr, CSSPriority + +from .const import Theme + +log = logging.getLogger('gajim.gui.css') +settings = Gtk.Settings.get_default() + + +class CSSConfig(): + def __init__(self): + """ + CSSConfig handles loading and storing of all relevant Gajim style files + + The order in which CSSConfig loads the styles + + 1. gajim.css + 2. gajim-dark.css (Only if gtk-application-prefer-dark-theme = True) + 3. default.css or default-dark.css (from gajim/data/style) + 4. user-theme.css (from ~/.config/Gajim/theme) + + # gajim.css: + + This is the main style and the application default + + # gajim-dark.css + + Has only entries which we want to override in gajim.css + + # default.css or default-dark.css + + Has all the values that are changeable via UI (see themes.py). + Depending on `gtk-application-prefer-dark-theme` either default.css or + default-dark.css gets loaded + + # user-theme.css + + These are the themes the Themes Dialog stores. Because they are + loaded at last they overwrite everything else. Users should add custom + css here.""" + + # Delete empty rules + css_parser.ser.prefs.keepEmptyRules = False + + # Holds the currently selected theme in the Theme Editor + self._pre_css = None + self._pre_css_path = None + + # Holds the default theme, its used if values are not found + # in the selected theme + self._default_css = None + self._default_css_path = None + + # Holds the currently selected theme + self._css = None + self._css_path = None + + # User Theme CSS Provider + self._provider = Gtk.CssProvider() + + # Used for dynamic classes like account colors + self._dynamic_provider = Gtk.CssProvider() + self._dynamic_dict = {} + self.refresh() + + Gtk.StyleContext.add_provider_for_screen( + Gdk.Screen.get_default(), + self._dynamic_provider, + CSSPriority.APPLICATION) + + # Cache of recently requested values + self._cache = {} + + # Holds all currently available themes + self.themes = [] + + self.set_dark_theme() + self._load_css() + self._gather_available_themes() + self._load_default() + self._load_selected() + self._activate_theme() + + Gtk.StyleContext.add_provider_for_screen( + Gdk.Screen.get_default(), + self._provider, + CSSPriority.USER_THEME) + + @property + def prefer_dark(self): + setting = app.settings.get('dark_theme') + if setting == Theme.SYSTEM: + if settings is None: + return False + return settings.get_property('gtk-application-prefer-dark-theme') + return setting == Theme.DARK + + def set_dark_theme(self, value=None): + if value is None: + value = app.settings.get('dark_theme') + else: + app.settings.set('dark_theme', value) + + if settings is None: + return + if value == Theme.SYSTEM: + settings.reset_property('gtk-application-prefer-dark-theme') + return + settings.set_property('gtk-application-prefer-dark-theme', bool(value)) + self._load_css() + + def _load_css(self): + self._load_css_from_file('gajim.css', CSSPriority.APPLICATION) + if self.prefer_dark: + self._load_css_from_file('gajim-dark.css', + CSSPriority.APPLICATION_DARK) + + self._load_css_from_file('default.css', CSSPriority.DEFAULT_THEME) + if self.prefer_dark: + self._load_css_from_file('default-dark.css', + CSSPriority.DEFAULT_THEME_DARK) + + def _load_css_from_file(self, filename, priority): + path = configpaths.get('STYLE') / filename + try: + with open(path, "r") as file_: + css = file_.read() + except Exception as exc: + log.error('Error loading css: %s', exc) + return + self._activate_css(css, priority) + + def _activate_css(self, css, priority): + try: + provider = Gtk.CssProvider() + provider.load_from_data(bytes(css.encode('utf-8'))) + Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(), + provider, + priority) + self._load_selected() + self._activate_theme() + + except Exception: + log.exception('Error loading application css') + + @staticmethod + def _pango_to_css_weight(number): + # Pango allows for weight values between 100 and 1000 + # CSS allows only full hundred numbers like 100, 200 .. + number = int(number) + if number < 100: + return 100 + if number > 900: + return 900 + return int(math.ceil(number / 100.0)) * 100 + + def _gather_available_themes(self): + files = configpaths.get('MY_THEME').iterdir() + self.themes = [file.stem for file in files if file.suffix == '.css'] + if 'default' in self.themes: + # Ignore user created themes that are named 'default' + self.themes.remove('default') + + def get_theme_path(self, theme, user=True): + if theme == 'default' and self.prefer_dark: + theme = 'default-dark' + + if user: + return configpaths.get('MY_THEME') / f'{theme}.css' + return configpaths.get('STYLE') / f'{theme}.css' + + def _determine_theme_path(self): + # Gets the path of the currently active theme. + # If it does not exist, it falls back to the default theme + theme = app.settings.get('roster_theme') + if theme == 'default': + return self.get_theme_path(theme, user=False) + + theme_path = self.get_theme_path(theme) + if not theme or not theme_path.exists(): + log.warning('Theme %s not found, fallback to default', theme) + app.settings.set('roster_theme', 'default') + log.info('Use Theme: default') + return self.get_theme_path('default', user=False) + log.info('Use Theme: %s', theme) + return theme_path + + def _load_selected(self, new_path=None): + if new_path is None: + self._css_path = self._determine_theme_path() + else: + self._css_path = new_path + self._css = css_parser.parseFile(self._css_path) + + def _load_default(self): + self._default_css_path = self.get_theme_path('default', user=False) + self._default_css = css_parser.parseFile(self._default_css_path) + + def _load_pre(self, theme): + log.info('Preload theme %s', theme) + self._pre_css_path = self.get_theme_path(theme) + self._pre_css = css_parser.parseFile(self._pre_css_path) + + def _write(self, pre): + path = self._css_path + css = self._css + if pre: + path = self._pre_css_path + css = self._pre_css + with open(path, 'w', encoding='utf-8') as file: + file.write(css.cssText.decode('utf-8')) + + active = self._pre_css_path == self._css_path + if not pre or active: + self._load_selected() + self._activate_theme() + + def set_value(self, selector, attr, value, pre=False): + if attr == StyleAttr.FONT: + # forward to set_font() for convenience + return self.set_font(selector, value, pre) + + if isinstance(attr, StyleAttr): + attr = attr.value + + css = self._css + if pre: + css = self._pre_css + for rule in css: + if rule.type != rule.STYLE_RULE: + continue + if rule.selectorText == selector: + log.info('Set %s %s %s', selector, attr, value) + rule.style[attr] = value + if not pre: + self._add_to_cache(selector, attr, value) + self._write(pre) + return None + + # The rule was not found, so we add it to this theme + log.info('Set %s %s %s', selector, attr, value) + rule = css_parser.css.CSSStyleRule(selectorText=selector) + rule.style[attr] = value + css.add(rule) + self._write(pre) + return None + + def set_font(self, selector, description, pre=False): + css = self._css + if pre: + css = self._pre_css + family, size, style, weight = self._get_attr_from_description( + description) + for rule in css: + if rule.type != rule.STYLE_RULE: + continue + if rule.selectorText == selector: + log.info('Set Font for: %s %s %s %s %s', + selector, family, size, style, weight) + rule.style['font-family'] = family + rule.style['font-style'] = style + rule.style['font-size'] = '%spt' % size + rule.style['font-weight'] = weight + + if not pre: + self._add_to_cache( + selector, 'fontdescription', description) + self._write(pre) + return + + # The rule was not found, so we add it to this theme + log.info('Set Font for: %s %s %s %s %s', + selector, family, size, style, weight) + rule = css_parser.css.CSSStyleRule(selectorText=selector) + rule.style['font-family'] = family + rule.style['font-style'] = style + rule.style['font-size'] = '%spt' % size + rule.style['font-weight'] = weight + css.add(rule) + self._write(pre) + + def _get_attr_from_description(self, description): + size = description.get_size() / Pango.SCALE + style = self._get_string_from_pango_style(description.get_style()) + weight = self._pango_to_css_weight(int(description.get_weight())) + family = description.get_family() + return family, size, style, weight + + def _get_default_rule(self, selector, _attr): + for rule in self._default_css: + if rule.type != rule.STYLE_RULE: + continue + if rule.selectorText == selector: + log.info('Get Default Rule %s', selector) + return rule + return None + + def get_font(self, selector, pre=False): + if pre: + css = self._pre_css + else: + css = self._css + try: + return self._get_from_cache(selector, 'fontdescription') + except KeyError: + pass + + if css is None: + return None + + for rule in css: + if rule.type != rule.STYLE_RULE: + continue + if rule.selectorText == selector: + log.info('Get Font for: %s', selector) + style = rule.style.getPropertyValue('font-style') or None + size = rule.style.getPropertyValue('font-size') or None + weight = rule.style.getPropertyValue('font-weight') or None + family = rule.style.getPropertyValue('font-family') or None + + desc = self._get_description_from_css( + family, size, style, weight) + if not pre: + self._add_to_cache(selector, 'fontdescription', desc) + return desc + + self._add_to_cache(selector, 'fontdescription', None) + return None + + def _get_description_from_css(self, family, size, style, weight): + if family is None: + return None + desc = Pango.FontDescription() + desc.set_family(family) + if weight is not None: + desc.set_weight(Pango.Weight(int(weight))) + if style is not None: + desc.set_style(self._get_pango_style_from_string(style)) + if size is not None: + desc.set_size(int(size[:-2]) * Pango.SCALE) + return desc + + @staticmethod + def _get_pango_style_from_string(style: str) -> int: + if style == 'normal': + return Pango.Style(0) + if style == 'oblique': + return Pango.Style(1) + # Pango.Style.ITALIC: + return Pango.Style(2) + + @staticmethod + def _get_string_from_pango_style(style: Pango.Style) -> str: + if style == Pango.Style.NORMAL: + return 'normal' + if style == Pango.Style.ITALIC: + return 'italic' + # Pango.Style.OBLIQUE: + return 'oblique' + + def get_value(self, selector, attr, pre=False): + if attr == StyleAttr.FONT: + # forward to get_font() for convenience + return self.get_font(selector, pre) + + if isinstance(attr, StyleAttr): + attr = attr.value + + if pre: + css = self._pre_css + else: + css = self._css + try: + return self._get_from_cache(selector, attr) + except KeyError: + pass + + if css is not None: + for rule in css: + if rule.type != rule.STYLE_RULE: + continue + if rule.selectorText == selector: + log.info('Get %s %s: %s', + selector, attr, rule.style[attr] or None) + value = rule.style.getPropertyValue(attr) or None + if not pre: + self._add_to_cache(selector, attr, value) + return value + + # We didn’t find the selector in the selected theme + # search in default theme + if not pre: + rule = self._get_default_rule(selector, attr) + value = rule if rule is None else rule.style[attr] + self._add_to_cache(selector, attr, value) + return value + return None + + def remove_value(self, selector, attr, pre=False): + if attr == StyleAttr.FONT: + # forward to remove_font() for convenience + return self.remove_font(selector, pre) + + if isinstance(attr, StyleAttr): + attr = attr.value + + css = self._css + if pre: + css = self._pre_css + for rule in css: + if rule.type != rule.STYLE_RULE: + continue + if rule.selectorText == selector: + log.info('Remove %s %s', selector, attr) + rule.style.removeProperty(attr) + break + self._write(pre) + return None + + def remove_font(self, selector, pre=False): + css = self._css + if pre: + css = self._pre_css + + for rule in css: + if rule.type != rule.STYLE_RULE: + continue + if rule.selectorText == selector: + log.info('Remove Font from: %s', selector) + rule.style.removeProperty('font-family') + rule.style.removeProperty('font-size') + rule.style.removeProperty('font-style') + rule.style.removeProperty('font-weight') + break + self._write(pre) + + def change_theme(self, theme): + user = not theme == 'default' + theme_path = self.get_theme_path(theme, user=user) + if not theme_path.exists(): + log.error('Change Theme: Theme %s does not exist', theme_path) + return False + self._load_selected(theme_path) + self._activate_theme() + app.settings.set('roster_theme', theme) + log.info('Change Theme: Successful switched to %s', theme) + return True + + def change_preload_theme(self, theme): + theme_path = self.get_theme_path(theme) + if not theme_path.exists(): + log.error('Change Preload Theme: Theme %s does not exist', + theme_path) + return False + self._load_pre(theme) + log.info('Successful switched to %s', theme) + return True + + def rename_theme(self, old_theme, new_theme): + if old_theme not in self.themes: + log.error('Rename Theme: Old theme %s not found', old_theme) + return False + + if new_theme in self.themes: + log.error('Rename Theme: New theme %s exists already', new_theme) + return False + + old_theme_path = self.get_theme_path(old_theme) + new_theme_path = self.get_theme_path(new_theme) + old_theme_path.rename(new_theme_path) + self.themes.remove(old_theme) + self.themes.append(new_theme) + self._load_pre(new_theme) + log.info('Rename Theme: Successful renamed theme from %s to %s', + old_theme, new_theme) + return True + + def _activate_theme(self): + log.info('Activate theme') + self._invalidate_cache() + self._provider.load_from_data(self._css.cssText) + + def add_new_theme(self, theme): + theme_path = self.get_theme_path(theme) + if theme_path.exists(): + log.error('Add Theme: %s exists already', theme_path) + return False + with open(theme_path, 'w', encoding='utf8'): + pass + self.themes.append(theme) + log.info('Add Theme: Successful added theme %s', theme) + return True + + def remove_theme(self, theme): + theme_path = self.get_theme_path(theme) + if theme_path.exists(): + theme_path.unlink() + self.themes.remove(theme) + log.info('Remove Theme: Successful removed theme %s', theme) + + def _add_to_cache(self, selector, attr, value): + self._cache[selector + attr] = value + + def _get_from_cache(self, selector, attr): + return self._cache[selector + attr] + + def _invalidate_cache(self): + self._cache = {} + + def refresh(self): + css = '' + accounts = app.settings.get_accounts() + for index, account in enumerate(accounts): + color = app.settings.get_account_setting(account, 'account_color') + css_class = 'gajim_class_%s' % index + css += '.%s { background-color: %s }\n' % (css_class, color) + self._dynamic_dict[account] = css_class + + self._dynamic_provider.load_from_data(css.encode()) + + def get_dynamic_class(self, name): + return self._dynamic_dict[name] diff --git a/gajim/gtk/dataform.py b/gajim/gtk/dataform.py new file mode 100644 index 0000000..0aabca0 --- /dev/null +++ b/gajim/gtk/dataform.py @@ -0,0 +1,715 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from gi.repository import Gtk +from gi.repository import GLib +from gi.repository import GObject +from gi.repository import Pango + +from nbxmpp.modules.dataforms import extend_form + +from gajim.gtkgui_helpers import scale_pixbuf_from_data + +from gajim.common import app +from gajim.common.i18n import _ +from gajim.common.helpers import open_uri + +from .util import MultiLineLabel +from .util import MaxWidthComboBoxText +from .util import make_href_markup + + +# Options + +# no-scrolling No scrollbars +# form-width Minimal form width +# right-align Right align labels +# hide-fallback-fields Hide fallback fields in IBR form (ejabberd) +# left-width Width for labels +# read-only Read only mode for fields +# entry-activates-default Form entry activates the default widget + + +class DataFormWidget(Gtk.ScrolledWindow): + + __gsignals__ = {'is-valid': (GObject.SignalFlags.RUN_LAST, None, (bool,))} + + def __init__(self, form_node, options=None): + Gtk.ScrolledWindow.__init__(self) + self.set_hexpand(True) + self.set_vexpand(True) + self.get_style_context().add_class('data-form-widget') + self.set_overlay_scrolling(False) + + if options is None: + options = {} + + if options.get('no-scrolling', False): + self.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.NEVER) + + self._form_node = form_node + self._form_grid = FormGrid(form_node, options) + + self.add(self._form_grid) + + @property + def title(self): + return self._form_grid.title + + @property + def instructions(self): + return self._form_grid.instructions + + def validate(self): + return self._form_grid.validate(True) + + def get_form(self): + return self._form_node + + def get_submit_form(self): + self._form_node.type_ = 'submit' + return self._form_node + + def focus_first_entry(self): + for row in range(0, self._form_grid.row_count): + widget = self._form_grid.get_child_at(1, row) + if isinstance(widget, Gtk.Entry): + widget.grab_focus_without_selecting() + break + + +class FormGrid(Gtk.Grid): + def __init__(self, form_node, options): + Gtk.Grid.__init__(self) + self.set_column_spacing(12) + self.set_row_spacing(12) + self.set_halign(Gtk.Align.CENTER) + self.row_count = 0 + self.rows = [] + + form_width = options.get('form-width', 435) + self.set_size_request(form_width, -1) + + self._data_form = form_node + + self.title = None + self.instructions = None + + self._fields = { + 'boolean': BooleanField, + 'fixed': FixedField, + 'list-single': ListSingleField, + 'list-multi': ListMultiField, + 'jid-single': JidSingleField, + 'jid-multi': JidMultiField, + 'text-single': TextSingleField, + 'text-private': TextPrivateField, + 'text-multi': TextMultiField + } + + self._add_row(SizeAdjustment(options)) + + if form_node.title is not None: + self.title = form_node.title + self._add_row(Title(form_node.title)) + if form_node.instructions: + self.instructions = form_node.instructions + self._add_row(Instructions(form_node.instructions)) + + self._analyse_fields(form_node, options) + self._parse_form(form_node, options) + + def _add_row(self, field): + field.add(self, self.row_count) + self.row_count += 1 + self.rows.append(field) + + @staticmethod + def _analyse_fields(form_node, options): + if 'right-align' in options: + # Don’t overwrite option + return + + label_lengths = set([0]) + for field in form_node.iter_fields(): + if field.type_ == 'hidden': + continue + + if field.label is None: + continue + + label_lengths.add(len(field.label)) + + options['right-align'] = max(label_lengths) < 30 + + def _parse_form(self, form_node, options): + for field in form_node.iter_fields(): + if field.type_ == 'hidden': + continue + + if options.get('hide-fallback-fields'): + if field.var is not None and 'fallback' in field.var: + continue + + if field.media: + if not self._add_media_field(field, options): + # We don’t understand this media element, ignore it + continue + + widget = self._fields[field.type_] + self._add_row(widget(field, self, options)) + + def _add_media_field(self, field, options): + if not field.type_ in ('text-single', 'text-private', 'text-multi'): + return False + + for uri in field.media.uris: + if not uri.type_.startswith('image/'): + continue + + if not uri.uri_data.startswith('cid'): + continue + + self._add_row(ImageMediaField(uri, self, options)) + return True + return False + + def validate(self, is_valid): + value = self._data_form.is_valid() if is_valid else False + self.get_parent().get_parent().emit('is-valid', value) + + +class SizeAdjustment: + def __init__(self, options): + self._left_box = Gtk.Box() + self._right_box = Gtk.Box() + + left_width = options.get('left-width', 100) + self._left_box.set_size_request(left_width, -1) + self._right_box.set_hexpand(True) + + def add(self, form_grid, row_number): + form_grid.attach(self._left_box, 0, row_number, 1, 1) + form_grid.attach_next_to(self._right_box, + self._left_box, + Gtk.PositionType.RIGHT, 1, 1) + + +class Title: + def __init__(self, title): + self._label = Gtk.Label(label=title) + self._label.set_line_wrap(True) + self._label.set_line_wrap_mode(Pango.WrapMode.WORD) + self._label.set_justify(Gtk.Justification.CENTER) + self._label.get_style_context().add_class('data-form-title') + + def add(self, form_grid, row_number): + form_grid.attach(self._label, 0, row_number, 2, 1) + + +class Instructions: + def __init__(self, instructions): + self._label = Gtk.Label() + self._label.set_markup(make_href_markup(instructions)) + self._label.set_line_wrap(True) + self._label.set_line_wrap_mode(Pango.WrapMode.WORD) + self._label.set_justify(Gtk.Justification.CENTER) + + def add(self, form_grid, row_number): + form_grid.attach(self._label, 0, row_number, 2, 1) + + +class Field: + def __init__(self, field, form_grid, options): + self._widget = None + self._field = field + self._form_grid = form_grid + self._validate_source_id = None + self._read_only = options.get('read-only', False) + + self._label = Gtk.Label(label=field.label) + self._label.set_single_line_mode(False) + self._label.set_line_wrap(True) + self._label.set_line_wrap_mode(Pango.WrapMode.WORD) + self._label.set_width_chars(15) + self._label.set_xalign(bool(options.get('right-align'))) + self._label.set_tooltip_text(field.description) + + self._warning_image = Gtk.Image.new_from_icon_name( + 'dialog-warning-symbolic', Gtk.IconSize.MENU) + self._warning_image.get_style_context().add_class('warning-color') + self._warning_image.set_no_show_all(True) + self._warning_image.set_valign(Gtk.Align.CENTER) + self._warning_image.set_tooltip_text(_('Required')) + self._warning_box = Gtk.Box() + self._warning_box.set_size_request(16, -1) + self._warning_box.add(self._warning_image) + + @property + def read_only(self): + return self._read_only + + def add(self, form_grid, row_number): + form_grid.attach(self._label, 0, row_number, 1, 1) + form_grid.attach_next_to(self._widget, + self._label, + Gtk.PositionType.RIGHT, 1, 1) + if self._field.type_ in ('jid-single', + 'jid-multi', + 'text-single', + 'text-private', + 'text-multi', + 'list-multi'): + form_grid.attach_next_to(self._warning_box, + self._widget, + Gtk.PositionType.RIGHT, 1, 1) + + is_valid, error = self._field.is_valid() + self._set_warning(is_valid, error) + + def _set_warning(self, is_valid, error): + if not self._field.required and not is_valid and not error: + # If its not valid and no error is given, its the initial call + # to show all icons on required fields. + return + + style = self._warning_image.get_style_context() + if error: + style.remove_class('warning-color') + style.add_class('error-color') + else: + error = _('Required') + style.remove_class('error-color') + style.add_class('warning-color') + self._warning_image.set_tooltip_text(str(error)) + self._warning_image.set_visible(not is_valid) + + def _validate(self): + self._form_grid.validate(False) + if self._validate_source_id is not None: + GLib.source_remove(self._validate_source_id) + + def _start_validation(): + is_valid, error = self._field.is_valid() + self._set_warning(is_valid, error) + self._form_grid.validate(is_valid) + self._validate_source_id = None + + self._validate_source_id = GLib.timeout_add(500, _start_validation) + + +class BooleanField(Field): + def __init__(self, field, form_grid, options): + Field.__init__(self, field, form_grid, options) + + if self.read_only: + label = _('Yes') if field.value else _('No') + self._widget = Gtk.Label(label=label) + self._widget.set_xalign(0) + else: + self._widget = Gtk.CheckButton() + self._widget.set_active(field.value) + self._widget.connect('toggled', self._toggled) + self._widget.set_valign(Gtk.Align.CENTER) + + def _toggled(self, _widget): + self._field.value = self._widget.get_active() + + +class FixedField(Field): + def __init__(self, field, form_grid, options): + Field.__init__(self, field, form_grid, options) + + self._label.set_markup(make_href_markup(field.value)) + + # If the value is more than 40 chars it proabably isn’t + # meant as a section header + if len(field.value) < 40: + self._label.get_style_context().add_class('field-fixed') + else: + self._label.set_xalign(0.5) + + def add(self, form_grid, row_number): + if len(self._field.value) < 40: + form_grid.attach(self._label, 0, row_number, 1, 1) + else: + form_grid.attach(self._label, 0, row_number, 2, 1) + + +class ListSingleField(Field): + def __init__(self, field, form_grid, options): + Field.__init__(self, field, form_grid, options) + + self._widget = MaxWidthComboBoxText() + self._widget.set_valign(Gtk.Align.CENTER) + for value, label in field.iter_options(): + if not label: + label = value + self._widget.append(value, label) + + self._widget.set_active_id(field.value) + self._widget.connect('changed', self._changed) + + def _changed(self, widget): + self._field.value = widget.get_active_id() + self._validate() + + +class ListMultiField(Field): + def __init__(self, field, form_grid, options): + Field.__init__(self, field, form_grid, options) + self._label.set_valign(Gtk.Align.START) + + self._treeview = ListMutliTreeView(field, self) + + self._widget = Gtk.ScrolledWindow() + self._widget.set_propagate_natural_height(True) + self._widget.set_min_content_height(100) + self._widget.set_max_content_height(300) + self._widget.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC) + self._widget.add(self._treeview) + + def validate(self): + self._validate() + + +class ListMutliTreeView(Gtk.TreeView): + def __init__(self, field, multi_field): + Gtk.TreeView.__init__(self) + + self._field = field + self._multi_field = multi_field + + # label, value, tooltip, toggled + self._store = Gtk.ListStore(str, str, str, bool) + + col = Gtk.TreeViewColumn() + cell = Gtk.CellRendererText() + cell.set_property('ellipsize', Pango.EllipsizeMode.END) + cell.set_property('width-chars', 40) + col.pack_start(cell, True) + col.set_attributes(cell, text=0) + self.append_column(col) + + col = Gtk.TreeViewColumn() + cell = Gtk.CellRendererToggle() + cell.set_activatable(True) + cell.set_property('xalign', 1) + cell.set_property('xpad', 10) + cell.connect('toggled', self._toggled) + col.pack_start(cell, True) + col.set_attributes(cell, active=3) + self.append_column(col) + + self.set_headers_visible(False) + + for option in field.options: + label, value = option + self._store.append( + [label, value, label, value in field.values]) + + labels_over_max_width = map(lambda x: len(x) > 40, + [option[0] for option in field.options]) + if any(labels_over_max_width): + self.set_tooltip_column(2) + + self.set_model(self._store) + + def _toggled(self, _renderer, path): + iter_ = self._store.get_iter(path) + current_value = self._store[iter_][3] + self._store.set_value(iter_, 3, not current_value) + self._set_values() + self._multi_field.validate() + + def _set_values(self): + values = [] + for row in self.get_model(): + if not row[3]: + continue + values.append(row[2]) + self._field.values = values + + +class JidMultiField(Field): + def __init__(self, field, form_grid, options): + Field.__init__(self, field, form_grid, options) + self._label.set_valign(Gtk.Align.START) + + self._treeview = JidMutliTreeView(field, self) + + self._add_button = Gtk.ToolButton(icon_name='list-add-symbolic') + self._add_button.connect('clicked', self._add_clicked) + + self._remove_button = Gtk.ToolButton(icon_name='list-remove-symbolic') + self._remove_button.connect('clicked', self._remove_clicked) + + self._toolbar = Gtk.Toolbar() + self._toolbar.set_icon_size(Gtk.IconSize.MENU) + self._toolbar.set_style(Gtk.ToolbarStyle.ICONS) + self._toolbar.get_style_context().add_class('inline-toolbar') + self._toolbar.add(self._add_button) + self._toolbar.add(self._remove_button) + + self._widget = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) + + self._scrolled_window = Gtk.ScrolledWindow() + self._scrolled_window.set_propagate_natural_height(True) + self._scrolled_window.set_min_content_height(100) + self._scrolled_window.set_max_content_height(300) + self._scrolled_window.add(self._treeview) + + self._widget.pack_start(self._scrolled_window, True, True, 0) + self._widget.pack_end(self._toolbar, False, False, 0) + + def _add_clicked(self, _widget): + self._treeview.get_model().append(['']) + + def _remove_clicked(self, _widget): + mod, paths = self._treeview.get_selection().get_selected_rows() + for path in paths: + iter_ = mod.get_iter(path) + self._treeview.get_model().remove(iter_) + + jids = [] + for row in self._treeview.get_model(): + if not row[0]: + continue + jids.append(row[0]) + self._field.values = jids + self._validate() + + def validate(self): + self._validate() + + +class JidMutliTreeView(Gtk.TreeView): + def __init__(self, field, multi_field): + Gtk.TreeView.__init__(self) + + self._field = field + self._multi_field = multi_field + + self._store = Gtk.ListStore(str) + + col = Gtk.TreeViewColumn() + cell = Gtk.CellRendererText() + cell.set_property('editable', True) + cell.set_property('placeholder-text', 'user@example.org') + cell.connect('edited', self._jid_edited) + col.pack_start(cell, True) + col.set_attributes(cell, text=0) + self.append_column(col) + + self.set_headers_visible(False) + + for value in field.values: + self._store.append([value]) + + self.set_model(self._store) + + def _jid_edited(self, _renderer, path, new_text): + iter_ = self._store.get_iter(path) + self._store.set_value(iter_, 0, new_text) + self._set_values() + self._multi_field.validate() + + def _set_values(self): + jids = [] + for row in self._store: + if not row[0]: + continue + jids.append(row[0]) + self._field.values = jids + + +class TextSingleField(Field): + def __init__(self, field, form_grid, options): + Field.__init__(self, field, form_grid, options) + + if self.read_only: + self._widget = Gtk.Label(label=field.value) + self._widget.set_xalign(0) + self._widget.set_selectable(True) + else: + self._widget = Gtk.Entry() + self._widget.set_text(field.value) + self._widget.connect('changed', self._changed) + if options.get('entry-activates-default', False): + self._widget.set_activates_default(True) + self._widget.set_valign(Gtk.Align.CENTER) + + def _changed(self, _widget): + self._field.value = self._widget.get_text() + self._validate() + + +class TextPrivateField(TextSingleField): + def __init__(self, field, form_grid, options): + TextSingleField.__init__(self, field, form_grid, options) + self._widget.set_input_purpose(Gtk.InputPurpose.PASSWORD) + self._widget.set_visibility(False) + + +class JidSingleField(TextSingleField): + def __init__(self, field, form_grid, options): + TextSingleField.__init__(self, field, form_grid, options) + + +class TextMultiField(Field): + def __init__(self, field, form_grid, options): + Field.__init__(self, field, form_grid, options) + self._label.set_valign(Gtk.Align.START) + + self._widget = Gtk.ScrolledWindow() + self._widget.set_policy(Gtk.PolicyType.NEVER, + Gtk.PolicyType.AUTOMATIC) + self._widget.set_propagate_natural_height(True) + self._widget.set_min_content_height(100) + self._widget.set_max_content_height(300) + + if self.read_only: + self._textview = MultiLineLabel(label=field.value) + self._textview.set_selectable(True) + self._textview.set_xalign(0) + self._textview.set_yalign(0) + else: + self._textview = Gtk.TextView() + self._textview.set_wrap_mode(Gtk.WrapMode.WORD_CHAR) + self._textview.get_buffer().set_text(field.value) + self._textview.get_buffer().connect('changed', self._changed) + + self._widget.add(self._textview) + + def _changed(self, widget): + self._field.value = widget.get_text(*widget.get_bounds(), False) + self._validate() + + +class ImageMediaField(): + def __init__(self, uri, form_grid, _options): + self._uri = uri + self._form_grid = form_grid + + filename = uri.uri_data.split(':')[1].split('@')[0] + data = app.bob_cache.get(filename) + if data is None: + self._image = Gtk.Image() + return + + pixbuf = scale_pixbuf_from_data(data, 170) + self._image = Gtk.Image.new_from_pixbuf(pixbuf) + self._image.set_halign(Gtk.Align.CENTER) + self._image.get_style_context().add_class('preview-image') + + def add(self, form_grid, row_number): + form_grid.attach(self._image, 1, row_number, 1, 1) + + +class FakeDataFormWidget(Gtk.ScrolledWindow): + def __init__(self, fields): + Gtk.ScrolledWindow.__init__(self) + self.set_hexpand(True) + self.set_vexpand(True) + self.set_overlay_scrolling(False) + self.get_style_context().add_class('data-form-widget') + + self._grid = Gtk.Grid() + self._grid.set_column_spacing(12) + self._grid.set_row_spacing(12) + self._grid.set_halign(Gtk.Align.CENTER) + + self._fields = fields + self._entries = {} + self._row_count = 0 + + instructions = fields.pop('instructions', None) + if instructions is not None: + label = Gtk.Label(label=instructions) + label.set_justify(Gtk.Justification.CENTER) + label.set_max_width_chars(40) + label.set_line_wrap(True) + label.set_line_wrap_mode(Pango.WrapMode.WORD) + self._grid.attach(label, 0, self._row_count, 2, 1) + self._row_count += 1 + + redirect_url = fields.pop('redirect-url', None) + if not fields and redirect_url is not None: + # Server wants to redirect registration + button = Gtk.Button(label='Register') + button.set_halign(Gtk.Align.CENTER) + button.get_style_context().add_class('suggested-action') + button.connect('clicked', lambda *args: open_uri(redirect_url)) + self._grid.attach(button, 0, self._row_count, 2, 1) + else: + self._add_fields() + self.add(self._grid) + self.show_all() + + def _add_fields(self): + for name, value in self._fields.items(): + if name in ('key', 'x', 'registered'): + continue + + label = Gtk.Label(label=name.capitalize()) + label.set_xalign(1) + self._grid.attach(label, 0, self._row_count, 1, 1) + self._row_count += 1 + + entry = Gtk.Entry() + entry.set_text(value) + if name == 'password': + entry.set_input_purpose(Gtk.InputPurpose.PASSWORD) + entry.set_visibility(False) + self._entries[name] = entry + + self._grid.attach_next_to(entry, label, + Gtk.PositionType.RIGHT, 1, 1) + + def get_submit_form(self): + fields = {} + for name, entry in self._entries.items(): + fields[name] = entry.get_text() + return fields + + + +class DataFormDialog(Gtk.Dialog): + def __init__(self, title, transient_for, form, node, submit_callback): + Gtk.Dialog.__init__(self, + title=title, + transient_for=transient_for, + modal=False) + self.set_default_size(600, 500) + + self._submit_callback = submit_callback + self._form = DataFormWidget(extend_form(node=form)) + self._node = node + + self.get_content_area().get_style_context().add_class('dialog-margin') + self.get_content_area().add(self._form) + + self.add_button(_('Cancel'), Gtk.ResponseType.CANCEL) + + submit_button = self.add_button(_('Submit'), Gtk.ResponseType.OK) + submit_button.get_style_context().add_class('suggested-action') + self.set_default_response(Gtk.ResponseType.OK) + + self.connect('response', self._on_response) + self.show_all() + + def _on_response(self, _dialog, response): + if response == Gtk.ResponseType.OK: + self._submit_callback(self._form.get_submit_form(), self._node) + self.destroy() diff --git a/gajim/gtk/dialogs.py b/gajim/gtk/dialogs.py new file mode 100644 index 0000000..1e521f9 --- /dev/null +++ b/gajim/gtk/dialogs.py @@ -0,0 +1,555 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from datetime import datetime +from collections import namedtuple + +from gi.repository import GLib +from gi.repository import Gtk +from gi.repository import Gdk +from gi.repository import GdkPixbuf +from gi.repository import Pango + +from gajim.common import app +from gajim.common.i18n import _ +from gajim.common.const import ButtonAction +from gajim.common.helpers import convert_gio_to_openssl_cert + +from .util import get_builder +from .util import get_thumbnail_size + + +class DialogButton(namedtuple('DialogButton', ('response text callback args ' + 'kwargs action is_default'))): + @classmethod + def make(cls, type_=None, **kwargs): + # Defaults + default_kwargs = { + 'response': None, + 'text': None, + 'callback': None, + 'args': [], + 'kwargs': {}, + 'action': None, + 'is_default': False + } + + if type_ is not None: + if type_ == 'OK': + default_kwargs['response'] = Gtk.ResponseType.OK + default_kwargs['text'] = _('_OK') + + elif type_ == 'Cancel': + default_kwargs['response'] = Gtk.ResponseType.CANCEL + default_kwargs['text'] = _('_Cancel') + + elif type_ == 'Accept': + default_kwargs['response'] = Gtk.ResponseType.ACCEPT + default_kwargs['text'] = _('_Accept') + default_kwargs['is_default'] = True + default_kwargs['action'] = ButtonAction.SUGGESTED + + elif type_ == 'Delete': + default_kwargs['response'] = Gtk.ResponseType.REJECT + default_kwargs['text'] = _('_Delete') + default_kwargs['action'] = ButtonAction.DESTRUCTIVE + + elif type_ == 'Remove': + default_kwargs['response'] = Gtk.ResponseType.REJECT + default_kwargs['text'] = _('_Remove') + default_kwargs['action'] = ButtonAction.DESTRUCTIVE + else: + raise ValueError('Unknown button type: %s ' % type_) + + default_kwargs.update(kwargs) + return cls(**default_kwargs) + + +class HigDialog(Gtk.MessageDialog): + def __init__(self, + parent, + type_, + buttons, + pritext, + sectext, + on_response_ok=None, + on_response_cancel=None, + on_response_yes=None, + on_response_no=None): + self.call_cancel_on_destroy = True + Gtk.MessageDialog.__init__(self, + transient_for=parent, + modal=True, + destroy_with_parent=True, + message_type=type_, + buttons=buttons, + text=pritext) + + self.format_secondary_markup(sectext) + + self.possible_responses = { + Gtk.ResponseType.OK: on_response_ok, + Gtk.ResponseType.CANCEL: on_response_cancel, + Gtk.ResponseType.YES: on_response_yes, + Gtk.ResponseType.NO: on_response_no + } + + self.connect('response', self.on_response) + self.connect('destroy', self.on_dialog_destroy) + + def on_response(self, dialog, response_id): + if response_id not in self.possible_responses: + return + if not self.possible_responses[response_id]: + self.destroy() + elif isinstance(self.possible_responses[response_id], tuple): + if len(self.possible_responses[response_id]) == 1: + self.possible_responses[response_id][0](dialog) + else: + self.possible_responses[response_id][0]( + dialog, *self.possible_responses[response_id][1:]) + else: + self.possible_responses[response_id](dialog) + + def on_dialog_destroy(self, _widget): + if not self.call_cancel_on_destroy: + return None + cancel_handler = self.possible_responses[Gtk.ResponseType.CANCEL] + if not cancel_handler: + return False + if isinstance(cancel_handler, tuple): + cancel_handler[0](None, *cancel_handler[1:]) + else: + cancel_handler(None) + return None + + def popup(self): + """ + Show dialog + """ + vb = self.get_children()[0].get_children()[0] # Give focus to top vbox + # vb.set_flags(Gtk.CAN_FOCUS) + vb.grab_focus() + self.show_all() + + +class WarningDialog(HigDialog): + """ + HIG compliant warning dialog + """ + + def __init__(self, pritext, sectext='', transient_for=None): + if transient_for is None: + transient_for = app.app.get_active_window() + HigDialog.__init__(self, + transient_for, + Gtk.MessageType.WARNING, + Gtk.ButtonsType.OK, + pritext, + sectext) + self.set_modal(False) + self.popup() + + +class InformationDialog(HigDialog): + """ + HIG compliant info dialog + """ + + def __init__(self, pritext, sectext='', transient_for=None): + if transient_for is None: + transient_for = app.app.get_active_window() + HigDialog.__init__(self, + transient_for, + Gtk.MessageType.INFO, + Gtk.ButtonsType.OK, + pritext, + sectext) + self.set_modal(False) + self.popup() + + +class ErrorDialog(HigDialog): + """ + HIG compliant error dialog + """ + + def __init__(self, + pritext, + sectext='', + on_response_ok=None, + on_response_cancel=None, + transient_for=None): + if transient_for is None: + transient_for = app.app.get_active_window() + HigDialog.__init__(self, + transient_for, + Gtk.MessageType.ERROR, + Gtk.ButtonsType.OK, + pritext, + sectext, + on_response_ok=on_response_ok, + on_response_cancel=on_response_cancel) + self.popup() + + +class CertificateDialog(Gtk.ApplicationWindow): + def __init__(self, transient_for, account, cert): + Gtk.ApplicationWindow.__init__(self) + self.account = account + self.set_name('CertificateDialog') + self.set_application(app.app) + self.set_show_menubar(False) + self.set_resizable(False) + self.set_position(Gtk.WindowPosition.CENTER) + self.set_title(_('Certificate')) + + self._ui = get_builder('certificate_dialog.ui') + self.add(self._ui.certificate_box) + + self.connect('key-press-event', self._on_key_press) + + self._clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) + + cert = convert_gio_to_openssl_cert(cert) + # Get data for labels and copy button + issuer = cert.get_issuer() + subject = cert.get_subject() + + self._headline = _('Certificate for \n%s') % self.account + self._it_common_name = subject.commonName or '' + self._it_organization = subject.organizationName or '' + self._it_org_unit = subject.organizationalUnitName or '' + it_serial_no = str(cert.get_serial_number()) + it_serial_no_half = int(len(it_serial_no) / 2) + self._it_serial_number = '%s\n%s' % ( + it_serial_no[:it_serial_no_half], + it_serial_no[it_serial_no_half:]) + self._ib_common_name = issuer.commonName or '' + self._ib_organization = issuer.organizationName or '' + self._ib_org_unit = issuer.organizationalUnitName or '' + issued = datetime.strptime(cert.get_notBefore().decode('ascii'), + '%Y%m%d%H%M%SZ') + self._issued = issued.strftime('%c %Z') + expires = datetime.strptime(cert.get_notAfter().decode('ascii'), + '%Y%m%d%H%M%SZ') + self._expires = expires.strftime('%c %Z') + sha1 = cert.digest('sha1').decode('utf-8') + self._sha1 = '%s\n%s' % (sha1[:29], sha1[30:]) + sha256 = cert.digest('sha256').decode('utf-8') + self._sha256 = '%s\n%s\n%s\n%s' % ( + sha256[:23], sha256[24:47], sha256[48:71], sha256[72:]) + + # Set labels + self._ui.label_cert_for_account.set_text(self._headline) + self._ui.data_it_common_name.set_text(self._it_common_name) + self._ui.data_it_organization.set_text(self._it_organization) + self._ui.data_it_organizational_unit.set_text(self._it_org_unit) + self._ui.data_it_serial_number.set_text(self._it_serial_number) + self._ui.data_ib_common_name.set_text(self._ib_common_name) + self._ui.data_ib_organization.set_text(self._ib_organization) + self._ui.data_ib_organizational_unit.set_text(self._ib_org_unit) + self._ui.data_issued_on.set_text(self._issued) + self._ui.data_expires_on.set_text(self._expires) + self._ui.data_sha1.set_text(self._sha1) + self._ui.data_sha256.set_text(self._sha256) + + self.set_transient_for(transient_for) + self._ui.connect_signals(self) + self.show_all() + + def _on_key_press(self, _widget, event): + if event.keyval == Gdk.KEY_Escape: + self.destroy() + + def _on_copy_cert_info_button_clicked(self, _widget): + clipboard_text = \ + self._headline + '\n\n' + \ + _('Issued to\n') + \ + _('Common Name (CN): ') + self._it_common_name + '\n' + \ + _('Organization (O): ') + self._it_organization + '\n' + \ + _('Organizational Unit (OU): ') + self._it_org_unit + '\n' + \ + _('Serial Number: ') + self._it_serial_number + '\n\n' + \ + _('Issued by\n') + \ + _('Common Name (CN): ') + self._ib_common_name + '\n' + \ + _('Organization (O): ') + self._ib_organization + '\n' + \ + _('Organizational Unit (OU): ') + self._ib_org_unit + '\n\n' + \ + _('Validity\n') + \ + _('Issued on: ') + self._issued + '\n' + \ + _('Expires on: ') + self._expires + '\n\n' + \ + _('SHA-1:') + '\n' + \ + self._sha1 + '\n' + \ + _('SHA-256:') + '\n' + \ + self._sha256 + '\n' + self._clipboard.set_text(clipboard_text, -1) + + +class PassphraseDialog: + """ + Class for Passphrase dialog + """ + def __init__(self, titletext, labeltext, checkbuttontext=None, + ok_handler=None, cancel_handler=None, transient_for=None): + self._ui = get_builder('passphrase_dialog.ui') + self.window = self._ui.get_object('passphrase_dialog') + self.passphrase = -1 + self.window.set_title(titletext) + self._ui.message_label.set_text(labeltext) + + self._ok = False + + self.cancel_handler = cancel_handler + self.ok_handler = ok_handler + self._ui.ok_button.connect('clicked', self.on_okbutton_clicked) + self._ui.cancel_button.connect('clicked', self.on_cancelbutton_clicked) + + self._ui.connect_signals(self) + if transient_for is None: + transient_for = app.app.get_active_window() + self.window.set_transient_for(transient_for) + self.window.show_all() + + self.check = bool(checkbuttontext) + if self._ui.save_passphrase_checkbutton: + self._ui.save_passphrase_checkbutton.set_label(checkbuttontext) + else: + self._ui.save_passphrase_checkbutton.hide() + + def on_okbutton_clicked(self, _widget): + if not self.ok_handler: + return + + passph = self._ui.passphrase_entry.get_text() + + if self.check: + checked = self._ui.save_passphrase_checkbutton.get_active() + else: + checked = False + + self._ok = True + + self.window.destroy() + + if isinstance(self.ok_handler, tuple): + self.ok_handler[0](passph, checked, *self.ok_handler[1:]) + else: + self.ok_handler(passph, checked) + + def on_cancelbutton_clicked(self, _widget): + self.window.destroy() + + def on_passphrase_dialog_destroy(self, _widget): + if self.cancel_handler and not self._ok: + self.cancel_handler() + + +class ConfirmationDialog(Gtk.MessageDialog): + def __init__(self, title, text, sec_text, buttons, + modal=True, transient_for=None): + if transient_for is None: + transient_for = app.app.get_active_window() + Gtk.MessageDialog.__init__(self, + title=title, + text=text, + transient_for=transient_for, + message_type=Gtk.MessageType.QUESTION, + modal=modal) + + self.get_style_context().add_class('confirmation-dialog') + + self._buttons = {} + + for button in buttons: + self._buttons[button.response] = button + self.add_button(button.text, button.response) + if button.is_default: + self.set_default_response(button.response) + if button.action is not None: + widget = self.get_widget_for_response(button.response) + widget.get_style_context().add_class(button.action.value) + + self.format_secondary_markup(sec_text) + + self.connect('response', self._on_response) + + def _on_response(self, _dialog, response): + if response == Gtk.ResponseType.DELETE_EVENT: + # Look if DELETE_EVENT is mapped to another response + response = self._buttons.get(response, None) + if response is None: + # If DELETE_EVENT was not mapped we assume CANCEL + response = Gtk.ResponseType.CANCEL + + button = self._buttons.get(response, None) + if button is None: + self.destroy() + return + + if button.callback is not None: + button.callback(*button.args, **button.kwargs) + self.destroy() + + def show(self): + self.show_all() + + +NewConfirmationDialog = ConfirmationDialog + + +class ConfirmationCheckDialog(ConfirmationDialog): + def __init__(self, title, text, sec_text, check_text, + buttons, modal=True, transient_for=None): + ConfirmationDialog.__init__(self, + title, + text, + sec_text, + buttons, + transient_for=transient_for, + modal=modal) + + self._checkbutton = Gtk.CheckButton.new_with_mnemonic(check_text) + self._checkbutton.set_can_focus(False) + self._checkbutton.set_margin_start(30) + self._checkbutton.set_margin_end(30) + label = self._checkbutton.get_child() + label.set_line_wrap(True) + label.set_max_width_chars(50) + label.set_halign(Gtk.Align.START) + label.set_line_wrap_mode(Pango.WrapMode.WORD) + label.set_margin_start(10) + + self.get_content_area().add(self._checkbutton) + + def _on_response(self, _dialog, response): + button = self._buttons.get(response) + if button is not None: + button.args.insert(0, self._checkbutton.get_active()) + super()._on_response(_dialog, response) + + +NewConfirmationCheckDialog = ConfirmationCheckDialog + + +class PastePreviewDialog(ConfirmationCheckDialog): + def __init__(self, title, text, sec_text, check_text, image, + buttons, modal=True, transient_for=None): + ConfirmationCheckDialog.__init__(self, + title, + text, + sec_text, + check_text, + buttons, + transient_for=transient_for, + modal=modal) + + preview = Gtk.Image() + preview.set_halign(Gtk.Align.CENTER) + preview.get_style_context().add_class('preview-image') + size = 300 + image_width = image.get_width() + image_height = image.get_height() + + if size > image_width and size > image_height: + preview.set_from_pixbuf(image) + else: + thumb_width, thumb_height = get_thumbnail_size(image, size) + pixbuf_scaled = image.scale_simple( + thumb_width, thumb_height, GdkPixbuf.InterpType.BILINEAR) + preview.set_from_pixbuf(pixbuf_scaled) + + content_area = self.get_content_area() + content_area.pack_start(preview, True, True, 0) + content_area.reorder_child(preview, 2) + + +class InputDialog(ConfirmationDialog): + def __init__(self, title, text, sec_text, buttons, input_str=None, + transient_for=None, modal=True): + ConfirmationDialog.__init__(self, + title, + text, + sec_text, + buttons, + transient_for=transient_for, + modal=modal) + + self._entry = Gtk.Entry() + self._entry.set_activates_default(True) + self._entry.set_margin_start(50) + self._entry.set_margin_end(50) + + if input_str: + self._entry.set_text(input_str) + self._entry.select_region(0, -1) # select all + + self.get_content_area().add(self._entry) + + def _on_response(self, _dialog, response): + button = self._buttons.get(response) + if button is not None: + button.args.insert(0, self._entry.get_text()) + super()._on_response(_dialog, response) + + +class TimeoutWindow: + """ + Class designed to be derivated by other windows + Derived windows close automatically after reaching the timeout + """ + def __init__(self, timeout): + self.title_text = '' + self._countdown_left = timeout + self._timeout_source_id = None + + def start_timeout(self): + if self._countdown_left > 0: + self.countdown() + self._timeout_source_id = GLib.timeout_add_seconds( + 1, self.countdown) + + def stop_timeout(self, *args, **kwargs): + if self._timeout_source_id is not None: + GLib.source_remove(self._timeout_source_id) + self._timeout_source_id = None + self.set_title(self.title_text) + + def on_timeout(self): + """ + To be implemented by derivated classes + """ + + def countdown(self): + if self._countdown_left <= 0: + self._timeout_source_id = None + self.on_timeout() + return False + + self.set_title('%s [%s]' % ( + self.title_text, str(self._countdown_left))) + self._countdown_left -= 1 + return True + + +class ShortcutsWindow: + def __init__(self): + transient = app.app.get_active_window() + builder = get_builder('shortcuts_window.ui') + self.window = builder.get_object('shortcuts_window') + self.window.connect('destroy', self._on_window_destroy) + self.window.set_transient_for(transient) + self.window.show_all() + self.window.present() + + def _on_window_destroy(self, _widget): + self.window = None diff --git a/gajim/gtk/discovery.py b/gajim/gtk/discovery.py new file mode 100644 index 0000000..af3fad3 --- /dev/null +++ b/gajim/gtk/discovery.py @@ -0,0 +1,2197 @@ +# Copyright (C) 2005-2006 Stéphan Kochen +# Copyright (C) 2005-2007 Nikos Kouremenos +# Copyright (C) 2005-2014 Yann Leboulanger +# Copyright (C) 2006 Dimitur Kirov +# Copyright (C) 2006-2008 Jean-Marie Traissard +# Copyright (C) 2006 Tomasz Melcer +# Copyright (C) 2007 Stephan Erb +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# The appearance of the treeview, and parts of the dialog, are controlled by +# AgentBrowser (sub-)classes. Methods that probably should be overridden when +# subclassing are: (look at the docstrings and source for additional info) +# - def cleanup(self) * +# - def _create_treemodel(self) * +# - def _add_actions(self) +# - def _clean_actions(self) +# - def update_theme(self) * +# - def update_actions(self) +# - def default_action(self) +# - def _find_item(self, jid, node) +# - def _add_item(self, jid, node, parent_node, item, force) +# - def _update_item(self, iter_, jid, node, item) +# - def _update_info(self, iter_, jid, node, identities, features, data) +# - def _update_error(self, iter_, jid, node) +# +# * Should call the super class for this method. +# All others do not have to call back to the super class (but can if they want +# the functionality). +# There are more methods, of course, but this is a basic set. + +import types +import weakref + +import nbxmpp +from nbxmpp.structs import DiscoIdentity +from nbxmpp.namespaces import Namespace +from nbxmpp.errors import StanzaError + +from gi.repository import GLib +from gi.repository import Gtk +from gi.repository import Gdk + +from gajim.common import app +from gajim.common import helpers +from gajim.common.i18n import _ +from gajim.common.const import StyleAttr + +from .adhoc import AdHocCommand +from .dialogs import ErrorDialog +from .search import Search +from .service_registration import ServiceRegistration +from .util import icon_exists +from .util import get_builder + +LABELS = { + 1: _('This service has not yet responded with detailed information'), + 2: _('This service could not respond with detailed information.\n' + 'It is most likely a legacy service or broken.'), +} + +# Dictionary mapping category, type pairs to browser class, image pairs. +# This is a function, so we can call it after the classes are declared. +# For the browser class, None means that the service will only be browsable +# when it advertises disco as it's feature, False means it's never browsable. + + +def _gen_agent_type_info(): + return { + # Defaults + (0, 0): (None, None), + + # XMPP server + ('server', 'im'): (ToplevelAgentBrowser, 'jabber'), + ('services', 'jabber'): (ToplevelAgentBrowser, 'jabber'), + ('hierarchy', 'branch'): (AgentBrowser, 'jabber'), + + # Services + ('conference', 'text'): (MucBrowser, 'conference'), + ('headline', 'rss'): (AgentBrowser, 'rss'), + ('headline', 'weather'): (False, 'weather'), + ('gateway', 'weather'): (False, 'weather'), + ('_jid', 'weather'): (False, 'weather'), + ('gateway', 'sip'): (False, 'sip'), + ('directory', 'user'): (None, 'jud'), + ('pubsub', 'generic'): (PubSubBrowser, 'pubsub'), + ('pubsub', 'service'): (PubSubBrowser, 'pubsub'), + ('proxy', 'bytestreams'): (None, 'bytestreams'), # Socks5 FT proxy + ('headline', 'newmail'): (ToplevelAgentBrowser, 'mail'), + + # Transports + ('conference', 'irc'): (ToplevelAgentBrowser, 'irc'), + ('_jid', 'irc'): (False, 'irc'), + ('gateway', 'irc'): (False, 'irc'), + ('gateway', 'gadu-gadu'): (False, 'gadu-gadu'), + ('_jid', 'gadugadu'): (False, 'gadu-gadu'), + ('gateway', 'http-ws'): (False, 'http-ws'), + ('gateway', 'icq'): (False, 'icq'), + ('_jid', 'icq'): (False, 'icq'), + ('gateway', 'sms'): (False, 'sms'), + ('_jid', 'sms'): (False, 'sms'), + ('gateway', 'smtp'): (False, 'mail'), + ('gateway', 'mrim'): (False, 'mrim'), + ('_jid', 'mrim'): (False, 'mrim'), + ('gateway', 'facebook'): (False, 'facebook'), + ('_jid', 'facebook'): (False, 'facebook'), + ('gateway', 'tv'): (False, 'tv'), + ('gateway', 'twitter'): (False, 'twitter'), + } + + +# Category type to "human-readable" description string +_cat_to_descr = { + 'other': _('Others'), + 'gateway': _('Transports'), + '_jid': _('Transports'), + 'conference': _('Group Chat'), +} + + +class CacheDictionary: + """ + A dictionary that keeps items around for only a specific time. Lifetime is + in minutes. Getrefresh specifies whether to refresh when an item is merely + accessed instead of set as well + """ + + def __init__(self, lifetime, getrefresh=True): + self.lifetime = lifetime * 1000 * 60 + self.getrefresh = getrefresh + self.cache = {} + + class CacheItem: + """ + An object to store cache items and their timeouts + """ + def __init__(self, value): + self.value = value + self.source = None + + def __call__(self): + return self.value + + def cleanup(self): + for key in list(self.cache.keys()): + item = self.cache[key] + if item.source: + GLib.source_remove(item.source) + del self.cache[key] + + def _expire_timeout(self, key): + """ + The timeout has expired, remove the object + """ + if key in self.cache: + del self.cache[key] + return False + + def _refresh_timeout(self, key): + """ + The object was accessed, refresh the timeout + """ + item = self.cache[key] + if item.source: + GLib.source_remove(item.source) + if self.lifetime: + source = GLib.timeout_add_seconds( + int(self.lifetime / 1000), self._expire_timeout, key) + item.source = source + + def __getitem__(self, key): + item = self.cache[key] + if self.getrefresh: + self._refresh_timeout(key) + return item() + + def __setitem__(self, key, value): + item = self.CacheItem(value) + self.cache[key] = item + self._refresh_timeout(key) + + def __delitem__(self, key): + item = self.cache[key] + if item.source: + GLib.source_remove(item.source) + del self.cache[key] + + def __contains__(self, key): + return key in self.cache + + +_icon_cache = CacheDictionary(15) + + +def get_agent_address(jid, node=None): + """ + Get an agent's address for displaying in the GUI + """ + if node: + return '%s@%s' % (node, str(jid)) + return str(jid) + + +class Closure: + """ + A weak reference to a callback with arguments as an object + + Weak references to methods immediately die, even if the object is still + alive. Besides a handy way to store a callback, this provides a workaround + that keeps a reference to the object instead. + + Userargs and removeargs must be tuples. + """ + + def __init__(self, cb, userargs=(), remove=None, removeargs=()): + self.userargs = userargs + self.remove = remove + self.removeargs = removeargs + if isinstance(cb, types.MethodType): + self.meth_self = weakref.ref(cb.__self__, self._remove) + self.meth_name = cb.__name__ + elif callable(cb): + self.meth_self = None + self.cb = weakref.ref(cb, self._remove) + else: + raise TypeError('Object is not callable') + + def _remove(self, ref): + if self.remove: + self.remove(self, *self.removeargs) + + def __call__(self, *args, **kwargs): + if self.meth_self: + obj = self.meth_self() + cb = getattr(obj, self.meth_name) + else: + cb = self.cb() + args = args + self.userargs + return cb(*args, **kwargs) + + +class ServicesCache: + """ + Class that caches our query results. Each connection will have it's own + ServiceCache instance + """ + + def __init__(self, account): + self.account = account + self._items = CacheDictionary(0, getrefresh=False) + self._info = CacheDictionary(0, getrefresh=False) + self._subscriptions = CacheDictionary(5, getrefresh=False) + self._cbs = {} + + def cleanup(self): + self._items.cleanup() + self._info.cleanup() + + def _clean_closure(self, cb, type_, addr): + # A closure died, clean up + cbkey = (type_, addr) + try: + self._cbs[cbkey].remove(cb) + except KeyError: + return + except ValueError: + return + # Clean an empty list + if not self._cbs[cbkey]: + del self._cbs[cbkey] + + def get_icon(self, identities=None, addr=''): + """ + Return the icon for an agent + """ + if identities is None: + identities = [] + # Grab the first identity with an icon + for identity in identities: + try: + cat, type_ = identity.category, identity.type + info = _agent_type_info[(cat, type_)] + except KeyError: + continue + service_name = info[1] + if service_name: + break + else: + # Loop fell through, default to unknown + service_name = addr.split('.')[0] + + # Or load it + icon_name = 'gajim-agent-%s' % service_name + if icon_exists(icon_name): + return icon_name + return 'gajim-agent-jabber' + + def get_browser(self, identities=None, features=None): + """ + Return the browser class for an agent + """ + if identities is None: + identities = [] + if features is None: + features = [] + # First pass, we try to find a ToplevelAgentBrowser + for identity in identities: + try: + cat, type_ = identity.category, identity.type + info = _agent_type_info[(cat, type_)] + except KeyError: + continue + browser = info[0] + if browser and browser == ToplevelAgentBrowser: + return browser + + # Second pass, we haven't found a ToplevelAgentBrowser + for identity in identities: + try: + cat, type_ = identity.category, identity.type + info = _agent_type_info[(cat, type_)] + except KeyError: + continue + browser = info[0] + if browser: + return browser + # Namespace.BROWSE is deprecated, but we check for it anyways. + # Some services list it in features and respond to + # Namespace.DISCO_ITEMS anyways. + # Allow browsing for unknown types as well. + if ((not features and not identities) or + Namespace.DISCO_ITEMS in features or + Namespace.BROWSE in features): + return ToplevelAgentBrowser + return None + + def get_info(self, jid, node, cb, force=False, nofetch=False, args=()): + """ + Get info for an agent + """ + addr = get_agent_address(jid, node) + # Check the cache + if addr in self._info and not force: + args = self._info[addr] + args + cb(jid, node, *args) + return + if nofetch: + return + + # Create a closure object + cbkey = ('info', addr) + cb = Closure(cb, userargs=args, remove=self._clean_closure, + removeargs=cbkey) + # Are we already fetching this? + if cbkey in self._cbs: + self._cbs[cbkey].append(cb) + else: + self._cbs[cbkey] = [cb] + con = app.connections[self.account] + con.get_module('Discovery').disco_info( + jid, node, callback=self._disco_info_received) + + def get_items(self, jid, node, cb, force=False, nofetch=False, args=()): + """ + Get a list of items in an agent + """ + addr = get_agent_address(jid, node) + # Check the cache + if addr in self._items and not force: + args = (self._items[addr],) + args + cb(jid, node, *args) + return + if nofetch: + return + + # Create a closure object + cbkey = ('items', addr) + cb = Closure(cb, userargs=args, remove=self._clean_closure, + removeargs=cbkey) + # Are we already fetching this? + if cbkey in self._cbs: + self._cbs[cbkey].append(cb) + else: + self._cbs[cbkey] = [cb] + con = app.connections[self.account] + con.get_module('Discovery').disco_items( + jid, node, callback=self._disco_items_received) + + def _disco_info_received(self, task): + """ + Callback for when we receive an agent's info + array is (agent, node, identities, features, data) + """ + + try: + result = task.finish() + except StanzaError as error: + self._disco_info_error(error) + return + + identities = result.identities + if not identities: + # Ejabberd doesn't send identities when using admin nodes + identities = [DiscoIdentity(category='server', + type='im', + name=result.node)] + + self._on_agent_info(str(result.jid), result.node, result.identities, + result.features, result.dataforms) + + def _disco_info_error(self, result): + """ + Callback for when a query fails. Even after the browse and agents + namespaces + """ + addr = get_agent_address(result.jid) + + # Call callbacks + cbkey = ('info', addr) + if cbkey in self._cbs: + for cb in self._cbs[cbkey]: + cb(str(result.jid), '', 0, 0, 0) + # clean_closure may have beaten us to it + if cbkey in self._cbs: + del self._cbs[cbkey] + + def _on_agent_info(self, fjid, node, identities, features, dataforms): + addr = get_agent_address(fjid, node) + + # Store in cache + self._info[addr] = (identities, features, dataforms) + + # Call callbacks + cbkey = ('info', addr) + if cbkey in self._cbs: + for cb in self._cbs[cbkey]: + cb(fjid, node, identities, features, dataforms) + # clean_closure may have beaten us to it + if cbkey in self._cbs: + del self._cbs[cbkey] + + def _disco_items_received(self, task): + """ + Callback for when we receive an agent's items + array is (agent, node, items) + """ + + try: + result = task.finish() + except StanzaError as error: + self._disco_items_error(error) + return + + addr = get_agent_address(result.jid, result.node) + + items = [] + for item in result.items: + items.append(item._asdict()) + + # Store in cache + self._items[addr] = items + + # Call callbacks + cbkey = ('items', addr) + if cbkey in self._cbs: + for cb in self._cbs[cbkey]: + cb(str(result.jid), result.node, items) + # clean_closure may have beaten us to it + if cbkey in self._cbs: + del self._cbs[cbkey] + + def _disco_items_error(self, result): + """ + Callback for when a query fails. Even after the browse and agents + namespaces + """ + addr = get_agent_address(result.jid) + + # Call callbacks + cbkey = ('items', addr) + if cbkey in self._cbs: + for cb in self._cbs[cbkey]: + cb(str(result.jid), '', 0) + # clean_closure may have beaten us to it + if cbkey in self._cbs: + del self._cbs[cbkey] + + +class ServiceDiscoveryWindow: + """ + Class that represents the Services Discovery window + """ + def __init__(self, account, jid='', node=None, address_entry=False, + parent=None, initial_identities=None): + self._account = account + self.parent = parent + if not jid: + jid = app.settings.get_account_setting(account, 'hostname') + node = None + + self.jid = None + self.browser = None + self.children = [] + self.dying = False + self.node = None + self.reloading = False + + # Check connection + if not app.account_is_available(account): + ErrorDialog(_('You are not connected to the server'), + _('Without a connection, you can not browse ' + 'available services')) + raise RuntimeError('You must be connected to browse services') + + # Get a ServicesCache object. + try: + self.cache = app.connections[account].services_cache + except AttributeError: + self.cache = ServicesCache(account) + app.connections[account].services_cache = self.cache + + if initial_identities: + self.cache._on_agent_info(jid, node, initial_identities, [], None) + self._ui = get_builder('service_discovery_window.ui') + self.window = self._ui.service_discovery_window + self.services_treeview = self._ui.services_treeview + self.model = None + # This is more reliable than the cursor-changed signal. + selection = self.services_treeview.get_selection() + selection.connect_after( + 'changed', self._on_services_treeview_selection_changed) + self.services_treeview.connect( + 'row-activated', self._on_services_treeview_row_activated) + self.services_scrollwin = self._ui.services_scrollwin + self.progressbar = self._ui.services_progressbar + self.banner_header = self._ui.banner_agent_header + self.banner_subheader = self._ui.banner_agent_subheader + self.banner_icon = self._ui.banner_agent_icon + self.style_event_id = 0 + self.action_buttonbox = self._ui.action_buttonbox + + # Address combobox + self.address_comboboxtext = None + if address_entry: + self.address_comboboxtext = self._ui.address_comboboxtext + + self.latest_addresses = app.settings.get( + 'latest_disco_addresses').split() + if jid in self.latest_addresses: + self.latest_addresses.remove(jid) + self.latest_addresses.insert(0, jid) + if len(self.latest_addresses) > 10: + self.latest_addresses = self.latest_addresses[0:10] + for j in self.latest_addresses: + self.address_comboboxtext.append_text(j) + self.address_comboboxtext.get_child().set_text(jid) + else: + # Don't show it at all if we didn't ask for it + self._ui.address_box.set_no_show_all(True) + self._ui.address_box.hide() + + accel_group = Gtk.AccelGroup() + keyval, mod = Gtk.accelerator_parse('r') + accel_group.connect(keyval, mod, Gtk.AccelFlags.VISIBLE, + self.accel_group_func) + self.window.add_accel_group(accel_group) + + self._initial_state() + self._ui.connect_signals(self) + self.travel(jid, node) + self.window.show_all() + + @property + def account(self): + return self._account + + @account.setter + def account(self, value): + self._account = value + self.cache.account = value + if self.browser: + self.browser.account = value + + def _on_key_press_event(self, widget, event): + if event.keyval == Gdk.KEY_Escape: + self.window.destroy() + + def accel_group_func(self, accel_group, acceleratable, keyval, modifier): + if (modifier & Gdk.ModifierType.CONTROL_MASK) and (keyval == Gdk.KEY_r): + self.reload() + + def _initial_state(self): + """ + Set some initial state on the window. Separated in a method because it's + handy to use within browser's cleanup method + """ + self.progressbar.hide() + title_text = _('Service Discovery using account %s') % self.account + self.window.set_title(title_text) + self._set_window_banner_text(_('Service Discovery')) + self.banner_icon.clear() + self.banner_icon.hide() # Just clearing it doesn't work + + def _set_window_banner_text(self, text, text_after=None): + self.banner_header.set_text(text) + if text_after is not None: + self.banner_subheader.show() + self.banner_subheader.set_text(text_after) + else: + self.banner_subheader.hide() + + def _destroy(self, chain=False): + """ + Close the browser. This can optionally close its children and propagate + to the parent. This should happen on actions like register, or join to + kill off the entire browser chain + """ + if self.dying: + return + self.dying = True + + # self.browser._get_agent_address() would break when no browser. + addr = get_agent_address(self.jid, self.node) + if addr in app.interface.instances[self.account]['disco']: + del app.interface.instances[self.account]['disco'][addr] + + if self.browser: + self.window.hide() + self.browser.cleanup() + self.browser = None + self.window.destroy() + + for child in self.children[:]: + child.parent = None + if chain: + child.destroy(chain=chain) + self.children.remove(child) + if self.parent: + if self in self.parent.children: + self.parent.children.remove(self) + if chain and not self.parent.children: + self.parent.destroy(chain=chain) + self.parent = None + else: + self.cache.cleanup() + + def reload(self): + if not self.jid: + return + self.reloading = True + self.travel(self.jid, self.node) + + def travel(self, jid, node): + """ + Travel to an agent within the current services window + """ + if self.browser: + self.browser.cleanup() + self.browser = None + # Update the window list + if self.jid: + old_addr = get_agent_address(self.jid, self.node) + if old_addr in app.interface.instances[self.account]['disco']: + del app.interface.instances[self.account]['disco'][old_addr] + addr = get_agent_address(jid, node) + app.interface.instances[self.account]['disco'][addr] = self + # We need to store these, self.browser is not always available. + self.jid = jid + self.node = node + self.cache.get_info(jid, node, self._travel, force=self.reloading) + + def _travel(self, jid, node, identities, features, data): + """ + Continuation of travel + """ + if self.dying or jid != self.jid or node != self.node: + return + if not identities: + if not self.address_comboboxtext: + # We can't travel anywhere else. + self._destroy() + ErrorDialog( + _('The service could not be found'), + _('There is no service at the address you entered, or it is ' + 'not responding. Check the address and try again.'), + transient_for=self.window) + return + klass = self.cache.get_browser(identities, features) + if not klass: + ErrorDialog( + _('The service is not browsable'), + _('This type of service does not contain any items to browse.'), + transient_for=self.window) + return + if klass is None: + klass = AgentBrowser + self.browser = klass(self.account, jid, node) + self.browser.prepare_window(self) + self.browser.browse(force=self.reloading) + self.reloading = False + + def open(self, jid, node): + """ + Open an agent. By default, this happens in a new window + """ + try: + win = app.interface.instances[ + self.account]['disco'][get_agent_address(jid, node)] + win.window.present() + return + except KeyError: + pass + try: + win = ServiceDiscoveryWindow(self.account, jid, node, parent=self) + except RuntimeError: + # Disconnected, perhaps + return + self.children.append(win) + + def _on_service_discovery_window_destroy(self, widget): + self._destroy() + + def _on_address_comboboxtext_changed(self, widget): + if self.address_comboboxtext.get_active() != -1: + # User selected one of the entries so do auto-visit + jid = self._ui.address_comboboxtext_entry.get_text() + try: + jid = helpers.parse_jid(jid) + except helpers.InvalidFormat as s: + ErrorDialog(_('Invalid Server Name'), str(s)) + return + self.travel(jid, None) + + def _on_go_button_clicked(self, widget): + jid = self._ui.address_comboboxtext_entry.get_text() + try: + jid = helpers.parse_jid(jid) + except helpers.InvalidFormat as s: + ErrorDialog(_('Invalid Server Name'), + str(s), + transient_for=self.window) + return + if jid == self.jid: # jid has not changed + return + if jid in self.latest_addresses: + self.latest_addresses.remove(jid) + self.latest_addresses.insert(0, jid) + if len(self.latest_addresses) > 10: + self.latest_addresses = self.latest_addresses[0:10] + self.address_comboboxtext.get_model().clear() + for j in self.latest_addresses: + self.address_comboboxtext.append_text(j) + app.settings.set('latest_disco_addresses', + ' '.join(self.latest_addresses)) + self.travel(jid, None) + + def _on_services_treeview_row_activated(self, widget, path, col=0): + if self.browser: + self.browser.default_action() + + def _on_services_treeview_selection_changed(self, widget): + if self.browser: + self.browser.update_actions() + + def _on_entry_key_press_event(self, widget, event): + if event.keyval == Gdk.KEY_Return or event.keyval == Gdk.KEY_KP_Enter: + self._on_go_button_clicked(widget) + + +class AgentBrowser: + """ + Class that deals with browsing agents and appearance of the browser window. + This class and subclasses should basically be treated as "part" of the + ServiceDiscoveryWindow class, but had to be separated because this part is + dynamic + """ + + def __init__(self, account, jid, node): + self.account = account + self.jid = jid + self.node = node + self._total_items = 0 + self.browse_button = None + # This is for some timeout callbacks + self.active = False + + def _get_agent_address(self): + """ + Get the agent's address for displaying in the GUI + """ + return get_agent_address(self.jid, self.node) + + def _set_initial_title(self): + """ + Set the initial window title based on agent address + """ + self.window.window.set_title( + _('Browsing %(address)s using account %(account)s') % { + 'address': self._get_agent_address(), + 'account': self.account}) + self.window._set_window_banner_text(self._get_agent_address()) + + def _create_treemodel(self): + """ + Create the treemodel for the services treeview. When subclassing, note + that the first two columns should ALWAYS be of type string and contain + the JID and node of the item respectively + """ + # JID, node, name, address + self.model = Gtk.ListStore(str, str, str, str) + self.model.set_sort_column_id(3, Gtk.SortType.ASCENDING) + self.window.services_treeview.set_model(self.model) + # Name column + col = Gtk.TreeViewColumn(_('Name')) + renderer = Gtk.CellRendererText() + col.pack_start(renderer, True) + col.add_attribute(renderer, 'text', 2) + self.window.services_treeview.insert_column(col, -1) + col.set_resizable(True) + # Address column + col = Gtk.TreeViewColumn(_('XMPP Address')) + renderer = Gtk.CellRendererText() + col.pack_start(renderer, True) + col.add_attribute(renderer, 'text', 3) + self.window.services_treeview.insert_column(col, -1) + col.set_resizable(True) + self.window.services_treeview.set_headers_visible(True) + + def _clean_treemodel(self): + self.model.clear() + for col in self.window.services_treeview.get_columns(): + self.window.services_treeview.remove_column(col) + self.window.services_treeview.set_headers_visible(False) + + def _add_actions(self): + """ + Add the action buttons to the buttonbox for actions the browser can + perform + """ + self.browse_button = Gtk.Button() + self.browse_button.connect('clicked', self.on_browse_button_clicked) + self.window.action_buttonbox.add(self.browse_button) + self.browse_button.set_label(_('Browse')) + self.browse_button.show_all() + + def _clean_actions(self): + """ + Remove the action buttons specific to this browser + """ + if self.browse_button: + self.browse_button.destroy() + self.browse_button = None + + def _set_title(self, jid, node, identities, features, data): + """ + Set the window title based on agent info + """ + # Set the banner and window title + name = '' + if len(identities) > 1: + # Check if an identity with server category is present + for _index, identity in enumerate(identities): + if identity.category == 'server' and identity.name is not None: + name = identity.name + break + if identities[0].name is not None: + name = identities[0].name + + if name: + self.window._set_window_banner_text(self._get_agent_address(), name) + + # Add an icon to the banner. + icon_name = self.cache.get_icon(identities, + addr=self._get_agent_address()) + self.window.banner_icon.set_from_icon_name(icon_name, + Gtk.IconSize.DIALOG) + self.window.banner_icon.show() + + def _clean_title(self): + # Everything done here is done in window._initial_state + # This is for subclasses. + pass + + def prepare_window(self, window): + """ + Prepare the service discovery window. Called when a browser is hooked up + with a ServiceDiscoveryWindow instance + """ + self.window = window + self.cache = window.cache + + self._set_initial_title() + self._create_treemodel() + self._add_actions() + + self.update_actions() + + self.active = True + self.cache.get_info(self.jid, self.node, self._set_title) + + def cleanup(self): + """ + Cleanup when the window intends to switch browsers + """ + self.active = False + + self._clean_actions() + self._clean_treemodel() + self._clean_title() + + self.window._initial_state() + + def update_theme(self): + """ + Called when the default theme is changed + """ + + def on_browse_button_clicked(self, widget=None): + """ + When we want to browse an agent: open a new services window with a + browser for the agent type + """ + model, iter_ = \ + self.window.services_treeview.get_selection().get_selected() + if not iter_: + return + jid = model[iter_][0] + if jid: + node = model[iter_][1] + self.window.open(jid, node) + + def update_actions(self): + """ + When we select a row: activate action buttons based on the agent's info + """ + if self.browse_button: + self.browse_button.set_sensitive(False) + model, iter_ = \ + self.window.services_treeview.get_selection().get_selected() + if not iter_: + return + jid = model[iter_][0] + node = model[iter_][1] + if jid: + self.cache.get_info(jid, node, self._update_actions, nofetch=True) + + def _update_actions(self, jid, node, identities, features, data): + """ + Continuation of update_actions + """ + if not identities or not self.browse_button: + return + klass = self.cache.get_browser(identities, features) + if klass: + self.browse_button.set_sensitive(True) + + def default_action(self): + """ + When we double-click a row: perform the default action on the selected + item + """ + model, iter_ = \ + self.window.services_treeview.get_selection().get_selected() + if not iter_: + return + jid = model[iter_][0] + node = model[iter_][1] + if jid: + self.cache.get_info(jid, node, self._default_action, nofetch=True) + + def _default_action(self, jid, node, identities, features, data): + """ + Continuation of default_action + """ + if self.cache.get_browser(identities, features): + # Browse if we can + self.on_browse_button_clicked() + return True + return False + + def browse(self, force=False): + """ + Fill the treeview with agents, fetching the info if necessary + """ + self.model.clear() + self._total_items = self._progress = 0 + self.window.progressbar.show() + self._pulse_timeout = GLib.timeout_add(250, self._pulse_timeout_cb) + self.cache.get_items(self.jid, self.node, self._agent_items, + force=force, args=(force,)) + + def _pulse_timeout_cb(self, *args): + """ + Simple callback to keep the progressbar pulsing + """ + if not self.active: + return False + self.window.progressbar.pulse() + return True + + def _find_item(self, jid, node): + """ + Check if an item is already in the treeview. Return an iter to it if so, + None otherwise + """ + iter_ = self.model.get_iter_first() + while iter_: + cjid = self.model.get_value(iter_, 0) + cnode = self.model.get_value(iter_, 1) + if jid == cjid and node == cnode: + break + iter_ = self.model.iter_next(iter_) + if iter_: + return iter_ + return None + + def add_self_line(self): + pass + + def _agent_items(self, jid, node, items, force): + """ + Callback for when we receive a list of agent items + """ + self.model.clear() + self.add_self_line() + self._total_items = 0 + GLib.source_remove(self._pulse_timeout) + self.window.progressbar.hide() + # The server returned an error + if not items: + if not self.window.address_comboboxtext: + # We can't travel anywhere else. + self.window.window.destroy() + ErrorDialog(_('The service is not browsable'), + _('This service does not contain any items ' + 'to browse.'), + transient_for=self.window.window) + return + + # We got a list of items + def fill_partial_rows(items): + '''Generator to fill the listmodel of a treeview progressively.''' + self.window.services_treeview.freeze_child_notify() + for item in items: + if self.window.dying: + yield False + jid_ = item['jid'] + node_ = item.get('node', '') + # If such an item is already here: don't add it + if self._find_item(jid_, node_): + continue + self._total_items += 1 + self._add_item(jid_, node_, node, item, force) + if (self._total_items % 10) == 0: + self.window.services_treeview.thaw_child_notify() + yield True + self.window.services_treeview.freeze_child_notify() + self.window.services_treeview.thaw_child_notify() + # Stop idle_add() + yield False + loader = fill_partial_rows(items) + GLib.idle_add(next, loader) + + def _agent_info(self, jid, node, identities, features, data): + """ + Callback for when we receive info about an agent's item + """ + iter_ = self._find_item(jid, node) + if not iter_: + # Not in the treeview, stop + return + if identities == 0: + # The server returned an error + self._update_error(iter_, jid, node) + else: + # We got our info + self._update_info(iter_, jid, node, identities, features, data) + self.update_actions() + + def _add_item(self, jid, node, parent_node, item, force): + """ + Called when an item should be added to the model. The result of a + disco#items query + """ + self.model.append((jid, node, item.get('name', ''), + get_agent_address(jid, node))) + self.cache.get_info(jid, node, self._agent_info, force=force) + + def _update_item(self, iter_, jid, node, item): + """ + Called when an item should be updated in the model. The result of a + disco#items query + """ + if 'name' in item: + self.model[iter_][2] = item['name'] + + def _update_info(self, iter_, jid, node, identities, features, data): + """ + Called when an item should be updated in the model with further info. + The result of a disco#info query + """ + name = identities[0].name or '' + if name: + self.model[iter_][2] = name + + def _update_error(self, iter_, jid, node): + '''Called when a disco#info query failed for an item.''' + + +class ToplevelAgentBrowser(AgentBrowser): + """ + This browser is used at the top level of a jabber server to browse services + such as transports, conference servers, etc + """ + + def __init__(self, *args): + AgentBrowser.__init__(self, *args) + self._progressbar_sourceid = None + self._renderer = None + self._progress = 0 + self.register_button = None + self.join_button = None + self.execute_button = None + self.search_button = None + # Keep track of our treeview signals + self._view_signals = [] + self._scroll_signal = None + + def add_self_line(self): + addr = get_agent_address(self.jid, self.node) + descr = '%s' % addr + # Guess which kind of service this is + identities = [] + type_ = app.get_transport_name_from_jid(self.jid, + use_config_setting=False) + if type_: + identity = DiscoIdentity(category='_jid', + type=type_, + name=None) + identities.append(identity) + # Set the pixmap for the row + icon_name = self.cache.get_icon(identities, addr=addr) + self.model.append(None, + (self.jid, self.node, icon_name, descr, LABELS[1])) + # Grab info on the service + self.cache.get_info(self.jid, self.node, self._agent_info, force=False) + + def _pixbuf_renderer_data_func(self, col, cell, model, iter_, data=None): + """ + Callback for setting the pixbuf renderer's properties + """ + jid = model.get_value(iter_, 0) + if jid: + icon_name = model.get_value(iter_, 2) + cell.set_property('visible', True) + cell.set_property('icon_name', icon_name) + else: + cell.set_property('visible', False) + + def _text_renderer_data_func(self, col, cell, model, iter_, data=None): + """ + Callback for setting the text renderer's properties + """ + jid = model.get_value(iter_, 0) + markup = model.get_value(iter_, 3) + state = model.get_value(iter_, 4) + cell.set_property('markup', markup) + if jid: + cell.set_property('cell_background_set', False) + if state is not None: + # fetching or error + cell.set_property('foreground_set', True) + else: + # Normal/success + cell.set_property('foreground_set', False) + else: + bgcolor = app.css_config.get_value('.gajim-group-row', + StyleAttr.BACKGROUND) + if bgcolor: + cell.set_property('cell_background_set', True) + cell.set_property('foreground_set', False) + + def _treemodel_sort_func(self, model, iter1, iter2, data=None): + """ + Sort function for our treemode + """ + # Compare state + state1 = model.get_value(iter1, 4) + state2 = model.get_value(iter2, 4) + if state1 is not None: + return 1 + if state2 is not None: + return -1 + descr1 = model.get_value(iter1, 3) + descr2 = model.get_value(iter2, 3) + # Compare strings + if descr1 > descr2: + return 1 + if descr1 < descr2: + return -1 + return 0 + + def _create_treemodel(self): + # JID, node, icon, description, state + # state is None on success or has a string + # from LABELS on error or while fetching + view = self.window.services_treeview + self.model = Gtk.TreeStore(str, str, str, str, str) + self.model.set_sort_func(4, self._treemodel_sort_func) + self.model.set_sort_column_id(4, Gtk.SortType.ASCENDING) + view.set_model(self.model) + + col = Gtk.TreeViewColumn() + # Icon Renderer + renderer = Gtk.CellRendererPixbuf() + renderer.set_property('xpad', 6) + renderer.set_property('stock-size', Gtk.IconSize.DND) + col.pack_start(renderer, False) + col.set_cell_data_func(renderer, self._pixbuf_renderer_data_func) + # Text Renderer + renderer = Gtk.CellRendererText() + col.pack_start(renderer, True) + col.set_cell_data_func(renderer, self._text_renderer_data_func) + renderer.set_property('foreground', 'dark gray') + # Save this so we can go along with theme changes + self._renderer = renderer + self.update_theme() + + view.set_tooltip_column(4) + view.insert_column(col, -1) + col.set_resizable(True) + + def _clean_treemodel(self): + # Disconnect signals + view = self.window.services_treeview + for sig in self._view_signals: + view.disconnect(sig) + self._view_signals = [] + if self._scroll_signal: + scrollwin = self.window.services_scrollwin + scrollwin.disconnect(self._scroll_signal) + self._scroll_signal = None + AgentBrowser._clean_treemodel(self) + + def _add_actions(self): + AgentBrowser._add_actions(self) + self.execute_button = Gtk.Button(label=_('_Command'), + use_underline=True) + self.execute_button.connect('clicked', self._on_execute_button_clicked) + image = Gtk.Image.new_from_icon_name( + 'utilities-terminal-symbolic', Gtk.IconSize.BUTTON) + self.execute_button.set_image(image) + self.window.action_buttonbox.add(self.execute_button) + self.execute_button.show_all() + + self.register_button = Gtk.Button(label=_('Re_gister'), + use_underline=True) + self.register_button.connect( + 'clicked', self._on_register_button_clicked) + self.window.action_buttonbox.add(self.register_button) + self.register_button.show_all() + + self.join_button = Gtk.Button(label=_('Join'), + use_underline=True) + self.join_button.connect('clicked', self._on_join_button_clicked) + self.window.action_buttonbox.add(self.join_button) + self.join_button.show_all() + + self.search_button = Gtk.Button(label=_('_Search'), + use_underline=True) + self.search_button.connect('clicked', self.on_search_button_clicked) + image = Gtk.Image.new_from_icon_name('edit-find-symbolic', + Gtk.IconSize.BUTTON) + self.search_button.set_image(image) + self.window.action_buttonbox.add(self.search_button) + self.search_button.show_all() + + def _clean_actions(self): + if self.execute_button: + self.execute_button.destroy() + self.execute_button = None + if self.register_button: + self.register_button.destroy() + self.register_button = None + if self.join_button: + self.join_button.destroy() + self.join_button = None + if self.search_button: + self.search_button.destroy() + self.search_button = None + AgentBrowser._clean_actions(self) + + def on_search_button_clicked(self, widget=None): + """ + When we want to search something: open search window + """ + model, iter_ = \ + self.window.services_treeview.get_selection().get_selected() + if not iter_: + return + service = model[iter_][0] + Search(self.account, service, self.window.window) + + def cleanup(self): + AgentBrowser.cleanup(self) + + def update_theme(self): + bgcolor = app.css_config.get_value('.gajim-group-row', + StyleAttr.BACKGROUND) + if bgcolor: + self._renderer.set_property('cell-background', bgcolor) + self.window.services_treeview.queue_draw() + + def _on_execute_button_clicked(self, widget=None): + """ + When we want to execute a command: open adhoc command window + """ + model, iter_ = \ + self.window.services_treeview.get_selection().get_selected() + if not iter_: + return + service = model[iter_][0] + AdHocCommand(self.account, service) + + def _on_register_button_clicked(self, widget=None): + """ + When we want to register an agent: request information about registering + with the agent and close the window + """ + model, iter_ = \ + self.window.services_treeview.get_selection().get_selected() + if not iter_: + return + jid = model[iter_][0] + if jid: + ServiceRegistration(self.account, jid) + + def _on_join_button_clicked(self, widget): + """ + When we want to join an IRC room or create a new MUC room: Opens the + join_groupchat_window + """ + model, iter_ = \ + self.window.services_treeview.get_selection().get_selected() + if not iter_: + return + service = model[iter_][0] + app.interface.show_or_join_groupchat(self.account, service) + + def update_actions(self): + if self.execute_button: + self.execute_button.set_sensitive(False) + if self.register_button: + self.register_button.set_sensitive(False) + if self.browse_button: + self.browse_button.set_sensitive(False) + if self.join_button: + self.join_button.set_sensitive(False) + if self.search_button: + self.search_button.set_sensitive(False) + model, iter_ = \ + self.window.services_treeview.get_selection().get_selected() + if not iter_: + return + if not model[iter_][0]: + # We're on a category row + return + if model[iter_][4] is not None: + # We don't have the info (yet) + # It's either unknown or a transport: + # Register button should be active + if self.register_button: + self.register_button.set_sensitive(True) + # Guess what kind of service we're dealing with + if self.browse_button: + jid = model[iter_][0] + type_ = app.get_transport_name_from_jid( + jid, use_config_setting=False) + if type_: + identity = DiscoIdentity(category='_jid', type=type_) + klass = self.cache.get_browser([identity]) + if klass: + self.browse_button.set_sensitive(True) + else: + # We couldn't guess + self.browse_button.set_sensitive(True) + else: + # Normal case, we have info + AgentBrowser.update_actions(self) + + def _update_actions(self, jid, node, identities, features, data): + AgentBrowser._update_actions( + self, jid, node, identities, features, data) + if self.execute_button and Namespace.COMMANDS in features: + self.execute_button.set_sensitive(True) + if self.search_button and Namespace.SEARCH in features: + self.search_button.set_sensitive(True) + # Don't authorize to register with a server via disco + if (self.register_button and Namespace.REGISTER in features and + jid != self.jid): + # We can register this agent + registered_transports = [] + jid_list = app.contacts.get_jid_list(self.account) + for jid_ in jid_list: + contact = app.contacts.get_first_contact_from_jid( + self.account, jid_) + if _('Transports') in contact.groups: + registered_transports.append(jid_) + registered_transports.append(self.jid) + if jid in registered_transports: + self.register_button.set_label(_('_Edit')) + else: + self.register_button.set_label(_('Re_gister')) + self.register_button.set_sensitive(True) + if self.join_button and Namespace.MUC in features: + self.join_button.set_sensitive(True) + + def _default_action(self, jid, node, identities, features, data): + if AgentBrowser._default_action(self, jid, node, identities, + features, data): + return True + if Namespace.REGISTER in features: + # Register if we can't browse + self._on_register_button_clicked() + return True + return False + + def browse(self, force=False): + self._progress = 0 + AgentBrowser.browse(self, force=force) + + def _expand_all(self): + """ + Expand all items in the treeview + """ + self.window.services_treeview.expand_all() + + def _update_progressbar(self): + """ + Update the progressbar + """ + # Refresh this every update + if self._progressbar_sourceid: + GLib.source_remove(self._progressbar_sourceid) + + fraction = 0 + if self._total_items: + self.window.progressbar.set_text( + _('Scanning %(current)d / %(total)d ...') % { + 'current': self._progress, + 'total': self._total_items + 1}) + fraction = float(self._progress) / float(self._total_items) + if self._progress >= self._total_items: + # We show the progressbar for just a bit before hiding it. + id_ = GLib.timeout_add_seconds(2, self._hide_progressbar_cb) + self._progressbar_sourceid = id_ + else: + self.window.progressbar.show() + # Hide the progressbar if we're timing out anyways. (20 secs) + id_ = GLib.timeout_add_seconds(20, self._hide_progressbar_cb) + self._progressbar_sourceid = id_ + self.window.progressbar.set_fraction(fraction) + + def _hide_progressbar_cb(self, *args): + """ + Simple callback to hide the progressbar a second after we finish + """ + if self.active: + self.window.progressbar.hide() + return False + + def _friendly_category(self, category, type_=None): + """ + Get the friendly category name + """ + cat = None + if type_: + # Try type-specific override + try: + cat = _cat_to_descr[(category, type_)] + except KeyError: + pass + if not cat: + try: + cat = _cat_to_descr[category] + except KeyError: + cat = _cat_to_descr['other'] + return cat + + def _create_category(self, cat, type_=None): + """ + Creates a category row + """ + cat = self._friendly_category(cat, type_) + return self.model.append(None, ('', '', None, cat, None)) + + def _find_category(self, cat, type_=None): + """ + Looks up a category row and returns the iterator to it, or None + """ + cat = self._friendly_category(cat, type_) + iter_ = self.model.get_iter_first() + while iter_: + if self.model.get_value(iter_, 3) == cat: + break + iter_ = self.model.iter_next(iter_) + if iter_: + return iter_ + return None + + def _find_item(self, jid, node): + iter_ = None + cat_iter = self.model.get_iter_first() + while cat_iter and not iter_: + cjid = self.model.get_value(cat_iter, 0) + cnode = self.model.get_value(cat_iter, 1) + if jid == cjid and node == cnode: + iter_ = cat_iter + break + iter_ = self.model.iter_children(cat_iter) + while iter_: + cjid = self.model.get_value(iter_, 0) + cnode = self.model.get_value(iter_, 1) + if jid == cjid and node == cnode: + break + iter_ = self.model.iter_next(iter_) + cat_iter = self.model.iter_next(cat_iter) + if iter_: + return iter_ + return None + + def _add_item(self, jid, node, parent_node, item, force): + # Row text + addr = get_agent_address(jid, node) + if 'name' in item: + descr = "%s\n%s" % (item['name'], addr) + else: + descr = "%s" % addr + # Guess which kind of service this is + identities = [] + type_ = app.get_transport_name_from_jid( + jid, use_config_setting=False) + if type_: + identity = DiscoIdentity(category='_jid', type=type_) + identities.append(identity) + cat_args = ('_jid', type_) + else: + # Put it in the 'other' category for now + cat_args = ('other',) + + icon_name = self.cache.get_icon(identities, addr=addr) + # Put it in the right category + cat = self._find_category(*cat_args) + if not cat: + cat = self._create_category(*cat_args) + self.model.append(cat, (jid, node, icon_name, descr, LABELS[1])) + GLib.idle_add(self._expand_all) + # Grab info on the service + self.cache.get_info(jid, node, self._agent_info, force=force) + self._update_progressbar() + + def _update_item(self, iter_, jid, node, item): + addr = get_agent_address(jid, node) + if 'name' in item: + descr = "%s\n%s" % (item['name'], addr) + else: + descr = "%s" % addr + self.model[iter_][3] = descr + + def _update_info(self, iter_, jid, node, identities, features, data): + addr = get_agent_address(jid, node) + if not identities: + descr = "%s" % addr + else: + name = identities[0].name or '' + if name: + descr = "%s\n%s" % (name, addr) + else: + descr = "%s" % addr + + # Update progress + self._progress += 1 + self._update_progressbar() + + # Search for an icon and category we can display + icon_name = self.cache.get_icon(identities, addr=addr) + cat, type_ = None, None + for identity in identities: + try: + cat, type_ = identity.category, identity.type + except KeyError: + continue + break + + # Check if we have to move categories + old_cat_iter = self.model.iter_parent(iter_) + if not old_cat_iter or self.model.get_value(old_cat_iter, 3) == cat: + # Already in the right category, just update + self.model[iter_][2] = icon_name + self.model[iter_][3] = descr + self.model[iter_][4] = None + return + # Not in the right category, move it. + self.model.remove(iter_) + + old_cat = self.model.get_value(old_cat_iter, 3) + # Check if the old category is empty + if not self.model.iter_is_valid(old_cat_iter): + old_cat_iter = self._find_category(old_cat) + if not self.model.iter_children(old_cat_iter): + self.model.remove(old_cat_iter) + + cat_iter = self._find_category(cat, type_) + if not cat_iter: + cat_iter = self._create_category(cat, type_) + self.model.append(cat_iter, (jid, node, icon_name, descr, None)) + self._expand_all() + + def _update_error(self, iter_, jid, node): + self.model[iter_][4] = LABELS[2] + self._progress += 1 + self._update_progressbar() + + +class MucBrowser(AgentBrowser): + def __init__(self, *args, **kwargs): + AgentBrowser.__init__(self, *args, **kwargs) + self.join_button = None + + def _create_treemodel(self): + # JID, node, name, users_int, users_str, description, fetched + # This is rather long, I'd rather not use a data_func here though. + # Users is a string, because want to be able to leave it empty. + self.model = Gtk.ListStore(str, str, str, int, str, str, bool) + self.model.set_sort_column_id(2, Gtk.SortType.ASCENDING) + self.window.services_treeview.set_model(self.model) + # Name column + col = Gtk.TreeViewColumn(_('Name')) + col.set_sizing(Gtk.TreeViewColumnSizing.FIXED) + col.set_fixed_width(100) + renderer = Gtk.CellRendererText() + col.pack_start(renderer, True) + col.add_attribute(renderer, 'text', 2) + col.set_sort_column_id(2) + self.window.services_treeview.insert_column(col, -1) + col.set_resizable(True) + # Users column + col = Gtk.TreeViewColumn(_('Users')) + renderer = Gtk.CellRendererText() + col.pack_start(renderer, True) + col.add_attribute(renderer, 'text', 4) + col.set_sort_column_id(3) + self.window.services_treeview.insert_column(col, -1) + col.set_resizable(True) + # Description column + col = Gtk.TreeViewColumn(_('Description')) + renderer = Gtk.CellRendererText() + col.pack_start(renderer, True) + col.add_attribute(renderer, 'text', 5) + col.set_sort_column_id(4) + self.window.services_treeview.insert_column(col, -1) + col.set_resizable(True) + # Id column + col = Gtk.TreeViewColumn(_('Id')) + renderer = Gtk.CellRendererText() + col.pack_start(renderer, True) + col.add_attribute(renderer, 'text', 0) + col.set_sort_column_id(0) + self.window.services_treeview.insert_column(col, -1) + col.set_resizable(True) + self.window.services_treeview.set_headers_visible(True) + self.window.services_treeview.set_headers_clickable(True) + # Source id for idle callback used to start disco#info queries. + self._fetch_source = None + # Query failure counter + self._broken = 0 + # Connect to scrollwindow scrolling + self.vadj = self.window.services_scrollwin.get_property('vadjustment') + self.vadj_cbid = self.vadj.connect('value-changed', self.on_scroll) + # And to size changes + self.size_cbid = self.window.services_scrollwin.connect( + 'size-allocate', self.on_scroll) + + def _clean_treemodel(self): + if self.size_cbid: + self.window.services_scrollwin.disconnect(self.size_cbid) + self.size_cbid = None + if self.vadj_cbid: + self.vadj.disconnect(self.vadj_cbid) + self.vadj_cbid = None + AgentBrowser._clean_treemodel(self) + + def _add_actions(self): + self.join_button = Gtk.Button(label=_('_Join'), use_underline=True) + self.join_button.connect('clicked', self._on_join_button_clicked) + self.window.action_buttonbox.add(self.join_button) + self.join_button.show_all() + + def _clean_actions(self): + if self.join_button: + self.join_button.destroy() + self.join_button = None + + def _on_join_button_clicked(self, *args): + """ + When we want to join a conference: ask specific information about the + selected agent and close the window + """ + model, iter_ = \ + self.window.services_treeview.get_selection().get_selected() + if not iter_: + return + service = model[iter_][0] + app.interface.show_or_join_groupchat(self.account, service) + + def update_actions(self): + sens = \ + self.window.services_treeview.get_selection().count_selected_rows() + if self.join_button: + self.join_button.set_sensitive(sens > 0) + + def default_action(self): + self._on_join_button_clicked() + + def _start_info_query(self): + """ + Idle callback to start checking for visible rows + """ + self._fetch_source = None + self._query_visible() + return False + + def on_scroll(self, *args): + """ + Scrollwindow callback to trigger new queries on scrolling + """ + # This apparently happens when inactive sometimes + self._query_visible() + + def _query_visible(self): + """ + Query the next visible row for info + """ + if self._fetch_source: + # We're already fetching + return + view = self.window.services_treeview + if not view.get_realized(): + # Prevent a silly warning, try again in a bit. + self._fetch_source = GLib.timeout_add(100, self._start_info_query) + return + range_ = view.get_visible_range() + if not range_: + return + start, end = range_ + iter_ = self.model.get_iter(start) + while iter_: + if not self.model.get_value(iter_, 6): + jid = self.model.get_value(iter_, 0) + node = self.model.get_value(iter_, 1) + self.cache.get_info(jid, node, self._agent_info) + self._fetch_source = True + return + if self.model.get_path(iter_) == end: + break + iter_ = self.model.iter_next(iter_) + self._fetch_source = None + + def _channel_altinfo(self, jid, node, items, name=None): + """ + Callback for the alternate disco#items query. We try to at least get + the amount of users in the room if the service does not support MUC + dataforms + """ + if items == 0: + # The server returned an error + self._broken += 1 + if self._broken >= 3: + # Disable queries completely after 3 failures + if self.size_cbid: + self.window.services_scrollwin.disconnect(self.size_cbid) + self.size_cbid = None + if self.vadj_cbid: + self.vadj.disconnect(self.vadj_cbid) + self.vadj_cbid = None + self._fetch_source = None + return + else: + iter_ = self._find_item(jid, node) + if iter_: + if name: + self.model[iter_][2] = name + self.model[iter_][3] = len(items) # The number of users + self.model[iter_][4] = str(len(items)) # The number of users + self.model[iter_][6] = True + self._fetch_source = None + self._query_visible() + + def _add_item(self, jid, node, parent_node, item, force): + self.model.append((jid, node, item.get('name', ''), -1, '', '', False)) + if not self._fetch_source: + self._fetch_source = GLib.idle_add(self._start_info_query) + + def _update_info(self, iter_, jid, node, identities, features, data): + name = identities[0].name or '' + for form in data: + typefield = form.vars.get('FORM_TYPE') + if (typefield and typefield.value == + 'http://jabber.org/protocol/muc#roominfo'): + # Fill model row from the form's fields + users = form.vars.get('muc#roominfo_occupants') + descr = form.vars.get('muc#roominfo_description') + if users: + self.model[iter_][3] = int(users.value) + self.model[iter_][4] = users.value + if descr and descr.value: + self.model[iter_][5] = descr.value + # Only set these when we find a form with additional info + # Some servers don't support forms and put extra info in + # the name attribute, so we preserve it in that case. + self.model[iter_][2] = name + self.model[iter_][6] = True + break + else: + # We didn't find a form, switch to alternate query mode + self.cache.get_items(jid, node, self._channel_altinfo, args=(name,)) + return + # Continue with the next + self._fetch_source = None + self._query_visible() + + def _update_error(self, iter_, jid, node): + # Switch to alternate query mode + self.cache.get_items(jid, node, self._channel_altinfo) + + +def PubSubBrowser(account, jid, node): + """ + Return an AgentBrowser subclass that will display service discovery for + particular pubsub service. Different pubsub services may need to present + different data during browsing + """ + # For now, only discussion groups are supported... + # TODO: check if it has appropriate features to be such kind of service + return DiscussionGroupsBrowser(account, jid, node) + + +class DiscussionGroupsBrowser(AgentBrowser): + """ + For browsing pubsub-based discussion groups service + """ + + def __init__(self, account, jid, node): + AgentBrowser.__init__(self, account, jid, node) + + # This will become set object when we get subscriptions; None means + # we don't know yet which groups are subscribed + self.subscriptions = None + + # This will become our action widgets when we create them; None means + # we don't have them yet (needed for check in callback) + self.subscribe_button = None + self.unsubscribe_button = None + + con = app.connections[account] + con.get_module('PubSub').send_pb_subscription_query( + jid, self._on_pep_subscriptions) + + def _create_treemodel(self): + """ + Create treemodel for the window + """ + # JID, node, name (with description) - pango markup, + # don't have info?, subscribed? + self.model = Gtk.TreeStore(str, str, str, bool, bool) + # Sort by name + self.model.set_sort_column_id(2, Gtk.SortType.ASCENDING) + self.window.services_treeview.set_model(self.model) + + # Name column + # Pango markup for name and description, description printed with + # font + renderer = Gtk.CellRendererText() + col = Gtk.TreeViewColumn(_('Name')) + col.pack_start(renderer, True) + col.add_attribute(renderer, 'markup', 2) + col.set_resizable(True) + self.window.services_treeview.insert_column(col, -1) + self.window.services_treeview.set_headers_visible(True) + + # Subscription state + renderer = Gtk.CellRendererToggle() + col = Gtk.TreeViewColumn(_('Subscribed')) + col.pack_start(renderer, True) + col.add_attribute(renderer, 'inconsistent', 3) + col.add_attribute(renderer, 'active', 4) + col.set_resizable(False) + self.window.services_treeview.insert_column(col, -1) + + # Node Column + renderer = Gtk.CellRendererText() + col = Gtk.TreeViewColumn(_('Node')) + col.pack_start(renderer, True) + col.add_attribute(renderer, 'markup', 1) + col.set_resizable(True) + self.window.services_treeview.insert_column(col, -1) + + def _add_items(self, jid, node, items, force): + for item in items: + jid_ = item['jid'] + node_ = item.get('node', '') + self._total_items += 1 + self._add_item(jid_, node_, node, item, force) + + def _in_list_foreach(self, model, path, iter_, node): + if model[path][1] == node: + self.in_list = True + + def _in_list(self, node): + self.in_list = False + self.model.foreach(self._in_list_foreach, node) + return self.in_list + + def _add_item(self, jid, node, parent_node, item, force): + """ + Called when we got basic information about new node from query. Show the + item + """ + + name = item['name'] or '' + + if self.subscriptions is not None: + dunno = False + subscribed = node in self.subscriptions + else: + dunno = True + subscribed = False + + name = GLib.markup_escape_text(name) + name = '%s' % name + + if parent_node: + parent_iter = self._get_iter(parent_node) + else: + parent_iter = None + if not node or not self._in_list(node): + self.model.append(parent_iter, (jid, node, name, dunno, subscribed)) + self.cache.get_items( + jid, node, self._add_items, force=force, args=(force,)) + + def _get_child_iter(self, parent_iter, node): + child_iter = self.model.iter_children(parent_iter) + while child_iter: + if self.model[child_iter][1] == node: + return child_iter + child_iter = self.model.iter_next(child_iter) + return None + + def _get_iter(self, node): + ''' Look for an iter with the given node ''' + self.found_iter = None + + def is_node(model, path, iter_, node): + if model[iter_][1] == node: + self.found_iter = iter_ + return True + self.model.foreach(is_node, node) + return self.found_iter + + def _add_actions(self): + self.post_button = Gtk.Button(label=_('_New post'), use_underline=True) + self.post_button.set_sensitive(False) + self.post_button.connect('clicked', self._on_post_button_clicked) + image = Gtk.Image.new_from_icon_name( + 'mail-message-new-symbolic', Gtk.IconSize.BUTTON) + self.post_button.set_image(image) + self.window.action_buttonbox.add(self.post_button) + self.post_button.show_all() + + self.subscribe_button = Gtk.Button(label=_('_Subscribe'), + use_underline=True) + self.subscribe_button.set_sensitive(False) + self.subscribe_button.connect( + 'clicked', self._on_subscribe_button_clicked) + self.window.action_buttonbox.add(self.subscribe_button) + self.subscribe_button.show_all() + + self.unsubscribe_button = Gtk.Button(label=_('_Unsubscribe'), + use_underline=True) + self.unsubscribe_button.set_sensitive(False) + self.unsubscribe_button.connect( + 'clicked', self._on_unsubscribe_button_clicked) + self.window.action_buttonbox.add(self.unsubscribe_button) + self.unsubscribe_button.show_all() + + def _clean_actions(self): + if self.post_button is not None: + self.post_button.destroy() + self.post_button = None + + if self.subscribe_button is not None: + self.subscribe_button.destroy() + self.subscribe_button = None + + if self.unsubscribe_button is not None: + self.unsubscribe_button.destroy() + self.unsubscribe_button = None + + def update_actions(self): + """ + Called when user selected a row. Make subscribe/unsubscribe buttons + sensitive appropriately + """ + # We have nothing to do if we don't have buttons... + if self.subscribe_button is None: + return + + model, iter_ = \ + self.window.services_treeview.get_selection().get_selected() + if not iter_ or self.subscriptions is None: + # No item selected or no subscriptions info, all buttons are + # insensitive + self.post_button.set_sensitive(False) + self.subscribe_button.set_sensitive(False) + self.unsubscribe_button.set_sensitive(False) + else: + subscribed = model.get_value(iter_, 4) # 4 = subscribed? + self.post_button.set_sensitive(subscribed) + self.subscribe_button.set_sensitive(not subscribed) + self.unsubscribe_button.set_sensitive(subscribed) + + def _on_post_button_clicked(self, widget): + """ + Called when 'post' button is pressed. Open window to create post + """ + model, iter_ = \ + self.window.services_treeview.get_selection().get_selected() + if iter_ is None: + return + + groupnode = model.get_value(iter_, 1) # 1 = groupnode + + GroupsPostWindow(self.account, self.jid, groupnode) + + def _on_subscribe_button_clicked(self, widget): + """ + Called when 'subscribe' button is pressed. Send subscribtion request + """ + model, iter_ = \ + self.window.services_treeview.get_selection().get_selected() + if iter_ is None: + return + + node = model.get_value(iter_, 1) # 1 = groupnode + + con = app.connections[self.account] + con.get_module('PubSub').send_pb_subscribe( + self.jid, node, self._on_pep_subscribe, groupnode=node) + + def _on_unsubscribe_button_clicked(self, widget): + """ + Called when 'unsubscribe' button is pressed. Send unsubscription request + """ + model, iter_ = \ + self.window.services_treeview.get_selection().get_selected() + if iter_ is None: + return + + node = model.get_value(iter_, 1) # 1 = groupnode + + con = app.connections[self.account] + con.get_module('PubSub').send_pb_unsubscribe( + self.jid, node, self._on_pep_unsubscribe, groupnode=node) + + def _on_pep_subscriptions(self, _nbxmpp_client, request): + """ + We got the subscribed groups list stanza. Now, if we already have items + on the list, we should actualize them + """ + try: + subscriptions = request.getTag('pubsub').getTag('subscriptions') + except Exception: + return + + groups_ = set() + for child in subscriptions.getTags('subscription'): + groups_.add(child['node']) + + self.subscriptions = groups_ + + # Try to setup existing items in model + model = self.window.services_treeview.get_model() + for row in model: + # 1 = group node + # 3 = insensitive checkbox for subscribed + # 4 = subscribed? + groupnode = row[1] + row[3] = False + row[4] = groupnode in groups_ + + # we now know subscriptions, update button states + self.update_actions() + + def _on_pep_subscribe(self, _nbxmpp_client, request, groupnode): + """ + We have just subscribed to a node. Update UI + """ + self.subscriptions.add(groupnode) + + model = self.window.services_treeview.get_model() + for row in model: + if row[1] == groupnode: # 1 = groupnode + row[4] = True + break + + self.update_actions() + + def _on_pep_unsubscribe(self, _nbxmpp_client, request, groupnode): + """ + We have just unsubscribed from a node. Update UI + """ + self.subscriptions.remove(groupnode) + + model = self.window.services_treeview.get_model() + for row in model: + if row[1] == groupnode: # 1 = groupnode + row[4] = False + break + + self.update_actions() + + +# Fill the global agent type info dictionary +_agent_type_info = _gen_agent_type_info() + + +class GroupsPostWindow: + def __init__(self, account, servicejid, groupid): + """ + Open new 'create post' window to create message for groupid on + servicejid service + """ + assert isinstance(servicejid, str) + assert isinstance(groupid, str) + + self.account = account + self.servicejid = servicejid + self.groupid = groupid + + self._ui = get_builder('groups_post_window.ui') + self.window = self._ui.groups_post_window + + self._ui.connect_signals(self) + self.window.show_all() + + def _on_key_press_event(self, widget, event): + if event.keyval == Gdk.KEY_Escape: + self.window.destroy() + + def _on_send_button_clicked(self, w): + """ + Gather info from widgets and send it as a message + """ + # Constructing item to publish... that's atom:entry element + item = nbxmpp.Node('entry', {'xmlns': 'http://www.w3.org/2005/Atom'}) + author = item.addChild('author') + author.addChild('name', {}, [self._ui.from_entry.get_text()]) + item.addChild('generator', {}, ['Gajim']) + item.addChild('title', {}, [self._ui.subject_entry.get_text()]) + + buf = self._ui.contents_textview.get_buffer() + item.addChild('content', + {}, + [buf.get_text(buf.get_start_iter(), + buf.get_end_iter(), + True)]) + + # Publish it to node + con = app.connections[self.account] + con.get_module('PubSub').publish(self.groupid, + item, + jid=self.servicejid) + + # Close the window + self.window.destroy() diff --git a/gajim/gtk/emoji_chooser.py b/gajim/gtk/emoji_chooser.py new file mode 100644 index 0000000..ae3d247 --- /dev/null +++ b/gajim/gtk/emoji_chooser.py @@ -0,0 +1,412 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import logging +import weakref +from collections import OrderedDict + +from gi.repository import Gtk +from gi.repository import GLib +from gi.repository import GdkPixbuf +from gi.repository import Pango + +from gajim.common import app +from gajim.common import helpers +from gajim.common import configpaths + +from .util import get_builder +from .emoji_data import emoji_data +from .emoji_data import emoji_pixbufs +from .emoji_data import Emoji + +MODIFIER_MAX_CHILDREN_PER_LINE = 6 +MAX_CHILDREN_PER_LINE = 10 + +log = logging.getLogger('gajim.emoji') + + +class Section(Gtk.Box): + def __init__(self, name, search_entry, press_cb, chooser): + Gtk.Box.__init__(self, orientation=Gtk.Orientation.VERTICAL) + self._chooser = chooser + self._press_cb = press_cb + self.pixbuf_generator = None + self.heading = Gtk.Label(label=name) + self.heading.set_halign(Gtk.Align.START) + self.heading.get_style_context().add_class('emoji-chooser-heading') + self.add(self.heading) + + self.flowbox = Gtk.FlowBox() + self.flowbox.get_style_context().add_class('emoji-chooser-flowbox') + self.flowbox.set_max_children_per_line(MAX_CHILDREN_PER_LINE) + self.flowbox.set_filter_func(self._filter_func, search_entry) + self.flowbox.connect('child-activated', press_cb) + + self.add(self.flowbox) + self.show_all() + + def _filter_func(self, child, search_entry): + name = search_entry.get_text() + if not name: + self.show() + return True + + if name in child.desc: + self.show() + return True + return False + + def add_emoji(self, codepoint, attrs): + # Return always True, this method is used for the emoji factory + # called by GLib.idle_add() + pixbuf = self._get_next_pixbuf() + + variations = attrs.get('variations', None) + if variations is None: + if pixbuf is None: + return True + self.flowbox.add(EmojiChild(codepoint, pixbuf, attrs['desc'])) + if pixbuf != 'font': + # We save the pixbuf for fast access if we need to + # replace a codepoint in the textview + emoji_pixbufs[codepoint] = pixbuf + else: + if pixbuf is not None: + chooser = ModifierChooser() + + # Iterate over the variations and add the codepoints + for codepoint_ in variations.keys(): + pixbuf_ = self._get_next_pixbuf() + if pixbuf_ is None: + continue + + if pixbuf_ == 'font': + if not self._chooser.font_supports_codepoint( + codepoint_): + continue + else: + emoji_pixbufs[codepoint_] = pixbuf_ + + # Only codepoints are added which the + # font or theme supports + chooser.add_emoji(codepoint_, pixbuf_) + + # Check if we successfully added codepoints with modifiers + if chooser.has_child: + # If we have children then add a button + # and set the popover + child = EmojiModifierChild( + codepoint, pixbuf, attrs['desc']) + child.button.set_popover(chooser) + chooser.flowbox.connect( + 'child-activated', self._press_cb) + else: + # If no children were added, destroy the chooser + # and add a EmojiChild instead of a EmojiModifierChild + chooser.destroy() + child = EmojiChild(codepoint, pixbuf, attrs['desc']) + + if pixbuf != 'font': + emoji_pixbufs[codepoint] = pixbuf + + self.flowbox.add(child) + else: + # We don’t have a image for the base codepoint + # so skip all modifiers of it + for _entry in variations: + pixbuf = self._get_next_pixbuf() + return True + + def clear_emojis(self): + def _remove_emoji(emoji): + self.flowbox.remove(emoji) + emoji.destroy() + self.flowbox.foreach(_remove_emoji) + + def _get_next_pixbuf(self): + if self.pixbuf_generator is None: + return 'font' + return next(self.pixbuf_generator, False) + + +class EmojiChild(Gtk.FlowBoxChild): + def __init__(self, codepoint, pixbuf, desc): + Gtk.FlowBoxChild.__init__(self) + self.desc = desc + self.codepoint = codepoint + self.pixbuf = pixbuf + if pixbuf == 'font': + self.add(Gtk.Label(label=codepoint)) + else: + self.add(Gtk.Image.new_from_pixbuf(pixbuf)) + self.set_tooltip_text(desc) + self.show_all() + + def get_emoji(self): + if self.pixbuf != 'font': + pixbuf = self.get_child().get_pixbuf() + pixbuf = pixbuf.scale_simple(Emoji.INPUT_SIZE, + Emoji.INPUT_SIZE, + GdkPixbuf.InterpType.HYPER) + return self.codepoint, pixbuf + return self.codepoint, None + + +class EmojiModifierChild(Gtk.FlowBoxChild): + def __init__(self, codepoint, pixbuf, desc): + Gtk.FlowBoxChild.__init__(self) + self.desc = desc + self.codepoint = codepoint + self.pixbuf = pixbuf + + self.button = Gtk.MenuButton() + self.button.set_relief(Gtk.ReliefStyle.NONE) + self.button.connect('button-press-event', self._button_press) + + if pixbuf == 'font': + self.button.remove(self.button.get_child()) + label = Gtk.Label(label=codepoint) + self.button.add(label) + else: + self.button.get_child().set_from_pixbuf(pixbuf) + + self.set_tooltip_text(desc) + self.add(self.button) + self.show_all() + + def _button_press(self, button, event): + if event.button == 3: + button.get_popover().show() + button.get_popover().get_child().unselect_all() + return True + if event.button == 1: + self.get_parent().emit('child-activated', self) + return True + return False + + def get_emoji(self): + if self.pixbuf != 'font': + pixbuf = self.button.get_child().get_pixbuf() + pixbuf = pixbuf.scale_simple(Emoji.INPUT_SIZE, + Emoji.INPUT_SIZE, + GdkPixbuf.InterpType.HYPER) + return self.codepoint, pixbuf + return self.codepoint, None + + +class ModifierChooser(Gtk.Popover): + def __init__(self): + Gtk.Popover.__init__(self) + self.set_name('EmoticonPopover') + self._has_child = False + + self.flowbox = Gtk.FlowBox() + self.flowbox.get_style_context().add_class( + 'emoji-modifier-chooser-flowbox') + self.flowbox.set_size_request(200, -1) + self.flowbox.set_max_children_per_line(MODIFIER_MAX_CHILDREN_PER_LINE) + self.flowbox.show() + self.add(self.flowbox) + + @property + def has_child(self): + return self._has_child + + def add_emoji(self, codepoint, pixbuf): + self.flowbox.add(EmojiChild(codepoint, pixbuf, None)) + self._has_child = True + + +class EmojiChooser(Gtk.Popover): + + _section_names = [ + 'Smileys & People', + 'Animals & Nature', + 'Food & Drink', + 'Travel & Places', + 'Activities', + 'Objects', + 'Symbols', + 'Flags' + ] + + def __init__(self): + super().__init__() + self.set_name('EmoticonPopover') + self._text_widget = None + self._load_source_id = None + self._pango_layout = Pango.Layout(self.get_pango_context()) + + self._builder = get_builder('emoji_chooser.ui') + self._search = self._builder.get_object('search') + self._stack = self._builder.get_object('stack') + + self._sections = OrderedDict() + for name in self._section_names: + self._sections[name] = Section( + name, self._search, self._on_emoticon_press, self) + + section_box = self._builder.get_object('section_box') + for section in self._sections.values(): + section_box.add(section) + + self.add(self._builder.get_object('box')) + + self.connect('key-press-event', self._key_press) + self._builder.connect_signals(self) + self.show_all() + + @property + def text_widget(self): + return self._text_widget + + @text_widget.setter + def text_widget(self, value): + # Hold only a weak reference so if we can destroy + # the ChatControl + self._text_widget = weakref.ref(value) + + def _key_press(self, _widget, event): + return self._search.handle_event(event) + + def _search_changed(self, _entry): + for section in self._sections.values(): + section.hide() + section.flowbox.invalidate_filter() + self._switch_stack() + + def _clear_sections(self): + for section in self._sections.values(): + section.clear_emojis() + + def _switch_stack(self): + for section in self._sections.values(): + if section.is_visible(): + self._stack.set_visible_child_name('list') + return + self._stack.set_visible_child_name('not-found') + + @staticmethod + def _get_current_theme(): + theme = app.settings.get('emoticons_theme') + themes = helpers.get_available_emoticon_themes() + if theme not in themes: + app.settings.set('emoticons_theme', 'noto') + theme = 'noto' + return theme + + @staticmethod + def _get_emoji_theme_path(theme): + if theme == 'font': + return 'font' + + base_path = configpaths.get('EMOTICONS') + emoticons_data_path = base_path / theme / f'{theme}.png' + if emoticons_data_path.exists(): + return emoticons_data_path + + emoticons_user_path = configpaths.get('MY_EMOTS') / f'{theme}.png' + if emoticons_user_path.exists(): + return emoticons_user_path + + log.warning('Could not find emoji theme: %s', theme) + return None + + def load(self): + theme = self._get_current_theme() + path = self._get_emoji_theme_path(theme) + if not theme or path is None: + self._clear_sections() + emoji_pixbufs.clear() + return + + # Attach pixbuf generator + pixbuf_generator = None + if theme != 'font': + pixbuf_generator = self._get_next_pixbuf(path) + for section in self._sections.values(): + section.pixbuf_generator = pixbuf_generator + + if self._load_source_id is not None: + GLib.source_remove(self._load_source_id) + + # When we change emoji theme + self._clear_sections() + emoji_pixbufs.clear() + + factory = self._emoji_factory(theme == 'font') + self._load_source_id = GLib.idle_add(lambda: next(factory, False), + priority=GLib.PRIORITY_LOW) + + def _emoji_factory(self, font): + for codepoint, attrs in emoji_data.items(): + if not attrs['fully-qualified']: + # We don’t add these to the UI + continue + + if font and not self.font_supports_codepoint(codepoint): + continue + + section = self._sections[attrs['group']] + yield section.add_emoji(codepoint, attrs) + self._load_source_id = None + emoji_pixbufs.complete = True + + def font_supports_codepoint(self, codepoint): + self._pango_layout.set_text(codepoint, -1) + if self._pango_layout.get_unknown_glyphs_count(): + return False + if len(codepoint) > 1: + # The font supports each of the codepoints + # Check if the rendered glyph is more than one char + if self._pango_layout.get_size()[0] > 19000: + return False + return True + + @staticmethod + def _get_next_pixbuf(path): + src_x = src_y = cur_column = 0 + atlas = GdkPixbuf.Pixbuf.new_from_file(str(path)) + + while True: + src_x = cur_column * Emoji.PARSE_WIDTH + subpixbuf = atlas.new_subpixbuf(src_x, src_y, + Emoji.PARSE_WIDTH, + Emoji.PARSE_HEIGHT) + + if list(subpixbuf.get_pixels())[0:4] == [0, 0, 0, 255]: + # top left corner is a black pixel means image is missing + subpixbuf = None + + if cur_column == Emoji.PARSE_COLUMNS - 1: + src_y += Emoji.PARSE_WIDTH + cur_column = 0 + else: + cur_column += 1 + + yield subpixbuf + + def _on_emoticon_press(self, flowbox, child): + GLib.timeout_add(100, flowbox.unselect_child, child) + codepoint, pixbuf = child.get_emoji() + self._text_widget().insert_emoji(codepoint, pixbuf) + + def do_destroy(self): + # Remove the references we hold to other objects + self._text_widget = None + # Never destroy, creating a new EmoticonPopover is expensive + return True + + +emoji_chooser = EmojiChooser() diff --git a/gajim/gtk/emoji_data.py b/gajim/gtk/emoji_data.py new file mode 100644 index 0000000..5f1b62d --- /dev/null +++ b/gajim/gtk/emoji_data.py @@ -0,0 +1,26796 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# pylint: disable=too-many-lines + +import re +import weakref +from enum import IntEnum +from collections import OrderedDict + +from gi.repository import GdkPixbuf + +_MODIFIERS = ['\U0001F3FB', + '\U0001F3FC', + '\U0001F3FD', + '\U0001F3FE', + '\U0001F3FF'] + + +class Emoji(IntEnum): + TEXT_SIZE = 18 + INPUT_SIZE = 14 + PARSE_HEIGHT = 24 + PARSE_WIDTH = 24 + PARSE_COLUMNS = 20 + + +def is_emoji(codepoints): + if codepoints in emoji_data: + return True + if codepoints in emoji_ascii_data: + return True + return False + + +def get_emoji_pixbuf(codepoints): + ascii_codepoint = emoji_ascii_data.get(codepoints, None) + if ascii_codepoint is not None: + codepoints = ascii_codepoint + + pixbuf = emoji_pixbufs.get(codepoints, None) + if pixbuf is None: + return None + pixbuf = pixbuf.scale_simple(Emoji.TEXT_SIZE, + Emoji.TEXT_SIZE, + GdkPixbuf.InterpType.HYPER) + return pixbuf + + +class EmojiData(OrderedDict): + def __getitem__(self, key): + try: + return OrderedDict.__getitem__(self, key) + except KeyError: + for mod in _MODIFIERS: + if mod in key: + key = key.replace(mod, '') + return OrderedDict.__getitem__(self, key) + raise KeyError + + def __contains__(self, item): + try: + return bool(self[item]) + except KeyError: + return False + + def get_regex(self): + emojis = [] + for codepoint, attrs in self.items(): + if attrs.get('variations', False): + for variation in attrs['variations'].keys(): + emojis.append(variation) + emojis.append(codepoint) + + emojis = sorted(emojis, key=len, reverse=True) + return '(' + '|'.join(re.escape(u) for u in emojis) + ')' + + +class EmojiPixbufs(dict): + _complete = False + + def __init__(self): + dict.__init__(self) + self._marks = weakref.WeakKeyDictionary() + + @property + def complete(self): + return self._complete + + @complete.setter + def complete(self, value): + if value is True: + self._replace_emojis() + self._marks.clear() + self._complete = value + + def clear(self): + self.complete = False + self._marks.clear() + dict.clear(self) + + def append_marks(self, textview, start, end, codepoint): + # We have to assign some dummy data to the mark, or else + # pygobject will not keep the python wrapper alive, which in turn + # makes the weakref invalid as soon as the method ends + start.dummy = 'x' + start = weakref.ref(start) + end.dummy = 'x' + end = weakref.ref(end) + if textview in self._marks: + self._marks[textview].append((start, end, codepoint)) + else: + self._marks[textview] = [(start, end, codepoint)] + + def _replace_emojis(self): + for textview, emojis in self._marks.items(): + for emoji in emojis: + start, end, codepoint = emoji + if start() is None or end() is None: + # Marks are gone + continue + ascii_codepoint = emoji_ascii_data.get(codepoint, None) + if ascii_codepoint is not None: + codepoint = ascii_codepoint + pixbuf = self.get(codepoint, None) + if pixbuf is None: + # theme does not support this codepoint + continue + pixbuf = pixbuf.scale_simple(Emoji.TEXT_SIZE, + Emoji.TEXT_SIZE, + GdkPixbuf.InterpType.HYPER) + textview.replace_emojis( + start(), end(), pixbuf.copy(), codepoint) + + +emoji_pixbufs = EmojiPixbufs() + +# pylint: disable=line-too-long + +emoji_ascii_data = dict([ + ("':-D", '\U0001F605'), + (':)', '\U0001F642'), + (':-O', '\U0001F62e'), + ('>:/', '\U0001F615'), + ('*\\O/*', '\U0001F646'), + ('#)', '\U0001F635'), + (":'-)", '\U0001F602'), + ('B-)', '\U0001F60e'), + ('=#', '\U0001F636'), + (':@', '\U0001F620'), + ('=*', '\U0001F618'), + (':-*', '\U0001F618'), + ('>:\\', '\U0001F615'), + ('\\O/', '\U0001F646'), + ('D:', '\U0001F628'), + ('*\\0/*', '\U0001F646'), + (':-Þ', '\U0001F61b'), + ('8)', '\U0001F60e'), + (';D', '\U0001F609'), + ('%)', '\U0001F635'), + ('=X', '\U0001F636'), + ('>:(', '\U0001F620'), + (':-X', '\U0001F636'), + ('>:O', '\U0001F62e'), + (":')", '\U0001F602'), + ('=)', '\U0001F642'), + ('=(', '\U0001F61e'), + ('>:-)', '\U0001F606'), + ('=]', '\U0001F642'), + ('O:-3', '\U0001F607'), + ('-__-', '\U0001F611'), + ('>:P', '\U0001F61c'), + ("'=D", '\U0001F605'), + ("'=(", '\U0001F613'), + (':-(', '\U0001F61e'), + (':-P', '\U0001F61b'), + ('0;^)', '\U0001F607'), + (':P', '\U0001F61b'), + ("'=)", '\U0001F605'), + (':-D', '\U0001F603'), + (':\\', '\U0001F615'), + ('0:)', '\U0001F607'), + ('>:[', '\U0001F61e'), + (';]', '\U0001F609'), + (':Þ', '\U0001F61b'), + (':-.', '\U0001F615'), + (':b', '\U0001F61b'), + (':-#', '\U0001F636'), + ('\\0/', '\U0001F646'), + ('O_O', '\U0001F62e'), + ('>:-(', '\U0001F620'), + (":'-(", '\U0001F622'), + (':#', '\U0001F636'), + ('>.<', '\U0001F623'), + ('0:3', '\U0001F607'), + ('O;-)', '\U0001F607'), + ('=/', '\U0001F615'), + (':D', '\U0001F603'), + (':[', '\U0001F61e'), + (':-[', '\U0001F61e'), + ('=\\', '\U0001F615'), + ('8-)', '\U0001F60e'), + (':*', '\U0001F618'), + ("':(", '\U0001F613'), + ("':D", '\U0001F605'), + ('*)', '\U0001F609'), + ('<3', '\U00002764'), + ('X)', '\U0001F635'), + (';)', '\U0001F609'), + ('8-D', '\U0001F60e'), + ('O:)', '\U0001F607'), + (':L', '\U0001F615'), + ('B)', '\U0001F60e'), + ('>;)', '\U0001F606'), + ('=)', '\U0001F606'), + (';^)', '\U0001F609'), + (':-/', '\U0001F615'), + ('O=)', '\U0001F607'), + (':$', '\U0001F633'), + (':-b', '\U0001F61b'), + (';-(', '\U0001F622'), + ('%-)', '\U0001F635'), + (':/', '\U0001F615'), + (':-)', '\U0001F642'), + ('0:-3', '\U0001F607'), + (":'(", '\U0001F622'), + ('0;-)', '\U0001F607'), + ('#-)', '\U0001F635'), + (':(', '\U0001F61e'), + ('B-D', '\U0001F60e'), + (';-]', '\U0001F609'), + ("':-)", '\U0001F605'), + ('X-)', '\U0001F635'), + (':]', '\U0001F642'), + ('(y)', '\U0001F44d'), + ('>:)', '\U0001F606'), + ('0:-)', '\U0001F607'), + ('O:-)', '\U0001F607'), + ('O:3', '\U0001F607'), + ('=L', '\U0001F615'), + (':X', '\U0001F636'), + ('=$', '\U0001F633'), + (';-)', '\U0001F609'), + ("':)", '\U0001F605'), + ('X-P', '\U0001F61c'), + ('-___-', '\U0001F611'), + ('=P', '\U0001F61b'), + (':^*', '\U0001F618'), + ('=D', '\U0001F603'), + ('*-)', '\U0001F609'), + ("':-(", '\U0001F613'), + ('-_-', '\U0001F611') +]) + +emoji_data = EmojiData([ + ('\U0001F600', { + 'desc': 'grinning face', + 'group': 'Smileys & People', + 'subgroup': 'face-positive', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F601', { + 'desc': 'beaming face with smiling eyes', + 'group': 'Smileys & People', + 'subgroup': 'face-positive', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F602', { + 'desc': 'face with tears of joy', + 'group': 'Smileys & People', + 'subgroup': 'face-positive', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F923', { + 'desc': 'rolling on the floor laughing', + 'group': 'Smileys & People', + 'subgroup': 'face-positive', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F603', { + 'desc': 'grinning face with big eyes', + 'group': 'Smileys & People', + 'subgroup': 'face-positive', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F604', { + 'desc': 'grinning face with smiling eyes', + 'group': 'Smileys & People', + 'subgroup': 'face-positive', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F605', { + 'desc': 'grinning face with sweat', + 'group': 'Smileys & People', + 'subgroup': 'face-positive', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F606', { + 'desc': 'grinning squinting face', + 'group': 'Smileys & People', + 'subgroup': 'face-positive', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F609', { + 'desc': 'winking face', + 'group': 'Smileys & People', + 'subgroup': 'face-positive', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F60A', { + 'desc': 'smiling face with smiling eyes', + 'group': 'Smileys & People', + 'subgroup': 'face-positive', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F60B', { + 'desc': 'face savoring food', + 'group': 'Smileys & People', + 'subgroup': 'face-positive', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F60E', { + 'desc': 'smiling face with sunglasses', + 'group': 'Smileys & People', + 'subgroup': 'face-positive', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F60D', { + 'desc': 'smiling face with heart-eyes', + 'group': 'Smileys & People', + 'subgroup': 'face-positive', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F618', { + 'desc': 'face blowing a kiss', + 'group': 'Smileys & People', + 'subgroup': 'face-positive', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F970', { + 'desc': 'smiling face with 3 hearts', + 'group': 'Smileys & People', + 'subgroup': 'face-positive', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F617', { + 'desc': 'kissing face', + 'group': 'Smileys & People', + 'subgroup': 'face-positive', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F619', { + 'desc': 'kissing face with smiling eyes', + 'group': 'Smileys & People', + 'subgroup': 'face-positive', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F61A', { + 'desc': 'kissing face with closed eyes', + 'group': 'Smileys & People', + 'subgroup': 'face-positive', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0000263A\U0000FE0F', { + 'desc': 'smiling face', + 'group': 'Smileys & People', + 'subgroup': 'face-positive', + 'fully-qualified': True + }), + ('\U0000263A', { + 'desc': 'smiling face', + 'group': 'Smileys & People', + 'subgroup': 'face-positive', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F642', { + 'desc': 'slightly smiling face', + 'group': 'Smileys & People', + 'subgroup': 'face-positive', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F917', { + 'desc': 'hugging face', + 'group': 'Smileys & People', + 'subgroup': 'face-positive', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F929', { + 'desc': 'star-struck', + 'group': 'Smileys & People', + 'subgroup': 'face-positive', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F914', { + 'desc': 'thinking face', + 'group': 'Smileys & People', + 'subgroup': 'face-neutral', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F928', { + 'desc': 'face with raised eyebrow', + 'group': 'Smileys & People', + 'subgroup': 'face-neutral', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F610', { + 'desc': 'neutral face', + 'group': 'Smileys & People', + 'subgroup': 'face-neutral', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F611', { + 'desc': 'expressionless face', + 'group': 'Smileys & People', + 'subgroup': 'face-neutral', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F636', { + 'desc': 'face without mouth', + 'group': 'Smileys & People', + 'subgroup': 'face-neutral', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F644', { + 'desc': 'face with rolling eyes', + 'group': 'Smileys & People', + 'subgroup': 'face-neutral', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F60F', { + 'desc': 'smirking face', + 'group': 'Smileys & People', + 'subgroup': 'face-neutral', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F623', { + 'desc': 'persevering face', + 'group': 'Smileys & People', + 'subgroup': 'face-neutral', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F625', { + 'desc': 'sad but relieved face', + 'group': 'Smileys & People', + 'subgroup': 'face-neutral', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F62E', { + 'desc': 'face with open mouth', + 'group': 'Smileys & People', + 'subgroup': 'face-neutral', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F910', { + 'desc': 'zipper-mouth face', + 'group': 'Smileys & People', + 'subgroup': 'face-neutral', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F62F', { + 'desc': 'hushed face', + 'group': 'Smileys & People', + 'subgroup': 'face-neutral', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F62A', { + 'desc': 'sleepy face', + 'group': 'Smileys & People', + 'subgroup': 'face-neutral', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F62B', { + 'desc': 'tired face', + 'group': 'Smileys & People', + 'subgroup': 'face-neutral', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F634', { + 'desc': 'sleeping face', + 'group': 'Smileys & People', + 'subgroup': 'face-neutral', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F60C', { + 'desc': 'relieved face', + 'group': 'Smileys & People', + 'subgroup': 'face-neutral', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F61B', { + 'desc': 'face with tongue', + 'group': 'Smileys & People', + 'subgroup': 'face-neutral', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F61C', { + 'desc': 'winking face with tongue', + 'group': 'Smileys & People', + 'subgroup': 'face-neutral', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F61D', { + 'desc': 'squinting face with tongue', + 'group': 'Smileys & People', + 'subgroup': 'face-neutral', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F924', { + 'desc': 'drooling face', + 'group': 'Smileys & People', + 'subgroup': 'face-neutral', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F612', { + 'desc': 'unamused face', + 'group': 'Smileys & People', + 'subgroup': 'face-neutral', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F613', { + 'desc': 'downcast face with sweat', + 'group': 'Smileys & People', + 'subgroup': 'face-neutral', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F614', { + 'desc': 'pensive face', + 'group': 'Smileys & People', + 'subgroup': 'face-neutral', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F615', { + 'desc': 'confused face', + 'group': 'Smileys & People', + 'subgroup': 'face-neutral', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F643', { + 'desc': 'upside-down face', + 'group': 'Smileys & People', + 'subgroup': 'face-neutral', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F911', { + 'desc': 'money-mouth face', + 'group': 'Smileys & People', + 'subgroup': 'face-neutral', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F632', { + 'desc': 'astonished face', + 'group': 'Smileys & People', + 'subgroup': 'face-neutral', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002639\U0000FE0F', { + 'desc': 'frowning face', + 'group': 'Smileys & People', + 'subgroup': 'face-negative', + 'fully-qualified': True + }), + ('\U00002639', { + 'desc': 'frowning face', + 'group': 'Smileys & People', + 'subgroup': 'face-negative', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F641', { + 'desc': 'slightly frowning face', + 'group': 'Smileys & People', + 'subgroup': 'face-negative', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F616', { + 'desc': 'confounded face', + 'group': 'Smileys & People', + 'subgroup': 'face-negative', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F61E', { + 'desc': 'disappointed face', + 'group': 'Smileys & People', + 'subgroup': 'face-negative', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F61F', { + 'desc': 'worried face', + 'group': 'Smileys & People', + 'subgroup': 'face-negative', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F624', { + 'desc': 'face with steam from nose', + 'group': 'Smileys & People', + 'subgroup': 'face-negative', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F622', { + 'desc': 'crying face', + 'group': 'Smileys & People', + 'subgroup': 'face-negative', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F62D', { + 'desc': 'loudly crying face', + 'group': 'Smileys & People', + 'subgroup': 'face-negative', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F626', { + 'desc': 'frowning face with open mouth', + 'group': 'Smileys & People', + 'subgroup': 'face-negative', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F627', { + 'desc': 'anguished face', + 'group': 'Smileys & People', + 'subgroup': 'face-negative', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F628', { + 'desc': 'fearful face', + 'group': 'Smileys & People', + 'subgroup': 'face-negative', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F629', { + 'desc': 'weary face', + 'group': 'Smileys & People', + 'subgroup': 'face-negative', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F92F', { + 'desc': 'exploding head', + 'group': 'Smileys & People', + 'subgroup': 'face-negative', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F62C', { + 'desc': 'grimacing face', + 'group': 'Smileys & People', + 'subgroup': 'face-negative', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F630', { + 'desc': 'anxious face with sweat', + 'group': 'Smileys & People', + 'subgroup': 'face-negative', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F631', { + 'desc': 'face screaming in fear', + 'group': 'Smileys & People', + 'subgroup': 'face-negative', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F975', { + 'desc': 'hot face', + 'group': 'Smileys & People', + 'subgroup': 'face-negative', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F976', { + 'desc': 'cold face', + 'group': 'Smileys & People', + 'subgroup': 'face-negative', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F633', { + 'desc': 'flushed face', + 'group': 'Smileys & People', + 'subgroup': 'face-negative', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F92A', { + 'desc': 'zany face', + 'group': 'Smileys & People', + 'subgroup': 'face-negative', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F635', { + 'desc': 'dizzy face', + 'group': 'Smileys & People', + 'subgroup': 'face-negative', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F621', { + 'desc': 'pouting face', + 'group': 'Smileys & People', + 'subgroup': 'face-negative', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F620', { + 'desc': 'angry face', + 'group': 'Smileys & People', + 'subgroup': 'face-negative', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F92C', { + 'desc': 'face with symbols on mouth', + 'group': 'Smileys & People', + 'subgroup': 'face-negative', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F637', { + 'desc': 'face with medical mask', + 'group': 'Smileys & People', + 'subgroup': 'face-sick', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F912', { + 'desc': 'face with thermometer', + 'group': 'Smileys & People', + 'subgroup': 'face-sick', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F915', { + 'desc': 'face with head-bandage', + 'group': 'Smileys & People', + 'subgroup': 'face-sick', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F922', { + 'desc': 'nauseated face', + 'group': 'Smileys & People', + 'subgroup': 'face-sick', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F92E', { + 'desc': 'face vomiting', + 'group': 'Smileys & People', + 'subgroup': 'face-sick', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F927', { + 'desc': 'sneezing face', + 'group': 'Smileys & People', + 'subgroup': 'face-sick', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F607', { + 'desc': 'smiling face with halo', + 'group': 'Smileys & People', + 'subgroup': 'face-role', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F920', { + 'desc': 'cowboy hat face', + 'group': 'Smileys & People', + 'subgroup': 'face-role', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F973', { + 'desc': 'partying face', + 'group': 'Smileys & People', + 'subgroup': 'face-role', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F974', { + 'desc': 'woozy face', + 'group': 'Smileys & People', + 'subgroup': 'face-role', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F97A', { + 'desc': 'pleading face', + 'group': 'Smileys & People', + 'subgroup': 'face-role', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F925', { + 'desc': 'lying face', + 'group': 'Smileys & People', + 'subgroup': 'face-role', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F92B', { + 'desc': 'shushing face', + 'group': 'Smileys & People', + 'subgroup': 'face-role', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F92D', { + 'desc': 'face with hand over mouth', + 'group': 'Smileys & People', + 'subgroup': 'face-role', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9D0', { + 'desc': 'face with monocle', + 'group': 'Smileys & People', + 'subgroup': 'face-role', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F913', { + 'desc': 'nerd face', + 'group': 'Smileys & People', + 'subgroup': 'face-role', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F608', { + 'desc': 'smiling face with horns', + 'group': 'Smileys & People', + 'subgroup': 'face-fantasy', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F47F', { + 'desc': 'angry face with horns', + 'group': 'Smileys & People', + 'subgroup': 'face-fantasy', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F921', { + 'desc': 'clown face', + 'group': 'Smileys & People', + 'subgroup': 'face-fantasy', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F479', { + 'desc': 'ogre', + 'group': 'Smileys & People', + 'subgroup': 'face-fantasy', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F47A', { + 'desc': 'goblin', + 'group': 'Smileys & People', + 'subgroup': 'face-fantasy', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F480', { + 'desc': 'skull', + 'group': 'Smileys & People', + 'subgroup': 'face-fantasy', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002620\U0000FE0F', { + 'desc': 'skull and crossbones', + 'group': 'Smileys & People', + 'subgroup': 'face-fantasy', + 'fully-qualified': True + }), + ('\U00002620', { + 'desc': 'skull and crossbones', + 'group': 'Smileys & People', + 'subgroup': 'face-fantasy', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F47B', { + 'desc': 'ghost', + 'group': 'Smileys & People', + 'subgroup': 'face-fantasy', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F47D', { + 'desc': 'alien', + 'group': 'Smileys & People', + 'subgroup': 'face-fantasy', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F47E', { + 'desc': 'alien monster', + 'group': 'Smileys & People', + 'subgroup': 'face-fantasy', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F916', { + 'desc': 'robot face', + 'group': 'Smileys & People', + 'subgroup': 'face-fantasy', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4A9', { + 'desc': 'pile of poo', + 'group': 'Smileys & People', + 'subgroup': 'face-fantasy', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F63A', { + 'desc': 'grinning cat face', + 'group': 'Smileys & People', + 'subgroup': 'cat-face', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F638', { + 'desc': 'grinning cat face with smiling eyes', + 'group': 'Smileys & People', + 'subgroup': 'cat-face', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F639', { + 'desc': 'cat face with tears of joy', + 'group': 'Smileys & People', + 'subgroup': 'cat-face', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F63B', { + 'desc': 'smiling cat face with heart-eyes', + 'group': 'Smileys & People', + 'subgroup': 'cat-face', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F63C', { + 'desc': 'cat face with wry smile', + 'group': 'Smileys & People', + 'subgroup': 'cat-face', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F63D', { + 'desc': 'kissing cat face', + 'group': 'Smileys & People', + 'subgroup': 'cat-face', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F640', { + 'desc': 'weary cat face', + 'group': 'Smileys & People', + 'subgroup': 'cat-face', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F63F', { + 'desc': 'crying cat face', + 'group': 'Smileys & People', + 'subgroup': 'cat-face', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F63E', { + 'desc': 'pouting cat face', + 'group': 'Smileys & People', + 'subgroup': 'cat-face', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F648', { + 'desc': 'see-no-evil monkey', + 'group': 'Smileys & People', + 'subgroup': 'monkey-face', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F649', { + 'desc': 'hear-no-evil monkey', + 'group': 'Smileys & People', + 'subgroup': 'monkey-face', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F64A', { + 'desc': 'speak-no-evil monkey', + 'group': 'Smileys & People', + 'subgroup': 'monkey-face', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F476', { + 'desc': 'baby', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F476\U0001F3FB', { + 'desc': 'baby: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F476\U0001F3FC', { + 'desc': 'baby: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F476\U0001F3FD', { + 'desc': 'baby: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F476\U0001F3FE', { + 'desc': 'baby: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F476\U0001F3FF', { + 'desc': 'baby: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F9D2', { + 'desc': 'child', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9D2\U0001F3FB', { + 'desc': 'child: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D2\U0001F3FC', { + 'desc': 'child: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D2\U0001F3FD', { + 'desc': 'child: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D2\U0001F3FE', { + 'desc': 'child: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D2\U0001F3FF', { + 'desc': 'child: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F466', { + 'desc': 'boy', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F466\U0001F3FB', { + 'desc': 'boy: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F466\U0001F3FC', { + 'desc': 'boy: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F466\U0001F3FD', { + 'desc': 'boy: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F466\U0001F3FE', { + 'desc': 'boy: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F466\U0001F3FF', { + 'desc': 'boy: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F467', { + 'desc': 'girl', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F467\U0001F3FB', { + 'desc': 'girl: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F467\U0001F3FC', { + 'desc': 'girl: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F467\U0001F3FD', { + 'desc': 'girl: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F467\U0001F3FE', { + 'desc': 'girl: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F467\U0001F3FF', { + 'desc': 'girl: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F9D1', { + 'desc': 'adult', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9D1\U0001F3FB', { + 'desc': 'adult: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D1\U0001F3FC', { + 'desc': 'adult: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D1\U0001F3FD', { + 'desc': 'adult: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D1\U0001F3FE', { + 'desc': 'adult: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D1\U0001F3FF', { + 'desc': 'adult: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F468', { + 'desc': 'man', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F468\U0001F3FB', { + 'desc': 'man: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F468\U0001F3FC', { + 'desc': 'man: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F468\U0001F3FD', { + 'desc': 'man: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F468\U0001F3FE', { + 'desc': 'man: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F468\U0001F3FF', { + 'desc': 'man: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F469', { + 'desc': 'woman', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F469\U0001F3FB', { + 'desc': 'woman: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F469\U0001F3FC', { + 'desc': 'woman: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F469\U0001F3FD', { + 'desc': 'woman: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F469\U0001F3FE', { + 'desc': 'woman: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F469\U0001F3FF', { + 'desc': 'woman: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F9D3', { + 'desc': 'older adult', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9D3\U0001F3FB', { + 'desc': 'older adult: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D3\U0001F3FC', { + 'desc': 'older adult: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D3\U0001F3FD', { + 'desc': 'older adult: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D3\U0001F3FE', { + 'desc': 'older adult: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D3\U0001F3FF', { + 'desc': 'older adult: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F474', { + 'desc': 'old man', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F474\U0001F3FB', { + 'desc': 'old man: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F474\U0001F3FC', { + 'desc': 'old man: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F474\U0001F3FD', { + 'desc': 'old man: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F474\U0001F3FE', { + 'desc': 'old man: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F474\U0001F3FF', { + 'desc': 'old man: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F475', { + 'desc': 'old woman', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F475\U0001F3FB', { + 'desc': 'old woman: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F475\U0001F3FC', { + 'desc': 'old woman: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F475\U0001F3FD', { + 'desc': 'old woman: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F475\U0001F3FE', { + 'desc': 'old woman: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F475\U0001F3FF', { + 'desc': 'old woman: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F468\U0000200D\U00002695\U0000FE0F', { + 'desc': 'man health worker', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F468\U0001F3FB\U0000200D\U00002695\U0000FE0F', { + 'desc': 'man health worker: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FC\U0000200D\U00002695\U0000FE0F', { + 'desc': 'man health worker: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FD\U0000200D\U00002695\U0000FE0F', { + 'desc': 'man health worker: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FE\U0000200D\U00002695\U0000FE0F', { + 'desc': 'man health worker: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FF\U0000200D\U00002695\U0000FE0F', { + 'desc': 'man health worker: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F468\U0000200D\U00002695', { + 'desc': 'man health worker', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F468\U0001F3FB\U0000200D\U00002695', { + 'desc': 'man health worker: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F468\U0001F3FC\U0000200D\U00002695', { + 'desc': 'man health worker: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F468\U0001F3FD\U0000200D\U00002695', { + 'desc': 'man health worker: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F468\U0001F3FE\U0000200D\U00002695', { + 'desc': 'man health worker: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F468\U0001F3FF\U0000200D\U00002695', { + 'desc': 'man health worker: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F469\U0000200D\U00002695\U0000FE0F', { + 'desc': 'woman health worker', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F469\U0001F3FB\U0000200D\U00002695\U0000FE0F', { + 'desc': 'woman health worker: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FC\U0000200D\U00002695\U0000FE0F', { + 'desc': 'woman health worker: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FD\U0000200D\U00002695\U0000FE0F', { + 'desc': 'woman health worker: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FE\U0000200D\U00002695\U0000FE0F', { + 'desc': 'woman health worker: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FF\U0000200D\U00002695\U0000FE0F', { + 'desc': 'woman health worker: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F469\U0000200D\U00002695', { + 'desc': 'woman health worker', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F469\U0001F3FB\U0000200D\U00002695', { + 'desc': 'woman health worker: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F469\U0001F3FC\U0000200D\U00002695', { + 'desc': 'woman health worker: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F469\U0001F3FD\U0000200D\U00002695', { + 'desc': 'woman health worker: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F469\U0001F3FE\U0000200D\U00002695', { + 'desc': 'woman health worker: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F469\U0001F3FF\U0000200D\U00002695', { + 'desc': 'woman health worker: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F468\U0000200D\U0001F393', { + 'desc': 'man student', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F468\U0001F3FB\U0000200D\U0001F393', { + 'desc': 'man student: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FC\U0000200D\U0001F393', { + 'desc': 'man student: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FD\U0000200D\U0001F393', { + 'desc': 'man student: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FE\U0000200D\U0001F393', { + 'desc': 'man student: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FF\U0000200D\U0001F393', { + 'desc': 'man student: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F469\U0000200D\U0001F393', { + 'desc': 'woman student', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F469\U0001F3FB\U0000200D\U0001F393', { + 'desc': 'woman student: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FC\U0000200D\U0001F393', { + 'desc': 'woman student: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FD\U0000200D\U0001F393', { + 'desc': 'woman student: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FE\U0000200D\U0001F393', { + 'desc': 'woman student: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FF\U0000200D\U0001F393', { + 'desc': 'woman student: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F468\U0000200D\U0001F3EB', { + 'desc': 'man teacher', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F468\U0001F3FB\U0000200D\U0001F3EB', { + 'desc': 'man teacher: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FC\U0000200D\U0001F3EB', { + 'desc': 'man teacher: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FD\U0000200D\U0001F3EB', { + 'desc': 'man teacher: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FE\U0000200D\U0001F3EB', { + 'desc': 'man teacher: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FF\U0000200D\U0001F3EB', { + 'desc': 'man teacher: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F469\U0000200D\U0001F3EB', { + 'desc': 'woman teacher', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F469\U0001F3FB\U0000200D\U0001F3EB', { + 'desc': 'woman teacher: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FC\U0000200D\U0001F3EB', { + 'desc': 'woman teacher: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FD\U0000200D\U0001F3EB', { + 'desc': 'woman teacher: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FE\U0000200D\U0001F3EB', { + 'desc': 'woman teacher: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FF\U0000200D\U0001F3EB', { + 'desc': 'woman teacher: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F468\U0000200D\U00002696\U0000FE0F', { + 'desc': 'man judge', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F468\U0001F3FB\U0000200D\U00002696\U0000FE0F', { + 'desc': 'man judge: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FC\U0000200D\U00002696\U0000FE0F', { + 'desc': 'man judge: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FD\U0000200D\U00002696\U0000FE0F', { + 'desc': 'man judge: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FE\U0000200D\U00002696\U0000FE0F', { + 'desc': 'man judge: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FF\U0000200D\U00002696\U0000FE0F', { + 'desc': 'man judge: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F468\U0000200D\U00002696', { + 'desc': 'man judge', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F468\U0001F3FB\U0000200D\U00002696', { + 'desc': 'man judge: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F468\U0001F3FC\U0000200D\U00002696', { + 'desc': 'man judge: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F468\U0001F3FD\U0000200D\U00002696', { + 'desc': 'man judge: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F468\U0001F3FE\U0000200D\U00002696', { + 'desc': 'man judge: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F468\U0001F3FF\U0000200D\U00002696', { + 'desc': 'man judge: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F469\U0000200D\U00002696\U0000FE0F', { + 'desc': 'woman judge', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F469\U0001F3FB\U0000200D\U00002696\U0000FE0F', { + 'desc': 'woman judge: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FC\U0000200D\U00002696\U0000FE0F', { + 'desc': 'woman judge: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FD\U0000200D\U00002696\U0000FE0F', { + 'desc': 'woman judge: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FE\U0000200D\U00002696\U0000FE0F', { + 'desc': 'woman judge: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FF\U0000200D\U00002696\U0000FE0F', { + 'desc': 'woman judge: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F469\U0000200D\U00002696', { + 'desc': 'woman judge', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F469\U0001F3FB\U0000200D\U00002696', { + 'desc': 'woman judge: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F469\U0001F3FC\U0000200D\U00002696', { + 'desc': 'woman judge: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F469\U0001F3FD\U0000200D\U00002696', { + 'desc': 'woman judge: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F469\U0001F3FE\U0000200D\U00002696', { + 'desc': 'woman judge: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F469\U0001F3FF\U0000200D\U00002696', { + 'desc': 'woman judge: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F468\U0000200D\U0001F33E', { + 'desc': 'man farmer', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F468\U0001F3FB\U0000200D\U0001F33E', { + 'desc': 'man farmer: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FC\U0000200D\U0001F33E', { + 'desc': 'man farmer: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FD\U0000200D\U0001F33E', { + 'desc': 'man farmer: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FE\U0000200D\U0001F33E', { + 'desc': 'man farmer: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FF\U0000200D\U0001F33E', { + 'desc': 'man farmer: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F469\U0000200D\U0001F33E', { + 'desc': 'woman farmer', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F469\U0001F3FB\U0000200D\U0001F33E', { + 'desc': 'woman farmer: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FC\U0000200D\U0001F33E', { + 'desc': 'woman farmer: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FD\U0000200D\U0001F33E', { + 'desc': 'woman farmer: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FE\U0000200D\U0001F33E', { + 'desc': 'woman farmer: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FF\U0000200D\U0001F33E', { + 'desc': 'woman farmer: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F468\U0000200D\U0001F373', { + 'desc': 'man cook', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F468\U0001F3FB\U0000200D\U0001F373', { + 'desc': 'man cook: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FC\U0000200D\U0001F373', { + 'desc': 'man cook: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FD\U0000200D\U0001F373', { + 'desc': 'man cook: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FE\U0000200D\U0001F373', { + 'desc': 'man cook: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FF\U0000200D\U0001F373', { + 'desc': 'man cook: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F469\U0000200D\U0001F373', { + 'desc': 'woman cook', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F469\U0001F3FB\U0000200D\U0001F373', { + 'desc': 'woman cook: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FC\U0000200D\U0001F373', { + 'desc': 'woman cook: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FD\U0000200D\U0001F373', { + 'desc': 'woman cook: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FE\U0000200D\U0001F373', { + 'desc': 'woman cook: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FF\U0000200D\U0001F373', { + 'desc': 'woman cook: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F468\U0000200D\U0001F527', { + 'desc': 'man mechanic', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F468\U0001F3FB\U0000200D\U0001F527', { + 'desc': 'man mechanic: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FC\U0000200D\U0001F527', { + 'desc': 'man mechanic: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FD\U0000200D\U0001F527', { + 'desc': 'man mechanic: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FE\U0000200D\U0001F527', { + 'desc': 'man mechanic: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FF\U0000200D\U0001F527', { + 'desc': 'man mechanic: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F469\U0000200D\U0001F527', { + 'desc': 'woman mechanic', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F469\U0001F3FB\U0000200D\U0001F527', { + 'desc': 'woman mechanic: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FC\U0000200D\U0001F527', { + 'desc': 'woman mechanic: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FD\U0000200D\U0001F527', { + 'desc': 'woman mechanic: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FE\U0000200D\U0001F527', { + 'desc': 'woman mechanic: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FF\U0000200D\U0001F527', { + 'desc': 'woman mechanic: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F468\U0000200D\U0001F3ED', { + 'desc': 'man factory worker', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F468\U0001F3FB\U0000200D\U0001F3ED', { + 'desc': 'man factory worker: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FC\U0000200D\U0001F3ED', { + 'desc': 'man factory worker: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FD\U0000200D\U0001F3ED', { + 'desc': 'man factory worker: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FE\U0000200D\U0001F3ED', { + 'desc': 'man factory worker: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FF\U0000200D\U0001F3ED', { + 'desc': 'man factory worker: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F469\U0000200D\U0001F3ED', { + 'desc': 'woman factory worker', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F469\U0001F3FB\U0000200D\U0001F3ED', { + 'desc': 'woman factory worker: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FC\U0000200D\U0001F3ED', { + 'desc': 'woman factory worker: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FD\U0000200D\U0001F3ED', { + 'desc': 'woman factory worker: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FE\U0000200D\U0001F3ED', { + 'desc': 'woman factory worker: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FF\U0000200D\U0001F3ED', { + 'desc': 'woman factory worker: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F468\U0000200D\U0001F4BC', { + 'desc': 'man office worker', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F468\U0001F3FB\U0000200D\U0001F4BC', { + 'desc': 'man office worker: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FC\U0000200D\U0001F4BC', { + 'desc': 'man office worker: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FD\U0000200D\U0001F4BC', { + 'desc': 'man office worker: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FE\U0000200D\U0001F4BC', { + 'desc': 'man office worker: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FF\U0000200D\U0001F4BC', { + 'desc': 'man office worker: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F469\U0000200D\U0001F4BC', { + 'desc': 'woman office worker', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F469\U0001F3FB\U0000200D\U0001F4BC', { + 'desc': 'woman office worker: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FC\U0000200D\U0001F4BC', { + 'desc': 'woman office worker: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FD\U0000200D\U0001F4BC', { + 'desc': 'woman office worker: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FE\U0000200D\U0001F4BC', { + 'desc': 'woman office worker: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FF\U0000200D\U0001F4BC', { + 'desc': 'woman office worker: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F468\U0000200D\U0001F52C', { + 'desc': 'man scientist', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F468\U0001F3FB\U0000200D\U0001F52C', { + 'desc': 'man scientist: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FC\U0000200D\U0001F52C', { + 'desc': 'man scientist: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FD\U0000200D\U0001F52C', { + 'desc': 'man scientist: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FE\U0000200D\U0001F52C', { + 'desc': 'man scientist: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FF\U0000200D\U0001F52C', { + 'desc': 'man scientist: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F469\U0000200D\U0001F52C', { + 'desc': 'woman scientist', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F469\U0001F3FB\U0000200D\U0001F52C', { + 'desc': 'woman scientist: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FC\U0000200D\U0001F52C', { + 'desc': 'woman scientist: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FD\U0000200D\U0001F52C', { + 'desc': 'woman scientist: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FE\U0000200D\U0001F52C', { + 'desc': 'woman scientist: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FF\U0000200D\U0001F52C', { + 'desc': 'woman scientist: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F468\U0000200D\U0001F4BB', { + 'desc': 'man technologist', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F468\U0001F3FB\U0000200D\U0001F4BB', { + 'desc': 'man technologist: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FC\U0000200D\U0001F4BB', { + 'desc': 'man technologist: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FD\U0000200D\U0001F4BB', { + 'desc': 'man technologist: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FE\U0000200D\U0001F4BB', { + 'desc': 'man technologist: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FF\U0000200D\U0001F4BB', { + 'desc': 'man technologist: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F469\U0000200D\U0001F4BB', { + 'desc': 'woman technologist', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F469\U0001F3FB\U0000200D\U0001F4BB', { + 'desc': 'woman technologist: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FC\U0000200D\U0001F4BB', { + 'desc': 'woman technologist: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FD\U0000200D\U0001F4BB', { + 'desc': 'woman technologist: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FE\U0000200D\U0001F4BB', { + 'desc': 'woman technologist: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FF\U0000200D\U0001F4BB', { + 'desc': 'woman technologist: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F468\U0000200D\U0001F3A4', { + 'desc': 'man singer', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F468\U0001F3FB\U0000200D\U0001F3A4', { + 'desc': 'man singer: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FC\U0000200D\U0001F3A4', { + 'desc': 'man singer: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FD\U0000200D\U0001F3A4', { + 'desc': 'man singer: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FE\U0000200D\U0001F3A4', { + 'desc': 'man singer: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FF\U0000200D\U0001F3A4', { + 'desc': 'man singer: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F469\U0000200D\U0001F3A4', { + 'desc': 'woman singer', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F469\U0001F3FB\U0000200D\U0001F3A4', { + 'desc': 'woman singer: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FC\U0000200D\U0001F3A4', { + 'desc': 'woman singer: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FD\U0000200D\U0001F3A4', { + 'desc': 'woman singer: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FE\U0000200D\U0001F3A4', { + 'desc': 'woman singer: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FF\U0000200D\U0001F3A4', { + 'desc': 'woman singer: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F468\U0000200D\U0001F3A8', { + 'desc': 'man artist', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F468\U0001F3FB\U0000200D\U0001F3A8', { + 'desc': 'man artist: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FC\U0000200D\U0001F3A8', { + 'desc': 'man artist: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FD\U0000200D\U0001F3A8', { + 'desc': 'man artist: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FE\U0000200D\U0001F3A8', { + 'desc': 'man artist: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FF\U0000200D\U0001F3A8', { + 'desc': 'man artist: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F469\U0000200D\U0001F3A8', { + 'desc': 'woman artist', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F469\U0001F3FB\U0000200D\U0001F3A8', { + 'desc': 'woman artist: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FC\U0000200D\U0001F3A8', { + 'desc': 'woman artist: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FD\U0000200D\U0001F3A8', { + 'desc': 'woman artist: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FE\U0000200D\U0001F3A8', { + 'desc': 'woman artist: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FF\U0000200D\U0001F3A8', { + 'desc': 'woman artist: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F468\U0000200D\U00002708\U0000FE0F', { + 'desc': 'man pilot', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F468\U0001F3FB\U0000200D\U00002708\U0000FE0F', { + 'desc': 'man pilot: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FC\U0000200D\U00002708\U0000FE0F', { + 'desc': 'man pilot: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FD\U0000200D\U00002708\U0000FE0F', { + 'desc': 'man pilot: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FE\U0000200D\U00002708\U0000FE0F', { + 'desc': 'man pilot: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FF\U0000200D\U00002708\U0000FE0F', { + 'desc': 'man pilot: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F468\U0000200D\U00002708', { + 'desc': 'man pilot', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F468\U0001F3FB\U0000200D\U00002708', { + 'desc': 'man pilot: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F468\U0001F3FC\U0000200D\U00002708', { + 'desc': 'man pilot: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F468\U0001F3FD\U0000200D\U00002708', { + 'desc': 'man pilot: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F468\U0001F3FE\U0000200D\U00002708', { + 'desc': 'man pilot: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F468\U0001F3FF\U0000200D\U00002708', { + 'desc': 'man pilot: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F469\U0000200D\U00002708\U0000FE0F', { + 'desc': 'woman pilot', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F469\U0001F3FB\U0000200D\U00002708\U0000FE0F', { + 'desc': 'woman pilot: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FC\U0000200D\U00002708\U0000FE0F', { + 'desc': 'woman pilot: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FD\U0000200D\U00002708\U0000FE0F', { + 'desc': 'woman pilot: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FE\U0000200D\U00002708\U0000FE0F', { + 'desc': 'woman pilot: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FF\U0000200D\U00002708\U0000FE0F', { + 'desc': 'woman pilot: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F469\U0000200D\U00002708', { + 'desc': 'woman pilot', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F469\U0001F3FB\U0000200D\U00002708', { + 'desc': 'woman pilot: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F469\U0001F3FC\U0000200D\U00002708', { + 'desc': 'woman pilot: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F469\U0001F3FD\U0000200D\U00002708', { + 'desc': 'woman pilot: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F469\U0001F3FE\U0000200D\U00002708', { + 'desc': 'woman pilot: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F469\U0001F3FF\U0000200D\U00002708', { + 'desc': 'woman pilot: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F468\U0000200D\U0001F680', { + 'desc': 'man astronaut', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F468\U0001F3FB\U0000200D\U0001F680', { + 'desc': 'man astronaut: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FC\U0000200D\U0001F680', { + 'desc': 'man astronaut: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FD\U0000200D\U0001F680', { + 'desc': 'man astronaut: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FE\U0000200D\U0001F680', { + 'desc': 'man astronaut: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FF\U0000200D\U0001F680', { + 'desc': 'man astronaut: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F469\U0000200D\U0001F680', { + 'desc': 'woman astronaut', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F469\U0001F3FB\U0000200D\U0001F680', { + 'desc': 'woman astronaut: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FC\U0000200D\U0001F680', { + 'desc': 'woman astronaut: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FD\U0000200D\U0001F680', { + 'desc': 'woman astronaut: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FE\U0000200D\U0001F680', { + 'desc': 'woman astronaut: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FF\U0000200D\U0001F680', { + 'desc': 'woman astronaut: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F468\U0000200D\U0001F692', { + 'desc': 'man firefighter', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F468\U0001F3FB\U0000200D\U0001F692', { + 'desc': 'man firefighter: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FC\U0000200D\U0001F692', { + 'desc': 'man firefighter: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FD\U0000200D\U0001F692', { + 'desc': 'man firefighter: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FE\U0000200D\U0001F692', { + 'desc': 'man firefighter: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FF\U0000200D\U0001F692', { + 'desc': 'man firefighter: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F469\U0000200D\U0001F692', { + 'desc': 'woman firefighter', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F469\U0001F3FB\U0000200D\U0001F692', { + 'desc': 'woman firefighter: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FC\U0000200D\U0001F692', { + 'desc': 'woman firefighter: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FD\U0000200D\U0001F692', { + 'desc': 'woman firefighter: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FE\U0000200D\U0001F692', { + 'desc': 'woman firefighter: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FF\U0000200D\U0001F692', { + 'desc': 'woman firefighter: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F46E', { + 'desc': 'police officer', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F46E\U0001F3FB', { + 'desc': 'police officer: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F46E\U0001F3FC', { + 'desc': 'police officer: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F46E\U0001F3FD', { + 'desc': 'police officer: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F46E\U0001F3FE', { + 'desc': 'police officer: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F46E\U0001F3FF', { + 'desc': 'police officer: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F46E\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man police officer', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F46E\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man police officer: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F46E\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man police officer: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F46E\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man police officer: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F46E\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man police officer: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F46E\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man police officer: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F46E\U0000200D\U00002642', { + 'desc': 'man police officer', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F46E\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man police officer: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F46E\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man police officer: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F46E\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man police officer: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F46E\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man police officer: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F46E\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man police officer: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F46E\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman police officer', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F46E\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman police officer: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F46E\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman police officer: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F46E\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman police officer: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F46E\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman police officer: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F46E\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman police officer: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F46E\U0000200D\U00002640', { + 'desc': 'woman police officer', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F46E\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman police officer: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F46E\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman police officer: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F46E\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman police officer: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F46E\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman police officer: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F46E\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman police officer: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F575\U0000FE0F', { + 'desc': 'detective', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F575\U0001F3FB', { + 'desc': 'detective: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F575\U0001F3FC', { + 'desc': 'detective: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F575\U0001F3FD', { + 'desc': 'detective: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F575\U0001F3FE', { + 'desc': 'detective: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F575\U0001F3FF', { + 'desc': 'detective: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]) + }), + ('\U0001F575', { + 'desc': 'detective', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False, + 'Emoji': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F575\U0000FE0F\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man detective', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F575\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man detective: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F575\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man detective: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F575\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man detective: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F575\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man detective: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F575\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man detective: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F575\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man detective', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F575\U0000FE0F\U0000200D\U00002642', { + 'desc': 'man detective', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F575\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man detective: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F575\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man detective: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F575\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man detective: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F575\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man detective: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F575\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man detective: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F575\U0000200D\U00002642', { + 'desc': 'man detective', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F575\U0000FE0F\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman detective', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F575\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman detective: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F575\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman detective: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F575\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman detective: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F575\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman detective: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F575\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman detective: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F575\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman detective', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F575\U0000FE0F\U0000200D\U00002640', { + 'desc': 'woman detective', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F575\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman detective: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F575\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman detective: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F575\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman detective: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F575\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman detective: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F575\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman detective: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F575\U0000200D\U00002640', { + 'desc': 'woman detective', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F482', { + 'desc': 'guard', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F482\U0001F3FB', { + 'desc': 'guard: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F482\U0001F3FC', { + 'desc': 'guard: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F482\U0001F3FD', { + 'desc': 'guard: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F482\U0001F3FE', { + 'desc': 'guard: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F482\U0001F3FF', { + 'desc': 'guard: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F482\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man guard', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F482\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man guard: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F482\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man guard: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F482\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man guard: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F482\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man guard: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F482\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man guard: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F482\U0000200D\U00002642', { + 'desc': 'man guard', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F482\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man guard: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F482\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man guard: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F482\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man guard: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F482\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man guard: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F482\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man guard: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F482\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman guard', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F482\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman guard: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F482\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman guard: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F482\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman guard: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F482\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman guard: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F482\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman guard: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F482\U0000200D\U00002640', { + 'desc': 'woman guard', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F482\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman guard: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F482\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman guard: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F482\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman guard: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F482\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman guard: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F482\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman guard: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F477', { + 'desc': 'construction worker', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F477\U0001F3FB', { + 'desc': 'construction worker: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F477\U0001F3FC', { + 'desc': 'construction worker: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F477\U0001F3FD', { + 'desc': 'construction worker: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F477\U0001F3FE', { + 'desc': 'construction worker: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F477\U0001F3FF', { + 'desc': 'construction worker: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F477\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man construction worker', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F477\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man construction worker: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F477\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man construction worker: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F477\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man construction worker: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F477\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man construction worker: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F477\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man construction worker: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F477\U0000200D\U00002642', { + 'desc': 'man construction worker', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F477\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man construction worker: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F477\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man construction worker: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F477\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man construction worker: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F477\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man construction worker: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F477\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man construction worker: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F477\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman construction worker', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F477\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman construction worker: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F477\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman construction worker: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F477\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman construction worker: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F477\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman construction worker: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F477\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman construction worker: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F477\U0000200D\U00002640', { + 'desc': 'woman construction worker', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F477\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman construction worker: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F477\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman construction worker: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F477\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman construction worker: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F477\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman construction worker: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F477\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman construction worker: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F934', { + 'desc': 'prince', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F934\U0001F3FB', { + 'desc': 'prince: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F934\U0001F3FC', { + 'desc': 'prince: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F934\U0001F3FD', { + 'desc': 'prince: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F934\U0001F3FE', { + 'desc': 'prince: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F934\U0001F3FF', { + 'desc': 'prince: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F478', { + 'desc': 'princess', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F478\U0001F3FB', { + 'desc': 'princess: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F478\U0001F3FC', { + 'desc': 'princess: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F478\U0001F3FD', { + 'desc': 'princess: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F478\U0001F3FE', { + 'desc': 'princess: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F478\U0001F3FF', { + 'desc': 'princess: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F473', { + 'desc': 'person wearing turban', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F473\U0001F3FB', { + 'desc': 'person wearing turban: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F473\U0001F3FC', { + 'desc': 'person wearing turban: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F473\U0001F3FD', { + 'desc': 'person wearing turban: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F473\U0001F3FE', { + 'desc': 'person wearing turban: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F473\U0001F3FF', { + 'desc': 'person wearing turban: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F473\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man wearing turban', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F473\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man wearing turban: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F473\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man wearing turban: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F473\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man wearing turban: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F473\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man wearing turban: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F473\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man wearing turban: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F473\U0000200D\U00002642', { + 'desc': 'man wearing turban', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F473\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man wearing turban: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F473\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man wearing turban: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F473\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man wearing turban: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F473\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man wearing turban: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F473\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man wearing turban: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F473\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman wearing turban', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F473\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman wearing turban: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F473\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman wearing turban: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F473\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman wearing turban: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F473\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman wearing turban: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F473\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman wearing turban: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F473\U0000200D\U00002640', { + 'desc': 'woman wearing turban', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F473\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman wearing turban: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F473\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman wearing turban: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F473\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman wearing turban: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F473\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman wearing turban: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F473\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman wearing turban: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F472', { + 'desc': 'man with Chinese cap', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F472\U0001F3FB', { + 'desc': 'man with Chinese cap: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F472\U0001F3FC', { + 'desc': 'man with Chinese cap: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F472\U0001F3FD', { + 'desc': 'man with Chinese cap: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F472\U0001F3FE', { + 'desc': 'man with Chinese cap: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F472\U0001F3FF', { + 'desc': 'man with Chinese cap: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F9D5', { + 'desc': 'woman with headscarf', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9D5\U0001F3FB', { + 'desc': 'woman with headscarf: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D5\U0001F3FC', { + 'desc': 'woman with headscarf: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D5\U0001F3FD', { + 'desc': 'woman with headscarf: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D5\U0001F3FE', { + 'desc': 'woman with headscarf: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D5\U0001F3FF', { + 'desc': 'woman with headscarf: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F9D4', { + 'desc': 'bearded person', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9D4\U0001F3FB', { + 'desc': 'bearded person: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D4\U0001F3FC', { + 'desc': 'bearded person: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D4\U0001F3FD', { + 'desc': 'bearded person: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D4\U0001F3FE', { + 'desc': 'bearded person: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D4\U0001F3FF', { + 'desc': 'bearded person: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F471', { + 'desc': 'blond-haired person', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F471\U0001F3FB', { + 'desc': 'blond-haired person: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F471\U0001F3FC', { + 'desc': 'blond-haired person: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F471\U0001F3FD', { + 'desc': 'blond-haired person: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F471\U0001F3FE', { + 'desc': 'blond-haired person: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F471\U0001F3FF', { + 'desc': 'blond-haired person: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F471\U0000200D\U00002642\U0000FE0F', { + 'desc': 'blond-haired man', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F471\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'blond-haired man: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F471\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'blond-haired man: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F471\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'blond-haired man: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F471\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'blond-haired man: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F471\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'blond-haired man: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F471\U0000200D\U00002642', { + 'desc': 'blond-haired man', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F471\U0001F3FB\U0000200D\U00002642', { + 'desc': 'blond-haired man: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F471\U0001F3FC\U0000200D\U00002642', { + 'desc': 'blond-haired man: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F471\U0001F3FD\U0000200D\U00002642', { + 'desc': 'blond-haired man: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F471\U0001F3FE\U0000200D\U00002642', { + 'desc': 'blond-haired man: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F471\U0001F3FF\U0000200D\U00002642', { + 'desc': 'blond-haired man: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F471\U0000200D\U00002640\U0000FE0F', { + 'desc': 'blond-haired woman', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F471\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'blond-haired woman: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F471\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'blond-haired woman: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F471\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'blond-haired woman: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F471\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'blond-haired woman: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F471\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'blond-haired woman: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F471\U0000200D\U00002640', { + 'desc': 'blond-haired woman', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F471\U0001F3FB\U0000200D\U00002640', { + 'desc': 'blond-haired woman: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F471\U0001F3FC\U0000200D\U00002640', { + 'desc': 'blond-haired woman: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F471\U0001F3FD\U0000200D\U00002640', { + 'desc': 'blond-haired woman: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F471\U0001F3FE\U0000200D\U00002640', { + 'desc': 'blond-haired woman: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }), + ('\U0001F471\U0001F3FF\U0000200D\U00002640', { + 'desc': 'blond-haired woman: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F468\U0000200D\U0001F9B0', { + 'desc': 'man, red haired', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F468\U0001F3FB\U0000200D\U0001F9B0', { + 'desc': 'man, red haired: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FC\U0000200D\U0001F9B0', { + 'desc': 'man, red haired: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FD\U0000200D\U0001F9B0', { + 'desc': 'man, red haired: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FE\U0000200D\U0001F9B0', { + 'desc': 'man, red haired: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FF\U0000200D\U0001F9B0', { + 'desc': 'man, red haired: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F469\U0000200D\U0001F9B0', { + 'desc': 'woman, red haired', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F469\U0001F3FB\U0000200D\U0001F9B0', { + 'desc': 'woman, red haired: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FC\U0000200D\U0001F9B0', { + 'desc': 'woman, red haired: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FD\U0000200D\U0001F9B0', { + 'desc': 'woman, red haired: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FE\U0000200D\U0001F9B0', { + 'desc': 'woman, red haired: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FF\U0000200D\U0001F9B0', { + 'desc': 'woman, red haired: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F468\U0000200D\U0001F9B1', { + 'desc': 'man, curly haired', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F468\U0001F3FB\U0000200D\U0001F9B1', { + 'desc': 'man, curly haired: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FC\U0000200D\U0001F9B1', { + 'desc': 'man, curly haired: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FD\U0000200D\U0001F9B1', { + 'desc': 'man, curly haired: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FE\U0000200D\U0001F9B1', { + 'desc': 'man, curly haired: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FF\U0000200D\U0001F9B1', { + 'desc': 'man, curly haired: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F469\U0000200D\U0001F9B1', { + 'desc': 'woman, curly haired', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F469\U0001F3FB\U0000200D\U0001F9B1', { + 'desc': 'woman, curly haired: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FC\U0000200D\U0001F9B1', { + 'desc': 'woman, curly haired: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FD\U0000200D\U0001F9B1', { + 'desc': 'woman, curly haired: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FE\U0000200D\U0001F9B1', { + 'desc': 'woman, curly haired: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FF\U0000200D\U0001F9B1', { + 'desc': 'woman, curly haired: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F468\U0000200D\U0001F9B2', { + 'desc': 'man, bald', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F468\U0001F3FB\U0000200D\U0001F9B2', { + 'desc': 'man, bald: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FC\U0000200D\U0001F9B2', { + 'desc': 'man, bald: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FD\U0000200D\U0001F9B2', { + 'desc': 'man, bald: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FE\U0000200D\U0001F9B2', { + 'desc': 'man, bald: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FF\U0000200D\U0001F9B2', { + 'desc': 'man, bald: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F469\U0000200D\U0001F9B2', { + 'desc': 'woman, bald', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F469\U0001F3FB\U0000200D\U0001F9B2', { + 'desc': 'woman, bald: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FC\U0000200D\U0001F9B2', { + 'desc': 'woman, bald: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FD\U0000200D\U0001F9B2', { + 'desc': 'woman, bald: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FE\U0000200D\U0001F9B2', { + 'desc': 'woman, bald: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FF\U0000200D\U0001F9B2', { + 'desc': 'woman, bald: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F468\U0000200D\U0001F9B3', { + 'desc': 'man, white haired', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F468\U0001F3FB\U0000200D\U0001F9B3', { + 'desc': 'man, white haired: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FC\U0000200D\U0001F9B3', { + 'desc': 'man, white haired: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FD\U0000200D\U0001F9B3', { + 'desc': 'man, white haired: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FE\U0000200D\U0001F9B3', { + 'desc': 'man, white haired: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F468\U0001F3FF\U0000200D\U0001F9B3', { + 'desc': 'man, white haired: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F469\U0000200D\U0001F9B3', { + 'desc': 'woman, white haired', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F469\U0001F3FB\U0000200D\U0001F9B3', { + 'desc': 'woman, white haired: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FC\U0000200D\U0001F9B3', { + 'desc': 'woman, white haired: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FD\U0000200D\U0001F9B3', { + 'desc': 'woman, white haired: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FE\U0000200D\U0001F9B3', { + 'desc': 'woman, white haired: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }), + ('\U0001F469\U0001F3FF\U0000200D\U0001F9B3', { + 'desc': 'woman, white haired: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F935', { + 'desc': 'man in tuxedo', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F935\U0001F3FB', { + 'desc': 'man in tuxedo: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F935\U0001F3FC', { + 'desc': 'man in tuxedo: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F935\U0001F3FD', { + 'desc': 'man in tuxedo: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F935\U0001F3FE', { + 'desc': 'man in tuxedo: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F935\U0001F3FF', { + 'desc': 'man in tuxedo: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F470', { + 'desc': 'bride with veil', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F470\U0001F3FB', { + 'desc': 'bride with veil: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F470\U0001F3FC', { + 'desc': 'bride with veil: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F470\U0001F3FD', { + 'desc': 'bride with veil: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F470\U0001F3FE', { + 'desc': 'bride with veil: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F470\U0001F3FF', { + 'desc': 'bride with veil: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F930', { + 'desc': 'pregnant woman', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F930\U0001F3FB', { + 'desc': 'pregnant woman: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F930\U0001F3FC', { + 'desc': 'pregnant woman: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F930\U0001F3FD', { + 'desc': 'pregnant woman: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F930\U0001F3FE', { + 'desc': 'pregnant woman: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F930\U0001F3FF', { + 'desc': 'pregnant woman: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F931', { + 'desc': 'breast-feeding', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F931\U0001F3FB', { + 'desc': 'breast-feeding: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F931\U0001F3FC', { + 'desc': 'breast-feeding: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F931\U0001F3FD', { + 'desc': 'breast-feeding: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F931\U0001F3FE', { + 'desc': 'breast-feeding: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F931\U0001F3FF', { + 'desc': 'breast-feeding: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-role', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F47C', { + 'desc': 'baby angel', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F47C\U0001F3FB', { + 'desc': 'baby angel: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F47C\U0001F3FC', { + 'desc': 'baby angel: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F47C\U0001F3FD', { + 'desc': 'baby angel: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F47C\U0001F3FE', { + 'desc': 'baby angel: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F47C\U0001F3FF', { + 'desc': 'baby angel: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F385', { + 'desc': 'Santa Claus', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F385\U0001F3FB', { + 'desc': 'Santa Claus: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F385\U0001F3FC', { + 'desc': 'Santa Claus: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F385\U0001F3FD', { + 'desc': 'Santa Claus: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F385\U0001F3FE', { + 'desc': 'Santa Claus: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F385\U0001F3FF', { + 'desc': 'Santa Claus: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F936', { + 'desc': 'Mrs. Claus', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F936\U0001F3FB', { + 'desc': 'Mrs. Claus: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F936\U0001F3FC', { + 'desc': 'Mrs. Claus: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F936\U0001F3FD', { + 'desc': 'Mrs. Claus: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F936\U0001F3FE', { + 'desc': 'Mrs. Claus: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F936\U0001F3FF', { + 'desc': 'Mrs. Claus: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F9B8', { + 'desc': 'superhero', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9B8\U0001F3FB', { + 'desc': 'superhero: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9B8\U0001F3FC', { + 'desc': 'superhero: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9B8\U0001F3FD', { + 'desc': 'superhero: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9B8\U0001F3FE', { + 'desc': 'superhero: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9B8\U0001F3FF', { + 'desc': 'superhero: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F9B8\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman superhero', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9B8\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman superhero: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9B8\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman superhero: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9B8\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman superhero: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9B8\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman superhero: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9B8\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman superhero: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F9B8\U0000200D\U00002640', { + 'desc': 'woman superhero', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F9B8\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman superhero: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9B8\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman superhero: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9B8\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman superhero: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9B8\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman superhero: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9B8\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman superhero: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F9B8\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man superhero', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9B8\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man superhero: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9B8\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man superhero: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9B8\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man superhero: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9B8\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man superhero: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9B8\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man superhero: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F9B8\U0000200D\U00002642', { + 'desc': 'man superhero', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F9B8\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man superhero: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9B8\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man superhero: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9B8\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man superhero: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9B8\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man superhero: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9B8\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man superhero: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F9B9', { + 'desc': 'supervillain', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9B9\U0001F3FB', { + 'desc': 'supervillain: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9B9\U0001F3FC', { + 'desc': 'supervillain: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9B9\U0001F3FD', { + 'desc': 'supervillain: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9B9\U0001F3FE', { + 'desc': 'supervillain: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9B9\U0001F3FF', { + 'desc': 'supervillain: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F9B9\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman supervillain', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9B9\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman supervillain: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9B9\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman supervillain: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9B9\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman supervillain: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9B9\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman supervillain: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9B9\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman supervillain: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F9B9\U0000200D\U00002640', { + 'desc': 'woman supervillain', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F9B9\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman supervillain: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9B9\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman supervillain: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9B9\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman supervillain: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9B9\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman supervillain: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9B9\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman supervillain: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F9B9\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man supervillain', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9B9\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man supervillain: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9B9\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man supervillain: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9B9\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man supervillain: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9B9\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man supervillain: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9B9\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man supervillain: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F9B9\U0000200D\U00002642', { + 'desc': 'man supervillain', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F9B9\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man supervillain: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9B9\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man supervillain: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9B9\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man supervillain: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9B9\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man supervillain: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9B9\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man supervillain: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F9D9', { + 'desc': 'mage', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9D9\U0001F3FB', { + 'desc': 'mage: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D9\U0001F3FC', { + 'desc': 'mage: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D9\U0001F3FD', { + 'desc': 'mage: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D9\U0001F3FE', { + 'desc': 'mage: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D9\U0001F3FF', { + 'desc': 'mage: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F9D9\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman mage', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9D9\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman mage: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9D9\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman mage: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9D9\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman mage: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9D9\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman mage: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9D9\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman mage: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F9D9\U0000200D\U00002640', { + 'desc': 'woman mage', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F9D9\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman mage: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9D9\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman mage: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9D9\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman mage: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9D9\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman mage: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9D9\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman mage: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F9D9\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man mage', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9D9\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man mage: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9D9\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man mage: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9D9\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man mage: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9D9\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man mage: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9D9\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man mage: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F9D9\U0000200D\U00002642', { + 'desc': 'man mage', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F9D9\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man mage: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9D9\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man mage: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9D9\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man mage: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9D9\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man mage: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9D9\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man mage: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F9DA', { + 'desc': 'fairy', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9DA\U0001F3FB', { + 'desc': 'fairy: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9DA\U0001F3FC', { + 'desc': 'fairy: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9DA\U0001F3FD', { + 'desc': 'fairy: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9DA\U0001F3FE', { + 'desc': 'fairy: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9DA\U0001F3FF', { + 'desc': 'fairy: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F9DA\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman fairy', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9DA\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman fairy: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9DA\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman fairy: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9DA\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman fairy: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9DA\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman fairy: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9DA\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman fairy: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F9DA\U0000200D\U00002640', { + 'desc': 'woman fairy', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F9DA\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman fairy: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DA\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman fairy: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DA\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman fairy: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DA\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman fairy: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DA\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman fairy: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F9DA\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man fairy', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9DA\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man fairy: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9DA\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man fairy: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9DA\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man fairy: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9DA\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man fairy: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9DA\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man fairy: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F9DA\U0000200D\U00002642', { + 'desc': 'man fairy', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F9DA\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man fairy: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DA\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man fairy: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DA\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man fairy: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DA\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man fairy: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DA\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man fairy: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F9DB', { + 'desc': 'vampire', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9DB\U0001F3FB', { + 'desc': 'vampire: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9DB\U0001F3FC', { + 'desc': 'vampire: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9DB\U0001F3FD', { + 'desc': 'vampire: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9DB\U0001F3FE', { + 'desc': 'vampire: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9DB\U0001F3FF', { + 'desc': 'vampire: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F9DB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman vampire', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9DB\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman vampire: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9DB\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman vampire: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9DB\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman vampire: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9DB\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman vampire: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9DB\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman vampire: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F9DB\U0000200D\U00002640', { + 'desc': 'woman vampire', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F9DB\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman vampire: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DB\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman vampire: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DB\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman vampire: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DB\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman vampire: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DB\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman vampire: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F9DB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man vampire', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9DB\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man vampire: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9DB\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man vampire: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9DB\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man vampire: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9DB\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man vampire: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9DB\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man vampire: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F9DB\U0000200D\U00002642', { + 'desc': 'man vampire', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F9DB\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man vampire: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DB\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man vampire: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DB\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man vampire: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DB\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man vampire: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DB\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man vampire: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F9DC', { + 'desc': 'merperson', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9DC\U0001F3FB', { + 'desc': 'merperson: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9DC\U0001F3FC', { + 'desc': 'merperson: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9DC\U0001F3FD', { + 'desc': 'merperson: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9DC\U0001F3FE', { + 'desc': 'merperson: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9DC\U0001F3FF', { + 'desc': 'merperson: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F9DC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'mermaid', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9DC\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'mermaid: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9DC\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'mermaid: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9DC\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'mermaid: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9DC\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'mermaid: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9DC\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'mermaid: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F9DC\U0000200D\U00002640', { + 'desc': 'mermaid', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F9DC\U0001F3FB\U0000200D\U00002640', { + 'desc': 'mermaid: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DC\U0001F3FC\U0000200D\U00002640', { + 'desc': 'mermaid: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DC\U0001F3FD\U0000200D\U00002640', { + 'desc': 'mermaid: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DC\U0001F3FE\U0000200D\U00002640', { + 'desc': 'mermaid: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DC\U0001F3FF\U0000200D\U00002640', { + 'desc': 'mermaid: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F9DC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'merman', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9DC\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'merman: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9DC\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'merman: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9DC\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'merman: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9DC\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'merman: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9DC\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'merman: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F9DC\U0000200D\U00002642', { + 'desc': 'merman', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F9DC\U0001F3FB\U0000200D\U00002642', { + 'desc': 'merman: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DC\U0001F3FC\U0000200D\U00002642', { + 'desc': 'merman: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DC\U0001F3FD\U0000200D\U00002642', { + 'desc': 'merman: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DC\U0001F3FE\U0000200D\U00002642', { + 'desc': 'merman: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DC\U0001F3FF\U0000200D\U00002642', { + 'desc': 'merman: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F9DD', { + 'desc': 'elf', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9DD\U0001F3FB', { + 'desc': 'elf: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9DD\U0001F3FC', { + 'desc': 'elf: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9DD\U0001F3FD', { + 'desc': 'elf: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9DD\U0001F3FE', { + 'desc': 'elf: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9DD\U0001F3FF', { + 'desc': 'elf: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F9DD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman elf', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9DD\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman elf: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9DD\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman elf: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9DD\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman elf: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9DD\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman elf: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9DD\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman elf: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F9DD\U0000200D\U00002640', { + 'desc': 'woman elf', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F9DD\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman elf: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DD\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman elf: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DD\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman elf: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DD\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman elf: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DD\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman elf: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F9DD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man elf', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9DD\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man elf: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9DD\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man elf: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9DD\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man elf: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9DD\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man elf: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }), + ('\U0001F9DD\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man elf: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F9DD\U0000200D\U00002642', { + 'desc': 'man elf', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F9DD\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man elf: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DD\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man elf: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DD\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man elf: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DD\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man elf: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DD\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man elf: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F9DE', { + 'desc': 'genie', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9DE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman genie', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F9DE\U0000200D\U00002640', { + 'desc': 'woman genie', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man genie', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F9DE\U0000200D\U00002642', { + 'desc': 'man genie', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DF', { + 'desc': 'zombie', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9DF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman zombie', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F9DF\U0000200D\U00002640', { + 'desc': 'woman zombie', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F9DF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man zombie', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F9DF\U0000200D\U00002642', { + 'desc': 'man zombie', + 'group': 'Smileys & People', + 'subgroup': 'person-fantasy', + 'fully-qualified': False + }), + ('\U0001F64D', { + 'desc': 'person frowning', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F64D\U0001F3FB', { + 'desc': 'person frowning: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F64D\U0001F3FC', { + 'desc': 'person frowning: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F64D\U0001F3FD', { + 'desc': 'person frowning: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F64D\U0001F3FE', { + 'desc': 'person frowning: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F64D\U0001F3FF', { + 'desc': 'person frowning: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F64D\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man frowning', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F64D\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man frowning: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F64D\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man frowning: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F64D\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man frowning: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F64D\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man frowning: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F64D\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man frowning: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F64D\U0000200D\U00002642', { + 'desc': 'man frowning', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F64D\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man frowning: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F64D\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man frowning: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F64D\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man frowning: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F64D\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man frowning: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F64D\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man frowning: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F64D\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman frowning', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F64D\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman frowning: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F64D\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman frowning: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F64D\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman frowning: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F64D\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman frowning: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F64D\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman frowning: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F64D\U0000200D\U00002640', { + 'desc': 'woman frowning', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F64D\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman frowning: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F64D\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman frowning: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F64D\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman frowning: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F64D\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman frowning: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F64D\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman frowning: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F64E', { + 'desc': 'person pouting', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F64E\U0001F3FB', { + 'desc': 'person pouting: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F64E\U0001F3FC', { + 'desc': 'person pouting: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F64E\U0001F3FD', { + 'desc': 'person pouting: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F64E\U0001F3FE', { + 'desc': 'person pouting: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F64E\U0001F3FF', { + 'desc': 'person pouting: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F64E\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man pouting', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F64E\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man pouting: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F64E\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man pouting: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F64E\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man pouting: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F64E\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man pouting: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F64E\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man pouting: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F64E\U0000200D\U00002642', { + 'desc': 'man pouting', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F64E\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man pouting: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F64E\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man pouting: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F64E\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man pouting: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F64E\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man pouting: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F64E\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man pouting: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F64E\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman pouting', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F64E\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman pouting: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F64E\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman pouting: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F64E\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman pouting: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F64E\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman pouting: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F64E\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman pouting: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F64E\U0000200D\U00002640', { + 'desc': 'woman pouting', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F64E\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman pouting: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F64E\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman pouting: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F64E\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman pouting: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F64E\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman pouting: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F64E\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman pouting: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F645', { + 'desc': 'person gesturing NO', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F645\U0001F3FB', { + 'desc': 'person gesturing NO: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F645\U0001F3FC', { + 'desc': 'person gesturing NO: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F645\U0001F3FD', { + 'desc': 'person gesturing NO: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F645\U0001F3FE', { + 'desc': 'person gesturing NO: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F645\U0001F3FF', { + 'desc': 'person gesturing NO: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F645\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man gesturing NO', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F645\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man gesturing NO: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F645\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man gesturing NO: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F645\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man gesturing NO: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F645\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man gesturing NO: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F645\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man gesturing NO: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F645\U0000200D\U00002642', { + 'desc': 'man gesturing NO', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F645\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man gesturing NO: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F645\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man gesturing NO: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F645\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man gesturing NO: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F645\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man gesturing NO: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F645\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man gesturing NO: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F645\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman gesturing NO', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F645\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman gesturing NO: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F645\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman gesturing NO: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F645\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman gesturing NO: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F645\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman gesturing NO: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F645\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman gesturing NO: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F645\U0000200D\U00002640', { + 'desc': 'woman gesturing NO', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F645\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman gesturing NO: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F645\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman gesturing NO: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F645\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman gesturing NO: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F645\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman gesturing NO: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F645\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman gesturing NO: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F646', { + 'desc': 'person gesturing OK', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F646\U0001F3FB', { + 'desc': 'person gesturing OK: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F646\U0001F3FC', { + 'desc': 'person gesturing OK: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F646\U0001F3FD', { + 'desc': 'person gesturing OK: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F646\U0001F3FE', { + 'desc': 'person gesturing OK: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F646\U0001F3FF', { + 'desc': 'person gesturing OK: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F646\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man gesturing OK', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F646\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man gesturing OK: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F646\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man gesturing OK: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F646\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man gesturing OK: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F646\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man gesturing OK: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F646\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man gesturing OK: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F646\U0000200D\U00002642', { + 'desc': 'man gesturing OK', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F646\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man gesturing OK: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F646\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man gesturing OK: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F646\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man gesturing OK: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F646\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man gesturing OK: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F646\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man gesturing OK: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F646\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman gesturing OK', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F646\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman gesturing OK: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F646\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman gesturing OK: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F646\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman gesturing OK: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F646\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman gesturing OK: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F646\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman gesturing OK: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F646\U0000200D\U00002640', { + 'desc': 'woman gesturing OK', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F646\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman gesturing OK: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F646\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman gesturing OK: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F646\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman gesturing OK: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F646\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman gesturing OK: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F646\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman gesturing OK: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F481', { + 'desc': 'person tipping hand', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F481\U0001F3FB', { + 'desc': 'person tipping hand: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F481\U0001F3FC', { + 'desc': 'person tipping hand: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F481\U0001F3FD', { + 'desc': 'person tipping hand: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F481\U0001F3FE', { + 'desc': 'person tipping hand: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F481\U0001F3FF', { + 'desc': 'person tipping hand: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F481\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man tipping hand', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F481\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man tipping hand: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F481\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man tipping hand: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F481\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man tipping hand: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F481\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man tipping hand: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F481\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man tipping hand: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F481\U0000200D\U00002642', { + 'desc': 'man tipping hand', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F481\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man tipping hand: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F481\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man tipping hand: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F481\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man tipping hand: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F481\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man tipping hand: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F481\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man tipping hand: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F481\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman tipping hand', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F481\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman tipping hand: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F481\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman tipping hand: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F481\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman tipping hand: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F481\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman tipping hand: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F481\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman tipping hand: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F481\U0000200D\U00002640', { + 'desc': 'woman tipping hand', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F481\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman tipping hand: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F481\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman tipping hand: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F481\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman tipping hand: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F481\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman tipping hand: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F481\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman tipping hand: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F64B', { + 'desc': 'person raising hand', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F64B\U0001F3FB', { + 'desc': 'person raising hand: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F64B\U0001F3FC', { + 'desc': 'person raising hand: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F64B\U0001F3FD', { + 'desc': 'person raising hand: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F64B\U0001F3FE', { + 'desc': 'person raising hand: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F64B\U0001F3FF', { + 'desc': 'person raising hand: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F64B\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man raising hand', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F64B\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man raising hand: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F64B\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man raising hand: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F64B\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man raising hand: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F64B\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man raising hand: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F64B\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man raising hand: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F64B\U0000200D\U00002642', { + 'desc': 'man raising hand', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F64B\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man raising hand: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F64B\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man raising hand: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F64B\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man raising hand: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F64B\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man raising hand: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F64B\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man raising hand: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F64B\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman raising hand', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F64B\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman raising hand: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F64B\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman raising hand: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F64B\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman raising hand: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F64B\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman raising hand: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F64B\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman raising hand: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F64B\U0000200D\U00002640', { + 'desc': 'woman raising hand', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F64B\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman raising hand: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F64B\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman raising hand: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F64B\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman raising hand: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F64B\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman raising hand: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F64B\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman raising hand: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F647', { + 'desc': 'person bowing', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F647\U0001F3FB', { + 'desc': 'person bowing: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F647\U0001F3FC', { + 'desc': 'person bowing: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F647\U0001F3FD', { + 'desc': 'person bowing: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F647\U0001F3FE', { + 'desc': 'person bowing: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F647\U0001F3FF', { + 'desc': 'person bowing: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F647\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man bowing', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F647\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man bowing: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F647\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man bowing: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F647\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man bowing: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F647\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man bowing: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F647\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man bowing: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F647\U0000200D\U00002642', { + 'desc': 'man bowing', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F647\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man bowing: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F647\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man bowing: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F647\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man bowing: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F647\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man bowing: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F647\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man bowing: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F647\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman bowing', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F647\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman bowing: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F647\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman bowing: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F647\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman bowing: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F647\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman bowing: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F647\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman bowing: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F647\U0000200D\U00002640', { + 'desc': 'woman bowing', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F647\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman bowing: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F647\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman bowing: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F647\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman bowing: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F647\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman bowing: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F647\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman bowing: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F926', { + 'desc': 'person facepalming', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F926\U0001F3FB', { + 'desc': 'person facepalming: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F926\U0001F3FC', { + 'desc': 'person facepalming: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F926\U0001F3FD', { + 'desc': 'person facepalming: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F926\U0001F3FE', { + 'desc': 'person facepalming: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F926\U0001F3FF', { + 'desc': 'person facepalming: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F926\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man facepalming', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F926\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man facepalming: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F926\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man facepalming: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F926\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man facepalming: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F926\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man facepalming: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F926\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man facepalming: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F926\U0000200D\U00002642', { + 'desc': 'man facepalming', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F926\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man facepalming: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F926\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man facepalming: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F926\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man facepalming: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F926\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man facepalming: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F926\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man facepalming: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F926\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman facepalming', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F926\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman facepalming: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F926\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman facepalming: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F926\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman facepalming: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F926\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman facepalming: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F926\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman facepalming: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F926\U0000200D\U00002640', { + 'desc': 'woman facepalming', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F926\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman facepalming: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F926\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman facepalming: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F926\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman facepalming: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F926\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman facepalming: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F926\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman facepalming: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F937', { + 'desc': 'person shrugging', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F937\U0001F3FB', { + 'desc': 'person shrugging: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F937\U0001F3FC', { + 'desc': 'person shrugging: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F937\U0001F3FD', { + 'desc': 'person shrugging: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F937\U0001F3FE', { + 'desc': 'person shrugging: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F937\U0001F3FF', { + 'desc': 'person shrugging: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F937\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man shrugging', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F937\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man shrugging: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F937\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man shrugging: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F937\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man shrugging: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F937\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man shrugging: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F937\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man shrugging: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F937\U0000200D\U00002642', { + 'desc': 'man shrugging', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F937\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man shrugging: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F937\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man shrugging: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F937\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man shrugging: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F937\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man shrugging: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F937\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man shrugging: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F937\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman shrugging', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F937\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman shrugging: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F937\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman shrugging: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F937\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman shrugging: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F937\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman shrugging: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }), + ('\U0001F937\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman shrugging: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F937\U0000200D\U00002640', { + 'desc': 'woman shrugging', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F937\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman shrugging: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F937\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman shrugging: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F937\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman shrugging: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F937\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman shrugging: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }), + ('\U0001F937\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman shrugging: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-gesture', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F486', { + 'desc': 'person getting massage', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F486\U0001F3FB', { + 'desc': 'person getting massage: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F486\U0001F3FC', { + 'desc': 'person getting massage: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F486\U0001F3FD', { + 'desc': 'person getting massage: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F486\U0001F3FE', { + 'desc': 'person getting massage: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F486\U0001F3FF', { + 'desc': 'person getting massage: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F486\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man getting massage', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F486\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man getting massage: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F486\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man getting massage: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F486\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man getting massage: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F486\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man getting massage: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F486\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man getting massage: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F486\U0000200D\U00002642', { + 'desc': 'man getting massage', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F486\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man getting massage: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F486\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man getting massage: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F486\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man getting massage: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F486\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man getting massage: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F486\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man getting massage: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F486\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman getting massage', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F486\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman getting massage: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F486\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman getting massage: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F486\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman getting massage: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F486\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman getting massage: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F486\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman getting massage: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F486\U0000200D\U00002640', { + 'desc': 'woman getting massage', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F486\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman getting massage: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F486\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman getting massage: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F486\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman getting massage: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F486\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman getting massage: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F486\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman getting massage: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F487', { + 'desc': 'person getting haircut', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F487\U0001F3FB', { + 'desc': 'person getting haircut: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F487\U0001F3FC', { + 'desc': 'person getting haircut: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F487\U0001F3FD', { + 'desc': 'person getting haircut: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F487\U0001F3FE', { + 'desc': 'person getting haircut: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F487\U0001F3FF', { + 'desc': 'person getting haircut: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F487\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man getting haircut', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F487\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man getting haircut: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F487\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man getting haircut: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F487\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man getting haircut: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F487\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man getting haircut: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F487\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man getting haircut: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F487\U0000200D\U00002642', { + 'desc': 'man getting haircut', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F487\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man getting haircut: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F487\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man getting haircut: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F487\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man getting haircut: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F487\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man getting haircut: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F487\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man getting haircut: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F487\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman getting haircut', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F487\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman getting haircut: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F487\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman getting haircut: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F487\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman getting haircut: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F487\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman getting haircut: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F487\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman getting haircut: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F487\U0000200D\U00002640', { + 'desc': 'woman getting haircut', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F487\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman getting haircut: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F487\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman getting haircut: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F487\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman getting haircut: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F487\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman getting haircut: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F487\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman getting haircut: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F6B6', { + 'desc': 'person walking', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F6B6\U0001F3FB', { + 'desc': 'person walking: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F6B6\U0001F3FC', { + 'desc': 'person walking: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F6B6\U0001F3FD', { + 'desc': 'person walking: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F6B6\U0001F3FE', { + 'desc': 'person walking: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F6B6\U0001F3FF', { + 'desc': 'person walking: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F6B6\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man walking', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F6B6\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man walking: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F6B6\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man walking: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F6B6\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man walking: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F6B6\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man walking: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F6B6\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man walking: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F6B6\U0000200D\U00002642', { + 'desc': 'man walking', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F6B6\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man walking: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F6B6\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man walking: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F6B6\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man walking: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F6B6\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man walking: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F6B6\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man walking: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F6B6\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman walking', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F6B6\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman walking: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F6B6\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman walking: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F6B6\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman walking: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F6B6\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman walking: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F6B6\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman walking: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F6B6\U0000200D\U00002640', { + 'desc': 'woman walking', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F6B6\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman walking: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F6B6\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman walking: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F6B6\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman walking: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F6B6\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman walking: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F6B6\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman walking: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F3C3', { + 'desc': 'person running', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F3C3\U0001F3FB', { + 'desc': 'person running: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F3C3\U0001F3FC', { + 'desc': 'person running: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F3C3\U0001F3FD', { + 'desc': 'person running: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F3C3\U0001F3FE', { + 'desc': 'person running: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F3C3\U0001F3FF', { + 'desc': 'person running: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F3C3\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man running', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F3C3\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man running: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F3C3\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man running: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F3C3\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man running: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F3C3\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man running: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F3C3\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man running: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F3C3\U0000200D\U00002642', { + 'desc': 'man running', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F3C3\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man running: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F3C3\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man running: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F3C3\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man running: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F3C3\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man running: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F3C3\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man running: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F3C3\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman running', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F3C3\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman running: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F3C3\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman running: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F3C3\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman running: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F3C3\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman running: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F3C3\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman running: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F3C3\U0000200D\U00002640', { + 'desc': 'woman running', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F3C3\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman running: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F3C3\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman running: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F3C3\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman running: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F3C3\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman running: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F3C3\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman running: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F483', { + 'desc': 'woman dancing', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F483\U0001F3FB', { + 'desc': 'woman dancing: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F483\U0001F3FC', { + 'desc': 'woman dancing: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F483\U0001F3FD', { + 'desc': 'woman dancing: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F483\U0001F3FE', { + 'desc': 'woman dancing: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F483\U0001F3FF', { + 'desc': 'woman dancing: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F57A', { + 'desc': 'man dancing', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F57A\U0001F3FB', { + 'desc': 'man dancing: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F57A\U0001F3FC', { + 'desc': 'man dancing: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F57A\U0001F3FD', { + 'desc': 'man dancing: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F57A\U0001F3FE', { + 'desc': 'man dancing: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F57A\U0001F3FF', { + 'desc': 'man dancing: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F46F', { + 'desc': 'people with bunny ears', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F46F\U0000200D\U00002642\U0000FE0F', { + 'desc': 'men with bunny ears', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F46F\U0000200D\U00002642', { + 'desc': 'men with bunny ears', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F46F\U0000200D\U00002640\U0000FE0F', { + 'desc': 'women with bunny ears', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F46F\U0000200D\U00002640', { + 'desc': 'women with bunny ears', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F9D6', { + 'desc': 'person in steamy room', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9D6\U0001F3FB', { + 'desc': 'person in steamy room: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D6\U0001F3FC', { + 'desc': 'person in steamy room: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D6\U0001F3FD', { + 'desc': 'person in steamy room: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D6\U0001F3FE', { + 'desc': 'person in steamy room: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D6\U0001F3FF', { + 'desc': 'person in steamy room: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F9D6\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman in steamy room', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9D6\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman in steamy room: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F9D6\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman in steamy room: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F9D6\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman in steamy room: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F9D6\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman in steamy room: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F9D6\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman in steamy room: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F9D6\U0000200D\U00002640', { + 'desc': 'woman in steamy room', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F9D6\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman in steamy room: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F9D6\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman in steamy room: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F9D6\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman in steamy room: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F9D6\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman in steamy room: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F9D6\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman in steamy room: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F9D6\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man in steamy room', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9D6\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man in steamy room: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F9D6\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man in steamy room: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F9D6\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man in steamy room: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F9D6\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man in steamy room: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F9D6\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man in steamy room: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F9D6\U0000200D\U00002642', { + 'desc': 'man in steamy room', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F9D6\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man in steamy room: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F9D6\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man in steamy room: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F9D6\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man in steamy room: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F9D6\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man in steamy room: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F9D6\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man in steamy room: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F9D7', { + 'desc': 'person climbing', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9D7\U0001F3FB', { + 'desc': 'person climbing: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D7\U0001F3FC', { + 'desc': 'person climbing: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D7\U0001F3FD', { + 'desc': 'person climbing: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D7\U0001F3FE', { + 'desc': 'person climbing: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D7\U0001F3FF', { + 'desc': 'person climbing: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F9D7\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman climbing', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9D7\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman climbing: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F9D7\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman climbing: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F9D7\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman climbing: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F9D7\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman climbing: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F9D7\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman climbing: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F9D7\U0000200D\U00002640', { + 'desc': 'woman climbing', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F9D7\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman climbing: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F9D7\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman climbing: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F9D7\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman climbing: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F9D7\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman climbing: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F9D7\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman climbing: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F9D7\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man climbing', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9D7\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man climbing: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F9D7\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man climbing: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F9D7\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man climbing: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F9D7\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man climbing: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F9D7\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man climbing: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F9D7\U0000200D\U00002642', { + 'desc': 'man climbing', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F9D7\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man climbing: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F9D7\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man climbing: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F9D7\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man climbing: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F9D7\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man climbing: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F9D7\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man climbing: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F9D8', { + 'desc': 'person in lotus position', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9D8\U0001F3FB', { + 'desc': 'person in lotus position: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D8\U0001F3FC', { + 'desc': 'person in lotus position: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D8\U0001F3FD', { + 'desc': 'person in lotus position: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D8\U0001F3FE', { + 'desc': 'person in lotus position: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9D8\U0001F3FF', { + 'desc': 'person in lotus position: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F9D8\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman in lotus position', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9D8\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman in lotus position: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F9D8\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman in lotus position: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F9D8\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman in lotus position: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F9D8\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman in lotus position: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F9D8\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman in lotus position: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F9D8\U0000200D\U00002640', { + 'desc': 'woman in lotus position', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F9D8\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman in lotus position: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F9D8\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman in lotus position: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F9D8\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman in lotus position: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F9D8\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman in lotus position: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F9D8\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman in lotus position: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F9D8\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man in lotus position', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9D8\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man in lotus position: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F9D8\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man in lotus position: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F9D8\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man in lotus position: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F9D8\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man in lotus position: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F9D8\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man in lotus position: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F9D8\U0000200D\U00002642', { + 'desc': 'man in lotus position', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F9D8\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man in lotus position: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F9D8\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man in lotus position: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F9D8\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man in lotus position: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F9D8\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man in lotus position: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }), + ('\U0001F9D8\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man in lotus position: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F6C0', { + 'desc': 'person taking bath', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F6C0\U0001F3FB', { + 'desc': 'person taking bath: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F6C0\U0001F3FC', { + 'desc': 'person taking bath: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F6C0\U0001F3FD', { + 'desc': 'person taking bath: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F6C0\U0001F3FE', { + 'desc': 'person taking bath: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F6C0\U0001F3FF', { + 'desc': 'person taking bath: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F6CC', { + 'desc': 'person in bed', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F6CC\U0001F3FB', { + 'desc': 'person in bed: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F6CC\U0001F3FC', { + 'desc': 'person in bed: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F6CC\U0001F3FD', { + 'desc': 'person in bed: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F6CC\U0001F3FE', { + 'desc': 'person in bed: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F6CC\U0001F3FF', { + 'desc': 'person in bed: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F574\U0000FE0F', { + 'desc': 'man in suit levitating', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F574\U0001F3FB', { + 'desc': 'man in suit levitating: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F574\U0001F3FC', { + 'desc': 'man in suit levitating: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F574\U0001F3FD', { + 'desc': 'man in suit levitating: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F574\U0001F3FE', { + 'desc': 'man in suit levitating: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F574\U0001F3FF', { + 'desc': 'man in suit levitating: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]) + }), + ('\U0001F574', { + 'desc': 'man in suit levitating', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False, + 'Emoji': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F5E3\U0000FE0F', { + 'desc': 'speaking head', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True + }), + ('\U0001F5E3', { + 'desc': 'speaking head', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F464', { + 'desc': 'bust in silhouette', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F465', { + 'desc': 'busts in silhouette', + 'group': 'Smileys & People', + 'subgroup': 'person-activity', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F93A', { + 'desc': 'person fencing', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3C7', { + 'desc': 'horse racing', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F3C7\U0001F3FB', { + 'desc': 'horse racing: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F3C7\U0001F3FC', { + 'desc': 'horse racing: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F3C7\U0001F3FD', { + 'desc': 'horse racing: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F3C7\U0001F3FE', { + 'desc': 'horse racing: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F3C7\U0001F3FF', { + 'desc': 'horse racing: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U000026F7\U0000FE0F', { + 'desc': 'skier', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U000026F7', { + 'desc': 'skier', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F3C2', { + 'desc': 'snowboarder', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F3C2\U0001F3FB', { + 'desc': 'snowboarder: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F3C2\U0001F3FC', { + 'desc': 'snowboarder: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F3C2\U0001F3FD', { + 'desc': 'snowboarder: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F3C2\U0001F3FE', { + 'desc': 'snowboarder: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F3C2\U0001F3FF', { + 'desc': 'snowboarder: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F3CC\U0000FE0F', { + 'desc': 'person golfing', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F3CC\U0001F3FB', { + 'desc': 'person golfing: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F3CC\U0001F3FC', { + 'desc': 'person golfing: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F3CC\U0001F3FD', { + 'desc': 'person golfing: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F3CC\U0001F3FE', { + 'desc': 'person golfing: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F3CC\U0001F3FF', { + 'desc': 'person golfing: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]) + }), + ('\U0001F3CC', { + 'desc': 'person golfing', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False, + 'Emoji': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F3CC\U0000FE0F\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man golfing', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F3CC\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man golfing: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F3CC\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man golfing: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F3CC\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man golfing: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F3CC\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man golfing: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F3CC\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man golfing: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F3CC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man golfing', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3CC\U0000FE0F\U0000200D\U00002642', { + 'desc': 'man golfing', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F3CC\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man golfing: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3CC\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man golfing: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3CC\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man golfing: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3CC\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man golfing: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3CC\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man golfing: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F3CC\U0000200D\U00002642', { + 'desc': 'man golfing', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3CC\U0000FE0F\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman golfing', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F3CC\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman golfing: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F3CC\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman golfing: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F3CC\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman golfing: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F3CC\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman golfing: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F3CC\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman golfing: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F3CC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman golfing', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3CC\U0000FE0F\U0000200D\U00002640', { + 'desc': 'woman golfing', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F3CC\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman golfing: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3CC\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman golfing: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3CC\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman golfing: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3CC\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman golfing: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3CC\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman golfing: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F3CC\U0000200D\U00002640', { + 'desc': 'woman golfing', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3C4', { + 'desc': 'person surfing', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F3C4\U0001F3FB', { + 'desc': 'person surfing: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F3C4\U0001F3FC', { + 'desc': 'person surfing: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F3C4\U0001F3FD', { + 'desc': 'person surfing: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F3C4\U0001F3FE', { + 'desc': 'person surfing: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F3C4\U0001F3FF', { + 'desc': 'person surfing: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F3C4\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man surfing', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F3C4\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man surfing: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F3C4\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man surfing: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F3C4\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man surfing: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F3C4\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man surfing: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F3C4\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man surfing: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F3C4\U0000200D\U00002642', { + 'desc': 'man surfing', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F3C4\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man surfing: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3C4\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man surfing: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3C4\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man surfing: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3C4\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man surfing: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3C4\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man surfing: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F3C4\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman surfing', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F3C4\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman surfing: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F3C4\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman surfing: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F3C4\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman surfing: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F3C4\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman surfing: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F3C4\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman surfing: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F3C4\U0000200D\U00002640', { + 'desc': 'woman surfing', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F3C4\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman surfing: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3C4\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman surfing: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3C4\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman surfing: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3C4\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman surfing: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3C4\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman surfing: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F6A3', { + 'desc': 'person rowing boat', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F6A3\U0001F3FB', { + 'desc': 'person rowing boat: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F6A3\U0001F3FC', { + 'desc': 'person rowing boat: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F6A3\U0001F3FD', { + 'desc': 'person rowing boat: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F6A3\U0001F3FE', { + 'desc': 'person rowing boat: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F6A3\U0001F3FF', { + 'desc': 'person rowing boat: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F6A3\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man rowing boat', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F6A3\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man rowing boat: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F6A3\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man rowing boat: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F6A3\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man rowing boat: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F6A3\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man rowing boat: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F6A3\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man rowing boat: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F6A3\U0000200D\U00002642', { + 'desc': 'man rowing boat', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F6A3\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man rowing boat: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F6A3\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man rowing boat: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F6A3\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man rowing boat: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F6A3\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man rowing boat: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F6A3\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man rowing boat: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F6A3\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman rowing boat', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F6A3\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman rowing boat: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F6A3\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman rowing boat: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F6A3\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman rowing boat: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F6A3\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman rowing boat: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F6A3\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman rowing boat: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F6A3\U0000200D\U00002640', { + 'desc': 'woman rowing boat', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F6A3\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman rowing boat: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F6A3\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman rowing boat: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F6A3\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman rowing boat: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F6A3\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman rowing boat: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F6A3\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman rowing boat: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F3CA', { + 'desc': 'person swimming', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F3CA\U0001F3FB', { + 'desc': 'person swimming: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F3CA\U0001F3FC', { + 'desc': 'person swimming: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F3CA\U0001F3FD', { + 'desc': 'person swimming: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F3CA\U0001F3FE', { + 'desc': 'person swimming: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F3CA\U0001F3FF', { + 'desc': 'person swimming: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F3CA\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man swimming', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F3CA\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man swimming: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F3CA\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man swimming: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F3CA\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man swimming: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F3CA\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man swimming: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F3CA\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man swimming: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F3CA\U0000200D\U00002642', { + 'desc': 'man swimming', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F3CA\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man swimming: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3CA\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man swimming: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3CA\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man swimming: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3CA\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man swimming: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3CA\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man swimming: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F3CA\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman swimming', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F3CA\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman swimming: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F3CA\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman swimming: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F3CA\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman swimming: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F3CA\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman swimming: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F3CA\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman swimming: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F3CA\U0000200D\U00002640', { + 'desc': 'woman swimming', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F3CA\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman swimming: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3CA\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman swimming: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3CA\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman swimming: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3CA\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman swimming: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3CA\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman swimming: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }) + ]) + }), + ('\U000026F9\U0000FE0F', { + 'desc': 'person bouncing ball', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U000026F9\U0001F3FB', { + 'desc': 'person bouncing ball: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U000026F9\U0001F3FC', { + 'desc': 'person bouncing ball: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U000026F9\U0001F3FD', { + 'desc': 'person bouncing ball: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U000026F9\U0001F3FE', { + 'desc': 'person bouncing ball: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U000026F9\U0001F3FF', { + 'desc': 'person bouncing ball: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]) + }), + ('\U000026F9', { + 'desc': 'person bouncing ball', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False, + 'Emoji': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U000026F9\U0000FE0F\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man bouncing ball', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U000026F9\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man bouncing ball: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U000026F9\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man bouncing ball: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U000026F9\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man bouncing ball: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U000026F9\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man bouncing ball: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U000026F9\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man bouncing ball: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U000026F9\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man bouncing ball', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U000026F9\U0000FE0F\U0000200D\U00002642', { + 'desc': 'man bouncing ball', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U000026F9\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man bouncing ball: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U000026F9\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man bouncing ball: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U000026F9\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man bouncing ball: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U000026F9\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man bouncing ball: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U000026F9\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man bouncing ball: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }) + ]) + }), + ('\U000026F9\U0000200D\U00002642', { + 'desc': 'man bouncing ball', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U000026F9\U0000FE0F\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman bouncing ball', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U000026F9\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman bouncing ball: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U000026F9\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman bouncing ball: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U000026F9\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman bouncing ball: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U000026F9\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman bouncing ball: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U000026F9\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman bouncing ball: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U000026F9\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman bouncing ball', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U000026F9\U0000FE0F\U0000200D\U00002640', { + 'desc': 'woman bouncing ball', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U000026F9\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman bouncing ball: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U000026F9\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman bouncing ball: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U000026F9\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman bouncing ball: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U000026F9\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman bouncing ball: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U000026F9\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman bouncing ball: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }) + ]) + }), + ('\U000026F9\U0000200D\U00002640', { + 'desc': 'woman bouncing ball', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3CB\U0000FE0F', { + 'desc': 'person lifting weights', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F3CB\U0001F3FB', { + 'desc': 'person lifting weights: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F3CB\U0001F3FC', { + 'desc': 'person lifting weights: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F3CB\U0001F3FD', { + 'desc': 'person lifting weights: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F3CB\U0001F3FE', { + 'desc': 'person lifting weights: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F3CB\U0001F3FF', { + 'desc': 'person lifting weights: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]) + }), + ('\U0001F3CB', { + 'desc': 'person lifting weights', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False, + 'Emoji': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F3CB\U0000FE0F\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man lifting weights', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F3CB\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man lifting weights: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F3CB\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man lifting weights: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F3CB\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man lifting weights: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F3CB\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man lifting weights: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F3CB\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man lifting weights: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F3CB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man lifting weights', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3CB\U0000FE0F\U0000200D\U00002642', { + 'desc': 'man lifting weights', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F3CB\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man lifting weights: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3CB\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man lifting weights: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3CB\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man lifting weights: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3CB\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man lifting weights: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3CB\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man lifting weights: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F3CB\U0000200D\U00002642', { + 'desc': 'man lifting weights', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3CB\U0000FE0F\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman lifting weights', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F3CB\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman lifting weights: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F3CB\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman lifting weights: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F3CB\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman lifting weights: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F3CB\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman lifting weights: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F3CB\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman lifting weights: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F3CB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman lifting weights', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3CB\U0000FE0F\U0000200D\U00002640', { + 'desc': 'woman lifting weights', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F3CB\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman lifting weights: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3CB\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman lifting weights: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3CB\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman lifting weights: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3CB\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman lifting weights: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F3CB\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman lifting weights: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F3CB\U0000200D\U00002640', { + 'desc': 'woman lifting weights', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F6B4', { + 'desc': 'person biking', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F6B4\U0001F3FB', { + 'desc': 'person biking: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F6B4\U0001F3FC', { + 'desc': 'person biking: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F6B4\U0001F3FD', { + 'desc': 'person biking: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F6B4\U0001F3FE', { + 'desc': 'person biking: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F6B4\U0001F3FF', { + 'desc': 'person biking: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F6B4\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man biking', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F6B4\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man biking: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F6B4\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man biking: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F6B4\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man biking: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F6B4\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man biking: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F6B4\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man biking: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F6B4\U0000200D\U00002642', { + 'desc': 'man biking', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F6B4\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man biking: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F6B4\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man biking: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F6B4\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man biking: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F6B4\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man biking: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F6B4\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man biking: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F6B4\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman biking', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F6B4\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman biking: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F6B4\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman biking: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F6B4\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman biking: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F6B4\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman biking: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F6B4\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman biking: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F6B4\U0000200D\U00002640', { + 'desc': 'woman biking', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F6B4\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman biking: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F6B4\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman biking: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F6B4\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman biking: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F6B4\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman biking: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F6B4\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman biking: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F6B5', { + 'desc': 'person mountain biking', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F6B5\U0001F3FB', { + 'desc': 'person mountain biking: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F6B5\U0001F3FC', { + 'desc': 'person mountain biking: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F6B5\U0001F3FD', { + 'desc': 'person mountain biking: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F6B5\U0001F3FE', { + 'desc': 'person mountain biking: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F6B5\U0001F3FF', { + 'desc': 'person mountain biking: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F6B5\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man mountain biking', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F6B5\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man mountain biking: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F6B5\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man mountain biking: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F6B5\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man mountain biking: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F6B5\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man mountain biking: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F6B5\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man mountain biking: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F6B5\U0000200D\U00002642', { + 'desc': 'man mountain biking', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F6B5\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man mountain biking: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F6B5\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man mountain biking: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F6B5\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man mountain biking: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F6B5\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man mountain biking: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F6B5\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man mountain biking: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F6B5\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman mountain biking', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F6B5\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman mountain biking: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F6B5\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman mountain biking: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F6B5\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman mountain biking: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F6B5\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman mountain biking: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F6B5\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman mountain biking: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F6B5\U0000200D\U00002640', { + 'desc': 'woman mountain biking', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F6B5\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman mountain biking: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F6B5\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman mountain biking: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F6B5\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman mountain biking: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F6B5\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman mountain biking: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F6B5\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman mountain biking: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F3CE\U0000FE0F', { + 'desc': 'racing car', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F3CE', { + 'desc': 'racing car', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F3CD\U0000FE0F', { + 'desc': 'motorcycle', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F3CD', { + 'desc': 'motorcycle', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F938', { + 'desc': 'person cartwheeling', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F938\U0001F3FB', { + 'desc': 'person cartwheeling: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F938\U0001F3FC', { + 'desc': 'person cartwheeling: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F938\U0001F3FD', { + 'desc': 'person cartwheeling: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F938\U0001F3FE', { + 'desc': 'person cartwheeling: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F938\U0001F3FF', { + 'desc': 'person cartwheeling: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F938\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man cartwheeling', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F938\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man cartwheeling: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F938\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man cartwheeling: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F938\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man cartwheeling: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F938\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man cartwheeling: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F938\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man cartwheeling: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F938\U0000200D\U00002642', { + 'desc': 'man cartwheeling', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F938\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man cartwheeling: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F938\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man cartwheeling: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F938\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man cartwheeling: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F938\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man cartwheeling: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F938\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man cartwheeling: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F938\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman cartwheeling', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F938\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman cartwheeling: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F938\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman cartwheeling: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F938\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman cartwheeling: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F938\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman cartwheeling: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F938\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman cartwheeling: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F938\U0000200D\U00002640', { + 'desc': 'woman cartwheeling', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F938\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman cartwheeling: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F938\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman cartwheeling: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F938\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman cartwheeling: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F938\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman cartwheeling: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F938\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman cartwheeling: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F93C', { + 'desc': 'people wrestling', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F93C\U0000200D\U00002642\U0000FE0F', { + 'desc': 'men wrestling', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F93C\U0000200D\U00002642', { + 'desc': 'men wrestling', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F93C\U0000200D\U00002640\U0000FE0F', { + 'desc': 'women wrestling', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F93C\U0000200D\U00002640', { + 'desc': 'women wrestling', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F93D', { + 'desc': 'person playing water polo', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F93D\U0001F3FB', { + 'desc': 'person playing water polo: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F93D\U0001F3FC', { + 'desc': 'person playing water polo: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F93D\U0001F3FD', { + 'desc': 'person playing water polo: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F93D\U0001F3FE', { + 'desc': 'person playing water polo: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F93D\U0001F3FF', { + 'desc': 'person playing water polo: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F93D\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man playing water polo', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F93D\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man playing water polo: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F93D\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man playing water polo: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F93D\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man playing water polo: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F93D\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man playing water polo: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F93D\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man playing water polo: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F93D\U0000200D\U00002642', { + 'desc': 'man playing water polo', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F93D\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man playing water polo: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F93D\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man playing water polo: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F93D\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man playing water polo: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F93D\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man playing water polo: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F93D\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man playing water polo: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F93D\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman playing water polo', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F93D\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman playing water polo: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F93D\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman playing water polo: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F93D\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman playing water polo: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F93D\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman playing water polo: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F93D\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman playing water polo: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F93D\U0000200D\U00002640', { + 'desc': 'woman playing water polo', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F93D\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman playing water polo: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F93D\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman playing water polo: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F93D\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman playing water polo: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F93D\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman playing water polo: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F93D\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman playing water polo: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F93E', { + 'desc': 'person playing handball', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F93E\U0001F3FB', { + 'desc': 'person playing handball: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F93E\U0001F3FC', { + 'desc': 'person playing handball: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F93E\U0001F3FD', { + 'desc': 'person playing handball: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F93E\U0001F3FE', { + 'desc': 'person playing handball: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F93E\U0001F3FF', { + 'desc': 'person playing handball: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F93E\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man playing handball', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F93E\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man playing handball: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F93E\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man playing handball: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F93E\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man playing handball: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F93E\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man playing handball: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F93E\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man playing handball: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F93E\U0000200D\U00002642', { + 'desc': 'man playing handball', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F93E\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man playing handball: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F93E\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man playing handball: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F93E\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man playing handball: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F93E\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man playing handball: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F93E\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man playing handball: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F93E\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman playing handball', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F93E\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman playing handball: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F93E\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman playing handball: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F93E\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman playing handball: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F93E\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman playing handball: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F93E\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman playing handball: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F93E\U0000200D\U00002640', { + 'desc': 'woman playing handball', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F93E\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman playing handball: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F93E\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman playing handball: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F93E\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman playing handball: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F93E\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman playing handball: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F93E\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman playing handball: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F939', { + 'desc': 'person juggling', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F939\U0001F3FB', { + 'desc': 'person juggling: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F939\U0001F3FC', { + 'desc': 'person juggling: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F939\U0001F3FD', { + 'desc': 'person juggling: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F939\U0001F3FE', { + 'desc': 'person juggling: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F939\U0001F3FF', { + 'desc': 'person juggling: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F939\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man juggling', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F939\U0001F3FB\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man juggling: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F939\U0001F3FC\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man juggling: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F939\U0001F3FD\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man juggling: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F939\U0001F3FE\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man juggling: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F939\U0001F3FF\U0000200D\U00002642\U0000FE0F', { + 'desc': 'man juggling: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F939\U0000200D\U00002642', { + 'desc': 'man juggling', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F939\U0001F3FB\U0000200D\U00002642', { + 'desc': 'man juggling: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F939\U0001F3FC\U0000200D\U00002642', { + 'desc': 'man juggling: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F939\U0001F3FD\U0000200D\U00002642', { + 'desc': 'man juggling: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F939\U0001F3FE\U0000200D\U00002642', { + 'desc': 'man juggling: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F939\U0001F3FF\U0000200D\U00002642', { + 'desc': 'man juggling: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F939\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman juggling', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F939\U0001F3FB\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman juggling: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F939\U0001F3FC\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman juggling: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F939\U0001F3FD\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman juggling: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F939\U0001F3FE\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman juggling: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }), + ('\U0001F939\U0001F3FF\U0000200D\U00002640\U0000FE0F', { + 'desc': 'woman juggling: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': True + }) + ]), + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F939\U0000200D\U00002640', { + 'desc': 'woman juggling', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False, + 'variations': OrderedDict([ + ('\U0001F939\U0001F3FB\U0000200D\U00002640', { + 'desc': 'woman juggling: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F939\U0001F3FC\U0000200D\U00002640', { + 'desc': 'woman juggling: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F939\U0001F3FD\U0000200D\U00002640', { + 'desc': 'woman juggling: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F939\U0001F3FE\U0000200D\U00002640', { + 'desc': 'woman juggling: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }), + ('\U0001F939\U0001F3FF\U0000200D\U00002640', { + 'desc': 'woman juggling: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'person-sport', + 'fully-qualified': False + }) + ]) + }), + ('\U0001F46B', { + 'desc': 'man and woman holding hands', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F46C', { + 'desc': 'two men holding hands', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F46D', { + 'desc': 'two women holding hands', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F48F', { + 'desc': 'kiss', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F469\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B\U0000200D\U0001F468', { + 'desc': 'kiss: woman, man', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F469\U0000200D\U00002764\U0000200D\U0001F48B\U0000200D\U0001F468', { + 'desc': 'kiss: woman, man', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': False + }), + ('\U0001F468\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B\U0000200D\U0001F468', { + 'desc': 'kiss: man, man', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F468\U0000200D\U00002764\U0000200D\U0001F48B\U0000200D\U0001F468', { + 'desc': 'kiss: man, man', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': False + }), + ('\U0001F469\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F48B\U0000200D\U0001F469', { + 'desc': 'kiss: woman, woman', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F469\U0000200D\U00002764\U0000200D\U0001F48B\U0000200D\U0001F469', { + 'desc': 'kiss: woman, woman', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': False + }), + ('\U0001F491', { + 'desc': 'couple with heart', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F469\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F468', { + 'desc': 'couple with heart: woman, man', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F469\U0000200D\U00002764\U0000200D\U0001F468', { + 'desc': 'couple with heart: woman, man', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': False + }), + ('\U0001F468\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F468', { + 'desc': 'couple with heart: man, man', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F468\U0000200D\U00002764\U0000200D\U0001F468', { + 'desc': 'couple with heart: man, man', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': False + }), + ('\U0001F469\U0000200D\U00002764\U0000FE0F\U0000200D\U0001F469', { + 'desc': 'couple with heart: woman, woman', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F469\U0000200D\U00002764\U0000200D\U0001F469', { + 'desc': 'couple with heart: woman, woman', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': False + }), + ('\U0001F46A', { + 'desc': 'family', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F468\U0000200D\U0001F469\U0000200D\U0001F466', { + 'desc': 'family: man, woman, boy', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F468\U0000200D\U0001F469\U0000200D\U0001F467', { + 'desc': 'family: man, woman, girl', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F468\U0000200D\U0001F469\U0000200D\U0001F467\U0000200D\U0001F466', { + 'desc': 'family: man, woman, girl, boy', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F468\U0000200D\U0001F469\U0000200D\U0001F466\U0000200D\U0001F466', { + 'desc': 'family: man, woman, boy, boy', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F468\U0000200D\U0001F469\U0000200D\U0001F467\U0000200D\U0001F467', { + 'desc': 'family: man, woman, girl, girl', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F468\U0000200D\U0001F468\U0000200D\U0001F466', { + 'desc': 'family: man, man, boy', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F468\U0000200D\U0001F468\U0000200D\U0001F467', { + 'desc': 'family: man, man, girl', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F468\U0000200D\U0001F468\U0000200D\U0001F467\U0000200D\U0001F466', { + 'desc': 'family: man, man, girl, boy', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F468\U0000200D\U0001F468\U0000200D\U0001F466\U0000200D\U0001F466', { + 'desc': 'family: man, man, boy, boy', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F468\U0000200D\U0001F468\U0000200D\U0001F467\U0000200D\U0001F467', { + 'desc': 'family: man, man, girl, girl', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F469\U0000200D\U0001F469\U0000200D\U0001F466', { + 'desc': 'family: woman, woman, boy', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F469\U0000200D\U0001F469\U0000200D\U0001F467', { + 'desc': 'family: woman, woman, girl', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F469\U0000200D\U0001F469\U0000200D\U0001F467\U0000200D\U0001F466', { + 'desc': 'family: woman, woman, girl, boy', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F469\U0000200D\U0001F469\U0000200D\U0001F466\U0000200D\U0001F466', { + 'desc': 'family: woman, woman, boy, boy', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F469\U0000200D\U0001F469\U0000200D\U0001F467\U0000200D\U0001F467', { + 'desc': 'family: woman, woman, girl, girl', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F468\U0000200D\U0001F466', { + 'desc': 'family: man, boy', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F468\U0000200D\U0001F466\U0000200D\U0001F466', { + 'desc': 'family: man, boy, boy', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F468\U0000200D\U0001F467', { + 'desc': 'family: man, girl', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F468\U0000200D\U0001F467\U0000200D\U0001F466', { + 'desc': 'family: man, girl, boy', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F468\U0000200D\U0001F467\U0000200D\U0001F467', { + 'desc': 'family: man, girl, girl', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F469\U0000200D\U0001F466', { + 'desc': 'family: woman, boy', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F469\U0000200D\U0001F466\U0000200D\U0001F466', { + 'desc': 'family: woman, boy, boy', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F469\U0000200D\U0001F467', { + 'desc': 'family: woman, girl', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F469\U0000200D\U0001F467\U0000200D\U0001F466', { + 'desc': 'family: woman, girl, boy', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F469\U0000200D\U0001F467\U0000200D\U0001F467', { + 'desc': 'family: woman, girl, girl', + 'group': 'Smileys & People', + 'subgroup': 'family', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F933', { + 'desc': 'selfie', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F933\U0001F3FB', { + 'desc': 'selfie: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F933\U0001F3FC', { + 'desc': 'selfie: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F933\U0001F3FD', { + 'desc': 'selfie: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F933\U0001F3FE', { + 'desc': 'selfie: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F933\U0001F3FF', { + 'desc': 'selfie: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F4AA', { + 'desc': 'flexed biceps', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F4AA\U0001F3FB', { + 'desc': 'flexed biceps: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F4AA\U0001F3FC', { + 'desc': 'flexed biceps: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F4AA\U0001F3FD', { + 'desc': 'flexed biceps: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F4AA\U0001F3FE', { + 'desc': 'flexed biceps: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F4AA\U0001F3FF', { + 'desc': 'flexed biceps: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F9B5', { + 'desc': 'leg', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9B5\U0001F3FB', { + 'desc': 'leg: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9B5\U0001F3FC', { + 'desc': 'leg: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9B5\U0001F3FD', { + 'desc': 'leg: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9B5\U0001F3FE', { + 'desc': 'leg: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9B5\U0001F3FF', { + 'desc': 'leg: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F9B6', { + 'desc': 'foot', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F9B6\U0001F3FB', { + 'desc': 'foot: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9B6\U0001F3FC', { + 'desc': 'foot: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9B6\U0001F3FD', { + 'desc': 'foot: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9B6\U0001F3FE', { + 'desc': 'foot: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F9B6\U0001F3FF', { + 'desc': 'foot: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F448', { + 'desc': 'backhand index pointing left', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F448\U0001F3FB', { + 'desc': 'backhand index pointing left: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F448\U0001F3FC', { + 'desc': 'backhand index pointing left: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F448\U0001F3FD', { + 'desc': 'backhand index pointing left: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F448\U0001F3FE', { + 'desc': 'backhand index pointing left: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F448\U0001F3FF', { + 'desc': 'backhand index pointing left: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F449', { + 'desc': 'backhand index pointing right', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F449\U0001F3FB', { + 'desc': 'backhand index pointing right: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F449\U0001F3FC', { + 'desc': 'backhand index pointing right: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F449\U0001F3FD', { + 'desc': 'backhand index pointing right: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F449\U0001F3FE', { + 'desc': 'backhand index pointing right: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F449\U0001F3FF', { + 'desc': 'backhand index pointing right: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0000261D\U0000FE0F', { + 'desc': 'index pointing up', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0000261D\U0001F3FB', { + 'desc': 'index pointing up: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0000261D\U0001F3FC', { + 'desc': 'index pointing up: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0000261D\U0001F3FD', { + 'desc': 'index pointing up: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0000261D\U0001F3FE', { + 'desc': 'index pointing up: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0000261D\U0001F3FF', { + 'desc': 'index pointing up: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]) + }), + ('\U0000261D', { + 'desc': 'index pointing up', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': False, + 'Emoji': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F446', { + 'desc': 'backhand index pointing up', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F446\U0001F3FB', { + 'desc': 'backhand index pointing up: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F446\U0001F3FC', { + 'desc': 'backhand index pointing up: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F446\U0001F3FD', { + 'desc': 'backhand index pointing up: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F446\U0001F3FE', { + 'desc': 'backhand index pointing up: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F446\U0001F3FF', { + 'desc': 'backhand index pointing up: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F595', { + 'desc': 'middle finger', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F595\U0001F3FB', { + 'desc': 'middle finger: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F595\U0001F3FC', { + 'desc': 'middle finger: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F595\U0001F3FD', { + 'desc': 'middle finger: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F595\U0001F3FE', { + 'desc': 'middle finger: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F595\U0001F3FF', { + 'desc': 'middle finger: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F447', { + 'desc': 'backhand index pointing down', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F447\U0001F3FB', { + 'desc': 'backhand index pointing down: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F447\U0001F3FC', { + 'desc': 'backhand index pointing down: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F447\U0001F3FD', { + 'desc': 'backhand index pointing down: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F447\U0001F3FE', { + 'desc': 'backhand index pointing down: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F447\U0001F3FF', { + 'desc': 'backhand index pointing down: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0000270C\U0000FE0F', { + 'desc': 'victory hand', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0000270C\U0001F3FB', { + 'desc': 'victory hand: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0000270C\U0001F3FC', { + 'desc': 'victory hand: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0000270C\U0001F3FD', { + 'desc': 'victory hand: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0000270C\U0001F3FE', { + 'desc': 'victory hand: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0000270C\U0001F3FF', { + 'desc': 'victory hand: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]) + }), + ('\U0000270C', { + 'desc': 'victory hand', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': False, + 'Emoji': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F91E', { + 'desc': 'crossed fingers', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F91E\U0001F3FB', { + 'desc': 'crossed fingers: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F91E\U0001F3FC', { + 'desc': 'crossed fingers: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F91E\U0001F3FD', { + 'desc': 'crossed fingers: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F91E\U0001F3FE', { + 'desc': 'crossed fingers: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F91E\U0001F3FF', { + 'desc': 'crossed fingers: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F596', { + 'desc': 'vulcan salute', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F596\U0001F3FB', { + 'desc': 'vulcan salute: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F596\U0001F3FC', { + 'desc': 'vulcan salute: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F596\U0001F3FD', { + 'desc': 'vulcan salute: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F596\U0001F3FE', { + 'desc': 'vulcan salute: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F596\U0001F3FF', { + 'desc': 'vulcan salute: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F918', { + 'desc': 'sign of the horns', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F918\U0001F3FB', { + 'desc': 'sign of the horns: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F918\U0001F3FC', { + 'desc': 'sign of the horns: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F918\U0001F3FD', { + 'desc': 'sign of the horns: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F918\U0001F3FE', { + 'desc': 'sign of the horns: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F918\U0001F3FF', { + 'desc': 'sign of the horns: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F919', { + 'desc': 'call me hand', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F919\U0001F3FB', { + 'desc': 'call me hand: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F919\U0001F3FC', { + 'desc': 'call me hand: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F919\U0001F3FD', { + 'desc': 'call me hand: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F919\U0001F3FE', { + 'desc': 'call me hand: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F919\U0001F3FF', { + 'desc': 'call me hand: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F590\U0000FE0F', { + 'desc': 'hand with fingers splayed', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F590\U0001F3FB', { + 'desc': 'hand with fingers splayed: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F590\U0001F3FC', { + 'desc': 'hand with fingers splayed: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F590\U0001F3FD', { + 'desc': 'hand with fingers splayed: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F590\U0001F3FE', { + 'desc': 'hand with fingers splayed: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F590\U0001F3FF', { + 'desc': 'hand with fingers splayed: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]) + }), + ('\U0001F590', { + 'desc': 'hand with fingers splayed', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': False, + 'Emoji': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0000270B', { + 'desc': 'raised hand', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0000270B\U0001F3FB', { + 'desc': 'raised hand: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0000270B\U0001F3FC', { + 'desc': 'raised hand: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0000270B\U0001F3FD', { + 'desc': 'raised hand: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0000270B\U0001F3FE', { + 'desc': 'raised hand: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0000270B\U0001F3FF', { + 'desc': 'raised hand: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F44C', { + 'desc': 'OK hand', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F44C\U0001F3FB', { + 'desc': 'OK hand: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F44C\U0001F3FC', { + 'desc': 'OK hand: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F44C\U0001F3FD', { + 'desc': 'OK hand: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F44C\U0001F3FE', { + 'desc': 'OK hand: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F44C\U0001F3FF', { + 'desc': 'OK hand: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F44D', { + 'desc': 'thumbs up', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F44D\U0001F3FB', { + 'desc': 'thumbs up: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F44D\U0001F3FC', { + 'desc': 'thumbs up: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F44D\U0001F3FD', { + 'desc': 'thumbs up: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F44D\U0001F3FE', { + 'desc': 'thumbs up: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F44D\U0001F3FF', { + 'desc': 'thumbs up: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F44E', { + 'desc': 'thumbs down', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F44E\U0001F3FB', { + 'desc': 'thumbs down: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F44E\U0001F3FC', { + 'desc': 'thumbs down: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F44E\U0001F3FD', { + 'desc': 'thumbs down: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F44E\U0001F3FE', { + 'desc': 'thumbs down: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F44E\U0001F3FF', { + 'desc': 'thumbs down: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0000270A', { + 'desc': 'raised fist', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0000270A\U0001F3FB', { + 'desc': 'raised fist: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0000270A\U0001F3FC', { + 'desc': 'raised fist: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0000270A\U0001F3FD', { + 'desc': 'raised fist: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0000270A\U0001F3FE', { + 'desc': 'raised fist: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0000270A\U0001F3FF', { + 'desc': 'raised fist: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F44A', { + 'desc': 'oncoming fist', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F44A\U0001F3FB', { + 'desc': 'oncoming fist: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F44A\U0001F3FC', { + 'desc': 'oncoming fist: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F44A\U0001F3FD', { + 'desc': 'oncoming fist: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F44A\U0001F3FE', { + 'desc': 'oncoming fist: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F44A\U0001F3FF', { + 'desc': 'oncoming fist: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F91B', { + 'desc': 'left-facing fist', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F91B\U0001F3FB', { + 'desc': 'left-facing fist: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F91B\U0001F3FC', { + 'desc': 'left-facing fist: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F91B\U0001F3FD', { + 'desc': 'left-facing fist: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F91B\U0001F3FE', { + 'desc': 'left-facing fist: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F91B\U0001F3FF', { + 'desc': 'left-facing fist: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F91C', { + 'desc': 'right-facing fist', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F91C\U0001F3FB', { + 'desc': 'right-facing fist: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F91C\U0001F3FC', { + 'desc': 'right-facing fist: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F91C\U0001F3FD', { + 'desc': 'right-facing fist: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F91C\U0001F3FE', { + 'desc': 'right-facing fist: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F91C\U0001F3FF', { + 'desc': 'right-facing fist: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F91A', { + 'desc': 'raised back of hand', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F91A\U0001F3FB', { + 'desc': 'raised back of hand: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F91A\U0001F3FC', { + 'desc': 'raised back of hand: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F91A\U0001F3FD', { + 'desc': 'raised back of hand: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F91A\U0001F3FE', { + 'desc': 'raised back of hand: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F91A\U0001F3FF', { + 'desc': 'raised back of hand: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F44B', { + 'desc': 'waving hand', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F44B\U0001F3FB', { + 'desc': 'waving hand: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F44B\U0001F3FC', { + 'desc': 'waving hand: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F44B\U0001F3FD', { + 'desc': 'waving hand: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F44B\U0001F3FE', { + 'desc': 'waving hand: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F44B\U0001F3FF', { + 'desc': 'waving hand: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F91F', { + 'desc': 'love-you gesture', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F91F\U0001F3FB', { + 'desc': 'love-you gesture: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F91F\U0001F3FC', { + 'desc': 'love-you gesture: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F91F\U0001F3FD', { + 'desc': 'love-you gesture: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F91F\U0001F3FE', { + 'desc': 'love-you gesture: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F91F\U0001F3FF', { + 'desc': 'love-you gesture: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0000270D\U0000FE0F', { + 'desc': 'writing hand', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0000270D\U0001F3FB', { + 'desc': 'writing hand: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0000270D\U0001F3FC', { + 'desc': 'writing hand: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0000270D\U0001F3FD', { + 'desc': 'writing hand: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0000270D\U0001F3FE', { + 'desc': 'writing hand: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0000270D\U0001F3FF', { + 'desc': 'writing hand: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]) + }), + ('\U0000270D', { + 'desc': 'writing hand', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': False, + 'Emoji': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F44F', { + 'desc': 'clapping hands', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F44F\U0001F3FB', { + 'desc': 'clapping hands: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F44F\U0001F3FC', { + 'desc': 'clapping hands: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F44F\U0001F3FD', { + 'desc': 'clapping hands: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F44F\U0001F3FE', { + 'desc': 'clapping hands: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F44F\U0001F3FF', { + 'desc': 'clapping hands: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F450', { + 'desc': 'open hands', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F450\U0001F3FB', { + 'desc': 'open hands: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F450\U0001F3FC', { + 'desc': 'open hands: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F450\U0001F3FD', { + 'desc': 'open hands: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F450\U0001F3FE', { + 'desc': 'open hands: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F450\U0001F3FF', { + 'desc': 'open hands: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F64C', { + 'desc': 'raising hands', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F64C\U0001F3FB', { + 'desc': 'raising hands: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F64C\U0001F3FC', { + 'desc': 'raising hands: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F64C\U0001F3FD', { + 'desc': 'raising hands: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F64C\U0001F3FE', { + 'desc': 'raising hands: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F64C\U0001F3FF', { + 'desc': 'raising hands: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F932', { + 'desc': 'palms up together', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F932\U0001F3FB', { + 'desc': 'palms up together: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F932\U0001F3FC', { + 'desc': 'palms up together: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F932\U0001F3FD', { + 'desc': 'palms up together: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F932\U0001F3FE', { + 'desc': 'palms up together: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F932\U0001F3FF', { + 'desc': 'palms up together: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F64F', { + 'desc': 'folded hands', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F64F\U0001F3FB', { + 'desc': 'folded hands: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F64F\U0001F3FC', { + 'desc': 'folded hands: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F64F\U0001F3FD', { + 'desc': 'folded hands: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F64F\U0001F3FE', { + 'desc': 'folded hands: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F64F\U0001F3FF', { + 'desc': 'folded hands: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F91D', { + 'desc': 'handshake', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F485', { + 'desc': 'nail polish', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F485\U0001F3FB', { + 'desc': 'nail polish: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F485\U0001F3FC', { + 'desc': 'nail polish: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F485\U0001F3FD', { + 'desc': 'nail polish: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F485\U0001F3FE', { + 'desc': 'nail polish: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F485\U0001F3FF', { + 'desc': 'nail polish: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F442', { + 'desc': 'ear', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F442\U0001F3FB', { + 'desc': 'ear: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F442\U0001F3FC', { + 'desc': 'ear: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F442\U0001F3FD', { + 'desc': 'ear: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F442\U0001F3FE', { + 'desc': 'ear: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F442\U0001F3FF', { + 'desc': 'ear: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F443', { + 'desc': 'nose', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'variations': OrderedDict([ + ('\U0001F443\U0001F3FB', { + 'desc': 'nose: light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F443\U0001F3FC', { + 'desc': 'nose: medium-light skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F443\U0001F3FD', { + 'desc': 'nose: medium skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F443\U0001F3FE', { + 'desc': 'nose: medium-dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }), + ('\U0001F443\U0001F3FF', { + 'desc': 'nose: dark skin tone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_Modifier_Sequence': True + }) + ]), + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Modifier_Base': True, + 'Extended_Pictographic': True + }), + ('\U0001F9B0', { + 'desc': 'red-haired', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Component': True, + 'Extended_Pictographic': True + }), + ('\U0001F9B1', { + 'desc': 'curly-haired', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Component': True, + 'Extended_Pictographic': True + }), + ('\U0001F9B2', { + 'desc': 'bald', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Component': True, + 'Extended_Pictographic': True + }), + ('\U0001F9B3', { + 'desc': 'white-haired', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Emoji_Component': True, + 'Extended_Pictographic': True + }), + ('\U0001F463', { + 'desc': 'footprints', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F440', { + 'desc': 'eyes', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F441\U0000FE0F', { + 'desc': 'eye', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True + }), + ('\U0001F441', { + 'desc': 'eye', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F441\U0000FE0F\U0000200D\U0001F5E8\U0000FE0F', { + 'desc': 'eye in speech bubble', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F441\U0000200D\U0001F5E8\U0000FE0F', { + 'desc': 'eye in speech bubble', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': False + }), + ('\U0001F441\U0000FE0F\U0000200D\U0001F5E8', { + 'desc': 'eye in speech bubble', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': False + }), + ('\U0001F441\U0000200D\U0001F5E8', { + 'desc': 'eye in speech bubble', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': False + }), + ('\U0001F9E0', { + 'desc': 'brain', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9B4', { + 'desc': 'bone', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9B7', { + 'desc': 'tooth', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F445', { + 'desc': 'tongue', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F444', { + 'desc': 'mouth', + 'group': 'Smileys & People', + 'subgroup': 'body', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F48B', { + 'desc': 'kiss mark', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F498', { + 'desc': 'heart with arrow', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002764\U0000FE0F', { + 'desc': 'red heart', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': True + }), + ('\U00002764', { + 'desc': 'red heart', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F493', { + 'desc': 'beating heart', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F494', { + 'desc': 'broken heart', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F495', { + 'desc': 'two hearts', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F496', { + 'desc': 'sparkling heart', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F497', { + 'desc': 'growing heart', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F499', { + 'desc': 'blue heart', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F49A', { + 'desc': 'green heart', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F49B', { + 'desc': 'yellow heart', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9E1', { + 'desc': 'orange heart', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F49C', { + 'desc': 'purple heart', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F5A4', { + 'desc': 'black heart', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F49D', { + 'desc': 'heart with ribbon', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F49E', { + 'desc': 'revolving hearts', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F49F', { + 'desc': 'heart decoration', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002763\U0000FE0F', { + 'desc': 'heavy heart exclamation', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': True + }), + ('\U00002763', { + 'desc': 'heavy heart exclamation', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F48C', { + 'desc': 'love letter', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4A4', { + 'desc': 'zzz', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4A2', { + 'desc': 'anger symbol', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4A3', { + 'desc': 'bomb', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4A5', { + 'desc': 'collision', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4A6', { + 'desc': 'sweat droplets', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4A8', { + 'desc': 'dashing away', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4AB', { + 'desc': 'dizzy', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4AC', { + 'desc': 'speech balloon', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F5E8\U0000FE0F', { + 'desc': 'left speech bubble', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': True + }), + ('\U0001F5E8', { + 'desc': 'left speech bubble', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F5EF\U0000FE0F', { + 'desc': 'right anger bubble', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': True + }), + ('\U0001F5EF', { + 'desc': 'right anger bubble', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F4AD', { + 'desc': 'thought balloon', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F573\U0000FE0F', { + 'desc': 'hole', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': True + }), + ('\U0001F573', { + 'desc': 'hole', + 'group': 'Smileys & People', + 'subgroup': 'emotion', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F453', { + 'desc': 'glasses', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F576\U0000FE0F', { + 'desc': 'sunglasses', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True + }), + ('\U0001F576', { + 'desc': 'sunglasses', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F97D', { + 'desc': 'goggles', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F97C', { + 'desc': 'lab coat', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F454', { + 'desc': 'necktie', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F455', { + 'desc': 't-shirt', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F456', { + 'desc': 'jeans', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9E3', { + 'desc': 'scarf', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9E4', { + 'desc': 'gloves', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9E5', { + 'desc': 'coat', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9E6', { + 'desc': 'socks', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F457', { + 'desc': 'dress', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F458', { + 'desc': 'kimono', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F459', { + 'desc': 'bikini', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F45A', { + 'desc': 'woman’s clothes', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F45B', { + 'desc': 'purse', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F45C', { + 'desc': 'handbag', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F45D', { + 'desc': 'clutch bag', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6CD\U0000FE0F', { + 'desc': 'shopping bags', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True + }), + ('\U0001F6CD', { + 'desc': 'shopping bags', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F392', { + 'desc': 'school backpack', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F45E', { + 'desc': 'man’s shoe', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F45F', { + 'desc': 'running shoe', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F97E', { + 'desc': 'hiking boot', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F97F', { + 'desc': 'woman’s flat shoe', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F460', { + 'desc': 'high-heeled shoe', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F461', { + 'desc': 'woman’s sandal', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F462', { + 'desc': 'woman’s boot', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F451', { + 'desc': 'crown', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F452', { + 'desc': 'woman’s hat', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3A9', { + 'desc': 'top hat', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F393', { + 'desc': 'graduation cap', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9E2', { + 'desc': 'billed cap', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U000026D1\U0000FE0F', { + 'desc': 'rescue worker’s helmet', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True + }), + ('\U000026D1', { + 'desc': 'rescue worker’s helmet', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F4FF', { + 'desc': 'prayer beads', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F484', { + 'desc': 'lipstick', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F48D', { + 'desc': 'ring', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F48E', { + 'desc': 'gem stone', + 'group': 'Smileys & People', + 'subgroup': 'clothing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F435', { + 'desc': 'monkey face', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F412', { + 'desc': 'monkey', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F98D', { + 'desc': 'gorilla', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F436', { + 'desc': 'dog face', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F415', { + 'desc': 'dog', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F429', { + 'desc': 'poodle', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F43A', { + 'desc': 'wolf face', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F98A', { + 'desc': 'fox face', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F99D', { + 'desc': 'raccoon', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F431', { + 'desc': 'cat face', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F408', { + 'desc': 'cat', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F981', { + 'desc': 'lion face', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F42F', { + 'desc': 'tiger face', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F405', { + 'desc': 'tiger', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F406', { + 'desc': 'leopard', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F434', { + 'desc': 'horse face', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F40E', { + 'desc': 'horse', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F984', { + 'desc': 'unicorn face', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F993', { + 'desc': 'zebra', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F98C', { + 'desc': 'deer', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F42E', { + 'desc': 'cow face', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F402', { + 'desc': 'ox', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F403', { + 'desc': 'water buffalo', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F404', { + 'desc': 'cow', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F437', { + 'desc': 'pig face', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F416', { + 'desc': 'pig', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F417', { + 'desc': 'boar', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F43D', { + 'desc': 'pig nose', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F40F', { + 'desc': 'ram', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F411', { + 'desc': 'ewe', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F410', { + 'desc': 'goat', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F42A', { + 'desc': 'camel', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F42B', { + 'desc': 'two-hump camel', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F999', { + 'desc': 'llama', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F992', { + 'desc': 'giraffe', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F418', { + 'desc': 'elephant', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F98F', { + 'desc': 'rhinoceros', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F99B', { + 'desc': 'hippopotamus', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F42D', { + 'desc': 'mouse face', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F401', { + 'desc': 'mouse', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F400', { + 'desc': 'rat', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F439', { + 'desc': 'hamster face', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F430', { + 'desc': 'rabbit face', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F407', { + 'desc': 'rabbit', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F43F\U0000FE0F', { + 'desc': 'chipmunk', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True + }), + ('\U0001F43F', { + 'desc': 'chipmunk', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F994', { + 'desc': 'hedgehog', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F987', { + 'desc': 'bat', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F43B', { + 'desc': 'bear face', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F428', { + 'desc': 'koala', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F43C', { + 'desc': 'panda face', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F998', { + 'desc': 'kangaroo', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9A1', { + 'desc': 'badger', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F43E', { + 'desc': 'paw prints', + 'group': 'Animals & Nature', + 'subgroup': 'animal-mammal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F983', { + 'desc': 'turkey', + 'group': 'Animals & Nature', + 'subgroup': 'animal-bird', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F414', { + 'desc': 'chicken', + 'group': 'Animals & Nature', + 'subgroup': 'animal-bird', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F413', { + 'desc': 'rooster', + 'group': 'Animals & Nature', + 'subgroup': 'animal-bird', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F423', { + 'desc': 'hatching chick', + 'group': 'Animals & Nature', + 'subgroup': 'animal-bird', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F424', { + 'desc': 'baby chick', + 'group': 'Animals & Nature', + 'subgroup': 'animal-bird', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F425', { + 'desc': 'front-facing baby chick', + 'group': 'Animals & Nature', + 'subgroup': 'animal-bird', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F426', { + 'desc': 'bird', + 'group': 'Animals & Nature', + 'subgroup': 'animal-bird', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F427', { + 'desc': 'penguin', + 'group': 'Animals & Nature', + 'subgroup': 'animal-bird', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F54A\U0000FE0F', { + 'desc': 'dove', + 'group': 'Animals & Nature', + 'subgroup': 'animal-bird', + 'fully-qualified': True + }), + ('\U0001F54A', { + 'desc': 'dove', + 'group': 'Animals & Nature', + 'subgroup': 'animal-bird', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F985', { + 'desc': 'eagle', + 'group': 'Animals & Nature', + 'subgroup': 'animal-bird', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F986', { + 'desc': 'duck', + 'group': 'Animals & Nature', + 'subgroup': 'animal-bird', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9A2', { + 'desc': 'swan', + 'group': 'Animals & Nature', + 'subgroup': 'animal-bird', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F989', { + 'desc': 'owl', + 'group': 'Animals & Nature', + 'subgroup': 'animal-bird', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F99A', { + 'desc': 'peacock', + 'group': 'Animals & Nature', + 'subgroup': 'animal-bird', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F99C', { + 'desc': 'parrot', + 'group': 'Animals & Nature', + 'subgroup': 'animal-bird', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F438', { + 'desc': 'frog face', + 'group': 'Animals & Nature', + 'subgroup': 'animal-amphibian', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F40A', { + 'desc': 'crocodile', + 'group': 'Animals & Nature', + 'subgroup': 'animal-reptile', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F422', { + 'desc': 'turtle', + 'group': 'Animals & Nature', + 'subgroup': 'animal-reptile', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F98E', { + 'desc': 'lizard', + 'group': 'Animals & Nature', + 'subgroup': 'animal-reptile', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F40D', { + 'desc': 'snake', + 'group': 'Animals & Nature', + 'subgroup': 'animal-reptile', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F432', { + 'desc': 'dragon face', + 'group': 'Animals & Nature', + 'subgroup': 'animal-reptile', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F409', { + 'desc': 'dragon', + 'group': 'Animals & Nature', + 'subgroup': 'animal-reptile', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F995', { + 'desc': 'sauropod', + 'group': 'Animals & Nature', + 'subgroup': 'animal-reptile', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F996', { + 'desc': 'T-Rex', + 'group': 'Animals & Nature', + 'subgroup': 'animal-reptile', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F433', { + 'desc': 'spouting whale', + 'group': 'Animals & Nature', + 'subgroup': 'animal-marine', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F40B', { + 'desc': 'whale', + 'group': 'Animals & Nature', + 'subgroup': 'animal-marine', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F42C', { + 'desc': 'dolphin', + 'group': 'Animals & Nature', + 'subgroup': 'animal-marine', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F41F', { + 'desc': 'fish', + 'group': 'Animals & Nature', + 'subgroup': 'animal-marine', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F420', { + 'desc': 'tropical fish', + 'group': 'Animals & Nature', + 'subgroup': 'animal-marine', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F421', { + 'desc': 'blowfish', + 'group': 'Animals & Nature', + 'subgroup': 'animal-marine', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F988', { + 'desc': 'shark', + 'group': 'Animals & Nature', + 'subgroup': 'animal-marine', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F419', { + 'desc': 'octopus', + 'group': 'Animals & Nature', + 'subgroup': 'animal-marine', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F41A', { + 'desc': 'spiral shell', + 'group': 'Animals & Nature', + 'subgroup': 'animal-marine', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F980', { + 'desc': 'crab', + 'group': 'Animals & Nature', + 'subgroup': 'animal-marine', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F99E', { + 'desc': 'lobster', + 'group': 'Animals & Nature', + 'subgroup': 'animal-marine', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F990', { + 'desc': 'shrimp', + 'group': 'Animals & Nature', + 'subgroup': 'animal-marine', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F991', { + 'desc': 'squid', + 'group': 'Animals & Nature', + 'subgroup': 'animal-marine', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F40C', { + 'desc': 'snail', + 'group': 'Animals & Nature', + 'subgroup': 'animal-bug', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F98B', { + 'desc': 'butterfly', + 'group': 'Animals & Nature', + 'subgroup': 'animal-bug', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F41B', { + 'desc': 'bug', + 'group': 'Animals & Nature', + 'subgroup': 'animal-bug', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F41C', { + 'desc': 'ant', + 'group': 'Animals & Nature', + 'subgroup': 'animal-bug', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F41D', { + 'desc': 'honeybee', + 'group': 'Animals & Nature', + 'subgroup': 'animal-bug', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F41E', { + 'desc': 'lady beetle', + 'group': 'Animals & Nature', + 'subgroup': 'animal-bug', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F997', { + 'desc': 'cricket', + 'group': 'Animals & Nature', + 'subgroup': 'animal-bug', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F577\U0000FE0F', { + 'desc': 'spider', + 'group': 'Animals & Nature', + 'subgroup': 'animal-bug', + 'fully-qualified': True + }), + ('\U0001F577', { + 'desc': 'spider', + 'group': 'Animals & Nature', + 'subgroup': 'animal-bug', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F578\U0000FE0F', { + 'desc': 'spider web', + 'group': 'Animals & Nature', + 'subgroup': 'animal-bug', + 'fully-qualified': True + }), + ('\U0001F578', { + 'desc': 'spider web', + 'group': 'Animals & Nature', + 'subgroup': 'animal-bug', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F982', { + 'desc': 'scorpion', + 'group': 'Animals & Nature', + 'subgroup': 'animal-bug', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F99F', { + 'desc': 'mosquito', + 'group': 'Animals & Nature', + 'subgroup': 'animal-bug', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9A0', { + 'desc': 'microbe', + 'group': 'Animals & Nature', + 'subgroup': 'animal-bug', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F490', { + 'desc': 'bouquet', + 'group': 'Animals & Nature', + 'subgroup': 'plant-flower', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F338', { + 'desc': 'cherry blossom', + 'group': 'Animals & Nature', + 'subgroup': 'plant-flower', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4AE', { + 'desc': 'white flower', + 'group': 'Animals & Nature', + 'subgroup': 'plant-flower', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3F5\U0000FE0F', { + 'desc': 'rosette', + 'group': 'Animals & Nature', + 'subgroup': 'plant-flower', + 'fully-qualified': True + }), + ('\U0001F3F5', { + 'desc': 'rosette', + 'group': 'Animals & Nature', + 'subgroup': 'plant-flower', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F339', { + 'desc': 'rose', + 'group': 'Animals & Nature', + 'subgroup': 'plant-flower', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F940', { + 'desc': 'wilted flower', + 'group': 'Animals & Nature', + 'subgroup': 'plant-flower', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F33A', { + 'desc': 'hibiscus', + 'group': 'Animals & Nature', + 'subgroup': 'plant-flower', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F33B', { + 'desc': 'sunflower', + 'group': 'Animals & Nature', + 'subgroup': 'plant-flower', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F33C', { + 'desc': 'blossom', + 'group': 'Animals & Nature', + 'subgroup': 'plant-flower', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F337', { + 'desc': 'tulip', + 'group': 'Animals & Nature', + 'subgroup': 'plant-flower', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F331', { + 'desc': 'seedling', + 'group': 'Animals & Nature', + 'subgroup': 'plant-other', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F332', { + 'desc': 'evergreen tree', + 'group': 'Animals & Nature', + 'subgroup': 'plant-other', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F333', { + 'desc': 'deciduous tree', + 'group': 'Animals & Nature', + 'subgroup': 'plant-other', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F334', { + 'desc': 'palm tree', + 'group': 'Animals & Nature', + 'subgroup': 'plant-other', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F335', { + 'desc': 'cactus', + 'group': 'Animals & Nature', + 'subgroup': 'plant-other', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F33E', { + 'desc': 'sheaf of rice', + 'group': 'Animals & Nature', + 'subgroup': 'plant-other', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F33F', { + 'desc': 'herb', + 'group': 'Animals & Nature', + 'subgroup': 'plant-other', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002618\U0000FE0F', { + 'desc': 'shamrock', + 'group': 'Animals & Nature', + 'subgroup': 'plant-other', + 'fully-qualified': True + }), + ('\U00002618', { + 'desc': 'shamrock', + 'group': 'Animals & Nature', + 'subgroup': 'plant-other', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F340', { + 'desc': 'four leaf clover', + 'group': 'Animals & Nature', + 'subgroup': 'plant-other', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F341', { + 'desc': 'maple leaf', + 'group': 'Animals & Nature', + 'subgroup': 'plant-other', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F342', { + 'desc': 'fallen leaf', + 'group': 'Animals & Nature', + 'subgroup': 'plant-other', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F343', { + 'desc': 'leaf fluttering in wind', + 'group': 'Animals & Nature', + 'subgroup': 'plant-other', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F347', { + 'desc': 'grapes', + 'group': 'Food & Drink', + 'subgroup': 'food-fruit', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F348', { + 'desc': 'melon', + 'group': 'Food & Drink', + 'subgroup': 'food-fruit', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F349', { + 'desc': 'watermelon', + 'group': 'Food & Drink', + 'subgroup': 'food-fruit', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F34A', { + 'desc': 'tangerine', + 'group': 'Food & Drink', + 'subgroup': 'food-fruit', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F34B', { + 'desc': 'lemon', + 'group': 'Food & Drink', + 'subgroup': 'food-fruit', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F34C', { + 'desc': 'banana', + 'group': 'Food & Drink', + 'subgroup': 'food-fruit', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F34D', { + 'desc': 'pineapple', + 'group': 'Food & Drink', + 'subgroup': 'food-fruit', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F96D', { + 'desc': 'mango', + 'group': 'Food & Drink', + 'subgroup': 'food-fruit', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F34E', { + 'desc': 'red apple', + 'group': 'Food & Drink', + 'subgroup': 'food-fruit', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F34F', { + 'desc': 'green apple', + 'group': 'Food & Drink', + 'subgroup': 'food-fruit', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F350', { + 'desc': 'pear', + 'group': 'Food & Drink', + 'subgroup': 'food-fruit', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F351', { + 'desc': 'peach', + 'group': 'Food & Drink', + 'subgroup': 'food-fruit', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F352', { + 'desc': 'cherries', + 'group': 'Food & Drink', + 'subgroup': 'food-fruit', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F353', { + 'desc': 'strawberry', + 'group': 'Food & Drink', + 'subgroup': 'food-fruit', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F95D', { + 'desc': 'kiwi fruit', + 'group': 'Food & Drink', + 'subgroup': 'food-fruit', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F345', { + 'desc': 'tomato', + 'group': 'Food & Drink', + 'subgroup': 'food-fruit', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F965', { + 'desc': 'coconut', + 'group': 'Food & Drink', + 'subgroup': 'food-fruit', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F951', { + 'desc': 'avocado', + 'group': 'Food & Drink', + 'subgroup': 'food-vegetable', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F346', { + 'desc': 'eggplant', + 'group': 'Food & Drink', + 'subgroup': 'food-vegetable', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F954', { + 'desc': 'potato', + 'group': 'Food & Drink', + 'subgroup': 'food-vegetable', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F955', { + 'desc': 'carrot', + 'group': 'Food & Drink', + 'subgroup': 'food-vegetable', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F33D', { + 'desc': 'ear of corn', + 'group': 'Food & Drink', + 'subgroup': 'food-vegetable', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F336\U0000FE0F', { + 'desc': 'hot pepper', + 'group': 'Food & Drink', + 'subgroup': 'food-vegetable', + 'fully-qualified': True + }), + ('\U0001F336', { + 'desc': 'hot pepper', + 'group': 'Food & Drink', + 'subgroup': 'food-vegetable', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F952', { + 'desc': 'cucumber', + 'group': 'Food & Drink', + 'subgroup': 'food-vegetable', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F96C', { + 'desc': 'leafy green', + 'group': 'Food & Drink', + 'subgroup': 'food-vegetable', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F966', { + 'desc': 'broccoli', + 'group': 'Food & Drink', + 'subgroup': 'food-vegetable', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F344', { + 'desc': 'mushroom', + 'group': 'Food & Drink', + 'subgroup': 'food-vegetable', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F95C', { + 'desc': 'peanuts', + 'group': 'Food & Drink', + 'subgroup': 'food-vegetable', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F330', { + 'desc': 'chestnut', + 'group': 'Food & Drink', + 'subgroup': 'food-vegetable', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F35E', { + 'desc': 'bread', + 'group': 'Food & Drink', + 'subgroup': 'food-prepared', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F950', { + 'desc': 'croissant', + 'group': 'Food & Drink', + 'subgroup': 'food-prepared', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F956', { + 'desc': 'baguette bread', + 'group': 'Food & Drink', + 'subgroup': 'food-prepared', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F968', { + 'desc': 'pretzel', + 'group': 'Food & Drink', + 'subgroup': 'food-prepared', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F96F', { + 'desc': 'bagel', + 'group': 'Food & Drink', + 'subgroup': 'food-prepared', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F95E', { + 'desc': 'pancakes', + 'group': 'Food & Drink', + 'subgroup': 'food-prepared', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9C0', { + 'desc': 'cheese wedge', + 'group': 'Food & Drink', + 'subgroup': 'food-prepared', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F356', { + 'desc': 'meat on bone', + 'group': 'Food & Drink', + 'subgroup': 'food-prepared', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F357', { + 'desc': 'poultry leg', + 'group': 'Food & Drink', + 'subgroup': 'food-prepared', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F969', { + 'desc': 'cut of meat', + 'group': 'Food & Drink', + 'subgroup': 'food-prepared', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F953', { + 'desc': 'bacon', + 'group': 'Food & Drink', + 'subgroup': 'food-prepared', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F354', { + 'desc': 'hamburger', + 'group': 'Food & Drink', + 'subgroup': 'food-prepared', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F35F', { + 'desc': 'french fries', + 'group': 'Food & Drink', + 'subgroup': 'food-prepared', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F355', { + 'desc': 'pizza', + 'group': 'Food & Drink', + 'subgroup': 'food-prepared', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F32D', { + 'desc': 'hot dog', + 'group': 'Food & Drink', + 'subgroup': 'food-prepared', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F96A', { + 'desc': 'sandwich', + 'group': 'Food & Drink', + 'subgroup': 'food-prepared', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F32E', { + 'desc': 'taco', + 'group': 'Food & Drink', + 'subgroup': 'food-prepared', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F32F', { + 'desc': 'burrito', + 'group': 'Food & Drink', + 'subgroup': 'food-prepared', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F959', { + 'desc': 'stuffed flatbread', + 'group': 'Food & Drink', + 'subgroup': 'food-prepared', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F95A', { + 'desc': 'egg', + 'group': 'Food & Drink', + 'subgroup': 'food-prepared', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F373', { + 'desc': 'cooking', + 'group': 'Food & Drink', + 'subgroup': 'food-prepared', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F958', { + 'desc': 'shallow pan of food', + 'group': 'Food & Drink', + 'subgroup': 'food-prepared', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F372', { + 'desc': 'pot of food', + 'group': 'Food & Drink', + 'subgroup': 'food-prepared', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F963', { + 'desc': 'bowl with spoon', + 'group': 'Food & Drink', + 'subgroup': 'food-prepared', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F957', { + 'desc': 'green salad', + 'group': 'Food & Drink', + 'subgroup': 'food-prepared', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F37F', { + 'desc': 'popcorn', + 'group': 'Food & Drink', + 'subgroup': 'food-prepared', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9C2', { + 'desc': 'salt', + 'group': 'Food & Drink', + 'subgroup': 'food-prepared', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F96B', { + 'desc': 'canned food', + 'group': 'Food & Drink', + 'subgroup': 'food-prepared', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F371', { + 'desc': 'bento box', + 'group': 'Food & Drink', + 'subgroup': 'food-asian', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F358', { + 'desc': 'rice cracker', + 'group': 'Food & Drink', + 'subgroup': 'food-asian', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F359', { + 'desc': 'rice ball', + 'group': 'Food & Drink', + 'subgroup': 'food-asian', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F35A', { + 'desc': 'cooked rice', + 'group': 'Food & Drink', + 'subgroup': 'food-asian', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F35B', { + 'desc': 'curry rice', + 'group': 'Food & Drink', + 'subgroup': 'food-asian', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F35C', { + 'desc': 'steaming bowl', + 'group': 'Food & Drink', + 'subgroup': 'food-asian', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F35D', { + 'desc': 'spaghetti', + 'group': 'Food & Drink', + 'subgroup': 'food-asian', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F360', { + 'desc': 'roasted sweet potato', + 'group': 'Food & Drink', + 'subgroup': 'food-asian', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F362', { + 'desc': 'oden', + 'group': 'Food & Drink', + 'subgroup': 'food-asian', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F363', { + 'desc': 'sushi', + 'group': 'Food & Drink', + 'subgroup': 'food-asian', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F364', { + 'desc': 'fried shrimp', + 'group': 'Food & Drink', + 'subgroup': 'food-asian', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F365', { + 'desc': 'fish cake with swirl', + 'group': 'Food & Drink', + 'subgroup': 'food-asian', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F96E', { + 'desc': 'moon cake', + 'group': 'Food & Drink', + 'subgroup': 'food-asian', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F361', { + 'desc': 'dango', + 'group': 'Food & Drink', + 'subgroup': 'food-asian', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F95F', { + 'desc': 'dumpling', + 'group': 'Food & Drink', + 'subgroup': 'food-asian', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F960', { + 'desc': 'fortune cookie', + 'group': 'Food & Drink', + 'subgroup': 'food-asian', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F961', { + 'desc': 'takeout box', + 'group': 'Food & Drink', + 'subgroup': 'food-asian', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F366', { + 'desc': 'soft ice cream', + 'group': 'Food & Drink', + 'subgroup': 'food-sweet', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F367', { + 'desc': 'shaved ice', + 'group': 'Food & Drink', + 'subgroup': 'food-sweet', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F368', { + 'desc': 'ice cream', + 'group': 'Food & Drink', + 'subgroup': 'food-sweet', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F369', { + 'desc': 'doughnut', + 'group': 'Food & Drink', + 'subgroup': 'food-sweet', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F36A', { + 'desc': 'cookie', + 'group': 'Food & Drink', + 'subgroup': 'food-sweet', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F382', { + 'desc': 'birthday cake', + 'group': 'Food & Drink', + 'subgroup': 'food-sweet', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F370', { + 'desc': 'shortcake', + 'group': 'Food & Drink', + 'subgroup': 'food-sweet', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9C1', { + 'desc': 'cupcake', + 'group': 'Food & Drink', + 'subgroup': 'food-sweet', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F967', { + 'desc': 'pie', + 'group': 'Food & Drink', + 'subgroup': 'food-sweet', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F36B', { + 'desc': 'chocolate bar', + 'group': 'Food & Drink', + 'subgroup': 'food-sweet', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F36C', { + 'desc': 'candy', + 'group': 'Food & Drink', + 'subgroup': 'food-sweet', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F36D', { + 'desc': 'lollipop', + 'group': 'Food & Drink', + 'subgroup': 'food-sweet', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F36E', { + 'desc': 'custard', + 'group': 'Food & Drink', + 'subgroup': 'food-sweet', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F36F', { + 'desc': 'honey pot', + 'group': 'Food & Drink', + 'subgroup': 'food-sweet', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F37C', { + 'desc': 'baby bottle', + 'group': 'Food & Drink', + 'subgroup': 'drink', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F95B', { + 'desc': 'glass of milk', + 'group': 'Food & Drink', + 'subgroup': 'drink', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002615', { + 'desc': 'hot beverage', + 'group': 'Food & Drink', + 'subgroup': 'drink', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F375', { + 'desc': 'teacup without handle', + 'group': 'Food & Drink', + 'subgroup': 'drink', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F376', { + 'desc': 'sake', + 'group': 'Food & Drink', + 'subgroup': 'drink', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F37E', { + 'desc': 'bottle with popping cork', + 'group': 'Food & Drink', + 'subgroup': 'drink', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F377', { + 'desc': 'wine glass', + 'group': 'Food & Drink', + 'subgroup': 'drink', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F378', { + 'desc': 'cocktail glass', + 'group': 'Food & Drink', + 'subgroup': 'drink', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F379', { + 'desc': 'tropical drink', + 'group': 'Food & Drink', + 'subgroup': 'drink', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F37A', { + 'desc': 'beer mug', + 'group': 'Food & Drink', + 'subgroup': 'drink', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F37B', { + 'desc': 'clinking beer mugs', + 'group': 'Food & Drink', + 'subgroup': 'drink', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F942', { + 'desc': 'clinking glasses', + 'group': 'Food & Drink', + 'subgroup': 'drink', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F943', { + 'desc': 'tumbler glass', + 'group': 'Food & Drink', + 'subgroup': 'drink', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F964', { + 'desc': 'cup with straw', + 'group': 'Food & Drink', + 'subgroup': 'drink', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F962', { + 'desc': 'chopsticks', + 'group': 'Food & Drink', + 'subgroup': 'dishware', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F37D\U0000FE0F', { + 'desc': 'fork and knife with plate', + 'group': 'Food & Drink', + 'subgroup': 'dishware', + 'fully-qualified': True + }), + ('\U0001F37D', { + 'desc': 'fork and knife with plate', + 'group': 'Food & Drink', + 'subgroup': 'dishware', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F374', { + 'desc': 'fork and knife', + 'group': 'Food & Drink', + 'subgroup': 'dishware', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F944', { + 'desc': 'spoon', + 'group': 'Food & Drink', + 'subgroup': 'dishware', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F52A', { + 'desc': 'kitchen knife', + 'group': 'Food & Drink', + 'subgroup': 'dishware', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3FA', { + 'desc': 'amphora', + 'group': 'Food & Drink', + 'subgroup': 'dishware', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F30D', { + 'desc': 'globe showing Europe-Africa', + 'group': 'Travel & Places', + 'subgroup': 'place-map', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F30E', { + 'desc': 'globe showing Americas', + 'group': 'Travel & Places', + 'subgroup': 'place-map', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F30F', { + 'desc': 'globe showing Asia-Australia', + 'group': 'Travel & Places', + 'subgroup': 'place-map', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F310', { + 'desc': 'globe with meridians', + 'group': 'Travel & Places', + 'subgroup': 'place-map', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F5FA\U0000FE0F', { + 'desc': 'world map', + 'group': 'Travel & Places', + 'subgroup': 'place-map', + 'fully-qualified': True + }), + ('\U0001F5FA', { + 'desc': 'world map', + 'group': 'Travel & Places', + 'subgroup': 'place-map', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F5FE', { + 'desc': 'map of Japan', + 'group': 'Travel & Places', + 'subgroup': 'place-map', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9ED', { + 'desc': 'compass', + 'group': 'Travel & Places', + 'subgroup': 'place-map', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3D4\U0000FE0F', { + 'desc': 'snow-capped mountain', + 'group': 'Travel & Places', + 'subgroup': 'place-geographic', + 'fully-qualified': True + }), + ('\U0001F3D4', { + 'desc': 'snow-capped mountain', + 'group': 'Travel & Places', + 'subgroup': 'place-geographic', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U000026F0\U0000FE0F', { + 'desc': 'mountain', + 'group': 'Travel & Places', + 'subgroup': 'place-geographic', + 'fully-qualified': True + }), + ('\U000026F0', { + 'desc': 'mountain', + 'group': 'Travel & Places', + 'subgroup': 'place-geographic', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F30B', { + 'desc': 'volcano', + 'group': 'Travel & Places', + 'subgroup': 'place-geographic', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F5FB', { + 'desc': 'mount fuji', + 'group': 'Travel & Places', + 'subgroup': 'place-geographic', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3D5\U0000FE0F', { + 'desc': 'camping', + 'group': 'Travel & Places', + 'subgroup': 'place-geographic', + 'fully-qualified': True + }), + ('\U0001F3D5', { + 'desc': 'camping', + 'group': 'Travel & Places', + 'subgroup': 'place-geographic', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F3D6\U0000FE0F', { + 'desc': 'beach with umbrella', + 'group': 'Travel & Places', + 'subgroup': 'place-geographic', + 'fully-qualified': True + }), + ('\U0001F3D6', { + 'desc': 'beach with umbrella', + 'group': 'Travel & Places', + 'subgroup': 'place-geographic', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F3DC\U0000FE0F', { + 'desc': 'desert', + 'group': 'Travel & Places', + 'subgroup': 'place-geographic', + 'fully-qualified': True + }), + ('\U0001F3DC', { + 'desc': 'desert', + 'group': 'Travel & Places', + 'subgroup': 'place-geographic', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F3DD\U0000FE0F', { + 'desc': 'desert island', + 'group': 'Travel & Places', + 'subgroup': 'place-geographic', + 'fully-qualified': True + }), + ('\U0001F3DD', { + 'desc': 'desert island', + 'group': 'Travel & Places', + 'subgroup': 'place-geographic', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F3DE\U0000FE0F', { + 'desc': 'national park', + 'group': 'Travel & Places', + 'subgroup': 'place-geographic', + 'fully-qualified': True + }), + ('\U0001F3DE', { + 'desc': 'national park', + 'group': 'Travel & Places', + 'subgroup': 'place-geographic', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F3DF\U0000FE0F', { + 'desc': 'stadium', + 'group': 'Travel & Places', + 'subgroup': 'place-building', + 'fully-qualified': True + }), + ('\U0001F3DF', { + 'desc': 'stadium', + 'group': 'Travel & Places', + 'subgroup': 'place-building', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F3DB\U0000FE0F', { + 'desc': 'classical building', + 'group': 'Travel & Places', + 'subgroup': 'place-building', + 'fully-qualified': True + }), + ('\U0001F3DB', { + 'desc': 'classical building', + 'group': 'Travel & Places', + 'subgroup': 'place-building', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F3D7\U0000FE0F', { + 'desc': 'building construction', + 'group': 'Travel & Places', + 'subgroup': 'place-building', + 'fully-qualified': True + }), + ('\U0001F3D7', { + 'desc': 'building construction', + 'group': 'Travel & Places', + 'subgroup': 'place-building', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F9F1', { + 'desc': 'bricks', + 'group': 'Travel & Places', + 'subgroup': 'place-building', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3D8\U0000FE0F', { + 'desc': 'houses', + 'group': 'Travel & Places', + 'subgroup': 'place-building', + 'fully-qualified': True + }), + ('\U0001F3D8', { + 'desc': 'houses', + 'group': 'Travel & Places', + 'subgroup': 'place-building', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F3DA\U0000FE0F', { + 'desc': 'derelict house', + 'group': 'Travel & Places', + 'subgroup': 'place-building', + 'fully-qualified': True + }), + ('\U0001F3DA', { + 'desc': 'derelict house', + 'group': 'Travel & Places', + 'subgroup': 'place-building', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F3E0', { + 'desc': 'house', + 'group': 'Travel & Places', + 'subgroup': 'place-building', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3E1', { + 'desc': 'house with garden', + 'group': 'Travel & Places', + 'subgroup': 'place-building', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3E2', { + 'desc': 'office building', + 'group': 'Travel & Places', + 'subgroup': 'place-building', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3E3', { + 'desc': 'Japanese post office', + 'group': 'Travel & Places', + 'subgroup': 'place-building', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3E4', { + 'desc': 'post office', + 'group': 'Travel & Places', + 'subgroup': 'place-building', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3E5', { + 'desc': 'hospital', + 'group': 'Travel & Places', + 'subgroup': 'place-building', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3E6', { + 'desc': 'bank', + 'group': 'Travel & Places', + 'subgroup': 'place-building', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3E8', { + 'desc': 'hotel', + 'group': 'Travel & Places', + 'subgroup': 'place-building', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3E9', { + 'desc': 'love hotel', + 'group': 'Travel & Places', + 'subgroup': 'place-building', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3EA', { + 'desc': 'convenience store', + 'group': 'Travel & Places', + 'subgroup': 'place-building', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3EB', { + 'desc': 'school', + 'group': 'Travel & Places', + 'subgroup': 'place-building', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3EC', { + 'desc': 'department store', + 'group': 'Travel & Places', + 'subgroup': 'place-building', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3ED', { + 'desc': 'factory', + 'group': 'Travel & Places', + 'subgroup': 'place-building', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3EF', { + 'desc': 'Japanese castle', + 'group': 'Travel & Places', + 'subgroup': 'place-building', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3F0', { + 'desc': 'castle', + 'group': 'Travel & Places', + 'subgroup': 'place-building', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F492', { + 'desc': 'wedding', + 'group': 'Travel & Places', + 'subgroup': 'place-building', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F5FC', { + 'desc': 'Tokyo tower', + 'group': 'Travel & Places', + 'subgroup': 'place-building', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F5FD', { + 'desc': 'Statue of Liberty', + 'group': 'Travel & Places', + 'subgroup': 'place-building', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U000026EA', { + 'desc': 'church', + 'group': 'Travel & Places', + 'subgroup': 'place-religious', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F54C', { + 'desc': 'mosque', + 'group': 'Travel & Places', + 'subgroup': 'place-religious', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F54D', { + 'desc': 'synagogue', + 'group': 'Travel & Places', + 'subgroup': 'place-religious', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U000026E9\U0000FE0F', { + 'desc': 'shinto shrine', + 'group': 'Travel & Places', + 'subgroup': 'place-religious', + 'fully-qualified': True + }), + ('\U000026E9', { + 'desc': 'shinto shrine', + 'group': 'Travel & Places', + 'subgroup': 'place-religious', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F54B', { + 'desc': 'kaaba', + 'group': 'Travel & Places', + 'subgroup': 'place-religious', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U000026F2', { + 'desc': 'fountain', + 'group': 'Travel & Places', + 'subgroup': 'place-other', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U000026FA', { + 'desc': 'tent', + 'group': 'Travel & Places', + 'subgroup': 'place-other', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F301', { + 'desc': 'foggy', + 'group': 'Travel & Places', + 'subgroup': 'place-other', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F303', { + 'desc': 'night with stars', + 'group': 'Travel & Places', + 'subgroup': 'place-other', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3D9\U0000FE0F', { + 'desc': 'cityscape', + 'group': 'Travel & Places', + 'subgroup': 'place-other', + 'fully-qualified': True + }), + ('\U0001F3D9', { + 'desc': 'cityscape', + 'group': 'Travel & Places', + 'subgroup': 'place-other', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F304', { + 'desc': 'sunrise over mountains', + 'group': 'Travel & Places', + 'subgroup': 'place-other', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F305', { + 'desc': 'sunrise', + 'group': 'Travel & Places', + 'subgroup': 'place-other', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F306', { + 'desc': 'cityscape at dusk', + 'group': 'Travel & Places', + 'subgroup': 'place-other', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F307', { + 'desc': 'sunset', + 'group': 'Travel & Places', + 'subgroup': 'place-other', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F309', { + 'desc': 'bridge at night', + 'group': 'Travel & Places', + 'subgroup': 'place-other', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002668\U0000FE0F', { + 'desc': 'hot springs', + 'group': 'Travel & Places', + 'subgroup': 'place-other', + 'fully-qualified': True + }), + ('\U00002668', { + 'desc': 'hot springs', + 'group': 'Travel & Places', + 'subgroup': 'place-other', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F30C', { + 'desc': 'milky way', + 'group': 'Travel & Places', + 'subgroup': 'place-other', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3A0', { + 'desc': 'carousel horse', + 'group': 'Travel & Places', + 'subgroup': 'place-other', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3A1', { + 'desc': 'ferris wheel', + 'group': 'Travel & Places', + 'subgroup': 'place-other', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3A2', { + 'desc': 'roller coaster', + 'group': 'Travel & Places', + 'subgroup': 'place-other', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F488', { + 'desc': 'barber pole', + 'group': 'Travel & Places', + 'subgroup': 'place-other', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3AA', { + 'desc': 'circus tent', + 'group': 'Travel & Places', + 'subgroup': 'place-other', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F682', { + 'desc': 'locomotive', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F683', { + 'desc': 'railway car', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F684', { + 'desc': 'high-speed train', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F685', { + 'desc': 'bullet train', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F686', { + 'desc': 'train', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F687', { + 'desc': 'metro', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F688', { + 'desc': 'light rail', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F689', { + 'desc': 'station', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F68A', { + 'desc': 'tram', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F69D', { + 'desc': 'monorail', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F69E', { + 'desc': 'mountain railway', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F68B', { + 'desc': 'tram car', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F68C', { + 'desc': 'bus', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F68D', { + 'desc': 'oncoming bus', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F68E', { + 'desc': 'trolleybus', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F690', { + 'desc': 'minibus', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F691', { + 'desc': 'ambulance', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F692', { + 'desc': 'fire engine', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F693', { + 'desc': 'police car', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F694', { + 'desc': 'oncoming police car', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F695', { + 'desc': 'taxi', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F696', { + 'desc': 'oncoming taxi', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F697', { + 'desc': 'automobile', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F698', { + 'desc': 'oncoming automobile', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F699', { + 'desc': 'sport utility vehicle', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F69A', { + 'desc': 'delivery truck', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F69B', { + 'desc': 'articulated lorry', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F69C', { + 'desc': 'tractor', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6B2', { + 'desc': 'bicycle', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6F4', { + 'desc': 'kick scooter', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6F9', { + 'desc': 'skateboard', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6F5', { + 'desc': 'motor scooter', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F68F', { + 'desc': 'bus stop', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6E3\U0000FE0F', { + 'desc': 'motorway', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True + }), + ('\U0001F6E3', { + 'desc': 'motorway', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F6E4\U0000FE0F', { + 'desc': 'railway track', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True + }), + ('\U0001F6E4', { + 'desc': 'railway track', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F6E2\U0000FE0F', { + 'desc': 'oil drum', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True + }), + ('\U0001F6E2', { + 'desc': 'oil drum', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U000026FD', { + 'desc': 'fuel pump', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6A8', { + 'desc': 'police car light', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6A5', { + 'desc': 'horizontal traffic light', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6A6', { + 'desc': 'vertical traffic light', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6D1', { + 'desc': 'stop sign', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6A7', { + 'desc': 'construction', + 'group': 'Travel & Places', + 'subgroup': 'transport-ground', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002693', { + 'desc': 'anchor', + 'group': 'Travel & Places', + 'subgroup': 'transport-water', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U000026F5', { + 'desc': 'sailboat', + 'group': 'Travel & Places', + 'subgroup': 'transport-water', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6F6', { + 'desc': 'canoe', + 'group': 'Travel & Places', + 'subgroup': 'transport-water', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6A4', { + 'desc': 'speedboat', + 'group': 'Travel & Places', + 'subgroup': 'transport-water', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6F3\U0000FE0F', { + 'desc': 'passenger ship', + 'group': 'Travel & Places', + 'subgroup': 'transport-water', + 'fully-qualified': True + }), + ('\U0001F6F3', { + 'desc': 'passenger ship', + 'group': 'Travel & Places', + 'subgroup': 'transport-water', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U000026F4\U0000FE0F', { + 'desc': 'ferry', + 'group': 'Travel & Places', + 'subgroup': 'transport-water', + 'fully-qualified': True + }), + ('\U000026F4', { + 'desc': 'ferry', + 'group': 'Travel & Places', + 'subgroup': 'transport-water', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F6E5\U0000FE0F', { + 'desc': 'motor boat', + 'group': 'Travel & Places', + 'subgroup': 'transport-water', + 'fully-qualified': True + }), + ('\U0001F6E5', { + 'desc': 'motor boat', + 'group': 'Travel & Places', + 'subgroup': 'transport-water', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F6A2', { + 'desc': 'ship', + 'group': 'Travel & Places', + 'subgroup': 'transport-water', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002708\U0000FE0F', { + 'desc': 'airplane', + 'group': 'Travel & Places', + 'subgroup': 'transport-air', + 'fully-qualified': True + }), + ('\U00002708', { + 'desc': 'airplane', + 'group': 'Travel & Places', + 'subgroup': 'transport-air', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F6E9\U0000FE0F', { + 'desc': 'small airplane', + 'group': 'Travel & Places', + 'subgroup': 'transport-air', + 'fully-qualified': True + }), + ('\U0001F6E9', { + 'desc': 'small airplane', + 'group': 'Travel & Places', + 'subgroup': 'transport-air', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F6EB', { + 'desc': 'airplane departure', + 'group': 'Travel & Places', + 'subgroup': 'transport-air', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6EC', { + 'desc': 'airplane arrival', + 'group': 'Travel & Places', + 'subgroup': 'transport-air', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4BA', { + 'desc': 'seat', + 'group': 'Travel & Places', + 'subgroup': 'transport-air', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F681', { + 'desc': 'helicopter', + 'group': 'Travel & Places', + 'subgroup': 'transport-air', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F69F', { + 'desc': 'suspension railway', + 'group': 'Travel & Places', + 'subgroup': 'transport-air', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6A0', { + 'desc': 'mountain cableway', + 'group': 'Travel & Places', + 'subgroup': 'transport-air', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6A1', { + 'desc': 'aerial tramway', + 'group': 'Travel & Places', + 'subgroup': 'transport-air', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6F0\U0000FE0F', { + 'desc': 'satellite', + 'group': 'Travel & Places', + 'subgroup': 'transport-air', + 'fully-qualified': True + }), + ('\U0001F6F0', { + 'desc': 'satellite', + 'group': 'Travel & Places', + 'subgroup': 'transport-air', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F680', { + 'desc': 'rocket', + 'group': 'Travel & Places', + 'subgroup': 'transport-air', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6F8', { + 'desc': 'flying saucer', + 'group': 'Travel & Places', + 'subgroup': 'transport-air', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6CE\U0000FE0F', { + 'desc': 'bellhop bell', + 'group': 'Travel & Places', + 'subgroup': 'hotel', + 'fully-qualified': True + }), + ('\U0001F6CE', { + 'desc': 'bellhop bell', + 'group': 'Travel & Places', + 'subgroup': 'hotel', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F9F3', { + 'desc': 'luggage', + 'group': 'Travel & Places', + 'subgroup': 'hotel', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0000231B', { + 'desc': 'hourglass done', + 'group': 'Travel & Places', + 'subgroup': 'time', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U000023F3', { + 'desc': 'hourglass not done', + 'group': 'Travel & Places', + 'subgroup': 'time', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0000231A', { + 'desc': 'watch', + 'group': 'Travel & Places', + 'subgroup': 'time', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U000023F0', { + 'desc': 'alarm clock', + 'group': 'Travel & Places', + 'subgroup': 'time', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U000023F1\U0000FE0F', { + 'desc': 'stopwatch', + 'group': 'Travel & Places', + 'subgroup': 'time', + 'fully-qualified': True + }), + ('\U000023F1', { + 'desc': 'stopwatch', + 'group': 'Travel & Places', + 'subgroup': 'time', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U000023F2\U0000FE0F', { + 'desc': 'timer clock', + 'group': 'Travel & Places', + 'subgroup': 'time', + 'fully-qualified': True + }), + ('\U000023F2', { + 'desc': 'timer clock', + 'group': 'Travel & Places', + 'subgroup': 'time', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F570\U0000FE0F', { + 'desc': 'mantelpiece clock', + 'group': 'Travel & Places', + 'subgroup': 'time', + 'fully-qualified': True + }), + ('\U0001F570', { + 'desc': 'mantelpiece clock', + 'group': 'Travel & Places', + 'subgroup': 'time', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F55B', { + 'desc': 'twelve o’clock', + 'group': 'Travel & Places', + 'subgroup': 'time', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F567', { + 'desc': 'twelve-thirty', + 'group': 'Travel & Places', + 'subgroup': 'time', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F550', { + 'desc': 'one o’clock', + 'group': 'Travel & Places', + 'subgroup': 'time', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F55C', { + 'desc': 'one-thirty', + 'group': 'Travel & Places', + 'subgroup': 'time', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F551', { + 'desc': 'two o’clock', + 'group': 'Travel & Places', + 'subgroup': 'time', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F55D', { + 'desc': 'two-thirty', + 'group': 'Travel & Places', + 'subgroup': 'time', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F552', { + 'desc': 'three o’clock', + 'group': 'Travel & Places', + 'subgroup': 'time', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F55E', { + 'desc': 'three-thirty', + 'group': 'Travel & Places', + 'subgroup': 'time', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F553', { + 'desc': 'four o’clock', + 'group': 'Travel & Places', + 'subgroup': 'time', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F55F', { + 'desc': 'four-thirty', + 'group': 'Travel & Places', + 'subgroup': 'time', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F554', { + 'desc': 'five o’clock', + 'group': 'Travel & Places', + 'subgroup': 'time', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F560', { + 'desc': 'five-thirty', + 'group': 'Travel & Places', + 'subgroup': 'time', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F555', { + 'desc': 'six o’clock', + 'group': 'Travel & Places', + 'subgroup': 'time', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F561', { + 'desc': 'six-thirty', + 'group': 'Travel & Places', + 'subgroup': 'time', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F556', { + 'desc': 'seven o’clock', + 'group': 'Travel & Places', + 'subgroup': 'time', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F562', { + 'desc': 'seven-thirty', + 'group': 'Travel & Places', + 'subgroup': 'time', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F557', { + 'desc': 'eight o’clock', + 'group': 'Travel & Places', + 'subgroup': 'time', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F563', { + 'desc': 'eight-thirty', + 'group': 'Travel & Places', + 'subgroup': 'time', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F558', { + 'desc': 'nine o’clock', + 'group': 'Travel & Places', + 'subgroup': 'time', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F564', { + 'desc': 'nine-thirty', + 'group': 'Travel & Places', + 'subgroup': 'time', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F559', { + 'desc': 'ten o’clock', + 'group': 'Travel & Places', + 'subgroup': 'time', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F565', { + 'desc': 'ten-thirty', + 'group': 'Travel & Places', + 'subgroup': 'time', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F55A', { + 'desc': 'eleven o’clock', + 'group': 'Travel & Places', + 'subgroup': 'time', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F566', { + 'desc': 'eleven-thirty', + 'group': 'Travel & Places', + 'subgroup': 'time', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F311', { + 'desc': 'new moon', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F312', { + 'desc': 'waxing crescent moon', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F313', { + 'desc': 'first quarter moon', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F314', { + 'desc': 'waxing gibbous moon', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F315', { + 'desc': 'full moon', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F316', { + 'desc': 'waning gibbous moon', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F317', { + 'desc': 'last quarter moon', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F318', { + 'desc': 'waning crescent moon', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F319', { + 'desc': 'crescent moon', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F31A', { + 'desc': 'new moon face', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F31B', { + 'desc': 'first quarter moon face', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F31C', { + 'desc': 'last quarter moon face', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F321\U0000FE0F', { + 'desc': 'thermometer', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True + }), + ('\U0001F321', { + 'desc': 'thermometer', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002600\U0000FE0F', { + 'desc': 'sun', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True + }), + ('\U00002600', { + 'desc': 'sun', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F31D', { + 'desc': 'full moon face', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F31E', { + 'desc': 'sun with face', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002B50', { + 'desc': 'star', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F31F', { + 'desc': 'glowing star', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F320', { + 'desc': 'shooting star', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002601\U0000FE0F', { + 'desc': 'cloud', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True + }), + ('\U00002601', { + 'desc': 'cloud', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U000026C5', { + 'desc': 'sun behind cloud', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U000026C8\U0000FE0F', { + 'desc': 'cloud with lightning and rain', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True + }), + ('\U000026C8', { + 'desc': 'cloud with lightning and rain', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F324\U0000FE0F', { + 'desc': 'sun behind small cloud', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True + }), + ('\U0001F324', { + 'desc': 'sun behind small cloud', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F325\U0000FE0F', { + 'desc': 'sun behind large cloud', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True + }), + ('\U0001F325', { + 'desc': 'sun behind large cloud', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F326\U0000FE0F', { + 'desc': 'sun behind rain cloud', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True + }), + ('\U0001F326', { + 'desc': 'sun behind rain cloud', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F327\U0000FE0F', { + 'desc': 'cloud with rain', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True + }), + ('\U0001F327', { + 'desc': 'cloud with rain', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F328\U0000FE0F', { + 'desc': 'cloud with snow', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True + }), + ('\U0001F328', { + 'desc': 'cloud with snow', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F329\U0000FE0F', { + 'desc': 'cloud with lightning', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True + }), + ('\U0001F329', { + 'desc': 'cloud with lightning', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F32A\U0000FE0F', { + 'desc': 'tornado', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True + }), + ('\U0001F32A', { + 'desc': 'tornado', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F32B\U0000FE0F', { + 'desc': 'fog', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True + }), + ('\U0001F32B', { + 'desc': 'fog', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F32C\U0000FE0F', { + 'desc': 'wind face', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True + }), + ('\U0001F32C', { + 'desc': 'wind face', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F300', { + 'desc': 'cyclone', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F308', { + 'desc': 'rainbow', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F302', { + 'desc': 'closed umbrella', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002602\U0000FE0F', { + 'desc': 'umbrella', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True + }), + ('\U00002602', { + 'desc': 'umbrella', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002614', { + 'desc': 'umbrella with rain drops', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U000026F1\U0000FE0F', { + 'desc': 'umbrella on ground', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True + }), + ('\U000026F1', { + 'desc': 'umbrella on ground', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U000026A1', { + 'desc': 'high voltage', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002744\U0000FE0F', { + 'desc': 'snowflake', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True + }), + ('\U00002744', { + 'desc': 'snowflake', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002603\U0000FE0F', { + 'desc': 'snowman', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True + }), + ('\U00002603', { + 'desc': 'snowman', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U000026C4', { + 'desc': 'snowman without snow', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002604\U0000FE0F', { + 'desc': 'comet', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True + }), + ('\U00002604', { + 'desc': 'comet', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F525', { + 'desc': 'fire', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4A7', { + 'desc': 'droplet', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F30A', { + 'desc': 'water wave', + 'group': 'Travel & Places', + 'subgroup': 'sky & weather', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F383', { + 'desc': 'jack-o-lantern', + 'group': 'Activities', + 'subgroup': 'event', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F384', { + 'desc': 'Christmas tree', + 'group': 'Activities', + 'subgroup': 'event', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F386', { + 'desc': 'fireworks', + 'group': 'Activities', + 'subgroup': 'event', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F387', { + 'desc': 'sparkler', + 'group': 'Activities', + 'subgroup': 'event', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9E8', { + 'desc': 'firecracker', + 'group': 'Activities', + 'subgroup': 'event', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002728', { + 'desc': 'sparkles', + 'group': 'Activities', + 'subgroup': 'event', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F388', { + 'desc': 'balloon', + 'group': 'Activities', + 'subgroup': 'event', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F389', { + 'desc': 'party popper', + 'group': 'Activities', + 'subgroup': 'event', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F38A', { + 'desc': 'confetti ball', + 'group': 'Activities', + 'subgroup': 'event', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F38B', { + 'desc': 'tanabata tree', + 'group': 'Activities', + 'subgroup': 'event', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F38D', { + 'desc': 'pine decoration', + 'group': 'Activities', + 'subgroup': 'event', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F38E', { + 'desc': 'Japanese dolls', + 'group': 'Activities', + 'subgroup': 'event', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F38F', { + 'desc': 'carp streamer', + 'group': 'Activities', + 'subgroup': 'event', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F390', { + 'desc': 'wind chime', + 'group': 'Activities', + 'subgroup': 'event', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F391', { + 'desc': 'moon viewing ceremony', + 'group': 'Activities', + 'subgroup': 'event', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9E7', { + 'desc': 'red envelope', + 'group': 'Activities', + 'subgroup': 'event', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F380', { + 'desc': 'ribbon', + 'group': 'Activities', + 'subgroup': 'event', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F381', { + 'desc': 'wrapped gift', + 'group': 'Activities', + 'subgroup': 'event', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F397\U0000FE0F', { + 'desc': 'reminder ribbon', + 'group': 'Activities', + 'subgroup': 'event', + 'fully-qualified': True + }), + ('\U0001F397', { + 'desc': 'reminder ribbon', + 'group': 'Activities', + 'subgroup': 'event', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F39F\U0000FE0F', { + 'desc': 'admission tickets', + 'group': 'Activities', + 'subgroup': 'event', + 'fully-qualified': True + }), + ('\U0001F39F', { + 'desc': 'admission tickets', + 'group': 'Activities', + 'subgroup': 'event', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F3AB', { + 'desc': 'ticket', + 'group': 'Activities', + 'subgroup': 'event', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F396\U0000FE0F', { + 'desc': 'military medal', + 'group': 'Activities', + 'subgroup': 'award-medal', + 'fully-qualified': True + }), + ('\U0001F396', { + 'desc': 'military medal', + 'group': 'Activities', + 'subgroup': 'award-medal', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F3C6', { + 'desc': 'trophy', + 'group': 'Activities', + 'subgroup': 'award-medal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3C5', { + 'desc': 'sports medal', + 'group': 'Activities', + 'subgroup': 'award-medal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F947', { + 'desc': '1st place medal', + 'group': 'Activities', + 'subgroup': 'award-medal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F948', { + 'desc': '2nd place medal', + 'group': 'Activities', + 'subgroup': 'award-medal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F949', { + 'desc': '3rd place medal', + 'group': 'Activities', + 'subgroup': 'award-medal', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U000026BD', { + 'desc': 'soccer ball', + 'group': 'Activities', + 'subgroup': 'sport', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U000026BE', { + 'desc': 'baseball', + 'group': 'Activities', + 'subgroup': 'sport', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F94E', { + 'desc': 'softball', + 'group': 'Activities', + 'subgroup': 'sport', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3C0', { + 'desc': 'basketball', + 'group': 'Activities', + 'subgroup': 'sport', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3D0', { + 'desc': 'volleyball', + 'group': 'Activities', + 'subgroup': 'sport', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3C8', { + 'desc': 'american football', + 'group': 'Activities', + 'subgroup': 'sport', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3C9', { + 'desc': 'rugby football', + 'group': 'Activities', + 'subgroup': 'sport', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3BE', { + 'desc': 'tennis', + 'group': 'Activities', + 'subgroup': 'sport', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F94F', { + 'desc': 'flying disc', + 'group': 'Activities', + 'subgroup': 'sport', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3B3', { + 'desc': 'bowling', + 'group': 'Activities', + 'subgroup': 'sport', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3CF', { + 'desc': 'cricket game', + 'group': 'Activities', + 'subgroup': 'sport', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3D1', { + 'desc': 'field hockey', + 'group': 'Activities', + 'subgroup': 'sport', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3D2', { + 'desc': 'ice hockey', + 'group': 'Activities', + 'subgroup': 'sport', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F94D', { + 'desc': 'lacrosse', + 'group': 'Activities', + 'subgroup': 'sport', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3D3', { + 'desc': 'ping pong', + 'group': 'Activities', + 'subgroup': 'sport', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3F8', { + 'desc': 'badminton', + 'group': 'Activities', + 'subgroup': 'sport', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F94A', { + 'desc': 'boxing glove', + 'group': 'Activities', + 'subgroup': 'sport', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F94B', { + 'desc': 'martial arts uniform', + 'group': 'Activities', + 'subgroup': 'sport', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F945', { + 'desc': 'goal net', + 'group': 'Activities', + 'subgroup': 'sport', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U000026F3', { + 'desc': 'flag in hole', + 'group': 'Activities', + 'subgroup': 'sport', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U000026F8\U0000FE0F', { + 'desc': 'ice skate', + 'group': 'Activities', + 'subgroup': 'sport', + 'fully-qualified': True + }), + ('\U000026F8', { + 'desc': 'ice skate', + 'group': 'Activities', + 'subgroup': 'sport', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F3A3', { + 'desc': 'fishing pole', + 'group': 'Activities', + 'subgroup': 'sport', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3BD', { + 'desc': 'running shirt', + 'group': 'Activities', + 'subgroup': 'sport', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3BF', { + 'desc': 'skis', + 'group': 'Activities', + 'subgroup': 'sport', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6F7', { + 'desc': 'sled', + 'group': 'Activities', + 'subgroup': 'sport', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F94C', { + 'desc': 'curling stone', + 'group': 'Activities', + 'subgroup': 'sport', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3AF', { + 'desc': 'direct hit', + 'group': 'Activities', + 'subgroup': 'game', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3B1', { + 'desc': 'pool 8 ball', + 'group': 'Activities', + 'subgroup': 'game', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F52E', { + 'desc': 'crystal ball', + 'group': 'Activities', + 'subgroup': 'game', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9FF', { + 'desc': 'nazar amulet', + 'group': 'Activities', + 'subgroup': 'game', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3AE', { + 'desc': 'video game', + 'group': 'Activities', + 'subgroup': 'game', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F579\U0000FE0F', { + 'desc': 'joystick', + 'group': 'Activities', + 'subgroup': 'game', + 'fully-qualified': True + }), + ('\U0001F579', { + 'desc': 'joystick', + 'group': 'Activities', + 'subgroup': 'game', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F3B0', { + 'desc': 'slot machine', + 'group': 'Activities', + 'subgroup': 'game', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3B2', { + 'desc': 'game die', + 'group': 'Activities', + 'subgroup': 'game', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9E9', { + 'desc': 'jigsaw', + 'group': 'Activities', + 'subgroup': 'game', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9F8', { + 'desc': 'teddy bear', + 'group': 'Activities', + 'subgroup': 'game', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002660\U0000FE0F', { + 'desc': 'spade suit', + 'group': 'Activities', + 'subgroup': 'game', + 'fully-qualified': True + }), + ('\U00002660', { + 'desc': 'spade suit', + 'group': 'Activities', + 'subgroup': 'game', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002665\U0000FE0F', { + 'desc': 'heart suit', + 'group': 'Activities', + 'subgroup': 'game', + 'fully-qualified': True + }), + ('\U00002665', { + 'desc': 'heart suit', + 'group': 'Activities', + 'subgroup': 'game', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002666\U0000FE0F', { + 'desc': 'diamond suit', + 'group': 'Activities', + 'subgroup': 'game', + 'fully-qualified': True + }), + ('\U00002666', { + 'desc': 'diamond suit', + 'group': 'Activities', + 'subgroup': 'game', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002663\U0000FE0F', { + 'desc': 'club suit', + 'group': 'Activities', + 'subgroup': 'game', + 'fully-qualified': True + }), + ('\U00002663', { + 'desc': 'club suit', + 'group': 'Activities', + 'subgroup': 'game', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0000265F\U0000FE0F', { + 'desc': 'chess pawn', + 'group': 'Activities', + 'subgroup': 'game', + 'fully-qualified': True + }), + ('\U0000265F', { + 'desc': 'chess pawn', + 'group': 'Activities', + 'subgroup': 'game', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F0CF', { + 'desc': 'joker', + 'group': 'Activities', + 'subgroup': 'game', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F004', { + 'desc': 'mahjong red dragon', + 'group': 'Activities', + 'subgroup': 'game', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3B4', { + 'desc': 'flower playing cards', + 'group': 'Activities', + 'subgroup': 'game', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3AD', { + 'desc': 'performing arts', + 'group': 'Activities', + 'subgroup': 'arts & crafts', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F5BC\U0000FE0F', { + 'desc': 'framed picture', + 'group': 'Activities', + 'subgroup': 'arts & crafts', + 'fully-qualified': True + }), + ('\U0001F5BC', { + 'desc': 'framed picture', + 'group': 'Activities', + 'subgroup': 'arts & crafts', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F3A8', { + 'desc': 'artist palette', + 'group': 'Activities', + 'subgroup': 'arts & crafts', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9F5', { + 'desc': 'thread', + 'group': 'Activities', + 'subgroup': 'arts & crafts', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9F6', { + 'desc': 'yarn', + 'group': 'Activities', + 'subgroup': 'arts & crafts', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F507', { + 'desc': 'muted speaker', + 'group': 'Objects', + 'subgroup': 'sound', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F508', { + 'desc': 'speaker low volume', + 'group': 'Objects', + 'subgroup': 'sound', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F509', { + 'desc': 'speaker medium volume', + 'group': 'Objects', + 'subgroup': 'sound', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F50A', { + 'desc': 'speaker high volume', + 'group': 'Objects', + 'subgroup': 'sound', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4E2', { + 'desc': 'loudspeaker', + 'group': 'Objects', + 'subgroup': 'sound', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4E3', { + 'desc': 'megaphone', + 'group': 'Objects', + 'subgroup': 'sound', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4EF', { + 'desc': 'postal horn', + 'group': 'Objects', + 'subgroup': 'sound', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F514', { + 'desc': 'bell', + 'group': 'Objects', + 'subgroup': 'sound', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F515', { + 'desc': 'bell with slash', + 'group': 'Objects', + 'subgroup': 'sound', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3BC', { + 'desc': 'musical score', + 'group': 'Objects', + 'subgroup': 'music', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3B5', { + 'desc': 'musical note', + 'group': 'Objects', + 'subgroup': 'music', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3B6', { + 'desc': 'musical notes', + 'group': 'Objects', + 'subgroup': 'music', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F399\U0000FE0F', { + 'desc': 'studio microphone', + 'group': 'Objects', + 'subgroup': 'music', + 'fully-qualified': True + }), + ('\U0001F399', { + 'desc': 'studio microphone', + 'group': 'Objects', + 'subgroup': 'music', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F39A\U0000FE0F', { + 'desc': 'level slider', + 'group': 'Objects', + 'subgroup': 'music', + 'fully-qualified': True + }), + ('\U0001F39A', { + 'desc': 'level slider', + 'group': 'Objects', + 'subgroup': 'music', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F39B\U0000FE0F', { + 'desc': 'control knobs', + 'group': 'Objects', + 'subgroup': 'music', + 'fully-qualified': True + }), + ('\U0001F39B', { + 'desc': 'control knobs', + 'group': 'Objects', + 'subgroup': 'music', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F3A4', { + 'desc': 'microphone', + 'group': 'Objects', + 'subgroup': 'music', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3A7', { + 'desc': 'headphone', + 'group': 'Objects', + 'subgroup': 'music', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4FB', { + 'desc': 'radio', + 'group': 'Objects', + 'subgroup': 'music', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3B7', { + 'desc': 'saxophone', + 'group': 'Objects', + 'subgroup': 'musical-instrument', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3B8', { + 'desc': 'guitar', + 'group': 'Objects', + 'subgroup': 'musical-instrument', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3B9', { + 'desc': 'musical keyboard', + 'group': 'Objects', + 'subgroup': 'musical-instrument', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3BA', { + 'desc': 'trumpet', + 'group': 'Objects', + 'subgroup': 'musical-instrument', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3BB', { + 'desc': 'violin', + 'group': 'Objects', + 'subgroup': 'musical-instrument', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F941', { + 'desc': 'drum', + 'group': 'Objects', + 'subgroup': 'musical-instrument', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4F1', { + 'desc': 'mobile phone', + 'group': 'Objects', + 'subgroup': 'phone', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4F2', { + 'desc': 'mobile phone with arrow', + 'group': 'Objects', + 'subgroup': 'phone', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0000260E\U0000FE0F', { + 'desc': 'telephone', + 'group': 'Objects', + 'subgroup': 'phone', + 'fully-qualified': True + }), + ('\U0000260E', { + 'desc': 'telephone', + 'group': 'Objects', + 'subgroup': 'phone', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F4DE', { + 'desc': 'telephone receiver', + 'group': 'Objects', + 'subgroup': 'phone', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4DF', { + 'desc': 'pager', + 'group': 'Objects', + 'subgroup': 'phone', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4E0', { + 'desc': 'fax machine', + 'group': 'Objects', + 'subgroup': 'phone', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F50B', { + 'desc': 'battery', + 'group': 'Objects', + 'subgroup': 'computer', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F50C', { + 'desc': 'electric plug', + 'group': 'Objects', + 'subgroup': 'computer', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4BB', { + 'desc': 'laptop computer', + 'group': 'Objects', + 'subgroup': 'computer', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F5A5\U0000FE0F', { + 'desc': 'desktop computer', + 'group': 'Objects', + 'subgroup': 'computer', + 'fully-qualified': True + }), + ('\U0001F5A5', { + 'desc': 'desktop computer', + 'group': 'Objects', + 'subgroup': 'computer', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F5A8\U0000FE0F', { + 'desc': 'printer', + 'group': 'Objects', + 'subgroup': 'computer', + 'fully-qualified': True + }), + ('\U0001F5A8', { + 'desc': 'printer', + 'group': 'Objects', + 'subgroup': 'computer', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002328\U0000FE0F', { + 'desc': 'keyboard', + 'group': 'Objects', + 'subgroup': 'computer', + 'fully-qualified': True + }), + ('\U00002328', { + 'desc': 'keyboard', + 'group': 'Objects', + 'subgroup': 'computer', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F5B1\U0000FE0F', { + 'desc': 'computer mouse', + 'group': 'Objects', + 'subgroup': 'computer', + 'fully-qualified': True + }), + ('\U0001F5B1', { + 'desc': 'computer mouse', + 'group': 'Objects', + 'subgroup': 'computer', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F5B2\U0000FE0F', { + 'desc': 'trackball', + 'group': 'Objects', + 'subgroup': 'computer', + 'fully-qualified': True + }), + ('\U0001F5B2', { + 'desc': 'trackball', + 'group': 'Objects', + 'subgroup': 'computer', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F4BD', { + 'desc': 'computer disk', + 'group': 'Objects', + 'subgroup': 'computer', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4BE', { + 'desc': 'floppy disk', + 'group': 'Objects', + 'subgroup': 'computer', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4BF', { + 'desc': 'optical disk', + 'group': 'Objects', + 'subgroup': 'computer', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4C0', { + 'desc': 'dvd', + 'group': 'Objects', + 'subgroup': 'computer', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9EE', { + 'desc': 'abacus', + 'group': 'Objects', + 'subgroup': 'computer', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3A5', { + 'desc': 'movie camera', + 'group': 'Objects', + 'subgroup': 'light & video', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F39E\U0000FE0F', { + 'desc': 'film frames', + 'group': 'Objects', + 'subgroup': 'light & video', + 'fully-qualified': True + }), + ('\U0001F39E', { + 'desc': 'film frames', + 'group': 'Objects', + 'subgroup': 'light & video', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F4FD\U0000FE0F', { + 'desc': 'film projector', + 'group': 'Objects', + 'subgroup': 'light & video', + 'fully-qualified': True + }), + ('\U0001F4FD', { + 'desc': 'film projector', + 'group': 'Objects', + 'subgroup': 'light & video', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F3AC', { + 'desc': 'clapper board', + 'group': 'Objects', + 'subgroup': 'light & video', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4FA', { + 'desc': 'television', + 'group': 'Objects', + 'subgroup': 'light & video', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4F7', { + 'desc': 'camera', + 'group': 'Objects', + 'subgroup': 'light & video', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4F8', { + 'desc': 'camera with flash', + 'group': 'Objects', + 'subgroup': 'light & video', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4F9', { + 'desc': 'video camera', + 'group': 'Objects', + 'subgroup': 'light & video', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4FC', { + 'desc': 'videocassette', + 'group': 'Objects', + 'subgroup': 'light & video', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F50D', { + 'desc': 'magnifying glass tilted left', + 'group': 'Objects', + 'subgroup': 'light & video', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F50E', { + 'desc': 'magnifying glass tilted right', + 'group': 'Objects', + 'subgroup': 'light & video', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F56F\U0000FE0F', { + 'desc': 'candle', + 'group': 'Objects', + 'subgroup': 'light & video', + 'fully-qualified': True + }), + ('\U0001F56F', { + 'desc': 'candle', + 'group': 'Objects', + 'subgroup': 'light & video', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F4A1', { + 'desc': 'light bulb', + 'group': 'Objects', + 'subgroup': 'light & video', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F526', { + 'desc': 'flashlight', + 'group': 'Objects', + 'subgroup': 'light & video', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3EE', { + 'desc': 'red paper lantern', + 'group': 'Objects', + 'subgroup': 'light & video', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4D4', { + 'desc': 'notebook with decorative cover', + 'group': 'Objects', + 'subgroup': 'book-paper', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4D5', { + 'desc': 'closed book', + 'group': 'Objects', + 'subgroup': 'book-paper', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4D6', { + 'desc': 'open book', + 'group': 'Objects', + 'subgroup': 'book-paper', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4D7', { + 'desc': 'green book', + 'group': 'Objects', + 'subgroup': 'book-paper', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4D8', { + 'desc': 'blue book', + 'group': 'Objects', + 'subgroup': 'book-paper', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4D9', { + 'desc': 'orange book', + 'group': 'Objects', + 'subgroup': 'book-paper', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4DA', { + 'desc': 'books', + 'group': 'Objects', + 'subgroup': 'book-paper', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4D3', { + 'desc': 'notebook', + 'group': 'Objects', + 'subgroup': 'book-paper', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4D2', { + 'desc': 'ledger', + 'group': 'Objects', + 'subgroup': 'book-paper', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4C3', { + 'desc': 'page with curl', + 'group': 'Objects', + 'subgroup': 'book-paper', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4DC', { + 'desc': 'scroll', + 'group': 'Objects', + 'subgroup': 'book-paper', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4C4', { + 'desc': 'page facing up', + 'group': 'Objects', + 'subgroup': 'book-paper', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4F0', { + 'desc': 'newspaper', + 'group': 'Objects', + 'subgroup': 'book-paper', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F5DE\U0000FE0F', { + 'desc': 'rolled-up newspaper', + 'group': 'Objects', + 'subgroup': 'book-paper', + 'fully-qualified': True + }), + ('\U0001F5DE', { + 'desc': 'rolled-up newspaper', + 'group': 'Objects', + 'subgroup': 'book-paper', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F4D1', { + 'desc': 'bookmark tabs', + 'group': 'Objects', + 'subgroup': 'book-paper', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F516', { + 'desc': 'bookmark', + 'group': 'Objects', + 'subgroup': 'book-paper', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3F7\U0000FE0F', { + 'desc': 'label', + 'group': 'Objects', + 'subgroup': 'book-paper', + 'fully-qualified': True + }), + ('\U0001F3F7', { + 'desc': 'label', + 'group': 'Objects', + 'subgroup': 'book-paper', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F4B0', { + 'desc': 'money bag', + 'group': 'Objects', + 'subgroup': 'money', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4B4', { + 'desc': 'yen banknote', + 'group': 'Objects', + 'subgroup': 'money', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4B5', { + 'desc': 'dollar banknote', + 'group': 'Objects', + 'subgroup': 'money', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4B6', { + 'desc': 'euro banknote', + 'group': 'Objects', + 'subgroup': 'money', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4B7', { + 'desc': 'pound banknote', + 'group': 'Objects', + 'subgroup': 'money', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4B8', { + 'desc': 'money with wings', + 'group': 'Objects', + 'subgroup': 'money', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4B3', { + 'desc': 'credit card', + 'group': 'Objects', + 'subgroup': 'money', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9FE', { + 'desc': 'receipt', + 'group': 'Objects', + 'subgroup': 'money', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4B9', { + 'desc': 'chart increasing with yen', + 'group': 'Objects', + 'subgroup': 'money', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4B1', { + 'desc': 'currency exchange', + 'group': 'Objects', + 'subgroup': 'money', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4B2', { + 'desc': 'heavy dollar sign', + 'group': 'Objects', + 'subgroup': 'money', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002709\U0000FE0F', { + 'desc': 'envelope', + 'group': 'Objects', + 'subgroup': 'mail', + 'fully-qualified': True + }), + ('\U00002709', { + 'desc': 'envelope', + 'group': 'Objects', + 'subgroup': 'mail', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F4E7', { + 'desc': 'e-mail', + 'group': 'Objects', + 'subgroup': 'mail', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4E8', { + 'desc': 'incoming envelope', + 'group': 'Objects', + 'subgroup': 'mail', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4E9', { + 'desc': 'envelope with arrow', + 'group': 'Objects', + 'subgroup': 'mail', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4E4', { + 'desc': 'outbox tray', + 'group': 'Objects', + 'subgroup': 'mail', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4E5', { + 'desc': 'inbox tray', + 'group': 'Objects', + 'subgroup': 'mail', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4E6', { + 'desc': 'package', + 'group': 'Objects', + 'subgroup': 'mail', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4EB', { + 'desc': 'closed mailbox with raised flag', + 'group': 'Objects', + 'subgroup': 'mail', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4EA', { + 'desc': 'closed mailbox with lowered flag', + 'group': 'Objects', + 'subgroup': 'mail', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4EC', { + 'desc': 'open mailbox with raised flag', + 'group': 'Objects', + 'subgroup': 'mail', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4ED', { + 'desc': 'open mailbox with lowered flag', + 'group': 'Objects', + 'subgroup': 'mail', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4EE', { + 'desc': 'postbox', + 'group': 'Objects', + 'subgroup': 'mail', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F5F3\U0000FE0F', { + 'desc': 'ballot box with ballot', + 'group': 'Objects', + 'subgroup': 'mail', + 'fully-qualified': True + }), + ('\U0001F5F3', { + 'desc': 'ballot box with ballot', + 'group': 'Objects', + 'subgroup': 'mail', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0000270F\U0000FE0F', { + 'desc': 'pencil', + 'group': 'Objects', + 'subgroup': 'writing', + 'fully-qualified': True + }), + ('\U0000270F', { + 'desc': 'pencil', + 'group': 'Objects', + 'subgroup': 'writing', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002712\U0000FE0F', { + 'desc': 'black nib', + 'group': 'Objects', + 'subgroup': 'writing', + 'fully-qualified': True + }), + ('\U00002712', { + 'desc': 'black nib', + 'group': 'Objects', + 'subgroup': 'writing', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F58B\U0000FE0F', { + 'desc': 'fountain pen', + 'group': 'Objects', + 'subgroup': 'writing', + 'fully-qualified': True + }), + ('\U0001F58B', { + 'desc': 'fountain pen', + 'group': 'Objects', + 'subgroup': 'writing', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F58A\U0000FE0F', { + 'desc': 'pen', + 'group': 'Objects', + 'subgroup': 'writing', + 'fully-qualified': True + }), + ('\U0001F58A', { + 'desc': 'pen', + 'group': 'Objects', + 'subgroup': 'writing', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F58C\U0000FE0F', { + 'desc': 'paintbrush', + 'group': 'Objects', + 'subgroup': 'writing', + 'fully-qualified': True + }), + ('\U0001F58C', { + 'desc': 'paintbrush', + 'group': 'Objects', + 'subgroup': 'writing', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F58D\U0000FE0F', { + 'desc': 'crayon', + 'group': 'Objects', + 'subgroup': 'writing', + 'fully-qualified': True + }), + ('\U0001F58D', { + 'desc': 'crayon', + 'group': 'Objects', + 'subgroup': 'writing', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F4DD', { + 'desc': 'memo', + 'group': 'Objects', + 'subgroup': 'writing', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4BC', { + 'desc': 'briefcase', + 'group': 'Objects', + 'subgroup': 'office', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4C1', { + 'desc': 'file folder', + 'group': 'Objects', + 'subgroup': 'office', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4C2', { + 'desc': 'open file folder', + 'group': 'Objects', + 'subgroup': 'office', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F5C2\U0000FE0F', { + 'desc': 'card index dividers', + 'group': 'Objects', + 'subgroup': 'office', + 'fully-qualified': True + }), + ('\U0001F5C2', { + 'desc': 'card index dividers', + 'group': 'Objects', + 'subgroup': 'office', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F4C5', { + 'desc': 'calendar', + 'group': 'Objects', + 'subgroup': 'office', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4C6', { + 'desc': 'tear-off calendar', + 'group': 'Objects', + 'subgroup': 'office', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F5D2\U0000FE0F', { + 'desc': 'spiral notepad', + 'group': 'Objects', + 'subgroup': 'office', + 'fully-qualified': True + }), + ('\U0001F5D2', { + 'desc': 'spiral notepad', + 'group': 'Objects', + 'subgroup': 'office', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F5D3\U0000FE0F', { + 'desc': 'spiral calendar', + 'group': 'Objects', + 'subgroup': 'office', + 'fully-qualified': True + }), + ('\U0001F5D3', { + 'desc': 'spiral calendar', + 'group': 'Objects', + 'subgroup': 'office', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F4C7', { + 'desc': 'card index', + 'group': 'Objects', + 'subgroup': 'office', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4C8', { + 'desc': 'chart increasing', + 'group': 'Objects', + 'subgroup': 'office', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4C9', { + 'desc': 'chart decreasing', + 'group': 'Objects', + 'subgroup': 'office', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4CA', { + 'desc': 'bar chart', + 'group': 'Objects', + 'subgroup': 'office', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4CB', { + 'desc': 'clipboard', + 'group': 'Objects', + 'subgroup': 'office', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4CC', { + 'desc': 'pushpin', + 'group': 'Objects', + 'subgroup': 'office', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4CD', { + 'desc': 'round pushpin', + 'group': 'Objects', + 'subgroup': 'office', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4CE', { + 'desc': 'paperclip', + 'group': 'Objects', + 'subgroup': 'office', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F587\U0000FE0F', { + 'desc': 'linked paperclips', + 'group': 'Objects', + 'subgroup': 'office', + 'fully-qualified': True + }), + ('\U0001F587', { + 'desc': 'linked paperclips', + 'group': 'Objects', + 'subgroup': 'office', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F4CF', { + 'desc': 'straight ruler', + 'group': 'Objects', + 'subgroup': 'office', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4D0', { + 'desc': 'triangular ruler', + 'group': 'Objects', + 'subgroup': 'office', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002702\U0000FE0F', { + 'desc': 'scissors', + 'group': 'Objects', + 'subgroup': 'office', + 'fully-qualified': True + }), + ('\U00002702', { + 'desc': 'scissors', + 'group': 'Objects', + 'subgroup': 'office', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F5C3\U0000FE0F', { + 'desc': 'card file box', + 'group': 'Objects', + 'subgroup': 'office', + 'fully-qualified': True + }), + ('\U0001F5C3', { + 'desc': 'card file box', + 'group': 'Objects', + 'subgroup': 'office', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F5C4\U0000FE0F', { + 'desc': 'file cabinet', + 'group': 'Objects', + 'subgroup': 'office', + 'fully-qualified': True + }), + ('\U0001F5C4', { + 'desc': 'file cabinet', + 'group': 'Objects', + 'subgroup': 'office', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F5D1\U0000FE0F', { + 'desc': 'wastebasket', + 'group': 'Objects', + 'subgroup': 'office', + 'fully-qualified': True + }), + ('\U0001F5D1', { + 'desc': 'wastebasket', + 'group': 'Objects', + 'subgroup': 'office', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F512', { + 'desc': 'locked', + 'group': 'Objects', + 'subgroup': 'lock', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F513', { + 'desc': 'unlocked', + 'group': 'Objects', + 'subgroup': 'lock', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F50F', { + 'desc': 'locked with pen', + 'group': 'Objects', + 'subgroup': 'lock', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F510', { + 'desc': 'locked with key', + 'group': 'Objects', + 'subgroup': 'lock', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F511', { + 'desc': 'key', + 'group': 'Objects', + 'subgroup': 'lock', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F5DD\U0000FE0F', { + 'desc': 'old key', + 'group': 'Objects', + 'subgroup': 'lock', + 'fully-qualified': True + }), + ('\U0001F5DD', { + 'desc': 'old key', + 'group': 'Objects', + 'subgroup': 'lock', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F528', { + 'desc': 'hammer', + 'group': 'Objects', + 'subgroup': 'tool', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U000026CF\U0000FE0F', { + 'desc': 'pick', + 'group': 'Objects', + 'subgroup': 'tool', + 'fully-qualified': True + }), + ('\U000026CF', { + 'desc': 'pick', + 'group': 'Objects', + 'subgroup': 'tool', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002692\U0000FE0F', { + 'desc': 'hammer and pick', + 'group': 'Objects', + 'subgroup': 'tool', + 'fully-qualified': True + }), + ('\U00002692', { + 'desc': 'hammer and pick', + 'group': 'Objects', + 'subgroup': 'tool', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F6E0\U0000FE0F', { + 'desc': 'hammer and wrench', + 'group': 'Objects', + 'subgroup': 'tool', + 'fully-qualified': True + }), + ('\U0001F6E0', { + 'desc': 'hammer and wrench', + 'group': 'Objects', + 'subgroup': 'tool', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F5E1\U0000FE0F', { + 'desc': 'dagger', + 'group': 'Objects', + 'subgroup': 'tool', + 'fully-qualified': True + }), + ('\U0001F5E1', { + 'desc': 'dagger', + 'group': 'Objects', + 'subgroup': 'tool', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002694\U0000FE0F', { + 'desc': 'crossed swords', + 'group': 'Objects', + 'subgroup': 'tool', + 'fully-qualified': True + }), + ('\U00002694', { + 'desc': 'crossed swords', + 'group': 'Objects', + 'subgroup': 'tool', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F52B', { + 'desc': 'pistol', + 'group': 'Objects', + 'subgroup': 'tool', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3F9', { + 'desc': 'bow and arrow', + 'group': 'Objects', + 'subgroup': 'tool', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6E1\U0000FE0F', { + 'desc': 'shield', + 'group': 'Objects', + 'subgroup': 'tool', + 'fully-qualified': True + }), + ('\U0001F6E1', { + 'desc': 'shield', + 'group': 'Objects', + 'subgroup': 'tool', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F527', { + 'desc': 'wrench', + 'group': 'Objects', + 'subgroup': 'tool', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F529', { + 'desc': 'nut and bolt', + 'group': 'Objects', + 'subgroup': 'tool', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002699\U0000FE0F', { + 'desc': 'gear', + 'group': 'Objects', + 'subgroup': 'tool', + 'fully-qualified': True + }), + ('\U00002699', { + 'desc': 'gear', + 'group': 'Objects', + 'subgroup': 'tool', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F5DC\U0000FE0F', { + 'desc': 'clamp', + 'group': 'Objects', + 'subgroup': 'tool', + 'fully-qualified': True + }), + ('\U0001F5DC', { + 'desc': 'clamp', + 'group': 'Objects', + 'subgroup': 'tool', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002696\U0000FE0F', { + 'desc': 'balance scale', + 'group': 'Objects', + 'subgroup': 'tool', + 'fully-qualified': True + }), + ('\U00002696', { + 'desc': 'balance scale', + 'group': 'Objects', + 'subgroup': 'tool', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F517', { + 'desc': 'link', + 'group': 'Objects', + 'subgroup': 'tool', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U000026D3\U0000FE0F', { + 'desc': 'chains', + 'group': 'Objects', + 'subgroup': 'tool', + 'fully-qualified': True + }), + ('\U000026D3', { + 'desc': 'chains', + 'group': 'Objects', + 'subgroup': 'tool', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F9F0', { + 'desc': 'toolbox', + 'group': 'Objects', + 'subgroup': 'tool', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9F2', { + 'desc': 'magnet', + 'group': 'Objects', + 'subgroup': 'tool', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002697\U0000FE0F', { + 'desc': 'alembic', + 'group': 'Objects', + 'subgroup': 'science', + 'fully-qualified': True + }), + ('\U00002697', { + 'desc': 'alembic', + 'group': 'Objects', + 'subgroup': 'science', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F9EA', { + 'desc': 'test tube', + 'group': 'Objects', + 'subgroup': 'science', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9EB', { + 'desc': 'petri dish', + 'group': 'Objects', + 'subgroup': 'science', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9EC', { + 'desc': 'dna', + 'group': 'Objects', + 'subgroup': 'science', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F52C', { + 'desc': 'microscope', + 'group': 'Objects', + 'subgroup': 'science', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F52D', { + 'desc': 'telescope', + 'group': 'Objects', + 'subgroup': 'science', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4E1', { + 'desc': 'satellite antenna', + 'group': 'Objects', + 'subgroup': 'science', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F489', { + 'desc': 'syringe', + 'group': 'Objects', + 'subgroup': 'medical', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F48A', { + 'desc': 'pill', + 'group': 'Objects', + 'subgroup': 'medical', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6AA', { + 'desc': 'door', + 'group': 'Objects', + 'subgroup': 'household', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6CF\U0000FE0F', { + 'desc': 'bed', + 'group': 'Objects', + 'subgroup': 'household', + 'fully-qualified': True + }), + ('\U0001F6CF', { + 'desc': 'bed', + 'group': 'Objects', + 'subgroup': 'household', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F6CB\U0000FE0F', { + 'desc': 'couch and lamp', + 'group': 'Objects', + 'subgroup': 'household', + 'fully-qualified': True + }), + ('\U0001F6CB', { + 'desc': 'couch and lamp', + 'group': 'Objects', + 'subgroup': 'household', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F6BD', { + 'desc': 'toilet', + 'group': 'Objects', + 'subgroup': 'household', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6BF', { + 'desc': 'shower', + 'group': 'Objects', + 'subgroup': 'household', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6C1', { + 'desc': 'bathtub', + 'group': 'Objects', + 'subgroup': 'household', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9F4', { + 'desc': 'lotion bottle', + 'group': 'Objects', + 'subgroup': 'household', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9F7', { + 'desc': 'safety pin', + 'group': 'Objects', + 'subgroup': 'household', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9F9', { + 'desc': 'broom', + 'group': 'Objects', + 'subgroup': 'household', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9FA', { + 'desc': 'basket', + 'group': 'Objects', + 'subgroup': 'household', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9FB', { + 'desc': 'roll of paper', + 'group': 'Objects', + 'subgroup': 'household', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9FC', { + 'desc': 'soap', + 'group': 'Objects', + 'subgroup': 'household', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9FD', { + 'desc': 'sponge', + 'group': 'Objects', + 'subgroup': 'household', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F9EF', { + 'desc': 'fire extinguisher', + 'group': 'Objects', + 'subgroup': 'household', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6D2', { + 'desc': 'shopping cart', + 'group': 'Objects', + 'subgroup': 'household', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6AC', { + 'desc': 'cigarette', + 'group': 'Objects', + 'subgroup': 'other-object', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U000026B0\U0000FE0F', { + 'desc': 'coffin', + 'group': 'Objects', + 'subgroup': 'other-object', + 'fully-qualified': True + }), + ('\U000026B0', { + 'desc': 'coffin', + 'group': 'Objects', + 'subgroup': 'other-object', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U000026B1\U0000FE0F', { + 'desc': 'funeral urn', + 'group': 'Objects', + 'subgroup': 'other-object', + 'fully-qualified': True + }), + ('\U000026B1', { + 'desc': 'funeral urn', + 'group': 'Objects', + 'subgroup': 'other-object', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F5FF', { + 'desc': 'moai', + 'group': 'Objects', + 'subgroup': 'other-object', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3E7', { + 'desc': 'ATM sign', + 'group': 'Symbols', + 'subgroup': 'transport-sign', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6AE', { + 'desc': 'litter in bin sign', + 'group': 'Symbols', + 'subgroup': 'transport-sign', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6B0', { + 'desc': 'potable water', + 'group': 'Symbols', + 'subgroup': 'transport-sign', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0000267F', { + 'desc': 'wheelchair symbol', + 'group': 'Symbols', + 'subgroup': 'transport-sign', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6B9', { + 'desc': 'men’s room', + 'group': 'Symbols', + 'subgroup': 'transport-sign', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6BA', { + 'desc': 'women’s room', + 'group': 'Symbols', + 'subgroup': 'transport-sign', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6BB', { + 'desc': 'restroom', + 'group': 'Symbols', + 'subgroup': 'transport-sign', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6BC', { + 'desc': 'baby symbol', + 'group': 'Symbols', + 'subgroup': 'transport-sign', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6BE', { + 'desc': 'water closet', + 'group': 'Symbols', + 'subgroup': 'transport-sign', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6C2', { + 'desc': 'passport control', + 'group': 'Symbols', + 'subgroup': 'transport-sign', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6C3', { + 'desc': 'customs', + 'group': 'Symbols', + 'subgroup': 'transport-sign', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6C4', { + 'desc': 'baggage claim', + 'group': 'Symbols', + 'subgroup': 'transport-sign', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6C5', { + 'desc': 'left luggage', + 'group': 'Symbols', + 'subgroup': 'transport-sign', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U000026A0\U0000FE0F', { + 'desc': 'warning', + 'group': 'Symbols', + 'subgroup': 'warning', + 'fully-qualified': True + }), + ('\U000026A0', { + 'desc': 'warning', + 'group': 'Symbols', + 'subgroup': 'warning', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F6B8', { + 'desc': 'children crossing', + 'group': 'Symbols', + 'subgroup': 'warning', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U000026D4', { + 'desc': 'no entry', + 'group': 'Symbols', + 'subgroup': 'warning', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6AB', { + 'desc': 'prohibited', + 'group': 'Symbols', + 'subgroup': 'warning', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6B3', { + 'desc': 'no bicycles', + 'group': 'Symbols', + 'subgroup': 'warning', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6AD', { + 'desc': 'no smoking', + 'group': 'Symbols', + 'subgroup': 'warning', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6AF', { + 'desc': 'no littering', + 'group': 'Symbols', + 'subgroup': 'warning', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6B1', { + 'desc': 'non-potable water', + 'group': 'Symbols', + 'subgroup': 'warning', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6B7', { + 'desc': 'no pedestrians', + 'group': 'Symbols', + 'subgroup': 'warning', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4F5', { + 'desc': 'no mobile phones', + 'group': 'Symbols', + 'subgroup': 'warning', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F51E', { + 'desc': 'no one under eighteen', + 'group': 'Symbols', + 'subgroup': 'warning', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002622\U0000FE0F', { + 'desc': 'radioactive', + 'group': 'Symbols', + 'subgroup': 'warning', + 'fully-qualified': True + }), + ('\U00002622', { + 'desc': 'radioactive', + 'group': 'Symbols', + 'subgroup': 'warning', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002623\U0000FE0F', { + 'desc': 'biohazard', + 'group': 'Symbols', + 'subgroup': 'warning', + 'fully-qualified': True + }), + ('\U00002623', { + 'desc': 'biohazard', + 'group': 'Symbols', + 'subgroup': 'warning', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002B06\U0000FE0F', { + 'desc': 'up arrow', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': True + }), + ('\U00002B06', { + 'desc': 'up arrow', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002197\U0000FE0F', { + 'desc': 'up-right arrow', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': True + }), + ('\U00002197', { + 'desc': 'up-right arrow', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U000027A1\U0000FE0F', { + 'desc': 'right arrow', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': True + }), + ('\U000027A1', { + 'desc': 'right arrow', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002198\U0000FE0F', { + 'desc': 'down-right arrow', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': True + }), + ('\U00002198', { + 'desc': 'down-right arrow', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002B07\U0000FE0F', { + 'desc': 'down arrow', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': True + }), + ('\U00002B07', { + 'desc': 'down arrow', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002199\U0000FE0F', { + 'desc': 'down-left arrow', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': True + }), + ('\U00002199', { + 'desc': 'down-left arrow', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002B05\U0000FE0F', { + 'desc': 'left arrow', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': True + }), + ('\U00002B05', { + 'desc': 'left arrow', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002196\U0000FE0F', { + 'desc': 'up-left arrow', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': True + }), + ('\U00002196', { + 'desc': 'up-left arrow', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002195\U0000FE0F', { + 'desc': 'up-down arrow', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': True + }), + ('\U00002195', { + 'desc': 'up-down arrow', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002194\U0000FE0F', { + 'desc': 'left-right arrow', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': True + }), + ('\U00002194', { + 'desc': 'left-right arrow', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U000021A9\U0000FE0F', { + 'desc': 'right arrow curving left', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': True + }), + ('\U000021A9', { + 'desc': 'right arrow curving left', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U000021AA\U0000FE0F', { + 'desc': 'left arrow curving right', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': True + }), + ('\U000021AA', { + 'desc': 'left arrow curving right', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002934\U0000FE0F', { + 'desc': 'right arrow curving up', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': True + }), + ('\U00002934', { + 'desc': 'right arrow curving up', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002935\U0000FE0F', { + 'desc': 'right arrow curving down', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': True + }), + ('\U00002935', { + 'desc': 'right arrow curving down', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F503', { + 'desc': 'clockwise vertical arrows', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F504', { + 'desc': 'counterclockwise arrows button', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F519', { + 'desc': 'BACK arrow', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F51A', { + 'desc': 'END arrow', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F51B', { + 'desc': 'ON! arrow', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F51C', { + 'desc': 'SOON arrow', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F51D', { + 'desc': 'TOP arrow', + 'group': 'Symbols', + 'subgroup': 'arrow', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6D0', { + 'desc': 'place of worship', + 'group': 'Symbols', + 'subgroup': 'religion', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0000269B\U0000FE0F', { + 'desc': 'atom symbol', + 'group': 'Symbols', + 'subgroup': 'religion', + 'fully-qualified': True + }), + ('\U0000269B', { + 'desc': 'atom symbol', + 'group': 'Symbols', + 'subgroup': 'religion', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F549\U0000FE0F', { + 'desc': 'om', + 'group': 'Symbols', + 'subgroup': 'religion', + 'fully-qualified': True + }), + ('\U0001F549', { + 'desc': 'om', + 'group': 'Symbols', + 'subgroup': 'religion', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002721\U0000FE0F', { + 'desc': 'star of David', + 'group': 'Symbols', + 'subgroup': 'religion', + 'fully-qualified': True + }), + ('\U00002721', { + 'desc': 'star of David', + 'group': 'Symbols', + 'subgroup': 'religion', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002638\U0000FE0F', { + 'desc': 'wheel of dharma', + 'group': 'Symbols', + 'subgroup': 'religion', + 'fully-qualified': True + }), + ('\U00002638', { + 'desc': 'wheel of dharma', + 'group': 'Symbols', + 'subgroup': 'religion', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0000262F\U0000FE0F', { + 'desc': 'yin yang', + 'group': 'Symbols', + 'subgroup': 'religion', + 'fully-qualified': True + }), + ('\U0000262F', { + 'desc': 'yin yang', + 'group': 'Symbols', + 'subgroup': 'religion', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0000271D\U0000FE0F', { + 'desc': 'latin cross', + 'group': 'Symbols', + 'subgroup': 'religion', + 'fully-qualified': True + }), + ('\U0000271D', { + 'desc': 'latin cross', + 'group': 'Symbols', + 'subgroup': 'religion', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002626\U0000FE0F', { + 'desc': 'orthodox cross', + 'group': 'Symbols', + 'subgroup': 'religion', + 'fully-qualified': True + }), + ('\U00002626', { + 'desc': 'orthodox cross', + 'group': 'Symbols', + 'subgroup': 'religion', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0000262A\U0000FE0F', { + 'desc': 'star and crescent', + 'group': 'Symbols', + 'subgroup': 'religion', + 'fully-qualified': True + }), + ('\U0000262A', { + 'desc': 'star and crescent', + 'group': 'Symbols', + 'subgroup': 'religion', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0000262E\U0000FE0F', { + 'desc': 'peace symbol', + 'group': 'Symbols', + 'subgroup': 'religion', + 'fully-qualified': True + }), + ('\U0000262E', { + 'desc': 'peace symbol', + 'group': 'Symbols', + 'subgroup': 'religion', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F54E', { + 'desc': 'menorah', + 'group': 'Symbols', + 'subgroup': 'religion', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F52F', { + 'desc': 'dotted six-pointed star', + 'group': 'Symbols', + 'subgroup': 'religion', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002648', { + 'desc': 'Aries', + 'group': 'Symbols', + 'subgroup': 'zodiac', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002649', { + 'desc': 'Taurus', + 'group': 'Symbols', + 'subgroup': 'zodiac', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0000264A', { + 'desc': 'Gemini', + 'group': 'Symbols', + 'subgroup': 'zodiac', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0000264B', { + 'desc': 'Cancer', + 'group': 'Symbols', + 'subgroup': 'zodiac', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0000264C', { + 'desc': 'Leo', + 'group': 'Symbols', + 'subgroup': 'zodiac', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0000264D', { + 'desc': 'Virgo', + 'group': 'Symbols', + 'subgroup': 'zodiac', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0000264E', { + 'desc': 'Libra', + 'group': 'Symbols', + 'subgroup': 'zodiac', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0000264F', { + 'desc': 'Scorpio', + 'group': 'Symbols', + 'subgroup': 'zodiac', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002650', { + 'desc': 'Sagittarius', + 'group': 'Symbols', + 'subgroup': 'zodiac', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002651', { + 'desc': 'Capricorn', + 'group': 'Symbols', + 'subgroup': 'zodiac', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002652', { + 'desc': 'Aquarius', + 'group': 'Symbols', + 'subgroup': 'zodiac', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002653', { + 'desc': 'Pisces', + 'group': 'Symbols', + 'subgroup': 'zodiac', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U000026CE', { + 'desc': 'Ophiuchus', + 'group': 'Symbols', + 'subgroup': 'zodiac', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F500', { + 'desc': 'shuffle tracks button', + 'group': 'Symbols', + 'subgroup': 'av-symbol', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F501', { + 'desc': 'repeat button', + 'group': 'Symbols', + 'subgroup': 'av-symbol', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F502', { + 'desc': 'repeat single button', + 'group': 'Symbols', + 'subgroup': 'av-symbol', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U000025B6\U0000FE0F', { + 'desc': 'play button', + 'group': 'Symbols', + 'subgroup': 'av-symbol', + 'fully-qualified': True + }), + ('\U000025B6', { + 'desc': 'play button', + 'group': 'Symbols', + 'subgroup': 'av-symbol', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U000023E9', { + 'desc': 'fast-forward button', + 'group': 'Symbols', + 'subgroup': 'av-symbol', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U000023ED\U0000FE0F', { + 'desc': 'next track button', + 'group': 'Symbols', + 'subgroup': 'av-symbol', + 'fully-qualified': True + }), + ('\U000023ED', { + 'desc': 'next track button', + 'group': 'Symbols', + 'subgroup': 'av-symbol', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U000023EF\U0000FE0F', { + 'desc': 'play or pause button', + 'group': 'Symbols', + 'subgroup': 'av-symbol', + 'fully-qualified': True + }), + ('\U000023EF', { + 'desc': 'play or pause button', + 'group': 'Symbols', + 'subgroup': 'av-symbol', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U000025C0\U0000FE0F', { + 'desc': 'reverse button', + 'group': 'Symbols', + 'subgroup': 'av-symbol', + 'fully-qualified': True + }), + ('\U000025C0', { + 'desc': 'reverse button', + 'group': 'Symbols', + 'subgroup': 'av-symbol', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U000023EA', { + 'desc': 'fast reverse button', + 'group': 'Symbols', + 'subgroup': 'av-symbol', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U000023EE\U0000FE0F', { + 'desc': 'last track button', + 'group': 'Symbols', + 'subgroup': 'av-symbol', + 'fully-qualified': True + }), + ('\U000023EE', { + 'desc': 'last track button', + 'group': 'Symbols', + 'subgroup': 'av-symbol', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F53C', { + 'desc': 'upwards button', + 'group': 'Symbols', + 'subgroup': 'av-symbol', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U000023EB', { + 'desc': 'fast up button', + 'group': 'Symbols', + 'subgroup': 'av-symbol', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F53D', { + 'desc': 'downwards button', + 'group': 'Symbols', + 'subgroup': 'av-symbol', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U000023EC', { + 'desc': 'fast down button', + 'group': 'Symbols', + 'subgroup': 'av-symbol', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U000023F8\U0000FE0F', { + 'desc': 'pause button', + 'group': 'Symbols', + 'subgroup': 'av-symbol', + 'fully-qualified': True + }), + ('\U000023F8', { + 'desc': 'pause button', + 'group': 'Symbols', + 'subgroup': 'av-symbol', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U000023F9\U0000FE0F', { + 'desc': 'stop button', + 'group': 'Symbols', + 'subgroup': 'av-symbol', + 'fully-qualified': True + }), + ('\U000023F9', { + 'desc': 'stop button', + 'group': 'Symbols', + 'subgroup': 'av-symbol', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U000023FA\U0000FE0F', { + 'desc': 'record button', + 'group': 'Symbols', + 'subgroup': 'av-symbol', + 'fully-qualified': True + }), + ('\U000023FA', { + 'desc': 'record button', + 'group': 'Symbols', + 'subgroup': 'av-symbol', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U000023CF\U0000FE0F', { + 'desc': 'eject button', + 'group': 'Symbols', + 'subgroup': 'av-symbol', + 'fully-qualified': True + }), + ('\U000023CF', { + 'desc': 'eject button', + 'group': 'Symbols', + 'subgroup': 'av-symbol', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F3A6', { + 'desc': 'cinema', + 'group': 'Symbols', + 'subgroup': 'av-symbol', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F505', { + 'desc': 'dim button', + 'group': 'Symbols', + 'subgroup': 'av-symbol', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F506', { + 'desc': 'bright button', + 'group': 'Symbols', + 'subgroup': 'av-symbol', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4F6', { + 'desc': 'antenna bars', + 'group': 'Symbols', + 'subgroup': 'av-symbol', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4F3', { + 'desc': 'vibration mode', + 'group': 'Symbols', + 'subgroup': 'av-symbol', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4F4', { + 'desc': 'mobile phone off', + 'group': 'Symbols', + 'subgroup': 'av-symbol', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002640\U0000FE0F', { + 'desc': 'female sign', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True + }), + ('\U00002640', { + 'desc': 'female sign', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002642\U0000FE0F', { + 'desc': 'male sign', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True + }), + ('\U00002642', { + 'desc': 'male sign', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002695\U0000FE0F', { + 'desc': 'medical symbol', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True + }), + ('\U00002695', { + 'desc': 'medical symbol', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0000267E\U0000FE0F', { + 'desc': 'infinity', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True + }), + ('\U0000267E', { + 'desc': 'infinity', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0000267B\U0000FE0F', { + 'desc': 'recycling symbol', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True + }), + ('\U0000267B', { + 'desc': 'recycling symbol', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0000269C\U0000FE0F', { + 'desc': 'fleur-de-lis', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True + }), + ('\U0000269C', { + 'desc': 'fleur-de-lis', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F531', { + 'desc': 'trident emblem', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4DB', { + 'desc': 'name badge', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F530', { + 'desc': 'Japanese symbol for beginner', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002B55', { + 'desc': 'heavy large circle', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002705', { + 'desc': 'white heavy check mark', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002611\U0000FE0F', { + 'desc': 'ballot box with check', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True + }), + ('\U00002611', { + 'desc': 'ballot box with check', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002714\U0000FE0F', { + 'desc': 'heavy check mark', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True + }), + ('\U00002714', { + 'desc': 'heavy check mark', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002716\U0000FE0F', { + 'desc': 'heavy multiplication x', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True + }), + ('\U00002716', { + 'desc': 'heavy multiplication x', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0000274C', { + 'desc': 'cross mark', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0000274E', { + 'desc': 'cross mark button', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002795', { + 'desc': 'heavy plus sign', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002796', { + 'desc': 'heavy minus sign', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002797', { + 'desc': 'heavy division sign', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U000027B0', { + 'desc': 'curly loop', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U000027BF', { + 'desc': 'double curly loop', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0000303D\U0000FE0F', { + 'desc': 'part alternation mark', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True + }), + ('\U0000303D', { + 'desc': 'part alternation mark', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002733\U0000FE0F', { + 'desc': 'eight-spoked asterisk', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True + }), + ('\U00002733', { + 'desc': 'eight-spoked asterisk', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002734\U0000FE0F', { + 'desc': 'eight-pointed star', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True + }), + ('\U00002734', { + 'desc': 'eight-pointed star', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002747\U0000FE0F', { + 'desc': 'sparkle', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True + }), + ('\U00002747', { + 'desc': 'sparkle', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0000203C\U0000FE0F', { + 'desc': 'double exclamation mark', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True + }), + ('\U0000203C', { + 'desc': 'double exclamation mark', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002049\U0000FE0F', { + 'desc': 'exclamation question mark', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True + }), + ('\U00002049', { + 'desc': 'exclamation question mark', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002753', { + 'desc': 'question mark', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002754', { + 'desc': 'white question mark', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002755', { + 'desc': 'white exclamation mark', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002757', { + 'desc': 'exclamation mark', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00003030\U0000FE0F', { + 'desc': 'wavy dash', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True + }), + ('\U00003030', { + 'desc': 'wavy dash', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U000000A9\U0000FE0F', { + 'desc': 'copyright', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True + }), + ('\U000000A9', { + 'desc': 'copyright', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U000000AE\U0000FE0F', { + 'desc': 'registered', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True + }), + ('\U000000AE', { + 'desc': 'registered', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00002122\U0000FE0F', { + 'desc': 'trade mark', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': True + }), + ('\U00002122', { + 'desc': 'trade mark', + 'group': 'Symbols', + 'subgroup': 'other-symbol', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00000023\U0000FE0F\U000020E3', { + 'desc': 'keycap: #', + 'group': 'Symbols', + 'subgroup': 'keycap', + 'fully-qualified': True, + 'Emoji_Keycap_Sequence': True + }), + ('\U00000023\U000020E3', { + 'desc': 'keycap: #', + 'group': 'Symbols', + 'subgroup': 'keycap', + 'fully-qualified': False, + 'Emoji_Keycap_Sequence': True + }), + ('\U0000002A\U0000FE0F\U000020E3', { + 'desc': 'keycap: *', + 'group': 'Symbols', + 'subgroup': 'keycap', + 'fully-qualified': True, + 'Emoji_Keycap_Sequence': True + }), + ('\U0000002A\U000020E3', { + 'desc': 'keycap: *', + 'group': 'Symbols', + 'subgroup': 'keycap', + 'fully-qualified': False, + 'Emoji_Keycap_Sequence': True + }), + ('\U00000030\U0000FE0F\U000020E3', { + 'desc': 'keycap: 0', + 'group': 'Symbols', + 'subgroup': 'keycap', + 'fully-qualified': True, + 'Emoji_Keycap_Sequence': True + }), + ('\U00000030\U000020E3', { + 'desc': 'keycap: 0', + 'group': 'Symbols', + 'subgroup': 'keycap', + 'fully-qualified': False, + 'Emoji_Keycap_Sequence': True + }), + ('\U00000031\U0000FE0F\U000020E3', { + 'desc': 'keycap: 1', + 'group': 'Symbols', + 'subgroup': 'keycap', + 'fully-qualified': True, + 'Emoji_Keycap_Sequence': True + }), + ('\U00000031\U000020E3', { + 'desc': 'keycap: 1', + 'group': 'Symbols', + 'subgroup': 'keycap', + 'fully-qualified': False, + 'Emoji_Keycap_Sequence': True + }), + ('\U00000032\U0000FE0F\U000020E3', { + 'desc': 'keycap: 2', + 'group': 'Symbols', + 'subgroup': 'keycap', + 'fully-qualified': True, + 'Emoji_Keycap_Sequence': True + }), + ('\U00000032\U000020E3', { + 'desc': 'keycap: 2', + 'group': 'Symbols', + 'subgroup': 'keycap', + 'fully-qualified': False, + 'Emoji_Keycap_Sequence': True + }), + ('\U00000033\U0000FE0F\U000020E3', { + 'desc': 'keycap: 3', + 'group': 'Symbols', + 'subgroup': 'keycap', + 'fully-qualified': True, + 'Emoji_Keycap_Sequence': True + }), + ('\U00000033\U000020E3', { + 'desc': 'keycap: 3', + 'group': 'Symbols', + 'subgroup': 'keycap', + 'fully-qualified': False, + 'Emoji_Keycap_Sequence': True + }), + ('\U00000034\U0000FE0F\U000020E3', { + 'desc': 'keycap: 4', + 'group': 'Symbols', + 'subgroup': 'keycap', + 'fully-qualified': True, + 'Emoji_Keycap_Sequence': True + }), + ('\U00000034\U000020E3', { + 'desc': 'keycap: 4', + 'group': 'Symbols', + 'subgroup': 'keycap', + 'fully-qualified': False, + 'Emoji_Keycap_Sequence': True + }), + ('\U00000035\U0000FE0F\U000020E3', { + 'desc': 'keycap: 5', + 'group': 'Symbols', + 'subgroup': 'keycap', + 'fully-qualified': True, + 'Emoji_Keycap_Sequence': True + }), + ('\U00000035\U000020E3', { + 'desc': 'keycap: 5', + 'group': 'Symbols', + 'subgroup': 'keycap', + 'fully-qualified': False, + 'Emoji_Keycap_Sequence': True + }), + ('\U00000036\U0000FE0F\U000020E3', { + 'desc': 'keycap: 6', + 'group': 'Symbols', + 'subgroup': 'keycap', + 'fully-qualified': True, + 'Emoji_Keycap_Sequence': True + }), + ('\U00000036\U000020E3', { + 'desc': 'keycap: 6', + 'group': 'Symbols', + 'subgroup': 'keycap', + 'fully-qualified': False, + 'Emoji_Keycap_Sequence': True + }), + ('\U00000037\U0000FE0F\U000020E3', { + 'desc': 'keycap: 7', + 'group': 'Symbols', + 'subgroup': 'keycap', + 'fully-qualified': True, + 'Emoji_Keycap_Sequence': True + }), + ('\U00000037\U000020E3', { + 'desc': 'keycap: 7', + 'group': 'Symbols', + 'subgroup': 'keycap', + 'fully-qualified': False, + 'Emoji_Keycap_Sequence': True + }), + ('\U00000038\U0000FE0F\U000020E3', { + 'desc': 'keycap: 8', + 'group': 'Symbols', + 'subgroup': 'keycap', + 'fully-qualified': True, + 'Emoji_Keycap_Sequence': True + }), + ('\U00000038\U000020E3', { + 'desc': 'keycap: 8', + 'group': 'Symbols', + 'subgroup': 'keycap', + 'fully-qualified': False, + 'Emoji_Keycap_Sequence': True + }), + ('\U00000039\U0000FE0F\U000020E3', { + 'desc': 'keycap: 9', + 'group': 'Symbols', + 'subgroup': 'keycap', + 'fully-qualified': True, + 'Emoji_Keycap_Sequence': True + }), + ('\U00000039\U000020E3', { + 'desc': 'keycap: 9', + 'group': 'Symbols', + 'subgroup': 'keycap', + 'fully-qualified': False, + 'Emoji_Keycap_Sequence': True + }), + ('\U0001F51F', { + 'desc': 'keycap: 10', + 'group': 'Symbols', + 'subgroup': 'keycap', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4AF', { + 'desc': 'hundred points', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F520', { + 'desc': 'input latin uppercase', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F521', { + 'desc': 'input latin lowercase', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F522', { + 'desc': 'input numbers', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F523', { + 'desc': 'input symbols', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F524', { + 'desc': 'input latin letters', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F170\U0000FE0F', { + 'desc': 'A button (blood type)', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True + }), + ('\U0001F170', { + 'desc': 'A button (blood type)', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F18E', { + 'desc': 'AB button (blood type)', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F171\U0000FE0F', { + 'desc': 'B button (blood type)', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True + }), + ('\U0001F171', { + 'desc': 'B button (blood type)', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F191', { + 'desc': 'CL button', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F192', { + 'desc': 'COOL button', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F193', { + 'desc': 'FREE button', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002139\U0000FE0F', { + 'desc': 'information', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True + }), + ('\U00002139', { + 'desc': 'information', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F194', { + 'desc': 'ID button', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U000024C2\U0000FE0F', { + 'desc': 'circled M', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True + }), + ('\U000024C2', { + 'desc': 'circled M', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F195', { + 'desc': 'NEW button', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F196', { + 'desc': 'NG button', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F17E\U0000FE0F', { + 'desc': 'O button (blood type)', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True + }), + ('\U0001F17E', { + 'desc': 'O button (blood type)', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F197', { + 'desc': 'OK button', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F17F\U0000FE0F', { + 'desc': 'P button', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True + }), + ('\U0001F17F', { + 'desc': 'P button', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F198', { + 'desc': 'SOS button', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F199', { + 'desc': 'UP! button', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F19A', { + 'desc': 'VS button', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F201', { + 'desc': 'Japanese “here” button', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F202\U0000FE0F', { + 'desc': 'Japanese “service charge” button', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True + }), + ('\U0001F202', { + 'desc': 'Japanese “service charge” button', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F237\U0000FE0F', { + 'desc': 'Japanese “monthly amount” button', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True + }), + ('\U0001F237', { + 'desc': 'Japanese “monthly amount” button', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F236', { + 'desc': 'Japanese “not free of charge” button', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F22F', { + 'desc': 'Japanese “reserved” button', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F250', { + 'desc': 'Japanese “bargain” button', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F239', { + 'desc': 'Japanese “discount” button', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F21A', { + 'desc': 'Japanese “free of charge” button', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F232', { + 'desc': 'Japanese “prohibited” button', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F251', { + 'desc': 'Japanese “acceptable” button', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F238', { + 'desc': 'Japanese “application” button', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F234', { + 'desc': 'Japanese “passing grade” button', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F233', { + 'desc': 'Japanese “vacancy” button', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00003297\U0000FE0F', { + 'desc': 'Japanese “congratulations” button', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True + }), + ('\U00003297', { + 'desc': 'Japanese “congratulations” button', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U00003299\U0000FE0F', { + 'desc': 'Japanese “secret” button', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True + }), + ('\U00003299', { + 'desc': 'Japanese “secret” button', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F23A', { + 'desc': 'Japanese “open for business” button', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F235', { + 'desc': 'Japanese “no vacancy” button', + 'group': 'Symbols', + 'subgroup': 'alphanum', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U000025AA\U0000FE0F', { + 'desc': 'black small square', + 'group': 'Symbols', + 'subgroup': 'geometric', + 'fully-qualified': True + }), + ('\U000025AA', { + 'desc': 'black small square', + 'group': 'Symbols', + 'subgroup': 'geometric', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U000025AB\U0000FE0F', { + 'desc': 'white small square', + 'group': 'Symbols', + 'subgroup': 'geometric', + 'fully-qualified': True + }), + ('\U000025AB', { + 'desc': 'white small square', + 'group': 'Symbols', + 'subgroup': 'geometric', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U000025FB\U0000FE0F', { + 'desc': 'white medium square', + 'group': 'Symbols', + 'subgroup': 'geometric', + 'fully-qualified': True + }), + ('\U000025FB', { + 'desc': 'white medium square', + 'group': 'Symbols', + 'subgroup': 'geometric', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U000025FC\U0000FE0F', { + 'desc': 'black medium square', + 'group': 'Symbols', + 'subgroup': 'geometric', + 'fully-qualified': True + }), + ('\U000025FC', { + 'desc': 'black medium square', + 'group': 'Symbols', + 'subgroup': 'geometric', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U000025FD', { + 'desc': 'white medium-small square', + 'group': 'Symbols', + 'subgroup': 'geometric', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U000025FE', { + 'desc': 'black medium-small square', + 'group': 'Symbols', + 'subgroup': 'geometric', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002B1B', { + 'desc': 'black large square', + 'group': 'Symbols', + 'subgroup': 'geometric', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U00002B1C', { + 'desc': 'white large square', + 'group': 'Symbols', + 'subgroup': 'geometric', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F536', { + 'desc': 'large orange diamond', + 'group': 'Symbols', + 'subgroup': 'geometric', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F537', { + 'desc': 'large blue diamond', + 'group': 'Symbols', + 'subgroup': 'geometric', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F538', { + 'desc': 'small orange diamond', + 'group': 'Symbols', + 'subgroup': 'geometric', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F539', { + 'desc': 'small blue diamond', + 'group': 'Symbols', + 'subgroup': 'geometric', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F53A', { + 'desc': 'red triangle pointed up', + 'group': 'Symbols', + 'subgroup': 'geometric', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F53B', { + 'desc': 'red triangle pointed down', + 'group': 'Symbols', + 'subgroup': 'geometric', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F4A0', { + 'desc': 'diamond with a dot', + 'group': 'Symbols', + 'subgroup': 'geometric', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F518', { + 'desc': 'radio button', + 'group': 'Symbols', + 'subgroup': 'geometric', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F532', { + 'desc': 'black square button', + 'group': 'Symbols', + 'subgroup': 'geometric', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F533', { + 'desc': 'white square button', + 'group': 'Symbols', + 'subgroup': 'geometric', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U000026AA', { + 'desc': 'white circle', + 'group': 'Symbols', + 'subgroup': 'geometric', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U000026AB', { + 'desc': 'black circle', + 'group': 'Symbols', + 'subgroup': 'geometric', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F534', { + 'desc': 'red circle', + 'group': 'Symbols', + 'subgroup': 'geometric', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F535', { + 'desc': 'blue circle', + 'group': 'Symbols', + 'subgroup': 'geometric', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3C1', { + 'desc': 'chequered flag', + 'group': 'Flags', + 'subgroup': 'flag', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F6A9', { + 'desc': 'triangular flag', + 'group': 'Flags', + 'subgroup': 'flag', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F38C', { + 'desc': 'crossed flags', + 'group': 'Flags', + 'subgroup': 'flag', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3F4', { + 'desc': 'black flag', + 'group': 'Flags', + 'subgroup': 'flag', + 'fully-qualified': True, + 'Emoji': True, + 'Emoji_Presentation': True, + 'Extended_Pictographic': True + }), + ('\U0001F3F3\U0000FE0F', { + 'desc': 'white flag', + 'group': 'Flags', + 'subgroup': 'flag', + 'fully-qualified': True + }), + ('\U0001F3F3', { + 'desc': 'white flag', + 'group': 'Flags', + 'subgroup': 'flag', + 'fully-qualified': False, + 'Emoji': True, + 'Extended_Pictographic': True + }), + ('\U0001F3F3\U0000FE0F\U0000200D\U0001F308', { + 'desc': 'rainbow flag', + 'group': 'Flags', + 'subgroup': 'flag', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F3F3\U0000200D\U0001F308', { + 'desc': 'rainbow flag', + 'group': 'Flags', + 'subgroup': 'flag', + 'fully-qualified': False + }), + ('\U0001F3F4\U0000200D\U00002620\U0000FE0F', { + 'desc': 'pirate flag', + 'group': 'Flags', + 'subgroup': 'flag', + 'fully-qualified': True, + 'Emoji_ZWJ_Sequence': True + }), + ('\U0001F3F4\U0000200D\U00002620', { + 'desc': 'pirate flag', + 'group': 'Flags', + 'subgroup': 'flag', + 'fully-qualified': False + }), + ('\U0001F1E6\U0001F1E8', { + 'desc': 'Ascension Island', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E6\U0001F1E9', { + 'desc': 'Andorra', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E6\U0001F1EA', { + 'desc': 'United Arab Emirates', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E6\U0001F1EB', { + 'desc': 'Afghanistan', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E6\U0001F1EC', { + 'desc': 'Antigua & Barbuda', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E6\U0001F1EE', { + 'desc': 'Anguilla', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E6\U0001F1F1', { + 'desc': 'Albania', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E6\U0001F1F2', { + 'desc': 'Armenia', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E6\U0001F1F4', { + 'desc': 'Angola', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E6\U0001F1F6', { + 'desc': 'Antarctica', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E6\U0001F1F7', { + 'desc': 'Argentina', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E6\U0001F1F8', { + 'desc': 'American Samoa', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E6\U0001F1F9', { + 'desc': 'Austria', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E6\U0001F1FA', { + 'desc': 'Australia', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E6\U0001F1FC', { + 'desc': 'Aruba', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E6\U0001F1FD', { + 'desc': 'Åland Islands', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E6\U0001F1FF', { + 'desc': 'Azerbaijan', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E7\U0001F1E6', { + 'desc': 'Bosnia & Herzegovina', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E7\U0001F1E7', { + 'desc': 'Barbados', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E7\U0001F1E9', { + 'desc': 'Bangladesh', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E7\U0001F1EA', { + 'desc': 'Belgium', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E7\U0001F1EB', { + 'desc': 'Burkina Faso', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E7\U0001F1EC', { + 'desc': 'Bulgaria', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E7\U0001F1ED', { + 'desc': 'Bahrain', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E7\U0001F1EE', { + 'desc': 'Burundi', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E7\U0001F1EF', { + 'desc': 'Benin', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E7\U0001F1F1', { + 'desc': 'St. Barthélemy', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E7\U0001F1F2', { + 'desc': 'Bermuda', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E7\U0001F1F3', { + 'desc': 'Brunei', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E7\U0001F1F4', { + 'desc': 'Bolivia', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E7\U0001F1F6', { + 'desc': 'Caribbean Netherlands', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E7\U0001F1F7', { + 'desc': 'Brazil', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E7\U0001F1F8', { + 'desc': 'Bahamas', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E7\U0001F1F9', { + 'desc': 'Bhutan', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E7\U0001F1FB', { + 'desc': 'Bouvet Island', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E7\U0001F1FC', { + 'desc': 'Botswana', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E7\U0001F1FE', { + 'desc': 'Belarus', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E7\U0001F1FF', { + 'desc': 'Belize', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E8\U0001F1E6', { + 'desc': 'Canada', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E8\U0001F1E8', { + 'desc': 'Cocos (Keeling) Islands', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E8\U0001F1E9', { + 'desc': 'Congo - Kinshasa', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E8\U0001F1EB', { + 'desc': 'Central African Republic', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E8\U0001F1EC', { + 'desc': 'Congo - Brazzaville', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E8\U0001F1ED', { + 'desc': 'Switzerland', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E8\U0001F1EE', { + 'desc': 'Côte d’Ivoire', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E8\U0001F1F0', { + 'desc': 'Cook Islands', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E8\U0001F1F1', { + 'desc': 'Chile', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E8\U0001F1F2', { + 'desc': 'Cameroon', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E8\U0001F1F3', { + 'desc': 'China', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E8\U0001F1F4', { + 'desc': 'Colombia', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E8\U0001F1F5', { + 'desc': 'Clipperton Island', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E8\U0001F1F7', { + 'desc': 'Costa Rica', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E8\U0001F1FA', { + 'desc': 'Cuba', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E8\U0001F1FB', { + 'desc': 'Cape Verde', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E8\U0001F1FC', { + 'desc': 'Curaçao', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E8\U0001F1FD', { + 'desc': 'Christmas Island', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E8\U0001F1FE', { + 'desc': 'Cyprus', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E8\U0001F1FF', { + 'desc': 'Czechia', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E9\U0001F1EA', { + 'desc': 'Germany', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E9\U0001F1EC', { + 'desc': 'Diego Garcia', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E9\U0001F1EF', { + 'desc': 'Djibouti', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E9\U0001F1F0', { + 'desc': 'Denmark', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E9\U0001F1F2', { + 'desc': 'Dominica', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E9\U0001F1F4', { + 'desc': 'Dominican Republic', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1E9\U0001F1FF', { + 'desc': 'Algeria', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EA\U0001F1E6', { + 'desc': 'Ceuta & Melilla', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EA\U0001F1E8', { + 'desc': 'Ecuador', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EA\U0001F1EA', { + 'desc': 'Estonia', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EA\U0001F1EC', { + 'desc': 'Egypt', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EA\U0001F1ED', { + 'desc': 'Western Sahara', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EA\U0001F1F7', { + 'desc': 'Eritrea', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EA\U0001F1F8', { + 'desc': 'Spain', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EA\U0001F1F9', { + 'desc': 'Ethiopia', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EA\U0001F1FA', { + 'desc': 'European Union', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EB\U0001F1EE', { + 'desc': 'Finland', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EB\U0001F1EF', { + 'desc': 'Fiji', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EB\U0001F1F0', { + 'desc': 'Falkland Islands', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EB\U0001F1F2', { + 'desc': 'Micronesia', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EB\U0001F1F4', { + 'desc': 'Faroe Islands', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EB\U0001F1F7', { + 'desc': 'France', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EC\U0001F1E6', { + 'desc': 'Gabon', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EC\U0001F1E7', { + 'desc': 'United Kingdom', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EC\U0001F1E9', { + 'desc': 'Grenada', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EC\U0001F1EA', { + 'desc': 'Georgia', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EC\U0001F1EB', { + 'desc': 'French Guiana', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EC\U0001F1EC', { + 'desc': 'Guernsey', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EC\U0001F1ED', { + 'desc': 'Ghana', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EC\U0001F1EE', { + 'desc': 'Gibraltar', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EC\U0001F1F1', { + 'desc': 'Greenland', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EC\U0001F1F2', { + 'desc': 'Gambia', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EC\U0001F1F3', { + 'desc': 'Guinea', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EC\U0001F1F5', { + 'desc': 'Guadeloupe', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EC\U0001F1F6', { + 'desc': 'Equatorial Guinea', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EC\U0001F1F7', { + 'desc': 'Greece', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EC\U0001F1F8', { + 'desc': 'South Georgia & South Sandwich Islands', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EC\U0001F1F9', { + 'desc': 'Guatemala', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EC\U0001F1FA', { + 'desc': 'Guam', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EC\U0001F1FC', { + 'desc': 'Guinea-Bissau', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EC\U0001F1FE', { + 'desc': 'Guyana', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1ED\U0001F1F0', { + 'desc': 'Hong Kong SAR China', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1ED\U0001F1F2', { + 'desc': 'Heard & McDonald Islands', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1ED\U0001F1F3', { + 'desc': 'Honduras', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1ED\U0001F1F7', { + 'desc': 'Croatia', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1ED\U0001F1F9', { + 'desc': 'Haiti', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1ED\U0001F1FA', { + 'desc': 'Hungary', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EE\U0001F1E8', { + 'desc': 'Canary Islands', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EE\U0001F1E9', { + 'desc': 'Indonesia', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EE\U0001F1EA', { + 'desc': 'Ireland', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EE\U0001F1F1', { + 'desc': 'Israel', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EE\U0001F1F2', { + 'desc': 'Isle of Man', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EE\U0001F1F3', { + 'desc': 'India', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EE\U0001F1F4', { + 'desc': 'British Indian Ocean Territory', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EE\U0001F1F6', { + 'desc': 'Iraq', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EE\U0001F1F7', { + 'desc': 'Iran', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EE\U0001F1F8', { + 'desc': 'Iceland', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EE\U0001F1F9', { + 'desc': 'Italy', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EF\U0001F1EA', { + 'desc': 'Jersey', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EF\U0001F1F2', { + 'desc': 'Jamaica', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EF\U0001F1F4', { + 'desc': 'Jordan', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1EF\U0001F1F5', { + 'desc': 'Japan', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F0\U0001F1EA', { + 'desc': 'Kenya', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F0\U0001F1EC', { + 'desc': 'Kyrgyzstan', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F0\U0001F1ED', { + 'desc': 'Cambodia', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F0\U0001F1EE', { + 'desc': 'Kiribati', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F0\U0001F1F2', { + 'desc': 'Comoros', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F0\U0001F1F3', { + 'desc': 'St. Kitts & Nevis', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F0\U0001F1F5', { + 'desc': 'North Korea', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F0\U0001F1F7', { + 'desc': 'South Korea', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F0\U0001F1FC', { + 'desc': 'Kuwait', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F0\U0001F1FE', { + 'desc': 'Cayman Islands', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F0\U0001F1FF', { + 'desc': 'Kazakhstan', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F1\U0001F1E6', { + 'desc': 'Laos', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F1\U0001F1E7', { + 'desc': 'Lebanon', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F1\U0001F1E8', { + 'desc': 'St. Lucia', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F1\U0001F1EE', { + 'desc': 'Liechtenstein', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F1\U0001F1F0', { + 'desc': 'Sri Lanka', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F1\U0001F1F7', { + 'desc': 'Liberia', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F1\U0001F1F8', { + 'desc': 'Lesotho', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F1\U0001F1F9', { + 'desc': 'Lithuania', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F1\U0001F1FA', { + 'desc': 'Luxembourg', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F1\U0001F1FB', { + 'desc': 'Latvia', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F1\U0001F1FE', { + 'desc': 'Libya', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F2\U0001F1E6', { + 'desc': 'Morocco', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F2\U0001F1E8', { + 'desc': 'Monaco', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F2\U0001F1E9', { + 'desc': 'Moldova', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F2\U0001F1EA', { + 'desc': 'Montenegro', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F2\U0001F1EB', { + 'desc': 'St. Martin', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F2\U0001F1EC', { + 'desc': 'Madagascar', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F2\U0001F1ED', { + 'desc': 'Marshall Islands', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F2\U0001F1F0', { + 'desc': 'Macedonia', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F2\U0001F1F1', { + 'desc': 'Mali', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F2\U0001F1F2', { + 'desc': 'Myanmar (Burma)', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F2\U0001F1F3', { + 'desc': 'Mongolia', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F2\U0001F1F4', { + 'desc': 'Macau SAR China', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F2\U0001F1F5', { + 'desc': 'Northern Mariana Islands', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F2\U0001F1F6', { + 'desc': 'Martinique', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F2\U0001F1F7', { + 'desc': 'Mauritania', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F2\U0001F1F8', { + 'desc': 'Montserrat', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F2\U0001F1F9', { + 'desc': 'Malta', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F2\U0001F1FA', { + 'desc': 'Mauritius', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F2\U0001F1FB', { + 'desc': 'Maldives', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F2\U0001F1FC', { + 'desc': 'Malawi', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F2\U0001F1FD', { + 'desc': 'Mexico', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F2\U0001F1FE', { + 'desc': 'Malaysia', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F2\U0001F1FF', { + 'desc': 'Mozambique', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F3\U0001F1E6', { + 'desc': 'Namibia', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F3\U0001F1E8', { + 'desc': 'New Caledonia', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F3\U0001F1EA', { + 'desc': 'Niger', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F3\U0001F1EB', { + 'desc': 'Norfolk Island', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F3\U0001F1EC', { + 'desc': 'Nigeria', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F3\U0001F1EE', { + 'desc': 'Nicaragua', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F3\U0001F1F1', { + 'desc': 'Netherlands', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F3\U0001F1F4', { + 'desc': 'Norway', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F3\U0001F1F5', { + 'desc': 'Nepal', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F3\U0001F1F7', { + 'desc': 'Nauru', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F3\U0001F1FA', { + 'desc': 'Niue', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F3\U0001F1FF', { + 'desc': 'New Zealand', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F4\U0001F1F2', { + 'desc': 'Oman', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F5\U0001F1E6', { + 'desc': 'Panama', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F5\U0001F1EA', { + 'desc': 'Peru', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F5\U0001F1EB', { + 'desc': 'French Polynesia', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F5\U0001F1EC', { + 'desc': 'Papua New Guinea', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F5\U0001F1ED', { + 'desc': 'Philippines', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F5\U0001F1F0', { + 'desc': 'Pakistan', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F5\U0001F1F1', { + 'desc': 'Poland', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F5\U0001F1F2', { + 'desc': 'St. Pierre & Miquelon', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F5\U0001F1F3', { + 'desc': 'Pitcairn Islands', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F5\U0001F1F7', { + 'desc': 'Puerto Rico', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F5\U0001F1F8', { + 'desc': 'Palestinian Territories', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F5\U0001F1F9', { + 'desc': 'Portugal', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F5\U0001F1FC', { + 'desc': 'Palau', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F5\U0001F1FE', { + 'desc': 'Paraguay', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F6\U0001F1E6', { + 'desc': 'Qatar', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F7\U0001F1EA', { + 'desc': 'Réunion', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F7\U0001F1F4', { + 'desc': 'Romania', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F7\U0001F1F8', { + 'desc': 'Serbia', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F7\U0001F1FA', { + 'desc': 'Russia', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F7\U0001F1FC', { + 'desc': 'Rwanda', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F8\U0001F1E6', { + 'desc': 'Saudi Arabia', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F8\U0001F1E7', { + 'desc': 'Solomon Islands', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F8\U0001F1E8', { + 'desc': 'Seychelles', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F8\U0001F1E9', { + 'desc': 'Sudan', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F8\U0001F1EA', { + 'desc': 'Sweden', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F8\U0001F1EC', { + 'desc': 'Singapore', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F8\U0001F1ED', { + 'desc': 'St. Helena', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F8\U0001F1EE', { + 'desc': 'Slovenia', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F8\U0001F1EF', { + 'desc': 'Svalbard & Jan Mayen', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F8\U0001F1F0', { + 'desc': 'Slovakia', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F8\U0001F1F1', { + 'desc': 'Sierra Leone', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F8\U0001F1F2', { + 'desc': 'San Marino', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F8\U0001F1F3', { + 'desc': 'Senegal', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F8\U0001F1F4', { + 'desc': 'Somalia', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F8\U0001F1F7', { + 'desc': 'Suriname', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F8\U0001F1F8', { + 'desc': 'South Sudan', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F8\U0001F1F9', { + 'desc': 'São Tomé & Príncipe', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F8\U0001F1FB', { + 'desc': 'El Salvador', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F8\U0001F1FD', { + 'desc': 'Sint Maarten', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F8\U0001F1FE', { + 'desc': 'Syria', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F8\U0001F1FF', { + 'desc': 'Swaziland', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F9\U0001F1E6', { + 'desc': 'Tristan da Cunha', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F9\U0001F1E8', { + 'desc': 'Turks & Caicos Islands', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F9\U0001F1E9', { + 'desc': 'Chad', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F9\U0001F1EB', { + 'desc': 'French Southern Territories', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F9\U0001F1EC', { + 'desc': 'Togo', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F9\U0001F1ED', { + 'desc': 'Thailand', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F9\U0001F1EF', { + 'desc': 'Tajikistan', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F9\U0001F1F0', { + 'desc': 'Tokelau', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F9\U0001F1F1', { + 'desc': 'Timor-Leste', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F9\U0001F1F2', { + 'desc': 'Turkmenistan', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F9\U0001F1F3', { + 'desc': 'Tunisia', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F9\U0001F1F4', { + 'desc': 'Tonga', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F9\U0001F1F7', { + 'desc': 'Turkey', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F9\U0001F1F9', { + 'desc': 'Trinidad & Tobago', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F9\U0001F1FB', { + 'desc': 'Tuvalu', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F9\U0001F1FC', { + 'desc': 'Taiwan', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1F9\U0001F1FF', { + 'desc': 'Tanzania', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1FA\U0001F1E6', { + 'desc': 'Ukraine', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1FA\U0001F1EC', { + 'desc': 'Uganda', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1FA\U0001F1F2', { + 'desc': 'U.S. Outlying Islands', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1FA\U0001F1F3', { + 'desc': 'United Nations', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1FA\U0001F1F8', { + 'desc': 'United States', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1FA\U0001F1FE', { + 'desc': 'Uruguay', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1FA\U0001F1FF', { + 'desc': 'Uzbekistan', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1FB\U0001F1E6', { + 'desc': 'Vatican City', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1FB\U0001F1E8', { + 'desc': 'St. Vincent & Grenadines', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1FB\U0001F1EA', { + 'desc': 'Venezuela', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1FB\U0001F1EC', { + 'desc': 'British Virgin Islands', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1FB\U0001F1EE', { + 'desc': 'U.S. Virgin Islands', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1FB\U0001F1F3', { + 'desc': 'Vietnam', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1FB\U0001F1FA', { + 'desc': 'Vanuatu', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1FC\U0001F1EB', { + 'desc': 'Wallis & Futuna', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1FC\U0001F1F8', { + 'desc': 'Samoa', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1FD\U0001F1F0', { + 'desc': 'Kosovo', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1FE\U0001F1EA', { + 'desc': 'Yemen', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1FE\U0001F1F9', { + 'desc': 'Mayotte', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1FF\U0001F1E6', { + 'desc': 'South Africa', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1FF\U0001F1F2', { + 'desc': 'Zambia', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F1FF\U0001F1FC', { + 'desc': 'Zimbabwe', + 'group': 'Flags', + 'subgroup': 'country-flag', + 'fully-qualified': True, + 'Emoji_Flag_Sequence': True + }), + ('\U0001F3F4\U000E0067\U000E0062\U000E0065\U000E006E\U000E0067\U000E007F', { + 'desc': 'England', + 'group': 'Flags', + 'subgroup': 'subdivision-flag', + 'fully-qualified': True, + 'Emoji_Tag_Sequence': True + }), + ('\U0001F3F4\U000E0067\U000E0062\U000E0073\U000E0063\U000E0074\U000E007F', { + 'desc': 'Scotland', + 'group': 'Flags', + 'subgroup': 'subdivision-flag', + 'fully-qualified': True, + 'Emoji_Tag_Sequence': True + }), + ('\U0001F3F4\U000E0067\U000E0062\U000E0077\U000E006C\U000E0073\U000E007F', { + 'desc': 'Wales', + 'group': 'Flags', + 'subgroup': 'subdivision-flag', + 'fully-qualified': True, + 'Emoji_Tag_Sequence': True + }) +]) diff --git a/gajim/gtk/exception.py b/gajim/gtk/exception.py new file mode 100644 index 0000000..2d4b1c4 --- /dev/null +++ b/gajim/gtk/exception.py @@ -0,0 +1,130 @@ +# Copyright (C) 2016-2018 Philipp Hörist +# Copyright (C) 2005-2006 Nikos Kouremenos +# Copyright (C) 2005-2014 Yann Leboulanger +# Copyright (C) 2008 Stephan Erb +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import sys +import os +import traceback +import threading +import webbrowser +import platform +from io import StringIO +from urllib.parse import urlencode + +from gi.repository import Gtk +from gi.repository import GObject +from gi.repository import GLib + +import nbxmpp + +import gajim +from gajim.common import configpaths +from .util import get_builder + + +_exception_in_progress = threading.Lock() + +ISSUE_TEXT = '''## Versions +- OS: {} +- GTK Version: {} +- PyGObject Version: {} +- GLib Version : {} +- python-nbxmpp Version: {} +- Gajim Version: {} + +## Traceback +``` +{} +``` +## Steps to reproduce the problem +...''' + + +def _hook(type_, value, tb): + if not _exception_in_progress.acquire(False): + # Exceptions have piled up, so we use the default exception + # handler for such exceptions + sys.__excepthook__(type_, value, tb) + return + + ExceptionDialog(type_, value, tb) + _exception_in_progress.release() + + +class ExceptionDialog(): + def __init__(self, type_, value, tb): + path = configpaths.get('GUI') / 'exception_dialog.ui' + self._ui = get_builder(path.resolve()) + self._ui.connect_signals(self) + + self._ui.report_btn.grab_focus() + + buffer_ = self._ui.exception_view.get_buffer() + trace = StringIO() + traceback.print_exception(type_, value, tb, None, trace) + self.text = self.get_issue_text(trace.getvalue()) + buffer_.set_text(self.text) + print(self.text, file=sys.stderr) + + self._ui.exception_view.set_editable(False) + self._ui.exception_dialog.show() + + def on_report_clicked(self, *args): + issue_url = 'https://dev.gajim.org/gajim/gajim/issues/new' + params = {'issue[description]': self.text} + url = '{}?{}'.format(issue_url, urlencode(params)) + webbrowser.open(url, new=2) + + def on_close_clicked(self, *args): + self._ui.exception_dialog.destroy() + + @staticmethod + def get_issue_text(traceback_text): + gtk_ver = '%i.%i.%i' % ( + Gtk.get_major_version(), + Gtk.get_minor_version(), + Gtk.get_micro_version()) + gobject_ver = '.'.join(map(str, GObject.pygobject_version)) + glib_ver = '.'.join(map(str, [GLib.MAJOR_VERSION, + GLib.MINOR_VERSION, + GLib.MICRO_VERSION])) + + return ISSUE_TEXT.format(get_os_info(), + gtk_ver, + gobject_ver, + glib_ver, + nbxmpp.__version__, + gajim.__version__, + traceback_text) + + +def init(): + if os.name == 'nt' or not sys.stderr.isatty(): + sys.excepthook = _hook + + +def get_os_info(): + if os.name == 'nt' or sys.platform == 'darwin': + return platform.system() + " " + platform.release() + if os.name == 'posix': + try: + import distro + return distro.name(pretty=True) + except ImportError: + return platform.system() + return '' diff --git a/gajim/gtk/features.py b/gajim/gtk/features.py new file mode 100644 index 0000000..9fb3a5b --- /dev/null +++ b/gajim/gtk/features.py @@ -0,0 +1,225 @@ +# Copyright (C) 2007 Jean-Marie Traissard +# Julien Pivotto +# Stefan Bethge +# Stephan Erb +# Copyright (C) 2007-2014 Yann Leboulanger +# Copyright (C) 2008 Jonathan Schleifer +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import os +import sys +from collections import namedtuple + +from gi.repository import Gtk +from gi.repository import Gdk + +from gajim.common import app +from gajim.common.i18n import _ + + +class Features(Gtk.ApplicationWindow): + def __init__(self): + Gtk.ApplicationWindow.__init__(self) + self.set_application(app.app) + self.set_position(Gtk.WindowPosition.CENTER) + self.set_show_menubar(False) + self.set_name('Features') + self.set_title(_('Features')) + self.set_resizable(False) + self.set_transient_for(app.interface.roster.window) + + grid = Gtk.Grid() + grid.set_name('FeaturesInfoGrid') + grid.set_row_spacing(10) + grid.set_hexpand(True) + + self.feature_listbox = Gtk.ListBox() + self.feature_listbox.set_selection_mode(Gtk.SelectionMode.NONE) + + grid.attach(self.feature_listbox, 0, 0, 1, 1) + + box = Gtk.Box() + box.pack_start(grid, True, True, 0) + box.set_property('margin', 12) + box.set_spacing(18) + self.add(box) + + self.connect('key-press-event', self._on_key_press) + + for feature in self._get_features(): + self._add_feature(feature) + + self.show_all() + + def _on_key_press(self, _widget, event): + if event.keyval == Gdk.KEY_Escape: + self.destroy() + + def _add_feature(self, feature): + item = FeatureItem(feature) + self.feature_listbox.add(item) + item.get_parent().set_tooltip_text(item.tooltip) + + def _get_features(self): + Feature = namedtuple('Feature', + ['name', 'available', 'tooltip', + 'dependency_u', 'dependency_w', 'enabled']) + + notification_sounds_available = ( + app.is_installed('GSOUND') or sys.platform in ('win32', 'darwin')) + notification_sounds_enabled = app.settings.get('sounds_on') + spell_check_enabled = app.settings.get('use_speller') + + auto_status = [app.settings.get('autoaway'), app.settings.get('autoxa')] + auto_status_enabled = bool(any(auto_status)) + + return [ + Feature(_('Audio / Video'), + app.is_installed('AV'), + _('Enables Gajim to provide Audio and Video chats'), + _('Requires: gir1.2-farstream-0.2, gir1.2-gstreamer-1.0, ' + 'gstreamer1.0-plugins-base, gstreamer1.0-plugins-ugly, ' + 'gstreamer1.0-libav, and gstreamer1.0-gtk3'), + _('Feature not available under Windows'), + None), + Feature(_('Automatic Status'), + self._idle_available(), + _('Enables Gajim to measure your computer\'s idle time in ' + 'order to set your Status automatically'), + _('Requires: libxss'), + _('No additional requirements'), + auto_status_enabled), + Feature(_('Bonjour / Zeroconf (Serverless Chat)'), + app.is_installed('ZEROCONF'), + _('Enables Gajim to automatically detected clients in a ' + 'local network for serverless chats'), + _('Requires: gir1.2-avahi-0.6'), + _('Requires: pybonjour and bonjour SDK running (%(url)s)') + % {'url': 'https://developer.apple.com/opensource/)'}, + None), + Feature(_('Location detection'), + app.is_installed('GEOCLUE'), + _('Enables Gajim to be location-aware, if the user decides ' + 'to publish the device’s location'), + _('Requires: geoclue'), + _('Feature is not available under Windows'), + None), + Feature(_('Notification Sounds'), + notification_sounds_available, + _('Enables Gajim to play sounds for various notifications'), + _('Requires: gsound'), + _('No additional requirements'), + notification_sounds_enabled), + Feature(_('Secure Password Storage'), + self._some_keyring_available(), + _('Enables Gajim to store Passwords securely instead of ' + 'storing them in plaintext'), + _('Requires: gnome-keyring or kwallet'), + _('Windows Credential Vault is used for secure password ' + 'storage'), + app.settings.get('use_keyring')), + Feature(_('Spell Checker'), + app.is_installed('GSPELL'), + _('Enables Gajim to spell check your messages while ' + 'composing'), + _('Requires: Gspell'), + _('Requires: Gspell'), + spell_check_enabled), + Feature(_('UPnP-IGD Port Forwarding'), + app.is_installed('UPNP'), + _('Enables Gajim to request your router to forward ports ' + 'for file transfers'), + _('Requires: gir1.2-gupnpigd-1.0'), + _('Feature not available under Windows'), + None) + ] + + @staticmethod + def _some_keyring_available(): + import keyring + backends = keyring.backend.get_all_keyring() + return any(keyring.core.recommended(backend) for backend in backends) + + @staticmethod + def _idle_available(): + from gajim.common import idle + return idle.Monitor.is_available() + + +class FeatureItem(Gtk.Grid): + def __init__(self, feature): + super().__init__() + self.set_column_spacing(12) + + self.tooltip = feature.tooltip + self.feature_dependency_u_text = feature.dependency_u + self.feature_dependency_w_text = feature.dependency_w + + self.box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=6) + self.feature_label = Gtk.Label(label=feature.name) + self.feature_label.set_halign(Gtk.Align.START) + self.box.pack_start(self.feature_label, True, True, 0) + + self.feature_dependency_u = Gtk.Label(label=feature.dependency_u) + self.feature_dependency_u.get_style_context().add_class('dim-label') + self.feature_dependency_w = Gtk.Label(label=feature.dependency_w) + self.feature_dependency_w.get_style_context().add_class('dim-label') + + if not feature.available: + self.feature_dependency_u.set_halign(Gtk.Align.START) + self.feature_dependency_u.set_xalign(0.0) + self.feature_dependency_u.set_yalign(0.0) + self.feature_dependency_u.set_line_wrap(True) + self.feature_dependency_u.set_max_width_chars(50) + self.feature_dependency_u.set_selectable(True) + self.feature_dependency_w.set_halign(Gtk.Align.START) + self.feature_dependency_w.set_xalign(0.0) + self.feature_dependency_w.set_yalign(0.0) + self.feature_dependency_w.set_line_wrap(True) + self.feature_dependency_w.set_max_width_chars(50) + self.feature_dependency_w.set_selectable(True) + + if os.name == 'nt': + self.box.pack_start(self.feature_dependency_w, True, True, 0) + else: + self.box.pack_start(self.feature_dependency_u, True, True, 0) + + self.icon = Gtk.Image() + self.label_disabled = Gtk.Label(label=_('Disabled in Preferences')) + self.label_disabled.get_style_context().add_class('dim-label') + self.set_feature(feature.available, feature.enabled) + + self.add(self.icon) + self.add(self.box) + + def set_feature(self, available, enabled): + self.icon.get_style_context().remove_class('error-color') + self.icon.get_style_context().remove_class('warning-color') + self.icon.get_style_context().remove_class('success-color') + + if not available: + self.icon.set_from_icon_name('window-close-symbolic', + Gtk.IconSize.MENU) + self.icon.get_style_context().add_class('error-color') + elif enabled is False: + self.icon.set_from_icon_name('dialog-warning-symbolic', + Gtk.IconSize.MENU) + self.box.pack_start(self.label_disabled, True, True, 0) + self.icon.get_style_context().add_class('warning-color') + else: + self.icon.set_from_icon_name('emblem-ok-symbolic', + Gtk.IconSize.MENU) + self.icon.get_style_context().add_class('success-color') diff --git a/gajim/gtk/filechoosers.py b/gajim/gtk/filechoosers.py new file mode 100644 index 0000000..1003862 --- /dev/null +++ b/gajim/gtk/filechoosers.py @@ -0,0 +1,221 @@ +# Copyright (C) 2018 Philipp Hörist +# +# This file is part of Gajim. +# +# Gajim is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Gajim 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 Gajim. If not, see . + +from typing import List + +import os +import sys +from pathlib import Path + +from gi.repository import Gtk +from gi.repository import GdkPixbuf +from gi.repository import GLib + +from gajim.common import app +from gajim.common.i18n import _ + +from .const import Filter + + +def _require_native() -> bool: + if app.is_flatpak(): + return True + if sys.platform in ('win32', 'darwin'): + return True + return False + + +# Notes: Adding mime types to Gtk.FileFilter forces non-native dialogs + +class BaseFileChooser: + def _on_response(self, dialog, response, accept_cb, cancel_cb): + if response == Gtk.ResponseType.ACCEPT: + if self.get_select_multiple(): + accept_cb(dialog.get_filenames()) + else: + accept_cb(dialog.get_filename()) + + if response in (Gtk.ResponseType.CANCEL, + Gtk.ResponseType.DELETE_EVENT): + if cancel_cb is not None: + cancel_cb() + + def _add_filters(self, filters): + for filterinfo in filters: + filter_ = Gtk.FileFilter() + filter_.set_name(filterinfo.name) + if isinstance(filterinfo.pattern, list): + for mime_type in filterinfo.pattern: + filter_.add_mime_type(mime_type) + else: + filter_.add_pattern(filterinfo.pattern) + self.add_filter(filter_) + if filterinfo.default: + self.set_filter(filter_) + + def _update_preview(self, filechooser): + path_to_file = filechooser.get_preview_filename() + preview = filechooser.get_preview_widget() + if path_to_file is None or os.path.isdir(path_to_file): + # nothing to preview + preview.clear() + return + try: + pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size( + path_to_file, *self._preivew_size) + except GLib.GError: + preview.clear() + return + filechooser.get_preview_widget().set_from_pixbuf(pixbuf) + + +class BaseFileOpenDialog: + + _title = _('Choose File to Send…') + _filters = [Filter(_('All files'), '*', True)] + + +class BaseAvatarChooserDialog: + + _title = _('Choose Avatar…') + _preivew_size = (100, 100) + + if _require_native(): + _filters = [Filter(_('PNG files'), '*.png', True), + Filter(_('JPEG files'), '*.jp*g', False), + Filter(_('SVG files'), '*.svg', False)] + else: + _filters = [Filter(_('Images'), ['image/png', + 'image/jpeg', + 'image/svg+xml'], True)] + + +class NativeFileChooserDialog(Gtk.FileChooserNative, BaseFileChooser): + + _title = '' + _filters: List[Filter] = [] + _action = Gtk.FileChooserAction.OPEN + + def __init__(self, accept_cb, cancel_cb=None, transient_for=None, + path=None, file_name=None, select_multiple=False, + modal=False): + + if transient_for is None: + transient_for = app.app.get_active_window() + + Gtk.FileChooserNative.__init__(self, + title=self._title, + action=self._action, + transient_for=transient_for) + + self.set_current_folder(path or str(Path.home())) + if file_name is not None: + self.set_current_name(file_name) + self.set_select_multiple(select_multiple) + self.set_do_overwrite_confirmation(True) + self.set_modal(modal) + self._add_filters(self._filters) + + self.connect('response', self._on_response, accept_cb, cancel_cb) + self.show() + + +class ArchiveChooserDialog(NativeFileChooserDialog): + + _title = _('Choose Archive') + _filters = [Filter(_('All files'), '*', False), + Filter(_('ZIP files'), '*.zip', True)] + + +class FileSaveDialog(NativeFileChooserDialog): + + _title = _('Save File as…') + _filters = [Filter(_('All files'), '*', True)] + _action = Gtk.FileChooserAction.SAVE + + +class NativeFileOpenDialog(BaseFileOpenDialog, NativeFileChooserDialog): + pass + + +class NativeAvatarChooserDialog(BaseAvatarChooserDialog, NativeFileChooserDialog): + pass + + +class GtkFileChooserDialog(Gtk.FileChooserDialog, BaseFileChooser): + + _title = '' + _filters: List[Filter] = [] + _action = Gtk.FileChooserAction.OPEN + _preivew_size = (200, 200) + + def __init__(self, accept_cb, cancel_cb=None, transient_for=None, + path=None, file_name=None, select_multiple=False, + preview=True, modal=False): + + if transient_for is None: + transient_for = app.app.get_active_window() + + Gtk.FileChooserDialog.__init__( + self, + title=self._title, + action=self._action, + transient_for=transient_for) + + self.add_button(_('_Cancel'), Gtk.ResponseType.CANCEL) + open_button = self.add_button(_('_Open'), Gtk.ResponseType.ACCEPT) + open_button.get_style_context().add_class('suggested-action') + + self.set_current_folder(path or str(Path.home())) + if file_name is not None: + self.set_current_name(file_name) + self.set_select_multiple(select_multiple) + self.set_do_overwrite_confirmation(True) + self.set_modal(modal) + self._add_filters(self._filters) + + if preview: + self.set_use_preview_label(False) + self.set_preview_widget(Gtk.Image()) + self.connect('selection-changed', self._update_preview) + + self.connect('response', self._on_response, accept_cb, cancel_cb) + self.show() + + def _on_response(self, *args): + super()._on_response(*args) + self.destroy() + + +class GtkFileOpenDialog(BaseFileOpenDialog, GtkFileChooserDialog): + pass + + +class GtkAvatarChooserDialog(BaseAvatarChooserDialog, GtkFileChooserDialog): + pass + + +def FileChooserDialog(*args, **kwargs): + if _require_native(): + return NativeFileOpenDialog(*args, **kwargs) + return GtkFileOpenDialog(*args, **kwargs) + + +def AvatarChooserDialog(*args, **kwargs): + if _require_native(): + return NativeAvatarChooserDialog(*args, **kwargs) + return GtkAvatarChooserDialog(*args, **kwargs) diff --git a/gajim/gtk/filetransfer.py b/gajim/gtk/filetransfer.py new file mode 100644 index 0000000..2390a19 --- /dev/null +++ b/gajim/gtk/filetransfer.py @@ -0,0 +1,1097 @@ +# Copyright (C) 2003-2014 Yann Leboulanger +# Copyright (C) 2005-2006 Dimitur Kirov +# Copyright (C) 2005-2007 Nikos Kouremenos +# Copyright (C) 2006 Travis Shirk +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import os +import time +import logging +from functools import partial +from pathlib import Path +from enum import IntEnum, unique +from datetime import datetime + +from gi.repository import Gtk +from gi.repository import Gdk +from gi.repository import GLib +from gi.repository import Pango + +from gajim import gtkgui_helpers + +from gajim.common import app +from gajim.common import helpers +from gajim.common.i18n import _ +from gajim.common.file_props import FilesProp +from gajim.common.helpers import open_file +from gajim.common.modules.bytestream import (is_transfer_active, + is_transfer_paused, + is_transfer_stopped) + +from .dialogs import DialogButton +from .dialogs import ConfirmationDialog +from .dialogs import HigDialog +from .dialogs import InformationDialog +from .dialogs import ErrorDialog +from .filechoosers import FileSaveDialog +from .filechoosers import FileChooserDialog +from .tooltips import FileTransfersTooltip +from .util import get_builder + +log = logging.getLogger('gajim.gui.filetransfer') + + +@unique +class Column(IntEnum): + IMAGE = 0 + LABELS = 1 + FILE = 2 + TIME = 3 + PROGRESS = 4 + PERCENT = 5 + PULSE = 6 + SID = 7 + + +class FileTransfersWindow: + def __init__(self): + self.files_props = {'r': {}, 's': {}} + self.height_diff = 0 + + self._ui = get_builder('filetransfers.ui') + self.window = self._ui.file_transfers_window + show_notification = app.settings.get('notify_on_file_complete') + self._ui.notify_ft_complete.set_active(show_notification) + self.model = Gtk.ListStore(str, str, str, str, str, int, int, str) + self._ui.transfers_list.set_model(self.model) + col = Gtk.TreeViewColumn() + + render_pixbuf = Gtk.CellRendererPixbuf() + + col.pack_start(render_pixbuf, True) + render_pixbuf.set_property('xpad', 6) + render_pixbuf.set_property('ypad', 6) + render_pixbuf.set_property('yalign', 0.5) + col.add_attribute(render_pixbuf, 'icon_name', 0) + self._ui.transfers_list.append_column(col) + + col = Gtk.TreeViewColumn(_('File')) + renderer = Gtk.CellRendererText() + col.pack_start(renderer, False) + col.add_attribute(renderer, 'markup', Column.LABELS) + renderer.set_property('xalign', 0.0) + renderer.set_property('yalign', 0.0) + renderer = Gtk.CellRendererText() + col.pack_start(renderer, True) + col.add_attribute(renderer, 'markup', Column.FILE) + renderer.set_property('xalign', 0.0) + renderer.set_property('yalign', 0.0) + renderer.set_property('ellipsize', Pango.EllipsizeMode.END) + col.set_resizable(True) + col.set_min_width(160) + col.set_expand(True) + self._ui.transfers_list.append_column(col) + + col = Gtk.TreeViewColumn(_('Time')) + renderer = Gtk.CellRendererText() + col.pack_start(renderer, False) + col.add_attribute(renderer, 'markup', Column.TIME) + renderer.set_property('yalign', 0.5) + renderer.set_property('xalign', 0.5) + renderer = Gtk.CellRendererText() + renderer.set_property('ellipsize', Pango.EllipsizeMode.END) + renderer.set_property('xalign', 0.5) + col.set_resizable(True) + col.set_min_width(70) + self._ui.transfers_list.append_column(col) + + col = Gtk.TreeViewColumn(_('Progress')) + renderer = Gtk.CellRendererProgress() + renderer.set_property('yalign', 0.5) + renderer.set_property('xalign', 0.5) + col.pack_start(renderer, False) + col.add_attribute(renderer, 'text', Column.PROGRESS) + col.add_attribute(renderer, 'value', Column.PERCENT) + col.add_attribute(renderer, 'pulse', Column.PULSE) + col.set_resizable(False) + col.set_fixed_width(150) + self._ui.transfers_list.append_column(col) + + self.icons = { + 'upload': 'go-up-symbolic', + 'download': 'go-down-symbolic', + 'stop': 'process-stop-symbolic', + 'waiting': 'emblem-synchronizing-symbolic', + 'pause': 'media-playback-pause-symbolic', + 'continue': 'media-playback-start-symbolic', + 'ok': 'emblem-ok-symbolic', + 'computing': 'system-run-symbolic', + 'hash_error': 'network-error-symbolic', + } + + if app.settings.get('use_kib_mib'): + self.units = GLib.FormatSizeFlags.IEC_UNITS + else: + self.units = GLib.FormatSizeFlags.DEFAULT + + self._ui.transfers_list.get_selection().set_mode( + Gtk.SelectionMode.SINGLE) + self._ui.transfers_list.get_selection().connect( + 'changed', self._selection_changed) + + # Tooltip + self._ui.transfers_list.connect('query-tooltip', self._query_tooltip) + self._ui.transfers_list.set_has_tooltip(True) + self.tooltip = FileTransfersTooltip() + + self._ui.connect_signals(self) + + def _query_tooltip(self, widget, x_pos, y_pos, keyboard_mode, tooltip): + try: + x_pos, y_pos = widget.convert_widget_to_bin_window_coords( + x_pos, y_pos) + row = widget.get_path_at_pos(x_pos, y_pos)[0] + except TypeError: + self.tooltip.clear_tooltip() + return False + if not row: + self.tooltip.clear_tooltip() + return False + + iter_ = None + try: + model = widget.get_model() + iter_ = model.get_iter(row) + except Exception: + self.tooltip.clear_tooltip() + return False + + sid = self.model[iter_][Column.SID] + file_props = FilesProp.getFilePropByType(sid[0], sid[1:]) + + value, widget = self.tooltip.get_tooltip(file_props, sid) + tooltip.set_custom(widget) + return value + + def find_transfer_by_jid(self, account, jid): + """ + Find all transfers with peer 'jid' that belong to 'account' + """ + active_transfers = [[], []] # ['senders', 'receivers'] + allfp = FilesProp.getAllFileProp() + for file_props in allfp: + if file_props.type_ == 's' and file_props.tt_account == account: + # 'account' is the sender + receiver_jid = file_props.receiver.split('/')[0] + if jid == receiver_jid and not is_transfer_stopped(file_props): + active_transfers[0].append(file_props) + elif file_props.type_ == 'r' and file_props.tt_account == account: + # 'account' is the recipient + sender_jid = file_props.sender.split('/')[0] + if jid == sender_jid and not is_transfer_stopped(file_props): + active_transfers[1].append(file_props) + else: + raise Exception('file_props has no type') + return active_transfers + + def show_completed(self, jid, file_props): + """ + Show a dialog saying that file (file_props) has been transferred + """ + def on_open(widget, file_props): + dialog.destroy() + if not file_props.file_name: + return + path = os.path.split(file_props.file_name)[0] + if os.path.exists(path) and os.path.isdir(path): + open_file(path) + self._ui.transfers_list.get_selection().unselect_all() + + if file_props.type_ == 'r': + # file path is used below in 'Save in' + (file_path, file_name) = os.path.split(file_props.file_name) + else: + file_name = file_props.name + sectext = _('File name: %s') % GLib.markup_escape_text(file_name) + sectext += '\n' + _('Size: %s') % GLib.format_size_full( + file_props.size, self.units) + if file_props.type_ == 'r': + jid = file_props.sender.split('/')[0] + sender_name = app.contacts.get_first_contact_from_jid( + file_props.tt_account, jid).get_shown_name() + sender = sender_name + else: + # You is a reply of who sent a file + sender = _('You') + sectext += '\n' + _('Sender: %s') % sender + sectext += '\n' + _('Recipient: ') + if file_props.type_ == 's': + jid = file_props.receiver.split('/')[0] + receiver_name = app.contacts.get_first_contact_from_jid( + file_props.tt_account, jid).get_shown_name() + recipient = receiver_name + else: + # You is a reply of who received a file + recipient = _('You') + sectext += recipient + if file_props.type_ == 'r': + sectext += '\n' + _('Saved in: %s') % file_path + + dialog = HigDialog(app.interface.roster.window, + Gtk.MessageType.INFO, + Gtk.ButtonsType.NONE, + _('File transfer completed'), + sectext) + if file_props.type_ == 'r': + button = Gtk.Button.new_with_mnemonic(_('Open _Folder')) + button.connect('clicked', on_open, file_props) + dialog.action_area.pack_start(button, True, True, 0) + ok_button = dialog.add_button(Gtk.STOCK_OK, Gtk.ResponseType.OK) + + def on_ok(widget): + dialog.destroy() + ok_button.connect('clicked', on_ok) + dialog.show_all() + + def show_request_error(self, file_props): + """ + Show error dialog to the recipient saying that + transfer has been canceled + """ + InformationDialog( + _('File transfer cancelled'), + _('Connection with peer could not be established.')) + self._ui.transfers_list.get_selection().unselect_all() + + def show_send_error(self, file_props): + """ + Show error dialog to the sender saying that transfer has been canceled + """ + InformationDialog( + _('File transfer cancelled'), + _('Connection with peer could not be established.')) + self._ui.transfers_list.get_selection().unselect_all() + + def show_stopped(self, jid, file_props, error_msg=''): + if file_props.type_ == 'r': + file_name = os.path.basename(file_props.file_name) + else: + file_name = file_props.name + sectext = '\t' + _('Filename: %s') % GLib.markup_escape_text(file_name) + sectext += '\n\t' + _('Recipient: %s') % jid + if error_msg: + sectext += '\n\t' + _('Error message: %s') % error_msg + ErrorDialog(_('File transfer stopped'), sectext) + self._ui.transfers_list.get_selection().unselect_all() + + def show_hash_error(self, jid, file_props, account): + + def on_yes(dummy, fjid, file_props, account): + # Delete old file + os.remove(file_props.file_name) + jid, resource = app.get_room_and_nick_from_fjid(fjid) + if resource: + contact = app.contacts.get_contact(account, jid, resource) + else: + contact = app.contacts.get_contact_with_highest_priority( + account, jid) + fjid = contact.get_full_jid() + # Request the file to the sender + sid = helpers.get_random_string() + new_file_props = FilesProp.getNewFileProp(account, sid) + new_file_props.file_name = file_props.file_name + new_file_props.name = file_props.name + new_file_props.desc = file_props.desc + new_file_props.size = file_props.size + new_file_props.date = file_props.date + new_file_props.hash_ = file_props.hash_ + new_file_props.type_ = 'r' + tsid = app.connections[account].get_module( + 'Jingle').start_file_transfer(fjid, new_file_props, True) + + new_file_props.transport_sid = tsid + self.add_transfer(account, contact, new_file_props) + + if file_props.type_ == 'r': + file_name = os.path.basename(file_props.file_name) + else: + file_name = file_props.name + ConfirmationDialog( + _('File Transfer Error'), + _('File Transfer Error'), + _('The file %s has been received, but it seems to have ' + 'been damaged along the way.\n' + 'Do you want to download it again?') % file_name, + [DialogButton.make('Cancel', + text=_('_No')), + DialogButton.make('Accept', + text=_('_Download Again'), + callback=on_yes, + args=[jid, + file_props, + account])]).show() + + def show_file_send_request(self, account, contact): + send_callback = partial(self.send_file, account, contact) + SendFileDialog(send_callback, self.window) + + def send_file(self, account, contact, file_path, file_desc=''): + """ + Start the real transfer(upload) of the file + """ + if gtkgui_helpers.file_is_locked(file_path): + pritext = _('Gajim can not read this file') + sextext = _('Another process is using this file.') + ErrorDialog(pritext, sextext) + return + + if isinstance(contact, str): + if contact.find('/') == -1: + return + (jid, resource) = contact.split('/', 1) + contact = app.contacts.create_contact(jid=jid, account=account, + resource=resource) + file_name = os.path.split(file_path)[1] + file_props = self.get_send_file_props(account, contact, file_path, + file_name, file_desc) + if file_props is None: + return False + + app.connections[account].get_module('Jingle').start_file_transfer( + contact.get_full_jid(), file_props) + self.add_transfer(account, contact, file_props) + + return True + + def _start_receive(self, file_path, account, contact, file_props): + file_dir = os.path.dirname(file_path) + if file_dir: + app.settings.set('last_save_dir', file_dir) + file_props.file_name = file_path + file_props.type_ = 'r' + self.add_transfer(account, contact, file_props) + app.connections[account].get_module('Bytestream').send_file_approval( + file_props) + + def on_file_request_accepted(self, account, contact, file_props): + def _on_accepted(account, contact, file_props, file_path): + if os.path.exists(file_path): + app.settings.set('last_save_dir', os.path.dirname(file_path)) + + # Check if we have write permissions + if not os.access(file_path, os.W_OK): + file_name = GLib.markup_escape_text( + os.path.basename(file_path)) + ErrorDialog( + _('Cannot overwrite existing file \'%s\'') % file_name, + _('A file with this name already exists and you do ' + 'not have permission to overwrite it.')) + return + + stat = os.stat(file_path) + dl_size = stat.st_size + file_size = file_props.size + dl_finished = dl_size >= file_size + + def _on_resume(): + if not dl_finished: + file_props.offset = dl_size + self._start_receive( + file_path, account, contact, file_props) + + def _on_replace(): + self._start_receive( + file_path, account, contact, file_props) + + def _on_cancel(): + con.get_module('Bytestream').send_file_rejection( + file_props) + + ConfirmationDialog( + _('File Transfer Conflict'), + _('File already exists'), + _('Resume download or replace file?'), + [DialogButton.make('Cancel', + callback=_on_cancel), + DialogButton.make('OK', + text=_('Resume _Download'), + callback=_on_resume), + DialogButton.make('Accept', + text=_('Replace _File'), + callback=_on_replace)]).show() + + # File does not exist yet + dirname = os.path.dirname(file_path) + if not os.access(dirname, os.W_OK) and os.name != 'nt': + # read-only bit is used to mark special folder under + # windows, not to mark that a folder is read-only. + # See ticket #3587 + ErrorDialog( + _('Directory \'%s\' is not writable') % dirname, + _('You do not have permissions to create files ' + 'in this directory.')) + return + self._start_receive(file_path, account, contact, file_props) + + # Show file save as dialog + con = app.connections[account] + accept_cb = partial(_on_accepted, account, contact, file_props) + cancel_cb = partial(con.get_module('Bytestream').send_file_rejection, + file_props) + FileSaveDialog(accept_cb, + cancel_cb, + path=app.settings.get('last_save_dir'), + file_name=file_props.name) + + def show_file_request(self, account, contact, file_props): + """ + Show dialog asking for comfirmation and store location of new file + requested by a contact + """ + if not file_props or not file_props.name: + return + + sectext = _('File: %s') % GLib.markup_escape_text( + file_props.name) + if file_props.size: + sectext += '\n' + _('Size: %s') % GLib.format_size_full( + file_props.size, self.units) + if file_props.mime_type: + sectext += '\n' + _('Type: %s') % file_props.mime_type + if file_props.desc: + sectext += '\n' + _('Description: %s') % file_props.desc + + def _on_ok(): + self.on_file_request_accepted(account, contact, file_props) + + def _on_cancel(): + app.connections[account].get_module( + 'Bytestream').send_file_rejection(file_props) + + ConfirmationDialog( + _('File Transfer Request'), + _('%s wants to send you a file') % contact.get_shown_name(), + sectext, + [DialogButton.make('Cancel', + callback=_on_cancel), + DialogButton.make('Accept', + callback=_on_ok)]).show() + + def set_status(self, file_props, status): + """ + Change the status of a transfer to state 'status' + """ + iter_ = self.get_iter_by_sid(file_props.type_, file_props.sid) + if iter_ is None: + return + + if status == 'stop': + file_props.stopped = True + elif status == 'ok': + file_props.completed = True + text = self._format_percent(100) + received_size = GLib.format_size_full( + int(file_props.received_len), self.units) + full_size = GLib.format_size_full(file_props.size, self.units) + text += received_size + '/' + full_size + self.model.set(iter_, Column.PROGRESS, text) + self.model.set(iter_, Column.PULSE, GLib.MAXINT32) + elif status == 'computing': + self.model.set(iter_, Column.PULSE, 1) + text = _('Checking file…') + '\n' + received_size = GLib.format_size_full( + int(file_props.received_len), self.units) + full_size = GLib.format_size_full(file_props.size, self.units) + text += received_size + '/' + full_size + self.model.set(iter_, Column.PROGRESS, text) + + def pulse(): + p = self.model.get(iter_, Column.PULSE)[0] + if p == GLib.MAXINT32: + return False + self.model.set(iter_, Column.PULSE, p + 1) + return True + GLib.timeout_add(100, pulse) + elif status == 'hash_error': + text = _('File error') + '\n' + received_size = GLib.format_size_full( + int(file_props.received_len), self.units) + full_size = GLib.format_size_full(file_props.size, self.units) + text += received_size + '/' + full_size + self.model.set(iter_, Column.PROGRESS, text) + self.model.set(iter_, Column.PULSE, GLib.MAXINT32) + self.model.set(iter_, Column.IMAGE, self.icons[status]) + path = self.model.get_path(iter_) + self._select_func(path) + + def _format_percent(self, percent): + """ + Add extra spaces from both sides of the percent, so that progress + string has always a fixed size + """ + _str = ' ' + if percent != 100.: + _str += ' ' + if percent < 10: + _str += ' ' + _str += str(percent) + '% \n' + return _str + + def _format_time(self, _time): + times = {'hours': 0, 'minutes': 0, 'seconds': 0} + _time = int(_time) + times['seconds'] = _time % 60 + if _time >= 60: + _time /= 60 + times['minutes'] = _time % 60 + if _time >= 60: + times['hours'] = _time / 60 + + # Print remaining time in format 00:00:00 + # You can change the places of (hours), (minutes), (seconds) - + # they are not translatable. + return _('%(hours)02.d:%(minutes)02.d:%(seconds)02.d') % times + + def _get_eta_and_speed(self, full_size, transfered_size, file_props): + if not file_props.transfered_size: + return 0., 0. + + if len(file_props.transfered_size) == 1: + speed = round(float(transfered_size) / file_props.elapsed_time) + else: + # first and last are (time, transfered_size) + first = file_props.transfered_size[0] + last = file_props.transfered_size[-1] + transfered = last[1] - first[1] + tim = last[0] - first[0] + if tim == 0: + return 0., 0. + speed = round(float(transfered) / tim) + if speed == 0.: + return 0., 0. + remaining_size = full_size - transfered_size + eta = remaining_size / speed + return eta, speed + + def _remove_transfer(self, iter_, sid, file_props): + self.model.remove(iter_) + if not file_props: + return + if file_props.tt_account: + # file transfer is set + account = file_props.tt_account + if account in app.connections: + # there is a connection to the account + app.connections[account].get_module( + 'Bytestream').remove_transfer(file_props) + if file_props.type_ == 'r': # we receive a file + other = file_props.sender + else: # we send a file + other = file_props.receiver + if isinstance(other, str): + jid = app.get_jid_without_resource(other) + else: # It's a Contact instance + jid = other.jid + for ev_type in ('file-error', 'file-completed', + 'file-request-error', 'file-send-error', + 'file-stopped'): + for event in app.events.get_events(account, jid, [ev_type]): + if event.file_props.sid == file_props.sid: + app.events.remove_events(account, jid, event) + app.interface.roster.draw_contact(jid, account) + app.interface.roster.show_title() + FilesProp.deleteFileProp(file_props) + del file_props + + def set_progress(self, typ, sid, transfered_size, iter_=None): + """ + Change the progress of a transfer with new transfered size + """ + file_props = FilesProp.getFilePropByType(typ, sid) + full_size = file_props.size + if full_size == 0: + percent = 0 + else: + percent = round(float(transfered_size) / full_size * 100, 1) + if iter_ is None: + iter_ = self.get_iter_by_sid(typ, sid) + if iter_ is not None: + just_began = False + if self.model[iter_][Column.PERCENT] == 0 and int(percent > 0): + just_began = True + text = self._format_percent(percent) + if transfered_size == 0: + text += '0' + else: + text += GLib.format_size_full(transfered_size, self.units) + text += '/' + GLib.format_size_full(full_size, self.units) + # Kb/s + + # remaining time + if file_props.offset: + transfered_size -= file_props.offset + full_size -= file_props.offset + + if file_props.elapsed_time > 0: + file_props.transfered_size.append((file_props.last_time, + transfered_size)) + if len(file_props.transfered_size) > 6: + file_props.transfered_size.pop(0) + eta, speed = self._get_eta_and_speed(full_size, transfered_size, + file_props) + + self.model.set(iter_, Column.PROGRESS, text) + self.model.set(iter_, Column.PERCENT, int(percent)) + text = self._format_time(eta) + text += '\n' + # This should make the string KB/s, + # where 'KB' part is taken from %s. + # Only the 's' after / (which means second) should be translated. + text += _('(%(filesize_unit)s/s)') % { + 'filesize_unit': GLib.format_size_full(speed, self.units)} + self.model.set(iter_, Column.TIME, text) + + # try to guess what should be the status image + if file_props.type_ == 'r': + status = 'download' + else: + status = 'upload' + if file_props.paused is True: + status = 'pause' + elif file_props.stalled is True: + status = 'waiting' + if file_props.connected is False: + status = 'stop' + self.model.set(iter_, 0, self.icons[status]) + if transfered_size == full_size: + # If we are receiver and this is a jingle session + if file_props.type_ == 'r' and \ + file_props.session_type == 'jingle' and file_props.hash_: + # Show that we are computing the hash + self.set_status(file_props, 'computing') + else: + self.set_status(file_props, 'ok') + elif just_began: + path = self.model.get_path(iter_) + self._select_func(path) + + def get_iter_by_sid(self, typ, sid): + """ + Return iter to the row, which holds file transfer, identified by the + session id + """ + iter_ = self.model.get_iter_first() + while iter_: + if typ + sid == self.model[iter_][Column.SID]: + return iter_ + iter_ = self.model.iter_next(iter_) + + def __convert_date(self, epoch): + # Converts date-time from seconds from epoch to iso 8601 + dt = datetime.utcfromtimestamp(epoch) + return dt.isoformat() + 'Z' + + def get_send_file_props(self, account, contact, file_path, file_name, + file_desc=''): + """ + Create new file_props object and set initial file transfer + properties in it + """ + if os.path.isfile(file_path): + stat = os.stat(file_path) + else: + ErrorDialog(_('Invalid File'), _('File: ') + file_path) + return None + if stat[6] == 0: + ErrorDialog( + _('Invalid File'), + _('It is not possible to send empty files')) + return None + file_props = FilesProp.getNewFileProp( + account, sid=helpers.get_random_string()) + mod_date = os.path.getmtime(file_path) + file_props.file_name = file_path + file_props.name = file_name + file_props.date = self.__convert_date(mod_date) + file_props.type_ = 's' + file_props.desc = file_desc + file_props.elapsed_time = 0 + file_props.size = stat[6] + file_props.sender = account + file_props.receiver = contact + file_props.tt_account = account + return file_props + + def add_transfer(self, account, contact, file_props): + """ + Add new transfer to FT window and show the FT window + """ + if file_props is None: + return + file_props.elapsed_time = 0 + iter_ = self.model.prepend() + if file_props.type_ == 'r': + text_labels = '\n' + _('Sender: ') + '' + else: + text_labels = '\n' + _('Recipient: ') + '' + + if file_props.type_ == 'r': + file_name = os.path.split(file_props.file_name)[1] + else: + file_name = file_props.name + text_props = GLib.markup_escape_text(file_name) + '\n' + text_props += contact.get_shown_name() + self.model.set(iter_, + 1, + text_labels, + 2, + text_props, + Column.PULSE, + -1, + Column.SID, + file_props.type_ + file_props.sid) + self.set_progress(file_props.type_, file_props.sid, 0, iter_) + if file_props.started is False: + status = 'waiting' + elif file_props.type_ == 'r': + status = 'download' + else: + status = 'upload' + file_props.tt_account = account + self.set_status(file_props, status) + self._set_cleanup_sensitivity() + self.window.show_all() + + def _on_transfers_list_row_activated(self, widget, path, col): + # try to open the containing folder + self._on_open_folder_menuitem_activate(widget) + + def _set_cleanup_sensitivity(self): + """ + Check if there are transfer rows and set cleanup_button sensitive, or + insensitive if model is empty + """ + if not self.model: + self._ui.cleanup_button.set_sensitive(False) + else: + self._ui.cleanup_button.set_sensitive(True) + + def _set_all_insensitive(self): + """ + Make all buttons/menuitems insensitive + """ + self._ui.pause_resume_button.set_sensitive(False) + self._ui.pause_resume_menuitem.set_sensitive(False) + self._ui.remove_menuitem.set_sensitive(False) + self._ui.cancel_button.set_sensitive(False) + self._ui.cancel_menuitem.set_sensitive(False) + self._ui.open_folder_menuitem.set_sensitive(False) + self._set_cleanup_sensitivity() + + def _set_buttons_sensitive(self, path, is_row_selected): + """ + Make buttons/menuitems sensitive as appropriate to the state of file + transfer located at path 'path' + """ + if path is None: + self._set_all_insensitive() + return + current_iter = self.model.get_iter(path) + sid = self.model[current_iter][Column.SID] + file_props = FilesProp.getFilePropByType(sid[0], sid[1:]) + self._ui.remove_menuitem.set_sensitive(is_row_selected) + self._ui.open_folder_menuitem.set_sensitive(is_row_selected) + is_stopped = False + if is_transfer_stopped(file_props): + is_stopped = True + self._ui.cancel_button.set_sensitive(not is_stopped) + self._ui.cancel_menuitem.set_sensitive(not is_stopped) + if not is_row_selected: + # No selection, disable the buttons + self._set_all_insensitive() + elif not is_stopped and file_props.continue_cb: + if is_transfer_active(file_props): + # File transfer is active + self._toggle_pause_continue(True) + self._ui.pause_resume_button.set_sensitive(True) + self._ui.pause_resume_menuitem.set_sensitive(True) + elif is_transfer_paused(file_props): + # File transfer is paused + self._toggle_pause_continue(False) + self._ui.pause_resume_button.set_sensitive(True) + self._ui.pause_resume_menuitem.set_sensitive(True) + else: + self._ui.pause_resume_button.set_sensitive(False) + self._ui.pause_resume_menuitem.set_sensitive(False) + else: + self._ui.pause_resume_button.set_sensitive(False) + self._ui.pause_resume_menuitem.set_sensitive(False) + return True + + def _selection_changed(self, args): + """ + Selection has changed - change the sensitivity of the buttons/menuitems + """ + selection = args + selected = selection.get_selected_rows() + if selected[1] != []: + selected_path = selected[1][0] + self._select_func(selected_path) + else: + self._set_all_insensitive() + + def _select_func(self, path): + is_selected = False + selected = self._ui.transfers_list.get_selection().get_selected_rows() + if selected[1] != []: + selected_path = selected[1][0] + if selected_path == path: + is_selected = True + self._set_buttons_sensitive(path, is_selected) + self._set_cleanup_sensitivity() + return True + + def _on_cleanup_button_clicked(self, widget): + i = len(self.model) - 1 + while i >= 0: + iter_ = self.model.get_iter((i)) + sid = self.model[iter_][Column.SID] + file_props = FilesProp.getFilePropByType(sid[0], sid[1:]) + if is_transfer_stopped(file_props): + self._remove_transfer(iter_, sid, file_props) + i -= 1 + self._ui.transfers_list.get_selection().unselect_all() + self._set_all_insensitive() + + def _toggle_pause_continue(self, status): + if status: + self._ui.pause_resume_button.set_icon_name( + 'media-playback-pause-symbolic') + else: + self._ui.pause_resume_button.set_icon_name( + 'media-playback-start-symbolic') + + def _on_pause_resume_button_clicked(self, widget): + selected = self._ui.transfers_list.get_selection().get_selected() + if selected is None or selected[1] is None: + return + s_iter = selected[1] + sid = self.model[s_iter][Column.SID] + file_props = FilesProp.getFilePropByType(sid[0], sid[1:]) + if is_transfer_paused(file_props): + file_props.last_time = time.time() + file_props.paused = False + types = {'r': 'download', 's': 'upload'} + self.set_status(file_props, types[sid[0]]) + self._toggle_pause_continue(True) + if file_props.continue_cb: + file_props.continue_cb() + elif is_transfer_active(file_props): + file_props.paused = True + self.set_status(file_props, 'pause') + # Reset that to compute speed only when we resume + file_props.transfered_size = [] + self._toggle_pause_continue(False) + + def _on_cancel_button_clicked(self, widget): + selected = self._ui.transfers_list.get_selection().get_selected() + if selected is None or selected[1] is None: + return + s_iter = selected[1] + sid = self.model[s_iter][Column.SID] + file_props = FilesProp.getFilePropByType(sid[0], sid[1:]) + account = file_props.tt_account + if account not in app.connections: + return + con = app.connections[account] + # Check if we are in a IBB transfer + if file_props.direction: + con.get_module('IBB').send_close(file_props) + con.get_module('Bytestream').disconnect_transfer(file_props) + self.set_status(file_props, 'stop') + + def _on_notify_ft_complete_toggled(self, widget, *args): + app.settings.set('notify_on_file_complete', widget.get_active()) + + def _on_file_transfers_dialog_delete_event(self, widget, event): + self.window.hide() + return True # Do NOT destroy window + + def _show_context_menu(self, event, iter_): + # change the sensitive property of the buttons and menuitems + if iter_: + path = self.model.get_path(iter_) + self._set_buttons_sensitive(path, True) + + event_button = gtkgui_helpers.get_possible_button_event(event) + self._ui.file_transfers_menu.show_all() + self._ui.file_transfers_menu.popup( + None, + self._ui.transfers_list, + None, + None, + event_button, + event.time) + + def _on_transfers_list_key_press_event(self, widget, event): + """ + When a key is pressed in the treeviews + """ + iter_ = None + try: + iter_ = self._ui.transfers_list.get_selection().get_selected()[1] + except TypeError: + self._ui.transfers_list.get_selection().unselect_all() + + if iter_ is not None: + path = self.model.get_path(iter_) + self._ui.transfers_list.get_selection().select_path(path) + + if event.keyval == Gdk.KEY_Menu: + self._show_context_menu(event, iter_) + return True + + def _on_transfers_list_button_release_event(self, widget, event): + # hide tooltip, no matter the button is pressed + path = None + try: + path = self._ui.transfers_list.get_path_at_pos(int(event.x), + int(event.y))[0] + except TypeError: + self._ui.transfers_list.get_selection().unselect_all() + if path is None: + self._set_all_insensitive() + else: + self._select_func(path) + + def _on_transfers_list_button_press_event(self, widget, event): + # hide tooltip, no matter the button is pressed + path, iter_ = None, None + try: + path = self._ui.transfers_list.get_path_at_pos(int(event.x), + int(event.y))[0] + except TypeError: + self._ui.transfers_list.get_selection().unselect_all() + if event.button == 3: # Right click + if path: + self._ui.transfers_list.get_selection().select_path(path) + iter_ = self.model.get_iter(path) + self._show_context_menu(event, iter_) + if path: + return True + + def _on_open_folder_menuitem_activate(self, widget): + selected = self._ui.transfers_list.get_selection().get_selected() + if not selected or not selected[1]: + return + s_iter = selected[1] + sid = self.model[s_iter][Column.SID] + file_props = FilesProp.getFilePropByType(sid[0], sid[1:]) + if not file_props.file_name: + return + path = os.path.split(file_props.file_name)[0] + if os.path.exists(path) and os.path.isdir(path): + open_file(path) + + def _on_cancel_menuitem_activate(self, widget): + self._on_cancel_button_clicked(widget) + + def _on_continue_menuitem_activate(self, widget): + self._on_pause_resume_button_clicked(widget) + + def _on_pause_resume_menuitem_activate(self, widget): + self._on_pause_resume_button_clicked(widget) + + def _on_remove_menuitem_activate(self, widget): + selected = self._ui.transfers_list.get_selection().get_selected() + if not selected or not selected[1]: + return + s_iter = selected[1] + sid = self.model[s_iter][Column.SID] + file_props = FilesProp.getFilePropByType(sid[0], sid[1:]) + self._remove_transfer(s_iter, sid, file_props) + self._set_all_insensitive() + + def _on_file_transfers_window_key_press_event(self, widget, event): + if event.keyval == Gdk.KEY_Escape: # ESCAPE + self.window.hide() + + +class SendFileDialog(Gtk.ApplicationWindow): + def __init__(self, send_callback, transient_for): + Gtk.ApplicationWindow.__init__(self) + self.set_name('SendFileDialog') + self.set_application(app.app) + self.set_show_menubar(False) + self.set_resizable(True) + self.set_default_size(500, 350) + self.set_type_hint(Gdk.WindowTypeHint.DIALOG) + self.set_transient_for(transient_for) + self.set_title(_('Choose a File to Send…')) + self.set_destroy_with_parent(True) + + self._send_callback = send_callback + + self._ui = get_builder('filetransfers_send_file_dialog.ui') + self.add(self._ui.send_file_grid) + self.connect('key-press-event', self._key_press_event) + self._ui.connect_signals(self) + self.show_all() + + def _send(self, button): + for file in self._ui.listbox.get_children(): + self._send_callback(str(file.path), self._get_description()) + self.destroy() + + def _select_files(self, button): + FileChooserDialog(self._set_files, + select_multiple=True, + transient_for=self, + path=app.settings.get('last_send_dir')) + + def _remove_files(self, button): + selected = self._ui.listbox.get_selected_rows() + for item in selected: + self._ui.listbox.remove(item) + + def _set_files(self, filenames): + for file in filenames: + row = FileRow(file) + if row.path.is_dir(): + continue + last_dir = row.path.parent + self._ui.listbox.add(row) + self._ui.listbox.show_all() + app.settings.set('last_send_dir', str(last_dir)) + + def _get_description(self): + buffer_ = self._ui.description.get_buffer() + start, end = buffer_.get_bounds() + return buffer_.get_text(start, end, False) + + def _key_press_event(self, widget, event): + if event.keyval == Gdk.KEY_Escape: + self.destroy() + + +class FileRow(Gtk.ListBoxRow): + def __init__(self, path): + Gtk.ListBoxRow.__init__(self) + self.path = Path(path) + label = Gtk.Label(label=self.path.name) + label.set_ellipsize(Pango.EllipsizeMode.END) + label.set_xalign(0) + self.add(label) diff --git a/gajim/gtk/filetransfer_progress.py b/gajim/gtk/filetransfer_progress.py new file mode 100644 index 0000000..f77ec29 --- /dev/null +++ b/gajim/gtk/filetransfer_progress.py @@ -0,0 +1,133 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import time + +from gi.repository import Gtk +from gi.repository import GLib + +from gajim.common import app +from gajim.common.i18n import _ + +from .util import get_builder +from .util import EventHelper +from .dialogs import ErrorDialog + + +class FileTransferProgress(Gtk.ApplicationWindow, EventHelper): + def __init__(self, transfer): + Gtk.ApplicationWindow.__init__(self) + EventHelper.__init__(self) + self.set_name('FileTransferProgress') + self.set_application(app.app) + self.set_position(Gtk.WindowPosition.CENTER) + self.set_show_menubar(False) + self.set_title(_('File Transfer')) + + self._destroyed = False + self._transfer = transfer + self._transfer.connect('state-changed', self._on_transfer_state_change) + self._transfer.connect('progress', self._on_transfer_progress) + + if app.settings.get('use_kib_mib'): + self._units = GLib.FormatSizeFlags.IEC_UNITS + else: + self._units = GLib.FormatSizeFlags.DEFAULT + + self._start_time = time.time() + + self._ui = get_builder('filetransfer_progress.ui') + self._ui.file_name_label.set_text(transfer.filename) + self.add(self._ui.box) + + self._pulse = GLib.timeout_add(100, self._pulse_progressbar) + self.show_all() + + self.connect('destroy', self._on_destroy) + self._ui.connect_signals(self) + + def _on_transfer_state_change(self, transfer, _signal_name, state): + if self._destroyed: + return + + if state.is_error: + ErrorDialog(_('Error'), + transfer.error_text, + transient_for=app.interface.roster.window) + self.destroy() + + if state.is_finished or state.is_cancelled: + self.destroy() + return + + description = transfer.get_state_description() + if description: + self._ui.label.set_text(description) + + def _pulse_progressbar(self): + self._ui.progressbar.pulse() + return True + + def _on_cancel_button_clicked(self, _widget): + self.destroy() + + def _on_destroy(self, *args): + self._destroyed = True + + if self._transfer.state.is_active: + self._transfer.cancel() + + self._transfer = None + if self._pulse is not None: + GLib.source_remove(self._pulse) + + def _on_transfer_progress(self, transfer, _signal_name): + if self._destroyed: + return + if self._pulse is not None: + GLib.source_remove(self._pulse) + self._pulse = None + + time_now = time.time() + bytes_sec = round(transfer.seen / (time_now - self._start_time), 1) + + size_progress = GLib.format_size_full(transfer.seen, self._units) + size_total = GLib.format_size_full(transfer.size, self._units) + speed = '%s/s' % GLib.format_size_full(bytes_sec, self._units) + + if bytes_sec == 0: + eta = '∞' + else: + eta = self._format_eta( + round((transfer.size - transfer.seen) / bytes_sec)) + + self._ui.progress_label.set_text( + _('%(progress)s of %(total)s') % { + 'progress': size_progress, + 'total': size_total}) + + self._ui.speed_label.set_text(speed) + self._ui.eta_label.set_text(eta) + self._ui.progressbar.set_fraction(float(transfer.seen) / transfer.size) + + @staticmethod + def _format_eta(time_): + times = {'minutes': 0, 'seconds': 0} + time_ = int(time_) + times['seconds'] = time_ % 60 + if time_ >= 60: + time_ /= 60 + times['minutes'] = round(time_ % 60) + + return _('%(minutes)s min %(seconds)s sec') % times diff --git a/gajim/gtk/groupchat_config.py b/gajim/gtk/groupchat_config.py new file mode 100644 index 0000000..a1c6fbc --- /dev/null +++ b/gajim/gtk/groupchat_config.py @@ -0,0 +1,400 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import logging + +from nbxmpp.namespaces import Namespace +from nbxmpp.errors import StanzaError +from gi.repository import Gdk +from gi.repository import Gtk + +from gajim.common import app +from gajim.common.i18n import _ +from gajim.common.const import MUCUser + +from .dialogs import ErrorDialog +from .dataform import DataFormWidget +from .util import get_builder + +log = logging.getLogger('gajim.gui.groupchat_config') + + +class GroupchatConfig(Gtk.ApplicationWindow): + def __init__(self, account, jid, own_affiliation, form=None): + Gtk.ApplicationWindow.__init__(self) + self.set_application(app.app) + self.set_position(Gtk.WindowPosition.CENTER) + self.set_show_menubar(False) + self.set_title(_('Group Chat Configuration')) + self._destroyed = False + + self.account = account + self.jid = jid + self._own_affiliation = own_affiliation + + self._ui = get_builder('groupchat_config.ui') + self.add(self._ui.grid) + + # Activate Add button only for Admins and Owners + if self._own_affiliation in ('admin', 'owner'): + self._ui.add_button.set_sensitive(True) + self._ui.add_button.set_tooltip_text('') + + disco_info = app.storage.cache.get_last_disco_info(self.jid) + visible = disco_info.supports(Namespace.REGISTER) + self._ui.reserved_name_column.set_visible(visible) + self._ui.info_button.set_sensitive(False) + + self._form = form + self._affiliations = {} + self._new_affiliations = {} + + con = app.connections[self.account] + for affiliation in ('owner', 'admin', 'member', 'outcast'): + con.get_module('MUC').get_affiliation( + self.jid, + affiliation, + callback=self._on_affiliations_received, + user_data=affiliation) + + if form is not None: + self._ui.stack.set_visible_child_name('config') + self._data_form_widget = DataFormWidget(form) + self._data_form_widget.connect('is-valid', self._on_is_valid) + self._data_form_widget.validate() + self._ui.config_grid.add(self._data_form_widget) + else: + self._ui.stack.get_child_by_name('config').hide() + self._ui.stack.get_child_by_name('config').set_no_show_all(True) + self._ui.stack.set_visible_child_name('affiliation') + + self._ui.connect_signals(self) + self.connect('delete-event', self._cancel) + self.connect('destroy', self._on_destroy) + self.connect('key-press-event', self._on_key_press) + self.show_all() + self._ui.stack.notify('visible-child-name') + + def _on_is_valid(self, _widget, is_valid): + self._ui.ok_button.set_sensitive(is_valid) + + def _get_current_treeview(self): + page_name = self._ui.stack.get_visible_child_name() + return getattr(self._ui, '%s_treeview' % page_name) + + def _on_add(self, *args): + page_name = self._ui.stack.get_visible_child_name() + if page_name == 'outcast': + affiliation_edit, jid_edit = self._allowed_to_edit('outcast') + text = None + affiliation = 'outcast' + else: + affiliation_edit, jid_edit = self._allowed_to_edit('member') + text = _('Member') + affiliation = 'member' + + treeview = self._get_current_treeview() + iter_ = treeview.get_model().append([None, + None, + None, + affiliation, + text, + affiliation_edit, + jid_edit]) + + # Scroll to added row + path = treeview.get_model().get_path(iter_) + treeview.scroll_to_cell(path, None, False, 0, 0) + treeview.get_selection().unselect_all() + treeview.get_selection().select_path(path) + + def _on_remove(self, *args): + treeview = self._get_current_treeview() + model, paths = treeview.get_selection().get_selected_rows() + + owner_count = self._get_owner_count() + references = [] + for path in paths: + if model[path][MUCUser.AFFILIATION] == 'owner': + if owner_count < 2: + # There must be at least one owner + ErrorDialog(_('Error'), + _('A Group Chat needs at least one Owner')) + return + owner_count -= 1 + references.append(Gtk.TreeRowReference.new(model, path)) + + for ref in references: + iter_ = model.get_iter(ref.get_path()) + model.remove(iter_) + + def _on_jid_edited(self, _renderer, path, new_text): + old_text = self._ui.affiliation_store[path][MUCUser.JID] + if new_text == old_text: + return + + if self._jid_exists(new_text): + self._raise_error() + return + + self._ui.affiliation_store[path][MUCUser.JID] = new_text + + def _on_outcast_jid_edited(self, _renderer, path, new_text): + old_text = self._ui.outcast_store[path][MUCUser.JID] + if new_text == old_text: + return + + if self._jid_exists(new_text): + self._raise_error() + return + + self._ui.outcast_store[path][MUCUser.JID] = new_text + self._ui.outcast_store[path][MUCUser.AFFILIATION] = 'outcast' + + def _on_nick_edited(self, _renderer, path, new_text): + self._ui.affiliation_store[path][MUCUser.NICK] = new_text + + def _on_reason_edited(self, _renderer, path, new_text): + self._ui.outcast_store[path][MUCUser.REASON] = new_text + + def _on_affiliation_changed(self, cell_renderer_combo, + path_string, new_iter): + combo_store = cell_renderer_combo.get_property('model') + affiliation_text = combo_store.get_value(new_iter, 0) + affiliation = combo_store.get_value(new_iter, 1) + + store = self._ui.affiliation_treeview.get_model() + + store[path_string][MUCUser.AFFILIATION] = affiliation + store[path_string][MUCUser.AFFILIATION_TEXT] = affiliation_text + + def _on_selection_changed(self, tree_selection): + sensitive = bool(tree_selection.count_selected_rows()) + selected_affiliations = self._get_selected_affiliations(tree_selection) + self._set_remove_button_state(sensitive, selected_affiliations) + + def _jid_exists(self, jid): + stores = [self._ui.affiliation_store, self._ui.outcast_store] + + for store in stores: + for row in store: + if row[MUCUser.JID] == jid: + return True + return False + + @staticmethod + def _get_selected_affiliations(tree_selection): + model, paths = tree_selection.get_selected_rows() + selected_affiliations = set() + for path in paths: + selected_affiliations.add(model[path][MUCUser.AFFILIATION]) + return selected_affiliations + + def _on_switch_page(self, stack, _pspec): + page_name = stack.get_visible_child_name() + self._set_button_box_state(page_name) + if page_name == 'config': + return + + treeview = getattr(self._ui, '%s_treeview' % page_name) + sensitive = bool(treeview.get_selection().count_selected_rows()) + + selected_affiliations = self._get_selected_affiliations( + treeview.get_selection()) + self._set_remove_button_state(sensitive, selected_affiliations) + + def _set_button_box_state(self, page_name): + affiliation = self._own_affiliation in ('admin', 'owner') + page = page_name != 'config' + self._ui.treeview_buttonbox.set_visible(affiliation and page) + self._ui.info_button.set_sensitive(page_name == 'outcast') + + def _set_remove_button_state(self, sensitive, selected_affiliations): + if self._own_affiliation not in ('admin', 'owner'): + self._ui.remove_button.set_sensitive(False) + return + + self._ui.remove_button.set_tooltip_text('') + + if not sensitive: + self._ui.remove_button.set_sensitive(False) + return + + if self._own_affiliation == 'owner': + self._ui.remove_button.set_sensitive(True) + return + + if set(['owner', 'admin']).intersection(selected_affiliations): + self._ui.remove_button.set_sensitive(False) + self._ui.remove_button.set_tooltip_text( + _('You are not allowed to modify the affiliation ' + 'of Admins and Owners')) + return + + self._ui.remove_button.set_sensitive(True) + + def _get_owner_count(self): + owner_count = 0 + for row in self._ui.affiliation_store: + if row[MUCUser.AFFILIATION] == 'owner': + owner_count += 1 + return owner_count + + def _allowed_to_edit(self, affiliation): + if self._own_affiliation == 'owner': + return True, True + + if self._own_affiliation == 'admin': + if affiliation in ('admin', 'owner'): + return False, False + return False, True + return False, False + + def _on_ok(self, *args): + if self._own_affiliation in ('admin', 'owner'): + self._set_affiliations() + + if self._form is not None and self._own_affiliation == 'owner': + form = self._data_form_widget.get_submit_form() + con = app.connections[self.account] + con.get_module('MUC').set_config(self.jid, form) + self.destroy() + + def _get_diff(self): + stores = [self._ui.affiliation_store, self._ui.outcast_store] + + self._new_affiliations = {} + for store in stores: + for row in store: + if not row[MUCUser.JID]: + # Ignore empty JID field + continue + + attr = 'nick' + if row[MUCUser.AFFILIATION] == 'outcast': + attr = 'reason' + + self._new_affiliations[row[MUCUser.JID]] = { + 'affiliation': row[MUCUser.AFFILIATION], + attr: row[MUCUser.NICK_OR_REASON]} + + old_jids = set(self._affiliations.keys()) + new_jids = set(self._new_affiliations.keys()) + remove = old_jids - new_jids + add = new_jids - old_jids + modified = new_jids - remove - add + + return add, remove, modified + + def _on_key_press(self, _widget, event): + if event.keyval == Gdk.KEY_Escape: + self._on_cancel() + + def _on_cancel(self, *args): + self._cancel() + self.destroy() + + def _cancel(self, *args): + if self._form and self._own_affiliation == 'owner': + con = app.connections[self.account] + con.get_module('MUC').cancel_config(self.jid) + + def _on_destroy(self, *args): + self._destroyed = True + + def _set_affiliations(self): + add, remove, modified = self._get_diff() + + diff_dict = {} + for jid in add: + diff_dict[jid] = self._new_affiliations[jid] + + for jid in remove: + diff_dict[jid] = {'affiliation': 'none'} + + for jid in modified: + if self._new_affiliations[jid] == self._affiliations[jid]: + # Not modified + continue + + diff_dict[jid] = self._new_affiliations[jid] + if self._new_affiliations[jid]['affiliation'] == 'outcast': + # New affiliation is outcast, check if the reason changed. + # In case the affiliation was 'admin', 'owner' or 'member' + # before, there is no reason. + new_reason = self._new_affiliations[jid]['reason'] + old_reason = self._affiliations[jid].get('reason') + if new_reason == old_reason: + diff_dict[jid].pop('reason', None) + + else: + # New affiliation is not outcast, check if the nick has changed. + # In case the affiliation was 'outcast' there is no nick. + new_nick = self._new_affiliations[jid]['nick'] + old_nick = self._affiliations[jid].get('nick') + if new_nick == old_nick: + diff_dict[jid].pop('nick', None) + + if not diff_dict: + # No changes were made + return + con = app.connections[self.account] + con.get_module('MUC').set_affiliation(self.jid, diff_dict) + + def _on_affiliations_received(self, task): + affiliation = task.get_user_data() + try: + result = task.finish() + except StanzaError as error: + log.info('Error while requesting %s affiliations: %s', + affiliation, error.condition) + return + + if affiliation == 'outcast': + self._ui.stack.get_child_by_name('outcast').show() + + for jid, attrs in result.users.items(): + affiliation_edit, jid_edit = self._allowed_to_edit(affiliation) + if affiliation == 'outcast': + reason = attrs.get('reason') + self._ui.outcast_store.append( + [str(jid), + reason, + None, + affiliation, + None, + affiliation_edit, + jid_edit]) + self._affiliations[jid] = {'affiliation': affiliation, + 'reason': reason} + else: + nick = attrs.get('nick') + role = attrs.get('role') + self._ui.affiliation_store.append( + [str(jid), + nick, + role, + affiliation, + _(affiliation.capitalize()), + affiliation_edit, + jid_edit]) + self._affiliations[jid] = {'affiliation': affiliation, + 'nick': nick} + if role is not None: + self._ui.role_column.set_visible(True) + + @staticmethod + def _raise_error(): + ErrorDialog(_('Error'), + _('An entry with this XMPP Address already exists')) diff --git a/gajim/gtk/groupchat_creation.py b/gajim/gtk/groupchat_creation.py new file mode 100644 index 0000000..43e2a46 --- /dev/null +++ b/gajim/gtk/groupchat_creation.py @@ -0,0 +1,242 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import logging +import random + +from gi.repository import Gtk +from gi.repository import Gdk + +from nbxmpp.errors import StanzaError + +from gajim.common import app +from gajim.common.const import MUC_CREATION_EXAMPLES +from gajim.common.const import MUC_DISCO_ERRORS +from gajim.common.i18n import _ +from gajim.common.helpers import validate_jid +from gajim.common.helpers import to_user_string + +from .dialogs import ErrorDialog +from .util import get_builder +from .util import ensure_not_destroyed + +log = logging.getLogger('gajim.gui.groupchat_creation') + + +class CreateGroupchatWindow(Gtk.ApplicationWindow): + def __init__(self, account): + Gtk.ApplicationWindow.__init__(self) + self.set_name('CreateGroupchat') + self.set_application(app.app) + self.set_position(Gtk.WindowPosition.CENTER) + self.set_type_hint(Gdk.WindowTypeHint.DIALOG) + self.set_default_size(500, -1) + self.set_show_menubar(False) + self.set_resizable(True) + self.set_title(_('Create Group Chat')) + + self._ui = get_builder('groupchat_creation.ui') + self.add(self._ui.create_group_chat) + + self._destroyed = False + + self._account = self._fill_account_combo(account) + + self._create_entry_completion() + self._fill_placeholders() + + self._ui.connect_signals(self) + self.connect('key-press-event', self._on_key_press_event) + self.connect('destroy', self._on_destroy) + + self.show_all() + self.set_focus(self._ui.address_entry) + + def _get_muc_service_jid(self): + con = app.connections[self._account] + return str(con.get_module('MUC').service_jid or 'muc.example.com') + + def _fill_account_combo(self, account): + accounts = app.get_enabled_accounts_with_labels(connected_only=True) + account_liststore = self._ui.account_combo.get_model() + for acc in accounts: + account_liststore.append(acc) + + # Hide account combobox if there is only one account + if len(accounts) == 1: + self._ui.account_combo.hide() + self._ui.account_label.hide() + + if account is None: + account = accounts[0][0] + + self._ui.account_combo.set_active_id(account) + return account + + def _create_entry_completion(self): + entry_completion = Gtk.EntryCompletion() + model = Gtk.ListStore(str) + entry_completion.set_model(model) + entry_completion.set_text_column(0) + + entry_completion.set_inline_completion(True) + entry_completion.set_popup_single_match(False) + + self._ui.address_entry.set_completion(entry_completion) + + def _fill_placeholders(self): + placeholder = random.choice(MUC_CREATION_EXAMPLES) + server = self._get_muc_service_jid() + + self._ui.name_entry.set_placeholder_text( + placeholder[0] + _(' (optional)...')) + self._ui.description_entry.set_placeholder_text( + placeholder[1] + _(' (optional)...')) + self._ui.address_entry.set_placeholder_text( + '%s@%s' % (placeholder[2], server)) + + def _on_key_press_event(self, _widget, event): + if event.keyval == Gdk.KEY_Escape: + self.destroy() + + def _on_account_combo_changed(self, combo): + self._account = combo.get_active_id() + self._fill_placeholders() + + def _update_entry_completion(self, entry, text): + text = entry.get_text() + if '@' in text: + text = text.split('@', 1)[0] + + model = entry.get_completion().get_model() + model.clear() + + server = self._get_muc_service_jid() + model.append(['%s@%s' % (text, server)]) + + def _validate_jid(self, text): + if not text: + self._set_warning_icon(False) + self._ui.create_button.set_sensitive(False) + return + + try: + jid = validate_jid(text) + if jid.resource: + raise ValueError + + except ValueError: + self._set_warning(_('Invalid Address')) + else: + self._set_warning_icon(False) + self._ui.create_button.set_sensitive(True) + + def _set_processing_state(self, enabled): + if enabled: + self._ui.spinner.start() + self._ui.create_button.set_sensitive(False) + else: + self._ui.spinner.stop() + self._ui.grid.set_sensitive(not enabled) + + def _set_warning_icon(self, enabled): + icon = 'dialog-warning-symbolic' if enabled else None + self._ui.address_entry.set_icon_from_icon_name( + Gtk.EntryIconPosition.SECONDARY, icon) + + def _set_warning_tooltip(self, text): + self._ui.address_entry.set_icon_tooltip_text( + Gtk.EntryIconPosition.SECONDARY, text) + + def _set_warning(self, text): + self._set_warning_icon(True) + self._set_warning_tooltip(text) + self._ui.create_button.set_sensitive(False) + + def _set_warning_from_error(self, error): + condition = error.condition + if condition == 'gone': + condition = 'already-exists' + text = MUC_DISCO_ERRORS.get(condition, to_user_string(error)) + self._set_warning(text) + + def _set_warning_from_error_code(self, error_code): + self._set_warning(MUC_DISCO_ERRORS[error_code]) + + def _on_address_entry_changed(self, entry): + text = entry.get_text() + self._update_entry_completion(entry, text) + self._validate_jid(text) + + def _on_address_entry_activate(self, _widget): + self._on_create_clicked() + + def _on_create_clicked(self, *args): + if not app.account_is_available(self._account): + ErrorDialog( + _('Not Connected'), + _('You have to be connected to create a group chat.')) + return + + room_jid = self._ui.address_entry.get_text() + + self._set_processing_state(True) + con = app.connections[self._account] + con.get_module('Discovery').disco_info( + room_jid, callback=self._disco_info_received) + + @ensure_not_destroyed + def _disco_info_received(self, task): + try: + result = task.finish() + except StanzaError as error: + if error.condition == 'item-not-found': + self._create_muc(error.jid) + return + self._set_warning_from_error(error) + + else: + self._set_warning_from_error_code( + 'already-exists' if result.is_muc else 'not-muc-service') + + self._set_processing_state(False) + + def _create_muc(self, room_jid): + name = self._ui.name_entry.get_text() + description = self._ui.description_entry.get_text() + is_public = self._ui.public_switch.get_active() + + config = { + # XEP-0045 options + 'muc#roomconfig_roomname': name, + 'muc#roomconfig_roomdesc': description, + 'muc#roomconfig_publicroom': is_public, + 'muc#roomconfig_membersonly': not is_public, + 'muc#roomconfig_whois': 'moderators' if is_public else 'anyone', + 'muc#roomconfig_changesubject': not is_public, + + # Ejabberd options + 'public_list': is_public, + } + + # Create new group chat by joining + app.interface.create_groupchat( + self._account, + str(room_jid), + config=config) + + self.destroy() + + def _on_destroy(self, *args): + self._destroyed = True diff --git a/gajim/gtk/groupchat_info.py b/gajim/gtk/groupchat_info.py new file mode 100644 index 0000000..55f3adb --- /dev/null +++ b/gajim/gtk/groupchat_info.py @@ -0,0 +1,286 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import time + +from gi.repository import Gdk +from gi.repository import GLib +from gi.repository import Gtk + +from nbxmpp.namespaces import Namespace + +from gajim.common import app +from gajim.common.i18n import _ +from gajim.common.i18n import Q_ +from gajim.common.helpers import open_uri +from gajim.common.helpers import get_groupchat_name +from gajim.common.const import RFC5646_LANGUAGE_TAGS +from gajim.common.const import AvatarSize + +from .util import get_builder +from .util import make_href_markup + + +MUC_FEATURES = { + 'muc_open': ( + 'feather-globe-symbolic', + Q_('?Group chat feature:Open'), + _('Anyone can join this group chat')), + 'muc_membersonly': ( + 'feather-user-check-symbolic', + Q_('?Group chat feature:Members Only'), + _('This group chat is restricted ' + 'to members only')), + 'muc_nonanonymous': ( + 'feather-shield-off-symbolic', + Q_('?Group chat feature:Not Anonymous'), + _('All other group chat participants ' + 'can see your XMPP address')), + 'muc_semianonymous': ( + 'feather-shield-symbolic', + Q_('?Group chat feature:Semi-Anonymous'), + _('Only moderators can see your XMPP address')), + 'muc_moderated': ( + 'feather-mic-off-symbolic', + Q_('?Group chat feature:Moderated'), + _('Participants entering this group chat need ' + 'to request permission to send messages')), + 'muc_unmoderated': ( + 'feather-mic-symbolic', + Q_('?Group chat feature:Not Moderated'), + _('Participants entering this group chat are ' + 'allowed to send messages')), + 'muc_public': ( + 'feather-eye-symbolic', + Q_('?Group chat feature:Public'), + _('Group chat can be found via search')), + 'muc_hidden': ( + 'feather-eye-off-symbolic', + Q_('?Group chat feature:Hidden'), + _('This group chat can not be found via search')), + 'muc_passwordprotected': ( + 'feather-lock-symbolic', + Q_('?Group chat feature:Password Required'), + _('This group chat ' + 'does require a password upon entry')), + 'muc_unsecured': ( + 'feather-unlock-symbolic', + Q_('?Group chat feature:No Password Required'), + _('This group chat does not require ' + 'a password upon entry')), + 'muc_persistent': ( + 'feather-hard-drive-symbolic', + Q_('?Group chat feature:Persistent'), + _('This group chat persists ' + 'even if there are no participants')), + 'muc_temporary': ( + 'feather-clock-symbolic', + Q_('?Group chat feature:Temporary'), + _('This group chat will be destroyed ' + 'once the last participant left')), + 'mam': ( + 'feather-server-symbolic', + Q_('?Group chat feature:Archiving'), + _('Messages are archived on the server')), +} + + +class GroupChatInfoScrolled(Gtk.ScrolledWindow): + def __init__(self, account=None, options=None): + Gtk.ScrolledWindow.__init__(self) + if options is None: + options = {} + + self._minimal = options.get('minimal', False) + + self.set_size_request(options.get('width', 400), -1) + self.set_halign(Gtk.Align.CENTER) + + if self._minimal: + self.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.NEVER) + else: + self.set_vexpand(True) + self.set_min_content_height(400) + self.set_policy(Gtk.PolicyType.NEVER, + Gtk.PolicyType.AUTOMATIC) + + self._account = account + self._info = None + + self._ui = get_builder('groupchat_info_scrolled.ui') + self.add(self._ui.info_grid) + self._ui.connect_signals(self) + self.show_all() + + def get_account(self): + return self._account + + def set_account(self, account): + self._account = account + + def get_jid(self): + return self._info.jid + + def set_author(self, author, epoch_timestamp=None): + has_author = bool(author) + if has_author and epoch_timestamp is not None: + time_ = time.strftime('%c', time.localtime(epoch_timestamp)) + author = f'{author} - {time_}' + + self._ui.author.set_text(author or '') + self._ui.author.set_visible(has_author) + self._ui.author_label.set_visible(has_author) + + def set_subject(self, subject): + has_subject = bool(subject) + subject = GLib.markup_escape_text(subject or '') + self._ui.subject.set_markup(make_href_markup(subject)) + self._ui.subject.set_visible(has_subject) + self._ui.subject_label.set_visible(has_subject) + + def set_from_disco_info(self, info): + self._info = info + # Set name + if self._account is None: + name = info.muc_name + else: + con = app.connections[self._account] + name = get_groupchat_name(con, info.jid) + self._ui.name.set_text(name) + self._ui.name.set_visible(True) + + # Set avatar + surface = app.interface.avatar_storage.get_muc_surface( + self._account, + str(info.jid), + AvatarSize.GROUP_INFO, + self.get_scale_factor()) + self._ui.avatar_image.set_from_surface(surface) + + # Set description + has_desc = bool(info.muc_description) + self._ui.description.set_text(info.muc_description or '') + self._ui.description.set_visible(has_desc) + self._ui.description_label.set_visible(has_desc) + + # Set address + self._ui.address.set_text(str(info.jid)) + + if self._minimal: + return + + # Set subject + self.set_subject(info.muc_subject) + + # Set user + has_users = info.muc_users is not None + self._ui.users.set_text(info.muc_users or '') + self._ui.users.set_visible(has_users) + self._ui.users_image.set_visible(has_users) + + # Set contacts + self._ui.contact_box.foreach(self._ui.contact_box.remove) + has_contacts = bool(info.muc_contacts) + if has_contacts: + for contact in info.muc_contacts: + self._ui.contact_box.add(self._get_contact_button(contact)) + + self._ui.contact_box.set_visible(has_contacts) + self._ui.contact_label.set_visible(has_contacts) + + # Set discussion logs + has_log_uri = bool(info.muc_log_uri) + self._ui.logs.set_uri(info.muc_log_uri or '') + self._ui.logs.set_label(_('Website')) + self._ui.logs.set_visible(has_log_uri) + self._ui.logs_label.set_visible(has_log_uri) + + # Set room language + has_lang = bool(info.muc_lang) + lang = '' + if has_lang: + lang = RFC5646_LANGUAGE_TAGS.get(info.muc_lang, info.muc_lang) + self._ui.lang.set_text(lang) + self._ui.lang.set_visible(has_lang) + self._ui.lang_image.set_visible(has_lang) + + self._add_features(info.features) + + def _add_features(self, features): + grid = self._ui.info_grid + for row in range(30, 9, -1): + # Remove everything from row 30 to 10 + # We probably will never have 30 rows and + # there is no method to count grid rows + grid.remove_row(row) + features = list(features) + + if Namespace.MAM_2 in features: + features.append('mam') + + row = 10 + + for feature in MUC_FEATURES: + if feature in features: + icon, name, tooltip = MUC_FEATURES.get(feature, + (None, None, None)) + if icon is None: + continue + grid.attach(self._get_feature_icon(icon, tooltip), 0, row, 1, 1) + grid.attach(self._get_feature_label(name), 1, row, 1, 1) + row += 1 + grid.show_all() + + def _on_copy_address(self, _button): + clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) + clipboard.set_text(f'xmpp:{self._info.jid}?join', -1) + + @staticmethod + def _on_activate_log_link(button): + open_uri(button.get_uri()) + return Gdk.EVENT_STOP + + def _on_activate_contact_link(self, button): + open_uri(f'xmpp:{button.get_uri()}?message', account=self._account) + return Gdk.EVENT_STOP + + @staticmethod + def _on_activate_subject_link(_label, uri): + # We have to use this, because the default GTK handler + # is not cross-platform compatible + open_uri(uri) + return Gdk.EVENT_STOP + + @staticmethod + def _get_feature_icon(icon, tooltip): + image = Gtk.Image.new_from_icon_name(icon, Gtk.IconSize.MENU) + image.set_valign(Gtk.Align.CENTER) + image.set_halign(Gtk.Align.END) + image.set_tooltip_text(tooltip) + return image + + @staticmethod + def _get_feature_label(text): + label = Gtk.Label(label=text, use_markup=True) + label.set_halign(Gtk.Align.START) + label.set_valign(Gtk.Align.START) + return label + + def _get_contact_button(self, contact): + button = Gtk.LinkButton.new(contact) + button.set_halign(Gtk.Align.START) + button.get_style_context().add_class('link-button') + button.connect('activate-link', self._on_activate_contact_link) + button.show() + return button diff --git a/gajim/gtk/groupchat_invitation.py b/gajim/gtk/groupchat_invitation.py new file mode 100644 index 0000000..0e2a08a --- /dev/null +++ b/gajim/gtk/groupchat_invitation.py @@ -0,0 +1,127 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from gi.repository import Gdk +from gi.repository import Gtk + +from gajim.common import app +from gajim.common.i18n import _ +from gajim.common.helpers import get_group_chat_nick + +from .groupchat_info import GroupChatInfoScrolled +from .groupchat_nick import NickChooser +from .util import generate_account_badge + + +class GroupChatInvitation(Gtk.ApplicationWindow): + def __init__(self, account, event): + Gtk.ApplicationWindow.__init__(self) + self.set_name('GroupChatInvitation') + self.set_application(app.app) + self.set_position(Gtk.WindowPosition.CENTER) + self.set_show_menubar(False) + self.set_title(_('Group Chat Invitation')) + self.set_type_hint(Gdk.WindowTypeHint.DIALOG) + + self.account = account + self._room_jid = str(event.muc) + self._from = str(event.from_) + self._password = event.password + + main_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=12) + main_box.set_valign(Gtk.Align.FILL) + main_box.get_style_context().add_class('padding-18') + + muc_info_box = GroupChatInfoScrolled(account, {'minimal': True}) + muc_info_box.set_from_disco_info(event.info) + + main_box.add(muc_info_box) + + separator = Gtk.Separator() + contact_label = Gtk.Label(label=event.get_inviter_name()) + contact_label.get_style_context().add_class('bold16') + contact_label.set_line_wrap(True) + contact_box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=6) + contact_box.set_halign(Gtk.Align.CENTER) + contact_box.add(contact_label) + + enabled_accounts = app.get_enabled_accounts_with_labels() + if len(enabled_accounts) > 1: + account_badge = generate_account_badge(account) + account_badge.set_tooltip_text( + _('Account: %s') % app.get_account_label(account)) + contact_box.add(account_badge) + + invitation_label = Gtk.Label( + label=_('has invited you to a group chat.\nDo you want to join?')) + invitation_label.set_halign(Gtk.Align.CENTER) + invitation_label.set_justify(Gtk.Justification.CENTER) + invitation_label.set_max_width_chars(50) + invitation_label.set_line_wrap(True) + + main_box.add(separator) + main_box.add(contact_box) + main_box.add(invitation_label) + + decline_button = Gtk.Button.new_with_mnemonic(_('_Decline')) + decline_button.set_halign(Gtk.Align.START) + decline_button.connect('clicked', self._on_decline) + + self._nick_chooser = NickChooser() + self._nick_chooser.set_text( + get_group_chat_nick(self.account, event.info.jid)) + + join_button = Gtk.Button.new_with_mnemonic(_('_Join')) + join_button.set_halign(Gtk.Align.END) + join_button.get_style_context().add_class('suggested-action') + join_button.connect('clicked', self._on_join) + + join_box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) + join_box.get_style_context().add_class('linked') + join_box.set_halign(Gtk.Align.END) + join_box.add(self._nick_chooser) + join_box.add(join_button) + + button_box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) + button_box.set_margin_top(6) + button_box.pack_start(decline_button, False, False, 0) + button_box.pack_end(join_box, False, False, 0) + + main_box.add(button_box) + + self.connect('key-press-event', self._on_key_press_event) + + self.add(main_box) + + join_button.set_can_default(True) + join_button.grab_focus() + + self.show_all() + + def _on_key_press_event(self, _widget, event): + if event.keyval == Gdk.KEY_Escape: + self.destroy() + + def _on_join(self, _widget): + nickname = self._nick_chooser.get_text() + app.interface.show_or_join_groupchat(self.account, + self._room_jid, + nick=nickname, + password=self._password) + self.destroy() + + def _on_decline(self, _widget): + app.connections[self.account].get_module('MUC').decline( + self._room_jid, self._from) + self.destroy() diff --git a/gajim/gtk/groupchat_invite.py b/gajim/gtk/groupchat_invite.py new file mode 100644 index 0000000..cd75977 --- /dev/null +++ b/gajim/gtk/groupchat_invite.py @@ -0,0 +1,358 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import locale + +from gi.repository import Gdk +from gi.repository import GLib +from gi.repository import GObject +from gi.repository import Gtk +from gi.repository import Pango + +from gajim.common import app +from gajim.common.i18n import _ +from gajim.common.const import AvatarSize +from gajim.common.helpers import validate_jid + +from .util import get_builder +from .util import generate_account_badge + + +class GroupChatInvite(Gtk.Box): + __gsignals__ = { + 'listbox-changed': (GObject.SignalFlags.RUN_LAST, None, (bool,)) + } + + def __init__(self, room_jid): + Gtk.Box.__init__(self) + self.set_size_request(-1, 300) + self._ui = get_builder('groupchat_invite.ui') + self.add(self._ui.invite_grid) + + self._ui.contacts_listbox.set_filter_func(self._filter_func, None) + self._ui.contacts_listbox.set_sort_func(self._sort_func, None) + self._ui.contacts_listbox.set_placeholder(self._ui.contacts_placeholder) + self._ui.contacts_listbox.connect('row-activated', + self._on_contacts_row_activated) + + self._ui.invitees_listbox.set_sort_func(self._sort_func, None) + self._ui.invitees_listbox.set_placeholder( + self._ui.invitees_placeholder) + self._ui.invitees_listbox.connect('row-activated', + self._on_invitees_row_activated) + + self._new_contact_row_visible = False + self._room_jid = room_jid + + self._ui.search_entry.connect('search-changed', + self._on_search_changed) + self._ui.search_entry.connect('next-match', + self._select_new_match, 'next') + self._ui.search_entry.connect('previous-match', + self._select_new_match, 'prev') + self._ui.search_entry.connect( + 'stop-search', lambda *args: self._ui.search_entry.set_text('')) + self._ui.search_entry.connect('activate', + self._on_search_activate) + self.connect('key-press-event', self._on_key_press) + self._ui.connect_signals(self) + + self.show_all() + + def _add_accounts(self): + for account in self._accounts: + self._ui.account_store.append([None, *account]) + + def _add_contacts(self): + show_account = len(self._accounts) > 1 + our_jids = app.get_our_jids() + for account, _label in self._accounts: + self.new_contact_rows[account] = None + participant_jids = [] + for contact in app.contacts.get_gc_contact_list( + account, self._room_jid): + if contact.jid is not None: + participant_jids.append(app.get_jid_without_resource( + contact.jid)) + for jid in app.contacts.get_jid_list(account): + contact = app.contacts.get_contact_with_highest_priority( + account, jid) + # Exclude group chats + if contact.is_groupchat: + continue + # Exclude our own jid + if jid in our_jids: + continue + # Exclude group chat participants + if jid in participant_jids: + continue + row = ContactRow(account, contact, jid, + contact.get_shown_name(), show_account) + self._ui.contacts_listbox.add(row) + + def _on_contacts_row_activated(self, listbox, row): + if row.new: + jid = row.jid + try: + validate_jid(jid) + except ValueError as error: + icon = 'dialog-warning-symbolic' + self._ui.search_entry.set_icon_from_icon_name( + Gtk.EntryIconPosition.SECONDARY, icon) + self._ui.search_entry.set_icon_tooltip_text( + Gtk.EntryIconPosition.SECONDARY, str(error)) + return + self._ui.search_entry.set_icon_from_icon_name( + Gtk.EntryIconPosition.SECONDARY, None) + show_account = len(self._accounts) > 1 + row = ContactRow( + row.account, None, '', None, show_account) + row.update_jid(jid) + self._remove_new_jid_row() + else: + listbox.remove(row) + self._ui.invitees_listbox.add(row) + self._ui.invitees_listbox.unselect_row(row) + self._ui.search_entry.set_text('') + + GLib.timeout_add(50, self._select_first_row) + self._ui.search_entry.grab_focus() + + invitable = self._ui.invitees_listbox.get_row_at_index(0) is not None + self.emit('listbox-changed', invitable) + + def _on_invitees_row_activated(self, listbox, row): + listbox.remove(row) + if not row.new: + self._ui.contacts_listbox.add(row) + self._ui.contacts_listbox.unselect_row(row) + self._ui.search_entry.grab_focus() + invitable = listbox.get_row_at_index(0) is not None + self.emit('listbox-changed', invitable) + + def _on_key_press(self, _widget, event): + if event.keyval == Gdk.KEY_Down: + self._ui.search_entry.emit('next-match') + return Gdk.EVENT_STOP + + if event.keyval == Gdk.KEY_Up: + self._ui.search_entry.emit('previous-match') + return Gdk.EVENT_STOP + + if event.keyval == Gdk.KEY_Return: + row = self._ui.contacts_listbox.get_selected_row() + if row is not None: + row.emit('activate') + return Gdk.EVENT_STOP + + self._ui.search_entry.grab_focus_without_selecting() + + return Gdk.EVENT_PROPAGATE + + def _on_search_activate(self, _entry): + row = self._ui.contacts_listbox.get_selected_row() + if row is not None and row.get_child_visible(): + row.emit('activate') + + def _on_search_changed(self, entry): + search_text = entry.get_text() + if '@' in search_text: + self._add_new_jid_row() + self._update_new_jid_rows(search_text) + else: + self._remove_new_jid_row() + self._ui.contacts_listbox.invalidate_filter() + + def _add_new_jid_row(self): + if self._new_contact_row_visible: + return + for account in self.new_contact_rows: + show_account = len(self._accounts) > 1 + row = ContactRow(account, None, '', None, show_account) + self.new_contact_rows[account] = row + self._ui.contacts_listbox.add(row) + row.get_parent().show_all() + self._new_contact_row_visible = True + + def _remove_new_jid_row(self): + if not self._new_contact_row_visible: + return + for account in self.new_contact_rows: + self._ui.contacts_listbox.remove( + self.new_contact_rows[account]) + self._new_contact_row_visible = False + + def _update_new_jid_rows(self, search_text): + for account in self.new_contact_rows: + self.new_contact_rows[account].update_jid(search_text) + + def _select_new_match(self, _entry, direction): + selected_row = self._ui.contacts_listbox.get_selected_row() + if selected_row is None: + return + + index = selected_row.get_index() + + if direction == 'next': + index += 1 + else: + index -= 1 + + while True: + new_selected_row = self._ui.contacts_listbox.get_row_at_index(index) + if new_selected_row is None: + return + if new_selected_row.get_child_visible(): + self._ui.contacts_listbox.select_row(new_selected_row) + new_selected_row.grab_focus() + return + if direction == 'next': + index += 1 + else: + index -= 1 + + def _select_first_row(self): + first_row = self._ui.contacts_listbox.get_row_at_y(0) + self._ui.contacts_listbox.select_row(first_row) + + def _scroll_to_first_row(self): + self._ui.scrolledwindow.get_vadjustment().set_value(0) + + def _filter_func(self, row, _user_data): + search_text = self._ui.search_entry.get_text().lower() + search_text_list = search_text.split() + row_text = row.get_search_text().lower() + for text in search_text_list: + if text not in row_text: + GLib.timeout_add(50, self._select_first_row) + return None + GLib.timeout_add(50, self._select_first_row) + return True + + @staticmethod + def _sort_func(row1, row2, _user_data): + name1 = row1.get_search_text() + name2 = row2.get_search_text() + account1 = row1.account + account2 = row2.account + + result = locale.strcoll(account1.lower(), account2.lower()) + if result != 0: + return result + + return locale.strcoll(name1.lower(), name2.lower()) + + def load_contacts(self): + self._ui.contacts_listbox.foreach(self._ui.contacts_listbox.remove) + self._ui.invitees_listbox.foreach(self._ui.invitees_listbox.remove) + self._accounts = app.get_enabled_accounts_with_labels() + self.new_contact_rows = {} + self._add_accounts() + self._add_contacts() + first_row = self._ui.contacts_listbox.get_row_at_index(0) + self._ui.contacts_listbox.select_row(first_row) + self._ui.search_entry.grab_focus() + self.emit('listbox-changed', False) + + def focus_search_entry(self): + self._ui.search_entry.grab_focus() + + def get_invitees(self): + invitees = [] + for row in self._ui.invitees_listbox.get_children(): + invitees.append(row.jid) + return invitees + + +class ContactRow(Gtk.ListBoxRow): + def __init__(self, account, contact, jid, name, show_account): + Gtk.ListBoxRow.__init__(self) + self.get_style_context().add_class('start-chat-row') + self.account = account + self.account_label = app.get_account_label(account) + self.show_account = show_account + self.jid = jid + self.contact = contact + self.name = name + self.new = jid == '' + + show = contact.show if contact else 'offline' + + grid = Gtk.Grid() + grid.set_column_spacing(12) + grid.set_size_request(260, -1) + + image = self._get_avatar_image(account, jid, show) + image.set_size_request(AvatarSize.ROSTER, AvatarSize.ROSTER) + grid.add(image) + + box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=0) + box.set_hexpand(True) + + if self.name is None: + self.name = _('Invite New Contact') + + self.name_label = Gtk.Label(label=self.name) + self.name_label.set_ellipsize(Pango.EllipsizeMode.END) + self.name_label.set_xalign(0) + self.name_label.set_width_chars(20) + self.name_label.set_halign(Gtk.Align.START) + self.name_label.get_style_context().add_class('bold16') + name_box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=6) + name_box.add(self.name_label) + + if show_account: + account_badge = generate_account_badge(account) + account_badge.set_tooltip_text( + _('Account: %s' % self.account_label)) + account_badge.set_halign(Gtk.Align.END) + account_badge.set_valign(Gtk.Align.START) + account_badge.set_hexpand(True) + name_box.add(account_badge) + box.add(name_box) + + self.jid_label = Gtk.Label(label=jid) + self.jid_label.set_tooltip_text(jid) + self.jid_label.set_ellipsize(Pango.EllipsizeMode.END) + self.jid_label.set_xalign(0) + self.jid_label.set_width_chars(22) + self.jid_label.set_halign(Gtk.Align.START) + self.jid_label.get_style_context().add_class('dim-label') + box.add(self.jid_label) + + grid.add(box) + + self.add(grid) + self.show_all() + + def _get_avatar_image(self, account, jid, show): + if self.new: + icon_name = 'avatar-default' + return Gtk.Image.new_from_icon_name(icon_name, Gtk.IconSize.DND) + + scale = self.get_scale_factor() + avatar = app.contacts.get_avatar( + account, jid, AvatarSize.ROSTER, scale, show) + return Gtk.Image.new_from_surface(avatar) + + def update_jid(self, jid): + self.jid = jid + self.jid_label.set_text(jid) + + def get_search_text(self): + if self.contact is None: + return self.jid + if self.show_account: + return '%s %s %s' % (self.name, self.jid, self.account_label) + return '%s %s' % (self.name, self.jid) diff --git a/gajim/gtk/groupchat_join.py b/gajim/gtk/groupchat_join.py new file mode 100644 index 0000000..1cd5265 --- /dev/null +++ b/gajim/gtk/groupchat_join.py @@ -0,0 +1,195 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from gi.repository import Gtk +from gi.repository import Gdk +from gi.repository import Pango + +from nbxmpp.errors import StanzaError + +from gajim.common import app +from gajim.common.i18n import _ +from gajim.common.i18n import get_rfc5646_lang +from gajim.common.helpers import to_user_string +from gajim.common.helpers import get_group_chat_nick +from gajim.common.const import MUC_DISCO_ERRORS + +from .groupchat_info import GroupChatInfoScrolled +from .groupchat_nick import NickChooser +from .util import ensure_not_destroyed + + +class GroupchatJoin(Gtk.ApplicationWindow): + def __init__(self, account, jid): + Gtk.ApplicationWindow.__init__(self) + self.set_name('GroupchatJoin') + self.set_application(app.app) + self.set_position(Gtk.WindowPosition.CENTER) + self.set_show_menubar(False) + self.set_title(_('Join Group Chat')) + self.set_type_hint(Gdk.WindowTypeHint.DIALOG) + + self._destroyed = False + self.account = account + self.jid = jid + self._redirected = False + + self._main_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, + spacing=18) + self._main_box.set_valign(Gtk.Align.FILL) + + self._muc_info_box = GroupChatInfoScrolled(account) + + self._stack = Gtk.Stack() + self._stack.add_named(self._muc_info_box, 'info') + self._stack.add_named(ProgressPage(), 'progress') + self._stack.add_named(ErrorPage(), 'error') + + self._stack.set_visible_child_name('progress') + self._stack.get_visible_child().start() + + self._stack.connect('notify::visible-child-name', + self._on_page_changed) + self._main_box.add(self._stack) + + self._nick_chooser = NickChooser() + + self._join_button = Gtk.Button.new_with_mnemonic(_('_Join')) + self._join_button.set_halign(Gtk.Align.END) + self._join_button.set_sensitive(False) + self._join_button.set_can_default(True) + self._join_button.get_style_context().add_class('suggested-action') + self._join_button.connect('clicked', self._on_join) + + join_box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) + join_box.get_style_context().add_class('linked') + join_box.set_halign(Gtk.Align.END) + join_box.add(self._nick_chooser) + join_box.add(self._join_button) + + self._main_box.add(join_box) + + self.connect('key-press-event', self._on_key_press_event) + self.connect('destroy', self._on_destroy) + + self.add(self._main_box) + self.show_all() + + con = app.connections[self.account] + con.get_module('Discovery').disco_muc( + jid, + allow_redirect=True, + request_vcard=True, + callback=self._disco_info_received) + + def _on_page_changed(self, stack, _param): + name = stack.get_visible_child_name() + self._join_button.set_sensitive(name == 'info') + self._nick_chooser.set_sensitive(name == 'info') + + @ensure_not_destroyed + def _disco_info_received(self, task): + try: + result = task.finish() + except StanzaError as error: + self._log.info('Disco %s failed: %s', error.jid, error.get_text()) + self._set_error(error) + return + + if result.redirected: + self.jid = result.info.jid + + if result.info.is_muc: + self._muc_info_box.set_from_disco_info(result.info) + nickname = get_group_chat_nick(self.account, result.info.jid) + self._nick_chooser.set_text(nickname) + self._join_button.grab_default() + self._stack.set_visible_child_name('info') + + else: + self._set_error_from_code('not-muc-service') + + def _show_error_page(self, text): + self._stack.get_child_by_name('error').set_text(text) + self._stack.set_visible_child_name('error') + + def _set_error(self, error): + text = MUC_DISCO_ERRORS.get(error.condition, to_user_string(error)) + if error.condition == 'gone': + reason = error.get_text(get_rfc5646_lang()) + if reason: + text = '%s:\n%s' % (text, reason) + self._show_error_page(text) + + def _set_error_from_code(self, error_code): + self._show_error_page(MUC_DISCO_ERRORS[error_code]) + + def _on_join(self, *args): + nickname = self._nick_chooser.get_text() + app.interface.show_or_join_groupchat( + self.account, self.jid, nick=nickname) + self.destroy() + + def _on_destroy(self, *args): + self._destroyed = True + + def _on_key_press_event(self, _widget, event): + if event.keyval == Gdk.KEY_Escape: + self.destroy() + + +class ErrorPage(Gtk.Box): + def __init__(self): + Gtk.Box.__init__(self, + orientation=Gtk.Orientation.VERTICAL, + spacing=18) + self.set_vexpand(True) + self.set_homogeneous(True) + error_icon = Gtk.Image.new_from_icon_name( + 'dialog-error', Gtk.IconSize.DIALOG) + error_icon.set_valign(Gtk.Align.END) + + self._error_label = Gtk.Label() + self._error_label.set_justify(Gtk.Justification.CENTER) + self._error_label.set_valign(Gtk.Align.START) + self._error_label.get_style_context().add_class('bold16') + self._error_label.set_line_wrap(True) + self._error_label.set_line_wrap_mode(Pango.WrapMode.WORD) + self._error_label.set_size_request(150, -1) + + self.add(error_icon) + self.add(self._error_label) + self.show_all() + + def set_text(self, text): + self._error_label.set_text(text) + + +class ProgressPage(Gtk.Box): + def __init__(self): + Gtk.Box.__init__(self, + orientation=Gtk.Orientation.VERTICAL, + spacing=18) + self.set_vexpand(True) + self.set_homogeneous(True) + self._spinner = Gtk.Spinner() + + self.add(self._spinner) + self.show_all() + + def start(self): + self._spinner.start() + + def stop(self): + self._spinner.stop() diff --git a/gajim/gtk/groupchat_nick.py b/gajim/gtk/groupchat_nick.py new file mode 100644 index 0000000..f9e0682 --- /dev/null +++ b/gajim/gtk/groupchat_nick.py @@ -0,0 +1,57 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from gi.repository import Gtk + +from nbxmpp.protocol import InvalidJid +from nbxmpp.protocol import validate_resourcepart + +from .util import get_builder + + +class NickChooser(Gtk.MenuButton): + def __init__(self): + Gtk.MenuButton.__init__(self) + self._ui = get_builder('groupchat_nick_chooser.ui') + self.add(self._ui.button_content) + self.set_receives_default(False) + self.set_popover(self._ui.popover) + + self._ui.popover.set_default_widget( + self._ui.apply_button) + self.connect('toggled', self._on_nickname_button_toggled) + self._ui.entry.connect('changed', self._on_nickname_changed) + self._ui.apply_button.connect('clicked', self._on_apply_nickname) + + def get_text(self): + return self._ui.entry.get_text() + + def set_text(self, text): + self._ui.entry.set_text(text) + self._ui.label.set_text(text) + + def _on_nickname_button_toggled(self, _widget): + self._ui.entry.grab_focus() + + def _on_nickname_changed(self, entry): + try: + validate_resourcepart(entry.get_text()) + self._ui.apply_button.set_sensitive(True) + except InvalidJid: + self._ui.apply_button.set_sensitive(False) + + def _on_apply_nickname(self, _button): + nickname = self._ui.entry.get_text() + self._ui.popover.popdown() + self._ui.label.set_text(nickname) diff --git a/gajim/gtk/groupchat_roster.py b/gajim/gtk/groupchat_roster.py new file mode 100644 index 0000000..1a50acf --- /dev/null +++ b/gajim/gtk/groupchat_roster.py @@ -0,0 +1,484 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from typing import Optional + +import locale +from enum import IntEnum + +from gi.repository import Gtk +from gi.repository import GLib +from gi.repository import GObject +from nbxmpp.const import Role +from nbxmpp.const import Affiliation + +from gajim.common import app +from gajim.common import ged +from gajim.common.helpers import get_uf_role +from gajim.common.helpers import get_uf_affiliation +from gajim.common.helpers import jid_is_blocked +from gajim.common.helpers import event_filter +from gajim.common.const import AvatarSize +from gajim.common.const import StyleAttr + +from gajim.gui_menu_builder import get_groupchat_roster_menu +from .tooltips import GCTooltip +from .util import get_builder +from .util import EventHelper + + +AffiliationRoleSortOrder = { + 'owner': 0, + 'admin': 1, + 'moderator': 2, + 'participant': 3, + 'visitor': 4 +} + + +class Column(IntEnum): + AVATAR = 0 + TEXT = 1 + EVENT = 2 + IS_CONTACT = 3 + NICK_OR_GROUP = 4 + + +class GroupchatRoster(Gtk.ScrolledWindow, EventHelper): + + __gsignals__ = { + 'row-activated': ( + GObject.SignalFlags.RUN_LAST | GObject.SignalFlags.ACTION, + None, # return value + (str, )) # arguments + } + + def __init__(self, account, room_jid, control): + Gtk.ScrolledWindow.__init__(self) + EventHelper.__init__(self) + self.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC) + self.get_style_context().add_class('groupchat-roster') + self._account = account + self.room_jid = room_jid + self._control = control + self._control_id = control.control_id + self._show_roles = True + self._handler_ids = {} + self._tooltip = GCTooltip() + + self._ui = get_builder('groupchat_roster.ui') + self._ui.roster_treeview.set_model(None) + self.add(self._ui.roster_treeview) + + # Holds the Gtk.TreeRowReference for each contact + self._contact_refs = {} + # Holds the Gtk.TreeRowReference for each group + self._group_refs = {} + + self._store = self._ui.participant_store + self._store.set_sort_func(Column.TEXT, self._tree_compare_iters) + + self._roster = self._ui.roster_treeview + self._roster.set_search_equal_func(self._search_func) + + self._ui.contact_column.set_fixed_width( + app.settings.get('groupchat_roster_width')) + self._ui.contact_column.set_cell_data_func(self._ui.text_renderer, + self._text_cell_data_func) + + self.connect('destroy', self._on_destroy) + self._ui.connect_signals(self) + + self.register_events([ + ('theme-update', ged.GUI2, self._on_theme_update), + ('update-gc-avatar', ged.GUI1, self._on_avatar_update), + ]) + + @staticmethod + def _on_focus_out(treeview, _param): + treeview.get_selection().unselect_all() + + def set_model(self): + self._roster.set_model(self._store) + + def set_show_roles(self, enabled): + self._show_roles = enabled + + def enable_tooltips(self): + if self._roster.get_tooltip_window(): + return + + self._roster.set_has_tooltip(True) + id_ = self._roster.connect('query-tooltip', self._query_tooltip) + self._handler_ids[id_] = self._roster + + def _query_tooltip(self, widget, x_pos, y_pos, _keyboard_mode, tooltip): + try: + row = self._roster.get_path_at_pos(x_pos, y_pos)[0] + except TypeError: + self._tooltip.clear_tooltip() + return False + if not row: + self._tooltip.clear_tooltip() + return False + + iter_ = None + try: + iter_ = self._store.get_iter(row) + except Exception: + self._tooltip.clear_tooltip() + return False + + if not self._store[iter_][Column.IS_CONTACT]: + self._tooltip.clear_tooltip() + return False + + nickname = self._store[iter_][Column.NICK_OR_GROUP] + contact = app.contacts.get_gc_contact(self._account, + self.room_jid, + nickname) + if contact is None: + self._tooltip.clear_tooltip() + return False + + value, widget = self._tooltip.get_tooltip(contact) + tooltip.set_custom(widget) + return value + + @staticmethod + def _search_func(model, _column, search_text, iter_): + return search_text.lower() not in model[iter_][1].lower() + + def _get_group_iter(self, group_name: str) -> Optional[Gtk.TreeIter]: + try: + ref = self._group_refs[group_name] + except KeyError: + return None + + path = ref.get_path() + if path is None: + return None + return self._store.get_iter(path) + + def _get_contact_iter(self, nick: str) -> Optional[Gtk.TreeIter]: + try: + ref = self._contact_refs[nick] + except KeyError: + return None + + path = ref.get_path() + if path is None: + return None + return self._store.get_iter(path) + + def add_contact(self, nick): + contact = app.contacts.get_gc_contact(self._account, + self.room_jid, + nick) + group_name, group_text = self._get_group_from_contact(contact) + + # Create Group + group_iter = self._get_group_iter(group_name) + role_path = None + if not group_iter: + group_iter = self._store.append( + None, (None, group_text, None, False, group_name)) + role_path = self._store.get_path(group_iter) + group_ref = Gtk.TreeRowReference(self._store, role_path) + self._group_refs[group_name] = group_ref + + # Avatar + surface = app.interface.get_avatar(contact, + AvatarSize.ROSTER, + self.get_scale_factor(), + contact.show.value) + + iter_ = self._store.append(group_iter, + (surface, nick, None, True, nick)) + self._contact_refs[nick] = Gtk.TreeRowReference( + self._store, self._store.get_path(iter_)) + + self.draw_groups() + self.draw_contact(nick) + + if (role_path is not None and + self._roster.get_model() is not None): + self._roster.expand_row(role_path, False) + + def remove_contact(self, nick): + """ + Remove a user + """ + iter_ = self._get_contact_iter(nick) + if not iter_: + return + + group_iter = self._store.iter_parent(iter_) + if group_iter is None: + raise ValueError('Trying to remove non-child') + + self._store.remove(iter_) + del self._contact_refs[nick] + if not self._store.iter_has_child(group_iter): + group = self._store[group_iter][Column.NICK_OR_GROUP] + del self._group_refs[group] + self._store.remove(group_iter) + + @staticmethod + def _get_group_from_contact(contact): + if contact.affiliation in (Affiliation.OWNER, Affiliation.ADMIN): + return contact.affiliation.value, get_uf_affiliation( + contact.affiliation, plural=True) + return contact.role.value, get_uf_role(contact.role, plural=True) + + @staticmethod + def _text_cell_data_func(_column, renderer, model, iter_, _user_data): + has_parent = bool(model.iter_parent(iter_)) + style = 'contact' if has_parent else 'group' + + bgcolor = app.css_config.get_value('.gajim-%s-row' % style, + StyleAttr.BACKGROUND) + renderer.set_property('cell-background', bgcolor) + + color = app.css_config.get_value('.gajim-%s-row' % style, + StyleAttr.COLOR) + renderer.set_property('foreground', color) + + desc = app.css_config.get_font('.gajim-%s-row' % style) + renderer.set_property('font-desc', desc) + + if not has_parent: + renderer.set_property('weight', 600) + renderer.set_property('ypad', 6) + + def _on_roster_row_activated(self, _treeview, path, _column): + iter_ = self._store.get_iter(path) + if self._store.iter_parent(iter_) is None: + # This is a group row + return + nick = self._store[iter_][Column.NICK_OR_GROUP] + if self._control.nick == nick: + return + self.emit('row-activated', nick) + + def _on_roster_button_press_event(self, treeview, event): + if event.button not in (2, 3): + return + + pos = treeview.get_path_at_pos(int(event.x), int(event.y)) + if pos is None: + return + + path, _, _, _ = pos + iter_ = self._store.get_iter(path) + if self._store.iter_parent(iter_) is None: + # Group row + return + + nick = self._store[iter_][Column.NICK_OR_GROUP] + if self._control.nick == nick: + return + + if event.button == 3: # right click + self._show_contact_menu(nick) + + if event.button == 2: # middle click + self.emit('row-activated', nick) + + def _show_contact_menu(self, nick): + self_contact = app.contacts.get_gc_contact( + self._account, self.room_jid, self._control.nick) + contact = app.contacts.get_gc_contact( + self._account, self.room_jid, nick) + menu = get_groupchat_roster_menu(self._account, + self._control_id, + self_contact, + contact) + + def destroy(menu, _pspec): + visible = menu.get_property('visible') + if not visible: + GLib.idle_add(menu.destroy) + + menu.attach_to_widget(self, None) + menu.connect('notify::visible', destroy) + menu.popup_at_pointer() + + def _tree_compare_iters(self, model, iter1, iter2, _user_data): + """ + Compare two iterators to sort them + """ + + is_contact = model.iter_parent(iter1) + if is_contact: + # Sort contacts with pending events to top + if model[iter1][Column.EVENT] != model[iter2][Column.EVENT]: + return -1 if model[iter1][Column.EVENT] else 1 + + nick1 = model[iter1][Column.NICK_OR_GROUP] + nick2 = model[iter2][Column.NICK_OR_GROUP] + + if not app.settings.get('sort_by_show_in_muc'): + return locale.strcoll(nick1.lower(), nick2.lower()) + + gc_contact1 = app.contacts.get_gc_contact(self._account, + self.room_jid, + nick1) + gc_contact2 = app.contacts.get_gc_contact(self._account, + self.room_jid, + nick2) + if gc_contact1.show != gc_contact2.show: + return -1 if gc_contact1.show > gc_contact2.show else 1 + + return locale.strcoll(nick1.lower(), nick2.lower()) + + # Group + group1 = model[iter1][Column.NICK_OR_GROUP] + group2 = model[iter2][Column.NICK_OR_GROUP] + group1_index = AffiliationRoleSortOrder[group1] + group2_index = AffiliationRoleSortOrder[group2] + return -1 if group1_index < group2_index else 1 + + def enable_sort(self, enable): + column = Gtk.TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID + if enable: + column = Column.TEXT + + self._store.set_sort_column_id(column, Gtk.SortType.ASCENDING) + + def invalidate_sort(self): + self.enable_sort(False) + self.enable_sort(True) + + def initial_draw(self): + self.enable_sort(True) + self.set_model() + self._roster.expand_all() + + def redraw(self): + self._roster.set_model(None) + self._roster.set_model(self._store) + self._roster.expand_all() + + def draw_contact(self, nick): + iter_ = self._get_contact_iter(nick) + if not iter_: + return + + gc_contact = app.contacts.get_gc_contact( + self._account, self.room_jid, nick) + + self.draw_avatar(gc_contact) + + if app.events.get_events(self._account, self.room_jid + '/' + nick): + self._store[iter_][Column.EVENT] = True + else: + self._store[iter_][Column.EVENT] = False + + name = GLib.markup_escape_text(gc_contact.name) + + # Strike name if blocked + fjid = self.room_jid + '/' + nick + if jid_is_blocked(self._account, fjid): + name = '%s' % name + + # add status msg, if not empty, under contact name + status = gc_contact.status + if status is not None: + status = status.strip() + + if status and app.settings.get('show_status_msgs_in_roster'): + # Display only first line + status = status.split('\n', 1)[0] + # escape markup entities and make them small italic and fg color + name += ('\n' + '{}'.format(GLib.markup_escape_text(status))) + + self._store[iter_][Column.TEXT] = name + + def draw_contacts(self): + for nick in self._contact_refs: + self.draw_contact(nick) + + def draw_group(self, group): + group_iter = self._get_group_iter(group) + if not group_iter: + return + + if group in ('owner', 'admin'): + group_text = get_uf_affiliation(group, plural=True) + else: + group_text = get_uf_role(group, plural=True) + + total_users = self._get_total_user_count() + group_users = self._store.iter_n_children(group_iter) + + group_text += ' (%s/%s)' % (group_users, total_users) + + self._store[group_iter][Column.TEXT] = group_text + + def draw_groups(self): + for group in self._group_refs: + self.draw_group(group) + + def draw_avatar(self, contact): + iter_ = self._get_contact_iter(contact.name) + if iter_ is None: + return + surface = app.interface.get_avatar(contact, + AvatarSize.ROSTER, + self.get_scale_factor(), + contact.show.value) + self._store[iter_][Column.AVATAR] = surface + + def _get_total_user_count(self): + count = 0 + for group_row in self._store: + count += self._store.iter_n_children(group_row.iter) + return count + + def get_role(self, nick): + gc_contact = app.contacts.get_gc_contact( + self._account, self.room_jid, nick) + if gc_contact: + return gc_contact.role + return Role.VISITOR + + def _on_theme_update(self, _event): + self.redraw() + + @event_filter(['room_jid']) + def _on_avatar_update(self, event): + self.draw_avatar(event.contact) + + def clear(self): + self._contact_refs = {} + self._group_refs = {} + self._store.clear() + + def _on_destroy(self, _roster): + for id_ in list(self._handler_ids.keys()): + if self._handler_ids[id_].handler_is_connected(id_): + self._handler_ids[id_].disconnect(id_) + del self._handler_ids[id_] + + self._contact_refs = {} + self._group_refs = {} + self._control = None + self._roster.set_model(None) + self._roster = None + self._store.clear() + self._store = None + self._tooltip.destroy() + self._tooltip = None diff --git a/gajim/gtk/groupchat_settings.py b/gajim/gtk/groupchat_settings.py new file mode 100644 index 0000000..bf9f14f --- /dev/null +++ b/gajim/gtk/groupchat_settings.py @@ -0,0 +1,89 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from gi.repository import Gtk + +from gajim.common.const import THRESHOLD_OPTIONS +from gajim.common.i18n import _ + +from .const import Setting +from .const import SettingKind +from .const import SettingType +from .settings import SettingsBox + + +class GroupChatSettings(SettingsBox): + def __init__(self, account, jid): + SettingsBox.__init__(self, account, jid) + + self.get_style_context().add_class('settings-border') + self.set_selection_mode(Gtk.SelectionMode.NONE) + self.set_valign(Gtk.Align.START) + self.set_halign(Gtk.Align.CENTER) + + chat_state = { + 'disabled': _('Disabled'), + 'composing_only': _('Composing Only'), + 'all': _('All Chat States') + } + + settings = [ + Setting(SettingKind.SWITCH, + _('Show Join/Leave'), + SettingType.GROUP_CHAT, + 'print_join_left'), + + Setting(SettingKind.SWITCH, + _('Show Status Changes'), + SettingType.GROUP_CHAT, + 'print_status'), + + Setting(SettingKind.SWITCH, + _('Notify on all Messages'), + SettingType.GROUP_CHAT, + 'notify_on_all_messages'), + + Setting(SettingKind.SWITCH, + _('Minimize on Close'), + SettingType.GROUP_CHAT, + 'minimize_on_close'), + + Setting(SettingKind.SWITCH, + _('Minimize When Joining Automatically'), + SettingType.GROUP_CHAT, + 'minimize_on_autojoin'), + + Setting(SettingKind.POPOVER, + _('Send Chat State'), + SettingType.GROUP_CHAT, + 'send_chatstate', + props={'entries': chat_state}), + + Setting(SettingKind.SWITCH, + _('Send Chat Markers'), + SettingType.GROUP_CHAT, + 'send_marker', + desc=_('Let others know if you read up to this point')), + + Setting(SettingKind.POPOVER, + _('Sync Threshold'), + SettingType.GROUP_CHAT, + 'sync_threshold', + props={'entries': THRESHOLD_OPTIONS}), + + ] + + for setting in settings: + self.add_setting(setting) + self.update_states() diff --git a/gajim/gtk/gstreamer.py b/gajim/gtk/gstreamer.py new file mode 100644 index 0000000..9fab0a6 --- /dev/null +++ b/gajim/gtk/gstreamer.py @@ -0,0 +1,39 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +try: + from gi.repository import Gst +except Exception: + pass + + +def create_gtk_widget(): + gtkglsink = Gst.ElementFactory.make('gtkglsink', None) + if gtkglsink is not None: + glsinkbin = Gst.ElementFactory.make('glsinkbin', None) + if glsinkbin is None: + return None, None, None + glsinkbin.set_property('sink', gtkglsink) + sink = glsinkbin + widget = gtkglsink.get_property('widget') + name = 'gtkglsink' + else: + sink = Gst.ElementFactory.make('gtksink', None) + if sink is None: + return None, None, None + widget = sink.get_property('widget') + name = 'gtksink' + widget.set_visible(True) + widget.set_property('expand', True) + return sink, widget, name diff --git a/gajim/gtk/history.py b/gajim/gtk/history.py new file mode 100644 index 0000000..2f012b1 --- /dev/null +++ b/gajim/gtk/history.py @@ -0,0 +1,815 @@ +# Copyright (C) 2003-2014 Yann Leboulanger +# Copyright (C) 2005 Vincent Hanquez +# Copyright (C) 2005-2006 Nikos Kouremenos +# Copyright (C) 2006 Dimitur Kirov +# Travis Shirk +# Copyright (C) 2006-2008 Jean-Marie Traissard +# Copyright (C) 2007-2008 Stephan Erb +# Copyright (C) 2008 Brendan Taylor +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import time +import datetime +from enum import IntEnum +from enum import unique + +from gi.repository import Gtk +from gi.repository import Gdk +from gi.repository import GLib + +from gajim.common import app +from gajim.common import helpers +from gajim.common import exceptions +from gajim.common.i18n import _ +from gajim.common.const import ShowConstant +from gajim.common.const import KindConstant +from gajim.common.const import StyleAttr + +from gajim import conversation_textview + +from .util import python_month +from .util import gtk_month +from .util import resize_window +from .util import move_window +from .util import get_icon_name +from .util import get_completion_liststore +from .util import get_builder +from .util import scroll_to_end + +from .dialogs import ErrorDialog + +@unique +class InfoColumn(IntEnum): + '''Completion dict''' + JID = 0 + ACCOUNT = 1 + NAME = 2 + COMPLETION = 3 + + +@unique +class Column(IntEnum): + LOG_JID = 0 + CONTACT_NAME = 1 + UNIXTIME = 2 + MESSAGE = 3 + TIME = 4 + LOG_LINE_ID = 5 + + +class HistoryWindow(Gtk.ApplicationWindow): + def __init__(self, jid=None, account=None): + Gtk.ApplicationWindow.__init__(self) + self.set_application(app.app) + self.set_position(Gtk.WindowPosition.CENTER) + self.set_show_menubar(False) + self.set_title(_('Conversation History')) + + self._ui = get_builder('history_window.ui') + + self.add(self._ui.history_box) + + self.history_textview = conversation_textview.ConversationTextview( + account, used_in_history_window=True) + self._ui.scrolledwindow.add(self.history_textview.tv) + self.history_buffer = self.history_textview.tv.get_buffer() + highlight_color = app.css_config.get_value( + '.gajim-search-highlight', StyleAttr.COLOR) + self.history_buffer.create_tag('highlight', background=highlight_color) + self.history_buffer.create_tag('invisible', invisible=True) + + self.clearing_search = False + + # jid, contact_name, date, message, time, log_line_id + model = Gtk.ListStore(str, str, str, str, str, int) + self._ui.results_treeview.set_model(model) + col = Gtk.TreeViewColumn(_('Name')) + self._ui.results_treeview.append_column(col) + renderer = Gtk.CellRendererText() + col.pack_start(renderer, True) + col.add_attribute(renderer, 'text', Column.CONTACT_NAME) + # user can click this header and sort + col.set_sort_column_id(Column.CONTACT_NAME) + col.set_resizable(True) + + col = Gtk.TreeViewColumn(_('Date')) + self._ui.results_treeview.append_column(col) + renderer = Gtk.CellRendererText() + col.pack_start(renderer, True) + col.add_attribute(renderer, 'text', Column.UNIXTIME) + # user can click this header and sort + col.set_sort_column_id(Column.UNIXTIME) + col.set_resizable(True) + + col = Gtk.TreeViewColumn(_('Message')) + self._ui.results_treeview.append_column(col) + renderer = Gtk.CellRendererText() + col.pack_start(renderer, True) + col.add_attribute(renderer, 'text', Column.MESSAGE) + col.set_resizable(True) + + self.jid = None # The history we are currently viewing + self.account = account + self.completion_dict = {} + self.accounts_seen_online = [] # Update dict when new accounts connect + self.jids_to_search = [] + + # This will load history too + task = self._fill_completion_dict() + GLib.idle_add(next, task) + + if jid: + self._ui.query_entry.get_child().set_text(jid) + else: + self._load_history(None) + + resize_window(self, + app.settings.get('history_window_width'), + app.settings.get('history_window_height')) + move_window(self, + app.settings.get('history_window_x-position'), + app.settings.get('history_window_y-position')) + + self._ui.connect_signals(self) + self.connect('delete-event', self._on_delete) + self.connect('destroy', self._on_destroy) + self.connect('key-press-event', self._on_key_press) + self.show_all() + + # PluginSystem: adding GUI extension point for + # HistoryWindow instance object + app.plugin_manager.gui_extension_point( + 'history_window', self) + + def _fill_completion_dict(self): + """ + Fill completion_dict for key auto completion. Then load history for + current jid (by calling another function) + + Key will be either jid or full_completion_name (contact name or long + description like "pm-contact from groupchat...."). + + {key : (jid, account, nick_name, full_completion_name} + This is a generator and does pseudo-threading via idle_add(). + """ + liststore = get_completion_liststore( + self._ui.query_entry.get_child()) + liststore.set_sort_column_id(1, Gtk.SortType.ASCENDING) + self._ui.query_entry.get_child().get_completion().connect( + 'match-selected', self.on_jid_entry_match_selected) + + self._ui.query_entry.set_model(liststore) + + # Add all jids in logs.db: + db_jids = app.storage.archive.get_jids_in_db() + completion_dict = dict.fromkeys(db_jids) + + self.accounts_seen_online = list(app.contacts.get_accounts()) + + # Enhance contacts of online accounts with contact. + # Needed for mapping below + for account in self.accounts_seen_online: + completion_dict.update( + helpers.get_contact_dict_for_account(account)) + + muc_active_icon = get_icon_name('muc-active') + online_icon = get_icon_name('online') + + keys = list(completion_dict.keys()) + # Move the actual jid at first so we load history faster + actual_jid = self._ui.query_entry.get_child().get_text() + if actual_jid in keys: + keys.remove(actual_jid) + keys.insert(0, actual_jid) + if '' in keys: + keys.remove('') + if None in keys: + keys.remove(None) + # Map jid to info tuple + # Warning : This for is time critical with big DB + for key in keys: + completed = key + completed2 = None + contact = completion_dict[completed] + if contact: + info_name = contact.get_shown_name() + info_completion = info_name + info_jid = contact.jid + else: + # Corresponding account is offline, we know nothing + info_name = completed.split('@')[0] + info_completion = completed + info_jid = completed + + info_acc = self._get_account_for_jid(info_jid) + + if (app.storage.archive.jid_is_room_jid(completed) or + app.storage.archive.jid_is_from_pm(completed)): + icon = muc_active_icon + if app.storage.archive.jid_is_from_pm(completed): + # It's PM. Make it easier to find + room, nick = app.get_room_and_nick_from_fjid(completed) + info_completion = '%s from %s' % (nick, room) + completed = info_completion + info_completion2 = '%s/%s' % (room, nick) + completed2 = info_completion2 + info_name = nick + else: + icon = online_icon + + if len(completed) > 70: + completed = completed[:70] + '[\u2026]' + liststore.append((icon, completed)) + self.completion_dict[key] = ( + info_jid, info_acc, info_name, info_completion) + self.completion_dict[completed] = ( + info_jid, info_acc, info_name, info_completion) + if completed2: + if len(completed2) > 70: + completed2 = completed2[:70] + '[\u2026]' + liststore.append((icon, completed2)) + self.completion_dict[completed2] = ( + info_jid, info_acc, info_name, info_completion2) + if key == actual_jid: + self._load_history(info_jid, self.account or info_acc) + yield True + keys.sort() + yield False + + def _get_account_for_jid(self, jid): + """ + Return the corresponding account of the jid. May be None if an account + could not be found + """ + accounts = app.contacts.get_accounts() + account = None + for acc in accounts: + jid_list = app.contacts.get_jid_list(acc) + gc_list = app.contacts.get_gc_list(acc) + if jid in jid_list or jid in gc_list: + account = acc + break + return account + + def _on_delete(self, widget, *args): + self.save_state() + + def _on_destroy(self, widget): + # PluginSystem: removing GUI extension points connected with + # HistoryWindow instance object + app.plugin_manager.remove_gui_extension_point( + 'history_window', self) + self.history_textview.del_handlers() + + def _on_key_press(self, widget, event): + if event.keyval == Gdk.KEY_Escape: + if self._ui.results_scrolledwindow.get_visible(): + self._ui.results_scrolledwindow.set_visible(False) + return + self.save_state() + self.destroy() + + def on_jid_entry_match_selected(self, widget, model, iter_, *args): + self._jid_entry_search(model[iter_][1]) + return True + + def on_jid_entry_changed(self, widget): + # only if selected from combobox + jid = self._ui.query_entry.get_child().get_text() + if jid == self._ui.query_entry.get_active_id(): + self._jid_entry_search(jid) + + def on_jid_entry_activate(self, widget): + self._jid_entry_search(self._ui.query_entry.get_child().get_text()) + + def _jid_entry_search(self, jid): + self._load_history(jid, self.account) + self._ui.results_scrolledwindow.set_visible(False) + + def _load_history(self, jid_or_name, account=None): + """ + Load history for the given jid/name and show it + """ + if jid_or_name and jid_or_name in self.completion_dict: + # a full qualified jid or a contact name was entered + info_jid, info_account, _info_name, info_completion = self.completion_dict[jid_or_name] + self.jids_to_search = [info_jid] + self.jid = info_jid + + if account: + self.account = account + else: + self.account = info_account + if self.account is None: + # We don't know account. Probably a gc not opened or an + # account not connected. + # Disable possibility to say if we want to log or not + self._ui.log_history_checkbutton.set_sensitive(False) + else: + # Are log disabled for account ? + if self.account in app.settings.get_account_setting( + self.account, 'no_log_for').split(' '): + self._ui.log_history_checkbutton.set_active(False) + self._ui.log_history_checkbutton.set_sensitive(False) + else: + # Are log disabled for jid ? + log = True + if self.jid in app.settings.get_account_setting( + self.account, 'no_log_for').split(' '): + log = False + self._ui.log_history_checkbutton.set_active(log) + self._ui.log_history_checkbutton.set_sensitive(True) + + self.jids_to_search = [info_jid] + + # Get first/last date we have logs with contact + self.first_log = app.storage.archive.get_first_date_that_has_logs( + self.account, self.jid) + self.first_day = self._get_date_from_timestamp(self.first_log) + self.last_log = app.storage.archive.get_last_date_that_has_logs( + self.account, self.jid) + self.last_day = self._get_date_from_timestamp(self.last_log) + + # Select logs for last date we have logs with contact + self._ui.search_menu_button.set_sensitive(True) + month = gtk_month(self.last_day.month) + self._ui.calendar.select_month(month, self.last_day.year) + self._ui.calendar.select_day(self.last_day.day) + + self._ui.button_previous_day.set_sensitive(True) + self._ui.button_next_day.set_sensitive(True) + self._ui.button_first_day.set_sensitive(True) + self._ui.button_last_day.set_sensitive(True) + + self._ui.search_entry.set_sensitive(True) + self._ui.search_entry.grab_focus() + + self._ui.query_entry.get_child().set_text(info_completion) + + else: + # neither a valid jid, nor an existing contact name was entered + # we have got nothing to show or to search in + self.jid = None + self.account = None + + self.history_buffer.set_text('') # clear the buffer + self._ui.search_entry.set_sensitive(False) + + self._ui.log_history_checkbutton.set_sensitive(False) + self._ui.search_menu_button.set_sensitive(False) + self._ui.calendar.clear_marks() + self._ui.button_previous_day.set_sensitive(False) + self._ui.button_next_day.set_sensitive(False) + self._ui.button_first_day.set_sensitive(False) + self._ui.button_last_day.set_sensitive(False) + + self._ui.results_scrolledwindow.set_visible(False) + + def on_calendar_day_selected(self, widget): + if not self.jid: + return + year, month, day = self._ui.calendar.get_date() # integers + month = python_month(month) + date_str = datetime.date(year, month, day).strftime('%x') + self._ui.date_label.set_text(date_str) + self._load_conversation(year, month, day) + GLib.idle_add(scroll_to_end, self._ui.scrolledwindow) + + def on_calendar_month_changed(self, widget): + """ + Ask for days in this month, if they have logs it bolds them + (marks them) + """ + if not self.jid: + return + year, month, _day = widget.get_date() # integers + if year < 1900: + widget.select_month(0, 1900) + widget.select_day(1) + return + + widget.clear_marks() + month = python_month(month) + + try: + log_days = app.storage.archive.get_days_with_logs( + self.account, self.jid, year, month) + except exceptions.PysqliteOperationalError as error: + ErrorDialog(_('Disk Error'), str(error)) + return + + for date in log_days: + widget.mark_day(date.day) + + def _get_date_from_timestamp(self, timestamp): + # Conversion from timestamp to date + log = time.localtime(timestamp) + y, m, d = log[0], log[1], log[2] + date = datetime.datetime(y, m, d) + return date + + def _change_date(self, widget): + # Get day selected in calendar + y, m, d = self._ui.calendar.get_date() + py_m = python_month(m) + _date = datetime.datetime(y, py_m, d) + + if widget is self._ui.button_first_day: + gtk_m = gtk_month(self.first_day.month) + self._ui.calendar.select_month(gtk_m, self.first_day.year) + self._ui.calendar.select_day(self.first_day.day) + return + + if widget is self._ui.button_last_day: + gtk_m = gtk_month( + self.last_day.month) + self._ui.calendar.select_month(gtk_m, self.last_day.year) + self._ui.calendar.select_day(self.last_day.day) + return + + if widget is self._ui.button_previous_day: + end_date = self.first_day + timedelta = datetime.timedelta(days=-1) + if end_date >= _date: + return + elif widget is self._ui.button_next_day: + end_date = self.last_day + timedelta = datetime.timedelta(days=1) + if end_date <= _date: + return + + # Iterate through days until log entry found or + # supplied end_date (first_log / last_log) reached + logs = None + while logs is None: + _date = _date + timedelta + if _date == end_date: + break + try: + logs = app.storage.archive.get_date_has_logs( + self.account, self.jid, _date) + except exceptions.PysqliteOperationalError as e: + ErrorDialog(_('Disk Error'), str(e)) + return + + gtk_m = gtk_month(_date.month) + self._ui.calendar.select_month(gtk_m, _date.year) + self._ui.calendar.select_day(_date.day) + + def _get_string_show_from_constant_int(self, show): + if show == ShowConstant.ONLINE: + show = 'online' + elif show == ShowConstant.CHAT: + show = 'chat' + elif show == ShowConstant.AWAY: + show = 'away' + elif show == ShowConstant.XA: + show = 'xa' + elif show == ShowConstant.DND: + show = 'dnd' + elif show == ShowConstant.OFFLINE: + show = 'offline' + + return show + + def _load_conversation(self, year, month, day): + """ + Load the conversation between `self.jid` and `self.account` held on the + given date into the history textbuffer. Values for `month` and `day` + are 1-based. + """ + self.history_buffer.set_text('') + self.last_time_printout = 0 + show_status = self._ui.show_status_checkbutton.get_active() + + date = datetime.datetime(year, month, day) + + conversation = app.storage.archive.get_conversation_for_date( + self.account, self.jid, date) + + for message in conversation: + if not show_status and message.kind in (KindConstant.GCSTATUS, + KindConstant.STATUS): + continue + self._add_message(message) + + def _add_message(self, msg): + if not msg.message and msg.kind not in (KindConstant.STATUS, + KindConstant.GCSTATUS): + return + + tim = msg.time + kind = msg.kind + show = msg.show + message = msg.message + subject = msg.subject + log_line_id = msg.log_line_id + contact_name = msg.contact_name + additional_data = msg.additional_data + + buf = self.history_buffer + end_iter = buf.get_end_iter() + + # Make the beginning of every message searchable by its log_line_id + buf.create_mark(str(log_line_id), end_iter, left_gravity=True) + + if app.settings.get('print_time') == 'always': + timestamp_str = app.settings.get('time_stamp') + timestamp_str = helpers.from_one_line(timestamp_str) + tim = time.strftime(timestamp_str, time.localtime(float(tim))) + buf.insert(end_iter, tim) + elif app.settings.get('print_time') == 'sometimes': + every_foo_seconds = 60 * app.settings.get( + 'print_ichat_every_foo_minutes') + seconds_passed = tim - self.last_time_printout + if seconds_passed > every_foo_seconds: + self.last_time_printout = tim + tim = time.strftime('%X ', time.localtime(float(tim))) + buf.insert_with_tags_by_name( + end_iter, tim + '\n', 'time_sometimes') + + # print the encryption icon + if kind in (KindConstant.CHAT_MSG_SENT, + KindConstant.CHAT_MSG_RECV): + self.history_textview.print_encryption_status( + end_iter, additional_data) + + tag_name = '' + tag_msg = '' + + show = self._get_string_show_from_constant_int(show) + + if kind == KindConstant.GC_MSG: + tag_name = 'incoming' + elif kind in (KindConstant.SINGLE_MSG_RECV, + KindConstant.CHAT_MSG_RECV): + contact_name = self.completion_dict[self.jid][InfoColumn.NAME] + tag_name = 'incoming' + tag_msg = 'incomingtxt' + elif kind in (KindConstant.SINGLE_MSG_SENT, + KindConstant.CHAT_MSG_SENT): + if self.account: + contact_name = app.nicks[self.account] + else: + # we don't have roster, we don't know our own nick, use first + # account one (urk!) + account = list(app.contacts.get_accounts())[0] + contact_name = app.nicks[account] + tag_name = 'outgoing' + tag_msg = 'outgoingtxt' + elif kind == KindConstant.GCSTATUS: + # message here (if not None) is status message + if message: + message = _('%(nick)s is now %(status)s: %(status_msg)s') % { + 'nick': contact_name, + 'status': helpers.get_uf_show(show), + 'status_msg': message} + else: + message = _('%(nick)s is now %(status)s') % { + 'nick': contact_name, + 'status': helpers.get_uf_show(show)} + tag_msg = 'status' + else: # 'status' + # message here (if not None) is status message + if show is None: # it means error + if message: + message = _('Error: %s') % message + else: + message = _('Error') + elif message: + message = _('Status is now: %(status)s: %(status_msg)s') % { + 'status': helpers.get_uf_show(show), + 'status_msg': message} + else: + message = _('Status is now: %(status)s') % { + 'status': helpers.get_uf_show(show)} + tag_msg = 'status' + + if message.startswith('/me ') or message.startswith('/me\n'): + tag_msg = tag_name + else: + # do not do this if gcstats, avoid dupping contact_name + # eg. nkour: nkour is now Offline + if contact_name and kind != KindConstant.GCSTATUS: + # add stuff before and after contact name + before_str = app.settings.get('before_nickname') + before_str = helpers.from_one_line(before_str) + after_str = app.settings.get('after_nickname') + after_str = helpers.from_one_line(after_str) + format_ = before_str + contact_name + after_str + ' ' + if tag_name: + buf.insert_with_tags_by_name(end_iter, format_, tag_name) + else: + buf.insert(end_iter, format_) + if subject: + message = _('Subject: %s\n') % subject + message + + if tag_msg: + self.history_textview.print_real_text( + message, + [tag_msg], + name=contact_name, + additional_data=additional_data) + else: + self.history_textview.print_real_text( + message, + name=contact_name, + additional_data=additional_data) + self.history_textview.print_real_text('\n', text_tags=['eol']) + + def on_search_complete_history_toggled(self, widget): + self._ui.date_label.get_style_context().remove_class('tagged') + + def on_search_in_date_toggled(self, widget): + self._ui.date_label.get_style_context().add_class('tagged') + + def on_search_entry_activate(self, widget): + text = self._ui.search_entry.get_text() + + model = self._ui.results_treeview.get_model() + self.clearing_search = True + model.clear() + self.clearing_search = False + + start = self.history_buffer.get_start_iter() + end = self.history_buffer.get_end_iter() + self.history_buffer.remove_tag_by_name('highlight', start, end) + + if text == '': + self._ui.results_scrolledwindow.set_visible(False) + return + + self._ui.results_scrolledwindow.set_visible(True) + + # perform search in preselected jids + # jids are preselected with the query_entry + for jid in self.jids_to_search: + account = self.completion_dict[jid][InfoColumn.ACCOUNT] + if account is None: + # We do not know an account. This can only happen if + # the contact is offine, or if we browse a groupchat history. + # The account is not needed, a dummy can be set. + # This may leed to wrong self nick in the displayed history + account = list(app.contacts.get_accounts())[0] + + date = None + if self._ui.search_in_date.get_active(): + year, month, day = self._ui.calendar.get_date() # integers + month = python_month(month) + date = datetime.datetime(year, month, day) + + show_status = self._ui.show_status_checkbutton.get_active() + + results = app.storage.archive.search_log(account, jid, text, date) + result_found = False + # FIXME: + # add "subject: | message: " in message column if kind is single + # also do we need show at all? (we do not search on subject) + for row in results: + if not show_status and row.kind in (KindConstant.GCSTATUS, + KindConstant.STATUS): + continue + + contact_name = row.contact_name + if not contact_name: + if row.kind == KindConstant.CHAT_MSG_SENT: + contact_name = app.nicks[account] + else: + contact_name = self.completion_dict[jid][InfoColumn.NAME] + + local_time = time.localtime(row.time) + date = time.strftime('%Y-%m-%d', local_time) + + result_found = True + model.append((jid, contact_name, date, row.message, + str(row.time), row.log_line_id)) + + if result_found: + self._ui.results_treeview.set_cursor(0) + + def on_results_treeview_cursor_changed(self, *args): + """ + A row was selected, get date from row, and select it in calendar + which results to showing conversation logs for that date + """ + if self.clearing_search: + return + + # get currently selected date + cur_year, cur_month, cur_day = self._ui.calendar.get_date() + cur_month = python_month(cur_month) + model, paths = self._ui.results_treeview.get_selection().get_selected_rows() + + if not paths: + return + + path = paths[0] + # make it a tuple (Y, M, D, 0, 0, 0...) + tim = time.strptime(model[path][Column.UNIXTIME], '%Y-%m-%d') + year = tim[0] + gtk_m = tim[1] + month = gtk_month(gtk_m) + day = tim[2] + + # switch to belonging logfile if necessary + log_jid = model[path][Column.LOG_JID] + if log_jid != self.jid: + self._load_history(log_jid, None) + + # avoid rerunning mark days algo if same month and year! + if year != cur_year or gtk_m != cur_month: + self._ui.calendar.select_month(month, year) + + if year != cur_year or gtk_m != cur_month or day != cur_day: + self._ui.calendar.select_day(day) + + self._scroll_to_message_and_highlight(model[path][Column.LOG_LINE_ID]) + + def _scroll_to_message_and_highlight(self, log_line_id): + """ + Scroll to a message and highlight it + """ + + def iterator_has_mark(iterator, mark_name): + for mark in iterator.get_marks(): + if mark.get_name() == mark_name: + return True + return False + + # Clear previous search result by removing the highlighting. The scroll + # mark is automatically removed when the new one is set. + start = self.history_buffer.get_start_iter() + end = self.history_buffer.get_end_iter() + self.history_buffer.remove_tag_by_name('highlight', start, end) + + log_line_id = str(log_line_id) + line = start + while not iterator_has_mark(line, log_line_id): + if not line.forward_line(): + return + + match_start = line + match_end = match_start.copy() + match_end.forward_to_tag_toggle(self.history_buffer.eol_tag) + + self.history_buffer.apply_tag_by_name( + 'highlight', match_start, match_end) + mark = self.history_buffer.create_mark('match', match_start, True) + GLib.idle_add( + self.history_textview.tv.scroll_to_mark, mark, 0, True, 0.0, 0.5) + + def on_log_history_checkbutton_toggled(self, widget, *args): + # log conversation history? + oldlog = True + no_log_for = app.settings.get_account_setting( + self.account, 'no_log_for').split() + if self.jid in no_log_for: + oldlog = False + log = widget.get_active() + if not log and self.jid not in no_log_for: + no_log_for.append(self.jid) + if log and self.jid in no_log_for: + no_log_for.remove(self.jid) + if oldlog != log: + app.settings.set_account_setting( + self.account, 'no_log_for', ' '.join(no_log_for)) + + def on_show_status_checkbutton_toggled(self, widget): + # reload logs + self.on_calendar_day_selected(None) + + def open_history(self, jid, account): + """ + Load chat history of the specified jid + """ + self._ui.query_entry.get_child().set_text(jid) + if account and account not in self.accounts_seen_online: + # Update dict to not only show bare jid + GLib.idle_add(next, self._fill_completion_dict()) + else: + # Only in that case because it's called by + # self._fill_completion_dict() otherwise + self._load_history(jid, account) + self._ui.results_scrolledwindow.set_visible(False) + + def save_state(self): + x, y = self.get_window().get_root_origin() + width, height = self.get_size() + + app.settings.set('history_window_x-position', x) + app.settings.set('history_window_y-position', y) + app.settings.set('history_window_width', width) + app.settings.set('history_window_height', height) diff --git a/gajim/gtk/history_sync.py b/gajim/gtk/history_sync.py new file mode 100644 index 0000000..926f2f8 --- /dev/null +++ b/gajim/gtk/history_sync.py @@ -0,0 +1,296 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import logging +from enum import IntEnum +from datetime import datetime, timedelta + +from gi.repository import Gtk +from gi.repository import GLib + +from nbxmpp.errors import StanzaError +from nbxmpp.errors import MalformedStanzaError + +from gajim.common import app +from gajim.common import ged +from gajim.common.i18n import _ +from gajim.common.const import ArchiveState +from gajim.common.helpers import event_filter + +from .util import load_icon +from .util import EventHelper + +log = logging.getLogger('gajim.gui.history_sync') + + +class Pages(IntEnum): + TIME = 0 + SYNC = 1 + SUMMARY = 2 + + +class HistorySyncAssistant(Gtk.Assistant, EventHelper): + def __init__(self, account, parent): + Gtk.Assistant.__init__(self) + EventHelper.__init__(self) + self.set_application(app.app) + self.set_position(Gtk.WindowPosition.CENTER) + self.set_name('HistorySyncAssistant') + self.set_default_size(300, -1) + self.set_resizable(False) + self.set_transient_for(parent) + + self.account = account + self.con = app.connections[self.account] + self.timedelta = None + self.now = datetime.utcnow() + self.query_id = None + self.start = None + self.end = None + self.next = None + + self._hide_buttons() + + own_jid = self.con.get_own_jid().bare + + mam_start = ArchiveState.NEVER + archive = app.storage.archive.get_archive_infos(own_jid) + if archive is not None and archive.oldest_mam_timestamp is not None: + mam_start = int(float(archive.oldest_mam_timestamp)) + + if mam_start == ArchiveState.NEVER: + self.current_start = self.now + elif mam_start == ArchiveState.ALL: + self.current_start = datetime.utcfromtimestamp(0) + else: + self.current_start = datetime.fromtimestamp(mam_start) + + self.select_time = SelectTimePage(self) + self.append_page(self.select_time) + self.set_page_type(self.select_time, Gtk.AssistantPageType.INTRO) + + self.download_history = DownloadHistoryPage(self) + self.append_page(self.download_history) + self.set_page_type(self.download_history, + Gtk.AssistantPageType.PROGRESS) + self.set_page_complete(self.download_history, True) + + self.summary = SummaryPage(self) + self.append_page(self.summary) + self.set_page_type(self.summary, Gtk.AssistantPageType.SUMMARY) + self.set_page_complete(self.summary, True) + + # pylint: disable=line-too-long + self.register_events([ + ('archiving-count-received', ged.GUI1, self._received_count), + ('archiving-interval-finished', ged.GUI1, self._received_finished), + ('mam-message-received', ged.PRECORE, self._nec_mam_message_received), + ]) + # pylint: enable=line-too-long + + self.connect('prepare', self._on_page_change) + self.connect('cancel', self._on_close_clicked) + self.connect('close', self._on_close_clicked) + + if mam_start == ArchiveState.ALL: + self.set_current_page(Pages.SUMMARY) + self.summary.nothing_to_do() + + self.show_all() + self.set_title(_('Synchronise History')) + + def _hide_buttons(self): + ''' + Hide some of the standard buttons that are included in Gtk.Assistant + ''' + if self.get_property('use-header-bar'): + action_area = self.get_children()[1] + else: + box = self.get_children()[0] + content_box = box.get_children()[1] + action_area = content_box.get_children()[1] + for button in action_area.get_children(): + button_name = Gtk.Buildable.get_name(button) + if button_name == 'back': + button.connect('show', self._on_show_button) + elif button_name == 'forward': + self.next = button + button.connect('show', self._on_show_button) + + @staticmethod + def _on_show_button(button): + button.hide() + + def _prepare_query(self): + if self.timedelta: + self.start = self.now - self.timedelta + self.end = self.current_start + + log.info('Get mam_start_date: %s', self.current_start) + log.info('Now: %s', self.now) + log.info('Start: %s', self.start) + log.info('End: %s', self.end) + + jid = self.con.get_own_jid().bare + + self.con.get_module('MAM').make_query(jid, + start=self.start, + end=self.end, + max_=0, + callback=self._received_count) + + def _received_count(self, task): + try: + result = task.finish() + except (StanzaError, MalformedStanzaError): + return + + if result.rsm.count is not None: + self.download_history.count = int(result.rsm.count) + self.query_id = self.con.get_module('MAM').request_archive_interval( + self.start, self.end) + + @event_filter(['account']) + def _received_finished(self, event): + if event.query_id != self.query_id: + return + self.query_id = None + log.info('Query finished') + GLib.idle_add(self.download_history.finished) + self.set_current_page(Pages.SUMMARY) + self.summary.finished() + + @event_filter(['account']) + def _nec_mam_message_received(self, event): + if self.query_id != event.properties.mam.query_id: + return + + log.debug('Received message') + GLib.idle_add(self.download_history.set_fraction) + + def on_row_selected(self, _listbox, row): + self.timedelta = row.get_child().get_delta() + if row: + self.set_page_complete(self.select_time, True) + else: + self.set_page_complete(self.select_time, False) + + def _on_page_change(self, _assistant, page): + if page == self.download_history: + self.next.hide() + self._prepare_query() + self.set_title(_('Synchronise History')) + + def _on_close_clicked(self, *args): + self.destroy() + + +class SelectTimePage(Gtk.Box): + def __init__(self, assistant): + super().__init__(orientation=Gtk.Orientation.VERTICAL) + self.set_spacing(18) + self.assistant = assistant + label = Gtk.Label( + label=_('How far back should the chat history be synchronised?')) + + listbox = Gtk.ListBox() + listbox.set_hexpand(False) + listbox.set_halign(Gtk.Align.CENTER) + listbox.add(TimeOption(_('One Month'), 1)) + listbox.add(TimeOption(_('Three Months'), 3)) + listbox.add(TimeOption(_('One Year'), 12)) + listbox.add(TimeOption(_('Everything'))) + listbox.connect('row-selected', assistant.on_row_selected) + + for row in listbox.get_children(): + option = row.get_child() + if not option.get_delta(): + continue + if assistant.now - option.get_delta() > assistant.current_start: + row.set_activatable(False) + row.set_selectable(False) + + self.pack_start(label, True, True, 0) + self.pack_start(listbox, False, False, 0) + + +class DownloadHistoryPage(Gtk.Box): + def __init__(self, assistant): + super().__init__(orientation=Gtk.Orientation.VERTICAL) + self.set_spacing(18) + self.assistant = assistant + self.count = 0 + self.received = 0 + + surface = load_icon('folder-download-symbolic', self, size=64) + image = Gtk.Image.new_from_surface(surface) + + self.progress = Gtk.ProgressBar() + self.progress.set_show_text(True) + self.progress.set_text(_('Connecting...')) + self.progress.set_pulse_step(0.1) + self.progress.set_vexpand(True) + self.progress.set_valign(Gtk.Align.CENTER) + + self.pack_start(image, False, False, 0) + self.pack_start(self.progress, False, False, 0) + + def set_fraction(self): + self.received += 1 + if self.count: + self.progress.set_fraction(self.received / self.count) + self.progress.set_text(_('%(received)s of %(max)s') % { + 'received': self.received, 'max': self.count}) + else: + self.progress.pulse() + self.progress.set_text(_('Downloaded %s messages') % self.received) + + def finished(self): + self.progress.set_fraction(1) + + +class SummaryPage(Gtk.Box): + def __init__(self, assistant): + super().__init__(orientation=Gtk.Orientation.VERTICAL) + self.set_spacing(18) + self.assistant = assistant + + self.label = Gtk.Label() + self.label.set_name('FinishedLabel') + self.label.set_valign(Gtk.Align.CENTER) + + self.pack_start(self.label, True, True, 0) + + def finished(self): + received = self.assistant.download_history.received + self.label.set_text(_('Finished synchronising chat history:\n' + '%s messages downloaded') % received) + + def nothing_to_do(self): + self.label.set_text(_('Gajim is fully synchronised with the archive.')) + + def query_already_running(self): + self.label.set_text(_('There is already a synchronisation in ' + 'progress. Please try again later.')) + + +class TimeOption(Gtk.Label): + def __init__(self, label, months=None): + super().__init__(label=label) + self.date = months + if months: + self.date = timedelta(days=30 * months) + + def get_delta(self): + return self.date diff --git a/gajim/gtk/htmltextview.py b/gajim/gtk/htmltextview.py new file mode 100644 index 0000000..d876c11 --- /dev/null +++ b/gajim/gtk/htmltextview.py @@ -0,0 +1,899 @@ +# Copyright (C) 2005 Gustavo J. A. M. Carneiro +# Copyright (C) 2006 Santiago Gala +# Copyright (C) 2006-2007 Jean-Marie Traissard +# Copyright (C) 2006-2014 Yann Leboulanger +# Copyright (C) 2007 Nikos Kouremenos +# Copyright (C) 2008 Jonathan Schleifer +# Julien Pivotto +# Stephan Erb +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +""" +A Gtk.TextView-based renderer for XHTML-IM, as described in: + http://xmpp.org/extensions/xep-0071.html + +Starting with the version posted by Gustavo Carneiro, +I (Santiago Gala) am trying to make it more compatible +with the markup that docutils generate, and also more +modular. +""" + +import re +import logging +import xml.sax +import xml.sax.handler +from io import StringIO + +from gi.repository import GObject +from gi.repository import Pango +from gi.repository import Gtk +from gi.repository import Gdk +from gi.repository import GLib + +from gajim.common import app +from gajim.common.const import StyleAttr +from gajim.common.helpers import open_uri +from gajim.common.helpers import parse_uri +from gajim.gui_menu_builder import get_conv_context_menu + +from .util import get_cursor + +log = logging.getLogger('gajim.htmlview') + +whitespace_rx = re.compile('\\s+') +allwhitespace_rx = re.compile('^\\s*$') + +# embryo of CSS classes +classes = { + #'system-message':';display: none', + 'problematic': ';color: red', +} + +# styles for elements +_element_styles = { + 'u' : ';text-decoration: underline', + 'em' : ';font-style: oblique', + 'cite' : '; background-color:rgb(170,190,250);' + 'font-style: oblique', + 'li' : '; margin-left: 1em; margin-right: 10%', + 'strong' : ';font-weight: bold', + 'pre' : '; background-color:rgb(190,190,190);' + 'font-family: monospace; white-space: pre;' + 'margin-left: 1em; margin-right: 10%', + 'kbd' : ';background-color:rgb(210,210,210);' + 'font-family: monospace', + 'blockquote' : '; background-color:rgb(170,190,250);' + 'margin-left: 2em; margin-right: 10%', + 'dt' : ';font-weight: bold; font-style: oblique', + 'dd' : ';margin-left: 2em; font-style: oblique' +} +# no difference for the moment +_element_styles['dfn'] = _element_styles['em'] +_element_styles['var'] = _element_styles['em'] +# deprecated, legacy, presentational +_element_styles['tt'] = _element_styles['kbd'] +_element_styles['i'] = _element_styles['em'] +_element_styles['b'] = _element_styles['strong'] + +_supported_style_attrs = [ + 'background-color', 'color', 'font-family', 'font-size', 'font-style', + 'font-weight', 'margin-left', 'margin-right', 'text-align', + 'text-decoration', 'white-space', 'display', 'width', 'height' +] + +# ========== +# XEP-0071 +# ========== +# +# This Integration Set includes a subset of the modules defined for +# XHTML 1.0 but does not redefine any existing modules, nor +# does it define any new modules. Specifically, it includes the +# following modules only: +# +# - Structure +# - Text +# +# * Block +# +# phrasal +# addr, blockquote, pre +# Struct +# div,p +# Heading +# h1, h2, h3, h4, h5, h6 +# +# * Inline +# +# phrasal +# abbr, acronym, cite, code, dfn, em, kbd, q, samp, strong, var +# structural +# br, span +# +# - Hypertext (a) +# - List (ul, ol, dl) +# - Image (img) +# - Style Attribute +# +# Therefore XHTML-IM uses the following content models: +# +# Block.mix +# Block-like elements, e.g., paragraphs +# Flow.mix +# Any block or inline elements +# Inline.mix +# Character-level elements +# InlineNoAnchor.class +# Anchor element +# InlinePre.mix +# Pre element +# +# XHTML-IM also uses the following Attribute Groups: +# +# Core.extra.attrib +# TBD +# I18n.extra.attrib +# TBD +# Common.extra +# style +# +# +# ... +# block level: +# Heading h +# ( head = h1 | h2 | h3 | h4 | h5 | h6 ) +# Block ( phrasal = address | blockquote | pre ) +# NOT ( presentational = hr ) +# ( structural = div | p ) +# other: section +# Inline ( phrasal = abbr | acronym | cite | code | dfn | em | +# kbd | q | samp | strong | var ) +# NOT ( presentational = b | big | i | small | sub | sup | tt ) +# ( structural = br | span ) +# Param/Legacy param, font, basefont, center, s, strike, u, dir, menu, +# isindex + +BLOCK_HEAD = set(('h1', 'h2', 'h3', 'h4', 'h5', 'h6',)) +BLOCK_PHRASAL = set(('address', 'blockquote', 'pre',)) +BLOCK_PRES = set(('hr', )) #not in xhtml-im +BLOCK_STRUCT = set(('div', 'p', )) +BLOCK_HACKS = set(('table', 'tr')) # at the very least, they will start line ;) +BLOCK = BLOCK_HEAD | BLOCK_PHRASAL | BLOCK_STRUCT | BLOCK_PRES | BLOCK_HACKS + +INLINE_PHRASAL = set(['abbr', 'acronym', 'cite', 'code', 'dfn', 'em', + 'kbd', 'q', 'samp', 'strong', 'var']) +INLINE_PRES = set(['b', 'i', 'u', 'tt']) #not in xhtml-im +INLINE_STRUCT = set(['br', 'span']) +INLINE = INLINE_PHRASAL | INLINE_PRES | INLINE_STRUCT + +LIST_ELEMS = set(['dl', 'ol', 'ul']) + +for _name in BLOCK_HEAD: + _num = int(_name[1]) + _header_size = (_num - 1) // 2 + _weight = (_num - 1) % 2 + _element_styles[_name] = '; font-size: %s; %s' % ( + ('large', 'medium', 'small')[_header_size], + ('font-weight: bold', 'font-style: oblique')[_weight]) + +def _parse_css_color(color): + rgba = Gdk.RGBA() + success = rgba.parse(color) + if not success: + log.warning('Can\'t parse color: %s', color) + return rgba + +def style_iter(style): + for item in style.split(';'): + if item.strip(): + yield [x.strip() for x in item.split(':', 1)] + + +class HtmlHandler(xml.sax.handler.ContentHandler): + """ + A handler to display html to a gtk textview + + It keeps a stack of "style spans" (start/end element pairs) and a stack of + list counters, for nested lists. + """ + def __init__(self, textview, conv_textview, startiter): + xml.sax.handler.ContentHandler.__init__(self) + self.textbuf = textview.get_buffer() + self.textview = textview + self.iter = startiter + self.conv_textview = conv_textview + self.text = '' + self.starting = True + self.preserve = False + self.styles = [] # a Gtk.TextTag or None, for each span level + self.list_counters = [] # stack (top at head) of list + # counters, or None for unordered list + + # build a dictionary mapping styles to methods + self.__style_methods = {} + for style in _supported_style_attrs: + method_names = '_parse_style_%s' % style.replace('-', '_') + self.__style_methods[style] = method_names + + def _get_points_from_pixels(self, pixels): + resolution = self.textview.get_screen().get_resolution() + # points = pixels * 72 / resolution + return pixels * 72 / resolution + + @staticmethod + def _parse_style_color(tag, value): + color = _parse_css_color(value) + tag.set_property('foreground-rgba', color) + + @staticmethod + def _parse_style_background_color(tag, value): + color = _parse_css_color(value) + tag.set_property('background-rgba', color) + tag.set_property('paragraph-background-rgba', color) + + @staticmethod + def __parse_length_frac_size_allocate(_textview, allocation, frac, + callback, args): + callback(allocation.width*frac, *args) + + def _parse_length(self, value, font_relative, block_relative, minl, maxl, + callback, *args): + """ + Parse/calc length, converting to pixels, calls callback(length, *args) + when the length is first computed or changes + """ + if value.endswith('%'): + val = float(value[:-1]) + if val > 0: + sign = 1 + elif val < 0: + sign = -1 + else: + sign = 0 + # limits: 1% to 500% + val = sign*max(1, min(abs(val), 500)) + frac = val/100 + if font_relative: + callback(frac, '%', *args) + elif block_relative: + # CSS says 'Percentage values: refer to width of the closest + # block-level ancestor' + # This is difficult/impossible to implement, so we use + # textview width instead; a reasonable approximation.. + alloc = self.textview.get_allocation() + self.__parse_length_frac_size_allocate( + self.textview, alloc, frac, callback, args) + self.textview.connect('size-allocate', + self.__parse_length_frac_size_allocate, + frac, callback, args) + else: + callback(frac, *args) + return + + def get_val(min_val=minl, max_val=maxl): + try: + val = float(value[:-2]) + except Exception: + log.warning('Unable to parse length value "%s"', value) + return None + if val > 0: + sign = 1 + elif val < 0: + sign = -1 + else: + sign = 0 + # validate length + return sign*max(min_val, min(abs(val), max_val)) + if value.endswith('pt'): # points + size = get_val(5, 50) + if size is None: + return + callback(size, 'pt', *args) + + elif value.endswith('em'): + size = get_val(0.3, 4) + if size is None: + return + callback(size, 'em', *args) + + elif value.endswith('px'): # pixels + size = get_val(5, 50) + if size is None: + return + callback(size, 'px', *args) + + else: + try: + # TODO: isn't "no units" interpreted as pixels? + val = int(value) + if val > 0: + sign = 1 + elif val < 0: + sign = -1 + else: + sign = 0 + # validate length + val = sign*max(5, min(abs(val), 70)) + callback(val, 'px', *args) + except Exception: + log.warning('Unable to parse length value "%s"', value) + + def __parse_font_size_cb(self, size, type_, tag): + if type_ in ('em', '%'): + tag.set_property('scale', size) + elif type_ == 'pt': + tag.set_property('size-points', size) + elif type_ == 'px': + tag.set_property('size-points', self._get_points_from_pixels(size)) + + @staticmethod + def _parse_style_display(tag, value): + if value == 'none': + tag.set_property('invisible', 'true') + # FIXME: display: block, inline + + def _parse_style_font_size(self, tag, value): + try: + scale = { + 'xx-small': 0.5787037037037, + 'x-small': 0.6444444444444, + 'small': 0.8333333333333, + 'medium': 1.0, + 'large': 1.2, + 'x-large': 1.4399999999999, + 'xx-large': 1.728, + }[value] + except KeyError: + pass + else: + tag.set_property('scale', scale) + return + if value == 'smaller': + tag.set_property('scale', 0.8333333333333) + return + if value == 'larger': + tag.set_property('scale', 1.2) + return + # font relative (5 ~ 4pt, 110 ~ 72pt) + self._parse_length( + value, True, False, 5, 110, self.__parse_font_size_cb, tag) + + @staticmethod + def _parse_style_font_style(tag, value): + try: + style = { + 'normal': Pango.Style.NORMAL, + 'italic': Pango.Style.ITALIC, + 'oblique': Pango.Style.OBLIQUE, + }[value] + except KeyError: + log.warning('unknown font-style %s', value) + else: + tag.set_property('style', style) + + def __frac_length_tag_cb(self, length, tag, propname): + styles = self._get_style_tags() + if styles: + length += styles[-1].get_property(propname) + tag.set_property(propname, length) + + def _parse_style_margin_left(self, tag, value): + # block relative + self._parse_length(value, False, True, 1, 1000, + self.__frac_length_tag_cb, tag, 'left-margin') + + def _parse_style_margin_right(self, tag, value): + # block relative + self._parse_length(value, False, True, 1, 1000, + self.__frac_length_tag_cb, tag, 'right-margin') + + @staticmethod + def _parse_style_font_weight(tag, value): + # TODO: missing 'bolder' and 'lighter' + try: + weight = { + '100': Pango.Weight.ULTRALIGHT, + '200': Pango.Weight.ULTRALIGHT, + '300': Pango.Weight.LIGHT, + '400': Pango.Weight.NORMAL, + '500': Pango.Weight.NORMAL, + '600': Pango.Weight.BOLD, + '700': Pango.Weight.BOLD, + '800': Pango.Weight.ULTRABOLD, + '900': Pango.Weight.HEAVY, + 'normal': Pango.Weight.NORMAL, + 'bold': Pango.Weight.BOLD, + }[value] + except KeyError: + log.warning('unknown font-style %s', value) + else: + tag.set_property('weight', weight) + + @staticmethod + def _parse_style_font_family(tag, value): + tag.set_property('family', value) + + @staticmethod + def _parse_style_text_align(tag, value): + try: + align = { + 'left': Gtk.Justification.LEFT, + 'right': Gtk.Justification.RIGHT, + 'center': Gtk.Justification.CENTER, + 'justify': Gtk.Justification.FILL, + }[value] + except KeyError: + log.warning('Invalid text-align: %s requested', value) + else: + tag.set_property('justification', align) + + @staticmethod + def _parse_style_text_decoration(tag, value): + values = value.split(' ') + if 'none' in values: + tag.set_property('underline', Pango.Underline.NONE) + tag.set_property('strikethrough', False) + if 'underline' in values: + tag.set_property('underline', Pango.Underline.SINGLE) + else: + tag.set_property('underline', Pango.Underline.NONE) + if 'line-through' in values: + tag.set_property('strikethrough', True) + else: + tag.set_property('strikethrough', False) + if 'blink' in values: + log.warning('text-decoration:blink not implemented') + if 'overline' in values: + log.warning('text-decoration:overline not implemented') + + @staticmethod + def _parse_style_white_space(tag, value): + if value == 'pre': + tag.set_property('wrap_mode', Gtk.WrapMode.NONE) + elif value == 'normal': + tag.set_property('wrap_mode', Gtk.WrapMode.WORD) + elif value == 'nowrap': + tag.set_property('wrap_mode', Gtk.WrapMode.NONE) + + @staticmethod + def __length_tag_cb(value, tag, propname): + try: + tag.set_property(propname, value) + except Exception: + log.warning('Error with prop: %s for tag: %s', propname, str(tag)) + + def _parse_style_width(self, tag, value): + if value == 'auto': + return + self._parse_length(value, False, False, 1, 1000, + self.__length_tag_cb, tag, "width") + def _parse_style_height(self, tag, value): + if value == 'auto': + return + self._parse_length(value, False, False, 1, 1000, + self.__length_tag_cb, tag, "height") + + def _get_style_tags(self): + return [tag for tag in self.styles if tag is not None] + + def _create_url(self, href, title, type_, id_): + '''Process a url tag. + ''' + tag = self.textbuf.create_tag(id_) + if href and href[0] != '#': + tag.href = href + tag.type_ = type_ # to be used by the URL handler + tag.connect('event', self.textview.hyperlink_handler, 'url') + tag.set_property('foreground', + app.css_config.get_value('.gajim-url', + StyleAttr.COLOR)) + tag.set_property('underline', Pango.Underline.SINGLE) + tag.is_anchor = True + if title: + tag.title = title + return tag + + def _begin_span(self, style, tag=None, id_=None): + if style is None: + self.styles.append(tag) + return + if tag is None: + if id_: + tag = self.textbuf.create_tag(id_) + else: + tag = self.textbuf.create_tag() # we create anonymous tag + for attr, val in style_iter(style): + attr = attr.lower() + try: + getattr(self, self.__style_methods[attr])(tag, val) + except KeyError: + log.warning('Style attribute "%s" requested ' + 'but not yet implemented', attr) + self.styles.append(tag) + + def _end_span(self): + self.styles.pop() + + def _jump_line(self): + self.textbuf.insert_with_tags_by_name(self.iter, '\n', 'eol') + self.starting = True + + def _insert_text(self, text, working_iter=None): + if working_iter is None: + working_iter = self.iter + if self.starting and text != '\n': + self.starting = (text[-1] == '\n') + tags = self._get_style_tags() + if tags: + self.textbuf.insert_with_tags(working_iter, text, *tags) + else: + self.textbuf.insert(working_iter, text) + + def _starts_line(self): + return self.starting or self.iter.starts_line() + + def _flush_text(self): + if not self.text: + return + text, self.text = self.text, '' + if not self.preserve: + text = text.replace('\n', ' ') + self.handle_specials(whitespace_rx.sub(' ', text)) + else: + self._insert_text(text.strip('\n')) + + def _anchor_event(self, _tag, _textview, event, _iter, href, type_): + if event.type == Gdk.EventType.BUTTON_PRESS: + self.textview.emit('url-clicked', href, type_) + return True + return False + + def handle_specials(self, text): + if self.conv_textview: + self.iter = self.conv_textview.detect_and_print_special_text( + text, self._get_style_tags(), iter_=self.iter) + else: + self._insert_text(text) + + def characters(self, content): + if self.preserve: + self.text += content + return + if allwhitespace_rx.match(content) is not None and self._starts_line(): + return + self.text += content + self.starting = False + + def startElement(self, name, attrs): + self._flush_text() + klass = [i for i in attrs.get('class', ' ').split(' ') if i] + style = '' + #Add styles defined for classes + for k in klass: + if k in classes: + style += classes[k] + + tag = None + #FIXME: if we want to use id, it needs to be unique across + # the whole textview, so we need to add something like the + # message-id to it. + #id_ = attrs.get('id',None) + id_ = None + if name == 'a': + #TODO: accesskey, charset, hreflang, rel, rev, tabindex, type + href = attrs.get('href', None) + if not href: + href = attrs.get('HREF', None) + # Gaim sends HREF instead of href + title = attrs.get('title', attrs.get('rel', href)) + type_ = attrs.get('type', None) + tag = self._create_url(href, title, type_, id_) + elif name == 'blockquote': + cite = attrs.get('cite', None) + if cite: + tag = self.textbuf.create_tag(id_) + tag.title = attrs.get('title', None) + tag.is_anchor = True + elif name in LIST_ELEMS: + style += ';margin-left: 2em' + + if name in _element_styles: + style += _element_styles[name] + # so that explicit styles override implicit ones, + # we add the attribute last + style += ";"+attrs.get('style', '') + if style == '': + style = None + self._begin_span(style, tag, id_) + + if name == 'br': + pass # handled in endElement + elif name == 'hr': + pass # handled in endElement + elif name in BLOCK: + if not self._starts_line(): + self._jump_line() + if name == 'pre': + self.preserve = True + elif name == 'span': + pass + elif name in ('dl', 'ul'): + if not self._starts_line(): + self._jump_line() + self.list_counters.append(None) + elif name == 'ol': + if not self._starts_line(): + self._jump_line() + self.list_counters.append(0) + elif name == 'li': + if self.list_counters[-1] is None: + li_head = chr(0x2022) + else: + self.list_counters[-1] += 1 + li_head = '%i.' % self.list_counters[-1] + self.text = ' '*len(self.list_counters)*4 + li_head + ' ' + self._flush_text() + self.starting = True + elif name == 'dd': + self._jump_line() + elif name == 'dt': + if not self.starting: + self._jump_line() + elif name in ('a', 'img', 'body', 'html'): + pass + elif name in INLINE: + pass + else: + log.warning('Unhandled element "%s"', name) + + def endElement(self, name): + end_preserving = False + newline = False + if name == 'br': + newline = True + elif name == 'hr': + #FIXME: plenty of unused attributes (width, height,...) :) + self._jump_line() + self._insert_text('\u2015'*40) + self._jump_line() + elif name in LIST_ELEMS: + self.list_counters.pop() + elif name == 'li': + newline = True + elif name == 'img': + pass + elif name in ('body', 'html'): + pass + elif name == 'a': + pass + elif name in INLINE: + pass + elif name in ('dd', 'dt', ): + pass + elif name in BLOCK: + if name == 'pre': + end_preserving = True + elif name in BLOCK_STRUCT: + newline = True + else: + log.warning("Unhandled element '%s'", name) + self._flush_text() + if end_preserving: + self.preserve = False + if newline: + self._jump_line() + self._end_span() + + +class HtmlTextView(Gtk.TextView): + + _tags = ['url', 'mail', 'xmpp', 'sth_at_sth'] + + def __init__(self, account, standalone=False): + Gtk.TextView.__init__(self) + + self.set_has_tooltip(True) + self.set_border_width(1) + self.set_accepts_tab(True) + self.set_editable(False) + self.set_cursor_visible(False) + self.set_wrap_mode(Gtk.WrapMode.WORD_CHAR) + self.set_left_margin(2) + self.set_right_margin(2) + + self.drag_dest_unset() + + self.connect('copy-clipboard', self._on_copy_clipboard) + self.connect('destroy', self._on_destroy) + self.get_buffer().eol_tag = self.get_buffer().create_tag('eol') + + self.account = account + self.plugin_modified = False + self._cursor_changed = False + + if standalone: + self.connect('query-tooltip', self._query_tooltip) + self.create_tags() + + def _on_destroy(self, *args): + # We restore the TextView’s drag destination to avoid a GTK warning + # when closing the control. ChatControlBase.shutdown() calls destroy() + # on the control’s main box, causing GTK to recursively destroy the + # child widgets. GTK then tries to set a target list on the TextView, + # resulting in a warning because the Widget has no drag destination. + self.drag_dest_set( + Gtk.DestDefaults.ALL, + None, + Gdk.DragAction.DEFAULT) + + def create_tags(self): + color = app.css_config.get_value('.gajim-url', StyleAttr.COLOR) + + attrs = {'foreground': color, + 'underline': Pango.Underline.SINGLE} + + for tag in self._tags: + tag_ = self.get_buffer().create_tag(tag, **attrs) + tag_.connect('event', self.hyperlink_handler, tag) + + def update_tags(self): + tag_table = self.get_buffer().get_tag_table() + color = app.css_config.get_value('.gajim-url', StyleAttr.COLOR) + + for tag in self._tags: + tag_table.lookup(tag).set_property('foreground', color) + + def _query_tooltip(self, widget, x_pos, y_pos, _keyboard_mode, tooltip): + window = widget.get_window(Gtk.TextWindowType.TEXT) + x_pos, y_pos = self.window_to_buffer_coords( + Gtk.TextWindowType.TEXT, x_pos, y_pos) + iter_ = self.get_iter_at_position(x_pos, y_pos)[1] + + for tag in iter_.get_tags(): + if getattr(tag, 'is_anchor', False): + text = getattr(tag, 'title', False) + if text: + if len(text) > 50: + text = text[:47] + '…' + tooltip.set_text(text) + window.set_cursor(get_cursor('pointer')) + self._cursor_changed = True + return True + + tag_name = tag.get_property('name') + if tag_name in ('url', 'mail', 'xmpp', 'sth_at_sth'): + window.set_cursor(get_cursor('pointer')) + self._cursor_changed = True + return False + + if self._cursor_changed: + window.set_cursor(get_cursor('text')) + self._cursor_changed = False + return False + + def show_context_menu(self, uri): + menu = get_conv_context_menu(self.account, uri) + if menu is None: + log.warning('No handler for URI type: %s', uri) + return + + def destroy(menu, _pspec): + visible = menu.get_property('visible') + if not visible: + GLib.idle_add(menu.destroy) + + menu.attach_to_widget(self, None) + menu.connect('notify::visible', destroy) + menu.popup_at_pointer() + + def hyperlink_handler(self, texttag, _widget, event, iter_, _kind): + if event.type != Gdk.EventType.BUTTON_PRESS: + return Gdk.EVENT_PROPAGATE + + begin_iter = iter_.copy() + # we get the beginning of the tag + while not begin_iter.starts_tag(texttag): + begin_iter.backward_char() + end_iter = iter_.copy() + # we get the end of the tag + while not end_iter.ends_tag(texttag): + end_iter.forward_char() + + # Detect XHTML-IM link + word = getattr(texttag, 'href', None) + if not word: + word = self.get_buffer().get_text(begin_iter, end_iter, True) + + uri = parse_uri(word) + if event.button.button == 3: # right click + self.show_context_menu(uri) + return Gdk.EVENT_STOP + + self.plugin_modified = False + app.plugin_manager.extension_point( + 'hyperlink_handler', uri, self, self.get_toplevel()) + if self.plugin_modified: + return Gdk.EVENT_STOP + + open_uri(uri, account=self.account) + return Gdk.EVENT_STOP + + def display_html(self, html, textview, conv_textview, iter_=None): + buffer_ = self.get_buffer() + if iter_: + eob = iter_ + else: + eob = buffer_.get_end_iter() + parser = xml.sax.make_parser() + parser.setContentHandler(HtmlHandler(textview, conv_textview, eob)) + parser.parse(StringIO(html)) + # If the xhtml ends with a BLOCK element we have to remove + # the \n we add after BLOCK elements + self._delete_last_char(buffer_, eob) + + @staticmethod + def _delete_last_char(buffer_, iter_): + start_iter = iter_.copy() + start_iter.backward_char() + text = buffer_.get_text(start_iter, iter_, True) + if text == '\n': + buffer_.delete(start_iter, iter_) + + @staticmethod + def _on_copy_clipboard(textview): + clipboard = textview.get_clipboard(Gdk.SELECTION_CLIPBOARD) + selected = textview.get_selected_text() + clipboard.set_text(selected, -1) + GObject.signal_stop_emission_by_name(textview, 'copy-clipboard') + + def get_selected_text(self): + bounds = self.get_buffer().get_selection_bounds() + selection = '' + if bounds: + (search_iter, end) = bounds + + while search_iter.compare(end): + character = search_iter.get_char() + if character == '\ufffc': + anchor = search_iter.get_child_anchor() + if anchor: + text = anchor.plaintext + if text: + selection += text + else: + selection += character + else: + selection += character + search_iter.forward_char() + return selection + + def replace_emojis(self, start_mark, end_mark, pixbuf, codepoint): + buffer_ = self.get_buffer() + start_iter = buffer_.get_iter_at_mark(start_mark) + end_iter = buffer_.get_iter_at_mark(end_mark) + buffer_.delete(start_iter, end_iter) + + anchor = buffer_.create_child_anchor(start_iter) + anchor.plaintext = codepoint + emoji = Gtk.Image.new_from_pixbuf(pixbuf) + emoji.show() + self.add_child_at_anchor(emoji, anchor) + buffer_.delete_mark(start_mark) + buffer_.delete_mark(end_mark) + + def unselect(self): + buffer_ = self.get_buffer() + insert_iter = buffer_.get_iter_at_mark(buffer_.get_insert()) + buffer_.select_range(insert_iter, insert_iter) diff --git a/gajim/gtk/mam_preferences.py b/gajim/gtk/mam_preferences.py new file mode 100644 index 0000000..428568c --- /dev/null +++ b/gajim/gtk/mam_preferences.py @@ -0,0 +1,160 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import logging + +from gi.repository import Gtk +from gi.repository import Gdk + +from nbxmpp.errors import MalformedStanzaError +from nbxmpp.errors import StanzaError + +from gajim.common import app +from gajim.common.i18n import _ + +from .util import get_builder +from .util import EventHelper +from .dialogs import DialogButton +from .dialogs import ConfirmationDialog +from .dialogs import InformationDialog + +log = logging.getLogger('gajim.gui.mam_preferences') + + +class MamPreferences(Gtk.ApplicationWindow, EventHelper): + def __init__(self, account): + Gtk.ApplicationWindow.__init__(self) + EventHelper.__init__(self) + self.set_application(app.app) + self.set_position(Gtk.WindowPosition.CENTER) + self.set_show_menubar(False) + self.set_title(_('Archiving Preferences for %s') % account) + + self.connect_after('key-press-event', self._on_key_press) + + self.account = account + self._con = app.connections[account] + self._destroyed = False + + self._ui = get_builder('mam_preferences.ui') + self.add(self._ui.get_object('mam_box')) + + self._spinner = Gtk.Spinner() + self._ui.overlay.add_overlay(self._spinner) + + self._set_mam_box_state(False) + self.connect('destroy', self._on_destroy) + self._ui.connect_signals(self) + self.show_all() + + self._activate_spinner() + + self._con.get_module('MAM').request_preferences( + callback=self._mam_prefs_received) + + def _on_destroy(self, *args): + self._destroyed = True + + def _mam_prefs_received(self, task): + try: + result = task.finish() + except (StanzaError, MalformedStanzaError) as error: + self._on_error(error.get_text()) + return + + self._disable_spinner() + self._set_mam_box_state(True) + + self._ui.default_combo.set_active_id(result.default) + self._ui.preferences_store.clear() + for jid in result.always: + self._ui.preferences_store.append((str(jid), True)) + + for jid in result.never: + self._ui.preferences_store.append((str(jid), False)) + + def _mam_prefs_saved(self, task): + try: + task.finish() + except StanzaError as error: + self._on_error(error.get_text()) + return + + self._disable_spinner() + + def _on_ok(): + self.destroy() + + ConfirmationDialog( + _('Archiving Preferences'), + _('Archiving Preferences Saved'), + _('Your archiving preferences have successfully been saved.'), + [DialogButton.make('OK', + callback=_on_ok)]).show() + + def _on_error(self, error): + self._disable_spinner() + + InformationDialog(_('Archiving Preferences Error'), + _('Error received: {}').format(error)) + + self._set_mam_box_state(True) + + def _set_mam_box_state(self, state): + self._ui.mam_box.set_sensitive(state) + + def _jid_edited(self, _renderer, path, new_text): + iter_ = self._ui.preferences_store.get_iter(path) + self._ui.preferences_store.set_value(iter_, 0, new_text) + + def _pref_toggled(self, _renderer, path): + iter_ = self._ui.preferences_store.get_iter(path) + current_value = self._ui.preferences_store[iter_][1] + self._ui.preferences_store.set_value(iter_, 1, not current_value) + + def _on_add(self, _button): + self._ui.preferences_store.append(['', False]) + + def _on_remove(self, _button): + mod, paths = self._ui.pref_view.get_selection().get_selected_rows() + for path in paths: + iter_ = mod.get_iter(path) + self._ui.preferences_store.remove(iter_) + + def _on_save(self, _button): + self._activate_spinner() + self._set_mam_box_state(False) + always = [] + never = [] + default = self._ui.default_combo.get_active_id() + for item in self._ui.preferences_store: + jid, archive = item + if archive: + always.append(jid) + else: + never.append(jid) + self._con.get_module('MAM').set_preferences( + default, always, never, callback=self._mam_prefs_saved) + + def _activate_spinner(self): + self._spinner.show() + self._spinner.start() + + def _disable_spinner(self): + self._spinner.hide() + self._spinner.stop() + + def _on_key_press(self, _widget, event): + if event.keyval == Gdk.KEY_Escape: + self.destroy() diff --git a/gajim/gtk/manage_sounds.py b/gajim/gtk/manage_sounds.py new file mode 100644 index 0000000..1ef80e8 --- /dev/null +++ b/gajim/gtk/manage_sounds.py @@ -0,0 +1,138 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import os + +from gi.repository import Gdk +from gi.repository import Gtk + +from gajim.common import app +from gajim.common.helpers import play_sound +from gajim.common.helpers import check_soundfile_path +from gajim.common.helpers import strip_soundfile_path +from gajim.common.i18n import _ + +from .util import get_builder + + +class ManageSounds(Gtk.ApplicationWindow): + def __init__(self, transient_for): + Gtk.ApplicationWindow.__init__(self) + self.set_application(app.app) + self.set_position(Gtk.WindowPosition.CENTER) + self.set_show_menubar(False) + self.set_name('ManageSounds') + self.set_default_size(400, 400) + self.set_resizable(True) + self.set_transient_for(transient_for) + self.set_modal(True) + self.set_title(_('Manage Sounds')) + + self._ui = get_builder('manage_sounds.ui') + self.add(self._ui.manage_sounds) + + filter_ = Gtk.FileFilter() + filter_.set_name(_('All files')) + filter_.add_pattern('*') + self._ui.filechooser.add_filter(filter_) + + filter_ = Gtk.FileFilter() + filter_.set_name(_('Wav Sounds')) + filter_.add_pattern('*.wav') + self._ui.filechooser.add_filter(filter_) + self._ui.filechooser.set_filter(filter_) + + self._fill_sound_treeview() + + self.connect('key-press-event', self._on_key_press) + self._ui.connect_signals(self) + + self.show_all() + + @staticmethod + def _on_row_changed(model, path, iter_): + sound_event = model[iter_][3] + app.settings.set_soundevent_setting(sound_event, + 'enabled', + bool(model[path][0])) + app.settings.set_soundevent_setting(sound_event, + 'path', + model[iter_][2]) + + def _on_toggle(self, _cell, path): + if self._ui.filechooser.get_filename() is None: + return + model = self._ui.sounds_treeview.get_model() + model[path][0] = not model[path][0] + + def _fill_sound_treeview(self): + model = self._ui.sounds_treeview.get_model() + model.clear() + + # pylint: disable=line-too-long + sounds_dict = { + 'attention_received': _('Attention Message Received'), + 'first_message_received': _('First Message Received'), + 'next_message_received_focused': _('Next Message Received Focused'), + 'next_message_received_unfocused': _('Next Message Received Unfocused'), + 'contact_connected': _('Contact Connected'), + 'contact_disconnected': _('Contact Disconnected'), + 'message_sent': _('Message Sent'), + 'muc_message_highlight': _('Group Chat Message Highlight'), + 'muc_message_received': _('Group Chat Message Received'), + } + # pylint: enable=line-too-long + + for sound_event, sound_name in sounds_dict.items(): + settings = app.settings.get_soundevent_settings(sound_event) + model.append((settings['enabled'], + sound_name, + settings['path'], + sound_event)) + + def _on_cursor_changed(self, treeview): + model, iter_ = treeview.get_selection().get_selected() + path_to_snd_file = check_soundfile_path(model[iter_][2]) + if path_to_snd_file is None: + self._ui.filechooser.unselect_all() + else: + self._ui.filechooser.set_filename(str(path_to_snd_file)) + + def _on_file_set(self, button): + model, iter_ = self._ui.sounds_treeview.get_selection().get_selected() + + filename = button.get_filename() + directory = os.path.dirname(filename) + app.settings.set('last_sounds_dir', directory) + path_to_snd_file = strip_soundfile_path(filename) + + # set new path to sounds_model + model[iter_][2] = str(path_to_snd_file) + # set the sound to enabled + model[iter_][0] = True + + def _on_clear(self, *args): + self._ui.filechooser.unselect_all() + model, iter_ = self._ui.sounds_treeview.get_selection().get_selected() + model[iter_][2] = '' + model[iter_][0] = False + + def _on_play(self, *args): + model, iter_ = self._ui.sounds_treeview.get_selection().get_selected() + snd_event_config_name = model[iter_][3] + play_sound(snd_event_config_name) + + def _on_key_press(self, _widget, event): + if event.keyval == Gdk.KEY_Escape: + self.destroy() diff --git a/gajim/gtk/message_input.py b/gajim/gtk/message_input.py new file mode 100644 index 0000000..a1f2a25 --- /dev/null +++ b/gajim/gtk/message_input.py @@ -0,0 +1,427 @@ +# Copyright (C) 2003-2014 Yann Leboulanger +# Copyright (C) 2005-2007 Nikos Kouremenos +# Copyright (C) 2006 Dimitur Kirov +# Copyright (C) 2008-2009 Julien Pivotto +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from gi.repository import Gtk +from gi.repository import Gdk +from gi.repository import GLib +from gi.repository import Pango + +from nbxmpp.modules.misc import build_xhtml_body + +from gajim.common import app +from gajim.common.regex import LINK_REGEX + +from .util import scroll_to_end + +if app.is_installed('GSPELL'): + from gi.repository import Gspell # pylint: disable=ungrouped-imports + + +class MessageInputTextView(Gtk.TextView): + """ + Class for the message textview (where user writes new messages) for + chat/groupchat windows + """ + UNDO_LIMIT = 20 + + def __init__(self): + Gtk.TextView.__init__(self) + + # set properties + self.set_border_width(3) + self.set_accepts_tab(True) + self.set_editable(True) + self.set_cursor_visible(True) + self.set_wrap_mode(Gtk.WrapMode.WORD_CHAR) + self.set_left_margin(2) + self.set_right_margin(2) + self.set_pixels_above_lines(2) + self.set_pixels_below_lines(2) + self.get_style_context().add_class('gajim-conversation-font') + + self.drag_dest_unset() + + # set undo list + self.undo_list = [] + # needed to know if we undid something + self.undo_pressed = False + + self._last_text = '' + + self.begin_tags = {} + self.end_tags = {} + self.color_tags = [] + self.fonts_tags = [] + self.other_tags = {} + + buffer_ = self.get_buffer() + self.other_tags['bold'] = buffer_.create_tag('bold') + self.other_tags['bold'].set_property('weight', Pango.Weight.BOLD) + self.begin_tags['bold'] = '' + self.end_tags['bold'] = '' + self.other_tags['italic'] = buffer_.create_tag('italic') + self.other_tags['italic'].set_property('style', Pango.Style.ITALIC) + self.begin_tags['italic'] = '' + self.end_tags['italic'] = '' + self.other_tags['underline'] = buffer_.create_tag('underline') + self.other_tags['underline'].set_property('underline', + Pango.Underline.SINGLE) + underline = '' + self.begin_tags['underline'] = underline + self.end_tags['underline'] = '' + self.other_tags['strike'] = buffer_.create_tag('strike') + self.other_tags['strike'].set_property('strikethrough', True) + strike = '' + self.begin_tags['strike'] = strike + self.end_tags['strike'] = '' + + self.connect_after('paste-clipboard', self._after_paste_clipboard) + self.connect('focus-in-event', self._on_focus_in) + self.connect('focus-out-event', self._on_focus_out) + self.connect('destroy', self._on_destroy) + + def _on_destroy(self, *args): + # We restore the TextView’s drag destination to avoid a GTK warning + # when closing the control. ChatControlBase.shutdown() calls destroy() + # on the control’s main box, causing GTK to recursively destroy the + # child widgets. GTK then tries to set a target list on the TextView, + # resulting in a warning because the Widget has no drag destination. + self.drag_dest_set( + Gtk.DestDefaults.ALL, + None, + Gdk.DragAction.DEFAULT) + + def _on_focus_in(self, _widget, _event): + self.toggle_speller(True) + scrolled = self.get_parent() + scrolled.get_style_context().add_class('message-input-focus') + return False + + def _on_focus_out(self, _widget, _event): + scrolled = self.get_parent() + scrolled.get_style_context().remove_class('message-input-focus') + if not self.has_text(): + self.toggle_speller(False) + return False + + def insert_text(self, text): + self.get_buffer().insert_at_cursor(text) + + def insert_newline(self): + buffer_ = self.get_buffer() + buffer_.insert_at_cursor('\n') + mark = buffer_.get_insert() + iter_ = buffer_.get_iter_at_mark(mark) + if buffer_.get_end_iter().equal(iter_): + GLib.idle_add(scroll_to_end, self.get_parent()) + + def has_text(self): + buf = self.get_buffer() + start, end = buf.get_bounds() + text = buf.get_text(start, end, True) + return text != '' + + def get_text(self): + buf = self.get_buffer() + start, end = buf.get_bounds() + text = self.get_buffer().get_text(start, end, True) + return text + + def toggle_speller(self, activate): + if app.is_installed('GSPELL') and app.settings.get('use_speller'): + spell_view = Gspell.TextView.get_from_gtk_text_view(self) + spell_view.set_inline_spell_checking(activate) + + @staticmethod + def _after_paste_clipboard(textview): + buffer_ = textview.get_buffer() + mark = buffer_.get_insert() + iter_ = buffer_.get_iter_at_mark(mark) + if iter_.get_offset() == buffer_.get_end_iter().get_offset(): + GLib.idle_add(scroll_to_end, textview.get_parent()) + + def make_clickable_urls(self, text): + _buffer = self.get_buffer() + + start = 0 + end = 0 + index = 0 + + new_text = '' + iterator = LINK_REGEX.finditer(text) + for match in iterator: + start, end = match.span() + url = text[start:end] + if start != 0: + text_before_special_text = text[index:start] + else: + text_before_special_text = '' + # we insert normal text + new_text += text_before_special_text + \ + '' + url + '' + + index = end # update index + + if end < len(text): + new_text += text[end:] + + return new_text # the position after *last* special text + + def get_active_tags(self): + start = self.get_active_iters()[0] + active_tags = [] + for tag in start.get_tags(): + active_tags.append(tag.get_property('name')) + return active_tags + + def get_active_iters(self): + _buffer = self.get_buffer() + return_val = _buffer.get_selection_bounds() + if return_val: # if sth was selected + start, finish = return_val[0], return_val[1] + else: + start, finish = _buffer.get_bounds() + return (start, finish) + + def set_tag(self, tag): + _buffer = self.get_buffer() + start, finish = self.get_active_iters() + if start.has_tag(self.other_tags[tag]): + _buffer.remove_tag_by_name(tag, start, finish) + else: + if tag == 'underline': + _buffer.remove_tag_by_name('strike', start, finish) + elif tag == 'strike': + _buffer.remove_tag_by_name('underline', start, finish) + _buffer.apply_tag_by_name(tag, start, finish) + + def clear_tags(self): + _buffer = self.get_buffer() + start, finish = self.get_active_iters() + _buffer.remove_all_tags(start, finish) + + def color_set(self, widget, response): + if response in (-6, -4): + widget.destroy() + return + + color = widget.get_property('rgba') + widget.destroy() + _buffer = self.get_buffer() + # Create #aabbcc color string from rgba color + color_string = '#%02X%02X%02X' % (round(color.red*255), + round(color.green*255), + round(color.blue*255)) + + tag_name = 'color' + color_string + if not tag_name in self.color_tags: + tag_color = _buffer.create_tag(tag_name) + tag_color.set_property('foreground', color_string) + begin = '' % color_string + self.begin_tags[tag_name] = begin + self.end_tags[tag_name] = '' + self.color_tags.append(tag_name) + + start, finish = self.get_active_iters() + + for tag in self.color_tags: + _buffer.remove_tag_by_name(tag, start, finish) + + _buffer.apply_tag_by_name(tag_name, start, finish) + + def font_set(self, widget, response, start, finish): + if response in (-6, -4): + widget.destroy() + return + + font = widget.get_font() + font_desc = widget.get_font_desc() + family = font_desc.get_family() + size = font_desc.get_size() + size = size / Pango.SCALE + weight = font_desc.get_weight() + style = font_desc.get_style() + + widget.destroy() + + _buffer = self.get_buffer() + + tag_name = 'font' + font + if not tag_name in self.fonts_tags: + tag_font = _buffer.create_tag(tag_name) + tag_font.set_property('font', family + ' ' + str(size)) + self.begin_tags[tag_name] = \ + '' + self.end_tags[tag_name] = '' + self.fonts_tags.append(tag_name) + + for tag in self.fonts_tags: + _buffer.remove_tag_by_name(tag, start, finish) + + _buffer.apply_tag_by_name(tag_name, start, finish) + + if weight == Pango.Weight.BOLD: + _buffer.apply_tag_by_name('bold', start, finish) + else: + _buffer.remove_tag_by_name('bold', start, finish) + + if style == Pango.Style.ITALIC: + _buffer.apply_tag_by_name('italic', start, finish) + else: + _buffer.remove_tag_by_name('italic', start, finish) + + def get_xhtml(self): + _buffer = self.get_buffer() + old = _buffer.get_start_iter() + tags = {} + tags['bold'] = False + iter_ = _buffer.get_start_iter() + old = _buffer.get_start_iter() + text = '' + modified = False + + def xhtml_special(text): + text = text.replace('<', '<') + text = text.replace('>', '>') + text = text.replace('&', '&') + text = text.replace('\n', '
    ') + return text + + for tag in iter_.get_toggled_tags(True): + tag_name = tag.get_property('name') + if tag_name not in self.begin_tags: + continue + text += self.begin_tags[tag_name] + modified = True + while (iter_.forward_to_tag_toggle(None) and not iter_.is_end()): + text += xhtml_special(_buffer.get_text(old, iter_, True)) + old.forward_to_tag_toggle(None) + new_tags, old_tags, end_tags = [], [], [] + for tag in iter_.get_toggled_tags(True): + tag_name = tag.get_property('name') + if tag_name not in self.begin_tags: + continue + new_tags.append(tag_name) + modified = True + + for tag in iter_.get_tags(): + tag_name = tag.get_property('name') + if (tag_name not in self.begin_tags or + tag_name not in self.end_tags): + continue + if tag_name not in new_tags: + old_tags.append(tag_name) + + for tag in iter_.get_toggled_tags(False): + tag_name = tag.get_property('name') + if tag_name not in self.end_tags: + continue + end_tags.append(tag_name) + + for tag in old_tags: + text += self.end_tags[tag] + for tag in end_tags: + text += self.end_tags[tag] + for tag in new_tags: + text += self.begin_tags[tag] + for tag in old_tags: + text += self.begin_tags[tag] + + buffer_text = _buffer.get_text(old, _buffer.get_end_iter(), True) + text += xhtml_special(buffer_text) + for tag in iter_.get_toggled_tags(False): + tag_name = tag.get_property('name') + if tag_name not in self.end_tags: + continue + text += self.end_tags[tag_name] + + if modified: + wrapped_text = '

    %s

    ' % self.make_clickable_urls(text) + return build_xhtml_body(wrapped_text) + return None + + def replace_emojis(self): + theme = app.settings.get('emoticons_theme') + if not theme or theme == 'font': + return + + def replace(anchor): + if anchor is None: + return + image = anchor.get_widgets()[0] + if hasattr(image, 'codepoint'): + # found emoji + self.replace_char_at_iter(iter_, image.codepoint) + image.destroy() + + iter_ = self.get_buffer().get_start_iter() + replace(iter_.get_child_anchor()) + + while iter_.forward_char(): + replace(iter_.get_child_anchor()) + + def replace_char_at_iter(self, iter_, new_char): + buffer_ = self.get_buffer() + iter_2 = iter_.copy() + iter_2.forward_char() + buffer_.delete(iter_, iter_2) + buffer_.insert(iter_, new_char) + + def insert_emoji(self, codepoint, pixbuf): + buffer_ = self.get_buffer() + if buffer_.get_char_count(): + # buffer contains text + buffer_.insert_at_cursor(' ') + + insert_mark = buffer_.get_insert() + insert_iter = buffer_.get_iter_at_mark(insert_mark) + + if pixbuf is None: + buffer_.insert(insert_iter, codepoint) + else: + anchor = buffer_.create_child_anchor(insert_iter) + image = Gtk.Image.new_from_pixbuf(pixbuf) + image.codepoint = codepoint + image.show() + self.add_child_at_anchor(image, anchor) + buffer_.insert_at_cursor(' ') + + def clear(self, _widget=None): + """ + Clear text in the textview + """ + _buffer = self.get_buffer() + start, end = _buffer.get_bounds() + _buffer.delete(start, end) + + def save_undo(self, text): + self.undo_list.append(text) + if len(self.undo_list) > self.UNDO_LIMIT: + del self.undo_list[0] + self.undo_pressed = False + + def undo(self, _widget=None): + """ + Undo text in the textview + """ + _buffer = self.get_buffer() + if self.undo_list: + _buffer.set_text(self.undo_list.pop()) + self.undo_pressed = True diff --git a/gajim/gtk/notification.py b/gajim/gtk/notification.py new file mode 100644 index 0000000..1ce46a5 --- /dev/null +++ b/gajim/gtk/notification.py @@ -0,0 +1,344 @@ +# Copyright (C) 2005 Sebastian Estienne +# Copyright (C) 2005-2006 Andrew Sayman +# Copyright (C) 2005-2007 Nikos Kouremenos +# Copyright (C) 2005-2014 Yann Leboulanger +# Copyright (C) 2006 Travis Shirk +# Copyright (C) 2006-2008 Jean-Marie Traissard +# Copyright (C) 2007 Julien Pivotto +# Stephan Erb +# Copyright (C) 2008 Brendan Taylor +# Jonathan Schleifer +# Copyright (C) 2018 Philipp Hörist +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import sys +import logging + +from gi.repository import GLib +from gi.repository import Gio +from gi.repository import Gdk +from gi.repository import Gtk + +from gajim import gtkgui_helpers +from gajim.common import app +from gajim.common import helpers +from gajim.common import ged +from gajim.common.const import StyleAttr +from gajim.common.i18n import _ +from gajim.common.nec import EventHelper + +from .util import get_builder +from .util import get_icon_name +from .util import get_monitor_scale_factor +from .util import get_total_screen_geometry + +log = logging.getLogger('gajim.gui.notification') + + +class Notification(EventHelper): + """ + Handle notifications + """ + def __init__(self): + EventHelper.__init__(self) + self._dbus_available = False + self._daemon_capabilities = ['actions'] + self._win32_active_popup = None + + self._detect_dbus_caps() + + self.register_events([ + ('notification', ged.GUI2, self._nec_notification), + ('simple-notification', ged.GUI2, self._on_notification), + ('our-show', ged.GUI2, self._nec_our_status), + ]) + + app.events.event_removed_subscribe(self._on_event_removed) + + def _detect_dbus_caps(self): + if sys.platform in ('win32', 'darwin'): + return + + if app.is_flatpak(): + self._dbus_available = True + return + + def on_proxy_ready(_source, res, _data=None): + try: + proxy = Gio.DBusProxy.new_finish(res) + self._daemon_capabilities = proxy.GetCapabilities() + except GLib.Error as error: + log.warning('Notifications D-Bus not available: %s', error) + else: + self._dbus_available = True + log.info('Notifications D-Bus connected') + + log.info('Connecting to Notifications D-Bus') + Gio.DBusProxy.new_for_bus(Gio.BusType.SESSION, + Gio.DBusProxyFlags.DO_NOT_CONNECT_SIGNALS, + None, + 'org.freedesktop.Notifications', + '/org/freedesktop/Notifications', + 'org.freedesktop.Notifications', + None, + on_proxy_ready) + + def _nec_notification(self, obj): + if obj.do_popup: + icon_name = self._get_icon_name(obj) + self.popup(obj.popup_event_type, str(obj.jid), obj.conn.name, + obj.popup_msg_type, icon_name=icon_name, + title=obj.popup_title, text=obj.popup_text, + timeout=obj.popup_timeout) + + if obj.do_sound: + if obj.sound_file: + helpers.play_sound_file(obj.sound_file) + elif obj.sound_event: + helpers.play_sound(obj.sound_event) + + if obj.do_command: + try: + helpers.exec_command(obj.command, use_shell=True) + except Exception: + pass + + def _on_notification(self, event): + self.popup(event.type_, + None, + event.account, + title=event.title, + text=event.text) + + def _on_event_removed(self, event_list): + for event in event_list: + if event.type_ == 'gc-invitation': + self._withdraw('gc-invitation', event.account, event.muc) + if event.type_ in ('normal', 'printed_chat', 'chat', + 'printed_pm', 'pm', 'printed_marked_gc_msg', + 'printed_gc_msg', 'jingle-incoming'): + self._withdraw('new-message', event.account, event.jid) + + def _nec_our_status(self, event): + if app.account_is_connected(event.account): + self._withdraw('connection-failed', event.account) + + @staticmethod + def _get_icon_name(obj): + if obj.notif_type == 'msg': + if obj.base_event.properties.is_muc_pm: + return 'gajim-priv_msg_recv' + + elif obj.notif_type == 'pres': + if obj.transport_name is not None: + return '%s-%s' % (obj.transport_name, obj.show) + return get_icon_name(obj.show) + return None + + def popup(self, event_type, jid, account, type_='', icon_name=None, + title=None, text=None, timeout=-1, room_jid=None): + """ + Notify a user of an event using GNotification and GApplication under + Linux, Use PopupNotificationWindow under Windows + """ + + if icon_name is None: + icon_name = 'mail-message-new' + + if timeout < 0: + timeout = app.settings.get('notification_timeout') + + if sys.platform == 'win32': + self._withdraw() + self._win32_active_popup = PopupNotification( + event_type, jid, account, type_, + icon_name, title, text, timeout) + self._win32_active_popup.connect('destroy', self._on_popup_destroy) + return + + if not self._dbus_available: + return + + icon = Gio.ThemedIcon.new(icon_name) + + notification = Gio.Notification() + if title is not None: + notification.set_title(title) + if text is not None: + notification.set_body(text) + notif_id = None + if event_type in ( + _('New Message'), _('New Private Message'), + _('New Group Chat Message'), + _('Contact Changed Status'), _('File Transfer Request'), + _('File Transfer Error'), _('File Transfer Completed'), + _('File Transfer Stopped'), _('Group Chat Invitation'), + _('Connection Failed'), _('Subscription request'), + _('Unsubscribed'), _('Incoming Call')): + if 'actions' in self._daemon_capabilities: + # Create Variant Dict + dict_ = {'account': GLib.Variant('s', account), + 'jid': GLib.Variant('s', jid), + 'type_': GLib.Variant('s', type_)} + variant_dict = GLib.Variant('a{sv}', dict_) + action = 'app.{}-open-event'.format(account) + # Notification button + notification.add_button_with_target( + _('Open'), action, variant_dict) + notification.set_default_action_and_target( + action, variant_dict) + if event_type in ( + _('New Message'), + _('New Private Message'), + _('New Group Chat Message')): + action = 'app.{}-remove-event'.format(account) + notification.add_button_with_target( + _('Mark as Read'), action, variant_dict) + + # Only one notification per JID + if event_type == _('Contact Changed Status'): + notif_id = self._make_id('contact-status-changed', account, jid) + elif event_type == _('Group Chat Invitation'): + notif_id = self._make_id('gc-invitation', account, room_jid) + elif event_type == _('Connection Failed'): + notif_id = self._make_id('connection-failed', account) + elif event_type in (_('New Message'), + _('New Private Message'), + _('New Group Chat Message')): + if app.desktop_env == 'gnome': + icon = self._get_avatar_for_notification(account, jid) + notif_id = self._make_id('new-message', account, jid) + + notification.set_icon(icon) + notification.set_priority(Gio.NotificationPriority.NORMAL) + + app.app.send_notification(notif_id, notification) + + @staticmethod + def _get_avatar_for_notification(account, jid): + scale = get_monitor_scale_factor() + contact = app.contacts.get_contact(account, jid) + if contact is None: + return None + return app.interface.get_avatar(contact, 32, scale, pixbuf=True) + + def _on_popup_destroy(self, *args): + self._win32_active_popup = None + + def _withdraw(self, *args): + if sys.platform == 'win32': + if self._win32_active_popup is not None: + self._win32_active_popup.destroy() + elif self._dbus_available: + app.app.withdraw_notification(self._make_id(*args)) + + @staticmethod + def _make_id(*args): + return ','.join(map(str, args)) + + +class PopupNotification(Gtk.Window): + def __init__(self, event_type, jid, account, msg_type='', + icon_name=None, title=None, text=None, timeout=-1): + Gtk.Window.__init__(self) + self.set_type_hint(Gdk.WindowTypeHint.NOTIFICATION) + self.set_focus_on_map(False) + self.set_accept_focus(False) + self.set_skip_taskbar_hint(True) + self.set_decorated(False) + + self._timeout_id = None + self.account = account + self.jid = jid + self.msg_type = msg_type + + self._ui = get_builder('popup_notification_window.ui') + self.add(self._ui.eventbox) + + if event_type in (_('New Message'), + _('New Private Message'), + _('New E-mail')): + bg_color = app.css_config.get_value('.gajim-notify-message', + StyleAttr.COLOR) + elif event_type == _('File Transfer Request'): + bg_color = app.css_config.get_value('.gajim-notify-ft-request', + StyleAttr.COLOR) + elif event_type == _('File Transfer Error'): + bg_color = app.css_config.get_value('.gajim-notify-ft-error', + StyleAttr.COLOR) + elif event_type in (_('File Transfer Completed'), + _('File Transfer Stopped')): + bg_color = app.css_config.get_value('.gajim-notify-ft-complete', + StyleAttr.COLOR) + elif event_type == _('Group Chat Invitation'): + bg_color = app.css_config.get_value('.gajim-notify-invite', + StyleAttr.COLOR) + elif event_type == _('Contact Changed Status'): + bg_color = app.css_config.get_value('.gajim-notify-status', + StyleAttr.COLOR) + else: # Unknown event (shouldn't happen, but deal with it) + bg_color = app.css_config.get_value('.gajim-notify-other', + StyleAttr.COLOR) + + bar_class = ''' + .popup-bar { + background-color: %s + }''' % bg_color + gtkgui_helpers.add_css_to_widget(self._ui.color_bar, bar_class) + self._ui.color_bar.get_style_context().add_class('popup-bar') + + if not title: + title = '' + self._ui.event_type_label.set_markup(title) + + if not text: + text = app.get_name_from_jid(account, jid) # default value of text + escaped_text = GLib.markup_escape_text(text) + self._ui.event_description_label.set_markup(escaped_text) + + self._ui.image.set_from_icon_name(icon_name, Gtk.IconSize.DIALOG) + + self.move(*self._get_window_pos()) + + self._ui.connect_signals(self) + self.connect('button-press-event', self._on_button_press) + self.connect('destroy', self._on_destroy) + self.show_all() + if timeout > 0: + self._timeout_id = GLib.timeout_add_seconds(timeout, self.destroy) + + @staticmethod + def _get_window_pos(): + pos_x = app.settings.get('notification_position_x') + screen_w, screen_h = get_total_screen_geometry() + if pos_x < 0: + pos_x = screen_w - 312 + pos_x + 1 + pos_y = app.settings.get('notification_position_y') + if pos_y < 0: + pos_y = screen_h - 95 - 80 + pos_y + 1 + return pos_x, pos_y + + def _on_close_button_clicked(self, _widget): + self.destroy() + + def _on_button_press(self, _widget, event): + if event.button == 1: + app.interface.handle_event(self.account, self.jid, self.msg_type) + self.destroy() + + def _on_destroy(self, *args): + if self._timeout_id is not None: + GLib.source_remove(self._timeout_id) diff --git a/gajim/gtk/pep_config.py b/gajim/gtk/pep_config.py new file mode 100644 index 0000000..873a56a --- /dev/null +++ b/gajim/gtk/pep_config.py @@ -0,0 +1,157 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import logging + +from gi.repository import Gdk +from gi.repository import Gtk +from nbxmpp.errors import StanzaError + +from gajim.common import app +from gajim.common.i18n import _ +from gajim.common.helpers import to_user_string + +from .dialogs import ErrorDialog +from .dialogs import WarningDialog +from .dataform import DataFormDialog +from .util import get_builder + + +log = logging.getLogger('gajim.gui.pep') + + +class PEPConfig(Gtk.ApplicationWindow): + def __init__(self, account): + Gtk.ApplicationWindow.__init__(self) + self.set_application(app.app) + self.set_position(Gtk.WindowPosition.CENTER) + self.set_show_menubar(False) + self.set_name('PEPConfig') + self.set_default_size(500, 350) + self.set_resizable(True) + self.set_transient_for(app.interface.roster.window) + + self._ui = get_builder('manage_pep_services_window.ui') + self.add(self._ui.manage_pep_services) + + self.account = account + self.set_title(_('PEP Service Configuration (%s)') % self.account) + self._con = app.connections[self.account] + + self._init_services() + self._ui.services_treeview.get_selection().connect( + 'changed', self._on_services_selection_changed) + + self.show_all() + self.connect('key-press-event', self._on_key_press_event) + self._ui.connect_signals(self) + + def _on_key_press_event(self, _widget, event): + if event.keyval == Gdk.KEY_Escape: + self.destroy() + + def _on_services_selection_changed(self, _selection): + self._ui.configure_button.set_sensitive(True) + self._ui.delete_button.set_sensitive(True) + + def _init_services(self): + # service, access_model, group + self.treestore = Gtk.ListStore(str) + self.treestore.set_sort_column_id(0, Gtk.SortType.ASCENDING) + self._ui.services_treeview.set_model(self.treestore) + + col = Gtk.TreeViewColumn(_('Service')) + col.set_sort_column_id(0) + self._ui.services_treeview.append_column(col) + + cellrenderer_text = Gtk.CellRendererText() + col.pack_start(cellrenderer_text, True) + col.add_attribute(cellrenderer_text, 'text', 0) + + jid = self._con.get_own_jid().bare + self._con.get_module('Discovery').disco_items( + jid, callback=self._items_received) + + def _items_received(self, task): + try: + result = task.finish() + except StanzaError as error: + ErrorDialog('Error', to_user_string(error)) + return + + jid = result.jid.bare + for item in result.items: + if item.jid == jid and item.node is not None: + self.treestore.append([item.node]) + + def _on_node_delete(self, task): + node = task.get_user_data() + + try: + task.finish() + except StanzaError as error: + WarningDialog( + _('PEP node was not removed'), + _('PEP node %(node)s was not removed:\n%(message)s') % { + 'node': node, 'message': error}) + return + + model = self._ui.services_treeview.get_model() + iter_ = model.get_iter_first() + while iter_: + if model[iter_][0] == node: + model.remove(iter_) + break + iter_ = model.iter_next(iter_) + + def _on_delete_button_clicked(self, _widget): + selection = self._ui.services_treeview.get_selection() + if not selection: + return + model, iter_ = selection.get_selected() + node = model[iter_][0] + + con = app.connections[self.account] + con.get_module('PubSub').delete(node, + callback=self._on_node_delete, + user_data=node) + + def _on_configure_button_clicked(self, _widget): + selection = self._ui.services_treeview.get_selection() + if not selection: + return + model, iter_ = selection.get_selected() + node = model[iter_][0] + + con = app.connections[self.account] + con.get_module('PubSub').get_node_configuration( + node, + callback=self._nec_pep_config_received) + + def _on_config_submit(self, form, node): + con = app.connections[self.account] + con.get_module('PubSub').set_node_configuration(node, form) + + def _nec_pep_config_received(self, task): + try: + result = task.finish() + except Exception: + log.exception('Failed to retrieve config') + return + + DataFormDialog(_('Configure %s') % result.node, + self, + result.form, + result.node, + self._on_config_submit) diff --git a/gajim/gtk/preferences.py b/gajim/gtk/preferences.py new file mode 100644 index 0000000..b81a82b --- /dev/null +++ b/gajim/gtk/preferences.py @@ -0,0 +1,1056 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import logging +import sys + +from gi.repository import Gtk +from gi.repository import Gdk + +from gajim.common import app +from gajim.common import configpaths +from gajim.common import helpers +from gajim.common.const import THRESHOLD_OPTIONS +from gajim.common.nec import NetworkEvent +from gajim.common.i18n import _ +from gajim.common.helpers import open_file +from gajim.common.multimedia_helpers import AudioInputManager +from gajim.common.multimedia_helpers import AudioOutputManager +from gajim.common.multimedia_helpers import VideoInputManager + +from gajim.chat_control_base import ChatControlBase + +from .const import Setting +from .const import SettingKind +from .const import SettingType +from .const import ControlType +from .emoji_chooser import emoji_chooser +from .settings import SettingsBox +from .settings import SettingsDialog +from .sidebar_switcher import SideBarSwitcher +from .video_preview import VideoPreview +from .util import get_available_iconsets +from .util import open_window +from .util import get_app_window +from .util import get_builder + +if app.is_installed('GSPELL'): + from gi.repository import Gspell # pylint: disable=ungrouped-imports + +log = logging.getLogger('gajim.gui.preferences') + + +class Preferences(Gtk.ApplicationWindow): + def __init__(self): + Gtk.ApplicationWindow.__init__(self) + self.set_application(app.app) + self.set_position(Gtk.WindowPosition.CENTER) + self.set_show_menubar(False) + self.set_name('PreferencesWindow') + self.set_default_size(900, 650) + self.set_resizable(True) + self.set_title(_('Preferences')) + + self._ui = get_builder('preferences.ui') + + self._video_preview = None + self._prefs = {} + + side_bar_switcher = SideBarSwitcher() + side_bar_switcher.set_stack(self._ui.stack) + self._ui.grid.attach(side_bar_switcher, 0, 0, 1, 1) + + self.add(self._ui.grid) + + self._check_emoji_theme() + + prefs = [ + ('window_behaviour', WindowBehaviour), + ('contact_list', ContactList), + ('chats', Chats), + ('group_chats', GroupChats), + ('visual_notifications', VisualNotifications), + ('sounds', Sounds), + ('status_message', StatusMessage), + ('automatic_status', AutomaticStatus), + ('themes', Themes), + ('emoji', Emoji), + ('status_icon', StatusIcon), + ('server', Server), + ('audio', Audio), + ('video', Video), + ('miscellaneous', Miscellaneous), + ('advanced', Advanced), + ] + + self._add_prefs(prefs) + self._add_video_preview() + + self._ui.audio_video_info_bar.set_revealed(not app.is_installed('AV')) + + self.connect('key-press-event', self._on_key_press) + self._ui.connect_signals(self) + + self.show_all() + if sys.platform not in ('win32', 'darwin'): + self._ui.emoji.hide() + + def get_ui(self): + return self._ui + + def _add_prefs(self, prefs): + for ui_name, klass in prefs: + pref_box = getattr(self._ui, ui_name) + if ui_name == 'video' and sys.platform == 'win32': + continue + + pref = klass(self) + pref_box.add(pref) + self._prefs[ui_name] = pref + + def _add_video_preview(self): + if sys.platform == 'win32': + return + self._video_preview = VideoPreview() + self._ui.video.add(self._video_preview.widget) + + def _on_key_press(self, _widget, event): + if event.keyval == Gdk.KEY_Escape: + self.destroy() + + def get_video_preview(self): + return self._video_preview + + @staticmethod + def _on_features_clicked(_widget, _response): + open_window('Features') + + def update_theme_list(self): + self._prefs['themes'].update_theme_list() + + def update_proxy_list(self): + self._prefs['miscellaneous'].update_proxy_list() + + @staticmethod + def get_all_controls(): + for ctrl in app.interface.msg_win_mgr.get_controls(): + yield ctrl + for account in app.connections: + for ctrl in app.interface.minimized_controls[account].values(): + yield ctrl + + @staticmethod + def get_all_muc_controls(): + for ctrl in app.interface.msg_win_mgr.get_controls( + ControlType.GROUPCHAT): + yield ctrl + for account in app.connections: + for ctrl in app.interface.minimized_controls[account].values(): + yield ctrl + + @staticmethod + def _check_emoji_theme(): + # Ensure selected emoji theme is valid + emoji_themes = helpers.get_available_emoticon_themes() + settings_theme = app.settings.get('emoticons_theme') + if settings_theme not in emoji_themes: + app.settings.set('emoticons_theme', 'font') + + +class PreferenceBox(SettingsBox): + def __init__(self, settings): + SettingsBox.__init__(self, None) + self.get_style_context().add_class('settings-border') + self.set_selection_mode(Gtk.SelectionMode.NONE) + self.set_vexpand(False) + self.set_valign(Gtk.Align.END) + + for setting in settings: + self.add_setting(setting) + self.update_states() + + +class WindowBehaviour(PreferenceBox): + def __init__(self, *args): + win_layout_items = { + 'never': _('Detached contact list with detached chats'), + 'always': _('Detached contact list with single chat'), + 'always_with_roster': _('Single window for everything'), + 'peracct': _('Detached contact list with chats grouped by account'), + 'pertype': _('Detached contact list with chats grouped by type'), + } + + roster_on_startup_items = { + 'always': _('Always'), + 'never': _('Never'), + 'last_state': _('Restore last state'), + } + + tab_position_items = { + 'top': _('Top'), + 'bottom': _('Bottom'), + 'left': _('Left'), + 'Right': _('Right'), + } + + settings = [ + Setting(SettingKind.POPOVER, + _('Window Layout'), + SettingType.CONFIG, + 'one_message_window', + props={'entries': win_layout_items}, + callback=self._on_win_layout_changed), + + Setting(SettingKind.POPOVER, + _('Contact List on Startup'), + SettingType.CONFIG, + 'show_roster_on_startup', + props={'entries': roster_on_startup_items}, + desc=_('Show contact list when starting Gajim')), + + Setting(SettingKind.SWITCH, + _('Quit on Close'), + SettingType.CONFIG, + 'quit_on_roster_x_button', + desc=_('Quit when closing contact list')), + + Setting(SettingKind.POPOVER, + _('Tab Position'), + SettingType.CONFIG, + 'tabs_position', + props={'entries': tab_position_items}, + desc=_('Placement of chat window tabs'), + callback=self._on_win_layout_changed), + ] + + PreferenceBox.__init__(self, settings) + + @staticmethod + def _on_win_layout_changed(*args): + app.interface.msg_win_mgr.reconfig() + + +class ContactList(PreferenceBox): + def __init__(self, *args): + + settings = [ + Setting(SettingKind.SWITCH, + _('Merge Accounts'), + SettingType.CONFIG, + 'mergeaccounts', + callback=self._on_merge_accounts), + + Setting(SettingKind.SWITCH, + _('Enable Metacontacts'), + SettingType.CONFIG, + 'metacontacts_enabled'), + + Setting(SettingKind.SWITCH, + _('Show Avatars'), + SettingType.CONFIG, + 'show_avatars_in_roster', + callback=self._on_show_avatar_in_roster_changed), + + Setting(SettingKind.SWITCH, + _('Show Status Message'), + SettingType.CONFIG, + 'show_status_msgs_in_roster', + callback=self._on_show_status_in_roster), + + Setting(SettingKind.SWITCH, + _('Sort Contacts by Status'), + SettingType.CONFIG, + 'sort_by_show_in_roster', + callback=self._on_sort_by_show_in_roster), + + Setting(SettingKind.SWITCH, + _('Show Mood'), + SettingType.CONFIG, + 'show_mood_in_roster'), + + Setting(SettingKind.SWITCH, + _('Show Activity'), + SettingType.CONFIG, + 'show_activity_in_roster'), + + Setting(SettingKind.SWITCH, + _('Show Tune'), + SettingType.CONFIG, + 'show_tunes_in_roster'), + + Setting(SettingKind.SWITCH, + _('Show Location'), + SettingType.CONFIG, + 'show_location_in_roster'), + ] + + PreferenceBox.__init__(self, settings) + + @staticmethod + def _on_merge_accounts(*args): + app.app.activate_action('merge') + + @staticmethod + def _on_show_avatar_in_roster_changed(*args): + app.interface.roster.setup_and_draw_roster() + + @staticmethod + def _on_show_status_in_roster(*args): + app.interface.roster.setup_and_draw_roster() + controls = get_app_window('Preferences').get_all_muc_controls() + for ctrl in controls: + ctrl.roster.draw_contacts() + + @staticmethod + def _on_sort_by_show_in_roster(*args): + app.interface.roster.setup_and_draw_roster() + + +class Chats(PreferenceBox): + def __init__(self, *args): + + speller_desc = None + if not app.is_installed('GSPELL'): + speller_desc = _('Needs gspell to be installed') + + settings = [ + Setting(SettingKind.SWITCH, + _('Spell Checking'), + SettingType.CONFIG, + 'use_speller', + desc=speller_desc, + enabled_func=self._speller_available, + callback=self._on_use_speller), + + Setting(SettingKind.SWITCH, + _('Message Receipts (✔)'), + SettingType.CONFIG, + 'positive_184_ack', + desc=_('Add a checkmark to received messages')), + + Setting(SettingKind.SWITCH, + _('XHTML Formatting'), + SettingType.CONFIG, + 'show_xhtml', + desc=_('Render XHTML styles (colors, etc.) of incoming ' + 'messages')), + + Setting(SettingKind.SWITCH, + _('Show Send Message Button'), + SettingType.CONFIG, + 'show_send_message_button'), + + Setting(SettingKind.SWITCH, + _('Show Status Message'), + SettingType.CONFIG, + 'print_status_in_chats'), + + Setting(SettingKind.SWITCH, + _('Show Chat State In Tabs'), + SettingType.CONFIG, + 'show_chatstate_in_tabs', + desc=_('Show the contact’s chat state (e.g. typing) in ' + 'the chat’s tab')), + + Setting(SettingKind.SWITCH, + _('Show Chat State In Banner'), + SettingType.CONFIG, + 'show_chatstate_in_banner', + desc=_('Show the contact’s chat state (e.g. typing) in ' + 'the chats tab’s banner')), + + Setting(SettingKind.SWITCH, + _('Display Chat State In Contact List'), + SettingType.CONFIG, + 'show_chatstate_in_roster', + desc=_('Show the contact’s chat state (e.g. typing) in ' + 'the contact list')), + ] + + PreferenceBox.__init__(self, settings) + + @staticmethod + def _speller_available(): + return app.is_installed('GSPELL') + + @staticmethod + def _on_use_speller(value, *args): + if not value: + return + + lang = app.settings.get('speller_language') + gspell_lang = Gspell.language_lookup(lang) + if gspell_lang is None: + gspell_lang = Gspell.language_get_default() + app.settings.set('speller_language', gspell_lang.get_code()) + for ctrl in get_app_window('Preferences').get_all_controls(): + if isinstance(ctrl, ChatControlBase): + ctrl.set_speller() + + +class GroupChats(PreferenceBox): + def __init__(self, *args): + + settings = [ + + Setting(SettingKind.SWITCH, + _('Show Subject'), + SettingType.CONFIG, + 'show_subject_on_join'), + + Setting(SettingKind.SWITCH, + _('Sort Contacts by Status'), + SettingType.CONFIG, + 'sort_by_show_in_muc', + callback=self._on_sort_by_show_in_muc), + + Setting(SettingKind.POPOVER, + _('Default Sync Threshold'), + SettingType.CONFIG, + 'gc_sync_threshold_public_default', + desc=_('Default for new public group chats'), + props={'entries': THRESHOLD_OPTIONS}), + + Setting(SettingKind.SWITCH, + _('Direct Messages'), + SettingType.CONFIG, + 'muc_prefer_direct_msg', + desc=_('Prefer direct messages in private group chats ')), + + Setting(SettingKind.SWITCH, + _('Show Joined / Left'), + SettingType.CONFIG, + 'gc_print_join_left_default', + desc=_('Default for new group chats'), + props={'button-text':_('Reset'), + 'button-tooltip': _('Reset all group chats to the ' + 'current default value'), + 'button-style': 'destructive-action', + 'button-callback': self._reset_join_left}), + + Setting(SettingKind.SWITCH, + _('Show Status Changes'), + SettingType.CONFIG, + 'gc_print_status_default', + desc=_('Default for new group chats'), + props={'button-text':_('Reset'), + 'button-tooltip': _('Reset all group chats to the ' + 'current default value'), + 'button-style': 'destructive-action', + 'button-callback': self._reset_print_status}), + + ] + + PreferenceBox.__init__(self, settings) + + @staticmethod + def _on_sort_by_show_in_muc(*args): + for ctrl in get_app_window('Preferences').get_all_muc_controls(): + ctrl.roster.invalidate_sort() + + @staticmethod + def _reset_join_left(button): + button.set_sensitive(False) + app.settings.set_group_chat_settings('print_join_left', None) + + @staticmethod + def _reset_print_status(button): + button.set_sensitive(False) + app.settings.set_group_chat_settings('print_status', None) + + +class VisualNotifications(PreferenceBox): + def __init__(self, *args): + trayicon_items = { + 'never': _('Hide icon'), + 'on_event': _('Only show for pending events'), + 'always': _('Always show icon'), + } + + settings = [ + Setting(SettingKind.POPOVER, + _('Notification Area Icon'), + SettingType.CONFIG, + 'trayicon', + props={'entries': trayicon_items}, + callback=self._on_trayicon), + + Setting(SettingKind.SWITCH, + _('Open Events'), + SettingType.CONFIG, + 'autopopup', + desc=_('Open events instead of showing a notification ' + 'in the contact list')), + + Setting(SettingKind.NOTIFICATIONS, + _('Show Notifications'), + SettingType.DIALOG, + props={'dialog': NotificationsDialog}), + + ] + + PreferenceBox.__init__(self, settings) + + @staticmethod + def _on_trayicon(value, *args): + if value == 'never': + app.interface.hide_systray() + elif value == 'on_event': + app.interface.show_systray() + else: + app.interface.show_systray() + + +class NotificationsDialog(SettingsDialog): + def __init__(self, account, parent): + + settings = [ + Setting(SettingKind.SWITCH, + _('Show Notifications'), + SettingType.CONFIG, + 'show_notifications'), + + Setting(SettingKind.SWITCH, + _('Notifications When Away'), + SettingType.CONFIG, + 'autopopupaway', + desc=_('Show notifications even if you are Away, ' + 'Busy, etc.'), + bind='show_notifications'), + ] + + SettingsDialog.__init__(self, parent, _('Notifications'), + Gtk.DialogFlags.MODAL, settings, account) + + +class Sounds(PreferenceBox): + def __init__(self, *args): + + settings = [ + Setting(SettingKind.SWITCH, + _('Play Sounds'), + SettingType.CONFIG, + 'sounds_on', + desc=_('Play sounds to notify about events'), + props={'button-icon-name': 'preferences-system-symbolic', + 'button-callback': self._on_manage_sounds}), + + Setting(SettingKind.SWITCH, + _('Sounds When Away'), + SettingType.CONFIG, + 'sounddnd', + desc=_('Play sounds even when you are Away, Busy, etc.'), + bind='sounds_on'), + ] + + PreferenceBox.__init__(self, settings) + + def _on_manage_sounds(self, *args): + open_window('ManageSounds', transient_for=self.get_toplevel()) + + +class StatusMessage(PreferenceBox): + def __init__(self, *args): + + settings = [ + Setting(SettingKind.SWITCH, + _('Sign In'), + SettingType.CONFIG, + 'ask_online_status'), + + Setting(SettingKind.SWITCH, + _('Sign Out'), + SettingType.CONFIG, + 'ask_offline_status'), + + Setting(SettingKind.SWITCH, + _('Status Change'), + SettingType.CONFIG, + 'always_ask_for_status_message'), + ] + + PreferenceBox.__init__(self, settings) + + +class AutomaticStatus(PreferenceBox): + def __init__(self, *args): + + settings = [ + Setting(SettingKind.AUTO_AWAY, + _('Auto Away'), + SettingType.DIALOG, + desc=_('Change your status to \'Away\' after a certain ' + 'amount of time'), + props={'dialog': AutoAwayDialog}), + + Setting(SettingKind.AUTO_EXTENDED_AWAY, + _('Auto Not Available'), + SettingType.DIALOG, + desc=_('Change your status to \'Not Available\' after a ' + 'certain amount of time'), + props={'dialog': AutoExtendedAwayDialog}), + + ] + + PreferenceBox.__init__(self, settings) + + @staticmethod + def _get_auto_away(): + return app.settings.get('autoaway') + + @staticmethod + def _get_auto_xa(): + return app.settings.get('autoxa') + + +class AutoAwayDialog(SettingsDialog): + def __init__(self, account, parent): + + settings = [ + Setting(SettingKind.SWITCH, + _('Auto Away'), + SettingType.CONFIG, + 'autoaway'), + + Setting(SettingKind.SPIN, + _('Time Until Away'), + SettingType.CONFIG, + 'autoawaytime', + desc=_('Minutes until your status gets changed'), + props={'range_': (1, 720)}, + bind='autoaway'), + + Setting(SettingKind.ENTRY, + _('Status Message'), + SettingType.CONFIG, + 'autoaway_message', + bind='autoaway'), + ] + + SettingsDialog.__init__(self, parent, _('Auto Away Settings'), + Gtk.DialogFlags.MODAL, settings, account) + + +class AutoExtendedAwayDialog(SettingsDialog): + def __init__(self, account, parent): + + settings = [ + Setting(SettingKind.SWITCH, + _('Auto Not Available'), + SettingType.CONFIG, + 'autoxa'), + + Setting(SettingKind.SPIN, + _('Time Until Not Available'), + SettingType.CONFIG, + 'autoxatime', + desc=_('Minutes until your status gets changed'), + props={'range_': (1, 720)}, + bind='autoxa'), + + Setting(SettingKind.ENTRY, + _('Status Message'), + SettingType.CONFIG, + 'autoxa_message', + bind='autoxa'), + ] + + SettingsDialog.__init__(self, parent, _('Auto Extended Away Settings'), + Gtk.DialogFlags.MODAL, settings, account) + + +class Themes(PreferenceBox): + def __init__(self, *args): + + theme_items = self._get_theme_items() + + dark_theme_items = { + 0: _('Disabled'), + 1: _('Enabled'), + 2: _('System'), + } + + settings = [ + Setting(SettingKind.POPOVER, + _('Dark Theme'), + SettingType.CONFIG, + 'dark_theme', + props={'entries': dark_theme_items}, + callback=self._on_dark_theme), + + Setting(SettingKind.POPOVER, + _('Theme'), + SettingType.CONFIG, + 'roster_theme', + name='roster_theme', + props={'entries': theme_items, + 'button-icon-name': 'preferences-system-symbolic', + 'button-callback': self._on_edit_themes}, + callback=self._on_theme_changed), + ] + + PreferenceBox.__init__(self, settings) + + @staticmethod + def _get_theme_items(): + theme_items = ['default'] + for settings_theme in app.css_config.themes: + theme_items.append(settings_theme) + return theme_items + + def update_theme_list(self): + self.get_setting('roster_theme').update_entries(self._get_theme_items()) + + def _on_edit_themes(self, *args): + open_window('Themes', transient=self.get_toplevel()) + + @staticmethod + def _on_theme_changed(value, *args): + app.css_config.change_theme(value) + app.nec.push_incoming_event(NetworkEvent('theme-update')) + app.nec.push_incoming_event(NetworkEvent('style-changed')) + app.interface.roster.repaint_themed_widgets() + app.interface.roster.change_roster_style(None) + + @staticmethod + def _on_dark_theme(value, *args): + app.css_config.set_dark_theme(int(value)) + app.nec.push_incoming_event(NetworkEvent('style-changed')) + + +class Emoji(PreferenceBox): + def __init__(self, *args): + if sys.platform not in ('win32', 'darwin'): + PreferenceBox.__init__(self, []) + return + + emoji_themes_items = [] + for theme in helpers.get_available_emoticon_themes(): + emoji_themes_items.append(theme) + + settings = [ + Setting(SettingKind.POPOVER, + _('Emoji Theme'), + SettingType.CONFIG, + 'emoticons_theme', + desc=_('Choose from various emoji styles'), + props={'entries': emoji_themes_items}, + callback=self._on_emoticons_theme) + ] + + PreferenceBox.__init__(self, settings) + + def _on_emoticons_theme(self, *args): + emoji_chooser.load() + self._toggle_emoticons() + + @staticmethod + def _toggle_emoticons(): + controls = get_app_window('Preferences').get_all_controls() + for ctrl in controls: + ctrl.toggle_emoticons() + + +class StatusIcon(PreferenceBox): + def __init__(self, *args): + + iconset_items = [] + for _index, iconset_name in enumerate(get_available_iconsets()): + iconset_items.append(iconset_name) + + settings = [ + Setting(SettingKind.POPOVER, + _('Status Icon Set'), + SettingType.CONFIG, + 'iconset', + props={'entries': iconset_items}, + callback=self._on_iconset_changed), + + Setting(SettingKind.SWITCH, + _('Use Transport Icons'), + SettingType.CONFIG, + 'use_transports_iconsets', + desc=_('Display protocol-specific status icons ' + '(ICQ, ..)')), + ] + + PreferenceBox.__init__(self, settings) + + @staticmethod + def _on_iconset_changed(*args): + app.interface.roster.update_icons() + + +class Server(PreferenceBox): + def __init__(self, *args): + + settings = [ + + Setting(SettingKind.USE_STUN_SERVER, + _('Use STUN Server'), + SettingType.DIALOG, + desc=_('Helps to establish calls through firewalls'), + props={'dialog': StunServerDialog}), + ] + + PreferenceBox.__init__(self, settings) + + self.set_sensitive(app.is_installed('AV')) + + +class StunServerDialog(SettingsDialog): + def __init__(self, account, parent): + + settings = [ + Setting(SettingKind.SWITCH, + _('Use STUN Server'), + SettingType.CONFIG, + 'use_stun_server'), + + Setting(SettingKind.ENTRY, + _('STUN Server'), + SettingType.CONFIG, + 'stun_server', + bind='use_stun_server') + ] + + SettingsDialog.__init__(self, parent, _('STUN Server Settings'), + Gtk.DialogFlags.MODAL, settings, account) + + +class Audio(PreferenceBox): + def __init__(self, *args): + + deps_installed = app.is_installed('AV') + + audio_input_devices = {} + audio_output_devices = {} + if deps_installed: + audio_input_devices = AudioInputManager().get_devices() + audio_output_devices = AudioOutputManager().get_devices() + + audio_input_items = self._create_av_combo_items(audio_input_devices) + audio_output_items = self._create_av_combo_items(audio_output_devices) + + settings = [ + Setting(SettingKind.POPOVER, + _('Audio Input Device'), + SettingType.CONFIG, + 'audio_input_device', + desc=_('Select your audio input (e.g. microphone)'), + props={'entries': audio_input_items}), + + Setting(SettingKind.POPOVER, + _('Audio Output Device'), + SettingType.CONFIG, + 'audio_output_device', + desc=_('Select an audio output (e.g. speakers, ' + 'headphones)'), + props={'entries': audio_output_items}), + ] + + PreferenceBox.__init__(self, settings) + + self.set_sensitive(deps_installed) + + @staticmethod + def _create_av_combo_items(items_dict): + items = enumerate(sorted( + items_dict.items(), + key=lambda x: '' if x[1].startswith('auto') else x[0].lower())) + combo_items = {} + for _index, (name, value) in items: + combo_items[value] = name + return combo_items + + +class Video(PreferenceBox): + def __init__(self, *args): + + deps_installed = app.is_installed('AV') + + video_input_devices = {} + if deps_installed: + video_input_devices = VideoInputManager().get_devices() + + video_input_items = self._create_av_combo_items(video_input_devices) + + video_framerates = { + '': _('Default'), + '15/1': '15 fps', + '10/1': '10 fps', + '5/1': '5 fps', + '5/2': '2.5 fps', + } + + video_sizes = { + '': _('Default'), + '800x600': '800x600', + '640x480': '640x480', + '320x240': '320x240', + } + + settings = [ + Setting(SettingKind.POPOVER, + _('Video Input Device'), + SettingType.CONFIG, + 'video_input_device', + props={'entries': video_input_items}, + desc=_('Select your video input device (e.g. webcam, ' + 'screen capture)'), + callback=self._on_video_input_changed), + + Setting(SettingKind.POPOVER, + _('Video Framerate'), + SettingType.CONFIG, + 'video_framerate', + props={'entries': video_framerates}), + + Setting(SettingKind.POPOVER, + _('Video Resolution'), + SettingType.CONFIG, + 'video_size', + props={'entries': video_sizes}), + + Setting(SettingKind.SWITCH, + _('Show My Video Stream'), + SettingType.CONFIG, + 'video_see_self', + desc=_('Show your own video stream in calls')), + + Setting(SettingKind.SWITCH, + _('Live Preview'), + SettingType.VALUE, + desc=_('Show a live preview to test your video source'), + callback=self._toggle_live_preview), + ] + + PreferenceBox.__init__(self, settings) + + self.set_sensitive(deps_installed) + + @staticmethod + def _on_video_input_changed(value, *args): + preview = get_app_window('Preferences').get_video_preview() + if preview is None or not preview.is_active: + # changed signal gets triggered when we fill the combobox + return + preview.refresh() + + @staticmethod + def _toggle_live_preview(value, *args): + preview = get_app_window('Preferences').get_video_preview() + preview.toggle_preview(value) + + @staticmethod + def _create_av_combo_items(items_dict): + items = enumerate(sorted( + items_dict.items(), + key=lambda x: '' if x[1].startswith('auto') else x[0].lower())) + combo_items = {} + for _index, (name, value) in items: + combo_items[value] = name + return combo_items + + +class Miscellaneous(PreferenceBox): + def __init__(self, pref_window): + self._hints_list = [ + 'start_chat', + ] + + settings = [ + Setting(SettingKind.POPOVER, + _('Global Proxy'), + SettingType.CONFIG, + 'global_proxy', + name='global_proxy', + props={'entries': self._get_proxies(), + 'default-text': _('System'), + 'button-icon-name': 'preferences-system-symbolic', + 'button-callback': self._on_proxy_edit}), + + Setting(SettingKind.SWITCH, + _('Use System Keyring'), + SettingType.CONFIG, + 'use_keyring', + desc=_('Use your system’s keyring to store passwords')), + ] + + if sys.platform in ('win32', 'darwin'): + settings.append( + Setting(SettingKind.SWITCH, + _('Check For Updates'), + SettingType.CONFIG, + 'check_for_update', + desc=_('Check for Gajim updates periodically'))) + + PreferenceBox.__init__(self, settings) + + reset_button = pref_window.get_ui().reset_button + reset_button.connect('clicked', self._on_reset_hints) + reset_button.set_sensitive(self._check_hints_reset) + + @staticmethod + def _get_proxies(): + return {proxy: proxy for proxy in app.settings.get_proxies()} + + @staticmethod + def _on_proxy_edit(*args): + open_window('ManageProxies') + + def update_proxy_list(self): + self.get_setting('global_proxy').update_entries(self._get_proxies()) + + def _check_hints_reset(self): + for hint in self._hints_list: + if app.settings.get('show_help_%s' % hint) is False: + return True + return False + + def _on_reset_hints(self, button): + for hint in self._hints_list: + app.settings.set('show_help_%s' % hint, True) + button.set_sensitive(False) + + +class Advanced(PreferenceBox): + def __init__(self, pref_window): + + settings = [ + Setting(SettingKind.SWITCH, + _('Debug Logging'), + SettingType.VALUE, + app.get_debug_mode(), + props={'button-icon-name': 'folder-symbolic', + 'button-callback': self._on_open_debug_logs}, + callback=self._on_debug_logging), + ] + + PreferenceBox.__init__(self, settings) + + pref_window.get_ui().ace_button.connect( + 'clicked', self._on_advanced_config_editor) + + @staticmethod + def _on_debug_logging(value, *args): + app.set_debug_mode(value) + + @staticmethod + def _on_open_debug_logs(*args): + open_file(configpaths.get('DEBUG')) + + @staticmethod + def _on_advanced_config_editor(*args): + open_window('AdvancedConfig') diff --git a/gajim/gtk/profile.py b/gajim/gtk/profile.py new file mode 100644 index 0000000..0c339eb --- /dev/null +++ b/gajim/gtk/profile.py @@ -0,0 +1,355 @@ +import logging + +from gi.repository import Gio +from gi.repository import Gdk +from gi.repository import Gtk +from gi.repository import GLib + +from nbxmpp.errors import StanzaError +from nbxmpp.namespaces import Namespace +from nbxmpp.modules.vcard4 import VCard +from nbxmpp.modules.user_avatar import Avatar + +from gajim.common import app +from gajim.common.const import AvatarSize +from gajim.common.i18n import _ +from gajim.common.i18n import Q_ + +from gajim.gui.avatar import clip_circle +from gajim.gui.avatar_selector import AvatarSelector +from gajim.gui.dialogs import ErrorDialog +from gajim.gui.filechoosers import AvatarChooserDialog +from gajim.gui.util import get_builder +from gajim.gui.vcard_grid import VCardGrid +from gajim.gui.util import scroll_to_end + +log = logging.getLogger('gajim.gui.profile') + +MENU_DICT = { + 'fn': Q_('?profile:Full Name'), + 'bday': _('Birthday'), + 'gender': Q_('?profile:Gender'), + 'adr': Q_('?profile:Address'), + 'email': _('Email'), + 'impp': Q_('?profile:IM Address'), + 'tel': _('Phone No.'), + 'org': Q_('?profile:Organisation'), + 'title': Q_('?profile:Title'), + 'role': Q_('?profile:Role'), + 'url': _('URL'), + 'key': Q_('?profile:Public Encryption Key'), + 'note': Q_('?profile:Note'), +} + + +class ProfileWindow(Gtk.ApplicationWindow): + def __init__(self, account, *args): + Gtk.ApplicationWindow.__init__(self) + self.set_application(app.app) + self.set_position(Gtk.WindowPosition.CENTER) + self.set_show_menubar(False) + self.set_type_hint(Gdk.WindowTypeHint.DIALOG) + self.set_resizable(True) + self.set_default_size(700, 600) + self.set_name('ProfileWindow') + self.set_title(_('Profile')) + + self.account = account + self._jid = app.get_jid_from_account(account) + + self._ui = get_builder('profile.ui') + + menu = Gio.Menu() + for action, label in MENU_DICT.items(): + menu.append(label, 'win.add-' + action.lower()) + + self._ui.add_entry_button.set_menu_model(menu) + self._add_actions() + + self._avatar_selector = None + self._current_avatar = None + self._current_vcard = None + self._avatar_nick_public = None + + # False - no change to avatar + # None - we want to delete the avatar + # Avatar - upload new avatar + self._new_avatar = False + + self._ui.nickname_entry.set_text(app.nicks[account]) + + self._vcard_grid = VCardGrid(self.account) + self._ui.profile_box.add(self._vcard_grid) + + self.add(self._ui.profile_stack) + self.show_all() + + self._load_avatar() + + client = app.get_client(account) + client.get_module('VCard4').request_vcard( + callback=self._on_vcard_received) + + client.get_module('PubSub').get_access_model( + Namespace.VCARD4_PUBSUB, + callback=self._on_access_model_received, + user_data=Namespace.VCARD4_PUBSUB) + + client.get_module('PubSub').get_access_model( + Namespace.AVATAR_METADATA, + callback=self._on_access_model_received, + user_data=Namespace.AVATAR_METADATA) + + client.get_module('PubSub').get_access_model( + Namespace.AVATAR_DATA, + callback=self._on_access_model_received, + user_data=Namespace.AVATAR_DATA) + + client.get_module('PubSub').get_access_model( + Namespace.NICK, + callback=self._on_access_model_received, + user_data=Namespace.NICK) + + self._ui.connect_signals(self) + self.connect('key-press-event', self._on_key_press_event) + + def _on_access_model_received(self, task): + namespace = task.get_user_data() + + try: + result = task.finish() + except StanzaError as error: + log.warning('Unable to get access model for %s: %s', + namespace, error) + return + + access_model = result == 'open' + + if namespace == Namespace.VCARD4_PUBSUB: + self._set_vcard_access_switch(access_model) + else: + if self._avatar_nick_public is None: + self._avatar_nick_public = access_model + else: + self._avatar_nick_public = (self._avatar_nick_public or + access_model) + self._set_avatar_nick_access_switch(self._avatar_nick_public) + + def _on_vcard_received(self, task): + try: + self._current_vcard = task.finish() + except StanzaError as error: + log.info('Error loading VCard: %s', error) + self._current_vcard = VCard() + + if self._current_vcard is None: + self._current_vcard = VCard() + + self._load_avatar() + self._vcard_grid.set_vcard(self._current_vcard.copy()) + self._ui.profile_stack.set_visible_child_name('profile') + self._ui.spinner.stop() + + def _load_avatar(self): + scale = self.get_scale_factor() + self._current_avatar = app.contacts.get_avatar( + self.account, + self._jid, + AvatarSize.VCARD, + scale) + + self._ui.avatar_image.set_from_surface(self._current_avatar) + self._ui.avatar_image.show() + + def _on_key_press_event(self, _widget, event): + if event.keyval == Gdk.KEY_Escape: + self.destroy() + + def _add_actions(self): + for action in MENU_DICT: + action_name = 'add-' + action.lower() + act = Gio.SimpleAction.new(action_name, None) + act.connect('activate', self._on_action) + self.add_action(act) + + def _on_action(self, action, _param): + name = action.get_name() + key = name.split('-')[1] + self._vcard_grid.add_new_property(key) + GLib.idle_add(scroll_to_end, self._ui.scrolled) + + def _on_edit_clicked(self, *args): + self._vcard_grid.set_editable(True) + self._ui.edit_button.hide() + self._ui.add_entry_button.set_no_show_all(False) + self._ui.add_entry_button.show_all() + self._ui.cancel_button.show() + self._ui.save_button.show() + self._ui.remove_avatar_button.show() + self._ui.edit_avatar_button.show() + self._ui.nickname_entry.set_sensitive(True) + self._ui.privacy_button.show() + + def _on_cancel_clicked(self, _widget): + self._vcard_grid.set_editable(False) + self._ui.edit_button.show() + self._ui.add_entry_button.hide() + self._ui.cancel_button.hide() + self._ui.save_button.hide() + self._ui.remove_avatar_button.hide() + self._ui.edit_avatar_button.hide() + self._ui.privacy_button.hide() + self._ui.nickname_entry.set_sensitive(False) + self._ui.avatar_image.set_from_surface(self._current_avatar) + self._ui.nickname_entry.set_text(app.nicks[self.account]) + self._vcard_grid.set_vcard(self._current_vcard.copy()) + self._new_avatar = False + + def _on_save_clicked(self, _widget): + self._ui.spinner.start() + self._ui.profile_stack.set_visible_child_name('spinner') + self._ui.add_entry_button.hide() + self._ui.cancel_button.hide() + self._ui.save_button.hide() + self._ui.edit_button.show() + self._ui.remove_avatar_button.hide() + self._ui.edit_avatar_button.hide() + self._ui.privacy_button.hide() + self._ui.nickname_entry.set_sensitive(False) + + self._vcard_grid.validate() + self._vcard_grid.sort() + + vcard = self._vcard_grid.get_vcard() + self._current_vcard = vcard.copy() + + con = app.connections[self.account] + con.get_module('VCard4').set_vcard( + self._current_vcard, + public=self._ui.vcard_access.get_active(), + callback=self._on_save_finished) + + public = self._ui.avatar_nick_access.get_active() + + if self._new_avatar is False: + if self._avatar_nick_public != public: + con.get_module('UserAvatar').set_access_model(public) + + else: + # Only update avatar if it changed + con.get_module('UserAvatar').set_avatar( + self._new_avatar, + public=public, + callback=self._on_set_avatar) + + nick = GLib.markup_escape_text(self._ui.nickname_entry.get_text()) + con.get_module('UserNickname').set_nickname(nick, public=public) + + if not nick: + nick = app.settings.get_account_setting( + self.account, 'name') + app.nicks[self.account] = nick + + def _on_set_avatar(self, task): + try: + task.finish() + except StanzaError as error: + if self._new_avatar is None: + # Trying to remove the avatar but the node does not exist + if error.condition == 'item-not-found': + return + + title = _('Error while uploading avatar') + text = error.get_text() + + if (error.condition == 'not-acceptable' and + error.app_condition == 'payload-too-big'): + text = _('Avatar file size too big') + + ErrorDialog(title, text) + + self._ui.avatar_image.set_from_surface(self._current_avatar) + self._new_avatar = False + return + + def _on_remove_avatar(self, _button): + contact = app.contacts.create_contact(self._jid, self.account) + scale = self.get_scale_factor() + surface = app.interface.avatar_storage.get_surface( + contact, AvatarSize.VCARD, scale, default=True) + + self._ui.avatar_image.set_from_surface(surface) + self._ui.remove_avatar_button.hide() + self._new_avatar = None + + def _on_edit_avatar(self, button): + def _on_file_selected(path): + if self._avatar_selector is None: + self._avatar_selector = AvatarSelector() + self._ui.avatar_selector_box.add(self._avatar_selector) + + self._avatar_selector.prepare_crop_area(path) + self._ui.avatar_update_button.set_sensitive( + self._avatar_selector.get_prepared()) + self._ui.profile_stack.set_visible_child_name('avatar_selector') + + AvatarChooserDialog(_on_file_selected, + transient_for=button.get_toplevel()) + + def _on_cancel_update_avatar(self, _button): + self._ui.profile_stack.set_visible_child_name('profile') + + def _on_update_avatar(self, _button): + success, data, width, height = self._avatar_selector.get_avatar_bytes() + if not success: + self._ui.profile_stack.set_visible_child_name('profile') + ErrorDialog(_('Error while processing image'), + _('Failed to generate avatar.')) + return + + sha = app.interface.avatar_storage.save_avatar(data) + if sha is None: + self._ui.profile_stack.set_visible_child_name('profile') + ErrorDialog(_('Error while processing image'), + _('Failed to generate avatar.')) + return + + self._new_avatar = Avatar() + self._new_avatar.add_image_source(data, 'image/png', height, width) + + scale = self.get_scale_factor() + surface = app.interface.avatar_storage.surface_from_filename( + sha, AvatarSize.VCARD, scale) + + self._ui.avatar_image.set_from_surface(clip_circle(surface)) + self._ui.remove_avatar_button.show() + self._ui.profile_stack.set_visible_child_name('profile') + + def _set_vcard_access_switch(self, state): + self._ui.vcard_access.set_active(state) + self._ui.vcard_access_label.set_text( + _('Everyone') if state else _('Contacts')) + + def _set_avatar_nick_access_switch(self, state): + self._ui.avatar_nick_access.set_active(state) + self._ui.avatar_nick_access_label.set_text( + _('Everyone') if state else _('Contacts')) + + def _access_switch_toggled(self, *args): + state = self._ui.vcard_access.get_active() + self._set_vcard_access_switch(state) + + state = self._ui.avatar_nick_access.get_active() + self._set_avatar_nick_access_switch(state) + + def _on_save_finished(self, task): + try: + task.finish() + except StanzaError as err: + log.error('Could not publish VCard: %s', err) + # TODO Handle error + return + + self._vcard_grid.set_editable(False) + self._ui.profile_stack.set_visible_child_name('profile') + self._ui.spinner.stop() diff --git a/gajim/gtk/proxies.py b/gajim/gtk/proxies.py new file mode 100644 index 0000000..fa17b30 --- /dev/null +++ b/gajim/gtk/proxies.py @@ -0,0 +1,228 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from gi.repository import Gdk +from gi.repository import Gtk + +from gajim.common import app +from gajim.common.i18n import _ + +from .util import get_builder +from .util import get_app_window + + +class ManageProxies(Gtk.ApplicationWindow): + def __init__(self): + Gtk.ApplicationWindow.__init__(self) + self.set_name('ManageProxies') + self.set_application(app.app) + self.set_position(Gtk.WindowPosition.CENTER) + self.set_default_size(500, -1) + self.set_show_menubar(False) + self.set_title(_('Manage Proxies')) + self.set_type_hint(Gdk.WindowTypeHint.DIALOG) + self.set_modal(True) + + self._ui = get_builder('manage_proxies.ui') + self.add(self._ui.box) + + self._init_list() + self._block_signal = False + + self.connect_after('key-press-event', self._on_key_press) + self.connect('destroy', self._on_destroy) + self._ui.connect_signals(self) + self.show_all() + + def _on_key_press(self, _widget, event): + if event.keyval == Gdk.KEY_Escape: + self.destroy() + + @staticmethod + def _on_destroy(*args): + # Window callbacks for updating proxy comboboxes + window_pref = get_app_window('Preferences') + window_accounts = get_app_window('AccountsWindow') + window_account_wizard = get_app_window('AccountWizard') + if window_pref is not None: + window_pref.update_proxy_list() + if window_accounts is not None: + window_accounts.update_proxy_list() + if window_account_wizard is not None: + window_account_wizard.update_proxy_list() + + def _fill_proxies_treeview(self): + model = self._ui.proxies_treeview.get_model() + model.clear() + for proxy in app.settings.get_proxies(): + iter_ = model.append() + model.set(iter_, 0, proxy) + + def _init_list(self): + self._ui.remove_proxy_button.set_sensitive(False) + self._ui.settings_grid.set_sensitive(False) + model = Gtk.ListStore(str) + self._ui.proxies_treeview.set_model(model) + col = Gtk.TreeViewColumn('Proxies') + self._ui.proxies_treeview.append_column(col) + renderer = Gtk.CellRendererText() + col.pack_start(renderer, True) + col.add_attribute(renderer, 'text', 0) + self._fill_proxies_treeview() + self._ui.proxytype_combobox.set_active(0) + + def _on_add_proxy_button_clicked(self, _widget): + model = self._ui.proxies_treeview.get_model() + proxies = app.settings.get_proxies() + i = 1 + while 'proxy' + str(i) in proxies: + i += 1 + + proxy_name = 'proxy' + str(i) + app.settings.add_proxy(proxy_name) + iter_ = model.append() + model.set(iter_, 0, proxy_name) + self._ui.proxies_treeview.set_cursor(model.get_path(iter_)) + + def _on_remove_proxy_button_clicked(self, _widget): + sel = self._ui.proxies_treeview.get_selection() + if not sel: + return + (model, iter_) = sel.get_selected() + if not iter_: + return + proxy = model[iter_][0] + model.remove(iter_) + app.settings.remove_proxy(proxy) + self._ui.remove_proxy_button.set_sensitive(False) + self._block_signal = True + self._on_proxies_treeview_cursor_changed(self._ui.proxies_treeview) + self._block_signal = False + + def _on_useauth_toggled(self, widget): + if self._block_signal: + return + act = widget.get_active() + proxy = self._ui.proxyname_entry.get_text() + app.settings.set_proxy_setting(proxy, 'useauth', act) + self._ui.proxyuser_entry.set_sensitive(act) + self._ui.proxypass_entry.set_sensitive(act) + + def _on_proxies_treeview_cursor_changed(self, widget): + self._block_signal = True + self._ui.proxyhost_entry.set_text('') + self._ui.proxyport_entry.set_text('') + self._ui.proxyuser_entry.set_text('') + self._ui.proxypass_entry.set_text('') + + sel = widget.get_selection() + if sel: + (model, iter_) = sel.get_selected() + else: + iter_ = None + if not iter_: + self._ui.proxyname_entry.set_text('') + self._ui.settings_grid.set_sensitive(False) + self._block_signal = False + return + + proxy = model[iter_][0] + self._ui.proxyname_entry.set_text(proxy) + + self._ui.remove_proxy_button.set_sensitive(True) + self._ui.proxyname_entry.set_editable(True) + + self._ui.settings_grid.set_sensitive(True) + + settings = app.settings.get_proxy_settings(proxy) + + self._ui.proxyhost_entry.set_text(settings['host']) + self._ui.proxyport_entry.set_text(str(settings['port'])) + self._ui.proxyuser_entry.set_text(settings['user']) + self._ui.proxypass_entry.set_text(settings['pass']) + + types = ['http', 'socks5'] + self._ui.proxytype_combobox.set_active(types.index(settings['type'])) + + self._ui.useauth_checkbutton.set_active(settings['useauth']) + act = self._ui.useauth_checkbutton.get_active() + self._ui.proxyuser_entry.set_sensitive(act) + self._ui.proxypass_entry.set_sensitive(act) + + self._block_signal = False + + def _on_proxies_treeview_key_press_event(self, widget, event): + if event.keyval == Gdk.KEY_Delete: + self._on_remove_proxy_button_clicked(widget) + + def _on_proxyname_entry_changed(self, widget): + if self._block_signal: + return + sel = self._ui.proxies_treeview.get_selection() + if not sel: + return + (model, iter_) = sel.get_selected() + if not iter_: + return + old_name = model.get_value(iter_, 0) + new_name = widget.get_text() + if new_name == '': + return + if new_name == old_name: + return + + app.settings.rename_proxy(old_name, new_name) + model.set_value(iter_, 0, new_name) + + def _on_proxytype_combobox_changed(self, _widget): + if self._block_signal: + return + types = ['http', 'socks5'] + type_ = self._ui.proxytype_combobox.get_active() + self._ui.proxyhost_entry.set_sensitive(True) + self._ui.proxyport_entry.set_sensitive(True) + proxy = self._ui.proxyname_entry.get_text() + app.settings.set_proxy_setting(proxy, 'type', types[type_]) + + def _on_proxyhost_entry_changed(self, entry): + if self._block_signal: + return + value = entry.get_text() + proxy = self._ui.proxyname_entry.get_text() + app.settings.set_proxy_setting(proxy, 'host', value) + + def _on_proxyport_entry_changed(self, entry): + if self._block_signal: + return + value = entry.get_text() + try: + value = int(value) + except Exception: + value = 0 + proxy = self._ui.proxyname_entry.get_text() + app.settings.set_proxy_setting(proxy, 'port', value) + + def _on_proxyuser_entry_changed(self, entry): + if self._block_signal: + return + value = entry.get_text() + proxy = self._ui.proxyname_entry.get_text() + app.settings.set_proxy_setting(proxy, 'user', value) + + def _on_proxypass_entry_changed(self, entry): + if self._block_signal: + return + value = entry.get_text() + proxy = self._ui.proxyname_entry.get_text() + app.settings.set_proxy_setting(proxy, 'pass', value) diff --git a/gajim/gtk/remove_account.py b/gajim/gtk/remove_account.py new file mode 100644 index 0000000..7503526 --- /dev/null +++ b/gajim/gtk/remove_account.py @@ -0,0 +1,213 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import logging + +from gi.repository import Gtk + +from nbxmpp.errors import StanzaError + +from gajim.common import app +from gajim.common import ged +from gajim.common.i18n import _ +from gajim.common.helpers import to_user_string +from gajim.common.helpers import event_filter + +from .assistant import Assistant +from .assistant import Page +from .assistant import ErrorPage +from .assistant import SuccessPage + +log = logging.getLogger('gajim.gui.remove_account') + + +class RemoveAccount(Assistant): + def __init__(self, account): + Assistant.__init__(self) + + self.account = account + + try: + self._client = app.get_client(account) + except KeyError: + self._client = None + + self._destroyed = False + self._account_removed = False + + self.add_button('remove', _('Remove'), 'destructive-action') + self.add_button('close', _('Close')) + self.add_button('back', _('Back')) + + self.add_pages({'remove_choice': RemoveChoice(account), + 'error': Error(), + 'success': Success()}) + + progress = self.add_default_page('progress') + progress.set_title(_('Removing Account...')) + progress.set_text(_('Trying to remove account...')) + + self.connect('button-clicked', self._on_button_clicked) + self.connect('destroy', self._on_destroy) + + self.register_events([ + ('account-connected', ged.GUI1, self._on_account_connected), + ('account-disconnected', ged.GUI1, self._on_account_disconnected), + ]) + + self._set_remove_from_server_checkbox() + + self.show_all() + + @event_filter(['account']) + def _on_account_connected(self, _event): + self._client = app.get_client(self.account) + self._set_remove_from_server_checkbox() + + @event_filter(['account']) + def _on_account_disconnected(self, _event): + self._set_remove_from_server_checkbox() + + if self._account_removed: + self.show_page('success') + app.interface.remove_account(self.account) + + def _set_remove_from_server_checkbox(self): + enabled = self._client is not None and self._client.state.is_available + self.get_page('remove_choice').set_remove_from_server(enabled) + + def _on_button_clicked(self, _assistant, button_name): + page = self.get_current_page() + if button_name == 'remove': + if page == 'remove_choice': + self.show_page('progress', Gtk.StackTransitionType.SLIDE_LEFT) + self._on_remove() + return + + if button_name == 'back': + if page == 'error': + self.show_page('remove_choice', + Gtk.StackTransitionType.SLIDE_RIGHT) + return + + if button_name == 'close': + self.destroy() + + def _on_remove(self, *args): + if self.get_page('remove_choice').remove_from_server: + self._client.set_remove_account(True) + self._client.get_module('Register').unregister( + callback=self._on_remove_response) + return + + if self._client is None or self._client.state.is_disconnected: + app.interface.remove_account(self.account) + self.show_page('success') + return + + self._client.disconnect(gracefully=True, reconnect=False) + self._account_removed = True + + def _on_remove_response(self, task): + try: + task.finish() + except StanzaError as error: + self._client.set_remove_account(False) + + error_text = to_user_string(error) + self.get_page('error').set_text(error_text) + self.show_page('error') + return + + self._account_removed = True + + def _on_destroy(self, *args): + self._destroyed = True + + +class RemoveChoice(Page): + def __init__(self, account): + Page.__init__(self) + self.title = _('Remove Account') + + heading = Gtk.Label(label=_('Remove Account')) + heading.get_style_context().add_class('large-header') + heading.set_max_width_chars(30) + heading.set_line_wrap(True) + heading.set_halign(Gtk.Align.CENTER) + heading.set_justify(Gtk.Justification.CENTER) + + label = Gtk.Label(label=_('This will remove your account from Gajim.')) + label.set_max_width_chars(50) + label.set_line_wrap(True) + label.set_halign(Gtk.Align.CENTER) + label.set_justify(Gtk.Justification.CENTER) + + service = app.settings.get_account_setting(account, 'hostname') + check_label = Gtk.Label() + check_label.set_markup( + _('Do you want to unregister your account on %s as ' + 'well?') % service) + check_label.set_max_width_chars(50) + check_label.set_line_wrap(True) + check_label.set_halign(Gtk.Align.CENTER) + check_label.set_justify(Gtk.Justification.CENTER) + check_label.set_margin_top(40) + + self._server = Gtk.CheckButton.new_with_mnemonic( + _('_Unregister account from service')) + self._server.set_halign(Gtk.Align.CENTER) + + self.pack_start(heading, False, True, 0) + self.pack_start(label, False, True, 0) + self.pack_start(check_label, False, True, 0) + self.pack_start(self._server, False, True, 0) + self.show_all() + + @property + def remove_from_server(self): + return self._server.get_active() + + def set_remove_from_server(self, enabled): + self._server.set_sensitive(enabled) + if enabled: + self._server.set_tooltip_text('') + else: + self._server.set_active(False) + self._server.set_tooltip_text(_('Account has to be connected')) + + def get_visible_buttons(self): + return ['remove'] + + +class Error(ErrorPage): + def __init__(self): + ErrorPage.__init__(self) + self.set_title(_('Account Removal Failed')) + self.set_heading(_('Account Removal Failed')) + + def get_visible_buttons(self): + return ['back'] + + +class Success(SuccessPage): + def __init__(self): + SuccessPage.__init__(self) + self.set_title(_('Account Removed')) + self.set_heading(_('Account Removed')) + self.set_text( + _('Your account has has been removed successfully.')) + + def get_visible_buttons(self): + return ['close'] diff --git a/gajim/gtk/roster_item_exchange.py b/gajim/gtk/roster_item_exchange.py new file mode 100644 index 0000000..270e103 --- /dev/null +++ b/gajim/gtk/roster_item_exchange.py @@ -0,0 +1,259 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from gi.repository import Gtk + +from gajim.common import app +from gajim.common import i18n +from gajim.common.i18n import _ + +from .dialogs import InformationDialog +from .util import get_builder + + +class RosterItemExchangeWindow(Gtk.ApplicationWindow): + """ + Used when someone sends a Roster Item Exchange suggestion (XEP-0144) + """ + def __init__(self, account, action, exchange_list, jid_from, + message_body=None): + Gtk.ApplicationWindow.__init__(self) + self.set_application(app.app) + self.set_position(Gtk.WindowPosition.CENTER) + self.set_show_menubar(False) + self.set_title(_('Contact List Exchange')) + self.set_name('RosterItemExchangeWindow') + + self.account = account + self.action = action + self.exchange_list = exchange_list + self.message_body = message_body + self.jid_from = jid_from + + self._ui = get_builder('roster_item_exchange_window.ui') + self.add(self._ui.roster_item_exchange) + + # Set label depending on action + if action == 'add': + type_label = _('%s would like to add some ' + 'contacts to your contact list.') % self.jid_from + elif action == 'modify': + type_label = _('%s would like to modify some ' + 'contacts in your contact list.') % self.jid_from + elif action == 'delete': + type_label = _('%s would like to delete some ' + 'contacts from your contact list.') % self.jid_from + self._ui.type_label.set_markup(type_label) + if message_body: + buffer_ = self._ui.body_textview.get_buffer() + buffer_.set_text(self.message_body) + else: + self._ui.body_scrolledwindow.hide() + # Treeview + model = Gtk.ListStore(bool, str, str, str, str) + self._ui.items_list_treeview.set_model(model) + # Columns + renderer1 = Gtk.CellRendererToggle() + renderer1.set_property('activatable', True) + renderer1.connect('toggled', self._toggled) + if self.action == 'add': + title = _('Add') + elif self.action == 'modify': + title = _('Modify') + elif self.action == 'delete': + title = _('Delete') + self._ui.items_list_treeview.insert_column_with_attributes( + -1, title, renderer1, active=0) + renderer2 = Gtk.CellRendererText() + self._ui.items_list_treeview.insert_column_with_attributes( + -1, _('JID'), renderer2, text=1) + renderer3 = Gtk.CellRendererText() + self._ui.items_list_treeview.insert_column_with_attributes( + -1, _('Name'), renderer3, text=2) + renderer4 = Gtk.CellRendererText() + self._ui.items_list_treeview.insert_column_with_attributes( + -1, _('Groups'), renderer4, text=3) + + # Init contacts + self.model = self._ui.items_list_treeview.get_model() + self.model.clear() + + if action == 'add': + self._add() + elif action == 'modify': + self._modify() + elif action == 'delete': + self._delete() + + self._ui.connect_signals(self) + + def _toggled(self, cell, path): + model = self._ui.items_list_treeview.get_model() + iter_ = model.get_iter(path) + model[iter_][0] = not cell.get_active() + + def _add(self): + for jid in self.exchange_list: + groups = '' + is_in_roster = True + contact = app.contacts.get_contact_with_highest_priority( + self.account, jid) + if not contact or _('Not in contact list') in contact.groups: + is_in_roster = False + name = self.exchange_list[jid][0] + num_list = len(self.exchange_list[jid][1]) + current = 0 + for group in self.exchange_list[jid][1]: + current += 1 + if contact and group not in contact.groups: + is_in_roster = False + if current == num_list: + groups = groups + group + else: + groups = groups + group + ', ' + if not is_in_roster: + self.show_all() + iter_ = self.model.append() + self.model.set(iter_, 0, True, 1, jid, 2, name, 3, groups) + + self._ui.accept_button.set_label(_('Add')) + + def _modify(self): + for jid in self.exchange_list: + groups = '' + is_in_roster = True + is_right = True + contact = app.contacts.get_contact_with_highest_priority( + self.account, jid) + name = self.exchange_list[jid][0] + if not contact: + is_in_roster = False + is_right = False + else: + if name != contact.name: + is_right = False + num_list = len(self.exchange_list[jid][1]) + current = 0 + for group in self.exchange_list[jid][1]: + current += 1 + if contact and group not in contact.groups: + is_right = False + if current == num_list: + groups = groups + group + else: + groups = groups + group + ', ' + if not is_right and is_in_roster: + self.show_all() + iter_ = self.model.append() + self.model.set(iter_, 0, True, 1, jid, 2, name, 3, groups) + + self._ui.accept_button.set_label(_('Modify')) + + def _delete(self): + for jid in self.exchange_list: + groups = '' + is_in_roster = True + contact = app.contacts.get_contact_with_highest_priority( + self.account, jid) + name = self.exchange_list[jid][0] + if not contact: + is_in_roster = False + num_list = len(self.exchange_list[jid][1]) + current = 0 + for group in self.exchange_list[jid][1]: + current += 1 + if current == num_list: + groups = groups + group + else: + groups = groups + group + ', ' + if is_in_roster: + self.show_all() + iter_ = self.model.append() + self.model.set(iter_, 0, True, 1, jid, 2, name, 3, groups) + + self._ui.accept_button.set_label(_('Delete')) + + def _on_accept_button_clicked(self, _widget): + model = self._ui.items_list_treeview.get_model() + iter_ = model.get_iter_first() + if self.action == 'add': + count = 0 + while iter_: + if model[iter_][0]: + count += 1 + # It is selected + message = _('%s suggested me to add you to my ' + 'contact list.') % self.jid_from + # Keep same groups and same nickname + groups = model[iter_][3].split(', ') + if groups == ['']: + groups = [] + jid = model[iter_][1] + if app.jid_is_transport(self.jid_from): + con = app.connections[self.account] + con.get_module('Presence').automatically_added.append( + jid) + app.interface.roster.req_sub( + self, jid, message, self.account, groups=groups, + nickname=model[iter_][2], auto_auth=True) + iter_ = model.iter_next(iter_) + InformationDialog(i18n.ngettext('Added %d contact', + 'Added %d contacts', + count, count, count)) + elif self.action == 'modify': + count = 0 + while iter_: + if model[iter_][0]: + count += 1 + # It is selected + jid = model[iter_][1] + # Keep same groups and same nickname + groups = model[iter_][3].split(', ') + if groups == ['']: + groups = [] + for contact in app.contacts.get_contact(self.account, jid): + contact.name = model[iter_][2] + con = app.connections[self.account] + con.get_module('Roster').update_contact( + jid, model[iter_][2], groups) + con.get_module('Roster').draw_contact(jid, self.account) + # Update opened chats + ctrl = app.interface.msg_win_mgr.get_control(jid, + self.account) + if ctrl: + ctrl.update_ui() + win = app.interface.msg_win_mgr.get_window(jid, + self.account) + win.redraw_tab(ctrl) + win.show_title() + iter_ = model.iter_next(iter_) + elif self.action == 'delete': + count = 0 + while iter_: + if model[iter_][0]: + count += 1 + # It is selected + jid = model[iter_][1] + app.connections[self.account].get_module( + 'Presence').unsubscribe(jid) + app.interface.roster.remove_contact(jid, self.account) + app.contacts.remove_jid(self.account, jid) + iter_ = model.iter_next(iter_) + InformationDialog(i18n.ngettext('Removed %d contact', + 'Removed %d contacts', + count, count, count)) + self.destroy() + + def _on_cancel_button_clicked(self, _widget): + self.destroy() diff --git a/gajim/gtk/search.py b/gajim/gtk/search.py new file mode 100644 index 0000000..5442cec --- /dev/null +++ b/gajim/gtk/search.py @@ -0,0 +1,357 @@ +# Copyright (C) 2019 Philipp Hörist +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import logging +import itertools +from enum import IntEnum + +from gi.repository import Gtk + +from nbxmpp.modules import dataforms + +from gajim.common import app +from gajim.common import ged +from gajim.common.i18n import _ + +from gajim.gui_menu_builder import SearchMenu + +from .dataform import DataFormWidget +from .util import ensure_not_destroyed +from .util import find_widget +from .util import EventHelper + +log = logging.getLogger('gajim.gui.search') + + +class Page(IntEnum): + REQUEST_FORM = 0 + FORM = 1 + REQUEST_RESULT = 2 + COMPLETED = 3 + ERROR = 4 + + +class Search(Gtk.Assistant, EventHelper): + def __init__(self, account, jid, transient_for=None): + Gtk.Assistant.__init__(self) + EventHelper.__init__(self) + + self._con = app.connections[account] + self._account = account + self._jid = jid + self._destroyed = False + + self.set_application(app.app) + self.set_resizable(True) + self.set_position(Gtk.WindowPosition.CENTER) + if transient_for is not None: + self.set_transient_for(transient_for) + + self.set_size_request(500, 400) + self.get_style_context().add_class('dialog-margin') + + self._add_page(RequestForm()) + self._add_page(Form()) + self._add_page(RequestResult()) + self._add_page(Completed()) + self._add_page(Error()) + + self.connect('prepare', self._on_page_change) + self.connect('cancel', self._on_cancel) + self.connect('close', self._on_cancel) + self.connect('destroy', self._on_destroy) + + self._remove_sidebar() + + self._buttons = {} + self._add_custom_buttons() + + self.show() + self.register_events([ + ('search-form-received', ged.GUI1, self._search_form_received), + ('search-result-received', ged.GUI1, self._search_result_received), + ]) + + self._request_search_fields() + + def _add_custom_buttons(self): + action_area = find_widget('action_area', self) + for button in list(action_area.get_children()): + self.remove_action_widget(button) + + search = Gtk.Button(label=_('Search')) + search.connect('clicked', self._execute_search) + search.get_style_context().add_class('suggested-action') + self._buttons['search'] = search + self.add_action_widget(search) + + new_search = Gtk.Button(label=_('New Search')) + new_search.get_style_context().add_class('suggested-action') + new_search.connect('clicked', + lambda *args: self.set_current_page(Page.FORM)) + self._buttons['new-search'] = new_search + self.add_action_widget(new_search) + + def _set_button_visibility(self, page): + for button in self._buttons.values(): + button.hide() + + if page == Page.FORM: + self._buttons['search'].show() + + elif page in (Page.ERROR, Page.COMPLETED): + self._buttons['new-search'].show() + + def _add_page(self, page): + self.append_page(page) + self.set_page_type(page, page.type_) + self.set_page_title(page, page.title) + self.set_page_complete(page, page.complete) + + def set_stage_complete(self, is_valid): + self._buttons['search'].set_sensitive(is_valid) + + def _request_search_fields(self): + self._con.get_module('Search').request_search_fields(self._jid) + + def _execute_search(self, *args): + self.set_current_page(Page.REQUEST_RESULT) + form = self.get_nth_page(Page.FORM).get_submit_form() + self._con.get_module('Search').send_search_form(self._jid, form, True) + + @ensure_not_destroyed + def _search_form_received(self, event): + if not event.is_dataform: + self.set_current_page(Page.ERROR) + return + + self.get_nth_page(Page.FORM).process_search_form(event.data) + self.set_current_page(Page.FORM) + + @ensure_not_destroyed + def _search_result_received(self, event): + if event.data is None: + self._on_error('') + return + self.get_nth_page(Page.COMPLETED).process_result(event.data) + self.set_current_page(Page.COMPLETED) + + def _remove_sidebar(self): + main_box = self.get_children()[0] + sidebar = main_box.get_children()[0] + main_box.remove(sidebar) + + def _on_page_change(self, _assistant, _page): + self._set_button_visibility(self.get_current_page()) + + def _on_error(self, error_text): + log.info('Show Error page') + page = self.get_nth_page(Page.ERROR) + page.set_text(error_text) + self.set_current_page(Page.ERROR) + + def _on_cancel(self, _widget): + self.destroy() + + def _on_destroy(self, *args): + self._destroyed = True + + +class RequestForm(Gtk.Box): + + type_ = Gtk.AssistantPageType.CUSTOM + title = _('Request Search Form') + complete = False + + def __init__(self): + super().__init__(orientation=Gtk.Orientation.VERTICAL) + self.set_spacing(18) + spinner = Gtk.Spinner() + self.pack_start(spinner, True, True, 0) + spinner.start() + self.show_all() + + +class Form(Gtk.Box): + + type_ = Gtk.AssistantPageType.CUSTOM + title = _('Search') + complete = True + + def __init__(self): + super().__init__(orientation=Gtk.Orientation.VERTICAL) + self.set_spacing(18) + self._dataform_widget = None + self.show_all() + + @property + def search_form(self): + return self._dataform_widget.get_submit_form() + + def clear(self): + self._show_form(None) + + def process_search_form(self, form): + self._show_form(form) + + def _show_form(self, form): + if self._dataform_widget is not None: + self.remove(self._dataform_widget) + self._dataform_widget.destroy() + if form is None: + return + + options = {'form-width': 350} + + form = dataforms.extend_form(node=form) + self._dataform_widget = DataFormWidget(form, options=options) + self._dataform_widget.connect('is-valid', self._on_is_valid) + self._dataform_widget.validate() + self._dataform_widget.show_all() + self.add(self._dataform_widget) + + def _on_is_valid(self, _widget, is_valid): + self.get_toplevel().set_stage_complete(is_valid) + + def get_submit_form(self): + return self._dataform_widget.get_submit_form() + + +class RequestResult(RequestForm): + + type_ = Gtk.AssistantPageType.CUSTOM + title = _('Search…') + complete = False + + +class Completed(Gtk.Box): + + type_ = Gtk.AssistantPageType.CUSTOM + title = _('Search Result') + complete = True + + def __init__(self): + super().__init__(orientation=Gtk.Orientation.VERTICAL) + self.set_spacing(12) + self.show_all() + self._label = Gtk.Label(label=_('No results found')) + self._label.get_style_context().add_class('bold16') + self._label.set_no_show_all(True) + self._label.set_halign(Gtk.Align.CENTER) + self._scrolled = Gtk.ScrolledWindow() + self._scrolled.get_style_context().add_class('search-scrolled') + self._scrolled.set_no_show_all(True) + self._treeview = None + self._menu = None + self.add(self._label) + self.add(self._scrolled) + self.show_all() + + def process_result(self, form): + if self._treeview is not None: + self._scrolled.remove(self._treeview) + self._treeview.destroy() + self._treeview = None + self._menu = None + self._label.hide() + self._scrolled.hide() + + if not form: + self._label.show() + return + + form = dataforms.extend_form(node=form) + + fieldtypes = [] + fieldvars = [] + for field in form.reported.iter_fields(): + if field.type_ == 'boolean': + fieldtypes.append(bool) + elif field.type_ in ('jid-single', 'text-single'): + fieldtypes.append(str) + else: + log.warning('Not supported field received: %s', field.type_) + continue + fieldvars.append(field.var) + + liststore = Gtk.ListStore(*fieldtypes) + + for item in form.iter_records(): + iter_ = liststore.append() + for field in item.iter_fields(): + if field.var in fieldvars: + liststore.set_value(iter_, + fieldvars.index(field.var), + field.value) + + self._treeview = Gtk.TreeView() + self._treeview.set_hexpand(True) + self._treeview.set_vexpand(True) + self._treeview.get_style_context().add_class('search-treeview') + self._treeview.connect('button-press-event', self._on_button_press) + self._menu = SearchMenu(self._treeview) + + for field, counter in zip(form.reported.iter_fields(), + itertools.count()): + self._treeview.append_column( + Gtk.TreeViewColumn(field.label, + Gtk.CellRendererText(), + text=counter)) + + self._treeview.set_model(liststore) + self._treeview.show() + self._scrolled.add(self._treeview) + self._scrolled.show() + + def _on_button_press(self, treeview, event): + if event.button != 3: + return + path, _column, _x, _y = treeview.get_path_at_pos(event.x, event.y) + if path is None: + return + store = treeview.get_model() + iter_ = store.get_iter(path) + column_values = store[iter_] + text = ' '.join(column_values) + self._menu.set_copy_text(text) + self._menu.popup_at_pointer() + + +class Error(Gtk.Box): + + type_ = Gtk.AssistantPageType.CUSTOM + title = _('Error') + complete = True + + def __init__(self): + super().__init__(orientation=Gtk.Orientation.VERTICAL) + self.set_spacing(12) + self.set_homogeneous(True) + + icon = Gtk.Image.new_from_icon_name('dialog-error-symbolic', + Gtk.IconSize.DIALOG) + icon.get_style_context().add_class('error-color') + icon.set_valign(Gtk.Align.END) + self._label = Gtk.Label() + self._label.get_style_context().add_class('bold16') + self._label.set_valign(Gtk.Align.START) + + self.add(icon) + self.add(self._label) + self.show_all() + + def set_text(self, text): + self._label.set_text(text) diff --git a/gajim/gtk/server_info.py b/gajim/gtk/server_info.py new file mode 100644 index 0000000..5a598f4 --- /dev/null +++ b/gajim/gtk/server_info.py @@ -0,0 +1,370 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import logging +from collections import namedtuple +from datetime import timedelta + +import nbxmpp +from nbxmpp.errors import StanzaError +from nbxmpp.namespaces import Namespace +from gi.repository import Gtk +from gi.repository import Gdk +from gi.repository import Pango + +from gajim.common import app +from gajim.common import ged +from gajim.common.helpers import open_uri +from gajim.common.i18n import _ + +from .util import get_builder +from .util import EventHelper +from .util import open_window + +log = logging.getLogger('gajim.gui.server_info') + + +class ServerInfo(Gtk.ApplicationWindow, EventHelper): + def __init__(self, account): + Gtk.ApplicationWindow.__init__(self) + EventHelper.__init__(self) + self.set_name('ServerInfo') + self.set_application(app.app) + self.set_position(Gtk.WindowPosition.CENTER) + self.set_default_size(400, 600) + self.set_show_menubar(False) + self.set_title(_('Server Info')) + self.set_type_hint(Gdk.WindowTypeHint.DIALOG) + + self.account = account + self._destroyed = False + + self._ui = get_builder('server_info.ui') + self.add(self._ui.server_info_notebook) + + self.connect('destroy', self.on_destroy) + self.connect('key-press-event', self._on_key_press) + self._ui.connect_signals(self) + + self.register_events([ + ('server-disco-received', ged.GUI1, self._server_disco_received), + ]) + + self.version = '' + self.hostname = app.get_hostname_from_account(account) + self._ui.server_hostname.set_text(self.hostname) + con = app.connections[account] + con.get_module('SoftwareVersion').request_software_version( + self.hostname, callback=self._software_version_received) + self.request_last_activity() + + server_info = con.get_module('Discovery').server_info + self._add_contact_addresses(server_info.dataforms) + + self.cert = con.certificate + self._add_connection_info() + + self.feature_listbox = Gtk.ListBox() + self.feature_listbox.set_name('ServerInfo') + self.feature_listbox.set_selection_mode(Gtk.SelectionMode.NONE) + self._ui.features_scrolled.add(self.feature_listbox) + for feature in self.get_features(): + self.add_feature(feature) + self.clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) + + self.show_all() + + def _on_key_press(self, _widget, event): + if event.keyval == Gdk.KEY_Escape: + self.destroy() + + def _add_connection_info(self): + # Connection type + nbxmpp_client = app.connections[self.account].connection + address = nbxmpp_client.current_address + + self._ui.connection_type.set_text(address.type.value) + if address.type.is_plain: + self._ui.connection_type.get_style_context().add_class( + 'error-color') + + # Connection proxy + proxy = address.proxy + if proxy is not None: + self._ui.proxy_type.set_text(proxy.type) + self._ui.proxy_host.set_text(proxy.host) + + self._ui.cert_button.set_sensitive(self.cert) + + self._ui.domain.set_text(address.domain) + + visible = address.service is not None + self._ui.dns_label.set_visible(visible) + self._ui.dns.set_visible(visible) + self._ui.dns.set_text(address.service or '') + + visible = nbxmpp_client.remote_address is not None + self._ui.ip_port_label.set_visible(visible) + self._ui.ip_port.set_visible(visible) + self._ui.ip_port.set_text(nbxmpp_client.remote_address or '') + + visible = address.uri is not None + self._ui.websocket_label.set_visible(visible) + self._ui.websocket.set_visible(visible) + self._ui.websocket.set_text(address.uri or '') + + def _on_cert_button_clicked(self, _button): + open_window('CertificateDialog', + account=self.account, + transient_for=self, + cert=self.cert) + + def request_last_activity(self): + if not app.account_is_connected(self.account): + return + con = app.connections[self.account] + iq = nbxmpp.Iq(to=self.hostname, typ='get', queryNS=Namespace.LAST) + con.connection.SendAndCallForResponse(iq, self._on_last_activity) + + def _add_contact_addresses(self, dataforms): + fields = { + 'admin-addresses': _('Admin'), + 'status-addresses': _('Status'), + 'support-addresses': _('Support'), + 'security-addresses': _('Security'), + 'feedback-addresses': _('Feedback'), + 'abuse-addresses': _('Abuse'), + 'sales-addresses': _('Sales'), + } + + addresses = self._get_addresses(fields, dataforms) + if addresses is None: + self._ui.no_addresses_label.set_visible(True) + return + + row_count = 4 + for address_type, values in addresses.items(): + label = self._get_address_type_label(fields[address_type]) + self._ui.server.attach(label, 0, row_count, 1, 1) + for index, value in enumerate(values): + last = index == len(values) - 1 + label = self._get_address_label(value, last=last) + self._ui.server.attach(label, 1, row_count, 1, 1) + row_count += 1 + + @staticmethod + def _get_addresses(fields, dataforms): + addresses = {} + for form in dataforms: + field = form.vars.get('FORM_TYPE') + if field.value != 'http://jabber.org/network/serverinfo': + continue + + for address_type in fields: + field = form.vars.get(address_type) + if field is None: + continue + + if field.type_ != 'list-multi': + continue + + if not field.values: + continue + addresses[address_type] = field.values + + return addresses or None + return None + + @staticmethod + def _get_address_type_label(text): + label = Gtk.Label(label=text) + label.set_halign(Gtk.Align.END) + label.set_valign(Gtk.Align.START) + label.get_style_context().add_class('dim-label') + return label + + def _get_address_label(self, address, last=False): + label = Gtk.Label() + label.set_markup('%s' % (address, address)) + label.set_ellipsize(Pango.EllipsizeMode.END) + label.set_xalign(0) + label.set_halign(Gtk.Align.START) + label.get_style_context().add_class('link-button') + label.connect('activate-link', self._on_activate_link) + if last: + label.set_margin_bottom(6) + return label + + def _on_activate_link(self, label, *args): + open_uri(label.get_text(), account=self.account) + return Gdk.EVENT_STOP + + def _on_last_activity(self, _nbxmpp_client, stanza): + if self._destroyed: + # Window got closed in the meantime + return + if not nbxmpp.isResultNode(stanza): + log.warning('Received malformed result: %s', stanza) + return + if stanza.getQueryNS() != Namespace.LAST: + log.warning('Wrong namespace on result: %s', stanza) + return + try: + seconds = int(stanza.getQuery().getAttr('seconds')) + except (ValueError, TypeError, AttributeError): + log.exception('Received malformed last activity result') + else: + delta = timedelta(seconds=seconds) + hours = 0 + if seconds >= 3600: + hours = delta.seconds // 3600 + uptime = _('%(days)s days, %(hours)s hours') % { + 'days': delta.days, 'hours': hours} + self._ui.server_uptime.set_text(uptime) + + def _software_version_received(self, task): + try: + result = task.finish() + except StanzaError: + self.version = _('Unknown') + else: + self.version = '%s %s' % (result.name, result.version) + + self._ui.server_software.set_text(self.version) + + @staticmethod + def update(func, listbox): + for index, item in enumerate(func()): + row = listbox.get_row_at_index(index) + row.get_child().update(item) + row.set_tooltip_text(row.get_child().tooltip) + + def _server_disco_received(self, _event): + self.update(self.get_features, self.feature_listbox) + + def add_feature(self, feature): + item = FeatureItem(feature) + self.feature_listbox.add(item) + item.get_parent().set_tooltip_text(item.tooltip or '') + + def get_features(self): + con = app.connections[self.account] + Feature = namedtuple('Feature', + ['name', 'available', 'tooltip', 'enabled']) + Feature.__new__.__defaults__ = (None, None) # type: ignore + + # HTTP File Upload + http_upload_info = con.get_module('HTTPUpload').httpupload_namespace + if con.get_module('HTTPUpload').available: + max_file_size = con.get_module('HTTPUpload').max_file_size + if max_file_size is not None: + max_file_size = max_file_size / (1024 * 1024) + http_upload_info = http_upload_info + ' (max. %s MiB)' % \ + max_file_size + + return [ + Feature('XEP-0045: Multi-User Chat', + con.get_module('MUC').supported), + Feature('XEP-0054: vcard-temp', + con.get_module('VCardTemp').supported), + Feature('XEP-0077: In-Band Registration', + con.get_module('Register').supported), + Feature('XEP-0163: Personal Eventing Protocol', + con.get_module('PEP').supported), + Feature('XEP-0163: #publish-options', + con.get_module('PubSub').publish_options), + Feature('XEP-0191: Blocking Command', + con.get_module('Blocking').supported, + Namespace.BLOCKING), + Feature('XEP-0198: Stream Management', + con.features.has_sm, Namespace.STREAM_MGMT), + Feature('XEP-0258: Security Labels in XMPP', + con.get_module('SecLabels').supported, + Namespace.SECLABEL), + Feature('XEP-0280: Message Carbons', + con.get_module('Carbons').supported, + Namespace.CARBONS), + Feature('XEP-0313: Message Archive Management', + con.get_module('MAM').available), + Feature('XEP-0363: HTTP File Upload', + con.get_module('HTTPUpload').available, + http_upload_info), + Feature('XEP-0398: Avatar Conversion', + con.get_module('VCardAvatars').avatar_conversion_available), + Feature('XEP-0411: Bookmarks Conversion', + con.get_module('Bookmarks').conversion), + Feature('XEP-0402: Bookmarks Compat', + con.get_module('Bookmarks').compat), + Feature('XEP-0402: Bookmarks Compat PEP', + con.get_module('Bookmarks').compat_pep) + ] + + def _on_clipboard_button_clicked(self, _widget): + server_software = 'Server Software: %s\n' % self.version + server_features = '' + + for feature in self.get_features(): + if feature.available: + available = 'Yes' + else: + available = 'No' + if feature.tooltip is not None: + tooltip = '(%s)' % feature.tooltip + else: + tooltip = '' + server_features += '%s: %s %s\n' % ( + feature.name, available, tooltip) + + clipboard_text = server_software + server_features + self.clipboard.set_text(clipboard_text, -1) + + def on_destroy(self, *args): + self._destroyed = True + + +class FeatureItem(Gtk.Grid): + def __init__(self, feature): + super().__init__() + self.tooltip = feature.tooltip + self.set_column_spacing(6) + + self.icon = Gtk.Image() + self.feature_label = Gtk.Label(label=feature.name) + self.set_feature(feature.available, feature.enabled) + + self.add(self.icon) + self.add(self.feature_label) + + def set_feature(self, available, enabled): + self.icon.get_style_context().remove_class('error-color') + self.icon.get_style_context().remove_class('warning-color') + self.icon.get_style_context().remove_class('success-color') + + if not available: + self.icon.set_from_icon_name('window-close-symbolic', + Gtk.IconSize.MENU) + self.icon.get_style_context().add_class('error-color') + elif enabled is False: + self.icon.set_from_icon_name('dialog-warning-symbolic', + Gtk.IconSize.MENU) + self.tooltip += _('\nDisabled in preferences') + self.icon.get_style_context().add_class('warning-color') + else: + self.icon.set_from_icon_name('emblem-ok-symbolic', + Gtk.IconSize.MENU) + self.icon.get_style_context().add_class('success-color') + + def update(self, feature): + self.tooltip = feature.tooltip + self.set_feature(feature.available, feature.enabled) diff --git a/gajim/gtk/service_registration.py b/gajim/gtk/service_registration.py new file mode 100644 index 0000000..292708d --- /dev/null +++ b/gajim/gtk/service_registration.py @@ -0,0 +1,228 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import logging +from enum import IntEnum + +from gi.repository import Gtk + +from nbxmpp.errors import StanzaError +from nbxmpp.errors import MalformedStanzaError +from nbxmpp.errors import RegisterStanzaError + +from gajim.common import app +from gajim.common.i18n import _ + +from .dataform import DataFormWidget + +log = logging.getLogger('gajim.gui.registration') + + +class Page(IntEnum): + REQUEST = 0 + FORM = 1 + SENDING = 2 + SUCCESS = 3 + ERROR = 4 + + +class ServiceRegistration(Gtk.Assistant): + def __init__(self, account, agent): + Gtk.Assistant.__init__(self) + + self._con = app.connections[account] + self._agent = agent + self._account = account + self._data_form_widget = None + + self.set_application(app.app) + self.set_resizable(True) + self.set_position(Gtk.WindowPosition.CENTER) + + self.set_default_size(600, 400) + self.get_style_context().add_class('dialog-margin') + + self._add_page(RequestPage()) + self._add_page(FormPage()) + self._add_page(SendingPage()) + self._add_page(SuccessfulPage()) + self._add_page(ErrorPage()) + + self.connect('prepare', self._on_page_change) + self.connect('cancel', self._on_cancel) + self.connect('close', self._on_cancel) + + self._remove_sidebar() + self.show_all() + + def _add_page(self, page): + self.append_page(page) + self.set_page_type(page, page.type_) + self.set_page_title(page, page.title) + self.set_page_complete(page, page.complete) + + def _remove_sidebar(self): + main_box = self.get_children()[0] + sidebar = main_box.get_children()[0] + main_box.remove(sidebar) + + def _on_page_change(self, _assistant, _page): + if self.get_current_page() == Page.REQUEST: + self._con.get_module('Register').request_register_form( + self._agent, callback=self._on_register_form) + elif self.get_current_page() == Page.SENDING: + self._register() + self.commit() + + def _on_register_form(self, task): + try: + result = task.finish() + except (StanzaError, MalformedStanzaError) as error: + self.get_nth_page(Page.ERROR).set_text(error.get_text()) + self.set_current_page(Page.ERROR) + return + + form = result.form + if result.form is None: + form = result.fields_form + + self._data_form_widget = DataFormWidget(form) + self._data_form_widget.connect('is-valid', self._on_is_valid) + self._data_form_widget.validate() + self.get_nth_page(Page.FORM).set_form(self._data_form_widget) + self.set_current_page(Page.FORM) + + def _on_is_valid(self, _widget, is_valid): + self.set_page_complete(self.get_nth_page(Page.FORM), is_valid) + + def _on_cancel(self, _widget): + self.destroy() + + def _register(self): + form = self._data_form_widget.get_submit_form() + self._con.get_module('Register').submit_register_form( + form, + self._agent, + callback=self._on_register_result) + + def _on_register_result(self, task): + try: + task.finish() + except (StanzaError, + MalformedStanzaError, + RegisterStanzaError) as error: + self.get_nth_page(Page.ERROR).set_text(error.get_text()) + self.set_current_page(Page.ERROR) + return + + self.set_current_page(Page.SUCCESS) + + +class RequestPage(Gtk.Box): + + type_ = Gtk.AssistantPageType.INTRO + title = _('Register') + complete = False + + def __init__(self): + super().__init__(orientation=Gtk.Orientation.VERTICAL) + self.set_spacing(18) + spinner = Gtk.Spinner() + self.pack_start(spinner, True, True, 0) + spinner.start() + + +class SendingPage(RequestPage): + + type_ = Gtk.AssistantPageType.PROGRESS + title = _('Register') + complete = False + + +class FormPage(Gtk.Box): + + type_ = Gtk.AssistantPageType.INTRO + title = _('Register') + complete = True + + def __init__(self): + super().__init__(orientation=Gtk.Orientation.VERTICAL) + self._form = None + self._label = Gtk.Label() + self._label.set_no_show_all(True) + self._label.get_style_context().add_class('error-color') + self.pack_end(self._label, False, False, 0) + + def set_form(self, form, error_text=None): + if self._form is not None: + self.remove(self._form) + self._form.destroy() + self._label.hide() + self._form = form + + if error_text is not None: + self._label.set_text(error_text) + self._label.show() + + self.pack_start(form, True, True, 0) + self._form.show_all() + + +class SuccessfulPage(Gtk.Box): + + type_ = Gtk.AssistantPageType.SUMMARY + title = _('Registration successful') + complete = True + + def __init__(self): + super().__init__(orientation=Gtk.Orientation.VERTICAL) + self.set_spacing(12) + self.set_homogeneous(True) + + icon = Gtk.Image.new_from_icon_name('object-select-symbolic', + Gtk.IconSize.DIALOG) + icon.get_style_context().add_class('success-color') + icon.set_valign(Gtk.Align.END) + label = Gtk.Label(label=_('Registration successful')) + label.get_style_context().add_class('bold16') + label.set_valign(Gtk.Align.START) + + self.add(icon) + self.add(label) + + +class ErrorPage(Gtk.Box): + + type_ = Gtk.AssistantPageType.SUMMARY + title = _('Registration failed') + complete = True + + def __init__(self): + super().__init__(orientation=Gtk.Orientation.VERTICAL) + self.set_spacing(12) + self.set_homogeneous(True) + + icon = Gtk.Image.new_from_icon_name('dialog-error-symbolic', + Gtk.IconSize.DIALOG) + icon.get_style_context().add_class('error-color') + icon.set_valign(Gtk.Align.END) + self._label = Gtk.Label() + self._label.get_style_context().add_class('bold16') + self._label.set_valign(Gtk.Align.START) + + self.add(icon) + self.add(self._label) + + def set_text(self, text): + self._label.set_text(text) diff --git a/gajim/gtk/settings.py b/gajim/gtk/settings.py new file mode 100644 index 0000000..570c702 --- /dev/null +++ b/gajim/gtk/settings.py @@ -0,0 +1,811 @@ +# Copyright (C) 2018 Philipp Hörist +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from gi.repository import Gtk +from gi.repository import GLib +from gi.repository import Gdk +from gi.repository import Pango + +from gajim.common import app +from gajim.common import passwords +from gajim.common.i18n import _ +from gajim.common.i18n import Q_ + +from gajim import gtkgui_helpers + +from .util import get_image_button +from .util import MaxWidthComboBoxText +from .util import open_window +from .const import SettingKind +from .const import SettingType + + +class SettingsDialog(Gtk.ApplicationWindow): + def __init__(self, parent, title, flags, settings, account, + extend=None): + Gtk.ApplicationWindow.__init__(self) + self.set_application(app.app) + self.set_show_menubar(False) + self.set_title(title) + self.set_transient_for(parent) + self.set_resizable(False) + self.set_default_size(250, -1) + self.set_type_hint(Gdk.WindowTypeHint.DIALOG) + self.get_style_context().add_class('settings-dialog') + self.account = account + if flags == Gtk.DialogFlags.MODAL: + self.set_modal(True) + elif flags == Gtk.DialogFlags.DESTROY_WITH_PARENT: + self.set_destroy_with_parent(True) + + self.listbox = SettingsBox(account, extend=extend) + self.listbox.set_hexpand(True) + self.listbox.set_selection_mode(Gtk.SelectionMode.NONE) + + for setting in settings: + self.listbox.add_setting(setting) + self.listbox.update_states() + + self.add(self.listbox) + + self.show_all() + self.connect_after('key-press-event', self.on_key_press) + + def on_key_press(self, _widget, event): + if event.keyval == Gdk.KEY_Escape: + self.destroy() + + def get_setting(self, name): + return self.listbox.get_setting(name) + + +class SettingsBox(Gtk.ListBox): + def __init__(self, account=None, jid=None, extend=None): + Gtk.ListBox.__init__(self) + self.get_style_context().add_class('settings-box') + self.account = account + self.jid = jid + self.named_settings = {} + + self.map = { + SettingKind.SWITCH: SwitchSetting, + SettingKind.SPIN: SpinSetting, + SettingKind.DIALOG: DialogSetting, + SettingKind.ENTRY: EntrySetting, + SettingKind.COLOR: ColorSetting, + SettingKind.ACTION: ActionSetting, + SettingKind.LOGIN: LoginSetting, + SettingKind.FILECHOOSER: FileChooserSetting, + SettingKind.CALLBACK: CallbackSetting, + SettingKind.PRIORITY: PrioritySetting, + SettingKind.HOSTNAME: CutstomHostnameSetting, + SettingKind.CHANGEPASSWORD: ChangePasswordSetting, + SettingKind.COMBO: ComboSetting, + SettingKind.POPOVER: PopoverSetting, + SettingKind.AUTO_AWAY: CutstomAutoAwaySetting, + SettingKind.AUTO_EXTENDED_AWAY: CutstomAutoExtendedAwaySetting, + SettingKind.USE_STUN_SERVER: CustomStunServerSetting, + SettingKind.NOTIFICATIONS: NotificationsSetting, + } + + if extend is not None: + for setting, callback in extend: + self.map[setting] = callback + + self.connect('row-activated', self.on_row_activated) + + @staticmethod + def on_row_activated(_listbox, row): + row.on_row_activated() + + def add_setting(self, setting): + if not isinstance(setting, Gtk.ListBoxRow): + if setting.props is not None: + listitem = self.map[setting.kind](self.account, + self.jid, + *setting[1:-1], + **setting.props) + else: + listitem = self.map[setting.kind](self.account, + self.jid, + *setting[1:-1]) + + if setting.name is not None: + self.named_settings[setting.name] = listitem + self.add(listitem) + + def get_setting(self, name): + return self.named_settings[name] + + def update_states(self): + for row in self.get_children(): + row.update_activatable() + + +class GenericSetting(Gtk.ListBoxRow): + def __init__(self, + account, + jid, + label, + type_, + value, + name, + callback, + data, + desc, + bind, + inverted, + enabled_func): + + Gtk.ListBoxRow.__init__(self) + self._grid = Gtk.Grid() + self._grid.set_size_request(-1, 30) + self._grid.set_column_spacing(12) + + self.callback = callback + self.type_ = type_ + self.value = value + self.data = data + self.label = label + self.account = account + self.jid = jid + self.name = name + self.bind = bind + self.inverted = inverted + self.enabled_func = enabled_func + self.setting_value = self.get_value() + + description_box = Gtk.Box( + orientation=Gtk.Orientation.VERTICAL, spacing=0) + description_box.set_valign(Gtk.Align.CENTER) + + settingtext = Gtk.Label(label=label) + settingtext.set_hexpand(True) + settingtext.set_halign(Gtk.Align.START) + settingtext.set_valign(Gtk.Align.CENTER) + settingtext.set_vexpand(True) + description_box.add(settingtext) + + if desc is not None: + description = Gtk.Label(label=desc) + description.set_name('SubDescription') + description.set_hexpand(True) + description.set_halign(Gtk.Align.START) + description.set_valign(Gtk.Align.CENTER) + description.set_xalign(0) + description.set_line_wrap(True) + description.set_line_wrap_mode(Pango.WrapMode.WORD) + description.set_max_width_chars(50) + description_box.add(description) + + self._grid.add(description_box) + + self.setting_box = Gtk.Box(spacing=12) + self.setting_box.set_size_request(200, -1) + self.setting_box.set_valign(Gtk.Align.CENTER) + self.setting_box.set_name('GenericSettingBox') + self._grid.add(self.setting_box) + self.add(self._grid) + + self._bind_sensitive_state() + + def _bind_sensitive_state(self): + if self.bind is None: + return + + bind_setting_type, setting, account, jid = self._parse_bind() + + app.settings.bind_signal(setting, + self, + 'set_sensitive', + account=account, + jid=jid, + inverted=self.inverted) + + if bind_setting_type == SettingType.CONTACT: + value = app.settings.get_contact_setting(account, jid, setting) + + elif bind_setting_type == SettingType.GROUP_CHAT: + value = app.settings.get_group_chat_setting(account, jid, setting) + + elif bind_setting_type == SettingType.ACCOUNT_CONFIG: + value = app.settings.get_account_setting(account, setting) + + else: + value = app.settings.get(setting) + + if self.inverted: + value = not value + self.set_sensitive(value) + + def _parse_bind(self): + if '::' not in self.bind: + return SettingType.CONFIG, self.bind, None, None + + bind_setting_type, setting = self.bind.split('::') + if bind_setting_type == 'account': + return SettingType.ACCOUNT_CONFIG, setting, self.account, None + + if bind_setting_type == 'contact': + return SettingType.CONTACT, setting, self.account, self.jid + + if bind_setting_type == 'group_chat': + return SettingType.GROUP_CHAT, setting, self.account, self.jid + raise ValueError(f'Invalid bind argument: {self.bind}') + + def get_value(self): + return self.__get_value(self.type_, + self.value, + self.account, + self.jid) + + @staticmethod + def __get_value(type_, value, account, jid): + if value is None: + return None + if type_ == SettingType.VALUE: + return value + + if type_ == SettingType.CONTACT: + return app.settings.get_contact_setting(account, jid, value) + + if type_ == SettingType.GROUP_CHAT: + return app.settings.get_group_chat_setting( + account, jid, value) + + if type_ == SettingType.CONFIG: + return app.settings.get(value) + + if type_ == SettingType.ACCOUNT_CONFIG: + if value == 'password': + return passwords.get_password(account) + if value == 'no_log_for': + no_log = app.settings.get_account_setting( + account, 'no_log_for').split() + return account not in no_log + return app.settings.get_account_setting(account, value) + + if type_ == SettingType.ACTION: + if value.startswith('-'): + return account + value + return value + + raise ValueError('Wrong SettingType?') + + def set_value(self, state): + if self.type_ == SettingType.CONFIG: + app.settings.set(self.value, state) + + elif self.type_ == SettingType.ACCOUNT_CONFIG: + if self.value == 'password': + passwords.save_password(self.account, state) + if self.value == 'no_log_for': + self.set_no_log_for(self.account, state) + else: + app.settings.set_account_setting(self.account, + self.value, + state) + + elif self.type_ == SettingType.CONTACT: + app.settings.set_contact_setting( + self.account, self.jid, self.value, state) + + elif self.type_ == SettingType.GROUP_CHAT: + app.settings.set_group_chat_setting( + self.account, self.jid, self.value, state) + + if self.callback is not None: + self.callback(state, self.data) + + @staticmethod + def set_no_log_for(account, state): + no_log = app.settings.get_account_setting(account, 'no_log_for').split() + if state and account in no_log: + no_log.remove(account) + elif not state and account not in no_log: + no_log.append(account) + app.settings.set_account_setting(account, + 'no_log_for', + ' '.join(no_log)) + + def on_row_activated(self): + raise NotImplementedError + + def update_activatable(self): + if self.enabled_func is None: + return + + enabled_func_value = self.enabled_func() + self.set_activatable(enabled_func_value) + self.set_sensitive(enabled_func_value) + + def _add_action_button(self, kwargs): + icon_name = kwargs.get('button-icon-name') + button_text = kwargs.get('button-text') + tooltip_text = kwargs.get('button-tooltip') or '' + style = kwargs.get('button-style') + + if icon_name is not None: + button = Gtk.Button.new_from_icon_name(icon_name, Gtk.IconSize.MENU) + + elif button_text is not None: + button = Gtk.Button(label=button_text) + + else: + return + + if style is not None: + for css_class in style.split(' '): + button.get_style_context().add_class(css_class) + + button.connect('clicked', kwargs['button-callback']) + button.set_tooltip_text(tooltip_text) + self.setting_box.add(button) + + +class SwitchSetting(GenericSetting): + def __init__(self, *args, **kwargs): + GenericSetting.__init__(self, *args) + + self.switch = Gtk.Switch() + if self.type_ == SettingType.ACTION: + self.switch.set_action_name('app.%s' % self.setting_value) + state = app.app.get_action_state(self.setting_value) + self.switch.set_active(state.get_boolean()) + else: + self.switch.set_active(self.setting_value) + self.switch.connect('notify::active', self.on_switch) + self.switch.set_hexpand(True) + self.switch.set_halign(Gtk.Align.END) + self.switch.set_valign(Gtk.Align.CENTER) + + self._switch_state_label = Gtk.Label() + self._switch_state_label.set_xalign(1) + self._switch_state_label.set_valign(Gtk.Align.CENTER) + self._set_label(self.setting_value) + + box = Gtk.Box(spacing=12) + box.set_halign(Gtk.Align.END) + box.add(self._switch_state_label) + box.add(self.switch) + self.setting_box.add(box) + + self._add_action_button(kwargs) + + self.show_all() + + def on_row_activated(self): + state = self.switch.get_active() + self.switch.set_active(not state) + + def on_switch(self, switch, *args): + value = switch.get_active() + self.set_value(value) + self._set_label(value) + + def _set_label(self, active): + text = Q_('?switch:On') if active else Q_('?switch:Off') + self._switch_state_label.set_text(text) + + +class EntrySetting(GenericSetting): + def __init__(self, *args): + GenericSetting.__init__(self, *args) + + self.entry = Gtk.Entry() + self.entry.set_text(str(self.setting_value)) + self.entry.connect('notify::text', self.on_text_change) + self.entry.set_valign(Gtk.Align.CENTER) + self.entry.set_alignment(1) + + if self.value == 'password': + self.entry.set_invisible_char('*') + self.entry.set_visibility(False) + + self.setting_box.pack_end(self.entry, True, True, 0) + + self.show_all() + + def on_text_change(self, *args): + text = self.entry.get_text() + self.set_value(text) + + def on_row_activated(self): + self.entry.grab_focus() + + +class ColorSetting(GenericSetting): + def __init__(self, *args): + GenericSetting.__init__(self, *args) + + rgba = Gdk.RGBA() + rgba.parse(self.setting_value) + self.color_button = Gtk.ColorButton() + self.color_button.set_rgba(rgba) + self.color_button.connect('color-set', self.on_color_set) + self.color_button.set_valign(Gtk.Align.CENTER) + self.color_button.set_halign(Gtk.Align.END) + + self.setting_box.pack_end(self.color_button, True, True, 0) + + self.show_all() + + def on_color_set(self, button): + rgba = button.get_rgba() + self.set_value(rgba.to_string()) + app.css_config.refresh() + + def on_row_activated(self): + self.color_button.grab_focus() + + +class DialogSetting(GenericSetting): + def __init__(self, *args, dialog): + GenericSetting.__init__(self, *args) + self.dialog = dialog + + self.setting_value = Gtk.Label() + self.setting_value.set_text(self.get_setting_value()) + self.setting_value.set_halign(Gtk.Align.END) + self.setting_box.pack_start(self.setting_value, True, True, 0) + + self.show_all() + + def show_dialog(self, parent): + if self.dialog: + dialog = self.dialog(self.account, parent) + dialog.connect('destroy', self.on_destroy) + + def on_destroy(self, *args): + self.setting_value.set_text(self.get_setting_value()) + + def get_setting_value(self): + self.setting_value.hide() + return '' + + def on_row_activated(self): + self.show_dialog(self.get_toplevel()) + + +class SpinSetting(GenericSetting): + def __init__(self, *args, range_): + GenericSetting.__init__(self, *args) + + lower, upper = range_ + adjustment = Gtk.Adjustment(value=0, + lower=lower, + upper=upper, + step_increment=1, + page_increment=10, + page_size=0) + + self.spin = Gtk.SpinButton() + self.spin.set_adjustment(adjustment) + self.spin.set_numeric(True) + self.spin.set_update_policy(Gtk.SpinButtonUpdatePolicy.IF_VALID) + self.spin.set_value(self.setting_value) + self.spin.set_halign(Gtk.Align.FILL) + self.spin.set_valign(Gtk.Align.CENTER) + self.spin.connect('notify::value', self.on_value_change) + + self.setting_box.pack_start(self.spin, True, True, 0) + + self.show_all() + + def on_row_activated(self): + self.spin.grab_focus() + + def on_value_change(self, spin, *args): + value = spin.get_value_as_int() + self.set_value(value) + + +class FileChooserSetting(GenericSetting): + def __init__(self, *args, filefilter): + GenericSetting.__init__(self, *args) + + button = Gtk.FileChooserButton(title=self.label, + action=Gtk.FileChooserAction.OPEN) + button.set_halign(Gtk.Align.END) + + # GTK Bug: The FileChooserButton expands without limit + # get the label and use set_max_wide_chars() + label = button.get_children()[0].get_children()[0].get_children()[1] + label.set_max_width_chars(20) + + if filefilter: + name, pattern = filefilter + filter_ = Gtk.FileFilter() + filter_.set_name(name) + filter_.add_pattern(pattern) + button.add_filter(filter_) + button.set_filter(filter_) + + filter_ = Gtk.FileFilter() + filter_.set_name(_('All files')) + filter_.add_pattern('*') + button.add_filter(filter_) + + if self.setting_value: + button.set_filename(self.setting_value) + button.connect('selection-changed', self.on_select) + + clear_button = get_image_button( + 'edit-clear-all-symbolic', _('Clear File')) + clear_button.connect('clicked', lambda *args: button.unselect_all()) + self.setting_box.pack_start(button, True, True, 0) + self.setting_box.pack_start(clear_button, False, False, 0) + + self.show_all() + + def on_select(self, filechooser): + self.set_value(filechooser.get_filename() or '') + + def on_row_activated(self): + pass + + +class CallbackSetting(GenericSetting): + def __init__(self, *args, callback): + GenericSetting.__init__(self, *args) + self.callback = callback + self.show_all() + + def on_row_activated(self): + self.callback() + + +class ActionSetting(GenericSetting): + def __init__(self, *args, account): + GenericSetting.__init__(self, *args) + action_name = '%s%s' % (account, self.value) + self.action = gtkgui_helpers.get_action(action_name) + self.variant = GLib.Variant.new_string(account) + self.on_enable() + + self.show_all() + self.action.connect('notify::enabled', self.on_enable) + + def on_enable(self, *args): + self.set_sensitive(self.action.get_enabled()) + + def on_row_activated(self): + self.action.activate(self.variant) + + +class LoginSetting(DialogSetting): + def __init__(self, *args, **kwargs): + DialogSetting.__init__(self, *args, **kwargs) + self.setting_value.set_selectable(True) + + def get_setting_value(self): + jid = app.get_jid_from_account(self.account) + return jid + + +class PopoverSetting(GenericSetting): + def __init__(self, *args, entries, **kwargs): + GenericSetting.__init__(self, *args) + + self._entries = self._convert_to_dict(entries) + + box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, + spacing=12) + box.set_halign(Gtk.Align.END) + box.set_hexpand(True) + + self._default_text = kwargs.get('default-text') + + self._current_label = Gtk.Label() + self._current_label.set_valign(Gtk.Align.CENTER) + image = Gtk.Image.new_from_icon_name('pan-down-symbolic', + Gtk.IconSize.MENU) + image.set_valign(Gtk.Align.CENTER) + + box.add(self._current_label) + box.add(image) + + self._menu_listbox = Gtk.ListBox() + self._menu_listbox.set_selection_mode(Gtk.SelectionMode.NONE) + self._add_menu_entries() + self._menu_listbox.connect('row-activated', + self._on_menu_row_activated) + + scrolled_window = Gtk.ScrolledWindow() + scrolled_window.set_propagate_natural_height(True) + scrolled_window.set_propagate_natural_width(True) + scrolled_window.set_max_content_height(400) + scrolled_window.set_policy(Gtk.PolicyType.NEVER, + Gtk.PolicyType.AUTOMATIC) + scrolled_window.add(self._menu_listbox) + scrolled_window.show_all() + + self._popover = Gtk.Popover() + self._popover.get_style_context().add_class('combo') + self._popover.set_relative_to(image) + self._popover.set_position(Gtk.PositionType.BOTTOM) + self._popover.add(scrolled_window) + + self.setting_box.add(box) + + self._add_action_button(kwargs) + + text = self._entries.get(self.setting_value, self._default_text or '') + self._current_label.set_text(text) + + app.settings.connect_signal(self.value, + self._on_setting_changed, + account=self.account, + jid=self.jid) + + self.connect('destroy', self._on_destroy) + + self.show_all() + + @staticmethod + def _convert_to_dict(entries): + if isinstance(entries, list): + entries = {key: key for key in entries} + return entries + + def _on_setting_changed(self, value, *args): + text = self._entries.get(value) + if text is None: + text = self._default_text or '' + + self._current_label.set_text(text) + + def _add_menu_entries(self): + if self._default_text is not None: + self._menu_listbox.add(PopoverRow(self._default_text, '')) + + for value, label in self._entries.items(): + self._menu_listbox.add(PopoverRow(label, value)) + + self._menu_listbox.show_all() + + def _on_menu_row_activated(self, listbox, row): + listbox.unselect_all() + self._popover.popdown() + + self.set_value(row.value) + + def on_row_activated(self): + self._popover.popup() + + def update_entries(self, entries): + self._entries = self._convert_to_dict(entries) + self._menu_listbox.foreach(self._menu_listbox.remove) + self._add_menu_entries() + + def _on_destroy(self, *args): + app.settings.disconnect_signals(self) + + +class PopoverRow(Gtk.ListBoxRow): + def __init__(self, label, value): + Gtk.ListBoxRow.__init__(self) + self.label = label + self.value = value + + label = Gtk.Label(label=label) + label.set_xalign(0) + self.add(label) + + +class ComboSetting(GenericSetting): + def __init__(self, *args, combo_items): + GenericSetting.__init__(self, *args) + + self.combo = MaxWidthComboBoxText() + self.combo.set_valign(Gtk.Align.CENTER) + + for index, value in enumerate(combo_items): + if isinstance(value, tuple): + value, label = value + self.combo.append(value, _(label)) + else: + self.combo.append(value, value) + if value == self.setting_value or index == 0: + self.combo.set_active(index) + + self.combo.connect('changed', self.on_value_change) + + self.setting_box.pack_start(self.combo, True, True, 0) + self.show_all() + + def on_value_change(self, combo): + self.set_value(combo.get_active_id()) + + def on_row_activated(self): + pass + + +class PrioritySetting(DialogSetting): + def __init__(self, *args, **kwargs): + DialogSetting.__init__(self, *args, **kwargs) + + def get_setting_value(self): + adjust = app.settings.get_account_setting( + self.account, 'adjust_priority_with_status') + if adjust: + return _('Adjust to Status') + + priority = app.settings.get_account_setting(self.account, 'priority') + return str(priority) + + +class CutstomHostnameSetting(DialogSetting): + def __init__(self, *args, **kwargs): + DialogSetting.__init__(self, *args, **kwargs) + + def get_setting_value(self): + custom = app.settings.get_account_setting(self.account, + 'use_custom_host') + return Q_('?switch:On') if custom else Q_('?switch:Off') + + +class ChangePasswordSetting(DialogSetting): + def __init__(self, *args, **kwargs): + DialogSetting.__init__(self, *args, **kwargs) + + def show_dialog(self, parent): + parent.destroy() + open_window('ChangePassword', account=self.account) + + def update_activatable(self): + activatable = False + if self.account in app.connections: + con = app.connections[self.account] + activatable = (con.state.is_available and + con.get_module('Register').supported) + self.set_activatable(activatable) + + +class CutstomAutoAwaySetting(DialogSetting): + def __init__(self, *args, **kwargs): + DialogSetting.__init__(self, *args, **kwargs) + + def get_setting_value(self): + value = app.settings.get('autoaway') + return Q_('?switch:On') if value else Q_('?switch:Off') + + +class CutstomAutoExtendedAwaySetting(DialogSetting): + def __init__(self, *args, **kwargs): + DialogSetting.__init__(self, *args, **kwargs) + + def get_setting_value(self): + value = app.settings.get('autoxa') + return Q_('?switch:On') if value else Q_('?switch:Off') + + +class CustomStunServerSetting(DialogSetting): + def __init__(self, *args, **kwargs): + DialogSetting.__init__(self, *args, **kwargs) + + def get_setting_value(self): + value = app.settings.get('use_stun_server') + return Q_('?switch:On') if value else Q_('?switch:Off') + + +class NotificationsSetting(DialogSetting): + def __init__(self, *args, **kwargs): + DialogSetting.__init__(self, *args, **kwargs) + + def get_setting_value(self): + value = app.settings.get('show_notifications') + return Q_('?switch:On') if value else Q_('?switch:Off') diff --git a/gajim/gtk/sidebar_switcher.py b/gajim/gtk/sidebar_switcher.py new file mode 100644 index 0000000..4540c14 --- /dev/null +++ b/gajim/gtk/sidebar_switcher.py @@ -0,0 +1,57 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + + +from gi.repository import Gtk + + +class SideBarSwitcher(Gtk.ListBox): + def __init__(self): + Gtk.ListBox.__init__(self) + self.set_vexpand(True) + self.get_style_context().add_class('settings-menu') + self.connect('row-activated', self._on_row_activated) + self._stack = None + + def set_stack(self, stack): + self._stack = stack + for page in self._stack.get_children(): + attributes = ['name', 'title', 'icon-name'] + properties = self._stack.child_get(page, *attributes) + self.add(Row(*properties)) + + self._select_first_row() + + def _on_row_activated(self, _listbox, row): + self._stack.set_visible_child_name(row.name) + + def _select_first_row(self): + self.select_row(self.get_row_at_index(0)) + + +class Row(Gtk.ListBoxRow): + def __init__(self, name, title, icon_name): + Gtk.ListBoxRow.__init__(self) + + self.name = name + box = Gtk.Box() + if icon_name: + image = Gtk.Image.new_from_icon_name(icon_name, Gtk.IconSize.MENU) + image.get_style_context().add_class('dim-label') + box.add(image) + + label = Gtk.Label(label=title) + label.set_xalign(0) + box.add(label) + self.add(box) diff --git a/gajim/gtk/single_message.py b/gajim/gtk/single_message.py new file mode 100644 index 0000000..58229d6 --- /dev/null +++ b/gajim/gtk/single_message.py @@ -0,0 +1,338 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from typing import List # pylint: disable=unused-import + +from gi.repository import Gdk +from gi.repository import GLib +from gi.repository import Gtk + +from gajim import vcard +from gajim.common import app +from gajim.common import helpers +from gajim.common.i18n import _ +from gajim.common.structs import OutgoingMessage + +from gajim.conversation_textview import ConversationTextview + +from .dialogs import ErrorDialog +from .util import get_builder +from .util import get_icon_name +from .util import get_completion_liststore +from .util import move_window +from .util import resize_window + +if app.is_installed('GSPELL'): + from gi.repository import Gspell # pylint: disable=ungrouped-imports + + +class SingleMessageWindow(Gtk.ApplicationWindow): + """ + SingleMessageWindow can send or show a received singled message depending on + action argument which can be 'send' or 'receive' + """ + def __init__(self, account, to='', action='', from_whom='', subject='', + message='', resource='', session=None): + Gtk.ApplicationWindow.__init__(self) + self.set_application(app.app) + self.set_position(Gtk.WindowPosition.CENTER) + self.set_show_menubar(False) + self.set_title(_('Send Single Message')) + self.set_name('SendSingleMessageWindow') + self.account = account + self._action = action + + self._subject = subject + self._message = message + self._to = to + self._from_whom = from_whom + self._resource = resource + self._session = session + + self._ui = get_builder('single_message_window.ui') + self._message_tv_buffer = self._ui.message_textview.get_buffer() + self._conversation_textview = ConversationTextview( + account, used_in_history_window=True) + self._conversation_textview.tv.show() + self._conversation_textview.tv.set_left_margin(6) + self._conversation_textview.tv.set_right_margin(6) + self._conversation_textview.tv.set_top_margin(6) + self._conversation_textview.tv.set_bottom_margin(6) + self._ui.conversation_scrolledwindow.add( + self._conversation_textview.tv) + + self._message_tv_buffer.connect('changed', self._update_char_counter) + if isinstance(to, list): + jid = ', '.join([i[0].jid for i in to]) + self._ui.to_entry.set_text(jid) + else: + self._ui.to_entry.set_text(to) + + if (app.settings.get('use_speller') and + app.is_installed('GSPELL') and + action == 'send'): + lang = app.settings.get('speller_language') + gspell_lang = Gspell.language_lookup(lang) + if gspell_lang is None: + gspell_lang = Gspell.language_get_default() + spell_buffer = Gspell.TextBuffer.get_from_gtk_text_buffer( + self._ui.message_textview.get_buffer()) + spell_buffer.set_spell_checker(Gspell.Checker.new(gspell_lang)) + spell_view = Gspell.TextView.get_from_gtk_text_view( + self._ui.message_textview) + spell_view.set_inline_spell_checking(True) + spell_view.set_enable_language_menu(True) + + self._prepare_widgets_for(self._action) + + # set_text(None) raises TypeError exception + if self._subject is None: + self._subject = _('(No subject)') + self._ui.subject_entry.set_text(self._subject) + self._ui.subject_from_entry_label.set_text(self._subject) + + if to == '': + liststore = get_completion_liststore(self._ui.to_entry) + self._completion_dict = helpers.get_contact_dict_for_account( + account) + keys = sorted(self._completion_dict.keys()) + for jid in keys: + contact = self._completion_dict[jid] + status_icon = get_icon_name(contact.show) + liststore.append((status_icon, jid)) + else: + self._completion_dict = {} + + self.add(self._ui.box) + + self.connect('delete-event', self._on_delete) + self.connect('destroy', self._on_destroy) + self.connect('key-press-event', self._on_key_press_event) + + self._ui.to_entry.connect('changed', self._on_to_entry_changed) + self._ui.connect_signals(self) + + # get window position and size from config + resize_window(self, + app.settings.get('single-msg-width'), + app.settings.get('single-msg-height')) + move_window(self, + app.settings.get('single-msg-x-position'), + app.settings.get('single-msg-y-position')) + + self.show_all() + + def _set_cursor_to_end(self): + end_iter = self._message_tv_buffer.get_end_iter() + self._message_tv_buffer.place_cursor(end_iter) + + def _save_position(self): + # save the window size and position + x_pos, y_pos = self.get_position() + app.settings.set('single-msg-x-position', x_pos) + app.settings.set('single-msg-y-position', y_pos) + width, height = self.get_size() + app.settings.set('single-msg-width', width) + app.settings.set('single-msg-height', height) + + def _on_to_entry_changed(self, _widget): + entry = self._ui.to_entry.get_text() + is_empty = bool(not entry == '' and not ',' in entry) + self._ui.show_contact_info_button.set_sensitive(is_empty) + + def _prepare_widgets_for(self, action): + if len(app.connections) > 1: + if action == 'send': + title = _('Single Message using account %s') % self.account + else: + title = _('Single Message in account %s') % self.account + else: + title = _('Single Message') + + if action == 'send': # prepare UI for Sending + title = _('Send %s') % title + self._ui.send_button.show() + self._ui.send_and_close_button.show() + self._ui.reply_button.hide() + self._ui.close_button.hide() + + self._ui.send_grid.show() + self._ui.received_grid.hide() + + if self._message: # we come from a reply? + self._ui.show_contact_info_button.set_sensitive(True) + self._ui.message_textview.grab_focus() + self._message_tv_buffer.set_text(self._message) + GLib.idle_add(self._set_cursor_to_end) + else: # we write a new message (not from reply) + if self._to: # do we already have jid? + self._ui.subject_entry.grab_focus() + + elif action == 'receive': # prepare UI for Receiving + title = _('Received %s') % title + self._ui.reply_button.show() + self._ui.close_button.show() + self._ui.send_button.hide() + self._ui.send_and_close_button.hide() + self._ui.reply_button.grab_focus() + + self._ui.received_grid.show() + self._ui.send_grid.hide() + + if self._message: + self._conversation_textview.print_real_text(self._message) + fjid = self._from_whom + if self._resource: + fjid += '/' + self._resource + self._ui.from_entry_label.set_text(fjid) + + self.set_title(title) + + def _update_char_counter(self, _widget): + characters_no = self._message_tv_buffer.get_char_count() + self._ui.count_chars_label.set_text( + _('Characters typed: %s') % str(characters_no)) + + def _send_single_message(self): + if not app.account_is_available(self.account): + # if offline or connecting + ErrorDialog(_('Connection not available'), + _('Please make sure you are connected with "%s".') % + self.account) + return True + if isinstance(self._to, list): + sender_list = [] + for i in self._to: + if i[0].resource: + sender_list.append(i[0].jid + '/' + i[0].resource) + else: + sender_list.append(i[0].jid) + else: + sender_list = [j.strip() for j + in self._ui.to_entry.get_text().split(',')] + + subject = self._ui.subject_entry.get_text() + begin, end = self._message_tv_buffer.get_bounds() + message = self._message_tv_buffer.get_text(begin, end, True) + + recipient_list = [] + + for to_whom_jid in sender_list: + if to_whom_jid in self._completion_dict: + to_whom_jid = self._completion_dict[to_whom_jid].jid + try: + to_whom_jid = helpers.parse_jid(to_whom_jid) + except helpers.InvalidFormat: + ErrorDialog( + _('Invalid XMPP Address'), + _('It is not possible to send a message to %s, this ' + 'XMPP Address is not valid.') % to_whom_jid) + return True + + if '/announce/' in to_whom_jid: + con = app.connections[self.account] + con.get_module('Announce').set_announce( + to_whom_jid, subject, message) + continue + + recipient_list.append(to_whom_jid) + + message = OutgoingMessage(account=self.account, + contact=None, + message=message, + type_='normal', + subject=subject) + con = app.connections[self.account] + con.send_messages(recipient_list, message) + + self._ui.subject_entry.set_text('') # we sent ok, clear the subject + self._message_tv_buffer.set_text('') # we sent ok, clear the textview + return False + + def _on_destroy(self, _widget): + contact = app.contacts.get_contact_with_highest_priority( + self.account, self._from_whom) + if not contact: + # Groupchat is maybe already destroyed + return + controls = app.interface.minimized_controls[self.account] + events = app.events.get_nb_roster_events(self.account, + self._from_whom, + types=['chat', 'normal']) + if (contact.is_groupchat and + self._from_whom not in controls and + self._action == 'receive' and + events == 0): + app.interface.roster.remove_groupchat(self._from_whom, self.account) + + def _on_delete(self, *args): + self._save_position() + + def _on_contact_info_clicked(self, _widget): + """ + Ask for vCard + """ + entry = self._ui.to_entry.get_text().strip() + + keys = sorted(self._completion_dict.keys()) + for key in keys: + contact = self._completion_dict[key] + if entry in key: + entry = contact.jid + break + + if entry in app.interface.instances[self.account]['infos']: + app.interface.instances[self.account]['infos'][entry].\ + window.present() + else: + contact = app.contacts.create_contact(jid=entry, + account=self.account) + app.interface.instances[self.account]['infos'][entry] = \ + vcard.VcardWindow(contact, self.account) + # Remove xmpp page + app.interface.instances[self.account]['infos'][entry].xml.\ + get_object('information_notebook').remove_page(0) + + def _on_close_clicked(self, _widget): + self._save_position() + self.destroy() + + def _on_send_clicked(self, _widget): + self._send_single_message() + + def _on_reply_clicked(self, _widget): + # we create a new blank window to send and we preset RE: and to jid + self._subject = _('RE: %s') % self._subject + self._message = _('%s wrote:\n') % self._from_whom + self._message + # add > at the beginning of each line + self._message = self._message.replace('\n', '\n> ') + '\n\n' + self.destroy() + SingleMessageWindow(self.account, + to=self._from_whom, + action='send', + from_whom=self._from_whom, + subject=self._subject, + message=self._message, + session=self._session) + + def _on_send_and_close_clicked(self, _widget): + if self._send_single_message(): + return + self._save_position() + self.destroy() + + def _on_key_press_event(self, _widget, event): + if event.keyval == Gdk.KEY_Escape: # ESCAPE + self._save_position() + self.destroy() diff --git a/gajim/gtk/ssl_error_dialog.py b/gajim/gtk/ssl_error_dialog.py new file mode 100644 index 0000000..833c8dd --- /dev/null +++ b/gajim/gtk/ssl_error_dialog.py @@ -0,0 +1,90 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + + +from gi.repository import Gtk +from gi.repository import Gio + +from gajim.common import app + +from gajim.common.const import GIO_TLS_ERRORS +from gajim.common.i18n import _ + +from .util import get_builder +from .util import open_window + + +class SSLErrorDialog(Gtk.ApplicationWindow): + def __init__(self, account, client, cert, error): + Gtk.ApplicationWindow.__init__(self) + self.set_name('SSLErrorDialog') + self.set_application(app.app) + self.set_show_menubar(False) + self.set_resizable(False) + self.set_position(Gtk.WindowPosition.CENTER) + self.set_title(_('SSL Certificate Verification Error')) + + self._ui = get_builder('ssl_error_dialog.ui') + self.add(self._ui.ssl_error_box) + + self.account = account + self._error = error + self._client = client + self._cert = cert + self._server = app.settings.get_account_setting(self.account, + 'hostname') + + self._process_error() + + self._ui.connect_signals(self) + self.show_all() + + def _process_error(self): + self._ui.intro_text.set_text( + _('There was an error while attempting to verify the SSL ' + 'certificate of your XMPP server (%s).') % self._server) + + unknown_error = _('Unknown SSL error \'%s\'') % self._error + ssl_error = GIO_TLS_ERRORS.get(self._error, unknown_error) + self._ui.ssl_error.set_text(ssl_error) + + if self._error == Gio.TlsCertificateFlags.UNKNOWN_CA: + self._ui.add_certificate_checkbutton.show() + + elif self._error == Gio.TlsCertificateFlags.EXPIRED: + self._ui.connect_button.set_sensitive(True) + + else: + self._ui.connect_button.set_no_show_all(True) + self._ui.connect_button.hide() + + def _on_view_cert_clicked(self, _button): + open_window('CertificateDialog', + account=self.account, + transient_for=self, + cert=self._cert) + + def _on_add_certificate_toggled(self, checkbutton): + self._ui.connect_button.set_sensitive(checkbutton.get_active()) + + def _on_connect_clicked(self, _button): + if self._ui.add_certificate_checkbutton.get_active(): + app.cert_store.add_certificate(self._cert) + + ignored_tls_errors = None + if self._error == Gio.TlsCertificateFlags.EXPIRED: + ignored_tls_errors = set([Gio.TlsCertificateFlags.EXPIRED]) + + self.destroy() + self._client.connect(ignored_tls_errors=ignored_tls_errors) diff --git a/gajim/gtk/start_chat.py b/gajim/gtk/start_chat.py new file mode 100644 index 0000000..d37ee29 --- /dev/null +++ b/gajim/gtk/start_chat.py @@ -0,0 +1,834 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import locale +from enum import IntEnum + +from gi.repository import Gdk +from gi.repository import Gtk +from gi.repository import GLib +from gi.repository import Pango + +from nbxmpp.errors import is_error +from nbxmpp.errors import StanzaError +from nbxmpp.errors import CancelledError + +from gajim.common import app +from gajim.common.helpers import validate_jid +from gajim.common.helpers import to_user_string +from gajim.common.helpers import get_groupchat_name +from gajim.common.helpers import get_group_chat_nick +from gajim.common.i18n import _ +from gajim.common.i18n import get_rfc5646_lang +from gajim.common.const import AvatarSize +from gajim.common.const import MUC_DISCO_ERRORS +from gajim.common.modules.util import as_task + +from .groupchat_info import GroupChatInfoScrolled +from .groupchat_nick import NickChooser +from .util import get_builder +from .util import get_icon_name +from .util import generate_account_badge + + +class Search(IntEnum): + CONTACT = 0 + GLOBAL = 1 + + +class StartChatDialog(Gtk.ApplicationWindow): + def __init__(self): + Gtk.ApplicationWindow.__init__(self) + self.set_name('StartChatDialog') + self.set_application(app.app) + self.set_position(Gtk.WindowPosition.CENTER) + self.set_show_menubar(False) + self.set_title(_('Start / Join Chat')) + self.set_type_hint(Gdk.WindowTypeHint.DIALOG) + self.set_default_size(-1, 600) + self.ready_to_destroy = False + self._parameter_form = None + self._keywords = [] + self._destroyed = False + self._search_stopped = False + self._redirected = False + self._source_id = None + + self._ui = get_builder('start_chat_dialog.ui') + self.add(self._ui.stack) + + self._nick_chooser = NickChooser() + self._ui.join_box.pack_start(self._nick_chooser, True, False, 0) + + self.new_contact_row_visible = False + self.new_contact_rows = {} + self.new_groupchat_rows = {} + self._accounts = app.get_enabled_accounts_with_labels() + + rows = [] + self._add_accounts() + self._add_contacts(rows) + self._add_groupchats(rows) + + self._ui.search_entry.connect('search-changed', + self._on_search_changed) + self._ui.search_entry.connect('next-match', + self._select_new_match, 'next') + self._ui.search_entry.connect('previous-match', + self._select_new_match, 'prev') + self._ui.search_entry.connect( + 'stop-search', lambda *args: self._ui.search_entry.set_text('')) + + self._ui.listbox.set_placeholder(self._ui.placeholder) + self._ui.listbox.set_filter_func(self._filter_func, None) + self._ui.listbox.connect('row-activated', self._on_row_activated) + + self._global_search_listbox = GlobalSearch() + self._global_search_listbox.connect('row-activated', + self._on_row_activated) + self._current_listbox = self._ui.listbox + + self._muc_info_box = GroupChatInfoScrolled() + self._ui.info_box.add(self._muc_info_box) + + self._ui.infobar.set_revealed(app.settings.get('show_help_start_chat')) + + self.connect('key-press-event', self._on_key_press) + self.connect('destroy', self._destroy) + + self.select_first_row() + self._ui.connect_signals(self) + self.show_all() + + if rows: + self._load_contacts(rows) + + def set_search_text(self, text): + self._ui.search_entry.set_text(text) + + def _global_search_active(self): + return self._ui.global_search_toggle.get_active() + + def _add_accounts(self): + for account in self._accounts: + self._ui.account_store.append([None, *account]) + + def _add_contacts(self, rows): + show_account = len(self._accounts) > 1 + for account, _label in self._accounts: + self.new_contact_rows[account] = None + for jid in app.contacts.get_jid_list(account): + contact = app.contacts.get_contact_with_highest_priority( + account, jid) + if contact.is_groupchat: + continue + rows.append(ContactRow(account, contact, jid, + contact.get_shown_name(), show_account)) + + def _add_groupchats(self, rows): + show_account = len(self._accounts) > 1 + for account, _label in self._accounts: + self.new_groupchat_rows[account] = None + con = app.connections[account] + bookmarks = con.get_module('Bookmarks').bookmarks + for bookmark in bookmarks: + jid = str(bookmark.jid) + name = get_groupchat_name(con, jid) + rows.append(ContactRow(account, None, jid, name, show_account, + groupchat=True)) + + def _load_contacts(self, rows): + generator = self._incremental_add(rows) + self._source_id = GLib.idle_add(lambda: next(generator, False), + priority=GLib.PRIORITY_LOW) + + def _incremental_add(self, rows): + for row in rows: + self._ui.listbox.add(row) + yield True + + self._ui.listbox.set_sort_func(self._sort_func, None) + self._source_id = None + + def _on_page_changed(self, stack, _param): + if stack.get_visible_child_name() == 'account': + self._ui.account_view.grab_focus() + + def _on_row_activated(self, _listbox, row): + if self._current_listbox_is(Search.GLOBAL): + self._select_muc() + else: + self._start_new_chat(row) + + def _select_muc(self): + if len(self._accounts) > 1: + self._ui.stack.set_visible_child_name('account') + else: + self._on_select_clicked() + + def _on_key_press(self, _widget, event): + is_search = self._ui.stack.get_visible_child_name() == 'search' + if event.keyval in (Gdk.KEY_Down, Gdk.KEY_Tab): + if not is_search: + return Gdk.EVENT_PROPAGATE + + if self._global_search_active(): + self._global_search_listbox.select_next() + else: + self._ui.search_entry.emit('next-match') + return Gdk.EVENT_STOP + + if (event.state == Gdk.ModifierType.SHIFT_MASK and + event.keyval == Gdk.KEY_ISO_Left_Tab): + if not is_search: + return Gdk.EVENT_PROPAGATE + + if self._global_search_active(): + self._global_search_listbox.select_prev() + else: + self._ui.search_entry.emit('previous-match') + return Gdk.EVENT_STOP + + if event.keyval == Gdk.KEY_Up: + if not is_search: + return Gdk.EVENT_PROPAGATE + + if self._global_search_active(): + self._global_search_listbox.select_prev() + else: + self._ui.search_entry.emit('previous-match') + return Gdk.EVENT_STOP + + if event.keyval == Gdk.KEY_Escape: + if self._ui.stack.get_visible_child_name() == 'progress': + self.destroy() + return Gdk.EVENT_STOP + + if self._ui.stack.get_visible_child_name() == 'account': + self._on_back_clicked() + return Gdk.EVENT_STOP + + if self._ui.stack.get_visible_child_name() in ('error', 'info'): + self._ui.stack.set_visible_child_name('search') + return Gdk.EVENT_STOP + + self._search_stopped = True + self._ui.search_entry.grab_focus() + self._scroll_to_first_row() + self._global_search_listbox.remove_all() + if self._ui.search_entry.get_text() != '': + self._ui.search_entry.emit('stop-search') + else: + self.destroy() + return Gdk.EVENT_STOP + + if event.keyval == Gdk.KEY_Return: + if self._ui.stack.get_visible_child_name() == 'progress': + return Gdk.EVENT_STOP + + if self._ui.stack.get_visible_child_name() == 'account': + self._on_select_clicked() + return Gdk.EVENT_STOP + + if self._ui.stack.get_visible_child_name() == 'error': + self._ui.stack.set_visible_child_name('search') + return Gdk.EVENT_STOP + + if self._ui.stack.get_visible_child_name() == 'info': + self._on_join_clicked() + return Gdk.EVENT_STOP + + if self._current_listbox_is(Search.GLOBAL): + if self._ui.search_entry.is_focus(): + self._global_search_listbox.remove_all() + self._start_search() + + elif self._global_search_listbox.get_selected_row() is not None: + self._select_muc() + return Gdk.EVENT_STOP + + row = self._ui.listbox.get_selected_row() + if row is not None: + row.emit('activate') + return Gdk.EVENT_STOP + + if is_search: + self._ui.search_entry.grab_focus_without_selecting() + return Gdk.EVENT_PROPAGATE + + def _on_infobar_response(self, _widget, response): + if response == Gtk.ResponseType.CLOSE: + self._ui.infobar.set_revealed(False) + app.settings.set('show_help_start_chat', False) + + def _start_new_chat(self, row): + if row.new: + try: + validate_jid(row.jid) + except ValueError as error: + self._show_error_page(error) + return + + if row.groupchat: + if not app.account_is_available(row.account): + self._show_error_page(_('You can not join a group chat ' + 'unless you are connected.')) + return + + self.ready_to_destroy = True + if app.interface.show_groupchat(row.account, row.jid): + return + + self.ready_to_destroy = False + self._redirected = False + self._disco_muc(row.account, row.jid, request_vcard=row.new) + + else: + app.interface.new_chat_from_jid(row.account, row.jid) + self.ready_to_destroy = True + + def _disco_muc(self, account, jid, request_vcard): + self._ui.stack.set_visible_child_name('progress') + con = app.connections[account] + con.get_module('Discovery').disco_muc( + jid, + request_vcard=request_vcard, + allow_redirect=True, + callback=self._disco_info_received, + user_data=account) + + def _disco_info_received(self, task): + try: + result = task.finish() + except StanzaError as error: + self._set_error(error) + return + + account = task.get_user_data() + + if result.info.is_muc: + self._muc_info_box.set_account(account) + self._muc_info_box.set_from_disco_info(result.info) + self._nick_chooser.set_text(get_group_chat_nick( + account, result.info.jid)) + self._ui.stack.set_visible_child_name('info') + + else: + self._set_error_from_code('not-muc-service') + + def _set_error(self, error): + text = MUC_DISCO_ERRORS.get(error.condition, to_user_string(error)) + if error.condition == 'gone': + reason = error.get_text(get_rfc5646_lang()) + if reason: + text = '%s:\n%s' % (text, reason) + self._show_error_page(text) + + def _set_error_from_code(self, error_code): + self._show_error_page(MUC_DISCO_ERRORS[error_code]) + + def _show_error_page(self, text): + self._ui.error_label.set_text(str(text)) + self._ui.stack.set_visible_child_name('error') + + def _on_join_clicked(self, _button=None): + account = self._muc_info_box.get_account() + jid = self._muc_info_box.get_jid() + nickname = self._nick_chooser.get_text() + app.interface.show_or_join_groupchat( + account, str(jid), nick=nickname) + self.ready_to_destroy = True + + def _on_back_clicked(self, _button=None): + self._ui.stack.set_visible_child_name('search') + + def _on_select_clicked(self, *args): + model, iter_ = self._ui.account_view.get_selection().get_selected() + if iter_ is not None: + account = model[iter_][1] + elif len(self._accounts) == 1: + account = self._accounts[0][0] + else: + return + + selected_row = self._global_search_listbox.get_selected_row() + if selected_row is None: + return + + if not app.account_is_available(account): + self._show_error_page(_('You can not join a group chat ' + 'unless you are connected.')) + return + + self._redirected = False + self._disco_muc(account, selected_row.jid, request_vcard=True) + + def _set_listbox(self, listbox): + if self._current_listbox == listbox: + return + viewport = self._ui.scrolledwindow.get_child() + viewport.remove(viewport.get_child()) + self._ui.scrolledwindow.remove(viewport) + self._ui.scrolledwindow.add(listbox) + self._current_listbox = listbox + + def _current_listbox_is(self, box): + if self._current_listbox == self._ui.listbox: + return box == Search.CONTACT + return box == Search.GLOBAL + + def _on_global_search_toggle(self, button): + self._ui.search_entry.grab_focus() + image_style_context = button.get_children()[0].get_style_context() + if button.get_active(): + image_style_context.add_class('selected-color') + self._set_listbox(self._global_search_listbox) + if self._ui.search_entry.get_text(): + self._start_search() + self._remove_new_jid_row() + self._ui.listbox.invalidate_filter() + else: + self._ui.search_entry.set_text('') + image_style_context.remove_class('selected-color') + self._set_listbox(self._ui.listbox) + self._global_search_listbox.remove_all() + + def _on_search_changed(self, entry): + if self._global_search_active(): + return + + search_text = entry.get_text() + if '@' in search_text: + self._add_new_jid_row() + self._update_new_jid_rows(search_text) + else: + self._remove_new_jid_row() + self._ui.listbox.invalidate_filter() + + def _add_new_jid_row(self): + if self.new_contact_row_visible: + return + for account in self.new_contact_rows: + show_account = len(self._accounts) > 1 + row = ContactRow(account, None, '', None, show_account) + self.new_contact_rows[account] = row + group_row = ContactRow(account, None, '', None, show_account, + groupchat=True) + self.new_groupchat_rows[account] = group_row + self._ui.listbox.add(row) + self._ui.listbox.add(group_row) + row.get_parent().show_all() + self.new_contact_row_visible = True + + def _remove_new_jid_row(self): + if not self.new_contact_row_visible: + return + for account in self.new_contact_rows: + self._ui.listbox.remove( + self.new_contact_rows[account]) + self._ui.listbox.remove( + self.new_groupchat_rows[account]) + self.new_contact_row_visible = False + + def _update_new_jid_rows(self, search_text): + for account in self.new_contact_rows: + self.new_contact_rows[account].update_jid(search_text) + self.new_groupchat_rows[account].update_jid(search_text) + + def _select_new_match(self, _entry, direction): + selected_row = self._ui.listbox.get_selected_row() + if selected_row is None: + return + + index = selected_row.get_index() + + if direction == 'next': + index += 1 + else: + index -= 1 + + while True: + new_selected_row = self._ui.listbox.get_row_at_index(index) + if new_selected_row is None: + return + if new_selected_row.get_child_visible(): + self._ui.listbox.select_row(new_selected_row) + new_selected_row.grab_focus() + return + if direction == 'next': + index += 1 + else: + index -= 1 + + def select_first_row(self): + first_row = self._ui.listbox.get_row_at_y(0) + self._ui.listbox.select_row(first_row) + + def _scroll_to_first_row(self): + self._ui.scrolledwindow.get_vadjustment().set_value(0) + + def _filter_func(self, row, _user_data): + search_text = self._ui.search_entry.get_text().lower() + search_text_list = search_text.split() + row_text = row.get_search_text().lower() + for text in search_text_list: + if text not in row_text: + GLib.timeout_add(50, self.select_first_row) + return None + GLib.timeout_add(50, self.select_first_row) + return True + + @staticmethod + def _sort_func(row1, row2, _user_data): + name1 = row1.get_search_text() + name2 = row2.get_search_text() + account1 = row1.account + account2 = row2.account + is_groupchat1 = row1.groupchat + is_groupchat2 = row2.groupchat + new1 = row1.new + new2 = row2.new + + result = locale.strcoll(account1.lower(), account2.lower()) + if result != 0: + return result + + if new1 != new2: + return 1 if new1 else -1 + + if is_groupchat1 != is_groupchat2: + return 1 if is_groupchat1 else -1 + + return locale.strcoll(name1.lower(), name2.lower()) + + def _start_search(self): + self._search_stopped = False + accounts = app.get_connected_accounts() + if not accounts: + return + con = app.connections[accounts[0]].connection + + text = self._ui.search_entry.get_text().strip() + self._global_search_listbox.start_search() + + if app.settings.get('muclumbus_api_pref') == 'http': + self._start_http_search(con, text) + else: + self._start_iq_search(con, text) + + @as_task + def _start_iq_search(self, con, text): + _task = yield + + if self._parameter_form is None: + result = yield con.get_module('Muclumbus').request_parameters( + app.settings.get('muclumbus_api_jid')) + + self._process_search_result(result, parameters=True) + + self._parameter_form = result + self._parameter_form.type_ = 'submit' + + self._parameter_form.vars['q'].value = text + + result = yield con.get_module('Muclumbus').set_search( + app.settings.get('muclumbus_api_jid'), + self._parameter_form) + + self._process_search_result(result) + + while not result.end: + result = yield con.get_module('Muclumbus').set_search( + app.settings.get('muclumbus_api_jid'), + self._parameter_form, + items_per_page=result.max, + after=result.last) + + self._process_search_result(result) + + self._global_search_listbox.end_search() + + @as_task + def _start_http_search(self, con, text): + _task = yield + + self._keywords = text.split(' ') + result = yield con.get_module('Muclumbus').set_http_search( + app.settings.get('muclumbus_api_http_uri'), + self._keywords) + + self._process_search_result(result) + + while not result.end: + result = yield con.get_module('Muclumbus').set_http_search( + app.settings.get('muclumbus_api_http_uri'), + self._keywords, + after=result.last) + + self._process_search_result(result) + + self._global_search_listbox.end_search() + + def _process_search_result(self, result, parameters=False): + if self._search_stopped: + raise CancelledError() + + if is_error(result): + self._global_search_listbox.remove_progress() + self._show_error_page(to_user_string(result)) + raise result + + if parameters: + return + + for item in result.items: + self._global_search_listbox.add(ResultRow(item)) + + def _destroy(self, *args): + if self._source_id is not None: + GLib.source_remove(self._source_id) + self._destroyed = True + app.cancel_tasks(self) + + +class ContactRow(Gtk.ListBoxRow): + def __init__(self, account, contact, jid, name, show_account, + groupchat=False): + Gtk.ListBoxRow.__init__(self) + self.get_style_context().add_class('start-chat-row') + self.account = account + self.account_label = app.get_account_label(account) + self.show_account = show_account + self.jid = jid + self.contact = contact + self.name = name + self.groupchat = groupchat + self.new = jid == '' + + show = contact.show if contact else 'offline' + + grid = Gtk.Grid() + grid.set_column_spacing(12) + grid.set_size_request(260, -1) + + image = self._get_avatar_image(account, jid, show) + image.set_size_request(AvatarSize.CHAT, AvatarSize.CHAT) + grid.add(image) + + box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=0) + box.set_hexpand(True) + + if self.name is None: + if self.groupchat: + self.name = _('Join Group Chat') + else: + self.name = _('Start Chat') + + self.name_label = Gtk.Label(label=self.name) + self.name_label.set_ellipsize(Pango.EllipsizeMode.END) + self.name_label.set_xalign(0) + self.name_label.set_width_chars(20) + self.name_label.set_halign(Gtk.Align.START) + self.name_label.get_style_context().add_class('bold16') + name_box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=6) + name_box.add(self.name_label) + if show_account: + account_badge = generate_account_badge(account) + account_badge.set_tooltip_text( + _('Account: %s') % self.account_label) + account_badge.set_halign(Gtk.Align.END) + account_badge.set_valign(Gtk.Align.START) + account_badge.set_hexpand(True) + name_box.add(account_badge) + box.add(name_box) + + self.jid_label = Gtk.Label(label=jid) + self.jid_label.set_tooltip_text(jid) + self.jid_label.set_ellipsize(Pango.EllipsizeMode.END) + self.jid_label.set_xalign(0) + self.jid_label.set_width_chars(22) + self.jid_label.set_halign(Gtk.Align.START) + self.jid_label.get_style_context().add_class('dim-label') + box.add(self.jid_label) + + grid.add(box) + + self.add(grid) + self.show_all() + + def _get_avatar_image(self, account, jid, show): + if self.new: + icon_name = 'avatar-default' + if self.groupchat: + icon_name = get_icon_name('muc-inactive') + return Gtk.Image.new_from_icon_name(icon_name, Gtk.IconSize.DND) + + scale = self.get_scale_factor() + if self.groupchat: + surface = app.interface.avatar_storage.get_muc_surface( + account, jid, AvatarSize.CHAT, scale) + return Gtk.Image.new_from_surface(surface) + + avatar = app.contacts.get_avatar( + account, jid, AvatarSize.CHAT, scale, show) + return Gtk.Image.new_from_surface(avatar) + + def update_jid(self, jid): + self.jid = jid + self.jid_label.set_text(jid) + + def get_search_text(self): + if self.contact is None and not self.groupchat: + return self.jid + if self.show_account: + return '%s %s %s' % (self.name, self.jid, self.account_label) + return '%s %s' % (self.name, self.jid) + + +class GlobalSearch(Gtk.ListBox): + def __init__(self): + Gtk.ListBox.__init__(self) + self.set_has_tooltip(True) + self.set_activate_on_single_click(False) + self._progress = None + self._add_placeholder() + self.show_all() + + def _add_placeholder(self): + placeholder = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=12) + placeholder.set_halign(Gtk.Align.CENTER) + placeholder.set_valign(Gtk.Align.CENTER) + icon = Gtk.Image.new_from_icon_name('system-search-symbolic', + Gtk.IconSize.DIALOG) + icon.get_style_context().add_class('dim-label') + label = Gtk.Label(label=_('Search for group chats globally\n' + '(press Return to start search)')) + label.get_style_context().add_class('dim-label') + label.set_justify(Gtk.Justification.CENTER) + label.set_max_width_chars(35) + placeholder.add(icon) + placeholder.add(label) + placeholder.show_all() + self.set_placeholder(placeholder) + + def remove_all(self): + def remove(row): + self.remove(row) + row.destroy() + self.foreach(remove) + + def remove_progress(self): + self.remove(self._progress) + self._progress.destroy() + + def start_search(self): + self._progress = ProgressRow() + super().add(self._progress) + + def end_search(self): + self._progress.stop() + + def add(self, row): + super().add(row) + if self.get_selected_row() is None: + row = self.get_row_at_index(1) + if row is not None: + self.select_row(row) + row.grab_focus() + self._progress.update() + + def _select(self, direction): + selected_row = self.get_selected_row() + if selected_row is None: + return + + index = selected_row.get_index() + if direction == 'next': + index += 1 + else: + index -= 1 + + new_selected_row = self.get_row_at_index(index) + if new_selected_row is None: + return + + self.select_row(new_selected_row) + new_selected_row.grab_focus() + + def select_next(self): + self._select('next') + + def select_prev(self): + self._select('prev') + + +class ResultRow(Gtk.ListBoxRow): + def __init__(self, item): + Gtk.ListBoxRow.__init__(self) + self.set_activatable(True) + self.get_style_context().add_class('start-chat-row') + self.new = False + self.jid = item.jid + self.groupchat = True + + name_label = Gtk.Label(label=item.name) + name_label.set_halign(Gtk.Align.START) + name_label.set_ellipsize(Pango.EllipsizeMode.END) + name_label.set_max_width_chars(40) + name_label.get_style_context().add_class('bold16') + jid_label = Gtk.Label(label=item.jid) + jid_label.set_halign(Gtk.Align.START) + jid_label.set_ellipsize(Pango.EllipsizeMode.END) + jid_label.set_max_width_chars(40) + box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) + box.add(name_label) + box.add(jid_label) + + self.add(box) + self.show_all() + + +class ProgressRow(Gtk.ListBoxRow): + def __init__(self): + Gtk.ListBoxRow.__init__(self) + self.set_selectable(False) + self.set_activatable(False) + self.get_style_context().add_class('start-chat-row') + self._text = _('%s group chats found') + self._count = 0 + self._spinner = Gtk.Spinner() + self._spinner.start() + self._count_label = Gtk.Label(label=self._text % 0) + self._count_label.get_style_context().add_class('bold') + self._finished_image = Gtk.Image.new_from_icon_name( + 'emblem-ok-symbolic', Gtk.IconSize.MENU) + self._finished_image.get_style_context().add_class('success-color') + self._finished_image.set_no_show_all(True) + + box = Gtk.Box() + box.set_spacing(6) + box.add(self._finished_image) + box.add(self._spinner) + box.add(self._count_label) + self.add(box) + self.show_all() + + def update(self): + self._count += 1 + self._count_label.set_text(self._text % self._count) + + def stop(self): + self._spinner.stop() + self._spinner.hide() + self._finished_image.show() diff --git a/gajim/gtk/status_change.py b/gajim/gtk/status_change.py new file mode 100644 index 0000000..2d04e6d --- /dev/null +++ b/gajim/gtk/status_change.py @@ -0,0 +1,567 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from gi.repository import Gdk +from gi.repository import Gtk + +from gajim.common import app +from gajim.common.const import ACTIVITIES +from gajim.common.const import MOODS +from gajim.common.helpers import from_one_line +from gajim.common.helpers import to_one_line +from gajim.common.helpers import remove_invalid_xml_chars +from gajim.common.i18n import _ + +from .dialogs import TimeoutWindow +from .dialogs import DialogButton +from .dialogs import ConfirmationDialog +from .dialogs import InputDialog +from .util import get_builder +from .util import get_activity_icon_name + +if app.is_installed('GSPELL'): + from gi.repository import Gspell # pylint: disable=ungrouped-imports + +ACTIVITY_PAGELIST = [ + 'doing_chores', + 'drinking', + 'eating', + 'exercising', + 'grooming', + 'having_appointment', + 'inactive', + 'relaxing', + 'talking', + 'traveling', + 'working', +] + + +class StatusChange(Gtk.ApplicationWindow, TimeoutWindow): + def __init__(self, callback=None, account=None, status=None, show_pep=True): + Gtk.ApplicationWindow.__init__(self) + countdown_time = app.settings.get('change_status_window_timeout') + TimeoutWindow.__init__(self, countdown_time) + self.set_name('StatusChange') + self.set_application(app.app) + self.set_position(Gtk.WindowPosition.CENTER) + self.set_default_size(400, 350) + self.set_show_menubar(False) + self.set_transient_for(app.interface.roster.window) + self.title_text = _('Status Message') # TimeoutWindow + + self.account = account + self._callback = callback + self._status = status + self._show_pep = show_pep + + self._ui = get_builder('status_change_window.ui') + self.add(self._ui.status_stack) + + self._status_message = '' + self._pep_dict = { + 'activity': '', + 'subactivity': '', + 'mood': '', + } + self._get_current_status_data() + self._presets = {} + self._get_presets() + + if self._status: + self._ui.activity_switch.set_active(self._pep_dict['activity']) + self._ui.activity_page_button.set_sensitive( + self._pep_dict['activity']) + self._ui.mood_switch.set_active(self._pep_dict['mood']) + self._ui.mood_page_button.set_sensitive(self._pep_dict['mood']) + + self._message_buffer = self._ui.message_textview.get_buffer() + self._apply_speller() + self._message_buffer.set_text(from_one_line(self._status_message)) + + self._activity_btns = {} + self._mood_btns = {} + if show_pep: + self._init_activities() + self._draw_activity() + self._init_moods() + self._draw_mood() + else: + self._ui.pep_grid.set_no_show_all(True) + self._ui.pep_grid.hide() + + self._message_buffer.connect('changed', self.stop_timeout) + self.connect('key-press-event', self._on_key_press) + self._ui.connect_signals(self) + + self.show_all() + self.start_timeout() + + def on_timeout(self): + self._change_status() + + def _on_key_press(self, _widget, event): + self.stop_timeout() + if event.keyval in (Gdk.KEY_Return, Gdk.KEY_KP_Enter): + if event.get_state() & Gdk.ModifierType.CONTROL_MASK: + self._change_status() + if event.keyval == Gdk.KEY_Escape: + self.destroy() + + def _apply_speller(self): + if app.settings.get('use_speller') and app.is_installed('GSPELL'): + lang = app.settings.get('speller_language') + gspell_lang = Gspell.language_lookup(lang) + if gspell_lang is None: + gspell_lang = Gspell.language_get_default() + spell_buffer = Gspell.TextBuffer.get_from_gtk_text_buffer( + self._message_buffer) + spell_buffer.set_spell_checker(Gspell.Checker.new(gspell_lang)) + spell_view = Gspell.TextView.get_from_gtk_text_view( + self._ui.message_textview) + spell_view.set_inline_spell_checking(True) + spell_view.set_enable_language_menu(True) + + def _get_current_status_data(self): + ''' + Gathers status/pep data for a given account or checks if all accounts + are synchronized. If not, no status message/pep data will be displayed. + ''' + if self.account: + client = app.get_client(self.account) + self._status_message = client.status_message + activity_data = client.get_module( + 'UserActivity').get_current_activity() + mood_data = client.get_module('UserMood').get_current_mood() + if activity_data: + self._pep_dict['activity'] = activity_data.activity + self._pep_dict['subactivity'] = activity_data.subactivity + if mood_data: + self._pep_dict['mood'] = mood_data.mood + else: + status_messages = [] + activities = [] + subactivities = [] + moods = [] + for account in app.connections: + client = app.get_client(account) + if not app.settings.get_account_setting( + client.account, 'sync_with_global_status'): + continue + + status_messages.append(client.status_message) + activity_data = client.get_module( + 'UserActivity').get_current_activity() + mood_data = client.get_module('UserMood').get_current_mood() + if activity_data: + activities.append(activity_data.activity) + subactivities.append(activity_data.subactivity) + if mood_data: + moods.append(mood_data.mood) + equal_messages = all(x == status_messages[0] for x in + status_messages) + equal_activities = all(x == activities[0] for x in activities) + equal_subactivities = all(x == subactivities[0] for x in + subactivities) + equal_moods = all(x == moods[0] for x in moods) + if status_messages and equal_messages: + self._status_message = status_messages[0] + if activities and equal_activities: + self._pep_dict['activity'] = activities[0] + if subactivities and equal_subactivities: + self._pep_dict['subactivity'] = subactivities[0] + if moods and equal_moods: + self._pep_dict['mood'] = moods[0] + + def _get_presets(self): + self._presets = {} + for preset_name in app.settings.get_status_presets(): + preset = app.settings.get_status_preset_settings(preset_name) + opts = list(preset.values()) + opts[0] = from_one_line(opts[0]) + self._presets[preset_name] = opts + self._build_preset_popover() + + def _build_preset_popover(self): + child = self._ui.preset_popover.get_children() + if child: + self._ui.preset_popover.remove(child[0]) + + preset_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) + preset_box.get_style_context().add_class('margin-3') + self._ui.preset_popover.add(preset_box) + + for preset in self._presets: + button_box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) + + preset_button = Gtk.Button() + preset_button.set_name(preset) + preset_button.set_relief(Gtk.ReliefStyle.NONE) + preset_button.set_hexpand(True) + preset_button.add(Gtk.Label(label=preset, halign=Gtk.Align.START)) + preset_button.connect('clicked', self._on_preset_select) + button_box.add(preset_button) + + remove_button = Gtk.Button() + remove_button.set_name(preset) + remove_button.set_relief(Gtk.ReliefStyle.NONE) + remove_button.set_halign(Gtk.Align.END) + remove_button.add(Gtk.Image.new_from_icon_name( + 'edit-delete-symbolic', Gtk.IconSize.MENU)) + remove_button.connect('clicked', self._on_preset_remove) + button_box.add(remove_button) + preset_box.add(button_box) + preset_box.show_all() + + def _init_activities(self): + group = None + + for category in ACTIVITIES: + icon_name = get_activity_icon_name(category) + item = self._ui.get_object(category + '_image') + item.set_from_icon_name(icon_name, Gtk.IconSize.MENU) + item.set_tooltip_text(ACTIVITIES[category]['category']) + + category_box = self._ui.get_object(category + '_box') + + # Other + act = category + '_other' + if group: + self._activity_btns[act] = Gtk.RadioButton() + self._activity_btns[act].join_group(group) + else: + self._activity_btns[act] = group = Gtk.RadioButton() + + icon = Gtk.Image.new_from_icon_name(icon_name, Gtk.IconSize.MENU) + icon_box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, + spacing=6) + icon_box.pack_start(icon, False, False, 0) + label = Gtk.Label( + label='%s' % ACTIVITIES[category]['category']) + label.set_use_markup(True) + icon_box.pack_start(label, False, False, 0) + self._activity_btns[act].add(icon_box) + self._activity_btns[act].join_group(self._ui.no_activity_button) + self._activity_btns[act].connect( + 'toggled', self._on_activity_toggled, [category, 'other']) + category_box.pack_start(self._activity_btns[act], False, False, 0) + + activities = list(ACTIVITIES[category].keys()) + activities.sort() + for activity in activities: + if activity == 'category': + continue + + act = category + '_' + activity + + if group: + self._activity_btns[act] = Gtk.RadioButton() + self._activity_btns[act].join_group(group) + else: + self._activity_btns[act] = group = Gtk.RadioButton() + + icon_name = get_activity_icon_name(category, activity) + icon = Gtk.Image.new_from_icon_name( + icon_name, Gtk.IconSize.MENU) + label = Gtk.Label(label=ACTIVITIES[category][activity]) + icon_box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, + spacing=6) + icon_box.pack_start(icon, False, False, 0) + icon_box.pack_start(label, False, False, 0) + self._activity_btns[act].join_group( + self._ui.no_activity_button) + self._activity_btns[act].connect( + 'toggled', self._on_activity_toggled, [category, activity]) + self._activity_btns[act].add(icon_box) + category_box.pack_start( + self._activity_btns[act], False, False, 0) + + if not self._pep_dict['activity']: + self._ui.no_activity_button.set_active(True) + + if self._pep_dict['activity'] in ACTIVITIES: + if self._pep_dict['subactivity'] not in ACTIVITIES[ + self._pep_dict['activity']]: + self._pep_dict['subactivity'] = 'other' + + self._activity_btns[ + self._pep_dict['activity'] + '_' + self._pep_dict[ + 'subactivity']].set_active(True) + + self._ui.activity_notebook.set_current_page( + ACTIVITY_PAGELIST.index(self._pep_dict['activity'])) + + def _draw_activity(self): + if self._pep_dict['activity'] in ACTIVITIES: + if (self._pep_dict['subactivity'] in + ACTIVITIES[self._pep_dict['activity']]): + icon_name = get_activity_icon_name( + self._pep_dict['activity'], + self._pep_dict['subactivity']) + self._ui.activity_image.set_from_icon_name( + icon_name, Gtk.IconSize.MENU) + self._ui.activity_button_label.set_text( + ACTIVITIES[self._pep_dict['activity']][ + self._pep_dict['subactivity']]) + self._activity_btns[ + self._pep_dict['activity'] + '_' + self._pep_dict[ + 'subactivity']].set_active(True) + self._ui.activity_notebook.set_current_page( + ACTIVITY_PAGELIST.index(self._pep_dict['activity'])) + else: + icon_name = get_activity_icon_name(self._pep_dict['activity']) + self._ui.activity_image.set_from_icon_name( + icon_name, Gtk.IconSize.MENU) + self._ui.activity_button_label.set_text( + ACTIVITIES[self._pep_dict['activity']]['category']) + else: + self._ui.activity_image.set_from_pixbuf(None) + self._ui.activity_button_label.set_text(_('No activity')) + + def _init_moods(self): + self._ui.no_mood_button.set_mode(False) + self._ui.no_mood_button.connect( + 'clicked', self._on_mood_button_clicked, None) + + x_position = 1 + y_position = 0 + + # Order them first + moods = [] + for mood in MOODS: + moods.append(mood) + moods.sort() + + for mood in moods: + image = Gtk.Image.new_from_icon_name( + 'mood-%s' % mood, Gtk.IconSize.MENU) + self._mood_btns[mood] = Gtk.RadioButton() + self._mood_btns[mood].join_group(self._ui.no_mood_button) + self._mood_btns[mood].set_mode(False) + self._mood_btns[mood].add(image) + self._mood_btns[mood].set_relief(Gtk.ReliefStyle.NONE) + self._mood_btns[mood].set_tooltip_text(MOODS[mood]) + self._mood_btns[mood].connect( + 'clicked', self._on_mood_button_clicked, mood) + self._ui.moods_grid.attach( + self._mood_btns[mood], x_position, y_position, 1, 1) + + # Calculate the next position + x_position += 1 + if x_position >= 11: + x_position = 0 + y_position += 1 + + if self._pep_dict['mood'] in MOODS: + self._mood_btns[self._pep_dict['mood']].set_active(True) + self._ui.mood_label.set_text(MOODS[self._pep_dict['mood']]) + else: + self._ui.mood_label.set_text(_('No mood selected')) + + def _draw_mood(self): + if self._pep_dict['mood'] in MOODS: + self._ui.mood_image.set_from_icon_name( + 'mood-%s' % self._pep_dict['mood'], Gtk.IconSize.MENU) + self._ui.mood_button_label.set_text( + MOODS[self._pep_dict['mood']]) + self._mood_btns[self._pep_dict['mood']].set_active(True) + self._ui.mood_label.set_text(MOODS[self._pep_dict['mood']]) + else: + self._ui.mood_image.set_from_pixbuf(None) + self._ui.mood_button_label.set_text(_('No mood')) + self._ui.mood_label.set_text(_('No mood selected')) + + def _on_preset_select(self, widget): + self.stop_timeout() + self._ui.preset_popover.popdown() + name = widget.get_name() + self._message_buffer.set_text(self._presets[name][0]) + self._pep_dict['activity'] = self._presets[name][1] + self._pep_dict['subactivity'] = self._presets[name][2] + self._pep_dict['mood'] = self._presets[name][3] + self._draw_activity() + self._draw_mood() + + self._ui.activity_switch.set_active(self._pep_dict['activity']) + self._ui.activity_page_button.set_sensitive(self._pep_dict['activity']) + self._ui.mood_switch.set_active(self._pep_dict['mood']) + self._ui.mood_page_button.set_sensitive(self._pep_dict['mood']) + + def _on_preset_remove(self, widget): + self.stop_timeout() + name = widget.get_name() + app.settings.remove_status_preset(name) + self._get_presets() + + def _on_save_as_preset_clicked(self, _widget): + self.stop_timeout() + start_iter, finish_iter = self._message_buffer.get_bounds() + message_text = self._message_buffer.get_text( + start_iter, finish_iter, True) + + def _on_save_preset(preset_name): + msg_text_one_line = to_one_line(message_text) + if not preset_name: + preset_name = msg_text_one_line + + def _on_set_config(): + activity = '' + subactivity = '' + mood = '' + if self._ui.activity_switch.get_active(): + activity = self._pep_dict['activity'] + subactivity = self._pep_dict['subactivity'] + if self._ui.mood_switch.get_active(): + mood = self._pep_dict['mood'] + app.settings.set_status_preset_setting( + preset_name, 'message', msg_text_one_line) + app.settings.set_status_preset_setting( + preset_name, 'activity', activity) + app.settings.set_status_preset_setting( + preset_name, 'subactivity', subactivity) + app.settings.set_status_preset_setting( + preset_name, 'mood', mood) + self._get_presets() + + if preset_name in self._presets: + ConfirmationDialog( + _('Overwrite'), + _('Overwrite Status Message?'), + _('This name is already in use. Do you want to ' + 'overwrite this preset?'), + [DialogButton.make('Cancel'), + DialogButton.make('Remove', + text=_('_Overwrite'), + callback=_on_set_config)], + transient_for=self).show() + return + + _on_set_config() + + InputDialog( + _('Status Preset'), + _('Save status as preset'), + _('Please assign a name to this status message preset'), + [DialogButton.make('Cancel'), + DialogButton.make('Accept', + text=_('_Save'), + callback=_on_save_preset)], + input_str=_('New Status'), + transient_for=self).show() + + def _on_activity_page_clicked(self, _widget): + self.stop_timeout() + self._ui.status_stack.set_visible_child_full( + 'activity-page', + Gtk.StackTransitionType.SLIDE_LEFT) + + def _on_activity_toggled(self, widget, data): + if widget.get_active(): + self._pep_dict['activity'] = data[0] + self._pep_dict['subactivity'] = data[1] + + def _on_no_activity_toggled(self, _widget): + self._pep_dict['activity'] = '' + self._pep_dict['subactivity'] = '' + + def _on_mood_page_clicked(self, _widget): + self.stop_timeout() + self._ui.status_stack.set_visible_child_full( + 'mood-page', + Gtk.StackTransitionType.SLIDE_LEFT) + + def _on_mood_button_clicked(self, _widget, data): + if data: + self._ui.mood_label.set_text(MOODS[data]) + else: + self._ui.mood_label.set_text(_('No mood selected')) + self._pep_dict['mood'] = data + + def _on_back_clicked(self, _widget): + self._ui.status_stack.set_visible_child_full( + 'status-page', + Gtk.StackTransitionType.SLIDE_RIGHT) + self._draw_activity() + self._draw_mood() + + def _on_activity_switch(self, switch, *args): + self.stop_timeout() + self._ui.activity_page_button.set_sensitive(switch.get_active()) + + def _on_mood_switch(self, switch, *args): + self.stop_timeout() + self._ui.mood_page_button.set_sensitive(switch.get_active()) + + def _send_user_mood(self): + mood = None + if self._ui.mood_switch.get_active(): + mood = self._pep_dict['mood'] + + if self.account is None: + for client in app.get_available_clients(): + if not app.settings.get_account_setting( + client.account, 'sync_with_global_status'): + continue + client.set_user_mood(mood) + + else: + client = app.get_client(self.account) + client.set_user_mood(mood) + + def _send_user_activity(self): + activity = None + if self._ui.activity_switch.get_active(): + activity = (self._pep_dict['activity'], + self._pep_dict['subactivity']) + + if self.account is None: + for client in app.get_available_clients(): + if not app.settings.get_account_setting( + client.account, 'sync_with_global_status'): + continue + client.set_user_activity(activity) + + else: + client = app.get_client(self.account) + client.set_user_activity(activity) + + def _send_status_and_message(self, message): + if self.account is not None: + app.interface.roster.send_status(self.account, + self._status, + message) + return + + for account in app.connections: + if not app.settings.get_account_setting( + account, 'sync_with_global_status'): + continue + + app.interface.roster.send_status(account, self._status, message) + + def _change_status(self, *args): + self.stop_timeout() + beg, end = self._message_buffer.get_bounds() + message = self._message_buffer.get_text(beg, end, True).strip() + message = remove_invalid_xml_chars(message) + + if self._show_pep: + self._send_user_activity() + self._send_user_mood() + + if self._callback is not None: + self._callback(message) + else: + self._send_status_and_message(message) + self.destroy() diff --git a/gajim/gtk/status_selector.py b/gajim/gtk/status_selector.py new file mode 100644 index 0000000..038f0a6 --- /dev/null +++ b/gajim/gtk/status_selector.py @@ -0,0 +1,131 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from gi.repository import Gtk +from gi.repository import Pango + +from gajim.common import app +from gajim.common.helpers import get_uf_show +from gajim.common.helpers import get_global_show +from gajim.common.helpers import statuses_unified +from gajim.common.i18n import _ + +from .util import get_icon_name + + +class StatusSelector(Gtk.MenuButton): + def __init__(self, compact=False): + Gtk.MenuButton.__init__(self) + self.set_direction(Gtk.ArrowType.UP) + self._compact = compact + self._create_popover() + self.set_no_show_all(True) + + self._current_show_icon = Gtk.Image() + self._current_show_icon.set_from_icon_name( + get_icon_name('offline'), Gtk.IconSize.MENU) + + box = Gtk.Box(spacing=6) + box.add(self._current_show_icon) + if not self._compact: + self._current_show_label = Gtk.Label(label=get_uf_show('offline')) + self._current_show_label.set_ellipsize(Pango.EllipsizeMode.END) + self._current_show_label.set_halign(Gtk.Align.START) + self._current_show_label.set_xalign(0) + box.add(self._current_show_label) + box.show_all() + self.add(box) + + def _create_popover(self): + popover_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) + popover_box.get_style_context().add_class('margin-3') + popover_items = [ + 'online', + 'away', + 'xa', + 'dnd', + 'separator', + 'change_status_message', + 'separator', + 'offline', + ] + + for item in popover_items: + if item == 'separator': + popover_box.add(Gtk.Separator()) + continue + + show_icon = Gtk.Image() + show_label = Gtk.Label() + show_label.set_halign(Gtk.Align.START) + + if item == 'change_status_message': + show_icon.set_from_icon_name('document-edit-symbolic', + Gtk.IconSize.MENU) + show_label.set_text_with_mnemonic(_('_Change Status Message')) + else: + show_icon.set_from_icon_name(get_icon_name(item), + Gtk.IconSize.MENU) + show_label.set_text_with_mnemonic( + get_uf_show(item, use_mnemonic=True)) + + show_box = Gtk.Box(spacing=6) + show_box.add(show_icon) + show_box.add(show_label) + + button = Gtk.Button() + button.set_name(item) + button.set_relief(Gtk.ReliefStyle.NONE) + button.add(show_box) + button.connect('clicked', self._on_change_status) + + if item == 'change_status_message': + self._change_status_message = button + + popover_box.add(button) + + popover_box.show_all() + self._status_popover = Gtk.Popover() + self._status_popover.add(popover_box) + self.set_popover(self._status_popover) + + def _on_change_status(self, button): + self._status_popover.popdown() + new_status = button.get_name() + if new_status == 'change_status_message': + new_status = None + app.interface.change_status(status=new_status) + + def update(self): + if not app.connections: + self.hide() + return + + self.show() + show = get_global_show() + uf_show = get_uf_show(show) + self._current_show_icon.set_from_icon_name( + get_icon_name(show), Gtk.IconSize.MENU) + if statuses_unified(): + self._current_show_icon.set_tooltip_text(_('Status: %s') % uf_show) + if not self._compact: + self._current_show_label.set_text(uf_show) + else: + show_label = _('%s (desynced)') % uf_show + self._current_show_icon.set_tooltip_text( + _('Status: %s') % show_label) + if not self._compact: + self._current_show_label.set_text(show_label) + + self._change_status_message.set_sensitive(show != 'offline') diff --git a/gajim/gtk/statusicon.py b/gajim/gtk/statusicon.py new file mode 100644 index 0000000..53fd221 --- /dev/null +++ b/gajim/gtk/statusicon.py @@ -0,0 +1,363 @@ +# Copyright (C) 2006 Nikos Kouremenos +# Copyright (C) 2006-2007 Jean-Marie Traissard +# Copyright (C) 2006-2014 Yann Leboulanger +# Copyright (C) 2007 Lukas Petrovicky +# Julien Pivotto +# Copyright (C) 2008 Jonathan Schleifer +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import os + +from gi.repository import Gtk +from gi.repository import GLib + +from gajim.common import app +from gajim.common import helpers +from gajim.common.i18n import _ +from gajim.common.helpers import save_roster_position + +from .util import get_builder +from .util import get_icon_name +from .util import restore_roster_position +from .util import open_window +from .single_message import SingleMessageWindow +from .tooltips import NotificationAreaTooltip + + +class StatusIcon: + """ + Class for the notification area icon + """ + + def __init__(self): + self._single_message_handler_id = None + self._show_roster_handler_id = None + # click somewhere else does not popdown menu. workaround this. + self.added_hide_menuitem = False + self.status = 'offline' + self._ui = get_builder('systray_context_menu.ui') + self.systray_context_menu = self._ui.systray_context_menu + self._ui.connect_signals(self) + self.popup_menus = [] + self.status_icon = None + self.tooltip = NotificationAreaTooltip() + self._icon_size = '16' + + def show_icon(self): + if not self.status_icon: + self.status_icon = Gtk.StatusIcon() + self.status_icon.set_property('has-tooltip', True) + self.status_icon.connect('activate', self._on_activate) + self.status_icon.connect('popup-menu', self._on_popup_menu) + self.status_icon.connect('query-tooltip', self._on_query_tooltip) + self.status_icon.connect('size-changed', self.set_img) + + self.set_img() + self._subscribe_events() + + def hide_icon(self): + self.status_icon.set_visible(False) + self._unsubscribe_events() + + def change_status(self, global_status): + """ + Set tray image to 'global_status' + """ + # change image and status, only if it is different + if global_status is not None and self.status != global_status: + self.status = global_status + self.set_img() + + def _subscribe_events(self): + """ + Register listeners to the events class + """ + app.events.event_added_subscribe(self._on_event_added) + app.events.event_removed_subscribe(self._on_event_removed) + + def _unsubscribe_events(self): + """ + Unregister listeners to the events class + """ + app.events.event_added_unsubscribe(self._on_event_added) + app.events.event_removed_unsubscribe(self._on_event_removed) + + def _on_event_added(self, event): + """ + Called when an event is added to the event list + """ + if event.show_in_systray: + self.set_img() + + def _on_event_removed(self, _event_list): + """ + Called when one or more events are removed from the event list + """ + self.set_img() + + def _on_query_tooltip(self, _status_icon, _x, _y, _keyboard_mode, tooltip): + tooltip.set_custom(self.tooltip.get_tooltip()) + return True + + def _on_popup_menu(self, _status_icon, button, activate_time): + if button == 1: # Left click + self._on_left_click() + elif button == 2: # middle click + self._on_middle_click() + elif button == 3: # right click + self._make_menu(button, activate_time) + + def _on_activate(self, _status_icon): + self._on_left_click() + + def on_status_icon_size_changed(self, _statusicon, size): + if size > 31: + self._icon_size = '32' + elif size > 23: + self._icon_size = '24' + else: + self._icon_size = '16' + if os.environ.get('KDE_FULL_SESSION') == 'true': + # detect KDE session. see #5476 + self._icon_size = '32' + self.set_img() + + def set_img(self, *args): + """ + Apart from image, we also update tooltip text here + """ + if not app.interface.systray_enabled: + return + if app.settings.get('trayicon') == 'always': + self.status_icon.set_visible(True) + if app.events.get_nb_systray_events(): + self.status_icon.set_visible(True) + + icon_name = get_icon_name('event') + self.status_icon.set_from_icon_name(icon_name) + return + + if app.settings.get('trayicon') == 'on_event': + self.status_icon.set_visible(False) + + icon_name = get_icon_name(self.status) + self.status_icon.set_from_icon_name(icon_name) + + @staticmethod + def _on_single_message(_widget, account): + SingleMessageWindow(account, action='send') + + @staticmethod + def _on_new_chat(_widget): + app.app.activate_action('start-chat', GLib.Variant('s', '')) + + def _make_menu(self, _event_button, event_time): + """ + Create chat with and new message (sub) menus/menuitems + """ + for menu in self.popup_menus: + menu.destroy() + + start_chat_menuitem = self._ui.start_chat_menuitem + single_message_menuitem = self._ui.single_message_menuitem + status_menuitem = self._ui.status_menu + sounds_mute_menuitem = self._ui.sounds_mute_menuitem + show_roster_menuitem = self._ui.show_roster_menuitem + + if self._single_message_handler_id: + single_message_menuitem.handler_disconnect( + self._single_message_handler_id) + self._single_message_handler_id = None + + sub_menu = Gtk.Menu() + self.popup_menus.append(sub_menu) + status_menuitem.set_submenu(sub_menu) + + for show in ('online', 'away', 'xa', 'dnd'): + uf_show = helpers.get_uf_show(show, use_mnemonic=True) + item = Gtk.MenuItem.new_with_mnemonic(uf_show) + sub_menu.append(item) + item.connect('activate', self._on_show, show) + + item = Gtk.SeparatorMenuItem.new() + sub_menu.append(item) + + item = Gtk.MenuItem.new_with_mnemonic(_('_Change Status Message…')) + sub_menu.append(item) + item.connect('activate', self._on_change_status) + + connected_accounts = app.get_number_of_connected_accounts() + if connected_accounts < 1: + item.set_sensitive(False) + + item = Gtk.SeparatorMenuItem.new() + sub_menu.append(item) + + uf_show = helpers.get_uf_show('offline', use_mnemonic=True) + item = Gtk.MenuItem.new_with_mnemonic(uf_show) + sub_menu.append(item) + item.connect('activate', self._on_show, 'offline') + + is_zeroconf = connected_accounts == 1 and app.zeroconf_is_connected() + iskey = connected_accounts > 0 and not is_zeroconf + start_chat_menuitem.set_sensitive(iskey) + single_message_menuitem.set_sensitive(iskey) + + accounts_list = sorted(app.contacts.get_accounts()) + + # menu items that don't apply to zeroconf connections + if connected_accounts == 1 or (connected_accounts == 2 and \ + app.zeroconf_is_connected()): + # only one 'real' (non-zeroconf) account is connected, don't need + # submenus + for account in app.connections: + if app.account_is_available(account) and \ + not app.settings.get_account_setting(account, 'is_zeroconf'): + + # for single message + single_message_menuitem.set_submenu(None) + self._single_message_handler_id = single_message_menuitem.\ + connect('activate', + self._on_single_message, account) + break # No other account connected + else: + # 2 or more 'real' accounts are connected, make submenus + account_menu_for_single_message = Gtk.Menu() + single_message_menuitem.set_submenu( + account_menu_for_single_message) + self.popup_menus.append(account_menu_for_single_message) + + for account in accounts_list: + account_label = app.get_account_label(account) + if app.connections[account].is_zeroconf or \ + not app.account_is_available(account): + continue + # for single message + item = Gtk.MenuItem.new_with_label( + _('using account %s') % account_label) + item.connect('activate', + self._on_single_message, account) + account_menu_for_single_message.append(item) + + sounds_mute_menuitem.set_active(not app.settings.get('sounds_on')) + + win = app.interface.roster.window + if self._show_roster_handler_id: + show_roster_menuitem.handler_disconnect( + self._show_roster_handler_id) + if win.get_property('has-toplevel-focus'): + show_roster_menuitem.get_children()[0].set_label( + _('Hide _Contact List')) + self._show_roster_handler_id = show_roster_menuitem.connect( + 'activate', self._on_hide_roster) + else: + show_roster_menuitem.get_children()[0].set_label( + _('Show _Contact List')) + self._show_roster_handler_id = show_roster_menuitem.connect( + 'activate', self._on_show_roster) + + if os.name == 'nt': + if self.added_hide_menuitem is False: + self.systray_context_menu.prepend(Gtk.SeparatorMenuItem.new()) + item = Gtk.MenuItem.new_with_label( + _('Hide this menu')) + self.systray_context_menu.prepend(item) + self.added_hide_menuitem = True + + self.systray_context_menu.show_all() + self.systray_context_menu.popup(None, None, None, None, 0, event_time) + + @staticmethod + def _on_show_all_events(_widget): + events = app.events.get_systray_events() + for account in events: + for jid in events[account]: + for event in events[account][jid]: + app.interface.handle_event(account, jid, event.type_) + + @staticmethod + def _on_sounds_mute(widget): + app.settings.set('sounds_on', not widget.get_active()) + + @staticmethod + def _on_show_roster(_widget): + win = app.interface.roster.window + win.present() + + @staticmethod + def _on_hide_roster(_widget): + win = app.interface.roster.window + win.hide() + + @staticmethod + def _on_preferences(_widget): + open_window('Preferences') + + @staticmethod + def _on_quit(_widget): + app.interface.roster.on_quit_request() + + def _on_left_click(self): + win = app.interface.roster.window + if app.events.get_systray_events(): + self._handle_first_event() + return + + if win.get_property('has-toplevel-focus'): + save_roster_position(win) + win.hide() + return + + visible = win.get_property('visible') + win.show_all() + if not visible: + # Window was minimized + restore_roster_position(win) + + if not app.settings.get('roster_window_skip_taskbar'): + win.set_property('skip-taskbar-hint', False) + win.present_with_time(Gtk.get_current_event_time()) + + @staticmethod + def _handle_first_event(): + account, jid, event = app.events.get_first_systray_event() + if not event: + return + win = app.interface.roster.window + if not win.get_property('visible'): + # Needed if we are in one window mode + restore_roster_position(win) + app.interface.handle_event(account, jid, event.type_) + + @staticmethod + def _on_middle_click(): + """ + Middle click raises window to have complete focus (fe. get kbd events) + but if already raised, it hides it + """ + win = app.interface.roster.window + if win.is_active(): + win.hide() + else: + win.present() + + @staticmethod + def _on_show(_widget, show): + app.interface.change_status(status=show) + + @staticmethod + def _on_change_status(_widget): + app.interface.change_status() diff --git a/gajim/gtk/subscription_request.py b/gajim/gtk/subscription_request.py new file mode 100644 index 0000000..40860db --- /dev/null +++ b/gajim/gtk/subscription_request.py @@ -0,0 +1,129 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from gi.repository import Gtk +from gi.repository import Gdk + +from gajim import vcard + +from gajim.common import app +from gajim.common.i18n import _ + +from .add_contact import AddNewContactWindow +from .util import get_builder + + +class SubscriptionRequest(Gtk.ApplicationWindow): + def __init__(self, account, jid, text, user_nick=None): + Gtk.ApplicationWindow.__init__(self) + self.set_name('SubscriptionRequest') + self.set_application(app.app) + self.set_show_menubar(False) + self.set_resizable(False) + self.set_position(Gtk.WindowPosition.CENTER) + self.set_title(_('Subscription Request')) + + self.jid = jid + self.account = account + self.user_nick = user_nick + + self._ui = get_builder('subscription_request_window.ui') + self.add(self._ui.subscription_box) + self._ui.authorize_button.grab_default() + + if len(app.connections) >= 2: + prompt_text = _( + 'Subscription request for account %(account)s from ' + '%(jid)s') % {'account': self.account, 'jid': self.jid} + else: + prompt_text = _('Subscription request from %s') % self.jid + + self._ui.request_label.set_text(prompt_text) + self._ui.subscription_text.set_text(text) + + con = app.connections[self.account] + if con.get_module('Blocking').supported: + self._ui.block_button.set_sensitive(True) + self._ui.report_button.set_sensitive(True) + + self.connect('key-press-event', self._on_key_press) + + self._ui.connect_signals(self) + self.show_all() + + def _on_key_press(self, _widget, event): + if event.keyval == Gdk.KEY_Escape: + self.destroy() + + def _on_authorize_clicked(self, _widget): + """ + Accept the request + """ + con = app.connections[self.account] + con.get_module('Presence').subscribed(self.jid) + self.destroy() + contact = app.contacts.get_contact(self.account, self.jid) + if not contact or _('Not in contact list') in contact.groups: + AddNewContactWindow(self.account, self.jid, self.user_nick) + + def _on_contact_info_clicked(self, _widget): + """ + Ask for vCard + """ + open_windows = app.interface.instances[self.account]['infos'] + if self.jid in open_windows: + open_windows[self.jid].window.present() + else: + contact = app.contacts.create_contact(jid=self.jid, + account=self.account) + app.interface.instances[self.account]['infos'][self.jid] = \ + vcard.VcardWindow(contact, self.account) + # Remove xmpp page + app.interface.instances[self.account]['infos'][self.jid].xml.\ + get_object('information_notebook').remove_page(0) + + def _on_start_chat_clicked(self, _widget): + """ + Open chat + """ + app.interface.new_chat_from_jid(self.account, self.jid) + + def _on_deny_clicked(self, _widget): + self._deny_request() + self._remove_contact() + + def _on_block_clicked(self, _widget): + app.events.remove_events(self.account, self.jid) + self._deny_request() + con = app.connections[self.account] + con.get_module('Blocking').block([self.jid]) + self._remove_contact() + + def _on_report_clicked(self, _widget): + app.events.remove_events(self.account, self.jid) + self._deny_request() + con = app.connections[self.account] + con.get_module('Blocking').block([self.jid], report='spam') + self._remove_contact() + + def _deny_request(self): + con = app.connections[self.account] + con.get_module('Presence').unsubscribed(self.jid) + + def _remove_contact(self): + contact = app.contacts.get_contact(self.account, self.jid) + if contact and _('Not in contact list') in contact.get_shown_groups(): + app.interface.roster.remove_contact( + self.jid, self.account, force=True, backend=True) + self.destroy() diff --git a/gajim/gtk/themes.py b/gajim/gtk/themes.py new file mode 100644 index 0000000..da7a9b5 --- /dev/null +++ b/gajim/gtk/themes.py @@ -0,0 +1,456 @@ +# Copyright (C) 2018 Philipp Hörist +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from collections import namedtuple +from enum import IntEnum + +from gi.repository import Gtk +from gi.repository import Gdk + +from gajim.common import app +from gajim.common.nec import NetworkEvent +from gajim.common.i18n import _ +from gajim.common.const import StyleAttr + +from .dialogs import ErrorDialog +from .dialogs import DialogButton +from .dialogs import ConfirmationDialog +from .util import get_builder +from .util import get_app_window + +StyleOption = namedtuple('StyleOption', 'label selector attr') + +CSS_STYLE_OPTIONS = [ + StyleOption(_('Chatstate Composing'), + '.gajim-state-composing', + StyleAttr.COLOR), + + StyleOption(_('Chatstate Inactive'), + '.gajim-state-inactive', + StyleAttr.COLOR), + + StyleOption(_('Chatstate Gone'), + '.gajim-state-gone', + StyleAttr.COLOR), + + StyleOption(_('Chatstate Paused'), + '.gajim-state-paused', + StyleAttr.COLOR), + + StyleOption(_('Group Chat Tab New Directed Message'), + '.gajim-state-tab-muc-directed-msg', + StyleAttr.COLOR), + + StyleOption(_('Group Chat Tab New Message'), + '.gajim-state-tab-muc-msg', + StyleAttr.COLOR), + + StyleOption(_('Banner Foreground Color'), + '.gajim-banner', + StyleAttr.COLOR), + + StyleOption(_('Banner Background Color'), + '.gajim-banner', + StyleAttr.BACKGROUND), + + StyleOption(_('Banner Font'), + '.gajim-banner', + StyleAttr.FONT), + + StyleOption(_('Account Row Foreground Color'), + '.gajim-account-row', + StyleAttr.COLOR), + + StyleOption(_('Account Row Background Color'), + '.gajim-account-row', + StyleAttr.BACKGROUND), + + StyleOption(_('Account Row Font'), + '.gajim-account-row', + StyleAttr.FONT), + + StyleOption(_('Group Row Foreground Color'), + '.gajim-group-row', + StyleAttr.COLOR), + + StyleOption(_('Group Row Background Color'), + '.gajim-group-row', + StyleAttr.BACKGROUND), + + StyleOption(_('Group Row Font'), + '.gajim-group-row', + StyleAttr.FONT), + + StyleOption(_('Contact Row Foreground Color'), + '.gajim-contact-row', + StyleAttr.COLOR), + + StyleOption(_('Contact Row Background Color'), + '.gajim-contact-row', + StyleAttr.BACKGROUND), + + StyleOption(_('Contact Row Font'), + '.gajim-contact-row', + StyleAttr.FONT), + + StyleOption(_('Conversation Font'), + '.gajim-conversation-font', + StyleAttr.FONT), + + StyleOption(_('Incoming Nickname Color'), + '.gajim-incoming-nickname', + StyleAttr.COLOR), + + StyleOption(_('Outgoing Nickname Color'), + '.gajim-outgoing-nickname', + StyleAttr.COLOR), + + StyleOption(_('Incoming Message Text Color'), + '.gajim-incoming-message-text', + StyleAttr.COLOR), + + StyleOption(_('Incoming Message Text Font'), + '.gajim-incoming-message-text', + StyleAttr.FONT), + + StyleOption(_('Outgoing Message Text Color'), + '.gajim-outgoing-message-text', + StyleAttr.COLOR), + + StyleOption(_('Outgoing Message Text Font'), + '.gajim-outgoing-message-text', + StyleAttr.FONT), + + StyleOption(_('Status Message Color'), + '.gajim-status-message', + StyleAttr.COLOR), + + StyleOption(_('Status Message Font'), + '.gajim-status-message', + StyleAttr.FONT), + + StyleOption(_('URL Color'), + '.gajim-url', + StyleAttr.COLOR), + + StyleOption(_('Highlight Message Color'), + '.gajim-highlight-message', + StyleAttr.COLOR), + + StyleOption(_('Message Correcting'), + '.gajim-msg-correcting text', + StyleAttr.BACKGROUND), + + StyleOption(_('Contact Disconnected Background'), + '.gajim-roster-disconnected', + StyleAttr.BACKGROUND), + + StyleOption(_('Contact Connected Background '), + '.gajim-roster-connected', + StyleAttr.BACKGROUND), + StyleOption(_('Status Online Color'), + '.gajim-status-online', + StyleAttr.COLOR), + StyleOption(_('Status Away Color'), + '.gajim-status-away', + StyleAttr.COLOR), + StyleOption(_('Status DND Color'), + '.gajim-status-dnd', + StyleAttr.COLOR), + StyleOption(_('Status Offline Color'), + '.gajim-status-offline', + StyleAttr.COLOR), +] + + +class Column(IntEnum): + THEME = 0 + + +class Themes(Gtk.ApplicationWindow): + def __init__(self, transient): + Gtk.ApplicationWindow.__init__(self) + self.set_application(app.app) + self.set_title(_('Gajim Themes')) + self.set_name('ThemesWindow') + self.set_show_menubar(False) + self.set_type_hint(Gdk.WindowTypeHint.DIALOG) + self.set_transient_for(transient) + self.set_resizable(True) + self.set_default_size(600, 400) + self.set_modal(True) + + self._ui = get_builder('themes_window.ui') + self.add(self._ui.theme_grid) + + self._get_themes() + self._ui.option_listbox.set_placeholder(self._ui.placeholder) + + self._ui.connect_signals(self) + self.connect_after('key-press-event', self._on_key_press) + + self.show_all() + + self._fill_choose_listbox() + + def _on_key_press(self, _widget, event): + if event.keyval == Gdk.KEY_Escape: + self.destroy() + + def _get_themes(self): + current_theme = app.settings.get('roster_theme') + for theme in app.css_config.themes: + if theme == current_theme: + self._ui.theme_store.prepend([theme]) + continue + self._ui.theme_store.append([theme]) + + def _on_theme_name_edit(self, _renderer, path, new_name): + iter_ = self._ui.theme_store.get_iter(path) + old_name = self._ui.theme_store[iter_][Column.THEME] + + if new_name == 'default': + ErrorDialog( + _('Invalid Name'), + _('Name default is not allowed'), + transient_for=self) + return + + if ' ' in new_name: + ErrorDialog( + _('Invalid Name'), + _('Spaces are not allowed'), + transient_for=self) + return + + if new_name == '': + return + + result = app.css_config.rename_theme(old_name, new_name) + if result is False: + return + + app.settings.set('roster_theme', new_name) + self._ui.theme_store.set_value(iter_, Column.THEME, new_name) + + def _select_theme_row(self, iter_): + self._ui.theme_treeview.get_selection().select_iter(iter_) + + def _on_theme_selected(self, tree_selection): + store, iter_ = tree_selection.get_selected() + if iter_ is None: + self._clear_options() + return + theme = store[iter_][Column.THEME] + app.css_config.change_preload_theme(theme) + + self._ui.remove_theme_button.set_sensitive(True) + self._load_options() + self._apply_theme(theme) + app.nec.push_incoming_event(NetworkEvent('style-changed')) + + def _load_options(self): + self._ui.option_listbox.foreach(self._remove_option) + for option in CSS_STYLE_OPTIONS: + value = app.css_config.get_value( + option.selector, option.attr, pre=True) + + if value is None: + continue + + row = Option(option, value) + self._ui.option_listbox.add(row) + + def _add_option(self, _listbox, row): + # Add theme if there is none + store, _ = self._ui.theme_treeview.get_selection().get_selected() + first = store.get_iter_first() + if first is None: + self._on_add_new_theme() + + # Don't add an option twice + for option in self._ui.option_listbox.get_children(): + if option == row: + return + + # Get default value if it exists + value = app.css_config.get_value( + row.option.selector, row.option.attr) + + row = Option(row.option, value) + self._ui.option_listbox.add(row) + self._ui.option_popover.popdown() + + def _clear_options(self): + self._ui.option_listbox.foreach(self._remove_option) + + def _fill_choose_listbox(self): + for option in CSS_STYLE_OPTIONS: + self._ui.choose_option_listbox.add(ChooseOption(option)) + + def _remove_option(self, row): + self._ui.option_listbox.remove(row) + row.destroy() + + def _on_add_new_theme(self, *args): + name = self._create_theme_name() + if not app.css_config.add_new_theme(name): + return + + self._update_preferences_window() + + self._ui.remove_theme_button.set_sensitive(True) + iter_ = self._ui.theme_store.append([name]) + self._select_theme_row(iter_) + self._apply_theme(name) + + @staticmethod + def _apply_theme(theme): + app.settings.set('roster_theme', theme) + app.css_config.change_theme(theme) + app.nec.push_incoming_event(NetworkEvent('theme-update')) + + # Begin repainting themed widgets throughout + app.interface.roster.repaint_themed_widgets() + app.interface.roster.change_roster_style(None) + + @staticmethod + def _update_preferences_window(): + window = get_app_window('Preferences') + if window is not None: + window.update_theme_list() + + @staticmethod + def _create_theme_name(): + i = 0 + while 'newtheme%s' % i in app.css_config.themes: + i += 1 + return 'newtheme%s' % i + + def _on_remove_theme(self, *args): + store, iter_ = self._ui.theme_treeview.get_selection().get_selected() + if iter_ is None: + return + + theme = store[iter_][Column.THEME] + + def _remove_theme(): + if theme == app.settings.get('roster_theme'): + self._apply_theme('default') + app.nec.push_incoming_event(NetworkEvent('style-changed')) + + app.css_config.remove_theme(theme) + self._update_preferences_window() + store.remove(iter_) + + first = store.get_iter_first() + if first is None: + self._ui.remove_theme_button.set_sensitive(False) + self._clear_options() + + text = _('Do you want to delete this theme?') + if theme == app.settings.get('roster_theme'): + text = _('This is the theme you are currently using.\n' + 'Do you want to delete this theme?') + + ConfirmationDialog( + _('Delete'), + _('Delete Theme'), + text, + [DialogButton.make('Cancel'), + DialogButton.make('Delete', + callback=_remove_theme)], + transient_for=self).show() + + +class Option(Gtk.ListBoxRow): + def __init__(self, option, value): + Gtk.ListBoxRow.__init__(self) + self.option = option + self._box = Gtk.Box(spacing=12) + + label = Gtk.Label() + label.set_text(option.label) + label.set_hexpand(True) + label.set_halign(Gtk.Align.START) + self._box.add(label) + + if option.attr in (StyleAttr.COLOR, StyleAttr.BACKGROUND): + self._init_color(value) + elif option.attr == StyleAttr.FONT: + self._init_font(value) + + remove_button = Gtk.Button.new_from_icon_name( + 'list-remove-symbolic', Gtk.IconSize.MENU) + remove_button.set_tooltip_text(_('Remove Setting')) + remove_button.get_style_context().add_class('theme_remove_button') + remove_button.connect('clicked', self._on_remove) + self._box.add(remove_button) + + self.add(self._box) + self.show_all() + + def _init_color(self, color): + color_button = Gtk.ColorButton() + if color is not None: + rgba = Gdk.RGBA() + rgba.parse(color) + color_button.set_rgba(rgba) + color_button.set_halign(Gtk.Align.END) + color_button.connect('color-set', self._on_color_set) + self._box.add(color_button) + + def _init_font(self, desc): + font_button = Gtk.FontButton() + if desc is not None: + font_button.set_font_desc(desc) + font_button.set_halign(Gtk.Align.END) + font_button.connect('font-set', self._on_font_set) + self._box.add(font_button) + + def _on_color_set(self, color_button): + color = color_button.get_rgba() + color_string = color.to_string() + app.css_config.set_value( + self.option.selector, self.option.attr, color_string, pre=True) + app.nec.push_incoming_event(NetworkEvent('style-changed')) + + def _on_font_set(self, font_button): + desc = font_button.get_font_desc() + app.css_config.set_font(self.option.selector, desc, pre=True) + app.nec.push_incoming_event(NetworkEvent('style-changed')) + + def _on_remove(self, *args): + self.get_parent().remove(self) + app.css_config.remove_value( + self.option.selector, self.option.attr, pre=True) + app.nec.push_incoming_event(NetworkEvent('style-changed')) + self.destroy() + + def __eq__(self, other): + if isinstance(other, ChooseOption): + return other.option == self.option + return other.option == self.option + + +class ChooseOption(Gtk.ListBoxRow): + def __init__(self, option): + Gtk.ListBoxRow.__init__(self) + self.option = option + label = Gtk.Label(label=option.label) + label.set_xalign(0) + self.add(label) + self.show_all() diff --git a/gajim/gtk/tooltips.py b/gajim/gtk/tooltips.py new file mode 100644 index 0000000..a39b3c5 --- /dev/null +++ b/gajim/gtk/tooltips.py @@ -0,0 +1,602 @@ +# Copyright (C) 2005 Alex Mauer +# Stéphan Kochen +# Copyright (C) 2005-2006 Dimitur Kirov +# Copyright (C) 2005-2007 Nikos Kouremenos +# Copyright (C) 2005-2014 Yann Leboulanger +# Copyright (C) 2006 Travis Shirk +# Stefan Bethge +# Copyright (C) 2006-2007 Jean-Marie Traissard +# Copyright (C) 2007 Julien Pivotto +# Copyright (C) 2007-2008 Stephan Erb +# Copyright (C) 2008 Jonathan Schleifer +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import os +import time +import logging +from datetime import datetime + +from gi.repository import Gtk +from gi.repository import GLib +from gi.repository import Pango + +from gajim.common import app +from gajim.common import helpers +from gajim.common.helpers import get_connection_status +from gajim.common.const import AvatarSize +from gajim.common.const import PEPEventType +from gajim.common.i18n import Q_ +from gajim.common.i18n import _ +from gajim.gtkgui_helpers import add_css_class + +from .util import get_builder +from .util import get_icon_name +from .util import format_mood +from .util import format_activity +from .util import format_tune +from .util import format_location +from .util import get_css_show_class + + +log = logging.getLogger('gajim.gui.tooltips') + + +class StatusTable: + """ + Contains methods for creating status table. This is used in Roster and + NotificationArea tooltips + """ + + def __init__(self): + self.current_row = 0 + self.table = None + self.text_label = None + self.spacer_label = ' ' + + def create_table(self): + self.table = Gtk.Grid() + self.table.insert_column(0) + self.table.set_property('column-spacing', 3) + + def add_text_row(self, text, col_inc=0): + self.table.insert_row(self.current_row) + self.text_label = Gtk.Label() + self.text_label.set_line_wrap(True) + self.text_label.set_line_wrap_mode(Pango.WrapMode.WORD_CHAR) + self.text_label.set_lines(3) + self.text_label.set_ellipsize(Pango.EllipsizeMode.END) + self.text_label.set_max_width_chars(30) + self.text_label.set_halign(Gtk.Align.START) + self.text_label.set_valign(Gtk.Align.START) + self.text_label.set_xalign(0) + self.text_label.set_selectable(False) + + self.text_label.set_text(text) + self.table.attach(self.text_label, 1 + col_inc, + self.current_row, + 3 - col_inc, + 1) + self.current_row += 1 + + def add_status_row(self, show, str_status, indent=True, transport=None): + """ + Append a new row with status icon to the table + """ + self.table.insert_row(self.current_row) + image = Gtk.Image() + icon_name = get_icon_name(show, transport=transport) + image.set_from_icon_name(icon_name, Gtk.IconSize.MENU) + spacer = Gtk.Label(label=self.spacer_label) + image.set_halign(Gtk.Align.START) + image.set_valign(Gtk.Align.CENTER) + if indent: + self.table.attach(spacer, 1, self.current_row, 1, 1) + self.table.attach(image, 2, self.current_row, 1, 1) + status_label = Gtk.Label() + status_label.set_text(str_status) + status_label.set_halign(Gtk.Align.START) + status_label.set_valign(Gtk.Align.START) + status_label.set_xalign(0) + status_label.set_line_wrap(True) + status_label.set_line_wrap_mode(Pango.WrapMode.WORD_CHAR) + status_label.set_lines(3) + status_label.set_ellipsize(Pango.EllipsizeMode.END) + status_label.set_max_width_chars(30) + self.table.attach(status_label, 3, self.current_row, 1, 1) + self.current_row += 1 + + def fill_table_with_accounts(self, accounts): + for acct in accounts: + message = acct['message'] + message = helpers.reduce_chars_newlines(message, 100, 1) + message = GLib.markup_escape_text(message) + + account_label = GLib.markup_escape_text(acct['account_label']) + if message: + status = '%s - %s' % (account_label, message) + else: + status = account_label + + self.add_status_row(acct['show'], status, indent=False) + + for line in acct['event_lines']: + self.add_text_row(' ' + line, 1) + + +class NotificationAreaTooltip(StatusTable): + """ + Tooltip that is shown in the notification area + """ + + def __init__(self): + StatusTable.__init__(self) + + def get_tooltip(self): + self.create_table() + + accounts = helpers.get_notification_icon_tooltip_dict() + self.fill_table_with_accounts(accounts) + self.table.set_property('column-spacing', 1) + + hbox = Gtk.HBox() + hbox.add(self.table) + hbox.show_all() + return hbox + + +class GCTooltip(): + def __init__(self): + self.contact = None + + self._ui = get_builder('tooltip_gc_contact.ui') + + def clear_tooltip(self): + self.contact = None + + def get_tooltip(self, contact): + if self.contact == contact: + return True, self._ui.tooltip_grid + + self._populate_grid(contact) + self.contact = contact + return False, self._ui.tooltip_grid + + def _hide_grid_childs(self): + """ + Hide all Elements of the Tooltip Grid + """ + for child in self._ui.tooltip_grid.get_children(): + child.hide() + + def _populate_grid(self, contact): + """ + Populate the Tooltip Grid with data of from the contact + """ + self._hide_grid_childs() + + self._ui.nick.set_text(contact.get_shown_name()) + self._ui.nick.show() + + # Status Message + if contact.status: + status = contact.status.strip() + if status != '': + self._ui.status.set_text(status) + self._ui.status.show() + + # Status + show = helpers.get_uf_show(contact.show.value) + self._ui.user_show.set_text(show) + colorize_status(self._ui.user_show, contact.show.value) + self._ui.user_show.show() + + # JID + if contact.jid is not None: + self._ui.jid.set_text(str(contact.jid)) + self._ui.jid.show() + + # Affiliation + if not contact.affiliation.is_none: + uf_affiliation = helpers.get_uf_affiliation(contact.affiliation) + uf_affiliation = \ + _('%(owner_or_admin_or_member)s of this group chat') \ + % {'owner_or_admin_or_member': uf_affiliation} + self._ui.affiliation.set_text(uf_affiliation) + self._ui.affiliation.show() + + # Avatar + if contact.avatar_sha is not None: + app.log('avatar').debug( + 'Load GCTooltip: %s %s', contact.name, contact.avatar_sha) + scale = self._ui.tooltip_grid.get_scale_factor() + surface = app.interface.get_avatar( + contact, AvatarSize.TOOLTIP, scale) + self._ui.avatar.set_from_surface(surface) + self._ui.avatar.show() + self._ui.fillelement.show() + + app.plugin_manager.gui_extension_point( + 'gc_tooltip_populate', self, contact, self._ui.tooltip_grid) + + def destroy(self): + self._ui.tooltip_grid.destroy() + + +class RosterTooltip(StatusTable): + def __init__(self): + StatusTable.__init__(self) + self.create_table() + self.account = None + self.row = None + self.contact_jid = None + self.prim_contact = None + self.last_widget = None + self.num_resources = 0 + + self._ui = get_builder('tooltip_roster_contact.ui') + + def clear_tooltip(self): + """ + Hide all Elements of the Tooltip Grid + """ + for child in self._ui.tooltip_grid.get_children(): + child.hide() + status_table = self._ui.tooltip_grid.get_child_at(1, 3) + if status_table: + status_table.destroy() + self.create_table() + self.row = None + + def get_tooltip(self, row, connected_contacts, account, typ): + if self.row == row: + return True, self._ui.tooltip_grid + + self._populate_grid(connected_contacts, account, typ) + self.row = row + return False, self._ui.tooltip_grid + + def _populate_grid(self, contacts, account, typ): + """ + Populate the Tooltip Grid with data of from the contact + """ + self.current_row = 0 + self.account = account + if self.last_widget: + self.last_widget.set_vexpand(False) + + self.clear_tooltip() + + if account == 'all': + # Tooltip for merged accounts row + self._show_merged_account_tooltip() + return + + if typ == 'account': + jid = app.get_jid_from_account(account) + contacts = [] + connection = app.connections[account] + # get our current contact info + + nbr_on, nbr_total = app.\ + contacts.get_nb_online_total_contacts(accounts=[account]) + account_name = app.get_account_label(account) + if app.account_is_available(account): + account_name += ' (%s/%s)' % (repr(nbr_on), repr(nbr_total)) + contact = app.contacts.create_self_contact( + jid=jid, + account=account, + name=account_name, + show=get_connection_status(account), + status=connection.status_message, + resource=connection.get_own_jid().resource, + priority=connection.priority) + + contacts.append(contact) + + # Username/Account/Groupchat + self.prim_contact = app.contacts.get_highest_prio_contact_from_contacts( + contacts) + if self.prim_contact is None: + log.error('No contact for Roster tooltip found') + log.error('contacts: %s, typ: %s, account: %s', + contacts, typ, account) + return + self.contact_jid = self.prim_contact.jid + name = GLib.markup_escape_text(self.prim_contact.get_shown_name()) + + if app.settings.get('mergeaccounts'): + name = GLib.markup_escape_text( + self.prim_contact.account.name) + + self._ui.name.set_markup(name) + self._ui.name.show() + + self.num_resources = 0 + # put contacts in dict, where key is priority + contacts_dict = {} + for contact in contacts: + if contact.resource: + self.num_resources += 1 + priority = int(contact.priority) + if priority in contacts_dict: + contacts_dict[priority].append(contact) + else: + contacts_dict[priority] = [contact] + if self.num_resources > 1: + transport = app.get_transport_name_from_jid(self.prim_contact.jid) + if transport == 'jabber': + transport = None + contact_keys = sorted(contacts_dict.keys()) + contact_keys.reverse() + for priority in contact_keys: + for acontact in contacts_dict[priority]: + show = self._get_icon_name_for_tooltip(acontact) + status = acontact.status + resource_line = '%s (%s)' % (acontact.resource, + str(acontact.priority)) + self.add_status_row( + show, resource_line, transport=transport) + if status: + self.add_text_row(status, 2) + + self._ui.tooltip_grid.attach(self.table, 1, 3, 2, 1) + self.table.show_all() + + else: # only one resource + if contact.is_groupchat: + disco_info = app.storage.cache.get_last_disco_info(contact.jid) + if disco_info is not None: + description = disco_info.muc_description + if description: + self._ui.status.set_text(description) + self._ui.status.show() + elif contact.show and contact.status: + status = contact.status.strip() + if status: + self._ui.status.set_text(status) + self._ui.status.show() + + # PEP Info + self._append_pep_info(contact) + + # JID + self._ui.jid.set_text(self.prim_contact.jid) + self._ui.jid.show() + + # contact has only one resource + if self.num_resources == 1 and contact.resource: + res = GLib.markup_escape_text(contact.resource) + prio = str(contact.priority) + self._ui.resource.set_text("{} ({})".format(res, prio)) + self._ui.resource.show() + self._ui.resource_label.show() + + if self.prim_contact.jid not in app.gc_connected[account]: + if (account and + self.prim_contact.sub and + self.prim_contact.sub != 'both'): + # ('both' is the normal sub so we don't show it) + self._ui.sub.set_text(helpers.get_uf_sub(self.prim_contact.sub)) + self._ui.sub.show() + self._ui.sub_label.show() + + self._set_idle_time(contact) + + # Avatar + scale = self._ui.tooltip_grid.get_scale_factor() + surface = app.contacts.get_avatar( + account, self.prim_contact.jid, AvatarSize.TOOLTIP, scale) + self._ui.avatar.set_from_surface(surface) + self._ui.avatar.show() + + app.plugin_manager.gui_extension_point( + 'roster_tooltip_populate', self, contacts, self._ui.tooltip_grid) + + # Sets the Widget that is at the bottom to expand. + # This is needed in case the Picture takes more Space than the Labels + i = 1 + while i < 15: + if self._ui.tooltip_grid.get_child_at(1, i): + if self._ui.tooltip_grid.get_child_at(1, i).get_visible(): + self.last_widget = self._ui.tooltip_grid.get_child_at(1, i) + i += 1 + self.last_widget.set_vexpand(True) + + def _show_merged_account_tooltip(self): + accounts = helpers.get_notification_icon_tooltip_dict() + self.spacer_label = '' + self.fill_table_with_accounts(accounts) + self._ui.tooltip_grid.attach(self.table, 1, 3, 2, 1) + self.table.show_all() + + def _append_pep_info(self, contact): + """ + Append Tune, Mood, Activity, Location information of the + specified contact to the given property list. + """ + if PEPEventType.MOOD in contact.pep: + mood = format_mood(*contact.pep[PEPEventType.MOOD]) + self._ui.mood.set_markup(mood) + self._ui.mood.show() + self._ui.mood_label.show() + + if PEPEventType.ACTIVITY in contact.pep: + activity = format_activity(*contact.pep[PEPEventType.ACTIVITY]) + self._ui.activity.set_markup(activity) + self._ui.activity.show() + self._ui.activity_label.show() + + if PEPEventType.TUNE in contact.pep: + tune = format_tune(*contact.pep[PEPEventType.TUNE]) + self._ui.tune.set_markup(tune) + self._ui.tune.show() + self._ui.tune_label.show() + + if PEPEventType.LOCATION in contact.pep: + location = format_location(contact.pep[PEPEventType.LOCATION]) + self._ui.location.set_markup(location) + self._ui.location.show() + self._ui.location_label.show() + + def _set_idle_time(self, contact): + if contact.idle_time: + idle_time = contact.idle_time + idle_time = time.localtime(contact.idle_time) + idle_time = datetime(*(idle_time[:6])) + current = datetime.now() + if idle_time.date() == current.date(): + formatted = idle_time.strftime('%X') + else: + formatted = idle_time.strftime('%c') + self._ui.idle_since.set_text(formatted) + self._ui.idle_since.show() + self._ui.idle_since_label.show() + + if contact.show and self.num_resources < 2: + show = helpers.get_uf_show(contact.show) + # Contact is Groupchat + if (self.account and + self.prim_contact.jid in app.gc_connected[self.account]): + if app.gc_connected[self.account][self.prim_contact.jid]: + show = _('Connected') + else: + show = _('Disconnected') + + colorize_status(self._ui.user_show, contact.show) + self._ui.user_show.set_text(show) + self._ui.user_show.show() + + @staticmethod + def _get_icon_name_for_tooltip(contact): + """ + Helper function used for tooltip contacts/accounts + + Tooltip on account has fake contact with sub == '', in this case we show + real status of the account + """ + if contact.ask == 'subscribe': + return 'requested' + if contact.sub in ('both', 'to', ''): + return contact.show + return 'not in roster' + + +class FileTransfersTooltip(): + def __init__(self): + self.sid = None + self.widget = None + if app.settings.get('use_kib_mib'): + self.units = GLib.FormatSizeFlags.IEC_UNITS + else: + self.units = GLib.FormatSizeFlags.DEFAULT + + def clear_tooltip(self): + self.sid = None + self.widget = None + + def get_tooltip(self, file_props, sid): + if self.sid == sid: + return True, self.widget + + self.widget = self._create_tooltip(file_props, sid) + self.sid = sid + return False, self.widget + + def _create_tooltip(self, file_props, _sid): + ft_grid = Gtk.Grid.new() + ft_grid.insert_column(0) + ft_grid.set_row_spacing(6) + ft_grid.set_column_spacing(12) + current_row = 0 + properties = [] + name = file_props.name + if file_props.type_ == 'r': + file_name = os.path.split(file_props.file_name)[1] + else: + file_name = file_props.name + properties.append((_('File Name: '), + GLib.markup_escape_text(file_name))) + if file_props.type_ == 'r': + type_ = Q_('?Noun:Download') + actor = _('Sender: ') + sender = file_props.sender.split('/')[0] + name = app.contacts.get_first_contact_from_jid( + file_props.tt_account, sender).get_shown_name() + else: + type_ = Q_('?Noun:Upload') + actor = _('Recipient: ') + receiver = file_props.receiver + if hasattr(receiver, 'name'): + name = receiver.get_shown_name() + else: + name = receiver.split('/')[0] + properties.append((Q_('?transfer type:Type: '), type_)) + properties.append((actor, GLib.markup_escape_text(name))) + + transfered_len = file_props.received_len + if not transfered_len: + transfered_len = 0 + properties.append((Q_('?transfer status:Transferred: '), + GLib.format_size_full(transfered_len, self.units))) + status = self._get_current_status(file_props) + properties.append((Q_('?transfer status:Status: '), status)) + file_desc = file_props.desc or '' + properties.append((_('Description: '), + GLib.markup_escape_text(file_desc))) + + while properties: + property_ = properties.pop(0) + label = Gtk.Label() + label.set_halign(Gtk.Align.END) + label.set_valign(Gtk.Align.CENTER) + label.set_markup(property_[0]) + ft_grid.attach(label, 0, current_row, 1, 1) + label = Gtk.Label() + label.set_halign(Gtk.Align.START) + label.set_valign(Gtk.Align.START) + label.set_line_wrap(True) + label.set_markup(property_[1]) + ft_grid.attach(label, 1, current_row, 1, 1) + current_row += 1 + + ft_grid.show_all() + return ft_grid + + @staticmethod + def _get_current_status(file_props): + if file_props.stopped: + return Q_('?transfer status:Aborted') + if file_props.completed: + return Q_('?transfer status:Completed') + if file_props.paused: + return Q_('?transfer status:Paused') + if file_props.stalled: + # stalled is not paused. it is like 'frozen' it stopped alone + return Q_('?transfer status:Stalled') + + if file_props.connected: + if file_props.started: + return Q_('?transfer status:Transferring') + return Q_('?transfer status:Not started') + return Q_('?transfer status:Not started') + + +def colorize_status(widget, show): + """ + Colorize the status message inside the tooltip by it's semantics. + """ + css_class = get_css_show_class(show)[14:] + add_css_class(widget, css_class, prefix='gajim-status-') diff --git a/gajim/gtk/types.py b/gajim/gtk/types.py new file mode 100644 index 0000000..db61dd6 --- /dev/null +++ b/gajim/gtk/types.py @@ -0,0 +1,15 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# Types for typechecking diff --git a/gajim/gtk/util.py b/gajim/gtk/util.py new file mode 100644 index 0000000..fb6b39c --- /dev/null +++ b/gajim/gtk/util.py @@ -0,0 +1,845 @@ +# Copyright (C) 2018 Marcin Mielniczuk +# Copyright (C) 2018 Philipp Hörist +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from typing import Any +from typing import List +from typing import Tuple +from typing import Optional + +import sys +import weakref +import logging +import math +import textwrap +import functools +from importlib import import_module +import xml.etree.ElementTree as ET +from functools import wraps +from functools import lru_cache + +try: + from PIL import Image +except Exception: + pass + +from gi.repository import Gdk +from gi.repository import Gtk +from gi.repository import GLib +from gi.repository import Gio +from gi.repository import Pango +from gi.repository import GdkPixbuf +import nbxmpp +import cairo + +from gajim.common import app +from gajim.common import configpaths +from gajim.common import i18n +from gajim.common.i18n import _ +from gajim.common.helpers import URL_REGEX +from gajim.common.const import MOODS +from gajim.common.const import ACTIVITIES +from gajim.common.const import LOCATION_DATA +from gajim.common.const import Display +from gajim.common.const import StyleAttr +from gajim.common.nec import EventHelper as CommonEventHelper + +from .const import GajimIconSet +from .const import WINDOW_MODULES + +_icon_theme = Gtk.IconTheme.get_default() +if _icon_theme is not None: + _icon_theme.append_search_path(str(configpaths.get('ICONS'))) + +log = logging.getLogger('gajim.gui.util') + + +class NickCompletionGenerator: + def __init__(self, self_nick: str) -> None: + self.nick = self_nick + self.sender_list = [] # type: List[str] + self.attention_list = [] # type: List[str] + + def change_nick(self, new_nick: str) -> None: + self.nick = new_nick + + def record_message(self, contact: str, highlight: bool) -> None: + if contact == self.nick: + return + + log.debug('Recorded a message from %s, highlight; %s', contact, + highlight) + if highlight: + try: + self.attention_list.remove(contact) + except ValueError: + pass + if len(self.attention_list) > 6: + self.attention_list.pop(0) # remove older + self.attention_list.append(contact) + + # TODO implement it in a more efficient way + # Currently it's O(n*m + n*s), where n is the number of participants and + # m is the number of messages processed, s - the number of times the + # suggestions are requested + # + # A better way to do it would be to keep a dict: contact -> timestamp + # with expected O(1) insert, and sort it by timestamps in O(n log n) + # for each suggestion (currently generating the suggestions is O(n)) + # this would give the expected complexity of O(m + s * n log n) + try: + self.sender_list.remove(contact) + except ValueError: + pass + self.sender_list.append(contact) + + def contact_renamed(self, contact_old: str, contact_new: str) -> None: + log.debug('Contact %s renamed to %s', contact_old, contact_new) + for lst in (self.attention_list, self.sender_list): + for idx, contact in enumerate(lst): + if contact == contact_old: + lst[idx] = contact_new + + + def generate_suggestions(self, nicks: List[str], + beginning: str) -> List[str]: + """ + Generate the order of suggested MUC autocompletions + + `nicks` is the list of contacts currently participating in a MUC + `beginning` is the text already typed by the user + """ + def nick_matching(nick: str) -> bool: + return nick != self.nick \ + and nick.lower().startswith(beginning.lower()) + + if beginning == '': + # empty message, so just suggest recent mentions + potential_matches = self.attention_list + else: + # nick partially typed, try completing it + potential_matches = self.sender_list + + potential_matches_set = set(potential_matches) + log.debug('Priority matches: %s', potential_matches_set) + + matches = [n for n in potential_matches if nick_matching(n)] + # the most recent nick is the last one on the list + matches.reverse() + + # handle people who have not posted/mentioned us + other_nicks = [ + n for n in nicks + if nick_matching(n) and n not in potential_matches_set + ] + other_nicks.sort(key=str.lower) + log.debug('Other matches: %s', other_nicks) + + return matches + other_nicks + + +class Builder: + def __init__(self, + filename: str, + widgets: List[str] = None, + domain: str = None, + gettext_: Any = None) -> None: + self._builder = Gtk.Builder() + + if domain is None: + domain = i18n.DOMAIN + self._builder.set_translation_domain(domain) + + if gettext_ is None: + gettext_ = _ + + xml_text = self._load_string_from_filename(filename, gettext_) + + if widgets is not None: + self._builder.add_objects_from_string(xml_text, widgets) + else: + self._builder.add_from_string(xml_text) + + @staticmethod + @functools.lru_cache(maxsize=None) + def _load_string_from_filename(filename, gettext_): + file_path = str(configpaths.get('GUI') / filename) + + if sys.platform == "win32": + # This is a workaround for non working translation on Windows + tree = ET.parse(file_path) + for node in tree.iter(): + if 'translatable' in node.attrib and node.text is not None: + node.text = gettext_(node.text) + + return ET.tostring(tree.getroot(), + encoding='unicode', + method='xml') + + + file = Gio.File.new_for_path(file_path) + content = file.load_contents(None) + return content[1].decode() + + def __getattr__(self, name): + try: + return getattr(self._builder, name) + except AttributeError: + return self._builder.get_object(name) + + +def get_builder(file_name: str, widgets: List[str] = None) -> Builder: + return Builder(file_name, widgets) + + +def set_urgency_hint(window: Any, setting: bool) -> None: + if app.settings.get('use_urgency_hint'): + window.set_urgency_hint(setting) + + +def icon_exists(name: str) -> bool: + return _icon_theme.has_icon(name) + + +def load_icon(icon_name, widget=None, size=16, pixbuf=False, + scale=None, flags=Gtk.IconLookupFlags.FORCE_SIZE): + + if widget is not None: + scale = widget.get_scale_factor() + + if not scale: + log.warning('Could not determine scale factor') + scale = 1 + + try: + iconinfo = _icon_theme.lookup_icon_for_scale( + icon_name, size, scale, flags) + if iconinfo is None: + log.info('No icon found for %s', icon_name) + return + if pixbuf: + return iconinfo.load_icon() + return iconinfo.load_surface(None) + except GLib.GError as error: + log.error('Unable to load icon %s: %s', icon_name, str(error)) + + +def get_app_icon_list(scale_widget): + pixbufs = [] + for size in (16, 32, 48, 64, 128): + pixbuf = load_icon('org.gajim.Gajim', scale_widget, size, pixbuf=True) + if pixbuf is not None: + pixbufs.append(pixbuf) + return pixbufs + + +def get_icon_name(name: str, + iconset: Optional[str] = None, + transport: Optional[str] = None) -> str: + if name == 'not in roster': + name = 'notinroster' + + if iconset is not None: + return '%s-%s' % (iconset, name) + + if transport is not None: + return '%s-%s' % (transport, name) + + iconset = app.settings.get('iconset') + if not iconset: + iconset = 'dcraven' + return '%s-%s' % (iconset, name) + + +def load_user_iconsets(): + iconsets_path = configpaths.get('MY_ICONSETS') + if not iconsets_path.exists(): + return + + for path in iconsets_path.iterdir(): + if not path.is_dir(): + continue + log.info('Found iconset: %s', path.stem) + _icon_theme.append_search_path(str(path)) + + +def get_available_iconsets(): + iconsets = [] + for iconset in GajimIconSet: + iconsets.append(iconset.value) + + iconsets_path = configpaths.get('MY_ICONSETS') + if not iconsets_path.exists(): + return iconsets + + for path in iconsets_path.iterdir(): + if not path.is_dir(): + continue + iconsets.append(path.stem) + return iconsets + + +def get_total_screen_geometry() -> Tuple[int, int]: + total_width = 0 + total_height = 0 + display = Gdk.Display.get_default() + monitors = display.get_n_monitors() + for num in range(0, monitors): + monitor = display.get_monitor(num) + geometry = monitor.get_geometry() + total_width += geometry.width + total_height = max(total_height, geometry.height) + log.debug('Get screen geometry: %s %s', total_width, total_height) + return total_width, total_height + + +def resize_window(window: Gtk.Window, width: int, height: int) -> None: + """ + Resize window, but also checks if huge window or negative values + """ + screen_w, screen_h = get_total_screen_geometry() + if not width or not height: + return + if width > screen_w: + width = screen_w + if height > screen_h: + height = screen_h + window.resize(abs(width), abs(height)) + + +def move_window(window: Gtk.Window, pos_x: int, pos_y: int) -> None: + """ + Move the window, but also check if out of screen + """ + screen_w, screen_h = get_total_screen_geometry() + if pos_x < 0: + pos_x = 0 + if pos_y < 0: + pos_y = 0 + width, height = window.get_size() + if pos_x + width > screen_w: + pos_x = screen_w - width + if pos_y + height > screen_h: + pos_y = screen_h - height + window.move(pos_x, pos_y) + + +def restore_roster_position(window): + if not app.settings.get('save-roster-position'): + return + if app.is_display(Display.WAYLAND): + return + move_window(window, + app.settings.get('roster_x-position'), + app.settings.get('roster_y-position')) + + +def get_completion_liststore(entry: Gtk.Entry) -> Gtk.ListStore: + """ + Create a completion model for entry widget completion list consists of + (Pixbuf, Text) rows + """ + completion = Gtk.EntryCompletion() + liststore = Gtk.ListStore(str, str) + + render_pixbuf = Gtk.CellRendererPixbuf() + completion.pack_start(render_pixbuf, False) + completion.add_attribute(render_pixbuf, 'icon_name', 0) + + render_text = Gtk.CellRendererText() + completion.pack_start(render_text, True) + completion.add_attribute(render_text, 'text', 1) + completion.set_property('text_column', 1) + completion.set_model(liststore) + entry.set_completion(completion) + return liststore + + +def get_cursor(name: str) -> Gdk.Cursor: + display = Gdk.Display.get_default() + cursor = Gdk.Cursor.new_from_name(display, name) + if cursor is not None: + return cursor + return Gdk.Cursor.new_from_name(display, 'default') + + +def scroll_to_end(widget: Gtk.ScrolledWindow) -> bool: + """Scrolls to the end of a GtkScrolledWindow. + + Args: + widget (GtkScrolledWindow) + + Returns: + bool: The return value is False so it can be used with GLib.idle_add. + """ + adj_v = widget.get_vadjustment() + if adj_v is None: + # This can happen when the Widget is already destroyed when called + # from GLib.idle_add + return False + max_scroll_pos = adj_v.get_upper() - adj_v.get_page_size() + adj_v.set_value(max_scroll_pos) + + adj_h = widget.get_hadjustment() + adj_h.set_value(0) + return False + + +def at_the_end(widget: Gtk.ScrolledWindow) -> bool: + """Determines if a Scrollbar in a GtkScrolledWindow is at the end. + + Args: + widget (GtkScrolledWindow) + + Returns: + bool: The return value is True if at the end, False if not. + """ + adj_v = widget.get_vadjustment() + max_scroll_pos = adj_v.get_upper() - adj_v.get_page_size() + return adj_v.get_value() == max_scroll_pos + + +def get_image_button(icon_name, tooltip, toggle=False): + if toggle: + button = Gtk.ToggleButton() + image = Gtk.Image.new_from_icon_name(icon_name, Gtk.IconSize.MENU) + button.set_image(image) + else: + button = Gtk.Button.new_from_icon_name(icon_name, Gtk.IconSize.MENU) + button.set_tooltip_text(tooltip) + return button + + +def get_image_from_icon_name(icon_name: str, scale: int) -> Any: + icon = get_icon_name(icon_name) + surface = _icon_theme.load_surface(icon, 16, scale, None, 0) + return Gtk.Image.new_from_surface(surface) + + +def python_month(month: int) -> int: + return month + 1 + + +def gtk_month(month: int) -> int: + return month - 1 + + +def convert_rgb_to_hex(rgb_string: str) -> str: + rgb = Gdk.RGBA() + rgb.parse(rgb_string) + rgb.to_color() + + red = int(rgb.red * 255) + green = int(rgb.green * 255) + blue = int(rgb.blue * 255) + return '#%02x%02x%02x' % (red, green, blue) + + +@lru_cache(maxsize=1024) +def convert_rgb_string_to_float(rgb_string: str) -> Tuple[float, float, float]: + rgba = Gdk.RGBA() + rgba.parse(rgb_string) + return (rgba.red, rgba.green, rgba.blue) + + +def get_monitor_scale_factor() -> int: + display = Gdk.Display.get_default() + monitor = display.get_primary_monitor() + if monitor is None: + log.warning('Could not determine scale factor') + return 1 + return monitor.get_scale_factor() + + +def get_metacontact_surface(icon_name, expanded, scale): + icon_size = 16 + state_surface = _icon_theme.load_surface( + icon_name, icon_size, scale, None, 0) + if 'event' in icon_name: + return state_surface + + if expanded: + icon = get_icon_name('opened') + expanded_surface = _icon_theme.load_surface( + icon, icon_size, scale, None, 0) + else: + icon = get_icon_name('closed') + expanded_surface = _icon_theme.load_surface( + icon, icon_size, scale, None, 0) + ctx = cairo.Context(state_surface) + ctx.rectangle(0, 0, icon_size, icon_size) + ctx.set_source_surface(expanded_surface) + ctx.fill() + return state_surface + + +def get_show_in_roster(event, session=None): + """ + Return True if this event must be shown in roster, else False + """ + if event == 'gc_message_received': + return True + if event == 'message_received': + if session and session.control: + return False + return True + + +def get_show_in_systray(type_, account, jid): + """ + Return True if this event must be shown in systray, else False + """ + if type_ == 'printed_gc_msg': + contact = app.contacts.get_groupchat_contact(account, jid) + if contact is not None: + return contact.can_notify() + # it's not an highlighted message, don't show in systray + return False + return app.settings.get('trayicon_notification_on_events') + + +def get_primary_accel_mod(): + """ + Returns the primary Gdk.ModifierType modifier. + cmd on osx, ctrl everywhere else. + """ + return Gtk.accelerator_parse("")[1] + + +def get_hardware_key_codes(keyval): + keymap = Gdk.Keymap.get_for_display(Gdk.Display.get_default()) + + valid, key_map_keys = keymap.get_entries_for_keyval(keyval) + if not valid: + return [] + return [key.keycode for key in key_map_keys] + + +def ensure_not_destroyed(func): + @wraps(func) + def func_wrapper(self, *args, **kwargs): + if self._destroyed: # pylint: disable=protected-access + return None + return func(self, *args, **kwargs) + return func_wrapper + + +def format_mood(mood, text): + if mood is None: + return '' + mood = MOODS[mood] + markuptext = '%s' % GLib.markup_escape_text(mood) + if text is not None: + markuptext += ' (%s)' % GLib.markup_escape_text(text) + return markuptext + + +def get_account_mood_icon_name(account): + client = app.get_client(account) + mood = client.get_module('UserMood').get_current_mood() + return f'mood-{mood.mood}' if mood is not None else mood + + +def format_activity(activity, subactivity, text): + if subactivity in ACTIVITIES[activity]: + subactivity = ACTIVITIES[activity][subactivity] + activity = ACTIVITIES[activity]['category'] + + markuptext = '' + GLib.markup_escape_text(activity) + if subactivity: + markuptext += ': ' + GLib.markup_escape_text(subactivity) + markuptext += '' + if text: + markuptext += ' (%s)' % GLib.markup_escape_text(text) + return markuptext + + +def get_activity_icon_name(activity, subactivity=None): + icon_name = 'activity-%s' % activity.replace('_', '-') + if subactivity is not None: + icon_name += '-%s' % subactivity.replace('_', '-') + return icon_name + + +def get_account_activity_icon_name(account): + client = app.get_client(account) + activity = client.get_module('UserActivity').get_current_activity() + if activity is None: + return None + return get_activity_icon_name(activity.activity, activity.subactivity) + + +def format_tune(artist, _length, _rating, source, title, _track, _uri): + artist = GLib.markup_escape_text(artist or _('Unknown Artist')) + title = GLib.markup_escape_text(title or _('Unknown Title')) + source = GLib.markup_escape_text(source or _('Unknown Source')) + + tune_string = _('"%(title)s" by %(artist)s\n' + 'from %(source)s') % {'title': title, + 'artist': artist, + 'source': source} + return tune_string + + +def get_account_tune_icon_name(account): + client = app.get_client(account) + tune = client.get_module('UserTune').get_current_tune() + return None if tune is None else 'audio-x-generic' + + +def format_location(location): + location = location._asdict() + location_string = '' + for attr, value in location.items(): + if value is None: + continue + text = GLib.markup_escape_text(value) + # Translate standard location tag + tag = LOCATION_DATA.get(attr) + if tag is None: + continue + location_string += '\n%(tag)s: %(text)s' % { + 'tag': tag.capitalize(), 'text': text} + + return location_string.strip() + + +def get_account_location_icon_name(account): + client = app.get_client(account) + location = client.get_module('UserLocation').get_current_location() + return None if location is None else 'applications-internet' + + +def format_fingerprint(fingerprint): + fplen = len(fingerprint) + wordsize = fplen // 8 + buf = '' + for char in range(0, fplen, wordsize): + buf += '{0} '.format(fingerprint[char:char + wordsize]) + buf = textwrap.fill(buf, width=36) + return buf.rstrip().upper() + + +def find_widget(name, container): + for child in container.get_children(): + if Gtk.Buildable.get_name(child) == name: + return child + if isinstance(child, Gtk.Box): + return find_widget(name, child) + return None + + +class MultiLineLabel(Gtk.Label): + def __init__(self, *args, **kwargs): + Gtk.Label.__init__(self, *args, **kwargs) + self.set_line_wrap(True) + self.set_line_wrap_mode(Pango.WrapMode.WORD_CHAR) + self.set_single_line_mode(False) + + +class MaxWidthComboBoxText(Gtk.ComboBoxText): + def __init__(self, *args, **kwargs): + Gtk.ComboBoxText.__init__(self, *args, **kwargs) + self._max_width = 100 + text_renderer = self.get_cells()[0] + text_renderer.set_property('ellipsize', Pango.EllipsizeMode.END) + + def set_max_size(self, size): + self._max_width = size + + def do_get_preferred_width(self): + minimum_width, natural_width = Gtk.ComboBoxText.do_get_preferred_width( + self) + + if natural_width > self._max_width: + natural_width = self._max_width + if minimum_width > self._max_width: + minimum_width = self._max_width + return minimum_width, natural_width + + +def text_to_color(text): + if app.css_config.prefer_dark: + background = (0, 0, 0) # RGB (0, 0, 0) black + else: + background = (1, 1, 1) # RGB (255, 255, 255) white + return nbxmpp.util.text_to_color(text, background) + + +def get_color_for_account(account: str) -> str: + col_r, col_g, col_b = text_to_color(account) + rgba = Gdk.RGBA(red=col_r, green=col_g, blue=col_b) + return rgba.to_string() + + +def generate_account_badge(account): + account_label = app.get_account_label(account) + badge = Gtk.Label(label=account_label) + badge.set_ellipsize(Pango.EllipsizeMode.END) + badge.set_max_width_chars(12) + badge.set_size_request(50, -1) + account_class = app.css_config.get_dynamic_class(account) + badge_context = badge.get_style_context() + badge_context.add_class(account_class) + badge_context.add_class('badge') + return badge + + +@lru_cache(maxsize=16) +def get_css_show_class(show): + if show in ('online', 'chat'): + return '.gajim-status-online' + if show == 'away': + return '.gajim-status-away' + if show in ('dnd', 'xa'): + return '.gajim-status-dnd' + # 'offline', 'not in roster', 'requested' + return '.gajim-status-offline' + + +def scale_with_ratio(size, width, height): + if height == width: + return size, size + if height > width: + ratio = height / float(width) + return int(size / ratio), size + + ratio = width / float(height) + return size, int(size / ratio) + + +def load_pixbuf(path, size=None): + try: + if size is None: + return GdkPixbuf.Pixbuf.new_from_file(str(path)) + return GdkPixbuf.Pixbuf.new_from_file_at_scale( + str(path), size, size, True) + + except GLib.GError: + try: + with open(path, 'rb') as im_handle: + img = Image.open(im_handle) + avatar = img.convert("RGBA") + except (NameError, OSError): + log.warning('Pillow convert failed: %s', path) + log.debug('Error', exc_info=True) + return None + + array = GLib.Bytes.new(avatar.tobytes()) + width, height = avatar.size + pixbuf = GdkPixbuf.Pixbuf.new_from_bytes( + array, GdkPixbuf.Colorspace.RGB, True, + 8, width, height, width * 4) + if size is not None: + width, height = scale_with_ratio(size, width, height) + return pixbuf.scale_simple(width, + height, + GdkPixbuf.InterpType.BILINEAR) + return pixbuf + + except RuntimeError as error: + log.warning('Loading pixbuf failed: %s', error) + return None + + +def get_thumbnail_size(pixbuf, size): + # Calculates the new thumbnail size while preserving the aspect ratio + image_width = pixbuf.get_width() + image_height = pixbuf.get_height() + + if image_width > image_height: + if image_width > size: + image_height = math.ceil( + (size / float(image_width) * image_height)) + image_width = int(size) + else: + if image_height > size: + image_width = math.ceil( + (size / float(image_height) * image_width)) + image_height = int(size) + + return image_width, image_height + + +def make_href_markup(string): + url_color = app.css_config.get_value('.gajim-url', StyleAttr.COLOR) + color = convert_rgb_to_hex(url_color) + + def _to_href(match): + url = match.group() + if '://' not in url: + url = 'https://' + url + return '%s' % ( + url, color, match.group()) + + return URL_REGEX.sub(_to_href, string) + + +def get_app_windows(account): + windows = [] + for win in app.app.get_windows(): + if hasattr(win, 'account'): + if win.account == account: + windows.append(win) + return windows + + +def get_app_window(name, account=None, jid=None): + for win in app.app.get_windows(): + if type(win).__name__ != name: + continue + + if account is not None: + if account != win.account: + continue + + if jid is not None: + if jid != win.jid: + continue + return win + return None + + +def open_window(name, **kwargs): + window = get_app_window(name, + kwargs.get('account'), + kwargs.get('jid')) + if window is None: + module = import_module(WINDOW_MODULES[name]) + window_cls = getattr(module, name) + window = window_cls(**kwargs) + else: + window.present() + return window + + +class EventHelper(CommonEventHelper): + def __init__(self): + CommonEventHelper.__init__(self) + self.connect('destroy', self.__on_destroy) # pylint: disable=no-member + + def __on_destroy(self, *args): + self.unregister_events() + + +def check_destroy(widget): + def _destroy(*args): + print('DESTROYED', args) + widget.connect('destroy', _destroy) + + +def check_finalize(obj, name): + weakref.finalize(obj, print, f'{name} has been finalized') diff --git a/gajim/gtk/vcard_grid.py b/gajim/gtk/vcard_grid.py new file mode 100644 index 0000000..622bcfc --- /dev/null +++ b/gajim/gtk/vcard_grid.py @@ -0,0 +1,778 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import datetime + +from gi.repository import Gdk +from gi.repository import GLib +from gi.repository import Gtk +from gi.repository import GObject + +from gajim.common.i18n import _ +from gajim.common.i18n import Q_ +from gajim.common.const import URIType +from gajim.common.helpers import open_uri +from gajim.common.helpers import parse_uri +from gajim.common.structs import URI +from gajim.gui.util import gtk_month +from gajim.gui.util import python_month + + +LABEL_DICT = { + 'fn': _('Full Name'), + 'n': _('Name'), + 'bday': _('Birthday'), + 'gender': _('Gender'), + 'adr': Q_('?profile:Address'), + 'tel': _('Phone No.'), + 'email': _('Email'), + 'impp': _('IM Address'), + 'title': Q_('?profile:Title'), + 'role': Q_('?profile:Role'), + 'org': _('Organisation'), + 'note': Q_('?profile:Note'), + 'url': _('URL'), + 'key': Q_('?profile:Public Encryption Key'), +} + + +FIELD_TOOLTIPS = { + 'key': _('Your public key or authentication certificate') +} + + +ADR_FIELDS = ['street', 'ext', 'pobox', 'code', 'locality', 'region', 'country'] + + +ADR_PLACEHOLDER_TEXT = { + 'pobox': _('Post Office Box'), + 'street': _('Street'), + 'ext': _('Extended Address'), + 'locality': _('City'), + 'region': _('State'), + 'code': _('Postal Code'), + 'country': _('Country'), +} + + +DEFAULT_KWARGS = { + 'fn': {'value': ''}, + 'bday': {'value': '', 'value_type': 'date'}, + 'gender': {'sex': '', 'identity': ''}, + 'adr': {}, + 'email': {'value': ''}, + 'impp': {'value': ''}, + 'tel': {'value': '', 'value_type': 'text'}, + 'org': {'values': []}, + 'title': {'value': ''}, + 'role': {'value': ''}, + 'url': {'value': ''}, + 'key': {'value': '', 'value_type': 'text'}, + 'note': {'value': ''}, +} + + +PROPERTIES_WITH_TYPE = [ + 'adr', + 'email', + 'impp', + 'tel', + 'key', +] + + +ORDER = [ + 'fn', + 'gender', + 'bday', + 'adr', + 'email', + 'impp', + 'tel', + 'org', + 'title', + 'role', + 'url', + 'key', + 'note', +] + + +SEX_VALUES = { + 'M': _('Male'), + 'F': _('Female'), + 'O': Q_('?Gender:Other'), + 'N': Q_('?Gender:None'), + 'U': _('Unknown') +} + + +TYPE_VALUES = { + '-': None, + 'home': _('Home'), + 'work': _('Work') +} + + +class VCardGrid(Gtk.Grid): + def __init__(self, account): + Gtk.Grid.__init__(self) + + self._callbacks = { + 'fn': TextEntryProperty, + 'bday': DateProperty, + 'gender': GenderProperty, + 'adr': AdrProperty, + 'tel': TextEntryProperty, + 'email': TextEntryProperty, + 'impp': TextEntryProperty, + 'title': TextEntryProperty, + 'role': TextEntryProperty, + 'org': TextEntryProperty, + 'url': TextEntryProperty, + 'key': KeyProperty, + 'note': MultiLineProperty, + } + + self.set_column_spacing(12) + self.set_row_spacing(12) + self.set_no_show_all(True) + self.set_visible(True) + self.set_halign(Gtk.Align.CENTER) + + self._account = account + self._row_count = 0 + self._vcard = None + self._props = [] + + def set_editable(self, enabled): + for prop in self._props: + prop.set_editable(enabled) + + def set_vcard(self, vcard): + self.clear() + self._vcard = vcard + + for entry in ORDER: + for prop in vcard.get_properties(): + if entry != prop.name: + continue + + self.add_property(prop) + + def get_vcard(self): + return self._vcard + + def validate(self): + for prop in list(self._props): + base_prop = prop.get_base_property() + if base_prop.is_empty: + self.remove_property(prop) + + def add_new_property(self, name): + kwargs = DEFAULT_KWARGS[name] + prop = self._vcard.add_property(name, **kwargs) + self.add_property(prop, editable=True) + + def add_property(self, prop, editable=False): + prop_class = self._callbacks.get(prop.name) + if prop_class is None: + return + prop_obj = prop_class(prop, self._account) + prop_obj.set_editable(editable) + prop_obj.add_to_grid(self, self._row_count) + + self._props.append(prop_obj) + self._row_count += 1 + + def remove_property(self, prop): + self.remove_row(prop.row_number) + self._props.remove(prop) + self._vcard.remove_property(prop.get_base_property()) + + def clear(self): + self._vcard = None + self._row_count = 0 + for prop in list(self._props): + self.remove_row(prop.row_number) + + self._props = [] + + def sort(self): + self.set_vcard(self._vcard) + + +class DescriptionLabel(Gtk.Label): + def __init__(self, value): + Gtk.Label.__init__(self, label=LABEL_DICT[value]) + if value == 'adr': + self.set_valign(Gtk.Align.START) + else: + self.set_valign(Gtk.Align.CENTER) + self.get_style_context().add_class('dim-label') + self.get_style_context().add_class('margin-right18') + self.set_visible(True) + self.set_xalign(1) + self.set_tooltip_text(FIELD_TOOLTIPS.get(value, '')) + + +class ValueLabel(Gtk.Label): + def __init__(self, prop, account): + Gtk.Label.__init__(self) + self._prop = prop + self._uri = None + self._account = account + self.set_selectable(True) + self.set_xalign(0) + self.set_max_width_chars(50) + self.set_valign(Gtk.Align.CENTER) + self.set_halign(Gtk.Align.START) + + self.connect('activate-link', self._on_activate_link) + if prop.name == 'org': + self.set_value(prop.values[0] if prop.values else '') + else: + self.set_value(prop.value) + + def set_value(self, value): + if self._prop.name == 'email': + self._uri = URI(type=URIType.MAIL, data=value) + self.set_markup(value) + + elif self._prop.name in ('impp', 'tel'): + self._uri = parse_uri(value) + self.set_markup(value) + + else: + self.set_text(value) + + def set_markup(self, text): + if not text: + self.set_text('') + return + super().set_markup('{}'.format( + GLib.markup_escape_text(text), + GLib.markup_escape_text(text))) + + def _on_activate_link(self, _label, _value): + open_uri(self._uri, self._account) + return Gdk.EVENT_STOP + + +class SexLabel(Gtk.Label): + def __init__(self, prop): + Gtk.Label.__init__(self) + self._prop = prop + + self.set_selectable(True) + self.set_xalign(0) + self.set_max_width_chars(50) + self.set_valign(Gtk.Align.CENTER) + self.set_halign(Gtk.Align.START) + + self.set_text(prop.sex) + + def set_text(self, value): + if not value or value == '-': + super().set_text('') + else: + super().set_text(SEX_VALUES[value]) + + +class IdentityLabel(Gtk.Label): + def __init__(self, prop): + Gtk.Label.__init__(self) + self._prop = prop + + self.set_selectable(True) + self.set_xalign(0) + self.set_max_width_chars(50) + self.set_valign(Gtk.Align.CENTER) + self.set_halign(Gtk.Align.START) + + self.set_text(prop.identity) + + def set_text(self, value): + super().set_text('' if not value else value) + + +class ValueEntry(Gtk.Entry): + def __init__(self, prop): + Gtk.Entry.__init__(self) + self.set_valign(Gtk.Align.CENTER) + self.set_max_width_chars(50) + if prop.name == 'org': + self.set_text(prop.values[0] if prop.values else '') + else: + self.set_text(prop.value) + + +class AdrEntry(Gtk.Entry): + def __init__(self, prop, type_): + Gtk.Entry.__init__(self) + self.set_valign(Gtk.Align.CENTER) + self.set_max_width_chars(50) + values = getattr(prop, type_) + if not values: + value = '' + else: + value = values[0] + self.set_text(value) + self.set_placeholder_text(ADR_PLACEHOLDER_TEXT.get(type_)) + + +class IdentityEntry(Gtk.Entry): + def __init__(self, prop): + Gtk.Entry.__init__(self) + self.set_valign(Gtk.Align.CENTER) + self.set_max_width_chars(50) + self.set_text('' if not prop.identity else prop.identity) + + +class AdrBox(Gtk.Box): + + __gsignals__ = { + 'field-changed': ( + GObject.SignalFlags.RUN_LAST | GObject.SignalFlags.ACTION, + None, # return value + (str, str) # arguments + )} + + def __init__(self, prop): + Gtk.Box.__init__(self, orientation=Gtk.Orientation.VERTICAL, spacing=6) + + for field in ADR_FIELDS: + entry = AdrEntry(prop, field) + entry.connect('notify::text', self._on_text_changed, field) + self.add(entry) + + self.show_all() + + def _on_text_changed(self, entry, _param, field): + self.emit('field-changed', field, entry.get_text()) + + +class AdrLabel(Gtk.Label): + def __init__(self, prop, type_): + Gtk.Label.__init__(self) + self.set_selectable(True) + self.set_xalign(0) + self.set_max_width_chars(50) + self.set_valign(Gtk.Align.CENTER) + self.set_halign(Gtk.Align.START) + values = getattr(prop, type_) + if not values: + value = '' + else: + value = values[0] + self.set_text(value) + + def set_text(self, value): + self.set_visible(bool(value)) + super().set_text(value) + + +class AdrBoxReadOnly(Gtk.Box): + def __init__(self, prop): + Gtk.Box.__init__(self, orientation=Gtk.Orientation.VERTICAL, spacing=6) + + self._labels = {} + + for field in ADR_FIELDS: + label = AdrLabel(prop, field) + self._labels[field] = label + self.add(label) + + def set_field(self, field, value): + self._labels[field].set_text(value) + + +class ValueTextView(Gtk.TextView): + def __init__(self, prop): + Gtk.TextView.__init__(self) + self.props.right_margin = 8 + self.props.left_margin = 8 + self.props.top_margin = 8 + self.props.bottom_margin = 8 + + self.set_wrap_mode(Gtk.WrapMode.WORD_CHAR) + self.set_hexpand(True) + self.set_valign(Gtk.Align.FILL) + + self._prop = prop + self.get_buffer().set_text(prop.value) + self.get_buffer().connect('notify::text', self._on_text_changed) + + def get_text(self): + start_iter, end_iter = self.get_buffer().get_bounds() + return self.get_buffer().get_text(start_iter, end_iter, False) + + def _on_text_changed(self, _buffer, _param): + self._prop.value = self.get_text() + + +class TypeComboBox(Gtk.ComboBoxText): + def __init__(self, parameters): + Gtk.ComboBoxText.__init__(self) + self.set_valign(Gtk.Align.CENTER) + self._parameters = parameters + self.append('-', '-') + self.append('home', _('Home')) + self.append('work', _('Work')) + + values = self._parameters.get_types() + if 'home' in values: + self.set_active_id('home') + + elif 'work' in values: + self.set_active_id('work') + + else: + self.set_active_id('-') + + self.connect('notify::active-id', self._on_active_id_changed) + + def _on_active_id_changed(self, _combobox, _param): + type_ = self.get_active_id() + if type_ == '-': + self._parameters.remove_types(['work', 'home']) + + elif type_ == 'work': + self._parameters.add_types(['work']) + self._parameters.remove_types(['home']) + + elif type_ == 'home': + self._parameters.add_types(['home']) + self._parameters.remove_types(['work']) + + def get_text(self): + type_value = self.get_active_id() + if type_value == '-': + return '' + return self.get_active_text() + + +class GenderComboBox(Gtk.ComboBoxText): + def __init__(self, prop): + Gtk.ComboBoxText.__init__(self) + self.set_valign(Gtk.Align.CENTER) + self.set_halign(Gtk.Align.START) + + self._prop = prop + + self.append('-', '-') + for key, value in SEX_VALUES.items(): + self.append(key, value) + + if not prop.sex: + self.set_active_id('-') + else: + self.set_active_id(prop.sex) + + +class RemoveButton(Gtk.Button): + def __init__(self): + Gtk.Button.__init__(self) + self.set_valign(Gtk.Align.CENTER) + self.set_halign(Gtk.Align.START) + image = Gtk.Image.new_from_icon_name('user-trash-symbolic', + Gtk.IconSize.MENU) + self.set_image(image) + self.set_no_show_all(True) + + +class VCardProperty: + def __init__(self, prop): + self._prop = prop + + self._second_column = [] + self._third_column = [] + + self._desc_label = DescriptionLabel(prop.name) + self._remove_button = RemoveButton() + self._remove_button.connect('clicked', self._on_remove_clicked) + + self._edit_widgets = [self._remove_button] + self._read_widgets = [] + + if prop.name in PROPERTIES_WITH_TYPE: + self._type_combobox = TypeComboBox(prop.parameters) + self._type_combobox.connect('notify::active-id', + self._on_type_changed) + type_ = self._type_combobox.get_active_id() + icon_name = self._get_icon_name(type_) + self._type_image = Gtk.Image.new_from_icon_name( + icon_name, Gtk.IconSize.MENU) + self._type_image.set_tooltip_text(TYPE_VALUES[type_]) + + if prop.name == 'adr': + self._type_image.set_valign(Gtk.Align.START) + self._type_combobox.set_valign(Gtk.Align.START) + + self._edit_widgets.append(self._type_combobox) + self._read_widgets.append(self._type_image) + self._second_column.extend([self._type_combobox, self._type_image]) + + @staticmethod + def _get_icon_name(type_): + if type_ == 'home': + return 'feather-home' + if type_ == 'work': + return 'feather-briefcase' + return None + + def _on_type_changed(self, _combobox, _param): + type_ = self._type_combobox.get_active_id() + icon_name = self._get_icon_name(type_) + self._type_image.set_from_icon_name(icon_name, Gtk.IconSize.MENU) + self._type_image.set_tooltip_text(TYPE_VALUES[type_]) + + def _on_remove_clicked(self, button): + button.get_parent().remove_property(self) + + @property + def row_number(self): + grid = self._desc_label.get_parent() + return grid.child_get_property(self._desc_label, 'top-attach') + + def get_base_property(self): + return self._prop + + def set_editable(self, enabled): + for widget in self._edit_widgets: + widget.set_visible(enabled) + + for widget in self._read_widgets: + widget.set_visible(not enabled) + + def add_to_grid(self, grid, row_number): + # child, left, top, width, height + grid.attach(self._desc_label, 0, row_number, 1, 1) + + for widget in self._second_column: + grid.attach(widget, 1, row_number, 1, 1) + + for widget in self._third_column: + grid.attach(widget, 2, row_number, 1, 1) + + grid.attach(self._remove_button, 3, row_number, 1, 1) + + +class TextEntryProperty(VCardProperty): + def __init__(self, prop, account): + VCardProperty.__init__(self, prop) + + self._value_entry = ValueEntry(prop) + self._value_entry.connect('notify::text', self._on_text_changed) + + self._value_label = ValueLabel(prop, account) + + self._edit_widgets.append(self._value_entry) + self._read_widgets.append(self._value_label) + + self._third_column = [self._value_entry, self._value_label] + + def _on_text_changed(self, entry, _param): + text = entry.get_text() + if self._prop.name == 'org': + self._prop.values = [text] + else: + self._prop.value = text + self._value_label.set_value(text) + + +class MultiLineProperty(VCardProperty): + def __init__(self, prop, _account): + VCardProperty.__init__(self, prop) + + self._edit_text_view = ValueTextView(prop) + self._edit_text_view.show() + + self._edit_scrolled = Gtk.ScrolledWindow() + self._edit_scrolled.set_policy(Gtk.PolicyType.NEVER, + Gtk.PolicyType.AUTOMATIC) + self._edit_scrolled.add(self._edit_text_view) + self._edit_scrolled.set_valign(Gtk.Align.CENTER) + self._edit_scrolled.set_size_request(350, 100) + self._edit_scrolled.get_style_context().add_class('profile-scrolled') + + self._read_text_view = ValueTextView(prop) + self._read_text_view.set_sensitive(False) + self._read_text_view.set_left_margin(0) + self._read_text_view.show() + + self._read_scrolled = Gtk.ScrolledWindow() + self._read_scrolled.set_policy(Gtk.PolicyType.NEVER, + Gtk.PolicyType.AUTOMATIC) + self._read_scrolled.add(self._read_text_view) + self._read_scrolled.set_valign(Gtk.Align.CENTER) + self._read_scrolled.set_size_request(350, 100) + self._read_scrolled.get_style_context().add_class( + 'profile-scrolled-read') + + self._edit_widgets.append(self._edit_scrolled) + self._read_widgets.append(self._read_scrolled) + + self._third_column = [self._edit_scrolled, self._read_scrolled] + + +class DateProperty(VCardProperty): + def __init__(self, prop, account): + VCardProperty.__init__(self, prop) + + self._box = Gtk.Box(spacing=6) + self._value_entry = ValueEntry(prop) + self._value_entry.set_placeholder_text(_('YYYY-MM-DD')) + self._value_entry.connect('notify::text', self._on_text_changed) + + self._calendar_button = Gtk.MenuButton() + image = Gtk.Image.new_from_icon_name( + 'x-office-calendar-symbolic', Gtk.IconSize.BUTTON) + self._calendar_button.set_image(image) + self._calendar_button.connect( + 'clicked', self._on_calendar_button_clicked) + self._box.add(self._value_entry) + self._box.add(self._calendar_button) + self._box.show_all() + + self.calendar = Gtk.Calendar(year=1980, month=5, day=15) + self.calendar.set_visible(True) + self.calendar.connect( + 'day-selected', self._on_calendar_day_selected) + + popover = Gtk.Popover() + popover.add(self.calendar) + self._calendar_button.set_popover(popover) + + self._value_label = ValueLabel(prop, account) + + self._edit_widgets.append(self._box) + self._read_widgets.append(self._value_label) + + self._third_column = [self._box, self._value_label] + + def _on_text_changed(self, entry, _param): + text = entry.get_text() + self._prop.value = text + self._value_label.set_value(text) + + def _on_calendar_button_clicked(self, _widget): + birthday = self._value_entry.get_text() + if not birthday: + return + try: + date = datetime.datetime.strptime(birthday, '%Y-%m-%d') + except ValueError: + return + month = gtk_month(date.month) + self.calendar.select_month(month, date.year) + self.calendar.select_day(date.day) + + def _on_calendar_day_selected(self, _widget): + year, month, day = self.calendar.get_date() # Integers + month = python_month(month) + date_str = datetime.date(year, month, day).strftime('%Y-%m-%d') + self._value_entry.set_text(date_str) + + +class KeyProperty(VCardProperty): + def __init__(self, prop, _account): + VCardProperty.__init__(self, prop) + + self._value_text_view = ValueTextView(prop) + self._value_text_view.show() + + self._scrolled_window = Gtk.ScrolledWindow() + self._scrolled_window.set_policy(Gtk.PolicyType.NEVER, + Gtk.PolicyType.AUTOMATIC) + self._scrolled_window.add(self._value_text_view) + self._scrolled_window.set_valign(Gtk.Align.CENTER) + self._scrolled_window.set_size_request(350, 200) + self._scrolled_window.get_style_context().add_class('profile-scrolled') + + self._copy_button = Gtk.Button.new_from_icon_name('edit-copy-symbolic', + Gtk.IconSize.MENU) + self._copy_button.connect('clicked', self._on_copy_clicked) + self._copy_button.set_halign(Gtk.Align.START) + self._copy_button.set_valign(Gtk.Align.CENTER) + + self._edit_widgets.append(self._scrolled_window) + self._read_widgets.append(self._copy_button) + + self._third_column = [self._scrolled_window, self._copy_button] + + def _on_copy_clicked(self, _button): + clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) + clipboard.set_text(self._value_text_view.get_text(), -1) + + +class GenderProperty(VCardProperty): + def __init__(self, prop, _account): + VCardProperty.__init__(self, prop) + + value_box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=12) + self._value_combobox = GenderComboBox(prop) + self._value_combobox.connect('notify::active-id', + self._on_active_id_changed) + self._value_combobox.show() + + self._value_entry = IdentityEntry(prop) + self._value_entry.show() + self._value_entry.connect('notify::text', self._on_text_changed) + + value_box.add(self._value_combobox) + value_box.add(self._value_entry) + + label_box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=12) + self._identity_label = IdentityLabel(prop) + self._identity_label.show() + self._sex_label = SexLabel(prop) + self._sex_label.show() + + label_box.add(self._sex_label) + label_box.add(self._identity_label) + + self._edit_widgets.append(value_box) + self._read_widgets.append(label_box) + + self._third_column = [value_box, label_box] + + def _on_text_changed(self, entry, _param): + text = entry.get_text() + self._prop.identity = text + self._identity_label.set_text(text) + + def _on_active_id_changed(self, combobox, _param): + sex = combobox.get_active_id() + self._prop.sex = None if sex == '-' else sex + self._sex_label.set_text(sex) + + +class AdrProperty(VCardProperty): + def __init__(self, prop, _account): + VCardProperty.__init__(self, prop) + + self._entry_box = AdrBox(prop) + self._entry_box.connect('field-changed', self._on_field_changed) + + self._read_box = AdrBoxReadOnly(prop) + + self._edit_widgets.append(self._entry_box) + self._read_widgets.append(self._read_box) + + self._third_column = [self._entry_box, self._read_box] + + def _on_field_changed(self, _box, field, value): + setattr(self._prop, field, [value]) + self._read_box.set_field(field, value) diff --git a/gajim/gtk/video_preview.py b/gajim/gtk/video_preview.py new file mode 100644 index 0000000..671bc7f --- /dev/null +++ b/gajim/gtk/video_preview.py @@ -0,0 +1,133 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import logging + +from gi.repository import GLib + +from gajim.common import app +from gajim.common.i18n import _ + +from . import gstreamer +from .util import get_builder + +try: + from gi.repository import Gst # pylint: disable=ungrouped-imports +except Exception: + pass + + +log = logging.getLogger('gajim.gui.preview') + + +class VideoPreview: + def __init__(self): + + self._ui = get_builder('video_preview.ui') + + self._active = False + + self._av_pipeline = None + self._av_src = None + self._av_sink = None + self._av_widget = None + + @property + def widget(self): + return self._ui.video_preview_box + + @property + def is_active(self): + return self._active + + def toggle_preview(self, value): + self._active = value + if value: + return self._enable_preview() + return self._disable_preview() + + def _enable_preview(self): + src_name = app.settings.get('video_input_device') + try: + self._av_src = Gst.parse_bin_from_description(src_name, True) + except GLib.Error as error: + log.error(error) + log.error('Failed to parse "%s" as Gstreamer element', src_name) + self._set_error_text() + return + + sink, widget, name = gstreamer.create_gtk_widget() + if sink is None: + log.error('Failed to obtain a working Gstreamer GTK+ sink, ' + 'video support will be disabled') + self._set_error_text() + return + + self._set_sink_text(name) + + if self._av_pipeline is None: + self._av_pipeline = Gst.Pipeline.new('preferences-pipeline') + else: + self._av_pipeline.set_state(Gst.State.NULL) + + self._av_pipeline.add(sink) + self._av_sink = sink + + if self._av_widget is not None: + self._ui.video_preview_box.remove(self._av_widget) + + self._ui.video_preview_placeholder.set_visible(False) + self._ui.video_preview_box.pack_end(widget, True, True, 0) + self._av_widget = widget + + self._av_pipeline.add(self._av_src) + self._av_src.link(self._av_sink) + self._av_pipeline.set_state(Gst.State.PLAYING) + + def _disable_preview(self): + if self._av_pipeline is not None: + self._av_pipeline.set_state(Gst.State.NULL) + if self._av_src is not None: + self._av_pipeline.remove(self._av_src) + if self._av_sink is not None: + self._av_pipeline.remove(self._av_sink) + + self._av_src = None + self._av_sink = None + + if self._av_widget is not None: + self._ui.video_preview_box.remove(self._av_widget) + self._ui.video_preview_placeholder.set_visible(True) + self._av_widget = None + self._av_pipeline = None + + def _set_sink_text(self, sink_name): + text = '' + if sink_name == 'gtkglsink': + text = _('' + 'OpenGL accelerated') + + elif sink_name == 'gtksink': + text = _('' + 'Not accelerated') + + self._ui.video_source_label.set_markup(text) + + def _set_error_text(self): + self._ui.video_source_label.set_text( + _('Something went wrong. Video feature disabled.')) + + def refresh(self): + self.toggle_preview(False) + self.toggle_preview(True) diff --git a/gajim/gtk/xml_console.py b/gajim/gtk/xml_console.py new file mode 100644 index 0000000..b22ea0e --- /dev/null +++ b/gajim/gtk/xml_console.py @@ -0,0 +1,384 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import time + +import nbxmpp +from gi.repository import Gdk +from gi.repository import Gtk +from gi.repository import GLib + +from gajim.common import app +from gajim.common import ged +from gajim.common.i18n import _ +from gajim.common.const import StyleAttr + +from . import util +from .util import get_builder +from .util import MaxWidthComboBoxText +from .util import EventHelper +from .dialogs import ErrorDialog +from .settings import SettingsDialog +from .const import Setting +from .const import SettingKind +from .const import SettingType + + +class XMLConsoleWindow(Gtk.ApplicationWindow, EventHelper): + def __init__(self): + Gtk.ApplicationWindow.__init__(self) + EventHelper.__init__(self) + self.set_application(app.app) + self.set_position(Gtk.WindowPosition.CENTER) + self.set_default_size(600, 600) + self.set_resizable(True) + self.set_show_menubar(False) + self.set_name('XMLConsoleWindow') + + self.selected_account = None + self._selected_send_account = None + self.presence = True + self.message = True + self.iq = True + self.stream = True + self.incoming = True + self.outgoing = True + self.filter_dialog = None + self.last_stanza = None + self.last_search = '' + + self._ui = get_builder('xml_console.ui') + self.set_titlebar(self._ui.headerbar) + self._set_titlebar() + self.add(self._ui.box) + + self._ui.paned.set_position(self._ui.paned.get_property('max-position')) + + self._combo = MaxWidthComboBoxText() + self._combo.set_max_size(200) + self._combo.set_hexpand(False) + self._combo.set_halign(Gtk.Align.END) + self._combo.set_no_show_all(True) + self._combo.set_visible(False) + self._combo.connect('changed', self._on_value_change) + for account, label in self._get_accounts(): + self._combo.append(account, label) + self._ui.actionbar.pack_end(self._combo) + + self._create_tags() + self.show_all() + + self.connect('key_press_event', self._on_key_press_event) + self._ui.connect_signals(self) + + self.register_events([ + ('stanza-received', ged.GUI1, self._nec_stanza_received), + ('stanza-sent', ged.GUI1, self._nec_stanza_sent), + ]) + + def _on_value_change(self, combo): + self._selected_send_account = combo.get_active_id() + + def _set_titlebar(self): + if self.selected_account is None: + title = _('All Accounts') + else: + title = app.get_jid_from_account(self.selected_account) + self._ui.headerbar.set_subtitle(title) + + def _create_tags(self): + buffer_ = self._ui.textview.get_buffer() + in_color = app.css_config.get_value( + '.gajim-incoming-nickname', StyleAttr.COLOR) + out_color = app.css_config.get_value( + '.gajim-outgoing-nickname', StyleAttr.COLOR) + + tags = ['presence', 'message', 'stream', 'iq'] + + tag = buffer_.create_tag('incoming') + tag.set_property('foreground', in_color) + tag = buffer_.create_tag('outgoing') + tag.set_property('foreground', out_color) + + for tag_name in tags: + buffer_.create_tag(tag_name) + + def _on_key_press_event(self, _widget, event): + if event.keyval == Gdk.KEY_Escape: + if self._ui.search_revealer.get_child_revealed(): + self._ui.search_revealer.set_reveal_child(False) + return + self.destroy() + if (event.get_state() & Gdk.ModifierType.CONTROL_MASK and + event.keyval == Gdk.KEY_Return or + event.keyval == Gdk.KEY_KP_Enter): + self._on_send() + if (event.get_state() & Gdk.ModifierType.CONTROL_MASK and + event.keyval == Gdk.KEY_Up): + self._on_paste_last() + if (event.get_state() & Gdk.ModifierType.CONTROL_MASK and + event.keyval == Gdk.KEY_f): + self._ui.search_toggle.set_active( + not self._ui.search_revealer.get_child_revealed()) + if event.keyval == Gdk.KEY_F3: + self._find(True) + + def _on_row_activated(self, _listbox, row): + text = row.get_child().get_text() + input_text = None + if text == 'Presence': + input_text = ( + '\n' + '\n' + '\n' + '\n' + '') + elif text == 'Message': + input_text = ( + '\n' + '\n' + '') + elif text == 'Iq': + input_text = ( + '\n' + '\n' + '') + + if input_text is not None: + buffer_ = self._ui.input_entry.get_buffer() + buffer_.set_text(input_text) + self._ui.input_entry.grab_focus() + + def _on_send(self, *args): + if not self._selected_send_account: + return + if not app.account_is_available(self._selected_send_account): + # If offline or connecting + ErrorDialog( + _('Connection not available'), + _('Please make sure you are connected with \'%s\'.') % + self._selected_send_account) + return + buffer_ = self._ui.input_entry.get_buffer() + begin_iter, end_iter = buffer_.get_bounds() + stanza = buffer_.get_text(begin_iter, end_iter, True) + if stanza: + try: + node = nbxmpp.Node(node=stanza) + except Exception as error: + ErrorDialog(_('Invalid Node'), str(error)) + return + + if node.getName() in ('message', 'presence', 'iq'): + # Parse stanza again if its a message, presence or iq and + # set jabber:client as toplevel namespace + # Use type Protocol so nbxmpp counts the stanza for + # stream management + node = nbxmpp.Protocol(node=stanza, + attrs={'xmlns': 'jabber:client'}) + app.connections[self._selected_send_account].connection.send(node) + self.last_stanza = stanza + buffer_.set_text('') + + def _on_paste_last(self, *args): + buffer_ = self._ui.input_entry.get_buffer() + if buffer_ is not None and self.last_stanza is not None: + buffer_.set_text(self.last_stanza) + self._ui.input_entry.grab_focus() + + def _on_input(self, button, *args): + if button.get_active(): + self._ui.paned.get_child2().show() + self._ui.send.show() + self._ui.paste.show() + self._combo.show() + self._ui.menubutton.show() + self._ui.input_entry.grab_focus() + else: + self._ui.paned.get_child2().hide() + self._ui.send.hide() + self._ui.paste.hide() + self._combo.hide() + self._ui.menubutton.hide() + + def _on_search_toggled(self, button): + self._ui.search_revealer.set_reveal_child(button.get_active()) + self._ui.search_entry.grab_focus() + + def _on_search_activate(self, _widget): + self._find(True) + + def _on_search_clicked(self, button): + forward = bool(button is self._ui.search_forward) + self._find(forward) + + def _find(self, forward): + search_str = self._ui.search_entry.get_text() + textbuffer = self._ui.textview.get_buffer() + cursor_mark = textbuffer.get_insert() + current_pos = textbuffer.get_iter_at_mark(cursor_mark) + + if current_pos.get_offset() == textbuffer.get_char_count(): + current_pos = textbuffer.get_start_iter() + + last_pos_mark = textbuffer.get_mark('last_pos') + if last_pos_mark is not None: + current_pos = textbuffer.get_iter_at_mark(last_pos_mark) + + if search_str != self.last_search: + current_pos = textbuffer.get_start_iter() + + if forward: + match = current_pos.forward_search( + search_str, + Gtk.TextSearchFlags.VISIBLE_ONLY | + Gtk.TextSearchFlags.CASE_INSENSITIVE, + None) + else: + current_pos.backward_cursor_position() + match = current_pos.backward_search( + search_str, + Gtk.TextSearchFlags.VISIBLE_ONLY | + Gtk.TextSearchFlags.CASE_INSENSITIVE, + None) + + if match is not None: + match_start, match_end = match + textbuffer.select_range(match_start, match_end) + mark = textbuffer.create_mark('last_pos', match_end, True) + self._ui.textview.scroll_to_mark(mark, 0, True, 0.5, 0.5) + self.last_search = search_str + + @staticmethod + def _get_accounts(): + accounts = app.get_accounts_sorted() + combo_accounts = [] + for account in accounts: + label = app.get_account_label(account) + combo_accounts.append((account, label)) + combo_accounts.append(('AccountWizard', 'Account Wizard')) + return combo_accounts + + def _on_filter_options(self, *args): + if self.filter_dialog: + self.filter_dialog.present() + return + + combo_accounts = self._get_accounts() + combo_accounts.insert(0, (None, _('All Accounts'))) + + settings = [ + Setting(SettingKind.COMBO, _('Account'), + SettingType.VALUE, self.selected_account, + callback=self._set_account, + props={'combo_items': combo_accounts}), + + Setting(SettingKind.SWITCH, 'Presence', + SettingType.VALUE, self.presence, + callback=self._on_setting, data='presence'), + + Setting(SettingKind.SWITCH, 'Message', + SettingType.VALUE, self.message, + callback=self._on_setting, data='message'), + + Setting(SettingKind.SWITCH, 'IQ', SettingType.VALUE, self.iq, + callback=self._on_setting, data='iq'), + + Setting(SettingKind.SWITCH, 'Stream Management', + SettingType.VALUE, self.stream, + callback=self._on_setting, data='stream'), + + Setting(SettingKind.SWITCH, 'In', SettingType.VALUE, self.incoming, + callback=self._on_setting, data='incoming'), + + Setting(SettingKind.SWITCH, 'Out', SettingType.VALUE, self.outgoing, + callback=self._on_setting, data='outgoing'), + ] + + self.filter_dialog = SettingsDialog(self, _('Filter'), + Gtk.DialogFlags.DESTROY_WITH_PARENT, + settings, self.selected_account) + self.filter_dialog.connect('destroy', self._on_filter_destroyed) + + def _on_filter_destroyed(self, _win): + self.filter_dialog = None + + def _on_clear(self, *args): + self._ui.textview.get_buffer().set_text('') + + def _set_account(self, value, _data): + self.selected_account = value + self._set_titlebar() + + def _on_setting(self, value, data): + setattr(self, data, value) + value = not value + table = self._ui.textview.get_buffer().get_tag_table() + tag = table.lookup(data) + if data in ('incoming', 'outgoing'): + if value: + tag.set_priority(table.get_size() - 1) + else: + tag.set_priority(0) + tag.set_property('invisible', value) + + def _nec_stanza_received(self, event): + if self.selected_account is not None: + if event.account != self.selected_account: + return + self._print_stanza(event, 'incoming') + + def _nec_stanza_sent(self, event): + if self.selected_account is not None: + if event.account != self.selected_account: + return + self._print_stanza(event, 'outgoing') + + def _print_stanza(self, event, kind): + if event.account == 'AccountWizard': + account_label = 'Account Wizard' + else: + account_label = app.get_account_label(event.account) + + stanza = event.stanza + if not isinstance(stanza, str): + stanza = stanza.__str__(fancy=True) + + if not stanza: + return + + at_the_end = util.at_the_end(self._ui.scrolled) + + buffer_ = self._ui.textview.get_buffer() + end_iter = buffer_.get_end_iter() + + type_ = kind + if stanza.startswith(' +# Copyright (C) 2005-2006 Dimitur Kirov +# Copyright (C) 2005-2007 Nikos Kouremenos +# Copyright (C) 2006 Travis Shirk +# Copyright (C) 2006-2007 Junglecow J +# Copyright (C) 2006-2008 Jean-Marie Traissard +# Copyright (C) 2007 James Newton +# Julien Pivotto +# Copyright (C) 2007-2008 Stephan Erb +# Copyright (C) 2008 Jonathan Schleifer +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import os +import math +import logging +from io import BytesIO + +from gi.repository import Gtk +from gi.repository import Gdk +from gi.repository import GdkPixbuf +from gi.repository import GLib +from gi.repository import Pango + +try: + from PIL import Image +except Exception: + pass + +from gajim.common import app + +HAS_PYWIN32 = True +if os.name == 'nt': + try: + import win32file + import win32con + import pywintypes + except ImportError: + HAS_PYWIN32 = False + +log = logging.getLogger('gajim.gtkgui_helpers') + + +def get_pixbuf_from_data(file_data): + """ + Get image data and returns GdkPixbuf.Pixbuf + """ + pixbufloader = GdkPixbuf.PixbufLoader() + try: + pixbufloader.write(file_data) + pixbufloader.close() + pixbuf = pixbufloader.get_pixbuf() + except GLib.GError: + pixbufloader.close() + + log.warning('loading avatar using pixbufloader failed, trying to ' + 'convert avatar image using pillow') + try: + avatar = Image.open(BytesIO(file_data)).convert("RGBA") + array = GLib.Bytes.new(avatar.tobytes()) + width, height = avatar.size + pixbuf = GdkPixbuf.Pixbuf.new_from_bytes( + array, GdkPixbuf.Colorspace.RGB, + True, 8, width, height, width * 4) + except Exception: + log.warning('Could not use pillow to convert avatar image, ' + 'image cannot be displayed', exc_info=True) + return + + return pixbuf + +def file_is_locked(path_to_file): + """ + Return True if file is locked + + NOTE: Windows only. + """ + if os.name != 'nt': # just in case + return + + if not HAS_PYWIN32: + return + + secur_att = pywintypes.SECURITY_ATTRIBUTES() + secur_att.Initialize() + + try: + # try make a handle for READING the file + hfile = win32file.CreateFile( + path_to_file, # path to file + win32con.GENERIC_READ, # open for reading + 0, # do not share with other proc + secur_att, + win32con.OPEN_EXISTING, # existing file only + win32con.FILE_ATTRIBUTE_NORMAL, # normal file + 0 # no attr. template + ) + except pywintypes.error: + return True + else: # in case all went ok, close file handle (go to hell WinAPI) + hfile.Close() + return False + +def get_possible_button_event(event): + """ + Mouse or keyboard caused the event? + """ + if event.type == Gdk.EventType.KEY_PRESS: + return 0 # no event.button so pass 0 + # BUTTON_PRESS event, so pass event.button + return event.button + +def destroy_widget(widget): + widget.destroy() + +def scale_with_ratio(size, width, height): + if height == width: + return size, size + if height > width: + ratio = height / float(width) + return int(size / ratio), size + + ratio = width / float(height) + return size, int(size / ratio) + +def scale_pixbuf(pixbuf, size): + width, height = scale_with_ratio(size, + pixbuf.get_width(), + pixbuf.get_height()) + return pixbuf.scale_simple(width, height, + GdkPixbuf.InterpType.BILINEAR) + +def scale_pixbuf_from_data(data, size): + pixbuf = get_pixbuf_from_data(data) + return scale_pixbuf(pixbuf, size) + +def label_set_autowrap(widget): + """ + Make labels automatically re-wrap if their containers are resized. + Accepts label or container widgets + """ + if isinstance(widget, Gtk.Container): + children = widget.get_children() + for i in list(range(len(children))): + label_set_autowrap(children[i]) + elif isinstance(widget, Gtk.Label): + widget.set_line_wrap(True) + widget.connect_after('size-allocate', __label_size_allocate) + +def __label_size_allocate(widget, allocation): + """ + Callback which re-allocates the size of a label + """ + layout = widget.get_layout() + + lw_old, lh_old = layout.get_size() + # fixed width labels + if lw_old/Pango.SCALE == allocation.width: + return + + # set wrap width to the Pango.Layout of the labels ### + widget.set_alignment(0.0, 0.0) + layout.set_width(allocation.width * Pango.SCALE) + lh = layout.get_size()[1] + + if lh_old != lh: + widget.set_size_request(-1, lh / Pango.SCALE) + +def get_action(action): + return app.app.lookup_action(action) + +def add_css_class(widget, class_name, prefix=None): + if class_name and prefix: + class_name = prefix + class_name + + style = widget.get_style_context() + if prefix is not None: + # Remove all css classes with prefix + for css_cls in style.list_classes(): + if css_cls.startswith(prefix): + style.remove_class(css_cls) + + if class_name is not None: + style.add_class(class_name) + +def add_css_to_widget(widget, css): + provider = Gtk.CssProvider() + provider.load_from_data(bytes(css.encode())) + context = widget.get_style_context() + context.add_provider(provider, + Gtk.STYLE_PROVIDER_PRIORITY_USER) + +def remove_css_class(widget, class_name): + style = widget.get_style_context() + style.remove_class(class_name) + +def pango_to_css_weight(number): + # Pango allows for weight values between 100 and 1000 + # CSS allows only full hundred numbers like 100, 200 .. + number = int(number) + if number < 100: + return 100 + if number > 900: + return 900 + return int(math.ceil(number / 100.0)) * 100 diff --git a/gajim/gui/__init__.py b/gajim/gui/__init__.py new file mode 100644 index 0000000..ba72a46 --- /dev/null +++ b/gajim/gui/__init__.py @@ -0,0 +1,54 @@ + +import sys +from importlib.abc import MetaPathFinder +from importlib.util import spec_from_file_location +from pathlib import Path + + +class GUIFinder(MetaPathFinder): + + def __init__(self, name, fallback=None): + self._path = Path(__file__).parent.parent / name + + self._fallback_path = None + if fallback is not None: + self._fallback_path = Path(__file__).parent.parent / fallback + + def find_spec(self, fullname, _path, _target=None): + if not fullname.startswith('gajim.gui'): + return None + + _namespace, module_name = fullname.rsplit('.', 1) + module_path = self._find_module(module_name) + if module_path is None: + return None + + spec = spec_from_file_location(fullname, module_path) + + return spec + + def _find_module(self, module_name): + module_path = self._path / f'{module_name}.py' + if module_path.exists(): + return module_path + + module_path = self._path / f'{module_name}.pyc' + if module_path.exists(): + return module_path + + if self._fallback_path is None: + return None + + module_path = self._fallback_path / f'{module_name}.py' + if module_path.exists(): + return module_path + + module_path = self._fallback_path / f'{module_name}.pyc' + if module_path.exists(): + return module_path + + return None + + +def init(name, fallback=None): + sys.meta_path.append(GUIFinder(name, fallback=fallback)) diff --git a/gajim/gui_interface.py b/gajim/gui_interface.py new file mode 100644 index 0000000..fcc91a8 --- /dev/null +++ b/gajim/gui_interface.py @@ -0,0 +1,2104 @@ +# Copyright (C) 2003-2014 Yann Leboulanger +# Copyright (C) 2004-2005 Vincent Hanquez +# Copyright (C) 2005 Alex Podaras +# Norman Rasmussen +# Stéphan Kochen +# Copyright (C) 2005-2006 Dimitur Kirov +# Alex Mauer +# Copyright (C) 2005-2007 Travis Shirk +# Nikos Kouremenos +# Copyright (C) 2006 Junglecow J +# Stefan Bethge +# Copyright (C) 2006-2008 Jean-Marie Traissard +# Copyright (C) 2007 Lukas Petrovicky +# James Newton +# Copyright (C) 2007-2008 Brendan Taylor +# Julien Pivotto +# Stephan Erb +# Copyright (C) 2008 Jonathan Schleifer +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import os +import sys +import time +import json +import logging +from functools import partial +from threading import Thread +from datetime import datetime +from importlib.util import find_spec +from packaging.version import Version as V + +from gi.repository import Gtk +from gi.repository import GLib +from gi.repository import Gio +from gi.repository import Soup +from nbxmpp import idlequeue +from nbxmpp import Hashes2 + +from gajim.common import app +from gajim.common import events +from gajim.common.dbus import location +from gajim.common.dbus import logind +from gajim.common.dbus import music_track + +from gajim import gui_menu_builder +from gajim.dialog_messages import get_dialog + +from gajim.chat_control_base import ChatControlBase +from gajim.chat_control import ChatControl +from gajim.groupchat_control import GroupchatControl +from gajim.privatechat_control import PrivateChatControl +from gajim.message_window import MessageWindowMgr + +from gajim.session import ChatControlSession + +from gajim.common import idle +from gajim.common.zeroconf import connection_zeroconf +from gajim.common import proxy65_manager +from gajim.common import socks5 +from gajim.common import helpers +from gajim.common import passwords +from gajim.common.helpers import ask_for_status_message +from gajim.common.helpers import get_group_chat_nick +from gajim.common.structs import MUCData +from gajim.common.structs import OutgoingMessage +from gajim.common.nec import NetworkEvent +from gajim.common.i18n import _ +from gajim.common.client import Client +from gajim.common.const import Display +from gajim.common.const import JingleState + +from gajim.common.file_props import FilesProp +from gajim.common.connection_handlers_events import InformationEvent + +from gajim import roster_window +from gajim.common import ged +from gajim.common.exceptions import FileError + +from gajim.gui.avatar import AvatarStorage +from gajim.gui.notification import Notification +from gajim.gui.dialogs import DialogButton +from gajim.gui.dialogs import ErrorDialog +from gajim.gui.dialogs import WarningDialog +from gajim.gui.dialogs import InformationDialog +from gajim.gui.dialogs import ConfirmationDialog +from gajim.gui.dialogs import ConfirmationCheckDialog +from gajim.gui.dialogs import InputDialog +from gajim.gui.dialogs import PassphraseDialog +from gajim.gui.filechoosers import FileChooserDialog +from gajim.gui.filetransfer import FileTransfersWindow +from gajim.gui.filetransfer_progress import FileTransferProgress +from gajim.gui.roster_item_exchange import RosterItemExchangeWindow +from gajim.gui.util import get_show_in_roster +from gajim.gui.util import get_show_in_systray +from gajim.gui.util import open_window +from gajim.gui.util import get_app_window +from gajim.gui.util import get_app_windows +from gajim.gui.util import get_color_for_account +from gajim.gui.const import ControlType + + +log = logging.getLogger('gajim.interface') + +class Interface: + +################################################################################ +### Methods handling events from connection +################################################################################ + + def handle_event_db_error(self, unused, error): + #('DB_ERROR', account, error) + if self.db_error_dialog: + return + self.db_error_dialog = ErrorDialog(_('Database Error'), error) + def destroyed(win): + self.db_error_dialog = None + self.db_error_dialog.connect('destroy', destroyed) + + @staticmethod + def handle_event_information(obj): + if not obj.popup: + return + + if obj.dialog_name is not None: + get_dialog(obj.dialog_name, *obj.args, **obj.kwargs) + return + + if obj.level == 'error': + cls = ErrorDialog + elif obj.level == 'warn': + cls = WarningDialog + elif obj.level == 'info': + cls = InformationDialog + else: + return + + cls(obj.pri_txt, GLib.markup_escape_text(obj.sec_txt)) + + @staticmethod + def raise_dialog(name, *args, **kwargs): + get_dialog(name, *args, **kwargs) + + @staticmethod + def handle_event_http_auth(obj): + # ('HTTP_AUTH', account, (method, url, transaction_id, iq_obj, msg)) + def _response(account, answer): + obj.conn.get_module('HTTPAuth').build_http_auth_answer( + obj.stanza, answer) + + account = obj.conn.name + message = _('HTTP (%(method)s) Authorization ' + 'for %(url)s (ID: %(id)s)') % { + 'method': obj.method, + 'url': obj.url, + 'id': obj.iq_id} + sec_msg = _('Do you accept this request?') + if app.get_number_of_connected_accounts() > 1: + sec_msg = _('Do you accept this request (account: %s)?') % account + if obj.msg: + sec_msg = obj.msg + '\n' + sec_msg + message = message + '\n' + sec_msg + + ConfirmationDialog( + _('Authorization Request'), + _('HTTP Authorization Request'), + message, + [DialogButton.make('Cancel', + text=_('_No'), + callback=_response, + args=[obj, 'no']), + DialogButton.make('Accept', + callback=_response, + args=[obj, 'yes'])]).show() + + def handle_event_iq_error(self, event): + ctrl = self.msg_win_mgr.get_control(event.properties.jid.bare, + event.account) + if ctrl and ctrl.is_groupchat: + ctrl.add_info_message('Error: %s' % event.properties.error) + + @staticmethod + def handle_event_connection_lost(obj): + # ('CONNECTION_LOST', account, [title, text]) + account = obj.conn.name + app.notification.popup( + _('Connection Failed'), account, account, + 'connection-lost', 'gajim-connection_lost', obj.title, obj.msg) + + @staticmethod + def unblock_signed_in_notifications(account): + app.block_signed_in_notifications[account] = False + + def handle_event_status(self, event): + if event.show in ('offline', 'error'): + # TODO: Close all account windows + pass + + if event.show == 'offline': + app.block_signed_in_notifications[event.account] = True + else: + # 30 seconds after we change our status to sth else than offline + # we stop blocking notifications of any kind + # this prevents from getting the roster items as 'just signed in' + # contacts. 30 seconds should be enough time + GLib.timeout_add_seconds(30, + self.unblock_signed_in_notifications, + event.account) + + def handle_event_presence(self, obj): + # 'NOTIFY' (account, (jid, status, status message, resource, + # priority, timestamp)) + # + # Contact changed show + account = obj.conn.name + jid = obj.jid + + if app.jid_is_transport(jid): + # It must be an agent + + # transport just signed in/out, don't show + # popup notifications for 30s + account_jid = account + '/' + jid + app.block_signed_in_notifications[account_jid] = True + GLib.timeout_add_seconds(30, self.unblock_signed_in_notifications, + account_jid) + + ctrl = self.msg_win_mgr.get_control(jid, account) + if ctrl and ctrl.session and len(obj.contact_list) > 1: + ctrl.remove_session(ctrl.session) + + @staticmethod + def handle_event_read_state_sync(event): + if event.type.is_groupchat: + control = app.get_groupchat_control( + event.account, event.jid.bare) + if control is None: + log.warning('Groupchat control not found') + return + + jid = event.jid.bare + types = ['printed_gc_msg', 'printed_marked_gc_msg'] + + else: + types = ['chat', 'pm', 'printed_chat', 'printed_pm'] + jid = event.jid + + control = app.interface.msg_win_mgr.get_control(jid, event.account) + + # Compare with control.last_msg_id. + events_ = app.events.get_events(event.account, jid, types) + if not events_: + log.warning('No Events') + return + + if event.type.is_groupchat: + id_ = events_[-1].stanza_id or events_[-1].message_id + else: + id_ = events_[-1].message_id + + if id_ != event.marker_id: + return + + if not app.events.remove_events(event.account, jid, types=types): + # There were events to remove + if control is not None: + control.redraw_after_event_removed(event.jid) + + @staticmethod + def handle_event_msgsent(obj): + if not obj.play_sound: + return + + enabled = app.settings.get_soundevent_settings('message_sent')['enabled'] + if enabled: + if isinstance(obj.jid, list) and len(obj.jid) > 1: + return + helpers.play_sound('message_sent') + + @staticmethod + def handle_event_msgnotsent(obj): + #('MSGNOTSENT', account, (jid, ierror_msg, msg, time, session)) + msg = _('error while sending %(message)s ( %(error)s )') % { + 'message': obj.message, 'error': obj.error} + if not obj.session: + # No session. This can happen when sending a message from + # gajim-remote + log.warning(msg) + return + obj.session.roster_message(obj.jid, msg, obj.time_, obj.conn.name, + msg_type='error') + + def handle_event_subscribe_presence(self, obj): + #('SUBSCRIBE', account, (jid, text, user_nick)) user_nick is JEP-0172 + account = obj.conn.name + if helpers.allow_popup_window(account) or not self.systray_enabled: + open_window('SubscriptionRequest', + account=account, + jid=obj.jid, + text=obj.status, + user_nick=obj.user_nick) + return + + event = events.SubscriptionRequestEvent(obj.status, obj.user_nick) + self.add_event(account, obj.jid, event) + + if helpers.allow_showing_notification(account): + event_type = _('Subscription request') + app.notification.popup( + event_type, obj.jid, account, 'subscription_request', + 'gajim-subscription_request', event_type, obj.jid) + + def handle_event_subscribed_presence(self, event): + bare_jid = event.jid.bare + resource = event.jid.resource + if bare_jid in app.contacts.get_jid_list(event.account): + contact = app.contacts.get_first_contact_from_jid(event.account, + bare_jid) + contact.resource = resource + self.roster.remove_contact_from_groups(contact.jid, + event.account, + [_('Not in contact list'), + _('Observers')], + update=False) + else: + name = event.jid.localpart + name = name.split('%', 1)[0] + contact = app.contacts.create_contact(jid=bare_jid, + account=event.account, + name=name, + groups=[], + show='online', + status='online', + ask='to', + resource=resource) + app.contacts.add_contact(event.account, contact) + self.roster.add_contact(bare_jid, event.account) + + app.notification.popup( + None, + bare_jid, + event.account, + title=_('Authorization accepted'), + text=_('The contact "%(jid)s" has authorized you' + ' to see their status.') % {'jid': event.jid}) + + def show_unsubscribed_dialog(self, account, contact): + def _remove(): + self.roster.on_req_usub(None, [(contact, account)]) + + name = contact.get_shown_name() + jid = contact.jid + ConfirmationDialog( + _('Subscription Removed'), + _('%(name)s (%(jid)s) has removed subscription from you') % { + 'name': name, 'jid': jid}, + _('You will always see this contact as offline.\n' + 'Do you want to remove them from your contact list?'), + [DialogButton.make('Cancel', + text=_('_No')), + DialogButton.make('Remove', + callback=_remove)]).show() + + # FIXME: Per RFC 3921, we can "deny" ack as well, but the GUI does + # not show deny + + def handle_event_unsubscribed_presence(self, obj): + #('UNSUBSCRIBED', account, jid) + account = obj.conn.name + contact = app.contacts.get_first_contact_from_jid(account, obj.jid) + if not contact: + return + + if helpers.allow_popup_window(account) or not self.systray_enabled: + self.show_unsubscribed_dialog(account, contact) + return + + event = events.UnsubscribedEvent(contact) + self.add_event(account, obj.jid, event) + + if helpers.allow_showing_notification(account): + event_type = _('Unsubscribed') + app.notification.popup( + event_type, obj.jid, account, + 'unsubscribed', 'gajim-unsubscribed', + event_type, obj.jid) + + def handle_event_gc_decline(self, event): + gc_control = self.msg_win_mgr.get_gc_control(str(event.muc), + event.account) + if gc_control: + if event.reason: + gc_control.add_info_message( + _('%(jid)s declined the invitation: %(reason)s') % { + 'jid': event.from_, 'reason': event.reason}) + else: + gc_control.add_info_message( + _('%(jid)s declined the invitation') % { + 'jid': event.from_}) + + def handle_event_gc_invitation(self, event): + event = events.GcInvitationtEvent(event) + + if (helpers.allow_popup_window(event.account) or + not self.systray_enabled): + open_window('GroupChatInvitation', + account=event.account, + event=event) + return + + self.add_event(event.account, str(event.from_), event) + + if helpers.allow_showing_notification(event.account): + contact_name = event.get_inviter_name() + event_type = _('Group Chat Invitation') + text = _('%(contact)s invited you to %(chat)s') % { + 'contact': contact_name, 'chat': event.info.muc_name} + app.notification.popup(event_type, + str(event.from_), + event.account, + 'gc-invitation', + 'gajim-gc_invitation', + event_type, + text, + room_jid=event.muc) + + @staticmethod + def handle_event_client_cert_passphrase(obj): + def on_ok(passphrase, checked): + obj.conn.on_client_cert_passphrase(passphrase, obj.con, obj.port, + obj.secure_tuple) + + def on_cancel(): + obj.conn.on_client_cert_passphrase('', obj.con, obj.port, + obj.secure_tuple) + + PassphraseDialog(_('Certificate Passphrase Required'), + _('Enter the certificate passphrase for account %s') % \ + obj.conn.name, ok_handler=on_ok, + cancel_handler=on_cancel) + + def handle_event_password_required(self, obj): + #('PASSWORD_REQUIRED', account, None) + account = obj.conn.name + if account in self.pass_dialog: + return + text = _('Enter your password for account %s') % account + + def on_ok(passphrase, save): + app.settings.set_account_setting(account, 'savepass', save) + passwords.save_password(account, passphrase) + obj.on_password(passphrase) + del self.pass_dialog[account] + + def on_cancel(): + del self.pass_dialog[account] + + self.pass_dialog[account] = PassphraseDialog( + _('Password Required'), text, _('Save password'), ok_handler=on_ok, + cancel_handler=on_cancel) + + def handle_event_roster_info(self, obj): + #('ROSTER_INFO', account, (jid, name, sub, ask, groups)) + account = obj.conn.name + contacts = app.contacts.get_contacts(account, obj.jid) + if (not obj.sub or obj.sub == 'none') and \ + (not obj.ask or obj.ask == 'none') and not obj.nickname and \ + not obj.groups: + # contact removed us. + if contacts: + self.roster.remove_contact(obj.jid, account, backend=True) + return + elif not contacts: + if obj.sub == 'remove': + return + # Add new contact to roster + + contact = app.contacts.create_contact(jid=obj.jid, + account=account, name=obj.nickname, groups=obj.groups, + show='offline', sub=obj.sub, ask=obj.ask, + avatar_sha=obj.avatar_sha) + app.contacts.add_contact(account, contact) + self.roster.add_contact(obj.jid, account) + else: + # If contact has changed (sub, ask or group) update roster + # Mind about observer status changes: + # According to xep 0162, a contact is not an observer anymore when + # we asked for auth, so also remove him if ask changed + old_groups = contacts[0].groups + if obj.sub == 'remove': + # another of our instance removed a contact. Remove it here too + self.roster.remove_contact(obj.jid, account, backend=True) + return + update = False + if contacts[0].sub != obj.sub or contacts[0].ask != obj.ask\ + or old_groups != obj.groups: + # c.get_shown_groups() has changed. Reflect that in + # roster_window + self.roster.remove_contact(obj.jid, account, force=True) + update = True + for contact in contacts: + contact.name = obj.nickname or '' + contact.sub = obj.sub + contact.ask = obj.ask + contact.groups = obj.groups or [] + if update: + self.roster.add_contact(obj.jid, account) + # Refilter and update old groups + for group in old_groups: + self.roster.draw_group(group, account) + self.roster.draw_contact(obj.jid, account) + if obj.jid in self.instances[account]['sub_request'] and obj.sub in ( + 'from', 'both'): + self.instances[account]['sub_request'][obj.jid].destroy() + + def handle_event_file_send_error(self, event): + ft = self.instances['file_transfers'] + ft.set_status(event.file_props, 'stop') + + if helpers.allow_popup_window(event.account): + ft.show_send_error(event.file_props) + return + + event = events.FileSendErrorEvent(event.file_props) + self.add_event(event.account, event.jid, event) + + if helpers.allow_showing_notification(event.account): + event_type = _('File Transfer Error') + app.notification.popup( + event_type, event.jid, event.account, + 'file-send-error', 'dialog-error', + event_type, event.file_props.name) + + def handle_event_file_request_error(self, obj): + # ('FILE_REQUEST_ERROR', account, (jid, file_props, error_msg)) + ft = self.instances['file_transfers'] + ft.set_status(obj.file_props, 'stop') + errno = obj.file_props.error + + if helpers.allow_popup_window(obj.conn.name): + if errno in (-4, -5): + ft.show_stopped(obj.jid, obj.file_props, obj.error_msg) + else: + ft.show_request_error(obj.file_props) + return + + if errno in (-4, -5): + event_class = events.FileErrorEvent + msg_type = 'file-error' + else: + event_class = events.FileRequestErrorEvent + msg_type = 'file-request-error' + + event = event_class(obj.file_props) + self.add_event(obj.conn.name, obj.jid, event) + + if helpers.allow_showing_notification(obj.conn.name): + # Check if we should be notified + event_type = _('File Transfer Error') + app.notification.popup( + event_type, + obj.jid, + obj.conn.name, + msg_type, + 'dialog-error', + title=event_type, + text=obj.file_props.name) + + def handle_event_file_request(self, obj): + account = obj.conn.name + if obj.jid not in app.contacts.get_jid_list(account): + contact = app.contacts.create_not_in_roster_contact( + jid=obj.jid, account=account) + app.contacts.add_contact(account, contact) + self.roster.add_contact(obj.jid, account) + contact = app.contacts.get_first_contact_from_jid(account, obj.jid) + if obj.file_props.session_type == 'jingle': + request = \ + obj.stanza.getTag('jingle').getTag('content').getTag( + 'description').getTag('request') + if request: + # If we get a request instead + ft_win = self.instances['file_transfers'] + ft_win.add_transfer(account, contact, obj.file_props) + return + if helpers.allow_popup_window(account): + self.instances['file_transfers'].show_file_request( + account, contact, obj.file_props) + return + event = events.FileRequestEvent(obj.file_props) + self.add_event(account, obj.jid, event) + if helpers.allow_showing_notification(account): + txt = _('%s wants to send you a file.') % app.get_name_from_jid( + account, obj.jid) + event_type = _('File Transfer Request') + app.notification.popup( + event_type, + obj.jid, + account, + 'file-request', + icon_name='document-send', + title=event_type, + text=txt) + + @staticmethod + def handle_event_file_error(title, message): + ErrorDialog(title, message) + + def handle_event_file_progress(self, account, file_props): + if time.time() - self.last_ftwindow_update > 0.5: + # Update ft window every 500ms + self.last_ftwindow_update = time.time() + self.instances['file_transfers'].set_progress( + file_props.type_, file_props.sid, file_props.received_len) + + def __compare_hashes(self, account, file_props): + session = app.connections[account].get_module( + 'Jingle').get_jingle_session(jid=None, sid=file_props.sid) + ft_win = self.instances['file_transfers'] + h = Hashes2() + try: + file_ = open(file_props.file_name, 'rb') + except Exception: + return + hash_ = h.calculateHash(file_props.algo, file_) + file_.close() + # If the hash we received and the hash of the file are the same, + # then the file is not corrupt + jid = file_props.sender + if file_props.hash_ == hash_: + GLib.idle_add(self.popup_ft_result, account, jid, file_props) + GLib.idle_add(ft_win.set_status, file_props, 'ok') + else: + # Wrong hash, we need to get the file again! + file_props.error = -10 + GLib.idle_add(self.popup_ft_result, account, jid, file_props) + GLib.idle_add(ft_win.set_status, file_props, 'hash_error') + # End jingle session + if session: + session.end_session() + + def handle_event_file_rcv_completed(self, account, file_props): + ft = self.instances['file_transfers'] + if file_props.error == 0: + ft.set_progress( + file_props.type_, file_props.sid, file_props.received_len) + jid = app.get_jid_without_resource(str(file_props.receiver)) + app.nec.push_incoming_event( + NetworkEvent('file-transfer-completed', + file_props=file_props, + jid=jid)) + + else: + ft.set_status(file_props, 'stop') + if not file_props.completed and (file_props.stalled or + file_props.paused): + return + + if file_props.type_ == 'r': # We receive a file + app.socks5queue.remove_receiver(file_props.sid, True, True) + if file_props.session_type == 'jingle': + if file_props.hash_ and file_props.error == 0: + # We compare hashes in a new thread + self.hashThread = Thread(target=self.__compare_hashes, + args=(account, file_props)) + self.hashThread.start() + else: + # We didn't get the hash, sender probably doesn't + # support that + jid = file_props.sender + self.popup_ft_result(account, jid, file_props) + if file_props.error == 0: + ft.set_status(file_props, 'ok') + session = \ + app.connections[account].get_module( + 'Jingle').get_jingle_session(jid=None, + sid=file_props.sid) + # End jingle session + # TODO: Only if there are no other parallel downloads in + # this session + if session: + session.end_session() + else: # We send a file + jid = file_props.receiver + app.socks5queue.remove_sender(file_props.sid, True, True) + self.popup_ft_result(account, jid, file_props) + + def popup_ft_result(self, account, jid, file_props): + ft = self.instances['file_transfers'] + if helpers.allow_popup_window(account): + if file_props.error == 0: + if app.settings.get('notify_on_file_complete'): + ft.show_completed(jid, file_props) + elif file_props.error == -1: + ft.show_stopped( + jid, + file_props, + error_msg=_('Remote Contact Stopped Transfer')) + elif file_props.error == -6: + ft.show_stopped( + jid, + file_props, + error_msg=_('Error Opening File')) + elif file_props.error == -10: + ft.show_hash_error( + jid, + file_props, + account) + elif file_props.error == -12: + ft.show_stopped( + jid, + file_props, + error_msg=_('SSL Certificate Error')) + return + + msg_type = '' + event_type = '' + if (file_props.error == 0 and + app.settings.get('notify_on_file_complete')): + event_class = events.FileCompletedEvent + msg_type = 'file-completed' + event_type = _('File Transfer Completed') + elif file_props.error in (-1, -6): + event_class = events.FileStoppedEvent + msg_type = 'file-stopped' + event_type = _('File Transfer Stopped') + elif file_props.error == -10: + event_class = events.FileHashErrorEvent + msg_type = 'file-hash-error' + event_type = _('File Transfer Failed') + + if event_type == '': + # FIXME: ugly workaround (this can happen Gajim sent, Gaim recvs) + # this should never happen but it does. see process_result() in + # socks5.py + # who calls this func (sth is really wrong unless this func is also + # registered as progress_cb + return + + if msg_type: + event = event_class(file_props) + self.add_event(account, jid, event) + + if file_props is not None: + if file_props.type_ == 'r': + # Get the name of the sender, as it is in the roster + sender = file_props.sender.split('/')[0] + name = app.contacts.get_first_contact_from_jid( + account, sender).get_shown_name() + filename = os.path.basename(file_props.file_name) + + if event_type == _('File Transfer Completed'): + txt = _('%(filename)s received from %(name)s.') % { + 'filename': filename, + 'name': name} + icon_name = 'emblem-default' + elif event_type == _('File Transfer Stopped'): + txt = _('File transfer of %(filename)s from %(name)s ' + 'stopped.') % { + 'filename': filename, + 'name': name} + icon_name = 'process-stop' + else: # File transfer hash error + txt = _('File transfer of %(filename)s from %(name)s ' + 'failed.') % { + 'filename': filename, + 'name': name} + icon_name = 'process-stop' + else: + receiver = file_props.receiver + if hasattr(receiver, 'jid'): + receiver = receiver.jid + receiver = receiver.split('/')[0] + # Get the name of the contact, as it is in the roster + name = app.contacts.get_first_contact_from_jid( + account, receiver).get_shown_name() + filename = os.path.basename(file_props.file_name) + if event_type == _('File Transfer Completed'): + txt = _('You successfully sent %(filename)s to ' + '%(name)s.') % { + 'filename': filename, + 'name': name} + icon_name = 'emblem-default' + elif event_type == _('File Transfer Stopped'): + txt = _('File transfer of %(filename)s to %(name)s ' + 'stopped.') % { + 'filename': filename, + 'name': name} + icon_name = 'process-stop' + else: # File transfer hash error + txt = _('File transfer of %(filename)s to %(name)s ' + 'failed.') % { + 'filename': filename, + 'name': name} + icon_name = 'process-stop' + else: + txt = '' + icon_name = None + + if (app.settings.get('notify_on_file_complete') and + (app.settings.get('autopopupaway') or + app.connections[account].status in ('online', 'chat'))): + # We want to be notified and we are online/chat or we don't mind + # to be bugged when away/na/busy + app.notification.popup( + event_type, + jid, + account, + msg_type, + icon_name=icon_name, + title=event_type, + text=txt) + + def handle_event_signed_in(self, obj): + """ + SIGNED_IN event is emitted when we sign in, so handle it + """ + # ('SIGNED_IN', account, ()) + # block signed in notifications for 30 seconds + + # Add our own JID into the DB + app.storage.archive.insert_jid(obj.conn.get_own_jid().bare) + account = obj.conn.name + app.block_signed_in_notifications[account] = True + + pep_supported = obj.conn.get_module('PEP').supported + + if obj.conn.get_module('MAM').available: + obj.conn.get_module('MAM').request_archive_on_signin() + + # enable location listener + if (pep_supported and app.is_installed('GEOCLUE') and + app.settings.get_account_setting(account, 'publish_location')): + location.enable() + + if ask_for_status_message(obj.conn.status, signin=True): + open_window('StatusChange', status=obj.conn.status) + + def send_httpupload(self, chat_control, path=None): + if path is not None: + self._send_httpupload(chat_control, path) + return + + accept_cb = partial(self.on_file_dialog_ok, chat_control) + FileChooserDialog(accept_cb, + select_multiple=True, + transient_for=chat_control.parent_win.window) + + def on_file_dialog_ok(self, chat_control, paths): + for path in paths: + self._send_httpupload(chat_control, path) + + def _send_httpupload(self, chat_control, path): + con = app.connections[chat_control.account] + try: + transfer = con.get_module('HTTPUpload').make_transfer( + path, + chat_control.encryption, + chat_control.contact, + chat_control.is_groupchat) + except FileError as error: + app.nec.push_incoming_event(InformationEvent( + None, dialog_name='open-file-error2', args=error)) + return + + transfer.connect('cancel', self._on_cancel_upload) + transfer.connect('state-changed', + self._on_http_upload_state_changed) + FileTransferProgress(transfer) + con.get_module('HTTPUpload').start_transfer(transfer) + + @staticmethod + def _on_http_upload_state_changed(transfer, _signal_name, state): + if state.is_finished: + uri = transfer.get_transformed_uri() + + type_ = 'chat' + if transfer.is_groupchat: + type_ = 'groupchat' + + message = OutgoingMessage(account=transfer.account, + contact=transfer.contact, + message=uri, + type_=type_, + oob_url=uri) + + client = app.get_client(transfer.account) + client.send_message(message) + + @staticmethod + def _on_cancel_upload(transfer, _signal_name): + client = app.get_client(transfer.account) + client.get_module('HTTPUpload').cancel_transfer(transfer) + + @staticmethod + def handle_event_metacontacts(obj): + app.contacts.define_metacontacts(obj.conn.name, obj.meta_list) + + def handle_event_zc_name_conflict(self, obj): + def _on_ok(new_name): + app.settings.set_account_setting(obj.conn.name, 'name', new_name) + obj.conn.username = new_name + obj.conn.change_status(obj.conn.status, obj.conn.status_message) + + def _on_cancel(*args): + obj.conn.change_status('offline', '') + + InputDialog( + _('Username Conflict'), + _('Username Conflict'), + _('Please enter a new username for your local account'), + [DialogButton.make('Cancel', + callback=_on_cancel), + DialogButton.make('Accept', + text=_('_OK'), + callback=_on_ok)], + input_str=obj.alt_name, + transient_for=self.roster.window).show() + + def handle_event_jingleft_cancel(self, obj): + ft = self.instances['file_transfers'] + file_props = None + # get the file_props of our session + file_props = FilesProp.getFileProp(obj.conn.name, obj.sid) + if not file_props: + return + ft.set_status(file_props, 'stop') + file_props.error = -4 # is it the right error code? + ft.show_stopped(obj.jid, file_props, 'Peer cancelled ' + + 'the transfer') + + # Jingle AV handling + def handle_event_jingle_incoming(self, event): + # ('JINGLE_INCOMING', account, peer jid, sid, tuple-of-contents==(type, + # data...)) + # TODO: conditional blocking if peer is not in roster + + account = event.conn.name + content_types = [] + for item in event.contents: + content_types.append(item.media) + # check type of jingle session + if 'audio' in content_types or 'video' in content_types: + # a voip session... + # we now handle only voip, so the only thing we will do here is + # not to return from function + pass + else: + # unknown session type... it should be declined in common/jingle.py + return + + notification_event = events.JingleIncomingEvent( + event.fjid, event.sid, content_types) + + ctrl = (self.msg_win_mgr.get_control(event.fjid, account) + or self.msg_win_mgr.get_control(event.jid, account)) + if ctrl: + if 'audio' in content_types: + ctrl.set_jingle_state( + 'audio', + JingleState.CONNECTION_RECEIVED, + event.sid) + if 'video' in content_types: + ctrl.set_jingle_state( + 'video', + JingleState.CONNECTION_RECEIVED, + event.sid) + ctrl.add_call_received_message(notification_event) + + if helpers.allow_popup_window(account): + app.interface.new_chat_from_jid(account, event.fjid) + ctrl.add_call_received_message(notification_event) + return + + self.add_event(account, event.fjid, notification_event) + + if helpers.allow_showing_notification(account): + heading = _('Incoming Call') + contact = app.get_name_from_jid(account, event.jid) + text = _('%s is calling') % contact + app.notification.popup( + heading, + event.fjid, + account, + 'jingle-incoming', + icon_name='call-start-symbolic', + title=heading, + text=text) + + def handle_event_jingle_connected(self, event): + # ('JINGLE_CONNECTED', account, (peerjid, sid, media)) + if event.media in ('audio', 'video'): + account = event.conn.name + ctrl = (self.msg_win_mgr.get_control(event.fjid, account) + or self.msg_win_mgr.get_control(event.jid, account)) + if ctrl: + con = app.connections[account] + session = con.get_module('Jingle').get_jingle_session( + event.fjid, event.sid) + + if event.media == 'audio': + content = session.get_content('audio') + ctrl.set_jingle_state( + 'audio', + JingleState.CONNECTED, + event.sid) + if event.media == 'video': + content = session.get_content('video') + ctrl.set_jingle_state( + 'video', + JingleState.CONNECTED, + event.sid) + + # Now, accept the content/sessions. + # This should be done after the chat control is running + if not session.accepted: + session.approve_session() + for content in event.media: + session.approve_content(content) + + def handle_event_jingle_disconnected(self, event): + # ('JINGLE_DISCONNECTED', account, (peerjid, sid, reason)) + account = event.conn.name + ctrl = (self.msg_win_mgr.get_control(event.fjid, account) + or self.msg_win_mgr.get_control(event.jid, account)) + if ctrl: + if event.media is None: + ctrl.stop_jingle(sid=event.sid, reason=event.reason) + if event.media == 'audio': + ctrl.set_jingle_state( + 'audio', + JingleState.NULL, + sid=event.sid, + reason=event.reason) + if event.media == 'video': + ctrl.set_jingle_state( + 'video', + JingleState.NULL, + sid=event.sid, + reason=event.reason) + + def handle_event_jingle_error(self, event): + # ('JINGLE_ERROR', account, (peerjid, sid, reason)) + account = event.conn.name + ctrl = (self.msg_win_mgr.get_control(event.fjid, account) + or self.msg_win_mgr.get_control(event.jid, account)) + if ctrl and event.sid == ctrl.jingle['audio'].sid: + ctrl.set_jingle_state( + 'audio', + JingleState.ERROR, + reason=event.reason) + + @staticmethod + def handle_event_roster_item_exchange(obj): + # data = (action in [add, delete, modify], exchange_list, jid_from) + RosterItemExchangeWindow(obj.conn.name, obj.action, + obj.exchange_items_list, obj.fjid) + + def handle_event_plain_connection(self, event): + ConfirmationDialog( + _('Insecure Connection'), + _('Insecure Connection'), + _('You are about to connect to the account %(account)s ' + '(%(server)s) using an insecure connection method. This means ' + 'conversations will not be encrypted. Connecting PLAIN is ' + 'strongly discouraged.') % { + 'account': event.account, + 'server': app.get_hostname_from_account(event.account)}, + [DialogButton.make('Cancel', + text=_('_Abort'), + callback=event.abort), + DialogButton.make('Remove', + text=_('_Connect Anyway'), + callback=event.connect)]).show() + + def create_core_handlers_list(self): + self.handlers = { + 'DB_ERROR': [self.handle_event_db_error], + 'file-send-error': [self.handle_event_file_send_error], + 'client-cert-passphrase': [ + self.handle_event_client_cert_passphrase], + 'connection-lost': [self.handle_event_connection_lost], + 'file-request-error': [self.handle_event_file_request_error], + 'file-request-received': [self.handle_event_file_request], + 'muc-invitation': [self.handle_event_gc_invitation], + 'muc-decline': [self.handle_event_gc_decline], + 'http-auth-received': [self.handle_event_http_auth], + 'information': [self.handle_event_information], + 'iq-error-received': [self.handle_event_iq_error], + 'jingle-connected-received': [self.handle_event_jingle_connected], + 'jingle-disconnected-received': [ + self.handle_event_jingle_disconnected], + 'jingle-error-received': [self.handle_event_jingle_error], + 'jingle-request-received': [self.handle_event_jingle_incoming], + 'jingle-ft-cancelled-received': [self.handle_event_jingleft_cancel], + 'message-not-sent': [self.handle_event_msgnotsent], + 'message-sent': [self.handle_event_msgsent], + 'metacontacts-received': [self.handle_event_metacontacts], + 'our-show': [self.handle_event_status], + 'password-required': [self.handle_event_password_required], + 'plain-connection': [self.handle_event_plain_connection], + 'presence-received': [self.handle_event_presence], + 'roster-info': [self.handle_event_roster_info], + 'roster-item-exchange-received': \ + [self.handle_event_roster_item_exchange], + 'signed-in': [self.handle_event_signed_in], + 'subscribe-presence-received': [ + self.handle_event_subscribe_presence], + 'subscribed-presence-received': [ + self.handle_event_subscribed_presence], + 'unsubscribed-presence-received': [ + self.handle_event_unsubscribed_presence], + 'zeroconf-name-conflict': [self.handle_event_zc_name_conflict], + 'read-state-sync': [self.handle_event_read_state_sync], + } + + def register_core_handlers(self): + """ + Register core handlers in Global Events Dispatcher (GED). + + This is part of rewriting whole events handling system to use GED. + """ + for event_name, event_handlers in self.handlers.items(): + for event_handler in event_handlers: + prio = ged.GUI1 + if isinstance(event_handler, tuple): + prio = event_handler[1] + event_handler = event_handler[0] + app.ged.register_event_handler(event_name, prio, + event_handler) + +################################################################################ +### Methods dealing with app.events +################################################################################ + + def add_event(self, account, jid, event): + """ + Add an event to the app.events var + """ + # We add it to the app.events queue + # Do we have a queue? + jid = app.get_jid_without_resource(jid) + no_queue = len(app.events.get_events(account, jid)) == 0 + # event can be in common.events.* + # event_type can be in advancedNotificationWindow.events_list + event_types = {'file-request': 'ft_request', + 'file-completed': 'ft_finished'} + event_type = event_types.get(event.type_) + show_in_roster = get_show_in_roster(event_type, jid) + show_in_systray = get_show_in_systray(event_type, account, jid) + event.show_in_roster = show_in_roster + event.show_in_systray = show_in_systray + app.events.add_event(account, jid, event) + + self.roster.show_title() + if no_queue: # We didn't have a queue: we change icons + if app.contacts.get_contact_with_highest_priority(account, jid): + self.roster.draw_contact(jid, account) + else: + groupchat = event.type_ == 'gc-invitation' + self.roster.add_to_not_in_the_roster( + account, jid, groupchat=groupchat) + + # Select the big brother contact in roster, it's visible because it has + # events. + family = app.contacts.get_metacontacts_family(account, jid) + if family: + _nearby_family, bb_jid, bb_account = \ + app.contacts.get_nearby_family_and_big_brother(family, + account) + else: + bb_jid, bb_account = jid, account + self.roster.select_contact(bb_jid, bb_account) + + def handle_event(self, account, fjid, type_): + if type_ in ('connection-lost', 'connection-failed'): + app.interface.roster.window.present() + return + + w = None + ctrl = None + + resource = app.get_resource_from_jid(fjid) + jid = app.get_jid_without_resource(fjid) + + if type_ in ('printed_gc_msg', 'printed_marked_gc_msg', 'gc_msg'): + w = self.msg_win_mgr.get_window(jid, account) + if jid in self.minimized_controls[account]: + self.roster.on_groupchat_maximized(None, jid, account) + return + ctrl = self.msg_win_mgr.get_gc_control(jid, account) + + elif type_ in ('printed_chat', 'chat', ''): + # '' is for log in/out notifications + + ctrl = self.msg_win_mgr.search_control(jid, account, resource) + + if not ctrl: + highest_contact = app.contacts.\ + get_contact_with_highest_priority(account, jid) + # jid can have a window if this resource was lower when he sent + # message and is now higher because the other one is offline + if resource and highest_contact.resource == resource and \ + not self.msg_win_mgr.has_window(jid, account): + # remove resource of events too + app.events.change_jid(account, fjid, jid) + resource = None + fjid = jid + + contact = None + if resource: + contact = app.contacts.get_contact(account, jid, resource) + if not contact: + contact = highest_contact + if not contact: + # Maybe we deleted the contact from the roster + return + + ctrl = self.new_chat(contact, account, resource=resource) + + app.last_message_time[account][jid] = 0 # long time ago + + w = ctrl.parent_win + elif type_ in ('printed_pm', 'pm'): + + ctrl = self.msg_win_mgr.get_control(fjid, account) + + if not ctrl: + room_jid = jid + nick = resource + gc_contact = app.contacts.get_gc_contact( + account, room_jid, nick) + ctrl = self.new_private_chat(gc_contact, account) + + w = ctrl.parent_win + elif type_ in ('file-request', 'file-request-error', + 'file-send-error', 'file-error', 'file-stopped', 'file-completed', + 'file-hash-error', 'jingle-incoming'): + # Get the first single message event + event = app.events.get_first_event(account, fjid, type_) + if not event: + # default to jid without resource + event = app.events.get_first_event(account, jid, type_) + if not event: + return + # Open the window + self.roster.open_event(account, jid, event) + else: + # Open the window + self.roster.open_event(account, fjid, event) + elif type_ == 'gc-invitation': + event = app.events.get_first_event(account, jid, type_) + if event is None: + return + open_window('GroupChatInvitation', + account=account, + event=event) + app.events.remove_events(account, jid, event) + self.roster.draw_contact(jid, account) + elif type_ == 'subscription_request': + event = app.events.get_first_event(account, jid, type_) + if event is None: + return + open_window('SubscriptionRequest', + account=account, + jid=jid, + text=event.text, + user_nick=event.nick) + app.events.remove_events(account, jid, event) + self.roster.draw_contact(jid, account) + elif type_ == 'unsubscribed': + event = app.events.get_first_event(account, jid, type_) + if event is None: + return + self.show_unsubscribed_dialog(account, event.contact) + app.events.remove_events(account, jid, event) + self.roster.draw_contact(jid, account) + if w: + w.set_active_tab(ctrl) + w.window.present() + # Using isinstance here because we want to catch all derived types + if isinstance(ctrl, ChatControlBase): + ctrl.scroll_to_end() + +################################################################################ +### Methods for opening new messages controls +################################################################################ + + def show_groupchat(self, account, room_jid): + minimized_control = self.minimized_controls[account].get(room_jid) + if minimized_control is not None: + self.roster.on_groupchat_maximized(None, room_jid, account) + return True + + if self.msg_win_mgr.has_window(room_jid, account): + gc_ctrl = self.msg_win_mgr.get_gc_control(room_jid, account) + # FIXME: Access message window directly + gc_ctrl.parent_win.set_active_tab(gc_ctrl) + return True + return False + + def create_groupchat_control(self, account, room_jid, muc_data, + minimize=False): + avatar_sha = app.storage.cache.get_muc_avatar_sha(room_jid) + contact = app.contacts.create_contact(jid=room_jid, + account=account, + groups=[_('Group chats')], + sub='none', + avatar_sha=avatar_sha, + groupchat=True) + app.contacts.add_contact(account, contact) + + if minimize: + control = GroupchatControl(None, contact, muc_data, account) + app.interface.minimized_controls[account][room_jid] = control + self.roster.add_groupchat(room_jid, account) + + else: + mw = self.msg_win_mgr.get_window(room_jid, account) + if not mw: + mw = self.msg_win_mgr.create_window(contact, + account, + ControlType.GROUPCHAT) + control = GroupchatControl(mw, contact, muc_data, account) + mw.new_tab(control) + mw.set_active_tab(control) + + @staticmethod + def _create_muc_data(account, room_jid, nick, password, config): + if not nick: + nick = get_group_chat_nick(account, room_jid) + + # Fetch data from bookmarks + client = app.get_client(account) + bookmark = client.get_module('Bookmarks').get_bookmark(room_jid) + if bookmark is not None: + if bookmark.password is not None: + password = bookmark.password + + return MUCData(room_jid, nick, password, config) + + def create_groupchat(self, account, room_jid, config=None): + muc_data = self._create_muc_data(account, room_jid, None, None, config) + self.create_groupchat_control(account, room_jid, muc_data) + app.connections[account].get_module('MUC').create(muc_data) + + def show_or_join_groupchat(self, account, room_jid, **kwargs): + if self.show_groupchat(account, room_jid): + return + self.join_groupchat(account, room_jid, **kwargs) + + def join_groupchat(self, + account, + room_jid, + password=None, + nick=None, + minimized=False): + + if not app.account_is_available(account): + return + + muc_data = self._create_muc_data(account, + room_jid, + nick, + password, + None) + self.create_groupchat_control( + account, room_jid, muc_data, minimize=minimized) + + app.connections[account].get_module('MUC').join(muc_data) + + def new_private_chat(self, gc_contact, account, session=None): + conn = app.connections[account] + if not session and gc_contact.get_full_jid() in conn.sessions: + sessions = [s for s in conn.sessions[gc_contact.get_full_jid()].\ + values() if isinstance(s, ChatControlSession)] + + # look for an existing session with a chat control + for s in sessions: + if s.control: + session = s + break + if not session and sessions: + # there are no sessions with chat controls, just take the first + # one + session = sessions[0] + if not session: + # couldn't find an existing ChatControlSession, just make a new one + session = conn.make_new_session(gc_contact.get_full_jid(), None, + 'pm') + + contact = gc_contact.as_contact() + if not session.control: + message_window = self.msg_win_mgr.get_window( + gc_contact.get_full_jid(), account) + if not message_window: + message_window = self.msg_win_mgr.create_window( + contact, account, ControlType.PRIVATECHAT) + + session.control = PrivateChatControl(message_window, gc_contact, + contact, account, session) + message_window.new_tab(session.control) + + if app.events.get_events(account, gc_contact.get_full_jid()): + # We call this here to avoid race conditions with widget validation + session.control.read_queue() + + return session.control + + def new_chat(self, contact, account, resource=None, session=None): + # Get target window, create a control, and associate it with the window + fjid = contact.jid + if resource: + fjid += '/' + resource + + mw = self.msg_win_mgr.get_window(fjid, account) + if not mw: + mw = self.msg_win_mgr.create_window( + contact, account, ControlType.CHAT, resource) + + chat_control = ChatControl(mw, contact, account, session, resource) + + mw.new_tab(chat_control) + + if app.events.get_events(account, fjid): + # We call this here to avoid race conditions with widget validation + chat_control.read_queue() + + return chat_control + + def new_chat_from_jid(self, account, fjid, message=None): + jid, resource = app.get_room_and_nick_from_fjid(fjid) + contact = app.contacts.get_contact(account, jid, resource) + added_to_roster = False + if not contact: + added_to_roster = True + contact = self.roster.add_to_not_in_the_roster(account, jid, + resource=resource) + + ctrl = self.msg_win_mgr.get_control(fjid, account) + + if not ctrl: + ctrl = self.new_chat(contact, account, + resource=resource) + if app.events.get_events(account, fjid): + ctrl.read_queue() + + if message: + buffer_ = ctrl.msg_textview.get_buffer() + buffer_.set_text(message) + mw = ctrl.parent_win + mw.set_active_tab(ctrl) + # For JEP-0172 + if added_to_roster: + ctrl.user_nick = app.nicks[account] + + return ctrl + + def on_open_chat_window(self, widget, contact, account, resource=None, + session=None): + # Get the window containing the chat + fjid = contact.jid + + if resource: + fjid += '/' + resource + + ctrl = None + + if session: + ctrl = session.control + if not ctrl: + win = self.msg_win_mgr.get_window(fjid, account) + + if win: + ctrl = win.get_control(fjid, account) + + if not ctrl: + ctrl = self.new_chat(contact, account, resource=resource, + session=session) + # last message is long time ago + app.last_message_time[account][ctrl.get_full_jid()] = 0 + + win = ctrl.parent_win + + win.set_active_tab(ctrl) + + if app.connections[account].is_zeroconf and \ + app.connections[account].status == 'offline': + ctrl = win.get_control(fjid, account) + if ctrl: + ctrl.got_disconnected() + +################################################################################ +### Other Methods +################################################################################ + + @staticmethod + def create_account(account, + username, + domain, + password, + proxy_name, + custom_host, + anonymous=False): + + account_label = f'{username}@{domain}' + if anonymous: + username = 'anon' + account_label = f'anon@{domain}' + + config = {} + config['active'] = False + config['name'] = username + config['resource'] = 'gajim.%s' % helpers.get_random_string(8) + config['account_label'] = account_label + config['account_color'] = get_color_for_account( + '%s@%s' % (username, domain)) + config['hostname'] = domain + config['savepass'] = True + config['anonymous_auth'] = anonymous + config['autoconnect'] = True + config['sync_with_global_status'] = True + + if proxy_name is not None: + config['proxy'] = proxy_name + + use_custom_host = custom_host is not None + config['use_custom_host'] = use_custom_host + if custom_host: + host, _protocol, type_ = custom_host + host, port = host.rsplit(':', maxsplit=1) + config['custom_port'] = int(port) + config['custom_host'] = host + config['custom_type'] = type_.value + + app.settings.add_account(account) + for opt in config: + app.settings.set_account_setting(account, opt, config[opt]) + + # Password module depends on existing config + passwords.save_password(account, password) + + app.css_config.refresh() + + # Action must be added before account window is updated + app.app.add_account_actions(account) + + window = get_app_window('AccountsWindow') + if window is not None: + window.add_account(account) + + def enable_account(self, account): + if account == app.ZEROCONF_ACC_NAME: + app.connections[account] = connection_zeroconf.ConnectionZeroconf( + account) + else: + app.connections[account] = Client(account) + + app.plugin_manager.register_modules_for_account( + app.connections[account]) + + # update variables + self.instances[account] = { + 'infos': {}, 'disco': {}, 'gc_config': {}, 'search': {}, + 'sub_request': {}} + self.minimized_controls[account] = {} + app.groups[account] = {} + app.contacts.add_account(account) + app.gc_connected[account] = {} + app.automatic_rooms[account] = {} + app.newly_added[account] = [] + app.to_be_removed[account] = [] + if account == app.ZEROCONF_ACC_NAME: + app.nicks[account] = app.ZEROCONF_ACC_NAME + else: + app.nicks[account] = app.settings.get_account_setting(account, + 'name') + app.block_signed_in_notifications[account] = True + app.last_message_time[account] = {} + # refresh roster + if len(app.connections) >= 2: + # Do not merge accounts if only one exists + self.roster.regroup = app.settings.get('mergeaccounts') + else: + self.roster.regroup = False + self.roster.setup_and_draw_roster() + gui_menu_builder.build_accounts_menu() + self.roster.send_status(account, 'online', '') + app.settings.set_account_setting(account, 'active', True) + app.app.update_app_actions_state() + window = get_app_window('AccountsWindow') + if window is not None: + GLib.idle_add(window.enable_account, account, True) + + def disable_account(self, account): + self.roster.close_all(account, force=True) + for jid in self.minimized_controls[account]: + ctrl = self.minimized_controls[account][jid] + ctrl.shutdown() + + for win in get_app_windows(account): + # Close all account specific windows, except the RemoveAccount + # dialog. It shows if the removal was successful. + if type(win).__name__ == 'RemoveAccount': + continue + win.destroy() + + if account == app.ZEROCONF_ACC_NAME: + app.connections[account].disable_account() + app.connections[account].cleanup() + del app.connections[account] + del self.instances[account] + del self.minimized_controls[account] + del app.nicks[account] + del app.block_signed_in_notifications[account] + del app.groups[account] + app.contacts.remove_account(account) + del app.gc_connected[account] + del app.automatic_rooms[account] + del app.to_be_removed[account] + del app.newly_added[account] + del app.last_message_time[account] + if len(app.connections) >= 2: + # Do not merge accounts if only one exists + self.roster.regroup = app.settings.get('mergeaccounts') + else: + self.roster.regroup = False + app.settings.set_account_setting(account, 'roster_version', '') + self.roster.setup_and_draw_roster() + self.roster.update_status_selector() + gui_menu_builder.build_accounts_menu() + app.settings.set_account_setting(account, 'active', False) + app.app.update_app_actions_state() + + def remove_account(self, account): + if app.settings.get_account_setting(account, 'active'): + self.disable_account(account) + + app.storage.cache.remove_roster(account) + # Delete password must be before del_per() because it calls set_per() + # which would recreate the account with defaults values if not found + passwords.delete_password(account) + app.settings.remove_account(account) + app.app.remove_account_actions(account) + + window = get_app_window('AccountsWindow') + if window is not None: + window.remove_account(account) + + def autoconnect(self): + """ + Auto connect at startup + """ + + for account in app.connections: + if not app.settings.get_account_setting(account, 'autoconnect'): + continue + + status = 'online' + status_message = '' + + if app.settings.get_account_setting(account, 'restore_last_status'): + status = app.settings.get_account_setting(account, 'last_status') + status_message = app.settings.get_account_setting( + account, 'last_status_msg') + status_message = helpers.from_one_line(status_message) + + self.roster.send_status(account, status, status_message) + + def change_status(self, status=None): + # status=None means we want to change the message only + + ask = ask_for_status_message(status) + + if status is None: + status = helpers.get_global_show() + + if ask: + open_window('StatusChange', status=status) + return + + for account in app.connections: + if not app.settings.get_account_setting(account, + 'sync_with_global_status'): + continue + + message = app.get_client(account).status_message + self.roster.send_status(account, status, message) + + def change_account_status(self, account, status=None): + # status=None means we want to change the message only + + ask = ask_for_status_message(status) + + client = app.get_client(account) + if status is None: + status = client.status + + if ask: + open_window('StatusChange', status=status, account=account) + return + + message = client.status_message + self.roster.send_status(account, status, message) + + def show_systray(self): + if not app.is_display(Display.WAYLAND): + self.systray_enabled = True + self.systray.show_icon() + + def hide_systray(self): + if not app.is_display(Display.WAYLAND): + self.systray_enabled = False + self.systray.hide_icon() + + def process_connections(self): + """ + Called each foo (200) milliseconds. Check for idlequeue timeouts + """ + try: + app.idlequeue.process() + except Exception: + # Otherwise, an exception will stop our loop + + if sys.platform == 'win32': + # On Windows process() calls select.select(), so we need this + # executed as often as possible. + # Adding it directly with GLib.idle_add() causes Gajim to use + # too much CPU time. That's why its added with 1ms timeout. + # On Linux only alarms are checked in process(), so we use + # a bigger timeout + timeout, in_seconds = 1, None + else: + timeout, in_seconds = app.idlequeue.PROCESS_TIMEOUT + + if in_seconds: + GLib.timeout_add_seconds(timeout, self.process_connections) + else: + GLib.timeout_add(timeout, self.process_connections) + raise + return True # renew timeout (loop for ever) + + @staticmethod + def save_config(): + app.settings.save() + + def update_avatar(self, account=None, jid=None, + contact=None, room_avatar=False): + self.avatar_storage.invalidate_cache(jid or contact.get_full_jid()) + if room_avatar: + app.nec.push_incoming_event( + NetworkEvent('update-room-avatar', account=account, jid=jid)) + elif contact is None: + app.nec.push_incoming_event( + NetworkEvent('update-roster-avatar', account=account, jid=jid)) + else: + app.nec.push_incoming_event(NetworkEvent('update-gc-avatar', + contact=contact, + room_jid=contact.room_jid)) + + def save_avatar(self, data): + return self.avatar_storage.save_avatar(data) + + def get_avatar(self, contact, size, scale, show=None, pixbuf=False): + if pixbuf: + return self.avatar_storage.get_pixbuf(contact, size, scale, show) + return self.avatar_storage.get_surface(contact, size, scale, show) + + def avatar_exists(self, filename): + return self.avatar_storage.get_avatar_path(filename) is not None + + # does JID exist only within a groupchat? + def is_pm_contact(self, fjid, account): + bare_jid = app.get_jid_without_resource(fjid) + + gc_ctrl = self.msg_win_mgr.get_gc_control(bare_jid, account) + + if not gc_ctrl and \ + bare_jid in self.minimized_controls[account]: + gc_ctrl = self.minimized_controls[account][bare_jid] + + return gc_ctrl and gc_ctrl.is_groupchat + + @staticmethod + def create_ipython_window(): + # Check if IPython is installed + ipython = find_spec('IPython') + is_installed = ipython is not None + if not is_installed: + # Abort early to avoid tracebacks + print('IPython is not installed') + return + try: + from gajim.dev.ipython_view import IPythonView + except ImportError: + print('ipython_view not found') + return + from gi.repository import Pango + + if os.name == 'nt': + font = 'Lucida Console 9' + else: + font = 'Luxi Mono 10' + + window = Gtk.Window() + window.set_title(_('Gajim: IPython Console')) + window.set_size_request(750, 550) + window.set_resizable(True) + sw = Gtk.ScrolledWindow() + sw.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC) + view = IPythonView() + view.override_font(Pango.FontDescription(font)) + view.set_wrap_mode(Gtk.WrapMode.CHAR) + sw.add(view) + window.add(sw) + window.show_all() + def on_delete(win, event): + win.hide() + return True + window.connect('delete_event', on_delete) + view.updateNamespace({'gajim': app}) + app.ipython_window = window + + def _network_status_changed(self, monitor, _param): + connected = monitor.get_network_available() + if connected == self.network_state: + return + + self.network_state = connected + if connected: + log.info('Network connection available') + else: + log.info('Network connection lost') + for connection in app.connections.values(): + if (connection.state.is_connected or + connection.state.is_available): + connection.disconnect(gracefully=False, reconnect=True) + + def create_zeroconf_default_config(self): + if app.settings.get_account_setting(app.ZEROCONF_ACC_NAME, 'name'): + return + log.info('Creating zeroconf account') + app.settings.add_account(app.ZEROCONF_ACC_NAME) + app.settings.set_account_setting(app.ZEROCONF_ACC_NAME, + 'autoconnect', + True) + app.settings.set_account_setting(app.ZEROCONF_ACC_NAME, + 'no_log_for', + '') + app.settings.set_account_setting(app.ZEROCONF_ACC_NAME, + 'password', + 'zeroconf') + app.settings.set_account_setting(app.ZEROCONF_ACC_NAME, + 'sync_with_global_status', + True) + app.settings.set_account_setting(app.ZEROCONF_ACC_NAME, + 'custom_port', + 5298) + app.settings.set_account_setting(app.ZEROCONF_ACC_NAME, + 'is_zeroconf', + True) + app.settings.set_account_setting(app.ZEROCONF_ACC_NAME, + 'use_ft_proxies', + False) + app.settings.set_account_setting(app.ZEROCONF_ACC_NAME, + 'active', + False) + + def check_for_updates(self): + if not app.settings.get('check_for_update'): + return + + now = datetime.now() + last_check = app.settings.get('last_update_check') + if not last_check: + def _on_cancel(): + app.settings.set('check_for_update', False) + + def _on_check(): + self._get_latest_release() + + ConfirmationDialog( + _('Update Check'), + _('Gajim Update Check'), + _('Search for Gajim updates periodically?'), + [DialogButton.make('Cancel', + text=_('_No'), + callback=_on_cancel), + DialogButton.make('Accept', + text=_('_Search Periodically'), + callback=_on_check)]).show() + return + + last_check_time = datetime.strptime(last_check, '%Y-%m-%d %H:%M') + if (now - last_check_time).days < 7: + return + + self._get_latest_release() + + def _get_latest_release(self): + log.info('Checking for Gajim updates') + session = Soup.Session() + session.props.user_agent = 'Gajim %s' % app.version + message = Soup.Message.new('GET', 'https://gajim.org/current-version.json') + session.queue_message(message, self._on_update_checked) + + def _on_update_checked(self, _session, message): + now = datetime.now() + app.settings.set('last_update_check', now.strftime('%Y-%m-%d %H:%M')) + + body = message.props.response_body.data + if not body: + log.warning('Could not reach gajim.org for update check') + return + + data = json.loads(body) + latest_version = data['current_version'] + + if V(latest_version) > V(app.version): + def _on_cancel(is_checked): + if is_checked: + app.settings.set('check_for_update', False) + + def _on_update(is_checked): + if is_checked: + app.settings.set('check_for_update', False) + helpers.open_uri('https://gajim.org/download') + + ConfirmationCheckDialog( + _('Update Available'), + _('Gajim Update Available'), + _('There is an update available for Gajim ' + '(latest version: %s)') % str(latest_version), + _('_Do not show again'), + [DialogButton.make('Cancel', + text=_('_Later'), + callback=_on_cancel), + DialogButton.make('Accept', + text=_('_Update Now'), + callback=_on_update)]).show() + else: + log.info('Gajim is up to date') + + def run(self, application): + if app.settings.get('trayicon') != 'never': + self.show_systray() + + self.roster = roster_window.RosterWindow(application) + if self.msg_win_mgr.mode == \ + MessageWindowMgr.ONE_MSG_WINDOW_ALWAYS_WITH_ROSTER: + self.msg_win_mgr.create_window(None, None, None) + + # Creating plugin manager + from gajim import plugins + app.plugin_manager = plugins.PluginManager() + app.plugin_manager.init_plugins() + + self.roster._before_fill() + for account in app.connections: + app.connections[account].get_module('Roster').load_roster() + self.roster._after_fill() + + # get instances for windows/dialogs that will show_all()/hide() + self.instances['file_transfers'] = FileTransfersWindow() + + GLib.timeout_add(100, self.autoconnect) + if sys.platform == 'win32': + timeout, in_seconds = 20, None + else: + timeout, in_seconds = app.idlequeue.PROCESS_TIMEOUT + + if in_seconds: + GLib.timeout_add_seconds(timeout, self.process_connections) + else: + GLib.timeout_add(timeout, self.process_connections) + + def remote_init(): + if app.settings.get('remote_control'): + try: + from gajim import remote_control + remote_control.GajimRemote() + except Exception: + pass + GLib.timeout_add_seconds(5, remote_init) + + def __init__(self): + app.interface = self + app.thread_interface = ThreadInterface + # This is the manager and factory of message windows set by the module + self.msg_win_mgr = None + self.minimized_controls = {} + self.pass_dialog = {} + self.db_error_dialog = None + + self.handlers = {} + self.roster = None + + self.avatar_storage = AvatarStorage() + + # Load CSS files + app.load_css_config() + + app.storage.archive.reset_shown_unread_messages() + + for account in app.settings.get_accounts(): + if app.settings.get_account_setting(account, 'is_zeroconf'): + app.ZEROCONF_ACC_NAME = account + break + + app.idlequeue = idlequeue.get_idlequeue() + # resolve and keep current record of resolved hosts + app.socks5queue = socks5.SocksQueue(app.idlequeue, + self.handle_event_file_rcv_completed, + self.handle_event_file_progress, + self.handle_event_file_error) + app.proxy65_manager = proxy65_manager.Proxy65Manager(app.idlequeue) + app.default_session_type = ChatControlSession + + # Creating Network Events Controller + from gajim.common import nec + app.nec = nec.NetworkEventsController() + app.notification = Notification() + + self.create_core_handlers_list() + self.register_core_handlers() + + # self.create_zeroconf_default_config() + # if app.settings.get_account_setting(app.ZEROCONF_ACC_NAME, 'active') \ + # and app.is_installed('ZEROCONF'): + # app.connections[app.ZEROCONF_ACC_NAME] = \ + # connection_zeroconf.ConnectionZeroconf(app.ZEROCONF_ACC_NAME) + + for account in app.settings.get_accounts(): + if (not app.settings.get_account_setting(account, 'is_zeroconf') and + app.settings.get_account_setting(account, 'active')): + app.connections[account] = Client(account) + + self.instances = {} + + for a in app.connections: + self.instances[a] = {'infos': {}, 'disco': {}, 'gc_config': {}, + 'search': {}, 'sub_request': {}} + self.minimized_controls[a] = {} + app.contacts.add_account(a) + app.groups[a] = {} + app.gc_connected[a] = {} + app.automatic_rooms[a] = {} + app.newly_added[a] = [] + app.to_be_removed[a] = [] + app.nicks[a] = app.settings.get_account_setting(a, 'name') + app.block_signed_in_notifications[a] = True + app.last_message_time[a] = {} + + if sys.platform not in ('win32', 'darwin'): + logind.enable() + music_track.enable() + else: + GLib.timeout_add_seconds(20, self.check_for_updates) + + idle.Monitor.set_interval(app.settings.get('autoawaytime') * 60, + app.settings.get('autoxatime') * 60) + + self.systray_enabled = False + + if not app.is_display(Display.WAYLAND): + from gajim.gui import statusicon + self.systray = statusicon.StatusIcon() + + if sys.platform in ('win32', 'darwin'): + from gajim.gui.emoji_chooser import emoji_chooser + emoji_chooser.load() + + self.last_ftwindow_update = 0 + + self._network_monitor = Gio.NetworkMonitor.get_default() + self._network_monitor.connect('notify::network-available', + self._network_status_changed) + self.network_state = self._network_monitor.get_network_available() + + +class ThreadInterface: + def __init__(self, func, func_args=(), callback=None, callback_args=()): + """ + Call a function in a thread + """ + def thread_function(func, func_args, callback, callback_args): + output = func(*func_args) + if callback: + GLib.idle_add(callback, output, *callback_args) + + Thread(target=thread_function, args=(func, func_args, callback, + callback_args)).start() diff --git a/gajim/gui_menu_builder.py b/gajim/gui_menu_builder.py new file mode 100644 index 0000000..8c9f487 --- /dev/null +++ b/gajim/gui_menu_builder.py @@ -0,0 +1,926 @@ +# Copyright (C) 2009-2014 Yann Leboulanger +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from gi.repository import Gtk, Gio, GLib +from nbxmpp.namespaces import Namespace + +from gajim import gtkgui_helpers +from gajim.common import app +from gajim.common import helpers +from gajim.common.helpers import is_affiliation_change_allowed +from gajim.common.helpers import is_role_change_allowed +from gajim.common.i18n import _ +from gajim.common.const import URIType +from gajim.common.const import URIAction + +from gajim.gui.util import get_builder +from gajim.gui.const import ControlType + + +def build_resources_submenu(contacts, account, action, room_jid=None, + room_account=None, cap=None): + """ + Build a submenu with contact's resources. room_jid and room_account are for + action self.on_invite_to_room + """ + roster = app.interface.roster + sub_menu = Gtk.Menu() + + for c in contacts: + item = Gtk.MenuItem.new_with_label( + '%s (%s)' % (c.resource, str(c.priority))) + sub_menu.append(item) + if action == roster.on_invite_to_room: # pylint: disable=comparison-with-callable + item.connect('activate', action, [(c, account)], room_jid, + room_account, c.resource) + else: # start_chat, execute_command, send_file + item.connect('activate', action, c, account, c.resource) + + if cap and not c.supports(cap): + item.set_sensitive(False) + + return sub_menu + +def build_invite_submenu(invite_menuitem, list_, ignore_rooms=None, +show_bookmarked=False, force_resource=False): + """ + list_ in a list of (contact, account) + force_resource means we want to send invitation even if there is only one + resource + """ + if ignore_rooms is None: + ignore_rooms = [] + roster = app.interface.roster + # used if we invite only one contact with several resources + contact_list = [] + if len(list_) == 1: + contact, account = list_[0] + contact_list = app.contacts.get_contacts(account, contact.jid) + contacts_transport = -1 + connected_accounts = [] + # -1 is at start, False when not from the same, None when jabber + for (contact, account) in list_: + if not account in connected_accounts: + connected_accounts.append(account) + transport = app.get_transport_name_from_jid(contact.jid) + if transport == 'jabber': + transport = None + if contacts_transport == -1: + contacts_transport = transport + elif contacts_transport != transport: + contacts_transport = False + + if contacts_transport is False: + # they are not all from the same transport + invite_menuitem.set_sensitive(False) + return + invite_to_submenu = Gtk.Menu() + invite_menuitem.set_submenu(invite_to_submenu) + rooms = [] # a list of (room_jid, account) tuple + minimized_controls = [] + for account in connected_accounts: + minimized_controls += \ + list(app.interface.minimized_controls[account].values()) + for gc_control in app.interface.msg_win_mgr.get_controls( + ControlType.GROUPCHAT) + minimized_controls: + acct = gc_control.account + if acct not in connected_accounts: + continue + room_jid = gc_control.room_jid + room_name = gc_control.room_name + if room_jid in ignore_rooms: + continue + if room_jid in app.gc_connected[acct] and \ + app.gc_connected[acct][room_jid] and \ + contacts_transport in ['jabber', None]: + rooms.append((room_jid, room_name, acct)) + if rooms: + item = Gtk.SeparatorMenuItem.new() # separator + invite_to_submenu.append(item) + for (room_jid, room_name, account) in rooms: + menuitem = Gtk.MenuItem.new_with_label(room_name) + if len(contact_list) > 1: # several resources + menuitem.set_submenu(build_resources_submenu( + contact_list, account, roster.on_invite_to_room, room_jid, + account)) + else: + # use resource if it's self contact + if contact.jid == app.get_jid_from_account(account): + resource = contact.resource + else: + resource = None + menuitem.connect('activate', roster.on_invite_to_room, list_, + room_jid, account, resource) + invite_to_submenu.append(menuitem) + + if not show_bookmarked: + return + rooms2 = [] # a list of (room_jid, account) tuple + r_jids = [] # list of room jids + for account in connected_accounts: + con = app.connections[account] + for bookmark in con.get_module('Bookmarks').bookmarks: + if bookmark.jid in r_jids: + continue + if bookmark.jid not in app.gc_connected[account] or not \ + app.gc_connected[account][bookmark.jid]: + rooms2.append((bookmark.jid, account)) + r_jids.append(bookmark.jid) + + if not rooms2: + return + item = Gtk.SeparatorMenuItem.new() # separator + invite_to_submenu.append(item) + for (room_jid, account) in rooms2: + menuitem = Gtk.MenuItem.new_with_label(room_jid.localpart) + if len(contact_list) > 1: # several resources + menuitem.set_submenu(build_resources_submenu( + contact_list, account, roster.on_invite_to_room, str(room_jid), + account)) + else: + # use resource if it's self contact + if contact.jid == app.get_jid_from_account(account): + resource = contact.resource + else: + resource = None + menuitem.connect('activate', roster.on_invite_to_room, list_, + str(room_jid), account, resource) + invite_to_submenu.append(menuitem) + +def get_contact_menu(contact, account, use_multiple_contacts=True, +show_start_chat=True, show_encryption=False, show_buttonbar_items=True, +control=None, gc_contact=None, is_anonymous=True): + """ + Build contact popup menu for roster and chat window. If control is not set, + we hide invite_contacts_menuitem + """ + if not contact: + return + + jid = contact.jid + our_jid = jid == app.get_jid_from_account(account) + roster = app.interface.roster + + xml = get_builder('contact_context_menu.ui') + contact_context_menu = xml.get_object('contact_context_menu') + + start_chat_menuitem = xml.get_object('start_chat_menuitem') + execute_command_menuitem = xml.get_object('execute_command_menuitem') + rename_menuitem = xml.get_object('rename_menuitem') + edit_groups_menuitem = xml.get_object('edit_groups_menuitem') + send_file_menuitem = xml.get_object('send_file_menuitem') + information_menuitem = xml.get_object('information_menuitem') + history_menuitem = xml.get_object('history_menuitem') + send_single_message_menuitem = xml.get_object('send_single_message_menuitem') + invite_menuitem = xml.get_object('invite_menuitem') + block_menuitem = xml.get_object('block_menuitem') + unblock_menuitem = xml.get_object('unblock_menuitem') + ignore_menuitem = xml.get_object('ignore_menuitem') + unignore_menuitem = xml.get_object('unignore_menuitem') + # Subscription submenu + subscription_menuitem = xml.get_object('subscription_menuitem') + send_auth_menuitem, ask_auth_menuitem, revoke_auth_menuitem = \ + subscription_menuitem.get_submenu().get_children() + add_to_roster_menuitem = xml.get_object('add_to_roster_menuitem') + remove_from_roster_menuitem = xml.get_object( + 'remove_from_roster_menuitem') + manage_contact_menuitem = xml.get_object('manage_contact') + convert_to_gc_menuitem = xml.get_object('convert_to_groupchat_menuitem') + last_separator = xml.get_object('last_separator') + + items_to_hide = [] + + contacts = app.contacts.get_contacts(account, jid) + if len(contacts) > 1 and use_multiple_contacts: # several resources + send_file_menuitem.set_submenu(build_resources_submenu( + contacts, + account, + roster.on_send_file_menuitem_activate, + cap=Namespace.JINGLE_FILE_TRANSFER_5)) + execute_command_menuitem.set_submenu(build_resources_submenu( + contacts, account, roster.on_execute_command, cap=Namespace.COMMANDS)) + else: + if contact.supports(Namespace.JINGLE_FILE_TRANSFER_5): + send_file_menuitem.set_sensitive(True) + send_file_menuitem.connect('activate', + roster.on_send_file_menuitem_activate, contact, account) + else: + send_file_menuitem.set_sensitive(False) + + if contact.supports(Namespace.COMMANDS): + execute_command_menuitem.set_sensitive(True) + if gc_contact and gc_contact.jid and not is_anonymous: + execute_command_menuitem.connect('activate', + roster.on_execute_command, gc_contact, account, + gc_contact.resource) + else: + execute_command_menuitem.connect('activate', + roster.on_execute_command, contact, account, + contact.resource) + else: + execute_command_menuitem.set_sensitive(False) + + start_chat_menuitem.connect( + 'activate', app.interface.on_open_chat_window, contact, account) + + rename_menuitem.connect('activate', roster.on_rename, 'contact', jid, + account) + + history_menuitem.set_action_name('app.browse-history') + dict_ = {'jid': GLib.Variant('s', contact.jid), + 'account': GLib.Variant('s', account)} + variant = GLib.Variant('a{sv}', dict_) + history_menuitem.set_action_target_value(variant) + + if control: + convert_to_gc_menuitem.connect('activate', + control._on_convert_to_gc_menuitem_activate) + else: + items_to_hide.append(convert_to_gc_menuitem) + + if _('Not in contact list') not in contact.get_shown_groups(): + # contact is in normal group + edit_groups_menuitem.connect('activate', roster.on_edit_groups, [(contact, + account)]) + else: + # contact is in group 'Not in contact list' + edit_groups_menuitem.set_sensitive(False) + + # Hide items when it's self contact row + if our_jid: + items_to_hide += [rename_menuitem, edit_groups_menuitem] + + # Unsensitive many items when account is offline + if app.account_is_disconnected(account): + for widget in (start_chat_menuitem, rename_menuitem, + edit_groups_menuitem, send_file_menuitem, convert_to_gc_menuitem, + information_menuitem): + widget.set_sensitive(False) + + if not show_start_chat: + items_to_hide.append(start_chat_menuitem) + + if not show_buttonbar_items: + items_to_hide += [history_menuitem, send_file_menuitem, + information_menuitem, convert_to_gc_menuitem, last_separator] + + if not control: + items_to_hide.append(convert_to_gc_menuitem) + + # Hide items when it's a pm + if gc_contact: + items_to_hide += [rename_menuitem, edit_groups_menuitem, + subscription_menuitem, remove_from_roster_menuitem] + + for item in items_to_hide: + item.set_no_show_all(True) + item.hide() + + # Zeroconf Account + if app.settings.get_account_setting(account, 'is_zeroconf'): + for item in (send_single_message_menuitem, + invite_menuitem, block_menuitem, unblock_menuitem, ignore_menuitem, + unignore_menuitem, subscription_menuitem, + manage_contact_menuitem, convert_to_gc_menuitem): + item.set_no_show_all(True) + item.hide() + + if contact.show in ('offline', 'error'): + information_menuitem.set_sensitive(False) + send_file_menuitem.set_sensitive(False) + else: + information_menuitem.connect('activate', roster.on_info_zeroconf, + contact, account) + + contact_context_menu.connect('selection-done', + gtkgui_helpers.destroy_widget) + contact_context_menu.show_all() + return contact_context_menu + + # normal account + + if gc_contact: + if not gc_contact.jid: + # it's a pm and we don't know real JID + invite_menuitem.set_sensitive(False) + else: + bookmarked = False + c_ = app.contacts.get_contact(account, gc_contact.jid, + gc_contact.resource) + if c_ and c_.supports(Namespace.CONFERENCE): + bookmarked = True + build_invite_submenu(invite_menuitem, [(gc_contact, account)], + show_bookmarked=bookmarked) + else: + force_resource = False + if control and control.resource: + force_resource = True + build_invite_submenu(invite_menuitem, [(contact, account)], + show_bookmarked=contact.supports(Namespace.CONFERENCE), + force_resource=force_resource) + + if app.account_is_disconnected(account): + invite_menuitem.set_sensitive(False) + + send_single_message_menuitem.connect('activate', + roster.on_send_single_message_menuitem_activate, account, contact) + + remove_from_roster_menuitem.connect('activate', roster.on_req_usub, + [(contact, account)]) + information_menuitem.connect('activate', roster.on_info, contact, account) + + if _('Not in contact list') not in contact.get_shown_groups(): + # contact is in normal group + add_to_roster_menuitem.hide() + add_to_roster_menuitem.set_no_show_all(True) + + if contact.sub in ('from', 'both'): + send_auth_menuitem.set_sensitive(False) + else: + send_auth_menuitem.connect('activate', roster.authorize, jid, account) + if contact.sub in ('to', 'both'): + ask_auth_menuitem.set_sensitive(False) + else: + ask_auth_menuitem.connect('activate', roster.req_sub, jid, + _('I would like to add you to my contact list'), account, + contact.groups, contact.name) + transport = app.get_transport_name_from_jid(jid, + use_config_setting=False) + if contact.sub in ('to', 'none') or transport not in ['jabber', None]: + revoke_auth_menuitem.set_sensitive(False) + else: + revoke_auth_menuitem.connect('activate', roster.revoke_auth, jid, + account) + + elif app.connections[account].roster_supported: + # contact is in group 'Not in contact list' + add_to_roster_menuitem.set_no_show_all(False) + subscription_menuitem.set_sensitive(False) + + add_to_roster_menuitem.connect('activate', roster.on_add_to_roster, + contact, account) + else: + add_to_roster_menuitem.hide() + add_to_roster_menuitem.set_no_show_all(True) + subscription_menuitem.set_sensitive(False) + + # Hide items when it's self contact row + if our_jid: + manage_contact_menuitem.set_sensitive(False) + + # Unsensitive items when account is offline + if app.account_is_disconnected(account): + for widget in (send_single_message_menuitem, subscription_menuitem, + add_to_roster_menuitem, remove_from_roster_menuitem, + execute_command_menuitem): + widget.set_sensitive(False) + + + con = app.connections[account] + if con.get_module('Blocking').supported: + transport = app.get_transport_name_from_jid(jid, use_config_setting=False) + if helpers.jid_is_blocked(account, jid): + block_menuitem.set_no_show_all(True) + block_menuitem.hide() + if transport not in ('jabber', None): + unblock_menuitem.set_no_show_all(True) + unblock_menuitem.hide() + unignore_menuitem.set_no_show_all(False) + unignore_menuitem.connect('activate', roster.on_unblock, [(contact, + account)]) + else: + unblock_menuitem.connect('activate', roster.on_unblock, [(contact, + account)]) + else: + unblock_menuitem.set_no_show_all(True) + unblock_menuitem.hide() + if transport not in ('jabber', None): + block_menuitem.set_no_show_all(True) + block_menuitem.hide() + ignore_menuitem.set_no_show_all(False) + ignore_menuitem.connect('activate', roster.on_block, [(contact, + account)]) + else: + block_menuitem.connect('activate', roster.on_block, [(contact, + account)]) + else: + unblock_menuitem.set_no_show_all(True) + block_menuitem.set_sensitive(False) + unblock_menuitem.hide() + + contact_context_menu.connect('selection-done', gtkgui_helpers.destroy_widget) + contact_context_menu.show_all() + return contact_context_menu + +def get_transport_menu(contact, account): + roster = app.interface.roster + jid = contact.jid + + menu = Gtk.Menu() + + # Send single message + item = Gtk.MenuItem.new_with_mnemonic(_('Send Single _Message…')) + item.connect('activate', roster.on_send_single_message_menuitem_activate, + account, contact) + menu.append(item) + if app.account_is_disconnected(account): + item.set_sensitive(False) + + blocked = False + if helpers.jid_is_blocked(account, jid): + blocked = True + + item = Gtk.SeparatorMenuItem.new() # separator + menu.append(item) + + # Execute Command + item = Gtk.MenuItem.new_with_mnemonic(_('E_xecute Command…')) + menu.append(item) + item.connect('activate', roster.on_execute_command, contact, account, + contact.resource) + if app.account_is_disconnected(account): + item.set_sensitive(False) + + # Manage Transport submenu + item = Gtk.MenuItem.new_with_mnemonic(_('_Manage Transport')) + manage_transport_submenu = Gtk.Menu() + item.set_submenu(manage_transport_submenu) + menu.append(item) + + # Modify Transport + item = Gtk.MenuItem.new_with_mnemonic(_('_Modify Transport')) + manage_transport_submenu.append(item) + item.connect('activate', roster.on_edit_agent, contact, account) + if app.account_is_disconnected(account): + item.set_sensitive(False) + + # Rename + item = Gtk.MenuItem.new_with_mnemonic(_('_Rename…')) + manage_transport_submenu.append(item) + item.connect('activate', roster.on_rename, 'agent', jid, account) + if app.account_is_disconnected(account): + item.set_sensitive(False) + + item = Gtk.SeparatorMenuItem.new() # separator + manage_transport_submenu.append(item) + + # Block + if blocked: + item = Gtk.MenuItem.new_with_mnemonic(_('_Unblock')) + item.connect('activate', roster.on_unblock, [(contact, account)]) + else: + item = Gtk.MenuItem.new_with_mnemonic(_('_Block')) + item.connect('activate', roster.on_block, [(contact, account)]) + + manage_transport_submenu.append(item) + if app.account_is_disconnected(account): + item.set_sensitive(False) + + # Remove + item = Gtk.MenuItem.new_with_mnemonic(_('Remo_ve')) + manage_transport_submenu.append(item) + item.connect('activate', roster.on_remove_agent, [(contact, account)]) + if app.account_is_disconnected(account): + item.set_sensitive(False) + + item = Gtk.SeparatorMenuItem.new() # separator + menu.append(item) + + # Information + information_menuitem = Gtk.MenuItem.new_with_mnemonic(_('_Information')) + menu.append(information_menuitem) + information_menuitem.connect('activate', roster.on_info, contact, account) + if app.account_is_disconnected(account): + information_menuitem.set_sensitive(False) + + menu.connect('selection-done', gtkgui_helpers.destroy_widget) + menu.show_all() + return menu + + +def get_singlechat_menu(control_id, account, jid, type_): + singlechat_menu = [ + (_('Send File'), [ + ('win.send-file-httpupload-', _('Upload File…')), + ('win.send-file-jingle-', _('Send File Directly…')), + ]), + ('win.send-marker-', _('Send Read Markers')), + (_('Send Chatstate'), ['chatstate']), + ('win.invite-contacts-', _('Invite Contacts…')), + ('win.add-to-roster-', _('Add to Contact List…')), + ('win.block-contact-', _('Block Contact…')), + ('win.start-call-', _('Start Call…')), + ('win.information-', _('Information')), + ('app.browse-history', _('History')), + ] + + def build_chatstate_menu(): + menu = Gio.Menu() + entries = [ + (_('Disabled'), 'disabled'), + (_('Composing Only'), 'composing_only'), + (_('All Chat States'), 'all') + ] + + for entry in entries: + label, setting = entry + action = 'win.send-chatstate-%s::%s' % (control_id, setting) + menu.append(label, action) + return menu + + def build_menu(preset): + menu = Gio.Menu() + for item in preset: + if isinstance(item[1], str): + action_name, label = item + if action_name == 'win.send-marker-' and type_ == 'pm': + continue + + if action_name == 'app.browse-history': + menuitem = Gio.MenuItem.new(label, action_name) + dict_ = {'account': GLib.Variant('s', account), + 'jid': GLib.Variant('s', jid)} + variant_dict = GLib.Variant('a{sv}', dict_) + menuitem.set_action_and_target_value(action_name, + variant_dict) + menu.append_item(menuitem) + else: + menu.append(label, action_name + control_id) + else: + label, sub_menu = item + if 'chatstate' in sub_menu: + submenu = build_chatstate_menu() + else: + submenu = build_menu(sub_menu) + menu.append_submenu(label, submenu) + return menu + + return build_menu(singlechat_menu) + + +def get_groupchat_menu(control_id, account, jid): + groupchat_menu = [ + ('win.information-', _('Information')), + ('win.groupchat-settings-', _('Settings…')), + (_('Manage Group Chat'), [ + ('win.rename-groupchat-', _('Rename…')), + ('win.change-subject-', _('Change Subject…')), + ('win.upload-avatar-', _('Upload Avatar…')), + ('win.configure-', _('Configure…')), + ('win.destroy-', _('Destroy…')), + ]), + ('win.change-nickname-', _('Change Nickname…')), + ('win.request-voice-', _('Request Voice')), + ('win.execute-command-', _('Execute Command…')), + ('app.browse-history', _('History')), + ('win.disconnect-', _('Leave')), + ] + + def build_menu(preset): + menu = Gio.Menu() + for item in preset: + if isinstance(item[1], str): + action_name, label = item + if action_name == 'app.browse-history': + menuitem = Gio.MenuItem.new(label, action_name) + dict_ = {'account': GLib.Variant('s', account), + 'jid': GLib.Variant('s', jid)} + variant_dict = GLib.Variant('a{sv}', dict_) + menuitem.set_action_and_target_value(action_name, + variant_dict) + menu.append_item(menuitem) + + elif action_name == 'win.execute-command-': + action_name = action_name + control_id + menuitem = Gio.MenuItem.new(label, action_name) + menuitem.set_action_and_target_value(action_name, + GLib.Variant('s', '')) + menu.append_item(menuitem) + else: + menu.append(label, action_name + control_id) + else: + label, sub_menu = item + submenu = build_menu(sub_menu) + menu.append_submenu(label, submenu) + return menu + + return build_menu(groupchat_menu) + + +def get_account_menu(account): + ''' + [(action, label/sub_menu)] + action: string + label: string + sub menu: list + ''' + account_menu = [ + ('-add-contact', _('Add Contact…')), + ('-profile', _('Profile')), + ('-start-single-chat', _('Send Single Message…')), + ('-services', _('Discover Services…')), + ('-server-info', _('Server Info')), + (_('Advanced'), [ + ('-archive', _('Archiving Preferences')), + ('-blocking', _('Blocking List')), + ('-bookmarks', _('Bookmarks')), + ('-pep-config', _('PEP Configuration')), + ('-sync-history', _('Synchronise History…')), + ]), + (_('Admin'), [ + ('-send-server-message', _('Send Server Message…')), + ('-set-motd', _('Set MOTD…')), + ('-update-motd', _('Update MOTD…')), + ('-delete-motd', _('Delete MOTD…')) + ]), + ] + + def build_menu(preset): + menu = Gio.Menu() + for item in preset: + if isinstance(item[1], str): + action, label = item + action = 'app.{}{}'.format(account, action) + menuitem = Gio.MenuItem.new(label, action) + if 'add-contact' in action: + variant = GLib.Variant('as', [account, '']) + else: + variant = GLib.Variant('s', account) + menuitem.set_action_and_target_value(action, variant) + menu.append_item(menuitem) + else: + label, sub_menu = item + # This is a submenu + submenu = build_menu(sub_menu) + menu.append_submenu(label, submenu) + return menu + + return build_menu(account_menu) + + +def build_accounts_menu(): + menubar = app.app.get_menubar() + # Accounts Submenu + menu_position = 1 + + acc_menu = menubar.get_item_link(menu_position, 'submenu') + acc_menu.remove_all() + + accounts_list = sorted(app.contacts.get_accounts()) + if not accounts_list: + modify_account_item = Gio.MenuItem.new(_('_Add Account…'), + 'app.accounts::') + acc_menu.append_item(modify_account_item) + return + + if len(accounts_list) > 1: + modify_account_item = Gio.MenuItem.new(_('_Modify Accounts…'), + 'app.accounts::') + acc_menu.append_item(modify_account_item) + for acc in accounts_list: + label = escape_mnemonic(app.get_account_label(acc)) + if acc != 'Local': + acc_menu.append_submenu( + label, get_account_menu(acc)) + else: + acc_menu = get_account_menu(accounts_list[0]) + modify_account_item = Gio.MenuItem.new(_('_Modify Account…'), + 'app.accounts::') + acc_menu.insert_item(0, modify_account_item) + menubar.remove(menu_position) + menubar.insert_submenu(menu_position, _('Accounts'), acc_menu) + + +def get_encryption_menu(control_id, control_type, zeroconf=False): + menu = Gio.Menu() + menu.append( + _('Disabled'), + 'win.set-encryption-{}::{}'.format(control_id, 'disabled')) + for name, plugin in app.plugin_manager.encryption_plugins.items(): + if control_type.is_groupchat: + if not hasattr(plugin, 'allow_groupchat'): + continue + if control_type.is_privatechat: + if not hasattr(plugin, 'allow_privatechat'): + continue + if zeroconf: + if not hasattr(plugin, 'allow_zeroconf'): + continue + menu_action = 'win.set-encryption-{}::{}'.format( + control_id, name) + menu.append(name, menu_action) + if menu.get_n_items() == 1: + return None + return menu + + +def get_conv_context_menu(account, uri): + if uri.type == URIType.XMPP: + if uri.action == URIAction.JOIN: + context_menu = [ + ('copy-text', _('Copy XMPP Address')), + ('groupchat-join', _('Join Groupchat')), + ] + else: + context_menu = [ + ('copy-text', _('Copy XMPP Address')), + ('-start-chat', _('Start Chat')), + ('-add-contact', _('Add to Contact List…')), + ] + + elif uri.type == URIType.WEB: + context_menu = [ + ('copy-text', _('Copy Link Location')), + ('open-link', _('Open Link in Browser')), + ] + + elif uri.type == URIType.MAIL: + context_menu = [ + ('copy-text', _('Copy Email Address')), + ('open-mail', _('Open Email Composer')), + ] + + elif uri.type == URIType.GEO: + context_menu = [ + ('copy-text', _('Copy Location')), + ('open-link', _('Show Location')), + ] + + elif uri.type == URIType.AT: + context_menu = [ + ('copy-text', _('Copy XMPP Address/Email')), + ('open-mail', _('Open Email Composer')), + ('-start-chat', _('Start Chat')), + ('groupchat-join', _('Join Groupchat')), + ('-add-contact', _('Add to Contact List…')), + ] + else: + return + + menu = Gtk.Menu() + for item in context_menu: + action, label = item + menuitem = Gtk.MenuItem() + menuitem.set_label(label) + + if action.startswith('-'): + action = 'app.%s%s' % (account, action) + else: + action = 'app.%s' % action + menuitem.set_action_name(action) + + data = uri.data + if uri.type == URIType.XMPP: + data = uri.data['jid'] + + if action in ('app.open-mail', 'app.copy-text'): + value = GLib.Variant.new_string(data) + else: + value = GLib.Variant.new_strv([account, data]) + menuitem.set_action_target_value(value) + menuitem.show() + menu.append(menuitem) + return menu + + +def get_groupchat_roster_menu(account, control_id, self_contact, contact): + menu = Gtk.Menu() + + item = Gtk.MenuItem(label=_('Information')) + action = 'win.contact-information-%s::%s' % (control_id, contact.name) + item.set_detailed_action_name(action) + menu.append(item) + + item = Gtk.MenuItem(label=_('Add to Contact List…')) + action = 'app.{account}-add-contact(["{account}", "{jid}"])'.format( + account=account, jid=contact.jid or '') + if contact.jid is None: + item.set_sensitive(False) + else: + item.set_detailed_action_name(action) + menu.append(item) + + item = Gtk.MenuItem(label=_('Invite')) + if contact.jid is not None: + build_invite_submenu(item, + ((contact, account),), + show_bookmarked=True) + else: + item.set_sensitive(False) + menu.append(item) + + item = Gtk.MenuItem(label=_('Execute Command…')) + action = 'win.execute-command-%s::%s' % (control_id, contact.name) + item.set_detailed_action_name(action) + menu.append(item) + + menu.append(Gtk.SeparatorMenuItem()) + + item = Gtk.MenuItem(label=_('Kick')) + action = 'win.kick-%s::%s' % (control_id, contact.name) + if is_role_change_allowed(self_contact, contact): + item.set_detailed_action_name(action) + else: + item.set_sensitive(False) + menu.append(item) + + item = Gtk.MenuItem(label=_('Ban')) + action = 'win.ban-%s::%s' % (control_id, contact.jid or '') + if is_affiliation_change_allowed(self_contact, contact, 'outcast'): + item.set_detailed_action_name(action) + else: + item.set_sensitive(False) + menu.append(item) + + menu.append(Gtk.SeparatorMenuItem()) + + item = Gtk.MenuItem(label=_('Make Owner')) + action = 'win.change-affiliation-%s(["%s", "owner"])' % (control_id, + contact.jid) + if is_affiliation_change_allowed(self_contact, contact, 'owner'): + item.set_detailed_action_name(action) + else: + item.set_sensitive(False) + menu.append(item) + + item = Gtk.MenuItem(label=_('Make Admin')) + action = 'win.change-affiliation-%s(["%s", "admin"])' % (control_id, + contact.jid) + if is_affiliation_change_allowed(self_contact, contact, 'admin'): + item.set_detailed_action_name(action) + else: + item.set_sensitive(False) + menu.append(item) + + item = Gtk.MenuItem(label=_('Make Member')) + action = 'win.change-affiliation-%s(["%s", "member"])' % (control_id, + contact.jid) + if is_affiliation_change_allowed(self_contact, contact, 'member'): + item.set_detailed_action_name(action) + else: + item.set_sensitive(False) + menu.append(item) + + item = Gtk.MenuItem(label=_('Revoke Member')) + action = 'win.change-affiliation-%s(["%s", "none"])' % (control_id, + contact.jid) + if is_affiliation_change_allowed(self_contact, contact, 'none'): + item.set_detailed_action_name(action) + else: + item.set_sensitive(False) + menu.append(item) + + if contact.role.is_visitor: + label = _('Grant Voice') + role = 'participant' + else: + label = _('Revoke Voice') + role = 'visitor' + + item = Gtk.MenuItem(label=label) + action = 'win.change-role-%s(["%s", "%s"])' % (control_id, + contact.name, + role) + if is_role_change_allowed(self_contact, contact): + item.set_detailed_action_name(action) + else: + item.set_sensitive(False) + menu.append(item) + + menu.show_all() + return menu + + +class SearchMenu(Gtk.Menu): + def __init__(self, treeview): + Gtk.Menu.__init__(self) + self._copy_item = Gtk.MenuItem(label=_('Copy')) + self._copy_item.set_action_name('app.copy-text') + self.set_copy_text('') + self._copy_item.show() + self.append(self._copy_item) + self.attach_to_widget(treeview, None) + + def set_copy_text(self, text): + self._copy_item.set_action_target_value(GLib.Variant('s', text)) + + +def escape_mnemonic(label): + if label is None: + return + # Underscore inside a label means the next letter is a keyboard + # shortcut. To show an underscore we have to use double underscore + return label.replace('_', '__') diff --git a/gajim/history_manager.py b/gajim/history_manager.py new file mode 100644 index 0000000..3e76784 --- /dev/null +++ b/gajim/history_manager.py @@ -0,0 +1,695 @@ +# Copyright (C) 2006 Dimitur Kirov +# Copyright (C) 2006-2007 Jean-Marie Traissard +# Nikos Kouremenos +# Copyright (C) 2006-2014 Yann Leboulanger +# Copyright (C) 2007 Stephan Erb +# Copyright (C) 2008 Jonathan Schleifer +# Copyright (C) 2018 Philipp Hörist +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +# NOTE: some method names may match those of logger.py but that's it +# someday (TM) should have common class +# that abstracts db connections and helpers on it +# the same can be said for history.py + +import os +import sys +import time +import getopt +import sqlite3 +from enum import IntEnum, unique + +import gi + +try: + gi.require_versions({'Gtk': '3.0'}) +except ValueError as error: + sys.exit('Missing dependency: %s' % error) + +# pylint: disable=C0413 +from gi.repository import Gtk +from gi.repository import Gdk +from gi.repository import GLib +from gi.repository import Gio +from gi.repository import Pango + +import gajim.gui +from gajim.common import app +from gajim.common import configpaths +from gajim.common.i18n import _ +from gajim.common.i18n import ngettext +from gajim.common.const import StyleAttr +from gajim.common.const import JIDConstant +from gajim.common.const import KindConstant +from gajim.common.const import ShowConstant + + +def is_standalone(): + # Determine if we are in standalone mode + if Gio.Application.get_default() is None: + return True + if __name__ == '__main__': + return True + return False + + +def init_gtk(): + gajim.gui.init('gtk') + from gajim.gui import exception + exception.init() + + +if is_standalone(): + init_gtk() + + from gajim.common.settings import Settings + + try: + shortargs = 'hvsc:l:p:' + longargs = 'help verbose separate config-path= loglevel= profile=' + opts = getopt.getopt(sys.argv[1:], shortargs, longargs.split())[0] + except getopt.error as msg: + print(str(msg)) + print('for help use --help') + sys.exit(2) + for o, a in opts: + if o in ('-h', '--help'): + print(_('Usage:') + \ + '\n gajim-history-manager [options] filename\n\n' + \ + _('Options:') + \ + '\n -h, --help ' + \ + _('Show this help message and exit') + \ + '\n -c, --config-path ' + _('Choose folder for logfile') + '\n') + sys.exit() + elif o in ('-c', '--config-path'): + configpaths.set_config_root(a) + + configpaths.init() + app.settings = Settings() + app.settings.init() + app.load_css_config() +else: + from gajim.common.settings import Settings + +from gajim.common import helpers +from gajim.gui.dialogs import ErrorDialog +from gajim.gui.dialogs import ConfirmationDialog +from gajim.gui.dialogs import DialogButton +from gajim.gui.filechoosers import FileSaveDialog +from gajim.gui.util import convert_rgb_to_hex +from gajim.gui.util import get_builder +from gajim.gui.util import get_app_icon_list +# pylint: enable=C0413 + +@unique +class Column(IntEnum): + UNIXTIME = 2 + MESSAGE = 3 + SUBJECT = 4 + NICKNAME = 5 + + +class HistoryManager: + def __init__(self): + log_db_path = configpaths.get('LOG_DB') + if not log_db_path.exists(): + ErrorDialog(_('Cannot find history logs database'), + _('%s does not exist.') % log_db_path) + sys.exit() + + self._ui = get_builder('history_manager.ui') + Gtk.Window.set_default_icon_list(get_app_icon_list( + self._ui.history_manager_window)) + + self.jids_already_in = [] # holds jids that we already have in DB + self.AT_LEAST_ONE_DELETION_DONE = False + + self.con = sqlite3.connect( + log_db_path, timeout=20.0, isolation_level='IMMEDIATE') + self.con.execute("PRAGMA secure_delete=1") + self.cur = self.con.cursor() + + self._init_jids_listview() + self._init_logs_listview() + self._init_search_results_listview() + + self._fill_jids_listview() + + self._ui.search_entry.grab_focus() + + self._ui.history_manager_window.show_all() + + self._ui.connect_signals(self) + + def _init_jids_listview(self): + self.jids_liststore = Gtk.ListStore(str, str) # jid, jid_id + self._ui.jids_listview.set_model(self.jids_liststore) + self._ui.jids_listview.get_selection().set_mode(Gtk.SelectionMode.MULTIPLE) + + renderer_text = Gtk.CellRendererText() # holds jid + col = Gtk.TreeViewColumn(_('XMPP Address'), renderer_text, text=0) + self._ui.jids_listview.append_column(col) + + self._ui.jids_listview.get_selection().connect('changed', + self.on_jids_listview_selection_changed) + + def _init_logs_listview(self): + # log_line_id(HIDDEN), jid_id(HIDDEN), time, message, subject, nickname + self.logs_liststore = Gtk.ListStore(str, str, str, str, str, str) + self._ui.logs_listview.set_model(self.logs_liststore) + self._ui.logs_listview.get_selection().set_mode(Gtk.SelectionMode.MULTIPLE) + + renderer_text = Gtk.CellRendererText() # holds time + col = Gtk.TreeViewColumn(_('Date'), renderer_text, text=Column.UNIXTIME) + # user can click this header and sort + col.set_sort_column_id(Column.UNIXTIME) + col.set_resizable(True) + self._ui.logs_listview.append_column(col) + + renderer_text = Gtk.CellRendererText() # holds nickname + col = Gtk.TreeViewColumn(_('Nickname'), renderer_text, text=Column.NICKNAME) + # user can click this header and sort + col.set_sort_column_id(Column.NICKNAME) + col.set_resizable(True) + col.set_visible(False) + self.nickname_col_for_logs = col + self._ui.logs_listview.append_column(col) + + renderer_text = Gtk.CellRendererText() # holds message + renderer_text.set_property('width_chars', 60) + renderer_text.set_property('ellipsize', Pango.EllipsizeMode.END) + col = Gtk.TreeViewColumn(_('Message'), renderer_text, markup=Column.MESSAGE) + # user can click this header and sort + col.set_sort_column_id(Column.MESSAGE) + col.set_resizable(True) + self.message_col_for_logs = col + self._ui.logs_listview.append_column(col) + + renderer_text = Gtk.CellRendererText() # holds subject + col = Gtk.TreeViewColumn(_('Subject'), renderer_text, text=Column.SUBJECT) + # user can click this header and sort + col.set_sort_column_id(Column.SUBJECT) + col.set_resizable(True) + col.set_visible(False) + self.subject_col_for_logs = col + self._ui.logs_listview.append_column(col) + + def _init_search_results_listview(self): + # log_line_id (HIDDEN), jid, time, message, subject, nickname + self.search_results_liststore = Gtk.ListStore(int, str, str, str, str, + str) + self._ui.search_results_listview.set_model(self.search_results_liststore) + + renderer_text = Gtk.CellRendererText() # holds JID (who said this) + col = Gtk.TreeViewColumn(_('XMPP Address'), renderer_text, text=1) + # user can click this header and sort + col.set_sort_column_id(1) + col.set_resizable(True) + self._ui.search_results_listview.append_column(col) + + renderer_text = Gtk.CellRendererText() # holds time + col = Gtk.TreeViewColumn(_('Date'), renderer_text, text=Column.UNIXTIME) + # user can click this header and sort + col.set_sort_column_id(Column.UNIXTIME) + col.set_resizable(True) + self._ui.search_results_listview.append_column(col) + + renderer_text = Gtk.CellRendererText() # holds message + renderer_text.set_property('width_chars', 60) + renderer_text.set_property('ellipsize', Pango.EllipsizeMode.END) + col = Gtk.TreeViewColumn(_('Message'), renderer_text, text=Column.MESSAGE) + # user can click this header and sort + col.set_sort_column_id(Column.MESSAGE) + col.set_resizable(True) + self._ui.search_results_listview.append_column(col) + + renderer_text = Gtk.CellRendererText() # holds subject + col = Gtk.TreeViewColumn(_('Subject'), renderer_text, text=Column.SUBJECT) + # user can click this header and sort + col.set_sort_column_id(Column.SUBJECT) + col.set_resizable(True) + self._ui.search_results_listview.append_column(col) + + renderer_text = Gtk.CellRendererText() # holds nickname + col = Gtk.TreeViewColumn(_('Nickname'), renderer_text, text=Column.NICKNAME) + # user can click this header and sort + col.set_sort_column_id(Column.NICKNAME) + col.set_resizable(True) + self._ui.search_results_listview.append_column(col) + + def on_history_manager_window_delete_event(self, widget, event): + if not self.AT_LEAST_ONE_DELETION_DONE: + if is_standalone(): + Gtk.main_quit() + return + + def _on_yes(): + self.cur.execute('VACUUM') + self.con.commit() + if is_standalone(): + Gtk.main_quit() + + def _on_no(): + if is_standalone(): + Gtk.main_quit() + + ConfirmationDialog( + _('Database Cleanup'), + _('Clean up the database?'), + _('This is STRONGLY NOT RECOMMENDED IF GAJIM IS RUNNING.\n' + 'Normally, the allocated database size will not be freed, it ' + 'will just become reusable. This operation may take a while.'), + [DialogButton.make('Cancel', + callback=_on_no), + DialogButton.make('Remove', + text=_('_Cleanup'), + callback=_on_yes)]).show() + + def _fill_jids_listview(self): + # get those jids that have at least one entry in logs + self.cur.execute('SELECT jid, jid_id FROM jids WHERE jid_id IN (' + 'SELECT distinct logs.jid_id FROM logs) ORDER BY jid') + # list of tuples: [('aaa@bbb',), ('cc@dd',)] + rows = self.cur.fetchall() + for row in rows: + self.jids_already_in.append(row[0]) # jid + self.jids_liststore.append([row[0], str(row[1])]) # jid, jid_id + + def on_jids_listview_selection_changed(self, widget, data=None): + liststore, list_of_paths = self._ui.jids_listview.get_selection()\ + .get_selected_rows() + + self.logs_liststore.clear() + if not list_of_paths: + return + + self._ui.welcome_box.hide() + self._ui.search_results_scrolledwindow.hide() + self._ui.logs_scrolledwindow.show() + + list_of_rowrefs = [] + for path in list_of_paths: # make them treerowrefs (it's needed) + list_of_rowrefs.append(Gtk.TreeRowReference.new(liststore, path)) + + for rowref in list_of_rowrefs: # FILL THE STORE, for all rows selected + path = rowref.get_path() + if path is None: + continue + jid = liststore[path][0] # jid + self._fill_logs_listview(jid) + + def _get_jid_id(self, jid): + """ + jids table has jid and jid_id + logs table has log_id, jid_id, contact_name, time, kind, show, message + + So to ask logs we need jid_id that matches our jid in jids table this + method wants jid and returns the jid_id for later sql-ing on logs + """ + if jid.find('/') != -1: # if it has a / + jid_is_from_pm = self._jid_is_from_pm(jid) + if not jid_is_from_pm: # it's normal jid with resource + jid = jid.split('/', 1)[0] # remove the resource + self.cur.execute('SELECT jid_id FROM jids WHERE jid = ?', (jid,)) + jid_id = self.cur.fetchone()[0] + return str(jid_id) + + def _get_jid_from_jid_id(self, jid_id): + """ + jids table has jid and jid_id + + This method accepts jid_id and returns the jid for later sql-ing on logs + """ + self.cur.execute('SELECT jid FROM jids WHERE jid_id = ?', (jid_id,)) + jid = self.cur.fetchone()[0] + return jid + + def _jid_is_from_pm(self, jid): + """ + If jid is gajim@conf/nkour it's likely a pm one, how we know gajim@conf + is not a normal guy and nkour is not his resource? We ask if gajim@conf + is already in jids (with type room jid). This fails if user disables + logging for room and only enables for pm (so highly unlikely) and if we + fail we do not go chaos (user will see the first pm as if it was message + in room's public chat) and after that everything is ok + """ + possible_room_jid = jid.split('/', 1)[0] + + self.cur.execute('SELECT jid_id FROM jids WHERE jid = ? AND type = ?', + (possible_room_jid, JIDConstant.ROOM_TYPE)) + row = self.cur.fetchone() + if row is None: + return False + return True + + def _jid_is_room_type(self, jid): + """ + Return True/False if given id is room type or not eg. if it is room + """ + self.cur.execute('SELECT type FROM jids WHERE jid = ?', (jid,)) + row = self.cur.fetchone() + return row[0] == JIDConstant.ROOM_TYPE + + def _fill_logs_listview(self, jid): + """ + Fill the listview with all messages that user sent to or received from + JID + """ + # no need to lower jid in this context as jid is already lowered + # as we use those jids from db + jid_id = self._get_jid_id(jid) + self.cur.execute(''' + SELECT log_line_id, jid_id, time, kind, message, subject, contact_name, show + FROM logs + WHERE jid_id = ? + ORDER BY time + ''', (jid_id,)) + + results = self.cur.fetchall() + + if self._jid_is_room_type(jid): # is it room? + self.nickname_col_for_logs.set_visible(True) + self.subject_col_for_logs.set_visible(False) + else: + self.nickname_col_for_logs.set_visible(False) + self.subject_col_for_logs.set_visible(True) + + format_ = helpers.from_one_line(app.settings.get('time_stamp')) + for row in results: + # exposed in UI (TreeViewColumns) are only + # time, message, subject, nickname + # but store in liststore + # log_line_id, jid_id, time, message, subject, nickname + log_line_id, jid_id, time_, kind, message, subject, nickname, \ + show = row + try: + time_ = time.strftime(format_, time.localtime(float(time_))) + except ValueError: + pass + else: + color = None + if kind in (KindConstant.SINGLE_MSG_RECV, + KindConstant.CHAT_MSG_RECV, + KindConstant.GC_MSG): + color = app.css_config.get_value( + '.gajim-incoming-nickname', StyleAttr.COLOR) + elif kind in (KindConstant.SINGLE_MSG_SENT, + KindConstant.CHAT_MSG_SENT): + color = app.css_config.get_value( + '.gajim-outgoing-nickname', StyleAttr.COLOR) + elif kind in (KindConstant.STATUS, + KindConstant.GCSTATUS): + color = app.css_config.get_value( + '.gajim-status-message', StyleAttr.COLOR) + # include status into (status) message + if message is None: + message = '' + else: + message = ' : ' + message + + message = helpers.get_uf_show(ShowConstant(show)) + message + + message_ = '%s?', + 'Do you want to permanently delete these conversations?', + paths_len, liststore[list_of_paths[0]][0]), + [DialogButton.make('Cancel'), + DialogButton.make('Delete', + callback=on_ok)], + transient_for=self._ui.history_manager_window).show() + + def _delete_logs(self, liststore, list_of_paths): + paths_len = len(list_of_paths) + if paths_len == 0: # nothing is selected + return + + def on_ok(): + # delete rows from db that match log_line_id + list_of_rowrefs = [] + for path in list_of_paths: # make them treerowrefs (it's needed) + list_of_rowrefs.append(Gtk.TreeRowReference.new(liststore, path)) + + for rowref in list_of_rowrefs: + path = rowref.get_path() + if path is None: + continue + log_line_id = liststore[path][0] + del liststore[path] # remove from UI + # remove from db + self.cur.execute(''' + DELETE FROM logs + WHERE log_line_id = ? + ''', (log_line_id,)) + + self.con.commit() + + self.AT_LEAST_ONE_DELETION_DONE = True + + ConfirmationDialog( + _('Delete'), + ngettext('Delete Message', 'Delete Messages', paths_len), + ngettext('Do you want to permanently delete this message?', + 'Do you want to permanently delete these messages?', + paths_len), + [DialogButton.make('Cancel'), + DialogButton.make('Delete', + callback=on_ok)], + transient_for=self._ui.history_manager_window).show() + + def on_search_db_button_clicked(self, widget): + text = self._ui.search_entry.get_text() + if not text: + return + + self._ui.welcome_box.hide() + self._ui.logs_scrolledwindow.hide() + self._ui.search_results_scrolledwindow.show() + + self._fill_search_results_listview(text) + + def on_search_results_listview_row_activated(self, widget, path, column): + # get log_line_id, jid_id from row we double clicked + log_line_id = str(self.search_results_liststore[path][0]) + jid = self.search_results_liststore[path][1] + # make it string as in gtk liststores I have them all as strings + # as this is what db returns so I don't have to fight with types + jid_id = self._get_jid_id(jid) + + iter_ = self.jids_liststore.get_iter_first() + while iter_: + # self.jids_liststore[iter_][1] holds jid_ids + if self.jids_liststore[iter_][1] == jid_id: + break + iter_ = self.jids_liststore.iter_next(iter_) + + if iter_ is None: + return + + path = self.jids_liststore.get_path(iter_) + self._ui.jids_listview.set_cursor(path) + + iter_ = self.logs_liststore.get_iter_first() + while iter_: + # self.logs_liststore[iter_][0] holds log_line_ids + if self.logs_liststore[iter_][0] == log_line_id: + break + iter_ = self.logs_liststore.iter_next(iter_) + + path = self.logs_liststore.get_path(iter_) + self._ui.logs_listview.scroll_to_cell(path) + self._ui.logs_listview.get_selection().select_path(path) + + +def main(): + if sys.platform != 'win32': + if os.geteuid() == 0: + sys.exit("You must not launch gajim as root, it is insecure.") + + HistoryManager() + Gtk.main() + + +if __name__ == '__main__': + main() diff --git a/gajim/message_window.py b/gajim/message_window.py new file mode 100644 index 0000000..d107317 --- /dev/null +++ b/gajim/message_window.py @@ -0,0 +1,1276 @@ +# Copyright (C) 2003-2014 Yann Leboulanger +# Copyright (C) 2005-2008 Travis Shirk +# Nikos Kouremenos +# Copyright (C) 2006 Geobert Quach +# Dimitur Kirov +# Copyright (C) 2006-2008 Jean-Marie Traissard +# Copyright (C) 2007 Julien Pivotto +# Stephan Erb +# Copyright (C) 2008 Brendan Taylor +# Jonathan Schleifer +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import logging + +from gi.repository import Gtk +from gi.repository import Gdk +from gi.repository import GObject +from gi.repository import GLib +from gi.repository import Gio + +from gajim.common import app +from gajim.common import ged +from gajim.common.i18n import Q_ +from gajim.common.i18n import _ +from gajim.common.nec import EventHelper + +from gajim import gtkgui_helpers +from gajim.chat_control_base import ChatControlBase +from gajim.chat_control import ChatControl + +from gajim.gui.dialogs import DialogButton +from gajim.gui.dialogs import ConfirmationCheckDialog +from gajim.gui.util import get_icon_name +from gajim.gui.util import resize_window +from gajim.gui.util import move_window +from gajim.gui.util import get_app_icon_list +from gajim.gui.util import get_builder +from gajim.gui.util import set_urgency_hint +from gajim.gui.util import get_app_window +from gajim.gui.const import ControlType + + +log = logging.getLogger('gajim.message_window') + + +WINDOW_TYPES = ['never', + 'always', + 'always_with_roster', + 'peracct', + 'pertype'] + + +class MessageWindow(EventHelper): + """ + Class for windows which contain message like things; chats, groupchats, etc + """ + + # DND_TARGETS is the targets needed by drag_source_set and drag_dest_set + DND_TARGETS = [('GAJIM_TAB', 0, 81)] + hid = 0 # drag_data_received handler id + ( + CLOSE_TAB_MIDDLE_CLICK, + CLOSE_ESC, + CLOSE_CLOSE_BUTTON, + CLOSE_COMMAND, + CLOSE_CTRL_KEY + ) = range(5) + + def __init__(self, acct, type_, parent_window=None, parent_paned=None): + EventHelper.__init__(self) + # A dictionary of dictionaries + # where _contacts[account][jid] == A MessageControl + self._controls = {} + + # If None, the window is not tied to any specific account + self.account = acct + # If None, the window is not tied to any specific type + self.type_ = type_ + # dict { handler id: widget}. Keeps callbacks, which + # lead to circular references + self.handlers = {} + # Don't show warning dialogs when we want to delete the window + self.dont_warn_on_delete = False + + self.widget_name = 'message_window' + self.xml = get_builder('%s.ui' % self.widget_name) + self.window = self.xml.get_object(self.widget_name) + self.window.set_application(app.app) + self.notebook = self.xml.get_object('notebook') + self.parent_paned = None + + if parent_window: + orig_window = self.window + self.window = parent_window + self.parent_paned = parent_paned + old_parent = self.notebook.get_parent() + old_parent.remove(self.notebook) + if app.settings.get('roster_on_the_right'): + child1 = self.parent_paned.get_child1() + self.parent_paned.remove(child1) + self.parent_paned.pack1(self.notebook, resize=False) + self.parent_paned.pack2(child1) + else: + self.parent_paned.pack2(self.notebook) + self.window.lookup_action('show-roster').set_enabled(True) + orig_window.destroy() + del orig_window + + # NOTE: we use 'connect_after' here because in + # MessageWindowMgr._new_window we register handler that saves window + # state when closing it, and it should be called before + # MessageWindow._on_window_delete, which manually destroys window + # through win.destroy() - this means no additional handlers for + # 'delete-event' are called. + id_ = self.window.connect_after('delete-event', self._on_window_delete) + self.handlers[id_] = self.window + id_ = self.window.connect('destroy', self._on_window_destroy) + self.handlers[id_] = self.window + id_ = self.window.connect('focus-in-event', self._on_window_focus) + self.handlers[id_] = self.window + + self._add_actions() + + # gtk+ doesn't make use of the motion notify on gtkwindow by default + # so this line adds that + self.window.add_events(Gdk.EventMask.POINTER_MOTION_MASK) + + id_ = self.notebook.connect('switch-page', + self._on_notebook_switch_page) + self.handlers[id_] = self.notebook + + # Tab customizations + pref_pos = app.settings.get('tabs_position') + if pref_pos == 'bottom': + nb_pos = Gtk.PositionType.BOTTOM + elif pref_pos == 'left': + nb_pos = Gtk.PositionType.LEFT + elif pref_pos == 'right': + nb_pos = Gtk.PositionType.RIGHT + else: + nb_pos = Gtk.PositionType.TOP + self.notebook.set_tab_pos(nb_pos) + window_mode = app.interface.msg_win_mgr.mode + if app.settings.get('tabs_always_visible') or \ + window_mode == MessageWindowMgr.ONE_MSG_WINDOW_ALWAYS_WITH_ROSTER: + self.notebook.set_show_tabs(True) + else: + self.notebook.set_show_tabs(False) + self.notebook.set_show_border(app.settings.get('tabs_border')) + self.show_icon() + + self.register_events([ + ('muc-disco-update', ged.GUI1, self._on_muc_disco_update), + ]) + + def _add_actions(self): + actions = [ + 'change-nickname', + 'change-subject', + 'escape', + 'browse-history', + 'send-file', + 'show-contact-info', + 'show-emoji-chooser', + 'clear-chat', + 'delete-line', + 'close-tab', + 'move-tab-up', + 'move-tab-down', + 'switch-next-tab', + 'switch-prev-tab', + 'switch-next-unread-tab-right' + 'switch-next-unread-tab-left', + 'switch-tab-1', + 'switch-tab-2', + 'switch-tab-3', + 'switch-tab-4', + 'switch-tab-5', + 'switch-tab-6', + 'switch-tab-7', + 'switch-tab-8', + 'switch-tab-9', + ] + + disabled_for_emacs = ( + 'browse-history', + 'send-file', + 'close-tab' + ) + + key_theme = Gtk.Settings.get_default().get_property( + 'gtk-key-theme-name') + + for action in actions: + if key_theme == 'Emacs' and action in disabled_for_emacs: + continue + act = Gio.SimpleAction.new(action, None) + act.connect('activate', self._on_action) + self.window.add_action(act) + + def _on_action(self, action, _param): + control = self.get_active_control() + if not control: + # No more control in this window + return + + log.info('Activate action: %s, active control: %s', + action.get_name(), control.contact.jid) + + action = action.get_name() + + # Pass the event to the control + res = control.delegate_action(action) + if res != Gdk.EVENT_PROPAGATE: + return res + + if action == 'escape' and app.settings.get('escape_key_closes'): + self.remove_tab(control, self.CLOSE_ESC) + return + + if action == 'close-tab': + self.remove_tab(control, self.CLOSE_CTRL_KEY) + return + + if action == 'move-tab-up': + old_position = self.notebook.get_current_page() + self.notebook.reorder_child(control.widget, + old_position - 1) + return + + if action == 'move-tab-down': + old_position = self.notebook.get_current_page() + total_pages = self.notebook.get_n_pages() + if old_position == total_pages - 1: + self.notebook.reorder_child(control.widget, 0) + else: + self.notebook.reorder_child(control.widget, + old_position + 1) + return + + if action == 'switch-next-tab': + new = self.notebook.get_current_page() + 1 + if new >= self.notebook.get_n_pages(): + new = 0 + self.notebook.set_current_page(new) + return + + if action == 'switch-prev-tab': + new = self.notebook.get_current_page() - 1 + if new < 0: + new = self.notebook.get_n_pages() - 1 + self.notebook.set_current_page(new) + return + + if action == 'switch-next-unread-tab-right': + self.move_to_next_unread_tab(True) + return + + if action == 'switch-next-unread-tab-left': + self.move_to_next_unread_tab(False) + return + + if action.startswith('switch-tab-'): + number = int(action[-1]) + self.notebook.set_current_page(number - 1) + return + + def change_jid(self, account, old_jid, new_jid): + """ + Called when the full jid of the control is changed + """ + if account not in self._controls: + return + if old_jid not in self._controls[account]: + return + if old_jid == new_jid: + return + self._controls[account][new_jid] = self._controls[account][old_jid] + del self._controls[account][old_jid] + + def get_num_controls(self): + return sum(len(d) for d in self._controls.values()) + + def resize(self, width, height): + resize_window(self.window, width, height) + + def _on_muc_disco_update(self, event): + # If there is only one control in a window, + # the name is shown in the window title + if self.get_num_controls() != 1: + return + ctrl = self.get_active_control() + if ctrl.contact.jid != event.room_jid: + return + self.show_title() + + def _on_window_focus(self, widget, event): + # on destroy() the window that was last focused gets the focus + # again. if destroy() is called from the StartChat Dialog, this + # Window is not yet focused, because present() seems to be asynchronous + # at least on KDE, and takes time. + start_chat = get_app_window('StartChatDialog') + if start_chat is not None and start_chat.ready_to_destroy: + start_chat.destroy() + + # window received focus, so if we had urgency REMOVE IT + # NOTE: we do not have to read the message (it maybe in a bg tab) + # to remove urgency hint so this functions does that + set_urgency_hint(self.window, False) + + ctrl = self.get_active_control() + if ctrl: + ctrl.set_control_active(True) + # Undo "unread" state display, etc. + if ctrl.is_groupchat: + self.redraw_tab(ctrl, 'active') + else: + # NOTE: we do not send any chatstate to preserve + # inactive, gone, etc. + self.redraw_tab(ctrl) + + def _on_window_delete(self, win, event): + if self.dont_warn_on_delete: + # Destroy the window + return False + + # Number of controls that will be closed and for which we'll loose data: + # chat, pm, gc that won't go in roster + number_of_closed_control = 0 + for ctrl in self.controls(): + if not ctrl.safe_shutdown(): + number_of_closed_control += 1 + + if number_of_closed_control > 1: + def _on_yes1(checked): + if checked: + app.settings.set('confirm_close_multiple_tabs', False) + self.dont_warn_on_delete = True + for ctrl in self.controls(): + if ctrl.minimizable(): + ctrl.minimize() + win.destroy() + + if not app.settings.get('confirm_close_multiple_tabs'): + for ctrl in self.controls(): + if ctrl.minimizable(): + ctrl.minimize() + # destroy window + return False + + ConfirmationCheckDialog( + _('Close Tabs'), + _('You are about to close several tabs'), + _('Do you really want to close all of them?'), + _('_Do not ask me again'), + [DialogButton.make('Cancel'), + DialogButton.make('Accept', + text=_('_Close'), + callback=_on_yes1)], + transient_for=self.window).show() + return True + + def on_yes(ctrl): + if self.on_delete_ok == 1: + self.dont_warn_on_delete = True + win.destroy() + self.on_delete_ok -= 1 + + def on_no(ctrl): + return + + def on_minimize(ctrl): + ctrl.minimize() + if self.on_delete_ok == 1: + self.dont_warn_on_delete = True + win.destroy() + self.on_delete_ok -= 1 + + # Make sure all controls are okay with being deleted + self.on_delete_ok = self.get_nb_controls() + for ctrl in self.controls(): + ctrl.allow_shutdown(self.CLOSE_CLOSE_BUTTON, on_yes, on_no, + on_minimize) + return True # halt the delete for the moment + + def _on_window_destroy(self, win): + for ctrl in self.remove_all_controls(): + ctrl.shutdown() + self._controls.clear() + # Clean up handlers connected to the parent window, this is important since + # self.window may be the RosterWindow + for i in list(self.handlers.keys()): + if self.handlers[i].handler_is_connected(i): + self.handlers[i].disconnect(i) + del self.handlers[i] + del self.handlers + + self.unregister_events() + + def new_tab(self, control): + fjid = control.get_full_jid() + + if control.account not in self._controls: + self._controls[control.account] = {} + + self._controls[control.account][fjid] = control + + if self.get_num_controls() == 2: + first_widget = self.notebook.get_nth_page(0) + ctrl = self._widget_to_control(first_widget) + self.notebook.set_show_tabs(True) + ctrl.scroll_to_end() + + # Add notebook page and connect up to the tab's close button + xml = get_builder('message_window.ui', ['chat_tab_ebox']) + tab_label_box = xml.get_object('chat_tab_ebox') + widget = xml.get_object('tab_close_button') + # this reduces the size of the button +# style = Gtk.RcStyle() +# style.xthickness = 0 +# style.ythickness = 0 +# widget.modify_style(style) + + id_ = widget.connect('clicked', self._on_close_button_clicked, control) + control.handlers[id_] = widget + + id_ = tab_label_box.connect('button-press-event', + self.on_tab_eventbox_button_press_event, control.widget) + control.handlers[id_] = tab_label_box + position = self.notebook.get_current_page() + 1 + self.notebook.insert_page(control.widget, tab_label_box, position) + + self.notebook.set_tab_reorderable(control.widget, True) + + self.redraw_tab(control) + if self.parent_paned: + self.notebook.show_all() + else: + self.window.show_all() + + # NOTE: we do not call set_control_active(True) since we don't know + # whether the tab is the active one. + self.show_title() + if self.get_num_controls() == 1: + GLib.timeout_add(500, control.focus) + + def on_tab_eventbox_button_press_event(self, widget, event, child): + if event.button == 3: # right click + n = self.notebook.page_num(child) + self.notebook.set_current_page(n) + self.popup_menu(event) + elif event.button == 2: # middle click + ctrl = self._widget_to_control(child) + self.remove_tab(ctrl, self.CLOSE_TAB_MIDDLE_CLICK) + else: + ctrl = self._widget_to_control(child) + GLib.idle_add(ctrl.focus) + + def _on_close_button_clicked(self, button, control): + """ + When close button is pressed: close a tab + """ + self.remove_tab(control, self.CLOSE_CLOSE_BUTTON) + + def show_icon(self): + window_mode = app.interface.msg_win_mgr.mode + if window_mode in (MessageWindowMgr.ONE_MSG_WINDOW_PERTYPE, + MessageWindowMgr.ONE_MSG_WINDOW_NEVER): + if self.type_ == 'gc': + icon = get_icon_name('muc-active') + self.window.set_icon_name(icon) + + def show_title(self, urgent=True, control=None): + """ + Redraw the window's title + """ + if not control: + control = self.get_active_control() + if not control: + # No more control in this window + return + unread = 0 + for ctrl in self.controls(): + if (ctrl.is_groupchat and + not ctrl.contact.can_notify() and + not ctrl.attention_flag): + # count only pm messages + unread += ctrl.get_nb_unread_pm() + continue + unread += ctrl.get_nb_unread() + + unread_str = '' + if unread > 1: + unread_str = '[' + str(unread) + '] ' + elif unread == 1: + unread_str = '* ' + else: + urgent = False + + if control.is_groupchat: + name = control.contact.get_shown_name() + urgent = (control.attention_flag or + control.contact.can_notify()) + else: + name = control.contact.get_shown_name() + if control.resource: + name += '/' + control.resource + + window_mode = app.interface.msg_win_mgr.mode + if window_mode == MessageWindowMgr.ONE_MSG_WINDOW_PERTYPE: + # Show the plural form since number of tabs > 1 + if self.type_ == 'chat': + label = Q_('?Noun:Chats') + if self.get_num_controls() == 1: + label = name + elif self.type_ == 'gc': + label = _('Group Chats') + if self.get_num_controls() == 1: + label = name + else: + label = _('Private Chats') + elif window_mode == MessageWindowMgr.ONE_MSG_WINDOW_ALWAYS_WITH_ROSTER: + label = None + elif self.get_num_controls() == 1: + label = name + else: + label = _('Messages') + + title = 'Gajim' + if label: + title = '%s - %s' % (label, title) + + if window_mode == MessageWindowMgr.ONE_MSG_WINDOW_PERACCT: + title = title + ": " + control.account + + self.window.set_title(unread_str + title) + set_urgency_hint(self.window, urgent and unread > 0) + + def set_active_tab(self, ctrl): + ctrl_page = self.notebook.page_num(ctrl.widget) + self.notebook.set_current_page(ctrl_page) + self.window.present() + GLib.idle_add(ctrl.focus) + + def remove_tab(self, ctrl, method, reason=None, force=False): + """ + Reason is only for gc (offline status message) if force is True, do not + ask any confirmation + """ + def close(ctrl): + # Update external state + app.events.remove_events( + ctrl.account, ctrl.get_full_jid, + types=['printed_msg', 'chat', 'gc_msg']) + + fjid = ctrl.get_full_jid() + jid = app.get_jid_without_resource(fjid) + + fctrl = self.get_control(fjid, ctrl.account) + bctrl = self.get_control(jid, ctrl.account) + + # keep last_message_time around unless this was our last control with + # that jid + if not fctrl and not bctrl and \ + fjid in app.last_message_time[ctrl.account]: + del app.last_message_time[ctrl.account][fjid] + + self.notebook.remove_page(self.notebook.page_num(ctrl.widget)) + + del self._controls[ctrl.account][fjid] + + if not self._controls[ctrl.account]: + del self._controls[ctrl.account] + + if reason is not None: # We are leaving gc with a status message + ctrl.shutdown(reason) + else: # We are leaving gc without status message or it's a chat + ctrl.shutdown() + + self.check_tabs() + self.show_title() + + def on_yes(ctrl): + close(ctrl) + + def on_no(ctrl): + return + + def on_minimize(ctrl): + if method != self.CLOSE_COMMAND: + ctrl.minimize() + self.check_tabs() + return + close(ctrl) + + # Shutdown the MessageControl + if force: + close(ctrl) + else: + ctrl.allow_shutdown(method, on_yes, on_no, on_minimize) + + def check_tabs(self): + if self.parent_paned: + # Do nothing in single window mode + pass + elif self.get_num_controls() == 0: + # These are not called when the window is destroyed like this, fake it + app.interface.msg_win_mgr._on_window_delete(self.window, None) + app.interface.msg_win_mgr._on_window_destroy(self.window) + # dnd clean up + self.notebook.drag_dest_unset() + if self.parent_paned: + # Don't close parent window, just remove the child + child = self.parent_paned.get_child2() + self.parent_paned.remove(child) + self.window.lookup_action('show-roster').set_enabled(False) + else: + self.window.destroy() + return # don't show_title, we are dead + elif self.get_num_controls() == 1: # we are going from two tabs to one + window_mode = app.interface.msg_win_mgr.mode + show_tabs_if_one_tab = app.settings.get('tabs_always_visible') or \ + window_mode == MessageWindowMgr.ONE_MSG_WINDOW_ALWAYS_WITH_ROSTER + self.notebook.set_show_tabs(show_tabs_if_one_tab) + + def redraw_tab(self, ctrl, chatstate=None): + tab = self.notebook.get_tab_label(ctrl.widget) + if not tab: + return + + hbox = tab.get_children()[0] + status_img = hbox.get_children()[0] + nick_label = hbox.get_children()[1] + + # Optionally hide close button + close_button = hbox.get_children()[2] + if app.settings.get('tabs_close_button'): + close_button.show() + else: + close_button.hide() + + # Update nick + if isinstance(ctrl, ChatControl): + tab_label_str = ctrl.get_tab_label() + # Set Label Color + if app.settings.get('show_chatstate_in_tabs'): + gtkgui_helpers.add_css_class( + nick_label, chatstate, 'gajim-state-') + else: + tab_label_str, color = ctrl.get_tab_label(chatstate) + # Set Label Color + if color == 'active': + gtkgui_helpers.add_css_class(nick_label, None, 'gajim-state-') + elif color is not None: + gtkgui_helpers.add_css_class(nick_label, color, 'gajim-state-') + + nick_label.set_markup(tab_label_str) + + tab_img = ctrl.get_tab_image() + if tab_img: + if isinstance(tab_img, Gtk.Image): + if tab_img.get_storage_type() == Gtk.ImageType.ANIMATION: + status_img.set_from_animation(tab_img.get_animation()) + else: + status_img.set_from_pixbuf(tab_img.get_pixbuf()) + elif isinstance(tab_img, str): + status_img.set_from_icon_name(tab_img, Gtk.IconSize.MENU) + else: + status_img.set_from_surface(tab_img) + + self.show_icon() + + def repaint_themed_widgets(self): + """ + Repaint controls in the window with theme color + """ + # iterate through controls and repaint + for ctrl in self.controls(): + ctrl.repaint_themed_widgets() + + def _widget_to_control(self, widget): + for ctrl in self.controls(): + if ctrl.widget == widget: + return ctrl + return None + + def get_active_control(self): + notebook = self.notebook + active_widget = notebook.get_nth_page(notebook.get_current_page()) + return self._widget_to_control(active_widget) + + def get_active_contact(self): + ctrl = self.get_active_control() + if ctrl: + return ctrl.contact + return None + + def get_active_jid(self): + contact = self.get_active_contact() + if contact: + return contact.jid + return None + + def is_active(self): + return self.window.is_active() + + def get_origin(self): + return self.window.get_window().get_origin() + + def get_control(self, jid, acct): + """ + Return the MessageControl for jid + """ + try: + return self._controls[acct][jid] + except Exception: + return None + + def has_control(self, jid, acct): + return acct in self._controls and jid in self._controls[acct] + + def change_key(self, old_jid, new_jid, acct): + """ + Change the JID key of a control + """ + try: + # Check if controls exists + ctrl = self._controls[acct][old_jid] + except KeyError: + return + + if new_jid in self._controls[acct]: + self.remove_tab(self._controls[acct][new_jid], + self.CLOSE_CLOSE_BUTTON, force=True) + + self._controls[acct][new_jid] = ctrl + del self._controls[acct][old_jid] + + if old_jid in app.last_message_time[acct]: + app.last_message_time[acct][new_jid] = \ + app.last_message_time[acct][old_jid] + del app.last_message_time[acct][old_jid] + + def controls(self): + for jid_dict in list(self._controls.values()): + for ctrl in list(jid_dict.values()): + yield ctrl + + def remove_all_controls(self): + for _account, control_dict in self._controls.items(): + for contact in list(control_dict.keys()): + yield control_dict[contact] + del control_dict[contact] + + def get_nb_controls(self): + return sum(len(jid_dict) for jid_dict in self._controls.values()) + + def move_to_next_unread_tab(self, forward): + ind = self.notebook.get_current_page() + current = ind + found = False + first_composing_ind = -1 # id of first composing ctrl to switch to + # if no others controls have awaiting events + # loop until finding an unread tab or having done a complete cycle + while True: + if forward is True: # look for the first unread tab on the right + ind = ind + 1 + if ind >= self.notebook.get_n_pages(): + ind = 0 + else: # look for the first unread tab on the right + ind = ind - 1 + if ind < 0: + ind = self.notebook.get_n_pages() - 1 + + nth_child = self.notebook.get_nth_page(ind) + ctrl = self._widget_to_control(nth_child) + if ctrl.get_nb_unread() > 0: + found = True + break # found + if app.settings.get('ctrl_tab_go_to_next_composing'): + # Search for a composing contact + contact = ctrl.contact + if first_composing_ind == -1 and contact.chatstate == 'composing': + # If no composing contact found yet, check if this one is composing + first_composing_ind = ind + if ind == current: + break # a complete cycle without finding an unread tab + if found: + self.notebook.set_current_page(ind) + elif first_composing_ind != -1: + self.notebook.set_current_page(first_composing_ind) + else: # not found and nobody composing + if forward: # CTRL + TAB + if current < (self.notebook.get_n_pages() - 1): + self.notebook.next_page() + else: # traverse for ever (eg. don't stop at last tab) + self.notebook.set_current_page(0) + else: # CTRL + SHIFT + TAB + if current > 0: + self.notebook.prev_page() + else: # traverse for ever (eg. don't stop at first tab) + self.notebook.set_current_page( + self.notebook.get_n_pages() - 1) + + def popup_menu(self, event): + menu = self.get_active_control().prepare_context_menu() + if menu is None: + return + # show the menu + menu.attach_to_widget(app.interface.roster.window, None) + menu.show_all() + menu.popup(None, None, None, None, event.button, event.time) + + def _on_notebook_switch_page(self, notebook, page, page_num): + old_no = notebook.get_current_page() + if old_no >= 0: + old_ctrl = self._widget_to_control(notebook.get_nth_page(old_no)) + old_ctrl.set_control_active(False) + + new_ctrl = self._widget_to_control(notebook.get_nth_page(page_num)) + new_ctrl.set_control_active(True) + self.show_title(control=new_ctrl) + + control = self.get_active_control() + if isinstance(control, ChatControlBase): + control.focus() + + def get_tab_at_xy(self, x, y): + """ + Return the tab under xy and if its nearer from left or right side of the + tab + """ + page_num = -1 + to_right = False + horiz = self.notebook.get_tab_pos() == Gtk.PositionType.TOP or \ + self.notebook.get_tab_pos() == Gtk.PositionType.BOTTOM + for i in range(self.notebook.get_n_pages()): + page = self.notebook.get_nth_page(i) + tab = self.notebook.get_tab_label(page) + tab_alloc = tab.get_allocation() + if horiz: + if tab_alloc.x <= x <= (tab_alloc.x + tab_alloc.width): + page_num = i + if x >= tab_alloc.x + (tab_alloc.width / 2.0): + to_right = True + break + else: + if tab_alloc.y <= y <= (tab_alloc.y + tab_alloc.height): + page_num = i + + if y > tab_alloc.y + (tab_alloc.height / 2.0): + to_right = True + break + return (page_num, to_right) + + def find_page_num_according_to_tab_label(self, tab_label): + """ + Find the page num of the tab label + """ + page_num = -1 + for i in range(self.notebook.get_n_pages()): + page = self.notebook.get_nth_page(i) + tab = self.notebook.get_tab_label(page) + if tab == tab_label: + page_num = i + break + return page_num + +################################################################################ +class MessageWindowMgr(GObject.GObject): + """ + A manager and factory for MessageWindow objects + """ + + __gsignals__ = { + 'window-delete': (GObject.SignalFlags.RUN_LAST, None, (object,)), + } + + # These constants map to WINDOW_TYPES indices + ( + ONE_MSG_WINDOW_NEVER, + ONE_MSG_WINDOW_ALWAYS, + ONE_MSG_WINDOW_ALWAYS_WITH_ROSTER, + ONE_MSG_WINDOW_PERACCT, + ONE_MSG_WINDOW_PERTYPE, + ) = range(5) + + # A key constant for the main window in ONE_MSG_WINDOW_ALWAYS mode + MAIN_WIN = 'main' + # A key constant for the main window in ONE_MSG_WINDOW_ALWAYS_WITH_ROSTER mode + ROSTER_MAIN_WIN = 'roster' + + def __init__(self, parent_window, parent_paned): + """ + A dictionary of windows; the key depends on the config: + ONE_MSG_WINDOW_NEVER: The key is the contact JID + ONE_MSG_WINDOW_ALWAYS: The key is MessageWindowMgr.MAIN_WIN + ONE_MSG_WINDOW_ALWAYS_WITH_ROSTER: The key is MessageWindowMgr.MAIN_WIN + ONE_MSG_WINDOW_PERACCT: The key is the account name + ONE_MSG_WINDOW_PERTYPE: The key is a message type constant + """ + GObject.GObject.__init__(self) + self._windows = {} + + # Map the mode to a int constant for frequent compares + mode = app.settings.get('one_message_window') + self.mode = WINDOW_TYPES.index(mode) + + self.parent_win = parent_window + self.parent_paned = parent_paned + + Gtk.Window.set_default_icon_list(get_app_icon_list(parent_window)) + + def _new_window(self, acct, type_): + parent_win = None + parent_paned = None + if self.mode == self.ONE_MSG_WINDOW_ALWAYS_WITH_ROSTER: + parent_win = self.parent_win + parent_paned = self.parent_paned + win = MessageWindow(acct, type_, parent_win, parent_paned) + # we track the lifetime of this window + win.window.connect('delete-event', self._on_window_delete) + win.window.connect('destroy', self._on_window_destroy) + return win + + def _gtk_win_to_msg_win(self, gtk_win): + for w in self.windows(): + if w.window == gtk_win: + return w + return None + + def get_window(self, jid, acct): + for win in self.windows(): + if win.has_control(jid, acct): + return win + + return None + + def has_window(self, jid, acct): + return self.get_window(jid, acct) is not None + + def one_window_opened(self, contact=None, acct=None, type_=None): + try: + return \ + self._windows[self._mode_to_key(contact, acct, type_)] is not None + except KeyError: + return False + + def _resize_window(self, win, acct, type_): + """ + Resizes window according to config settings + """ + hpaned = app.settings.get('roster_hpaned_position') + if self.mode in (self.ONE_MSG_WINDOW_ALWAYS, + self.ONE_MSG_WINDOW_ALWAYS_WITH_ROSTER): + size = (app.settings.get('msgwin-width'), + app.settings.get('msgwin-height')) + if self.mode == self.ONE_MSG_WINDOW_ALWAYS_WITH_ROSTER: + # Add the hpaned position to our message window's size + size = (hpaned + size[0], size[1]) + elif self.mode == self.ONE_MSG_WINDOW_PERACCT: + size = (app.settings.get_account_setting(acct, 'msgwin-width'), + app.settings.get_account_setting(acct, 'msgwin-height')) + elif self.mode in (self.ONE_MSG_WINDOW_NEVER, self.ONE_MSG_WINDOW_PERTYPE): + opt_width = type_ + '-msgwin-width' + opt_height = type_ + '-msgwin-height' + size = (app.settings.get(opt_width), app.settings.get(opt_height)) + else: + return + win.resize(size[0], size[1]) + if win.parent_paned: + win.parent_paned.set_position(hpaned) + + def _position_window(self, win, acct, type_): + """ + Moves window according to config settings + """ + if (self.mode in [self.ONE_MSG_WINDOW_NEVER, + self.ONE_MSG_WINDOW_ALWAYS_WITH_ROSTER]): + return + + if self.mode == self.ONE_MSG_WINDOW_ALWAYS: + pos = (app.settings.get('msgwin-x-position'), + app.settings.get('msgwin-y-position')) + elif self.mode == self.ONE_MSG_WINDOW_PERACCT: + pos = (app.settings.get_account_setting(acct, 'msgwin-x-position'), + app.settings.get_account_setting(acct, 'msgwin-y-position')) + elif self.mode == self.ONE_MSG_WINDOW_PERTYPE: + pos = (app.settings.get(type_ + '-msgwin-x-position'), + app.settings.get(type_ + '-msgwin-y-position')) + else: + return + + move_window(win.window, pos[0], pos[1]) + + def _mode_to_key(self, contact, acct, type_, resource=None): + if self.mode == self.ONE_MSG_WINDOW_NEVER: + key = acct + contact.jid + if resource: + key += '/' + resource + return key + + if self.mode == self.ONE_MSG_WINDOW_ALWAYS: + return self.MAIN_WIN + + if self.mode == self.ONE_MSG_WINDOW_ALWAYS_WITH_ROSTER: + return self.ROSTER_MAIN_WIN + + if self.mode == self.ONE_MSG_WINDOW_PERACCT: + return acct + + if self.mode == self.ONE_MSG_WINDOW_PERTYPE: + return type_ + + def create_window(self, contact, acct, type_, resource=None): + type_ = str(type_) + win_acct = None + win_type = None + win_role = None # X11 window role + + win_key = self._mode_to_key(contact, acct, type_, resource) + if self.mode == self.ONE_MSG_WINDOW_PERACCT: + win_acct = acct + win_role = acct + elif self.mode == self.ONE_MSG_WINDOW_PERTYPE: + win_type = type_ + win_role = type_ + elif self.mode == self.ONE_MSG_WINDOW_NEVER: + win_type = type_ + win_role = contact.jid + elif self.mode == self.ONE_MSG_WINDOW_ALWAYS: + win_role = 'messages' + + win = None + try: + win = self._windows[win_key] + except KeyError: + win = self._new_window(win_acct, win_type) + + if win_role: + win.window.set_role(win_role) + + # Position and size window based on saved state and window mode + if not self.one_window_opened(contact, acct, type_): + if app.settings.get('msgwin-max-state'): + win.window.maximize() + else: + self._resize_window(win, acct, type_) + self._position_window(win, acct, type_) + + self._windows[win_key] = win + return win + + def change_key(self, old_jid, new_jid, acct): + win = self.get_window(old_jid, acct) + if self.mode == self.ONE_MSG_WINDOW_NEVER: + old_key = acct + old_jid + if old_jid not in self._windows: + return + new_key = acct + new_jid + self._windows[new_key] = self._windows[old_key] + del self._windows[old_key] + win.change_key(old_jid, new_jid, acct) + + def _on_window_delete(self, win, event): + self.save_state(self._gtk_win_to_msg_win(win)) + app.interface.save_config() + return False + + def _on_window_destroy(self, win): + for k in list(self._windows.keys()): + if self._windows[k].window == win: + self.emit('window-delete', self._windows[k]) + del self._windows[k] + return + + def get_control(self, jid, acct): + """ + Amongst all windows, return the MessageControl for jid + """ + win = self.get_window(jid, acct) + if win: + return win.get_control(jid, acct) + return None + + def search_control(self, jid, account, resource=None): + """ + Search windows with this policy: + 1. try to find already opened tab for resource + 2. find the tab for this jid with ctrl.resource not set + 3. there is none + """ + fjid = jid + if resource: + fjid += '/' + resource + ctrl = self.get_control(fjid, account) + if ctrl: + return ctrl + win = self.get_window(jid, account) + if win: + ctrl = win.get_control(jid, account) + if not ctrl.resource and not ctrl.is_groupchat: + return ctrl + return None + + def get_gc_control(self, jid, acct): + """ + Same as get_control. Was briefly required, is not any more. May be useful + some day in the future? + """ + ctrl = self.get_control(jid, acct) + if ctrl and ctrl.is_groupchat: + return ctrl + return None + + def get_controls(self, type_=None, acct=None): + ctrls = [] + for c in self.controls(): + if acct and c.account != acct: + continue + if not type_ or c.type == type_: + ctrls.append(c) + return ctrls + + def windows(self): + for w in list(self._windows.values()): + yield w + + def controls(self): + for w in self._windows.values(): + for c in w.controls(): + yield c + + def shutdown(self, width_adjust=0): + for w in self.windows(): + self.save_state(w, width_adjust) + if not w.parent_paned: + w.window.hide() + w.window.destroy() + + app.interface.save_config() + + def save_state(self, msg_win, width_adjust=0): + # Save window size and position + max_win_key = 'msgwin-max-state' + pos_x_key = 'msgwin-x-position' + pos_y_key = 'msgwin-y-position' + size_width_key = 'msgwin-width' + size_height_key = 'msgwin-height' + + acct = None + x, y = msg_win.window.get_position() + width, height = msg_win.window.get_size() + + # If any of these values seem bogus don't update. + if x < 0 or y < 0 or width < 0 or height < 0: + return + + if self.mode == self.ONE_MSG_WINDOW_PERACCT: + acct = msg_win.account + elif self.mode == self.ONE_MSG_WINDOW_PERTYPE: + type_ = msg_win.type_ + pos_x_key = type_ + '-msgwin-x-position' + pos_y_key = type_ + '-msgwin-y-position' + size_width_key = type_ + '-msgwin-width' + size_height_key = type_ + '-msgwin-height' + elif self.mode == self.ONE_MSG_WINDOW_NEVER: + type_ = msg_win.type_ + size_width_key = type_ + '-msgwin-width' + size_height_key = type_ + '-msgwin-height' + elif self.mode == self.ONE_MSG_WINDOW_ALWAYS_WITH_ROSTER: + # Ignore hpaned separator's width and calculate width ourselves + win_width = msg_win.window.get_allocation().width + hpaned_position = app.settings.get('roster_hpaned_position') + width = win_width - hpaned_position + + if acct: + app.settings.set_account_setting(acct, size_width_key, width) + app.settings.set_account_setting(acct, size_height_key, height) + + if self.mode != self.ONE_MSG_WINDOW_NEVER: + app.settings.set_account_setting(acct, pos_x_key, x) + app.settings.set_account_setting(acct, pos_y_key, y) + + else: + win_maximized = msg_win.window.get_window().get_state() == \ + Gdk.WindowState.MAXIMIZED + app.settings.set(max_win_key, win_maximized) + width += width_adjust + app.settings.set(size_width_key, width) + app.settings.set(size_height_key, height) + + if self.mode != self.ONE_MSG_WINDOW_NEVER: + app.settings.set(pos_x_key, x) + app.settings.set(pos_y_key, y) + + def reconfig(self): + for w in self.windows(): + self.save_state(w) + + mode = app.settings.get('one_message_window') + if self.mode == WINDOW_TYPES.index(mode): + # No change + return + self.mode = WINDOW_TYPES.index(mode) + + controls = [] + for w in self.windows(): + # Note, we are taking care not to hide/delete the roster window when the + # MessageWindow is embedded. + if not w.parent_paned: + w.window.hide() + else: + # Stash current size so it can be restored if the MessageWindow + # is not longer embedded + roster_width = w.parent_paned.get_position() + app.settings.set('roster_width', roster_width) + + while w.notebook.get_n_pages(): + page = w.notebook.get_nth_page(0) + ctrl = w._widget_to_control(page) + w.notebook.remove_page(0) + page.unparent() + controls.append(ctrl) + + # Must clear _controls to prevent MessageControl.shutdown calls + w._controls = {} + if not w.parent_paned: + w.window.destroy() + else: + # Don't close parent window, just remove the child + child = w.parent_paned.get_child2() + w.parent_paned.remove(child) + self.parent_win.lookup_action('show-roster').set_enabled(False) + resize_window(w.window, + app.settings.get('roster_width'), + app.settings.get('roster_height')) + + self._windows = {} + + for ctrl in controls: + mw = self.get_window(ctrl.contact.jid, ctrl.account) + if not mw: + mw = self.create_window(ctrl.contact, ctrl.account, ctrl.type) + ctrl.parent_win = mw + ctrl.add_actions() + ctrl.update_actions() + mw.new_tab(ctrl) + + def save_opened_controls(self): + if not app.settings.get('remember_opened_chat_controls'): + return + chat_controls = {} + for acct in app.connections: + chat_controls[acct] = [] + for ctrl in self.get_controls(type_=ControlType.CHAT): + acct = ctrl.account + if ctrl.contact.jid not in chat_controls[acct]: + chat_controls[acct].append(ctrl.contact.jid) + for acct in app.connections: + app.settings.set_account_setting(acct, + 'opened_chat_controls', + ','.join(chat_controls[acct])) diff --git a/gajim/plugins/__init__.py b/gajim/plugins/__init__.py new file mode 100644 index 0000000..793a206 --- /dev/null +++ b/gajim/plugins/__init__.py @@ -0,0 +1,27 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +''' +Main file of plugins package. + +:author: Mateusz Biliński +:since: 05/30/2008 +:copyright: Copyright (2008) Mateusz Biliński +:license: GPL +''' + +from gajim.plugins.pluginmanager import PluginManager +from gajim.plugins.gajimplugin import GajimPlugin + +__all__ = ['PluginManager', 'GajimPlugin'] diff --git a/gajim/plugins/gajimplugin.py b/gajim/plugins/gajimplugin.py new file mode 100644 index 0000000..0086277 --- /dev/null +++ b/gajim/plugins/gajimplugin.py @@ -0,0 +1,285 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +''' +Base class for implementing plugin. + +:author: Mateusz Biliński +:since: 1st June 2008 +:copyright: Copyright (2008) Mateusz Biliński +:license: GPL +''' + +from typing import List # pylint: disable=W0611 +from typing import Tuple # pylint: disable=W0611 +from typing import Dict # pylint: disable=W0611 +from typing import Any # pylint: disable=W0611 + +import os +import locale +import logging +import pickle + +from gajim.common import configpaths +from gajim.common.types import PluginExtensionPoints # pylint: disable=W0611 +from gajim.common.types import EventHandlersDict # pylint: disable=W0611 +from gajim.common.types import PluginEvents # pylint: disable=W0611 + +from gajim.plugins.helpers import log +from gajim.plugins.gui import GajimPluginConfigDialog + + +log = logging.getLogger('gajim.p.plugin') + + +class GajimPlugin: + ''' + Base class for implementing Gajim plugins. + ''' + name = '' + ''' + Name of plugin. + + Will be shown in plugins management GUI. + + :type: str + ''' + short_name = '' + ''' + Short name of plugin. + + Used for quick identification of plugin. + + :type: str + + :todo: decide whether we really need this one, because class name (with + module name) can act as such short name + ''' + encryption_name = '' + ''' + Name of the encryption scheme. + + The name that Gajim displays in the encryption menu. + Leave empty if the plugin is not an encryption plugin. + + :type: str + + ''' + version = '' + ''' + Version of plugin. + + :type: str + + :todo: decide how to compare version between each other (which one + is higher). Also rethink: do we really need to compare versions + of plugins between each other? This would be only useful if we detect + same plugin class but with different version and we want only the newest + one to be active - is such policy good? + ''' + description = '' + ''' + Plugin description. + + :type: str + + :todo: should be allow rich text here (like HTML or reStructuredText)? + ''' + authors = [] # type: List[str] + ''' + Plugin authors. + + :type: [] of str + + :todo: should we decide on any particular format of author strings? + Especially: should we force format of giving author's e-mail? + ''' + homepage = '' + ''' + URL to plug-in's homepage. + + :type: str + + :todo: should we check whether provided string is valid URI? (Maybe + using 'property') + ''' + gui_extension_points = {} # type: PluginExtensionPoints + ''' + Extension points that plugin wants to connect with and handlers to be used. + + Keys of this string should be strings with name of GUI extension point + to handles. Values should be 2-element tuples with references to handling + functions. First function will be used to connect plugin with extpoint, + the second one to successfully disconnect from it. Connecting takes places + when plugin is activated and extpoint already exists, or when plugin is + already activated but extpoint is being created (eg. chat window opens). + Disconnecting takes place when plugin is deactivated and extpoint exists + or when extpoint is destroyed and plugin is activate (eg. chat window + closed). + ''' + config_default_values = {} # type: Dict[str, Tuple[Any, str]] + ''' + Default values for keys that should be stored in plug-in config. + + This dict is used when when someone calls for config option but it has not + been set yet. + + Values are tuples: (default_value, option_description). The first one can + be anything (this is the advantage of using shelve/pickle instead of + custom-made config I/O handling); the second one should be str (gettext + can be used if need and/or translation is planned). + + :type: {} of 2-element tuples + ''' + events_handlers = {} # type: EventHandlersDict + ''' + Dictionary with events handlers. + + Keys are event names. Values should be 2-element tuples with handler + priority as first element and reference to handler function as second + element. Priority is integer. See `ged` module for predefined priorities + like `ged.PRECORE`, `ged.CORE` or `ged.POSTCORE`. + + :type: {} with 2-element tuples + ''' + events = [] # type: PluginEvents + ''' + New network event classes to be registered in Network Events Controller. + + :type: [] of `nec.NetworkIncomingEvent` or `nec.NetworkOutgoingEvent` + subclasses. + ''' + + def __init__(self) -> None: + self.config = GajimPluginConfig(self) + ''' + Plug-in configuration dictionary. + + Automatically saved and loaded and plug-in (un)load. + + :type: `plugins.plugin.GajimPluginConfig` + ''' + self.activatable = True + self.available_text = '' + self.load_config() + self.config_dialog = GajimPluginConfigDialog(self) + self.init() + + def save_config(self) -> None: + self.config.save() + + def load_config(self) -> None: + self.config.load() + + def __eq__(self, plugin): + if self.short_name == plugin.short_name: + return True + + return False + + def __ne__(self, plugin): + if self.short_name != plugin.short_name: + return True + + return False + + def local_file_path(self, file_name): + return os.path.join(self.__path__, file_name) + + def init(self): + pass + + def activate(self): + pass + + def deactivate(self): + pass + + +class GajimPluginConfig(): + def __init__(self, plugin): + self.plugin = plugin + self.FILE_PATH = (configpaths.get('PLUGINS_CONFIG_DIR') / + self.plugin.short_name) + self.data = {} + + def __getitem__(self, key): + if not key in self.data: + self.data[key] = self.plugin.config_default_values[key][0] + self.save() + + return self.data[key] + + def __setitem__(self, key, value): + self.data[key] = value + self.save() + + def __delitem__(self, key): + del self.data[key] + self.save() + + def __contains__(self, key): + return key in self.data + + def __iter__(self): + for k in self.data.keys(): + yield k + + def keys(self): + return self.data.keys() + + def items(self): + return self.data.items() + + def save(self): + with open(self.FILE_PATH, 'wb') as fd: + pickle.dump(self.data, fd) + + def load(self): + if not self.FILE_PATH.is_file(): + self.data = {} + self.save() + return + with open(self.FILE_PATH, 'rb') as fd: + try: + self.data = pickle.load(fd) + except Exception: + try: + import shelve + s = shelve.open(self.FILE_PATH) + for (k, v) in s.items(): + self.data[k] = v + if not isinstance(self.data, dict): + raise GajimPluginException + s.close() + self.save() + except Exception: + enc = locale.getpreferredencoding() + filename = self.FILE_PATH.decode(enc) + '.bak' + log.warning( + '%s plugin config file not readable. Saving it as ' + '%s and creating a new one', + self.plugin.short_name, filename) + if os.path.exists(self.FILE_PATH + '.bak'): + os.remove(self.FILE_PATH + '.bak') + os.rename(self.FILE_PATH, self.FILE_PATH + '.bak') + self.data = {} + self.save() + + +class GajimPluginException(Exception): + pass + +class GajimPluginInitError(GajimPluginException): + pass diff --git a/gajim/plugins/gui.py b/gajim/plugins/gui.py new file mode 100644 index 0000000..50de804 --- /dev/null +++ b/gajim/plugins/gui.py @@ -0,0 +1,345 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +''' +GUI classes related to plug-in management. + +:author: Mateusz Biliński +:since: 6th June 2008 +:copyright: Copyright (2008) Mateusz Biliński +:license: GPL +''' + +import os +from enum import IntEnum +from enum import unique + +from gi.repository import Gtk +from gi.repository import GdkPixbuf +from gi.repository import Gdk + +from gajim.common import app +from gajim.common import ged +from gajim.common.exceptions import PluginsystemError +from gajim.common.helpers import open_uri +from gajim.common.nec import EventHelper + +from gajim.plugins.helpers import GajimPluginActivateException +from gajim.plugins.plugins_i18n import _ + +from gajim.gui.dialogs import WarningDialog +from gajim.gui.dialogs import DialogButton +from gajim.gui.dialogs import ConfirmationDialog +from gajim.gui.filechoosers import ArchiveChooserDialog +from gajim.gui.util import get_builder +from gajim.gui.util import load_icon + + +@unique +class Column(IntEnum): + PLUGIN = 0 + NAME = 1 + ACTIVE = 2 + ACTIVATABLE = 3 + ICON = 4 + + +class PluginsWindow(Gtk.ApplicationWindow, EventHelper): + def __init__(self): + Gtk.ApplicationWindow.__init__(self) + EventHelper.__init__(self) + + self.set_application(app.app) + self.set_position(Gtk.WindowPosition.CENTER) + self.set_default_size(650, 500) + self.set_show_menubar(False) + self.set_title(_('Plugins')) + + self._ui = get_builder('plugins_window.ui') + self.add(self._ui.plugins_notebook) + + # Disable 'Install from ZIP' for Flatpak installs + if app.is_flatpak(): + self._ui.install_plugin_button.set_tooltip_text( + _('Click to view Gajim\'s wiki page on how to install plugins ' + 'in Flatpak.')) + + self.installed_plugins_model = Gtk.ListStore(object, str, bool, bool, + GdkPixbuf.Pixbuf) + self._ui.installed_plugins_treeview.set_model( + self.installed_plugins_model) + + renderer = Gtk.CellRendererText() + col = Gtk.TreeViewColumn(_('Plugin')) # , renderer, text=Column.NAME) + cell = Gtk.CellRendererPixbuf() + col.pack_start(cell, False) + col.add_attribute(cell, 'pixbuf', Column.ICON) + col.pack_start(renderer, True) + col.add_attribute(renderer, 'text', Column.NAME) + col.set_property('expand', True) + self._ui.installed_plugins_treeview.append_column(col) + + renderer = Gtk.CellRendererToggle() + renderer.connect('toggled', self._installed_plugin_toggled) + col = Gtk.TreeViewColumn(_('Active'), renderer, active=Column.ACTIVE, + activatable=Column.ACTIVATABLE) + self._ui.installed_plugins_treeview.append_column(col) + + self.def_icon = load_icon('preferences-desktop', self, pixbuf=True) + + # connect signal for selection change + selection = self._ui.installed_plugins_treeview.get_selection() + selection.connect( + 'changed', self._installed_plugins_treeview_selection_changed) + selection.set_mode(Gtk.SelectionMode.SINGLE) + + self._clear_installed_plugin_info() + + self._fill_installed_plugins_model() + root_iter = self.installed_plugins_model.get_iter_first() + if root_iter: + selection.select_iter(root_iter) + + self.connect('destroy', self._on_destroy) + self.connect('key-press-event', self._on_key_press) + self._ui.connect_signals(self) + + self._ui.plugins_notebook.set_current_page(0) + + # Adding GUI extension point for Plugins that want to hook + # the Plugin Window + app.plugin_manager.gui_extension_point('plugin_window', self) + + self.register_events([ + ('plugin-removed', ged.GUI1, self._on_plugin_removed), + ('plugin-added', ged.GUI1, self._on_plugin_added), + ]) + + self.show_all() + + def get_notebook(self): + # Used by plugins + return self._ui.plugins_notebook + + def _on_key_press(self, _widget, event): + if event.keyval == Gdk.KEY_Escape: + self.destroy() + + def _on_destroy(self, *args): + self.unregister_events() + app.plugin_manager.remove_gui_extension_point('plugin_window', self) + + def _installed_plugins_treeview_selection_changed(self, treeview_selection): + model, iter_ = treeview_selection.get_selected() + if iter_: + plugin = model.get_value(iter_, Column.PLUGIN) + self._display_installed_plugin_info(plugin) + else: + self._clear_installed_plugin_info() + + def _display_installed_plugin_info(self, plugin): + self._ui.plugin_name_label.set_text(plugin.name) + self._ui.plugin_version_label.set_text(plugin.version) + self._ui.plugin_authors_label.set_text(plugin.authors) + markup = '%s' % (plugin.homepage, plugin.homepage) + self._ui.plugin_homepage_linkbutton.set_markup(markup) + + if plugin.available_text: + text = _('Warning: %s') % plugin.available_text + self._ui.available_text_label.set_text(text) + self._ui.available_text.show() + # Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=710888 + self._ui.available_text.queue_resize() + else: + self._ui.available_text.hide() + + self._ui.description.set_text(plugin.description) + + self._ui.uninstall_plugin_button.set_sensitive(True) + self._ui.configure_plugin_button.set_sensitive( + plugin.config_dialog is not None and plugin.active) + + def _clear_installed_plugin_info(self): + self._ui.plugin_name_label.set_text('') + self._ui.plugin_version_label.set_text('') + self._ui.plugin_authors_label.set_text('') + self._ui.plugin_homepage_linkbutton.set_markup('') + + self._ui.description.set_text('') + self._ui.uninstall_plugin_button.set_sensitive(False) + self._ui.configure_plugin_button.set_sensitive(False) + + def _fill_installed_plugins_model(self): + pm = app.plugin_manager + self.installed_plugins_model.clear() + self.installed_plugins_model.set_sort_column_id(1, + Gtk.SortType.ASCENDING) + + for plugin in pm.plugins: + icon = self._get_plugin_icon(plugin) + self.installed_plugins_model.append( + [plugin, + plugin.name, + plugin.active and plugin.activatable, + plugin.activatable, + icon]) + + def _get_plugin_icon(self, plugin): + icon_file = os.path.join(plugin.__path__, os.path.split( + plugin.__path__)[1]) + '.png' + icon = self.def_icon + if os.path.isfile(icon_file): + icon = GdkPixbuf.Pixbuf.new_from_file_at_size(icon_file, 16, 16) + return icon + + def _installed_plugin_toggled(self, _cell, path): + is_active = self.installed_plugins_model[path][Column.ACTIVE] + plugin = self.installed_plugins_model[path][Column.PLUGIN] + + if is_active: + app.plugin_manager.deactivate_plugin(plugin) + else: + try: + app.plugin_manager.activate_plugin(plugin) + except GajimPluginActivateException as e: + WarningDialog(_('Plugin failed'), str(e), + transient_for=self) + return + + self._ui.configure_plugin_button.set_sensitive( + plugin.config_dialog is not None and not is_active) + self.installed_plugins_model[path][Column.ACTIVE] = not is_active + + def _on_configure_plugin(self, _widget): + selection = self._ui.installed_plugins_treeview.get_selection() + model, iter_ = selection.get_selected() + if iter_: + plugin = model.get_value(iter_, Column.PLUGIN) + + if isinstance(plugin.config_dialog, GajimPluginConfigDialog): + plugin.config_dialog.run(self) + else: + plugin.config_dialog(self) + + else: + # No plugin selected. this should never be reached. As configure + # plugin button should only be clickable when plugin is selected. + # XXX: maybe throw exception here? + pass + + def _on_uninstall_plugin(self, _widget): + selection = self._ui.installed_plugins_treeview.get_selection() + model, iter_ = selection.get_selected() + if iter_: + plugin = model.get_value(iter_, Column.PLUGIN) + try: + app.plugin_manager.uninstall_plugin(plugin) + except PluginsystemError as e: + WarningDialog(_('Unable to properly remove the plugin'), + str(e), self) + return + + def _on_plugin_removed(self, event): + for row in self.installed_plugins_model: + if row[Column.PLUGIN] == event.plugin: + self.installed_plugins_model.remove(row.iter) + break + + def _on_plugin_added(self, event): + icon = self._get_plugin_icon(event.plugin) + self.installed_plugins_model.append([event.plugin, + event.plugin.name, + False, + event.plugin.activatable, + icon]) + + def _on_install_plugin(self, _widget): + if app.is_flatpak(): + open_uri('https://dev.gajim.org/gajim/gajim/wikis/help/flathub') + return + + def _show_warn_dialog(): + text = _('Archive is malformed') + dialog = WarningDialog(text, '', transient_for=self) + dialog.set_modal(False) + dialog.popup() + + def _on_plugin_exists(zip_filename): + def _on_yes(): + plugin = app.plugin_manager.install_from_zip(zip_filename, + overwrite=True) + if not plugin: + _show_warn_dialog() + return + + ConfirmationDialog( + _('Overwrite Plugin?'), + _('Plugin already exists'), + _('Do you want to overwrite the currently installed version?'), + [DialogButton.make('Cancel'), + DialogButton.make('Remove', + text=_('_Overwrite'), + callback=_on_yes)], + transient_for=self).show() + + def _try_install(zip_filename): + try: + plugin = app.plugin_manager.install_from_zip(zip_filename) + except PluginsystemError as er_type: + error_text = str(er_type) + if error_text == _('Plugin already exists'): + _on_plugin_exists(zip_filename) + return + + WarningDialog(error_text, '"%s"' % zip_filename, self) + return + if not plugin: + _show_warn_dialog() + return + + ArchiveChooserDialog(_try_install, transient_for=self) + + +class GajimPluginConfigDialog(Gtk.Dialog): + def __init__(self, plugin, **kwargs): + Gtk.Dialog.__init__(self, title='%s %s' % (plugin.name, + _('Configuration')), **kwargs) + self.plugin = plugin + button = self.add_button('gtk-close', Gtk.ResponseType.CLOSE) + button.connect('clicked', self.on_close_button_clicked) + + self.get_child().set_spacing(3) + + self.init() + + def on_close_dialog(self, widget, data): + self.hide() + return True + + def on_close_button_clicked(self, widget): + self.hide() + + def run(self, parent=None): + self.set_transient_for(parent) + self.on_run() + self.show_all() + self.connect('delete-event', self.on_close_dialog) + result = super(GajimPluginConfigDialog, self) + return result + + def init(self): + pass + + def on_run(self): + pass diff --git a/gajim/plugins/helpers.py b/gajim/plugins/helpers.py new file mode 100644 index 0000000..a497136 --- /dev/null +++ b/gajim/plugins/helpers.py @@ -0,0 +1,132 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +''' +Helper code related to plug-ins management system. + +:author: Mateusz Biliński +:since: 30th May 2008 +:copyright: Copyright (2008) Mateusz Biliński +:license: GPL +''' + +__all__ = ['log', 'log_calls'] + +from typing import List + +import logging +import functools + +from gajim.common import configpaths +from gajim.plugins import plugins_i18n +from gajim.gui.util import Builder + +log = logging.getLogger('gajim.plugin_system') +''' +Logger for code related to plug-in system. + +:type: logging.Logger +''' + +class GajimPluginActivateException(Exception): + ''' + Raised when activation failed + ''' + +class log_calls: + ''' + Decorator class for functions to easily log when they are entered and left. + ''' + + filter_out_classes = ['GajimPluginConfig', 'PluginManager', + 'GajimPluginConfigDialog', 'PluginsWindow'] + ''' + List of classes from which no logs should be emitted when methods are + called, even though `log_calls` decorator is used. + ''' + + def __init__(self, classname=''): + ''' + :Keywords: + classname : str + Name of class to prefix function name (if function is a method). + log : logging.Logger + Logger to use when outputting debug information on when function has + been entered and when left. By default: `plugins.helpers.log` + is used. + ''' + + self.full_func_name = '' + ''' + Full name of function, with class name (as prefix) if given + to decorator. + + Otherwise, it's only function name retrieved from function object + for which decorator was called. + + :type: str + ''' + self.log_this_class = True + ''' + Determines whether wrapper of given function should log calls of this + function or not. + + :type: bool + ''' + + if classname: + self.full_func_name = classname+'.' + + if classname in self.filter_out_classes: + self.log_this_class = False + + def __call__(self, f): + ''' + :param f: function to be wrapped with logging statements + + :return: given function wrapped by *log.debug* statements + :rtype: function + ''' + + self.full_func_name += f.__name__ + if self.log_this_class: + @functools.wraps(f) + def wrapper(*args, **kwargs): + + log.debug('%s() ', self.full_func_name) + result = f(*args, **kwargs) + log.debug('%s() ', self.full_func_name) + return result + else: + @functools.wraps(f) + def wrapper(*args, **kwargs): + result = f(*args, **kwargs) + return result + + return wrapper + + +def get_builder(file_name: str, widgets: List[str] = None) -> Builder: + return Builder(file_name, + widgets, + domain=plugins_i18n.DOMAIN, + gettext_=plugins_i18n._) + + +def is_shipped_plugin(path): + base = configpaths.get('PLUGINS_BASE') + if not base.exists(): + return False + plugin_parent = path.parent + return base.samefile(plugin_parent) diff --git a/gajim/plugins/pluginmanager.py b/gajim/plugins/pluginmanager.py new file mode 100644 index 0000000..eff136d --- /dev/null +++ b/gajim/plugins/pluginmanager.py @@ -0,0 +1,758 @@ +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +''' +Plug-in management related classes. + +:author: Mateusz Biliński +:since: 30th May 2008 +:copyright: Copyright (2008) Mateusz Biliński +:license: GPL +''' + +__all__ = ['PluginManager'] + +import os +import sys +import zipfile +from pathlib import Path +from importlib.util import spec_from_file_location +from importlib.util import module_from_spec +from shutil import rmtree, move +import configparser +from dataclasses import dataclass +from packaging.version import Version as V + +import gajim +from gajim.common import app +from gajim.common import nec +from gajim.common import configpaths +from gajim.common import modules +from gajim.common.nec import NetworkEvent +from gajim.common.i18n import _ +from gajim.common.exceptions import PluginsystemError +from gajim.common.helpers import Singleton +from gajim.plugins.plugins_i18n import _ as p_ + +from gajim.plugins.helpers import log +from gajim.plugins.helpers import GajimPluginActivateException +from gajim.plugins.helpers import is_shipped_plugin +from gajim.plugins.gajimplugin import GajimPlugin, GajimPluginException + + +FIELDS = ('name', + 'short_name', + 'version', + 'min_gajim_version', + 'max_gajim_version', + 'description', + 'authors', + 'homepage') + + +@dataclass +class Plugin: + name: str + short_name: str + description: str + authors: str + homepage: str + version: V + min_gajim_version: V + max_gajim_version: V + shipped: bool + path: Path + + @classmethod + def from_manifest(cls, path): + shipped = is_shipped_plugin(path) + manifest = path / 'manifest.ini' + if not manifest.exists() and not manifest.is_dir(): + raise ValueError(f'Not a plugin path: {path}') + + conf = configparser.ConfigParser() + conf.remove_section('info') + + with manifest.open() as conf_file: + try: + conf.read_file(conf_file) + except configparser.Error as error: + raise ValueError(f'Error while parsing manifest: ' + f'{path.name}, {error}') + + for field in FIELDS: + try: + value = conf.get('info', field, fallback=None) + except configparser.Error as error: + raise ValueError(f'Error while parsing manifest: ' + f'{path.name}, {error}') + + if value is None: + raise ValueError(f'No {field} found for {path.name}') + + name = conf.get('info', 'name') + short_name = conf.get('info', 'short_name') + description = p_(conf.get('info', 'description')) + authors = conf.get('info', 'authors') + homepage = conf.get('info', 'homepage') + version = V(conf.get('info', 'version')) + min_gajim_version = V(conf.get('info', 'min_gajim_version')) + max_gajim_version = V(conf.get('info', 'max_gajim_version')) + gajim_version = V(gajim.__version__.split('+', 1)[0]) + + if not min_gajim_version <= gajim_version <= max_gajim_version: + raise ValueError( + f'Plugin {path.name} not loaded, ' + f'newer version of gajim required: ' + f'{min_gajim_version} <= {gajim_version} <= {max_gajim_version}' + ) + + return cls(name=name, + short_name=short_name, + description=description, + authors=authors, + homepage=homepage, + version=version, + min_gajim_version=min_gajim_version, + max_gajim_version=max_gajim_version, + shipped=shipped, + path=path) + + def load_module(self): + module_path = self.path / '__init__.py' + if not module_path.exists(): + # On Windows we only ship compiled files + module_path = self.path/ '__init__.pyc' + + module_name = self.path.stem + + try: + spec = spec_from_file_location(module_name, module_path) + if spec is None: + return None + module = module_from_spec(spec) + sys.modules[spec.name] = module + spec.loader.exec_module(module) + except Exception as error: + log.warning('Error while loading module: %s', error) + return None + + for module_attr_name in dir(module): + module_attr = getattr(module, module_attr_name) + if issubclass(module_attr, GajimPlugin): + for field in FIELDS: + setattr(module_attr, field, str(getattr(self, field))) + setattr(module_attr, '__path__', str(self.path)) + return module_attr + return None + + +class PluginManager(metaclass=Singleton): + ''' + Main plug-in management class. + + Currently: + - scans for plugins + - activates them + - handles GUI extension points, when called by GUI objects after + plugin is activated (by dispatching info about call to handlers + in plugins) + + :todo: add more info about how GUI extension points work + :todo: add list of available GUI extension points + :todo: implement mechanism to dynamically load plugins where GUI extension + points have been already called (i.e. when plugin is activated + after GUI object creation). [DONE?] + :todo: implement mechanism to dynamically deactivate plugins (call plugin's + deactivation handler) [DONE?] + :todo: when plug-in is deactivated all GUI extension points are removed + from `PluginManager.gui_extension_points_handlers`. But when + object that invoked GUI extension point is abandoned by Gajim, + eg. closed ChatControl object, the reference to called GUI + extension points is still in `PluginManager.gui_extension_points` + These should be removed, so that object can be destroyed by + Python. + Possible solution: add call to clean up method in classes + 'destructors' (classes that register GUI extension points) + ''' + + def __init__(self): + self.plugins = [] + ''' + Detected plugin classes. + + Each class object in list is `GajimPlugin` subclass. + + :type: [] of class objects + ''' + self.active_plugins = [] + ''' + Instance objects of active plugins. + + These are object instances of classes held `plugins`, but only those + that were activated. + + :type: [] of `GajimPlugin` based objects + ''' + self.gui_extension_points = {} + ''' + Registered GUI extension points. + ''' + + self.gui_extension_points_handlers = {} + ''' + Registered handlers of GUI extension points. + ''' + + self.encryption_plugins = {} + ''' + Registered names with instances of encryption Plugins. + ''' + + self.update_plugins() + self._load_plugins() + + def update_plugins(self, replace=True, activate=False, plugin_name=None): + ''' + Move plugins from the downloaded folder to the user plugin folder + + :param replace: replace plugin files if they already exist. + :type replace: boolean + :param activate: load and activate the plugin + :type activate: boolean + :param plugin_name: if provided, update only this plugin + :type plugin_name: str + :return: list of updated plugins (files have been installed) + :rtype: [] of str + ''' + updated_plugins = [] + user_dir = configpaths.get('PLUGINS_USER') + dl_dir = configpaths.get('PLUGINS_DOWNLOAD') + to_update = [plugin_name] if plugin_name else next(os.walk(dl_dir))[1] + for directory in to_update: + src_dir = dl_dir / directory + dst_dir = user_dir / directory + try: + if dst_dir.exists(): + if not replace: + continue + self.delete_plugin_files(dst_dir) + move(src_dir, dst_dir) + except Exception: + log.exception('Upgrade of plugin %s failed. ' + 'Impossible to move files from "%s" to "%s"', + directory, src_dir, dst_dir) + continue + updated_plugins.append(directory) + if activate: + plugin = self._load_plugin(Path(dst_dir)) + if plugin is None: + log.warning('Error while updating plugin') + continue + + self.add_plugin(plugin, activate=True) + return updated_plugins + + def init_plugins(self): + for plugin in self.plugins: + if not app.settings.get_plugin_setting(plugin.short_name, 'active'): + continue + if not plugin.activatable: + continue + + try: + self.activate_plugin(plugin) + except GajimPluginActivateException: + pass + + def add_plugin(self, plugin, activate=False): + plugin_class = plugin.load_module() + if plugin_class is None: + return None + + if plugin in self.plugins: + log.info('Not loading plugin %s v %s. Plugin already loaded.', + plugin.short_name, plugin.version) + return None + + try: + plugin_obj = plugin_class() + except Exception: + log.exception('Error while loading a plugin') + return None + + if plugin.short_name not in app.settings.get_plugins(): + app.settings.set_plugin_setting(plugin.short_name, + 'active', + plugin.shipped) + + self.plugins.append(plugin_obj) + plugin_obj.active = False + + if activate: + self.activate_plugin(plugin_obj) + + app.nec.push_incoming_event( + NetworkEvent('plugin-added', plugin=plugin_obj)) + + return plugin_obj + + def remove_plugin(self, plugin): + ''' + removes the plugin from the plugin list and deletes all loaded modules + from sys. This way we will have a fresh start when the plugin gets added + again. + ''' + if plugin.active: + self.deactivate_plugin(plugin) + + self.plugins.remove(plugin) + + # remove modules from cache + base_package = plugin.__module__.split('.')[0] + # get the subpackages/-modules of the base_package. Add a dot to the + # name to avoid name problems (removing module_abc if base_package is + # module_ab) + modules_to_remove = [module for module in sys.modules + if module.startswith('{}.'.format(base_package))] + # remove the base_package itself + if base_package in sys.modules: + modules_to_remove.append(base_package) + + for module_to_remove in modules_to_remove: + del sys.modules[module_to_remove] + + def get_active_plugin(self, plugin_name): + for plugin in self.active_plugins: + if plugin.short_name == plugin_name: + return plugin + return None + + def get_plugin(self, short_name): + for plugin in self.plugins: + if plugin.short_name == short_name: + return plugin + return None + + def extension_point(self, gui_extpoint_name, *args): + ''' + Invokes all handlers (from plugins) for a particular extension point, but + doesn't add it to collection for further processing. + For example if you pass a message for encryption via extension point to a + plugin, its undesired that the call is stored and replayed on activating the + plugin. For example after an update. + + :param gui_extpoint_name: name of GUI extension point. + :type gui_extpoint_name: str + :param args: parameters to be passed to extension point handlers + (typically and object that invokes `gui_extension_point`; + however, this can be practically anything) + :type args: tuple + ''' + + self._execute_all_handlers_of_gui_extension_point(gui_extpoint_name, + *args) + + def gui_extension_point(self, gui_extpoint_name, *args): + ''' + Invokes all handlers (from plugins) for particular GUI extension point + and adds it to collection for further processing (eg. by plugins not + active yet). + + :param gui_extpoint_name: name of GUI extension point. + :type gui_extpoint_name: str + :param args: parameters to be passed to extension point handlers + (typically and object that invokes `gui_extension_point`; + however, this can be practically anything) + :type args: tuple + + :todo: GUI extension points must be documented well - names with + parameters that will be passed to handlers (in plugins). Such + documentation must be obeyed both in core and in plugins. This + is a loosely coupled approach and is pretty natural in Python. + + :bug: what if only some handlers are successfully connected? we should + revert all those connections that where successfully made. Maybe + call 'self._deactivate_plugin()' or sth similar. + Looking closer - we only rewrite tuples here. Real check should + be made in method that invokes gui_extpoints handlers. + ''' + + self._add_gui_extension_point_call_to_list(gui_extpoint_name, *args) + self._execute_all_handlers_of_gui_extension_point(gui_extpoint_name, + *args) + + def remove_gui_extension_point(self, gui_extpoint_name, *args): + ''' + Removes GUI extension point from collection held by `PluginManager`. + + From this point this particular extension point won't be visible + to plugins (eg. it won't invoke any handlers when plugin is activated). + + GUI extension point is removed completely (there is no way to recover it + from inside `PluginManager`). + + Removal is needed when instance object that given extension point was + connect with is destroyed (eg. ChatControl is closed or context menu + is hidden). + + Each `PluginManager.gui_extension_point` call should have a call of + `PluginManager.remove_gui_extension_point` related to it. + + :note: in current implementation different arguments mean different + extension points. The same arguments and the same name mean + the same extension point. + :todo: instead of using argument to identify which extpoint should be + removed, maybe add additional 'id' argument - this would work + similar hash in Python objects. 'id' would be calculated based + on arguments passed or on anything else (even could be constant) + This would give core developers (that add new extpoints) more + freedom, but is this necessary? + + :param gui_extpoint_name: name of GUI extension point. + :type gui_extpoint_name: str + :param args: arguments that `PluginManager.gui_extension_point` was + called with for this extension point. This is used (along with + extension point name) to identify element to be removed. + :type args: tuple + ''' + if gui_extpoint_name in self.gui_extension_points: + extension_points = list(self.gui_extension_points[gui_extpoint_name]) + for ext_point in extension_points: + if args[0] in ext_point: + self.gui_extension_points[gui_extpoint_name].remove( + ext_point) + + if gui_extpoint_name not in self.gui_extension_points_handlers: + return + + for handlers in self.gui_extension_points_handlers[gui_extpoint_name]: + disconnect_handler = handlers[1] + if disconnect_handler is not None: + disconnect_handler(args[0]) + + def _add_gui_extension_point_call_to_list(self, gui_extpoint_name, *args): + ''' + Adds GUI extension point call to list of calls. + + This is done only if such call hasn't been added already + (same extension point name and same arguments). + + :note: This is assumption that GUI extension points are different only + if they have different name or different arguments. + + :param gui_extpoint_name: GUI extension point name used to identify it + by plugins. + :type gui_extpoint_name: str + + :param args: parameters to be passed to extension point handlers + (typically and object that invokes `gui_extension_point`; + however, this can be practically anything) + :type args: tuple + + ''' + if ((gui_extpoint_name not in self.gui_extension_points) + or (args not in self.gui_extension_points[gui_extpoint_name])): + self.gui_extension_points.setdefault(gui_extpoint_name, []).append( + args) + + def _execute_all_handlers_of_gui_extension_point(self, gui_extpoint_name, + *args): + if gui_extpoint_name in self.gui_extension_points_handlers: + for handlers in self.gui_extension_points_handlers[ + gui_extpoint_name]: + try: + handlers[0](*args) + except Exception: + log.warning('Error executing %s', + handlers[0], exc_info=True) + + def _register_events_handlers_in_ged(self, plugin): + for event_name, handler in plugin.events_handlers.items(): + priority = handler[0] + handler_function = handler[1] + app.ged.register_event_handler(event_name, priority, + handler_function) + + def _remove_events_handler_from_ged(self, plugin): + for event_name, handler in plugin.events_handlers.items(): + priority = handler[0] + handler_function = handler[1] + app.ged.remove_event_handler(event_name, priority, + handler_function) + + def _register_network_events_in_nec(self, plugin): + for event_class in plugin.events: + setattr(event_class, 'plugin', plugin) + if issubclass(event_class, nec.NetworkIncomingEvent): + app.nec.register_incoming_event(event_class) + elif issubclass(event_class, nec.NetworkOutgoingEvent): + app.nec.register_outgoing_event(event_class) + + def _remove_network_events_from_nec(self, plugin): + for event_class in plugin.events: + if issubclass(event_class, nec.NetworkIncomingEvent): + app.nec.unregister_incoming_event(event_class) + elif issubclass(event_class, nec.NetworkOutgoingEvent): + app.nec.unregister_outgoing_event(event_class) + + def _remove_name_from_encryption_plugins(self, plugin): + if plugin.encryption_name: + del self.encryption_plugins[plugin.encryption_name] + + def _register_modules_with_handlers(self, plugin): + if not hasattr(plugin, 'modules'): + return + for con in app.connections.values(): + for module in plugin.modules: + if not module.zeroconf and con.name == 'Local': + continue + instance, name = module.get_instance(con) + modules.register_single_module(con, instance, name) + + for handler in instance.handlers: + con.connection.register_handler(handler) + + def _unregister_modules_with_handlers(self, plugin): + if not hasattr(plugin, 'modules'): + return + for con in app.connections.values(): + for module in plugin.modules: + instance = con.get_module(module.name) + modules.unregister_single_module(con, module.name) + + for handler in instance.handlers: + con.connection.unregister_handler(handler) + + def activate_plugin(self, plugin): + ''' + :param plugin: plugin to be activated + :type plugin: class object of `GajimPlugin` subclass + ''' + if not plugin.active and plugin.activatable: + + self._add_gui_extension_points_handlers_from_plugin(plugin) + self._add_encryption_name_from_plugin(plugin) + self._handle_all_gui_extension_points_with_plugin(plugin) + self._register_events_handlers_in_ged(plugin) + self._register_network_events_in_nec(plugin) + self._register_modules_with_handlers(plugin) + + self.active_plugins.append(plugin) + try: + plugin.activate() + except GajimPluginException as e: + self.deactivate_plugin(plugin) + raise GajimPluginActivateException(str(e)) + app.settings.set_plugin_setting(plugin.short_name, 'active', True) + plugin.active = True + + def deactivate_plugin(self, plugin): + # remove GUI extension points handlers (provided by plug-in) from + # handlers list + for gui_extpoint_name, gui_extpoint_handlers in \ + plugin.gui_extension_points.items(): + self.gui_extension_points_handlers[gui_extpoint_name].remove( + gui_extpoint_handlers) + + # detaching plug-in from handler GUI extension points (calling + # cleaning up method that must be provided by plug-in developer + # for each handled GUI extension point) + for gui_extpoint_name, gui_extpoint_handlers in \ + plugin.gui_extension_points.items(): + if gui_extpoint_name in self.gui_extension_points: + for gui_extension_point_args in self.gui_extension_points[ + gui_extpoint_name]: + handler = gui_extpoint_handlers[1] + if handler: + try: + handler(*gui_extension_point_args) + except Exception: + log.warning('Error executing %s', + handler, exc_info=True) + + self._remove_events_handler_from_ged(plugin) + self._remove_network_events_from_nec(plugin) + self._remove_name_from_encryption_plugins(plugin) + self._unregister_modules_with_handlers(plugin) + + # removing plug-in from active plug-ins list + plugin.deactivate() + self.active_plugins.remove(plugin) + app.settings.set_plugin_setting(plugin.short_name, 'active', False) + plugin.active = False + + def _add_gui_extension_points_handlers_from_plugin(self, plugin): + for gui_extpoint_name, gui_extpoint_handlers in \ + plugin.gui_extension_points.items(): + self.gui_extension_points_handlers.setdefault(gui_extpoint_name, + []).append(gui_extpoint_handlers) + + def _add_encryption_name_from_plugin(self, plugin): + if plugin.encryption_name: + self.encryption_plugins[plugin.encryption_name] = plugin + + def _handle_all_gui_extension_points_with_plugin(self, plugin): + for gui_extpoint_name, gui_extpoint_handlers in \ + plugin.gui_extension_points.items(): + if gui_extpoint_name in self.gui_extension_points: + for gui_extension_point_args in self.gui_extension_points[ + gui_extpoint_name]: + handler = gui_extpoint_handlers[0] + if handler: + try: + handler(*gui_extension_point_args) + except Exception: + log.warning('Error executing %s', + handler, exc_info=True) + + def register_modules_for_account(self, con): + ''' + A new account has been added, register modules + of all active plugins + ''' + for plugin in self.plugins: + if not plugin.active: + continue + + if not hasattr(plugin, 'modules'): + continue + + for module in plugin.modules: + instance, name = module.get_instance(con) + if not module.zeroconf and con.name == 'Local': + continue + modules.register_single_module(con, instance, name) + + for handler in instance.handlers: + con.connection.register_handler(handler) + + @staticmethod + def _load_plugin(plugin_path): + try: + return Plugin.from_manifest(plugin_path) + except Exception as error: + log.warning(error) + + def _load_plugins(self): + plugins = {} + for plugin_dir in configpaths.get_plugin_dirs(): + if not plugin_dir.is_dir(): + continue + + for plugin_path in plugin_dir.iterdir(): + plugin = self._load_plugin(plugin_path) + if plugin is None: + continue + + same_plugin = plugins.get(plugin.short_name) + if same_plugin is not None: + if same_plugin.version > plugin.version: + continue + + log.info('Found plugin %s %s', + plugin.short_name, plugin.version) + plugins[plugin.short_name] = plugin + + for plugin in plugins.values(): + self.add_plugin(plugin) + + def install_from_zip(self, zip_filename, overwrite=None): + ''' + Install plugin from zip and return plugin + ''' + try: + zip_file = zipfile.ZipFile(zip_filename) + except zipfile.BadZipfile: + # it is not zip file + raise PluginsystemError(_('Archive corrupted')) + except IOError: + raise PluginsystemError(_('Archive empty')) + + if zip_file.testzip(): + # CRC error + raise PluginsystemError(_('Archive corrupted')) + + dirs = [] + manifest = None + for filename in zip_file.namelist(): + if filename.startswith('.') or filename.startswith('/') or \ + ('/' not in filename): + # members not safe + raise PluginsystemError(_('Archive is malformed')) + if filename.endswith('/') and filename.find('/', 0, -1) < 0: + dirs.append(filename.strip('/')) + if 'manifest.ini' in filename.split('/')[1]: + manifest = True + if not manifest: + return None + if len(dirs) > 1: + raise PluginsystemError(_('Archive is malformed')) + + plugin_name = dirs[0] + user_dir = configpaths.get('PLUGINS_USER') + plugin_path = user_dir / plugin_name + + if plugin_path.exists(): + # Plugin dir already exists + if not overwrite: + raise PluginsystemError(_('Plugin already exists')) + self.uninstall_plugin(self.get_plugin_by_path(str(plugin_path))) + + zip_file.extractall(user_dir) + zip_file.close() + + plugin = self._load_plugin(plugin_path) + if plugin is None: + log.warning('Error while installing from zip') + rmtree(plugin_path) + raise PluginsystemError(_('Installation failed')) + + return self.add_plugin(plugin) + + def delete_plugin_files(self, plugin_path): + def on_error(func, path, error): + if func == os.path.islink: + # if symlink + os.unlink(path) + return + # access is denied or other + raise PluginsystemError(str(error[1])) + + rmtree(plugin_path, False, on_error) + + def uninstall_plugin(self, plugin): + ''' + Deactivate and remove plugin from `plugins` list + ''' + if not plugin: + return + + self.remove_plugin(plugin) + self.delete_plugin_files(plugin.__path__) + if not is_shipped_plugin(Path(plugin.__path__)): + path = configpaths.get('PLUGINS_BASE') / plugin.short_name + if path.exists(): + self.delete_plugin_files(str(path)) + + app.settings.remove_plugin(plugin.short_name) + + app.nec.push_incoming_event( + NetworkEvent('plugin-removed', plugin=plugin)) + + def get_plugin_by_path(self, plugin_dir): + for plugin in self.plugins: + if plugin.__path__ in plugin_dir: + return plugin + return None diff --git a/gajim/plugins/plugins_i18n.py b/gajim/plugins/plugins_i18n.py new file mode 100644 index 0000000..dbc5ab7 --- /dev/null +++ b/gajim/plugins/plugins_i18n.py @@ -0,0 +1,42 @@ +# Copyright (C) 2010-2011 Denis Fomin +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import locale +import gettext +from pathlib import Path + +from gajim.common import configpaths + +DOMAIN = 'gajim_plugins' +try: + plugin_user_dir = configpaths.get('PLUGINS_USER') +except KeyError: + # This allows to import the module for tests + print('No plugin translation path available') + plugin_user_dir = Path.cwd() + + +# python 3.7 gettext module does not support Path objects +plugins_locale_dir = str(plugin_user_dir / 'locale') + +try: + t = gettext.translation(DOMAIN, plugins_locale_dir) + _ = t.gettext +except OSError: + _ = gettext.gettext + +if hasattr(locale, 'bindtextdomain'): + locale.bindtextdomain(DOMAIN, plugins_locale_dir) # type: ignore diff --git a/gajim/privatechat_control.py b/gajim/privatechat_control.py new file mode 100644 index 0000000..75c3229 --- /dev/null +++ b/gajim/privatechat_control.py @@ -0,0 +1,246 @@ +# Copyright (C) 2003-2014 Yann Leboulanger +# Copyright (C) 2005-2007 Nikos Kouremenos +# Copyright (C) 2006 Dimitur Kirov +# Alex Mauer +# Copyright (C) 2006-2008 Jean-Marie Traissard +# Travis Shirk +# Copyright (C) 2007-2008 Julien Pivotto +# Stephan Erb +# Copyright (C) 2008 Brendan Taylor +# Jonathan Schleifer +# Copyright (C) 2018 Philipp Hörist +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +from gajim.common import app +from gajim.common import helpers +from gajim.common import ged +from gajim.common.i18n import _ +from gajim.common.const import AvatarSize +from gajim.common.helpers import event_filter + +from gajim.chat_control import ChatControl +from gajim.command_system.implementation.hosts import PrivateChatCommands + +from gajim.gui.dialogs import ErrorDialog +from gajim.gui.const import ControlType + + +class PrivateChatControl(ChatControl): + + _type = ControlType.PRIVATECHAT + + # Set a command host to bound to. Every command given through a private chat + # will be processed with this command host. + COMMAND_HOST = PrivateChatCommands + + def __init__(self, parent_win, gc_contact, contact, account, session): + room_jid = gc_contact.room_jid + self.room_ctrl = app.interface.msg_win_mgr.get_gc_control( + room_jid, account) + if room_jid in app.interface.minimized_controls[account]: + self.room_ctrl = app.interface.minimized_controls[account][room_jid] + + self.gc_contact = gc_contact + ChatControl.__init__(self, parent_win, contact, account, session) + + # pylint: disable=line-too-long + self.register_events([ + ('update-gc-avatar', ged.GUI1, self._on_update_gc_avatar), + ('caps-update', ged.GUI1, self._on_caps_update), + ('muc-user-joined', ged.GUI1, self._on_user_joined), + ('muc-user-left', ged.GUI1, self._on_user_left), + ('muc-nickname-changed', ged.GUI1, self._on_nickname_changed), + ('muc-self-presence', ged.GUI1, self._on_self_presence), + ('muc-self-kicked', ged.GUI1, self._on_disconnected), + ('muc-user-status-show-changed', ged.GUI1, self._on_status_show_changed), + ('muc-destroyed', ged.GUI1, self._on_disconnected), + ]) + # pylint: enable=line-too-long + + @property + def contact(self): + return self.gc_contact.as_contact() + + @contact.setter + def contact(self, _value): + # TODO: remove all code that sets the contact here + return + + @property + def room_name(self): + if self.room_ctrl is not None: + return self.room_ctrl.room_name + return self.gc_contact.room_jid + + def get_our_nick(self): + return self.room_ctrl.nick + + @event_filter(['account']) + def _on_caps_update(self, event): + if event.fjid != self.gc_contact.get_full_jid(): + return + self.update_contact() + + @event_filter(['account']) + def _on_nickname_changed(self, event): + if event.properties.new_jid != self.gc_contact.get_full_jid(): + return + + nick = event.properties.muc_nickname + new_nick = event.properties.muc_user.nick + if event.properties.is_muc_self_presence: + message = _('You are now known as %s') % new_nick + else: + message = _('{nick} is now known ' + 'as {new_nick}').format(nick=nick, new_nick=new_nick) + + self.add_info_message(message) + + self.draw_banner() + app.interface.msg_win_mgr.change_key(str(event.properties.jid), + str(event.properties.new_jid), + self.account) + + self.parent_win.redraw_tab(self) + self.update_ui() + + @event_filter(['account']) + def _on_status_show_changed(self, event): + if event.properties.jid != self.gc_contact.get_full_jid(): + return + + nick = event.properties.muc_nickname + status = event.properties.status + status = '' if status is None else ' - %s' % status + show = helpers.get_uf_show(event.properties.show.value) + + if not app.settings.get_group_chat_setting(self.account, + self.gc_contact.room_jid, + 'print_status'): + self.parent_win.redraw_tab(self) + self.update_ui() + return + + if event.properties.is_muc_self_presence: + message = _('You are now {show}{status}').format(show=show, + status=status) + + else: + message = _('{nick} is now {show}{status}').format(nick=nick, + show=show, + status=status) + self.add_status_message(message) + self.parent_win.redraw_tab(self) + self.update_ui() + + @event_filter(['account']) + def _on_disconnected(self, event): + if event.properties.jid != self.gc_contact.get_full_jid(): + return + + self.got_disconnected() + + @event_filter(['account']) + def _on_user_left(self, event): + if event.properties.jid != self.gc_contact.get_full_jid(): + return + + self.got_disconnected() + + @event_filter(['account']) + def _on_user_joined(self, event): + if event.properties.jid != self.gc_contact.get_full_jid(): + return + + self.gc_contact = app.contacts.get_gc_contact( + self.account, self.gc_contact.room_jid, self.gc_contact.name) + self.parent_win.redraw_tab(self) + self.got_connected() + + @event_filter(['account']) + def _on_self_presence(self, event): + if event.properties.jid != self.gc_contact.get_full_jid(): + return + + self.parent_win.redraw_tab(self) + self.got_connected() + + def _on_update_gc_avatar(self, event): + if event.contact != self.gc_contact: + return + self._update_avatar() + + def send_message(self, message, xhtml=None, process_commands=True, + attention=False): + """ + Call this method to send the message + """ + message = helpers.remove_invalid_xml_chars(message) + if not message: + return + + # We need to make sure that we can still send through the room and that + # the recipient did not go away + if self.gc_contact.presence.is_unavailable: + ErrorDialog( + _('Sending private message failed'), + #in second %s code replaces with nickname + _('You are no longer in group chat "%(room)s" or ' + '"%(nick)s" has left.') % { + 'room': self.room_name, 'nick': self.gc_contact.name}, + transient_for=self.parent_win.window) + return + + ChatControl.send_message(self, message, + xhtml=xhtml, + process_commands=process_commands, + attention=attention) + + def update_ui(self): + if self.gc_contact.presence.is_unavailable: + self.got_disconnected() + else: + self.got_connected() + + def _update_avatar(self): + scale = self.parent_win.window.get_scale_factor() + surface = self.gc_contact.get_avatar(AvatarSize.CHAT, + scale, + self.gc_contact.show.value) + + self.xml.avatar_image.set_from_surface(surface) + + def get_tab_image(self): + if self.gc_contact.presence.is_unavailable: + show = 'offline' + else: + show = self.gc_contact.show.value + scale = self.parent_win.window.get_scale_factor() + return self.gc_contact.get_avatar(AvatarSize.ROSTER, + scale, + show) + + def update_contact(self): + self.contact = self.gc_contact.as_contact() + + def got_disconnected(self): + ChatControl.got_disconnected(self) + self.parent_win.redraw_tab(self) + ChatControl.update_ui(self) + + def got_connected(self): + ChatControl.got_connected(self) + ChatControl.update_ui(self) diff --git a/gajim/remote_control.py b/gajim/remote_control.py new file mode 100644 index 0000000..91d7da1 --- /dev/null +++ b/gajim/remote_control.py @@ -0,0 +1,866 @@ +# Copyright (C) 2005-2006 Andrew Sayman +# Dimitur Kirov +# Nikos Kouremenos +# Copyright (C) 2005-2014 Yann Leboulanger +# Copyright (C) 2006-2007 Travis Shirk +# Copyright (C) 2006-2008 Jean-Marie Traissard +# Copyright (C) 2007 Lukas Petrovicky +# Julien Pivotto +# Copyright (C) 2008 Jonathan Schleifer +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import os +import logging + +from gi.repository import GLib +from gi.repository import Gio + +from gajim.common import app +from gajim.common import ged +from gajim.common import helpers +from gajim.common.structs import OutgoingMessage + +from gajim.gui.add_contact import AddNewContactWindow + + +log = logging.getLogger('gajim.remote_control') + + +def get_dbus_struct(obj): + """ + Recursively go through all the items and replace them with their casted dbus + equivalents + """ + if obj is None: + return None + if isinstance(obj, str): + return GLib.Variant('s', obj) + if isinstance(obj, int): + return GLib.Variant('i', obj) + if isinstance(obj, float): + return GLib.Variant('d', obj) + if isinstance(obj, bool): + return GLib.Variant('b', obj) + if isinstance(obj, (list, tuple)): + lst = [get_dbus_struct(i) for i in obj if i is not None] + result = GLib.Variant('av', lst) + return result + if isinstance(obj, dict): + result = GLib.VariantDict() + for key, value in obj.items(): + result.insert_value(key, get_dbus_struct(value)) + return result.end() + # unknown type + return GLib.Variant('s', str(obj)) + + +class Server: + def __init__(self, con, path): + method_outargs = {} + method_inargs = {} + for interface in Gio.DBusNodeInfo.new_for_xml(self.__doc__).interfaces: + + for method in interface.methods: + method_outargs[method.name] = '(' + ''.join( + [arg.signature for arg in method.out_args]) + ')' + method_inargs[method.name] = tuple( + arg.signature for arg in method.in_args) + + con.register_object( + object_path=path, + interface_info=interface, + method_call_closure=self.on_method_call) + + self.method_inargs = method_inargs + self.method_outargs = method_outargs + + def on_method_call(self, connection, sender, object_path, interface_name, + method_name, parameters, invocation): + + args = list(parameters.unpack()) + for i, sig in enumerate(self.method_inargs[method_name]): + if sig == 'h': + msg = invocation.get_message() + fd_list = msg.get_unix_fd_list() + args[i] = fd_list.get(args[i]) + + result = getattr(self, method_name)(*args) + + # out_args is at least (signature1). We therefore always wrap the result + # as a tuple. Refer to https://bugzilla.gnome.org/show_bug.cgi?id=765603 + result = (result, ) + + out_args = self.method_outargs[method_name] + if out_args != '()': + variant = GLib.Variant(out_args, result) + invocation.return_value(variant) + else: + invocation.return_value(None) + + +class GajimRemote(Server): + ''' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ''' + + def __init__(self): + self.con = Gio.bus_get_sync(Gio.BusType.SESSION, None) + Gio.bus_own_name_on_connection(self.con, 'org.gajim.Gajim', + Gio.BusNameOwnerFlags.NONE, None, None) + super().__init__(self.con, '/org/gajim/dbus/RemoteObject') + self.first_show = True + + app.ged.register_event_handler('time-result-received', ged.POSTGUI, + self.on_time) + app.ged.register_event_handler('roster-info', ged.POSTGUI, + self.on_roster_info) + app.ged.register_event_handler('presence-received', ged.POSTGUI, + self.on_presence_received) + app.ged.register_event_handler('subscribe-presence-received', + ged.POSTGUI, self.on_subscribe_presence_received) + app.ged.register_event_handler('subscribed-presence-received', + ged.POSTGUI, self.on_subscribed_presence_received) + app.ged.register_event_handler('unsubscribed-presence-received', + ged.POSTGUI, self.on_unsubscribed_presence_received) + app.ged.register_event_handler('gc-message-received', + ged.POSTGUI, self.on_gc_message_received) + app.ged.register_event_handler('decrypted-message-received', + ged.POSTGUI, self._nec_decrypted_message_received) + app.ged.register_event_handler('our-show', ged.POSTGUI, + self.on_our_status) + app.ged.register_event_handler('account-created', ged.POSTGUI, + self.on_account_created) + app.ged.register_event_handler('vcard-received', ged.POSTGUI, + self.on_vcard_received) + app.ged.register_event_handler('chatstate-received', ged.POSTGUI, + self.on_chatstate_received) + app.ged.register_event_handler('message-sent', ged.POSTGUI, + self.on_message_sent) + + def on_chatstate_received(self, obj): + if obj.contact.is_gc_contact: + jid = obj.contact.get_full_jid() + chatstate = obj.contact.chatstate + else: + jid = obj.contact.jid + chatstate = app.contacts.get_combined_chatstate( + obj.account, obj.contact.jid) + self.raise_signal('ChatState', (obj.account, [jid, chatstate])) + + def on_message_sent(self, obj): + try: + chatstate = obj.chatstate + except AttributeError: + chatstate = '' + self.raise_signal('MessageSent', (obj.account, [ + obj.jid, obj.message, chatstate])) + + def on_time(self, obj): + self.raise_signal('EntityTime', (obj.conn.name, [obj.jid.bare, + obj.jid.resource, + obj.time_info])) + + def on_roster_info(self, obj): + self.raise_signal('RosterInfo', (obj.conn.name, [obj.jid, obj.nickname, + obj.sub, obj.ask, obj.groups])) + + def on_presence_received(self, obj): + if obj.old_show < 2 and obj.new_show > 1: + event = 'ContactPresence' + elif obj.old_show > 1 and obj.new_show < 2: + event = 'ContactAbsence' + elif obj.new_show > 1: + event = 'ContactStatus' + else: + return + self.raise_signal(event, (obj.conn.name, [obj.jid, obj.show, + obj.status, obj.resource, obj.prio, obj.timestamp])) + + def on_subscribe_presence_received(self, obj): + self.raise_signal('Subscribe', (obj.conn.name, [obj.jid, obj.status, + obj.user_nick])) + + def on_subscribed_presence_received(self, event): + self.raise_signal('Subscribed', (event.account, + [event.jid.bare, + event.jid.resource])) + + def on_unsubscribed_presence_received(self, obj): + self.raise_signal('Unsubscribed', (obj.conn.name, obj.jid)) + + def on_gc_message_received(self, obj): + if not hasattr(obj, 'needs_highlight'): + # event has not been handled at GUI level + return + self.raise_signal('GCMessage', (obj.conn.name, [obj.fjid, obj.msgtxt, + obj.properties.timestamp, obj.delayed, + obj.displaymarking, obj.needs_highlight])) + + def _nec_decrypted_message_received(self, obj): + event_type = obj.properties.type.value + if obj.properties.is_muc_pm: + event_type = 'pm' + self.raise_signal('NewMessage', ( + obj.conn.name, [obj.fjid, obj.msgtxt, obj.properties.timestamp, + event_type, obj.properties.subject, + obj.msg_log_id, obj.properties.nickname])) + + def on_our_status(self, event): + self.raise_signal('AccountPresence', (event.show, event.account)) + + def on_account_created(self, obj): + self.raise_signal('NewAccount', (obj.conn.name, obj.account_info)) + + def on_vcard_received(self, obj): + self.raise_signal('VcardInfo', (obj.account, obj.vcard_dict)) + + def raise_signal(self, event_name, data): + log.info('Send event %s', event_name) + self.con.emit_signal(None, + '/org/gajim/dbus/RemoteObject', + 'org.gajim.dbus.RemoteInterface', + event_name, + GLib.Variant.new_tuple(get_dbus_struct(data))) + + def get_status(self, account): + """ + Return status (show to be exact) which is the global one unless + account is given + """ + if not account: + # If user did not ask for account, returns the global status + return helpers.get_global_show() + # return show for the given account + return app.connections[account].status + + def get_status_message(self, account): + """ + Return status which is the global one unless account is given + """ + if not account: + # If user did not ask for account, returns the global status + return str(helpers.get_global_status_message()) + # return show for the given account + return app.connections[account].status_message + + def _get_account_and_contact(self, account, jid): + """ + Get the account (if not given) and contact instance from jid + """ + connected_account = None + contact = None + accounts = app.contacts.get_accounts() + # if there is only one account in roster, take it as default + # if user did not ask for account + if not account and len(accounts) == 1: + account = accounts[0] + if account: + if app.account_is_available(account): # account is connected + connected_account = account + contact = app.contacts.get_contact_with_highest_priority( + account, jid) + else: + for account_ in accounts: + contact = app.contacts.get_contact_with_highest_priority( + account, jid) + if contact and app.account_is_available(account_): + # account is connected + connected_account = account_ + break + if not contact: + contact = jid + + return connected_account, contact + + def _get_account_for_groupchat(self, account, room_jid): + """ + Get the account which is connected to groupchat (if not given) + or check if the given account is connected to the groupchat + """ + connected_account = None + accounts = app.contacts.get_accounts() + # if there is only one account in roster, take it as default + # if user did not ask for account + if not account and len(accounts) == 1: + account = accounts[0] + if account: + if app.account_is_available(account) and \ + room_jid in app.gc_connected[account] and \ + app.gc_connected[account][room_jid]: + # account and groupchat are connected + connected_account = account + else: + for account_ in accounts: + if app.account_is_available(account_) and \ + room_jid in app.gc_connected[account_] and \ + app.gc_connected[account_][room_jid]: + # account and groupchat are connected + connected_account = account_ + break + return connected_account + + def send_file(self, file_path, jid, account): + """ + Send file, located at 'file_path' to 'jid', using account (optional) + 'account' + """ + jid = self._get_real_jid(jid, account) + connected_account, contact = self._get_account_and_contact( + account, jid) + + if connected_account: + if file_path.startswith('file://'): + file_path = file_path[7:] + if os.path.isfile(file_path): # is it file? + app.interface.instances['file_transfers'].send_file( + connected_account, contact, file_path) + return True + return False + + def _send_message(self, + jid, + message, + account, + type_='chat', + subject=None): + """ + Can be called from send_chat_message (default when send_message) or + send_single_message + """ + if not jid or not message: + return False + + connected_account, contact = self._get_account_and_contact(account, jid) + if not connected_account or contact is None: + return False + + connection = app.connections[connected_account] + ctrl = app.interface.msg_win_mgr.search_control( + jid, connected_account) + if ctrl: + ctrl.send_message(message) + else: + message_ = OutgoingMessage(account=connected_account, + contact=contact, + message=message, + type_=type_, + subject=subject, + control=ctrl) + connection.send_message(message_) + return True + + def send_chat_message(self, jid, message, account): + """ + Send chat 'message' to 'jid', using account (optional) 'account'. + """ + jid = self._get_real_jid(jid, account) + return self._send_message(jid, message, account) + + def send_single_message(self, jid, subject, message, account): + """ + Send single 'message' to 'jid', using account (optional) 'account'. + """ + jid = self._get_real_jid(jid, account) + return self._send_message(jid, message, account, 'normal', subject) + + def send_groupchat_message(self, room_jid, message, account): + """ + Send 'message' to groupchat 'room_jid', + using account (optional) 'account' + """ + if not room_jid or not message: + return False + connected_account = self._get_account_for_groupchat(account, room_jid) + if not connected_account: + return False + + contact = app.contacts.get_groupchat_contact(connected_account, + room_jid) + if contact is None: + return False + + message_ = OutgoingMessage(account=connected_account, + contact=contact, + message=message, + type_='groupchat') + con = app.connections[connected_account] + con.send_message(message_) + return True + + + def open_chat(self, jid, account, message): + """ + Shows the tabbed window for new message to 'jid', using account (optional) + 'account' + """ + if not jid: + raise ValueError('jid is missing') + jid = self._get_real_jid(jid, account) + try: + jid = helpers.parse_jid(jid) + except Exception: + # Jid is not conform, ignore it + return False + + minimized_control = None + if account: + accounts = [account] + else: + accounts = app.connections.keys() + if len(accounts) == 1: + account = accounts[0] + connected_account = None + first_connected_acct = None + for acct in accounts: + if app.account_is_available(acct): # account is online + contact = app.contacts.get_first_contact_from_jid(acct, jid) + if app.interface.msg_win_mgr.has_window(jid, acct): + connected_account = acct + break + # jid is in roster + if contact: + minimized_control = \ + jid in app.interface.minimized_controls[acct] + connected_account = acct + break + # we send the message to jid not in roster, because account is + # specified, or there is only one account + if account: + connected_account = acct + elif first_connected_acct is None: + first_connected_acct = acct + + # if jid is not a contact, open-chat with first connected account + if connected_account is None and first_connected_acct: + connected_account = first_connected_acct + + if minimized_control: + app.interface.roster.on_groupchat_maximized( + None, jid, connected_account) + + if connected_account: + app.interface.new_chat_from_jid(connected_account, jid, message) + # preserve the 'steal focus preservation' + win = app.interface.msg_win_mgr.get_window( + jid, connected_account).window + if win.get_property('visible'): + win.window.present() + return True + return False + + def change_status(self, status, message, account): + """ + change_status(status, message, account). Account is optional - if not + specified status is changed for all accounts + """ + if status not in ('offline', 'online', 'chat', 'away', 'xa', 'dnd'): + status = '' + if account: + if not status: + if account not in app.connections: + return False + status = app.connections[account].status + GLib.idle_add(app.interface.roster.send_status, account, status, + message) + else: + # account not specified, so change the status of all accounts + for acc in app.contacts.get_accounts(): + if not app.settings.get_account_setting( + acc, 'sync_with_global_status'): + continue + if status: + status_ = status + else: + if acc not in app.connections: + continue + status_ = app.connections[acc].status + GLib.idle_add(app.interface.roster.send_status, acc, status_, + message) + return False + + def set_priority(self, prio, account): + """ + set_priority(prio, account). Account is optional - if not specified + priority is changed for all accounts. That are synced with global status + """ + if account: + app.settings.set_account_setting(account, 'priority', prio) + show = app.connections[account].status + status = app.connections[account].status_message + GLib.idle_add(app.connections[account].change_status, show, status) + else: + # account not specified, so change prio of all accounts + for acc in app.contacts.get_accounts(): + if not app.account_is_available(acc): + continue + if not app.settings.get_account_setting( + acc, 'sync_with_global_status'): + continue + app.settings.set_account_setting(acc, 'priority', prio) + show = app.connections[acc].status + status = app.connections[acc].status_message + GLib.idle_add(app.connections[acc].change_status, show, status) + + def show_next_pending_event(self): + """ + Show the window(s) with next pending event in tabbed/group chats + """ + if app.events.get_nb_events(): + account, jid, event = app.events.get_first_systray_event() + if not event: + return + app.interface.handle_event(account, jid, event.type_) + + def list_accounts(self): + """ + List register accounts + """ + result = app.contacts.get_accounts() + result_array = [] + if result: + for account in result: + result_array.append(account) + return result_array + + def account_info(self, account): + """ + Show info on account: resource, jid, nick, prio, message + """ + result = {} + if account in app.connections: + # account is valid + con = app.connections[account] + result['status'] = con.status + result['name'] = con.name + result['jid'] = app.get_jid_from_account(con.name) + result['message'] = con.status_message + result['priority'] = str(con.priority) + result['resource'] = app.settings.get_account_setting(con.name, + 'resource') + return result + + def list_contacts(self, account): + """ + List all contacts in the roster. If the first argument is specified, + then return the contacts for the specified account + """ + result = [] + accounts = app.contacts.get_accounts() + if not accounts: + return result + if account: + accounts_to_search = [account] + else: + accounts_to_search = accounts + for acct in accounts_to_search: + if acct in accounts: + for jid in app.contacts.get_jid_list(acct): + item = self._contacts_as_dbus_structure( + app.contacts.get_contacts(acct, jid)) + if item: + result.append(item) + return result + + def add_contact(self, jid, account): + if account: + if app.account_is_available(account): + # if given account is active, use it + AddNewContactWindow(account=account, contact_jid=jid) + else: + # wrong account + return False + else: + # if account is not given, show account combobox + AddNewContactWindow(account=None, contact_jid=jid) + return True + + def remove_contact(self, jid, account): + jid = self._get_real_jid(jid, account) + accounts = app.contacts.get_accounts() + + # if there is only one account in roster, take it as default + if account: + accounts = [account] + contact_exists = False + for account_ in accounts: + contacts = app.contacts.get_contacts(account_, jid) + if contacts: + app.connections[account_].get_module('Presence').unsubscribe(jid) + for contact in contacts: + app.interface.roster.remove_contact(contact, account_) + app.contacts.remove_jid(account_, jid) + contact_exists = True + return contact_exists + + def _is_first(self): + if self.first_show: + self.first_show = False + return True + return False + + def _get_real_jid(self, jid, account=None): + """ + Get the real jid from the given one: removes xmpp: or get jid from nick if + account is specified, search only in this account + """ + if account: + accounts = [account] + else: + accounts = app.connections.keys() + if jid.startswith('xmpp:'): + return jid[5:] # len('xmpp:') = 5 + nick_in_roster = None # Is jid a nick ? + for account_ in accounts: + # Does jid exists in roster of one account ? + if app.contacts.get_contacts(account_, jid): + return jid + if not nick_in_roster: + # look in all contact if one has jid as nick + for jid_ in app.contacts.get_jid_list(account_): + c = app.contacts.get_contacts(account_, jid_) + if c[0].name == jid: + nick_in_roster = jid_ + break + if nick_in_roster: + # We have not found jid in roster, but we found is as a nick + return nick_in_roster + # We have not found it as jid nor as nick, probably a not in roster jid + return jid + + def _contacts_as_dbus_structure(self, contacts): + """ + Get info from list of Contact objects and create dbus dict + """ + if not contacts: + return None + prim_contact = None # primary contact + for contact in contacts: + if prim_contact is None or contact.priority > prim_contact.priority: + prim_contact = contact + contact_dict = {} + name = prim_contact.name if prim_contact.name is not None else '' + contact_dict['name'] = GLib.Variant('s', name) + contact_dict['show'] = GLib.Variant('s', prim_contact.show) + contact_dict['jid'] = GLib.Variant('s', prim_contact.jid) + + resources = GLib.VariantBuilder(GLib.VariantType('a(sis)')) + for contact in contacts: + resource_props = (contact.resource, int(contact.priority), + contact.status) + resources.add_value(GLib.Variant('(sis)', resource_props)) + contact_dict['resources'] = resources.end() + + groups = GLib.VariantBuilder(GLib.VariantType('as')) + for group in prim_contact.groups: + groups.add_value(GLib.Variant('s', group)) + contact_dict['groups'] = groups.end() + return contact_dict + + def get_unread_msgs_number(self): + unread = app.events.get_nb_events() + for event in app.events.get_all_events(['printed_gc_msg']): + contact = app.contacts.get_groupchat_contact(event.account, + event.jid) + if contact is None or not contact.can_notify(): + unread -= 1 + continue + + return str(unread) + + def start_chat(self, jid=''): + app.app.activate_action('start-chat', GLib.Variant('s', jid)) + return True + + def send_xml(self, xml, account): + if account: + app.connections[account].send_stanza(str(xml)) + else: + for acc in app.contacts.get_accounts(): + app.connections[acc].send_stanza(str(xml)) + + def join_room(self, room_jid, password, account): + if not account: + # get the first connected account + accounts = app.connections.keys() + for acct in accounts: + if app.account_is_available(acct): + if not app.connections[acct].is_zeroconf: + account = acct + break + if not account: + return + + if app.connections[account].is_zeroconf: + # zeroconf not support groupchats + return + + app.interface.show_or_join_groupchat(account, + room_jid, + password=password) + + def Introspect(self): + return self.__doc__ diff --git a/gajim/roster_window.py b/gajim/roster_window.py new file mode 100644 index 0000000..713232d --- /dev/null +++ b/gajim/roster_window.py @@ -0,0 +1,5285 @@ +# Copyright (C) 2003-2014 Yann Leboulanger +# Copyright (C) 2005 Alex Mauer +# Stéphan Kochen +# Copyright (C) 2005-2006 Dimitur Kirov +# Copyright (C) 2005-2007 Travis Shirk +# Nikos Kouremenos +# Copyright (C) 2006 Stefan Bethge +# Copyright (C) 2006-2008 Jean-Marie Traissard +# Copyright (C) 2007 Lukas Petrovicky +# James Newton +# Tomasz Melcer +# Julien Pivotto +# Copyright (C) 2007-2008 Stephan Erb +# Copyright (C) 2008 Brendan Taylor +# Jonathan Schleifer +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import os +import sys +import time +import locale +import logging +from enum import IntEnum, unique + +from gi.repository import Gtk +from gi.repository import Gdk +from gi.repository import Pango +from gi.repository import GObject +from gi.repository import GLib +from gi.repository import Gio +from nbxmpp.namespaces import Namespace + +from gajim import dialogs +from gajim import vcard +from gajim import gtkgui_helpers +from gajim import gui_menu_builder + +from gajim.common import app +from gajim.common import helpers +from gajim.common.exceptions import GajimGeneralException +from gajim.common import i18n +from gajim.common.helpers import save_roster_position +from gajim.common.helpers import ask_for_status_message +from gajim.common.i18n import _ +from gajim.common.const import PEPEventType, AvatarSize, StyleAttr +from gajim.common.dbus import location + +from gajim.common import ged +from gajim.message_window import MessageWindowMgr + +from gajim.gui.dialogs import DialogButton +from gajim.gui.dialogs import ConfirmationDialog +from gajim.gui.dialogs import ConfirmationCheckDialog +from gajim.gui.dialogs import ErrorDialog +from gajim.gui.dialogs import InputDialog +from gajim.gui.dialogs import InformationDialog +from gajim.gui.single_message import SingleMessageWindow +from gajim.gui.add_contact import AddNewContactWindow +from gajim.gui.service_registration import ServiceRegistration +from gajim.gui.discovery import ServiceDiscoveryWindow +from gajim.gui.tooltips import RosterTooltip +from gajim.gui.adhoc import AdHocCommand +from gajim.gui.status_selector import StatusSelector +from gajim.gui.util import get_icon_name +from gajim.gui.util import resize_window +from gajim.gui.util import restore_roster_position +from gajim.gui.util import get_metacontact_surface +from gajim.gui.util import get_builder +from gajim.gui.util import set_urgency_hint +from gajim.gui.util import get_activity_icon_name +from gajim.gui.util import get_account_activity_icon_name +from gajim.gui.util import get_account_mood_icon_name +from gajim.gui.util import get_account_tune_icon_name +from gajim.gui.util import get_account_location_icon_name +from gajim.gui.util import open_window + + +log = logging.getLogger('gajim.roster') + +@unique +class Column(IntEnum): + IMG = 0 # image to show state (online, new message etc) + NAME = 1 # cellrenderer text that holds contact nickname + TYPE = 2 # account, group or contact? + JID = 3 # the jid of the row + ACCOUNT = 4 # cellrenderer text that holds account name + MOOD_PIXBUF = 5 + ACTIVITY_PIXBUF = 6 + TUNE_ICON = 7 + LOCATION_ICON = 8 + AVATAR_IMG = 9 # avatar_sha + PADLOCK_PIXBUF = 10 # use for account row only + VISIBLE = 11 + + +class RosterWindow: + """ + Class for main window of the GTK interface + """ + + def _get_account_iter(self, name, model=None): + """ + Return the Gtk.TreeIter of the given account or None if not found + + Keyword arguments: + name -- the account name + model -- the data model (default TreeFilterModel) + """ + if model is None: + model = self.modelfilter + if model is None: + return + + if self.regroup: + name = 'MERGED' + if name not in self._iters: + return None + it = self._iters[name]['account'] + + if model == self.model or it is None: + return it + try: + (ok, it) = self.modelfilter.convert_child_iter_to_iter(it) + if ok: + return it + return None + except RuntimeError: + return None + + + def _get_group_iter(self, name, account, model=None): + """ + Return the Gtk.TreeIter of the given group or None if not found + + Keyword arguments: + name -- the group name + account -- the account name + model -- the data model (default TreeFilterModel) + """ + if model is None: + model = self.modelfilter + if model is None: + return + + if self.regroup: + account = 'MERGED' + + if account not in self._iters: + return None + if name not in self._iters[account]['groups']: + return None + + it = self._iters[account]['groups'][name] + if model == self.model or it is None: + return it + try: + (ok, it) = self.modelfilter.convert_child_iter_to_iter(it) + if ok: + return it + return None + except RuntimeError: + return None + + + def _get_self_contact_iter(self, account, model=None): + """ + Return the Gtk.TreeIter of SelfContact or None if not found + + Keyword arguments: + account -- the account of SelfContact + model -- the data model (default TreeFilterModel) + """ + jid = app.get_jid_from_account(account) + its = self._get_contact_iter(jid, account, model=model) + if its: + return its[0] + return None + + + def _get_contact_iter(self, jid, account, contact=None, model=None): + """ + Return a list of Gtk.TreeIter of the given contact + + Keyword arguments: + jid -- the jid without resource + account -- the account + contact -- the contact (default None) + model -- the data model (default TreeFilterModel) + """ + if model is None: + model = self.modelfilter + # when closing Gajim model can be none (async pbs?) + if model is None: + return [] + + if not contact: + contact = app.contacts.get_first_contact_from_jid(account, jid) + if not contact: + # We don't know this contact + return [] + + if account not in self._iters: + return [] + + if jid not in self._iters[account]['contacts']: + return [] + + its = self._iters[account]['contacts'][jid] + + if not its: + return [] + + if model == self.model: + return its + + its2 = [] + for it in its: + try: + (ok, it) = self.modelfilter.convert_child_iter_to_iter(it) + if ok: + its2.append(it) + except RuntimeError: + pass + return its2 + + @staticmethod + def _iter_is_separator(model, titer): + """ + Return True if the given iter is a separator + + Keyword arguments: + model -- the data model + iter -- the Gtk.TreeIter to test + """ + if model[titer][0] == 'SEPARATOR': + return True + return False + +############################################################################# +### Methods for adding and removing roster window items +############################################################################# + + def add_account(self, account): + """ + Add account to roster and draw it. Do nothing if it is already in + """ + if self._get_account_iter(account): + # Will happen on reconnect or for merged accounts + return + + if self.regroup: + # Merged accounts view + show = helpers.get_global_show() + it = self.model.append(None, [get_icon_name(show), + _('Merged accounts'), 'account', '', 'all', None, None, None, + None, None, None, True] + [None] * self.nb_ext_renderers) + self._iters['MERGED']['account'] = it + else: + show = helpers.get_connection_status(account) + our_jid = app.get_jid_from_account(account) + + it = self.model.append(None, [get_icon_name(show), + GLib.markup_escape_text(account), 'account', our_jid, + account, None, None, None, None, None, None, True] + + [None] * self.nb_ext_renderers) + self._iters[account]['account'] = it + + self.draw_account(account) + + + def add_account_contacts(self, account, improve_speed=True, + draw_contacts=True): + """ + Add all contacts and groups of the given account to roster, draw them + and account + """ + if improve_speed: + self._before_fill() + jids = app.contacts.get_jid_list(account) + + for jid in jids: + self.add_contact(jid, account) + + if draw_contacts: + # Do not freeze the GUI when drawing the contacts + if jids: + # Overhead is big, only invoke when needed + self._idle_draw_jids_of_account(jids, account) + + # Draw all known groups + for group in app.groups[account]: + self.draw_group(group, account) + self.draw_account(account) + + if improve_speed: + self._after_fill() + + def _add_group_iter(self, account, group): + """ + Add a group iter in roster and return the newly created iter + """ + if self.regroup: + account_group = 'MERGED' + else: + account_group = account + delimiter = app.connections[account].get_module('Delimiter').delimiter + group_splited = group.split(delimiter) + parent_group = delimiter.join(group_splited[:-1]) + if len(group_splited) > 1 and parent_group in self._iters[account_group]['groups']: + iter_parent = self._iters[account_group]['groups'][parent_group] + elif parent_group: + iter_parent = self._add_group_iter(account, parent_group) + if parent_group not in app.groups[account]: + if account + parent_group in self.collapsed_rows: + is_expanded = False + else: + is_expanded = True + app.groups[account][parent_group] = {'expand': is_expanded} + else: + iter_parent = self._get_account_iter(account, self.model) + iter_group = self.model.append(iter_parent, + [get_icon_name('closed'), + GLib.markup_escape_text(group), 'group', group, account, None, + None, None, None, None, None, False] + [None] * self.nb_ext_renderers) + self.draw_group(group, account) + self._iters[account_group]['groups'][group] = iter_group + return iter_group + + def _add_entity(self, contact, account, groups=None, + big_brother_contact=None, big_brother_account=None): + """ + Add the given contact to roster data model + + Contact is added regardless if he is already in roster or not. Return + list of newly added iters. + + Keyword arguments: + contact -- the contact to add + account -- the contacts account + groups -- list of groups to add the contact to. + (default groups in contact.get_shown_groups()). + Parameter ignored when big_brother_contact is specified. + big_brother_contact -- if specified contact is added as child + big_brother_contact. (default None) + """ + added_iters = [] + visible = self.contact_is_visible(contact, account) + if big_brother_contact: + # Add contact under big brother + + parent_iters = self._get_contact_iter( + big_brother_contact.jid, big_brother_account, + big_brother_contact, self.model) + + # Do not confuse get_contact_iter: Sync groups of family members + contact.groups = big_brother_contact.groups[:] + + image = self._get_avatar_image(account, contact.jid) + + for child_iter in parent_iters: + it = self.model.append(child_iter, [None, + contact.get_shown_name(), 'contact', contact.jid, account, + None, None, None, None, image, None, visible] + \ + [None] * self.nb_ext_renderers) + added_iters.append(it) + if contact.jid in self._iters[account]['contacts']: + self._iters[account]['contacts'][contact.jid].append(it) + else: + self._iters[account]['contacts'][contact.jid] = [it] + else: + # We are a normal contact. Add us to our groups. + if not groups: + groups = contact.get_shown_groups() + for group in groups: + child_iterG = self._get_group_iter(group, account, + model=self.model) + if not child_iterG: + # Group is not yet in roster, add it! + child_iterG = self._add_group_iter(account, group) + + if contact.is_transport(): + typestr = 'agent' + elif contact.is_groupchat: + typestr = 'groupchat' + else: + typestr = 'contact' + + image = self._get_avatar_image(account, contact.jid) + + # we add some values here. see draw_contact + # for more + i_ = self.model.append(child_iterG, [None, + contact.get_shown_name(), typestr, contact.jid, account, + None, None, None, None, image, None, visible] + \ + [None] * self.nb_ext_renderers) + added_iters.append(i_) + if contact.jid in self._iters[account]['contacts']: + self._iters[account]['contacts'][contact.jid].append(i_) + else: + self._iters[account]['contacts'][contact.jid] = [i_] + + # Restore the group expand state + if account + group in self.collapsed_rows: + is_expanded = False + else: + is_expanded = True + if group not in app.groups[account]: + app.groups[account][group] = {'expand': is_expanded} + + return added_iters + + def _remove_entity(self, contact, account, groups=None): + """ + Remove the given contact from roster data model + + Empty groups after contact removal are removed too. + Return False if contact still has children and deletion was + not performed. + Return True on success. + + Keyword arguments: + contact -- the contact to add + account -- the contacts account + groups -- list of groups to remove the contact from. + """ + iters = self._get_contact_iter(contact.jid, account, contact, + self.model) + + parent_iter = self.model.iter_parent(iters[0]) + parent_type = self.model[parent_iter][Column.TYPE] + + if groups: + # Only remove from specified groups + all_iters = iters[:] + group_iters = [self._get_group_iter(group, account) + for group in groups] + iters = [titer for titer in all_iters + if self.model.iter_parent(titer) in group_iters] + + iter_children = self.model.iter_children(iters[0]) + + if iter_children: + # We have children. We cannot be removed! + return False + # Remove us and empty groups from the model + for i in iters: + parent_i = self.model.iter_parent(i) + parent_type = self.model[parent_i][Column.TYPE] + + to_be_removed = i + while parent_type == 'group' and \ + self.model.iter_n_children(parent_i) == 1: + if self.regroup: + account_group = 'MERGED' + else: + account_group = account + group = self.model[parent_i][Column.JID] + if group in app.groups[account]: + del app.groups[account][group] + to_be_removed = parent_i + del self._iters[account_group]['groups'][group] + parent_i = self.model.iter_parent(parent_i) + parent_type = self.model[parent_i][Column.TYPE] + self.model.remove(to_be_removed) + + del self._iters[account]['contacts'][contact.jid] + return True + + def _add_metacontact_family(self, family, account): + """ + Add the give Metacontact family to roster data model + + Add Big Brother to his groups and all others under him. + Return list of all added (contact, account) tuples with + Big Brother as first element. + + Keyword arguments: + family -- the family, see Contacts.get_metacontacts_family() + """ + + nearby_family, big_brother_jid, big_brother_account = \ + self._get_nearby_family_and_big_brother(family, account) + if not big_brother_jid: + return [] + big_brother_contact = app.contacts.get_first_contact_from_jid( + big_brother_account, big_brother_jid) + + self._add_entity(big_brother_contact, big_brother_account) + + brothers = [] + # Filter family members + for data in nearby_family: + _account = data['account'] + _jid = data['jid'] + _contact = app.contacts.get_first_contact_from_jid( + _account, _jid) + + if not _contact or _contact == big_brother_contact: + # Corresponding account is not connected + # or brother already added + continue + + self._add_entity(_contact, _account, + big_brother_contact=big_brother_contact, + big_brother_account=big_brother_account) + brothers.append((_contact, _account)) + + brothers.insert(0, (big_brother_contact, big_brother_account)) + return brothers + + def _remove_metacontact_family(self, family, account): + """ + Remove the given Metacontact family from roster data model + + See Contacts.get_metacontacts_family() and + RosterWindow._remove_entity() + """ + nearby_family = self._get_nearby_family_and_big_brother( + family, account)[0] + + # Family might has changed (actual big brother not on top). + # Remove children first then big brother + family_in_roster = False + for data in nearby_family: + _account = data['account'] + _jid = data['jid'] + _contact = app.contacts.get_first_contact_from_jid(_account, _jid) + + iters = self._get_contact_iter(_jid, _account, _contact, self.model) + if not iters or not _contact: + # Family might not be up to date. + # Only try to remove what is actually in the roster + continue + + family_in_roster = True + + parent_iter = self.model.iter_parent(iters[0]) + parent_type = self.model[parent_iter][Column.TYPE] + + if parent_type != 'contact': + # The contact on top + old_big_account = _account + old_big_contact = _contact + continue + + self._remove_entity(_contact, _account) + + if not family_in_roster: + return False + + self._remove_entity(old_big_contact, old_big_account) + + return True + + def _recalibrate_metacontact_family(self, family, account): + """ + Regroup metacontact family if necessary + """ + + brothers = [] + nearby_family, big_brother_jid, big_brother_account = \ + self._get_nearby_family_and_big_brother(family, account) + big_brother_contact = app.contacts.get_contact(big_brother_account, + big_brother_jid) + child_iters = self._get_contact_iter(big_brother_jid, + big_brother_account, model=self.model) + if child_iters: + parent_iter = self.model.iter_parent(child_iters[0]) + parent_type = self.model[parent_iter][Column.TYPE] + + # Check if the current BigBrother has even been before. + if parent_type == 'contact': + for data in nearby_family: + # recalibrate after remove to keep highlight + if data['jid'] in app.to_be_removed[data['account']]: + return + + self._remove_metacontact_family(family, account) + brothers = self._add_metacontact_family(family, account) + + for c, acc in brothers: + self.draw_completely(c.jid, acc) + + # Check is small brothers are under the big brother + for child in nearby_family: + _jid = child['jid'] + _account = child['account'] + if _account == big_brother_account and _jid == big_brother_jid: + continue + child_iters = self._get_contact_iter(_jid, _account, + model=self.model) + if not child_iters: + continue + parent_iter = self.model.iter_parent(child_iters[0]) + parent_type = self.model[parent_iter][Column.TYPE] + if parent_type != 'contact': + _contact = app.contacts.get_contact(_account, _jid) + self._remove_entity(_contact, _account) + self._add_entity(_contact, _account, groups=None, + big_brother_contact=big_brother_contact, + big_brother_account=big_brother_account) + + def _get_nearby_family_and_big_brother(self, family, account): + return app.contacts.get_nearby_family_and_big_brother(family, account) + + def _add_self_contact(self, account): + """ + Add account's SelfContact to roster and draw it and the account + + Return the SelfContact contact instance + """ + jid = app.get_jid_from_account(account) + contact = app.contacts.get_first_contact_from_jid(account, jid) + + child_iterA = self._get_account_iter(account, self.model) + self._iters[account]['contacts'][jid] = [self.model.append(child_iterA, + [None, app.nicks[account], 'self_contact', jid, account, None, + None, None, None, None, None, True] + [None] * self.nb_ext_renderers)] + + self.draw_completely(jid, account) + self.draw_account(account) + + return contact + + def redraw_metacontacts(self, account): + for family in app.contacts.iter_metacontacts_families(account): + self._recalibrate_metacontact_family(family, account) + + def add_contact(self, jid, account): + """ + Add contact to roster and draw him + + Add contact to all its group and redraw the groups, the contact and the + account. If it's a Metacontact, add and draw the whole family. + Do nothing if the contact is already in roster. + + Return the added contact instance. If it is a Metacontact return + Big Brother. + + Keyword arguments: + jid -- the contact's jid or SelfJid to add SelfContact + account -- the corresponding account. + """ + contact = app.contacts.get_contact_with_highest_priority(account, jid) + if self._get_contact_iter(jid, account, contact, self.model): + # If contact already in roster, do nothing + return + + if jid == app.get_jid_from_account(account): + return self._add_self_contact(account) + + is_observer = contact.is_observer() + if is_observer: + # if he has a tag, remove it + app.contacts.remove_metacontact(account, jid) + + # Add contact to roster + family = app.contacts.get_metacontacts_family(account, jid) + contacts = [] + if family: + # We have a family. So we are a metacontact. + # Add all family members that we shall be grouped with + if self.regroup: + # remove existing family members to regroup them + self._remove_metacontact_family(family, account) + contacts = self._add_metacontact_family(family, account) + else: + # We are a normal contact + contacts = [(contact, account), ] + self._add_entity(contact, account) + + # Draw the contact and its groups contact + if not self.starting: + for c, acc in contacts: + self.draw_completely(c.jid, acc) + for group in contact.get_shown_groups(): + self.draw_group(group, account) + self._adjust_group_expand_collapse_state(group, account) + self.draw_account(account) + + return contacts[0][0] # it's contact/big brother with highest priority + + def remove_contact(self, jid, account, force=False, backend=False, maximize=False): + """ + Remove contact from roster + + Remove contact from all its group. Remove empty groups or redraw + otherwise. + Draw the account. + If it's a Metacontact, remove the whole family. + Do nothing if the contact is not in roster. + + Keyword arguments: + jid -- the contact's jid or SelfJid to remove SelfContact + account -- the corresponding account. + force -- remove contact even it has pending evens (Default False) + backend -- also remove contact instance (Default False) + """ + contact = app.contacts.get_contact_with_highest_priority(account, jid) + if not contact: + return + + if not force and self.contact_has_pending_roster_events(contact, + account): + return False + + iters = self._get_contact_iter(jid, account, contact, self.model) + if iters: + # no more pending events + # Remove contact from roster directly + family = app.contacts.get_metacontacts_family(account, jid) + if family: + # We have a family. So we are a metacontact. + self._remove_metacontact_family(family, account) + else: + self._remove_entity(contact, account) + + old_grps = [] + if backend: + if not app.interface.msg_win_mgr.get_control(jid, account) or \ + force: + # If a window is still opened: don't remove contact instance + # Remove contact before redrawing, otherwise the old + # numbers will still be show + if not maximize: + # Don't remove contact when we maximize a room + app.contacts.remove_jid(account, jid, remove_meta=True) + if iters: + rest_of_family = [data for data in family + if account != data['account'] or jid != data['jid']] + if rest_of_family: + # reshow the rest of the family + brothers = self._add_metacontact_family(rest_of_family, + account) + for c, acc in brothers: + self.draw_completely(c.jid, acc) + else: + for c in app.contacts.get_contacts(account, jid): + c.sub = 'none' + c.show = 'not in roster' + c.status = '' + old_grps = c.get_shown_groups() + c.groups = [_('Not in contact list')] + self._add_entity(c, account) + self.draw_contact(jid, account) + + if iters: + # Draw all groups of the contact + for group in contact.get_shown_groups() + old_grps: + self.draw_group(group, account) + self.draw_account(account) + + return True + + def rename_self_contact(self, old_jid, new_jid, account): + """ + Rename the self_contact jid + + Keyword arguments: + old_jid -- our old jid + new_jid -- our new jid + account -- the corresponding account. + """ + app.contacts.change_contact_jid(old_jid, new_jid, account) + self_iter = self._get_self_contact_iter(account, model=self.model) + if not self_iter: + return + self.model[self_iter][Column.JID] = new_jid + self.draw_contact(new_jid, account) + + def minimize_groupchat(self, account, jid, status=''): + gc_control = app.interface.msg_win_mgr.get_gc_control(jid, account) + app.interface.minimized_controls[account][jid] = gc_control + self.add_groupchat(jid, account) + + def add_groupchat(self, jid, account): + """ + Add groupchat to roster and draw it. Return the added contact instance + """ + contact = app.contacts.get_groupchat_contact(account, jid) + show = 'offline' + if app.account_is_available(account): + show = 'online' + + contact.show = show + self.add_contact(jid, account) + + return contact + + def remove_groupchat(self, jid, account, maximize=False): + """ + Remove groupchat from roster and redraw account and group + """ + contact = app.contacts.get_contact_with_highest_priority(account, jid) + if contact.is_groupchat: + if jid in app.interface.minimized_controls[account]: + del app.interface.minimized_controls[account][jid] + self.remove_contact(jid, account, force=True, backend=True, maximize=maximize) + return True + return False + + # FIXME: This function is yet unused! Port to new API + def add_transport(self, jid, account): + """ + Add transport to roster and draw it. Return the added contact instance + """ + contact = app.contacts.get_contact_with_highest_priority(account, jid) + if contact is None: + contact = app.contacts.create_contact(jid=jid, account=account, + name=jid, groups=[_('Transports')], show='offline', + status='offline', sub='from') + app.contacts.add_contact(account, contact) + self.add_contact(jid, account) + return contact + + def remove_transport(self, jid, account): + """ + Remove transport from roster and redraw account and group + """ + self.remove_contact(jid, account, force=True, backend=True) + return True + + def rename_group(self, old_name, new_name, account): + """ + Rename a roster group + """ + if old_name == new_name: + return + + # Groups may not change name from or to a special groups + for g in helpers.special_groups: + if g in (new_name, old_name): + return + + # update all contacts in the given group + if self.regroup: + accounts = app.connections.keys() + else: + accounts = [account, ] + + for acc in accounts: + changed_contacts = [] + for jid in app.contacts.get_jid_list(acc): + contact = app.contacts.get_first_contact_from_jid(acc, jid) + if old_name not in contact.groups: + continue + + self.remove_contact(jid, acc, force=True) + + contact.groups.remove(old_name) + if new_name not in contact.groups: + contact.groups.append(new_name) + + changed_contacts.append({'jid': jid, 'name': contact.name, + 'groups':contact.groups}) + + app.connections[acc].get_module('Roster').update_contacts( + changed_contacts) + + for c in changed_contacts: + self.add_contact(c['jid'], acc) + + self._adjust_group_expand_collapse_state(new_name, acc) + + self.draw_group(old_name, acc) + self.draw_group(new_name, acc) + + + def add_contact_to_groups(self, jid, account, groups, update=True): + """ + Add contact to given groups and redraw them + + Contact on server is updated too. When the contact has a family, + the action will be performed for all members. + + Keyword Arguments: + jid -- the jid + account -- the corresponding account + groups -- list of Groups to add the contact to. + update -- update contact on the server + """ + self.remove_contact(jid, account, force=True) + for contact in app.contacts.get_contacts(account, jid): + for group in groups: + if group not in contact.groups: + # we might be dropped from meta to group + contact.groups.append(group) + if update: + con = app.connections[account] + con.get_module('Roster').update_contact( + jid, contact.name, contact.groups) + + self.add_contact(jid, account) + + for group in groups: + self._adjust_group_expand_collapse_state(group, account) + + def remove_contact_from_groups(self, jid, account, groups, update=True): + """ + Remove contact from given groups and redraw them + + Contact on server is updated too. When the contact has a family, + the action will be performed for all members. + + Keyword Arguments: + jid -- the jid + account -- the corresponding account + groups -- list of Groups to remove the contact from + update -- update contact on the server + """ + self.remove_contact(jid, account, force=True) + for contact in app.contacts.get_contacts(account, jid): + for group in groups: + if group in contact.groups: + # Needed when we remove from "General" or "Observers" + contact.groups.remove(group) + if update: + con = app.connections[account] + con.get_module('Roster').update_contact( + jid, contact.name, contact.groups) + self.add_contact(jid, account) + + # Also redraw old groups + for group in groups: + self.draw_group(group, account) + + # FIXME: maybe move to app.py + def remove_newly_added(self, jid, account): + if account not in app.newly_added: + # Account has been deleted during the timeout that called us + return + if jid in app.newly_added[account]: + app.newly_added[account].remove(jid) + self.draw_contact(jid, account) + + # FIXME: maybe move to app.py + def remove_to_be_removed(self, jid, account): + if account not in app.interface.instances: + # Account has been deleted during the timeout that called us + return + if jid in app.newly_added[account]: + return + if jid in app.to_be_removed[account]: + app.to_be_removed[account].remove(jid) + family = app.contacts.get_metacontacts_family(account, jid) + if family: + # Perform delayed recalibration + self._recalibrate_metacontact_family(family, account) + self.draw_contact(jid, account) + # Hide Group if all children are hidden + contact = app.contacts.get_contact(account, jid) + if not contact: + return + for group in contact.get_shown_groups(): + self.draw_group(group, account) + + # FIXME: integrate into add_contact() + def add_to_not_in_the_roster(self, account, jid, nick='', resource='', + groupchat=False): + contact = app.contacts.create_not_in_roster_contact( + jid=jid, account=account, resource=resource, name=nick, + groupchat=groupchat) + app.contacts.add_contact(account, contact) + self.add_contact(contact.jid, account) + return contact + + +################################################################################ +### Methods for adding and removing roster window items +################################################################################ + + def _really_draw_account(self, account): + child_iter = self._get_account_iter(account, self.model) + if not child_iter: + return + + if self.regroup: + account_name = _('Merged accounts') + accounts = [] + else: + account_name = app.get_account_label(account) + accounts = [account] + + if account in self.collapsed_rows and \ + self.model.iter_has_child(child_iter): + account_name = '[%s]' % account_name + + if (app.account_is_available(account) or (self.regroup and \ + app.get_number_of_connected_accounts())) and app.settings.get( + 'show_contacts_number'): + nbr_on, nbr_total = app.contacts.get_nb_online_total_contacts( + accounts=accounts) + account_name += ' (%s/%s)' % (repr(nbr_on), repr(nbr_total)) + + self.model[child_iter][Column.NAME] = GLib.markup_escape_text(account_name) + + mood_icon_name = get_account_mood_icon_name(account) + self.model[child_iter][Column.MOOD_PIXBUF] = mood_icon_name + + activity_icon_name = get_account_activity_icon_name(account) + self.model[child_iter][Column.ACTIVITY_PIXBUF] = activity_icon_name + + tune_icon_name = get_account_tune_icon_name(account) + self.model[child_iter][Column.TUNE_ICON] = tune_icon_name + + location_icon_name = get_account_location_icon_name(account) + self.model[child_iter][Column.LOCATION_ICON] = location_icon_name + + def _really_draw_accounts(self): + for acct in self.accounts_to_draw: + self._really_draw_account(acct) + self.accounts_to_draw = [] + return False + + def draw_account(self, account): + if account in self.accounts_to_draw: + return + self.accounts_to_draw.append(account) + if len(self.accounts_to_draw) == 1: + GLib.timeout_add(200, self._really_draw_accounts) + + def _really_draw_group(self, group, account): + child_iter = self._get_group_iter(group, account, model=self.model) + if not child_iter: + # Eg. We redraw groups after we removed a entity + # and its empty groups + return + if self.regroup: + accounts = [] + else: + accounts = [account] + text = GLib.markup_escape_text(group) + if app.settings.get('show_contacts_number'): + nbr_on, nbr_total = app.contacts.get_nb_online_total_contacts( + accounts=accounts, groups=[group]) + text += ' (%s/%s)' % (repr(nbr_on), repr(nbr_total)) + + self.model[child_iter][Column.NAME] = text + + # Hide group if no more contacts + iterG = self._get_group_iter(group, account, model=self.modelfilter) + to_hide = [] + while iterG: + parent = self.modelfilter.iter_parent(iterG) + if (not self.modelfilter.iter_has_child(iterG)) or (to_hide \ + and self.modelfilter.iter_n_children(iterG) == 1): + to_hide.append(iterG) + if not parent or self.modelfilter[parent][Column.TYPE] != \ + 'group': + iterG = None + else: + iterG = parent + else: + iterG = None + for iter_ in to_hide: + self.modelfilter[iter_][Column.VISIBLE] = False + + def _really_draw_groups(self): + for ag in self.groups_to_draw.values(): + acct = ag['account'] + grp = ag['group'] + self._really_draw_group(grp, acct) + self.groups_to_draw = {} + return False + + def draw_group(self, group, account): + ag = account + group + if ag in self.groups_to_draw: + return + self.groups_to_draw[ag] = {'group': group, 'account': account} + if len(self.groups_to_draw) == 1: + GLib.timeout_add(200, self._really_draw_groups) + + def draw_parent_contact(self, jid, account): + child_iters = self._get_contact_iter(jid, account, model=self.model) + if not child_iters: + return False + parent_iter = self.model.iter_parent(child_iters[0]) + if self.model[parent_iter][Column.TYPE] != 'contact': + # parent is not a contact + return + parent_jid = self.model[parent_iter][Column.JID] + parent_account = self.model[parent_iter][Column.ACCOUNT] + self.draw_contact(parent_jid, parent_account) + return False + + def draw_contact(self, jid, account, selected=False, focus=False, + contact_instances=None, contact=None): + """ + Draw the correct state image, name BUT not avatar + """ + # focus is about if the roster window has toplevel-focus or not + # FIXME: We really need a custom cell_renderer + + if not contact_instances: + contact_instances = app.contacts.get_contacts(account, jid) + if not contact: + contact = app.contacts.get_highest_prio_contact_from_contacts( + contact_instances) + if not contact: + return False + + child_iters = self._get_contact_iter(jid, account, contact, self.model) + if not child_iters: + return False + + name = GLib.markup_escape_text(contact.get_shown_name()) + + # gets number of unread gc marked messages + if jid in app.interface.minimized_controls[account] and \ + app.interface.minimized_controls[account][jid]: + nb_unread = len(app.events.get_events(account, jid, + ['printed_marked_gc_msg'])) + nb_unread += app.interface.minimized_controls \ + [account][jid].get_nb_unread_pm() + + if nb_unread == 1: + name = '%s *' % name + elif nb_unread > 1: + name = '%s [%s]' % (name, str(nb_unread)) + + # Strike name if blocked + strike = helpers.jid_is_blocked(account, jid) + if strike: + name = '%s' % name + + # Show resource counter + nb_connected_contact = 0 + for c in contact_instances: + if c.show not in ('error', 'offline'): + nb_connected_contact += 1 + if nb_connected_contact > 1: + # switch back to default writing direction + name += i18n.paragraph_direction_mark(name) + name += ' (%d)' % nb_connected_contact + + # add status msg, if not empty, under contact name in + # the treeview + if app.settings.get('show_status_msgs_in_roster'): + status_span = '\n{}' + if contact.is_groupchat: + disco_info = app.storage.cache.get_last_disco_info(contact.jid) + if disco_info is not None: + description = disco_info.muc_description + if description: + name += status_span.format( + GLib.markup_escape_text(description)) + elif contact.status: + status = contact.status.strip() + if status != '': + status = helpers.reduce_chars_newlines( + status, max_lines=1) + name += status_span.format( + GLib.markup_escape_text(status)) + + icon_name = helpers.get_icon_name_to_show(contact, account) + # look if another resource has awaiting events + for c in contact_instances: + c_icon_name = helpers.get_icon_name_to_show(c, account) + if c_icon_name in ('event', 'muc-active', 'muc-inactive'): + icon_name = c_icon_name + break + + # Check for events of collapsed (hidden) brothers + family = app.contacts.get_metacontacts_family(account, jid) + is_big_brother = False + have_visible_children = False + if family: + bb_jid, bb_account = \ + self._get_nearby_family_and_big_brother(family, account)[1:] + is_big_brother = (jid, account) == (bb_jid, bb_account) + iters = self._get_contact_iter(jid, account) + have_visible_children = iters and \ + self.modelfilter.iter_has_child(iters[0]) + + if have_visible_children: + # We are the big brother and have a visible family + for child_iter in child_iters: + child_path = self.model.get_path(child_iter) + path = self.modelfilter.convert_child_path_to_path(child_path) + + if not path: + continue + + if not self.tree.row_expanded(path) and icon_name != 'event': + iterC = self.model.iter_children(child_iter) + while iterC: + # a child has awaiting messages? + jidC = self.model[iterC][Column.JID] + accountC = self.model[iterC][Column.ACCOUNT] + if app.events.get_events(accountC, jidC): + icon_name = 'event' + break + iterC = self.model.iter_next(iterC) + + if self.tree.row_expanded(path): + icon_name += ':opened' + else: + icon_name += ':closed' + + theme_icon = get_icon_name(icon_name) + self.model[child_iter][Column.IMG] = theme_icon + self.model[child_iter][Column.NAME] = name + #TODO: compute visible + visible = True + self.model[child_iter][Column.VISIBLE] = visible + else: + # A normal contact or little brother + transport = app.get_transport_name_from_jid(jid) + if transport == 'jabber': + transport = None + theme_icon = get_icon_name(icon_name, transport=transport) + + visible = self.contact_is_visible(contact, account) + # All iters have the same icon (no expand/collapse) + for child_iter in child_iters: + self.model[child_iter][Column.IMG] = theme_icon + self.model[child_iter][Column.NAME] = name + self.model[child_iter][Column.VISIBLE] = visible + if visible: + parent_iter = self.model.iter_parent(child_iter) + self.model[parent_iter][Column.VISIBLE] = True + + # We are a little brother + if family and not is_big_brother and not self.starting: + self.draw_parent_contact(jid, account) + + if visible: + delimiter = app.connections[account].get_module('Delimiter').delimiter + for group in contact.get_shown_groups(): + group_splited = group.split(delimiter) + i = 1 + while i < len(group_splited) + 1: + g = delimiter.join(group_splited[:i]) + iterG = self._get_group_iter(g, account, model=self.model) + if iterG: + # it's not self contact + self.model[iterG][Column.VISIBLE] = True + i += 1 + + app.plugin_manager.gui_extension_point('roster_draw_contact', self, + jid, account, contact) + + return False + + def _is_pep_shown_in_roster(self, pep_type): + if pep_type == PEPEventType.MOOD: + return app.settings.get('show_mood_in_roster') + + if pep_type == PEPEventType.ACTIVITY: + return app.settings.get('show_activity_in_roster') + + if pep_type == PEPEventType.TUNE: + return app.settings.get('show_tunes_in_roster') + + if pep_type == PEPEventType.LOCATION: + return app.settings.get('show_location_in_roster') + + return False + + def draw_all_pep_types(self, jid, account, contact=None): + self._draw_pep(account, jid, PEPEventType.MOOD) + self._draw_pep(account, jid, PEPEventType.ACTIVITY) + self._draw_pep(account, jid, PEPEventType.TUNE) + self._draw_pep(account, jid, PEPEventType.LOCATION) + + def _draw_pep(self, account, jid, type_): + if not self._is_pep_shown_in_roster(type_): + return + + iters = self._get_contact_iter(jid, account, model=self.model) + if not iters: + return + contact = app.contacts.get_contact(account, jid) + + icon = None + data = contact.pep.get(type_) + + if type_ == PEPEventType.MOOD: + column = Column.MOOD_PIXBUF + if data is not None: + icon = 'mood-%s' % data.mood + elif type_ == PEPEventType.ACTIVITY: + column = Column.ACTIVITY_PIXBUF + if data is not None: + icon = get_activity_icon_name(data.activity, data.subactivity) + elif type_ == PEPEventType.TUNE: + column = Column.TUNE_ICON + if data is not None: + icon = 'audio-x-generic' + elif type_ == PEPEventType.LOCATION: + column = Column.LOCATION_ICON + if data is not None: + icon = 'applications-internet' + + for child_iter in iters: + self.model[child_iter][column] = icon + + def _get_avatar_image(self, account, jid): + if not app.settings.get('show_avatars_in_roster'): + return None + scale = self.window.get_scale_factor() + surface = app.contacts.get_avatar( + account, jid, AvatarSize.ROSTER, scale) + return Gtk.Image.new_from_surface(surface) + + def draw_avatar(self, jid, account): + iters = self._get_contact_iter(jid, account, model=self.model) + if not iters or not app.settings.get('show_avatars_in_roster'): + return + jid = self.model[iters[0]][Column.JID] + image = self._get_avatar_image(account, jid) + + for child_iter in iters: + self.model[child_iter][Column.AVATAR_IMG] = image + return False + + def draw_completely(self, jid, account): + contact_instances = app.contacts.get_contacts(account, jid) + contact = app.contacts.get_highest_prio_contact_from_contacts( + contact_instances) + self.draw_contact( + jid, account, + contact_instances=contact_instances, + contact=contact) + + def adjust_and_draw_contact_context(self, jid, account): + """ + Draw contact, account and groups of given jid Show contact if it has + pending events + """ + contact = app.contacts.get_first_contact_from_jid(account, jid) + if not contact: + # idle draw or just removed SelfContact + return + + family = app.contacts.get_metacontacts_family(account, jid) + if family: + # There might be a new big brother + self._recalibrate_metacontact_family(family, account) + self.draw_contact(jid, account) + self.draw_account(account) + + for group in contact.get_shown_groups(): + self.draw_group(group, account) + self._adjust_group_expand_collapse_state(group, account) + + def _idle_draw_jids_of_account(self, jids, account): + """ + Draw given contacts and their avatars in a lazy fashion + + Keyword arguments: + jids -- a list of jids to draw + account -- the corresponding account + """ + def _draw_all_contacts(jids, account): + for jid in jids: + family = app.contacts.get_metacontacts_family(account, jid) + if family: + # For metacontacts over several accounts: + # When we connect a new account existing brothers + # must be redrawn (got removed and added again) + for data in family: + self.draw_completely(data['jid'], data['account']) + else: + self.draw_completely(jid, account) + yield True + self.refilter_shown_roster_items() + yield False + + task = _draw_all_contacts(jids, account) + GLib.idle_add(next, task) + + def _before_fill(self): + self.tree.freeze_child_notify() + self.tree.set_model(None) + # disable sorting + self.model.set_sort_column_id(-2, Gtk.SortType.ASCENDING) + self.starting = True + self.starting_filtering = True + + def _after_fill(self): + self.starting = False + accounts_list = app.contacts.get_accounts() + for account in app.connections: + if account not in accounts_list: + continue + + jids = app.contacts.get_jid_list(account) + for jid in jids: + self.draw_completely(jid, account) + + # Draw all known groups + for group in app.groups[account]: + self.draw_group(group, account) + self.draw_account(account) + + self.model.set_sort_column_id(1, Gtk.SortType.ASCENDING) + self.tree.set_model(self.modelfilter) + self.tree.thaw_child_notify() + self.starting_filtering = False + self.refilter_shown_roster_items() + + def setup_and_draw_roster(self): + """ + Create new empty model and draw roster + """ + self.modelfilter = None + self.model = Gtk.TreeStore(*self.columns) + + self.model.set_sort_func(1, self._compareIters) + self.model.set_sort_column_id(1, Gtk.SortType.ASCENDING) + self.modelfilter = self.model.filter_new() + self.modelfilter.set_visible_func(self._visible_func) + self.modelfilter.connect('row-has-child-toggled', + self.on_modelfilter_row_has_child_toggled) + self.tree.set_model(self.modelfilter) + + self._iters = {} + # for merged mode + self._iters['MERGED'] = {'account': None, 'groups': {}} + for acct in app.contacts.get_accounts(): + self._iters[acct] = {'account': None, 'groups': {}, 'contacts': {}} + + for acct in app.contacts.get_accounts(): + self.add_account(acct) + self.add_account_contacts(acct, improve_speed=True, + draw_contacts=False) + + # Recalculate column width for ellipsizing + self.tree.columns_autosize() + + def update_status_selector(self): + self._status_selector.update() + + def select_contact(self, jid, account): + """ + Select contact in roster. If contact is hidden but has events, show him + """ + # Refiltering SHOULD NOT be needed: + # When a contact gets a new event he will be redrawn and his + # icon changes, so _visible_func WILL be called on him anyway + iters = self._get_contact_iter(jid, account) + if not iters: + # Not visible in roster + return + path = self.modelfilter.get_path(iters[0]) + if self.dragging or not app.settings.get( + 'scroll_roster_to_last_message'): + # do not change selection while DND'ing + return + # Expand his parent, so this path is visible, don't expand it. + path.up() + self.tree.expand_to_path(path) + self.tree.scroll_to_cell(path) + self.tree.set_cursor(path) + + def _readjust_expand_collapse_state(self): + def func(model, path, iter_, param): + type_ = model[iter_][Column.TYPE] + acct = model[iter_][Column.ACCOUNT] + jid = model[iter_][Column.JID] + key = None + if type_ == 'account': + key = acct + elif type_ == 'group': + key = acct + jid + elif type_ == 'contact': + parent_iter = model.iter_parent(iter_) + ptype = model[parent_iter][Column.TYPE] + if ptype == 'group': + grp = model[parent_iter][Column.JID] + key = acct + grp + jid + if key: + if key in self.collapsed_rows: + self.tree.collapse_row(path) + else: + self.tree.expand_row(path, False) + self.modelfilter.foreach(func, None) + + def _adjust_account_expand_collapse_state(self, account): + """ + Expand/collapse account row based on self.collapsed_rows + """ + if not self.tree.get_model(): + return + iterA = self._get_account_iter(account) + if not iterA: + # thank you modelfilter + return + path = self.modelfilter.get_path(iterA) + if account in self.collapsed_rows: + self.tree.collapse_row(path) + else: + self.tree.expand_row(path, False) + return False + + + def _adjust_group_expand_collapse_state(self, group, account): + """ + Expand/collapse group row based on self.collapsed_rows + """ + if not self.tree.get_model(): + return + if account not in app.connections: + return + delimiter = app.connections[account].get_module('Delimiter').delimiter + group_splited = group.split(delimiter) + i = 1 + while i < len(group_splited) + 1: + g = delimiter.join(group_splited[:i]) + iterG = self._get_group_iter(g, account) + if not iterG: + # Group not visible + return + path = self.modelfilter.get_path(iterG) + if account + g in self.collapsed_rows: + self.tree.collapse_row(path) + else: + self.tree.expand_row(path, False) + i += 1 + +############################################################################## +### Roster and Modelfilter handling +############################################################################## + + def refilter_shown_roster_items(self): + if self.filtering: + return + self.filtering = True + for account in app.connections: + for jid in app.contacts.get_jid_list(account): + self.adjust_and_draw_contact_context(jid, account) + self.filtering = False + + def contact_has_pending_roster_events(self, contact, account): + """ + Return True if the contact or one if it resources has pending events + """ + # jid has pending events + if app.events.get_nb_roster_events(account, contact.jid) > 0: + return True + # check events of all resources + for contact_ in app.contacts.get_contacts(account, contact.jid): + if contact_.resource and app.events.get_nb_roster_events(account, + contact_.get_full_jid()) > 0: + return True + return False + + def contact_is_visible(self, contact, account): + if self.rfilter_enabled: + return self.rfilter_string in contact.get_shown_name().lower() + if self.contact_has_pending_roster_events(contact, account): + return True + if app.settings.get('showoffline'): + return True + + if contact.show in ('offline', 'error'): + if contact.jid in app.to_be_removed[account]: + return True + return False + if app.settings.get('show_only_chat_and_online') and contact.show in ( + 'away', 'xa', 'busy'): + return False + if _('Transports') in contact.get_shown_groups(): + return app.settings.get('show_transports_group') + return True + + def _visible_func(self, model, titer, dummy): + """ + Determine whether iter should be visible in the treeview + """ + if self.starting_filtering: + return False + + visible = model[titer][Column.VISIBLE] + + type_ = model[titer][Column.TYPE] + if not type_: + return False + if type_ == 'account': + # Always show account + return True + + account = model[titer][Column.ACCOUNT] + if not account: + return False + + jid = model[titer][Column.JID] + if not jid: + return False + + if not self.rfilter_enabled: + return visible + + if type_ == 'group': + group = jid + if group == _('Transports'): + if self.regroup: + accounts = app.contacts.get_accounts() + else: + accounts = [account] + for _acc in accounts: + for contact in app.contacts.iter_contacts(_acc): + if group in contact.get_shown_groups(): + if self.rfilter_string in \ + contact.get_shown_name().lower(): + return True + elif self.contact_has_pending_roster_events(contact, + _acc): + return True + # No transport has been found + return False + + if type_ == 'contact': + if model.iter_has_child(titer): + iter_c = model.iter_children(titer) + while iter_c: + if self.rfilter_string in model[iter_c][Column.NAME].lower(): + return True + iter_c = model.iter_next(iter_c) + return self.rfilter_string in model[titer][Column.NAME].lower() + + if type_ == 'agent': + return self.rfilter_string in model[titer][Column.NAME].lower() + + if type_ == 'groupchat': + return self.rfilter_string in model[titer][Column.NAME].lower() + + return visible + + def _compareIters(self, model, iter1, iter2, data=None): + """ + Compare two iters to sort them + """ + name1 = model[iter1][Column.NAME] + name2 = model[iter2][Column.NAME] + if not name1 or not name2: + return 0 + type1 = model[iter1][Column.TYPE] + type2 = model[iter2][Column.TYPE] + if type1 == 'self_contact': + return -1 + if type2 == 'self_contact': + return 1 + if type1 == 'group': + name1 = model[iter1][Column.JID] + name2 = model[iter2][Column.JID] + if name1 == _('Transports'): + return 1 + if name2 == _('Transports'): + return -1 + if name1 == _('Not in contact list'): + return 1 + if name2 == _('Not in contact list'): + return -1 + if name1 == _('Group chats'): + return 1 + if name2 == _('Group chats'): + return -1 + account1 = model[iter1][Column.ACCOUNT] + account2 = model[iter2][Column.ACCOUNT] + if not account1 or not account2: + return 0 + if type1 == 'account': + return locale.strcoll(account1, account2) + jid1 = model[iter1][Column.JID] + jid2 = model[iter2][Column.JID] + if type1 == 'contact': + lcontact1 = app.contacts.get_contacts(account1, jid1) + contact1 = app.contacts.get_first_contact_from_jid(account1, jid1) + if not contact1: + return 0 + name1 = contact1.get_shown_name() + if type2 == 'contact': + lcontact2 = app.contacts.get_contacts(account2, jid2) + contact2 = app.contacts.get_first_contact_from_jid(account2, jid2) + if not contact2: + return 0 + name2 = contact2.get_shown_name() + # We first compare by show if sort_by_show_in_roster is True or if it's + # a child contact + if type1 == 'contact' and type2 == 'contact' and \ + app.settings.get('sort_by_show_in_roster'): + cshow = {'chat':0, 'online': 1, 'away': 2, 'xa': 3, 'dnd': 4, + 'offline': 6, 'not in roster': 7, 'error': 8} + s = self.get_show(lcontact1) + show1 = cshow.get(s, 9) + s = self.get_show(lcontact2) + show2 = cshow.get(s, 9) + removing1 = False + removing2 = False + if show1 == 6 and jid1 in app.to_be_removed[account1]: + removing1 = True + if show2 == 6 and jid2 in app.to_be_removed[account2]: + removing2 = True + if removing1 and not removing2: + return 1 + if removing2 and not removing1: + return -1 + sub1 = contact1.sub + sub2 = contact2.sub + # none and from goes after + if sub1 not in ['none', 'from'] and sub2 in ['none', 'from']: + return -1 + if sub1 in ['none', 'from'] and sub2 not in ['none', 'from']: + return 1 + if show1 < show2: + return -1 + if show1 > show2: + return 1 + # We compare names + cmp_result = locale.strcoll(name1.lower(), name2.lower()) + if cmp_result < 0: + return -1 + if cmp_result > 0: + return 1 + if type1 == 'contact' and type2 == 'contact': + # We compare account names + cmp_result = locale.strcoll(account1.lower(), account2.lower()) + if cmp_result < 0: + return -1 + if cmp_result > 0: + return 1 + # We compare jids + cmp_result = locale.strcoll(jid1.lower(), jid2.lower()) + if cmp_result < 0: + return -1 + if cmp_result > 0: + return 1 + return 0 + +################################################################################ +### FIXME: Methods that don't belong to roster window... +### ... at least not in there current form +################################################################################ + + def fire_up_unread_messages_events(self, account): + """ + Read from db the unread messages, and fire them up, and if we find very + old unread messages, delete them from unread table + """ + results = app.storage.archive.get_unread_msgs() + for result, shown in results: + jid = result.jid + additional_data = result.additional_data + if app.contacts.get_first_contact_from_jid(account, jid) and not \ + shown: + # We have this jid in our contacts list + # XXX unread messages should probably have their session saved + # with them + session = app.connections[account].make_new_session(jid) + + tim = float(result.time) + session.roster_message(jid, result.message, tim, msg_type='chat', + msg_log_id=result.log_line_id, additional_data=additional_data) + app.storage.archive.set_shown_unread_msgs(result.log_line_id) + + elif (time.time() - result.time) > 2592000: + # ok, here we see that we have a message in unread messages + # table that is older than a month. It is probably from someone + # not in our roster for accounts we usually launch, so we will + # delete this id from unread message tables. + app.storage.archive.set_read_messages([result.log_line_id]) + + def fill_contacts_and_groups_dicts(self, array, account): + """ + Fill app.contacts and app.groups + """ + # FIXME: This function needs to be split + # Most of the logic SHOULD NOT be done at GUI level + if account not in app.contacts.get_accounts(): + app.contacts.add_account(account) + if not account in self._iters: + self._iters[account] = {'account': None, 'groups': {}, + 'contacts': {}} + if account not in app.groups: + app.groups[account] = {} + + self_jid = str(app.connections[account].get_own_jid()) + if account != app.ZEROCONF_ACC_NAME: + array[self_jid] = {'name': app.nicks[account], + 'groups': ['self_contact'], + 'subscription': 'both', + 'ask': 'none'} + + # .keys() is needed + for jid in list(array.keys()): + # Remove the contact in roster. It might has changed + self.remove_contact(jid, account, force=True) + # Remove old Contact instances + app.contacts.remove_jid(account, jid, remove_meta=False) + jids = jid.split('/') + # get jid + ji = jids[0] + # get resource + resource = '' + if len(jids) > 1: + resource = '/'.join(jids[1:]) + # get name + name = array[jid]['name'] or '' + show = 'offline' # show is offline by default + status = '' # no status message by default + + if app.jid_is_transport(jid): + array[jid]['groups'] = [_('Transports')] + #TRANSP - potential + contact1 = app.contacts.create_contact(jid=ji, account=account, + name=name, groups=array[jid]['groups'], show=show, + status=status, sub=array[jid]['subscription'], + ask=array[jid]['ask'], resource=resource) + app.contacts.add_contact(account, contact1) + + # If we already have chat windows opened, update them with new + # contact instance + chat_control = app.interface.msg_win_mgr.get_control(ji, account) + if chat_control: + chat_control.contact = contact1 + + def connected_rooms(self, account): + if account in list(app.gc_connected[account].values()): + return True + return False + + def on_event_removed(self, event_list): + """ + Remove contacts on last events removed + + Only performed if removal was requested before but the contact still had + pending events + """ + + msg_log_ids = [] + for ev in event_list: + if ev.type_ != 'printed_chat': + continue + if ev.msg_log_id: + # There is a msg_log_id + msg_log_ids.append(ev.msg_log_id) + + if msg_log_ids: + app.storage.archive.set_read_messages(msg_log_ids) + + contact_list = ((event.jid.split('/')[0], event.account) for event in \ + event_list) + + for jid, account in contact_list: + self.draw_contact(jid, account) + # Remove contacts in roster if removal was requested + key = (jid, account) + if key in list(self.contacts_to_be_removed.keys()): + backend = self.contacts_to_be_removed[key]['backend'] + del self.contacts_to_be_removed[key] + # Remove contact will delay removal if there are more events + # pending + self.remove_contact(jid, account, backend=backend) + self.show_title() + + def open_event(self, account, jid, event): + """ + If an event was handled, return True, else return False + """ + ft = app.interface.instances['file_transfers'] + event = app.events.get_first_event(account, jid, event.type_) + if event.type_ == 'normal': + SingleMessageWindow(account, jid, + action='receive', from_whom=jid, subject=event.subject, + message=event.message, resource=event.resource) + app.events.remove_events(account, jid, event) + return True + + if event.type_ == 'file-request': + contact = app.contacts.get_contact_with_highest_priority(account, + jid) + ft.show_file_request(account, contact, event.file_props) + app.events.remove_events(account, jid, event) + return True + + if event.type_ in ('file-request-error', 'file-send-error'): + ft.show_send_error(event.file_props) + app.events.remove_events(account, jid, event) + return True + + if event.type_ in ('file-error', 'file-stopped'): + msg_err = '' + if event.file_props.error == -1: + msg_err = _('Remote contact stopped transfer') + elif event.file_props.error == -6: + msg_err = _('Error opening file') + ft.show_stopped(jid, event.file_props, error_msg=msg_err) + app.events.remove_events(account, jid, event) + return True + + if event.type_ == 'file-hash-error': + ft.show_hash_error(jid, event.file_props, account) + app.events.remove_events(account, jid, event) + return True + + if event.type_ == 'file-completed': + ft.show_completed(jid, event.file_props) + app.events.remove_events(account, jid, event) + return True + + if event.type_ == 'gc-invitation': + open_window('GroupChatInvitation', + account=account, + event=event) + app.events.remove_events(account, jid, event) + return True + + if event.type_ == 'subscription_request': + open_window('SubscriptionRequest', + account=account, + jid=jid, + text=event.text, + user_nick=event.nick) + app.events.remove_events(account, jid, event) + return True + + if event.type_ == 'unsubscribed': + app.interface.show_unsubscribed_dialog(account, event.contact) + app.events.remove_events(account, jid, event) + return True + + if event.type_ == 'jingle-incoming': + ctrl = app.interface.msg_win_mgr.get_control(jid, account) + if ctrl: + ctrl.parent_win.set_active_tab(ctrl) + else: + ctrl = app.interface.new_chat_from_jid(account, jid) + ctrl.add_call_received_message(event) + return True + + return False + +################################################################################ +### This and that... random. +################################################################################ + + def show_roster_vbox(self, active): + vb = self.xml.get_object('roster_vbox2') + if active: + vb.set_no_show_all(False) + vb.show() + else: + vb.hide() + vb.set_no_show_all(True) + + def authorize(self, widget, jid, account): + """ + Authorize a contact (by re-sending auth menuitem) + """ + app.connections[account].get_module('Presence').subscribed(jid) + InformationDialog(_('Authorization sent'), + _('"%s" will now see your status.') %jid) + + def req_sub(self, widget, jid, txt, account, groups=None, nickname=None, + auto_auth=False): + """ + Request subscription to a contact + """ + groups_list = groups or [] + app.connections[account].get_module('Presence').subscribe( + jid, txt, nickname, groups_list, auto_auth) + contact = app.contacts.get_contact_with_highest_priority(account, jid) + if not contact: + contact = app.contacts.create_contact(jid=jid, account=account, + name=nickname, groups=groups_list, show='requested', status='', + ask='none', sub='subscribe') + app.contacts.add_contact(account, contact) + else: + if not _('Not in contact list') in contact.get_shown_groups(): + InformationDialog(_('Subscription request has been ' + 'sent'), _('If "%s" accepts this request you will know ' + 'their status.') % jid) + return + self.remove_contact(contact.jid, account, force=True) + contact.groups = groups_list + if nickname: + contact.name = nickname + self.add_contact(jid, account) + + def revoke_auth(self, widget, jid, account): + """ + Revoke a contact's authorization + """ + app.connections[account].get_module('Presence').unsubscribed(jid) + InformationDialog(_('Authorization removed'), + _('Now "%s" will always see you as offline.') %jid) + + def set_state(self, account, state): + child_iterA = self._get_account_iter(account, self.model) + if child_iterA: + self.model[child_iterA][0] = get_icon_name(state) + if app.interface.systray_enabled: + app.interface.systray.change_status(state) + + def set_connecting_state(self, account): + self.set_state(account, 'connecting') + + def send_status(self, account, status, txt): + if status != 'offline': + app.settings.set_account_setting(account, 'last_status', status) + app.settings.set_account_setting(account, 'last_status_msg', + helpers.to_one_line(txt)) + if not app.account_is_available(account): + self.set_connecting_state(account) + + if status == 'offline': + self.delete_pep(app.get_jid_from_account(account), account) + + app.connections[account].change_status(status, txt) + self._status_selector.update() + + def delete_pep(self, jid, account): + if jid == app.get_jid_from_account(account): + app.connections[account].pep = {} + self.draw_account(account) + + for contact in app.contacts.get_contacts(account, jid): + contact.pep = {} + + self.draw_all_pep_types(jid, account) + ctrl = app.interface.msg_win_mgr.get_control(jid, account) + if ctrl: + ctrl.update_all_pep_types() + + def chg_contact_status(self, contact, show, status_message, account): + """ + When a contact changes their status + """ + contact_instances = app.contacts.get_contacts(account, contact.jid) + contact.show = show + contact.status = status_message + # name is to show in conversation window + name = contact.get_shown_name() + fjid = contact.get_full_jid() + + # The contact has several resources + if len(contact_instances) > 1: + if contact.resource != '': + name += '/' + contact.resource + + # Remove resource when going offline + if show in ('offline', 'error') and \ + not self.contact_has_pending_roster_events(contact, account): + ctrl = app.interface.msg_win_mgr.get_control(fjid, account) + if ctrl: + ctrl.update_ui() + ctrl.parent_win.redraw_tab(ctrl) + # keep the contact around, since it's + # already attached to the control + else: + app.contacts.remove_contact(account, contact) + + elif contact.jid == app.get_jid_from_account(account) and \ + show in ('offline', 'error'): + self.remove_contact(contact.jid, account, backend=True) + + uf_show = helpers.get_uf_show(show) + + # print status in chat window and update status/GPG image + ctrl = app.interface.msg_win_mgr.get_control(contact.jid, account) + if ctrl and not ctrl.is_groupchat: + ctrl.contact = app.contacts.get_contact_with_highest_priority( + account, contact.jid) + ctrl.update_status_display(name, uf_show, status_message) + + if contact.resource: + ctrl = app.interface.msg_win_mgr.get_control(fjid, account) + if ctrl: + ctrl.update_status_display(name, uf_show, status_message) + + # Delete pep if needed + keep_pep = any(c.show not in ('error', 'offline') for c in + contact_instances) + if not keep_pep and contact.jid != app.get_jid_from_account(account) \ + and not contact.is_groupchat: + self.delete_pep(contact.jid, account) + + # Redraw everything and select the sender + self.adjust_and_draw_contact_context(contact.jid, account) + + + def on_status_changed(self, account, show): + """ + The core tells us that our status has changed + """ + if account not in app.contacts.get_accounts(): + return + child_iterA = self._get_account_iter(account, self.model) + self_resource = app.connections[account].get_own_jid().resource + self_contact = app.contacts.get_contact(account, + app.get_jid_from_account(account), resource=self_resource) + if self_contact: + status_message = app.connections[account].status_message + self.chg_contact_status(self_contact, show, status_message, account) + self.set_account_status_icon(account) + if show == 'offline': + if self.quit_on_next_offline > -1: + # we want to quit, we are waiting for all accounts to be offline + self.quit_on_next_offline -= 1 + if self.quit_on_next_offline < 1: + # all accounts offline, quit + self.quit_gtkgui_interface() + else: + # No need to redraw contacts if we're quitting + if child_iterA: + self.model[child_iterA][Column.AVATAR_IMG] = None + for jid in list(app.contacts.get_jid_list(account)): + lcontact = app.contacts.get_contacts(account, jid) + ctrl = app.interface.msg_win_mgr.get_gc_control(jid, + account) + for contact in [c for c in lcontact if ( + (c.show != 'offline' or c.is_transport()) and not ctrl)]: + self.chg_contact_status(contact, 'offline', '', account) + if app.interface.systray_enabled: + app.interface.systray.change_status(show) + self._status_selector.update() + + def change_status(self, _widget, account, status): + app.interface.change_account_status(account, status=status) + + def get_show(self, lcontact): + prio = lcontact[0].priority + show = lcontact[0].show + for u in lcontact: + if u.priority > prio: + prio = u.priority + show = u.show + return show + + def on_message_window_delete(self, win_mgr, msg_win): + if app.settings.get('one_message_window') == 'always_with_roster': + self.show_roster_vbox(True) + resize_window(self.window, + app.settings.get('roster_width'), + app.settings.get('roster_height')) + + def close_all_from_dict(self, dic): + """ + Close all the windows in the given dictionary + """ + for w in list(dic.values()): + if isinstance(w, dict): + self.close_all_from_dict(w) + else: + try: + w.window.destroy() + except (AttributeError, RuntimeError): + w.destroy() + + def close_all(self, account, force=False): + """ + Close all the windows from an account. If force is True, do not ask + confirmation before closing chat/gc windows + """ + if account in app.interface.instances: + self.close_all_from_dict(app.interface.instances[account]) + for ctrl in app.interface.msg_win_mgr.get_controls(acct=account): + ctrl.parent_win.remove_tab(ctrl, ctrl.parent_win.CLOSE_CLOSE_BUTTON, + force=force) + + def on_roster_window_delete_event(self, widget, event): + """ + Main window X button was clicked + """ + if not app.settings.get('quit_on_roster_x_button') and ( + (app.interface.systray_enabled and app.settings.get('trayicon') != \ + 'on_event') or app.settings.get('allow_hide_roster')): + save_roster_position(self.window) + if os.name == 'nt' or app.settings.get('hide_on_roster_x_button'): + self.window.hide() + else: + self.window.iconify() + elif app.settings.get('quit_on_roster_x_button'): + self.on_quit_request() + else: + def _on_ok(is_checked): + if is_checked: + app.settings.set('quit_on_roster_x_button', True) + self.on_quit_request() + ConfirmationCheckDialog( + _('Quit Gajim'), + _('You are about to quit Gajim'), + _('Are you sure you want to quit Gajim?'), + _('_Always quit when closing Gajim'), + [DialogButton.make('Cancel'), + DialogButton.make('Remove', + text=_('_Quit'), + callback=_on_ok)]).show() + return True # Do NOT destroy the window + + def prepare_quit(self): + if self.save_done: + return + msgwin_width_adjust = 0 + + # in case show_roster_on_start is False and roster is never shown + # window.window is None + if self.window.get_window() is not None: + save_roster_position(self.window) + width, height = self.window.get_size() + app.settings.set('roster_width', width) + app.settings.set('roster_height', height) + if not self.xml.get_object('roster_vbox2').get_property('visible'): + # The roster vbox is hidden, so the message window is larger + # then we want to save (i.e. the window will grow every startup) + # so adjust. + msgwin_width_adjust = -1 * width + app.settings.set('last_roster_visible', + self.window.get_property('visible')) + app.interface.msg_win_mgr.save_opened_controls() + app.interface.msg_win_mgr.shutdown(msgwin_width_adjust) + + app.settings.set('collapsed_rows', '\t'.join(self.collapsed_rows)) + app.interface.save_config() + for account in app.connections: + app.connections[account].quit(True) + self.close_all(account) + if app.interface.systray_enabled: + app.interface.hide_systray() + self.save_done = True + + def quit_gtkgui_interface(self): + """ + When we quit the gtk interface - exit gtk + """ + self.prepare_quit() + self.application.quit() + + def on_quit_request(self, widget=None): + """ + User wants to quit. Check if he should be warned about messages pending. + Terminate all sessions and send offline to all connected account. We do + NOT really quit gajim here + """ + accounts = list(app.connections.keys()) + get_msg = False + for acct in accounts: + if app.account_is_available(acct): + get_msg = True + break + + def on_continue3(message): + self.quit_on_next_offline = 0 + accounts_to_disconnect = [] + for acct in accounts: + if app.account_is_available(acct): + self.quit_on_next_offline += 1 + accounts_to_disconnect.append(acct) + + if not self.quit_on_next_offline: + # all accounts offline, quit + self.quit_gtkgui_interface() + return + + for acct in accounts_to_disconnect: + self.send_status(acct, 'offline', message) + + def on_continue2(message): + if 'file_transfers' not in app.interface.instances: + on_continue3(message) + return + # check if there is an active file transfer + from gajim.common.modules.bytestream import is_transfer_active + files_props = app.interface.instances['file_transfers'].\ + files_props + transfer_active = False + for x in files_props: + for y in files_props[x]: + if is_transfer_active(files_props[x][y]): + transfer_active = True + break + + if transfer_active: + ConfirmationDialog( + _('Stop File Transfers'), + _('You still have running file transfers'), + _('If you quit now, the file(s) being transferred will ' + 'be lost.\n' + 'Do you still want to quit?'), + [DialogButton.make('Cancel'), + DialogButton.make('Remove', + text=_('_Quit'), + callback=on_continue3, + args=[message])]).show() + return + on_continue3(message) + + def on_continue(message): + if message is None: + # user pressed Cancel to change status message dialog + return + # check if we have unread messages + unread = app.events.get_nb_events() + + for event in app.events.get_all_events(['printed_gc_msg']): + contact = app.contacts.get_groupchat_contact(event.account, + event.jid) + if contact is None or not contact.can_notify(): + unread -= 1 + + # check if we have recent messages + recent = False + for win in app.interface.msg_win_mgr.windows(): + for ctrl in win.controls(): + fjid = ctrl.get_full_jid() + if fjid in app.last_message_time[ctrl.account]: + if time.time() - app.last_message_time[ctrl.account][ + fjid] < 2: + recent = True + break + if recent: + break + + if unread or recent: + ConfirmationDialog( + _('Unread Messages'), + _('You still have unread messages'), + _('Messages will only be available for reading them later ' + 'if storing chat history is enabled and if the contact ' + 'is in your contact list.'), + [DialogButton.make('Cancel'), + DialogButton.make('Remove', + text=_('_Quit'), + callback=on_continue2, + args=[message])]).show() + return + on_continue2(message) + + if get_msg and ask_for_status_message('offline'): + open_window('StatusChange', + status='offline', + callback=on_continue, + show_pep=False) + else: + on_continue('') + + def _nec_presence_received(self, obj): + account = obj.conn.name + jid = obj.jid + + if obj.need_add_in_roster: + self.add_contact(jid, account) + + jid_list = app.contacts.get_jid_list(account) + if jid in jid_list or jid == app.get_jid_from_account(account): + if not app.jid_is_transport(jid) and len(obj.contact_list) == 1: + if obj.old_show == 0 and obj.new_show > 1: + GLib.timeout_add_seconds(5, self.remove_newly_added, jid, + account) + elif obj.old_show > 1 and obj.new_show == 0 and \ + obj.conn.state.is_available: + GLib.timeout_add_seconds(5, self.remove_to_be_removed, + jid, account) + + self.draw_contact(jid, account) + + if app.jid_is_transport(jid) and jid in jid_list: + # It must be an agent + # Update existing iter and group counting + self.draw_contact(jid, account) + self.draw_group(_('Transports'), account) + + if obj.contact: + self.chg_contact_status(obj.contact, obj.show, obj.status, account) + + if obj.popup: + ctrl = app.interface.msg_win_mgr.search_control(jid, account) + if ctrl: + GLib.idle_add(ctrl.parent_win.set_active_tab, ctrl) + else: + ctrl = app.interface.new_chat(obj.contact, account) + if app.events.get_events(account, obj.jid): + ctrl.read_queue() + + def _nec_roster_received(self, obj): + if obj.received_from_server: + self.fill_contacts_and_groups_dicts(obj.roster, obj.conn.name) + self.add_account_contacts(obj.conn.name) + self.fire_up_unread_messages_events(obj.conn.name) + else: + # add self contact + account = obj.conn.name + self_jid = app.get_jid_from_account(account) + if self_jid not in app.contacts.get_jid_list(account): + sha = app.settings.get_account_setting(account, 'avatar_sha') + contact = app.contacts.create_contact( + jid=self_jid, account=account, name=app.nicks[account], + groups=['self_contact'], show='offline', sub='both', + ask='none', avatar_sha=sha) + app.contacts.add_contact(account, contact) + self.add_contact(self_jid, account) + + if app.settings.get('remember_opened_chat_controls'): + account = obj.conn.name + controls = app.settings.get_account_setting( + account, 'opened_chat_controls') + if controls: + for jid in controls.split(','): + contact = \ + app.contacts.get_contact_with_highest_priority( + account, jid) + if not contact: + contact = self.add_to_not_in_the_roster( + account, jid) + app.interface.on_open_chat_window( + None, contact, account) + app.settings.set_account_setting( + account, 'opened_chat_controls', '') + GLib.idle_add(self.refilter_shown_roster_items) + + def _nec_anonymous_auth(self, obj): + """ + This event is raised when our JID changed (most probably because we use + anonymous account. We update contact and roster entry in this case + """ + self.rename_self_contact(obj.old_jid, obj.new_jid, obj.conn.name) + + def _nec_our_show(self, event): + if event.show == 'offline': + self.application.set_account_actions_state(event.account) + self.application.update_app_actions_state() + + self.on_status_changed(event.account, event.show) + + def _nec_connection_type(self, obj): + self.draw_account(obj.conn.name) + + def _nec_agent_removed(self, obj): + for jid in obj.jid_list: + self.remove_contact(jid, obj.conn.name, backend=True) + + def _on_mood_received(self, event): + if event.is_self_message: + self.draw_account(event.account) + self._draw_pep(event.account, event.jid, PEPEventType.MOOD) + + def _on_activity_received(self, event): + if event.is_self_message: + self.draw_account(event.account) + self._draw_pep(event.account, event.jid, PEPEventType.ACTIVITY) + + def _on_tune_received(self, event): + if event.is_self_message: + self.draw_account(event.account) + self._draw_pep(event.account, event.jid, PEPEventType.TUNE) + + def _on_location_received(self, event): + if event.is_self_message: + self.draw_account(event.account) + self._draw_pep(event.account, event.jid, PEPEventType.LOCATION) + + def _on_nickname_received(self, event): + self.draw_contact(event.jid, event.account) + + def _nec_update_avatar(self, obj): + app.log('avatar').debug('Draw roster avatar: %s', obj.jid) + self.draw_avatar(obj.jid, obj.account) + + def _nec_muc_subject_received(self, event): + self.draw_contact(event.room_jid, event.account) + + def _on_muc_disco_update(self, event): + self.draw_contact(str(event.room_jid), event.account) + + def _on_bookmarks_received(self, event): + con = app.connections[event.account] + for bookmark in con.get_module('Bookmarks').bookmarks: + self.draw_contact(str(bookmark.jid), event.account) + + def _nec_metacontacts_received(self, obj): + self.redraw_metacontacts(obj.conn.name) + + def _nec_signed_in(self, obj): + self.application.set_account_actions_state(obj.conn.name, True) + self.application.update_app_actions_state() + self.draw_account(obj.conn.name) + + def _nec_decrypted_message_received(self, obj): + if not obj.msgtxt: + return True + if obj.properties.type.value not in ('normal', 'chat'): + return + + if obj.popup and not obj.session.control: + contact = app.contacts.get_contact(obj.conn.name, obj.jid) + obj.session.control = app.interface.new_chat(contact, + obj.conn.name, session=obj.session) + if app.events.get_events(obj.conn.name, obj.fjid): + obj.session.control.read_queue() + + if not obj.properties.is_muc_pm and obj.show_in_roster: + self.draw_contact(obj.jid, obj.conn.name) + self.show_title() # we show the * or [n] + # Select the big brother contact in roster, it's visible because it + # has events. + family = app.contacts.get_metacontacts_family(obj.conn.name, + obj.jid) + if family: + _nearby_family, bb_jid, bb_account = \ + app.contacts.get_nearby_family_and_big_brother(family, + obj.conn.name) + else: + bb_jid, bb_account = obj.jid, obj.conn.name + self.select_contact(bb_jid, bb_account) + +################################################################################ +### Menu and GUI callbacks +### FIXME: order callbacks in itself... +################################################################################ + + def on_info(self, widget, contact, account): + """ + Call vcard_information_window class to display contact's information + """ + if app.connections[account].is_zeroconf: + self.on_info_zeroconf(widget, contact, account) + return + + info = app.interface.instances[account]['infos'] + if contact.jid in info: + info[contact.jid].window.present() + else: + info[contact.jid] = vcard.VcardWindow(contact, account) + + def on_info_zeroconf(self, widget, contact, account): + info = app.interface.instances[account]['infos'] + if contact.jid in info: + info[contact.jid].window.present() + else: + contact = app.contacts.get_first_contact_from_jid(account, + contact.jid) + if contact.show in ('offline', 'error'): + # don't show info on offline contacts + return + info[contact.jid] = vcard.ZeroconfVcardWindow(contact, account) + + def on_edit_agent(self, widget, contact, account): + """ + When we want to modify the agent registration + """ + ServiceRegistration(account, contact.jid) + + def on_remove_agent(self, widget, list_): + """ + When an agent is requested to be removed. list_ is a list of (contact, + account) tuple + """ + for (contact, account) in list_: + if app.settings.get_account_setting(account, 'hostname') == \ + contact.jid: + # We remove the server contact + # remove it from treeview + app.connections[account].get_module('Presence').unsubscribe(contact.jid) + self.remove_contact(contact.jid, account, backend=True) + return + + def remove(): + for (contact, account) in list_: + full_jid = contact.get_full_jid() + app.connections[account].get_module('Gateway').unsubscribe(full_jid) + # remove transport from treeview + self.remove_contact(contact.jid, account, backend=True) + + # Check if there are unread events from some contacts + has_unread_events = False + for (contact, account) in list_: + for jid in app.events.get_events(account): + if jid.endswith(contact.jid): + has_unread_events = True + break + if has_unread_events: + ErrorDialog( + _('You have unread messages'), + _('You must read them before removing this transport.')) + return + if len(list_) == 1: + pritext = _('Transport \'%s\' will be removed') % list_[0][0].jid + sectext = _('You will no longer be able to send and receive ' + 'messages from and to contacts using this transport.') + else: + pritext = _('Transports will be removed') + jids = '' + for (contact, account) in list_: + jids += '\n ' + contact.get_shown_name() + ',' + jids = jids[:-1] + '.' + sectext = _('You will no longer be able to send and receive ' + 'messages from and to contacts using these ' + 'transports:\n%s') % jids + ConfirmationDialog( + _('Remove Transport'), + pritext, + sectext, + [DialogButton.make('Cancel'), + DialogButton.make('Remove', + callback=remove)], + transient_for=self.window).show() + + def _nec_blocking(self, obj): + for jid in obj.changed: + self.draw_contact(str(jid), obj.conn.name) + + def on_block(self, widget, list_): + """ + When clicked on the 'block' button in context menu. list_ is a list of + (contact, account) + """ + def _block_it(is_checked=None, report=None): + if is_checked is not None: # Dialog has been shown + if is_checked: + app.settings.set('confirm_block', 'no') + else: + app.settings.set('confirm_block', 'yes') + + accounts = [] + for _, account in list_: + con = app.connections[account] + if con.get_module('Blocking').supported: + accounts.append(account) + + for acct in accounts: + l_ = [i[0] for i in list_ if i[1] == acct] + con = app.connections[acct] + jid_list = [contact.jid for contact in l_] + con.get_module('Blocking').block(jid_list, report) + for contact in l_: + app.events.remove_events(acct, contact.jid) + ctrl = app.interface.msg_win_mgr.get_control( + contact.jid, acct) + if ctrl: + ctrl.parent_win.remove_tab( + ctrl, ctrl.parent_win.CLOSE_COMMAND, force=True) + if contact.show == 'not in roster': + self.remove_contact(contact.jid, acct, force=True, + backend=True) + return + self.draw_contact(contact.jid, acct) + + # Check if confirmation is needed for blocking + confirm_block = app.settings.get('confirm_block') + if confirm_block == 'no': + _block_it() + return + + ConfirmationCheckDialog( + _('Block Contact'), + _('Really block this contact?'), + _('You will appear offline for this contact and you ' + 'will not receive further messages.'), + _('_Do not ask again'), + [DialogButton.make('Cancel'), + DialogButton.make('OK', + text=_('_Report Spam'), + callback=_block_it, + kwargs={'report': 'spam'}), + DialogButton.make('Remove', + text=_('_Block'), + callback=_block_it)], + modal=False).show() + + def on_unblock(self, widget, list_): + """ + When clicked on the 'unblock' button in context menu. + """ + accounts = [] + for _, account in list_: + con = app.connections[account] + if con.get_module('Blocking').supported: + accounts.append(account) + + for acct in accounts: + l_ = [i[0] for i in list_ if i[1] == acct] + con = app.connections[acct] + jid_list = [contact.jid for contact in l_] + con.get_module('Blocking').unblock(jid_list) + for contact in l_: + self.draw_contact(contact.jid, acct) + + def on_rename(self, widget, row_type, jid, account): + # This function is called either by F2 or by Rename menuitem + if 'rename' in app.interface.instances: + app.interface.instances['rename'].dialog.present() + return + + # Account is offline, don't allow to rename + if not app.account_is_available(account): + return + if row_type in ('contact', 'agent'): + # It's jid + title = _('Rename Contact') + text = _('Rename contact %s?') % jid + sec_text = _('Please enter a new nickname') + old_text = app.contacts.get_contact_with_highest_priority(account, + jid).name + elif row_type == 'group': + if jid in helpers.special_groups + (_('General'),): + return + old_text = jid + title = _('Rename Group') + text = _('Rename group %s?') % GLib.markup_escape_text(jid) + sec_text = _('Please enter a new name') + + def _on_renamed(new_text, account, row_type, jid, old_text): + if row_type in ('contact', 'agent'): + if old_text == new_text: + return + contacts = app.contacts.get_contacts(account, jid) + for contact in contacts: + contact.name = new_text + con = app.connections[account] + con.get_module('Roster').update_contact( + jid, new_text, contacts[0].groups) + self.draw_contact(jid, account) + # Update opened chats + for ctrl in app.interface.msg_win_mgr.get_controls(jid, + account): + ctrl.update_ui() + win = app.interface.msg_win_mgr.get_window(jid, account) + win.redraw_tab(ctrl) + win.show_title() + elif row_type == 'group': + # In Column.JID column, we hold the group name (which is not escaped) + self.rename_group(old_text, new_text, account) + + InputDialog( + title, + text, + sec_text, + [DialogButton.make('Cancel'), + DialogButton.make('Accept', + text=_('_Rename'), + callback=_on_renamed, + args=[account, + row_type, + jid, + old_text])], + input_str=old_text, + transient_for=self.window).show() + + def on_remove_group_item_activated(self, widget, group, account): + def _on_ok(is_checked): + for contact in app.contacts.get_contacts_from_group(account, + group): + if not is_checked: + self.remove_contact_from_groups(contact.jid, account, + [group]) + else: + app.connections[account].get_module( + 'Presence').unsubscribe(contact.jid) + self.remove_contact(contact.jid, account, backend=True) + + ConfirmationCheckDialog( + _('Remove Group'), + _('Remove Group'), + _('Do you want to remove %s from the contact list?') % group, + _('_Also remove all contacts of this group from contact list'), + [DialogButton.make('Cancel'), + DialogButton.make('Remove', + callback=_on_ok)]).show() + + def on_edit_groups(self, widget, list_): + dialogs.EditGroupsDialog(list_) + + def on_disconnect(self, widget, jid, account): + """ + When disconnect menuitem is activated: disconnect from room + """ + if jid in app.interface.minimized_controls[account]: + ctrl = app.interface.minimized_controls[account][jid] + ctrl.leave() + self.remove_groupchat(jid, account) + + def on_send_single_message_menuitem_activate(self, widget, account, + contact=None): + if contact is None: + SingleMessageWindow(account, action='send') + elif isinstance(contact, list): + SingleMessageWindow(account, contact, 'send') + else: + jid = contact.jid + if contact.jid == app.get_jid_from_account(account): + jid += '/' + contact.resource + SingleMessageWindow(account, jid, 'send') + + def on_send_file_menuitem_activate(self, widget, contact, account, + resource=None): + app.interface.instances['file_transfers'].show_file_send_request( + account, contact) + + def on_invite_to_room(self, + _widget, + list_, + room_jid, + room_account, + resource=None): + """ + Resource parameter MUST NOT be used if more than one contact in list + """ + gc_control = app.get_groupchat_control(room_account, room_jid) + if gc_control is None: + return + + for contact, _ in list_: + contact_jid = contact.jid + if resource: # we MUST have one contact only in list_ + contact_jid += '/' + resource + gc_control.invite(contact_jid) + + def on_all_groupchat_maximized(self, widget, group_list): + for (contact, account) in group_list: + self.on_groupchat_maximized(widget, contact.jid, account) + + def on_groupchat_maximized(self, widget, jid, account): + """ + When a groupchat is maximized + """ + if not jid in app.interface.minimized_controls[account]: + # Already opened? + gc_control = app.interface.msg_win_mgr.get_gc_control(jid, + account) + if gc_control: + mw = app.interface.msg_win_mgr.get_window(jid, account) + mw.set_active_tab(gc_control) + return + ctrl = app.interface.minimized_controls[account][jid] + mw = app.interface.msg_win_mgr.get_window(jid, account) + if not mw: + mw = app.interface.msg_win_mgr.create_window( + ctrl.contact, ctrl.account, ctrl.type) + id_ = mw.window.connect('motion-notify-event', + ctrl._on_window_motion_notify) + ctrl.handlers[id_] = mw.window + ctrl.parent_win = mw + ctrl.on_groupchat_maximize() + mw.new_tab(ctrl) + mw.set_active_tab(ctrl) + self.remove_groupchat(jid, account, maximize=True) + + def on_groupchat_rename(self, _widget, jid, account): + def _on_rename(new_name): + con = app.connections[account] + con.get_module('Bookmarks').modify(jid, name=new_name) + + contact = app.contacts.get_first_contact_from_jid(account, jid) + name = contact.get_shown_name() + + InputDialog( + _('Rename Group Chat'), + _('Rename Group Chat'), + _('Please enter a new name for this group chat'), + [DialogButton.make('Cancel'), + DialogButton.make('Accept', + text=_('_Rename'), + callback=_on_rename)], + input_str=name, + transient_for=self.window).show() + + def on_change_status_message_activate(self, _widget, account): + app.interface.change_account_status(account) + + def on_add_to_roster(self, widget, contact, account): + AddNewContactWindow(account, contact.jid, contact.name) + + def on_roster_treeview_key_press_event(self, widget, event): + """ + When a key is pressed in the treeviews + """ + if event.keyval == Gdk.KEY_Escape: + if self.rfilter_enabled: + self.disable_rfilter() + else: + self.tree.get_selection().unselect_all() + elif event.keyval == Gdk.KEY_F2: + treeselection = self.tree.get_selection() + model, list_of_paths = treeselection.get_selected_rows() + if len(list_of_paths) != 1: + return + path = list_of_paths[0] + type_ = model[path][Column.TYPE] + if type_ in ('contact', 'group', 'agent'): + jid = model[path][Column.JID] + account = model[path][Column.ACCOUNT] + self.on_rename(widget, type_, jid, account) + + elif event.keyval == Gdk.KEY_Delete: + treeselection = self.tree.get_selection() + model, list_of_paths = treeselection.get_selected_rows() + if not list_of_paths: + return + type_ = model[list_of_paths[0]][Column.TYPE] + account = model[list_of_paths[0]][Column.ACCOUNT] + if type_ in ('account', 'group', 'self_contact') or \ + account == app.ZEROCONF_ACC_NAME: + return + list_ = [] + for path in list_of_paths: + if model[path][Column.TYPE] != type_: + return + jid = model[path][Column.JID] + account = model[path][Column.ACCOUNT] + if not app.account_is_available(account): + continue + contact = app.contacts.get_contact_with_highest_priority( + account, jid) + list_.append((contact, account)) + if not list_: + return + if type_ == 'contact': + self.on_req_usub(widget, list_) + elif type_ == 'agent': + self.on_remove_agent(widget, list_) + + elif not (event.get_state() & + (Gdk.ModifierType.CONTROL_MASK | + Gdk.ModifierType.MOD1_MASK)): + num = Gdk.keyval_to_unicode(event.keyval) + if num and num > 31: + # if we got unicode symbol without ctrl / alt + self.enable_rfilter(chr(num)) + + elif event.get_state() & Gdk.ModifierType.CONTROL_MASK and \ + event.get_state() & Gdk.ModifierType.SHIFT_MASK and \ + event.keyval == Gdk.KEY_U: + self.enable_rfilter('') + self.rfilter_entry.event(event) + + elif event.keyval == Gdk.KEY_Left: + treeselection = self.tree.get_selection() + model, list_of_paths = treeselection.get_selected_rows() + if len(list_of_paths) != 1: + return + path = list_of_paths[0] + iter_ = model.get_iter(path) + if model.iter_has_child(iter_) and self.tree.row_expanded(path): + self.tree.collapse_row(path) + return True + if path.get_depth() > 1: + self.tree.set_cursor(path[:-1]) + return True + elif event.keyval == Gdk.KEY_Right: + treeselection = self.tree.get_selection() + model, list_of_paths = treeselection.get_selected_rows() + if len(list_of_paths) != 1: + return + path = list_of_paths[0] + iter_ = model.get_iter(path) + if model.iter_has_child(iter_): + self.tree.expand_row(path, False) + return True + + def accel_group_func(self, accel_group, acceleratable, keyval, modifier): + # CTRL mask + if modifier & Gdk.ModifierType.CONTROL_MASK: + if keyval == Gdk.KEY_s: # CTRL + s + app.interface.change_status() + return True + if keyval == Gdk.KEY_k: # CTRL + k + self.enable_rfilter('') + + def on_roster_treeview_button_press_event(self, widget, event): + try: + pos = self.tree.get_path_at_pos(int(event.x), int(event.y)) + path, x = pos[0], pos[2] + except TypeError: + self.tree.get_selection().unselect_all() + return False + + if event.button == 3: # Right click + try: + model, list_of_paths = self.tree.get_selection().\ + get_selected_rows() + except TypeError: + list_of_paths = [] + if path not in list_of_paths: + self.tree.get_selection().unselect_all() + self.tree.get_selection().select_path(path) + return self.show_treeview_menu(event) + + if event.button == 2: # Middle click + try: + model, list_of_paths = self.tree.get_selection().\ + get_selected_rows() + except TypeError: + list_of_paths = [] + if list_of_paths != [path]: + self.tree.get_selection().unselect_all() + self.tree.get_selection().select_path(path) + type_ = model[path][Column.TYPE] + if type_ in ('agent', 'contact', 'self_contact', 'groupchat'): + self.on_row_activated(widget, path) + elif type_ == 'account': + account = model[path][Column.ACCOUNT] + if account != 'all': + if app.account_is_available(account): + app.interface.change_account_status(account) + return True + + show = helpers.get_global_show() + if show == 'offline': + return True + app.interface.change_status() + return True + + if event.button == 1: # Left click + model = self.modelfilter + type_ = model[path][Column.TYPE] + # x_min is the x start position of status icon column + if app.settings.get('avatar_position_in_roster') == 'left': + x_min = AvatarSize.ROSTER + else: + x_min = 0 + + if type_ == 'group' and x < 27: + # first cell in 1st column (the arrow SINGLE clicked) + if self.tree.row_expanded(path): + self.tree.collapse_row(path) + else: + self.expand_group_row(path) + + elif type_ == 'contact' and x_min < x < x_min + 27: + if self.tree.row_expanded(path): + self.tree.collapse_row(path) + else: + self.tree.expand_row(path, False) + + def expand_group_row(self, path): + self.tree.expand_row(path, False) + iter_ = self.modelfilter.get_iter(path) + child_iter = self.modelfilter.iter_children(iter_) + while child_iter: + type_ = self.modelfilter[child_iter][Column.TYPE] + account = self.modelfilter[child_iter][Column.ACCOUNT] + group = self.modelfilter[child_iter][Column.JID] + if type_ == 'group' and account + group not in self.collapsed_rows: + self.expand_group_row(self.modelfilter.get_path(child_iter)) + child_iter = self.modelfilter.iter_next(child_iter) + + def on_req_usub(self, widget, list_): + """ + Remove a contact. list_ is a list of (contact, account) tuples + """ + def on_ok(is_checked): + remove_auth = True + if len(list_) == 1: + contact = list_[0][0] + if contact.sub != 'to' and is_checked: + remove_auth = False + for (contact, account) in list_: + if _('Not in contact list') not in contact.get_shown_groups(): + app.connections[account].get_module('Presence').unsubscribe(contact.jid, + remove_auth) + self.remove_contact(contact.jid, account, backend=True) + if not remove_auth and contact.sub == 'both': + contact.name = '' + contact.groups = [] + contact.sub = 'from' + # we can't see him, but have to set it manually in contact + contact.show = 'offline' + app.contacts.add_contact(account, contact) + self.add_contact(contact.jid, account) + def on_ok2(): + on_ok(False) + + if len(list_) == 1: + contact = list_[0][0] + title = _('Remove Contact') + pritext = _('Remove contact from contact list') + sectext = _('You are about to remove %(name)s (%(jid)s) from ' + 'your contact list.\n') % { + 'name': contact.get_shown_name(), + 'jid': contact.jid} + if contact.sub == 'to': + ConfirmationDialog( + title, + pritext, + sectext + \ + _('By removing this contact you also remove authorization. ' + 'This means the contact will see you as offline.'), + [DialogButton.make('Cancel'), + DialogButton.make('Remove', + callback=on_ok2)]).show() + elif _('Not in contact list') in contact.get_shown_groups(): + # Contact is not in roster + ConfirmationDialog( + title, + pritext, + sectext + \ + _('Do you want to continue?'), + [DialogButton.make('Cancel'), + DialogButton.make('Remove', + callback=on_ok2)]).show() + else: + ConfirmationCheckDialog( + title, + pritext, + sectext + \ + _('By removing this contact you also remove authorization. ' + 'This means the contact will see you as offline.'), + _('_I want this contact to know my status after removal'), + [DialogButton.make('Cancel'), + DialogButton.make('Remove', + callback=on_ok)], + modal=False).show() + else: + # several contact to remove at the same time + pritext = _('Remove contacts from contact list') + jids = '' + for contact, _account in list_: + jids += '%(name)s (%(jid)s)\n' % { + 'name': contact.get_shown_name(), + 'jid': contact.jid} + sectext = _('By removing the following contacts, you will also ' + 'remove authorization. This means they will see you ' + 'as offline:\n\n%s') % jids + ConfirmationDialog( + _('Remove Contacts'), + pritext, + sectext, + [DialogButton.make('Cancel'), + DialogButton.make('Remove', + callback=on_ok2)]).show() + + def on_publish_tune_toggled(self, widget, account): + active = widget.get_active() + client = app.get_client(account) + client.get_module('UserTune').set_enabled(active) + + def on_publish_location_toggled(self, widget, account): + active = widget.get_active() + client = app.get_client(account) + app.settings.set_account_setting(account, 'publish_location', active) + + if active: + location.enable() + else: + client = app.get_client(account) + client.set_user_location(None) + + client.get_module('Caps').update_caps() + + def on_add_new_contact(self, widget, account): + AddNewContactWindow(account) + + def on_create_gc_activate(self, widget, account): + """ + When the create gc menuitem is clicked, show the create gc window + """ + app.app.activate_action('create-groupchat', + GLib.Variant('s', account)) + + def on_show_transports_action(self, action, param): + app.settings.set('show_transports_group', param.get_boolean()) + action.set_state(param) + self.refilter_shown_roster_items() + + def on_execute_command(self, widget, contact, account, resource=None): + """ + Execute command. Full JID needed; if it is other contact, resource is + necessary. Widget is unnecessary, only to be able to make this a + callback + """ + jid = contact.jid + if resource: + jid = jid + '/' + resource + AdHocCommand(account, jid) + + def on_view_server_info(self, _widget, account): + app.app.activate_action('%s-server-info' % account, + GLib.Variant('s', account)) + + def on_roster_window_focus_in_event(self, widget, event): + # roster received focus, so if we had urgency REMOVE IT + # NOTE: we do not have to read the message to remove urgency + # so this functions does that + set_urgency_hint(widget, False) + + # if a contact row is selected, update colors (eg. for status msg) + # because gtk engines may differ in bg when window is selected + # or not + if self._last_selected_contact: + for (jid, account) in self._last_selected_contact: + self.draw_contact(jid, account, selected=True, focus=True) + + def on_roster_window_focus_out_event(self, widget, event): + # if a contact row is selected, update colors (eg. for status msg) + # because gtk engines may differ in bg when window is selected + # or not + if self._last_selected_contact: + for (jid, account) in self._last_selected_contact: + self.draw_contact(jid, account, selected=True, focus=False) + + def on_roster_window_key_press_event(self, widget, event): + if event.keyval == Gdk.KEY_Escape: + if self.rfilter_enabled: + self.disable_rfilter() + return True + if app.interface.msg_win_mgr.mode == \ + MessageWindowMgr.ONE_MSG_WINDOW_ALWAYS_WITH_ROSTER and \ + app.interface.msg_win_mgr.one_window_opened(): + # let message window close the tab + return + list_of_paths = self.tree.get_selection().get_selected_rows()[1] + if not list_of_paths and not app.settings.get( + 'quit_on_roster_x_button') and ((app.interface.systray_enabled and\ + app.settings.get('trayicon') == 'always') or app.settings.get( + 'allow_hide_roster')): + if os.name == 'nt' or app.settings.get('hide_on_roster_x_button'): + self.window.hide() + else: + self.window.iconify() + elif event.get_state() & Gdk.ModifierType.CONTROL_MASK and event.keyval == \ + Gdk.KEY_i: + treeselection = self.tree.get_selection() + model, list_of_paths = treeselection.get_selected_rows() + for path in list_of_paths: + type_ = model[path][Column.TYPE] + if type_ in ('contact', 'agent'): + jid = model[path][Column.JID] + account = model[path][Column.ACCOUNT] + contact = app.contacts.get_first_contact_from_jid(account, + jid) + self.on_info(widget, contact, account) + elif event.get_state() & Gdk.ModifierType.CONTROL_MASK and event.keyval == \ + Gdk.KEY_h: + if app.settings.get('one_message_window') == 'always_with_roster': + # Let MessageWindow handle this + return + treeselection = self.tree.get_selection() + model, list_of_paths = treeselection.get_selected_rows() + if len(list_of_paths) != 1: + return + path = list_of_paths[0] + type_ = model[path][Column.TYPE] + if type_ in ('contact', 'agent'): + jid = model[path][Column.JID] + account = model[path][Column.ACCOUNT] + contact = app.contacts.get_first_contact_from_jid(account, + jid) + dict_ = {'jid': GLib.Variant('s', jid), + 'account': GLib.Variant('s', account)} + app.app.activate_action('browse-history', + GLib.Variant('a{sv}', dict_)) + + def on_roster_window_popup_menu(self, widget): + event = Gdk.Event.new(Gdk.EventType.KEY_PRESS) + self.show_treeview_menu(event) + + def on_row_activated(self, widget, path): + """ + When an iter is activated (double-click or single click if gnome is set + this way) + """ + model = self.modelfilter + account = model[path][Column.ACCOUNT] + type_ = model[path][Column.TYPE] + if type_ in ('group', 'account'): + if self.tree.row_expanded(path): + self.tree.collapse_row(path) + else: + self.tree.expand_row(path, False) + return + if self.rfilter_enabled: + GObject.idle_add(self.disable_rfilter) + jid = model[path][Column.JID] + resource = None + contact = app.contacts.get_contact_with_highest_priority(account, jid) + titer = model.get_iter(path) + if contact.is_groupchat: + first_ev = app.events.get_first_event(account, jid) + if first_ev and self.open_event(account, jid, first_ev): + # We are invited to a GC + # open event cares about connecting to it + self.remove_groupchat(jid, account) + else: + self.on_groupchat_maximized(None, jid, account) + return + + # else + first_ev = app.events.get_first_event(account, jid) + if not first_ev: + # look in other resources + for c in app.contacts.get_contacts(account, jid): + fjid = c.get_full_jid() + first_ev = app.events.get_first_event(account, fjid) + if first_ev: + resource = c.resource + break + if not first_ev and model.iter_has_child(titer): + child_iter = model.iter_children(titer) + while not first_ev and child_iter: + child_jid = model[child_iter][Column.JID] + first_ev = app.events.get_first_event(account, child_jid) + if first_ev: + jid = child_jid + else: + child_iter = model.iter_next(child_iter) + session = None + if first_ev: + if first_ev.type_ in ('chat', 'normal'): + session = first_ev.session + fjid = jid + if resource: + fjid += '/' + resource + if self.open_event(account, fjid, first_ev): + return + # else + contact = app.contacts.get_contact(account, jid, resource) + if not contact or isinstance(contact, list): + contact = app.contacts.get_contact_with_highest_priority(account, + jid) + if jid == app.get_jid_from_account(account): + resource = None + + app.interface.on_open_chat_window(None, contact, account, \ + resource=resource, session=session) + + def on_roster_treeview_row_activated(self, widget, path, col=0): + """ + When an iter is double clicked: open the first event window + """ + self.on_row_activated(widget, path) + + def on_roster_treeview_row_expanded(self, widget, titer, path): + """ + When a row is expanded change the icon of the arrow + """ + self._toggeling_row = True + model = widget.get_model() + child_model = model.get_model() + child_iter = model.convert_iter_to_child_iter(titer) + + if self.regroup: # merged accounts + accounts = list(app.connections.keys()) + else: + accounts = [model[titer][Column.ACCOUNT]] + + type_ = model[titer][Column.TYPE] + if type_ == 'group': + group = model[titer][Column.JID] + child_model[child_iter][Column.IMG] = get_icon_name('opened') + if self.rfilter_enabled: + return + for account in accounts: + if group in app.groups[account]: # This account has this group + app.groups[account][group]['expand'] = True + if account + group in self.collapsed_rows: + self.collapsed_rows.remove(account + group) + for contact in app.contacts.iter_contacts(account): + jid = contact.jid + if group in contact.groups and \ + app.contacts.is_big_brother(account, jid, accounts) and \ + account + group + jid not in self.collapsed_rows: + titers = self._get_contact_iter(jid, account) + for titer_ in titers: + path = model.get_path(titer_) + self.tree.expand_row(path, False) + elif type_ == 'account': + account = list(accounts)[0] # There is only one cause we don't use merge + if account in self.collapsed_rows: + self.collapsed_rows.remove(account) + self.draw_account(account) + # When we expand, groups are collapsed. Restore expand state + for group in app.groups[account]: + if app.groups[account][group]['expand']: + titer = self._get_group_iter(group, account) + if titer: + path = model.get_path(titer) + self.tree.expand_row(path, False) + elif type_ == 'contact': + # Metacontact got toggled, update icon + jid = model[titer][Column.JID] + account = model[titer][Column.ACCOUNT] + contact = app.contacts.get_contact(account, jid) + for group in contact.groups: + if account + group + jid in self.collapsed_rows: + self.collapsed_rows.remove(account + group + jid) + family = app.contacts.get_metacontacts_family(account, jid) + nearby_family = \ + self._get_nearby_family_and_big_brother(family, account)[0] + # Redraw all brothers to show pending events + for data in nearby_family: + self.draw_contact(data['jid'], data['account']) + + self._toggeling_row = False + + def on_roster_treeview_row_collapsed(self, widget, titer, path): + """ + When a row is collapsed change the icon of the arrow + """ + self._toggeling_row = True + model = widget.get_model() + child_model = model.get_model() + child_iter = model.convert_iter_to_child_iter(titer) + + if self.regroup: # merged accounts + accounts = list(app.connections.keys()) + else: + accounts = [model[titer][Column.ACCOUNT]] + + type_ = model[titer][Column.TYPE] + if type_ == 'group': + child_model[child_iter][Column.IMG] = get_icon_name('closed') + if self.rfilter_enabled: + return + group = model[titer][Column.JID] + for account in accounts: + if group in app.groups[account]: # This account has this group + app.groups[account][group]['expand'] = False + if account + group not in self.collapsed_rows: + self.collapsed_rows.append(account + group) + elif type_ == 'account': + account = accounts[0] # There is only one cause we don't use merge + if account not in self.collapsed_rows: + self.collapsed_rows.append(account) + self.draw_account(account) + elif type_ == 'contact': + # Metacontact got toggled, update icon + jid = model[titer][Column.JID] + account = model[titer][Column.ACCOUNT] + contact = app.contacts.get_contact(account, jid) + groups = contact.groups + if not groups: + groups = [_('General')] + for group in groups: + if account + group + jid not in self.collapsed_rows: + self.collapsed_rows.append(account + group + jid) + family = app.contacts.get_metacontacts_family(account, jid) + nearby_family = \ + self._get_nearby_family_and_big_brother(family, account)[0] + # Redraw all brothers to show pending events + for data in nearby_family: + self.draw_contact(data['jid'], data['account']) + + self._toggeling_row = False + + def on_modelfilter_row_has_child_toggled(self, model, path, titer): + """ + Called when a row has gotten the first or lost its last child row + + Expand Parent if necessary. + """ + if self._toggeling_row: + # Signal is emitted when we write to our model + return + + type_ = model[titer][Column.TYPE] + account = model[titer][Column.ACCOUNT] + if not account: + return + + if type_ == 'contact': + child_iter = model.convert_iter_to_child_iter(titer) + if self.model.iter_has_child(child_iter): + # we are a bigbrother metacontact + # redraw us to show/hide expand icon + if self.filtering: + # Prevent endless loops + jid = model[titer][Column.JID] + GLib.idle_add(self.draw_contact, jid, account) + elif type_ == 'group': + group = model[titer][Column.JID] + GLib.idle_add(self._adjust_group_expand_collapse_state, group, account) + elif type_ == 'account': + GLib.idle_add(self._adjust_account_expand_collapse_state, account) + +# Selection can change when the model is filtered +# Only write to the model when filtering is finished! +# +# FIXME: When we are filtering our custom colors are somehow lost +# +# def on_treeview_selection_changed(self, selection): +# '''Called when selection in TreeView has changed. +# +# Redraw unselected rows to make status message readable +# on all possible backgrounds. +# ''' +# model, list_of_paths = selection.get_selected_rows() +# if len(self._last_selected_contact): +# # update unselected rows +# for (jid, account) in self._last_selected_contact: +# GLib.idle_add(self.draw_contact, jid, +# account) +# self._last_selected_contact = [] +# if len(list_of_paths) == 0: +# return +# for path in list_of_paths: +# row = model[path] +# if row[Column.TYPE] != 'contact': +# self._last_selected_contact = [] +# return +# jid = row[Column.JID] +# account = row[Column.ACCOUNT] +# self._last_selected_contact.append((jid, account)) +# GLib.idle_add(self.draw_contact, jid, account, True) + + + def on_service_disco_menuitem_activate(self, widget, account): + server_jid = app.settings.get_account_setting(account, 'hostname') + if server_jid in app.interface.instances[account]['disco']: + app.interface.instances[account]['disco'][server_jid].\ + window.present() + else: + try: + # Object will add itself to the window dict + ServiceDiscoveryWindow(account, address_entry=True) + except GajimGeneralException: + pass + + def on_show_offline_contacts_action(self, action, param): + """ + When show offline option is changed: redraw the treeview + """ + action.set_state(param) + app.settings.set('showoffline', param.get_boolean()) + self.refilter_shown_roster_items() + self.window.lookup_action('show-active').set_enabled( + not param.get_boolean()) + + def on_show_active_contacts_action(self, action, param): + """ + When show only active contact option is changed: redraw the treeview + """ + action.set_state(param) + app.settings.set('show_only_chat_and_online', param.get_boolean()) + self.refilter_shown_roster_items() + self.window.lookup_action('show-offline').set_enabled( + not param.get_boolean()) + + def on_show_roster_action(self, action, param): + # when num controls is 0 this menuitem is hidden, but still need to + # disable keybinding + action.set_state(param) + if self.hpaned.get_child2() is not None: + self.show_roster_vbox(param.get_boolean()) + + def on_rfilter_entry_changed(self, widget): + """ When we update the content of the filter """ + self.rfilter_string = widget.get_text().lower() + if self.rfilter_string == '': + self.disable_rfilter() + self.refilter_shown_roster_items() + # select first row + self.tree.get_selection().unselect_all() + def _func(model, path, iter_, param): + if model[iter_][Column.TYPE] == 'contact' and self.rfilter_string in \ + model[iter_][Column.NAME].lower(): + col = self.tree.get_column(0) + self.tree.set_cursor_on_cell(path, col, None, False) + return True + self.modelfilter.foreach(_func, None) + + def on_rfilter_entry_icon_press(self, widget, icon, event): + """ + Disable the roster filtering by clicking the icon in the textEntry + """ + self.disable_rfilter() + + def on_rfilter_entry_key_press_event(self, widget, event): + if event.keyval == Gdk.KEY_Escape: + self.disable_rfilter() + elif event.keyval == Gdk.KEY_Return: + self.tree.grab_focus() + self.tree.event(event) + self.disable_rfilter() + elif event.keyval in (Gdk.KEY_Up, Gdk.KEY_Down): + self.tree.grab_focus() + self.tree.event(event) + elif event.keyval == Gdk.KEY_BackSpace: + if widget.get_text() == '': + self.disable_rfilter() + + def enable_rfilter(self, search_string): + self.rfilter_entry.set_visible(True) + self.rfilter_entry.set_editable(True) + self.rfilter_entry.grab_focus() + if self.rfilter_enabled: + self.rfilter_entry.set_text(self.rfilter_entry.get_text() + \ + search_string) + else: + self.rfilter_enabled = True + self.rfilter_entry.set_text(search_string) + self.tree.expand_all() + self.rfilter_entry.set_position(-1) + + # If roster is hidden, let's temporarily show it. This can happen if user + # enables rfilter via keyboard shortcut. + self.show_roster_vbox(True) + + def disable_rfilter(self): + self.rfilter_enabled = False + self.rfilter_entry.set_text('') + self.rfilter_entry.set_visible(False) + self.rfilter_entry.set_editable(False) + self.refilter_shown_roster_items() + self.tree.grab_focus() + self._readjust_expand_collapse_state() + + # If roster was hidden before enable_rfilter was called, hide it back. + state = self.window.lookup_action('show-roster').get_state().get_boolean() + if state is False and self.hpaned.get_child2() is not None: + self.show_roster_vbox(False) + + def on_roster_hpaned_notify(self, pane, gparamspec): + """ + Keep changing the width of the roster + (when a Gtk.Paned widget handle is dragged) + """ + if gparamspec and gparamspec.name == 'position': + roster_width = pane.get_child1().get_allocation().width + app.settings.set('roster_width', roster_width) + app.settings.set('roster_hpaned_position', pane.get_position()) + +################################################################################ +### Drag and Drop handling +################################################################################ + + def drag_data_get_data(self, treeview, context, selection, target_id, + etime): + model, list_of_paths = self.tree.get_selection().get_selected_rows() + if len(list_of_paths) != 1: + return + path = list_of_paths[0] + data = '' + if path.get_depth() >= 2: + data = model[path][Column.JID] + selection.set_text(data, -1) + + def drag_begin(self, treeview, context): + self.dragging = True + + def drag_end(self, treeview, context): + self.dragging = False + + def on_drop_rosterx(self, widget, account_source, c_source, account_dest, + c_dest, was_big_brother, context, etime): + type_ = 'message' + if (c_dest.show not in ('offline', 'error') and + c_dest.supports(Namespace.ROSTERX)): + type_ = 'iq' + con = app.connections[account_dest] + con.get_module('RosterItemExchange').send_contacts( + [c_source], c_dest.get_full_jid(), type_=type_) + + def on_drop_in_contact(self, widget, account_source, c_source, account_dest, + c_dest, was_big_brother, context, etime): + con_source = app.connections[account_source] + con_dest = app.connections[account_dest] + if (not con_source.get_module('MetaContacts').available or + not con_dest.get_module('MetaContacts').available): + return + + def merge_contacts(is_checked=None): + contacts = 0 + if is_checked is not None: # dialog has been shown + if is_checked: # user does not want to be asked again + app.settings.set('confirm_metacontacts', 'no') + else: + app.settings.set('confirm_metacontacts', 'yes') + + # We might have dropped on a metacontact. + # Remove it and add it again later with updated family info + dest_family = app.contacts.get_metacontacts_family(account_dest, + c_dest.jid) + if dest_family: + self._remove_metacontact_family(dest_family, account_dest) + source_family = app.contacts.get_metacontacts_family( + account_source, c_source.jid) + if dest_family == source_family: + n = contacts = len(dest_family) + for tag in source_family: + if tag['jid'] == c_source.jid: + tag['order'] = contacts + continue + if 'order' in tag: + n -= 1 + tag['order'] = n + else: + self._remove_entity(c_dest, account_dest) + + old_family = app.contacts.get_metacontacts_family(account_source, + c_source.jid) + old_groups = c_source.groups + + # Remove old source contact(s) + if was_big_brother: + # We have got little brothers. Add them all back + self._remove_metacontact_family(old_family, account_source) + else: + # We are only a little brother. Simply remove us from our big + # brother + if self._get_contact_iter(c_source.jid, account_source): + # When we have been in the group before. + # Do not try to remove us again + self._remove_entity(c_source, account_source) + + own_data = {} + own_data['jid'] = c_source.jid + own_data['account'] = account_source + # Don't touch the rest of the family + old_family = [own_data] + + # Apply new tag and update contact + for data in old_family: + if account_source != data['account'] and not self.regroup: + continue + + _account = data['account'] + _jid = data['jid'] + _contact = app.contacts.get_first_contact_from_jid(_account, + _jid) + if not _contact: + # One of the metacontacts may be not connected. + continue + + _contact.groups = c_dest.groups[:] + app.contacts.add_metacontact(account_dest, c_dest.jid, + _account, _contact.jid, contacts) + con = app.connections[account_source] + con.get_module('Roster').update_contact( + _contact.jid, _contact.name, _contact.groups) + + # Re-add all and update GUI + new_family = app.contacts.get_metacontacts_family(account_source, + c_source.jid) + brothers = self._add_metacontact_family(new_family, account_source) + + for c, acc in brothers: + self.draw_completely(c.jid, acc) + + old_groups.extend(c_dest.groups) + for g in old_groups: + self.draw_group(g, account_source) + + self.draw_account(account_source) + context.finish(True, True, etime) + + dest_family = app.contacts.get_metacontacts_family(account_dest, + c_dest.jid) + source_family = app.contacts.get_metacontacts_family(account_source, + c_source.jid) + confirm_metacontacts = app.settings.get('confirm_metacontacts') + if confirm_metacontacts == 'no' or dest_family == source_family: + merge_contacts() + return + pritext = _('You are about to create a metacontact') + sectext = _('Metacontacts are a way to regroup several contacts in ' + 'one single contact. Generally it is used when the same ' + 'person has several XMPP- or Transport-Accounts.') + ConfirmationCheckDialog( + _('Create Metacontact'), + pritext, + sectext, + _('_Do not ask me again'), + [DialogButton.make('Cancel'), + DialogButton.make('Accept', + text=_('_Create'), + callback=merge_contacts)]).show() + + def on_drop_in_group(self, widget, account, c_source, grp_dest, + is_big_brother, context, etime, grp_source=None): + if is_big_brother: + # add whole metacontact to new group + self.add_contact_to_groups(c_source.jid, account, [grp_dest, ]) + # remove afterwards so the contact is not moved to General in the + # meantime + if grp_dest != grp_source: + self.remove_contact_from_groups(c_source.jid, account, + [grp_source]) + else: + # Normal contact or little brother + family = app.contacts.get_metacontacts_family(account, + c_source.jid) + if family: + # Little brother + # Remove whole family. Remove us from the family. + # Then re-add other family members. + self._remove_metacontact_family(family, account) + app.contacts.remove_metacontact(account, c_source.jid) + for data in family: + if account != data['account'] and not self.regroup: + continue + if data['jid'] == c_source.jid and\ + data['account'] == account: + continue + self.add_contact(data['jid'], data['account']) + break + + self.add_contact_to_groups(c_source.jid, account, [grp_dest, ]) + + else: + # Normal contact + self.add_contact_to_groups(c_source.jid, account, [grp_dest, ]) + # remove afterwards so the contact is not moved to General in + # the meantime + if grp_dest != grp_source: + self.remove_contact_from_groups(c_source.jid, account, + [grp_source]) + + if context.get_actions() in (Gdk.DragAction.MOVE, Gdk.DragAction.COPY): + context.finish(True, True, etime) + + def drag_drop(self, treeview, context, x, y, timestamp): + treeview.stop_emission_by_name('drag-drop') + target_list = treeview.drag_dest_get_target_list() + target = treeview.drag_dest_find_target(context, target_list) + treeview.drag_get_data(context, target, timestamp) + return True + + def move_group(self, old_name, new_name, account): + for group in list(app.groups[account].keys()): + if group.startswith(old_name): + self.rename_group(group, group.replace(old_name, new_name), + account) + + def drag_data_received_data(self, treeview, context, x, y, selection, info, + etime): + treeview.stop_emission_by_name('drag-data-received') + drop_info = treeview.get_dest_row_at_pos(x, y) + if not drop_info: + return + data = selection.get_data().decode() + if not data: + return # prevents tb when several entries are dragged + model = treeview.get_model() + + path_dest, position = drop_info + + if position == Gtk.TreeViewDropPosition.BEFORE and len(path_dest) == 2 \ + and path_dest[1] == 0: # dropped before the first group + return + if position == Gtk.TreeViewDropPosition.BEFORE and len(path_dest) == 2: + # dropped before a group: we drop it in the previous group every + # time + path_dest = (path_dest[0], path_dest[1]-1) + # destination: the row something got dropped on + iter_dest = model.get_iter(path_dest) + type_dest = model[iter_dest][Column.TYPE] + jid_dest = model[iter_dest][Column.JID] + account_dest = model[iter_dest][Column.ACCOUNT] + + # drop on account row in merged mode, we cannot know the desired account + if account_dest == 'all': + return + # nothing can be done, if destination account is offline + if not app.account_is_available(account_dest): + return + + # A file got dropped on the roster + if info == self.TARGET_TYPE_URI_LIST: + if len(path_dest) < 3: + return + if type_dest != 'contact': + return + c_dest = app.contacts.get_contact_with_highest_priority( + account_dest, jid_dest) + if not c_dest.supports(Namespace.JINGLE_FILE_TRANSFER_5): + return + uri = data.strip() + uri_splitted = uri.split() # we may have more than one file dropped + try: + # This is always the last element in windows + uri_splitted.remove('\0') + except ValueError: + pass + nb_uri = len(uri_splitted) + # Check the URIs + bad_uris = [] + for a_uri in uri_splitted: + path = helpers.get_file_path_from_dnd_dropped_uri(a_uri) + if not os.path.isfile(path): + bad_uris.append(a_uri) + if bad_uris: + ErrorDialog(_('Invalid file URI:'), '\n'.join(bad_uris)) + return + def _on_send_files(account, jid, uris): + c = app.contacts.get_contact_with_highest_priority(account, + jid) + for uri in uris: + path = helpers.get_file_path_from_dnd_dropped_uri(uri) + if os.path.isfile(path): # is it file? + app.interface.instances['file_transfers'].send_file( + account, c, path) + # Popup dialog to confirm sending + text = i18n.ngettext( + 'Send this file to %s:\n', + 'Send these files to %s:\n', + nb_uri) % c_dest.get_shown_name() + + for uri in uri_splitted: + path = helpers.get_file_path_from_dnd_dropped_uri(uri) + text += '\n' + os.path.basename(path) + ConfirmationDialog( + _('File Transfer'), + _('File Transfer'), + text, + [DialogButton.make('Cancel'), + DialogButton.make('Accept', + text=_('_Send'), + callback=_on_send_files, + args=(account_dest, jid_dest, uri_splitted))], + transient_for=self.window).show() + return + + # Check if something is selected + if treeview.get_selection().count_selected_rows() == 0: + return + + # a roster entry was dragged and dropped somewhere in the roster + + # source: the row that was dragged + path_source = treeview.get_selection().get_selected_rows()[1][0] + iter_source = model.get_iter(path_source) + type_source = model[iter_source][Column.TYPE] + account_source = model[iter_source][Column.ACCOUNT] + + if app.settings.get_account_setting(account_source, 'is_zeroconf'): + return + + if type_dest == 'self_contact': + # drop on self contact row + return + + if type_dest == 'groupchat': + # Drop on a minimized groupchat + if type_source != 'contact': + return + contact_jid = data + gc_control = app.get_groupchat_control(account_dest, jid_dest) + if gc_control is not None: + gc_control.invite(contact_jid) + return + + if type_source == 'group': + if account_source != account_dest: + # drop on another account + return + grp_source = model[iter_source][Column.JID] + delimiter = app.connections[account_source].get_module('Delimiter').delimiter + grp_source_list = grp_source.split(delimiter) + new_grp = None + if type_dest == 'account': + new_grp = grp_source_list[-1] + elif type_dest == 'group': + grp_dest = model[iter_dest][Column.JID] + # Don't allow to drop on e.g. Groupchats group + if grp_dest in helpers.special_groups: + return + grp_dest_list = grp_dest.split(delimiter) + # Do not allow to drop on a subgroup of source group + if grp_source_list[0] != grp_dest_list[0]: + new_grp = model[iter_dest][Column.JID] + delimiter + \ + grp_source_list[-1] + if new_grp: + self.move_group(grp_source, new_grp, account_source) + + # Only normal contacts and group can be dragged + if type_source != 'contact': + return + + # A contact was dropped + if app.settings.get_account_setting(account_dest, 'is_zeroconf'): + # drop on zeroconf account, adding not possible + return + + if type_dest == 'account' and account_source == account_dest: + # drop on the account it was dragged from + return + + # Get valid source group, jid and contact + it = iter_source + while model[it][Column.TYPE] == 'contact': + it = model.iter_parent(it) + grp_source = model[it][Column.JID] + if grp_source in (_('Transports'), _('Group chats')): + # a transport or a minimized groupchat was dragged + # we can add it to other accounts but not move it to another group, + # see below + return + jid_source = data + c_source = app.contacts.get_contact_with_highest_priority( + account_source, jid_source) + + # Get destination group + grp_dest = None + if type_dest == 'group': + grp_dest = model[iter_dest][Column.JID] + elif type_dest in ('contact', 'agent'): + it = iter_dest + while model[it][Column.TYPE] != 'group': + it = model.iter_parent(it) + grp_dest = model[it][Column.JID] + if grp_dest in helpers.special_groups: + return + + if jid_source == jid_dest: + if grp_source == grp_dest and account_source == account_dest: + # Drop on self + return + + # contact drop somewhere in or on a foreign account + if (type_dest == 'account' or not self.regroup) and \ + account_source != account_dest: + # add to account in specified group + AddNewContactWindow(account=account_dest, contact_jid=jid_source, + user_nick=c_source.name, group=grp_dest) + return + + # we may not add contacts from special_groups + if grp_source in helpers.special_groups: + if grp_source == _('Not in contact list'): + AddNewContactWindow( + account=account_dest, + contact_jid=jid_source, + user_nick=c_source.name, + group=grp_dest) + return + return + + # Is the contact we drag a meta contact? + accounts = account_source + if self.regroup: + accounts = app.contacts.get_accounts() or account_source + is_big_brother = app.contacts.is_big_brother(account_source, + jid_source, accounts) + + drop_in_middle_of_meta = False + if type_dest == 'contact': + if position == Gtk.TreeViewDropPosition.BEFORE and len(path_dest) == 4: + drop_in_middle_of_meta = True + if position == Gtk.TreeViewDropPosition.AFTER and (len(path_dest) == 4 or\ + self.modelfilter.iter_has_child(iter_dest)): + drop_in_middle_of_meta = True + # Contact drop on group row or between two contacts that are + # not metacontacts + if (type_dest == 'group' or position in (Gtk.TreeViewDropPosition.BEFORE, + Gtk.TreeViewDropPosition.AFTER)) and not drop_in_middle_of_meta: + self.on_drop_in_group(None, account_source, c_source, grp_dest, + is_big_brother, context, etime, grp_source) + return + + # Contact drop on another contact, make meta contacts + if position == Gtk.TreeViewDropPosition.INTO_OR_AFTER or \ + position == Gtk.TreeViewDropPosition.INTO_OR_BEFORE or drop_in_middle_of_meta: + c_dest = app.contacts.get_contact_with_highest_priority( + account_dest, jid_dest) + if not c_dest: + # c_dest is None if jid_dest doesn't belong to account + return + menu = Gtk.Menu() + #from and to are the names of contacts + item = Gtk.MenuItem.new_with_label(_('Send %(from)s to %(to)s') % { + 'from': c_source.get_shown_name(), 'to': c_dest.get_shown_name()}) + item.set_use_underline(False) + item.connect('activate', self.on_drop_rosterx, account_source, + c_source, account_dest, c_dest, is_big_brother, context, etime) + menu.append(item) + + dest_family = app.contacts.get_metacontacts_family(account_dest, + c_dest.jid) + source_family = app.contacts.get_metacontacts_family( + account_source, c_source.jid) + if dest_family == source_family and dest_family: + item = Gtk.MenuItem.new_with_label( + _('Make %s first contact') % ( + c_source.get_shown_name())) + item.set_use_underline(False) + else: + item = Gtk.MenuItem.new_with_label( + _('Make %(contact1)s and %(contact2)s metacontacts') % { + 'contact1': c_source.get_shown_name(), 'contact2': c_dest.get_shown_name()}) + item.set_use_underline(False) + + item.connect('activate', self.on_drop_in_contact, account_source, + c_source, account_dest, c_dest, is_big_brother, context, etime) + + menu.append(item) + + menu.attach_to_widget(self.tree, None) + menu.connect('selection-done', gtkgui_helpers.destroy_widget) + menu.show_all() + menu.popup_at_pointer(None) + +################################################################################ +### Everything about images and icons.... +### Cleanup assigned to Jim++ :-) +################################################################################ + + def update_icons(self): + # Update the roster + self.setup_and_draw_roster() + + # Update the systray + if app.interface.systray_enabled: + app.interface.systray.set_img() + app.interface.systray.change_status(helpers.get_global_show()) + + for win in app.interface.msg_win_mgr.windows(): + for ctrl in win.controls(): + ctrl.update_ui() + win.redraw_tab(ctrl) + + self._status_selector.update() + + + def set_account_status_icon(self, account): + child_iterA = self._get_account_iter(account, self.model) + if not child_iterA: + return + if not self.regroup: + status = helpers.get_connection_status(account) + else: # accounts merged + status = helpers.get_global_show() + self.model[child_iterA][Column.IMG] = get_icon_name(status) + +################################################################################ +### Style and theme related methods +################################################################################ + + def show_title(self): + change_title_allowed = app.settings.get('change_roster_title') + if not change_title_allowed: + return + + nb_unread = 0 + for account in app.connections: + # Count events in roster title only if we don't auto open them + if not helpers.allow_popup_window(account): + nb_unread += app.events.get_nb_events(['chat', 'normal', + 'file-request', 'file-error', 'file-completed', + 'file-request-error', 'file-send-error', 'file-stopped', + 'printed_chat'], account) + + + if app.settings.get('one_message_window') == 'always_with_roster': + # always_with_roster mode defers to the MessageWindow + if not app.interface.msg_win_mgr.one_window_opened(): + # No MessageWindow to defer to + self.window.set_title('Gajim') + set_urgency_hint(self.window, nb_unread > 0) + return + + start = '' + if nb_unread > 1: + start = '[' + str(nb_unread) + '] ' + elif nb_unread == 1: + start = '* ' + + self.window.set_title(start + 'Gajim') + set_urgency_hint(self.window, nb_unread > 0) + + def _nec_chatstate_received(self, event): + if event.contact.is_gc_contact or event.contact.is_pm_contact: + return + self.draw_contact(event.contact.jid, event.account) + + def _style_changed(self, *args): + self.change_roster_style(None) + + def _change_style(self, model, path, titer, option): + if option is None or model[titer][Column.TYPE] == option: + # We changed style for this type of row + model[titer][Column.NAME] = model[titer][Column.NAME] + + def change_roster_style(self, option): + self.model.foreach(self._change_style, option) + for win in app.interface.msg_win_mgr.windows(): + win.repaint_themed_widgets() + + def repaint_themed_widgets(self): + """ + Notify windows that contain themed widgets to repaint them + """ + for win in app.interface.msg_win_mgr.windows(): + win.repaint_themed_widgets() + for account in app.connections: + for ctrl in list(app.interface.minimized_controls[account].values()): + ctrl.repaint_themed_widgets() + + def _iconCellDataFunc(self, column, renderer, model, titer, data=None): + """ + When a row is added, set properties for icon renderer + """ + icon_name = model[titer][Column.IMG] + if ':' in icon_name: + icon_name, expanded = icon_name.split(':') + surface = get_metacontact_surface( + icon_name, expanded == 'opened', self.scale_factor) + renderer.set_property('icon_name', None) + renderer.set_property('surface', surface) + else: + renderer.set_property('surface', None) + renderer.set_property('icon_name', icon_name) + + try: + type_ = model[titer][Column.TYPE] + except TypeError: + return + if type_ == 'account': + self._set_account_row_background_color(renderer) + renderer.set_property('xalign', 0) + elif type_ == 'group': + self._set_group_row_background_color(renderer) + parent_iter = model.iter_parent(titer) + if model[parent_iter][Column.TYPE] == 'group': + renderer.set_property('xalign', 0.4) + else: + renderer.set_property('xalign', 0.6) + elif type_: + # prevent type_ = None, see http://trac.gajim.org/ticket/2534 + if not model[titer][Column.JID] or not model[titer][Column.ACCOUNT]: + # This can append when at the moment we add the row + return + jid = model[titer][Column.JID] + account = model[titer][Column.ACCOUNT] + self._set_contact_row_background_color(renderer, jid, account) + parent_iter = model.iter_parent(titer) + if model[parent_iter][Column.TYPE] == 'contact': + renderer.set_property('xalign', 1) + else: + renderer.set_property('xalign', 0.6) + renderer.set_property('width', 26) + + def _nameCellDataFunc(self, column, renderer, model, titer, data=None): + """ + When a row is added, set properties for name renderer + """ + try: + type_ = model[titer][Column.TYPE] + except TypeError: + return + + if type_ == 'account': + color = app.css_config.get_value('.gajim-account-row', StyleAttr.COLOR) + renderer.set_property('foreground', color) + desc = app.css_config.get_font('.gajim-account-row') + renderer.set_property('font-desc', desc) + renderer.set_property('xpad', 0) + renderer.set_property('width', 3) + self._set_account_row_background_color(renderer) + elif type_ == 'group': + color = app.css_config.get_value('.gajim-group-row', StyleAttr.COLOR) + renderer.set_property('foreground', color) + desc = app.css_config.get_font('.gajim-group-row') + renderer.set_property('font-desc', desc) + parent_iter = model.iter_parent(titer) + if model[parent_iter][Column.TYPE] == 'group': + renderer.set_property('xpad', 8) + else: + renderer.set_property('xpad', 4) + self._set_group_row_background_color(renderer) + elif type_: + # prevent type_ = None, see http://trac.gajim.org/ticket/2534 + if not model[titer][Column.JID] or not model[titer][Column.ACCOUNT]: + # This can append when at the moment we add the row + return + jid = model[titer][Column.JID] + account = model[titer][Column.ACCOUNT] + + color = None + if type_ == 'groupchat': + ctrl = app.interface.minimized_controls[account].get(jid, None) + if ctrl and ctrl.attention_flag: + color = app.css_config.get_value( + '.state_muc_directed_msg_color', StyleAttr.COLOR) + elif app.settings.get('show_chatstate_in_roster'): + chatstate = app.contacts.get_combined_chatstate(account, jid) + if chatstate not in (None, 'active'): + color = app.css_config.get_value( + '.gajim-state-%s' % chatstate, StyleAttr.COLOR) + else: + color = app.css_config.get_value( + '.gajim-contact-row', StyleAttr.COLOR) + renderer.set_property('foreground', color) + + self._set_contact_row_background_color(renderer, jid, account) + desc = app.css_config.get_font('.gajim-contact-row') + renderer.set_property('font-desc', desc) + parent_iter = model.iter_parent(titer) + if model[parent_iter][Column.TYPE] == 'contact': + renderer.set_property('xpad', 16) + else: + renderer.set_property('xpad', 12) + + def _fill_pep_pixbuf_renderer(self, column, renderer, model, titer, + data=None): + """ + When a row is added, draw the respective pep icon + """ + try: + type_ = model[titer][Column.TYPE] + except TypeError: + return + + # allocate space for the icon only if needed + if model[titer][data] is None: + renderer.set_property('visible', False) + else: + renderer.set_property('visible', True) + + if type_ == 'account': + self._set_account_row_background_color(renderer) + renderer.set_property('xalign', 1) + elif type_: + if not model[titer][Column.JID] or not model[titer][Column.ACCOUNT]: + # This can append at the moment we add the row + return + jid = model[titer][Column.JID] + account = model[titer][Column.ACCOUNT] + self._set_contact_row_background_color(renderer, jid, account) + + def _fill_avatar_pixbuf_renderer(self, column, renderer, model, titer, + data=None): + """ + When a row is added, set properties for avatar renderer + """ + try: + type_ = model[titer][Column.TYPE] + except TypeError: + return + + if type_ in ('group', 'account'): + renderer.set_property('visible', False) + return + + image = model[titer][Column.AVATAR_IMG] + if image is not None: + surface = image.get_property('surface') + renderer.set_property('surface', surface) + # allocate space for the icon only if needed + if model[titer][Column.AVATAR_IMG] or \ + app.settings.get('avatar_position_in_roster') == 'left': + renderer.set_property('visible', True) + if type_: + # prevent type_ = None, see http://trac.gajim.org/ticket/2534 + if not model[titer][Column.JID] or not model[titer][Column.ACCOUNT]: + # This can append at the moment we add the row + return + jid = model[titer][Column.JID] + account = model[titer][Column.ACCOUNT] + self._set_contact_row_background_color(renderer, jid, account) + else: + renderer.set_property('visible', False) + if model[titer][Column.AVATAR_IMG] is None and \ + app.settings.get('avatar_position_in_roster') != 'left': + renderer.set_property('visible', False) + + renderer.set_property('width', AvatarSize.ROSTER) + renderer.set_property('xalign', 0.5) + + def _fill_padlock_pixbuf_renderer(self, column, renderer, model, titer, + data=None): + """ + When a row is added, set properties for padlock renderer + """ + try: + type_ = model[titer][Column.TYPE] + except TypeError: + return + + # allocate space for the icon only if needed + if type_ == 'account' and model[titer][Column.PADLOCK_PIXBUF]: + renderer.set_property('visible', True) + self._set_account_row_background_color(renderer) + renderer.set_property('xalign', 1) # align pixbuf to the right + else: + renderer.set_property('visible', False) + + def _set_account_row_background_color(self, renderer): + color = app.css_config.get_value('.gajim-account-row', StyleAttr.BACKGROUND) + renderer.set_property('cell-background', color) + + def _set_contact_row_background_color(self, renderer, jid, account): + if jid in app.newly_added[account]: + renderer.set_property('cell-background', app.css_config.get_value( + '.gajim-roster-connected', StyleAttr.BACKGROUND)) + elif jid in app.to_be_removed[account]: + renderer.set_property('cell-background', app.css_config.get_value( + '.gajim-roster-disconnected', StyleAttr.BACKGROUND)) + else: + color = app.css_config.get_value('.gajim-contact-row', StyleAttr.BACKGROUND) + renderer.set_property('cell-background', color) + + def _set_group_row_background_color(self, renderer): + color = app.css_config.get_value('.gajim-group-row', 'background') + renderer.set_property('cell-background', color) + +################################################################################ +### Everything about building menus +### FIXME: We really need to make it simpler! 1465 lines are a few to much.... +################################################################################ + + def build_account_menu(self, account): + # we have to create our own set of icons for the menu + # using self.jabber_status_images is poopoo + if not app.settings.get_account_setting(account, 'is_zeroconf'): + xml = get_builder('account_context_menu.ui') + account_context_menu = xml.get_object('account_context_menu') + + status_menuitem = xml.get_object('status_menuitem') + add_contact_menuitem = xml.get_object('add_contact_menuitem') + service_discovery_menuitem = xml.get_object( + 'service_discovery_menuitem') + execute_command_menuitem = xml.get_object( + 'execute_command_menuitem') + view_server_info_menuitem = xml.get_object( + 'view_server_info_menuitem') + edit_account_menuitem = xml.get_object('edit_account_menuitem') + sub_menu = Gtk.Menu() + status_menuitem.set_submenu(sub_menu) + + for show in ('online', 'away', 'xa', 'dnd'): + uf_show = helpers.get_uf_show(show, use_mnemonic=True) + item = Gtk.MenuItem.new_with_mnemonic(uf_show) + sub_menu.append(item) + item.connect('activate', self.change_status, account, show) + + item = Gtk.SeparatorMenuItem.new() + sub_menu.append(item) + + item = Gtk.MenuItem.new_with_mnemonic(_('_Change Status Message')) + sub_menu.append(item) + item.connect('activate', self.on_change_status_message_activate, + account) + if not app.account_is_available(account): + item.set_sensitive(False) + + item = Gtk.SeparatorMenuItem.new() + sub_menu.append(item) + + uf_show = helpers.get_uf_show('offline', use_mnemonic=True) + item = Gtk.MenuItem.new_with_mnemonic(uf_show) + sub_menu.append(item) + item.connect('activate', self.change_status, account, 'offline') + + pep_menuitem = xml.get_object('pep_menuitem') + if app.connections[account].get_module('PEP').supported: + pep_submenu = Gtk.Menu() + pep_menuitem.set_submenu(pep_submenu) + + item = Gtk.CheckMenuItem(label=_('Publish Tune')) + pep_submenu.append(item) + if sys.platform in ('win32', 'darwin'): + item.set_sensitive(False) + else: + active = app.settings.get_account_setting(account, + 'publish_tune') + item.set_active(active) + item.connect('toggled', self.on_publish_tune_toggled, + account) + + item = Gtk.CheckMenuItem(label=_('Publish Location')) + pep_submenu.append(item) + if not app.is_installed('GEOCLUE'): + item.set_sensitive(False) + else: + active = app.settings.get_account_setting( + account, 'publish_location') + item.set_active(active) + item.connect('toggled', self.on_publish_location_toggled, + account) + + else: + pep_menuitem.set_sensitive(False) + + edit_account_menuitem.set_detailed_action_name( + 'app.accounts::%s' % account) + if app.connections[account].roster_supported: + add_contact_menuitem.connect('activate', + self.on_add_new_contact, account) + else: + add_contact_menuitem.set_sensitive(False) + service_discovery_menuitem.connect('activate', + self.on_service_disco_menuitem_activate, account) + hostname = app.settings.get_account_setting(account, 'hostname') + contact = app.contacts.create_contact(jid=hostname, + account=account) # Fake contact + execute_command_menuitem.connect('activate', + self.on_execute_command, contact, account) + view_server_info_menuitem.connect('activate', + self.on_view_server_info, account) + + # make some items insensitive if account is offline + if not app.account_is_available(account): + for widget in (add_contact_menuitem, service_discovery_menuitem, + execute_command_menuitem, view_server_info_menuitem, + pep_menuitem): + widget.set_sensitive(False) + else: + xml = get_builder('zeroconf_context_menu.ui') + account_context_menu = xml.get_object('zeroconf_context_menu') + + status_menuitem = xml.get_object('status_menuitem') + zeroconf_properties_menuitem = xml.get_object( + 'zeroconf_properties_menuitem') + sub_menu = Gtk.Menu() + status_menuitem.set_submenu(sub_menu) + + for show in ('online', 'away', 'dnd'): + uf_show = helpers.get_uf_show(show, use_mnemonic=True) + item = Gtk.MenuItem.new_with_mnemonic(uf_show) + sub_menu.append(item) + item.connect('activate', self.change_status, account, show) + + item = Gtk.SeparatorMenuItem.new() + sub_menu.append(item) + + item = Gtk.MenuItem.new_with_mnemonic(_('_Change Status Message')) + sub_menu.append(item) + item.connect('activate', self.on_change_status_message_activate, + account) + if not app.account_is_available(account): + item.set_sensitive(False) + + uf_show = helpers.get_uf_show('offline', use_mnemonic=True) + item = Gtk.MenuItem.new_with_mnemonic(uf_show) + sub_menu.append(item) + item.connect('activate', self.change_status, account, 'offline') + + zeroconf_properties_menuitem.set_detailed_action_name( + 'app.accounts::%s' % account) + + return account_context_menu + + def make_account_menu(self, event, titer): + """ + Make account's popup menu + """ + model = self.modelfilter + account = model[titer][Column.ACCOUNT] + + if account != 'all': # not in merged mode + menu = self.build_account_menu(account) + else: + menu = Gtk.Menu() + accounts = [] # Put accounts in a list to sort them + for account in app.connections: + accounts.append(account) + accounts.sort() + for account in accounts: + label = app.get_account_label(account) + item = Gtk.MenuItem.new_with_label(label) + account_menu = self.build_account_menu(account) + item.set_submenu(account_menu) + menu.append(item) + + event_button = gtkgui_helpers.get_possible_button_event(event) + + menu.attach_to_widget(self.tree, None) + menu.connect('selection-done', gtkgui_helpers.destroy_widget) + menu.show_all() + menu.popup(None, None, None, None, event_button, event.time) + + def make_group_menu(self, event, iters): + """ + Make group's popup menu + """ + model = self.modelfilter + groups = [] + accounts = [] + + list_ = [] # list of (contact, account) tuples + list_online = [] # list of (contact, account) tuples + + for titer in iters: + groups.append(model[titer][Column.JID]) + accounts.append(model[titer][Column.ACCOUNT]) + # Don't show menu if groups of more than one account are selected + if accounts[0] != model[titer][Column.ACCOUNT]: + return + account = accounts[0] + + show_bookmarked = True + for jid in app.contacts.get_jid_list(account): + contact = app.contacts.get_contact_with_highest_priority(account, + jid) + for group in groups: + if group in contact.get_shown_groups(): + if contact.show not in ('offline', 'error'): + list_online.append((contact, account)) + # Check that all contacts support direct NUC invite + if not contact.supports(Namespace.CONFERENCE): + show_bookmarked = False + list_.append((contact, account)) + menu = Gtk.Menu() + + # Make special context menu if group is Groupchats + if _('Group chats') in groups: + if len(groups) == 1: + maximize_menuitem = Gtk.MenuItem.new_with_mnemonic( + _('_Maximize All')) + maximize_menuitem.connect('activate', + self.on_all_groupchat_maximized, list_) + menu.append(maximize_menuitem) + else: + return + else: + # Send Group Message + send_group_message_item = Gtk.MenuItem.new_with_mnemonic( + _('Send Group M_essage')) + + send_group_message_submenu = Gtk.Menu() + send_group_message_item.set_submenu(send_group_message_submenu) + menu.append(send_group_message_item) + + group_message_to_all_item = Gtk.MenuItem.new_with_label(_( + 'To all users')) + send_group_message_submenu.append(group_message_to_all_item) + + group_message_to_all_online_item = Gtk.MenuItem.new_with_label( + _('To all online users')) + send_group_message_submenu.append(group_message_to_all_online_item) + + group_message_to_all_online_item.connect('activate', + self.on_send_single_message_menuitem_activate, account, + list_online) + group_message_to_all_item.connect('activate', + self.on_send_single_message_menuitem_activate, account, list_) + + # Invite to + invite_menuitem = Gtk.MenuItem.new_with_mnemonic( + _('In_vite to')) + if _('Transports') not in groups: + gui_menu_builder.build_invite_submenu(invite_menuitem, + list_online, show_bookmarked=show_bookmarked) + menu.append(invite_menuitem) + + # there is no singlemessage and custom status for zeroconf + if app.settings.get_account_setting(account, 'is_zeroconf'): + send_group_message_item.set_sensitive(False) + + if not app.account_is_available(account): + send_group_message_item.set_sensitive(False) + invite_menuitem.set_sensitive(False) + + special_group = False + for group in groups: + if group in helpers.special_groups: + special_group = True + break + + if not special_group and len(groups) == 1: + group = groups[0] + item = Gtk.SeparatorMenuItem.new() # separator + menu.append(item) + + # Rename + rename_item = Gtk.MenuItem.new_with_mnemonic(_('_Rename…')) + menu.append(rename_item) + rename_item.connect('activate', self.on_rename, 'group', group, + account) + + # Remove group + remove_item = Gtk.MenuItem.new_with_mnemonic(_('Remo_ve')) + menu.append(remove_item) + remove_item.connect('activate', self.on_remove_group_item_activated, + group, account) + + # unsensitive if account is not connected + if not app.account_is_available(account): + rename_item.set_sensitive(False) + + # General group cannot be changed + if group == _('General'): + rename_item.set_sensitive(False) + remove_item.set_sensitive(False) + + event_button = gtkgui_helpers.get_possible_button_event(event) + + menu.attach_to_widget(self.tree, None) + menu.connect('selection-done', gtkgui_helpers.destroy_widget) + menu.show_all() + menu.popup(None, None, None, None, event_button, event.time) + + def make_contact_menu(self, event, titer): + """ + Make contact's popup menu + """ + model = self.modelfilter + jid = model[titer][Column.JID] + account = model[titer][Column.ACCOUNT] + contact = app.contacts.get_contact_with_highest_priority(account, jid) + menu = gui_menu_builder.get_contact_menu(contact, account) + event_button = gtkgui_helpers.get_possible_button_event(event) + menu.attach_to_widget(self.tree, None) + menu.popup(None, None, None, None, event_button, event.time) + + def make_multiple_contact_menu(self, event, iters): + """ + Make group's popup menu + """ + model = self.modelfilter + list_ = [] # list of (jid, account) tuples + one_account_offline = False + is_blocked = True + blocking_supported = True + for titer in iters: + jid = model[titer][Column.JID] + account = model[titer][Column.ACCOUNT] + if not app.account_is_available(account): + one_account_offline = True + + con = app.connections[account] + if not con.get_module('Blocking').supported: + blocking_supported = False + contact = app.contacts.get_contact_with_highest_priority( + account, jid) + if not helpers.jid_is_blocked(account, jid): + is_blocked = False + list_.append((contact, account)) + + menu = Gtk.Menu() + account = None + for (contact, current_account) in list_: + # check that we use the same account for every sender + if account is not None and account != current_account: + account = None + break + account = current_account + show_bookmarked = True + for (contact, current_account) in list_: + # Check that all contacts support direct NUC invite + if not contact.supports(Namespace.CONFERENCE): + show_bookmarked = False + break + if account is not None: + send_group_message_item = Gtk.MenuItem.new_with_mnemonic( + _('Send Group M_essage')) + menu.append(send_group_message_item) + send_group_message_item.connect('activate', + self.on_send_single_message_menuitem_activate, account, list_) + + # Invite to Groupchat + invite_item = Gtk.MenuItem.new_with_mnemonic(_('In_vite to')) + + gui_menu_builder.build_invite_submenu(invite_item, list_, + show_bookmarked=show_bookmarked) + menu.append(invite_item) + + item = Gtk.SeparatorMenuItem.new() # separator + menu.append(item) + + # Manage Transport submenu + item = Gtk.MenuItem.new_with_mnemonic(_('_Manage Contacts')) + manage_contacts_submenu = Gtk.Menu() + item.set_submenu(manage_contacts_submenu) + menu.append(item) + + # Edit Groups + edit_groups_item = Gtk.MenuItem.new_with_mnemonic(_('Edit _Groups…')) + manage_contacts_submenu.append(edit_groups_item) + edit_groups_item.connect('activate', self.on_edit_groups, list_) + + item = Gtk.SeparatorMenuItem.new() # separator + manage_contacts_submenu.append(item) + + # Block + if is_blocked and blocking_supported: + unblock_menuitem = Gtk.MenuItem.new_with_mnemonic(_('_Unblock')) + unblock_menuitem.connect('activate', self.on_unblock, list_) + manage_contacts_submenu.append(unblock_menuitem) + else: + block_menuitem = Gtk.MenuItem.new_with_mnemonic(_('_Block')) + block_menuitem.connect('activate', self.on_block, list_) + manage_contacts_submenu.append(block_menuitem) + + if not blocking_supported: + block_menuitem.set_sensitive(False) + + # Remove + remove_item = Gtk.MenuItem.new_with_mnemonic(_('_Remove')) + manage_contacts_submenu.append(remove_item) + remove_item.connect('activate', self.on_req_usub, list_) + # unsensitive remove if one account is not connected + if one_account_offline: + remove_item.set_sensitive(False) + + event_button = gtkgui_helpers.get_possible_button_event(event) + + menu.attach_to_widget(self.tree, None) + menu.connect('selection-done', gtkgui_helpers.destroy_widget) + menu.show_all() + menu.popup(None, None, None, None, event_button, event.time) + + def make_transport_menu(self, event, titer): + """ + Make transport's popup menu + """ + model = self.modelfilter + jid = model[titer][Column.JID] + account = model[titer][Column.ACCOUNT] + contact = app.contacts.get_contact_with_highest_priority(account, jid) + menu = gui_menu_builder.get_transport_menu(contact, account) + event_button = gtkgui_helpers.get_possible_button_event(event) + menu.attach_to_widget(self.tree, None) + menu.popup(None, None, None, None, event_button, event.time) + + def make_groupchat_menu(self, event, titer): + model = self.modelfilter + + jid = model[titer][Column.JID] + account = model[titer][Column.ACCOUNT] + contact = app.contacts.get_contact_with_highest_priority(account, jid) + menu = Gtk.Menu() + + if jid in app.interface.minimized_controls[account]: + maximize_menuitem = Gtk.MenuItem.new_with_mnemonic(_( + '_Maximize')) + maximize_menuitem.connect('activate', self.on_groupchat_maximized, \ + jid, account) + menu.append(maximize_menuitem) + + rename_menuitem = Gtk.MenuItem.new_with_mnemonic(_('Re_name')) + rename_menuitem.connect('activate', + self.on_groupchat_rename, + jid, + account) + menu.append(rename_menuitem) + + disconnect_menuitem = Gtk.MenuItem.new_with_mnemonic(_( + '_Leave')) + disconnect_menuitem.connect('activate', self.on_disconnect, jid, + account) + menu.append(disconnect_menuitem) + + item = Gtk.SeparatorMenuItem.new() # separator + menu.append(item) + + adhoc_menuitem = Gtk.MenuItem.new_with_mnemonic(_('Execute command')) + adhoc_menuitem.connect('activate', self.on_execute_command, contact, + account) + menu.append(adhoc_menuitem) + + item = Gtk.SeparatorMenuItem.new() # separator + menu.append(item) + + history_menuitem = Gtk.MenuItem.new_with_mnemonic(_('_History')) + history_menuitem.set_action_name('app.browse-history') + dict_ = {'jid': GLib.Variant('s', contact.jid), + 'account': GLib.Variant('s', account)} + variant = GLib.Variant('a{sv}', dict_) + history_menuitem.set_action_target_value(variant) + + menu.append(history_menuitem) + + event_button = gtkgui_helpers.get_possible_button_event(event) + + menu.attach_to_widget(self.tree, None) + menu.connect('selection-done', gtkgui_helpers.destroy_widget) + menu.show_all() + menu.popup(None, None, None, None, event_button, event.time) + + def show_appropriate_context_menu(self, event, iters): + # iters must be all of the same type + model = self.modelfilter + type_ = model[iters[0]][Column.TYPE] + for titer in iters[1:]: + if model[titer][Column.TYPE] != type_: + return + if type_ == 'group': + self.make_group_menu(event, iters) + if type_ == 'groupchat' and len(iters) == 1: + self.make_groupchat_menu(event, iters[0]) + elif type_ == 'agent' and len(iters) == 1: + self.make_transport_menu(event, iters[0]) + elif type_ in ('contact', 'self_contact') and len(iters) == 1: + self.make_contact_menu(event, iters[0]) + elif type_ == 'contact': + self.make_multiple_contact_menu(event, iters) + elif type_ == 'account' and len(iters) == 1: + self.make_account_menu(event, iters[0]) + + def show_treeview_menu(self, event): + try: + model, list_of_paths = self.tree.get_selection().get_selected_rows() + except TypeError: + self.tree.get_selection().unselect_all() + return + if not list_of_paths: + # no row is selected + return + if len(list_of_paths) > 1: + iters = [] + for path in list_of_paths: + iters.append(model.get_iter(path)) + else: + path = list_of_paths[0] + iters = [model.get_iter(path)] + self.show_appropriate_context_menu(event, iters) + + return True + + def fill_column(self, col): + for rend in self.renderers_list: + col.pack_start(rend[1], rend[2]) + if rend[0] != 'avatar': + col.add_attribute(rend[1], rend[3], rend[4]) + col.set_cell_data_func(rend[1], rend[5], rend[6]) + # set renderers properties + for renderer in self.renderers_propertys: + renderer.set_property(self.renderers_propertys[renderer][0], + self.renderers_propertys[renderer][1]) + + def query_tooltip(self, widget, x_pos, y_pos, _keyboard_mode, tooltip): + try: + path = widget.get_path_at_pos(x_pos, y_pos) + row = path[0] + col = path[1] + except TypeError: + self._roster_tooltip.clear_tooltip() + return False + if not row: + self._roster_tooltip.clear_tooltip() + return False + + iter_ = None + try: + model = widget.get_model() + iter_ = model.get_iter(row) + except Exception: + self._roster_tooltip.clear_tooltip() + return False + + typ = model[iter_][Column.TYPE] + account = model[iter_][Column.ACCOUNT] + jid = model[iter_][Column.JID] + connected_contacts = [] + + if typ == 'group': + if jid == _('Observers'): + widget.set_tooltip_cell(tooltip, row, col, None) + tooltip.set_text( + _('Observers can see your status, but you ' + 'are not allowed to see theirs')) + return True + return False + + if typ in ('contact', 'self_contact'): + contacts = app.contacts.get_contacts(account, jid) + + for contact in contacts: + if contact.show not in ('offline', 'error'): + connected_contacts.append(contact) + if not connected_contacts: + # no connected contacts, show the offline one + connected_contacts = contacts + elif typ == 'groupchat': + connected_contacts = app.contacts.get_contacts(account, jid) + elif typ != 'account': + return False + + value, widget = self._roster_tooltip.get_tooltip( + row, connected_contacts, account, typ) + tooltip.set_custom(widget) + return value + + def add_actions(self): + + actions = [ + ('show-roster', + not self.xml.get_object('roster_vbox2').get_no_show_all(), + self.on_show_roster_action), + + ('show-offline', + app.settings.get('showoffline'), + self.on_show_offline_contacts_action), + + ('show-active', + app.settings.get('show_only_chat_and_online'), + self.on_show_active_contacts_action), + + ('show-transports', + app.settings.get('show_transports_group'), + self.on_show_transports_action), + ] + + for action in actions: + action_name, variant, func = action + act = Gio.SimpleAction.new_stateful( + action_name, None, GLib.Variant.new_boolean(variant)) + act.connect('change-state', func) + self.window.add_action(act) + +################################################################################ +### +################################################################################ + + def __init__(self, application): + self.application = application + self.filtering = False + self.starting = False + self.starting_filtering = False + # Number of renderers plugins added + self.nb_ext_renderers = 0 + # When we quit, remember if we already saved config once + self.save_done = False + + # [icon, name, type, jid, account, editable, mood_pixbuf, + # activity_pixbuf, TUNE_ICON, LOCATION_ICON, avatar_img, + # padlock_pixbuf, visible] + self.columns = [str, str, str, str, str, str, str, str, str, + Gtk.Image, str, bool] + + self.xml = get_builder('roster_window.ui') + self.window = self.xml.get_object('roster_window') + application.add_window(self.window) + self.add_actions() + self.hpaned = self.xml.get_object('roster_hpaned') + + app.interface.msg_win_mgr = MessageWindowMgr(self.window, self.hpaned) + app.interface.msg_win_mgr.connect('window-delete', + self.on_message_window_delete) + + self.advanced_menus = [] # We keep them to destroy them + if app.settings.get('roster_window_skip_taskbar'): + self.window.set_property('skip-taskbar-hint', True) + self.tree = self.xml.get_object('roster_treeview') + sel = self.tree.get_selection() + sel.set_mode(Gtk.SelectionMode.MULTIPLE) + # sel.connect('changed', + # self.on_treeview_selection_changed) + + self._iters = {} + # for merged mode + self._iters['MERGED'] = {'account': None, 'groups': {}} + # holds a list of (jid, account) tuples + self._last_selected_contact = [] + self.transports_state_images = {'16': {}, '32': {}, 'opened': {}, + 'closed': {}} + + self.last_save_dir = None + self.editing_path = None # path of row with cell in edit mode + self.add_new_contact_handler_id = False + self.service_disco_handler_id = False + self.new_chat_menuitem_handler_id = False + self.single_message_menuitem_handler_id = False + self.profile_avatar_menuitem_handler_id = False + #FIXME: When list_accel_closures will be wrapped in pygtk + # no need of this variable + self.have_new_chat_accel = False # Is the "Ctrl+N" shown ? + self.regroup = app.settings.get('mergeaccounts') + self.clicked_path = None # Used remember on which row we clicked + if len(app.connections) < 2: + # Do not merge accounts if only one exists + self.regroup = False + resize_window(self.window, + app.settings.get('roster_width'), + app.settings.get('roster_height')) + restore_roster_position(self.window) + + # Remove contact from roster when last event opened + # { (contact, account): { backend: boolean } + self.contacts_to_be_removed = {} + app.events.event_removed_subscribe(self.on_event_removed) + + # when this value become 0 we quit main application. If it's more than 0 + # it means we are waiting for this number of accounts to disconnect + # before quitting + self.quit_on_next_offline = -1 + + # groups to draw next time we draw groups. + self.groups_to_draw = {} + # accounts to draw next time we draw accounts. + self.accounts_to_draw = [] + + # Status selector + self._status_selector = StatusSelector() + self.xml.roster_vbox2.add(self._status_selector) + + # Enable/Disable checkboxes at start + if app.settings.get('showoffline'): + self.window.lookup_action('show-active').set_enabled(False) + + if app.settings.get('show_only_chat_and_online'): + self.window.lookup_action('show-offline').set_enabled(False) + + if self.hpaned.get_child2() is None: + self.window.lookup_action('show-roster').set_enabled(False) + + # columns + col = Gtk.TreeViewColumn() + # list of renderers with attributes / properties in the form: + # (name, renderer_object, expand?, attribute_name, attribute_value, + # cell_data_func, func_arg) + self.renderers_list = [] + self.renderers_propertys = {} + + renderer_text = Gtk.CellRendererText() + self.renderers_propertys[renderer_text] = ('ellipsize', + Pango.EllipsizeMode.END) + + def add_avatar_renderer(): + self.renderers_list.append(('avatar', Gtk.CellRendererPixbuf(), + False, None, Column.AVATAR_IMG, + self._fill_avatar_pixbuf_renderer, None)) + + if app.settings.get('avatar_position_in_roster') == 'left': + add_avatar_renderer() + + self.renderers_list += ( + ('icon', Gtk.CellRendererPixbuf(), False, + 'icon_name', Column.IMG, self._iconCellDataFunc, None), + + ('name', renderer_text, True, + 'markup', Column.NAME, self._nameCellDataFunc, None), + + ('mood', Gtk.CellRendererPixbuf(), False, + 'icon_name', Column.MOOD_PIXBUF, + self._fill_pep_pixbuf_renderer, Column.MOOD_PIXBUF), + + ('activity', Gtk.CellRendererPixbuf(), False, + 'icon_name', Column.ACTIVITY_PIXBUF, + self._fill_pep_pixbuf_renderer, Column.ACTIVITY_PIXBUF), + + ('tune', Gtk.CellRendererPixbuf(), False, + 'icon_name', Column.TUNE_ICON, + self._fill_pep_pixbuf_renderer, Column.TUNE_ICON), + + ('geoloc', Gtk.CellRendererPixbuf(), False, + 'icon_name', Column.LOCATION_ICON, + self._fill_pep_pixbuf_renderer, Column.LOCATION_ICON)) + + if app.settings.get('avatar_position_in_roster') == 'right': + add_avatar_renderer() + + self.renderers_list.append(('padlock', Gtk.CellRendererPixbuf(), False, + 'icon_name', Column.PADLOCK_PIXBUF, + self._fill_padlock_pixbuf_renderer, None)) + + # fill and append column + self.fill_column(col) + self.tree.append_column(col) + + # do not show gtk arrows workaround + col = Gtk.TreeViewColumn() + render_pixbuf = Gtk.CellRendererPixbuf() + col.pack_start(render_pixbuf, False) + self.tree.append_column(col) + col.set_visible(False) + self.tree.set_expander_column(col) + + # Signals + # Drag + self.tree.enable_model_drag_source( + Gdk.ModifierType.BUTTON1_MASK, + [], + Gdk.DragAction.DEFAULT | + Gdk.DragAction.MOVE | + Gdk.DragAction.COPY) + self.tree.drag_source_add_text_targets() + + # Drop + self.tree.enable_model_drag_dest([], Gdk.DragAction.DEFAULT) + self.TARGET_TYPE_URI_LIST = 80 + uri_entry = Gtk.TargetEntry.new( + 'text/uri-list', + Gtk.TargetFlags.OTHER_APP, + self.TARGET_TYPE_URI_LIST) + dst_targets = Gtk.TargetList.new([uri_entry]) + dst_targets.add_text_targets(0) + self.tree.drag_dest_set_target_list(dst_targets) + + # Connect + self.tree.connect('drag-begin', self.drag_begin) + self.tree.connect('drag-end', self.drag_end) + self.tree.connect('drag-drop', self.drag_drop) + self.tree.connect('drag-data-get', self.drag_data_get_data) + self.tree.connect('drag-data-received', self.drag_data_received_data) + self.dragging = False + self.xml.connect_signals(self) + self.combobox_callback_active = True + + self.collapsed_rows = app.settings.get('collapsed_rows').split('\t') + self.tree.set_has_tooltip(True) + self._roster_tooltip = RosterTooltip() + self.tree.connect('query-tooltip', self.query_tooltip) + # Workaround: For strange reasons signal is behaving like row-changed + self._toggeling_row = False + self.setup_and_draw_roster() + + if app.settings.get('show_roster_on_startup') == 'always': + self.window.show_all() + elif app.settings.get('show_roster_on_startup') == 'never': + if app.settings.get('trayicon') != 'always': + # Without trayicon, user should see the roster! + self.window.show_all() + app.settings.set('last_roster_visible', True) + else: + if app.settings.get('last_roster_visible') or \ + app.settings.get('trayicon') != 'always': + self.window.show_all() + + self.scale_factor = self.window.get_scale_factor() + + accounts = app.settings.get_accounts() + + if (not accounts or + accounts == ['Local'] and + not app.settings.get_account_setting('Local', 'active')): + # if we have no account configured or only Local account but not enabled + def _open_wizard(): + open_window('AccountWizard') + + # Open wizard only after roster is created, so we can make it + # transient for the roster window + GLib.idle_add(_open_wizard) + + # Setting CTRL+S to be the shortcut to change status message + accel_group = Gtk.AccelGroup() + keyval, mod = Gtk.accelerator_parse('s') + accel_group.connect(keyval, mod, Gtk.AccelFlags.VISIBLE, + self.accel_group_func) + + # Setting CTRL+k to focus rfilter_entry + keyval, mod = Gtk.accelerator_parse('k') + accel_group.connect(keyval, mod, Gtk.AccelFlags.VISIBLE, + self.accel_group_func) + self.window.add_accel_group(accel_group) + + # Setting the search stuff + self.rfilter_entry = self.xml.get_object('rfilter_entry') + self.rfilter_string = '' + self.rfilter_enabled = False + self.rfilter_entry.connect('key-press-event', + self.on_rfilter_entry_key_press_event) + + app.ged.register_event_handler('presence-received', ged.GUI1, + self._nec_presence_received) + app.ged.register_event_handler('roster-received', ged.GUI1, + self._nec_roster_received) + app.ged.register_event_handler('anonymous-auth', ged.GUI1, + self._nec_anonymous_auth) + app.ged.register_event_handler('our-show', ged.GUI2, + self._nec_our_show) + app.ged.register_event_handler('connection-type', ged.GUI1, + self._nec_connection_type) + app.ged.register_event_handler('agent-removed', ged.GUI1, + self._nec_agent_removed) + app.ged.register_event_handler('nickname-received', ged.GUI1, + self._on_nickname_received) + app.ged.register_event_handler('mood-received', ged.GUI1, + self._on_mood_received) + app.ged.register_event_handler('activity-received', ged.GUI1, + self._on_activity_received) + app.ged.register_event_handler('tune-received', ged.GUI1, + self._on_tune_received) + app.ged.register_event_handler('location-received', ged.GUI1, + self._on_location_received) + app.ged.register_event_handler('update-roster-avatar', ged.GUI1, + self._nec_update_avatar) + app.ged.register_event_handler('update-room-avatar', ged.GUI1, + self._nec_update_avatar) + app.ged.register_event_handler('muc-subject', ged.GUI1, + self._nec_muc_subject_received) + app.ged.register_event_handler('metacontacts-received', ged.GUI2, + self._nec_metacontacts_received) + app.ged.register_event_handler('signed-in', ged.GUI1, + self._nec_signed_in) + app.ged.register_event_handler('decrypted-message-received', ged.GUI2, + self._nec_decrypted_message_received) + app.ged.register_event_handler('blocking', ged.GUI1, + self._nec_blocking) + app.ged.register_event_handler('style-changed', ged.GUI1, + self._style_changed) + app.ged.register_event_handler('chatstate-received', ged.GUI1, + self._nec_chatstate_received) + app.ged.register_event_handler('muc-disco-update', ged.GUI1, + self._on_muc_disco_update) + app.ged.register_event_handler('bookmarks-received', ged.GUI2, + self._on_bookmarks_received) diff --git a/gajim/session.py b/gajim/session.py new file mode 100644 index 0000000..24c8287 --- /dev/null +++ b/gajim/session.py @@ -0,0 +1,359 @@ +# Copyright (C) 2008-2014 Yann Leboulanger +# Copyright (C) 2008 Brendan Taylor +# Jonathan Schleifer +# Stephan Erb +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import string +import random +import itertools + +from gajim.common import helpers +from gajim.common import events +from gajim.common import app +from gajim.common import contacts +from gajim.common import ged +from gajim.common.helpers import AdditionalDataDict +from gajim.common.const import KindConstant +from gajim.gui.util import get_show_in_roster +from gajim.gui.util import get_show_in_systray + + +class ChatControlSession: + def __init__(self, conn, jid, thread_id, type_='chat'): + self.conn = conn + self.jid = jid + self.type_ = type_ + self.resource = jid.resource + self.control = None + + if thread_id: + self.received_thread_id = True + self.thread_id = thread_id + else: + self.received_thread_id = False + if type_ == 'normal': + self.thread_id = None + else: + self.thread_id = self.generate_thread_id() + + self.loggable = True + + self.last_send = 0 + self.last_receive = 0 + + app.ged.register_event_handler('decrypted-message-received', + ged.PREGUI, + self._nec_decrypted_message_received) + + def generate_thread_id(self): + return ''.join( + [f(string.ascii_letters) for f in itertools.repeat( + random.choice, 32)] + ) + + def is_loggable(self): + return helpers.should_log(self.conn.name, self.jid.bare) + + def get_to(self): + bare_jid = self.jid.bare + if not self.resource: + return bare_jid + return bare_jid + '/' + self.resource + + def _nec_decrypted_message_received(self, obj): + """ + Dispatch a received stanza + """ + if obj.session != self: + return + + if obj.properties.is_muc_pm: + contact = app.contacts.get_gc_contact( + self.conn.name, obj.jid, obj.resource) + else: + contact = app.contacts.get_contact( + self.conn.name, obj.jid, obj.resource) + if self.resource != obj.resource: + self.resource = obj.resource + if self.control: + if isinstance(contact, contacts.GC_Contact): + self.control.gc_contact = contact + self.control.contact = contact.as_contact() + else: + self.control.contact = contact + if self.control.resource: + self.control.change_resource(self.resource) + + if not obj.msgtxt: + return + + log_type = KindConstant.CHAT_MSG_RECV + if obj.properties.is_sent_carbon: + log_type = KindConstant.CHAT_MSG_SENT + + if self.is_loggable() and obj.msgtxt: + jid = obj.fjid + if not obj.properties.is_muc_pm: + jid = obj.jid + + obj.msg_log_id = app.storage.archive.insert_into_logs( + self.conn.name, + jid, + obj.properties.timestamp, + log_type, + message=obj.msgtxt, + subject=obj.properties.subject, + additional_data=obj.additional_data, + stanza_id=obj.unique_id, + message_id=obj.properties.id) + + if obj.properties.is_muc_pm and not obj.gc_control: + # This is a carbon of a PM from a MUC we are not currently + # joined. We log it silently without notification. + return True + + if not obj.msgtxt: # empty message text + return True + + if not self.control: + ctrl = app.interface.msg_win_mgr.search_control(obj.jid, + obj.conn.name, obj.resource) + if ctrl: + self.control = ctrl + self.control.set_session(self) + if isinstance(contact, contacts.GC_Contact): + self.control.gc_contact = contact + self.control.contact = contact.as_contact() + else: + self.control.contact = contact + + if not obj.properties.is_muc_pm: + self.roster_message2(obj) + + def roster_message2(self, obj): + """ + Display the message or show notification in the roster + """ + contact = None + jid = obj.jid + resource = obj.resource + + fjid = jid + + # Try to catch the contact with correct resource + if resource: + fjid = jid + '/' + resource + contact = app.contacts.get_contact(obj.conn.name, jid, resource) + + highest_contact = app.contacts.get_contact_with_highest_priority( + obj.conn.name, jid) + if not contact: + # If there is another resource, it may be a message from an + # invisible resource + lcontact = app.contacts.get_contacts(obj.conn.name, jid) + if (len(lcontact) > 1 or (lcontact and lcontact[0].resource and \ + lcontact[0].show != 'offline')) and jid.find('@') > 0: + contact = app.contacts.copy_contact(highest_contact) + contact.resource = resource + contact.priority = 0 + contact.show = 'offline' + contact.status = '' + app.contacts.add_contact(obj.conn.name, contact) + + else: + # Default to highest prio + fjid = jid + contact = highest_contact + + if not contact: + # contact is not in roster + contact = app.interface.roster.add_to_not_in_the_roster( + obj.conn.name, jid, obj.properties.nickname) + + if not self.control: + ctrl = app.interface.msg_win_mgr.search_control(obj.jid, + obj.conn.name, obj.resource) + if ctrl: + self.control = ctrl + self.control.set_session(self) + else: + fjid = jid + + obj.popup = helpers.allow_popup_window(self.conn.name) + + event_t = events.ChatEvent + event_type = 'message_received' + + if self.control: + # We have a ChatControl open + obj.show_in_roster = False + obj.show_in_systray = False + do_event = False + elif obj.properties.is_sent_carbon: + # Its a Carbon Copied Message we sent + obj.show_in_roster = False + obj.show_in_systray = False + unread_events = app.events.get_events( + self.conn.name, fjid, types=['chat']) + read_ids = [] + for msg in unread_events: + read_ids.append(msg.msg_log_id) + app.storage.archive.set_read_messages(read_ids) + app.events.remove_events(self.conn.name, fjid, types=['chat']) + do_event = False + else: + # Everything else + obj.show_in_roster = get_show_in_roster(event_type, self) + obj.show_in_systray = get_show_in_systray(event_type, + obj.conn.name, + contact.jid) + do_event = True + if do_event: + kind = obj.properties.type.value + event = event_t( + obj.msgtxt, + obj.properties.subject, + kind, + obj.properties.timestamp, + obj.resource, + obj.msg_log_id, + correct_id=obj.correct_id, + message_id=obj.properties.id, + session=self, + displaymarking=obj.displaymarking, + sent_forwarded=obj.properties.is_sent_carbon, + show_in_roster=obj.show_in_roster, + show_in_systray=obj.show_in_systray, + additional_data=obj.additional_data) + + app.events.add_event(self.conn.name, fjid, event) + + def roster_message(self, jid, msg, tim, msg_type='', + subject=None, resource='', msg_log_id=None, user_nick='', + displaymarking=None, additional_data=None): + """ + Display the message or show notification in the roster + """ + contact = None + fjid = jid + + if additional_data is None: + additional_data = AdditionalDataDict() + + # Try to catch the contact with correct resource + if resource: + fjid = jid + '/' + resource + contact = app.contacts.get_contact(self.conn.name, jid, resource) + + highest_contact = app.contacts.get_contact_with_highest_priority( + self.conn.name, jid) + if not contact: + # If there is another resource, it may be a message from an invisible + # resource + lcontact = app.contacts.get_contacts(self.conn.name, jid) + if (len(lcontact) > 1 or (lcontact and lcontact[0].resource and \ + lcontact[0].show != 'offline')) and jid.find('@') > 0: + contact = app.contacts.copy_contact(highest_contact) + contact.resource = resource + if resource: + fjid = jid + '/' + resource + contact.priority = 0 + contact.show = 'offline' + contact.status = '' + app.contacts.add_contact(self.conn.name, contact) + + else: + # Default to highest prio + fjid = jid + contact = highest_contact + + if not contact: + # contact is not in roster + contact = app.interface.roster.add_to_not_in_the_roster( + self.conn.name, jid, user_nick) + + if not self.control: + ctrl = app.interface.msg_win_mgr.get_control(fjid, self.conn.name) + if ctrl: + self.control = ctrl + self.control.set_session(self) + else: + fjid = jid + + # Do we have a queue? + no_queue = len(app.events.get_events(self.conn.name, fjid)) == 0 + + popup = helpers.allow_popup_window(self.conn.name) + + # We print if window is opened and it's not a single message + if self.control: + typ = '' + + if msg_type == 'error': + typ = 'error' + + self.control.add_message(msg, + typ, + tim=tim, + subject=subject, + displaymarking=displaymarking, + additional_data=additional_data) + + if msg_log_id: + app.storage.archive.set_read_messages([msg_log_id]) + + return + + # We save it in a queue + event_t = events.ChatEvent + event_type = 'message_received' + + show_in_roster = get_show_in_roster(event_type, self) + show_in_systray = get_show_in_systray(event_type, + self.conn.name, + contact.jid) + + event = event_t(msg, subject, msg_type, tim, resource, + msg_log_id, session=self, + displaymarking=displaymarking, sent_forwarded=False, + show_in_roster=show_in_roster, show_in_systray=show_in_systray, + additional_data=additional_data) + + app.events.add_event(self.conn.name, fjid, event) + + if popup: + if not self.control: + self.control = app.interface.new_chat(contact, + self.conn.name, session=self) + + if app.events.get_events(self.conn.name, fjid): + self.control.read_queue() + else: + if no_queue: # We didn't have a queue: we change icons + app.interface.roster.draw_contact(jid, self.conn.name) + + app.interface.roster.show_title() # we show the * or [n] + # Select the big brother contact in roster, it's visible because it has + # events. + family = app.contacts.get_metacontacts_family(self.conn.name, jid) + if family: + _nearby_family, bb_jid, bb_account = \ + app.contacts.get_nearby_family_and_big_brother(family, + self.conn.name) + else: + bb_jid, bb_account = jid, self.conn.name + app.interface.roster.select_contact(bb_jid, bb_account) diff --git a/gajim/vcard.py b/gajim/vcard.py new file mode 100644 index 0000000..3e048d5 --- /dev/null +++ b/gajim/vcard.py @@ -0,0 +1,575 @@ +# Copyright (C) 2003-2014 Yann Leboulanger +# Copyright (C) 2005 Vincent Hanquez +# Copyright (C) 2005-2006 Nikos Kouremenos +# Copyright (C) 2006 Junglecow J +# Dimitur Kirov +# Travis Shirk +# Stefan Bethge +# Copyright (C) 2006-2008 Jean-Marie Traissard +# Copyright (C) 2007 Lukas Petrovicky +# Copyright (C) 2008 Brendan Taylor +# Jonathan Schleifer +# Stephan Erb +# +# This file is part of Gajim. +# +# Gajim is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 3 only. +# +# Gajim 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 Gajim. If not, see . + +import logging + +from gi.repository import Gtk +from gi.repository import GLib +from gi.repository import Gdk +from nbxmpp.structs import AnnotationNote +from nbxmpp.errors import StanzaError +from nbxmpp.protocol import JID +from nbxmpp.errors import is_error + +from gajim import gtkgui_helpers +from gajim.common import helpers +from gajim.common import app +from gajim.common import ged +from gajim.common import configpaths +from gajim.common.i18n import Q_ +from gajim.common.i18n import _ +from gajim.common.const import AvatarSize +from gajim.common.nec import EventHelper +from gajim.common.modules.util import as_task + +from gajim.gui.util import get_builder + + +log = logging.getLogger('gajim.vcard') + + +class VcardWindow(EventHelper): + """ + Class for contact's information window + """ + + def __init__(self, contact, account, gc_contact=None): + EventHelper.__init__(self) + # the contact variable is the jid if vcard is true + self.xml = get_builder('vcard_information_window.ui') + self.window = self.xml.get_object('vcard_information_window') + self.progressbar = self.xml.get_object('progressbar') + + self.contact = contact + self.account = account + self.gc_contact = gc_contact + self.avatar = None + + # Get real jid + if gc_contact: + # Don't use real jid if room is (semi-)anonymous + gc_control = app.interface.msg_win_mgr.get_gc_control( + gc_contact.room_jid, account) + if gc_contact.jid and not gc_control.is_anonymous: + self.real_jid = gc_contact.jid + self.real_jid_for_vcard = gc_contact.jid + if gc_contact.resource: + self.real_jid += '/' + gc_contact.resource + else: + self.real_jid = gc_contact.get_full_jid() + self.real_jid_for_vcard = self.real_jid + self.real_resource = gc_contact.name + else: + self.real_jid = contact.get_full_jid() + self.real_resource = contact.resource + + puny_jid = helpers.sanitize_filename(contact.jid) + local_avatar_basepath = configpaths.get('AVATAR') / (puny_jid + + '_local') + for extension in ('.png', '.jpeg'): + local_avatar_path = local_avatar_basepath.with_suffix(extension) + if local_avatar_path.is_file(): + image = self.xml.get_object('custom_avatar_image') + image.set_from_file(local_avatar_path) + image.show() + self.xml.get_object('custom_avatar_label').show() + break + self.vcard_arrived = False + self.os_info_arrived = False + self.entity_time_arrived = False + self.time = 0 + self.update_intervall = 100 # Milliseconds + self.update_progressbar_timeout_id = GLib.timeout_add(self.update_intervall, + self.update_progressbar) + + self.register_events([ + ('time-result-received', ged.GUI1, self.set_entity_time), + ]) + + self.fill_jabber_page() + con = app.connections[self.account] + note = con.get_module('Annotations').get_note(self.contact.jid) + if note is not None: + buffer_ = self.xml.get_object('textview_annotation').get_buffer() + buffer_.set_text(note.data) + + for widget_name in ('URL_label', + 'EMAIL_WORK_USERID_label', + 'EMAIL_HOME_USERID_label'): + widget = self.xml.get_object(widget_name) + widget.hide() + + self.xml.connect_signals(self) + self.xml.get_object('close_button').grab_focus() + self.window.show_all() + + def update_progressbar(self): + self.progressbar.pulse() + self.time += self.update_intervall + # Timeout in Milliseconds + if (self.vcard_arrived and self.os_info_arrived and + self.entity_time_arrived) or self.time == 10000: + self.progressbar.hide() + self.update_progressbar_timeout_id = None + return False + return True + + def on_vcard_information_window_destroy(self, widget): + if self.update_progressbar_timeout_id is not None: + GLib.source_remove(self.update_progressbar_timeout_id) + del app.interface.instances[self.account]['infos'][self.contact.jid] + buffer_ = self.xml.get_object('textview_annotation').get_buffer() + new_annotation = buffer_.get_text(buffer_.get_start_iter(), + buffer_.get_end_iter(), + True) + con = app.connections[self.account] + note = con.get_module('Annotations').get_note(self.contact.jid) + if note is None or new_annotation != note.data: + new_note = AnnotationNote(jid=self.contact.jid, data=new_annotation) + con.get_module('Annotations').set_note(new_note) + self.unregister_events() + app.cancel_tasks(self) + + def on_vcard_information_window_key_press_event(self, widget, event): + if event.keyval == Gdk.KEY_Escape: + self.window.destroy() + + def on_information_notebook_switch_page(self, widget, page, page_num): + GLib.idle_add(self.xml.get_object('close_button').grab_focus) + + def set_value(self, entry_name, value): + try: + widget = self.xml.get_object(entry_name) + if entry_name in ('URL_label', + 'EMAIL_WORK_USERID_label', + 'EMAIL_HOME_USERID_label'): + if entry_name == 'URL_label': + widget.set_uri(value) + else: + widget.set_uri('mailto:' + value) + widget.set_label(value) + self.xml.get_object(entry_name).show() + else: + val = widget.get_text() + if val: + value = val + ' / ' + value + widget.set_text(value) + except AttributeError: + pass + + def _set_values(self, vcard, jid): + for i in vcard.keys(): + if i == 'PHOTO': + continue + if i in ('ADR', 'TEL', 'EMAIL'): + for entry in vcard[i]: + add_on = '_HOME' + if 'WORK' in entry: + add_on = '_WORK' + for j in entry.keys(): + self.set_value(i + add_on + '_' + j + '_label', entry[j]) + if isinstance(vcard[i], dict): + for j in vcard[i].keys(): + self.set_value(i + '_' + j + '_label', vcard[i][j]) + else: + if i == 'DESC': + self.xml.get_object('DESC_textview').get_buffer().set_text( + vcard[i], len(vcard[i].encode('utf-8'))) + elif i != 'jid': # Do not override jid_label + self.set_value(i + '_label', vcard[i]) + self.vcard_arrived = True + + def _load_avatar(self, vcard): + if not self.xml.get_object('information_notebook').get_n_pages() > 4: + # TODO: why? + return + + try: + avatar, _ = vcard.get_avatar() + except Exception as error: + log.warning('Failed to load avatar: %s', error) + return + + if avatar is None: + return + + pixbuf = gtkgui_helpers.get_pixbuf_from_data(avatar) + pixbuf = gtkgui_helpers.scale_pixbuf(pixbuf, AvatarSize.VCARD) + + surface = Gdk.cairo_surface_create_from_pixbuf( + pixbuf, self.window.get_scale_factor()) + image = self.xml.get_object('PHOTO_image') + image.set_from_surface(surface) + image.show() + + self.avatar = pixbuf + self.xml.get_object('user_avatar_label').show() + + def clear_values(self): + for l in ('FN', 'NICKNAME', 'N_FAMILY', 'N_GIVEN', 'N_MIDDLE', + 'N_PREFIX', 'N_SUFFIX', 'EMAIL_HOME_USERID', 'TEL_HOME_NUMBER', 'BDAY', + 'ORG_ORGNAME', 'ORG_ORGUNIT', 'TITLE', 'ROLE', 'EMAIL_WORK_USERID', + 'TEL_WORK_NUMBER', 'URL'): + widget = self.xml.get_object(l + '_label') + if l in ('EMAIL_HOME_USERID', 'EMAIL_WORK_USERID', 'URL'): + widget.hide() + else: + widget.set_text('') + for pref in ('ADR_HOME', 'ADR_WORK'): + for l in ('STREET', 'EXTADR', 'LOCALITY', 'PCODE', 'REGION', + 'CTRY'): + widget = self.xml.get_object(pref + '_' + l + '_label') + widget.set_text('') + self.xml.get_object('DESC_textview').get_buffer().set_text('') + + @as_task + def _request_vcard(self, jid): + _task = yield + + con = app.connections[self.account] + vcard = yield con.get_module('VCardTemp').request_vcard(jid=jid) + + if is_error(vcard): + return + + self.clear_values() + self._set_values(vcard.data, str(jid)) + self._load_avatar(vcard) + + def set_os_info(self, task): + error = False + try: + result = task.finish() + except StanzaError: + error = True + + jid = task.get_user_data() + + if self.xml.get_object('information_notebook').get_n_pages() < 5: + return + + i = 0 + client = '' + os_info = '' + while i in self.os_info: + if self.os_info[i]['resource'] == JID.from_string(jid).resource: + if not error: + self.os_info[i]['client'] = '%s %s' % (result.name, + result.version) + else: + self.os_info[i]['client'] = Q_('?Client:Unknown') + + if not error and result.os is not None: + self.os_info[i]['os'] = result.os + else: + self.os_info[i]['os'] = Q_('?OS:Unknown') + + if i > 0: + client += '\n' + os_info += '\n' + client += self.os_info[i]['client'] + os_info += self.os_info[i]['os'] + i += 1 + + self.xml.get_object('client_name_version_label').set_text(client) + self.xml.get_object('os_label').set_text(os_info) + self.os_info_arrived = True + + def set_entity_time(self, obj): + if obj.conn.name != self.account: + return + if self.xml.get_object('information_notebook').get_n_pages() < 5: + return + if self.gc_contact: + if obj.jid != self.contact.jid: + return + elif obj.jid.bare != self.contact.jid: + return + i = 0 + time_s = '' + while i in self.time_info: + if self.time_info[i]['resource'] == obj.jid.resource: + if obj.time_info: + self.time_info[i]['time'] = obj.time_info + else: + self.time_info[i]['time'] = Q_('?Time:Unknown') + else: + if not self.time_info[i]['time']: + self.time_info[i]['time'] = Q_('?Time:Unknown') + if i > 0: + time_s += '\n' + time_s += self.time_info[i]['time'] + i += 1 + + self.xml.get_object('time_label').set_text(time_s) + self.entity_time_arrived = True + + def fill_status_label(self): + if self.xml.get_object('information_notebook').get_n_pages() < 5: + return + contact_list = app.contacts.get_contacts(self.account, self.contact.jid) + connected_contact_list = [] + for c in contact_list: + if c.show not in ('offline', 'error'): + connected_contact_list.append(c) + if not connected_contact_list: + # no connected contact, get the offline one + connected_contact_list = contact_list + # stats holds show and status message + stats = '' + if connected_contact_list: + # Start with self.contact, as with resources + stats = helpers.get_uf_show(self.contact.show) + if self.contact.status: + stats += ': ' + self.contact.status + for c in connected_contact_list: + if c.resource != self.contact.resource: + stats += '\n' + stats += helpers.get_uf_show(c.show) + if c.status: + stats += ': ' + c.status + else: # Maybe gc_vcard ? + stats = helpers.get_uf_show(self.contact.show) + if self.contact.status: + stats += ': ' + self.contact.status + status_label = self.xml.get_object('status_label') + status_label.set_text(stats) + status_label.set_tooltip_text(stats) + + def fill_jabber_page(self): + self.xml.get_object('nickname_label').set_markup( + '' + + self.contact.get_shown_name() + + '') + self.xml.get_object('jid_label').set_text(self.contact.jid) + + subscription_label = self.xml.get_object('subscription_label') + ask_label = self.xml.get_object('ask_label') + if self.gc_contact: + self.xml.get_object('subscription_title_label').set_markup(Q_("?Role in Group Chat:Role:")) + uf_role = helpers.get_uf_role(self.gc_contact.role) + subscription_label.set_text(uf_role) + + self.xml.get_object('ask_title_label').set_markup(_("Affiliation:")) + uf_affiliation = helpers.get_uf_affiliation(self.gc_contact.affiliation) + ask_label.set_text(uf_affiliation) + else: + uf_sub = helpers.get_uf_sub(self.contact.sub) + subscription_label.set_text(uf_sub) + if self.contact.sub == 'from': + tt_text = _("This contact is interested in your presence information, but you are not interested in their presence") + elif self.contact.sub == 'to': + tt_text = _("You are interested in the contact's presence information, but it is not mutual") + elif self.contact.sub == 'both': + tt_text = _("The contact and you want to exchange presence information") + else: # None + tt_text = _("You and the contact have a mutual disinterest in each-others presence information") + subscription_label.set_tooltip_text(tt_text) + + uf_ask = helpers.get_uf_ask(self.contact.ask) + ask_label.set_text(uf_ask) + if self.contact.ask == 'subscribe': + tt_text = _("You are waiting contact's answer about your subscription request") + else: + tt_text = _("There is no pending subscription request.") + ask_label.set_tooltip_text(tt_text) + + resources = '' + uf_resources = '' + if self.contact.resource: + resources = '%s (%s)' % (self.contact.resource, str( + self.contact.priority)) + uf_resources = self.contact.resource + _(' resource with priority ')\ + + str(self.contact.priority) + if not self.contact.status: + self.contact.status = '' + + con = app.connections[self.account] + + # do not wait for os_info if contact is not connected or has error + # additional check for observer is needed, as show is offline for him + if self.contact.show in ('offline', 'error')\ + and not self.contact.is_observer(): + self.os_info_arrived = True + else: # Request os info if contact is connected + if self.gc_contact: + con.get_module('SoftwareVersion').request_software_version( + self.real_jid, + callback=self.set_os_info, + user_data=self.real_jid) + else: + jid = self.contact.get_full_jid() + con.get_module('SoftwareVersion').request_software_version( + jid, + callback=self.set_os_info, + user_data=jid) + + # do not wait for entity_time if contact is not connected or has error + # additional check for observer is needed, as show is offline for him + if self.contact.show in ('offline', 'error')\ + and not self.contact.is_observer(): + self.entity_time_arrived = True + else: # Request entity time if contact is connected + if self.gc_contact: + j, r = app.get_room_and_nick_from_fjid(self.real_jid) + GLib.idle_add(con.get_module('EntityTime').request_entity_time, + j, r) + else: + GLib.idle_add(con.get_module('EntityTime').request_entity_time, + self.contact.jid, self.contact.resource) + + self.os_info = {0: {'resource': self.real_resource, 'client': '', + 'os': ''}} + self.time_info = {0: {'resource': self.real_resource, 'time': ''}} + i = 1 + contact_list = app.contacts.get_contacts(self.account, self.contact.jid) + if contact_list: + for c in contact_list: + if c.resource != self.contact.resource: + resources += '\n%s (%s)' % (c.resource, + str(c.priority)) + uf_resources += '\n' + c.resource + \ + _(' resource with priority ') + str(c.priority) + if c.show not in ('offline', 'error'): + jid = c.get_full_jid() + con.get_module('SoftwareVersion').request_software_version( + jid, callback=self.set_os_info, user_data=jid) + GLib.idle_add(con.get_module('EntityTime').request_entity_time, + c.jid, c.resource) + self.os_info[i] = {'resource': c.resource, 'client': '', + 'os': ''} + self.time_info[i] = {'resource': c.resource, 'time': ''} + i += 1 + + self.xml.get_object('resource_prio_label').set_text(resources) + resource_prio_label_eventbox = self.xml.get_object( + 'resource_prio_label_eventbox') + resource_prio_label_eventbox.set_tooltip_text(uf_resources) + + self.fill_status_label() + + jid = self.contact.jid + if self.gc_contact: + jid = self.gc_contact.get_full_jid() + + self._request_vcard(jid) + + def on_close_button_clicked(self, widget): + self.window.destroy() + + +class ZeroconfVcardWindow: + def __init__(self, contact, account, is_fake=False): + # the contact variable is the jid if vcard is true + self.xml = get_builder('zeroconf_information_window.ui') + self.window = self.xml.get_object('zeroconf_information_window') + + self.contact = contact + self.account = account + self.is_fake = is_fake + + self.fill_contact_page() + self.fill_personal_page() + + self.xml.connect_signals(self) + self.window.show_all() + + def on_zeroconf_information_window_destroy(self, widget): + del app.interface.instances[self.account]['infos'][self.contact.jid] + + def on_zeroconf_information_window_key_press_event(self, widget, event): + if event.keyval == Gdk.KEY_Escape: + self.window.destroy() + + def set_value(self, entry_name, value): + try: + if value and entry_name == 'URL_label': + widget = Gtk.LinkButton(uri=value, label=value) + widget.set_alignment(0, 0) + table = self.xml.get_object('personal_info_table') + table.attach(widget, 1, 3, 2, 1) + else: + self.xml.get_object(entry_name).set_text(value) + except AttributeError: + pass + + def fill_status_label(self): + if self.xml.get_object('information_notebook').get_n_pages() < 2: + return + contact_list = app.contacts.get_contacts(self.account, self.contact.jid) + # stats holds show and status message + stats = '' + one = True # Are we adding the first line ? + if contact_list: + for c in contact_list: + if not one: + stats += '\n' + stats += helpers.get_uf_show(c.show) + if c.status: + stats += ': ' + c.status + one = False + else: # Maybe gc_vcard ? + stats = helpers.get_uf_show(self.contact.show) + if self.contact.status: + stats += ': ' + self.contact.status + status_label = self.xml.get_object('status_label') + status_label.set_text(stats) + status_label.set_tooltip_text(stats) + + def fill_contact_page(self): + self.xml.get_object('nickname_label').set_markup( + '' + + self.contact.get_shown_name() + + '') + self.xml.get_object('local_jid_label').set_text(self.contact.jid) + + resources = '%s (%s)' % (self.contact.resource, str( + self.contact.priority)) + uf_resources = self.contact.resource + _(' resource with priority ')\ + + str(self.contact.priority) + if not self.contact.status: + self.contact.status = '' + + self.xml.get_object('resource_prio_label').set_text(resources) + resource_prio_label_eventbox = self.xml.get_object( + 'resource_prio_label_eventbox') + resource_prio_label_eventbox.set_tooltip_text(uf_resources) + + self.fill_status_label() + + def fill_personal_page(self): + contact = app.connections[app.ZEROCONF_ACC_NAME].roster.getItem(self.contact.jid) + for key in ('1st', 'last', 'jid', 'email'): + if key not in contact['txt_dict']: + contact['txt_dict'][key] = '' + self.xml.get_object('first_name_label').set_text(contact['txt_dict']['1st']) + self.xml.get_object('last_name_label').set_text(contact['txt_dict']['last']) + self.xml.get_object('jabber_id_label').set_text(contact['txt_dict']['jid']) + self.xml.get_object('email_label').set_text(contact['txt_dict']['email']) + + def on_close_button_clicked(self, widget): + self.window.destroy() diff --git a/po/be.po b/po/be.po new file mode 100644 index 0000000..610c500 --- /dev/null +++ b/po/be.po @@ -0,0 +1,15904 @@ +# Беларускі пераклад Gajim +# Copyright (C) 2006 Free Software Foundation, Inc. +# This file is distributed under the same license as Gajim. +# +# Ihar Hrachyshka , 2006, 2009. +msgid "" +msgstr "" +"Project-Id-Version: 0.10.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-01 17:44+0100\n" +"PO-Revision-Date: 2009-08-19 23:42+0200\n" +"Last-Translator: Ihar Hrachyshka \n" +"Language-Team: Belarusian \n" +"Language: be\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: gajim/history_manager.py:78 +#, fuzzy +msgid "Usage:" +msgstr "паведамленне" + +#: gajim/history_manager.py:80 +#, fuzzy +msgid "Options:" +msgstr "Сымболікі:" + +#: gajim/history_manager.py:82 +msgid "Show this help message and exit" +msgstr "" + +#: gajim/history_manager.py:83 +msgid "Choose folder for logfile" +msgstr "" + +#: gajim/history_manager.py:113 +msgid "Cannot find history logs database" +msgstr "Немагчыма адшукаць базу дадзеных" + +#: gajim/history_manager.py:114 +#, fuzzy, python-format +msgid "%s does not exist." +msgstr "Такой групавой размовы няма." + +#: gajim/history_manager.py:147 gajim/history_manager.py:201 +#: gajim/gtk/add_contact.py:31 gajim/gtk/discovery.py:833 +#: gajim/gtk/accounts.py:892 gajim/data/gui/vcard_information_window.ui:55 +#: gajim/data/gui/bookmarks.ui:45 gajim/data/gui/blocking_list.ui:43 +#: gajim/data/gui/mam_preferences.ui:117 +#, fuzzy +msgid "XMPP Address" +msgstr "Адрас AIM:" + +#: gajim/history_manager.py:160 gajim/history_manager.py:208 +#: gajim/gtk/history.py:108 gajim/data/gui/history_window.ui:89 +msgid "Date" +msgstr "Дата" + +#: gajim/history_manager.py:167 gajim/history_manager.py:231 +#: gajim/data/gui/profile.ui:232 gajim/data/gui/vcard_information_window.ui:442 +#: gajim/data/gui/bookmarks.ui:84 +msgid "Nickname" +msgstr "Мянушка" + +#: gajim/history_manager.py:178 gajim/history_manager.py:217 +#: gajim/gtk/history.py:117 gajim/data/gui/single_message_window.ui:266 +msgid "Message" +msgstr "Паведамленне" + +#: gajim/history_manager.py:186 gajim/history_manager.py:224 +#: gajim/data/gui/groups_post_window.ui:49 +#: gajim/data/gui/single_message_window.ui:205 +msgid "Subject" +msgstr "Тэма" + +#: gajim/history_manager.py:254 +msgid "Database Cleanup" +msgstr "" + +#: gajim/history_manager.py:255 +#, fuzzy +msgid "Clean up the database?" +msgstr "стварэнне базы журналаў" + +#: gajim/history_manager.py:256 +#, fuzzy +msgid "" +"This is STRONGLY NOT RECOMMENDED IF GAJIM IS RUNNING.\n" +"Normally, the allocated database size will not be freed, it will just become " +"reusable. This operation may take a while." +msgstr "" +"Звычайна памер базы дадзеных не змяншаецца, але вызваленае месца можа быць " +"скарыстаным для пазнейшых размоў. Калі Вы хочаце зменшыць памер базы " +"дадзеных, пстрыкніце Так, інакш Не.\n" +"\n" +"Калі Вы выбралі Так, пачакайце..." + +#: gajim/history_manager.py:262 +#, fuzzy +msgid "_Cleanup" +msgstr "Па_чысціць" + +#: gajim/history_manager.py:527 gajim/gtk/filetransfer.py:238 +#: gajim/gtk/filetransfer.py:248 +msgid "You" +msgstr "Вы" + +#: gajim/history_manager.py:539 +#, python-format +msgid "%(who)s on %(time)s said: %(message)s\n" +msgstr "%(who)s а %(time)s сказаў: %(message)s\n" + +#: gajim/history_manager.py:576 gajim/history_manager.py:615 +#: gajim/gtk/themes.py:362 gajim/gtk/roster_item_exchange.py:75 +#: gajim/gtk/roster_item_exchange.py:185 +msgid "Delete" +msgstr "Выдаліць" + +#: gajim/history_manager.py:577 +#, fuzzy +msgid "Delete Conversation" +msgid_plural "Delete Conversations" +msgstr[0] "Асабістыя звесткі" +msgstr[1] "Асабістыя звесткі" +msgstr[2] "Асабістыя звесткі" + +#: gajim/history_manager.py:578 +#, fuzzy, python-format +msgid "Do you want to permanently delete this conversation with %s?" +msgid_plural "Do you want to permanently delete these conversations?" +msgstr[0] "Вы сапраўды хочаце выдаліць выбранае паведамленне?" +msgstr[1] "Вы сапраўды хочаце выдаліць выбранае паведамленне?" +msgstr[2] "Вы сапраўды хочаце выдаліць выбранае паведамленне?" + +#: gajim/history_manager.py:616 +#, fuzzy +msgid "Delete Message" +msgid_plural "Delete Messages" +msgstr[0] "Стандартныя паведамленні стану" +msgstr[1] "Стандартныя паведамленні стану" +msgstr[2] "Стандартныя паведамленні стану" + +#: gajim/history_manager.py:617 +#, fuzzy +msgid "Do you want to permanently delete this message?" +msgid_plural "Do you want to permanently delete these messages?" +msgstr[0] "Вы сапраўды хочаце выдаліць выбранае паведамленне?" +msgstr[1] "Вы сапраўды хочаце выдаліць выбраныя паведамленні?" +msgstr[2] "Вы сапраўды хочаце выдаліць выбраныя паведамленні?" + +#: gajim/roster_window.py:268 gajim/roster_window.py:991 +msgid "Merged accounts" +msgstr "Аб'яднаныя рахункі" + +#: gajim/roster_window.py:756 gajim/roster_window.py:1667 +#: gajim/roster_window.py:1669 gajim/roster_window.py:1986 +#: gajim/roster_window.py:3065 gajim/roster_window.py:3098 +#: gajim/roster_window.py:4026 gajim/gui_interface.py:338 +#: gajim/gui_menu_builder.py:254 gajim/gui_menu_builder.py:345 +#: gajim/chat_control.py:291 gajim/chat_control.py:421 +#: gajim/gtk/add_contact.py:320 gajim/gtk/roster_item_exchange.py:112 +#: gajim/gtk/subscription_request.py:77 gajim/gtk/subscription_request.py:126 +#: gajim/common/helpers.py:89 gajim/common/helpers.py:207 +#: gajim/common/contacts.py:243 gajim/common/contacts.py:382 +#: gajim/common/contacts.py:493 +#, fuzzy +msgid "Not in contact list" +msgstr "Паказаць _адлучаных людзей" + +#: gajim/roster_window.py:823 gajim/roster_window.py:1579 +#: gajim/roster_window.py:1612 gajim/roster_window.py:1663 +#: gajim/roster_window.py:1665 gajim/roster_window.py:1820 +#: gajim/roster_window.py:2378 gajim/roster_window.py:3990 +#: gajim/roster_window.py:4638 gajim/gtk/discovery.py:127 +#: gajim/gtk/discovery.py:128 gajim/gtk/discovery.py:1419 +#: gajim/common/helpers.py:88 gajim/common/contacts.py:225 +#: gajim/common/contacts.py:485 +msgid "Transports" +msgstr "Транспарты" + +#: gajim/roster_window.py:1671 gajim/roster_window.py:1673 +#: gajim/roster_window.py:3990 gajim/roster_window.py:4603 +#: gajim/gui_interface.py:1425 gajim/common/helpers.py:91 +#: gajim/common/contacts.py:223 +#, fuzzy +msgid "Group chats" +msgstr "Групавыя размовы" + +#: gajim/roster_window.py:1901 gajim/chat_control.py:1688 +#, fuzzy +msgid "Remote contact stopped transfer" +msgstr "Выдаліць чалавека з спіса" + +#: gajim/roster_window.py:1903 gajim/chat_control.py:1690 +#, fuzzy +msgid "Error opening file" +msgstr "Памылка чытання файла:" + +#: gajim/roster_window.py:1968 +#, fuzzy +msgid "Authorization sent" +msgstr "Адпраўленая аўтарызацыя" + +#: gajim/roster_window.py:1969 +#, fuzzy, python-format +msgid "\"%s\" will now see your status." +msgstr "Цяпер \"%s\" можа бачыць Ваш стан." + +#: gajim/roster_window.py:1987 +msgid "Subscription request has been sent" +msgstr "Адпраўлены запыт на падпіску" + +#: gajim/roster_window.py:1988 +#, fuzzy, python-format +msgid "If \"%s\" accepts this request you will know their status." +msgstr "Калі \"%s\" задаволіць гэты запыт, Вы зможаце бачыць яго стан." + +#: gajim/roster_window.py:2002 +#, fuzzy +msgid "Authorization removed" +msgstr "Аўтарызацыя забраная" + +#: gajim/roster_window.py:2003 +#, python-format +msgid "Now \"%s\" will always see you as offline." +msgstr "Цяпер \"%s\" будзе заўсёды бачыць Вас адлучаным." + +#: gajim/roster_window.py:2198 gajim/data/gui/shortcuts_window.ui:66 +#, fuzzy +msgid "Quit Gajim" +msgstr "Gajim" + +#: gajim/roster_window.py:2199 +#, fuzzy +msgid "You are about to quit Gajim" +msgstr "Вы сапраўды хочаце сысці з групавой размовы \"%s\"?" + +#: gajim/roster_window.py:2200 +#, fuzzy +msgid "Are you sure you want to quit Gajim?" +msgstr "Вы сапраўды хочаце сысці з групавой размовы \"%s\"?" + +#: gajim/roster_window.py:2201 +msgid "_Always quit when closing Gajim" +msgstr "" + +#: gajim/roster_window.py:2204 gajim/roster_window.py:2299 +#: gajim/roster_window.py:2340 gajim/data/gui/application_menu.ui:30 +#: gajim/data/gui/systray_context_menu.ui:83 +#, fuzzy +msgid "_Quit" +msgstr "_Выйсці" + +#: gajim/roster_window.py:2292 +#, fuzzy +msgid "Stop File Transfers" +msgstr "Перадача файлаў" + +#: gajim/roster_window.py:2293 +#, fuzzy +msgid "You still have running file transfers" +msgstr "Скасаваць перадачу файла" + +#: gajim/roster_window.py:2294 +msgid "" +"If you quit now, the file(s) being transferred will be lost.\n" +"Do you still want to quit?" +msgstr "" + +#: gajim/roster_window.py:2333 +#, fuzzy +msgid "Unread Messages" +msgstr "Нягледжаныя падзеі" + +#: gajim/roster_window.py:2334 +#, fuzzy +msgid "You still have unread messages" +msgstr "Ёсць нечытаныя паведамленні" + +#: gajim/roster_window.py:2335 +#, fuzzy +msgid "" +"Messages will only be available for reading them later if storing chat " +"history is enabled and if the contact is in your contact list." +msgstr "" +"Вы зможаце прачытаць нечытаныя паведамленні толькі з уключаным вядзеннем " +"журналаў размоў." + +#: gajim/roster_window.py:2590 +msgid "You have unread messages" +msgstr "Ёсць нечытаныя паведамленні" + +#: gajim/roster_window.py:2591 +msgid "You must read them before removing this transport." +msgstr "Вы павінны прачытаць іх перад выдаленнем гэтага транспарта." + +#: gajim/roster_window.py:2594 +#, fuzzy, python-format +msgid "Transport '%s' will be removed" +msgstr "Транспарт \"%s\" будзе выдалены" + +#: gajim/roster_window.py:2595 +#, fuzzy +msgid "" +"You will no longer be able to send and receive messages from and to contacts " +"using this transport." +msgstr "Вы больш не зможаце мець зносіны з людзьмі праз гэты транспарт." + +#: gajim/roster_window.py:2598 +msgid "Transports will be removed" +msgstr "Транспарты будуць выдаленыя" + +#: gajim/roster_window.py:2603 +#, fuzzy, python-format +msgid "" +"You will no longer be able to send and receive messages from and to contacts " +"using these transports:\n" +"%s" +msgstr "Вы больш не зможаце мець зносіны з людзьмі праз гэты транспарт." + +#: gajim/roster_window.py:2607 +#, fuzzy +msgid "Remove Transport" +msgstr "Паказаць _транспарты" + +#: gajim/roster_window.py:2662 gajim/chat_control.py:428 +#, fuzzy +msgid "Block Contact" +msgstr "Людзі" + +#: gajim/roster_window.py:2663 gajim/chat_control.py:429 +#, fuzzy +msgid "Really block this contact?" +msgstr "Ці ўжыты OpenPGP ў размове з гэтым чалавекам?" + +#: gajim/roster_window.py:2664 gajim/chat_control.py:430 +#, fuzzy +msgid "" +"You will appear offline for this contact and you will not receive further " +"messages." +msgstr "JID чалавека, які атрымае паведамленне" + +#: gajim/roster_window.py:2666 +#, fuzzy +msgid "_Do not ask again" +msgstr "_Больш не пытацца" + +#: gajim/roster_window.py:2669 gajim/chat_control.py:434 +#, fuzzy +msgid "_Report Spam" +msgstr "_Паведаміць пра памылку" + +#: gajim/roster_window.py:2673 gajim/roster_window.py:4778 +#: gajim/gui_menu_builder.py:485 gajim/chat_control.py:438 +#: gajim/data/gui/contact_context_menu.ui:151 +msgid "_Block" +msgstr "" + +#: gajim/roster_window.py:2706 +msgid "Rename Contact" +msgstr "Змяніць імя чалавека" + +#: gajim/roster_window.py:2707 +#, fuzzy, python-format +msgid "Rename contact %s?" +msgstr "Змяніць імя чалавека" + +#: gajim/roster_window.py:2708 +#, fuzzy +msgid "Please enter a new nickname" +msgstr "_Пасля мянушкі:" + +#: gajim/roster_window.py:2712 gajim/roster_window.py:3439 +#: gajim/roster_window.py:4679 gajim/dialogs.py:103 gajim/dialogs.py:116 +#: gajim/gtk/accounts.py:308 gajim/common/contacts.py:178 +#: gajim/common/contacts.py:227 gajim/data/gui/shortcuts_window.ui:12 +#: gajim/data/gui/preferences.ui:96 +msgid "General" +msgstr "Агульная" + +#: gajim/roster_window.py:2715 +msgid "Rename Group" +msgstr "Змяніць назву групы" + +#: gajim/roster_window.py:2716 +#, fuzzy, python-format +msgid "Rename group %s?" +msgstr "Змяніць назву групы" + +#: gajim/roster_window.py:2717 +#, fuzzy +msgid "Please enter a new name" +msgstr "Стварыць новы допіс" + +#: gajim/roster_window.py:2747 gajim/roster_window.py:2869 +#: gajim/data/gui/groupchat_control.ui:1859 +#, fuzzy +msgid "_Rename" +msgstr "_Змяніць імя" + +#: gajim/roster_window.py:2769 gajim/roster_window.py:2770 +msgid "Remove Group" +msgstr "Выдаліць групу" + +#: gajim/roster_window.py:2771 +#, fuzzy, python-format +msgid "Do you want to remove %s from the contact list?" +msgstr "Хочаце выдаліць групу %s з кантактнага ліста?" + +#: gajim/roster_window.py:2772 +#, fuzzy +msgid "_Also remove all contacts of this group from contact list" +msgstr "Таксама выдаліць усіх людзей з гэтай групы" + +#: gajim/roster_window.py:2864 gajim/roster_window.py:2865 +#, fuzzy +msgid "Rename Group Chat" +msgstr "Сысці з групавых размоў" + +#: gajim/roster_window.py:2866 +#, fuzzy +msgid "Please enter a new name for this group chat" +msgstr "Вызначце імя карыстальніка для мясцовага рахунка" + +#: gajim/roster_window.py:3082 +#, fuzzy +msgid "Remove Contact" +msgstr "Змяніць імя чалавека" + +#: gajim/roster_window.py:3083 +#, fuzzy +msgid "Remove contact from contact list" +msgstr "Выдаліць чалавека з спіса" + +#: gajim/roster_window.py:3084 +#, fuzzy, python-format +msgid "You are about to remove %(name)s (%(jid)s) from your contact list.\n" +msgstr "Хочаце выдаліць групу %s з кантактнага ліста?" + +#: gajim/roster_window.py:3093 gajim/roster_window.py:3113 +#, fuzzy +msgid "" +"By removing this contact you also remove authorization. This means the " +"contact will see you as offline." +msgstr "" +"Выдаліўшы гэтых людзей:%s\n" +"з Вашага кантактнага ліста, Вы такім чынам таксама прыбярэце ў іх " +"аўтарызацыю, і яны заўсёды будуць бачыць Вас адлучаным." + +#: gajim/roster_window.py:3104 +#, fuzzy +msgid "Do you want to continue?" +msgstr "Што Вы хочаце зрабіць?" + +#: gajim/roster_window.py:3115 +#, fuzzy +msgid "_I want this contact to know my status after removal" +msgstr "Я хачу, каб гэты чалавек мог бачыць мой стан пасля выдалення" + +#: gajim/roster_window.py:3122 +#, fuzzy +msgid "Remove contacts from contact list" +msgstr "Выдаліць чалавека з спіса" + +#: gajim/roster_window.py:3128 +#, fuzzy, python-format +msgid "" +"By removing the following contacts, you will also remove authorization. This " +"means they will see you as offline:\n" +"\n" +"%s" +msgstr "" +"Выдаліўшы гэтых людзей:%s\n" +"з Вашага кантактнага ліста, Вы такім чынам таксама прыбярэце ў іх " +"аўтарызацыю, і яны заўсёды будуць бачыць Вас адлучаным." + +#: gajim/roster_window.py:3132 +#, fuzzy +msgid "Remove Contacts" +msgstr "Змяніць імя чалавека" + +#: gajim/roster_window.py:3761 +#, fuzzy +msgid "You are about to create a metacontact" +msgstr "Вы ствараеце мета-кантакт. Вы сапраўды хочаце працягнуць?" + +#: gajim/roster_window.py:3762 +#, fuzzy +msgid "" +"Metacontacts are a way to regroup several contacts in one single contact. " +"Generally it is used when the same person has several XMPP- or Transport-" +"Accounts." +msgstr "" +"Мета-кантакты дазваляюць згрупаваць некалькі кантактаў у адным элеменце " +"кантактнага ліста. Звычайна ўжываецца, калі ў чалавека некалькі рахункаў " +"Jabber альбо некалькі транспартных рахункаў." + +#: gajim/roster_window.py:3766 +#, fuzzy +msgid "Create Metacontact" +msgstr "Змяніць імя чалавека" + +#: gajim/roster_window.py:3769 gajim/chat_control_base.py:771 +#: gajim/groupchat_control.py:1676 gajim/message_window.py:368 +#, fuzzy +msgid "_Do not ask me again" +msgstr "_Больш не пытацца" + +#: gajim/roster_window.py:3772 gajim/data/gui/groupchat_creation.ui:317 +#, fuzzy +msgid "_Create" +msgstr "Неактывізаваны" + +#: gajim/roster_window.py:3889 +#, fuzzy +msgid "Invalid file URI:" +msgstr "Няправільны файл" + +#: gajim/roster_window.py:3901 +#, fuzzy, python-format +msgid "Send this file to %s:\n" +msgid_plural "Send these files to %s:\n" +msgstr[0] "%s хоча адправіць Вам файл:" +msgstr[1] "%s хоча адправіць Вам файл:" +msgstr[2] "%s хоча адправіць Вам файл:" + +#: gajim/roster_window.py:3909 gajim/roster_window.py:3910 +#: gajim/chat_control.py:1541 gajim/gtk/filetransfer_progress.py:36 +#, fuzzy +msgid "File Transfer" +msgstr "Перадача файлаў" + +#: gajim/roster_window.py:3914 gajim/data/gui/xml_console.ui:334 +msgid "_Send" +msgstr "Ад_правіць" + +#: gajim/roster_window.py:4067 +#, fuzzy, python-format +msgid "Send %(from)s to %(to)s" +msgstr "Адправіць %s" + +#: gajim/roster_window.py:4080 +#, fuzzy, python-format +msgid "Make %s first contact" +msgstr "Зрабіць %s і %s мета-кантактамі" + +#: gajim/roster_window.py:4085 +#, fuzzy, python-format +msgid "Make %(contact1)s and %(contact2)s metacontacts" +msgstr "Зрабіць %s і %s мета-кантактамі" + +#: gajim/roster_window.py:4436 gajim/roster_window.py:4523 +#: gajim/gtk/status_selector.py:76 +msgid "_Change Status Message" +msgstr "З_мяніць паведамленне аб стане" + +#: gajim/roster_window.py:4456 +#, fuzzy +msgid "Publish Tune" +msgstr "_Абнавіць" + +#: gajim/roster_window.py:4467 +#, fuzzy +msgid "Publish Location" +msgstr "_Абнавіць" + +#: gajim/roster_window.py:4606 +msgid "_Maximize All" +msgstr "" + +#: gajim/roster_window.py:4615 gajim/roster_window.py:4743 +msgid "Send Group M_essage" +msgstr "Ад_правіць групавое паведамленне" + +#: gajim/roster_window.py:4622 +msgid "To all users" +msgstr "Усім карыстальнікам" + +#: gajim/roster_window.py:4626 +msgid "To all online users" +msgstr "Усім актыўным карыстальнікам" + +#: gajim/roster_window.py:4637 gajim/roster_window.py:4749 +#: gajim/data/gui/contact_context_menu.ui:36 +msgid "In_vite to" +msgstr "За_прасіць" + +#: gajim/roster_window.py:4663 gajim/gui_menu_builder.py:471 +#, fuzzy +msgid "_Rename…" +msgstr "Змяніць _імя" + +#: gajim/roster_window.py:4669 gajim/gui_menu_builder.py:493 +#: gajim/data/gui/contact_context_menu.ui:181 +#, fuzzy +msgid "Remo_ve" +msgstr "Вы_даліць" + +#: gajim/roster_window.py:4759 +#, fuzzy +msgid "_Manage Contacts" +msgstr "Змяніць імя чалавека" + +#: gajim/roster_window.py:4765 +#, fuzzy +msgid "Edit _Groups…" +msgstr "Змяніць _групы" + +#: gajim/roster_window.py:4774 gajim/gui_menu_builder.py:482 +#: gajim/data/gui/contact_context_menu.ui:143 +msgid "_Unblock" +msgstr "" + +#: gajim/roster_window.py:4786 gajim/gtk/dialogs.py:70 +#: gajim/data/gui/filetransfers.ui:12 +msgid "_Remove" +msgstr "Вы_даліць" + +#: gajim/roster_window.py:4823 +msgid "_Maximize" +msgstr "" + +#: gajim/roster_window.py:4828 +#, fuzzy +msgid "Re_name" +msgstr "_Змяніць імя" + +#: gajim/roster_window.py:4836 gajim/groupchat_control.py:1680 +msgid "_Leave" +msgstr "" + +#: gajim/roster_window.py:4844 +#, fuzzy +msgid "Execute command" +msgstr "_Выканаць загад..." + +#: gajim/roster_window.py:4852 gajim/data/gui/application_menu.ui:68 +#: gajim/data/gui/contact_context_menu.ui:205 +msgid "_History" +msgstr "_Журнал" + +#: gajim/roster_window.py:4945 gajim/gui_interface.py:339 +#: gajim/common/helpers.py:90 gajim/common/contacts.py:221 +msgid "Observers" +msgstr "Назіральнікі" + +#: gajim/roster_window.py:4948 +msgid "Observers can see your status, but you are not allowed to see theirs" +msgstr "" + +#: gajim/privatechat_control.py:105 gajim/groupchat_control.py:1225 +#, python-format +msgid "You are now known as %s" +msgstr "Вашая мянушка змененая на %s" + +#: gajim/privatechat_control.py:107 gajim/groupchat_control.py:1227 +#, fuzzy, python-brace-format +msgid "{nick} is now known as {new_nick}" +msgstr "%s змяніў мянушку на %s" + +#: gajim/privatechat_control.py:138 gajim/groupchat_control.py:1254 +#, fuzzy, python-brace-format +msgid "You are now {show}{status}" +msgstr "Вашая мянушка змененая на %s" + +#: gajim/privatechat_control.py:142 gajim/groupchat_control.py:1258 +#, fuzzy, python-brace-format +msgid "{nick} is now {show}{status}" +msgstr "%(nick)s цяпер %(status)s" + +#: gajim/privatechat_control.py:199 +msgid "Sending private message failed" +msgstr "Памылка адпраўкі прыватнага паведамлення" + +#: gajim/privatechat_control.py:201 +#, fuzzy, python-format +msgid "You are no longer in group chat \"%(room)s\" or \"%(nick)s\" has left." +msgstr "Вы выйшлі з пакоя \"%s\", альбо \"%s\" сышоў." + +#: gajim/application.py:81 +#, fuzzy +msgid "Show the application's version" +msgstr "_Значка панэлі паведамленняў" + +#: gajim/application.py:88 +#, fuzzy +msgid "Show only critical errors" +msgstr "Паказваць толькі ў _галоўным вакне" + +#: gajim/application.py:95 +msgid "Separate profile files completely (even history database and plugins)" +msgstr "" + +#: gajim/application.py:103 +msgid "Print XML stanzas and other debug information" +msgstr "" + +#: gajim/application.py:110 +#, fuzzy +msgid "Use defined profile in configuration directory" +msgstr "Адмысловы рэдактар настаўленняў" + +#: gajim/application.py:118 +#, fuzzy +msgid "Set configuration directory" +msgstr "Настаўленні пакоя" + +#: gajim/application.py:126 +msgid "Configure logging system" +msgstr "" + +#: gajim/application.py:134 +#, fuzzy +msgid "Show all warnings" +msgstr "Паказаць нягледжаныя _падзеі" + +#: gajim/application.py:141 +msgid "Open IPython shell" +msgstr "" + +#: gajim/application.py:148 +msgid "Pops up a window with the next pending event" +msgstr "Паказаць выплыўнае вакно з наступнай нягледжанай падзеяй" + +#: gajim/application.py:154 gajim/data/gui/shortcuts_window.ui:17 +#: data/org.gajim.Gajim.desktop.in:21 +#, fuzzy +msgid "Start a new chat" +msgstr "Пачаць размову" + +#: gajim/application.py:205 gajim/gui_interface.py:131 +msgid "Database Error" +msgstr "" + +#: gajim/gui_interface.py:168 +#, fuzzy, python-format +msgid "HTTP (%(method)s) Authorization for %(url)s (ID: %(id)s)" +msgstr "HTTP (%s) аўтарызацыя для %s (id: %s)" + +#: gajim/gui_interface.py:173 +msgid "Do you accept this request?" +msgstr "Хочаце задаволіць гэты запыт?" + +#: gajim/gui_interface.py:175 +#, fuzzy, python-format +msgid "Do you accept this request (account: %s)?" +msgstr "Хочаце задаволіць гэты запыт?" + +#: gajim/gui_interface.py:181 +#, fuzzy +msgid "Authorization Request" +msgstr "Адпраўленая аўтарызацыя" + +#: gajim/gui_interface.py:182 +#, fuzzy +msgid "HTTP Authorization Request" +msgstr "Адпраўленая аўтарызацыя" + +#: gajim/gui_interface.py:185 gajim/gui_interface.py:376 +#: gajim/gui_interface.py:2002 gajim/gtk/filetransfer.py:339 +#, fuzzy +msgid "_No" +msgstr "Ніякі" + +#: gajim/gui_interface.py:203 gajim/gtk/notification.py:189 +#: gajim/gtk/notification.py:216 +msgid "Connection Failed" +msgstr "Памылка злучэння" + +#: gajim/gui_interface.py:299 +#, fuzzy, python-format +msgid "error while sending %(message)s ( %(error)s )" +msgstr "памылка адпраўкі %s ( %s )" + +#: gajim/gui_interface.py:324 gajim/gtk/notification.py:189 +#, fuzzy +msgid "Subscription request" +msgstr "Запыт падпіскі" + +#: gajim/gui_interface.py:359 +msgid "Authorization accepted" +msgstr "Паспяховая аўтарызацыя" + +#: gajim/gui_interface.py:360 +#, fuzzy, python-format +msgid "The contact \"%(jid)s\" has authorized you to see their status." +msgstr "Чалавек \"%s\" дазволіў Вам бачыць змены яго стану." + +#: gajim/gui_interface.py:370 +#, fuzzy +msgid "Subscription Removed" +msgstr "Запыт падпіскі" + +#: gajim/gui_interface.py:371 +#, fuzzy, python-format +msgid "%(name)s (%(jid)s) has removed subscription from you" +msgstr "Чалавек \"%s\" забраў у Вас аўтарызацыю" + +#: gajim/gui_interface.py:373 +msgid "" +"You will always see this contact as offline.\n" +"Do you want to remove them from your contact list?" +msgstr "" + +#: gajim/gui_interface.py:398 gajim/gtk/notification.py:190 +#, fuzzy +msgid "Unsubscribed" +msgstr "_Адпісацца" + +#: gajim/gui_interface.py:410 +#, python-format +msgid "%(jid)s declined the invitation: %(reason)s" +msgstr "" + +#: gajim/gui_interface.py:414 +#, python-format +msgid "%(jid)s declined the invitation" +msgstr "" + +#: gajim/gui_interface.py:431 gajim/chat_control.py:1606 +#: gajim/gtk/notification.py:188 gajim/gtk/notification.py:214 +#: gajim/gtk/notification.py:286 gajim/gtk/groupchat_invitation.py:33 +#, fuzzy +msgid "Group Chat Invitation" +msgstr "Запрашэнне ў групавую размову" + +#: gajim/gui_interface.py:432 +#, fuzzy, python-format +msgid "%(contact)s invited you to %(chat)s" +msgstr "$Contact запрасіў Вас у групавую размову %(room_jid)s" + +#: gajim/gui_interface.py:453 +#, fuzzy +msgid "Certificate Passphrase Required" +msgstr "Патрэбны пароль" + +#: gajim/gui_interface.py:454 +#, fuzzy, python-format +msgid "Enter the certificate passphrase for account %s" +msgstr "Вызначце пароль GPG для рахунка %s." + +#: gajim/gui_interface.py:463 +#, python-format +msgid "Enter your password for account %s" +msgstr "Увядзіце пароль для рахунка %s" + +#: gajim/gui_interface.py:475 +msgid "Password Required" +msgstr "Патрабуецца пароль" + +#: gajim/gui_interface.py:475 +msgid "Save password" +msgstr "Захаваць пароль" + +#: gajim/gui_interface.py:544 gajim/gui_interface.py:575 +#: gajim/gtk/notification.py:187 gajim/gtk/notification.py:279 +#: gajim/gtk/filetransfer.py:333 gajim/gtk/filetransfer.py:334 +msgid "File Transfer Error" +msgstr "Памылка перадачы файла" + +#: gajim/gui_interface.py:609 +#, python-format +msgid "%s wants to send you a file." +msgstr "%s хоча адправіць Вам файл." + +#: gajim/gui_interface.py:611 gajim/gtk/notification.py:186 +#: gajim/gtk/notification.py:276 gajim/gtk/filetransfer.py:485 +msgid "File Transfer Request" +msgstr "Запыт на перадачу файла" + +#: gajim/gui_interface.py:714 +#, fuzzy +msgid "Remote Contact Stopped Transfer" +msgstr "Выдаліць чалавека з спіса" + +#: gajim/gui_interface.py:719 +#, fuzzy +msgid "Error Opening File" +msgstr "Памылка чытання файла:" + +#: gajim/gui_interface.py:729 +#, fuzzy +msgid "SSL Certificate Error" +msgstr "Няправільнае імя карыстальніка" + +#: gajim/gui_interface.py:738 gajim/gui_interface.py:768 +#: gajim/gui_interface.py:794 gajim/chat_control.py:1573 +#: gajim/gtk/notification.py:187 gajim/gtk/notification.py:282 +msgid "File Transfer Completed" +msgstr "Перадача файла скончаная" + +#: gajim/gui_interface.py:742 gajim/gui_interface.py:773 +#: gajim/gui_interface.py:800 gajim/gtk/notification.py:188 +#: gajim/gtk/notification.py:283 +msgid "File Transfer Stopped" +msgstr "Перадача файла спыненая" + +#: gajim/gui_interface.py:746 +#, fuzzy +msgid "File Transfer Failed" +msgstr "Перадача файлаў" + +#: gajim/gui_interface.py:769 +#, fuzzy, python-format +msgid "%(filename)s received from %(name)s." +msgstr "Перадача файла %(filename)s ад %(name)s спыненая." + +#: gajim/gui_interface.py:774 +#, python-format +msgid "File transfer of %(filename)s from %(name)s stopped." +msgstr "Перадача файла %(filename)s ад %(name)s спыненая." + +#: gajim/gui_interface.py:780 +#, fuzzy, python-format +msgid "File transfer of %(filename)s from %(name)s failed." +msgstr "Перадача файла %(filename)s ад %(name)s спыненая." + +#: gajim/gui_interface.py:795 +#, python-format +msgid "You successfully sent %(filename)s to %(name)s." +msgstr "Вы паспяхова адправілі файл %(filename)s для %(name)s." + +#: gajim/gui_interface.py:801 +#, python-format +msgid "File transfer of %(filename)s to %(name)s stopped." +msgstr "Перадача файла %(filename)s для %(name)s спыненая." + +#: gajim/gui_interface.py:807 +#, fuzzy, python-format +msgid "File transfer of %(filename)s to %(name)s failed." +msgstr "Перадача файла %(filename)s для %(name)s спыненая." + +#: gajim/gui_interface.py:919 gajim/gui_interface.py:920 +msgid "Username Conflict" +msgstr "Канфлікт імёнаў карыстальнікаў" + +#: gajim/gui_interface.py:921 +#, fuzzy +msgid "Please enter a new username for your local account" +msgstr "Вызначце імя карыстальніка для мясцовага рахунка" + +#: gajim/gui_interface.py:925 gajim/gtk/dialogs.py:51 +#: gajim/data/gui/passphrase_dialog.ui:44 +msgid "_OK" +msgstr "_Добра" + +#: gajim/gui_interface.py:988 gajim/chat_control.py:763 +#: gajim/chat_control.py:1660 gajim/gtk/notification.py:190 +#, fuzzy +msgid "Incoming Call" +msgstr "Няправільнае імя карыстальніка" + +#: gajim/gui_interface.py:990 +#, python-format +msgid "%s is calling" +msgstr "" + +#: gajim/gui_interface.py:1071 gajim/gui_interface.py:1072 +#, fuzzy +msgid "Insecure Connection" +msgstr "Злучэнне" + +#: gajim/gui_interface.py:1073 +#, fuzzy, python-format +msgid "" +"You are about to connect to the account %(account)s (%(server)s) using an " +"insecure connection method. This means conversations will not be encrypted. " +"Connecting PLAIN is strongly discouraged." +msgstr "Вы ствараеце мета-кантакт. Вы сапраўды хочаце працягнуць?" + +#: gajim/gui_interface.py:1080 gajim/data/gui/groupchat_control.ui:595 +msgid "_Abort" +msgstr "" + +#: gajim/gui_interface.py:1083 +#, fuzzy +msgid "_Connect Anyway" +msgstr "Злучэнне" + +#: gajim/gui_interface.py:1921 +msgid "Gajim: IPython Console" +msgstr "" + +#: gajim/gui_interface.py:1998 +msgid "Update Check" +msgstr "" + +#: gajim/gui_interface.py:1999 +msgid "Gajim Update Check" +msgstr "" + +#: gajim/gui_interface.py:2000 +msgid "Search for Gajim updates periodically?" +msgstr "" + +#: gajim/gui_interface.py:2005 +msgid "_Search Periodically" +msgstr "" + +#: gajim/gui_interface.py:2045 +#, fuzzy +msgid "Update Available" +msgstr "Мяне няма" + +#: gajim/gui_interface.py:2046 +#, fuzzy +msgid "Gajim Update Available" +msgstr "Мяне няма" + +#: gajim/gui_interface.py:2047 +#, python-format +msgid "There is an update available for Gajim (latest version: %s)" +msgstr "" + +#: gajim/gui_interface.py:2049 +#, fuzzy +msgid "_Do not show again" +msgstr "_Больш не пытацца" + +#: gajim/gui_interface.py:2051 gajim/gtk/accounts.py:126 +msgid "_Later" +msgstr "" + +#: gajim/gui_interface.py:2054 +msgid "_Update Now" +msgstr "" + +#: gajim/gui_menu_builder.py:358 +#, fuzzy +msgid "I would like to add you to my contact list" +msgstr "Я хачу дадаць Вас у свой кантактны ліст." + +#: gajim/gui_menu_builder.py:435 +#, fuzzy +msgid "Send Single _Message…" +msgstr "Адправіць _асобнае паведамленне" + +#: gajim/gui_menu_builder.py:450 +#, fuzzy +msgid "E_xecute Command…" +msgstr "_Выканаць загад..." + +#: gajim/gui_menu_builder.py:458 +#, fuzzy +msgid "_Manage Transport" +msgstr "Транспарты" + +#: gajim/gui_menu_builder.py:464 +#, fuzzy +msgid "_Modify Transport" +msgstr "Паказаць _транспарты" + +#: gajim/gui_menu_builder.py:503 gajim/data/gui/contact_context_menu.ui:198 +#, fuzzy +msgid "_Information" +msgstr "Асабістыя звесткі" + +#: gajim/gui_menu_builder.py:516 +#, fuzzy +msgid "Send File" +msgstr "Адправіць _файл" + +#: gajim/gui_menu_builder.py:517 +#, fuzzy +msgid "Upload File…" +msgstr "Захаваць файл як..." + +#: gajim/gui_menu_builder.py:518 +#, fuzzy +msgid "Send File Directly…" +msgstr "Захаваць файл як..." + +#: gajim/gui_menu_builder.py:520 gajim/gtk/accounts.py:734 +#, fuzzy +msgid "Send Read Markers" +msgstr "Адпраўляць праверачныя пакункі серверу" + +#: gajim/gui_menu_builder.py:521 gajim/gtk/accounts.py:710 +#, fuzzy +msgid "Send Chatstate" +msgstr "Апошняе паведамленне: %s" + +#: gajim/gui_menu_builder.py:522 gajim/data/gui/groupchat_control.ui:307 +#, fuzzy +msgid "Invite Contacts…" +msgstr "Людзі" + +#: gajim/gui_menu_builder.py:523 gajim/gui_menu_builder.py:741 +#: gajim/gui_menu_builder.py:768 gajim/gui_menu_builder.py:807 +#, fuzzy +msgid "Add to Contact List…" +msgstr "_Дадаць чалавека..." + +#: gajim/gui_menu_builder.py:524 +#, fuzzy +msgid "Block Contact…" +msgstr "Людзі" + +#: gajim/gui_menu_builder.py:525 gajim/data/gui/chat_control.ui:936 +#, fuzzy +msgid "Start Call…" +msgstr "Пачаць размову" + +#: gajim/gui_menu_builder.py:526 gajim/gui_menu_builder.py:576 +#: gajim/gui_menu_builder.py:802 gajim/data/gui/groupchat_control.ui:1334 +#, fuzzy +msgid "Information" +msgstr "Асабістыя звесткі" + +#: gajim/gui_menu_builder.py:527 gajim/gui_menu_builder.py:588 +#, fuzzy +msgid "History" +msgstr "_Журнал" + +#: gajim/gui_menu_builder.py:533 gajim/gui_menu_builder.py:710 +#: gajim/gtk/preferences.py:671 gajim/gtk/groupchat_settings.py:36 +#: gajim/gtk/accounts.py:682 +msgid "Disabled" +msgstr "Адключана" + +#: gajim/gui_menu_builder.py:534 gajim/gtk/groupchat_settings.py:37 +#: gajim/gtk/accounts.py:681 +#, fuzzy +msgid "Composing Only" +msgstr "Піша" + +#: gajim/gui_menu_builder.py:535 gajim/gtk/groupchat_settings.py:38 +#, fuzzy +msgid "All Chat States" +msgstr "Усе станы" + +#: gajim/gui_menu_builder.py:577 +#, fuzzy +msgid "Settings…" +msgstr "Памылка злучэння" + +#: gajim/gui_menu_builder.py:578 +#, fuzzy +msgid "Manage Group Chat" +msgstr "Сысці з групавых размоў" + +#: gajim/gui_menu_builder.py:579 +#, fuzzy +msgid "Rename…" +msgstr "Змяніць _імя" + +#: gajim/gui_menu_builder.py:580 +#, fuzzy +msgid "Change Subject…" +msgstr "Змяніць _тэму" + +#: gajim/gui_menu_builder.py:581 +#, fuzzy +msgid "Upload Avatar…" +msgstr "Выберыце малюнак" + +#: gajim/gui_menu_builder.py:582 +#, fuzzy +msgid "Configure…" +msgstr "_Працягнуць" + +#: gajim/gui_menu_builder.py:583 +#, fuzzy +msgid "Destroy…" +msgstr "Апісанне: %s" + +#: gajim/gui_menu_builder.py:585 +#, fuzzy +msgid "Change Nickname…" +msgstr "Змяніць м_янушку" + +#: gajim/gui_menu_builder.py:586 +#, fuzzy +msgid "Request Voice" +msgstr "_Голас" + +#: gajim/gui_menu_builder.py:587 gajim/gui_menu_builder.py:825 +#, fuzzy +msgid "Execute Command…" +msgstr "_Выканаць загад..." + +#: gajim/gui_menu_builder.py:589 +msgid "Leave" +msgstr "" + +#: gajim/gui_menu_builder.py:631 +#, fuzzy +msgid "Add Contact…" +msgstr "_Дадаць чалавека..." + +#: gajim/gui_menu_builder.py:632 gajim/gtk/accounts.py:861 +#: gajim/gtk/accounts.py:899 gajim/gtk/profile.py:53 +#, fuzzy +msgid "Profile" +msgstr "файл" + +#: gajim/gui_menu_builder.py:633 +#, fuzzy +msgid "Send Single Message…" +msgstr "Адправіць _асобнае паведамленне" + +#: gajim/gui_menu_builder.py:634 +#, fuzzy +msgid "Discover Services…" +msgstr "_Пошук сервісаў" + +#: gajim/gui_menu_builder.py:635 gajim/gtk/server_info.py:47 +#, fuzzy +msgid "Server Info" +msgstr "Сервер" + +#: gajim/gui_menu_builder.py:636 gajim/gtk/accounts.py:312 +#: gajim/data/gui/preferences.ui:853 +msgid "Advanced" +msgstr "Адмысловы" + +#: gajim/gui_menu_builder.py:637 gajim/gtk/mam_preferences.py:100 +#, fuzzy +msgid "Archiving Preferences" +msgstr "_Настаўленні" + +#: gajim/gui_menu_builder.py:638 +#, fuzzy +msgid "Blocking List" +msgstr "Чорны спіс" + +#: gajim/gui_menu_builder.py:639 +#, fuzzy +msgid "Bookmarks" +msgstr "_Змясціць у закладках" + +#: gajim/gui_menu_builder.py:640 +#, fuzzy +msgid "PEP Configuration" +msgstr "Настаўленні пакоя" + +#: gajim/gui_menu_builder.py:641 +#, fuzzy +msgid "Synchronise History…" +msgstr "Паказаць _адлучаных людзей" + +#: gajim/gui_menu_builder.py:643 gajim/gtk/server_info.py:141 +#: gajim/data/gui/groupchat_config.ui:36 +#, fuzzy +msgid "Admin" +msgstr "_Адміністратар" + +#: gajim/gui_menu_builder.py:644 +#, fuzzy +msgid "Send Server Message…" +msgstr "Ад_правіць паведамленне серверу" + +#: gajim/gui_menu_builder.py:645 +#, fuzzy +msgid "Set MOTD…" +msgstr "Вызначыць MOTD" + +#: gajim/gui_menu_builder.py:646 +#, fuzzy +msgid "Update MOTD…" +msgstr "Абнавіць MOTD" + +#: gajim/gui_menu_builder.py:647 +#, fuzzy +msgid "Delete MOTD…" +msgstr "Выдаліць MOTD" + +#: gajim/gui_menu_builder.py:684 +#, fuzzy +msgid "_Add Account…" +msgstr "_Дадаць чалавека..." + +#: gajim/gui_menu_builder.py:690 +#, fuzzy +msgid "_Modify Accounts…" +msgstr "Змяніць рахунак" + +#: gajim/gui_menu_builder.py:700 gajim/data/gui/account_context_menu.ui:79 +#: gajim/data/gui/zeroconf_context_menu.ui:26 +#, fuzzy +msgid "_Modify Account…" +msgstr "Змяніць рахунак" + +#: gajim/gui_menu_builder.py:704 gajim/gtk/accounts.py:51 +msgid "Accounts" +msgstr "Рахункі" + +#: gajim/gui_menu_builder.py:734 gajim/gui_menu_builder.py:739 +#, fuzzy +msgid "Copy XMPP Address" +msgstr "_Скапіяваць JID / паштовы адрас" + +#: gajim/gui_menu_builder.py:735 gajim/gui_menu_builder.py:767 +#, fuzzy +msgid "Join Groupchat" +msgstr "Удзельнічаць у групавой размове" + +#: gajim/gui_menu_builder.py:740 gajim/gui_menu_builder.py:766 +#: gajim/gtk/start_chat.py:636 +#: gajim/data/gui/subscription_request_window.ui:149 +msgid "Start Chat" +msgstr "Пачаць размову" + +#: gajim/gui_menu_builder.py:746 +#, fuzzy +msgid "Copy Link Location" +msgstr "_Скапіяваць адрас спасылкі" + +#: gajim/gui_menu_builder.py:747 +#, fuzzy +msgid "Open Link in Browser" +msgstr "_Адкрыць у праглядальніку" + +#: gajim/gui_menu_builder.py:752 +#, fuzzy +msgid "Copy Email Address" +msgstr "_Скапіяваць JID / паштовы адрас" + +#: gajim/gui_menu_builder.py:753 gajim/gui_menu_builder.py:765 +#, fuzzy +msgid "Open Email Composer" +msgstr "_Напісаць ліст" + +#: gajim/gui_menu_builder.py:758 +#, fuzzy +msgid "Copy Location" +msgstr "_Скапіяваць адрас спасылкі" + +#: gajim/gui_menu_builder.py:759 gajim/gtk/preferences.py:291 +#, fuzzy +msgid "Show Location" +msgstr "Змяненне рахунка" + +#: gajim/gui_menu_builder.py:764 +#, fuzzy +msgid "Copy XMPP Address/Email" +msgstr "_Скапіяваць JID / паштовы адрас" + +#: gajim/gui_menu_builder.py:816 +#, fuzzy +msgid "Invite" +msgstr "За_прасіць" + +#: gajim/gui_menu_builder.py:832 +#, fuzzy +msgid "Kick" +msgstr "_Выкінуць" + +#: gajim/gui_menu_builder.py:840 +#, fuzzy +msgid "Ban" +msgstr "_Забараніць казанне" + +#: gajim/gui_menu_builder.py:850 +#, fuzzy +msgid "Make Owner" +msgstr "Уладальнік" + +#: gajim/gui_menu_builder.py:859 +#, fuzzy +msgid "Make Admin" +msgstr "_Адміністратар" + +#: gajim/gui_menu_builder.py:868 +#, fuzzy +msgid "Make Member" +msgstr "Удзельнік" + +#: gajim/gui_menu_builder.py:877 +#, fuzzy +msgid "Revoke Member" +msgstr "Удзельнік" + +#: gajim/gui_menu_builder.py:887 +msgid "Grant Voice" +msgstr "" + +#: gajim/gui_menu_builder.py:890 +#, fuzzy +msgid "Revoke Voice" +msgstr "_Голас" + +#: gajim/gui_menu_builder.py:910 +#, fuzzy +msgid "Copy" +msgstr "Пакой:" + +#: gajim/chat_control.py:346 gajim/groupchat_control.py:348 +#, fuzzy +msgid "Send File…" +msgstr "Адправіць _файл" + +#: gajim/chat_control.py:348 gajim/groupchat_control.py:354 +#, fuzzy +msgid "No File Transfer available" +msgstr "Перадача файлаў" + +#: gajim/chat_control.py:479 +#, fuzzy +msgid "Show a list of formattings" +msgstr "Пстрыкніце, каб уставіць сымболік (Alt+M)" + +#: gajim/chat_control.py:483 +#, fuzzy +msgid "This contact does not support HTML" +msgstr "Спіс актыўных, скончаных і спыненых перадачаў файлаў" + +#: gajim/chat_control.py:684 +msgid "Ping?" +msgstr "" + +#: gajim/chat_control.py:687 +#, python-format +msgid "Pong! (%s seconds)" +msgstr "" + +#: gajim/chat_control.py:758 +#, fuzzy +msgid "Calling…" +msgstr "Забараніць казанне..." + +#: gajim/chat_control.py:783 gajim/chat_control.py:870 +#, fuzzy +msgid "Connection Error" +msgstr "Злучэнне" + +#: gajim/chat_control.py:811 gajim/data/gui/chat_control.ui:1185 +msgid "Turn Camera on" +msgstr "" + +#: gajim/chat_control.py:822 +msgid "Calling (Video)…" +msgstr "" + +#: gajim/chat_control.py:826 gajim/chat_control.py:834 +#: gajim/chat_control.py:864 +msgid "Turn Camera off" +msgstr "" + +#: gajim/chat_control.py:832 +msgid "Incoming Call (Video)" +msgstr "" + +#: gajim/chat_control.py:1020 +#, python-format +msgid "%(nickname)s from group chat %(room_name)s" +msgstr "%(nickname)s з групавой размовы %(room_name)s" + +#: gajim/chat_control.py:1257 +msgid "Note: Chat history is disabled for this contact." +msgstr "" + +#: gajim/chat_control.py:1259 +msgid "Note: Chat history is disabled for this account." +msgstr "" + +#: gajim/chat_control.py:1260 +#, fuzzy, python-format +msgid "" +"You just received a new message from %s.\n" +"Do you want to close this tab?" +msgstr "Вам адправіў паведамленне \"%s\"" + +#: gajim/chat_control.py:1266 gajim/gtk/remove_account.py:43 +#: gajim/gtk/change_password.py:44 +#, fuzzy +msgid "Close" +msgstr "Ад_правіць і закрыць" + +#: gajim/chat_control.py:1267 gajim/gtk/notification.py:184 +#: gajim/gtk/notification.py:204 gajim/gtk/notification.py:218 +#: gajim/gtk/notification.py:271 gajim/common/connection_handlers_events.py:237 +msgid "New Message" +msgstr "Новае паведамленне" + +#: gajim/chat_control.py:1272 gajim/chat_control.py:1579 +#: gajim/chat_control.py:1588 gajim/message_window.py:371 +#: gajim/data/gui/groupchat_control.ui:1117 +#: gajim/data/gui/groupchat_control.ui:1203 +#: gajim/data/gui/groupchat_control.ui:1308 +#: gajim/data/gui/groupchat_control.ui:1997 +#, fuzzy +msgid "_Close" +msgstr "Ад_правіць і закрыць" + +#: gajim/chat_control.py:1359 +#, fuzzy, python-format +msgid "" +"Subject: %(subject)s\n" +"%(message)s" +msgstr "" +"Тэма: %s\n" +"%s" + +#: gajim/chat_control.py:1480 +#, fuzzy, python-format +msgid "%(name)s is now %(show)s %(status)s" +msgstr "%(nick)s цяпер %(status)s" + +#: gajim/chat_control.py:1545 +#, fuzzy +msgid "Size" +msgstr "Памер: %s" + +#: gajim/chat_control.py:1547 gajim/chat_control.py:1609 +#: gajim/gtk/groupchat_invitation.py:67 +#, fuzzy +msgid "_Decline" +msgstr "_Адключаны" + +#: gajim/chat_control.py:1550 gajim/chat_control.py:1611 +#: gajim/chat_control.py:1668 gajim/gtk/dialogs.py:59 +#, fuzzy +msgid "_Accept" +msgstr "Прыняць" + +#: gajim/chat_control.py:1577 gajim/gtk/filetransfer.py:259 +#, fuzzy +msgid "Open _Folder" +msgstr "_Адкрыць дырэкторыю з файлам" + +#: gajim/chat_control.py:1662 +#, fuzzy +msgid "" +"\n" +"Video Call" +msgstr "Прыватная размова" + +#: gajim/chat_control.py:1664 +#, fuzzy +msgid "" +"\n" +"Voice Call" +msgstr "Запыт на перадачу файла" + +#: gajim/chat_control.py:1666 +#, fuzzy +msgid "_Reject" +msgstr "Выдаліць" + +#: gajim/chat_control.py:1692 gajim/gtk/filetransfer.py:297 +#, fuzzy +msgid "File transfer stopped" +msgstr "Перадача файла спыненая" + +#: gajim/chat_control.py:1697 gajim/gtk/filetransfer.py:275 +#: gajim/gtk/filetransfer.py:284 +msgid "File transfer cancelled" +msgstr "Перадача файла скасаваная" + +#: gajim/chat_control.py:1698 +msgid "Connection with peer cannot be established." +msgstr "Немагчыма ўсталяваць злучэнне з атрымальнікам." + +#: gajim/chat_control_base.py:141 gajim/gtk/start_chat.py:649 +#: gajim/gtk/groupchat_invite.py:318 +#, fuzzy, python-format +msgid "Account: %s" +msgstr "Рахункі" + +#: gajim/chat_control_base.py:592 +#, fuzzy +msgid "and authenticated" +msgstr "Аўтарызацыя" + +#: gajim/chat_control_base.py:596 +#, fuzzy +msgid "and NOT authenticated" +msgstr "Аўтарызацыя" + +#: gajim/chat_control_base.py:600 +#, python-format +msgid "%(type)s encryption is active %(authenticated)s." +msgstr "" + +#: gajim/chat_control_base.py:715 +msgid "_Undo" +msgstr "" + +#: gajim/chat_control_base.py:723 gajim/conversation_textview.py:417 +msgid "_Clear" +msgstr "" + +#: gajim/chat_control_base.py:728 +msgid "Paste as quote" +msgstr "" + +#: gajim/chat_control_base.py:767 +#, fuzzy +msgid "Paste Image" +msgstr "Выберыце малюнак" + +#: gajim/chat_control_base.py:768 +#, fuzzy +msgid "You are trying to paste an image" +msgstr "Вы не злучаны з серверам" + +#: gajim/chat_control_base.py:769 +#, fuzzy +msgid "" +"Are you sure you want to paste your clipboard's image into the chat window?" +msgstr "Вы сапраўды хочаце сысці з групавой размовы \"%s\"?" + +#: gajim/chat_control_base.py:775 +msgid "_Paste" +msgstr "" + +#: gajim/chat_control_base.py:1361 gajim/gtk/accounts.py:310 +#: gajim/data/gui/profile.ui:17 gajim/data/gui/profile.ui:318 +#, fuzzy +msgid "Privacy" +msgstr "Спіс прыватнасці" + +#: gajim/chat_control_base.py:1362 +#, fuzzy +msgid "Warning" +msgstr "Забарона казання для %s" + +#: gajim/chat_control_base.py:1363 +#, python-format +msgid "" +"If you send a file to %s, your real XMPP address will be revealed." +msgstr "" + +#: gajim/chat_control_base.py:1368 +msgid "_Continue" +msgstr "_Працягнуць" + +#: gajim/gajim_remote.py:55 gajim/common/exceptions.py:70 +msgid "D-Bus is not present on this machine or python module is missing" +msgstr "D-Bus няма на гэтым кампутары, альбо няма адпаведнага модуля python" + +#: gajim/gajim_remote.py:77 +msgid "Shows a help on specific command" +msgstr "Паказвае даведку па вызначаным загадзе" + +#: gajim/gajim_remote.py:80 +msgid "command" +msgstr "загад" + +#: gajim/gajim_remote.py:81 +msgid "show help on command" +msgstr "паказаць даведку па загадзе" + +#: gajim/gajim_remote.py:85 +#, fuzzy +msgid "Lists all contacts in the contact list, one for each line" +msgstr "" +"Паказаць спіс усіх людзей у кантактным лісце. Звесткі пра кожнага чалавека " +"друкуюцца на асобным радку" + +#: gajim/gajim_remote.py:87 gajim/gajim_remote.py:102 gajim/gajim_remote.py:112 +#: gajim/gajim_remote.py:122 gajim/gajim_remote.py:133 +#: gajim/gajim_remote.py:142 gajim/gajim_remote.py:163 +#: gajim/gajim_remote.py:171 gajim/gajim_remote.py:180 +#: gajim/gajim_remote.py:187 +#, fuzzy +msgid "?CLI:account" +msgstr "рахунак" + +#: gajim/gajim_remote.py:87 +msgid "show only contacts of the given account" +msgstr "паказаць людзей з пэўнага рахунка" + +#: gajim/gajim_remote.py:93 +msgid "Prints a list of registered accounts" +msgstr "Паказаць спіс зарэгістраваных рахункаў" + +#: gajim/gajim_remote.py:97 +#, fuzzy +msgid "Changes the status of account(s)" +msgstr "Змяніць стан рахунка(ў)" + +#: gajim/gajim_remote.py:100 +#, fuzzy +msgid "?CLI:status" +msgstr "стан" + +#: gajim/gajim_remote.py:100 +#, fuzzy +msgid "" +"one of: offline, online, chat, away, xa, dnd. If not set, use account's " +"previous status" +msgstr "адзін з: offline, online, chat, away, xa, dnd, invisible " + +#: gajim/gajim_remote.py:101 gajim/gajim_remote.py:121 +#: gajim/gajim_remote.py:132 gajim/gajim_remote.py:141 +#, fuzzy +msgid "?CLI:message" +msgstr "паведамленне" + +#: gajim/gajim_remote.py:101 +msgid "status message" +msgstr "паведамленне стану" + +#: gajim/gajim_remote.py:102 +msgid "" +"change status of account \"account\". If not specified, try to change status " +"of all accounts that have \"sync with global status\" option set" +msgstr "" +"змяніць стан рахунка \"account\". Калі не вызначана, змяняецца стан усіх " +"рахункаў, якія \"сінхранізуюцца з глабальным станам\"" + +#: gajim/gajim_remote.py:108 +#, fuzzy +msgid "Changes the priority of account(s)" +msgstr "Змяніць стан рахунка(ў)" + +#: gajim/gajim_remote.py:110 +#, fuzzy +msgid "?CLI:priority" +msgstr "Прыяры_тэт:" + +#: gajim/gajim_remote.py:110 +#, fuzzy +msgid "priority you want to give to the account" +msgstr "_Зарэгістраваць новы рахунак" + +#: gajim/gajim_remote.py:112 +#, fuzzy +msgid "" +"change the priority of the given account. If not specified, change status of " +"all accounts that have \"sync with global status\" option set" +msgstr "" +"змяніць стан рахунка \"account\". Калі не вызначана, змяняецца стан усіх " +"рахункаў, якія \"сінхранізуюцца з глабальным станам\"" + +#: gajim/gajim_remote.py:118 +#, fuzzy +msgid "" +"Sends new chat message to a contact in the contact list. Account is optional." +msgstr "Карыстанне: /%s, хавае кнопкі размовы." + +#: gajim/gajim_remote.py:120 gajim/gajim_remote.py:130 +#, fuzzy +msgid "XMPP Address of the contact that will receive the message" +msgstr "JID чалавека, які атрымае паведамленне" + +#: gajim/gajim_remote.py:121 gajim/gajim_remote.py:132 +#: gajim/gajim_remote.py:141 +msgid "message contents" +msgstr "змест паведамлення" + +#: gajim/gajim_remote.py:122 gajim/gajim_remote.py:133 +#: gajim/gajim_remote.py:142 +msgid "if specified, the message will be sent using this account" +msgstr "Калі вызначана, паведамленне будзе адпраўленае праз гэты рахунак" + +#: gajim/gajim_remote.py:127 +#, fuzzy +msgid "" +"Sends a chat message to someone on your contact list. Account is optional." +msgstr "Карыстанне: /%s, хавае кнопкі размовы." + +#: gajim/gajim_remote.py:131 +msgid "subject" +msgstr "тэма" + +#: gajim/gajim_remote.py:131 +msgid "message subject" +msgstr "тэма паведамлення" + +#: gajim/gajim_remote.py:138 +msgid "Sends new message to a group chat you've joined." +msgstr "" + +#: gajim/gajim_remote.py:140 +#, fuzzy +msgid "XMPP Address of the group chat that will receive the message" +msgstr "JID чалавека, які атрымае паведамленне" + +#: gajim/gajim_remote.py:147 +msgid "Gets detailed info on a contact" +msgstr "Атрымаць падрабязныя звесткі пра чалавека" + +#: gajim/gajim_remote.py:149 gajim/gajim_remote.py:162 +#: gajim/gajim_remote.py:170 +#, fuzzy +msgid "XMPP Address of the contact" +msgstr "JID чалавека" + +#: gajim/gajim_remote.py:153 +msgid "Gets detailed info on a account" +msgstr "Атрымаць падрабязныя звесткі аб рахунку" + +#: gajim/gajim_remote.py:155 +msgid "Name of the account" +msgstr "Назва рахунка" + +#: gajim/gajim_remote.py:159 +msgid "Sends file to a contact" +msgstr "Адправіць файл чалавеку" + +#: gajim/gajim_remote.py:161 +msgid "file" +msgstr "файл" + +#: gajim/gajim_remote.py:161 +msgid "File path" +msgstr "Месца файла" + +#: gajim/gajim_remote.py:163 +msgid "if specified, file will be sent using this account" +msgstr "Калі вызначана, файл будзе адпраўлены праз гэты рахунак" + +#: gajim/gajim_remote.py:168 +#, fuzzy +msgid "Removes contact from contact list" +msgstr "Выдаліць чалавека з спіса" + +#: gajim/gajim_remote.py:171 +msgid "if specified, contact is taken from the contact list of this account" +msgstr "Калі вызначана, то імя чалавека выбіраецца з спіса гэтага рахунка" + +#: gajim/gajim_remote.py:178 +msgid "Returns current status (the global one unless account is specified)" +msgstr "Вяртае бягучы стан (глабальны, калі не вызначаны рахунак)" + +#: gajim/gajim_remote.py:185 +msgid "" +"Returns current status message (the global one unless account is specified)" +msgstr "" +"Вяртае бягучае паведамленне аб стане (глабальнае, калі не вызначаны рахунак)" + +#: gajim/gajim_remote.py:192 +msgid "Returns number of unread messages" +msgstr "Вяртае колькасць нечытаных паведамленняў" + +#: gajim/gajim_remote.py:197 +msgid "Sends custom XML" +msgstr "Адправіць асаблівы XML" + +#: gajim/gajim_remote.py:199 +msgid "XML to send" +msgstr "Адправіць XML" + +#: gajim/gajim_remote.py:200 +#, fuzzy +msgid "" +"Account to which the XML will be sent; if not specified, XML will be sent to " +"all accounts" +msgstr "" +"Рахунак, на які будзе адпраўлены xml; калі не вызначаны, xml будзе " +"адпраўлены на ўсе рахункі" + +#: gajim/gajim_remote.py:207 +#, fuzzy +msgid "Check if Gajim is running" +msgstr "Праверце, ці працуе avahi-daemon." + +#: gajim/gajim_remote.py:233 +msgid "Missing argument \"contact_jid\"" +msgstr "Не хапае аргумента \"contact_jid\"" + +#: gajim/gajim_remote.py:253 +#, fuzzy, python-format +msgid "" +"'%s' is not in your contact list.\n" +"Please specify account for sending the message." +msgstr "" +"'%s' няма ў Вашым спісе.\n" +"Калі ласка, вызначце рахунак для адпраўкі паведамлення." + +#: gajim/gajim_remote.py:256 +msgid "You have no active account" +msgstr "У Вас няма актыўнага рахунка" + +#: gajim/gajim_remote.py:304 +msgid "It seems Gajim is not running. So you can't use gajim-remote." +msgstr "" + +#: gajim/gajim_remote.py:331 +#, python-format +msgid "" +"Usage: %(basename)s %(command)s %(arguments)s \n" +"\t %(help)s" +msgstr "" + +#: gajim/gajim_remote.py:335 +msgid "Arguments:" +msgstr "Аргументы:" + +#: gajim/gajim_remote.py:339 +#, python-format +msgid "%s not found" +msgstr "%s не знойдзены" + +#: gajim/gajim_remote.py:345 +#, fuzzy, python-format +msgid "" +"Usage:\n" +" %s command [arguments]\n" +"\n" +"Command is one of:\n" +msgstr "" +"Карыстанне: %s загад [аргументы]\n" +"Загад ёсць адным з:\n" + +#: gajim/gajim_remote.py:415 +#, fuzzy, python-format +msgid "" +"Too many arguments. \n" +"Type \"%(basename)s help %(command)s\" for more info" +msgstr "" +"Надта шмат аргументаў. \n" +"Увядзіце \"%s help %s\" для падрабязнейшых звестак" + +#: gajim/gajim_remote.py:420 +#, fuzzy, python-format +msgid "" +"Argument \"%(arg)s\" is not specified. \n" +"Type \"%(basename)s help %(command)s\" for more info" +msgstr "" +"Аргумент \"%s\" не вызначаны. \n" +"Увядзіце \"%s help %s\" для падрабязных звестак" + +#: gajim/dialogs.py:70 +#, python-format +msgid "Contact name: %s" +msgstr "Імя чалавека: %s" + +#: gajim/dialogs.py:72 +#, python-format +msgid "XMPP Address: %s" +msgstr "" + +#: gajim/dialogs.py:189 +msgid "Group" +msgstr "Група" + +#: gajim/dialogs.py:196 +msgid "In the group" +msgstr "У групе" + +#: gajim/dialogs.py:211 gajim/gtk/discovery.py:522 +msgid "You are not connected to the server" +msgstr "Вы не злучаны з серверам" + +#: gajim/dialogs.py:212 +#, fuzzy +msgid "Without a connection, you can not synchronise your contacts." +msgstr "Вы не можаце змяніць пароль, не злучыўшыся з серверам." + +#: gajim/dialogs.py:223 gajim/dialogs.py:294 +#: gajim/gtk/roster_item_exchange.py:83 gajim/gtk/discovery.py:826 +#: gajim/gtk/discovery.py:1650 gajim/gtk/discovery.py:1896 +#: gajim/gtk/history.py:99 gajim/gtk/vcard_grid.py:34 +#: gajim/data/gui/bookmarks.ui:66 +msgid "Name" +msgstr "Назва" + +#: gajim/dialogs.py:226 gajim/data/gui/preferences.ui:604 +#: gajim/data/gui/server_info.ui:146 +msgid "Server" +msgstr "Сервер" + +#: gajim/dialogs.py:262 +#, fuzzy +msgid "This account is not connected to the server" +msgstr "Рахунак \"%s\" злучаны з серверам" + +#: gajim/dialogs.py:263 +#, fuzzy +msgid "You cannot synchronize with an account unless it is connected." +msgstr "" +"Вы не можаце ўдзельнічаць у групавой размове, не злучыўшыся з серверам." + +#: gajim/dialogs.py:292 +msgid "Synchronise" +msgstr "" + +#: gajim/vcard.py:284 +msgid "?Client:Unknown" +msgstr "?Праграма:Невядомая" + +#: gajim/vcard.py:289 +msgid "?OS:Unknown" +msgstr "?Сістэма:Невядомая" + +#: gajim/vcard.py:319 gajim/vcard.py:322 +#, fuzzy +msgid "?Time:Unknown" +msgstr "?Праграма:Невядомая" + +#: gajim/vcard.py:373 +msgid "?Role in Group Chat:Role:" +msgstr "" + +#: gajim/vcard.py:377 +#, fuzzy +msgid "Affiliation:" +msgstr "Праграмы" + +#: gajim/vcard.py:384 +#, fuzzy +msgid "" +"This contact is interested in your presence information, but you are not " +"interested in their presence" +msgstr "Вы не цікавіцеся гэтым чалавекам, але ён цікавіцца Вамі" + +#: gajim/vcard.py:386 +#, fuzzy +msgid "" +"You are interested in the contact's presence information, but it is not " +"mutual" +msgstr "Вы цікавіцеся чалавекам, але ён не цікавіцца Вамі" + +#: gajim/vcard.py:388 +#, fuzzy +msgid "The contact and you want to exchange presence information" +msgstr "Вы і гэты чалавек абодва цікавіцеся адзін адным" + +#: gajim/vcard.py:390 +#, fuzzy +msgid "" +"You and the contact have a mutual disinterest in each-others presence " +"information" +msgstr "Вы і гэты чалавек абодва цікавіцеся адзін адным" + +#: gajim/vcard.py:396 +msgid "You are waiting contact's answer about your subscription request" +msgstr "Вы чакаеце адказу на Ваш запыт" + +#: gajim/vcard.py:398 +msgid "There is no pending subscription request." +msgstr "" + +#: gajim/vcard.py:403 gajim/vcard.py:453 gajim/vcard.py:549 +msgid " resource with priority " +msgstr " рэсурс з прыярытэтам " + +#: gajim/conversation_textview.py:65 +#, fuzzy +msgid "Untrusted" +msgstr "Выберыце Ваш ключ OpenPGP" + +#: gajim/conversation_textview.py:68 +msgid "Trust Not Decided" +msgstr "" + +#: gajim/conversation_textview.py:71 +msgid "Unverified" +msgstr "" + +#: gajim/conversation_textview.py:74 +msgid "Verified" +msgstr "" + +#: gajim/conversation_textview.py:225 +#, fuzzy +msgid "" +"Text below this line is what has been said since the\n" +"last time you paid attention to this group chat" +msgstr "Тэкст пад гэтай рысаю ёсць тэкстам, які Вы яшчэ не бачылі" + +#: gajim/conversation_textview.py:428 +#, fuzzy +msgid "_Quote" +msgstr "_Выйсці" + +#: gajim/conversation_textview.py:436 +#, python-format +msgid "_Actions for \"%s\"" +msgstr "_Дзеянні для \"%s\"" + +#: gajim/conversation_textview.py:450 +msgid "Read _Wikipedia Article" +msgstr "Прачытаць артыкул у _Вікіпедыі" + +#: gajim/conversation_textview.py:455 +msgid "Look it up in _Dictionary" +msgstr "Шукаць у _слоўніку" + +#: gajim/conversation_textview.py:472 +#, python-format +msgid "Dictionary URL is missing an \"%s\" and it is not WIKTIONARY" +msgstr "У адрасе слоўніка не хапае \"%s\", і гэта не Вікі-слоўнік" + +#: gajim/conversation_textview.py:486 +#, python-format +msgid "Web Search URL is missing an \"%s\"" +msgstr "У адрасе пошуку ў Сеціве не хапае \"%s\"" + +#: gajim/conversation_textview.py:489 +msgid "Web _Search for it" +msgstr "_Шукаць у Сеціве" + +#: gajim/conversation_textview.py:495 +msgid "Open as _Link" +msgstr "Адкрыць _спасылку" + +#: gajim/conversation_textview.py:770 +#, fuzzy +msgid "Invalid URL" +msgstr "Няправільны JID" + +#: gajim/conversation_textview.py:860 +msgid "" +"Message corrected. Original message:\n" +"{}" +msgstr "" + +#: gajim/conversation_textview.py:1031 +#, fuzzy +msgid "Not encrypted" +msgstr "Не пачатая" + +#: gajim/conversation_textview.py:1034 +#, python-format +msgid "Encrypted (%s)" +msgstr "" + +#: gajim/conversation_textview.py:1141 gajim/gtk/history.py:618 +#, python-format +msgid "Subject: %s\n" +msgstr "Тэма: %s\n" + +#: gajim/conversation_textview.py:1250 +#, fuzzy +msgid "Received" +msgstr "Атрымана %s" + +#: gajim/conversation_textview.py:1272 +msgid "?Message state:Read" +msgstr "" + +#: gajim/groupchat_control.py:352 +#, fuzzy, python-format +msgid "Send File (max. %s MiB)…" +msgstr "Захаваць файл як..." + +#: gajim/groupchat_control.py:497 +#, fuzzy, python-format +msgid "%s has been invited to this group chat" +msgstr "%(who)s пакараў %(nick)s: %(reason)s" + +#: gajim/groupchat_control.py:512 gajim/dialog_messages.py:31 +#: gajim/dialog_messages.py:36 gajim/gtk/single_message.py:238 +#, fuzzy +msgid "Invalid XMPP Address" +msgstr "Няправільны файл" + +#: gajim/groupchat_control.py:575 +#, fuzzy +msgid "Loading avatar failed" +msgstr "Памылка адпраўкі прыватнага паведамлення" + +#: gajim/groupchat_control.py:595 +#, fuzzy, python-format +msgid "Avatar upload failed: %s" +msgstr "Памылка абнаўлення vCard" + +#: gajim/groupchat_control.py:598 +#, fuzzy +msgid "Avatar upload successful" +msgstr "Памылка абнаўлення vCard" + +#: gajim/groupchat_control.py:616 +#, fuzzy, python-format +msgid "Kick %s" +msgstr "Пакаранне %s" + +#: gajim/groupchat_control.py:625 +#, fuzzy, python-format +msgid "Ban %s" +msgstr "Чорны спіс" + +#: gajim/groupchat_control.py:684 +msgid "Insert Nickname" +msgstr "Уставіць мянушку" + +#: gajim/groupchat_control.py:775 gajim/groupchat_control.py:776 +#, fuzzy +msgid "Voice Request" +msgstr "Запыт на перадачу файла" + +#: gajim/groupchat_control.py:777 +#, python-format +msgid "%(nick)s from %(room_name)s requests voice" +msgstr "" + +#: gajim/groupchat_control.py:781 +msgid "_Approve" +msgstr "" + +#: gajim/groupchat_control.py:1007 +#, fuzzy, python-format +msgid "%(nick)s has set the subject to %(subject)s" +msgstr "%(nick)s пакараны: %(reason)s" + +#: gajim/groupchat_control.py:1023 +msgid "Group chat now shows unavailable members" +msgstr "" + +#: gajim/groupchat_control.py:1026 +#, fuzzy +msgid "Group chat now does not show unavailable members" +msgstr "Такой групавой размовы няма." + +#: gajim/groupchat_control.py:1030 +msgid "A setting not related to privacy has been changed" +msgstr "" + +#: gajim/groupchat_control.py:1037 gajim/groupchat_control.py:1197 +#, fuzzy +msgid "Conversations are stored on the server" +msgstr "Вы не злучаны з серверам" + +#: gajim/groupchat_control.py:1040 +#, fuzzy +msgid "Conversations are not stored on the server" +msgstr "Звесткі аб Вас, якія захоўваюцца на серверы" + +#: gajim/groupchat_control.py:1043 +#, fuzzy +msgid "Group chat is now non-anonymous" +msgstr "Групавыя размовы" + +#: gajim/groupchat_control.py:1047 +#, fuzzy +msgid "Group chat is now semi-anonymous" +msgstr "Фарбаванае паведамленне ў групавой размове" + +#: gajim/groupchat_control.py:1051 +#, fuzzy +msgid "Group chat is now fully anonymous" +msgstr "Групавыя размовы" + +#: gajim/groupchat_control.py:1101 +#, python-format +msgid "Ping? (%s)" +msgstr "" + +#: gajim/groupchat_control.py:1104 +#, python-format +msgid "Pong! (%(nick)s %(delay)s s.)" +msgstr "" + +#: gajim/groupchat_control.py:1188 +#, fuzzy, python-format +msgid "You (%s) joined the group chat" +msgstr "%s далучыўся да групавой размовы" + +#: gajim/groupchat_control.py:1193 +msgid "Any participant is allowed to see your full XMPP Address" +msgstr "" + +#: gajim/groupchat_control.py:1201 +#, fuzzy +msgid "The server has assigned or modified your nickname in this group chat" +msgstr "Змяніць м_янушку" + +#: gajim/groupchat_control.py:1211 +#, fuzzy +msgid "A new group chat has been created" +msgstr "Новы рахунак паспяхова створаны" + +#: gajim/groupchat_control.py:1215 +#, fuzzy +msgid "Failed to Configure Group Chat" +msgstr "Сысці з групавых размоў" + +#: gajim/groupchat_control.py:1274 gajim/groupchat_control.py:1304 +#: gajim/groupchat_control.py:1332 gajim/groupchat_control.py:1391 +#, python-brace-format +msgid " by {actor}" +msgstr "" + +#: gajim/groupchat_control.py:1277 +#, python-brace-format +msgid "** Your Affiliation has been set to {affiliation}{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1283 +#, python-brace-format +msgid "** Affiliation of {nick} has been set to {affiliation}{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1307 +#, fuzzy, python-brace-format +msgid "** Your Role has been set to {role}{actor}{reason}" +msgstr "%(who)s пакараў %(nick)s: %(reason)s" + +#: gajim/groupchat_control.py:1312 +#, fuzzy, python-brace-format +msgid "** Role of {nick} has been set to {role}{actor}{reason}" +msgstr "%(who)s пакараў %(nick)s: %(reason)s" + +#: gajim/groupchat_control.py:1335 +#, fuzzy, python-brace-format +msgid "You have been removed from the group chat{actor}{reason}" +msgstr "%(who)s пакараў %(nick)s: %(reason)s" + +#: gajim/groupchat_control.py:1340 +#, python-brace-format +msgid "You have left due to an error{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1346 +#, python-brace-format +msgid "You have been kicked{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1353 +#, python-brace-format +msgid "You have been banned{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1360 gajim/groupchat_control.py:1423 +#, fuzzy +msgid ": Affiliation changed" +msgstr "Адносіны: " + +#: gajim/groupchat_control.py:1366 gajim/groupchat_control.py:1428 +msgid ": Group chat configuration changed to members-only" +msgstr "" + +#: gajim/groupchat_control.py:1394 +#, fuzzy, python-brace-format +msgid "{nick} has been removed from the group chat{by}{reason}" +msgstr "%(who)s пакараў %(nick)s: %(reason)s" + +#: gajim/groupchat_control.py:1402 +#, python-brace-format +msgid "{nick} has left due to an error{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1408 +#, fuzzy, python-brace-format +msgid "{nick} has been kicked{actor}{reason}" +msgstr "%(nick)s пакараны: %(reason)s" + +#: gajim/groupchat_control.py:1416 +#, fuzzy, python-brace-format +msgid "{nick} has been banned{actor}{reason}" +msgstr "Для %(nick)s забаронена казанне: %(reason)s" + +#: gajim/groupchat_control.py:1433 +#, python-brace-format +msgid "{nick} has left{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1451 +#, python-format +msgid "%s has joined the group chat" +msgstr "%s далучыўся да групавой размовы" + +#: gajim/groupchat_control.py:1463 +#, fuzzy +msgid "Failed to Join Group Chat" +msgstr "Немагчыма ўвайсці ў групавую размову" + +#: gajim/groupchat_control.py:1469 +#, fuzzy +msgid "Failed to Create Group Chat" +msgstr "Сысці з групавых размоў" + +#: gajim/groupchat_control.py:1485 +#, fuzzy +msgid "Group chat has been destroyed" +msgstr "Аўтарызацыя забраная" + +#: gajim/groupchat_control.py:1490 +#, fuzzy, python-format +msgid "You can join this group chat instead: xmpp:%s?join" +msgstr "%s далучыўся да групавой размовы" + +#: gajim/groupchat_control.py:1672 +#, fuzzy +msgid "Leave Group Chat" +msgstr "Сысці з групавых размоў" + +#: gajim/groupchat_control.py:1673 +#, fuzzy +msgid "Are you sure you want to leave this group chat?" +msgstr "Вы сапраўды хочаце сысці з групавой размовы \"%s\"?" + +#: gajim/groupchat_control.py:1674 +#, fuzzy, python-format +msgid "If you close this window, you will leave '%s'." +msgstr "Калі Вы закрыеце гэтае вакно, Вы выйдзеце з гэтай групавой размовы." + +#: gajim/message_window.py:365 +#, fuzzy +msgid "Close Tabs" +msgstr "Ад_правіць і закрыць" + +#: gajim/message_window.py:366 +#, fuzzy +msgid "You are about to close several tabs" +msgstr "Вы не злучаны з серверам" + +#: gajim/message_window.py:367 +#, fuzzy +msgid "Do you really want to close all of them?" +msgstr "Вы сапраўды хочаце выдаліць выбранае паведамленне?" + +#: gajim/message_window.py:526 +#, fuzzy +msgid "?Noun:Chats" +msgstr "Групавыя размовы" + +#: gajim/message_window.py:530 gajim/data/gui/preferences.ui:155 +#, fuzzy +msgid "Group Chats" +msgstr "_Групавая размова" + +#: gajim/message_window.py:534 +msgid "Private Chats" +msgstr "Прыватныя размовы" + +#: gajim/message_window.py:540 +msgid "Messages" +msgstr "Паведамленні" + +#: gajim/dialog_messages.py:37 +#, fuzzy, python-format +msgid "" +"It is not possible to send a message to %s. This XMPP Address is not valid." +msgstr "Немагчыма адправіць пусты файл" + +#: gajim/dialog_messages.py:42 +#, fuzzy +msgid "Unread Events" +msgstr "Нягледжаныя падзеі" + +#: gajim/dialog_messages.py:43 +#, fuzzy +msgid "Read or acknowledge all pending events before removing this account." +msgstr "Прагледзьце нягледжаныя падзеі перад выдаленнем гэтага рахунка." + +#: gajim/dialog_messages.py:48 +#, fuzzy +msgid "Invalid Form" +msgstr "Няправільны элемент" + +#: gajim/dialog_messages.py:49 +#, fuzzy +msgid "The form is not filled correctly." +msgstr "Jabber ID групавой размовы ўтрымлівае няправільныя знакі." + +#: gajim/dialog_messages.py:53 +#, fuzzy +msgid "No Connection Available" +msgstr "Няма злучэння" + +#: gajim/dialog_messages.py:54 +msgid "Your message can not be sent until you are connected." +msgstr "Вы не можаце адпраўляць паведамленні без злучэння." + +#: gajim/dialog_messages.py:58 +msgid "XMPP Address Already in List" +msgstr "" + +#: gajim/dialog_messages.py:59 +#, fuzzy +msgid "" +"The XMPP Address you entered is already in the list. Please choose another " +"one." +msgstr "Гэтая назва ўжо скарыстаная для іншага рахунка. Выберыце іншую назву." + +#: gajim/dialog_messages.py:64 +#, fuzzy +msgid "Invalid Answer" +msgstr "Няправільны адказ" + +#: gajim/dialog_messages.py:65 +#, fuzzy, python-format +msgid "Transport %(name)s answered wrongly to register request: %(error)s" +msgstr "Транспарт %s некарэктна адказаў, каб зарэгістраваць запыт: %s" + +#: gajim/dialog_messages.py:70 +#, fuzzy +msgid "Wrong Custom Hostname" +msgstr "Адмысловы вузел / порт" + +#: gajim/dialog_messages.py:71 +#, fuzzy, python-format +msgid "Custom hostname \"%s\" is wrong. It will be ignored." +msgstr "Адмысловы вузел / порт" + +#: gajim/dialog_messages.py:75 +#, fuzzy +msgid "Registration Succeeded" +msgstr "Зарэгістравацца на %s" + +#: gajim/dialog_messages.py:76 +#, fuzzy, python-format +msgid "Registration with agent %s succeeded." +msgstr "Зарэгістравацца на %s" + +#: gajim/dialog_messages.py:80 +#, fuzzy +msgid "Registration Failed" +msgstr "Памылка злучэння" + +#: gajim/dialog_messages.py:81 +#, python-format +msgid "" +"Registration with agent %(agent)s failed with error %(error)s: %(error_msg)s" +msgstr "" + +#: gajim/dialog_messages.py:86 +msgid "GStreamer Error" +msgstr "" + +#: gajim/dialog_messages.py:87 +#, fuzzy, python-format +msgid "" +"Error: %(error)s\n" +"Debug: %(debug)s" +msgstr "Памылка: %s" + +#: gajim/dialog_messages.py:91 +#, fuzzy +msgid "Wrong Host" +msgstr "Няправільны вузел" + +#: gajim/dialog_messages.py:92 +msgid "Invalid local address? :-O" +msgstr "" + +#: gajim/dialog_messages.py:96 +#, fuzzy +msgid "Avahi Error" +msgstr "Памылка Avahi" + +#: gajim/dialog_messages.py:97 +#, python-format +msgid "" +"%s\n" +"Link-local messaging might not work properly." +msgstr "" +"%s\n" +"Мясцовыя паведамленні могуць не працаваць." + +#: gajim/dialog_messages.py:101 +#, fuzzy +msgid "Could not Open File" +msgstr "Немагчыма загрузіць малюнак" + +#: gajim/command_system/mapping.py:169 gajim/command_system/mapping.py:179 +#: gajim/command_system/mapping.py:199 +#, fuzzy +msgid "Missing arguments" +msgstr "Не хапае аргумента \"contact_jid\"" + +#: gajim/command_system/mapping.py:266 +#, fuzzy +msgid "Too many arguments" +msgstr "Не хапае аргумента \"contact_jid\"" + +#: gajim/command_system/implementation/middleware.py:76 +msgid "Error during command execution!" +msgstr "" + +#: gajim/command_system/implementation/execute.py:60 +msgid "Execute expression inside a shell, show output" +msgstr "" + +#: gajim/command_system/implementation/execute.py:74 +msgid "" +"Command disabled. This command can be enabled by setting " +"'command_system_execute' to True in ACE (Advanced Configuration Editor)." +msgstr "" + +#: gajim/command_system/implementation/execute.py:125 +msgid "Execute expression inside a shell, send output" +msgstr "" + +#: gajim/command_system/implementation/standard.py:52 +msgid "" +"Show help on a given command or a list of available commands if -a is given" +msgstr "" + +#: gajim/command_system/implementation/standard.py:81 +#, fuzzy +msgid "Send a message to the contact" +msgstr "Карыстанне: /%s, хавае кнопкі размовы." + +#: gajim/command_system/implementation/standard.py:86 +msgid "Send action (in the third person) to the current chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:91 +msgid "Show logged messages which mention given text" +msgstr "" + +#: gajim/command_system/implementation/standard.py:96 +#, fuzzy, python-format +msgid "%s: Nothing found" +msgstr "%s не знойдзены" + +#: gajim/command_system/implementation/standard.py:102 +msgid "Limit must be an integer" +msgstr "" + +#: gajim/command_system/implementation/standard.py:127 +msgid "" +"\n" +" Set the current status\n" +"\n" +" Status can be given as one of the following values:\n" +" online, away, chat, xa, dnd.\n" +" " +msgstr "" + +#: gajim/command_system/implementation/standard.py:145 +msgid "Set the current status to away" +msgstr "" + +#: gajim/command_system/implementation/standard.py:148 +#: gajim/common/helpers.py:200 gajim/common/modules/adhoc_commands.py:122 +msgid "Away" +msgstr "Сышоў" + +#: gajim/command_system/implementation/standard.py:159 +msgid "Set the current status to online" +msgstr "" + +#: gajim/command_system/implementation/standard.py:162 +#, fuzzy +msgid "Available" +msgstr "_Тут" + +#: gajim/command_system/implementation/standard.py:173 +msgid "Send a disco info request" +msgstr "" + +#: gajim/command_system/implementation/standard.py:192 +#: gajim/command_system/implementation/standard.py:273 +#, fuzzy +msgid "Clear the text window" +msgstr "Карыстанне: /%s, прыбірае тэкст у вакне." + +#: gajim/command_system/implementation/standard.py:197 +#: gajim/command_system/implementation/standard.py:425 +#, fuzzy +msgid "Send a ping to the contact" +msgstr "Адправіць файл чалавеку" + +#: gajim/command_system/implementation/standard.py:201 +#: gajim/command_system/implementation/standard.py:429 +msgid "Command is not supported for zeroconf accounts" +msgstr "" + +#: gajim/command_system/implementation/standard.py:205 +msgid "Send DTMF sequence through an open voice chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:208 +#, fuzzy +msgid "No open voice chats with the contact" +msgstr "Пстрыкніце, каб праглядзець былыя размовы з гэтым чалавекам" + +#: gajim/command_system/implementation/standard.py:211 +#, python-format +msgid "%s is not a valid tone" +msgstr "" + +#: gajim/command_system/implementation/standard.py:218 +msgid "Toggle Voice Chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:221 +#, fuzzy +msgid "Voice chats are not available" +msgstr "Няма злучэння" + +#: gajim/command_system/implementation/standard.py:228 +msgid "Toggle Video Chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:231 +#, fuzzy +msgid "Video chats are not available" +msgstr "Няма злучэння" + +#: gajim/command_system/implementation/standard.py:238 +#, fuzzy +msgid "Send a message to the contact that will attract their attention" +msgstr "Карыстанне: /%s, хавае кнопкі размовы." + +#: gajim/command_system/implementation/standard.py:278 +#, fuzzy +msgid "Change your nickname in a group chat" +msgstr "Змяніць м_янушку" + +#: gajim/command_system/implementation/standard.py:283 +#, fuzzy +msgid "Invalid nickname" +msgstr "Няправільнае імя карыстальніка" + +#: gajim/command_system/implementation/standard.py:290 +#, fuzzy +msgid "Open a private chat window with a specified participant" +msgstr "" +"Карыстанне: /%s <мянушка>, адкрывае вакно прыватнай размовы з чалавекам." + +#: gajim/command_system/implementation/standard.py:296 +#: gajim/command_system/implementation/standard.py:306 +#: gajim/command_system/implementation/standard.py:360 +#: gajim/command_system/implementation/standard.py:373 +#: gajim/command_system/implementation/standard.py:385 +#, fuzzy +msgid "Nickname not found" +msgstr "Мянушка не знойдзеная: %s" + +#: gajim/command_system/implementation/standard.py:299 +#, fuzzy +msgid "" +"Open a private chat window with a specified participant and send him a " +"message" +msgstr "" +"Карыстанне: /%s <мянушка>, адкрывае вакно прыватнай размовы з чалавекам." + +#: gajim/command_system/implementation/standard.py:309 +#, fuzzy +msgid "Display or change a group chat topic" +msgstr "Пытацца пацверджання закрыцця групавой размовы." + +#: gajim/command_system/implementation/standard.py:318 +msgid "Invite a user to a group chat for a reason" +msgstr "" + +#: gajim/command_system/implementation/standard.py:325 +#, fuzzy +msgid "Join a group chat given by an XMPP Address" +msgstr "Удзельнічаць у _групавой размове" + +#: gajim/command_system/implementation/standard.py:335 +msgid "" +"Leave the group chat, optionally giving a reason, and close tab or window" +msgstr "" + +#: gajim/command_system/implementation/standard.py:341 +msgid "" +"\n" +" Ban user by a nick or a JID from a groupchat\n" +"\n" +" If given nickname is not found it will be treated as a JID.\n" +" " +msgstr "" + +#: gajim/command_system/implementation/standard.py:357 +#, fuzzy +msgid "Kick user from group chat by nickname" +msgstr "Вы не ўвайшлі ў пакой групавой размовы." + +#: gajim/command_system/implementation/standard.py:366 +msgid "" +"Set participant role in group chat.\n" +" Role can be given as one of the following values:\n" +" moderator, participant, visitor, none" +msgstr "" + +#: gajim/command_system/implementation/standard.py:371 +#, fuzzy +msgid "Invalid role given" +msgstr "Няправільнае імя карыстальніка" + +#: gajim/command_system/implementation/standard.py:378 +msgid "" +"Set participant affiliation in group chat.\n" +" Affiliation can be given as one of the following values:\n" +" owner, admin, member, outcast, none" +msgstr "" + +#: gajim/command_system/implementation/standard.py:383 +#, fuzzy +msgid "Invalid affiliation given" +msgstr "Адносіны: " + +#: gajim/command_system/implementation/standard.py:393 +#, fuzzy +msgid "Display names of all group chat participants" +msgstr "Карыстанне: /%s, хавае кнопкі групавой размовы." + +#: gajim/command_system/implementation/standard.py:415 +msgid "Forbid a participant to send you public or private messages" +msgstr "" + +#: gajim/command_system/implementation/standard.py:420 +msgid "Allow a participant to send you public or private messages" +msgstr "" + +#: gajim/command_system/implementation/standard.py:432 +#, fuzzy +msgid "Unknown nickname" +msgstr "_Пасля мянушкі:" + +#: gajim/command_system/implementation/custom.py:114 +msgid "The same as using a doc-string, except it supports translation" +msgstr "" + +#: gajim/gtk/ssl_error_dialog.py:36 gajim/data/gui/ssl_error_dialog.ui:16 +#, fuzzy +msgid "SSL Certificate Verification Error" +msgstr "Дадаць асабістае нагадванне для %s" + +#: gajim/gtk/ssl_error_dialog.py:55 +#, python-format +msgid "" +"There was an error while attempting to verify the SSL certificate of your " +"XMPP server (%s)." +msgstr "" + +#: gajim/gtk/ssl_error_dialog.py:58 +#, python-format +msgid "Unknown SSL error '%s'" +msgstr "" + +#: gajim/gtk/avatar_selector.py:84 +msgid "Select a picture or drop it here" +msgstr "" + +#: gajim/gtk/status_change.py:62 gajim/gtk/preferences.py:627 +#: gajim/gtk/preferences.py:655 +msgid "Status Message" +msgstr "Паведамленне аб змене стану" + +#: gajim/gtk/status_change.py:330 +#, fuzzy +msgid "No activity" +msgstr "Актывізаваны" + +#: gajim/gtk/status_change.py:370 gajim/gtk/status_change.py:383 +#: gajim/gtk/status_change.py:488 +#, fuzzy +msgid "No mood selected" +msgstr "Ключ не выбраны" + +#: gajim/gtk/status_change.py:382 +msgid "No mood" +msgstr "" + +#: gajim/gtk/status_change.py:439 +msgid "Overwrite" +msgstr "" + +#: gajim/gtk/status_change.py:440 +#, fuzzy +msgid "Overwrite Status Message?" +msgstr "Паведамленне аб змене стану" + +#: gajim/gtk/status_change.py:441 +#, fuzzy +msgid "This name is already in use. Do you want to overwrite this preset?" +msgstr "Гэтая назва ўжо скарыстаная для іншага рахунка. Выберыце іншую назву." + +#: gajim/gtk/status_change.py:445 gajim/plugins/gui.py:292 +msgid "_Overwrite" +msgstr "" + +#: gajim/gtk/status_change.py:453 +#, fuzzy +msgid "Status Preset" +msgstr "Паведамленне аб змене стану" + +#: gajim/gtk/status_change.py:454 +#, fuzzy +msgid "Save status as preset" +msgstr "Захаваць тлумачэнне..." + +#: gajim/gtk/status_change.py:455 +#, fuzzy +msgid "Please assign a name to this status message preset" +msgstr "Вызначце назву гэтага паведамлення аб змене стану" + +#: gajim/gtk/status_change.py:458 gajim/data/gui/profile.ui:336 +#, fuzzy +msgid "_Save" +msgstr "Мае " + +#: gajim/gtk/status_change.py:460 +#, fuzzy +msgid "New Status" +msgstr "Стан" + +#: gajim/gtk/advanced_config.py:46 gajim/gtk/advanced_config.py:144 +msgid "Activated" +msgstr "Актывізаваны" + +#: gajim/gtk/advanced_config.py:47 +msgid "Deactivated" +msgstr "Неактывізаваны" + +#: gajim/gtk/advanced_config.py:52 +msgid "?config type:Boolean" +msgstr "" + +#: gajim/gtk/advanced_config.py:53 +msgid "?config type:Integer" +msgstr "" + +#: gajim/gtk/advanced_config.py:54 +msgid "?config type:Text" +msgstr "" + +#: gajim/gtk/advanced_config.py:65 +#, fuzzy +msgid "Advanced Configuration Editor (ACE)" +msgstr "Адмысловы рэдактар настаўленняў" + +#: gajim/gtk/advanced_config.py:80 +#, fuzzy +msgid "?config:Preference Name" +msgstr "Назва ўласцівасці" + +#: gajim/gtk/advanced_config.py:91 +#, fuzzy +msgid "?config:Value" +msgstr "_Працягнуць" + +#: gajim/gtk/advanced_config.py:100 +msgid "?config:Type" +msgstr "" + +#: gajim/gtk/advanced_config.py:133 +#, fuzzy +msgid "?config description:None" +msgstr "?Запыт (на падпіску):Няма" + +#: gajim/gtk/preferences.py:63 gajim/data/gui/shortcuts_window.ui:31 +msgid "Preferences" +msgstr "Уласцівасці" + +#: gajim/gtk/preferences.py:185 +msgid "Detached contact list with detached chats" +msgstr "" + +#: gajim/gtk/preferences.py:186 +msgid "Detached contact list with single chat" +msgstr "" + +#: gajim/gtk/preferences.py:187 +msgid "Single window for everything" +msgstr "" + +#: gajim/gtk/preferences.py:188 +msgid "Detached contact list with chats grouped by account" +msgstr "" + +#: gajim/gtk/preferences.py:189 +msgid "Detached contact list with chats grouped by type" +msgstr "" + +#: gajim/gtk/preferences.py:193 gajim/data/gui/mam_preferences.ui:14 +#, fuzzy +msgid "Always" +msgstr "Сышоў" + +#: gajim/gtk/preferences.py:194 gajim/data/gui/mam_preferences.ui:22 +#, fuzzy +msgid "Never" +msgstr "_Ніколі" + +#: gajim/gtk/preferences.py:195 +#, fuzzy +msgid "Restore last state" +msgstr "Апошняе паведамленне: %s" + +#: gajim/gtk/preferences.py:199 +#, fuzzy +msgid "Top" +msgstr "Да" + +#: gajim/gtk/preferences.py:200 +msgid "Bottom" +msgstr "" + +#: gajim/gtk/preferences.py:201 +msgid "Left" +msgstr "" + +#: gajim/gtk/preferences.py:202 +#, fuzzy +msgid "Right" +msgstr "восем" + +#: gajim/gtk/preferences.py:207 +msgid "Window Layout" +msgstr "" + +#: gajim/gtk/preferences.py:214 +#, fuzzy +msgid "Contact List on Startup" +msgstr "Паказаць _галоўнае вакно" + +#: gajim/gtk/preferences.py:218 +#, fuzzy +msgid "Show contact list when starting Gajim" +msgstr "Паказаць _галоўнае вакно" + +#: gajim/gtk/preferences.py:221 +msgid "Quit on Close" +msgstr "" + +#: gajim/gtk/preferences.py:224 +#, fuzzy +msgid "Quit when closing contact list" +msgstr "Паказаць _адлучаных людзей" + +#: gajim/gtk/preferences.py:227 +#, fuzzy +msgid "Tab Position" +msgstr "Пазіцыя:" + +#: gajim/gtk/preferences.py:231 +#, fuzzy +msgid "Placement of chat window tabs" +msgstr "закрыў вакно / картку размовы" + +#: gajim/gtk/preferences.py:247 +#, fuzzy +msgid "Merge Accounts" +msgstr "Аб'яднаныя рахункі" + +#: gajim/gtk/preferences.py:253 +#, fuzzy +msgid "Enable Metacontacts" +msgstr "Змяніць імя чалавека" + +#: gajim/gtk/preferences.py:258 +#, fuzzy +msgid "Show Avatars" +msgstr "Здольнасці сервера" + +#: gajim/gtk/preferences.py:264 gajim/gtk/preferences.py:353 +#, fuzzy +msgid "Show Status Message" +msgstr "Паведамленне аб змене стану" + +#: gajim/gtk/preferences.py:270 gajim/gtk/preferences.py:411 +#, fuzzy +msgid "Sort Contacts by Status" +msgstr "_Упарадкаваць людзей па стане" + +#: gajim/gtk/preferences.py:276 +#, fuzzy +msgid "Show Mood" +msgstr "Вызначыць MOTD" + +#: gajim/gtk/preferences.py:281 +#, fuzzy +msgid "Show Activity" +msgstr "Актывізаваны" + +#: gajim/gtk/preferences.py:286 +#, fuzzy +msgid "Show Tune" +msgstr "Здольнасці сервера" + +#: gajim/gtk/preferences.py:323 +msgid "Needs gspell to be installed" +msgstr "" + +#: gajim/gtk/preferences.py:327 +msgid "Spell Checking" +msgstr "" + +#: gajim/gtk/preferences.py:335 +#, fuzzy +msgid "Message Receipts (✔)" +msgstr "змест паведамлення" + +#: gajim/gtk/preferences.py:338 +msgid "Add a checkmark to received messages" +msgstr "" + +#: gajim/gtk/preferences.py:341 +#, fuzzy +msgid "XHTML Formatting" +msgstr "Пстрыкніце, каб уставіць сымболік (Alt+M)" + +#: gajim/gtk/preferences.py:344 +msgid "Render XHTML styles (colors, etc.) of incoming messages" +msgstr "" + +#: gajim/gtk/preferences.py:348 +#, fuzzy +msgid "Show Send Message Button" +msgstr "Адправіць паведамленне" + +#: gajim/gtk/preferences.py:358 +#, fuzzy +msgid "Show Chat State In Tabs" +msgstr "Паказваць кнопку закрыцця на картцы?" + +#: gajim/gtk/preferences.py:361 +msgid "Show the contact’s chat state (e.g. typing) in the chat’s tab" +msgstr "" + +#: gajim/gtk/preferences.py:365 +#, fuzzy +msgid "Show Chat State In Banner" +msgstr "Паказваць _малюнкі ў галоўным вакне" + +#: gajim/gtk/preferences.py:368 +msgid "Show the contact’s chat state (e.g. typing) in the chats tab’s banner" +msgstr "" + +#: gajim/gtk/preferences.py:372 +#, fuzzy +msgid "Display Chat State In Contact List" +msgstr "_Паказваць нагадванні стану размовы:" + +#: gajim/gtk/preferences.py:375 +#, fuzzy +msgid "Show the contact’s chat state (e.g. typing) in the contact list" +msgstr "Паказваць кнопку закрыцця на картцы?" + +#: gajim/gtk/preferences.py:406 +#, fuzzy +msgid "Show Subject" +msgstr "Тэма" + +#: gajim/gtk/preferences.py:417 +msgid "Default Sync Threshold" +msgstr "" + +#: gajim/gtk/preferences.py:420 +#, fuzzy +msgid "Default for new public group chats" +msgstr "Сысці з групавых размоў" + +#: gajim/gtk/preferences.py:424 +msgid "Show Joined / Left" +msgstr "" + +#: gajim/gtk/preferences.py:427 gajim/gtk/preferences.py:438 +#, fuzzy +msgid "Default for new group chats" +msgstr "Сысці з групавых размоў" + +#: gajim/gtk/preferences.py:428 gajim/gtk/preferences.py:439 +#: gajim/gtk/accounts.py:715 gajim/gtk/accounts.py:727 +#: gajim/gtk/accounts.py:740 +#, fuzzy +msgid "Reset" +msgstr "_Прысутнасць" + +#: gajim/gtk/preferences.py:429 gajim/gtk/preferences.py:440 +#: gajim/gtk/accounts.py:728 +msgid "Reset all group chats to the current default value" +msgstr "" + +#: gajim/gtk/preferences.py:435 gajim/gtk/groupchat_settings.py:48 +#, fuzzy +msgid "Show Status Changes" +msgstr "_Пісаць у журнал паведамленні аб змене стану чалавека" + +#: gajim/gtk/preferences.py:468 +#, fuzzy +msgid "Hide icon" +msgstr "Схаваць гэтае меню" + +#: gajim/gtk/preferences.py:469 +#, fuzzy +msgid "Only show for pending events" +msgstr "Паказаць нягледжаныя _падзеі" + +#: gajim/gtk/preferences.py:470 +msgid "Always show icon" +msgstr "" + +#: gajim/gtk/preferences.py:475 +#, fuzzy +msgid "Notification Area Icon" +msgstr "_Значка панэлі паведамленняў" + +#: gajim/gtk/preferences.py:482 +#, fuzzy +msgid "Open Events" +msgstr "Асабістыя звесткі" + +#: gajim/gtk/preferences.py:485 +#, fuzzy +msgid "Open events instead of showing a notification in the contact list" +msgstr "Я хачу дадаць Вас у свой кантактны ліст." + +#: gajim/gtk/preferences.py:489 gajim/gtk/preferences.py:512 +#, fuzzy +msgid "Show Notifications" +msgstr "Змяненне рахунка" + +#: gajim/gtk/preferences.py:517 +#, fuzzy +msgid "Notifications When Away" +msgstr "Змяненне рахунка" + +#: gajim/gtk/preferences.py:520 +#, fuzzy +msgid "Show notifications even if you are Away, Busy, etc." +msgstr "_Значка панэлі паведамленняў" + +#: gajim/gtk/preferences.py:525 gajim/data/gui/preferences.ui:271 +#, fuzzy +msgid "Notifications" +msgstr "Змяненне рахунка" + +#: gajim/gtk/preferences.py:534 +#, fuzzy +msgid "Play Sounds" +msgstr "Граць _гук" + +#: gajim/gtk/preferences.py:537 +msgid "Play sounds to notify about events" +msgstr "" + +#: gajim/gtk/preferences.py:542 +msgid "Sounds When Away" +msgstr "" + +#: gajim/gtk/preferences.py:545 +msgid "Play sounds even when you are Away, Busy, etc." +msgstr "" + +#: gajim/gtk/preferences.py:560 +#, fuzzy +msgid "Sign In" +msgstr "_Злучыцца" + +#: gajim/gtk/preferences.py:565 +#, fuzzy +msgid "Sign Out" +msgstr "З_ысці" + +#: gajim/gtk/preferences.py:570 +#, fuzzy +msgid "Status Change" +msgstr "_Пісаць у журнал паведамленні аб змене стану чалавека" + +#: gajim/gtk/preferences.py:583 gajim/gtk/preferences.py:614 +#, fuzzy +msgid "Auto Away" +msgstr "Сышоў" + +#: gajim/gtk/preferences.py:585 +msgid "Change your status to 'Away' after a certain amount of time" +msgstr "" + +#: gajim/gtk/preferences.py:590 gajim/gtk/preferences.py:642 +#, fuzzy +msgid "Auto Not Available" +msgstr "Мяне няма" + +#: gajim/gtk/preferences.py:592 +msgid "Change your status to 'Not Available' after a certain amount of time" +msgstr "" + +#: gajim/gtk/preferences.py:619 +msgid "Time Until Away" +msgstr "" + +#: gajim/gtk/preferences.py:622 gajim/gtk/preferences.py:650 +#, fuzzy +msgid "Minutes until your status gets changed" +msgstr "_Пісаць у журнал паведамленні аб змене стану чалавека" + +#: gajim/gtk/preferences.py:633 gajim/gtk/preferences.py:828 +#, fuzzy +msgid "Auto Away Settings" +msgstr "Памылка злучэння" + +#: gajim/gtk/preferences.py:647 +#, fuzzy +msgid "Time Until Not Available" +msgstr "Мяне няма" + +#: gajim/gtk/preferences.py:661 +#, fuzzy +msgid "Auto Extended Away Settings" +msgstr "Пашыраны рэжым адсутнасці" + +#: gajim/gtk/preferences.py:672 gajim/gtk/accounts.py:680 +#, fuzzy +msgid "Enabled" +msgstr "Уключыць" + +#: gajim/gtk/preferences.py:673 gajim/data/gui/vcard_information_window.ui:123 +#, fuzzy +msgid "System" +msgstr "Адмысловы" + +#: gajim/gtk/preferences.py:678 +#, fuzzy +msgid "Dark Theme" +msgstr "Gajim - %s" + +#: gajim/gtk/preferences.py:685 +#, fuzzy +msgid "Theme" +msgstr "Тэма" + +#: gajim/gtk/preferences.py:731 +msgid "Convert ASCII Emojis" +msgstr "" + +#: gajim/gtk/preferences.py:734 +msgid "Typing short codes like :-) will display emojis" +msgstr "" + +#: gajim/gtk/preferences.py:741 +#, fuzzy +msgid "Emoji Theme" +msgstr "Gajim - %s" + +#: gajim/gtk/preferences.py:744 +msgid "Choose from various emoji styles" +msgstr "" + +#: gajim/gtk/preferences.py:774 +#, fuzzy +msgid "Status Icon Set" +msgstr "Прадвызначаны набор _значак стану:" + +#: gajim/gtk/preferences.py:781 +#, fuzzy +msgid "Use Transport Icons" +msgstr "Ужыць _значкі транспартаў" + +#: gajim/gtk/preferences.py:784 +msgid "Display protocol-specific status icons (ICQ, ..)" +msgstr "" + +#: gajim/gtk/preferences.py:801 gajim/gtk/preferences.py:817 +msgid "Use Stun Server" +msgstr "" + +#: gajim/gtk/preferences.py:803 +msgid "Helps to establish calls through firewalls" +msgstr "" + +#: gajim/gtk/preferences.py:822 +#, fuzzy +msgid "STUN Server" +msgstr "Сервер:" + +#: gajim/gtk/preferences.py:848 +#, fuzzy +msgid "Audio Input Device" +msgstr "Стандартныя паведамленні стану" + +#: gajim/gtk/preferences.py:851 +msgid "Select your audio input (e.g. microphone)" +msgstr "" + +#: gajim/gtk/preferences.py:855 +#, fuzzy +msgid "Audio Output Device" +msgstr "Стандартныя паведамленні стану" + +#: gajim/gtk/preferences.py:858 +msgid "Select an audio output (e.g. speakers, headphones)" +msgstr "" + +#: gajim/gtk/preferences.py:890 gajim/gtk/preferences.py:898 +msgid "Default" +msgstr "Прадвызначана" + +#: gajim/gtk/preferences.py:906 +#, fuzzy +msgid "Video Input Device" +msgstr "Стандартныя паведамленні стану" + +#: gajim/gtk/preferences.py:910 +msgid "Select your video input device (e.g. webcam, screen capture)" +msgstr "" + +#: gajim/gtk/preferences.py:915 +#, fuzzy +msgid "Video Framerate" +msgstr "Прыватная размова" + +#: gajim/gtk/preferences.py:921 +#, fuzzy +msgid "Video Resolution" +msgstr "Прыватная размова" + +#: gajim/gtk/preferences.py:927 +msgid "Show My Video Stream" +msgstr "" + +#: gajim/gtk/preferences.py:930 +msgid "Show your own video stream in calls" +msgstr "" + +#: gajim/gtk/preferences.py:933 gajim/data/gui/video_preview.ui:51 +msgid "Live Preview" +msgstr "" + +#: gajim/gtk/preferences.py:935 +msgid "Show a live preview to test your video source" +msgstr "" + +#: gajim/gtk/preferences.py:975 +#, fuzzy +msgid "Global Proxy" +msgstr "Проксі:" + +#: gajim/gtk/preferences.py:980 gajim/gtk/account_wizard.py:732 +#: gajim/gtk/accounts.py:790 +#, fuzzy +msgid "No Proxy" +msgstr "Проксі:" + +#: gajim/gtk/preferences.py:985 +msgid "Use System Keyring" +msgstr "" + +#: gajim/gtk/preferences.py:988 +msgid "Use your system’s keyring to store passwords" +msgstr "" + +#: gajim/gtk/preferences.py:994 +msgid "Check For Updates" +msgstr "" + +#: gajim/gtk/preferences.py:997 gajim/common/config.py:241 +msgid "Check for Gajim updates periodically" +msgstr "" + +#: gajim/gtk/preferences.py:1033 +#, fuzzy +msgid "Debug Logging" +msgstr "_Далучыцца" + +#: gajim/gtk/message_input.py:48 +#, fuzzy +msgid "Write a message…" +msgstr "Новае прыватнае паведамленне" + +#: gajim/gtk/settings.py:400 gajim/gtk/settings.py:758 +#: gajim/gtk/settings.py:784 gajim/gtk/settings.py:793 +#: gajim/gtk/settings.py:802 gajim/gtk/settings.py:811 +msgid "?switch:On" +msgstr "" + +#: gajim/gtk/settings.py:400 gajim/gtk/settings.py:758 +#: gajim/gtk/settings.py:784 gajim/gtk/settings.py:793 +#: gajim/gtk/settings.py:802 gajim/gtk/settings.py:811 +msgid "?switch:Off" +msgstr "" + +#: gajim/gtk/settings.py:538 gajim/gtk/manage_sounds.py:46 +#: gajim/gtk/filechoosers.py:89 gajim/gtk/filechoosers.py:140 +#: gajim/gtk/filechoosers.py:147 +msgid "All files" +msgstr "Усе файлы" + +#: gajim/gtk/settings.py:547 +#, fuzzy +msgid "Clear File" +msgstr "Вечар" + +#: gajim/gtk/settings.py:745 +#, fuzzy +msgid "Adjust to Status" +msgstr "_Адпаведна стану" + +#: gajim/gtk/history_sync.py:111 gajim/gtk/history_sync.py:193 +#, fuzzy +msgid "Synchronise History" +msgstr "Паказаць _адлучаных людзей" + +#: gajim/gtk/history_sync.py:205 +#, fuzzy +msgid "How far back should the chat history be synchronised?" +msgstr "Што Вы хочаце зрабіць?" + +#: gajim/gtk/history_sync.py:210 +msgid "One Month" +msgstr "" + +#: gajim/gtk/history_sync.py:211 +msgid "Three Months" +msgstr "" + +#: gajim/gtk/history_sync.py:212 +msgid "One Year" +msgstr "" + +#: gajim/gtk/history_sync.py:213 +msgid "Everything" +msgstr "" + +#: gajim/gtk/history_sync.py:241 gajim/gtk/account_wizard.py:276 +#: gajim/gtk/account_wizard.py:295 gajim/gtk/account_wizard.py:312 +#, fuzzy +msgid "Connecting..." +msgstr "Злучэнне" + +#: gajim/gtk/history_sync.py:253 +#, fuzzy, python-format +msgid "%(received)s of %(max)s" +msgstr "Перадача файла %(filename)s ад %(name)s спыненая." + +#: gajim/gtk/history_sync.py:257 +#, fuzzy, python-format +msgid "Downloaded %s messages" +msgstr "%d нечытанае паведамленне" + +#: gajim/gtk/history_sync.py:277 +#, python-format +msgid "" +"Finished synchronising chat history:\n" +"%s messages downloaded" +msgstr "" + +#: gajim/gtk/history_sync.py:281 +msgid "Gajim is fully synchronised with the archive." +msgstr "" + +#: gajim/gtk/history_sync.py:284 +msgid "There is already a synchronisation in progress. Please try again later." +msgstr "" + +#: gajim/gtk/pep_config.py:49 +#, fuzzy, python-format +msgid "PEP Service Configuration (%s)" +msgstr "Настаўленні пакоя" + +#: gajim/gtk/pep_config.py:74 +#, fuzzy +msgid "Service" +msgstr "Сервер" + +#: gajim/gtk/pep_config.py:105 +msgid "PEP node was not removed" +msgstr "" + +#: gajim/gtk/pep_config.py:106 +#, python-format +msgid "" +"PEP node %(node)s was not removed:\n" +"%(message)s" +msgstr "" + +#: gajim/gtk/pep_config.py:153 +#, fuzzy, python-format +msgid "Configure %s" +msgstr "_Працягнуць" + +#: gajim/gtk/mam_preferences.py:42 +#, python-format +msgid "Archiving Preferences for %s" +msgstr "" + +#: gajim/gtk/mam_preferences.py:101 +#, fuzzy +msgid "Archiving Preferences Saved" +msgstr "_Настаўленні" + +#: gajim/gtk/mam_preferences.py:102 +#, fuzzy +msgid "Your archiving preferences have successfully been saved." +msgstr "_Настаўленні" + +#: gajim/gtk/mam_preferences.py:109 +#, fuzzy +msgid "Archiving Preferences Error" +msgstr "_Настаўленні" + +#: gajim/gtk/mam_preferences.py:110 +#, fuzzy +msgid "Error received: {}" +msgstr "Вы атрымалі новае паведамленне:" + +#: gajim/gtk/statusicon.py:198 +#, fuzzy +msgid "_Change Status Message…" +msgstr "З_мяніць паведамленне аб стане" + +#: gajim/gtk/statusicon.py:250 +#, python-format +msgid "using account %s" +msgstr "выкарыстоўвае рахунак %s" + +#: gajim/gtk/statusicon.py:263 +#, fuzzy +msgid "Hide _Contact List" +msgstr "Людзі" + +#: gajim/gtk/statusicon.py:268 gajim/data/gui/application_menu.ui:42 +#, fuzzy +msgid "Show _Contact List" +msgstr "Паказаць _адлучаных людзей" + +#: gajim/gtk/statusicon.py:276 +msgid "Hide this menu" +msgstr "Схаваць гэтае меню" + +#: gajim/gtk/start_chat.py:57 +#, fuzzy +msgid "Start / Join Chat" +msgstr "Пачаць размову" + +#: gajim/gtk/start_chat.py:285 gajim/gtk/start_chat.py:370 +msgid "You can not join a group chat unless you are connected." +msgstr "" +"Вы не можаце ўдзельнічаць у групавой размове, не злучыўшыся з серверам." + +#: gajim/gtk/start_chat.py:634 gajim/gtk/groupchat_join.py:40 +msgid "Join Group Chat" +msgstr "Удзельнічаць у групавой размове" + +#: gajim/gtk/start_chat.py:715 +msgid "" +"Search for group chats globally\n" +"(press Return to start search)" +msgstr "" + +#: gajim/gtk/start_chat.py:808 +#, fuzzy, python-format +msgid "%s group chats found" +msgstr "%s не знойдзены" + +#: gajim/gtk/notification.py:184 gajim/gtk/notification.py:205 +#: gajim/gtk/notification.py:219 gajim/gtk/notification.py:272 +#: gajim/common/connection_handlers_events.py:234 +msgid "New Private Message" +msgstr "Новае прыватнае паведамленне" + +#: gajim/gtk/notification.py:185 gajim/gtk/notification.py:206 +#: gajim/gtk/notification.py:220 gajim/common/connection_handlers_events.py:328 +#, fuzzy +msgid "New Group Chat Message" +msgstr "Новая групавая размова" + +#: gajim/gtk/notification.py:186 gajim/gtk/notification.py:212 +#: gajim/gtk/notification.py:289 gajim/common/connection_handlers_events.py:418 +msgid "Contact Changed Status" +msgstr "Чалавек змяніў стан" + +#: gajim/gtk/notification.py:200 +#, fuzzy +msgid "Open" +msgstr "OpenPGP: " + +#: gajim/gtk/notification.py:209 +msgid "Mark as Read" +msgstr "" + +#: gajim/gtk/notification.py:273 +msgid "New E-mail" +msgstr "Новы ліст" + +#: gajim/gtk/video_preview.py:116 +msgid "OpenGL accelerated" +msgstr "" + +#: gajim/gtk/video_preview.py:120 +msgid "Not accelerated" +msgstr "" + +#: gajim/gtk/video_preview.py:127 +msgid "Something went wrong. Video feature disabled." +msgstr "" + +#: gajim/gtk/groupchat_invite.py:304 +#, fuzzy +msgid "Invite New Contact" +msgstr "Людзі" + +#: gajim/gtk/themes.py:37 +#, fuzzy +msgid "Chatstate Composing" +msgstr "Піша" + +#: gajim/gtk/themes.py:41 +#, fuzzy +msgid "Chatstate Inactive" +msgstr "Неактыўны" + +#: gajim/gtk/themes.py:45 +msgid "Chatstate Gone" +msgstr "" + +#: gajim/gtk/themes.py:49 +#, fuzzy +msgid "Chatstate Paused" +msgstr "Змяніць стан" + +#: gajim/gtk/themes.py:53 +#, fuzzy +msgid "Group Chat Tab New Directed Message" +msgstr "" +"Накіраваны MUC\n" +"Паведамленні" + +#: gajim/gtk/themes.py:57 +#, fuzzy +msgid "Group Chat Tab New Message" +msgstr "Новае паведамленне" + +#: gajim/gtk/themes.py:61 +msgid "Banner Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:65 +msgid "Banner Background Color" +msgstr "" + +#: gajim/gtk/themes.py:69 +msgid "Banner Font" +msgstr "" + +#: gajim/gtk/themes.py:73 +msgid "Account Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:77 +msgid "Account Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:81 +#, fuzzy +msgid "Account Row Font" +msgstr "Рахунак" + +#: gajim/gtk/themes.py:85 +msgid "Group Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:89 +msgid "Group Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:93 +#, fuzzy +msgid "Group Row Font" +msgstr "Група" + +#: gajim/gtk/themes.py:97 +msgid "Contact Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:101 +msgid "Contact Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:105 +#, fuzzy +msgid "Contact Row Font" +msgstr "_Паказваць падзею ў галоўным вакне" + +#: gajim/gtk/themes.py:109 +#, fuzzy +msgid "Conversation Font" +msgstr "Журнал размоў" + +#: gajim/gtk/themes.py:113 +#, fuzzy +msgid "Incoming Nickname Color" +msgstr "Няправільнае імя карыстальніка" + +#: gajim/gtk/themes.py:117 +#, fuzzy +msgid "Outgoing Nickname Color" +msgstr "Змена мянушкі" + +#: gajim/gtk/themes.py:121 +#, fuzzy +msgid "Incoming Message Text Color" +msgstr "_Уваходнае паведамленне:" + +#: gajim/gtk/themes.py:125 +#, fuzzy +msgid "Incoming Message Text Font" +msgstr "_Уваходнае паведамленне:" + +#: gajim/gtk/themes.py:129 +#, fuzzy +msgid "Outgoing Message Text Color" +msgstr "_Выходнае паведамленне:" + +#: gajim/gtk/themes.py:133 +#, fuzzy +msgid "Outgoing Message Text Font" +msgstr "_Выходнае паведамленне:" + +#: gajim/gtk/themes.py:137 +#, fuzzy +msgid "Status Message Color" +msgstr "Паведамленне аб змене стану" + +#: gajim/gtk/themes.py:141 +#, fuzzy +msgid "Status Message Font" +msgstr "Паведамленне аб змене стану" + +#: gajim/gtk/themes.py:145 +#, fuzzy +msgid "URL Color" +msgstr "Колер" + +#: gajim/gtk/themes.py:149 +#, fuzzy +msgid "Highlight Message Color" +msgstr "_Фарбаваць няправільна напісаныя словы" + +#: gajim/gtk/themes.py:153 +#, fuzzy +msgid "Message Correcting" +msgstr "Паведамленні" + +#: gajim/gtk/themes.py:157 +#, fuzzy +msgid "Contact Disconnected Background" +msgstr "Чалавек адлучыўся" + +#: gajim/gtk/themes.py:161 +#, fuzzy +msgid "Contact Connected Background " +msgstr "Чалавек далучыўся" + +#: gajim/gtk/themes.py:164 +#, fuzzy +msgid "Status Online Color" +msgstr "Паведамленне аб змене стану" + +#: gajim/gtk/themes.py:167 +#, fuzzy +msgid "Status Away Color" +msgstr "Паведамленне аб змене стану" + +#: gajim/gtk/themes.py:170 +#, fuzzy +msgid "Status DND Color" +msgstr "Паведамленне аб змене стану" + +#: gajim/gtk/themes.py:173 +#, fuzzy +msgid "Status Offline Color" +msgstr "Паведамленне аб змене стану" + +#: gajim/gtk/themes.py:187 +#, fuzzy +msgid "Gajim Themes" +msgstr "Gajim - %s" + +#: gajim/gtk/themes.py:223 gajim/gtk/themes.py:230 +#, fuzzy +msgid "Invalid Name" +msgstr "Няправільнае імя карыстальніка" + +#: gajim/gtk/themes.py:224 +msgid "Name default is not allowed" +msgstr "" + +#: gajim/gtk/themes.py:231 +#, fuzzy +msgid "Spaces are not allowed" +msgstr "Такая мянушка не дазволеная: %s" + +#: gajim/gtk/themes.py:356 +#, fuzzy +msgid "Do you want to delete this theme?" +msgstr "Вы сапраўды хочаце выдаліць выбранае паведамленне?" + +#: gajim/gtk/themes.py:358 +#, fuzzy +msgid "" +"This is the theme you are currently using.\n" +"Do you want to delete this theme?" +msgstr "Гэтая назва ўжо скарыстаная для іншага рахунка. Выберыце іншую назву." + +#: gajim/gtk/themes.py:363 +#, fuzzy +msgid "Delete Theme" +msgstr "Актыўны" + +#: gajim/gtk/themes.py:390 +#, fuzzy +msgid "Remove Setting" +msgstr "Памылка злучэння" + +#: gajim/gtk/filetransfer_progress.py:62 +#, fuzzy +msgid "Upload Failed" +msgstr "Захаваць файл як..." + +#: gajim/gtk/filetransfer_progress.py:113 +#, fuzzy, python-format +msgid "%(progress)s of %(total)s" +msgstr "Перадача файла %(filename)s ад %(name)s спыненая." + +#: gajim/gtk/filetransfer_progress.py:130 +#, python-format +msgid "%(minutes)s min %(seconds)s sec" +msgstr "" + +#: gajim/gtk/add_contact.py:32 +#, fuzzy +msgid "GG Number" +msgstr "Нумар GG:" + +#: gajim/gtk/add_contact.py:33 +#, fuzzy +msgid "ICQ Number" +msgstr "Нумар ICQ:" + +#: gajim/gtk/add_contact.py:42 +#, fuzzy +msgid "Add Contact" +msgstr "_Дадаць чалавека..." + +#: gajim/gtk/add_contact.py:260 +#, fuzzy, python-format +msgid "%s Missing" +msgstr "%s МіБ" + +#: gajim/gtk/add_contact.py:261 +#, fuzzy, python-format +msgid "You must supply the %s of the new contact." +msgstr "Вы павінны ўвесці пароль для новага рахунка." + +#: gajim/gtk/add_contact.py:288 gajim/gtk/add_contact.py:294 +#: gajim/gtk/add_contact.py:299 +msgid "Invalid User ID" +msgstr "Няправільны ID карыстальніка" + +#: gajim/gtk/add_contact.py:295 +msgid "The user ID must not contain a resource." +msgstr "ID карыстальніка не павінны вызначаць рэсурс." + +#: gajim/gtk/add_contact.py:300 +#, fuzzy +msgid "You cannot add yourself to your contact list." +msgstr "Я хачу дадаць Вас у мой кантактны ліст." + +#: gajim/gtk/add_contact.py:305 +#, fuzzy +msgid "Account Offline" +msgstr "Адключаны" + +#: gajim/gtk/add_contact.py:306 +msgid "Your account must be online to add new contacts." +msgstr "" + +#: gajim/gtk/add_contact.py:322 +#, fuzzy +msgid "Contact Already in Contact List" +msgstr "Чалавек ужо ёсць у кантактным лісце" + +#: gajim/gtk/add_contact.py:323 +#, fuzzy +msgid "This contact is already in your contact list." +msgstr "Гэты чалавек ужо ёсць у у кантактным лісце." + +#: gajim/gtk/add_contact.py:381 gajim/gtk/add_contact.py:419 +msgid "User ID:" +msgstr "ID карыстальніка:" + +#: gajim/gtk/add_contact.py:486 +#, fuzzy +msgid "Error while adding transport contact" +msgstr "Памылка дадання сервіса. %s" + +#: gajim/gtk/add_contact.py:487 +#, python-format +msgid "" +"This error occurred while adding a contact for transport %(transport)s:\n" +"\n" +"%(error)s" +msgstr "" + +#: gajim/gtk/account_wizard.py:61 gajim/data/gui/account_wizard.ui:631 +#, fuzzy +msgid "Sign Up" +msgstr "_Злучыцца" + +#: gajim/gtk/account_wizard.py:63 +#, fuzzy +msgid "Connect" +msgstr "Злучэнне" + +#: gajim/gtk/account_wizard.py:64 gajim/gtk/adhoc.py:102 +msgid "Next" +msgstr "" + +#: gajim/gtk/account_wizard.py:65 +#, fuzzy +msgid "Log In" +msgstr "_Увайсці" + +#: gajim/gtk/account_wizard.py:67 gajim/gtk/remove_account.py:44 +#: gajim/gtk/change_password.py:45 gajim/gtk/accounts.py:384 +#, fuzzy +msgid "Back" +msgstr "Хутка буду" + +#: gajim/gtk/account_wizard.py:80 +msgid "An error occurred during account creation" +msgstr "Адбылася памылка ў часе стварэння рахунка" + +#: gajim/gtk/account_wizard.py:166 +#, fuzzy +msgid "Creating Account..." +msgstr "Выдаленне рахунка %s" + +#: gajim/gtk/account_wizard.py:167 +#, fuzzy +msgid "Trying to create account..." +msgstr "Пстрыкніце, каб змяніць пароль рахунка" + +#: gajim/gtk/account_wizard.py:277 gajim/gtk/account_wizard.py:296 +#: gajim/gtk/account_wizard.py:313 +#, fuzzy +msgid "Connecting to server..." +msgstr "Злучэнне" + +#: gajim/gtk/account_wizard.py:367 gajim/gtk/account_wizard.py:368 +msgid "Anonymous login not supported" +msgstr "" + +#: gajim/gtk/account_wizard.py:369 +#, fuzzy +msgid "This server does not support anonymous login." +msgstr "Ваш сервер не падтрымлівае Vcard" + +#: gajim/gtk/account_wizard.py:372 gajim/common/client.py:284 +#: gajim/common/const.py:958 gajim/common/const.py:959 +#: gajim/common/const.py:960 gajim/common/const.py:963 +#, fuzzy +msgid "Authentication failed" +msgstr "Памылка аўтарызацыі з \"%s\"" + +#: gajim/gtk/account_wizard.py:384 gajim/gtk/account_wizard.py:385 +#, fuzzy +msgid "Signup not allowed" +msgstr "Такая мянушка не дазволеная: %s" + +#: gajim/gtk/account_wizard.py:386 +#, fuzzy +msgid "This server does not allow signup." +msgstr "Ваш сервер не падтрымлівае Vcard" + +#: gajim/gtk/account_wizard.py:395 gajim/gtk/account_wizard.py:432 +#: gajim/gtk/account_wizard.py:433 gajim/gtk/account_wizard.py:520 +#: gajim/gtk/groupchat_config.py:132 gajim/gtk/groupchat_config.py:399 +#: gajim/gtk/history.py:591 gajim/gtk/search.py:336 +msgid "Error" +msgstr "" + +#: gajim/gtk/account_wizard.py:402 gajim/gtk/account_wizard.py:403 +#, fuzzy +msgid "Connection failed" +msgstr "Памылка злучэння" + +#: gajim/gtk/account_wizard.py:404 +msgid "" +"Gajim was not able to reach the server. Make sure your XMPP address is " +"correct." +msgstr "" + +#: gajim/gtk/account_wizard.py:459 +#, fuzzy +msgid "Account is being created" +msgstr "Рахунак \"%s\" злучаны з серверам" + +#: gajim/gtk/account_wizard.py:518 +msgid "The server rejected the registration without an error message" +msgstr "" + +#: gajim/gtk/account_wizard.py:530 gajim/gtk/accounts.py:572 +#, fuzzy +msgid "Add Account" +msgstr "_Дадаць чалавека..." + +#: gajim/gtk/account_wizard.py:612 gajim/gtk/groupchat_creation.py:138 +#, fuzzy +msgid "Invalid Address" +msgstr "Няправільны файл" + +#: gajim/gtk/account_wizard.py:636 +#, fuzzy +msgid "Create New Account" +msgstr "Стварыць новы допіс" + +#: gajim/gtk/account_wizard.py:712 +#, fuzzy +msgid "Advanced settings" +msgstr "Адмысловыя дзеянні" + +#: gajim/gtk/account_wizard.py:774 +#, fuzzy +msgid "Invalid domain name" +msgstr "Няправільная назва рахунка" + +#: gajim/gtk/account_wizard.py:791 +#, fuzzy +msgid "Must be a port number" +msgstr "Адмысловы порт павінны быць нумарам порта." + +#: gajim/gtk/account_wizard.py:798 +msgid "Port must be a number between 0 and 65535" +msgstr "" + +#: gajim/gtk/account_wizard.py:814 +#, fuzzy +msgid "Security Warning" +msgstr "Забарона казання для %s" + +#: gajim/gtk/account_wizard.py:833 +#, fuzzy, python-format +msgid "Unknown TLS error '%s'" +msgstr "Настаўленні пакоя" + +#: gajim/gtk/account_wizard.py:868 gajim/gtk/account_wizard.py:871 +#, fuzzy +msgid "Create Account" +msgstr "Выдаленне рахунка %s" + +#: gajim/gtk/account_wizard.py:922 +msgid "Redirect" +msgstr "" + +#: gajim/gtk/account_wizard.py:932 +#, fuzzy +msgid "Register on the Website" +msgstr "Зарэгістравацца на %s" + +#: gajim/gtk/account_wizard.py:943 +#, fuzzy +msgid "Account Added" +msgstr "Рахунак" + +#: gajim/gtk/account_wizard.py:944 +msgid "Account has been added successfully" +msgstr "Рахунак паспяхова дададзены" + +#: gajim/gtk/groupchat_invitation.py:57 +#, fuzzy +msgid "" +"has invited you to a group chat.\n" +"Do you want to join?" +msgstr "Выберыце групавыя размовы, з якіх Вы хочаце сысці" + +#: gajim/gtk/groupchat_invitation.py:75 gajim/gtk/discovery.py:1706 +#: gajim/gtk/groupchat_join.py:68 gajim/data/gui/groupchat_control.ui:899 +#: gajim/data/gui/groupchat_control.ui:991 +#: gajim/data/gui/start_chat_dialog.ui:314 +msgid "_Join" +msgstr "_Далучыцца" + +#: gajim/gtk/tooltips.py:215 +#, python-format +msgid "%(owner_or_admin_or_member)s of this group chat" +msgstr "%(owner_or_admin_or_member)s гэтай групавой размовы" + +#: gajim/gtk/tooltips.py:474 +#, fuzzy +msgid "Connected" +msgstr "Злучэнне" + +#: gajim/gtk/tooltips.py:476 +#, fuzzy +msgid "Disconnected" +msgstr "Чалавек адлучыўся" + +#: gajim/gtk/tooltips.py:530 +#, fuzzy +msgid "File Name: " +msgstr "Файл: %s" + +#: gajim/gtk/tooltips.py:533 +#, fuzzy +msgid "?Noun:Download" +msgstr "Сцягнуць" + +#: gajim/gtk/tooltips.py:534 gajim/gtk/filetransfer.py:747 +msgid "Sender: " +msgstr "Адпраўнік:" + +#: gajim/gtk/tooltips.py:539 +#, fuzzy +msgid "?Noun:Upload" +msgstr "Загрузіць" + +#: gajim/gtk/tooltips.py:540 gajim/gtk/filetransfer.py:240 +#: gajim/gtk/filetransfer.py:749 +msgid "Recipient: " +msgstr "Атрымальнік: " + +#: gajim/gtk/tooltips.py:546 +#, fuzzy +msgid "?transfer type:Type: " +msgstr "Перадача файла спыненая" + +#: gajim/gtk/tooltips.py:552 +#, fuzzy +msgid "?transfer status:Transferred: " +msgstr "?transfer status:Прыпыненая" + +#: gajim/gtk/tooltips.py:555 +#, fuzzy +msgid "?transfer status:Status: " +msgstr "?transfer status:Прыпыненая" + +#: gajim/gtk/tooltips.py:557 +#, fuzzy +msgid "Description: " +msgstr "Апісанне: %s" + +#: gajim/gtk/tooltips.py:581 +#, fuzzy +msgid "?transfer status:Aborted" +msgstr "?transfer status:Прыпыненая" + +#: gajim/gtk/tooltips.py:583 +#, fuzzy +msgid "?transfer status:Completed" +msgstr "?transfer status:Прыпыненая" + +#: gajim/gtk/tooltips.py:585 +msgid "?transfer status:Paused" +msgstr "?transfer status:Прыпыненая" + +#: gajim/gtk/tooltips.py:588 +#, fuzzy +msgid "?transfer status:Stalled" +msgstr "?transfer status:Прыпыненая" + +#: gajim/gtk/tooltips.py:592 +#, fuzzy +msgid "?transfer status:Transferring" +msgstr "?transfer status:Прыпыненая" + +#: gajim/gtk/tooltips.py:593 gajim/gtk/tooltips.py:594 +#, fuzzy +msgid "?transfer status:Not started" +msgstr "?transfer status:Прыпыненая" + +#: gajim/gtk/remove_account.py:42 gajim/gtk/accounts.py:341 +#, fuzzy +msgid "Remove" +msgstr "Вы_даліць" + +#: gajim/gtk/remove_account.py:49 +#, fuzzy +msgid "Removing Account..." +msgstr "Выдаленне рахунка %s" + +#: gajim/gtk/remove_account.py:50 +msgid "Trying to remove account..." +msgstr "" + +#: gajim/gtk/remove_account.py:53 gajim/gtk/remove_account.py:54 +#, fuzzy +msgid "Account Removed" +msgstr "Рахунак" + +#: gajim/gtk/remove_account.py:56 +#, fuzzy +msgid "Your account has has been removed successfully." +msgstr "Новы рахунак паспяхова створаны" + +#: gajim/gtk/remove_account.py:59 gajim/gtk/remove_account.py:60 +#, fuzzy +msgid "Account Removal Failed" +msgstr "Рахункаў няма" + +#: gajim/gtk/remove_account.py:171 gajim/gtk/remove_account.py:173 +#, fuzzy +msgid "Remove Account" +msgstr "Выдаленне рахунка %s" + +#: gajim/gtk/remove_account.py:180 +#, fuzzy +msgid "This will remove your account from Gajim." +msgstr "Выдаліць рахунак _толькі для Gajim" + +#: gajim/gtk/remove_account.py:189 +#, python-format +msgid "Do you want to unregister your account on %s as well?" +msgstr "" + +#: gajim/gtk/remove_account.py:198 +msgid "_Unregister account from service" +msgstr "" + +#: gajim/gtk/remove_account.py:217 +#, fuzzy +msgid "Account has to be connected" +msgstr "Рахунак \"%s\" злучаны з серверам" + +#: gajim/gtk/filetransfer.py:91 +msgid "File" +msgstr "Файл" + +#: gajim/gtk/filetransfer.py:108 +msgid "Time" +msgstr "Час" + +#: gajim/gtk/filetransfer.py:121 gajim/data/gui/filetransfer_progress.ui:110 +msgid "Progress" +msgstr "Ступень выкананасці" + +#: gajim/gtk/filetransfer.py:228 +#, fuzzy, python-format +msgid "File name: %s" +msgstr "Файл: %s" + +#: gajim/gtk/filetransfer.py:229 gajim/gtk/filetransfer.py:470 +#, python-format +msgid "Size: %s" +msgstr "Памер: %s" + +#: gajim/gtk/filetransfer.py:239 +#, python-format +msgid "Sender: %s" +msgstr "Адпраўнік: %s" + +#: gajim/gtk/filetransfer.py:251 +#, python-format +msgid "Saved in: %s" +msgstr "Захаваць у: %s" + +#: gajim/gtk/filetransfer.py:256 +msgid "File transfer completed" +msgstr "Перадача файла скончаная" + +#: gajim/gtk/filetransfer.py:276 gajim/gtk/filetransfer.py:285 +#, fuzzy +msgid "Connection with peer could not be established." +msgstr "Немагчыма ўсталяваць злучэнне з атрымальнікам." + +#: gajim/gtk/filetransfer.py:293 +#, python-format +msgid "Filename: %s" +msgstr "Файл: %s" + +#: gajim/gtk/filetransfer.py:294 +#, python-format +msgid "Recipient: %s" +msgstr "Атрымальнік: %s" + +#: gajim/gtk/filetransfer.py:296 +#, python-format +msgid "Error message: %s" +msgstr "Памылка: %s" + +#: gajim/gtk/filetransfer.py:335 +#, python-format +msgid "" +"The file %s has been received, but it seems to have been damaged along the " +"way.\n" +"Do you want to download it again?" +msgstr "" + +#: gajim/gtk/filetransfer.py:341 +#, fuzzy +msgid "_Download Again" +msgstr "_Больш не пытацца" + +#: gajim/gtk/filetransfer.py:356 +#, fuzzy +msgid "Gajim can not read this file" +msgstr "Gajim не можа даступіцца да гэтага файла" + +#: gajim/gtk/filetransfer.py:357 +msgid "Another process is using this file." +msgstr "" + +#: gajim/gtk/filetransfer.py:399 +#, fuzzy, python-format +msgid "Cannot overwrite existing file '%s'" +msgstr "Немагчыма перапісаць наяўны файл \"%s\"" + +#: gajim/gtk/filetransfer.py:400 +msgid "" +"A file with this name already exists and you do not have permission to " +"overwrite it." +msgstr "Файл з такой назвай ужо існуе, а Вы не маеце правоў на яго перазапіс." + +#: gajim/gtk/filetransfer.py:424 +#, fuzzy +msgid "File Transfer Conflict" +msgstr "Перадача файла скончаная" + +#: gajim/gtk/filetransfer.py:425 +#, fuzzy +msgid "File already exists" +msgstr "Такі файл ужо ёсць" + +#: gajim/gtk/filetransfer.py:426 +msgid "Resume download or replace file?" +msgstr "" + +#: gajim/gtk/filetransfer.py:430 +#, fuzzy +msgid "Resume _Download" +msgstr "Сцягнуць" + +#: gajim/gtk/filetransfer.py:433 +#, fuzzy +msgid "Replace _File" +msgstr "Вечар" + +#: gajim/gtk/filetransfer.py:443 +#, fuzzy, python-format +msgid "Directory '%s' is not writable" +msgstr "Немагчыма запісваць файлы ў дырэкторыю \"%s\"" + +#: gajim/gtk/filetransfer.py:444 +#, fuzzy +msgid "You do not have permissions to create files in this directory." +msgstr "Вы не маеце права ствараць файлы ў гэтай дырэкторыі." + +#: gajim/gtk/filetransfer.py:467 +#, python-format +msgid "File: %s" +msgstr "Файл: %s" + +#: gajim/gtk/filetransfer.py:473 +#, python-format +msgid "Type: %s" +msgstr "Тып: %s" + +#: gajim/gtk/filetransfer.py:475 +#, python-format +msgid "Description: %s" +msgstr "Апісанне: %s" + +#: gajim/gtk/filetransfer.py:486 +#, fuzzy, python-format +msgid "%s wants to send you a file" +msgstr "%s хоча адправіць Вам файл." + +#: gajim/gtk/filetransfer.py:514 +#, fuzzy +msgid "Checking file…" +msgstr "Адпраўленне профіля..." + +#: gajim/gtk/filetransfer.py:529 +#, fuzzy +msgid "File error" +msgstr "Памылка перадачы файла" + +#: gajim/gtk/filetransfer.py:566 +#, python-format +msgid "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" +msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" + +#: gajim/gtk/filetransfer.py:663 +#, python-format +msgid "(%(filesize_unit)s/s)" +msgstr "(%(filesize_unit)s/с)" + +#: gajim/gtk/filetransfer.py:716 gajim/gtk/filetransfer.py:720 +msgid "Invalid File" +msgstr "Няправільны файл" + +#: gajim/gtk/filetransfer.py:716 +msgid "File: " +msgstr "Файл: " + +#: gajim/gtk/filetransfer.py:721 +msgid "It is not possible to send empty files" +msgstr "Немагчыма адправіць пусты файл" + +#: gajim/gtk/filetransfer.py:1043 +#, fuzzy +msgid "Choose a File to Send…" +msgstr "Выберыце файл..." + +#: gajim/gtk/roster_item_exchange.py:35 +#: gajim/data/gui/roster_item_exchange_window.ui:39 +#, fuzzy +msgid "Contact List Exchange" +msgstr "Чалавек адлучыўся" + +#: gajim/gtk/roster_item_exchange.py:49 +#, fuzzy, python-format +msgid "%s would like to add some contacts to your contact list." +msgstr "Я хачу дадаць Вас у свой кантактны ліст." + +#: gajim/gtk/roster_item_exchange.py:52 +#, fuzzy, python-format +msgid "%s would like to modify some contacts in your contact list." +msgstr "Я хачу дадаць Вас у свой кантактны ліст." + +#: gajim/gtk/roster_item_exchange.py:55 +#, fuzzy, python-format +msgid "%s would like to delete some contacts from your contact list." +msgstr "Я хачу дадаць Вас у свой кантактны ліст." + +#: gajim/gtk/roster_item_exchange.py:71 gajim/gtk/roster_item_exchange.py:130 +#, fuzzy +msgid "Add" +msgstr "Адрас" + +#: gajim/gtk/roster_item_exchange.py:73 gajim/gtk/roster_item_exchange.py:161 +#, fuzzy +msgid "Modify" +msgstr "_Змяніць" + +#: gajim/gtk/roster_item_exchange.py:80 +msgid "JID" +msgstr "JID" + +#: gajim/gtk/roster_item_exchange.py:86 +#, fuzzy +msgid "Groups" +msgstr "Група" + +#: gajim/gtk/roster_item_exchange.py:196 +#, fuzzy, python-format +msgid "%s suggested me to add you to my contact list." +msgstr "Я хачу дадаць Вас у мой кантактны ліст." + +#: gajim/gtk/roster_item_exchange.py:211 +#, fuzzy, python-format +msgid "Added %d contact" +msgid_plural "Added %d contacts" +msgstr[0] "Дадаць _чалавека" +msgstr[1] "Дадаць _чалавека" +msgstr[2] "Дадаць _чалавека" + +#: gajim/gtk/roster_item_exchange.py:253 +#, fuzzy, python-format +msgid "Removed %d contact" +msgid_plural "Removed %d contacts" +msgstr[0] "Выдаліць чалавека з спіса" +msgstr[1] "Выдаліць чалавека з спіса" +msgstr[2] "Выдаліць чалавека з спіса" + +#: gajim/gtk/groupchat_creation.py:45 gajim/data/gui/groupchat_creation.ui:81 +#, fuzzy +msgid "Create Group Chat" +msgstr "Сысці з групавых размоў" + +#: gajim/gtk/groupchat_creation.py:101 gajim/gtk/groupchat_creation.py:103 +msgid " (optional)..." +msgstr "" + +#: gajim/gtk/groupchat_creation.py:186 +#, fuzzy +msgid "Not Connected" +msgstr "Злучэнне" + +#: gajim/gtk/groupchat_creation.py:187 +#, fuzzy +msgid "You have to be connected to create a group chat." +msgstr "Вы не ўвайшлі ў пакой групавой размовы." + +#: gajim/gtk/status_selector.py:121 gajim/gtk/status_selector.py:127 +#, fuzzy, python-format +msgid "Status: %s" +msgstr "Стан: " + +#: gajim/gtk/status_selector.py:125 +#, fuzzy, python-format +msgid "%s (desynced)" +msgstr "Адмысловы" + +#: gajim/gtk/subscription_request.py:35 +msgid "Subscription Request" +msgstr "Запыт падпіскі" + +#: gajim/gtk/subscription_request.py:47 +#, fuzzy, python-format +msgid "Subscription request for account %(account)s from %(jid)s" +msgstr "Запыт увагі на рахунак %s ад %s" + +#: gajim/gtk/subscription_request.py:50 +#, python-format +msgid "Subscription request from %s" +msgstr "Запыт увагі ад %s" + +#: gajim/gtk/single_message.py:51 +#, fuzzy +msgid "Send Single Message" +msgstr "Ад_правіць асобнае паведамленне" + +#: gajim/gtk/single_message.py:101 +#, fuzzy +msgid "(No subject)" +msgstr "тэма" + +#: gajim/gtk/single_message.py:157 +#, python-format +msgid "Single Message using account %s" +msgstr "Асобнае паведамленне для рахунка %s" + +#: gajim/gtk/single_message.py:159 +#, python-format +msgid "Single Message in account %s" +msgstr "Асобнае паведамленне для рахунка %s" + +#: gajim/gtk/single_message.py:161 +msgid "Single Message" +msgstr "Асобнае паведамленне" + +#: gajim/gtk/single_message.py:164 +#, python-format +msgid "Send %s" +msgstr "Адправіць %s" + +#: gajim/gtk/single_message.py:183 +#, python-format +msgid "Received %s" +msgstr "Атрымана %s" + +#: gajim/gtk/single_message.py:205 +#, fuzzy, python-format +msgid "Characters typed: %s" +msgstr "Такая мянушка не дазволеная: %s" + +#: gajim/gtk/single_message.py:210 gajim/gtk/xml_console.py:169 +msgid "Connection not available" +msgstr "Няма злучэння" + +#: gajim/gtk/single_message.py:211 +#, python-format +msgid "Please make sure you are connected with \"%s\"." +msgstr "Праверце злучэнне з \"%s\"." + +#: gajim/gtk/single_message.py:239 +#, fuzzy, python-format +msgid "" +"It is not possible to send a message to %s, this XMPP Address is not valid." +msgstr "Немагчыма адправіць пусты файл" + +#: gajim/gtk/single_message.py:316 +#, python-format +msgid "RE: %s" +msgstr "RE: %s" + +#: gajim/gtk/single_message.py:317 +#, python-format +msgid "%s wrote:\n" +msgstr "%s сказаў:\n" + +#: gajim/gtk/change_password.py:42 +#, fuzzy +msgid "Change" +msgstr "Змяніць м_янушку" + +#: gajim/gtk/change_password.py:51 +#, fuzzy +msgid "Changing Password..." +msgstr "Змяніць пароль" + +#: gajim/gtk/change_password.py:52 +#, fuzzy +msgid "Trying to change password..." +msgstr "Пстрыкніце, каб змяніць пароль рахунка" + +#: gajim/gtk/change_password.py:55 gajim/gtk/change_password.py:56 +#, fuzzy +msgid "Password Changed" +msgstr "Патрабуецца пароль" + +#: gajim/gtk/change_password.py:57 +#, fuzzy +msgid "Your password has successfully been changed." +msgstr "_Настаўленні" + +#: gajim/gtk/change_password.py:60 gajim/gtk/change_password.py:61 +#, fuzzy +msgid "Password Change Failed" +msgstr "Патрабуецца пароль" + +#: gajim/gtk/change_password.py:63 +#, fuzzy +msgid "An error occurred while trying to change your password." +msgstr "Адбылася памылка ў часе стварэння рахунка" + +#: gajim/gtk/change_password.py:145 gajim/gtk/change_password.py:147 +#: gajim/gtk/change_password.py:224 gajim/gtk/accounts.py:994 +msgid "Change Password" +msgstr "Змяніць пароль" + +#: gajim/gtk/change_password.py:154 +#, fuzzy +msgid "Please enter your new password." +msgstr "Стварыць новы допіс" + +#: gajim/gtk/change_password.py:167 +#, fuzzy +msgid "Enter new password..." +msgstr "Увядзіце новы пароль:" + +#: gajim/gtk/change_password.py:176 +#, fuzzy +msgid "Confirm new password..." +msgstr "Змяніць пароль" + +#: gajim/gtk/change_password.py:191 +msgid "Passwords do not match" +msgstr "Паролі розняцца" + +#: gajim/gtk/bookmarks.py:48 +#, fuzzy, python-format +msgid "Bookmarks for %s" +msgstr "_Змясціць у закладках" + +#: gajim/gtk/xml_console.py:95 gajim/gtk/xml_console.py:279 +#, fuzzy +msgid "All Accounts" +msgstr "Рахункі" + +#: gajim/gtk/xml_console.py:170 +#, fuzzy, python-format +msgid "Please make sure you are connected with '%s'." +msgstr "Праверце злучэнне з \"%s\"." + +#: gajim/gtk/xml_console.py:180 +#, fuzzy +msgid "Invalid Node" +msgstr "Няправільны файл" + +#: gajim/gtk/xml_console.py:282 +msgid "Account" +msgstr "Рахунак" + +#: gajim/gtk/xml_console.py:309 gajim/data/gui/xml_console.ui:241 +#, fuzzy +msgid "Filter" +msgstr "Фільтар:" + +#: gajim/gtk/dataform.py:252 gajim/gtk/dataform.py:290 +#, fuzzy +msgid "Required" +msgstr "Патрабуецца пароль" + +#: gajim/gtk/dataform.py:315 +msgid "Yes" +msgstr "" + +#: gajim/gtk/dataform.py:315 +#, fuzzy +msgid "No" +msgstr "Ніякі" + +#: gajim/gtk/dataform.py:701 gajim/gtk/adhoc.py:86 +#: gajim/data/gui/profile.ui:396 +#, fuzzy +msgid "Cancel" +msgstr "_Скасаваць" + +#: gajim/gtk/dataform.py:703 +msgid "Submit" +msgstr "" + +#: gajim/gtk/discovery.py:69 +msgid "This service has not yet responded with detailed information" +msgstr "Гэты сервіс яшчэ не адказаў на запыт падрабязных звестак" + +#: gajim/gtk/discovery.py:70 +#, fuzzy +msgid "" +"This service could not respond with detailed information.\n" +"It is most likely a legacy service or broken." +msgstr "" +"Гэты сервіс не дае падрабязных звестак.\n" +"Хутчэй за ўсё, гэты сервіс састарэлы ці зламаны" + +#: gajim/gtk/discovery.py:126 +msgid "Others" +msgstr "Іншыя" + +#: gajim/gtk/discovery.py:129 gajim/data/gui/shortcuts_window.ui:307 +#, fuzzy +msgid "Group Chat" +msgstr "_Групавая размова" + +#: gajim/gtk/discovery.py:523 +msgid "Without a connection, you can not browse available services" +msgstr "" +"Вы не можаце праглядзець спіс даступных сервісаў, не злучыўшыся з серверам." + +#: gajim/gtk/discovery.py:610 +#, python-format +msgid "Service Discovery using account %s" +msgstr "Пошук сервісаў для рахунка %s" + +#: gajim/gtk/discovery.py:612 +msgid "Service Discovery" +msgstr "Пошук сервісаў" + +#: gajim/gtk/discovery.py:695 +msgid "The service could not be found" +msgstr "Немагчыма знайсці сервіс" + +#: gajim/gtk/discovery.py:696 +msgid "" +"There is no service at the address you entered, or it is not responding. " +"Check the address and try again." +msgstr "" +"Па вызначаным адрасе няма сервісаў, альбо яны не адказваюць на запыты. " +"Праверце адрас і паспрабуйце зноў." + +#: gajim/gtk/discovery.py:703 gajim/gtk/discovery.py:1046 +msgid "The service is not browsable" +msgstr "Немагчыма праглядзець сервіс" + +#: gajim/gtk/discovery.py:704 +msgid "This type of service does not contain any items to browse." +msgstr "Гэты сервіс не ўтрымлівае ў сабе элементаў." + +#: gajim/gtk/discovery.py:742 gajim/gtk/discovery.py:751 +#, fuzzy +msgid "Invalid Server Name" +msgstr "Няправільнае імя карыстальніка" + +#: gajim/gtk/discovery.py:810 +#, fuzzy, python-format +msgid "Browsing %(address)s using account %(account)s" +msgstr "Прагляд %s для рахунка %s" + +#: gajim/gtk/discovery.py:855 +#, fuzzy +msgid "Browse" +msgstr "_Праглядзець" + +#: gajim/gtk/discovery.py:1047 +msgid "This service does not contain any items to browse." +msgstr "Гэты сервіс не ўтрымлівае ў сабе элементаў, якія можна праглядзець." + +#: gajim/gtk/discovery.py:1259 +#, fuzzy +msgid "_Command" +msgstr "Загады: %s" + +#: gajim/gtk/discovery.py:1268 gajim/gtk/discovery.py:1425 +msgid "Re_gister" +msgstr "Зарэ_гістравацца" + +#: gajim/gtk/discovery.py:1275 +#, fuzzy +msgid "Join" +msgstr "_Далучыцца" + +#: gajim/gtk/discovery.py:1281 +msgid "_Search" +msgstr "П_ошук" + +#: gajim/gtk/discovery.py:1423 gajim/data/gui/profile.ui:353 +msgid "_Edit" +msgstr "_Змяніць" + +#: gajim/gtk/discovery.py:1461 +#, fuzzy, python-format +msgid "Scanning %(current)d / %(total)d ..." +msgstr "Пошук у %d / %d.." + +#: gajim/gtk/discovery.py:1660 +msgid "Users" +msgstr "Карыстальнікі" + +#: gajim/gtk/discovery.py:1668 gajim/data/gui/groupchat_info_scrolled.ui:32 +#: gajim/data/gui/filetransfers_send_file_dialog.ui:15 +#: gajim/data/gui/advanced_configuration.ui:82 +msgid "Description" +msgstr "Апісанне" + +#: gajim/gtk/discovery.py:1676 +msgid "Id" +msgstr "Id" + +#: gajim/gtk/discovery.py:1905 +msgid "Subscribed" +msgstr "Падпісаны" + +#: gajim/gtk/discovery.py:1914 +#, fuzzy +msgid "Node" +msgstr "Ніякі" + +#: gajim/gtk/discovery.py:1983 +#, fuzzy +msgid "_New post" +msgstr "Новы допіс" + +#: gajim/gtk/discovery.py:1992 +msgid "_Subscribe" +msgstr "Падп_ісацца" + +#: gajim/gtk/discovery.py:2000 +msgid "_Unsubscribe" +msgstr "_Адпісацца" + +#: gajim/gtk/groupchat_settings.py:43 +msgid "Show Join/Leave" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:53 +#, fuzzy +msgid "Notify on all Messages" +msgstr "Стандартныя паведамленні:" + +#: gajim/gtk/groupchat_settings.py:58 +msgid "Minimize on Close" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:63 +msgid "Minimize When Joining Automatically" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:68 +#, fuzzy +msgid "Send Chat State" +msgstr "Апошняе паведамленне: %s" + +#: gajim/gtk/groupchat_settings.py:74 +#, fuzzy +msgid "Send Chat Markers" +msgstr "Апошняе паведамленне: %s" + +#: gajim/gtk/groupchat_settings.py:77 +msgid "Let others know if you read up to this point" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:80 +msgid "Sync Threshold" +msgstr "" + +#: gajim/gtk/proxies.py:33 +#, fuzzy +msgid "Manage Proxies" +msgstr "Кіраванне профілямі проксі" + +#: gajim/gtk/manage_sounds.py:40 +#, fuzzy +msgid "Manage Sounds" +msgstr "Кіраванне рахункамі" + +#: gajim/gtk/manage_sounds.py:51 +msgid "Wav Sounds" +msgstr "Файлы Wav" + +#: gajim/gtk/manage_sounds.py:85 +#, fuzzy +msgid "Attention Message Received" +msgstr "Атрыманае першае паведамленне" + +#: gajim/gtk/manage_sounds.py:86 +msgid "First Message Received" +msgstr "Атрыманае першае паведамленне" + +#: gajim/gtk/manage_sounds.py:87 +#, fuzzy +msgid "Next Message Received Focused" +msgstr "Атрыманае наступнае паведамленне" + +#: gajim/gtk/manage_sounds.py:88 +#, fuzzy +msgid "Next Message Received Unfocused" +msgstr "Атрыманае наступнае паведамленне" + +#: gajim/gtk/manage_sounds.py:89 +msgid "Contact Connected" +msgstr "Чалавек далучыўся" + +#: gajim/gtk/manage_sounds.py:90 +msgid "Contact Disconnected" +msgstr "Чалавек адлучыўся" + +#: gajim/gtk/manage_sounds.py:91 +msgid "Message Sent" +msgstr "Паведамленне адпраўленае" + +#: gajim/gtk/manage_sounds.py:92 +msgid "Group Chat Message Highlight" +msgstr "Фарбаванае паведамленне ў групавой размове" + +#: gajim/gtk/manage_sounds.py:93 +msgid "Group Chat Message Received" +msgstr "Новае паведамленне ў групавой размове" + +#: gajim/gtk/groupchat_info.py:38 +#, fuzzy +msgid "?Group chat feature:Open" +msgstr "?Роля чалавека:Няма" + +#: gajim/gtk/groupchat_info.py:39 +#, fuzzy +msgid "Anyone can join this group chat" +msgstr "%s далучыўся да групавой размовы" + +#: gajim/gtk/groupchat_info.py:42 +#, fuzzy +msgid "?Group chat feature:Members Only" +msgstr "Фарбаванае паведамленне ў групавой размове" + +#: gajim/gtk/groupchat_info.py:43 +msgid "This group chat is restricted to members only" +msgstr "" + +#: gajim/gtk/groupchat_info.py:47 +#, fuzzy +msgid "?Group chat feature:Not Anonymous" +msgstr "Групавыя размовы" + +#: gajim/gtk/groupchat_info.py:48 +msgid "All other group chat participants can see your XMPP address" +msgstr "" + +#: gajim/gtk/groupchat_info.py:52 +#, fuzzy +msgid "?Group chat feature:Semi-Anonymous" +msgstr "Фарбаванае паведамленне ў групавой размове" + +#: gajim/gtk/groupchat_info.py:53 +msgid "Only moderators can see your XMPP address" +msgstr "" + +#: gajim/gtk/groupchat_info.py:56 +#, fuzzy +msgid "?Group chat feature:Moderated" +msgstr "?Роля чалавека:Няма" + +#: gajim/gtk/groupchat_info.py:57 +msgid "" +"Participants entering this group chat need to request permission to send " +"messages" +msgstr "" + +#: gajim/gtk/groupchat_info.py:61 +#, fuzzy +msgid "?Group chat feature:Not Moderated" +msgstr "Групавыя размовы" + +#: gajim/gtk/groupchat_info.py:62 +msgid "Participants entering this group chat are allowed to send messages" +msgstr "" + +#: gajim/gtk/groupchat_info.py:66 +#, fuzzy +msgid "?Group chat feature:Public" +msgstr "Фарбаванае паведамленне ў групавой размове" + +#: gajim/gtk/groupchat_info.py:67 +msgid "Group chat can be found via search" +msgstr "" + +#: gajim/gtk/groupchat_info.py:70 +#, fuzzy +msgid "?Group chat feature:Hidden" +msgstr "?Роля чалавека:Няма" + +#: gajim/gtk/groupchat_info.py:71 +#, fuzzy +msgid "This group chat can not be found via search" +msgstr "Для гэтай групавой размовы не вызначаная тэма размовы" + +#: gajim/gtk/groupchat_info.py:74 +#, fuzzy +msgid "?Group chat feature:Password Required" +msgstr "Групавыя размовы" + +#: gajim/gtk/groupchat_info.py:75 +msgid "This group chat does require a password upon entry" +msgstr "" + +#: gajim/gtk/groupchat_info.py:79 +#, fuzzy +msgid "?Group chat feature:No Password Required" +msgstr "Групавыя размовы" + +#: gajim/gtk/groupchat_info.py:80 +msgid "This group chat does not require a password upon entry" +msgstr "" + +#: gajim/gtk/groupchat_info.py:84 +#, fuzzy +msgid "?Group chat feature:Persistent" +msgstr "Групавыя размовы" + +#: gajim/gtk/groupchat_info.py:85 +msgid "This group chat persists even if there are no participants" +msgstr "" + +#: gajim/gtk/groupchat_info.py:89 +#, fuzzy +msgid "?Group chat feature:Temporary" +msgstr "?Роля чалавека:Няма" + +#: gajim/gtk/groupchat_info.py:90 +msgid "This group chat will be destroyed once the last participant left" +msgstr "" + +#: gajim/gtk/groupchat_info.py:94 +#, fuzzy +msgid "?Group chat feature:Archiving" +msgstr "Запрашэнне ў групавую размову" + +#: gajim/gtk/groupchat_info.py:95 +#, fuzzy +msgid "Messages are archived on the server" +msgstr "Вы не злучаны з серверам" + +#: gajim/gtk/groupchat_info.py:205 +msgid "Website" +msgstr "" + +#: gajim/gtk/accounts.py:122 +#, fuzzy +msgid "Re-Login" +msgstr "Перадалучыцца?" + +#: gajim/gtk/accounts.py:123 +#, fuzzy +msgid "Re-Login now?" +msgstr "Перадалучыцца?" + +#: gajim/gtk/accounts.py:124 +#, fuzzy +msgid "To apply all changes instantly, you have to re-login." +msgstr "Калі Вы хочаце ўжыць усе зробленыя змены, перадалучыцеся." + +#: gajim/gtk/accounts.py:128 +msgid "_Re-Login" +msgstr "" + +#: gajim/gtk/accounts.py:311 gajim/data/gui/server_info.ui:386 +msgid "Connection" +msgstr "Злучэнне" + +#: gajim/gtk/accounts.py:496 +#, fuzzy +msgid "Please check if Bonjour is installed." +msgstr "Праверце, ці ўсталяваны Avahi." + +#: gajim/gtk/accounts.py:498 +#, fuzzy +msgid "Please check if Avahi is installed." +msgstr "Праверце, ці ўсталяваны Avahi." + +#: gajim/gtk/accounts.py:537 +#, fuzzy +msgid "Disable Account" +msgstr "Няправільная назва рахунка" + +#: gajim/gtk/accounts.py:538 +#, fuzzy, python-format +msgid "Account %s is still connected" +msgstr "Рахунак \"%s\" злучаны з серверам" + +#: gajim/gtk/accounts.py:539 +#, fuzzy +msgid "All chat and group chat windows will be closed." +msgstr "Усе размоўныя вокны закрыюцца. Хочаце працягнуць?" + +#: gajim/gtk/accounts.py:543 +#, fuzzy +msgid "_Disable Account" +msgstr "Няправільная назва рахунка" + +#: gajim/gtk/accounts.py:614 +msgid "Label" +msgstr "" + +#: gajim/gtk/accounts.py:618 gajim/data/gui/groupchat_control.ui:99 +#: gajim/data/gui/chat_control.ui:363 +msgid "Color" +msgstr "Колер" + +#: gajim/gtk/accounts.py:620 +msgid "Recognize your account by color" +msgstr "" + +#: gajim/gtk/accounts.py:622 +msgid "Login" +msgstr "" + +#: gajim/gtk/accounts.py:627 +#, fuzzy +msgid "Import Contacts" +msgstr "Людзі" + +#: gajim/gtk/accounts.py:636 gajim/gtk/accounts.py:865 +#, fuzzy +msgid "Connect on startup" +msgstr "_Злучацца па старце Gajim" + +#: gajim/gtk/accounts.py:640 gajim/gtk/accounts.py:870 +#, fuzzy +msgid "Save conversations for all contacts" +msgstr "Захоўваць _журналы размоў з усімі людзьмі" + +#: gajim/gtk/accounts.py:642 gajim/gtk/accounts.py:872 +msgid "Store conversations on the harddrive" +msgstr "" + +#: gajim/gtk/accounts.py:644 gajim/gtk/accounts.py:874 +#, fuzzy +msgid "Global Status" +msgstr "Усе станы" + +#: gajim/gtk/accounts.py:646 +#, fuzzy +msgid "Synchronise the status of all accounts" +msgstr "Змяніць стан рахунка(ў)" + +#: gajim/gtk/accounts.py:648 +msgid "Remember Last Status" +msgstr "" + +#: gajim/gtk/accounts.py:650 +msgid "Restore status and status message of your last session" +msgstr "" + +#: gajim/gtk/accounts.py:653 +msgid "Use file transfer proxies" +msgstr "Ужыць проксі для перадачы файлаў" + +#: gajim/gtk/accounts.py:670 +#, fuzzy +msgid "Forever" +msgstr "_Ніколі" + +#: gajim/gtk/accounts.py:671 gajim/common/const.py:1110 +msgid "1 Day" +msgstr "" + +#: gajim/gtk/accounts.py:672 gajim/common/const.py:1112 +msgid "1 Week" +msgstr "" + +#: gajim/gtk/accounts.py:673 gajim/common/const.py:1113 +msgid "1 Month" +msgstr "" + +#: gajim/gtk/accounts.py:674 +msgid "3 Months" +msgstr "" + +#: gajim/gtk/accounts.py:675 +msgid "6 Months" +msgstr "" + +#: gajim/gtk/accounts.py:676 +msgid "1 Year" +msgstr "" + +#: gajim/gtk/accounts.py:686 +#, fuzzy +msgid "Idle Time" +msgstr " ад %s" + +#: gajim/gtk/accounts.py:688 +msgid "Disclose the time of your last activity" +msgstr "" + +#: gajim/gtk/accounts.py:690 +msgid "Local System Time" +msgstr "" + +#: gajim/gtk/accounts.py:692 +msgid "Disclose the local system time of the device Gajim runs on" +msgstr "" + +#: gajim/gtk/accounts.py:695 +#, fuzzy +msgid "Client / Operating System" +msgstr "Няправільнае імя карыстальніка" + +#: gajim/gtk/accounts.py:697 +#, fuzzy +msgid "" +"Disclose information about the client and operating system you currently use" +msgstr "" +"Калі гэтая опцыя ўключаная, Gajim далучыцца да гэтай групавой размовы пры " +"запуску" + +#: gajim/gtk/accounts.py:700 +#, fuzzy +msgid "Ignore Unknown Contacts" +msgstr "Людзі" + +#: gajim/gtk/accounts.py:702 +#, fuzzy +msgid "Ignore everything from contacts not in your Roster" +msgstr "_Ігнараваць падзеі ад людзей, якіх няма ў кантактным лісце" + +#: gajim/gtk/accounts.py:705 +#, fuzzy +msgid "Send Message Receipts" +msgstr "Атрыманае першае паведамленне" + +#: gajim/gtk/accounts.py:707 +msgid "Tell your contacts if you received a message" +msgstr "" + +#: gajim/gtk/accounts.py:713 +#, fuzzy +msgid "Default for chats" +msgstr "Вольны для размовы" + +#: gajim/gtk/accounts.py:716 gajim/gtk/accounts.py:741 +msgid "Reset all chats to the current default value" +msgstr "" + +#: gajim/gtk/accounts.py:722 +#, fuzzy +msgid "Send Chatstate in Group Chats" +msgstr "Немагчыма ўвайсці ў групавую размову" + +#: gajim/gtk/accounts.py:725 +#, fuzzy +msgid "Default for group chats" +msgstr "Новая групавая размова" + +#: gajim/gtk/accounts.py:739 +#, fuzzy +msgid "Default for chats and private group chats" +msgstr "%s далучыўся да групавой размовы" + +#: gajim/gtk/accounts.py:747 +#, fuzzy +msgid "Keep Chat History" +msgstr "Нядаўна:" + +#: gajim/gtk/accounts.py:751 +msgid "How long Gajim should keep your chat history" +msgstr "" + +#: gajim/gtk/accounts.py:787 gajim/data/gui/manage_proxies.ui:337 +#, fuzzy +msgid "Proxy" +msgstr "Проксі:" + +#: gajim/gtk/accounts.py:794 gajim/gtk/accounts.py:949 +#: gajim/data/gui/server_info.ui:20 +#, fuzzy +msgid "Hostname" +msgstr "Назва вузла: " + +#: gajim/gtk/accounts.py:795 +msgid "Manually set the hostname for the server" +msgstr "" + +#: gajim/gtk/accounts.py:798 gajim/data/gui/vcard_information_window.ui:72 +#, fuzzy +msgid "Resource" +msgstr "Рэсурс:" + +#: gajim/gtk/accounts.py:801 gajim/gtk/accounts.py:917 +#: gajim/gtk/accounts.py:925 +#, fuzzy +msgid "Priority" +msgstr "Прыяры_тэт:" + +#: gajim/gtk/accounts.py:804 +#, fuzzy +msgid "Use Unencrypted Connection" +msgstr "Злучэнне" + +#: gajim/gtk/accounts.py:806 gajim/common/config.py:273 +#, fuzzy +msgid "Use an unencrypted connection to the server" +msgstr "Вы не злучаны з серверам" + +#: gajim/gtk/accounts.py:808 +#, fuzzy +msgid "Confirm Unencrypted Connection" +msgstr "Злучэнне" + +#: gajim/gtk/accounts.py:811 +#, fuzzy +msgid "Show a confirmation dialog before connecting unencrypted" +msgstr "" +"Ці трэба паказваць вакно пацверджання пры стварэнні мета-кантакта? Пусты " +"радок адключае гэтае вакно." + +#: gajim/gtk/accounts.py:835 gajim/data/gui/zeroconf_information_window.ui:8 +#: gajim/data/gui/vcard_information_window.ui:8 +#: gajim/data/gui/subscription_request_window.ui:164 +msgid "Contact Information" +msgstr "Асабістыя звесткі" + +#: gajim/gtk/accounts.py:837 +msgid "Request contact information (Mood, Activity, Tune, Location)" +msgstr "" + +#: gajim/gtk/accounts.py:840 +#, fuzzy +msgid "Accept all Contact Requests" +msgstr "Запыт на перадачу файла" + +#: gajim/gtk/accounts.py:842 +msgid "Automatically accept all contact requests" +msgstr "" + +#: gajim/gtk/accounts.py:844 +#, fuzzy +msgid "Filetransfer Preference" +msgstr "Памылка перадачы файла" + +#: gajim/gtk/accounts.py:846 +#, fuzzy +msgid "Upload Files" +msgstr "Захаваць файл як..." + +#: gajim/gtk/accounts.py:847 +#, fuzzy +msgid "Send Files Directly" +msgstr "Захаваць файл як..." + +#: gajim/gtk/accounts.py:848 +msgid "Preferred file transfer mechanism for file drag&drop on a chat window" +msgstr "" + +#: gajim/gtk/accounts.py:867 +#, fuzzy +msgid "Use environment variable" +msgstr "Няма злучэння" + +#: gajim/gtk/accounts.py:876 +#, fuzzy +msgid "Synchronize the status of all accounts" +msgstr "Змяніць стан рахунка(ў)" + +#: gajim/gtk/accounts.py:886 +#, fuzzy +msgid "First Name" +msgstr "Імя:" + +#: gajim/gtk/accounts.py:889 +#, fuzzy +msgid "Last Name" +msgstr "Прозвішча:" + +#: gajim/gtk/accounts.py:895 gajim/gtk/profile.py:32 gajim/gtk/vcard_grid.py:39 +#, fuzzy +msgid "Email" +msgstr "Новы ліст" + +#: gajim/gtk/accounts.py:913 +#, fuzzy +msgid "Adjust to status" +msgstr "_Адпаведна стану" + +#: gajim/gtk/accounts.py:945 +msgid "Enable" +msgstr "Уключыць" + +#: gajim/gtk/accounts.py:953 +#, fuzzy +msgid "Port" +msgstr "_Порт:" + +#: gajim/gtk/accounts.py:957 gajim/data/gui/server_info.ui:250 +msgid "Type" +msgstr "Тып" + +#: gajim/gtk/accounts.py:963 +#, fuzzy +msgid "Connection Settings" +msgstr "Злучэнне" + +#: gajim/gtk/accounts.py:971 +#, fuzzy +msgid "Client Certificate" +msgstr "Няправільнае імя карыстальніка" + +#: gajim/gtk/accounts.py:973 +msgid "PKCS12 Files" +msgstr "" + +#: gajim/gtk/accounts.py:975 +#, fuzzy +msgid "Encrypted Certificate" +msgstr "Няправільнае імя карыстальніка" + +#: gajim/gtk/accounts.py:979 +#, fuzzy +msgid "Certificate Settings" +msgstr "Няправільнае імя карыстальніка" + +#: gajim/gtk/accounts.py:987 gajim/data/gui/account_wizard.ui:255 +#: gajim/data/gui/bookmarks.ui:102 +#, fuzzy +msgid "Password" +msgstr "Пароль:" + +#: gajim/gtk/accounts.py:991 +#, fuzzy +msgid "Save Password" +msgstr "Захаваць пароль" + +#: gajim/gtk/accounts.py:999 +#, fuzzy +msgid "Login Settings" +msgstr "Памылка злучэння" + +#: gajim/gtk/groupchat_config.py:39 +#, fuzzy +msgid "Group Chat Configuration" +msgstr "Запрашэнне ў групавую размову" + +#: gajim/gtk/groupchat_config.py:104 gajim/common/helpers.py:283 +#: gajim/data/gui/groupchat_config.ui:40 +msgid "Member" +msgstr "Удзельнік" + +#: gajim/gtk/groupchat_config.py:133 +#, fuzzy +msgid "A Group Chat needs at least one Owner" +msgstr "?Роля чалавека:Няма" + +#: gajim/gtk/groupchat_config.py:241 +msgid "You are not allowed to modify the affiliation of Admins and Owners" +msgstr "" + +#: gajim/gtk/groupchat_config.py:400 +msgid "An entry with this XMPP Address already exists" +msgstr "" + +#: gajim/gtk/server_info.py:142 gajim/data/gui/vcard_information_window.ui:89 +#: gajim/data/gui/preferences.ui:359 +msgid "Status" +msgstr "Стан" + +#: gajim/gtk/server_info.py:143 +msgid "Support" +msgstr "" + +#: gajim/gtk/server_info.py:144 +msgid "Security" +msgstr "" + +#: gajim/gtk/server_info.py:145 +msgid "Feedback" +msgstr "" + +#: gajim/gtk/server_info.py:146 +msgid "Abuse" +msgstr "" + +#: gajim/gtk/server_info.py:147 +msgid "Sales" +msgstr "" + +#: gajim/gtk/server_info.py:231 +#, python-format +msgid "%(days)s days, %(hours)s hours" +msgstr "" + +#: gajim/gtk/server_info.py:239 gajim/gtk/vcard_grid.py:115 +#: gajim/common/helpers.py:224 +#, fuzzy +msgid "Unknown" +msgstr "?Сістэма:Невядомая" + +#: gajim/gtk/server_info.py:360 +#, fuzzy +msgid "" +"\n" +"Disabled in preferences" +msgstr "_Настаўленні" + +#: gajim/gtk/history.py:79 +msgid "Conversation History" +msgstr "Журнал размоў" + +#: gajim/gtk/history.py:411 gajim/gtk/history.py:465 +msgid "Disk Error" +msgstr "" + +#: gajim/gtk/history.py:576 +#, python-format +msgid "%(nick)s is now %(status)s: %(status_msg)s" +msgstr "%(nick)s цяпер %(status)s: %(status_msg)s" + +#: gajim/gtk/history.py:581 gajim/common/connection_handlers_events.py:414 +#, python-format +msgid "%(nick)s is now %(status)s" +msgstr "%(nick)s цяпер %(status)s" + +#: gajim/gtk/history.py:589 +#, fuzzy, python-format +msgid "Error: %s" +msgstr "Памылка: %s" + +#: gajim/gtk/history.py:593 +#, python-format +msgid "Status is now: %(status)s: %(status_msg)s" +msgstr "Цяперашні стан: %(status)s: %(status_msg)s" + +#: gajim/gtk/history.py:597 +#, python-format +msgid "Status is now: %(status)s" +msgstr "Цяперашні стан: %(status)s" + +#: gajim/gtk/about.py:51 +#, fuzzy +msgid "A GTK XMPP client" +msgstr "Jabber-праграма для GTK+" + +#: gajim/gtk/about.py:52 +#, fuzzy, python-format +msgid "GTK Version: %s" +msgstr "Версія GTK+:" + +#: gajim/gtk/about.py:53 +#, fuzzy, python-format +msgid "GLib Version: %s" +msgstr "Версія GTK+:" + +#: gajim/gtk/about.py:54 +#, fuzzy, python-format +msgid "PyGObject Version: %s" +msgstr "Версія PyGTK:" + +#: gajim/gtk/about.py:55 +#, python-format +msgid "python-nbxmpp Version: %s" +msgstr "" + +#: gajim/gtk/about.py:59 +#, fuzzy +msgid "Current Developers" +msgstr "Актыўныя распрацоўнікі:" + +#: gajim/gtk/about.py:60 +#, fuzzy +msgid "Past Developers" +msgstr "Былыя распрацоўнікі:" + +#: gajim/gtk/about.py:61 +msgid "Artists" +msgstr "" + +#: gajim/gtk/about.py:65 +msgid "Last but not least" +msgstr "" + +#: gajim/gtk/about.py:66 +#, fuzzy +msgid "we would like to thank all the package maintainers." +msgstr "" +"Таксама хочам выказаць падзяку ўсім людзям, што збіраюць пакункі з праграмай " +"для розных сістэмаў." + +#: gajim/gtk/about.py:67 +msgid "Thanks" +msgstr "" + +#: gajim/gtk/about.py:69 +msgid "translator-credits" +msgstr "Ihar Hrachyshka " + +#: gajim/gtk/search.py:95 gajim/gtk/search.py:191 +msgid "Search" +msgstr "Пошук" + +#: gajim/gtk/search.py:101 +#, fuzzy +msgid "New Search" +msgstr "Пошук" + +#: gajim/gtk/search.py:176 +msgid "Request Search Form" +msgstr "" + +#: gajim/gtk/search.py:236 +#, fuzzy +msgid "Search…" +msgstr "Пошук" + +#: gajim/gtk/search.py:243 +#, fuzzy +msgid "Search Result" +msgstr "Пошук" + +#: gajim/gtk/search.py:250 +#, fuzzy +msgid "No results found" +msgstr "%s не знойдзены" + +#: gajim/gtk/features.py:40 gajim/data/gui/server_info.ui:447 +#, fuzzy +msgid "Features" +msgstr "Здольнасці сервера" + +#: gajim/gtk/features.py:90 +msgid "Audio / Video" +msgstr "" + +#: gajim/gtk/features.py:92 +msgid "Enables Gajim to provide Audio and Video chats" +msgstr "" + +#: gajim/gtk/features.py:93 +msgid "" +"Requires: gir1.2-farstream-0.2, gir1.2-gstreamer-1.0, gstreamer1.0-libav, " +"gstreamer1.0-plugins-ugly" +msgstr "" + +#: gajim/gtk/features.py:95 gajim/gtk/features.py:145 +#, fuzzy +msgid "Feature not available under Windows" +msgstr "Паведамленне аб аўтаматычнай недаступнасці" + +#: gajim/gtk/features.py:97 +#, fuzzy +msgid "Automatic Status" +msgstr "_Адпаведна стану" + +#: gajim/gtk/features.py:99 +msgid "" +"Enables Gajim to measure your computer's idle time in order to set your " +"Status automatically" +msgstr "" + +#: gajim/gtk/features.py:101 +msgid "Requires: libxss" +msgstr "" + +#: gajim/gtk/features.py:102 gajim/gtk/features.py:123 +msgid "No additional requirements" +msgstr "" + +#: gajim/gtk/features.py:104 +msgid "Bonjour / Zeroconf (Serverless Chat)" +msgstr "" + +#: gajim/gtk/features.py:106 +msgid "" +"Enables Gajim to automatically detected clients in a local network for " +"serverless chats" +msgstr "" + +#: gajim/gtk/features.py:108 +msgid "Requires: gir1.2-avahi-0.6" +msgstr "" + +#: gajim/gtk/features.py:109 +#, python-format +msgid "Requires: pybonjour and bonjour SDK running (%(url)s)" +msgstr "" + +#: gajim/gtk/features.py:112 +#, fuzzy +msgid "Location detection" +msgstr "Злучэнне" + +#: gajim/gtk/features.py:114 +msgid "" +"Enables Gajim to be location-aware, if the user decides to publish the " +"device’s location" +msgstr "" + +#: gajim/gtk/features.py:116 +#, fuzzy +msgid "Requires: geoclue" +msgstr "_Голас" + +#: gajim/gtk/features.py:117 +#, fuzzy +msgid "Feature is not available under Windows" +msgstr "Паведамленне аб аўтаматычнай недаступнасці" + +#: gajim/gtk/features.py:119 +#, fuzzy +msgid "Notification Sounds" +msgstr "Змяненне рахунка" + +#: gajim/gtk/features.py:121 +msgid "Enables Gajim to play sounds for various notifications" +msgstr "" + +#: gajim/gtk/features.py:122 +#, fuzzy +msgid "Requires: gsound" +msgstr "Патрабуецца пароль" + +#: gajim/gtk/features.py:125 +#, fuzzy +msgid "Secure Password Storage" +msgstr "Захаваць пароль" + +#: gajim/gtk/features.py:127 +msgid "" +"Enables Gajim to store Passwords securely instead of storing them in " +"plaintext" +msgstr "" + +#: gajim/gtk/features.py:129 +#, fuzzy +msgid "Requires: gnome-keyring or kwallet" +msgstr "Кіраўнік журналаў" + +#: gajim/gtk/features.py:130 +msgid "Windows Credential Vault is used for secure password storage" +msgstr "" + +#: gajim/gtk/features.py:133 +msgid "Spell Checker" +msgstr "" + +#: gajim/gtk/features.py:135 +msgid "Enables Gajim to spell check your messages while composing" +msgstr "" + +#: gajim/gtk/features.py:137 gajim/gtk/features.py:138 +msgid "Requires: Gspell" +msgstr "" + +#: gajim/gtk/features.py:140 +msgid "UPnP-IGD Port Forwarding" +msgstr "" + +#: gajim/gtk/features.py:142 +msgid "" +"Enables Gajim to request your router to forward ports for file transfers" +msgstr "" + +#: gajim/gtk/features.py:144 +msgid "Requires: gir1.2-gupnpigd-1.0" +msgstr "" + +#: gajim/gtk/features.py:200 +#, fuzzy +msgid "Disabled in Preferences" +msgstr "_Настаўленні" + +#: gajim/gtk/dialogs.py:55 gajim/gtk/filechoosers.py:179 +#: gajim/data/gui/groupchat_control.ui:674 +#: gajim/data/gui/groupchat_control.ui:766 +#: gajim/data/gui/groupchat_control.ui:882 +#: gajim/data/gui/groupchat_control.ui:974 +#: gajim/data/gui/groupchat_control.ui:1419 +#: gajim/data/gui/groupchat_control.ui:1545 +#: gajim/data/gui/groupchat_control.ui:1671 +#: gajim/data/gui/groupchat_control.ui:1842 +#: gajim/data/gui/groupchat_control.ui:1920 gajim/data/gui/filetransfers.ui:30 +#: gajim/data/gui/add_new_contact_window.ui:451 +#: gajim/data/gui/filetransfer_progress.ui:172 gajim/data/gui/profile.ui:260 +#: gajim/data/gui/passphrase_dialog.ui:29 +msgid "_Cancel" +msgstr "_Скасаваць" + +#: gajim/gtk/dialogs.py:65 gajim/data/gui/history_manager.ui:20 +#, fuzzy +msgid "_Delete" +msgstr "Выдаліць" + +#: gajim/gtk/dialogs.py:216 +#, fuzzy +msgid "Certificate" +msgstr "Няправільнае імя карыстальніка" + +#: gajim/gtk/dialogs.py:230 +#, fuzzy, python-format +msgid "" +"Certificate for \n" +"%s" +msgstr "для рахунка %s" + +#: gajim/gtk/dialogs.py:279 +msgid "Issued to\n" +msgstr "" + +#: gajim/gtk/dialogs.py:280 gajim/gtk/dialogs.py:285 +msgid "Common Name (CN): " +msgstr "" + +#: gajim/gtk/dialogs.py:281 gajim/gtk/dialogs.py:286 +msgid "Organization (O): " +msgstr "" + +#: gajim/gtk/dialogs.py:282 gajim/gtk/dialogs.py:287 +msgid "Organizational Unit (OU): " +msgstr "" + +#: gajim/gtk/dialogs.py:283 +#, fuzzy +msgid "Serial Number: " +msgstr "Нумар GG:" + +#: gajim/gtk/dialogs.py:284 +msgid "Issued by\n" +msgstr "" + +#: gajim/gtk/dialogs.py:288 +msgid "Validity\n" +msgstr "" + +#: gajim/gtk/dialogs.py:289 +msgid "Issued on: " +msgstr "" + +#: gajim/gtk/dialogs.py:290 +msgid "Expires on: " +msgstr "" + +#: gajim/gtk/dialogs.py:291 +msgid "SHA-1:" +msgstr "" + +#: gajim/gtk/dialogs.py:293 +msgid "SHA-256:" +msgstr "" + +#: gajim/gtk/util.py:591 +msgid "Unknown Artist" +msgstr "" + +#: gajim/gtk/util.py:592 +msgid "Unknown Title" +msgstr "" + +#: gajim/gtk/util.py:593 +msgid "Unknown Source" +msgstr "" + +#: gajim/gtk/util.py:595 +#, python-format +msgid "" +"\"%(title)s\" by %(artist)s\n" +"from %(source)s" +msgstr "" + +#: gajim/gtk/profile.py:28 gajim/gtk/vcard_grid.py:33 +#: gajim/data/gui/vcard_information_window.ui:411 +#, fuzzy +msgid "Full Name" +msgstr "Адмысловы" + +#: gajim/gtk/profile.py:29 gajim/gtk/vcard_grid.py:35 +#: gajim/data/gui/vcard_information_window.ui:770 +#, fuzzy +msgid "Birthday" +msgstr "Народзіны:" + +#: gajim/gtk/profile.py:30 gajim/gtk/vcard_grid.py:36 +#, fuzzy +msgid "Gender" +msgstr "Адпраўнік:" + +#: gajim/gtk/profile.py:31 gajim/data/gui/groupchat_info_scrolled.ui:16 +#, fuzzy +msgid "Address" +msgstr "_Адрас:" + +#: gajim/gtk/profile.py:34 gajim/gtk/vcard_grid.py:38 +#: gajim/data/gui/vcard_information_window.ui:720 +#: gajim/data/gui/vcard_information_window.ui:1396 +#, fuzzy +msgid "Phone No." +msgstr "Тэлефон" + +#: gajim/gtk/profile.py:35 +msgid "?profile:Organisation" +msgstr "" + +#: gajim/gtk/profile.py:36 gajim/gtk/vcard_grid.py:41 +msgid "?profile:Title" +msgstr "" + +#: gajim/gtk/profile.py:37 gajim/gtk/vcard_grid.py:42 +#, fuzzy +msgid "?profile:Role" +msgstr "файл" + +#: gajim/gtk/profile.py:38 gajim/gtk/vcard_grid.py:45 +msgid "URL" +msgstr "" + +#: gajim/gtk/profile.py:39 gajim/gtk/vcard_grid.py:46 +#, fuzzy +msgid "?profile:Key" +msgstr "файл" + +#: gajim/gtk/profile.py:299 gajim/gtk/profile.py:301 +#: gajim/data/gui/profile.ui:98 gajim/data/gui/profile.ui:110 +msgid "Everyone" +msgstr "" + +#: gajim/gtk/profile.py:299 gajim/gtk/profile.py:301 +#: gajim/data/gui/shortcuts_window.ui:108 gajim/data/gui/groupchat_invite.ui:83 +msgid "Contacts" +msgstr "Людзі" + +#: gajim/gtk/filechoosers.py:88 +#, fuzzy +msgid "Choose File to Send…" +msgstr "Выберыце файл..." + +#: gajim/gtk/filechoosers.py:94 +#, fuzzy +msgid "Choose Avatar…" +msgstr "Выберыце малюнак" + +#: gajim/gtk/filechoosers.py:98 +#, fuzzy +msgid "PNG files" +msgstr "Усе файлы" + +#: gajim/gtk/filechoosers.py:99 +#, fuzzy +msgid "JPEG files" +msgstr "Усе файлы" + +#: gajim/gtk/filechoosers.py:100 +#, fuzzy +msgid "SVG files" +msgstr "Адправіць _файл" + +#: gajim/gtk/filechoosers.py:102 +msgid "Images" +msgstr "Малюнкі" + +#: gajim/gtk/filechoosers.py:139 +#, fuzzy +msgid "Choose Archive" +msgstr "Выберыце малюнак" + +#: gajim/gtk/filechoosers.py:141 +#, fuzzy +msgid "ZIP files" +msgstr "Усе файлы" + +#: gajim/gtk/filechoosers.py:146 +#, fuzzy +msgid "Save File as…" +msgstr "Захаваць файл як..." + +#: gajim/gtk/filechoosers.py:180 +#, fuzzy +msgid "_Open" +msgstr "OpenPGP: " + +#: gajim/gtk/blocking.py:38 +#, fuzzy, python-format +msgid "Blocking List for %s" +msgstr "Спіс прыватнасці для %s" + +#: gajim/gtk/blocking.py:64 +#, fuzzy +msgid "Error!" +msgstr "Памылка Avahi" + +#: gajim/gtk/service_registration.py:143 gajim/gtk/service_registration.py:157 +#: gajim/gtk/service_registration.py:164 +#, fuzzy +msgid "Register" +msgstr "_Рэгістрацыя" + +#: gajim/gtk/service_registration.py:193 gajim/gtk/service_registration.py:205 +#, fuzzy +msgid "Registration successful" +msgstr "Зарэгістравацца на %s" + +#: gajim/gtk/service_registration.py:216 +#, fuzzy +msgid "Registration failed" +msgstr "Памылка злучэння" + +#: gajim/gtk/vcard_grid.py:37 +#, fuzzy +msgid "?profile:Address" +msgstr "_Адрас:" + +#: gajim/gtk/vcard_grid.py:40 +#, fuzzy +msgid "IM Address" +msgstr "_Адрас:" + +#: gajim/gtk/vcard_grid.py:43 +msgid "Organisation" +msgstr "" + +#: gajim/gtk/vcard_grid.py:44 +#, fuzzy +msgid "?profile:Note" +msgstr "файл" + +#: gajim/gtk/vcard_grid.py:51 +msgid "Your public key or authentication certificate" +msgstr "" + +#: gajim/gtk/vcard_grid.py:59 +msgid "Post Office Box" +msgstr "" + +#: gajim/gtk/vcard_grid.py:60 gajim/data/gui/vcard_information_window.ui:489 +#: gajim/data/gui/vcard_information_window.ui:1179 +#, fuzzy +msgid "Street" +msgstr "Вуліца:" + +#: gajim/gtk/vcard_grid.py:61 +#, fuzzy +msgid "Extended Address" +msgstr "Дадатковы адрас:" + +#: gajim/gtk/vcard_grid.py:62 gajim/data/gui/vcard_information_window.ui:505 +#: gajim/data/gui/vcard_information_window.ui:1195 +#, fuzzy +msgid "City" +msgstr "Горад:" + +#: gajim/gtk/vcard_grid.py:63 gajim/data/gui/vcard_information_window.ui:521 +#: gajim/data/gui/vcard_information_window.ui:1211 +#, fuzzy +msgid "State" +msgstr "Штат:" + +#: gajim/gtk/vcard_grid.py:64 gajim/data/gui/vcard_information_window.ui:595 +#: gajim/data/gui/vcard_information_window.ui:1244 +#, fuzzy +msgid "Postal Code" +msgstr "Паштовы індэкс:" + +#: gajim/gtk/vcard_grid.py:65 gajim/data/gui/vcard_information_window.ui:611 +#: gajim/data/gui/vcard_information_window.ui:1260 +#, fuzzy +msgid "Country" +msgstr "Краіна:" + +#: gajim/gtk/vcard_grid.py:111 +msgid "Male" +msgstr "" + +#: gajim/gtk/vcard_grid.py:112 +msgid "Female" +msgstr "" + +#: gajim/gtk/vcard_grid.py:113 +msgid "?Gender:Other" +msgstr "" + +#: gajim/gtk/vcard_grid.py:114 +#, fuzzy +msgid "?Gender:None" +msgstr "Адпраўнік:" + +#: gajim/gtk/vcard_grid.py:121 gajim/gtk/vcard_grid.py:428 +#, fuzzy +msgid "Home" +msgstr "У Сеціве:" + +#: gajim/gtk/vcard_grid.py:122 gajim/gtk/vcard_grid.py:429 +#: gajim/data/gui/vcard_information_window.ui:1452 +msgid "Work" +msgstr "Праца" + +#: gajim/gtk/vcard_grid.py:598 +#, fuzzy +msgid "YYYY-MM-DD" +msgstr "Фармат: ГГГГ-ММ-ДД" + +#: gajim/gtk/adhoc.py:91 +#, fuzzy +msgid "Finish" +msgstr "_Скончыць" + +#: gajim/gtk/adhoc.py:96 gajim/gtk/adhoc.py:283 +#, fuzzy +msgid "Commands" +msgstr "Загады: %s" + +#: gajim/gtk/adhoc.py:107 +#, fuzzy +msgid "Previous" +msgstr "спасылка" + +#: gajim/gtk/adhoc.py:112 +#, fuzzy +msgid "Execute" +msgstr "_Выканаць загад..." + +#: gajim/gtk/adhoc.py:196 +#, fuzzy +msgid "No commands available" +msgstr "Рахункаў няма" + +#: gajim/gtk/adhoc.py:244 +#, fuzzy +msgid "Request Command List" +msgstr "_Выканаць загад..." + +#: gajim/gtk/adhoc.py:259 +#, fuzzy +msgid "Executing…" +msgstr "_Выканаць загад..." + +#: gajim/gtk/adhoc.py:266 +#, fuzzy +msgid "Command List" +msgstr "Загады: %s" + +#: gajim/gtk/adhoc.py:321 gajim/data/gui/manage_proxies.ui:255 +#, fuzzy +msgid "Settings" +msgstr "Памылка злучэння" + +#: gajim/gtk/adhoc.py:386 +#, fuzzy +msgid "Finished" +msgstr "_Скончыць" + +#: gajim/gtk/adhoc.py:455 +#, fuzzy +msgid "Execution failed" +msgstr "Памылка злучэння" + +#: gajim/common/jingle_rtp.py:133 +#, fuzzy, python-format +msgid "%s configuration error" +msgstr "Настаўленні пакоя" + +#: gajim/common/jingle_rtp.py:134 +#, python-format +msgid "" +"Couldn’t set up %(text)s. Check your configuration.\n" +"Pipeline:\n" +"%(pipeline)s\n" +"Error:\n" +"%(error)s" +msgstr "" + +#: gajim/common/jingle_rtp.py:416 +msgid "audio input" +msgstr "" + +#: gajim/common/jingle_rtp.py:421 +msgid "audio output" +msgstr "" + +#: gajim/common/jingle_rtp.py:489 +msgid "video input" +msgstr "" + +#: gajim/common/setting_values.py:300 gajim/common/config.py:356 +#: gajim/common/const.py:387 +msgid "Sleeping" +msgstr "Сон" + +#: gajim/common/setting_values.py:301 +msgid "ZZZZzzzzzZZZZZ" +msgstr "" + +#: gajim/common/setting_values.py:306 gajim/common/config.py:357 +msgid "Back soon" +msgstr "Хутка буду" + +#: gajim/common/setting_values.py:307 gajim/common/config.py:357 +msgid "Back in some minutes." +msgstr "Хутка буду." + +#: gajim/common/setting_values.py:309 gajim/common/config.py:358 +#: gajim/common/const.py:353 +msgid "Eating" +msgstr "Ежа" + +#: gajim/common/setting_values.py:310 +#, fuzzy +msgid "I’m eating." +msgstr "Працую." + +#: gajim/common/setting_values.py:314 gajim/common/config.py:359 +msgid "Movie" +msgstr "Фільм" + +#: gajim/common/setting_values.py:315 +#, fuzzy +msgid "I’m watching a movie." +msgstr "Гляджу фільм." + +#: gajim/common/setting_values.py:319 gajim/common/config.py:360 +#: gajim/common/const.py:420 +msgid "Working" +msgstr "Працую" + +#: gajim/common/setting_values.py:320 +#, fuzzy +msgid "I’m working." +msgstr "Працую." + +#: gajim/common/setting_values.py:324 gajim/common/config.py:362 +msgid "Out" +msgstr "Сышоў" + +#: gajim/common/setting_values.py:325 +#, fuzzy +msgid "I’m out enjoying life." +msgstr "Я цешуся з жыцця." + +#: gajim/common/setting_values.py:393 gajim/common/config.py:84 +msgid "" +"Allow to hide the contact list window even if the notification area icon is " +"not shown." +msgstr "" + +#: gajim/common/setting_values.py:394 gajim/common/config.py:95 +msgid "" +"'always' - print time for every message.\n" +"'sometimes' - print time every print_ichat_every_foo_minutes minute.\n" +"'never' - never print time." +msgstr "" +"'always' - паказваць час кожнага паведамлення.\n" +"'sometimes' - паказваць час кожныя print_ichat_every_foo_minutes хвілінаў.\n" +"'never' - не паказваць час." + +#: gajim/common/setting_values.py:395 gajim/common/config.py:99 +msgid "Treat * / _ pairs as possible formatting characters." +msgstr "Лічыць спалучэнні * / _ мажлівымі знакамі фарматавання." + +#: gajim/common/setting_values.py:396 gajim/common/config.py:100 +#, fuzzy +msgid "" +"If enabled, do not remove */_ . So *abc* will be bold but with * * not " +"removed." +msgstr "" +"Калі true, не выдаляць */_ . Такім чынам, *abc* будзе тлустым, але * * не " +"выдаляецца." + +#: gajim/common/setting_values.py:397 gajim/common/config.py:103 +#, fuzzy +msgid "" +"Character to add after nickname when using nickname completion (tab) in " +"group chat." +msgstr "Знак пасля дапоўненай мянушкі ў групавой размове." + +#: gajim/common/setting_values.py:398 gajim/common/config.py:125 +msgid "" +"If enabled, Gajim will save the contact list window position when hiding it, " +"and restore it when showing the contact list window again." +msgstr "" + +#: gajim/common/setting_values.py:399 gajim/common/config.py:131 +msgid "Place the contact list on the right in single window mode" +msgstr "" + +#: gajim/common/setting_values.py:400 gajim/common/config.py:137 +#, fuzzy +msgid "" +"This option lets you customize the timestamp that is printed in " +"conversation. For example '[%H:%M] ' will show '[hour:minute] '. See python " +"doc on strftime for full documentation (https://docs.python.org/3/library/" +"time.html#time.strftime)." +msgstr "" +"З дапамогай гэтай опцыі Вы можаце змяніць фармат часавых мецінаў, якія " +"паказваюцца ў вокнах размовы. Напр., \"[%H:%M] \" азначае, што трэба " +"паказваць \"[гадзінаў:хвілінаў] \". Глядзіце падрабязную інфармацыю ў " +"дакументацыі для python на функцыю strftime: http://docs.python.org/lib/" +"module-time.html" + +#: gajim/common/setting_values.py:401 gajim/common/config.py:138 +#, fuzzy +msgid "Characters that are printed before the nickname in conversations." +msgstr "Знакі, якія друкуюцца ў вокнах размовы перад мянушкай" + +#: gajim/common/setting_values.py:402 gajim/common/config.py:139 +#, fuzzy +msgid "Characters that are printed after the nickname in conversations." +msgstr "Знакі, якія друкуюцца ў вокнах размовы пасля мянушкі" + +#: gajim/common/setting_values.py:403 gajim/common/config.py:140 +#, fuzzy +msgid "If enabled, Gajim will add * and [n] in contact list window title." +msgstr "" +"Калі гэтая опцыя ўключаная, Gajim паказвае аватары ў галоўным вакне і ў " +"групавых размовах" + +#: gajim/common/setting_values.py:404 gajim/common/config.py:141 +#, fuzzy +msgid "" +"Number of messages from chat history to be restored when a chat tab/window " +"is reopened." +msgstr "" +"Колькі радкоў помніць з апошняй размовы, калі размова наноў адкрываецца." + +#: gajim/common/setting_values.py:405 gajim/common/config.py:142 +msgid "" +"How far back in time (minutes) chat history is restored. -1 means no limit." +msgstr "" + +#: gajim/common/setting_values.py:406 gajim/common/config.py:143 +#, fuzzy +msgid "Send message on Ctrl+Enter and make a new line with Enter." +msgstr "" +"Адпраўляць паведамленне праз Ctrl+Enter, а Enter стварае новы радок " +"(стандартныя паводзіны Mirabilis ICQ)." + +#: gajim/common/setting_values.py:407 gajim/common/config.py:145 +#, fuzzy +msgid "How many lines to store for Ctrl+KeyUP (previously sent messages)." +msgstr "Колькі радкоў захоўваць для Ctrl+KeyUP." + +#: gajim/common/setting_values.py:409 gajim/common/config.py:148 +#, fuzzy, python-format +msgid "" +"Either a custom URL with %%s in it (where %%s is the word/phrase) or " +"'WIKTIONARY' (which means use Wikitionary)." +msgstr "" +"Альбо адмысловы адрас з %s, дзе %s ёсць словам/выразам, альбо 'WIKTIONARY', " +"што значыць выкарыстанне Вікі-Слоўніка." + +#: gajim/common/setting_values.py:412 gajim/common/config.py:151 +msgid "If checked, Gajim can be controlled remotely using gajim-remote." +msgstr "" +"Калі гэтая опцыя ўключаная, Gajim можа кантралявацца з дапамогай gajim-" +"remote." + +#: gajim/common/setting_values.py:413 +#, fuzzy +msgid "" +"When not printing time for every message ('print_time'==sometimes, print it " +"every x minutes." +msgstr "" +"Калі трэба паказваць час не для кожнага паведамлення " +"(print_time==sometimes), паказваць яго кожныя x хвілінаў." + +#: gajim/common/setting_values.py:414 gajim/common/config.py:153 +msgid "Ask before pasting an image." +msgstr "" + +#: gajim/common/setting_values.py:415 gajim/common/config.py:154 +msgid "Ask before closing a group chat tab/window." +msgstr "Пытацца пацверджання закрыцця групавой размовы." + +#: gajim/common/setting_values.py:416 gajim/common/config.py:155 +msgid "" +"Ask before closing tabbed chat window if there are chats that can lose data " +"(chat, private chat, group chat that will not be minimized)." +msgstr "" + +#: gajim/common/setting_values.py:418 gajim/common/config.py:158 +#, fuzzy +msgid "" +"List of send hosts (comma separated) in addition to local interfaces for " +"file transfers (in case of address translation/port forwarding)." +msgstr "" +"Вызначае вузел, якому мы адпраўляем файлы, у выпадку трансляцыі адрасоў / " +"перанакіравання портаў." + +#: gajim/common/setting_values.py:419 gajim/common/config.py:159 +msgid "IEC standard says KiB = 1024 bytes, KB = 1000 bytes." +msgstr "У стандарце IEC вызначана, што КіБ = 1024 байтаў, КБ = 1000 байтаў." + +#: gajim/common/setting_values.py:421 gajim/common/config.py:161 +#, fuzzy +msgid "Notify of events in the notification area." +msgstr "Нагадваць аб падзеях праз значку прасторы паведамленняў." + +#: gajim/common/setting_values.py:422 gajim/common/config.py:166 +msgid "Show tab when only one conversation?" +msgstr "Паказваць картку, калі актыўная толькі адна размова?" + +#: gajim/common/setting_values.py:423 gajim/common/config.py:167 +msgid "Show tabbed notebook border in chat windows?" +msgstr "Паказваць межы картак у вокнах размовы?" + +#: gajim/common/setting_values.py:424 gajim/common/config.py:168 +msgid "Show close button in tab?" +msgstr "Паказваць кнопку закрыцця на картцы?" + +#: gajim/common/setting_values.py:425 gajim/common/config.py:169 +msgid "Preview new messages in notification popup?" +msgstr "" + +#: gajim/common/setting_values.py:426 gajim/common/config.py:172 +#, fuzzy +msgid "" +"A list of words (semicolon separated) that will be highlighted in group " +"chats." +msgstr "" +"Спіс падзеленых кропкай з коскай слоў, якія трэба фарбаваць у групавых " +"размовах." + +#: gajim/common/setting_values.py:427 gajim/common/config.py:174 +msgid "" +"If enabled, Gajim hides the contact list window when pressing the X button " +"instead of minimizing into the notification area." +msgstr "" + +#: gajim/common/setting_values.py:432 gajim/common/config.py:181 +msgid "" +"Define the position of avatars in the contact list. Can be 'left' or 'right'." +msgstr "" + +#: gajim/common/setting_values.py:433 gajim/common/config.py:186 +#, fuzzy +msgid "Don't show contact list window in the system taskbar." +msgstr "Не паказваць галоўнае вакно на панэлі заданняў." + +#: gajim/common/setting_values.py:434 gajim/common/config.py:187 +#, fuzzy +msgid "" +"If enabled, Gajim makes the window flash (the default behaviour in most " +"Window Managers) when holding pending events." +msgstr "" +"Калі true і калі ўсталяваныя GTK+ і PyGTK версіі, вышэйшай за 2.8, міргаць " +"вакном (звычайныя паводзіны ў бальшыні кіраўнікоў вокнаў) пры наяўнасці " +"нягледжаных падзей." + +#: gajim/common/setting_values.py:436 gajim/common/config.py:193 +#, fuzzy +msgid "If enabled, pressing Esc closes a tab/window." +msgstr "Калі true, клавіша Escape закрывае картку / вакно." + +#: gajim/common/setting_values.py:437 gajim/common/config.py:194 +#, fuzzy +msgid "Hides the banner in a group chat window." +msgstr "Хавае банер у групавой размове" + +#: gajim/common/setting_values.py:438 gajim/common/config.py:195 +#, fuzzy +msgid "Hides the banner in a 1:1 chat window." +msgstr "Хавае банер у групавой размове" + +#: gajim/common/setting_values.py:439 gajim/common/config.py:196 +#, fuzzy +msgid "Hides the group chat participants list in a group chat window." +msgstr "Схаваць спіс удзельнікаў групавой размовы." + +#: gajim/common/setting_values.py:440 gajim/common/config.py:197 +#, fuzzy +msgid "" +"In a chat, show the nickname at the beginning of a line only when it's not " +"the same person talking as in the previous message." +msgstr "" +"У групавой размове не паказваць мянушку, калі папярэдняе паведамленне " +"напісаў той самы чалавек." + +#: gajim/common/setting_values.py:441 gajim/common/config.py:198 +msgid "Indentation when using merge consecutive nickname." +msgstr "Водступ пры шматмэтавым прызначэнні паведамлення." + +#: gajim/common/setting_values.py:442 gajim/common/config.py:199 +#, fuzzy +msgid "" +"Ctrl+Tab switches to the next composing tab when there are no tabs with " +"messages pending." +msgstr "" +"Ctrl-Tab пераходзіць у наступную картку, калі няма нечытаных паведамленняў." + +#: gajim/common/setting_values.py:443 gajim/common/config.py:200 +#, fuzzy +msgid "" +"Show a confirmation dialog to create metacontacts? Empty string means never " +"show the dialog." +msgstr "" +"Ці трэба паказваць вакно пацверджання пры стварэнні мета-кантакта? Пусты " +"радок адключае гэтае вакно." + +#: gajim/common/setting_values.py:444 gajim/common/config.py:201 +#, fuzzy +msgid "" +"Show a confirmation dialog to block a contact? Empty string means never show " +"the dialog." +msgstr "" +"Ці трэба паказваць вакно пацверджання пры стварэнні мета-кантакта? Пусты " +"радок адключае гэтае вакно." + +#: gajim/common/setting_values.py:445 gajim/common/config.py:202 +#, fuzzy +msgid "" +"If enabled, you will be able to set a negative priority to your account in " +"the Accounts window. BE CAREFUL, when you are logged in with a negative " +"priority, you will NOT receive any message from your server." +msgstr "" +"Калі true, Вы зможаце выставіць для рахунка адмоўны прыярытэт. Увага: калі " +"Вы ўвайшлі з адмоўным прыярытэтам, Вы не будзеце атрымліваць паведамленняў " +"ад Вашага сервера." + +#: gajim/common/setting_values.py:446 gajim/common/config.py:203 +#, fuzzy +msgid "" +"If enabled, Gajim will show both the number of online and total contacts in " +"account rows as well as in group rows." +msgstr "" +"Калі true, Gajim будзе паказваць у кантактным лісце колькасць падлучаных " +"людзей і агульную колькасць у радках групаў і рахункаў." + +#: gajim/common/setting_values.py:447 gajim/common/config.py:204 +msgid "" +"If enabled, Gajim will scroll and select the contact who sent you the last " +"message, if the chat window is not already opened." +msgstr "" + +#: gajim/common/setting_values.py:448 gajim/common/config.py:205 +msgid "Time of inactivity needed before the change status window closes down." +msgstr "" + +#: gajim/common/setting_values.py:449 gajim/common/config.py:206 +msgid "" +"Maximum number of lines that are printed in conversations. Oldest lines are " +"cleared." +msgstr "" + +#: gajim/common/setting_values.py:450 gajim/common/config.py:208 +msgid "" +"If enabled, completion in group chats will be like a shell auto-completion." +msgstr "" + +#: gajim/common/setting_values.py:451 gajim/common/config.py:217 +msgid "" +"If enabled, Gajim will try to use a STUN server when using Jingle. The one " +"in 'stun_server' option, or the one given by the XMPP server." +msgstr "" + +#: gajim/common/setting_values.py:452 gajim/common/config.py:218 +msgid "STUN server to use when using Jingle" +msgstr "" + +#: gajim/common/setting_values.py:453 gajim/common/config.py:220 +msgid "If enabled, Gajim will ignore incoming attention requests ('wizz')." +msgstr "" + +#: gajim/common/setting_values.py:454 gajim/common/config.py:221 +msgid "" +"If enabled, Gajim will reopen chat windows that were opened last time Gajim " +"was closed." +msgstr "" + +#: gajim/common/setting_values.py:455 gajim/common/config.py:224 +msgid "If enabled, Gajim will execute XEP-0146 Commands." +msgstr "" + +#: gajim/common/setting_values.py:458 gajim/common/config.py:236 +msgid "API Preferences. Possible values: 'http', 'iq'" +msgstr "" + +#: gajim/common/setting_values.py:459 gajim/common/config.py:237 +msgid "If enabled, Gajim will execute commands (/show, /sh, /execute, /exec)." +msgstr "" + +#: gajim/common/setting_values.py:460 gajim/common/config.py:238 +msgid "Width of group chat roster in pixel" +msgstr "" + +#: gajim/common/setting_values.py:461 gajim/common/config.py:239 +#, fuzzy +msgid "Force Bookmark 2 usage" +msgstr "_Змясціць у закладках" + +#: gajim/common/multimedia_helpers.py:51 +#, fuzzy +msgid "Default device" +msgstr "Стандартныя паведамленні стану" + +#: gajim/common/multimedia_helpers.py:72 +msgid "Audio test" +msgstr "" + +#: gajim/common/multimedia_helpers.py:75 gajim/common/multimedia_helpers.py:91 +#: gajim/common/multimedia_helpers.py:105 +msgid "Autodetect" +msgstr "" + +#: gajim/common/multimedia_helpers.py:78 gajim/common/multimedia_helpers.py:93 +#, fuzzy, python-format +msgid "ALSA: %s" +msgstr "Памер: %s" + +#: gajim/common/multimedia_helpers.py:81 gajim/common/multimedia_helpers.py:95 +#, fuzzy, python-format +msgid "Pulse: %s" +msgstr "Файл: %s" + +#: gajim/common/multimedia_helpers.py:89 +msgid "Fake audio output" +msgstr "" + +#: gajim/common/multimedia_helpers.py:102 +msgid "Video test" +msgstr "" + +#: gajim/common/multimedia_helpers.py:107 +msgid "Pipewire" +msgstr "" + +#: gajim/common/multimedia_helpers.py:109 +#, python-format +msgid "V4L2: %s" +msgstr "" + +#: gajim/common/multimedia_helpers.py:111 +msgid "X11" +msgstr "" + +#: gajim/common/multimedia_helpers.py:113 +msgid "Windows" +msgstr "" + +#: gajim/common/multimedia_helpers.py:115 +msgid "macOS" +msgstr "" + +#: gajim/common/helpers.py:176 +msgid "_Busy" +msgstr "_Заняты" + +#: gajim/common/helpers.py:178 +msgid "Busy" +msgstr "Заняты" + +#: gajim/common/helpers.py:181 +msgid "_Not Available" +msgstr "М_яне няма" + +#: gajim/common/helpers.py:183 +msgid "Not Available" +msgstr "Мяне няма" + +#: gajim/common/helpers.py:186 +msgid "_Free for Chat" +msgstr "_Магу размаўляць" + +#: gajim/common/helpers.py:188 +msgid "Free for Chat" +msgstr "Магу размаўляць" + +#: gajim/common/helpers.py:191 +#, fuzzy +msgid "?user status:_Available" +msgstr "?transfer status:Прыпыненая" + +#: gajim/common/helpers.py:193 +#, fuzzy +msgid "?user status:Available" +msgstr "?transfer status:Прыпыненая" + +#: gajim/common/helpers.py:195 +msgid "Connecting" +msgstr "Злучэнне" + +#: gajim/common/helpers.py:198 +msgid "A_way" +msgstr "Н_е тут" + +#: gajim/common/helpers.py:203 +msgid "_Offline" +msgstr "_Адключаны" + +#: gajim/common/helpers.py:205 +msgid "Offline" +msgstr "Адключаны" + +#: gajim/common/helpers.py:209 +msgid "?contact has status:Unknown" +msgstr "?чалавек у стане:Невядомы" + +#: gajim/common/helpers.py:211 +msgid "?contact has status:Has errors" +msgstr "?чалавек у стане:Ёсць памылкі" + +#: gajim/common/helpers.py:216 +msgid "?Subscription we already have:None" +msgstr "?Ужо ёсць падпіскі:Няма" + +#: gajim/common/helpers.py:218 +msgid "To" +msgstr "Да" + +#: gajim/common/helpers.py:220 gajim/data/gui/groups_post_window.ui:33 +msgid "From" +msgstr "Ад" + +#: gajim/common/helpers.py:222 +msgid "Both" +msgstr "Абодва" + +#: gajim/common/helpers.py:230 +msgid "?Ask (for Subscription):None" +msgstr "?Запыт (на падпіску):Няма" + +#: gajim/common/helpers.py:232 +msgid "Subscribe" +msgstr "Падпісацца" + +#: gajim/common/helpers.py:244 +msgid "?Group Chat Contact Role:None" +msgstr "?Роля чалавека:Няма" + +#: gajim/common/helpers.py:247 +msgid "Moderators" +msgstr "Мадэратары" + +#: gajim/common/helpers.py:249 +msgid "Moderator" +msgstr "Мадэратар" + +#: gajim/common/helpers.py:252 gajim/data/gui/groupchat_info_scrolled.ui:182 +msgid "Participants" +msgstr "Удзельнікі" + +#: gajim/common/helpers.py:254 +msgid "Participant" +msgstr "Удзельнік" + +#: gajim/common/helpers.py:257 +msgid "Visitors" +msgstr "Наведвальнікі" + +#: gajim/common/helpers.py:259 +msgid "Visitor" +msgstr "Наведвальнік" + +#: gajim/common/helpers.py:268 +msgid "?Group Chat Contact Affiliation:None" +msgstr "?Адносіны ўдзельніка групавой размовы:Няма" + +#: gajim/common/helpers.py:271 +#, fuzzy +msgid "Owners" +msgstr "Уладальнік" + +#: gajim/common/helpers.py:273 gajim/data/gui/groupchat_config.ui:32 +msgid "Owner" +msgstr "Уладальнік" + +#: gajim/common/helpers.py:276 +#, fuzzy +msgid "Administrators" +msgstr "Адміністратар" + +#: gajim/common/helpers.py:278 +msgid "Administrator" +msgstr "Адміністратар" + +#: gajim/common/helpers.py:281 +#, fuzzy +msgid "Members" +msgstr "Удзельнік" + +#: gajim/common/helpers.py:320 +msgid "is paying attention to the conversation" +msgstr "сочыць за размовай" + +#: gajim/common/helpers.py:322 +msgid "is doing something else" +msgstr "заняты чымсьці іншым" + +#: gajim/common/helpers.py:324 +#, fuzzy +msgid "is composing a message…" +msgstr "піша паведамленне..." + +#: gajim/common/helpers.py:327 +msgid "paused composing a message" +msgstr "перастаў пісаць" + +#: gajim/common/helpers.py:329 +msgid "has closed the chat window or tab" +msgstr "закрыў вакно / картку размовы" + +#: gajim/common/helpers.py:719 gajim/common/helpers.py:727 +#, fuzzy, python-format +msgid "%d message pending" +msgid_plural "%d messages pending" +msgstr[0] "Адправіць паведамленне" +msgstr[1] "Адправіць паведамленне" +msgstr[2] "Адправіць паведамленне" + +#: gajim/common/helpers.py:736 +#, fuzzy, python-format +msgid "from group chat %s" +msgstr "Удзельнічаць у _групавой размове" + +#: gajim/common/helpers.py:739 gajim/common/helpers.py:760 +#, python-format +msgid "from user %s" +msgstr "" + +#: gajim/common/helpers.py:741 +#, fuzzy, python-format +msgid "from %s" +msgstr "Ад" + +#: gajim/common/helpers.py:747 gajim/common/helpers.py:755 +#, python-format +msgid "%d event pending" +msgid_plural "%d events pending" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: gajim/common/helpers.py:828 gajim/data/gui/add_new_contact_window.ui:20 +msgid "I would like to add you to my contact list." +msgstr "Я хачу дадаць Вас у свой кантактны ліст." + +#: gajim/common/helpers.py:830 +msgid "Hello, I am $name." +msgstr "" + +#: gajim/common/config.py:71 +msgid "Play sound even when being busy." +msgstr "" + +#: gajim/common/config.py:73 +#, fuzzy +msgid "Show only online and free for chat contacts in the contact list." +msgstr "Я хачу дадаць Вас у свой кантактны ліст." + +#: gajim/common/config.py:76 +msgid "Time in minutes, after which your status changes to away." +msgstr "Праз колькі хвілінаў змяняць стан на сышоўшы." + +#: gajim/common/config.py:77 +#, fuzzy +msgid "$S (Away: Idle more than $T min)" +msgstr "Сышоў як вынік марнавання часу" + +#: gajim/common/config.py:77 +msgid "" +"$S will be replaced by current status message, $T by the 'autoawaytime' " +"value." +msgstr "" + +#: gajim/common/config.py:79 +msgid "Time in minutes, after which your status changes to not available." +msgstr "Праз колькі хвілінаў змяняць стан на недаступны." + +#: gajim/common/config.py:80 +#, fuzzy +msgid "$S (Not available: Idle more than $T min)" +msgstr "Недаступны ў выніку марнавання часу" + +#: gajim/common/config.py:80 +msgid "" +"$S will be replaced by current status message, $T by the 'autoxatime' value." +msgstr "" + +#: gajim/common/config.py:83 +msgid "" +"When to show the notification area icon. Can be 'never', 'on_event', and " +"'always'." +msgstr "" + +#: gajim/common/config.py:87 +#, fuzzy +msgid "" +"List of rows (accounts and groups) that are collapsed (space separated)." +msgstr "Спіс падзеленых прагаламі згорнутых рахункаў і групаў." + +#: gajim/common/config.py:94 gajim/common/config.py:335 +#: gajim/common/config.py:342 +#, fuzzy +msgid "Language used for spell checking." +msgstr "Мова правапісу" + +#: gajim/common/config.py:97 +msgid "When enabled, ASCII emojis will be converted to graphical emojis." +msgstr "" + +#: gajim/common/config.py:152 +#, fuzzy +msgid "" +"When not printing time for every message ('print_time'==sometimes), print it " +"every x minutes." +msgstr "" +"Калі трэба паказваць час не для кожнага паведамлення " +"(print_time==sometimes), паказваць яго кожныя x хвілінаў." + +#: gajim/common/config.py:173 +#, fuzzy +msgid "" +"If enabled, Gajim quits when clicking the X button of your Window Manager. " +"This setting is taken into account only if the notification area icon is " +"used." +msgstr "" +"Калі true, Gajim сканчвае работу па націску кнопкі X вакна. Гэтае " +"настаўленне ўлічваецца толькі разам з значкай прасторы паведамленняў." + +#: gajim/common/config.py:175 +#, fuzzy +msgid "" +"If enabled, Gajim will display the status message (if not empty) underneath " +"the contact name in the contact list window." +msgstr "Калі true, Gajim паказвае стан у галоўным вакне для кожнага чалавека" + +#: gajim/common/config.py:182 +#, fuzzy +msgid "" +"If disabled, Gajim will no longer print status messages in chats when a " +"contact changes their status (and/or their status message)." +msgstr "Калі false, не паказваць паведамленні аб змене стану суразмоўцы." + +#: gajim/common/config.py:183 +#, fuzzy +msgid "" +"Default Setting: Show a status message for every join or leave in a group " +"chat." +msgstr "Немагчыма ўвайсці ў групавую размову" + +#: gajim/common/config.py:184 +#, fuzzy +msgid "" +"Default Setting: Show a status message for all status changes (away, dnd, " +"etc.) of users in a group chat." +msgstr "Немагчыма ўвайсці ў групавую размову" + +#: gajim/common/config.py:191 +#, fuzzy +msgid "" +"Controls the window where new messages are placed.\n" +"'always' - All messages are sent to a single window.\n" +"'always_with_roster' - Like 'always' but the messages are in a single window " +"along with the contact list.\n" +"'never' - All messages get their own window.\n" +"'peracct' - Messages for each account are sent to a specific window.\n" +"'pertype' - Each message type (e.g. chats vs. group chats) is sent to a " +"specific window." +msgstr "" +"Вызначае вакно для новых паведамленняў.\n" +"'always' - Усе паведамленні адпраўляюцца ў адзінае вакно.\n" +"'never' - Усе паведамленні адпраўляюцца ў асобныя вокны.\n" +"'peracct' - Паведамленні ад кожнага рахунка адпраўляюцца ў асобнае вакно.\n" +"'pertype' - Паведамленні аднаго тыпу (напр., прыватныя і групавыя) " +"адпраўляюцца ў асобныя вокны. Зважайце, што гэтыя змены будуць ужытыя толькі " +"пасля перазапуску праграмы." + +#: gajim/common/config.py:192 +msgid "" +"Show contact list window on startup.\n" +"'always' - Always show contact list window.\n" +"'never' - Never show contact list window.\n" +"'last_state' - Restore last state of the contact list window." +msgstr "" + +#: gajim/common/config.py:207 +msgid "" +"Valid URI schemes. Only schemes in this list will be accepted as 'real' URI " +"(mailto and xmpp are handled separately)." +msgstr "" + +#: gajim/common/config.py:212 +msgid "Optionally fix Jingle output video framerate. Example: 10/1 or 25/2." +msgstr "" + +#: gajim/common/config.py:213 +msgid "Optionally resize Jingle output video. Example: 320x240." +msgstr "" + +#: gajim/common/config.py:214 +msgid "If enabled, you will see your webcam's video stream as well." +msgstr "" + +#: gajim/common/config.py:219 +msgid "" +"Proxy used for all outgoing connections if the account does not have a " +"specific proxy configured." +msgstr "" + +#: gajim/common/config.py:222 +msgid "" +"If enabled, Gajim will display an icon to show that sent messages have been " +"received by your contact." +msgstr "" + +#: gajim/common/config.py:223 +#, fuzzy +msgid "" +"If enabled, Gajim will use the System's Keyring to store account passwords." +msgstr "" +"Калі true, Gajim будзе захоўваць паролі ад рахункаў з дапамогай кіраўніка " +"пароляў Gnome Keyring (калі ўсталяваны)." + +#: gajim/common/config.py:225 +msgid "2: System, 1: Enabled, 0: Disabled" +msgstr "" + +#: gajim/common/config.py:226 +msgid "" +"Maximum history in days we request from a public group chat archive. 0: As " +"much as possible." +msgstr "" + +#: gajim/common/config.py:227 +msgid "" +"Maximum history in days we request from a private group chat archive. 0: As " +"much as possible." +msgstr "" + +#: gajim/common/config.py:228 +msgid "" +"If enabled, Gajim shows the group chat subject in the chat window when " +"joining." +msgstr "" + +#: gajim/common/config.py:229 +#, fuzzy +msgid "" +"If enabled, the contact row is colored according to the current chat state " +"of the contact." +msgstr "" +"Калі гэтая опцыя ўключаная, Gajim далучыцца да гэтай групавой размовы пры " +"запуску" + +#: gajim/common/config.py:230 +#, fuzzy +msgid "" +"If enabled, the tab is colored according to the current chat state of the " +"contact." +msgstr "" +"Калі гэтая опцыя ўключаная, Gajim далучыцца да гэтай групавой размовы пры " +"запуску" + +#: gajim/common/config.py:231 +#, fuzzy +msgid "" +"Shows a text in the banner that describes the current chat state of the " +"contact." +msgstr "" +"Калі гэтая опцыя ўключаная, Gajim далучыцца да гэтай групавой размовы пры " +"запуску" + +#: gajim/common/config.py:232 +#, fuzzy +msgid "" +"Chat state notifications that are sent to contacts. Possible values: all, " +"composing_only, disabled" +msgstr "" +"Адпраўляць паведамленні аб стане размовы. Адно з наступных значэнняў: all, " +"composing_only, disabled." + +#: gajim/common/config.py:233 +#, fuzzy +msgid "" +"Chat state notifications that are sent to the group chat. Possible values: " +"'all', 'composing_only', 'disabled'" +msgstr "" +"Адпраўляць паведамленні аб стане размовы. Адно з наступных значэнняў: all, " +"composing_only, disabled." + +#: gajim/common/config.py:240 +msgid "Shows an info bar with helpful hints in the Start / Join Chat dialog" +msgstr "" + +#: gajim/common/config.py:242 +msgid "Date of the last update check" +msgstr "" + +#: gajim/common/config.py:260 +#, fuzzy +msgid "" +"Priority will change automatically according to your status. Priorities are " +"defined in 'autopriority_*' options." +msgstr "" +"Аўтаматычна змяняць прыярытэт згодна з станам. Прыярытэты выстаўленыя ў " +"опцыях autopriority_*." + +#: gajim/common/config.py:267 +msgid "If enabled, the last status will be restored." +msgstr "" + +#: gajim/common/config.py:268 +msgid "" +"If enabled, contacts requesting authorization will be accepted automatically." +msgstr "" + +#: gajim/common/config.py:269 +#, fuzzy +msgid "" +"If disabled, this account will be disabled and will not appear in the " +"contact list window." +msgstr "Калі false, не паказваць аватары ў вакне размовы." + +#: gajim/common/config.py:278 +msgid "ConnectionType: START TLS, DIRECT TLS or PLAIN" +msgstr "" + +#: gajim/common/config.py:280 +msgid "" +"List of XMPP Addresses (space separated) for which you do not want to store " +"chat history. You can also add the name of an account to disable storing " +"chat history for this account." +msgstr "" + +#: gajim/common/config.py:285 +#, fuzzy +msgid "" +"If enabled, Gajim will use your IP and proxies defined in " +"'file_transfer_proxies' option for file transfers." +msgstr "" +"Калі выстаўленая гэтая опцыя, Gajim будзе ўжываць для перадачы файлаў " +"выстаўленыя IP-адрас і проксі-серверы з параметра file_transfer_proxies." + +#: gajim/common/config.py:286 +msgid "" +"If enabled, Gajim will test file transfer proxies on startup to be sure they " +"work. Openfire's proxies are known to fail this test even if they work." +msgstr "" + +#: gajim/common/config.py:298 +msgid "If enabled, Gajim will answer to message receipt requests." +msgstr "" + +#: gajim/common/config.py:303 +#, fuzzy +msgid "" +"Allow Gajim to send information about the operating system you are running." +msgstr "" +"Калі гэтая опцыя ўключаная, Gajim далучыцца да гэтай групавой размовы пры " +"запуску" + +#: gajim/common/config.py:304 +#, fuzzy +msgid "Allow Gajim to send your local time." +msgstr "%s хоча адправіць Вам файл." + +#: gajim/common/config.py:307 +#, fuzzy +msgid "Message that is sent to contacts you want to add." +msgstr "Запоўніце палі звесткамі, каб дадаць чалавека ў спіс" + +#: gajim/common/config.py:308 +#, fuzzy +msgid "" +"If enabled, Gajim will send your local IP so your contact can connect to " +"your machine for file transfers." +msgstr "" +"Калі выстаўленая гэтая опцыя, Gajim будзе ўжываць для перадачы файлаў " +"выстаўленыя IP-адрас і проксі-серверы з параметра file_transfer_proxies." + +#: gajim/common/config.py:309 +msgid "" +"List of XMPP Addresses (space separated) for which the chat window will be " +"re-opened on next startup." +msgstr "" + +#: gajim/common/config.py:311 +msgid "" +"Preferred file transfer mechanism for file drag&drop on a chat window. Can " +"be 'httpupload' (default) or 'jingle'." +msgstr "" + +#: gajim/common/config.py:312 +#, fuzzy +msgid "Allow certificate verification with POSH." +msgstr "Дадаць асабістае нагадванне для %s" + +#: gajim/common/config.py:336 +#, fuzzy +msgid "" +"Chat state notifications that are sent to contacts. Possible values: 'all', " +"'composing_only', 'disabled'" +msgstr "" +"Адпраўляць паведамленні аб стане размовы. Адно з наступных значэнняў: all, " +"composing_only, disabled." + +#: gajim/common/config.py:339 +#, fuzzy +msgid "The currently active encryption for that contact." +msgstr "Ці ўжыты OpenPGP ў размове з гэтым чалавекам?" + +#: gajim/common/config.py:343 +msgid "" +"If enabled, a notification is created for every message in this group chat." +msgstr "" + +#: gajim/common/config.py:344 +#, fuzzy +msgid "" +"Show a status message for all status changes (away, dnd, etc.) of users in a " +"group chat." +msgstr "Немагчыма ўвайсці ў групавую размову" + +#: gajim/common/config.py:345 +#, fuzzy +msgid "Show a status message for every join or leave in a group chat." +msgstr "Немагчыма ўвайсці ў групавую размову" + +#: gajim/common/config.py:346 +msgid "" +"If enabled, the group chat is minimized into the contact list when joining " +"automatically." +msgstr "" + +#: gajim/common/config.py:347 +msgid "" +"If enabled, the group chat is minimized into the contact list when closing " +"it." +msgstr "" + +#: gajim/common/config.py:348 +#, fuzzy +msgid "" +"Chat state notifications that are sent to the group chat. Possible values: " +"'all', 'composing_only' or 'disabled'." +msgstr "" +"Адпраўляць паведамленні аб стане размовы. Адно з наступных значэнняў: all, " +"composing_only, disabled." + +#: gajim/common/config.py:351 +msgid "" +"If enabled, plugins will be activated on startup (this is saved when exiting " +"Gajim). This option SHOULD NOT be used to (de)activate plugins. Use the " +"plugin window instead." +msgstr "" + +#: gajim/common/config.py:358 +#, fuzzy +msgid "I'm eating." +msgstr "Працую." + +#: gajim/common/config.py:359 +msgid "I'm watching a movie." +msgstr "Гляджу фільм." + +#: gajim/common/config.py:360 +msgid "I'm working." +msgstr "Працую." + +#: gajim/common/config.py:361 +msgid "Phone" +msgstr "Тэлефон" + +#: gajim/common/config.py:361 +msgid "I'm on the phone." +msgstr "Я на тэлефоне." + +#: gajim/common/config.py:362 +msgid "I'm out enjoying life." +msgstr "Я цешуся з жыцця." + +#: gajim/common/config.py:373 +#, fuzzy +msgid "" +"Sound to play when a group chat message contains one of the words in " +"'muc_highlight_words' or your nickname is mentioned." +msgstr "" +"Прайграць гэты гук, калі прыходзіць групавое паведамленне з адным з слоў, " +"вызначаных у параметры muc_highlight_words, ці калі гэтае паведамленне " +"ўтрымлівае Вашую мянушку." + +#: gajim/common/config.py:374 +#, fuzzy +msgid "Sound to play when any group chat message arrives." +msgstr "Прайграць гук пры атрыманні паведамлення MUC." + +#: gajim/common/config.py:378 +#, fuzzy +msgid "Tor" +msgstr "Да" + +#: gajim/common/exceptions.py:45 +#, python-format +msgid "" +"The database file (%s) cannot be read. Try to repair it (see https://dev." +"gajim.org/gajim/gajim/wikis/help/DatabaseBackup) or remove it (all history " +"will be lost)." +msgstr "" + +#: gajim/common/exceptions.py:59 +msgid "Service not available: Gajim is not running, or remote_control is False" +msgstr "" +"Сервіс недаступны: Gajim не працуе, альбо remote_control мае значэнне False" + +#: gajim/common/exceptions.py:81 +#, fuzzy, python-format +msgid "" +"Session bus is not available.\n" +"Try reading %(url)s" +msgstr "" +"Шына сеанса недаступная.\n" +"Чытайце http://trac.gajim.org/wiki/GajimDBus" + +#: gajim/common/exceptions.py:93 +#, fuzzy, python-format +msgid "" +"System bus is not available.\n" +"Try reading %(url)s" +msgstr "" +"Шына сеанса недаступная.\n" +"Чытайце http://trac.gajim.org/wiki/GajimDBus" + +#: gajim/common/optparser.py:54 +#, python-format +msgid "Error: cannot open %s for reading" +msgstr "Памылка: немагчыма прачытаць %s" + +#: gajim/common/configpaths.py:84 +#, python-format +msgid "%s is a file but it should be a directory" +msgstr "%s з'яўляецца файлам, але павінна быць дырэкторыя" + +#: gajim/common/configpaths.py:85 +msgid "Gajim will now exit" +msgstr "Gajim сканчвае работу" + +#: gajim/common/connection_handlers_events.py:242 +#: gajim/common/connection_handlers_events.py:342 +#, fuzzy, python-format +msgid "New message from %(nickname)s" +msgid_plural "%(n_msgs)i unread messages from %(nickname)s" +msgstr[0] "Новае паведамленне ад %(nickname)s" +msgstr[1] "Новае паведамленне ад %(nickname)s" +msgstr[2] "Новае паведамленне ад %(nickname)s" + +#: gajim/common/connection_handlers_events.py:412 +#, python-format +msgid "%(nick)s Changed Status" +msgstr "%(nick)s змяніў стан" + +#: gajim/common/const.py:287 +#, fuzzy +msgid "?Group chat name:Team" +msgstr "?Роля чалавека:Няма" + +#: gajim/common/const.py:288 +msgid "?Group chat description:Project discussion" +msgstr "" + +#: gajim/common/const.py:289 +#, fuzzy +msgid "?Group chat address:team" +msgstr "Групавыя размовы" + +#: gajim/common/const.py:290 +#, fuzzy +msgid "?Group chat name:Family" +msgstr "Фарбаванае паведамленне ў групавой размове" + +#: gajim/common/const.py:291 +msgid "?Group chat description:Spring gathering" +msgstr "" + +#: gajim/common/const.py:292 +msgid "?Group chat address:family" +msgstr "" + +#: gajim/common/const.py:293 +#, fuzzy +msgid "?Group chat name:Vacation" +msgstr "Запрашэнне ў групавую размову" + +#: gajim/common/const.py:294 +msgid "?Group chat description:Trip planning" +msgstr "" + +#: gajim/common/const.py:295 +#, fuzzy +msgid "?Group chat address:vacation" +msgstr "Запрашэнне ў групавую размову" + +#: gajim/common/const.py:296 +#, fuzzy +msgid "?Group chat name:Repairs" +msgstr "Групавая размова" + +#: gajim/common/const.py:297 +msgid "?Group chat description:Local help group" +msgstr "" + +#: gajim/common/const.py:298 +#, fuzzy +msgid "?Group chat address:repairs" +msgstr "Групавыя размовы" + +#: gajim/common/const.py:299 +#, fuzzy +msgid "?Group chat name:News" +msgstr "?Роля чалавека:Няма" + +#: gajim/common/const.py:300 +#, fuzzy +msgid "?Group chat description:Local news and reports" +msgstr "Стварэнне групавых размоў абмежаванае." + +#: gajim/common/const.py:301 +#, fuzzy +msgid "?Group chat address:news" +msgstr "Новая групавая размова" + +#: gajim/common/const.py:306 +#, fuzzy +msgid "Remote server not found" +msgstr "Немагчыма знайсці сервіс" + +#: gajim/common/const.py:307 +msgid "Remote server timeout" +msgstr "" + +#: gajim/common/const.py:308 gajim/common/const.py:309 +#: gajim/common/const.py:310 +#, fuzzy +msgid "Address does not belong to a group chat server" +msgstr "Гэта не групавая размова" + +#: gajim/common/const.py:311 +#, fuzzy +msgid "Group chat already exists" +msgstr "Мясцовы рахунак Local ужо існуе." + +#: gajim/common/const.py:312 +#, fuzzy +msgid "Group chat does not exist" +msgstr "Такой групавой размовы няма." + +#: gajim/common/const.py:313 +#, fuzzy +msgid "Group chat is closed" +msgstr "Групавыя размовы" + +#: gajim/common/const.py:319 +msgid "This message was encrypted with OTR and could not be decrypted." +msgstr "" + +#: gajim/common/const.py:322 +msgid "" +"This message was encrypted with Legacy OpenPGP and could not be decrypted. " +"You can install the PGP plugin to handle those messages." +msgstr "" + +#: gajim/common/const.py:326 +msgid "" +"This message was encrypted with OpenPGP for XMPP and could not be decrypted. " +"You can install the OpenPGP plugin to handle those messages." +msgstr "" + +#: gajim/common/const.py:330 +#, python-format +msgid "This message was encrypted with %s and could not be decrypted." +msgstr "" + +#: gajim/common/const.py:337 +#, fuzzy +msgid "Doing Chores" +msgstr "Няправільны вузел" + +#: gajim/common/const.py:338 +msgid "Buying Groceries" +msgstr "" + +#: gajim/common/const.py:339 +#, fuzzy +msgid "Cleaning" +msgstr "Вечар" + +#: gajim/common/const.py:340 +#, fuzzy +msgid "Cooking" +msgstr "Піша" + +#: gajim/common/const.py:341 +msgid "Doing Maintenance" +msgstr "" + +#: gajim/common/const.py:342 +msgid "Doing the Dishes" +msgstr "" + +#: gajim/common/const.py:343 +msgid "Doing the Laundry" +msgstr "" + +#: gajim/common/const.py:344 +#, fuzzy +msgid "Gardening" +msgstr "Раніца" + +#: gajim/common/const.py:345 +msgid "Running an Errand" +msgstr "" + +#: gajim/common/const.py:346 +#, fuzzy +msgid "Walking the Dog" +msgstr "усе з групы" + +#: gajim/common/const.py:348 +#, fuzzy +msgid "Drinking" +msgstr "Працую" + +#: gajim/common/const.py:349 +msgid "Having a Beer" +msgstr "" + +#: gajim/common/const.py:350 +msgid "Having Coffee" +msgstr "" + +#: gajim/common/const.py:351 +msgid "Having Tea" +msgstr "" + +#: gajim/common/const.py:354 +msgid "Having a Snack" +msgstr "" + +#: gajim/common/const.py:355 +msgid "Having Breakfast" +msgstr "" + +#: gajim/common/const.py:356 +msgid "Having Dinner" +msgstr "" + +#: gajim/common/const.py:357 +msgid "Having Lunch" +msgstr "" + +#: gajim/common/const.py:359 +msgid "Exercising" +msgstr "" + +#: gajim/common/const.py:360 gajim/common/const.py:411 +msgid "Cycling" +msgstr "" + +#: gajim/common/const.py:361 +#, fuzzy +msgid "Dancing" +msgstr "Вечар" + +#: gajim/common/const.py:362 +#, fuzzy +msgid "Hiking" +msgstr "Пакаранне %s" + +#: gajim/common/const.py:363 +#, fuzzy +msgid "Jogging" +msgstr "_Далучыцца" + +#: gajim/common/const.py:364 +msgid "Playing Sports" +msgstr "" + +#: gajim/common/const.py:365 +msgid "Running" +msgstr "" + +#: gajim/common/const.py:366 +#, fuzzy +msgid "Skiing" +msgstr "Працую" + +#: gajim/common/const.py:367 +msgid "Swimming" +msgstr "" + +#: gajim/common/const.py:368 +#, fuzzy +msgid "Working out" +msgstr "Працую" + +#: gajim/common/const.py:370 +#, fuzzy +msgid "Grooming" +msgstr "пакой" + +#: gajim/common/const.py:371 +msgid "At the Spa" +msgstr "" + +#: gajim/common/const.py:372 +msgid "Brushing Teeth" +msgstr "" + +#: gajim/common/const.py:373 +msgid "Getting a Haircut" +msgstr "" + +#: gajim/common/const.py:374 +#, fuzzy +msgid "Shaving" +msgstr "Ежа" + +#: gajim/common/const.py:375 +msgid "Taking a Bath" +msgstr "" + +#: gajim/common/const.py:376 +msgid "Taking a Shower" +msgstr "" + +#: gajim/common/const.py:378 +msgid "Having an Appointment" +msgstr "" + +#: gajim/common/const.py:380 +msgid "Inactive" +msgstr "Неактыўны" + +#: gajim/common/const.py:381 +msgid "Day Off" +msgstr "" + +#: gajim/common/const.py:382 +#, fuzzy +msgid "Hanging out" +msgstr "Змяненне тэмы" + +#: gajim/common/const.py:383 +#, fuzzy +msgid "Hiding" +msgstr "Пакаранне %s" + +#: gajim/common/const.py:384 +msgid "On Vacation" +msgstr "" + +#: gajim/common/const.py:385 +#, fuzzy +msgid "Praying" +msgstr "Ежа" + +#: gajim/common/const.py:386 +msgid "Scheduled Holiday" +msgstr "" + +#: gajim/common/const.py:388 +#, fuzzy +msgid "Thinking" +msgstr "Працую" + +#: gajim/common/const.py:390 +msgid "Relaxing" +msgstr "" + +#: gajim/common/const.py:391 +#, fuzzy +msgid "Fishing" +msgstr "Пакаранне %s" + +#: gajim/common/const.py:392 +#, fuzzy +msgid "Gaming" +msgstr "Ежа" + +#: gajim/common/const.py:393 +#, fuzzy +msgid "Going out" +msgstr "З_ысці" + +#: gajim/common/const.py:394 +#, fuzzy +msgid "Partying" +msgstr "Ежа" + +#: gajim/common/const.py:395 +#, fuzzy +msgid "Reading" +msgstr "Прычына" + +#: gajim/common/const.py:396 +#, fuzzy +msgid "Rehearsing" +msgstr "Прычына" + +#: gajim/common/const.py:397 +#, fuzzy +msgid "Shopping" +msgstr "Сон" + +#: gajim/common/const.py:398 +#, fuzzy +msgid "Smoking" +msgstr "Працую" + +#: gajim/common/const.py:399 +msgid "Socializing" +msgstr "" + +#: gajim/common/const.py:400 +#, fuzzy +msgid "Sunbathing" +msgstr "Ежа" + +#: gajim/common/const.py:401 +msgid "Watching TV" +msgstr "" + +#: gajim/common/const.py:402 +#, fuzzy +msgid "Watching a Movie" +msgstr "Гляджу фільм." + +#: gajim/common/const.py:404 +#, fuzzy +msgid "Talking" +msgstr "Ежа" + +#: gajim/common/const.py:405 +msgid "In Real Life" +msgstr "" + +#: gajim/common/const.py:406 +#, fuzzy +msgid "On the Phone" +msgstr "Я на тэлефоне." + +#: gajim/common/const.py:407 +msgid "On Video Phone" +msgstr "" + +#: gajim/common/const.py:409 +#, fuzzy +msgid "Traveling" +msgstr "Перадача" + +#: gajim/common/const.py:410 +#, fuzzy +msgid "Commuting" +msgstr "Піша" + +#: gajim/common/const.py:412 +msgid "Driving" +msgstr "" + +#: gajim/common/const.py:413 +msgid "In a Car" +msgstr "" + +#: gajim/common/const.py:414 +msgid "On a Bus" +msgstr "" + +#: gajim/common/const.py:415 +#, fuzzy +msgid "On a Plane" +msgstr "У сетцы" + +#: gajim/common/const.py:416 +#, fuzzy +msgid "On a Train" +msgstr "Адкрыць _спасылку" + +#: gajim/common/const.py:417 +msgid "On a Trip" +msgstr "" + +#: gajim/common/const.py:418 +#, fuzzy +msgid "Walking" +msgstr "Працую" + +#: gajim/common/const.py:421 +#, fuzzy +msgid "Coding" +msgstr "Піша" + +#: gajim/common/const.py:422 +msgid "In a Meeting" +msgstr "" + +#: gajim/common/const.py:423 +msgid "Studying" +msgstr "" + +#: gajim/common/const.py:424 +#, fuzzy +msgid "Writing" +msgstr "Працую" + +#: gajim/common/const.py:427 +msgid "Afraid" +msgstr "" + +#: gajim/common/const.py:428 +msgid "Amazed" +msgstr "" + +#: gajim/common/const.py:429 +msgid "Amorous" +msgstr "" + +#: gajim/common/const.py:430 +msgid "Angry" +msgstr "" + +#: gajim/common/const.py:431 +msgid "Annoyed" +msgstr "" + +#: gajim/common/const.py:432 +msgid "Anxious" +msgstr "" + +#: gajim/common/const.py:433 +#, fuzzy +msgid "Aroused" +msgstr "Прыпынена" + +#: gajim/common/const.py:434 +msgid "Ashamed" +msgstr "" + +#: gajim/common/const.py:435 +#, fuzzy +msgid "Bored" +msgstr "Тлусты" + +#: gajim/common/const.py:436 +#, fuzzy +msgid "Brave" +msgstr "Мае " + +#: gajim/common/const.py:437 +msgid "Calm" +msgstr "" + +#: gajim/common/const.py:438 +#, fuzzy +msgid "Cautious" +msgstr "Размовы" + +#: gajim/common/const.py:439 +#, fuzzy +msgid "Cold" +msgstr "Тлусты" + +#: gajim/common/const.py:440 +#, fuzzy +msgid "Confident" +msgstr "_Змест" + +#: gajim/common/const.py:441 +msgid "Confused" +msgstr "" + +#: gajim/common/const.py:442 +#, fuzzy +msgid "Contemplative" +msgstr "Скончаная" + +#: gajim/common/const.py:443 +#, fuzzy +msgid "Contented" +msgstr "_Змест" + +#: gajim/common/const.py:444 +msgid "Cranky" +msgstr "" + +#: gajim/common/const.py:445 +msgid "Crazy" +msgstr "" + +#: gajim/common/const.py:446 +#, fuzzy +msgid "Creative" +msgstr "Неактывізаваны" + +#: gajim/common/const.py:447 +#, fuzzy +msgid "Curious" +msgstr "спасылка" + +#: gajim/common/const.py:448 +#, fuzzy +msgid "Dejected" +msgstr "Выдаліць" + +#: gajim/common/const.py:449 +msgid "Depressed" +msgstr "" + +#: gajim/common/const.py:450 +#, fuzzy +msgid "Disappointed" +msgstr "Адключана" + +#: gajim/common/const.py:451 +msgid "Disgusted" +msgstr "" + +#: gajim/common/const.py:452 +#, fuzzy +msgid "Dismayed" +msgstr "Адключана" + +#: gajim/common/const.py:453 +#, fuzzy +msgid "Distracted" +msgstr "Адключана" + +#: gajim/common/const.py:454 +msgid "Embarrassed" +msgstr "" + +#: gajim/common/const.py:455 +msgid "Envious" +msgstr "" + +#: gajim/common/const.py:456 +#, fuzzy +msgid "Excited" +msgstr "Актывізаваны" + +#: gajim/common/const.py:457 +msgid "Flirtatious" +msgstr "" + +#: gajim/common/const.py:458 +msgid "Frustrated" +msgstr "" + +#: gajim/common/const.py:459 +msgid "Grateful" +msgstr "" + +#: gajim/common/const.py:460 +msgid "Grieving" +msgstr "" + +#: gajim/common/const.py:461 +#, fuzzy +msgid "Grumpy" +msgstr "Група" + +#: gajim/common/const.py:462 +msgid "Guilty" +msgstr "" + +#: gajim/common/const.py:463 +msgid "Happy" +msgstr "" + +#: gajim/common/const.py:464 +msgid "Hopeful" +msgstr "" + +#: gajim/common/const.py:465 +#, fuzzy +msgid "Hot" +msgstr "_Вузел:" + +#: gajim/common/const.py:466 +msgid "Humbled" +msgstr "" + +#: gajim/common/const.py:467 +msgid "Humiliated" +msgstr "" + +#: gajim/common/const.py:468 +msgid "Hungry" +msgstr "" + +#: gajim/common/const.py:469 +msgid "Hurt" +msgstr "" + +#: gajim/common/const.py:470 +#, fuzzy +msgid "Impressed" +msgstr "паведамленне" + +#: gajim/common/const.py:471 +msgid "In Awe" +msgstr "" + +#: gajim/common/const.py:472 +msgid "In Love" +msgstr "" + +#: gajim/common/const.py:473 +msgid "Indignant" +msgstr "" + +#: gajim/common/const.py:474 +msgid "Interested" +msgstr "" + +#: gajim/common/const.py:475 +#, fuzzy +msgid "Intoxicated" +msgstr "Актывізаваны" + +#: gajim/common/const.py:476 +#, fuzzy +msgid "Invincible" +msgstr "Нябачны" + +#: gajim/common/const.py:477 +msgid "Jealous" +msgstr "" + +#: gajim/common/const.py:478 +#, fuzzy +msgid "Lonely" +msgstr "адзін" + +#: gajim/common/const.py:479 +#, fuzzy +msgid "Lost" +msgstr "_Вузел:" + +#: gajim/common/const.py:480 +msgid "Lucky" +msgstr "" + +#: gajim/common/const.py:481 +#, fuzzy +msgid "Mean" +msgstr "Нямецкая" + +#: gajim/common/const.py:482 +#, fuzzy +msgid "Moody" +msgstr "_Змяніць" + +#: gajim/common/const.py:483 +msgid "Nervous" +msgstr "" + +#: gajim/common/const.py:484 +msgid "Neutral" +msgstr "" + +#: gajim/common/const.py:485 +#, fuzzy +msgid "Offended" +msgstr "Адключаны" + +#: gajim/common/const.py:486 +msgid "Outraged" +msgstr "" + +#: gajim/common/const.py:487 +msgid "Playful" +msgstr "" + +#: gajim/common/const.py:488 +#, fuzzy +msgid "Proud" +msgstr "Група" + +#: gajim/common/const.py:489 +msgid "Relaxed" +msgstr "" + +#: gajim/common/const.py:490 +#, fuzzy +msgid "Relieved" +msgstr "адзінаццаць" + +#: gajim/common/const.py:491 +msgid "Remorseful" +msgstr "" + +#: gajim/common/const.py:492 +msgid "Restless" +msgstr "" + +#: gajim/common/const.py:493 +#, fuzzy +msgid "Sad" +msgstr "Марнаванне часу" + +#: gajim/common/const.py:494 +msgid "Sarcastic" +msgstr "" + +#: gajim/common/const.py:495 +#, fuzzy +msgid "Satisfied" +msgstr "Апошняя змена:" + +#: gajim/common/const.py:496 +msgid "Serious" +msgstr "" + +#: gajim/common/const.py:497 +msgid "Shocked" +msgstr "" + +#: gajim/common/const.py:498 +msgid "Shy" +msgstr "" + +#: gajim/common/const.py:499 +#, fuzzy +msgid "Sick" +msgstr "Мянушка" + +#: gajim/common/const.py:500 +#, fuzzy +msgid "Sleepy" +msgstr "Сон" + +#: gajim/common/const.py:501 +msgid "Spontaneous" +msgstr "" + +#: gajim/common/const.py:502 +#, fuzzy +msgid "Stressed" +msgstr "Вуліца:" + +#: gajim/common/const.py:503 +msgid "Strong" +msgstr "" + +#: gajim/common/const.py:504 +#, fuzzy +msgid "Surprised" +msgstr "Падпісаны" + +#: gajim/common/const.py:505 +msgid "Thankful" +msgstr "" + +#: gajim/common/const.py:506 +msgid "Thirsty" +msgstr "" + +#: gajim/common/const.py:507 +#, fuzzy +msgid "Tired" +msgstr "Час" + +#: gajim/common/const.py:508 +#, fuzzy +msgid "Undefined" +msgstr "дзевяць" + +#: gajim/common/const.py:509 +msgid "Weak" +msgstr "" + +#: gajim/common/const.py:510 +msgid "Worried" +msgstr "" + +#: gajim/common/const.py:514 +msgid "accuracy" +msgstr "" + +#: gajim/common/const.py:515 +#, fuzzy +msgid "alt" +msgstr "Прадвызначана" + +#: gajim/common/const.py:516 +msgid "area" +msgstr "" + +#: gajim/common/const.py:517 +#, fuzzy +msgid "bearing" +msgstr "мора" + +#: gajim/common/const.py:518 +#, fuzzy +msgid "building" +msgstr "Пакаранне %s" + +#: gajim/common/const.py:519 +#, fuzzy +msgid "country" +msgstr "Краіна:" + +#: gajim/common/const.py:520 +#, fuzzy +msgid "countrycode" +msgstr "Рахунак" + +#: gajim/common/const.py:521 +msgid "datum" +msgstr "" + +#: gajim/common/const.py:522 +#, fuzzy +msgid "description" +msgstr "Апісанне" + +#: gajim/common/const.py:523 +#, fuzzy +msgid "error" +msgstr "Памылка Avahi" + +#: gajim/common/const.py:524 +msgid "floor" +msgstr "" + +#: gajim/common/const.py:525 +msgid "lat" +msgstr "" + +#: gajim/common/const.py:526 +msgid "locality" +msgstr "" + +#: gajim/common/const.py:527 +#, fuzzy +msgid "lon" +msgstr "адзін" + +#: gajim/common/const.py:528 +msgid "postalcode" +msgstr "" + +#: gajim/common/const.py:529 +msgid "region" +msgstr "" + +#: gajim/common/const.py:530 +msgid "room" +msgstr "пакой" + +#: gajim/common/const.py:531 +msgid "speed" +msgstr "" + +#: gajim/common/const.py:532 +msgid "street" +msgstr "" + +#: gajim/common/const.py:533 +msgid "text" +msgstr "" + +#: gajim/common/const.py:534 +msgid "timestamp" +msgstr "" + +#: gajim/common/const.py:535 +msgid "URI" +msgstr "" + +#: gajim/common/const.py:540 +msgid "Unable to get issuer certificate" +msgstr "" + +#: gajim/common/const.py:541 +msgid "Unable to get certificate CRL" +msgstr "" + +#: gajim/common/const.py:542 +msgid "Unable to decrypt certificate's signature" +msgstr "" + +#: gajim/common/const.py:543 +msgid "Unable to decrypt CRL's signature" +msgstr "" + +#: gajim/common/const.py:544 +#, fuzzy +msgid "Unable to decode issuer public key" +msgstr "Немагчыма загрузіць модуль idle" + +#: gajim/common/const.py:545 +msgid "Certificate signature failure" +msgstr "" + +#: gajim/common/const.py:546 +msgid "CRL signature failure" +msgstr "" + +#: gajim/common/const.py:547 +msgid "Certificate is not yet valid" +msgstr "" + +#: gajim/common/const.py:548 +msgid "Certificate has expired" +msgstr "" + +#: gajim/common/const.py:549 +msgid "CRL is not yet valid" +msgstr "" + +#: gajim/common/const.py:550 +msgid "CRL has expired" +msgstr "" + +#: gajim/common/const.py:551 +msgid "Format error in certificate's notBefore field" +msgstr "" + +#: gajim/common/const.py:552 +msgid "Format error in certificate's notAfter field" +msgstr "" + +#: gajim/common/const.py:553 +msgid "Format error in CRL's lastUpdate field" +msgstr "" + +#: gajim/common/const.py:554 +msgid "Format error in CRL's nextUpdate field" +msgstr "" + +#: gajim/common/const.py:555 +msgid "Out of memory" +msgstr "" + +#: gajim/common/const.py:556 +msgid "Self signed certificate" +msgstr "" + +#: gajim/common/const.py:557 +msgid "Self signed certificate in certificate chain" +msgstr "" + +#: gajim/common/const.py:558 +msgid "Unable to get local issuer certificate" +msgstr "" + +#: gajim/common/const.py:559 +msgid "Unable to verify the first certificate" +msgstr "" + +#: gajim/common/const.py:560 +msgid "Certificate chain too long" +msgstr "" + +#: gajim/common/const.py:561 +msgid "Certificate revoked" +msgstr "" + +#: gajim/common/const.py:562 +#, fuzzy +msgid "Invalid CA certificate" +msgstr "Няправільнае імя карыстальніка" + +#: gajim/common/const.py:563 +msgid "Path length constraint exceeded" +msgstr "" + +#: gajim/common/const.py:564 +msgid "Unsupported certificate purpose" +msgstr "" + +#: gajim/common/const.py:565 +msgid "Certificate not trusted" +msgstr "" + +#: gajim/common/const.py:566 +msgid "Certificate rejected" +msgstr "" + +#: gajim/common/const.py:567 +msgid "Subject issuer mismatch" +msgstr "" + +#: gajim/common/const.py:568 +msgid "Authority and subject key identifier mismatch" +msgstr "" + +#: gajim/common/const.py:569 +msgid "Authority and issuer serial number mismatch" +msgstr "" + +#: gajim/common/const.py:570 +msgid "Key usage does not include certificate signing" +msgstr "" + +#: gajim/common/const.py:571 +msgid "Application verification failure" +msgstr "" + +#: gajim/common/const.py:893 +msgid "The signing certificate authority is not known" +msgstr "" + +#: gajim/common/const.py:894 +#, fuzzy +msgid "The certificate has been revoked" +msgstr "Стан змяніўся." + +#: gajim/common/const.py:895 +msgid "The certificate does not match the expected identity of the site" +msgstr "" + +#: gajim/common/const.py:896 +msgid "The certificate’s algorithm is insecure" +msgstr "" + +#: gajim/common/const.py:897 +msgid "The certificate’s activation time is in the future" +msgstr "" + +#: gajim/common/const.py:898 +#, fuzzy +msgid "Unknown validation error" +msgstr "Настаўленні пакоя" + +#: gajim/common/const.py:899 +#, fuzzy +msgid "The certificate has expired" +msgstr "Патрэбны пароль" + +#: gajim/common/const.py:954 +#, fuzzy +msgid "Authentication aborted" +msgstr "Паспяховая аўтарызацыя" + +#: gajim/common/const.py:955 +#, fuzzy +msgid "Account disabled" +msgstr "Шыфраванне адключанае" + +#: gajim/common/const.py:956 +#, fuzzy +msgid "Credentials expired" +msgstr "Патрэбны пароль" + +#: gajim/common/const.py:957 +#, fuzzy +msgid "Encryption required" +msgstr "Шыфраванне дзейнічае" + +#: gajim/common/const.py:961 +#, fuzzy +msgid "Authentication mechanism not supported" +msgstr "Пашырэнне не падтрымліваецца" + +#: gajim/common/const.py:962 +#, fuzzy +msgid "Authentication mechanism too weak" +msgstr "Памылка аўтарызацыі з \"%s\"" + +#: gajim/common/const.py:964 +msgid "Authentication currently not possible" +msgstr "" + +#: gajim/common/const.py:1109 +msgid "No Sync" +msgstr "" + +#: gajim/common/const.py:1111 +msgid "2 Days" +msgstr "" + +#: gajim/common/const.py:1114 +msgid "No Threshold" +msgstr "" + +#: gajim/common/logging_helpers.py:31 +#, python-format +msgid "%s is not a valid loglevel" +msgstr "" + +#: gajim/common/zeroconf/zeroconf_avahi.py:256 +#: gajim/common/zeroconf/zeroconf_bonjour.py:248 +#: gajim/common/zeroconf/zeroconf_bonjour.py:265 +#: gajim/common/zeroconf/zeroconf_bonjour.py:323 +#, python-format +msgid "Error while adding service. %s" +msgstr "Памылка дадання сервіса. %s" + +#: gajim/common/zeroconf/connection_zeroconf.py:252 +#, python-format +msgid "Could not connect to \"%s\"" +msgstr "Немагчыма злучыцца з \"%s\"" + +#: gajim/common/zeroconf/connection_zeroconf.py:253 +#, fuzzy +msgid "Please check if Avahi or Bonjour is installed." +msgstr "Праверце, ці ўсталяваны Avahi." + +#: gajim/common/zeroconf/connection_zeroconf.py:263 +#: gajim/common/zeroconf/connection_zeroconf.py:267 +msgid "Could not start local service" +msgstr "Немагчыма стартаваць мясцовы сервіс" + +#: gajim/common/zeroconf/connection_zeroconf.py:264 +#, python-format +msgid "Unable to bind to port %d." +msgstr "Немагчыма злучыцца праз порт %d." + +#: gajim/common/zeroconf/connection_zeroconf.py:268 +#, fuzzy +msgid "Please check if avahi/bonjour-daemon is running." +msgstr "Праверце, ці працуе avahi-daemon." + +#: gajim/common/zeroconf/connection_zeroconf.py:362 +#: gajim/common/zeroconf/connection_zeroconf.py:375 +#, python-format +msgid "Could not change status of account \"%s\"" +msgstr "Немагчыма змяніць стан рахунка \"%s\"" + +#: gajim/common/zeroconf/connection_zeroconf.py:363 +#: gajim/common/zeroconf/connection_zeroconf.py:376 +msgid "Please check if avahi-daemon is running." +msgstr "Праверце, ці працуе avahi-daemon." + +#: gajim/common/zeroconf/connection_zeroconf.py:404 +#, fuzzy +msgid "Your message could not be sent." +msgstr "Чалавека пакуль няма. Вы не можаце адправіць паведамленне." + +#: gajim/common/zeroconf/connection_zeroconf.py:419 +msgid "Contact is offline. Your message could not be sent." +msgstr "Чалавека пакуль няма. Вы не можаце адправіць паведамленне." + +#: gajim/common/zeroconf/connection_zeroconf.py:441 +msgid "" +"Connection to host could not be established: Timeout while sending data." +msgstr "Немагчыма злучыцца з вузлом: скончыўся тэрмін чакання." + +#: gajim/common/dbus/logind.py:73 +msgid "Machine is going to sleep" +msgstr "" + +#: gajim/common/dbus/logind.py:103 +msgid "Disconnect from the network" +msgstr "" + +#: gajim/common/modules/adhoc_commands.py:88 +msgid "Change status information" +msgstr "Змяніць звесткі аб стане" + +#: gajim/common/modules/adhoc_commands.py:112 +msgid "Change status" +msgstr "Змяніць стан" + +#: gajim/common/modules/adhoc_commands.py:113 +msgid "Set the presence type and description" +msgstr "Выставіць тып прысутнасці і апісанне" + +#: gajim/common/modules/adhoc_commands.py:120 +msgid "Free for chat" +msgstr "Вольны для размовы" + +#: gajim/common/modules/adhoc_commands.py:121 +msgid "Online" +msgstr "У сетцы" + +#: gajim/common/modules/adhoc_commands.py:123 +msgid "Extended away" +msgstr "Пашыраны рэжым адсутнасці" + +#: gajim/common/modules/adhoc_commands.py:124 +msgid "Do not disturb" +msgstr "Не турбаваць" + +#: gajim/common/modules/adhoc_commands.py:125 +msgid "Offline - disconnect" +msgstr "Адлучаны - па-за сеткай" + +#: gajim/common/modules/adhoc_commands.py:131 +msgid "Presence description:" +msgstr "Апісанне прысутнасці:" + +#: gajim/common/modules/adhoc_commands.py:170 +msgid "The status has been changed." +msgstr "Стан змяніўся." + +#: gajim/common/modules/presence.py:265 +msgid "I would like to add you to my roster." +msgstr "Я хачу дадаць Вас у мой кантактны ліст." + +#: gajim/common/modules/roster_item_exchange.py:103 +#, python-format +msgid "Sent contact: \"%(jid)s\" (%(name)s)" +msgstr "" + +#: gajim/common/modules/roster_item_exchange.py:107 +#, fuzzy +msgid "Sent contacts:" +msgstr "Людзі" + +#: gajim/common/modules/httpupload.py:99 +#, fuzzy +msgid "File is empty" +msgstr "Месца файла" + +#: gajim/common/modules/httpupload.py:102 +#, fuzzy +msgid "File does not exist" +msgstr "Такой групавой размовы няма." + +#: gajim/common/modules/httpupload.py:109 +#: gajim/common/modules/httpupload.py:172 +#, python-format +msgid "File is too large, maximum allowed file size is: %s" +msgstr "" + +#: gajim/common/modules/httpupload.py:279 +#, fuzzy +msgid "Encrypting file…" +msgstr "Шыфраванне адключанае" + +#: gajim/common/modules/httpupload.py:280 +msgid "Requesting HTTP File Upload Slot…" +msgstr "" + +#: gajim/common/modules/httpupload.py:281 +msgid "Uploading via HTTP File Upload…" +msgstr "" + +#: gajim/common/modules/httpupload.py:285 +msgid "The server returned an insecure transport (HTTP)." +msgstr "" + +#: gajim/common/modules/httpupload.py:286 +msgid "There is no encryption method available for the chosen encryption." +msgstr "" + +#: gajim/plugins/pluginmanager.py:679 gajim/plugins/pluginmanager.py:685 +msgid "Archive corrupted" +msgstr "" + +#: gajim/plugins/pluginmanager.py:681 +#, fuzzy +msgid "Archive empty" +msgstr "Месца файла" + +#: gajim/plugins/pluginmanager.py:693 gajim/plugins/pluginmanager.py:701 +#: gajim/plugins/gui.py:273 +msgid "Archive is malformed" +msgstr "" + +#: gajim/plugins/pluginmanager.py:710 gajim/plugins/gui.py:288 +#: gajim/plugins/gui.py:301 +#, fuzzy +msgid "Plugin already exists" +msgstr "Такі файл ужо ёсць" + +#: gajim/plugins/pluginmanager.py:720 +#, fuzzy +msgid "Installation failed" +msgstr "Памылка злучэння" + +#: gajim/plugins/gui.py:67 gajim/data/gui/shortcuts_window.ui:38 +msgid "Plugins" +msgstr "" + +#: gajim/plugins/gui.py:75 +msgid "Click to view Gajim's wiki page on how to install plugins in Flatpak." +msgstr "" + +#: gajim/plugins/gui.py:84 +msgid "Plugin" +msgstr "" + +#: gajim/plugins/gui.py:95 gajim/data/gui/manage_sounds.ui:40 +msgid "Active" +msgstr "Актыўны" + +#: gajim/plugins/gui.py:159 +#, fuzzy, python-format +msgid "Warning: %s" +msgstr "Забарона казання для %s" + +#: gajim/plugins/gui.py:216 +#, fuzzy +msgid "Plugin failed" +msgstr "Памылка злучэння" + +#: gajim/plugins/gui.py:249 +msgid "Unable to properly remove the plugin" +msgstr "" + +#: gajim/plugins/gui.py:287 +#, fuzzy +msgid "Overwrite Plugin?" +msgstr "Паведамленне аб змене стану" + +#: gajim/plugins/gui.py:289 +#, fuzzy +msgid "Do you want to overwrite the currently installed version?" +msgstr "Хочаце выдаліць групу %s з кантактнага ліста?" + +#: gajim/plugins/gui.py:317 gajim/data/gui/groupchat_config.ui:258 +#, fuzzy +msgid "Configuration" +msgstr "Настаўленні пакоя" + +#: gajim/data/gui/groupchat_nick_chooser.ui:47 +#, fuzzy +msgid "Join Group Chat as…" +msgstr "Удзельнічаць у групавой размове" + +#: gajim/data/gui/groupchat_nick_chooser.ui:66 +#, fuzzy +msgid "Your Nickname" +msgstr "П_ерад мянушкай:" + +#: gajim/data/gui/groupchat_control.ui:36 +#, fuzzy +msgid "Drop Files or Contacts" +msgstr "Людзі" + +#: gajim/data/gui/groupchat_control.ui:58 gajim/data/gui/chat_control.ui:322 +msgid "Bold" +msgstr "Тлусты" + +#: gajim/data/gui/groupchat_control.ui:67 gajim/data/gui/chat_control.ui:331 +msgid "Italic" +msgstr "Нахілены" + +#: gajim/data/gui/groupchat_control.ui:76 gajim/data/gui/chat_control.ui:340 +#, fuzzy +msgid "Underline" +msgstr "дзевяць" + +#: gajim/data/gui/groupchat_control.ui:85 gajim/data/gui/chat_control.ui:349 +#, fuzzy +msgid "Strike" +msgstr "Мянушка" + +#: gajim/data/gui/groupchat_control.ui:107 gajim/data/gui/chat_control.ui:371 +#, fuzzy +msgid "Font" +msgstr "_Шрыфт:" + +#: gajim/data/gui/groupchat_control.ui:121 gajim/data/gui/chat_control.ui:385 +#, fuzzy +msgid "Clear formatting" +msgstr "Асабістыя звесткі" + +#: gajim/data/gui/groupchat_control.ui:383 gajim/data/gui/chat_control.ui:784 +#, fuzzy +msgid "Choose encryption" +msgstr "Выберыце файл..." + +#: gajim/data/gui/groupchat_control.ui:429 gajim/data/gui/chat_control.ui:667 +#, fuzzy +msgid "Show a list of emojis (Alt+M)" +msgstr "Пстрыкніце, каб уставіць сымболік (Alt+M)" + +#: gajim/data/gui/groupchat_control.ui:454 gajim/data/gui/chat_control.ui:833 +#, fuzzy +msgid "Send Message" +msgstr "Адправіць паведамленне" + +#: gajim/data/gui/groupchat_control.ui:583 +#, fuzzy +msgid "Joining…" +msgstr "Забараніць казанне..." + +#: gajim/data/gui/groupchat_control.ui:641 +#, fuzzy +msgid "Enter Nickname" +msgstr "Уставіць мянушку" + +#: gajim/data/gui/groupchat_control.ui:691 +#: gajim/data/gui/groupchat_control.ui:783 +#, fuzzy +msgid "Ch_ange" +msgstr "Змяніць м_янушку" + +#: gajim/data/gui/groupchat_control.ui:748 +#: gajim/data/gui/shortcuts_window.ui:319 +#, fuzzy +msgid "Change Subject" +msgstr "Змяніць _тэму" + +#: gajim/data/gui/groupchat_control.ui:864 +#, fuzzy +msgid "Enter Password" +msgstr "Увядзіце новы пароль:" + +#: gajim/data/gui/groupchat_control.ui:1081 +#, fuzzy +msgid "_Forget Group Chat" +msgstr "Сысці з групавых размоў" + +#: gajim/data/gui/groupchat_control.ui:1085 +#, fuzzy +msgid "Gajim will not try to join this group chat again" +msgstr "" +"Калі гэтая опцыя ўключаная, Gajim далучыцца да гэтай групавой размовы пры " +"запуску" + +#: gajim/data/gui/groupchat_control.ui:1102 +msgid "T_ry Again" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1156 +#, fuzzy +msgid "An Error Occurred" +msgstr "Адбылася памылка:" + +#: gajim/data/gui/groupchat_control.ui:1221 +msgid "_Try Again" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1398 +#, fuzzy +msgid "Kick Participant" +msgstr "Удзельнік" + +#: gajim/data/gui/groupchat_control.ui:1436 +msgid "_Kick" +msgstr "_Выкінуць" + +#: gajim/data/gui/groupchat_control.ui:1469 +#: gajim/data/gui/groupchat_control.ui:1595 +#: gajim/data/gui/groupchat_control.ui:1721 +#: gajim/data/gui/groupchat_control.ui:1738 +#: gajim/data/gui/groupchat_control.ui:1827 +#: gajim/data/gui/groupchat_control.ui:1828 +msgid "Insert Emoji" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1482 +#: gajim/data/gui/groupchat_control.ui:1608 +msgid "Reason (optional)" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1524 +#, fuzzy +msgid "Ban Participant" +msgstr "Удзельнік" + +#: gajim/data/gui/groupchat_control.ui:1562 +msgid "_Ban" +msgstr "_Забараніць казанне" + +#: gajim/data/gui/groupchat_control.ui:1650 +#, fuzzy +msgid "Destroy This Chat" +msgstr "Новая групавая размова" + +#: gajim/data/gui/groupchat_control.ui:1688 +#, fuzzy +msgid "_Destroy" +msgstr "Апісанне: %s" + +#: gajim/data/gui/groupchat_control.ui:1722 +msgid "Alternate venue (optional)..." +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1739 +#, fuzzy +msgid "Reason (optional)..." +msgstr "Прычына" + +#: gajim/data/gui/groupchat_control.ui:1752 +msgid "Reason for destruction" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1767 +msgid "Where participants should go" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1808 +#, fuzzy +msgid "Rename This Chat" +msgstr "Сысці з групавых размоў" + +#: gajim/data/gui/groupchat_control.ui:1935 +#, fuzzy +msgid "_Invite" +msgstr "За_прасіць" + +#: gajim/data/gui/groupchat_control.ui:2020 +msgid "Settings for This Chat" +msgstr "" + +#: gajim/data/gui/filetransfers.ui:21 +msgid "Pa_use/Resume" +msgstr "" + +#: gajim/data/gui/filetransfers.ui:45 +#, fuzzy +msgid "_Open Folder" +msgstr "_Адкрыць дырэкторыю з файлам" + +#: gajim/data/gui/filetransfers.ui:56 gajim/data/gui/filetransfers.ui:206 +msgid "File Transfers" +msgstr "Перадача файлаў" + +#: gajim/data/gui/filetransfers.ui:91 +#, fuzzy +msgid "_Show notification when file transfer is complete" +msgstr "_Паведамляць мне аб сканчэнні перадачы файлаў" + +#: gajim/data/gui/filetransfers.ui:131 +msgid "file transfers list" +msgstr "спіс файлаў у чарзе на перадачу" + +#: gajim/data/gui/filetransfers.ui:132 +msgid "A list of active, completed and stopped file transfers" +msgstr "Спіс актыўных, скончаных і спыненых перадачаў файлаў" + +#: gajim/data/gui/filetransfers.ui:154 +#, fuzzy +msgid "Remove completed, cancelled and failed file transfers from the list" +msgstr "Выдаліць скончаныя, скасаваныя і хібныя запісы перадачы файлаў з спіса" + +#: gajim/data/gui/filetransfers.ui:167 +#, fuzzy +msgid "Pause or resume file transfer" +msgstr "Скасаваць перадачу файла" + +#: gajim/data/gui/filetransfers.ui:180 +#, fuzzy +msgid "Cancel the selected file transfer and remove incomplete files" +msgstr "Скасаваць выбраную перадачу файла і выдаліць няскончаны файл" + +#: gajim/data/gui/filetransfers.ui:207 +#, fuzzy +msgid "Shows a list of file transfers between you and your contacts" +msgstr "Паказаць спіс перадаваных і атрыманых файлаў" + +#: gajim/data/gui/add_new_contact_window.ui:76 +#, fuzzy +msgid "_XMPP Address" +msgstr "_Адрас:" + +#: gajim/data/gui/add_new_contact_window.ui:92 +#, fuzzy +msgid "_Nickname" +msgstr "_Мянушка:" + +#: gajim/data/gui/add_new_contact_window.ui:109 +#, fuzzy +msgid "_Group" +msgstr "_Група:" + +#: gajim/data/gui/add_new_contact_window.ui:157 +msgid "Choose or type new group name" +msgstr "" + +#: gajim/data/gui/add_new_contact_window.ui:173 +#, fuzzy +msgid "A_ccount" +msgstr "Р_ахунак:" + +#: gajim/data/gui/add_new_contact_window.ui:189 +#, fuzzy +msgid "_Protocol" +msgstr "_Пратакол:" + +#: gajim/data/gui/add_new_contact_window.ui:287 +#: gajim/data/gui/single_message_window.ui:161 +#, fuzzy +msgid "Query Contact Info" +msgstr "Асабістыя звесткі" + +#: gajim/data/gui/add_new_contact_window.ui:312 +#, fuzzy +msgid "A_llow contact to view my status" +msgstr "_Дазволіць чалавеку бачыць змены майго стану" + +#: gajim/data/gui/add_new_contact_window.ui:363 +#, fuzzy +msgid "_Save subscription message" +msgstr "П_адпіска" + +#: gajim/data/gui/add_new_contact_window.ui:389 +#, fuzzy +msgid "" +"You have to register with this transport\n" +"to be able to add a contact from this\n" +"protocol. Click on Register button to\n" +"proceed." +msgstr "" +"Вы павінны зарэгістравацца для гэтага\n" +"транспарта, каб дадаць чалавека з\n" +"гэтага пратакола. Пстрыкніце па кнопцы\n" +"рэгістрацыі." + +#: gajim/data/gui/add_new_contact_window.ui:404 +msgid "_Register" +msgstr "_Рэгістрацыя" + +#: gajim/data/gui/add_new_contact_window.ui:433 +msgid "" +"You must be connected to the transport to be able\n" +"to add a contact from this protocol." +msgstr "" +"Вы павінны злучыцца з транспартам, каб\n" +"дадаць людзей з гэтага пратакола." + +#: gajim/data/gui/add_new_contact_window.ui:467 +#, fuzzy +msgid "_Add" +msgstr "_Адрас:" + +#: gajim/data/gui/account_wizard.ui:16 gajim/data/gui/manage_proxies.ui:206 +#, fuzzy +msgid "_Port" +msgstr "_Порт:" + +#: gajim/data/gui/account_wizard.ui:46 +#, fuzzy +msgid "_Hostname" +msgstr "Назва вузла: " + +#: gajim/data/gui/account_wizard.ui:62 gajim/data/gui/account_wizard.ui:689 +#: gajim/data/gui/manage_proxies.ui:223 +msgid "example.org" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:75 +#, fuzzy +msgid "Prox_y" +msgstr "Проксі:" + +#: gajim/data/gui/account_wizard.ui:110 +#, fuzzy +msgid "Manage Proxies..." +msgstr "Кіраванне профілямі проксі" + +#: gajim/data/gui/account_wizard.ui:131 gajim/data/gui/preferences.ui:798 +#, fuzzy +msgid "Advanced Settings" +msgstr "Адмысловыя дзеянні" + +#: gajim/data/gui/account_wizard.ui:163 gajim/data/gui/manage_proxies.ui:290 +#, fuzzy +msgid "_Type" +msgstr "Тып:" + +#: gajim/data/gui/account_wizard.ui:203 +msgid "Welcome" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:219 +#, fuzzy +msgid "Please enter your credentials or Sign Up" +msgstr "Стварыць новы допіс" + +#: gajim/data/gui/account_wizard.ui:237 +msgid "Your XMPP address (e.g. user@example.org)" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:239 +#: gajim/data/gui/single_message_window.ui:59 +msgid "user@example.org" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:252 +#, fuzzy +msgid "Your password" +msgstr "Увядзіце новы пароль:" + +#: gajim/data/gui/account_wizard.ui:266 gajim/data/gui/account_wizard.ui:719 +#, fuzzy +msgid "_Advanced Settings" +msgstr "Адмысловыя дзеянні" + +#: gajim/data/gui/account_wizard.ui:270 gajim/data/gui/account_wizard.ui:723 +#, fuzzy +msgid "Proxy, custom hostname and port" +msgstr "Адмысловы вузел / порт" + +#: gajim/data/gui/account_wizard.ui:283 +#, fuzzy +msgid "_Log In" +msgstr "_Увайсці" + +#: gajim/data/gui/account_wizard.ui:288 +msgid "Log in with your credentials" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:304 +#, fuzzy +msgid "or" +msgstr "Да" + +#: gajim/data/gui/account_wizard.ui:314 +#, fuzzy +msgid "_Sign Up" +msgstr "_Злучыцца" + +#: gajim/data/gui/account_wizard.ui:318 +msgid "Sign up for a new account on a server of your choice" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:369 +msgid "Visit Website" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:410 +#, fuzzy +msgid "Certificate Verification Failed" +msgstr "Дадаць асабістае нагадванне для %s" + +#: gajim/data/gui/account_wizard.ui:428 +msgid "" +"The following warnings came up while trying to verify the server's " +"certificate" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:457 +#, fuzzy +msgid "_Show Certificate" +msgstr "Няправільнае імя карыстальніка" + +#: gajim/data/gui/account_wizard.ui:472 +#, fuzzy +msgid "_Add to Trusted Certificates" +msgstr "Няправільнае імя карыстальніка" + +#: gajim/data/gui/account_wizard.ui:501 gajim/data/gui/account_wizard.ui:664 +msgid "Which server should I choose?" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:516 +msgid "" +"There are plenty of servers to choose from.\n" +"Creating an account on one server allows you to communicate with contacts " +"from other servers as well." +msgstr "" + +#: gajim/data/gui/account_wizard.ui:530 +msgid "Visit Server's Website" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:550 +msgid "Listing of Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:568 +msgid "" +"xmpp.org/getting-started" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:646 +#, fuzzy +msgid "_Please choose a server" +msgstr "Стварыць новы допіс" + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "" + +#: gajim/data/gui/application_menu.ui:8 +#, fuzzy +msgid "_Start / Join Chat…" +msgstr "Пачаць размову" + +#: gajim/data/gui/application_menu.ui:13 +#, fuzzy +msgid "Create _Group Chat…" +msgstr "Сысці з групавых размоў" + +#: gajim/data/gui/application_menu.ui:18 +#, fuzzy +msgid "_History Manager" +msgstr "Кіраўнік журналаў" + +#: gajim/data/gui/application_menu.ui:22 +#, fuzzy +msgid "Pl_ugins" +msgstr "Памылка злучэння" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +#, fuzzy +msgid "_Preferences" +msgstr "Уласцівасці" + +#: gajim/data/gui/application_menu.ui:36 +#, fuzzy +msgid "_Accounts" +msgstr "Рахункі" + +#: gajim/data/gui/application_menu.ui:39 +#, fuzzy +msgid "_View" +msgstr "_Выгляд" + +#: gajim/data/gui/application_menu.ui:46 +#, fuzzy +msgid "Show _Offline Contacts" +msgstr "Паказаць _адлучаных людзей" + +#: gajim/data/gui/application_menu.ui:50 +#, fuzzy +msgid "Show _Active Contacts" +msgstr "Паказаць _адлучаных людзей" + +#: gajim/data/gui/application_menu.ui:54 +#, fuzzy +msgid "Show _Transports" +msgstr "Паказаць _транспарты" + +#: gajim/data/gui/application_menu.ui:60 +#, fuzzy +msgid "_XML Console" +msgstr "Кансоль XML" + +#: gajim/data/gui/application_menu.ui:64 +#, fuzzy +msgid "_File Transfer" +msgstr "Перадача файлаў" + +#: gajim/data/gui/application_menu.ui:74 +#, fuzzy +msgid "_Help" +msgstr "_Даведка" + +#: gajim/data/gui/application_menu.ui:77 +#, fuzzy +msgid "_Wiki (Online)" +msgstr "У сетцы" + +#: gajim/data/gui/application_menu.ui:81 +#, fuzzy +msgid "FA_Q (Online)" +msgstr "У сетцы" + +#: gajim/data/gui/application_menu.ui:85 +msgid "_Keyboard Shortcuts" +msgstr "" + +#: gajim/data/gui/application_menu.ui:89 +#, fuzzy +msgid "_Features" +msgstr "Здольнасці сервера" + +#: gajim/data/gui/application_menu.ui:93 +#, fuzzy +msgid "_About" +msgstr "Пра мяне" + +#: gajim/data/gui/filetransfer_progress.ui:125 +msgid "Speed" +msgstr "" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +#, fuzzy +msgid "OK" +msgstr "_Добра" + +#: gajim/data/gui/plugins_window.ui:55 +msgid "Install Plugin from ZIP-File" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:56 +msgid "Install from File…" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:70 +#, fuzzy +msgid "Uninstall Plugin" +msgstr "Марнаванне часу" + +#: gajim/data/gui/plugins_window.ui:116 +#, fuzzy +msgid "" +msgstr "Памылка злучэння" + +#: gajim/data/gui/plugins_window.ui:133 +#, fuzzy +msgid "Plugin Settings" +msgstr "Памылка злучэння" + +#: gajim/data/gui/plugins_window.ui:215 +#, fuzzy +msgid "" +msgstr "Апісанне" + +#: gajim/data/gui/plugins_window.ui:239 +#, fuzzy +msgid "Version" +msgstr "Версія GTK+:" + +#: gajim/data/gui/plugins_window.ui:271 +#, fuzzy +msgid "Authors" +msgstr "А_ўтарызаваць" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +#, fuzzy +msgid "Homepage" +msgstr "У Сеціве:" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:349 +#, fuzzy +msgid "Installed" +msgstr "Марнаванне часу" + +#: gajim/data/gui/plugins_window.ui:363 +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +#, fuzzy +msgid "Synchronise contacts" +msgstr "Паказаць _адлучаных людзей" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +#, fuzzy +msgid "_Name" +msgstr "_Імя:" + +#: gajim/data/gui/groupchat_creation.ui:122 +#, fuzzy +msgid "_Description" +msgstr "Апісанне" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +#, fuzzy +msgid "_Address" +msgstr "_Адрас:" + +#: gajim/data/gui/groupchat_creation.ui:278 +#, fuzzy +msgid "_Account" +msgstr "Рахункі" + +#: gajim/data/gui/profile.ui:33 +#, fuzzy +msgid "Contact Infos" +msgstr "Асабістыя звесткі" + +#: gajim/data/gui/profile.ui:45 +#, fuzzy +msgid "Picture and Name" +msgstr "Мянушка не знойдзеная: %s" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "" + +#: gajim/data/gui/profile.ui:198 +#, fuzzy +msgid "Change your profile picture" +msgstr "Змяніць м_янушку" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:298 +#, fuzzy +msgid "Add Entry" +msgstr "Уваход:" + +#: gajim/data/gui/profile.ui:410 +#, fuzzy +msgid "Update" +msgstr "Абнавіць MOTD" + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:15 +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:65 +#, fuzzy +msgid "Add Proxy" +msgstr "Проксі:" + +#: gajim/data/gui/manage_proxies.ui:79 +#, fuzzy +msgid "Remove Proxy" +msgstr "Выдаліць групу" + +#: gajim/data/gui/manage_proxies.ui:131 +#, fuzzy +msgid "Pass_word" +msgstr "Па_роль:" + +#: gajim/data/gui/manage_proxies.ui:156 +#, fuzzy +msgid "Use proxy auth_entication" +msgstr "Аўтарызацыя" + +#: gajim/data/gui/manage_proxies.ui:176 +#, fuzzy +msgid "_Username" +msgstr "_Імя карыстальніка:" + +#: gajim/data/gui/manage_proxies.ui:237 +#, fuzzy +msgid "_Host" +msgstr "_Вузел:" + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "Мясцовы jid:" + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "Рэсурс:" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "Стан:" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +#, fuzzy +msgid "_Store conversation history" +msgstr "_Весці журнал размоў" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +msgid "Contact" +msgstr "Чалавек" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +msgid "First Name:" +msgstr "Імя:" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +msgid "Last Name:" +msgstr "Прозвішча:" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +#, fuzzy +msgid "XMPP Address:" +msgstr "Адрас AIM:" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "E-mail:" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +msgid "Personal" +msgstr "Асабістае" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "_Стан" + +#: gajim/data/gui/account_context_menu.ui:20 +#, fuzzy +msgid "_Personal Events" +msgstr "Асабістыя звесткі" + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "_Дадаць чалавека..." + +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "_Пошук сервісаў" + +#: gajim/data/gui/account_context_menu.ui:57 +msgid "_Execute Command..." +msgstr "_Выканаць загад..." + +#: gajim/data/gui/account_context_menu.ui:65 +#, fuzzy +msgid "_View Server Info" +msgstr "Сервер" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:125 +#, fuzzy +msgid "Global Group Chat Search" +msgstr "Удзельнічаць у групавой размове" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +#, fuzzy +msgid "_Back" +msgstr "Хутка буду" + +#: gajim/data/gui/start_chat_dialog.ui:386 +#, fuzzy +msgid "Select Account" +msgstr "Выдаленне рахунка %s" + +#: gajim/data/gui/start_chat_dialog.ui:477 +msgid "_Select" +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +#, fuzzy +msgid "Configure" +msgstr "_Працягнуць" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +msgid "Create new post" +msgstr "Стварыць новы допіс" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "Ст_ан" + +#: gajim/data/gui/systray_context_menu.ui:20 +#, fuzzy +msgid "_Start Chat..." +msgstr "_Пачаць размову" + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "Адправіць _асобнае паведамленне..." + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "Паказаць нягледжаныя _падзеі" + +#: gajim/data/gui/systray_context_menu.ui:52 +msgid "Mute Sounds" +msgstr "Адключыць гукі" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +#, fuzzy +msgid "Contact List" +msgstr "Людзі" + +#: gajim/data/gui/shortcuts_window.ui:24 +#, fuzzy +msgid "Create new group chat" +msgstr "Сысці з групавых размоў" + +#: gajim/data/gui/shortcuts_window.ui:45 +#, fuzzy +msgid "File transfers" +msgstr "Перадача файлаў" + +#: gajim/data/gui/shortcuts_window.ui:52 +#, fuzzy +msgid "Set the status message" +msgstr "паведамленне стану" + +#: gajim/data/gui/shortcuts_window.ui:59 +#, fuzzy +msgid "Show XML console" +msgstr "Паказаць _кансоль XML" + +#: gajim/data/gui/shortcuts_window.ui:74 +#, fuzzy +msgid "Appearance" +msgstr "Змяніць правіла" + +#: gajim/data/gui/shortcuts_window.ui:79 +#, fuzzy +msgid "Show offline contacts" +msgstr "Паказаць _адлучаных людзей" + +#: gajim/data/gui/shortcuts_window.ui:86 +#, fuzzy +msgid "Show only active contacts" +msgstr "Паказаць _адлучаных людзей" + +#: gajim/data/gui/shortcuts_window.ui:93 +msgid "Enable contact list filtering" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:100 +#, fuzzy +msgid "Show / hide contact list" +msgstr "Паказаць _адлучаных людзей" + +#: gajim/data/gui/shortcuts_window.ui:113 +#, fuzzy +msgid "Contact information" +msgstr "Асабістыя звесткі" + +#: gajim/data/gui/shortcuts_window.ui:120 +#, fuzzy +msgid "Rename contact" +msgstr "Змяніць імя чалавека" + +#: gajim/data/gui/shortcuts_window.ui:127 +#, fuzzy +msgid "Delete contact" +msgstr "Людзі" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +msgid "Chat" +msgstr "Размова" + +#: gajim/data/gui/shortcuts_window.ui:142 +#, fuzzy +msgid "Message composition" +msgstr "змест паведамлення" + +#: gajim/data/gui/shortcuts_window.ui:147 +#, fuzzy +msgid "Send the message" +msgstr "Адправіць паведамленне" + +#: gajim/data/gui/shortcuts_window.ui:154 +#, fuzzy +msgid "Add new line" +msgstr "Стварыць новы допіс" + +#: gajim/data/gui/shortcuts_window.ui:161 +msgid "Select an emoji" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:168 +#, fuzzy +msgid "Complete a command or a nickname" +msgstr "Стварыць новы допіс" + +#: gajim/data/gui/shortcuts_window.ui:175 +#, fuzzy +msgid "Previously sent message" +msgstr "Стандартныя паведамленні:" + +#: gajim/data/gui/shortcuts_window.ui:182 +#, fuzzy +msgid "Next sent messages" +msgstr "Стандартныя паведамленні:" + +#: gajim/data/gui/shortcuts_window.ui:189 +#, fuzzy +msgid "Quote previous message" +msgstr "паведамленне стану" + +#: gajim/data/gui/shortcuts_window.ui:196 +#, fuzzy +msgid "Quote next message" +msgstr "Адправіць паведамленне" + +#: gajim/data/gui/shortcuts_window.ui:203 +#, fuzzy +msgid "Clear message entry" +msgstr "Паведамленне адпраўленае" + +#: gajim/data/gui/shortcuts_window.ui:211 +#, fuzzy +msgid "Recent history" +msgstr "Нядаўна:" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:230 +#, fuzzy +msgid "Clear chat window" +msgstr "Карыстанне: /%s, прыбірае тэкст у вакне." + +#: gajim/data/gui/shortcuts_window.ui:237 +#, fuzzy +msgid "Show chat history" +msgstr "Нядаўна:" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:299 +msgid "Close chat" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:312 +#, fuzzy +msgid "Change Nickname" +msgstr "Змяніць м_янушку" + +#: gajim/data/gui/chat_control.ui:48 +#, fuzzy +msgid "Drop files or contacts" +msgstr "Адправіць файл чалавеку" + +#: gajim/data/gui/chat_control.ui:80 +#, fuzzy +msgid "1" +msgstr "Гукі" + +#: gajim/data/gui/chat_control.ui:101 +#, fuzzy +msgid "2 abc" +msgstr "Гукі" + +#: gajim/data/gui/chat_control.ui:121 +#, fuzzy +msgid "3 def" +msgstr "Гукі" + +#: gajim/data/gui/chat_control.ui:141 +#, fuzzy +msgid "4 ghi" +msgstr "Гукі" + +#: gajim/data/gui/chat_control.ui:161 +#, fuzzy +msgid "5 jkl" +msgstr "Гукі" + +#: gajim/data/gui/chat_control.ui:181 +#, fuzzy +msgid "6 mno" +msgstr "Гукі" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "" + +#: gajim/data/gui/chat_control.ui:221 +#, fuzzy +msgid "8 tuv" +msgstr "Гукі" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "" + +#: gajim/data/gui/chat_control.ui:261 +#, fuzzy +msgid "*" +msgstr "Гукі" + +#: gajim/data/gui/chat_control.ui:281 +#, fuzzy +msgid "0" +msgstr "Гукі" + +#: gajim/data/gui/chat_control.ui:301 +#, fuzzy +msgid "#" +msgstr "Гукі" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "Пачаць _размову" + +#: gajim/data/gui/contact_context_menu.ui:28 +#, fuzzy +msgid "Send _File..." +msgstr "Адправіць _файл" + +#: gajim/data/gui/contact_context_menu.ui:44 +#, fuzzy +msgid "Invite _Contacts" +msgstr "Людзі" + +#: gajim/data/gui/contact_context_menu.ui:58 +#, fuzzy +msgid "E_xecute Command..." +msgstr "Выканаць загад..." + +#: gajim/data/gui/contact_context_menu.ui:67 +#, fuzzy +msgid "M_anage Contact" +msgstr "Змяніць імя чалавека" + +#: gajim/data/gui/contact_context_menu.ui:77 +#, fuzzy +msgid "_Rename..." +msgstr "Змяніць _імя" + +#: gajim/data/gui/contact_context_menu.ui:84 +#, fuzzy +msgid "Edit _Groups..." +msgstr "Змяніць _групы" + +#: gajim/data/gui/contact_context_menu.ui:92 +#, fuzzy +msgid "Add Special _Notification..." +msgstr "Дадаць спецыяльнае _нагадванне" + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "П_адпіска" + +#: gajim/data/gui/contact_context_menu.ui:115 +#, fuzzy +msgid "_Allow contact to see my status" +msgstr "_Дазволіць чалавеку бачыць змены майго стану" + +#: gajim/data/gui/contact_context_menu.ui:123 +#, fuzzy +msgid "A_sk to see contact status" +msgstr "Спытацца _дазволу праглядаць змены стану" + +#: gajim/data/gui/contact_context_menu.ui:131 +#, fuzzy +msgid "_Forbid contact to see my status" +msgstr "_Забараніць праглядаць змены майго стану" + +#: gajim/data/gui/contact_context_menu.ui:159 +#, fuzzy +msgid "_Unignore" +msgstr "дзевяць" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:174 +#, fuzzy +msgid "_Add to Contact List..." +msgstr "_Дадаць чалавека..." + +#: gajim/data/gui/single_message_window.ui:42 +#, fuzzy +msgid "_To" +msgstr "Да" + +#: gajim/data/gui/single_message_window.ui:71 +#, fuzzy +msgid "Su_bject" +msgstr "Тэма" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "" + +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "_Паведамленне" + +#: gajim/data/gui/single_message_window.ui:144 +#, fuzzy +msgid "Characters typed: 0" +msgstr "Такая мянушка не дазволеная: %s" + +#: gajim/data/gui/single_message_window.ui:189 +#, fuzzy +msgid "_From" +msgstr "Ад" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "Ад_правіць" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "Адправіць паведамленне" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "_Адказаць" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "Адказаць на гэтае паведамленне" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "Ад_правіць і закрыць" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "Адправіць паведамленне і закрыць вакно" + +#: gajim/data/gui/vcard_information_window.ui:106 +#, fuzzy +msgid "Client" +msgstr "Праграма:" + +#: gajim/data/gui/vcard_information_window.ui:140 +#, fuzzy +msgid "Contact time" +msgstr "Імя чалавека" + +#: gajim/data/gui/vcard_information_window.ui:240 +#, fuzzy +msgid "User avatar" +msgstr "Аватар:" + +#: gajim/data/gui/vcard_information_window.ui:255 +#, fuzzy +msgid "Configured avatar" +msgstr "Настаўленні _пакоя" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +#, fuzzy +msgid "Ask" +msgstr "Запыт:" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +#, fuzzy +msgid "Subscription" +msgstr "Падпіска:" + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +#, fuzzy +msgid "Extra Address" +msgstr "Дадатковы адрас:" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +#, fuzzy +msgid "Address" +msgstr "Дадаць правіла" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +#, fuzzy +msgid "E-Mail" +msgstr "E-mail:" + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "Фармат: ГГГГ-ММ-ДД" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +#, fuzzy +msgid "Family" +msgstr "Прозвішча:" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +#, fuzzy +msgid "Middle" +msgstr "Сярэдняе:" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +#, fuzzy +msgid "Prefix" +msgstr "Прэфікс:" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +#, fuzzy +msgid "Given" +msgstr "Дадзенае імя:" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +#, fuzzy +msgid "Suffix" +msgstr "Суфікс:" + +#: gajim/data/gui/vcard_information_window.ui:958 +#, fuzzy +msgid "Name Details" +msgstr "Адмысловы" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "" + +#: gajim/data/gui/vcard_information_window.ui:1017 +msgid "Personal Info" +msgstr "Асабістыя звесткі" + +#: gajim/data/gui/vcard_information_window.ui:1040 +#, fuzzy +msgid "Company" +msgstr "Кампанія:" + +#: gajim/data/gui/vcard_information_window.ui:1073 +#, fuzzy +msgid "Department" +msgstr "Аддзел:" + +#: gajim/data/gui/vcard_information_window.ui:1104 +#, fuzzy +msgid "Position" +msgstr "Пазіцыя:" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "Роля" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "Пра мяне" + +#: gajim/data/gui/vcard_information_window.ui:1514 +msgid "Comments" +msgstr "Каментарыі" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "Змяніць групы" + +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "Пароль" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +#, fuzzy +msgid "Themes" +msgstr "Тэма" + +#: gajim/data/gui/themes_window.ui:171 +#, fuzzy +msgid "Add Setting" +msgstr "Памылка злучэння" + +#: gajim/data/gui/themes_window.ui:204 +#, fuzzy +msgid "Add new Theme" +msgstr "Стварыць новы допіс" + +#: gajim/data/gui/themes_window.ui:219 +#, fuzzy +msgid "Remove Theme" +msgstr "Актыўны" + +#: gajim/data/gui/bookmarks.ui:120 +#, fuzzy +msgid "Autojoin" +msgstr "Аўтаматычна далучацца" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "" + +#: gajim/data/gui/preferences.ui:68 +#, fuzzy +msgid "Contact List Appearance" +msgstr "Чалавек адлучыўся" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +msgid "Chats" +msgstr "Размовы" + +#: gajim/data/gui/preferences.ui:215 +#, fuzzy +msgid "Visual Notifications" +msgstr "Візуальныя нагадванні" + +#: gajim/data/gui/preferences.ui:243 +#, fuzzy +msgid "Sounds" +msgstr "Файлы Wav" + +#: gajim/data/gui/preferences.ui:303 +#, fuzzy +msgid "Ask For Status Message on…" +msgstr "Запытацца аб паведамленні змены стану, калі я:" + +#: gajim/data/gui/preferences.ui:331 +#, fuzzy +msgid "Automatic Status Change" +msgstr "_Адпаведна стану" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "" + +#: gajim/data/gui/preferences.ui:447 +#, fuzzy +msgid "Status Icon" +msgstr "Прадвызначаны набор _значак стану:" + +#: gajim/data/gui/preferences.ui:472 +#, fuzzy +msgid "Style" +msgstr "Марнаванне часу" + +#: gajim/data/gui/preferences.ui:511 +#, fuzzy +msgid "Show _Features" +msgstr "Здольнасці сервера" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:632 +msgid "Audio" +msgstr "" + +#: gajim/data/gui/preferences.ui:660 +msgid "Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:698 +msgid "Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:735 +#, fuzzy +msgid "Miscellaneous" +msgstr "Рознае" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:821 +#, fuzzy +msgid "Advanced Configuration Editor… " +msgstr "Адмысловы рэдактар настаўленняў" + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "" + +#: gajim/data/gui/server_info.ui:50 +#, fuzzy +msgid "Server Software" +msgstr "Здольнасці сервера" + +#: gajim/data/gui/server_info.ui:80 +#, fuzzy +msgid "Server Uptime" +msgstr "Захаваць у: %s" + +#: gajim/data/gui/server_info.ui:109 +#, fuzzy +msgid "Contact Addresses" +msgstr "П_аведамленне стану:" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "" + +#: gajim/data/gui/server_info.ui:177 +#, fuzzy +msgid "Proxy Type" +msgstr "Проксі:" + +#: gajim/data/gui/server_info.ui:192 +#, fuzzy +msgid "No proxy used" +msgstr "Проксі:" + +#: gajim/data/gui/server_info.ui:202 +#, fuzzy +msgid "View _Certificate" +msgstr "Няправільнае імя карыстальніка" + +#: gajim/data/gui/server_info.ui:222 +#, fuzzy +msgid "Proxy Host" +msgstr "Проксі:" + +#: gajim/data/gui/server_info.ui:421 +#, fuzzy +msgid "Copy info to clipboard" +msgstr "_Скапіяваць адрас спасылкі" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:153 +#, fuzzy +msgid "Serial Number" +msgstr "Нумар GG:" + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:304 +msgid "Expires on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:465 +#, fuzzy +msgid "Copy Certificate Information" +msgstr "Асабістыя звесткі" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +#, fuzzy +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "JID чалавека, з якім Вы хочаце паразмаўляць" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +#, fuzzy +msgid "Please select a group chat server." +msgstr "Гэта не групавая размова" + +#: gajim/data/gui/chat_to_muc_window.ui:141 +#, fuzzy +msgid "Group chat server" +msgstr "Групавыя размовы" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +#, fuzzy +msgid "In_vite" +msgstr "За_прасіць" + +#: gajim/data/gui/mam_preferences.ui:53 +#, fuzzy +msgid "_Default" +msgstr "Прадвызначана" + +#: gajim/data/gui/mam_preferences.ui:136 +#, fuzzy +msgid "Archive" +msgstr "Месца файла" + +#: gajim/data/gui/history_manager.ui:11 +#, fuzzy +msgid "_Export" +msgstr "Экспартаваць" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +msgid "Gajim History Logs Manager" +msgstr "Gajim - Кіраўнік журналаў размоў" + +#: gajim/data/gui/history_manager.ui:104 +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" + +#: gajim/data/gui/history_manager.ui:120 +#, fuzzy +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" +"Gajim - Кіраўнік журналаў размоў\n" +"\n" +"Вы можаце выбраць адзін з журналаў на левай панэлі альбо адшукаць у базе " +"дадзеных.\n" +"\n" +"Увага:\n" +"Калі Вы хочаце здзейсніць масавую чыстку журналаў, закрыйце Gajim. Не " +"выдаляйце журналы размоў з людзьмі, з якімі Вы зараз размаўляеце." + +#: gajim/data/gui/history_manager.ui:211 +#, fuzzy +msgid "Search database..." +msgstr "_Пошук у базе дадзеных" + +#: gajim/data/gui/history_manager.ui:226 +#, fuzzy +msgid "Search in database" +msgstr "_Пошук у базе дадзеных" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" + +#: gajim/data/gui/groupchat_invite.ui:69 +#, fuzzy +msgid "Invitees" +msgstr "За_прасіць" + +#: gajim/data/gui/groupchat_invite.ui:153 +#, fuzzy +msgid "Search contacts..." +msgstr "_Пошук у базе дадзеных" + +#: gajim/data/gui/groupchat_invite.ui:223 +#, fuzzy +msgid "Click on contacts you would like to invite to this group chat." +msgstr "%(who)s пакараў %(nick)s: %(reason)s" + +#: gajim/data/gui/service_discovery_window.ui:148 +#, fuzzy +msgid "Go" +msgstr "_Ісці" + +#: gajim/data/gui/status_change_window.ui:27 +#, fuzzy +msgid "Change Status" +msgstr "Змяніць стан" + +#: gajim/data/gui/status_change_window.ui:56 +#, fuzzy +msgid "Status Presets…" +msgstr "Паведамленне аб змене стану" + +#: gajim/data/gui/status_change_window.ui:72 +msgid "Save this message as a preset" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:130 +#, fuzzy +msgid "Ac_tivity" +msgstr "Актыўны" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:278 +#, fuzzy +msgid "_Change Status" +msgstr "Змяніць стан" + +#: gajim/data/gui/status_change_window.ui:313 +#, fuzzy +msgid "Activity" +msgstr "Актывізаваны" + +#: gajim/data/gui/status_change_window.ui:326 +#, fuzzy +msgid "_No Activity" +msgstr "Актывізаваны" + +#: gajim/data/gui/status_change_window.ui:729 +#, fuzzy +msgid "Mood" +msgstr "_Змяніць" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +#, fuzzy +msgid "Author" +msgstr "А_ўтарызаваць" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +#, fuzzy +msgid "Group Chat Language" +msgstr "Запрашэнне ў групавую размову" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +#, fuzzy +msgid "Copy Address" +msgstr "_Скапіяваць JID / паштовы адрас" + +#: gajim/data/gui/emoji_chooser.ui:98 +msgid "No Results Found" +msgstr "" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr "Кансоль XML" + +#: gajim/data/gui/xml_console.ui:131 +#, fuzzy +msgid "Start Search..." +msgstr "_Пачаць размову" + +#: gajim/data/gui/xml_console.ui:260 +#, fuzzy +msgid "Clear" +msgstr "Вечар" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "" + +#: gajim/data/gui/xml_console.ui:316 +#, fuzzy +msgid "Presets" +msgstr "_Прысутнасць" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +#, fuzzy +msgid "Select the contacts you want to synchronise" +msgstr "JID чалавека, з якім Вы хочаце паразмаўляць" + +#: gajim/data/gui/groupchat_config.ui:51 +#, fuzzy +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" +"Мажлівыя варыянты:\n" +"1. user@domain/resource (толькі гэты рэсурс).\n" +"2. user@domain (любы рэсурс).\n" +"3. domain/resource (толькі гэты рэсурс).\n" +"4. domain (гэты домэн user@domain,\n" +"domain/resource ці адрас паддамена)." + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:309 +#, fuzzy +msgid "Reserved Name" +msgstr "Назва ўласцівасці" + +#: gajim/data/gui/groupchat_config.ui:346 +#, fuzzy +msgid "Affiliation" +msgstr "Праграмы" + +#: gajim/data/gui/groupchat_config.ui:377 +#, fuzzy +msgid "Affiliations" +msgstr "Праграмы" + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "Прычына" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "Чорны спіс" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "_Адмовіць" + +#: gajim/data/gui/subscription_request_window.ui:34 +#, fuzzy +msgid "_Block User" +msgstr "_Група:" + +#: gajim/data/gui/subscription_request_window.ui:49 +#, fuzzy +msgid "_Report as Spam" +msgstr "_Паведаміць пра памылку" + +#: gajim/data/gui/subscription_request_window.ui:212 +#, fuzzy +msgid "_Deny…" +msgstr "_Адмовіць" + +#: gajim/data/gui/subscription_request_window.ui:225 +#, fuzzy +msgid "Ac_cept" +msgstr "Прыняць" + +#: gajim/data/gui/subscription_request_window.ui:230 +#, fuzzy +msgid "Allows the contact to see your online status" +msgstr "_Дазволіць чалавеку бачыць змены майго стану" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:115 +#, fuzzy +msgid "_Report Bug" +msgstr "_Паведаміць пра памылку" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "Падзея" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "Выберыце гукавы файл" + +#: gajim/data/gui/manage_sounds.ui:97 +#, fuzzy +msgid "Clear Sound" +msgstr "Выберыце гукавы файл" + +#: gajim/data/gui/manage_sounds.ui:118 +#, fuzzy +msgid "Play Sound" +msgstr "Граць _гук" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +#, fuzzy +msgid "_Send Files" +msgstr "Адправіць _файл" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +#, fuzzy +msgid "Send" +msgstr "Ад_правіць" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +#, fuzzy +msgid "Files to send" +msgstr "Выберыце файл..." + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +#, fuzzy +msgid "Add Files" +msgstr "Файл: " + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +#, fuzzy +msgid "Remove Files" +msgstr "Вы_даліць" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +#, fuzzy +msgid "Idle since:" +msgstr " ад %s" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +#, fuzzy +msgid "Mood:" +msgstr "Пакой:" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +#, fuzzy +msgid "Activity:" +msgstr "Актывізаваны" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +#, fuzzy +msgid "Tune:" +msgstr "Тып:" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +#, fuzzy +msgid "Location:" +msgstr "Змяненне рахунка" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +msgid "Subscription:" +msgstr "Падпіска:" + +#: gajim/data/gui/advanced_configuration.ui:15 +#, fuzzy +msgid "A restart may be required for some settings to take effect" +msgstr "Увага: Каб ужыць некаторыя змены, трэба перазапусціць Gajim" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "" + +#: gajim/data/gui/advanced_configuration.ui:120 +#, fuzzy +msgid "_Reset Value" +msgstr "_Вярнуць звычайныя колеры" + +#: gajim/data/gui/advanced_configuration.ui:125 +#, fuzzy +msgid "Resets value to default" +msgstr "_Вярнуць звычайныя колеры" + +#: gajim/data/gui/history_window.ui:27 +#, fuzzy +msgid "Display status changes" +msgstr "_Пісаць у журнал паведамленні аб змене стану чалавека" + +#: gajim/data/gui/history_window.ui:57 +msgid "History Manager" +msgstr "Кіраўнік журналаў" + +#: gajim/data/gui/history_window.ui:233 +#, fuzzy +msgid "Mode" +msgstr "Мадэратар" + +#: gajim/data/gui/history_window.ui:246 +#, fuzzy +msgid "Search complete history" +msgstr "Нядаўна:" + +#: gajim/data/gui/history_window.ui:263 +msgid "Search selected day only" +msgstr "" + +#: gajim/data/gui/history_window.ui:317 +msgid "Store history for this chat" +msgstr "" + +#: gajim/data/gui/history_window.ui:332 +#, fuzzy +msgid "Store History" +msgstr "Нядаўна:" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +#, fuzzy +msgid "Identified Error" +msgstr "Няправільнае імя карыстальніка" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +#, fuzzy +msgid "" +msgstr "Памылка Avahi" + +#: gajim/data/gui/ssl_error_dialog.ui:74 +msgid "Add this certificate to the list of _trusted certificates" +msgstr "" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +#, fuzzy +msgid "_View Certificate" +msgstr "Няправільнае імя карыстальніка" + +#: gajim/data/gui/ssl_error_dialog.ui:120 +#, fuzzy +msgid "_Connect" +msgstr "Злучэнне" + +#: data/org.gajim.Gajim.desktop.in:5 +#, fuzzy +msgid "XMPP Chat Client" +msgstr "Jabber-праграма" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:8 +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:27 +#, fuzzy +msgid "Show next pending event" +msgstr "Паказаць нягледжаныя _падзеі" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:17 +#, fuzzy +msgid "Features:" +msgstr "Здольнасці сервера" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +msgid "Automatic spell-checking for your messages" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +#, fuzzy +msgid "Support for service discovery including nodes and search for users" +msgstr "Пошук сервісаў для рахунка %s" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +#, fuzzy +msgid "Contact list" +msgstr "Людзі" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +#, fuzzy +msgid "Group chat support" +msgstr "Групавыя размовы" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +#, fuzzy +msgid "Chat history" +msgstr "Нядаўна:" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +#, fuzzy +msgid "Plugin manager" +msgstr "Памылка злучэння" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +#, fuzzy +msgid "Gajim Team" +msgstr "Gajim - %s" + +#, fuzzy +#~ msgid "Chat Settings" +#~ msgstr "Памылка злучэння" + +#, fuzzy, python-format +#~ msgid "%i day" +#~ msgid_plural "%i days" +#~ msgstr[0] "%i дзён таму" +#~ msgstr[1] "%i дзён таму" +#~ msgstr[2] "%i дзён таму" + +#, fuzzy +#~ msgid "Composing only" +#~ msgstr "Піша" + +#, fuzzy +#~ msgid "All chat states" +#~ msgstr "Усе станы" + +#~ msgid "Privacy Lists" +#~ msgstr "Спісы прыватнасці" + +#~ msgid "None" +#~ msgstr "Ніякі" + +#, python-format +#~ msgid "%s Status Message" +#~ msgstr "Паведамленне аб змене стану %s" + +#~ msgid "Could not load image" +#~ msgstr "Немагчыма загрузіць малюнак" + +#, fuzzy +#~ msgid "Error." +#~ msgstr "Памылка Avahi" + +#, fuzzy +#~ msgid "_Block Contact" +#~ msgstr "Людзі" + +#, fuzzy +#~ msgid "Block Group" +#~ msgstr "Група" + +#, fuzzy +#~ msgid "Really block this group?" +#~ msgstr "Ці ўжыты OpenPGP ў размове з гэтым чалавекам?" + +#~ msgid "No account available" +#~ msgstr "Рахункаў няма" + +#~ msgid "You must create an account before you can chat with other contacts." +#~ msgstr "Вы павінны стварыць рахунак, каб размаўляць з іншымі людзьмі." + +#~ msgid "Metacontacts storage not supported by your server" +#~ msgstr "Сервер не падтрымлівае сховішча мета-кантактаў" + +#, fuzzy +#~ msgid "" +#~ "Your server does not support storing metacontacts information. So this " +#~ "information will not be saved on next reconnection." +#~ msgstr "" +#~ "Сервер не падтрымлівае мета-кантакты. Гэтае настаўленне не захаваецца для " +#~ "наступных сеансаў." + +#, fuzzy, python-brace-format +#~ msgid "You are invited to {room} by {user}" +#~ msgstr "Вы не ўвайшлі ў пакой групавой размовы." + +#, fuzzy, python-format +#~ msgid "%s wants to start a voice chat." +#~ msgstr "%s хоча адправіць Вам файл." + +#~ msgid "Could not save your settings and preferences" +#~ msgstr "Немагчыма захаваць настаўленні" + +#, fuzzy +#~ msgid "Error While Removing Privacy List" +#~ msgstr "Памылка ў часе выдалення спіса прыватнасці" + +#, fuzzy, python-format +#~ msgid "" +#~ "Privacy list %s has not been removed. It is probably active in one of " +#~ "your connected resources. Please deactivate it and try again." +#~ msgstr "" +#~ "Спіс прыватнасці %s не выдалены. Магчыма, ён ужываецца ў адным з Вашых " +#~ "злучаных рэсурсаў. Дэактывізуйце іх і паўтарыце свае дзеянні." + +#, fuzzy +#~ msgid "Invisibility Not Supported" +#~ msgstr "Пашырэнне не падтрымліваецца" + +#, fuzzy, python-format +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "Спіс актыўных, скончаных і спыненых перадачаў файлаў" + +#, fuzzy +#~ msgid "Could not request upload slot for HTTP File Upload" +#~ msgstr "Немагчыма стартаваць мясцовы сервіс" + +#, fuzzy +#~ msgid "Not Secure" +#~ msgstr "Не пачатая" + +#, fuzzy +#~ msgid "Could not Upload File" +#~ msgstr "Немагчыма загрузіць малюнак" + +#, fuzzy +#~ msgid "Encryption Error" +#~ msgstr "Шыфраванне дзейнічае" + +#~ msgid "Lists all preferences and their values" +#~ msgstr "Паказаць спіс усіх настаўленняў і іх значэнні" + +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "Выстаўляе значэнне 'ключа' ў 'значэнне'" + +#~ msgid "key=value" +#~ msgstr "ключ=значэнне" + +#, fuzzy +#~ msgid "'key' is the name of the preference, 'value' is what to set it to" +#~ msgstr "" +#~ "'ключ' ёсць назваю настаўлення, 'значэнне' ёсць выстаўляемым значэннем" + +#~ msgid "Deletes a preference item" +#~ msgstr "Выдаляе ўласцівасць" + +#~ msgid "key" +#~ msgstr "ключ" + +#~ msgid "name of the preference to be deleted" +#~ msgstr "назва выдаляемай уласцівасці" + +#~ msgid "Writes the current state of Gajim preferences to the .config file" +#~ msgstr "Запісвае бягучыя настаўленні Gajim у файл .config" + +#, python-format +#~ msgid "%s is a directory but should be a file" +#~ msgstr "%s з'яўляецца дырэкторыяй, але павінны быць файл" + +#, fuzzy, python-format +#~ msgid "Creating %s" +#~ msgstr "Апісанне: %s" + +#, python-format +#~ msgid "%(nickname)s Signed In" +#~ msgstr "%(nickname)s прыйшоў" + +#~ msgid "Contact Signed In" +#~ msgstr "Чалавек прыйшоў" + +#, python-format +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "%(nickname)s сышоў" + +#~ msgid "Contact Signed Out" +#~ msgstr "Чалавек сышоў" + +#, fuzzy +#~ msgid "" +#~ "Show desktop notification even when a chat window is opened for this " +#~ "contact and does not have focus." +#~ msgstr "" +#~ "Дазволіць паказ паведамленняў і нагадванні, калі я _сышоў/заняты/нябачны" + +#, fuzzy +#~ msgid "default" +#~ msgstr "Прадвызначана" + +#, fuzzy +#~ msgid "" +#~ "Character to propose to add after desired nickname when nickname is " +#~ "already used in group chat." +#~ msgstr "" +#~ "Знак пасля вызначанай мянушкі, калі яе згадваюць у групавой размове." + +#, fuzzy +#~ msgid "If enabled, Gajim displays the avatar in the chat window." +#~ msgstr "Калі false, не паказваць аватары ў вакне размовы." + +#~ msgid "I'm available." +#~ msgstr "Я даступны." + +#~ msgid "I'm free for chat." +#~ msgstr "Я магу размаўляць." + +#~ msgid "Be right back." +#~ msgstr "Хутка прыйду." + +#~ msgid "I'm not available." +#~ msgstr "Мяне няма." + +#~ msgid "Do not disturb." +#~ msgstr "Не турбаваць." + +#~ msgid "Bye!" +#~ msgstr "Бывай!" + +#, fuzzy +#~ msgid "Timeout loading image" +#~ msgstr "Немагчыма загрузіць малюнак" + +#, fuzzy +#~ msgid "Error loading image" +#~ msgstr "Немагчыма загрузіць малюнак" + +#, fuzzy +#~ msgid "Blocked Contacts" +#~ msgstr "Людзі" + +#, fuzzy +#~ msgid "Group chat" +#~ msgstr "Групавыя размовы" + +#, fuzzy +#~ msgid "Bookmark group chat" +#~ msgstr "_Змясціць у закладках" + +#, fuzzy +#~ msgid "Bookmark" +#~ msgstr "_Змясціць у закладках" + +#, fuzzy +#~ msgid "Recently used group chats" +#~ msgstr "Удзельнічаць у _групавой размове" + +#, fuzzy +#~ msgid "Clear Avatar" +#~ msgstr "Аватар:" + +#, fuzzy +#~ msgid "Set Avatar…" +#~ msgstr "Выберыце малюнак" + +#, fuzzy +#~ msgid "Contact" +#~ msgstr "Настаўленні" + +#, fuzzy +#~ msgid "_Leave Group Chat" +#~ msgstr "Сысці з групавых размоў" + +#, fuzzy +#~ msgid "Enter a new name for this group chat" +#~ msgstr "Вызначце новую назву групы %s" + +#, fuzzy +#~ msgid "Custom" +#~ msgstr "Адмысловы" + +#, fuzzy +#~ msgid "Pop it up" +#~ msgstr "_Вынырваць" + +#, fuzzy +#~ msgid "Notify me about it" +#~ msgstr "_Паведамляць мне пра гэта" + +#, fuzzy +#~ msgid "Show only in contact list" +#~ msgstr "Паказаць _адлучаных людзей" + +#, fuzzy +#~ msgid "No status messages" +#~ msgstr "паведамленне стану" + +#, fuzzy +#~ msgid "All status messages" +#~ msgstr "паведамленне стану" + +#, fuzzy +#~ msgid "Only enter/leave messages" +#~ msgstr "Ёсць нечытаныя паведамленні" + +#, fuzzy +#~ msgid "Me_rge accounts" +#~ msgstr "_Аб'яднаць рахункі" + +#, fuzzy +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "Паказваць _малюнкі ў галоўным вакне" + +#, fuzzy +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "" +#~ "Калі гэтая опцыя ўключаная, Gajim паказвае аватары ў галоўным вакне і ў " +#~ "групавых размовах" + +#, fuzzy +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "Паказваць _стан у галоўным вакне" + +#, fuzzy +#~ msgid "" +#~ "If checked, status messages of contacts will be shown under the contact's " +#~ "name, in the contact list window, and in group chats" +#~ msgstr "" +#~ "Калі гэтая опцыя ўключаная, Gajim паказвае паведамленні аб зменах стану " +#~ "для кожнага чалавека ў галоўным вакне і ў групавых размовах" + +#, fuzzy +#~ msgid "" +#~ "Show e_xtra information of contacts in contact list (mood, activity, ...)" +#~ msgstr "Паказваць _малюнкі ў галоўным вакне" + +#, fuzzy +#~ msgid "in _contact list" +#~ msgstr "Людзі" + +#, fuzzy +#~ msgid "in _group chats" +#~ msgstr "Удзельнічаць у _групавой размове" + +#, fuzzy +#~ msgid "Display status messages in _single chats" +#~ msgstr "Паказваць _стан у галоўным вакне" + +#, fuzzy +#~ msgid "" +#~ "If checked, status lines will be shown in 1 on 1 chats when a contact " +#~ "changes their status or status message" +#~ msgstr "Калі false, не паказваць паведамленні аб змене стану суразмоўцы." + +#, fuzzy +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "Немагчыма ўвайсці ў групавую размову" + +#, fuzzy +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "Немагчыма ўвайсці ў групавую размову" + +#, fuzzy +#~ msgid "Show status changes (Default)" +#~ msgstr "_Пісаць у журнал паведамленні аб змене стану чалавека" + +#, fuzzy +#~ msgid "" +#~ "If checked, the tab will be colored according to the current chatstate of " +#~ "the contact" +#~ msgstr "" +#~ "Калі гэтая опцыя ўключаная, Gajim далучыцца да гэтай групавой размовы пры " +#~ "запуску" + +#, fuzzy +#~ msgid "" +#~ "If checked, a description of the contacts current chatstate is shown in " +#~ "the banner" +#~ msgstr "" +#~ "Калі гэтая опцыя ўключаная, Gajim далучыцца да гэтай групавой размовы пры " +#~ "запуску" + +#, fuzzy +#~ msgid "Chatstate" +#~ msgstr "Апошняе паведамленне: %s" + +#, fuzzy +#~ msgid "_When new event is received" +#~ msgstr "Па атрыманні новай падзеі" + +#, fuzzy +#~ msgid "Show popups/notifications when a chat window is already _open" +#~ msgstr "" +#~ "Дазволіць паказ паведамленняў і нагадванні, калі я _сышоў/заняты/нябачны" + +#, fuzzy +#~ msgid "Allow popups/notifications when I'm _away, not available or busy" +#~ msgstr "" +#~ "Дазволіць паказ паведамленняў і нагадванні, калі я _сышоў/заняты/нябачны" + +#, fuzzy +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "Паведамляць мне аб людзях, якія: " + +#, fuzzy +#~ msgid "" +#~ "A popup window about contacts that just signed in will be shown in the " +#~ "bottom right of the screen " +#~ msgstr "" +#~ "Gajim будзе паведамляць Вам аб новых падзеях у выплыўным вакне ў правым " +#~ "верхнім куце экрана" + +#, fuzzy +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "Паведамляць мне аб людзях, якія: " + +#~ msgid "Play _sounds" +#~ msgstr "Граць _гук" + +#~ msgid "Ma_nage..." +#~ msgstr "Кі_раванне..." + +#, fuzzy +#~ msgid "No_t Available" +#~ msgstr "Мяне няма" + +#, fuzzy +#~ msgid "Minutes" +#~ msgstr "хвіліны" + +#, fuzzy +#~ msgid "Default Message" +#~ msgstr "Стандартныя паведамленні стану" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "Паведамленне аб змене стану" + +#, fuzzy +#~ msgid "Preset Status Messages" +#~ msgstr "Паведамленні аб змене стану" + +#, fuzzy +#~ msgid "_Theme" +#~ msgstr "Тэма" + +#~ msgid "Configure color and font of the interface" +#~ msgstr "Настаўленні колераў і шрыфтаў" + +#, fuzzy +#~ msgid "" +#~ "If checked, protocol-specific status icons will be used (e.g. a contact " +#~ "from ICQ will have the equivalent ICQ icon for status online, away, busy, " +#~ "etc...)" +#~ msgstr "" +#~ "Калі гэтая опцыя ўключаная, Gajim будзе паказваць значкі для асобных " +#~ "пратаколаў. (напр., чалавек з MSN будзе мець адпаведныя значкі " +#~ "злучанасці, адсутнасці, занятасці і г.д. для MSN-карыстальнікаў)" + +#, fuzzy +#~ msgid "_Manage..." +#~ msgstr "Кіраванне..." + +#, fuzzy +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "_Пісаць у журнал паведамленні аб змене стану чалавека" + +#, fuzzy +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "" +#~ "Калі гэтая опцыя ўключаная, Gajim запомніць пароль для гэтага рахунка" + +#~ msgid "_Open..." +#~ msgstr "_Адкрыць..." + +#, fuzzy +#~ msgid "_Filter" +#~ msgstr "_Фільтар:" + +#, fuzzy +#~ msgid "Protocol" +#~ msgstr "_Пратакол:" + +#~ msgid "Privacy Lists:" +#~ msgstr "Спісы прыватнасці:" + +#, fuzzy +#~ msgid "Message..." +#~ msgstr "Паведамленне" + +#, fuzzy +#~ msgid "Preset _messages" +#~ msgstr "Стандартныя паведамленні:" + +#, fuzzy +#~ msgid "_Type your new status message" +#~ msgstr "Увядзіце тэкст новага паведамлення аб змене стану" + +#, fuzzy +#~ msgid "Change Status Message…" +#~ msgstr "З_мяніць паведамленне аб стане" + +#, fuzzy +#~ msgid "Mood:" +#~ msgstr "Гукі" + +#, fuzzy +#~ msgid "Message:" +#~ msgstr "Паведамленні аб змене стану" + +#, fuzzy +#~ msgid "none" +#~ msgstr "адзін" + +#, fuzzy +#~ msgid "both" +#~ msgstr "Абодва" + +#, fuzzy +#~ msgid "from" +#~ msgstr "Ад" + +#, fuzzy +#~ msgid "to" +#~ msgstr "два" + +#~ msgid "Privacy List" +#~ msgstr "Спіс прыватнасці" + +#~ msgid "Privacy List" +#~ msgstr "Спіс прыватнасці" + +#~ msgid "Active for this session" +#~ msgstr "Актыўны для гэтага сеанса" + +#~ msgid "Active on each startup" +#~ msgstr "Актываваць пры запуску" + +#~ msgid "List of rules" +#~ msgstr "Спіс правілаў" + +#~ msgid "Add / Edit a rule" +#~ msgstr "Дадаць / Змяніць правіла" + +#~ msgid "Allow" +#~ msgstr "Дазволіць" + +#~ msgid "Deny" +#~ msgstr "Адмовіць" + +#~ msgid "all in the group" +#~ msgstr "усе з групы" + +#~ msgid "all by subscription" +#~ msgstr "усе па падпісцы" + +#~ msgid "All" +#~ msgstr "Усе" + +#~ msgid "to send me messages" +#~ msgstr "адпраўляць мне паведамленні" + +#~ msgid "to send me queries" +#~ msgstr "адпраўляць мне запыты" + +#~ msgid "to view my status" +#~ msgstr "бачыць мой стан" + +#~ msgid "to send me status" +#~ msgstr "адпраўляць мне паведамленні аб змене стану" + +#, fuzzy +#~ msgid "All (including subscription)" +#~ msgstr "усе па падпісцы" + +#~ msgid "Order:" +#~ msgstr "Парадак:" + +#, fuzzy +#~ msgid "" +#~ "Deny authorization from contact so the contact cannot know if you are " +#~ "connected" +#~ msgstr "" +#~ "Забраць аўтарызацыю ў чалавека, каб ён не мог бачыць, калі Вы далучаны" + +#, fuzzy +#~ msgid "Authorize contact so the contact can know if you are connected" +#~ msgstr "Аўтарызаваць чалавека, каб ён мог бачыць, калі Вы далучаны" + +#, fuzzy +#~ msgid "Contact List Shortcuts" +#~ msgstr "Чалавек адлучыўся" + +#~ msgid "Fill in the form." +#~ msgstr "Запоўніце форму." + +#, fuzzy +#~ msgid "Message: " +#~ msgstr "Паведамленні аб змене стану" + +#, fuzzy, python-format +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "%(contact_jid)s запрошаныя ў %(room_jid)s." + +#, fuzzy +#~ msgid "Group Chat Invitation " +#~ msgstr "Запрашэнне ў групавую размову" + +#, python-format +#~ msgid "Comment: %s" +#~ msgstr "Каментарый: %s" + +#, fuzzy +#~ msgid "Off" +#~ msgstr "Адключаны" + +#, fuzzy +#~ msgid "Retrieving profile…" +#~ msgstr "Чытанне профіля..." + +#, fuzzy +#~ msgid "Wrong date format" +#~ msgstr "Асабістыя звесткі" + +#, fuzzy +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "Фармат: ГГГГ-ММ-ДД" + +#~ msgid "Information received" +#~ msgstr "Атрыманыя звесткі" + +#, fuzzy +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "" +#~ "Вы не можаце абнавіць Вашыя асабістыя звесткі, не злучыўшыся з серверам." + +#, fuzzy +#~ msgid "Sending profile…" +#~ msgstr "Адпраўленне профіля..." + +#~ msgid "Information NOT published" +#~ msgstr "Звесткі НЕ абноўленыя" + +#~ msgid "vCard publication failed" +#~ msgstr "Памылка абнаўлення vCard" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "" +#~ "У часе абнаўлення Вашых асабістых звестак адбылася памылка, паспрабуйце " +#~ "абнавіць пазней." + +#, fuzzy +#~ msgid "?password:Hidden" +#~ msgstr "Пароль:" + +#, python-format +#~ msgid "Privacy List %s" +#~ msgstr "Спіс прыватнасці %s" + +#, python-format +#~ msgid "Privacy List for %s" +#~ msgstr "Спіс прыватнасці для %s" + +#, fuzzy, python-format +#~ msgid "" +#~ "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" +#~ msgstr "Парадак: %s, дзеянне: %s, тып: %s, значэнне: %s" + +#, fuzzy, python-format +#~ msgid "Order: %(order)s, action: %(action)s" +#~ msgstr "Парадак: %s, дзеянне: %s" + +#~ msgid "Edit a rule" +#~ msgstr "Змяніць правіла" + +#~ msgid "Add a rule" +#~ msgstr "Дадаць правіла" + +#, python-format +#~ msgid "Privacy Lists for %s" +#~ msgstr "Спісы прыватнасці для %s" + +#~ msgid "Invalid List Name" +#~ msgstr "Няправільная назва спіса" + +#~ msgid "You must enter a name to create a privacy list." +#~ msgstr "Вы павінны вызначыць назву для новага спіса прыватнасці." + +#, fuzzy +#~ msgid "Loading" +#~ msgstr "Піша" + +#~ msgid "status message title" +#~ msgstr "загаловак паведамлення аб змене стану" + +#~ msgid "status message text" +#~ msgstr "тэкст паведамлення аб змене стану" + +#, fuzzy +#~ msgid "Start New Conversation" +#~ msgstr "Злучэнне" + +#~ msgid "Gajim - %s" +#~ msgstr "Gajim - %s" + +#, fuzzy +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "Слоўніка для мовы %s няма" + +#, fuzzy +#~ msgid "" +#~ "You have to install the dictionary \"%s\" to use spellchecking, or choose " +#~ "another language by setting the speller_language option.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "Вы павінны ўсталяваць слоўнік %s, каб спраўджваць правапіс, альбо выбраць " +#~ "іншую мову праз опцыю speller_language." + +#, fuzzy +#~ msgid "_Reconnect" +#~ msgstr "Чалавек адлучыўся" + +#, fuzzy +#~ msgid "Quit" +#~ msgstr "_Выйсці" + +#, fuzzy +#~ msgid "Show Contact List" +#~ msgstr "Паказаць _адлучаных людзей" + +#, fuzzy +#~ msgid "Add to Contact List" +#~ msgstr "_Дадаць чалавека..." + +#, fuzzy +#~ msgid "Invite Contact" +#~ msgstr "Людзі" + +#, fuzzy +#~ msgid "Configure Group Chat" +#~ msgstr "Сысці з групавых размоў" + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." +#~ msgstr "" +#~ "Калі true, Gajim паказвае значку на кожнай картцы з нечытанымі " +#~ "паведамленнямі. У залежнасці ад тэмы, гэтая значка можа быць і анімаванай." + +#~ msgid "Invalid character in hostname." +#~ msgstr "Няправільны знак у назве вузла." + +#~ msgid "Server address required." +#~ msgstr "Патрэбны адрас сервера." + +#~ msgid "Invalid character in username." +#~ msgstr "Няправільны знак у імені карыстальніка." + +#~ msgid "Invalid character in resource." +#~ msgstr "Няправільны знак у назве рэсурса." + +#, fuzzy +#~ msgid "Notification color for contacts signing in." +#~ msgstr "Паведамляць мне аб людзях, якія: " + +#, fuzzy +#~ msgid "Notification color for contacts signing out." +#~ msgstr "Паведамляць мне аб людзях, якія: " + +#, fuzzy +#~ msgid "Notification color for new message notification." +#~ msgstr "_Паказваць падзею ў галоўным вакне" + +#, fuzzy +#~ msgid "Notification color for file transfer request." +#~ msgstr "_Паведамляць мне аб сканчэнні перадачы файлаў" + +#, fuzzy +#~ msgid "Notification color for file transfer errors." +#~ msgstr "_Паведамляць мне аб сканчэнні перадачы файлаў" + +#, fuzzy +#~ msgid "Notification background color for changed status." +#~ msgstr "Фонавы колер для толькі ўвайшоўшых людзей." + +#, fuzzy +#~ msgid "Event Type" +#~ msgstr "Падзея" + +#, fuzzy +#~ msgid "Event desc" +#~ msgstr "Падзеі" + +#, fuzzy +#~ msgid "No response from the Server" +#~ msgstr "Вы не злучаны з серверам" + +#, fuzzy +#~ msgid "Resource Conflict" +#~ msgstr "Канфлікт імёнаў карыстальнікаў" + +#, fuzzy +#~ msgid "Unable to load image" +#~ msgstr "Немагчыма загрузіць модуль idle" + +#, fuzzy +#~ msgid "Media type not supported: %s" +#~ msgstr "Пашырэнне не падтрымліваецца" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Gajim: Стварэнне рахунка" + +#, fuzzy +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "Трэба зарэгістраваць рахунак, каб далучыцца да\n" +#~ "сеткі Jabber." + +#, fuzzy +#~ msgid "I already have an account I want to _use" +#~ msgstr "Я ўжо маю патрэбны рахунак" + +#~ msgid "I want to _register for a new account" +#~ msgstr "_Зарэгістраваць новы рахунак" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "Выберыце адну з наступных опцый:" + +#, fuzzy +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "Запоўніце звесткі Вашага рахунка" + +#, fuzzy +#~ msgid "_XMPP Address:" +#~ msgstr "Адрас AIM:" + +#, fuzzy +#~ msgid "Anon_ymous authentication" +#~ msgstr "Аўтарызацыя" + +#~ msgid "_Password:" +#~ msgstr "_Пароль:" + +#~ msgid "Save pass_word" +#~ msgstr "Захоўваць па_роль" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "" +#~ "Калі гэтая опцыя ўключаная, Gajim запомніць пароль для гэтага рахунка" + +#~ msgid "_Server:" +#~ msgstr "_Сервер:" + +#~ msgid "Manage..." +#~ msgstr "Кіраванне..." + +#~ msgid "_Port:" +#~ msgstr "_Порт:" + +#~ msgid "_Advanced" +#~ msgstr "_Адмысловыя" + +#, fuzzy +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "Стварэнне рахунка\n" +#~ "\n" +#~ "Калі ласка, пачакайце..." + +#~ msgid "Connect when I press Finish" +#~ msgstr "Злучыцца па націску кнопкі \"Скончыць\"" + +#~ msgid "Set my profile when I connect" +#~ msgstr "Абнавіць профіль па злучэнні" + +#~ msgid "_Finish" +#~ msgstr "_Скончыць" + +#, fuzzy +#~ msgid "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." +#~ msgstr "" +#~ "Вы можаце зараз змяніць адмысловыя настаўленні, націснуўшы кнопку " +#~ "\"Адмысловыя\", альбо пазней, выбраўшы элемент \"Рахункі\" ў меню " +#~ "\"Змяніць\" галоўнага вакна." + +#~ msgid "Your new account has been created successfully" +#~ msgstr "Новы рахунак паспяхова створаны" + +#~ msgid "Invalid username" +#~ msgstr "Няправільнае імя карыстальніка" + +#~ msgid "You must provide a username to configure this account." +#~ msgstr "" +#~ "Вы павінны пазначыць імя карыстальніка, каб змяніць настаўленні гэтага " +#~ "рахунка." + +#, fuzzy +#~ msgid "Invalid server" +#~ msgstr "Няправільнае імя карыстальніка" + +#, fuzzy +#~ msgid "Please provide a server on which you want to register." +#~ msgstr "Вызначце сваю новую мянушку:" + +#~ msgid "Invalid entry" +#~ msgstr "Няправільны элемент" + +#, fuzzy +#~ msgid "Certificate Already in File" +#~ msgstr "Чалавек ужо ёсць у кантактным лісце" + +#~ msgid "Account name is in use" +#~ msgstr "Назва рахунка ўжо скарыстаная" + +#~ msgid "You already have an account using this name." +#~ msgstr "Вы ўжо маеце рахунак з такой назваю." + +#~ msgid "Connection with account \"%s\" has been lost" +#~ msgstr "Злучэнне для рахунка \"%s\" згубленае" + +#~ msgid "Reconnect manually." +#~ msgstr "Перадалучыцеся самастойна." + +#, fuzzy +#~ msgid "Server %(name)s answered wrongly to register request: %(error)s" +#~ msgstr "Транспарт %s некарэктна адказаў, каб зарэгістраваць запыт: %s" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "Немагчыма злучыцца з \"%s\"" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "Немагчыма злучыцца з \"%s\"" + +#~ msgid "Check your connection or try again later." +#~ msgstr "Праверце злучэнне, альбо паспрабуйце пазней." + +#, fuzzy +#~ msgid "Server replied: %s" +#~ msgstr "Захаваць у: %s" + +#, fuzzy +#~ msgid "Connection to proxy failed" +#~ msgstr "Памылка злучэння" + +#, fuzzy +#~ msgid "Could not connect to account %s" +#~ msgstr "Немагчыма злучыцца з \"%s\"" + +#, fuzzy +#~ msgid "Connection with account %s has been lost. Retry connecting." +#~ msgstr "Злучэнне для рахунка \"%s\" згубленае" + +#~ msgid "Please check your login and password for correctness." +#~ msgstr "Праверце звесткі аўтарызацыі." + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "Злучэнне HTTP" + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "BOSH" +#~ msgstr "_Спасылка:" + +#, fuzzy +#~ msgid "Use HTTP prox_y" +#~ msgstr "С_карыстаць проксі" + +#, fuzzy +#~ msgid "_BOSH URL" +#~ msgstr "_Спасылка:" + +#, fuzzy +#~ msgid "BOSH" +#~ msgstr "_Спасылка:" + +#, fuzzy +#~ msgid "Warn on insecure connection" +#~ msgstr "Злучэнне" + +#, fuzzy +#~ msgid "Contact list, list of contacts" +#~ msgstr "_Пісаць у журнал паведамленні аб змене стану чалавека" + +#~ msgid "You are participating in one or more group chats" +#~ msgstr "Вы ўдзельнічаеце ў некалькіх групавых размовах" + +#, fuzzy +#~ msgid "" +#~ "Changing your status to invisible will result in you leaving those group " +#~ "chats.\n" +#~ "Are you sure you want to go invisible?" +#~ msgstr "" +#~ "Змяніўшы свой стан на нябачны, Вы такім чынам выйдзеце з гэтых групавых " +#~ "размоў. Вы сапраўды хочаце стаць нябачным?" + +#, fuzzy +#~ msgid "_Disconnect" +#~ msgstr "Чалавек адлучыўся" + +#~ msgid "You cannot join a group chat while you are invisible" +#~ msgstr "Вы не можаце ўдзельнічаць у групавой размове нябачным" + +#~ msgid "Invisible" +#~ msgstr "Нябачны" + +#, fuzzy +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "Вы не можаце ўдзельнічаць у групавой размове нябачным" + +#~ msgid "_Invisible" +#~ msgstr "_Нябачны" + +#, fuzzy +#~ msgid "Yesterday" +#~ msgid_plural "%(nb_days)i days ago" +#~ msgstr[0] "Учора" +#~ msgstr[1] "Учора" +#~ msgstr[2] "Учора" + +#, fuzzy +#~ msgid "_Cancel Upload" +#~ msgstr "_Скасаваць" + +#, fuzzy +#~ msgid "" +#~ "If you close this tab while having chat history disabled, this message " +#~ "will be lost." +#~ msgstr "" +#~ "Калі Вы закрыеце гэтую картку з адключаным вядзеннем журналаў, гэтае " +#~ "паведамленне згубіцца." + +#, fuzzy +#~ msgid "Unregister Failed" +#~ msgstr "Памылка злучэння" + +#, fuzzy +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "Памылка злучэння" + +#, fuzzy +#~ msgid "New Password" +#~ msgstr "Захаваць пароль" + +#~ msgid "What do you want to do?" +#~ msgstr "Што Вы хочаце зрабіць?" + +#~ msgid "Remove account from Gajim and from _server" +#~ msgstr "Выдаліць рахунак для Gajim і на _серверы" + +#, fuzzy +#~ msgid "You must enter a password" +#~ msgstr "Вы павінны ўвесці пароль." + +#, fuzzy +#~ msgid "You still have open chats in your account %s" +#~ msgstr "Вы пачалі размову ў рахунку %s" + +#, fuzzy +#~ msgid "To unregister from a server, the account must be enabled." +#~ msgstr "Каб змяніць назву рахунка, трэба папярэдне адлучыцца." + +#, fuzzy +#~ msgid "Password required" +#~ msgstr "Патрабуецца пароль" + +#, fuzzy +#~ msgid "Still connected to the server" +#~ msgstr "Вы не злучаны з серверам" + +#, fuzzy +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "Калі Вы выдаліце яго, згубіцца злучэнне." + +#, fuzzy +#~ msgid "Connection to server %s failed" +#~ msgstr "Памылка злучэння" + +#, fuzzy +#~ msgid "What would you like to do?" +#~ msgstr "Што Вы хочаце зрабіць?" + +#, fuzzy +#~ msgid "Remove only from Gajim" +#~ msgstr "Выдаліць рахунак _толькі для Gajim" + +#, fuzzy +#~ msgid "Contents" +#~ msgstr "_Змест" + +#, fuzzy +#~ msgid "FAQ" +#~ msgstr "_Частыя пытанні" + +#~ msgid "Save as Preset Status Message" +#~ msgstr "Захаваць гэтае паведамленне аб змене стану" + +#~ msgid "Enter a new nickname for contact %s" +#~ msgstr "Вызначце новую мянушку для чалавека %s." + +#, fuzzy +#~ msgid "Join a group chat" +#~ msgstr "Удзельнічаць у _групавой размове" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "Прыняць" + +#~ msgid "New entry received" +#~ msgstr "Атрыманае новае паведамленне" + +#~ msgid "You have received new entry:" +#~ msgstr "Вы атрымалі новае паведамленне:" + +#~ msgid "Feed name:" +#~ msgstr "Назва крыніцы:" + +#~ msgid "Last modified:" +#~ msgstr "Апошняя змена:" + +#, fuzzy +#~ msgid "Send file?" +#~ msgstr "Адправіць _файл" + +#, fuzzy +#~ msgid "Mail _client" +#~ msgstr "_Паштовая праграма:" + +#, fuzzy +#~ msgid "_Browser" +#~ msgstr "_Гартач:" + +#, fuzzy +#~ msgid "_File manager" +#~ msgstr "_Кіраўнік файлаў:" + +#, fuzzy +#~ msgid "Applications" +#~ msgstr "Праграмы" + +#, fuzzy +#~ msgid "" +#~ "Uses ReStructured text markup to send HTML, plus ASCII formatting if " +#~ "selected. Needs docutils installed (for syntax, see http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Ужыць рэструктураваную мову тэкставай разметкі для адпраўлення HTML, а " +#~ "таксама фарматаванне ASCII, калі ўключаная адпаведная опцыя. Глядзіце " +#~ "сінтаксіс на http://docutils.sourceforge.net/docs/ref/rst/" +#~ "restructuredtext.html (калі Вы хочаце ўжыць гэтую магчымасць, усталюйце " +#~ "docutils)" + +#, fuzzy +#~ msgid "_Ignore formatting of incoming messages" +#~ msgstr "Ігнараваць афармленне ўваходных паведамленняў" + +#, fuzzy +#~ msgid "" +#~ "Some messages may include rich content (xhtml formatting, colors etc). If " +#~ "checked, Gajim will just display the plain message text." +#~ msgstr "" +#~ "Некаторыя паведамленні ўключаюць афармленне (фармат, колеры і г.д.). Калі " +#~ "гэтая опцыя ўключаная, Gajim будзе паказваць нефарматаваны тэкст." + +#, fuzzy +#~ msgid "RST XHTML Generator" +#~ msgstr "Агульная" + +#~ msgid "New Single Message" +#~ msgstr "Новае асобнае паведамленне" + +#, fuzzy +#~ msgid "" +#~ "Can be empty, 'chat' or 'normal'. If not empty, all incoming messages are " +#~ "treated as if they were of this type." +#~ msgstr "" +#~ "Можа мець значэнні 'chat', 'normal' альбо быць пустым. Калі не пустое, то " +#~ "лічыць усе ўваходныя паведамленні гэтага тыпу" + +#, fuzzy +#~ msgid "Error %(code)s: %(msg)s" +#~ msgstr "%(nickname)s: %(message)s" + +#~ msgid "twelve" +#~ msgstr "дванаццаць" + +#~ msgid "one" +#~ msgstr "адзін" + +#~ msgid "two" +#~ msgstr "два" + +#~ msgid "three" +#~ msgstr "тры" + +#~ msgid "four" +#~ msgstr "чатыры" + +#~ msgid "five" +#~ msgstr "пяць" + +#~ msgid "six" +#~ msgstr "шэсць" + +#~ msgid "seven" +#~ msgstr "сем" + +#~ msgid "eight" +#~ msgstr "восем" + +#~ msgid "nine" +#~ msgstr "дзевяць" + +#~ msgid "ten" +#~ msgstr "дзесяць" + +#~ msgid "eleven" +#~ msgstr "адзінаццаць" + +#~ msgid "%(0)s o'clock" +#~ msgstr "%(0)s гадзінаў" + +#~ msgid "five past %(0)s" +#~ msgstr "пяць хвілінаў на %(0)s" + +#~ msgid "ten past %(0)s" +#~ msgstr "дзесяць хвілінаў на %(0)s" + +#~ msgid "quarter past %(0)s" +#~ msgstr "чвэрць на %(0)s" + +#~ msgid "twenty past %(0)s" +#~ msgstr "дваццаць хвілінаў на %(0)s" + +#~ msgid "twenty five past %(0)s" +#~ msgstr "дваццаць пяць хвілінаў на %(0)s" + +#~ msgid "half past %(0)s" +#~ msgstr "палова на %(0)s" + +#~ msgid "twenty five to %(1)s" +#~ msgstr "без дваццаці пяці хвілінаў %(1)s" + +#~ msgid "twenty to %(1)s" +#~ msgstr "без дваццаці хвілінаў %(1)s" + +#~ msgid "quarter to %(1)s" +#~ msgstr "без чвэрці %(1)s" + +#, fuzzy +#~ msgid "ten to %(1)s" +#~ msgstr "дзесяць хвілінаў на $s" + +#~ msgid "five to %(1)s" +#~ msgstr "без пяці хвілінаў %(1)s" + +#~ msgid "%(1)s o'clock" +#~ msgstr "%(1)s гадзінаў" + +#~ msgid "Night" +#~ msgstr "Ноч" + +#~ msgid "Early morning" +#~ msgstr "Світанак" + +#~ msgid "Morning" +#~ msgstr "Раніца" + +#~ msgid "Almost noon" +#~ msgstr "Амаль дзень" + +#~ msgid "Noon" +#~ msgstr "Полудзень" + +#~ msgid "Afternoon" +#~ msgstr "Абед" + +#~ msgid "Evening" +#~ msgstr "Вечар" + +#~ msgid "Late evening" +#~ msgstr "Позні вечар" + +#~ msgid "Start of week" +#~ msgstr "Пачатак тыдня" + +#~ msgid "Middle of week" +#~ msgstr "Сярэдзіна тыдня" + +#~ msgid "End of week" +#~ msgstr "Канец тыдня" + +#~ msgid "Weekend!" +#~ msgstr "Выходныя!" + +#, fuzzy +#~ msgid "" +#~ "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or " +#~ "0 to disable Fuzzy Clock. 1 is the most precise clock, 4 the least " +#~ "precise one. This is used only if 'print_time' is 'sometimes'." +#~ msgstr "" +#~ "Паказваць час у вокнах размовы прыблізна. Значэнне прыблізнасці ад 1 да " +#~ "4, альбо 0, каб адключыць прыблізнасць. 1 паказвае самы дакладны час, 4 " +#~ "паказвае самы прыблізны. Працуе, калі опцыя print_time мае значэнне " +#~ "'sometimes'." + +#~ msgid "message" +#~ msgstr "паведамленне" + +#, fuzzy +#~ msgid "error: %s" +#~ msgstr "Памылка: %s" + +#, fuzzy +#~ msgid "Form: %s" +#~ msgstr "Я %s" + +#, fuzzy +#~ msgid "XML Input" +#~ msgstr "Увод XML" + +#, fuzzy +#~ msgid "Ttitle" +#~ msgstr "Загаловак:" + +#, fuzzy +#~ msgid "Screen" +#~ msgstr "зялёны" + +#, fuzzy +#~ msgid "Conversation with " +#~ msgstr "Журнал размоў" + +#, fuzzy +#~ msgid "Continued conversation" +#~ msgstr "Злучэнне" + +#, fuzzy +#~ msgid "%s has invited you to join a discussion" +#~ msgstr "$Contact запрасіў Вас у групавую размову %(room_jid)s" + +#~ msgid "_Send Private Message" +#~ msgstr "Ад_правіць прыватнае паведамленне" + +#, fuzzy +#~ msgid "Participant Actions" +#~ msgstr "Удзельнікі" + +#~ msgid "_Voice" +#~ msgstr "_Голас" + +#~ msgid "Mo_derator" +#~ msgstr "Ма_дэратар" + +#~ msgid "_Member" +#~ msgstr "_Удзельнік" + +#~ msgid "_Admin" +#~ msgstr "_Адміністратар" + +#~ msgid "_Owner" +#~ msgstr "_Уладальнік" + +#, fuzzy +#~ msgid "_Add to Contact List" +#~ msgstr "_Дадаць чалавека..." + +#, fuzzy +#~ msgid "_Execute command" +#~ msgstr "_Выканаць загад..." + +#, fuzzy +#~ msgid "Change _Nickname..." +#~ msgstr "Змяніць м_янушку" + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "Новая групавая размова" + +#, fuzzy +#~ msgid "Change _Subject..." +#~ msgstr "Змяніць _тэму" + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "Удзельнічаць у _групавой размове" + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "Новая групавая размова" + +#, fuzzy +#~ msgid "_Request Voice" +#~ msgstr "_Голас" + +#, fuzzy +#~ msgid "_Bookmark" +#~ msgstr "_Змясціць у закладках" + +#, fuzzy +#~ msgid "View certificate…" +#~ msgstr "Няправільнае імя карыстальніка" + +#, fuzzy +#~ msgid "Continue" +#~ msgstr "_Працягнуць" + +#~ msgid "" +#~ "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM " +#~ "IS RUNNING)" +#~ msgstr "" +#~ "Вы сапраўды хочаце ачысціць базу дадзеных? (Увага: закрыйце Gajim перад " +#~ "працягам)" + +#, fuzzy +#~ msgid "Authorization" +#~ msgstr "Адпраўленая аўтарызацыя" + +#, fuzzy +#~ msgid "" +#~ "All chat and group chat windows will be closed. Do you want to continue?" +#~ msgstr "Усе размоўныя вокны закрыюцца. Хочаце працягнуць?" + +#, fuzzy +#~ msgid "Account '%s' is still connected to the server" +#~ msgstr "Рахунак \"%s\" злучаны з серверам" + +#, fuzzy +#~ msgid "Error While Saving" +#~ msgstr "Памылка дадання сервіса. %s" + +#, fuzzy +#~ msgid "" +#~ "Image cannot be saved in %(type)s format.\n" +#~ "Save as %(new_filename)s?" +#~ msgstr "" +#~ "Немагчыма захаваць малюнак у фармаце %(type)s. Захаваць як " +#~ "%(new_filename)s?" + +#, fuzzy +#~ msgid "Save _As" +#~ msgstr "Мае " + +#, fuzzy +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "Няправільны Jabber ID групавой размовы" + +#, fuzzy +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "Jabber ID групавой размовы ўтрымлівае няправільныя знакі." + +#~ msgid "You may specify a reason below:" +#~ msgstr "Вы можаце вызначыць прычыну:" + +#~ msgid "Banning %s" +#~ msgstr "Забарона казання для %s" + +#, fuzzy +#~ msgid "" +#~ "Always ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Заўсёды пытацца пацверджання закрыцця групавых размоў з гэтага спіса " +#~ "падзеленых прагаламі назваў групавых размоў." + +#, fuzzy +#~ msgid "" +#~ "Never ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Ніколі не пытацца пацверджання закрыцця групавых размоў з гэтага спіса " +#~ "падзеленых прагаламі назваў групавых размоў." + +#, fuzzy +#~ msgid "Leave Group Chats" +#~ msgstr "Сысці з групавых размоў" + +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "%(nickname)s на %(room_jid)s" + +#, fuzzy +#~ msgid "You have not joined a group chat." +#~ msgstr "Вы не ўвайшлі ў пакой групавой размовы." + +#, fuzzy +#~ msgid "You left the following group chats:" +#~ msgstr "Вы сышлі з наступных групавых размоў:" + +#~ msgid "Don't show avatar for the transport itself." +#~ msgstr "Не паказваць аватар для транспарта." + +#, fuzzy +#~ msgid "" +#~ "Show a confirmation dialog for a custom status? Empty string means never " +#~ "show the dialog." +#~ msgstr "" +#~ "Ці трэба паказваць вакно пацверджання пры стварэнні мета-кантакта? Пусты " +#~ "радок адключае гэтае вакно." + +#, fuzzy +#~ msgid "Jabberd2 workaround." +#~ msgstr "Выпраўленне хібы Jabberd2" + +#, fuzzy +#~ msgid "Configure Services…" +#~ msgstr "_Праглядзець сервісы..." + +#, fuzzy +#~ msgid "Group Chat Bookmarks" +#~ msgstr "Групавая размова" + +#, fuzzy +#~ msgid "Add Bookmark" +#~ msgstr "_Змясціць у закладках" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "_Змясціць у закладках" + +#, fuzzy +#~ msgid "_Server" +#~ msgstr "_Сервер:" + +#, fuzzy +#~ msgid "_Password" +#~ msgstr "_Пароль:" + +#, fuzzy +#~ msgid "Join chat when connected" +#~ msgstr "Чалавек адлучыўся" + +#~ msgid "New Group Chat" +#~ msgstr "Новая групавая размова" + +#~ msgid "This bookmark has invalid data" +#~ msgstr "Гэтая закладка мае няправільныя звесткі" + +#, fuzzy +#~ msgid "" +#~ "Please be sure to fill out server and group chat fields or remove this " +#~ "bookmark." +#~ msgstr "Запоўніце палі сервера і пакоя альбо выдаліце гэтую закладку." + +#, fuzzy +#~ msgid "Character not allowed" +#~ msgstr "Такая мянушка не дазволеная: %s" + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "Няправільны Jabber ID групавой размовы" + +#~ msgid "Unable to join group chat" +#~ msgstr "Немагчыма ўвайсці ў групавую размову" + +#, fuzzy +#~ msgid "You are banned from group chat %s." +#~ msgstr "Вам забаронена казанне ў гэтай групавой размове." + +#, fuzzy +#~ msgid "Remote server %s does not exist." +#~ msgstr "Такой групавой размовы няма." + +#, fuzzy +#~ msgid "Group chat %s does not exist." +#~ msgstr "Такой групавой размовы няма." + +#, fuzzy +#~ msgid "Group chat creation is not permitted." +#~ msgstr "Стварэнне групавых размоў абмежаванае." + +#, fuzzy +#~ msgid "You must use your registered nickname in %s." +#~ msgstr "Вы павінны карыстацца зарэгістраванай для Вас мянушкай." + +#, fuzzy +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "Вас няма ў спісе ўдзельнікаў." + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "Гэта не групавая размова" + +#~ msgid "This is not a group chat" +#~ msgstr "Гэта не групавая размова" + +#, fuzzy +#~ msgid "Please choose a group chat" +#~ msgstr "Стварыць новы допіс" + +#, fuzzy +#~ msgid "Invalid Nickname" +#~ msgstr "Няправільнае імя карыстальніка" + +#, fuzzy +#~ msgid "Wrong server" +#~ msgstr "Няправільная спасылка" + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "Гэта не групавая размова" + +#, fuzzy +#~ msgid "A Password is required to join the group chat %s. Please type it." +#~ msgstr "Каб удзельнічаць у гэтай групавой размове, трэба ведаць пароль." + +#~ msgid "Not in Roster" +#~ msgstr "Няма ў спісе" + +#~ msgid "I would like to add you to my roster" +#~ msgstr "Я хачу дадаць Вас у мой кантактны ліст" + +#, fuzzy +#~ msgid "Add to Roster" +#~ msgstr "_Дадаць у кантактны ліст" + +#, fuzzy +#~ msgid "Manage Room" +#~ msgstr "Кіраванне закладкамі" + +#, fuzzy +#~ msgid "Configure Room" +#~ msgstr "Настаўленні _пакоя" + +#, fuzzy +#~ msgid "Destroy Room" +#~ msgstr "Апісанне: %s" + +#, fuzzy +#~ msgid "Change Nick" +#~ msgstr "Змяніць м_янушку" + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "Чалавек адлучыўся" + +#, fuzzy +#~ msgid "Copy JID" +#~ msgstr "Пакой:" + +#, fuzzy +#~ msgid "Add to Roster…" +#~ msgstr "_Дадаць у кантактны ліст" + +#, fuzzy +#~ msgid "Copy JID/Email" +#~ msgstr "_Скапіяваць JID / паштовы адрас" + +#, fuzzy +#~ msgid "JID: %s" +#~ msgstr "Jabber ID: %s" + +#~ msgid "Changing Subject" +#~ msgstr "Змяненне тэмы" + +#~ msgid "Please specify the new subject:" +#~ msgstr "Вызначце новую тэму:" + +#, fuzzy +#~ msgid "You (%s) joined the room" +#~ msgstr "%s далучыўся да групавой размовы" + +#, fuzzy +#~ msgid "Unable to join groupchat" +#~ msgstr "Немагчыма ўвайсці ў групавую размову" + +#~ msgid "Groupchat Invitation" +#~ msgstr "Запрашэнне ў групавую размову" + +#, fuzzy +#~ msgid "%(jid)s has been invited in this room" +#~ msgstr "%(who)s пакараў %(nick)s: %(reason)s" + +#, fuzzy +#~ msgid "JID is not a Groupchat" +#~ msgstr "Гэта не групавая размова" + +#~ msgid "Invalid JID" +#~ msgstr "Няправільны JID" + +#~ msgid "A connection is not available" +#~ msgstr "Няма злучэння" + +#, fuzzy +#~ msgid "JID already in list" +#~ msgstr "Jabber-праграма" + +#, fuzzy +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "Няма злучэння" + +#~ msgid "Removes contact from roster" +#~ msgstr "Выдаліць чалавека з спіса" + +#~ msgid "Not in roster" +#~ msgstr "Няма ў спісе" + +#, fuzzy +#~ msgid "Contact signed in notification color." +#~ msgstr "_Паказваць падзею ў галоўным вакне" + +#, fuzzy +#~ msgid "Contact signout notification color" +#~ msgstr "_Паказваць падзею ў галоўным вакне" + +#, fuzzy +#~ msgid "File transfer request notification color." +#~ msgstr "Запыт на перадачу файла" + +#, fuzzy +#~ msgid "File transfer error notification color." +#~ msgstr "Перадача файла скасаваная" + +#, fuzzy +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "Паказаць нагадванне па сканчэнні перадачы файла" + +#, fuzzy +#~ msgid "Groupchat invitation notification color" +#~ msgstr "Запрашэнне ў групавую размову" + +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "Дадаць * і [n] у назву галоўнага вакна?" + +#~ msgid "Hides the banner in two persons chat window" +#~ msgstr "Хавае банер у прыватнай размове" + +#, fuzzy +#~ msgid "" +#~ "Show the confirm metacontacts creation dialog or not? Empty string means " +#~ "never show the dialog." +#~ msgstr "" +#~ "Ці трэба паказваць вакно пацверджання пры стварэнні мета-кантакта? Пусты " +#~ "радок адключае гэтае вакно." + +#, fuzzy +#~ msgid "Language for which misspelled words will be checked" +#~ msgstr "Мова праверкі правапісу" + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "Ямо, пакіньце мне паведамленне." + +#, fuzzy +#~ msgid "from room %s" +#~ msgstr "Я %s" + +#~ msgid "Leave Groupchats" +#~ msgstr "Сысці з групавых размоў" + +#, fuzzy +#~ msgid "Auto Join" +#~ msgstr "Аўтаматычна далучацца" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "Пакой:" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#, fuzzy +#~ msgid "Occupant Actions" +#~ msgstr "_Дзеянні ўдзельнікаў" + +#~ msgid "_Add to Roster" +#~ msgstr "_Дадаць у кантактны ліст" + +#, fuzzy +#~ msgid "_Manage Room" +#~ msgstr "Кіраванне закладкамі" + +#, fuzzy +#~ msgid "Configure _Room..." +#~ msgstr "Настаўленні _пакоя" + +#, fuzzy +#~ msgid "_Destroy Room" +#~ msgstr "Апісанне: %s" + +#, fuzzy +#~ msgid "Jabber ID" +#~ msgstr "Jabber ID:" + +#, fuzzy +#~ msgid "account" +#~ msgstr "Рахунак" + +#, fuzzy +#~ msgid "Roster" +#~ msgstr "Паказаць _галоўнае вакно" + +#, fuzzy +#~ msgid "Show only in roster" +#~ msgstr "Паказваць толькі ў _галоўным вакне" + +#, fuzzy +#~ msgid "in _roster" +#~ msgstr "Няма ў спісе" + +#, fuzzy +#~ msgid "Roster Appearance" +#~ msgstr "Змяніць правіла" + +#, fuzzy +#~ msgid "_Add to Roster..." +#~ msgstr "_Дадаць у кантактны ліст" + +#~ msgid "_Jabber ID:" +#~ msgstr "_Jabber ID:" + +#, fuzzy +#~ msgid "_Jabber ID" +#~ msgstr "_Jabber ID:" + +#~ msgid "JabberID" +#~ msgstr "JabberID" + +#, fuzzy +#~ msgid "Show Roster" +#~ msgstr "Паказаць _галоўнае вакно" + +#, fuzzy +#~ msgid "MUC server" +#~ msgstr "Назіральнікі" + +#~ msgid "Room Configuration" +#~ msgstr "Настаўленні пакоя" + +#~ msgid "Join _Group Chat" +#~ msgstr "Удзельнічаць у _групавой размове" + +#, fuzzy +#~ msgid "Audio sessions are not available" +#~ msgstr "Няма злучэння" + +#~ msgid "Conference" +#~ msgstr "Канферэнцыі" + +#, fuzzy +#~ msgid "_Manage Bookmarks…" +#~ msgstr "Кіраванне закладкамі" + +#, fuzzy +#~ msgid "Hide _Roster" +#~ msgstr "Няма ў спісе" + +#~ msgid "Show _Roster" +#~ msgstr "Паказаць _галоўнае вакно" + +#, fuzzy +#~ msgid "Invalid Room" +#~ msgstr "Няправільны элемент" + +#, fuzzy +#~ msgid "Invalid room" +#~ msgstr "Няправільны элемент" + +#~ msgid "A GTK+ Jabber client" +#~ msgstr "Jabber-праграма для GTK+" + +#~ msgid "Changing Nickname" +#~ msgstr "Змена мянушкі" + +#~ msgid "Please specify the new nickname you want to use:" +#~ msgstr "Вызначце сваю новую мянушку:" + +#~ msgid "Bookmark already set" +#~ msgstr "Закладка ўжо ўсталяваная" + +#, fuzzy +#~ msgid "Group Chat '%s' is already in your bookmarks." +#~ msgstr "Групавая размова \"%s\" ужо знаходзіцца ў Вашых закладках." + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "Закладка паспяхова дададзеная" + +#, fuzzy +#~ msgid "" +#~ "You can manage your bookmarks by clicking the Bookmarks menu item in your " +#~ "contact list." +#~ msgstr "" +#~ "Вы можаце рэдагаваць спіс Вашых закладак праз меню \"Дзеянні\" галоўнага " +#~ "вакна." + +#, fuzzy +#~ msgid "The nickname contains invalid characters." +#~ msgstr "Jabber ID групавой размовы ўтрымлівае няправільныя знакі." + +#, fuzzy +#~ msgid "Bookmark Room" +#~ msgstr "_Змясціць у закладках" + +#~ msgid "_Join New Group Chat" +#~ msgstr "_Удзельнічаць у групавой размове" + +#~ msgid "Name:" +#~ msgstr "Імя:" + +#, fuzzy +#~ msgid "Description:" +#~ msgstr "Апісанне: %s" + +#, fuzzy +#~ msgid "Address:" +#~ msgstr "_Адрас:" + +#, fuzzy +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "" +#~ "Вы не можаце ўдзельнічаць у групавой размове, не злучыўшыся з серверам." + +#, fuzzy +#~ msgid "Occupants" +#~ msgstr "_Дзеянні ўдзельнікаў" + +#~ msgid "_Modify Account..." +#~ msgstr "_Змяніць рахунак..." + +#~ msgid "Boolean" +#~ msgstr "Лагічнае" + +#~ msgid "Integer" +#~ msgstr "Цэлы лік" + +#~ msgid "Text" +#~ msgstr "Тэкставае" + +#~ msgid "Value" +#~ msgstr "Значэнне" + +#~ msgid "(None)" +#~ msgstr "(Няма)" + +#~ msgid "Hidden" +#~ msgstr "Схаваны" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "Кіраванне профілямі проксі" + +#, fuzzy +#~ msgid "Properties" +#~ msgstr "Уласцівасці" + +#, fuzzy +#~ msgid "Proxy _Port" +#~ msgstr "_Порт:" + +#, fuzzy +#~ msgid "New Groupchat" +#~ msgstr "Новая групавая размова" + +#, fuzzy +#~ msgid "New Contact" +#~ msgstr "Дадаць новага чалавека" + +#~ msgid "%s GiB" +#~ msgstr "%s ГіБ" + +#~ msgid "%s GB" +#~ msgstr "%s ГБ" + +#~ msgid "%s MiB" +#~ msgstr "%s МіБ" + +#~ msgid "%s MB" +#~ msgstr "%s МБ" + +#~ msgid "%s KiB" +#~ msgstr "%s кiБ" + +#~ msgid "%s KB" +#~ msgstr "%s кБ" + +#~ msgid "%s B" +#~ msgstr "%s Б" + +#, fuzzy +#~ msgid "%s MiB/s" +#~ msgstr "%s МіБ" + +#, fuzzy +#~ msgid "File transfer" +#~ msgstr "Перадача файлаў" + +#, fuzzy +#~ msgid "Open _Containing Folder" +#~ msgstr "_Адкрыць дырэкторыю з файлам" + +#, fuzzy +#~ msgid "Default:" +#~ msgstr "Прадвызначана" + +#, fuzzy +#~ msgid "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" +#~ msgstr "" +#~ "Вы больш не зможаце мець зносіны з людзьмі праз гэтыя транспарты: %s" + +#~ msgid "Contact \"%s\" will be removed from your roster" +#~ msgstr "\"%s\" будзе выдалены з Вашага кантактнага ліста" + +#, fuzzy +#~ msgid "" +#~ "By removing this contact you also by default remove authorization " +#~ "resulting in them always seeing you as offline." +#~ msgstr "" +#~ "Выдаліўшы гэтага чалавека з Вашага кантактнага ліста, Вы звычайна такім " +#~ "чынам таксама прыбярэце ў яго аўтарызацыю, і ён заўсёды будзе бачыць Вас " +#~ "адлучаным." + +#~ msgid "Contacts will be removed from your roster" +#~ msgstr "Людзі будуць выдаленыя з Вашага кантактнага ліста" + +#~ msgid "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorization resulting in them always seeing you as " +#~ "offline." +#~ msgstr "" +#~ "Выдаліўшы гэтых людзей:%s\n" +#~ "з Вашага кантактнага ліста, Вы такім чынам таксама прыбярэце ў іх " +#~ "аўтарызацыю, і яны заўсёды будуць бачыць Вас адлучаным." + +#, fuzzy +#~ msgid "Con_tinue" +#~ msgstr "_Працягнуць" + +#~ msgid "_Pause" +#~ msgstr "_Прыпыніць" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "Выдаліць перадачу файла з спіса." + +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "" +#~ "Выдаліць адзін файл з чаргі перадачы. Калі яшчэ адбываецца перадача, яна " +#~ "спыняецца, а потым выдаляецца" + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "Скасаваць выбраную перадачу файла" + +#, fuzzy +#~ msgid "Hide the window" +#~ msgstr "Схаваць вакно" + +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "Паказаць нагадванне па сканчэнні перадачы файла" + +#~ msgid "From:" +#~ msgstr "Ад:" + +#~ msgid "Subject:" +#~ msgstr "Тэма:" + +#~ msgid "%s wants to send you a file:" +#~ msgstr "%s хоча адправіць Вам файл:" + +#~ msgid "Name: " +#~ msgstr "Назва:" + +#~ msgid "Pause" +#~ msgstr "Прыпыніць" + +#, fuzzy +#~ msgid "Execute Command" +#~ msgstr "_Выканаць загад..." + +#~ msgid "Type: " +#~ msgstr "Тып: " + +#~ msgid "Transferred: " +#~ msgstr "Перададзена: " + +#~ msgid "Completed" +#~ msgstr "Скончаная" + +#~ msgid "Stalled" +#~ msgstr "Марнаванне часу" + +#~ msgid "Transferring" +#~ msgstr "Перадача" + +#~ msgid "Not started" +#~ msgstr "Не пачатая" + +#, fuzzy +#~ msgid "%s day" +#~ msgid_plural "%s days" +#~ msgstr[0] "%i дзён таму" +#~ msgstr[1] "%i дзён таму" +#~ msgstr[2] "%i дзён таму" + +#~ msgid "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" +#~ msgstr "Усе размоўныя вокны закрыюцца. Хочаце працягнуць?" + +#, fuzzy +#~ msgid "" +#~ "Your desired nickname in group chat\n" +#~ "%s\n" +#~ "is in use or registered by another occupant.\n" +#~ "Please specify another nickname below:" +#~ msgstr "" +#~ "Гэтая мянушка ўжо ўжытая альбо зарэгістраваная іншым чалавекам.\n" +#~ "Выберыце іншую мянушку:" + +#, fuzzy +#~ msgid "_Configure" +#~ msgstr "_Працягнуць" + +#, fuzzy +#~ msgid "Change the avatar" +#~ msgstr "Змяніць стан" + +#, fuzzy +#~ msgid "" +#~ "Account in which the avatar will be set; if not specified, the avatar " +#~ "will be set for all accounts" +#~ msgstr "" +#~ "Рахунак, на які будзе адпраўлены xml; калі не вызначаны, xml будзе " +#~ "адпраўлены на ўсе рахункі" + +#, fuzzy +#~ msgid "add" +#~ msgstr "Марнаванне часу" + +#, fuzzy +#~ msgid "modify" +#~ msgstr "_Змяніць" + +#, fuzzy +#~ msgid "remove" +#~ msgstr "Вы_даліць" + +#, fuzzy +#~ msgid "" +#~ "If true, restored messages will use a smaller font than the default one." +#~ msgstr "" +#~ "Калі true, адноўленыя з папярэдняга сеанса паведамленні будуць мець меншы " +#~ "памер шрыфта." + +#, fuzzy +#~ msgid "Restored Message Color" +#~ msgstr "_Вярнуць звычайныя колеры" + +#, fuzzy +#~ msgid "Send Cus_tom Status" +#~ msgstr "Адправіць асаблівы XML" + +#, fuzzy +#~ msgid "" +#~ "You are about to send a custom status. Are you sure you want to continue?" +#~ msgstr "Вы ствараеце мета-кантакт. Вы сапраўды хочаце працягнуць?" + +#, fuzzy +#~ msgid "" +#~ msgstr "Тэма" + +#~ msgid "#" +#~ msgstr "№" + +#, fuzzy +#~ msgid "You are about to block a contact. Are you sure you want to continue?" +#~ msgstr "Вы ствараеце мета-кантакт. Вы сапраўды хочаце працягнуць?" + +#~ msgid "To:" +#~ msgstr "Каму:" + +#~ msgid "0" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Reconnect when connection is lost" +#~ msgstr "Аўтаматычна перадалучацца, калі знікае злучэнне" + +#, fuzzy +#~ msgid "Server Message Archive" +#~ msgstr "Ад_правіць паведамленне серверу" + +#, fuzzy +#~ msgid "Message Carbons" +#~ msgstr "Паведамленні" + +#~ msgid "" +#~ "Sent chat state notifications. Can be one of all, composing_only, " +#~ "disabled." +#~ msgstr "" +#~ "Адпраўляць паведамленні аб стане размовы. Адно з наступных значэнняў: " +#~ "all, composing_only, disabled." + +#, fuzzy +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "Дазволіць адпраўку звестак аб _сістэме" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the idle time of your system" +#~ msgstr "" +#~ "Калі гэтая опцыя ўключаная, Gajim далучыцца да гэтай групавой размовы пры " +#~ "запуску" + +#, fuzzy +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "Дазволіць адпраўку звестак аб _сістэме" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the local time on your system" +#~ msgstr "" +#~ "Калі гэтая опцыя ўключаная, Gajim далучыцца да гэтай групавой размовы пры " +#~ "запуску" + +#, fuzzy +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "Дазволіць адпраўку звестак аб _сістэме" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the operating system you are " +#~ "using" +#~ msgstr "" +#~ "Калі гэтая опцыя ўключаная, Gajim далучыцца да гэтай групавой размовы пры " +#~ "запуску" + +#, fuzzy +#~ msgid "" +#~ "If checked, incoming events from unauthorized contacts will be ignored. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster." +#~ msgstr "" +#~ "Скарыстайце гэтую опцыю, калі Вам надакучвае ці закідвае непатрэбнымі " +#~ "паведамленнямі нейкі чалавек, якога няма ў Вашым кантактным лісце. Але " +#~ "зважайце, што ў такім разе ніхто з людзей, якіх няма ў Вашым спісе, не " +#~ "зможа адправіць Вам паведамленне" + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." +#~ msgstr "" +#~ "Gajim можа адпраўляць і атрымліваць метазвесткі размоў з пэўным " +#~ "чалавекам. Вызначце, аб якіх зменах стану Вы хочаце паведамляць " +#~ "суразмоўцу." + +#, fuzzy +#~ msgid "S_end chat state notifications" +#~ msgstr "_Паказваць нагадванні стану размовы:" + +#, fuzzy +#~ msgid "Login Options" +#~ msgstr "Сымболікі:" + +#, fuzzy +#~ msgid "Please wait while retrieving search form..." +#~ msgstr "Калі ласка, пачакайце канца атрымання спіса загадаў..." + +#, fuzzy +#~ msgid "_Add contact" +#~ msgstr "Дадаць _чалавека" + +#~ msgid "Ad-hoc Commands - Gajim" +#~ msgstr "Свае загады - Gajim" + +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "Калі ласка, пачакайце канца атрымання спіса загадаў..." + +#~ msgid "Choose command to execute:" +#~ msgstr "Выберыце загад для выканання:" + +#~ msgid "Check once more" +#~ msgstr "Праверыць яшчэ" + +#, fuzzy +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "Калі ласка, пачакайце канца адпраўлення загаду..." + +#~ msgid "This jabber entity does not expose any commands." +#~ msgstr "Гэты рахунак не мае адпаведных загадаў." + +#, fuzzy +#~ msgid "F_inish" +#~ msgstr "_Скончыць" + +#~ msgid "Failed to get secret keys" +#~ msgstr "Немагчыма атрымаць сакрэтныя ключы" + +#, fuzzy +#~ msgid "There is no OpenPGP secret key available." +#~ msgstr "Памылка пошуку Вашых сакрэтных ключоў OpenPGP." + +#~ msgid "OpenPGP Key Selection" +#~ msgstr "Выбар ключоў OpenPGP" + +#~ msgid "Choose your OpenPGP key" +#~ msgstr "Выберыце Ваш ключ OpenPGP" + +#~ msgid "KeyID" +#~ msgstr "KeyID" + +#~ msgid "Contact name" +#~ msgstr "Імя чалавека" + +#, fuzzy +#~ msgid "OpenPGP is not usable" +#~ msgstr "Немагчыма ўжыць OpenPGP на гэтым кампутары" + +#~ msgid "Assign OpenPGP Key" +#~ msgstr "Прызначыць ключ OpenPGP" + +#~ msgid "Select a key to apply to the contact" +#~ msgstr "Выберыце ключ для гэтага чалавека" + +#~ msgid "You are currently connected without your OpenPGP key." +#~ msgstr "Вы злучаны без выкарыстання ключа OpenPGP." + +#, fuzzy +#~ msgid "Wrong passphrase" +#~ msgstr "Няправільны пароль" + +#, fuzzy +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "Няправільны пароль" + +#~ msgid "Passphrase Required" +#~ msgstr "Патрэбны пароль" + +#, fuzzy +#~ msgid "" +#~ "Enter OpenPGP key passphrase for key %(keyid)s (account %(account)s)." +#~ msgstr "Вызначце пароль GPG для рахунка %s." + +#, fuzzy +#~ msgid "OpenPGP key expired" +#~ msgstr "Выбар ключоў OpenPGP" + +#, fuzzy +#~ msgid "" +#~ "Your OpenPGP key has expired, you will be connected to %s without OpenPGP." +#~ msgstr "Вы злучыцеся з %s без падтрымкі OpenPGP." + +#~ msgid "Wrong Passphrase" +#~ msgstr "Няправільны пароль" + +#, fuzzy +#~ msgid "Please retype your OpenPGP passphrase or press Cancel." +#~ msgstr "Паўтарыце ўвод пароля GPG альбо пстрыкніце Скасаваць." + +#~ msgid "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Адпраўляе новае паведамленне чалавеку з спіса. Выстаўленне ключа OpenPGP " +#~ "і рахунка не абавязковае. Калі Вы хочаце вызначыць толькі 'account', без " +#~ "'ключа OpenPGP', проста выставіце 'ключ OpenPGP' у ''." + +#~ msgid "if specified, the message will be encrypted using this public key" +#~ msgstr "Калі вызначана, паведамленне будзе зашыфраванае адкрытым ключом" + +#, fuzzy +#~ msgid "" +#~ "Sends a chat message to someone on your roster. Optionally with OpenPGP " +#~ "key and account. If you want to only set the latter, set OpenPGP key to " +#~ "\"\"." +#~ msgstr "" +#~ "Адпраўляе новае паведамленне чалавеку з спіса. Выстаўленне ключа OpenPGP " +#~ "і рахунка не абавязковае. Калі Вы хочаце вызначыць толькі 'account', без " +#~ "'ключа OpenPGP', проста выставіце 'ключ OpenPGP' у ''." + +#, fuzzy +#~ msgid "OpenPGP:" +#~ msgstr "OpenPGP: " + +#, fuzzy +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "Прызначыць ключ Open_PGP" + +#, fuzzy +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "Шыфраванне OpenPGP" + +#, fuzzy +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "_Уваходнае паведамленне:" + +#, fuzzy +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "Няма злучэння" + +#, fuzzy +#~ msgid "OpenPGP Key" +#~ msgstr "Прызначыць ключ OpenPGP" + +#, fuzzy +#~ msgid "Cancel confirmation" +#~ msgstr "Асабістыя звесткі" + +#, fuzzy +#~ msgid "%s - Ad-hoc Commands - Gajim" +#~ msgstr "Свае загады - Gajim" + +#, fuzzy +#~ msgid "You are invited to a groupchat" +#~ msgstr "Вы не ўвайшлі ў пакой групавой размовы." + +#~ msgid "_Start Chat" +#~ msgstr "_Пачаць размову" + +#~ msgid "Au_thorize" +#~ msgstr "А_ўтарызаваць" + +#~ msgid "You are currently connected to the server" +#~ msgstr "Вы злучаны з серверам" + +#, fuzzy +#~ msgid "To disable the account, you must be disconnected." +#~ msgstr "Каб змяніць назву рахунка, трэба папярэдне адлучыцца." + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with %(jid)s?" +#~ msgstr "Вы сапраўды хочаце выдаліць выбранае паведамленне?" + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with the selected contacts?" +#~ msgstr "Вы сапраўды хочаце выдаліць журнал размоў з выбранай асобай?" + +#, fuzzy +#~ msgid "This can not be undone." +#~ msgstr "Немагчыма знайсці сервіс" + +#~ msgid "What do you want to do?" +#~ msgstr "Што Вы хочаце зрабіць?" + +#, fuzzy +#~ msgid "" +#~ "List of colors, separated by \":\", that will be used to color nicknames " +#~ "in group chats." +#~ msgstr "Спіс колераў для фарбавання мянушак у групавой размове." + +#, fuzzy +#~ msgid "You have received new entries (and %d not displayed):" +#~ msgid_plural "You have received new entries (and %d not displayed):" +#~ msgstr[0] "Вы атрымалі новае паведамленне:" +#~ msgstr[1] "Вы атрымалі новае паведамленне:" +#~ msgstr[2] "Вы атрымалі новае паведамленне:" + +#~ msgid "Stopped" +#~ msgstr "Спыненая" + +#, fuzzy +#~ msgid "Status messages displayed in chat window" +#~ msgstr "Адправіць паведамленне і закрыць вакно" + +#~ msgid "?print_status:All" +#~ msgstr "?print_status:Усе" + +#~ msgid "Enter and leave only" +#~ msgstr "Увайсці і выйсці" + +#~ msgid "?print_status:None" +#~ msgstr "?print_status:Няма" + +#~ msgid "D-Bus python bindings are missing in this computer" +#~ msgstr "Файлы падтрымкі python для D-Bus адсутнічаюць на гэтым кампутары" + +#~ msgid "D-Bus capabilities of Gajim cannot be used" +#~ msgstr "Немагчыма скарыстаць D-Bus для Gajim" + +#, fuzzy +#~ msgid "D-Bus does not run correctly on this machine: system bus not present" +#~ msgstr "D-Bus няма на гэтым кампутары, альбо няма адпаведнага модуля python" + +#, fuzzy +#~ msgid "" +#~ "D-Bus does not run correctly on this machine: session bus not present" +#~ msgstr "D-Bus няма на гэтым кампутары, альбо няма адпаведнага модуля python" + +#, fuzzy +#~ msgid "Command line Control" +#~ msgstr "Загады: %s" + +#~ msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +#~ msgstr "%(who)s пакараў %(nick)s: %(reason)s" + +#~ msgid "%(nick)s has been banned by %(who)s: %(reason)s" +#~ msgstr "%(who)s забараніў казанне для %(nick)s: %(reason)s" + +#, fuzzy +#~ msgid "** Role of %(nick)s has been set to %(role)s" +#~ msgstr "%(nick)s пакараны: %(reason)s" + +#~ msgid "%s has left" +#~ msgstr "%s сышоў" + +#, fuzzy +#~ msgid "%s is full" +#~ msgstr "Гукі" + +#, fuzzy +#~ msgid "" +#~ "Can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no " +#~ "longer print status line in groupchats when a member changes their status " +#~ "and/or their status message. If \"all\" Gajim will print all status " +#~ "messages. If \"in_and_out\", Gajim will only print FOO enters/leaves " +#~ "group chat." +#~ msgstr "" +#~ "магчымыя значэнні: \"none\", \"all\" альбо \"in_and_out\". Калі опцыя " +#~ "выстаўленая ў \"none\", Gajim не будзе паказваць паведамленні аб змене " +#~ "стану суразмоўцаў у вакне размовы. Калі опцыя выстаўленая ў \"all\", " +#~ "Gajim будзе паказваць усе такія паведамленні. Калі опцыя выстаўленая ў " +#~ "\"in_and_out\", Gajim будзе паказваць толькі паведамленні аб сыходзе / " +#~ "ўваходзе суразмоўцы." + +#, fuzzy +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "Паказваць _стан у галоўным вакне" + +#, fuzzy +#~ msgid "" +#~ "You are about to send your password unencrypted on an insecure " +#~ "connection. Are you sure you want to do that?" +#~ msgstr "Вы ствараеце мета-кантакт. Вы сапраўды хочаце працягнуць?" + +#, fuzzy +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "Аўтарызацыя" + +#, fuzzy +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "Аўтарызацыя" + +#, fuzzy +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "Аўтарызацыя" + +#~ msgid "" +#~ "Displayed chat state notifications in chat windows. Can be one of all, " +#~ "composing_only, disabled." +#~ msgstr "" +#~ "Паказваць паведамленні аб стане размовы. Адно з наступных значэнняў: all, " +#~ "composing_only, disabled." + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." +#~ msgstr "" +#~ "Gajim можа адпраўляць і атрымліваць метазвесткі размоў з пэўным " +#~ "чалавекам. Вызначце, аб якіх зменах стану Вы хочаце ведаць." + +#~ msgid "This is an irreversible operation." +#~ msgstr "Гэтае дзеянне не аднаўляецца." + +#~ msgid "Settings" +#~ msgstr "Настаўленні" + +#, fuzzy +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "Gajim - Кіраўнік журналаў размоў" + +#~ msgid "Member List" +#~ msgstr "Спіс удзельнікаў" + +#~ msgid "Owner List" +#~ msgstr "Спіс уладальнікаў" + +#~ msgid "Administrator List" +#~ msgstr "Спіс адміністратараў" + +#~ msgid "Nick" +#~ msgstr "Мянушка" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "Каму Вы хочаце забараніць казанне?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Member…" +#~ msgstr "Дадаць ўдзельніка..." + +#~ msgid "" +#~ "Whom do you want to make a member?\n" +#~ "\n" +#~ msgstr "" +#~ "Каго Вы хочаце зрабіць удзельнікам?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Owner…" +#~ msgstr "Дадаць уладальніка..." + +#~ msgid "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" +#~ msgstr "" +#~ "Каго Вы хочаце зрабіць уладальнікам?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Administrator…" +#~ msgstr "Дадаць адміністратара..." + +#~ msgid "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" +#~ msgstr "" +#~ "Каго Вы хочаце зрабіць адміністратарам?\n" +#~ "\n" + +#~ msgid "Error reading file:" +#~ msgstr "Памылка чытання файла:" + +#~ msgid "Error parsing file:" +#~ msgstr "Памылка разбору файла:" + +#~ msgid "Description" +#~ msgstr "Апісанне" + +#, fuzzy +#~ msgid "Password encryption" +#~ msgstr "Паролі розняцца" + +#, fuzzy +#~ msgid "Automatic status" +#~ msgstr "_Адпаведна стану" + +#, fuzzy +#~ msgid "?features:Available" +#~ msgstr "Тут" + +#, fuzzy +#~ msgid "Feature" +#~ msgstr "Здольнасці сервера" + +#~ msgid "Filter:" +#~ msgstr "Фільтар:" + +#, fuzzy +#~ msgid "Chat Appearance" +#~ msgstr "Змяніць правіла" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed out" +#~ msgstr "" +#~ "Gajim будзе паведамляць Вам аб сышоўшых людзях у выплыўным вакне ў правым " +#~ "верхнім куце экрана" + +#~ msgid "Sounds" +#~ msgstr "Гукі" + +#, fuzzy +#~ msgid "Chat state notifications" +#~ msgstr "Візуальныя нагадванні" + +#, fuzzy +#~ msgid "_Away after" +#~ msgstr "Аўтаматычна змяняць стан на \"_сышоў\" праз:" + +#, fuzzy +#~ msgid "_Not available after" +#~ msgstr "Аўтаматычна змяняць стан на \"_недаступны\" праз:" + +#, fuzzy +#~ msgid "Auto Status" +#~ msgstr "Дзеянні" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "Паведамленні аб змене стану" + +#, fuzzy +#~ msgid "Audio" +#~ msgstr "Дзеянні" + +#, fuzzy +#~ msgid "Video" +#~ msgstr "Дадаць правіла" + +#, fuzzy +#~ msgid "Connection" +#~ msgstr "Умовы" + +#~ msgid "Custom" +#~ msgstr "Адмысловы" + +#, fuzzy +#~ msgid "Privacy" +#~ msgstr "Спіс прыватнасці" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "Адмысловы рэдактар настаўленняў" + +#, fuzzy +#~ msgid "File transfer, room bookmarks" +#~ msgstr "Памылка перадачы файла" + +#, fuzzy +#~ msgid "XML console interface" +#~ msgstr "Кансоль XML" + +#, fuzzy +#~ msgid "" +#~ "A programming error has been detected. It probably is not fatal, but " +#~ "should be reported to the developers nonetheless." +#~ msgstr "" +#~ "Магчыма, гэтая памылка не крытычная, але пра яе варта паведаміць " +#~ "распрацоўнікам." + +#, fuzzy +#~ msgid "(ESession info)" +#~ msgstr "Апісанне" + +#~ msgid "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" +#~ msgstr "" +#~ "Калі гэтая опцыя ўключаная, Gajim заменіць ascii-сымболікі (напр., ':)' ) " +#~ "адпаведнай значкай" + +#, fuzzy +#~ msgid "_Emoticons" +#~ msgstr "Сымболікі:" + +#~ msgid "_Highlight misspelled words" +#~ msgstr "_Фарбаваць няправільна напісаныя словы" + +#, fuzzy +#~ msgid "Notify by icon when your messages are received" +#~ msgstr "Прайграць гук пры атрыманні паведамлення MUC." + +#, fuzzy +#~ msgid "T_heme" +#~ msgstr "Т_эма:" + +#, fuzzy +#~ msgid "Themes" +#~ msgstr "Уласцівасці" + +#~ msgid "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." +#~ msgstr "" +#~ "Jabberd1.4 не любіць звесткі sha, калі чалавек заходзіць у абароненую " +#~ "паролем групавую размову. Змяніце значэнне гэтай опцыі на False, каб " +#~ "перастаць адпраўляць звесткі sha у групавыя размовы" + +#, fuzzy +#~ msgid "Presence" +#~ msgstr "_Прысутнасць" + +#, fuzzy +#~ msgid "Emoticons disabled" +#~ msgstr "Шыфраванне адключанае" + +#, fuzzy +#~ msgid "You cannot make changes to the default theme" +#~ msgstr "Вы не можаце выдаліць актыўную тэму" + +#~ msgid "theme name" +#~ msgstr "назва тэмы" + +#~ msgid "You cannot delete your current theme" +#~ msgstr "Вы не можаце выдаліць актыўную тэму" + +#~ msgid "New Single Message from %(nickname)s" +#~ msgstr "Новае асобнае паведамленне ад %(nickname)s" + +#~ msgid "New Private Message from group chat %s" +#~ msgstr "Новае прыватнае паведамленне ў групавой размове %s" + +#~ msgid "%(nickname)s: %(message)s" +#~ msgstr "%(nickname)s: %(message)s" + +#, fuzzy +#~ msgid "Messaged by %(nickname)s" +#~ msgstr "Новае паведамленне ад %(nickname)s" + +#, fuzzy +#~ msgid "Status message text color." +#~ msgstr "тэкст паведамлення аб змене стану" + +#, fuzzy +#~ msgid "Incoming nickname font." +#~ msgstr "Няправільнае імя карыстальніка" + +#, fuzzy +#~ msgid "Status message text font." +#~ msgstr "тэкст паведамлення аб змене стану" + +#~ msgid "Background color of contacts when they just signed in." +#~ msgstr "Фонавы колер для толькі ўвайшоўшых людзей." + +#~ msgid "Background color of contacts when they just signed out." +#~ msgstr "Фонавы колер для толькі сышоўшых людзей." + +#~ msgid "green" +#~ msgstr "зялёны" + +#~ msgid "grocery" +#~ msgstr "садавіна" + +#~ msgid "human" +#~ msgstr "чалавек" + +#~ msgid "marine" +#~ msgstr "мора" + +#, fuzzy +#~ msgid "Contact row" +#~ msgstr "Чалавек" + +#~ msgid "Gajim Themes Customization" +#~ msgstr "Настаўленне тэмы Gajim" + +#~ msgid "Text _color:" +#~ msgstr "Колер _тэксту:" + +#~ msgid "_Background:" +#~ msgstr "_Фон:" + +#~ msgid "Text _font:" +#~ msgstr "_Шрыфт:" + +#~ msgid "Font style:" +#~ msgstr "Шрыфт:" + +#~ msgid "Paused" +#~ msgstr "Прыпынена" + +#~ msgid "Gone" +#~ msgstr "Знік" + +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "" +#~ "MUC\n" +#~ "Паведамленні" + +#~ msgid "Chatstate Tab Colors" +#~ msgstr "Колер картак" + +#, fuzzy +#~ msgid "Chat message" +#~ msgstr "П_аведамленне стану:" + +#~ msgid "Use system _default" +#~ msgstr "Ужыць _сістэмны" + +#, fuzzy +#~ msgid "Font" +#~ msgstr "Гукі" + +#, fuzzy +#~ msgid "Contact's nickname" +#~ msgstr "Імя чалавека" + +#, fuzzy +#~ msgid "_Status message" +#~ msgstr "П_аведамленне стану:" + +#, fuzzy +#~ msgid "Your message" +#~ msgstr "Памылка: %s" + +#, fuzzy +#~ msgid "Chat Line Colors" +#~ msgstr "Колер картак" + +#, fuzzy +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#, fuzzy +#~ msgid "Resource:" +#~ msgstr "Рэсурс:" + +#, fuzzy +#~ msgid "Status:" +#~ msgstr "Настаўленні" + +#, fuzzy +#~ msgid "Client:" +#~ msgstr "Адмысловы" + +#, fuzzy +#~ msgid "Contact time:" +#~ msgstr "Настаўленні" + +#, fuzzy +#~ msgid "Ask:" +#~ msgstr "Дзеянні" + +#, fuzzy +#~ msgid "Subscription:" +#~ msgstr "Апісанне" + +#, fuzzy +#~ msgid "Name:" +#~ msgstr "Адмысловы" + +#, fuzzy +#~ msgid "Nickname:" +#~ msgstr "Мянушка:" + +#, fuzzy +#~ msgid "Street:" +#~ msgstr "Настаўленні" + +#, fuzzy +#~ msgid "City:" +#~ msgstr "Адмысловы" + +#, fuzzy +#~ msgid "State:" +#~ msgstr "Настаўленні" + +#, fuzzy +#~ msgid "Extra Address:" +#~ msgstr "Дадатковы адрас:" + +#, fuzzy +#~ msgid "Postal Code:" +#~ msgstr "Паштовы індэкс:" + +#, fuzzy +#~ msgid "Country:" +#~ msgstr "Гукі" + +#, fuzzy +#~ msgid "Homepage:" +#~ msgstr "У Сеціве:" + +#, fuzzy +#~ msgid "E-Mail:" +#~ msgstr "E-mail:" + +#, fuzzy +#~ msgid "Phone No.:" +#~ msgstr "Тэлефонны нумар:" + +#, fuzzy +#~ msgid "Birthday:" +#~ msgstr "Народзіны:" + +#, fuzzy +#~ msgid "Family:" +#~ msgstr "Прозвішча:" + +#, fuzzy +#~ msgid "Middle:" +#~ msgstr "Дадаць правіла" + +#, fuzzy +#~ msgid "Prefix:" +#~ msgstr "Уласцівасці" + +#, fuzzy +#~ msgid "Given:" +#~ msgstr "OpenPGP" + +#, fuzzy +#~ msgid "Suffix:" +#~ msgstr "Гукі" + +#, fuzzy +#~ msgid "Full Name" +#~ msgstr "Адмысловы" + +#, fuzzy +#~ msgid "Company:" +#~ msgstr "Адмысловы" + +#, fuzzy +#~ msgid "Department:" +#~ msgstr "Аддзел:" + +#, fuzzy +#~ msgid "Position:" +#~ msgstr "Умовы" + +#, fuzzy +#~ msgid "Role:" +#~ msgstr "Гукі" + +#~ msgid "Edit %s" +#~ msgstr "Змяніць %s" + +#~ msgid "Conversation History with %s" +#~ msgstr "Журнал размоў %s" + +#~ msgid "Contact with \"%s\" cannot be established" +#~ msgstr "Немагчыма злучыцца з \"%s\"" + +#~ msgid "Registration information for transport %s has not arrived in time" +#~ msgstr "Звесткі рэгістрацыі для транспарта %s не прыйшлі ў час" + +#~ msgid "Register to" +#~ msgstr "Зарэгістравацца" + +#, fuzzy +#~ msgid "Enter name / JID of contact or groupchat" +#~ msgstr "Імя чалавека" + +#, fuzzy +#~ msgid "Search:" +#~ msgstr "Пошук" + +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "Вы не можаце змяніць пароль, не злучыўшыся з серверам." + +#~ msgid "Invalid password" +#~ msgstr "Няправільны пароль" + +#~ msgid "The passwords typed in both fields must be identical." +#~ msgstr "Паролі ў абодвух палях павінны быць аднолькавымі." + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "Увядзіце для пацверджання:" + +#~ msgid "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" +#~ msgstr "" +#~ "JID %s не адпавядае стандарту RFC. Ён не будзе дададзены ў кантактны " +#~ "ліст. Выдаліце яго з дапамогай адмысловай праграмы, напр., http://jru." +#~ "jabberstudio.org/" + +#~ msgid "unsubscribe request from %s" +#~ msgstr "запыт адпіскі ад %s" + +#, fuzzy +#~ msgid "Homepage:" +#~ msgstr "У Сеціве:" + +#~ msgid "Manage Bookmarks" +#~ msgstr "Кіраванне закладкамі" + +#~ msgid "_Nickname:" +#~ msgstr "_Мянушка:" + +#, fuzzy +#~ msgid "Pr_int status:" +#~ msgstr "Стан друку:" + +#, fuzzy +#~ msgid "Add JID" +#~ msgstr "Jabber ID:" + +#, fuzzy +#~ msgid "Preference:" +#~ msgstr "Уласцівасці" + +#, fuzzy +#~ msgid "Preference" +#~ msgstr "Уласцівасці" + +#, fuzzy +#~ msgid "JID:" +#~ msgstr "Ваш JID:" + +#, fuzzy +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "" +#~ "Запоўніце палі звесткамі пра чалавека, якога Вы хочаце дадаць у спіс " +#~ "рахунка %s" + +#~ msgid "Please fill in the data of the contact you want to add" +#~ msgstr "Запоўніце палі звесткамі, каб дадаць чалавека ў спіс" + +#, fuzzy +#~ msgid "Recently" +#~ msgstr "Нядаўна:" + +#~ msgid "Add New Contact" +#~ msgstr "Дадаць новага чалавека" + +#~ msgid "_User ID:" +#~ msgstr "_ID карыстальніка:" + +#, fuzzy +#~ msgid "Type User ID" +#~ msgstr "ID карыстальніка:" + +#, fuzzy +#~ msgid "Type Nickname" +#~ msgstr "Мянушка" + +#~ msgid "Personal Information" +#~ msgstr "Асабістыя звесткі" + +#, fuzzy +#~ msgid "Avatar:" +#~ msgstr "Аватар:" + +#~ msgid "Click to set your avatar" +#~ msgstr "Пстрыкніце, каб вызначыць свой аватар" + +#, fuzzy +#~ msgid "Remove Avatar" +#~ msgstr "Выдаліць групу" + +#~ msgid "Not fetched because of invisible status" +#~ msgstr "Не атрымана з-за нябачнага стану" + +#~ msgid "Please wait..." +#~ msgstr "Калі ласка, пачакайце..." + +#~ msgid "Yahoo! Address:" +#~ msgstr "Адрас Yahoo!:" + +#, fuzzy +#~ msgid "Forward unread messages" +#~ msgstr "%d нечытанае паведамленне" + +#, fuzzy +#~ msgid "Forward unread message then disconnect" +#~ msgstr "%d нечытанае паведамленне" + +#~ msgid "MSN Address:" +#~ msgstr "Адрас MSN:" + +#, fuzzy +#~ msgid "End to End message encryption" +#~ msgstr "Шыфраванне OpenPGP" + +#, fuzzy +#~ msgid "Encrypting chat messages." +#~ msgstr "_Уваходнае паведамленне:" + +#, fuzzy +#~ msgid "This session is encrypted" +#~ msgstr "[Гэтае паведамленне зашыфраванае]" + +#, fuzzy +#~ msgid "end-to-end encryption disabled" +#~ msgstr "Шыфраванне адключанае" + +#, fuzzy +#~ msgid "Unable to decrypt message" +#~ msgstr "Для кожнага _паведамлення" + +#, fuzzy +#~ msgid "Save Image as…" +#~ msgstr "Захаваць малюнак як..." + +#, fuzzy +#~ msgid "Exporting History Logs…" +#~ msgstr "Экспартаванне журналаў..." + +#~ msgid "When %s becomes:" +#~ msgstr "Калі %s становіцца:" + +#~ msgid "Adding Special Notification for %s" +#~ msgstr "Дадаць асабістае нагадванне для %s" + +#~ msgid "Unable to load idle module" +#~ msgstr "Немагчыма загрузіць модуль idle" + +#, fuzzy +#~ msgid "%s or %s is a directory but should be a file" +#~ msgstr "%s з'яўляецца дырэкторыяй, але павінны быць файл" + +#~ msgid "creating logs database" +#~ msgstr "стварэнне базы журналаў" + +#, fuzzy +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "Адправіць %s" + +#, fuzzy +#~ msgid "Rename account label" +#~ msgstr "Кіраванне рахункамі" + +#, fuzzy +#~ msgid "Send Single Message..." +#~ msgstr "Адправіць _асобнае паведамленне..." + +#, fuzzy +#~ msgid "E2E encryption disabled" +#~ msgstr "Шыфраванне адключанае" + +#~ msgid "uri" +#~ msgstr "спасылка" + +#, fuzzy +#~ msgid "" +#~ "Install /\n" +#~ "Upgrade" +#~ msgstr "Марнаванне часу" + +#, fuzzy +#~ msgid "Install/Upgrade" +#~ msgstr "Марнаванне часу" + +#~ msgid "cyan" +#~ msgstr "cyan" + +#~ msgid "migrating logs database to indices" +#~ msgstr "перанос базы журналаў у індэкс" + +#, fuzzy +#~ msgid "Send File..." +#~ msgstr "Адправіць _файл" + +#, fuzzy +#~ msgid "HTTP File Upload not supported by your server" +#~ msgstr "Сервер не падтрымлівае сховішча мета-кантактаў" + +#, fuzzy +#~ msgid "Jingle File Transfer" +#~ msgstr "Перадача файлаў" + +#~ msgid "Shows or hides the roster window" +#~ msgstr "Паказаць / схаваць галоўнае вакно" + +#, fuzzy +#~ msgid "Shows or hides the ipython window" +#~ msgstr "Паказаць / схаваць галоўнае вакно" + +#, fuzzy +#~ msgid "XMPP account %s" +#~ msgstr "рахунка %s" + +#, fuzzy +#~ msgid "Exception" +#~ msgstr "Апісанне" + +#, fuzzy +#~ msgid "" +#~ "someone@somewhere.com would like you to add some contacts " +#~ "in your roster." +#~ msgstr "Я хачу дадаць Вас у свой кантактны ліст." + +#~ msgid "_Actions" +#~ msgstr "_Дзеянні" + +#~ msgid "You are already in group chat %s" +#~ msgstr "Вы ўжо ўдзельнічаеце ў групавой размове %s" + +#~ msgid "Join Group Chat with account %s" +#~ msgstr "Удзельнічаць у групавой размове праз рахунак %s" + +#, fuzzy +#~ msgid "" +#~ "You have to choose an account from which you want to join the groupchat." +#~ msgstr "Вы павінны стварыць рахунак, каб размаўляць з іншымі людзьмі." + +#, fuzzy +#~ msgid "Please enter the group chat JID as room@server." +#~ msgstr "Jabber ID групавой размовы ўтрымлівае няправільныя знакі." + +#, fuzzy +#~ msgid "The group chat JID contains invalid characters." +#~ msgstr "Jabber ID групавой размовы ўтрымлівае няправільныя знакі." + +#~ msgid "Start Chat with account %s" +#~ msgstr "Пачаць размову з рахунка %s" + +#, fuzzy +#~ msgid "" +#~ "Fill in the nickname or the JID of the contact you would like\n" +#~ "to send a chat message to:" +#~ msgstr "" +#~ "Вызначце мянушку для Jabber ID чалавека, якому Вы\n" +#~ "хочаце адправіць паведамленне:" + +#, fuzzy +#~ msgid "Nickname / JID" +#~ msgstr "Паўторны Jabber ID" + +#~ msgid "Unable to parse \"%s\"." +#~ msgstr "Немагчыма разабраць \"%s\"." + +#~ msgid "Shows the chat dialog so that you can send messages to a contact" +#~ msgstr "" +#~ "Паказвае вакно, з якога Вы можаце адправіць паведамленне пэўнаму чалавеку" + +#~ msgid "JID of the contact that you want to chat with" +#~ msgstr "JID чалавека, з якім Вы хочаце паразмаўляць" + +#~ msgid "Adds contact to roster" +#~ msgstr "Дадаць чалавека ў спіс" + +#~ msgid "jid" +#~ msgstr "jid" + +#~ msgid "Adds new contact to this account" +#~ msgstr "Дадаць новага чалавека для гэтага рахунка" + +#~ msgid "Opens 'Start Chat' dialog" +#~ msgstr "Адкрыць вакно 'Пачаць размову'" + +#~ msgid "Starts chat, using this account" +#~ msgstr "Пачаць размову для рахунка" + +#, fuzzy +#~ msgid "Handle a xmpp:/ URI" +#~ msgstr "Апрацоўваць спасылкі xmpp:/" + +#, fuzzy +#~ msgid "Message content" +#~ msgstr "змест паведамлення" + +#~ msgid "Join a MUC room" +#~ msgstr "Увайсці ў размоўны пакой" + +#, fuzzy +#~ msgid "Nickname to use" +#~ msgstr "Мянушка не знойдзеная: %s" + +#, fuzzy +#~ msgid "Password to enter the room" +#~ msgstr "Паролі розняцца" + +#, fuzzy +#~ msgid "Wrong URI" +#~ msgstr "Няправільная спасылка" + +#~ msgid "Nickname:" +#~ msgstr "Мянушка:" + +#~ msgid "Server:" +#~ msgstr "Сервер:" + +#, fuzzy +#~ msgid "Join this room _automatically when I connect" +#~ msgstr "Увайсці ў гэты пакой па злучэнні" + +#, fuzzy +#~ msgid "Bro_wse Rooms" +#~ msgstr "_Праглядзець" + +#, fuzzy +#~ msgid "Network-Watcher" +#~ msgstr "Кіраўнік журналаў" + +#~ msgid "" +#~ "You have to install %s dictionary to use spellchecking, or choose another " +#~ "language by setting the speller_language option." +#~ msgstr "" +#~ "Вы павінны ўсталяваць слоўнік %s, каб спраўджваць правапіс, альбо выбраць " +#~ "іншую мову праз опцыю speller_language." + +#, fuzzy +#~ msgid "Hides the buttons in chat windows." +#~ msgstr "Схаваць кнопкі групавой размовы." + +#, fuzzy +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "_Змясціць у закладках" + +#, fuzzy +#~ msgid "Show advanced functions (Alt+D)" +#~ msgstr "Пстрыкніце, каб уставіць сымболік (Alt+M)" + +#, fuzzy +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "Дадаць чалавека ў спіс" + +#, fuzzy +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "сочыць за размовай" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Дадаць чалавека ў спіс" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Дадаць чалавека ў спіс" + +#, fuzzy +#~ msgid "Ma_ke message windows compact" +#~ msgstr "_Вакно для аднаго паведамлення:" + +#, fuzzy +#~ msgid "Hide all buttons in chat windows" +#~ msgstr "Схаваць кнопкі групавой размовы." + +#, fuzzy +#~ msgid "Hide the chat buttons" +#~ msgstr "Карыстанне: /%s, хавае кнопкі размовы." + +#~ msgid "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." +#~ msgstr "" +#~ "Калі true, Gajim будзе адпраўляць запыт на атрыманне аватара кожнаму " +#~ "чалавеку, хто не меў усталяванага аватара ў апошні сеанс, ці чый аватар " +#~ "надта стары." + +#, fuzzy +#~ msgid "?CLI:room" +#~ msgstr "пакой" + +#, fuzzy +#~ msgid "?CLI:nick" +#~ msgstr "мянушка" + +#, fuzzy +#~ msgid "?CLI:password" +#~ msgstr "пароль" + +#~ msgid "Use D-Bus and Notification-Daemon to show notifications" +#~ msgstr "Паказваць нагадванні праз DBus і Notification-Daemon" + +#, fuzzy +#~ msgid "Notification" +#~ msgstr "Змяненне рахунка" + +#, fuzzy +#~ msgid "Ignore" +#~ msgstr "дзевяць" + +#~ msgid "_Open Gmail Inbox" +#~ msgstr "_Адкрыць уваходную пошту Gmail" + +#~ msgid "Notify on new _GMail email" +#~ msgstr "Паведамляць аб новай пошце на _Gmail" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will show a notification when a new e-mail is received " +#~ "via GMail" +#~ msgstr "" +#~ "Калі гэтая опцыя ўключаная, Gajim таксама дадасць звесткі аб адпраўніку " +#~ "новых лістоў" + +#~ msgid "Display _extra email details" +#~ msgstr "Паказаць _падрабязнасці пошты" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will also include information about the sender of new " +#~ "emails" +#~ msgstr "" +#~ "Калі гэтая опцыя ўключаная, Gajim таксама дадасць звесткі аб адпраўніку " +#~ "новых лістоў" + +#~ msgid "GMail Options" +#~ msgstr "Настаўленні GMail" + +#, fuzzy +#~ msgid "20" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Invited %s to %s" +#~ msgstr "Адправіць %s" + +#~ msgid "GMail Email Received" +#~ msgstr "Новы ліст GMail" + +#, fuzzy +#~ msgid "New e-mail on %(gmail_mail_address)s" +#~ msgstr "Новая пошта на %(gmail_mail_address)s" + +#, fuzzy +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "%d новы ліст" +#~ msgstr[1] "%d новыя лісты" +#~ msgstr[2] "%d новых лістоў" + +#~ msgid "Resour_ce:" +#~ msgstr "Рэ_сурс:" + +#~ msgid "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" +#~ msgstr "" +#~ "Назва рэсурса перадаецца серверу, каб той мог адрозніваць некалькі " +#~ "праграмаў, злучаных праз адзін рахунак. Такім чынам, Вы можаце злучыцца " +#~ "праз адзін рахунак і з рэсурса 'Дома', і з рэсурса 'Праца'. Падзеі будуць " +#~ "накіроўвацца на рэсурс з найвышэйшым прыярытэтам. (гл. ніжэй)" + +#, fuzzy +#~ msgid "A_djust to status" +#~ msgstr "_Адпаведна стану" + +#~ msgid "Priority will change automatically according to your status." +#~ msgstr "Прыярытэт будзе змяняцца згодна з станам." + +#, fuzzy +#~ msgid "Anonymous authentication" +#~ msgstr "Аўтарызацыя" + +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "Прыярытэт вызначае, куды накіроўваць падзеі, калі некалькі праграмаў " +#~ "злучаныя з серверам праз адзін рахунак. Праграма з найвышэйшым " +#~ "прыярытэтам атрымлівае гэтыя падзеі" + +#, fuzzy +#~ msgid "Synchronize contacts" +#~ msgstr "Паказаць _адлучаных людзей" + +#~ msgid "Chan_ge Password" +#~ msgstr "З_мяніць пароль" + +#, fuzzy +#~ msgid "Administration operations" +#~ msgstr "Спіс адміністратараў" + +#, fuzzy +#~ msgid "Browse..." +#~ msgstr "_Праглядзець" + +#, fuzzy +#~ msgid "Certificate is e_ncrypted" +#~ msgstr "[Гэтае паведамленне зашыфраванае]" + +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "" +#~ "Калі гэтая опцыя ўключаная, Gajim будзе аўтаматычна злучацца з дапамогай " +#~ "гэтага рахунка" + +#, fuzzy +#~ msgid "Synchronize logs with server" +#~ msgstr "Паказаць _адлучаных людзей" + +#~ msgid "Synch_ronize account status with global status" +#~ msgstr "С_інхранізаваць стан рахунка з глабальным станам" + +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "Калі гэтая опцыя ўключаная, любыя глабальныя змены стану (праз адмысловы " +#~ "спіс унізе галоўнага вакна) будуць змяняць стан рахунка адпаведным чынам" + +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "Калі гэтая опцыя ўключаная, Gajim зойме некаторыя іншыя адрасы IP, і " +#~ "шанец правільнай перадачы файлаў падвысіцца." + +#, fuzzy +#~ msgid "Proxy" +#~ msgstr "Уласцівасці" + +#, fuzzy +#~ msgid "Send _keep-alive packets" +#~ msgstr "Адпраўляць праверачныя пакункі серверу" + +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "" +#~ "Калі гэтая опцыя ўключаная, Gajim адпраўляе адмысловыя інфармацыйныя " +#~ "пакункі для запэўнівання сервера ў Вашым існаванні" + +#, fuzzy +#~ msgid "Use cust_om hostname/port" +#~ msgstr "Адмысловы вузел / порт" + +#, fuzzy +#~ msgid "_Hostname: " +#~ msgstr "Назва вузла: " + +#, fuzzy +#~ msgid "_Port: " +#~ msgstr "_Порт:" + +#~ msgid "Choose _Key..." +#~ msgstr "Выберыце _ключ..." + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "" +#~ "Калі гэтая опцыя ўключаная, Gajim запомніць пароль для гэтага рахунка" + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#, fuzzy +#~ msgid "_Edit Personal Information..." +#~ msgstr "Змяніць асабістыя звесткі..." + +#~ msgid "Personal Information" +#~ msgstr "Асабістыя звесткі" + +#, fuzzy +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "_Злучацца па старце Gajim" + +#, fuzzy +#~ msgid "Synchroni_ze account status with global status" +#~ msgstr "С_інхранізаваць стан рахунка з глабальным станам" + +#, fuzzy +#~ msgid "Use cust_om port:" +#~ msgstr "Адмысловы порт:" + +#~ msgid "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." +#~ msgstr "" +#~ "Калі порт адпраўкі паведамленняў не прыдатны для Вас, выберыце іншы.\n" +#~ "Вам можа спатрэбіцца таксама змяніць настаўленні фаервола." + +#, fuzzy +#~ msgid "OpenPGP is not usable on this computer" +#~ msgstr "Немагчыма ўжыць OpenPGP на гэтым кампутары" + +#~ msgid "To change the account name, you must be disconnected." +#~ msgstr "Каб змяніць назву рахунка, трэба папярэдне адлучыцца." + +#~ msgid "To change the account name, you must read all pending events." +#~ msgstr "" +#~ "Каб змяніць назву рахунка, Вы павінны праглядзець усе нягледжаныя падзеі." + +#~ msgid "Account Name Already Used" +#~ msgstr "Назва рахунка ўжо скарыстаная" + +#~ msgid "Account name cannot be empty." +#~ msgstr "Назва рахунка не павінна быць пустой." + +#~ msgid "Account name cannot contain spaces." +#~ msgstr "Назва рахунка не павінна ўтрымліваць прагалаў." + +#, fuzzy +#~ msgid "Enter a new name for account %s" +#~ msgstr "Вызначце новую назву групы %s" + +#, fuzzy +#~ msgid "A JID must be in the form \"user@servername\"." +#~ msgstr "Jabber ID павінны мець форму \"user@servername\"." + +#~ msgid "No such account available" +#~ msgstr "Такога рахунка няма" + +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "Вы павінны стварыць рахунак да рэдагавання асабістых звестак." + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "Немагчыма рэдагаваць асабістыя звесткі ў адлучаным рэжыме." + +#~ msgid "Your server can't save your personal information." +#~ msgstr "Сервер не можа захаваць Вашыя асабістыя звесткі." + +#~ msgid "Please rename or remove it before enabling link-local messaging." +#~ msgstr "" +#~ "Змяніце назву альбо выдаліце яго, каб скарыстаць мясцовыя паведамленні." + +#~ msgid "THANKS:" +#~ msgstr "Падзякі:" + +#~ msgid "Could not write to %s. Session Management support will not work" +#~ msgstr "Немагчыма запісаць у %s. Сеансы не працуюць" + +#~ msgid "Jabber Traffic" +#~ msgstr "Трафік Jabber" + +#, fuzzy +#~ msgid "_Enable" +#~ msgstr "Уключыць" + +#, fuzzy +#~ msgid "Filter" +#~ msgstr "Гукі" + +#~ msgid "_IQ" +#~ msgstr "_IQ" + +#~ msgid "Info/Query" +#~ msgstr "Звесткі/Запыт" + +#~ msgid "XML Input" +#~ msgstr "Увод XML" + +#~ msgid "XML Console for %s" +#~ msgstr "Кансоль XML для %s" + +#, fuzzy +#~ msgid "Idle for:" +#~ msgstr "Кансоль XML для %s" + +#~ msgid "Last status: %s" +#~ msgstr "Апошняе паведамленне: %s" + +#~ msgid " since %s" +#~ msgstr " ад %s" + +#~ msgid "since %s" +#~ msgstr "ад %s" + +#, fuzzy +#~ msgid "Prefer" +#~ msgstr "Уласцівасці" + +#, fuzzy +#~ msgid "Auto" +#~ msgstr "Аўтаматычна далучацца" + +#, fuzzy +#~ msgid "otr" +#~ msgstr "_Вузел:" + +#, fuzzy +#~ msgid "Invalid expire value" +#~ msgstr "Няправільнае імя карыстальніка" + +#~ msgid "How many minutes should last lines from previous conversation last." +#~ msgstr "Колькі хвілінаў апошняй размовы паказваць у новых размовах." + +#~ msgid "You will be connected to %s without OpenPGP." +#~ msgstr "Вы злучыцеся з %s без падтрымкі OpenPGP." + +#, fuzzy +#~ msgid "The following message was NOT encrypted" +#~ msgstr "[Гэтае паведамленне зашыфраванае]" + +#~ msgid "Toggle Open_PGP Encryption" +#~ msgstr "Пераключыць шыфраванне Open_PGP" + +#, fuzzy +#~ msgid "Toggle End to End Encryption" +#~ msgstr "Пераключыць шыфраванне Open_PGP" + +#, fuzzy +#~ msgid "OpenPGP encryption enabled" +#~ msgstr "Шыфраванне дзейнічае" + +#, fuzzy +#~ msgid "The following message was encrypted" +#~ msgstr "[Гэтае паведамленне зашыфраванае]" + +#, fuzzy +#~ msgid "Toggle the OpenPGP encryption" +#~ msgstr "Пераключыць шыфраванне Open_PGP" + +#, fuzzy +#~ msgid "[This message is *encrypted* (See :XEP:`27`]" +#~ msgstr "[Гэтае паведамленне *зашыфраванае* (Гл.:JEP:`27`]" + +#~ msgid "" +#~ "If True, listen to D-Bus signals from NetworkManager and change the " +#~ "status of accounts (provided they do not have listen_to_network_manager " +#~ "set to False and they sync with global status) based upon the status of " +#~ "the network connection." +#~ msgstr "" +#~ "Калі true, чакаць сігналаў D-Bus ад NetworkManager і змяняць стан " +#~ "рахункаў (для якіх опцыя listen_to_network_manager не выстаўленая ў False " +#~ "і якія сінхранізуюцца з глабальным станам) згодна з станам сеткавага " +#~ "злучэння." + +#, fuzzy +#~ msgid "Database cannot be read." +#~ msgstr "Назва рахунка не павінна быць пустой." + +#, fuzzy +#~ msgid "Smooth scroll message in conversation window" +#~ msgstr "Адправіць паведамленне і закрыць вакно" + +#, fuzzy +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "_Спісы прыватнасці" + +#~ msgid "_Administrator" +#~ msgstr "_Адміністратар" + +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "Адправіць паведамленне ўсім далучаным людзям з гэтага сервера" + +#~ msgid "Sets Message of the Day" +#~ msgstr "Вызначыць паведамленне дня" + +#~ msgid "Updates Message of the Day" +#~ msgstr "Абнавіць паведамленне дня" + +#~ msgid "Deletes Message of the Day" +#~ msgstr "Выдаліць паведамленне дня" + +#, fuzzy +#~ msgid "Add _Contact..." +#~ msgstr "_Дадаць чалавека..." + +#~ msgid "Profile, A_vatar" +#~ msgstr "Профіль, а_ватар" + +#~ msgid "File _Transfers" +#~ msgstr "Перадача _файлаў" + +#~ msgid "Help online" +#~ msgstr "Дапамога ў Сеціве" + +#~ msgid "Frequently Asked Questions (online)" +#~ msgstr "Частыя пытанні (у Сеціве)" + +#, fuzzy +#~ msgid "Fea_tures" +#~ msgstr "Здольнасці сервера" + +#~ msgid "to %s account" +#~ msgstr "рахунку %s" + +#~ msgid "using %s account" +#~ msgstr "выкарыстоўвае рахунак %s" + +#~ msgid "of account %s" +#~ msgstr "рахунка %s" + +#~ msgid "for account %s" +#~ msgstr "для рахунка %s" + +#~ msgid "" +#~ "By removing this contact you also remove authorization resulting in him " +#~ "or her always seeing you as offline." +#~ msgstr "" +#~ "Выдаліўшы гэтага чалавека з Вашага кантактнага ліста, Вы такім чынам " +#~ "таксама прыбярэце ў яго аўтарызацыю, і ён заўсёды будзе бачыць Вас " +#~ "адлучаным." + +#~ msgid "Invalid Jabber ID" +#~ msgstr "Няправільны Jabber ID" + +#~ msgid "This file is being used by another process." +#~ msgstr "Гэтым файлам карыстаецца іншы працэс." + +#~ msgid "pgp key" +#~ msgstr "ключ pgp" + +#~ msgid "" +#~ "Sends new single message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Адпраўляе новае асобнае паведамленне чалавеку з спіса. Выстаўленне ключа " +#~ "OpenPGP і рахунка не абавязковае. Калі Вы хочаце вызначыць толькі " +#~ "'account', без 'ключа OpenPGP', проста выставіце 'ключ OpenPGP' у ''." + +#, fuzzy +#~ msgid "Please first choose another theme as your current theme." +#~ msgstr "Спачатку актывізуйце іншую тэму." + +#~ msgid "Your passphrase is incorrect" +#~ msgstr "Пароль няправільны" + +#, fuzzy +#~ msgid "OpenPGP Passphrase Incorrect" +#~ msgstr "Пароль няправільны" + +#~ msgid "You successfully received %(filename)s from %(name)s." +#~ msgstr "Файл %(filename)s паспяхова атрыманы ад %(name)s." + +#, fuzzy +#~ msgid "Set logs directory" +#~ msgstr "стварэнне дырэкторыі %s" + +#~ msgid "_Manage Bookmarks..." +#~ msgstr "_Кіраванне закладкамі..." + +#~ msgid "Change Status Message..." +#~ msgstr "Змяніць паведамленне стану..." + +#~ msgid "_Change Status Message..." +#~ msgstr "_Змяніць паведамленне стану..." + +#~ msgid "" +#~ "You are not interested in the contact's presence, and neither he/she is " +#~ "interested in yours" +#~ msgstr "Вы не цікавіцеся чалавекам, і ён не цікавіцца Вамі" + +#~ msgid "Error description..." +#~ msgstr "Апісанне памылкі..." + +#, fuzzy +#~ msgid "View contact information (Ctrl+I)" +#~ msgstr "сочыць за размовай" + +#, fuzzy +#~ msgid "All Chat Histories" +#~ msgstr "Старыя казкі" + +#~ msgid "More" +#~ msgstr "Яшчэ" + +#~ msgid "creating %s directory" +#~ msgstr "стварэнне дырэкторыі %s" + +#, fuzzy +#~ msgid "" +#~ "If True, Gajim will use KDE Wallet (if kwalletcli is available) to store " +#~ "account passwords." +#~ msgstr "" +#~ "Калі true, Gajim будзе захоўваць паролі ад рахункаў з дапамогай кіраўніка " +#~ "пароляў Gnome Keyring (калі ўсталяваны)." + +#~ msgid "%s is not the name of a group chat." +#~ msgstr "%s не з'яўляецца сапраўднай назвай групавой размовы." + +#, fuzzy +#~ msgid "Session Management" +#~ msgstr "Паведамленне адпраўленае" + +#~ msgid "Gajim needs X server to run. Quiting..." +#~ msgstr "Gajim патрабуе запуску сервера X. Выхад..." + +#, fuzzy +#~ msgid "Gajim needs PyGTK 2.22 or above" +#~ msgstr "Gajim патрабуе PyGTK 2.6 альбо вышэйшай версіі" + +#, fuzzy +#~ msgid "Gajim needs PyGTK 2.22 or above to run. Quiting..." +#~ msgstr "" +#~ "Gajim патрабуе PyGTK 2.6 альбо вышэйшай версіі для запуску. Выхад..." + +#, fuzzy +#~ msgid "Gajim needs GTK 2.22 or above" +#~ msgstr "Gajim патрабуе GTK 2.6 альбо вышэйшай версіі" + +#, fuzzy +#~ msgid "Gajim needs GTK 2.22 or above to run. Quiting..." +#~ msgstr "Gajim патрабуе GTK 2.6 альбо вышэйшай версіі для запуску. Выхад..." + +#~ msgid "Gajim needs pywin32 to run" +#~ msgstr "Gajim патрабуе pywin32 для запуску" + +#~ msgid "" +#~ "Please make sure that Pywin32 is installed on your system. You can get it " +#~ "at %s" +#~ msgstr "Праверце, ці ўсталяваны Pywin32. Вы можаце сцягнуць яго з %s" + +#~ msgid "Gajim is already running" +#~ msgstr "Gajim ужо працуе" + +#~ msgid "" +#~ "Another instance of Gajim seems to be running\n" +#~ "Run anyway?" +#~ msgstr "" +#~ "Gajim ужо працуе\n" +#~ "Усё роўна запусціць наноў?" + +#~ msgid "A programming error has been detected" +#~ msgstr "Знойдзеная памылка праграмнага коду" + +#~ msgid "Details" +#~ msgstr "Падрабязнасці" + +#, fuzzy +#~ msgid "" +#~ "Gnome Keyring is installed but not correctly started (environment " +#~ "variable probably not correctly set)" +#~ msgstr "" +#~ "Кіраўнік пароляў Gnomekeyring усталяваны, але няправільна выконваецца " +#~ "(магчыма, зменная асяроддзя выстаўленая няправільна)" + +#~ msgid "Jabber ID: " +#~ msgstr "Jabber ID:" + +#~ msgid "Resource: " +#~ msgstr "Рэсурс: " + +#~ msgid "Subscription: " +#~ msgstr "Падпіска: " + +#, fuzzy +#~ msgid "Mood: " +#~ msgstr "Пакой:" + +#, fuzzy +#~ msgid "Activity: " +#~ msgstr "Актывізаваны" + +#, fuzzy +#~ msgid "Check on startup if Gajim is the _default Jabber client" +#~ msgstr "" +#~ "Заўсёды пры запуску спраўджваць, ці з'яўляецца Gajim _прадвызначанай " +#~ "Jabber-праграмай" + +#~ msgid "" +#~ "If True, Gajim will check if it's the default jabber client on each " +#~ "startup." +#~ msgstr "" +#~ "Калі true, Gajim будзе пры запуску спраўджваць, ці з'яўляецца ён " +#~ "прадвызначанай Jabber-праграмай." + +#~ msgid "Gajim is not the default Jabber client" +#~ msgstr "Gajim не з'яўляецца прадвызначанай Jabber-праграмай" + +#~ msgid "Would you like to make Gajim the default Jabber client?" +#~ msgstr "Ці Вы хочаце зрабіць Gajim прадвызначанай Jabber-праграмай?" + +#~ msgid "Always check to see if Gajim is the default Jabber client on startup" +#~ msgstr "" +#~ "Заўсёды пры запуску спраўджваць, ці з'яўляецца Gajim прадвызначанай " +#~ "Jabber-праграмай" + +#~ msgid "Execute Command..." +#~ msgstr "Выканаць загад..." + +#~ msgid " a window/tab opened with that contact " +#~ msgstr " вакно / картка размовы з гэтым чалавекам адкрыта " + +#~ msgid "Actions" +#~ msgstr "Дзеянні" + +#~ msgid "Conditions" +#~ msgstr "Умовы" + +#~ msgid "Advanced Notifications Control" +#~ msgstr "Адмысловыя настаўленні нагадванняў" + +#~ msgid "Busy " +#~ msgstr "Заняты" + +#, fuzzy +#~ msgid "Contact Change Status " +#~ msgstr "Чалавек змяніў стан" + +#~ msgid "Don't have " +#~ msgstr "Няма " + +#, fuzzy +#~ msgid "File Transfer Started " +#~ msgstr "Перадача файла спыненая" + +#, fuzzy +#~ msgid "Group Chat Message Highlight " +#~ msgstr "Фарбаванае паведамленне ў групавой размове" + +#, fuzzy +#~ msgid "Group Chat Message Received " +#~ msgstr "Новае паведамленне ў групавой размове" + +#~ msgid "Launch a command" +#~ msgstr "Выканаць загад" + +#~ msgid "One or more special statuses..." +#~ msgstr "Некалькі спецыяльных станаў..." + +#~ msgid "Online / Free For Chat" +#~ msgstr "У сетцы / Вольны для размовы" + +#~ msgid "Play a sound" +#~ msgstr "Граць гук" + +#~ msgid "When " +#~ msgstr "Калі " + +#~ msgid "" +#~ "_Activate window manager's UrgencyHint to make chat window in taskbar " +#~ "flash" +#~ msgstr "" +#~ "_Скарыстаць здольнасць UrgencyHint, каб вакно размовы міргала на панэлі " +#~ "заданняў" + +#~ msgid "_Disable auto opening chat window" +#~ msgstr "_Не адкрываць аўтаматычна вокны размовы" + +#~ msgid "_Disable existing popup window" +#~ msgstr "_Адключыць выплыўнае вакно" + +#~ msgid "_Disable existing sound for this event" +#~ msgstr "_Адключыць гук для гэтай падзеі" + +#, fuzzy +#~ msgid "_Disable showing event in notification area" +#~ msgstr "_Не паказваць падзею ў галоўным вакне" + +#~ msgid "_Disable showing event in roster" +#~ msgstr "_Не паказваць падзею ў галоўным вакне" + +#~ msgid "_Inform me with a popup window" +#~ msgstr "_Паведаміць у выплыўным вакне" + +#~ msgid "_Open chat window with user" +#~ msgstr "_Адкрыць вакно размовы з карыстальнікам" + +#~ msgid "_Show event in roster" +#~ msgstr "_Паказваць падзею ў галоўным вакне" + +#~ msgid "and I " +#~ msgstr "і я " + +#, fuzzy +#~ msgid "contact(s)" +#~ msgstr "Людзі" + +#~ msgid "for " +#~ msgstr "для " + +#, fuzzy +#~ msgid "group(s)" +#~ msgstr "Група" + +#~ msgid "when I'm in" +#~ msgstr "калі я ў" + +#~ msgid "_Allow him/her to see my status" +#~ msgstr "Дазволіць чалавеку _бачыць змены майго стану" + +#, fuzzy +#~ msgid "Descrition:" +#~ msgstr "Апісанне: %s" + +#, fuzzy +#~ msgid "Advanced..." +#~ msgstr "Адмысловы" + +#, fuzzy +#~ msgid "Display _activity of contacts in roster" +#~ msgstr "Паказваць _малюнкі ў галоўным вакне" + +#, fuzzy +#~ msgid "Display _tunes of contacts in roster" +#~ msgstr "Паказваць _малюнкі ў галоўным вакне" + +#, fuzzy +#~ msgid "Display m_ood of contacts in roster" +#~ msgstr "Паказваць _малюнкі ў галоўным вакне" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will display the activity of contacts in the roster " +#~ "window" +#~ msgstr "" +#~ "Калі гэтая опцыя ўключаная, Gajim паказвае аватары ў галоўным вакне і ў " +#~ "групавых размовах" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will display the location of contacts in the roster " +#~ "window" +#~ msgstr "" +#~ "Калі гэтая опцыя ўключаная, Gajim паказвае аватары ў галоўным вакне і ў " +#~ "групавых размовах" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will display the tunes of contacts in the roster window" +#~ msgstr "" +#~ "Калі гэтая опцыя ўключаная, Gajim паказвае аватары ў галоўным вакне і ў " +#~ "групавых размовах" + +#~ msgid "Gajim Instant Messenger" +#~ msgstr "Імгненны паведамляльнік Gajim" + +#~ msgid "English" +#~ msgstr "Ангельская" + +#~ msgid "Belarusian" +#~ msgstr "Беларуская" + +#~ msgid "Bulgarian" +#~ msgstr "Балгарская" + +#, fuzzy +#~ msgid "Breton" +#~ msgstr "Брытонская" + +#~ msgid "Czech" +#~ msgstr "Чэшская" + +#~ msgid "German" +#~ msgstr "Нямецкая" + +#~ msgid "Greek" +#~ msgstr "Грэцкая" + +#~ msgid "British" +#~ msgstr "Брытанская" + +#~ msgid "Esperanto" +#~ msgstr "Эсперанта" + +#~ msgid "Spanish" +#~ msgstr "Іспанская" + +#, fuzzy +#~ msgid "Basque" +#~ msgstr "Басцкая" + +#~ msgid "French" +#~ msgstr "Французская" + +#~ msgid "Croatian" +#~ msgstr "Харвацкая" + +#~ msgid "Italian" +#~ msgstr "Італійская" + +#~ msgid "Norwegian (b)" +#~ msgstr "Нарвежская (бокмал)" + +#~ msgid "Dutch" +#~ msgstr "Галандская" + +#~ msgid "Norwegian" +#~ msgstr "Нарвежская" + +#~ msgid "Polish" +#~ msgstr "Польская" + +#~ msgid "Portuguese" +#~ msgstr "Партугальская" + +#~ msgid "Brazilian Portuguese" +#~ msgstr "Бразільская партугальская" + +#~ msgid "Russian" +#~ msgstr "Расейская" + +#, fuzzy +#~ msgid "Serbian" +#~ msgstr "Нямецкая" + +#~ msgid "Slovak" +#~ msgstr "Славацкая" + +#~ msgid "Swedish" +#~ msgstr "Шведская" + +#~ msgid "Chinese (Ch)" +#~ msgstr "Кітайская (Ch)" + +#~ msgid "Spelling language" +#~ msgstr "Мова правапісу" + +#~ msgid "all or space separated status" +#~ msgstr "усе ці падзеленыя прагаламі станы" + +#~ msgid "'yes', 'no', or 'both'" +#~ msgstr "'yes', 'no' ці 'both'" + +#~ msgid "'yes', 'no' or ''" +#~ msgstr "'yes', 'no' ці ''" + +#~ msgid "Check your connection or try again later" +#~ msgstr "Праверце злучэнне альбо паспрабуйце пазней" + +#~ msgid "error: cannot open %s for reading" +#~ msgstr "памылка: немагчыма прачытаць %s" + +#~ msgid "Unable to bind to port %s." +#~ msgstr "Немагчыма адкрыць порт %s." + +#~ msgid "" +#~ "Maybe you have another running instance of Gajim. File Transfer will be " +#~ "cancelled." +#~ msgstr "Магчыма, Gajim ужо працуе. Перадача файлаў скасаваная." + +#~ msgid "A GTK+ jabber client" +#~ msgstr "Jabber-праграма для GTK+" + +#~ msgid "Condition" +#~ msgstr "Умова" + +#~ msgid "when I am " +#~ msgstr "калі я " + +#, fuzzy +#~ msgid "one of: offline, online, chat, away, xa, dnd, invisible " +#~ msgstr "адзін з: offline, online, chat, away, xa, dnd, invisible " + +#, fuzzy +#~ msgid "" +#~ "Returns current status message(the global one unless account is specified)" +#~ msgstr "" +#~ "Вяртае бягучае паведамленне аб стане (глабальнае, калі не вызначаны " +#~ "рахунак)" + +#~ msgid "" +#~ "Usage: %s %s %s \n" +#~ "\t %s" +#~ msgstr "" +#~ "Карыстанне: %s %s %s \n" +#~ "\t %s" + +#, fuzzy +#~ msgid "" +#~ "Too many arguments. \n" +#~ "Type \"%s help %s\" for more info" +#~ msgstr "" +#~ "Надта шмат аргументаў. \n" +#~ "Увядзіце \"%s help %s\" для падрабязнейшых звестак" + +#, fuzzy +#~ msgid "" +#~ "Argument \"%s\" is not specified. \n" +#~ "Type \"%s help %s\" for more info" +#~ msgstr "" +#~ "Аргумент \"%s\" не вызначаны. \n" +#~ "Увядзіце \"%s help %s\" для падрабязных звестак" + +#~ msgid "Subject: %s" +#~ msgstr "Тэма: %s" + +#, fuzzy +#~ msgid "Mood: %s" +#~ msgstr "Пакой:" + +#, fuzzy +#~ msgid "Activity: %s" +#~ msgstr "Актывізаваны" + +#~ msgid "_Disable showing event in systray" +#~ msgstr "_Не паказваць падзею ў прасторы паведамленняў" + +#~ msgid "_Show event in systray" +#~ msgstr "_Паказваць падзею ў прасторы паведамленняў" + +#, fuzzy +#~ msgid "Autodetect on every Gajim startup" +#~ msgstr "_Злучацца па старце Gajim" + +#, fuzzy +#~ msgid "Show systray:" +#~ msgstr "_Паказваць падзею ў прасторы паведамленняў" + +#~ msgid "Nickname not allowed: %s" +#~ msgstr "Такая мянушка не дазволеная: %s" + +#~ msgid "we are now subscribed to %s" +#~ msgstr "цяпер падпісаны на %s" + +#~ msgid "we are now unsubscribed from %s" +#~ msgstr "цяпер адпісаны ад %s" + +#~ msgid "Account Modification" +#~ msgstr "Змяненне рахунка" + +#~ msgid "" +#~ "Check this so Gajim will connect in port 5223 where legacy servers are " +#~ "expected to have SSL capabilities. Note that Gajim uses TLS encryption by " +#~ "default if broadcasted by the server, and with this option enabled TLS " +#~ "will be disabled" +#~ msgstr "" +#~ "Скарыстайце гэтую опцыю, калі хочаце, каб Gajim злучаўся з серверам праз " +#~ "порт 5223, праз які старыя серверы даюць мажлівасць выкарыстання SSL. " +#~ "Зважайце, што Gajim звычайна выкарыстоўвае шыфраванне TLS, калі " +#~ "звяртаецца да сервера, а гэтая опцыя адключыць выкарыстанне TLS" + +#~ msgid "Edit Personal Information..." +#~ msgstr "Змяніць асабістыя звесткі..." + +#~ msgid "Hostname: " +#~ msgstr "Назва вузла: " + +#~ msgid "" +#~ "If checked, Gajim will store the password in ~/.gajim/config with 'read' " +#~ "permission only for you" +#~ msgstr "" +#~ "Калі гэтая опцыя ўключаная, Gajim будзе захоўваць пароль у файле ~/.gajim/" +#~ "config з правамі чытання толькі для Вас" + +#~ msgid "Port: " +#~ msgstr "Порт: " + +#~ msgid "Save _passphrase (insecure)" +#~ msgstr "Захоўваць _пароль (небяспечна)" + +#~ msgid "Use _SSL (legacy)" +#~ msgstr "Ужыць _SSL (састарэлая опцыя)" + +#~ msgid "" +#~ "Receive a Message\n" +#~ "Contact Disconnected \n" +#~ "Contact Change Status \n" +#~ "Group Chat Message Highlight \n" +#~ "Group Chat Message Received \n" +#~ "File Transfer Request \n" +#~ "File Transfer Started \n" +#~ "File Transfer Finished" +#~ msgstr "" +#~ "Атрыманае паведамленне\n" +#~ "Чалавек адлучыўся \n" +#~ "Чалавек змяніў стан \n" +#~ "Фарбаванае паведамленне групавой размовы \n" +#~ "Атрыманае групавое паведамленне \n" +#~ "Запыт на перадачу файла \n" +#~ "Перадача файла пачалася \n" +#~ "Перадача файла скончаная" + +#~ msgid "" +#~ "contact(s)\n" +#~ "group(s)\n" +#~ "everybody" +#~ msgstr "" +#~ "людзі\n" +#~ "групы\n" +#~ "усе" + +#~ msgid "" +#~ "Account row\n" +#~ "Group row\n" +#~ "Contact row\n" +#~ "Chat Banner" +#~ msgstr "" +#~ "Шэраг рахункаў\n" +#~ "Шэраг групаў\n" +#~ "Шэраг людзей\n" +#~ "Банер размовы" + +#, fuzzy +#~ msgid "gtk-delete" +#~ msgstr "Выдаліць" + +#~ msgid "" +#~ "All chat states\n" +#~ "Composing only\n" +#~ "Disabled" +#~ msgstr "" +#~ "Усе станы\n" +#~ "Толькі пісанне\n" +#~ "Адключана" + +#, fuzzy +#~ msgid "" +#~ "Autodetect on every Gajim startup\n" +#~ "Always use GNOME default applications\n" +#~ "Always use KDE default applications\n" +#~ "Always use Xfce default applications\n" +#~ "Custom" +#~ msgstr "" +#~ "Аўтаматычна вызначаць пры кожным запуску Gajim\n" +#~ "Заўсёды карыстацца праграмамі, прызначанымі ў GNOME\n" +#~ "Заўсёды карыстацца праграмамі, прызначанымі ў KDE\n" +#~ "Адмысловы" + +#~ msgid "" +#~ "none\n" +#~ "both\n" +#~ "from\n" +#~ "to" +#~ msgstr "" +#~ "ніводны\n" +#~ "абодва\n" +#~ "ад\n" +#~ "каму" + +#, fuzzy +#~ msgid "gtk-cancel" +#~ msgstr "Выдаліць" + +#~ msgid "pysqlite2 (aka python-pysqlite2) dependency is missing. Exiting..." +#~ msgstr "" +#~ "Залежнасць ад pysqlite2 (aka python-pysqlite2) не выкананая. Выхад..." + +#~ msgid "GTK+ runtime is missing libglade support" +#~ msgstr "GTK+ не падтрымлівае libglade" + +#~ msgid "" +#~ "Please remove your current GTK+ runtime and install the latest stable " +#~ "version from %s" +#~ msgstr "" +#~ "Выдаліце бібліятэку GTK+ і ўсталюйце найноўшую стабільную версію з %s" + +#~ msgid "" +#~ "Please make sure that GTK+ and PyGTK have libglade support in your system." +#~ msgstr "" +#~ "Праверце, ці падтрымліваюць бібліятэкі GTK+ і PyGTK сродкі libglade." + +#~ msgid "Gajim needs PySQLite2 to run" +#~ msgstr "Gajim патрабуе PySQLite2 для запуску" + +#, fuzzy +#~ msgid "gtk-ok" +#~ msgstr "gtk+" + +#, fuzzy +#~ msgid "" +#~ "The host %s you configured as the ft_add_hosts_to_send advanced option is " +#~ "not valid, so ignored." +#~ msgstr "" +#~ "Вузел, вызначаны опцыяй ft_override_host_to_send, некарэктны, таму " +#~ "ігнаруецца." + +#~ msgid "OpenPGP passphrase was not given" +#~ msgstr "Пароль OpenPGP не вызначаны" + +#~ msgid "" +#~ "To continue sending and receiving messages, you will need to reconnect." +#~ msgstr "" +#~ "Каб працягваць адпраўку і атрыманне паведамленняў, трэба перадалучыцца." + +#~ msgid "" +#~ "You are not connected or not visible to others. Your message could not be " +#~ "sent." +#~ msgstr "" +#~ "Вы не злучаны альбо не бачны для іншых. Вы не можаце адправіць " +#~ "паведамленне." + +#~ msgid "Add Special _Notification" +#~ msgstr "Дадаць спецыяльнае _нагадванне" + +#~ msgid "Assign Open_PGP Key" +#~ msgstr "Прызначыць ключ Open_PGP" + +#, fuzzy +#~ msgid "" +#~ "Usage: /%(command)s , sends action to the current group chat. Use " +#~ "third person. (e.g. /%(command)s explodes.)" +#~ msgstr "" +#~ "Карыстанне: /%s <дзеянне>, выконвае дзеянне ў групавой размове (ад трэцяй " +#~ "асобы). (напр., /%s рагоча як конь.)" + +#~ msgid "No help info for /%s" +#~ msgstr "Даведка па /%s адсутнічае" + +#~ msgid "Enable link-local/zeroconf messaging" +#~ msgstr "Дазволіць мясцовыя паведамленні" + +#~ msgid "Nickname not found: %s" +#~ msgstr "Мянушка не знойдзеная: %s" + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s [reason], bans the JID from the group chat. The " +#~ "nickname of an occupant may be substituted, but not if it contains \"@\". " +#~ "If the JID is currently in the group chat, he/she/it will also be kicked." +#~ msgstr "" +#~ "Карыстанне: /%s <мянушка|JID> [прычына], забараняе JID-у казанне для " +#~ "гэтай групавой размовы. Мянушку парушальніка можна змясціць тут, калі яна " +#~ "не ўтрымлівае знака \"@\". Калі JID яшчэ ўдзельнічае ў групавой размове, " +#~ "ён таксама будзе выкінуты адтуль. Прагалы ў мянушках не падтрымліваюцца." + +#~ msgid "" +#~ "Usage: /%s [reason], closes the current window or tab, displaying reason " +#~ "if specified." +#~ msgstr "" +#~ "Карыстанне: /%s [прычына], закрывае вакно / картку, паказаўшы вызначаную " +#~ "прычыну." + +#~ msgid "" +#~ "Usage: /%s [reason], invites JID to the current group chat, " +#~ "optionally providing a reason." +#~ msgstr "" +#~ "Карыстанне: /%s [прычына], запрашае JID паўдзельнічаць у гэтай " +#~ "групавой размове, з пазначанай прычынай запрашэння." + +#~ msgid "" +#~ "Usage: /%s @[/nickname], offers to join room@server " +#~ "optionally using specified nickname." +#~ msgstr "" +#~ "Карыстанне: /%s <пакой>@<сервер>[/мянушка], увайсці ў пакой room@server з " +#~ "вызначанай мянушкай." + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s [reason], removes the occupant specified by " +#~ "nickname from the group chat and optionally displays a reason." +#~ msgstr "" +#~ "Карыстанне: /%s <мянушка> [прычына], выкідае парушальніка з вызначанай " +#~ "мянушкай з групавой размовы з паказанай прычынай. Прагалы ў мянушках не " +#~ "падтрымліваюцца." + +#~ msgid "" +#~ "Usage: /%s [message], opens a private message window and sends " +#~ "message to the occupant specified by nickname." +#~ msgstr "" +#~ "Карыстанне: /%s <мянушка> [паведамленне], адкрывае вакно прыватнай " +#~ "размовы і адпраўляе паведамленне чалавеку." + +#~ msgid "Usage: /%s , changes your nickname in current group chat." +#~ msgstr "" +#~ "Карыстанне: /%s <мянушка>, змяняе Вашую мянушку ў гэтай групавой размове." + +#~ msgid "" +#~ "Usage: /%s [topic], displays or updates the current group chat topic." +#~ msgstr "Карыстанне: /%s [тэма], паказвае ці змяняе тэму групавой размовы." + +#~ msgid "" +#~ "Usage: /%s , sends a message without looking for other commands." +#~ msgstr "" +#~ "Карыстанне: /%s <паведамленне>, адпраўляе паведамленне, не шукаючы іншых " +#~ "загадаў." + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s , allow to send you messages and private " +#~ "messages." +#~ msgstr "" +#~ "Карыстанне: /%s <мянушка>, змяняе Вашую мянушку ў гэтай групавой размове." + +#~ msgid "Click to see features (like MSN, ICQ transports) of jabber servers" +#~ msgstr "" +#~ "Пстрыкніце, каб праглядзець спіс здольнасцяў jabber-сервераў (напр., " +#~ "транспарты MSN, ICQ)" + +#~ msgid "Modify Account" +#~ msgstr "Змяніць рахунак" + +#, fuzzy +#~ msgid "" +#~ "%(title)s by %(artist)s\n" +#~ "from %(source)s" +#~ msgstr "\"%(title)s\" выконвае %(artist)s" + +#~ msgid "Gajim account %s" +#~ msgstr "Рахунак Gajim %s" + +#~ msgid "This account is already configured in Gajim." +#~ msgstr "Гэты рахунак ужо выкарыстоўваецца ў Gajim." + +#, fuzzy +#~ msgid "Idle" +#~ msgstr "Id" + +#~ msgid "File transfer stopped by the contact at the other end" +#~ msgstr "Перадача файла спыненая чалавекам" + +#, fuzzy +#~ msgid "Generic" +#~ msgstr "Агульная" + +#~ msgid "%s has not broadcast an OpenPGP key, nor has one been assigned" +#~ msgstr "%s не распаўсюджвае ключ OpenPGP і не мае прызначанага ключа" + +#~ msgid "No such command: /%s (if you want to send this, prefix it with /say)" +#~ msgstr "" +#~ "Такога загаду няма: /%s (калі Вы хочаце адправіць яго, устаўце перад " +#~ "тэкстам \"/say\")" + +#~ msgid "" +#~ "Usage: /%s , sends action to the current group chat. Use third " +#~ "person. (e.g. /%s explodes.)" +#~ msgstr "" +#~ "Карыстанне: /%s <дзеянне>, выконвае дзеянне ў групавой размове (ад трэцяй " +#~ "асобы). (напр., /%s рагоча як конь.)" + +#~ msgid "_Retype Password:" +#~ msgstr "Паўта_рыце пароль:" + +#~ msgid "" +#~ "If checked, all local contacts that use a Bonjour compatible chat client " +#~ "(like iChat, Trillian or Gaim) will be shown in roster. You don't need to " +#~ "be connected to a jabber server for it to work.\n" +#~ "This is only available if python-avahi is installed and avahi-daemon is " +#~ "running." +#~ msgstr "" +#~ "Калі гэтая опцыя ўключаная, усе мясцовыя кантакты з Bonjour-кліентам " +#~ "(напр., iChat, Trillian, Gaim) будуць паказвацца ў галоўным вакне. Для " +#~ "гэтага Вам не патрэбнае злучэнне.\n" +#~ "Гэтая мажлівасць будзе працаваць, калі ўсталяваны python-avahi і працуе " +#~ "сервіс avahi-daemon." + +#~ msgid "" +#~ "If you have 2 or more accounts and this is checked, Gajim will list all " +#~ "contacts as if you had one account" +#~ msgstr "" +#~ "Калі ў Вас некалькі рахункаў, гэтая опцыя прымушае Gajim паказваць усіх " +#~ "людзей з розных рахункаў у адзіным спісе" + +#~ msgid "_Enable link-local messaging" +#~ msgstr "_Уключыць мясцовыя паведамленні" + +#~ msgid "2003-12-13T18:30:02Z" +#~ msgstr "2003-12-13T18:30:02Z" + +#~ msgid "Romeo and Juliet" +#~ msgstr "Рамэа і Джульета" + +#~ msgid "Soliloquy" +#~ msgstr "Маналог" + +#~ msgid "_Compact View Alt+C" +#~ msgstr "_Кампактны выгляд Alt+К" + +#~ msgid "Click to see past conversation in this room" +#~ msgstr "Пстрыкніце, каб праглядзець былую размову ў гэтым пакоі" + +#~ msgid "Build custom query" +#~ msgstr "Стварыць адмысловы запыт" + +#~ msgid "Query Builder..." +#~ msgstr "Стварэнне запыту..." + +#~ msgid "Invitation Received" +#~ msgstr "Атрыманае запрашэнне" + +#~ msgid "Format of a line" +#~ msgstr "Фармат радка" + +#~ msgid "Interface Customization" +#~ msgstr "Інтэрфэйс" + +#~ msgid "Also known as iChat style" +#~ msgstr "Таксама вядома як \"стыль iChat\"" + +#~ msgid "" +#~ "An example: If you have enabled status message for away, Gajim won't ask " +#~ "you anymore for a status message when you change your status to away; it " +#~ "will use the default one set here" +#~ msgstr "" +#~ "Напрыклад, калі Вы ўключылі паведамленне стану для сышоўшага стану, Gajim " +#~ "больш не будзе ў Вас пытацца пацверджання гэтага паведамлення" + +#~ msgid "" +#~ "Determined by sender\n" +#~ "Chat message\n" +#~ "Single message" +#~ msgstr "" +#~ "Вызначае адпраўнік\n" +#~ "Размоўнае паведамленне\n" +#~ "Асобнае паведамленне" + +#~ msgid "E_very 5 minutes" +#~ msgstr "_Кожныя 5 хвілінаў" + +#~ msgid "" +#~ "Gajim will automatically show new events by popping up the relative window" +#~ msgstr "Gajim аўтаматычна пакажа новыя падзеі ў адпаведным выплыўным вакне" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed in" +#~ msgstr "" +#~ "Gajim будзе паведамляць Вам аб увайшоўшых людзях у выплыўным вакне ў " +#~ "правым верхнім куце экрана" + +#~ msgid "" +#~ "Gajim will only change the icon of the contact that triggered the new " +#~ "event" +#~ msgstr "" +#~ "Gajim толькі зменіць значку чалавека, які стаў прычынай новай падзеі" + +#~ msgid "" +#~ "If checked, Gajim will remember the roster and chat window positions in " +#~ "the screen and the sizes of them next time you run it" +#~ msgstr "" +#~ "Калі гэтая опцыя ўключаная, Gajim запомніць пазіцыю галоўнага і іншых " +#~ "вокнаў і іх памеры" + +#~ msgid "" +#~ "Never\n" +#~ "Always\n" +#~ "Per account\n" +#~ "Per type" +#~ msgstr "" +#~ "Ніколі\n" +#~ "Заўсёды\n" +#~ "Па рахунках\n" +#~ "Па тыпе" + +#~ msgid "Outgoing Chat state noti_fications:" +#~ msgstr "Адпраўляць _нагадванні стану размовы:" + +#~ msgid "Print time:" +#~ msgstr "Паказваць час:" + +#~ msgid "Save _position and size for roster and chat windows" +#~ msgstr "Захоўваць _пазіцыю і памеры галоўнага і размоўных вокнаў" + +#~ msgid "Set status message to reflect currently playing _music track" +#~ msgstr "Выстаўляць паведамленне стану з улікам _гранай музыкі" + +#~ msgid "The auto away status message" +#~ msgstr "Паведамленне аб аўтаматычным сыходзе" + +#~ msgid "Treat all incoming messages as:" +#~ msgstr "Лічыць усе ўваходныя паведамленні:" + +#~ msgid "" +#~ "When a new event (message, file transfer request etc..) is received, the " +#~ "following methods may be used to inform you about it. Please note that " +#~ "events about new messages only occur if it is a new message from a " +#~ "contact you are not already chatting with" +#~ msgstr "" +#~ "Магчымыя наступныя варыянты нагадвання аб здзяйсненні новых падзей " +#~ "(паведамленне, запыт на перадачу файла і г.д.). Зважайце, што атрыманне " +#~ "новага паведамлення фіксуецца толькі тады, калі Вы атрымліваеце " +#~ "паведамленне ад чалавека, з якім на той момант яшчэ не вялася размова" + +#~ msgid "" +#~ "Works for Rhythmbox and Muine players. For more players, please visit " +#~ "http://trac.gajim.org/wiki/GajimAndMusicPlayer" +#~ msgstr "" +#~ "Працуе з Rhythmbox і Muine. Для іншых праграмаў глядзіце старонку http://" +#~ "trac.gajim.org/wiki/GajimAndMusicPlayer" + +#~ msgid "_Advanced Notifications Control..." +#~ msgstr "_Адмысловыя настаўленні нагадванняў..." + +#~ msgid "_Player:" +#~ msgstr "_Прайгравальнік:" + +#~ msgid "Role:" +#~ msgstr "Роля:" + +#~ msgid "_Remove from Roster" +#~ msgstr "Вы_даліць з кантактнага ліста" + +#~ msgid "A_ccounts" +#~ msgstr "Р_ахункі" + +#~ msgid "OS:" +#~ msgstr "Аперацыйная сістэма:" + +#~ msgid "" +#~ "If that is not your language for which you want to highlight misspelled " +#~ "words, then please set your $LANG as appropriate. Eg. for French do " +#~ "export LANG=fr_FR or export LANG=fr_FR.UTF-8 in ~/.bash_profile or to " +#~ "make it global in /etc/profile.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "Калі гэта не мова, для якой трэба паказваць няправільна напісаныя словы, " +#~ "тады вызначце зменную $LANG адпаведным чынам. Напр., для беларускай мовы " +#~ "змясціце загад export LANG=be_BY.UTF-8 у файле ~/.bash_profile, альбо " +#~ "глабальна ў /etc/profile.\n" +#~ "\n" +#~ "Фарбаванне няправільна напісаных слоў не працуе" + +#~ msgid "Every %s _minutes" +#~ msgstr "Кожныя %s _хвілінаў" + +#~ msgid "You will always see him or her as offline." +#~ msgstr "Вы заўсёды будзеце бачыць гэтага чалавека адключаным." + +#~ msgid "%s is now %s (%s)" +#~ msgstr "%s цяпер %s (%s)" + +#~ msgid "%s is now %s" +#~ msgstr "%s цяпер %s" + +#~ msgid "" +#~ "\n" +#~ "From: %(from_address)s" +#~ msgstr "" +#~ "\n" +#~ "Ад: %(from_address)s" + +#~ msgid "Network Manager support not available" +#~ msgstr "Падтрымка Network Manager адсутнічае" + +#~ msgid "Session Management support not available (missing gnome.ui module)" +#~ msgstr "Падтрымка працоўных сеансаў адсутнічае (няма модуля gnome.ui)" + +#~ msgid "%s does not appear to be a valid JID" +#~ msgstr "%s не з'яўляецца карэктным JID" + +#~ msgid "%s - Gajim" +#~ msgstr "%s - Gajim" + +#~ msgid "_New group chat" +#~ msgstr "_Новая групавая размова" + +#~ msgid "Log _off" +#~ msgstr "_Сысці" + +#~ msgid "Save passphrase" +#~ msgstr "Захоўваць пароль" + +#~ msgid "Drop %s in group %s" +#~ msgstr "Перанесці %s у групу %s" + +#~ msgid "Hides the buttons in two persons chat window." +#~ msgstr "Схаваць кнопкі прыватнай размовы." + +#~ msgid "Connected to server %s:%s with %s" +#~ msgstr "Злучаны з серверам %s:%s з %s" + +#~ msgid "invisible" +#~ msgstr "нябачны" + +#~ msgid "offline" +#~ msgstr "адключаны" + +#~ msgid " %d unread single message" +#~ msgid_plural " %d unread single messages" +#~ msgstr[0] "%d нечытанае асобнае паведамленне" +#~ msgstr[1] "%d нечытаныя асобныя паведамленні" +#~ msgstr[2] "%d нечытаных асобных паведамленняў" + +#~ msgid " %d unread group chat message" +#~ msgid_plural " %d unread group chat messages" +#~ msgstr[0] "%d нечытанае групавое паведамленне" +#~ msgstr[1] "%d нечытаныя групавыя паведамленні" +#~ msgstr[2] "%d нечытаных групавых паведамленняў" + +#~ msgid " %d unread private message" +#~ msgid_plural " %d unread private messages" +#~ msgstr[0] "%d нечытанае прыватнае паведамленне" +#~ msgstr[1] "%d нечытаныя прыватныя паведамленні" +#~ msgstr[2] "%d нечытаных прыватных паведамленняў" + +#~ msgid "" +#~ "Connection to host could not be established: Incorrect answer from server." +#~ msgstr "Немагчыма злучыцца з вузлом: некарэктны адказ сервера." + +#~ msgid "Connection to host could not be established" +#~ msgstr "Немагчыма ўсталяваць злучэнне з вузлом" + +#~ msgid "_After time:" +#~ msgstr "_Праз пэўны час:" + +#~ msgid "_Before time:" +#~ msgstr "_За пэўны час да:" + +#~ msgid "_Retrieve" +#~ msgstr "_Атрымаць" + +#~ msgid "Information published" +#~ msgstr "Звесткі абноўлены" + +#~ msgid "Without a connection, you can not get your contact information." +#~ msgstr "Вы не можаце атрымаць звесткі аб сабе, не злучыўшыся з сэрвэрам." diff --git a/po/be@latin.po b/po/be@latin.po new file mode 100644 index 0000000..46fa083 --- /dev/null +++ b/po/be@latin.po @@ -0,0 +1,15953 @@ +# Biełarusji pierakład Gajim +# Copyright (C) 2006-2007 Free Software Foundation, Inc. +# This file is distributed under the same license as Gajim. +# Based on cyrillic version. +# +# Ihar Hrachyshka , 2006-2007, 2009. +msgid "" +msgstr "" +"Project-Id-Version: 0.11.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-01 17:44+0100\n" +"PO-Revision-Date: 2009-08-19 23:41+0200\n" +"Last-Translator: Ihar Hrachyshka \n" +"Language-Team: Belarusian Latin \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: gajim/history_manager.py:78 +#, fuzzy +msgid "Usage:" +msgstr "paviedamleńnie" + +#: gajim/history_manager.py:80 +#, fuzzy +msgid "Options:" +msgstr "Smajliki:" + +#: gajim/history_manager.py:82 +msgid "Show this help message and exit" +msgstr "" + +#: gajim/history_manager.py:83 +msgid "Choose folder for logfile" +msgstr "" + +#: gajim/history_manager.py:113 +msgid "Cannot find history logs database" +msgstr "Niemahčyma znajści bazu žurnałaŭ razmoŭ" + +#: gajim/history_manager.py:114 +#, fuzzy, python-format +msgid "%s does not exist." +msgstr "Takoha pakoju niama." + +#: gajim/history_manager.py:147 gajim/history_manager.py:201 +#: gajim/gtk/add_contact.py:31 gajim/gtk/discovery.py:833 +#: gajim/gtk/accounts.py:892 gajim/data/gui/vcard_information_window.ui:55 +#: gajim/data/gui/bookmarks.ui:45 gajim/data/gui/blocking_list.ui:43 +#: gajim/data/gui/mam_preferences.ui:117 +#, fuzzy +msgid "XMPP Address" +msgstr "Adras AIM:" + +#: gajim/history_manager.py:160 gajim/history_manager.py:208 +#: gajim/gtk/history.py:108 gajim/data/gui/history_window.ui:89 +msgid "Date" +msgstr "Data" + +#: gajim/history_manager.py:167 gajim/history_manager.py:231 +#: gajim/data/gui/profile.ui:232 gajim/data/gui/vcard_information_window.ui:442 +#: gajim/data/gui/bookmarks.ui:84 +msgid "Nickname" +msgstr "Mianuška" + +#: gajim/history_manager.py:178 gajim/history_manager.py:217 +#: gajim/gtk/history.py:117 gajim/data/gui/single_message_window.ui:266 +msgid "Message" +msgstr "Paviedamleńnie" + +#: gajim/history_manager.py:186 gajim/history_manager.py:224 +#: gajim/data/gui/groups_post_window.ui:49 +#: gajim/data/gui/single_message_window.ui:205 +msgid "Subject" +msgstr "Tema" + +#: gajim/history_manager.py:254 +msgid "Database Cleanup" +msgstr "" + +#: gajim/history_manager.py:255 +#, fuzzy +msgid "Clean up the database?" +msgstr "stvarajecca baza žurnałaŭ" + +#: gajim/history_manager.py:256 +#, fuzzy +msgid "" +"This is STRONGLY NOT RECOMMENDED IF GAJIM IS RUNNING.\n" +"Normally, the allocated database size will not be freed, it will just become " +"reusable. This operation may take a while." +msgstr "" +"Zvyčajna zaniataja bazaj źviestak prastora nie vyzvalajecca, ale " +"rezervujecca dla paźniejšych patrebaŭ prahramy. Kali ty sapraŭdy chočaš " +"źmienšyć pamier bazy źviestak, klikni \"Tak\", inakš \"Nie\".\n" +"\n" +"Kali ty abraŭ \"Tak\", pačakaj..." + +#: gajim/history_manager.py:262 +#, fuzzy +msgid "_Cleanup" +msgstr "Pry_biarysia" + +#: gajim/history_manager.py:527 gajim/gtk/filetransfer.py:238 +#: gajim/gtk/filetransfer.py:248 +msgid "You" +msgstr "Ty" + +#: gajim/history_manager.py:539 +#, python-format +msgid "%(who)s on %(time)s said: %(message)s\n" +msgstr "%(who)s a %(time)s napisaŭ: %(message)s\n" + +#: gajim/history_manager.py:576 gajim/history_manager.py:615 +#: gajim/gtk/themes.py:362 gajim/gtk/roster_item_exchange.py:75 +#: gajim/gtk/roster_item_exchange.py:185 +msgid "Delete" +msgstr "Vydal" + +#: gajim/history_manager.py:577 +#, fuzzy +msgid "Delete Conversation" +msgid_plural "Delete Conversations" +msgstr[0] "Źviestki ab kantakcie" +msgstr[1] "Źviestki ab kantakcie" +msgstr[2] "Źviestki ab kantakcie" + +#: gajim/history_manager.py:578 +#, fuzzy, python-format +msgid "Do you want to permanently delete this conversation with %s?" +msgid_plural "Do you want to permanently delete these conversations?" +msgstr[0] "Sapraŭdy chočaš vydalić zaznačanaje paviedamleńnie?" +msgstr[1] "Sapraŭdy chočaš vydalić zaznačanaje paviedamleńnie?" +msgstr[2] "Sapraŭdy chočaš vydalić zaznačanaje paviedamleńnie?" + +#: gajim/history_manager.py:616 +#, fuzzy +msgid "Delete Message" +msgid_plural "Delete Messages" +msgstr[0] "Standartnyja šablony paviedamleńniaŭ statusu" +msgstr[1] "Standartnyja šablony paviedamleńniaŭ statusu" +msgstr[2] "Standartnyja šablony paviedamleńniaŭ statusu" + +#: gajim/history_manager.py:617 +#, fuzzy +msgid "Do you want to permanently delete this message?" +msgid_plural "Do you want to permanently delete these messages?" +msgstr[0] "Sapraŭdy chočaš vydalić zaznačanaje paviedamleńnie?" +msgstr[1] "Sapraŭdy chočaš vydalić zaznačanyja paviedamleńni?" +msgstr[2] "Sapraŭdy chočaš vydalić zaznačanyja paviedamleńni?" + +#: gajim/roster_window.py:268 gajim/roster_window.py:991 +msgid "Merged accounts" +msgstr "Abjadnanyja konty" + +#: gajim/roster_window.py:756 gajim/roster_window.py:1667 +#: gajim/roster_window.py:1669 gajim/roster_window.py:1986 +#: gajim/roster_window.py:3065 gajim/roster_window.py:3098 +#: gajim/roster_window.py:4026 gajim/gui_interface.py:338 +#: gajim/gui_menu_builder.py:254 gajim/gui_menu_builder.py:345 +#: gajim/chat_control.py:291 gajim/chat_control.py:421 +#: gajim/gtk/add_contact.py:320 gajim/gtk/roster_item_exchange.py:112 +#: gajim/gtk/subscription_request.py:77 gajim/gtk/subscription_request.py:126 +#: gajim/common/helpers.py:89 gajim/common/helpers.py:207 +#: gajim/common/contacts.py:243 gajim/common/contacts.py:382 +#: gajim/common/contacts.py:493 +#, fuzzy +msgid "Not in contact list" +msgstr "Pakažy _adłučanyja kantakty" + +#: gajim/roster_window.py:823 gajim/roster_window.py:1579 +#: gajim/roster_window.py:1612 gajim/roster_window.py:1663 +#: gajim/roster_window.py:1665 gajim/roster_window.py:1820 +#: gajim/roster_window.py:2378 gajim/roster_window.py:3990 +#: gajim/roster_window.py:4638 gajim/gtk/discovery.py:127 +#: gajim/gtk/discovery.py:128 gajim/gtk/discovery.py:1419 +#: gajim/common/helpers.py:88 gajim/common/contacts.py:225 +#: gajim/common/contacts.py:485 +msgid "Transports" +msgstr "Transparty" + +#: gajim/roster_window.py:1671 gajim/roster_window.py:1673 +#: gajim/roster_window.py:3990 gajim/roster_window.py:4603 +#: gajim/gui_interface.py:1425 gajim/common/helpers.py:91 +#: gajim/common/contacts.py:223 +#, fuzzy +msgid "Group chats" +msgstr "Pakoji" + +#: gajim/roster_window.py:1901 gajim/chat_control.py:1688 +#, fuzzy +msgid "Remote contact stopped transfer" +msgstr "Vydalaje kantakt sa śpisu" + +#: gajim/roster_window.py:1903 gajim/chat_control.py:1690 +#, fuzzy +msgid "Error opening file" +msgstr "Pamyłka adčytańnia fajłu:" + +#: gajim/roster_window.py:1968 +#, fuzzy +msgid "Authorization sent" +msgstr "Aŭtaryzacyja dasłanaja" + +#: gajim/roster_window.py:1969 +#, fuzzy, python-format +msgid "\"%s\" will now see your status." +msgstr "Ciapier \"%s\" budzie viedać tvoj status." + +#: gajim/roster_window.py:1987 +msgid "Subscription request has been sent" +msgstr "Zapyt aŭtaryzacyi dasłany" + +#: gajim/roster_window.py:1988 +#, fuzzy, python-format +msgid "If \"%s\" accepts this request you will know their status." +msgstr "Kali \"%s\" zadavolić tvoj zapyt, ty zmožaš bačyć jahony status." + +#: gajim/roster_window.py:2002 +#, fuzzy +msgid "Authorization removed" +msgstr "Aŭtaryzacyja anulavanaja" + +#: gajim/roster_window.py:2003 +#, python-format +msgid "Now \"%s\" will always see you as offline." +msgstr "Ciapier \"%s\" budzie zaŭsiody bačyć ciabie jak adłučanaha." + +#: gajim/roster_window.py:2198 gajim/data/gui/shortcuts_window.ui:66 +#, fuzzy +msgid "Quit Gajim" +msgstr "Gajim" + +#: gajim/roster_window.py:2199 +#, fuzzy +msgid "You are about to quit Gajim" +msgstr "Ty sapraŭdy chočaš pakinuć pakoj \"%s\"?" + +#: gajim/roster_window.py:2200 +#, fuzzy +msgid "Are you sure you want to quit Gajim?" +msgstr "Ty sapraŭdy chočaš pakinuć pakoj \"%s\"?" + +#: gajim/roster_window.py:2201 +msgid "_Always quit when closing Gajim" +msgstr "" + +#: gajim/roster_window.py:2204 gajim/roster_window.py:2299 +#: gajim/roster_window.py:2340 gajim/data/gui/application_menu.ui:30 +#: gajim/data/gui/systray_context_menu.ui:83 +#, fuzzy +msgid "_Quit" +msgstr "_Skonč pracu" + +#: gajim/roster_window.py:2292 +#, fuzzy +msgid "Stop File Transfers" +msgstr "Pieradačy fajłaŭ" + +#: gajim/roster_window.py:2293 +#, fuzzy +msgid "You still have running file transfers" +msgstr "Anuluj pieradaču fajła" + +#: gajim/roster_window.py:2294 +msgid "" +"If you quit now, the file(s) being transferred will be lost.\n" +"Do you still want to quit?" +msgstr "" + +#: gajim/roster_window.py:2333 +#, fuzzy +msgid "Unread Messages" +msgstr "Niepračytanyja paviedamleńni" + +#: gajim/roster_window.py:2334 +#, fuzzy +msgid "You still have unread messages" +msgstr "Jość niečytanyja paviedamleńni" + +#: gajim/roster_window.py:2335 +#, fuzzy +msgid "" +"Messages will only be available for reading them later if storing chat " +"history is enabled and if the contact is in your contact list." +msgstr "" +"Paviedamleńni možna budzie pračytać paźniej, kali ŭklučana viadzieńnie " +"žurnałaŭ razmoŭ." + +#: gajim/roster_window.py:2590 +msgid "You have unread messages" +msgstr "Jość niečytanyja paviedamleńni" + +#: gajim/roster_window.py:2591 +msgid "You must read them before removing this transport." +msgstr "Musiš pračytać ich pierad vydaleńniem hetaha transpartu." + +#: gajim/roster_window.py:2594 +#, fuzzy, python-format +msgid "Transport '%s' will be removed" +msgstr "Transpart \"%s\" budzie vydaleny" + +#: gajim/roster_window.py:2595 +#, fuzzy +msgid "" +"You will no longer be able to send and receive messages from and to contacts " +"using this transport." +msgstr "" +"Ty bolš nia zmožaš kamunikavać z kantaktami, jakija karystajucca hetym " +"transpartam." + +#: gajim/roster_window.py:2598 +msgid "Transports will be removed" +msgstr "Transparty buduć vydalenyja" + +#: gajim/roster_window.py:2603 +#, fuzzy, python-format +msgid "" +"You will no longer be able to send and receive messages from and to contacts " +"using these transports:\n" +"%s" +msgstr "" +"Ty bolš nia zmožaš kamunikavać z kantaktami, jakija karystajucca hetym " +"transpartam." + +#: gajim/roster_window.py:2607 +#, fuzzy +msgid "Remove Transport" +msgstr "Pakažy _transparty" + +#: gajim/roster_window.py:2662 gajim/chat_control.py:428 +#, fuzzy +msgid "Block Contact" +msgstr "Kantakty" + +#: gajim/roster_window.py:2663 gajim/chat_control.py:429 +#, fuzzy +msgid "Really block this contact?" +msgstr "Ci vykarystoŭvajecca šyfravańnie OpenPGP dla hetaha kantaktu?" + +#: gajim/roster_window.py:2664 gajim/chat_control.py:430 +#, fuzzy +msgid "" +"You will appear offline for this contact and you will not receive further " +"messages." +msgstr "JID kantaktu, jaki atrymaje paviedamleńnie" + +#: gajim/roster_window.py:2666 +#, fuzzy +msgid "_Do not ask again" +msgstr "_Bolš nie pytajsia" + +#: gajim/roster_window.py:2669 gajim/chat_control.py:434 +#, fuzzy +msgid "_Report Spam" +msgstr "_Paviedam pra pamyłku" + +#: gajim/roster_window.py:2673 gajim/roster_window.py:4778 +#: gajim/gui_menu_builder.py:485 gajim/chat_control.py:438 +#: gajim/data/gui/contact_context_menu.ui:151 +msgid "_Block" +msgstr "" + +#: gajim/roster_window.py:2706 +msgid "Rename Contact" +msgstr "Źmiani nazvu kantaktu" + +#: gajim/roster_window.py:2707 +#, fuzzy, python-format +msgid "Rename contact %s?" +msgstr "Źmiani nazvu kantaktu" + +#: gajim/roster_window.py:2708 +#, fuzzy +msgid "Please enter a new nickname" +msgstr "_Пасля мянушкі:" + +#: gajim/roster_window.py:2712 gajim/roster_window.py:3439 +#: gajim/roster_window.py:4679 gajim/dialogs.py:103 gajim/dialogs.py:116 +#: gajim/gtk/accounts.py:308 gajim/common/contacts.py:178 +#: gajim/common/contacts.py:227 gajim/data/gui/shortcuts_window.ui:12 +#: gajim/data/gui/preferences.ui:96 +msgid "General" +msgstr "Ahulnaja" + +#: gajim/roster_window.py:2715 +msgid "Rename Group" +msgstr "Źmiani nazvu hrupy" + +#: gajim/roster_window.py:2716 +#, fuzzy, python-format +msgid "Rename group %s?" +msgstr "Źmiani nazvu hrupy" + +#: gajim/roster_window.py:2717 +#, fuzzy +msgid "Please enter a new name" +msgstr "Stvary novy zapis" + +#: gajim/roster_window.py:2747 gajim/roster_window.py:2869 +#: gajim/data/gui/groupchat_control.ui:1859 +#, fuzzy +msgid "_Rename" +msgstr "_Źmiani nazvu" + +#: gajim/roster_window.py:2769 gajim/roster_window.py:2770 +msgid "Remove Group" +msgstr "Vydal hrupu" + +#: gajim/roster_window.py:2771 +#, fuzzy, python-format +msgid "Do you want to remove %s from the contact list?" +msgstr "Chočaš vydalić hrupu %s sa śpisu kantaktaŭ?" + +#: gajim/roster_window.py:2772 +#, fuzzy +msgid "_Also remove all contacts of this group from contact list" +msgstr "Vydal taksama ŭsie kantakty z hetaj hrupy sa śpisu kantaktaŭ" + +#: gajim/roster_window.py:2864 gajim/roster_window.py:2865 +#, fuzzy +msgid "Rename Group Chat" +msgstr "Pakiń pakoji" + +#: gajim/roster_window.py:2866 +#, fuzzy +msgid "Please enter a new name for this group chat" +msgstr "Kali łaska, akreśli novaje imia karystalnika dla lakalnaha kontu" + +#: gajim/roster_window.py:3082 +#, fuzzy +msgid "Remove Contact" +msgstr "Źmiani nazvu kantaktu" + +#: gajim/roster_window.py:3083 +#, fuzzy +msgid "Remove contact from contact list" +msgstr "Vydalaje kantakt sa śpisu" + +#: gajim/roster_window.py:3084 +#, fuzzy, python-format +msgid "You are about to remove %(name)s (%(jid)s) from your contact list.\n" +msgstr "Chočaš vydalić hrupu %s sa śpisu kantaktaŭ?" + +#: gajim/roster_window.py:3093 gajim/roster_window.py:3113 +#, fuzzy +msgid "" +"By removing this contact you also remove authorization. This means the " +"contact will see you as offline." +msgstr "" +"Vydaliŭšy hetyja kantakty:%s,\n" +"ty taksama anuluješ ichnyja aŭtaryzacyi. U vyniku jany zaŭsiody buduć bačyć " +"ciabie adłučanym." + +#: gajim/roster_window.py:3104 +#, fuzzy +msgid "Do you want to continue?" +msgstr "Što chočaš zrabić?" + +#: gajim/roster_window.py:3115 +#, fuzzy +msgid "_I want this contact to know my status after removal" +msgstr "Ja chaču, kab hety kantakt moh bačyć moj status paśla vydaleńnia" + +#: gajim/roster_window.py:3122 +#, fuzzy +msgid "Remove contacts from contact list" +msgstr "Vydalaje kantakt sa śpisu" + +#: gajim/roster_window.py:3128 +#, fuzzy, python-format +msgid "" +"By removing the following contacts, you will also remove authorization. This " +"means they will see you as offline:\n" +"\n" +"%s" +msgstr "" +"Vydaliŭšy hetyja kantakty:%s,\n" +"ty taksama anuluješ ichnyja aŭtaryzacyi. U vyniku jany zaŭsiody buduć bačyć " +"ciabie adłučanym." + +#: gajim/roster_window.py:3132 +#, fuzzy +msgid "Remove Contacts" +msgstr "Źmiani nazvu kantaktu" + +#: gajim/roster_window.py:3761 +#, fuzzy +msgid "You are about to create a metacontact" +msgstr "Stvarajecca metakantakt. Ty sapraŭdy chočaš praciahnuć?" + +#: gajim/roster_window.py:3762 +#, fuzzy +msgid "" +"Metacontacts are a way to regroup several contacts in one single contact. " +"Generally it is used when the same person has several XMPP- or Transport-" +"Accounts." +msgstr "" +"Metakantakty jość sposabam hrupavańnia niekalkich kantaktaŭ u adnum radku. " +"Zvyčajna hetaja mažlivaść vykarystoŭvajecca, kali adzin čałaviek " +"karystajecca niekalkimi kontami Jabber albo niekalkimi kontami z transpartaŭ." + +#: gajim/roster_window.py:3766 +#, fuzzy +msgid "Create Metacontact" +msgstr "Źmiani nazvu kantaktu" + +#: gajim/roster_window.py:3769 gajim/chat_control_base.py:771 +#: gajim/groupchat_control.py:1676 gajim/message_window.py:368 +#, fuzzy +msgid "_Do not ask me again" +msgstr "_Bolš nie pytajsia" + +#: gajim/roster_window.py:3772 gajim/data/gui/groupchat_creation.ui:317 +#, fuzzy +msgid "_Create" +msgstr "Niadziejny" + +#: gajim/roster_window.py:3889 +#, fuzzy +msgid "Invalid file URI:" +msgstr "Niapravilny fajł" + +#: gajim/roster_window.py:3901 +#, fuzzy, python-format +msgid "Send this file to %s:\n" +msgid_plural "Send these files to %s:\n" +msgstr[0] "%s choča dasłać tabie fajł:" +msgstr[1] "%s choča dasłać tabie fajł:" +msgstr[2] "%s choča dasłać tabie fajł:" + +#: gajim/roster_window.py:3909 gajim/roster_window.py:3910 +#: gajim/chat_control.py:1541 gajim/gtk/filetransfer_progress.py:36 +#, fuzzy +msgid "File Transfer" +msgstr "Pieradačy fajłaŭ" + +#: gajim/roster_window.py:3914 gajim/data/gui/xml_console.ui:334 +msgid "_Send" +msgstr "_Vyšli" + +#: gajim/roster_window.py:4067 +#, fuzzy, python-format +msgid "Send %(from)s to %(to)s" +msgstr "Dašli %s" + +#: gajim/roster_window.py:4080 +#, fuzzy, python-format +msgid "Make %s first contact" +msgstr "Zrabi z %s i %s metakantakt" + +#: gajim/roster_window.py:4085 +#, fuzzy, python-format +msgid "Make %(contact1)s and %(contact2)s metacontacts" +msgstr "Zrabi z %s i %s metakantakt" + +#: gajim/roster_window.py:4436 gajim/roster_window.py:4523 +#: gajim/gtk/status_selector.py:76 +msgid "_Change Status Message" +msgstr "Ź_miani paviedamleńnie statusu" + +#: gajim/roster_window.py:4456 +#, fuzzy +msgid "Publish Tune" +msgstr "_Абнавіць" + +#: gajim/roster_window.py:4467 +#, fuzzy +msgid "Publish Location" +msgstr "_Абнавіць" + +#: gajim/roster_window.py:4606 +msgid "_Maximize All" +msgstr "" + +#: gajim/roster_window.py:4615 gajim/roster_window.py:4743 +msgid "Send Group M_essage" +msgstr "_Dašli hrupavoje paviedamleńnie" + +#: gajim/roster_window.py:4622 +msgid "To all users" +msgstr "Usim karystalnikam" + +#: gajim/roster_window.py:4626 +msgid "To all online users" +msgstr "Usim dałučanym karystalnikam" + +#: gajim/roster_window.py:4637 gajim/roster_window.py:4749 +#: gajim/data/gui/contact_context_menu.ui:36 +msgid "In_vite to" +msgstr "_Zaprasi" + +#: gajim/roster_window.py:4663 gajim/gui_menu_builder.py:471 +#, fuzzy +msgid "_Rename…" +msgstr "Źmiani _nazvu" + +#: gajim/roster_window.py:4669 gajim/gui_menu_builder.py:493 +#: gajim/data/gui/contact_context_menu.ui:181 +#, fuzzy +msgid "Remo_ve" +msgstr "_Vydal" + +#: gajim/roster_window.py:4759 +#, fuzzy +msgid "_Manage Contacts" +msgstr "Źmiani nazvu kantaktu" + +#: gajim/roster_window.py:4765 +#, fuzzy +msgid "Edit _Groups…" +msgstr "Źmiani _hrupy" + +#: gajim/roster_window.py:4774 gajim/gui_menu_builder.py:482 +#: gajim/data/gui/contact_context_menu.ui:143 +msgid "_Unblock" +msgstr "" + +#: gajim/roster_window.py:4786 gajim/gtk/dialogs.py:70 +#: gajim/data/gui/filetransfers.ui:12 +msgid "_Remove" +msgstr "_Vydal" + +#: gajim/roster_window.py:4823 +msgid "_Maximize" +msgstr "" + +#: gajim/roster_window.py:4828 +#, fuzzy +msgid "Re_name" +msgstr "_Źmiani nazvu" + +#: gajim/roster_window.py:4836 gajim/groupchat_control.py:1680 +msgid "_Leave" +msgstr "" + +#: gajim/roster_window.py:4844 +#, fuzzy +msgid "Execute command" +msgstr "_Vykanaj zahad..." + +#: gajim/roster_window.py:4852 gajim/data/gui/application_menu.ui:68 +#: gajim/data/gui/contact_context_menu.ui:205 +msgid "_History" +msgstr "_Žurnał razmoŭ" + +#: gajim/roster_window.py:4945 gajim/gui_interface.py:339 +#: gajim/common/helpers.py:90 gajim/common/contacts.py:221 +msgid "Observers" +msgstr "Naziralniki" + +#: gajim/roster_window.py:4948 +msgid "Observers can see your status, but you are not allowed to see theirs" +msgstr "" + +#: gajim/privatechat_control.py:105 gajim/groupchat_control.py:1225 +#, python-format +msgid "You are now known as %s" +msgstr "Ciabie ciapier viedajuć jak %s" + +#: gajim/privatechat_control.py:107 gajim/groupchat_control.py:1227 +#, fuzzy, python-brace-format +msgid "{nick} is now known as {new_nick}" +msgstr "%s ciapier viadomy jak %s" + +#: gajim/privatechat_control.py:138 gajim/groupchat_control.py:1254 +#, fuzzy, python-brace-format +msgid "You are now {show}{status}" +msgstr "Ciabie ciapier viedajuć jak %s" + +#: gajim/privatechat_control.py:142 gajim/groupchat_control.py:1258 +#, fuzzy, python-brace-format +msgid "{nick} is now {show}{status}" +msgstr "%(nick)s maje ciapier status %(status)s" + +#: gajim/privatechat_control.py:199 +msgid "Sending private message failed" +msgstr "Pamyłka dasyłańnia pryvatnaha paviedamleńnia" + +#: gajim/privatechat_control.py:201 +#, fuzzy, python-format +msgid "You are no longer in group chat \"%(room)s\" or \"%(nick)s\" has left." +msgstr "Ciabie niama ŭ pakoji \"%s\", albo \"%s\" pakinuŭ jaho." + +#: gajim/application.py:81 +#, fuzzy +msgid "Show the application's version" +msgstr "Pakazvaj _ikonu ŭ poli nahadvańnia" + +#: gajim/application.py:88 +#, fuzzy +msgid "Show only critical errors" +msgstr "Pakazvaj tolki ŭ śpisie _kantaktaŭ" + +#: gajim/application.py:95 +msgid "Separate profile files completely (even history database and plugins)" +msgstr "" + +#: gajim/application.py:103 +msgid "Print XML stanzas and other debug information" +msgstr "" + +#: gajim/application.py:110 +#, fuzzy +msgid "Use defined profile in configuration directory" +msgstr "Redaktar dadatkovych naładaŭ" + +#: gajim/application.py:118 +#, fuzzy +msgid "Set configuration directory" +msgstr "Kanfihuracyja pakoju" + +#: gajim/application.py:126 +msgid "Configure logging system" +msgstr "" + +#: gajim/application.py:134 +#, fuzzy +msgid "Show all warnings" +msgstr "Pakažy ŭsie niahledžanyja _padzieji" + +#: gajim/application.py:141 +msgid "Open IPython shell" +msgstr "" + +#: gajim/application.py:148 +msgid "Pops up a window with the next pending event" +msgstr "Adčyniaje akno z nastupnym niečytanym paviedamleńniem" + +#: gajim/application.py:154 gajim/data/gui/shortcuts_window.ui:17 +#: data/org.gajim.Gajim.desktop.in:21 +#, fuzzy +msgid "Start a new chat" +msgstr "Pačni razmovu" + +#: gajim/application.py:205 gajim/gui_interface.py:131 +msgid "Database Error" +msgstr "" + +#: gajim/gui_interface.py:168 +#, fuzzy, python-format +msgid "HTTP (%(method)s) Authorization for %(url)s (ID: %(id)s)" +msgstr "Aŭtaryzacyja HTTP (%s) dla %s (id: %s)" + +#: gajim/gui_interface.py:173 +msgid "Do you accept this request?" +msgstr "Prymaješ hety zapyt?" + +#: gajim/gui_interface.py:175 +#, fuzzy, python-format +msgid "Do you accept this request (account: %s)?" +msgstr "Prymaješ hety zapyt?" + +#: gajim/gui_interface.py:181 +#, fuzzy +msgid "Authorization Request" +msgstr "Aŭtaryzacyja dasłanaja" + +#: gajim/gui_interface.py:182 +#, fuzzy +msgid "HTTP Authorization Request" +msgstr "Aŭtaryzacyja dasłanaja" + +#: gajim/gui_interface.py:185 gajim/gui_interface.py:376 +#: gajim/gui_interface.py:2002 gajim/gtk/filetransfer.py:339 +#, fuzzy +msgid "_No" +msgstr "Nijaki" + +#: gajim/gui_interface.py:203 gajim/gtk/notification.py:189 +#: gajim/gtk/notification.py:216 +msgid "Connection Failed" +msgstr "Niemahvyma dałučycca" + +#: gajim/gui_interface.py:299 +#, fuzzy, python-format +msgid "error while sending %(message)s ( %(error)s )" +msgstr "pamyłka dasyłańnia %s ( %s )" + +#: gajim/gui_interface.py:324 gajim/gtk/notification.py:189 +#, fuzzy +msgid "Subscription request" +msgstr "Zapyt aŭtaryzacyi" + +#: gajim/gui_interface.py:359 +msgid "Authorization accepted" +msgstr "Aŭtaryzacyja pryniataja" + +#: gajim/gui_interface.py:360 +#, fuzzy, python-format +msgid "The contact \"%(jid)s\" has authorized you to see their status." +msgstr "" +"Kantakt \"%s\" aŭtaryzavaŭ ciabie, i ciapier ty možaš bačyć jaho status." + +#: gajim/gui_interface.py:370 +#, fuzzy +msgid "Subscription Removed" +msgstr "Zapyt aŭtaryzacyi" + +#: gajim/gui_interface.py:371 +#, fuzzy, python-format +msgid "%(name)s (%(jid)s) has removed subscription from you" +msgstr "Kantakt \"%s\" anulavaŭ tvaju aŭtaryzacyju" + +#: gajim/gui_interface.py:373 +msgid "" +"You will always see this contact as offline.\n" +"Do you want to remove them from your contact list?" +msgstr "" + +#: gajim/gui_interface.py:398 gajim/gtk/notification.py:190 +#, fuzzy +msgid "Unsubscribed" +msgstr "_Anuluj aŭtaryzacyju" + +#: gajim/gui_interface.py:410 +#, python-format +msgid "%(jid)s declined the invitation: %(reason)s" +msgstr "" + +#: gajim/gui_interface.py:414 +#, python-format +msgid "%(jid)s declined the invitation" +msgstr "" + +#: gajim/gui_interface.py:431 gajim/chat_control.py:1606 +#: gajim/gtk/notification.py:188 gajim/gtk/notification.py:214 +#: gajim/gtk/notification.py:286 gajim/gtk/groupchat_invitation.py:33 +#, fuzzy +msgid "Group Chat Invitation" +msgstr "Zaprašeńnie ŭ pakoj" + +#: gajim/gui_interface.py:432 +#, fuzzy, python-format +msgid "%(contact)s invited you to %(chat)s" +msgstr "$Contact zaprasiŭ ciabie ŭ pakoj %(room_jid)s" + +#: gajim/gui_interface.py:453 +#, fuzzy +msgid "Certificate Passphrase Required" +msgstr "Musiš vyznačyć parol" + +#: gajim/gui_interface.py:454 +#, fuzzy, python-format +msgid "Enter the certificate passphrase for account %s" +msgstr "Vyznač parol GPG dla kontu %s." + +#: gajim/gui_interface.py:463 +#, python-format +msgid "Enter your password for account %s" +msgstr "Uviadzi parol dla kontu %s" + +#: gajim/gui_interface.py:475 +msgid "Password Required" +msgstr "Vymahaje parolu" + +#: gajim/gui_interface.py:475 +msgid "Save password" +msgstr "Zachavaj parol" + +#: gajim/gui_interface.py:544 gajim/gui_interface.py:575 +#: gajim/gtk/notification.py:187 gajim/gtk/notification.py:279 +#: gajim/gtk/filetransfer.py:333 gajim/gtk/filetransfer.py:334 +msgid "File Transfer Error" +msgstr "Pamyłka pieradačy fajłu" + +#: gajim/gui_interface.py:609 +#, python-format +msgid "%s wants to send you a file." +msgstr "%s choča dasłać tabie fajł." + +#: gajim/gui_interface.py:611 gajim/gtk/notification.py:186 +#: gajim/gtk/notification.py:276 gajim/gtk/filetransfer.py:485 +msgid "File Transfer Request" +msgstr "Zapyt na pieradaču fajłu" + +#: gajim/gui_interface.py:714 +#, fuzzy +msgid "Remote Contact Stopped Transfer" +msgstr "Vydalaje kantakt sa śpisu" + +#: gajim/gui_interface.py:719 +#, fuzzy +msgid "Error Opening File" +msgstr "Pamyłka adčytańnia fajłu:" + +#: gajim/gui_interface.py:729 +#, fuzzy +msgid "SSL Certificate Error" +msgstr "Niapravilnaje imia karystalnika" + +#: gajim/gui_interface.py:738 gajim/gui_interface.py:768 +#: gajim/gui_interface.py:794 gajim/chat_control.py:1573 +#: gajim/gtk/notification.py:187 gajim/gtk/notification.py:282 +msgid "File Transfer Completed" +msgstr "Pieradača fajłu skončana" + +#: gajim/gui_interface.py:742 gajim/gui_interface.py:773 +#: gajim/gui_interface.py:800 gajim/gtk/notification.py:188 +#: gajim/gtk/notification.py:283 +msgid "File Transfer Stopped" +msgstr "Pieradača fajłu spyniena" + +#: gajim/gui_interface.py:746 +#, fuzzy +msgid "File Transfer Failed" +msgstr "Pieradačy fajłaŭ" + +#: gajim/gui_interface.py:769 +#, fuzzy, python-format +msgid "%(filename)s received from %(name)s." +msgstr "Pieradača fajłu %(filename)s ad %(name)s spyniena." + +#: gajim/gui_interface.py:774 +#, python-format +msgid "File transfer of %(filename)s from %(name)s stopped." +msgstr "Pieradača fajłu %(filename)s ad %(name)s spyniena." + +#: gajim/gui_interface.py:780 +#, fuzzy, python-format +msgid "File transfer of %(filename)s from %(name)s failed." +msgstr "Pieradača fajłu %(filename)s ad %(name)s spyniena." + +#: gajim/gui_interface.py:795 +#, python-format +msgid "You successfully sent %(filename)s to %(name)s." +msgstr "Fajł %(filename)s paśpiachova dasłany da %(name)s." + +#: gajim/gui_interface.py:801 +#, python-format +msgid "File transfer of %(filename)s to %(name)s stopped." +msgstr "Pieradača fajłu %(filename)s da %(name)s spynienaja." + +#: gajim/gui_interface.py:807 +#, fuzzy, python-format +msgid "File transfer of %(filename)s to %(name)s failed." +msgstr "Pieradača fajłu %(filename)s da %(name)s spynienaja." + +#: gajim/gui_interface.py:919 gajim/gui_interface.py:920 +msgid "Username Conflict" +msgstr "Kanflikt imionaŭ karystalnikaŭ" + +#: gajim/gui_interface.py:921 +#, fuzzy +msgid "Please enter a new username for your local account" +msgstr "Kali łaska, akreśli novaje imia karystalnika dla lakalnaha kontu" + +#: gajim/gui_interface.py:925 gajim/gtk/dialogs.py:51 +#: gajim/data/gui/passphrase_dialog.ui:44 +msgid "_OK" +msgstr "_Tak" + +#: gajim/gui_interface.py:988 gajim/chat_control.py:763 +#: gajim/chat_control.py:1660 gajim/gtk/notification.py:190 +#, fuzzy +msgid "Incoming Call" +msgstr "Niapravilnaje imia karystalnika" + +#: gajim/gui_interface.py:990 +#, python-format +msgid "%s is calling" +msgstr "" + +#: gajim/gui_interface.py:1071 gajim/gui_interface.py:1072 +#, fuzzy +msgid "Insecure Connection" +msgstr "Złučeńnie" + +#: gajim/gui_interface.py:1073 +#, fuzzy, python-format +msgid "" +"You are about to connect to the account %(account)s (%(server)s) using an " +"insecure connection method. This means conversations will not be encrypted. " +"Connecting PLAIN is strongly discouraged." +msgstr "Stvarajecca metakantakt. Ty sapraŭdy chočaš praciahnuć?" + +#: gajim/gui_interface.py:1080 gajim/data/gui/groupchat_control.ui:595 +msgid "_Abort" +msgstr "" + +#: gajim/gui_interface.py:1083 +#, fuzzy +msgid "_Connect Anyway" +msgstr "Dałučajusia" + +#: gajim/gui_interface.py:1921 +msgid "Gajim: IPython Console" +msgstr "" + +#: gajim/gui_interface.py:1998 +msgid "Update Check" +msgstr "" + +#: gajim/gui_interface.py:1999 +msgid "Gajim Update Check" +msgstr "" + +#: gajim/gui_interface.py:2000 +msgid "Search for Gajim updates periodically?" +msgstr "" + +#: gajim/gui_interface.py:2005 +msgid "_Search Periodically" +msgstr "" + +#: gajim/gui_interface.py:2045 +#, fuzzy +msgid "Update Available" +msgstr "Niedastupny" + +#: gajim/gui_interface.py:2046 +#, fuzzy +msgid "Gajim Update Available" +msgstr "Niedastupny" + +#: gajim/gui_interface.py:2047 +#, python-format +msgid "There is an update available for Gajim (latest version: %s)" +msgstr "" + +#: gajim/gui_interface.py:2049 +#, fuzzy +msgid "_Do not show again" +msgstr "_Bolš nie pytajsia" + +#: gajim/gui_interface.py:2051 gajim/gtk/accounts.py:126 +msgid "_Later" +msgstr "" + +#: gajim/gui_interface.py:2054 +msgid "_Update Now" +msgstr "" + +#: gajim/gui_menu_builder.py:358 +#, fuzzy +msgid "I would like to add you to my contact list" +msgstr "Ja chaču dadać Vas u svoj śpis kantaktaŭ." + +#: gajim/gui_menu_builder.py:435 +#, fuzzy +msgid "Send Single _Message…" +msgstr "Vyšli _asobnaje paviedamleńnie" + +#: gajim/gui_menu_builder.py:450 +#, fuzzy +msgid "E_xecute Command…" +msgstr "_Vykanaj zahad..." + +#: gajim/gui_menu_builder.py:458 +#, fuzzy +msgid "_Manage Transport" +msgstr "Transparty" + +#: gajim/gui_menu_builder.py:464 +#, fuzzy +msgid "_Modify Transport" +msgstr "Pakažy _transparty" + +#: gajim/gui_menu_builder.py:503 gajim/data/gui/contact_context_menu.ui:198 +#, fuzzy +msgid "_Information" +msgstr "Źviestki ab kantakcie" + +#: gajim/gui_menu_builder.py:516 +#, fuzzy +msgid "Send File" +msgstr "Vyšli _fajł" + +#: gajim/gui_menu_builder.py:517 +#, fuzzy +msgid "Upload File…" +msgstr "Zapišy fajł jak..." + +#: gajim/gui_menu_builder.py:518 +#, fuzzy +msgid "Send File Directly…" +msgstr "Zapišy fajł jak..." + +#: gajim/gui_menu_builder.py:520 gajim/gtk/accounts.py:734 +#, fuzzy +msgid "Send Read Markers" +msgstr "Dasyłaj pravieračnyja infarmacyjnyja pakiety" + +#: gajim/gui_menu_builder.py:521 gajim/gtk/accounts.py:710 +#, fuzzy +msgid "Send Chatstate" +msgstr "Apošni status: %s" + +#: gajim/gui_menu_builder.py:522 gajim/data/gui/groupchat_control.ui:307 +#, fuzzy +msgid "Invite Contacts…" +msgstr "Kantakty" + +#: gajim/gui_menu_builder.py:523 gajim/gui_menu_builder.py:741 +#: gajim/gui_menu_builder.py:768 gajim/gui_menu_builder.py:807 +#, fuzzy +msgid "Add to Contact List…" +msgstr "_Dadaj kantakt..." + +#: gajim/gui_menu_builder.py:524 +#, fuzzy +msgid "Block Contact…" +msgstr "Kantakty" + +#: gajim/gui_menu_builder.py:525 gajim/data/gui/chat_control.ui:936 +#, fuzzy +msgid "Start Call…" +msgstr "Pačni razmovu" + +#: gajim/gui_menu_builder.py:526 gajim/gui_menu_builder.py:576 +#: gajim/gui_menu_builder.py:802 gajim/data/gui/groupchat_control.ui:1334 +#, fuzzy +msgid "Information" +msgstr "Źviestki ab kantakcie" + +#: gajim/gui_menu_builder.py:527 gajim/gui_menu_builder.py:588 +#, fuzzy +msgid "History" +msgstr "_Žurnał razmoŭ" + +#: gajim/gui_menu_builder.py:533 gajim/gui_menu_builder.py:710 +#: gajim/gtk/preferences.py:671 gajim/gtk/groupchat_settings.py:36 +#: gajim/gtk/accounts.py:682 +msgid "Disabled" +msgstr "Adklučana" + +#: gajim/gui_menu_builder.py:534 gajim/gtk/groupchat_settings.py:37 +#: gajim/gtk/accounts.py:681 +#, fuzzy +msgid "Composing Only" +msgstr "Uvod paviedamleńnia" + +#: gajim/gui_menu_builder.py:535 gajim/gtk/groupchat_settings.py:38 +#, fuzzy +msgid "All Chat States" +msgstr "Usie statusy" + +#: gajim/gui_menu_builder.py:577 +#, fuzzy +msgid "Settings…" +msgstr "Niemahvyma dałučycca" + +#: gajim/gui_menu_builder.py:578 +#, fuzzy +msgid "Manage Group Chat" +msgstr "Pakiń pakoji" + +#: gajim/gui_menu_builder.py:579 +#, fuzzy +msgid "Rename…" +msgstr "Źmiani _nazvu" + +#: gajim/gui_menu_builder.py:580 +#, fuzzy +msgid "Change Subject…" +msgstr "Źmiani _temu" + +#: gajim/gui_menu_builder.py:581 +#, fuzzy +msgid "Upload Avatar…" +msgstr "Abiary vyjavu" + +#: gajim/gui_menu_builder.py:582 +#, fuzzy +msgid "Configure…" +msgstr "_Praciahni" + +#: gajim/gui_menu_builder.py:583 +#, fuzzy +msgid "Destroy…" +msgstr "Apisańnie: %s" + +#: gajim/gui_menu_builder.py:585 +#, fuzzy +msgid "Change Nickname…" +msgstr "Źmiani _mianušku" + +#: gajim/gui_menu_builder.py:586 +#, fuzzy +msgid "Request Voice" +msgstr "_Daj hołas" + +#: gajim/gui_menu_builder.py:587 gajim/gui_menu_builder.py:825 +#, fuzzy +msgid "Execute Command…" +msgstr "_Vykanaj zahad..." + +#: gajim/gui_menu_builder.py:589 +msgid "Leave" +msgstr "" + +#: gajim/gui_menu_builder.py:631 +#, fuzzy +msgid "Add Contact…" +msgstr "_Dadaj kantakt..." + +#: gajim/gui_menu_builder.py:632 gajim/gtk/accounts.py:861 +#: gajim/gtk/accounts.py:899 gajim/gtk/profile.py:53 +#, fuzzy +msgid "Profile" +msgstr "fajł" + +#: gajim/gui_menu_builder.py:633 +#, fuzzy +msgid "Send Single Message…" +msgstr "Vyšli _asobnaje paviedamleńnie" + +#: gajim/gui_menu_builder.py:634 +#, fuzzy +msgid "Discover Services…" +msgstr "_Šukaj servisy" + +#: gajim/gui_menu_builder.py:635 gajim/gtk/server_info.py:47 +#, fuzzy +msgid "Server Info" +msgstr "Server" + +#: gajim/gui_menu_builder.py:636 gajim/gtk/accounts.py:312 +#: gajim/data/gui/preferences.ui:853 +msgid "Advanced" +msgstr "Pašyranyja" + +#: gajim/gui_menu_builder.py:637 gajim/gtk/mam_preferences.py:100 +#, fuzzy +msgid "Archiving Preferences" +msgstr "_Nałady" + +#: gajim/gui_menu_builder.py:638 +#, fuzzy +msgid "Blocking List" +msgstr "Śpis zablakavanych kantaktaŭ" + +#: gajim/gui_menu_builder.py:639 +#, fuzzy +msgid "Bookmarks" +msgstr "_Stvary zakładku dla hetaja pakoju" + +#: gajim/gui_menu_builder.py:640 +#, fuzzy +msgid "PEP Configuration" +msgstr "Kanfihuracyja pakoju" + +#: gajim/gui_menu_builder.py:641 +#, fuzzy +msgid "Synchronise History…" +msgstr "Pakažy _adłučanyja kantakty" + +#: gajim/gui_menu_builder.py:643 gajim/gtk/server_info.py:141 +#: gajim/data/gui/groupchat_config.ui:36 +#, fuzzy +msgid "Admin" +msgstr "_Administratar" + +#: gajim/gui_menu_builder.py:644 +#, fuzzy +msgid "Send Server Message…" +msgstr "_Dašli paviedamleńnie servera" + +#: gajim/gui_menu_builder.py:645 +#, fuzzy +msgid "Set MOTD…" +msgstr "Vyznač MOTD" + +#: gajim/gui_menu_builder.py:646 +#, fuzzy +msgid "Update MOTD…" +msgstr "Aktualizuj MOTD" + +#: gajim/gui_menu_builder.py:647 +#, fuzzy +msgid "Delete MOTD…" +msgstr "Vydal MOTD" + +#: gajim/gui_menu_builder.py:684 +#, fuzzy +msgid "_Add Account…" +msgstr "_Dadaj kantakt..." + +#: gajim/gui_menu_builder.py:690 +#, fuzzy +msgid "_Modify Accounts…" +msgstr "Madyfikuj kont" + +#: gajim/gui_menu_builder.py:700 gajim/data/gui/account_context_menu.ui:79 +#: gajim/data/gui/zeroconf_context_menu.ui:26 +#, fuzzy +msgid "_Modify Account…" +msgstr "Madyfikuj kont" + +#: gajim/gui_menu_builder.py:704 gajim/gtk/accounts.py:51 +msgid "Accounts" +msgstr "Konty" + +#: gajim/gui_menu_builder.py:734 gajim/gui_menu_builder.py:739 +#, fuzzy +msgid "Copy XMPP Address" +msgstr "S_kapijuj JID/Email" + +#: gajim/gui_menu_builder.py:735 gajim/gui_menu_builder.py:767 +#, fuzzy +msgid "Join Groupchat" +msgstr "Dałučysia da pakoju" + +#: gajim/gui_menu_builder.py:740 gajim/gui_menu_builder.py:766 +#: gajim/gtk/start_chat.py:636 +#: gajim/data/gui/subscription_request_window.ui:149 +msgid "Start Chat" +msgstr "Pačni razmovu" + +#: gajim/gui_menu_builder.py:746 +#, fuzzy +msgid "Copy Link Location" +msgstr "S_kapijuj adras spasyłki" + +#: gajim/gui_menu_builder.py:747 +#, fuzzy +msgid "Open Link in Browser" +msgstr "_Adčyni spasyłku ŭ hartačy" + +#: gajim/gui_menu_builder.py:752 +#, fuzzy +msgid "Copy Email Address" +msgstr "S_kapijuj JID/Email" + +#: gajim/gui_menu_builder.py:753 gajim/gui_menu_builder.py:765 +#, fuzzy +msgid "Open Email Composer" +msgstr "_Adčyni paštovuju prahramu" + +#: gajim/gui_menu_builder.py:758 +#, fuzzy +msgid "Copy Location" +msgstr "S_kapijuj adras spasyłki" + +#: gajim/gui_menu_builder.py:759 gajim/gtk/preferences.py:291 +#, fuzzy +msgid "Show Location" +msgstr "Madyfikacyja kontu" + +#: gajim/gui_menu_builder.py:764 +#, fuzzy +msgid "Copy XMPP Address/Email" +msgstr "S_kapijuj JID/Email" + +#: gajim/gui_menu_builder.py:816 +#, fuzzy +msgid "Invite" +msgstr "_Zaprasi" + +#: gajim/gui_menu_builder.py:832 +#, fuzzy +msgid "Kick" +msgstr "_Vypchni" + +#: gajim/gui_menu_builder.py:840 +#, fuzzy +msgid "Ban" +msgstr "Za_blakuj" + +#: gajim/gui_menu_builder.py:850 +#, fuzzy +msgid "Make Owner" +msgstr "Ułaśnik" + +#: gajim/gui_menu_builder.py:859 +#, fuzzy +msgid "Make Admin" +msgstr "_Administratar" + +#: gajim/gui_menu_builder.py:868 +#, fuzzy +msgid "Make Member" +msgstr "Udzielnik" + +#: gajim/gui_menu_builder.py:877 +#, fuzzy +msgid "Revoke Member" +msgstr "Udzielnik" + +#: gajim/gui_menu_builder.py:887 +msgid "Grant Voice" +msgstr "" + +#: gajim/gui_menu_builder.py:890 +#, fuzzy +msgid "Revoke Voice" +msgstr "_Daj hołas" + +#: gajim/gui_menu_builder.py:910 +#, fuzzy +msgid "Copy" +msgstr "Pakoj:" + +#: gajim/chat_control.py:346 gajim/groupchat_control.py:348 +#, fuzzy +msgid "Send File…" +msgstr "Vyšli _fajł" + +#: gajim/chat_control.py:348 gajim/groupchat_control.py:354 +#, fuzzy +msgid "No File Transfer available" +msgstr "Pieradačy fajłaŭ" + +#: gajim/chat_control.py:479 +#, fuzzy +msgid "Show a list of formattings" +msgstr "Klikni, kab ustavić smajlik (Alt+M)" + +#: gajim/chat_control.py:483 +#, fuzzy +msgid "This contact does not support HTML" +msgstr "Śpis dziejnych, skončanych i spynienych pieradačaŭ fajłaŭ" + +#: gajim/chat_control.py:684 +msgid "Ping?" +msgstr "" + +#: gajim/chat_control.py:687 +#, python-format +msgid "Pong! (%s seconds)" +msgstr "" + +#: gajim/chat_control.py:758 +#, fuzzy +msgid "Calling…" +msgstr "Blakavańnie..." + +#: gajim/chat_control.py:783 gajim/chat_control.py:870 +#, fuzzy +msgid "Connection Error" +msgstr "Złučeńnie" + +#: gajim/chat_control.py:811 gajim/data/gui/chat_control.ui:1185 +msgid "Turn Camera on" +msgstr "" + +#: gajim/chat_control.py:822 +msgid "Calling (Video)…" +msgstr "" + +#: gajim/chat_control.py:826 gajim/chat_control.py:834 +#: gajim/chat_control.py:864 +msgid "Turn Camera off" +msgstr "" + +#: gajim/chat_control.py:832 +msgid "Incoming Call (Video)" +msgstr "" + +#: gajim/chat_control.py:1020 +#, python-format +msgid "%(nickname)s from group chat %(room_name)s" +msgstr "%(nickname)s z pakoju %(room_name)s" + +#: gajim/chat_control.py:1257 +msgid "Note: Chat history is disabled for this contact." +msgstr "" + +#: gajim/chat_control.py:1259 +msgid "Note: Chat history is disabled for this account." +msgstr "" + +#: gajim/chat_control.py:1260 +#, fuzzy, python-format +msgid "" +"You just received a new message from %s.\n" +"Do you want to close this tab?" +msgstr "Tolki što atrymanaje paviedamleńnie ad \"%s\"" + +#: gajim/chat_control.py:1266 gajim/gtk/remove_account.py:43 +#: gajim/gtk/change_password.py:44 +#, fuzzy +msgid "Close" +msgstr "_Dašli i začyni" + +#: gajim/chat_control.py:1267 gajim/gtk/notification.py:184 +#: gajim/gtk/notification.py:204 gajim/gtk/notification.py:218 +#: gajim/gtk/notification.py:271 gajim/common/connection_handlers_events.py:237 +msgid "New Message" +msgstr "Novaje paviedamleńnie" + +#: gajim/chat_control.py:1272 gajim/chat_control.py:1579 +#: gajim/chat_control.py:1588 gajim/message_window.py:371 +#: gajim/data/gui/groupchat_control.ui:1117 +#: gajim/data/gui/groupchat_control.ui:1203 +#: gajim/data/gui/groupchat_control.ui:1308 +#: gajim/data/gui/groupchat_control.ui:1997 +#, fuzzy +msgid "_Close" +msgstr "_Dašli i začyni" + +#: gajim/chat_control.py:1359 +#, fuzzy, python-format +msgid "" +"Subject: %(subject)s\n" +"%(message)s" +msgstr "" +"Tema: %s\n" +"%s" + +#: gajim/chat_control.py:1480 +#, fuzzy, python-format +msgid "%(name)s is now %(show)s %(status)s" +msgstr "%(nick)s maje ciapier status %(status)s" + +#: gajim/chat_control.py:1545 +#, fuzzy +msgid "Size" +msgstr "Pamier: %s" + +#: gajim/chat_control.py:1547 gajim/chat_control.py:1609 +#: gajim/gtk/groupchat_invitation.py:67 +#, fuzzy +msgid "_Decline" +msgstr "Adł_učany" + +#: gajim/chat_control.py:1550 gajim/chat_control.py:1611 +#: gajim/chat_control.py:1668 gajim/gtk/dialogs.py:59 +#, fuzzy +msgid "_Accept" +msgstr "Dazvol" + +#: gajim/chat_control.py:1577 gajim/gtk/filetransfer.py:259 +#, fuzzy +msgid "Open _Folder" +msgstr "_Adčyni kataloh z fajłam" + +#: gajim/chat_control.py:1662 +#, fuzzy +msgid "" +"\n" +"Video Call" +msgstr "Прыватная размова" + +#: gajim/chat_control.py:1664 +#, fuzzy +msgid "" +"\n" +"Voice Call" +msgstr "Zapyt na pieradaču fajłu" + +#: gajim/chat_control.py:1666 +#, fuzzy +msgid "_Reject" +msgstr "Vydal" + +#: gajim/chat_control.py:1692 gajim/gtk/filetransfer.py:297 +#, fuzzy +msgid "File transfer stopped" +msgstr "Pieradača fajłu spyniena" + +#: gajim/chat_control.py:1697 gajim/gtk/filetransfer.py:275 +#: gajim/gtk/filetransfer.py:284 +msgid "File transfer cancelled" +msgstr "Pieradača fajłu anulavana" + +#: gajim/chat_control.py:1698 +msgid "Connection with peer cannot be established." +msgstr "NIemahčyma złučycca ź inšym bokam." + +#: gajim/chat_control_base.py:141 gajim/gtk/start_chat.py:649 +#: gajim/gtk/groupchat_invite.py:318 +#, fuzzy, python-format +msgid "Account: %s" +msgstr "Konty" + +#: gajim/chat_control_base.py:592 +#, fuzzy +msgid "and authenticated" +msgstr "Užyvaj aŭtaryzacyju" + +#: gajim/chat_control_base.py:596 +#, fuzzy +msgid "and NOT authenticated" +msgstr "Užyvaj aŭtaryzacyju" + +#: gajim/chat_control_base.py:600 +#, python-format +msgid "%(type)s encryption is active %(authenticated)s." +msgstr "" + +#: gajim/chat_control_base.py:715 +msgid "_Undo" +msgstr "" + +#: gajim/chat_control_base.py:723 gajim/conversation_textview.py:417 +msgid "_Clear" +msgstr "" + +#: gajim/chat_control_base.py:728 +msgid "Paste as quote" +msgstr "" + +#: gajim/chat_control_base.py:767 +#, fuzzy +msgid "Paste Image" +msgstr "Abiary vyjavu" + +#: gajim/chat_control_base.py:768 +#, fuzzy +msgid "You are trying to paste an image" +msgstr "Niama złučeńnia z serveram" + +#: gajim/chat_control_base.py:769 +#, fuzzy +msgid "" +"Are you sure you want to paste your clipboard's image into the chat window?" +msgstr "Ty sapraŭdy chočaš pakinuć pakoj \"%s\"?" + +#: gajim/chat_control_base.py:775 +msgid "_Paste" +msgstr "" + +#: gajim/chat_control_base.py:1361 gajim/gtk/accounts.py:310 +#: gajim/data/gui/profile.ui:17 gajim/data/gui/profile.ui:318 +#, fuzzy +msgid "Privacy" +msgstr "Śpis pryvatnaści" + +#: gajim/chat_control_base.py:1362 +#, fuzzy +msgid "Warning" +msgstr "Blakavańnie %s" + +#: gajim/chat_control_base.py:1363 +#, python-format +msgid "" +"If you send a file to %s, your real XMPP address will be revealed." +msgstr "" + +#: gajim/chat_control_base.py:1368 +msgid "_Continue" +msgstr "_Praciahni" + +#: gajim/gajim_remote.py:55 gajim/common/exceptions.py:70 +msgid "D-Bus is not present on this machine or python module is missing" +msgstr "D-Busu niama na hetym kamputary, albo nie staje modula Python" + +#: gajim/gajim_remote.py:77 +msgid "Shows a help on specific command" +msgstr "Pakazvaje daviedku pa akreślenym zahadzie" + +#: gajim/gajim_remote.py:80 +msgid "command" +msgstr "zahad" + +#: gajim/gajim_remote.py:81 +msgid "show help on command" +msgstr "pakažy daviedku pa zahadzie" + +#: gajim/gajim_remote.py:85 +#, fuzzy +msgid "Lists all contacts in the contact list, one for each line" +msgstr "" +"Pakazvaje śpis usich kantaktaŭ sa śpisu kantaktaŭ. Źviestki ab kožnym " +"kantakcie źjaŭlajucca na novym radku" + +#: gajim/gajim_remote.py:87 gajim/gajim_remote.py:102 gajim/gajim_remote.py:112 +#: gajim/gajim_remote.py:122 gajim/gajim_remote.py:133 +#: gajim/gajim_remote.py:142 gajim/gajim_remote.py:163 +#: gajim/gajim_remote.py:171 gajim/gajim_remote.py:180 +#: gajim/gajim_remote.py:187 +#, fuzzy +msgid "?CLI:account" +msgstr "kont" + +#: gajim/gajim_remote.py:87 +msgid "show only contacts of the given account" +msgstr "pakažy kantakty akreślenaha kontu" + +#: gajim/gajim_remote.py:93 +msgid "Prints a list of registered accounts" +msgstr "Pakazvaje śpis zarehistravanych kontaŭ" + +#: gajim/gajim_remote.py:97 +#, fuzzy +msgid "Changes the status of account(s)" +msgstr "Źmianiaje status kontu albo kontaŭ" + +#: gajim/gajim_remote.py:100 +#, fuzzy +msgid "?CLI:status" +msgstr "status" + +#: gajim/gajim_remote.py:100 +#, fuzzy +msgid "" +"one of: offline, online, chat, away, xa, dnd. If not set, use account's " +"previous status" +msgstr "adno z: offline, online, chat, away, xa, dnd, invisible " + +#: gajim/gajim_remote.py:101 gajim/gajim_remote.py:121 +#: gajim/gajim_remote.py:132 gajim/gajim_remote.py:141 +#, fuzzy +msgid "?CLI:message" +msgstr "paviedamleńnie" + +#: gajim/gajim_remote.py:101 +msgid "status message" +msgstr "paviedamlennie statusu" + +#: gajim/gajim_remote.py:102 +msgid "" +"change status of account \"account\". If not specified, try to change status " +"of all accounts that have \"sync with global status\" option set" +msgstr "" +"źmiani status kontu \"kont\". Kali nie akreślena, pasprabuj źmianić statusy " +"dla ŭsich kontaŭ, dla jakich vystaŭlenaja opcyja \"Synchranizuj z hlabalnym " +"statusam\"" + +#: gajim/gajim_remote.py:108 +#, fuzzy +msgid "Changes the priority of account(s)" +msgstr "Źmianiaje status kontu albo kontaŭ" + +#: gajim/gajim_remote.py:110 +#, fuzzy +msgid "?CLI:priority" +msgstr "Pryjary_tet:" + +#: gajim/gajim_remote.py:110 +#, fuzzy +msgid "priority you want to give to the account" +msgstr "Ja chaču za_rehistravać novy kont" + +#: gajim/gajim_remote.py:112 +#, fuzzy +msgid "" +"change the priority of the given account. If not specified, change status of " +"all accounts that have \"sync with global status\" option set" +msgstr "" +"źmiani status kontu \"kont\". Kali nie akreślena, pasprabuj źmianić statusy " +"dla ŭsich kontaŭ, dla jakich vystaŭlenaja opcyja \"Synchranizuj z hlabalnym " +"statusam\"" + +#: gajim/gajim_remote.py:118 +#, fuzzy +msgid "" +"Sends new chat message to a contact in the contact list. Account is optional." +msgstr "Užyvańnie: /%s, chavaje knopki razmovy." + +#: gajim/gajim_remote.py:120 gajim/gajim_remote.py:130 +#, fuzzy +msgid "XMPP Address of the contact that will receive the message" +msgstr "JID kantaktu, jaki atrymaje paviedamleńnie" + +#: gajim/gajim_remote.py:121 gajim/gajim_remote.py:132 +#: gajim/gajim_remote.py:141 +msgid "message contents" +msgstr "źmiest paviedamleńnia" + +#: gajim/gajim_remote.py:122 gajim/gajim_remote.py:133 +#: gajim/gajim_remote.py:142 +msgid "if specified, the message will be sent using this account" +msgstr "Kali akreślena, paviedamleńnie budzie dasłanaje z hetaha kontu" + +#: gajim/gajim_remote.py:127 +#, fuzzy +msgid "" +"Sends a chat message to someone on your contact list. Account is optional." +msgstr "Užyvańnie: /%s, chavaje knopki razmovy." + +#: gajim/gajim_remote.py:131 +msgid "subject" +msgstr "tema" + +#: gajim/gajim_remote.py:131 +msgid "message subject" +msgstr "tema paviedamleńnia" + +#: gajim/gajim_remote.py:138 +msgid "Sends new message to a group chat you've joined." +msgstr "" + +#: gajim/gajim_remote.py:140 +#, fuzzy +msgid "XMPP Address of the group chat that will receive the message" +msgstr "JID kantaktu, jaki atrymaje paviedamleńnie" + +#: gajim/gajim_remote.py:147 +msgid "Gets detailed info on a contact" +msgstr "Atrymvaje padrabiaznyja źviestki ab kantakcie" + +#: gajim/gajim_remote.py:149 gajim/gajim_remote.py:162 +#: gajim/gajim_remote.py:170 +#, fuzzy +msgid "XMPP Address of the contact" +msgstr "JID kantaktu" + +#: gajim/gajim_remote.py:153 +msgid "Gets detailed info on a account" +msgstr "Atrymvaje padrabiaznyja źviestki ab kantakcie" + +#: gajim/gajim_remote.py:155 +msgid "Name of the account" +msgstr "Nazva kontu" + +#: gajim/gajim_remote.py:159 +msgid "Sends file to a contact" +msgstr "Dasyłaje kantaktu fajł" + +#: gajim/gajim_remote.py:161 +msgid "file" +msgstr "fajł" + +#: gajim/gajim_remote.py:161 +msgid "File path" +msgstr "Ściežka da fajłu" + +#: gajim/gajim_remote.py:163 +msgid "if specified, file will be sent using this account" +msgstr "Kali akreślena, fajł budzie dasłany z hetaha kontu" + +#: gajim/gajim_remote.py:168 +#, fuzzy +msgid "Removes contact from contact list" +msgstr "Vydalaje kantakt sa śpisu" + +#: gajim/gajim_remote.py:171 +msgid "if specified, contact is taken from the contact list of this account" +msgstr "Kali akreślena, kantakt biarecca sa śpisu kantaktaŭ hetaha kontu" + +#: gajim/gajim_remote.py:178 +msgid "Returns current status (the global one unless account is specified)" +msgstr "Viartaje dziejny status (hlabalny, kali nie akreśleny kont)" + +#: gajim/gajim_remote.py:185 +msgid "" +"Returns current status message (the global one unless account is specified)" +msgstr "" +"Viartaje dziejnaje paviedamleńnie statusu (hlabalnaha, kali nie akreśleny " +"kont)" + +#: gajim/gajim_remote.py:192 +msgid "Returns number of unread messages" +msgstr "Viartaje kolkaść niečytanych paviedamleńniaŭ" + +#: gajim/gajim_remote.py:197 +msgid "Sends custom XML" +msgstr "Dasyłaje svoj XML" + +#: gajim/gajim_remote.py:199 +msgid "XML to send" +msgstr "XML dla dasyłańnia" + +#: gajim/gajim_remote.py:200 +#, fuzzy +msgid "" +"Account to which the XML will be sent; if not specified, XML will be sent to " +"all accounts" +msgstr "" +"Kont, na jaki budzie dasłany XML; kali kont nie akreśleny, XML budzie " +"dasłany na ŭsie konty" + +#: gajim/gajim_remote.py:207 +#, fuzzy +msgid "Check if Gajim is running" +msgstr "Kali łaska, pravier, ci pracuje avahi-daemon." + +#: gajim/gajim_remote.py:233 +msgid "Missing argument \"contact_jid\"" +msgstr "Nie staje arhumenta \"contact_jid\"" + +#: gajim/gajim_remote.py:253 +#, fuzzy, python-format +msgid "" +"'%s' is not in your contact list.\n" +"Please specify account for sending the message." +msgstr "" +"'%s' niama ŭ tvajim śpisie kantaktaŭ.\n" +"Kali łaska, akreśli kont dla dasyłańnia paviedamleńnia." + +#: gajim/gajim_remote.py:256 +msgid "You have no active account" +msgstr "Nivodny kont nia dziejny" + +#: gajim/gajim_remote.py:304 +msgid "It seems Gajim is not running. So you can't use gajim-remote." +msgstr "" + +#: gajim/gajim_remote.py:331 +#, python-format +msgid "" +"Usage: %(basename)s %(command)s %(arguments)s \n" +"\t %(help)s" +msgstr "" + +#: gajim/gajim_remote.py:335 +msgid "Arguments:" +msgstr "Arhumenty:" + +#: gajim/gajim_remote.py:339 +#, python-format +msgid "%s not found" +msgstr "%s nia znojdzieny" + +#: gajim/gajim_remote.py:345 +#, fuzzy, python-format +msgid "" +"Usage:\n" +" %s command [arguments]\n" +"\n" +"Command is one of:\n" +msgstr "" +"Užyvańnie: %s zahad [arhumenty]\n" +"Zahadam moža być adzin z nastupnych vyrazaŭ:\n" + +#: gajim/gajim_remote.py:415 +#, fuzzy, python-format +msgid "" +"Too many arguments. \n" +"Type \"%(basename)s help %(command)s\" for more info" +msgstr "" +"Nadta šmat arhumentaŭ. \n" +"Vykanaj \"%s help %s\" dla padrabiaźniejšych źviestak" + +#: gajim/gajim_remote.py:420 +#, fuzzy, python-format +msgid "" +"Argument \"%(arg)s\" is not specified. \n" +"Type \"%(basename)s help %(command)s\" for more info" +msgstr "" +"Arhument \"%s\" nie akreśleny. \n" +"Vykanaj \"%s help %s\" dla padrabiaźniejšych źviestak" + +#: gajim/dialogs.py:70 +#, python-format +msgid "Contact name: %s" +msgstr "Nazva kantaktu: %s" + +#: gajim/dialogs.py:72 +#, python-format +msgid "XMPP Address: %s" +msgstr "" + +#: gajim/dialogs.py:189 +msgid "Group" +msgstr "Hrupa" + +#: gajim/dialogs.py:196 +msgid "In the group" +msgstr "U hrupie" + +#: gajim/dialogs.py:211 gajim/gtk/discovery.py:522 +msgid "You are not connected to the server" +msgstr "Niama złučeńnia z serveram" + +#: gajim/dialogs.py:212 +#, fuzzy +msgid "Without a connection, you can not synchronise your contacts." +msgstr "Niemahčyma źmianić parol, nie dałučyŭšysia da servera." + +#: gajim/dialogs.py:223 gajim/dialogs.py:294 +#: gajim/gtk/roster_item_exchange.py:83 gajim/gtk/discovery.py:826 +#: gajim/gtk/discovery.py:1650 gajim/gtk/discovery.py:1896 +#: gajim/gtk/history.py:99 gajim/gtk/vcard_grid.py:34 +#: gajim/data/gui/bookmarks.ui:66 +msgid "Name" +msgstr "Nazva" + +#: gajim/dialogs.py:226 gajim/data/gui/preferences.ui:604 +#: gajim/data/gui/server_info.ui:146 +msgid "Server" +msgstr "Server" + +#: gajim/dialogs.py:262 +#, fuzzy +msgid "This account is not connected to the server" +msgstr "Kont \"%s\" dałučany da servera" + +#: gajim/dialogs.py:263 +#, fuzzy +msgid "You cannot synchronize with an account unless it is connected." +msgstr "" +"Niemahčyma ŭdzielničać u hrupavoj razmovie, nie dałučyŭšysia da servera." + +#: gajim/dialogs.py:292 +msgid "Synchronise" +msgstr "" + +#: gajim/vcard.py:284 +msgid "?Client:Unknown" +msgstr "?Klijent:Nieviadomy" + +#: gajim/vcard.py:289 +msgid "?OS:Unknown" +msgstr "?AS:Nieviadomaja" + +#: gajim/vcard.py:319 gajim/vcard.py:322 +#, fuzzy +msgid "?Time:Unknown" +msgstr "?Klijent:Nieviadomy" + +#: gajim/vcard.py:373 +msgid "?Role in Group Chat:Role:" +msgstr "" + +#: gajim/vcard.py:377 +#, fuzzy +msgid "Affiliation:" +msgstr "Aplikacyi" + +#: gajim/vcard.py:384 +#, fuzzy +msgid "" +"This contact is interested in your presence information, but you are not " +"interested in their presence" +msgstr "" +"Hety kantakt cikavicca tvajim statusam, ale ciabie jahony status nie cikavić" + +#: gajim/vcard.py:386 +#, fuzzy +msgid "" +"You are interested in the contact's presence information, but it is not " +"mutual" +msgstr "" +"Ty cikaviśsia statusam hetaha kantaktu, ale jaho nie cikavić tvoj status" + +#: gajim/vcard.py:388 +#, fuzzy +msgid "The contact and you want to exchange presence information" +msgstr "Ty i hety kantakt uzajemna cikaviciesia statusam adno adnaho" + +#: gajim/vcard.py:390 +#, fuzzy +msgid "" +"You and the contact have a mutual disinterest in each-others presence " +"information" +msgstr "Ty i hety kantakt uzajemna cikaviciesia statusam adno adnaho" + +#: gajim/vcard.py:396 +msgid "You are waiting contact's answer about your subscription request" +msgstr "Ty čakaješ adkazu kantaktu na zapyt aŭtaryzacyi" + +#: gajim/vcard.py:398 +msgid "There is no pending subscription request." +msgstr "" + +#: gajim/vcard.py:403 gajim/vcard.py:453 gajim/vcard.py:549 +msgid " resource with priority " +msgstr " krynica z pryjarytetam " + +#: gajim/conversation_textview.py:65 +#, fuzzy +msgid "Untrusted" +msgstr "Abiary svoj kluč OpenPGP" + +#: gajim/conversation_textview.py:68 +msgid "Trust Not Decided" +msgstr "" + +#: gajim/conversation_textview.py:71 +msgid "Unverified" +msgstr "" + +#: gajim/conversation_textview.py:74 +msgid "Verified" +msgstr "" + +#: gajim/conversation_textview.py:225 +#, fuzzy +msgid "" +"Text below this line is what has been said since the\n" +"last time you paid attention to this group chat" +msgstr "" +"Tekst pad hetaj rysaj addzialaje toj tekst, jaki ty jašče nia bačyŭ/nia " +"bačyła" + +#: gajim/conversation_textview.py:428 +#, fuzzy +msgid "_Quote" +msgstr "_Skonč pracu" + +#: gajim/conversation_textview.py:436 +#, python-format +msgid "_Actions for \"%s\"" +msgstr "_Dziejańni dla \"%s\"" + +#: gajim/conversation_textview.py:450 +msgid "Read _Wikipedia Article" +msgstr "Pračytać artykuł u _Wikipedii" + +#: gajim/conversation_textview.py:455 +msgid "Look it up in _Dictionary" +msgstr "Šukaj u _słoŭniku" + +#: gajim/conversation_textview.py:472 +#, python-format +msgid "Dictionary URL is missing an \"%s\" and it is not WIKTIONARY" +msgstr "U adrasie słoŭnika nie staje \"%s\", i heta nia Wiktionary" + +#: gajim/conversation_textview.py:486 +#, python-format +msgid "Web Search URL is missing an \"%s\"" +msgstr "U adrasie dla web-pošuku nie staje \"%s\"" + +#: gajim/conversation_textview.py:489 +msgid "Web _Search for it" +msgstr "_Šukaj u Web" + +#: gajim/conversation_textview.py:495 +msgid "Open as _Link" +msgstr "Adčyni jak _spasyłku" + +#: gajim/conversation_textview.py:770 +#, fuzzy +msgid "Invalid URL" +msgstr "Niapravilny JID" + +#: gajim/conversation_textview.py:860 +msgid "" +"Message corrected. Original message:\n" +"{}" +msgstr "" + +#: gajim/conversation_textview.py:1031 +#, fuzzy +msgid "Not encrypted" +msgstr "Nie pačata" + +#: gajim/conversation_textview.py:1034 +#, python-format +msgid "Encrypted (%s)" +msgstr "" + +#: gajim/conversation_textview.py:1141 gajim/gtk/history.py:618 +#, python-format +msgid "Subject: %s\n" +msgstr "Tema: %s\n" + +#: gajim/conversation_textview.py:1250 +#, fuzzy +msgid "Received" +msgstr "Atrymana %s" + +#: gajim/conversation_textview.py:1272 +msgid "?Message state:Read" +msgstr "" + +#: gajim/groupchat_control.py:352 +#, fuzzy, python-format +msgid "Send File (max. %s MiB)…" +msgstr "Zapišy fajł jak..." + +#: gajim/groupchat_control.py:497 +#, fuzzy, python-format +msgid "%s has been invited to this group chat" +msgstr "%(who)s vypchnuŭ %(nick)s: %(reason)s" + +#: gajim/groupchat_control.py:512 gajim/dialog_messages.py:31 +#: gajim/dialog_messages.py:36 gajim/gtk/single_message.py:238 +#, fuzzy +msgid "Invalid XMPP Address" +msgstr "Niapravilny fajł" + +#: gajim/groupchat_control.py:575 +#, fuzzy +msgid "Loading avatar failed" +msgstr "Pamyłka dasyłańnia pryvatnaha paviedamleńnia" + +#: gajim/groupchat_control.py:595 +#, fuzzy, python-format +msgid "Avatar upload failed: %s" +msgstr "Pamyłka publikacyi vCard" + +#: gajim/groupchat_control.py:598 +#, fuzzy +msgid "Avatar upload successful" +msgstr "Pamyłka publikacyi vCard" + +#: gajim/groupchat_control.py:616 +#, fuzzy, python-format +msgid "Kick %s" +msgstr "Vypichvajecca %s" + +#: gajim/groupchat_control.py:625 +#, fuzzy, python-format +msgid "Ban %s" +msgstr "Śpis zablakavanych kantaktaŭ" + +#: gajim/groupchat_control.py:684 +msgid "Insert Nickname" +msgstr "Ustaŭ mianušku" + +#: gajim/groupchat_control.py:775 gajim/groupchat_control.py:776 +#, fuzzy +msgid "Voice Request" +msgstr "Zapyt na pieradaču fajłu" + +#: gajim/groupchat_control.py:777 +#, python-format +msgid "%(nick)s from %(room_name)s requests voice" +msgstr "" + +#: gajim/groupchat_control.py:781 +msgid "_Approve" +msgstr "" + +#: gajim/groupchat_control.py:1007 +#, fuzzy, python-format +msgid "%(nick)s has set the subject to %(subject)s" +msgstr "%(nick)s vypchnuty z pakoju: %(reason)s" + +#: gajim/groupchat_control.py:1023 +msgid "Group chat now shows unavailable members" +msgstr "" + +#: gajim/groupchat_control.py:1026 +#, fuzzy +msgid "Group chat now does not show unavailable members" +msgstr "Takoha pakoju niama." + +#: gajim/groupchat_control.py:1030 +msgid "A setting not related to privacy has been changed" +msgstr "" + +#: gajim/groupchat_control.py:1037 gajim/groupchat_control.py:1197 +#, fuzzy +msgid "Conversations are stored on the server" +msgstr "Niama złučeńnia z serveram" + +#: gajim/groupchat_control.py:1040 +#, fuzzy +msgid "Conversations are not stored on the server" +msgstr "Źviestki pra ciabie, jakija zachoŭvajucca na servery" + +#: gajim/groupchat_control.py:1043 +#, fuzzy +msgid "Group chat is now non-anonymous" +msgstr "Pakoji" + +#: gajim/groupchat_control.py:1047 +#, fuzzy +msgid "Group chat is now semi-anonymous" +msgstr "Padśviatleńnie paviedamleńnia ŭ pakoji" + +#: gajim/groupchat_control.py:1051 +#, fuzzy +msgid "Group chat is now fully anonymous" +msgstr "Pakoji" + +#: gajim/groupchat_control.py:1101 +#, python-format +msgid "Ping? (%s)" +msgstr "" + +#: gajim/groupchat_control.py:1104 +#, python-format +msgid "Pong! (%(nick)s %(delay)s s.)" +msgstr "" + +#: gajim/groupchat_control.py:1188 +#, fuzzy, python-format +msgid "You (%s) joined the group chat" +msgstr "%s dałučyŭsia da pakoju" + +#: gajim/groupchat_control.py:1193 +msgid "Any participant is allowed to see your full XMPP Address" +msgstr "" + +#: gajim/groupchat_control.py:1201 +#, fuzzy +msgid "The server has assigned or modified your nickname in this group chat" +msgstr "Źmiani _mianušku" + +#: gajim/groupchat_control.py:1211 +#, fuzzy +msgid "A new group chat has been created" +msgstr "Aŭtaryzacyja anulavanaja" + +#: gajim/groupchat_control.py:1215 +#, fuzzy +msgid "Failed to Configure Group Chat" +msgstr "Pakiń pakoji" + +#: gajim/groupchat_control.py:1274 gajim/groupchat_control.py:1304 +#: gajim/groupchat_control.py:1332 gajim/groupchat_control.py:1391 +#, python-brace-format +msgid " by {actor}" +msgstr "" + +#: gajim/groupchat_control.py:1277 +#, python-brace-format +msgid "** Your Affiliation has been set to {affiliation}{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1283 +#, python-brace-format +msgid "** Affiliation of {nick} has been set to {affiliation}{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1307 +#, fuzzy, python-brace-format +msgid "** Your Role has been set to {role}{actor}{reason}" +msgstr "%(who)s vypchnuŭ %(nick)s: %(reason)s" + +#: gajim/groupchat_control.py:1312 +#, fuzzy, python-brace-format +msgid "** Role of {nick} has been set to {role}{actor}{reason}" +msgstr "%(who)s vypchnuŭ %(nick)s: %(reason)s" + +#: gajim/groupchat_control.py:1335 +#, fuzzy, python-brace-format +msgid "You have been removed from the group chat{actor}{reason}" +msgstr "%(who)s vypchnuŭ %(nick)s: %(reason)s" + +#: gajim/groupchat_control.py:1340 +#, python-brace-format +msgid "You have left due to an error{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1346 +#, python-brace-format +msgid "You have been kicked{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1353 +#, python-brace-format +msgid "You have been banned{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1360 gajim/groupchat_control.py:1423 +#, fuzzy +msgid ": Affiliation changed" +msgstr "Suviaź: " + +#: gajim/groupchat_control.py:1366 gajim/groupchat_control.py:1428 +msgid ": Group chat configuration changed to members-only" +msgstr "" + +#: gajim/groupchat_control.py:1394 +#, fuzzy, python-brace-format +msgid "{nick} has been removed from the group chat{by}{reason}" +msgstr "%(who)s vypchnuŭ %(nick)s: %(reason)s" + +#: gajim/groupchat_control.py:1402 +#, python-brace-format +msgid "{nick} has left due to an error{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1408 +#, fuzzy, python-brace-format +msgid "{nick} has been kicked{actor}{reason}" +msgstr "%(nick)s vypchnuty z pakoju: %(reason)s" + +#: gajim/groupchat_control.py:1416 +#, fuzzy, python-brace-format +msgid "{nick} has been banned{actor}{reason}" +msgstr "%(nick)s zablakavany: %(reason)s" + +#: gajim/groupchat_control.py:1433 +#, python-brace-format +msgid "{nick} has left{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1451 +#, python-format +msgid "%s has joined the group chat" +msgstr "%s dałučyŭsia da pakoju" + +#: gajim/groupchat_control.py:1463 +#, fuzzy +msgid "Failed to Join Group Chat" +msgstr "Niemahčyma dałučycca da pakoju" + +#: gajim/groupchat_control.py:1469 +#, fuzzy +msgid "Failed to Create Group Chat" +msgstr "Pakiń pakoji" + +#: gajim/groupchat_control.py:1485 +#, fuzzy +msgid "Group chat has been destroyed" +msgstr "Aŭtaryzacyja anulavanaja" + +#: gajim/groupchat_control.py:1490 +#, fuzzy, python-format +msgid "You can join this group chat instead: xmpp:%s?join" +msgstr "%s dałučyŭsia da pakoju" + +#: gajim/groupchat_control.py:1672 +#, fuzzy +msgid "Leave Group Chat" +msgstr "Pakiń pakoji" + +#: gajim/groupchat_control.py:1673 +#, fuzzy +msgid "Are you sure you want to leave this group chat?" +msgstr "Ty sapraŭdy chočaš pakinuć pakoj \"%s\"?" + +#: gajim/groupchat_control.py:1674 +#, fuzzy, python-format +msgid "If you close this window, you will leave '%s'." +msgstr "Kali začyniš hetaje akno, adłučyśsia ad pakoju." + +#: gajim/message_window.py:365 +#, fuzzy +msgid "Close Tabs" +msgstr "_Dašli i začyni" + +#: gajim/message_window.py:366 +#, fuzzy +msgid "You are about to close several tabs" +msgstr "Niama złučeńnia z serveram" + +#: gajim/message_window.py:367 +#, fuzzy +msgid "Do you really want to close all of them?" +msgstr "Sapraŭdy chočaš vydalić zaznačanaje paviedamleńnie?" + +#: gajim/message_window.py:526 +#, fuzzy +msgid "?Noun:Chats" +msgstr "Pakoji" + +#: gajim/message_window.py:530 gajim/data/gui/preferences.ui:155 +#, fuzzy +msgid "Group Chats" +msgstr "_Pakoj" + +#: gajim/message_window.py:534 +msgid "Private Chats" +msgstr "Pryvatnyja razmovy" + +#: gajim/message_window.py:540 +msgid "Messages" +msgstr "Paviedamleńni" + +#: gajim/dialog_messages.py:37 +#, fuzzy, python-format +msgid "" +"It is not possible to send a message to %s. This XMPP Address is not valid." +msgstr "Niemahčyma dasyłać pustyja fajły" + +#: gajim/dialog_messages.py:42 +#, fuzzy +msgid "Unread Events" +msgstr "Niepračytanyja paviedamleńni" + +#: gajim/dialog_messages.py:43 +#, fuzzy +msgid "Read or acknowledge all pending events before removing this account." +msgstr "Pračytaj usie novyja paviedamleńni pierad vydaleńniem kontu." + +#: gajim/dialog_messages.py:48 +#, fuzzy +msgid "Invalid Form" +msgstr "Niapravilny zapis" + +#: gajim/dialog_messages.py:49 +#, fuzzy +msgid "The form is not filled correctly." +msgstr "JID pakoju ŭtrymlivaje niedazvolenyja znaki." + +#: gajim/dialog_messages.py:53 +#, fuzzy +msgid "No Connection Available" +msgstr "Złučeńnia niama" + +#: gajim/dialog_messages.py:54 +msgid "Your message can not be sent until you are connected." +msgstr "Ty nia možaš dasłać paviedamleńnie, pakul nia złučyśsia z serveram." + +#: gajim/dialog_messages.py:58 +msgid "XMPP Address Already in List" +msgstr "" + +#: gajim/dialog_messages.py:59 +#, fuzzy +msgid "" +"The XMPP Address you entered is already in the list. Please choose another " +"one." +msgstr "Kont z takoj nazvaj užo zaniaty. Kali łaska, abiary inšuju nazvu." + +#: gajim/dialog_messages.py:64 +#, fuzzy +msgid "Invalid Answer" +msgstr "Niapravilny adkaz" + +#: gajim/dialog_messages.py:65 +#, fuzzy, python-format +msgid "Transport %(name)s answered wrongly to register request: %(error)s" +msgstr "Transpart %s niapravilna adkazaŭ na zapyt rehistracyi: %s" + +#: gajim/dialog_messages.py:70 +#, fuzzy +msgid "Wrong Custom Hostname" +msgstr "Skarystaj admysłovy host/port" + +#: gajim/dialog_messages.py:71 +#, fuzzy, python-format +msgid "Custom hostname \"%s\" is wrong. It will be ignored." +msgstr "Skarystaj admysłovy host/port" + +#: gajim/dialog_messages.py:75 +#, fuzzy +msgid "Registration Succeeded" +msgstr "Zarehistrujsia na %s" + +#: gajim/dialog_messages.py:76 +#, fuzzy, python-format +msgid "Registration with agent %s succeeded." +msgstr "Zarehistrujsia na %s" + +#: gajim/dialog_messages.py:80 +#, fuzzy +msgid "Registration Failed" +msgstr "Niemahvyma dałučycca" + +#: gajim/dialog_messages.py:81 +#, python-format +msgid "" +"Registration with agent %(agent)s failed with error %(error)s: %(error_msg)s" +msgstr "" + +#: gajim/dialog_messages.py:86 +msgid "GStreamer Error" +msgstr "" + +#: gajim/dialog_messages.py:87 +#, fuzzy, python-format +msgid "" +"Error: %(error)s\n" +"Debug: %(debug)s" +msgstr "Tekst pamyłki: %s" + +#: gajim/dialog_messages.py:91 +#, fuzzy +msgid "Wrong Host" +msgstr "Niapravilny host" + +#: gajim/dialog_messages.py:92 +msgid "Invalid local address? :-O" +msgstr "" + +#: gajim/dialog_messages.py:96 +#, fuzzy +msgid "Avahi Error" +msgstr "Pamyłka Avahi" + +#: gajim/dialog_messages.py:97 +#, python-format +msgid "" +"%s\n" +"Link-local messaging might not work properly." +msgstr "" +"%s\n" +"Lakalnyja paviedamleńni mohuć pracavać pamyłkova." + +#: gajim/dialog_messages.py:101 +#, fuzzy +msgid "Could not Open File" +msgstr "Niemahčyma adčytać vyjavu" + +#: gajim/command_system/mapping.py:169 gajim/command_system/mapping.py:179 +#: gajim/command_system/mapping.py:199 +#, fuzzy +msgid "Missing arguments" +msgstr "Nie staje arhumenta \"contact_jid\"" + +#: gajim/command_system/mapping.py:266 +#, fuzzy +msgid "Too many arguments" +msgstr "Nie staje arhumenta \"contact_jid\"" + +#: gajim/command_system/implementation/middleware.py:76 +msgid "Error during command execution!" +msgstr "" + +#: gajim/command_system/implementation/execute.py:60 +msgid "Execute expression inside a shell, show output" +msgstr "" + +#: gajim/command_system/implementation/execute.py:74 +msgid "" +"Command disabled. This command can be enabled by setting " +"'command_system_execute' to True in ACE (Advanced Configuration Editor)." +msgstr "" + +#: gajim/command_system/implementation/execute.py:125 +msgid "Execute expression inside a shell, send output" +msgstr "" + +#: gajim/command_system/implementation/standard.py:52 +msgid "" +"Show help on a given command or a list of available commands if -a is given" +msgstr "" + +#: gajim/command_system/implementation/standard.py:81 +#, fuzzy +msgid "Send a message to the contact" +msgstr "Užyvańnie: /%s, chavaje knopki razmovy." + +#: gajim/command_system/implementation/standard.py:86 +msgid "Send action (in the third person) to the current chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:91 +msgid "Show logged messages which mention given text" +msgstr "" + +#: gajim/command_system/implementation/standard.py:96 +#, fuzzy, python-format +msgid "%s: Nothing found" +msgstr "%s nia znojdzieny" + +#: gajim/command_system/implementation/standard.py:102 +msgid "Limit must be an integer" +msgstr "" + +#: gajim/command_system/implementation/standard.py:127 +msgid "" +"\n" +" Set the current status\n" +"\n" +" Status can be given as one of the following values:\n" +" online, away, chat, xa, dnd.\n" +" " +msgstr "" + +#: gajim/command_system/implementation/standard.py:145 +msgid "Set the current status to away" +msgstr "" + +#: gajim/command_system/implementation/standard.py:148 +#: gajim/common/helpers.py:200 gajim/common/modules/adhoc_commands.py:122 +msgid "Away" +msgstr "Adyjšoŭ" + +#: gajim/command_system/implementation/standard.py:159 +msgid "Set the current status to online" +msgstr "" + +#: gajim/command_system/implementation/standard.py:162 +#, fuzzy +msgid "Available" +msgstr "_Dastupny" + +#: gajim/command_system/implementation/standard.py:173 +msgid "Send a disco info request" +msgstr "" + +#: gajim/command_system/implementation/standard.py:192 +#: gajim/command_system/implementation/standard.py:273 +#, fuzzy +msgid "Clear the text window" +msgstr "Užyvańnie: /%s, ačyščaje akno ad tekstu." + +#: gajim/command_system/implementation/standard.py:197 +#: gajim/command_system/implementation/standard.py:425 +#, fuzzy +msgid "Send a ping to the contact" +msgstr "Dasyłaje kantaktu fajł" + +#: gajim/command_system/implementation/standard.py:201 +#: gajim/command_system/implementation/standard.py:429 +msgid "Command is not supported for zeroconf accounts" +msgstr "" + +#: gajim/command_system/implementation/standard.py:205 +msgid "Send DTMF sequence through an open voice chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:208 +#, fuzzy +msgid "No open voice chats with the contact" +msgstr "Klikni, kab pahladzieć tekt papiarednich razmoŭ z hetym kantaktam" + +#: gajim/command_system/implementation/standard.py:211 +#, python-format +msgid "%s is not a valid tone" +msgstr "" + +#: gajim/command_system/implementation/standard.py:218 +msgid "Toggle Voice Chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:221 +#, fuzzy +msgid "Voice chats are not available" +msgstr "Złučeńnia niama" + +#: gajim/command_system/implementation/standard.py:228 +msgid "Toggle Video Chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:231 +#, fuzzy +msgid "Video chats are not available" +msgstr "Złučeńnia niama" + +#: gajim/command_system/implementation/standard.py:238 +#, fuzzy +msgid "Send a message to the contact that will attract their attention" +msgstr "Užyvańnie: /%s, chavaje knopki razmovy." + +#: gajim/command_system/implementation/standard.py:278 +#, fuzzy +msgid "Change your nickname in a group chat" +msgstr "Źmiani _mianušku" + +#: gajim/command_system/implementation/standard.py:283 +#, fuzzy +msgid "Invalid nickname" +msgstr "Niapravilnaje imia karystalnika" + +#: gajim/command_system/implementation/standard.py:290 +#, fuzzy +msgid "Open a private chat window with a specified participant" +msgstr "" +"Užyvańnie: /%s , adčyniaje akno pryvatnaj razmovy z akreślenaj " +"asobaj." + +#: gajim/command_system/implementation/standard.py:296 +#: gajim/command_system/implementation/standard.py:306 +#: gajim/command_system/implementation/standard.py:360 +#: gajim/command_system/implementation/standard.py:373 +#: gajim/command_system/implementation/standard.py:385 +#, fuzzy +msgid "Nickname not found" +msgstr "Mianuška nia znojdziena: %s" + +#: gajim/command_system/implementation/standard.py:299 +#, fuzzy +msgid "" +"Open a private chat window with a specified participant and send him a " +"message" +msgstr "" +"Užyvańnie: /%s , adčyniaje akno pryvatnaj razmovy z akreślenaj " +"asobaj." + +#: gajim/command_system/implementation/standard.py:309 +#, fuzzy +msgid "Display or change a group chat topic" +msgstr "Pytajsia paćvierdžańnia pierad začynieńniem kartki/akna razmovy." + +#: gajim/command_system/implementation/standard.py:318 +msgid "Invite a user to a group chat for a reason" +msgstr "" + +#: gajim/command_system/implementation/standard.py:325 +#, fuzzy +msgid "Join a group chat given by an XMPP Address" +msgstr "Dałučysia da _pakoju" + +#: gajim/command_system/implementation/standard.py:335 +msgid "" +"Leave the group chat, optionally giving a reason, and close tab or window" +msgstr "" + +#: gajim/command_system/implementation/standard.py:341 +msgid "" +"\n" +" Ban user by a nick or a JID from a groupchat\n" +"\n" +" If given nickname is not found it will be treated as a JID.\n" +" " +msgstr "" + +#: gajim/command_system/implementation/standard.py:357 +#, fuzzy +msgid "Kick user from group chat by nickname" +msgstr "Ty nie dałučyŭsia da pakoju." + +#: gajim/command_system/implementation/standard.py:366 +msgid "" +"Set participant role in group chat.\n" +" Role can be given as one of the following values:\n" +" moderator, participant, visitor, none" +msgstr "" + +#: gajim/command_system/implementation/standard.py:371 +#, fuzzy +msgid "Invalid role given" +msgstr "Niapravilnaje imia karystalnika" + +#: gajim/command_system/implementation/standard.py:378 +msgid "" +"Set participant affiliation in group chat.\n" +" Affiliation can be given as one of the following values:\n" +" owner, admin, member, outcast, none" +msgstr "" + +#: gajim/command_system/implementation/standard.py:383 +#, fuzzy +msgid "Invalid affiliation given" +msgstr "Suviaź: " + +#: gajim/command_system/implementation/standard.py:393 +#, fuzzy +msgid "Display names of all group chat participants" +msgstr "Užyvańnie: /%s, pakazvaje imiony naviednikaŭ pakoju." + +#: gajim/command_system/implementation/standard.py:415 +msgid "Forbid a participant to send you public or private messages" +msgstr "" + +#: gajim/command_system/implementation/standard.py:420 +msgid "Allow a participant to send you public or private messages" +msgstr "" + +#: gajim/command_system/implementation/standard.py:432 +#, fuzzy +msgid "Unknown nickname" +msgstr "_Пасля мянушкі:" + +#: gajim/command_system/implementation/custom.py:114 +msgid "The same as using a doc-string, except it supports translation" +msgstr "" + +#: gajim/gtk/ssl_error_dialog.py:36 gajim/data/gui/ssl_error_dialog.ui:16 +#, fuzzy +msgid "SSL Certificate Verification Error" +msgstr "Dadajecca admysłovaje nahadvańnie dla %s" + +#: gajim/gtk/ssl_error_dialog.py:55 +#, python-format +msgid "" +"There was an error while attempting to verify the SSL certificate of your " +"XMPP server (%s)." +msgstr "" + +#: gajim/gtk/ssl_error_dialog.py:58 +#, python-format +msgid "Unknown SSL error '%s'" +msgstr "" + +#: gajim/gtk/avatar_selector.py:84 +msgid "Select a picture or drop it here" +msgstr "" + +#: gajim/gtk/status_change.py:62 gajim/gtk/preferences.py:627 +#: gajim/gtk/preferences.py:655 +msgid "Status Message" +msgstr "Paviedamleńnie statusu" + +#: gajim/gtk/status_change.py:330 +#, fuzzy +msgid "No activity" +msgstr "Dziejny" + +#: gajim/gtk/status_change.py:370 gajim/gtk/status_change.py:383 +#: gajim/gtk/status_change.py:488 +#, fuzzy +msgid "No mood selected" +msgstr "Kluč nie abrany" + +#: gajim/gtk/status_change.py:382 +msgid "No mood" +msgstr "" + +#: gajim/gtk/status_change.py:439 +msgid "Overwrite" +msgstr "" + +#: gajim/gtk/status_change.py:440 +#, fuzzy +msgid "Overwrite Status Message?" +msgstr "Paviedamleńnie statusu" + +#: gajim/gtk/status_change.py:441 +#, fuzzy +msgid "This name is already in use. Do you want to overwrite this preset?" +msgstr "Kont z takoj nazvaj užo zaniaty. Kali łaska, abiary inšuju nazvu." + +#: gajim/gtk/status_change.py:445 gajim/plugins/gui.py:292 +msgid "_Overwrite" +msgstr "" + +#: gajim/gtk/status_change.py:453 +#, fuzzy +msgid "Status Preset" +msgstr "Paviedamleńnie statusu" + +#: gajim/gtk/status_change.py:454 +#, fuzzy +msgid "Save status as preset" +msgstr "Zachavaj jak šablon..." + +#: gajim/gtk/status_change.py:455 +#, fuzzy +msgid "Please assign a name to this status message preset" +msgstr "Kali łaska, uviadzi nazvu dla hetaha paviedamleńnia statusu" + +#: gajim/gtk/status_change.py:458 gajim/data/gui/profile.ui:336 +#, fuzzy +msgid "_Save" +msgstr "Nie razmaŭlaju " + +#: gajim/gtk/status_change.py:460 +#, fuzzy +msgid "New Status" +msgstr "Status" + +#: gajim/gtk/advanced_config.py:46 gajim/gtk/advanced_config.py:144 +msgid "Activated" +msgstr "Dziejny" + +#: gajim/gtk/advanced_config.py:47 +msgid "Deactivated" +msgstr "Niadziejny" + +#: gajim/gtk/advanced_config.py:52 +msgid "?config type:Boolean" +msgstr "" + +#: gajim/gtk/advanced_config.py:53 +msgid "?config type:Integer" +msgstr "" + +#: gajim/gtk/advanced_config.py:54 +msgid "?config type:Text" +msgstr "" + +#: gajim/gtk/advanced_config.py:65 +#, fuzzy +msgid "Advanced Configuration Editor (ACE)" +msgstr "Redaktar dadatkovych naładaŭ" + +#: gajim/gtk/advanced_config.py:80 +#, fuzzy +msgid "?config:Preference Name" +msgstr "Nazva nałady" + +#: gajim/gtk/advanced_config.py:91 +#, fuzzy +msgid "?config:Value" +msgstr "_Praciahni" + +#: gajim/gtk/advanced_config.py:100 +msgid "?config:Type" +msgstr "" + +#: gajim/gtk/advanced_config.py:133 +#, fuzzy +msgid "?config description:None" +msgstr "?Zapyt (aŭtaryzacyi):Niama" + +#: gajim/gtk/preferences.py:63 gajim/data/gui/shortcuts_window.ui:31 +msgid "Preferences" +msgstr "Nałady" + +#: gajim/gtk/preferences.py:185 +msgid "Detached contact list with detached chats" +msgstr "" + +#: gajim/gtk/preferences.py:186 +msgid "Detached contact list with single chat" +msgstr "" + +#: gajim/gtk/preferences.py:187 +msgid "Single window for everything" +msgstr "" + +#: gajim/gtk/preferences.py:188 +msgid "Detached contact list with chats grouped by account" +msgstr "" + +#: gajim/gtk/preferences.py:189 +msgid "Detached contact list with chats grouped by type" +msgstr "" + +#: gajim/gtk/preferences.py:193 gajim/data/gui/mam_preferences.ui:14 +#, fuzzy +msgid "Always" +msgstr "Adyjšoŭ" + +#: gajim/gtk/preferences.py:194 gajim/data/gui/mam_preferences.ui:22 +#, fuzzy +msgid "Never" +msgstr "_Nikoli" + +#: gajim/gtk/preferences.py:195 +#, fuzzy +msgid "Restore last state" +msgstr "Apošni status: %s" + +#: gajim/gtk/preferences.py:199 +#, fuzzy +msgid "Top" +msgstr "Da" + +#: gajim/gtk/preferences.py:200 +msgid "Bottom" +msgstr "" + +#: gajim/gtk/preferences.py:201 +msgid "Left" +msgstr "" + +#: gajim/gtk/preferences.py:202 +#, fuzzy +msgid "Right" +msgstr "vośmaja" + +#: gajim/gtk/preferences.py:207 +msgid "Window Layout" +msgstr "" + +#: gajim/gtk/preferences.py:214 +#, fuzzy +msgid "Contact List on Startup" +msgstr "Pakažy _śpis kantaktaŭ" + +#: gajim/gtk/preferences.py:218 +#, fuzzy +msgid "Show contact list when starting Gajim" +msgstr "Pakažy _śpis kantaktaŭ" + +#: gajim/gtk/preferences.py:221 +msgid "Quit on Close" +msgstr "" + +#: gajim/gtk/preferences.py:224 +#, fuzzy +msgid "Quit when closing contact list" +msgstr "Pakažy _adłučanyja kantakty" + +#: gajim/gtk/preferences.py:227 +#, fuzzy +msgid "Tab Position" +msgstr "Stanovišča:" + +#: gajim/gtk/preferences.py:231 +#, fuzzy +msgid "Placement of chat window tabs" +msgstr "začyniŭ akno/kartku razmovy" + +#: gajim/gtk/preferences.py:247 +#, fuzzy +msgid "Merge Accounts" +msgstr "Abjadnanyja konty" + +#: gajim/gtk/preferences.py:253 +#, fuzzy +msgid "Enable Metacontacts" +msgstr "Źmiani nazvu kantaktu" + +#: gajim/gtk/preferences.py:258 +#, fuzzy +msgid "Show Avatars" +msgstr "Zdolnaści serveraŭ" + +#: gajim/gtk/preferences.py:264 gajim/gtk/preferences.py:353 +#, fuzzy +msgid "Show Status Message" +msgstr "Paviedamleńnie statusu" + +#: gajim/gtk/preferences.py:270 gajim/gtk/preferences.py:411 +#, fuzzy +msgid "Sort Contacts by Status" +msgstr "_Paradkuj kantakty pa statusie" + +#: gajim/gtk/preferences.py:276 +#, fuzzy +msgid "Show Mood" +msgstr "Vyznač MOTD" + +#: gajim/gtk/preferences.py:281 +#, fuzzy +msgid "Show Activity" +msgstr "Dziejny" + +#: gajim/gtk/preferences.py:286 +#, fuzzy +msgid "Show Tune" +msgstr "Zdolnaści serveraŭ" + +#: gajim/gtk/preferences.py:323 +msgid "Needs gspell to be installed" +msgstr "" + +#: gajim/gtk/preferences.py:327 +msgid "Spell Checking" +msgstr "" + +#: gajim/gtk/preferences.py:335 +#, fuzzy +msgid "Message Receipts (✔)" +msgstr "źmiest paviedamleńnia" + +#: gajim/gtk/preferences.py:338 +msgid "Add a checkmark to received messages" +msgstr "" + +#: gajim/gtk/preferences.py:341 +#, fuzzy +msgid "XHTML Formatting" +msgstr "Klikni, kab ustavić smajlik (Alt+M)" + +#: gajim/gtk/preferences.py:344 +msgid "Render XHTML styles (colors, etc.) of incoming messages" +msgstr "" + +#: gajim/gtk/preferences.py:348 +#, fuzzy +msgid "Show Send Message Button" +msgstr "Dašli paviedamleńnie" + +#: gajim/gtk/preferences.py:358 +#, fuzzy +msgid "Show Chat State In Tabs" +msgstr "Pakazvać knopki začynieńnia na kartkach?" + +#: gajim/gtk/preferences.py:361 +msgid "Show the contact’s chat state (e.g. typing) in the chat’s tab" +msgstr "" + +#: gajim/gtk/preferences.py:365 +#, fuzzy +msgid "Show Chat State In Banner" +msgstr "Pakazvaj a_vatary kantaktaŭ u śpisie kantaktaŭ" + +#: gajim/gtk/preferences.py:368 +msgid "Show the contact’s chat state (e.g. typing) in the chats tab’s banner" +msgstr "" + +#: gajim/gtk/preferences.py:372 +#, fuzzy +msgid "Display Chat State In Contact List" +msgstr "Pakazanyja nahadvańni statusu ŭ časie razmovy:" + +#: gajim/gtk/preferences.py:375 +#, fuzzy +msgid "Show the contact’s chat state (e.g. typing) in the contact list" +msgstr "Pakazvać knopki začynieńnia na kartkach?" + +#: gajim/gtk/preferences.py:406 +#, fuzzy +msgid "Show Subject" +msgstr "Tema" + +#: gajim/gtk/preferences.py:417 +msgid "Default Sync Threshold" +msgstr "" + +#: gajim/gtk/preferences.py:420 +#, fuzzy +msgid "Default for new public group chats" +msgstr "Pakiń pakoji" + +#: gajim/gtk/preferences.py:424 +msgid "Show Joined / Left" +msgstr "" + +#: gajim/gtk/preferences.py:427 gajim/gtk/preferences.py:438 +#, fuzzy +msgid "Default for new group chats" +msgstr "Pakiń pakoji" + +#: gajim/gtk/preferences.py:428 gajim/gtk/preferences.py:439 +#: gajim/gtk/accounts.py:715 gajim/gtk/accounts.py:727 +#: gajim/gtk/accounts.py:740 +#, fuzzy +msgid "Reset" +msgstr "P_rysutnaść" + +#: gajim/gtk/preferences.py:429 gajim/gtk/preferences.py:440 +#: gajim/gtk/accounts.py:728 +msgid "Reset all group chats to the current default value" +msgstr "" + +#: gajim/gtk/preferences.py:435 gajim/gtk/groupchat_settings.py:48 +#, fuzzy +msgid "Show Status Changes" +msgstr "_Zachoŭvać u žurnale źmieny statusu kantaktaŭ" + +#: gajim/gtk/preferences.py:468 +#, fuzzy +msgid "Hide icon" +msgstr "Schavaj hetaje menu" + +#: gajim/gtk/preferences.py:469 +#, fuzzy +msgid "Only show for pending events" +msgstr "Pakažy ŭsie niahledžanyja _padzieji" + +#: gajim/gtk/preferences.py:470 +msgid "Always show icon" +msgstr "" + +#: gajim/gtk/preferences.py:475 +#, fuzzy +msgid "Notification Area Icon" +msgstr "Pakazvaj _ikonu ŭ poli nahadvańnia" + +#: gajim/gtk/preferences.py:482 +#, fuzzy +msgid "Open Events" +msgstr "Asabistyja źviestki" + +#: gajim/gtk/preferences.py:485 +#, fuzzy +msgid "Open events instead of showing a notification in the contact list" +msgstr "Ja chaču dadać Vas u svoj śpis kantaktaŭ." + +#: gajim/gtk/preferences.py:489 gajim/gtk/preferences.py:512 +#, fuzzy +msgid "Show Notifications" +msgstr "Madyfikacyja kontu" + +#: gajim/gtk/preferences.py:517 +#, fuzzy +msgid "Notifications When Away" +msgstr "Madyfikacyja kontu" + +#: gajim/gtk/preferences.py:520 +#, fuzzy +msgid "Show notifications even if you are Away, Busy, etc." +msgstr "Pakazvaj _ikonu ŭ poli nahadvańnia" + +#: gajim/gtk/preferences.py:525 gajim/data/gui/preferences.ui:271 +#, fuzzy +msgid "Notifications" +msgstr "Madyfikacyja kontu" + +#: gajim/gtk/preferences.py:534 +#, fuzzy +msgid "Play Sounds" +msgstr "_Ahučvaj" + +#: gajim/gtk/preferences.py:537 +msgid "Play sounds to notify about events" +msgstr "" + +#: gajim/gtk/preferences.py:542 +msgid "Sounds When Away" +msgstr "" + +#: gajim/gtk/preferences.py:545 +msgid "Play sounds even when you are Away, Busy, etc." +msgstr "" + +#: gajim/gtk/preferences.py:560 +#, fuzzy +msgid "Sign In" +msgstr "_Dałučajusia" + +#: gajim/gtk/preferences.py:565 +#, fuzzy +msgid "Sign Out" +msgstr "_Adłučajusia" + +#: gajim/gtk/preferences.py:570 +#, fuzzy +msgid "Status Change" +msgstr "_Zachoŭvać u žurnale źmieny statusu kantaktaŭ" + +#: gajim/gtk/preferences.py:583 gajim/gtk/preferences.py:614 +#, fuzzy +msgid "Auto Away" +msgstr "Adyjšoŭ" + +#: gajim/gtk/preferences.py:585 +msgid "Change your status to 'Away' after a certain amount of time" +msgstr "" + +#: gajim/gtk/preferences.py:590 gajim/gtk/preferences.py:642 +#, fuzzy +msgid "Auto Not Available" +msgstr "Niedastupny" + +#: gajim/gtk/preferences.py:592 +msgid "Change your status to 'Not Available' after a certain amount of time" +msgstr "" + +#: gajim/gtk/preferences.py:619 +msgid "Time Until Away" +msgstr "" + +#: gajim/gtk/preferences.py:622 gajim/gtk/preferences.py:650 +#, fuzzy +msgid "Minutes until your status gets changed" +msgstr "_Zachoŭvać u žurnale źmieny statusu kantaktaŭ" + +#: gajim/gtk/preferences.py:633 gajim/gtk/preferences.py:828 +#, fuzzy +msgid "Auto Away Settings" +msgstr "Niemahvyma dałučycca" + +#: gajim/gtk/preferences.py:647 +#, fuzzy +msgid "Time Until Not Available" +msgstr "Niedastupny" + +#: gajim/gtk/preferences.py:661 +#, fuzzy +msgid "Auto Extended Away Settings" +msgstr "Adyjšoŭ" + +#: gajim/gtk/preferences.py:672 gajim/gtk/accounts.py:680 +#, fuzzy +msgid "Enabled" +msgstr "Ukluč" + +#: gajim/gtk/preferences.py:673 gajim/data/gui/vcard_information_window.ui:123 +#, fuzzy +msgid "System" +msgstr "Asablivy" + +#: gajim/gtk/preferences.py:678 +#, fuzzy +msgid "Dark Theme" +msgstr "Gajim - %s" + +#: gajim/gtk/preferences.py:685 +#, fuzzy +msgid "Theme" +msgstr "Tema" + +#: gajim/gtk/preferences.py:731 +msgid "Convert ASCII Emojis" +msgstr "" + +#: gajim/gtk/preferences.py:734 +msgid "Typing short codes like :-) will display emojis" +msgstr "" + +#: gajim/gtk/preferences.py:741 +#, fuzzy +msgid "Emoji Theme" +msgstr "Gajim - %s" + +#: gajim/gtk/preferences.py:744 +msgid "Choose from various emoji styles" +msgstr "" + +#: gajim/gtk/preferences.py:774 +#, fuzzy +msgid "Status Icon Set" +msgstr "Standartny zbor _ikon statusu:" + +#: gajim/gtk/preferences.py:781 +#, fuzzy +msgid "Use Transport Icons" +msgstr "Užyvaj _ikony transpartaŭ" + +#: gajim/gtk/preferences.py:784 +msgid "Display protocol-specific status icons (ICQ, ..)" +msgstr "" + +#: gajim/gtk/preferences.py:801 gajim/gtk/preferences.py:817 +msgid "Use Stun Server" +msgstr "" + +#: gajim/gtk/preferences.py:803 +msgid "Helps to establish calls through firewalls" +msgstr "" + +#: gajim/gtk/preferences.py:822 +#, fuzzy +msgid "STUN Server" +msgstr "Server:" + +#: gajim/gtk/preferences.py:848 +#, fuzzy +msgid "Audio Input Device" +msgstr "Standartnyja šablony paviedamleńniaŭ statusu" + +#: gajim/gtk/preferences.py:851 +msgid "Select your audio input (e.g. microphone)" +msgstr "" + +#: gajim/gtk/preferences.py:855 +#, fuzzy +msgid "Audio Output Device" +msgstr "Standartnyja šablony paviedamleńniaŭ statusu" + +#: gajim/gtk/preferences.py:858 +msgid "Select an audio output (e.g. speakers, headphones)" +msgstr "" + +#: gajim/gtk/preferences.py:890 gajim/gtk/preferences.py:898 +msgid "Default" +msgstr "Zmoŭčany" + +#: gajim/gtk/preferences.py:906 +#, fuzzy +msgid "Video Input Device" +msgstr "Standartnyja šablony paviedamleńniaŭ statusu" + +#: gajim/gtk/preferences.py:910 +msgid "Select your video input device (e.g. webcam, screen capture)" +msgstr "" + +#: gajim/gtk/preferences.py:915 +#, fuzzy +msgid "Video Framerate" +msgstr "Прыватная размова" + +#: gajim/gtk/preferences.py:921 +#, fuzzy +msgid "Video Resolution" +msgstr "Прыватная размова" + +#: gajim/gtk/preferences.py:927 +msgid "Show My Video Stream" +msgstr "" + +#: gajim/gtk/preferences.py:930 +msgid "Show your own video stream in calls" +msgstr "" + +#: gajim/gtk/preferences.py:933 gajim/data/gui/video_preview.ui:51 +msgid "Live Preview" +msgstr "" + +#: gajim/gtk/preferences.py:935 +msgid "Show a live preview to test your video source" +msgstr "" + +#: gajim/gtk/preferences.py:975 +#, fuzzy +msgid "Global Proxy" +msgstr "Proxy:" + +#: gajim/gtk/preferences.py:980 gajim/gtk/account_wizard.py:732 +#: gajim/gtk/accounts.py:790 +#, fuzzy +msgid "No Proxy" +msgstr "Proxy:" + +#: gajim/gtk/preferences.py:985 +msgid "Use System Keyring" +msgstr "" + +#: gajim/gtk/preferences.py:988 +msgid "Use your system’s keyring to store passwords" +msgstr "" + +#: gajim/gtk/preferences.py:994 +msgid "Check For Updates" +msgstr "" + +#: gajim/gtk/preferences.py:997 gajim/common/config.py:241 +msgid "Check for Gajim updates periodically" +msgstr "" + +#: gajim/gtk/preferences.py:1033 +#, fuzzy +msgid "Debug Logging" +msgstr "_Dałučysia" + +#: gajim/gtk/message_input.py:48 +#, fuzzy +msgid "Write a message…" +msgstr "Novaje pryvatnaje paviedamleńnie" + +#: gajim/gtk/settings.py:400 gajim/gtk/settings.py:758 +#: gajim/gtk/settings.py:784 gajim/gtk/settings.py:793 +#: gajim/gtk/settings.py:802 gajim/gtk/settings.py:811 +msgid "?switch:On" +msgstr "" + +#: gajim/gtk/settings.py:400 gajim/gtk/settings.py:758 +#: gajim/gtk/settings.py:784 gajim/gtk/settings.py:793 +#: gajim/gtk/settings.py:802 gajim/gtk/settings.py:811 +msgid "?switch:Off" +msgstr "" + +#: gajim/gtk/settings.py:538 gajim/gtk/manage_sounds.py:46 +#: gajim/gtk/filechoosers.py:89 gajim/gtk/filechoosers.py:140 +#: gajim/gtk/filechoosers.py:147 +msgid "All files" +msgstr "Usie fajły" + +#: gajim/gtk/settings.py:547 +#, fuzzy +msgid "Clear File" +msgstr "Viečar" + +#: gajim/gtk/settings.py:745 +#, fuzzy +msgid "Adjust to Status" +msgstr "_Dastasuj da statusu" + +#: gajim/gtk/history_sync.py:111 gajim/gtk/history_sync.py:193 +#, fuzzy +msgid "Synchronise History" +msgstr "Pakažy _adłučanyja kantakty" + +#: gajim/gtk/history_sync.py:205 +#, fuzzy +msgid "How far back should the chat history be synchronised?" +msgstr "Što chočaš zrabić?" + +#: gajim/gtk/history_sync.py:210 +msgid "One Month" +msgstr "" + +#: gajim/gtk/history_sync.py:211 +msgid "Three Months" +msgstr "" + +#: gajim/gtk/history_sync.py:212 +msgid "One Year" +msgstr "" + +#: gajim/gtk/history_sync.py:213 +msgid "Everything" +msgstr "" + +#: gajim/gtk/history_sync.py:241 gajim/gtk/account_wizard.py:276 +#: gajim/gtk/account_wizard.py:295 gajim/gtk/account_wizard.py:312 +#, fuzzy +msgid "Connecting..." +msgstr "Dałučajusia" + +#: gajim/gtk/history_sync.py:253 +#, fuzzy, python-format +msgid "%(received)s of %(max)s" +msgstr "Pieradača fajłu %(filename)s ad %(name)s spyniena." + +#: gajim/gtk/history_sync.py:257 +#, fuzzy, python-format +msgid "Downloaded %s messages" +msgstr "%d niečytanaje paviedamleńnie" + +#: gajim/gtk/history_sync.py:277 +#, python-format +msgid "" +"Finished synchronising chat history:\n" +"%s messages downloaded" +msgstr "" + +#: gajim/gtk/history_sync.py:281 +msgid "Gajim is fully synchronised with the archive." +msgstr "" + +#: gajim/gtk/history_sync.py:284 +msgid "There is already a synchronisation in progress. Please try again later." +msgstr "" + +#: gajim/gtk/pep_config.py:49 +#, fuzzy, python-format +msgid "PEP Service Configuration (%s)" +msgstr "Kanfihuracyja pakoju" + +#: gajim/gtk/pep_config.py:74 +#, fuzzy +msgid "Service" +msgstr "Server" + +#: gajim/gtk/pep_config.py:105 +msgid "PEP node was not removed" +msgstr "" + +#: gajim/gtk/pep_config.py:106 +#, python-format +msgid "" +"PEP node %(node)s was not removed:\n" +"%(message)s" +msgstr "" + +#: gajim/gtk/pep_config.py:153 +#, fuzzy, python-format +msgid "Configure %s" +msgstr "_Praciahni" + +#: gajim/gtk/mam_preferences.py:42 +#, python-format +msgid "Archiving Preferences for %s" +msgstr "" + +#: gajim/gtk/mam_preferences.py:101 +#, fuzzy +msgid "Archiving Preferences Saved" +msgstr "_Nałady" + +#: gajim/gtk/mam_preferences.py:102 +#, fuzzy +msgid "Your archiving preferences have successfully been saved." +msgstr "_Nałady" + +#: gajim/gtk/mam_preferences.py:109 +#, fuzzy +msgid "Archiving Preferences Error" +msgstr "_Nałady" + +#: gajim/gtk/mam_preferences.py:110 +#, fuzzy +msgid "Error received: {}" +msgstr "Atrymaŭ novy zapis:" + +#: gajim/gtk/statusicon.py:198 +#, fuzzy +msgid "_Change Status Message…" +msgstr "Ź_miani paviedamleńnie statusu" + +#: gajim/gtk/statusicon.py:250 +#, python-format +msgid "using account %s" +msgstr "praz kont %s" + +#: gajim/gtk/statusicon.py:263 +#, fuzzy +msgid "Hide _Contact List" +msgstr "Kantakty" + +#: gajim/gtk/statusicon.py:268 gajim/data/gui/application_menu.ui:42 +#, fuzzy +msgid "Show _Contact List" +msgstr "Pakažy _adłučanyja kantakty" + +#: gajim/gtk/statusicon.py:276 +msgid "Hide this menu" +msgstr "Schavaj hetaje menu" + +#: gajim/gtk/start_chat.py:57 +#, fuzzy +msgid "Start / Join Chat" +msgstr "Pačni razmovu" + +#: gajim/gtk/start_chat.py:285 gajim/gtk/start_chat.py:370 +msgid "You can not join a group chat unless you are connected." +msgstr "" +"Niemahčyma ŭdzielničać u hrupavoj razmovie, nie dałučyŭšysia da servera." + +#: gajim/gtk/start_chat.py:634 gajim/gtk/groupchat_join.py:40 +msgid "Join Group Chat" +msgstr "Dałučysia da pakoju" + +#: gajim/gtk/start_chat.py:715 +msgid "" +"Search for group chats globally\n" +"(press Return to start search)" +msgstr "" + +#: gajim/gtk/start_chat.py:808 +#, fuzzy, python-format +msgid "%s group chats found" +msgstr "%s nia znojdzieny" + +#: gajim/gtk/notification.py:184 gajim/gtk/notification.py:205 +#: gajim/gtk/notification.py:219 gajim/gtk/notification.py:272 +#: gajim/common/connection_handlers_events.py:234 +msgid "New Private Message" +msgstr "Novaje pryvatnaje paviedamleńnie" + +#: gajim/gtk/notification.py:185 gajim/gtk/notification.py:206 +#: gajim/gtk/notification.py:220 gajim/common/connection_handlers_events.py:328 +#, fuzzy +msgid "New Group Chat Message" +msgstr "Novaja hrupavaja razmova" + +#: gajim/gtk/notification.py:186 gajim/gtk/notification.py:212 +#: gajim/gtk/notification.py:289 gajim/common/connection_handlers_events.py:418 +msgid "Contact Changed Status" +msgstr "Kantakt źmianiŭ status" + +#: gajim/gtk/notification.py:200 +#, fuzzy +msgid "Open" +msgstr "OpenPGP: " + +#: gajim/gtk/notification.py:209 +msgid "Mark as Read" +msgstr "" + +#: gajim/gtk/notification.py:273 +msgid "New E-mail" +msgstr "Novy list" + +#: gajim/gtk/video_preview.py:116 +msgid "OpenGL accelerated" +msgstr "" + +#: gajim/gtk/video_preview.py:120 +msgid "Not accelerated" +msgstr "" + +#: gajim/gtk/video_preview.py:127 +msgid "Something went wrong. Video feature disabled." +msgstr "" + +#: gajim/gtk/groupchat_invite.py:304 +#, fuzzy +msgid "Invite New Contact" +msgstr "Kantakty" + +#: gajim/gtk/themes.py:37 +#, fuzzy +msgid "Chatstate Composing" +msgstr "Uvod paviedamleńnia" + +#: gajim/gtk/themes.py:41 +#, fuzzy +msgid "Chatstate Inactive" +msgstr "Pasiŭny" + +#: gajim/gtk/themes.py:45 +msgid "Chatstate Gone" +msgstr "" + +#: gajim/gtk/themes.py:49 +#, fuzzy +msgid "Chatstate Paused" +msgstr "Źmiani status" + +#: gajim/gtk/themes.py:53 +#, fuzzy +msgid "Group Chat Tab New Directed Message" +msgstr "" +"Razmova\n" +"Paviedamleńni" + +#: gajim/gtk/themes.py:57 +#, fuzzy +msgid "Group Chat Tab New Message" +msgstr "Novaje paviedamleńnie" + +#: gajim/gtk/themes.py:61 +msgid "Banner Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:65 +msgid "Banner Background Color" +msgstr "" + +#: gajim/gtk/themes.py:69 +msgid "Banner Font" +msgstr "" + +#: gajim/gtk/themes.py:73 +msgid "Account Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:77 +msgid "Account Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:81 +#, fuzzy +msgid "Account Row Font" +msgstr "Kont" + +#: gajim/gtk/themes.py:85 +msgid "Group Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:89 +msgid "Group Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:93 +#, fuzzy +msgid "Group Row Font" +msgstr "Hrupa" + +#: gajim/gtk/themes.py:97 +msgid "Contact Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:101 +msgid "Contact Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:105 +#, fuzzy +msgid "Contact Row Font" +msgstr "_Pakazvaj padzieju ŭ śpisie kantaktaŭ" + +#: gajim/gtk/themes.py:109 +#, fuzzy +msgid "Conversation Font" +msgstr "Žurnał razmoŭ" + +#: gajim/gtk/themes.py:113 +#, fuzzy +msgid "Incoming Nickname Color" +msgstr "Niapravilnaje imia karystalnika" + +#: gajim/gtk/themes.py:117 +#, fuzzy +msgid "Outgoing Nickname Color" +msgstr "Źmianiajecca mianuška" + +#: gajim/gtk/themes.py:121 +#, fuzzy +msgid "Incoming Message Text Color" +msgstr "_Uvachodnaje paviedamleńnie:" + +#: gajim/gtk/themes.py:125 +#, fuzzy +msgid "Incoming Message Text Font" +msgstr "_Uvachodnaje paviedamleńnie:" + +#: gajim/gtk/themes.py:129 +#, fuzzy +msgid "Outgoing Message Text Color" +msgstr "_Zychodnaje paviedamleńnie:" + +#: gajim/gtk/themes.py:133 +#, fuzzy +msgid "Outgoing Message Text Font" +msgstr "_Zychodnaje paviedamleńnie:" + +#: gajim/gtk/themes.py:137 +#, fuzzy +msgid "Status Message Color" +msgstr "Paviedamleńnie statusu" + +#: gajim/gtk/themes.py:141 +#, fuzzy +msgid "Status Message Font" +msgstr "Paviedamleńnie statusu" + +#: gajim/gtk/themes.py:145 +#, fuzzy +msgid "URL Color" +msgstr "Koler" + +#: gajim/gtk/themes.py:149 +#, fuzzy +msgid "Highlight Message Color" +msgstr "_Padśviatlaj słovy z pamyłkami" + +#: gajim/gtk/themes.py:153 +#, fuzzy +msgid "Message Correcting" +msgstr "Paviedamleńni" + +#: gajim/gtk/themes.py:157 +#, fuzzy +msgid "Contact Disconnected Background" +msgstr "Kantakt adłučyŭsia" + +#: gajim/gtk/themes.py:161 +#, fuzzy +msgid "Contact Connected Background " +msgstr "Kantakt dałučyŭsia" + +#: gajim/gtk/themes.py:164 +#, fuzzy +msgid "Status Online Color" +msgstr "Paviedamleńnie statusu" + +#: gajim/gtk/themes.py:167 +#, fuzzy +msgid "Status Away Color" +msgstr "Paviedamleńnie statusu" + +#: gajim/gtk/themes.py:170 +#, fuzzy +msgid "Status DND Color" +msgstr "Paviedamleńnie statusu" + +#: gajim/gtk/themes.py:173 +#, fuzzy +msgid "Status Offline Color" +msgstr "Paviedamleńnie statusu" + +#: gajim/gtk/themes.py:187 +#, fuzzy +msgid "Gajim Themes" +msgstr "Gajim - %s" + +#: gajim/gtk/themes.py:223 gajim/gtk/themes.py:230 +#, fuzzy +msgid "Invalid Name" +msgstr "Niapravilnaje imia karystalnika" + +#: gajim/gtk/themes.py:224 +msgid "Name default is not allowed" +msgstr "" + +#: gajim/gtk/themes.py:231 +#, fuzzy +msgid "Spaces are not allowed" +msgstr "Mianuška nie dazvolenaja: %s" + +#: gajim/gtk/themes.py:356 +#, fuzzy +msgid "Do you want to delete this theme?" +msgstr "Sapraŭdy chočaš vydalić zaznačanaje paviedamleńnie?" + +#: gajim/gtk/themes.py:358 +#, fuzzy +msgid "" +"This is the theme you are currently using.\n" +"Do you want to delete this theme?" +msgstr "Kont z takoj nazvaj užo zaniaty. Kali łaska, abiary inšuju nazvu." + +#: gajim/gtk/themes.py:363 +#, fuzzy +msgid "Delete Theme" +msgstr "Dziejny" + +#: gajim/gtk/themes.py:390 +#, fuzzy +msgid "Remove Setting" +msgstr "Niemahvyma dałučycca" + +#: gajim/gtk/filetransfer_progress.py:62 +#, fuzzy +msgid "Upload Failed" +msgstr "Zapišy fajł jak..." + +#: gajim/gtk/filetransfer_progress.py:113 +#, fuzzy, python-format +msgid "%(progress)s of %(total)s" +msgstr "Pieradača fajłu %(filename)s ad %(name)s spyniena." + +#: gajim/gtk/filetransfer_progress.py:130 +#, python-format +msgid "%(minutes)s min %(seconds)s sec" +msgstr "" + +#: gajim/gtk/add_contact.py:32 +#, fuzzy +msgid "GG Number" +msgstr "Numer GG:" + +#: gajim/gtk/add_contact.py:33 +#, fuzzy +msgid "ICQ Number" +msgstr "Numer ICQ:" + +#: gajim/gtk/add_contact.py:42 +#, fuzzy +msgid "Add Contact" +msgstr "_Dadaj kantakt..." + +#: gajim/gtk/add_contact.py:260 +#, fuzzy, python-format +msgid "%s Missing" +msgstr "%s MiB" + +#: gajim/gtk/add_contact.py:261 +#, fuzzy, python-format +msgid "You must supply the %s of the new contact." +msgstr "Treba ŭvieści parol dla novaha kontu." + +#: gajim/gtk/add_contact.py:288 gajim/gtk/add_contact.py:294 +#: gajim/gtk/add_contact.py:299 +msgid "Invalid User ID" +msgstr "Niapravilny identyfikatar karystalnika" + +#: gajim/gtk/add_contact.py:295 +msgid "The user ID must not contain a resource." +msgstr "Identyfikatar karystalnika nia moža ŭtrymlivać krynicy." + +#: gajim/gtk/add_contact.py:300 +#, fuzzy +msgid "You cannot add yourself to your contact list." +msgstr "Ja chaču dadać ciabie ŭ svoj śpis kantaktaŭ." + +#: gajim/gtk/add_contact.py:305 +#, fuzzy +msgid "Account Offline" +msgstr "Adłučany" + +#: gajim/gtk/add_contact.py:306 +msgid "Your account must be online to add new contacts." +msgstr "" + +#: gajim/gtk/add_contact.py:322 +#, fuzzy +msgid "Contact Already in Contact List" +msgstr "Kantakt užo jość u śpisie kantaktaŭ" + +#: gajim/gtk/add_contact.py:323 +#, fuzzy +msgid "This contact is already in your contact list." +msgstr "Hety kantakt užo jość u tvajim śpisie kantaktaŭ." + +#: gajim/gtk/add_contact.py:381 gajim/gtk/add_contact.py:419 +msgid "User ID:" +msgstr "Identyfikatar karystalnika:" + +#: gajim/gtk/add_contact.py:486 +#, fuzzy +msgid "Error while adding transport contact" +msgstr "Pamyłka dadańnia servisu. %s" + +#: gajim/gtk/add_contact.py:487 +#, python-format +msgid "" +"This error occurred while adding a contact for transport %(transport)s:\n" +"\n" +"%(error)s" +msgstr "" + +#: gajim/gtk/account_wizard.py:61 gajim/data/gui/account_wizard.ui:631 +#, fuzzy +msgid "Sign Up" +msgstr "_Dałučajusia" + +#: gajim/gtk/account_wizard.py:63 +#, fuzzy +msgid "Connect" +msgstr "Złučeńnie" + +#: gajim/gtk/account_wizard.py:64 gajim/gtk/adhoc.py:102 +msgid "Next" +msgstr "" + +#: gajim/gtk/account_wizard.py:65 +#, fuzzy +msgid "Log In" +msgstr "_Dałučysia" + +#: gajim/gtk/account_wizard.py:67 gajim/gtk/remove_account.py:44 +#: gajim/gtk/change_password.py:45 gajim/gtk/accounts.py:384 +#, fuzzy +msgid "Back" +msgstr "Chutka viarnusia" + +#: gajim/gtk/account_wizard.py:80 +msgid "An error occurred during account creation" +msgstr "Adbyłasia pamyłka padčas stvareńnia kontu" + +#: gajim/gtk/account_wizard.py:166 +#, fuzzy +msgid "Creating Account..." +msgstr "Vydalajecca kont %s" + +#: gajim/gtk/account_wizard.py:167 +#, fuzzy +msgid "Trying to create account..." +msgstr "Klikni, kab źmianić parol dla kontu" + +#: gajim/gtk/account_wizard.py:277 gajim/gtk/account_wizard.py:296 +#: gajim/gtk/account_wizard.py:313 +#, fuzzy +msgid "Connecting to server..." +msgstr "Dałučajusia" + +#: gajim/gtk/account_wizard.py:367 gajim/gtk/account_wizard.py:368 +msgid "Anonymous login not supported" +msgstr "" + +#: gajim/gtk/account_wizard.py:369 +#, fuzzy +msgid "This server does not support anonymous login." +msgstr "Server nie padtrymvaje Vcard" + +#: gajim/gtk/account_wizard.py:372 gajim/common/client.py:284 +#: gajim/common/const.py:958 gajim/common/const.py:959 +#: gajim/common/const.py:960 gajim/common/const.py:963 +#, fuzzy +msgid "Authentication failed" +msgstr "Pamyłka aŭtaryzacyi z \"%s\"" + +#: gajim/gtk/account_wizard.py:384 gajim/gtk/account_wizard.py:385 +#, fuzzy +msgid "Signup not allowed" +msgstr "Mianuška nie dazvolenaja: %s" + +#: gajim/gtk/account_wizard.py:386 +#, fuzzy +msgid "This server does not allow signup." +msgstr "Server nie padtrymvaje Vcard" + +#: gajim/gtk/account_wizard.py:395 gajim/gtk/account_wizard.py:432 +#: gajim/gtk/account_wizard.py:433 gajim/gtk/account_wizard.py:520 +#: gajim/gtk/groupchat_config.py:132 gajim/gtk/groupchat_config.py:399 +#: gajim/gtk/history.py:591 gajim/gtk/search.py:336 +msgid "Error" +msgstr "" + +#: gajim/gtk/account_wizard.py:402 gajim/gtk/account_wizard.py:403 +#, fuzzy +msgid "Connection failed" +msgstr "Niemahvyma dałučycca" + +#: gajim/gtk/account_wizard.py:404 +msgid "" +"Gajim was not able to reach the server. Make sure your XMPP address is " +"correct." +msgstr "" + +#: gajim/gtk/account_wizard.py:459 +#, fuzzy +msgid "Account is being created" +msgstr "Kont \"%s\" dałučany da servera" + +#: gajim/gtk/account_wizard.py:518 +msgid "The server rejected the registration without an error message" +msgstr "" + +#: gajim/gtk/account_wizard.py:530 gajim/gtk/accounts.py:572 +#, fuzzy +msgid "Add Account" +msgstr "_Dadaj kantakt..." + +#: gajim/gtk/account_wizard.py:612 gajim/gtk/groupchat_creation.py:138 +#, fuzzy +msgid "Invalid Address" +msgstr "Niapravilny fajł" + +#: gajim/gtk/account_wizard.py:636 +#, fuzzy +msgid "Create New Account" +msgstr "Stvary novy zapis" + +#: gajim/gtk/account_wizard.py:712 +#, fuzzy +msgid "Advanced settings" +msgstr "Admysłovyja dziejańni" + +#: gajim/gtk/account_wizard.py:774 +#, fuzzy +msgid "Invalid domain name" +msgstr "Niapravilnaja nazva kontu" + +#: gajim/gtk/account_wizard.py:791 +#, fuzzy +msgid "Must be a port number" +msgstr "Abrany port musić być numeram portu." + +#: gajim/gtk/account_wizard.py:798 +msgid "Port must be a number between 0 and 65535" +msgstr "" + +#: gajim/gtk/account_wizard.py:814 +#, fuzzy +msgid "Security Warning" +msgstr "Blakavańnie %s" + +#: gajim/gtk/account_wizard.py:833 +#, fuzzy, python-format +msgid "Unknown TLS error '%s'" +msgstr "Kanfihuracyja pakoju" + +#: gajim/gtk/account_wizard.py:868 gajim/gtk/account_wizard.py:871 +#, fuzzy +msgid "Create Account" +msgstr "Vydalajecca kont %s" + +#: gajim/gtk/account_wizard.py:922 +msgid "Redirect" +msgstr "" + +#: gajim/gtk/account_wizard.py:932 +#, fuzzy +msgid "Register on the Website" +msgstr "Zarehistrujsia na %s" + +#: gajim/gtk/account_wizard.py:943 +#, fuzzy +msgid "Account Added" +msgstr "Kont" + +#: gajim/gtk/account_wizard.py:944 +msgid "Account has been added successfully" +msgstr "Kont paśpiachova dadany" + +#: gajim/gtk/groupchat_invitation.py:57 +#, fuzzy +msgid "" +"has invited you to a group chat.\n" +"Do you want to join?" +msgstr "Zaznač pakoji, jakija chočaš pakinuć" + +#: gajim/gtk/groupchat_invitation.py:75 gajim/gtk/discovery.py:1706 +#: gajim/gtk/groupchat_join.py:68 gajim/data/gui/groupchat_control.ui:899 +#: gajim/data/gui/groupchat_control.ui:991 +#: gajim/data/gui/start_chat_dialog.ui:314 +msgid "_Join" +msgstr "_Dałučysia" + +#: gajim/gtk/tooltips.py:215 +#, python-format +msgid "%(owner_or_admin_or_member)s of this group chat" +msgstr "%(owner_or_admin_or_member)s hetaha pakoju" + +#: gajim/gtk/tooltips.py:474 +#, fuzzy +msgid "Connected" +msgstr "Złučeńnie" + +#: gajim/gtk/tooltips.py:476 +#, fuzzy +msgid "Disconnected" +msgstr "Kantakt adłučyŭsia" + +#: gajim/gtk/tooltips.py:530 +#, fuzzy +msgid "File Name: " +msgstr "Nazva fajłu: %s" + +#: gajim/gtk/tooltips.py:533 +#, fuzzy +msgid "?Noun:Download" +msgstr "Ściahni" + +#: gajim/gtk/tooltips.py:534 gajim/gtk/filetransfer.py:747 +msgid "Sender: " +msgstr "Adpraŭnik:" + +#: gajim/gtk/tooltips.py:539 +#, fuzzy +msgid "?Noun:Upload" +msgstr "Zaciahni na server" + +#: gajim/gtk/tooltips.py:540 gajim/gtk/filetransfer.py:240 +#: gajim/gtk/filetransfer.py:749 +msgid "Recipient: " +msgstr "Atrymaŭ: " + +#: gajim/gtk/tooltips.py:546 +#, fuzzy +msgid "?transfer type:Type: " +msgstr "Pieradača fajłu spyniena" + +#: gajim/gtk/tooltips.py:552 +#, fuzzy +msgid "?transfer status:Transferred: " +msgstr "?status pieradačy:Prypyniena" + +#: gajim/gtk/tooltips.py:555 +#, fuzzy +msgid "?transfer status:Status: " +msgstr "?status pieradačy:Prypyniena" + +#: gajim/gtk/tooltips.py:557 +#, fuzzy +msgid "Description: " +msgstr "Apisańnie: %s" + +#: gajim/gtk/tooltips.py:581 +#, fuzzy +msgid "?transfer status:Aborted" +msgstr "?status pieradačy:Prypyniena" + +#: gajim/gtk/tooltips.py:583 +#, fuzzy +msgid "?transfer status:Completed" +msgstr "?status pieradačy:Prypyniena" + +#: gajim/gtk/tooltips.py:585 +msgid "?transfer status:Paused" +msgstr "?status pieradačy:Prypyniena" + +#: gajim/gtk/tooltips.py:588 +#, fuzzy +msgid "?transfer status:Stalled" +msgstr "?status pieradačy:Prypyniena" + +#: gajim/gtk/tooltips.py:592 +#, fuzzy +msgid "?transfer status:Transferring" +msgstr "?status pieradačy:Prypyniena" + +#: gajim/gtk/tooltips.py:593 gajim/gtk/tooltips.py:594 +#, fuzzy +msgid "?transfer status:Not started" +msgstr "?status pieradačy:Prypyniena" + +#: gajim/gtk/remove_account.py:42 gajim/gtk/accounts.py:341 +#, fuzzy +msgid "Remove" +msgstr "_Vydal" + +#: gajim/gtk/remove_account.py:49 +#, fuzzy +msgid "Removing Account..." +msgstr "Vydalajecca kont %s" + +#: gajim/gtk/remove_account.py:50 +msgid "Trying to remove account..." +msgstr "" + +#: gajim/gtk/remove_account.py:53 gajim/gtk/remove_account.py:54 +#, fuzzy +msgid "Account Removed" +msgstr "Kont" + +#: gajim/gtk/remove_account.py:56 +#, fuzzy +msgid "Your account has has been removed successfully." +msgstr "Novy kont paśpiachova stvorany" + +#: gajim/gtk/remove_account.py:59 gajim/gtk/remove_account.py:60 +#, fuzzy +msgid "Account Removal Failed" +msgstr "Konty niedastupnyja" + +#: gajim/gtk/remove_account.py:171 gajim/gtk/remove_account.py:173 +#, fuzzy +msgid "Remove Account" +msgstr "Vydalajecca kont %s" + +#: gajim/gtk/remove_account.py:180 +#, fuzzy +msgid "This will remove your account from Gajim." +msgstr "Vydal kont _tolki dla Gajim" + +#: gajim/gtk/remove_account.py:189 +#, python-format +msgid "Do you want to unregister your account on %s as well?" +msgstr "" + +#: gajim/gtk/remove_account.py:198 +msgid "_Unregister account from service" +msgstr "" + +#: gajim/gtk/remove_account.py:217 +#, fuzzy +msgid "Account has to be connected" +msgstr "Kont \"%s\" dałučany da servera" + +#: gajim/gtk/filetransfer.py:91 +msgid "File" +msgstr "Fajł" + +#: gajim/gtk/filetransfer.py:108 +msgid "Time" +msgstr "Čas" + +#: gajim/gtk/filetransfer.py:121 gajim/data/gui/filetransfer_progress.ui:110 +msgid "Progress" +msgstr "Prahres" + +#: gajim/gtk/filetransfer.py:228 +#, fuzzy, python-format +msgid "File name: %s" +msgstr "Nazva fajłu: %s" + +#: gajim/gtk/filetransfer.py:229 gajim/gtk/filetransfer.py:470 +#, python-format +msgid "Size: %s" +msgstr "Pamier: %s" + +#: gajim/gtk/filetransfer.py:239 +#, python-format +msgid "Sender: %s" +msgstr "Dasłaŭ: %s" + +#: gajim/gtk/filetransfer.py:251 +#, python-format +msgid "Saved in: %s" +msgstr "Zapisany ŭ: %s" + +#: gajim/gtk/filetransfer.py:256 +msgid "File transfer completed" +msgstr "Pieradača fajłu skončana" + +#: gajim/gtk/filetransfer.py:276 gajim/gtk/filetransfer.py:285 +#, fuzzy +msgid "Connection with peer could not be established." +msgstr "NIemahčyma złučycca ź inšym bokam." + +#: gajim/gtk/filetransfer.py:293 +#, python-format +msgid "Filename: %s" +msgstr "Nazva fajłu: %s" + +#: gajim/gtk/filetransfer.py:294 +#, python-format +msgid "Recipient: %s" +msgstr "Atrymoŭca: %s" + +#: gajim/gtk/filetransfer.py:296 +#, python-format +msgid "Error message: %s" +msgstr "Tekst pamyłki: %s" + +#: gajim/gtk/filetransfer.py:335 +#, python-format +msgid "" +"The file %s has been received, but it seems to have been damaged along the " +"way.\n" +"Do you want to download it again?" +msgstr "" + +#: gajim/gtk/filetransfer.py:341 +#, fuzzy +msgid "_Download Again" +msgstr "_Bolš nie pytajsia" + +#: gajim/gtk/filetransfer.py:356 +#, fuzzy +msgid "Gajim can not read this file" +msgstr "Gajim nia moža dastupicca da hetaha fajłu" + +#: gajim/gtk/filetransfer.py:357 +msgid "Another process is using this file." +msgstr "" + +#: gajim/gtk/filetransfer.py:399 +#, fuzzy, python-format +msgid "Cannot overwrite existing file '%s'" +msgstr "Niemahčyma nadpisać fajł \"%s\"" + +#: gajim/gtk/filetransfer.py:400 +msgid "" +"A file with this name already exists and you do not have permission to " +"overwrite it." +msgstr "" +"Fajł z takoj nazvaj užo isnuje, i nie staje pravoŭ dla nadpisańnia hetaha " +"fajłu." + +#: gajim/gtk/filetransfer.py:424 +#, fuzzy +msgid "File Transfer Conflict" +msgstr "Pieradača fajłu skončana" + +#: gajim/gtk/filetransfer.py:425 +#, fuzzy +msgid "File already exists" +msgstr "Hety fajł užo isnuje" + +#: gajim/gtk/filetransfer.py:426 +msgid "Resume download or replace file?" +msgstr "" + +#: gajim/gtk/filetransfer.py:430 +#, fuzzy +msgid "Resume _Download" +msgstr "Ściahni" + +#: gajim/gtk/filetransfer.py:433 +#, fuzzy +msgid "Replace _File" +msgstr "Viečar" + +#: gajim/gtk/filetransfer.py:443 +#, fuzzy, python-format +msgid "Directory '%s' is not writable" +msgstr "Niemahčyma zapisać u kataloh \"%s\"" + +#: gajim/gtk/filetransfer.py:444 +#, fuzzy +msgid "You do not have permissions to create files in this directory." +msgstr "Nie staje pravoŭ dla stvareńnia fajłaŭ u hetym katalohu." + +#: gajim/gtk/filetransfer.py:467 +#, python-format +msgid "File: %s" +msgstr "Fajł: %s" + +#: gajim/gtk/filetransfer.py:473 +#, python-format +msgid "Type: %s" +msgstr "Typ: %s" + +#: gajim/gtk/filetransfer.py:475 +#, python-format +msgid "Description: %s" +msgstr "Apisańnie: %s" + +#: gajim/gtk/filetransfer.py:486 +#, fuzzy, python-format +msgid "%s wants to send you a file" +msgstr "%s choča dasłać tabie fajł." + +#: gajim/gtk/filetransfer.py:514 +#, fuzzy +msgid "Checking file…" +msgstr "Dasyłańnie profilu..." + +#: gajim/gtk/filetransfer.py:529 +#, fuzzy +msgid "File error" +msgstr "Pamyłka pieradačy fajłu" + +#: gajim/gtk/filetransfer.py:566 +#, python-format +msgid "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" +msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" + +#: gajim/gtk/filetransfer.py:663 +#, python-format +msgid "(%(filesize_unit)s/s)" +msgstr "(%(filesize_unit)s/s)" + +#: gajim/gtk/filetransfer.py:716 gajim/gtk/filetransfer.py:720 +msgid "Invalid File" +msgstr "Niapravilny fajł" + +#: gajim/gtk/filetransfer.py:716 +msgid "File: " +msgstr "Fajł: " + +#: gajim/gtk/filetransfer.py:721 +msgid "It is not possible to send empty files" +msgstr "Niemahčyma dasyłać pustyja fajły" + +#: gajim/gtk/filetransfer.py:1043 +#, fuzzy +msgid "Choose a File to Send…" +msgstr "Abiary fajł dla adsyłańnia..." + +#: gajim/gtk/roster_item_exchange.py:35 +#: gajim/data/gui/roster_item_exchange_window.ui:39 +#, fuzzy +msgid "Contact List Exchange" +msgstr "Kantakt adłučyŭsia" + +#: gajim/gtk/roster_item_exchange.py:49 +#, fuzzy, python-format +msgid "%s would like to add some contacts to your contact list." +msgstr "Ja chaču dadać Vas u svoj śpis kantaktaŭ." + +#: gajim/gtk/roster_item_exchange.py:52 +#, fuzzy, python-format +msgid "%s would like to modify some contacts in your contact list." +msgstr "Ja chaču dadać Vas u svoj śpis kantaktaŭ." + +#: gajim/gtk/roster_item_exchange.py:55 +#, fuzzy, python-format +msgid "%s would like to delete some contacts from your contact list." +msgstr "Ja chaču dadać Vas u svoj śpis kantaktaŭ." + +#: gajim/gtk/roster_item_exchange.py:71 gajim/gtk/roster_item_exchange.py:130 +#, fuzzy +msgid "Add" +msgstr "Adras" + +#: gajim/gtk/roster_item_exchange.py:73 gajim/gtk/roster_item_exchange.py:161 +#, fuzzy +msgid "Modify" +msgstr "_Madyfikuj" + +#: gajim/gtk/roster_item_exchange.py:80 +msgid "JID" +msgstr "JID" + +#: gajim/gtk/roster_item_exchange.py:86 +#, fuzzy +msgid "Groups" +msgstr "Hrupa" + +#: gajim/gtk/roster_item_exchange.py:196 +#, fuzzy, python-format +msgid "%s suggested me to add you to my contact list." +msgstr "Ja chaču dadać ciabie ŭ svoj śpis kantaktaŭ." + +#: gajim/gtk/roster_item_exchange.py:211 +#, fuzzy, python-format +msgid "Added %d contact" +msgid_plural "Added %d contacts" +msgstr[0] "_Dadaj kantakt" +msgstr[1] "_Dadaj kantakt" +msgstr[2] "_Dadaj kantakt" + +#: gajim/gtk/roster_item_exchange.py:253 +#, fuzzy, python-format +msgid "Removed %d contact" +msgid_plural "Removed %d contacts" +msgstr[0] "Vydalaje kantakt sa śpisu" +msgstr[1] "Vydalaje kantakt sa śpisu" +msgstr[2] "Vydalaje kantakt sa śpisu" + +#: gajim/gtk/groupchat_creation.py:45 gajim/data/gui/groupchat_creation.ui:81 +#, fuzzy +msgid "Create Group Chat" +msgstr "Pakiń pakoji" + +#: gajim/gtk/groupchat_creation.py:101 gajim/gtk/groupchat_creation.py:103 +msgid " (optional)..." +msgstr "" + +#: gajim/gtk/groupchat_creation.py:186 +#, fuzzy +msgid "Not Connected" +msgstr "Złučeńnie" + +#: gajim/gtk/groupchat_creation.py:187 +#, fuzzy +msgid "You have to be connected to create a group chat." +msgstr "Ty nie dałučyŭsia da pakoju." + +#: gajim/gtk/status_selector.py:121 gajim/gtk/status_selector.py:127 +#, fuzzy, python-format +msgid "Status: %s" +msgstr "Status: " + +#: gajim/gtk/status_selector.py:125 +#, fuzzy, python-format +msgid "%s (desynced)" +msgstr "Pašyranyja" + +#: gajim/gtk/subscription_request.py:35 +msgid "Subscription Request" +msgstr "Zapyt aŭtaryzacyi" + +#: gajim/gtk/subscription_request.py:47 +#, fuzzy, python-format +msgid "Subscription request for account %(account)s from %(jid)s" +msgstr "Zapyt aŭtaryzacyi dla kontu %s ad %s" + +#: gajim/gtk/subscription_request.py:50 +#, python-format +msgid "Subscription request from %s" +msgstr "Zapyt aŭtaryzacyi ad %s" + +#: gajim/gtk/single_message.py:51 +#, fuzzy +msgid "Send Single Message" +msgstr "_Dašli asobnaje paviedamleńnie" + +#: gajim/gtk/single_message.py:101 +#, fuzzy +msgid "(No subject)" +msgstr "tema" + +#: gajim/gtk/single_message.py:157 +#, python-format +msgid "Single Message using account %s" +msgstr "Asobnaje paviedamleńnie z kontu %s" + +#: gajim/gtk/single_message.py:159 +#, python-format +msgid "Single Message in account %s" +msgstr "Asobnaje paviedamleńnie z kontu %s" + +#: gajim/gtk/single_message.py:161 +msgid "Single Message" +msgstr "Asobnaje paviedamleńnie" + +#: gajim/gtk/single_message.py:164 +#, python-format +msgid "Send %s" +msgstr "Dašli %s" + +#: gajim/gtk/single_message.py:183 +#, python-format +msgid "Received %s" +msgstr "Atrymana %s" + +#: gajim/gtk/single_message.py:205 +#, fuzzy, python-format +msgid "Characters typed: %s" +msgstr "Mianuška nie dazvolenaja: %s" + +#: gajim/gtk/single_message.py:210 gajim/gtk/xml_console.py:169 +msgid "Connection not available" +msgstr "Złučeńnia niama" + +#: gajim/gtk/single_message.py:211 +#, python-format +msgid "Please make sure you are connected with \"%s\"." +msgstr "Kali łaska, pravier, ci jość złučeńnie z \"%s\"." + +#: gajim/gtk/single_message.py:239 +#, fuzzy, python-format +msgid "" +"It is not possible to send a message to %s, this XMPP Address is not valid." +msgstr "Niemahčyma dasyłać pustyja fajły" + +#: gajim/gtk/single_message.py:316 +#, python-format +msgid "RE: %s" +msgstr "RE: %s" + +#: gajim/gtk/single_message.py:317 +#, python-format +msgid "%s wrote:\n" +msgstr "%s napisaŭ:\n" + +#: gajim/gtk/change_password.py:42 +#, fuzzy +msgid "Change" +msgstr "Źmiani _mianušku" + +#: gajim/gtk/change_password.py:51 +#, fuzzy +msgid "Changing Password..." +msgstr "Źmiani parol" + +#: gajim/gtk/change_password.py:52 +#, fuzzy +msgid "Trying to change password..." +msgstr "Klikni, kab źmianić parol dla kontu" + +#: gajim/gtk/change_password.py:55 gajim/gtk/change_password.py:56 +#, fuzzy +msgid "Password Changed" +msgstr "Vymahaje parolu" + +#: gajim/gtk/change_password.py:57 +#, fuzzy +msgid "Your password has successfully been changed." +msgstr "_Nałady" + +#: gajim/gtk/change_password.py:60 gajim/gtk/change_password.py:61 +#, fuzzy +msgid "Password Change Failed" +msgstr "Vymahaje parolu" + +#: gajim/gtk/change_password.py:63 +#, fuzzy +msgid "An error occurred while trying to change your password." +msgstr "Adbyłasia pamyłka padčas stvareńnia kontu" + +#: gajim/gtk/change_password.py:145 gajim/gtk/change_password.py:147 +#: gajim/gtk/change_password.py:224 gajim/gtk/accounts.py:994 +msgid "Change Password" +msgstr "Źmiani parol" + +#: gajim/gtk/change_password.py:154 +#, fuzzy +msgid "Please enter your new password." +msgstr "Stvary novy zapis" + +#: gajim/gtk/change_password.py:167 +#, fuzzy +msgid "Enter new password..." +msgstr "Uviadzi novy parol:" + +#: gajim/gtk/change_password.py:176 +#, fuzzy +msgid "Confirm new password..." +msgstr "Źmiani parol" + +#: gajim/gtk/change_password.py:191 +msgid "Passwords do not match" +msgstr "Paroli roźniacca" + +#: gajim/gtk/bookmarks.py:48 +#, fuzzy, python-format +msgid "Bookmarks for %s" +msgstr "_Stvary zakładku dla hetaja pakoju" + +#: gajim/gtk/xml_console.py:95 gajim/gtk/xml_console.py:279 +#, fuzzy +msgid "All Accounts" +msgstr "Konty" + +#: gajim/gtk/xml_console.py:170 +#, fuzzy, python-format +msgid "Please make sure you are connected with '%s'." +msgstr "Kali łaska, pravier, ci jość złučeńnie z \"%s\"." + +#: gajim/gtk/xml_console.py:180 +#, fuzzy +msgid "Invalid Node" +msgstr "Niapravilny fajł" + +#: gajim/gtk/xml_console.py:282 +msgid "Account" +msgstr "Kont" + +#: gajim/gtk/xml_console.py:309 gajim/data/gui/xml_console.ui:241 +#, fuzzy +msgid "Filter" +msgstr "Filter:" + +#: gajim/gtk/dataform.py:252 gajim/gtk/dataform.py:290 +#, fuzzy +msgid "Required" +msgstr "Vymahaje parolu" + +#: gajim/gtk/dataform.py:315 +msgid "Yes" +msgstr "" + +#: gajim/gtk/dataform.py:315 +#, fuzzy +msgid "No" +msgstr "Nijaki" + +#: gajim/gtk/dataform.py:701 gajim/gtk/adhoc.py:86 +#: gajim/data/gui/profile.ui:396 +#, fuzzy +msgid "Cancel" +msgstr "_Anuluj" + +#: gajim/gtk/dataform.py:703 +msgid "Submit" +msgstr "" + +#: gajim/gtk/discovery.py:69 +msgid "This service has not yet responded with detailed information" +msgstr "Hety servis dahetul nie adkazaŭ na zapyt padrabiaznych źviestak" + +#: gajim/gtk/discovery.py:70 +#, fuzzy +msgid "" +"This service could not respond with detailed information.\n" +"It is most likely a legacy service or broken." +msgstr "" +"Hety servis nia zmoh adkazać na zapyt padrabiaznych źviestak.\n" +"Servis sastareły albo złamany" + +#: gajim/gtk/discovery.py:126 +msgid "Others" +msgstr "Inšyja" + +#: gajim/gtk/discovery.py:129 gajim/data/gui/shortcuts_window.ui:307 +#, fuzzy +msgid "Group Chat" +msgstr "_Pakoj" + +#: gajim/gtk/discovery.py:523 +msgid "Without a connection, you can not browse available services" +msgstr "Nia možaš prahladać najaŭnyja servisy, nie dałučyŭšysia da servera" + +#: gajim/gtk/discovery.py:610 +#, python-format +msgid "Service Discovery using account %s" +msgstr "Prahlad servisaŭ dla kontu %s" + +#: gajim/gtk/discovery.py:612 +msgid "Service Discovery" +msgstr "Prahlad servisaŭ" + +#: gajim/gtk/discovery.py:695 +msgid "The service could not be found" +msgstr "Niemahčyma znajści servis" + +#: gajim/gtk/discovery.py:696 +msgid "" +"There is no service at the address you entered, or it is not responding. " +"Check the address and try again." +msgstr "" +"Niama servisu z akreślenym adrasam, albo jon nie adkazvaje. Pravier adras i " +"pasprabuj znoŭ." + +#: gajim/gtk/discovery.py:703 gajim/gtk/discovery.py:1046 +msgid "The service is not browsable" +msgstr "Niemahčyma ahladać hety servis" + +#: gajim/gtk/discovery.py:704 +msgid "This type of service does not contain any items to browse." +msgstr "Taki servis nia ŭtrymlivaje elementaŭ dla ahladańnia." + +#: gajim/gtk/discovery.py:742 gajim/gtk/discovery.py:751 +#, fuzzy +msgid "Invalid Server Name" +msgstr "Niapravilnaje imia karystalnika" + +#: gajim/gtk/discovery.py:810 +#, fuzzy, python-format +msgid "Browsing %(address)s using account %(account)s" +msgstr "Prahlad %s dla kontu %s" + +#: gajim/gtk/discovery.py:855 +#, fuzzy +msgid "Browse" +msgstr "_Prahladaj" + +#: gajim/gtk/discovery.py:1047 +msgid "This service does not contain any items to browse." +msgstr "Hety servis nia ŭtrymlivaje elementaŭ dla prahladu." + +#: gajim/gtk/discovery.py:1259 +#, fuzzy +msgid "_Command" +msgstr "Zahady: %s" + +#: gajim/gtk/discovery.py:1268 gajim/gtk/discovery.py:1425 +msgid "Re_gister" +msgstr "_Zarehistrujsia" + +#: gajim/gtk/discovery.py:1275 +#, fuzzy +msgid "Join" +msgstr "_Dałučysia" + +#: gajim/gtk/discovery.py:1281 +msgid "_Search" +msgstr "Š_ukaj" + +#: gajim/gtk/discovery.py:1423 gajim/data/gui/profile.ui:353 +msgid "_Edit" +msgstr "_Źmianić" + +#: gajim/gtk/discovery.py:1461 +#, fuzzy, python-format +msgid "Scanning %(current)d / %(total)d ..." +msgstr "Skanavańnie %d / %d.." + +#: gajim/gtk/discovery.py:1660 +msgid "Users" +msgstr "Karystalniki" + +#: gajim/gtk/discovery.py:1668 gajim/data/gui/groupchat_info_scrolled.ui:32 +#: gajim/data/gui/filetransfers_send_file_dialog.ui:15 +#: gajim/data/gui/advanced_configuration.ui:82 +msgid "Description" +msgstr "Apisańnie" + +#: gajim/gtk/discovery.py:1676 +msgid "Id" +msgstr "Identyfikatar" + +#: gajim/gtk/discovery.py:1905 +msgid "Subscribed" +msgstr "Aŭtaryzavany" + +#: gajim/gtk/discovery.py:1914 +#, fuzzy +msgid "Node" +msgstr "Nijaki" + +#: gajim/gtk/discovery.py:1983 +#, fuzzy +msgid "_New post" +msgstr "Novy zapis" + +#: gajim/gtk/discovery.py:1992 +msgid "_Subscribe" +msgstr "_Aŭtaryzuj" + +#: gajim/gtk/discovery.py:2000 +msgid "_Unsubscribe" +msgstr "_Anuluj aŭtaryzacyju" + +#: gajim/gtk/groupchat_settings.py:43 +msgid "Show Join/Leave" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:53 +#, fuzzy +msgid "Notify on all Messages" +msgstr "Šablony paviedamleńniaŭ statusu:" + +#: gajim/gtk/groupchat_settings.py:58 +msgid "Minimize on Close" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:63 +msgid "Minimize When Joining Automatically" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:68 +#, fuzzy +msgid "Send Chat State" +msgstr "Apošni status: %s" + +#: gajim/gtk/groupchat_settings.py:74 +#, fuzzy +msgid "Send Chat Markers" +msgstr "Apošni status: %s" + +#: gajim/gtk/groupchat_settings.py:77 +msgid "Let others know if you read up to this point" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:80 +msgid "Sync Threshold" +msgstr "" + +#: gajim/gtk/proxies.py:33 +#, fuzzy +msgid "Manage Proxies" +msgstr "Kiruj profilami proxy" + +#: gajim/gtk/manage_sounds.py:40 +#, fuzzy +msgid "Manage Sounds" +msgstr "Kiruj kontami" + +#: gajim/gtk/manage_sounds.py:51 +msgid "Wav Sounds" +msgstr "Fajły ŭ Wav" + +#: gajim/gtk/manage_sounds.py:85 +#, fuzzy +msgid "Attention Message Received" +msgstr "Atrymanaje pieršaje paviedamleńnie" + +#: gajim/gtk/manage_sounds.py:86 +msgid "First Message Received" +msgstr "Atrymanaje pieršaje paviedamleńnie" + +#: gajim/gtk/manage_sounds.py:87 +#, fuzzy +msgid "Next Message Received Focused" +msgstr "Atrymanaje novaje paviedamleńnie" + +#: gajim/gtk/manage_sounds.py:88 +#, fuzzy +msgid "Next Message Received Unfocused" +msgstr "Atrymanaje novaje paviedamleńnie" + +#: gajim/gtk/manage_sounds.py:89 +msgid "Contact Connected" +msgstr "Kantakt dałučyŭsia" + +#: gajim/gtk/manage_sounds.py:90 +msgid "Contact Disconnected" +msgstr "Kantakt adłučyŭsia" + +#: gajim/gtk/manage_sounds.py:91 +msgid "Message Sent" +msgstr "Paviedamleńnie dasłanaje" + +#: gajim/gtk/manage_sounds.py:92 +msgid "Group Chat Message Highlight" +msgstr "Padśviatleńnie paviedamleńnia ŭ pakoji" + +#: gajim/gtk/manage_sounds.py:93 +msgid "Group Chat Message Received" +msgstr "Novaje paviedamleńnie ŭ pakoji" + +#: gajim/gtk/groupchat_info.py:38 +#, fuzzy +msgid "?Group chat feature:Open" +msgstr "?Funkcyja kantaktu ŭ pakoji:Niama" + +#: gajim/gtk/groupchat_info.py:39 +#, fuzzy +msgid "Anyone can join this group chat" +msgstr "%s dałučyŭsia da pakoju" + +#: gajim/gtk/groupchat_info.py:42 +#, fuzzy +msgid "?Group chat feature:Members Only" +msgstr "Padśviatleńnie paviedamleńnia ŭ pakoji" + +#: gajim/gtk/groupchat_info.py:43 +msgid "This group chat is restricted to members only" +msgstr "" + +#: gajim/gtk/groupchat_info.py:47 +#, fuzzy +msgid "?Group chat feature:Not Anonymous" +msgstr "Pakoji" + +#: gajim/gtk/groupchat_info.py:48 +msgid "All other group chat participants can see your XMPP address" +msgstr "" + +#: gajim/gtk/groupchat_info.py:52 +#, fuzzy +msgid "?Group chat feature:Semi-Anonymous" +msgstr "Padśviatleńnie paviedamleńnia ŭ pakoji" + +#: gajim/gtk/groupchat_info.py:53 +msgid "Only moderators can see your XMPP address" +msgstr "" + +#: gajim/gtk/groupchat_info.py:56 +#, fuzzy +msgid "?Group chat feature:Moderated" +msgstr "?Funkcyja kantaktu ŭ pakoji:Niama" + +#: gajim/gtk/groupchat_info.py:57 +msgid "" +"Participants entering this group chat need to request permission to send " +"messages" +msgstr "" + +#: gajim/gtk/groupchat_info.py:61 +#, fuzzy +msgid "?Group chat feature:Not Moderated" +msgstr "Pakoji" + +#: gajim/gtk/groupchat_info.py:62 +msgid "Participants entering this group chat are allowed to send messages" +msgstr "" + +#: gajim/gtk/groupchat_info.py:66 +#, fuzzy +msgid "?Group chat feature:Public" +msgstr "Padśviatleńnie paviedamleńnia ŭ pakoji" + +#: gajim/gtk/groupchat_info.py:67 +msgid "Group chat can be found via search" +msgstr "" + +#: gajim/gtk/groupchat_info.py:70 +#, fuzzy +msgid "?Group chat feature:Hidden" +msgstr "?Funkcyja kantaktu ŭ pakoji:Niama" + +#: gajim/gtk/groupchat_info.py:71 +#, fuzzy +msgid "This group chat can not be found via search" +msgstr "Dla hetaha pakoju nie akreślena tema" + +#: gajim/gtk/groupchat_info.py:74 +#, fuzzy +msgid "?Group chat feature:Password Required" +msgstr "Pakoji" + +#: gajim/gtk/groupchat_info.py:75 +msgid "This group chat does require a password upon entry" +msgstr "" + +#: gajim/gtk/groupchat_info.py:79 +#, fuzzy +msgid "?Group chat feature:No Password Required" +msgstr "Pakoji" + +#: gajim/gtk/groupchat_info.py:80 +msgid "This group chat does not require a password upon entry" +msgstr "" + +#: gajim/gtk/groupchat_info.py:84 +#, fuzzy +msgid "?Group chat feature:Persistent" +msgstr "Pakoji" + +#: gajim/gtk/groupchat_info.py:85 +msgid "This group chat persists even if there are no participants" +msgstr "" + +#: gajim/gtk/groupchat_info.py:89 +#, fuzzy +msgid "?Group chat feature:Temporary" +msgstr "?Funkcyja kantaktu ŭ pakoji:Niama" + +#: gajim/gtk/groupchat_info.py:90 +msgid "This group chat will be destroyed once the last participant left" +msgstr "" + +#: gajim/gtk/groupchat_info.py:94 +#, fuzzy +msgid "?Group chat feature:Archiving" +msgstr "Zaprašeńnie ŭ pakoj" + +#: gajim/gtk/groupchat_info.py:95 +#, fuzzy +msgid "Messages are archived on the server" +msgstr "Niama złučeńnia z serveram" + +#: gajim/gtk/groupchat_info.py:205 +msgid "Website" +msgstr "" + +#: gajim/gtk/accounts.py:122 +#, fuzzy +msgid "Re-Login" +msgstr "Pieradałučycca?" + +#: gajim/gtk/accounts.py:123 +#, fuzzy +msgid "Re-Login now?" +msgstr "Pieradałučycca?" + +#: gajim/gtk/accounts.py:124 +#, fuzzy +msgid "To apply all changes instantly, you have to re-login." +msgstr "Kali chočaš zadziejničać źmieny, treba pieradałučycca." + +#: gajim/gtk/accounts.py:128 +msgid "_Re-Login" +msgstr "" + +#: gajim/gtk/accounts.py:311 gajim/data/gui/server_info.ui:386 +msgid "Connection" +msgstr "Złučeńnie" + +#: gajim/gtk/accounts.py:496 +#, fuzzy +msgid "Please check if Bonjour is installed." +msgstr "Kali łaska, pravier instalacyju Avahi." + +#: gajim/gtk/accounts.py:498 +#, fuzzy +msgid "Please check if Avahi is installed." +msgstr "Kali łaska, pravier instalacyju Avahi." + +#: gajim/gtk/accounts.py:537 +#, fuzzy +msgid "Disable Account" +msgstr "Niapravilnaja nazva kontu" + +#: gajim/gtk/accounts.py:538 +#, fuzzy, python-format +msgid "Account %s is still connected" +msgstr "Kont \"%s\" dałučany da servera" + +#: gajim/gtk/accounts.py:539 +#, fuzzy +msgid "All chat and group chat windows will be closed." +msgstr "Usie adčynienyja vokny razmovy buduć začynienyja. Praciahnuć?" + +#: gajim/gtk/accounts.py:543 +#, fuzzy +msgid "_Disable Account" +msgstr "Niapravilnaja nazva kontu" + +#: gajim/gtk/accounts.py:614 +msgid "Label" +msgstr "" + +#: gajim/gtk/accounts.py:618 gajim/data/gui/groupchat_control.ui:99 +#: gajim/data/gui/chat_control.ui:363 +msgid "Color" +msgstr "Koler" + +#: gajim/gtk/accounts.py:620 +msgid "Recognize your account by color" +msgstr "" + +#: gajim/gtk/accounts.py:622 +msgid "Login" +msgstr "" + +#: gajim/gtk/accounts.py:627 +#, fuzzy +msgid "Import Contacts" +msgstr "Kantakty" + +#: gajim/gtk/accounts.py:636 gajim/gtk/accounts.py:865 +#, fuzzy +msgid "Connect on startup" +msgstr "_Zlučajsia pry starcie Gajim" + +#: gajim/gtk/accounts.py:640 gajim/gtk/accounts.py:870 +#, fuzzy +msgid "Save conversations for all contacts" +msgstr "Zachoŭvaj _žurnały razmoŭ dla ŭsich kantaktaŭ" + +#: gajim/gtk/accounts.py:642 gajim/gtk/accounts.py:872 +msgid "Store conversations on the harddrive" +msgstr "" + +#: gajim/gtk/accounts.py:644 gajim/gtk/accounts.py:874 +#, fuzzy +msgid "Global Status" +msgstr "Usie statusy" + +#: gajim/gtk/accounts.py:646 +#, fuzzy +msgid "Synchronise the status of all accounts" +msgstr "Źmianiaje status kontu albo kontaŭ" + +#: gajim/gtk/accounts.py:648 +msgid "Remember Last Status" +msgstr "" + +#: gajim/gtk/accounts.py:650 +msgid "Restore status and status message of your last session" +msgstr "" + +#: gajim/gtk/accounts.py:653 +msgid "Use file transfer proxies" +msgstr "Skarystaj proxy dla pieradačy fajłaŭ" + +#: gajim/gtk/accounts.py:670 +#, fuzzy +msgid "Forever" +msgstr "_Nikoli" + +#: gajim/gtk/accounts.py:671 gajim/common/const.py:1110 +msgid "1 Day" +msgstr "" + +#: gajim/gtk/accounts.py:672 gajim/common/const.py:1112 +msgid "1 Week" +msgstr "" + +#: gajim/gtk/accounts.py:673 gajim/common/const.py:1113 +msgid "1 Month" +msgstr "" + +#: gajim/gtk/accounts.py:674 +msgid "3 Months" +msgstr "" + +#: gajim/gtk/accounts.py:675 +msgid "6 Months" +msgstr "" + +#: gajim/gtk/accounts.py:676 +msgid "1 Year" +msgstr "" + +#: gajim/gtk/accounts.py:686 +#, fuzzy +msgid "Idle Time" +msgstr " ad %s" + +#: gajim/gtk/accounts.py:688 +msgid "Disclose the time of your last activity" +msgstr "" + +#: gajim/gtk/accounts.py:690 +msgid "Local System Time" +msgstr "" + +#: gajim/gtk/accounts.py:692 +msgid "Disclose the local system time of the device Gajim runs on" +msgstr "" + +#: gajim/gtk/accounts.py:695 +#, fuzzy +msgid "Client / Operating System" +msgstr "Niapravilnaje imia karystalnika" + +#: gajim/gtk/accounts.py:697 +#, fuzzy +msgid "" +"Disclose information about the client and operating system you currently use" +msgstr "" +"Kali ŭklučanaja hetaja opcyja, Gajim budzie dałučacca da hetaha pakoju pry " +"starcie" + +#: gajim/gtk/accounts.py:700 +#, fuzzy +msgid "Ignore Unknown Contacts" +msgstr "Kantakty" + +#: gajim/gtk/accounts.py:702 +#, fuzzy +msgid "Ignore everything from contacts not in your Roster" +msgstr "_Ihnaruj padzieji ad kantaktaŭ, jakich niama ŭ śpisie kantaktaŭ" + +#: gajim/gtk/accounts.py:705 +#, fuzzy +msgid "Send Message Receipts" +msgstr "Atrymanaje pieršaje paviedamleńnie" + +#: gajim/gtk/accounts.py:707 +msgid "Tell your contacts if you received a message" +msgstr "" + +#: gajim/gtk/accounts.py:713 +#, fuzzy +msgid "Default for chats" +msgstr "Achvotna parazmaŭlaju" + +#: gajim/gtk/accounts.py:716 gajim/gtk/accounts.py:741 +msgid "Reset all chats to the current default value" +msgstr "" + +#: gajim/gtk/accounts.py:722 +#, fuzzy +msgid "Send Chatstate in Group Chats" +msgstr "Niemahčyma dałučycca da pakoju" + +#: gajim/gtk/accounts.py:725 +#, fuzzy +msgid "Default for group chats" +msgstr "Novaja hrupavaja razmova" + +#: gajim/gtk/accounts.py:739 +#, fuzzy +msgid "Default for chats and private group chats" +msgstr "%s dałučyŭsia da pakoju" + +#: gajim/gtk/accounts.py:747 +#, fuzzy +msgid "Keep Chat History" +msgstr "Niadaŭna:" + +#: gajim/gtk/accounts.py:751 +msgid "How long Gajim should keep your chat history" +msgstr "" + +#: gajim/gtk/accounts.py:787 gajim/data/gui/manage_proxies.ui:337 +#, fuzzy +msgid "Proxy" +msgstr "Proxy:" + +#: gajim/gtk/accounts.py:794 gajim/gtk/accounts.py:949 +#: gajim/data/gui/server_info.ui:20 +#, fuzzy +msgid "Hostname" +msgstr "Nazva hosta: " + +#: gajim/gtk/accounts.py:795 +msgid "Manually set the hostname for the server" +msgstr "" + +#: gajim/gtk/accounts.py:798 gajim/data/gui/vcard_information_window.ui:72 +#, fuzzy +msgid "Resource" +msgstr "Krynica:" + +#: gajim/gtk/accounts.py:801 gajim/gtk/accounts.py:917 +#: gajim/gtk/accounts.py:925 +#, fuzzy +msgid "Priority" +msgstr "Pryjary_tet:" + +#: gajim/gtk/accounts.py:804 +#, fuzzy +msgid "Use Unencrypted Connection" +msgstr "Złučeńnie" + +#: gajim/gtk/accounts.py:806 gajim/common/config.py:273 +#, fuzzy +msgid "Use an unencrypted connection to the server" +msgstr "Niama złučeńnia z serveram" + +#: gajim/gtk/accounts.py:808 +#, fuzzy +msgid "Confirm Unencrypted Connection" +msgstr "Złučeńnie" + +#: gajim/gtk/accounts.py:811 +#, fuzzy +msgid "Show a confirmation dialog before connecting unencrypted" +msgstr "" +"Ci treba pakazvać akno paćvierdžańnia pry stvareńni metakantaktu? Pusty " +"radok aznačaje, što hetaje akno nikoli nia budzie pakazvacca." + +#: gajim/gtk/accounts.py:835 gajim/data/gui/zeroconf_information_window.ui:8 +#: gajim/data/gui/vcard_information_window.ui:8 +#: gajim/data/gui/subscription_request_window.ui:164 +msgid "Contact Information" +msgstr "Źviestki ab kantakcie" + +#: gajim/gtk/accounts.py:837 +msgid "Request contact information (Mood, Activity, Tune, Location)" +msgstr "" + +#: gajim/gtk/accounts.py:840 +#, fuzzy +msgid "Accept all Contact Requests" +msgstr "Zapyt na pieradaču fajłu" + +#: gajim/gtk/accounts.py:842 +msgid "Automatically accept all contact requests" +msgstr "" + +#: gajim/gtk/accounts.py:844 +#, fuzzy +msgid "Filetransfer Preference" +msgstr "Pamyłka pieradačy fajłu" + +#: gajim/gtk/accounts.py:846 +#, fuzzy +msgid "Upload Files" +msgstr "Zapišy fajł jak..." + +#: gajim/gtk/accounts.py:847 +#, fuzzy +msgid "Send Files Directly" +msgstr "Zapišy fajł jak..." + +#: gajim/gtk/accounts.py:848 +msgid "Preferred file transfer mechanism for file drag&drop on a chat window" +msgstr "" + +#: gajim/gtk/accounts.py:867 +#, fuzzy +msgid "Use environment variable" +msgstr "Złučeńnia niama" + +#: gajim/gtk/accounts.py:876 +#, fuzzy +msgid "Synchronize the status of all accounts" +msgstr "Źmianiaje status kontu albo kontaŭ" + +#: gajim/gtk/accounts.py:886 +#, fuzzy +msgid "First Name" +msgstr "Imia:" + +#: gajim/gtk/accounts.py:889 +#, fuzzy +msgid "Last Name" +msgstr "Proźvišča:" + +#: gajim/gtk/accounts.py:895 gajim/gtk/profile.py:32 gajim/gtk/vcard_grid.py:39 +#, fuzzy +msgid "Email" +msgstr "Novy list" + +#: gajim/gtk/accounts.py:913 +#, fuzzy +msgid "Adjust to status" +msgstr "_Dastasuj da statusu" + +#: gajim/gtk/accounts.py:945 +msgid "Enable" +msgstr "Ukluč" + +#: gajim/gtk/accounts.py:953 +#, fuzzy +msgid "Port" +msgstr "_Port:" + +#: gajim/gtk/accounts.py:957 gajim/data/gui/server_info.ui:250 +msgid "Type" +msgstr "Typ" + +#: gajim/gtk/accounts.py:963 +#, fuzzy +msgid "Connection Settings" +msgstr "Złučeńnie" + +#: gajim/gtk/accounts.py:971 +#, fuzzy +msgid "Client Certificate" +msgstr "Niapravilnaje imia karystalnika" + +#: gajim/gtk/accounts.py:973 +msgid "PKCS12 Files" +msgstr "" + +#: gajim/gtk/accounts.py:975 +#, fuzzy +msgid "Encrypted Certificate" +msgstr "Niapravilnaje imia karystalnika" + +#: gajim/gtk/accounts.py:979 +#, fuzzy +msgid "Certificate Settings" +msgstr "Niapravilnaje imia karystalnika" + +#: gajim/gtk/accounts.py:987 gajim/data/gui/account_wizard.ui:255 +#: gajim/data/gui/bookmarks.ui:102 +#, fuzzy +msgid "Password" +msgstr "Parol:" + +#: gajim/gtk/accounts.py:991 +#, fuzzy +msgid "Save Password" +msgstr "Zachavaj parol" + +#: gajim/gtk/accounts.py:999 +#, fuzzy +msgid "Login Settings" +msgstr "Niemahvyma dałučycca" + +#: gajim/gtk/groupchat_config.py:39 +#, fuzzy +msgid "Group Chat Configuration" +msgstr "Zaprašeńnie ŭ pakoj" + +#: gajim/gtk/groupchat_config.py:104 gajim/common/helpers.py:283 +#: gajim/data/gui/groupchat_config.ui:40 +msgid "Member" +msgstr "Udzielnik" + +#: gajim/gtk/groupchat_config.py:133 +#, fuzzy +msgid "A Group Chat needs at least one Owner" +msgstr "?Funkcyja kantaktu ŭ pakoji:Niama" + +#: gajim/gtk/groupchat_config.py:241 +msgid "You are not allowed to modify the affiliation of Admins and Owners" +msgstr "" + +#: gajim/gtk/groupchat_config.py:400 +msgid "An entry with this XMPP Address already exists" +msgstr "" + +#: gajim/gtk/server_info.py:142 gajim/data/gui/vcard_information_window.ui:89 +#: gajim/data/gui/preferences.ui:359 +msgid "Status" +msgstr "Status" + +#: gajim/gtk/server_info.py:143 +msgid "Support" +msgstr "" + +#: gajim/gtk/server_info.py:144 +msgid "Security" +msgstr "" + +#: gajim/gtk/server_info.py:145 +msgid "Feedback" +msgstr "" + +#: gajim/gtk/server_info.py:146 +msgid "Abuse" +msgstr "" + +#: gajim/gtk/server_info.py:147 +msgid "Sales" +msgstr "" + +#: gajim/gtk/server_info.py:231 +#, python-format +msgid "%(days)s days, %(hours)s hours" +msgstr "" + +#: gajim/gtk/server_info.py:239 gajim/gtk/vcard_grid.py:115 +#: gajim/common/helpers.py:224 +#, fuzzy +msgid "Unknown" +msgstr "?AS:Nieviadomaja" + +#: gajim/gtk/server_info.py:360 +#, fuzzy +msgid "" +"\n" +"Disabled in preferences" +msgstr "_Nałady" + +#: gajim/gtk/history.py:79 +msgid "Conversation History" +msgstr "Žurnał razmoŭ" + +#: gajim/gtk/history.py:411 gajim/gtk/history.py:465 +msgid "Disk Error" +msgstr "" + +#: gajim/gtk/history.py:576 +#, python-format +msgid "%(nick)s is now %(status)s: %(status_msg)s" +msgstr "%(nick)s maje ciapier status %(status)s: %(status_msg)s" + +#: gajim/gtk/history.py:581 gajim/common/connection_handlers_events.py:414 +#, python-format +msgid "%(nick)s is now %(status)s" +msgstr "%(nick)s maje ciapier status %(status)s" + +#: gajim/gtk/history.py:589 +#, fuzzy, python-format +msgid "Error: %s" +msgstr "Tekst pamyłki: %s" + +#: gajim/gtk/history.py:593 +#, python-format +msgid "Status is now: %(status)s: %(status_msg)s" +msgstr "Dziejny status: %(status)s: %(status_msg)s" + +#: gajim/gtk/history.py:597 +#, python-format +msgid "Status is now: %(status)s" +msgstr "Dziejny status: %(status)s" + +#: gajim/gtk/about.py:51 +#, fuzzy +msgid "A GTK XMPP client" +msgstr "Klijent Jabber dla GTK+" + +#: gajim/gtk/about.py:52 +#, fuzzy, python-format +msgid "GTK Version: %s" +msgstr "Versija GTK+:" + +#: gajim/gtk/about.py:53 +#, fuzzy, python-format +msgid "GLib Version: %s" +msgstr "Versija GTK+:" + +#: gajim/gtk/about.py:54 +#, fuzzy, python-format +msgid "PyGObject Version: %s" +msgstr "Versija PyGTK:" + +#: gajim/gtk/about.py:55 +#, python-format +msgid "python-nbxmpp Version: %s" +msgstr "" + +#: gajim/gtk/about.py:59 +#, fuzzy +msgid "Current Developers" +msgstr "Dziejnyja raspracoŭniki:" + +#: gajim/gtk/about.py:60 +#, fuzzy +msgid "Past Developers" +msgstr "Byłyja raspracoŭniki:" + +#: gajim/gtk/about.py:61 +msgid "Artists" +msgstr "" + +#: gajim/gtk/about.py:65 +msgid "Last but not least" +msgstr "" + +#: gajim/gtk/about.py:66 +#, fuzzy +msgid "we would like to thank all the package maintainers." +msgstr "I ŭrešcie, chočacca padziakavać usim apiekunam pakietaŭ." + +#: gajim/gtk/about.py:67 +msgid "Thanks" +msgstr "" + +#: gajim/gtk/about.py:69 +msgid "translator-credits" +msgstr "Ihar Hrachyshka " + +#: gajim/gtk/search.py:95 gajim/gtk/search.py:191 +msgid "Search" +msgstr "Šukaj" + +#: gajim/gtk/search.py:101 +#, fuzzy +msgid "New Search" +msgstr "Šukaj" + +#: gajim/gtk/search.py:176 +msgid "Request Search Form" +msgstr "" + +#: gajim/gtk/search.py:236 +#, fuzzy +msgid "Search…" +msgstr "Šukaj" + +#: gajim/gtk/search.py:243 +#, fuzzy +msgid "Search Result" +msgstr "Šukaj" + +#: gajim/gtk/search.py:250 +#, fuzzy +msgid "No results found" +msgstr "%s nia znojdzieny" + +#: gajim/gtk/features.py:40 gajim/data/gui/server_info.ui:447 +#, fuzzy +msgid "Features" +msgstr "Zdolnaści serveraŭ" + +#: gajim/gtk/features.py:90 +msgid "Audio / Video" +msgstr "" + +#: gajim/gtk/features.py:92 +msgid "Enables Gajim to provide Audio and Video chats" +msgstr "" + +#: gajim/gtk/features.py:93 +msgid "" +"Requires: gir1.2-farstream-0.2, gir1.2-gstreamer-1.0, gstreamer1.0-libav, " +"gstreamer1.0-plugins-ugly" +msgstr "" + +#: gajim/gtk/features.py:95 gajim/gtk/features.py:145 +#, fuzzy +msgid "Feature not available under Windows" +msgstr "Aŭtamatyčnaje paviedamleńnie statusu \"Niedastupny\"" + +#: gajim/gtk/features.py:97 +#, fuzzy +msgid "Automatic Status" +msgstr "_Dastasuj da statusu" + +#: gajim/gtk/features.py:99 +msgid "" +"Enables Gajim to measure your computer's idle time in order to set your " +"Status automatically" +msgstr "" + +#: gajim/gtk/features.py:101 +msgid "Requires: libxss" +msgstr "" + +#: gajim/gtk/features.py:102 gajim/gtk/features.py:123 +msgid "No additional requirements" +msgstr "" + +#: gajim/gtk/features.py:104 +msgid "Bonjour / Zeroconf (Serverless Chat)" +msgstr "" + +#: gajim/gtk/features.py:106 +msgid "" +"Enables Gajim to automatically detected clients in a local network for " +"serverless chats" +msgstr "" + +#: gajim/gtk/features.py:108 +msgid "Requires: gir1.2-avahi-0.6" +msgstr "" + +#: gajim/gtk/features.py:109 +#, python-format +msgid "Requires: pybonjour and bonjour SDK running (%(url)s)" +msgstr "" + +#: gajim/gtk/features.py:112 +#, fuzzy +msgid "Location detection" +msgstr "Złučeńnie" + +#: gajim/gtk/features.py:114 +msgid "" +"Enables Gajim to be location-aware, if the user decides to publish the " +"device’s location" +msgstr "" + +#: gajim/gtk/features.py:116 +#, fuzzy +msgid "Requires: geoclue" +msgstr "_Daj hołas" + +#: gajim/gtk/features.py:117 +#, fuzzy +msgid "Feature is not available under Windows" +msgstr "Aŭtamatyčnaje paviedamleńnie statusu \"Niedastupny\"" + +#: gajim/gtk/features.py:119 +#, fuzzy +msgid "Notification Sounds" +msgstr "Madyfikacyja kontu" + +#: gajim/gtk/features.py:121 +msgid "Enables Gajim to play sounds for various notifications" +msgstr "" + +#: gajim/gtk/features.py:122 +#, fuzzy +msgid "Requires: gsound" +msgstr "Vymahaje parolu" + +#: gajim/gtk/features.py:125 +#, fuzzy +msgid "Secure Password Storage" +msgstr "Zachavaj parol" + +#: gajim/gtk/features.py:127 +msgid "" +"Enables Gajim to store Passwords securely instead of storing them in " +"plaintext" +msgstr "" + +#: gajim/gtk/features.py:129 +#, fuzzy +msgid "Requires: gnome-keyring or kwallet" +msgstr "Kiraŭnik žurnałaŭ" + +#: gajim/gtk/features.py:130 +msgid "Windows Credential Vault is used for secure password storage" +msgstr "" + +#: gajim/gtk/features.py:133 +msgid "Spell Checker" +msgstr "" + +#: gajim/gtk/features.py:135 +msgid "Enables Gajim to spell check your messages while composing" +msgstr "" + +#: gajim/gtk/features.py:137 gajim/gtk/features.py:138 +msgid "Requires: Gspell" +msgstr "" + +#: gajim/gtk/features.py:140 +msgid "UPnP-IGD Port Forwarding" +msgstr "" + +#: gajim/gtk/features.py:142 +msgid "" +"Enables Gajim to request your router to forward ports for file transfers" +msgstr "" + +#: gajim/gtk/features.py:144 +msgid "Requires: gir1.2-gupnpigd-1.0" +msgstr "" + +#: gajim/gtk/features.py:200 +#, fuzzy +msgid "Disabled in Preferences" +msgstr "_Nałady" + +#: gajim/gtk/dialogs.py:55 gajim/gtk/filechoosers.py:179 +#: gajim/data/gui/groupchat_control.ui:674 +#: gajim/data/gui/groupchat_control.ui:766 +#: gajim/data/gui/groupchat_control.ui:882 +#: gajim/data/gui/groupchat_control.ui:974 +#: gajim/data/gui/groupchat_control.ui:1419 +#: gajim/data/gui/groupchat_control.ui:1545 +#: gajim/data/gui/groupchat_control.ui:1671 +#: gajim/data/gui/groupchat_control.ui:1842 +#: gajim/data/gui/groupchat_control.ui:1920 gajim/data/gui/filetransfers.ui:30 +#: gajim/data/gui/add_new_contact_window.ui:451 +#: gajim/data/gui/filetransfer_progress.ui:172 gajim/data/gui/profile.ui:260 +#: gajim/data/gui/passphrase_dialog.ui:29 +msgid "_Cancel" +msgstr "_Anuluj" + +#: gajim/gtk/dialogs.py:65 gajim/data/gui/history_manager.ui:20 +#, fuzzy +msgid "_Delete" +msgstr "Vydal" + +#: gajim/gtk/dialogs.py:216 +#, fuzzy +msgid "Certificate" +msgstr "Niapravilnaje imia karystalnika" + +#: gajim/gtk/dialogs.py:230 +#, fuzzy, python-format +msgid "" +"Certificate for \n" +"%s" +msgstr "dla kontu %s" + +#: gajim/gtk/dialogs.py:279 +msgid "Issued to\n" +msgstr "" + +#: gajim/gtk/dialogs.py:280 gajim/gtk/dialogs.py:285 +msgid "Common Name (CN): " +msgstr "" + +#: gajim/gtk/dialogs.py:281 gajim/gtk/dialogs.py:286 +msgid "Organization (O): " +msgstr "" + +#: gajim/gtk/dialogs.py:282 gajim/gtk/dialogs.py:287 +msgid "Organizational Unit (OU): " +msgstr "" + +#: gajim/gtk/dialogs.py:283 +#, fuzzy +msgid "Serial Number: " +msgstr "Numer GG:" + +#: gajim/gtk/dialogs.py:284 +msgid "Issued by\n" +msgstr "" + +#: gajim/gtk/dialogs.py:288 +msgid "Validity\n" +msgstr "" + +#: gajim/gtk/dialogs.py:289 +msgid "Issued on: " +msgstr "" + +#: gajim/gtk/dialogs.py:290 +msgid "Expires on: " +msgstr "" + +#: gajim/gtk/dialogs.py:291 +msgid "SHA-1:" +msgstr "" + +#: gajim/gtk/dialogs.py:293 +msgid "SHA-256:" +msgstr "" + +#: gajim/gtk/util.py:591 +msgid "Unknown Artist" +msgstr "" + +#: gajim/gtk/util.py:592 +msgid "Unknown Title" +msgstr "" + +#: gajim/gtk/util.py:593 +msgid "Unknown Source" +msgstr "" + +#: gajim/gtk/util.py:595 +#, python-format +msgid "" +"\"%(title)s\" by %(artist)s\n" +"from %(source)s" +msgstr "" + +#: gajim/gtk/profile.py:28 gajim/gtk/vcard_grid.py:33 +#: gajim/data/gui/vcard_information_window.ui:411 +#, fuzzy +msgid "Full Name" +msgstr "Asablivy" + +#: gajim/gtk/profile.py:29 gajim/gtk/vcard_grid.py:35 +#: gajim/data/gui/vcard_information_window.ui:770 +#, fuzzy +msgid "Birthday" +msgstr "Narodziny:" + +#: gajim/gtk/profile.py:30 gajim/gtk/vcard_grid.py:36 +#, fuzzy +msgid "Gender" +msgstr "Adpraŭnik:" + +#: gajim/gtk/profile.py:31 gajim/data/gui/groupchat_info_scrolled.ui:16 +#, fuzzy +msgid "Address" +msgstr "_Adras:" + +#: gajim/gtk/profile.py:34 gajim/gtk/vcard_grid.py:38 +#: gajim/data/gui/vcard_information_window.ui:720 +#: gajim/data/gui/vcard_information_window.ui:1396 +#, fuzzy +msgid "Phone No." +msgstr "Telefon" + +#: gajim/gtk/profile.py:35 +msgid "?profile:Organisation" +msgstr "" + +#: gajim/gtk/profile.py:36 gajim/gtk/vcard_grid.py:41 +msgid "?profile:Title" +msgstr "" + +#: gajim/gtk/profile.py:37 gajim/gtk/vcard_grid.py:42 +#, fuzzy +msgid "?profile:Role" +msgstr "fajł" + +#: gajim/gtk/profile.py:38 gajim/gtk/vcard_grid.py:45 +msgid "URL" +msgstr "" + +#: gajim/gtk/profile.py:39 gajim/gtk/vcard_grid.py:46 +#, fuzzy +msgid "?profile:Key" +msgstr "fajł" + +#: gajim/gtk/profile.py:299 gajim/gtk/profile.py:301 +#: gajim/data/gui/profile.ui:98 gajim/data/gui/profile.ui:110 +msgid "Everyone" +msgstr "" + +#: gajim/gtk/profile.py:299 gajim/gtk/profile.py:301 +#: gajim/data/gui/shortcuts_window.ui:108 gajim/data/gui/groupchat_invite.ui:83 +msgid "Contacts" +msgstr "Kantakty" + +#: gajim/gtk/filechoosers.py:88 +#, fuzzy +msgid "Choose File to Send…" +msgstr "Abiary fajł dla adsyłańnia..." + +#: gajim/gtk/filechoosers.py:94 +#, fuzzy +msgid "Choose Avatar…" +msgstr "Abiary vyjavu" + +#: gajim/gtk/filechoosers.py:98 +#, fuzzy +msgid "PNG files" +msgstr "Usie fajły" + +#: gajim/gtk/filechoosers.py:99 +#, fuzzy +msgid "JPEG files" +msgstr "Usie fajły" + +#: gajim/gtk/filechoosers.py:100 +#, fuzzy +msgid "SVG files" +msgstr "Vyšli _fajł" + +#: gajim/gtk/filechoosers.py:102 +msgid "Images" +msgstr "Vyjavy" + +#: gajim/gtk/filechoosers.py:139 +#, fuzzy +msgid "Choose Archive" +msgstr "Abiary vyjavu" + +#: gajim/gtk/filechoosers.py:141 +#, fuzzy +msgid "ZIP files" +msgstr "Usie fajły" + +#: gajim/gtk/filechoosers.py:146 +#, fuzzy +msgid "Save File as…" +msgstr "Zapišy fajł jak..." + +#: gajim/gtk/filechoosers.py:180 +#, fuzzy +msgid "_Open" +msgstr "OpenPGP: " + +#: gajim/gtk/blocking.py:38 +#, fuzzy, python-format +msgid "Blocking List for %s" +msgstr "Śpis pryvatnaści dla %s" + +#: gajim/gtk/blocking.py:64 +#, fuzzy +msgid "Error!" +msgstr "Pamyłka Avahi" + +#: gajim/gtk/service_registration.py:143 gajim/gtk/service_registration.py:157 +#: gajim/gtk/service_registration.py:164 +#, fuzzy +msgid "Register" +msgstr "_Rehistruj" + +#: gajim/gtk/service_registration.py:193 gajim/gtk/service_registration.py:205 +#, fuzzy +msgid "Registration successful" +msgstr "Zarehistrujsia na %s" + +#: gajim/gtk/service_registration.py:216 +#, fuzzy +msgid "Registration failed" +msgstr "Niemahvyma dałučycca" + +#: gajim/gtk/vcard_grid.py:37 +#, fuzzy +msgid "?profile:Address" +msgstr "_Adras:" + +#: gajim/gtk/vcard_grid.py:40 +#, fuzzy +msgid "IM Address" +msgstr "_Adras:" + +#: gajim/gtk/vcard_grid.py:43 +msgid "Organisation" +msgstr "" + +#: gajim/gtk/vcard_grid.py:44 +#, fuzzy +msgid "?profile:Note" +msgstr "fajł" + +#: gajim/gtk/vcard_grid.py:51 +msgid "Your public key or authentication certificate" +msgstr "" + +#: gajim/gtk/vcard_grid.py:59 +msgid "Post Office Box" +msgstr "" + +#: gajim/gtk/vcard_grid.py:60 gajim/data/gui/vcard_information_window.ui:489 +#: gajim/data/gui/vcard_information_window.ui:1179 +#, fuzzy +msgid "Street" +msgstr "Vulica:" + +#: gajim/gtk/vcard_grid.py:61 +#, fuzzy +msgid "Extended Address" +msgstr "Dadatkovy adras:" + +#: gajim/gtk/vcard_grid.py:62 gajim/data/gui/vcard_information_window.ui:505 +#: gajim/data/gui/vcard_information_window.ui:1195 +#, fuzzy +msgid "City" +msgstr "Horad:" + +#: gajim/gtk/vcard_grid.py:63 gajim/data/gui/vcard_information_window.ui:521 +#: gajim/data/gui/vcard_information_window.ui:1211 +#, fuzzy +msgid "State" +msgstr "Štat:" + +#: gajim/gtk/vcard_grid.py:64 gajim/data/gui/vcard_information_window.ui:595 +#: gajim/data/gui/vcard_information_window.ui:1244 +#, fuzzy +msgid "Postal Code" +msgstr "Paštovy indeks:" + +#: gajim/gtk/vcard_grid.py:65 gajim/data/gui/vcard_information_window.ui:611 +#: gajim/data/gui/vcard_information_window.ui:1260 +#, fuzzy +msgid "Country" +msgstr "Krajina:" + +#: gajim/gtk/vcard_grid.py:111 +msgid "Male" +msgstr "" + +#: gajim/gtk/vcard_grid.py:112 +msgid "Female" +msgstr "" + +#: gajim/gtk/vcard_grid.py:113 +msgid "?Gender:Other" +msgstr "" + +#: gajim/gtk/vcard_grid.py:114 +#, fuzzy +msgid "?Gender:None" +msgstr "Adpraŭnik:" + +#: gajim/gtk/vcard_grid.py:121 gajim/gtk/vcard_grid.py:428 +#, fuzzy +msgid "Home" +msgstr "Chatniaja staronka:" + +#: gajim/gtk/vcard_grid.py:122 gajim/gtk/vcard_grid.py:429 +#: gajim/data/gui/vcard_information_window.ui:1452 +msgid "Work" +msgstr "Praca" + +#: gajim/gtk/vcard_grid.py:598 +#, fuzzy +msgid "YYYY-MM-DD" +msgstr "Farmat: HHHH-MM-DD" + +#: gajim/gtk/adhoc.py:91 +#, fuzzy +msgid "Finish" +msgstr "_Skonč" + +#: gajim/gtk/adhoc.py:96 gajim/gtk/adhoc.py:283 +#, fuzzy +msgid "Commands" +msgstr "Zahady: %s" + +#: gajim/gtk/adhoc.py:107 +#, fuzzy +msgid "Previous" +msgstr "uri" + +#: gajim/gtk/adhoc.py:112 +#, fuzzy +msgid "Execute" +msgstr "_Vykanaj zahad..." + +#: gajim/gtk/adhoc.py:196 +#, fuzzy +msgid "No commands available" +msgstr "Konty niedastupnyja" + +#: gajim/gtk/adhoc.py:244 +#, fuzzy +msgid "Request Command List" +msgstr "_Vykanaj zahad..." + +#: gajim/gtk/adhoc.py:259 +#, fuzzy +msgid "Executing…" +msgstr "_Vykanaj zahad..." + +#: gajim/gtk/adhoc.py:266 +#, fuzzy +msgid "Command List" +msgstr "Zahady: %s" + +#: gajim/gtk/adhoc.py:321 gajim/data/gui/manage_proxies.ui:255 +#, fuzzy +msgid "Settings" +msgstr "Niemahvyma dałučycca" + +#: gajim/gtk/adhoc.py:386 +#, fuzzy +msgid "Finished" +msgstr "_Skonč" + +#: gajim/gtk/adhoc.py:455 +#, fuzzy +msgid "Execution failed" +msgstr "Niemahvyma dałučycca" + +#: gajim/common/jingle_rtp.py:133 +#, fuzzy, python-format +msgid "%s configuration error" +msgstr "Kanfihuracyja pakoju" + +#: gajim/common/jingle_rtp.py:134 +#, python-format +msgid "" +"Couldn’t set up %(text)s. Check your configuration.\n" +"Pipeline:\n" +"%(pipeline)s\n" +"Error:\n" +"%(error)s" +msgstr "" + +#: gajim/common/jingle_rtp.py:416 +msgid "audio input" +msgstr "" + +#: gajim/common/jingle_rtp.py:421 +msgid "audio output" +msgstr "" + +#: gajim/common/jingle_rtp.py:489 +msgid "video input" +msgstr "" + +#: gajim/common/setting_values.py:300 gajim/common/config.py:356 +#: gajim/common/const.py:387 +msgid "Sleeping" +msgstr "Splu" + +#: gajim/common/setting_values.py:301 +msgid "ZZZZzzzzzZZZZZ" +msgstr "" + +#: gajim/common/setting_values.py:306 gajim/common/config.py:357 +msgid "Back soon" +msgstr "Chutka viarnusia" + +#: gajim/common/setting_values.py:307 gajim/common/config.py:357 +msgid "Back in some minutes." +msgstr "Viarnusia praz paru chvilinaŭ." + +#: gajim/common/setting_values.py:309 gajim/common/config.py:358 +#: gajim/common/const.py:353 +msgid "Eating" +msgstr "Jem" + +#: gajim/common/setting_values.py:310 +#, fuzzy +msgid "I’m eating." +msgstr "Ja pracuju." + +#: gajim/common/setting_values.py:314 gajim/common/config.py:359 +msgid "Movie" +msgstr "Film" + +#: gajim/common/setting_values.py:315 +#, fuzzy +msgid "I’m watching a movie." +msgstr "Hladžu film." + +#: gajim/common/setting_values.py:319 gajim/common/config.py:360 +#: gajim/common/const.py:420 +msgid "Working" +msgstr "Pracuju" + +#: gajim/common/setting_values.py:320 +#, fuzzy +msgid "I’m working." +msgstr "Ja pracuju." + +#: gajim/common/setting_values.py:324 gajim/common/config.py:362 +msgid "Out" +msgstr "Vyjšaŭ" + +#: gajim/common/setting_values.py:325 +#, fuzzy +msgid "I’m out enjoying life." +msgstr "Vyjšaŭ ciešycca z žyćcia." + +#: gajim/common/setting_values.py:393 gajim/common/config.py:84 +msgid "" +"Allow to hide the contact list window even if the notification area icon is " +"not shown." +msgstr "" + +#: gajim/common/setting_values.py:394 gajim/common/config.py:95 +msgid "" +"'always' - print time for every message.\n" +"'sometimes' - print time every print_ichat_every_foo_minutes minute.\n" +"'never' - never print time." +msgstr "" +"'always' - pakazvaj čas dla kožnaha paviedamleńnia.\n" +"'sometimes' - pakazvaj čas praz kolkaść chvilinaŭ, akreślenuju ŭ opcyi " +"print_ichat_every_foo_minutes.\n" +"'never' - nie pakazvaj času." + +#: gajim/common/setting_values.py:395 gajim/common/config.py:99 +msgid "Treat * / _ pairs as possible formatting characters." +msgstr "Traktuj pary znakaŭ * / _ jak znaki farmatavańnia." + +#: gajim/common/setting_values.py:396 gajim/common/config.py:100 +#, fuzzy +msgid "" +"If enabled, do not remove */_ . So *abc* will be bold but with * * not " +"removed." +msgstr "" +"Kali maje vartaść True, nie vydalaj */_ . Takim čynam *abc* budzie tłustym, " +"ale i znaki * * nia vydalacca." + +#: gajim/common/setting_values.py:397 gajim/common/config.py:103 +#, fuzzy +msgid "" +"Character to add after nickname when using nickname completion (tab) in " +"group chat." +msgstr "" +"Znak, jaki dadajecca paśla mianuški pry dapaŭnieńni (klavišaj TAB) u pakoji." + +#: gajim/common/setting_values.py:398 gajim/common/config.py:125 +msgid "" +"If enabled, Gajim will save the contact list window position when hiding it, " +"and restore it when showing the contact list window again." +msgstr "" + +#: gajim/common/setting_values.py:399 gajim/common/config.py:131 +msgid "Place the contact list on the right in single window mode" +msgstr "" + +#: gajim/common/setting_values.py:400 gajim/common/config.py:137 +#, fuzzy +msgid "" +"This option lets you customize the timestamp that is printed in " +"conversation. For example '[%H:%M] ' will show '[hour:minute] '. See python " +"doc on strftime for full documentation (https://docs.python.org/3/library/" +"time.html#time.strftime)." +msgstr "" +"Hetaja opcyja dazvalaje tabie akreślić farmat miecin času ŭ razmovie. " +"Naprykład, \"[%H:%M] \" akreślaje, što treba pakazvać \"[hadziny:chviliny] " +"\". Hladzi padrabiaznyja źviestki ŭ dakumentacyi dla Pythonu pa funkcyi " +"strftime: http://docs.python.org/lib/module-time.html" + +#: gajim/common/setting_values.py:401 gajim/common/config.py:138 +#, fuzzy +msgid "Characters that are printed before the nickname in conversations." +msgstr "Znaki, što pakazvajucca ŭ razmovie pierad mianuškaj" + +#: gajim/common/setting_values.py:402 gajim/common/config.py:139 +#, fuzzy +msgid "Characters that are printed after the nickname in conversations." +msgstr "Znaki, što pakazvajucca ŭ razmovie paśla mianuški" + +#: gajim/common/setting_values.py:403 gajim/common/config.py:140 +#, fuzzy +msgid "If enabled, Gajim will add * and [n] in contact list window title." +msgstr "" +"Kali ŭklučanaja hetaja opcyja, Gajim budzie pakazvać avatary kantaktaŭ u " +"śpisie kantaktaŭ i ŭ pakojach" + +#: gajim/common/setting_values.py:404 gajim/common/config.py:141 +#, fuzzy +msgid "" +"Number of messages from chat history to be restored when a chat tab/window " +"is reopened." +msgstr "" +"Kolki radkoŭ z apošniaj razmovy zapaminać i pakazvać u znoŭ adčynienym aknie." + +#: gajim/common/setting_values.py:405 gajim/common/config.py:142 +msgid "" +"How far back in time (minutes) chat history is restored. -1 means no limit." +msgstr "" + +#: gajim/common/setting_values.py:406 gajim/common/config.py:143 +#, fuzzy +msgid "Send message on Ctrl+Enter and make a new line with Enter." +msgstr "" +"Dasyłaj paviedamleńnie praz Ctrl+Enter, a Enteram stvaraj novy radok " +"(zmoŭčanyja pavodziny Mirabilis ICQ)." + +#: gajim/common/setting_values.py:407 gajim/common/config.py:145 +#, fuzzy +msgid "How many lines to store for Ctrl+KeyUP (previously sent messages)." +msgstr "Kolki radkoŭ zachoŭvać dla Ctrl+KeyUP." + +#: gajim/common/setting_values.py:409 gajim/common/config.py:148 +#, fuzzy, python-format +msgid "" +"Either a custom URL with %%s in it (where %%s is the word/phrase) or " +"'WIKTIONARY' (which means use Wikitionary)." +msgstr "" +"Albo specyjalny adrasm jaki ŭtrymlivaje %s, dzie %s jość słovam/vyrazam, " +"albo radok 'WIKTIONARY', što aznačaje vykarystańnie Wiktionary." + +#: gajim/common/setting_values.py:412 gajim/common/config.py:151 +msgid "If checked, Gajim can be controlled remotely using gajim-remote." +msgstr "" +"Kali hetaja opcyja ŭklučanaja, Gajimam možna kiravać praz gajim-remote." + +#: gajim/common/setting_values.py:413 +#, fuzzy +msgid "" +"When not printing time for every message ('print_time'==sometimes, print it " +"every x minutes." +msgstr "" +"Kali čas pakazvajecca nie dla kožnaha paviedamleńnia " +"(print_time==sometimes), pakazvaj jaho kožnyja x chvilinaŭ." + +#: gajim/common/setting_values.py:414 gajim/common/config.py:153 +msgid "Ask before pasting an image." +msgstr "" + +#: gajim/common/setting_values.py:415 gajim/common/config.py:154 +msgid "Ask before closing a group chat tab/window." +msgstr "Pytajsia paćvierdžańnia pierad začynieńniem kartki/akna razmovy." + +#: gajim/common/setting_values.py:416 gajim/common/config.py:155 +msgid "" +"Ask before closing tabbed chat window if there are chats that can lose data " +"(chat, private chat, group chat that will not be minimized)." +msgstr "" + +#: gajim/common/setting_values.py:418 gajim/common/config.py:158 +#, fuzzy +msgid "" +"List of send hosts (comma separated) in addition to local interfaces for " +"file transfers (in case of address translation/port forwarding)." +msgstr "" +"Nadpisvaje host, jaki vysyłajecca dla Pieradačy fajłaŭ, u vypadku tranślacyi " +"adrasoŭ/pieranakiravańnia partoŭ." + +#: gajim/common/setting_values.py:419 gajim/common/config.py:159 +msgid "IEC standard says KiB = 1024 bytes, KB = 1000 bytes." +msgstr "Standart IEC vyznačaje, što KiB = 1024 bajtaŭ, KB = 1000 bajtaŭ." + +#: gajim/common/setting_values.py:421 gajim/common/config.py:161 +#, fuzzy +msgid "Notify of events in the notification area." +msgstr "Nahadvaj ab padziejach ikonaj pola nahadvańnia." + +#: gajim/common/setting_values.py:422 gajim/common/config.py:166 +msgid "Show tab when only one conversation?" +msgstr "Pakazvać kartku, kali dziejnaja tolki adna razmova?" + +#: gajim/common/setting_values.py:423 gajim/common/config.py:167 +msgid "Show tabbed notebook border in chat windows?" +msgstr "Pakazvać padzieł kartak u voknach razmovy?" + +#: gajim/common/setting_values.py:424 gajim/common/config.py:168 +msgid "Show close button in tab?" +msgstr "Pakazvać knopki začynieńnia na kartkach?" + +#: gajim/common/setting_values.py:425 gajim/common/config.py:169 +msgid "Preview new messages in notification popup?" +msgstr "" + +#: gajim/common/setting_values.py:426 gajim/common/config.py:172 +#, fuzzy +msgid "" +"A list of words (semicolon separated) that will be highlighted in group " +"chats." +msgstr "" +"Śpis padzielenych kropkaj z koskaj słovaŭ, jakija treba padśviatlać u " +"pakojach." + +#: gajim/common/setting_values.py:427 gajim/common/config.py:174 +msgid "" +"If enabled, Gajim hides the contact list window when pressing the X button " +"instead of minimizing into the notification area." +msgstr "" + +#: gajim/common/setting_values.py:432 gajim/common/config.py:181 +msgid "" +"Define the position of avatars in the contact list. Can be 'left' or 'right'." +msgstr "" + +#: gajim/common/setting_values.py:433 gajim/common/config.py:186 +#, fuzzy +msgid "Don't show contact list window in the system taskbar." +msgstr "Nie pakazvaj śpis kantaktaŭ na paneli zadańniaŭ." + +#: gajim/common/setting_values.py:434 gajim/common/config.py:187 +#, fuzzy +msgid "" +"If enabled, Gajim makes the window flash (the default behaviour in most " +"Window Managers) when holding pending events." +msgstr "" +"Kali opcyja maje vartaść True i kali instalavanyja GTK+ i PyGTK versii 2.8 " +"albo paźniejšaj, mirhaj aknom (zmoŭčanyja pavodziny akna ŭ bolšaści " +"Kiraŭnikoŭ voknaŭ) pry najaŭnaści niečytanych paviedamleńniaŭ." + +#: gajim/common/setting_values.py:436 gajim/common/config.py:193 +#, fuzzy +msgid "If enabled, pressing Esc closes a tab/window." +msgstr "" +"Kali opcyja maje vartaść True, nacisk klavišy Escape začyniaje kartku/akno." + +#: gajim/common/setting_values.py:437 gajim/common/config.py:194 +#, fuzzy +msgid "Hides the banner in a group chat window." +msgstr "Chavaje baner u aknie pakoju" + +#: gajim/common/setting_values.py:438 gajim/common/config.py:195 +#, fuzzy +msgid "Hides the banner in a 1:1 chat window." +msgstr "Chavaje baner u aknie pakoju" + +#: gajim/common/setting_values.py:439 gajim/common/config.py:196 +#, fuzzy +msgid "Hides the group chat participants list in a group chat window." +msgstr "Chavaje śpis naviednikaŭ pakoju." + +#: gajim/common/setting_values.py:440 gajim/common/config.py:197 +#, fuzzy +msgid "" +"In a chat, show the nickname at the beginning of a line only when it's not " +"the same person talking as in the previous message." +msgstr "" +"U pakoji pakazvaj mianušku pierad paviedamleńniem, tolki kali jaho napisała " +"nia taja asoba, što napisała papiaredniaje paviedamleńnie." + +#: gajim/common/setting_values.py:441 gajim/common/config.py:198 +msgid "Indentation when using merge consecutive nickname." +msgstr "Vodstup pry šmatmetavym pryznačeńni paviedamleńnia." + +#: gajim/common/setting_values.py:442 gajim/common/config.py:199 +#, fuzzy +msgid "" +"Ctrl+Tab switches to the next composing tab when there are no tabs with " +"messages pending." +msgstr "" +"Ctrl-Tab pierachodzić na nastupnuju kartku, kali na dziejnaj niama " +"niečytanych paviedamleńniaŭ." + +#: gajim/common/setting_values.py:443 gajim/common/config.py:200 +#, fuzzy +msgid "" +"Show a confirmation dialog to create metacontacts? Empty string means never " +"show the dialog." +msgstr "" +"Ci treba pakazvać akno paćvierdžańnia pry stvareńni metakantaktu? Pusty " +"radok aznačaje, što hetaje akno nikoli nia budzie pakazvacca." + +#: gajim/common/setting_values.py:444 gajim/common/config.py:201 +#, fuzzy +msgid "" +"Show a confirmation dialog to block a contact? Empty string means never show " +"the dialog." +msgstr "" +"Ci treba pakazvać akno paćvierdžańnia pry stvareńni metakantaktu? Pusty " +"radok aznačaje, što hetaje akno nikoli nia budzie pakazvacca." + +#: gajim/common/setting_values.py:445 gajim/common/config.py:202 +#, fuzzy +msgid "" +"If enabled, you will be able to set a negative priority to your account in " +"the Accounts window. BE CAREFUL, when you are logged in with a negative " +"priority, you will NOT receive any message from your server." +msgstr "" +"Kali opcyja maje vartaść True, ty zmožaš akreślić admoŭny pryjarytet ŭ aknie " +"madyfikacyi kontu. UHAVA: kali ty dałučajeśsia z admoŭnym pryjarytetam, to " +"nia budzieš atrymvać paviedamleńniaŭ z servera." + +#: gajim/common/setting_values.py:446 gajim/common/config.py:203 +#, fuzzy +msgid "" +"If enabled, Gajim will show both the number of online and total contacts in " +"account rows as well as in group rows." +msgstr "" +"Kali opcyja maje vartaść True, Gajim budzie pakazvać kolkaść dałučanych " +"kantaktaŭ i ahulnuju kolkaść kantaktaŭ u radkach kontaŭ i hrupaŭ." + +#: gajim/common/setting_values.py:447 gajim/common/config.py:204 +msgid "" +"If enabled, Gajim will scroll and select the contact who sent you the last " +"message, if the chat window is not already opened." +msgstr "" + +#: gajim/common/setting_values.py:448 gajim/common/config.py:205 +msgid "Time of inactivity needed before the change status window closes down." +msgstr "" + +#: gajim/common/setting_values.py:449 gajim/common/config.py:206 +msgid "" +"Maximum number of lines that are printed in conversations. Oldest lines are " +"cleared." +msgstr "" + +#: gajim/common/setting_values.py:450 gajim/common/config.py:208 +msgid "" +"If enabled, completion in group chats will be like a shell auto-completion." +msgstr "" + +#: gajim/common/setting_values.py:451 gajim/common/config.py:217 +msgid "" +"If enabled, Gajim will try to use a STUN server when using Jingle. The one " +"in 'stun_server' option, or the one given by the XMPP server." +msgstr "" + +#: gajim/common/setting_values.py:452 gajim/common/config.py:218 +msgid "STUN server to use when using Jingle" +msgstr "" + +#: gajim/common/setting_values.py:453 gajim/common/config.py:220 +msgid "If enabled, Gajim will ignore incoming attention requests ('wizz')." +msgstr "" + +#: gajim/common/setting_values.py:454 gajim/common/config.py:221 +msgid "" +"If enabled, Gajim will reopen chat windows that were opened last time Gajim " +"was closed." +msgstr "" + +#: gajim/common/setting_values.py:455 gajim/common/config.py:224 +msgid "If enabled, Gajim will execute XEP-0146 Commands." +msgstr "" + +#: gajim/common/setting_values.py:458 gajim/common/config.py:236 +msgid "API Preferences. Possible values: 'http', 'iq'" +msgstr "" + +#: gajim/common/setting_values.py:459 gajim/common/config.py:237 +msgid "If enabled, Gajim will execute commands (/show, /sh, /execute, /exec)." +msgstr "" + +#: gajim/common/setting_values.py:460 gajim/common/config.py:238 +msgid "Width of group chat roster in pixel" +msgstr "" + +#: gajim/common/setting_values.py:461 gajim/common/config.py:239 +#, fuzzy +msgid "Force Bookmark 2 usage" +msgstr "_Stvary zakładku dla hetaja pakoju" + +#: gajim/common/multimedia_helpers.py:51 +#, fuzzy +msgid "Default device" +msgstr "Standartnyja šablony paviedamleńniaŭ statusu" + +#: gajim/common/multimedia_helpers.py:72 +msgid "Audio test" +msgstr "" + +#: gajim/common/multimedia_helpers.py:75 gajim/common/multimedia_helpers.py:91 +#: gajim/common/multimedia_helpers.py:105 +msgid "Autodetect" +msgstr "" + +#: gajim/common/multimedia_helpers.py:78 gajim/common/multimedia_helpers.py:93 +#, fuzzy, python-format +msgid "ALSA: %s" +msgstr "Pamier: %s" + +#: gajim/common/multimedia_helpers.py:81 gajim/common/multimedia_helpers.py:95 +#, fuzzy, python-format +msgid "Pulse: %s" +msgstr "Fajł: %s" + +#: gajim/common/multimedia_helpers.py:89 +msgid "Fake audio output" +msgstr "" + +#: gajim/common/multimedia_helpers.py:102 +msgid "Video test" +msgstr "" + +#: gajim/common/multimedia_helpers.py:107 +msgid "Pipewire" +msgstr "" + +#: gajim/common/multimedia_helpers.py:109 +#, python-format +msgid "V4L2: %s" +msgstr "" + +#: gajim/common/multimedia_helpers.py:111 +msgid "X11" +msgstr "" + +#: gajim/common/multimedia_helpers.py:113 +msgid "Windows" +msgstr "" + +#: gajim/common/multimedia_helpers.py:115 +msgid "macOS" +msgstr "" + +#: gajim/common/helpers.py:176 +msgid "_Busy" +msgstr "_Zaniaty" + +#: gajim/common/helpers.py:178 +msgid "Busy" +msgstr "Zaniaty" + +#: gajim/common/helpers.py:181 +msgid "_Not Available" +msgstr "_Niedastupny" + +#: gajim/common/helpers.py:183 +msgid "Not Available" +msgstr "Niedastupny" + +#: gajim/common/helpers.py:186 +msgid "_Free for Chat" +msgstr "_Achvotna parazmaŭlaju" + +#: gajim/common/helpers.py:188 +msgid "Free for Chat" +msgstr "Achvotna parazmaŭlaju" + +#: gajim/common/helpers.py:191 +#, fuzzy +msgid "?user status:_Available" +msgstr "?status pieradačy:Prypyniena" + +#: gajim/common/helpers.py:193 +#, fuzzy +msgid "?user status:Available" +msgstr "?status pieradačy:Prypyniena" + +#: gajim/common/helpers.py:195 +msgid "Connecting" +msgstr "Dałučajusia" + +#: gajim/common/helpers.py:198 +msgid "A_way" +msgstr "_Adyjšoŭ" + +#: gajim/common/helpers.py:203 +msgid "_Offline" +msgstr "Adł_učany" + +#: gajim/common/helpers.py:205 +msgid "Offline" +msgstr "Adłučany" + +#: gajim/common/helpers.py:209 +msgid "?contact has status:Unknown" +msgstr "?kantakt maje status:Nieviadomy" + +#: gajim/common/helpers.py:211 +msgid "?contact has status:Has errors" +msgstr "?kantakt maje status:Jość pamyłki" + +#: gajim/common/helpers.py:216 +msgid "?Subscription we already have:None" +msgstr "?Najaŭnaja aŭtaryzacyja:Niama" + +#: gajim/common/helpers.py:218 +msgid "To" +msgstr "Da" + +#: gajim/common/helpers.py:220 gajim/data/gui/groups_post_window.ui:33 +msgid "From" +msgstr "Ad" + +#: gajim/common/helpers.py:222 +msgid "Both" +msgstr "Dvuchbakovaja" + +#: gajim/common/helpers.py:230 +msgid "?Ask (for Subscription):None" +msgstr "?Zapyt (aŭtaryzacyi):Niama" + +#: gajim/common/helpers.py:232 +msgid "Subscribe" +msgstr "Aŭtaryzuj" + +#: gajim/common/helpers.py:244 +msgid "?Group Chat Contact Role:None" +msgstr "?Funkcyja kantaktu ŭ pakoji:Niama" + +#: gajim/common/helpers.py:247 +msgid "Moderators" +msgstr "Maderatary" + +#: gajim/common/helpers.py:249 +msgid "Moderator" +msgstr "Maderatar" + +#: gajim/common/helpers.py:252 gajim/data/gui/groupchat_info_scrolled.ui:182 +msgid "Participants" +msgstr "Udzielniki" + +#: gajim/common/helpers.py:254 +msgid "Participant" +msgstr "Udzielnik" + +#: gajim/common/helpers.py:257 +msgid "Visitors" +msgstr "Naviedniki" + +#: gajim/common/helpers.py:259 +msgid "Visitor" +msgstr "Naviednik" + +#: gajim/common/helpers.py:268 +msgid "?Group Chat Contact Affiliation:None" +msgstr "?Suviaź udzielnikaŭ pakoju:Niama" + +#: gajim/common/helpers.py:271 +#, fuzzy +msgid "Owners" +msgstr "Ułaśnik" + +#: gajim/common/helpers.py:273 gajim/data/gui/groupchat_config.ui:32 +msgid "Owner" +msgstr "Ułaśnik" + +#: gajim/common/helpers.py:276 +#, fuzzy +msgid "Administrators" +msgstr "Administratar" + +#: gajim/common/helpers.py:278 +msgid "Administrator" +msgstr "Administratar" + +#: gajim/common/helpers.py:281 +#, fuzzy +msgid "Members" +msgstr "Udzielnik" + +#: gajim/common/helpers.py:320 +msgid "is paying attention to the conversation" +msgstr "sočyć za razmovaj" + +#: gajim/common/helpers.py:322 +msgid "is doing something else" +msgstr "robić štości inšaje" + +#: gajim/common/helpers.py:324 +#, fuzzy +msgid "is composing a message…" +msgstr "piša paviedamleńnie..." + +#: gajim/common/helpers.py:327 +msgid "paused composing a message" +msgstr "pierastaŭ pisać" + +#: gajim/common/helpers.py:329 +msgid "has closed the chat window or tab" +msgstr "začyniŭ akno/kartku razmovy" + +#: gajim/common/helpers.py:719 gajim/common/helpers.py:727 +#, fuzzy, python-format +msgid "%d message pending" +msgid_plural "%d messages pending" +msgstr[0] "Dašli paviedamleńnie" +msgstr[1] "Dašli paviedamleńnie" +msgstr[2] "Dašli paviedamleńnie" + +#: gajim/common/helpers.py:736 +#, fuzzy, python-format +msgid "from group chat %s" +msgstr "Dałučysia da _pakoju" + +#: gajim/common/helpers.py:739 gajim/common/helpers.py:760 +#, python-format +msgid "from user %s" +msgstr "" + +#: gajim/common/helpers.py:741 +#, fuzzy, python-format +msgid "from %s" +msgstr "Ad" + +#: gajim/common/helpers.py:747 gajim/common/helpers.py:755 +#, python-format +msgid "%d event pending" +msgid_plural "%d events pending" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: gajim/common/helpers.py:828 gajim/data/gui/add_new_contact_window.ui:20 +msgid "I would like to add you to my contact list." +msgstr "Ja chaču dadać Vas u svoj śpis kantaktaŭ." + +#: gajim/common/helpers.py:830 +msgid "Hello, I am $name." +msgstr "" + +#: gajim/common/config.py:71 +msgid "Play sound even when being busy." +msgstr "" + +#: gajim/common/config.py:73 +#, fuzzy +msgid "Show only online and free for chat contacts in the contact list." +msgstr "Ja chaču dadać Vas u svoj śpis kantaktaŭ." + +#: gajim/common/config.py:76 +msgid "Time in minutes, after which your status changes to away." +msgstr "Čas u chvilinach, paśla katoraha tvoj status źmienicca na \"Adyjšoŭ\"." + +#: gajim/common/config.py:77 +#, fuzzy +msgid "$S (Away: Idle more than $T min)" +msgstr "Status \"Adyjšoŭ\" jak vynik biaździejnaści prahramy" + +#: gajim/common/config.py:77 +msgid "" +"$S will be replaced by current status message, $T by the 'autoawaytime' " +"value." +msgstr "" + +#: gajim/common/config.py:79 +msgid "Time in minutes, after which your status changes to not available." +msgstr "" +"Čas u chvilinach, paśla katoraha tvoj status źmienicca na \"Niedastupny\"." + +#: gajim/common/config.py:80 +#, fuzzy +msgid "$S (Not available: Idle more than $T min)" +msgstr "Status \"Niedastupny\" jak vynik biaździejnaści prahramy" + +#: gajim/common/config.py:80 +msgid "" +"$S will be replaced by current status message, $T by the 'autoxatime' value." +msgstr "" + +#: gajim/common/config.py:83 +msgid "" +"When to show the notification area icon. Can be 'never', 'on_event', and " +"'always'." +msgstr "" + +#: gajim/common/config.py:87 +#, fuzzy +msgid "" +"List of rows (accounts and groups) that are collapsed (space separated)." +msgstr "Śpis (padzielenych prabiełami) zhornutych radkoŭ (kontaŭ i hrupaŭ)." + +#: gajim/common/config.py:94 gajim/common/config.py:335 +#: gajim/common/config.py:342 +#, fuzzy +msgid "Language used for spell checking." +msgstr "Mova pravierki pravapisu" + +#: gajim/common/config.py:97 +msgid "When enabled, ASCII emojis will be converted to graphical emojis." +msgstr "" + +#: gajim/common/config.py:152 +#, fuzzy +msgid "" +"When not printing time for every message ('print_time'==sometimes), print it " +"every x minutes." +msgstr "" +"Kali čas pakazvajecca nie dla kožnaha paviedamleńnia " +"(print_time==sometimes), pakazvaj jaho kožnyja x chvilinaŭ." + +#: gajim/common/config.py:173 +#, fuzzy +msgid "" +"If enabled, Gajim quits when clicking the X button of your Window Manager. " +"This setting is taken into account only if the notification area icon is " +"used." +msgstr "" +"Kali opcyja maje vartaść True, Gajim zaviaršaje vykanańnie pa nacisku knopki " +"X Kiraŭnika voknaŭ. Hetaja nałada dziejničaje tolki ź dziejnaj ikonaj pola " +"nahadvańnia." + +#: gajim/common/config.py:175 +#, fuzzy +msgid "" +"If enabled, Gajim will display the status message (if not empty) underneath " +"the contact name in the contact list window." +msgstr "" +"Kali opcyja maje vartaść True, Gajim pakazvaje status kožnaha kantaktu, kali " +"jon nie pusty, dla kožnaha elementu śpisu kantaktaŭ." + +#: gajim/common/config.py:182 +#, fuzzy +msgid "" +"If disabled, Gajim will no longer print status messages in chats when a " +"contact changes their status (and/or their status message)." +msgstr "" +"Kali opcyja maje vartaść False, Gajim nie budzie pakazvać radki stanu, kali " +"surazmoŭca źmianiaje status i/ci paviedamleńnie statusu." + +#: gajim/common/config.py:183 +#, fuzzy +msgid "" +"Default Setting: Show a status message for every join or leave in a group " +"chat." +msgstr "Niemahčyma dałučycca da pakoju" + +#: gajim/common/config.py:184 +#, fuzzy +msgid "" +"Default Setting: Show a status message for all status changes (away, dnd, " +"etc.) of users in a group chat." +msgstr "Niemahčyma dałučycca da pakoju" + +#: gajim/common/config.py:191 +#, fuzzy +msgid "" +"Controls the window where new messages are placed.\n" +"'always' - All messages are sent to a single window.\n" +"'always_with_roster' - Like 'always' but the messages are in a single window " +"along with the contact list.\n" +"'never' - All messages get their own window.\n" +"'peracct' - Messages for each account are sent to a specific window.\n" +"'pertype' - Each message type (e.g. chats vs. group chats) is sent to a " +"specific window." +msgstr "" +"Kiruje aknom, u jakim pakazvajucca novyja paviedamleńni.\n" +"'always' - Usie paviedamleńni pakazvajucca ŭ adnym aknie.\n" +"'never' - Usie paviedamleńni pakazvajucca ŭ asobnych voknach.\n" +"'peracct' - Paviedamleńnia z adnaho kontu pakazvajucca ŭ adnym aknie.\n" +"'pertype' - Paviedamleńni adnaho typu (naprykład, pryvatnyja albo hrupavyja) " +"pakazvajucca ŭ asobnych voknach. Zvažaj, što kab ubačyć źmieny, treba " +"ŭruchomić Gajima nanoŭ." + +#: gajim/common/config.py:192 +msgid "" +"Show contact list window on startup.\n" +"'always' - Always show contact list window.\n" +"'never' - Never show contact list window.\n" +"'last_state' - Restore last state of the contact list window." +msgstr "" + +#: gajim/common/config.py:207 +msgid "" +"Valid URI schemes. Only schemes in this list will be accepted as 'real' URI " +"(mailto and xmpp are handled separately)." +msgstr "" + +#: gajim/common/config.py:212 +msgid "Optionally fix Jingle output video framerate. Example: 10/1 or 25/2." +msgstr "" + +#: gajim/common/config.py:213 +msgid "Optionally resize Jingle output video. Example: 320x240." +msgstr "" + +#: gajim/common/config.py:214 +msgid "If enabled, you will see your webcam's video stream as well." +msgstr "" + +#: gajim/common/config.py:219 +msgid "" +"Proxy used for all outgoing connections if the account does not have a " +"specific proxy configured." +msgstr "" + +#: gajim/common/config.py:222 +msgid "" +"If enabled, Gajim will display an icon to show that sent messages have been " +"received by your contact." +msgstr "" + +#: gajim/common/config.py:223 +#, fuzzy +msgid "" +"If enabled, Gajim will use the System's Keyring to store account passwords." +msgstr "" +"Kali opcyja maje vartaść True, Gajim budzie zachoŭvać paroli z dapamohaj " +"Kiraŭnika parolaŭ GNOME (kali jość mahčymaść)." + +#: gajim/common/config.py:225 +msgid "2: System, 1: Enabled, 0: Disabled" +msgstr "" + +#: gajim/common/config.py:226 +msgid "" +"Maximum history in days we request from a public group chat archive. 0: As " +"much as possible." +msgstr "" + +#: gajim/common/config.py:227 +msgid "" +"Maximum history in days we request from a private group chat archive. 0: As " +"much as possible." +msgstr "" + +#: gajim/common/config.py:228 +msgid "" +"If enabled, Gajim shows the group chat subject in the chat window when " +"joining." +msgstr "" + +#: gajim/common/config.py:229 +#, fuzzy +msgid "" +"If enabled, the contact row is colored according to the current chat state " +"of the contact." +msgstr "" +"Kali ŭklučanaja hetaja opcyja, Gajim budzie dałučacca da hetaha pakoju pry " +"starcie" + +#: gajim/common/config.py:230 +#, fuzzy +msgid "" +"If enabled, the tab is colored according to the current chat state of the " +"contact." +msgstr "" +"Kali ŭklučanaja hetaja opcyja, Gajim budzie dałučacca da hetaha pakoju pry " +"starcie" + +#: gajim/common/config.py:231 +#, fuzzy +msgid "" +"Shows a text in the banner that describes the current chat state of the " +"contact." +msgstr "" +"Kali ŭklučanaja hetaja opcyja, Gajim budzie dałučacca da hetaha pakoju pry " +"starcie" + +#: gajim/common/config.py:232 +#, fuzzy +msgid "" +"Chat state notifications that are sent to contacts. Possible values: all, " +"composing_only, disabled" +msgstr "" +"Dasyłaj nahadvańni ab stanie razmovy. Musić być adnoj z nastupnych " +"vartaściaŭ: all, composing_only, disabled." + +#: gajim/common/config.py:233 +#, fuzzy +msgid "" +"Chat state notifications that are sent to the group chat. Possible values: " +"'all', 'composing_only', 'disabled'" +msgstr "" +"Dasyłaj nahadvańni ab stanie razmovy. Musić być adnoj z nastupnych " +"vartaściaŭ: all, composing_only, disabled." + +#: gajim/common/config.py:240 +msgid "Shows an info bar with helpful hints in the Start / Join Chat dialog" +msgstr "" + +#: gajim/common/config.py:242 +msgid "Date of the last update check" +msgstr "" + +#: gajim/common/config.py:260 +#, fuzzy +msgid "" +"Priority will change automatically according to your status. Priorities are " +"defined in 'autopriority_*' options." +msgstr "" +"Pryjarytet budzie aŭtamatyčna źmianiacca zhodna tvajmu statusu. Pryjarytety " +"akreślivajucca ŭ opcyjach autopriority_*." + +#: gajim/common/config.py:267 +msgid "If enabled, the last status will be restored." +msgstr "" + +#: gajim/common/config.py:268 +msgid "" +"If enabled, contacts requesting authorization will be accepted automatically." +msgstr "" + +#: gajim/common/config.py:269 +#, fuzzy +msgid "" +"If disabled, this account will be disabled and will not appear in the " +"contact list window." +msgstr "" +"Kali opcyja maje vartaść False, ty bolš nia ŭbačyš avatara ŭ aknie razmovy." + +#: gajim/common/config.py:278 +msgid "ConnectionType: START TLS, DIRECT TLS or PLAIN" +msgstr "" + +#: gajim/common/config.py:280 +msgid "" +"List of XMPP Addresses (space separated) for which you do not want to store " +"chat history. You can also add the name of an account to disable storing " +"chat history for this account." +msgstr "" + +#: gajim/common/config.py:285 +#, fuzzy +msgid "" +"If enabled, Gajim will use your IP and proxies defined in " +"'file_transfer_proxies' option for file transfers." +msgstr "" +"Kali hetaja opcyja ŭklučanaja, Gajim budzie pieradavać fajły z akreślenym " +"adrasam IP i proxy-serveram z opcyi file_transfer_proxies." + +#: gajim/common/config.py:286 +msgid "" +"If enabled, Gajim will test file transfer proxies on startup to be sure they " +"work. Openfire's proxies are known to fail this test even if they work." +msgstr "" + +#: gajim/common/config.py:298 +msgid "If enabled, Gajim will answer to message receipt requests." +msgstr "" + +#: gajim/common/config.py:303 +#, fuzzy +msgid "" +"Allow Gajim to send information about the operating system you are running." +msgstr "" +"Kali ŭklučanaja hetaja opcyja, Gajim budzie dałučacca da hetaha pakoju pry " +"starcie" + +#: gajim/common/config.py:304 +#, fuzzy +msgid "Allow Gajim to send your local time." +msgstr "%s choča dasłać tabie fajł." + +#: gajim/common/config.py:307 +#, fuzzy +msgid "Message that is sent to contacts you want to add." +msgstr "Kali łaska, zapoŭni źviestki ab kantakcie, jaki chočaš dadać" + +#: gajim/common/config.py:308 +#, fuzzy +msgid "" +"If enabled, Gajim will send your local IP so your contact can connect to " +"your machine for file transfers." +msgstr "" +"Kali hetaja opcyja ŭklučanaja, Gajim budzie pieradavać fajły z akreślenym " +"adrasam IP i proxy-serveram z opcyi file_transfer_proxies." + +#: gajim/common/config.py:309 +msgid "" +"List of XMPP Addresses (space separated) for which the chat window will be " +"re-opened on next startup." +msgstr "" + +#: gajim/common/config.py:311 +msgid "" +"Preferred file transfer mechanism for file drag&drop on a chat window. Can " +"be 'httpupload' (default) or 'jingle'." +msgstr "" + +#: gajim/common/config.py:312 +#, fuzzy +msgid "Allow certificate verification with POSH." +msgstr "Dadajecca admysłovaje nahadvańnie dla %s" + +#: gajim/common/config.py:336 +#, fuzzy +msgid "" +"Chat state notifications that are sent to contacts. Possible values: 'all', " +"'composing_only', 'disabled'" +msgstr "" +"Dasyłaj nahadvańni ab stanie razmovy. Musić być adnoj z nastupnych " +"vartaściaŭ: all, composing_only, disabled." + +#: gajim/common/config.py:339 +#, fuzzy +msgid "The currently active encryption for that contact." +msgstr "Ci vykarystoŭvajecca šyfravańnie OpenPGP dla hetaha kantaktu?" + +#: gajim/common/config.py:343 +msgid "" +"If enabled, a notification is created for every message in this group chat." +msgstr "" + +#: gajim/common/config.py:344 +#, fuzzy +msgid "" +"Show a status message for all status changes (away, dnd, etc.) of users in a " +"group chat." +msgstr "Niemahčyma dałučycca da pakoju" + +#: gajim/common/config.py:345 +#, fuzzy +msgid "Show a status message for every join or leave in a group chat." +msgstr "Niemahčyma dałučycca da pakoju" + +#: gajim/common/config.py:346 +msgid "" +"If enabled, the group chat is minimized into the contact list when joining " +"automatically." +msgstr "" + +#: gajim/common/config.py:347 +msgid "" +"If enabled, the group chat is minimized into the contact list when closing " +"it." +msgstr "" + +#: gajim/common/config.py:348 +#, fuzzy +msgid "" +"Chat state notifications that are sent to the group chat. Possible values: " +"'all', 'composing_only' or 'disabled'." +msgstr "" +"Dasyłaj nahadvańni ab stanie razmovy. Musić być adnoj z nastupnych " +"vartaściaŭ: all, composing_only, disabled." + +#: gajim/common/config.py:351 +msgid "" +"If enabled, plugins will be activated on startup (this is saved when exiting " +"Gajim). This option SHOULD NOT be used to (de)activate plugins. Use the " +"plugin window instead." +msgstr "" + +#: gajim/common/config.py:358 +#, fuzzy +msgid "I'm eating." +msgstr "Ja pracuju." + +#: gajim/common/config.py:359 +msgid "I'm watching a movie." +msgstr "Hladžu film." + +#: gajim/common/config.py:360 +msgid "I'm working." +msgstr "Ja pracuju." + +#: gajim/common/config.py:361 +msgid "Phone" +msgstr "Telefon" + +#: gajim/common/config.py:361 +msgid "I'm on the phone." +msgstr "Ja razmaŭlaju pa telefonie." + +#: gajim/common/config.py:362 +msgid "I'm out enjoying life." +msgstr "Vyjšaŭ ciešycca z žyćcia." + +#: gajim/common/config.py:373 +#, fuzzy +msgid "" +"Sound to play when a group chat message contains one of the words in " +"'muc_highlight_words' or your nickname is mentioned." +msgstr "" +"Hukm jaki treba hrać, kali paviedamleńnie ŭ pakoji ŭtrymlivaje adno sa " +"słovaŭ, akreślenych u opcyi muc_highlight_words, albo tvaju mianušku." + +#: gajim/common/config.py:374 +#, fuzzy +msgid "Sound to play when any group chat message arrives." +msgstr "Huk, jaki treba hrać pry atrymańni novaha hrupavoha paviedamleńnia." + +#: gajim/common/config.py:378 +#, fuzzy +msgid "Tor" +msgstr "Da" + +#: gajim/common/exceptions.py:45 +#, python-format +msgid "" +"The database file (%s) cannot be read. Try to repair it (see https://dev." +"gajim.org/gajim/gajim/wikis/help/DatabaseBackup) or remove it (all history " +"will be lost)." +msgstr "" + +#: gajim/common/exceptions.py:59 +msgid "Service not available: Gajim is not running, or remote_control is False" +msgstr "" +"Servis niedastupny: Gajim nie vykonvajecca, albo opcyja remote_control maje " +"vartaść False" + +#: gajim/common/exceptions.py:81 +#, fuzzy, python-format +msgid "" +"Session bus is not available.\n" +"Try reading %(url)s" +msgstr "" +"Interfejs sesijaŭ niedastupny.\n" +"Pasprabuj pračytać: http://trac.gajim.org/wiki/GajimDBus" + +#: gajim/common/exceptions.py:93 +#, fuzzy, python-format +msgid "" +"System bus is not available.\n" +"Try reading %(url)s" +msgstr "" +"Interfejs sesijaŭ niedastupny.\n" +"Pasprabuj pračytać: http://trac.gajim.org/wiki/GajimDBus" + +#: gajim/common/optparser.py:54 +#, python-format +msgid "Error: cannot open %s for reading" +msgstr "Pamyłka: niemahčyma adčytać %s" + +#: gajim/common/configpaths.py:84 +#, python-format +msgid "%s is a file but it should be a directory" +msgstr "%s jość fajłam, ale musiŭ być kataloh" + +#: gajim/common/configpaths.py:85 +msgid "Gajim will now exit" +msgstr "Gajim zaviaršaje vykanańnie" + +#: gajim/common/connection_handlers_events.py:242 +#: gajim/common/connection_handlers_events.py:342 +#, fuzzy, python-format +msgid "New message from %(nickname)s" +msgid_plural "%(n_msgs)i unread messages from %(nickname)s" +msgstr[0] "Novaje paviedamleńnie ad %(nickname)s" +msgstr[1] "Novaje paviedamleńnie ad %(nickname)s" +msgstr[2] "Novaje paviedamleńnie ad %(nickname)s" + +#: gajim/common/connection_handlers_events.py:412 +#, python-format +msgid "%(nick)s Changed Status" +msgstr "%(nick)s źmianiŭ status" + +#: gajim/common/const.py:287 +#, fuzzy +msgid "?Group chat name:Team" +msgstr "?Funkcyja kantaktu ŭ pakoji:Niama" + +#: gajim/common/const.py:288 +msgid "?Group chat description:Project discussion" +msgstr "" + +#: gajim/common/const.py:289 +#, fuzzy +msgid "?Group chat address:team" +msgstr "Pakoji" + +#: gajim/common/const.py:290 +#, fuzzy +msgid "?Group chat name:Family" +msgstr "Padśviatleńnie paviedamleńnia ŭ pakoji" + +#: gajim/common/const.py:291 +msgid "?Group chat description:Spring gathering" +msgstr "" + +#: gajim/common/const.py:292 +msgid "?Group chat address:family" +msgstr "" + +#: gajim/common/const.py:293 +#, fuzzy +msgid "?Group chat name:Vacation" +msgstr "Zaprašeńnie ŭ pakoj" + +#: gajim/common/const.py:294 +msgid "?Group chat description:Trip planning" +msgstr "" + +#: gajim/common/const.py:295 +#, fuzzy +msgid "?Group chat address:vacation" +msgstr "Zaprašeńnie ŭ pakoj" + +#: gajim/common/const.py:296 +#, fuzzy +msgid "?Group chat name:Repairs" +msgstr "Групавая размова" + +#: gajim/common/const.py:297 +msgid "?Group chat description:Local help group" +msgstr "" + +#: gajim/common/const.py:298 +#, fuzzy +msgid "?Group chat address:repairs" +msgstr "Pakoji" + +#: gajim/common/const.py:299 +#, fuzzy +msgid "?Group chat name:News" +msgstr "?Funkcyja kantaktu ŭ pakoji:Niama" + +#: gajim/common/const.py:300 +#, fuzzy +msgid "?Group chat description:Local news and reports" +msgstr "Stvareńnie pakojaŭ abmiežavanaje." + +#: gajim/common/const.py:301 +#, fuzzy +msgid "?Group chat address:news" +msgstr "Novaja hrupavaja razmova" + +#: gajim/common/const.py:306 +#, fuzzy +msgid "Remote server not found" +msgstr "Niemahčyma znajści servis" + +#: gajim/common/const.py:307 +msgid "Remote server timeout" +msgstr "" + +#: gajim/common/const.py:308 gajim/common/const.py:309 +#: gajim/common/const.py:310 +#, fuzzy +msgid "Address does not belong to a group chat server" +msgstr "Heta nie pakoj" + +#: gajim/common/const.py:311 +#, fuzzy +msgid "Group chat already exists" +msgstr "Kont Local užo isnuje." + +#: gajim/common/const.py:312 +#, fuzzy +msgid "Group chat does not exist" +msgstr "Takoha pakoju niama." + +#: gajim/common/const.py:313 +#, fuzzy +msgid "Group chat is closed" +msgstr "Pakoji" + +#: gajim/common/const.py:319 +msgid "This message was encrypted with OTR and could not be decrypted." +msgstr "" + +#: gajim/common/const.py:322 +msgid "" +"This message was encrypted with Legacy OpenPGP and could not be decrypted. " +"You can install the PGP plugin to handle those messages." +msgstr "" + +#: gajim/common/const.py:326 +msgid "" +"This message was encrypted with OpenPGP for XMPP and could not be decrypted. " +"You can install the OpenPGP plugin to handle those messages." +msgstr "" + +#: gajim/common/const.py:330 +#, python-format +msgid "This message was encrypted with %s and could not be decrypted." +msgstr "" + +#: gajim/common/const.py:337 +#, fuzzy +msgid "Doing Chores" +msgstr "Niapravilny host" + +#: gajim/common/const.py:338 +msgid "Buying Groceries" +msgstr "" + +#: gajim/common/const.py:339 +#, fuzzy +msgid "Cleaning" +msgstr "Viečar" + +#: gajim/common/const.py:340 +#, fuzzy +msgid "Cooking" +msgstr "Uvod paviedamleńnia" + +#: gajim/common/const.py:341 +msgid "Doing Maintenance" +msgstr "" + +#: gajim/common/const.py:342 +msgid "Doing the Dishes" +msgstr "" + +#: gajim/common/const.py:343 +msgid "Doing the Laundry" +msgstr "" + +#: gajim/common/const.py:344 +#, fuzzy +msgid "Gardening" +msgstr "Ranica" + +#: gajim/common/const.py:345 +msgid "Running an Errand" +msgstr "" + +#: gajim/common/const.py:346 +#, fuzzy +msgid "Walking the Dog" +msgstr "pavodle hrupy" + +#: gajim/common/const.py:348 +#, fuzzy +msgid "Drinking" +msgstr "Pracuju" + +#: gajim/common/const.py:349 +msgid "Having a Beer" +msgstr "" + +#: gajim/common/const.py:350 +msgid "Having Coffee" +msgstr "" + +#: gajim/common/const.py:351 +msgid "Having Tea" +msgstr "" + +#: gajim/common/const.py:354 +msgid "Having a Snack" +msgstr "" + +#: gajim/common/const.py:355 +msgid "Having Breakfast" +msgstr "" + +#: gajim/common/const.py:356 +msgid "Having Dinner" +msgstr "" + +#: gajim/common/const.py:357 +msgid "Having Lunch" +msgstr "" + +#: gajim/common/const.py:359 +msgid "Exercising" +msgstr "" + +#: gajim/common/const.py:360 gajim/common/const.py:411 +msgid "Cycling" +msgstr "" + +#: gajim/common/const.py:361 +#, fuzzy +msgid "Dancing" +msgstr "Viečar" + +#: gajim/common/const.py:362 +#, fuzzy +msgid "Hiking" +msgstr "Vypichvajecca %s" + +#: gajim/common/const.py:363 +#, fuzzy +msgid "Jogging" +msgstr "_Dałučysia" + +#: gajim/common/const.py:364 +msgid "Playing Sports" +msgstr "" + +#: gajim/common/const.py:365 +msgid "Running" +msgstr "" + +#: gajim/common/const.py:366 +#, fuzzy +msgid "Skiing" +msgstr "Pracuju" + +#: gajim/common/const.py:367 +msgid "Swimming" +msgstr "" + +#: gajim/common/const.py:368 +#, fuzzy +msgid "Working out" +msgstr "Pracuju" + +#: gajim/common/const.py:370 +#, fuzzy +msgid "Grooming" +msgstr "pakoj" + +#: gajim/common/const.py:371 +msgid "At the Spa" +msgstr "" + +#: gajim/common/const.py:372 +msgid "Brushing Teeth" +msgstr "" + +#: gajim/common/const.py:373 +msgid "Getting a Haircut" +msgstr "" + +#: gajim/common/const.py:374 +#, fuzzy +msgid "Shaving" +msgstr "Jem" + +#: gajim/common/const.py:375 +msgid "Taking a Bath" +msgstr "" + +#: gajim/common/const.py:376 +msgid "Taking a Shower" +msgstr "" + +#: gajim/common/const.py:378 +msgid "Having an Appointment" +msgstr "" + +#: gajim/common/const.py:380 +msgid "Inactive" +msgstr "Pasiŭny" + +#: gajim/common/const.py:381 +msgid "Day Off" +msgstr "" + +#: gajim/common/const.py:382 +#, fuzzy +msgid "Hanging out" +msgstr "Źmianiajecca tema" + +#: gajim/common/const.py:383 +#, fuzzy +msgid "Hiding" +msgstr "Vypichvajecca %s" + +#: gajim/common/const.py:384 +msgid "On Vacation" +msgstr "" + +#: gajim/common/const.py:385 +#, fuzzy +msgid "Praying" +msgstr "Jem" + +#: gajim/common/const.py:386 +msgid "Scheduled Holiday" +msgstr "" + +#: gajim/common/const.py:388 +#, fuzzy +msgid "Thinking" +msgstr "Pracuju" + +#: gajim/common/const.py:390 +msgid "Relaxing" +msgstr "" + +#: gajim/common/const.py:391 +#, fuzzy +msgid "Fishing" +msgstr "Vypichvajecca %s" + +#: gajim/common/const.py:392 +#, fuzzy +msgid "Gaming" +msgstr "Jem" + +#: gajim/common/const.py:393 +#, fuzzy +msgid "Going out" +msgstr "_Adłučajusia" + +#: gajim/common/const.py:394 +#, fuzzy +msgid "Partying" +msgstr "Jem" + +#: gajim/common/const.py:395 +#, fuzzy +msgid "Reading" +msgstr "Pryčyna" + +#: gajim/common/const.py:396 +#, fuzzy +msgid "Rehearsing" +msgstr "Pryčyna" + +#: gajim/common/const.py:397 +#, fuzzy +msgid "Shopping" +msgstr "Splu" + +#: gajim/common/const.py:398 +#, fuzzy +msgid "Smoking" +msgstr "Pracuju" + +#: gajim/common/const.py:399 +msgid "Socializing" +msgstr "" + +#: gajim/common/const.py:400 +#, fuzzy +msgid "Sunbathing" +msgstr "Jem" + +#: gajim/common/const.py:401 +msgid "Watching TV" +msgstr "" + +#: gajim/common/const.py:402 +#, fuzzy +msgid "Watching a Movie" +msgstr "Hladžu film." + +#: gajim/common/const.py:404 +#, fuzzy +msgid "Talking" +msgstr "Jem" + +#: gajim/common/const.py:405 +msgid "In Real Life" +msgstr "" + +#: gajim/common/const.py:406 +#, fuzzy +msgid "On the Phone" +msgstr "Ja razmaŭlaju pa telefonie." + +#: gajim/common/const.py:407 +msgid "On Video Phone" +msgstr "" + +#: gajim/common/const.py:409 +#, fuzzy +msgid "Traveling" +msgstr "Pieradajecca" + +#: gajim/common/const.py:410 +#, fuzzy +msgid "Commuting" +msgstr "Uvod paviedamleńnia" + +#: gajim/common/const.py:412 +msgid "Driving" +msgstr "" + +#: gajim/common/const.py:413 +msgid "In a Car" +msgstr "" + +#: gajim/common/const.py:414 +msgid "On a Bus" +msgstr "" + +#: gajim/common/const.py:415 +#, fuzzy +msgid "On a Plane" +msgstr "Dałučany" + +#: gajim/common/const.py:416 +#, fuzzy +msgid "On a Train" +msgstr "Adčyni jak _spasyłku" + +#: gajim/common/const.py:417 +msgid "On a Trip" +msgstr "" + +#: gajim/common/const.py:418 +#, fuzzy +msgid "Walking" +msgstr "Pracuju" + +#: gajim/common/const.py:421 +#, fuzzy +msgid "Coding" +msgstr "Uvod paviedamleńnia" + +#: gajim/common/const.py:422 +msgid "In a Meeting" +msgstr "" + +#: gajim/common/const.py:423 +msgid "Studying" +msgstr "" + +#: gajim/common/const.py:424 +#, fuzzy +msgid "Writing" +msgstr "Pracuju" + +#: gajim/common/const.py:427 +msgid "Afraid" +msgstr "" + +#: gajim/common/const.py:428 +msgid "Amazed" +msgstr "" + +#: gajim/common/const.py:429 +msgid "Amorous" +msgstr "" + +#: gajim/common/const.py:430 +msgid "Angry" +msgstr "" + +#: gajim/common/const.py:431 +msgid "Annoyed" +msgstr "" + +#: gajim/common/const.py:432 +msgid "Anxious" +msgstr "" + +#: gajim/common/const.py:433 +#, fuzzy +msgid "Aroused" +msgstr "Prypynienaja" + +#: gajim/common/const.py:434 +msgid "Ashamed" +msgstr "" + +#: gajim/common/const.py:435 +#, fuzzy +msgid "Bored" +msgstr "Tłusty" + +#: gajim/common/const.py:436 +#, fuzzy +msgid "Brave" +msgstr "Nie razmaŭlaju " + +#: gajim/common/const.py:437 +msgid "Calm" +msgstr "" + +#: gajim/common/const.py:438 +#, fuzzy +msgid "Cautious" +msgstr "Razmovy" + +#: gajim/common/const.py:439 +#, fuzzy +msgid "Cold" +msgstr "Tłusty" + +#: gajim/common/const.py:440 +#, fuzzy +msgid "Confident" +msgstr "_Źmiest" + +#: gajim/common/const.py:441 +msgid "Confused" +msgstr "" + +#: gajim/common/const.py:442 +#, fuzzy +msgid "Contemplative" +msgstr "Zavieršana" + +#: gajim/common/const.py:443 +#, fuzzy +msgid "Contented" +msgstr "_Źmiest" + +#: gajim/common/const.py:444 +msgid "Cranky" +msgstr "" + +#: gajim/common/const.py:445 +msgid "Crazy" +msgstr "" + +#: gajim/common/const.py:446 +#, fuzzy +msgid "Creative" +msgstr "Niadziejny" + +#: gajim/common/const.py:447 +#, fuzzy +msgid "Curious" +msgstr "uri" + +#: gajim/common/const.py:448 +#, fuzzy +msgid "Dejected" +msgstr "Vydal" + +#: gajim/common/const.py:449 +msgid "Depressed" +msgstr "" + +#: gajim/common/const.py:450 +#, fuzzy +msgid "Disappointed" +msgstr "Adklučana" + +#: gajim/common/const.py:451 +msgid "Disgusted" +msgstr "" + +#: gajim/common/const.py:452 +#, fuzzy +msgid "Dismayed" +msgstr "Adklučana" + +#: gajim/common/const.py:453 +#, fuzzy +msgid "Distracted" +msgstr "Adklučana" + +#: gajim/common/const.py:454 +msgid "Embarrassed" +msgstr "" + +#: gajim/common/const.py:455 +msgid "Envious" +msgstr "" + +#: gajim/common/const.py:456 +#, fuzzy +msgid "Excited" +msgstr "Dziejny" + +#: gajim/common/const.py:457 +msgid "Flirtatious" +msgstr "" + +#: gajim/common/const.py:458 +msgid "Frustrated" +msgstr "" + +#: gajim/common/const.py:459 +msgid "Grateful" +msgstr "" + +#: gajim/common/const.py:460 +msgid "Grieving" +msgstr "" + +#: gajim/common/const.py:461 +#, fuzzy +msgid "Grumpy" +msgstr "Hrupa" + +#: gajim/common/const.py:462 +msgid "Guilty" +msgstr "" + +#: gajim/common/const.py:463 +msgid "Happy" +msgstr "" + +#: gajim/common/const.py:464 +msgid "Hopeful" +msgstr "" + +#: gajim/common/const.py:465 +#, fuzzy +msgid "Hot" +msgstr "_Host:" + +#: gajim/common/const.py:466 +msgid "Humbled" +msgstr "" + +#: gajim/common/const.py:467 +msgid "Humiliated" +msgstr "" + +#: gajim/common/const.py:468 +msgid "Hungry" +msgstr "" + +#: gajim/common/const.py:469 +msgid "Hurt" +msgstr "" + +#: gajim/common/const.py:470 +#, fuzzy +msgid "Impressed" +msgstr "paviedamleńnie" + +#: gajim/common/const.py:471 +msgid "In Awe" +msgstr "" + +#: gajim/common/const.py:472 +msgid "In Love" +msgstr "" + +#: gajim/common/const.py:473 +msgid "Indignant" +msgstr "" + +#: gajim/common/const.py:474 +msgid "Interested" +msgstr "" + +#: gajim/common/const.py:475 +#, fuzzy +msgid "Intoxicated" +msgstr "Dziejny" + +#: gajim/common/const.py:476 +#, fuzzy +msgid "Invincible" +msgstr "Niabačny" + +#: gajim/common/const.py:477 +msgid "Jealous" +msgstr "" + +#: gajim/common/const.py:478 +#, fuzzy +msgid "Lonely" +msgstr "pieršaja" + +#: gajim/common/const.py:479 +#, fuzzy +msgid "Lost" +msgstr "_Host:" + +#: gajim/common/const.py:480 +msgid "Lucky" +msgstr "" + +#: gajim/common/const.py:481 +#, fuzzy +msgid "Mean" +msgstr "Niamieckaja" + +#: gajim/common/const.py:482 +#, fuzzy +msgid "Moody" +msgstr "_Madyfikuj" + +#: gajim/common/const.py:483 +msgid "Nervous" +msgstr "" + +#: gajim/common/const.py:484 +msgid "Neutral" +msgstr "" + +#: gajim/common/const.py:485 +#, fuzzy +msgid "Offended" +msgstr "Adłučany" + +#: gajim/common/const.py:486 +msgid "Outraged" +msgstr "" + +#: gajim/common/const.py:487 +msgid "Playful" +msgstr "" + +#: gajim/common/const.py:488 +#, fuzzy +msgid "Proud" +msgstr "Hrupa" + +#: gajim/common/const.py:489 +msgid "Relaxed" +msgstr "" + +#: gajim/common/const.py:490 +#, fuzzy +msgid "Relieved" +msgstr "adzinaccataja" + +#: gajim/common/const.py:491 +msgid "Remorseful" +msgstr "" + +#: gajim/common/const.py:492 +msgid "Restless" +msgstr "" + +#: gajim/common/const.py:493 +#, fuzzy +msgid "Sad" +msgstr "Zatrymana" + +#: gajim/common/const.py:494 +msgid "Sarcastic" +msgstr "" + +#: gajim/common/const.py:495 +#, fuzzy +msgid "Satisfied" +msgstr "Apošniaja źmiena:" + +#: gajim/common/const.py:496 +msgid "Serious" +msgstr "" + +#: gajim/common/const.py:497 +msgid "Shocked" +msgstr "" + +#: gajim/common/const.py:498 +msgid "Shy" +msgstr "" + +#: gajim/common/const.py:499 +#, fuzzy +msgid "Sick" +msgstr "Mianuška" + +#: gajim/common/const.py:500 +#, fuzzy +msgid "Sleepy" +msgstr "Splu" + +#: gajim/common/const.py:501 +msgid "Spontaneous" +msgstr "" + +#: gajim/common/const.py:502 +#, fuzzy +msgid "Stressed" +msgstr "Vulica:" + +#: gajim/common/const.py:503 +msgid "Strong" +msgstr "" + +#: gajim/common/const.py:504 +#, fuzzy +msgid "Surprised" +msgstr "Aŭtaryzavany" + +#: gajim/common/const.py:505 +msgid "Thankful" +msgstr "" + +#: gajim/common/const.py:506 +msgid "Thirsty" +msgstr "" + +#: gajim/common/const.py:507 +#, fuzzy +msgid "Tired" +msgstr "Čas" + +#: gajim/common/const.py:508 +#, fuzzy +msgid "Undefined" +msgstr "dziaviataja" + +#: gajim/common/const.py:509 +msgid "Weak" +msgstr "" + +#: gajim/common/const.py:510 +msgid "Worried" +msgstr "" + +#: gajim/common/const.py:514 +msgid "accuracy" +msgstr "" + +#: gajim/common/const.py:515 +#, fuzzy +msgid "alt" +msgstr "Zmoŭčany" + +#: gajim/common/const.py:516 +msgid "area" +msgstr "" + +#: gajim/common/const.py:517 +#, fuzzy +msgid "bearing" +msgstr "marski" + +#: gajim/common/const.py:518 +#, fuzzy +msgid "building" +msgstr "Vypichvajecca %s" + +#: gajim/common/const.py:519 +#, fuzzy +msgid "country" +msgstr "Krajina:" + +#: gajim/common/const.py:520 +#, fuzzy +msgid "countrycode" +msgstr "Kont" + +#: gajim/common/const.py:521 +msgid "datum" +msgstr "" + +#: gajim/common/const.py:522 +#, fuzzy +msgid "description" +msgstr "Apisańnie" + +#: gajim/common/const.py:523 +#, fuzzy +msgid "error" +msgstr "Pamyłka Avahi" + +#: gajim/common/const.py:524 +msgid "floor" +msgstr "" + +#: gajim/common/const.py:525 +msgid "lat" +msgstr "" + +#: gajim/common/const.py:526 +msgid "locality" +msgstr "" + +#: gajim/common/const.py:527 +#, fuzzy +msgid "lon" +msgstr "pieršaja" + +#: gajim/common/const.py:528 +msgid "postalcode" +msgstr "" + +#: gajim/common/const.py:529 +msgid "region" +msgstr "" + +#: gajim/common/const.py:530 +msgid "room" +msgstr "pakoj" + +#: gajim/common/const.py:531 +msgid "speed" +msgstr "" + +#: gajim/common/const.py:532 +msgid "street" +msgstr "" + +#: gajim/common/const.py:533 +msgid "text" +msgstr "" + +#: gajim/common/const.py:534 +msgid "timestamp" +msgstr "" + +#: gajim/common/const.py:535 +msgid "URI" +msgstr "" + +#: gajim/common/const.py:540 +msgid "Unable to get issuer certificate" +msgstr "" + +#: gajim/common/const.py:541 +msgid "Unable to get certificate CRL" +msgstr "" + +#: gajim/common/const.py:542 +msgid "Unable to decrypt certificate's signature" +msgstr "" + +#: gajim/common/const.py:543 +msgid "Unable to decrypt CRL's signature" +msgstr "" + +#: gajim/common/const.py:544 +#, fuzzy +msgid "Unable to decode issuer public key" +msgstr "Niemahčyma adčytać modulu idle" + +#: gajim/common/const.py:545 +msgid "Certificate signature failure" +msgstr "" + +#: gajim/common/const.py:546 +msgid "CRL signature failure" +msgstr "" + +#: gajim/common/const.py:547 +msgid "Certificate is not yet valid" +msgstr "" + +#: gajim/common/const.py:548 +msgid "Certificate has expired" +msgstr "" + +#: gajim/common/const.py:549 +msgid "CRL is not yet valid" +msgstr "" + +#: gajim/common/const.py:550 +msgid "CRL has expired" +msgstr "" + +#: gajim/common/const.py:551 +msgid "Format error in certificate's notBefore field" +msgstr "" + +#: gajim/common/const.py:552 +msgid "Format error in certificate's notAfter field" +msgstr "" + +#: gajim/common/const.py:553 +msgid "Format error in CRL's lastUpdate field" +msgstr "" + +#: gajim/common/const.py:554 +msgid "Format error in CRL's nextUpdate field" +msgstr "" + +#: gajim/common/const.py:555 +msgid "Out of memory" +msgstr "" + +#: gajim/common/const.py:556 +msgid "Self signed certificate" +msgstr "" + +#: gajim/common/const.py:557 +msgid "Self signed certificate in certificate chain" +msgstr "" + +#: gajim/common/const.py:558 +msgid "Unable to get local issuer certificate" +msgstr "" + +#: gajim/common/const.py:559 +msgid "Unable to verify the first certificate" +msgstr "" + +#: gajim/common/const.py:560 +msgid "Certificate chain too long" +msgstr "" + +#: gajim/common/const.py:561 +msgid "Certificate revoked" +msgstr "" + +#: gajim/common/const.py:562 +#, fuzzy +msgid "Invalid CA certificate" +msgstr "Niapravilnaje imia karystalnika" + +#: gajim/common/const.py:563 +msgid "Path length constraint exceeded" +msgstr "" + +#: gajim/common/const.py:564 +msgid "Unsupported certificate purpose" +msgstr "" + +#: gajim/common/const.py:565 +msgid "Certificate not trusted" +msgstr "" + +#: gajim/common/const.py:566 +msgid "Certificate rejected" +msgstr "" + +#: gajim/common/const.py:567 +msgid "Subject issuer mismatch" +msgstr "" + +#: gajim/common/const.py:568 +msgid "Authority and subject key identifier mismatch" +msgstr "" + +#: gajim/common/const.py:569 +msgid "Authority and issuer serial number mismatch" +msgstr "" + +#: gajim/common/const.py:570 +msgid "Key usage does not include certificate signing" +msgstr "" + +#: gajim/common/const.py:571 +msgid "Application verification failure" +msgstr "" + +#: gajim/common/const.py:893 +msgid "The signing certificate authority is not known" +msgstr "" + +#: gajim/common/const.py:894 +#, fuzzy +msgid "The certificate has been revoked" +msgstr "Status źmianiŭsia." + +#: gajim/common/const.py:895 +msgid "The certificate does not match the expected identity of the site" +msgstr "" + +#: gajim/common/const.py:896 +msgid "The certificate’s algorithm is insecure" +msgstr "" + +#: gajim/common/const.py:897 +msgid "The certificate’s activation time is in the future" +msgstr "" + +#: gajim/common/const.py:898 +#, fuzzy +msgid "Unknown validation error" +msgstr "Kanfihuracyja pakoju" + +#: gajim/common/const.py:899 +#, fuzzy +msgid "The certificate has expired" +msgstr "Musiš vyznačyć parol" + +#: gajim/common/const.py:954 +#, fuzzy +msgid "Authentication aborted" +msgstr "Aŭtaryzacyja pryniataja" + +#: gajim/common/const.py:955 +#, fuzzy +msgid "Account disabled" +msgstr "Šyfravańnie adklučanaje" + +#: gajim/common/const.py:956 +#, fuzzy +msgid "Credentials expired" +msgstr "Musiš vyznačyć parol" + +#: gajim/common/const.py:957 +#, fuzzy +msgid "Encryption required" +msgstr "Šyfravańnie ŭklučanaje" + +#: gajim/common/const.py:961 +#, fuzzy +msgid "Authentication mechanism not supported" +msgstr "Pašyreńnie nie padtrymvajecca" + +#: gajim/common/const.py:962 +#, fuzzy +msgid "Authentication mechanism too weak" +msgstr "Pamyłka aŭtaryzacyi z \"%s\"" + +#: gajim/common/const.py:964 +msgid "Authentication currently not possible" +msgstr "" + +#: gajim/common/const.py:1109 +msgid "No Sync" +msgstr "" + +#: gajim/common/const.py:1111 +msgid "2 Days" +msgstr "" + +#: gajim/common/const.py:1114 +msgid "No Threshold" +msgstr "" + +#: gajim/common/logging_helpers.py:31 +#, python-format +msgid "%s is not a valid loglevel" +msgstr "" + +#: gajim/common/zeroconf/zeroconf_avahi.py:256 +#: gajim/common/zeroconf/zeroconf_bonjour.py:248 +#: gajim/common/zeroconf/zeroconf_bonjour.py:265 +#: gajim/common/zeroconf/zeroconf_bonjour.py:323 +#, python-format +msgid "Error while adding service. %s" +msgstr "Pamyłka dadańnia servisu. %s" + +#: gajim/common/zeroconf/connection_zeroconf.py:252 +#, python-format +msgid "Could not connect to \"%s\"" +msgstr "Niemahčyma złučycca z \"%s\"" + +#: gajim/common/zeroconf/connection_zeroconf.py:253 +#, fuzzy +msgid "Please check if Avahi or Bonjour is installed." +msgstr "Kali łaska, pravier instalacyju Avahi." + +#: gajim/common/zeroconf/connection_zeroconf.py:263 +#: gajim/common/zeroconf/connection_zeroconf.py:267 +msgid "Could not start local service" +msgstr "Niemahčyma ŭruchomić lakalny servis" + +#: gajim/common/zeroconf/connection_zeroconf.py:264 +#, python-format +msgid "Unable to bind to port %d." +msgstr "Niemahčyma dałučycca da portu %d." + +#: gajim/common/zeroconf/connection_zeroconf.py:268 +#, fuzzy +msgid "Please check if avahi/bonjour-daemon is running." +msgstr "Kali łaska, pravier, ci pracuje avahi-daemon." + +#: gajim/common/zeroconf/connection_zeroconf.py:362 +#: gajim/common/zeroconf/connection_zeroconf.py:375 +#, python-format +msgid "Could not change status of account \"%s\"" +msgstr "Niemahčyma źmianić status kontu \"%s\"" + +#: gajim/common/zeroconf/connection_zeroconf.py:363 +#: gajim/common/zeroconf/connection_zeroconf.py:376 +msgid "Please check if avahi-daemon is running." +msgstr "Kali łaska, pravier, ci pracuje avahi-daemon." + +#: gajim/common/zeroconf/connection_zeroconf.py:404 +#, fuzzy +msgid "Your message could not be sent." +msgstr "Kantakt adłučany. Niemahčyma dasłać paviedamleńnie." + +#: gajim/common/zeroconf/connection_zeroconf.py:419 +msgid "Contact is offline. Your message could not be sent." +msgstr "Kantakt adłučany. Niemahčyma dasłać paviedamleńnie." + +#: gajim/common/zeroconf/connection_zeroconf.py:441 +msgid "" +"Connection to host could not be established: Timeout while sending data." +msgstr "" +"Niemahčyma złučycca z hostam: pieravyšany termin čakańnia padčas adsyłańnia " +"źviestak." + +#: gajim/common/dbus/logind.py:73 +msgid "Machine is going to sleep" +msgstr "" + +#: gajim/common/dbus/logind.py:103 +msgid "Disconnect from the network" +msgstr "" + +#: gajim/common/modules/adhoc_commands.py:88 +msgid "Change status information" +msgstr "Źmiani infarmacyju statusu" + +#: gajim/common/modules/adhoc_commands.py:112 +msgid "Change status" +msgstr "Źmiani status" + +#: gajim/common/modules/adhoc_commands.py:113 +msgid "Set the presence type and description" +msgstr "Akreśli typ bačnaści i apisańnie" + +#: gajim/common/modules/adhoc_commands.py:120 +msgid "Free for chat" +msgstr "Achvotna parazmaŭlaju" + +#: gajim/common/modules/adhoc_commands.py:121 +msgid "Online" +msgstr "Dałučany" + +#: gajim/common/modules/adhoc_commands.py:123 +msgid "Extended away" +msgstr "Adyjšoŭ" + +#: gajim/common/modules/adhoc_commands.py:124 +msgid "Do not disturb" +msgstr "Nie turbavać" + +#: gajim/common/modules/adhoc_commands.py:125 +msgid "Offline - disconnect" +msgstr "Niabačny - adłučany" + +#: gajim/common/modules/adhoc_commands.py:131 +msgid "Presence description:" +msgstr "Apisańnie statusu:" + +#: gajim/common/modules/adhoc_commands.py:170 +msgid "The status has been changed." +msgstr "Status źmianiŭsia." + +#: gajim/common/modules/presence.py:265 +msgid "I would like to add you to my roster." +msgstr "Ja chaču dadać ciabie ŭ svoj śpis kantaktaŭ." + +#: gajim/common/modules/roster_item_exchange.py:103 +#, python-format +msgid "Sent contact: \"%(jid)s\" (%(name)s)" +msgstr "" + +#: gajim/common/modules/roster_item_exchange.py:107 +#, fuzzy +msgid "Sent contacts:" +msgstr "Kantakty" + +#: gajim/common/modules/httpupload.py:99 +#, fuzzy +msgid "File is empty" +msgstr "Ściežka da fajłu" + +#: gajim/common/modules/httpupload.py:102 +#, fuzzy +msgid "File does not exist" +msgstr "Takoha pakoju niama." + +#: gajim/common/modules/httpupload.py:109 +#: gajim/common/modules/httpupload.py:172 +#, python-format +msgid "File is too large, maximum allowed file size is: %s" +msgstr "" + +#: gajim/common/modules/httpupload.py:279 +#, fuzzy +msgid "Encrypting file…" +msgstr "Šyfravańnie adklučanaje" + +#: gajim/common/modules/httpupload.py:280 +msgid "Requesting HTTP File Upload Slot…" +msgstr "" + +#: gajim/common/modules/httpupload.py:281 +msgid "Uploading via HTTP File Upload…" +msgstr "" + +#: gajim/common/modules/httpupload.py:285 +msgid "The server returned an insecure transport (HTTP)." +msgstr "" + +#: gajim/common/modules/httpupload.py:286 +msgid "There is no encryption method available for the chosen encryption." +msgstr "" + +#: gajim/plugins/pluginmanager.py:679 gajim/plugins/pluginmanager.py:685 +msgid "Archive corrupted" +msgstr "" + +#: gajim/plugins/pluginmanager.py:681 +#, fuzzy +msgid "Archive empty" +msgstr "Ściežka da fajłu" + +#: gajim/plugins/pluginmanager.py:693 gajim/plugins/pluginmanager.py:701 +#: gajim/plugins/gui.py:273 +msgid "Archive is malformed" +msgstr "" + +#: gajim/plugins/pluginmanager.py:710 gajim/plugins/gui.py:288 +#: gajim/plugins/gui.py:301 +#, fuzzy +msgid "Plugin already exists" +msgstr "Hety fajł užo isnuje" + +#: gajim/plugins/pluginmanager.py:720 +#, fuzzy +msgid "Installation failed" +msgstr "Niemahvyma dałučycca" + +#: gajim/plugins/gui.py:67 gajim/data/gui/shortcuts_window.ui:38 +msgid "Plugins" +msgstr "" + +#: gajim/plugins/gui.py:75 +msgid "Click to view Gajim's wiki page on how to install plugins in Flatpak." +msgstr "" + +#: gajim/plugins/gui.py:84 +msgid "Plugin" +msgstr "" + +#: gajim/plugins/gui.py:95 gajim/data/gui/manage_sounds.ui:40 +msgid "Active" +msgstr "Dziejny" + +#: gajim/plugins/gui.py:159 +#, fuzzy, python-format +msgid "Warning: %s" +msgstr "Blakavańnie %s" + +#: gajim/plugins/gui.py:216 +#, fuzzy +msgid "Plugin failed" +msgstr "Niemahvyma dałučycca" + +#: gajim/plugins/gui.py:249 +msgid "Unable to properly remove the plugin" +msgstr "" + +#: gajim/plugins/gui.py:287 +#, fuzzy +msgid "Overwrite Plugin?" +msgstr "Paviedamleńnie statusu" + +#: gajim/plugins/gui.py:289 +#, fuzzy +msgid "Do you want to overwrite the currently installed version?" +msgstr "%s choča dasłać tabie fajł:" + +#: gajim/plugins/gui.py:317 gajim/data/gui/groupchat_config.ui:258 +#, fuzzy +msgid "Configuration" +msgstr "Kanfihuracyja pakoju" + +#: gajim/data/gui/groupchat_nick_chooser.ui:47 +#, fuzzy +msgid "Join Group Chat as…" +msgstr "Dałučysia da pakoju" + +#: gajim/data/gui/groupchat_nick_chooser.ui:66 +#, fuzzy +msgid "Your Nickname" +msgstr "П_ерад мянушкай:" + +#: gajim/data/gui/groupchat_control.ui:36 +#, fuzzy +msgid "Drop Files or Contacts" +msgstr "Kantakty" + +#: gajim/data/gui/groupchat_control.ui:58 gajim/data/gui/chat_control.ui:322 +msgid "Bold" +msgstr "Tłusty" + +#: gajim/data/gui/groupchat_control.ui:67 gajim/data/gui/chat_control.ui:331 +msgid "Italic" +msgstr "Nachileny" + +#: gajim/data/gui/groupchat_control.ui:76 gajim/data/gui/chat_control.ui:340 +#, fuzzy +msgid "Underline" +msgstr "dziaviataja" + +#: gajim/data/gui/groupchat_control.ui:85 gajim/data/gui/chat_control.ui:349 +#, fuzzy +msgid "Strike" +msgstr "Mianuška" + +#: gajim/data/gui/groupchat_control.ui:107 gajim/data/gui/chat_control.ui:371 +#, fuzzy +msgid "Font" +msgstr "_Šryft:" + +#: gajim/data/gui/groupchat_control.ui:121 gajim/data/gui/chat_control.ui:385 +#, fuzzy +msgid "Clear formatting" +msgstr "Źviestki ab kantakcie" + +#: gajim/data/gui/groupchat_control.ui:383 gajim/data/gui/chat_control.ui:784 +#, fuzzy +msgid "Choose encryption" +msgstr "Abiary fajł dla adsyłańnia..." + +#: gajim/data/gui/groupchat_control.ui:429 gajim/data/gui/chat_control.ui:667 +#, fuzzy +msgid "Show a list of emojis (Alt+M)" +msgstr "Klikni, kab ustavić smajlik (Alt+M)" + +#: gajim/data/gui/groupchat_control.ui:454 gajim/data/gui/chat_control.ui:833 +#, fuzzy +msgid "Send Message" +msgstr "Dašli paviedamleńnie" + +#: gajim/data/gui/groupchat_control.ui:583 +#, fuzzy +msgid "Joining…" +msgstr "Blakavańnie..." + +#: gajim/data/gui/groupchat_control.ui:641 +#, fuzzy +msgid "Enter Nickname" +msgstr "Ustaŭ mianušku" + +#: gajim/data/gui/groupchat_control.ui:691 +#: gajim/data/gui/groupchat_control.ui:783 +#, fuzzy +msgid "Ch_ange" +msgstr "Źmiani _mianušku" + +#: gajim/data/gui/groupchat_control.ui:748 +#: gajim/data/gui/shortcuts_window.ui:319 +#, fuzzy +msgid "Change Subject" +msgstr "Źmiani _temu" + +#: gajim/data/gui/groupchat_control.ui:864 +#, fuzzy +msgid "Enter Password" +msgstr "Uviadzi novy parol:" + +#: gajim/data/gui/groupchat_control.ui:1081 +#, fuzzy +msgid "_Forget Group Chat" +msgstr "Pakiń pakoji" + +#: gajim/data/gui/groupchat_control.ui:1085 +#, fuzzy +msgid "Gajim will not try to join this group chat again" +msgstr "" +"Kali ŭklučanaja hetaja opcyja, Gajim budzie dałučacca da hetaha pakoju pry " +"starcie" + +#: gajim/data/gui/groupchat_control.ui:1102 +msgid "T_ry Again" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1156 +#, fuzzy +msgid "An Error Occurred" +msgstr "Adbyłasia pamyłka:" + +#: gajim/data/gui/groupchat_control.ui:1221 +msgid "_Try Again" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1398 +#, fuzzy +msgid "Kick Participant" +msgstr "Udzielnik" + +#: gajim/data/gui/groupchat_control.ui:1436 +msgid "_Kick" +msgstr "_Vypchni" + +#: gajim/data/gui/groupchat_control.ui:1469 +#: gajim/data/gui/groupchat_control.ui:1595 +#: gajim/data/gui/groupchat_control.ui:1721 +#: gajim/data/gui/groupchat_control.ui:1738 +#: gajim/data/gui/groupchat_control.ui:1827 +#: gajim/data/gui/groupchat_control.ui:1828 +msgid "Insert Emoji" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1482 +#: gajim/data/gui/groupchat_control.ui:1608 +msgid "Reason (optional)" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1524 +#, fuzzy +msgid "Ban Participant" +msgstr "Udzielnik" + +#: gajim/data/gui/groupchat_control.ui:1562 +msgid "_Ban" +msgstr "Za_blakuj" + +#: gajim/data/gui/groupchat_control.ui:1650 +#, fuzzy +msgid "Destroy This Chat" +msgstr "Novaja hrupavaja razmova" + +#: gajim/data/gui/groupchat_control.ui:1688 +#, fuzzy +msgid "_Destroy" +msgstr "Apisańnie: %s" + +#: gajim/data/gui/groupchat_control.ui:1722 +msgid "Alternate venue (optional)..." +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1739 +#, fuzzy +msgid "Reason (optional)..." +msgstr "Pryčyna" + +#: gajim/data/gui/groupchat_control.ui:1752 +msgid "Reason for destruction" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1767 +msgid "Where participants should go" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1808 +#, fuzzy +msgid "Rename This Chat" +msgstr "Pakiń pakoji" + +#: gajim/data/gui/groupchat_control.ui:1935 +#, fuzzy +msgid "_Invite" +msgstr "_Zaprasi" + +#: gajim/data/gui/groupchat_control.ui:2020 +msgid "Settings for This Chat" +msgstr "" + +#: gajim/data/gui/filetransfers.ui:21 +msgid "Pa_use/Resume" +msgstr "" + +#: gajim/data/gui/filetransfers.ui:45 +#, fuzzy +msgid "_Open Folder" +msgstr "_Adčyni kataloh z fajłam" + +#: gajim/data/gui/filetransfers.ui:56 gajim/data/gui/filetransfers.ui:206 +msgid "File Transfers" +msgstr "Pieradačy fajłaŭ" + +#: gajim/data/gui/filetransfers.ui:91 +#, fuzzy +msgid "_Show notification when file transfer is complete" +msgstr "_Nahadaj mnie ab zakančeńni pieradačy fajła" + +#: gajim/data/gui/filetransfers.ui:131 +msgid "file transfers list" +msgstr "śpis pieradačaŭ fajłaŭ" + +#: gajim/data/gui/filetransfers.ui:132 +msgid "A list of active, completed and stopped file transfers" +msgstr "Śpis dziejnych, skončanych i spynienych pieradačaŭ fajłaŭ" + +#: gajim/data/gui/filetransfers.ui:154 +#, fuzzy +msgid "Remove completed, cancelled and failed file transfers from the list" +msgstr "Vydal skončanyja, anulavanyja i chibnyja pieradačy fajłaŭ ź śpisa" + +#: gajim/data/gui/filetransfers.ui:167 +#, fuzzy +msgid "Pause or resume file transfer" +msgstr "Anuluj pieradaču fajła" + +#: gajim/data/gui/filetransfers.ui:180 +#, fuzzy +msgid "Cancel the selected file transfer and remove incomplete files" +msgstr "Anuluj abranuju pieradaču fajła i vydal niedaciahnuty fajł" + +#: gajim/data/gui/filetransfers.ui:207 +#, fuzzy +msgid "Shows a list of file transfers between you and your contacts" +msgstr "Pakažy śpis pieradačaŭ fajłaŭ" + +#: gajim/data/gui/add_new_contact_window.ui:76 +#, fuzzy +msgid "_XMPP Address" +msgstr "_Adras:" + +#: gajim/data/gui/add_new_contact_window.ui:92 +#, fuzzy +msgid "_Nickname" +msgstr "_Mianuška:" + +#: gajim/data/gui/add_new_contact_window.ui:109 +#, fuzzy +msgid "_Group" +msgstr "_Hrupa:" + +#: gajim/data/gui/add_new_contact_window.ui:157 +msgid "Choose or type new group name" +msgstr "" + +#: gajim/data/gui/add_new_contact_window.ui:173 +#, fuzzy +msgid "A_ccount" +msgstr "_Kont:" + +#: gajim/data/gui/add_new_contact_window.ui:189 +#, fuzzy +msgid "_Protocol" +msgstr "_Pratakoł:" + +#: gajim/data/gui/add_new_contact_window.ui:287 +#: gajim/data/gui/single_message_window.ui:161 +#, fuzzy +msgid "Query Contact Info" +msgstr "Źviestki ab kantakcie" + +#: gajim/data/gui/add_new_contact_window.ui:312 +#, fuzzy +msgid "A_llow contact to view my status" +msgstr "_Dazvol hetamu kantaktu bačyć moj status" + +#: gajim/data/gui/add_new_contact_window.ui:363 +#, fuzzy +msgid "_Save subscription message" +msgstr "_Aŭtaryzacyja" + +#: gajim/data/gui/add_new_contact_window.ui:389 +#, fuzzy +msgid "" +"You have to register with this transport\n" +"to be able to add a contact from this\n" +"protocol. Click on Register button to\n" +"proceed." +msgstr "" +"Treba zarehistravacca na hetym šluzie,\n" +"kab dadać kantakt z hetaha pratakołu.\n" +"Klikni pa knopcy rehistracyi\n" +"dla praciahu." + +#: gajim/data/gui/add_new_contact_window.ui:404 +msgid "_Register" +msgstr "_Rehistruj" + +#: gajim/data/gui/add_new_contact_window.ui:433 +msgid "" +"You must be connected to the transport to be able\n" +"to add a contact from this protocol." +msgstr "" +"Treba złučycca z šluzam, kab mahčy dadavać kantakty\n" +"z hetaha pratakołu." + +#: gajim/data/gui/add_new_contact_window.ui:467 +#, fuzzy +msgid "_Add" +msgstr "_Adras:" + +#: gajim/data/gui/account_wizard.ui:16 gajim/data/gui/manage_proxies.ui:206 +#, fuzzy +msgid "_Port" +msgstr "_Port:" + +#: gajim/data/gui/account_wizard.ui:46 +#, fuzzy +msgid "_Hostname" +msgstr "Nazva hosta: " + +#: gajim/data/gui/account_wizard.ui:62 gajim/data/gui/account_wizard.ui:689 +#: gajim/data/gui/manage_proxies.ui:223 +msgid "example.org" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:75 +#, fuzzy +msgid "Prox_y" +msgstr "Proxy:" + +#: gajim/data/gui/account_wizard.ui:110 +#, fuzzy +msgid "Manage Proxies..." +msgstr "Kiruj profilami proxy" + +#: gajim/data/gui/account_wizard.ui:131 gajim/data/gui/preferences.ui:798 +#, fuzzy +msgid "Advanced Settings" +msgstr "Admysłovyja dziejańni" + +#: gajim/data/gui/account_wizard.ui:163 gajim/data/gui/manage_proxies.ui:290 +#, fuzzy +msgid "_Type" +msgstr "Typ:" + +#: gajim/data/gui/account_wizard.ui:203 +msgid "Welcome" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:219 +#, fuzzy +msgid "Please enter your credentials or Sign Up" +msgstr "Stvary novy zapis" + +#: gajim/data/gui/account_wizard.ui:237 +msgid "Your XMPP address (e.g. user@example.org)" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:239 +#: gajim/data/gui/single_message_window.ui:59 +msgid "user@example.org" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:252 +#, fuzzy +msgid "Your password" +msgstr "Uviadzi novy parol:" + +#: gajim/data/gui/account_wizard.ui:266 gajim/data/gui/account_wizard.ui:719 +#, fuzzy +msgid "_Advanced Settings" +msgstr "Admysłovyja dziejańni" + +#: gajim/data/gui/account_wizard.ui:270 gajim/data/gui/account_wizard.ui:723 +#, fuzzy +msgid "Proxy, custom hostname and port" +msgstr "Skarystaj admysłovy host/port" + +#: gajim/data/gui/account_wizard.ui:283 +#, fuzzy +msgid "_Log In" +msgstr "_Dałučysia" + +#: gajim/data/gui/account_wizard.ui:288 +msgid "Log in with your credentials" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:304 +#, fuzzy +msgid "or" +msgstr "Da" + +#: gajim/data/gui/account_wizard.ui:314 +#, fuzzy +msgid "_Sign Up" +msgstr "_Dałučajusia" + +#: gajim/data/gui/account_wizard.ui:318 +msgid "Sign up for a new account on a server of your choice" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:369 +msgid "Visit Website" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:410 +#, fuzzy +msgid "Certificate Verification Failed" +msgstr "Dadajecca admysłovaje nahadvańnie dla %s" + +#: gajim/data/gui/account_wizard.ui:428 +msgid "" +"The following warnings came up while trying to verify the server's " +"certificate" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:457 +#, fuzzy +msgid "_Show Certificate" +msgstr "Niapravilnaje imia karystalnika" + +#: gajim/data/gui/account_wizard.ui:472 +#, fuzzy +msgid "_Add to Trusted Certificates" +msgstr "Niapravilnaje imia karystalnika" + +#: gajim/data/gui/account_wizard.ui:501 gajim/data/gui/account_wizard.ui:664 +msgid "Which server should I choose?" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:516 +msgid "" +"There are plenty of servers to choose from.\n" +"Creating an account on one server allows you to communicate with contacts " +"from other servers as well." +msgstr "" + +#: gajim/data/gui/account_wizard.ui:530 +msgid "Visit Server's Website" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:550 +msgid "Listing of Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:568 +msgid "" +"xmpp.org/getting-started" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:646 +#, fuzzy +msgid "_Please choose a server" +msgstr "Stvary novy zapis" + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "" + +#: gajim/data/gui/application_menu.ui:8 +#, fuzzy +msgid "_Start / Join Chat…" +msgstr "Pačni razmovu" + +#: gajim/data/gui/application_menu.ui:13 +#, fuzzy +msgid "Create _Group Chat…" +msgstr "Pakiń pakoji" + +#: gajim/data/gui/application_menu.ui:18 +#, fuzzy +msgid "_History Manager" +msgstr "Kiraŭnik žurnałaŭ" + +#: gajim/data/gui/application_menu.ui:22 +#, fuzzy +msgid "Pl_ugins" +msgstr "Niemahvyma dałučycca" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +#, fuzzy +msgid "_Preferences" +msgstr "Nałady" + +#: gajim/data/gui/application_menu.ui:36 +#, fuzzy +msgid "_Accounts" +msgstr "Konty" + +#: gajim/data/gui/application_menu.ui:39 +#, fuzzy +msgid "_View" +msgstr "_Vyhlad" + +#: gajim/data/gui/application_menu.ui:46 +#, fuzzy +msgid "Show _Offline Contacts" +msgstr "Pakažy _adłučanyja kantakty" + +#: gajim/data/gui/application_menu.ui:50 +#, fuzzy +msgid "Show _Active Contacts" +msgstr "Pakažy _adłučanyja kantakty" + +#: gajim/data/gui/application_menu.ui:54 +#, fuzzy +msgid "Show _Transports" +msgstr "Pakažy _transparty" + +#: gajim/data/gui/application_menu.ui:60 +#, fuzzy +msgid "_XML Console" +msgstr "Kansol XML" + +#: gajim/data/gui/application_menu.ui:64 +#, fuzzy +msgid "_File Transfer" +msgstr "Pieradačy fajłaŭ" + +#: gajim/data/gui/application_menu.ui:74 +#, fuzzy +msgid "_Help" +msgstr "_Dapamoha" + +#: gajim/data/gui/application_menu.ui:77 +#, fuzzy +msgid "_Wiki (Online)" +msgstr "Dałučany" + +#: gajim/data/gui/application_menu.ui:81 +#, fuzzy +msgid "FA_Q (Online)" +msgstr "Dałučany" + +#: gajim/data/gui/application_menu.ui:85 +msgid "_Keyboard Shortcuts" +msgstr "" + +#: gajim/data/gui/application_menu.ui:89 +#, fuzzy +msgid "_Features" +msgstr "Zdolnaści serveraŭ" + +#: gajim/data/gui/application_menu.ui:93 +#, fuzzy +msgid "_About" +msgstr "Pra siabie" + +#: gajim/data/gui/filetransfer_progress.ui:125 +msgid "Speed" +msgstr "" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +#, fuzzy +msgid "OK" +msgstr "_Tak" + +#: gajim/data/gui/plugins_window.ui:55 +msgid "Install Plugin from ZIP-File" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:56 +msgid "Install from File…" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:70 +#, fuzzy +msgid "Uninstall Plugin" +msgstr "Zatrymana" + +#: gajim/data/gui/plugins_window.ui:116 +#, fuzzy +msgid "" +msgstr "Niemahvyma dałučycca" + +#: gajim/data/gui/plugins_window.ui:133 +#, fuzzy +msgid "Plugin Settings" +msgstr "Niemahvyma dałučycca" + +#: gajim/data/gui/plugins_window.ui:215 +#, fuzzy +msgid "" +msgstr "Apisańnie" + +#: gajim/data/gui/plugins_window.ui:239 +#, fuzzy +msgid "Version" +msgstr "Versija GTK+:" + +#: gajim/data/gui/plugins_window.ui:271 +#, fuzzy +msgid "Authors" +msgstr "_Aŭtaryzuj" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +#, fuzzy +msgid "Homepage" +msgstr "Chatniaja staronka:" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:349 +#, fuzzy +msgid "Installed" +msgstr "Zatrymana" + +#: gajim/data/gui/plugins_window.ui:363 +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +#, fuzzy +msgid "Synchronise contacts" +msgstr "Pakažy _adłučanyja kantakty" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +#, fuzzy +msgid "_Name" +msgstr "_Imia:" + +#: gajim/data/gui/groupchat_creation.ui:122 +#, fuzzy +msgid "_Description" +msgstr "Apisańnie" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +#, fuzzy +msgid "_Address" +msgstr "_Adras:" + +#: gajim/data/gui/groupchat_creation.ui:278 +#, fuzzy +msgid "_Account" +msgstr "Konty" + +#: gajim/data/gui/profile.ui:33 +#, fuzzy +msgid "Contact Infos" +msgstr "Źviestki ab kantakcie" + +#: gajim/data/gui/profile.ui:45 +#, fuzzy +msgid "Picture and Name" +msgstr "Mianuška nia znojdziena: %s" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "" + +#: gajim/data/gui/profile.ui:198 +#, fuzzy +msgid "Change your profile picture" +msgstr "Źmiani _mianušku" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:298 +#, fuzzy +msgid "Add Entry" +msgstr "Zapis:" + +#: gajim/data/gui/profile.ui:410 +#, fuzzy +msgid "Update" +msgstr "Aktualizuj MOTD" + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:15 +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:65 +#, fuzzy +msgid "Add Proxy" +msgstr "Proxy:" + +#: gajim/data/gui/manage_proxies.ui:79 +#, fuzzy +msgid "Remove Proxy" +msgstr "Vydal hrupu" + +#: gajim/data/gui/manage_proxies.ui:131 +#, fuzzy +msgid "Pass_word" +msgstr "_Parol:" + +#: gajim/data/gui/manage_proxies.ui:156 +#, fuzzy +msgid "Use proxy auth_entication" +msgstr "Užyvaj aŭtaryzacyju" + +#: gajim/data/gui/manage_proxies.ui:176 +#, fuzzy +msgid "_Username" +msgstr "_Imia karystalnika:" + +#: gajim/data/gui/manage_proxies.ui:237 +#, fuzzy +msgid "_Host" +msgstr "_Host:" + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "Lakalny JID:" + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "Krynica:" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "Status:" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +#, fuzzy +msgid "_Store conversation history" +msgstr "_Zachoŭvaj žurnał razmoŭ" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +msgid "Contact" +msgstr "Kantakt" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +msgid "First Name:" +msgstr "Imia:" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +msgid "Last Name:" +msgstr "Proźvišča:" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +#, fuzzy +msgid "XMPP Address:" +msgstr "Adras AIM:" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "E-mail:" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +msgid "Personal" +msgstr "Asabistyja źviestki" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "_Status" + +#: gajim/data/gui/account_context_menu.ui:20 +#, fuzzy +msgid "_Personal Events" +msgstr "Asabistyja źviestki" + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "_Dadaj kantakt..." + +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "_Šukaj servisy" + +#: gajim/data/gui/account_context_menu.ui:57 +msgid "_Execute Command..." +msgstr "_Vykanaj zahad..." + +#: gajim/data/gui/account_context_menu.ui:65 +#, fuzzy +msgid "_View Server Info" +msgstr "Server" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:125 +#, fuzzy +msgid "Global Group Chat Search" +msgstr "Dałučysia da pakoju" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +#, fuzzy +msgid "_Back" +msgstr "Chutka viarnusia" + +#: gajim/data/gui/start_chat_dialog.ui:386 +#, fuzzy +msgid "Select Account" +msgstr "Vydalajecca kont %s" + +#: gajim/data/gui/start_chat_dialog.ui:477 +msgid "_Select" +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +#, fuzzy +msgid "Configure" +msgstr "_Praciahni" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +msgid "Create new post" +msgstr "Stvary novy zapis" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "Sta_tus" + +#: gajim/data/gui/systray_context_menu.ui:20 +#, fuzzy +msgid "_Start Chat..." +msgstr "_Pačni razmovu" + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "Dašli _asobnaje aviedamleńnie..." + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "Pakažy ŭsie niahledžanyja _padzieji" + +#: gajim/data/gui/systray_context_menu.ui:52 +msgid "Mute Sounds" +msgstr "Ściš huki" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +#, fuzzy +msgid "Contact List" +msgstr "Kantakty" + +#: gajim/data/gui/shortcuts_window.ui:24 +#, fuzzy +msgid "Create new group chat" +msgstr "Pakiń pakoji" + +#: gajim/data/gui/shortcuts_window.ui:45 +#, fuzzy +msgid "File transfers" +msgstr "Pieradačy fajłaŭ" + +#: gajim/data/gui/shortcuts_window.ui:52 +#, fuzzy +msgid "Set the status message" +msgstr "paviedamlennie statusu" + +#: gajim/data/gui/shortcuts_window.ui:59 +#, fuzzy +msgid "Show XML console" +msgstr "Pakažy _kansol XML" + +#: gajim/data/gui/shortcuts_window.ui:74 +#, fuzzy +msgid "Appearance" +msgstr "Redahuj praviła" + +#: gajim/data/gui/shortcuts_window.ui:79 +#, fuzzy +msgid "Show offline contacts" +msgstr "Pakažy _adłučanyja kantakty" + +#: gajim/data/gui/shortcuts_window.ui:86 +#, fuzzy +msgid "Show only active contacts" +msgstr "Pakažy _adłučanyja kantakty" + +#: gajim/data/gui/shortcuts_window.ui:93 +msgid "Enable contact list filtering" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:100 +#, fuzzy +msgid "Show / hide contact list" +msgstr "Pakažy _adłučanyja kantakty" + +#: gajim/data/gui/shortcuts_window.ui:113 +#, fuzzy +msgid "Contact information" +msgstr "Źviestki ab kantakcie" + +#: gajim/data/gui/shortcuts_window.ui:120 +#, fuzzy +msgid "Rename contact" +msgstr "Źmiani nazvu kantaktu" + +#: gajim/data/gui/shortcuts_window.ui:127 +#, fuzzy +msgid "Delete contact" +msgstr "Kantakty" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +msgid "Chat" +msgstr "Razmova" + +#: gajim/data/gui/shortcuts_window.ui:142 +#, fuzzy +msgid "Message composition" +msgstr "źmiest paviedamleńnia" + +#: gajim/data/gui/shortcuts_window.ui:147 +#, fuzzy +msgid "Send the message" +msgstr "Dašli paviedamleńnie" + +#: gajim/data/gui/shortcuts_window.ui:154 +#, fuzzy +msgid "Add new line" +msgstr "Stvary novy zapis" + +#: gajim/data/gui/shortcuts_window.ui:161 +msgid "Select an emoji" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:168 +#, fuzzy +msgid "Complete a command or a nickname" +msgstr "Stvary novy zapis" + +#: gajim/data/gui/shortcuts_window.ui:175 +#, fuzzy +msgid "Previously sent message" +msgstr "Šablony paviedamleńniaŭ statusu:" + +#: gajim/data/gui/shortcuts_window.ui:182 +#, fuzzy +msgid "Next sent messages" +msgstr "Šablony paviedamleńniaŭ statusu:" + +#: gajim/data/gui/shortcuts_window.ui:189 +#, fuzzy +msgid "Quote previous message" +msgstr "paviedamlennie statusu" + +#: gajim/data/gui/shortcuts_window.ui:196 +#, fuzzy +msgid "Quote next message" +msgstr "Dašli paviedamleńnie" + +#: gajim/data/gui/shortcuts_window.ui:203 +#, fuzzy +msgid "Clear message entry" +msgstr "Paviedamleńnie dasłanaje" + +#: gajim/data/gui/shortcuts_window.ui:211 +#, fuzzy +msgid "Recent history" +msgstr "Niadaŭna:" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:230 +#, fuzzy +msgid "Clear chat window" +msgstr "Užyvańnie: /%s, ačyščaje akno ad tekstu." + +#: gajim/data/gui/shortcuts_window.ui:237 +#, fuzzy +msgid "Show chat history" +msgstr "Niadaŭna:" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:299 +msgid "Close chat" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:312 +#, fuzzy +msgid "Change Nickname" +msgstr "Źmiani _mianušku" + +#: gajim/data/gui/chat_control.ui:48 +#, fuzzy +msgid "Drop files or contacts" +msgstr "Dasyłaje kantaktu fajł" + +#: gajim/data/gui/chat_control.ui:80 +#, fuzzy +msgid "1" +msgstr "Huki" + +#: gajim/data/gui/chat_control.ui:101 +#, fuzzy +msgid "2 abc" +msgstr "Huki" + +#: gajim/data/gui/chat_control.ui:121 +#, fuzzy +msgid "3 def" +msgstr "Huki" + +#: gajim/data/gui/chat_control.ui:141 +#, fuzzy +msgid "4 ghi" +msgstr "Huki" + +#: gajim/data/gui/chat_control.ui:161 +#, fuzzy +msgid "5 jkl" +msgstr "Huki" + +#: gajim/data/gui/chat_control.ui:181 +#, fuzzy +msgid "6 mno" +msgstr "Huki" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "" + +#: gajim/data/gui/chat_control.ui:221 +#, fuzzy +msgid "8 tuv" +msgstr "Huki" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "" + +#: gajim/data/gui/chat_control.ui:261 +#, fuzzy +msgid "*" +msgstr "Huki" + +#: gajim/data/gui/chat_control.ui:281 +#, fuzzy +msgid "0" +msgstr "Huki" + +#: gajim/data/gui/chat_control.ui:301 +#, fuzzy +msgid "#" +msgstr "Huki" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "Pačni _razmovu" + +#: gajim/data/gui/contact_context_menu.ui:28 +#, fuzzy +msgid "Send _File..." +msgstr "Vyšli _fajł" + +#: gajim/data/gui/contact_context_menu.ui:44 +#, fuzzy +msgid "Invite _Contacts" +msgstr "Kantakty" + +#: gajim/data/gui/contact_context_menu.ui:58 +#, fuzzy +msgid "E_xecute Command..." +msgstr "Vykanaj zahad..." + +#: gajim/data/gui/contact_context_menu.ui:67 +#, fuzzy +msgid "M_anage Contact" +msgstr "Źmiani nazvu kantaktu" + +#: gajim/data/gui/contact_context_menu.ui:77 +#, fuzzy +msgid "_Rename..." +msgstr "Źmiani _nazvu" + +#: gajim/data/gui/contact_context_menu.ui:84 +#, fuzzy +msgid "Edit _Groups..." +msgstr "Źmiani _hrupy" + +#: gajim/data/gui/contact_context_menu.ui:92 +#, fuzzy +msgid "Add Special _Notification..." +msgstr "Dadaj admysłovaje _nahadvańnie" + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "_Aŭtaryzacyja" + +#: gajim/data/gui/contact_context_menu.ui:115 +#, fuzzy +msgid "_Allow contact to see my status" +msgstr "_Dazvol hetamu kantaktu bačyć moj status" + +#: gajim/data/gui/contact_context_menu.ui:123 +#, fuzzy +msgid "A_sk to see contact status" +msgstr "Spytaj _dazvołu bačyć jahony/jejny status" + +#: gajim/data/gui/contact_context_menu.ui:131 +#, fuzzy +msgid "_Forbid contact to see my status" +msgstr "Za_barani jamu/joj bačyć moj status" + +#: gajim/data/gui/contact_context_menu.ui:159 +#, fuzzy +msgid "_Unignore" +msgstr "dziaviataja" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:174 +#, fuzzy +msgid "_Add to Contact List..." +msgstr "_Dadaj kantakt..." + +#: gajim/data/gui/single_message_window.ui:42 +#, fuzzy +msgid "_To" +msgstr "Da" + +#: gajim/data/gui/single_message_window.ui:71 +#, fuzzy +msgid "Su_bject" +msgstr "Tema" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "" + +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "_Paviedamleńnie" + +#: gajim/data/gui/single_message_window.ui:144 +#, fuzzy +msgid "Characters typed: 0" +msgstr "Mianuška nie dazvolenaja: %s" + +#: gajim/data/gui/single_message_window.ui:189 +#, fuzzy +msgid "_From" +msgstr "Ad" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "_Dašli" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "Dašli paviedamleńnie" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "_Adkažy" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "Adkažy na hetaje paviedamleńnie" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "_Dašli i začyni" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "Dašli paviedamleńnie i začyni akno" + +#: gajim/data/gui/vcard_information_window.ui:106 +#, fuzzy +msgid "Client" +msgstr "Prahrama:" + +#: gajim/data/gui/vcard_information_window.ui:140 +#, fuzzy +msgid "Contact time" +msgstr "Nazva kantaktu" + +#: gajim/data/gui/vcard_information_window.ui:240 +#, fuzzy +msgid "User avatar" +msgstr "Avatar:" + +#: gajim/data/gui/vcard_information_window.ui:255 +#, fuzzy +msgid "Configured avatar" +msgstr "Kanfihuruj _pakoj" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +#, fuzzy +msgid "Ask" +msgstr "Pytaj:" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +#, fuzzy +msgid "Subscription" +msgstr "Aŭtaryzacyja:" + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +#, fuzzy +msgid "Extra Address" +msgstr "Dadatkovy adras:" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +#, fuzzy +msgid "Address" +msgstr "Dadaj praviła" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +#, fuzzy +msgid "E-Mail" +msgstr "E-mail:" + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "Farmat: HHHH-MM-DD" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +#, fuzzy +msgid "Family" +msgstr "Proźvišča:" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +#, fuzzy +msgid "Middle" +msgstr "Druhoje imia:" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +#, fuzzy +msgid "Prefix" +msgstr "Prefiks:" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +#, fuzzy +msgid "Given" +msgstr "Imia:" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +#, fuzzy +msgid "Suffix" +msgstr "Sufiks:" + +#: gajim/data/gui/vcard_information_window.ui:958 +#, fuzzy +msgid "Name Details" +msgstr "Asablivy" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "" + +#: gajim/data/gui/vcard_information_window.ui:1017 +msgid "Personal Info" +msgstr "Asabistyja źviestki" + +#: gajim/data/gui/vcard_information_window.ui:1040 +#, fuzzy +msgid "Company" +msgstr "Firma:" + +#: gajim/data/gui/vcard_information_window.ui:1073 +#, fuzzy +msgid "Department" +msgstr "Addzieł:" + +#: gajim/data/gui/vcard_information_window.ui:1104 +#, fuzzy +msgid "Position" +msgstr "Stanovišča:" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "Funkcyja" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "Pra siabie" + +#: gajim/data/gui/vcard_information_window.ui:1514 +msgid "Comments" +msgstr "Kamentary" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "Źmiani hrupy" + +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "Parol" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +#, fuzzy +msgid "Themes" +msgstr "Tema" + +#: gajim/data/gui/themes_window.ui:171 +#, fuzzy +msgid "Add Setting" +msgstr "Niemahvyma dałučycca" + +#: gajim/data/gui/themes_window.ui:204 +#, fuzzy +msgid "Add new Theme" +msgstr "Stvary novy zapis" + +#: gajim/data/gui/themes_window.ui:219 +#, fuzzy +msgid "Remove Theme" +msgstr "Dziejny" + +#: gajim/data/gui/bookmarks.ui:120 +#, fuzzy +msgid "Autojoin" +msgstr "Aŭtamatyčna dałučajsia" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "" + +#: gajim/data/gui/preferences.ui:68 +#, fuzzy +msgid "Contact List Appearance" +msgstr "Kantakt adłučyŭsia" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +msgid "Chats" +msgstr "Razmovy" + +#: gajim/data/gui/preferences.ui:215 +#, fuzzy +msgid "Visual Notifications" +msgstr "Vizualnyja nahadvańni" + +#: gajim/data/gui/preferences.ui:243 +#, fuzzy +msgid "Sounds" +msgstr "Fajły ŭ Wav" + +#: gajim/data/gui/preferences.ui:303 +#, fuzzy +msgid "Ask For Status Message on…" +msgstr "Spytaj paviedamleńnia statusu, kali ja:" + +#: gajim/data/gui/preferences.ui:331 +#, fuzzy +msgid "Automatic Status Change" +msgstr "_Dastasuj da statusu" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "" + +#: gajim/data/gui/preferences.ui:447 +#, fuzzy +msgid "Status Icon" +msgstr "Standartny zbor _ikon statusu:" + +#: gajim/data/gui/preferences.ui:472 +#, fuzzy +msgid "Style" +msgstr "Zatrymana" + +#: gajim/data/gui/preferences.ui:511 +#, fuzzy +msgid "Show _Features" +msgstr "Zdolnaści serveraŭ" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:632 +msgid "Audio" +msgstr "" + +#: gajim/data/gui/preferences.ui:660 +msgid "Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:698 +msgid "Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:735 +#, fuzzy +msgid "Miscellaneous" +msgstr "Roznaje" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:821 +#, fuzzy +msgid "Advanced Configuration Editor… " +msgstr "Redaktar dadatkovych naładaŭ" + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "" + +#: gajim/data/gui/server_info.ui:50 +#, fuzzy +msgid "Server Software" +msgstr "Zdolnaści serveraŭ" + +#: gajim/data/gui/server_info.ui:80 +#, fuzzy +msgid "Server Uptime" +msgstr "Zapisany ŭ: %s" + +#: gajim/data/gui/server_info.ui:109 +#, fuzzy +msgid "Contact Addresses" +msgstr "Pa_viedamleńnie statusu:" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "" + +#: gajim/data/gui/server_info.ui:177 +#, fuzzy +msgid "Proxy Type" +msgstr "Proxy:" + +#: gajim/data/gui/server_info.ui:192 +#, fuzzy +msgid "No proxy used" +msgstr "Proxy:" + +#: gajim/data/gui/server_info.ui:202 +#, fuzzy +msgid "View _Certificate" +msgstr "Niapravilnaje imia karystalnika" + +#: gajim/data/gui/server_info.ui:222 +#, fuzzy +msgid "Proxy Host" +msgstr "Proxy:" + +#: gajim/data/gui/server_info.ui:421 +#, fuzzy +msgid "Copy info to clipboard" +msgstr "S_kapijuj adras spasyłki" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:153 +#, fuzzy +msgid "Serial Number" +msgstr "Numer GG:" + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:304 +msgid "Expires on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:465 +#, fuzzy +msgid "Copy Certificate Information" +msgstr "Źviestki ab kantakcie" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +#, fuzzy +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "JID kantaktu, ź jakim chočaš parazmaŭlać" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +#, fuzzy +msgid "Please select a group chat server." +msgstr "Heta nie pakoj" + +#: gajim/data/gui/chat_to_muc_window.ui:141 +#, fuzzy +msgid "Group chat server" +msgstr "Pakoji" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +#, fuzzy +msgid "In_vite" +msgstr "_Zaprasi" + +#: gajim/data/gui/mam_preferences.ui:53 +#, fuzzy +msgid "_Default" +msgstr "Zmoŭčany" + +#: gajim/data/gui/mam_preferences.ui:136 +#, fuzzy +msgid "Archive" +msgstr "Ściežka da fajłu" + +#: gajim/data/gui/history_manager.ui:11 +#, fuzzy +msgid "_Export" +msgstr "Ekspartuj" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +msgid "Gajim History Logs Manager" +msgstr "Kiraŭnik žurnałaŭ razmoŭ Gajim" + +#: gajim/data/gui/history_manager.ui:104 +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" + +#: gajim/data/gui/history_manager.ui:120 +#, fuzzy +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" +"Vas vitaje Kiraŭnik žurnałaŭ razmoŭ Gajim\n" +"\n" +"Možaš vybrać adzin z žurnałaŭ u levaj paneli albo pasprabavać znajści " +"patrebny tekst u bazie žurnałaŭ.\n" +"\n" +"UVAHA:\n" +"Kali chočaš ździejśnić masavuju čystku žurnałaŭ, to začyni Gajim. Nie " +"vydalaj žurnały razmoŭ ź ludźmi, ź jakimi ŭ hety čas razmaŭlaješ." + +#: gajim/data/gui/history_manager.ui:211 +#, fuzzy +msgid "Search database..." +msgstr "_Šukaj u bazie žurnałaŭ" + +#: gajim/data/gui/history_manager.ui:226 +#, fuzzy +msgid "Search in database" +msgstr "_Šukaj u bazie žurnałaŭ" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" + +#: gajim/data/gui/groupchat_invite.ui:69 +#, fuzzy +msgid "Invitees" +msgstr "_Zaprasi" + +#: gajim/data/gui/groupchat_invite.ui:153 +#, fuzzy +msgid "Search contacts..." +msgstr "_Šukaj u bazie žurnałaŭ" + +#: gajim/data/gui/groupchat_invite.ui:223 +#, fuzzy +msgid "Click on contacts you would like to invite to this group chat." +msgstr "%(who)s vypchnuŭ %(nick)s: %(reason)s" + +#: gajim/data/gui/service_discovery_window.ui:148 +#, fuzzy +msgid "Go" +msgstr "_Pierajdzi" + +#: gajim/data/gui/status_change_window.ui:27 +#, fuzzy +msgid "Change Status" +msgstr "Źmiani status" + +#: gajim/data/gui/status_change_window.ui:56 +#, fuzzy +msgid "Status Presets…" +msgstr "Paviedamleńnie statusu" + +#: gajim/data/gui/status_change_window.ui:72 +msgid "Save this message as a preset" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:130 +#, fuzzy +msgid "Ac_tivity" +msgstr "Dziejny" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:278 +#, fuzzy +msgid "_Change Status" +msgstr "Źmiani status" + +#: gajim/data/gui/status_change_window.ui:313 +#, fuzzy +msgid "Activity" +msgstr "Dziejny" + +#: gajim/data/gui/status_change_window.ui:326 +#, fuzzy +msgid "_No Activity" +msgstr "Dziejny" + +#: gajim/data/gui/status_change_window.ui:729 +#, fuzzy +msgid "Mood" +msgstr "_Madyfikuj" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +#, fuzzy +msgid "Author" +msgstr "_Aŭtaryzuj" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +#, fuzzy +msgid "Group Chat Language" +msgstr "Zaprašeńnie ŭ pakoj" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +#, fuzzy +msgid "Copy Address" +msgstr "S_kapijuj JID/Email" + +#: gajim/data/gui/emoji_chooser.ui:98 +msgid "No Results Found" +msgstr "" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr "Kansol XML" + +#: gajim/data/gui/xml_console.ui:131 +#, fuzzy +msgid "Start Search..." +msgstr "_Pačni razmovu" + +#: gajim/data/gui/xml_console.ui:260 +#, fuzzy +msgid "Clear" +msgstr "Viečar" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "" + +#: gajim/data/gui/xml_console.ui:316 +#, fuzzy +msgid "Presets" +msgstr "P_rysutnaść" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +#, fuzzy +msgid "Select the contacts you want to synchronise" +msgstr "JID kantaktu, ź jakim chočaš parazmaŭlać" + +#: gajim/data/gui/groupchat_config.ui:51 +#, fuzzy +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" +"Mahčymyja varyjanty:\n" +"1. karystalnik@damen/krynica (tolki hetaja krynica).\n" +"2. karystalnik@damen (usiakaja krynica).\n" +"3. damen/krynica (tolki hetaja krynica).\n" +"4. damen (adpaviadaje damen, jak karystalnik@damen,\n" +"damen/krynica ci paddamen)." + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:309 +#, fuzzy +msgid "Reserved Name" +msgstr "Nazva nałady" + +#: gajim/data/gui/groupchat_config.ui:346 +#, fuzzy +msgid "Affiliation" +msgstr "Aplikacyi" + +#: gajim/data/gui/groupchat_config.ui:377 +#, fuzzy +msgid "Affiliations" +msgstr "Aplikacyi" + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "Pryčyna" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "Śpis zablakavanych kantaktaŭ" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "_Admoŭ" + +#: gajim/data/gui/subscription_request_window.ui:34 +#, fuzzy +msgid "_Block User" +msgstr "_Hrupa:" + +#: gajim/data/gui/subscription_request_window.ui:49 +#, fuzzy +msgid "_Report as Spam" +msgstr "_Paviedam pra pamyłku" + +#: gajim/data/gui/subscription_request_window.ui:212 +#, fuzzy +msgid "_Deny…" +msgstr "_Admoŭ" + +#: gajim/data/gui/subscription_request_window.ui:225 +#, fuzzy +msgid "Ac_cept" +msgstr "Dazvol" + +#: gajim/data/gui/subscription_request_window.ui:230 +#, fuzzy +msgid "Allows the contact to see your online status" +msgstr "_Dazvol hetamu kantaktu bačyć moj status" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:115 +#, fuzzy +msgid "_Report Bug" +msgstr "_Paviedam pra pamyłku" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "Padzieja" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "Abiary hukavy fajł" + +#: gajim/data/gui/manage_sounds.ui:97 +#, fuzzy +msgid "Clear Sound" +msgstr "Abiary hukavy fajł" + +#: gajim/data/gui/manage_sounds.ui:118 +#, fuzzy +msgid "Play Sound" +msgstr "_Ahučvaj" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +#, fuzzy +msgid "_Send Files" +msgstr "Vyšli _fajł" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +#, fuzzy +msgid "Send" +msgstr "_Vyšli" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +#, fuzzy +msgid "Files to send" +msgstr "Abiary fajł dla adsyłańnia..." + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +#, fuzzy +msgid "Add Files" +msgstr "Fajł: " + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +#, fuzzy +msgid "Remove Files" +msgstr "_Vydal" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +#, fuzzy +msgid "Idle since:" +msgstr " ad %s" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +#, fuzzy +msgid "Mood:" +msgstr "Pakoj:" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +#, fuzzy +msgid "Activity:" +msgstr "Dziejny" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +#, fuzzy +msgid "Tune:" +msgstr "Typ:" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +#, fuzzy +msgid "Location:" +msgstr "Madyfikacyja kontu" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +msgid "Subscription:" +msgstr "Aŭtaryzacyja:" + +#: gajim/data/gui/advanced_configuration.ui:15 +#, fuzzy +msgid "A restart may be required for some settings to take effect" +msgstr "UVAHA: Kab ubačyć niekatoryja źmieny, uruchom Gajim" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "" + +#: gajim/data/gui/advanced_configuration.ui:120 +#, fuzzy +msgid "_Reset Value" +msgstr "_Viarni zvyčajnyja kolery" + +#: gajim/data/gui/advanced_configuration.ui:125 +#, fuzzy +msgid "Resets value to default" +msgstr "_Viarni zvyčajnyja kolery" + +#: gajim/data/gui/history_window.ui:27 +#, fuzzy +msgid "Display status changes" +msgstr "_Zachoŭvać u žurnale źmieny statusu kantaktaŭ" + +#: gajim/data/gui/history_window.ui:57 +msgid "History Manager" +msgstr "Kiraŭnik žurnałaŭ" + +#: gajim/data/gui/history_window.ui:233 +#, fuzzy +msgid "Mode" +msgstr "Maderatar" + +#: gajim/data/gui/history_window.ui:246 +#, fuzzy +msgid "Search complete history" +msgstr "Niadaŭna:" + +#: gajim/data/gui/history_window.ui:263 +msgid "Search selected day only" +msgstr "" + +#: gajim/data/gui/history_window.ui:317 +msgid "Store history for this chat" +msgstr "" + +#: gajim/data/gui/history_window.ui:332 +#, fuzzy +msgid "Store History" +msgstr "Niadaŭna:" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +#, fuzzy +msgid "Identified Error" +msgstr "Niapravilnaje imia karystalnika" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +#, fuzzy +msgid "" +msgstr "Pamyłka Avahi" + +#: gajim/data/gui/ssl_error_dialog.ui:74 +msgid "Add this certificate to the list of _trusted certificates" +msgstr "" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +#, fuzzy +msgid "_View Certificate" +msgstr "Niapravilnaje imia karystalnika" + +#: gajim/data/gui/ssl_error_dialog.ui:120 +#, fuzzy +msgid "_Connect" +msgstr "Złučeńnie" + +#: data/org.gajim.Gajim.desktop.in:5 +#, fuzzy +msgid "XMPP Chat Client" +msgstr "Klijent kamunikacyi dla Jabber" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:8 +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:27 +#, fuzzy +msgid "Show next pending event" +msgstr "Pakažy ŭsie niahledžanyja _padzieji" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:17 +#, fuzzy +msgid "Features:" +msgstr "Zdolnaści serveraŭ" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +msgid "Automatic spell-checking for your messages" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +#, fuzzy +msgid "Support for service discovery including nodes and search for users" +msgstr "Prahlad servisaŭ dla kontu %s" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +#, fuzzy +msgid "Contact list" +msgstr "Kantakty" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +#, fuzzy +msgid "Group chat support" +msgstr "Pakoji" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +#, fuzzy +msgid "Chat history" +msgstr "Niadaŭna:" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +#, fuzzy +msgid "Plugin manager" +msgstr "Niemahvyma dałučycca" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +#, fuzzy +msgid "Gajim Team" +msgstr "Gajim - %s" + +#, fuzzy +#~ msgid "Chat Settings" +#~ msgstr "Niemahvyma dałučycca" + +#, fuzzy, python-format +#~ msgid "%i day" +#~ msgid_plural "%i days" +#~ msgstr[0] "%i dzion tamu" +#~ msgstr[1] "%i dzion tamu" +#~ msgstr[2] "%i dzion tamu" + +#, fuzzy +#~ msgid "Composing only" +#~ msgstr "Uvod paviedamleńnia" + +#, fuzzy +#~ msgid "All chat states" +#~ msgstr "Usie statusy" + +#~ msgid "Privacy Lists" +#~ msgstr "Śpisy pryvatnaści" + +#~ msgid "None" +#~ msgstr "Nijaki" + +#, python-format +#~ msgid "%s Status Message" +#~ msgstr "Paviedamleńnie statusu %s" + +#~ msgid "Could not load image" +#~ msgstr "Niemahčyma adčytać vyjavu" + +#, fuzzy +#~ msgid "Error." +#~ msgstr "Pamyłka Avahi" + +#, fuzzy +#~ msgid "_Block Contact" +#~ msgstr "Kantakty" + +#, fuzzy +#~ msgid "Block Group" +#~ msgstr "Hrupa" + +#, fuzzy +#~ msgid "Really block this group?" +#~ msgstr "Ci vykarystoŭvajecca šyfravańnie OpenPGP dla hetaha kantaktu?" + +#~ msgid "No account available" +#~ msgstr "Konty niedastupnyja" + +#~ msgid "You must create an account before you can chat with other contacts." +#~ msgstr "Treba stvaryć kont, kab razmaŭlać ź inšymi kantaktami." + +#~ msgid "Metacontacts storage not supported by your server" +#~ msgstr "Tvoj server nie padtrymvaje zachoŭvańnia metakantaktaŭ" + +#, fuzzy +#~ msgid "" +#~ "Your server does not support storing metacontacts information. So this " +#~ "information will not be saved on next reconnection." +#~ msgstr "" +#~ "Tvoj server nie padtrymvaje zachoŭvańnia metakantaktaŭ. Tamu hetyja " +#~ "źviestki nia buduć dastupnyja pry nastupnym złučeńni." + +#, fuzzy, python-brace-format +#~ msgid "You are invited to {room} by {user}" +#~ msgstr "Ty nie dałučyŭsia da pakoju." + +#, fuzzy, python-format +#~ msgid "%s wants to start a voice chat." +#~ msgstr "%s choča dasłać tabie fajł." + +#~ msgid "Could not save your settings and preferences" +#~ msgstr "Niemahčyma zapisać tvaje nałady i opcyi" + +#, fuzzy +#~ msgid "Error While Removing Privacy List" +#~ msgstr "Pamyłka vydaleńnia śpisu pryvatnaści" + +#, fuzzy, python-format +#~ msgid "" +#~ "Privacy list %s has not been removed. It is probably active in one of " +#~ "your connected resources. Please deactivate it and try again." +#~ msgstr "" +#~ "Śpis pryvatnaści %s nia vydaleny. Jon vykarystoŭvajecca adnoj z " +#~ "dałučanych krynic. Adklučy jaje i paŭtary znoŭ." + +#, fuzzy +#~ msgid "Invisibility Not Supported" +#~ msgstr "Pašyreńnie nie padtrymvajecca" + +#, fuzzy, python-format +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "Śpis dziejnych, skončanych i spynienych pieradačaŭ fajłaŭ" + +#, fuzzy +#~ msgid "Could not request upload slot for HTTP File Upload" +#~ msgstr "Niemahčyma ŭruchomić lakalny servis" + +#, fuzzy +#~ msgid "Not Secure" +#~ msgstr "Nie pačata" + +#, fuzzy +#~ msgid "Could not Upload File" +#~ msgstr "Niemahčyma adčytać vyjavu" + +#, fuzzy +#~ msgid "Encryption Error" +#~ msgstr "Šyfravańnie ŭklučanaje" + +#~ msgid "Lists all preferences and their values" +#~ msgstr "Pakazvaje ŭsie nałady i ichnyja vartaści" + +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "Akreślivaje dla 'kluča' 'vartaść'" + +#~ msgid "key=value" +#~ msgstr "kluč=vartaść" + +#, fuzzy +#~ msgid "'key' is the name of the preference, 'value' is what to set it to" +#~ msgstr "'kluč' jość nazvaj nałady, 'vartaść' jość vartaściu hetaj nałady" + +#~ msgid "Deletes a preference item" +#~ msgstr "Vydalaje naładu" + +#~ msgid "key" +#~ msgstr "kluč" + +#~ msgid "name of the preference to be deleted" +#~ msgstr "nazva vydalenaj nałady" + +#~ msgid "Writes the current state of Gajim preferences to the .config file" +#~ msgstr "Zapisvaje dziejnyja nałady Gajima ŭ fajł .config" + +#, python-format +#~ msgid "%s is a directory but should be a file" +#~ msgstr "%s jość kataloham, ale musiŭ być fajł" + +#, fuzzy, python-format +#~ msgid "Creating %s" +#~ msgstr "Apisańnie: %s" + +#, python-format +#~ msgid "%(nickname)s Signed In" +#~ msgstr "%(nickname)s dałučyŭsia" + +#~ msgid "Contact Signed In" +#~ msgstr "Kantakt dałučyŭsia" + +#, python-format +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "%(nickname)s adłučyŭsia" + +#~ msgid "Contact Signed Out" +#~ msgstr "Kantakt adłučyŭsia" + +#, fuzzy +#~ msgid "" +#~ "Show desktop notification even when a chat window is opened for this " +#~ "contact and does not have focus." +#~ msgstr "" +#~ "Pakazvaj vypłyŭnyja vokny i nahadvańni, kali ja ŭ stanie _Adyjšoŭ/" +#~ "Niedastupny/Zaniaty/Niabačny" + +#, fuzzy +#~ msgid "default" +#~ msgstr "Zmoŭčany" + +#, fuzzy +#~ msgid "" +#~ "Character to propose to add after desired nickname when nickname is " +#~ "already used in group chat." +#~ msgstr "" +#~ "Znak, jaki dadajecca paśla mianuški, kali akreślenaja mianuška ŭžyvajecca " +#~ "ŭ movie inšaha ŭdzielnika pakoju." + +#, fuzzy +#~ msgid "If enabled, Gajim displays the avatar in the chat window." +#~ msgstr "" +#~ "Kali opcyja maje vartaść False, ty bolš nia ŭbačyš avatara ŭ aknie " +#~ "razmovy." + +#~ msgid "I'm available." +#~ msgstr "Dastupny." + +#~ msgid "I'm free for chat." +#~ msgstr "Achvotna parazmaŭlaju." + +#~ msgid "Be right back." +#~ msgstr "Chutka viarnusia." + +#~ msgid "I'm not available." +#~ msgstr "Niedastupny." + +#~ msgid "Do not disturb." +#~ msgstr "Nie turbavać." + +#~ msgid "Bye!" +#~ msgstr "Byvaj!" + +#, fuzzy +#~ msgid "Timeout loading image" +#~ msgstr "Niemahčyma adčytać vyjavu" + +#, fuzzy +#~ msgid "Error loading image" +#~ msgstr "Niemahčyma adčytać vyjavu" + +#, fuzzy +#~ msgid "Blocked Contacts" +#~ msgstr "Kantakty" + +#, fuzzy +#~ msgid "Group chat" +#~ msgstr "Pakoji" + +#, fuzzy +#~ msgid "Bookmark group chat" +#~ msgstr "_Stvary zakładku dla hetaja pakoju" + +#, fuzzy +#~ msgid "Bookmark" +#~ msgstr "_Stvary zakładku dla hetaja pakoju" + +#, fuzzy +#~ msgid "Recently used group chats" +#~ msgstr "Dałučysia da _pakoju" + +#, fuzzy +#~ msgid "Clear Avatar" +#~ msgstr "Avatar:" + +#, fuzzy +#~ msgid "Set Avatar…" +#~ msgstr "Abiary vyjavu" + +#, fuzzy +#~ msgid "Contact" +#~ msgstr "Nałady" + +#, fuzzy +#~ msgid "_Leave Group Chat" +#~ msgstr "Pakiń pakoji" + +#, fuzzy +#~ msgid "Enter a new name for this group chat" +#~ msgstr "Vyznač novuju nazvu dla hrupy %s" + +#, fuzzy +#~ msgid "Custom" +#~ msgstr "Asablivy" + +#, fuzzy +#~ msgid "Pop it up" +#~ msgstr "_Vynyrni" + +#, fuzzy +#~ msgid "Notify me about it" +#~ msgstr "_Paviedam mnie pra heta" + +#, fuzzy +#~ msgid "Show only in contact list" +#~ msgstr "Pakažy _adłučanyja kantakty" + +#, fuzzy +#~ msgid "No status messages" +#~ msgstr "paviedamlennie statusu" + +#, fuzzy +#~ msgid "All status messages" +#~ msgstr "paviedamlennie statusu" + +#, fuzzy +#~ msgid "Only enter/leave messages" +#~ msgstr "Jość niečytanyja paviedamleńni" + +#, fuzzy +#~ msgid "Me_rge accounts" +#~ msgstr "_Źlej konty ŭ adno" + +#, fuzzy +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "Pakazvaj a_vatary kantaktaŭ u śpisie kantaktaŭ" + +#, fuzzy +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "" +#~ "Kali ŭklučanaja hetaja opcyja, Gajim budzie pakazvać avatary kantaktaŭ u " +#~ "śpisie kantaktaŭ i ŭ pakojach" + +#, fuzzy +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "Pakazvaj paviedamleńni _statusu kantaktaŭ u śpisie kantaktaŭ" + +#, fuzzy +#~ msgid "" +#~ "If checked, status messages of contacts will be shown under the contact's " +#~ "name, in the contact list window, and in group chats" +#~ msgstr "" +#~ "Kali ŭklučanaja hetaja opcyja, Gajim budzie pakazvać paviedamleńni " +#~ "statusu kantaktaŭ u śpisie kantaktaŭ i ŭ pakojach" + +#, fuzzy +#~ msgid "" +#~ "Show e_xtra information of contacts in contact list (mood, activity, ...)" +#~ msgstr "Pakazvaj a_vatary kantaktaŭ u śpisie kantaktaŭ" + +#, fuzzy +#~ msgid "in _contact list" +#~ msgstr "Kantakty" + +#, fuzzy +#~ msgid "in _group chats" +#~ msgstr "Dałučysia da _pakoju" + +#, fuzzy +#~ msgid "Display status messages in _single chats" +#~ msgstr "Pakazvaj paviedamleńni _statusu kantaktaŭ u śpisie kantaktaŭ" + +#, fuzzy +#~ msgid "" +#~ "If checked, status lines will be shown in 1 on 1 chats when a contact " +#~ "changes their status or status message" +#~ msgstr "" +#~ "Kali opcyja maje vartaść False, Gajim nie budzie pakazvać radki stanu, " +#~ "kali surazmoŭca źmianiaje status i/ci paviedamleńnie statusu." + +#, fuzzy +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "Niemahčyma dałučycca da pakoju" + +#, fuzzy +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "Niemahčyma dałučycca da pakoju" + +#, fuzzy +#~ msgid "Show status changes (Default)" +#~ msgstr "_Zachoŭvać u žurnale źmieny statusu kantaktaŭ" + +#, fuzzy +#~ msgid "" +#~ "If checked, the tab will be colored according to the current chatstate of " +#~ "the contact" +#~ msgstr "" +#~ "Kali ŭklučanaja hetaja opcyja, Gajim budzie dałučacca da hetaha pakoju " +#~ "pry starcie" + +#, fuzzy +#~ msgid "" +#~ "If checked, a description of the contacts current chatstate is shown in " +#~ "the banner" +#~ msgstr "" +#~ "Kali ŭklučanaja hetaja opcyja, Gajim budzie dałučacca da hetaha pakoju " +#~ "pry starcie" + +#, fuzzy +#~ msgid "Chatstate" +#~ msgstr "Apošni status: %s" + +#, fuzzy +#~ msgid "_When new event is received" +#~ msgstr "Kali ŭčyniajecca novaja padzieja" + +#, fuzzy +#~ msgid "Show popups/notifications when a chat window is already _open" +#~ msgstr "" +#~ "Pakazvaj vypłyŭnyja vokny i nahadvańni, kali ja ŭ stanie _Adyjšoŭ/" +#~ "Niedastupny/Zaniaty/Niabačny" + +#, fuzzy +#~ msgid "Allow popups/notifications when I'm _away, not available or busy" +#~ msgstr "" +#~ "Pakazvaj vypłyŭnyja vokny i nahadvańni, kali ja ŭ stanie _Adyjšoŭ/" +#~ "Niedastupny/Zaniaty/Niabačny" + +#, fuzzy +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "Paviedamlaj mnie ab kantaktach, jakija źmianiajuć status na: " + +#, fuzzy +#~ msgid "" +#~ "A popup window about contacts that just signed in will be shown in the " +#~ "bottom right of the screen " +#~ msgstr "" +#~ "Gajim budzie nahadvać ab novych padziejach u vypłyŭnym aknie ŭ pravym " +#~ "nižnim kucie ekranu" + +#, fuzzy +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "Paviedamlaj mnie ab kantaktach, jakija źmianiajuć status na: " + +#~ msgid "Play _sounds" +#~ msgstr "_Ahučvaj" + +#~ msgid "Ma_nage..." +#~ msgstr "_Kiruj..." + +#, fuzzy +#~ msgid "No_t Available" +#~ msgstr "Niedastupny" + +#, fuzzy +#~ msgid "Minutes" +#~ msgstr "chvilinaŭ" + +#, fuzzy +#~ msgid "Default Message" +#~ msgstr "Standartnyja šablony paviedamleńniaŭ statusu" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "Paviedamleńnie statusu" + +#, fuzzy +#~ msgid "Preset Status Messages" +#~ msgstr "Šablony paviedamleńniaŭ statusu" + +#, fuzzy +#~ msgid "_Theme" +#~ msgstr "Tema" + +#~ msgid "Configure color and font of the interface" +#~ msgstr "Kanfihuruj koler i šryft interfejsu" + +#, fuzzy +#~ msgid "" +#~ "If checked, protocol-specific status icons will be used (e.g. a contact " +#~ "from ICQ will have the equivalent ICQ icon for status online, away, busy, " +#~ "etc...)" +#~ msgstr "" +#~ "Kali ŭklučanaja hetaja opcyja, Gajim budzie pakazvać admysłovyja ikony " +#~ "dla kožnaha pratakołu (naprykład, kantaktu z MSN buduć adpaviadać ikony " +#~ "statusu MSN)" + +#, fuzzy +#~ msgid "_Manage..." +#~ msgstr "Kiruj..." + +#, fuzzy +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "_Zachoŭvać u žurnale źmieny statusu kantaktaŭ" + +#, fuzzy +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "" +#~ "Kali ŭklučanaja hetaja opcyja, Gajim zapomnić parol dla hetaha kontu" + +#~ msgid "_Open..." +#~ msgstr "_Adčyni..." + +#, fuzzy +#~ msgid "_Filter" +#~ msgstr "_Filter:" + +#, fuzzy +#~ msgid "Protocol" +#~ msgstr "_Pratakoł:" + +#~ msgid "Privacy Lists:" +#~ msgstr "Śpisy pryvatnaści:" + +#, fuzzy +#~ msgid "Message..." +#~ msgstr "Paviedamleńnie" + +#, fuzzy +#~ msgid "Preset _messages" +#~ msgstr "Šablony paviedamleńniaŭ statusu:" + +#, fuzzy +#~ msgid "_Type your new status message" +#~ msgstr "Uviadzi novaje paviedamleńnie statusu" + +#, fuzzy +#~ msgid "Change Status Message…" +#~ msgstr "Ź_miani paviedamleńnie statusu" + +#, fuzzy +#~ msgid "Mood:" +#~ msgstr "Huki" + +#, fuzzy +#~ msgid "Message:" +#~ msgstr "Šablony paviedamleńniaŭ statusu" + +#, fuzzy +#~ msgid "none" +#~ msgstr "pieršaja" + +#, fuzzy +#~ msgid "both" +#~ msgstr "Dvuchbakovaja" + +#, fuzzy +#~ msgid "from" +#~ msgstr "Ad" + +#, fuzzy +#~ msgid "to" +#~ msgstr "druhaja" + +#~ msgid "Privacy List" +#~ msgstr "Śpis pryvatnaści" + +#~ msgid "Privacy List" +#~ msgstr "Śpis pryvatnaści" + +#~ msgid "Active for this session" +#~ msgstr "Dziejny dla hetaj sesii" + +#~ msgid "Active on each startup" +#~ msgstr "Dziejny pry kožnym starcie" + +#~ msgid "List of rules" +#~ msgstr "Śpis praviłaŭ" + +#~ msgid "Add / Edit a rule" +#~ msgstr "Dadaj / Źmiani praviła" + +#~ msgid "Allow" +#~ msgstr "Dazvol" + +#~ msgid "Deny" +#~ msgstr "Admoŭ" + +#~ msgid "all in the group" +#~ msgstr "pavodle hrupy" + +#~ msgid "all by subscription" +#~ msgstr "pavodle aŭtaryzacyi" + +#~ msgid "All" +#~ msgstr "usim" + +#~ msgid "to send me messages" +#~ msgstr "dasyłać mnie paviedamleńni" + +#~ msgid "to send me queries" +#~ msgstr "dasyłać mnie apytańni" + +#~ msgid "to view my status" +#~ msgstr "bačyć moj status" + +#~ msgid "to send me status" +#~ msgstr "dasyłać mnie paviedamleńni statusu" + +#, fuzzy +#~ msgid "All (including subscription)" +#~ msgstr "pavodle aŭtaryzacyi" + +#~ msgid "Order:" +#~ msgstr "Paradak:" + +#, fuzzy +#~ msgid "" +#~ "Deny authorization from contact so the contact cannot know if you are " +#~ "connected" +#~ msgstr "" +#~ "Admoŭ na zapyt aŭtaryzacyi kantaktu, kab jon/jana nie mahli bačyć, kali " +#~ "ja dałučany" + +#, fuzzy +#~ msgid "Authorize contact so the contact can know if you are connected" +#~ msgstr "" +#~ "Aŭtaryzuj kantakt, kab jon/jana mahli bačyć, kali ja dałučany da servera" + +#, fuzzy +#~ msgid "Contact List Shortcuts" +#~ msgstr "Kantakt adłučyŭsia" + +#~ msgid "Fill in the form." +#~ msgstr "Zapoŭni formu." + +#, fuzzy +#~ msgid "Message: " +#~ msgstr "Šablony paviedamleńniaŭ statusu" + +#, fuzzy, python-format +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "%(contact_jid)s zaprošany ŭ %(room_jid)s." + +#, fuzzy +#~ msgid "Group Chat Invitation " +#~ msgstr "Zaprašeńnie ŭ pakoj" + +#, python-format +#~ msgid "Comment: %s" +#~ msgstr "Kamentar: %s" + +#, fuzzy +#~ msgid "Off" +#~ msgstr "Adłučany" + +#, fuzzy +#~ msgid "Retrieving profile…" +#~ msgstr "Atrymańnie profilu..." + +#, fuzzy +#~ msgid "Wrong date format" +#~ msgstr "Źviestki ab kantakcie" + +#, fuzzy +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "Farmat: HHHH-MM-DD" + +#~ msgid "Information received" +#~ msgstr "Źviestki atrymanyja" + +#, fuzzy +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "" +#~ "Niemahčyma apublikavać asabistyja źviestki, nie dałučyŭšysia da servera." + +#, fuzzy +#~ msgid "Sending profile…" +#~ msgstr "Dasyłańnie profilu..." + +#~ msgid "Information NOT published" +#~ msgstr "Źviestki NIE apublikavanyja" + +#~ msgid "vCard publication failed" +#~ msgstr "Pamyłka publikacyi vCard" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "" +#~ "Adbyłasia pamyłka padčas publikacyi asabistych źviestak, pasprabuj " +#~ "paźniej." + +#, fuzzy +#~ msgid "?password:Hidden" +#~ msgstr "Parol:" + +#, python-format +#~ msgid "Privacy List %s" +#~ msgstr "Śpis pryvatnaści %s" + +#, python-format +#~ msgid "Privacy List for %s" +#~ msgstr "Śpis pryvatnaści dla %s" + +#, fuzzy, python-format +#~ msgid "" +#~ "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" +#~ msgstr "Paradak: %s, dziejańnie: %s, typ: %s, vartaść: %s" + +#, fuzzy, python-format +#~ msgid "Order: %(order)s, action: %(action)s" +#~ msgstr "Paradak: %s, dziejańnie: %s" + +#~ msgid "Edit a rule" +#~ msgstr "Redahuj praviła" + +#~ msgid "Add a rule" +#~ msgstr "Dadaj praviła" + +#, python-format +#~ msgid "Privacy Lists for %s" +#~ msgstr "Śpisy pryvatnaści dla %s" + +#~ msgid "Invalid List Name" +#~ msgstr "Niapravilnaja nazva śpisu" + +#~ msgid "You must enter a name to create a privacy list." +#~ msgstr "Treba akreślić nazvu dla novaha śpisu pryvatnaści." + +#, fuzzy +#~ msgid "Loading" +#~ msgstr "Uvod paviedamleńnia" + +#~ msgid "status message title" +#~ msgstr "zahałovak statusu" + +#~ msgid "status message text" +#~ msgstr "tekst paviedamleńnia statusu" + +#, fuzzy +#~ msgid "Start New Conversation" +#~ msgstr "Złučeńnie" + +#~ msgid "Gajim - %s" +#~ msgstr "Gajim - %s" + +#, fuzzy +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "Słoŭnik dla movy %s niedastupny" + +#, fuzzy +#~ msgid "" +#~ "You have to install the dictionary \"%s\" to use spellchecking, or choose " +#~ "another language by setting the speller_language option.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "Treba zainstalavać słoŭnik %s, kab praviarać pravapis, albo abrać inšuju " +#~ "movu ŭ opcyi speller_language." + +#, fuzzy +#~ msgid "_Reconnect" +#~ msgstr "Kantakt adłučyŭsia" + +#, fuzzy +#~ msgid "Quit" +#~ msgstr "_Skonč pracu" + +#, fuzzy +#~ msgid "Show Contact List" +#~ msgstr "Pakažy _adłučanyja kantakty" + +#, fuzzy +#~ msgid "Add to Contact List" +#~ msgstr "_Dadaj kantakt..." + +#, fuzzy +#~ msgid "Invite Contact" +#~ msgstr "Kantakty" + +#, fuzzy +#~ msgid "Configure Group Chat" +#~ msgstr "Pakiń pakoji" + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." +#~ msgstr "" +#~ "Kali opcyja maje vartaść True, Gajim pakazvaje ikonu na kožnaj kartcy ź " +#~ "niečytanymi paviedamleńniami. U zaležnaści ad matyvu, hetaja ikona moža " +#~ "być animavanaj." + +#~ msgid "Invalid character in hostname." +#~ msgstr "Niapravilny znak u naźvie hostu." + +#~ msgid "Server address required." +#~ msgstr "Patrabujecca adras servera." + +#~ msgid "Invalid character in username." +#~ msgstr "Niapravilny znak u imiani karystalnika." + +#~ msgid "Invalid character in resource." +#~ msgstr "Niapravilny znak u naźvie krynicy." + +#, fuzzy +#~ msgid "Notification color for contacts signing in." +#~ msgstr "Paviedamlaj mnie ab kantaktach, jakija źmianiajuć status na: " + +#, fuzzy +#~ msgid "Notification color for contacts signing out." +#~ msgstr "Paviedamlaj mnie ab kantaktach, jakija źmianiajuć status na: " + +#, fuzzy +#~ msgid "Notification color for new message notification." +#~ msgstr "_Pakazvaj padzieju ŭ śpisie kantaktaŭ" + +#, fuzzy +#~ msgid "Notification color for file transfer request." +#~ msgstr "_Nahadaj mnie ab zakančeńni pieradačy fajła" + +#, fuzzy +#~ msgid "Notification color for file transfer errors." +#~ msgstr "_Nahadaj mnie ab zakančeńni pieradačy fajła" + +#, fuzzy +#~ msgid "Notification background color for changed status." +#~ msgstr "Fonavy koler kantaktaŭ, kali jany tolki dałučylisia." + +#, fuzzy +#~ msgid "Event Type" +#~ msgstr "Padzieja" + +#, fuzzy +#~ msgid "Event desc" +#~ msgstr "Padzieji" + +#, fuzzy +#~ msgid "No response from the Server" +#~ msgstr "Niama złučeńnia z serveram" + +#, fuzzy +#~ msgid "Resource Conflict" +#~ msgstr "Kanflikt imionaŭ karystalnikaŭ" + +#, fuzzy +#~ msgid "Unable to load image" +#~ msgstr "Niemahčyma adčytać modulu idle" + +#, fuzzy +#~ msgid "Media type not supported: %s" +#~ msgstr "Pašyreńnie nie padtrymvajecca" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Gajim: Stvareńnie kontu" + +#, fuzzy +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "Ty musiš mieć kont, kab dałučycca da sietki\n" +#~ "Jabber." + +#, fuzzy +#~ msgid "I already have an account I want to _use" +#~ msgstr "Ja ŭžo maju patrebny kont" + +#~ msgid "I want to _register for a new account" +#~ msgstr "Ja chaču za_rehistravać novy kont" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "Kali łaska, abiary adnu z nastupnych opcyjaŭ:" + +#, fuzzy +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "Kali łaska, zapoŭni kartku źviestak dla novaha kontu" + +#, fuzzy +#~ msgid "_XMPP Address:" +#~ msgstr "Adras AIM:" + +#, fuzzy +#~ msgid "Anon_ymous authentication" +#~ msgstr "Užyvaj aŭtaryzacyju" + +#~ msgid "_Password:" +#~ msgstr "_Parol:" + +#~ msgid "Save pass_word" +#~ msgstr "Zachavaj _parol" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "" +#~ "Kali ŭklučanaja hetaja opcyja, Gajim zapomnić parol dla hetaha kontu" + +#~ msgid "_Server:" +#~ msgstr "_Server:" + +#~ msgid "Manage..." +#~ msgstr "Kiruj..." + +#~ msgid "_Port:" +#~ msgstr "_Port:" + +#~ msgid "_Advanced" +#~ msgstr "_Dadatkovyja" + +#, fuzzy +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "Stvarajecca kont\n" +#~ "\n" +#~ "Kali łaska, pačakaj..." + +#~ msgid "Connect when I press Finish" +#~ msgstr "Dałučysia pa nacisku knopki \"Skonč\"" + +#~ msgid "Set my profile when I connect" +#~ msgstr "Nastaŭ profil paśla złučeńnia" + +#~ msgid "_Finish" +#~ msgstr "_Skonč" + +#, fuzzy +#~ msgid "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." +#~ msgstr "" +#~ "Možaš źmianić dadatkovyja nałady kontu, nacisnuŭšy zaraz knopku " +#~ "\"Dadatkovyja\", albo paźniej, abraŭšy \"Źmianić\"->\"Konty\" ŭ menu " +#~ "hałoŭnaha akna." + +#~ msgid "Your new account has been created successfully" +#~ msgstr "Novy kont paśpiachova stvorany" + +#~ msgid "Invalid username" +#~ msgstr "Niapravilnaje imia karystalnika" + +#~ msgid "You must provide a username to configure this account." +#~ msgstr "Treba vyznačyć imia karystalnika, kab skanfihuravać hety kont." + +#, fuzzy +#~ msgid "Invalid server" +#~ msgstr "Niapravilnaje imia karystalnika" + +#, fuzzy +#~ msgid "Please provide a server on which you want to register." +#~ msgstr "Kali łaska, vyznač dla siabie novuju mianušku:" + +#~ msgid "Invalid entry" +#~ msgstr "Niapravilny zapis" + +#, fuzzy +#~ msgid "Certificate Already in File" +#~ msgstr "Kantakt užo jość u śpisie kantaktaŭ" + +#~ msgid "Account name is in use" +#~ msgstr "Nazva kontu ŭžo vykarystoŭvajecca" + +#~ msgid "You already have an account using this name." +#~ msgstr "Kont z takoj nazvaj užo isnuje." + +#~ msgid "Connection with account \"%s\" has been lost" +#~ msgstr "Złučeńnie dla kontu \"%s\" zhubiłasia" + +#~ msgid "Reconnect manually." +#~ msgstr "Pieradałučysia samastojna." + +#, fuzzy +#~ msgid "Server %(name)s answered wrongly to register request: %(error)s" +#~ msgstr "Transpart %s niapravilna adkazaŭ na zapyt rehistracyi: %s" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "Niemahčyma złučycca z \"%s\"" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "Niemahčyma złučycca z \"%s\"" + +#~ msgid "Check your connection or try again later." +#~ msgstr "Pravier złučeńnie albo pasprabuj paźniej." + +#, fuzzy +#~ msgid "Server replied: %s" +#~ msgstr "Zapisany ŭ: %s" + +#, fuzzy +#~ msgid "Connection to proxy failed" +#~ msgstr "Niemahvyma dałučycca" + +#, fuzzy +#~ msgid "Could not connect to account %s" +#~ msgstr "Niemahčyma złučycca z \"%s\"" + +#, fuzzy +#~ msgid "Connection with account %s has been lost. Retry connecting." +#~ msgstr "Złučeńnie dla kontu \"%s\" zhubiłasia" + +#~ msgid "Please check your login and password for correctness." +#~ msgstr "Kali łaska, pravier pravilnaść loginu i parolu." + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "Złučeńnie HTTP" + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "BOSH" +#~ msgstr "_URL:" + +#, fuzzy +#~ msgid "Use HTTP prox_y" +#~ msgstr "S_karystaj proxy" + +#, fuzzy +#~ msgid "_BOSH URL" +#~ msgstr "_URL:" + +#, fuzzy +#~ msgid "BOSH" +#~ msgstr "_URL:" + +#, fuzzy +#~ msgid "Warn on insecure connection" +#~ msgstr "Złučeńnie" + +#, fuzzy +#~ msgid "Contact list, list of contacts" +#~ msgstr "_Zachoŭvać u žurnale źmieny statusu kantaktaŭ" + +#~ msgid "You are participating in one or more group chats" +#~ msgstr "Ty znachodziśsia ŭ adnym ci niekalkich pakojach" + +#, fuzzy +#~ msgid "" +#~ "Changing your status to invisible will result in you leaving those group " +#~ "chats.\n" +#~ "Are you sure you want to go invisible?" +#~ msgstr "" +#~ "Źmianiŭšy status na niabačny, ty adłučyśsia ad hetych pakojaŭ. Ty " +#~ "sapraŭdy chočaš stać niabačnym?" + +#, fuzzy +#~ msgid "_Disconnect" +#~ msgstr "Kantakt adłučyŭsia" + +#~ msgid "You cannot join a group chat while you are invisible" +#~ msgstr "Niemahčyma dałučycca da pakoju, kali ty niabačny" + +#~ msgid "Invisible" +#~ msgstr "Niabačny" + +#, fuzzy +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "Niemahčyma dałučycca da pakoju, kali ty niabačny" + +#~ msgid "_Invisible" +#~ msgstr "N_iabačny" + +#, fuzzy +#~ msgid "Yesterday" +#~ msgid_plural "%(nb_days)i days ago" +#~ msgstr[0] "Učora" +#~ msgstr[1] "Učora" +#~ msgstr[2] "Učora" + +#, fuzzy +#~ msgid "_Cancel Upload" +#~ msgstr "_Anuluj" + +#, fuzzy +#~ msgid "" +#~ "If you close this tab while having chat history disabled, this message " +#~ "will be lost." +#~ msgstr "" +#~ "Kali ty začyniš hetuju kartku i kali žurnały nie vieducca, to hetaje " +#~ "paviedamleńnie źniknie nazaŭždy." + +#, fuzzy +#~ msgid "Unregister Failed" +#~ msgstr "Niemahvyma dałučycca" + +#, fuzzy +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "Niemahvyma dałučycca" + +#, fuzzy +#~ msgid "New Password" +#~ msgstr "Zachavaj parol" + +#~ msgid "What do you want to do?" +#~ msgstr "Što chočaš zrabić?" + +#~ msgid "Remove account from Gajim and from _server" +#~ msgstr "Vydal kont i dla Gajim, i na _servery" + +#, fuzzy +#~ msgid "You must enter a password" +#~ msgstr "Treba ŭvieści parol." + +#, fuzzy +#~ msgid "You still have open chats in your account %s" +#~ msgstr "Akno razmovy adčynienaje dla kontu %s" + +#, fuzzy +#~ msgid "To unregister from a server, the account must be enabled." +#~ msgstr "Kab źmianić nazvu kontu, treba pieradałučycca." + +#, fuzzy +#~ msgid "Password required" +#~ msgstr "Vymahaje parolu" + +#, fuzzy +#~ msgid "Still connected to the server" +#~ msgstr "Niama złučeńnia z serveram" + +#, fuzzy +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "Kali ty vydališ jaho, złučeńnie razarviecca." + +#, fuzzy +#~ msgid "Connection to server %s failed" +#~ msgstr "Niemahvyma dałučycca" + +#, fuzzy +#~ msgid "What would you like to do?" +#~ msgstr "Što chočaš zrabić?" + +#, fuzzy +#~ msgid "Remove only from Gajim" +#~ msgstr "Vydal kont _tolki dla Gajim" + +#, fuzzy +#~ msgid "Contents" +#~ msgstr "_Źmiest" + +#, fuzzy +#~ msgid "FAQ" +#~ msgstr "_Častyja pytańni" + +#~ msgid "Save as Preset Status Message" +#~ msgstr "Zapišy jak šablon paviedamleńnia statusu" + +#~ msgid "Enter a new nickname for contact %s" +#~ msgstr "Vyznač novuju mianušku dla kantaktu %s." + +#, fuzzy +#~ msgid "Join a group chat" +#~ msgstr "Dałučysia da _pakoju" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "Dazvol" + +#~ msgid "New entry received" +#~ msgstr "Atrymaŭ novy zapis" + +#~ msgid "You have received new entry:" +#~ msgstr "Atrymaŭ novy zapis:" + +#~ msgid "Feed name:" +#~ msgstr "Nazva kanału:" + +#~ msgid "Last modified:" +#~ msgstr "Apošniaja źmiena:" + +#, fuzzy +#~ msgid "Send file?" +#~ msgstr "Vyšli _fajł" + +#, fuzzy +#~ msgid "Mail _client" +#~ msgstr "_Paštovaja prahrama:" + +#, fuzzy +#~ msgid "_Browser" +#~ msgstr "_Hartač:" + +#, fuzzy +#~ msgid "_File manager" +#~ msgstr "_Kiraŭnik fajłaŭ:" + +#, fuzzy +#~ msgid "Applications" +#~ msgstr "Aplikacyi" + +#, fuzzy +#~ msgid "" +#~ "Uses ReStructured text markup to send HTML, plus ASCII formatting if " +#~ "selected. Needs docutils installed (for syntax, see http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Užyvaje restrukturavanuju movu tekstavaj raźmietki dla dasyłańnia HTML, a " +#~ "taksama farmatavańnie ASCII, kali zadziejničana adpaviednaja opcyja. " +#~ "Hladzi syntaksyčnyja praviły pa adrasie: http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html (Kali chočaš karystacca hetaj " +#~ "mahčymaściu, zainstaluj docutils)" + +#, fuzzy +#~ msgid "_Ignore formatting of incoming messages" +#~ msgstr "Ihnaruj afarmleńnie ŭvachodnych paviedamleńniaŭ" + +#, fuzzy +#~ msgid "" +#~ "Some messages may include rich content (xhtml formatting, colors etc). If " +#~ "checked, Gajim will just display the plain message text." +#~ msgstr "" +#~ "Niekatoryja paviedamleńni źmiaščajuć afarmleńnie tekstu (farmatavańnie, " +#~ "kolery i h.d.). Kali ŭklučanaja hetaja opcyja, Gajim budzie pakazvać " +#~ "tekst biez afarmleńnia." + +#, fuzzy +#~ msgid "RST XHTML Generator" +#~ msgstr "Ahulnaja" + +#~ msgid "New Single Message" +#~ msgstr "Novaje asobnaje paviedamleńnie" + +#, fuzzy +#~ msgid "" +#~ "Can be empty, 'chat' or 'normal'. If not empty, all incoming messages are " +#~ "treated as if they were of this type." +#~ msgstr "" +#~ "Moža być pustym albo mieć vartaść 'chat' ci 'normal'. Kali vartaść nie " +#~ "pustaja, traktuj usie ŭvachodnyja paviedamleńni jak paviedamleńni hetaha " +#~ "typu" + +#, fuzzy +#~ msgid "Error %(code)s: %(msg)s" +#~ msgstr "%(nickname)s: %(message)s" + +#~ msgid "twelve" +#~ msgstr "dvanaccataja" + +#~ msgid "one" +#~ msgstr "pieršaja" + +#~ msgid "two" +#~ msgstr "druhaja" + +#~ msgid "three" +#~ msgstr "treciaja" + +#~ msgid "four" +#~ msgstr "čaćviortaja" + +#~ msgid "five" +#~ msgstr "piataja" + +#~ msgid "six" +#~ msgstr "šostaja" + +#~ msgid "seven" +#~ msgstr "siomaja" + +#~ msgid "eight" +#~ msgstr "vośmaja" + +#~ msgid "nine" +#~ msgstr "dziaviataja" + +#~ msgid "ten" +#~ msgstr "dziasiataja" + +#~ msgid "eleven" +#~ msgstr "adzinaccataja" + +#~ msgid "%(0)s o'clock" +#~ msgstr "%(0)s hadzinaŭ" + +#~ msgid "five past %(0)s" +#~ msgstr "piać chvilinaŭ na %(0)s" + +#~ msgid "ten past %(0)s" +#~ msgstr "dziesiać chvilinaŭ na %(0)s" + +#~ msgid "quarter past %(0)s" +#~ msgstr "čverć na %(0)s" + +#~ msgid "twenty past %(0)s" +#~ msgstr "dvaccać chvilinaŭ na %(0)s" + +#~ msgid "twenty five past %(0)s" +#~ msgstr "dvaccać piać chvilinaŭ na %(0)s" + +#~ msgid "half past %(0)s" +#~ msgstr "pałova na %(0)s" + +#~ msgid "twenty five to %(1)s" +#~ msgstr "biez dvaccaci piaci chvilinaŭ %(1)s" + +#~ msgid "twenty to %(1)s" +#~ msgstr "biez dvaccaci chvilinaŭ %(1)s" + +#~ msgid "quarter to %(1)s" +#~ msgstr "biaz čverći %(1)s" + +#, fuzzy +#~ msgid "ten to %(1)s" +#~ msgstr "bieź dziesiaci chvilinaŭ $s" + +#~ msgid "five to %(1)s" +#~ msgstr "bieź piaci chvilinaŭ %(1)s" + +#~ msgid "%(1)s o'clock" +#~ msgstr "%(1)s hadzinaŭ" + +#~ msgid "Night" +#~ msgstr "Noč" + +#~ msgid "Early morning" +#~ msgstr "Śvitanak" + +#~ msgid "Morning" +#~ msgstr "Ranica" + +#~ msgid "Almost noon" +#~ msgstr "Amal poŭdzień" + +#~ msgid "Noon" +#~ msgstr "Poŭdzień" + +#~ msgid "Afternoon" +#~ msgstr "Papoŭdni" + +#~ msgid "Evening" +#~ msgstr "Viečar" + +#~ msgid "Late evening" +#~ msgstr "Poźni viečar" + +#~ msgid "Start of week" +#~ msgstr "Pačatak tydnia" + +#~ msgid "Middle of week" +#~ msgstr "Siaredzina tydnia" + +#~ msgid "End of week" +#~ msgstr "Kaniec tydnia" + +#~ msgid "Weekend!" +#~ msgstr "Vychodny!" + +#, fuzzy +#~ msgid "" +#~ "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or " +#~ "0 to disable Fuzzy Clock. 1 is the most precise clock, 4 the least " +#~ "precise one. This is used only if 'print_time' is 'sometimes'." +#~ msgstr "" +#~ "Pakazvaj niedakładny čas. Vartaść niedakładnaści ad 1 da 4 albo 0, kab " +#~ "adklučyć niedakładnaść. 1 akreślivaje samy dakładny čas, 4 akreślivaje " +#~ "samy niedakładny. Zadziejničana, kali opcyja print_time maje vartaść " +#~ "'sometimes'." + +#~ msgid "message" +#~ msgstr "paviedamleńnie" + +#, fuzzy +#~ msgid "error: %s" +#~ msgstr "Tekst pamyłki: %s" + +#, fuzzy +#~ msgid "Form: %s" +#~ msgstr "Я %s" + +#, fuzzy +#~ msgid "XML Input" +#~ msgstr "Uvod XML" + +#, fuzzy +#~ msgid "Ttitle" +#~ msgstr "Zahałovak:" + +#, fuzzy +#~ msgid "Screen" +#~ msgstr "zialony" + +#, fuzzy +#~ msgid "Conversation with " +#~ msgstr "Žurnał razmoŭ" + +#, fuzzy +#~ msgid "Continued conversation" +#~ msgstr "Złučeńnie" + +#, fuzzy +#~ msgid "%s has invited you to join a discussion" +#~ msgstr "$Contact zaprasiŭ ciabie ŭ pakoj %(room_jid)s" + +#~ msgid "_Send Private Message" +#~ msgstr "_Dasłać pryvatnaje paviedamleńnie" + +#, fuzzy +#~ msgid "Participant Actions" +#~ msgstr "Udzielniki" + +#~ msgid "_Voice" +#~ msgstr "_Daj hołas" + +#~ msgid "Mo_derator" +#~ msgstr "Ma_deratar" + +#~ msgid "_Member" +#~ msgstr "_Udzielnik" + +#~ msgid "_Admin" +#~ msgstr "_Administratar" + +#~ msgid "_Owner" +#~ msgstr "_Uładalnik" + +#, fuzzy +#~ msgid "_Add to Contact List" +#~ msgstr "_Dadaj kantakt..." + +#, fuzzy +#~ msgid "_Execute command" +#~ msgstr "_Vykanaj zahad..." + +#, fuzzy +#~ msgid "Change _Nickname..." +#~ msgstr "Źmiani _mianušku" + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "Novaja hrupavaja razmova" + +#, fuzzy +#~ msgid "Change _Subject..." +#~ msgstr "Źmiani _temu" + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "Dałučysia da _pakoju" + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "Novaja hrupavaja razmova" + +#, fuzzy +#~ msgid "_Request Voice" +#~ msgstr "_Daj hołas" + +#, fuzzy +#~ msgid "_Bookmark" +#~ msgstr "_Stvary zakładku dla hetaja pakoju" + +#, fuzzy +#~ msgid "View certificate…" +#~ msgstr "Niapravilnaje imia karystalnika" + +#, fuzzy +#~ msgid "Continue" +#~ msgstr "_Praciahni" + +#~ msgid "" +#~ "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM " +#~ "IS RUNNING)" +#~ msgstr "" +#~ "Chočaš ačyścić bazu źviestak? (NIE REKAMENDUJECCA RABIĆ Z AKTYŬNYM " +#~ "GAJIMAM)" + +#, fuzzy +#~ msgid "Authorization" +#~ msgstr "Aŭtaryzacyja dasłanaja" + +#, fuzzy +#~ msgid "" +#~ "All chat and group chat windows will be closed. Do you want to continue?" +#~ msgstr "Usie adčynienyja vokny razmovy buduć začynienyja. Praciahnuć?" + +#, fuzzy +#~ msgid "Account '%s' is still connected to the server" +#~ msgstr "Kont \"%s\" dałučany da servera" + +#, fuzzy +#~ msgid "Error While Saving" +#~ msgstr "Pamyłka dadańnia servisu. %s" + +#, fuzzy +#~ msgid "" +#~ "Image cannot be saved in %(type)s format.\n" +#~ "Save as %(new_filename)s?" +#~ msgstr "" +#~ "Niemahčyma zapisać vyjavu ŭ farmacie %(type)s. Zapisać jak " +#~ "%(new_filename)s?" + +#, fuzzy +#~ msgid "Save _As" +#~ msgstr "Nie razmaŭlaju " + +#, fuzzy +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "Niapravilny JID pakoju" + +#, fuzzy +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "JID pakoju ŭtrymlivaje niedazvolenyja znaki." + +#~ msgid "You may specify a reason below:" +#~ msgstr "Možaš akreślić pryčynu nižej:" + +#~ msgid "Banning %s" +#~ msgstr "Blakavańnie %s" + +#, fuzzy +#~ msgid "" +#~ "Always ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Zaŭsiody pytajsia paćvierdžańnia pierad začynieńniem kartki/akna razmovy " +#~ "z hetaha śpisu padzielenych prabiełami nazvaŭ pakojaŭ." + +#, fuzzy +#~ msgid "" +#~ "Never ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Nikoli nie pytajsia paćvierdžańnia pierad začynieńniem kartki/akna " +#~ "razmovy z hetaha śpisu padzielenych prabiełami nazvaŭ pakojaŭ." + +#, fuzzy +#~ msgid "Leave Group Chats" +#~ msgstr "Pakiń pakoji" + +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "%(nickname)s z pakoju %(room_jid)s" + +#, fuzzy +#~ msgid "You have not joined a group chat." +#~ msgstr "Ty nie dałučyŭsia da pakoju." + +#, fuzzy +#~ msgid "You left the following group chats:" +#~ msgstr "Ty pakinuŭ nastupnyja pakoji:" + +#~ msgid "Don't show avatar for the transport itself." +#~ msgstr "Nie pakazvaj avatara dla transpartu." + +#, fuzzy +#~ msgid "" +#~ "Show a confirmation dialog for a custom status? Empty string means never " +#~ "show the dialog." +#~ msgstr "" +#~ "Ci treba pakazvać akno paćvierdžańnia pry stvareńni metakantaktu? Pusty " +#~ "radok aznačaje, što hetaje akno nikoli nia budzie pakazvacca." + +#, fuzzy +#~ msgid "Jabberd2 workaround." +#~ msgstr "Abychod dla Jabberd2" + +#, fuzzy +#~ msgid "Configure Services…" +#~ msgstr "_Šukaj servisy..." + +#, fuzzy +#~ msgid "Group Chat Bookmarks" +#~ msgstr "Групавая размова" + +#, fuzzy +#~ msgid "Add Bookmark" +#~ msgstr "_Stvary zakładku dla hetaja pakoju" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "_Stvary zakładku dla hetaja pakoju" + +#, fuzzy +#~ msgid "_Server" +#~ msgstr "_Server:" + +#, fuzzy +#~ msgid "_Password" +#~ msgstr "_Parol:" + +#, fuzzy +#~ msgid "Join chat when connected" +#~ msgstr "Kantakt adłučyŭsia" + +#~ msgid "New Group Chat" +#~ msgstr "Novaja hrupavaja razmova" + +#~ msgid "This bookmark has invalid data" +#~ msgstr "Hetaja zakładka źmiaščaje niapravilnyja źviestki" + +#, fuzzy +#~ msgid "" +#~ "Please be sure to fill out server and group chat fields or remove this " +#~ "bookmark." +#~ msgstr "" +#~ "Kali łaska, pravier, ci vyznačanyja pali servera i pakoju, albo vydal " +#~ "hetuju zakładku." + +#, fuzzy +#~ msgid "Character not allowed" +#~ msgstr "Mianuška nie dazvolenaja: %s" + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "Niapravilny JID pakoju" + +#~ msgid "Unable to join group chat" +#~ msgstr "Niemahčyma dałučycca da pakoju" + +#, fuzzy +#~ msgid "You are banned from group chat %s." +#~ msgstr "Ty zablakavany ŭ hetym pakoji." + +#, fuzzy +#~ msgid "Remote server %s does not exist." +#~ msgstr "Takoha pakoju niama." + +#, fuzzy +#~ msgid "Group chat %s does not exist." +#~ msgstr "Takoha pakoju niama." + +#, fuzzy +#~ msgid "Group chat creation is not permitted." +#~ msgstr "Stvareńnie pakojaŭ abmiežavanaje." + +#, fuzzy +#~ msgid "You must use your registered nickname in %s." +#~ msgstr "Treba karystacca zarehistravanaj na siabie mianuškaj." + +#, fuzzy +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "Ciabie niama ŭ śpisie ŭdzielnikaŭ." + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "Heta nie pakoj" + +#~ msgid "This is not a group chat" +#~ msgstr "Heta nie pakoj" + +#, fuzzy +#~ msgid "Please choose a group chat" +#~ msgstr "Stvary novy zapis" + +#, fuzzy +#~ msgid "Invalid Nickname" +#~ msgstr "Niapravilnaje imia karystalnika" + +#, fuzzy +#~ msgid "Wrong server" +#~ msgstr "Niapravilnaja spasyłka" + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "Heta nie pakoj" + +#, fuzzy +#~ msgid "A Password is required to join the group chat %s. Please type it." +#~ msgstr "Treba ŭvieści parol, kab dałučycca da pakoju." + +#~ msgid "Not in Roster" +#~ msgstr "Niama ŭ śpisie" + +#~ msgid "I would like to add you to my roster" +#~ msgstr "Ja chaču dadać ciabie da svajho śpisu kantaktaŭ" + +#, fuzzy +#~ msgid "Add to Roster" +#~ msgstr "_Dadaj u śpis kantaktaŭ" + +#, fuzzy +#~ msgid "Manage Room" +#~ msgstr "Kiruj zakładkami" + +#, fuzzy +#~ msgid "Configure Room" +#~ msgstr "Kanfihuruj _pakoj" + +#, fuzzy +#~ msgid "Destroy Room" +#~ msgstr "Apisańnie: %s" + +#, fuzzy +#~ msgid "Change Nick" +#~ msgstr "Źmiani _mianušku" + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "Kantakt adłučyŭsia" + +#, fuzzy +#~ msgid "Copy JID" +#~ msgstr "Pakoj:" + +#, fuzzy +#~ msgid "Add to Roster…" +#~ msgstr "_Dadaj u śpis kantaktaŭ" + +#, fuzzy +#~ msgid "Copy JID/Email" +#~ msgstr "S_kapijuj JID/Email" + +#, fuzzy +#~ msgid "JID: %s" +#~ msgstr "JID: %s" + +#~ msgid "Changing Subject" +#~ msgstr "Źmianiajecca tema" + +#~ msgid "Please specify the new subject:" +#~ msgstr "Kali łaska, vyznač novuju temu:" + +#, fuzzy +#~ msgid "You (%s) joined the room" +#~ msgstr "%s dałučyŭsia da pakoju" + +#, fuzzy +#~ msgid "Unable to join groupchat" +#~ msgstr "Niemahčyma dałučycca da pakoju" + +#~ msgid "Groupchat Invitation" +#~ msgstr "Zaprašeńnie ŭ pakoj" + +#, fuzzy +#~ msgid "%(jid)s has been invited in this room" +#~ msgstr "%(who)s vypchnuŭ %(nick)s: %(reason)s" + +#, fuzzy +#~ msgid "JID is not a Groupchat" +#~ msgstr "Heta nie pakoj" + +#~ msgid "Invalid JID" +#~ msgstr "Niapravilny JID" + +#~ msgid "A connection is not available" +#~ msgstr "Złučeńnie niemahčymaje" + +#, fuzzy +#~ msgid "JID already in list" +#~ msgstr "Klijent kamunikacyi dla Jabber" + +#, fuzzy +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "Złučeńnie niemahčymaje" + +#~ msgid "Removes contact from roster" +#~ msgstr "Vydalaje kantakt sa śpisu" + +#~ msgid "Not in roster" +#~ msgstr "Niama ŭ śpisie kantaktaŭ" + +#, fuzzy +#~ msgid "Contact signed in notification color." +#~ msgstr "_Pakazvaj padzieju ŭ śpisie kantaktaŭ" + +#, fuzzy +#~ msgid "Contact signout notification color" +#~ msgstr "_Pakazvaj padzieju ŭ śpisie kantaktaŭ" + +#, fuzzy +#~ msgid "File transfer request notification color." +#~ msgstr "Zapyt na pieradaču fajłu" + +#, fuzzy +#~ msgid "File transfer error notification color." +#~ msgstr "Pieradača fajłu anulavana" + +#, fuzzy +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "Pakažy nahadvańnie ŭ vypłyŭnym aknie pa zakančeńni pieradačy fajła" + +#, fuzzy +#~ msgid "Groupchat invitation notification color" +#~ msgstr "Zaprašeńnie ŭ pakoj" + +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "Dadać * i [n] u zahałovak śpisu kantaktaŭ?" + +#~ msgid "Hides the banner in two persons chat window" +#~ msgstr "Chavaje baner u aknie pryvatnaj razmovy" + +#, fuzzy +#~ msgid "" +#~ "Show the confirm metacontacts creation dialog or not? Empty string means " +#~ "never show the dialog." +#~ msgstr "" +#~ "Ci treba pakazvać akno paćvierdžańnia pry stvareńni metakantaktu? Pusty " +#~ "radok aznačaje, što hetaje akno nikoli nia budzie pakazvacca." + +#, fuzzy +#~ msgid "Language for which misspelled words will be checked" +#~ msgstr "Mova, dla jakoj treba praviarać pravapis" + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "Ja jem, možaš pakinuć mnie paviedamleńnie." + +#, fuzzy +#~ msgid "from room %s" +#~ msgstr "Я %s" + +#~ msgid "Leave Groupchats" +#~ msgstr "Pakiń pakoji" + +#, fuzzy +#~ msgid "Auto Join" +#~ msgstr "Aŭtamatyčna dałučajsia" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "Pakoj:" + +#~ msgid "Jabber ID:" +#~ msgstr "JID:" + +#, fuzzy +#~ msgid "Occupant Actions" +#~ msgstr "_Dziejańni haspadara" + +#~ msgid "_Add to Roster" +#~ msgstr "_Dadaj u śpis kantaktaŭ" + +#, fuzzy +#~ msgid "_Manage Room" +#~ msgstr "Kiruj zakładkami" + +#, fuzzy +#~ msgid "Configure _Room..." +#~ msgstr "Kanfihuruj _pakoj" + +#, fuzzy +#~ msgid "_Destroy Room" +#~ msgstr "Apisańnie: %s" + +#, fuzzy +#~ msgid "Jabber ID" +#~ msgstr "JID:" + +#, fuzzy +#~ msgid "account" +#~ msgstr "Kont" + +#, fuzzy +#~ msgid "Roster" +#~ msgstr "Pakažy _śpis kantaktaŭ" + +#, fuzzy +#~ msgid "Show only in roster" +#~ msgstr "Pakazvaj tolki ŭ śpisie _kantaktaŭ" + +#, fuzzy +#~ msgid "in _roster" +#~ msgstr "Niama ŭ śpisie kantaktaŭ" + +#, fuzzy +#~ msgid "Roster Appearance" +#~ msgstr "Redahuj praviła" + +#, fuzzy +#~ msgid "_Add to Roster..." +#~ msgstr "_Dadaj u śpis kantaktaŭ" + +#~ msgid "_Jabber ID:" +#~ msgstr "_Jabber ID:" + +#, fuzzy +#~ msgid "_Jabber ID" +#~ msgstr "_Jabber ID:" + +#~ msgid "JabberID" +#~ msgstr "JID" + +#, fuzzy +#~ msgid "Show Roster" +#~ msgstr "Pakažy _śpis kantaktaŭ" + +#, fuzzy +#~ msgid "MUC server" +#~ msgstr "Naziralniki" + +#~ msgid "Room Configuration" +#~ msgstr "Kanfihuracyja pakoju" + +#~ msgid "Join _Group Chat" +#~ msgstr "Dałučysia da _pakoju" + +#, fuzzy +#~ msgid "Audio sessions are not available" +#~ msgstr "Złučeńnie niemahčymaje" + +#~ msgid "Conference" +#~ msgstr "Kanferencyja" + +#, fuzzy +#~ msgid "_Manage Bookmarks…" +#~ msgstr "Kiruj zakładkami" + +#, fuzzy +#~ msgid "Hide _Roster" +#~ msgstr "Niama ŭ śpisie kantaktaŭ" + +#~ msgid "Show _Roster" +#~ msgstr "Pakažy _śpis kantaktaŭ" + +#, fuzzy +#~ msgid "Invalid Room" +#~ msgstr "Niapravilny zapis" + +#, fuzzy +#~ msgid "Invalid room" +#~ msgstr "Niapravilny zapis" + +#~ msgid "A GTK+ Jabber client" +#~ msgstr "Klijent Jabber dla GTK+" + +#~ msgid "Changing Nickname" +#~ msgstr "Źmianiajecca mianuška" + +#~ msgid "Please specify the new nickname you want to use:" +#~ msgstr "Kali łaska, vyznač dla siabie novuju mianušku:" + +#~ msgid "Bookmark already set" +#~ msgstr "Zakładka ŭžo dadana" + +#, fuzzy +#~ msgid "Group Chat '%s' is already in your bookmarks." +#~ msgstr "Pakoj \"%s\" užo jość u tvajich zakładkach." + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "Zakładka paśpiachova dadanaja" + +#, fuzzy +#~ msgid "" +#~ "You can manage your bookmarks by clicking the Bookmarks menu item in your " +#~ "contact list." +#~ msgstr "" +#~ "Možaš kiravać svajimi zakładkami praz menu \"Dziejańni\" śpisu kantaktaŭ." + +#, fuzzy +#~ msgid "The nickname contains invalid characters." +#~ msgstr "JID pakoju ŭtrymlivaje niedazvolenyja znaki." + +#, fuzzy +#~ msgid "Bookmark Room" +#~ msgstr "_Stvary zakładku dla hetaja pakoju" + +#~ msgid "_Join New Group Chat" +#~ msgstr "_Dałučysia da pakoju" + +#~ msgid "Name:" +#~ msgstr "Nazva:" + +#, fuzzy +#~ msgid "Description:" +#~ msgstr "Apisańnie: %s" + +#, fuzzy +#~ msgid "Address:" +#~ msgstr "_Adras:" + +#, fuzzy +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "" +#~ "Niemahčyma ŭdzielničać u hrupavoj razmovie, nie dałučyŭšysia da servera." + +#, fuzzy +#~ msgid "Occupants" +#~ msgstr "_Dziejańni haspadara" + +#~ msgid "_Modify Account..." +#~ msgstr "_Madyfikuj kont..." + +#~ msgid "Boolean" +#~ msgstr "Lahičnaja źmiennaja" + +#~ msgid "Integer" +#~ msgstr "Cely lik" + +#~ msgid "Text" +#~ msgstr "Tekst" + +#~ msgid "Value" +#~ msgstr "Vartaść" + +#~ msgid "(None)" +#~ msgstr "(Niama)" + +#~ msgid "Hidden" +#~ msgstr "Schavany" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "Kiruj profilami proxy" + +#, fuzzy +#~ msgid "Properties" +#~ msgstr "Ułaścivaści" + +#, fuzzy +#~ msgid "Proxy _Port" +#~ msgstr "_Port:" + +#, fuzzy +#~ msgid "New Groupchat" +#~ msgstr "Novaja hrupavaja razmova" + +#, fuzzy +#~ msgid "New Contact" +#~ msgstr "Dadaj novy kantakt" + +#~ msgid "%s GiB" +#~ msgstr "%s GiB" + +#~ msgid "%s GB" +#~ msgstr "%s GB" + +#~ msgid "%s MiB" +#~ msgstr "%s MiB" + +#~ msgid "%s MB" +#~ msgstr "%s MB" + +#~ msgid "%s KiB" +#~ msgstr "%s KiB" + +#~ msgid "%s KB" +#~ msgstr "%s KB" + +#~ msgid "%s B" +#~ msgstr "%s B" + +#, fuzzy +#~ msgid "%s MiB/s" +#~ msgstr "%s MiB" + +#, fuzzy +#~ msgid "File transfer" +#~ msgstr "Pieradačy fajłaŭ" + +#, fuzzy +#~ msgid "Open _Containing Folder" +#~ msgstr "_Adčyni kataloh z fajłam" + +#, fuzzy +#~ msgid "Default:" +#~ msgstr "Zmoŭčany" + +#, fuzzy +#~ msgid "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" +#~ msgstr "" +#~ "Ty bolš nia zmožaš kamunikavać z kantaktami, jakija karystajucca hetymi " +#~ "transpartami:%s" + +#~ msgid "Contact \"%s\" will be removed from your roster" +#~ msgstr "Kantakt \"%s\" budzie vydaleny z tvajho śpisu kantaktaŭ" + +#, fuzzy +#~ msgid "" +#~ "By removing this contact you also by default remove authorization " +#~ "resulting in them always seeing you as offline." +#~ msgstr "" +#~ "Vydaliŭšy hety kantakt, ty zmoŭčana taksama anuluješ jahonuju " +#~ "aŭtaryzacyju. U vyniku jon zaŭsiody budzie bačyć ciabie adłučanym." + +#~ msgid "Contacts will be removed from your roster" +#~ msgstr "Kantakty buduć vydalenyja z tvajho śpisu kantaktaŭ" + +#~ msgid "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorization resulting in them always seeing you as " +#~ "offline." +#~ msgstr "" +#~ "Vydaliŭšy hetyja kantakty:%s,\n" +#~ "ty taksama anuluješ ichnyja aŭtaryzacyi. U vyniku jany zaŭsiody buduć " +#~ "bačyć ciabie adłučanym." + +#, fuzzy +#~ msgid "Con_tinue" +#~ msgstr "_Praciahni" + +#~ msgid "_Pause" +#~ msgstr "_Prypyni" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "Vydal pieradaču fajła ź śpisu." + +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "Hetaje dziejańnie anuluje pieradaču fajła i vydalić jaje ź śpisu." + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "Anuluj abranuju pieradaču fajła" + +#, fuzzy +#~ msgid "Hide the window" +#~ msgstr "Schavaj akno" + +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "Pakažy nahadvańnie ŭ vypłyŭnym aknie pa zakančeńni pieradačy fajła" + +#~ msgid "From:" +#~ msgstr "Ad:" + +#~ msgid "Subject:" +#~ msgstr "Tema:" + +#~ msgid "%s wants to send you a file:" +#~ msgstr "%s choča dasłać tabie fajł:" + +#~ msgid "Name: " +#~ msgstr "Nazva:" + +#~ msgid "Pause" +#~ msgstr "Prypyni" + +#, fuzzy +#~ msgid "Execute Command" +#~ msgstr "_Vykanaj zahad..." + +#~ msgid "Type: " +#~ msgstr "Typ: " + +#~ msgid "Transferred: " +#~ msgstr "Pierasłany: " + +#~ msgid "Completed" +#~ msgstr "Zavieršana" + +#~ msgid "Stalled" +#~ msgstr "Zatrymana" + +#~ msgid "Transferring" +#~ msgstr "Pieradajecca" + +#~ msgid "Not started" +#~ msgstr "Nie pačata" + +#, fuzzy +#~ msgid "%s day" +#~ msgid_plural "%s days" +#~ msgstr[0] "%i dzion tamu" +#~ msgstr[1] "%i dzion tamu" +#~ msgstr[2] "%i dzion tamu" + +#~ msgid "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" +#~ msgstr "Usie adčynienyja vokny razmovy buduć začynienyja. Praciahnuć?" + +#, fuzzy +#~ msgid "" +#~ "Your desired nickname in group chat\n" +#~ "%s\n" +#~ "is in use or registered by another occupant.\n" +#~ "Please specify another nickname below:" +#~ msgstr "" +#~ "Hetaja mianuška vykarystoŭvajecca ci zarehistravanaja na inšuju asobu.\n" +#~ "Kali łaska, vyznač inšuju mianušku nižej:" + +#, fuzzy +#~ msgid "_Configure" +#~ msgstr "_Praciahni" + +#, fuzzy +#~ msgid "Change the avatar" +#~ msgstr "Źmiani status" + +#, fuzzy +#~ msgid "" +#~ "Account in which the avatar will be set; if not specified, the avatar " +#~ "will be set for all accounts" +#~ msgstr "" +#~ "Kont, na jaki budzie dasłany XML; kali kont nie akreśleny, XML budzie " +#~ "dasłany na ŭsie konty" + +#, fuzzy +#~ msgid "add" +#~ msgstr "Zatrymana" + +#, fuzzy +#~ msgid "modify" +#~ msgstr "_Madyfikuj" + +#, fuzzy +#~ msgid "remove" +#~ msgstr "_Vydal" + +#, fuzzy +#~ msgid "" +#~ "If true, restored messages will use a smaller font than the default one." +#~ msgstr "" +#~ "Kali opcyja maje vartaść True, adnoŭlenyja paviedamleńni buduć pakazvacca " +#~ "mienšym za zmoŭčany šryftam." + +#, fuzzy +#~ msgid "Restored Message Color" +#~ msgstr "_Viarni zvyčajnyja kolery" + +#, fuzzy +#~ msgid "Send Cus_tom Status" +#~ msgstr "Dasyłaje svoj XML" + +#, fuzzy +#~ msgid "" +#~ "You are about to send a custom status. Are you sure you want to continue?" +#~ msgstr "Stvarajecca metakantakt. Ty sapraŭdy chočaš praciahnuć?" + +#, fuzzy +#~ msgid "" +#~ msgstr "Tema" + +#~ msgid "#" +#~ msgstr "№" + +#, fuzzy +#~ msgid "You are about to block a contact. Are you sure you want to continue?" +#~ msgstr "Stvarajecca metakantakt. Ty sapraŭdy chočaš praciahnuć?" + +#~ msgid "To:" +#~ msgstr "Da:" + +#~ msgid "0" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Reconnect when connection is lost" +#~ msgstr "Aŭtamatyčna pieradałučajsia pry abryvie złučeńnia" + +#, fuzzy +#~ msgid "Server Message Archive" +#~ msgstr "_Dašli paviedamleńnie servera" + +#, fuzzy +#~ msgid "Message Carbons" +#~ msgstr "Paviedamleńni" + +#~ msgid "" +#~ "Sent chat state notifications. Can be one of all, composing_only, " +#~ "disabled." +#~ msgstr "" +#~ "Dasyłaj nahadvańni ab stanie razmovy. Musić być adnoj z nastupnych " +#~ "vartaściaŭ: all, composing_only, disabled." + +#, fuzzy +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "Raskryj źviestki pra _aperacyjnuju systemu" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the idle time of your system" +#~ msgstr "" +#~ "Kali ŭklučanaja hetaja opcyja, Gajim budzie dałučacca da hetaha pakoju " +#~ "pry starcie" + +#, fuzzy +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "Raskryj źviestki pra _aperacyjnuju systemu" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the local time on your system" +#~ msgstr "" +#~ "Kali ŭklučanaja hetaja opcyja, Gajim budzie dałučacca da hetaha pakoju " +#~ "pry starcie" + +#, fuzzy +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "Raskryj źviestki pra _aperacyjnuju systemu" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the operating system you are " +#~ "using" +#~ msgstr "" +#~ "Kali ŭklučanaja hetaja opcyja, Gajim budzie dałučacca da hetaha pakoju " +#~ "pry starcie" + +#, fuzzy +#~ msgid "" +#~ "If checked, incoming events from unauthorized contacts will be ignored. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster." +#~ msgstr "" +#~ "Uklučy hetuju opcyju, kali tabie nadakučvaje ci zakidvaje niepatrebnymi " +#~ "paviedamleńniami chtości, kaho navat niama ŭ śpisie kantaktaŭ. Ale " +#~ "zvažaj, što ŭ takim razie nichto, akramia kantaktaŭ z tvajho śpisu, nia " +#~ "zmoža dasłać tabie paviedamleńnie" + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." +#~ msgstr "" +#~ "Gajim umieje vysyłać i atrymvać metaźviestki, źviazanyja z razmovaj z " +#~ "peŭnym kantaktam. Tut ty možaš vyznačyć, jakija paviedamleńni statusu " +#~ "treba dasyłać surazmoŭcam." + +#, fuzzy +#~ msgid "S_end chat state notifications" +#~ msgstr "Pakazanyja nahadvańni statusu ŭ časie razmovy:" + +#, fuzzy +#~ msgid "Login Options" +#~ msgstr "Smajliki:" + +#, fuzzy +#~ msgid "Please wait while retrieving search form..." +#~ msgstr "Kali łaska, pačakaj kanca atrymańnia śpisu zahadaŭ..." + +#, fuzzy +#~ msgid "_Add contact" +#~ msgstr "_Dadaj kantakt" + +#~ msgid "Ad-hoc Commands - Gajim" +#~ msgstr "Zahady ad-hoc - Gajim" + +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "Kali łaska, pačakaj kanca atrymańnia śpisu zahadaŭ..." + +#~ msgid "Choose command to execute:" +#~ msgstr "Abiary zahad dla vykanańnia:" + +#~ msgid "Check once more" +#~ msgstr "Spraŭdź nanoŭ" + +#, fuzzy +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "Kali łaska, pačakaj kanca dasyłańnia zahadu..." + +#~ msgid "This jabber entity does not expose any commands." +#~ msgstr "Hety abjekt Jabber nia maje dastupnych zahadaŭ." + +#, fuzzy +#~ msgid "F_inish" +#~ msgstr "_Skonč" + +#~ msgid "Failed to get secret keys" +#~ msgstr "Niemahčyma atrymać sakretnyja klučy" + +#, fuzzy +#~ msgid "There is no OpenPGP secret key available." +#~ msgstr "Adbyłasia pamyłka ŭ časie atrymańnia sakretnych klučoŭ OpenPGP." + +#~ msgid "OpenPGP Key Selection" +#~ msgstr "Vybar kluča OpenPGP" + +#~ msgid "Choose your OpenPGP key" +#~ msgstr "Abiary svoj kluč OpenPGP" + +#~ msgid "KeyID" +#~ msgstr "ID kluča" + +#~ msgid "Contact name" +#~ msgstr "Nazva kantaktu" + +#, fuzzy +#~ msgid "OpenPGP is not usable" +#~ msgstr "Nielha vykarystać OpenPGP na hetym kamputary" + +#~ msgid "Assign OpenPGP Key" +#~ msgstr "Pryznač kluč OpenPGP" + +#~ msgid "Select a key to apply to the contact" +#~ msgstr "Abiary kluč dla hetaha kantaktu" + +#~ msgid "You are currently connected without your OpenPGP key." +#~ msgstr "Dałučany biez kluča OpenPGP." + +#, fuzzy +#~ msgid "Wrong passphrase" +#~ msgstr "Niapravilny parol" + +#, fuzzy +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "Niapravilny parol" + +#~ msgid "Passphrase Required" +#~ msgstr "Musiš vyznačyć parol" + +#, fuzzy +#~ msgid "" +#~ "Enter OpenPGP key passphrase for key %(keyid)s (account %(account)s)." +#~ msgstr "Vyznač parol GPG dla kontu %s." + +#, fuzzy +#~ msgid "OpenPGP key expired" +#~ msgstr "Vybar kluča OpenPGP" + +#, fuzzy +#~ msgid "" +#~ "Your OpenPGP key has expired, you will be connected to %s without OpenPGP." +#~ msgstr "Ty dałučyśsia da %s biaz OpenPGP." + +#~ msgid "Wrong Passphrase" +#~ msgstr "Niapravilny parol" + +#, fuzzy +#~ msgid "Please retype your OpenPGP passphrase or press Cancel." +#~ msgstr "Kali łaska, vyznač parol GPG znoŭ albo naciśni knopku \"Anuluj\"." + +#~ msgid "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Dasyłaje novaje paviedamleńnie kantaktu sa śpisu kantaktaŭ. Kluč OpenPGP " +#~ "i kont nie abaviazkovyja dla akreśleńnia. Kali chočaš akreślić tolki " +#~ "'kont', biez 'kluča OpenPGP', tady prosta akreśli 'kluč OpenPGP' jak ''." + +#~ msgid "if specified, the message will be encrypted using this public key" +#~ msgstr "" +#~ "Kali akreślena, paviedamleńnie budzie zašyfravana hetym publičnym klučom" + +#, fuzzy +#~ msgid "" +#~ "Sends a chat message to someone on your roster. Optionally with OpenPGP " +#~ "key and account. If you want to only set the latter, set OpenPGP key to " +#~ "\"\"." +#~ msgstr "" +#~ "Dasyłaje novaje paviedamleńnie kantaktu sa śpisu kantaktaŭ. Kluč OpenPGP " +#~ "i kont nie abaviazkovyja dla akreśleńnia. Kali chočaš akreślić tolki " +#~ "'kont', biez 'kluča OpenPGP', tady prosta akreśli 'kluč OpenPGP' jak ''." + +#, fuzzy +#~ msgid "OpenPGP:" +#~ msgstr "OpenPGP: " + +#, fuzzy +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "Pryznač kluč Open_PGP" + +#, fuzzy +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "Šyfravańnie OpenPGP" + +#, fuzzy +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "_Uvachodnaje paviedamleńnie:" + +#, fuzzy +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "Złučeńnia niama" + +#, fuzzy +#~ msgid "OpenPGP Key" +#~ msgstr "Pryznač kluč OpenPGP" + +#, fuzzy +#~ msgid "Cancel confirmation" +#~ msgstr "Źviestki ab kantakcie" + +#, fuzzy +#~ msgid "%s - Ad-hoc Commands - Gajim" +#~ msgstr "Zahady ad-hoc - Gajim" + +#, fuzzy +#~ msgid "You are invited to a groupchat" +#~ msgstr "Ty nie dałučyŭsia da pakoju." + +#~ msgid "_Start Chat" +#~ msgstr "_Pačni razmovu" + +#~ msgid "Au_thorize" +#~ msgstr "_Aŭtaryzuj" + +#~ msgid "You are currently connected to the server" +#~ msgstr "Prahrama dałučanaja da servera" + +#, fuzzy +#~ msgid "To disable the account, you must be disconnected." +#~ msgstr "Kab źmianić nazvu kontu, treba pieradałučycca." + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with %(jid)s?" +#~ msgstr "Sapraŭdy chočaš vydalić zaznačanaje paviedamleńnie?" + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with the selected contacts?" +#~ msgstr "Sapraŭdy chočaš vydalić žurnał razmoŭ z abranym kantaktam?" + +#, fuzzy +#~ msgid "This can not be undone." +#~ msgstr "Niemahčyma znajści servis" + +#~ msgid "What do you want to do?" +#~ msgstr "Što chočaš zrabić?" + +#, fuzzy +#~ msgid "" +#~ "List of colors, separated by \":\", that will be used to color nicknames " +#~ "in group chats." +#~ msgstr "Śpis koleraŭ dla farbavańnia mianušak u pakojach." + +#, fuzzy +#~ msgid "You have received new entries (and %d not displayed):" +#~ msgid_plural "You have received new entries (and %d not displayed):" +#~ msgstr[0] "Atrymaŭ novy zapis:" +#~ msgstr[1] "Atrymaŭ novy zapis:" +#~ msgstr[2] "Atrymaŭ novy zapis:" + +#~ msgid "Stopped" +#~ msgstr "Spyniena" + +#, fuzzy +#~ msgid "Status messages displayed in chat window" +#~ msgstr "Dašli paviedamleńnie i začyni akno" + +#~ msgid "?print_status:All" +#~ msgstr "?print_status:Usie" + +#~ msgid "Enter and leave only" +#~ msgstr "Tolki ŭvachod i vychad" + +#~ msgid "?print_status:None" +#~ msgstr "?print_status:Niama" + +#~ msgid "D-Bus python bindings are missing in this computer" +#~ msgstr "Nie staje fajłaŭ padtrymki Python dla D-Bus na hetym kamputary" + +#~ msgid "D-Bus capabilities of Gajim cannot be used" +#~ msgstr "Niemahčyma vykarystać mahčymaści D-Bus dla Gajima" + +#, fuzzy +#~ msgid "D-Bus does not run correctly on this machine: system bus not present" +#~ msgstr "D-Busu niama na hetym kamputary, albo nie staje modula Python" + +#, fuzzy +#~ msgid "" +#~ "D-Bus does not run correctly on this machine: session bus not present" +#~ msgstr "D-Busu niama na hetym kamputary, albo nie staje modula Python" + +#, fuzzy +#~ msgid "Command line Control" +#~ msgstr "Zahady: %s" + +#~ msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +#~ msgstr "%(who)s vypchnuŭ %(nick)s: %(reason)s" + +#~ msgid "%(nick)s has been banned by %(who)s: %(reason)s" +#~ msgstr "%(who)s zablakavaŭ %(nick)s: %(reason)s" + +#, fuzzy +#~ msgid "** Role of %(nick)s has been set to %(role)s" +#~ msgstr "%(nick)s vypchnuty z pakoju: %(reason)s" + +#~ msgid "%s has left" +#~ msgstr "%s vyjšaŭ" + +#, fuzzy +#~ msgid "%s is full" +#~ msgstr "Huki" + +#, fuzzy +#~ msgid "" +#~ "Can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no " +#~ "longer print status line in groupchats when a member changes their status " +#~ "and/or their status message. If \"all\" Gajim will print all status " +#~ "messages. If \"in_and_out\", Gajim will only print FOO enters/leaves " +#~ "group chat." +#~ msgstr "" +#~ "moža mieć vartaść: \"none\", \"all\" albo \"in_and_out\". Kali opcyja " +#~ "maje vartaść \"none\", Gajim nia budzie pakazvać paviedamleńni statusu ŭ " +#~ "pakojach, kali surazmoŭca źmianiaje status. Kali opcyja maje vartaść \"all" +#~ "\", Gajim budzie pakazvać usie takija paviedamleńni. Kali opcyja maje " +#~ "vartaść \"in_and_out\", Gajim budzie pakazvać tolki paviedamleńni ab " +#~ "dałučeńni/adłučeńni surazmoŭcaŭ." + +#, fuzzy +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "Pakazvaj paviedamleńni _statusu kantaktaŭ u śpisie kantaktaŭ" + +#, fuzzy +#~ msgid "" +#~ "You are about to send your password unencrypted on an insecure " +#~ "connection. Are you sure you want to do that?" +#~ msgstr "Stvarajecca metakantakt. Ty sapraŭdy chočaš praciahnuć?" + +#, fuzzy +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "Užyvaj aŭtaryzacyju" + +#, fuzzy +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "Užyvaj aŭtaryzacyju" + +#, fuzzy +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "Užyvaj aŭtaryzacyju" + +#~ msgid "" +#~ "Displayed chat state notifications in chat windows. Can be one of all, " +#~ "composing_only, disabled." +#~ msgstr "" +#~ "Pakazanyja nahadvańni stanu razmovy ŭ voknach. Musić być adnoj z " +#~ "nastupnych vartaściaŭ: all, composing_only, disabled." + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." +#~ msgstr "" +#~ "Gajim umieje vysyłać i atrymvać metaźviestki, źviazanyja z razmovaj z " +#~ "peŭnym kantaktam. Tut ty možaš vyznačyć, jakija paviedamleńni statusu " +#~ "treba pakazvać u voknach razmoŭ." + +#~ msgid "This is an irreversible operation." +#~ msgstr "Vynikaŭ hetaj aperacyi niemahčyma anulavać." + +#~ msgid "Settings" +#~ msgstr "Nałady" + +#, fuzzy +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "Kiraŭnik žurnałaŭ razmoŭ Gajim" + +#~ msgid "Member List" +#~ msgstr "Śpis udzielnikaŭ" + +#~ msgid "Owner List" +#~ msgstr "Śpis ułaśnikaŭ" + +#~ msgid "Administrator List" +#~ msgstr "Śpis administrataraŭ" + +#~ msgid "Nick" +#~ msgstr "Mianuška" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "Kaho chočaš zablakavać?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Member…" +#~ msgstr "Dadajecca ŭdzielnik..." + +#~ msgid "" +#~ "Whom do you want to make a member?\n" +#~ "\n" +#~ msgstr "" +#~ "Kaho chočaš zrabić udzielnikam?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Owner…" +#~ msgstr "Dadajecca ŭłaśnik..." + +#~ msgid "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" +#~ msgstr "" +#~ "Kaho chočaš zrabić ułaśnikam?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Administrator…" +#~ msgstr "Dadajecca administratar..." + +#~ msgid "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" +#~ msgstr "" +#~ "Kaho chočaš zrabić administrataram?\n" +#~ "\n" + +#~ msgid "Error reading file:" +#~ msgstr "Pamyłka adčytańnia fajłu:" + +#~ msgid "Error parsing file:" +#~ msgstr "Pamyłka razboru fajłu:" + +#~ msgid "Description" +#~ msgstr "Apisańnie" + +#, fuzzy +#~ msgid "Password encryption" +#~ msgstr "Paroli roźniacca" + +#, fuzzy +#~ msgid "Automatic status" +#~ msgstr "_Dastasuj da statusu" + +#, fuzzy +#~ msgid "?features:Available" +#~ msgstr "Dastupny" + +#, fuzzy +#~ msgid "Feature" +#~ msgstr "Zdolnaści serveraŭ" + +#~ msgid "Filter:" +#~ msgstr "Filter:" + +#, fuzzy +#~ msgid "Chat Appearance" +#~ msgstr "Redahuj praviła" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed out" +#~ msgstr "" +#~ "Gajim budzie paviedamlać ab adłučeńni kantaktaŭ ad servera ŭ pravym " +#~ "nižnim kucie ekranu" + +#~ msgid "Sounds" +#~ msgstr "Huki" + +#, fuzzy +#~ msgid "Chat state notifications" +#~ msgstr "Vizualnyja nahadvańni" + +#, fuzzy +#~ msgid "_Away after" +#~ msgstr "Aŭtamatyčna źmianiać stan na \"_Adyjšoŭ\" praz:" + +#, fuzzy +#~ msgid "_Not available after" +#~ msgstr "Aŭtamatyčna źmianiać stan na \"_Niedastupny\" praz:" + +#, fuzzy +#~ msgid "Auto Status" +#~ msgstr "Dziejańni" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "Šablony paviedamleńniaŭ statusu" + +#, fuzzy +#~ msgid "Audio" +#~ msgstr "Dziejańni" + +#, fuzzy +#~ msgid "Video" +#~ msgstr "Dadaj praviła" + +#, fuzzy +#~ msgid "Connection" +#~ msgstr "Umovy" + +#~ msgid "Custom" +#~ msgstr "Asablivy" + +#, fuzzy +#~ msgid "Privacy" +#~ msgstr "Śpis pryvatnaści" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "Redaktar dadatkovych naładaŭ" + +#, fuzzy +#~ msgid "File transfer, room bookmarks" +#~ msgstr "Pamyłka pieradačy fajłu" + +#, fuzzy +#~ msgid "XML console interface" +#~ msgstr "Kansol XML" + +#, fuzzy +#~ msgid "" +#~ "A programming error has been detected. It probably is not fatal, but " +#~ "should be reported to the developers nonetheless." +#~ msgstr "" +#~ "Heta nie fatalna, ale ŭsio roŭna varta paviedamić pra takuju sytuacyju " +#~ "raspracoŭnikam." + +#, fuzzy +#~ msgid "(ESession info)" +#~ msgstr "Apisańnie" + +#~ msgid "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" +#~ msgstr "" +#~ "Kali ŭklučanaja hetaja opcyja, Gajim budzie zamianiać ascii-smajliki " +#~ "(naprykład, ':)' ) na adpaviednyja hrafičnyja smajliki" + +#, fuzzy +#~ msgid "_Emoticons" +#~ msgstr "Smajliki:" + +#~ msgid "_Highlight misspelled words" +#~ msgstr "_Padśviatlaj słovy z pamyłkami" + +#, fuzzy +#~ msgid "Notify by icon when your messages are received" +#~ msgstr "Huk, jaki treba hrać pry atrymańni novaha hrupavoha paviedamleńnia." + +#, fuzzy +#~ msgid "T_heme" +#~ msgstr "T_ema:" + +#, fuzzy +#~ msgid "Themes" +#~ msgstr "Ułaścivaści" + +#~ msgid "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." +#~ msgstr "" +#~ "Jabberd1.4 nia lubić danych SHA pry sprobie dałučeńnia da pakoju, " +#~ "abaronienaha parolem. Źmiani vartaść hetaj opcyi na False, kab pierastać " +#~ "słać takija danyja SHA." + +#, fuzzy +#~ msgid "Presence" +#~ msgstr "P_rysutnaść" + +#, fuzzy +#~ msgid "Emoticons disabled" +#~ msgstr "Šyfravańnie adklučanaje" + +#, fuzzy +#~ msgid "You cannot make changes to the default theme" +#~ msgstr "Niemahčyma vydalić dziejnuju temu" + +#~ msgid "theme name" +#~ msgstr "nazva temy" + +#~ msgid "You cannot delete your current theme" +#~ msgstr "Niemahčyma vydalić dziejnuju temu" + +#~ msgid "New Single Message from %(nickname)s" +#~ msgstr "Novaje asobnaje paviedamleńnie ad %(nickname)s" + +#~ msgid "New Private Message from group chat %s" +#~ msgstr "Novaje pryvatnaje paviedamleńnie ŭ pakoji %s" + +#~ msgid "%(nickname)s: %(message)s" +#~ msgstr "%(nickname)s: %(message)s" + +#, fuzzy +#~ msgid "Messaged by %(nickname)s" +#~ msgstr "Novaje paviedamleńnie ad %(nickname)s" + +#, fuzzy +#~ msgid "Status message text color." +#~ msgstr "tekst paviedamleńnia statusu" + +#, fuzzy +#~ msgid "Incoming nickname font." +#~ msgstr "Niapravilnaje imia karystalnika" + +#, fuzzy +#~ msgid "Status message text font." +#~ msgstr "tekst paviedamleńnia statusu" + +#~ msgid "Background color of contacts when they just signed in." +#~ msgstr "Fonavy koler kantaktaŭ, kali jany tolki dałučylisia." + +#~ msgid "Background color of contacts when they just signed out." +#~ msgstr "Fonavy koler kantaktaŭ, kali jany tolki adłučylisia." + +#~ msgid "green" +#~ msgstr "zialony" + +#~ msgid "grocery" +#~ msgstr "bakaleja" + +#~ msgid "human" +#~ msgstr "čałaviek" + +#~ msgid "marine" +#~ msgstr "marski" + +#, fuzzy +#~ msgid "Contact row" +#~ msgstr "Kantakt" + +#~ msgid "Gajim Themes Customization" +#~ msgstr "Kanfihuracyja temy Gajim" + +#~ msgid "Text _color:" +#~ msgstr "Koler _tekstu:" + +#~ msgid "_Background:" +#~ msgstr "_Fon:" + +#~ msgid "Text _font:" +#~ msgstr "_Šryft:" + +#~ msgid "Font style:" +#~ msgstr "Styl šryftu:" + +#~ msgid "Paused" +#~ msgstr "Prypynienaja" + +#~ msgid "Gone" +#~ msgstr "Vyjšaŭ" + +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "" +#~ "MUC\n" +#~ "Paviedamleńni" + +#~ msgid "Chatstate Tab Colors" +#~ msgstr "Kolery kartak u aknie razmoŭ" + +#, fuzzy +#~ msgid "Chat message" +#~ msgstr "Pa_viedamleńnie statusu:" + +#~ msgid "Use system _default" +#~ msgstr "Užyvaj _zmoŭčany dla systemy" + +#, fuzzy +#~ msgid "Font" +#~ msgstr "Huki" + +#, fuzzy +#~ msgid "Contact's nickname" +#~ msgstr "Nazva kantaktu" + +#, fuzzy +#~ msgid "_Status message" +#~ msgstr "Pa_viedamleńnie statusu:" + +#, fuzzy +#~ msgid "Your message" +#~ msgstr "Tekst pamyłki: %s" + +#, fuzzy +#~ msgid "Chat Line Colors" +#~ msgstr "Kolery kartak u aknie razmoŭ" + +#, fuzzy +#~ msgid "Jabber ID:" +#~ msgstr "JID:" + +#, fuzzy +#~ msgid "Resource:" +#~ msgstr "Krynica:" + +#, fuzzy +#~ msgid "Status:" +#~ msgstr "Nałady" + +#, fuzzy +#~ msgid "Client:" +#~ msgstr "Asablivy" + +#, fuzzy +#~ msgid "Contact time:" +#~ msgstr "Nałady" + +#, fuzzy +#~ msgid "Ask:" +#~ msgstr "Dziejańni" + +#, fuzzy +#~ msgid "Subscription:" +#~ msgstr "Apisańnie" + +#, fuzzy +#~ msgid "Name:" +#~ msgstr "Asablivy" + +#, fuzzy +#~ msgid "Nickname:" +#~ msgstr "Mianuška:" + +#, fuzzy +#~ msgid "Street:" +#~ msgstr "Nałady" + +#, fuzzy +#~ msgid "City:" +#~ msgstr "Asablivy" + +#, fuzzy +#~ msgid "State:" +#~ msgstr "Nałady" + +#, fuzzy +#~ msgid "Extra Address:" +#~ msgstr "Dadatkovy adras:" + +#, fuzzy +#~ msgid "Postal Code:" +#~ msgstr "Paštovy indeks:" + +#, fuzzy +#~ msgid "Country:" +#~ msgstr "Huki" + +#, fuzzy +#~ msgid "Homepage:" +#~ msgstr "Chatniaja staronka:" + +#, fuzzy +#~ msgid "E-Mail:" +#~ msgstr "E-mail:" + +#, fuzzy +#~ msgid "Phone No.:" +#~ msgstr "Telefon:" + +#, fuzzy +#~ msgid "Birthday:" +#~ msgstr "Narodziny:" + +#, fuzzy +#~ msgid "Family:" +#~ msgstr "Proźvišča:" + +#, fuzzy +#~ msgid "Middle:" +#~ msgstr "Dadaj praviła" + +#, fuzzy +#~ msgid "Prefix:" +#~ msgstr "Ułaścivaści" + +#, fuzzy +#~ msgid "Given:" +#~ msgstr "OpenPGP" + +#, fuzzy +#~ msgid "Suffix:" +#~ msgstr "Huki" + +#, fuzzy +#~ msgid "Full Name" +#~ msgstr "Asablivy" + +#, fuzzy +#~ msgid "Company:" +#~ msgstr "Asablivy" + +#, fuzzy +#~ msgid "Department:" +#~ msgstr "Addzieł:" + +#, fuzzy +#~ msgid "Position:" +#~ msgstr "Umovy" + +#, fuzzy +#~ msgid "Role:" +#~ msgstr "Huki" + +#~ msgid "Edit %s" +#~ msgstr "Źmiani %s" + +#~ msgid "Conversation History with %s" +#~ msgstr "Žurnał razmoŭ z %s" + +#~ msgid "Contact with \"%s\" cannot be established" +#~ msgstr "Niemahčyma złučycca z \"%s\"" + +#~ msgid "Registration information for transport %s has not arrived in time" +#~ msgstr "Źviestki rehistracyi dla transpartu %s nie pryjšli ŭ čas" + +#~ msgid "Register to" +#~ msgstr "Zarehistrujsia na" + +#, fuzzy +#~ msgid "Enter name / JID of contact or groupchat" +#~ msgstr "Nazva kantaktu" + +#, fuzzy +#~ msgid "Search:" +#~ msgstr "Šukaj" + +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "Niemahčyma źmianić parol, nie dałučyŭšysia da servera." + +#~ msgid "Invalid password" +#~ msgstr "Niapravilny parol" + +#~ msgid "The passwords typed in both fields must be identical." +#~ msgstr "Parolu ŭ abodvuch palach nie pavinny roźnicca." + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "Paŭtary parol dla paćvierdžańnia:" + +#~ msgid "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" +#~ msgstr "" +#~ "JID %s nie adpaviadaje standartu RFC. Jon nia budzie dadany da tvajho " +#~ "śpisu kantaktaŭ. Vydal jaho z dapamohaj pryłady kiravańnia śpisam " +#~ "kantaktaŭ, naprykład, http://jru.jabberstudio.org/" + +#~ msgid "unsubscribe request from %s" +#~ msgstr "zapyt adpiski ad %s" + +#, fuzzy +#~ msgid "Homepage:" +#~ msgstr "Chatniaja staronka:" + +#~ msgid "Manage Bookmarks" +#~ msgstr "Kiruj zakładkami" + +#~ msgid "_Nickname:" +#~ msgstr "_Mianuška:" + +#, fuzzy +#~ msgid "Pr_int status:" +#~ msgstr "Pakazvaj status:" + +#, fuzzy +#~ msgid "Add JID" +#~ msgstr "JID:" + +#, fuzzy +#~ msgid "Preference:" +#~ msgstr "Nałady" + +#, fuzzy +#~ msgid "Preference" +#~ msgstr "Nałady" + +#, fuzzy +#~ msgid "JID:" +#~ msgstr "Vaš JID:" + +#, fuzzy +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "" +#~ "Kali łaska, zapoŭni źviestki ab kantakcie, kali chočaš dadać kantakt %s" + +#~ msgid "Please fill in the data of the contact you want to add" +#~ msgstr "Kali łaska, zapoŭni źviestki ab kantakcie, jaki chočaš dadać" + +#, fuzzy +#~ msgid "Recently" +#~ msgstr "Niadaŭna:" + +#~ msgid "Add New Contact" +#~ msgstr "Dadaj novy kantakt" + +#~ msgid "_User ID:" +#~ msgstr "_ID karystalnika:" + +#, fuzzy +#~ msgid "Type User ID" +#~ msgstr "Identyfikatar karystalnika:" + +#, fuzzy +#~ msgid "Type Nickname" +#~ msgstr "Mianuška" + +#~ msgid "Personal Information" +#~ msgstr "Asabistyja źviestki" + +#, fuzzy +#~ msgid "Avatar:" +#~ msgstr "Avatar:" + +#~ msgid "Click to set your avatar" +#~ msgstr "Klikni, kab vystavić svoj avatar" + +#, fuzzy +#~ msgid "Remove Avatar" +#~ msgstr "Vydal hrupu" + +#~ msgid "Not fetched because of invisible status" +#~ msgstr "Nia ściahnuta z-za niabačnaha statusu" + +#~ msgid "Please wait..." +#~ msgstr "Kali łaska, pačakaj..." + +#~ msgid "Yahoo! Address:" +#~ msgstr "Adras Yahoo!:" + +#, fuzzy +#~ msgid "Forward unread messages" +#~ msgstr "%d niečytanaje paviedamleńnie" + +#, fuzzy +#~ msgid "Forward unread message then disconnect" +#~ msgstr "%d niečytanaje paviedamleńnie" + +#~ msgid "MSN Address:" +#~ msgstr "Adras MSN:" + +#, fuzzy +#~ msgid "End to End message encryption" +#~ msgstr "Šyfravańnie OpenPGP" + +#, fuzzy +#~ msgid "Encrypting chat messages." +#~ msgstr "_Uvachodnaje paviedamleńnie:" + +#, fuzzy +#~ msgid "This session is encrypted" +#~ msgstr "[Hetaje paviedamleńnie zašyfravanaje]" + +#, fuzzy +#~ msgid "end-to-end encryption disabled" +#~ msgstr "Šyfravańnie adklučanaje" + +#, fuzzy +#~ msgid "Unable to decrypt message" +#~ msgstr "Dla kožnaha _paviedamleńnia" + +#, fuzzy +#~ msgid "Save Image as…" +#~ msgstr "Zapišy vyjavu jak..." + +#, fuzzy +#~ msgid "Exporting History Logs…" +#~ msgstr "Ekspartavańnie žurnałaŭ..." + +#~ msgid "When %s becomes:" +#~ msgstr "Kali %s maje status:" + +#~ msgid "Adding Special Notification for %s" +#~ msgstr "Dadajecca admysłovaje nahadvańnie dla %s" + +#~ msgid "Unable to load idle module" +#~ msgstr "Niemahčyma adčytać modulu idle" + +#, fuzzy +#~ msgid "%s or %s is a directory but should be a file" +#~ msgstr "%s jość kataloham, ale musiŭ być fajł" + +#~ msgid "creating logs database" +#~ msgstr "stvarajecca baza žurnałaŭ" + +#, fuzzy +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "Dašli %s" + +#, fuzzy +#~ msgid "Rename account label" +#~ msgstr "Kiruj kontami" + +#, fuzzy +#~ msgid "Send Single Message..." +#~ msgstr "Dašli _asobnaje aviedamleńnie..." + +#, fuzzy +#~ msgid "E2E encryption disabled" +#~ msgstr "Šyfravańnie adklučanaje" + +#~ msgid "uri" +#~ msgstr "uri" + +#, fuzzy +#~ msgid "" +#~ "Install /\n" +#~ "Upgrade" +#~ msgstr "Zatrymana" + +#, fuzzy +#~ msgid "Install/Upgrade" +#~ msgstr "Zatrymana" + +#, fuzzy +#~ msgid "Security error during download" +#~ msgstr "Niemahčyma złučycca z \"%s\"" + +#, fuzzy +#~ msgid "Error in download" +#~ msgstr "Niemahčyma złučycca z \"%s\"" + +#~ msgid "cyan" +#~ msgstr "cyan" + +#~ msgid "migrating logs database to indices" +#~ msgstr "indeksavańnie bazy razmoŭ" + +#, fuzzy +#~ msgid "Send File..." +#~ msgstr "Vyšli _fajł" + +#, fuzzy +#~ msgid "HTTP File Upload not supported by your server" +#~ msgstr "Tvoj server nie padtrymvaje zachoŭvańnia metakantaktaŭ" + +#, fuzzy +#~ msgid "Jingle File Transfer" +#~ msgstr "Pieradačy fajłaŭ" + +#~ msgid "Shows or hides the roster window" +#~ msgstr "Pakazvaje / chavaje śpis kantaktaŭ" + +#, fuzzy +#~ msgid "Shows or hides the ipython window" +#~ msgstr "Pakazvaje / chavaje śpis kantaktaŭ" + +#, fuzzy +#~ msgid "XMPP account %s" +#~ msgstr "kontu %s" + +#, fuzzy +#~ msgid "Exception" +#~ msgstr "Apisańnie" + +#, fuzzy +#~ msgid "" +#~ "someone@somewhere.com would like you to add some contacts " +#~ "in your roster." +#~ msgstr "Ja chaču dadać Vas u svoj śpis kantaktaŭ." + +#~ msgid "_Actions" +#~ msgstr "_Dziejańni" + +#~ msgid "You are already in group chat %s" +#~ msgstr "Užo ŭdzielničaješ u razmovie ŭ pakoji %s" + +#~ msgid "Join Group Chat with account %s" +#~ msgstr "Dałučysia da pakoju dla kontu %s" + +#, fuzzy +#~ msgid "" +#~ "You have to choose an account from which you want to join the groupchat." +#~ msgstr "Treba stvaryć kont, kab razmaŭlać ź inšymi kantaktami." + +#, fuzzy +#~ msgid "Please enter the group chat JID as room@server." +#~ msgstr "JID pakoju ŭtrymlivaje niedazvolenyja znaki." + +#, fuzzy +#~ msgid "The group chat JID contains invalid characters." +#~ msgstr "JID pakoju ŭtrymlivaje niedazvolenyja znaki." + +#~ msgid "Start Chat with account %s" +#~ msgstr "Pačni razmovu dla kontu %s" + +#, fuzzy +#~ msgid "" +#~ "Fill in the nickname or the JID of the contact you would like\n" +#~ "to send a chat message to:" +#~ msgstr "" +#~ "Vyznač mianušku albo JID kantakta, jakomu chočaš dasłać\n" +#~ "paviedamleńnie:" + +#, fuzzy +#~ msgid "Nickname / JID" +#~ msgstr "Taki JID užo vykarystoŭvajecca" + +#~ msgid "Unable to parse \"%s\"." +#~ msgstr "Niemahčyma razabrać \"%s\"." + +#~ msgid "Shows the chat dialog so that you can send messages to a contact" +#~ msgstr "Pakazvaje akno razmovy, kab dasyłać paviedamleńni kantaktu" + +#~ msgid "JID of the contact that you want to chat with" +#~ msgstr "JID kantaktu, ź jakim chočaš parazmaŭlać" + +#~ msgid "Adds contact to roster" +#~ msgstr "Dadaje kantakt u śpis kantaktaŭ" + +#~ msgid "jid" +#~ msgstr "jid" + +#~ msgid "Adds new contact to this account" +#~ msgstr "Dadaje novy kantakt dla hetaha kontu" + +#~ msgid "Opens 'Start Chat' dialog" +#~ msgstr "Adčyniaje akno 'Pačni razmovu'" + +#~ msgid "Starts chat, using this account" +#~ msgstr "Pačynaje razmovu dla hetaha kontu" + +#, fuzzy +#~ msgid "Handle a xmpp:/ URI" +#~ msgstr "Absłuhoŭvaj spasyłki xmpp:/" + +#, fuzzy +#~ msgid "Message content" +#~ msgstr "źmiest paviedamleńnia" + +#~ msgid "Join a MUC room" +#~ msgstr "Dałučysia da pakoju" + +#, fuzzy +#~ msgid "Nickname to use" +#~ msgstr "Mianuška nia znojdziena: %s" + +#, fuzzy +#~ msgid "Password to enter the room" +#~ msgstr "Paroli roźniacca" + +#, fuzzy +#~ msgid "Wrong URI" +#~ msgstr "Niapravilnaja spasyłka" + +#~ msgid "Nickname:" +#~ msgstr "Mianuška:" + +#~ msgid "Server:" +#~ msgstr "Server:" + +#, fuzzy +#~ msgid "Join this room _automatically when I connect" +#~ msgstr "Dałučajsia da hetaha pakoju aŭtamatyčna pry kožnym złučeńni" + +#, fuzzy +#~ msgid "Bro_wse Rooms" +#~ msgstr "_Prahladaj" + +#, fuzzy +#~ msgid "Network-Watcher" +#~ msgstr "Kiraŭnik žurnałaŭ" + +#~ msgid "" +#~ "You have to install %s dictionary to use spellchecking, or choose another " +#~ "language by setting the speller_language option." +#~ msgstr "" +#~ "Treba zainstalavać słoŭnik %s, kab praviarać pravapis, albo abrać inšuju " +#~ "movu ŭ opcyi speller_language." + +#, fuzzy +#~ msgid "Hides the buttons in chat windows." +#~ msgstr "Chavaje knopki ŭ aknie pakoju." + +#, fuzzy +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "_Stvary zakładku dla hetaja pakoju" + +#, fuzzy +#~ msgid "Show advanced functions (Alt+D)" +#~ msgstr "Klikni, kab ustavić smajlik (Alt+M)" + +#, fuzzy +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "Dadaje kantakt u śpis kantaktaŭ" + +#, fuzzy +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "sočyć za razmovaj" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Dadaje kantakt u śpis kantaktaŭ" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Dadaje kantakt u śpis kantaktaŭ" + +#, fuzzy +#~ msgid "Ma_ke message windows compact" +#~ msgstr "_Hrupuj vokny:" + +#, fuzzy +#~ msgid "Hide all buttons in chat windows" +#~ msgstr "Chavaje knopki ŭ aknie pakoju." + +#, fuzzy +#~ msgid "Hide the chat buttons" +#~ msgstr "Užyvańnie: /%s, chavaje knopki razmovy." + +#~ msgid "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." +#~ msgstr "" +#~ "Kali opcyja maje vartaść True, Gajim budzie pytać avatary ŭ kožnaha " +#~ "kantaktu, jaki nia mieŭ avatara byłym razam, albo kali buferavany avatar " +#~ "sastareje." + +#, fuzzy +#~ msgid "?CLI:room" +#~ msgstr "pakoj" + +#, fuzzy +#~ msgid "?CLI:nick" +#~ msgstr "mianuška" + +#, fuzzy +#~ msgid "?CLI:password" +#~ msgstr "parol" + +#~ msgid "Use D-Bus and Notification-Daemon to show notifications" +#~ msgstr "Pakazvaj nahadvańni z dapamohaj DBus i Notification-Daemon" + +#, fuzzy +#~ msgid "Notification" +#~ msgstr "Madyfikacyja kontu" + +#, fuzzy +#~ msgid "Ignore" +#~ msgstr "dziaviataja" + +#~ msgid "_Open Gmail Inbox" +#~ msgstr "_Adčyni poštu Gmail" + +#~ msgid "Notify on new _GMail email" +#~ msgstr "Paviedamlaj mnie ab novych listach u skryni _Gmail" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will show a notification when a new e-mail is received " +#~ "via GMail" +#~ msgstr "" +#~ "Kali ŭklučanaja hetaja opcyja, Gajim taksama budzie paviedamlać " +#~ "dadatkovyja źviestki pra aŭtaraŭ novych listoŭ" + +#~ msgid "Display _extra email details" +#~ msgstr "Pakazvaj dadatkovyja _padrabiaznaści ab emaiłu" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will also include information about the sender of new " +#~ "emails" +#~ msgstr "" +#~ "Kali ŭklučanaja hetaja opcyja, Gajim taksama budzie paviedamlać " +#~ "dadatkovyja źviestki pra aŭtaraŭ novych listoŭ" + +#~ msgid "GMail Options" +#~ msgstr "Opcyi GMail" + +#, fuzzy +#~ msgid "20" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Invited %s to %s" +#~ msgstr "Dašli %s" + +#~ msgid "GMail Email Received" +#~ msgstr "Novy list na skryncy GMail" + +#, fuzzy +#~ msgid "New e-mail on %(gmail_mail_address)s" +#~ msgstr "Novaja pošta ŭ skryncy %(gmail_mail_address)s" + +#, fuzzy +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "%d novy list" +#~ msgstr[1] "%d novyja listy" +#~ msgstr[2] "%d novych listoŭ" + +#~ msgid "Resour_ce:" +#~ msgstr "_Krynica:" + +#~ msgid "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" +#~ msgstr "" +#~ "Nazva krynicy paviedamlajecca serveru, kab toj moh adroźnić niekalki " +#~ "prahram, dałučanych da adnaho kontu. Tak ty možaš dałučycca da adnaho " +#~ "kontu i z domu, i z pracy. Paviedamleńni buduć skiroŭvacca na krynicu z " +#~ "najvyšejšym pryjarytetam. (hladzi nižej)" + +#, fuzzy +#~ msgid "A_djust to status" +#~ msgstr "_Dastasuj da statusu" + +#~ msgid "Priority will change automatically according to your status." +#~ msgstr "Źmianiaj pryjarytet aŭtamatyčna zhodna z statusam." + +#, fuzzy +#~ msgid "Anonymous authentication" +#~ msgstr "Užyvaj aŭtaryzacyju" + +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "Pryjarytet vyznačaje, jakaja prahrama atrymvaje paviedamleńni z servera, " +#~ "kali niekalki prahram dałučanyja praz adzin kont. Prahrama z najvyšejšym " +#~ "pryjarytetam budzie atrymvać paviedamleńni" + +#, fuzzy +#~ msgid "Synchronize contacts" +#~ msgstr "Pakažy _adłučanyja kantakty" + +#~ msgid "Chan_ge Password" +#~ msgstr "Ź_miani parol" + +#, fuzzy +#~ msgid "Administration operations" +#~ msgstr "Śpis administrataraŭ" + +#, fuzzy +#~ msgid "Browse..." +#~ msgstr "_Prahladaj" + +#, fuzzy +#~ msgid "Certificate is e_ncrypted" +#~ msgstr "[Hetaje paviedamleńnie zašyfravanaje]" + +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "" +#~ "Kali ŭklučanaja hetaja opcyja, Gajim budzie aŭtamatyčna dałučacca da " +#~ "servera praz hety kont" + +#, fuzzy +#~ msgid "Synchronize logs with server" +#~ msgstr "Pakažy _adłučanyja kantakty" + +#~ msgid "Synch_ronize account status with global status" +#~ msgstr "_Synchranizuj status kontu z glabalnym statusam" + +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "Kali ŭklučanaja hetaja opcyja, to źmieny glabalnaha statusu (z menu " +#~ "ŭnizie śpisu kantaktaŭ) buduć upłyvać na status hetaha kontu" + +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "Kali ŭklučanaja hetaja opcyja, Gajim zojmie dadatkovyja adrasy IP, kab " +#~ "pieradača fajłaŭ było šparčejšym." + +#, fuzzy +#~ msgid "Proxy" +#~ msgstr "Ułaścivaści" + +#, fuzzy +#~ msgid "Send _keep-alive packets" +#~ msgstr "Dasyłaj pravieračnyja infarmacyjnyja pakiety" + +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "" +#~ "Kali ŭklučanaja hetaja opcyja, Gajim budzie dasyłać infarmacyjnyja " +#~ "pakiety dziela zapeŭnivańnia servera ŭ tym, što złučeńnie " +#~ "vykarystoŭvajecca" + +#, fuzzy +#~ msgid "Use cust_om hostname/port" +#~ msgstr "Skarystaj admysłovy host/port" + +#, fuzzy +#~ msgid "_Hostname: " +#~ msgstr "Nazva hosta: " + +#, fuzzy +#~ msgid "_Port: " +#~ msgstr "_Port:" + +#~ msgid "Choose _Key..." +#~ msgstr "Abiary _kluč..." + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "" +#~ "Kali ŭklučanaja hetaja opcyja, Gajim zapomnić parol dla hetaha kontu" + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#, fuzzy +#~ msgid "_Edit Personal Information..." +#~ msgstr "Źmiani asabistyja źviestki..." + +#~ msgid "Personal Information" +#~ msgstr "Asabistyja źviestki" + +#, fuzzy +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "_Zlučajsia pry starcie Gajim" + +#, fuzzy +#~ msgid "Synchroni_ze account status with global status" +#~ msgstr "_Synchranizuj status kontu z glabalnym statusam" + +#, fuzzy +#~ msgid "Use cust_om port:" +#~ msgstr "Užyvaj admysłovy port:" + +#~ msgid "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." +#~ msgstr "" +#~ "Kali zvyčajny port dla ŭvachodnych paviedamleńniaŭ nie pasuje, možaš " +#~ "vybrać inšy.\n" +#~ "Taksama moža spatrebicca źmianić nałady firewalla." + +#, fuzzy +#~ msgid "OpenPGP is not usable on this computer" +#~ msgstr "Nielha vykarystać OpenPGP na hetym kamputary" + +#~ msgid "To change the account name, you must be disconnected." +#~ msgstr "Kab źmianić nazvu kontu, treba pieradałučycca." + +#~ msgid "To change the account name, you must read all pending events." +#~ msgstr "Kab źmianić nazvu kontu, treba pračytać usie novyja paviedamleńni." + +#~ msgid "Account Name Already Used" +#~ msgstr "Taki kont užo zaniaty" + +#~ msgid "Account name cannot be empty." +#~ msgstr "Nazva kontu nia moža być pustoj." + +#~ msgid "Account name cannot contain spaces." +#~ msgstr "Nazva kontu nia moža ŭtrymlivać prabiełaŭ." + +#, fuzzy +#~ msgid "Enter a new name for account %s" +#~ msgstr "Vyznač novuju nazvu dla hrupy %s" + +#, fuzzy +#~ msgid "A JID must be in the form \"user@servername\"." +#~ msgstr "JID musić mieć formu \"user@servername\"." + +#~ msgid "No such account available" +#~ msgstr "Takoha kontu niama" + +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "Treba stvaryć kont, kab redahavać asabistyja źviestki." + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "" +#~ "Nie złučyŭšysia z serveram, niemahčyma źmianiać asabistyja źviestki." + +#~ msgid "Your server can't save your personal information." +#~ msgstr "Server nia moža zachoŭvać asabistyja źviestki." + +#~ msgid "Please rename or remove it before enabling link-local messaging." +#~ msgstr "" +#~ "Kali łaska, źmiani nazvu albo vydal jaho pierad uklučeńniem miascovych " +#~ "paviedamleńniaŭ." + +#~ msgid "THANKS:" +#~ msgstr "PADZIAKI:" + +#~ msgid "Could not write to %s. Session Management support will not work" +#~ msgstr "Niemahčyma zapisać u %s. Kiravańnie sesijami nia budzie dziejničać" + +#~ msgid "Jabber Traffic" +#~ msgstr "Trafik Jabber" + +#, fuzzy +#~ msgid "_Enable" +#~ msgstr "Ukluč" + +#, fuzzy +#~ msgid "Filter" +#~ msgstr "Huki" + +#~ msgid "_IQ" +#~ msgstr "_IQ" + +#~ msgid "Info/Query" +#~ msgstr "Źviestki/Apytańnie (Info/Query)" + +#~ msgid "XML Input" +#~ msgstr "Uvod XML" + +#~ msgid "XML Console for %s" +#~ msgstr "Kansol XML dla %s" + +#, fuzzy +#~ msgid "Idle for:" +#~ msgstr "Kansol XML dla %s" + +#~ msgid "Last status: %s" +#~ msgstr "Apošni status: %s" + +#~ msgid " since %s" +#~ msgstr " ad %s" + +#~ msgid "since %s" +#~ msgstr "ad %s" + +#, fuzzy +#~ msgid "Prefer" +#~ msgstr "Nałady" + +#, fuzzy +#~ msgid "Auto" +#~ msgstr "Aŭtamatyčna dałučajsia" + +#, fuzzy +#~ msgid "otr" +#~ msgstr "_Host:" + +#, fuzzy +#~ msgid "Invalid expire value" +#~ msgstr "Niapravilnaje imia karystalnika" + +#~ msgid "How many minutes should last lines from previous conversation last." +#~ msgstr "" +#~ "Kolki chvilinaŭ z apošniaj razmovy zapaminać i pakazvać u znoŭ adčynienym " +#~ "aknie." + +#~ msgid "You will be connected to %s without OpenPGP." +#~ msgstr "Ty dałučyśsia da %s biaz OpenPGP." + +#, fuzzy +#~ msgid "The following message was NOT encrypted" +#~ msgstr "[Hetaje paviedamleńnie zašyfravanaje]" + +#~ msgid "Toggle Open_PGP Encryption" +#~ msgstr "Uklučy/Adklučy šyfravańnie Open_PGP" + +#, fuzzy +#~ msgid "Toggle End to End Encryption" +#~ msgstr "Uklučy/Adklučy šyfravańnie Open_PGP" + +#, fuzzy +#~ msgid "OpenPGP encryption enabled" +#~ msgstr "Šyfravańnie ŭklučanaje" + +#, fuzzy +#~ msgid "The following message was encrypted" +#~ msgstr "[Hetaje paviedamleńnie zašyfravanaje]" + +#, fuzzy +#~ msgid "Toggle the OpenPGP encryption" +#~ msgstr "Uklučy/Adklučy šyfravańnie Open_PGP" + +#, fuzzy +#~ msgid "[This message is *encrypted* (See :XEP:`27`]" +#~ msgstr "[Hetaje paviedamleńnie *zašyfravanaje* (Hladzi :JEP:`27`]" + +#~ msgid "" +#~ "If True, listen to D-Bus signals from NetworkManager and change the " +#~ "status of accounts (provided they do not have listen_to_network_manager " +#~ "set to False and they sync with global status) based upon the status of " +#~ "the network connection." +#~ msgstr "" +#~ "Kali hetaja opcyja maje vartaść True, čakaj syhnałaŭ D-Bus ad " +#~ "NetworkManager i źmianiaj status kontaŭ (dla jakich opcyja " +#~ "listen_to_network_manager nia maje vartaści False i jakija " +#~ "synchranizujucca z hlabalnym stanam) zhodna statusu sietkavaha złučeńnia." + +#, fuzzy +#~ msgid "Database cannot be read." +#~ msgstr "Nazva kontu nia moža być pustoj." + +#, fuzzy +#~ msgid "Smooth scroll message in conversation window" +#~ msgstr "Dašli paviedamleńnie i začyni akno" + +#, fuzzy +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "_Śpisy pryvatnaści" + +#~ msgid "_Administrator" +#~ msgstr "_Administratar" + +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "Dašli paviedamleńnie karystalnikam, dałučanym da servera" + +#~ msgid "Sets Message of the Day" +#~ msgstr "Vyznač paviedamleńnie dniu" + +#~ msgid "Updates Message of the Day" +#~ msgstr "Aktualizuj paviedamleńnie dniu" + +#~ msgid "Deletes Message of the Day" +#~ msgstr "Vydal paviedamleńnie dniu" + +#, fuzzy +#~ msgid "Add _Contact..." +#~ msgstr "_Dadaj kantakt..." + +#~ msgid "Profile, A_vatar" +#~ msgstr "Profil, a_vatar" + +#~ msgid "File _Transfers" +#~ msgstr "Pieradačy _fajłaŭ" + +#~ msgid "Help online" +#~ msgstr "Dapamoha online" + +#~ msgid "Frequently Asked Questions (online)" +#~ msgstr "Častyja pytańni (online)" + +#, fuzzy +#~ msgid "Fea_tures" +#~ msgstr "Zdolnaści serveraŭ" + +#~ msgid "to %s account" +#~ msgstr "da kontu %s" + +#~ msgid "using %s account" +#~ msgstr "praz kont %s" + +#~ msgid "of account %s" +#~ msgstr "kontu %s" + +#~ msgid "for account %s" +#~ msgstr "dla kontu %s" + +#~ msgid "" +#~ "By removing this contact you also remove authorization resulting in him " +#~ "or her always seeing you as offline." +#~ msgstr "" +#~ "Vydaliŭšy hety kantakt, ty taksama anuluješ jahonuju aŭtaryzacyju. U " +#~ "vyniku jon zaŭsiody budzie bačyć ciabie adłučanym." + +#~ msgid "Invalid Jabber ID" +#~ msgstr "Niapravilny JID" + +#~ msgid "This file is being used by another process." +#~ msgstr "Hety fajł vykarystoŭvajecca inšym pracesam." + +#~ msgid "pgp key" +#~ msgstr "kluč pgp" + +#~ msgid "" +#~ "Sends new single message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Dasyłaje novaje asobnaje paviedamleńnie kantaktu sa śpisu kantaktaŭ. Kluč " +#~ "OpenPGP i kont nie abaviazkovyja dla akreśleńnia. Kali chočaš akreślić " +#~ "tolki 'kont', biez 'kluča OpenPGP', tady prosta akreśli 'kluč OpenPGP' " +#~ "jak ''." + +#, fuzzy +#~ msgid "Please first choose another theme as your current theme." +#~ msgstr "Kali łaska, zadziejničaj spačatku inšuju temu." + +#~ msgid "Your passphrase is incorrect" +#~ msgstr "Parol niapravilny" + +#, fuzzy +#~ msgid "OpenPGP Passphrase Incorrect" +#~ msgstr "Parol niapravilny" + +#~ msgid "You successfully received %(filename)s from %(name)s." +#~ msgstr "Atrymany fajł %(filename)s ad %(name)s." + +#, fuzzy +#~ msgid "Set logs directory" +#~ msgstr "stvarajecca kataloh %s" + +#~ msgid "_Manage Bookmarks..." +#~ msgstr "_Kiruj zakładkami..." + +#~ msgid "Change Status Message..." +#~ msgstr "Źmiani paviedamleńnie statusu..." + +#~ msgid "_Change Status Message..." +#~ msgstr "Ź_miani paviedamleńnie statusu..." + +#~ msgid "" +#~ "You are not interested in the contact's presence, and neither he/she is " +#~ "interested in yours" +#~ msgstr "Ty i hety kantakt nie cikaviciesia statusam adno adnaho" + +#~ msgid "Error description..." +#~ msgstr "Apisańnie pamyłki..." + +#, fuzzy +#~ msgid "View contact information (Ctrl+I)" +#~ msgstr "sočyć za razmovaj" + +#, fuzzy +#~ msgid "All Chat Histories" +#~ msgstr "Старыя казкі" + +#~ msgid "More" +#~ msgstr "Bolš" + +#~ msgid "creating %s directory" +#~ msgstr "stvarajecca kataloh %s" + +#, fuzzy +#~ msgid "" +#~ "If True, Gajim will use KDE Wallet (if kwalletcli is available) to store " +#~ "account passwords." +#~ msgstr "" +#~ "Kali opcyja maje vartaść True, Gajim budzie zachoŭvać paroli z dapamohaj " +#~ "Kiraŭnika parolaŭ GNOME (kali jość mahčymaść)." + +#~ msgid "%s is not the name of a group chat." +#~ msgstr "Naźvie %s nie adpaviadaje nivodny pakoj." + +#, fuzzy +#~ msgid "Session Management" +#~ msgstr "Paviedamleńnie dasłanaje" + +#~ msgid "Gajim needs X server to run. Quiting..." +#~ msgstr "Gajimu patrebny X-server. Vychad..." + +#, fuzzy +#~ msgid "Gajim needs PyGTK 2.22 or above" +#~ msgstr "Gajimu treba PyGTK 2.6 albo paźniejšaj versii" + +#, fuzzy +#~ msgid "Gajim needs PyGTK 2.22 or above to run. Quiting..." +#~ msgstr "Gajimu treba PyGTK 2.6 albo paźniejšaj versii. Vychad..." + +#, fuzzy +#~ msgid "Gajim needs GTK 2.22 or above" +#~ msgstr "Gajimu treba GTK 2.6 albo paźniejšaj versii" + +#, fuzzy +#~ msgid "Gajim needs GTK 2.22 or above to run. Quiting..." +#~ msgstr "Gajimu treba GTK 2.6 albo paźniejšaj versii. Vychad..." + +#~ msgid "Gajim needs pywin32 to run" +#~ msgstr "Gajimu treba pywin32" + +#~ msgid "" +#~ "Please make sure that Pywin32 is installed on your system. You can get it " +#~ "at %s" +#~ msgstr "" +#~ "kali łaska, pravier, ci instalavanaja biblijateka Pywin32. Jaje možna " +#~ "ściahnuć z %s" + +#~ msgid "Gajim is already running" +#~ msgstr "Gajim užo vykonvajecca" + +#~ msgid "" +#~ "Another instance of Gajim seems to be running\n" +#~ "Run anyway?" +#~ msgstr "" +#~ "Gajim užo vykonvajecca\n" +#~ "Usio adno ŭruchomić?" + +#~ msgid "A programming error has been detected" +#~ msgstr "Znojdziena pamyłka prahramistaŭ" + +#~ msgid "Details" +#~ msgstr "Padrabiaznaści" + +#, fuzzy +#~ msgid "" +#~ "Gnome Keyring is installed but not correctly started (environment " +#~ "variable probably not correctly set)" +#~ msgstr "" +#~ "Kiraŭnik parolaŭ GNOME instalavany, ale niapravilna vykonvajecca " +#~ "(mahčyma, źmiennaja asiarodździa niapravilna akreślenaja)" + +#~ msgid "Jabber ID: " +#~ msgstr "JID:" + +#~ msgid "Resource: " +#~ msgstr "Krynica: " + +#~ msgid "Subscription: " +#~ msgstr "Aŭtaryzacyja: " + +#, fuzzy +#~ msgid "Mood: " +#~ msgstr "Pakoj:" + +#, fuzzy +#~ msgid "Activity: " +#~ msgstr "Dziejny" + +#, fuzzy +#~ msgid "Check on startup if Gajim is the _default Jabber client" +#~ msgstr "" +#~ "Zaŭsiody pry starcie praviaraj, ci pryznačany Gajim _zmoŭčanym klijentam " +#~ "Jabber" + +#~ msgid "" +#~ "If True, Gajim will check if it's the default jabber client on each " +#~ "startup." +#~ msgstr "" +#~ "Kali opcyja maje vartaść True, Gajim budzie praviarać, ci akreśleny jon " +#~ "jak zmoŭčany klijent Jabber." + +#~ msgid "Gajim is not the default Jabber client" +#~ msgstr "Gajim nie akreśleny jak zmoŭčany klijent Jabber" + +#~ msgid "Would you like to make Gajim the default Jabber client?" +#~ msgstr "Chočaš zrabić Gajim zmoŭčanym klijentam Jabber?" + +#~ msgid "Always check to see if Gajim is the default Jabber client on startup" +#~ msgstr "Zaŭsiody praviaraj, ci akreśleny Gajim jak zmoŭčany klijent Jabber" + +#~ msgid "Execute Command..." +#~ msgstr "Vykanaj zahad..." + +#~ msgid " a window/tab opened with that contact " +#~ msgstr " akno/kartka razmovy z hetym kantaktam adčynienaja " + +#~ msgid "Actions" +#~ msgstr "Dziejańni" + +#~ msgid "Conditions" +#~ msgstr "Umovy" + +#~ msgid "Advanced Notifications Control" +#~ msgstr "Pašyranyja nałady nahadvańnia" + +#~ msgid "Busy " +#~ msgstr "Zaniaty" + +#, fuzzy +#~ msgid "Contact Change Status " +#~ msgstr "Kantakt źmianiŭ status" + +#~ msgid "Don't have " +#~ msgstr "Razmaŭlaju " + +#, fuzzy +#~ msgid "File Transfer Started " +#~ msgstr "Pieradača fajłu spyniena" + +#, fuzzy +#~ msgid "Group Chat Message Highlight " +#~ msgstr "Padśviatleńnie paviedamleńnia ŭ pakoji" + +#, fuzzy +#~ msgid "Group Chat Message Received " +#~ msgstr "Novaje paviedamleńnie ŭ pakoji" + +#~ msgid "Launch a command" +#~ msgstr "Vykanaj zahad" + +#~ msgid "One or more special statuses..." +#~ msgstr "Adzin ci niekalki admysłovych statusaŭ..." + +#~ msgid "Online / Free For Chat" +#~ msgstr "Dałučany / Achvotna parazmaŭlaju" + +#~ msgid "Play a sound" +#~ msgstr "Ahuč" + +#~ msgid "When " +#~ msgstr "Kali " + +#~ msgid "" +#~ "_Activate window manager's UrgencyHint to make chat window in taskbar " +#~ "flash" +#~ msgstr "_Mirgaj vyjavaj na paneli zadańniaŭ" + +#~ msgid "_Disable auto opening chat window" +#~ msgstr "_Nie adčyniaj aŭtamatyčna voknaŭ razmovy" + +#~ msgid "_Disable existing popup window" +#~ msgstr "_Nie pakazvaj vypłyŭnych voknaŭ" + +#~ msgid "_Disable existing sound for this event" +#~ msgstr "_Nie ahučvaj hetaj padzieji" + +#, fuzzy +#~ msgid "_Disable showing event in notification area" +#~ msgstr "_Nie pakazvać paviedamleńniaŭ u śpisie kantaktaŭ" + +#~ msgid "_Disable showing event in roster" +#~ msgstr "_Nie pakazvać paviedamleńniaŭ u śpisie kantaktaŭ" + +#~ msgid "_Inform me with a popup window" +#~ msgstr "_Paviedam mnie ŭ vypłyŭnym aknie" + +#~ msgid "_Open chat window with user" +#~ msgstr "_Adčyni akno razmovy z karystalnikam" + +#~ msgid "_Show event in roster" +#~ msgstr "_Pakazvaj padzieju ŭ śpisie kantaktaŭ" + +#~ msgid "and I " +#~ msgstr "u časie, kali " + +#, fuzzy +#~ msgid "contact(s)" +#~ msgstr "Kantakty" + +#~ msgid "for " +#~ msgstr "dla " + +#, fuzzy +#~ msgid "group(s)" +#~ msgstr "Hrupa" + +#~ msgid "when I'm in" +#~ msgstr "kali maju " + +#~ msgid "_Allow him/her to see my status" +#~ msgstr "Dazvol jamu/joj _bačyć moj status" + +#, fuzzy +#~ msgid "Descrition:" +#~ msgstr "Apisańnie: %s" + +#, fuzzy +#~ msgid "Advanced..." +#~ msgstr "Pašyranyja" + +#, fuzzy +#~ msgid "Display _activity of contacts in roster" +#~ msgstr "Pakazvaj a_vatary kantaktaŭ u śpisie kantaktaŭ" + +#, fuzzy +#~ msgid "Display _tunes of contacts in roster" +#~ msgstr "Pakazvaj a_vatary kantaktaŭ u śpisie kantaktaŭ" + +#, fuzzy +#~ msgid "Display m_ood of contacts in roster" +#~ msgstr "Pakazvaj a_vatary kantaktaŭ u śpisie kantaktaŭ" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will display the activity of contacts in the roster " +#~ "window" +#~ msgstr "" +#~ "Kali ŭklučanaja hetaja opcyja, Gajim budzie pakazvać avatary kantaktaŭ u " +#~ "śpisie kantaktaŭ i ŭ pakojach" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will display the location of contacts in the roster " +#~ "window" +#~ msgstr "" +#~ "Kali ŭklučanaja hetaja opcyja, Gajim budzie pakazvać avatary kantaktaŭ u " +#~ "śpisie kantaktaŭ i ŭ pakojach" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will display the tunes of contacts in the roster window" +#~ msgstr "" +#~ "Kali ŭklučanaja hetaja opcyja, Gajim budzie pakazvać avatary kantaktaŭ u " +#~ "śpisie kantaktaŭ i ŭ pakojach" + +#~ msgid "Gajim Instant Messenger" +#~ msgstr "Kamunikatar Gajim" + +#~ msgid "English" +#~ msgstr "Anhielskaja" + +#~ msgid "Belarusian" +#~ msgstr "Biełaruskaja" + +#~ msgid "Bulgarian" +#~ msgstr "Baŭharskaja" + +#, fuzzy +#~ msgid "Breton" +#~ msgstr "Brytonskaja" + +#~ msgid "Czech" +#~ msgstr "Českaja" + +#~ msgid "German" +#~ msgstr "Niamieckaja" + +#~ msgid "Greek" +#~ msgstr "Hreckaja" + +#~ msgid "British" +#~ msgstr "Brytanskaja" + +#~ msgid "Esperanto" +#~ msgstr "Esperanto" + +#~ msgid "Spanish" +#~ msgstr "Hišpanskaja" + +#~ msgid "French" +#~ msgstr "Francuzkaja" + +#~ msgid "Croatian" +#~ msgstr "Charvackaja" + +#~ msgid "Italian" +#~ msgstr "Italijskaja" + +#~ msgid "Norwegian (b)" +#~ msgstr "Narveskaja (b)" + +#~ msgid "Dutch" +#~ msgstr "Halandzkaja" + +#~ msgid "Norwegian" +#~ msgstr "Narveskaja" + +#~ msgid "Polish" +#~ msgstr "Polskaja" + +#~ msgid "Portuguese" +#~ msgstr "Partuhalskaja" + +#~ msgid "Brazilian Portuguese" +#~ msgstr "Brazilskaja partuhalskaja" + +#~ msgid "Russian" +#~ msgstr "Rasiejskaja" + +#~ msgid "Serbian" +#~ msgstr "Serbskaja" + +#~ msgid "Slovak" +#~ msgstr "Słavackaja" + +#~ msgid "Swedish" +#~ msgstr "Švedzkaja" + +#~ msgid "Chinese (Ch)" +#~ msgstr "Kitajskaja (Ch)" + +#~ msgid "Spelling language" +#~ msgstr "Mova spraŭdžvańnia pravapisu" + +#~ msgid "all or space separated status" +#~ msgstr "\"all\" albo statusy, padzielenyja prabiełami" + +#~ msgid "'yes', 'no', or 'both'" +#~ msgstr "'yes', 'no' albo 'both'" + +#~ msgid "'yes', 'no' or ''" +#~ msgstr "'yes', 'no' albo ''" + +#~ msgid "Check your connection or try again later" +#~ msgstr "Pravier złučeńnie albo paŭtary paźniej" + +#~ msgid "error: cannot open %s for reading" +#~ msgstr "pamyłka: niemahčyma adčynić %s, kab adčytać" + +#~ msgid "Unable to bind to port %s." +#~ msgstr "Niemahčyma dałučycca da portu %s." + +#~ msgid "" +#~ "Maybe you have another running instance of Gajim. File Transfer will be " +#~ "cancelled." +#~ msgstr "" +#~ "Mahčyma, inšaja kopija Gajim užo vykonvajecca. Pieradača fajłaŭ " +#~ "anulavanaja." + +#~ msgid "A GTK+ jabber client" +#~ msgstr "Jabber-klijent dla GTK+" + +#~ msgid "Condition" +#~ msgstr "Umova" + +#~ msgid "when I am " +#~ msgstr "kali maju " + +#, fuzzy +#~ msgid "one of: offline, online, chat, away, xa, dnd, invisible " +#~ msgstr "adno z: offline, online, chat, away, xa, dnd, invisible " + +#, fuzzy +#~ msgid "" +#~ "Returns current status message(the global one unless account is specified)" +#~ msgstr "" +#~ "Viartaje dziejnaje paviedamleńnie statusu (hlabalnaha, kali nie akreśleny " +#~ "kont)" + +#~ msgid "" +#~ "Usage: %s %s %s \n" +#~ "\t %s" +#~ msgstr "" +#~ "Užyvańnie: %s %s %s \n" +#~ "\t %s" + +#, fuzzy +#~ msgid "" +#~ "Too many arguments. \n" +#~ "Type \"%s help %s\" for more info" +#~ msgstr "" +#~ "Nadta šmat arhumentaŭ. \n" +#~ "Vykanaj \"%s help %s\" dla padrabiaźniejšych źviestak" + +#, fuzzy +#~ msgid "" +#~ "Argument \"%s\" is not specified. \n" +#~ "Type \"%s help %s\" for more info" +#~ msgstr "" +#~ "Arhument \"%s\" nie akreśleny. \n" +#~ "Vykanaj \"%s help %s\" dla padrabiaźniejšych źviestak" + +#~ msgid "Subject: %s" +#~ msgstr "Tema: %s" + +#, fuzzy +#~ msgid "Mood: %s" +#~ msgstr "Pakoj:" + +#, fuzzy +#~ msgid "Activity: %s" +#~ msgstr "Dziejny" + +#~ msgid "_Disable showing event in systray" +#~ msgstr "_Nie pakazvać padziejaŭ u poli nahadvańnia" + +#~ msgid "_Show event in systray" +#~ msgstr "_Pakazvaj padzieju ŭ poli nahadvańnia" + +#, fuzzy +#~ msgid "Autodetect on every Gajim startup" +#~ msgstr "_Zlučajsia pry starcie Gajim" + +#, fuzzy +#~ msgid "Show systray:" +#~ msgstr "_Pakazvaj padzieju ŭ poli nahadvańnia" + +#~ msgid "Nickname not allowed: %s" +#~ msgstr "Mianuška nie dazvolenaja: %s" + +#~ msgid "we are now subscribed to %s" +#~ msgstr "padpisany na %s" + +#~ msgid "we are now unsubscribed from %s" +#~ msgstr "ciapier adpisany ad %s" + +#~ msgid "Account Modification" +#~ msgstr "Madyfikacyja kontu" + +#~ msgid "" +#~ "Check this so Gajim will connect in port 5223 where legacy servers are " +#~ "expected to have SSL capabilities. Note that Gajim uses TLS encryption by " +#~ "default if broadcasted by the server, and with this option enabled TLS " +#~ "will be disabled" +#~ msgstr "" +#~ "Paznač hetuju opcyju, kali chočaš, kab Gajim złučaŭsia z serveram praz " +#~ "port 5223, praź jaki staryja servery dajuć mažlivaść vykarystańnia SSL. " +#~ "Zvažaj: Gajim zvyčajna vykarystoŭvaje šyfravańnie TLS, kali źviartajecca " +#~ "da servera, a hetaja opcyja adklučaje vykarystańnie TLS" + +#~ msgid "Edit Personal Information..." +#~ msgstr "Źmiani asabistyja źviestki..." + +#~ msgid "Hostname: " +#~ msgstr "Nazva hosta: " + +#~ msgid "" +#~ "If checked, Gajim will store the password in ~/.gajim/config with 'read' " +#~ "permission only for you" +#~ msgstr "" +#~ "Kali ŭklučanaja hetaja opcyja, Gajim budzie zachoŭvać parol u fajle ~/." +#~ "gajim/config z pravami na čytańnie tolki dla ciabie" + +#~ msgid "Port: " +#~ msgstr "Port: " + +#~ msgid "Save _passphrase (insecure)" +#~ msgstr "Zachavaj _parol (niebiaśpiečna)" + +#~ msgid "Use _SSL (legacy)" +#~ msgstr "Skarystaj _SSL (zastarełaja opcyja)" + +#~ msgid "" +#~ "Receive a Message\n" +#~ "Contact Disconnected \n" +#~ "Contact Change Status \n" +#~ "Group Chat Message Highlight \n" +#~ "Group Chat Message Received \n" +#~ "File Transfer Request \n" +#~ "File Transfer Started \n" +#~ "File Transfer Finished" +#~ msgstr "" +#~ "Atrymaŭ paviedamleńnie\n" +#~ "Kantakt adłučyŭsia \n" +#~ "Kantakt źmianiŭ status \n" +#~ "Padśvietlenaje paviedamleńnie ŭ hrupavoj razmovie \n" +#~ "Atrymaŭ hrupavoje paviedamleńnie \n" +#~ "Zapyt na pieradaču fajłu \n" +#~ "Pieradača fajłu pačałosia \n" +#~ "Pieradača fajłu skončyłasia" + +#~ msgid "" +#~ "contact(s)\n" +#~ "group(s)\n" +#~ "everybody" +#~ msgstr "" +#~ "kantakt(y)\n" +#~ "hrupa(y)\n" +#~ "kožny" + +#~ msgid "" +#~ "Account row\n" +#~ "Group row\n" +#~ "Contact row\n" +#~ "Chat Banner" +#~ msgstr "" +#~ "Kont\n" +#~ "Hrupa\n" +#~ "Kantakt\n" +#~ "Baner" + +#, fuzzy +#~ msgid "gtk-delete" +#~ msgstr "Vydal" + +#~ msgid "" +#~ "All chat states\n" +#~ "Composing only\n" +#~ "Disabled" +#~ msgstr "" +#~ "Usie stany razmovy\n" +#~ "Tolki datyčnyja pisańnia\n" +#~ "Adklučana" + +#, fuzzy +#~ msgid "" +#~ "Autodetect on every Gajim startup\n" +#~ "Always use GNOME default applications\n" +#~ "Always use KDE default applications\n" +#~ "Always use Xfce default applications\n" +#~ "Custom" +#~ msgstr "" +#~ "Aŭtamatyčna vyznačać pry kožnym starcie Gajim\n" +#~ "Zaŭsiody karystacca prahramami, pryznačanymi dla GNOME\n" +#~ "Zaŭsiody karystacca prahramami, pryznačanymi dla KDE\n" +#~ "Inšyja" + +#~ msgid "" +#~ "none\n" +#~ "both\n" +#~ "from\n" +#~ "to" +#~ msgstr "" +#~ "niama\n" +#~ "abiedźvie\n" +#~ "ad\n" +#~ "da" + +#, fuzzy +#~ msgid "gtk-cancel" +#~ msgstr "Vydal" + +#~ msgid "pysqlite2 (aka python-pysqlite2) dependency is missing. Exiting..." +#~ msgstr "Nie staje pysqlite2 (python-pysqlite2) dla vykananaja. Vychad..." + +#~ msgid "GTK+ runtime is missing libglade support" +#~ msgstr "Biblijateka GTK+ nie padtrymvaje libglade" + +#~ msgid "" +#~ "Please remove your current GTK+ runtime and install the latest stable " +#~ "version from %s" +#~ msgstr "" +#~ "Kali łaska, vydal biblijateku GTK+ i zainstaluj najnoŭšuju stabilnuju " +#~ "versiju z %s" + +#~ msgid "" +#~ "Please make sure that GTK+ and PyGTK have libglade support in your system." +#~ msgstr "" +#~ "Kali łaska, pravier, ci padtrymvajuć srodki libpango biblijateki GTK+ i " +#~ "PyGTK." + +#~ msgid "Gajim needs PySQLite2 to run" +#~ msgstr "Gajimu treba PySQLite2" + +#, fuzzy +#~ msgid "gtk-ok" +#~ msgstr "gtk+" + +#, fuzzy +#~ msgid "" +#~ "The host %s you configured as the ft_add_hosts_to_send advanced option is " +#~ "not valid, so ignored." +#~ msgstr "" +#~ "Host, akreśleny ŭ opcyi ft_override_host_to_send, niapravilny, tamu " +#~ "ihnarujecca." + +#~ msgid "OpenPGP passphrase was not given" +#~ msgstr "Parol OpenPGP nia vyznačany" + +#~ msgid "" +#~ "To continue sending and receiving messages, you will need to reconnect." +#~ msgstr "Kab paciahnuć kamunikacyju, treba ŭruchomić Gajim nanoŭ." + +#~ msgid "" +#~ "You are not connected or not visible to others. Your message could not be " +#~ "sent." +#~ msgstr "Ty nie dałučany albo niebačny. Ty nia možaš dasyłać paviedamleńni." + +#~ msgid "Add Special _Notification" +#~ msgstr "Dadaj admysłovaje _nahadvańnie" + +#~ msgid "Assign Open_PGP Key" +#~ msgstr "Pryznač kluč Open_PGP" + +#, fuzzy +#~ msgid "" +#~ "Usage: /%(command)s , sends action to the current group chat. Use " +#~ "third person. (e.g. /%(command)s explodes.)" +#~ msgstr "" +#~ "Užyvańnie: /%s , dasyłaje dziejańnie ŭ dziejny pakoj (ad " +#~ "treciaj asoby). (naprykład, /%s rahoča, jak koń.)" + +#~ msgid "No help info for /%s" +#~ msgstr "Niama daviedki pa /%s" + +#~ msgid "Enable link-local/zeroconf messaging" +#~ msgstr "Uklučy lakalnyja paviedamleńni praz Zeroconf" + +#~ msgid "Nickname not found: %s" +#~ msgstr "Mianuška nia znojdziena: %s" + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s [reason], bans the JID from the group chat. The " +#~ "nickname of an occupant may be substituted, but not if it contains \"@\". " +#~ "If the JID is currently in the group chat, he/she/it will also be kicked." +#~ msgstr "" +#~ "Užyvańnie: /%s [pryčyna], blakuje JID dla pakoju. Mianušku " +#~ "možna źmianić, kali jana nia ŭtrymlivaje znaka \"@\". Kali JID jašče " +#~ "znachodzicca ŭ pakoji, jon budzie vypchnuty preč. Prabieły ŭ mianuškach " +#~ "nie padtrymvajucca." + +#~ msgid "" +#~ "Usage: /%s [reason], closes the current window or tab, displaying reason " +#~ "if specified." +#~ msgstr "" +#~ "Užyvańnie: /%s [pryčyna], začyniaje dziejnaje akno albo kartku, pakazaŭšy " +#~ "akreślenuju pryčynu." + +#~ msgid "" +#~ "Usage: /%s [reason], invites JID to the current group chat, " +#~ "optionally providing a reason." +#~ msgstr "" +#~ "Užyvańnie: /%s [pryčyna], zaprašaje JID u dziejny pakoj, z " +#~ "akreślenym tłumačeńniem." + +#~ msgid "" +#~ "Usage: /%s @[/nickname], offers to join room@server " +#~ "optionally using specified nickname." +#~ msgstr "" +#~ "Užyvańnie: /%s @[/mianuška], dałučajecca da pakoju " +#~ "pakoj@server z akreślenaj mianuškaj." + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s [reason], removes the occupant specified by " +#~ "nickname from the group chat and optionally displays a reason." +#~ msgstr "" +#~ "Užyvańnie: /%s [pryčyna], vypichvaje asobu z takoj mianuškaj z " +#~ "pakoju z akreślenaj pryčynaj. Prabieły ŭ mianuškach nie padtrymvajucca." + +#~ msgid "" +#~ "Usage: /%s [message], opens a private message window and sends " +#~ "message to the occupant specified by nickname." +#~ msgstr "" +#~ "Užyvańnie: /%s [paviedamleńnie], adčyniaje akno pryvatnaj " +#~ "razmovy i dasyłaje paviedamleńnie asobie z akreślenaj mianuškaj." + +#~ msgid "Usage: /%s , changes your nickname in current group chat." +#~ msgstr "" +#~ "Užyvańnie: /%s , źmianiaje tvaju mianušku dla dziejnaja pakoju." + +#~ msgid "" +#~ "Usage: /%s [topic], displays or updates the current group chat topic." +#~ msgstr "" +#~ "Užyvańnie: /%s [tema], pakazvaje albo aktualizuje dziejnuju temu pakoju." + +#~ msgid "" +#~ "Usage: /%s , sends a message without looking for other commands." +#~ msgstr "" +#~ "Užyvańnie: /%s , dasyłaje paviedamleńnie, nie šukajučy " +#~ "inšych zahadaŭ." + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s , allow to send you messages and private " +#~ "messages." +#~ msgstr "" +#~ "Užyvańnie: /%s , źmianiaje tvaju mianušku dla dziejnaja pakoju." + +#~ msgid "Click to see features (like MSN, ICQ transports) of jabber servers" +#~ msgstr "" +#~ "Pstykni, kab pahladzieć zdolnaści serveraŭ Jabber (naprykład, šluzy MSN, " +#~ "ICQ)" + +#~ msgid "Modify Account" +#~ msgstr "Madyfikuj kont" + +#, fuzzy +#~ msgid "" +#~ "%(title)s by %(artist)s\n" +#~ "from %(source)s" +#~ msgstr "\"%(title)s\" ŭ vykanańni %(artist)s" + +#~ msgid "Gajim account %s" +#~ msgstr "Kont Gajim %s" + +#~ msgid "This account is already configured in Gajim." +#~ msgstr "Hety kont užo naładžany dla Gajim." + +#, fuzzy +#~ msgid "Idle" +#~ msgstr "Identyfikatar" + +#~ msgid "File transfer stopped by the contact at the other end" +#~ msgstr "Pieradača fajłu spyniena inšym bokam" + +#, fuzzy +#~ msgid "Generic" +#~ msgstr "Ahulnaja" + +#~ msgid "%s has not broadcast an OpenPGP key, nor has one been assigned" +#~ msgstr "" +#~ "%s nie dasłaŭ svajho kluča OpenPGP, a ty taksama nie pryznačyŭ na jaho " +#~ "kluča" + +#~ msgid "No such command: /%s (if you want to send this, prefix it with /say)" +#~ msgstr "" +#~ "Takoha zahadu niama: /%s (kali chočaš dasłać hety tekst jak " +#~ "paviedamleńnie, ustaŭ pierad im \"/say\")" + +#~ msgid "" +#~ "Usage: /%s , sends action to the current group chat. Use third " +#~ "person. (e.g. /%s explodes.)" +#~ msgstr "" +#~ "Užyvańnie: /%s , dasyłaje dziejańnie ŭ dziejny pakoj (ad " +#~ "treciaj asoby). (naprykład, /%s rahoča, jak koń.)" + +#~ msgid "_Retype Password:" +#~ msgstr "Paŭta_ry parol:" + +#~ msgid "" +#~ "If checked, all local contacts that use a Bonjour compatible chat client " +#~ "(like iChat, Trillian or Gaim) will be shown in roster. You don't need to " +#~ "be connected to a jabber server for it to work.\n" +#~ "This is only available if python-avahi is installed and avahi-daemon is " +#~ "running." +#~ msgstr "" +#~ "Kali ŭklučanaja hetaja opcyja, usie lakalnyja kantakty, jakija " +#~ "karystajucca prahramaj z zdolnaściami pratakołu Bonjour (naprykład, " +#~ "iChat, Trillian, Gaim), buduć pakazanyja ŭ śpisie kantaktaŭ. Dla hetaha " +#~ "tabie nia treba navat złučacca z serveram Jabber.\n" +#~ "Hetaja zdolnaść budzie pracavać tolki z ustalavanym python-avahi i " +#~ "servisam avahi-daemon." + +#~ msgid "" +#~ "If you have 2 or more accounts and this is checked, Gajim will list all " +#~ "contacts as if you had one account" +#~ msgstr "" +#~ "Kali ŭ ciabie niekalki kontaŭ, Gajim budzie pakazvać usie kantakty ŭ " +#~ "adzinym śpisie" + +#~ msgid "_Enable link-local messaging" +#~ msgstr "_Uklučy miascovyja paviedamleńni" + +#~ msgid "_Compact View Alt+C" +#~ msgstr "_Kampaktny vyhlad Alt+K" + +#~ msgid "Click to see past conversation in this room" +#~ msgstr "Klikni, kab pahladzieć tekst minułych razmoŭ u hetym pakoji" + +#~ msgid "Build custom query" +#~ msgstr "Stvary admysłovy zapyt" + +#~ msgid "Query Builder..." +#~ msgstr "Stvaralnik zapytaŭ..." + +#~ msgid "Invitation Received" +#~ msgstr "Atrymanaje zaprašeńnie" + +#~ msgid "Format of a line" +#~ msgstr "Farmat radka" + +#~ msgid "Interface Customization" +#~ msgstr "Asabistaja kanfihuracyja interfejsu" + +#~ msgid "Also known as iChat style" +#~ msgstr "Taksama viadomy jak styl iChat" + +#~ msgid "" +#~ "An example: If you have enabled status message for away, Gajim won't ask " +#~ "you anymore for a status message when you change your status to away; it " +#~ "will use the default one set here" +#~ msgstr "" +#~ "Naprykład, kali ty ŭžo ŭklučyŭ paviedamleńnie statusu dla stany Adyjšoŭ, " +#~ "tady Gajim bolš nia budzie pytacca paćvierdžańnia hetaha tekstu" + +#~ msgid "" +#~ "Determined by sender\n" +#~ "Chat message\n" +#~ "Single message" +#~ msgstr "" +#~ "Vyznačaje adpraŭnik\n" +#~ "Razmova\n" +#~ "Asobnaje paviedamleńnie" + +#~ msgid "E_very 5 minutes" +#~ msgstr "_Kožnyja 5 chvilinaŭ" + +#, fuzzy +#~ msgid "" +#~ "Gajim will automatically show new events by popping up the relevant window" +#~ msgstr "" +#~ "Gajim budzie aŭtamatyčna pakazvać novyja paviedamleńni ŭ adpaviednym aknie" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed in" +#~ msgstr "" +#~ "Gajim budzie paviedamlać ab dałučeńni kantaktaŭ da servera ŭ pravym " +#~ "nižnim kucie ekranu" + +#~ msgid "" +#~ "Gajim will only change the icon of the contact that triggered the new " +#~ "event" +#~ msgstr "Gajim tolki źmienić ikonu kantakta, jaki ŭčyniŭ novuju padzieju" + +#~ msgid "" +#~ "If checked, Gajim will remember the roster and chat window positions in " +#~ "the screen and the sizes of them next time you run it" +#~ msgstr "" +#~ "Kali ŭklučanaja hetaja opcyja, Gajim budzie zapaminać pazycyju i pamiery " +#~ "śpisu kantaktaŭ i voknaŭ razmoŭ i adnaŭlać ich pry nastupnym starcie" + +#~ msgid "" +#~ "Never\n" +#~ "Always\n" +#~ "Per account\n" +#~ "Per type" +#~ msgstr "" +#~ "Nikoli\n" +#~ "Zaŭsiody\n" +#~ "Dla kožnaha konta\n" +#~ "Dla kožnaha typu" + +#~ msgid "Outgoing Chat state noti_fications:" +#~ msgstr "Vysyłańnie paviedamleńnia ab stanie _razmovy:" + +#~ msgid "Print time:" +#~ msgstr "Pakazvaj čas:" + +#~ msgid "Save _position and size for roster and chat windows" +#~ msgstr "Zachoŭvaj _pazycyju i pamiery śpisu kantaktaŭ i voknaŭ razmovy" + +#~ msgid "Set status message to reflect currently playing _music track" +#~ msgstr "" +#~ "Vystaŭlaj paviedamleńnie statusu jak nazvu hranaj _muzyčnaj kampazycyi" + +#~ msgid "The auto away status message" +#~ msgstr "Aŭtamatyčnaje paviedamleńnie statusu \"Adyjšoŭ\"" + +#~ msgid "Treat all incoming messages as:" +#~ msgstr "Traktuj usie ŭvachodnyja paviedamleńni jak:" + +#~ msgid "" +#~ "When a new event (message, file transfer request etc..) is received, the " +#~ "following methods may be used to inform you about it. Please note that " +#~ "events about new messages only occur if it is a new message from a " +#~ "contact you are not already chatting with" +#~ msgstr "" +#~ "Mahčymyja nastupnyja varyjanty nahadvańnia ab ździajśnieńni novych " +#~ "padziejaŭ (ab paviedamleńniach, zapytach na pieradaču fajłaŭ i h.d.). " +#~ "Zvažaj, što atrymańnie novaha paviedamleńnia adbyvajecca tolki tady, kali " +#~ "ty atrymvaješ paviedamleńnie ad kantakta, ź jakim jašče na toj momant nia " +#~ "vioŭ razmovy" + +#~ msgid "" +#~ "Works for Rhythmbox and Muine players. For more players, please visit " +#~ "http://trac.gajim.org/wiki/GajimAndMusicPlayer" +#~ msgstr "" +#~ "Pracuje dla Rhythmbox i Muine. Dla inšych prahram hladzicie staronku " +#~ "http://trac.gajim.org/wiki/GajimAndMusicPlayer" + +#~ msgid "_Advanced Notifications Control..." +#~ msgstr "_Pašyranaje kiravańnie nahadvańniami..." + +#~ msgid "_Player:" +#~ msgstr "_Player:" + +#~ msgid "Role:" +#~ msgstr "Funkcyja:" + +#~ msgid "_Remove from Roster" +#~ msgstr "_Vydal ź śpisu kantaktaŭ" + +#~ msgid "A_ccounts" +#~ msgstr "_Konty" + +#~ msgid "OS:" +#~ msgstr "Aperacyjnaja systema:" + +#~ msgid "" +#~ "If that is not your language for which you want to highlight misspelled " +#~ "words, then please set your $LANG as appropriate. Eg. for French do " +#~ "export LANG=fr_FR or export LANG=fr_FR.UTF-8 in ~/.bash_profile or to " +#~ "make it global in /etc/profile.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "Kali heta nia taja mova, dla jakoj treba padśviatlać słovy z pamyłkami, " +#~ "vystaŭcie źmiennuju $LANG adpaviedna patrebam. naprykład, dla biełaruskaj " +#~ "movy źmiaścicie zahad export LANG=be_BY.UTF-8 u fajle ~/.bash_profile, " +#~ "albo hlabalna ŭ /etc/profile.\n" +#~ "\n" +#~ "Słovy z pamyłkami nie padśviatlajucca" + +#~ msgid "Every %s _minutes" +#~ msgstr "Praz kožnyja %s _chvilinaŭ" + +#~ msgid "You will always see him or her as offline." +#~ msgstr "" +#~ "Ciapier ty zaŭsiody budzieš bačyć status hetaha kantaktu jak adłučany." + +#~ msgid "%s is now %s (%s)" +#~ msgstr "%s maje ciapier status %s (%s)" + +#~ msgid "%s is now %s" +#~ msgstr "%s maje ciapier status %s" + +#~ msgid "" +#~ "\n" +#~ "From: %(from_address)s" +#~ msgstr "" +#~ "\n" +#~ "Ad: %(from_address)s" + +#~ msgid "Network Manager support not available" +#~ msgstr "Nie staje padtrymki Network Manager" + +#~ msgid "Session Management support not available (missing gnome.ui module)" +#~ msgstr "Nie staje padtrymki kiravańnia sesijami (nie staje modulu gnome.ui)" + +#~ msgid "%s does not appear to be a valid JID" +#~ msgstr "%s nia jość pravilnym JIDam" + +#~ msgid "%s - Gajim" +#~ msgstr "%s - Gajim" + +#~ msgid "_New group chat" +#~ msgstr "_Novy pakoj" + +#~ msgid "Log _off" +#~ msgstr "_Adłučysia" + +#~ msgid "Save passphrase" +#~ msgstr "Zachavaj parol" + +#~ msgid "Drop %s in group %s" +#~ msgstr "Pieraniasi %s u hrupu %s" + +#~ msgid "Hides the buttons in two persons chat window." +#~ msgstr "Chavaje knopki ŭ aknie pryvatnaj razmovy." + +#~ msgid "Connected to server %s:%s with %s" +#~ msgstr "Dałučany da servera %s:%s z %s" + +#~ msgid " %d unread single message" +#~ msgid_plural " %d unread single messages" +#~ msgstr[0] "%d niečytanaje asobnaje paviedamleńnie" +#~ msgstr[1] "%d niečytanyja asobnyja paviedamleńni" +#~ msgstr[2] "%d niečytanych asobnych paviedamleńniaŭ" + +#~ msgid " %d unread group chat message" +#~ msgid_plural " %d unread group chat messages" +#~ msgstr[0] "%d niečytanaje hrupavoje paviedamleńnie" +#~ msgstr[1] "%d niečytanyja hrupavyja paviedamleńni" +#~ msgstr[2] "%d niečytanych hrupavych paviedamleńniaŭ" + +#~ msgid " %d unread private message" +#~ msgid_plural " %d unread private messages" +#~ msgstr[0] "%d niečytanaje pryvatnaje paviedamleńnie" +#~ msgstr[1] "%d niečytanyja pryvatnyja paviedamleńni" +#~ msgstr[2] "%d niečytanych pryvatnych paviedamleńniaŭ" + +#~ msgid "" +#~ "Connection to host could not be established: Incorrect answer from server." +#~ msgstr "Niemahčyma złučycca z hostam: Niapravilny adkaz servera." + +#~ msgid "Connection to host could not be established" +#~ msgstr "Niemahčyma złučycca z hostam" + +#~ msgid "Basc" +#~ msgstr "Basckaja" + +#~ msgid "invisible" +#~ msgstr "нябачны" + +#~ msgid "offline" +#~ msgstr "адключаны" + +#~ msgid "2003-12-13T18:30:02Z" +#~ msgstr "2003-12-13T18:30:02Z" + +#~ msgid "Romeo and Juliet" +#~ msgstr "Рамэа і Джульета" + +#~ msgid "Soliloquy" +#~ msgstr "Маналог" + +#~ msgid "_After time:" +#~ msgstr "_Праз пэўны час:" + +#~ msgid "_Before time:" +#~ msgstr "_За пэўны час да:" + +#~ msgid "_Retrieve" +#~ msgstr "_Атрымаць" + +#~ msgid "Information published" +#~ msgstr "Звесткі абноўлены" + +#~ msgid "Without a connection, you can not get your contact information." +#~ msgstr "Вы не можаце атрымаць звесткі аб сабе, не злучыўшыся з сэрвэрам." diff --git a/po/bg.po b/po/bg.po new file mode 100644 index 0000000..73a1633 --- /dev/null +++ b/po/bg.po @@ -0,0 +1,16410 @@ +# Bulgarian translation of Gajim. +# Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This file is distributed under the same license as the Gajim package. +# +# +# Yavor Doganov , 2005, 2006, 2007, 2008, 2009. +msgid "" +msgstr "" +"Project-Id-Version: Gajim 0.12\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-01 17:44+0100\n" +"PO-Revision-Date: 2009-08-19 23:43+0200\n" +"Last-Translator: Yavor Doganov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: gajim/history_manager.py:78 +#, fuzzy +msgid "Usage:" +msgstr "съобщение" + +#: gajim/history_manager.py:80 +#, fuzzy +msgid "Options:" +msgstr "_Емотикони:" + +#: gajim/history_manager.py:82 +msgid "Show this help message and exit" +msgstr "" + +#: gajim/history_manager.py:83 +msgid "Choose folder for logfile" +msgstr "" + +#: gajim/history_manager.py:113 +msgid "Cannot find history logs database" +msgstr "Неуспех при откриването на базата от данни за разговорите" + +#: gajim/history_manager.py:114 +#, fuzzy, python-format +msgid "%s does not exist." +msgstr "Файлът не съществува" + +#: gajim/history_manager.py:147 gajim/history_manager.py:201 +#: gajim/gtk/add_contact.py:31 gajim/gtk/discovery.py:833 +#: gajim/gtk/accounts.py:892 gajim/data/gui/vcard_information_window.ui:55 +#: gajim/data/gui/bookmarks.ui:45 gajim/data/gui/blocking_list.ui:43 +#: gajim/data/gui/mam_preferences.ui:117 +#, fuzzy +msgid "XMPP Address" +msgstr "Адрес на AIM:" + +#: gajim/history_manager.py:160 gajim/history_manager.py:208 +#: gajim/gtk/history.py:108 gajim/data/gui/history_window.ui:89 +msgid "Date" +msgstr "Дата" + +#: gajim/history_manager.py:167 gajim/history_manager.py:231 +#: gajim/data/gui/profile.ui:232 gajim/data/gui/vcard_information_window.ui:442 +#: gajim/data/gui/bookmarks.ui:84 +msgid "Nickname" +msgstr "Псевдоним" + +#: gajim/history_manager.py:178 gajim/history_manager.py:217 +#: gajim/gtk/history.py:117 gajim/data/gui/single_message_window.ui:266 +msgid "Message" +msgstr "Съобщение" + +#: gajim/history_manager.py:186 gajim/history_manager.py:224 +#: gajim/data/gui/groups_post_window.ui:49 +#: gajim/data/gui/single_message_window.ui:205 +msgid "Subject" +msgstr "Тема" + +#: gajim/history_manager.py:254 +#, fuzzy +msgid "Database Cleanup" +msgstr "Грешка в базата от данни" + +#: gajim/history_manager.py:255 +#, fuzzy +msgid "Clean up the database?" +msgstr "създаване на база от данни за разговорите" + +#: gajim/history_manager.py:256 +#, fuzzy +msgid "" +"This is STRONGLY NOT RECOMMENDED IF GAJIM IS RUNNING.\n" +"Normally, the allocated database size will not be freed, it will just become " +"reusable. This operation may take a while." +msgstr "" +"Разпределеното пространство на базата от данни няма да бъде освободено, а ще " +"стане наново използваемо. Ако наистина искате да намалите файловия размер на " +"базата от данни, изберете „Да“; в противен случай изберете „Не“.\n" +"\n" +"В случай, че изберете „Да“, изчакайте…" + +#: gajim/history_manager.py:262 +#, fuzzy +msgid "_Cleanup" +msgstr "Из_чистване" + +#: gajim/history_manager.py:527 gajim/gtk/filetransfer.py:238 +#: gajim/gtk/filetransfer.py:248 +msgid "You" +msgstr "Вие" + +#: gajim/history_manager.py:539 +#, python-format +msgid "%(who)s on %(time)s said: %(message)s\n" +msgstr "%(who)s каза в %(time)s: %(message)s\n" + +#: gajim/history_manager.py:576 gajim/history_manager.py:615 +#: gajim/gtk/themes.py:362 gajim/gtk/roster_item_exchange.py:75 +#: gajim/gtk/roster_item_exchange.py:185 +msgid "Delete" +msgstr "Изтриване" + +#: gajim/history_manager.py:577 +#, fuzzy +msgid "Delete Conversation" +msgid_plural "Delete Conversations" +msgstr[0] "Отмяна на потвърждението" +msgstr[1] "Отмяна на потвърждението" + +#: gajim/history_manager.py:578 +#, fuzzy, python-format +msgid "Do you want to permanently delete this conversation with %s?" +msgid_plural "Do you want to permanently delete these conversations?" +msgstr[0] "Наистина ли искате да изтриете избраното съобщение?" +msgstr[1] "Наистина ли искате да изтриете избраното съобщение?" + +#: gajim/history_manager.py:616 +#, fuzzy +msgid "Delete Message" +msgid_plural "Delete Messages" +msgstr[0] "Стандартно съобщение" +msgstr[1] "Стандартно съобщение" + +#: gajim/history_manager.py:617 +#, fuzzy +msgid "Do you want to permanently delete this message?" +msgid_plural "Do you want to permanently delete these messages?" +msgstr[0] "Наистина ли искате да изтриете избраното съобщение?" +msgstr[1] "Наистина ли искате да изтриете избраните съобщения?" + +#: gajim/roster_window.py:268 gajim/roster_window.py:991 +msgid "Merged accounts" +msgstr "Смесени акаунти" + +#: gajim/roster_window.py:756 gajim/roster_window.py:1667 +#: gajim/roster_window.py:1669 gajim/roster_window.py:1986 +#: gajim/roster_window.py:3065 gajim/roster_window.py:3098 +#: gajim/roster_window.py:4026 gajim/gui_interface.py:338 +#: gajim/gui_menu_builder.py:254 gajim/gui_menu_builder.py:345 +#: gajim/chat_control.py:291 gajim/chat_control.py:421 +#: gajim/gtk/add_contact.py:320 gajim/gtk/roster_item_exchange.py:112 +#: gajim/gtk/subscription_request.py:77 gajim/gtk/subscription_request.py:126 +#: gajim/common/helpers.py:89 gajim/common/helpers.py:207 +#: gajim/common/contacts.py:243 gajim/common/contacts.py:382 +#: gajim/common/contacts.py:493 +#, fuzzy +msgid "Not in contact list" +msgstr "Показване на изкл_ючените контакти" + +#: gajim/roster_window.py:823 gajim/roster_window.py:1579 +#: gajim/roster_window.py:1612 gajim/roster_window.py:1663 +#: gajim/roster_window.py:1665 gajim/roster_window.py:1820 +#: gajim/roster_window.py:2378 gajim/roster_window.py:3990 +#: gajim/roster_window.py:4638 gajim/gtk/discovery.py:127 +#: gajim/gtk/discovery.py:128 gajim/gtk/discovery.py:1419 +#: gajim/common/helpers.py:88 gajim/common/contacts.py:225 +#: gajim/common/contacts.py:485 +msgid "Transports" +msgstr "Транспорти" + +#: gajim/roster_window.py:1671 gajim/roster_window.py:1673 +#: gajim/roster_window.py:3990 gajim/roster_window.py:4603 +#: gajim/gui_interface.py:1425 gajim/common/helpers.py:91 +#: gajim/common/contacts.py:223 +#, fuzzy +msgid "Group chats" +msgstr "Стаи" + +#: gajim/roster_window.py:1901 gajim/chat_control.py:1688 +#, fuzzy +msgid "Remote contact stopped transfer" +msgstr "Премахване на контакт от списъка" + +#: gajim/roster_window.py:1903 gajim/chat_control.py:1690 +#, fuzzy +msgid "Error opening file" +msgstr "Грешка при четене на файл:" + +#: gajim/roster_window.py:1968 +#, fuzzy +msgid "Authorization sent" +msgstr "Упълномощаването беше изпратено" + +#: gajim/roster_window.py:1969 +#, fuzzy, python-format +msgid "\"%s\" will now see your status." +msgstr "„%s“ вече ще знае състоянието ви." + +#: gajim/roster_window.py:1987 +msgid "Subscription request has been sent" +msgstr "Искането за записване беше изпратено" + +#: gajim/roster_window.py:1988 +#, fuzzy, python-format +msgid "If \"%s\" accepts this request you will know their status." +msgstr "Ако „%s“ приеме това запитване, ще знаете за състоянието му." + +#: gajim/roster_window.py:2002 +#, fuzzy +msgid "Authorization removed" +msgstr "Упълномощаването беше прекратено" + +#: gajim/roster_window.py:2003 +#, python-format +msgid "Now \"%s\" will always see you as offline." +msgstr "„%s“ винаги ще ви вижда като изключен." + +#: gajim/roster_window.py:2198 gajim/data/gui/shortcuts_window.ui:66 +#, fuzzy +msgid "Quit Gajim" +msgstr "Gajim" + +#: gajim/roster_window.py:2199 +#, fuzzy +msgid "You are about to quit Gajim" +msgstr "Сигурни ли сте, че искате да напуснете стаята „%s“?" + +#: gajim/roster_window.py:2200 +#, fuzzy +msgid "Are you sure you want to quit Gajim?" +msgstr "Сигурни ли сте, че искате да напуснете стаята „%s“?" + +#: gajim/roster_window.py:2201 +msgid "_Always quit when closing Gajim" +msgstr "" + +#: gajim/roster_window.py:2204 gajim/roster_window.py:2299 +#: gajim/roster_window.py:2340 gajim/data/gui/application_menu.ui:30 +#: gajim/data/gui/systray_context_menu.ui:83 +#, fuzzy +msgid "_Quit" +msgstr "_Изход" + +#: gajim/roster_window.py:2292 +#, fuzzy +msgid "Stop File Transfers" +msgstr "Файлови трансфери" + +#: gajim/roster_window.py:2293 +#, fuzzy +msgid "You still have running file transfers" +msgstr "Отменя файловия трансфер" + +#: gajim/roster_window.py:2294 +msgid "" +"If you quit now, the file(s) being transferred will be lost.\n" +"Do you still want to quit?" +msgstr "" + +#: gajim/roster_window.py:2333 +#, fuzzy +msgid "Unread Messages" +msgstr "Непрочетени събития" + +#: gajim/roster_window.py:2334 +#, fuzzy +msgid "You still have unread messages" +msgstr "Имате непрочетени съобщения" + +#: gajim/roster_window.py:2335 +#, fuzzy +msgid "" +"Messages will only be available for reading them later if storing chat " +"history is enabled and if the contact is in your contact list." +msgstr "" +"Може да преглеждате съобщенията по-късно само ако е активирана опцията за " +"историята и контактът е в списъка." + +#: gajim/roster_window.py:2590 +msgid "You have unread messages" +msgstr "Имате непрочетени съобщения" + +#: gajim/roster_window.py:2591 +msgid "You must read them before removing this transport." +msgstr "Трябва да ги прочетете преди да премахнете този транспорт." + +#: gajim/roster_window.py:2594 +#, fuzzy, python-format +msgid "Transport '%s' will be removed" +msgstr "Транспортът „%s“ ще бъде премахнат" + +#: gajim/roster_window.py:2595 +#, fuzzy +msgid "" +"You will no longer be able to send and receive messages from and to contacts " +"using this transport." +msgstr "" +"Вече няма да можете да получавате и изпращате съобщения до контакти чрез " +"този транспорт." + +#: gajim/roster_window.py:2598 +msgid "Transports will be removed" +msgstr "Ще бъдат премахнати транспорти" + +#: gajim/roster_window.py:2603 +#, fuzzy, python-format +msgid "" +"You will no longer be able to send and receive messages from and to contacts " +"using these transports:\n" +"%s" +msgstr "" +"Вече няма да можете да получавате и изпращате съобщения до контакти чрез " +"този транспорт." + +#: gajim/roster_window.py:2607 +#, fuzzy +msgid "Remove Transport" +msgstr "Показване на т_ранспорти" + +#: gajim/roster_window.py:2662 gajim/chat_control.py:428 +#, fuzzy +msgid "Block Contact" +msgstr "Блокирани контакти" + +#: gajim/roster_window.py:2663 gajim/chat_control.py:429 +#, fuzzy +msgid "Really block this contact?" +msgstr "Активиран ли е OpenPGP за този контакт?" + +#: gajim/roster_window.py:2664 gajim/chat_control.py:430 +#, fuzzy +msgid "" +"You will appear offline for this contact and you will not receive further " +"messages." +msgstr "JID на контакта, който ще получи съобщението" + +#: gajim/roster_window.py:2666 +#, fuzzy +msgid "_Do not ask again" +msgstr "Да _не се задава този въпрос отново" + +#: gajim/roster_window.py:2669 gajim/chat_control.py:434 +#, fuzzy +msgid "_Report Spam" +msgstr "_Докладване на грешка" + +#: gajim/roster_window.py:2673 gajim/roster_window.py:4778 +#: gajim/gui_menu_builder.py:485 gajim/chat_control.py:438 +#: gajim/data/gui/contact_context_menu.ui:151 +msgid "_Block" +msgstr "_Блокиране" + +#: gajim/roster_window.py:2706 +msgid "Rename Contact" +msgstr "Преименуване на контакт" + +#: gajim/roster_window.py:2707 +#, fuzzy, python-format +msgid "Rename contact %s?" +msgstr "Преименуване на контакт" + +#: gajim/roster_window.py:2708 +#, fuzzy +msgid "Please enter a new nickname" +msgstr "Въведете нов псевдоним за контакт „%s“" + +#: gajim/roster_window.py:2712 gajim/roster_window.py:3439 +#: gajim/roster_window.py:4679 gajim/dialogs.py:103 gajim/dialogs.py:116 +#: gajim/gtk/accounts.py:308 gajim/common/contacts.py:178 +#: gajim/common/contacts.py:227 gajim/data/gui/shortcuts_window.ui:12 +#: gajim/data/gui/preferences.ui:96 +msgid "General" +msgstr "Общи" + +#: gajim/roster_window.py:2715 +msgid "Rename Group" +msgstr "Преименуване на група" + +#: gajim/roster_window.py:2716 +#, fuzzy, python-format +msgid "Rename group %s?" +msgstr "Преименуване на група" + +#: gajim/roster_window.py:2717 +#, fuzzy +msgid "Please enter a new name" +msgstr "Създайте нова тема с желаното име." + +#: gajim/roster_window.py:2747 gajim/roster_window.py:2869 +#: gajim/data/gui/groupchat_control.ui:1859 +#, fuzzy +msgid "_Rename" +msgstr "Пре_именуване" + +#: gajim/roster_window.py:2769 gajim/roster_window.py:2770 +msgid "Remove Group" +msgstr "Премахване на група" + +#: gajim/roster_window.py:2771 +#, fuzzy, python-format +msgid "Do you want to remove %s from the contact list?" +msgstr "Искате ли да премахнете групата „%s“ от списъка?" + +#: gajim/roster_window.py:2772 +#, fuzzy +msgid "_Also remove all contacts of this group from contact list" +msgstr "Премахване от списъка и на всички контакти в тази група" + +#: gajim/roster_window.py:2864 gajim/roster_window.py:2865 +#, fuzzy +msgid "Rename Group Chat" +msgstr "Излизане от стаите" + +#: gajim/roster_window.py:2866 +#, fuzzy +msgid "Please enter a new name for this group chat" +msgstr "Укажете ново потребителско име за локалния ви акаунт" + +#: gajim/roster_window.py:3082 +#, fuzzy +msgid "Remove Contact" +msgstr "Преименуване на контакт" + +#: gajim/roster_window.py:3083 +#, fuzzy +msgid "Remove contact from contact list" +msgstr "Премахване на контакт от списъка" + +#: gajim/roster_window.py:3084 +#, fuzzy, python-format +msgid "You are about to remove %(name)s (%(jid)s) from your contact list.\n" +msgstr "Искате ли да премахнете групата „%s“ от списъка?" + +#: gajim/roster_window.py:3093 gajim/roster_window.py:3113 +#, fuzzy +msgid "" +"By removing this contact you also remove authorization. This means the " +"contact will see you as offline." +msgstr "" +"Премахвайки тези контакти: %s\n" +"прекратявате и упълномощаването, така че винаги ще ви виждат изключен(а)." + +#: gajim/roster_window.py:3104 +msgid "Do you want to continue?" +msgstr "Искате ли да продължите?" + +#: gajim/roster_window.py:3115 +#, fuzzy +msgid "_I want this contact to know my status after removal" +msgstr "Искам този контакт да вижда състоянието ми след премахването" + +#: gajim/roster_window.py:3122 +#, fuzzy +msgid "Remove contacts from contact list" +msgstr "Премахване на контакт от списъка" + +#: gajim/roster_window.py:3128 +#, fuzzy, python-format +msgid "" +"By removing the following contacts, you will also remove authorization. This " +"means they will see you as offline:\n" +"\n" +"%s" +msgstr "" +"Премахвайки тези контакти: %s\n" +"прекратявате и упълномощаването, така че винаги ще ви виждат изключен(а)." + +#: gajim/roster_window.py:3132 +#, fuzzy +msgid "Remove Contacts" +msgstr "Преименуване на контакт" + +#: gajim/roster_window.py:3761 +#, fuzzy +msgid "You are about to create a metacontact" +msgstr "" +"На път сте да създадете мета-контакт. Сигурни ли сте, че искате да " +"продължите?" + +#: gajim/roster_window.py:3762 +#, fuzzy +msgid "" +"Metacontacts are a way to regroup several contacts in one single contact. " +"Generally it is used when the same person has several XMPP- or Transport-" +"Accounts." +msgstr "" +"Мета-контактите са начин за прегрупиране на няколко контакта на един ред. " +"Основно се използва, когато един и същ потребител има няколко акаунта за " +"Джабър или акаунти за транспорти." + +#: gajim/roster_window.py:3766 +#, fuzzy +msgid "Create Metacontact" +msgstr "Преименуване на контакт" + +#: gajim/roster_window.py:3769 gajim/chat_control_base.py:771 +#: gajim/groupchat_control.py:1676 gajim/message_window.py:368 +#, fuzzy +msgid "_Do not ask me again" +msgstr "Да _не се задава този въпрос отново" + +#: gajim/roster_window.py:3772 gajim/data/gui/groupchat_creation.ui:317 +#, fuzzy +msgid "_Create" +msgstr "Съзидателен" + +#: gajim/roster_window.py:3889 +msgid "Invalid file URI:" +msgstr "Невалиден адрес на файл:" + +#: gajim/roster_window.py:3901 +#, fuzzy, python-format +msgid "Send this file to %s:\n" +msgid_plural "Send these files to %s:\n" +msgstr[0] "Искате ли да изпратите този файл на %s:" +msgstr[1] "Искате ли да изпратите тези файлове на %s:" + +#: gajim/roster_window.py:3909 gajim/roster_window.py:3910 +#: gajim/chat_control.py:1541 gajim/gtk/filetransfer_progress.py:36 +#, fuzzy +msgid "File Transfer" +msgstr "Файлови трансфери" + +#: gajim/roster_window.py:3914 gajim/data/gui/xml_console.ui:334 +msgid "_Send" +msgstr "_Изпращане" + +#: gajim/roster_window.py:4067 +#, fuzzy, python-format +msgid "Send %(from)s to %(to)s" +msgstr "Изпращане на %s" + +#: gajim/roster_window.py:4080 +#, fuzzy, python-format +msgid "Make %s first contact" +msgstr "Изпращане на файл до контакт" + +#: gajim/roster_window.py:4085 +#, fuzzy, python-format +msgid "Make %(contact1)s and %(contact2)s metacontacts" +msgstr "Изпращане на файл до контакт" + +#: gajim/roster_window.py:4436 gajim/roster_window.py:4523 +#: gajim/gtk/status_selector.py:76 +msgid "_Change Status Message" +msgstr "Пром_яна на съобщението за състояние" + +#: gajim/roster_window.py:4456 +msgid "Publish Tune" +msgstr "Публикуване на мелодия" + +#: gajim/roster_window.py:4467 +#, fuzzy +msgid "Publish Location" +msgstr "Публикуване на мелодия" + +#: gajim/roster_window.py:4606 +msgid "_Maximize All" +msgstr "_Максимизиране на всички" + +#: gajim/roster_window.py:4615 gajim/roster_window.py:4743 +msgid "Send Group M_essage" +msgstr "_Изпращане на групово съобщение" + +#: gajim/roster_window.py:4622 +msgid "To all users" +msgstr "До всички потребители" + +#: gajim/roster_window.py:4626 +msgid "To all online users" +msgstr "До всички включени потребители" + +#: gajim/roster_window.py:4637 gajim/roster_window.py:4749 +#: gajim/data/gui/contact_context_menu.ui:36 +msgid "In_vite to" +msgstr "По_кана в" + +#: gajim/roster_window.py:4663 gajim/gui_menu_builder.py:471 +#, fuzzy +msgid "_Rename…" +msgstr "_Преименуване" + +#: gajim/roster_window.py:4669 gajim/gui_menu_builder.py:493 +#: gajim/data/gui/contact_context_menu.ui:181 +msgid "Remo_ve" +msgstr "П_ремахване" + +#: gajim/roster_window.py:4759 +msgid "_Manage Contacts" +msgstr "_Управление на контакти" + +#: gajim/roster_window.py:4765 +#, fuzzy +msgid "Edit _Groups…" +msgstr "Редактиране на _групи" + +#: gajim/roster_window.py:4774 gajim/gui_menu_builder.py:482 +#: gajim/data/gui/contact_context_menu.ui:143 +msgid "_Unblock" +msgstr "_Деблокиране" + +#: gajim/roster_window.py:4786 gajim/gtk/dialogs.py:70 +#: gajim/data/gui/filetransfers.ui:12 +msgid "_Remove" +msgstr "_Премахване" + +#: gajim/roster_window.py:4823 +msgid "_Maximize" +msgstr "_Максимизиране" + +#: gajim/roster_window.py:4828 +#, fuzzy +msgid "Re_name" +msgstr "Пре_именуване" + +#: gajim/roster_window.py:4836 gajim/groupchat_control.py:1680 +msgid "_Leave" +msgstr "" + +#: gajim/roster_window.py:4844 +#, fuzzy +msgid "Execute command" +msgstr "_Изпълнение на команда" + +#: gajim/roster_window.py:4852 gajim/data/gui/application_menu.ui:68 +#: gajim/data/gui/contact_context_menu.ui:205 +msgid "_History" +msgstr "Ист_ория" + +#: gajim/roster_window.py:4945 gajim/gui_interface.py:339 +#: gajim/common/helpers.py:90 gajim/common/contacts.py:221 +msgid "Observers" +msgstr "Наблюдатели" + +#: gajim/roster_window.py:4948 +msgid "Observers can see your status, but you are not allowed to see theirs" +msgstr "" + +#: gajim/privatechat_control.py:105 gajim/groupchat_control.py:1225 +#, python-format +msgid "You are now known as %s" +msgstr "Вече сте познати като %s" + +#: gajim/privatechat_control.py:107 gajim/groupchat_control.py:1227 +#, fuzzy, python-brace-format +msgid "{nick} is now known as {new_nick}" +msgstr "%(nick)s вече е познат като %(new_nick)s" + +#: gajim/privatechat_control.py:138 gajim/groupchat_control.py:1254 +#, fuzzy, python-brace-format +msgid "You are now {show}{status}" +msgstr "Вече сте познати като %s" + +#: gajim/privatechat_control.py:142 gajim/groupchat_control.py:1258 +#, fuzzy, python-brace-format +msgid "{nick} is now {show}{status}" +msgstr "%(nick)s вече е %(status)s" + +#: gajim/privatechat_control.py:199 +msgid "Sending private message failed" +msgstr "Неуспех при изпращането на лично съобщение" + +#: gajim/privatechat_control.py:201 +#, python-format +msgid "You are no longer in group chat \"%(room)s\" or \"%(nick)s\" has left." +msgstr "Вече не сте в стая „%(room)s“ или „%(nick)s“ е напуснал(а)." + +#: gajim/application.py:81 +#, fuzzy +msgid "Show the application's version" +msgstr "Демон за уведомления" + +#: gajim/application.py:88 +#, fuzzy +msgid "Show only critical errors" +msgstr "Показване на събитието в спис_ъка" + +#: gajim/application.py:95 +msgid "Separate profile files completely (even history database and plugins)" +msgstr "" + +#: gajim/application.py:103 +msgid "Print XML stanzas and other debug information" +msgstr "" + +#: gajim/application.py:110 +#, fuzzy +msgid "Use defined profile in configuration directory" +msgstr "Редактор на настройки за напреднали" + +#: gajim/application.py:118 +#, fuzzy +msgid "Set configuration directory" +msgstr "Настройки на стаята" + +#: gajim/application.py:126 +msgid "Configure logging system" +msgstr "" + +#: gajim/application.py:134 +#, fuzzy +msgid "Show all warnings" +msgstr "Показване на всички _чакащи събития" + +#: gajim/application.py:141 +msgid "Open IPython shell" +msgstr "" + +#: gajim/application.py:148 +msgid "Pops up a window with the next pending event" +msgstr "Показва следващото чакащо събитие в изскачащ прозорец" + +#: gajim/application.py:154 gajim/data/gui/shortcuts_window.ui:17 +#: data/org.gajim.Gajim.desktop.in:21 +#, fuzzy +msgid "Start a new chat" +msgstr "Започване на разговор" + +#: gajim/application.py:205 gajim/gui_interface.py:131 +msgid "Database Error" +msgstr "Грешка в базата от данни" + +#: gajim/gui_interface.py:168 +#, fuzzy, python-format +msgid "HTTP (%(method)s) Authorization for %(url)s (ID: %(id)s)" +msgstr "Упълномощаване по HTTP (%(method)s) за „%(url)s“ (id: %(id)s)" + +#: gajim/gui_interface.py:173 +msgid "Do you accept this request?" +msgstr "Приемате ли това запитване?" + +#: gajim/gui_interface.py:175 +#, fuzzy, python-format +msgid "Do you accept this request (account: %s)?" +msgstr "Приемате ли това запитване за акаунт %s?" + +#: gajim/gui_interface.py:181 +#, fuzzy +msgid "Authorization Request" +msgstr "Упълномощаването беше изпратено" + +#: gajim/gui_interface.py:182 +#, fuzzy +msgid "HTTP Authorization Request" +msgstr "Упълномощаването беше изпратено" + +#: gajim/gui_interface.py:185 gajim/gui_interface.py:376 +#: gajim/gui_interface.py:2002 gajim/gtk/filetransfer.py:339 +#, fuzzy +msgid "_No" +msgstr "Няма" + +#: gajim/gui_interface.py:203 gajim/gtk/notification.py:189 +#: gajim/gtk/notification.py:216 +msgid "Connection Failed" +msgstr "Неуспех при свързването" + +#: gajim/gui_interface.py:299 +#, python-format +msgid "error while sending %(message)s ( %(error)s )" +msgstr "грешка при изпращане на %(message)s ( %(error)s )" + +#: gajim/gui_interface.py:324 gajim/gtk/notification.py:189 +#, fuzzy +msgid "Subscription request" +msgstr "Искане за записване" + +#: gajim/gui_interface.py:359 +msgid "Authorization accepted" +msgstr "Упълномощаването е прието" + +#: gajim/gui_interface.py:360 +#, fuzzy, python-format +msgid "The contact \"%(jid)s\" has authorized you to see their status." +msgstr "Контактът „%s“ ви упълномощи да виждате състоянието му." + +#: gajim/gui_interface.py:370 +#, fuzzy +msgid "Subscription Removed" +msgstr "Искане за записване" + +#: gajim/gui_interface.py:371 +#, fuzzy, python-format +msgid "%(name)s (%(jid)s) has removed subscription from you" +msgstr "Контактът „%s“ премахна записването за вас" + +#: gajim/gui_interface.py:373 +#, fuzzy +msgid "" +"You will always see this contact as offline.\n" +"Do you want to remove them from your contact list?" +msgstr "" +"Винаги ще го виждате като изключен.\n" +"Искате ли да го премахнете от списъка с контакти?" + +#: gajim/gui_interface.py:398 gajim/gtk/notification.py:190 +#, fuzzy +msgid "Unsubscribed" +msgstr "_Отписване" + +#: gajim/gui_interface.py:410 +#, python-format +msgid "%(jid)s declined the invitation: %(reason)s" +msgstr "" + +#: gajim/gui_interface.py:414 +#, python-format +msgid "%(jid)s declined the invitation" +msgstr "" + +#: gajim/gui_interface.py:431 gajim/chat_control.py:1606 +#: gajim/gtk/notification.py:188 gajim/gtk/notification.py:214 +#: gajim/gtk/notification.py:286 gajim/gtk/groupchat_invitation.py:33 +#, fuzzy +msgid "Group Chat Invitation" +msgstr "Покана за разговор в стая" + +#: gajim/gui_interface.py:432 +#, fuzzy, python-format +msgid "%(contact)s invited you to %(chat)s" +msgstr "$Contact ви покани в стая %(room_jid)s." + +#: gajim/gui_interface.py:453 +#, fuzzy +msgid "Certificate Passphrase Required" +msgstr "Валидността на сертификата е изтекла" + +#: gajim/gui_interface.py:454 +#, fuzzy, python-format +msgid "Enter the certificate passphrase for account %s" +msgstr "Въведете парола за ключ на GPG %(keyid)s (акаунт „%(account)s“)." + +#: gajim/gui_interface.py:463 +#, python-format +msgid "Enter your password for account %s" +msgstr "Въведете парола за акаунт „%s“" + +#: gajim/gui_interface.py:475 +msgid "Password Required" +msgstr "Необходима е парола" + +#: gajim/gui_interface.py:475 +msgid "Save password" +msgstr "Запазване на паролата" + +#: gajim/gui_interface.py:544 gajim/gui_interface.py:575 +#: gajim/gtk/notification.py:187 gajim/gtk/notification.py:279 +#: gajim/gtk/filetransfer.py:333 gajim/gtk/filetransfer.py:334 +msgid "File Transfer Error" +msgstr "Грешка при файловия трансфер" + +#: gajim/gui_interface.py:609 +#, python-format +msgid "%s wants to send you a file." +msgstr "%s иска да ви изпрати файл." + +#: gajim/gui_interface.py:611 gajim/gtk/notification.py:186 +#: gajim/gtk/notification.py:276 gajim/gtk/filetransfer.py:485 +msgid "File Transfer Request" +msgstr "Запитване за файлов трансфер" + +#: gajim/gui_interface.py:714 +#, fuzzy +msgid "Remote Contact Stopped Transfer" +msgstr "Премахване на контакт от списъка" + +#: gajim/gui_interface.py:719 +#, fuzzy +msgid "Error Opening File" +msgstr "Грешка при четене на файл:" + +#: gajim/gui_interface.py:729 +#, fuzzy +msgid "SSL Certificate Error" +msgstr "Грешка в сертификата на SSL" + +#: gajim/gui_interface.py:738 gajim/gui_interface.py:768 +#: gajim/gui_interface.py:794 gajim/chat_control.py:1573 +#: gajim/gtk/notification.py:187 gajim/gtk/notification.py:282 +msgid "File Transfer Completed" +msgstr "Файловият трансфер е приключен" + +#: gajim/gui_interface.py:742 gajim/gui_interface.py:773 +#: gajim/gui_interface.py:800 gajim/gtk/notification.py:188 +#: gajim/gtk/notification.py:283 +msgid "File Transfer Stopped" +msgstr "Файловият трансфер е преустановен" + +#: gajim/gui_interface.py:746 +#, fuzzy +msgid "File Transfer Failed" +msgstr "Файлови трансфери" + +#: gajim/gui_interface.py:769 +#, fuzzy, python-format +msgid "%(filename)s received from %(name)s." +msgstr "Файловият трансфер на %(filename)s от %(name)s прекъсна." + +#: gajim/gui_interface.py:774 +#, python-format +msgid "File transfer of %(filename)s from %(name)s stopped." +msgstr "Файловият трансфер на %(filename)s от %(name)s прекъсна." + +#: gajim/gui_interface.py:780 +#, fuzzy, python-format +msgid "File transfer of %(filename)s from %(name)s failed." +msgstr "Файловият трансфер на %(filename)s от %(name)s прекъсна." + +#: gajim/gui_interface.py:795 +#, python-format +msgid "You successfully sent %(filename)s to %(name)s." +msgstr "Успешно изпратихте %(filename)s на %(name)s." + +#: gajim/gui_interface.py:801 +#, python-format +msgid "File transfer of %(filename)s to %(name)s stopped." +msgstr "Файловият трансфер на %(filename)s до %(name)s прекъсна." + +#: gajim/gui_interface.py:807 +#, fuzzy, python-format +msgid "File transfer of %(filename)s to %(name)s failed." +msgstr "Файловият трансфер на %(filename)s до %(name)s прекъсна." + +#: gajim/gui_interface.py:919 gajim/gui_interface.py:920 +msgid "Username Conflict" +msgstr "Конфликт с имената на потребители" + +#: gajim/gui_interface.py:921 +#, fuzzy +msgid "Please enter a new username for your local account" +msgstr "Укажете ново потребителско име за локалния ви акаунт" + +#: gajim/gui_interface.py:925 gajim/gtk/dialogs.py:51 +#: gajim/data/gui/passphrase_dialog.ui:44 +msgid "_OK" +msgstr "_Да" + +#: gajim/gui_interface.py:988 gajim/chat_control.py:763 +#: gajim/chat_control.py:1660 gajim/gtk/notification.py:190 +#, fuzzy +msgid "Incoming Call" +msgstr "Невалиден псевдоним" + +#: gajim/gui_interface.py:990 +#, python-format +msgid "%s is calling" +msgstr "" + +#: gajim/gui_interface.py:1071 gajim/gui_interface.py:1072 +#, fuzzy +msgid "Insecure Connection" +msgstr "Несигурна връзка" + +#: gajim/gui_interface.py:1073 +#, fuzzy, python-format +msgid "" +"You are about to connect to the account %(account)s (%(server)s) using an " +"insecure connection method. This means conversations will not be encrypted. " +"Connecting PLAIN is strongly discouraged." +msgstr "" +"На път сте да изпратите паролата си чрез несигурна връзка. Трябва да " +"инсталирате PyOpenSSL, за да предотвратите това. Сигурни ли сте, че искате " +"да го направите?" + +#: gajim/gui_interface.py:1080 gajim/data/gui/groupchat_control.ui:595 +msgid "_Abort" +msgstr "" + +#: gajim/gui_interface.py:1083 +#, fuzzy +msgid "_Connect Anyway" +msgstr "Свързване" + +#: gajim/gui_interface.py:1921 +msgid "Gajim: IPython Console" +msgstr "" + +#: gajim/gui_interface.py:1998 +#, fuzzy +msgid "Update Check" +msgstr "Проверка на правописа" + +#: gajim/gui_interface.py:1999 +msgid "Gajim Update Check" +msgstr "" + +#: gajim/gui_interface.py:2000 +msgid "Search for Gajim updates periodically?" +msgstr "" + +#: gajim/gui_interface.py:2005 +msgid "_Search Periodically" +msgstr "" + +#: gajim/gui_interface.py:2045 +#, fuzzy +msgid "Update Available" +msgstr "Не съм на разположение" + +#: gajim/gui_interface.py:2046 +#, fuzzy +msgid "Gajim Update Available" +msgstr "Не съм на разположение" + +#: gajim/gui_interface.py:2047 +#, python-format +msgid "There is an update available for Gajim (latest version: %s)" +msgstr "" + +#: gajim/gui_interface.py:2049 +#, fuzzy +msgid "_Do not show again" +msgstr "Да _не се задава този въпрос отново" + +#: gajim/gui_interface.py:2051 gajim/gtk/accounts.py:126 +msgid "_Later" +msgstr "" + +#: gajim/gui_interface.py:2054 +msgid "_Update Now" +msgstr "" + +#: gajim/gui_menu_builder.py:358 +#, fuzzy +msgid "I would like to add you to my contact list" +msgstr "Бих искал(а) да ви добавя към списъка си." + +#: gajim/gui_menu_builder.py:435 +#, fuzzy +msgid "Send Single _Message…" +msgstr "Изпращане на _еднократно съобщение" + +#: gajim/gui_menu_builder.py:450 +#, fuzzy +msgid "E_xecute Command…" +msgstr "_Изпълнение на команда" + +#: gajim/gui_menu_builder.py:458 +msgid "_Manage Transport" +msgstr "Управление на _транспорт" + +#: gajim/gui_menu_builder.py:464 +msgid "_Modify Transport" +msgstr "Промяна на т_ранспорт" + +#: gajim/gui_menu_builder.py:503 gajim/data/gui/contact_context_menu.ui:198 +msgid "_Information" +msgstr "_Информация" + +#: gajim/gui_menu_builder.py:516 +#, fuzzy +msgid "Send File" +msgstr "Изпращане на _файл" + +#: gajim/gui_menu_builder.py:517 +#, fuzzy +msgid "Upload File…" +msgstr "Запазване на файла като…" + +#: gajim/gui_menu_builder.py:518 +#, fuzzy +msgid "Send File Directly…" +msgstr "Запазване на файла като…" + +#: gajim/gui_menu_builder.py:520 gajim/gtk/accounts.py:734 +#, fuzzy +msgid "Send Read Markers" +msgstr "Изпращане на пакети за поддържане на връзката" + +#: gajim/gui_menu_builder.py:521 gajim/gtk/accounts.py:710 +#, fuzzy +msgid "Send Chatstate" +msgstr "Последно състояние: %s" + +#: gajim/gui_menu_builder.py:522 gajim/data/gui/groupchat_control.ui:307 +#, fuzzy +msgid "Invite Contacts…" +msgstr "Покана на _контакти" + +#: gajim/gui_menu_builder.py:523 gajim/gui_menu_builder.py:741 +#: gajim/gui_menu_builder.py:768 gajim/gui_menu_builder.py:807 +#, fuzzy +msgid "Add to Contact List…" +msgstr "_Добавяне на контакт…" + +#: gajim/gui_menu_builder.py:524 +#, fuzzy +msgid "Block Contact…" +msgstr "Блокирани контакти" + +#: gajim/gui_menu_builder.py:525 gajim/data/gui/chat_control.ui:936 +#, fuzzy +msgid "Start Call…" +msgstr "Започване на разговор" + +#: gajim/gui_menu_builder.py:526 gajim/gui_menu_builder.py:576 +#: gajim/gui_menu_builder.py:802 gajim/data/gui/groupchat_control.ui:1334 +#, fuzzy +msgid "Information" +msgstr "_Информация" + +#: gajim/gui_menu_builder.py:527 gajim/gui_menu_builder.py:588 +#, fuzzy +msgid "History" +msgstr "Ист_ория" + +#: gajim/gui_menu_builder.py:533 gajim/gui_menu_builder.py:710 +#: gajim/gtk/preferences.py:671 gajim/gtk/groupchat_settings.py:36 +#: gajim/gtk/accounts.py:682 +msgid "Disabled" +msgstr "Изключени" + +#: gajim/gui_menu_builder.py:534 gajim/gtk/groupchat_settings.py:37 +#: gajim/gtk/accounts.py:681 +#, fuzzy +msgid "Composing Only" +msgstr "Пише" + +#: gajim/gui_menu_builder.py:535 gajim/gtk/groupchat_settings.py:38 +#, fuzzy +msgid "All Chat States" +msgstr "Всички състояния" + +#: gajim/gui_menu_builder.py:577 +#, fuzzy +msgid "Settings…" +msgstr "Неуспех при свързването" + +#: gajim/gui_menu_builder.py:578 +#, fuzzy +msgid "Manage Group Chat" +msgstr "Излизане от стаите" + +#: gajim/gui_menu_builder.py:579 +#, fuzzy +msgid "Rename…" +msgstr "_Преименуване" + +#: gajim/gui_menu_builder.py:580 +#, fuzzy +msgid "Change Subject…" +msgstr "Промяна на _темата…" + +#: gajim/gui_menu_builder.py:581 +#, fuzzy +msgid "Upload Avatar…" +msgstr "Избор на изображение" + +#: gajim/gui_menu_builder.py:582 +#, fuzzy +msgid "Configure…" +msgstr "_Настройване" + +#: gajim/gui_menu_builder.py:583 +#, fuzzy +msgid "Destroy…" +msgstr "Унищожаване на %s" + +#: gajim/gui_menu_builder.py:585 +#, fuzzy +msgid "Change Nickname…" +msgstr "Смяна на псе_вдоним…" + +#: gajim/gui_menu_builder.py:586 +#, fuzzy +msgid "Request Voice" +msgstr "_Глас" + +#: gajim/gui_menu_builder.py:587 gajim/gui_menu_builder.py:825 +#, fuzzy +msgid "Execute Command…" +msgstr "_Изпълнение на команда" + +#: gajim/gui_menu_builder.py:589 +msgid "Leave" +msgstr "" + +#: gajim/gui_menu_builder.py:631 +#, fuzzy +msgid "Add Contact…" +msgstr "_Добавяне на контакт…" + +#: gajim/gui_menu_builder.py:632 gajim/gtk/accounts.py:861 +#: gajim/gtk/accounts.py:899 gajim/gtk/profile.py:53 +#, fuzzy +msgid "Profile" +msgstr "файл" + +#: gajim/gui_menu_builder.py:633 +#, fuzzy +msgid "Send Single Message…" +msgstr "Изпращане на _еднократно съобщение" + +#: gajim/gui_menu_builder.py:634 +#, fuzzy +msgid "Discover Services…" +msgstr "_Откриване на услуги" + +#: gajim/gui_menu_builder.py:635 gajim/gtk/server_info.py:47 +#, fuzzy +msgid "Server Info" +msgstr "Сървър" + +#: gajim/gui_menu_builder.py:636 gajim/gtk/accounts.py:312 +#: gajim/data/gui/preferences.ui:853 +msgid "Advanced" +msgstr "Напреднали" + +#: gajim/gui_menu_builder.py:637 gajim/gtk/mam_preferences.py:100 +#, fuzzy +msgid "Archiving Preferences" +msgstr "_Настройки" + +#: gajim/gui_menu_builder.py:638 +#, fuzzy +msgid "Blocking List" +msgstr "Списък с отлъчени" + +#: gajim/gui_menu_builder.py:639 +#, fuzzy +msgid "Bookmarks" +msgstr "_Добавяне на стаята към отметките" + +#: gajim/gui_menu_builder.py:640 +#, fuzzy +msgid "PEP Configuration" +msgstr "Настройки на стаята" + +#: gajim/gui_menu_builder.py:641 +#, fuzzy +msgid "Synchronise History…" +msgstr "Синхронизиране" + +#: gajim/gui_menu_builder.py:643 gajim/gtk/server_info.py:141 +#: gajim/data/gui/groupchat_config.ui:36 +#, fuzzy +msgid "Admin" +msgstr "_Администратор" + +#: gajim/gui_menu_builder.py:644 +#, fuzzy +msgid "Send Server Message…" +msgstr "_Изпращане на съобщение от сървъра…" + +#: gajim/gui_menu_builder.py:645 +#, fuzzy +msgid "Set MOTD…" +msgstr "Настройване на MOTD…" + +#: gajim/gui_menu_builder.py:646 +#, fuzzy +msgid "Update MOTD…" +msgstr "Актуализиране на MOTD…" + +#: gajim/gui_menu_builder.py:647 +#, fuzzy +msgid "Delete MOTD…" +msgstr "Изтриване на MOTD" + +#: gajim/gui_menu_builder.py:684 +#, fuzzy +msgid "_Add Account…" +msgstr "_Добавяне на контакт…" + +#: gajim/gui_menu_builder.py:690 +#, fuzzy +msgid "_Modify Accounts…" +msgstr "_Промяна на акаунт" + +#: gajim/gui_menu_builder.py:700 gajim/data/gui/account_context_menu.ui:79 +#: gajim/data/gui/zeroconf_context_menu.ui:26 +#, fuzzy +msgid "_Modify Account…" +msgstr "_Промяна на акаунт" + +#: gajim/gui_menu_builder.py:704 gajim/gtk/accounts.py:51 +msgid "Accounts" +msgstr "Акаунти" + +#: gajim/gui_menu_builder.py:734 gajim/gui_menu_builder.py:739 +#, fuzzy +msgid "Copy XMPP Address" +msgstr "Копиране на _JID/Е-поща" + +#: gajim/gui_menu_builder.py:735 gajim/gui_menu_builder.py:767 +#, fuzzy +msgid "Join Groupchat" +msgstr "Влизане в стая" + +#: gajim/gui_menu_builder.py:740 gajim/gui_menu_builder.py:766 +#: gajim/gtk/start_chat.py:636 +#: gajim/data/gui/subscription_request_window.ui:149 +msgid "Start Chat" +msgstr "Започване на разговор" + +#: gajim/gui_menu_builder.py:746 +#, fuzzy +msgid "Copy Link Location" +msgstr "_Копиране на адреса на връзката" + +#: gajim/gui_menu_builder.py:747 +#, fuzzy +msgid "Open Link in Browser" +msgstr "_Отваряне на връзката в браузър" + +#: gajim/gui_menu_builder.py:752 +#, fuzzy +msgid "Copy Email Address" +msgstr "Копиране на _JID/Е-поща" + +#: gajim/gui_menu_builder.py:753 gajim/gui_menu_builder.py:765 +#, fuzzy +msgid "Open Email Composer" +msgstr "_Отваряне на пощенската програма" + +#: gajim/gui_menu_builder.py:758 +#, fuzzy +msgid "Copy Location" +msgstr "_Копиране на адреса на връзката" + +#: gajim/gui_menu_builder.py:759 gajim/gtk/preferences.py:291 +#, fuzzy +msgid "Show Location" +msgstr "Уведомления" + +#: gajim/gui_menu_builder.py:764 +#, fuzzy +msgid "Copy XMPP Address/Email" +msgstr "Копиране на _JID/Е-поща" + +#: gajim/gui_menu_builder.py:816 +#, fuzzy +msgid "Invite" +msgstr "По_кана" + +#: gajim/gui_menu_builder.py:832 +#, fuzzy +msgid "Kick" +msgstr "_Изритване" + +#: gajim/gui_menu_builder.py:840 +#, fuzzy +msgid "Ban" +msgstr "_Забраняване на достъпа" + +#: gajim/gui_menu_builder.py:850 +#, fuzzy +msgid "Make Owner" +msgstr "Собственик" + +#: gajim/gui_menu_builder.py:859 +#, fuzzy +msgid "Make Admin" +msgstr "_Администратор" + +#: gajim/gui_menu_builder.py:868 +#, fuzzy +msgid "Make Member" +msgstr "Член" + +#: gajim/gui_menu_builder.py:877 +#, fuzzy +msgid "Revoke Member" +msgstr "Член" + +#: gajim/gui_menu_builder.py:887 +msgid "Grant Voice" +msgstr "" + +#: gajim/gui_menu_builder.py:890 +#, fuzzy +msgid "Revoke Voice" +msgstr "_Глас" + +#: gajim/gui_menu_builder.py:910 +#, fuzzy +msgid "Copy" +msgstr "JID на стая" + +#: gajim/chat_control.py:346 gajim/groupchat_control.py:348 +#, fuzzy +msgid "Send File…" +msgstr "Изпращане на _файл" + +#: gajim/chat_control.py:348 gajim/groupchat_control.py:354 +#, fuzzy +msgid "No File Transfer available" +msgstr "Файлови трансфери" + +#: gajim/chat_control.py:479 +#, fuzzy +msgid "Show a list of formattings" +msgstr "Списък с емотикони (Alt+M)" + +#: gajim/chat_control.py:483 +#, fuzzy +msgid "This contact does not support HTML" +msgstr "Списък с активни, завършили и прекъснати файлови трансфери" + +#: gajim/chat_control.py:684 +msgid "Ping?" +msgstr "Пинг?" + +#: gajim/chat_control.py:687 +#, fuzzy, python-format +msgid "Pong! (%s seconds)" +msgstr "Понг! (%s сек)" + +#: gajim/chat_control.py:758 +#, fuzzy +msgid "Calling…" +msgstr "Отлъчване…" + +#: gajim/chat_control.py:783 gajim/chat_control.py:870 +#, fuzzy +msgid "Connection Error" +msgstr "Свързване" + +#: gajim/chat_control.py:811 gajim/data/gui/chat_control.ui:1185 +msgid "Turn Camera on" +msgstr "" + +#: gajim/chat_control.py:822 +msgid "Calling (Video)…" +msgstr "" + +#: gajim/chat_control.py:826 gajim/chat_control.py:834 +#: gajim/chat_control.py:864 +msgid "Turn Camera off" +msgstr "" + +#: gajim/chat_control.py:832 +msgid "Incoming Call (Video)" +msgstr "" + +#: gajim/chat_control.py:1020 +#, python-format +msgid "%(nickname)s from group chat %(room_name)s" +msgstr "%(nickname)s от стая %(room_name)s" + +#: gajim/chat_control.py:1257 +#, fuzzy +msgid "Note: Chat history is disabled for this contact." +msgstr "Пренебрегване на грешката за този сертификат." + +#: gajim/chat_control.py:1259 +msgid "Note: Chat history is disabled for this account." +msgstr "" + +#: gajim/chat_control.py:1260 +#, fuzzy, python-format +msgid "" +"You just received a new message from %s.\n" +"Do you want to close this tab?" +msgstr "Току-що получихте ново съобщение от „%s“" + +#: gajim/chat_control.py:1266 gajim/gtk/remove_account.py:43 +#: gajim/gtk/change_password.py:44 +#, fuzzy +msgid "Close" +msgstr "Изпра_щане и затваряне" + +#: gajim/chat_control.py:1267 gajim/gtk/notification.py:184 +#: gajim/gtk/notification.py:204 gajim/gtk/notification.py:218 +#: gajim/gtk/notification.py:271 gajim/common/connection_handlers_events.py:237 +msgid "New Message" +msgstr "Ново съобщение" + +#: gajim/chat_control.py:1272 gajim/chat_control.py:1579 +#: gajim/chat_control.py:1588 gajim/message_window.py:371 +#: gajim/data/gui/groupchat_control.ui:1117 +#: gajim/data/gui/groupchat_control.ui:1203 +#: gajim/data/gui/groupchat_control.ui:1308 +#: gajim/data/gui/groupchat_control.ui:1997 +#, fuzzy +msgid "_Close" +msgstr "Изпра_щане и затваряне" + +#: gajim/chat_control.py:1359 +#, python-format +msgid "" +"Subject: %(subject)s\n" +"%(message)s" +msgstr "" +"Тема: %(subject)s\n" +"%(message)s" + +#: gajim/chat_control.py:1480 +#, fuzzy, python-format +msgid "%(name)s is now %(show)s %(status)s" +msgstr "%(name)s вече е %(status)s" + +#: gajim/chat_control.py:1545 +#, fuzzy +msgid "Size" +msgstr "Размер: %s" + +#: gajim/chat_control.py:1547 gajim/chat_control.py:1609 +#: gajim/gtk/groupchat_invitation.py:67 +#, fuzzy +msgid "_Decline" +msgstr "_Изключен" + +#: gajim/chat_control.py:1550 gajim/chat_control.py:1611 +#: gajim/chat_control.py:1668 gajim/gtk/dialogs.py:59 +#, fuzzy +msgid "_Accept" +msgstr "_Акаунти" + +#: gajim/chat_control.py:1577 gajim/gtk/filetransfer.py:259 +#, fuzzy +msgid "Open _Folder" +msgstr "_Отваряне на папката" + +#: gajim/chat_control.py:1662 +#, fuzzy +msgid "" +"\n" +"Video Call" +msgstr "Лични разговори" + +#: gajim/chat_control.py:1664 +#, fuzzy +msgid "" +"\n" +"Voice Call" +msgstr "Запитване за файлов трансфер" + +#: gajim/chat_control.py:1666 +#, fuzzy +msgid "_Reject" +msgstr "Обезсърчен" + +#: gajim/chat_control.py:1692 gajim/gtk/filetransfer.py:297 +#, fuzzy +msgid "File transfer stopped" +msgstr "Файловият трансфер е преустановен" + +#: gajim/chat_control.py:1697 gajim/gtk/filetransfer.py:275 +#: gajim/gtk/filetransfer.py:284 +msgid "File transfer cancelled" +msgstr "Файловият трансфер е прекъснат" + +#: gajim/chat_control.py:1698 +msgid "Connection with peer cannot be established." +msgstr "Не може да бъде установен контакт с отсрещната машина." + +#: gajim/chat_control_base.py:141 gajim/gtk/start_chat.py:649 +#: gajim/gtk/groupchat_invite.py:318 +#, fuzzy, python-format +msgid "Account: %s" +msgstr "Акаунти" + +#: gajim/chat_control_base.py:592 +msgid "and authenticated" +msgstr "и удостоверяването е успешно" + +#: gajim/chat_control_base.py:596 +msgid "and NOT authenticated" +msgstr "и удостоверяването НЕ Е успешно" + +#: gajim/chat_control_base.py:600 +#, fuzzy, python-format +msgid "%(type)s encryption is active %(authenticated)s." +msgstr "" +"Шифрирането чрез %(type)s %(status)s включено %(authenticated)s.\n" +"%(logged)s се запазва дневник за сесията." + +#: gajim/chat_control_base.py:715 +msgid "_Undo" +msgstr "" + +#: gajim/chat_control_base.py:723 gajim/conversation_textview.py:417 +msgid "_Clear" +msgstr "" + +#: gajim/chat_control_base.py:728 +msgid "Paste as quote" +msgstr "" + +#: gajim/chat_control_base.py:767 +#, fuzzy +msgid "Paste Image" +msgstr "Избор на изображение" + +#: gajim/chat_control_base.py:768 +#, fuzzy +msgid "You are trying to paste an image" +msgstr "Не сте свързани към сървъра." + +#: gajim/chat_control_base.py:769 +#, fuzzy +msgid "" +"Are you sure you want to paste your clipboard's image into the chat window?" +msgstr "Сигурни ли сте, че искате да напуснете стаята „%s“?" + +#: gajim/chat_control_base.py:775 +msgid "_Paste" +msgstr "" + +#: gajim/chat_control_base.py:1361 gajim/gtk/accounts.py:310 +#: gajim/data/gui/profile.ui:17 gajim/data/gui/profile.ui:318 +#, fuzzy +msgid "Privacy" +msgstr "Филтър за уединение" + +#: gajim/chat_control_base.py:1362 +#, fuzzy +msgid "Warning" +msgstr "Отлъчване на %s" + +#: gajim/chat_control_base.py:1363 +#, fuzzy, python-format +msgid "" +"If you send a file to %s, your real XMPP address will be revealed." +msgstr "Ако изпратите файл на %s, той/тя ще разбере истинския ви Jabber ID." + +#: gajim/chat_control_base.py:1368 +msgid "_Continue" +msgstr "П_родължаване" + +#: gajim/gajim_remote.py:55 gajim/common/exceptions.py:70 +msgid "D-Bus is not present on this machine or python module is missing" +msgstr "На тази машина няма инсталиран D-Bus или липсва модула за Питон" + +#: gajim/gajim_remote.py:77 +msgid "Shows a help on specific command" +msgstr "Показва помощ за специфична команда" + +#: gajim/gajim_remote.py:80 +msgid "command" +msgstr "команда" + +#: gajim/gajim_remote.py:81 +msgid "show help on command" +msgstr "показване на помощ за команда" + +#: gajim/gajim_remote.py:85 +#, fuzzy +msgid "Lists all contacts in the contact list, one for each line" +msgstr "" +"Показване на списък с всички контакти. Всеки контакт се появява на отделен " +"ред" + +#: gajim/gajim_remote.py:87 gajim/gajim_remote.py:102 gajim/gajim_remote.py:112 +#: gajim/gajim_remote.py:122 gajim/gajim_remote.py:133 +#: gajim/gajim_remote.py:142 gajim/gajim_remote.py:163 +#: gajim/gajim_remote.py:171 gajim/gajim_remote.py:180 +#: gajim/gajim_remote.py:187 +#, fuzzy +msgid "?CLI:account" +msgstr "акаунт" + +#: gajim/gajim_remote.py:87 +msgid "show only contacts of the given account" +msgstr "показва само контактите на дадения акаунт" + +#: gajim/gajim_remote.py:93 +msgid "Prints a list of registered accounts" +msgstr "Показване на списък с регистрираните акаунти" + +#: gajim/gajim_remote.py:97 +#, fuzzy +msgid "Changes the status of account(s)" +msgstr "Промяна на състоянието на акаунта или акаунтите" + +#: gajim/gajim_remote.py:100 +#, fuzzy +msgid "?CLI:status" +msgstr "състояние" + +#: gajim/gajim_remote.py:100 +#, fuzzy +msgid "" +"one of: offline, online, chat, away, xa, dnd. If not set, use account's " +"previous status" +msgstr "" +"едно от: offline (изключен), online (на линия), chat (свободен за разговор), " +"away (отсъствам), xa (не съм на разположение), dnd (зает), invisible " +"(невидим)" + +#: gajim/gajim_remote.py:101 gajim/gajim_remote.py:121 +#: gajim/gajim_remote.py:132 gajim/gajim_remote.py:141 +#, fuzzy +msgid "?CLI:message" +msgstr "съобщение" + +#: gajim/gajim_remote.py:101 +msgid "status message" +msgstr "съобщение за състояние" + +#: gajim/gajim_remote.py:102 +msgid "" +"change status of account \"account\". If not specified, try to change status " +"of all accounts that have \"sync with global status\" option set" +msgstr "" +"променя състоянието на акаунта. Ако не е указано се прави опит за смяна на " +"състоянието на всички акаунти, които имат настроена опция „синхронизиране с " +"общото състояние“" + +#: gajim/gajim_remote.py:108 +#, fuzzy +msgid "Changes the priority of account(s)" +msgstr "Промяна на състоянието на акаунта или акаунтите" + +#: gajim/gajim_remote.py:110 +#, fuzzy +msgid "?CLI:priority" +msgstr "Приори_тет:" + +#: gajim/gajim_remote.py:110 +#, fuzzy +msgid "priority you want to give to the account" +msgstr "_Искам да регистрирам нов акаунт" + +#: gajim/gajim_remote.py:112 +#, fuzzy +msgid "" +"change the priority of the given account. If not specified, change status of " +"all accounts that have \"sync with global status\" option set" +msgstr "" +"променя състоянието на акаунта. Ако не е указано се прави опит за смяна на " +"състоянието на всички акаунти, които имат настроена опция „синхронизиране с " +"общото състояние“" + +#: gajim/gajim_remote.py:118 +#, fuzzy +msgid "" +"Sends new chat message to a contact in the contact list. Account is optional." +msgstr "Употреба: /%s, изпраща съобщение до контакта." + +#: gajim/gajim_remote.py:120 gajim/gajim_remote.py:130 +#, fuzzy +msgid "XMPP Address of the contact that will receive the message" +msgstr "JID на контакта, който ще получи съобщението" + +#: gajim/gajim_remote.py:121 gajim/gajim_remote.py:132 +#: gajim/gajim_remote.py:141 +msgid "message contents" +msgstr "текст на съобщението" + +#: gajim/gajim_remote.py:122 gajim/gajim_remote.py:133 +#: gajim/gajim_remote.py:142 +msgid "if specified, the message will be sent using this account" +msgstr "ако е указано, съобщението ще бъде изпратено от този акаунт" + +#: gajim/gajim_remote.py:127 +#, fuzzy +msgid "" +"Sends a chat message to someone on your contact list. Account is optional." +msgstr "Употреба: /%s, изпраща съобщение до контакта." + +#: gajim/gajim_remote.py:131 +msgid "subject" +msgstr "тема" + +#: gajim/gajim_remote.py:131 +msgid "message subject" +msgstr "тема на съобщението" + +#: gajim/gajim_remote.py:138 +#, fuzzy +msgid "Sends new message to a group chat you've joined." +msgstr "Изпраща ново съобщение до стаята, в която сте влезли." + +#: gajim/gajim_remote.py:140 +#, fuzzy +msgid "XMPP Address of the group chat that will receive the message" +msgstr "JID на стаята, която ще получи съобщението" + +#: gajim/gajim_remote.py:147 +msgid "Gets detailed info on a contact" +msgstr "Получаване на подробна информация за контакта" + +#: gajim/gajim_remote.py:149 gajim/gajim_remote.py:162 +#: gajim/gajim_remote.py:170 +#, fuzzy +msgid "XMPP Address of the contact" +msgstr "JID на контакта" + +#: gajim/gajim_remote.py:153 +msgid "Gets detailed info on a account" +msgstr "Получаване на подробна информация за акаунта" + +#: gajim/gajim_remote.py:155 +msgid "Name of the account" +msgstr "Име на акаунта" + +#: gajim/gajim_remote.py:159 +msgid "Sends file to a contact" +msgstr "Изпращане на файл до контакт" + +#: gajim/gajim_remote.py:161 +msgid "file" +msgstr "файл" + +#: gajim/gajim_remote.py:161 +msgid "File path" +msgstr "Път до файл" + +#: gajim/gajim_remote.py:163 +msgid "if specified, file will be sent using this account" +msgstr "ако е указано, файлът бъде изпратен от този акаунт" + +#: gajim/gajim_remote.py:168 +#, fuzzy +msgid "Removes contact from contact list" +msgstr "Премахване на контакт от списъка" + +#: gajim/gajim_remote.py:171 +msgid "if specified, contact is taken from the contact list of this account" +msgstr "ако е указано, контактът се взима от списъка с контакти на този акаунт" + +#: gajim/gajim_remote.py:178 +msgid "Returns current status (the global one unless account is specified)" +msgstr "Връща текущото състояние (общото, в случай, че не е указан акаунт)" + +#: gajim/gajim_remote.py:185 +msgid "" +"Returns current status message (the global one unless account is specified)" +msgstr "" +"Връща текущото съобщение за състояние (общото, в случай, че не е указан " +"акаунт)" + +#: gajim/gajim_remote.py:192 +msgid "Returns number of unread messages" +msgstr "Връща броя непрочетени съобщения" + +#: gajim/gajim_remote.py:197 +msgid "Sends custom XML" +msgstr "Изпраща указан XML" + +#: gajim/gajim_remote.py:199 +msgid "XML to send" +msgstr "XML за изпращане" + +#: gajim/gajim_remote.py:200 +#, fuzzy +msgid "" +"Account to which the XML will be sent; if not specified, XML will be sent to " +"all accounts" +msgstr "" +"Акаунт, до който да се изпраща XML; ако не е указан, ще се изпрати до всички " +"акаунти" + +#: gajim/gajim_remote.py:207 +msgid "Check if Gajim is running" +msgstr "Проверка дали Gajim е стартиран" + +#: gajim/gajim_remote.py:233 +msgid "Missing argument \"contact_jid\"" +msgstr "Липсващ аргумент „contact_jid“" + +#: gajim/gajim_remote.py:253 +#, fuzzy, python-format +msgid "" +"'%s' is not in your contact list.\n" +"Please specify account for sending the message." +msgstr "" +"„%s“ не е в списъка ви.\n" +"Укажете акаунт за изпращането на това съобщение." + +#: gajim/gajim_remote.py:256 +msgid "You have no active account" +msgstr "Нямате активен акаунт" + +#: gajim/gajim_remote.py:304 +msgid "It seems Gajim is not running. So you can't use gajim-remote." +msgstr "" +"Изглежда Gajim не е стартиран, така че не може да ползвате gajim-remote." + +#: gajim/gajim_remote.py:331 +#, python-format +msgid "" +"Usage: %(basename)s %(command)s %(arguments)s \n" +"\t %(help)s" +msgstr "" +"Употреба: %(basename)s %(command)s %(arguments)s \n" +"\t %(help)s" + +#: gajim/gajim_remote.py:335 +msgid "Arguments:" +msgstr "Аргументи:" + +#: gajim/gajim_remote.py:339 +#, python-format +msgid "%s not found" +msgstr "%s не е намерен" + +#: gajim/gajim_remote.py:345 +#, fuzzy, python-format +msgid "" +"Usage:\n" +" %s command [arguments]\n" +"\n" +"Command is one of:\n" +msgstr "" +"Употреба: %s команда [аргументи]\n" +"Командата е една от:\n" + +#: gajim/gajim_remote.py:415 +#, python-format +msgid "" +"Too many arguments. \n" +"Type \"%(basename)s help %(command)s\" for more info" +msgstr "" +"Твърде много аргументи. \n" +"Напишете „%(basename)s help %(command)s“ за повече информация" + +#: gajim/gajim_remote.py:420 +#, python-format +msgid "" +"Argument \"%(arg)s\" is not specified. \n" +"Type \"%(basename)s help %(command)s\" for more info" +msgstr "" +"Не е указан аргумент „%(arg)s“.\n" +"Напишете „%(basename)s help %(command)s“ за повече информация" + +#: gajim/dialogs.py:70 +#, python-format +msgid "Contact name: %s" +msgstr "Име на контакта: %s" + +#: gajim/dialogs.py:72 +#, python-format +msgid "XMPP Address: %s" +msgstr "" + +#: gajim/dialogs.py:189 +msgid "Group" +msgstr "Група" + +#: gajim/dialogs.py:196 +msgid "In the group" +msgstr "В групата" + +#: gajim/dialogs.py:211 gajim/gtk/discovery.py:522 +msgid "You are not connected to the server" +msgstr "Не сте свързани към сървъра." + +#: gajim/dialogs.py:212 +msgid "Without a connection, you can not synchronise your contacts." +msgstr "Трябва да сте свързани, за да синхронизирате контактите си." + +#: gajim/dialogs.py:223 gajim/dialogs.py:294 +#: gajim/gtk/roster_item_exchange.py:83 gajim/gtk/discovery.py:826 +#: gajim/gtk/discovery.py:1650 gajim/gtk/discovery.py:1896 +#: gajim/gtk/history.py:99 gajim/gtk/vcard_grid.py:34 +#: gajim/data/gui/bookmarks.ui:66 +msgid "Name" +msgstr "Име" + +#: gajim/dialogs.py:226 gajim/data/gui/preferences.ui:604 +#: gajim/data/gui/server_info.ui:146 +msgid "Server" +msgstr "Сървър" + +#: gajim/dialogs.py:262 +msgid "This account is not connected to the server" +msgstr "Този акаунт не е свързан към сървъра" + +#: gajim/dialogs.py:263 +msgid "You cannot synchronize with an account unless it is connected." +msgstr "Не може да се синхронизирате с акаунт, ако не е свързан." + +#: gajim/dialogs.py:292 +msgid "Synchronise" +msgstr "Синхронизиране" + +#: gajim/vcard.py:284 +msgid "?Client:Unknown" +msgstr "Неизвестен" + +#: gajim/vcard.py:289 +msgid "?OS:Unknown" +msgstr "Неизвестна" + +#: gajim/vcard.py:319 gajim/vcard.py:322 +#, fuzzy +msgid "?Time:Unknown" +msgstr "Неизвестен" + +#: gajim/vcard.py:373 +msgid "?Role in Group Chat:Role:" +msgstr "" + +#: gajim/vcard.py:377 +msgid "Affiliation:" +msgstr "Ранг:" + +#: gajim/vcard.py:384 +#, fuzzy +msgid "" +"This contact is interested in your presence information, but you are not " +"interested in their presence" +msgstr "" +"Този контакт се интересува от информацията за вашето състояние, но вие не се " +"интересувате от неговото" + +#: gajim/vcard.py:386 +#, fuzzy +msgid "" +"You are interested in the contact's presence information, but it is not " +"mutual" +msgstr "" +"Вие с интересувате от информацията за състоянието на този контакт, но той не " +"се интересува от вашето" + +#: gajim/vcard.py:388 +#, fuzzy +msgid "The contact and you want to exchange presence information" +msgstr "" +"Вие и контакта се интересувате взаимно от информацията за състоянията си" + +#: gajim/vcard.py:390 +#, fuzzy +msgid "" +"You and the contact have a mutual disinterest in each-others presence " +"information" +msgstr "" +"Вие и контакта се интересувате взаимно от информацията за състоянията си" + +#: gajim/vcard.py:396 +msgid "You are waiting contact's answer about your subscription request" +msgstr "Чакате отговора на контакта относно запитването ви за записване" + +#: gajim/vcard.py:398 +msgid "There is no pending subscription request." +msgstr "Няма чакащо запитване за записване." + +#: gajim/vcard.py:403 gajim/vcard.py:453 gajim/vcard.py:549 +msgid " resource with priority " +msgstr " ресурс с приоритет " + +#: gajim/conversation_textview.py:65 +#, fuzzy +msgid "Untrusted" +msgstr "Заинтересуван" + +#: gajim/conversation_textview.py:68 +msgid "Trust Not Decided" +msgstr "" + +#: gajim/conversation_textview.py:71 +msgid "Unverified" +msgstr "" + +#: gajim/conversation_textview.py:74 +#, fuzzy +msgid "Verified" +msgstr "_Проверка" + +#: gajim/conversation_textview.py:225 +msgid "" +"Text below this line is what has been said since the\n" +"last time you paid attention to this group chat" +msgstr "" +"Текстът под този ред е последното, което е казано откакто\n" +"за последен път сте обърнали внимание на тази стая" + +#: gajim/conversation_textview.py:428 +#, fuzzy +msgid "_Quote" +msgstr "_Изход" + +#: gajim/conversation_textview.py:436 +#, python-format +msgid "_Actions for \"%s\"" +msgstr "_Действия за „%s“" + +#: gajim/conversation_textview.py:450 +msgid "Read _Wikipedia Article" +msgstr "Четене на статия от _Уикипедия" + +#: gajim/conversation_textview.py:455 +msgid "Look it up in _Dictionary" +msgstr "Проверка в _речника" + +#: gajim/conversation_textview.py:472 +#, python-format +msgid "Dictionary URL is missing an \"%s\" and it is not WIKTIONARY" +msgstr "Липсва „%s“ в адреса на речника и не е WIKTIONARY" + +#: gajim/conversation_textview.py:486 +#, python-format +msgid "Web Search URL is missing an \"%s\"" +msgstr "Липсва „%s“ в адреса за търсене" + +#: gajim/conversation_textview.py:489 +msgid "Web _Search for it" +msgstr "_Търсене в уеб" + +#: gajim/conversation_textview.py:495 +msgid "Open as _Link" +msgstr "Отваряне като _връзка" + +#: gajim/conversation_textview.py:770 +#, fuzzy +msgid "Invalid URL" +msgstr "Невалиден JID" + +#: gajim/conversation_textview.py:860 +msgid "" +"Message corrected. Original message:\n" +"{}" +msgstr "" + +#: gajim/conversation_textview.py:1031 +#, fuzzy +msgid "Not encrypted" +msgstr "Не е започнал" + +#: gajim/conversation_textview.py:1034 +#, python-format +msgid "Encrypted (%s)" +msgstr "" + +#: gajim/conversation_textview.py:1141 gajim/gtk/history.py:618 +#, python-format +msgid "Subject: %s\n" +msgstr "Тема: %s\n" + +#: gajim/conversation_textview.py:1250 +#, fuzzy +msgid "Received" +msgstr "Получено %s" + +#: gajim/conversation_textview.py:1272 +msgid "?Message state:Read" +msgstr "" + +#: gajim/groupchat_control.py:352 +#, fuzzy, python-format +msgid "Send File (max. %s MiB)…" +msgstr "Запазване на файла като…" + +#: gajim/groupchat_control.py:497 +#, fuzzy, python-format +msgid "%s has been invited to this group chat" +msgstr "%(nick)s беше изритан от стаята (%(reason)s)" + +#: gajim/groupchat_control.py:512 gajim/dialog_messages.py:31 +#: gajim/dialog_messages.py:36 gajim/gtk/single_message.py:238 +#, fuzzy +msgid "Invalid XMPP Address" +msgstr "Невалиден файл" + +#: gajim/groupchat_control.py:575 +#, fuzzy +msgid "Loading avatar failed" +msgstr "Неуспех при изпращането на лично съобщение" + +#: gajim/groupchat_control.py:595 +#, fuzzy, python-format +msgid "Avatar upload failed: %s" +msgstr "Неуспех при публикуването на визитката" + +#: gajim/groupchat_control.py:598 +#, fuzzy +msgid "Avatar upload successful" +msgstr "Неуспех при публикуването на визитката" + +#: gajim/groupchat_control.py:616 +#, fuzzy, python-format +msgid "Kick %s" +msgstr "Изритване на %s" + +#: gajim/groupchat_control.py:625 +#, fuzzy, python-format +msgid "Ban %s" +msgstr "Списък с отлъчени" + +#: gajim/groupchat_control.py:684 +msgid "Insert Nickname" +msgstr "Въведете псевдоним" + +#: gajim/groupchat_control.py:775 gajim/groupchat_control.py:776 +#, fuzzy +msgid "Voice Request" +msgstr "Запитване за файлов трансфер" + +#: gajim/groupchat_control.py:777 +#, python-format +msgid "%(nick)s from %(room_name)s requests voice" +msgstr "" + +#: gajim/groupchat_control.py:781 +msgid "_Approve" +msgstr "" + +#: gajim/groupchat_control.py:1007 +#, fuzzy, python-format +msgid "%(nick)s has set the subject to %(subject)s" +msgstr "%(jid)s зададе темата на %(subject)s" + +#: gajim/groupchat_control.py:1023 +#, fuzzy +msgid "Group chat now shows unavailable members" +msgstr "Стаята показва отсъстващ член" + +#: gajim/groupchat_control.py:1026 +#, fuzzy +msgid "Group chat now does not show unavailable members" +msgstr "Стаята не показва отсъстващи членове" + +#: gajim/groupchat_control.py:1030 +msgid "A setting not related to privacy has been changed" +msgstr "" + +#: gajim/groupchat_control.py:1037 gajim/groupchat_control.py:1197 +#, fuzzy +msgid "Conversations are stored on the server" +msgstr "НЯМА да се запазва дневник за сесията" + +#: gajim/groupchat_control.py:1040 +#, fuzzy +msgid "Conversations are not stored on the server" +msgstr "Вашите лични данни, както са запазени на сървъра" + +#: gajim/groupchat_control.py:1043 +#, fuzzy +msgid "Group chat is now non-anonymous" +msgstr "Стаята не е анонимна" + +#: gajim/groupchat_control.py:1047 +#, fuzzy +msgid "Group chat is now semi-anonymous" +msgstr "Стаята е полу-анонимна" + +#: gajim/groupchat_control.py:1051 +#, fuzzy +msgid "Group chat is now fully anonymous" +msgstr "Стаята е напълно анонимна" + +#: gajim/groupchat_control.py:1101 +#, fuzzy, python-format +msgid "Ping? (%s)" +msgstr "Понг! (%s сек)" + +#: gajim/groupchat_control.py:1104 +#, fuzzy, python-format +msgid "Pong! (%(nick)s %(delay)s s.)" +msgstr "Понг! (%s сек)" + +#: gajim/groupchat_control.py:1188 +#, fuzzy, python-format +msgid "You (%s) joined the group chat" +msgstr "%s влезе в стаята" + +#: gajim/groupchat_control.py:1193 +#, fuzzy +msgid "Any participant is allowed to see your full XMPP Address" +msgstr "На всеки участник е позволено да вижда вашия JID" + +#: gajim/groupchat_control.py:1201 +#, fuzzy +msgid "The server has assigned or modified your nickname in this group chat" +msgstr "Сървърът назначи или промени псевдонима ви в стаята" + +#: gajim/groupchat_control.py:1211 +#, fuzzy +msgid "A new group chat has been created" +msgstr "Беше създадена нова стая" + +#: gajim/groupchat_control.py:1215 +#, fuzzy +msgid "Failed to Configure Group Chat" +msgstr "Излизане от стаите" + +#: gajim/groupchat_control.py:1274 gajim/groupchat_control.py:1304 +#: gajim/groupchat_control.py:1332 gajim/groupchat_control.py:1391 +#, python-brace-format +msgid " by {actor}" +msgstr "" + +#: gajim/groupchat_control.py:1277 +#, fuzzy, python-brace-format +msgid "** Your Affiliation has been set to {affiliation}{actor}{reason}" +msgstr "** Рангът на %(nick)s бе зададен на %(affiliation)s от %(actor)s" + +#: gajim/groupchat_control.py:1283 +#, fuzzy, python-brace-format +msgid "** Affiliation of {nick} has been set to {affiliation}{actor}{reason}" +msgstr "** Рангът на %(nick)s бе зададен на %(affiliation)s" + +#: gajim/groupchat_control.py:1307 +#, fuzzy, python-brace-format +msgid "** Your Role has been set to {role}{actor}{reason}" +msgstr "** Ролята на %(nick)s бе зададена на %(role)s от %(actor)s" + +#: gajim/groupchat_control.py:1312 +#, fuzzy, python-brace-format +msgid "** Role of {nick} has been set to {role}{actor}{reason}" +msgstr "** Ролята на %(nick)s бе зададена на %(role)s от %(actor)s" + +#: gajim/groupchat_control.py:1335 +#, fuzzy, python-brace-format +msgid "You have been removed from the group chat{actor}{reason}" +msgstr "%(nick)s беше изритан от стаята (%(reason)s)" + +#: gajim/groupchat_control.py:1340 +#, python-brace-format +msgid "You have left due to an error{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1346 +#, python-brace-format +msgid "You have been kicked{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1353 +#, python-brace-format +msgid "You have been banned{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1360 gajim/groupchat_control.py:1423 +#, fuzzy +msgid ": Affiliation changed" +msgstr "рангът е променен" + +#: gajim/groupchat_control.py:1366 gajim/groupchat_control.py:1428 +#, fuzzy +msgid ": Group chat configuration changed to members-only" +msgstr "Конфигурацията на стаята бе променена на „само за членове“" + +#: gajim/groupchat_control.py:1394 +#, fuzzy, python-brace-format +msgid "{nick} has been removed from the group chat{by}{reason}" +msgstr "%(nick)s беше изритан от стаята (%(reason)s)" + +#: gajim/groupchat_control.py:1402 +#, python-brace-format +msgid "{nick} has left due to an error{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1408 +#, fuzzy, python-brace-format +msgid "{nick} has been kicked{actor}{reason}" +msgstr "%(nick)s беше изритан: %(reason)s" + +#: gajim/groupchat_control.py:1416 +#, fuzzy, python-brace-format +msgid "{nick} has been banned{actor}{reason}" +msgstr "%(nick)s беше отлъчен: %(reason)s" + +#: gajim/groupchat_control.py:1433 +#, python-brace-format +msgid "{nick} has left{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1451 +#, python-format +msgid "%s has joined the group chat" +msgstr "%s влезе в стаята" + +#: gajim/groupchat_control.py:1463 +#, fuzzy +msgid "Failed to Join Group Chat" +msgstr "Неуспех при влизането в стаята" + +#: gajim/groupchat_control.py:1469 +#, fuzzy +msgid "Failed to Create Group Chat" +msgstr "Излизане от стаите" + +#: gajim/groupchat_control.py:1485 +#, fuzzy +msgid "Group chat has been destroyed" +msgstr "Стаята е била унищожена" + +#: gajim/groupchat_control.py:1490 +#, fuzzy, python-format +msgid "You can join this group chat instead: xmpp:%s?join" +msgstr "Вместо това може да влезете в тази стая: %s" + +#: gajim/groupchat_control.py:1672 +#, fuzzy +msgid "Leave Group Chat" +msgstr "Излизане от стаите" + +#: gajim/groupchat_control.py:1673 +#, fuzzy +msgid "Are you sure you want to leave this group chat?" +msgstr "Сигурни ли сте, че искате да напуснете стаята „%s“?" + +#: gajim/groupchat_control.py:1674 +#, fuzzy, python-format +msgid "If you close this window, you will leave '%s'." +msgstr "Ако затворите този прозорец, връзката със стаята ще бъде прекъсната." + +#: gajim/message_window.py:365 +#, fuzzy +msgid "Close Tabs" +msgstr "Изпра_щане и затваряне" + +#: gajim/message_window.py:366 +#, fuzzy +msgid "You are about to close several tabs" +msgstr "Не сте свързани към сървъра." + +#: gajim/message_window.py:367 +#, fuzzy +msgid "Do you really want to close all of them?" +msgstr "Наистина ли искате да изтриете избраното съобщение?" + +#: gajim/message_window.py:526 +#, fuzzy +msgid "?Noun:Chats" +msgstr "Стаи" + +#: gajim/message_window.py:530 gajim/data/gui/preferences.ui:155 +#, fuzzy +msgid "Group Chats" +msgstr "Стаи" + +#: gajim/message_window.py:534 +msgid "Private Chats" +msgstr "Лични разговори" + +#: gajim/message_window.py:540 +msgid "Messages" +msgstr "Съобщения" + +#: gajim/dialog_messages.py:37 +#, fuzzy, python-format +msgid "" +"It is not possible to send a message to %s. This XMPP Address is not valid." +msgstr "Не е възможно да бъдат изпращани празни файлове" + +#: gajim/dialog_messages.py:42 +#, fuzzy +msgid "Unread Events" +msgstr "Непрочетени събития" + +#: gajim/dialog_messages.py:43 +#, fuzzy +msgid "Read or acknowledge all pending events before removing this account." +msgstr "Преди да премахнете този акаунт, прочетете всички чакащи събития." + +#: gajim/dialog_messages.py:48 +#, fuzzy +msgid "Invalid Form" +msgstr "Невалиден формат" + +#: gajim/dialog_messages.py:49 +#, fuzzy +msgid "The form is not filled correctly." +msgstr "Псевдонимът съдържа непозволени знаци." + +#: gajim/dialog_messages.py:53 +#, fuzzy +msgid "No Connection Available" +msgstr "В момента няма връзка" + +#: gajim/dialog_messages.py:54 +msgid "Your message can not be sent until you are connected." +msgstr "Съобщението не може да бъде изпратено, докато не се свържете." + +#: gajim/dialog_messages.py:58 +msgid "XMPP Address Already in List" +msgstr "" + +#: gajim/dialog_messages.py:59 +#, fuzzy +msgid "" +"The XMPP Address you entered is already in the list. Please choose another " +"one." +msgstr "Въведеният Jabber ID вече съществува в списъка. Изберете друг." + +#: gajim/dialog_messages.py:64 +#, fuzzy +msgid "Invalid Answer" +msgstr "Невалиден отговор" + +#: gajim/dialog_messages.py:65 +#, python-format +msgid "Transport %(name)s answered wrongly to register request: %(error)s" +msgstr "" +"Транспортът „%(name)s“ отговори погрешно на запитването за регистрация: " +"%(error)s" + +#: gajim/dialog_messages.py:70 +#, fuzzy +msgid "Wrong Custom Hostname" +msgstr "Използване на нестандартен хост/порт" + +#: gajim/dialog_messages.py:71 +#, fuzzy, python-format +msgid "Custom hostname \"%s\" is wrong. It will be ignored." +msgstr "Използване на нестандартен хост/порт" + +#: gajim/dialog_messages.py:75 +#, fuzzy +msgid "Registration Succeeded" +msgstr "Регистриране в %s" + +#: gajim/dialog_messages.py:76 +#, fuzzy, python-format +msgid "Registration with agent %s succeeded." +msgstr "Регистриране в %s" + +#: gajim/dialog_messages.py:80 +#, fuzzy +msgid "Registration Failed" +msgstr "Неуспех при свързването" + +#: gajim/dialog_messages.py:81 +#, python-format +msgid "" +"Registration with agent %(agent)s failed with error %(error)s: %(error_msg)s" +msgstr "" + +#: gajim/dialog_messages.py:86 +#, fuzzy +msgid "GStreamer Error" +msgstr "Грешка в базата от данни" + +#: gajim/dialog_messages.py:87 +#, fuzzy, python-format +msgid "" +"Error: %(error)s\n" +"Debug: %(debug)s" +msgstr "Грешка: %s" + +#: gajim/dialog_messages.py:91 +#, fuzzy +msgid "Wrong Host" +msgstr "Грешен хост" + +#: gajim/dialog_messages.py:92 +msgid "Invalid local address? :-O" +msgstr "Невалиден локален адрес? :-O" + +#: gajim/dialog_messages.py:96 +#, fuzzy +msgid "Avahi Error" +msgstr "Грешка на Avahi" + +#: gajim/dialog_messages.py:97 +#, python-format +msgid "" +"%s\n" +"Link-local messaging might not work properly." +msgstr "" +"%s\n" +"Изпращането и получаването на съобщения тип „link-local“ може и да не " +"функционира правилно." + +#: gajim/dialog_messages.py:101 +#, fuzzy +msgid "Could not Open File" +msgstr "Неуспех при зареждането на изображението" + +#: gajim/command_system/mapping.py:169 gajim/command_system/mapping.py:179 +#: gajim/command_system/mapping.py:199 +#, fuzzy +msgid "Missing arguments" +msgstr "Липсващ аргумент „contact_jid“" + +#: gajim/command_system/mapping.py:266 +#, fuzzy +msgid "Too many arguments" +msgstr "Липсващ аргумент „contact_jid“" + +#: gajim/command_system/implementation/middleware.py:76 +msgid "Error during command execution!" +msgstr "" + +#: gajim/command_system/implementation/execute.py:60 +msgid "Execute expression inside a shell, show output" +msgstr "" + +#: gajim/command_system/implementation/execute.py:74 +msgid "" +"Command disabled. This command can be enabled by setting " +"'command_system_execute' to True in ACE (Advanced Configuration Editor)." +msgstr "" + +#: gajim/command_system/implementation/execute.py:125 +msgid "Execute expression inside a shell, send output" +msgstr "" + +#: gajim/command_system/implementation/standard.py:52 +msgid "" +"Show help on a given command or a list of available commands if -a is given" +msgstr "" + +#: gajim/command_system/implementation/standard.py:81 +#, fuzzy +msgid "Send a message to the contact" +msgstr "Употреба: /%s, изпраща съобщение до контакта." + +#: gajim/command_system/implementation/standard.py:86 +msgid "Send action (in the third person) to the current chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:91 +msgid "Show logged messages which mention given text" +msgstr "" + +#: gajim/command_system/implementation/standard.py:96 +#, fuzzy, python-format +msgid "%s: Nothing found" +msgstr "%s не е намерен" + +#: gajim/command_system/implementation/standard.py:102 +msgid "Limit must be an integer" +msgstr "" + +#: gajim/command_system/implementation/standard.py:127 +msgid "" +"\n" +" Set the current status\n" +"\n" +" Status can be given as one of the following values:\n" +" online, away, chat, xa, dnd.\n" +" " +msgstr "" + +#: gajim/command_system/implementation/standard.py:145 +msgid "Set the current status to away" +msgstr "" + +#: gajim/command_system/implementation/standard.py:148 +#: gajim/common/helpers.py:200 gajim/common/modules/adhoc_commands.py:122 +msgid "Away" +msgstr "Отсъствам" + +#: gajim/command_system/implementation/standard.py:159 +msgid "Set the current status to online" +msgstr "" + +#: gajim/command_system/implementation/standard.py:162 +#, fuzzy +msgid "Available" +msgstr "На _линия" + +#: gajim/command_system/implementation/standard.py:173 +#, fuzzy +msgid "Send a disco info request" +msgstr "Изпратени заявки" + +#: gajim/command_system/implementation/standard.py:192 +#: gajim/command_system/implementation/standard.py:273 +#, fuzzy +msgid "Clear the text window" +msgstr "Употреба: /%s, изчиства текстовия прозорец." + +#: gajim/command_system/implementation/standard.py:197 +#: gajim/command_system/implementation/standard.py:425 +#, fuzzy +msgid "Send a ping to the contact" +msgstr "Употреба: /%s, изпраща „ping“ до контакта." + +#: gajim/command_system/implementation/standard.py:201 +#: gajim/command_system/implementation/standard.py:429 +#, fuzzy +msgid "Command is not supported for zeroconf accounts" +msgstr "Командата не се поддържа за акаунт тип „zeroconf“." + +#: gajim/command_system/implementation/standard.py:205 +msgid "Send DTMF sequence through an open voice chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:208 +#, fuzzy +msgid "No open voice chats with the contact" +msgstr " отворен прозорец/подпрозорец с този контакт " + +#: gajim/command_system/implementation/standard.py:211 +#, fuzzy, python-format +msgid "%s is not a valid tone" +msgstr "%s не е валидно ниво за дневник" + +#: gajim/command_system/implementation/standard.py:218 +msgid "Toggle Voice Chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:221 +#, fuzzy +msgid "Voice chats are not available" +msgstr "В момента няма връзка" + +#: gajim/command_system/implementation/standard.py:228 +msgid "Toggle Video Chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:231 +#, fuzzy +msgid "Video chats are not available" +msgstr "В момента няма връзка" + +#: gajim/command_system/implementation/standard.py:238 +#, fuzzy +msgid "Send a message to the contact that will attract their attention" +msgstr "Употреба: /%s, изпраща съобщение до контакта." + +#: gajim/command_system/implementation/standard.py:278 +#, fuzzy +msgid "Change your nickname in a group chat" +msgstr "Смяна на псевдоним (Ctrl+N)" + +#: gajim/command_system/implementation/standard.py:283 +msgid "Invalid nickname" +msgstr "Невалиден псевдоним" + +#: gajim/command_system/implementation/standard.py:290 +#, fuzzy +msgid "Open a private chat window with a specified participant" +msgstr "" +"Употреба: /%s <псевдоним>, отваря прозорец за лично съобщение със съответния " +"участник." + +#: gajim/command_system/implementation/standard.py:296 +#: gajim/command_system/implementation/standard.py:306 +#: gajim/command_system/implementation/standard.py:360 +#: gajim/command_system/implementation/standard.py:373 +#: gajim/command_system/implementation/standard.py:385 +#, fuzzy +msgid "Nickname not found" +msgstr "Псевдонимът не е намерен: %s" + +#: gajim/command_system/implementation/standard.py:299 +#, fuzzy +msgid "" +"Open a private chat window with a specified participant and send him a " +"message" +msgstr "" +"Употреба: /%s <псевдоним>, отваря прозорец за лично съобщение със съответния " +"участник." + +#: gajim/command_system/implementation/standard.py:309 +#, fuzzy +msgid "Display or change a group chat topic" +msgstr "Питане преди затваряне на подпрозорец/прозорец на стая." + +#: gajim/command_system/implementation/standard.py:318 +msgid "Invite a user to a group chat for a reason" +msgstr "" + +#: gajim/command_system/implementation/standard.py:325 +#, fuzzy +msgid "Join a group chat given by an XMPP Address" +msgstr "в _стаи" + +#: gajim/command_system/implementation/standard.py:335 +msgid "" +"Leave the group chat, optionally giving a reason, and close tab or window" +msgstr "" + +#: gajim/command_system/implementation/standard.py:341 +msgid "" +"\n" +" Ban user by a nick or a JID from a groupchat\n" +"\n" +" If given nickname is not found it will be treated as a JID.\n" +" " +msgstr "" + +#: gajim/command_system/implementation/standard.py:357 +#, fuzzy +msgid "Kick user from group chat by nickname" +msgstr "Поканени сте в стая." + +#: gajim/command_system/implementation/standard.py:366 +msgid "" +"Set participant role in group chat.\n" +" Role can be given as one of the following values:\n" +" moderator, participant, visitor, none" +msgstr "" + +#: gajim/command_system/implementation/standard.py:371 +#, fuzzy +msgid "Invalid role given" +msgstr "Невалиден сървър" + +#: gajim/command_system/implementation/standard.py:378 +msgid "" +"Set participant affiliation in group chat.\n" +" Affiliation can be given as one of the following values:\n" +" owner, admin, member, outcast, none" +msgstr "" + +#: gajim/command_system/implementation/standard.py:383 +#, fuzzy +msgid "Invalid affiliation given" +msgstr "рангът е променен" + +#: gajim/command_system/implementation/standard.py:393 +#, fuzzy +msgid "Display names of all group chat participants" +msgstr "Употреба: /%s, показва имената на участниците в стаята." + +#: gajim/command_system/implementation/standard.py:415 +msgid "Forbid a participant to send you public or private messages" +msgstr "" + +#: gajim/command_system/implementation/standard.py:420 +msgid "Allow a participant to send you public or private messages" +msgstr "" + +#: gajim/command_system/implementation/standard.py:432 +#, fuzzy +msgid "Unknown nickname" +msgstr "Въведете нов псевдоним за контакт „%s“" + +#: gajim/command_system/implementation/custom.py:114 +msgid "The same as using a doc-string, except it supports translation" +msgstr "" + +#: gajim/gtk/ssl_error_dialog.py:36 gajim/data/gui/ssl_error_dialog.ui:16 +#, fuzzy +msgid "SSL Certificate Verification Error" +msgstr "Грешка в сертификата на SSL" + +#: gajim/gtk/ssl_error_dialog.py:55 +#, fuzzy, python-format +msgid "" +"There was an error while attempting to verify the SSL certificate of your " +"XMPP server (%s)." +msgstr "" +"Възникна грешка при проверката на сертификата за вашия сървър на Джабър: " +"%(error)s\n" +"Все още ли искате да се свържете със сървъра?" + +#: gajim/gtk/ssl_error_dialog.py:58 +#, fuzzy, python-format +msgid "Unknown SSL error '%s'" +msgstr "Неизвестна грешка на SSL: %d" + +#: gajim/gtk/avatar_selector.py:84 +msgid "Select a picture or drop it here" +msgstr "" + +#: gajim/gtk/status_change.py:62 gajim/gtk/preferences.py:627 +#: gajim/gtk/preferences.py:655 +msgid "Status Message" +msgstr "Съобщение за състояние" + +#: gajim/gtk/status_change.py:330 +#, fuzzy +msgid "No activity" +msgstr "Дейност:" + +#: gajim/gtk/status_change.py:370 gajim/gtk/status_change.py:383 +#: gajim/gtk/status_change.py:488 +#, fuzzy +msgid "No mood selected" +msgstr "Няма избран ключ" + +#: gajim/gtk/status_change.py:382 +msgid "No mood" +msgstr "" + +#: gajim/gtk/status_change.py:439 +msgid "Overwrite" +msgstr "" + +#: gajim/gtk/status_change.py:440 +msgid "Overwrite Status Message?" +msgstr "Презаписване на съобщението за състояние?" + +#: gajim/gtk/status_change.py:441 +#, fuzzy +msgid "This name is already in use. Do you want to overwrite this preset?" +msgstr "" +"Това име вече се използва. Искате ли да презапишете това съобщение за " +"състояние?" + +#: gajim/gtk/status_change.py:445 gajim/plugins/gui.py:292 +msgid "_Overwrite" +msgstr "" + +#: gajim/gtk/status_change.py:453 +#, fuzzy +msgid "Status Preset" +msgstr "Съобщение за състояние" + +#: gajim/gtk/status_change.py:454 +#, fuzzy +msgid "Save status as preset" +msgstr "Запазване като настроено…" + +#: gajim/gtk/status_change.py:455 +#, fuzzy +msgid "Please assign a name to this status message preset" +msgstr "Напишете име за това съобщение за състояние" + +#: gajim/gtk/status_change.py:458 gajim/data/gui/profile.ui:336 +#, fuzzy +msgid "_Save" +msgstr "имам " + +#: gajim/gtk/status_change.py:460 +#, fuzzy +msgid "New Status" +msgstr "Състояние" + +#: gajim/gtk/advanced_config.py:46 gajim/gtk/advanced_config.py:144 +msgid "Activated" +msgstr "Активирана" + +#: gajim/gtk/advanced_config.py:47 +msgid "Deactivated" +msgstr "Изключена" + +#: gajim/gtk/advanced_config.py:52 +msgid "?config type:Boolean" +msgstr "" + +#: gajim/gtk/advanced_config.py:53 +msgid "?config type:Integer" +msgstr "" + +#: gajim/gtk/advanced_config.py:54 +msgid "?config type:Text" +msgstr "" + +#: gajim/gtk/advanced_config.py:65 +#, fuzzy +msgid "Advanced Configuration Editor (ACE)" +msgstr "Редактор на настройки за напреднали" + +#: gajim/gtk/advanced_config.py:80 +#, fuzzy +msgid "?config:Preference Name" +msgstr "Име на опцията" + +#: gajim/gtk/advanced_config.py:91 +#, fuzzy +msgid "?config:Value" +msgstr "_Настройване" + +#: gajim/gtk/advanced_config.py:100 +msgid "?config:Type" +msgstr "" + +#: gajim/gtk/advanced_config.py:133 +#, fuzzy +msgid "?config description:None" +msgstr "Няма" + +#: gajim/gtk/preferences.py:63 gajim/data/gui/shortcuts_window.ui:31 +msgid "Preferences" +msgstr "Настройки" + +#: gajim/gtk/preferences.py:185 +msgid "Detached contact list with detached chats" +msgstr "" + +#: gajim/gtk/preferences.py:186 +msgid "Detached contact list with single chat" +msgstr "" + +#: gajim/gtk/preferences.py:187 +msgid "Single window for everything" +msgstr "" + +#: gajim/gtk/preferences.py:188 +msgid "Detached contact list with chats grouped by account" +msgstr "" + +#: gajim/gtk/preferences.py:189 +msgid "Detached contact list with chats grouped by type" +msgstr "" + +#: gajim/gtk/preferences.py:193 gajim/data/gui/mam_preferences.ui:14 +#, fuzzy +msgid "Always" +msgstr "Отсъствам" + +#: gajim/gtk/preferences.py:194 gajim/data/gui/mam_preferences.ui:22 +#, fuzzy +msgid "Never" +msgstr "Сървър" + +#: gajim/gtk/preferences.py:195 +#, fuzzy +msgid "Restore last state" +msgstr "Последно състояние: %s" + +#: gajim/gtk/preferences.py:199 +#, fuzzy +msgid "Top" +msgstr "За" + +#: gajim/gtk/preferences.py:200 +msgid "Bottom" +msgstr "" + +#: gajim/gtk/preferences.py:201 +msgid "Left" +msgstr "" + +#: gajim/gtk/preferences.py:202 +#, fuzzy +msgid "Right" +msgstr "осем" + +#: gajim/gtk/preferences.py:207 +#, fuzzy +msgid "Window Layout" +msgstr "_Поведение на прозорците:" + +#: gajim/gtk/preferences.py:214 +#, fuzzy +msgid "Contact List on Startup" +msgstr "П_оказване на списъка" + +#: gajim/gtk/preferences.py:218 +#, fuzzy +msgid "Show contact list when starting Gajim" +msgstr "П_оказване на списъка" + +#: gajim/gtk/preferences.py:221 +#, fuzzy +msgid "Quit on Close" +msgstr "_Минимизиране при затваряне" + +#: gajim/gtk/preferences.py:224 +#, fuzzy +msgid "Quit when closing contact list" +msgstr "Показване на изкл_ючените контакти" + +#: gajim/gtk/preferences.py:227 +#, fuzzy +msgid "Tab Position" +msgstr "Условие" + +#: gajim/gtk/preferences.py:231 +#, fuzzy +msgid "Placement of chat window tabs" +msgstr "затвори прозореца или подпрозореца" + +#: gajim/gtk/preferences.py:247 +#, fuzzy +msgid "Merge Accounts" +msgstr "Смесени акаунти" + +#: gajim/gtk/preferences.py:253 +#, fuzzy +msgid "Enable Metacontacts" +msgstr "Преименуване на контакт" + +#: gajim/gtk/preferences.py:258 +#, fuzzy +msgid "Show Avatars" +msgstr "Възможности" + +#: gajim/gtk/preferences.py:264 gajim/gtk/preferences.py:353 +#, fuzzy +msgid "Show Status Message" +msgstr "Съобщение за състояние" + +#: gajim/gtk/preferences.py:270 gajim/gtk/preferences.py:411 +#, fuzzy +msgid "Sort Contacts by Status" +msgstr "Подреждане на контактите по състояние" + +#: gajim/gtk/preferences.py:276 +#, fuzzy +msgid "Show Mood" +msgstr "Задаване на настроение" + +#: gajim/gtk/preferences.py:281 +#, fuzzy +msgid "Show Activity" +msgstr "Задаване на дейност" + +#: gajim/gtk/preferences.py:286 +#, fuzzy +msgid "Show Tune" +msgstr "Възможности" + +#: gajim/gtk/preferences.py:323 +msgid "Needs gspell to be installed" +msgstr "" + +#: gajim/gtk/preferences.py:327 +#, fuzzy +msgid "Spell Checking" +msgstr "Проверка на правописа" + +#: gajim/gtk/preferences.py:335 +#, fuzzy +msgid "Message Receipts (✔)" +msgstr "текст на съобщението" + +#: gajim/gtk/preferences.py:338 +msgid "Add a checkmark to received messages" +msgstr "" + +#: gajim/gtk/preferences.py:341 +#, fuzzy +msgid "XHTML Formatting" +msgstr "Списък с емотикони (Alt+M)" + +#: gajim/gtk/preferences.py:344 +msgid "Render XHTML styles (colors, etc.) of incoming messages" +msgstr "" + +#: gajim/gtk/preferences.py:348 +#, fuzzy +msgid "Show Send Message Button" +msgstr "Изпращане на съобщение" + +#: gajim/gtk/preferences.py:358 +#, fuzzy +msgid "Show Chat State In Tabs" +msgstr "Показване на бутона за затваряне на подпрозореца?" + +#: gajim/gtk/preferences.py:361 +msgid "Show the contact’s chat state (e.g. typing) in the chat’s tab" +msgstr "" + +#: gajim/gtk/preferences.py:365 +#, fuzzy +msgid "Show Chat State In Banner" +msgstr "Показване на _аватари на контактите в списъка" + +#: gajim/gtk/preferences.py:368 +msgid "Show the contact’s chat state (e.g. typing) in the chats tab’s banner" +msgstr "" + +#: gajim/gtk/preferences.py:372 +#, fuzzy +msgid "Display Chat State In Contact List" +msgstr "Показване на уведомления при _разговор:" + +#: gajim/gtk/preferences.py:375 +#, fuzzy +msgid "Show the contact’s chat state (e.g. typing) in the contact list" +msgstr "Показване на бутона за затваряне на подпрозореца?" + +#: gajim/gtk/preferences.py:406 +#, fuzzy +msgid "Show Subject" +msgstr "Тема" + +#: gajim/gtk/preferences.py:417 +msgid "Default Sync Threshold" +msgstr "" + +#: gajim/gtk/preferences.py:420 +#, fuzzy +msgid "Default for new public group chats" +msgstr "Излизане от стаите" + +#: gajim/gtk/preferences.py:424 +msgid "Show Joined / Left" +msgstr "" + +#: gajim/gtk/preferences.py:427 gajim/gtk/preferences.py:438 +#, fuzzy +msgid "Default for new group chats" +msgstr "Излизане от стаите" + +#: gajim/gtk/preferences.py:428 gajim/gtk/preferences.py:439 +#: gajim/gtk/accounts.py:715 gajim/gtk/accounts.py:727 +#: gajim/gtk/accounts.py:740 +#, fuzzy +msgid "Reset" +msgstr "С_ъстояние" + +#: gajim/gtk/preferences.py:429 gajim/gtk/preferences.py:440 +#: gajim/gtk/accounts.py:728 +msgid "Reset all group chats to the current default value" +msgstr "" + +#: gajim/gtk/preferences.py:435 gajim/gtk/groupchat_settings.py:48 +#, fuzzy +msgid "Show Status Changes" +msgstr "Запазване на промените на _състоянията на контактите" + +#: gajim/gtk/preferences.py:468 +#, fuzzy +msgid "Hide icon" +msgstr "Икона в областта за уведомяване" + +#: gajim/gtk/preferences.py:469 +#, fuzzy +msgid "Only show for pending events" +msgstr "Показване на всички _чакащи събития" + +#: gajim/gtk/preferences.py:470 +msgid "Always show icon" +msgstr "" + +#: gajim/gtk/preferences.py:475 +#, fuzzy +msgid "Notification Area Icon" +msgstr "Демон за уведомления" + +#: gajim/gtk/preferences.py:482 +#, fuzzy +msgid "Open Events" +msgstr "Лични събития" + +#: gajim/gtk/preferences.py:485 +#, fuzzy +msgid "Open events instead of showing a notification in the contact list" +msgstr "Бих искал(а) да ви добавя към списъка си." + +#: gajim/gtk/preferences.py:489 gajim/gtk/preferences.py:512 +#, fuzzy +msgid "Show Notifications" +msgstr "Уведомления" + +#: gajim/gtk/preferences.py:517 +#, fuzzy +msgid "Notifications When Away" +msgstr "Уведомления" + +#: gajim/gtk/preferences.py:520 +#, fuzzy +msgid "Show notifications even if you are Away, Busy, etc." +msgstr "Демон за уведомления" + +#: gajim/gtk/preferences.py:525 gajim/data/gui/preferences.ui:271 +msgid "Notifications" +msgstr "Уведомления" + +#: gajim/gtk/preferences.py:534 +#, fuzzy +msgid "Play Sounds" +msgstr "Изпълнение на з_вуци" + +#: gajim/gtk/preferences.py:537 +msgid "Play sounds to notify about events" +msgstr "" + +#: gajim/gtk/preferences.py:542 +msgid "Sounds When Away" +msgstr "" + +#: gajim/gtk/preferences.py:545 +msgid "Play sounds even when you are Away, Busy, etc." +msgstr "" + +#: gajim/gtk/preferences.py:560 +#, fuzzy +msgid "Sign In" +msgstr "_Включване" + +#: gajim/gtk/preferences.py:565 +#, fuzzy +msgid "Sign Out" +msgstr "Изкл_ючване" + +#: gajim/gtk/preferences.py:570 +#, fuzzy +msgid "Status Change" +msgstr "Запазване на промените на _състоянията на контактите" + +#: gajim/gtk/preferences.py:583 gajim/gtk/preferences.py:614 +#, fuzzy +msgid "Auto Away" +msgstr "Отсъствам" + +#: gajim/gtk/preferences.py:585 +msgid "Change your status to 'Away' after a certain amount of time" +msgstr "" + +#: gajim/gtk/preferences.py:590 gajim/gtk/preferences.py:642 +#, fuzzy +msgid "Auto Not Available" +msgstr "Не съм на разположение" + +#: gajim/gtk/preferences.py:592 +msgid "Change your status to 'Not Available' after a certain amount of time" +msgstr "" + +#: gajim/gtk/preferences.py:619 +msgid "Time Until Away" +msgstr "" + +#: gajim/gtk/preferences.py:622 gajim/gtk/preferences.py:650 +#, fuzzy +msgid "Minutes until your status gets changed" +msgstr "Запазване на промените на _състоянията на контактите" + +#: gajim/gtk/preferences.py:633 gajim/gtk/preferences.py:828 +#, fuzzy +msgid "Auto Away Settings" +msgstr "Неуспех при свързването" + +#: gajim/gtk/preferences.py:647 +#, fuzzy +msgid "Time Until Not Available" +msgstr "Не съм на разположение" + +#: gajim/gtk/preferences.py:661 +#, fuzzy +msgid "Auto Extended Away Settings" +msgstr "Не съм на разположение" + +#: gajim/gtk/preferences.py:672 gajim/gtk/accounts.py:680 +msgid "Enabled" +msgstr "Включено" + +#: gajim/gtk/preferences.py:673 gajim/data/gui/vcard_information_window.ui:123 +#, fuzzy +msgid "System" +msgstr "Система:" + +#: gajim/gtk/preferences.py:678 +#, fuzzy +msgid "Dark Theme" +msgstr "gajim-remote" + +#: gajim/gtk/preferences.py:685 +#, fuzzy +msgid "Theme" +msgstr "Тема" + +#: gajim/gtk/preferences.py:731 +msgid "Convert ASCII Emojis" +msgstr "" + +#: gajim/gtk/preferences.py:734 +msgid "Typing short codes like :-) will display emojis" +msgstr "" + +#: gajim/gtk/preferences.py:741 +#, fuzzy +msgid "Emoji Theme" +msgstr "gajim-remote" + +#: gajim/gtk/preferences.py:744 +msgid "Choose from various emoji styles" +msgstr "" + +#: gajim/gtk/preferences.py:774 +#, fuzzy +msgid "Status Icon Set" +msgstr "_Набор икони за състояние:" + +#: gajim/gtk/preferences.py:781 +#, fuzzy +msgid "Use Transport Icons" +msgstr "Използване на и_кони за транспортите" + +#: gajim/gtk/preferences.py:784 +msgid "Display protocol-specific status icons (ICQ, ..)" +msgstr "" + +#: gajim/gtk/preferences.py:801 gajim/gtk/preferences.py:817 +msgid "Use Stun Server" +msgstr "" + +#: gajim/gtk/preferences.py:803 +msgid "Helps to establish calls through firewalls" +msgstr "" + +#: gajim/gtk/preferences.py:822 +#, fuzzy +msgid "STUN Server" +msgstr "Сървър:" + +#: gajim/gtk/preferences.py:848 +#, fuzzy +msgid "Audio Input Device" +msgstr "Стандартно съобщение" + +#: gajim/gtk/preferences.py:851 +msgid "Select your audio input (e.g. microphone)" +msgstr "" + +#: gajim/gtk/preferences.py:855 +#, fuzzy +msgid "Audio Output Device" +msgstr "Стандартно съобщение" + +#: gajim/gtk/preferences.py:858 +msgid "Select an audio output (e.g. speakers, headphones)" +msgstr "" + +#: gajim/gtk/preferences.py:890 gajim/gtk/preferences.py:898 +msgid "Default" +msgstr "По подразбиране" + +#: gajim/gtk/preferences.py:906 +#, fuzzy +msgid "Video Input Device" +msgstr "Стандартно съобщение" + +#: gajim/gtk/preferences.py:910 +msgid "Select your video input device (e.g. webcam, screen capture)" +msgstr "" + +#: gajim/gtk/preferences.py:915 +#, fuzzy +msgid "Video Framerate" +msgstr "Лични разговори" + +#: gajim/gtk/preferences.py:921 +#, fuzzy +msgid "Video Resolution" +msgstr "Лични разговори" + +#: gajim/gtk/preferences.py:927 +msgid "Show My Video Stream" +msgstr "" + +#: gajim/gtk/preferences.py:930 +msgid "Show your own video stream in calls" +msgstr "" + +#: gajim/gtk/preferences.py:933 gajim/data/gui/video_preview.ui:51 +msgid "Live Preview" +msgstr "" + +#: gajim/gtk/preferences.py:935 +msgid "Show a live preview to test your video source" +msgstr "" + +#: gajim/gtk/preferences.py:975 +#, fuzzy +msgid "Global Proxy" +msgstr "Сървър-посредник:" + +#: gajim/gtk/preferences.py:980 gajim/gtk/account_wizard.py:732 +#: gajim/gtk/accounts.py:790 +#, fuzzy +msgid "No Proxy" +msgstr "Сървър-посредник:" + +#: gajim/gtk/preferences.py:985 +msgid "Use System Keyring" +msgstr "" + +#: gajim/gtk/preferences.py:988 +msgid "Use your system’s keyring to store passwords" +msgstr "" + +#: gajim/gtk/preferences.py:994 +msgid "Check For Updates" +msgstr "" + +#: gajim/gtk/preferences.py:997 gajim/common/config.py:241 +msgid "Check for Gajim updates periodically" +msgstr "" + +#: gajim/gtk/preferences.py:1033 +#, fuzzy +msgid "Debug Logging" +msgstr "Тичам за здраве" + +#: gajim/gtk/message_input.py:48 +#, fuzzy +msgid "Write a message…" +msgstr "Ново лично съобщение" + +#: gajim/gtk/settings.py:400 gajim/gtk/settings.py:758 +#: gajim/gtk/settings.py:784 gajim/gtk/settings.py:793 +#: gajim/gtk/settings.py:802 gajim/gtk/settings.py:811 +msgid "?switch:On" +msgstr "" + +#: gajim/gtk/settings.py:400 gajim/gtk/settings.py:758 +#: gajim/gtk/settings.py:784 gajim/gtk/settings.py:793 +#: gajim/gtk/settings.py:802 gajim/gtk/settings.py:811 +msgid "?switch:Off" +msgstr "" + +#: gajim/gtk/settings.py:538 gajim/gtk/manage_sounds.py:46 +#: gajim/gtk/filechoosers.py:89 gajim/gtk/filechoosers.py:140 +#: gajim/gtk/filechoosers.py:147 +msgid "All files" +msgstr "Всички файлове" + +#: gajim/gtk/settings.py:547 +#, fuzzy +msgid "Clear File" +msgstr "Чистя" + +#: gajim/gtk/settings.py:745 +#, fuzzy +msgid "Adjust to Status" +msgstr "_Съгласуване спрямо състоянието" + +#: gajim/gtk/history_sync.py:111 gajim/gtk/history_sync.py:193 +#, fuzzy +msgid "Synchronise History" +msgstr "Синхронизиране" + +#: gajim/gtk/history_sync.py:205 +#, fuzzy +msgid "How far back should the chat history be synchronised?" +msgstr "Какво искате да направите?" + +#: gajim/gtk/history_sync.py:210 +msgid "One Month" +msgstr "" + +#: gajim/gtk/history_sync.py:211 +msgid "Three Months" +msgstr "" + +#: gajim/gtk/history_sync.py:212 +msgid "One Year" +msgstr "" + +#: gajim/gtk/history_sync.py:213 +msgid "Everything" +msgstr "" + +#: gajim/gtk/history_sync.py:241 gajim/gtk/account_wizard.py:276 +#: gajim/gtk/account_wizard.py:295 gajim/gtk/account_wizard.py:312 +#, fuzzy +msgid "Connecting..." +msgstr "Свързване" + +#: gajim/gtk/history_sync.py:253 +#, fuzzy, python-format +msgid "%(received)s of %(max)s" +msgstr "Файловият трансфер на %(filename)s от %(name)s прекъсна." + +#: gajim/gtk/history_sync.py:257 +#, fuzzy, python-format +msgid "Downloaded %s messages" +msgstr "Препращане на непрочетени съобщения" + +#: gajim/gtk/history_sync.py:277 +#, python-format +msgid "" +"Finished synchronising chat history:\n" +"%s messages downloaded" +msgstr "" + +#: gajim/gtk/history_sync.py:281 +msgid "Gajim is fully synchronised with the archive." +msgstr "" + +#: gajim/gtk/history_sync.py:284 +msgid "There is already a synchronisation in progress. Please try again later." +msgstr "" + +#: gajim/gtk/pep_config.py:49 +#, fuzzy, python-format +msgid "PEP Service Configuration (%s)" +msgstr "Настройки на услугата PEP" + +#: gajim/gtk/pep_config.py:74 +#, fuzzy +msgid "Service" +msgstr "Сървър" + +#: gajim/gtk/pep_config.py:105 +msgid "PEP node was not removed" +msgstr "Възелът на PEP не беше премахнат" + +#: gajim/gtk/pep_config.py:106 +#, fuzzy, python-format +msgid "" +"PEP node %(node)s was not removed:\n" +"%(message)s" +msgstr "Възелът на PEP %(node)s не беше премахнат: %(message)s" + +#: gajim/gtk/pep_config.py:153 +#, fuzzy, python-format +msgid "Configure %s" +msgstr "_Настройване" + +#: gajim/gtk/mam_preferences.py:42 +#, python-format +msgid "Archiving Preferences for %s" +msgstr "" + +#: gajim/gtk/mam_preferences.py:101 +#, fuzzy +msgid "Archiving Preferences Saved" +msgstr "_Настройки" + +#: gajim/gtk/mam_preferences.py:102 +#, fuzzy +msgid "Your archiving preferences have successfully been saved." +msgstr "_Настройки" + +#: gajim/gtk/mam_preferences.py:109 +#, fuzzy +msgid "Archiving Preferences Error" +msgstr "_Настройки" + +#: gajim/gtk/mam_preferences.py:110 +#, fuzzy +msgid "Error received: {}" +msgstr "Грешка в получените данни" + +#: gajim/gtk/statusicon.py:198 +#, fuzzy +msgid "_Change Status Message…" +msgstr "Пром_яна на съобщението за състояние" + +#: gajim/gtk/statusicon.py:250 +#, python-format +msgid "using account %s" +msgstr "от акаунт „%s“" + +#: gajim/gtk/statusicon.py:263 +#, fuzzy +msgid "Hide _Contact List" +msgstr "Покана на _контакти" + +#: gajim/gtk/statusicon.py:268 gajim/data/gui/application_menu.ui:42 +#, fuzzy +msgid "Show _Contact List" +msgstr "Показване на изкл_ючените контакти" + +#: gajim/gtk/statusicon.py:276 +msgid "Hide this menu" +msgstr "Скриване на това меню" + +#: gajim/gtk/start_chat.py:57 +#, fuzzy +msgid "Start / Join Chat" +msgstr "Започване на разговор" + +#: gajim/gtk/start_chat.py:285 gajim/gtk/start_chat.py:370 +msgid "You can not join a group chat unless you are connected." +msgstr "Трябва да сте свързани, за да влезете в стая." + +#: gajim/gtk/start_chat.py:634 gajim/gtk/groupchat_join.py:40 +msgid "Join Group Chat" +msgstr "Влизане в стая" + +#: gajim/gtk/start_chat.py:715 +msgid "" +"Search for group chats globally\n" +"(press Return to start search)" +msgstr "" + +#: gajim/gtk/start_chat.py:808 +#, fuzzy, python-format +msgid "%s group chats found" +msgstr "%s не е намерен" + +#: gajim/gtk/notification.py:184 gajim/gtk/notification.py:205 +#: gajim/gtk/notification.py:219 gajim/gtk/notification.py:272 +#: gajim/common/connection_handlers_events.py:234 +msgid "New Private Message" +msgstr "Ново лично съобщение" + +#: gajim/gtk/notification.py:185 gajim/gtk/notification.py:206 +#: gajim/gtk/notification.py:220 gajim/common/connection_handlers_events.py:328 +#, fuzzy +msgid "New Group Chat Message" +msgstr "Нова стая" + +#: gajim/gtk/notification.py:186 gajim/gtk/notification.py:212 +#: gajim/gtk/notification.py:289 gajim/common/connection_handlers_events.py:418 +msgid "Contact Changed Status" +msgstr "Контактът промени състоянието си" + +#: gajim/gtk/notification.py:200 +#, fuzzy +msgid "Open" +msgstr "OpenGPG" + +#: gajim/gtk/notification.py:209 +msgid "Mark as Read" +msgstr "" + +#: gajim/gtk/notification.py:273 +msgid "New E-mail" +msgstr "Нова е-поща" + +#: gajim/gtk/video_preview.py:116 +msgid "OpenGL accelerated" +msgstr "" + +#: gajim/gtk/video_preview.py:120 +msgid "Not accelerated" +msgstr "" + +#: gajim/gtk/video_preview.py:127 +msgid "Something went wrong. Video feature disabled." +msgstr "" + +#: gajim/gtk/groupchat_invite.py:304 +#, fuzzy +msgid "Invite New Contact" +msgstr "Покана на _контакти" + +#: gajim/gtk/themes.py:37 +#, fuzzy +msgid "Chatstate Composing" +msgstr "Пише" + +#: gajim/gtk/themes.py:41 +#, fuzzy +msgid "Chatstate Inactive" +msgstr "Бездеен" + +#: gajim/gtk/themes.py:45 +msgid "Chatstate Gone" +msgstr "" + +#: gajim/gtk/themes.py:49 +#, fuzzy +msgid "Chatstate Paused" +msgstr "Промяна на състоянието" + +#: gajim/gtk/themes.py:53 +#, fuzzy +msgid "Group Chat Tab New Directed Message" +msgstr "" +"Съобщения\n" +"за стая" + +#: gajim/gtk/themes.py:57 +#, fuzzy +msgid "Group Chat Tab New Message" +msgstr "Ново съобщение" + +#: gajim/gtk/themes.py:61 +msgid "Banner Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:65 +msgid "Banner Background Color" +msgstr "" + +#: gajim/gtk/themes.py:69 +msgid "Banner Font" +msgstr "" + +#: gajim/gtk/themes.py:73 +msgid "Account Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:77 +msgid "Account Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:81 +#, fuzzy +msgid "Account Row Font" +msgstr "Акаунт" + +#: gajim/gtk/themes.py:85 +msgid "Group Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:89 +msgid "Group Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:93 +#, fuzzy +msgid "Group Row Font" +msgstr "Група" + +#: gajim/gtk/themes.py:97 +msgid "Contact Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:101 +msgid "Contact Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:105 +#, fuzzy +msgid "Contact Row Font" +msgstr "Показване на събитието в спис_ъка" + +#: gajim/gtk/themes.py:109 +#, fuzzy +msgid "Conversation Font" +msgstr "Разговор с " + +#: gajim/gtk/themes.py:113 +#, fuzzy +msgid "Incoming Nickname Color" +msgstr "Невалиден псевдоним" + +#: gajim/gtk/themes.py:117 +#, fuzzy +msgid "Outgoing Nickname Color" +msgstr "Промяна на псевдонима" + +#: gajim/gtk/themes.py:121 +#, fuzzy +msgid "Incoming Message Text Color" +msgstr "В_ходящо съобщение:" + +#: gajim/gtk/themes.py:125 +#, fuzzy +msgid "Incoming Message Text Font" +msgstr "В_ходящо съобщение:" + +#: gajim/gtk/themes.py:129 +#, fuzzy +msgid "Outgoing Message Text Color" +msgstr "_Изходящо съобщение:" + +#: gajim/gtk/themes.py:133 +#, fuzzy +msgid "Outgoing Message Text Font" +msgstr "_Изходящо съобщение:" + +#: gajim/gtk/themes.py:137 +#, fuzzy +msgid "Status Message Color" +msgstr "Съобщение за състояние" + +#: gajim/gtk/themes.py:141 +#, fuzzy +msgid "Status Message Font" +msgstr "Съобщение за състояние" + +#: gajim/gtk/themes.py:145 +#, fuzzy +msgid "URL Color" +msgstr "Цвят" + +#: gajim/gtk/themes.py:149 +#, fuzzy +msgid "Highlight Message Color" +msgstr "_Осветяване на неправилно изписаните думи" + +#: gajim/gtk/themes.py:153 +#, fuzzy +msgid "Message Correcting" +msgstr "Съобщения" + +#: gajim/gtk/themes.py:157 +#, fuzzy +msgid "Contact Disconnected Background" +msgstr "Изключване на контакт" + +#: gajim/gtk/themes.py:161 +#, fuzzy +msgid "Contact Connected Background " +msgstr "Включване на контакт" + +#: gajim/gtk/themes.py:164 +#, fuzzy +msgid "Status Online Color" +msgstr "Съобщение за състояние" + +#: gajim/gtk/themes.py:167 +#, fuzzy +msgid "Status Away Color" +msgstr "Съобщение за състояние" + +#: gajim/gtk/themes.py:170 +#, fuzzy +msgid "Status DND Color" +msgstr "Съобщение за състояние" + +#: gajim/gtk/themes.py:173 +#, fuzzy +msgid "Status Offline Color" +msgstr "Съобщение за състояние" + +#: gajim/gtk/themes.py:187 +#, fuzzy +msgid "Gajim Themes" +msgstr "gajim-remote" + +#: gajim/gtk/themes.py:223 gajim/gtk/themes.py:230 +#, fuzzy +msgid "Invalid Name" +msgstr "Невалиден псевдоним" + +#: gajim/gtk/themes.py:224 +msgid "Name default is not allowed" +msgstr "" + +#: gajim/gtk/themes.py:231 +#, fuzzy +msgid "Spaces are not allowed" +msgstr "Псевдонимът не е позволен: %s" + +#: gajim/gtk/themes.py:356 +#, fuzzy +msgid "Do you want to delete this theme?" +msgstr "Наистина ли искате да изтриете избраното съобщение?" + +#: gajim/gtk/themes.py:358 +#, fuzzy +msgid "" +"This is the theme you are currently using.\n" +"Do you want to delete this theme?" +msgstr "" +"Това име вече се използва. Искате ли да презапишете това съобщение за " +"състояние?" + +#: gajim/gtk/themes.py:363 +#, fuzzy +msgid "Delete Theme" +msgstr "Активен" + +#: gajim/gtk/themes.py:390 +#, fuzzy +msgid "Remove Setting" +msgstr "Неуспех при свързването" + +#: gajim/gtk/filetransfer_progress.py:62 +#, fuzzy +msgid "Upload Failed" +msgstr "Запазване на файла като…" + +#: gajim/gtk/filetransfer_progress.py:113 +#, fuzzy, python-format +msgid "%(progress)s of %(total)s" +msgstr "Файловият трансфер на %(filename)s от %(name)s прекъсна." + +#: gajim/gtk/filetransfer_progress.py:130 +#, python-format +msgid "%(minutes)s min %(seconds)s sec" +msgstr "" + +#: gajim/gtk/add_contact.py:32 +#, fuzzy +msgid "GG Number" +msgstr "Номер на GG:" + +#: gajim/gtk/add_contact.py:33 +#, fuzzy +msgid "ICQ Number" +msgstr "Номер на ICQ:" + +#: gajim/gtk/add_contact.py:42 +#, fuzzy +msgid "Add Contact" +msgstr "_Добавяне на контакт…" + +#: gajim/gtk/add_contact.py:260 +#, fuzzy, python-format +msgid "%s Missing" +msgstr "%s MiB" + +#: gajim/gtk/add_contact.py:261 +#, python-format +msgid "You must supply the %s of the new contact." +msgstr "" + +#: gajim/gtk/add_contact.py:288 gajim/gtk/add_contact.py:294 +#: gajim/gtk/add_contact.py:299 +msgid "Invalid User ID" +msgstr "Невалиден идентификатор" + +#: gajim/gtk/add_contact.py:295 +msgid "The user ID must not contain a resource." +msgstr "Потребителският идентификатор не трябва да съдържа ресурс." + +#: gajim/gtk/add_contact.py:300 +#, fuzzy +msgid "You cannot add yourself to your contact list." +msgstr "Не може да добавите себе си към списъка." + +#: gajim/gtk/add_contact.py:305 +#, fuzzy +msgid "Account Offline" +msgstr "Изключен" + +#: gajim/gtk/add_contact.py:306 +msgid "Your account must be online to add new contacts." +msgstr "" + +#: gajim/gtk/add_contact.py:322 +#, fuzzy +msgid "Contact Already in Contact List" +msgstr "Контактът вече е в списъка" + +#: gajim/gtk/add_contact.py:323 +#, fuzzy +msgid "This contact is already in your contact list." +msgstr "Контактът вече съществува в списъка." + +#: gajim/gtk/add_contact.py:381 gajim/gtk/add_contact.py:419 +msgid "User ID:" +msgstr "Идентификатор на потребител:" + +#: gajim/gtk/add_contact.py:486 +#, fuzzy +msgid "Error while adding transport contact" +msgstr "Грешка при добавянето на услугата. %s" + +#: gajim/gtk/add_contact.py:487 +#, python-format +msgid "" +"This error occurred while adding a contact for transport %(transport)s:\n" +"\n" +"%(error)s" +msgstr "" + +#: gajim/gtk/account_wizard.py:61 gajim/data/gui/account_wizard.ui:631 +#, fuzzy +msgid "Sign Up" +msgstr "_Включване" + +#: gajim/gtk/account_wizard.py:63 +#, fuzzy +msgid "Connect" +msgstr "Свързан" + +#: gajim/gtk/account_wizard.py:64 gajim/gtk/adhoc.py:102 +msgid "Next" +msgstr "" + +#: gajim/gtk/account_wizard.py:65 +msgid "Log In" +msgstr "" + +#: gajim/gtk/account_wizard.py:67 gajim/gtk/remove_account.py:44 +#: gajim/gtk/change_password.py:45 gajim/gtk/accounts.py:384 +#, fuzzy +msgid "Back" +msgstr "Връщам се скоро" + +#: gajim/gtk/account_wizard.py:80 +msgid "An error occurred during account creation" +msgstr "Възникна грешка при създаването на акаунта" + +#: gajim/gtk/account_wizard.py:166 +#, fuzzy +msgid "Creating Account..." +msgstr "Премахване на акаунт „%s“" + +#: gajim/gtk/account_wizard.py:167 +#, fuzzy +msgid "Trying to create account..." +msgstr "Натиснете, за да смените паролата на акаунта" + +#: gajim/gtk/account_wizard.py:277 gajim/gtk/account_wizard.py:296 +#: gajim/gtk/account_wizard.py:313 +#, fuzzy +msgid "Connecting to server..." +msgstr "Свързване" + +#: gajim/gtk/account_wizard.py:367 gajim/gtk/account_wizard.py:368 +msgid "Anonymous login not supported" +msgstr "" + +#: gajim/gtk/account_wizard.py:369 +#, fuzzy +msgid "This server does not support anonymous login." +msgstr "Сървърът ви не поддържа визитки" + +#: gajim/gtk/account_wizard.py:372 gajim/common/client.py:284 +#: gajim/common/const.py:958 gajim/common/const.py:959 +#: gajim/common/const.py:960 gajim/common/const.py:963 +#, fuzzy +msgid "Authentication failed" +msgstr "Неуспех при удостоверяването с „%s“" + +#: gajim/gtk/account_wizard.py:384 gajim/gtk/account_wizard.py:385 +#, fuzzy +msgid "Signup not allowed" +msgstr "Псевдонимът не е позволен: %s" + +#: gajim/gtk/account_wizard.py:386 +#, fuzzy +msgid "This server does not allow signup." +msgstr "Сървърът ви не поддържа визитки" + +#: gajim/gtk/account_wizard.py:395 gajim/gtk/account_wizard.py:432 +#: gajim/gtk/account_wizard.py:433 gajim/gtk/account_wizard.py:520 +#: gajim/gtk/groupchat_config.py:132 gajim/gtk/groupchat_config.py:399 +#: gajim/gtk/history.py:591 gajim/gtk/search.py:336 +#, fuzzy +msgid "Error" +msgstr "Грешка." + +#: gajim/gtk/account_wizard.py:402 gajim/gtk/account_wizard.py:403 +#, fuzzy +msgid "Connection failed" +msgstr "Неуспех при свързването" + +#: gajim/gtk/account_wizard.py:404 +msgid "" +"Gajim was not able to reach the server. Make sure your XMPP address is " +"correct." +msgstr "" + +#: gajim/gtk/account_wizard.py:459 +#, fuzzy +msgid "Account is being created" +msgstr "Акаунт „%s“ е свързан към сървъра" + +#: gajim/gtk/account_wizard.py:518 +msgid "The server rejected the registration without an error message" +msgstr "" + +#: gajim/gtk/account_wizard.py:530 gajim/gtk/accounts.py:572 +#, fuzzy +msgid "Add Account" +msgstr "_Добавяне на контакт…" + +#: gajim/gtk/account_wizard.py:612 gajim/gtk/groupchat_creation.py:138 +#, fuzzy +msgid "Invalid Address" +msgstr "Невалиден файл" + +#: gajim/gtk/account_wizard.py:636 +#, fuzzy +msgid "Create New Account" +msgstr "Създаване на ново съобщение" + +#: gajim/gtk/account_wizard.py:712 +#, fuzzy +msgid "Advanced settings" +msgstr "Действия за напреднали" + +#: gajim/gtk/account_wizard.py:774 +#, fuzzy +msgid "Invalid domain name" +msgstr "Невалидно име на акаунт" + +#: gajim/gtk/account_wizard.py:791 +#, fuzzy +msgid "Must be a port number" +msgstr "Портът по избор трябва все пак да е номер на порт." + +#: gajim/gtk/account_wizard.py:798 +msgid "Port must be a number between 0 and 65535" +msgstr "" + +#: gajim/gtk/account_wizard.py:814 +#, fuzzy +msgid "Security Warning" +msgstr "Отлъчване на %s" + +#: gajim/gtk/account_wizard.py:833 +#, fuzzy, python-format +msgid "Unknown TLS error '%s'" +msgstr "Неизвестна грешка на SSL: %d" + +#: gajim/gtk/account_wizard.py:868 gajim/gtk/account_wizard.py:871 +#, fuzzy +msgid "Create Account" +msgstr "Премахване на акаунт „%s“" + +#: gajim/gtk/account_wizard.py:922 +msgid "Redirect" +msgstr "" + +#: gajim/gtk/account_wizard.py:932 +#, fuzzy +msgid "Register on the Website" +msgstr "Регистриране в %s" + +#: gajim/gtk/account_wizard.py:943 +#, fuzzy +msgid "Account Added" +msgstr "Акаунт" + +#: gajim/gtk/account_wizard.py:944 +msgid "Account has been added successfully" +msgstr "Акаунтът беше добавен успешно" + +#: gajim/gtk/groupchat_invitation.py:57 +#, fuzzy +msgid "" +"has invited you to a group chat.\n" +"Do you want to join?" +msgstr "Изберете стаите, които искате да напуснете" + +#: gajim/gtk/groupchat_invitation.py:75 gajim/gtk/discovery.py:1706 +#: gajim/gtk/groupchat_join.py:68 gajim/data/gui/groupchat_control.ui:899 +#: gajim/data/gui/groupchat_control.ui:991 +#: gajim/data/gui/start_chat_dialog.ui:314 +msgid "_Join" +msgstr "_Влизане" + +#: gajim/gtk/tooltips.py:215 +#, python-format +msgid "%(owner_or_admin_or_member)s of this group chat" +msgstr "%(owner_or_admin_or_member)s на тази стая" + +#: gajim/gtk/tooltips.py:474 +msgid "Connected" +msgstr "Свързан" + +#: gajim/gtk/tooltips.py:476 +msgid "Disconnected" +msgstr "Изключен" + +#: gajim/gtk/tooltips.py:530 +#, fuzzy +msgid "File Name: " +msgstr "Име на файл: %s" + +#: gajim/gtk/tooltips.py:533 +#, fuzzy +msgid "?Noun:Download" +msgstr "Изтегляне" + +#: gajim/gtk/tooltips.py:534 gajim/gtk/filetransfer.py:747 +msgid "Sender: " +msgstr "Изпращач: " + +#: gajim/gtk/tooltips.py:539 +#, fuzzy +msgid "?Noun:Upload" +msgstr "Качване" + +#: gajim/gtk/tooltips.py:540 gajim/gtk/filetransfer.py:240 +#: gajim/gtk/filetransfer.py:749 +msgid "Recipient: " +msgstr "Получател: " + +#: gajim/gtk/tooltips.py:546 +#, fuzzy +msgid "?transfer type:Type: " +msgstr "Файловият трансфер е преустановен" + +#: gajim/gtk/tooltips.py:552 +#, fuzzy +msgid "?transfer status:Transferred: " +msgstr "Временно прекъснат" + +#: gajim/gtk/tooltips.py:555 +#, fuzzy +msgid "?transfer status:Status: " +msgstr "Временно прекъснат" + +#: gajim/gtk/tooltips.py:557 +msgid "Description: " +msgstr "Описание: " + +#: gajim/gtk/tooltips.py:581 +#, fuzzy +msgid "?transfer status:Aborted" +msgstr "Временно прекъснат" + +#: gajim/gtk/tooltips.py:583 +#, fuzzy +msgid "?transfer status:Completed" +msgstr "Временно прекъснат" + +#: gajim/gtk/tooltips.py:585 +msgid "?transfer status:Paused" +msgstr "Временно прекъснат" + +#: gajim/gtk/tooltips.py:588 +#, fuzzy +msgid "?transfer status:Stalled" +msgstr "Временно прекъснат" + +#: gajim/gtk/tooltips.py:592 +#, fuzzy +msgid "?transfer status:Transferring" +msgstr "Временно прекъснат" + +#: gajim/gtk/tooltips.py:593 gajim/gtk/tooltips.py:594 +#, fuzzy +msgid "?transfer status:Not started" +msgstr "Временно прекъснат" + +#: gajim/gtk/remove_account.py:42 gajim/gtk/accounts.py:341 +#, fuzzy +msgid "Remove" +msgstr "_Премахване" + +#: gajim/gtk/remove_account.py:49 +#, fuzzy +msgid "Removing Account..." +msgstr "Премахване на акаунт „%s“" + +#: gajim/gtk/remove_account.py:50 +msgid "Trying to remove account..." +msgstr "" + +#: gajim/gtk/remove_account.py:53 gajim/gtk/remove_account.py:54 +#, fuzzy +msgid "Account Removed" +msgstr "Акаунт" + +#: gajim/gtk/remove_account.py:56 +#, fuzzy +msgid "Your account has has been removed successfully." +msgstr "Новият акаунт беше създаден успешно" + +#: gajim/gtk/remove_account.py:59 gajim/gtk/remove_account.py:60 +#, fuzzy +msgid "Account Removal Failed" +msgstr "Няма наличен акаунт" + +#: gajim/gtk/remove_account.py:171 gajim/gtk/remove_account.py:173 +#, fuzzy +msgid "Remove Account" +msgstr "Премахване на акаунт „%s“" + +#: gajim/gtk/remove_account.py:180 +#, fuzzy +msgid "This will remove your account from Gajim." +msgstr "Премахване на акаунт _само от Gajim" + +#: gajim/gtk/remove_account.py:189 +#, python-format +msgid "Do you want to unregister your account on %s as well?" +msgstr "" + +#: gajim/gtk/remove_account.py:198 +msgid "_Unregister account from service" +msgstr "" + +#: gajim/gtk/remove_account.py:217 +#, fuzzy +msgid "Account has to be connected" +msgstr "Акаунт „%s“ е свързан към сървъра" + +#: gajim/gtk/filetransfer.py:91 +msgid "File" +msgstr "Файл:" + +#: gajim/gtk/filetransfer.py:108 +msgid "Time" +msgstr "Време" + +#: gajim/gtk/filetransfer.py:121 gajim/data/gui/filetransfer_progress.ui:110 +msgid "Progress" +msgstr "Напредък" + +#: gajim/gtk/filetransfer.py:228 +#, fuzzy, python-format +msgid "File name: %s" +msgstr "Име на файл: %s" + +#: gajim/gtk/filetransfer.py:229 gajim/gtk/filetransfer.py:470 +#, python-format +msgid "Size: %s" +msgstr "Размер: %s" + +#: gajim/gtk/filetransfer.py:239 +#, python-format +msgid "Sender: %s" +msgstr "Изпращач: %s" + +#: gajim/gtk/filetransfer.py:251 +#, python-format +msgid "Saved in: %s" +msgstr "Запазен в: %s" + +#: gajim/gtk/filetransfer.py:256 +msgid "File transfer completed" +msgstr "Файловият трансфер завърши" + +#: gajim/gtk/filetransfer.py:276 gajim/gtk/filetransfer.py:285 +#, fuzzy +msgid "Connection with peer could not be established." +msgstr "Не може да бъде установен контакт с отсрещната машина." + +#: gajim/gtk/filetransfer.py:293 +#, python-format +msgid "Filename: %s" +msgstr "Име на файл: %s" + +#: gajim/gtk/filetransfer.py:294 +#, python-format +msgid "Recipient: %s" +msgstr "Получател: %s" + +#: gajim/gtk/filetransfer.py:296 +#, python-format +msgid "Error message: %s" +msgstr "Грешка: %s" + +#: gajim/gtk/filetransfer.py:335 +#, python-format +msgid "" +"The file %s has been received, but it seems to have been damaged along the " +"way.\n" +"Do you want to download it again?" +msgstr "" + +#: gajim/gtk/filetransfer.py:341 +#, fuzzy +msgid "_Download Again" +msgstr "Да _не се задава този въпрос отново" + +#: gajim/gtk/filetransfer.py:356 +#, fuzzy +msgid "Gajim can not read this file" +msgstr "Неуспех при достъпа до този файл" + +#: gajim/gtk/filetransfer.py:357 +msgid "Another process is using this file." +msgstr "" + +#: gajim/gtk/filetransfer.py:399 +#, fuzzy, python-format +msgid "Cannot overwrite existing file '%s'" +msgstr "Неуспех при презаписването на съществуващия файл „%s“" + +#: gajim/gtk/filetransfer.py:400 +msgid "" +"A file with this name already exists and you do not have permission to " +"overwrite it." +msgstr "Вече съществува файл с това име и нямате права да го презапишете." + +#: gajim/gtk/filetransfer.py:424 +#, fuzzy +msgid "File Transfer Conflict" +msgstr "Файловият трансфер е приключен" + +#: gajim/gtk/filetransfer.py:425 +#, fuzzy +msgid "File already exists" +msgstr "Този файл вече съществува" + +#: gajim/gtk/filetransfer.py:426 +msgid "Resume download or replace file?" +msgstr "" + +#: gajim/gtk/filetransfer.py:430 +#, fuzzy +msgid "Resume _Download" +msgstr "Изтегляне" + +#: gajim/gtk/filetransfer.py:433 +#, fuzzy +msgid "Replace _File" +msgstr "Чистя" + +#: gajim/gtk/filetransfer.py:443 +#, fuzzy, python-format +msgid "Directory '%s' is not writable" +msgstr "Папката „%s“ не е разрешена за запис" + +#: gajim/gtk/filetransfer.py:444 +#, fuzzy +msgid "You do not have permissions to create files in this directory." +msgstr "Нямата права да създавате файлове в тази папка." + +#: gajim/gtk/filetransfer.py:467 +#, python-format +msgid "File: %s" +msgstr "Файл: %s" + +#: gajim/gtk/filetransfer.py:473 +#, python-format +msgid "Type: %s" +msgstr "Тип: %s" + +#: gajim/gtk/filetransfer.py:475 +#, python-format +msgid "Description: %s" +msgstr "Описание: %s" + +#: gajim/gtk/filetransfer.py:486 +#, fuzzy, python-format +msgid "%s wants to send you a file" +msgstr "%s иска да ви изпрати файл." + +#: gajim/gtk/filetransfer.py:514 +#, fuzzy +msgid "Checking file…" +msgstr "Изпращане на профила…" + +#: gajim/gtk/filetransfer.py:529 +#, fuzzy +msgid "File error" +msgstr "Грешка при файловия трансфер" + +#: gajim/gtk/filetransfer.py:566 +#, python-format +msgid "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" +msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" + +#: gajim/gtk/filetransfer.py:663 +#, python-format +msgid "(%(filesize_unit)s/s)" +msgstr "(%(filesize_unit)s/сек)" + +#: gajim/gtk/filetransfer.py:716 gajim/gtk/filetransfer.py:720 +msgid "Invalid File" +msgstr "Невалиден файл" + +#: gajim/gtk/filetransfer.py:716 +msgid "File: " +msgstr "Файл: " + +#: gajim/gtk/filetransfer.py:721 +msgid "It is not possible to send empty files" +msgstr "Не е възможно да бъдат изпращани празни файлове" + +#: gajim/gtk/filetransfer.py:1043 +#, fuzzy +msgid "Choose a File to Send…" +msgstr "Избор на файл за изпращане…" + +#: gajim/gtk/roster_item_exchange.py:35 +#: gajim/data/gui/roster_item_exchange_window.ui:39 +#, fuzzy +msgid "Contact List Exchange" +msgstr "Изключване на контакт" + +#: gajim/gtk/roster_item_exchange.py:49 +#, fuzzy, python-format +msgid "%s would like to add some contacts to your contact list." +msgstr "Бих искал(а) да ви добавя към списъка си." + +#: gajim/gtk/roster_item_exchange.py:52 +#, fuzzy, python-format +msgid "%s would like to modify some contacts in your contact list." +msgstr "Бих искал(а) да ви добавя към списъка си." + +#: gajim/gtk/roster_item_exchange.py:55 +#, fuzzy, python-format +msgid "%s would like to delete some contacts from your contact list." +msgstr "Бих искал(а) да ви добавя към списъка си." + +#: gajim/gtk/roster_item_exchange.py:71 gajim/gtk/roster_item_exchange.py:130 +msgid "Add" +msgstr "" + +#: gajim/gtk/roster_item_exchange.py:73 gajim/gtk/roster_item_exchange.py:161 +#, fuzzy +msgid "Modify" +msgstr "Унил" + +#: gajim/gtk/roster_item_exchange.py:80 +msgid "JID" +msgstr "JID" + +#: gajim/gtk/roster_item_exchange.py:86 +#, fuzzy +msgid "Groups" +msgstr "Група" + +#: gajim/gtk/roster_item_exchange.py:196 +#, fuzzy, python-format +msgid "%s suggested me to add you to my contact list." +msgstr "" +"Бих искал(а) да ви добавя към списъка си. I would like to add you to my " +"roster." + +#: gajim/gtk/roster_item_exchange.py:211 +#, fuzzy, python-format +msgid "Added %d contact" +msgid_plural "Added %d contacts" +msgstr[0] "Добавяне на _контакт" +msgstr[1] "Добавяне на _контакт" + +#: gajim/gtk/roster_item_exchange.py:253 +#, fuzzy, python-format +msgid "Removed %d contact" +msgid_plural "Removed %d contacts" +msgstr[0] "Премахване на контакт от списъка" +msgstr[1] "Премахване на контакт от списъка" + +#: gajim/gtk/groupchat_creation.py:45 gajim/data/gui/groupchat_creation.ui:81 +#, fuzzy +msgid "Create Group Chat" +msgstr "Излизане от стаите" + +#: gajim/gtk/groupchat_creation.py:101 gajim/gtk/groupchat_creation.py:103 +msgid " (optional)..." +msgstr "" + +#: gajim/gtk/groupchat_creation.py:186 +#, fuzzy +msgid "Not Connected" +msgstr "Свързан" + +#: gajim/gtk/groupchat_creation.py:187 +#, fuzzy +msgid "You have to be connected to create a group chat." +msgstr "Не сте влезли в стая." + +#: gajim/gtk/status_selector.py:121 gajim/gtk/status_selector.py:127 +#, fuzzy, python-format +msgid "Status: %s" +msgstr "Състояние: " + +#: gajim/gtk/status_selector.py:125 +#, fuzzy, python-format +msgid "%s (desynced)" +msgstr "без синхронизация" + +#: gajim/gtk/subscription_request.py:35 +msgid "Subscription Request" +msgstr "Искане за записване" + +#: gajim/gtk/subscription_request.py:47 +#, python-format +msgid "Subscription request for account %(account)s from %(jid)s" +msgstr "Искане за записване за акаунт „%(account)s“ от %(jid)s" + +#: gajim/gtk/subscription_request.py:50 +#, python-format +msgid "Subscription request from %s" +msgstr "Искане за записване от %s" + +#: gajim/gtk/single_message.py:51 +msgid "Send Single Message" +msgstr "Изпращане на еднократно съобщение" + +#: gajim/gtk/single_message.py:101 +#, fuzzy +msgid "(No subject)" +msgstr "тема" + +#: gajim/gtk/single_message.py:157 +#, python-format +msgid "Single Message using account %s" +msgstr "Еднократно съобщение с акаунт „%s“" + +#: gajim/gtk/single_message.py:159 +#, python-format +msgid "Single Message in account %s" +msgstr "Еднократно съобщение за акаунт „%s“" + +#: gajim/gtk/single_message.py:161 +msgid "Single Message" +msgstr "Еднократно съобщение" + +#: gajim/gtk/single_message.py:164 +#, python-format +msgid "Send %s" +msgstr "Изпращане на %s" + +#: gajim/gtk/single_message.py:183 +#, python-format +msgid "Received %s" +msgstr "Получено %s" + +#: gajim/gtk/single_message.py:205 +#, fuzzy, python-format +msgid "Characters typed: %s" +msgstr "Псевдонимът не е позволен: %s" + +#: gajim/gtk/single_message.py:210 gajim/gtk/xml_console.py:169 +msgid "Connection not available" +msgstr "В момента няма връзка" + +#: gajim/gtk/single_message.py:211 +#, python-format +msgid "Please make sure you are connected with \"%s\"." +msgstr "Уверете се, че сте свързани към „%s“." + +#: gajim/gtk/single_message.py:239 +#, fuzzy, python-format +msgid "" +"It is not possible to send a message to %s, this XMPP Address is not valid." +msgstr "Не е възможно да бъдат изпращани празни файлове" + +#: gajim/gtk/single_message.py:316 +#, python-format +msgid "RE: %s" +msgstr "Относно: %s" + +#: gajim/gtk/single_message.py:317 +#, python-format +msgid "%s wrote:\n" +msgstr "%s написа:\n" + +#: gajim/gtk/change_password.py:42 +#, fuzzy +msgid "Change" +msgstr "Смяна на псе_вдоним…" + +#: gajim/gtk/change_password.py:51 +#, fuzzy +msgid "Changing Password..." +msgstr "Промяна на парола" + +#: gajim/gtk/change_password.py:52 +#, fuzzy +msgid "Trying to change password..." +msgstr "Натиснете, за да смените паролата на акаунта" + +#: gajim/gtk/change_password.py:55 gajim/gtk/change_password.py:56 +#, fuzzy +msgid "Password Changed" +msgstr "Необходима е парола" + +#: gajim/gtk/change_password.py:57 +#, fuzzy +msgid "Your password has successfully been changed." +msgstr "_Настройки" + +#: gajim/gtk/change_password.py:60 gajim/gtk/change_password.py:61 +#, fuzzy +msgid "Password Change Failed" +msgstr "Необходима е парола" + +#: gajim/gtk/change_password.py:63 +#, fuzzy +msgid "An error occurred while trying to change your password." +msgstr "Възникна грешка при създаването на акаунта" + +#: gajim/gtk/change_password.py:145 gajim/gtk/change_password.py:147 +#: gajim/gtk/change_password.py:224 gajim/gtk/accounts.py:994 +msgid "Change Password" +msgstr "Промяна на парола" + +#: gajim/gtk/change_password.py:154 +#, fuzzy +msgid "Please enter your new password." +msgstr "Създайте нова тема с желаното име." + +#: gajim/gtk/change_password.py:167 +#, fuzzy +msgid "Enter new password..." +msgstr "Въведете нова парола:" + +#: gajim/gtk/change_password.py:176 +#, fuzzy +msgid "Confirm new password..." +msgstr "Промяна на парола" + +#: gajim/gtk/change_password.py:191 +msgid "Passwords do not match" +msgstr "Паролите не съвпадат" + +#: gajim/gtk/bookmarks.py:48 +#, fuzzy, python-format +msgid "Bookmarks for %s" +msgstr "_Добавяне на стаята към отметките" + +#: gajim/gtk/xml_console.py:95 gajim/gtk/xml_console.py:279 +#, fuzzy +msgid "All Accounts" +msgstr "Акаунти" + +#: gajim/gtk/xml_console.py:170 +#, fuzzy, python-format +msgid "Please make sure you are connected with '%s'." +msgstr "Уверете се, че сте свързани към „%s“." + +#: gajim/gtk/xml_console.py:180 +#, fuzzy +msgid "Invalid Node" +msgstr "Невалиден файл" + +#: gajim/gtk/xml_console.py:282 +msgid "Account" +msgstr "Акаунт" + +#: gajim/gtk/xml_console.py:309 gajim/data/gui/xml_console.ui:241 +#, fuzzy +msgid "Filter" +msgstr "Филтър:" + +#: gajim/gtk/dataform.py:252 gajim/gtk/dataform.py:290 +#, fuzzy +msgid "Required" +msgstr "Необходима е парола" + +#: gajim/gtk/dataform.py:315 +msgid "Yes" +msgstr "" + +#: gajim/gtk/dataform.py:315 +#, fuzzy +msgid "No" +msgstr "Няма" + +#: gajim/gtk/dataform.py:701 gajim/gtk/adhoc.py:86 +#: gajim/data/gui/profile.ui:396 +#, fuzzy +msgid "Cancel" +msgstr "_Отказ" + +#: gajim/gtk/dataform.py:703 +msgid "Submit" +msgstr "" + +#: gajim/gtk/discovery.py:69 +msgid "This service has not yet responded with detailed information" +msgstr "Тази услуга все още не е отговорила с подробна информация" + +#: gajim/gtk/discovery.py:70 +#, fuzzy +msgid "" +"This service could not respond with detailed information.\n" +"It is most likely a legacy service or broken." +msgstr "" +"Тази услуга не можа да отговори с подробна информация.\n" +"Най-вероятно е извън употреба или повредена" + +#: gajim/gtk/discovery.py:126 +msgid "Others" +msgstr "Други" + +#: gajim/gtk/discovery.py:129 gajim/data/gui/shortcuts_window.ui:307 +#, fuzzy +msgid "Group Chat" +msgstr "Стаи" + +#: gajim/gtk/discovery.py:523 +msgid "Without a connection, you can not browse available services" +msgstr "Трябва да сте свързани, за да разглеждате наличните услуги" + +#: gajim/gtk/discovery.py:610 +#, python-format +msgid "Service Discovery using account %s" +msgstr "Откриване на налични услуги за акаунт „%s“" + +#: gajim/gtk/discovery.py:612 +msgid "Service Discovery" +msgstr "Откриване на услуги" + +#: gajim/gtk/discovery.py:695 +msgid "The service could not be found" +msgstr "Услугата не може да бъде намерена" + +#: gajim/gtk/discovery.py:696 +msgid "" +"There is no service at the address you entered, or it is not responding. " +"Check the address and try again." +msgstr "" +"Няма услуга на въведения адрес или не отговаря. Проверете адреса и опитайте " +"отново." + +#: gajim/gtk/discovery.py:703 gajim/gtk/discovery.py:1046 +msgid "The service is not browsable" +msgstr "Услугата не е достъпна" + +#: gajim/gtk/discovery.py:704 +msgid "This type of service does not contain any items to browse." +msgstr "Този вид услуга не съдържа обекти за показване." + +#: gajim/gtk/discovery.py:742 gajim/gtk/discovery.py:751 +msgid "Invalid Server Name" +msgstr "Невалидно име на сървър" + +#: gajim/gtk/discovery.py:810 +#, python-format +msgid "Browsing %(address)s using account %(account)s" +msgstr "Търсене в %(address)s от акаунт „%(account)s“" + +#: gajim/gtk/discovery.py:855 +#, fuzzy +msgid "Browse" +msgstr "_Търсене" + +#: gajim/gtk/discovery.py:1047 +msgid "This service does not contain any items to browse." +msgstr "Тази услуга не съдържа обекти за показване." + +#: gajim/gtk/discovery.py:1259 +#, fuzzy +msgid "_Command" +msgstr "Команди: %s" + +#: gajim/gtk/discovery.py:1268 gajim/gtk/discovery.py:1425 +msgid "Re_gister" +msgstr "_Регистриране" + +#: gajim/gtk/discovery.py:1275 +#, fuzzy +msgid "Join" +msgstr "_Влизане" + +#: gajim/gtk/discovery.py:1281 +msgid "_Search" +msgstr "_Търсене" + +#: gajim/gtk/discovery.py:1423 gajim/data/gui/profile.ui:353 +msgid "_Edit" +msgstr "_Редактиране" + +#: gajim/gtk/discovery.py:1461 +#, fuzzy, python-format +msgid "Scanning %(current)d / %(total)d ..." +msgstr "Сканиране на %(current)d / %(total)d…" + +#: gajim/gtk/discovery.py:1660 +msgid "Users" +msgstr "Потребители" + +#: gajim/gtk/discovery.py:1668 gajim/data/gui/groupchat_info_scrolled.ui:32 +#: gajim/data/gui/filetransfers_send_file_dialog.ui:15 +#: gajim/data/gui/advanced_configuration.ui:82 +msgid "Description" +msgstr "Описание" + +#: gajim/gtk/discovery.py:1676 +msgid "Id" +msgstr "Идентификатор" + +#: gajim/gtk/discovery.py:1905 +msgid "Subscribed" +msgstr "Записан" + +#: gajim/gtk/discovery.py:1914 +msgid "Node" +msgstr "Възел" + +#: gajim/gtk/discovery.py:1983 +#, fuzzy +msgid "_New post" +msgstr "Ново съобщение" + +#: gajim/gtk/discovery.py:1992 +msgid "_Subscribe" +msgstr "_Записване" + +#: gajim/gtk/discovery.py:2000 +msgid "_Unsubscribe" +msgstr "_Отписване" + +#: gajim/gtk/groupchat_settings.py:43 +msgid "Show Join/Leave" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:53 +#, fuzzy +msgid "Notify on all Messages" +msgstr "Настроени съобщения:" + +#: gajim/gtk/groupchat_settings.py:58 +#, fuzzy +msgid "Minimize on Close" +msgstr "_Минимизиране при затваряне" + +#: gajim/gtk/groupchat_settings.py:63 +#, fuzzy +msgid "Minimize When Joining Automatically" +msgstr "Минимизиране при автоматично влизане" + +#: gajim/gtk/groupchat_settings.py:68 +#, fuzzy +msgid "Send Chat State" +msgstr "Последно състояние: %s" + +#: gajim/gtk/groupchat_settings.py:74 +#, fuzzy +msgid "Send Chat Markers" +msgstr "Последно състояние: %s" + +#: gajim/gtk/groupchat_settings.py:77 +msgid "Let others know if you read up to this point" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:80 +msgid "Sync Threshold" +msgstr "" + +#: gajim/gtk/proxies.py:33 +#, fuzzy +msgid "Manage Proxies" +msgstr "Настройки на сървъра-посредник" + +#: gajim/gtk/manage_sounds.py:40 +#, fuzzy +msgid "Manage Sounds" +msgstr "Управление на акаунти" + +#: gajim/gtk/manage_sounds.py:51 +msgid "Wav Sounds" +msgstr "Формат WAV" + +#: gajim/gtk/manage_sounds.py:85 +#, fuzzy +msgid "Attention Message Received" +msgstr "Първо получено съобщение" + +#: gajim/gtk/manage_sounds.py:86 +msgid "First Message Received" +msgstr "Първо получено съобщение" + +#: gajim/gtk/manage_sounds.py:87 +msgid "Next Message Received Focused" +msgstr "Следващо получено съобщение в прозорец на фокус" + +#: gajim/gtk/manage_sounds.py:88 +msgid "Next Message Received Unfocused" +msgstr "Следващо получено съобщение в прозорец без фокус" + +#: gajim/gtk/manage_sounds.py:89 +msgid "Contact Connected" +msgstr "Включване на контакт" + +#: gajim/gtk/manage_sounds.py:90 +msgid "Contact Disconnected" +msgstr "Изключване на контакт" + +#: gajim/gtk/manage_sounds.py:91 +msgid "Message Sent" +msgstr "Изпратено съобщение" + +#: gajim/gtk/manage_sounds.py:92 +msgid "Group Chat Message Highlight" +msgstr "Осветено съобщение в стая" + +#: gajim/gtk/manage_sounds.py:93 +msgid "Group Chat Message Received" +msgstr "Получено съобщение в стая" + +#: gajim/gtk/groupchat_info.py:38 +#, fuzzy +msgid "?Group chat feature:Open" +msgstr "Не е установен" + +#: gajim/gtk/groupchat_info.py:39 +#, fuzzy +msgid "Anyone can join this group chat" +msgstr "%s влезе в стаята" + +#: gajim/gtk/groupchat_info.py:42 +#, fuzzy +msgid "?Group chat feature:Members Only" +msgstr "Осветено съобщение в стая" + +#: gajim/gtk/groupchat_info.py:43 +msgid "This group chat is restricted to members only" +msgstr "" + +#: gajim/gtk/groupchat_info.py:47 +#, fuzzy +msgid "?Group chat feature:Not Anonymous" +msgstr "Стаи" + +#: gajim/gtk/groupchat_info.py:48 +msgid "All other group chat participants can see your XMPP address" +msgstr "" + +#: gajim/gtk/groupchat_info.py:52 +#, fuzzy +msgid "?Group chat feature:Semi-Anonymous" +msgstr "Осветено съобщение в стая" + +#: gajim/gtk/groupchat_info.py:53 +msgid "Only moderators can see your XMPP address" +msgstr "" + +#: gajim/gtk/groupchat_info.py:56 +#, fuzzy +msgid "?Group chat feature:Moderated" +msgstr "Не е установен" + +#: gajim/gtk/groupchat_info.py:57 +msgid "" +"Participants entering this group chat need to request permission to send " +"messages" +msgstr "" + +#: gajim/gtk/groupchat_info.py:61 +#, fuzzy +msgid "?Group chat feature:Not Moderated" +msgstr "Стаи" + +#: gajim/gtk/groupchat_info.py:62 +msgid "Participants entering this group chat are allowed to send messages" +msgstr "" + +#: gajim/gtk/groupchat_info.py:66 +#, fuzzy +msgid "?Group chat feature:Public" +msgstr "Осветено съобщение в стая" + +#: gajim/gtk/groupchat_info.py:67 +msgid "Group chat can be found via search" +msgstr "" + +#: gajim/gtk/groupchat_info.py:70 +#, fuzzy +msgid "?Group chat feature:Hidden" +msgstr "Не е установен" + +#: gajim/gtk/groupchat_info.py:71 +#, fuzzy +msgid "This group chat can not be found via search" +msgstr "Тази стая няма тема" + +#: gajim/gtk/groupchat_info.py:74 +#, fuzzy +msgid "?Group chat feature:Password Required" +msgstr "Стаи" + +#: gajim/gtk/groupchat_info.py:75 +msgid "This group chat does require a password upon entry" +msgstr "" + +#: gajim/gtk/groupchat_info.py:79 +#, fuzzy +msgid "?Group chat feature:No Password Required" +msgstr "Стаи" + +#: gajim/gtk/groupchat_info.py:80 +msgid "This group chat does not require a password upon entry" +msgstr "" + +#: gajim/gtk/groupchat_info.py:84 +#, fuzzy +msgid "?Group chat feature:Persistent" +msgstr "Стаи" + +#: gajim/gtk/groupchat_info.py:85 +msgid "This group chat persists even if there are no participants" +msgstr "" + +#: gajim/gtk/groupchat_info.py:89 +#, fuzzy +msgid "?Group chat feature:Temporary" +msgstr "Не е установен" + +#: gajim/gtk/groupchat_info.py:90 +msgid "This group chat will be destroyed once the last participant left" +msgstr "" + +#: gajim/gtk/groupchat_info.py:94 +#, fuzzy +msgid "?Group chat feature:Archiving" +msgstr "Покана за разговор в стая" + +#: gajim/gtk/groupchat_info.py:95 +#, fuzzy +msgid "Messages are archived on the server" +msgstr "НЯМА да се запазва дневник за сесията" + +#: gajim/gtk/groupchat_info.py:205 +msgid "Website" +msgstr "" + +#: gajim/gtk/accounts.py:122 +#, fuzzy +msgid "Re-Login" +msgstr "Свързване наново?" + +#: gajim/gtk/accounts.py:123 +#, fuzzy +msgid "Re-Login now?" +msgstr "Свързване наново?" + +#: gajim/gtk/accounts.py:124 +#, fuzzy +msgid "To apply all changes instantly, you have to re-login." +msgstr "" +"Ако искате всички промени да влязат в сила веднага, трябва да се свържете " +"наново." + +#: gajim/gtk/accounts.py:128 +msgid "_Re-Login" +msgstr "" + +#: gajim/gtk/accounts.py:311 gajim/data/gui/server_info.ui:386 +msgid "Connection" +msgstr "Свързване" + +#: gajim/gtk/accounts.py:496 +#, fuzzy +msgid "Please check if Bonjour is installed." +msgstr "Проверете дали Avahi или Bonjour е инсталиран." + +#: gajim/gtk/accounts.py:498 +#, fuzzy +msgid "Please check if Avahi is installed." +msgstr "Проверете дали Avahi или Bonjour е инсталиран." + +#: gajim/gtk/accounts.py:537 +#, fuzzy +msgid "Disable Account" +msgstr "Невалидно име на акаунт" + +#: gajim/gtk/accounts.py:538 +#, fuzzy, python-format +msgid "Account %s is still connected" +msgstr "Акаунт „%s“ е свързан към сървъра" + +#: gajim/gtk/accounts.py:539 +#, fuzzy +msgid "All chat and group chat windows will be closed." +msgstr "" +"Всички прозорци за разговори и стаи ще бъдат затворени. Искате ли да " +"продължите?" + +#: gajim/gtk/accounts.py:543 +#, fuzzy +msgid "_Disable Account" +msgstr "Невалидно име на акаунт" + +#: gajim/gtk/accounts.py:614 +msgid "Label" +msgstr "" + +#: gajim/gtk/accounts.py:618 gajim/data/gui/groupchat_control.ui:99 +#: gajim/data/gui/chat_control.ui:363 +msgid "Color" +msgstr "Цвят" + +#: gajim/gtk/accounts.py:620 +msgid "Recognize your account by color" +msgstr "" + +#: gajim/gtk/accounts.py:622 +msgid "Login" +msgstr "" + +#: gajim/gtk/accounts.py:627 +#, fuzzy +msgid "Import Contacts" +msgstr "Покана на _контакти" + +#: gajim/gtk/accounts.py:636 gajim/gtk/accounts.py:865 +#, fuzzy +msgid "Connect on startup" +msgstr "С_вързване при стартиране" + +#: gajim/gtk/accounts.py:640 gajim/gtk/accounts.py:870 +#, fuzzy +msgid "Save conversations for all contacts" +msgstr "Запазване на история на _разговорите за всички контакти" + +#: gajim/gtk/accounts.py:642 gajim/gtk/accounts.py:872 +msgid "Store conversations on the harddrive" +msgstr "" + +#: gajim/gtk/accounts.py:644 gajim/gtk/accounts.py:874 +#, fuzzy +msgid "Global Status" +msgstr "Всички състояния" + +#: gajim/gtk/accounts.py:646 +#, fuzzy +msgid "Synchronise the status of all accounts" +msgstr "Промяна на състоянието на акаунта или акаунтите" + +#: gajim/gtk/accounts.py:648 +msgid "Remember Last Status" +msgstr "" + +#: gajim/gtk/accounts.py:650 +msgid "Restore status and status message of your last session" +msgstr "" + +#: gajim/gtk/accounts.py:653 +msgid "Use file transfer proxies" +msgstr "Използване на сървъри-посредници за файлови трансфери" + +#: gajim/gtk/accounts.py:670 +#, fuzzy +msgid "Forever" +msgstr "Сървър" + +#: gajim/gtk/accounts.py:671 gajim/common/const.py:1110 +msgid "1 Day" +msgstr "" + +#: gajim/gtk/accounts.py:672 gajim/common/const.py:1112 +msgid "1 Week" +msgstr "" + +#: gajim/gtk/accounts.py:673 gajim/common/const.py:1113 +msgid "1 Month" +msgstr "" + +#: gajim/gtk/accounts.py:674 +msgid "3 Months" +msgstr "" + +#: gajim/gtk/accounts.py:675 +msgid "6 Months" +msgstr "" + +#: gajim/gtk/accounts.py:676 +msgid "1 Year" +msgstr "" + +#: gajim/gtk/accounts.py:686 +#, fuzzy +msgid "Idle Time" +msgstr " от %s" + +#: gajim/gtk/accounts.py:688 +msgid "Disclose the time of your last activity" +msgstr "" + +#: gajim/gtk/accounts.py:690 +msgid "Local System Time" +msgstr "" + +#: gajim/gtk/accounts.py:692 +msgid "Disclose the local system time of the device Gajim runs on" +msgstr "" + +#: gajim/gtk/accounts.py:695 +#, fuzzy +msgid "Client / Operating System" +msgstr "Само-подписан сертификат" + +#: gajim/gtk/accounts.py:697 +#, fuzzy +msgid "" +"Disclose information about the client and operating system you currently use" +msgstr "" +"Ако тази опция е избрана, контактите ще могат да откриват операционната " +"система, която използвате." + +#: gajim/gtk/accounts.py:700 +#, fuzzy +msgid "Ignore Unknown Contacts" +msgstr "Покана на _контакти" + +#: gajim/gtk/accounts.py:702 +#, fuzzy +msgid "Ignore everything from contacts not in your Roster" +msgstr "Прене_брегване на събития от контакти, които не са в списъка" + +#: gajim/gtk/accounts.py:705 +#, fuzzy +msgid "Send Message Receipts" +msgstr "Първо получено съобщение" + +#: gajim/gtk/accounts.py:707 +msgid "Tell your contacts if you received a message" +msgstr "" + +#: gajim/gtk/accounts.py:713 +#, fuzzy +msgid "Default for chats" +msgstr "Свободен за разговор" + +#: gajim/gtk/accounts.py:716 gajim/gtk/accounts.py:741 +msgid "Reset all chats to the current default value" +msgstr "" + +#: gajim/gtk/accounts.py:722 +#, fuzzy +msgid "Send Chatstate in Group Chats" +msgstr "Неуспех при влизането в стаята" + +#: gajim/gtk/accounts.py:725 +#, fuzzy +msgid "Default for group chats" +msgstr "Нова стая" + +#: gajim/gtk/accounts.py:739 +#, fuzzy +msgid "Default for chats and private group chats" +msgstr "%s влезе в стаята" + +#: gajim/gtk/accounts.py:747 +#, fuzzy +msgid "Keep Chat History" +msgstr "Скоро посетени:" + +#: gajim/gtk/accounts.py:751 +msgid "How long Gajim should keep your chat history" +msgstr "" + +#: gajim/gtk/accounts.py:787 gajim/data/gui/manage_proxies.ui:337 +#, fuzzy +msgid "Proxy" +msgstr "Сървър-посредник:" + +#: gajim/gtk/accounts.py:794 gajim/gtk/accounts.py:949 +#: gajim/data/gui/server_info.ui:20 +#, fuzzy +msgid "Hostname" +msgstr "_Хост:" + +#: gajim/gtk/accounts.py:795 +msgid "Manually set the hostname for the server" +msgstr "" + +#: gajim/gtk/accounts.py:798 gajim/data/gui/vcard_information_window.ui:72 +#, fuzzy +msgid "Resource" +msgstr "Ресурс:" + +#: gajim/gtk/accounts.py:801 gajim/gtk/accounts.py:917 +#: gajim/gtk/accounts.py:925 +#, fuzzy +msgid "Priority" +msgstr "Приори_тет:" + +#: gajim/gtk/accounts.py:804 +#, fuzzy +msgid "Use Unencrypted Connection" +msgstr "Несигурна връзка" + +#: gajim/gtk/accounts.py:806 gajim/common/config.py:273 +#, fuzzy +msgid "Use an unencrypted connection to the server" +msgstr "Не сте свързани към сървъра." + +#: gajim/gtk/accounts.py:808 +#, fuzzy +msgid "Confirm Unencrypted Connection" +msgstr "Несигурна връзка" + +#: gajim/gtk/accounts.py:811 +#, fuzzy +msgid "Show a confirmation dialog before connecting unencrypted" +msgstr "" +"Да се показва ли диалогов прозорец за потвърждение при създаване на мета-" +"контакти? Празен низ означава никога да не се показва диалогов прозорец." + +#: gajim/gtk/accounts.py:835 gajim/data/gui/zeroconf_information_window.ui:8 +#: gajim/data/gui/vcard_information_window.ui:8 +#: gajim/data/gui/subscription_request_window.ui:164 +msgid "Contact Information" +msgstr "Информация за контакта" + +#: gajim/gtk/accounts.py:837 +msgid "Request contact information (Mood, Activity, Tune, Location)" +msgstr "" + +#: gajim/gtk/accounts.py:840 +#, fuzzy +msgid "Accept all Contact Requests" +msgstr "Запитване за файлов трансфер" + +#: gajim/gtk/accounts.py:842 +msgid "Automatically accept all contact requests" +msgstr "" + +#: gajim/gtk/accounts.py:844 +#, fuzzy +msgid "Filetransfer Preference" +msgstr "Грешка при файловия трансфер" + +#: gajim/gtk/accounts.py:846 +#, fuzzy +msgid "Upload Files" +msgstr "Запазване на файла като…" + +#: gajim/gtk/accounts.py:847 +#, fuzzy +msgid "Send Files Directly" +msgstr "Запазване на файла като…" + +#: gajim/gtk/accounts.py:848 +msgid "Preferred file transfer mechanism for file drag&drop on a chat window" +msgstr "" + +#: gajim/gtk/accounts.py:867 +#, fuzzy +msgid "Use environment variable" +msgstr "Използване на променливата на обкръжението „HTTP_PROXY“" + +#: gajim/gtk/accounts.py:876 +#, fuzzy +msgid "Synchronize the status of all accounts" +msgstr "Промяна на състоянието на акаунта или акаунтите" + +#: gajim/gtk/accounts.py:886 +#, fuzzy +msgid "First Name" +msgstr "Собствено име:" + +#: gajim/gtk/accounts.py:889 +#, fuzzy +msgid "Last Name" +msgstr "Фамилия:" + +#: gajim/gtk/accounts.py:895 gajim/gtk/profile.py:32 gajim/gtk/vcard_grid.py:39 +#, fuzzy +msgid "Email" +msgstr "Нова е-поща" + +#: gajim/gtk/accounts.py:913 +#, fuzzy +msgid "Adjust to status" +msgstr "_Съгласуване спрямо състоянието" + +#: gajim/gtk/accounts.py:945 +msgid "Enable" +msgstr "Активиране" + +#: gajim/gtk/accounts.py:953 +#, fuzzy +msgid "Port" +msgstr "По_рт:" + +#: gajim/gtk/accounts.py:957 gajim/data/gui/server_info.ui:250 +msgid "Type" +msgstr "Тип" + +#: gajim/gtk/accounts.py:963 +#, fuzzy +msgid "Connection Settings" +msgstr "Свързване" + +#: gajim/gtk/accounts.py:971 +#, fuzzy +msgid "Client Certificate" +msgstr "Само-подписан сертификат" + +#: gajim/gtk/accounts.py:973 +msgid "PKCS12 Files" +msgstr "" + +#: gajim/gtk/accounts.py:975 +#, fuzzy +msgid "Encrypted Certificate" +msgstr "Само-подписан сертификат" + +#: gajim/gtk/accounts.py:979 +#, fuzzy +msgid "Certificate Settings" +msgstr "Само-подписан сертификат" + +#: gajim/gtk/accounts.py:987 gajim/data/gui/account_wizard.ui:255 +#: gajim/data/gui/bookmarks.ui:102 +#, fuzzy +msgid "Password" +msgstr "Парола:" + +#: gajim/gtk/accounts.py:991 +#, fuzzy +msgid "Save Password" +msgstr "Запазване на паролата" + +#: gajim/gtk/accounts.py:999 +#, fuzzy +msgid "Login Settings" +msgstr "Неуспех при свързването" + +#: gajim/gtk/groupchat_config.py:39 +#, fuzzy +msgid "Group Chat Configuration" +msgstr "Покана за разговор в стая" + +#: gajim/gtk/groupchat_config.py:104 gajim/common/helpers.py:283 +#: gajim/data/gui/groupchat_config.ui:40 +msgid "Member" +msgstr "Член" + +#: gajim/gtk/groupchat_config.py:133 +#, fuzzy +msgid "A Group Chat needs at least one Owner" +msgstr "Не е установен" + +#: gajim/gtk/groupchat_config.py:241 +msgid "You are not allowed to modify the affiliation of Admins and Owners" +msgstr "" + +#: gajim/gtk/groupchat_config.py:400 +msgid "An entry with this XMPP Address already exists" +msgstr "" + +#: gajim/gtk/server_info.py:142 gajim/data/gui/vcard_information_window.ui:89 +#: gajim/data/gui/preferences.ui:359 +msgid "Status" +msgstr "Състояние" + +#: gajim/gtk/server_info.py:143 +msgid "Support" +msgstr "" + +#: gajim/gtk/server_info.py:144 +msgid "Security" +msgstr "" + +#: gajim/gtk/server_info.py:145 +msgid "Feedback" +msgstr "" + +#: gajim/gtk/server_info.py:146 +msgid "Abuse" +msgstr "" + +#: gajim/gtk/server_info.py:147 +msgid "Sales" +msgstr "" + +#: gajim/gtk/server_info.py:231 +#, python-format +msgid "%(days)s days, %(hours)s hours" +msgstr "" + +#: gajim/gtk/server_info.py:239 gajim/gtk/vcard_grid.py:115 +#: gajim/common/helpers.py:224 +#, fuzzy +msgid "Unknown" +msgstr "Неизвестна" + +#: gajim/gtk/server_info.py:360 +#, fuzzy +msgid "" +"\n" +"Disabled in preferences" +msgstr "_Настройки" + +#: gajim/gtk/history.py:79 +msgid "Conversation History" +msgstr "История на разговорите" + +#: gajim/gtk/history.py:411 gajim/gtk/history.py:465 +msgid "Disk Error" +msgstr "Грешка при запис/четене от диска" + +#: gajim/gtk/history.py:576 +#, python-format +msgid "%(nick)s is now %(status)s: %(status_msg)s" +msgstr "%(nick)s вече е %(status)s: %(status_msg)s" + +#: gajim/gtk/history.py:581 gajim/common/connection_handlers_events.py:414 +#, python-format +msgid "%(nick)s is now %(status)s" +msgstr "%(nick)s вече е %(status)s" + +#: gajim/gtk/history.py:589 +#, fuzzy, python-format +msgid "Error: %s" +msgstr "Грешка: %s" + +#: gajim/gtk/history.py:593 +#, python-format +msgid "Status is now: %(status)s: %(status_msg)s" +msgstr "Сегашното състояние е: %(status)s: %(status_msg)s" + +#: gajim/gtk/history.py:597 +#, python-format +msgid "Status is now: %(status)s" +msgstr "Сегашното състояние е: %(status)s" + +#: gajim/gtk/about.py:51 +#, fuzzy +msgid "A GTK XMPP client" +msgstr "Джабър клиент за GTK+" + +#: gajim/gtk/about.py:52 +#, fuzzy, python-format +msgid "GTK Version: %s" +msgstr "Версия на GTK+:" + +#: gajim/gtk/about.py:53 +#, fuzzy, python-format +msgid "GLib Version: %s" +msgstr "Версия на GTK+:" + +#: gajim/gtk/about.py:54 +#, fuzzy, python-format +msgid "PyGObject Version: %s" +msgstr "Версия на PyGTK:" + +#: gajim/gtk/about.py:55 +#, python-format +msgid "python-nbxmpp Version: %s" +msgstr "" + +#: gajim/gtk/about.py:59 +#, fuzzy +msgid "Current Developers" +msgstr "Текущи разработчици:" + +#: gajim/gtk/about.py:60 +#, fuzzy +msgid "Past Developers" +msgstr "Бивши разработчици:" + +#: gajim/gtk/about.py:61 +msgid "Artists" +msgstr "" + +#: gajim/gtk/about.py:65 +msgid "Last but not least" +msgstr "" + +#: gajim/gtk/about.py:66 +#, fuzzy +msgid "we would like to thank all the package maintainers." +msgstr "" +"И не на последно място, бихме искали да благодарим на всички, които " +"поддържат пакетите." + +#: gajim/gtk/about.py:67 +#, fuzzy +msgid "Thanks" +msgstr "Благодарен" + +#: gajim/gtk/about.py:69 +msgid "translator-credits" +msgstr "" +"Явор Доганов \n" +"\n" +"Проектът за превод на GNOME има нужда от подкрепа.\n" +"Научете повече за нас на http://gnome.cult.bg\n" +"Докладвайте за грешки на http://gnome.cult.bg/bugs" + +#: gajim/gtk/search.py:95 gajim/gtk/search.py:191 +msgid "Search" +msgstr "Търсене" + +#: gajim/gtk/search.py:101 +#, fuzzy +msgid "New Search" +msgstr "Търсене" + +#: gajim/gtk/search.py:176 +msgid "Request Search Form" +msgstr "" + +#: gajim/gtk/search.py:236 +#, fuzzy +msgid "Search…" +msgstr "Търсене" + +#: gajim/gtk/search.py:243 +#, fuzzy +msgid "Search Result" +msgstr "Търсене" + +#: gajim/gtk/search.py:250 +#, fuzzy +msgid "No results found" +msgstr "Няма резултати" + +#: gajim/gtk/features.py:40 gajim/data/gui/server_info.ui:447 +msgid "Features" +msgstr "Възможности" + +#: gajim/gtk/features.py:90 +msgid "Audio / Video" +msgstr "" + +#: gajim/gtk/features.py:92 +msgid "Enables Gajim to provide Audio and Video chats" +msgstr "" + +#: gajim/gtk/features.py:93 +msgid "" +"Requires: gir1.2-farstream-0.2, gir1.2-gstreamer-1.0, gstreamer1.0-libav, " +"gstreamer1.0-plugins-ugly" +msgstr "" + +#: gajim/gtk/features.py:95 gajim/gtk/features.py:145 +msgid "Feature not available under Windows" +msgstr "" + +#: gajim/gtk/features.py:97 +#, fuzzy +msgid "Automatic Status" +msgstr "_Съгласуване спрямо състоянието" + +#: gajim/gtk/features.py:99 +#, fuzzy +msgid "" +"Enables Gajim to measure your computer's idle time in order to set your " +"Status automatically" +msgstr "" +"Възможност за измерване на времето на бездействие, с цел да се установи " +"автоматично съобщение за състояние." + +#: gajim/gtk/features.py:101 +#, fuzzy +msgid "Requires: libxss" +msgstr "Изисква dnsutils." + +#: gajim/gtk/features.py:102 gajim/gtk/features.py:123 +msgid "No additional requirements" +msgstr "" + +#: gajim/gtk/features.py:104 +#, fuzzy +msgid "Bonjour / Zeroconf (Serverless Chat)" +msgstr "Bonjour / Zeroconf" + +#: gajim/gtk/features.py:106 +#, fuzzy +msgid "" +"Enables Gajim to automatically detected clients in a local network for " +"serverless chats" +msgstr "" +"Разговори с автоматично открити контакти в локалната мрежа (без сървър)." + +#: gajim/gtk/features.py:108 +#, fuzzy +msgid "Requires: gir1.2-avahi-0.6" +msgstr "Изисква python-gnome2." + +#: gajim/gtk/features.py:109 +#, fuzzy, python-format +msgid "Requires: pybonjour and bonjour SDK running (%(url)s)" +msgstr "Изисква gpg и python-GnuPGInterface." + +#: gajim/gtk/features.py:112 +#, fuzzy +msgid "Location detection" +msgstr "Свързване" + +#: gajim/gtk/features.py:114 +msgid "" +"Enables Gajim to be location-aware, if the user decides to publish the " +"device’s location" +msgstr "" + +#: gajim/gtk/features.py:116 +#, fuzzy +msgid "Requires: geoclue" +msgstr "Изисква python-sexy." + +#: gajim/gtk/features.py:117 +msgid "Feature is not available under Windows" +msgstr "" + +#: gajim/gtk/features.py:119 +#, fuzzy +msgid "Notification Sounds" +msgstr "Уведомления" + +#: gajim/gtk/features.py:121 +msgid "Enables Gajim to play sounds for various notifications" +msgstr "" + +#: gajim/gtk/features.py:122 +#, fuzzy +msgid "Requires: gsound" +msgstr "Изисква python-dbus." + +#: gajim/gtk/features.py:125 +#, fuzzy +msgid "Secure Password Storage" +msgstr "Запазване на паролата" + +#: gajim/gtk/features.py:127 +#, fuzzy +msgid "" +"Enables Gajim to store Passwords securely instead of storing them in " +"plaintext" +msgstr "" +"Паролите могат да се съхраняват по сигурен начин, вместо в обикновен текст." + +#: gajim/gtk/features.py:129 +#, fuzzy +msgid "Requires: gnome-keyring or kwallet" +msgstr "Изисква gnome-keyring и python-gnome2-desktop." + +#: gajim/gtk/features.py:130 +msgid "Windows Credential Vault is used for secure password storage" +msgstr "" + +#: gajim/gtk/features.py:133 +msgid "Spell Checker" +msgstr "Проверка на правописа" + +#: gajim/gtk/features.py:135 +msgid "Enables Gajim to spell check your messages while composing" +msgstr "" + +#: gajim/gtk/features.py:137 gajim/gtk/features.py:138 +#, fuzzy +msgid "Requires: Gspell" +msgstr "Изисква python-sexy." + +#: gajim/gtk/features.py:140 +msgid "UPnP-IGD Port Forwarding" +msgstr "" + +#: gajim/gtk/features.py:142 +msgid "" +"Enables Gajim to request your router to forward ports for file transfers" +msgstr "" + +#: gajim/gtk/features.py:144 +#, fuzzy +msgid "Requires: gir1.2-gupnpigd-1.0" +msgstr "Изисква python-gnome2." + +#: gajim/gtk/features.py:200 +#, fuzzy +msgid "Disabled in Preferences" +msgstr "_Настройки" + +#: gajim/gtk/dialogs.py:55 gajim/gtk/filechoosers.py:179 +#: gajim/data/gui/groupchat_control.ui:674 +#: gajim/data/gui/groupchat_control.ui:766 +#: gajim/data/gui/groupchat_control.ui:882 +#: gajim/data/gui/groupchat_control.ui:974 +#: gajim/data/gui/groupchat_control.ui:1419 +#: gajim/data/gui/groupchat_control.ui:1545 +#: gajim/data/gui/groupchat_control.ui:1671 +#: gajim/data/gui/groupchat_control.ui:1842 +#: gajim/data/gui/groupchat_control.ui:1920 gajim/data/gui/filetransfers.ui:30 +#: gajim/data/gui/add_new_contact_window.ui:451 +#: gajim/data/gui/filetransfer_progress.ui:172 gajim/data/gui/profile.ui:260 +#: gajim/data/gui/passphrase_dialog.ui:29 +msgid "_Cancel" +msgstr "_Отказ" + +#: gajim/gtk/dialogs.py:65 gajim/data/gui/history_manager.ui:20 +#, fuzzy +msgid "_Delete" +msgstr "Изтриване" + +#: gajim/gtk/dialogs.py:216 +#, fuzzy +msgid "Certificate" +msgstr "Само-подписан сертификат" + +#: gajim/gtk/dialogs.py:230 +#, fuzzy, python-format +msgid "" +"Certificate for \n" +"%s" +msgstr "за акаунт „%s“" + +#: gajim/gtk/dialogs.py:279 +msgid "Issued to\n" +msgstr "" + +#: gajim/gtk/dialogs.py:280 gajim/gtk/dialogs.py:285 +msgid "Common Name (CN): " +msgstr "" + +#: gajim/gtk/dialogs.py:281 gajim/gtk/dialogs.py:286 +msgid "Organization (O): " +msgstr "" + +#: gajim/gtk/dialogs.py:282 gajim/gtk/dialogs.py:287 +msgid "Organizational Unit (OU): " +msgstr "" + +#: gajim/gtk/dialogs.py:283 +#, fuzzy +msgid "Serial Number: " +msgstr "Номер на GG:" + +#: gajim/gtk/dialogs.py:284 +msgid "Issued by\n" +msgstr "" + +#: gajim/gtk/dialogs.py:288 +msgid "Validity\n" +msgstr "" + +#: gajim/gtk/dialogs.py:289 +msgid "Issued on: " +msgstr "" + +#: gajim/gtk/dialogs.py:290 +msgid "Expires on: " +msgstr "" + +#: gajim/gtk/dialogs.py:291 +msgid "SHA-1:" +msgstr "" + +#: gajim/gtk/dialogs.py:293 +msgid "SHA-256:" +msgstr "" + +#: gajim/gtk/util.py:591 +msgid "Unknown Artist" +msgstr "Неизвестен изпълнител" + +#: gajim/gtk/util.py:592 +msgid "Unknown Title" +msgstr "Неизвестно заглавие" + +#: gajim/gtk/util.py:593 +msgid "Unknown Source" +msgstr "Неизвестен източник" + +#: gajim/gtk/util.py:595 +#, python-format +msgid "" +"\"%(title)s\" by %(artist)s\n" +"from %(source)s" +msgstr "" +"\"%(title)s\" на %(artist)s\n" +"от %(source)s" + +#: gajim/gtk/profile.py:28 gajim/gtk/vcard_grid.py:33 +#: gajim/data/gui/vcard_information_window.ui:411 +#, fuzzy +msgid "Full Name" +msgstr "Име" + +#: gajim/gtk/profile.py:29 gajim/gtk/vcard_grid.py:35 +#: gajim/data/gui/vcard_information_window.ui:770 +#, fuzzy +msgid "Birthday" +msgstr "Рожден ден:" + +#: gajim/gtk/profile.py:30 gajim/gtk/vcard_grid.py:36 +#, fuzzy +msgid "Gender" +msgstr "Изпращач: " + +#: gajim/gtk/profile.py:31 gajim/data/gui/groupchat_info_scrolled.ui:16 +#, fuzzy +msgid "Address" +msgstr "_Адрес:" + +#: gajim/gtk/profile.py:34 gajim/gtk/vcard_grid.py:38 +#: gajim/data/gui/vcard_information_window.ui:720 +#: gajim/data/gui/vcard_information_window.ui:1396 +#, fuzzy +msgid "Phone No." +msgstr "Телефон" + +#: gajim/gtk/profile.py:35 +msgid "?profile:Organisation" +msgstr "" + +#: gajim/gtk/profile.py:36 gajim/gtk/vcard_grid.py:41 +msgid "?profile:Title" +msgstr "" + +#: gajim/gtk/profile.py:37 gajim/gtk/vcard_grid.py:42 +#, fuzzy +msgid "?profile:Role" +msgstr "файл" + +#: gajim/gtk/profile.py:38 gajim/gtk/vcard_grid.py:45 +msgid "URL" +msgstr "" + +#: gajim/gtk/profile.py:39 gajim/gtk/vcard_grid.py:46 +#, fuzzy +msgid "?profile:Key" +msgstr "файл" + +#: gajim/gtk/profile.py:299 gajim/gtk/profile.py:301 +#: gajim/data/gui/profile.ui:98 gajim/data/gui/profile.ui:110 +msgid "Everyone" +msgstr "" + +#: gajim/gtk/profile.py:299 gajim/gtk/profile.py:301 +#: gajim/data/gui/shortcuts_window.ui:108 gajim/data/gui/groupchat_invite.ui:83 +msgid "Contacts" +msgstr "Контакти" + +#: gajim/gtk/filechoosers.py:88 +#, fuzzy +msgid "Choose File to Send…" +msgstr "Избор на файл за изпращане…" + +#: gajim/gtk/filechoosers.py:94 +#, fuzzy +msgid "Choose Avatar…" +msgstr "Избор на изображение" + +#: gajim/gtk/filechoosers.py:98 +#, fuzzy +msgid "PNG files" +msgstr "Всички файлове" + +#: gajim/gtk/filechoosers.py:99 +#, fuzzy +msgid "JPEG files" +msgstr "Всички файлове" + +#: gajim/gtk/filechoosers.py:100 +#, fuzzy +msgid "SVG files" +msgstr "Изпращане на _файл" + +#: gajim/gtk/filechoosers.py:102 +msgid "Images" +msgstr "Изображения" + +#: gajim/gtk/filechoosers.py:139 +#, fuzzy +msgid "Choose Archive" +msgstr "Избор на изображение" + +#: gajim/gtk/filechoosers.py:141 +#, fuzzy +msgid "ZIP files" +msgstr "Всички файлове" + +#: gajim/gtk/filechoosers.py:146 +#, fuzzy +msgid "Save File as…" +msgstr "Запазване на файла като…" + +#: gajim/gtk/filechoosers.py:180 +#, fuzzy +msgid "_Open" +msgstr "OpenGPG" + +#: gajim/gtk/blocking.py:38 +#, fuzzy, python-format +msgid "Blocking List for %s" +msgstr "Филтър за уединение за %s" + +#: gajim/gtk/blocking.py:64 +#, fuzzy +msgid "Error!" +msgstr "Грешка." + +#: gajim/gtk/service_registration.py:143 gajim/gtk/service_registration.py:157 +#: gajim/gtk/service_registration.py:164 +#, fuzzy +msgid "Register" +msgstr "_Регистриране" + +#: gajim/gtk/service_registration.py:193 gajim/gtk/service_registration.py:205 +#, fuzzy +msgid "Registration successful" +msgstr "Регистриране в %s" + +#: gajim/gtk/service_registration.py:216 +#, fuzzy +msgid "Registration failed" +msgstr "Неуспех при свързването" + +#: gajim/gtk/vcard_grid.py:37 +#, fuzzy +msgid "?profile:Address" +msgstr "_Адрес:" + +#: gajim/gtk/vcard_grid.py:40 +#, fuzzy +msgid "IM Address" +msgstr "_Адрес:" + +#: gajim/gtk/vcard_grid.py:43 +#, fuzzy +msgid "Organisation" +msgstr "В отпуск" + +#: gajim/gtk/vcard_grid.py:44 +#, fuzzy +msgid "?profile:Note" +msgstr "файл" + +#: gajim/gtk/vcard_grid.py:51 +msgid "Your public key or authentication certificate" +msgstr "" + +#: gajim/gtk/vcard_grid.py:59 +msgid "Post Office Box" +msgstr "" + +#: gajim/gtk/vcard_grid.py:60 gajim/data/gui/vcard_information_window.ui:489 +#: gajim/data/gui/vcard_information_window.ui:1179 +#, fuzzy +msgid "Street" +msgstr "Стресиран" + +#: gajim/gtk/vcard_grid.py:61 +#, fuzzy +msgid "Extended Address" +msgstr "Допълнителен адрес:" + +#: gajim/gtk/vcard_grid.py:62 gajim/data/gui/vcard_information_window.ui:505 +#: gajim/data/gui/vcard_information_window.ui:1195 +msgid "City" +msgstr "" + +#: gajim/gtk/vcard_grid.py:63 gajim/data/gui/vcard_information_window.ui:521 +#: gajim/data/gui/vcard_information_window.ui:1211 +#, fuzzy +msgid "State" +msgstr "Състояние" + +#: gajim/gtk/vcard_grid.py:64 gajim/data/gui/vcard_information_window.ui:595 +#: gajim/data/gui/vcard_information_window.ui:1244 +#, fuzzy +msgid "Postal Code" +msgstr "Пощенски код:" + +#: gajim/gtk/vcard_grid.py:65 gajim/data/gui/vcard_information_window.ui:611 +#: gajim/data/gui/vcard_information_window.ui:1260 +#, fuzzy +msgid "Country" +msgstr "Акаунт" + +#: gajim/gtk/vcard_grid.py:111 +msgid "Male" +msgstr "" + +#: gajim/gtk/vcard_grid.py:112 +msgid "Female" +msgstr "" + +#: gajim/gtk/vcard_grid.py:113 +msgid "?Gender:Other" +msgstr "" + +#: gajim/gtk/vcard_grid.py:114 +#, fuzzy +msgid "?Gender:None" +msgstr "Изпращач: " + +#: gajim/gtk/vcard_grid.py:121 gajim/gtk/vcard_grid.py:428 +#, fuzzy +msgid "Home" +msgstr "Страница в Интернет:" + +#: gajim/gtk/vcard_grid.py:122 gajim/gtk/vcard_grid.py:429 +#: gajim/data/gui/vcard_information_window.ui:1452 +msgid "Work" +msgstr "Работа" + +#: gajim/gtk/vcard_grid.py:598 +#, fuzzy +msgid "YYYY-MM-DD" +msgstr "Формат: гггг-мм-дд" + +#: gajim/gtk/adhoc.py:91 +#, fuzzy +msgid "Finish" +msgstr "_Приключване" + +#: gajim/gtk/adhoc.py:96 gajim/gtk/adhoc.py:283 +#, fuzzy +msgid "Commands" +msgstr "Команди: %s" + +#: gajim/gtk/adhoc.py:107 +#, fuzzy +msgid "Previous" +msgstr "Завистлив" + +#: gajim/gtk/adhoc.py:112 +#, fuzzy +msgid "Execute" +msgstr "_Изпълнение на команда" + +#: gajim/gtk/adhoc.py:196 +#, fuzzy +msgid "No commands available" +msgstr "Няма наличен акаунт" + +#: gajim/gtk/adhoc.py:244 +#, fuzzy +msgid "Request Command List" +msgstr "_Изпълнение на команда" + +#: gajim/gtk/adhoc.py:259 +#, fuzzy +msgid "Executing…" +msgstr "_Изпълнение на команда" + +#: gajim/gtk/adhoc.py:266 +#, fuzzy +msgid "Command List" +msgstr "Команди: %s" + +#: gajim/gtk/adhoc.py:321 gajim/data/gui/manage_proxies.ui:255 +#, fuzzy +msgid "Settings" +msgstr "Неуспех при свързването" + +#: gajim/gtk/adhoc.py:386 +#, fuzzy +msgid "Finished" +msgstr "_Приключване" + +#: gajim/gtk/adhoc.py:455 +#, fuzzy +msgid "Execution failed" +msgstr "Неуспех при свързването" + +#: gajim/common/jingle_rtp.py:133 +#, fuzzy, python-format +msgid "%s configuration error" +msgstr "Настройки на стаята" + +#: gajim/common/jingle_rtp.py:134 +#, python-format +msgid "" +"Couldn’t set up %(text)s. Check your configuration.\n" +"Pipeline:\n" +"%(pipeline)s\n" +"Error:\n" +"%(error)s" +msgstr "" + +#: gajim/common/jingle_rtp.py:416 +msgid "audio input" +msgstr "" + +#: gajim/common/jingle_rtp.py:421 +msgid "audio output" +msgstr "" + +#: gajim/common/jingle_rtp.py:489 +msgid "video input" +msgstr "" + +#: gajim/common/setting_values.py:300 gajim/common/config.py:356 +#: gajim/common/const.py:387 +msgid "Sleeping" +msgstr "Спя" + +#: gajim/common/setting_values.py:301 +msgid "ZZZZzzzzzZZZZZ" +msgstr "" + +#: gajim/common/setting_values.py:306 gajim/common/config.py:357 +msgid "Back soon" +msgstr "Връщам се скоро" + +#: gajim/common/setting_values.py:307 gajim/common/config.py:357 +msgid "Back in some minutes." +msgstr "Ще се върна след малко." + +#: gajim/common/setting_values.py:309 gajim/common/config.py:358 +#: gajim/common/const.py:353 +msgid "Eating" +msgstr "Хапвам" + +#: gajim/common/setting_values.py:310 +#, fuzzy +msgid "I’m eating." +msgstr "Работя." + +#: gajim/common/setting_values.py:314 gajim/common/config.py:359 +msgid "Movie" +msgstr "Филм" + +#: gajim/common/setting_values.py:315 +#, fuzzy +msgid "I’m watching a movie." +msgstr "Гледам филм." + +#: gajim/common/setting_values.py:319 gajim/common/config.py:360 +#: gajim/common/const.py:420 +msgid "Working" +msgstr "Работя" + +#: gajim/common/setting_values.py:320 +#, fuzzy +msgid "I’m working." +msgstr "Работя." + +#: gajim/common/setting_values.py:324 gajim/common/config.py:362 +msgid "Out" +msgstr "Навън" + +#: gajim/common/setting_values.py:325 +#, fuzzy +msgid "I’m out enjoying life." +msgstr "Наслаждавам се на живота навън." + +#: gajim/common/setting_values.py:393 gajim/common/config.py:84 +msgid "" +"Allow to hide the contact list window even if the notification area icon is " +"not shown." +msgstr "" + +#: gajim/common/setting_values.py:394 gajim/common/config.py:95 +msgid "" +"'always' - print time for every message.\n" +"'sometimes' - print time every print_ichat_every_foo_minutes minute.\n" +"'never' - never print time." +msgstr "" +"„always“ - изписване на часа при всяко съобщение.\n" +"„sometimes“ - изписване на часа през интервал, указан в " +"„print_ichat_every_foo_minutes“.\n" +"„never“ - никога да не се изписва часа." + +#: gajim/common/setting_values.py:395 gajim/common/config.py:99 +msgid "Treat * / _ pairs as possible formatting characters." +msgstr "Тълкуване на двойки от „* / _“ като възможни символи за форматиране." + +#: gajim/common/setting_values.py:396 gajim/common/config.py:100 +#, fuzzy +msgid "" +"If enabled, do not remove */_ . So *abc* will be bold but with * * not " +"removed." +msgstr "" +"Ако е активирана, не се премахват */_. Така *абв* ще е в получер стил, но " +"със символите * *." + +#: gajim/common/setting_values.py:397 gajim/common/config.py:103 +#, fuzzy +msgid "" +"Character to add after nickname when using nickname completion (tab) in " +"group chat." +msgstr "" +"Знак за добавяне след името на псевдонима при използване на автоматично " +"допълване (TAB) в стая." + +#: gajim/common/setting_values.py:398 gajim/common/config.py:125 +msgid "" +"If enabled, Gajim will save the contact list window position when hiding it, " +"and restore it when showing the contact list window again." +msgstr "" + +#: gajim/common/setting_values.py:399 gajim/common/config.py:131 +msgid "Place the contact list on the right in single window mode" +msgstr "" + +#: gajim/common/setting_values.py:400 gajim/common/config.py:137 +#, fuzzy +msgid "" +"This option lets you customize the timestamp that is printed in " +"conversation. For example '[%H:%M] ' will show '[hour:minute] '. See python " +"doc on strftime for full documentation (https://docs.python.org/3/library/" +"time.html#time.strftime)." +msgstr "" +"Чрез тази опция може да персонализирате начина на изписване на времето в " +"разговор. Например „[%H:%M] “ ще показва „час:минути] “. Вижте " +"документацията на Питон относно „strftime“ за повече информация: http://docs." +"python.org/lib/module-time.html" + +#: gajim/common/setting_values.py:401 gajim/common/config.py:138 +#, fuzzy +msgid "Characters that are printed before the nickname in conversations." +msgstr "Знаци, които се изобразяват в разговори преди псевдонима" + +#: gajim/common/setting_values.py:402 gajim/common/config.py:139 +#, fuzzy +msgid "Characters that are printed after the nickname in conversations." +msgstr "Знаци, които се изобразяват в разговори след псевдонима" + +#: gajim/common/setting_values.py:403 gajim/common/config.py:140 +#, fuzzy +msgid "If enabled, Gajim will add * and [n] in contact list window title." +msgstr "" +"Ако тази опция е избрана, Gajim ще изобразява настроението на контактите в " +"списъка." + +#: gajim/common/setting_values.py:404 gajim/common/config.py:141 +#, fuzzy +msgid "" +"Number of messages from chat history to be restored when a chat tab/window " +"is reopened." +msgstr "" +"Колко реда от предишния разговор да за запомнят при повторното отваряне на " +"подпрозорец/прозорец." + +#: gajim/common/setting_values.py:405 gajim/common/config.py:142 +msgid "" +"How far back in time (minutes) chat history is restored. -1 means no limit." +msgstr "" + +#: gajim/common/setting_values.py:406 gajim/common/config.py:143 +#, fuzzy +msgid "Send message on Ctrl+Enter and make a new line with Enter." +msgstr "Изпращане на съобщение при Ctrl+Enter и нов ред с „Enter“." + +#: gajim/common/setting_values.py:407 gajim/common/config.py:145 +#, fuzzy +msgid "How many lines to store for Ctrl+KeyUP (previously sent messages)." +msgstr "Колко реда да се запазват за Ctrl+горна стрелка." + +#: gajim/common/setting_values.py:409 gajim/common/config.py:148 +#, fuzzy, python-format +msgid "" +"Either a custom URL with %%s in it (where %%s is the word/phrase) or " +"'WIKTIONARY' (which means use Wikitionary)." +msgstr "" +"Или определен адрес, съдържащ %s, където %s е думата/фразата, или " +"„WIKTIONARY“, което означава използване на wiktionary." + +#: gajim/common/setting_values.py:412 gajim/common/config.py:151 +msgid "If checked, Gajim can be controlled remotely using gajim-remote." +msgstr "" +"Ако тази опция е избрана, Gajim може да се контролира отдалечено чрез gajim-" +"remote." + +#: gajim/common/setting_values.py:413 +#, fuzzy +msgid "" +"When not printing time for every message ('print_time'==sometimes, print it " +"every x minutes." +msgstr "" +"Когато не се изписва часа на всяко съобщение („print_time“ е настроено на " +"„sometimes“), да се показва на всеки x минути." + +#: gajim/common/setting_values.py:414 gajim/common/config.py:153 +msgid "Ask before pasting an image." +msgstr "" + +#: gajim/common/setting_values.py:415 gajim/common/config.py:154 +msgid "Ask before closing a group chat tab/window." +msgstr "Питане преди затваряне на подпрозорец/прозорец на стая." + +#: gajim/common/setting_values.py:416 gajim/common/config.py:155 +msgid "" +"Ask before closing tabbed chat window if there are chats that can lose data " +"(chat, private chat, group chat that will not be minimized)." +msgstr "" + +#: gajim/common/setting_values.py:418 gajim/common/config.py:158 +#, fuzzy +msgid "" +"List of send hosts (comma separated) in addition to local interfaces for " +"file transfers (in case of address translation/port forwarding)." +msgstr "" +"Списък от хостове, разделен със запетаи, които се изпращат като допълнение " +"към локалните интерфейси за файлов трансфер в случай, че се ползва NAT/" +"пренасочване на портове." + +#: gajim/common/setting_values.py:419 gajim/common/config.py:159 +msgid "IEC standard says KiB = 1024 bytes, KB = 1000 bytes." +msgstr "Според стандарта на IEC KiB = 1024 байта, KB = 1000 байта." + +#: gajim/common/setting_values.py:421 gajim/common/config.py:161 +#, fuzzy +msgid "Notify of events in the notification area." +msgstr "Уведомяване за събития в областта за уведомяване." + +#: gajim/common/setting_values.py:422 gajim/common/config.py:166 +msgid "Show tab when only one conversation?" +msgstr "Показване на подпрозорец при един разговор?" + +#: gajim/common/setting_values.py:423 gajim/common/config.py:167 +msgid "Show tabbed notebook border in chat windows?" +msgstr "Показване на границата на подпрозореца в прозорците за разговор?" + +#: gajim/common/setting_values.py:424 gajim/common/config.py:168 +msgid "Show close button in tab?" +msgstr "Показване на бутона за затваряне на подпрозореца?" + +#: gajim/common/setting_values.py:425 gajim/common/config.py:169 +msgid "Preview new messages in notification popup?" +msgstr "Показване на нови съобщения в изскачащ прозорец?" + +#: gajim/common/setting_values.py:426 gajim/common/config.py:172 +#, fuzzy +msgid "" +"A list of words (semicolon separated) that will be highlighted in group " +"chats." +msgstr "" +"Списък с думи, отделени с точка и запетая, които ще се осветяват при " +"разговор в стая." + +#: gajim/common/setting_values.py:427 gajim/common/config.py:174 +msgid "" +"If enabled, Gajim hides the contact list window when pressing the X button " +"instead of minimizing into the notification area." +msgstr "" + +#: gajim/common/setting_values.py:432 gajim/common/config.py:181 +#, fuzzy +msgid "" +"Define the position of avatars in the contact list. Can be 'left' or 'right'." +msgstr "" +"Позиция на аватара в списъка. Може да е ляво (left) или дясно (right)." + +#: gajim/common/setting_values.py:433 gajim/common/config.py:186 +#, fuzzy +msgid "Don't show contact list window in the system taskbar." +msgstr "Да не се показва списъка в панела." + +#: gajim/common/setting_values.py:434 gajim/common/config.py:187 +#, fuzzy +msgid "" +"If enabled, Gajim makes the window flash (the default behaviour in most " +"Window Managers) when holding pending events." +msgstr "" +"Ако е активирана и инсталираните версии на GTK+ и PyGTK са поне 2.8, " +"прозорецът ще мига (стандартното поведение при повечето мениджъри на " +"прозорци) при задържане на чакащи събития." + +#: gajim/common/setting_values.py:436 gajim/common/config.py:193 +#, fuzzy +msgid "If enabled, pressing Esc closes a tab/window." +msgstr "" +"Ако е активирана, натискането на клавиша „Escape“ затваря прозореца/" +"подпрозореца." + +#: gajim/common/setting_values.py:437 gajim/common/config.py:194 +#, fuzzy +msgid "Hides the banner in a group chat window." +msgstr "Скрива лентата в прозореца на стаята" + +#: gajim/common/setting_values.py:438 gajim/common/config.py:195 +#, fuzzy +msgid "Hides the banner in a 1:1 chat window." +msgstr "Скрива лентата в прозореца на стаята" + +#: gajim/common/setting_values.py:439 gajim/common/config.py:196 +#, fuzzy +msgid "Hides the group chat participants list in a group chat window." +msgstr "Скрива списъка на участниците в прозореца на стаята." + +#: gajim/common/setting_values.py:440 gajim/common/config.py:197 +#, fuzzy +msgid "" +"In a chat, show the nickname at the beginning of a line only when it's not " +"the same person talking as in the previous message." +msgstr "" +"В разговор, показва псевдонима в началото на реда само ако не е същия човек, " +"който е написал предното съобщение." + +#: gajim/common/setting_values.py:441 gajim/common/config.py:198 +msgid "Indentation when using merge consecutive nickname." +msgstr "Отстъп, когато се използва смесване на последователен псевдоним." + +#: gajim/common/setting_values.py:442 gajim/common/config.py:199 +#, fuzzy +msgid "" +"Ctrl+Tab switches to the next composing tab when there are no tabs with " +"messages pending." +msgstr "Ctrl-TAB отива на следващия подпрозорец, когато всички са прочетени." + +#: gajim/common/setting_values.py:443 gajim/common/config.py:200 +#, fuzzy +msgid "" +"Show a confirmation dialog to create metacontacts? Empty string means never " +"show the dialog." +msgstr "" +"Да се показва ли диалогов прозорец за потвърждение при създаване на мета-" +"контакти? Празен низ означава никога да не се показва диалогов прозорец." + +#: gajim/common/setting_values.py:444 gajim/common/config.py:201 +#, fuzzy +msgid "" +"Show a confirmation dialog to block a contact? Empty string means never show " +"the dialog." +msgstr "" +"Да се показва ли диалогов прозорец за потвърждение при създаване на мета-" +"контакти? Празен низ означава никога да не се показва диалогов прозорец." + +#: gajim/common/setting_values.py:445 gajim/common/config.py:202 +#, fuzzy +msgid "" +"If enabled, you will be able to set a negative priority to your account in " +"the Accounts window. BE CAREFUL, when you are logged in with a negative " +"priority, you will NOT receive any message from your server." +msgstr "" +"Ако е активирана, ще може да настроите отрицателен приоритет за акаунта в " +"прозореца за промяна на акаунти. ВНИМАВАЙТЕ, понеже когато сте свързани с " +"отрицателен приоритет, НЯМА да получите нито едно съобщение от сървъра." + +#: gajim/common/setting_values.py:446 gajim/common/config.py:203 +#, fuzzy +msgid "" +"If enabled, Gajim will show both the number of online and total contacts in " +"account rows as well as in group rows." +msgstr "" +"Ако е активирана, Gajim ще показва броя на включените контакти и общия брой " +"в редовете за акаунти и групи." + +#: gajim/common/setting_values.py:447 gajim/common/config.py:204 +#, fuzzy +msgid "" +"If enabled, Gajim will scroll and select the contact who sent you the last " +"message, if the chat window is not already opened." +msgstr "" +"Ако е активирана, Gajim ще прелиства списъка избирайки контакта, който ви е " +"изпратил последното съобщение, в случай, че прозорецът за разговор не е вече " +"отворен." + +#: gajim/common/setting_values.py:448 gajim/common/config.py:205 +msgid "Time of inactivity needed before the change status window closes down." +msgstr "" +"Необходимо време без активност преди прозорецът за промяна на състоянието да " +"се затвори." + +#: gajim/common/setting_values.py:449 gajim/common/config.py:206 +msgid "" +"Maximum number of lines that are printed in conversations. Oldest lines are " +"cleared." +msgstr "" +"Максимален брой редове, които да се показват в разговорите. Най-старите " +"редове се изчистват." + +#: gajim/common/setting_values.py:450 gajim/common/config.py:208 +msgid "" +"If enabled, completion in group chats will be like a shell auto-completion." +msgstr "" + +#: gajim/common/setting_values.py:451 gajim/common/config.py:217 +msgid "" +"If enabled, Gajim will try to use a STUN server when using Jingle. The one " +"in 'stun_server' option, or the one given by the XMPP server." +msgstr "" + +#: gajim/common/setting_values.py:452 gajim/common/config.py:218 +msgid "STUN server to use when using Jingle" +msgstr "" + +#: gajim/common/setting_values.py:453 gajim/common/config.py:220 +msgid "If enabled, Gajim will ignore incoming attention requests ('wizz')." +msgstr "" + +#: gajim/common/setting_values.py:454 gajim/common/config.py:221 +msgid "" +"If enabled, Gajim will reopen chat windows that were opened last time Gajim " +"was closed." +msgstr "" + +#: gajim/common/setting_values.py:455 gajim/common/config.py:224 +msgid "If enabled, Gajim will execute XEP-0146 Commands." +msgstr "" + +#: gajim/common/setting_values.py:458 gajim/common/config.py:236 +msgid "API Preferences. Possible values: 'http', 'iq'" +msgstr "" + +#: gajim/common/setting_values.py:459 gajim/common/config.py:237 +msgid "If enabled, Gajim will execute commands (/show, /sh, /execute, /exec)." +msgstr "" + +#: gajim/common/setting_values.py:460 gajim/common/config.py:238 +msgid "Width of group chat roster in pixel" +msgstr "" + +#: gajim/common/setting_values.py:461 gajim/common/config.py:239 +#, fuzzy +msgid "Force Bookmark 2 usage" +msgstr "_Добавяне на стаята към отметките (Ctrl+B)" + +#: gajim/common/multimedia_helpers.py:51 +#, fuzzy +msgid "Default device" +msgstr "Стандартно съобщение" + +#: gajim/common/multimedia_helpers.py:72 +msgid "Audio test" +msgstr "" + +#: gajim/common/multimedia_helpers.py:75 gajim/common/multimedia_helpers.py:91 +#: gajim/common/multimedia_helpers.py:105 +msgid "Autodetect" +msgstr "" + +#: gajim/common/multimedia_helpers.py:78 gajim/common/multimedia_helpers.py:93 +#, fuzzy, python-format +msgid "ALSA: %s" +msgstr "Размер: %s" + +#: gajim/common/multimedia_helpers.py:81 gajim/common/multimedia_helpers.py:95 +#, fuzzy, python-format +msgid "Pulse: %s" +msgstr "Файл: %s" + +#: gajim/common/multimedia_helpers.py:89 +msgid "Fake audio output" +msgstr "" + +#: gajim/common/multimedia_helpers.py:102 +msgid "Video test" +msgstr "" + +#: gajim/common/multimedia_helpers.py:107 +msgid "Pipewire" +msgstr "" + +#: gajim/common/multimedia_helpers.py:109 +#, python-format +msgid "V4L2: %s" +msgstr "" + +#: gajim/common/multimedia_helpers.py:111 +msgid "X11" +msgstr "" + +#: gajim/common/multimedia_helpers.py:113 +msgid "Windows" +msgstr "" + +#: gajim/common/multimedia_helpers.py:115 +msgid "macOS" +msgstr "" + +#: gajim/common/helpers.py:176 +msgid "_Busy" +msgstr "_Зает" + +#: gajim/common/helpers.py:178 +msgid "Busy" +msgstr "Зает" + +#: gajim/common/helpers.py:181 +msgid "_Not Available" +msgstr "_Не съм на разположение" + +#: gajim/common/helpers.py:183 +msgid "Not Available" +msgstr "Не съм на разположение" + +#: gajim/common/helpers.py:186 +msgid "_Free for Chat" +msgstr "_Свободен за разговор" + +#: gajim/common/helpers.py:188 +msgid "Free for Chat" +msgstr "Свободен за разговор" + +#: gajim/common/helpers.py:191 +#, fuzzy +msgid "?user status:_Available" +msgstr "Временно прекъснат" + +#: gajim/common/helpers.py:193 +#, fuzzy +msgid "?user status:Available" +msgstr "Временно прекъснат" + +#: gajim/common/helpers.py:195 +msgid "Connecting" +msgstr "Свързване" + +#: gajim/common/helpers.py:198 +msgid "A_way" +msgstr "_Отсъствам" + +#: gajim/common/helpers.py:203 +msgid "_Offline" +msgstr "_Изключен" + +#: gajim/common/helpers.py:205 +msgid "Offline" +msgstr "Изключен" + +#: gajim/common/helpers.py:209 +msgid "?contact has status:Unknown" +msgstr "Неизвестно" + +#: gajim/common/helpers.py:211 +msgid "?contact has status:Has errors" +msgstr "Има грешки" + +#: gajim/common/helpers.py:216 +msgid "?Subscription we already have:None" +msgstr "Няма" + +#: gajim/common/helpers.py:218 +msgid "To" +msgstr "За" + +#: gajim/common/helpers.py:220 gajim/data/gui/groups_post_window.ui:33 +msgid "From" +msgstr "От" + +#: gajim/common/helpers.py:222 +msgid "Both" +msgstr "Двустранно" + +#: gajim/common/helpers.py:230 +msgid "?Ask (for Subscription):None" +msgstr "Няма" + +#: gajim/common/helpers.py:232 +msgid "Subscribe" +msgstr "Записване" + +#: gajim/common/helpers.py:244 +msgid "?Group Chat Contact Role:None" +msgstr "Не е установен" + +#: gajim/common/helpers.py:247 +msgid "Moderators" +msgstr "Председатели" + +#: gajim/common/helpers.py:249 +msgid "Moderator" +msgstr "Председател" + +#: gajim/common/helpers.py:252 gajim/data/gui/groupchat_info_scrolled.ui:182 +msgid "Participants" +msgstr "Участници" + +#: gajim/common/helpers.py:254 +msgid "Participant" +msgstr "Участник" + +#: gajim/common/helpers.py:257 +msgid "Visitors" +msgstr "Посетители" + +#: gajim/common/helpers.py:259 +msgid "Visitor" +msgstr "Посетител" + +#: gajim/common/helpers.py:268 +msgid "?Group Chat Contact Affiliation:None" +msgstr "Няма" + +#: gajim/common/helpers.py:271 +#, fuzzy +msgid "Owners" +msgstr "Собственик" + +#: gajim/common/helpers.py:273 gajim/data/gui/groupchat_config.ui:32 +msgid "Owner" +msgstr "Собственик" + +#: gajim/common/helpers.py:276 +#, fuzzy +msgid "Administrators" +msgstr "Администратор" + +#: gajim/common/helpers.py:278 +msgid "Administrator" +msgstr "Администратор" + +#: gajim/common/helpers.py:281 +#, fuzzy +msgid "Members" +msgstr "Член" + +#: gajim/common/helpers.py:320 +msgid "is paying attention to the conversation" +msgstr "обръща внимание на разговора" + +#: gajim/common/helpers.py:322 +msgid "is doing something else" +msgstr "прави нещо друго" + +#: gajim/common/helpers.py:324 +#, fuzzy +msgid "is composing a message…" +msgstr "пише съобщение…" + +#: gajim/common/helpers.py:327 +msgid "paused composing a message" +msgstr "спря да пише съобщение" + +#: gajim/common/helpers.py:329 +msgid "has closed the chat window or tab" +msgstr "затвори прозореца или подпрозореца" + +#: gajim/common/helpers.py:719 gajim/common/helpers.py:727 +#, python-format +msgid "%d message pending" +msgid_plural "%d messages pending" +msgstr[0] "%d непрочетено съобщение" +msgstr[1] "%d непрочетени съобщения" + +#: gajim/common/helpers.py:736 +#, fuzzy, python-format +msgid "from group chat %s" +msgstr "в _стаи" + +#: gajim/common/helpers.py:739 gajim/common/helpers.py:760 +#, fuzzy, python-format +msgid "from user %s" +msgstr " от потребител %s" + +#: gajim/common/helpers.py:741 +#, fuzzy, python-format +msgid "from %s" +msgstr " от %s" + +#: gajim/common/helpers.py:747 gajim/common/helpers.py:755 +#, python-format +msgid "%d event pending" +msgid_plural "%d events pending" +msgstr[0] "%d чакащо събитие" +msgstr[1] "%d чакащи събития" + +#: gajim/common/helpers.py:828 gajim/data/gui/add_new_contact_window.ui:20 +msgid "I would like to add you to my contact list." +msgstr "Бих искал(а) да ви добавя към списъка си." + +#: gajim/common/helpers.py:830 +msgid "Hello, I am $name." +msgstr "" + +#: gajim/common/config.py:71 +msgid "Play sound even when being busy." +msgstr "" + +#: gajim/common/config.py:73 +#, fuzzy +msgid "Show only online and free for chat contacts in the contact list." +msgstr "Бих искал(а) да ви добавя към списъка си." + +#: gajim/common/config.py:76 +msgid "Time in minutes, after which your status changes to away." +msgstr "Време в минути, след което състоянието да се променя на „Отсъствам“." + +#: gajim/common/config.py:77 +#, fuzzy +msgid "$S (Away: Idle more than $T min)" +msgstr "$S (Отсъствам поради липса на активност над $T мин)" + +#: gajim/common/config.py:77 +#, fuzzy +msgid "" +"$S will be replaced by current status message, $T by the 'autoawaytime' " +"value." +msgstr "" +"$S ще бъде заменено от текущото съобщение за състояние, а $T от времето на " +"отсъствие." + +#: gajim/common/config.py:79 +msgid "Time in minutes, after which your status changes to not available." +msgstr "" +"Време в минути, след което състоянието да се променя на „Не съм на " +"разположение“." + +#: gajim/common/config.py:80 +#, fuzzy +msgid "$S (Not available: Idle more than $T min)" +msgstr "$S (Не съм на разположение поради липса на активност над $T мин)" + +#: gajim/common/config.py:80 +#, fuzzy +msgid "" +"$S will be replaced by current status message, $T by the 'autoxatime' value." +msgstr "" +"$S ще бъде заменено от текущото съобщение за състояние, а $T от времето на " +"отсъствие." + +#: gajim/common/config.py:83 +msgid "" +"When to show the notification area icon. Can be 'never', 'on_event', and " +"'always'." +msgstr "" + +#: gajim/common/config.py:87 +#, fuzzy +msgid "" +"List of rows (accounts and groups) that are collapsed (space separated)." +msgstr "" +"Списък (разделен с интервали) на редове (акаунти и групи), които да се " +"свиват автоматично." + +#: gajim/common/config.py:94 gajim/common/config.py:335 +#: gajim/common/config.py:342 +#, fuzzy +msgid "Language used for spell checking." +msgstr "Език, който да се използва за проверката на правописа" + +#: gajim/common/config.py:97 +msgid "When enabled, ASCII emojis will be converted to graphical emojis." +msgstr "" + +#: gajim/common/config.py:152 +#, fuzzy +msgid "" +"When not printing time for every message ('print_time'==sometimes), print it " +"every x minutes." +msgstr "" +"Когато не се изписва часа на всяко съобщение („print_time“ е настроено на " +"„sometimes“), да се показва на всеки x минути." + +#: gajim/common/config.py:173 +#, fuzzy +msgid "" +"If enabled, Gajim quits when clicking the X button of your Window Manager. " +"This setting is taken into account only if the notification area icon is " +"used." +msgstr "" +"Ако е активирана, се спира програмата при натискане на бутона „X“ на " +"администратора на прозорци. Тази настройка е валидна само ако се използва " +"иконата в областта за уведомяване." + +#: gajim/common/config.py:175 +#, fuzzy +msgid "" +"If enabled, Gajim will display the status message (if not empty) underneath " +"the contact name in the contact list window." +msgstr "" +"Ако е активирана, ще се показва съобщението за състояние, ако има такова, на " +"всеки контакт под името му списъка." + +#: gajim/common/config.py:182 +#, fuzzy +msgid "" +"If disabled, Gajim will no longer print status messages in chats when a " +"contact changes their status (and/or their status message)." +msgstr "" +"Ако е изключена, вече няма да виждате реда за състоянието при разговорите, " +"когато контактът променя състоянието си." + +#: gajim/common/config.py:183 +#, fuzzy +msgid "" +"Default Setting: Show a status message for every join or leave in a group " +"chat." +msgstr "Неуспех при влизането в стаята" + +#: gajim/common/config.py:184 +#, fuzzy +msgid "" +"Default Setting: Show a status message for all status changes (away, dnd, " +"etc.) of users in a group chat." +msgstr "Неуспех при влизането в стаята" + +#: gajim/common/config.py:191 +#, fuzzy +msgid "" +"Controls the window where new messages are placed.\n" +"'always' - All messages are sent to a single window.\n" +"'always_with_roster' - Like 'always' but the messages are in a single window " +"along with the contact list.\n" +"'never' - All messages get their own window.\n" +"'peracct' - Messages for each account are sent to a specific window.\n" +"'pertype' - Each message type (e.g. chats vs. group chats) is sent to a " +"specific window." +msgstr "" +"Контролира прозореца, където се отварят нови съобщения.\n" +"„always“ — Всички съобщения се отварят в един прозорец.\n" +"„always_with_roster“ — Като „always“, но съобщенията са в общ прозорец със " +"списъка.\n" +"„never“ — Всички съобщения се отварят в собствен прозорец.\n" +"„peracct“ — Съобщенията за всеки акаунт се отварят в специфичен прозорец.\n" +"„pertype“ — Всеки тип съобщение (т.е. разговор и от стая) се отварят в " +"специфичен прозорец." + +#: gajim/common/config.py:192 +msgid "" +"Show contact list window on startup.\n" +"'always' - Always show contact list window.\n" +"'never' - Never show contact list window.\n" +"'last_state' - Restore last state of the contact list window." +msgstr "" + +#: gajim/common/config.py:207 +#, fuzzy +msgid "" +"Valid URI schemes. Only schemes in this list will be accepted as 'real' URI " +"(mailto and xmpp are handled separately)." +msgstr "" +"Валидни схеми на адреси. Само схемите в този списък ще бъдат достъпни като " +"„истински“ адреси." + +#: gajim/common/config.py:212 +msgid "Optionally fix Jingle output video framerate. Example: 10/1 or 25/2." +msgstr "" + +#: gajim/common/config.py:213 +msgid "Optionally resize Jingle output video. Example: 320x240." +msgstr "" + +#: gajim/common/config.py:214 +msgid "If enabled, you will see your webcam's video stream as well." +msgstr "" + +#: gajim/common/config.py:219 +msgid "" +"Proxy used for all outgoing connections if the account does not have a " +"specific proxy configured." +msgstr "" + +#: gajim/common/config.py:222 +#, fuzzy +msgid "" +"If enabled, Gajim will display an icon to show that sent messages have been " +"received by your contact." +msgstr "" +"Ако тази опция е избрана, няма да се пита за съобщение за състояние — ще се " +"използва стандартно зададеното." + +#: gajim/common/config.py:223 +#, fuzzy +msgid "" +"If enabled, Gajim will use the System's Keyring to store account passwords." +msgstr "" +"Ако е активирана, Gajim ще използва набора на ключове на GNOME (gnome-" +"keyring), ако е достъпен, за да запазва информация за паролите на акаунтите." + +#: gajim/common/config.py:225 +msgid "2: System, 1: Enabled, 0: Disabled" +msgstr "" + +#: gajim/common/config.py:226 +msgid "" +"Maximum history in days we request from a public group chat archive. 0: As " +"much as possible." +msgstr "" + +#: gajim/common/config.py:227 +msgid "" +"Maximum history in days we request from a private group chat archive. 0: As " +"much as possible." +msgstr "" + +#: gajim/common/config.py:228 +msgid "" +"If enabled, Gajim shows the group chat subject in the chat window when " +"joining." +msgstr "" + +#: gajim/common/config.py:229 +#, fuzzy +msgid "" +"If enabled, the contact row is colored according to the current chat state " +"of the contact." +msgstr "" +"Ако тази опция е избрана, контактите ще могат да откриват операционната " +"система, която използвате." + +#: gajim/common/config.py:230 +#, fuzzy +msgid "" +"If enabled, the tab is colored according to the current chat state of the " +"contact." +msgstr "" +"Ако тази опция е избрана, контактите ще могат да откриват операционната " +"система, която използвате." + +#: gajim/common/config.py:231 +#, fuzzy +msgid "" +"Shows a text in the banner that describes the current chat state of the " +"contact." +msgstr "" +"Ако тази опция е избрана, контактите ще могат да откриват операционната " +"система, която използвате." + +#: gajim/common/config.py:232 +#, fuzzy +msgid "" +"Chat state notifications that are sent to contacts. Possible values: all, " +"composing_only, disabled" +msgstr "" +"Изпращане на уведомления за състоянието на разговор. Може да бъде „all“, " +"„composing_only“, „disabled“." + +#: gajim/common/config.py:233 +#, fuzzy +msgid "" +"Chat state notifications that are sent to the group chat. Possible values: " +"'all', 'composing_only', 'disabled'" +msgstr "" +"Изпращане на уведомления за състоянието на разговор. Може да бъде „all“, " +"„composing_only“, „disabled“." + +#: gajim/common/config.py:240 +msgid "Shows an info bar with helpful hints in the Start / Join Chat dialog" +msgstr "" + +#: gajim/common/config.py:242 +msgid "Date of the last update check" +msgstr "" + +#: gajim/common/config.py:260 +#, fuzzy +msgid "" +"Priority will change automatically according to your status. Priorities are " +"defined in 'autopriority_*' options." +msgstr "" +"Приоритетът ще се променя автоматично в съответствие със състоянието ви. " +"Приоритетите се настройват в опциите „autopriority_*“." + +#: gajim/common/config.py:267 +#, fuzzy +msgid "If enabled, the last status will be restored." +msgstr "Ако е активирана, възстановява се последното използвано състояние." + +#: gajim/common/config.py:268 +msgid "" +"If enabled, contacts requesting authorization will be accepted automatically." +msgstr "" + +#: gajim/common/config.py:269 +#, fuzzy +msgid "" +"If disabled, this account will be disabled and will not appear in the " +"contact list window." +msgstr "" +"Ако е изключена, повече няма да виждате аватар в прозореца за разговор." + +#: gajim/common/config.py:278 +msgid "ConnectionType: START TLS, DIRECT TLS or PLAIN" +msgstr "" + +#: gajim/common/config.py:280 +msgid "" +"List of XMPP Addresses (space separated) for which you do not want to store " +"chat history. You can also add the name of an account to disable storing " +"chat history for this account." +msgstr "" + +#: gajim/common/config.py:285 +#, fuzzy +msgid "" +"If enabled, Gajim will use your IP and proxies defined in " +"'file_transfer_proxies' option for file transfers." +msgstr "" +"Ако тази опция е избрана, ще се използва вашия IP адрес и сървърите-" +"посредници, указани в опцията file_transfer_proxies, за файлови трансфери." + +#: gajim/common/config.py:286 +msgid "" +"If enabled, Gajim will test file transfer proxies on startup to be sure they " +"work. Openfire's proxies are known to fail this test even if they work." +msgstr "" + +#: gajim/common/config.py:298 +#, fuzzy +msgid "If enabled, Gajim will answer to message receipt requests." +msgstr "" +"Ако тази опция е избрана, няма да се пита за съобщение за състояние — ще се " +"използва стандартно зададеното." + +#: gajim/common/config.py:303 +#, fuzzy +msgid "" +"Allow Gajim to send information about the operating system you are running." +msgstr "" +"Ако тази опция е избрана, контактите ще могат да откриват операционната " +"система, която използвате." + +#: gajim/common/config.py:304 +#, fuzzy +msgid "Allow Gajim to send your local time." +msgstr "%s иска да ви изпрати файл." + +#: gajim/common/config.py:307 +#, fuzzy +msgid "Message that is sent to contacts you want to add." +msgstr "Попълнете данните за контакта, който искате да добавите" + +#: gajim/common/config.py:308 +#, fuzzy +msgid "" +"If enabled, Gajim will send your local IP so your contact can connect to " +"your machine for file transfers." +msgstr "" +"Ако тази опция е избрана, ще се използва вашия IP адрес и сървърите-" +"посредници, указани в опцията file_transfer_proxies, за файлови трансфери." + +#: gajim/common/config.py:309 +msgid "" +"List of XMPP Addresses (space separated) for which the chat window will be " +"re-opened on next startup." +msgstr "" + +#: gajim/common/config.py:311 +msgid "" +"Preferred file transfer mechanism for file drag&drop on a chat window. Can " +"be 'httpupload' (default) or 'jingle'." +msgstr "" + +#: gajim/common/config.py:312 +#, fuzzy +msgid "Allow certificate verification with POSH." +msgstr "Грешка в сертификата на SSL" + +#: gajim/common/config.py:336 +#, fuzzy +msgid "" +"Chat state notifications that are sent to contacts. Possible values: 'all', " +"'composing_only', 'disabled'" +msgstr "" +"Изпращане на уведомления за състоянието на разговор. Може да бъде „all“, " +"„composing_only“, „disabled“." + +#: gajim/common/config.py:339 +#, fuzzy +msgid "The currently active encryption for that contact." +msgstr "Активира шифриране тип „ESessions“ за този акаунт." + +#: gajim/common/config.py:343 +msgid "" +"If enabled, a notification is created for every message in this group chat." +msgstr "" + +#: gajim/common/config.py:344 +#, fuzzy +msgid "" +"Show a status message for all status changes (away, dnd, etc.) of users in a " +"group chat." +msgstr "Неуспех при влизането в стаята" + +#: gajim/common/config.py:345 +#, fuzzy +msgid "Show a status message for every join or leave in a group chat." +msgstr "Неуспех при влизането в стаята" + +#: gajim/common/config.py:346 +msgid "" +"If enabled, the group chat is minimized into the contact list when joining " +"automatically." +msgstr "" + +#: gajim/common/config.py:347 +msgid "" +"If enabled, the group chat is minimized into the contact list when closing " +"it." +msgstr "" + +#: gajim/common/config.py:348 +#, fuzzy +msgid "" +"Chat state notifications that are sent to the group chat. Possible values: " +"'all', 'composing_only' or 'disabled'." +msgstr "" +"Изпращане на уведомления за състоянието на разговор. Може да бъде „all“, " +"„composing_only“, „disabled“." + +#: gajim/common/config.py:351 +msgid "" +"If enabled, plugins will be activated on startup (this is saved when exiting " +"Gajim). This option SHOULD NOT be used to (de)activate plugins. Use the " +"plugin window instead." +msgstr "" + +#: gajim/common/config.py:358 +#, fuzzy +msgid "I'm eating." +msgstr "Работя." + +#: gajim/common/config.py:359 +msgid "I'm watching a movie." +msgstr "Гледам филм." + +#: gajim/common/config.py:360 +msgid "I'm working." +msgstr "Работя." + +#: gajim/common/config.py:361 +msgid "Phone" +msgstr "Телефон" + +#: gajim/common/config.py:361 +msgid "I'm on the phone." +msgstr "Говоря по телефона." + +#: gajim/common/config.py:362 +msgid "I'm out enjoying life." +msgstr "Наслаждавам се на живота навън." + +#: gajim/common/config.py:373 +#, fuzzy +msgid "" +"Sound to play when a group chat message contains one of the words in " +"'muc_highlight_words' or your nickname is mentioned." +msgstr "" +"Звукът, който да се възпроизвежда, когато в стаята се изпише дума от " +"„muc_higlighted_words“ или когато съобщение съдържа псевдонима ви." + +#: gajim/common/config.py:374 +#, fuzzy +msgid "Sound to play when any group chat message arrives." +msgstr "Звук за изпълнение при получаване на каквото и да е съобщение в стая." + +#: gajim/common/config.py:378 +#, fuzzy +msgid "Tor" +msgstr "За" + +#: gajim/common/exceptions.py:45 +#, fuzzy, python-format +msgid "" +"The database file (%s) cannot be read. Try to repair it (see https://dev." +"gajim.org/gajim/gajim/wikis/help/DatabaseBackup) or remove it (all history " +"will be lost)." +msgstr "" +"Файлът „%s“ от базата от данни не може да бъде прочетен. Опитайте се да го " +"поправите (вижте http://trac.gajim.org/wiki/DatabaseBackup) или изтриете " +"(цялата история ще бъде загубена)." + +#: gajim/common/exceptions.py:59 +msgid "Service not available: Gajim is not running, or remote_control is False" +msgstr "" +"Услугата не е налична: Gajim не е стартиран или „remote_control“ е " +"„Изключена“" + +#: gajim/common/exceptions.py:81 +#, fuzzy, python-format +msgid "" +"Session bus is not available.\n" +"Try reading %(url)s" +msgstr "" +"Липсва „session bus“.\n" +"Опитайте се да прочетете http://trac.gajim.org/wiki/GajimDBus" + +#: gajim/common/exceptions.py:93 +#, fuzzy, python-format +msgid "" +"System bus is not available.\n" +"Try reading %(url)s" +msgstr "" +"Липсва „session bus“.\n" +"Опитайте се да прочетете http://trac.gajim.org/wiki/GajimDBus" + +#: gajim/common/optparser.py:54 +#, python-format +msgid "Error: cannot open %s for reading" +msgstr "Грешка: %s не може да бъде отворен за четене" + +#: gajim/common/configpaths.py:84 +#, python-format +msgid "%s is a file but it should be a directory" +msgstr "%s e файл, а би трябвало да е папка" + +#: gajim/common/configpaths.py:85 +msgid "Gajim will now exit" +msgstr "Спиране на програмата" + +#: gajim/common/connection_handlers_events.py:242 +#: gajim/common/connection_handlers_events.py:342 +#, fuzzy, python-format +msgid "New message from %(nickname)s" +msgid_plural "%(n_msgs)i unread messages from %(nickname)s" +msgstr[0] "Ново съобщение от %(nickname)s" +msgstr[1] "Ново съобщение от %(nickname)s" + +#: gajim/common/connection_handlers_events.py:412 +#, python-format +msgid "%(nick)s Changed Status" +msgstr "%(nick)s промени състоянието си" + +#: gajim/common/const.py:287 +#, fuzzy +msgid "?Group chat name:Team" +msgstr "Не е установен" + +#: gajim/common/const.py:288 +msgid "?Group chat description:Project discussion" +msgstr "" + +#: gajim/common/const.py:289 +#, fuzzy +msgid "?Group chat address:team" +msgstr "Стаи" + +#: gajim/common/const.py:290 +#, fuzzy +msgid "?Group chat name:Family" +msgstr "Осветено съобщение в стая" + +#: gajim/common/const.py:291 +msgid "?Group chat description:Spring gathering" +msgstr "" + +#: gajim/common/const.py:292 +msgid "?Group chat address:family" +msgstr "" + +#: gajim/common/const.py:293 +#, fuzzy +msgid "?Group chat name:Vacation" +msgstr "Покана за разговор в стая" + +#: gajim/common/const.py:294 +msgid "?Group chat description:Trip planning" +msgstr "" + +#: gajim/common/const.py:295 +#, fuzzy +msgid "?Group chat address:vacation" +msgstr "Покана за разговор в стая" + +#: gajim/common/const.py:296 +#, fuzzy +msgid "?Group chat name:Repairs" +msgstr "С_тая" + +#: gajim/common/const.py:297 +msgid "?Group chat description:Local help group" +msgstr "" + +#: gajim/common/const.py:298 +#, fuzzy +msgid "?Group chat address:repairs" +msgstr "Стаи" + +#: gajim/common/const.py:299 +#, fuzzy +msgid "?Group chat name:News" +msgstr "Не е установен" + +#: gajim/common/const.py:300 +#, fuzzy +msgid "?Group chat description:Local news and reports" +msgstr "Създаването на стаи е ограничено." + +#: gajim/common/const.py:301 +#, fuzzy +msgid "?Group chat address:news" +msgstr "Нова стая" + +#: gajim/common/const.py:306 +#, fuzzy +msgid "Remote server not found" +msgstr "Услугата не може да бъде намерена" + +#: gajim/common/const.py:307 +msgid "Remote server timeout" +msgstr "" + +#: gajim/common/const.py:308 gajim/common/const.py:309 +#: gajim/common/const.py:310 +#, fuzzy +msgid "Address does not belong to a group chat server" +msgstr "Това не е стая" + +#: gajim/common/const.py:311 +#, fuzzy +msgid "Group chat already exists" +msgstr "Името на акаунта вече се използва." + +#: gajim/common/const.py:312 +#, fuzzy +msgid "Group chat does not exist" +msgstr "Стаята %s не съществува." + +#: gajim/common/const.py:313 +#, fuzzy +msgid "Group chat is closed" +msgstr "Стаи" + +#: gajim/common/const.py:319 +msgid "This message was encrypted with OTR and could not be decrypted." +msgstr "" + +#: gajim/common/const.py:322 +msgid "" +"This message was encrypted with Legacy OpenPGP and could not be decrypted. " +"You can install the PGP plugin to handle those messages." +msgstr "" + +#: gajim/common/const.py:326 +msgid "" +"This message was encrypted with OpenPGP for XMPP and could not be decrypted. " +"You can install the OpenPGP plugin to handle those messages." +msgstr "" + +#: gajim/common/const.py:330 +#, python-format +msgid "This message was encrypted with %s and could not be decrypted." +msgstr "" + +#: gajim/common/const.py:337 +msgid "Doing Chores" +msgstr "Домакинствам" + +#: gajim/common/const.py:338 +msgid "Buying Groceries" +msgstr "Купувам хранителни продукти" + +#: gajim/common/const.py:339 +msgid "Cleaning" +msgstr "Чистя" + +#: gajim/common/const.py:340 +msgid "Cooking" +msgstr "Готвя" + +#: gajim/common/const.py:341 +msgid "Doing Maintenance" +msgstr "Ремонтирам" + +#: gajim/common/const.py:342 +msgid "Doing the Dishes" +msgstr "Мия чиниите" + +#: gajim/common/const.py:343 +msgid "Doing the Laundry" +msgstr "Пера" + +#: gajim/common/const.py:344 +msgid "Gardening" +msgstr "Работя в градината" + +#: gajim/common/const.py:345 +msgid "Running an Errand" +msgstr "Изпълнявам поръчка" + +#: gajim/common/const.py:346 +msgid "Walking the Dog" +msgstr "Разхождам кучето" + +#: gajim/common/const.py:348 +msgid "Drinking" +msgstr "Пия" + +#: gajim/common/const.py:349 +msgid "Having a Beer" +msgstr "Пия бира" + +#: gajim/common/const.py:350 +msgid "Having Coffee" +msgstr "Пия кафе" + +#: gajim/common/const.py:351 +msgid "Having Tea" +msgstr "Пия чай" + +#: gajim/common/const.py:354 +msgid "Having a Snack" +msgstr "Похапвам" + +#: gajim/common/const.py:355 +msgid "Having Breakfast" +msgstr "Закусвам" + +#: gajim/common/const.py:356 +msgid "Having Dinner" +msgstr "Вечерям" + +#: gajim/common/const.py:357 +msgid "Having Lunch" +msgstr "Обядвам" + +#: gajim/common/const.py:359 +msgid "Exercising" +msgstr "Правя упражнения" + +#: gajim/common/const.py:360 gajim/common/const.py:411 +msgid "Cycling" +msgstr "Карам велосипед" + +#: gajim/common/const.py:361 +msgid "Dancing" +msgstr "Танцувам" + +#: gajim/common/const.py:362 +msgid "Hiking" +msgstr "На поход съм" + +#: gajim/common/const.py:363 +msgid "Jogging" +msgstr "Тичам за здраве" + +#: gajim/common/const.py:364 +msgid "Playing Sports" +msgstr "Спортувам" + +#: gajim/common/const.py:365 +msgid "Running" +msgstr "Бягам" + +#: gajim/common/const.py:366 +msgid "Skiing" +msgstr "Карам ски" + +#: gajim/common/const.py:367 +msgid "Swimming" +msgstr "Плувам" + +#: gajim/common/const.py:368 +msgid "Working out" +msgstr "Тренирам" + +#: gajim/common/const.py:370 +msgid "Grooming" +msgstr "Поддържам се" + +#: gajim/common/const.py:371 +msgid "At the Spa" +msgstr "В Спа-центъра" + +#: gajim/common/const.py:372 +msgid "Brushing Teeth" +msgstr "Мия си зъбите" + +#: gajim/common/const.py:373 +msgid "Getting a Haircut" +msgstr "Подстригвам се" + +#: gajim/common/const.py:374 +msgid "Shaving" +msgstr "Бръсна се" + +#: gajim/common/const.py:375 +msgid "Taking a Bath" +msgstr "Във ваната" + +#: gajim/common/const.py:376 +msgid "Taking a Shower" +msgstr "Взимам си душ" + +#: gajim/common/const.py:378 +msgid "Having an Appointment" +msgstr "На среща" + +#: gajim/common/const.py:380 +msgid "Inactive" +msgstr "Бездеен" + +#: gajim/common/const.py:381 +msgid "Day Off" +msgstr "Почивен ден" + +#: gajim/common/const.py:382 +msgid "Hanging out" +msgstr "Вися си" + +#: gajim/common/const.py:383 +msgid "Hiding" +msgstr "Крия се" + +#: gajim/common/const.py:384 +msgid "On Vacation" +msgstr "В отпуск" + +#: gajim/common/const.py:385 +msgid "Praying" +msgstr "Моля се" + +#: gajim/common/const.py:386 +msgid "Scheduled Holiday" +msgstr "Планиран отдих" + +#: gajim/common/const.py:388 +msgid "Thinking" +msgstr "Мисля" + +#: gajim/common/const.py:390 +msgid "Relaxing" +msgstr "Почивам" + +#: gajim/common/const.py:391 +msgid "Fishing" +msgstr "Ловя риба" + +#: gajim/common/const.py:392 +msgid "Gaming" +msgstr "Играя" + +#: gajim/common/const.py:393 +msgid "Going out" +msgstr "Навън съм" + +#: gajim/common/const.py:394 +msgid "Partying" +msgstr "На купон съм" + +#: gajim/common/const.py:395 +msgid "Reading" +msgstr "Чета" + +#: gajim/common/const.py:396 +msgid "Rehearsing" +msgstr "Репетирам" + +#: gajim/common/const.py:397 +msgid "Shopping" +msgstr "На пазар съм" + +#: gajim/common/const.py:398 +msgid "Smoking" +msgstr "Пуша" + +#: gajim/common/const.py:399 +msgid "Socializing" +msgstr "Общувам" + +#: gajim/common/const.py:400 +msgid "Sunbathing" +msgstr "На плаж съм" + +#: gajim/common/const.py:401 +msgid "Watching TV" +msgstr "Гледам телевизия" + +#: gajim/common/const.py:402 +msgid "Watching a Movie" +msgstr "Гледам филм" + +#: gajim/common/const.py:404 +msgid "Talking" +msgstr "Разговарям" + +#: gajim/common/const.py:405 +msgid "In Real Life" +msgstr "На четири очи" + +#: gajim/common/const.py:406 +msgid "On the Phone" +msgstr "Говоря по телефона" + +#: gajim/common/const.py:407 +msgid "On Video Phone" +msgstr "Говоря по видеотелефона" + +#: gajim/common/const.py:409 +msgid "Traveling" +msgstr "Пътувам" + +#: gajim/common/const.py:410 +msgid "Commuting" +msgstr "Пътувам от/до работа" + +#: gajim/common/const.py:412 +msgid "Driving" +msgstr "Карам велосипед" + +#: gajim/common/const.py:413 +msgid "In a Car" +msgstr "В колата" + +#: gajim/common/const.py:414 +msgid "On a Bus" +msgstr "В автобуса" + +#: gajim/common/const.py:415 +msgid "On a Plane" +msgstr "В самолета" + +#: gajim/common/const.py:416 +msgid "On a Train" +msgstr "Във влака" + +#: gajim/common/const.py:417 +msgid "On a Trip" +msgstr "На екскурзия" + +#: gajim/common/const.py:418 +msgid "Walking" +msgstr "Разхождам се" + +#: gajim/common/const.py:421 +msgid "Coding" +msgstr "Програмирам" + +#: gajim/common/const.py:422 +msgid "In a Meeting" +msgstr "На съвещание" + +#: gajim/common/const.py:423 +msgid "Studying" +msgstr "Уча" + +#: gajim/common/const.py:424 +msgid "Writing" +msgstr "Пиша" + +#: gajim/common/const.py:427 +msgid "Afraid" +msgstr "Уплашен" + +#: gajim/common/const.py:428 +msgid "Amazed" +msgstr "Изумен" + +#: gajim/common/const.py:429 +msgid "Amorous" +msgstr "Страстен" + +#: gajim/common/const.py:430 +msgid "Angry" +msgstr "Ядосан" + +#: gajim/common/const.py:431 +msgid "Annoyed" +msgstr "Раздразнен" + +#: gajim/common/const.py:432 +msgid "Anxious" +msgstr "Обезпокоен" + +#: gajim/common/const.py:433 +msgid "Aroused" +msgstr "Възбуден" + +#: gajim/common/const.py:434 +msgid "Ashamed" +msgstr "Засрамен" + +#: gajim/common/const.py:435 +msgid "Bored" +msgstr "Отегчен" + +#: gajim/common/const.py:436 +msgid "Brave" +msgstr "Смел" + +#: gajim/common/const.py:437 +msgid "Calm" +msgstr "Спокоен" + +#: gajim/common/const.py:438 +msgid "Cautious" +msgstr "Предпазлив" + +#: gajim/common/const.py:439 +msgid "Cold" +msgstr "Бездушен" + +#: gajim/common/const.py:440 +msgid "Confident" +msgstr "Уверен" + +#: gajim/common/const.py:441 +msgid "Confused" +msgstr "Объркан" + +#: gajim/common/const.py:442 +msgid "Contemplative" +msgstr "Замислен" + +#: gajim/common/const.py:443 +msgid "Contented" +msgstr "Спорещ" + +#: gajim/common/const.py:444 +msgid "Cranky" +msgstr "Раздразнителен" + +#: gajim/common/const.py:445 +msgid "Crazy" +msgstr "Луд" + +#: gajim/common/const.py:446 +msgid "Creative" +msgstr "Съзидателен" + +#: gajim/common/const.py:447 +msgid "Curious" +msgstr "Любопитен" + +#: gajim/common/const.py:448 +msgid "Dejected" +msgstr "Обезсърчен" + +#: gajim/common/const.py:449 +msgid "Depressed" +msgstr "Депресиран" + +#: gajim/common/const.py:450 +msgid "Disappointed" +msgstr "Разочарован" + +#: gajim/common/const.py:451 +msgid "Disgusted" +msgstr "Отвратен" + +#: gajim/common/const.py:452 +msgid "Dismayed" +msgstr "Уплашен" + +#: gajim/common/const.py:453 +msgid "Distracted" +msgstr "Шашнат" + +#: gajim/common/const.py:454 +msgid "Embarrassed" +msgstr "Смутен" + +#: gajim/common/const.py:455 +msgid "Envious" +msgstr "Завистлив" + +#: gajim/common/const.py:456 +msgid "Excited" +msgstr "Развълнуван" + +#: gajim/common/const.py:457 +msgid "Flirtatious" +msgstr "Склонен към флиртуване" + +#: gajim/common/const.py:458 +msgid "Frustrated" +msgstr "Разочарован" + +#: gajim/common/const.py:459 +msgid "Grateful" +msgstr "Признателен" + +#: gajim/common/const.py:460 +msgid "Grieving" +msgstr "Опечален" + +#: gajim/common/const.py:461 +msgid "Grumpy" +msgstr "Кисел" + +#: gajim/common/const.py:462 +msgid "Guilty" +msgstr "Виновен" + +#: gajim/common/const.py:463 +msgid "Happy" +msgstr "Щастлив" + +#: gajim/common/const.py:464 +msgid "Hopeful" +msgstr "С надежда" + +#: gajim/common/const.py:465 +msgid "Hot" +msgstr "Сгорещен" + +#: gajim/common/const.py:466 +msgid "Humbled" +msgstr "Скромен" + +#: gajim/common/const.py:467 +msgid "Humiliated" +msgstr "Унизен" + +#: gajim/common/const.py:468 +msgid "Hungry" +msgstr "Гладен" + +#: gajim/common/const.py:469 +msgid "Hurt" +msgstr "Ранен" + +#: gajim/common/const.py:470 +msgid "Impressed" +msgstr "Впечатлен" + +#: gajim/common/const.py:471 +msgid "In Awe" +msgstr "Със страхопочитание" + +#: gajim/common/const.py:472 +msgid "In Love" +msgstr "Влюбен" + +#: gajim/common/const.py:473 +msgid "Indignant" +msgstr "Възмутен" + +#: gajim/common/const.py:474 +msgid "Interested" +msgstr "Заинтересуван" + +#: gajim/common/const.py:475 +msgid "Intoxicated" +msgstr "Пиян" + +#: gajim/common/const.py:476 +msgid "Invincible" +msgstr "Непобедим" + +#: gajim/common/const.py:477 +msgid "Jealous" +msgstr "Ревнив" + +#: gajim/common/const.py:478 +msgid "Lonely" +msgstr "Самотен" + +#: gajim/common/const.py:479 +msgid "Lost" +msgstr "Безпомощен" + +#: gajim/common/const.py:480 +msgid "Lucky" +msgstr "Късметлия" + +#: gajim/common/const.py:481 +msgid "Mean" +msgstr "Подъл" + +#: gajim/common/const.py:482 +msgid "Moody" +msgstr "Унил" + +#: gajim/common/const.py:483 +msgid "Nervous" +msgstr "Нервен" + +#: gajim/common/const.py:484 +msgid "Neutral" +msgstr "Безразличен" + +#: gajim/common/const.py:485 +msgid "Offended" +msgstr "Обиден" + +#: gajim/common/const.py:486 +msgid "Outraged" +msgstr "Оскърбен" + +#: gajim/common/const.py:487 +msgid "Playful" +msgstr "Игрив" + +#: gajim/common/const.py:488 +msgid "Proud" +msgstr "Горд" + +#: gajim/common/const.py:489 +msgid "Relaxed" +msgstr "Отпуснат" + +#: gajim/common/const.py:490 +msgid "Relieved" +msgstr "Облекчен" + +#: gajim/common/const.py:491 +msgid "Remorseful" +msgstr "Разкайващ се" + +#: gajim/common/const.py:492 +msgid "Restless" +msgstr "Неспокоен" + +#: gajim/common/const.py:493 +msgid "Sad" +msgstr "Тъжен" + +#: gajim/common/const.py:494 +msgid "Sarcastic" +msgstr "Саркастичен" + +#: gajim/common/const.py:495 +msgid "Satisfied" +msgstr "Удовлетворен" + +#: gajim/common/const.py:496 +msgid "Serious" +msgstr "Сериозен" + +#: gajim/common/const.py:497 +msgid "Shocked" +msgstr "Шокиран" + +#: gajim/common/const.py:498 +msgid "Shy" +msgstr "Срамежлив" + +#: gajim/common/const.py:499 +msgid "Sick" +msgstr "Болен" + +#: gajim/common/const.py:500 +msgid "Sleepy" +msgstr "Сънен" + +#: gajim/common/const.py:501 +msgid "Spontaneous" +msgstr "Спонтанен" + +#: gajim/common/const.py:502 +msgid "Stressed" +msgstr "Стресиран" + +#: gajim/common/const.py:503 +msgid "Strong" +msgstr "Твърд" + +#: gajim/common/const.py:504 +msgid "Surprised" +msgstr "Изненадан" + +#: gajim/common/const.py:505 +msgid "Thankful" +msgstr "Благодарен" + +#: gajim/common/const.py:506 +msgid "Thirsty" +msgstr "Жаден" + +#: gajim/common/const.py:507 +msgid "Tired" +msgstr "Уморен" + +#: gajim/common/const.py:508 +msgid "Undefined" +msgstr "Неопределен" + +#: gajim/common/const.py:509 +msgid "Weak" +msgstr "Слаб" + +#: gajim/common/const.py:510 +msgid "Worried" +msgstr "Обезпокоен" + +#: gajim/common/const.py:514 +msgid "accuracy" +msgstr "" + +#: gajim/common/const.py:515 +#, fuzzy +msgid "alt" +msgstr "по подразбиране" + +#: gajim/common/const.py:516 +msgid "area" +msgstr "" + +#: gajim/common/const.py:517 +#, fuzzy +msgid "bearing" +msgstr "морска" + +#: gajim/common/const.py:518 +#, fuzzy +msgid "building" +msgstr "Крия се" + +#: gajim/common/const.py:519 +#, fuzzy +msgid "country" +msgstr "Акаунт" + +#: gajim/common/const.py:520 +#, fuzzy +msgid "countrycode" +msgstr "Акаунт" + +#: gajim/common/const.py:521 +msgid "datum" +msgstr "" + +#: gajim/common/const.py:522 +#, fuzzy +msgid "description" +msgstr "Описание" + +#: gajim/common/const.py:523 +#, fuzzy +msgid "error" +msgstr "Грешка." + +#: gajim/common/const.py:524 +msgid "floor" +msgstr "" + +#: gajim/common/const.py:525 +msgid "lat" +msgstr "" + +#: gajim/common/const.py:526 +msgid "locality" +msgstr "" + +#: gajim/common/const.py:527 +#, fuzzy +msgid "lon" +msgstr "един" + +#: gajim/common/const.py:528 +msgid "postalcode" +msgstr "" + +#: gajim/common/const.py:529 +msgid "region" +msgstr "" + +#: gajim/common/const.py:530 +msgid "room" +msgstr "стая" + +#: gajim/common/const.py:531 +msgid "speed" +msgstr "" + +#: gajim/common/const.py:532 +msgid "street" +msgstr "" + +#: gajim/common/const.py:533 +msgid "text" +msgstr "" + +#: gajim/common/const.py:534 +msgid "timestamp" +msgstr "" + +#: gajim/common/const.py:535 +msgid "URI" +msgstr "" + +#: gajim/common/const.py:540 +msgid "Unable to get issuer certificate" +msgstr "Неуспех при получаването на сертификата на издателя" + +#: gajim/common/const.py:541 +msgid "Unable to get certificate CRL" +msgstr "Неуспех при получаването на списъка с отменени сертификати" + +#: gajim/common/const.py:542 +msgid "Unable to decrypt certificate's signature" +msgstr "Неуспех при дешифрирането на подписа на сертификата" + +#: gajim/common/const.py:543 +msgid "Unable to decrypt CRL's signature" +msgstr "Неуспех при дешифрирането на подписа на списъка с отменени сертификати" + +#: gajim/common/const.py:544 +msgid "Unable to decode issuer public key" +msgstr "Неуспех при декодирането на публичния ключ на издателя" + +#: gajim/common/const.py:545 +msgid "Certificate signature failure" +msgstr "Грешка при проверката на подписа на сертификата" + +#: gajim/common/const.py:546 +msgid "CRL signature failure" +msgstr "Грешка при проверката на подписа на списъка с отменени сертификати" + +#: gajim/common/const.py:547 +msgid "Certificate is not yet valid" +msgstr "Сертификатът все още не е валиден" + +#: gajim/common/const.py:548 +msgid "Certificate has expired" +msgstr "Валидността на сертификата е изтекла" + +#: gajim/common/const.py:549 +msgid "CRL is not yet valid" +msgstr "Списъкът с отменени сертификати все още не е валиден" + +#: gajim/common/const.py:550 +msgid "CRL has expired" +msgstr "Валидността на списъка с отменени сертификати е изтекла" + +#: gajim/common/const.py:551 +msgid "Format error in certificate's notBefore field" +msgstr "Грешка при форматирането на полето „notBefore“ на сертификата" + +#: gajim/common/const.py:552 +msgid "Format error in certificate's notAfter field" +msgstr "Грешка при форматирането на полето „notAfter“ на сертификата" + +#: gajim/common/const.py:553 +msgid "Format error in CRL's lastUpdate field" +msgstr "" +"Грешка при форматирането на полето „lastUpdate“ на списъка с отменени " +"сертификати" + +#: gajim/common/const.py:554 +msgid "Format error in CRL's nextUpdate field" +msgstr "" +"Грешка при форматирането на полето „nextUpdate“ на списъка с отменени " +"сертификати" + +#: gajim/common/const.py:555 +msgid "Out of memory" +msgstr "Изчерпана памет" + +#: gajim/common/const.py:556 +msgid "Self signed certificate" +msgstr "Само-подписан сертификат" + +#: gajim/common/const.py:557 +msgid "Self signed certificate in certificate chain" +msgstr "Само-подписан сертификат в удостоверителската верига" + +#: gajim/common/const.py:558 +msgid "Unable to get local issuer certificate" +msgstr "Неуспех при получаването на сертификата на издателя" + +#: gajim/common/const.py:559 +msgid "Unable to verify the first certificate" +msgstr "Неуспех при проверката на първия сертификат" + +#: gajim/common/const.py:560 +msgid "Certificate chain too long" +msgstr "Удостоверителската верига е твърде дълга" + +#: gajim/common/const.py:561 +msgid "Certificate revoked" +msgstr "Сертификатът е отменен" + +#: gajim/common/const.py:562 +msgid "Invalid CA certificate" +msgstr "Невалиден сертификат на удостоверителя" + +#: gajim/common/const.py:563 +msgid "Path length constraint exceeded" +msgstr "Максималната дължина на пътя е надвишена" + +#: gajim/common/const.py:564 +msgid "Unsupported certificate purpose" +msgstr "Неподдържана цел на сертификата" + +#: gajim/common/const.py:565 +msgid "Certificate not trusted" +msgstr "Сертификатът не е доверен" + +#: gajim/common/const.py:566 +msgid "Certificate rejected" +msgstr "Сертификатът е отхвърлен" + +#: gajim/common/const.py:567 +msgid "Subject issuer mismatch" +msgstr "Несъответствие на издателя на сертификата" + +#: gajim/common/const.py:568 +msgid "Authority and subject key identifier mismatch" +msgstr "Несъответствие на идентификатора и сертифициращия орган" + +#: gajim/common/const.py:569 +msgid "Authority and issuer serial number mismatch" +msgstr "Несъответствие на серийния номер на издателя и сертифициращия орган" + +#: gajim/common/const.py:570 +msgid "Key usage does not include certificate signing" +msgstr "Основната употреба не включва подписване на сертификати" + +#: gajim/common/const.py:571 +msgid "Application verification failure" +msgstr "Грешка на приложението за проверка" + +#: gajim/common/const.py:893 +msgid "The signing certificate authority is not known" +msgstr "" + +#: gajim/common/const.py:894 +#, fuzzy +msgid "The certificate has been revoked" +msgstr "Сертификатът е отменен" + +#: gajim/common/const.py:895 +msgid "The certificate does not match the expected identity of the site" +msgstr "" + +#: gajim/common/const.py:896 +msgid "The certificate’s algorithm is insecure" +msgstr "" + +#: gajim/common/const.py:897 +msgid "The certificate’s activation time is in the future" +msgstr "" + +#: gajim/common/const.py:898 +#, fuzzy +msgid "Unknown validation error" +msgstr "Неизвестна грешка на SSL: %d" + +#: gajim/common/const.py:899 +#, fuzzy +msgid "The certificate has expired" +msgstr "Валидността на сертификата е изтекла" + +#: gajim/common/const.py:954 +#, fuzzy +msgid "Authentication aborted" +msgstr "Упълномощаването е прието" + +#: gajim/common/const.py:955 +#, fuzzy +msgid "Account disabled" +msgstr "Емотиконите са изключени" + +#: gajim/common/const.py:956 +#, fuzzy +msgid "Credentials expired" +msgstr "Валидността на сертификата е изтекла" + +#: gajim/common/const.py:957 +#, fuzzy +msgid "Encryption required" +msgstr "Искане за записване" + +#: gajim/common/const.py:961 +#, fuzzy +msgid "Authentication mechanism not supported" +msgstr "Разширението не се поддържа" + +#: gajim/common/const.py:962 +#, fuzzy +msgid "Authentication mechanism too weak" +msgstr "Неуспех при удостоверяването с „%s“" + +#: gajim/common/const.py:964 +msgid "Authentication currently not possible" +msgstr "" + +#: gajim/common/const.py:1109 +msgid "No Sync" +msgstr "" + +#: gajim/common/const.py:1111 +msgid "2 Days" +msgstr "" + +#: gajim/common/const.py:1114 +msgid "No Threshold" +msgstr "" + +#: gajim/common/logging_helpers.py:31 +#, python-format +msgid "%s is not a valid loglevel" +msgstr "%s не е валидно ниво за дневник" + +#: gajim/common/zeroconf/zeroconf_avahi.py:256 +#: gajim/common/zeroconf/zeroconf_bonjour.py:248 +#: gajim/common/zeroconf/zeroconf_bonjour.py:265 +#: gajim/common/zeroconf/zeroconf_bonjour.py:323 +#, python-format +msgid "Error while adding service. %s" +msgstr "Грешка при добавянето на услугата. %s" + +#: gajim/common/zeroconf/connection_zeroconf.py:252 +#, python-format +msgid "Could not connect to \"%s\"" +msgstr "Неуспех при свързване с „%s“" + +#: gajim/common/zeroconf/connection_zeroconf.py:253 +msgid "Please check if Avahi or Bonjour is installed." +msgstr "Проверете дали Avahi или Bonjour е инсталиран." + +#: gajim/common/zeroconf/connection_zeroconf.py:263 +#: gajim/common/zeroconf/connection_zeroconf.py:267 +msgid "Could not start local service" +msgstr "Неуспех при стартирането на локална услуга" + +#: gajim/common/zeroconf/connection_zeroconf.py:264 +#, python-format +msgid "Unable to bind to port %d." +msgstr "Неуспех при свързването с порт %d." + +#: gajim/common/zeroconf/connection_zeroconf.py:268 +#, fuzzy +msgid "Please check if avahi/bonjour-daemon is running." +msgstr "Проверете дали е стартиран avahi-daemon." + +#: gajim/common/zeroconf/connection_zeroconf.py:362 +#: gajim/common/zeroconf/connection_zeroconf.py:375 +#, python-format +msgid "Could not change status of account \"%s\"" +msgstr "Неуспех при промяната на състоянието на акаунт „%s“" + +#: gajim/common/zeroconf/connection_zeroconf.py:363 +#: gajim/common/zeroconf/connection_zeroconf.py:376 +msgid "Please check if avahi-daemon is running." +msgstr "Проверете дали е стартиран avahi-daemon." + +#: gajim/common/zeroconf/connection_zeroconf.py:404 +msgid "Your message could not be sent." +msgstr "Съобщението ви не можа да бъде изпратено." + +#: gajim/common/zeroconf/connection_zeroconf.py:419 +msgid "Contact is offline. Your message could not be sent." +msgstr "Контактът е изключен. Съобщението ви не можа да бъде изпратено." + +#: gajim/common/zeroconf/connection_zeroconf.py:441 +msgid "" +"Connection to host could not be established: Timeout while sending data." +msgstr "" +"Неуспех при установяването на връзка с хоста: Изтичане на допустимото време " +"при изпращането на данните." + +#: gajim/common/dbus/logind.py:73 +msgid "Machine is going to sleep" +msgstr "" + +#: gajim/common/dbus/logind.py:103 +msgid "Disconnect from the network" +msgstr "" + +#: gajim/common/modules/adhoc_commands.py:88 +msgid "Change status information" +msgstr "Промяна на информацията за състоянието" + +#: gajim/common/modules/adhoc_commands.py:112 +msgid "Change status" +msgstr "Промяна на състоянието" + +#: gajim/common/modules/adhoc_commands.py:113 +msgid "Set the presence type and description" +msgstr "Настройване на съобщението за състояние и описанието му" + +#: gajim/common/modules/adhoc_commands.py:120 +msgid "Free for chat" +msgstr "Свободен за разговор" + +#: gajim/common/modules/adhoc_commands.py:121 +msgid "Online" +msgstr "На линия" + +#: gajim/common/modules/adhoc_commands.py:123 +msgid "Extended away" +msgstr "Не съм на разположение" + +#: gajim/common/modules/adhoc_commands.py:124 +msgid "Do not disturb" +msgstr "Не ме притеснявайте" + +#: gajim/common/modules/adhoc_commands.py:125 +msgid "Offline - disconnect" +msgstr "Изключен - изключване" + +#: gajim/common/modules/adhoc_commands.py:131 +msgid "Presence description:" +msgstr "Описание на състоянието:" + +#: gajim/common/modules/adhoc_commands.py:170 +msgid "The status has been changed." +msgstr "Състоянието беше променено." + +#: gajim/common/modules/presence.py:265 +msgid "I would like to add you to my roster." +msgstr "" +"Бих искал(а) да ви добавя към списъка си. I would like to add you to my " +"roster." + +#: gajim/common/modules/roster_item_exchange.py:103 +#, python-format +msgid "Sent contact: \"%(jid)s\" (%(name)s)" +msgstr "" + +#: gajim/common/modules/roster_item_exchange.py:107 +#, fuzzy +msgid "Sent contacts:" +msgstr "Покана на _контакти" + +#: gajim/common/modules/httpupload.py:99 +msgid "File is empty" +msgstr "Файлът не съдържа нищо" + +#: gajim/common/modules/httpupload.py:102 +msgid "File does not exist" +msgstr "Файлът не съществува" + +#: gajim/common/modules/httpupload.py:109 +#: gajim/common/modules/httpupload.py:172 +#, python-format +msgid "File is too large, maximum allowed file size is: %s" +msgstr "" + +#: gajim/common/modules/httpupload.py:279 +#, fuzzy +msgid "Encrypting file…" +msgstr "Шифрирането чрез E2E е изключено" + +#: gajim/common/modules/httpupload.py:280 +msgid "Requesting HTTP File Upload Slot…" +msgstr "" + +#: gajim/common/modules/httpupload.py:281 +msgid "Uploading via HTTP File Upload…" +msgstr "" + +#: gajim/common/modules/httpupload.py:285 +#, fuzzy +msgid "The server returned an insecure transport (HTTP)." +msgstr "Услугата върна грешка." + +#: gajim/common/modules/httpupload.py:286 +msgid "There is no encryption method available for the chosen encryption." +msgstr "" + +#: gajim/plugins/pluginmanager.py:679 gajim/plugins/pluginmanager.py:685 +msgid "Archive corrupted" +msgstr "" + +#: gajim/plugins/pluginmanager.py:681 +#, fuzzy +msgid "Archive empty" +msgstr "Файлът не съдържа нищо" + +#: gajim/plugins/pluginmanager.py:693 gajim/plugins/pluginmanager.py:701 +#: gajim/plugins/gui.py:273 +#, fuzzy +msgid "Archive is malformed" +msgstr "Услугата изпрати лошо форматирани данни" + +#: gajim/plugins/pluginmanager.py:710 gajim/plugins/gui.py:288 +#: gajim/plugins/gui.py:301 +#, fuzzy +msgid "Plugin already exists" +msgstr "Този файл вече съществува" + +#: gajim/plugins/pluginmanager.py:720 +#, fuzzy +msgid "Installation failed" +msgstr "Неуспех при свързването" + +#: gajim/plugins/gui.py:67 gajim/data/gui/shortcuts_window.ui:38 +msgid "Plugins" +msgstr "" + +#: gajim/plugins/gui.py:75 +msgid "Click to view Gajim's wiki page on how to install plugins in Flatpak." +msgstr "" + +#: gajim/plugins/gui.py:84 +msgid "Plugin" +msgstr "" + +#: gajim/plugins/gui.py:95 gajim/data/gui/manage_sounds.ui:40 +msgid "Active" +msgstr "Активен" + +#: gajim/plugins/gui.py:159 +#, fuzzy, python-format +msgid "Warning: %s" +msgstr "Отлъчване на %s" + +#: gajim/plugins/gui.py:216 +#, fuzzy +msgid "Plugin failed" +msgstr "Неуспех при свързването" + +#: gajim/plugins/gui.py:249 +msgid "Unable to properly remove the plugin" +msgstr "" + +#: gajim/plugins/gui.py:287 +#, fuzzy +msgid "Overwrite Plugin?" +msgstr "Презаписване на съобщението за състояние?" + +#: gajim/plugins/gui.py:289 +#, fuzzy +msgid "Do you want to overwrite the currently installed version?" +msgstr "Искате ли да приемете поканата?" + +#: gajim/plugins/gui.py:317 gajim/data/gui/groupchat_config.ui:258 +#, fuzzy +msgid "Configuration" +msgstr "Настройки на стаята" + +#: gajim/data/gui/groupchat_nick_chooser.ui:47 +#, fuzzy +msgid "Join Group Chat as…" +msgstr "Влизане в стая" + +#: gajim/data/gui/groupchat_nick_chooser.ui:66 +#, fuzzy +msgid "Your Nickname" +msgstr "Псевдоним:" + +#: gajim/data/gui/groupchat_control.ui:36 +#, fuzzy +msgid "Drop Files or Contacts" +msgstr "Покана на _контакти" + +#: gajim/data/gui/groupchat_control.ui:58 gajim/data/gui/chat_control.ui:322 +msgid "Bold" +msgstr "Получер" + +#: gajim/data/gui/groupchat_control.ui:67 gajim/data/gui/chat_control.ui:331 +msgid "Italic" +msgstr "Курсив" + +#: gajim/data/gui/groupchat_control.ui:76 gajim/data/gui/chat_control.ui:340 +#, fuzzy +msgid "Underline" +msgstr "Неопределен" + +#: gajim/data/gui/groupchat_control.ui:85 gajim/data/gui/chat_control.ui:349 +#, fuzzy +msgid "Strike" +msgstr "Болен" + +#: gajim/data/gui/groupchat_control.ui:107 gajim/data/gui/chat_control.ui:371 +msgid "Font" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:121 gajim/data/gui/chat_control.ui:385 +#, fuzzy +msgid "Clear formatting" +msgstr "Информация за контакта" + +#: gajim/data/gui/groupchat_control.ui:383 gajim/data/gui/chat_control.ui:784 +#, fuzzy +msgid "Choose encryption" +msgstr "Избор на файл за изпращане…" + +#: gajim/data/gui/groupchat_control.ui:429 gajim/data/gui/chat_control.ui:667 +#, fuzzy +msgid "Show a list of emojis (Alt+M)" +msgstr "Списък с емотикони (Alt+M)" + +#: gajim/data/gui/groupchat_control.ui:454 gajim/data/gui/chat_control.ui:833 +#, fuzzy +msgid "Send Message" +msgstr "Изпращане на съобщение" + +#: gajim/data/gui/groupchat_control.ui:583 +#, fuzzy +msgid "Joining…" +msgstr "Отлъчване…" + +#: gajim/data/gui/groupchat_control.ui:641 +#, fuzzy +msgid "Enter Nickname" +msgstr "Въведете псевдоним" + +#: gajim/data/gui/groupchat_control.ui:691 +#: gajim/data/gui/groupchat_control.ui:783 +#, fuzzy +msgid "Ch_ange" +msgstr "Смяна на псе_вдоним…" + +#: gajim/data/gui/groupchat_control.ui:748 +#: gajim/data/gui/shortcuts_window.ui:319 +#, fuzzy +msgid "Change Subject" +msgstr "Промяна на _темата…" + +#: gajim/data/gui/groupchat_control.ui:864 +#, fuzzy +msgid "Enter Password" +msgstr "Въведете нова парола:" + +#: gajim/data/gui/groupchat_control.ui:1081 +#, fuzzy +msgid "_Forget Group Chat" +msgstr "Излизане от стаите" + +#: gajim/data/gui/groupchat_control.ui:1085 +#, fuzzy +msgid "Gajim will not try to join this group chat again" +msgstr "Ако тази опция е избрана, ще влизате в тази стая при стартиране." + +#: gajim/data/gui/groupchat_control.ui:1102 +#, fuzzy +msgid "T_ry Again" +msgstr "Проверка наново…" + +#: gajim/data/gui/groupchat_control.ui:1156 +#, fuzzy +msgid "An Error Occurred" +msgstr "Възникна грешка:" + +#: gajim/data/gui/groupchat_control.ui:1221 +#, fuzzy +msgid "_Try Again" +msgstr "Проверка наново…" + +#: gajim/data/gui/groupchat_control.ui:1398 +#, fuzzy +msgid "Kick Participant" +msgstr "Участник" + +#: gajim/data/gui/groupchat_control.ui:1436 +msgid "_Kick" +msgstr "_Изритване" + +#: gajim/data/gui/groupchat_control.ui:1469 +#: gajim/data/gui/groupchat_control.ui:1595 +#: gajim/data/gui/groupchat_control.ui:1721 +#: gajim/data/gui/groupchat_control.ui:1738 +#: gajim/data/gui/groupchat_control.ui:1827 +#: gajim/data/gui/groupchat_control.ui:1828 +msgid "Insert Emoji" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1482 +#: gajim/data/gui/groupchat_control.ui:1608 +#, fuzzy +msgid "Reason (optional)" +msgstr "Може да въведете и друго място за срещи:" + +#: gajim/data/gui/groupchat_control.ui:1524 +#, fuzzy +msgid "Ban Participant" +msgstr "Участник" + +#: gajim/data/gui/groupchat_control.ui:1562 +msgid "_Ban" +msgstr "_Забраняване на достъпа" + +#: gajim/data/gui/groupchat_control.ui:1650 +#, fuzzy +msgid "Destroy This Chat" +msgstr "Нова стая" + +#: gajim/data/gui/groupchat_control.ui:1688 +#, fuzzy +msgid "_Destroy" +msgstr "Унищожаване на %s" + +#: gajim/data/gui/groupchat_control.ui:1722 +#, fuzzy +msgid "Alternate venue (optional)..." +msgstr "Може да въведете и друго място за срещи:" + +#: gajim/data/gui/groupchat_control.ui:1739 +#, fuzzy +msgid "Reason (optional)..." +msgstr "Причина" + +#: gajim/data/gui/groupchat_control.ui:1752 +msgid "Reason for destruction" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1767 +msgid "Where participants should go" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1808 +#, fuzzy +msgid "Rename This Chat" +msgstr "Излизане от стаите" + +#: gajim/data/gui/groupchat_control.ui:1935 +#, fuzzy +msgid "_Invite" +msgstr "По_кана" + +#: gajim/data/gui/groupchat_control.ui:2020 +#, fuzzy +msgid "Settings for This Chat" +msgstr "Пренебрегване на грешката за този сертификат." + +#: gajim/data/gui/filetransfers.ui:21 +msgid "Pa_use/Resume" +msgstr "" + +#: gajim/data/gui/filetransfers.ui:45 +#, fuzzy +msgid "_Open Folder" +msgstr "_Отваряне на папката" + +#: gajim/data/gui/filetransfers.ui:56 gajim/data/gui/filetransfers.ui:206 +msgid "File Transfers" +msgstr "Файлови трансфери" + +#: gajim/data/gui/filetransfers.ui:91 +#, fuzzy +msgid "_Show notification when file transfer is complete" +msgstr "_Уведомяване при завършване на файловия трансфер" + +#: gajim/data/gui/filetransfers.ui:131 +msgid "file transfers list" +msgstr "списък с файлови трансфери" + +#: gajim/data/gui/filetransfers.ui:132 +msgid "A list of active, completed and stopped file transfers" +msgstr "Списък с активни, завършили и прекъснати файлови трансфери" + +#: gajim/data/gui/filetransfers.ui:154 +#, fuzzy +msgid "Remove completed, cancelled and failed file transfers from the list" +msgstr "" +"Премахва завършилите, прекъснатите или провалени файлови трансфери от списъка" + +#: gajim/data/gui/filetransfers.ui:167 +#, fuzzy +msgid "Pause or resume file transfer" +msgstr "Отменя файловия трансфер" + +#: gajim/data/gui/filetransfers.ui:180 +#, fuzzy +msgid "Cancel the selected file transfer and remove incomplete files" +msgstr "Отменя избрания файлов трансфер и изтрива непълния файл" + +#: gajim/data/gui/filetransfers.ui:207 +#, fuzzy +msgid "Shows a list of file transfers between you and your contacts" +msgstr "Показва списък с файловите трансфери между вас и останалите" + +#: gajim/data/gui/add_new_contact_window.ui:76 +#, fuzzy +msgid "_XMPP Address" +msgstr "_Адрес:" + +#: gajim/data/gui/add_new_contact_window.ui:92 +#, fuzzy +msgid "_Nickname" +msgstr "Псе_вдоним:" + +#: gajim/data/gui/add_new_contact_window.ui:109 +#, fuzzy +msgid "_Group" +msgstr "_Група:" + +#: gajim/data/gui/add_new_contact_window.ui:157 +msgid "Choose or type new group name" +msgstr "" + +#: gajim/data/gui/add_new_contact_window.ui:173 +#, fuzzy +msgid "A_ccount" +msgstr "_Акаунт:" + +#: gajim/data/gui/add_new_contact_window.ui:189 +#, fuzzy +msgid "_Protocol" +msgstr "П_ротокол:" + +#: gajim/data/gui/add_new_contact_window.ui:287 +#: gajim/data/gui/single_message_window.ui:161 +#, fuzzy +msgid "Query Contact Info" +msgstr "Информация за контакта" + +#: gajim/data/gui/add_new_contact_window.ui:312 +#, fuzzy +msgid "A_llow contact to view my status" +msgstr "_Позволяване на този контакт да вижда състоянието ми" + +#: gajim/data/gui/add_new_contact_window.ui:363 +#, fuzzy +msgid "_Save subscription message" +msgstr "_Записване" + +#: gajim/data/gui/add_new_contact_window.ui:389 +#, fuzzy +msgid "" +"You have to register with this transport\n" +"to be able to add a contact from this\n" +"protocol. Click on Register button to\n" +"proceed." +msgstr "" +"Трябва да регистрирате този транспорт,\n" +"за да може да добавите контакт от този\n" +"протокол. Натиснете бутона „Регистриране“,\n" +"за да продължите." + +#: gajim/data/gui/add_new_contact_window.ui:404 +msgid "_Register" +msgstr "_Регистриране" + +#: gajim/data/gui/add_new_contact_window.ui:433 +msgid "" +"You must be connected to the transport to be able\n" +"to add a contact from this protocol." +msgstr "" +"Трябва да сте свързани към транспорта, за да може\n" +"да добавите контакт от този протокол." + +#: gajim/data/gui/add_new_contact_window.ui:467 +#, fuzzy +msgid "_Add" +msgstr "_Адрес:" + +#: gajim/data/gui/account_wizard.ui:16 gajim/data/gui/manage_proxies.ui:206 +#, fuzzy +msgid "_Port" +msgstr "По_рт:" + +#: gajim/data/gui/account_wizard.ui:46 +#, fuzzy +msgid "_Hostname" +msgstr "_Хост:" + +#: gajim/data/gui/account_wizard.ui:62 gajim/data/gui/account_wizard.ui:689 +#: gajim/data/gui/manage_proxies.ui:223 +msgid "example.org" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:75 +#, fuzzy +msgid "Prox_y" +msgstr "_Сървър-посредник:" + +#: gajim/data/gui/account_wizard.ui:110 +#, fuzzy +msgid "Manage Proxies..." +msgstr "Настройки на сървъра-посредник" + +#: gajim/data/gui/account_wizard.ui:131 gajim/data/gui/preferences.ui:798 +#, fuzzy +msgid "Advanced Settings" +msgstr "Действия за напреднали" + +#: gajim/data/gui/account_wizard.ui:163 gajim/data/gui/manage_proxies.ui:290 +#, fuzzy +msgid "_Type" +msgstr "Тип:" + +#: gajim/data/gui/account_wizard.ui:203 +msgid "Welcome" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:219 +#, fuzzy +msgid "Please enter your credentials or Sign Up" +msgstr "Създайте нова тема с желаното име." + +#: gajim/data/gui/account_wizard.ui:237 +msgid "Your XMPP address (e.g. user@example.org)" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:239 +#: gajim/data/gui/single_message_window.ui:59 +msgid "user@example.org" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:252 +#, fuzzy +msgid "Your password" +msgstr "Въведете нова парола:" + +#: gajim/data/gui/account_wizard.ui:266 gajim/data/gui/account_wizard.ui:719 +#, fuzzy +msgid "_Advanced Settings" +msgstr "Действия за напреднали" + +#: gajim/data/gui/account_wizard.ui:270 gajim/data/gui/account_wizard.ui:723 +#, fuzzy +msgid "Proxy, custom hostname and port" +msgstr "Използване на нестандартен хост/порт" + +#: gajim/data/gui/account_wizard.ui:283 +msgid "_Log In" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:288 +msgid "Log in with your credentials" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:304 +#, fuzzy +msgid "or" +msgstr "За" + +#: gajim/data/gui/account_wizard.ui:314 +#, fuzzy +msgid "_Sign Up" +msgstr "_Включване" + +#: gajim/data/gui/account_wizard.ui:318 +msgid "Sign up for a new account on a server of your choice" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:369 +msgid "Visit Website" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:410 +#, fuzzy +msgid "Certificate Verification Failed" +msgstr "Грешка в сертификата на SSL" + +#: gajim/data/gui/account_wizard.ui:428 +msgid "" +"The following warnings came up while trying to verify the server's " +"certificate" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:457 +#, fuzzy +msgid "_Show Certificate" +msgstr "Само-подписан сертификат" + +#: gajim/data/gui/account_wizard.ui:472 +#, fuzzy +msgid "_Add to Trusted Certificates" +msgstr "Само-подписан сертификат" + +#: gajim/data/gui/account_wizard.ui:501 gajim/data/gui/account_wizard.ui:664 +msgid "Which server should I choose?" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:516 +msgid "" +"There are plenty of servers to choose from.\n" +"Creating an account on one server allows you to communicate with contacts " +"from other servers as well." +msgstr "" + +#: gajim/data/gui/account_wizard.ui:530 +msgid "Visit Server's Website" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:550 +msgid "Listing of Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:568 +msgid "" +"xmpp.org/getting-started" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:646 +#, fuzzy +msgid "_Please choose a server" +msgstr "Създайте нова тема с желаното име." + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "" + +#: gajim/data/gui/application_menu.ui:8 +#, fuzzy +msgid "_Start / Join Chat…" +msgstr "Започване на разговор" + +#: gajim/data/gui/application_menu.ui:13 +#, fuzzy +msgid "Create _Group Chat…" +msgstr "Излизане от стаите" + +#: gajim/data/gui/application_menu.ui:18 +#, fuzzy +msgid "_History Manager" +msgstr "Мениджър на историята" + +#: gajim/data/gui/application_menu.ui:22 +#, fuzzy +msgid "Pl_ugins" +msgstr "Неуспех при свързването" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +#, fuzzy +msgid "_Preferences" +msgstr "Настройки" + +#: gajim/data/gui/application_menu.ui:36 +#, fuzzy +msgid "_Accounts" +msgstr "Акаунти" + +#: gajim/data/gui/application_menu.ui:39 +#, fuzzy +msgid "_View" +msgstr "_Изглед" + +#: gajim/data/gui/application_menu.ui:46 +#, fuzzy +msgid "Show _Offline Contacts" +msgstr "Показване на изкл_ючените контакти" + +#: gajim/data/gui/application_menu.ui:50 +#, fuzzy +msgid "Show _Active Contacts" +msgstr "Показване на изкл_ючените контакти" + +#: gajim/data/gui/application_menu.ui:54 +#, fuzzy +msgid "Show _Transports" +msgstr "Показване на т_ранспорти" + +#: gajim/data/gui/application_menu.ui:60 +#, fuzzy +msgid "_XML Console" +msgstr "XML конзола" + +#: gajim/data/gui/application_menu.ui:64 +#, fuzzy +msgid "_File Transfer" +msgstr "Файлови трансфери" + +#: gajim/data/gui/application_menu.ui:74 +#, fuzzy +msgid "_Help" +msgstr "Помо_щ" + +#: gajim/data/gui/application_menu.ui:77 +#, fuzzy +msgid "_Wiki (Online)" +msgstr "На линия" + +#: gajim/data/gui/application_menu.ui:81 +#, fuzzy +msgid "FA_Q (Online)" +msgstr "На линия" + +#: gajim/data/gui/application_menu.ui:85 +msgid "_Keyboard Shortcuts" +msgstr "" + +#: gajim/data/gui/application_menu.ui:89 +#, fuzzy +msgid "_Features" +msgstr "Възможности" + +#: gajim/data/gui/application_menu.ui:93 +#, fuzzy +msgid "_About" +msgstr "Относно" + +#: gajim/data/gui/filetransfer_progress.ui:125 +msgid "Speed" +msgstr "" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +#, fuzzy +msgid "OK" +msgstr "_Да" + +#: gajim/data/gui/plugins_window.ui:55 +msgid "Install Plugin from ZIP-File" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:56 +msgid "Install from File…" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:70 +#, fuzzy +msgid "Uninstall Plugin" +msgstr "Блокирал" + +#: gajim/data/gui/plugins_window.ui:116 +#, fuzzy +msgid "" +msgstr "Неуспех при свързването" + +#: gajim/data/gui/plugins_window.ui:133 +#, fuzzy +msgid "Plugin Settings" +msgstr "Неуспех при свързването" + +#: gajim/data/gui/plugins_window.ui:215 +#, fuzzy +msgid "" +msgstr "Описание" + +#: gajim/data/gui/plugins_window.ui:239 +#, fuzzy +msgid "Version" +msgstr "Версия на GTK+:" + +#: gajim/data/gui/plugins_window.ui:271 +#, fuzzy +msgid "Authors" +msgstr "_Упълномощаване" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +#, fuzzy +msgid "Homepage" +msgstr "Страница в Интернет:" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:349 +#, fuzzy +msgid "Installed" +msgstr "Блокирал" + +#: gajim/data/gui/plugins_window.ui:363 +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +msgid "Synchronise contacts" +msgstr "Синхронизиране на контакти" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "Изберете акаунт, с който искате да синхронизирате" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +#, fuzzy +msgid "_Name" +msgstr "_Име:" + +#: gajim/data/gui/groupchat_creation.ui:122 +#, fuzzy +msgid "_Description" +msgstr "Описание" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +#, fuzzy +msgid "_Address" +msgstr "_Адрес:" + +#: gajim/data/gui/groupchat_creation.ui:278 +#, fuzzy +msgid "_Account" +msgstr "_Акаунти" + +#: gajim/data/gui/profile.ui:33 +#, fuzzy +msgid "Contact Infos" +msgstr "Информация за контакта" + +#: gajim/data/gui/profile.ui:45 +#, fuzzy +msgid "Picture and Name" +msgstr "Псевдоним" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "" + +#: gajim/data/gui/profile.ui:198 +#, fuzzy +msgid "Change your profile picture" +msgstr "Смяна на псевдоним (Ctrl+N)" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:298 +#, fuzzy +msgid "Add Entry" +msgstr "Запис:" + +#: gajim/data/gui/profile.ui:410 +#, fuzzy +msgid "Update" +msgstr "Актуализиране на MOTD…" + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:15 +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:65 +#, fuzzy +msgid "Add Proxy" +msgstr "Сървър-посредник:" + +#: gajim/data/gui/manage_proxies.ui:79 +#, fuzzy +msgid "Remove Proxy" +msgstr "Премахване на група" + +#: gajim/data/gui/manage_proxies.ui:131 +#, fuzzy +msgid "Pass_word" +msgstr "Паро_ла:" + +#: gajim/data/gui/manage_proxies.ui:156 +#, fuzzy +msgid "Use proxy auth_entication" +msgstr "Използване на удостоверяване" + +#: gajim/data/gui/manage_proxies.ui:176 +#, fuzzy +msgid "_Username" +msgstr "И_ме на потребител:" + +#: gajim/data/gui/manage_proxies.ui:237 +#, fuzzy +msgid "_Host" +msgstr "_Хост:" + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "Локален JID:" + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "Ресурс:" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "Състояние:" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +#, fuzzy +msgid "_Store conversation history" +msgstr "_Запазване на разговорите" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +msgid "Contact" +msgstr "Контакт" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +msgid "First Name:" +msgstr "Собствено име:" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +msgid "Last Name:" +msgstr "Фамилия:" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +#, fuzzy +msgid "XMPP Address:" +msgstr "Адрес на AIM:" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "Е-поща:" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +msgid "Personal" +msgstr "Лични данни" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "_Състояние" + +#: gajim/data/gui/account_context_menu.ui:20 +msgid "_Personal Events" +msgstr "_Лични събития" + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "_Добавяне на контакт…" + +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "_Откриване на услуги" + +#: gajim/data/gui/account_context_menu.ui:57 +msgid "_Execute Command..." +msgstr "_Изпълнение на команда…" + +#: gajim/data/gui/account_context_menu.ui:65 +#, fuzzy +msgid "_View Server Info" +msgstr "Сървър" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:125 +#, fuzzy +msgid "Global Group Chat Search" +msgstr "Влизане в стая" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +#, fuzzy +msgid "_Back" +msgstr "Връщам се скоро" + +#: gajim/data/gui/start_chat_dialog.ui:386 +#, fuzzy +msgid "Select Account" +msgstr "Премахване на акаунт „%s“" + +#: gajim/data/gui/start_chat_dialog.ui:477 +msgid "_Select" +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +#, fuzzy +msgid "Configure" +msgstr "_Настройване" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +msgid "Create new post" +msgstr "Създаване на ново съобщение" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "С_ъстояние" + +#: gajim/data/gui/systray_context_menu.ui:20 +msgid "_Start Chat..." +msgstr "_Започване на разговор…" + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "Изпращане на _еднократно съобщение…" + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "Показване на всички _чакащи събития" + +#: gajim/data/gui/systray_context_menu.ui:52 +msgid "Mute Sounds" +msgstr "Изключване на звука" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +#, fuzzy +msgid "Contact List" +msgstr "Контакти" + +#: gajim/data/gui/shortcuts_window.ui:24 +#, fuzzy +msgid "Create new group chat" +msgstr "Излизане от стаите" + +#: gajim/data/gui/shortcuts_window.ui:45 +#, fuzzy +msgid "File transfers" +msgstr "Файлови трансфери" + +#: gajim/data/gui/shortcuts_window.ui:52 +#, fuzzy +msgid "Set the status message" +msgstr "съобщение за състояние" + +#: gajim/data/gui/shortcuts_window.ui:59 +#, fuzzy +msgid "Show XML console" +msgstr "Показване на _XML конзола" + +#: gajim/data/gui/shortcuts_window.ui:74 +#, fuzzy +msgid "Appearance" +msgstr "Изглед на разговорите" + +#: gajim/data/gui/shortcuts_window.ui:79 +#, fuzzy +msgid "Show offline contacts" +msgstr "Показване на изкл_ючените контакти" + +#: gajim/data/gui/shortcuts_window.ui:86 +#, fuzzy +msgid "Show only active contacts" +msgstr "Показване на изкл_ючените контакти" + +#: gajim/data/gui/shortcuts_window.ui:93 +msgid "Enable contact list filtering" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:100 +#, fuzzy +msgid "Show / hide contact list" +msgstr "Показване на изкл_ючените контакти" + +#: gajim/data/gui/shortcuts_window.ui:113 +#, fuzzy +msgid "Contact information" +msgstr "Информация за контакта" + +#: gajim/data/gui/shortcuts_window.ui:120 +#, fuzzy +msgid "Rename contact" +msgstr "Преименуване на контакт" + +#: gajim/data/gui/shortcuts_window.ui:127 +#, fuzzy +msgid "Delete contact" +msgstr "Покана на _контакти" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +#, fuzzy +msgid "Chat" +msgstr "Разговори" + +#: gajim/data/gui/shortcuts_window.ui:142 +#, fuzzy +msgid "Message composition" +msgstr "текст на съобщението" + +#: gajim/data/gui/shortcuts_window.ui:147 +#, fuzzy +msgid "Send the message" +msgstr "Изпращане на съобщение" + +#: gajim/data/gui/shortcuts_window.ui:154 +#, fuzzy +msgid "Add new line" +msgstr "Създаване на ново съобщение" + +#: gajim/data/gui/shortcuts_window.ui:161 +msgid "Select an emoji" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:168 +#, fuzzy +msgid "Complete a command or a nickname" +msgstr "Създайте нова тема с желаното име." + +#: gajim/data/gui/shortcuts_window.ui:175 +#, fuzzy +msgid "Previously sent message" +msgstr "Настроени съобщения:" + +#: gajim/data/gui/shortcuts_window.ui:182 +#, fuzzy +msgid "Next sent messages" +msgstr "Настроени съобщения:" + +#: gajim/data/gui/shortcuts_window.ui:189 +#, fuzzy +msgid "Quote previous message" +msgstr "съобщение за състояние" + +#: gajim/data/gui/shortcuts_window.ui:196 +#, fuzzy +msgid "Quote next message" +msgstr "Изпращане на съобщение" + +#: gajim/data/gui/shortcuts_window.ui:203 +#, fuzzy +msgid "Clear message entry" +msgstr "Изпратено съобщение" + +#: gajim/data/gui/shortcuts_window.ui:211 +#, fuzzy +msgid "Recent history" +msgstr "Скоро посетени:" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:230 +#, fuzzy +msgid "Clear chat window" +msgstr "Употреба: /%s, изчиства текстовия прозорец." + +#: gajim/data/gui/shortcuts_window.ui:237 +#, fuzzy +msgid "Show chat history" +msgstr "Скоро посетени:" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:299 +msgid "Close chat" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:312 +#, fuzzy +msgid "Change Nickname" +msgstr "Смяна на псе_вдоним…" + +#: gajim/data/gui/chat_control.ui:48 +#, fuzzy +msgid "Drop files or contacts" +msgstr "Изпращане на файл до контакт" + +#: gajim/data/gui/chat_control.ui:80 +#, fuzzy +msgid "1" +msgstr "Шрифт" + +#: gajim/data/gui/chat_control.ui:101 +#, fuzzy +msgid "2 abc" +msgstr "Шрифт" + +#: gajim/data/gui/chat_control.ui:121 +#, fuzzy +msgid "3 def" +msgstr "Шрифт" + +#: gajim/data/gui/chat_control.ui:141 +#, fuzzy +msgid "4 ghi" +msgstr "Шрифт" + +#: gajim/data/gui/chat_control.ui:161 +#, fuzzy +msgid "5 jkl" +msgstr "Шрифт" + +#: gajim/data/gui/chat_control.ui:181 +#, fuzzy +msgid "6 mno" +msgstr "Шрифт" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "" + +#: gajim/data/gui/chat_control.ui:221 +#, fuzzy +msgid "8 tuv" +msgstr "Шрифт" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "" + +#: gajim/data/gui/chat_control.ui:261 +#, fuzzy +msgid "*" +msgstr "Шрифт" + +#: gajim/data/gui/chat_control.ui:281 +#, fuzzy +msgid "0" +msgstr "Шрифт" + +#: gajim/data/gui/chat_control.ui:301 +#, fuzzy +msgid "#" +msgstr "Шрифт" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "Започване на _разговор" + +#: gajim/data/gui/contact_context_menu.ui:28 +msgid "Send _File..." +msgstr "Изпращане на _файл…" + +#: gajim/data/gui/contact_context_menu.ui:44 +msgid "Invite _Contacts" +msgstr "Покана на _контакти" + +#: gajim/data/gui/contact_context_menu.ui:58 +#, fuzzy +msgid "E_xecute Command..." +msgstr "Изпълнение на команда…" + +#: gajim/data/gui/contact_context_menu.ui:67 +#, fuzzy +msgid "M_anage Contact" +msgstr "_Управление на контакт" + +#: gajim/data/gui/contact_context_menu.ui:77 +msgid "_Rename..." +msgstr "_Преименуване…" + +#: gajim/data/gui/contact_context_menu.ui:84 +msgid "Edit _Groups..." +msgstr "Редактиране на _групи…" + +#: gajim/data/gui/contact_context_menu.ui:92 +msgid "Add Special _Notification..." +msgstr "Добавяне на специално _уведомление…" + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "_Записване" + +#: gajim/data/gui/contact_context_menu.ui:115 +#, fuzzy +msgid "_Allow contact to see my status" +msgstr "_Позволяване на този контакт да вижда състоянието ми" + +#: gajim/data/gui/contact_context_menu.ui:123 +#, fuzzy +msgid "A_sk to see contact status" +msgstr "_Запитване за виждане на състоянието на контакта" + +#: gajim/data/gui/contact_context_menu.ui:131 +#, fuzzy +msgid "_Forbid contact to see my status" +msgstr "За_брана за виждане на състоянието ми" + +#: gajim/data/gui/contact_context_menu.ui:159 +msgid "_Unignore" +msgstr "_Премахване на игнорирането" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "_Игнориране" + +#: gajim/data/gui/contact_context_menu.ui:174 +#, fuzzy +msgid "_Add to Contact List..." +msgstr "_Добавяне на контакт…" + +#: gajim/data/gui/single_message_window.ui:42 +#, fuzzy +msgid "_To" +msgstr "За" + +#: gajim/data/gui/single_message_window.ui:71 +#, fuzzy +msgid "Su_bject" +msgstr "Тема" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "" + +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "_Съобщение" + +#: gajim/data/gui/single_message_window.ui:144 +#, fuzzy +msgid "Characters typed: 0" +msgstr "Псевдонимът не е позволен: %s" + +#: gajim/data/gui/single_message_window.ui:189 +#, fuzzy +msgid "_From" +msgstr "От" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "_Изпращане" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "Изпращане на съобщение" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "_Отговор" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "Отговор на това съобщение" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "Изпра_щане и затваряне" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "Изпращане на съобщението и затваряне на прозореца" + +#: gajim/data/gui/vcard_information_window.ui:106 +#, fuzzy +msgid "Client" +msgstr "Клиент:" + +#: gajim/data/gui/vcard_information_window.ui:140 +#, fuzzy +msgid "Contact time" +msgstr "Име на контакта" + +#: gajim/data/gui/vcard_information_window.ui:240 +#, fuzzy +msgid "User avatar" +msgstr "Аватар:" + +#: gajim/data/gui/vcard_information_window.ui:255 +#, fuzzy +msgid "Configured avatar" +msgstr "Настроен аватар:" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +msgid "Ask" +msgstr "" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +#, fuzzy +msgid "Subscription" +msgstr "Записване: " + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +#, fuzzy +msgid "Extra Address" +msgstr "Допълнителен адрес:" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +msgid "Address" +msgstr "Адрес" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +#, fuzzy +msgid "E-Mail" +msgstr "Е-поща:" + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "Формат: гггг-мм-дд" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +#, fuzzy +msgid "Family" +msgstr "Фамилия:" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +#, fuzzy +msgid "Middle" +msgstr "Средата на седмицата" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +#, fuzzy +msgid "Prefix" +msgstr "Настройки" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +msgid "Given" +msgstr "" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +#, fuzzy +msgid "Suffix" +msgstr "Наставка:" + +#: gajim/data/gui/vcard_information_window.ui:958 +#, fuzzy +msgid "Name Details" +msgstr "Име:" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "" + +#: gajim/data/gui/vcard_information_window.ui:1017 +msgid "Personal Info" +msgstr "Лични данни" + +#: gajim/data/gui/vcard_information_window.ui:1040 +#, fuzzy +msgid "Company" +msgstr "Фирма:" + +#: gajim/data/gui/vcard_information_window.ui:1073 +#, fuzzy +msgid "Department" +msgstr "Отдел:" + +#: gajim/data/gui/vcard_information_window.ui:1104 +#, fuzzy +msgid "Position" +msgstr "Условие" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "Роля" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "Относно" + +#: gajim/data/gui/vcard_information_window.ui:1514 +msgid "Comments" +msgstr "Коментари" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "Редактиране на групи" + +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "Парола" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +#, fuzzy +msgid "Themes" +msgstr "Тема" + +#: gajim/data/gui/themes_window.ui:171 +#, fuzzy +msgid "Add Setting" +msgstr "Неуспех при свързването" + +#: gajim/data/gui/themes_window.ui:204 +#, fuzzy +msgid "Add new Theme" +msgstr "Създаване на ново съобщение" + +#: gajim/data/gui/themes_window.ui:219 +#, fuzzy +msgid "Remove Theme" +msgstr "Активен" + +#: gajim/data/gui/bookmarks.ui:120 +#, fuzzy +msgid "Autojoin" +msgstr "Автоматично влизане" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "" + +#: gajim/data/gui/preferences.ui:68 +#, fuzzy +msgid "Contact List Appearance" +msgstr "Изключване на контакт" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +#, fuzzy +msgid "Chats" +msgstr "Разговори" + +#: gajim/data/gui/preferences.ui:215 +#, fuzzy +msgid "Visual Notifications" +msgstr "Зрителни уведомления" + +#: gajim/data/gui/preferences.ui:243 +#, fuzzy +msgid "Sounds" +msgstr "Формат WAV" + +#: gajim/data/gui/preferences.ui:303 +#, fuzzy +msgid "Ask For Status Message on…" +msgstr "Питане за съобщение за състояние при преминаване в режим:" + +#: gajim/data/gui/preferences.ui:331 +#, fuzzy +msgid "Automatic Status Change" +msgstr "_Съгласуване спрямо състоянието" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "" + +#: gajim/data/gui/preferences.ui:447 +#, fuzzy +msgid "Status Icon" +msgstr "_Набор икони за състояние:" + +#: gajim/data/gui/preferences.ui:472 +msgid "Style" +msgstr "Стил" + +#: gajim/data/gui/preferences.ui:511 +#, fuzzy +msgid "Show _Features" +msgstr "Възможности" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:632 +msgid "Audio" +msgstr "" + +#: gajim/data/gui/preferences.ui:660 +msgid "Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:698 +msgid "Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:735 +#, fuzzy +msgid "Miscellaneous" +msgstr "Разни" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:821 +#, fuzzy +msgid "Advanced Configuration Editor… " +msgstr "Редактор на настройки за напреднали" + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "" + +#: gajim/data/gui/server_info.ui:50 +#, fuzzy +msgid "Server Software" +msgstr "Функционалности на сървърите" + +#: gajim/data/gui/server_info.ui:80 +#, fuzzy +msgid "Server Uptime" +msgstr "Запазен в: %s" + +#: gajim/data/gui/server_info.ui:109 +#, fuzzy +msgid "Contact Addresses" +msgstr "Съобщение от разговор:" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "" + +#: gajim/data/gui/server_info.ui:177 +#, fuzzy +msgid "Proxy Type" +msgstr "Сървър-посредник:" + +#: gajim/data/gui/server_info.ui:192 +#, fuzzy +msgid "No proxy used" +msgstr "Сървър-посредник:" + +#: gajim/data/gui/server_info.ui:202 +#, fuzzy +msgid "View _Certificate" +msgstr "Само-подписан сертификат" + +#: gajim/data/gui/server_info.ui:222 +#, fuzzy +msgid "Proxy Host" +msgstr "Сървър-посредник:" + +#: gajim/data/gui/server_info.ui:421 +#, fuzzy +msgid "Copy info to clipboard" +msgstr "_Копиране на адреса на връзката" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:153 +#, fuzzy +msgid "Serial Number" +msgstr "Номер на GG:" + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:304 +msgid "Expires on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:465 +#, fuzzy +msgid "Copy Certificate Information" +msgstr "Информация за контакта" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "Поканете приятели!" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +#, fuzzy +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "" +"На път сте да започнете разговор в стая.\n" +"Изберете контактите, които искате да поканите." + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +#, fuzzy +msgid "Please select a group chat server." +msgstr "Изберете сървър за стаи." + +#: gajim/data/gui/chat_to_muc_window.ui:141 +#, fuzzy +msgid "Group chat server" +msgstr "Стаи" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +msgid "In_vite" +msgstr "По_кана" + +#: gajim/data/gui/mam_preferences.ui:53 +#, fuzzy +msgid "_Default" +msgstr "По подразбиране" + +#: gajim/data/gui/mam_preferences.ui:136 +#, fuzzy +msgid "Archive" +msgstr "Файлът не съдържа нищо" + +#: gajim/data/gui/history_manager.ui:11 +#, fuzzy +msgid "_Export" +msgstr "Изнасяне" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +msgid "Gajim History Logs Manager" +msgstr "Мениджър на историята на разговорите" + +#: gajim/data/gui/history_manager.ui:104 +#, fuzzy +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" +"Този мениджър не е предназначен за преглед на историята на разговорите. Ако " +"търсите такава функционалност, използвайте прозореца за история.\n" +"\n" +"Използвайте тази програма за изтриване или изнасяне на дневници. Може да ги " +"избирате от списъка вляво и/или да търсите в базата от данни по-долу." + +#: gajim/data/gui/history_manager.ui:120 +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" +"ПРЕДУПРЕЖДЕНИЕ:\n" +"Ако планирате да изтривате масово, уверете се, че Gajim не е стартиран. По " +"принцип избягвайте да изтривате история за контакти, с които разговаряте в " +"момента." + +#: gajim/data/gui/history_manager.ui:211 +#, fuzzy +msgid "Search database..." +msgstr "_Търсене в базата от данни" + +#: gajim/data/gui/history_manager.ui:226 +#, fuzzy +msgid "Search in database" +msgstr "_Търсене в базата от данни" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" + +#: gajim/data/gui/groupchat_invite.ui:69 +#, fuzzy +msgid "Invitees" +msgstr "По_кана" + +#: gajim/data/gui/groupchat_invite.ui:153 +#, fuzzy +msgid "Search contacts..." +msgstr "_Търсене в базата от данни" + +#: gajim/data/gui/groupchat_invite.ui:223 +#, fuzzy +msgid "Click on contacts you would like to invite to this group chat." +msgstr "%(nick)s беше изритан от стаята (%(reason)s)" + +#: gajim/data/gui/service_discovery_window.ui:148 +#, fuzzy +msgid "Go" +msgstr "_Отиване" + +#: gajim/data/gui/status_change_window.ui:27 +#, fuzzy +msgid "Change Status" +msgstr "Промяна на състоянието" + +#: gajim/data/gui/status_change_window.ui:56 +#, fuzzy +msgid "Status Presets…" +msgstr "Съобщение за състояние" + +#: gajim/data/gui/status_change_window.ui:72 +msgid "Save this message as a preset" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:130 +#, fuzzy +msgid "Ac_tivity" +msgstr "Дейност" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:278 +#, fuzzy +msgid "_Change Status" +msgstr "Промяна на състоянието" + +#: gajim/data/gui/status_change_window.ui:313 +#, fuzzy +msgid "Activity" +msgstr "Дейност:" + +#: gajim/data/gui/status_change_window.ui:326 +#, fuzzy +msgid "_No Activity" +msgstr "Дейност:" + +#: gajim/data/gui/status_change_window.ui:729 +msgid "Mood" +msgstr "Настроение" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +#, fuzzy +msgid "Author" +msgstr "_Упълномощаване" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +#, fuzzy +msgid "Group Chat Language" +msgstr "Покана за разговор в стая" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +#, fuzzy +msgid "Copy Address" +msgstr "Копиране на _JID/Е-поща" + +#: gajim/data/gui/emoji_chooser.ui:98 +#, fuzzy +msgid "No Results Found" +msgstr "Няма резултати" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr "XML конзола" + +#: gajim/data/gui/xml_console.ui:131 +#, fuzzy +msgid "Start Search..." +msgstr "_Започване на разговор…" + +#: gajim/data/gui/xml_console.ui:260 +#, fuzzy +msgid "Clear" +msgstr "Чистя" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "" + +#: gajim/data/gui/xml_console.ui:316 +#, fuzzy +msgid "Presets" +msgstr "С_ъстояние" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "Синхронизиране: избор на контакти" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +msgid "Select the contacts you want to synchronise" +msgstr "Изберете контактите, които искате да синхронизирате" + +#: gajim/data/gui/groupchat_config.ui:51 +#, fuzzy +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" +"Може да бъде едно от следните:\n" +"1. потребител@домейн/ресурс (само този ресурс съвпада).\n" +"2. потребител@домейн (всеки ресурс съвпада).\n" +"3. домейн/ресурс (само този ресурс съвпада).\n" +"4. домейн (домейна съвпада, както и всеки потребител@домейн,\n" +"домейн/ресурс или адрес, съдържащ под-домейн." + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:309 +#, fuzzy +msgid "Reserved Name" +msgstr "Име на опцията" + +#: gajim/data/gui/groupchat_config.ui:346 +#, fuzzy +msgid "Affiliation" +msgstr "Ранг:" + +#: gajim/data/gui/groupchat_config.ui:377 +#, fuzzy +msgid "Affiliations" +msgstr "Програми" + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "Причина" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "Списък с отлъчени" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "_Отказване" + +#: gajim/data/gui/subscription_request_window.ui:34 +#, fuzzy +msgid "_Block User" +msgstr "_Блокиране" + +#: gajim/data/gui/subscription_request_window.ui:49 +#, fuzzy +msgid "_Report as Spam" +msgstr "_Докладване на грешка" + +#: gajim/data/gui/subscription_request_window.ui:212 +#, fuzzy +msgid "_Deny…" +msgstr "_Отказване" + +#: gajim/data/gui/subscription_request_window.ui:225 +#, fuzzy +msgid "Ac_cept" +msgstr "_Акаунти" + +#: gajim/data/gui/subscription_request_window.ui:230 +#, fuzzy +msgid "Allows the contact to see your online status" +msgstr "_Позволяване на този контакт да вижда състоянието ми" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:115 +#, fuzzy +msgid "_Report Bug" +msgstr "_Докладване на грешка" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "Събитие" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "Избор на звук" + +#: gajim/data/gui/manage_sounds.ui:97 +#, fuzzy +msgid "Clear Sound" +msgstr "Избор на звук" + +#: gajim/data/gui/manage_sounds.ui:118 +#, fuzzy +msgid "Play Sound" +msgstr "Изпълнение на з_вуци" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +#, fuzzy +msgid "_Send Files" +msgstr "Изпращане на _файл" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +#, fuzzy +msgid "Send" +msgstr "_Изпращане" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +#, fuzzy +msgid "Files to send" +msgstr "Избор на файл за изпращане…" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +#, fuzzy +msgid "Add Files" +msgstr "Файл: " + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +#, fuzzy +msgid "Remove Files" +msgstr "_Премахване" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +#, fuzzy +msgid "Idle since:" +msgstr " от %s" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +msgid "Mood:" +msgstr "Настроение:" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +msgid "Activity:" +msgstr "Дейност:" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +#, fuzzy +msgid "Tune:" +msgstr "Песен:" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +#, fuzzy +msgid "Location:" +msgstr "Уведомления" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +#, fuzzy +msgid "Subscription:" +msgstr "Записване: " + +#: gajim/data/gui/advanced_configuration.ui:15 +#, fuzzy +msgid "A restart may be required for some settings to take effect" +msgstr "" +"ЗАБЕЛЕЖКА: Трябва да рестартирате Gajim, за да влязат в сила някои от " +"настройките" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "" + +#: gajim/data/gui/advanced_configuration.ui:120 +#, fuzzy +msgid "_Reset Value" +msgstr "Възстановяване на стандартните _цветове" + +#: gajim/data/gui/advanced_configuration.ui:125 +#, fuzzy +msgid "Resets value to default" +msgstr "Възстановяване на стандартните _цветове" + +#: gajim/data/gui/history_window.ui:27 +#, fuzzy +msgid "Display status changes" +msgstr "Запазване на промените на _състоянията на контактите" + +#: gajim/data/gui/history_window.ui:57 +msgid "History Manager" +msgstr "Мениджър на историята" + +#: gajim/data/gui/history_window.ui:233 +#, fuzzy +msgid "Mode" +msgstr "Председател" + +#: gajim/data/gui/history_window.ui:246 +#, fuzzy +msgid "Search complete history" +msgstr "Скоро посетени:" + +#: gajim/data/gui/history_window.ui:263 +msgid "Search selected day only" +msgstr "" + +#: gajim/data/gui/history_window.ui:317 +#, fuzzy +msgid "Store history for this chat" +msgstr "Пренебрегване на грешката за този сертификат." + +#: gajim/data/gui/history_window.ui:332 +#, fuzzy +msgid "Store History" +msgstr "Скоро посетени:" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +#, fuzzy +msgid "Identified Error" +msgstr "Грешка в сертификата на SSL" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +#, fuzzy +msgid "" +msgstr "Грешка." + +#: gajim/data/gui/ssl_error_dialog.ui:74 +#, fuzzy +msgid "Add this certificate to the list of _trusted certificates" +msgstr "" +"Добавяне на този сертификат към списъка с доверени сертификати.\n" +"Отпечатък тип SHA1 на сертификата:\n" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +#, fuzzy +msgid "_View Certificate" +msgstr "Само-подписан сертификат" + +#: gajim/data/gui/ssl_error_dialog.ui:120 +#, fuzzy +msgid "_Connect" +msgstr "Свързан" + +#: data/org.gajim.Gajim.desktop.in:5 +#, fuzzy +msgid "XMPP Chat Client" +msgstr "Джабър клиент за бързи съобщения" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:8 +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:27 +#, fuzzy +msgid "Show next pending event" +msgstr "Показване на всички _чакащи събития" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:17 +#, fuzzy +msgid "Features:" +msgstr "Възможности" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +#, fuzzy +msgid "Automatic spell-checking for your messages" +msgstr "Проверка на изходящите съобщения за правописни грешки." + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +#, fuzzy +msgid "Support for service discovery including nodes and search for users" +msgstr "Откриване на налични услуги за акаунт „%s“" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +#, fuzzy +msgid "Contact list" +msgstr "Контакти" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +#, fuzzy +msgid "Group chat support" +msgstr "Стаи" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +#, fuzzy +msgid "Chat history" +msgstr "Скоро посетени:" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +#, fuzzy +msgid "Plugin manager" +msgstr "Неуспех при свързването" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +#, fuzzy +msgid "Gajim Team" +msgstr "gajim-remote" + +#, fuzzy +#~ msgid "Chat Settings" +#~ msgstr "Неуспех при свързването" + +#, fuzzy, python-format +#~ msgid "%i day" +#~ msgid_plural "%i days" +#~ msgstr[0] "Преди %i дни" +#~ msgstr[1] "Преди %i дни" + +#, fuzzy +#~ msgid "Composing only" +#~ msgstr "Пише" + +#, fuzzy +#~ msgid "All chat states" +#~ msgstr "Всички състояния" + +#~ msgid "Privacy Lists" +#~ msgstr "Филтри за уединение" + +#, fuzzy +#~ msgid "Unblock" +#~ msgstr "_Деблокиране" + +#, fuzzy +#~ msgid "Block" +#~ msgstr "_Блокиране" + +#~ msgid "None" +#~ msgstr "Няма" + +#, python-format +#~ msgid "%s Status Message" +#~ msgstr "Съобщение за състояние „%s“" + +#~ msgid "Could not load image" +#~ msgstr "Неуспех при зареждането на изображението" + +#~ msgid "Error." +#~ msgstr "Грешка." + +#, fuzzy +#~ msgid "_Block Contact" +#~ msgstr "Блокирани контакти" + +#, fuzzy +#~ msgid "Block Group" +#~ msgstr "_Блокиране" + +#, fuzzy +#~ msgid "Really block this group?" +#~ msgstr "Активиран ли е OpenPGP за този контакт?" + +#, fuzzy +#~ msgid "_Block Group" +#~ msgstr "_Блокиране" + +#~ msgid "No account available" +#~ msgstr "Няма наличен акаунт" + +#~ msgid "You must create an account before you can chat with other contacts." +#~ msgstr "" +#~ "За да разговаряте с други контакти, първо трябва да създадете Джабър " +#~ "акаунт." + +#~ msgid "Metacontacts storage not supported by your server" +#~ msgstr "Сървърът ви няма поддръжка за мета-контакти" + +#, fuzzy +#~ msgid "" +#~ "Your server does not support storing metacontacts information. So this " +#~ "information will not be saved on next reconnection." +#~ msgstr "" +#~ "Вашият сървър не поддържа съхраняването на информация за мета-контакти, " +#~ "така че тази информация няма да се запази при следващото свързване." + +#, fuzzy, python-brace-format +#~ msgid "You are invited to {room} by {user}" +#~ msgstr "Поканени сте в стая." + +#, fuzzy, python-format +#~ msgid "%s wants to start a voice chat." +#~ msgstr "%s иска да ви изпрати файл." + +#~ msgid "Could not save your settings and preferences" +#~ msgstr "Неуспех при запазването на настройките" + +#, fuzzy +#~ msgid "Error While Removing Privacy List" +#~ msgstr "Грешка при премахването на списъка за уединение" + +#, fuzzy, python-format +#~ msgid "" +#~ "Privacy list %s has not been removed. It is probably active in one of " +#~ "your connected resources. Please deactivate it and try again." +#~ msgstr "" +#~ "Списъкът за уединение „%s“ не беше премахнат. Навярно е активен в някой " +#~ "от свързаните ви ресурси. Изключете го и опитайте отново." + +#, fuzzy +#~ msgid "Invisibility Not Supported" +#~ msgstr "Състоянието „Невидим“ не се поддържа." + +#, fuzzy, python-format +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "Акаунтът „%s“ не поддържа невидимост." + +#, fuzzy +#~ msgid "Could not request upload slot for HTTP File Upload" +#~ msgstr "Неуспех при стартирането на локална услуга" + +#, fuzzy +#~ msgid "Not Secure" +#~ msgstr "Не е започнал" + +#, fuzzy +#~ msgid "Could not Upload File" +#~ msgstr "Неуспех при зареждането на изображението" + +#~ msgid "Lists all preferences and their values" +#~ msgstr "Показва всички настройки и техните стойности" + +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "Настройва стойността на „ключ“ на „стойност“." + +#~ msgid "key=value" +#~ msgstr "ключ=стойност" + +#, fuzzy +#~ msgid "'key' is the name of the preference, 'value' is what to set it to" +#~ msgstr "" +#~ "„ключ“ е името на настройката, „стойност“ е стойността, която се задава" + +#~ msgid "Deletes a preference item" +#~ msgstr "Изтрива обект от настройките" + +#~ msgid "key" +#~ msgstr "ключ" + +#~ msgid "name of the preference to be deleted" +#~ msgstr "име на настройката за изтриване" + +#~ msgid "Writes the current state of Gajim preferences to the .config file" +#~ msgstr "Запазва текущото състояние на настройките във файла .config" + +#, python-format +#~ msgid "%s is a directory but should be a file" +#~ msgstr "%s e папка, а би трябвало да е файл" + +#, fuzzy, python-format +#~ msgid "Creating %s" +#~ msgstr "Унищожаване на %s" + +#, python-format +#~ msgid "%(nickname)s Signed In" +#~ msgstr "%(nickname)s се включи" + +#~ msgid "Contact Signed In" +#~ msgstr "Включи се контакт" + +#, python-format +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "%(nickname)s се изключи" + +#~ msgid "Contact Signed Out" +#~ msgstr "Изключи се контакт" + +#, fuzzy +#~ msgid "" +#~ "Show desktop notification even when a chat window is opened for this " +#~ "contact and does not have focus." +#~ msgstr "" +#~ "Позволяване на прозорци/уведомления при _Отсъствам/Не съм на разположение/" +#~ "Зает/Невидим" + +#~ msgid "default" +#~ msgstr "по подразбиране" + +#, fuzzy +#~ msgid "" +#~ "Character to propose to add after desired nickname when nickname is " +#~ "already used in group chat." +#~ msgstr "" +#~ "Знак, който да се предложи да бъде добавен след желания псевдоним, когато " +#~ "той вече е използван от някой в стаята." + +#, fuzzy +#~ msgid "If enabled, Gajim displays the avatar in the chat window." +#~ msgstr "" +#~ "Ако е изключена, повече няма да виждате аватар в прозореца за разговор." + +#, fuzzy +#~ msgid "" +#~ "Status to be used automatically when connecting. Can be 'online', 'chat', " +#~ "'away', 'xa' or 'dnd'. NOTE: This option is used only if " +#~ "'restore_last_status' is disabled." +#~ msgstr "" +#~ "Състояние при автоматично включване. Може да е „online“, „chat“, „away“, " +#~ "„xa“, „dnd“ или „invisible“. ЗАБЕЛЕЖКА: Тази опция се използва само ако " +#~ "„restore_last_status“ е изключена." + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending password on an plaintext connection. " +#~ "Can be 'warn', or 'none'." +#~ msgstr "" +#~ "Показване на предупреждение преди изпращане на паролата при нешифрирана " +#~ "връзка." + +#, fuzzy +#~ msgid "" +#~ "How many seconds to wait for the answer of a ping alive packet before " +#~ "trying to reconnect." +#~ msgstr "" +#~ "Колко секунди да се чака за отговор на изпратен пакет за поддържане на " +#~ "връзката, преди да да се опита свързване наново." + +#~ msgid "I'm available." +#~ msgstr "На линия съм." + +#~ msgid "I'm free for chat." +#~ msgstr "Свободен за разговор." + +#~ msgid "Be right back." +#~ msgstr "Сега се връщам." + +#~ msgid "I'm not available." +#~ msgstr "Не съм на разположение." + +#~ msgid "Do not disturb." +#~ msgstr "Не ме притеснявайте." + +#~ msgid "Bye!" +#~ msgstr "Довиждане!" + +#~ msgid "Timeout loading image" +#~ msgstr "Изтече времето за зареждане на изображението" + +#~ msgid "Image is too big" +#~ msgstr "Изображението е твърде голямо" + +#, fuzzy +#~ msgid "PyCURL is not installed" +#~ msgstr "Списъкът с отменени сертификати все още не е валиден" + +#, fuzzy +#~ msgid "Error loading image" +#~ msgstr "Изтече времето за зареждане на изображението" + +#~ msgid "Blocked Contacts" +#~ msgstr "Блокирани контакти" + +#, fuzzy +#~ msgid "Group chat" +#~ msgstr "Стаи" + +#, fuzzy +#~ msgid "Bookmark group chat" +#~ msgstr "_Добавяне на стаята към отметките (Ctrl+B)" + +#, fuzzy +#~ msgid "Bookmark" +#~ msgstr "_Добавяне на стаята към отметките" + +#, fuzzy +#~ msgid "Recently used group chats" +#~ msgstr "в _стаи" + +#, fuzzy +#~ msgid "Clear Avatar" +#~ msgstr "Аватар:" + +#, fuzzy +#~ msgid "Set Avatar…" +#~ msgstr "Избор на изображение" + +#, fuzzy +#~ msgid "Contact" +#~ msgstr "Област/Щат:" + +#, fuzzy +#~ msgid "_Leave Group Chat" +#~ msgstr "Излизане от стаите" + +#, fuzzy +#~ msgid "Enter a new name for this group chat" +#~ msgstr "Въведете ново име за група „%s“" + +#~ msgid "Custom" +#~ msgstr "Персонални" + +#, fuzzy +#~ msgid "Notify me about it" +#~ msgstr "Уведомяване за _изключващи се контакти" + +#, fuzzy +#~ msgid "Show only in contact list" +#~ msgstr "Показване на изкл_ючените контакти" + +#, fuzzy +#~ msgid "No status messages" +#~ msgstr "съобщение за състояние" + +#, fuzzy +#~ msgid "All status messages" +#~ msgstr "съобщение за състояние" + +#, fuzzy +#~ msgid "Only enter/leave messages" +#~ msgstr "Имате непрочетени съобщения" + +#, fuzzy +#~ msgid "Me_rge accounts" +#~ msgstr "_Смесване на акаунти" + +#, fuzzy +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "Показване на _аватари на контактите в списъка" + +#, fuzzy +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "" +#~ "Ако тази опция е избрана, Gajim ще изобразява аватари на контакти в " +#~ "списъка и стаите" + +#, fuzzy +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "Показване на _съобщенията за състояние на контактите в списъка" + +#, fuzzy +#~ msgid "" +#~ "If checked, status messages of contacts will be shown under the contact's " +#~ "name, in the contact list window, and in group chats" +#~ msgstr "" +#~ "Ако тази опция е избрана, съобщенията за състояние на контактите ще се " +#~ "показват под имената им в списъка и в стаите" + +#, fuzzy +#~ msgid "" +#~ "Show e_xtra information of contacts in contact list (mood, activity, ...)" +#~ msgstr "Показване на _настроенията на контактите в списъка" + +#, fuzzy +#~ msgid "in _contact list" +#~ msgstr "Покана на _контакти" + +#~ msgid "in _group chats" +#~ msgstr "в _стаи" + +#, fuzzy +#~ msgid "Enable spell _checking" +#~ msgstr "Проверка на правописа" + +#, fuzzy +#~ msgid "" +#~ "If checked, spelling errors in input fields of chat windows will be " +#~ "highlighted. If no language is explicitly set via right click on the " +#~ "input field, the default language will be used for this contact or group " +#~ "chat. Needs gspell to be installed." +#~ msgstr "" +#~ "Ако тази опция е избрана, ще се осветяват правописни грешки в полетата за " +#~ "въвеждане на текст в прозорците за разговор. Ако не е избран език чрез " +#~ "натискане с десния бутон на мишката в полето за въвеждане, ще се използва " +#~ "езикът по подразбиране." + +#, fuzzy +#~ msgid "Display status messages in _single chats" +#~ msgstr "Показване на _съобщенията за състояние на контактите в списъка" + +#, fuzzy +#~ msgid "" +#~ "If checked, status lines will be shown in 1 on 1 chats when a contact " +#~ "changes their status or status message" +#~ msgstr "" +#~ "Ако е изключена, вече няма да виждате реда за състоянието при " +#~ "разговорите, когато контактът променя състоянието си." + +#, fuzzy +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "Неуспех при влизането в стаята" + +#, fuzzy +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "Неуспех при влизането в стаята" + +#, fuzzy +#~ msgid "Show status changes (Default)" +#~ msgstr "Запазване на промените на _състоянията на контактите" + +#, fuzzy +#~ msgid "" +#~ "If checked, the tab will be colored according to the current chatstate of " +#~ "the contact" +#~ msgstr "" +#~ "Ако тази опция е избрана, контактите ще могат да откриват операционната " +#~ "система, която използвате." + +#, fuzzy +#~ msgid "" +#~ "If checked, a description of the contacts current chatstate is shown in " +#~ "the banner" +#~ msgstr "" +#~ "Ако тази опция е избрана, контактите ще могат да откриват операционната " +#~ "система, която използвате." + +#, fuzzy +#~ msgid "Chatstate" +#~ msgstr "Последно състояние: %s" + +#, fuzzy +#~ msgid "_When new event is received" +#~ msgstr "При получаване на ново събитие:" + +#, fuzzy +#~ msgid "Show popups/notifications when a chat window is already _open" +#~ msgstr "" +#~ "Позволяване на прозорци/уведомления при _Отсъствам/Не съм на разположение/" +#~ "Зает/Невидим" + +#, fuzzy +#~ msgid "Allow popups/notifications when I'm _away, not available or busy" +#~ msgstr "" +#~ "Позволяване на прозорци/уведомления при _Отсъствам/Не съм на разположение/" +#~ "Зает/Невидим" + +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "Уведомяване за _включващи се контакти" + +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "Уведомяване за _изключващи се контакти" + +#~ msgid "Play _sounds" +#~ msgstr "Изпълнение на з_вуци" + +#~ msgid "Ma_nage..." +#~ msgstr "_Управление…" + +#, fuzzy +#~ msgid "No_t Available" +#~ msgstr "Не съм на разположение" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Not Available when the computer " +#~ "has not been used for the specified time" +#~ msgstr "" +#~ "Ако тази опция е избрана, Gajim ще променя състоянието на „Не съм на " +#~ "разположение“ когато компютърът не се използва по-дълго време." + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Away when the computer has not " +#~ "been used for the specified time" +#~ msgstr "" +#~ "Ако тази опция е избрана, Gajim ще променя състоянието на „Не съм на " +#~ "разположение“ когато компютърът не се използва по-дълго време." + +#, fuzzy +#~ msgid "" +#~ "The automatic away status message. If empty, the current status message " +#~ "will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-away timeout." +#~ msgstr "" +#~ "Съобщение за автоматично състояние „Отсъствам“. Ако е празно, няма да се " +#~ "сменя текущото съобщение." + +#, fuzzy +#~ msgid "" +#~ "The automatic not available status message. If empty, the current status " +#~ "message will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-not-available timeout." +#~ msgstr "" +#~ "Съобщение за автоматично състояние „Не съм на разположение“. Ако е " +#~ "празно, няма да се сменя текущото съобщение." + +#, fuzzy +#~ msgid "Minutes" +#~ msgstr "минути" + +#~ msgid "" +#~ "If enabled, Gajim will not ask for a status message. The specified " +#~ "default message will be used instead." +#~ msgstr "" +#~ "Ако тази опция е избрана, няма да се пита за съобщение за състояние — ще " +#~ "се използва стандартно зададеното." + +#~ msgid "Default Message" +#~ msgstr "Стандартно съобщение" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "Съобщение за състояние" + +#, fuzzy +#~ msgid "Preset Status Messages" +#~ msgstr "Настроени съобщения за състояние" + +#, fuzzy +#~ msgid "_Theme" +#~ msgstr "Тема" + +#~ msgid "Configure color and font of the interface" +#~ msgstr "Настройване на цвят и шрифт на интерфейса" + +#, fuzzy +#~ msgid "" +#~ "If checked, protocol-specific status icons will be used (e.g. a contact " +#~ "from ICQ will have the equivalent ICQ icon for status online, away, busy, " +#~ "etc...)" +#~ msgstr "" +#~ "Ако тази опция е избрана, ще се използват специфични за протокола икони " +#~ "за състояние (т.е. контакт от MSN ще има еквивалентната за MSN икона за " +#~ "състоянията „На линия“, „Отсъствам“, „Зает“ и т.н.)." + +#, fuzzy +#~ msgid "_Manage..." +#~ msgstr "Управление на…" + +#, fuzzy +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "Запазване на промените на _състоянията на контактите" + +#, fuzzy +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "Ако тази опция е избрана, ще се запомни паролата за този акаунт." + +#~ msgid "_Open..." +#~ msgstr "_Отваряне…" + +#, fuzzy +#~ msgid "_Filter" +#~ msgstr "Филтър:" + +#, fuzzy +#~ msgid "Protocol" +#~ msgstr "П_ротокол:" + +#~ msgid "Privacy Lists:" +#~ msgstr "Филтри за уединение:" + +#, fuzzy +#~ msgid "_Ignore this error for this certificate" +#~ msgstr "Пренебрегване на грешката за този сертификат." + +#, fuzzy +#~ msgid "Message..." +#~ msgstr "Съобщение" + +#, fuzzy +#~ msgid "Preset _messages" +#~ msgstr "Настроени съобщения:" + +#, fuzzy +#~ msgid "_Type your new status message" +#~ msgstr "Напишете новото съобщение за състояние" + +#, fuzzy +#~ msgid "Change Status Message…" +#~ msgstr "Пром_яна на съобщението за състояние" + +#~ msgid "Mood:" +#~ msgstr "Настроение:" + +#~ msgid "Message:" +#~ msgstr "Съобщение:" + +#, fuzzy +#~ msgid "none" +#~ msgstr "един" + +#, fuzzy +#~ msgid "both" +#~ msgstr "Двустранно" + +#, fuzzy +#~ msgid "from" +#~ msgstr "От" + +#, fuzzy +#~ msgid "to" +#~ msgstr "два" + +#~ msgid "Privacy List" +#~ msgstr "Филтър за уединение" + +#~ msgid "Privacy List" +#~ msgstr "Филтър за уединение" + +#~ msgid "Active for this session" +#~ msgstr "Активен за тази сесия" + +#~ msgid "Active on each startup" +#~ msgstr "Активен при всяко стартиране" + +#~ msgid "List of rules" +#~ msgstr "Списък с правила" + +#~ msgid "Add / Edit a rule" +#~ msgstr "Добавяне / Редактиране на правило" + +#~ msgid "Allow" +#~ msgstr "Позволяване на" + +#~ msgid "Deny" +#~ msgstr "Отказване" + +#~ msgid "all in the group" +#~ msgstr "всички в групата" + +#~ msgid "all by subscription" +#~ msgstr "всички със записване" + +#~ msgid "All" +#~ msgstr "Всички" + +#~ msgid "to send me messages" +#~ msgstr "да ми изпраща съобщения" + +#~ msgid "to send me queries" +#~ msgstr "да ми изпращат лични съобщения" + +#~ msgid "to view my status" +#~ msgstr "да виждат състоянието ми" + +#~ msgid "to send me status" +#~ msgstr "да ми изпращат състоянието си" + +#, fuzzy +#~ msgid "All (including subscription)" +#~ msgstr "всички със записване" + +#~ msgid "Order:" +#~ msgstr "Ред:" + +#, fuzzy +#~ msgid "" +#~ "Deny authorization from contact so the contact cannot know if you are " +#~ "connected" +#~ msgstr "" +#~ "Отказване на упълномощаване на контакт, така че да не знае кога сте " +#~ "свързани" + +#, fuzzy +#~ msgid "Authorize contact so the contact can know if you are connected" +#~ msgstr "Упълномощаване на контакта, така че да знае кога сте свързани" + +#, fuzzy +#~ msgid "Contact List Shortcuts" +#~ msgstr "Изключване на контакт" + +#~ msgid "Fill in the form." +#~ msgstr "Попълнете формуляра." + +#~ msgid "Set an activity" +#~ msgstr "Задаване на дейност" + +#~ msgid "Message: " +#~ msgstr "Съобщение:" + +#, fuzzy, python-format +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "%(contact_jid)s е поканен в %(room_jid)s." + +#, fuzzy +#~ msgid "Group Chat Invitation " +#~ msgstr "Покана за разговор в стая" + +#, python-format +#~ msgid "Comment: %s" +#~ msgstr "Коментар: %s" + +#, fuzzy +#~ msgid "Off" +#~ msgstr "Изключен" + +#, fuzzy +#~ msgid "Retrieving profile…" +#~ msgstr "Извличане на профила…" + +#, fuzzy +#~ msgid "Wrong date format" +#~ msgstr "Информация за контакта" + +#, fuzzy +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "Формат: гггг-мм-дд" + +#~ msgid "Information received" +#~ msgstr "Получена информация" + +#, fuzzy +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "Трябва да сте свързани, за да публикувате визитката." + +#, fuzzy +#~ msgid "Sending profile…" +#~ msgstr "Изпращане на профила…" + +#~ msgid "Information NOT published" +#~ msgstr "Информацията НЕ Е публикувана" + +#~ msgid "vCard publication failed" +#~ msgstr "Неуспех при публикуването на визитката" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "" +#~ "Възникна грешка при публикуване на личните данни, опитайте отново по-" +#~ "късно." + +#, fuzzy +#~ msgid "?password:Hidden" +#~ msgstr "Парола:" + +#, python-format +#~ msgid "Privacy List %s" +#~ msgstr "Филтър за уединение %s" + +#, python-format +#~ msgid "Privacy List for %s" +#~ msgstr "Филтър за уединение за %s" + +#, python-format +#~ msgid "" +#~ "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" +#~ msgstr "" +#~ "Ред: %(order)s, действие: %(action)s, вид: %(type)s, стойност: %(value)s" + +#, python-format +#~ msgid "Order: %(order)s, action: %(action)s" +#~ msgstr "Ред: %(order)s, действие: %(action)s" + +#~ msgid "Edit a rule" +#~ msgstr "Редактиране на правило" + +#~ msgid "Add a rule" +#~ msgstr "Добавяне на правило" + +#, python-format +#~ msgid "Privacy Lists for %s" +#~ msgstr "Филтри за уединение за %s" + +#~ msgid "Invalid List Name" +#~ msgstr "Невалидно име на филтър" + +#~ msgid "You must enter a name to create a privacy list." +#~ msgstr "Трябва да въведете име, за да се създаде филтър за уединение." + +#, fuzzy +#~ msgid "Loading" +#~ msgstr "Програмирам" + +#~ msgid "status message title" +#~ msgstr "заглавие на съобщението за състояние" + +#~ msgid "status message text" +#~ msgstr "текст на съобщението за състояние" + +#, fuzzy +#~ msgid "Start New Conversation" +#~ msgstr "Продължен разговор" + +#~ msgid "Unknown SSL error: %d" +#~ msgstr "Неизвестна грешка на SSL: %d" + +#~ msgid "Gajim - %s" +#~ msgstr "Gajim - %s" + +#~ msgid "Choose interval between 2 checks of idleness." +#~ msgstr "Интервал между две проверки за липса на активност." + +#, fuzzy +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "Няма наличен речник за %s език" + +#, fuzzy +#~ msgid "" +#~ "You have to install the dictionary \"%s\" to use spellchecking, or choose " +#~ "another language by setting the speller_language option.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "За да използвате проверката за правопис, трябва да инсталирате речник за " +#~ "%s или да изберете друг език чрез настройването на опцията " +#~ "„speller_language“.\n" +#~ "\n" +#~ "Функционалността за осветяване на сгрешени думи ще е изключена" + +#, fuzzy +#~ msgid "_Reconnect" +#~ msgstr "_Изключване" + +#, fuzzy +#~ msgid "Quit" +#~ msgstr "_Изход" + +#, fuzzy +#~ msgid "Show Contact List" +#~ msgstr "Показване на изкл_ючените контакти" + +#, fuzzy +#~ msgid "Add to Contact List" +#~ msgstr "_Добавяне на контакт…" + +#, fuzzy +#~ msgid "Invite Contact" +#~ msgstr "Покана на _контакти" + +#, fuzzy +#~ msgid "Configure Group Chat" +#~ msgstr "Излизане от стаите" + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." +#~ msgstr "" +#~ "Ако е активирана, ще се изобразява икона във всеки подпрозорец, съдържащ " +#~ "непрочетени съобщения. В зависимост от темата иконата може да бъде " +#~ "анимирана." + +#~ msgid "Invalid character in hostname." +#~ msgstr "Невалиден символ в името на хоста." + +#~ msgid "Server address required." +#~ msgstr "Необходим е адрес на сървъра." + +#~ msgid "Invalid character in username." +#~ msgstr "Невалиден символ в потребителското име." + +#~ msgid "Invalid character in resource." +#~ msgstr "Невалиден символ в ресурса." + +#, fuzzy +#~ msgid "Notification color for contacts signing in." +#~ msgstr "Уведомяване за _включващи се контакти" + +#, fuzzy +#~ msgid "Notification color for contacts signing out." +#~ msgstr "Уведомяване за _изключващи се контакти" + +#, fuzzy +#~ msgid "Notification color for new message notification." +#~ msgstr "Показване на нови съобщения в изскачащ прозорец?" + +#, fuzzy +#~ msgid "Notification color for file transfer request." +#~ msgstr "_Уведомяване при завършване на файловия трансфер" + +#, fuzzy +#~ msgid "Notification color for file transfer errors." +#~ msgstr "_Уведомяване при завършване на файловия трансфер" + +#, fuzzy +#~ msgid "Notification background color for changed status." +#~ msgstr "Цвят на фона на контактите, които се включват." + +#, fuzzy +#~ msgid "Event Type" +#~ msgstr "Събитие" + +#, fuzzy +#~ msgid "Event desc" +#~ msgstr "Събитие" + +#, fuzzy +#~ msgid "No response from the Server" +#~ msgstr "Не сте свързани към сървъра." + +#~ msgid "Resource Conflict" +#~ msgstr "Конфликт на ресурсите" + +#, fuzzy +#~ msgid "" +#~ "You are already connected to this account with the same resource. Please " +#~ "enter a different one." +#~ msgstr "Вече сте свързани към този акаунт със същия ресурс. Въведете нов." + +#, fuzzy +#~ msgid "Unable to load image" +#~ msgstr "Неуспех при зареждането на модула „idle“" + +#, fuzzy +#~ msgid "Media type not supported: %s" +#~ msgstr "Състоянието „Невидим“ не се поддържа." + +#~ msgid "new@jabber.id" +#~ msgstr "new@jabber.id" + +#~ msgid "new%d@jabber.id" +#~ msgstr "new%d@jabber.id" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Gajim: Помощник за създаване на акаунт" + +#, fuzzy +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "Трябва да имате акаунт, за да се свържете с\n" +#~ "мрежата на Джабър." + +#~ msgid "I already have an account I want to _use" +#~ msgstr "_Вече имам регистриран акаунт, който искам да използвам" + +#~ msgid "I want to _register for a new account" +#~ msgstr "_Искам да регистрирам нов акаунт" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "Изберете една от опциите по-долу:" + +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "Попълнете данните за съществуващия ви акаунт" + +#, fuzzy +#~ msgid "_XMPP Address:" +#~ msgstr "Адрес на AIM:" + +#, fuzzy +#~ msgid "Anon_ymous authentication" +#~ msgstr "Използване на удостоверяване" + +#~ msgid "_Password:" +#~ msgstr "_Парола:" + +#~ msgid "Save pass_word" +#~ msgstr "Запазване на паро_ла" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "Ако тази опция е избрана, ще се запомни паролата за този акаунт." + +#~ msgid "Please select a server" +#~ msgstr "Изберете сървър" + +#~ msgid "_Server:" +#~ msgstr "С_ървър:" + +#~ msgid "Manage..." +#~ msgstr "Управление на…" + +#~ msgid "_Port:" +#~ msgstr "По_рт:" + +#~ msgid "_Advanced" +#~ msgstr "На_преднали" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA1 fingerprint of the certificate:\n" +#~ msgstr "" +#~ "Добавяне на този сертификат към списъка с доверени сертификати.\n" +#~ "Отпечатък тип SHA1 на сертификата:\n" + +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "Свързване със сървъра\n" +#~ "\n" +#~ "Изчакайте…" + +#~ msgid "Connect when I press Finish" +#~ msgstr "Свързване при натискане на бутона „Приключване“" + +#~ msgid "Set my profile when I connect" +#~ msgstr "Настройване на профила при свързване" + +#~ msgid "_Finish" +#~ msgstr "_Приключване" + +#, fuzzy +#~ msgid "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." +#~ msgstr "" +#~ "Може да настроите допълнителните опции, като натиснете бутона " +#~ "„Напреднали“ или по-късно от менюто „Редактиране“->„Акаунти“ в основния " +#~ "прозорец." + +#~ msgid "Your new account has been created successfully" +#~ msgstr "Новият акаунт беше създаден успешно" + +#~ msgid "Invalid username" +#~ msgstr "Невалидно потребителско име" + +#~ msgid "You must provide a username to configure this account." +#~ msgstr "Трябва да въведете име на потребител за новия акаунт." + +#~ msgid "Invalid server" +#~ msgstr "Невалиден сървър" + +#~ msgid "Please provide a server on which you want to register." +#~ msgstr "Задайте сървър, където искате да се регистрирате." + +#~ msgid "Invalid entry" +#~ msgstr "Невалиден формат" + +#~ msgid "Certificate Already in File" +#~ msgstr "Сертификатът вече е във файла" + +#~ msgid "This certificate is already in file %s, so it's not added again." +#~ msgstr "" +#~ "Този сертификат вече е във файла „%s“, така че няма да бъде добавен " +#~ "наново." + +#~ msgid "" +#~ "Security Warning\n" +#~ "\n" +#~ "The authenticity of the %(hostname)s SSL certificate could be invalid.\n" +#~ "SSL Error: %(error)s\n" +#~ "Do you still want to connect to this server?" +#~ msgstr "" +#~ "Предупреждение за сигурността\n" +#~ "\n" +#~ "Автентичността на сертификата на %(hostname)s е под въпрос.\n" +#~ "Грешка на SSL: %(error)s\n" +#~ "Все още ли искате да се свържете с този сървър?" + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA-256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Добавяне на този сертификат към списъка с доверени сертификати.\n" +#~ "Отпечатък тип SHA1 на сертификата:\n" +#~ "%s" + +#~ msgid "Account name is in use" +#~ msgstr "Името на акаунта се използва" + +#~ msgid "You already have an account using this name." +#~ msgstr "Вече има регистриран акаунт с това име." + +#~ msgid "Show a warning dialog before using standard SSL library." +#~ msgstr "" +#~ "Показване на предупреждение преди използване на стандартната библиотека " +#~ "на SSL." + +#~ msgid "Connection with account \"%s\" has been lost" +#~ msgstr "Връзката на акаунт „%s“ се разпадна" + +#~ msgid "Reconnect manually." +#~ msgstr "Свържете се наново." + +#~ msgid "Server %(name)s answered wrongly to register request: %(error)s" +#~ msgstr "" +#~ "Сървърът „%(name)s“ отговори погрешно на запитването за регистрация: " +#~ "%(error)s" + +#~ msgid "Server %s provided a different registration form" +#~ msgstr "Сървърът „%s“ предостави различна форма за регистрация" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "Неуспех при свързване с „%s“" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "Неуспех при свързване с „%s“" + +#~ msgid "Check your connection or try again later." +#~ msgstr "Проверете връзката или опитайте отново по-късно." + +#, fuzzy +#~ msgid "Server replied: %s" +#~ msgstr "Запазен в: %s" + +#~ msgid "Connection to proxy failed" +#~ msgstr "Неуспех при свързването със сървъра-посредник" + +#~ msgid "Could not connect to account %s" +#~ msgstr "Неуспех при свързване с акаунт „%s“" + +#~ msgid "Connection with account %s has been lost. Retry connecting." +#~ msgstr "Връзката на акаунт „%s“ се разпадна. Опит за повторно свързване." + +#~ msgid "Please check your login and password for correctness." +#~ msgstr "Проверете дали името и паролата са правилни." + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "" +#~ "Свързване по HTTP\n" +#~ "SOCKS5" + +#, fuzzy +#~ msgid "Warn on insecure connection" +#~ msgstr "Предупре_ждаване преди използване на несигурна връзка" + +#, fuzzy +#~ msgid "Contact list, list of contacts" +#~ msgstr "Запазване на промените на _състоянията на контактите" + +#~ msgid "You are participating in one or more group chats" +#~ msgstr "Участвате в една или повече стаи" + +#, fuzzy +#~ msgid "" +#~ "Changing your status to invisible will result in you leaving those group " +#~ "chats.\n" +#~ "Are you sure you want to go invisible?" +#~ msgstr "" +#~ "Промяната на състоянието до „Невидим“ ще ви изключи от тези стаи. Сигурни " +#~ "ли сте, че искате да станете „Невидим“?" + +#~ msgid "_Disconnect" +#~ msgstr "_Изключване" + +#~ msgid "You cannot join a group chat while you are invisible" +#~ msgstr "Не може да влезете в стая, докато сте невидими." + +#~ msgid "Invisible" +#~ msgstr "Невидим" + +#, fuzzy +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "Не може да влезете в стая, докато сте невидими." + +#~ msgid "_Invisible" +#~ msgstr "Не_видим" + +#, fuzzy +#~ msgid "Yesterday" +#~ msgid_plural "%(nb_days)i days ago" +#~ msgstr[0] "Вчера" +#~ msgstr[1] "Вчера" + +#, fuzzy +#~ msgid "_Cancel Upload" +#~ msgstr "_Отказ" + +#~ msgid " [blocked]" +#~ msgstr " [блокиран]" + +#~ msgid " [minimized]" +#~ msgstr " [минимизиран]" + +#, fuzzy +#~ msgid "" +#~ "If you close this tab while having chat history disabled, this message " +#~ "will be lost." +#~ msgstr "" +#~ "Ако затворите този прозорец и нямате включена опция за запазване на " +#~ "историята, съобщението ще бъде загубено." + +#, fuzzy +#~ msgid "Unregister Failed" +#~ msgstr "Неуспех при свързването" + +#, fuzzy +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "Неуспех при свързването със сървъра-посредник" + +#, fuzzy +#~ msgid "New Password" +#~ msgstr "Запазване на паролата" + +#~ msgid "What do you want to do?" +#~ msgstr "Какво искате да направите?" + +#~ msgid "Remove account from Gajim and from _server" +#~ msgstr "Премахване на акаунт от Gajim и от с_ървъра" + +#, fuzzy +#~ msgid "You must enter a password" +#~ msgstr "Трябва да въведете парола." + +#, fuzzy +#~ msgid "You still have open chats in your account %s" +#~ msgstr "Имате активни разговори за акаунт „%s“" + +#, fuzzy +#~ msgid "To unregister from a server, the account must be enabled." +#~ msgstr "Трябва да сте изключени, за да смените името на акаунта." + +#, fuzzy +#~ msgid "Password required" +#~ msgstr "Необходима е парола" + +#, fuzzy +#~ msgid "Still connected to the server" +#~ msgstr "Не сте свързани към сървъра." + +#, fuzzy +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "Ако го премахнете, връзката ще се разпадне." + +#, fuzzy +#~ msgid "Connection to server %s failed" +#~ msgstr "Неуспех при свързването със сървъра-посредник" + +#, fuzzy +#~ msgid "What would you like to do?" +#~ msgstr "Какво искате да направите?" + +#, fuzzy +#~ msgid "Remove only from Gajim" +#~ msgstr "Премахване на акаунт _само от Gajim" + +#, fuzzy +#~ msgid "Contents" +#~ msgstr "_Ръководства" + +#, fuzzy +#~ msgid "FAQ" +#~ msgstr "_ЧЗВ" + +#~ msgid "Save as Preset Status Message" +#~ msgstr "Запазване като настроено съобщение за състояние" + +#~ msgid "Enter a new nickname for contact %s" +#~ msgstr "Въведете нов псевдоним за контакт „%s“" + +#, fuzzy +#~ msgid "Join a group chat" +#~ msgstr "в _стаи" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "_Акаунти" + +#~ msgid "New entry received" +#~ msgstr "Получен е нов запис" + +#~ msgid "You have received new entry:" +#~ msgstr "Получихте нов запис:" + +#~ msgid "Feed name:" +#~ msgstr "Име на емисията:" + +#~ msgid "Last modified:" +#~ msgstr "Последно променена:" + +#, fuzzy +#~ msgid "Send file?" +#~ msgstr "Изпращане на _файл" + +#, fuzzy +#~ msgid "Mail _client" +#~ msgstr "_Програма за е-поща:" + +#, fuzzy +#~ msgid "_Browser" +#~ msgstr "Интернет _браузър:" + +#, fuzzy +#~ msgid "_File manager" +#~ msgstr "_Файлов мениджър:" + +#, fuzzy +#~ msgid "Applications" +#~ msgstr "Програми" + +#, fuzzy +#~ msgid "" +#~ "Uses ReStructured text markup to send HTML, plus ASCII formatting if " +#~ "selected. Needs docutils installed (for syntax, see http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Ако е избрана, използва реструктуриран текст за изпращане на HTML и " +#~ "форматиране в ASCII, ако е указано. За синтаксиса, вижте http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html (Ако искате да " +#~ "използвате това, инсталирайте docutils)" + +#, fuzzy +#~ msgid "_Ignore formatting of incoming messages" +#~ msgstr "_Пренебрегване на излишно форматиране на входящите съобщения" + +#, fuzzy +#~ msgid "" +#~ "Some messages may include rich content (xhtml formatting, colors etc). If " +#~ "checked, Gajim will just display the plain message text." +#~ msgstr "" +#~ "Някои съобщения могат да включват „rich content“ (форматиране, цветове и " +#~ "т.н.). Ако тази опция е избрана, Gajim ще изобразява само обикновения " +#~ "текст." + +#, fuzzy +#~ msgid "RST XHTML Generator" +#~ msgstr "Генератор на RST" + +#, fuzzy +#~ msgid "Requires: python-docutils" +#~ msgstr "Изисква python-docutils." + +#~ msgid "New Single Message" +#~ msgstr "Ново еднократно съобщение" + +#, fuzzy +#~ msgid "" +#~ "Can be empty, 'chat' or 'normal'. If not empty, all incoming messages are " +#~ "treated as if they were of this type." +#~ msgstr "" +#~ "Може да е празно, „chat“ или „normal“. Ако не е празно, всички входящи " +#~ "съобщения се третират като от указания тип." + +#~ msgid "Error %(code)s: %(msg)s" +#~ msgstr "Грешка %(code)s: %(msg)s" + +#~ msgid "twelve" +#~ msgstr "дванадесет" + +#~ msgid "one" +#~ msgstr "един" + +#~ msgid "two" +#~ msgstr "два" + +#~ msgid "three" +#~ msgstr "три" + +#~ msgid "four" +#~ msgstr "четири" + +#~ msgid "five" +#~ msgstr "пет" + +#~ msgid "six" +#~ msgstr "шест" + +#~ msgid "seven" +#~ msgstr "седем" + +#~ msgid "eight" +#~ msgstr "осем" + +#~ msgid "nine" +#~ msgstr "девет" + +#~ msgid "ten" +#~ msgstr "десет" + +#~ msgid "eleven" +#~ msgstr "единадесет" + +#~ msgid "%(0)s o'clock" +#~ msgstr "%(0)s часа" + +#~ msgid "five past %(0)s" +#~ msgstr "%(0)s и пет" + +#~ msgid "ten past %(0)s" +#~ msgstr "%(0)s и десет" + +#~ msgid "quarter past %(0)s" +#~ msgstr "%(0)s и петнадесет" + +#~ msgid "twenty past %(0)s" +#~ msgstr "%(0)s и двадесет" + +#~ msgid "twenty five past %(0)s" +#~ msgstr "%(0)s и двадесет и пет" + +#~ msgid "half past %(0)s" +#~ msgstr "%(0)s и половина" + +#~ msgid "twenty five to %(1)s" +#~ msgstr "%(1)s без двадесет и пет" + +#~ msgid "twenty to %(1)s" +#~ msgstr "%(1)s без двадесет" + +#~ msgid "quarter to %(1)s" +#~ msgstr "%(1)s без петнадесет" + +#~ msgid "ten to %(1)s" +#~ msgstr "%(1)s без десет" + +#~ msgid "five to %(1)s" +#~ msgstr "%(1)s без пет" + +#~ msgid "%(1)s o'clock" +#~ msgstr "%(1)s часа" + +#~ msgid "Night" +#~ msgstr "Нощ" + +#~ msgid "Early morning" +#~ msgstr "Рано сутрин" + +#~ msgid "Morning" +#~ msgstr "Сутрин" + +#~ msgid "Almost noon" +#~ msgstr "Почти обед" + +#~ msgid "Noon" +#~ msgstr "Обед" + +#~ msgid "Afternoon" +#~ msgstr "Следобед" + +#~ msgid "Evening" +#~ msgstr "Вечер" + +#~ msgid "Late evening" +#~ msgstr "Късно вечер" + +#~ msgid "Start of week" +#~ msgstr "Началото на седмицата" + +#~ msgid "Middle of week" +#~ msgstr "Средата на седмицата" + +#~ msgid "End of week" +#~ msgstr "Края на седмицата" + +#~ msgid "Weekend!" +#~ msgstr "Събота и неделя!" + +#, fuzzy +#~ msgid "" +#~ "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or " +#~ "0 to disable Fuzzy Clock. 1 is the most precise clock, 4 the least " +#~ "precise one. This is used only if 'print_time' is 'sometimes'." +#~ msgstr "" +#~ "Изписване на часа при разговорите чрез „Относителен часовник“. Стойността " +#~ "на относителността е от 1 до 4, или 0 за премахването на относителния " +#~ "часовник. 1 е най-прецизния часовник, 4 е най-относителния. Това е в сила " +#~ "само ако опцията „print_time“ е настроена на „sometimes“." + +#~ msgid "message" +#~ msgstr "съобщение" + +#, fuzzy +#~ msgid "error: %s" +#~ msgstr "Грешка: %s" + +#, fuzzy +#~ msgid "Form: %s" +#~ msgstr "От %s" + +#, fuzzy +#~ msgid "XML Input" +#~ msgstr "Вход в XML формат" + +#, fuzzy +#~ msgid "Ttitle" +#~ msgstr "Заглавие:" + +#, fuzzy +#~ msgid "%(type)s encryption is active %(authenticated)s" +#~ msgstr "" +#~ "Шифрирането чрез %(type)s %(status)s включено %(authenticated)s.\n" +#~ "%(logged)s се запазва дневник за сесията." + +#, fuzzy +#~ msgid "Screen" +#~ msgstr "зелена" + +#~ msgid "Conversation with " +#~ msgstr "Разговор с " + +#~ msgid "Continued conversation" +#~ msgstr "Продължен разговор" + +#, fuzzy +#~ msgid "%s has invited you to join a discussion" +#~ msgstr "$Contact ви покани да се присъедините към дискусия" + +#~ msgid "_Send Private Message" +#~ msgstr "_Изпращане на лично съобщение" + +#, fuzzy +#~ msgid "Participant Actions" +#~ msgstr "Участници" + +#~ msgid "_Voice" +#~ msgstr "_Глас" + +#~ msgid "Mo_derator" +#~ msgstr "_Председател" + +#~ msgid "_Member" +#~ msgstr "_Член" + +#~ msgid "_Admin" +#~ msgstr "_Администратор" + +#~ msgid "_Owner" +#~ msgstr "Со_бственик" + +#, fuzzy +#~ msgid "_Add to Contact List" +#~ msgstr "_Добавяне на контакт…" + +#, fuzzy +#~ msgid "_Execute command" +#~ msgstr "_Изпълнение на команда" + +#~ msgid "Change _Nickname..." +#~ msgstr "Смяна на псе_вдоним…" + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "_Нова стая" + +#~ msgid "Change _Subject..." +#~ msgstr "Промяна на _темата…" + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "_Влизане в стая…" + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "_Нова стая" + +#~ msgid "_Minimize on close" +#~ msgstr "_Минимизиране при затваряне" + +#, fuzzy +#~ msgid "_Request Voice" +#~ msgstr "_Глас" + +#~ msgid "_Bookmark" +#~ msgstr "_Добавяне на стаята към отметките" + +#, fuzzy +#~ msgid "The authenticity of the %s certificate could be invalid" +#~ msgstr "Автентичността на сертификата на %s може да е под въпрос." + +#~ msgid "" +#~ "\n" +#~ "Unknown SSL error: %d" +#~ msgstr "" +#~ "\n" +#~ "Неизвестна грешка на SSL: %d" + +#~ msgid "" +#~ "\n" +#~ "SSL Error: %s" +#~ msgstr "" +#~ "\n" +#~ "Грешка на SSL: %s" + +#~ msgid "Error verifying SSL certificate" +#~ msgstr "Грешка при проверка на сертификата на SSL" + +#, fuzzy +#~ msgid "View certificate…" +#~ msgstr "Само-подписан сертификат" + +#, fuzzy +#~ msgid "Continue" +#~ msgstr "П_родължаване" + +#~ msgid "" +#~ "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM " +#~ "IS RUNNING)" +#~ msgstr "" +#~ "Искате ли да изчистите базата от данни? (ИЗОБЩО НЕ СЕ ПРЕПОРЪЧВА АКО " +#~ "GAJIM Е СТАРТИРАН)" + +#, fuzzy +#~ msgid "Authorization" +#~ msgstr "Упълномощаването беше изпратено" + +#, fuzzy +#~ msgid "" +#~ "All chat and group chat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Всички прозорци за разговори и стаи ще бъдат затворени. Искате ли да " +#~ "продължите?" + +#, fuzzy +#~ msgid "Account '%s' is still connected to the server" +#~ msgstr "Акаунт „%s“ е свързан към сървъра" + +#, fuzzy +#~ msgid "Error While Saving" +#~ msgstr "Грешка при добавянето на услугата. %s" + +#, fuzzy +#~ msgid "" +#~ "Image cannot be saved in %(type)s format.\n" +#~ "Save as %(new_filename)s?" +#~ msgstr "" +#~ "Изображението не може да бъде запазено във формат %(type)s. Запазване " +#~ "като %(new_filename)s?" + +#, fuzzy +#~ msgid "Save _As" +#~ msgstr "имам " + +#~ msgid "Yes, I really want to connect insecurely" +#~ msgstr "Да, наистина искам да се свържа по несигурен начин" + +#, fuzzy +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "Невалиден Jabber ID на стая" + +#, fuzzy +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "Jabber ID на стаята съдържа непозволени знаци." + +#~ msgid "You may specify a reason below:" +#~ msgstr "Може да уточните причина по-долу:" + +#~ msgid "Banning %s" +#~ msgstr "Отлъчване на %s" + +#, fuzzy +#~ msgid "" +#~ "Always ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Винаги да се пита преди затваряне на подпрозорец/прозорец на стая от този " +#~ "списък с адреси на стаи." + +#, fuzzy +#~ msgid "" +#~ "Never ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Никога да не се пита преди затваряне на подпрозорец/прозорец на стая от " +#~ "този списък с адреси на стаи." + +#, fuzzy +#~ msgid "Leave Group Chats" +#~ msgstr "Излизане от стаите" + +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "%(nickname)s от стая %(room_jid)s" + +#, fuzzy +#~ msgid "You have not joined a group chat." +#~ msgstr "Не сте влезли в стая." + +#, fuzzy +#~ msgid "You left the following group chats:" +#~ msgstr "Напуснахте следните стаи:" + +#~ msgid "Don't show avatar for the transport itself." +#~ msgstr "Да не се показва аватара на транспорта." + +#, fuzzy +#~ msgid "" +#~ "Show a confirmation dialog for a custom status? Empty string means never " +#~ "show the dialog." +#~ msgstr "" +#~ "Да се показва ли диалогов прозорец за потвърждение при създаване на мета-" +#~ "контакти? Празен низ означава никога да не се показва диалогов прозорец." + +#, fuzzy +#~ msgid "" +#~ "If enabled, notification windows from notification-daemon will be " +#~ "attached to the notification area icon." +#~ msgstr "" +#~ "Ако активирана, прозорците за уведомления от „notification-daemon“ ще " +#~ "бъдат прикрепени към иконата в областта за уведомяване." + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending PLAIN password over a plain " +#~ "connection." +#~ msgstr "" +#~ "Показване на предупреждение преди изпращане на паролата при нешифрирана " +#~ "връзка." + +#, fuzzy +#~ msgid "Jabberd2 workaround." +#~ msgstr "Заобикалка заради Jabberd2" + +#, fuzzy +#~ msgid "Configure Services…" +#~ msgstr "Настройване на услуги…" + +#, fuzzy +#~ msgid "Group Chat Bookmarks" +#~ msgstr "С_тая" + +#, fuzzy +#~ msgid "Add Bookmark" +#~ msgstr "_Добавяне на стаята към отметките" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "_Добавяне на стаята към отметките" + +#, fuzzy +#~ msgid "_Server" +#~ msgstr "С_ървър:" + +#, fuzzy +#~ msgid "_Password" +#~ msgstr "_Парола:" + +#, fuzzy +#~ msgid "Join chat when connected" +#~ msgstr "Изключване на контакт" + +#~ msgid "New Group Chat" +#~ msgstr "Нова стая" + +#~ msgid "This bookmark has invalid data" +#~ msgstr "Тази отметка съдържа невалидни данни" + +#, fuzzy +#~ msgid "" +#~ "Please be sure to fill out server and group chat fields or remove this " +#~ "bookmark." +#~ msgstr "Попълнете полетата за сървър и стая или изтрийте тази отметка." + +#, fuzzy +#~ msgid "Character not allowed" +#~ msgstr "Псевдонимът не е позволен: %s" + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "Невалиден Jabber ID на стая" + +#~ msgid "Unable to join group chat" +#~ msgstr "Неуспех при влизането в стаята" + +#, fuzzy +#~ msgid "You are banned from group chat %s." +#~ msgstr "Вие сте отлъчени от стаята %s." + +#, fuzzy +#~ msgid "Remote server %s does not exist." +#~ msgstr "Стаята %s не съществува." + +#, fuzzy +#~ msgid "Group chat %s does not exist." +#~ msgstr "Стаята %s не съществува." + +#, fuzzy +#~ msgid "Group chat creation is not permitted." +#~ msgstr "Създаването на стаи е ограничено." + +#, fuzzy +#~ msgid "You must use your registered nickname in %s." +#~ msgstr "Трябва да се използва регистрирания ви псевдоним в стаята %s." + +#, fuzzy +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "Не сте в списъка с членове на стаята %s." + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "Това не е стая" + +#~ msgid "This is not a group chat" +#~ msgstr "Това не е стая" + +#, fuzzy +#~ msgid "Please choose a group chat" +#~ msgstr "Създайте нова тема с желаното име." + +#~ msgid "Invalid Nickname" +#~ msgstr "Невалиден псевдоним" + +#, fuzzy +#~ msgid "Wrong server" +#~ msgstr "Грешен адрес" + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "Това не е стая" + +#, fuzzy +#~ msgid "A Password is required to join the group chat %s. Please type it." +#~ msgstr "Необходима е парола за влизане в стаята „%s“. Въведете я." + +#~ msgid "Not in Roster" +#~ msgstr "Не е в списъка" + +#~ msgid "I would like to add you to my roster" +#~ msgstr "" +#~ "Бих искал(а) да Ви добавя към списъка си. I would like to add you to my " +#~ "roster." + +#, fuzzy +#~ msgid "Add to Roster" +#~ msgstr "Добавяне към _списъка…" + +#, fuzzy +#~ msgid "Manage Room" +#~ msgstr "_Управление на стаята" + +#, fuzzy +#~ msgid "Configure Room" +#~ msgstr "Настройки на _стаята…" + +#, fuzzy +#~ msgid "Destroy Room" +#~ msgstr "_Унищожаване на стаята" + +#, fuzzy +#~ msgid "Change Nick" +#~ msgstr "Смяна на псе_вдоним…" + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "_Изключване" + +#, fuzzy +#~ msgid "Copy JID" +#~ msgstr "JID на стая" + +#, fuzzy +#~ msgid "Add to Roster…" +#~ msgstr "Добавяне към _списъка…" + +#, fuzzy +#~ msgid "Copy JID/Email" +#~ msgstr "Копиране на _JID/Е-поща" + +#, fuzzy +#~ msgid "JID: %s" +#~ msgstr "Jabber ID: %s" + +#~ msgid "Changing Subject" +#~ msgstr "Промяна на темата" + +#~ msgid "Please specify the new subject:" +#~ msgstr "Въведете новата тема:" + +#~ msgid "Room logging is now enabled" +#~ msgstr "Воденето на дневник на стаята е включено" + +#~ msgid "Room logging is now disabled" +#~ msgstr "Воденето на дневник на стаята е изключено" + +#, fuzzy +#~ msgid "You (%s) joined the room" +#~ msgstr "%s влезе в стаята" + +#~ msgid "Room logging is enabled" +#~ msgstr "Воденето на дневник на стаята е включено" + +#, fuzzy +#~ msgid "Unable to join groupchat" +#~ msgstr "Неуспех при влизането в стаята" + +#~ msgid "Groupchat Invitation" +#~ msgstr "Покана за разговор в стая" + +#, fuzzy +#~ msgid "%(jid)s has been invited in this room" +#~ msgstr "%(nick)s беше изритан от стаята (%(reason)s)" + +#, fuzzy +#~ msgid "JID is not a Groupchat" +#~ msgstr "Това не е стая" + +#~ msgid "Invalid JID" +#~ msgstr "Невалиден JID" + +#~ msgid "A connection is not available" +#~ msgstr "В момента няма връзка" + +#, fuzzy +#~ msgid "JID already in list" +#~ msgstr "В списъка вече има такъв Jabber ID" + +#, fuzzy +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "В момента няма връзка" + +#~ msgid "Removes contact from roster" +#~ msgstr "Премахване на контакт от списъка" + +#~ msgid "Not in roster" +#~ msgstr "Не е в списъка" + +#, fuzzy +#~ msgid "Contact signed in notification color." +#~ msgstr "Показване на събитието в спис_ъка" + +#, fuzzy +#~ msgid "Contact signout notification color" +#~ msgstr "Показване на събитието в спис_ъка" + +#, fuzzy +#~ msgid "File transfer request notification color." +#~ msgstr "Запитване за файлов трансфер" + +#, fuzzy +#~ msgid "File transfer error notification color." +#~ msgstr "Файловият трансфер е прекъснат" + +#, fuzzy +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "" +#~ "Уведомяване чрез изскачащ прозорец при завършване на файловия трансфер" + +#, fuzzy +#~ msgid "Groupchat invitation notification color" +#~ msgstr "Покана за разговор в стая" + +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "Добавяне на * и [n] към заглавието на списъка?" + +#~ msgid "Hides the banner in two persons chat window" +#~ msgstr "Скрива лентата в прозорец за разговор с два контакта" + +#, fuzzy +#~ msgid "" +#~ "Show the confirm metacontacts creation dialog or not? Empty string means " +#~ "never show the dialog." +#~ msgstr "" +#~ "Да се показва ли диалогов прозорец за потвърждение при създаване на мета-" +#~ "контакти? Празен низ означава никога да не се показва диалогов прозорец." + +#~ msgid "Space separated list of ssl errors to ignore." +#~ msgstr "" +#~ "Списък (разделен с шпации) от грешки на SSL, които да се пренебрегват." + +#~ msgid "Answer to receipt requests" +#~ msgstr "Отговор на заявки" + +#, fuzzy +#~ msgid "Language for which misspelled words will be checked" +#~ msgstr "Език, за който желаете да се проверяват сгрешените думи." + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "Хапвам, така че ми оставете съобщение." + +#, fuzzy +#~ msgid "from room %s" +#~ msgstr " от стая %s" + +#~ msgid "Leave Groupchats" +#~ msgstr "Излизане от стаите" + +#, fuzzy +#~ msgid "Auto Join" +#~ msgstr "Автоматично влизане" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "Стая:" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#~ msgid "Occupant Actions" +#~ msgstr "_Действия на участника" + +#~ msgid "_Add to Roster" +#~ msgstr "Добавяне към _списъка…" + +#~ msgid "_Manage Room" +#~ msgstr "_Управление на стаята" + +#~ msgid "Configure _Room..." +#~ msgstr "Настройки на _стаята…" + +#~ msgid "_Destroy Room" +#~ msgstr "_Унищожаване на стаята" + +#, fuzzy +#~ msgid "Jabber ID" +#~ msgstr "Jabber ID:" + +#, fuzzy +#~ msgid "account" +#~ msgstr "Акаунт" + +#, fuzzy +#~ msgid "Roster" +#~ msgstr "П_оказване на списъка" + +#, fuzzy +#~ msgid "Show only in roster" +#~ msgstr "Показване на събитието в спис_ъка" + +#~ msgid "in _roster" +#~ msgstr "в с_писъка" + +#, fuzzy +#~ msgid "Roster Appearance" +#~ msgstr "Изглед на списъка" + +#~ msgid "_Add to Roster..." +#~ msgstr "Добавяне към _списъка…" + +#~ msgid "_Jabber ID:" +#~ msgstr "_Jabber ID:" + +#, fuzzy +#~ msgid "_Jabber ID" +#~ msgstr "_Jabber ID:" + +#~ msgid "JabberID" +#~ msgstr "Jabber ID" + +#, fuzzy +#~ msgid "Show Roster" +#~ msgstr "П_оказване на списъка" + +#~ msgid "MUC server" +#~ msgstr "Сървър за стаи" + +#~ msgid "Room Configuration" +#~ msgstr "Настройки на стаята" + +#~ msgid "Join _Group Chat" +#~ msgstr "_Влизане в стая" + +#, fuzzy +#~ msgid "Audio sessions are not available" +#~ msgstr "В момента няма връзка" + +#~ msgid "Conference" +#~ msgstr "Стаи за разговор" + +#, fuzzy +#~ msgid "_Manage Bookmarks…" +#~ msgstr "Управление на отметките" + +#, fuzzy +#~ msgid "Hide _Roster" +#~ msgstr "в с_писъка" + +#~ msgid "Show _Roster" +#~ msgstr "П_оказване на списъка" + +#, fuzzy +#~ msgid "Invalid Room" +#~ msgstr "Невалиден формат" + +#, fuzzy +#~ msgid "Invalid room" +#~ msgstr "Невалиден формат" + +#~ msgid "A GTK+ Jabber client" +#~ msgstr "Джабър клиент за GTK+" + +#~ msgid "Changing Nickname" +#~ msgstr "Промяна на псевдонима" + +#~ msgid "Please specify the new nickname you want to use:" +#~ msgstr "Въведете новия псевдоним, който искате да използвате:" + +#~ msgid "Bookmark already set" +#~ msgstr "Отметката вече е установена" + +#, fuzzy +#~ msgid "Group Chat '%s' is already in your bookmarks." +#~ msgstr "Стаята „%s“ вече присъства в отметките." + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "Отметката беше добавена успешно" + +#, fuzzy +#~ msgid "" +#~ "You can manage your bookmarks by clicking the Bookmarks menu item in your " +#~ "contact list." +#~ msgstr "Може да организирате отметките чрез менюто „Действия“." + +#, fuzzy +#~ msgid "The nickname contains invalid characters." +#~ msgstr "Псевдонимът съдържа непозволени знаци." + +#, fuzzy +#~ msgid "Bookmark Room" +#~ msgstr "_Добавяне на стаята към отметките (Ctrl+B)" + +#~ msgid "_Join New Group Chat" +#~ msgstr "_Влизане в нова стая" + +#~ msgid "Name:" +#~ msgstr "Име:" + +#, fuzzy +#~ msgid "Description:" +#~ msgstr "Описание: " + +#, fuzzy +#~ msgid "Address:" +#~ msgstr "_Адрес:" + +#, fuzzy +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "Трябва да сте свързани, за да влезете в стая." + +#, fuzzy +#~ msgid "Occupants" +#~ msgstr "_Действия на участника" + +#~ msgid "_Modify Account..." +#~ msgstr "_Промяна на акаунт…" + +#~ msgid "Boolean" +#~ msgstr "Булев израз" + +#~ msgid "Integer" +#~ msgstr "Число" + +#~ msgid "Text" +#~ msgstr "Текст" + +#~ msgid "Value" +#~ msgstr "Стойност" + +#~ msgid "(None)" +#~ msgstr "(Няма)" + +#~ msgid "Hidden" +#~ msgstr "Скрита" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "Настройки на сървъра-посредник" + +#, fuzzy +#~ msgid "Properties" +#~ msgstr "Настройки" + +#, fuzzy +#~ msgid "Proxy _Port" +#~ msgstr "По_рт:" + +#, fuzzy +#~ msgid "New Groupchat" +#~ msgstr "Нова стая" + +#, fuzzy +#~ msgid "New Contact" +#~ msgstr "Добавяне на нов контакт" + +#~ msgid "%s GiB" +#~ msgstr "%s GiB" + +#~ msgid "%s GB" +#~ msgstr "%s GB" + +#~ msgid "%s MiB" +#~ msgstr "%s MiB" + +#~ msgid "%s MB" +#~ msgstr "%s MB" + +#~ msgid "%s KiB" +#~ msgstr "%s KB" + +#~ msgid "%s KB" +#~ msgstr "%s KB" + +#~ msgid "%s B" +#~ msgstr "%s B" + +#, fuzzy +#~ msgid "%s MiB/s" +#~ msgstr "%s MiB" + +#, fuzzy +#~ msgid "File transfer" +#~ msgstr "Файлови трансфери" + +#, fuzzy +#~ msgid "Open _Containing Folder" +#~ msgstr "_Отваряне на папката" + +#, fuzzy +#~ msgid "Default:" +#~ msgstr "По подразбиране" + +#~ msgid "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" +#~ msgstr "" +#~ "Вече няма да можете да получавате и изпращате съобщения до контакти чрез " +#~ "тези транспорти: %s" + +#~ msgid "Contact \"%s\" will be removed from your roster" +#~ msgstr "Контактът „%s“ ще бъде премахнат от списъка ви" + +#, fuzzy +#~ msgid "" +#~ "By removing this contact you also by default remove authorization " +#~ "resulting in them always seeing you as offline." +#~ msgstr "" +#~ "Премахвайки този контакт, прекратявате и упълномощаването. Контактът " +#~ "винаги ще ви вижда изключен." + +#~ msgid "Contacts will be removed from your roster" +#~ msgstr "Ще бъдат премахнати контакти от списъка" + +#~ msgid "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorization resulting in them always seeing you as " +#~ "offline." +#~ msgstr "" +#~ "Премахвайки тези контакти: %s\n" +#~ "прекратявате и упълномощаването, така че винаги ще ви виждат изключен(а)." + +#, fuzzy +#~ msgid "Con_tinue" +#~ msgstr "П_родължаване" + +#~ msgid "_Pause" +#~ msgstr "П_ауза" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "Премахване на файловия трансфер от списъка." + +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "" +#~ "Това действие премахва файлов трансфер от списъка. Ако трансферът е " +#~ "активен, първо се прекъсва и след това се премахва." + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "Отменя избрания файлов трансфер" + +#, fuzzy +#~ msgid "Hide the window" +#~ msgstr "Скрива прозореца" + +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "" +#~ "Уведомяване чрез изскачащ прозорец при завършване на файловия трансфер" + +#~ msgid "From:" +#~ msgstr "От:" + +#~ msgid "Subject:" +#~ msgstr "Тема:" + +#~ msgid "%s wants to send you a file:" +#~ msgstr "%s иска да ви изпрати файл:" + +#~ msgid "Name: " +#~ msgstr "Име: " + +#~ msgid "Pause" +#~ msgstr "Пауза" + +#, fuzzy +#~ msgid "Execute Command" +#~ msgstr "_Изпълнение на команда" + +#~ msgid "Type: " +#~ msgstr "Тип: " + +#~ msgid "Transferred: " +#~ msgstr "Прехвърлени: " + +#~ msgid "Completed" +#~ msgstr "Завършил" + +#~ msgid "Stalled" +#~ msgstr "Блокирал" + +#~ msgid "Transferring" +#~ msgstr "Прехвърляне" + +#~ msgid "Not started" +#~ msgstr "Не е започнал" + +#, fuzzy +#~ msgid "%s day" +#~ msgid_plural "%s days" +#~ msgstr[0] "Преди %i дни" +#~ msgstr[1] "Преди %i дни" + +#~ msgid "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Всички прозорци за разговори и стаи ще бъдат затворени. Искате ли да " +#~ "продължите?" + +#, fuzzy +#~ msgid "" +#~ "Your desired nickname in group chat\n" +#~ "%s\n" +#~ "is in use or registered by another occupant.\n" +#~ "Please specify another nickname below:" +#~ msgstr "" +#~ "Желаният от вас псевдоним за стая %s се използва или е регистриран от " +#~ "друг участник.\n" +#~ "Укажете друг псевдоним по-долу:" + +#~ msgid "_Configure" +#~ msgstr "_Настройване" + +#, fuzzy +#~ msgid "Change the avatar" +#~ msgstr "Промяна на състоянието" + +#, fuzzy +#~ msgid "" +#~ "Account in which the avatar will be set; if not specified, the avatar " +#~ "will be set for all accounts" +#~ msgstr "" +#~ "Акаунт, до който да се изпраща XML; ако не е указан, ще се изпрати до " +#~ "всички акаунти" + +#, fuzzy +#~ msgid "add" +#~ msgstr "Тъжен" + +#, fuzzy +#~ msgid "modify" +#~ msgstr "Унил" + +#, fuzzy +#~ msgid "remove" +#~ msgstr "П_ремахване" + +#, fuzzy +#~ msgid "" +#~ "If true, restored messages will use a smaller font than the default one." +#~ msgstr "" +#~ "Ако е активирана, ще се използва по-малък шрифт от стандартния за " +#~ "възстановените съобщения." + +#, fuzzy +#~ msgid "Restored Message Color" +#~ msgstr "Възстановяване на стандартните _цветове" + +#, fuzzy +#~ msgid "" +#~ "You are going to remove this room permanently.\n" +#~ "You may specify a reason below:" +#~ msgstr "" +#~ "Определено сте на път да унищожите тази стая.\n" +#~ "Може да укажете причина по-долу:" + +#~ msgid "Send Cus_tom Status" +#~ msgstr "Изпращане на _специфично състояние" + +#, fuzzy +#~ msgid "" +#~ "You are about to send a custom status. Are you sure you want to continue?" +#~ msgstr "" +#~ "На път сте да създадете мета-контакт. Сигурни ли сте, че искате да " +#~ "продължите?" + +#, fuzzy +#~ msgid "" +#~ msgstr "Тема" + +#~ msgid "#" +#~ msgstr "№" + +#, fuzzy +#~ msgid "You are about to block a contact. Are you sure you want to continue?" +#~ msgstr "" +#~ "На път сте да създадете мета-контакт. Сигурни ли сте, че искате да " +#~ "продължите?" + +#~ msgid "To:" +#~ msgstr "До:" + +#~ msgid "0" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Reconnect when connection is lost" +#~ msgstr "Автоматично свързване при разпадане на връзката" + +#, fuzzy +#~ msgid "Server Message Archive" +#~ msgstr "_Изпращане на съобщение от сървъра…" + +#, fuzzy +#~ msgid "Message Carbons" +#~ msgstr "Съобщения" + +#~ msgid "" +#~ "Sent chat state notifications. Can be one of all, composing_only, " +#~ "disabled." +#~ msgstr "" +#~ "Изпращане на уведомления за състоянието на разговор. Може да бъде „all“, " +#~ "„composing_only“, „disabled“." + +#, fuzzy +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "Позволяване изпращането на _информация за ОС" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the idle time of your system" +#~ msgstr "" +#~ "Ако тази опция е избрана, контактите ще могат да откриват операционната " +#~ "система, която използвате." + +#, fuzzy +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "Позволяване изпращането на _информация за ОС" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the local time on your system" +#~ msgstr "" +#~ "Ако тази опция е избрана, контактите ще могат да откриват операционната " +#~ "система, която използвате." + +#, fuzzy +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "Позволяване изпращането на _информация за ОС" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the operating system you are " +#~ "using" +#~ msgstr "" +#~ "Ако тази опция е избрана, контактите ще могат да откриват операционната " +#~ "система, която използвате." + +#, fuzzy +#~ msgid "" +#~ "If checked, incoming events from unauthorized contacts will be ignored. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster." +#~ msgstr "" +#~ "Ако тази опция е избрана, Gajim ще игнорира входящи събития от " +#~ "неупълномощени контакти. Използвайте я внимателно, тъй като блокира " +#~ "всички съобщения от всеки контакт, който не е в списъка." + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." +#~ msgstr "" +#~ "Gajim може да изпраща и получава мета-информация, свързана с разговора с " +#~ "даден контакт. Тук може да укажете кои състояния бихте искали да " +#~ "изпращате." + +#, fuzzy +#~ msgid "S_end chat state notifications" +#~ msgstr "Изпращане на уведомления при _разговор:" + +#, fuzzy +#~ msgid "Login Options" +#~ msgstr "_Емотикони:" + +#~ msgid "Please wait while retrieving search form..." +#~ msgstr "Изчакайте, докато се извлече формуляра за търсене…" + +#~ msgid "_Add contact" +#~ msgstr "Добавяне на _контакт" + +#~ msgid "Ad-hoc Commands - Gajim" +#~ msgstr "Специални команди - Gajim" + +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "Изчакайте, докато се извлече списъка с команди…" + +#~ msgid "Choose command to execute:" +#~ msgstr "Изберете команда за изпълнение:" + +#~ msgid "Check once more" +#~ msgstr "Проверка наново" + +#, fuzzy +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "Изчакайте, докато командата се изпраща…" + +#~ msgid "This jabber entity does not expose any commands." +#~ msgstr "Този Джабър контакт не предлага никакви команди." + +#, fuzzy +#~ msgid "F_inish" +#~ msgstr "_Приключване" + +#~ msgid "Waiting for results" +#~ msgstr "Изчакване на резултатите" + +#~ msgid "Error in received dataform" +#~ msgstr "Грешка в получените данни" + +#~ msgid "No result" +#~ msgstr "Няма резултати" + +#~ msgid "Failed to get secret keys" +#~ msgstr "Неуспех при извличането на частните ключове" + +#, fuzzy +#~ msgid "There is no OpenPGP secret key available." +#~ msgstr "Възникна проблем при извличането на частните ви OpenPGP ключове." + +#~ msgid "OpenPGP Key Selection" +#~ msgstr "Избор на ключ на OpenPGP" + +#~ msgid "Choose your OpenPGP key" +#~ msgstr "Изберете вашия ключ на OpenPGP" + +#~ msgid "KeyID" +#~ msgstr "Идентификатор на ключ" + +#~ msgid "Contact name" +#~ msgstr "Име на контакта" + +#, fuzzy +#~ msgid "OpenPGP is not usable" +#~ msgstr "GPG не е използваем" + +#~ msgid "Assign OpenPGP Key" +#~ msgstr "Задаване на OpenPGP ключ" + +#~ msgid "Select a key to apply to the contact" +#~ msgstr "Изберете ключ за този контакт" + +#, fuzzy +#~ msgid "" +#~ "You configured Gajim to use OpenPGP agent, but there is no OpenPGP agent " +#~ "running or it returned a wrong passphrase.\n" +#~ msgstr "" +#~ "Конфигурирали сте Gajim да използва агент на GPG, но такъв не е стартиран " +#~ "или е предоставил грешна парола.\n" + +#~ msgid "You are currently connected without your OpenPGP key." +#~ msgstr "В момента сте свързани без OpenPGP ключ." + +#, fuzzy +#~ msgid "Wrong passphrase" +#~ msgstr "Грешна парола" + +#, fuzzy +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "Грешна парола" + +#~ msgid "Passphrase Required" +#~ msgstr "Необходима е парола" + +#, fuzzy +#~ msgid "" +#~ "Enter OpenPGP key passphrase for key %(keyid)s (account %(account)s)." +#~ msgstr "Въведете парола за ключ на GPG %(keyid)s (акаунт „%(account)s“)." + +#, fuzzy +#~ msgid "OpenPGP key expired" +#~ msgstr "Няма зададен ключ на GPG" + +#, fuzzy +#~ msgid "" +#~ "Your OpenPGP key has expired, you will be connected to %s without OpenPGP." +#~ msgstr "Ще бъдете свързани към „%s“ без OpenPGP." + +#~ msgid "Wrong Passphrase" +#~ msgstr "Грешна парола" + +#, fuzzy +#~ msgid "Please retype your OpenPGP passphrase or press Cancel." +#~ msgstr "Въведете паролата за GPG ключа наново или натиснете „Отказване“." + +#~ msgid "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Изпращане на ново съобщение до контакт от списъка. Опциите „account“ и " +#~ "„OpenPGP key“ са по избор. Ако искате да настроите само „account“ без " +#~ "“OpenPGP key“, настройте „OpenPGP key“ на „“." + +#~ msgid "if specified, the message will be encrypted using this public key" +#~ msgstr "" +#~ "ако е указано, съобщението ще се шифрира, използвайки този публичен ключ" + +#, fuzzy +#~ msgid "" +#~ "Sends a chat message to someone on your roster. Optionally with OpenPGP " +#~ "key and account. If you want to only set the latter, set OpenPGP key to " +#~ "\"\"." +#~ msgstr "" +#~ "Изпращане на ново съобщение до контакт от списъка. Опциите „account“ и " +#~ "„OpenPGP key“ са по избор. Ако искате да настроите само „account“ без " +#~ "“OpenPGP key“, настройте „OpenPGP key“ на „“." + +#~ msgid "" +#~ "If disabled, don't sign presences with GPG key, even if GPG is configured." +#~ msgstr "" +#~ "Ако е изключена, не се се подписват съобщенията за състояние с ключ на " +#~ "GPG, дори и да е конфигуриран." + +#, fuzzy +#~ msgid "OpenPGP:" +#~ msgstr "OpenPGP: " + +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "Задаване на ключ Open_PGP…" + +#, fuzzy +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "Избор на ключ на OpenPGP" + +#, fuzzy +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "Шифриране на съобщения с ключове на GPG." + +#, fuzzy +#~ msgid "Requires: gpg and python-gnupg (%(url)s)" +#~ msgstr "Изисква gpg и python-GnuPGInterface." + +#, fuzzy +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "Използване на променливата на обкръжението „HTTP_PROXY“" + +#, fuzzy +#~ msgid "Use PGP Agent" +#~ msgstr "Използване на агент на _GPG" + +#, fuzzy +#~ msgid "OpenPGP Key" +#~ msgstr "Задаване на OpenPGP ключ" + +#~ msgid "Cancel confirmation" +#~ msgstr "Отмяна на потвърждението" + +#~ msgid "" +#~ "You are in process of executing command. Do you really want to cancel it?" +#~ msgstr "На път сте да изпълните команда. Наистина ли искате да я отмените?" + +#~ msgid "Service sent malformed data" +#~ msgstr "Услугата изпрати лошо форматирани данни" + +#~ msgid "Service changed the session identifier." +#~ msgstr "Услугата промени идентификатора на сесията." + +#, fuzzy +#~ msgid "%s - Ad-hoc Commands - Gajim" +#~ msgstr "Специални команди - Gajim" + +#~ msgid "Service returned an error." +#~ msgstr "Услугата върна грешка." + +#~ msgid "You are invited to a groupchat" +#~ msgstr "Поканени сте в стая." + +#~ msgid "_Start Chat" +#~ msgstr "_Започване на разговор" + +#~ msgid "Au_thorize" +#~ msgstr "_Упълномощаване" + +#~ msgid "Really send file?" +#~ msgstr "Наистина ли да се изпрати файла?" + +#~ msgid "You are currently connected to the server" +#~ msgstr "В момента сте свързани със сървъра" + +#, fuzzy +#~ msgid "To disable the account, you must be disconnected." +#~ msgstr "Трябва да сте изключени, за да смените името на акаунта." + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with %(jid)s?" +#~ msgstr "Наистина ли искате да изтриете избраното съобщение?" + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with the selected contacts?" +#~ msgstr "Наистина ли искате да изтриете дневниците на избрания контакт?" + +#, fuzzy +#~ msgid "This can not be undone." +#~ msgstr "Услугата не може да бъде намерена" + +#~ msgid "What do you want to do?" +#~ msgstr "Какво искате да направите?" + +#~ msgid "" +#~ "List of colors, separated by \":\", that will be used to color nicknames " +#~ "in group chats." +#~ msgstr "" +#~ "Списък с цветове, разделени с „:“, които да се използват за оцветяване на " +#~ "псевдонимите в стаите." + +#, fuzzy +#~ msgid "You have received new entries (and %d not displayed):" +#~ msgid_plural "You have received new entries (and %d not displayed):" +#~ msgstr[0] "Получихте нов запис:" +#~ msgstr[1] "Получихте нов запис:" + +#~ msgid "Stopped" +#~ msgstr "Преустановен" + +#~ msgid "" +#~ "You are about to send your password on an insecure connection. You should " +#~ "install PyOpenSSL to prevent that. Are you sure you want to do that?" +#~ msgstr "" +#~ "На път сте да изпратите паролата си чрез несигурна връзка. Трябва да " +#~ "инсталирате PyOpenSSL, за да предотвратите това. Сигурни ли сте, че " +#~ "искате да го направите?" + +#, fuzzy +#~ msgid "Status messages displayed in chat window" +#~ msgstr "Изпращане на съобщението и затваряне на прозореца" + +#~ msgid "?print_status:All" +#~ msgstr "Всички" + +#~ msgid "Enter and leave only" +#~ msgstr "Само влизащи и излизащи" + +#~ msgid "?print_status:None" +#~ msgstr "Без" + +#, fuzzy +#~ msgid "Untrusted OpenPGP key" +#~ msgstr "Изберете вашия ключ на OpenPGP" + +#, fuzzy +#~ msgid "" +#~ "The OpenPGP key used to encrypt this chat is not trusted. Do you really " +#~ "want to encrypt this message?" +#~ msgstr "" +#~ "Няма зададен ключ на GPG за този контакт, така че не може да шифрирате " +#~ "съобщения." + +#~ msgid "D-Bus python bindings are missing in this computer" +#~ msgstr "На този компютър няма инсталиран модул на Питон за D-Bus" + +#~ msgid "D-Bus capabilities of Gajim cannot be used" +#~ msgstr "Възможностите за D-Bus не могат да бъдат използвани" + +#, fuzzy +#~ msgid "D-Bus does not run correctly on this machine: system bus not present" +#~ msgstr "На тази машина няма инсталиран D-Bus или липсва модула за Питон" + +#, fuzzy +#~ msgid "" +#~ "D-Bus does not run correctly on this machine: session bus not present" +#~ msgstr "На тази машина няма инсталиран D-Bus или липсва модула за Питон" + +#, fuzzy +#~ msgid "Command line Control" +#~ msgstr "Команди: %s" + +#, fuzzy +#~ msgid "Enables you to control Gajim with via commandline" +#~ msgstr "Скрипт за управление на Gajim от командния ред." + +#~ msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +#~ msgstr "%(nick)s беше изритан от %(who)s: %(reason)s" + +#~ msgid "%(nick)s has been banned by %(who)s: %(reason)s" +#~ msgstr "%(nick)s беше отлъчен от %(who)s: %(reason)s" + +#~ msgid "system shutdown" +#~ msgstr "Изключване на системата" + +#~ msgid "** Role of %(nick)s has been set to %(role)s" +#~ msgstr "** Ролята на %(nick)s бе зададена на %(role)s" + +#~ msgid "%s has left" +#~ msgstr "%s напусна" + +#, fuzzy +#~ msgid "%s is full" +#~ msgstr "Шрифт" + +#, fuzzy +#~ msgid "" +#~ "Can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no " +#~ "longer print status line in groupchats when a member changes their status " +#~ "and/or their status message. If \"all\" Gajim will print all status " +#~ "messages. If \"in_and_out\", Gajim will only print FOO enters/leaves " +#~ "group chat." +#~ msgstr "" +#~ "Може да бъде „none“, „all“ или „in_and_out“. Ако е „none“, няма да се " +#~ "изписват състоянията в стаите, когато някой член сменя съобщението си за " +#~ "състояние или влиза/излиза в стаята. Ако е „all“, ще се изписват всички " +#~ "съобщения за състояние. Ако е „in_and_out“, ще се изписва само „Сульо " +#~ "влезе в стаята“ или „Сульо напусна“." + +#, fuzzy +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "Показване на _съобщенията за състояние на контактите в списъка" + +#, fuzzy +#~ msgid "" +#~ "You are about to send your password unencrypted on an insecure " +#~ "connection. Are you sure you want to do that?" +#~ msgstr "" +#~ "На път сте да изпратите паролата си чрез нешифрирана връзка. Сигурни ли " +#~ "сте, че искате да го направите?" + +#, fuzzy +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "Използване на удостоверяване" + +#, fuzzy +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "Използване на удостоверяване" + +#, fuzzy +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "Използване на удостоверяване" + +#~ msgid "" +#~ "Displayed chat state notifications in chat windows. Can be one of all, " +#~ "composing_only, disabled." +#~ msgstr "" +#~ "Показвани уведомления за състоянието на разговора в прозорците за " +#~ "разговор. Може да бъде „all“, „composing_only“, „disabled“." + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." +#~ msgstr "" +#~ "Gajim може да изпраща и получава мета-информация, свързана с разговора с " +#~ "даден контакт. Тук може да укажете кои състояния бихте искали да се " +#~ "показват в прозорците за разговор." + +#~ msgid "This is an irreversible operation." +#~ msgstr "Това е необратима операция." + +#~ msgid "Settings" +#~ msgstr "Настройки" + +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "" +#~ "Добре дошли в мениджъра на историята на разговорите" + +#~ msgid "Member List" +#~ msgstr "Списък с членове" + +#~ msgid "Owner List" +#~ msgstr "Списък със собственици" + +#~ msgid "Administrator List" +#~ msgstr "Списък с администратори" + +#~ msgid "Nick" +#~ msgstr "Псевдоним" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "Кого искате да отлъчите?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Member…" +#~ msgstr "Добавяне на член…" + +#~ msgid "" +#~ "Whom do you want to make a member?\n" +#~ "\n" +#~ msgstr "" +#~ "Кого искате да направите член?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Owner…" +#~ msgstr "Добавяне на собственик…" + +#~ msgid "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" +#~ msgstr "" +#~ "Кого искате да направите собственик?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Administrator…" +#~ msgstr "Добавяне на администратор…" + +#~ msgid "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" +#~ msgstr "" +#~ "Кого искате да направите администратор?\n" +#~ "\n" + +#~ msgid "Error reading file:" +#~ msgstr "Грешка при четене на файл:" + +#~ msgid "Error parsing file:" +#~ msgstr "Грешка при анализиране на файл:" + +#~ msgid "List of possible features in Gajim:" +#~ msgstr "Списък с възможни функционалности на Gajim:" + +#~ msgid "Description" +#~ msgstr "Описание" + +#, fuzzy +#~ msgid "Password encryption" +#~ msgstr "Парола за влизане в стаята" + +#~ msgid "Spellchecking of composed messages." +#~ msgstr "Проверка на изходящите съобщения за правописни грешки." + +#, fuzzy +#~ msgid "Automatic status" +#~ msgstr "_Съгласуване спрямо състоянието" + +#, fuzzy +#~ msgid "Requires python2.5." +#~ msgstr "Изисква python-gnome2." + +#~ msgid "" +#~ "Generate XHTML output from RST code (see http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Генериране на изход в XHTML от RST (вижте http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html)." + +#, fuzzy +#~ msgid "?features:Available" +#~ msgstr "На линия" + +#~ msgid "Feature" +#~ msgstr "Функционалност" + +#~ msgid "Filter:" +#~ msgstr "Филтър:" + +#~ msgid "Chat Appearance" +#~ msgstr "Изглед на разговорите" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed out" +#~ msgstr "" +#~ "Ще се появява съобщение за уведомяване в долния десен ъгъл на екрана при " +#~ "изключване на контакти" + +#~ msgid "Sounds" +#~ msgstr "Звуци" + +#~ msgid "Chat state notifications" +#~ msgstr "Уведомления за състояния на разговора" + +#, fuzzy +#~ msgid "_Away after" +#~ msgstr "„_Отсъствам“ след:" + +#~ msgid "" +#~ "If checked, Gajim will change status to Away when the computer is unused." +#~ msgstr "" +#~ "Ако тази опция е избрана, Gajim ще променя състоянието на „Отсъствам“ " +#~ "когато компютърът не се използва." + +#, fuzzy +#~ msgid "_Not available after" +#~ msgstr "„Не съм на _разположение“ след:" + +#~ msgid "Auto Status" +#~ msgstr "Автоматично състояние" + +#~ msgid "Status Messages" +#~ msgstr "Съобщения за състояние" + +#, fuzzy +#~ msgid "Audio" +#~ msgstr "Действия" + +#, fuzzy +#~ msgid "Video" +#~ msgstr "Презиме:" + +#, fuzzy +#~ msgid "Connection" +#~ msgstr "Условия" + +#~ msgid "Custom" +#~ msgstr "Персонални" + +#~ msgid "Privacy" +#~ msgstr "Уединение" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "Редактор на настройките за напреднали" + +#, fuzzy +#~ msgid "File transfer, room bookmarks" +#~ msgstr "Грешка при файловия трансфер" + +#, fuzzy +#~ msgid "XML console interface" +#~ msgstr "XML конзола" + +#, fuzzy +#~ msgid "" +#~ "A programming error has been detected. It probably is not fatal, but " +#~ "should be reported to the developers nonetheless." +#~ msgstr "" +#~ "Вероятно не е фатална, но би трябвало да се докладва на разработчиците." + +#~ msgid "" +#~ "A list of modp groups to use in a Diffie-Hellman, highest preference " +#~ "first, separated by commas. Valid groups are 1, 2, 5, 14, 15, 16, 17 and " +#~ "18. Higher numbers are more secure, but take longer to calculate when you " +#~ "start a session." +#~ msgstr "" +#~ "Списък от групи „modp“ за употреба чрез алгоритъма „Дифи-Хелман“, " +#~ "разделени чрез запетаи, най-предпочитаните в началото. Валидни групи са " +#~ "1, 2, 5, 14, 15, 16, 17 и 18. По-големите числа са по-сигурни, но " +#~ "изчисленията отнемат повече време в началото на сесията." + +#~ msgid "(ESession info)" +#~ msgstr "(Информация за Е-сесия)" + +#~ msgid "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" +#~ msgstr "" +#~ "Ако тази опция е избрана, усмивките в ASCII като „:)“ ще се изобразяват " +#~ "със съответните анимирани или статични емотикони." + +#, fuzzy +#~ msgid "_Emoticons" +#~ msgstr "_Емотикони:" + +#~ msgid "_Highlight misspelled words" +#~ msgstr "_Осветяване на неправилно изписаните думи" + +#, fuzzy +#~ msgid "Notify by icon when your messages are received" +#~ msgstr "" +#~ "Звук за изпълнение при получаване на каквото и да е съобщение в стая." + +#, fuzzy +#~ msgid "T_heme" +#~ msgstr "_Тема:" + +#~ msgid "Themes" +#~ msgstr "Теми" + +#~ msgid "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." +#~ msgstr "" +#~ "Jabberd1.4 не харесва информация от тип SHA при включване в стая, " +#~ "защитена с пароли. Настройте тази опция на „Изключена“, за да спрете да " +#~ "изпращате информация от тип SHA при присъствие в стаи." + +#, fuzzy +#~ msgid "Presence" +#~ msgstr "С_ъстояние" + +#~ msgid "Emoticons disabled" +#~ msgstr "Емотиконите са изключени" + +#, fuzzy +#~ msgid "" +#~ "Your configured emoticons theme could not be loaded. See the log for more " +#~ "details." +#~ msgstr "Темата с емотикони не беше намерена, така че са изключени." + +#~ msgid "You cannot make changes to the default theme" +#~ msgstr "Не може да правите промени по стандартната тема" + +#~ msgid "theme name" +#~ msgstr "име на тема" + +#~ msgid "You cannot delete your current theme" +#~ msgstr "Не може да изтриете текущата тема" + +#~ msgid "New Single Message from %(nickname)s" +#~ msgstr "Ново еднократно съобщение от %(nickname)s" + +#~ msgid "New Private Message from group chat %s" +#~ msgstr "Ново лично съобщение от стая „%s“" + +#~ msgid "%(nickname)s: %(message)s" +#~ msgstr "%(nickname)s: %(message)s" + +#~ msgid "Messaged by %(nickname)s" +#~ msgstr "Съобщение от %(nickname)s" + +#, fuzzy +#~ msgid "Status message text color." +#~ msgstr "текст на съобщението за състояние" + +#, fuzzy +#~ msgid "Incoming nickname font." +#~ msgstr "Невалиден псевдоним" + +#, fuzzy +#~ msgid "Status message text font." +#~ msgstr "текст на съобщението за състояние" + +#~ msgid "Background color of contacts when they just signed in." +#~ msgstr "Цвят на фона на контактите, които се включват." + +#~ msgid "Background color of contacts when they just signed out." +#~ msgstr "Цвят на фона на контактите, които се изключват." + +#~ msgid "green" +#~ msgstr "зелена" + +#~ msgid "grocery" +#~ msgstr "колониална" + +#~ msgid "human" +#~ msgstr "хуманна" + +#~ msgid "marine" +#~ msgstr "морска" + +#, fuzzy +#~ msgid "Contact row" +#~ msgstr "Контакт" + +#~ msgid "Gajim Themes Customization" +#~ msgstr "Персонализиране на темите на Gajim" + +#~ msgid "Text _color:" +#~ msgstr "_Цвят на текста:" + +#~ msgid "_Background:" +#~ msgstr "_Фон:" + +#~ msgid "Text _font:" +#~ msgstr "_Шрифт на текста:" + +#~ msgid "Font style:" +#~ msgstr "Стил на шрифта:" + +#~ msgid "Paused" +#~ msgstr "Временно преустановен" + +#~ msgid "Gone" +#~ msgstr "Отсъства" + +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "" +#~ "Съобщения\n" +#~ "в стая" + +#~ msgid "Chatstate Tab Colors" +#~ msgstr "Цветове на подпрозорците" + +#, fuzzy +#~ msgid "Chat message" +#~ msgstr "Съобщение от разговор:" + +#~ msgid "Use system _default" +#~ msgstr "Използване на стан_дартните за системата" + +#~ msgid "Font" +#~ msgstr "Шрифт" + +#, fuzzy +#~ msgid "Contact's nickname" +#~ msgstr "Име на контакта" + +#, fuzzy +#~ msgid "_Status message" +#~ msgstr "С_ъобщение за състояние:" + +#, fuzzy +#~ msgid "Your message" +#~ msgstr "Грешка: %s" + +#, fuzzy +#~ msgid "_URL highlight" +#~ msgstr "_Адреси:" + +#~ msgid "Chat Line Colors" +#~ msgstr "Цветове за разговорите" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#~ msgid "Resource:" +#~ msgstr "Ресурс:" + +#~ msgid "Status:" +#~ msgstr "Състояние:" + +#, fuzzy +#~ msgid "Contact time:" +#~ msgstr "Област/Щат:" + +#~ msgid "Ask:" +#~ msgstr "Запитване:" + +#~ msgid "Subscription:" +#~ msgstr "Записване:" + +#~ msgid "Name:" +#~ msgstr "Име:" + +#~ msgid "Nickname:" +#~ msgstr "Псевдоним:" + +#~ msgid "Street:" +#~ msgstr "Улица:" + +#~ msgid "City:" +#~ msgstr "Град:" + +#~ msgid "State:" +#~ msgstr "Област/Щат:" + +#~ msgid "Extra Address:" +#~ msgstr "Допълнителен адрес:" + +#~ msgid "Postal Code:" +#~ msgstr "Пощенски код:" + +#~ msgid "Country:" +#~ msgstr "Държава:" + +#~ msgid "Homepage:" +#~ msgstr "Страница в Интернет:" + +#~ msgid "E-Mail:" +#~ msgstr "Е-поща:" + +#~ msgid "Phone No.:" +#~ msgstr "Телефон:" + +#~ msgid "Birthday:" +#~ msgstr "Рожден ден:" + +#~ msgid "Family:" +#~ msgstr "Фамилия:" + +#~ msgid "Middle:" +#~ msgstr "Презиме:" + +#~ msgid "Prefix:" +#~ msgstr "Представка:" + +#~ msgid "Given:" +#~ msgstr "Собствено:" + +#~ msgid "Suffix:" +#~ msgstr "Наставка:" + +#~ msgid "Full Name" +#~ msgstr "Име" + +#~ msgid "Company:" +#~ msgstr "Фирма:" + +#~ msgid "Department:" +#~ msgstr "Отдел:" + +#~ msgid "Position:" +#~ msgstr "Дейност:" + +#~ msgid "Role:" +#~ msgstr "Роля:" + +#~ msgid "- messages will be logged" +#~ msgstr "— ще бъде воден дневник за съобщенията" + +#~ msgid "- messages will not be logged" +#~ msgstr "— няма да бъде воден дневник за съобщенията" + +#~ msgid "Edit %s" +#~ msgstr "Редактиране на %s" + +#~ msgid "Conversation History with %s" +#~ msgstr "История на разговорите с %s" + +#~ msgid "Contact with \"%s\" cannot be established" +#~ msgstr "Неуспех при установяването на контакт с „%s“" + +#~ msgid "Registration information for transport %s has not arrived in time" +#~ msgstr "Информацията за регистрация за транспорт %s не пристигна навреме" + +#~ msgid "Register to" +#~ msgstr "Регистриране към" + +#, fuzzy +#~ msgid "Enter name / JID of contact or groupchat" +#~ msgstr "Име на контакта" + +#~ msgid "Search:" +#~ msgstr "Търсене:" + +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "Трябва да сте свързани, за да променяте паролата." + +#~ msgid "Invalid password" +#~ msgstr "Невалидна парола" + +#~ msgid "The passwords typed in both fields must be identical." +#~ msgstr "Паролите, написани в двете полета, трябва да са едни и същи." + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "Въведете я отново за потвърждение:" + +#~ msgid "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" +#~ msgstr "" +#~ "JID %s не е съгласно стандарта по RFC. Няма да бъде добавен към списъка. " +#~ "Използвайте инструменти за управление на списък като http://jru." +#~ "jabberstudio.org/, за да го премахнете." + +#~ msgid "unsubscribe request from %s" +#~ msgstr "искане за отписване от %s" + +#, fuzzy +#~ msgid "Homepage:" +#~ msgstr "Страница в Интернет:" + +#~ msgid "Manage Bookmarks" +#~ msgstr "Управление на отметките" + +#~ msgid "_Nickname:" +#~ msgstr "Псе_вдоним:" + +#, fuzzy +#~ msgid "Pr_int status:" +#~ msgstr "Изписване на състоянията:" + +#, fuzzy +#~ msgid "Add JID" +#~ msgstr "Jabber ID:" + +#, fuzzy +#~ msgid "Preference:" +#~ msgstr "Настройки" + +#, fuzzy +#~ msgid "Preference" +#~ msgstr "Настройки" + +#, fuzzy +#~ msgid "JID:" +#~ msgstr "Вашия JID:" + +#, fuzzy +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "" +#~ "Попълнете данните за контакта, който искате да добавите към акаунт „%s“" + +#~ msgid "Please fill in the data of the contact you want to add" +#~ msgstr "Попълнете данните за контакта, който искате да добавите" + +#, fuzzy +#~ msgid "Recently" +#~ msgstr "Скоро посетени:" + +#~ msgid "Add New Contact" +#~ msgstr "Добавяне на нов контакт" + +#~ msgid "_User ID:" +#~ msgstr "_Идентификатор на потребител:" + +#, fuzzy +#~ msgid "Type User ID" +#~ msgstr "Идентификатор на потребител:" + +#, fuzzy +#~ msgid "Type Nickname" +#~ msgstr "Псевдоним" + +#~ msgid "Personal Information" +#~ msgstr "Лични данни" + +#~ msgid "Avatar:" +#~ msgstr "Аватар:" + +#~ msgid "Click to set your avatar" +#~ msgstr "Натиснете, за да настроите аватара си" + +#, fuzzy +#~ msgid "Remove Avatar" +#~ msgstr "Премахване на група" + +#~ msgid "Not fetched because of invisible status" +#~ msgstr "Не е изтеглен, понеже е в състояние „Невидим“" + +#~ msgid "Please wait..." +#~ msgstr "Изчакайте…" + +#~ msgid "" +#~ "When negotiating an encrypted session, should Gajim assume you want your " +#~ "messages to be logged?" +#~ msgstr "" +#~ "Когато се договаря шифрирана сесия, да се приема ли, че искате " +#~ "собствените съобщения да се запазват в дневник?" + +#~ msgid "Log _encrypted chat session" +#~ msgstr "Запазване на дневник на _шифрираната сесия" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will keep logs for encrypted messages. Please note that " +#~ "when using end-to-end encryption the remote party has to agree on " +#~ "logging, else the messages will not be logged." +#~ msgstr "" +#~ "Ако тази опция е избрана, Gajim ще запазва дневници за шифрираните " +#~ "съобщение. Забележете, че при шифриране тип „E2E“ другата страна трябва " +#~ "да се съгласи, иначе съобщенията няма да бъдат запазвани." + +#~ msgid "Yahoo! Address:" +#~ msgstr "Адрес на Yahoo!:" + +#~ msgid "Forward unread messages" +#~ msgstr "Препращане на непрочетени съобщения" + +#~ msgid "All unread messages have been forwarded." +#~ msgstr "Всички непрочетени съобщения бяха препратени." + +#, fuzzy +#~ msgid "Forward unread message then disconnect" +#~ msgstr "Препращане на непрочетени съобщения" + +#~ msgid "MSN Address:" +#~ msgstr "Адрес на MSN:" + +#~ msgid "Confirm these session options" +#~ msgstr "Потвърждение на тези настройки на сесията" + +#, fuzzy +#~ msgid "" +#~ "The remote client wants to negotiate a session with these features:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Are these options acceptable?" +#~ msgstr "" +#~ "Отдалеченият клиент иска да договори сесия с тези параметри:\n" +#~ "\n" +#~ "\t%s\n" +#~ "\n" +#~ "\tДопустими ли са тези настройки?" + +#~ msgid "" +#~ "The remote client selected these options:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Continue with the session?" +#~ msgstr "" +#~ "Отдалеченият клиент избра тези настройки:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Продължаване с тази сесия?" + +#, fuzzy +#~ msgid "Always accept for this contact" +#~ msgstr "Активиран ли е OpenPGP за този контакт?" + +#, fuzzy +#~ msgid "End to End message encryption" +#~ msgstr "Шифриране тип „End to End“" + +#, fuzzy +#~ msgid "Encrypting chat messages." +#~ msgstr "Шифриране на разговорите." + +#~ msgid "Requires python-crypto." +#~ msgstr "Изисква python-crypto." + +#~ msgid "Session negotiation cancelled" +#~ msgstr "Договорката за сесията отменена" + +#~ msgid "This session is encrypted" +#~ msgstr "Тази сесия е шифрирана" + +#~ msgid " and WILL be logged" +#~ msgstr " и ЩЕ СЕ запазва дневник" + +#~ msgid " and WILL NOT be logged" +#~ msgstr " и НЯМА да се запазва дневник" + +#~ msgid "" +#~ "Remote contact's identity not verified. Click the shield button for more " +#~ "details." +#~ msgstr "" +#~ "Идентичността на отсрещния контакт не е потвърдена. Натиснете бутона със " +#~ "щита за повече информация." + +#, fuzzy +#~ msgid "end-to-end encryption disabled" +#~ msgstr "Шифрирането чрез GPG е изключено" + +#~ msgid "" +#~ "Unable to decrypt message from %s\n" +#~ "It may have been tampered with." +#~ msgstr "" +#~ "Неуспех при дешифрирането на съобщение от %s\n" +#~ "Възможно е да е било фалшифицирано." + +#~ msgid "Unable to decrypt message" +#~ msgstr "Неуспех при дешифриране на съобщението" + +#~ msgid "Enable ESessions encryption for this account." +#~ msgstr "Активира шифриране тип „ESessions“ за този акаунт." + +#~ msgid "Should Gajim automatically start an encrypted session when possible?" +#~ msgstr "Дали Gajim да започва шифрирана сесия автоматично, ако е възможно?" + +#~ msgid "" +#~ "[This is part of an encrypted session. If you see this message, something " +#~ "went wrong.]" +#~ msgstr "" +#~ "[Това е част от шифрирана сесия. Ако виждате това съобщение, нещо не е " +#~ "както трябва.]" + +#~ msgid "Requires python-avahi." +#~ msgstr "Изисква python-avahi." + +#, fuzzy +#~ msgid "Save Image as…" +#~ msgstr "Запазване на изображението като…" + +#, fuzzy +#~ msgid "Exporting History Logs…" +#~ msgstr "Изнасяне на записите на разговорите…" + +#~ msgid "When %s becomes:" +#~ msgstr "Когато %s стане:" + +#~ msgid "Adding Special Notification for %s" +#~ msgstr "Добавяне на специално уведомление за %s" + +#, fuzzy +#~ msgid "" +#~ "It seems the SSL certificate of account %(account)s has changed and is " +#~ "not valid or your connection is being compromised.\n" +#~ "\n" +#~ "Old SHA-1 fingerprint: %(old_sha1)s\n" +#~ "Old SHA-256 fingerprint: %(old_sha256)s\n" +#~ "\n" +#~ "New SHA-1 fingerprint: %(new_sha1)s\n" +#~ "New SHA-256 fingerprint: %(new_sha256)s\n" +#~ "\n" +#~ "Do you still want to connect and update the fingerprint of the " +#~ "certificate?" +#~ msgstr "" +#~ "Изглежда сертификатът на SSL е бил променен или връзката е взломена.\n" +#~ "Стар отпечатък: %(old)s\n" +#~ "Нов отпечатък: %(new)s\n" +#~ "\n" +#~ "Все още ли искате да се свържете и да обновите отпечатъка на сертификата?" + +#, fuzzy +#~ msgid "" +#~ "The authenticity of the %s certificate could be invalid.\n" +#~ "The certificate does not cover this domain." +#~ msgstr "Автентичността на сертификата на %s може да е под въпрос." + +#~ msgid "Unable to load idle module" +#~ msgstr "Неуспех при зареждането на модула „idle“" + +#, fuzzy +#~ msgid "%s or %s is a directory but should be a file" +#~ msgstr "%s e папка, а би трябвало да е файл" + +#~ msgid "creating logs database" +#~ msgstr "създаване на база от данни за разговорите" + +#, fuzzy +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "Изпращане на %s" + +#, fuzzy +#~ msgid "Rename account label" +#~ msgstr "Преименуване на акаунт" + +#, fuzzy +#~ msgid "Send Single Message..." +#~ msgstr "Изпращане на _еднократно съобщение…" + +#, fuzzy +#~ msgid "We received an error: {}" +#~ msgstr "Услугата върна грешка." + +#~ msgid "E2E encryption disabled" +#~ msgstr "Шифрирането чрез E2E е изключено" + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Добавяне на този сертификат към списъка с доверени сертификати.\n" +#~ "Отпечатък тип SHA1 на сертификата:\n" +#~ "%s" + +#~ msgid "uri" +#~ msgstr "адрес" + +#, fuzzy +#~ msgid "" +#~ "Install /\n" +#~ "Upgrade" +#~ msgstr "Блокирал" + +#, fuzzy +#~ msgid "Install/Upgrade" +#~ msgstr "Блокирал" + +#~ msgid "cyan" +#~ msgstr "синьозелена" + +#~ msgid "migrating logs database to indices" +#~ msgstr "мигриране на базата от данни с дневници към индекси" + +#, fuzzy +#~ msgid "Send File..." +#~ msgstr "Изпращане на _файл…" + +#, fuzzy +#~ msgid "HTTP File Upload not supported by your server" +#~ msgstr "Сървърът ви няма поддръжка за мета-контакти" + +#, fuzzy +#~ msgid "Jingle File Transfer" +#~ msgstr "Файлови трансфери" + +#~ msgid "" +#~ "Your configured emoticons theme has not been found, so emoticons have " +#~ "been disabled." +#~ msgstr "Темата с емотикони не беше намерена, така че са изключени." + +#~ msgid "Shows or hides the roster window" +#~ msgstr "Показва или скрива списъка" + +#~ msgid "Shows or hides the ipython window" +#~ msgstr "Показва или скрива прозореца на IPython" + +#, fuzzy +#~ msgid "XMPP account %s" +#~ msgstr "за акаунт „%s“" + +#, fuzzy +#~ msgid "Exception" +#~ msgstr "Описание" + +#, fuzzy +#~ msgid "" +#~ "someone@somewhere.com would like you to add some contacts " +#~ "in your roster." +#~ msgstr "Бих искал(а) да ви добавя към списъка си." + +#~ msgid "" +#~ "Ordered list (space separated) of connection type to try. Can contain " +#~ "tls, ssl or plain" +#~ msgstr "" +#~ "Списък (разделен с шпации) на видове свързвания. Може да съдържа „tls“, " +#~ "„ssl“ или „plain“." + +#~ msgid "_Actions" +#~ msgstr "_Действия" + +#, fuzzy +#~ msgid "Requires upower and python-dbus." +#~ msgstr "Изисква python-dbus." + +#~ msgid "You are already in group chat %s" +#~ msgstr "Вече сте в стая „%s“" + +#~ msgid "Join Group Chat with account %s" +#~ msgstr "Влизане в стая с акаунт „%s“" + +#, fuzzy +#~ msgid "" +#~ "You have to choose an account from which you want to join the groupchat." +#~ msgstr "Акаунт, от който искате да влезете в стаята" + +#, fuzzy +#~ msgid "Please enter the group chat JID as room@server." +#~ msgstr "Jabber ID на стаята съдържа непозволени знаци." + +#, fuzzy +#~ msgid "The group chat JID contains invalid characters." +#~ msgstr "Jabber ID на стаята съдържа непозволени знаци." + +#~ msgid "Start Chat with account %s" +#~ msgstr "Започване на разговор с акаунт „%s“" + +#, fuzzy +#~ msgid "" +#~ "Fill in the nickname or the JID of the contact you would like\n" +#~ "to send a chat message to:" +#~ msgstr "" +#~ "Въведете JID или псевдоним на контакта, до който\n" +#~ "искате да изпратите съобщение:" + +#, fuzzy +#~ msgid "Nickname / JID" +#~ msgstr "Дублиран Jabber ID" + +#~ msgid "Unable to parse \"%s\"." +#~ msgstr "Неуспех при анализирането на „%s“." + +#~ msgid "Shows the chat dialog so that you can send messages to a contact" +#~ msgstr "" +#~ "Показване на диалогов прозорец за разговор, за да може да се изпрати " +#~ "съобщение до контакта" + +#~ msgid "JID of the contact that you want to chat with" +#~ msgstr "JID на контакта, с който искате да разговаряте" + +#~ msgid "Adds contact to roster" +#~ msgstr "Добавяне на контакт към списъка" + +#~ msgid "jid" +#~ msgstr "JID" + +#~ msgid "Adds new contact to this account" +#~ msgstr "Добавяне на нов контакт към този акаунт" + +#~ msgid "Opens 'Start Chat' dialog" +#~ msgstr "Отваря прозореца „Започване на разговор“" + +#~ msgid "Starts chat, using this account" +#~ msgstr "Започване на разговор, като се използва този акаунт" + +#, fuzzy +#~ msgid "Handle a xmpp:/ URI" +#~ msgstr "Обработка на адрес тип xmpp://" + +#~ msgid "URI to handle" +#~ msgstr "Адрес за обработка" + +#~ msgid "Account in which you want to handle it" +#~ msgstr "Акаунт, за който искате да го обработите" + +#, fuzzy +#~ msgid "Message content" +#~ msgstr "текст на съобщението" + +#~ msgid "Join a MUC room" +#~ msgstr "Влизане в стая" + +#~ msgid "Nickname to use" +#~ msgstr "Псевдоним" + +#~ msgid "Password to enter the room" +#~ msgstr "Парола за влизане в стаята" + +#~ msgid "Account from which you want to enter the room" +#~ msgstr "Акаунт, от който искате да влезете в стаята" + +#, fuzzy +#~ msgid "Wrong URI" +#~ msgstr "Грешен адрес" + +#~ msgid "Nickname:" +#~ msgstr "Псевдоним:" + +#~ msgid "Server:" +#~ msgstr "Сървър:" + +#, fuzzy +#~ msgid "Join this room _automatically when I connect" +#~ msgstr "Влизане в тази стая автоматично при свързване" + +#, fuzzy +#~ msgid "Bro_wse Rooms" +#~ msgstr "_Търсене" + +#, fuzzy +#~ msgid "Requires libgtkspell and libenchant." +#~ msgstr "Изисква python-sexy." + +#, fuzzy +#~ msgid "Network-Watcher" +#~ msgstr "network-manager" + +#~ msgid "Autodetection of network status." +#~ msgstr "Автоматично засичане на състоянието на мрежата." + +#, fuzzy +#~ msgid "Requires gnome-network-manager" +#~ msgstr "Изисква gnome-network-manager и python-dbus." + +#, fuzzy +#~ msgid "This contact does not support file transfer." +#~ msgstr "Списък с активни, завършили и прекъснати файлови трансфери" + +#~ msgid "" +#~ "You have to install %s dictionary to use spellchecking, or choose another " +#~ "language by setting the speller_language option." +#~ msgstr "" +#~ "За да използвате проверката за правопис, трябва да инсталирате %s речник " +#~ "или да изберете друг език чрез настройването на опцията " +#~ "„speller_language“." + +#~ msgid "Hides the buttons in chat windows." +#~ msgstr "Скрива бутоните в прозорците за разговор." + +#~ msgid "Change the room's subject (Alt+T)" +#~ msgstr "Смяна на темата на стаята (Alt+T)" + +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "_Добавяне на стаята към отметките (Ctrl+B)" + +#~ msgid "Browse the chat history (Ctrl+H)" +#~ msgstr "Разглеждане на историята на разговорите (Ctrl+H)" + +#, fuzzy +#~ msgid "Show advanced functions (Alt+D)" +#~ msgstr "Меню с функции за напреднали (Ctrl+A)" + +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "Добавяне на контакт към списъка (Ctrl+D)" + +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "Покана на контакти в разговора (Ctrl+G)" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Показване на профила на контакта (Ctrl+I)" + +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Показване на профила на контакта (Ctrl+I)" + +#~ msgid "Ma_ke message windows compact" +#~ msgstr "_Компактни прозорци за разговор" + +#~ msgid "Hide all buttons in chat windows" +#~ msgstr "Скриване на всички бутони в прозорците за разговор." + +#, fuzzy +#~ msgid "Hide the chat buttons" +#~ msgstr "Употреба: /%s, скрива бутоните за разговор." + +#~ msgid "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." +#~ msgstr "" +#~ "Ако е активирана, ще се изпраща запитване за аватар до всеки контакт, " +#~ "който е нямал такъв последния път или пък има остарял кеширан аватар." + +#~ msgid "Disk Write Error" +#~ msgstr "Грешка при запис" + +#~ msgid "Set Custom _Avatar..." +#~ msgstr "Задаване на друг _аватар…" + +#, fuzzy +#~ msgid "SSL certificate validation" +#~ msgstr "Грешка в сертификата на SSL" + +#~ msgid "" +#~ "A library used to validate server certificates to ensure a secure " +#~ "connection." +#~ msgstr "" +#~ "Библиотека за проверка на валидността на сертификатите на сървърите. " +#~ "Използва се за установяване на сигурна връзка." + +#, fuzzy +#~ msgid "Requires python-pyopenssl > 0.12 and pyasn1." +#~ msgstr "Изисква python-pyopenssl." + +#, fuzzy +#~ msgid "?CLI:room" +#~ msgstr "стая" + +#, fuzzy +#~ msgid "?CLI:nick" +#~ msgstr "псевдоним" + +#, fuzzy +#~ msgid "?CLI:password" +#~ msgstr "парола" + +#~ msgid "Use D-Bus and Notification-Daemon to show notifications" +#~ msgstr "" +#~ "Използване на DBus и Notification-Daemon за показване на уведомленията" + +#, fuzzy +#~ msgid "Notification" +#~ msgstr "Уведомления" + +#~ msgid "Passive popups notifying for new events." +#~ msgstr "Изскачащи прозорци с уведомления за нови събития." + +#~ msgid "" +#~ "Requires python-notify or instead python-dbus in conjunction with " +#~ "notification-daemon." +#~ msgstr "Изисква python-notify или python-dbus заедно с notification-daemon." + +#, fuzzy +#~ msgid "Ignore" +#~ msgstr "_Игнориране" + +#~ msgid "_Open Gmail Inbox" +#~ msgstr "_Отваряне на пощенската кутия на Gmail" + +#~ msgid "Notify on new _GMail email" +#~ msgstr "Уведомяване при нова поща от _GMail" + +#~ msgid "" +#~ "If checked, Gajim will show a notification when a new e-mail is received " +#~ "via GMail" +#~ msgstr "" +#~ "Ако тази опция е избрана, Gajim ще показва уведомление при получаването " +#~ "на ново писмо чрез GMail." + +#~ msgid "Display _extra email details" +#~ msgstr "Показване на _допълнителни данни за е-поща" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will also include information about the sender of new " +#~ "emails" +#~ msgstr "" +#~ "Ако тази опция е избрана, Gajim ще включва информация за подателя на " +#~ "новите писма." + +#~ msgid "GMail Options" +#~ msgstr "Настройки за GMail" + +#, fuzzy +#~ msgid "20" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Invited %s to %s" +#~ msgstr "Изпращане на %s" + +#~ msgid "GMail Email Received" +#~ msgstr "Получена поща от Gmail" + +#, fuzzy +#~ msgid "New e-mail on %(gmail_mail_address)s" +#~ msgstr "Ново писмо за %(gmail_mail_address)s" + +#, fuzzy +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "Имате %d ново писмо" +#~ msgstr[1] "Имате %d нови писма" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "From: %(from_address)s\n" +#~ "Subject: %(subject)s\n" +#~ "%(snippet)s" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "От: %(from_address)s\n" +#~ "Тема: %(subject)s\n" +#~ "%(snippet)s" + +#~ msgid "Resour_ce:" +#~ msgstr "_Ресурс:" + +#~ msgid "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" +#~ msgstr "" +#~ "Ресурсът се изпраща до Джабър сървъра, за да „раздели“ един и същи JID на " +#~ "две или повече части в зависимост от броя на клиентите, свързани с един " +#~ "сървър и един и същ акаунт. Така може да сте свързани със същия акаунт и " +#~ "ресурси „Вкъщи“ и „На работа“ по едно и също време. Ресурсът с най-голям " +#~ "приоритет ще получава събитията. (вижте по-долу)" + +#, fuzzy +#~ msgid "A_djust to status" +#~ msgstr "_Съгласуване спрямо състоянието" + +#~ msgid "Priority will change automatically according to your status." +#~ msgstr "Приоритетът ще се сменя автоматично в зависимост от състоянието ви." + +#, fuzzy +#~ msgid "Anonymous authentication" +#~ msgstr "Използване на удостоверяване" + +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "Приоритетът в Джабър се използва, за да се определи кой да получава " +#~ "събитията от Джабър сървър, когато два или повече клиента са свързани с " +#~ "един и същ акаунт. Клиентът с най-голям приоритет ще получава събитията." + +#, fuzzy +#~ msgid "Synchronize contacts" +#~ msgstr "Синхронизиране на контакти" + +#~ msgid "Click to request authorization to all contacts of another account" +#~ msgstr "" +#~ "Натиснете, за да изискате упълномощаване от всички контакти на друг акаунт" + +#~ msgid "Chan_ge Password" +#~ msgstr "Пром_яна на парола" + +#~ msgid "Administration operations" +#~ msgstr "Административни операции" + +#, fuzzy +#~ msgid "Browse..." +#~ msgstr "_Търсене" + +#, fuzzy +#~ msgid "Certificate is e_ncrypted" +#~ msgstr "Сертификатът е отхвърлен" + +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "" +#~ "Ако тази опция е избрана, при стартиране Gajim ще се свързва автоматично, " +#~ "използвайки този акаунт." + +#, fuzzy +#~ msgid "Synchronize logs with server" +#~ msgstr "Синхронизиране на контакти" + +#~ msgid "Synch_ronize account status with global status" +#~ msgstr "Син_хронизиране на състоянието на акаунта с общото състояние" + +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "Ако тази опция е избрана, всяка промяна на общото състояние (от списъка в " +#~ "долната част на главния прозорец) ще променя и състоянието на този акаунт." + +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "Ако тази опция е избрана, Gajim ще излъчва повече IP адреси освен вашия " +#~ "собствен, така че файловият трансфер има повече шансове да работи добре." + +#~ msgid "Proxy" +#~ msgstr "Сървър-посредник" + +#~ msgid "" +#~ "Check this so Gajim will ask you before sending your password over an " +#~ "insecure connection." +#~ msgstr "" +#~ "Ако тази опция е избрана, ще се изисква потвърждение преди изпращането на " +#~ "паролата ви чрез несигурна връзка." + +#, fuzzy +#~ msgid "Send _keep-alive packets" +#~ msgstr "Изпращане на пакети за поддържане на връзката" + +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "" +#~ "Ако тази опция е избрана, Gajim ще изпраща пакети за поддържане на " +#~ "връзката с цел избягване на разпадането ѝ." + +#, fuzzy +#~ msgid "Use cust_om hostname/port" +#~ msgstr "Използване на нестандартен хост/порт" + +#, fuzzy +#~ msgid "_Hostname: " +#~ msgstr "_Хост:" + +#, fuzzy +#~ msgid "_Port: " +#~ msgstr "По_рт:" + +#~ msgid "Choose _Key..." +#~ msgstr "Избор на _ключ…" + +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "" +#~ "Ако тази опция е избрана, паролата ще се взима от агент на GPG като " +#~ "Seahorse." + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#, fuzzy +#~ msgid "_Edit Personal Information..." +#~ msgstr "Редактиране на личните данни…" + +#~ msgid "Personal Information" +#~ msgstr "Лични данни" + +#, fuzzy +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "С_вързване при стартиране" + +#, fuzzy +#~ msgid "Synchroni_ze account status with global status" +#~ msgstr "Син_хронизиране на състоянието на акаунта с общото състояние" + +#, fuzzy +#~ msgid "Use cust_om port:" +#~ msgstr "Използване на нестандартен порт:" + +#~ msgid "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." +#~ msgstr "" +#~ "Ако стандартния порт за входящи съобщения е неудобен за настройките ви, " +#~ "може да изберете друг тук.\n" +#~ "Може да помислите и да промените настройките на огнената стена, " +#~ "евентуално." + +#, fuzzy +#~ msgid "OpenPGP is not usable on this computer" +#~ msgstr "OpenPGP не може да бъде използван на този компютър" + +#~ msgid "To change the account name, you must be disconnected." +#~ msgstr "Трябва да сте изключени, за да смените името на акаунта." + +#~ msgid "To change the account name, you must read all pending events." +#~ msgstr "" +#~ "За да смените името на акаунта, трябва да прочетете всички чакащи събития." + +#~ msgid "Account Name Already Used" +#~ msgstr "Името на акаунта вече се използва" + +#~ msgid "" +#~ "This name is already used by another of your accounts. Please choose " +#~ "another name." +#~ msgstr "Това име вече се използва от друг акаунт. Изберете друго име." + +#~ msgid "Account name cannot be empty." +#~ msgstr "Трябва да посочите някакво име на акаунта." + +#~ msgid "Account name cannot contain spaces." +#~ msgstr "Името на акаунта не може да съдържа интервали." + +#~ msgid "Enter a new name for account %s" +#~ msgstr "Въведете ново име за акаунт „%s“" + +#, fuzzy +#~ msgid "A JID must be in the form \"user@servername\"." +#~ msgstr "Jabber ID трябва да бъде във формат „user@server“." + +#~ msgid "No such account available" +#~ msgstr "Няма такъв наличен акаунт" + +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "" +#~ "Трябва първо да създадете акаунт и след това да редактирате личните данни." + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "Трябва да сте свързани, за да редактирате личните данни." + +#~ msgid "Your server can't save your personal information." +#~ msgstr "Сървърът ви не може да запази личната ви информация." + +#~ msgid "Please rename or remove it before enabling link-local messaging." +#~ msgstr "" +#~ "Преименувайте го или го премахнете преди да активирате съобщения от/за " +#~ "локални контакти." + +#~ msgid "THANKS:" +#~ msgstr "БЛАГОДАРНОСТИ:" + +#~ msgid "Could not write to %s. Session Management support will not work" +#~ msgstr "" +#~ "Неуспех при запис на %s. Поддръжката за управление на сесиите няма да " +#~ "работи" + +#~ msgid "Jabber Traffic" +#~ msgstr "Джабър трафик" + +#, fuzzy +#~ msgid "_Enable" +#~ msgstr "Активиране" + +#, fuzzy +#~ msgid "Filter" +#~ msgstr "Шрифт" + +#~ msgid "_IQ" +#~ msgstr "I_Q" + +#~ msgid "Info/Query" +#~ msgstr "Информация/запитване (Info/Query)" + +#~ msgid "XML Input" +#~ msgstr "Вход в XML формат" + +#~ msgid "XML Console for %s" +#~ msgstr "XML конзола за %s" + +#, fuzzy +#~ msgid "Idle for:" +#~ msgstr "XML конзола за %s" + +#~ msgid "Last status: %s" +#~ msgstr "Последно състояние: %s" + +#~ msgid " since %s" +#~ msgstr " от %s" + +#~ msgid "since %s" +#~ msgstr "от %s" + +#, fuzzy +#~ msgid "Auto" +#~ msgstr "Автоматично влизане" + +#, fuzzy +#~ msgid "otr" +#~ msgstr "Сгорещен" + +#, fuzzy +#~ msgid "Invalid expire value" +#~ msgstr "Невалидно име на сървър" + +#, fuzzy +#~ msgid "There is an error" +#~ msgstr "Услугата върна грешка." + +#~ msgid "How many minutes should last lines from previous conversation last." +#~ msgstr "Колко минути да отделят последните редове от предишния разговор." + +#~ msgid "" +#~ "Your configured emoticons theme cannot been loaded. You maybe need to " +#~ "update the format of emoticons.py file. See http://trac.gajim.org/wiki/" +#~ "Emoticons for more details." +#~ msgstr "" +#~ "Темата с емотикони не можа да бъде заредена. Навярно трябва да обновите " +#~ "формата на файла emoticons.py. Вижте http://trac.gajim.org/wiki/Emoticons " +#~ "за повече подробности." + +#~ msgid "You will be connected to %s without OpenPGP." +#~ msgstr "Ще бъдете свързани към „%s“ без OpenPGP." + +#~ msgid "The following message was NOT encrypted" +#~ msgstr "Следното съобщение НЕ БЕШЕ шифрирано" + +#~ msgid "Toggle Open_PGP Encryption" +#~ msgstr "Превключване на шифриране тип „Open_PGP“" + +#~ msgid "Toggle End to End Encryption" +#~ msgstr "Превключване на шифриране тип „End to End“" + +#, fuzzy +#~ msgid "OpenPGP encryption enabled" +#~ msgstr "Шифрирането чрез GPG е включено" + +#, fuzzy +#~ msgid "No OpenPGP key assigned" +#~ msgstr "Няма зададен ключ на GPG" + +#, fuzzy +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages with OpenPGP." +#~ msgstr "" +#~ "Няма зададен ключ на GPG за този контакт, така че не може да шифрирате " +#~ "съобщенията с GPG." + +#~ msgid "Session WILL be logged" +#~ msgstr "ЩЕ СЕ запазва дневник за сесията" + +#~ msgid "Session WILL NOT be logged" +#~ msgstr "НЯМА да се запазва дневник за сесията" + +#~ msgid "is" +#~ msgstr "е" + +#~ msgid "is NOT" +#~ msgstr "НЕ е" + +#~ msgid "will" +#~ msgstr "Ще" + +#~ msgid "will NOT" +#~ msgstr "НЯМА да" + +#~ msgid "The following message was encrypted" +#~ msgstr "Следното съобщение беше шифрирано" + +#, fuzzy +#~ msgid "Toggle the OpenPGP encryption" +#~ msgstr "Превключване на шифриране тип „Open_PGP“" + +#~ msgid "" +#~ "Should Gajim automatically start an encrypted session with this contact " +#~ "when possible?" +#~ msgstr "Да се започва ли шифрирана сесия с този контакт, когато е възможно?" + +#~ msgid "Neither the remote presence is signed, nor a key was assigned." +#~ msgstr "Нито отдалеченото присъствие е подписано, нито има зададен ключ." + +#~ msgid "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "Ключът на контакта (%s) не съвпада със зададения в Gajim." + +#~ msgid "[This message is *encrypted* (See :XEP:`27`]" +#~ msgstr "[Това съобщение е *шифрирано* (вижте XEP:„27“)]" + +#~ msgid "" +#~ "Your chat session with %(jid)s is encrypted.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "Сесията ви с %(jid)s е шифрирана.\n" +#~ "\n" +#~ "Краткият удостоверителен низ (SAS) на сесията е %(sas)s." + +#~ msgid "You have already verified this contact's identity." +#~ msgstr "Вече се проверили идентичността на този контакт." + +#~ msgid "Contact's identity verified" +#~ msgstr "Идентичността на контакта проверена" + +#~ msgid "" +#~ "To be certain that only the expected person can read your messages " +#~ "or send you messages, you need to verify their identity by clicking the " +#~ "button below." +#~ msgstr "" +#~ "За да се сигурни, че само очакваният човек може да чете ваши " +#~ "съобщения или да ви изпраща такива, е необходимо да проверите " +#~ "идентичността му като натиснете бутона по-долу." + +#~ msgid "Contact's identity NOT verified" +#~ msgstr "Идентичността на контакта НЕ Е проверена" + +#, fuzzy +#~ msgid "Verify…" +#~ msgstr "_Проверка" + +#~ msgid "Have you verified the contact's identity?" +#~ msgstr "Проверихте ли идентичността на контакта?" + +#~ msgid "" +#~ "To prevent talking to an unknown person, you should speak to %(jid)s directly (in person or on the phone) and verify that they see the same " +#~ "Short Authentication String (SAS) as you.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "За да избегнете разговор с непознат човек, трябва да говорите с " +#~ "%(jid)s директно (лично или по телефона) и да проверите дали вижда " +#~ "същия Кратък удостоверителен низ (SAS) като вас.\n" +#~ "\n" +#~ "Краткият удостоверителен низ на тази сесия е %(sas)s." + +#~ msgid "Did you talk to the remote contact and verify the SAS?" +#~ msgstr "Говорихте ли с отдалечение контакт за проверка на SAS?" + +#~ msgid "" +#~ "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "Ключът на контакта (%s) не съвпада с този, зададен в Gajim." + +#, fuzzy +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages." +#~ msgstr "" +#~ "Няма зададен ключ на GPG за този контакт, така че не може да шифрирате " +#~ "съобщения." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP key is assigned to this contact, but you do not trust their " +#~ "key, so message cannot be encrypted. Use your OpenPGP client " +#~ "to trust their key." +#~ msgstr "" +#~ "Има зададен ключ на GPG за този контакт, но вие не му се доверявате, така че съобщенията не могат да се шифрират. За да се доверите " +#~ "на този ключ, използвайте клиент на GPG." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP Key is assigned to this contact, and you trust their key, so " +#~ "messages will be encrypted." +#~ msgstr "" +#~ "Има зададен ключ на GPG за този контакт и вие му се доверявате, така че " +#~ "съобщенията ще бъдат шифрирани." + +#~ msgid "" +#~ "This icon indicates that this message has not yet\n" +#~ "been received by the remote end. If this icon stays\n" +#~ "for a long time, it's likely the message got lost." +#~ msgstr "" +#~ "Тази икона показва, че съобщението все още не е\n" +#~ "получено от отсрещния контакт. Ако иконата остане\n" +#~ "дълго време, най-вероятно съобщението е било изгубено." + +#~ msgid "" +#~ "If True, listen to D-Bus signals from NetworkManager and change the " +#~ "status of accounts (provided they do not have listen_to_network_manager " +#~ "set to False and they sync with global status) based upon the status of " +#~ "the network connection." +#~ msgstr "" +#~ "Ако е активирана, слуша за сигнали по DBus от NetworkManager и променя " +#~ "състоянието на акаунтите (при положение, че нямат изключена " +#~ "„listen_to_network_manager“ и се синхронизират с общото състояние) в " +#~ "зависимост от състоянието на мрежовата връзка." + +#~ msgid "" +#~ "The database file (%s) cannot be read. Try to repair it or remove it (all " +#~ "history will be lost)." +#~ msgstr "" +#~ "Файлът „%s“ от базата от данни не може да бъде прочетен. Опитайте се да " +#~ "го поправите или изтриете (цялата история ще бъде загубена)." + +#~ msgid "Database cannot be read." +#~ msgstr "Неуспех при четенето на базата от данни." + +#~ msgid "Smooth scroll message in conversation window" +#~ msgstr "Плавно прелистване на съобщение в прозореца за разговор" + +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "_Филтри за уединение…" + +#~ msgid "_Administrator" +#~ msgstr "_Администратор" + +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "" +#~ "Изпраща съобщение на всички потребители, свързани със сървъра в момента" + +#~ msgid "Sets Message of the Day" +#~ msgstr "Настройване на съобщение за деня" + +#~ msgid "Updates Message of the Day" +#~ msgstr "Актуализиране на съобщението за деня" + +#~ msgid "Deletes Message of the Day" +#~ msgstr "Изтрива съобщението за деня" + +#~ msgid "Add _Contact..." +#~ msgstr "_Добавяне на контакт…" + +#~ msgid "Profile, A_vatar" +#~ msgstr "_Профил, аватар" + +#~ msgid "File _Transfers" +#~ msgstr "_Файлови трансфери" + +#~ msgid "Help online" +#~ msgstr "Помощ в Интернет" + +#~ msgid "Frequently Asked Questions (online)" +#~ msgstr "Често задавани въпроси (в Интернет)" + +#~ msgid "Fea_tures" +#~ msgstr "_Възможности" + +#~ msgid "to %s account" +#~ msgstr "към акаунт „%s“" + +#~ msgid "using %s account" +#~ msgstr "за акаунт „%s“" + +#~ msgid "of account %s" +#~ msgstr "за акаунт „%s“" + +#~ msgid "for account %s" +#~ msgstr "за акаунт „%s“" + +#~ msgid "" +#~ "By removing this contact you also remove authorization resulting in him " +#~ "or her always seeing you as offline." +#~ msgstr "" +#~ "Премахвайки този контакт, прекратявате и упълномощаването. Контактът " +#~ "винаги ще ви вижда изключен." + +#~ msgid "Invalid Jabber ID" +#~ msgstr "Невалиден Jabber ID" + +#~ msgid "Verify..." +#~ msgstr "Проверка…" + +#~ msgid "This file is being used by another process." +#~ msgstr "Този файл се използва от друг процес." + +#~ msgid "pgp key" +#~ msgstr "ключ на OpenPGP" + +#~ msgid "" +#~ "Sends new single message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Изпращане на ново съобщение до контакт от списъка. Опциите „account“ и " +#~ "„OpenPGP key“ са по избор. Ако искате да настроите само „account“ без " +#~ "“OpenPGP key“, настройте „OpenPGP key“ на „“." + +#, fuzzy +#~ msgid "Please first choose another theme as your current theme." +#~ msgstr "Първо изберете друга като текуща тема." + +#~ msgid "A non-privacy-related room configuration change has occurred" +#~ msgstr "" +#~ "Възникна промяна в конфигурацията на стаята (не е свързана с настройки за " +#~ "уединение)" + +#~ msgid "Your passphrase is incorrect" +#~ msgstr "Паролата е грешна" + +#, fuzzy +#~ msgid "OpenPGP Passphrase Incorrect" +#~ msgstr "Паролата е грешна" + +#, fuzzy +#~ msgid "OpenPGP key not trusted" +#~ msgstr "GPG не е използваем" + +#~ msgid "You successfully received %(filename)s from %(name)s." +#~ msgstr "Успешно получихте %(filename)s от %(name)s." + +#, fuzzy +#~ msgid "Set logs directory" +#~ msgstr "създаване на папка %s" + +#~ msgid "_Manage Bookmarks..." +#~ msgstr "_Управление на отметките…" + +#~ msgid "Change Status Message..." +#~ msgstr "Промяна на съобщението за състояние…" + +#~ msgid "_Change Status Message..." +#~ msgstr "_Промяна на съобщението за състояние…" + +#~ msgid "" +#~ "You are not interested in the contact's presence, and neither he/she is " +#~ "interested in yours" +#~ msgstr "" +#~ "Вие не се интересувате от информацията за състоянието на контакта, както " +#~ "и той от вашата" + +#~ msgid "Error description..." +#~ msgstr "Описание на грешката…" + +#, fuzzy +#~ msgid "View contact information (Ctrl+I)" +#~ msgstr "Покана на контакти в разговора (Ctrl+G)" + +#, fuzzy +#~ msgid "All Chat Histories" +#~ msgstr "Всички състояния" + +#~ msgid "More" +#~ msgstr "Още" + +#~ msgid "creating %s directory" +#~ msgstr "създаване на папка %s" + +#, fuzzy +#~ msgid "" +#~ "If True, Gajim will use KDE Wallet (if kwalletcli is available) to store " +#~ "account passwords." +#~ msgstr "" +#~ "Ако е активирана, Gajim ще използва набора на ключове на GNOME (gnome-" +#~ "keyring), ако е достъпен, за да запазва информация за паролите на " +#~ "акаунтите." + +#~ msgid "%s is not the name of a group chat." +#~ msgstr "%s не е име на стая." + +#~ msgid "Session Management" +#~ msgstr "Управление на сесии" + +#~ msgid "Gajim session is stored on logout and restored on login." +#~ msgstr "Запазва сесията на Gajim при излизане и я възстановява при влизане." + +#~ msgid "Requires python-gnome2." +#~ msgstr "Изисква python-gnome2." + +#~ msgid "SRV" +#~ msgstr "SRV" + +#~ msgid "Ability to connect to servers which are using SRV records." +#~ msgstr "Възможност за свързване към сървъри, които използват записи SRV." + +#~ msgid "Gajim needs X server to run. Quiting..." +#~ msgstr "Необходим е X сървър. Спиране на програмата…" + +#, fuzzy +#~ msgid "Gajim needs PyGTK 2.22 or above" +#~ msgstr "Gajim изисква PyGTK 2.8 или по-нова версия" + +#, fuzzy +#~ msgid "Gajim needs PyGTK 2.22 or above to run. Quiting..." +#~ msgstr "Gajim изисква PyGTK 2.8 или по-нова версия. Спиране на програмата…" + +#, fuzzy +#~ msgid "Gajim needs GTK 2.22 or above" +#~ msgstr "Gajim изисква GTK 2.8 или по-нова версия" + +#, fuzzy +#~ msgid "Gajim needs GTK 2.22 or above to run. Quiting..." +#~ msgstr "Gajim изисква GTK 2.8 или по-нова версия. Спиране на програмата…" + +#~ msgid "Gajim needs pywin32 to run" +#~ msgstr "Gajim изисква pywin32" + +#~ msgid "" +#~ "Please make sure that Pywin32 is installed on your system. You can get it " +#~ "at %s" +#~ msgstr "" +#~ "Уверете се, че Pywin32 е инсталиран на системата. Може да го изтеглите от " +#~ "%s" + +#~ msgid "Gajim is already running" +#~ msgstr "Gajim вече е стартиран" + +#~ msgid "" +#~ "Another instance of Gajim seems to be running\n" +#~ "Run anyway?" +#~ msgstr "" +#~ "Изглежда вече е стартирана друга инстанция на Gajim\n" +#~ "Продължаване въпреки това?" + +#~ msgid "A programming error has been detected" +#~ msgstr "Беше открита програмна грешка" + +#~ msgid "Details" +#~ msgstr "Подробности" + +#, fuzzy +#~ msgid "" +#~ "Gnome Keyring is installed but not correctly started (environment " +#~ "variable probably not correctly set)" +#~ msgstr "" +#~ "Наборът с ключове на GNOME е инсталиран, но не е стартиран правилно " +#~ "(навярно променливата на обкръжението не е настроена)" + +#~ msgid "Jabber ID: " +#~ msgstr "Jabber ID: " + +#~ msgid "Resource: " +#~ msgstr "Ресурс: " + +#, fuzzy +#~ msgid "Mood: " +#~ msgstr "Настроение:" + +#, fuzzy +#~ msgid "Activity: " +#~ msgstr "Дейност:" + +#~ msgid "Check on startup if Gajim is the _default Jabber client" +#~ msgstr "" +#~ "_Да се проверява дали Gajim е стандартния Джабър клиент при стартиране" + +#~ msgid "" +#~ "If True, Gajim will check if it's the default jabber client on each " +#~ "startup." +#~ msgstr "" +#~ "Ако е активирана, Gajim ще проверява дали е стандартния Джабър клиент при " +#~ "всяко стартиране." + +#~ msgid "Gajim is not the default Jabber client" +#~ msgstr "Gajim не е стандартния Джабър клиент" + +#~ msgid "Would you like to make Gajim the default Jabber client?" +#~ msgstr "Искате ли Gajim да бъде стандартния Джабър клиент?" + +#~ msgid "Always check to see if Gajim is the default Jabber client on startup" +#~ msgstr "" +#~ "Винаги да се проверява дали Gajim е стандартния Джабър клиент при всяко " +#~ "стартиране" + +#~ msgid "Execute Command..." +#~ msgstr "Изпълнение на команда…" + +#~ msgid "Actions" +#~ msgstr "Действия" + +#~ msgid "Conditions" +#~ msgstr "Условия" + +#~ msgid "Advanced Notifications Control" +#~ msgstr "Контрол на уведомления за напреднали" + +#~ msgid "Busy " +#~ msgstr "Зает " + +#, fuzzy +#~ msgid "Contact Change Status " +#~ msgstr "Контактът промени състоянието си" + +#~ msgid "Don't have " +#~ msgstr "нямам " + +#, fuzzy +#~ msgid "File Transfer Started " +#~ msgstr "Файловият трансфер е преустановен" + +#, fuzzy +#~ msgid "Group Chat Message Highlight " +#~ msgstr "Осветено съобщение в стая" + +#, fuzzy +#~ msgid "Group Chat Message Received " +#~ msgstr "Получено съобщение в стая" + +#~ msgid "Launch a command" +#~ msgstr "Изпълнение на команда" + +#~ msgid "One or more special statuses..." +#~ msgstr "Едно или повече определени състояния…" + +#~ msgid "Online / Free For Chat" +#~ msgstr "На линия / Свободен за разговор" + +#~ msgid "Play a sound" +#~ msgstr "Изпълнение на звук" + +#~ msgid "When " +#~ msgstr "Когато " + +#~ msgid "" +#~ "_Activate window manager's UrgencyHint to make chat window in taskbar " +#~ "flash" +#~ msgstr "" +#~ "_Активиране на подсказката за спешност на мениджъра на прозорци, за да " +#~ "мига прозореца в панела" + +#~ msgid "_Disable auto opening chat window" +#~ msgstr "_Изключване на автоматичното появяване на прозорец за разговор" + +#~ msgid "_Disable existing popup window" +#~ msgstr "_Изключване на съществуващ изскачащ прозорец" + +#~ msgid "_Disable existing sound for this event" +#~ msgstr "_Изключване на съществуващ звук за това събитие" + +#, fuzzy +#~ msgid "_Disable showing event in notification area" +#~ msgstr "_Изключване на показване на събитието в списъка" + +#~ msgid "_Disable showing event in roster" +#~ msgstr "_Изключване на показване на събитието в списъка" + +#~ msgid "_Inform me with a popup window" +#~ msgstr "_Информиране с изскачащ прозорец" + +#~ msgid "_Open chat window with user" +#~ msgstr "_Отваряне на прозорец за разговор с потребителя" + +#~ msgid "_Show event in roster" +#~ msgstr "Показване на събитието в спис_ъка" + +#~ msgid "and I " +#~ msgstr "и аз " + +#, fuzzy +#~ msgid "contact(s)" +#~ msgstr "Контакти" + +#~ msgid "for " +#~ msgstr "за " + +#, fuzzy +#~ msgid "group(s)" +#~ msgstr "Група" + +#~ msgid "when I'm in" +#~ msgstr "когато съм" + +#~ msgid "_Allow him/her to see my status" +#~ msgstr "_Позволение за виждане на състоянието ми" + +#, fuzzy +#~ msgid "Descrition:" +#~ msgstr "Описание: " + +#~ msgid "Advanced..." +#~ msgstr "Напреднали…" + +#~ msgid "Display _activity of contacts in roster" +#~ msgstr "Показване на _дейност на контактите в списъка" + +#~ msgid "Display _tunes of contacts in roster" +#~ msgstr "Показване на _слушаната от контактите музика в списъка" + +#~ msgid "Display m_ood of contacts in roster" +#~ msgstr "Показване на _настроенията на контактите в списъка" + +#~ msgid "" +#~ "If checked, Gajim will display the activity of contacts in the roster " +#~ "window" +#~ msgstr "" +#~ "Ако тази опция е избрана, Gajim ще изобразява дейността на контактите в " +#~ "списъка." + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will display the location of contacts in the roster " +#~ "window" +#~ msgstr "" +#~ "Ако тази опция е избрана, Gajim ще изобразява настроението на контактите " +#~ "в списъка." + +#~ msgid "" +#~ "If checked, Gajim will display the tunes of contacts in the roster window" +#~ msgstr "" +#~ "Ако тази опция е избрана, Gajim ще изобразява слушаната от контактите " +#~ "музика в списъка." + +#~ msgid "Gajim Instant Messenger" +#~ msgstr "Моментни съобщения (Gajim)" + +#~ msgid "English" +#~ msgstr "английски" + +#~ msgid "Belarusian" +#~ msgstr "белоруски" + +#~ msgid "Bulgarian" +#~ msgstr "български" + +#~ msgid "Breton" +#~ msgstr "бретонски" + +#~ msgid "Czech" +#~ msgstr "чешки" + +#~ msgid "German" +#~ msgstr "немски" + +#~ msgid "Greek" +#~ msgstr "гръцки" + +#~ msgid "British" +#~ msgstr "британски английски" + +#~ msgid "Esperanto" +#~ msgstr "есперанто" + +#~ msgid "Spanish" +#~ msgstr "испански" + +#~ msgid "Basque" +#~ msgstr "баски" + +#~ msgid "French" +#~ msgstr "френски" + +#~ msgid "Croatian" +#~ msgstr "хърватски" + +#~ msgid "Italian" +#~ msgstr "италиански" + +#~ msgid "Norwegian (b)" +#~ msgstr "норвежки (Bokmål)" + +#~ msgid "Dutch" +#~ msgstr "холандски" + +#~ msgid "Norwegian" +#~ msgstr "норвежки (Nynorsk)" + +#~ msgid "Polish" +#~ msgstr "полски" + +#~ msgid "Portuguese" +#~ msgstr "португалски" + +#~ msgid "Brazilian Portuguese" +#~ msgstr "бразилски португалски" + +#~ msgid "Russian" +#~ msgstr "руски" + +#~ msgid "Serbian" +#~ msgstr "сръбски" + +#~ msgid "Slovak" +#~ msgstr "словашки" + +#~ msgid "Swedish" +#~ msgstr "шведски" + +#~ msgid "Chinese (Ch)" +#~ msgstr "китайски" + +#~ msgid "Spelling language" +#~ msgstr "Език за проверка на правописа" + +#~ msgid "" +#~ "If True, Gajim will convert string between $$ and $$ to an image using " +#~ "dvips and convert before insterting it in chat window." +#~ msgstr "" +#~ "Ако е активирана, Gajim ще преобразува чрез „dvips“ низа между $$ и $$ в " +#~ "изображение преди да го вмъкне в прозореца за разговор." + +#~ msgid "" +#~ "Change the value to change the size of latex formulas displayed. The " +#~ "higher is larger." +#~ msgstr "" +#~ "Променете стойността за увеличаване или намаляване размера на " +#~ "изобразените формули на LaTeX. По-голяма стойност означава по-голям " +#~ "размер." + +#~ msgid "all or space separated status" +#~ msgstr "„all“ или състояния, разделени с интервал" + +#~ msgid "'yes', 'no', or 'both'" +#~ msgstr "„yes“, „no“ или „both“" + +#~ msgid "'yes', 'no' or ''" +#~ msgstr "„yes“, „no“ или „“" + +#~ msgid "Check your connection or try again later" +#~ msgstr "Проверете връзката или опитайте отново по-късно" + +#~ msgid "Error executing \"%(command)s\": %(error)s" +#~ msgstr "Грешка при изпълнение на „%(command)s“: %(error)s" + +#~ msgid "error: cannot open %s for reading" +#~ msgstr "грешка: %s не може да бъде отворен за четене" + +#~ msgid "Unable to bind to port %s." +#~ msgstr "Неуспех при свързването с порт %s." + +#~ msgid "" +#~ "Maybe you have another running instance of Gajim. File Transfer will be " +#~ "cancelled." +#~ msgstr "" +#~ "Навярно имате стартирана друга инстанция на Gajim. Файловият трансфер ще " +#~ "бъде отменен." + +#~ msgid "A GTK+ jabber client" +#~ msgstr "Джабър клиент за GTK+" + +#~ msgid "when I am " +#~ msgstr "когато съм " + +#~ msgid "LaTeX" +#~ msgstr "LaTeX" + +#~ msgid "Transform LaTeX expressions between $$ $$." +#~ msgstr "Трансформира изрази на LaTex, разграничени с $$ $$." + +#, fuzzy +#~ msgid "" +#~ "Requires texlive-latex-base and (dvipng or ImageMagick). You have to set " +#~ "'use_latex' to True in the Advanced Configuration Editor." +#~ msgstr "" +#~ "Изисква texlive-latex-base и dvipng. Трябва да активирате опцията " +#~ "„use_latex“ в редактора на настройки за напреднали." + +#, fuzzy +#~ msgid "" +#~ "Requires texlive-latex-base and (dvipng or ImageMagick) (All is in " +#~ "MikTeX). You have to set 'use_latex' to True in the Advanced " +#~ "Configuration Editor." +#~ msgstr "" +#~ "Изисква texlive-latex-base и dvipng. Трябва да активирате опцията " +#~ "„use_latex“ в редактора на настройки за напреднали." + +#, fuzzy +#~ msgid "Requires python-farsight." +#~ msgstr "Изисква python-avahi." + +#, fuzzy +#~ msgid "one of: offline, online, chat, away, xa, dnd, invisible " +#~ msgstr "" +#~ "едно от: offline (изключен), online (на линия), chat (свободен за " +#~ "разговор), away (отсъствам), xa (не съм на разположение), dnd (зает), " +#~ "invisible (невидим)" + +#, fuzzy +#~ msgid "" +#~ "Returns current status message(the global one unless account is specified)" +#~ msgstr "" +#~ "Връща текущото съобщение за състояние (общото, в случай, че не е указан " +#~ "акаунт)" + +#, fuzzy +#~ msgid "" +#~ "Too many arguments. \n" +#~ "Type \"%s help %s\" for more info" +#~ msgstr "" +#~ "Твърде много аргументи. \n" +#~ "Напишете „%(basename)s help %(command)s“ за повече информация" + +#, fuzzy +#~ msgid "" +#~ "Argument \"%s\" is not specified. \n" +#~ "Type \"%s help %s\" for more info" +#~ msgstr "" +#~ "Не е указан аргумент „%(arg)s“.\n" +#~ "Напишете „%(basename)s help %(command)s“ за повече информация" + +#~ msgid "Disk WriteError" +#~ msgstr "Грешка при запис на диска" + +#~ msgid "Subject: %s" +#~ msgstr "Тема: %s" + +#, fuzzy +#~ msgid "Mood: %s" +#~ msgstr "Настроение:" + +#, fuzzy +#~ msgid "Activity: %s" +#~ msgstr "Дейност:" + +#~ msgid "_Disable showing event in systray" +#~ msgstr "_Изключване на показване на събитието в областта за уведомяване" + +#~ msgid "_Show event in systray" +#~ msgstr "Показване на събитието в областта за _уведомяване" + +#, fuzzy +#~ msgid "Autodetect on every Gajim startup" +#~ msgstr "С_вързване при стартиране" + +#, fuzzy +#~ msgid "Show systray:" +#~ msgstr "Показване на събитието в областта за _уведомяване" + +#~ msgid "Nickname not allowed: %s" +#~ msgstr "Псевдонимът не е позволен: %s" + +#~ msgid "we are now subscribed to %s" +#~ msgstr "вече сме записани за %s" + +#~ msgid "we are now unsubscribed from %s" +#~ msgstr "вече сме отписани от %s" + +#~ msgid "Account Modification" +#~ msgstr "Промяна на акаунт" + +#~ msgid "" +#~ "Check this so Gajim will connect in port 5223 where legacy servers are " +#~ "expected to have SSL capabilities. Note that Gajim uses TLS encryption by " +#~ "default if broadcasted by the server, and with this option enabled TLS " +#~ "will be disabled" +#~ msgstr "" +#~ "Изберете тази опция, за да може Gajim да се свързва по порт 5223, където " +#~ "се очаква сървърите да предоставят възможности по SSL. Забележете, че " +#~ "Gajim използва шифриране тип TLS по подразбиране и избирайки тази опция, " +#~ "изключвате TLS." + +#~ msgid "Edit Personal Information..." +#~ msgstr "Редактиране на личните данни…" + +#~ msgid "Hostname: " +#~ msgstr "Хост: " + +#~ msgid "" +#~ "If checked, Gajim will store the password in ~/.gajim/config with 'read' " +#~ "permission only for you" +#~ msgstr "" +#~ "Ако тази опция е избрана, паролата ще се запази в ~/.gajim/config с права " +#~ "за четене само за потребителя." + +#~ msgid "Port: " +#~ msgstr "Порт: " + +#~ msgid "Save _passphrase (insecure)" +#~ msgstr "Запазване на _паролата (рисковано за сигурността)" + +#~ msgid "Use _SSL (legacy)" +#~ msgstr "Използване на _SSL (извън употреба)" + +#~ msgid "gtk-add" +#~ msgstr "gtk-add" + +#~ msgid "gtk-close" +#~ msgstr "gtk-close" + +#~ msgid "gtk-remove" +#~ msgstr "gtk-remove" + +#~ msgid "" +#~ "Receive a Message\n" +#~ "Contact Disconnected \n" +#~ "Contact Change Status \n" +#~ "Group Chat Message Highlight \n" +#~ "Group Chat Message Received \n" +#~ "File Transfer Request \n" +#~ "File Transfer Started \n" +#~ "File Transfer Finished" +#~ msgstr "" +#~ "се получава съобщение\n" +#~ "контактът се изключва \n" +#~ "контактът сменя състоянието си \n" +#~ "се осветява съобщение в стая \n" +#~ "се получава съобщение в стая \n" +#~ "се получава запитване за файлов трансфер \n" +#~ "започва файлов трансфер \n" +#~ "завършва файлов трансфер" + +#~ msgid "" +#~ "contact(s)\n" +#~ "group(s)\n" +#~ "everybody" +#~ msgstr "" +#~ "контакт(и)\n" +#~ "група/и\n" +#~ "всички" + +#~ msgid "" +#~ "Account row\n" +#~ "Group row\n" +#~ "Contact row\n" +#~ "Chat Banner" +#~ msgstr "" +#~ "Ред за акаунт\n" +#~ "Ред за група\n" +#~ "Ред за контакт\n" +#~ "Лента за разговор" + +#~ msgid "" +#~ "Enter JID or Contact name\n" +#~ "Groupchat Histories\n" +#~ "All Chat Histories" +#~ msgstr "" +#~ "Въведете JID или име на контакт\n" +#~ "История на разговори в стаи\n" +#~ "История на всички разговори" + +#~ msgid "gtk-delete" +#~ msgstr "gtk-delete" + +#~ msgid "Send a file (Ctrl+F)" +#~ msgstr "Изпращане на файл (Ctrl+F)" + +#~ msgid "" +#~ "All chat states\n" +#~ "Composing only\n" +#~ "Disabled" +#~ msgstr "" +#~ "Всички състояния\n" +#~ "Само при писане\n" +#~ "Изключено" + +#~ msgid "" +#~ "Autodetect on every Gajim startup\n" +#~ "Always use GNOME default applications\n" +#~ "Always use KDE default applications\n" +#~ "Always use Xfce default applications\n" +#~ "Custom" +#~ msgstr "" +#~ "Автоматично определяне при всяко стартиране на Gajim\n" +#~ "Винаги да се използват стандартните програми на GNOME\n" +#~ "Винаги да се използват стандартните програми на KDE\n" +#~ "Винаги да се използват стандартните програми на Xfce\n" +#~ "Персонални" + +#~ msgid "" +#~ "Detached roster with detached chats\n" +#~ "Detached roster with single chat\n" +#~ "Single window for everything\n" +#~ "Detached roster with chat grouped by account\n" +#~ "Detached roster with chat grouped by type" +#~ msgstr "" +#~ "Отделен списък и прозорци за разговори\n" +#~ "Отделен списък и един прозорец за разговори\n" +#~ "Един прозорец за всичко\n" +#~ "Отделен списък и разговори, групирани по акаунт\n" +#~ "Отделен списък и разговори, групирани по вид" + +#~ msgid "" +#~ "Pop it up\n" +#~ "Notify me about it\n" +#~ "Show only in roster" +#~ msgstr "" +#~ "Показване в изскачащ прозорец\n" +#~ "Уведомяване\n" +#~ "Показване само в списъка" + +#~ msgid "" +#~ "none\n" +#~ "both\n" +#~ "from\n" +#~ "to" +#~ msgstr "" +#~ "без\n" +#~ "двустранно\n" +#~ "от\n" +#~ "за" + +#, fuzzy +#~ msgid "gtk-cancel" +#~ msgstr "gtk-close" + +#~ msgid "pysqlite2 (aka python-pysqlite2) dependency is missing. Exiting..." +#~ msgstr "" +#~ "Липсва зависимостта pysqlite2 (също познато и като python-pysqlite2). " +#~ "Спиране на програмата…" + +#~ msgid "Ability to have clickable URLs in chat and groupchat window banners." +#~ msgstr "" +#~ "Възможност за натискане с мишката върху адреси в заглавните части на " +#~ "прозорците." + +#~ msgid "Requires python-sexy." +#~ msgstr "Изисква python-sexy." + +#~ msgid "GTK+ runtime is missing libglade support" +#~ msgstr "Липсва поддръжка на libglade за библиотеката GTK+" + +#~ msgid "" +#~ "Please remove your current GTK+ runtime and install the latest stable " +#~ "version from %s" +#~ msgstr "" +#~ "Премахнете текущата версия на библиотеката GTK+ и инсталирайте последната " +#~ "стабилна от %s" + +#~ msgid "" +#~ "Please make sure that GTK+ and PyGTK have libglade support in your system." +#~ msgstr "" +#~ "Уверете се, че версиите на GTK+ и PyGTK на системата ви имат поддръжка за " +#~ "libglade." + +#~ msgid "Gajim needs PySQLite2 to run" +#~ msgstr "Gajim изисква PySQLite2" + +#, fuzzy +#~ msgid "gtk-ok" +#~ msgstr "gtk-close" + +#~ msgid "" +#~ "The host %s you configured as the ft_add_hosts_to_send advanced option is " +#~ "not valid, so ignored." +#~ msgstr "" +#~ "Хостът „%s“, който сте конфигурирали в опцията „ft_add_hosts_to_send“, не " +#~ "е валиден, така че се пренебрегва." + +#~ msgid "OpenPGP passphrase was not given" +#~ msgstr "Не беше зададена парола за OpenPGP" + +#~ msgid "" +#~ "To continue sending and receiving messages, you will need to reconnect." +#~ msgstr "" +#~ "За да продължите да изпращате и получавате съобщения, трябва да се " +#~ "свържете наново." + +#~ msgid "" +#~ "You are not connected or not visible to others. Your message could not be " +#~ "sent." +#~ msgstr "" +#~ "Не сте свързани и не сте видими за другите. Съобщението ви не можа да " +#~ "бъде изпратено." + +#~ msgid "[This message is encrypted]" +#~ msgstr "[Това съобщение е шифрирано]" + +#~ msgid "A icon in systemtray reflecting the current presence." +#~ msgstr "Икона в областта за уведомяване, отразяваща текущото състояние." + +#~ msgid "" +#~ "Requires python-gnome2-extras or compiled trayicon module from Gajim " +#~ "sources." +#~ msgstr "" +#~ "Изисква python-gnome2-extras или компилиран модул „trayicon“ от изходния " +#~ "код на Gajim." + +#~ msgid "Add Special _Notification" +#~ msgstr "Добавяне на специално _уведомление" + +#~ msgid "Assign Open_PGP Key" +#~ msgstr "Задаване на ключ на Open_PGP" + +#~ msgid "" +#~ "Usage: /%(command)s , sends action to the current group chat. Use " +#~ "third person. (e.g. /%(command)s explodes.)" +#~ msgstr "" +#~ "Употреба: /%(command)s <действие>, изпраща действие до текущата стая. " +#~ "Използва се трето лице (напр. „/%(command)s експлодира“)." + +#~ msgid "No help info for /%s" +#~ msgstr "Няма помощна информация за /%s" + +#~ msgid "Enable link-local/zeroconf messaging" +#~ msgstr "" +#~ "Активиране на съобщения от/за локални потребители (link-local/zeroconf)" + +#~ msgid "Nickname not found: %s" +#~ msgstr "Псевдонимът не е намерен: %s" + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s [reason], bans the JID from the group chat. The " +#~ "nickname of an occupant may be substituted, but not if it contains \"@\". " +#~ "If the JID is currently in the group chat, he/she/it will also be kicked." +#~ msgstr "" +#~ "Употреба: /%s <псевдоним|JID> [причина], отлъчва контакта от стаята. " +#~ "Псевдонимът може да се замества, но не и ако съдържа „@“. Ако контактът е " +#~ "в стаята, той също ще бъде изритан. Не се поддържат интервали в " +#~ "псевдонима." + +#~ msgid "" +#~ "Usage: /%s [reason], closes the current window or tab, displaying reason " +#~ "if specified." +#~ msgstr "" +#~ "Употреба: /%s [причина], затваря текущия прозорец или подпрозорец и " +#~ "показва причина, ако е указана." + +#~ msgid "" +#~ "Usage: /%s [reason], invites JID to the current group chat, " +#~ "optionally providing a reason." +#~ msgstr "" +#~ "Употреба: /%s [причина], кани JID в текущата стая, причината е по " +#~ "избор." + +#~ msgid "" +#~ "Usage: /%s @[/nickname], offers to join room@server " +#~ "optionally using specified nickname." +#~ msgstr "" +#~ "Употреба: /%s <стая>@<сървър>[/псевдоним], предлага влизане в " +#~ "стая@сървър, използването на указания псевдоним е по избор." + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s [reason], removes the occupant specified by " +#~ "nickname from the group chat and optionally displays a reason." +#~ msgstr "" +#~ "Употреба: /%s <псевдоним> [причина], премахва указания с псевдоним " +#~ "участник от стаята и евентуално показва причина. Не се поддържат " +#~ "интервали в псевдонима." + +#~ msgid "" +#~ "Usage: /%s [message], opens a private message window and sends " +#~ "message to the occupant specified by nickname." +#~ msgstr "" +#~ "Употреба: /%s <псевдоним> [съобщение], отваря прозорец за лично съобщение " +#~ "и изпраща съобщение до участника, указан с псевдонима." + +#~ msgid "Usage: /%s , changes your nickname in current group chat." +#~ msgstr "Употреба: /%s <псевдоним>, сменя псевдонима ви в текущата стая." + +#~ msgid "" +#~ "Usage: /%s [topic], displays or updates the current group chat topic." +#~ msgstr "" +#~ "Употреба: /%s [тема], показва или актуализира текущата тема на стаята." + +#~ msgid "" +#~ "Usage: /%s , sends a message without looking for other commands." +#~ msgstr "" +#~ "Употреба: /%s <съобщение>, изпраща съобщение без да се имат предвид други " +#~ "команди." + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s , allow to send you messages and private " +#~ "messages." +#~ msgstr "Употреба: /%s <псевдоним>, сменя псевдонима ви в текущата стая." + +#~ msgid "Click to see features (like MSN, ICQ transports) of jabber servers" +#~ msgstr "" +#~ "Натиснете, за да видите функционалностите (като MSN, ICQ транспорти) на " +#~ "Джабър сървърите" + +#, fuzzy +#~ msgid "Select the account with which to synchronise" +#~ msgstr "Изберете акаунт, с който искате да синхронизирате" + +#~ msgid "Modify Account" +#~ msgstr "Промяна на акаунт" + +#~ msgid "" +#~ "%(title)s by %(artist)s\n" +#~ "from %(source)s" +#~ msgstr "" +#~ "%(title)s на %(artist)s\n" +#~ "от %(source)s" + +#~ msgid "Gajim account %s" +#~ msgstr "Акаунт „%s“" + +#~ msgid "This account is already configured in Gajim." +#~ msgstr "Този акаунт вече е конфигуриран в Gajim." + +#~ msgid "PyOpenSSL" +#~ msgstr "PyOpenSSL" + +#~ msgid "gnome-keyring" +#~ msgstr "gnome-keyring" + +#~ msgid "" +#~ "Requires python-gnome2-extras or compilation of gtkspell module from " +#~ "Gajim sources." +#~ msgstr "" +#~ "Изисква python-gnome2-extras и компилация на модула „gtkspell“ от " +#~ "изходния код на Gajim." + +#~ msgid "Idle" +#~ msgstr "Време на бездействие" + +#~ msgid "Requires compilation of the idle module from Gajim sources." +#~ msgstr "Изисква компилация на модула „idle“ от изходния код на Gajim." + +#~ msgid "libsexy" +#~ msgstr "libsexy" + +#~ msgid "File transfer stopped by the contact at the other end" +#~ msgstr "Файловият трансфер е преустановен от отсрещната страна" diff --git a/po/br.po b/po/br.po new file mode 100644 index 0000000..8470278 --- /dev/null +++ b/po/br.po @@ -0,0 +1,15176 @@ +# translation of gajim.po to +# French translations for gajim package +# Traduction anglaise du package gajim. +# Copyright (C) 2004 THE gajim'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gajim package. +# Automatically generated, 2004. +# , 2005. +# +# +msgid "" +msgstr "" +"Project-Id-Version: gajim 0.10\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-01 17:44+0100\n" +"PO-Revision-Date: 2006-06-05 19:14+0100\n" +"Last-Translator: Giulia Fraboulet \n" +"Language-Team: \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Poedit-Language: French\n" +"X-Poedit-Country: FRANCE\n" + +#: gajim/history_manager.py:78 +#, fuzzy +msgid "Usage:" +msgstr "kemennadenn" + +#: gajim/history_manager.py:80 +#, fuzzy +msgid "Options:" +msgstr "Boulomelloù:" + +#: gajim/history_manager.py:82 +msgid "Show this help message and exit" +msgstr "" + +#: gajim/history_manager.py:83 +msgid "Choose folder for logfile" +msgstr "" + +#: gajim/history_manager.py:113 +msgid "Cannot find history logs database" +msgstr "Dibosupl eo kavout titourva an istoradur" + +#: gajim/history_manager.py:114 +#, fuzzy, python-format +msgid "%s does not exist." +msgstr "Ce salon n'existe pas." + +#: gajim/history_manager.py:147 gajim/history_manager.py:201 +#: gajim/gtk/add_contact.py:31 gajim/gtk/discovery.py:833 +#: gajim/gtk/accounts.py:892 gajim/data/gui/vcard_information_window.ui:55 +#: gajim/data/gui/bookmarks.ui:45 gajim/data/gui/blocking_list.ui:43 +#: gajim/data/gui/mam_preferences.ui:117 +#, fuzzy +msgid "XMPP Address" +msgstr "_Chomlec'h:" + +#: gajim/history_manager.py:160 gajim/history_manager.py:208 +#: gajim/gtk/history.py:108 gajim/data/gui/history_window.ui:89 +msgid "Date" +msgstr "Deiziad" + +#: gajim/history_manager.py:167 gajim/history_manager.py:231 +#: gajim/data/gui/profile.ui:232 gajim/data/gui/vcard_information_window.ui:442 +#: gajim/data/gui/bookmarks.ui:84 +msgid "Nickname" +msgstr "Lesanv" + +#: gajim/history_manager.py:178 gajim/history_manager.py:217 +#: gajim/gtk/history.py:117 gajim/data/gui/single_message_window.ui:266 +msgid "Message" +msgstr "Kemennadenn" + +#: gajim/history_manager.py:186 gajim/history_manager.py:224 +#: gajim/data/gui/groups_post_window.ui:49 +#: gajim/data/gui/single_message_window.ui:205 +msgid "Subject" +msgstr "Titl" + +#: gajim/history_manager.py:254 +msgid "Database Cleanup" +msgstr "" + +#: gajim/history_manager.py:255 +#, fuzzy +msgid "Clean up the database?" +msgstr "o krouiñ titourva an istoradur" + +#: gajim/history_manager.py:256 +msgid "" +"This is STRONGLY NOT RECOMMENDED IF GAJIM IS RUNNING.\n" +"Normally, the allocated database size will not be freed, it will just become " +"reusable. This operation may take a while." +msgstr "" + +#: gajim/history_manager.py:262 +#, fuzzy +msgid "_Cleanup" +msgstr "_Naetaat" + +#: gajim/history_manager.py:527 gajim/gtk/filetransfer.py:238 +#: gajim/gtk/filetransfer.py:248 +msgid "You" +msgstr "C'hwi" + +#: gajim/history_manager.py:539 +#, python-format +msgid "%(who)s on %(time)s said: %(message)s\n" +msgstr "%(time)s e lâras %(who)s: %(message)s\n" + +#: gajim/history_manager.py:576 gajim/history_manager.py:615 +#: gajim/gtk/themes.py:362 gajim/gtk/roster_item_exchange.py:75 +#: gajim/gtk/roster_item_exchange.py:185 +msgid "Delete" +msgstr "Dilemel" + +#: gajim/history_manager.py:577 +#, fuzzy +msgid "Delete Conversation" +msgid_plural "Delete Conversations" +msgstr[0] "Titouroù" +msgstr[1] "Titouroù" + +#: gajim/history_manager.py:578 +#, fuzzy, python-format +msgid "Do you want to permanently delete this conversation with %s?" +msgid_plural "Do you want to permanently delete these conversations?" +msgstr[0] "Ha fellout a ra deoc'h da vat diverkañ ar gemennadenn ziuzet?" +msgstr[1] "Ha fellout a ra deoc'h da vat diverkañ ar gemennadenn ziuzet?" + +#: gajim/history_manager.py:616 +#, fuzzy +msgid "Delete Message" +msgid_plural "Delete Messages" +msgstr[0] "Titour-stad" +msgstr[1] "Titour-stad" + +#: gajim/history_manager.py:617 +#, fuzzy +msgid "Do you want to permanently delete this message?" +msgid_plural "Do you want to permanently delete these messages?" +msgstr[0] "Ha fellout a ra deoc'h da vat diverkañ ar gemennadenn ziuzet?" +msgstr[1] "Ha fellout a ra deoc'h da vat diverkañ ar c'hemennadennoù diuzet?" + +#: gajim/roster_window.py:268 gajim/roster_window.py:991 +msgid "Merged accounts" +msgstr "Kontoù strollet" + +#: gajim/roster_window.py:756 gajim/roster_window.py:1667 +#: gajim/roster_window.py:1669 gajim/roster_window.py:1986 +#: gajim/roster_window.py:3065 gajim/roster_window.py:3098 +#: gajim/roster_window.py:4026 gajim/gui_interface.py:338 +#: gajim/gui_menu_builder.py:254 gajim/gui_menu_builder.py:345 +#: gajim/chat_control.py:291 gajim/chat_control.py:421 +#: gajim/gtk/add_contact.py:320 gajim/gtk/roster_item_exchange.py:112 +#: gajim/gtk/subscription_request.py:77 gajim/gtk/subscription_request.py:126 +#: gajim/common/helpers.py:89 gajim/common/helpers.py:207 +#: gajim/common/contacts.py:243 gajim/common/contacts.py:382 +#: gajim/common/contacts.py:493 +#, fuzzy +msgid "Not in contact list" +msgstr "Diskouez an darempredoù _ezlinenn" + +#: gajim/roster_window.py:823 gajim/roster_window.py:1579 +#: gajim/roster_window.py:1612 gajim/roster_window.py:1663 +#: gajim/roster_window.py:1665 gajim/roster_window.py:1820 +#: gajim/roster_window.py:2378 gajim/roster_window.py:3990 +#: gajim/roster_window.py:4638 gajim/gtk/discovery.py:127 +#: gajim/gtk/discovery.py:128 gajim/gtk/discovery.py:1419 +#: gajim/common/helpers.py:88 gajim/common/contacts.py:225 +#: gajim/common/contacts.py:485 +msgid "Transports" +msgstr "Dorioù" + +#: gajim/roster_window.py:1671 gajim/roster_window.py:1673 +#: gajim/roster_window.py:3990 gajim/roster_window.py:4603 +#: gajim/gui_interface.py:1425 gajim/common/helpers.py:91 +#: gajim/common/contacts.py:223 +#, fuzzy +msgid "Group chats" +msgstr "Flapoù a-stroll" + +#: gajim/roster_window.py:1901 gajim/chat_control.py:1688 +#, fuzzy +msgid "Remote contact stopped transfer" +msgstr "Dilemel an darempred diouzh ar roll" + +#: gajim/roster_window.py:1903 gajim/chat_control.py:1690 +#, fuzzy +msgid "Error opening file" +msgstr "Fazi en ur lenn ar restr:" + +#: gajim/roster_window.py:1968 +#, fuzzy +msgid "Authorization sent" +msgstr "Kaset eo bet an aotre" + +#: gajim/roster_window.py:1969 +#, fuzzy, python-format +msgid "\"%s\" will now see your status." +msgstr "Anavezout a raio \"%s\" ho stad adalek bremañ." + +#: gajim/roster_window.py:1987 +msgid "Subscription request has been sent" +msgstr "Kaset eo bet ar goulenn goumanantiñ" + +#: gajim/roster_window.py:1988 +#, fuzzy, python-format +msgid "If \"%s\" accepts this request you will know their status." +msgstr "Ma asant \"%s\" ar c'houmanant e weloc'h he/e stad." + +#: gajim/roster_window.py:2002 +#, fuzzy +msgid "Authorization removed" +msgstr "Dilamet eo bet an aotre" + +#: gajim/roster_window.py:2003 +#, python-format +msgid "Now \"%s\" will always see you as offline." +msgstr "Adalek bremañ e welo ac'hanoc'h \"%s\" atav evel pa vefec'h ezlinenn." + +#: gajim/roster_window.py:2198 gajim/data/gui/shortcuts_window.ui:66 +#, fuzzy +msgid "Quit Gajim" +msgstr "Gajim" + +#: gajim/roster_window.py:2199 +#, fuzzy +msgid "You are about to quit Gajim" +msgstr "Êtes-vous sûr de vouloir quitter les salons \"%s\" ?" + +#: gajim/roster_window.py:2200 +#, fuzzy +msgid "Are you sure you want to quit Gajim?" +msgstr "Êtes-vous sûr de vouloir quitter les salons \"%s\" ?" + +#: gajim/roster_window.py:2201 +msgid "_Always quit when closing Gajim" +msgstr "" + +#: gajim/roster_window.py:2204 gajim/roster_window.py:2299 +#: gajim/roster_window.py:2340 gajim/data/gui/application_menu.ui:30 +#: gajim/data/gui/systray_context_menu.ui:83 +#, fuzzy +msgid "_Quit" +msgstr "_Kuitaat" + +#: gajim/roster_window.py:2292 +#, fuzzy +msgid "Stop File Transfers" +msgstr "Treuzkasoù" + +#: gajim/roster_window.py:2293 +#, fuzzy +msgid "You still have running file transfers" +msgstr "Nullañ an treuzkas" + +#: gajim/roster_window.py:2294 +msgid "" +"If you quit now, the file(s) being transferred will be lost.\n" +"Do you still want to quit?" +msgstr "" + +#: gajim/roster_window.py:2333 +#, fuzzy +msgid "Unread Messages" +msgstr "Darvoudoù chomet dilenn" + +#: gajim/roster_window.py:2334 +#, fuzzy +msgid "You still have unread messages" +msgstr "Kemennadennoù nevez ho peus" + +#: gajim/roster_window.py:2335 +#, fuzzy +msgid "" +"Messages will only be available for reading them later if storing chat " +"history is enabled and if the contact is in your contact list." +msgstr "" +"Posubl e vo lenn ar gemennadennoù diwezhatoc'h m'emañ an istoradur war enaou." + +#: gajim/roster_window.py:2590 +msgid "You have unread messages" +msgstr "Kemennadennoù nevez ho peus" + +#: gajim/roster_window.py:2591 +#, fuzzy +msgid "You must read them before removing this transport." +msgstr "Lennit an holl zarvoudoù a-raok lemel ar gont-mañ." + +#: gajim/roster_window.py:2594 +#, fuzzy, python-format +msgid "Transport '%s' will be removed" +msgstr "Dilamet e vo an nor \"%s\"" + +#: gajim/roster_window.py:2595 +#, fuzzy +msgid "" +"You will no longer be able to send and receive messages from and to contacts " +"using this transport." +msgstr "" +"N'helloc'h ket mui kas pe resev kemennadennoù d'an darempredoù liammet gant " +"an nor-mañ." + +#: gajim/roster_window.py:2598 +#, fuzzy +msgid "Transports will be removed" +msgstr "Dilamet e vo an nor \"%s\"" + +#: gajim/roster_window.py:2603 +#, fuzzy, python-format +msgid "" +"You will no longer be able to send and receive messages from and to contacts " +"using these transports:\n" +"%s" +msgstr "" +"N'helloc'h ket mui kas pe resev kemennadennoù d'an darempredoù liammet gant " +"an nor-mañ." + +#: gajim/roster_window.py:2607 +#, fuzzy +msgid "Remove Transport" +msgstr "Dorioù" + +#: gajim/roster_window.py:2662 gajim/chat_control.py:428 +#, fuzzy +msgid "Block Contact" +msgstr "Darempredoù" + +#: gajim/roster_window.py:2663 gajim/chat_control.py:429 +#, fuzzy +msgid "Really block this contact?" +msgstr "N'eus ket tu da implij OpenPGP war an urzhiataer-mañ" + +#: gajim/roster_window.py:2664 gajim/chat_control.py:430 +#, fuzzy +msgid "" +"You will appear offline for this contact and you will not receive further " +"messages." +msgstr "JID an darempred hag a resevo ar gemennadenn" + +#: gajim/roster_window.py:2666 +#, fuzzy +msgid "_Do not ask again" +msgstr "_Chom hep goulenn ket" + +#: gajim/roster_window.py:2669 gajim/chat_control.py:434 +#, fuzzy +msgid "_Report Spam" +msgstr "_Diskleriañ ar Bug" + +#: gajim/roster_window.py:2673 gajim/roster_window.py:4778 +#: gajim/gui_menu_builder.py:485 gajim/chat_control.py:438 +#: gajim/data/gui/contact_context_menu.ui:151 +msgid "_Block" +msgstr "" + +#: gajim/roster_window.py:2706 +#, fuzzy +msgid "Rename Contact" +msgstr "Darempredoù" + +#: gajim/roster_window.py:2707 +#, fuzzy, python-format +msgid "Rename contact %s?" +msgstr "Darempredoù" + +#: gajim/roster_window.py:2708 +#, fuzzy +msgid "Please enter a new nickname" +msgstr "Da _heul al lesanv:" + +#: gajim/roster_window.py:2712 gajim/roster_window.py:3439 +#: gajim/roster_window.py:4679 gajim/dialogs.py:103 gajim/dialogs.py:116 +#: gajim/gtk/accounts.py:308 gajim/common/contacts.py:178 +#: gajim/common/contacts.py:227 gajim/data/gui/shortcuts_window.ui:12 +#: gajim/data/gui/preferences.ui:96 +msgid "General" +msgstr "Hollek" + +#: gajim/roster_window.py:2715 +#, fuzzy +msgid "Rename Group" +msgstr "_Adenvel" + +#: gajim/roster_window.py:2716 +#, fuzzy, python-format +msgid "Rename group %s?" +msgstr "_Adenvel" + +#: gajim/roster_window.py:2717 +#, fuzzy +msgid "Please enter a new name" +msgstr "Da _heul al lesanv:" + +#: gajim/roster_window.py:2747 gajim/roster_window.py:2869 +#: gajim/data/gui/groupchat_control.ui:1859 +#, fuzzy +msgid "_Rename" +msgstr "_Adenvel" + +#: gajim/roster_window.py:2769 gajim/roster_window.py:2770 +#, fuzzy +msgid "Remove Group" +msgstr "_Dilemel" + +#: gajim/roster_window.py:2771 +#, fuzzy, python-format +msgid "Do you want to remove %s from the contact list?" +msgstr "Fellout a ra din emezelañ evit krouiñ ur gont" + +#: gajim/roster_window.py:2772 +#, fuzzy +msgid "_Also remove all contacts of this group from contact list" +msgstr "Dilemel an darempred diouzh ar roll" + +#: gajim/roster_window.py:2864 gajim/roster_window.py:2865 +#, fuzzy +msgid "Rename Group Chat" +msgstr "Flap a-stroll" + +#: gajim/roster_window.py:2866 +#, fuzzy +msgid "Please enter a new name for this group chat" +msgstr "Leuniit an titouroù evit ho kont nevez" + +#: gajim/roster_window.py:3082 +#, fuzzy +msgid "Remove Contact" +msgstr "Darempredoù" + +#: gajim/roster_window.py:3083 +#, fuzzy +msgid "Remove contact from contact list" +msgstr "Dilemel an darempred diouzh ar roll" + +#: gajim/roster_window.py:3084 +#, fuzzy, python-format +msgid "You are about to remove %(name)s (%(jid)s) from your contact list.\n" +msgstr "Fellout a ra din emezelañ evit krouiñ ur gont" + +#: gajim/roster_window.py:3093 gajim/roster_window.py:3113 +#, fuzzy +msgid "" +"By removing this contact you also remove authorization. This means the " +"contact will see you as offline." +msgstr "" +"En ur zilemel an darempred-mañ, e tilamit ivez e/he aotre. Atav e welo " +"ac'hanoc'h evel pa vefec'h ezlinenn." + +#: gajim/roster_window.py:3104 +#, fuzzy +msgid "Do you want to continue?" +msgstr "Petra a fell deoc'h ober?" + +#: gajim/roster_window.py:3115 +#, fuzzy +msgid "_I want this contact to know my status after removal" +msgstr "Aotreañ an darempred-mañ da welout ma stad war-lerc'h e zilam" + +#: gajim/roster_window.py:3122 +#, fuzzy +msgid "Remove contacts from contact list" +msgstr "Dilemel an darempred diouzh ar roll" + +#: gajim/roster_window.py:3128 +#, fuzzy, python-format +msgid "" +"By removing the following contacts, you will also remove authorization. This " +"means they will see you as offline:\n" +"\n" +"%s" +msgstr "" +"En ur zilemel an darempred-mañ, e tilamit ivez e/he aotre. Atav e welo " +"ac'hanoc'h evel pa vefec'h ezlinenn." + +#: gajim/roster_window.py:3132 +#, fuzzy +msgid "Remove Contacts" +msgstr "Darempredoù" + +#: gajim/roster_window.py:3761 +#, fuzzy +msgid "You are about to create a metacontact" +msgstr "Rankout a rit krouiñ ur gont a-raok gellout flapiñ gant tud all." + +#: gajim/roster_window.py:3762 +msgid "" +"Metacontacts are a way to regroup several contacts in one single contact. " +"Generally it is used when the same person has several XMPP- or Transport-" +"Accounts." +msgstr "" + +#: gajim/roster_window.py:3766 +#, fuzzy +msgid "Create Metacontact" +msgstr "Darempredoù" + +#: gajim/roster_window.py:3769 gajim/chat_control_base.py:771 +#: gajim/groupchat_control.py:1676 gajim/message_window.py:368 +#, fuzzy +msgid "_Do not ask me again" +msgstr "_Chom hep goulenn ket" + +#: gajim/roster_window.py:3772 gajim/data/gui/groupchat_creation.ui:317 +#, fuzzy +msgid "_Create" +msgstr "Dizoberiant" + +#: gajim/roster_window.py:3889 +#, fuzzy +msgid "Invalid file URI:" +msgstr "Restr direizh" + +#: gajim/roster_window.py:3901 +#, fuzzy, python-format +msgid "Send this file to %s:\n" +msgid_plural "Send these files to %s:\n" +msgstr[0] "Fellout a ra da %s kas deoc'h ur restr:" +msgstr[1] "Fellout a ra da %s kas deoc'h ur restr:" + +#: gajim/roster_window.py:3909 gajim/roster_window.py:3910 +#: gajim/chat_control.py:1541 gajim/gtk/filetransfer_progress.py:36 +#, fuzzy +msgid "File Transfer" +msgstr "Treuzkasoù" + +#: gajim/roster_window.py:3914 gajim/data/gui/xml_console.ui:334 +msgid "_Send" +msgstr "_Kas" + +#: gajim/roster_window.py:4067 +#, fuzzy, python-format +msgid "Send %(from)s to %(to)s" +msgstr "Kas %s" + +#: gajim/roster_window.py:4080 +#, fuzzy, python-format +msgid "Make %s first contact" +msgstr "Strollañ %s ha %s" + +#: gajim/roster_window.py:4085 +#, fuzzy, python-format +msgid "Make %(contact1)s and %(contact2)s metacontacts" +msgstr "Strollañ %s ha %s" + +#: gajim/roster_window.py:4436 gajim/roster_window.py:4523 +#: gajim/gtk/status_selector.py:76 +msgid "_Change Status Message" +msgstr "_Kemmañ an titour-stad" + +#: gajim/roster_window.py:4456 +#, fuzzy +msgid "Publish Tune" +msgstr "_Embann" + +#: gajim/roster_window.py:4467 +#, fuzzy +msgid "Publish Location" +msgstr "_Embann" + +#: gajim/roster_window.py:4606 +msgid "_Maximize All" +msgstr "" + +#: gajim/roster_window.py:4615 gajim/roster_window.py:4743 +#, fuzzy +msgid "Send Group M_essage" +msgstr "_Kas ur gemennadenn d'ar servijer" + +#: gajim/roster_window.py:4622 +msgid "To all users" +msgstr "" + +#: gajim/roster_window.py:4626 +#, fuzzy +msgid "To all online users" +msgstr "Utilisateurs En _Ligne" + +#: gajim/roster_window.py:4637 gajim/roster_window.py:4749 +#: gajim/data/gui/contact_context_menu.ui:36 +msgid "In_vite to" +msgstr "" + +#: gajim/roster_window.py:4663 gajim/gui_menu_builder.py:471 +#, fuzzy +msgid "_Rename…" +msgstr "_Adenvel" + +#: gajim/roster_window.py:4669 gajim/gui_menu_builder.py:493 +#: gajim/data/gui/contact_context_menu.ui:181 +#, fuzzy +msgid "Remo_ve" +msgstr "_Dilemel" + +#: gajim/roster_window.py:4759 +#, fuzzy +msgid "_Manage Contacts" +msgstr "Darempredoù" + +#: gajim/roster_window.py:4765 +#, fuzzy +msgid "Edit _Groups…" +msgstr "Kemmañ ar _strolladoù" + +#: gajim/roster_window.py:4774 gajim/gui_menu_builder.py:482 +#: gajim/data/gui/contact_context_menu.ui:143 +msgid "_Unblock" +msgstr "" + +#: gajim/roster_window.py:4786 gajim/gtk/dialogs.py:70 +#: gajim/data/gui/filetransfers.ui:12 +msgid "_Remove" +msgstr "_Dilemel" + +#: gajim/roster_window.py:4823 +msgid "_Maximize" +msgstr "" + +#: gajim/roster_window.py:4828 +#, fuzzy +msgid "Re_name" +msgstr "_Adenvel" + +#: gajim/roster_window.py:4836 gajim/groupchat_control.py:1680 +msgid "_Leave" +msgstr "" + +#: gajim/roster_window.py:4844 +#, fuzzy +msgid "Execute command" +msgstr "urzhiad" + +#: gajim/roster_window.py:4852 gajim/data/gui/application_menu.ui:68 +#: gajim/data/gui/contact_context_menu.ui:205 +msgid "_History" +msgstr "_Istoradur" + +#: gajim/roster_window.py:4945 gajim/gui_interface.py:339 +#: gajim/common/helpers.py:90 gajim/common/contacts.py:221 +msgid "Observers" +msgstr "Sellerien" + +#: gajim/roster_window.py:4948 +msgid "Observers can see your status, but you are not allowed to see theirs" +msgstr "" + +#: gajim/privatechat_control.py:105 gajim/groupchat_control.py:1225 +#, python-format +msgid "You are now known as %s" +msgstr "Anavezet oc'h bremañ gant an anv %s" + +#: gajim/privatechat_control.py:107 gajim/groupchat_control.py:1227 +#, fuzzy, python-brace-format +msgid "{nick} is now known as {new_nick}" +msgstr "%s a zo bremañ %s" + +#: gajim/privatechat_control.py:138 gajim/groupchat_control.py:1254 +#, fuzzy, python-brace-format +msgid "You are now {show}{status}" +msgstr "Anavezet oc'h bremañ gant an anv %s" + +#: gajim/privatechat_control.py:142 gajim/groupchat_control.py:1258 +#, fuzzy, python-brace-format +msgid "{nick} is now {show}{status}" +msgstr "%(nick)s a zo bremañ %(status)s" + +#: gajim/privatechat_control.py:199 +msgid "Sending private message failed" +msgstr "Kas ar gemennadenn brevez c'hwitet" + +#: gajim/privatechat_control.py:201 +#, fuzzy, python-format +msgid "You are no longer in group chat \"%(room)s\" or \"%(nick)s\" has left." +msgstr "N'emaoc'h ket er webgaoz \"%s\" ken, pe neuze eo aet kuit \"%s\"." + +#: gajim/application.py:81 +#, fuzzy +msgid "Show the application's version" +msgstr "_Implij an arlun-gelaouiñ (trayicon)" + +#: gajim/application.py:88 +#, fuzzy +msgid "Show only critical errors" +msgstr "Diskouez er _roll hepken" + +#: gajim/application.py:95 +msgid "Separate profile files completely (even history database and plugins)" +msgstr "" + +#: gajim/application.py:103 +msgid "Print XML stanzas and other debug information" +msgstr "" + +#: gajim/application.py:110 +#, fuzzy +msgid "Use defined profile in configuration directory" +msgstr "Aozer kefluniañ dre ar munut" + +#: gajim/application.py:118 +#, fuzzy +msgid "Set configuration directory" +msgstr "Kefluniañ ar webgaoz" + +#: gajim/application.py:126 +msgid "Configure logging system" +msgstr "" + +#: gajim/application.py:134 +#, fuzzy +msgid "Show all warnings" +msgstr "Diskouez an holl _zarvoudoù o c'hortoz" + +#: gajim/application.py:141 +msgid "Open IPython shell" +msgstr "" + +#: gajim/application.py:148 +#, fuzzy +msgid "Pops up a window with the next pending event" +msgstr "A zifoup ur prenestr gant ar gemennadenn dilenn da-heul" + +#: gajim/application.py:154 gajim/data/gui/shortcuts_window.ui:17 +#: data/org.gajim.Gajim.desktop.in:21 +#, fuzzy +msgid "Start a new chat" +msgstr "Kregiñ da flapiñ" + +#: gajim/application.py:205 gajim/gui_interface.py:131 +msgid "Database Error" +msgstr "" + +#: gajim/gui_interface.py:168 +#, fuzzy, python-format +msgid "HTTP (%(method)s) Authorization for %(url)s (ID: %(id)s)" +msgstr "Aotre HTTP (%s) evit %s (id : %s)" + +#: gajim/gui_interface.py:173 +msgid "Do you accept this request?" +msgstr "Degemer a rit ar goulenn-mañ?" + +#: gajim/gui_interface.py:175 +#, fuzzy, python-format +msgid "Do you accept this request (account: %s)?" +msgstr "Degemer a rit ar goulenn-mañ?" + +#: gajim/gui_interface.py:181 +#, fuzzy +msgid "Authorization Request" +msgstr "Kaset eo bet an aotre" + +#: gajim/gui_interface.py:182 +#, fuzzy +msgid "HTTP Authorization Request" +msgstr "Kaset eo bet an aotre" + +#: gajim/gui_interface.py:185 gajim/gui_interface.py:376 +#: gajim/gui_interface.py:2002 gajim/gtk/filetransfer.py:339 +#, fuzzy +msgid "_No" +msgstr "Hini ebet" + +#: gajim/gui_interface.py:203 gajim/gtk/notification.py:189 +#: gajim/gtk/notification.py:216 +#, fuzzy +msgid "Connection Failed" +msgstr "Kevreadenn" + +#: gajim/gui_interface.py:299 +#, fuzzy, python-format +msgid "error while sending %(message)s ( %(error)s )" +msgstr "fazi en ur gas %s ( %s )" + +#: gajim/gui_interface.py:324 gajim/gtk/notification.py:189 +#, fuzzy +msgid "Subscription request" +msgstr "Goulenn koumanantiñ" + +#: gajim/gui_interface.py:359 +msgid "Authorization accepted" +msgstr "Aotre degmeret" + +#: gajim/gui_interface.py:360 +#, fuzzy, python-format +msgid "The contact \"%(jid)s\" has authorized you to see their status." +msgstr "Aotreet oc'h bet gant \"%s\" da welet e stad." + +#: gajim/gui_interface.py:370 +#, fuzzy +msgid "Subscription Removed" +msgstr "Goulenn koumanantiñ" + +#: gajim/gui_interface.py:371 +#, fuzzy, python-format +msgid "%(name)s (%(jid)s) has removed subscription from you" +msgstr "Dilamet eo bet ho aotre digant \"%s\"" + +#: gajim/gui_interface.py:373 +msgid "" +"You will always see this contact as offline.\n" +"Do you want to remove them from your contact list?" +msgstr "" + +#: gajim/gui_interface.py:398 gajim/gtk/notification.py:190 +#, fuzzy +msgid "Unsubscribed" +msgstr "_Koumanantiñ" + +#: gajim/gui_interface.py:410 +#, python-format +msgid "%(jid)s declined the invitation: %(reason)s" +msgstr "" + +#: gajim/gui_interface.py:414 +#, python-format +msgid "%(jid)s declined the invitation" +msgstr "" + +#: gajim/gui_interface.py:431 gajim/chat_control.py:1606 +#: gajim/gtk/notification.py:188 gajim/gtk/notification.py:214 +#: gajim/gtk/notification.py:286 gajim/gtk/groupchat_invitation.py:33 +#, fuzzy +msgid "Group Chat Invitation" +msgstr "Pedadenn evit ur sal-flapiñ" + +#: gajim/gui_interface.py:432 +#, fuzzy, python-format +msgid "%(contact)s invited you to %(chat)s" +msgstr "Pedet oc'h bet gant %(contact_jid)s er sal-flapiñ %(room_jid)s" + +#: gajim/gui_interface.py:453 +#, fuzzy +msgid "Certificate Passphrase Required" +msgstr "Ger-kuzh ret" + +#: gajim/gui_interface.py:454 +#, fuzzy, python-format +msgid "Enter the certificate passphrase for account %s" +msgstr "Roit ho ker-kuzh GPG evit ar gont %s." + +#: gajim/gui_interface.py:463 +#, python-format +msgid "Enter your password for account %s" +msgstr "Roit ho ker-kuzh evit ar gont %s" + +#: gajim/gui_interface.py:475 +msgid "Password Required" +msgstr "Ger-kuzh ret" + +#: gajim/gui_interface.py:475 +msgid "Save password" +msgstr "Enrollañ ar ger-kuzh" + +#: gajim/gui_interface.py:544 gajim/gui_interface.py:575 +#: gajim/gtk/notification.py:187 gajim/gtk/notification.py:279 +#: gajim/gtk/filetransfer.py:333 gajim/gtk/filetransfer.py:334 +msgid "File Transfer Error" +msgstr "Fazi treuzkas" + +#: gajim/gui_interface.py:609 +#, python-format +msgid "%s wants to send you a file." +msgstr "Fellout a ra da %s kas deoc'h ur restr." + +#: gajim/gui_interface.py:611 gajim/gtk/notification.py:186 +#: gajim/gtk/notification.py:276 gajim/gtk/filetransfer.py:485 +msgid "File Transfer Request" +msgstr "Goulenn treuzkas" + +#: gajim/gui_interface.py:714 +#, fuzzy +msgid "Remote Contact Stopped Transfer" +msgstr "Dilemel an darempred diouzh ar roll" + +#: gajim/gui_interface.py:719 +#, fuzzy +msgid "Error Opening File" +msgstr "Fazi en ur lenn ar restr:" + +#: gajim/gui_interface.py:729 +#, fuzzy +msgid "SSL Certificate Error" +msgstr "Anv-arveriad-ez direizh" + +#: gajim/gui_interface.py:738 gajim/gui_interface.py:768 +#: gajim/gui_interface.py:794 gajim/chat_control.py:1573 +#: gajim/gtk/notification.py:187 gajim/gtk/notification.py:282 +msgid "File Transfer Completed" +msgstr "Echu an treuzkasadenn" + +#: gajim/gui_interface.py:742 gajim/gui_interface.py:773 +#: gajim/gui_interface.py:800 gajim/gtk/notification.py:188 +#: gajim/gtk/notification.py:283 +msgid "File Transfer Stopped" +msgstr "Sac'het an treuzkas" + +#: gajim/gui_interface.py:746 +#, fuzzy +msgid "File Transfer Failed" +msgstr "Treuzkasoù" + +#: gajim/gui_interface.py:769 +#, fuzzy, python-format +msgid "%(filename)s received from %(name)s." +msgstr "Arsavet eo an treuskas eus %(filename)s digant %(name)s." + +#: gajim/gui_interface.py:774 +#, python-format +msgid "File transfer of %(filename)s from %(name)s stopped." +msgstr "Arsavet eo an treuskas eus %(filename)s digant %(name)s." + +#: gajim/gui_interface.py:780 +#, fuzzy, python-format +msgid "File transfer of %(filename)s from %(name)s failed." +msgstr "Arsavet eo an treuskas eus %(filename)s digant %(name)s." + +#: gajim/gui_interface.py:795 +#, python-format +msgid "You successfully sent %(filename)s to %(name)s." +msgstr "Gant berzh ho peus kaset %(filename)s da %(name)s." + +#: gajim/gui_interface.py:801 +#, python-format +msgid "File transfer of %(filename)s to %(name)s stopped." +msgstr "Arsavet eo an treuzkas eus %(filename)s da %(name)s." + +#: gajim/gui_interface.py:807 +#, fuzzy, python-format +msgid "File transfer of %(filename)s to %(name)s failed." +msgstr "Arsavet eo an treuzkas eus %(filename)s da %(name)s." + +#: gajim/gui_interface.py:919 gajim/gui_interface.py:920 +msgid "Username Conflict" +msgstr "" + +#: gajim/gui_interface.py:921 +#, fuzzy +msgid "Please enter a new username for your local account" +msgstr "Leuniit an titouroù evit ho kont nevez" + +#: gajim/gui_interface.py:925 gajim/gtk/dialogs.py:51 +#: gajim/data/gui/passphrase_dialog.ui:44 +msgid "_OK" +msgstr "_Mat eo" + +#: gajim/gui_interface.py:988 gajim/chat_control.py:763 +#: gajim/chat_control.py:1660 gajim/gtk/notification.py:190 +#, fuzzy +msgid "Incoming Call" +msgstr "Anv-arveriad-ez direizh" + +#: gajim/gui_interface.py:990 +#, python-format +msgid "%s is calling" +msgstr "" + +#: gajim/gui_interface.py:1071 gajim/gui_interface.py:1072 +#, fuzzy +msgid "Insecure Connection" +msgstr "Kevreadenn" + +#: gajim/gui_interface.py:1073 +#, fuzzy, python-format +msgid "" +"You are about to connect to the account %(account)s (%(server)s) using an " +"insecure connection method. This means conversations will not be encrypted. " +"Connecting PLAIN is strongly discouraged." +msgstr "Rankout a rit krouiñ ur gont a-raok gellout flapiñ gant tud all." + +#: gajim/gui_interface.py:1080 gajim/data/gui/groupchat_control.ui:595 +msgid "_Abort" +msgstr "" + +#: gajim/gui_interface.py:1083 +#, fuzzy +msgid "_Connect Anyway" +msgstr "O lugañ" + +#: gajim/gui_interface.py:1921 +msgid "Gajim: IPython Console" +msgstr "" + +#: gajim/gui_interface.py:1998 +msgid "Update Check" +msgstr "" + +#: gajim/gui_interface.py:1999 +msgid "Gajim Update Check" +msgstr "" + +#: gajim/gui_interface.py:2000 +msgid "Search for Gajim updates periodically?" +msgstr "" + +#: gajim/gui_interface.py:2005 +msgid "_Search Periodically" +msgstr "" + +#: gajim/gui_interface.py:2045 +#, fuzzy +msgid "Update Available" +msgstr "Dihegerz" + +#: gajim/gui_interface.py:2046 +#, fuzzy +msgid "Gajim Update Available" +msgstr "Dihegerz" + +#: gajim/gui_interface.py:2047 +#, python-format +msgid "There is an update available for Gajim (latest version: %s)" +msgstr "" + +#: gajim/gui_interface.py:2049 +#, fuzzy +msgid "_Do not show again" +msgstr "_Chom hep goulenn ket" + +#: gajim/gui_interface.py:2051 gajim/gtk/accounts.py:126 +msgid "_Later" +msgstr "" + +#: gajim/gui_interface.py:2054 +msgid "_Update Now" +msgstr "" + +#: gajim/gui_menu_builder.py:358 +#, fuzzy +msgid "I would like to add you to my contact list" +msgstr "Me blijfe din ouzhpennañ ac'hanoc'h em roll-darempredoù." + +#: gajim/gui_menu_builder.py:435 +#, fuzzy +msgid "Send Single _Message…" +msgstr "Kas ur gemennadenn _simpl" + +#: gajim/gui_menu_builder.py:450 +#, fuzzy +msgid "E_xecute Command…" +msgstr "urzhiad" + +#: gajim/gui_menu_builder.py:458 +#, fuzzy +msgid "_Manage Transport" +msgstr "Dorioù" + +#: gajim/gui_menu_builder.py:464 +#, fuzzy +msgid "_Modify Transport" +msgstr "Dorioù" + +#: gajim/gui_menu_builder.py:503 gajim/data/gui/contact_context_menu.ui:198 +#, fuzzy +msgid "_Information" +msgstr "Titouroù" + +#: gajim/gui_menu_builder.py:516 +#, fuzzy +msgid "Send File" +msgstr "Kas ur _restr" + +#: gajim/gui_menu_builder.py:517 +#, fuzzy +msgid "Upload File…" +msgstr "Enrollañ ar restr dindan..." + +#: gajim/gui_menu_builder.py:518 +#, fuzzy +msgid "Send File Directly…" +msgstr "Enrollañ ar restr dindan..." + +#: gajim/gui_menu_builder.py:520 gajim/gtk/accounts.py:734 +#, fuzzy +msgid "Send Read Markers" +msgstr "Kas ar pakadoù derc'hel al lugadenn vev" + +#: gajim/gui_menu_builder.py:521 gajim/gtk/accounts.py:710 +#, fuzzy +msgid "Send Chatstate" +msgstr "Stad diwezhañ: %s" + +#: gajim/gui_menu_builder.py:522 gajim/data/gui/groupchat_control.ui:307 +#, fuzzy +msgid "Invite Contacts…" +msgstr "Darempredoù" + +#: gajim/gui_menu_builder.py:523 gajim/gui_menu_builder.py:741 +#: gajim/gui_menu_builder.py:768 gajim/gui_menu_builder.py:807 +#, fuzzy +msgid "Add to Contact List…" +msgstr "_Ouzhpennañ un darempred..." + +#: gajim/gui_menu_builder.py:524 +#, fuzzy +msgid "Block Contact…" +msgstr "Darempredoù" + +#: gajim/gui_menu_builder.py:525 gajim/data/gui/chat_control.ui:936 +#, fuzzy +msgid "Start Call…" +msgstr "Kregiñ da flapiñ" + +#: gajim/gui_menu_builder.py:526 gajim/gui_menu_builder.py:576 +#: gajim/gui_menu_builder.py:802 gajim/data/gui/groupchat_control.ui:1334 +#, fuzzy +msgid "Information" +msgstr "Titouroù" + +#: gajim/gui_menu_builder.py:527 gajim/gui_menu_builder.py:588 +#, fuzzy +msgid "History" +msgstr "_Istoradur" + +#: gajim/gui_menu_builder.py:533 gajim/gui_menu_builder.py:710 +#: gajim/gtk/preferences.py:671 gajim/gtk/groupchat_settings.py:36 +#: gajim/gtk/accounts.py:682 +msgid "Disabled" +msgstr "Dizoberiant" + +#: gajim/gui_menu_builder.py:534 gajim/gtk/groupchat_settings.py:37 +#: gajim/gtk/accounts.py:681 +#, fuzzy +msgid "Composing Only" +msgstr "O skrivañ" + +#: gajim/gui_menu_builder.py:535 gajim/gtk/groupchat_settings.py:38 +#, fuzzy +msgid "All Chat States" +msgstr "Stad:" + +#: gajim/gui_menu_builder.py:577 +#, fuzzy +msgid "Settings…" +msgstr "échec lors de la publication de votre vCard" + +#: gajim/gui_menu_builder.py:578 +#, fuzzy +msgid "Manage Group Chat" +msgstr "Flap a-stroll" + +#: gajim/gui_menu_builder.py:579 +#, fuzzy +msgid "Rename…" +msgstr "_Adenvel" + +#: gajim/gui_menu_builder.py:580 +#, fuzzy +msgid "Change Subject…" +msgstr "Kemmañ ar _sujed" + +#: gajim/gui_menu_builder.py:581 +#, fuzzy +msgid "Upload Avatar…" +msgstr "Dibabit ur skeudenn" + +#: gajim/gui_menu_builder.py:582 +#, fuzzy +msgid "Configure…" +msgstr "_Kenderc'hel" + +#: gajim/gui_menu_builder.py:583 +#, fuzzy +msgid "Destroy…" +msgstr "Taolennadur: %s" + +#: gajim/gui_menu_builder.py:585 +#, fuzzy +msgid "Change Nickname…" +msgstr "Cheñch _lesanv" + +#: gajim/gui_menu_builder.py:586 +msgid "Request Voice" +msgstr "" + +#: gajim/gui_menu_builder.py:587 gajim/gui_menu_builder.py:825 +#, fuzzy +msgid "Execute Command…" +msgstr "urzhiad" + +#: gajim/gui_menu_builder.py:589 +msgid "Leave" +msgstr "" + +#: gajim/gui_menu_builder.py:631 +#, fuzzy +msgid "Add Contact…" +msgstr "_Ouzhpennañ un darempred..." + +#: gajim/gui_menu_builder.py:632 gajim/gtk/accounts.py:861 +#: gajim/gtk/accounts.py:899 gajim/gtk/profile.py:53 +#, fuzzy +msgid "Profile" +msgstr "restr" + +#: gajim/gui_menu_builder.py:633 +#, fuzzy +msgid "Send Single Message…" +msgstr "Kas ur gemennadenn _simpl" + +#: gajim/gui_menu_builder.py:634 +#, fuzzy +msgid "Discover Services…" +msgstr "_Dizoleiñ ar servijoù" + +#: gajim/gui_menu_builder.py:635 gajim/gtk/server_info.py:47 +#, fuzzy +msgid "Server Info" +msgstr "Servijer" + +#: gajim/gui_menu_builder.py:636 gajim/gtk/accounts.py:312 +#: gajim/data/gui/preferences.ui:853 +msgid "Advanced" +msgstr "Dre ar munut" + +#: gajim/gui_menu_builder.py:637 gajim/gtk/mam_preferences.py:100 +#, fuzzy +msgid "Archiving Preferences" +msgstr "_Penndibaboù" + +#: gajim/gui_menu_builder.py:638 +#, fuzzy +msgid "Blocking List" +msgstr "Roll argas" + +#: gajim/gui_menu_builder.py:639 +#, fuzzy +msgid "Bookmarks" +msgstr "_Ouzhpennañ ar webgaoz d'ar sinedoù" + +#: gajim/gui_menu_builder.py:640 +#, fuzzy +msgid "PEP Configuration" +msgstr "Kefluniañ ar webgaoz" + +#: gajim/gui_menu_builder.py:641 +#, fuzzy +msgid "Synchronise History…" +msgstr "Diskouez an darempredoù _ezlinenn" + +#: gajim/gui_menu_builder.py:643 gajim/gtk/server_info.py:141 +#: gajim/data/gui/groupchat_config.ui:36 +#, fuzzy +msgid "Admin" +msgstr "_Merour-ez" + +#: gajim/gui_menu_builder.py:644 +#, fuzzy +msgid "Send Server Message…" +msgstr "_Kas ur gemennadenn d'ar servijer" + +#: gajim/gui_menu_builder.py:645 +#, fuzzy +msgid "Set MOTD…" +msgstr "Lakaat MOTD" + +#: gajim/gui_menu_builder.py:646 +#, fuzzy +msgid "Update MOTD…" +msgstr "Hizivaat MOTD" + +#: gajim/gui_menu_builder.py:647 +#, fuzzy +msgid "Delete MOTD…" +msgstr "Dilemel MOTD" + +#: gajim/gui_menu_builder.py:684 +#, fuzzy +msgid "_Add Account…" +msgstr "_Ouzhpennañ un darempred..." + +#: gajim/gui_menu_builder.py:690 +#, fuzzy +msgid "_Modify Accounts…" +msgstr "_Kemmañ ar gont..." + +#: gajim/gui_menu_builder.py:700 gajim/data/gui/account_context_menu.ui:79 +#: gajim/data/gui/zeroconf_context_menu.ui:26 +#, fuzzy +msgid "_Modify Account…" +msgstr "_Kemmañ ar gont..." + +#: gajim/gui_menu_builder.py:704 gajim/gtk/accounts.py:51 +msgid "Accounts" +msgstr "Kontoù" + +#: gajim/gui_menu_builder.py:734 gajim/gui_menu_builder.py:739 +#, fuzzy +msgid "Copy XMPP Address" +msgstr "_Kopiañ ar JID/Chomlec'h postel" + +#: gajim/gui_menu_builder.py:735 gajim/gui_menu_builder.py:767 +#, fuzzy +msgid "Join Groupchat" +msgstr "Ebarzhiñ ur sal-flapiñ" + +#: gajim/gui_menu_builder.py:740 gajim/gui_menu_builder.py:766 +#: gajim/gtk/start_chat.py:636 +#: gajim/data/gui/subscription_request_window.ui:149 +msgid "Start Chat" +msgstr "Kregiñ da flapiñ" + +#: gajim/gui_menu_builder.py:746 +#, fuzzy +msgid "Copy Link Location" +msgstr "_Kopiañ chomlec'h an ere" + +#: gajim/gui_menu_builder.py:747 +#, fuzzy +msgid "Open Link in Browser" +msgstr "_Digerién an ere er furcher web" + +#: gajim/gui_menu_builder.py:752 +#, fuzzy +msgid "Copy Email Address" +msgstr "_Kopiañ ar JID/Chomlec'h postel" + +#: gajim/gui_menu_builder.py:753 gajim/gui_menu_builder.py:765 +#, fuzzy +msgid "Open Email Composer" +msgstr "_Digeriñ ar bostelerez" + +#: gajim/gui_menu_builder.py:758 +#, fuzzy +msgid "Copy Location" +msgstr "_Kopiañ chomlec'h an ere" + +#: gajim/gui_menu_builder.py:759 gajim/gtk/preferences.py:291 +#, fuzzy +msgid "Show Location" +msgstr "Kemmañ ar gont" + +#: gajim/gui_menu_builder.py:764 +#, fuzzy +msgid "Copy XMPP Address/Email" +msgstr "_Kopiañ ar JID/Chomlec'h postel" + +#: gajim/gui_menu_builder.py:816 +#, fuzzy +msgid "Invite" +msgstr "Diwelus" + +#: gajim/gui_menu_builder.py:832 +#, fuzzy +msgid "Kick" +msgstr "_Ermaeziañ" + +#: gajim/gui_menu_builder.py:840 +#, fuzzy +msgid "Ban" +msgstr "_Argas" + +#: gajim/gui_menu_builder.py:850 +#, fuzzy +msgid "Make Owner" +msgstr "_Perc'hener-ez" + +#: gajim/gui_menu_builder.py:859 +#, fuzzy +msgid "Make Admin" +msgstr "_Merour-ez" + +#: gajim/gui_menu_builder.py:868 +#, fuzzy +msgid "Make Member" +msgstr "_Ezel" + +#: gajim/gui_menu_builder.py:877 +#, fuzzy +msgid "Revoke Member" +msgstr "_Ezel" + +#: gajim/gui_menu_builder.py:887 +msgid "Grant Voice" +msgstr "" + +#: gajim/gui_menu_builder.py:890 +msgid "Revoke Voice" +msgstr "" + +#: gajim/gui_menu_builder.py:910 +#, fuzzy +msgid "Copy" +msgstr "Webgaoz:" + +#: gajim/chat_control.py:346 gajim/groupchat_control.py:348 +#, fuzzy +msgid "Send File…" +msgstr "Kas ur _restr" + +#: gajim/chat_control.py:348 gajim/groupchat_control.py:354 +#, fuzzy +msgid "No File Transfer available" +msgstr "Treuzkasoù" + +#: gajim/chat_control.py:479 +#, fuzzy +msgid "Show a list of formattings" +msgstr "Klikit evit enlakaat ur boulomell (Alt+M)" + +#: gajim/chat_control.py:483 +#, fuzzy +msgid "This contact does not support HTML" +msgstr "Ur roll eus an treuzkasoù oberiant, echu pe arsavet" + +#: gajim/chat_control.py:684 +msgid "Ping?" +msgstr "" + +#: gajim/chat_control.py:687 +#, python-format +msgid "Pong! (%s seconds)" +msgstr "" + +#: gajim/chat_control.py:758 +#, fuzzy +msgid "Calling…" +msgstr "Oc'h argas..." + +#: gajim/chat_control.py:783 gajim/chat_control.py:870 +#, fuzzy +msgid "Connection Error" +msgstr "Kevreadenn" + +#: gajim/chat_control.py:811 gajim/data/gui/chat_control.ui:1185 +msgid "Turn Camera on" +msgstr "" + +#: gajim/chat_control.py:822 +msgid "Calling (Video)…" +msgstr "" + +#: gajim/chat_control.py:826 gajim/chat_control.py:834 +#: gajim/chat_control.py:864 +msgid "Turn Camera off" +msgstr "" + +#: gajim/chat_control.py:832 +msgid "Incoming Call (Video)" +msgstr "" + +#: gajim/chat_control.py:1020 +#, fuzzy, python-format +msgid "%(nickname)s from group chat %(room_name)s" +msgstr "%(nickname)s : %(message)s" + +#: gajim/chat_control.py:1257 +msgid "Note: Chat history is disabled for this contact." +msgstr "" + +#: gajim/chat_control.py:1259 +msgid "Note: Chat history is disabled for this account." +msgstr "" + +#: gajim/chat_control.py:1260 +#, fuzzy, python-format +msgid "" +"You just received a new message from %s.\n" +"Do you want to close this tab?" +msgstr "O paouez resev ur gemennadenn nevez digant \"%s\" emaoc'h" + +#: gajim/chat_control.py:1266 gajim/gtk/remove_account.py:43 +#: gajim/gtk/change_password.py:44 +#, fuzzy +msgid "Close" +msgstr "_Kas & Serriñ" + +#: gajim/chat_control.py:1267 gajim/gtk/notification.py:184 +#: gajim/gtk/notification.py:204 gajim/gtk/notification.py:218 +#: gajim/gtk/notification.py:271 gajim/common/connection_handlers_events.py:237 +msgid "New Message" +msgstr "Kemennadenn nevez" + +#: gajim/chat_control.py:1272 gajim/chat_control.py:1579 +#: gajim/chat_control.py:1588 gajim/message_window.py:371 +#: gajim/data/gui/groupchat_control.ui:1117 +#: gajim/data/gui/groupchat_control.ui:1203 +#: gajim/data/gui/groupchat_control.ui:1308 +#: gajim/data/gui/groupchat_control.ui:1997 +#, fuzzy +msgid "_Close" +msgstr "_Kas & Serriñ" + +#: gajim/chat_control.py:1359 +#, fuzzy, python-format +msgid "" +"Subject: %(subject)s\n" +"%(message)s" +msgstr "" +"Titl : %s\n" +"%s" + +#: gajim/chat_control.py:1480 +#, fuzzy, python-format +msgid "%(name)s is now %(show)s %(status)s" +msgstr "%(nick)s a zo bremañ %(status)s" + +#: gajim/chat_control.py:1545 +#, fuzzy +msgid "Size" +msgstr "Taille : " + +#: gajim/chat_control.py:1547 gajim/chat_control.py:1609 +#: gajim/gtk/groupchat_invitation.py:67 +#, fuzzy +msgid "_Decline" +msgstr "_Ezlinenn" + +#: gajim/chat_control.py:1550 gajim/chat_control.py:1611 +#: gajim/chat_control.py:1668 gajim/gtk/dialogs.py:59 +#, fuzzy +msgid "_Accept" +msgstr "Asantiñ" + +#: gajim/chat_control.py:1577 gajim/gtk/filetransfer.py:259 +#, fuzzy +msgid "Open _Folder" +msgstr "_Digeriñ ar renkell pal" + +#: gajim/chat_control.py:1662 +#, fuzzy +msgid "" +"\n" +"Video Call" +msgstr "Flap prevez" + +#: gajim/chat_control.py:1664 +#, fuzzy +msgid "" +"\n" +"Voice Call" +msgstr "Goulenn treuzkas" + +#: gajim/chat_control.py:1666 +#, fuzzy +msgid "_Reject" +msgstr "Dilemel" + +#: gajim/chat_control.py:1692 gajim/gtk/filetransfer.py:297 +#, fuzzy +msgid "File transfer stopped" +msgstr "Sac'het an treuzkas" + +#: gajim/chat_control.py:1697 gajim/gtk/filetransfer.py:275 +#: gajim/gtk/filetransfer.py:284 +#, fuzzy +msgid "File transfer cancelled" +msgstr "Nullet eo bet an treuzkas" + +#: gajim/chat_control.py:1698 +msgid "Connection with peer cannot be established." +msgstr "N'eus ket tu seveniñ al lugadenn gant an darempred." + +#: gajim/chat_control_base.py:141 gajim/gtk/start_chat.py:649 +#: gajim/gtk/groupchat_invite.py:318 +#, fuzzy, python-format +msgid "Account: %s" +msgstr "Kontoù" + +#: gajim/chat_control_base.py:592 +#, fuzzy +msgid "and authenticated" +msgstr "Implij an diskleriañ" + +#: gajim/chat_control_base.py:596 +#, fuzzy +msgid "and NOT authenticated" +msgstr "Implij an diskleriañ" + +#: gajim/chat_control_base.py:600 +#, python-format +msgid "%(type)s encryption is active %(authenticated)s." +msgstr "" + +#: gajim/chat_control_base.py:715 +msgid "_Undo" +msgstr "" + +#: gajim/chat_control_base.py:723 gajim/conversation_textview.py:417 +msgid "_Clear" +msgstr "" + +#: gajim/chat_control_base.py:728 +msgid "Paste as quote" +msgstr "" + +#: gajim/chat_control_base.py:767 +msgid "Paste Image" +msgstr "Pegañ ar skeudenn" + +#: gajim/chat_control_base.py:768 +msgid "You are trying to paste an image" +msgstr "Emaoc'h o klask pegañ ur skeudenn" + +#: gajim/chat_control_base.py:769 +#, fuzzy +msgid "" +"Are you sure you want to paste your clipboard's image into the chat window?" +msgstr "Ha sur oc'h e fell deoc'h kuitaat ar flap \"%s\"?" + +#: gajim/chat_control_base.py:775 +msgid "_Paste" +msgstr "" + +#: gajim/chat_control_base.py:1361 gajim/gtk/accounts.py:310 +#: gajim/data/gui/profile.ui:17 gajim/data/gui/profile.ui:318 +#, fuzzy +msgid "Privacy" +msgstr "Roll argas" + +#: gajim/chat_control_base.py:1362 +#, fuzzy +msgid "Warning" +msgstr "Argas %s" + +#: gajim/chat_control_base.py:1363 +#, python-format +msgid "" +"If you send a file to %s, your real XMPP address will be revealed." +msgstr "" + +#: gajim/chat_control_base.py:1368 +msgid "_Continue" +msgstr "_Kenderc'hel" + +#: gajim/gajim_remote.py:55 gajim/common/exceptions.py:70 +msgid "D-Bus is not present on this machine or python module is missing" +msgstr "" +"N'eus ket eus D-Bus war an urzhiataer-mañ, pe mankout a ra ur mollad python" + +#: gajim/gajim_remote.py:77 +#, fuzzy +msgid "Shows a help on specific command" +msgstr "diskouez ar skoazell evit un urzhiad resis" + +#: gajim/gajim_remote.py:80 +msgid "command" +msgstr "urzhiad" + +#: gajim/gajim_remote.py:81 +msgid "show help on command" +msgstr "diskouez ar skoazell evit an urzhiad" + +#: gajim/gajim_remote.py:85 +#, fuzzy +msgid "Lists all contacts in the contact list, one for each line" +msgstr "" +"A ziskouez ur roll eus an holl zarempredoù, pep darempred war ul linenn." + +#: gajim/gajim_remote.py:87 gajim/gajim_remote.py:102 gajim/gajim_remote.py:112 +#: gajim/gajim_remote.py:122 gajim/gajim_remote.py:133 +#: gajim/gajim_remote.py:142 gajim/gajim_remote.py:163 +#: gajim/gajim_remote.py:171 gajim/gajim_remote.py:180 +#: gajim/gajim_remote.py:187 +#, fuzzy +msgid "?CLI:account" +msgstr "kont" + +#: gajim/gajim_remote.py:87 +msgid "show only contacts of the given account" +msgstr "diskouez darempredoù ar gont roet hepken" + +#: gajim/gajim_remote.py:93 +msgid "Prints a list of registered accounts" +msgstr "A ziskouez roll ar c'hontoù enrollet" + +#: gajim/gajim_remote.py:97 +#, fuzzy +msgid "Changes the status of account(s)" +msgstr "A cheñch stad ar gont pe ar c'hontoù" + +#: gajim/gajim_remote.py:100 +#, fuzzy +msgid "?CLI:status" +msgstr "stad" + +#: gajim/gajim_remote.py:100 +#, fuzzy +msgid "" +"one of: offline, online, chat, away, xa, dnd. If not set, use account's " +"previous status" +msgstr "unan eus: offline, online, chat, away, xa, dnd, invisible " + +#: gajim/gajim_remote.py:101 gajim/gajim_remote.py:121 +#: gajim/gajim_remote.py:132 gajim/gajim_remote.py:141 +#, fuzzy +msgid "?CLI:message" +msgstr "kemennadenn" + +#: gajim/gajim_remote.py:101 +msgid "status message" +msgstr "titour stad" + +#: gajim/gajim_remote.py:102 +msgid "" +"change status of account \"account\". If not specified, try to change status " +"of all accounts that have \"sync with global status\" option set" +msgstr "" +"A cheñch stad ar gont \"kont\". Ma n'eus hini ebet roet, klaskit cheñch stad " +"an holl gontoù o deus an dibab \"sync with global status\" enaouet" + +#: gajim/gajim_remote.py:108 +#, fuzzy +msgid "Changes the priority of account(s)" +msgstr "A cheñch stad ar gont pe ar c'hontoù" + +#: gajim/gajim_remote.py:110 +#, fuzzy +msgid "?CLI:priority" +msgstr "Digant" + +#: gajim/gajim_remote.py:110 +#, fuzzy +msgid "priority you want to give to the account" +msgstr "Fellout a ra din emezelañ evit krouiñ ur gont" + +#: gajim/gajim_remote.py:112 +#, fuzzy +msgid "" +"change the priority of the given account. If not specified, change status of " +"all accounts that have \"sync with global status\" option set" +msgstr "" +"A cheñch stad ar gont \"kont\". Ma n'eus hini ebet roet, klaskit cheñch stad " +"an holl gontoù o deus an dibab \"sync with global status\" enaouet" + +#: gajim/gajim_remote.py:118 +#, fuzzy +msgid "" +"Sends new chat message to a contact in the contact list. Account is optional." +msgstr "Usage: /%s, cache les boutons de discussion." + +#: gajim/gajim_remote.py:120 gajim/gajim_remote.py:130 +#, fuzzy +msgid "XMPP Address of the contact that will receive the message" +msgstr "JID an darempred hag a resevo ar gemennadenn" + +#: gajim/gajim_remote.py:121 gajim/gajim_remote.py:132 +#: gajim/gajim_remote.py:141 +msgid "message contents" +msgstr "korf ar gemennadenn" + +#: gajim/gajim_remote.py:122 gajim/gajim_remote.py:133 +#: gajim/gajim_remote.py:142 +msgid "if specified, the message will be sent using this account" +msgstr "Ma vez resisaet, e vo kaset ar gemennadenn en ur implij ar gont-mañ" + +#: gajim/gajim_remote.py:127 +#, fuzzy +msgid "" +"Sends a chat message to someone on your contact list. Account is optional." +msgstr "Usage: /%s, cache les boutons de discussion." + +#: gajim/gajim_remote.py:131 +#, fuzzy +msgid "subject" +msgstr "Titl" + +#: gajim/gajim_remote.py:131 +#, fuzzy +msgid "message subject" +msgstr "Kemennadenn gaset" + +#: gajim/gajim_remote.py:138 +msgid "Sends new message to a group chat you've joined." +msgstr "" + +#: gajim/gajim_remote.py:140 +#, fuzzy +msgid "XMPP Address of the group chat that will receive the message" +msgstr "JID an darempred hag a resevo ar gemennadenn" + +#: gajim/gajim_remote.py:147 +msgid "Gets detailed info on a contact" +msgstr "Evit kargañ titouroù-munut un darempred" + +#: gajim/gajim_remote.py:149 gajim/gajim_remote.py:162 +#: gajim/gajim_remote.py:170 +#, fuzzy +msgid "XMPP Address of the contact" +msgstr "JID an darempred" + +#: gajim/gajim_remote.py:153 +msgid "Gets detailed info on a account" +msgstr "Evit kargañ titouroù-munut ur gont" + +#: gajim/gajim_remote.py:155 +msgid "Name of the account" +msgstr "Anv ar gont" + +#: gajim/gajim_remote.py:159 +msgid "Sends file to a contact" +msgstr "Kas ur restr d'un darempred" + +#: gajim/gajim_remote.py:161 +msgid "file" +msgstr "restr" + +#: gajim/gajim_remote.py:161 +msgid "File path" +msgstr "Treug ar restr" + +#: gajim/gajim_remote.py:163 +msgid "if specified, file will be sent using this account" +msgstr "m'eo resisaet, e vo kaset ar rest en ur implij ar gont-mañ" + +#: gajim/gajim_remote.py:168 +#, fuzzy +msgid "Removes contact from contact list" +msgstr "Dilemel an darempred diouzh ar roll" + +#: gajim/gajim_remote.py:171 +msgid "if specified, contact is taken from the contact list of this account" +msgstr "Si spécifié, le contact est pris dans la liste de contact de ce compte" + +#: gajim/gajim_remote.py:178 +msgid "Returns current status (the global one unless account is specified)" +msgstr "" +"A ro ar stad red (an hini hollek, nemet ez eus bet resisaet ur gont bennak)" + +#: gajim/gajim_remote.py:185 +msgid "" +"Returns current status message (the global one unless account is specified)" +msgstr "" +"A gas an titour-stad red (an hini hollek, nemet ez eus bet resisaet ur gont " +"bennak)" + +#: gajim/gajim_remote.py:192 +#, fuzzy +msgid "Returns number of unread messages" +msgstr "A ro an niver a gemennadennoù chomet dilenn" + +#: gajim/gajim_remote.py:197 +msgid "Sends custom XML" +msgstr "" + +#: gajim/gajim_remote.py:199 +msgid "XML to send" +msgstr "" + +#: gajim/gajim_remote.py:200 +msgid "" +"Account to which the XML will be sent; if not specified, XML will be sent to " +"all accounts" +msgstr "" + +#: gajim/gajim_remote.py:207 +msgid "Check if Gajim is running" +msgstr "" + +#: gajim/gajim_remote.py:233 +msgid "Missing argument \"contact_jid\"" +msgstr "" + +#: gajim/gajim_remote.py:253 +#, fuzzy, python-format +msgid "" +"'%s' is not in your contact list.\n" +"Please specify account for sending the message." +msgstr "" +"N'emañ ket '%s' en hor roll darempredoù.\n" +"Resisait ar gont evit kas ur gemennadenn." + +#: gajim/gajim_remote.py:256 +msgid "You have no active account" +msgstr "N'ho peus kont bev ebet" + +#: gajim/gajim_remote.py:304 +msgid "It seems Gajim is not running. So you can't use gajim-remote." +msgstr "" + +#: gajim/gajim_remote.py:331 +#, python-format +msgid "" +"Usage: %(basename)s %(command)s %(arguments)s \n" +"\t %(help)s" +msgstr "" + +#: gajim/gajim_remote.py:335 +msgid "Arguments:" +msgstr "Arguments :" + +#: gajim/gajim_remote.py:339 +#, python-format +msgid "%s not found" +msgstr "N'eo ket bet kavet %s" + +#: gajim/gajim_remote.py:345 +#, fuzzy, python-format +msgid "" +"Usage:\n" +" %s command [arguments]\n" +"\n" +"Command is one of:\n" +msgstr "" +"Implij: %s urzhiad [arguments]\n" +"urzhiad eo unan eus :\n" + +#: gajim/gajim_remote.py:415 +#, python-format +msgid "" +"Too many arguments. \n" +"Type \"%(basename)s help %(command)s\" for more info" +msgstr "" + +#: gajim/gajim_remote.py:420 +#, python-format +msgid "" +"Argument \"%(arg)s\" is not specified. \n" +"Type \"%(basename)s help %(command)s\" for more info" +msgstr "" + +#: gajim/dialogs.py:70 +#, fuzzy, python-format +msgid "Contact name: %s" +msgstr "Anv an darempred: %s" + +#: gajim/dialogs.py:72 +#, python-format +msgid "XMPP Address: %s" +msgstr "" + +#: gajim/dialogs.py:189 +msgid "Group" +msgstr "Strollad" + +#: gajim/dialogs.py:196 +msgid "In the group" +msgstr "Er strollad" + +#: gajim/dialogs.py:211 gajim/gtk/discovery.py:522 +msgid "You are not connected to the server" +msgstr "N'oc'h ket luget d'ar servijer" + +#: gajim/dialogs.py:212 +#, fuzzy +msgid "Without a connection, you can not synchronise your contacts." +msgstr "Rankout a rit bezañ luget evit cheñch ger-kuzh." + +#: gajim/dialogs.py:223 gajim/dialogs.py:294 +#: gajim/gtk/roster_item_exchange.py:83 gajim/gtk/discovery.py:826 +#: gajim/gtk/discovery.py:1650 gajim/gtk/discovery.py:1896 +#: gajim/gtk/history.py:99 gajim/gtk/vcard_grid.py:34 +#: gajim/data/gui/bookmarks.ui:66 +msgid "Name" +msgstr "Anv" + +#: gajim/dialogs.py:226 gajim/data/gui/preferences.ui:604 +#: gajim/data/gui/server_info.ui:146 +msgid "Server" +msgstr "Servijer" + +#: gajim/dialogs.py:262 +#, fuzzy +msgid "This account is not connected to the server" +msgstr "Luget eo ar gont \"%s\" d'ar servijer" + +#: gajim/dialogs.py:263 +#, fuzzy +msgid "You cannot synchronize with an account unless it is connected." +msgstr "N'hellit ket ebarzhiñ ur sal-flapiñ keit ha ma n'oc'h ket luget." + +#: gajim/dialogs.py:292 +msgid "Synchronise" +msgstr "" + +#: gajim/vcard.py:284 +msgid "?Client:Unknown" +msgstr "Dianav" + +#: gajim/vcard.py:289 +msgid "?OS:Unknown" +msgstr "Dianav" + +#: gajim/vcard.py:319 gajim/vcard.py:322 +#, fuzzy +msgid "?Time:Unknown" +msgstr "Dianav" + +#: gajim/vcard.py:373 +msgid "?Role in Group Chat:Role:" +msgstr "" + +#: gajim/vcard.py:377 +#, fuzzy +msgid "Affiliation:" +msgstr "Poelladoù" + +#: gajim/vcard.py:384 +#, fuzzy +msgid "" +"This contact is interested in your presence information, but you are not " +"interested in their presence" +msgstr "" +"Dedennet eo an darempred-mañ gant ho pezañs, met n'oc'h ket gant he/e hini" + +#: gajim/vcard.py:386 +#, fuzzy +msgid "" +"You are interested in the contact's presence information, but it is not " +"mutual" +msgstr "" +"Dedennet oc'h gant bezañs an darempred-mañ, met hennezh/hounnez n'eo ket " +"gant ho hini" + +#: gajim/vcard.py:388 +#, fuzzy +msgid "The contact and you want to exchange presence information" +msgstr "Dedennet hoc'h an eil gant bezañs egile/eben" + +#: gajim/vcard.py:390 +#, fuzzy +msgid "" +"You and the contact have a mutual disinterest in each-others presence " +"information" +msgstr "Dedennet hoc'h an eil gant bezañs egile/eben" + +#: gajim/vcard.py:396 +msgid "You are waiting contact's answer about your subscription request" +msgstr "Emaoc'h o c'hortoz respont an darempred d'ho koulenn koumanantiñ" + +#: gajim/vcard.py:398 +msgid "There is no pending subscription request." +msgstr "" + +#: gajim/vcard.py:403 gajim/vcard.py:453 gajim/vcard.py:549 +msgid " resource with priority " +msgstr "" + +#: gajim/conversation_textview.py:65 +#, fuzzy +msgid "Untrusted" +msgstr "Dibabit hoc'h alc'hwezh OpenPGP" + +#: gajim/conversation_textview.py:68 +msgid "Trust Not Decided" +msgstr "" + +#: gajim/conversation_textview.py:71 +msgid "Unverified" +msgstr "" + +#: gajim/conversation_textview.py:74 +msgid "Verified" +msgstr "" + +#: gajim/conversation_textview.py:225 +#, fuzzy +msgid "" +"Text below this line is what has been said since the\n" +"last time you paid attention to this group chat" +msgstr "" +"Dindan al linenn e welit ar pezh a zo bet lâret er sal-flapiñ dibaoe ar wech " +"diwezhañ ho peus taolet ur sell ennañ." + +#: gajim/conversation_textview.py:428 +#, fuzzy +msgid "_Quote" +msgstr "_Kuitaat" + +#: gajim/conversation_textview.py:436 +#, fuzzy, python-format +msgid "_Actions for \"%s\"" +msgstr "Oberoù evit \"%s\"" + +#: gajim/conversation_textview.py:450 +msgid "Read _Wikipedia Article" +msgstr "Lenn pennad _Wikipedia" + +#: gajim/conversation_textview.py:455 +msgid "Look it up in _Dictionary" +msgstr "Klask er _geriadur" + +#: gajim/conversation_textview.py:472 +#, python-format +msgid "Dictionary URL is missing an \"%s\" and it is not WIKTIONARY" +msgstr "" +"Mankout a ra un \"%s\" e-barzh URL ar geriaoueg, ha n'eo ket WIKTIONARY" + +#: gajim/conversation_textview.py:486 +#, python-format +msgid "Web Search URL is missing an \"%s\"" +msgstr "Mankout a ra un \"%s\" e-barzh URL ar webklask" + +#: gajim/conversation_textview.py:489 +msgid "Web _Search for it" +msgstr "Web_klask" + +#: gajim/conversation_textview.py:495 +msgid "Open as _Link" +msgstr "" + +#: gajim/conversation_textview.py:770 +#, fuzzy +msgid "Invalid URL" +msgstr "ID jabber direizh" + +#: gajim/conversation_textview.py:860 +msgid "" +"Message corrected. Original message:\n" +"{}" +msgstr "" + +#: gajim/conversation_textview.py:1031 +#, fuzzy +msgid "Not encrypted" +msgstr "N'eo ket kroget" + +#: gajim/conversation_textview.py:1034 +#, python-format +msgid "Encrypted (%s)" +msgstr "" + +#: gajim/conversation_textview.py:1141 gajim/gtk/history.py:618 +#, python-format +msgid "Subject: %s\n" +msgstr "Sujed: %s\n" + +#: gajim/conversation_textview.py:1250 +#, fuzzy +msgid "Received" +msgstr "%s resevet" + +#: gajim/conversation_textview.py:1272 +msgid "?Message state:Read" +msgstr "" + +#: gajim/groupchat_control.py:352 +#, fuzzy, python-format +msgid "Send File (max. %s MiB)…" +msgstr "Enrollañ ar restr dindan..." + +#: gajim/groupchat_control.py:497 +#, fuzzy, python-format +msgid "%s has been invited to this group chat" +msgstr "%(nick)s a zo bet skarzhet gant %(who)s : %(reason)s" + +#: gajim/groupchat_control.py:512 gajim/dialog_messages.py:31 +#: gajim/dialog_messages.py:36 gajim/gtk/single_message.py:238 +#, fuzzy +msgid "Invalid XMPP Address" +msgstr "Restr direizh" + +#: gajim/groupchat_control.py:575 +#, fuzzy +msgid "Loading avatar failed" +msgstr "Kas ar gemennadenn brevez c'hwitet" + +#: gajim/groupchat_control.py:595 +#, fuzzy, python-format +msgid "Avatar upload failed: %s" +msgstr "C'hwitet eo embannadur ar vCard" + +#: gajim/groupchat_control.py:598 +#, fuzzy +msgid "Avatar upload successful" +msgstr "C'hwitet eo embannadur ar vCard" + +#: gajim/groupchat_control.py:616 +#, fuzzy, python-format +msgid "Kick %s" +msgstr "Skarzhañ %s" + +#: gajim/groupchat_control.py:625 +#, fuzzy, python-format +msgid "Ban %s" +msgstr "Roll argas" + +#: gajim/groupchat_control.py:684 +#, fuzzy +msgid "Insert Nickname" +msgstr "Cheñch _lesanv" + +#: gajim/groupchat_control.py:775 gajim/groupchat_control.py:776 +#, fuzzy +msgid "Voice Request" +msgstr "Goulenn treuzkas" + +#: gajim/groupchat_control.py:777 +#, python-format +msgid "%(nick)s from %(room_name)s requests voice" +msgstr "" + +#: gajim/groupchat_control.py:781 +msgid "_Approve" +msgstr "" + +#: gajim/groupchat_control.py:1007 +#, fuzzy, python-format +msgid "%(nick)s has set the subject to %(subject)s" +msgstr "%(nick)s a zo bet skarzhet : %(reason)s" + +#: gajim/groupchat_control.py:1023 +msgid "Group chat now shows unavailable members" +msgstr "" + +#: gajim/groupchat_control.py:1026 +#, fuzzy +msgid "Group chat now does not show unavailable members" +msgstr "Ce salon n'existe pas." + +#: gajim/groupchat_control.py:1030 +msgid "A setting not related to privacy has been changed" +msgstr "" + +#: gajim/groupchat_control.py:1037 gajim/groupchat_control.py:1197 +#, fuzzy +msgid "Conversations are stored on the server" +msgstr "N'oc'h ket luget d'ar servijer" + +#: gajim/groupchat_control.py:1040 +#, fuzzy +msgid "Conversations are not stored on the server" +msgstr "Titouroù diwar ho penn, miret war ar servijer" + +#: gajim/groupchat_control.py:1043 +#, fuzzy +msgid "Group chat is now non-anonymous" +msgstr "Flapoù a-stroll" + +#: gajim/groupchat_control.py:1047 +#, fuzzy +msgid "Group chat is now semi-anonymous" +msgstr "Message d'un Salon mis en Sur-brillance" + +#: gajim/groupchat_control.py:1051 +#, fuzzy +msgid "Group chat is now fully anonymous" +msgstr "Flapoù a-stroll" + +#: gajim/groupchat_control.py:1101 +#, python-format +msgid "Ping? (%s)" +msgstr "" + +#: gajim/groupchat_control.py:1104 +#, python-format +msgid "Pong! (%(nick)s %(delay)s s.)" +msgstr "" + +#: gajim/groupchat_control.py:1188 +#, fuzzy, python-format +msgid "You (%s) joined the group chat" +msgstr "Er strollad" + +#: gajim/groupchat_control.py:1193 +msgid "Any participant is allowed to see your full XMPP Address" +msgstr "" + +#: gajim/groupchat_control.py:1201 +#, fuzzy +msgid "The server has assigned or modified your nickname in this group chat" +msgstr "Cheñch _lesanv" + +#: gajim/groupchat_control.py:1211 +#, fuzzy +msgid "A new group chat has been created" +msgstr "Gant berzh eo bet krouet ho kont nevez!" + +#: gajim/groupchat_control.py:1215 +#, fuzzy +msgid "Failed to Configure Group Chat" +msgstr "Flap a-stroll" + +#: gajim/groupchat_control.py:1274 gajim/groupchat_control.py:1304 +#: gajim/groupchat_control.py:1332 gajim/groupchat_control.py:1391 +#, python-brace-format +msgid " by {actor}" +msgstr "" + +#: gajim/groupchat_control.py:1277 +#, python-brace-format +msgid "** Your Affiliation has been set to {affiliation}{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1283 +#, python-brace-format +msgid "** Affiliation of {nick} has been set to {affiliation}{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1307 +#, fuzzy, python-brace-format +msgid "** Your Role has been set to {role}{actor}{reason}" +msgstr "%(nick)s a zo bet skarzhet gant %(who)s : %(reason)s" + +#: gajim/groupchat_control.py:1312 +#, fuzzy, python-brace-format +msgid "** Role of {nick} has been set to {role}{actor}{reason}" +msgstr "%(nick)s a zo bet skarzhet gant %(who)s : %(reason)s" + +#: gajim/groupchat_control.py:1335 +#, fuzzy, python-brace-format +msgid "You have been removed from the group chat{actor}{reason}" +msgstr "%(nick)s a zo bet skarzhet gant %(who)s : %(reason)s" + +#: gajim/groupchat_control.py:1340 +#, python-brace-format +msgid "You have left due to an error{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1346 +#, python-brace-format +msgid "You have been kicked{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1353 +#, python-brace-format +msgid "You have been banned{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1360 gajim/groupchat_control.py:1423 +#, fuzzy +msgid ": Affiliation changed" +msgstr "Poelladoù" + +#: gajim/groupchat_control.py:1366 gajim/groupchat_control.py:1428 +msgid ": Group chat configuration changed to members-only" +msgstr "" + +#: gajim/groupchat_control.py:1394 +#, fuzzy, python-brace-format +msgid "{nick} has been removed from the group chat{by}{reason}" +msgstr "%(nick)s a zo bet skarzhet gant %(who)s : %(reason)s" + +#: gajim/groupchat_control.py:1402 +#, python-brace-format +msgid "{nick} has left due to an error{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1408 +#, fuzzy, python-brace-format +msgid "{nick} has been kicked{actor}{reason}" +msgstr "%(nick)s a zo bet skarzhet : %(reason)s" + +#: gajim/groupchat_control.py:1416 +#, fuzzy, python-brace-format +msgid "{nick} has been banned{actor}{reason}" +msgstr "%(nick)s a zo argaset : %(reason)s" + +#: gajim/groupchat_control.py:1433 +#, python-brace-format +msgid "{nick} has left{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1451 +#, fuzzy, python-format +msgid "%s has joined the group chat" +msgstr "Er strollad" + +#: gajim/groupchat_control.py:1463 +#, fuzzy +msgid "Failed to Join Group Chat" +msgstr "Impossible de rejoindre le salon" + +#: gajim/groupchat_control.py:1469 +#, fuzzy +msgid "Failed to Create Group Chat" +msgstr "Flap a-stroll" + +#: gajim/groupchat_control.py:1485 +#, fuzzy +msgid "Group chat has been destroyed" +msgstr "Dilamet eo bet an aotre" + +#: gajim/groupchat_control.py:1490 +#, fuzzy, python-format +msgid "You can join this group chat instead: xmpp:%s?join" +msgstr "Er strollad" + +#: gajim/groupchat_control.py:1672 +#, fuzzy +msgid "Leave Group Chat" +msgstr "Flap a-stroll" + +#: gajim/groupchat_control.py:1673 +#, fuzzy +msgid "Are you sure you want to leave this group chat?" +msgstr "Ha sur oc'h e fell deoc'h kuitaat ar flap \"%s\"?" + +#: gajim/groupchat_control.py:1674 +#, fuzzy, python-format +msgid "If you close this window, you will leave '%s'." +msgstr "Si vous fermer cette fenêtre, vous serez déconnecté de ces salons." + +#: gajim/message_window.py:365 +#, fuzzy +msgid "Close Tabs" +msgstr "_Kas & Serriñ" + +#: gajim/message_window.py:366 +#, fuzzy +msgid "You are about to close several tabs" +msgstr "N'oc'h ket luget d'ar servijer" + +#: gajim/message_window.py:367 +#, fuzzy +msgid "Do you really want to close all of them?" +msgstr "Ha fellout a ra deoc'h da vat diverkañ ar gemennadenn ziuzet?" + +#: gajim/message_window.py:526 +#, fuzzy +msgid "?Noun:Chats" +msgstr "Flapoù a-stroll" + +#: gajim/message_window.py:530 gajim/data/gui/preferences.ui:155 +#, fuzzy +msgid "Group Chats" +msgstr "_Webkaozioù" + +#: gajim/message_window.py:534 +msgid "Private Chats" +msgstr "Flapoù prevez" + +#: gajim/message_window.py:540 +msgid "Messages" +msgstr "Kemennadennoù" + +#: gajim/dialog_messages.py:37 +#, fuzzy, python-format +msgid "" +"It is not possible to send a message to %s. This XMPP Address is not valid." +msgstr "N'eus ket tu da gas restroù goullo" + +#: gajim/dialog_messages.py:42 +#, fuzzy +msgid "Unread Events" +msgstr "Darvoudoù chomet dilenn" + +#: gajim/dialog_messages.py:43 +#, fuzzy +msgid "Read or acknowledge all pending events before removing this account." +msgstr "Lennit an holl zarvoudoù a-raok lemel ar gont-mañ." + +#: gajim/dialog_messages.py:48 +#, fuzzy +msgid "Invalid Form" +msgstr "Road direizh" + +#: gajim/dialog_messages.py:49 +#, fuzzy +msgid "The form is not filled correctly." +msgstr "Bez ez eus arouezioù difennet en anv ar sal pe hini ar servijer." + +#: gajim/dialog_messages.py:53 +#, fuzzy +msgid "No Connection Available" +msgstr "N'eus ket tu en em lugañ" + +#: gajim/dialog_messages.py:54 +msgid "Your message can not be sent until you are connected." +msgstr "N'eus ket tu da gas ho kemennadenn keit ha ma n'oc'h ket luget." + +#: gajim/dialog_messages.py:58 +msgid "XMPP Address Already in List" +msgstr "" + +#: gajim/dialog_messages.py:59 +#, fuzzy +msgid "" +"The XMPP Address you entered is already in the list. Please choose another " +"one." +msgstr "" +"Implijet e vez an anv-mañ gant unan eus ho kontoù dija. Dibabit un anv all " +"marplij." + +#: gajim/dialog_messages.py:64 +#, fuzzy +msgid "Invalid Answer" +msgstr "Respont direizh" + +#: gajim/dialog_messages.py:65 +#, fuzzy, python-format +msgid "Transport %(name)s answered wrongly to register request: %(error)s" +msgstr "Respontet fall he deus an nor %s d'ar goulenn emezelañ." + +#: gajim/dialog_messages.py:70 +#, fuzzy +msgid "Wrong Custom Hostname" +msgstr "Implij un anv ostiz/porzh personelaet" + +#: gajim/dialog_messages.py:71 +#, fuzzy, python-format +msgid "Custom hostname \"%s\" is wrong. It will be ignored." +msgstr "Implij un anv ostiz/porzh personelaet" + +#: gajim/dialog_messages.py:75 +#, fuzzy +msgid "Registration Succeeded" +msgstr "Gant berzh eo bet embannet ar vCard" + +#: gajim/dialog_messages.py:76 +#, fuzzy, python-format +msgid "Registration with agent %s succeeded." +msgstr "Gant berzh eo bet embannet ar vCard" + +#: gajim/dialog_messages.py:80 +#, fuzzy +msgid "Registration Failed" +msgstr "échec lors de la publication de votre vCard" + +#: gajim/dialog_messages.py:81 +#, python-format +msgid "" +"Registration with agent %(agent)s failed with error %(error)s: %(error_msg)s" +msgstr "" + +#: gajim/dialog_messages.py:86 +msgid "GStreamer Error" +msgstr "" + +#: gajim/dialog_messages.py:87 +#, fuzzy, python-format +msgid "" +"Error: %(error)s\n" +"Debug: %(debug)s" +msgstr "Fazi en ur lenn ar restr:" + +#: gajim/dialog_messages.py:91 +#, fuzzy +msgid "Wrong Host" +msgstr "Ger-kuzh faos" + +#: gajim/dialog_messages.py:92 +msgid "Invalid local address? :-O" +msgstr "" + +#: gajim/dialog_messages.py:96 +msgid "Avahi Error" +msgstr "" + +#: gajim/dialog_messages.py:97 +#, python-format +msgid "" +"%s\n" +"Link-local messaging might not work properly." +msgstr "" + +#: gajim/dialog_messages.py:101 +#, fuzzy +msgid "Could not Open File" +msgstr "Dibosupl eo kargañ ar skeudenn" + +#: gajim/command_system/mapping.py:169 gajim/command_system/mapping.py:179 +#: gajim/command_system/mapping.py:199 +#, fuzzy +msgid "Missing arguments" +msgstr "Kemennadenn gaset" + +#: gajim/command_system/mapping.py:266 +#, fuzzy +msgid "Too many arguments" +msgstr "Kemennadenn gaset" + +#: gajim/command_system/implementation/middleware.py:76 +msgid "Error during command execution!" +msgstr "" + +#: gajim/command_system/implementation/execute.py:60 +msgid "Execute expression inside a shell, show output" +msgstr "" + +#: gajim/command_system/implementation/execute.py:74 +msgid "" +"Command disabled. This command can be enabled by setting " +"'command_system_execute' to True in ACE (Advanced Configuration Editor)." +msgstr "" + +#: gajim/command_system/implementation/execute.py:125 +msgid "Execute expression inside a shell, send output" +msgstr "" + +#: gajim/command_system/implementation/standard.py:52 +msgid "" +"Show help on a given command or a list of available commands if -a is given" +msgstr "" + +#: gajim/command_system/implementation/standard.py:81 +#, fuzzy +msgid "Send a message to the contact" +msgstr "Usage: /%s, cache les boutons de discussion." + +#: gajim/command_system/implementation/standard.py:86 +msgid "Send action (in the third person) to the current chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:91 +msgid "Show logged messages which mention given text" +msgstr "" + +#: gajim/command_system/implementation/standard.py:96 +#, fuzzy, python-format +msgid "%s: Nothing found" +msgstr "N'eo ket bet kavet %s" + +#: gajim/command_system/implementation/standard.py:102 +msgid "Limit must be an integer" +msgstr "" + +#: gajim/command_system/implementation/standard.py:127 +msgid "" +"\n" +" Set the current status\n" +"\n" +" Status can be given as one of the following values:\n" +" online, away, chat, xa, dnd.\n" +" " +msgstr "" + +#: gajim/command_system/implementation/standard.py:145 +msgid "Set the current status to away" +msgstr "" + +#: gajim/command_system/implementation/standard.py:148 +#: gajim/common/helpers.py:200 gajim/common/modules/adhoc_commands.py:122 +msgid "Away" +msgstr "Ezvezant" + +#: gajim/command_system/implementation/standard.py:159 +msgid "Set the current status to online" +msgstr "" + +#: gajim/command_system/implementation/standard.py:162 +#, fuzzy +msgid "Available" +msgstr "Dihegerz" + +#: gajim/command_system/implementation/standard.py:173 +msgid "Send a disco info request" +msgstr "" + +#: gajim/command_system/implementation/standard.py:192 +#: gajim/command_system/implementation/standard.py:273 +#, fuzzy +msgid "Clear the text window" +msgstr "Usage : /%s, nettoie la fenêtre." + +#: gajim/command_system/implementation/standard.py:197 +#: gajim/command_system/implementation/standard.py:425 +#, fuzzy +msgid "Send a ping to the contact" +msgstr "Usage : /%s, passe la fenêtre de salon de discussion en vue compacte." + +#: gajim/command_system/implementation/standard.py:201 +#: gajim/command_system/implementation/standard.py:429 +msgid "Command is not supported for zeroconf accounts" +msgstr "" + +#: gajim/command_system/implementation/standard.py:205 +msgid "Send DTMF sequence through an open voice chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:208 +#, fuzzy +msgid "No open voice chats with the contact" +msgstr "Klikit amañ evit gwelout kaozioù kent gant an darempred-mañ" + +#: gajim/command_system/implementation/standard.py:211 +#, python-format +msgid "%s is not a valid tone" +msgstr "" + +#: gajim/command_system/implementation/standard.py:218 +msgid "Toggle Voice Chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:221 +#, fuzzy +msgid "Voice chats are not available" +msgstr "N'eus ket tu en em lugañ" + +#: gajim/command_system/implementation/standard.py:228 +msgid "Toggle Video Chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:231 +#, fuzzy +msgid "Video chats are not available" +msgstr "N'eus ket tu en em lugañ" + +#: gajim/command_system/implementation/standard.py:238 +#, fuzzy +msgid "Send a message to the contact that will attract their attention" +msgstr "Usage: /%s, cache les boutons de discussion." + +#: gajim/command_system/implementation/standard.py:278 +#, fuzzy +msgid "Change your nickname in a group chat" +msgstr "Cheñch _lesanv" + +#: gajim/command_system/implementation/standard.py:283 +#, fuzzy +msgid "Invalid nickname" +msgstr "Anv-arveriad-ez direizh" + +#: gajim/command_system/implementation/standard.py:290 +#, fuzzy +msgid "Open a private chat window with a specified participant" +msgstr "" +"Usage : /%s , ouvre une fenêtre de discussion privée avec l'occupant " +"spécifié." + +#: gajim/command_system/implementation/standard.py:296 +#: gajim/command_system/implementation/standard.py:306 +#: gajim/command_system/implementation/standard.py:360 +#: gajim/command_system/implementation/standard.py:373 +#: gajim/command_system/implementation/standard.py:385 +#, fuzzy +msgid "Nickname not found" +msgstr "N'eus ket bet kavet al lesanv : %s" + +#: gajim/command_system/implementation/standard.py:299 +#, fuzzy +msgid "" +"Open a private chat window with a specified participant and send him a " +"message" +msgstr "" +"Usage : /%s , ouvre une fenêtre de discussion privée avec l'occupant " +"spécifié." + +#: gajim/command_system/implementation/standard.py:309 +#, fuzzy +msgid "Display or change a group chat topic" +msgstr "Goulenn a-raok serriñ un ivinell pe ur prenestr." + +#: gajim/command_system/implementation/standard.py:318 +msgid "Invite a user to a group chat for a reason" +msgstr "" + +#: gajim/command_system/implementation/standard.py:325 +#, fuzzy +msgid "Join a group chat given by an XMPP Address" +msgstr "Ebarzhiñ ur _webgaoz" + +#: gajim/command_system/implementation/standard.py:335 +msgid "" +"Leave the group chat, optionally giving a reason, and close tab or window" +msgstr "" + +#: gajim/command_system/implementation/standard.py:341 +msgid "" +"\n" +" Ban user by a nick or a JID from a groupchat\n" +"\n" +" If given nickname is not found it will be treated as a JID.\n" +" " +msgstr "" + +#: gajim/command_system/implementation/standard.py:357 +#, fuzzy +msgid "Kick user from group chat by nickname" +msgstr "Vous êtes banni de ce salon." + +#: gajim/command_system/implementation/standard.py:366 +msgid "" +"Set participant role in group chat.\n" +" Role can be given as one of the following values:\n" +" moderator, participant, visitor, none" +msgstr "" + +#: gajim/command_system/implementation/standard.py:371 +#, fuzzy +msgid "Invalid role given" +msgstr "Anv-arveriad-ez direizh" + +#: gajim/command_system/implementation/standard.py:378 +msgid "" +"Set participant affiliation in group chat.\n" +" Affiliation can be given as one of the following values:\n" +" owner, admin, member, outcast, none" +msgstr "" + +#: gajim/command_system/implementation/standard.py:383 +msgid "Invalid affiliation given" +msgstr "" + +#: gajim/command_system/implementation/standard.py:393 +#, fuzzy +msgid "Display names of all group chat participants" +msgstr "Usage : /%s [sujet], affiche ou met à jour le sujet actuel du salon." + +#: gajim/command_system/implementation/standard.py:415 +msgid "Forbid a participant to send you public or private messages" +msgstr "" + +#: gajim/command_system/implementation/standard.py:420 +msgid "Allow a participant to send you public or private messages" +msgstr "" + +#: gajim/command_system/implementation/standard.py:432 +#, fuzzy +msgid "Unknown nickname" +msgstr "Da _heul al lesanv:" + +#: gajim/command_system/implementation/custom.py:114 +msgid "The same as using a doc-string, except it supports translation" +msgstr "" + +#: gajim/gtk/ssl_error_dialog.py:36 gajim/data/gui/ssl_error_dialog.ui:16 +#, fuzzy +msgid "SSL Certificate Verification Error" +msgstr "Oc'h ouzhpennañ ur gelaouenn nevez evit %s" + +#: gajim/gtk/ssl_error_dialog.py:55 +#, python-format +msgid "" +"There was an error while attempting to verify the SSL certificate of your " +"XMPP server (%s)." +msgstr "" + +#: gajim/gtk/ssl_error_dialog.py:58 +#, fuzzy, python-format +msgid "Unknown SSL error '%s'" +msgstr "Aozadur D-Bus dianav: %s" + +#: gajim/gtk/avatar_selector.py:84 +msgid "Select a picture or drop it here" +msgstr "" + +#: gajim/gtk/status_change.py:62 gajim/gtk/preferences.py:627 +#: gajim/gtk/preferences.py:655 +msgid "Status Message" +msgstr "Titour-stad" + +#: gajim/gtk/status_change.py:330 +#, fuzzy +msgid "No activity" +msgstr "Oberiant" + +#: gajim/gtk/status_change.py:370 gajim/gtk/status_change.py:383 +#: gajim/gtk/status_change.py:488 +#, fuzzy +msgid "No mood selected" +msgstr "Alc'hwez ebet diuzet" + +#: gajim/gtk/status_change.py:382 +msgid "No mood" +msgstr "" + +#: gajim/gtk/status_change.py:439 +msgid "Overwrite" +msgstr "" + +#: gajim/gtk/status_change.py:440 +#, fuzzy +msgid "Overwrite Status Message?" +msgstr "Titour-stad" + +#: gajim/gtk/status_change.py:441 +#, fuzzy +msgid "This name is already in use. Do you want to overwrite this preset?" +msgstr "" +"Implijet e vez an anv-mañ gant unan eus ho kontoù dija. Dibabit un anv all " +"marplij." + +#: gajim/gtk/status_change.py:445 gajim/plugins/gui.py:292 +msgid "_Overwrite" +msgstr "" + +#: gajim/gtk/status_change.py:453 +#, fuzzy +msgid "Status Preset" +msgstr "Titour-stad" + +#: gajim/gtk/status_change.py:454 +#, fuzzy +msgid "Save status as preset" +msgstr "Enrollañ evel raklakaet..." + +#: gajim/gtk/status_change.py:455 +#, fuzzy +msgid "Please assign a name to this status message preset" +msgstr "Roit un anv d'an titour-stad-mañ" + +#: gajim/gtk/status_change.py:458 gajim/data/gui/profile.ui:336 +#, fuzzy +msgid "_Save" +msgstr "Enrollet e-barzh: %s" + +#: gajim/gtk/status_change.py:460 +#, fuzzy +msgid "New Status" +msgstr "Stad" + +#: gajim/gtk/advanced_config.py:46 gajim/gtk/advanced_config.py:144 +#, fuzzy +msgid "Activated" +msgstr "Oberiant" + +#: gajim/gtk/advanced_config.py:47 +#, fuzzy +msgid "Deactivated" +msgstr "Dizoberiant" + +#: gajim/gtk/advanced_config.py:52 +msgid "?config type:Boolean" +msgstr "" + +#: gajim/gtk/advanced_config.py:53 +msgid "?config type:Integer" +msgstr "" + +#: gajim/gtk/advanced_config.py:54 +msgid "?config type:Text" +msgstr "" + +#: gajim/gtk/advanced_config.py:65 +#, fuzzy +msgid "Advanced Configuration Editor (ACE)" +msgstr "Aozer kefluniañ dre ar munut" + +#: gajim/gtk/advanced_config.py:80 +#, fuzzy +msgid "?config:Preference Name" +msgstr "Dibab" + +#: gajim/gtk/advanced_config.py:91 +#, fuzzy +msgid "?config:Value" +msgstr "_Kenderc'hel" + +#: gajim/gtk/advanced_config.py:100 +msgid "?config:Type" +msgstr "" + +#: gajim/gtk/advanced_config.py:133 +#, fuzzy +msgid "?config description:None" +msgstr "Hini ebet" + +#: gajim/gtk/preferences.py:63 gajim/data/gui/shortcuts_window.ui:31 +msgid "Preferences" +msgstr "Penndibaboù" + +#: gajim/gtk/preferences.py:185 +msgid "Detached contact list with detached chats" +msgstr "" + +#: gajim/gtk/preferences.py:186 +msgid "Detached contact list with single chat" +msgstr "" + +#: gajim/gtk/preferences.py:187 +msgid "Single window for everything" +msgstr "" + +#: gajim/gtk/preferences.py:188 +msgid "Detached contact list with chats grouped by account" +msgstr "" + +#: gajim/gtk/preferences.py:189 +msgid "Detached contact list with chats grouped by type" +msgstr "" + +#: gajim/gtk/preferences.py:193 gajim/data/gui/mam_preferences.ui:14 +#, fuzzy +msgid "Always" +msgstr "Ezvezant" + +#: gajim/gtk/preferences.py:194 gajim/data/gui/mam_preferences.ui:22 +#, fuzzy +msgid "Never" +msgstr "_Morse" + +#: gajim/gtk/preferences.py:195 +#, fuzzy +msgid "Restore last state" +msgstr "Stad diwezhañ: %s" + +#: gajim/gtk/preferences.py:199 +#, fuzzy +msgid "Top" +msgstr "Da" + +#: gajim/gtk/preferences.py:200 +msgid "Bottom" +msgstr "" + +#: gajim/gtk/preferences.py:201 +msgid "Left" +msgstr "" + +#: gajim/gtk/preferences.py:202 +msgid "Right" +msgstr "" + +#: gajim/gtk/preferences.py:207 +msgid "Window Layout" +msgstr "" + +#: gajim/gtk/preferences.py:214 +#, fuzzy +msgid "Contact List on Startup" +msgstr "Diskouez ar _roll-darempredoù" + +#: gajim/gtk/preferences.py:218 +#, fuzzy +msgid "Show contact list when starting Gajim" +msgstr "Diskouez ar _roll-darempredoù" + +#: gajim/gtk/preferences.py:221 +msgid "Quit on Close" +msgstr "" + +#: gajim/gtk/preferences.py:224 +#, fuzzy +msgid "Quit when closing contact list" +msgstr "Diskouez an darempredoù _ezlinenn" + +#: gajim/gtk/preferences.py:227 +#, fuzzy +msgid "Tab Position" +msgstr "Plas:" + +#: gajim/gtk/preferences.py:231 +#, fuzzy +msgid "Placement of chat window tabs" +msgstr "he/en deus serret ar prenestr-flapiñ pe an ivinell" + +#: gajim/gtk/preferences.py:247 +#, fuzzy +msgid "Merge Accounts" +msgstr "Kontoù strollet" + +#: gajim/gtk/preferences.py:253 +#, fuzzy +msgid "Enable Metacontacts" +msgstr "Darempredoù" + +#: gajim/gtk/preferences.py:258 +#, fuzzy +msgid "Show Avatars" +msgstr "Perzhioù ar servijerien" + +#: gajim/gtk/preferences.py:264 gajim/gtk/preferences.py:353 +#, fuzzy +msgid "Show Status Message" +msgstr "Titour-stad" + +#: gajim/gtk/preferences.py:270 gajim/gtk/preferences.py:411 +#, fuzzy +msgid "Sort Contacts by Status" +msgstr "_Urzhiañ an darempredoù hervez o stad" + +#: gajim/gtk/preferences.py:276 +#, fuzzy +msgid "Show Mood" +msgstr "Lakaat MOTD" + +#: gajim/gtk/preferences.py:281 +#, fuzzy +msgid "Show Activity" +msgstr "Oberiant" + +#: gajim/gtk/preferences.py:286 +#, fuzzy +msgid "Show Tune" +msgstr "Perzhioù ar servijerien" + +#: gajim/gtk/preferences.py:323 +msgid "Needs gspell to be installed" +msgstr "" + +#: gajim/gtk/preferences.py:327 +msgid "Spell Checking" +msgstr "" + +#: gajim/gtk/preferences.py:335 +#, fuzzy +msgid "Message Receipts (✔)" +msgstr "korf ar gemennadenn" + +#: gajim/gtk/preferences.py:338 +msgid "Add a checkmark to received messages" +msgstr "" + +#: gajim/gtk/preferences.py:341 +#, fuzzy +msgid "XHTML Formatting" +msgstr "Klikit evit enlakaat ur boulomell (Alt+M)" + +#: gajim/gtk/preferences.py:344 +msgid "Render XHTML styles (colors, etc.) of incoming messages" +msgstr "" + +#: gajim/gtk/preferences.py:348 +#, fuzzy +msgid "Show Send Message Button" +msgstr "Kas ur gemennadenn" + +#: gajim/gtk/preferences.py:358 +#, fuzzy +msgid "Show Chat State In Tabs" +msgstr "Diskouez an nozelenn-serriñ war an ivinell?" + +#: gajim/gtk/preferences.py:361 +msgid "Show the contact’s chat state (e.g. typing) in the chat’s tab" +msgstr "" + +#: gajim/gtk/preferences.py:365 +#, fuzzy +msgid "Show Chat State In Banner" +msgstr "Diskouez _skeudennigoù an darempredoù er roll" + +#: gajim/gtk/preferences.py:368 +msgid "Show the contact’s chat state (e.g. typing) in the chats tab’s banner" +msgstr "" + +#: gajim/gtk/preferences.py:372 +#, fuzzy +msgid "Display Chat State In Contact List" +msgstr "Titou_roù-stad ar flap:" + +#: gajim/gtk/preferences.py:375 +#, fuzzy +msgid "Show the contact’s chat state (e.g. typing) in the contact list" +msgstr "Diskouez an nozelenn-serriñ war an ivinell?" + +#: gajim/gtk/preferences.py:406 +#, fuzzy +msgid "Show Subject" +msgstr "Titl" + +#: gajim/gtk/preferences.py:417 +msgid "Default Sync Threshold" +msgstr "" + +#: gajim/gtk/preferences.py:420 +#, fuzzy +msgid "Default for new public group chats" +msgstr "Flap a-stroll" + +#: gajim/gtk/preferences.py:424 +msgid "Show Joined / Left" +msgstr "" + +#: gajim/gtk/preferences.py:427 gajim/gtk/preferences.py:438 +#, fuzzy +msgid "Default for new group chats" +msgstr "Flap a-stroll" + +#: gajim/gtk/preferences.py:428 gajim/gtk/preferences.py:439 +#: gajim/gtk/accounts.py:715 gajim/gtk/accounts.py:727 +#: gajim/gtk/accounts.py:740 +#, fuzzy +msgid "Reset" +msgstr "_Bezañs" + +#: gajim/gtk/preferences.py:429 gajim/gtk/preferences.py:440 +#: gajim/gtk/accounts.py:728 +msgid "Reset all group chats to the current default value" +msgstr "" + +#: gajim/gtk/preferences.py:435 gajim/gtk/groupchat_settings.py:48 +#, fuzzy +msgid "Show Status Changes" +msgstr "_Menegiñ kemmoù stad an darempredoù e-barzh an istoradur" + +#: gajim/gtk/preferences.py:468 +#, fuzzy +msgid "Hide icon" +msgstr "Kuzhat ar meuziad-mañ" + +#: gajim/gtk/preferences.py:469 +#, fuzzy +msgid "Only show for pending events" +msgstr "Diskouez an holl _zarvoudoù o c'hortoz" + +#: gajim/gtk/preferences.py:470 +msgid "Always show icon" +msgstr "" + +#: gajim/gtk/preferences.py:475 +#, fuzzy +msgid "Notification Area Icon" +msgstr "_Implij an arlun-gelaouiñ (trayicon)" + +#: gajim/gtk/preferences.py:482 +#, fuzzy +msgid "Open Events" +msgstr "Titouroù hiniennel" + +#: gajim/gtk/preferences.py:485 +#, fuzzy +msgid "Open events instead of showing a notification in the contact list" +msgstr "Me blijfe din ouzhpennañ ac'hanoc'h em roll-darempredoù." + +#: gajim/gtk/preferences.py:489 gajim/gtk/preferences.py:512 +#, fuzzy +msgid "Show Notifications" +msgstr "Kemmañ ar gont" + +#: gajim/gtk/preferences.py:517 +#, fuzzy +msgid "Notifications When Away" +msgstr "Kemmañ ar gont" + +#: gajim/gtk/preferences.py:520 +#, fuzzy +msgid "Show notifications even if you are Away, Busy, etc." +msgstr "_Implij an arlun-gelaouiñ (trayicon)" + +#: gajim/gtk/preferences.py:525 gajim/data/gui/preferences.ui:271 +#, fuzzy +msgid "Notifications" +msgstr "Kemmañ ar gont" + +#: gajim/gtk/preferences.py:534 +#, fuzzy +msgid "Play Sounds" +msgstr "_Seniñ" + +#: gajim/gtk/preferences.py:537 +msgid "Play sounds to notify about events" +msgstr "" + +#: gajim/gtk/preferences.py:542 +msgid "Sounds When Away" +msgstr "" + +#: gajim/gtk/preferences.py:545 +msgid "Play sounds even when you are Away, Busy, etc." +msgstr "" + +#: gajim/gtk/preferences.py:560 +#, fuzzy +msgid "Sign In" +msgstr "_Lugañ" + +#: gajim/gtk/preferences.py:565 +#, fuzzy +msgid "Sign Out" +msgstr "_Dilugañ" + +#: gajim/gtk/preferences.py:570 +#, fuzzy +msgid "Status Change" +msgstr "_Menegiñ kemmoù stad an darempredoù e-barzh an istoradur" + +#: gajim/gtk/preferences.py:583 gajim/gtk/preferences.py:614 +#, fuzzy +msgid "Auto Away" +msgstr "Ezvezant" + +#: gajim/gtk/preferences.py:585 +msgid "Change your status to 'Away' after a certain amount of time" +msgstr "" + +#: gajim/gtk/preferences.py:590 gajim/gtk/preferences.py:642 +#, fuzzy +msgid "Auto Not Available" +msgstr "Dihegerz" + +#: gajim/gtk/preferences.py:592 +msgid "Change your status to 'Not Available' after a certain amount of time" +msgstr "" + +#: gajim/gtk/preferences.py:619 +msgid "Time Until Away" +msgstr "" + +#: gajim/gtk/preferences.py:622 gajim/gtk/preferences.py:650 +#, fuzzy +msgid "Minutes until your status gets changed" +msgstr "_Menegiñ kemmoù stad an darempredoù e-barzh an istoradur" + +#: gajim/gtk/preferences.py:633 gajim/gtk/preferences.py:828 +#, fuzzy +msgid "Auto Away Settings" +msgstr "échec lors de la publication de votre vCard" + +#: gajim/gtk/preferences.py:647 +#, fuzzy +msgid "Time Until Not Available" +msgstr "Dihegerz" + +#: gajim/gtk/preferences.py:661 +msgid "Auto Extended Away Settings" +msgstr "" + +#: gajim/gtk/preferences.py:672 gajim/gtk/accounts.py:680 +#, fuzzy +msgid "Enabled" +msgstr "Enaouiñ" + +#: gajim/gtk/preferences.py:673 gajim/data/gui/vcard_information_window.ui:123 +#, fuzzy +msgid "System" +msgstr "Personelaet" + +#: gajim/gtk/preferences.py:678 +#, fuzzy +msgid "Dark Theme" +msgstr "Gajim - %s" + +#: gajim/gtk/preferences.py:685 +#, fuzzy +msgid "Theme" +msgstr "Gwiskadur" + +#: gajim/gtk/preferences.py:731 +#, fuzzy +msgid "Convert ASCII Emojis" +msgstr "Gérer les frimousses" + +#: gajim/gtk/preferences.py:734 +msgid "Typing short codes like :-) will display emojis" +msgstr "" + +#: gajim/gtk/preferences.py:741 +#, fuzzy +msgid "Emoji Theme" +msgstr "Gajim - %s" + +#: gajim/gtk/preferences.py:744 +msgid "Choose from various emoji styles" +msgstr "" + +#: gajim/gtk/preferences.py:774 +#, fuzzy +msgid "Status Icon Set" +msgstr "_Arlunioù-stad dre-ziouer:" + +#: gajim/gtk/preferences.py:781 +#, fuzzy +msgid "Use Transport Icons" +msgstr "Implij arlunioù an _dorioù" + +#: gajim/gtk/preferences.py:784 +msgid "Display protocol-specific status icons (ICQ, ..)" +msgstr "" + +#: gajim/gtk/preferences.py:801 gajim/gtk/preferences.py:817 +msgid "Use Stun Server" +msgstr "" + +#: gajim/gtk/preferences.py:803 +msgid "Helps to establish calls through firewalls" +msgstr "" + +#: gajim/gtk/preferences.py:822 +#, fuzzy +msgid "STUN Server" +msgstr "Servijer:" + +#: gajim/gtk/preferences.py:848 +#, fuzzy +msgid "Audio Input Device" +msgstr "Titour-stad" + +#: gajim/gtk/preferences.py:851 +msgid "Select your audio input (e.g. microphone)" +msgstr "" + +#: gajim/gtk/preferences.py:855 +#, fuzzy +msgid "Audio Output Device" +msgstr "Titour-stad" + +#: gajim/gtk/preferences.py:858 +msgid "Select an audio output (e.g. speakers, headphones)" +msgstr "" + +#: gajim/gtk/preferences.py:890 gajim/gtk/preferences.py:898 +#, fuzzy +msgid "Default" +msgstr "Dilemel" + +#: gajim/gtk/preferences.py:906 +#, fuzzy +msgid "Video Input Device" +msgstr "Titour-stad" + +#: gajim/gtk/preferences.py:910 +msgid "Select your video input device (e.g. webcam, screen capture)" +msgstr "" + +#: gajim/gtk/preferences.py:915 +#, fuzzy +msgid "Video Framerate" +msgstr "Flap prevez" + +#: gajim/gtk/preferences.py:921 +#, fuzzy +msgid "Video Resolution" +msgstr "Flap prevez" + +#: gajim/gtk/preferences.py:927 +msgid "Show My Video Stream" +msgstr "" + +#: gajim/gtk/preferences.py:930 +msgid "Show your own video stream in calls" +msgstr "" + +#: gajim/gtk/preferences.py:933 gajim/data/gui/video_preview.ui:51 +msgid "Live Preview" +msgstr "" + +#: gajim/gtk/preferences.py:935 +msgid "Show a live preview to test your video source" +msgstr "" + +#: gajim/gtk/preferences.py:975 +#, fuzzy +msgid "Global Proxy" +msgstr "Proksi:" + +#: gajim/gtk/preferences.py:980 gajim/gtk/account_wizard.py:732 +#: gajim/gtk/accounts.py:790 +#, fuzzy +msgid "No Proxy" +msgstr "Proksi:" + +#: gajim/gtk/preferences.py:985 +msgid "Use System Keyring" +msgstr "" + +#: gajim/gtk/preferences.py:988 +msgid "Use your system’s keyring to store passwords" +msgstr "" + +#: gajim/gtk/preferences.py:994 +msgid "Check For Updates" +msgstr "" + +#: gajim/gtk/preferences.py:997 gajim/common/config.py:241 +msgid "Check for Gajim updates periodically" +msgstr "" + +#: gajim/gtk/preferences.py:1033 +#, fuzzy +msgid "Debug Logging" +msgstr "E_barzhiñ" + +#: gajim/gtk/message_input.py:48 +#, fuzzy +msgid "Write a message…" +msgstr "Kemennadenn hiniennel nevez" + +#: gajim/gtk/settings.py:400 gajim/gtk/settings.py:758 +#: gajim/gtk/settings.py:784 gajim/gtk/settings.py:793 +#: gajim/gtk/settings.py:802 gajim/gtk/settings.py:811 +msgid "?switch:On" +msgstr "" + +#: gajim/gtk/settings.py:400 gajim/gtk/settings.py:758 +#: gajim/gtk/settings.py:784 gajim/gtk/settings.py:793 +#: gajim/gtk/settings.py:802 gajim/gtk/settings.py:811 +msgid "?switch:Off" +msgstr "" + +#: gajim/gtk/settings.py:538 gajim/gtk/manage_sounds.py:46 +#: gajim/gtk/filechoosers.py:89 gajim/gtk/filechoosers.py:140 +#: gajim/gtk/filechoosers.py:147 +msgid "All files" +msgstr "An holl restroù" + +#: gajim/gtk/settings.py:547 +#, fuzzy +msgid "Clear File" +msgstr "Darvoud" + +#: gajim/gtk/settings.py:745 +#, fuzzy +msgid "Adjust to Status" +msgstr "Goulenn evit gwelet e/he stad" + +#: gajim/gtk/history_sync.py:111 gajim/gtk/history_sync.py:193 +#, fuzzy +msgid "Synchronise History" +msgstr "Diskouez an darempredoù _ezlinenn" + +#: gajim/gtk/history_sync.py:205 +#, fuzzy +msgid "How far back should the chat history be synchronised?" +msgstr "Petra a fell deoc'h ober?" + +#: gajim/gtk/history_sync.py:210 +msgid "One Month" +msgstr "" + +#: gajim/gtk/history_sync.py:211 +msgid "Three Months" +msgstr "" + +#: gajim/gtk/history_sync.py:212 +msgid "One Year" +msgstr "" + +#: gajim/gtk/history_sync.py:213 +msgid "Everything" +msgstr "" + +#: gajim/gtk/history_sync.py:241 gajim/gtk/account_wizard.py:276 +#: gajim/gtk/account_wizard.py:295 gajim/gtk/account_wizard.py:312 +#, fuzzy +msgid "Connecting..." +msgstr "O lugañ" + +#: gajim/gtk/history_sync.py:253 +#, fuzzy, python-format +msgid "%(received)s of %(max)s" +msgstr "Arsavet eo an treuskas eus %(filename)s digant %(name)s." + +#: gajim/gtk/history_sync.py:257 +#, fuzzy, python-format +msgid "Downloaded %s messages" +msgstr "Gajim - %d gemennadenn nevez" + +#: gajim/gtk/history_sync.py:277 +#, python-format +msgid "" +"Finished synchronising chat history:\n" +"%s messages downloaded" +msgstr "" + +#: gajim/gtk/history_sync.py:281 +msgid "Gajim is fully synchronised with the archive." +msgstr "" + +#: gajim/gtk/history_sync.py:284 +msgid "There is already a synchronisation in progress. Please try again later." +msgstr "" + +#: gajim/gtk/pep_config.py:49 +#, fuzzy, python-format +msgid "PEP Service Configuration (%s)" +msgstr "Kefluniañ ar webgaoz" + +#: gajim/gtk/pep_config.py:74 +#, fuzzy +msgid "Service" +msgstr "Servijer" + +#: gajim/gtk/pep_config.py:105 +msgid "PEP node was not removed" +msgstr "" + +#: gajim/gtk/pep_config.py:106 +#, python-format +msgid "" +"PEP node %(node)s was not removed:\n" +"%(message)s" +msgstr "" + +#: gajim/gtk/pep_config.py:153 +#, fuzzy, python-format +msgid "Configure %s" +msgstr "_Kenderc'hel" + +#: gajim/gtk/mam_preferences.py:42 +#, python-format +msgid "Archiving Preferences for %s" +msgstr "" + +#: gajim/gtk/mam_preferences.py:101 +#, fuzzy +msgid "Archiving Preferences Saved" +msgstr "_Penndibaboù" + +#: gajim/gtk/mam_preferences.py:102 +#, fuzzy +msgid "Your archiving preferences have successfully been saved." +msgstr "_Penndibaboù" + +#: gajim/gtk/mam_preferences.py:109 +#, fuzzy +msgid "Archiving Preferences Error" +msgstr "_Penndibaboù" + +#: gajim/gtk/mam_preferences.py:110 +msgid "Error received: {}" +msgstr "" + +#: gajim/gtk/statusicon.py:198 +#, fuzzy +msgid "_Change Status Message…" +msgstr "_Kemmañ an titour-stad" + +#: gajim/gtk/statusicon.py:250 +#, python-format +msgid "using account %s" +msgstr "en ur implij ar gont %s" + +#: gajim/gtk/statusicon.py:263 +#, fuzzy +msgid "Hide _Contact List" +msgstr "Darempredoù" + +#: gajim/gtk/statusicon.py:268 gajim/data/gui/application_menu.ui:42 +#, fuzzy +msgid "Show _Contact List" +msgstr "Diskouez an darempredoù _ezlinenn" + +#: gajim/gtk/statusicon.py:276 +msgid "Hide this menu" +msgstr "Kuzhat ar meuziad-mañ" + +#: gajim/gtk/start_chat.py:57 +#, fuzzy +msgid "Start / Join Chat" +msgstr "Kregiñ da flapiñ" + +#: gajim/gtk/start_chat.py:285 gajim/gtk/start_chat.py:370 +msgid "You can not join a group chat unless you are connected." +msgstr "N'hellit ket ebarzhiñ ur sal-flapiñ keit ha ma n'oc'h ket luget." + +#: gajim/gtk/start_chat.py:634 gajim/gtk/groupchat_join.py:40 +msgid "Join Group Chat" +msgstr "Ebarzhiñ ur sal-flapiñ" + +#: gajim/gtk/start_chat.py:715 +msgid "" +"Search for group chats globally\n" +"(press Return to start search)" +msgstr "" + +#: gajim/gtk/start_chat.py:808 +#, fuzzy, python-format +msgid "%s group chats found" +msgstr "N'eo ket bet kavet %s" + +#: gajim/gtk/notification.py:184 gajim/gtk/notification.py:205 +#: gajim/gtk/notification.py:219 gajim/gtk/notification.py:272 +#: gajim/common/connection_handlers_events.py:234 +msgid "New Private Message" +msgstr "Kemennadenn hiniennel nevez" + +#: gajim/gtk/notification.py:185 gajim/gtk/notification.py:206 +#: gajim/gtk/notification.py:220 gajim/common/connection_handlers_events.py:328 +#, fuzzy +msgid "New Group Chat Message" +msgstr "Flap a-stroll" + +#: gajim/gtk/notification.py:186 gajim/gtk/notification.py:212 +#: gajim/gtk/notification.py:289 gajim/common/connection_handlers_events.py:418 +#, fuzzy +msgid "Contact Changed Status" +msgstr "Darempred diluget" + +#: gajim/gtk/notification.py:200 +#, fuzzy +msgid "Open" +msgstr "OpenPGP : " + +#: gajim/gtk/notification.py:209 +msgid "Mark as Read" +msgstr "" + +#: gajim/gtk/notification.py:273 +msgid "New E-mail" +msgstr "Postel nevez" + +#: gajim/gtk/video_preview.py:116 +msgid "OpenGL accelerated" +msgstr "" + +#: gajim/gtk/video_preview.py:120 +msgid "Not accelerated" +msgstr "" + +#: gajim/gtk/video_preview.py:127 +msgid "Something went wrong. Video feature disabled." +msgstr "" + +#: gajim/gtk/groupchat_invite.py:304 +#, fuzzy +msgid "Invite New Contact" +msgstr "Darempredoù" + +#: gajim/gtk/themes.py:37 +#, fuzzy +msgid "Chatstate Composing" +msgstr "O skrivañ" + +#: gajim/gtk/themes.py:41 +#, fuzzy +msgid "Chatstate Inactive" +msgstr "Dizoberiant" + +#: gajim/gtk/themes.py:45 +msgid "Chatstate Gone" +msgstr "" + +#: gajim/gtk/themes.py:49 +#, fuzzy +msgid "Chatstate Paused" +msgstr "Darempred diluget" + +#: gajim/gtk/themes.py:53 +#, fuzzy +msgid "Group Chat Tab New Directed Message" +msgstr "" +"Kemennadennoù\n" +"kaset davet\n" +"webkaozioù" + +#: gajim/gtk/themes.py:57 +#, fuzzy +msgid "Group Chat Tab New Message" +msgstr "Kemennadenn nevez" + +#: gajim/gtk/themes.py:61 +msgid "Banner Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:65 +msgid "Banner Background Color" +msgstr "" + +#: gajim/gtk/themes.py:69 +msgid "Banner Font" +msgstr "" + +#: gajim/gtk/themes.py:73 +msgid "Account Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:77 +msgid "Account Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:81 +#, fuzzy +msgid "Account Row Font" +msgstr "Kont" + +#: gajim/gtk/themes.py:85 +msgid "Group Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:89 +msgid "Group Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:93 +#, fuzzy +msgid "Group Row Font" +msgstr "Strollad" + +#: gajim/gtk/themes.py:97 +msgid "Contact Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:101 +msgid "Contact Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:105 +#, fuzzy +msgid "Contact Row Font" +msgstr "Diskouez er _roll hepken" + +#: gajim/gtk/themes.py:109 +#, fuzzy +msgid "Conversation Font" +msgstr "Istoradur ar gaoz" + +#: gajim/gtk/themes.py:113 +#, fuzzy +msgid "Incoming Nickname Color" +msgstr "Anv-arveriad-ez direizh" + +#: gajim/gtk/themes.py:117 +#, fuzzy +msgid "Outgoing Nickname Color" +msgstr "Cheñch lesanv" + +#: gajim/gtk/themes.py:121 +#, fuzzy +msgid "Incoming Message Text Color" +msgstr "Kemennadenn o _tegouezhout:" + +#: gajim/gtk/themes.py:125 +#, fuzzy +msgid "Incoming Message Text Font" +msgstr "Kemennadenn o _tegouezhout:" + +#: gajim/gtk/themes.py:129 +#, fuzzy +msgid "Outgoing Message Text Color" +msgstr "Kemennadenn o _vont 'maez:" + +#: gajim/gtk/themes.py:133 +#, fuzzy +msgid "Outgoing Message Text Font" +msgstr "Kemennadenn o _vont 'maez:" + +#: gajim/gtk/themes.py:137 +#, fuzzy +msgid "Status Message Color" +msgstr "Titour-stad" + +#: gajim/gtk/themes.py:141 +#, fuzzy +msgid "Status Message Font" +msgstr "Titour-stad" + +#: gajim/gtk/themes.py:145 +msgid "URL Color" +msgstr "" + +#: gajim/gtk/themes.py:149 +#, fuzzy +msgid "Highlight Message Color" +msgstr "_Islinennañ ar fazioù reizhskrivañ" + +#: gajim/gtk/themes.py:153 +#, fuzzy +msgid "Message Correcting" +msgstr "Kemennadennoù" + +#: gajim/gtk/themes.py:157 +#, fuzzy +msgid "Contact Disconnected Background" +msgstr "Darempred diluget" + +#: gajim/gtk/themes.py:161 +#, fuzzy +msgid "Contact Connected Background " +msgstr "Darempred luget" + +#: gajim/gtk/themes.py:164 +#, fuzzy +msgid "Status Online Color" +msgstr "Titour-stad" + +#: gajim/gtk/themes.py:167 +#, fuzzy +msgid "Status Away Color" +msgstr "Titour-stad" + +#: gajim/gtk/themes.py:170 +#, fuzzy +msgid "Status DND Color" +msgstr "Titour-stad" + +#: gajim/gtk/themes.py:173 +#, fuzzy +msgid "Status Offline Color" +msgstr "Titour-stad" + +#: gajim/gtk/themes.py:187 +#, fuzzy +msgid "Gajim Themes" +msgstr "Gajim - %s" + +#: gajim/gtk/themes.py:223 gajim/gtk/themes.py:230 +#, fuzzy +msgid "Invalid Name" +msgstr "Anv-arveriad-ez direizh" + +#: gajim/gtk/themes.py:224 +msgid "Name default is not allowed" +msgstr "" + +#: gajim/gtk/themes.py:231 +#, fuzzy +msgid "Spaces are not allowed" +msgstr "N'eus ket bet kavet al lesanv : %s" + +#: gajim/gtk/themes.py:356 +#, fuzzy +msgid "Do you want to delete this theme?" +msgstr "Ha fellout a ra deoc'h da vat diverkañ ar gemennadenn ziuzet?" + +#: gajim/gtk/themes.py:358 +#, fuzzy +msgid "" +"This is the theme you are currently using.\n" +"Do you want to delete this theme?" +msgstr "" +"Implijet e vez an anv-mañ gant unan eus ho kontoù dija. Dibabit un anv all " +"marplij." + +#: gajim/gtk/themes.py:363 +#, fuzzy +msgid "Delete Theme" +msgstr "Oberiant" + +#: gajim/gtk/themes.py:390 +#, fuzzy +msgid "Remove Setting" +msgstr "échec lors de la publication de votre vCard" + +#: gajim/gtk/filetransfer_progress.py:62 +#, fuzzy +msgid "Upload Failed" +msgstr "Enrollañ ar restr dindan..." + +#: gajim/gtk/filetransfer_progress.py:113 +#, fuzzy, python-format +msgid "%(progress)s of %(total)s" +msgstr "Arsavet eo an treuskas eus %(filename)s digant %(name)s." + +#: gajim/gtk/filetransfer_progress.py:130 +#, python-format +msgid "%(minutes)s min %(seconds)s sec" +msgstr "" + +#: gajim/gtk/add_contact.py:32 +msgid "GG Number" +msgstr "" + +#: gajim/gtk/add_contact.py:33 +msgid "ICQ Number" +msgstr "" + +#: gajim/gtk/add_contact.py:42 +#, fuzzy +msgid "Add Contact" +msgstr "_Ouzhpennañ un darempred..." + +#: gajim/gtk/add_contact.py:260 +#, fuzzy, python-format +msgid "%s Missing" +msgstr "%s Mo" + +#: gajim/gtk/add_contact.py:261 +#, fuzzy, python-format +msgid "You must supply the %s of the new contact." +msgstr "Rankout a rit reiñ ur ger-kuzh evit enrollañ ar gont nevez." + +#: gajim/gtk/add_contact.py:288 gajim/gtk/add_contact.py:294 +#: gajim/gtk/add_contact.py:299 +msgid "Invalid User ID" +msgstr "ID-arveriad-ez direizh" + +#: gajim/gtk/add_contact.py:295 +msgid "The user ID must not contain a resource." +msgstr "" + +#: gajim/gtk/add_contact.py:300 +#, fuzzy +msgid "You cannot add yourself to your contact list." +msgstr "Laouen 'vefen d'ho ouzhpennañ em roll-darempredoù." + +#: gajim/gtk/add_contact.py:305 +#, fuzzy +msgid "Account Offline" +msgstr "Ezlinenn" + +#: gajim/gtk/add_contact.py:306 +msgid "Your account must be online to add new contacts." +msgstr "" + +#: gajim/gtk/add_contact.py:322 +#, fuzzy +msgid "Contact Already in Contact List" +msgstr "Darempred er roll dija" + +#: gajim/gtk/add_contact.py:323 +#, fuzzy +msgid "This contact is already in your contact list." +msgstr "Emañ an darempred en ho roll-darempredoù dija." + +#: gajim/gtk/add_contact.py:381 gajim/gtk/add_contact.py:419 +#, fuzzy +msgid "User ID:" +msgstr "ID arveriad-ez:" + +#: gajim/gtk/add_contact.py:486 +#, fuzzy +msgid "Error while adding transport contact" +msgstr "fazi en ur gas %s ( %s )" + +#: gajim/gtk/add_contact.py:487 +#, python-format +msgid "" +"This error occurred while adding a contact for transport %(transport)s:\n" +"\n" +"%(error)s" +msgstr "" + +#: gajim/gtk/account_wizard.py:61 gajim/data/gui/account_wizard.ui:631 +#, fuzzy +msgid "Sign Up" +msgstr "_Lugañ" + +#: gajim/gtk/account_wizard.py:63 +#, fuzzy +msgid "Connect" +msgstr "Kevreadenn" + +#: gajim/gtk/account_wizard.py:64 gajim/gtk/adhoc.py:102 +msgid "Next" +msgstr "" + +#: gajim/gtk/account_wizard.py:65 +#, fuzzy +msgid "Log In" +msgstr "_Lugañ" + +#: gajim/gtk/account_wizard.py:67 gajim/gtk/remove_account.py:44 +#: gajim/gtk/change_password.py:45 gajim/gtk/accounts.py:384 +#, fuzzy +msgid "Back" +msgstr "Distro 'benn nebeut" + +#: gajim/gtk/account_wizard.py:80 +#, fuzzy +msgid "An error occurred during account creation" +msgstr "Bez ez eus bet ur fazi en ur grouiñ ar gont" + +#: gajim/gtk/account_wizard.py:166 +#, fuzzy +msgid "Creating Account..." +msgstr "Lemel ar gont %s" + +#: gajim/gtk/account_wizard.py:167 +#, fuzzy +msgid "Trying to create account..." +msgstr "Klikit evit cheñch ger-kuzh ar gont" + +#: gajim/gtk/account_wizard.py:277 gajim/gtk/account_wizard.py:296 +#: gajim/gtk/account_wizard.py:313 +#, fuzzy +msgid "Connecting to server..." +msgstr "O lugañ" + +#: gajim/gtk/account_wizard.py:367 gajim/gtk/account_wizard.py:368 +msgid "Anonymous login not supported" +msgstr "" + +#: gajim/gtk/account_wizard.py:369 +#, fuzzy +msgid "This server does not support anonymous login." +msgstr "N'eus elfenn ebet da furchal er servij-mañ." + +#: gajim/gtk/account_wizard.py:372 gajim/common/client.py:284 +#: gajim/common/const.py:958 gajim/common/const.py:959 +#: gajim/common/const.py:960 gajim/common/const.py:963 +#, fuzzy +msgid "Authentication failed" +msgstr "C'hwitet an diskleriadenn gant \"%s\"" + +#: gajim/gtk/account_wizard.py:384 gajim/gtk/account_wizard.py:385 +#, fuzzy +msgid "Signup not allowed" +msgstr "N'eus ket bet kavet al lesanv : %s" + +#: gajim/gtk/account_wizard.py:386 +msgid "This server does not allow signup." +msgstr "" + +#: gajim/gtk/account_wizard.py:395 gajim/gtk/account_wizard.py:432 +#: gajim/gtk/account_wizard.py:433 gajim/gtk/account_wizard.py:520 +#: gajim/gtk/groupchat_config.py:132 gajim/gtk/groupchat_config.py:399 +#: gajim/gtk/history.py:591 gajim/gtk/search.py:336 +msgid "Error" +msgstr "" + +#: gajim/gtk/account_wizard.py:402 gajim/gtk/account_wizard.py:403 +#, fuzzy +msgid "Connection failed" +msgstr "Kevreadenn" + +#: gajim/gtk/account_wizard.py:404 +msgid "" +"Gajim was not able to reach the server. Make sure your XMPP address is " +"correct." +msgstr "" + +#: gajim/gtk/account_wizard.py:459 +#, fuzzy +msgid "Account is being created" +msgstr "Luget eo ar gont \"%s\" d'ar servijer" + +#: gajim/gtk/account_wizard.py:518 +msgid "The server rejected the registration without an error message" +msgstr "" + +#: gajim/gtk/account_wizard.py:530 gajim/gtk/accounts.py:572 +#, fuzzy +msgid "Add Account" +msgstr "_Ouzhpennañ un darempred..." + +#: gajim/gtk/account_wizard.py:612 gajim/gtk/groupchat_creation.py:138 +#, fuzzy +msgid "Invalid Address" +msgstr "Restr direizh" + +#: gajim/gtk/account_wizard.py:636 +#, fuzzy +msgid "Create New Account" +msgstr "Darempredoù" + +#: gajim/gtk/account_wizard.py:712 +#, fuzzy +msgid "Advanced settings" +msgstr "Actions a_vancées" + +#: gajim/gtk/account_wizard.py:774 +#, fuzzy +msgid "Invalid domain name" +msgstr "Anv-kont direizh" + +#: gajim/gtk/account_wizard.py:791 +#, fuzzy +msgid "Must be a port number" +msgstr "Ar porzh personelaet a rank bezañ un niverenn borzh" + +#: gajim/gtk/account_wizard.py:798 +msgid "Port must be a number between 0 and 65535" +msgstr "" + +#: gajim/gtk/account_wizard.py:814 +#, fuzzy +msgid "Security Warning" +msgstr "Argas %s" + +#: gajim/gtk/account_wizard.py:833 +#, fuzzy, python-format +msgid "Unknown TLS error '%s'" +msgstr "Aozadur D-Bus dianav: %s" + +#: gajim/gtk/account_wizard.py:868 gajim/gtk/account_wizard.py:871 +#, fuzzy +msgid "Create Account" +msgstr "Lemel ar gont %s" + +#: gajim/gtk/account_wizard.py:922 +msgid "Redirect" +msgstr "" + +#: gajim/gtk/account_wizard.py:932 +#, fuzzy +msgid "Register on the Website" +msgstr "Emezelañ war %s" + +#: gajim/gtk/account_wizard.py:943 +#, fuzzy +msgid "Account Added" +msgstr "Kont" + +#: gajim/gtk/account_wizard.py:944 +msgid "Account has been added successfully" +msgstr "Gant berzh eo bet ouzhpennet ar gont!" + +#: gajim/gtk/groupchat_invitation.py:57 +#, fuzzy +msgid "" +"has invited you to a group chat.\n" +"Do you want to join?" +msgstr "Leuniit an titouroù diwar-benn an darempred da ouzhpennañ" + +#: gajim/gtk/groupchat_invitation.py:75 gajim/gtk/discovery.py:1706 +#: gajim/gtk/groupchat_join.py:68 gajim/data/gui/groupchat_control.ui:899 +#: gajim/data/gui/groupchat_control.ui:991 +#: gajim/data/gui/start_chat_dialog.ui:314 +msgid "_Join" +msgstr "E_barzhiñ" + +#: gajim/gtk/tooltips.py:215 +#, python-format +msgid "%(owner_or_admin_or_member)s of this group chat" +msgstr "" + +#: gajim/gtk/tooltips.py:474 +#, fuzzy +msgid "Connected" +msgstr "Kevreadenn" + +#: gajim/gtk/tooltips.py:476 +#, fuzzy +msgid "Disconnected" +msgstr "Darempred diluget" + +#: gajim/gtk/tooltips.py:530 +#, fuzzy +msgid "File Name: " +msgstr "Anv ar restr: %s" + +#: gajim/gtk/tooltips.py:533 +#, fuzzy +msgid "?Noun:Download" +msgstr "Pellgargañ" + +#: gajim/gtk/tooltips.py:534 gajim/gtk/filetransfer.py:747 +msgid "Sender: " +msgstr "Kaser:" + +#: gajim/gtk/tooltips.py:539 +#, fuzzy +msgid "?Noun:Upload" +msgstr "Kas" + +#: gajim/gtk/tooltips.py:540 gajim/gtk/filetransfer.py:240 +#: gajim/gtk/filetransfer.py:749 +msgid "Recipient: " +msgstr "Resever:" + +#: gajim/gtk/tooltips.py:546 +#, fuzzy +msgid "?transfer type:Type: " +msgstr "Sac'het an treuzkas" + +#: gajim/gtk/tooltips.py:552 +#, fuzzy +msgid "?transfer status:Transferred: " +msgstr "Diskouez an eur:" + +#: gajim/gtk/tooltips.py:555 +#, fuzzy +msgid "?transfer status:Status: " +msgstr "Diskouez an eur:" + +#: gajim/gtk/tooltips.py:557 +#, fuzzy +msgid "Description: " +msgstr "Taolennadur: %s" + +#: gajim/gtk/tooltips.py:581 +#, fuzzy +msgid "?transfer status:Aborted" +msgstr "Diskouez an eur:" + +#: gajim/gtk/tooltips.py:583 +#, fuzzy +msgid "?transfer status:Completed" +msgstr "Diskouez an eur:" + +#: gajim/gtk/tooltips.py:585 +#, fuzzy +msgid "?transfer status:Paused" +msgstr "Diskouez an eur:" + +#: gajim/gtk/tooltips.py:588 +#, fuzzy +msgid "?transfer status:Stalled" +msgstr "Diskouez an eur:" + +#: gajim/gtk/tooltips.py:592 +#, fuzzy +msgid "?transfer status:Transferring" +msgstr "Diskouez an eur:" + +#: gajim/gtk/tooltips.py:593 gajim/gtk/tooltips.py:594 +#, fuzzy +msgid "?transfer status:Not started" +msgstr "Diskouez an eur:" + +#: gajim/gtk/remove_account.py:42 gajim/gtk/accounts.py:341 +#, fuzzy +msgid "Remove" +msgstr "_Dilemel" + +#: gajim/gtk/remove_account.py:49 +#, fuzzy +msgid "Removing Account..." +msgstr "Lemel ar gont %s" + +#: gajim/gtk/remove_account.py:50 +msgid "Trying to remove account..." +msgstr "" + +#: gajim/gtk/remove_account.py:53 gajim/gtk/remove_account.py:54 +#, fuzzy +msgid "Account Removed" +msgstr "Kont" + +#: gajim/gtk/remove_account.py:56 +#, fuzzy +msgid "Your account has has been removed successfully." +msgstr "Gant berzh eo bet krouet ho kont nevez!" + +#: gajim/gtk/remove_account.py:59 gajim/gtk/remove_account.py:60 +#, fuzzy +msgid "Account Removal Failed" +msgstr "Kont ebet hegerz" + +#: gajim/gtk/remove_account.py:171 gajim/gtk/remove_account.py:173 +#, fuzzy +msgid "Remove Account" +msgstr "Lemel ar gont %s" + +#: gajim/gtk/remove_account.py:180 +#, fuzzy +msgid "This will remove your account from Gajim." +msgstr "Dilemel ar gont diwar Gajim _hepken" + +#: gajim/gtk/remove_account.py:189 +#, python-format +msgid "Do you want to unregister your account on %s as well?" +msgstr "" + +#: gajim/gtk/remove_account.py:198 +msgid "_Unregister account from service" +msgstr "" + +#: gajim/gtk/remove_account.py:217 +#, fuzzy +msgid "Account has to be connected" +msgstr "Luget eo ar gont \"%s\" d'ar servijer" + +#: gajim/gtk/filetransfer.py:91 +msgid "File" +msgstr "Restr" + +#: gajim/gtk/filetransfer.py:108 +msgid "Time" +msgstr "Mare" + +#: gajim/gtk/filetransfer.py:121 gajim/data/gui/filetransfer_progress.ui:110 +msgid "Progress" +msgstr "Araokadur" + +#: gajim/gtk/filetransfer.py:228 +#, fuzzy, python-format +msgid "File name: %s" +msgstr "Anv ar restr: %s" + +#: gajim/gtk/filetransfer.py:229 gajim/gtk/filetransfer.py:470 +#, python-format +msgid "Size: %s" +msgstr "Ment: %s" + +#: gajim/gtk/filetransfer.py:239 +#, python-format +msgid "Sender: %s" +msgstr "Kaser: %s" + +#: gajim/gtk/filetransfer.py:251 +#, python-format +msgid "Saved in: %s" +msgstr "Enrollet e-barzh: %s" + +#: gajim/gtk/filetransfer.py:256 +msgid "File transfer completed" +msgstr "Echu eo an treuzkas" + +#: gajim/gtk/filetransfer.py:276 gajim/gtk/filetransfer.py:285 +#, fuzzy +msgid "Connection with peer could not be established." +msgstr "N'eus ket tu seveniñ al lugadenn gant an darempred." + +#: gajim/gtk/filetransfer.py:293 +#, python-format +msgid "Filename: %s" +msgstr "Anv ar restr: %s" + +#: gajim/gtk/filetransfer.py:294 +#, fuzzy, python-format +msgid "Recipient: %s" +msgstr "Resever:" + +#: gajim/gtk/filetransfer.py:296 +#, fuzzy, python-format +msgid "Error message: %s" +msgstr "Fazi en ur lenn ar restr:" + +#: gajim/gtk/filetransfer.py:335 +#, python-format +msgid "" +"The file %s has been received, but it seems to have been damaged along the " +"way.\n" +"Do you want to download it again?" +msgstr "" + +#: gajim/gtk/filetransfer.py:341 +#, fuzzy +msgid "_Download Again" +msgstr "_Chom hep goulenn ket" + +#: gajim/gtk/filetransfer.py:356 +#, fuzzy +msgid "Gajim can not read this file" +msgstr "N'hell ket Gajim tizhout ar restr-mañ" + +#: gajim/gtk/filetransfer.py:357 +msgid "Another process is using this file." +msgstr "" + +#: gajim/gtk/filetransfer.py:399 +#, python-format +msgid "Cannot overwrite existing file '%s'" +msgstr "" + +#: gajim/gtk/filetransfer.py:400 +msgid "" +"A file with this name already exists and you do not have permission to " +"overwrite it." +msgstr "" + +#: gajim/gtk/filetransfer.py:424 +#, fuzzy +msgid "File Transfer Conflict" +msgstr "Echu an treuzkasadenn" + +#: gajim/gtk/filetransfer.py:425 +#, fuzzy +msgid "File already exists" +msgstr "Bez ez eus eus ar restr-mañ dija" + +#: gajim/gtk/filetransfer.py:426 +msgid "Resume download or replace file?" +msgstr "" + +#: gajim/gtk/filetransfer.py:430 +#, fuzzy +msgid "Resume _Download" +msgstr "Pellgargañ" + +#: gajim/gtk/filetransfer.py:433 +#, fuzzy +msgid "Replace _File" +msgstr "Darvoud" + +#: gajim/gtk/filetransfer.py:443 +#, python-format +msgid "Directory '%s' is not writable" +msgstr "" + +#: gajim/gtk/filetransfer.py:444 +msgid "You do not have permissions to create files in this directory." +msgstr "" + +#: gajim/gtk/filetransfer.py:467 +#, python-format +msgid "File: %s" +msgstr "Restr: %s" + +#: gajim/gtk/filetransfer.py:473 +#, python-format +msgid "Type: %s" +msgstr "Doare: %s" + +#: gajim/gtk/filetransfer.py:475 +#, python-format +msgid "Description: %s" +msgstr "Taolennadur: %s" + +#: gajim/gtk/filetransfer.py:486 +#, fuzzy, python-format +msgid "%s wants to send you a file" +msgstr "Fellout a ra da %s kas deoc'h ur restr." + +#: gajim/gtk/filetransfer.py:514 +#, fuzzy +msgid "Checking file…" +msgstr "Kas ur _restr" + +#: gajim/gtk/filetransfer.py:529 +#, fuzzy +msgid "File error" +msgstr "Fazi treuzkas" + +#: gajim/gtk/filetransfer.py:566 +#, python-format +msgid "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" +msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" + +#: gajim/gtk/filetransfer.py:663 +#, python-format +msgid "(%(filesize_unit)s/s)" +msgstr "(%(filesize_unit)s/s)" + +#: gajim/gtk/filetransfer.py:716 gajim/gtk/filetransfer.py:720 +msgid "Invalid File" +msgstr "Restr direizh" + +#: gajim/gtk/filetransfer.py:716 +msgid "File: " +msgstr "Restr:" + +#: gajim/gtk/filetransfer.py:721 +msgid "It is not possible to send empty files" +msgstr "N'eus ket tu da gas restroù goullo" + +#: gajim/gtk/filetransfer.py:1043 +#, fuzzy +msgid "Choose a File to Send…" +msgstr "Dibabit ur restr da gas..." + +#: gajim/gtk/roster_item_exchange.py:35 +#: gajim/data/gui/roster_item_exchange_window.ui:39 +#, fuzzy +msgid "Contact List Exchange" +msgstr "Darempred diluget" + +#: gajim/gtk/roster_item_exchange.py:49 +#, fuzzy, python-format +msgid "%s would like to add some contacts to your contact list." +msgstr "Me blijfe din ouzhpennañ ac'hanoc'h em roll-darempredoù." + +#: gajim/gtk/roster_item_exchange.py:52 +#, fuzzy, python-format +msgid "%s would like to modify some contacts in your contact list." +msgstr "Me blijfe din ouzhpennañ ac'hanoc'h em roll-darempredoù." + +#: gajim/gtk/roster_item_exchange.py:55 +#, fuzzy, python-format +msgid "%s would like to delete some contacts from your contact list." +msgstr "Me blijfe din ouzhpennañ ac'hanoc'h em roll-darempredoù." + +#: gajim/gtk/roster_item_exchange.py:71 gajim/gtk/roster_item_exchange.py:130 +#, fuzzy +msgid "Add" +msgstr "Chomlec'h" + +#: gajim/gtk/roster_item_exchange.py:73 gajim/gtk/roster_item_exchange.py:161 +#, fuzzy +msgid "Modify" +msgstr "_Kemmañ" + +#: gajim/gtk/roster_item_exchange.py:80 +msgid "JID" +msgstr "JID" + +#: gajim/gtk/roster_item_exchange.py:86 +#, fuzzy +msgid "Groups" +msgstr "Strollad" + +#: gajim/gtk/roster_item_exchange.py:196 +#, fuzzy, python-format +msgid "%s suggested me to add you to my contact list." +msgstr "Laouen 'vefen d'ho ouzhpennañ em roll-darempredoù." + +#: gajim/gtk/roster_item_exchange.py:211 +#, fuzzy, python-format +msgid "Added %d contact" +msgid_plural "Added %d contacts" +msgstr[0] "Ouzhpennañ un _darempred" +msgstr[1] "Ouzhpennañ un _darempred" + +#: gajim/gtk/roster_item_exchange.py:253 +#, fuzzy, python-format +msgid "Removed %d contact" +msgid_plural "Removed %d contacts" +msgstr[0] "Dilemel an darempred diouzh ar roll" +msgstr[1] "Dilemel an darempred diouzh ar roll" + +#: gajim/gtk/groupchat_creation.py:45 gajim/data/gui/groupchat_creation.ui:81 +#, fuzzy +msgid "Create Group Chat" +msgstr "Flap a-stroll" + +#: gajim/gtk/groupchat_creation.py:101 gajim/gtk/groupchat_creation.py:103 +msgid " (optional)..." +msgstr "" + +#: gajim/gtk/groupchat_creation.py:186 +#, fuzzy +msgid "Not Connected" +msgstr "Kevreadenn" + +#: gajim/gtk/groupchat_creation.py:187 +#, fuzzy +msgid "You have to be connected to create a group chat." +msgstr "Er strollad" + +#: gajim/gtk/status_selector.py:121 gajim/gtk/status_selector.py:127 +#, fuzzy, python-format +msgid "Status: %s" +msgstr "Stad:" + +#: gajim/gtk/status_selector.py:125 +#, fuzzy, python-format +msgid "%s (desynced)" +msgstr "Dre ar munut" + +#: gajim/gtk/subscription_request.py:35 +msgid "Subscription Request" +msgstr "Goulenn koumanantiñ" + +#: gajim/gtk/subscription_request.py:47 +#, fuzzy, python-format +msgid "Subscription request for account %(account)s from %(jid)s" +msgstr "Goulenn enskrivañ evit ar gont %s digant %s" + +#: gajim/gtk/subscription_request.py:50 +#, python-format +msgid "Subscription request from %s" +msgstr "Goulenn enskrivañ digant %s" + +#: gajim/gtk/single_message.py:51 +#, fuzzy +msgid "Send Single Message" +msgstr "_Kas ur gemennadenn simpl" + +#: gajim/gtk/single_message.py:101 +#, fuzzy +msgid "(No subject)" +msgstr "Titl" + +#: gajim/gtk/single_message.py:157 +#, fuzzy, python-format +msgid "Single Message using account %s" +msgstr "Kemennadenn simpl gant ar gont %s" + +#: gajim/gtk/single_message.py:159 +#, fuzzy, python-format +msgid "Single Message in account %s" +msgstr "Kemennadenn simpl gant ar gont %s" + +#: gajim/gtk/single_message.py:161 +msgid "Single Message" +msgstr "Kemennadenn simpl" + +#: gajim/gtk/single_message.py:164 +#, python-format +msgid "Send %s" +msgstr "Kas %s" + +#: gajim/gtk/single_message.py:183 +#, python-format +msgid "Received %s" +msgstr "%s resevet" + +#: gajim/gtk/single_message.py:205 +#, fuzzy, python-format +msgid "Characters typed: %s" +msgstr "N'eus ket bet kavet al lesanv : %s" + +#: gajim/gtk/single_message.py:210 gajim/gtk/xml_console.py:169 +msgid "Connection not available" +msgstr "N'eus ket tu en em lugañ" + +#: gajim/gtk/single_message.py:211 +#, python-format +msgid "Please make sure you are connected with \"%s\"." +msgstr "Gwiriekait oc'h luget gant \"%s\"." + +#: gajim/gtk/single_message.py:239 +#, fuzzy, python-format +msgid "" +"It is not possible to send a message to %s, this XMPP Address is not valid." +msgstr "N'eus ket tu da gas restroù goullo" + +#: gajim/gtk/single_message.py:316 +#, python-format +msgid "RE: %s" +msgstr "RE: %s" + +#: gajim/gtk/single_message.py:317 +#, python-format +msgid "%s wrote:\n" +msgstr "%s a skrivas:\n" + +#: gajim/gtk/change_password.py:42 +#, fuzzy +msgid "Change" +msgstr "Cheñch _lesanv" + +#: gajim/gtk/change_password.py:51 +#, fuzzy +msgid "Changing Password..." +msgstr "Cheñch ar ger-kuzh" + +#: gajim/gtk/change_password.py:52 +#, fuzzy +msgid "Trying to change password..." +msgstr "Klikit evit cheñch ger-kuzh ar gont" + +#: gajim/gtk/change_password.py:55 gajim/gtk/change_password.py:56 +#, fuzzy +msgid "Password Changed" +msgstr "Ger-kuzh ret" + +#: gajim/gtk/change_password.py:57 +#, fuzzy +msgid "Your password has successfully been changed." +msgstr "_Penndibaboù" + +#: gajim/gtk/change_password.py:60 gajim/gtk/change_password.py:61 +#, fuzzy +msgid "Password Change Failed" +msgstr "Ger-kuzh ret" + +#: gajim/gtk/change_password.py:63 +#, fuzzy +msgid "An error occurred while trying to change your password." +msgstr "Bez ez eus bet ur fazi en ur grouiñ ar gont" + +#: gajim/gtk/change_password.py:145 gajim/gtk/change_password.py:147 +#: gajim/gtk/change_password.py:224 gajim/gtk/accounts.py:994 +msgid "Change Password" +msgstr "Cheñch ar ger-kuzh" + +#: gajim/gtk/change_password.py:154 +#, fuzzy +msgid "Please enter your new password." +msgstr "Da _heul al lesanv:" + +#: gajim/gtk/change_password.py:167 +#, fuzzy +msgid "Enter new password..." +msgstr "Roit ur ger-kuzh nevez:" + +#: gajim/gtk/change_password.py:176 +#, fuzzy +msgid "Confirm new password..." +msgstr "Cheñch ar ger-kuzh" + +#: gajim/gtk/change_password.py:191 +msgid "Passwords do not match" +msgstr "Ne glot ket ar gerioù-kuzh" + +#: gajim/gtk/bookmarks.py:48 +#, fuzzy, python-format +msgid "Bookmarks for %s" +msgstr "_Ouzhpennañ ar webgaoz d'ar sinedoù" + +#: gajim/gtk/xml_console.py:95 gajim/gtk/xml_console.py:279 +#, fuzzy +msgid "All Accounts" +msgstr "Kontoù" + +#: gajim/gtk/xml_console.py:170 +#, fuzzy, python-format +msgid "Please make sure you are connected with '%s'." +msgstr "Gwiriekait oc'h luget gant \"%s\"." + +#: gajim/gtk/xml_console.py:180 +#, fuzzy +msgid "Invalid Node" +msgstr "Restr direizh" + +#: gajim/gtk/xml_console.py:282 +msgid "Account" +msgstr "Kont" + +#: gajim/gtk/xml_console.py:309 gajim/data/gui/xml_console.ui:241 +#, fuzzy +msgid "Filter" +msgstr "Sil:" + +#: gajim/gtk/dataform.py:252 gajim/gtk/dataform.py:290 +#, fuzzy +msgid "Required" +msgstr "Ger-kuzh ret" + +#: gajim/gtk/dataform.py:315 +msgid "Yes" +msgstr "" + +#: gajim/gtk/dataform.py:315 +#, fuzzy +msgid "No" +msgstr "Hini ebet" + +#: gajim/gtk/dataform.py:701 gajim/gtk/adhoc.py:86 +#: gajim/data/gui/profile.ui:396 +#, fuzzy +msgid "Cancel" +msgstr "_Nullañ" + +#: gajim/gtk/dataform.py:703 +msgid "Submit" +msgstr "" + +#: gajim/gtk/discovery.py:69 +msgid "This service has not yet responded with detailed information" +msgstr "N'eus ket bet kaset titouroù munut gant ar servij-mañ c'hoazh" + +#: gajim/gtk/discovery.py:70 +#, fuzzy +msgid "" +"This service could not respond with detailed information.\n" +"It is most likely a legacy service or broken." +msgstr "" +"N'eus ket bet kaset titouroù munut gant ar servij-mañ.\n" +"Sur 'walc'h eo torr pe kamm" + +#: gajim/gtk/discovery.py:126 +msgid "Others" +msgstr "Traoù all" + +#: gajim/gtk/discovery.py:129 gajim/data/gui/shortcuts_window.ui:307 +#, fuzzy +msgid "Group Chat" +msgstr "_Webkaozioù" + +#: gajim/gtk/discovery.py:523 +msgid "Without a connection, you can not browse available services" +msgstr "Rankout a rit bezañ luget evit gellout furchal er servijoù hegerz" + +#: gajim/gtk/discovery.py:610 +#, python-format +msgid "Service Discovery using account %s" +msgstr "Merañ servijoù ar gont %s" + +#: gajim/gtk/discovery.py:612 +msgid "Service Discovery" +msgstr "Merañ ar servijoù" + +#: gajim/gtk/discovery.py:695 +msgid "The service could not be found" +msgstr "N'eo ket bet kavet ar servij" + +#: gajim/gtk/discovery.py:696 +msgid "" +"There is no service at the address you entered, or it is not responding. " +"Check the address and try again." +msgstr "" +"N'eus servij ebet er chomlec'h roet, pe ne respont ket. Gwiriekait ar " +"chomlec'h ha klaskit en-dro." + +#: gajim/gtk/discovery.py:703 gajim/gtk/discovery.py:1046 +msgid "The service is not browsable" +msgstr "N'eus ket tu furchal er servij" + +#: gajim/gtk/discovery.py:704 +msgid "This type of service does not contain any items to browse." +msgstr "N'eus elfenn ebet da furchal e seurt servijoù." + +#: gajim/gtk/discovery.py:742 gajim/gtk/discovery.py:751 +#, fuzzy +msgid "Invalid Server Name" +msgstr "Anv-arveriad-ez direizh" + +#: gajim/gtk/discovery.py:810 +#, fuzzy, python-format +msgid "Browsing %(address)s using account %(account)s" +msgstr "O furchal e-barzh %s oc'h implij ar gont %s" + +#: gajim/gtk/discovery.py:855 +#, fuzzy +msgid "Browse" +msgstr "_Furchal" + +#: gajim/gtk/discovery.py:1047 +msgid "This service does not contain any items to browse." +msgstr "N'eus elfenn ebet da furchal er servij-mañ." + +#: gajim/gtk/discovery.py:1259 +#, fuzzy +msgid "_Command" +msgstr "Urzhioù: %s" + +#: gajim/gtk/discovery.py:1268 gajim/gtk/discovery.py:1425 +msgid "Re_gister" +msgstr "_Emezelañ" + +#: gajim/gtk/discovery.py:1275 +#, fuzzy +msgid "Join" +msgstr "E_barzhiñ" + +#: gajim/gtk/discovery.py:1281 +msgid "_Search" +msgstr "_Klask" + +#: gajim/gtk/discovery.py:1423 gajim/data/gui/profile.ui:353 +msgid "_Edit" +msgstr "_Aozañ" + +#: gajim/gtk/discovery.py:1461 +#, python-format +msgid "Scanning %(current)d / %(total)d ..." +msgstr "" + +#: gajim/gtk/discovery.py:1660 +msgid "Users" +msgstr "Arveridi" + +#: gajim/gtk/discovery.py:1668 gajim/data/gui/groupchat_info_scrolled.ui:32 +#: gajim/data/gui/filetransfers_send_file_dialog.ui:15 +#: gajim/data/gui/advanced_configuration.ui:82 +msgid "Description" +msgstr "Taolennadur" + +#: gajim/gtk/discovery.py:1676 +msgid "Id" +msgstr "" + +#: gajim/gtk/discovery.py:1905 +#, fuzzy +msgid "Subscribed" +msgstr "Emezelañ" + +#: gajim/gtk/discovery.py:1914 +#, fuzzy +msgid "Node" +msgstr "Hini ebet" + +#: gajim/gtk/discovery.py:1983 +#, fuzzy +msgid "_New post" +msgstr "Sal-flapiñ nevez" + +#: gajim/gtk/discovery.py:1992 +msgid "_Subscribe" +msgstr "_Koumanantiñ" + +#: gajim/gtk/discovery.py:2000 +#, fuzzy +msgid "_Unsubscribe" +msgstr "_Koumanantiñ" + +#: gajim/gtk/groupchat_settings.py:43 +msgid "Show Join/Leave" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:53 +#, fuzzy +msgid "Notify on all Messages" +msgstr "Kemennadennoù raklakaet:" + +#: gajim/gtk/groupchat_settings.py:58 +msgid "Minimize on Close" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:63 +msgid "Minimize When Joining Automatically" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:68 +#, fuzzy +msgid "Send Chat State" +msgstr "Stad diwezhañ: %s" + +#: gajim/gtk/groupchat_settings.py:74 +#, fuzzy +msgid "Send Chat Markers" +msgstr "Stad diwezhañ: %s" + +#: gajim/gtk/groupchat_settings.py:77 +msgid "Let others know if you read up to this point" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:80 +msgid "Sync Threshold" +msgstr "" + +#: gajim/gtk/proxies.py:33 +#, fuzzy +msgid "Manage Proxies" +msgstr "Merañ an aeladoù proksi" + +#: gajim/gtk/manage_sounds.py:40 +#, fuzzy +msgid "Manage Sounds" +msgstr "Merañ ar c'hontoù" + +#: gajim/gtk/manage_sounds.py:51 +msgid "Wav Sounds" +msgstr "Sonioù wav" + +#: gajim/gtk/manage_sounds.py:85 +#, fuzzy +msgid "Attention Message Received" +msgstr "Kemennadenn gentañ" + +#: gajim/gtk/manage_sounds.py:86 +msgid "First Message Received" +msgstr "Kemennadenn gentañ" + +#: gajim/gtk/manage_sounds.py:87 +#, fuzzy +msgid "Next Message Received Focused" +msgstr "Kemennadenn da-heul" + +#: gajim/gtk/manage_sounds.py:88 +#, fuzzy +msgid "Next Message Received Unfocused" +msgstr "Kemennadenn da-heul" + +#: gajim/gtk/manage_sounds.py:89 +msgid "Contact Connected" +msgstr "Darempred luget" + +#: gajim/gtk/manage_sounds.py:90 +msgid "Contact Disconnected" +msgstr "Darempred diluget" + +#: gajim/gtk/manage_sounds.py:91 +msgid "Message Sent" +msgstr "Kemennadenn gaset" + +#: gajim/gtk/manage_sounds.py:92 +msgid "Group Chat Message Highlight" +msgstr "Message d'un Salon mis en Sur-brillance" + +#: gajim/gtk/manage_sounds.py:93 +msgid "Group Chat Message Received" +msgstr "Kemennadenn digant ur sal-flapiñ" + +#: gajim/gtk/groupchat_info.py:38 +#, fuzzy +msgid "?Group chat feature:Open" +msgstr "Hini ebet" + +#: gajim/gtk/groupchat_info.py:39 +#, fuzzy +msgid "Anyone can join this group chat" +msgstr "Er strollad" + +#: gajim/gtk/groupchat_info.py:42 +#, fuzzy +msgid "?Group chat feature:Members Only" +msgstr "Message d'un Salon mis en Sur-brillance" + +#: gajim/gtk/groupchat_info.py:43 +msgid "This group chat is restricted to members only" +msgstr "" + +#: gajim/gtk/groupchat_info.py:47 +#, fuzzy +msgid "?Group chat feature:Not Anonymous" +msgstr "Flapoù a-stroll" + +#: gajim/gtk/groupchat_info.py:48 +msgid "All other group chat participants can see your XMPP address" +msgstr "" + +#: gajim/gtk/groupchat_info.py:52 +#, fuzzy +msgid "?Group chat feature:Semi-Anonymous" +msgstr "Message d'un Salon mis en Sur-brillance" + +#: gajim/gtk/groupchat_info.py:53 +msgid "Only moderators can see your XMPP address" +msgstr "" + +#: gajim/gtk/groupchat_info.py:56 +#, fuzzy +msgid "?Group chat feature:Moderated" +msgstr "Hini ebet" + +#: gajim/gtk/groupchat_info.py:57 +msgid "" +"Participants entering this group chat need to request permission to send " +"messages" +msgstr "" + +#: gajim/gtk/groupchat_info.py:61 +#, fuzzy +msgid "?Group chat feature:Not Moderated" +msgstr "Flapoù a-stroll" + +#: gajim/gtk/groupchat_info.py:62 +msgid "Participants entering this group chat are allowed to send messages" +msgstr "" + +#: gajim/gtk/groupchat_info.py:66 +#, fuzzy +msgid "?Group chat feature:Public" +msgstr "Message d'un Salon mis en Sur-brillance" + +#: gajim/gtk/groupchat_info.py:67 +msgid "Group chat can be found via search" +msgstr "" + +#: gajim/gtk/groupchat_info.py:70 +#, fuzzy +msgid "?Group chat feature:Hidden" +msgstr "Hini ebet" + +#: gajim/gtk/groupchat_info.py:71 +#, fuzzy +msgid "This group chat can not be found via search" +msgstr "N'eus sujed ebet gant ar webgaoz-mañ" + +#: gajim/gtk/groupchat_info.py:74 +#, fuzzy +msgid "?Group chat feature:Password Required" +msgstr "Flapoù a-stroll" + +#: gajim/gtk/groupchat_info.py:75 +msgid "This group chat does require a password upon entry" +msgstr "" + +#: gajim/gtk/groupchat_info.py:79 +#, fuzzy +msgid "?Group chat feature:No Password Required" +msgstr "Flapoù a-stroll" + +#: gajim/gtk/groupchat_info.py:80 +msgid "This group chat does not require a password upon entry" +msgstr "" + +#: gajim/gtk/groupchat_info.py:84 +#, fuzzy +msgid "?Group chat feature:Persistent" +msgstr "Flapoù a-stroll" + +#: gajim/gtk/groupchat_info.py:85 +msgid "This group chat persists even if there are no participants" +msgstr "" + +#: gajim/gtk/groupchat_info.py:89 +#, fuzzy +msgid "?Group chat feature:Temporary" +msgstr "Hini ebet" + +#: gajim/gtk/groupchat_info.py:90 +msgid "This group chat will be destroyed once the last participant left" +msgstr "" + +#: gajim/gtk/groupchat_info.py:94 +#, fuzzy +msgid "?Group chat feature:Archiving" +msgstr "Pedadenn evit ur sal-flapiñ" + +#: gajim/gtk/groupchat_info.py:95 +#, fuzzy +msgid "Messages are archived on the server" +msgstr "N'oc'h ket luget d'ar servijer" + +#: gajim/gtk/groupchat_info.py:205 +msgid "Website" +msgstr "" + +#: gajim/gtk/accounts.py:122 +#, fuzzy +msgid "Re-Login" +msgstr "Adlugañ bremañ?" + +#: gajim/gtk/accounts.py:123 +#, fuzzy +msgid "Re-Login now?" +msgstr "Adlugañ bremañ?" + +#: gajim/gtk/accounts.py:124 +#, fuzzy +msgid "To apply all changes instantly, you have to re-login." +msgstr "Ret eo deoc'h adlugañ evit ma vo sevenet an holl gemmoù diouzhtu." + +#: gajim/gtk/accounts.py:128 +msgid "_Re-Login" +msgstr "" + +#: gajim/gtk/accounts.py:311 gajim/data/gui/server_info.ui:386 +msgid "Connection" +msgstr "Kevreadenn" + +#: gajim/gtk/accounts.py:496 +msgid "Please check if Bonjour is installed." +msgstr "" + +#: gajim/gtk/accounts.py:498 +msgid "Please check if Avahi is installed." +msgstr "" + +#: gajim/gtk/accounts.py:537 +#, fuzzy +msgid "Disable Account" +msgstr "Anv-kont direizh" + +#: gajim/gtk/accounts.py:538 +#, fuzzy, python-format +msgid "Account %s is still connected" +msgstr "Luget eo ar gont \"%s\" d'ar servijer" + +#: gajim/gtk/accounts.py:539 +msgid "All chat and group chat windows will be closed." +msgstr "" + +#: gajim/gtk/accounts.py:543 +#, fuzzy +msgid "_Disable Account" +msgstr "Anv-kont direizh" + +#: gajim/gtk/accounts.py:614 +msgid "Label" +msgstr "" + +#: gajim/gtk/accounts.py:618 gajim/data/gui/groupchat_control.ui:99 +#: gajim/data/gui/chat_control.ui:363 +msgid "Color" +msgstr "" + +#: gajim/gtk/accounts.py:620 +msgid "Recognize your account by color" +msgstr "" + +#: gajim/gtk/accounts.py:622 +msgid "Login" +msgstr "" + +#: gajim/gtk/accounts.py:627 +#, fuzzy +msgid "Import Contacts" +msgstr "Darempredoù" + +#: gajim/gtk/accounts.py:636 gajim/gtk/accounts.py:865 +#, fuzzy +msgid "Connect on startup" +msgstr "K_evreañ en ur loc'hañ Gajim" + +#: gajim/gtk/accounts.py:640 gajim/gtk/accounts.py:870 +#, fuzzy +msgid "Save conversations for all contacts" +msgstr "Enrollaén an _istoradur-flapiñ evit an holl zarempredoù" + +#: gajim/gtk/accounts.py:642 gajim/gtk/accounts.py:872 +msgid "Store conversations on the harddrive" +msgstr "" + +#: gajim/gtk/accounts.py:644 gajim/gtk/accounts.py:874 +#, fuzzy +msgid "Global Status" +msgstr "Stad:" + +#: gajim/gtk/accounts.py:646 +#, fuzzy +msgid "Synchronise the status of all accounts" +msgstr "A cheñch stad ar gont pe ar c'hontoù" + +#: gajim/gtk/accounts.py:648 +msgid "Remember Last Status" +msgstr "" + +#: gajim/gtk/accounts.py:650 +msgid "Restore status and status message of your last session" +msgstr "" + +#: gajim/gtk/accounts.py:653 +msgid "Use file transfer proxies" +msgstr "Implij ar proksioù evit treuzkas restroù" + +#: gajim/gtk/accounts.py:670 +#, fuzzy +msgid "Forever" +msgstr "_Morse" + +#: gajim/gtk/accounts.py:671 gajim/common/const.py:1110 +msgid "1 Day" +msgstr "" + +#: gajim/gtk/accounts.py:672 gajim/common/const.py:1112 +msgid "1 Week" +msgstr "" + +#: gajim/gtk/accounts.py:673 gajim/common/const.py:1113 +msgid "1 Month" +msgstr "" + +#: gajim/gtk/accounts.py:674 +msgid "3 Months" +msgstr "" + +#: gajim/gtk/accounts.py:675 +msgid "6 Months" +msgstr "" + +#: gajim/gtk/accounts.py:676 +msgid "1 Year" +msgstr "" + +#: gajim/gtk/accounts.py:686 +#, fuzzy +msgid "Idle Time" +msgstr "dibaoe %s" + +#: gajim/gtk/accounts.py:688 +msgid "Disclose the time of your last activity" +msgstr "" + +#: gajim/gtk/accounts.py:690 +msgid "Local System Time" +msgstr "" + +#: gajim/gtk/accounts.py:692 +msgid "Disclose the local system time of the device Gajim runs on" +msgstr "" + +#: gajim/gtk/accounts.py:695 +#, fuzzy +msgid "Client / Operating System" +msgstr "Anv-arveriad-ez direizh" + +#: gajim/gtk/accounts.py:697 +#, fuzzy +msgid "" +"Disclose information about the client and operating system you currently use" +msgstr "Si cette case est cochée, Gajim se connectera à ce salon au démarrage" + +#: gajim/gtk/accounts.py:700 +#, fuzzy +msgid "Ignore Unknown Contacts" +msgstr "Darempredoù" + +#: gajim/gtk/accounts.py:702 +#, fuzzy +msgid "Ignore everything from contacts not in your Roster" +msgstr "_Chom hep teurel pled eus ar c'hemennadennoù kaset gant tud dianav" + +#: gajim/gtk/accounts.py:705 +#, fuzzy +msgid "Send Message Receipts" +msgstr "Kemennadenn gentañ" + +#: gajim/gtk/accounts.py:707 +msgid "Tell your contacts if you received a message" +msgstr "" + +#: gajim/gtk/accounts.py:713 +#, fuzzy +msgid "Default for chats" +msgstr "Prest da flapiñ" + +#: gajim/gtk/accounts.py:716 gajim/gtk/accounts.py:741 +msgid "Reset all chats to the current default value" +msgstr "" + +#: gajim/gtk/accounts.py:722 +#, fuzzy +msgid "Send Chatstate in Group Chats" +msgstr "Impossible de rejoindre le salon" + +#: gajim/gtk/accounts.py:725 +#, fuzzy +msgid "Default for group chats" +msgstr "Flap a-stroll" + +#: gajim/gtk/accounts.py:739 +#, fuzzy +msgid "Default for chats and private group chats" +msgstr "Er strollad" + +#: gajim/gtk/accounts.py:747 +#, fuzzy +msgid "Keep Chat History" +msgstr "Nevez 'zo:" + +#: gajim/gtk/accounts.py:751 +msgid "How long Gajim should keep your chat history" +msgstr "" + +#: gajim/gtk/accounts.py:787 gajim/data/gui/manage_proxies.ui:337 +#, fuzzy +msgid "Proxy" +msgstr "Proksi:" + +#: gajim/gtk/accounts.py:794 gajim/gtk/accounts.py:949 +#: gajim/data/gui/server_info.ui:20 +#, fuzzy +msgid "Hostname" +msgstr "Servijer:" + +#: gajim/gtk/accounts.py:795 +msgid "Manually set the hostname for the server" +msgstr "" + +#: gajim/gtk/accounts.py:798 gajim/data/gui/vcard_information_window.ui:72 +#, fuzzy +msgid "Resource" +msgstr "Une erreur de protocole s'est produite :" + +#: gajim/gtk/accounts.py:801 gajim/gtk/accounts.py:917 +#: gajim/gtk/accounts.py:925 +msgid "Priority" +msgstr "" + +#: gajim/gtk/accounts.py:804 +#, fuzzy +msgid "Use Unencrypted Connection" +msgstr "Kevreadenn" + +#: gajim/gtk/accounts.py:806 gajim/common/config.py:273 +#, fuzzy +msgid "Use an unencrypted connection to the server" +msgstr "N'oc'h ket luget d'ar servijer" + +#: gajim/gtk/accounts.py:808 +#, fuzzy +msgid "Confirm Unencrypted Connection" +msgstr "Kevreadenn" + +#: gajim/gtk/accounts.py:811 +msgid "Show a confirmation dialog before connecting unencrypted" +msgstr "" + +#: gajim/gtk/accounts.py:835 gajim/data/gui/zeroconf_information_window.ui:8 +#: gajim/data/gui/vcard_information_window.ui:8 +#: gajim/data/gui/subscription_request_window.ui:164 +msgid "Contact Information" +msgstr "Titouroù" + +#: gajim/gtk/accounts.py:837 +msgid "Request contact information (Mood, Activity, Tune, Location)" +msgstr "" + +#: gajim/gtk/accounts.py:840 +#, fuzzy +msgid "Accept all Contact Requests" +msgstr "Goulenn treuzkas" + +#: gajim/gtk/accounts.py:842 +#, fuzzy +msgid "Automatically accept all contact requests" +msgstr "Aotren war-eeun an darempred" + +#: gajim/gtk/accounts.py:844 +#, fuzzy +msgid "Filetransfer Preference" +msgstr "Fazi treuzkas" + +#: gajim/gtk/accounts.py:846 +#, fuzzy +msgid "Upload Files" +msgstr "Enrollañ ar restr dindan..." + +#: gajim/gtk/accounts.py:847 +#, fuzzy +msgid "Send Files Directly" +msgstr "Enrollañ ar restr dindan..." + +#: gajim/gtk/accounts.py:848 +msgid "Preferred file transfer mechanism for file drag&drop on a chat window" +msgstr "" + +#: gajim/gtk/accounts.py:867 +#, fuzzy +msgid "Use environment variable" +msgstr "N'eus ket tu en em lugañ" + +#: gajim/gtk/accounts.py:876 +#, fuzzy +msgid "Synchronize the status of all accounts" +msgstr "A cheñch stad ar gont pe ar c'hontoù" + +#: gajim/gtk/accounts.py:886 +#, fuzzy +msgid "First Name" +msgstr "Anv:" + +#: gajim/gtk/accounts.py:889 +#, fuzzy +msgid "Last Name" +msgstr "Anv:" + +#: gajim/gtk/accounts.py:895 gajim/gtk/profile.py:32 gajim/gtk/vcard_grid.py:39 +#, fuzzy +msgid "Email" +msgstr "Postel nevez" + +#: gajim/gtk/accounts.py:913 +#, fuzzy +msgid "Adjust to status" +msgstr "Goulenn evit gwelet e/he stad" + +#: gajim/gtk/accounts.py:945 +msgid "Enable" +msgstr "Enaouiñ" + +#: gajim/gtk/accounts.py:953 +#, fuzzy +msgid "Port" +msgstr "_Porzh:" + +#: gajim/gtk/accounts.py:957 gajim/data/gui/server_info.ui:250 +msgid "Type" +msgstr "Doare" + +#: gajim/gtk/accounts.py:963 +#, fuzzy +msgid "Connection Settings" +msgstr "Kevreadenn" + +#: gajim/gtk/accounts.py:971 +#, fuzzy +msgid "Client Certificate" +msgstr "Anv-arveriad-ez direizh" + +#: gajim/gtk/accounts.py:973 +msgid "PKCS12 Files" +msgstr "" + +#: gajim/gtk/accounts.py:975 +#, fuzzy +msgid "Encrypted Certificate" +msgstr "Anv-arveriad-ez direizh" + +#: gajim/gtk/accounts.py:979 +#, fuzzy +msgid "Certificate Settings" +msgstr "Anv-arveriad-ez direizh" + +#: gajim/gtk/accounts.py:987 gajim/data/gui/account_wizard.ui:255 +#: gajim/data/gui/bookmarks.ui:102 +#, fuzzy +msgid "Password" +msgstr "Ger-kuzh:" + +#: gajim/gtk/accounts.py:991 +#, fuzzy +msgid "Save Password" +msgstr "Enrollañ ar ger-kuzh" + +#: gajim/gtk/accounts.py:999 +#, fuzzy +msgid "Login Settings" +msgstr "échec lors de la publication de votre vCard" + +#: gajim/gtk/groupchat_config.py:39 +#, fuzzy +msgid "Group Chat Configuration" +msgstr "Pedadenn evit ur sal-flapiñ" + +#: gajim/gtk/groupchat_config.py:104 gajim/common/helpers.py:283 +#: gajim/data/gui/groupchat_config.ui:40 +#, fuzzy +msgid "Member" +msgstr "_Ezel" + +#: gajim/gtk/groupchat_config.py:133 +#, fuzzy +msgid "A Group Chat needs at least one Owner" +msgstr "Hini ebet" + +#: gajim/gtk/groupchat_config.py:241 +msgid "You are not allowed to modify the affiliation of Admins and Owners" +msgstr "" + +#: gajim/gtk/groupchat_config.py:400 +msgid "An entry with this XMPP Address already exists" +msgstr "" + +#: gajim/gtk/server_info.py:142 gajim/data/gui/vcard_information_window.ui:89 +#: gajim/data/gui/preferences.ui:359 +msgid "Status" +msgstr "Stad" + +#: gajim/gtk/server_info.py:143 +msgid "Support" +msgstr "" + +#: gajim/gtk/server_info.py:144 +msgid "Security" +msgstr "" + +#: gajim/gtk/server_info.py:145 +msgid "Feedback" +msgstr "" + +#: gajim/gtk/server_info.py:146 +msgid "Abuse" +msgstr "" + +#: gajim/gtk/server_info.py:147 +msgid "Sales" +msgstr "" + +#: gajim/gtk/server_info.py:231 +#, python-format +msgid "%(days)s days, %(hours)s hours" +msgstr "" + +#: gajim/gtk/server_info.py:239 gajim/gtk/vcard_grid.py:115 +#: gajim/common/helpers.py:224 +#, fuzzy +msgid "Unknown" +msgstr "Dianav" + +#: gajim/gtk/server_info.py:360 +#, fuzzy +msgid "" +"\n" +"Disabled in preferences" +msgstr "_Penndibaboù" + +#: gajim/gtk/history.py:79 +msgid "Conversation History" +msgstr "Istoradur ar gaoz" + +#: gajim/gtk/history.py:411 gajim/gtk/history.py:465 +msgid "Disk Error" +msgstr "" + +#: gajim/gtk/history.py:576 +#, python-format +msgid "%(nick)s is now %(status)s: %(status_msg)s" +msgstr "%(nick)s a zo bremañ %(status)s : %(status_msg)s" + +#: gajim/gtk/history.py:581 gajim/common/connection_handlers_events.py:414 +#, python-format +msgid "%(nick)s is now %(status)s" +msgstr "%(nick)s a zo bremañ %(status)s" + +#: gajim/gtk/history.py:589 +#, fuzzy, python-format +msgid "Error: %s" +msgstr "Fazi en ur lenn ar restr:" + +#: gajim/gtk/history.py:593 +#, python-format +msgid "Status is now: %(status)s: %(status_msg)s" +msgstr "Ar stad a zo bremañ: %(status)s: %(status_msg)s" + +#: gajim/gtk/history.py:597 +#, python-format +msgid "Status is now: %(status)s" +msgstr "Ar stad a zo bremañ: %(status)s" + +#: gajim/gtk/about.py:51 +#, fuzzy +msgid "A GTK XMPP client" +msgstr "Ur flaperez Jabber e GTK+" + +#: gajim/gtk/about.py:52 +#, fuzzy, python-format +msgid "GTK Version: %s" +msgstr "Taolennadur: %s" + +#: gajim/gtk/about.py:53 +#, fuzzy, python-format +msgid "GLib Version: %s" +msgstr "Taolennadur: %s" + +#: gajim/gtk/about.py:54 +#, python-format +msgid "PyGObject Version: %s" +msgstr "" + +#: gajim/gtk/about.py:55 +#, python-format +msgid "python-nbxmpp Version: %s" +msgstr "" + +#: gajim/gtk/about.py:59 +#, fuzzy +msgid "Current Developers" +msgstr "Diorroerien kent:" + +#: gajim/gtk/about.py:60 +#, fuzzy +msgid "Past Developers" +msgstr "Diorroerien kent:" + +#: gajim/gtk/about.py:61 +msgid "Artists" +msgstr "" + +#: gajim/gtk/about.py:65 +msgid "Last but not least" +msgstr "" + +#: gajim/gtk/about.py:66 +#, fuzzy +msgid "we would like to thank all the package maintainers." +msgstr "Evit echuiñ, e fell deomp trugarekaat holl gempennerien ar pakad." + +#: gajim/gtk/about.py:67 +msgid "Thanks" +msgstr "" + +#: gajim/gtk/about.py:69 +msgid "translator-credits" +msgstr "" +"Troet e brezhoneg gant\n" +"Giulia Fraboulet " + +#: gajim/gtk/search.py:95 gajim/gtk/search.py:191 +msgid "Search" +msgstr "Klask" + +#: gajim/gtk/search.py:101 +#, fuzzy +msgid "New Search" +msgstr "Klask" + +#: gajim/gtk/search.py:176 +msgid "Request Search Form" +msgstr "" + +#: gajim/gtk/search.py:236 +#, fuzzy +msgid "Search…" +msgstr "Klask" + +#: gajim/gtk/search.py:243 +#, fuzzy +msgid "Search Result" +msgstr "Klask" + +#: gajim/gtk/search.py:250 +#, fuzzy +msgid "No results found" +msgstr "N'eo ket bet kavet %s" + +#: gajim/gtk/features.py:40 gajim/data/gui/server_info.ui:447 +#, fuzzy +msgid "Features" +msgstr "Perzhioù ar servijerien" + +#: gajim/gtk/features.py:90 +msgid "Audio / Video" +msgstr "" + +#: gajim/gtk/features.py:92 +msgid "Enables Gajim to provide Audio and Video chats" +msgstr "" + +#: gajim/gtk/features.py:93 +msgid "" +"Requires: gir1.2-farstream-0.2, gir1.2-gstreamer-1.0, gstreamer1.0-libav, " +"gstreamer1.0-plugins-ugly" +msgstr "" + +#: gajim/gtk/features.py:95 gajim/gtk/features.py:145 +#, fuzzy +msgid "Feature not available under Windows" +msgstr "An emc'hemennadenn evit ar stad \"Dihegerz\"" + +#: gajim/gtk/features.py:97 +#, fuzzy +msgid "Automatic Status" +msgstr "Goulenn evit gwelet e/he stad" + +#: gajim/gtk/features.py:99 +msgid "" +"Enables Gajim to measure your computer's idle time in order to set your " +"Status automatically" +msgstr "" + +#: gajim/gtk/features.py:101 +msgid "Requires: libxss" +msgstr "" + +#: gajim/gtk/features.py:102 gajim/gtk/features.py:123 +msgid "No additional requirements" +msgstr "" + +#: gajim/gtk/features.py:104 +msgid "Bonjour / Zeroconf (Serverless Chat)" +msgstr "" + +#: gajim/gtk/features.py:106 +msgid "" +"Enables Gajim to automatically detected clients in a local network for " +"serverless chats" +msgstr "" + +#: gajim/gtk/features.py:108 +msgid "Requires: gir1.2-avahi-0.6" +msgstr "" + +#: gajim/gtk/features.py:109 +#, python-format +msgid "Requires: pybonjour and bonjour SDK running (%(url)s)" +msgstr "" + +#: gajim/gtk/features.py:112 +#, fuzzy +msgid "Location detection" +msgstr "Kevreadenn" + +#: gajim/gtk/features.py:114 +msgid "" +"Enables Gajim to be location-aware, if the user decides to publish the " +"device’s location" +msgstr "" + +#: gajim/gtk/features.py:116 +msgid "Requires: geoclue" +msgstr "" + +#: gajim/gtk/features.py:117 +#, fuzzy +msgid "Feature is not available under Windows" +msgstr "An emc'hemennadenn evit ar stad \"Dihegerz\"" + +#: gajim/gtk/features.py:119 +#, fuzzy +msgid "Notification Sounds" +msgstr "Kemmañ ar gont" + +#: gajim/gtk/features.py:121 +msgid "Enables Gajim to play sounds for various notifications" +msgstr "" + +#: gajim/gtk/features.py:122 +#, fuzzy +msgid "Requires: gsound" +msgstr "Ger-kuzh ret" + +#: gajim/gtk/features.py:125 +#, fuzzy +msgid "Secure Password Storage" +msgstr "Enrollañ ar ger-kuzh" + +#: gajim/gtk/features.py:127 +msgid "" +"Enables Gajim to store Passwords securely instead of storing them in " +"plaintext" +msgstr "" + +#: gajim/gtk/features.py:129 +#, fuzzy +msgid "Requires: gnome-keyring or kwallet" +msgstr "Merour an istoradur" + +#: gajim/gtk/features.py:130 +msgid "Windows Credential Vault is used for secure password storage" +msgstr "" + +#: gajim/gtk/features.py:133 +msgid "Spell Checker" +msgstr "" + +#: gajim/gtk/features.py:135 +msgid "Enables Gajim to spell check your messages while composing" +msgstr "" + +#: gajim/gtk/features.py:137 gajim/gtk/features.py:138 +msgid "Requires: Gspell" +msgstr "" + +#: gajim/gtk/features.py:140 +msgid "UPnP-IGD Port Forwarding" +msgstr "" + +#: gajim/gtk/features.py:142 +msgid "" +"Enables Gajim to request your router to forward ports for file transfers" +msgstr "" + +#: gajim/gtk/features.py:144 +msgid "Requires: gir1.2-gupnpigd-1.0" +msgstr "" + +#: gajim/gtk/features.py:200 +#, fuzzy +msgid "Disabled in Preferences" +msgstr "_Penndibaboù" + +#: gajim/gtk/dialogs.py:55 gajim/gtk/filechoosers.py:179 +#: gajim/data/gui/groupchat_control.ui:674 +#: gajim/data/gui/groupchat_control.ui:766 +#: gajim/data/gui/groupchat_control.ui:882 +#: gajim/data/gui/groupchat_control.ui:974 +#: gajim/data/gui/groupchat_control.ui:1419 +#: gajim/data/gui/groupchat_control.ui:1545 +#: gajim/data/gui/groupchat_control.ui:1671 +#: gajim/data/gui/groupchat_control.ui:1842 +#: gajim/data/gui/groupchat_control.ui:1920 gajim/data/gui/filetransfers.ui:30 +#: gajim/data/gui/add_new_contact_window.ui:451 +#: gajim/data/gui/filetransfer_progress.ui:172 gajim/data/gui/profile.ui:260 +#: gajim/data/gui/passphrase_dialog.ui:29 +msgid "_Cancel" +msgstr "_Nullañ" + +#: gajim/gtk/dialogs.py:65 gajim/data/gui/history_manager.ui:20 +#, fuzzy +msgid "_Delete" +msgstr "Dilemel" + +#: gajim/gtk/dialogs.py:216 +#, fuzzy +msgid "Certificate" +msgstr "Anv-arveriad-ez direizh" + +#: gajim/gtk/dialogs.py:230 +#, fuzzy, python-format +msgid "" +"Certificate for \n" +"%s" +msgstr "evit ar gont %s" + +#: gajim/gtk/dialogs.py:279 +msgid "Issued to\n" +msgstr "" + +#: gajim/gtk/dialogs.py:280 gajim/gtk/dialogs.py:285 +msgid "Common Name (CN): " +msgstr "" + +#: gajim/gtk/dialogs.py:281 gajim/gtk/dialogs.py:286 +msgid "Organization (O): " +msgstr "" + +#: gajim/gtk/dialogs.py:282 gajim/gtk/dialogs.py:287 +msgid "Organizational Unit (OU): " +msgstr "" + +#: gajim/gtk/dialogs.py:283 +msgid "Serial Number: " +msgstr "" + +#: gajim/gtk/dialogs.py:284 +msgid "Issued by\n" +msgstr "" + +#: gajim/gtk/dialogs.py:288 +msgid "Validity\n" +msgstr "" + +#: gajim/gtk/dialogs.py:289 +msgid "Issued on: " +msgstr "" + +#: gajim/gtk/dialogs.py:290 +msgid "Expires on: " +msgstr "" + +#: gajim/gtk/dialogs.py:291 +msgid "SHA-1:" +msgstr "" + +#: gajim/gtk/dialogs.py:293 +msgid "SHA-256:" +msgstr "" + +#: gajim/gtk/util.py:591 +msgid "Unknown Artist" +msgstr "" + +#: gajim/gtk/util.py:592 +msgid "Unknown Title" +msgstr "" + +#: gajim/gtk/util.py:593 +msgid "Unknown Source" +msgstr "" + +#: gajim/gtk/util.py:595 +#, python-format +msgid "" +"\"%(title)s\" by %(artist)s\n" +"from %(source)s" +msgstr "" + +#: gajim/gtk/profile.py:28 gajim/gtk/vcard_grid.py:33 +#: gajim/data/gui/vcard_information_window.ui:411 +#, fuzzy +msgid "Full Name" +msgstr "Personelaet" + +#: gajim/gtk/profile.py:29 gajim/gtk/vcard_grid.py:35 +#: gajim/data/gui/vcard_information_window.ui:770 +#, fuzzy +msgid "Birthday" +msgstr "Deiz-ha-bloaz:" + +#: gajim/gtk/profile.py:30 gajim/gtk/vcard_grid.py:36 +#, fuzzy +msgid "Gender" +msgstr "Kaser:" + +#: gajim/gtk/profile.py:31 gajim/data/gui/groupchat_info_scrolled.ui:16 +msgid "Address" +msgstr "Chomlec'h" + +#: gajim/gtk/profile.py:34 gajim/gtk/vcard_grid.py:38 +#: gajim/data/gui/vcard_information_window.ui:720 +#: gajim/data/gui/vcard_information_window.ui:1396 +#, fuzzy +msgid "Phone No." +msgstr "Pellgomz" + +#: gajim/gtk/profile.py:35 +msgid "?profile:Organisation" +msgstr "" + +#: gajim/gtk/profile.py:36 gajim/gtk/vcard_grid.py:41 +msgid "?profile:Title" +msgstr "" + +#: gajim/gtk/profile.py:37 gajim/gtk/vcard_grid.py:42 +#, fuzzy +msgid "?profile:Role" +msgstr "restr" + +#: gajim/gtk/profile.py:38 gajim/gtk/vcard_grid.py:45 +msgid "URL" +msgstr "" + +#: gajim/gtk/profile.py:39 gajim/gtk/vcard_grid.py:46 +#, fuzzy +msgid "?profile:Key" +msgstr "restr" + +#: gajim/gtk/profile.py:299 gajim/gtk/profile.py:301 +#: gajim/data/gui/profile.ui:98 gajim/data/gui/profile.ui:110 +msgid "Everyone" +msgstr "" + +#: gajim/gtk/profile.py:299 gajim/gtk/profile.py:301 +#: gajim/data/gui/shortcuts_window.ui:108 gajim/data/gui/groupchat_invite.ui:83 +msgid "Contacts" +msgstr "Darempredoù" + +#: gajim/gtk/filechoosers.py:88 +#, fuzzy +msgid "Choose File to Send…" +msgstr "Dibabit ur restr da gas..." + +#: gajim/gtk/filechoosers.py:94 +#, fuzzy +msgid "Choose Avatar…" +msgstr "Dibabit ur skeudenn" + +#: gajim/gtk/filechoosers.py:98 +#, fuzzy +msgid "PNG files" +msgstr "An holl restroù" + +#: gajim/gtk/filechoosers.py:99 +#, fuzzy +msgid "JPEG files" +msgstr "An holl restroù" + +#: gajim/gtk/filechoosers.py:100 +#, fuzzy +msgid "SVG files" +msgstr "Kas ur restr" + +#: gajim/gtk/filechoosers.py:102 +msgid "Images" +msgstr "Skeudennoù" + +#: gajim/gtk/filechoosers.py:139 +#, fuzzy +msgid "Choose Archive" +msgstr "Dibabit ur skeudenn" + +#: gajim/gtk/filechoosers.py:141 +#, fuzzy +msgid "ZIP files" +msgstr "An holl restroù" + +#: gajim/gtk/filechoosers.py:146 +#, fuzzy +msgid "Save File as…" +msgstr "Enrollañ ar restr dindan..." + +#: gajim/gtk/filechoosers.py:180 +#, fuzzy +msgid "_Open" +msgstr "OpenPGP : " + +#: gajim/gtk/blocking.py:38 +#, python-format +msgid "Blocking List for %s" +msgstr "" + +#: gajim/gtk/blocking.py:64 +#, fuzzy +msgid "Error!" +msgstr "Fazi en ur lenn ar restr:" + +#: gajim/gtk/service_registration.py:143 gajim/gtk/service_registration.py:157 +#: gajim/gtk/service_registration.py:164 +#, fuzzy +msgid "Register" +msgstr "_Emezelañ" + +#: gajim/gtk/service_registration.py:193 gajim/gtk/service_registration.py:205 +#, fuzzy +msgid "Registration successful" +msgstr "Gant berzh eo bet embannet ar vCard" + +#: gajim/gtk/service_registration.py:216 +#, fuzzy +msgid "Registration failed" +msgstr "échec lors de la publication de votre vCard" + +#: gajim/gtk/vcard_grid.py:37 +#, fuzzy +msgid "?profile:Address" +msgstr "Chomlec'h" + +#: gajim/gtk/vcard_grid.py:40 +#, fuzzy +msgid "IM Address" +msgstr "Chomlec'h" + +#: gajim/gtk/vcard_grid.py:43 +msgid "Organisation" +msgstr "" + +#: gajim/gtk/vcard_grid.py:44 +#, fuzzy +msgid "?profile:Note" +msgstr "restr" + +#: gajim/gtk/vcard_grid.py:51 +msgid "Your public key or authentication certificate" +msgstr "" + +#: gajim/gtk/vcard_grid.py:59 +msgid "Post Office Box" +msgstr "" + +#: gajim/gtk/vcard_grid.py:60 gajim/data/gui/vcard_information_window.ui:489 +#: gajim/data/gui/vcard_information_window.ui:1179 +#, fuzzy +msgid "Street" +msgstr "Straed:" + +#: gajim/gtk/vcard_grid.py:61 +#, fuzzy +msgid "Extended Address" +msgstr "Chomlec'h 2:" + +#: gajim/gtk/vcard_grid.py:62 gajim/data/gui/vcard_information_window.ui:505 +#: gajim/data/gui/vcard_information_window.ui:1195 +#, fuzzy +msgid "City" +msgstr "Kêr:" + +#: gajim/gtk/vcard_grid.py:63 gajim/data/gui/vcard_information_window.ui:521 +#: gajim/data/gui/vcard_information_window.ui:1211 +#, fuzzy +msgid "State" +msgstr "Stad:" + +#: gajim/gtk/vcard_grid.py:64 gajim/data/gui/vcard_information_window.ui:595 +#: gajim/data/gui/vcard_information_window.ui:1244 +#, fuzzy +msgid "Postal Code" +msgstr "Kod postel:" + +#: gajim/gtk/vcard_grid.py:65 gajim/data/gui/vcard_information_window.ui:611 +#: gajim/data/gui/vcard_information_window.ui:1260 +#, fuzzy +msgid "Country" +msgstr "Bro:" + +#: gajim/gtk/vcard_grid.py:111 +msgid "Male" +msgstr "" + +#: gajim/gtk/vcard_grid.py:112 +msgid "Female" +msgstr "" + +#: gajim/gtk/vcard_grid.py:113 +msgid "?Gender:Other" +msgstr "" + +#: gajim/gtk/vcard_grid.py:114 +#, fuzzy +msgid "?Gender:None" +msgstr "Kaser:" + +#: gajim/gtk/vcard_grid.py:121 gajim/gtk/vcard_grid.py:428 +#, fuzzy +msgid "Home" +msgstr "Lec'hienn hiniennel:" + +#: gajim/gtk/vcard_grid.py:122 gajim/gtk/vcard_grid.py:429 +#: gajim/data/gui/vcard_information_window.ui:1452 +msgid "Work" +msgstr "Labour" + +#: gajim/gtk/vcard_grid.py:598 +#, fuzzy +msgid "YYYY-MM-DD" +msgstr "Stumm : BBBB-MM-DD" + +#: gajim/gtk/adhoc.py:91 +#, fuzzy +msgid "Finish" +msgstr "_Echuiñ" + +#: gajim/gtk/adhoc.py:96 gajim/gtk/adhoc.py:283 +#, fuzzy +msgid "Commands" +msgstr "Urzhioù: %s" + +#: gajim/gtk/adhoc.py:107 +msgid "Previous" +msgstr "" + +#: gajim/gtk/adhoc.py:112 +#, fuzzy +msgid "Execute" +msgstr "urzhiad" + +#: gajim/gtk/adhoc.py:196 +#, fuzzy +msgid "No commands available" +msgstr "Kont ebet hegerz" + +#: gajim/gtk/adhoc.py:244 +#, fuzzy +msgid "Request Command List" +msgstr "urzhiad" + +#: gajim/gtk/adhoc.py:259 +#, fuzzy +msgid "Executing…" +msgstr "urzhiad" + +#: gajim/gtk/adhoc.py:266 +#, fuzzy +msgid "Command List" +msgstr "Urzhioù: %s" + +#: gajim/gtk/adhoc.py:321 gajim/data/gui/manage_proxies.ui:255 +#, fuzzy +msgid "Settings" +msgstr "échec lors de la publication de votre vCard" + +#: gajim/gtk/adhoc.py:386 +#, fuzzy +msgid "Finished" +msgstr "_Echuiñ" + +#: gajim/gtk/adhoc.py:455 +#, fuzzy +msgid "Execution failed" +msgstr "Kevreadenn" + +#: gajim/common/jingle_rtp.py:133 +#, fuzzy, python-format +msgid "%s configuration error" +msgstr "Kefluniañ ar webgaoz" + +#: gajim/common/jingle_rtp.py:134 +#, python-format +msgid "" +"Couldn’t set up %(text)s. Check your configuration.\n" +"Pipeline:\n" +"%(pipeline)s\n" +"Error:\n" +"%(error)s" +msgstr "" + +#: gajim/common/jingle_rtp.py:416 +msgid "audio input" +msgstr "" + +#: gajim/common/jingle_rtp.py:421 +msgid "audio output" +msgstr "" + +#: gajim/common/jingle_rtp.py:489 +msgid "video input" +msgstr "" + +#: gajim/common/setting_values.py:300 gajim/common/config.py:356 +#: gajim/common/const.py:387 +msgid "Sleeping" +msgstr "O kousket" + +#: gajim/common/setting_values.py:301 +msgid "ZZZZzzzzzZZZZZ" +msgstr "" + +#: gajim/common/setting_values.py:306 gajim/common/config.py:357 +msgid "Back soon" +msgstr "Distro 'benn nebeut" + +#: gajim/common/setting_values.py:307 gajim/common/config.py:357 +msgid "Back in some minutes." +msgstr "Distro 'vin a-benn un nebeut munutennoù.." + +#: gajim/common/setting_values.py:309 gajim/common/config.py:358 +#: gajim/common/const.py:353 +msgid "Eating" +msgstr "O tebriñ" + +#: gajim/common/setting_values.py:310 +#, fuzzy +msgid "I’m eating." +msgstr "O labourat 'maon." + +#: gajim/common/setting_values.py:314 gajim/common/config.py:359 +msgid "Movie" +msgstr "Film" + +#: gajim/common/setting_values.py:315 +#, fuzzy +msgid "I’m watching a movie." +msgstr "O sellout ouzh ur film 'maon." + +#: gajim/common/setting_values.py:319 gajim/common/config.py:360 +#: gajim/common/const.py:420 +msgid "Working" +msgstr "O labourat" + +#: gajim/common/setting_values.py:320 +#, fuzzy +msgid "I’m working." +msgstr "O labourat 'maon." + +#: gajim/common/setting_values.py:324 gajim/common/config.py:362 +msgid "Out" +msgstr "Er-maez" + +#: gajim/common/setting_values.py:325 +#, fuzzy +msgid "I’m out enjoying life." +msgstr "Er-maez emaon o profitañ eus ar vuhez" + +#: gajim/common/setting_values.py:393 gajim/common/config.py:84 +msgid "" +"Allow to hide the contact list window even if the notification area icon is " +"not shown." +msgstr "" + +#: gajim/common/setting_values.py:394 gajim/common/config.py:95 +msgid "" +"'always' - print time for every message.\n" +"'sometimes' - print time every print_ichat_every_foo_minutes minute.\n" +"'never' - never print time." +msgstr "" + +#: gajim/common/setting_values.py:395 gajim/common/config.py:99 +msgid "Treat * / _ pairs as possible formatting characters." +msgstr "Implij ur re */_ evel arouezioù neuziañ an destenn." + +#: gajim/common/setting_values.py:396 gajim/common/config.py:100 +#, fuzzy +msgid "" +"If enabled, do not remove */_ . So *abc* will be bold but with * * not " +"removed." +msgstr "" +"M'eo gwir, ne vo ket dilamet */_. Neuze e vo *abc* tev ma ne vez ket dilamet " +"* *." + +#: gajim/common/setting_values.py:397 gajim/common/config.py:103 +msgid "" +"Character to add after nickname when using nickname completion (tab) in " +"group chat." +msgstr "" + +#: gajim/common/setting_values.py:398 gajim/common/config.py:125 +msgid "" +"If enabled, Gajim will save the contact list window position when hiding it, " +"and restore it when showing the contact list window again." +msgstr "" + +#: gajim/common/setting_values.py:399 gajim/common/config.py:131 +msgid "Place the contact list on the right in single window mode" +msgstr "" + +#: gajim/common/setting_values.py:400 gajim/common/config.py:137 +msgid "" +"This option lets you customize the timestamp that is printed in " +"conversation. For example '[%H:%M] ' will show '[hour:minute] '. See python " +"doc on strftime for full documentation (https://docs.python.org/3/library/" +"time.html#time.strftime)." +msgstr "" + +#: gajim/common/setting_values.py:401 gajim/common/config.py:138 +msgid "Characters that are printed before the nickname in conversations." +msgstr "" + +#: gajim/common/setting_values.py:402 gajim/common/config.py:139 +msgid "Characters that are printed after the nickname in conversations." +msgstr "" + +#: gajim/common/setting_values.py:403 gajim/common/config.py:140 +#, fuzzy +msgid "If enabled, Gajim will add * and [n] in contact list window title." +msgstr "" +"Si cette case est cochée, Gajim affichera l'avatar de chaque contact dans la " +"fenêtre principale et les salons" + +#: gajim/common/setting_values.py:404 gajim/common/config.py:141 +#, fuzzy +msgid "" +"Number of messages from chat history to be restored when a chat tab/window " +"is reopened." +msgstr "" +"Niver a linennoù da vemoriñ diouzh ar gaozeadenn gent pa vez addigoret un " +"ivinell pe ur prenestr." + +#: gajim/common/setting_values.py:405 gajim/common/config.py:142 +msgid "" +"How far back in time (minutes) chat history is restored. -1 means no limit." +msgstr "" + +#: gajim/common/setting_values.py:406 gajim/common/config.py:143 +#, fuzzy +msgid "Send message on Ctrl+Enter and make a new line with Enter." +msgstr "" +"Kas ar gemennadenn gant Ctrl+Kas ha mont d'al linenn gant Kas (emzalc'h dre-" +"ziouer ar poellad ICQ Mirabilis)." + +#: gajim/common/setting_values.py:407 gajim/common/config.py:145 +#, fuzzy +msgid "How many lines to store for Ctrl+KeyUP (previously sent messages)." +msgstr "Niver a linennoù da zerc'hel soñj evit Ctrl+BirLaez" + +#: gajim/common/setting_values.py:409 gajim/common/config.py:148 +#, fuzzy, python-format +msgid "" +"Either a custom URL with %%s in it (where %%s is the word/phrase) or " +"'WIKTIONARY' (which means use Wikitionary)." +msgstr "" +"Pe un url personelaet gant %s ennañ, %s o vezañ ar ger-kuzh pe 'WIKTIONARY' " +"hag a dalvez implij wiktionary." + +#: gajim/common/setting_values.py:412 gajim/common/config.py:151 +msgid "If checked, Gajim can be controlled remotely using gajim-remote." +msgstr "" +"M'eo diuzet, e vo tu da sturiañ Gajim a-bell en ur implij gajim-remote." + +#: gajim/common/setting_values.py:413 +msgid "" +"When not printing time for every message ('print_time'==sometimes, print it " +"every x minutes." +msgstr "" + +#: gajim/common/setting_values.py:414 gajim/common/config.py:153 +msgid "Ask before pasting an image." +msgstr "" + +#: gajim/common/setting_values.py:415 gajim/common/config.py:154 +msgid "Ask before closing a group chat tab/window." +msgstr "Goulenn a-raok serriñ un ivinell pe ur prenestr." + +#: gajim/common/setting_values.py:416 gajim/common/config.py:155 +msgid "" +"Ask before closing tabbed chat window if there are chats that can lose data " +"(chat, private chat, group chat that will not be minimized)." +msgstr "" + +#: gajim/common/setting_values.py:418 gajim/common/config.py:158 +msgid "" +"List of send hosts (comma separated) in addition to local interfaces for " +"file transfers (in case of address translation/port forwarding)." +msgstr "" + +#: gajim/common/setting_values.py:419 gajim/common/config.py:159 +msgid "IEC standard says KiB = 1024 bytes, KB = 1000 bytes." +msgstr "Hervez ar standard IEC, KiB = 1024 byte, KB = 1000 byte." + +#: gajim/common/setting_values.py:421 gajim/common/config.py:161 +msgid "Notify of events in the notification area." +msgstr "" + +#: gajim/common/setting_values.py:422 gajim/common/config.py:166 +msgid "Show tab when only one conversation?" +msgstr "Diskouez an ivinell pa 'z eus ur gaoz hepken?" + +#: gajim/common/setting_values.py:423 gajim/common/config.py:167 +#, fuzzy +msgid "Show tabbed notebook border in chat windows?" +msgstr "Diskouez an ivinell pa 'z eus ur gaoz hepken?" + +#: gajim/common/setting_values.py:424 gajim/common/config.py:168 +msgid "Show close button in tab?" +msgstr "Diskouez an nozelenn-serriñ war an ivinell?" + +#: gajim/common/setting_values.py:425 gajim/common/config.py:169 +#, fuzzy +msgid "Preview new messages in notification popup?" +msgstr "Noti_fications d'état de discussion" + +#: gajim/common/setting_values.py:426 gajim/common/config.py:172 +msgid "" +"A list of words (semicolon separated) that will be highlighted in group " +"chats." +msgstr "" + +#: gajim/common/setting_values.py:427 gajim/common/config.py:174 +msgid "" +"If enabled, Gajim hides the contact list window when pressing the X button " +"instead of minimizing into the notification area." +msgstr "" + +#: gajim/common/setting_values.py:432 gajim/common/config.py:181 +msgid "" +"Define the position of avatars in the contact list. Can be 'left' or 'right'." +msgstr "" + +#: gajim/common/setting_values.py:433 gajim/common/config.py:186 +msgid "Don't show contact list window in the system taskbar." +msgstr "" + +#: gajim/common/setting_values.py:434 gajim/common/config.py:187 +msgid "" +"If enabled, Gajim makes the window flash (the default behaviour in most " +"Window Managers) when holding pending events." +msgstr "" + +#: gajim/common/setting_values.py:436 gajim/common/config.py:193 +#, fuzzy +msgid "If enabled, pressing Esc closes a tab/window." +msgstr "" +"M'eo gwir, klikit war an douchenn Echap evit serriñ un ivinell/prenestr" + +#: gajim/common/setting_values.py:437 gajim/common/config.py:194 +#, fuzzy +msgid "Hides the banner in a group chat window." +msgstr "A guzha an nozelennoù er prenestr flapiñ" + +#: gajim/common/setting_values.py:438 gajim/common/config.py:195 +#, fuzzy +msgid "Hides the banner in a 1:1 chat window." +msgstr "A guzha an nozelennoù er prenestr flapiñ" + +#: gajim/common/setting_values.py:439 gajim/common/config.py:196 +#, fuzzy +msgid "Hides the group chat participants list in a group chat window." +msgstr "A guzha roll ar berzhidi en ur prenestr webgaoz" + +#: gajim/common/setting_values.py:440 gajim/common/config.py:197 +msgid "" +"In a chat, show the nickname at the beginning of a line only when it's not " +"the same person talking as in the previous message." +msgstr "" + +#: gajim/common/setting_values.py:441 gajim/common/config.py:198 +msgid "Indentation when using merge consecutive nickname." +msgstr "" + +#: gajim/common/setting_values.py:442 gajim/common/config.py:199 +msgid "" +"Ctrl+Tab switches to the next composing tab when there are no tabs with " +"messages pending." +msgstr "" + +#: gajim/common/setting_values.py:443 gajim/common/config.py:200 +msgid "" +"Show a confirmation dialog to create metacontacts? Empty string means never " +"show the dialog." +msgstr "" + +#: gajim/common/setting_values.py:444 gajim/common/config.py:201 +msgid "" +"Show a confirmation dialog to block a contact? Empty string means never show " +"the dialog." +msgstr "" + +#: gajim/common/setting_values.py:445 gajim/common/config.py:202 +msgid "" +"If enabled, you will be able to set a negative priority to your account in " +"the Accounts window. BE CAREFUL, when you are logged in with a negative " +"priority, you will NOT receive any message from your server." +msgstr "" + +#: gajim/common/setting_values.py:446 gajim/common/config.py:203 +msgid "" +"If enabled, Gajim will show both the number of online and total contacts in " +"account rows as well as in group rows." +msgstr "" + +#: gajim/common/setting_values.py:447 gajim/common/config.py:204 +msgid "" +"If enabled, Gajim will scroll and select the contact who sent you the last " +"message, if the chat window is not already opened." +msgstr "" + +#: gajim/common/setting_values.py:448 gajim/common/config.py:205 +msgid "Time of inactivity needed before the change status window closes down." +msgstr "" + +#: gajim/common/setting_values.py:449 gajim/common/config.py:206 +msgid "" +"Maximum number of lines that are printed in conversations. Oldest lines are " +"cleared." +msgstr "" + +#: gajim/common/setting_values.py:450 gajim/common/config.py:208 +msgid "" +"If enabled, completion in group chats will be like a shell auto-completion." +msgstr "" + +#: gajim/common/setting_values.py:451 gajim/common/config.py:217 +msgid "" +"If enabled, Gajim will try to use a STUN server when using Jingle. The one " +"in 'stun_server' option, or the one given by the XMPP server." +msgstr "" + +#: gajim/common/setting_values.py:452 gajim/common/config.py:218 +msgid "STUN server to use when using Jingle" +msgstr "" + +#: gajim/common/setting_values.py:453 gajim/common/config.py:220 +msgid "If enabled, Gajim will ignore incoming attention requests ('wizz')." +msgstr "" + +#: gajim/common/setting_values.py:454 gajim/common/config.py:221 +msgid "" +"If enabled, Gajim will reopen chat windows that were opened last time Gajim " +"was closed." +msgstr "" + +#: gajim/common/setting_values.py:455 gajim/common/config.py:224 +msgid "If enabled, Gajim will execute XEP-0146 Commands." +msgstr "" + +#: gajim/common/setting_values.py:458 gajim/common/config.py:236 +msgid "API Preferences. Possible values: 'http', 'iq'" +msgstr "" + +#: gajim/common/setting_values.py:459 gajim/common/config.py:237 +msgid "If enabled, Gajim will execute commands (/show, /sh, /execute, /exec)." +msgstr "" + +#: gajim/common/setting_values.py:460 gajim/common/config.py:238 +msgid "Width of group chat roster in pixel" +msgstr "" + +#: gajim/common/setting_values.py:461 gajim/common/config.py:239 +#, fuzzy +msgid "Force Bookmark 2 usage" +msgstr "_Ouzhpennañ ar webgaoz d'ar sinedoù" + +#: gajim/common/multimedia_helpers.py:51 +#, fuzzy +msgid "Default device" +msgstr "Titour-stad" + +#: gajim/common/multimedia_helpers.py:72 +msgid "Audio test" +msgstr "" + +#: gajim/common/multimedia_helpers.py:75 gajim/common/multimedia_helpers.py:91 +#: gajim/common/multimedia_helpers.py:105 +msgid "Autodetect" +msgstr "" + +#: gajim/common/multimedia_helpers.py:78 gajim/common/multimedia_helpers.py:93 +#, fuzzy, python-format +msgid "ALSA: %s" +msgstr "Ment: %s" + +#: gajim/common/multimedia_helpers.py:81 gajim/common/multimedia_helpers.py:95 +#, fuzzy, python-format +msgid "Pulse: %s" +msgstr "Restr: %s" + +#: gajim/common/multimedia_helpers.py:89 +msgid "Fake audio output" +msgstr "" + +#: gajim/common/multimedia_helpers.py:102 +msgid "Video test" +msgstr "" + +#: gajim/common/multimedia_helpers.py:107 +msgid "Pipewire" +msgstr "" + +#: gajim/common/multimedia_helpers.py:109 +#, python-format +msgid "V4L2: %s" +msgstr "" + +#: gajim/common/multimedia_helpers.py:111 +msgid "X11" +msgstr "" + +#: gajim/common/multimedia_helpers.py:113 +msgid "Windows" +msgstr "" + +#: gajim/common/multimedia_helpers.py:115 +msgid "macOS" +msgstr "" + +#: gajim/common/helpers.py:176 +msgid "_Busy" +msgstr "" + +#: gajim/common/helpers.py:178 +msgid "Busy" +msgstr "" + +#: gajim/common/helpers.py:181 +msgid "_Not Available" +msgstr "D_ihegerz" + +#: gajim/common/helpers.py:183 +msgid "Not Available" +msgstr "Dihegerz" + +#: gajim/common/helpers.py:186 +msgid "_Free for Chat" +msgstr "_Prest da flapiñ" + +#: gajim/common/helpers.py:188 +msgid "Free for Chat" +msgstr "Prest da flapiñ" + +#: gajim/common/helpers.py:191 +#, fuzzy +msgid "?user status:_Available" +msgstr "_Hegerz" + +#: gajim/common/helpers.py:193 +#, fuzzy +msgid "?user status:Available" +msgstr "Diskouez an eur:" + +#: gajim/common/helpers.py:195 +msgid "Connecting" +msgstr "O lugañ" + +#: gajim/common/helpers.py:198 +msgid "A_way" +msgstr "E_zvezant" + +#: gajim/common/helpers.py:203 +msgid "_Offline" +msgstr "_Ezlinenn" + +#: gajim/common/helpers.py:205 +msgid "Offline" +msgstr "Ezlinenn" + +#: gajim/common/helpers.py:209 +msgid "?contact has status:Unknown" +msgstr "Dianav" + +#: gajim/common/helpers.py:211 +msgid "?contact has status:Has errors" +msgstr "fazi" + +#: gajim/common/helpers.py:216 +msgid "?Subscription we already have:None" +msgstr "Hini ebet" + +#: gajim/common/helpers.py:218 +msgid "To" +msgstr "Da" + +#: gajim/common/helpers.py:220 gajim/data/gui/groups_post_window.ui:33 +msgid "From" +msgstr "Digant" + +#: gajim/common/helpers.py:222 +msgid "Both" +msgstr "An daou" + +#: gajim/common/helpers.py:230 +msgid "?Ask (for Subscription):None" +msgstr "Hini ebet" + +#: gajim/common/helpers.py:232 +msgid "Subscribe" +msgstr "Emezelañ" + +#: gajim/common/helpers.py:244 +msgid "?Group Chat Contact Role:None" +msgstr "Hini ebet" + +#: gajim/common/helpers.py:247 +msgid "Moderators" +msgstr "Kasourien" + +#: gajim/common/helpers.py:249 +msgid "Moderator" +msgstr "Kasour-ez" + +#: gajim/common/helpers.py:252 gajim/data/gui/groupchat_info_scrolled.ui:182 +msgid "Participants" +msgstr "Perzhidi" + +#: gajim/common/helpers.py:254 +msgid "Participant" +msgstr "Perzhiad-ez" + +#: gajim/common/helpers.py:257 +msgid "Visitors" +msgstr "Gweladennerien" + +#: gajim/common/helpers.py:259 +msgid "Visitor" +msgstr "Gweladenner-ez" + +#: gajim/common/helpers.py:268 +#, fuzzy +msgid "?Group Chat Contact Affiliation:None" +msgstr "Hini ebet" + +#: gajim/common/helpers.py:271 +#, fuzzy +msgid "Owners" +msgstr "_Perc'hener-ez" + +#: gajim/common/helpers.py:273 gajim/data/gui/groupchat_config.ui:32 +#, fuzzy +msgid "Owner" +msgstr "_Perc'hener-ez" + +#: gajim/common/helpers.py:276 +#, fuzzy +msgid "Administrators" +msgstr "_Merour-ez" + +#: gajim/common/helpers.py:278 +#, fuzzy +msgid "Administrator" +msgstr "_Merour-ez" + +#: gajim/common/helpers.py:281 +#, fuzzy +msgid "Members" +msgstr "_Ezel" + +#: gajim/common/helpers.py:320 +msgid "is paying attention to the conversation" +msgstr "a zo aketus d'ar gaozeadenn" + +#: gajim/common/helpers.py:322 +msgid "is doing something else" +msgstr "a ra un dra bennak all" + +#: gajim/common/helpers.py:324 +#, fuzzy +msgid "is composing a message…" +msgstr "a skriv ur gemennadenn..." + +#: gajim/common/helpers.py:327 +msgid "paused composing a message" +msgstr "a zo paouezet da skrivañ ar gemennadenn" + +#: gajim/common/helpers.py:329 +msgid "has closed the chat window or tab" +msgstr "he/en deus serret ar prenestr-flapiñ pe an ivinell" + +#: gajim/common/helpers.py:719 gajim/common/helpers.py:727 +#, fuzzy, python-format +msgid "%d message pending" +msgid_plural "%d messages pending" +msgstr[0] "Kas ur gemennadenn" +msgstr[1] "Kas ur gemennadenn" + +#: gajim/common/helpers.py:736 +#, fuzzy, python-format +msgid "from group chat %s" +msgstr "Ebarzhiñ ur _webgaoz" + +#: gajim/common/helpers.py:739 gajim/common/helpers.py:760 +#, fuzzy, python-format +msgid "from user %s" +msgstr "De %s" + +#: gajim/common/helpers.py:741 +#, fuzzy, python-format +msgid "from %s" +msgstr "De %s" + +#: gajim/common/helpers.py:747 gajim/common/helpers.py:755 +#, python-format +msgid "%d event pending" +msgid_plural "%d events pending" +msgstr[0] "" +msgstr[1] "" + +#: gajim/common/helpers.py:828 gajim/data/gui/add_new_contact_window.ui:20 +msgid "I would like to add you to my contact list." +msgstr "Me blijfe din ouzhpennañ ac'hanoc'h em roll-darempredoù." + +#: gajim/common/helpers.py:830 +msgid "Hello, I am $name." +msgstr "" + +#: gajim/common/config.py:71 +msgid "Play sound even when being busy." +msgstr "" + +#: gajim/common/config.py:73 +#, fuzzy +msgid "Show only online and free for chat contacts in the contact list." +msgstr "Me blijfe din ouzhpennañ ac'hanoc'h em roll-darempredoù." + +#: gajim/common/config.py:76 +msgid "Time in minutes, after which your status changes to away." +msgstr "War-lerc'h pet munutenn e vo lakaet ho stad evel ezvezant." + +#: gajim/common/config.py:77 +#, fuzzy +msgid "$S (Away: Idle more than $T min)" +msgstr "Ezvezant rak dizoberiant" + +#: gajim/common/config.py:77 +msgid "" +"$S will be replaced by current status message, $T by the 'autoawaytime' " +"value." +msgstr "" + +#: gajim/common/config.py:79 +msgid "Time in minutes, after which your status changes to not available." +msgstr "War-lerc'h pet munutenn e vo lakaet ho stad evel dihegerz." + +#: gajim/common/config.py:80 +#, fuzzy +msgid "$S (Not available: Idle more than $T min)" +msgstr "Dihegerz rak dizoberiant." + +#: gajim/common/config.py:80 +msgid "" +"$S will be replaced by current status message, $T by the 'autoxatime' value." +msgstr "" + +#: gajim/common/config.py:83 +msgid "" +"When to show the notification area icon. Can be 'never', 'on_event', and " +"'always'." +msgstr "" + +#: gajim/common/config.py:87 +msgid "" +"List of rows (accounts and groups) that are collapsed (space separated)." +msgstr "" + +#: gajim/common/config.py:94 gajim/common/config.py:335 +#: gajim/common/config.py:342 +msgid "Language used for spell checking." +msgstr "" + +#: gajim/common/config.py:97 +msgid "When enabled, ASCII emojis will be converted to graphical emojis." +msgstr "" + +#: gajim/common/config.py:152 +msgid "" +"When not printing time for every message ('print_time'==sometimes), print it " +"every x minutes." +msgstr "" + +#: gajim/common/config.py:173 +msgid "" +"If enabled, Gajim quits when clicking the X button of your Window Manager. " +"This setting is taken into account only if the notification area icon is " +"used." +msgstr "" + +#: gajim/common/config.py:175 +#, fuzzy +msgid "" +"If enabled, Gajim will display the status message (if not empty) underneath " +"the contact name in the contact list window." +msgstr "" +"Si cette case est cochée, Gajim affichera le message d'état, sous le nom de " +"chaque contact dans la fenêtre principale et les salons" + +#: gajim/common/config.py:182 +msgid "" +"If disabled, Gajim will no longer print status messages in chats when a " +"contact changes their status (and/or their status message)." +msgstr "" + +#: gajim/common/config.py:183 +#, fuzzy +msgid "" +"Default Setting: Show a status message for every join or leave in a group " +"chat." +msgstr "Impossible de rejoindre le salon" + +#: gajim/common/config.py:184 +#, fuzzy +msgid "" +"Default Setting: Show a status message for all status changes (away, dnd, " +"etc.) of users in a group chat." +msgstr "Impossible de rejoindre le salon" + +#: gajim/common/config.py:191 +#, fuzzy +msgid "" +"Controls the window where new messages are placed.\n" +"'always' - All messages are sent to a single window.\n" +"'always_with_roster' - Like 'always' but the messages are in a single window " +"along with the contact list.\n" +"'never' - All messages get their own window.\n" +"'peracct' - Messages for each account are sent to a specific window.\n" +"'pertype' - Each message type (e.g. chats vs. group chats) is sent to a " +"specific window." +msgstr "" +"A reolia ar prenestr a vez lakaet ar c'hemennadennoù nevez enni.\n" +"'always' - An holl gaozioù en hevelep prenestr.\n" +"'never' - An holl gaozioù e prenestroù disheñvel.\n" +"'peracct' - An holl gaozioù en ur prenestr hervez ar gont.\n" +"'pertype' - Bep a brenestr gant ur stumm flapiñ (webgaoz/flap)." + +#: gajim/common/config.py:192 +msgid "" +"Show contact list window on startup.\n" +"'always' - Always show contact list window.\n" +"'never' - Never show contact list window.\n" +"'last_state' - Restore last state of the contact list window." +msgstr "" + +#: gajim/common/config.py:207 +msgid "" +"Valid URI schemes. Only schemes in this list will be accepted as 'real' URI " +"(mailto and xmpp are handled separately)." +msgstr "" + +#: gajim/common/config.py:212 +msgid "Optionally fix Jingle output video framerate. Example: 10/1 or 25/2." +msgstr "" + +#: gajim/common/config.py:213 +msgid "Optionally resize Jingle output video. Example: 320x240." +msgstr "" + +#: gajim/common/config.py:214 +msgid "If enabled, you will see your webcam's video stream as well." +msgstr "" + +#: gajim/common/config.py:219 +msgid "" +"Proxy used for all outgoing connections if the account does not have a " +"specific proxy configured." +msgstr "" + +#: gajim/common/config.py:222 +msgid "" +"If enabled, Gajim will display an icon to show that sent messages have been " +"received by your contact." +msgstr "" + +#: gajim/common/config.py:223 +msgid "" +"If enabled, Gajim will use the System's Keyring to store account passwords." +msgstr "" + +#: gajim/common/config.py:225 +msgid "2: System, 1: Enabled, 0: Disabled" +msgstr "" + +#: gajim/common/config.py:226 +msgid "" +"Maximum history in days we request from a public group chat archive. 0: As " +"much as possible." +msgstr "" + +#: gajim/common/config.py:227 +msgid "" +"Maximum history in days we request from a private group chat archive. 0: As " +"much as possible." +msgstr "" + +#: gajim/common/config.py:228 +msgid "" +"If enabled, Gajim shows the group chat subject in the chat window when " +"joining." +msgstr "" + +#: gajim/common/config.py:229 +#, fuzzy +msgid "" +"If enabled, the contact row is colored according to the current chat state " +"of the contact." +msgstr "Si cette case est cochée, Gajim se connectera à ce salon au démarrage" + +#: gajim/common/config.py:230 +#, fuzzy +msgid "" +"If enabled, the tab is colored according to the current chat state of the " +"contact." +msgstr "Si cette case est cochée, Gajim se connectera à ce salon au démarrage" + +#: gajim/common/config.py:231 +#, fuzzy +msgid "" +"Shows a text in the banner that describes the current chat state of the " +"contact." +msgstr "Si cette case est cochée, Gajim se connectera à ce salon au démarrage" + +#: gajim/common/config.py:232 +msgid "" +"Chat state notifications that are sent to contacts. Possible values: all, " +"composing_only, disabled" +msgstr "" + +#: gajim/common/config.py:233 +msgid "" +"Chat state notifications that are sent to the group chat. Possible values: " +"'all', 'composing_only', 'disabled'" +msgstr "" + +#: gajim/common/config.py:240 +msgid "Shows an info bar with helpful hints in the Start / Join Chat dialog" +msgstr "" + +#: gajim/common/config.py:242 +msgid "Date of the last update check" +msgstr "" + +#: gajim/common/config.py:260 +msgid "" +"Priority will change automatically according to your status. Priorities are " +"defined in 'autopriority_*' options." +msgstr "" + +#: gajim/common/config.py:267 +msgid "If enabled, the last status will be restored." +msgstr "" + +#: gajim/common/config.py:268 +msgid "" +"If enabled, contacts requesting authorization will be accepted automatically." +msgstr "" + +#: gajim/common/config.py:269 +#, fuzzy +msgid "" +"If disabled, this account will be disabled and will not appear in the " +"contact list window." +msgstr "M'eo faos, ne weloc'h ket an avatar er prenestr-flapiñ ken" + +#: gajim/common/config.py:278 +msgid "ConnectionType: START TLS, DIRECT TLS or PLAIN" +msgstr "" + +#: gajim/common/config.py:280 +msgid "" +"List of XMPP Addresses (space separated) for which you do not want to store " +"chat history. You can also add the name of an account to disable storing " +"chat history for this account." +msgstr "" + +#: gajim/common/config.py:285 +msgid "" +"If enabled, Gajim will use your IP and proxies defined in " +"'file_transfer_proxies' option for file transfers." +msgstr "" + +#: gajim/common/config.py:286 +msgid "" +"If enabled, Gajim will test file transfer proxies on startup to be sure they " +"work. Openfire's proxies are known to fail this test even if they work." +msgstr "" + +#: gajim/common/config.py:298 +msgid "If enabled, Gajim will answer to message receipt requests." +msgstr "" + +#: gajim/common/config.py:303 +#, fuzzy +msgid "" +"Allow Gajim to send information about the operating system you are running." +msgstr "Si cette case est cochée, Gajim se connectera à ce salon au démarrage" + +#: gajim/common/config.py:304 +#, fuzzy +msgid "Allow Gajim to send your local time." +msgstr "Fellout a ra da %s kas deoc'h ur restr." + +#: gajim/common/config.py:307 +#, fuzzy +msgid "Message that is sent to contacts you want to add." +msgstr "Leuniit an titouroù diwar-benn an darempred da ouzhpennañ" + +#: gajim/common/config.py:308 +msgid "" +"If enabled, Gajim will send your local IP so your contact can connect to " +"your machine for file transfers." +msgstr "" + +#: gajim/common/config.py:309 +msgid "" +"List of XMPP Addresses (space separated) for which the chat window will be " +"re-opened on next startup." +msgstr "" + +#: gajim/common/config.py:311 +msgid "" +"Preferred file transfer mechanism for file drag&drop on a chat window. Can " +"be 'httpupload' (default) or 'jingle'." +msgstr "" + +#: gajim/common/config.py:312 +#, fuzzy +msgid "Allow certificate verification with POSH." +msgstr "Oc'h ouzhpennañ ur gelaouenn nevez evit %s" + +#: gajim/common/config.py:336 +msgid "" +"Chat state notifications that are sent to contacts. Possible values: 'all', " +"'composing_only', 'disabled'" +msgstr "" + +#: gajim/common/config.py:339 +#, fuzzy +msgid "The currently active encryption for that contact." +msgstr "N'eus ket tu da implij OpenPGP war an urzhiataer-mañ" + +#: gajim/common/config.py:343 +msgid "" +"If enabled, a notification is created for every message in this group chat." +msgstr "" + +#: gajim/common/config.py:344 +#, fuzzy +msgid "" +"Show a status message for all status changes (away, dnd, etc.) of users in a " +"group chat." +msgstr "Impossible de rejoindre le salon" + +#: gajim/common/config.py:345 +#, fuzzy +msgid "Show a status message for every join or leave in a group chat." +msgstr "Impossible de rejoindre le salon" + +#: gajim/common/config.py:346 +msgid "" +"If enabled, the group chat is minimized into the contact list when joining " +"automatically." +msgstr "" + +#: gajim/common/config.py:347 +msgid "" +"If enabled, the group chat is minimized into the contact list when closing " +"it." +msgstr "" + +#: gajim/common/config.py:348 +msgid "" +"Chat state notifications that are sent to the group chat. Possible values: " +"'all', 'composing_only' or 'disabled'." +msgstr "" + +#: gajim/common/config.py:351 +msgid "" +"If enabled, plugins will be activated on startup (this is saved when exiting " +"Gajim). This option SHOULD NOT be used to (de)activate plugins. Use the " +"plugin window instead." +msgstr "" + +#: gajim/common/config.py:358 +#, fuzzy +msgid "I'm eating." +msgstr "O labourat 'maon." + +#: gajim/common/config.py:359 +msgid "I'm watching a movie." +msgstr "O sellout ouzh ur film 'maon." + +#: gajim/common/config.py:360 +msgid "I'm working." +msgstr "O labourat 'maon." + +#: gajim/common/config.py:361 +msgid "Phone" +msgstr "Pellgomz" + +#: gajim/common/config.py:361 +msgid "I'm on the phone." +msgstr "Ouzh ar pellgomz emaon." + +#: gajim/common/config.py:362 +#, fuzzy +msgid "I'm out enjoying life." +msgstr "Er-maez emaon o profitañ eus ar vuhez" + +#: gajim/common/config.py:373 +msgid "" +"Sound to play when a group chat message contains one of the words in " +"'muc_highlight_words' or your nickname is mentioned." +msgstr "" + +#: gajim/common/config.py:374 +msgid "Sound to play when any group chat message arrives." +msgstr "" + +#: gajim/common/config.py:378 +#, fuzzy +msgid "Tor" +msgstr "Da" + +#: gajim/common/exceptions.py:45 +#, python-format +msgid "" +"The database file (%s) cannot be read. Try to repair it (see https://dev." +"gajim.org/gajim/gajim/wikis/help/DatabaseBackup) or remove it (all history " +"will be lost)." +msgstr "" + +#: gajim/common/exceptions.py:59 +msgid "Service not available: Gajim is not running, or remote_control is False" +msgstr "" +"Servij dihegerz: n'eo ket loc'het Gajim, pe lakaet eo bet remote_control war " +"False" + +#: gajim/common/exceptions.py:81 +#, fuzzy, python-format +msgid "" +"Session bus is not available.\n" +"Try reading %(url)s" +msgstr "Le bus de session n'est pas disponible" + +#: gajim/common/exceptions.py:93 +#, fuzzy, python-format +msgid "" +"System bus is not available.\n" +"Try reading %(url)s" +msgstr "" +"Dihegerz eo bus an estez.\n" +"Klaskit o lenn http://trac.gajim.org/wiki/GajimDBus" + +#: gajim/common/optparser.py:54 +#, python-format +msgid "Error: cannot open %s for reading" +msgstr "Fazi: dibosupl eo digeriñ %s evit e lenn" + +#: gajim/common/configpaths.py:84 +#, fuzzy, python-format +msgid "%s is a file but it should be a directory" +msgstr "ur restr eo %s met rankout a rafe bezañ ur renkell" + +#: gajim/common/configpaths.py:85 +msgid "Gajim will now exit" +msgstr "Emañ Gajim o vont da guitaat diouzhtu" + +#: gajim/common/connection_handlers_events.py:242 +#: gajim/common/connection_handlers_events.py:342 +#, fuzzy, python-format +msgid "New message from %(nickname)s" +msgid_plural "%(n_msgs)i unread messages from %(nickname)s" +msgstr[0] "Kemennadenn nevez digant %(nickname)s" +msgstr[1] "Kemennadenn nevez digant %(nickname)s" + +#: gajim/common/connection_handlers_events.py:412 +#, fuzzy, python-format +msgid "%(nick)s Changed Status" +msgstr "%(nick)s a zo bremañ %(status)s" + +#: gajim/common/const.py:287 +#, fuzzy +msgid "?Group chat name:Team" +msgstr "Hini ebet" + +#: gajim/common/const.py:288 +msgid "?Group chat description:Project discussion" +msgstr "" + +#: gajim/common/const.py:289 +#, fuzzy +msgid "?Group chat address:team" +msgstr "Flapoù a-stroll" + +#: gajim/common/const.py:290 +#, fuzzy +msgid "?Group chat name:Family" +msgstr "Message d'un Salon mis en Sur-brillance" + +#: gajim/common/const.py:291 +msgid "?Group chat description:Spring gathering" +msgstr "" + +#: gajim/common/const.py:292 +msgid "?Group chat address:family" +msgstr "" + +#: gajim/common/const.py:293 +#, fuzzy +msgid "?Group chat name:Vacation" +msgstr "Pedadenn evit ur sal-flapiñ" + +#: gajim/common/const.py:294 +msgid "?Group chat description:Trip planning" +msgstr "" + +#: gajim/common/const.py:295 +#, fuzzy +msgid "?Group chat address:vacation" +msgstr "Pedadenn evit ur sal-flapiñ" + +#: gajim/common/const.py:296 +#, fuzzy +msgid "?Group chat name:Repairs" +msgstr "Flap a-stroll" + +#: gajim/common/const.py:297 +msgid "?Group chat description:Local help group" +msgstr "" + +#: gajim/common/const.py:298 +#, fuzzy +msgid "?Group chat address:repairs" +msgstr "Flapoù a-stroll" + +#: gajim/common/const.py:299 +#, fuzzy +msgid "?Group chat name:News" +msgstr "Hini ebet" + +#: gajim/common/const.py:300 +#, fuzzy +msgid "?Group chat description:Local news and reports" +msgstr "La création de salon est réservée aux administrateurs." + +#: gajim/common/const.py:301 +#, fuzzy +msgid "?Group chat address:news" +msgstr "Flap a-stroll" + +#: gajim/common/const.py:306 +#, fuzzy +msgid "Remote server not found" +msgstr "N'eo ket bet kavet ar servij" + +#: gajim/common/const.py:307 +msgid "Remote server timeout" +msgstr "" + +#: gajim/common/const.py:308 gajim/common/const.py:309 +#: gajim/common/const.py:310 +#, fuzzy +msgid "Address does not belong to a group chat server" +msgstr "A guzha an nozelennoù er prenestr flapiñ" + +#: gajim/common/const.py:311 +#, fuzzy +msgid "Group chat already exists" +msgstr "Anv-kont implijet dija" + +#: gajim/common/const.py:312 +#, fuzzy +msgid "Group chat does not exist" +msgstr "Ce salon n'existe pas." + +#: gajim/common/const.py:313 +#, fuzzy +msgid "Group chat is closed" +msgstr "Flapoù a-stroll" + +#: gajim/common/const.py:319 +msgid "This message was encrypted with OTR and could not be decrypted." +msgstr "" + +#: gajim/common/const.py:322 +msgid "" +"This message was encrypted with Legacy OpenPGP and could not be decrypted. " +"You can install the PGP plugin to handle those messages." +msgstr "" + +#: gajim/common/const.py:326 +msgid "" +"This message was encrypted with OpenPGP for XMPP and could not be decrypted. " +"You can install the OpenPGP plugin to handle those messages." +msgstr "" + +#: gajim/common/const.py:330 +#, python-format +msgid "This message was encrypted with %s and could not be decrypted." +msgstr "" + +#: gajim/common/const.py:337 +#, fuzzy +msgid "Doing Chores" +msgstr "Ger-kuzh faos" + +#: gajim/common/const.py:338 +msgid "Buying Groceries" +msgstr "" + +#: gajim/common/const.py:339 +#, fuzzy +msgid "Cleaning" +msgstr "Darvoud" + +#: gajim/common/const.py:340 +#, fuzzy +msgid "Cooking" +msgstr "O skrivañ" + +#: gajim/common/const.py:341 +msgid "Doing Maintenance" +msgstr "" + +#: gajim/common/const.py:342 +msgid "Doing the Dishes" +msgstr "" + +#: gajim/common/const.py:343 +msgid "Doing the Laundry" +msgstr "" + +#: gajim/common/const.py:344 +#, fuzzy +msgid "Gardening" +msgstr "O labourat" + +#: gajim/common/const.py:345 +msgid "Running an Errand" +msgstr "" + +#: gajim/common/const.py:346 +#, fuzzy +msgid "Walking the Dog" +msgstr "Er strollad" + +#: gajim/common/const.py:348 +#, fuzzy +msgid "Drinking" +msgstr "O labourat" + +#: gajim/common/const.py:349 +msgid "Having a Beer" +msgstr "" + +#: gajim/common/const.py:350 +msgid "Having Coffee" +msgstr "" + +#: gajim/common/const.py:351 +msgid "Having Tea" +msgstr "" + +#: gajim/common/const.py:354 +msgid "Having a Snack" +msgstr "" + +#: gajim/common/const.py:355 +msgid "Having Breakfast" +msgstr "" + +#: gajim/common/const.py:356 +msgid "Having Dinner" +msgstr "" + +#: gajim/common/const.py:357 +msgid "Having Lunch" +msgstr "" + +#: gajim/common/const.py:359 +msgid "Exercising" +msgstr "" + +#: gajim/common/const.py:360 gajim/common/const.py:411 +msgid "Cycling" +msgstr "" + +#: gajim/common/const.py:361 +#, fuzzy +msgid "Dancing" +msgstr "Darvoud" + +#: gajim/common/const.py:362 +#, fuzzy +msgid "Hiking" +msgstr "Skarzhañ %s" + +#: gajim/common/const.py:363 +#, fuzzy +msgid "Jogging" +msgstr "E_barzhiñ" + +#: gajim/common/const.py:364 +msgid "Playing Sports" +msgstr "" + +#: gajim/common/const.py:365 +msgid "Running" +msgstr "" + +#: gajim/common/const.py:366 +#, fuzzy +msgid "Skiing" +msgstr "O labourat" + +#: gajim/common/const.py:367 +msgid "Swimming" +msgstr "" + +#: gajim/common/const.py:368 +#, fuzzy +msgid "Working out" +msgstr "O labourat" + +#: gajim/common/const.py:370 +msgid "Grooming" +msgstr "" + +#: gajim/common/const.py:371 +msgid "At the Spa" +msgstr "" + +#: gajim/common/const.py:372 +msgid "Brushing Teeth" +msgstr "" + +#: gajim/common/const.py:373 +msgid "Getting a Haircut" +msgstr "" + +#: gajim/common/const.py:374 +#, fuzzy +msgid "Shaving" +msgstr "O tebriñ" + +#: gajim/common/const.py:375 +msgid "Taking a Bath" +msgstr "" + +#: gajim/common/const.py:376 +msgid "Taking a Shower" +msgstr "" + +#: gajim/common/const.py:378 +msgid "Having an Appointment" +msgstr "" + +#: gajim/common/const.py:380 +msgid "Inactive" +msgstr "Dizoberiant" + +#: gajim/common/const.py:381 +msgid "Day Off" +msgstr "" + +#: gajim/common/const.py:382 +#, fuzzy +msgid "Hanging out" +msgstr "Cheñch ar sujed" + +#: gajim/common/const.py:383 +#, fuzzy +msgid "Hiding" +msgstr "Skarzhañ %s" + +#: gajim/common/const.py:384 +msgid "On Vacation" +msgstr "" + +#: gajim/common/const.py:385 +#, fuzzy +msgid "Praying" +msgstr "O tebriñ" + +#: gajim/common/const.py:386 +msgid "Scheduled Holiday" +msgstr "" + +#: gajim/common/const.py:388 +#, fuzzy +msgid "Thinking" +msgstr "O labourat" + +#: gajim/common/const.py:390 +#, fuzzy +msgid "Relaxing" +msgstr "Standard" + +#: gajim/common/const.py:391 +#, fuzzy +msgid "Fishing" +msgstr "Skarzhañ %s" + +#: gajim/common/const.py:392 +#, fuzzy +msgid "Gaming" +msgstr "O tebriñ" + +#: gajim/common/const.py:393 +#, fuzzy +msgid "Going out" +msgstr "_Dilugañ" + +#: gajim/common/const.py:394 +#, fuzzy +msgid "Partying" +msgstr "O tebriñ" + +#: gajim/common/const.py:395 +#, fuzzy +msgid "Reading" +msgstr "Abeg" + +#: gajim/common/const.py:396 +#, fuzzy +msgid "Rehearsing" +msgstr "Abeg" + +#: gajim/common/const.py:397 +#, fuzzy +msgid "Shopping" +msgstr "O kousket" + +#: gajim/common/const.py:398 +#, fuzzy +msgid "Smoking" +msgstr "O labourat" + +#: gajim/common/const.py:399 +msgid "Socializing" +msgstr "" + +#: gajim/common/const.py:400 +#, fuzzy +msgid "Sunbathing" +msgstr "O tebriñ" + +#: gajim/common/const.py:401 +msgid "Watching TV" +msgstr "" + +#: gajim/common/const.py:402 +#, fuzzy +msgid "Watching a Movie" +msgstr "O sellout ouzh ur film 'maon." + +#: gajim/common/const.py:404 +#, fuzzy +msgid "Talking" +msgstr "O tebriñ" + +#: gajim/common/const.py:405 +msgid "In Real Life" +msgstr "" + +#: gajim/common/const.py:406 +#, fuzzy +msgid "On the Phone" +msgstr "Ouzh ar pellgomz emaon." + +#: gajim/common/const.py:407 +msgid "On Video Phone" +msgstr "" + +#: gajim/common/const.py:409 +#, fuzzy +msgid "Traveling" +msgstr "O treuzkas" + +#: gajim/common/const.py:410 +#, fuzzy +msgid "Commuting" +msgstr "O skrivañ" + +#: gajim/common/const.py:412 +msgid "Driving" +msgstr "" + +#: gajim/common/const.py:413 +msgid "In a Car" +msgstr "" + +#: gajim/common/const.py:414 +msgid "On a Bus" +msgstr "" + +#: gajim/common/const.py:415 +msgid "On a Plane" +msgstr "" + +#: gajim/common/const.py:416 +msgid "On a Train" +msgstr "" + +#: gajim/common/const.py:417 +msgid "On a Trip" +msgstr "" + +#: gajim/common/const.py:418 +#, fuzzy +msgid "Walking" +msgstr "O labourat" + +#: gajim/common/const.py:421 +#, fuzzy +msgid "Coding" +msgstr "O skrivañ" + +#: gajim/common/const.py:422 +msgid "In a Meeting" +msgstr "" + +#: gajim/common/const.py:423 +msgid "Studying" +msgstr "" + +#: gajim/common/const.py:424 +#, fuzzy +msgid "Writing" +msgstr "O labourat" + +#: gajim/common/const.py:427 +msgid "Afraid" +msgstr "" + +#: gajim/common/const.py:428 +msgid "Amazed" +msgstr "" + +#: gajim/common/const.py:429 +msgid "Amorous" +msgstr "" + +#: gajim/common/const.py:430 +msgid "Angry" +msgstr "" + +#: gajim/common/const.py:431 +msgid "Annoyed" +msgstr "" + +#: gajim/common/const.py:432 +msgid "Anxious" +msgstr "" + +#: gajim/common/const.py:433 +#, fuzzy +msgid "Aroused" +msgstr "Ehan" + +#: gajim/common/const.py:434 +msgid "Ashamed" +msgstr "" + +#: gajim/common/const.py:435 +#, fuzzy +msgid "Bored" +msgstr "Tev" + +#: gajim/common/const.py:436 +msgid "Brave" +msgstr "" + +#: gajim/common/const.py:437 +msgid "Calm" +msgstr "" + +#: gajim/common/const.py:438 +#, fuzzy +msgid "Cautious" +msgstr "Flapoù" + +#: gajim/common/const.py:439 +#, fuzzy +msgid "Cold" +msgstr "Tev" + +#: gajim/common/const.py:440 +#, fuzzy +msgid "Confident" +msgstr "_Endalc'hadoù" + +#: gajim/common/const.py:441 +msgid "Confused" +msgstr "" + +#: gajim/common/const.py:442 +#, fuzzy +msgid "Contemplative" +msgstr "Echu" + +#: gajim/common/const.py:443 +#, fuzzy +msgid "Contented" +msgstr "_Endalc'hadoù" + +#: gajim/common/const.py:444 +msgid "Cranky" +msgstr "" + +#: gajim/common/const.py:445 +msgid "Crazy" +msgstr "" + +#: gajim/common/const.py:446 +#, fuzzy +msgid "Creative" +msgstr "Dizoberiant" + +#: gajim/common/const.py:447 +msgid "Curious" +msgstr "" + +#: gajim/common/const.py:448 +#, fuzzy +msgid "Dejected" +msgstr "Dilemel" + +#: gajim/common/const.py:449 +msgid "Depressed" +msgstr "" + +#: gajim/common/const.py:450 +#, fuzzy +msgid "Disappointed" +msgstr "Dizoberiant" + +#: gajim/common/const.py:451 +msgid "Disgusted" +msgstr "" + +#: gajim/common/const.py:452 +#, fuzzy +msgid "Dismayed" +msgstr "Dizoberiant" + +#: gajim/common/const.py:453 +#, fuzzy +msgid "Distracted" +msgstr "Dizoberiant" + +#: gajim/common/const.py:454 +msgid "Embarrassed" +msgstr "" + +#: gajim/common/const.py:455 +msgid "Envious" +msgstr "" + +#: gajim/common/const.py:456 +msgid "Excited" +msgstr "" + +#: gajim/common/const.py:457 +msgid "Flirtatious" +msgstr "" + +#: gajim/common/const.py:458 +msgid "Frustrated" +msgstr "" + +#: gajim/common/const.py:459 +msgid "Grateful" +msgstr "" + +#: gajim/common/const.py:460 +msgid "Grieving" +msgstr "" + +#: gajim/common/const.py:461 +#, fuzzy +msgid "Grumpy" +msgstr "Strollad" + +#: gajim/common/const.py:462 +msgid "Guilty" +msgstr "" + +#: gajim/common/const.py:463 +msgid "Happy" +msgstr "" + +#: gajim/common/const.py:464 +msgid "Hopeful" +msgstr "" + +#: gajim/common/const.py:465 +#, fuzzy +msgid "Hot" +msgstr "_Ostiz:" + +#: gajim/common/const.py:466 +msgid "Humbled" +msgstr "" + +#: gajim/common/const.py:467 +msgid "Humiliated" +msgstr "" + +#: gajim/common/const.py:468 +msgid "Hungry" +msgstr "" + +#: gajim/common/const.py:469 +msgid "Hurt" +msgstr "" + +#: gajim/common/const.py:470 +#, fuzzy +msgid "Impressed" +msgstr "kemennadenn" + +#: gajim/common/const.py:471 +msgid "In Awe" +msgstr "" + +#: gajim/common/const.py:472 +msgid "In Love" +msgstr "" + +#: gajim/common/const.py:473 +msgid "Indignant" +msgstr "" + +#: gajim/common/const.py:474 +msgid "Interested" +msgstr "" + +#: gajim/common/const.py:475 +msgid "Intoxicated" +msgstr "" + +#: gajim/common/const.py:476 +#, fuzzy +msgid "Invincible" +msgstr "Diwelus" + +#: gajim/common/const.py:477 +msgid "Jealous" +msgstr "" + +#: gajim/common/const.py:478 +#, fuzzy +msgid "Lonely" +msgstr "Hini ebet" + +#: gajim/common/const.py:479 +#, fuzzy +msgid "Lost" +msgstr "_Ostiz:" + +#: gajim/common/const.py:480 +msgid "Lucky" +msgstr "" + +#: gajim/common/const.py:481 +#, fuzzy +msgid "Mean" +msgstr "Hollek" + +#: gajim/common/const.py:482 +#, fuzzy +msgid "Moody" +msgstr "_Kemmañ" + +#: gajim/common/const.py:483 +msgid "Nervous" +msgstr "" + +#: gajim/common/const.py:484 +msgid "Neutral" +msgstr "" + +#: gajim/common/const.py:485 +#, fuzzy +msgid "Offended" +msgstr "Ezlinenn" + +#: gajim/common/const.py:486 +msgid "Outraged" +msgstr "" + +#: gajim/common/const.py:487 +msgid "Playful" +msgstr "" + +#: gajim/common/const.py:488 +#, fuzzy +msgid "Proud" +msgstr "Strollad" + +#: gajim/common/const.py:489 +msgid "Relaxed" +msgstr "" + +#: gajim/common/const.py:490 +#, fuzzy +msgid "Relieved" +msgstr "Dilemel" + +#: gajim/common/const.py:491 +msgid "Remorseful" +msgstr "" + +#: gajim/common/const.py:492 +msgid "Restless" +msgstr "" + +#: gajim/common/const.py:493 +msgid "Sad" +msgstr "" + +#: gajim/common/const.py:494 +msgid "Sarcastic" +msgstr "" + +#: gajim/common/const.py:495 +#, fuzzy +msgid "Satisfied" +msgstr "Anv:" + +#: gajim/common/const.py:496 +msgid "Serious" +msgstr "" + +#: gajim/common/const.py:497 +msgid "Shocked" +msgstr "" + +#: gajim/common/const.py:498 +msgid "Shy" +msgstr "" + +#: gajim/common/const.py:499 +#, fuzzy +msgid "Sick" +msgstr "Lesanv" + +#: gajim/common/const.py:500 +#, fuzzy +msgid "Sleepy" +msgstr "O kousket" + +#: gajim/common/const.py:501 +msgid "Spontaneous" +msgstr "" + +#: gajim/common/const.py:502 +#, fuzzy +msgid "Stressed" +msgstr "Straed:" + +#: gajim/common/const.py:503 +msgid "Strong" +msgstr "" + +#: gajim/common/const.py:504 +#, fuzzy +msgid "Surprised" +msgstr "Emezelañ" + +#: gajim/common/const.py:505 +msgid "Thankful" +msgstr "" + +#: gajim/common/const.py:506 +msgid "Thirsty" +msgstr "" + +#: gajim/common/const.py:507 +#, fuzzy +msgid "Tired" +msgstr "Mare" + +#: gajim/common/const.py:508 +#, fuzzy +msgid "Undefined" +msgstr "Islinennañ" + +#: gajim/common/const.py:509 +msgid "Weak" +msgstr "" + +#: gajim/common/const.py:510 +msgid "Worried" +msgstr "" + +#: gajim/common/const.py:514 +msgid "accuracy" +msgstr "" + +#: gajim/common/const.py:515 +#, fuzzy +msgid "alt" +msgstr "Dilemel" + +#: gajim/common/const.py:516 +msgid "area" +msgstr "" + +#: gajim/common/const.py:517 +#, fuzzy +msgid "bearing" +msgstr "Glas-mor" + +#: gajim/common/const.py:518 +#, fuzzy +msgid "building" +msgstr "Skarzhañ %s" + +#: gajim/common/const.py:519 +#, fuzzy +msgid "country" +msgstr "Bro:" + +#: gajim/common/const.py:520 +#, fuzzy +msgid "countrycode" +msgstr "Kont" + +#: gajim/common/const.py:521 +msgid "datum" +msgstr "" + +#: gajim/common/const.py:522 +#, fuzzy +msgid "description" +msgstr "Taolennadur" + +#: gajim/common/const.py:523 +msgid "error" +msgstr "" + +#: gajim/common/const.py:524 +msgid "floor" +msgstr "" + +#: gajim/common/const.py:525 +msgid "lat" +msgstr "" + +#: gajim/common/const.py:526 +msgid "locality" +msgstr "" + +#: gajim/common/const.py:527 +#, fuzzy +msgid "lon" +msgstr "Hini ebet" + +#: gajim/common/const.py:528 +msgid "postalcode" +msgstr "" + +#: gajim/common/const.py:529 +msgid "region" +msgstr "" + +#: gajim/common/const.py:530 +#, fuzzy +msgid "room" +msgstr "Digant" + +#: gajim/common/const.py:531 +msgid "speed" +msgstr "" + +#: gajim/common/const.py:532 +msgid "street" +msgstr "" + +#: gajim/common/const.py:533 +msgid "text" +msgstr "" + +#: gajim/common/const.py:534 +msgid "timestamp" +msgstr "" + +#: gajim/common/const.py:535 +msgid "URI" +msgstr "" + +#: gajim/common/const.py:540 +msgid "Unable to get issuer certificate" +msgstr "" + +#: gajim/common/const.py:541 +msgid "Unable to get certificate CRL" +msgstr "" + +#: gajim/common/const.py:542 +msgid "Unable to decrypt certificate's signature" +msgstr "" + +#: gajim/common/const.py:543 +msgid "Unable to decrypt CRL's signature" +msgstr "" + +#: gajim/common/const.py:544 +#, fuzzy +msgid "Unable to decode issuer public key" +msgstr "Impossible de rejoindre le salon" + +#: gajim/common/const.py:545 +msgid "Certificate signature failure" +msgstr "" + +#: gajim/common/const.py:546 +msgid "CRL signature failure" +msgstr "" + +#: gajim/common/const.py:547 +msgid "Certificate is not yet valid" +msgstr "" + +#: gajim/common/const.py:548 +msgid "Certificate has expired" +msgstr "" + +#: gajim/common/const.py:549 +msgid "CRL is not yet valid" +msgstr "" + +#: gajim/common/const.py:550 +msgid "CRL has expired" +msgstr "" + +#: gajim/common/const.py:551 +msgid "Format error in certificate's notBefore field" +msgstr "" + +#: gajim/common/const.py:552 +msgid "Format error in certificate's notAfter field" +msgstr "" + +#: gajim/common/const.py:553 +msgid "Format error in CRL's lastUpdate field" +msgstr "" + +#: gajim/common/const.py:554 +msgid "Format error in CRL's nextUpdate field" +msgstr "" + +#: gajim/common/const.py:555 +msgid "Out of memory" +msgstr "" + +#: gajim/common/const.py:556 +msgid "Self signed certificate" +msgstr "" + +#: gajim/common/const.py:557 +msgid "Self signed certificate in certificate chain" +msgstr "" + +#: gajim/common/const.py:558 +msgid "Unable to get local issuer certificate" +msgstr "" + +#: gajim/common/const.py:559 +msgid "Unable to verify the first certificate" +msgstr "" + +#: gajim/common/const.py:560 +msgid "Certificate chain too long" +msgstr "" + +#: gajim/common/const.py:561 +msgid "Certificate revoked" +msgstr "" + +#: gajim/common/const.py:562 +#, fuzzy +msgid "Invalid CA certificate" +msgstr "Anv-arveriad-ez direizh" + +#: gajim/common/const.py:563 +msgid "Path length constraint exceeded" +msgstr "" + +#: gajim/common/const.py:564 +msgid "Unsupported certificate purpose" +msgstr "" + +#: gajim/common/const.py:565 +msgid "Certificate not trusted" +msgstr "" + +#: gajim/common/const.py:566 +msgid "Certificate rejected" +msgstr "" + +#: gajim/common/const.py:567 +msgid "Subject issuer mismatch" +msgstr "" + +#: gajim/common/const.py:568 +msgid "Authority and subject key identifier mismatch" +msgstr "" + +#: gajim/common/const.py:569 +msgid "Authority and issuer serial number mismatch" +msgstr "" + +#: gajim/common/const.py:570 +msgid "Key usage does not include certificate signing" +msgstr "" + +#: gajim/common/const.py:571 +msgid "Application verification failure" +msgstr "" + +#: gajim/common/const.py:893 +msgid "The signing certificate authority is not known" +msgstr "" + +#: gajim/common/const.py:894 +#, fuzzy +msgid "The certificate has been revoked" +msgstr "[Sifret eo ar gemennadenn-mañ]" + +#: gajim/common/const.py:895 +msgid "The certificate does not match the expected identity of the site" +msgstr "" + +#: gajim/common/const.py:896 +msgid "The certificate’s algorithm is insecure" +msgstr "" + +#: gajim/common/const.py:897 +msgid "The certificate’s activation time is in the future" +msgstr "" + +#: gajim/common/const.py:898 +#, fuzzy +msgid "Unknown validation error" +msgstr "Aozadur D-Bus dianav: %s" + +#: gajim/common/const.py:899 +#, fuzzy +msgid "The certificate has expired" +msgstr "Ger-kuzh ret" + +#: gajim/common/const.py:954 +#, fuzzy +msgid "Authentication aborted" +msgstr "Aotre degmeret" + +#: gajim/common/const.py:955 +#, fuzzy +msgid "Account disabled" +msgstr "Lazhet eo ar sifrañ" + +#: gajim/common/const.py:956 +#, fuzzy +msgid "Credentials expired" +msgstr "Ger-kuzh ret" + +#: gajim/common/const.py:957 +#, fuzzy +msgid "Encryption required" +msgstr "War enaou emañ ar sifrañ" + +#: gajim/common/const.py:961 +#, fuzzy +msgid "Authentication mechanism not supported" +msgstr "C'hwitet an diskleriadenn gant \"%s\"" + +#: gajim/common/const.py:962 +#, fuzzy +msgid "Authentication mechanism too weak" +msgstr "C'hwitet an diskleriadenn gant \"%s\"" + +#: gajim/common/const.py:964 +msgid "Authentication currently not possible" +msgstr "" + +#: gajim/common/const.py:1109 +msgid "No Sync" +msgstr "" + +#: gajim/common/const.py:1111 +msgid "2 Days" +msgstr "" + +#: gajim/common/const.py:1114 +msgid "No Threshold" +msgstr "" + +#: gajim/common/logging_helpers.py:31 +#, python-format +msgid "%s is not a valid loglevel" +msgstr "" + +#: gajim/common/zeroconf/zeroconf_avahi.py:256 +#: gajim/common/zeroconf/zeroconf_bonjour.py:248 +#: gajim/common/zeroconf/zeroconf_bonjour.py:265 +#: gajim/common/zeroconf/zeroconf_bonjour.py:323 +#, fuzzy, python-format +msgid "Error while adding service. %s" +msgstr "fazi en ur gas %s ( %s )" + +#: gajim/common/zeroconf/connection_zeroconf.py:252 +#, python-format +msgid "Could not connect to \"%s\"" +msgstr "Dibosupl eo en em lugañ da \"%s\"" + +#: gajim/common/zeroconf/connection_zeroconf.py:253 +msgid "Please check if Avahi or Bonjour is installed." +msgstr "" + +#: gajim/common/zeroconf/connection_zeroconf.py:263 +#: gajim/common/zeroconf/connection_zeroconf.py:267 +#, fuzzy +msgid "Could not start local service" +msgstr "Dibosupl eo kargañ ar skeudenn" + +#: gajim/common/zeroconf/connection_zeroconf.py:264 +#, fuzzy, python-format +msgid "Unable to bind to port %d." +msgstr "Impossible de rejoindre le salon" + +#: gajim/common/zeroconf/connection_zeroconf.py:268 +msgid "Please check if avahi/bonjour-daemon is running." +msgstr "" + +#: gajim/common/zeroconf/connection_zeroconf.py:362 +#: gajim/common/zeroconf/connection_zeroconf.py:375 +#, fuzzy, python-format +msgid "Could not change status of account \"%s\"" +msgstr "Dibosupl eo en em lugañ da \"%s\"" + +#: gajim/common/zeroconf/connection_zeroconf.py:363 +#: gajim/common/zeroconf/connection_zeroconf.py:376 +msgid "Please check if avahi-daemon is running." +msgstr "" + +#: gajim/common/zeroconf/connection_zeroconf.py:404 +#, fuzzy +msgid "Your message could not be sent." +msgstr "N'eus ket tu da gas ho kemennadenn keit ha ma n'oc'h ket luget." + +#: gajim/common/zeroconf/connection_zeroconf.py:419 +msgid "Contact is offline. Your message could not be sent." +msgstr "" + +#: gajim/common/zeroconf/connection_zeroconf.py:441 +msgid "" +"Connection to host could not be established: Timeout while sending data." +msgstr "" + +#: gajim/common/dbus/logind.py:73 +msgid "Machine is going to sleep" +msgstr "" + +#: gajim/common/dbus/logind.py:103 +msgid "Disconnect from the network" +msgstr "" + +#: gajim/common/modules/adhoc_commands.py:88 +#, fuzzy +msgid "Change status information" +msgstr "Titouroù" + +#: gajim/common/modules/adhoc_commands.py:112 +#, fuzzy +msgid "Change status" +msgstr "Darempred diluget" + +#: gajim/common/modules/adhoc_commands.py:113 +msgid "Set the presence type and description" +msgstr "" + +#: gajim/common/modules/adhoc_commands.py:120 +#, fuzzy +msgid "Free for chat" +msgstr "Prest da flapiñ" + +#: gajim/common/modules/adhoc_commands.py:121 +#, fuzzy +msgid "Online" +msgstr "_Kenderc'hel" + +#: gajim/common/modules/adhoc_commands.py:123 +msgid "Extended away" +msgstr "" + +#: gajim/common/modules/adhoc_commands.py:124 +msgid "Do not disturb" +msgstr "" + +#: gajim/common/modules/adhoc_commands.py:125 +msgid "Offline - disconnect" +msgstr "" + +#: gajim/common/modules/adhoc_commands.py:131 +#, fuzzy +msgid "Presence description:" +msgstr "Taolennadur" + +#: gajim/common/modules/adhoc_commands.py:170 +msgid "The status has been changed." +msgstr "" + +#: gajim/common/modules/presence.py:265 +msgid "I would like to add you to my roster." +msgstr "Laouen 'vefen d'ho ouzhpennañ em roll-darempredoù." + +#: gajim/common/modules/roster_item_exchange.py:103 +#, python-format +msgid "Sent contact: \"%(jid)s\" (%(name)s)" +msgstr "" + +#: gajim/common/modules/roster_item_exchange.py:107 +#, fuzzy +msgid "Sent contacts:" +msgstr "Darempredoù" + +#: gajim/common/modules/httpupload.py:99 +#, fuzzy +msgid "File is empty" +msgstr "Treug ar restr" + +#: gajim/common/modules/httpupload.py:102 +#, fuzzy +msgid "File does not exist" +msgstr "Ce salon n'existe pas." + +#: gajim/common/modules/httpupload.py:109 +#: gajim/common/modules/httpupload.py:172 +#, python-format +msgid "File is too large, maximum allowed file size is: %s" +msgstr "" + +#: gajim/common/modules/httpupload.py:279 +#, fuzzy +msgid "Encrypting file…" +msgstr "Lazhet eo ar sifrañ" + +#: gajim/common/modules/httpupload.py:280 +msgid "Requesting HTTP File Upload Slot…" +msgstr "" + +#: gajim/common/modules/httpupload.py:281 +msgid "Uploading via HTTP File Upload…" +msgstr "" + +#: gajim/common/modules/httpupload.py:285 +msgid "The server returned an insecure transport (HTTP)." +msgstr "" + +#: gajim/common/modules/httpupload.py:286 +msgid "There is no encryption method available for the chosen encryption." +msgstr "" + +#: gajim/plugins/pluginmanager.py:679 gajim/plugins/pluginmanager.py:685 +msgid "Archive corrupted" +msgstr "" + +#: gajim/plugins/pluginmanager.py:681 +#, fuzzy +msgid "Archive empty" +msgstr "Treug ar restr" + +#: gajim/plugins/pluginmanager.py:693 gajim/plugins/pluginmanager.py:701 +#: gajim/plugins/gui.py:273 +msgid "Archive is malformed" +msgstr "" + +#: gajim/plugins/pluginmanager.py:710 gajim/plugins/gui.py:288 +#: gajim/plugins/gui.py:301 +#, fuzzy +msgid "Plugin already exists" +msgstr "Bez ez eus eus ar restr-mañ dija" + +#: gajim/plugins/pluginmanager.py:720 +#, fuzzy +msgid "Installation failed" +msgstr "échec lors de la publication de votre vCard" + +#: gajim/plugins/gui.py:67 gajim/data/gui/shortcuts_window.ui:38 +msgid "Plugins" +msgstr "" + +#: gajim/plugins/gui.py:75 +msgid "Click to view Gajim's wiki page on how to install plugins in Flatpak." +msgstr "" + +#: gajim/plugins/gui.py:84 +msgid "Plugin" +msgstr "" + +#: gajim/plugins/gui.py:95 gajim/data/gui/manage_sounds.ui:40 +msgid "Active" +msgstr "Oberiant" + +#: gajim/plugins/gui.py:159 +#, fuzzy, python-format +msgid "Warning: %s" +msgstr "Argas %s" + +#: gajim/plugins/gui.py:216 +#, fuzzy +msgid "Plugin failed" +msgstr "échec lors de la publication de votre vCard" + +#: gajim/plugins/gui.py:249 +msgid "Unable to properly remove the plugin" +msgstr "" + +#: gajim/plugins/gui.py:287 +#, fuzzy +msgid "Overwrite Plugin?" +msgstr "Titour-stad" + +#: gajim/plugins/gui.py:289 +#, fuzzy +msgid "Do you want to overwrite the currently installed version?" +msgstr "Fellout a ra din emezelañ evit krouiñ ur gont" + +#: gajim/plugins/gui.py:317 gajim/data/gui/groupchat_config.ui:258 +#, fuzzy +msgid "Configuration" +msgstr "Kefluniañ ar webgaoz" + +#: gajim/data/gui/groupchat_nick_chooser.ui:47 +#, fuzzy +msgid "Join Group Chat as…" +msgstr "Ebarzhiñ ur sal-flapiñ" + +#: gajim/data/gui/groupchat_nick_chooser.ui:66 +#, fuzzy +msgid "Your Nickname" +msgstr "_A-raok al lesanv:" + +#: gajim/data/gui/groupchat_control.ui:36 +#, fuzzy +msgid "Drop Files or Contacts" +msgstr "Darempredoù" + +#: gajim/data/gui/groupchat_control.ui:58 gajim/data/gui/chat_control.ui:322 +msgid "Bold" +msgstr "Tev" + +#: gajim/data/gui/groupchat_control.ui:67 gajim/data/gui/chat_control.ui:331 +msgid "Italic" +msgstr "Stouet" + +#: gajim/data/gui/groupchat_control.ui:76 gajim/data/gui/chat_control.ui:340 +#, fuzzy +msgid "Underline" +msgstr "Islinennañ" + +#: gajim/data/gui/groupchat_control.ui:85 gajim/data/gui/chat_control.ui:349 +#, fuzzy +msgid "Strike" +msgstr "Lesanv" + +#: gajim/data/gui/groupchat_control.ui:107 gajim/data/gui/chat_control.ui:371 +#, fuzzy +msgid "Font" +msgstr "_Nodrezh:" + +#: gajim/data/gui/groupchat_control.ui:121 gajim/data/gui/chat_control.ui:385 +#, fuzzy +msgid "Clear formatting" +msgstr "Titouroù" + +#: gajim/data/gui/groupchat_control.ui:383 gajim/data/gui/chat_control.ui:784 +#, fuzzy +msgid "Choose encryption" +msgstr "Dibabit ur restr da gas..." + +#: gajim/data/gui/groupchat_control.ui:429 gajim/data/gui/chat_control.ui:667 +#, fuzzy +msgid "Show a list of emojis (Alt+M)" +msgstr "Klikit evit enlakaat ur boulomell (Alt+M)" + +#: gajim/data/gui/groupchat_control.ui:454 gajim/data/gui/chat_control.ui:833 +#, fuzzy +msgid "Send Message" +msgstr "Kas ur gemennadenn" + +#: gajim/data/gui/groupchat_control.ui:583 +#, fuzzy +msgid "Joining…" +msgstr "Oc'h argas..." + +#: gajim/data/gui/groupchat_control.ui:641 +#, fuzzy +msgid "Enter Nickname" +msgstr "Cheñch _lesanv" + +#: gajim/data/gui/groupchat_control.ui:691 +#: gajim/data/gui/groupchat_control.ui:783 +#, fuzzy +msgid "Ch_ange" +msgstr "Cheñch _lesanv" + +#: gajim/data/gui/groupchat_control.ui:748 +#: gajim/data/gui/shortcuts_window.ui:319 +#, fuzzy +msgid "Change Subject" +msgstr "Kemmañ ar _sujed" + +#: gajim/data/gui/groupchat_control.ui:864 +#, fuzzy +msgid "Enter Password" +msgstr "Roit ur ger-kuzh nevez:" + +#: gajim/data/gui/groupchat_control.ui:1081 +#, fuzzy +msgid "_Forget Group Chat" +msgstr "Flap a-stroll" + +#: gajim/data/gui/groupchat_control.ui:1085 +#, fuzzy +msgid "Gajim will not try to join this group chat again" +msgstr "Si cette case est cochée, Gajim se connectera à ce salon au démarrage" + +#: gajim/data/gui/groupchat_control.ui:1102 +msgid "T_ry Again" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1156 +#, fuzzy +msgid "An Error Occurred" +msgstr "Une erreur de protocole s'est produite :" + +#: gajim/data/gui/groupchat_control.ui:1221 +msgid "_Try Again" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1398 +#, fuzzy +msgid "Kick Participant" +msgstr "Perzhiad-ez" + +#: gajim/data/gui/groupchat_control.ui:1436 +msgid "_Kick" +msgstr "_Ermaeziañ" + +#: gajim/data/gui/groupchat_control.ui:1469 +#: gajim/data/gui/groupchat_control.ui:1595 +#: gajim/data/gui/groupchat_control.ui:1721 +#: gajim/data/gui/groupchat_control.ui:1738 +#: gajim/data/gui/groupchat_control.ui:1827 +#: gajim/data/gui/groupchat_control.ui:1828 +#, fuzzy +msgid "Insert Emoji" +msgstr "Gérer les frimousses" + +#: gajim/data/gui/groupchat_control.ui:1482 +#: gajim/data/gui/groupchat_control.ui:1608 +msgid "Reason (optional)" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1524 +#, fuzzy +msgid "Ban Participant" +msgstr "Perzhiad-ez" + +#: gajim/data/gui/groupchat_control.ui:1562 +msgid "_Ban" +msgstr "_Argas" + +#: gajim/data/gui/groupchat_control.ui:1650 +#, fuzzy +msgid "Destroy This Chat" +msgstr "Flap a-stroll" + +#: gajim/data/gui/groupchat_control.ui:1688 +#, fuzzy +msgid "_Destroy" +msgstr "Taolennadur: %s" + +#: gajim/data/gui/groupchat_control.ui:1722 +msgid "Alternate venue (optional)..." +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1739 +#, fuzzy +msgid "Reason (optional)..." +msgstr "Abeg" + +#: gajim/data/gui/groupchat_control.ui:1752 +msgid "Reason for destruction" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1767 +msgid "Where participants should go" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1808 +#, fuzzy +msgid "Rename This Chat" +msgstr "Flap a-stroll" + +#: gajim/data/gui/groupchat_control.ui:1935 +#, fuzzy +msgid "_Invite" +msgstr "Diwelus" + +#: gajim/data/gui/groupchat_control.ui:2020 +msgid "Settings for This Chat" +msgstr "" + +#: gajim/data/gui/filetransfers.ui:21 +msgid "Pa_use/Resume" +msgstr "" + +#: gajim/data/gui/filetransfers.ui:45 +#, fuzzy +msgid "_Open Folder" +msgstr "_Digeriñ ar renkell pal" + +#: gajim/data/gui/filetransfers.ui:56 gajim/data/gui/filetransfers.ui:206 +msgid "File Transfers" +msgstr "Treuzkasoù" + +#: gajim/data/gui/filetransfers.ui:91 +#, fuzzy +msgid "_Show notification when file transfer is complete" +msgstr "_Kelaouiñ ac'hanon p'eo echu un treuzkas" + +#: gajim/data/gui/filetransfers.ui:131 +msgid "file transfers list" +msgstr "roll an treuzkasadoù" + +#: gajim/data/gui/filetransfers.ui:132 +msgid "A list of active, completed and stopped file transfers" +msgstr "Ur roll eus an treuzkasoù oberiant, echu pe arsavet" + +#: gajim/data/gui/filetransfers.ui:154 +#, fuzzy +msgid "Remove completed, cancelled and failed file transfers from the list" +msgstr "Diverkañ an treuzkasadoù echu, nullaet pe sac'het" + +#: gajim/data/gui/filetransfers.ui:167 +#, fuzzy +msgid "Pause or resume file transfer" +msgstr "Nullañ an treuzkas" + +#: gajim/data/gui/filetransfers.ui:180 +#, fuzzy +msgid "Cancel the selected file transfer and remove incomplete files" +msgstr "A nulla an treuzkas dibabet hag a zilam ar restr diglok" + +#: gajim/data/gui/filetransfers.ui:207 +#, fuzzy +msgid "Shows a list of file transfers between you and your contacts" +msgstr "A ziskouez ur roll eus an dreuzkasoù etrezoc'h hag ar re all" + +#: gajim/data/gui/add_new_contact_window.ui:76 +#, fuzzy +msgid "_XMPP Address" +msgstr "_Chomlec'h:" + +#: gajim/data/gui/add_new_contact_window.ui:92 +#, fuzzy +msgid "_Nickname" +msgstr "Lesanv:" + +#: gajim/data/gui/add_new_contact_window.ui:109 +#, fuzzy +msgid "_Group" +msgstr "Strollad:" + +#: gajim/data/gui/add_new_contact_window.ui:157 +msgid "Choose or type new group name" +msgstr "" + +#: gajim/data/gui/add_new_contact_window.ui:173 +#, fuzzy +msgid "A_ccount" +msgstr "Kont" + +#: gajim/data/gui/add_new_contact_window.ui:189 +#, fuzzy +msgid "_Protocol" +msgstr "Protokol:" + +#: gajim/data/gui/add_new_contact_window.ui:287 +#: gajim/data/gui/single_message_window.ui:161 +#, fuzzy +msgid "Query Contact Info" +msgstr "_Titouroù" + +#: gajim/data/gui/add_new_contact_window.ui:312 +#, fuzzy +msgid "A_llow contact to view my status" +msgstr "He/E aotren da welet ma stad" + +#: gajim/data/gui/add_new_contact_window.ui:363 +#, fuzzy +msgid "_Save subscription message" +msgstr "_Koumanant" + +#: gajim/data/gui/add_new_contact_window.ui:389 +msgid "" +"You have to register with this transport\n" +"to be able to add a contact from this\n" +"protocol. Click on Register button to\n" +"proceed." +msgstr "" + +#: gajim/data/gui/add_new_contact_window.ui:404 +#, fuzzy +msgid "_Register" +msgstr "_Emezelañ" + +#: gajim/data/gui/add_new_contact_window.ui:433 +msgid "" +"You must be connected to the transport to be able\n" +"to add a contact from this protocol." +msgstr "" + +#: gajim/data/gui/add_new_contact_window.ui:467 +#, fuzzy +msgid "_Add" +msgstr "_Chomlec'h:" + +#: gajim/data/gui/account_wizard.ui:16 gajim/data/gui/manage_proxies.ui:206 +#, fuzzy +msgid "_Port" +msgstr "_Porzh:" + +#: gajim/data/gui/account_wizard.ui:46 +#, fuzzy +msgid "_Hostname" +msgstr "Servijer:" + +#: gajim/data/gui/account_wizard.ui:62 gajim/data/gui/account_wizard.ui:689 +#: gajim/data/gui/manage_proxies.ui:223 +msgid "example.org" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:75 +#, fuzzy +msgid "Prox_y" +msgstr "Proksi:" + +#: gajim/data/gui/account_wizard.ui:110 +#, fuzzy +msgid "Manage Proxies..." +msgstr "Merañ an aeladoù proksi" + +#: gajim/data/gui/account_wizard.ui:131 gajim/data/gui/preferences.ui:798 +#, fuzzy +msgid "Advanced Settings" +msgstr "Actions a_vancées" + +#: gajim/data/gui/account_wizard.ui:163 gajim/data/gui/manage_proxies.ui:290 +#, fuzzy +msgid "_Type" +msgstr "Doare:" + +#: gajim/data/gui/account_wizard.ui:203 +msgid "Welcome" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:219 +#, fuzzy +msgid "Please enter your credentials or Sign Up" +msgstr "Da _heul al lesanv:" + +#: gajim/data/gui/account_wizard.ui:237 +msgid "Your XMPP address (e.g. user@example.org)" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:239 +#: gajim/data/gui/single_message_window.ui:59 +msgid "user@example.org" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:252 +#, fuzzy +msgid "Your password" +msgstr "Roit ur ger-kuzh nevez:" + +#: gajim/data/gui/account_wizard.ui:266 gajim/data/gui/account_wizard.ui:719 +#, fuzzy +msgid "_Advanced Settings" +msgstr "Actions a_vancées" + +#: gajim/data/gui/account_wizard.ui:270 gajim/data/gui/account_wizard.ui:723 +#, fuzzy +msgid "Proxy, custom hostname and port" +msgstr "Implij un anv ostiz/porzh personelaet" + +#: gajim/data/gui/account_wizard.ui:283 +#, fuzzy +msgid "_Log In" +msgstr "_Lugañ" + +#: gajim/data/gui/account_wizard.ui:288 +msgid "Log in with your credentials" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:304 +#, fuzzy +msgid "or" +msgstr "Da" + +#: gajim/data/gui/account_wizard.ui:314 +#, fuzzy +msgid "_Sign Up" +msgstr "_Lugañ" + +#: gajim/data/gui/account_wizard.ui:318 +msgid "Sign up for a new account on a server of your choice" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:369 +msgid "Visit Website" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:410 +#, fuzzy +msgid "Certificate Verification Failed" +msgstr "Oc'h ouzhpennañ ur gelaouenn nevez evit %s" + +#: gajim/data/gui/account_wizard.ui:428 +msgid "" +"The following warnings came up while trying to verify the server's " +"certificate" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:457 +#, fuzzy +msgid "_Show Certificate" +msgstr "Anv-arveriad-ez direizh" + +#: gajim/data/gui/account_wizard.ui:472 +#, fuzzy +msgid "_Add to Trusted Certificates" +msgstr "Anv-arveriad-ez direizh" + +#: gajim/data/gui/account_wizard.ui:501 gajim/data/gui/account_wizard.ui:664 +msgid "Which server should I choose?" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:516 +msgid "" +"There are plenty of servers to choose from.\n" +"Creating an account on one server allows you to communicate with contacts " +"from other servers as well." +msgstr "" + +#: gajim/data/gui/account_wizard.ui:530 +msgid "Visit Server's Website" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:550 +msgid "Listing of Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:568 +msgid "" +"xmpp.org/getting-started" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:646 +#, fuzzy +msgid "_Please choose a server" +msgstr "Ebarzhiñ ur _webgaoz" + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "" + +#: gajim/data/gui/application_menu.ui:8 +#, fuzzy +msgid "_Start / Join Chat…" +msgstr "Kregiñ da flapiñ" + +#: gajim/data/gui/application_menu.ui:13 +#, fuzzy +msgid "Create _Group Chat…" +msgstr "Flap a-stroll" + +#: gajim/data/gui/application_menu.ui:18 +#, fuzzy +msgid "_History Manager" +msgstr "Merour an istoradur" + +#: gajim/data/gui/application_menu.ui:22 +#, fuzzy +msgid "Pl_ugins" +msgstr "échec lors de la publication de votre vCard" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +#, fuzzy +msgid "_Preferences" +msgstr "Penndibaboù" + +#: gajim/data/gui/application_menu.ui:36 +#, fuzzy +msgid "_Accounts" +msgstr "Kontoù" + +#: gajim/data/gui/application_menu.ui:39 +msgid "_View" +msgstr "" + +#: gajim/data/gui/application_menu.ui:46 +#, fuzzy +msgid "Show _Offline Contacts" +msgstr "Diskouez an darempredoù _ezlinenn" + +#: gajim/data/gui/application_menu.ui:50 +#, fuzzy +msgid "Show _Active Contacts" +msgstr "Diskouez an darempredoù _ezlinenn" + +#: gajim/data/gui/application_menu.ui:54 +#, fuzzy +msgid "Show _Transports" +msgstr "Dorioù" + +#: gajim/data/gui/application_menu.ui:60 +#, fuzzy +msgid "_XML Console" +msgstr "Diskouez ar gonsol _XML" + +#: gajim/data/gui/application_menu.ui:64 +#, fuzzy +msgid "_File Transfer" +msgstr "Treuzkasoù" + +#: gajim/data/gui/application_menu.ui:74 +#, fuzzy +msgid "_Help" +msgstr "_Skoazell" + +#: gajim/data/gui/application_menu.ui:77 +#, fuzzy +msgid "_Wiki (Online)" +msgstr "_Kenderc'hel" + +#: gajim/data/gui/application_menu.ui:81 +#, fuzzy +msgid "FA_Q (Online)" +msgstr "_Kenderc'hel" + +#: gajim/data/gui/application_menu.ui:85 +msgid "_Keyboard Shortcuts" +msgstr "" + +#: gajim/data/gui/application_menu.ui:89 +#, fuzzy +msgid "_Features" +msgstr "Perzhioù ar servijerien" + +#: gajim/data/gui/application_menu.ui:93 +#, fuzzy +msgid "_About" +msgstr "Diwar-benn" + +#: gajim/data/gui/filetransfer_progress.ui:125 +msgid "Speed" +msgstr "" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +#, fuzzy +msgid "OK" +msgstr "_Mat eo" + +#: gajim/data/gui/plugins_window.ui:55 +msgid "Install Plugin from ZIP-File" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:56 +msgid "Install from File…" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:70 +msgid "Uninstall Plugin" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:116 +#, fuzzy +msgid "" +msgstr "échec lors de la publication de votre vCard" + +#: gajim/data/gui/plugins_window.ui:133 +#, fuzzy +msgid "Plugin Settings" +msgstr "échec lors de la publication de votre vCard" + +#: gajim/data/gui/plugins_window.ui:215 +#, fuzzy +msgid "" +msgstr "Taolennadur" + +#: gajim/data/gui/plugins_window.ui:239 +msgid "Version" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:271 +#, fuzzy +msgid "Authors" +msgstr "_Aotren" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +#, fuzzy +msgid "Homepage" +msgstr "Lec'hienn hiniennel:" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:349 +msgid "Installed" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:363 +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +#, fuzzy +msgid "Synchronise contacts" +msgstr "Diskouez an darempredoù _ezlinenn" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +#, fuzzy +msgid "_Name" +msgstr "_Anv:" + +#: gajim/data/gui/groupchat_creation.ui:122 +#, fuzzy +msgid "_Description" +msgstr "Taolennadur" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +#, fuzzy +msgid "_Address" +msgstr "_Chomlec'h:" + +#: gajim/data/gui/groupchat_creation.ui:278 +#, fuzzy +msgid "_Account" +msgstr "Kontoù" + +#: gajim/data/gui/profile.ui:33 +#, fuzzy +msgid "Contact Infos" +msgstr "_Titouroù" + +#: gajim/data/gui/profile.ui:45 +#, fuzzy +msgid "Picture and Name" +msgstr "N'eus ket bet kavet al lesanv : %s" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "" + +#: gajim/data/gui/profile.ui:198 +#, fuzzy +msgid "Change your profile picture" +msgstr "Cheñch _lesanv" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:298 +#, fuzzy +msgid "Add Entry" +msgstr "Bro:" + +#: gajim/data/gui/profile.ui:410 +#, fuzzy +msgid "Update" +msgstr "Hizivaat MOTD" + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:15 +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:65 +#, fuzzy +msgid "Add Proxy" +msgstr "Proksi:" + +#: gajim/data/gui/manage_proxies.ui:79 +#, fuzzy +msgid "Remove Proxy" +msgstr "_Dilemel" + +#: gajim/data/gui/manage_proxies.ui:131 +#, fuzzy +msgid "Pass_word" +msgstr "_Ger-kuzh:" + +#: gajim/data/gui/manage_proxies.ui:156 +#, fuzzy +msgid "Use proxy auth_entication" +msgstr "Implij an diskleriañ" + +#: gajim/data/gui/manage_proxies.ui:176 +#, fuzzy +msgid "_Username" +msgstr "_Anv:" + +#: gajim/data/gui/manage_proxies.ui:237 +#, fuzzy +msgid "_Host" +msgstr "_Ostiz:" + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "" + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "Stad:" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +#, fuzzy +msgid "_Store conversation history" +msgstr "_Istoradur flapiñ" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +#, fuzzy +msgid "Contact" +msgstr "Darempredoù" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +#, fuzzy +msgid "First Name:" +msgstr "Anv:" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +#, fuzzy +msgid "Last Name:" +msgstr "Anv:" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +#, fuzzy +msgid "XMPP Address:" +msgstr "_Chomlec'h:" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "Postel:" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +#, fuzzy +msgid "Personal" +msgstr "Titouroù hiniennel" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "_Stad" + +#: gajim/data/gui/account_context_menu.ui:20 +#, fuzzy +msgid "_Personal Events" +msgstr "Titouroù hiniennel" + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "_Ouzhpennañ un darempred..." + +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "_Dizoleiñ ar servijoù" + +#: gajim/data/gui/account_context_menu.ui:57 +#, fuzzy +msgid "_Execute Command..." +msgstr "urzhiad" + +#: gajim/data/gui/account_context_menu.ui:65 +#, fuzzy +msgid "_View Server Info" +msgstr "Servijer" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:125 +#, fuzzy +msgid "Global Group Chat Search" +msgstr "Ebarzhiñ ur sal-flapiñ" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +#, fuzzy +msgid "_Back" +msgstr "Distro 'benn nebeut" + +#: gajim/data/gui/start_chat_dialog.ui:386 +#, fuzzy +msgid "Select Account" +msgstr "Lemel ar gont %s" + +#: gajim/data/gui/start_chat_dialog.ui:477 +msgid "_Select" +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +#, fuzzy +msgid "Configure" +msgstr "_Kenderc'hel" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +msgid "Create new post" +msgstr "" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "S_tad" + +#: gajim/data/gui/systray_context_menu.ui:20 +#, fuzzy +msgid "_Start Chat..." +msgstr "_Kregiñ da flapiñ" + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "Kas ur gemennadenn _simpl..." + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "Diskouez an holl _zarvoudoù o c'hortoz" + +#: gajim/data/gui/systray_context_menu.ui:52 +#, fuzzy +msgid "Mute Sounds" +msgstr "Sonioù wav" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +#, fuzzy +msgid "Contact List" +msgstr "Darempredoù" + +#: gajim/data/gui/shortcuts_window.ui:24 +#, fuzzy +msgid "Create new group chat" +msgstr "Flap a-stroll" + +#: gajim/data/gui/shortcuts_window.ui:45 +#, fuzzy +msgid "File transfers" +msgstr "Treuzkasoù" + +#: gajim/data/gui/shortcuts_window.ui:52 +#, fuzzy +msgid "Set the status message" +msgstr "titour stad" + +#: gajim/data/gui/shortcuts_window.ui:59 +#, fuzzy +msgid "Show XML console" +msgstr "Diskouez ar gonsol _XML" + +#: gajim/data/gui/shortcuts_window.ui:74 +#, fuzzy +msgid "Appearance" +msgstr "Furmad ul linenn" + +#: gajim/data/gui/shortcuts_window.ui:79 +#, fuzzy +msgid "Show offline contacts" +msgstr "Diskouez an darempredoù _ezlinenn" + +#: gajim/data/gui/shortcuts_window.ui:86 +#, fuzzy +msgid "Show only active contacts" +msgstr "Diskouez an darempredoù _ezlinenn" + +#: gajim/data/gui/shortcuts_window.ui:93 +msgid "Enable contact list filtering" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:100 +#, fuzzy +msgid "Show / hide contact list" +msgstr "Diskouez an darempredoù _ezlinenn" + +#: gajim/data/gui/shortcuts_window.ui:113 +#, fuzzy +msgid "Contact information" +msgstr "Titouroù" + +#: gajim/data/gui/shortcuts_window.ui:120 +#, fuzzy +msgid "Rename contact" +msgstr "Darempredoù" + +#: gajim/data/gui/shortcuts_window.ui:127 +#, fuzzy +msgid "Delete contact" +msgstr "Darempredoù" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +msgid "Chat" +msgstr "Flap" + +#: gajim/data/gui/shortcuts_window.ui:142 +#, fuzzy +msgid "Message composition" +msgstr "korf ar gemennadenn" + +#: gajim/data/gui/shortcuts_window.ui:147 +#, fuzzy +msgid "Send the message" +msgstr "Kas ur gemennadenn" + +#: gajim/data/gui/shortcuts_window.ui:154 +msgid "Add new line" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:161 +#, fuzzy +msgid "Select an emoji" +msgstr "Utiliser les _frimousses" + +#: gajim/data/gui/shortcuts_window.ui:168 +msgid "Complete a command or a nickname" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:175 +#, fuzzy +msgid "Previously sent message" +msgstr "Kemennadennoù raklakaet:" + +#: gajim/data/gui/shortcuts_window.ui:182 +#, fuzzy +msgid "Next sent messages" +msgstr "Kemennadennoù raklakaet:" + +#: gajim/data/gui/shortcuts_window.ui:189 +#, fuzzy +msgid "Quote previous message" +msgstr "Ou choisissez votre message :" + +#: gajim/data/gui/shortcuts_window.ui:196 +#, fuzzy +msgid "Quote next message" +msgstr "Kas ur gemennadenn" + +#: gajim/data/gui/shortcuts_window.ui:203 +#, fuzzy +msgid "Clear message entry" +msgstr "Kemennadenn gaset" + +#: gajim/data/gui/shortcuts_window.ui:211 +#, fuzzy +msgid "Recent history" +msgstr "Nevez 'zo:" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:230 +#, fuzzy +msgid "Clear chat window" +msgstr "Usage : /%s, nettoie la fenêtre." + +#: gajim/data/gui/shortcuts_window.ui:237 +#, fuzzy +msgid "Show chat history" +msgstr "Nevez 'zo:" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:299 +msgid "Close chat" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:312 +#, fuzzy +msgid "Change Nickname" +msgstr "Cheñch _lesanv" + +#: gajim/data/gui/chat_control.ui:48 +#, fuzzy +msgid "Drop files or contacts" +msgstr "Kas ur restr d'un darempred" + +#: gajim/data/gui/chat_control.ui:80 +#, fuzzy +msgid "1" +msgstr "Sonioù" + +#: gajim/data/gui/chat_control.ui:101 +#, fuzzy +msgid "2 abc" +msgstr "Sonioù" + +#: gajim/data/gui/chat_control.ui:121 +#, fuzzy +msgid "3 def" +msgstr "Sonioù" + +#: gajim/data/gui/chat_control.ui:141 +#, fuzzy +msgid "4 ghi" +msgstr "Sonioù" + +#: gajim/data/gui/chat_control.ui:161 +#, fuzzy +msgid "5 jkl" +msgstr "Sonioù" + +#: gajim/data/gui/chat_control.ui:181 +#, fuzzy +msgid "6 mno" +msgstr "Sonioù" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "" + +#: gajim/data/gui/chat_control.ui:221 +#, fuzzy +msgid "8 tuv" +msgstr "Sonioù" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "" + +#: gajim/data/gui/chat_control.ui:261 +#, fuzzy +msgid "*" +msgstr "Sonioù" + +#: gajim/data/gui/chat_control.ui:281 +#, fuzzy +msgid "0" +msgstr "Sonioù" + +#: gajim/data/gui/chat_control.ui:301 +#, fuzzy +msgid "#" +msgstr "Sonioù" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "Kregiñ da _flapiñ" + +#: gajim/data/gui/contact_context_menu.ui:28 +#, fuzzy +msgid "Send _File..." +msgstr "Kas ur _restr" + +#: gajim/data/gui/contact_context_menu.ui:44 +#, fuzzy +msgid "Invite _Contacts" +msgstr "Darempredoù" + +#: gajim/data/gui/contact_context_menu.ui:58 +#, fuzzy +msgid "E_xecute Command..." +msgstr "urzhiad" + +#: gajim/data/gui/contact_context_menu.ui:67 +#, fuzzy +msgid "M_anage Contact" +msgstr "Darempredoù" + +#: gajim/data/gui/contact_context_menu.ui:77 +#, fuzzy +msgid "_Rename..." +msgstr "_Adenvel" + +#: gajim/data/gui/contact_context_menu.ui:84 +#, fuzzy +msgid "Edit _Groups..." +msgstr "Kemmañ ar _strolladoù" + +#: gajim/data/gui/contact_context_menu.ui:92 +#, fuzzy +msgid "Add Special _Notification..." +msgstr "Ouzhpennañ ur gelaouenn _ispisial" + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "_Koumanant" + +#: gajim/data/gui/contact_context_menu.ui:115 +#, fuzzy +msgid "_Allow contact to see my status" +msgstr "He/E aotren da welet ma stad" + +#: gajim/data/gui/contact_context_menu.ui:123 +#, fuzzy +msgid "A_sk to see contact status" +msgstr "Goulenn evit gwelet e/he stad" + +#: gajim/data/gui/contact_context_menu.ui:131 +#, fuzzy +msgid "_Forbid contact to see my status" +msgstr "Difenn dezhañ/dezhi gwelet ma stad" + +#: gajim/data/gui/contact_context_menu.ui:159 +#, fuzzy +msgid "_Unignore" +msgstr "_Kenderc'hel" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:174 +#, fuzzy +msgid "_Add to Contact List..." +msgstr "_Ouzhpennañ un darempred..." + +#: gajim/data/gui/single_message_window.ui:42 +#, fuzzy +msgid "_To" +msgstr "Da" + +#: gajim/data/gui/single_message_window.ui:71 +#, fuzzy +msgid "Su_bject" +msgstr "Titl" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "" + +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "_Kemennadenn" + +#: gajim/data/gui/single_message_window.ui:144 +#, fuzzy +msgid "Characters typed: 0" +msgstr "N'eus ket bet kavet al lesanv : %s" + +#: gajim/data/gui/single_message_window.ui:189 +#, fuzzy +msgid "_From" +msgstr "Digant" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "_Kas" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "Kas ur gemennadenn" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "_Respont" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "Respont d'ar gemennadenn-mañ" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "_Kas & Serriñ" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "Kas ar gemennadenn ha serriñ ar prenestr" + +#: gajim/data/gui/vcard_information_window.ui:106 +#, fuzzy +msgid "Client" +msgstr "Poellad:" + +#: gajim/data/gui/vcard_information_window.ui:140 +#, fuzzy +msgid "Contact time" +msgstr "Anv an darempred" + +#: gajim/data/gui/vcard_information_window.ui:240 +#, fuzzy +msgid "User avatar" +msgstr "Dibab ur _skeudenn" + +#: gajim/data/gui/vcard_information_window.ui:255 +#, fuzzy +msgid "Configured avatar" +msgstr "Ke_fluniañ ar flap" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +#, fuzzy +msgid "Ask" +msgstr "Goulenn:" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +#, fuzzy +msgid "Subscription" +msgstr "Koumanant:" + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +#, fuzzy +msgid "Extra Address" +msgstr "Chomlec'h 2:" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +#, fuzzy +msgid "Address" +msgstr "Furmad ul linenn" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +#, fuzzy +msgid "E-Mail" +msgstr "Postel:" + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "Stumm : BBBB-MM-DD" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +#, fuzzy +msgid "Family" +msgstr "Familh:" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +#, fuzzy +msgid "Middle" +msgstr "Eil anv bihan:" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +#, fuzzy +msgid "Prefix" +msgstr "Rakger:" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +#, fuzzy +msgid "Given" +msgstr "Anv bihan:" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +#, fuzzy +msgid "Suffix" +msgstr "Lostger:" + +#: gajim/data/gui/vcard_information_window.ui:958 +#, fuzzy +msgid "Name Details" +msgstr "Personelaet" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "" + +#: gajim/data/gui/vcard_information_window.ui:1017 +#, fuzzy +msgid "Personal Info" +msgstr "Titouroù hiniennel" + +#: gajim/data/gui/vcard_information_window.ui:1040 +#, fuzzy +msgid "Company" +msgstr "Embregerezh:" + +#: gajim/data/gui/vcard_information_window.ui:1073 +#, fuzzy +msgid "Department" +msgstr "Departamant:" + +#: gajim/data/gui/vcard_information_window.ui:1104 +#, fuzzy +msgid "Position" +msgstr "Plas:" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "Perzh" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "Diwar-benn" + +#: gajim/data/gui/vcard_information_window.ui:1514 +#, fuzzy +msgid "Comments" +msgstr "Evezhiadenn: %s" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "Kemmañ ar strolladoù" + +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "Ger-kuzh" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +#, fuzzy +msgid "Themes" +msgstr "Gwiskadur" + +#: gajim/data/gui/themes_window.ui:171 +#, fuzzy +msgid "Add Setting" +msgstr "échec lors de la publication de votre vCard" + +#: gajim/data/gui/themes_window.ui:204 +#, fuzzy +msgid "Add new Theme" +msgstr "Oberiant" + +#: gajim/data/gui/themes_window.ui:219 +#, fuzzy +msgid "Remove Theme" +msgstr "Oberiant" + +#: gajim/data/gui/bookmarks.ui:120 +#, fuzzy +msgid "Autojoin" +msgstr "E_barzhiñ" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "" + +#: gajim/data/gui/preferences.ui:68 +#, fuzzy +msgid "Contact List Appearance" +msgstr "Darempred diluget" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +msgid "Chats" +msgstr "Flapoù" + +#: gajim/data/gui/preferences.ui:215 +#, fuzzy +msgid "Visual Notifications" +msgstr "Kelaouennoù dre welet" + +#: gajim/data/gui/preferences.ui:243 +#, fuzzy +msgid "Sounds" +msgstr "Son" + +#: gajim/data/gui/preferences.ui:303 +#, fuzzy +msgid "Ask For Status Message on…" +msgstr "Goulenn an titour-stad pa:" + +#: gajim/data/gui/preferences.ui:331 +#, fuzzy +msgid "Automatic Status Change" +msgstr "Goulenn evit gwelet e/he stad" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "" + +#: gajim/data/gui/preferences.ui:447 +#, fuzzy +msgid "Status Icon" +msgstr "_Arlunioù-stad dre-ziouer:" + +#: gajim/data/gui/preferences.ui:472 +msgid "Style" +msgstr "" + +#: gajim/data/gui/preferences.ui:511 +#, fuzzy +msgid "Show _Features" +msgstr "Perzhioù ar servijerien" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:632 +msgid "Audio" +msgstr "" + +#: gajim/data/gui/preferences.ui:660 +msgid "Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:698 +msgid "Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:735 +#, fuzzy +msgid "Miscellaneous" +msgstr "A bep seurt" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:821 +#, fuzzy +msgid "Advanced Configuration Editor… " +msgstr "Aozer kefluniañ dre ar munut" + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "" + +#: gajim/data/gui/server_info.ui:50 +#, fuzzy +msgid "Server Software" +msgstr "Perzhioù ar servijerien" + +#: gajim/data/gui/server_info.ui:80 +#, fuzzy +msgid "Server Uptime" +msgstr "Enrollet e-barzh: %s" + +#: gajim/data/gui/server_info.ui:109 +#, fuzzy +msgid "Contact Addresses" +msgstr "_Titour-stad:" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "" + +#: gajim/data/gui/server_info.ui:177 +#, fuzzy +msgid "Proxy Type" +msgstr "Proksi:" + +#: gajim/data/gui/server_info.ui:192 +#, fuzzy +msgid "No proxy used" +msgstr "Proksi:" + +#: gajim/data/gui/server_info.ui:202 +#, fuzzy +msgid "View _Certificate" +msgstr "Anv-arveriad-ez direizh" + +#: gajim/data/gui/server_info.ui:222 +#, fuzzy +msgid "Proxy Host" +msgstr "Proksi:" + +#: gajim/data/gui/server_info.ui:421 +#, fuzzy +msgid "Copy info to clipboard" +msgstr "_Kopiañ chomlec'h an ere" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:153 +msgid "Serial Number" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:304 +msgid "Expires on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:465 +#, fuzzy +msgid "Copy Certificate Information" +msgstr "Titouroù" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +#, fuzzy +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "JID an darempred ho peus c'hoant flapiñ gantañ" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +#, fuzzy +msgid "Please select a group chat server." +msgstr "A guzha an nozelennoù er prenestr flapiñ" + +#: gajim/data/gui/chat_to_muc_window.ui:141 +#, fuzzy +msgid "Group chat server" +msgstr "Flapoù a-stroll" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +#, fuzzy +msgid "In_vite" +msgstr "Diwelus" + +#: gajim/data/gui/mam_preferences.ui:53 +#, fuzzy +msgid "_Default" +msgstr "Dilemel" + +#: gajim/data/gui/mam_preferences.ui:136 +#, fuzzy +msgid "Archive" +msgstr "Treug ar restr" + +#: gajim/data/gui/history_manager.ui:11 +#, fuzzy +msgid "_Export" +msgstr "Ezporzhiañ" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +msgid "Gajim History Logs Manager" +msgstr "Merour istoradur Gajim" + +#: gajim/data/gui/history_manager.ui:104 +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" + +#: gajim/data/gui/history_manager.ui:120 +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" + +#: gajim/data/gui/history_manager.ui:211 +#, fuzzy +msgid "Search database..." +msgstr "_Klask en titourva" + +#: gajim/data/gui/history_manager.ui:226 +#, fuzzy +msgid "Search in database" +msgstr "_Klask en titourva" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" + +#: gajim/data/gui/groupchat_invite.ui:69 +#, fuzzy +msgid "Invitees" +msgstr "Diwelus" + +#: gajim/data/gui/groupchat_invite.ui:153 +#, fuzzy +msgid "Search contacts..." +msgstr "_Klask en titourva" + +#: gajim/data/gui/groupchat_invite.ui:223 +#, fuzzy +msgid "Click on contacts you would like to invite to this group chat." +msgstr "%(nick)s a zo bet skarzhet gant %(who)s : %(reason)s" + +#: gajim/data/gui/service_discovery_window.ui:148 +#, fuzzy +msgid "Go" +msgstr "_Mont" + +#: gajim/data/gui/status_change_window.ui:27 +#, fuzzy +msgid "Change Status" +msgstr "Darempred diluget" + +#: gajim/data/gui/status_change_window.ui:56 +#, fuzzy +msgid "Status Presets…" +msgstr "Titour-stad" + +#: gajim/data/gui/status_change_window.ui:72 +msgid "Save this message as a preset" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:130 +#, fuzzy +msgid "Ac_tivity" +msgstr "Oberiant" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:278 +#, fuzzy +msgid "_Change Status" +msgstr "Darempred diluget" + +#: gajim/data/gui/status_change_window.ui:313 +#, fuzzy +msgid "Activity" +msgstr "Oberiant" + +#: gajim/data/gui/status_change_window.ui:326 +#, fuzzy +msgid "_No Activity" +msgstr "Oberiant" + +#: gajim/data/gui/status_change_window.ui:729 +#, fuzzy +msgid "Mood" +msgstr "_Kemmañ" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +#, fuzzy +msgid "Author" +msgstr "_Aotren" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +#, fuzzy +msgid "Group Chat Language" +msgstr "Pedadenn evit ur sal-flapiñ" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +#, fuzzy +msgid "Copy Address" +msgstr "_Kopiañ ar JID/Chomlec'h postel" + +#: gajim/data/gui/emoji_chooser.ui:98 +msgid "No Results Found" +msgstr "" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr "" + +#: gajim/data/gui/xml_console.ui:131 +#, fuzzy +msgid "Start Search..." +msgstr "_Kregiñ da flapiñ" + +#: gajim/data/gui/xml_console.ui:260 +#, fuzzy +msgid "Clear" +msgstr "Darvoud" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "" + +#: gajim/data/gui/xml_console.ui:316 +#, fuzzy +msgid "Presets" +msgstr "_Bezañs" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +#, fuzzy +msgid "Select the contacts you want to synchronise" +msgstr "JID an darempred ho peus c'hoant flapiñ gantañ" + +#: gajim/data/gui/groupchat_config.ui:51 +#, fuzzy +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" +"A c'hell bezañ unan eus ar stummoù da heul :\n" +"1. lesanv@domani/resource(seulement cette ressource correspond).\n" +"2. pseudo@domaine (toutes les ressources correspondent).\n" +"3. domaine/ressources (seulement cette ressource correspond).\n" +"4. domaine (le domaine complet correspond, incluant tous les " +"pseudo@domaine,\n" +"domaine/ressource, ou les adresses comprenant un sous-domaine)." + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:309 +#, fuzzy +msgid "Reserved Name" +msgstr "Dibab" + +#: gajim/data/gui/groupchat_config.ui:346 +#, fuzzy +msgid "Affiliation" +msgstr "Poelladoù" + +#: gajim/data/gui/groupchat_config.ui:377 +#, fuzzy +msgid "Affiliations" +msgstr "Poelladoù" + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "Abeg" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "Roll argas" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "_Nac'hañ" + +#: gajim/data/gui/subscription_request_window.ui:34 +#, fuzzy +msgid "_Block User" +msgstr "Strollad:" + +#: gajim/data/gui/subscription_request_window.ui:49 +#, fuzzy +msgid "_Report as Spam" +msgstr "_Diskleriañ ar Bug" + +#: gajim/data/gui/subscription_request_window.ui:212 +#, fuzzy +msgid "_Deny…" +msgstr "_Nac'hañ" + +#: gajim/data/gui/subscription_request_window.ui:225 +#, fuzzy +msgid "Ac_cept" +msgstr "Asantiñ" + +#: gajim/data/gui/subscription_request_window.ui:230 +#, fuzzy +msgid "Allows the contact to see your online status" +msgstr "He/E aotren da welet ma stad" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:115 +#, fuzzy +msgid "_Report Bug" +msgstr "_Diskleriañ ar Bug" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "Darvoud" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "Dibabit ur son" + +#: gajim/data/gui/manage_sounds.ui:97 +#, fuzzy +msgid "Clear Sound" +msgstr "Dibabit ur son" + +#: gajim/data/gui/manage_sounds.ui:118 +#, fuzzy +msgid "Play Sound" +msgstr "_Seniñ" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +#, fuzzy +msgid "_Send Files" +msgstr "Kas ur _restr" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +msgid "Send" +msgstr "Envoyer" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +#, fuzzy +msgid "Files to send" +msgstr "Dibabit ur restr da gas..." + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +#, fuzzy +msgid "Add Files" +msgstr "Restr:" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +#, fuzzy +msgid "Remove Files" +msgstr "_Dilemel" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +#, fuzzy +msgid "Idle since:" +msgstr "dibaoe %s" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +#, fuzzy +msgid "Mood:" +msgstr "Webgaoz:" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +#, fuzzy +msgid "Activity:" +msgstr "Oberiant" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +#, fuzzy +msgid "Tune:" +msgstr "Doare:" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +#, fuzzy +msgid "Location:" +msgstr "Kemmañ ar gont" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +msgid "Subscription:" +msgstr "Koumanant:" + +#: gajim/data/gui/advanced_configuration.ui:15 +#, fuzzy +msgid "A restart may be required for some settings to take effect" +msgstr "" +"NOTENN : Dav eo deoc'h adloc'hañ Gajim evit ma vo efedus kemmoù 'zo" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "" + +#: gajim/data/gui/advanced_configuration.ui:120 +#, fuzzy +msgid "_Reset Value" +msgstr "_Distreiñ gant al livioù dre-ziouer" + +#: gajim/data/gui/advanced_configuration.ui:125 +#, fuzzy +msgid "Resets value to default" +msgstr "_Distreiñ gant al livioù dre-ziouer" + +#: gajim/data/gui/history_window.ui:27 +#, fuzzy +msgid "Display status changes" +msgstr "_Menegiñ kemmoù stad an darempredoù e-barzh an istoradur" + +#: gajim/data/gui/history_window.ui:57 +msgid "History Manager" +msgstr "Merour an istoradur" + +#: gajim/data/gui/history_window.ui:233 +#, fuzzy +msgid "Mode" +msgstr "Kasour-ez" + +#: gajim/data/gui/history_window.ui:246 +#, fuzzy +msgid "Search complete history" +msgstr "Nevez 'zo:" + +#: gajim/data/gui/history_window.ui:263 +msgid "Search selected day only" +msgstr "" + +#: gajim/data/gui/history_window.ui:317 +msgid "Store history for this chat" +msgstr "" + +#: gajim/data/gui/history_window.ui:332 +#, fuzzy +msgid "Store History" +msgstr "Nevez 'zo:" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +#, fuzzy +msgid "Identified Error" +msgstr "Anv-arveriad-ez direizh" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +#, fuzzy +msgid "" +msgstr "Fazi en ur lenn ar restr:" + +#: gajim/data/gui/ssl_error_dialog.ui:74 +msgid "Add this certificate to the list of _trusted certificates" +msgstr "" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +#, fuzzy +msgid "_View Certificate" +msgstr "Anv-arveriad-ez direizh" + +#: gajim/data/gui/ssl_error_dialog.ui:120 +#, fuzzy +msgid "_Connect" +msgstr "Kevreadenn" + +#: data/org.gajim.Gajim.desktop.in:5 +#, fuzzy +msgid "XMPP Chat Client" +msgstr "Flaperez Jabber" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:8 +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:27 +#, fuzzy +msgid "Show next pending event" +msgstr "Diskouez an holl _zarvoudoù o c'hortoz" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:17 +#, fuzzy +msgid "Features:" +msgstr "Perzhioù ar servijerien" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +msgid "Automatic spell-checking for your messages" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +#, fuzzy +msgid "Support for service discovery including nodes and search for users" +msgstr "Merañ servijoù ar gont %s" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +#, fuzzy +msgid "Contact list" +msgstr "Darempredoù" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +#, fuzzy +msgid "Group chat support" +msgstr "Flapoù a-stroll" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +#, fuzzy +msgid "Chat history" +msgstr "Nevez 'zo:" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +#, fuzzy +msgid "Plugin manager" +msgstr "échec lors de la publication de votre vCard" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +#, fuzzy +msgid "Gajim Team" +msgstr "Gajim - %s" + +#, fuzzy +#~ msgid "Chat Settings" +#~ msgstr "échec lors de la publication de votre vCard" + +#, fuzzy, python-format +#~ msgid "%i day" +#~ msgid_plural "%i days" +#~ msgstr[0] "%i devezh 'zo" +#~ msgstr[1] "%i devezh 'zo" + +#, fuzzy +#~ msgid "Composing only" +#~ msgstr "O skrivañ" + +#, fuzzy +#~ msgid "All chat states" +#~ msgstr "Stad:" + +#, fuzzy +#~ msgid "Privacy Lists" +#~ msgstr "Flapoù prevez" + +#~ msgid "None" +#~ msgstr "Hini ebet" + +#, python-format +#~ msgid "%s Status Message" +#~ msgstr "Titour-stad %s" + +#~ msgid "Could not load image" +#~ msgstr "Dibosupl eo kargañ ar skeudenn" + +#, fuzzy +#~ msgid "Error." +#~ msgstr "Fazi en ur lenn ar restr:" + +#, fuzzy +#~ msgid "_Block Contact" +#~ msgstr "Darempredoù" + +#, fuzzy +#~ msgid "Block Group" +#~ msgstr "Strollad" + +#, fuzzy +#~ msgid "Really block this group?" +#~ msgstr "N'eus ket tu da implij OpenPGP war an urzhiataer-mañ" + +#~ msgid "No account available" +#~ msgstr "Kont ebet hegerz" + +#~ msgid "You must create an account before you can chat with other contacts." +#~ msgstr "Rankout a rit krouiñ ur gont a-raok gellout flapiñ gant tud all." + +#, fuzzy, python-brace-format +#~ msgid "You are invited to {room} by {user}" +#~ msgstr "Vous êtes banni de ce salon." + +#, fuzzy, python-format +#~ msgid "%s wants to start a voice chat." +#~ msgstr "Fellout a ra da %s kas deoc'h ur restr." + +#~ msgid "Could not save your settings and preferences" +#~ msgstr "Dibosupl eo enrollañ ho tibarzhioù ha dibaboù" + +#, fuzzy +#~ msgid "Error While Removing Privacy List" +#~ msgstr "fazi en ur gas %s ( %s )" + +#, fuzzy, python-format +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "Ur roll eus an treuzkasoù oberiant, echu pe arsavet" + +#, fuzzy +#~ msgid "Could not request upload slot for HTTP File Upload" +#~ msgstr "Dibosupl eo kargañ ar skeudenn" + +#, fuzzy +#~ msgid "Not Secure" +#~ msgstr "N'eo ket kroget" + +#, fuzzy +#~ msgid "Could not Upload File" +#~ msgstr "Dibosupl eo kargañ ar skeudenn" + +#, fuzzy +#~ msgid "Encryption Error" +#~ msgstr "War enaou emañ ar sifrañ" + +#~ msgid "Lists all preferences and their values" +#~ msgstr "Roll an holl zibaboù hag o zalvoudoù" + +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "A laka talvoud an 'alc'hwezh' da 'dalvoud'." + +#~ msgid "key=value" +#~ msgstr "alc'hwezh=talvoud" + +#, fuzzy +#~ msgid "'key' is the name of the preference, 'value' is what to set it to" +#~ msgstr "" +#~ "'alc'hwezh' eo anv an dibab, 'talvoud' eo an talvoud da lakaat dezhañ" + +#~ msgid "Deletes a preference item" +#~ msgstr "A zilam un elfenn dibab" + +#~ msgid "key" +#~ msgstr "touchenn" + +#~ msgid "name of the preference to be deleted" +#~ msgstr "anv an dibab da zilemel" + +#~ msgid "Writes the current state of Gajim preferences to the .config file" +#~ msgstr "A skriv stad red dibaboù Gajim er restr .config" + +#, fuzzy, python-format +#~ msgid "%s is a directory but should be a file" +#~ msgstr "ur renkell eo %s met rankout a rafe bezañ ur restr" + +#, fuzzy, python-format +#~ msgid "Creating %s" +#~ msgstr "Taolennadur: %s" + +#, python-format +#~ msgid "%(nickname)s Signed In" +#~ msgstr "Emañ %(nickname)s o paouez lugañ" + +#~ msgid "Contact Signed In" +#~ msgstr "Darempred luget" + +#, python-format +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "Emañ %(nickname)s o paouez dilugañ" + +#~ msgid "Contact Signed Out" +#~ msgstr "Darempred diluget" + +#, fuzzy +#~ msgid "" +#~ "Show desktop notification even when a chat window is opened for this " +#~ "contact and does not have focus." +#~ msgstr "Aotren ar c'helaouennoù p'emaon _ezvezant/dihegerz/busy/diwelus" + +#, fuzzy +#~ msgid "default" +#~ msgstr "Dilemel" + +#, fuzzy +#~ msgid "If enabled, Gajim displays the avatar in the chat window." +#~ msgstr "M'eo faos, ne weloc'h ket an avatar er prenestr-flapiñ ken" + +#, fuzzy +#~ msgid "I'm available." +#~ msgstr "Hegerz" + +#, fuzzy +#~ msgid "I'm free for chat." +#~ msgstr "Prest da flapiñ" + +#~ msgid "Be right back." +#~ msgstr "Distro a-benn nebeut." + +#, fuzzy +#~ msgid "I'm not available." +#~ msgstr "Dihegerz" + +#, fuzzy +#~ msgid "Timeout loading image" +#~ msgstr "Dibosupl eo kargañ ar skeudenn" + +#~ msgid "Image is too big" +#~ msgstr "L'image est trop grande" + +#, fuzzy +#~ msgid "Error loading image" +#~ msgstr "Dibosupl eo kargañ ar skeudenn" + +#, fuzzy +#~ msgid "Blocked Contacts" +#~ msgstr "Darempredoù" + +#, fuzzy +#~ msgid "Group chat" +#~ msgstr "Flapoù a-stroll" + +#, fuzzy +#~ msgid "Bookmark group chat" +#~ msgstr "_Ouzhpennañ ar webgaoz d'ar sinedoù" + +#, fuzzy +#~ msgid "Bookmark" +#~ msgstr "_Ouzhpennañ ar webgaoz d'ar sinedoù" + +#, fuzzy +#~ msgid "Recently used group chats" +#~ msgstr "Ebarzhiñ ur _webgaoz" + +#, fuzzy +#~ msgid "Clear Avatar" +#~ msgstr "Choisissez un Avatar" + +#, fuzzy +#~ msgid "Set Avatar…" +#~ msgstr "Dibabit ur skeudenn" + +#, fuzzy +#~ msgid "Contact" +#~ msgstr "Dibarzhioù" + +#, fuzzy +#~ msgid "_Leave Group Chat" +#~ msgstr "Flap a-stroll" + +#, fuzzy +#~ msgid "Enter a new name for this group chat" +#~ msgstr "Roit ho ker-kuzh GPG evit ar gont %s." + +#, fuzzy +#~ msgid "Custom" +#~ msgstr "Personelaet" + +#, fuzzy +#~ msgid "Pop it up" +#~ msgstr "Di_foupañ" + +#, fuzzy +#~ msgid "Notify me about it" +#~ msgstr "_Kelaouiñ ac'hanon" + +#, fuzzy +#~ msgid "Show only in contact list" +#~ msgstr "Diskouez an darempredoù _ezlinenn" + +#, fuzzy +#~ msgid "No status messages" +#~ msgstr "titour stad" + +#, fuzzy +#~ msgid "All status messages" +#~ msgstr "titour stad" + +#, fuzzy +#~ msgid "Only enter/leave messages" +#~ msgstr "Kemennadennoù nevez ho peus" + +#, fuzzy +#~ msgid "Me_rge accounts" +#~ msgstr "_Strollañ ar c'hontoù" + +#, fuzzy +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "Diskouez _skeudennigoù an darempredoù er roll" + +#, fuzzy +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "" +#~ "Si cette case est cochée, Gajim affichera l'avatar de chaque contact dans " +#~ "la fenêtre principale et les salons" + +#, fuzzy +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "Diskouez titouroù-stad an darempredoù e-barzh ar roll" + +#, fuzzy +#~ msgid "" +#~ "If checked, status messages of contacts will be shown under the contact's " +#~ "name, in the contact list window, and in group chats" +#~ msgstr "" +#~ "Si cette case est cochée, Gajim affichera le message d'état, sous le nom " +#~ "de chaque contact dans la fenêtre principale et les salons" + +#, fuzzy +#~ msgid "" +#~ "Show e_xtra information of contacts in contact list (mood, activity, ...)" +#~ msgstr "Diskouez _skeudennigoù an darempredoù er roll" + +#, fuzzy +#~ msgid "in _contact list" +#~ msgstr "Darempredoù" + +#, fuzzy +#~ msgid "in _group chats" +#~ msgstr "Ebarzhiñ ur _webgaoz" + +#, fuzzy +#~ msgid "Display status messages in _single chats" +#~ msgstr "Diskouez titouroù-stad an darempredoù e-barzh ar roll" + +#, fuzzy +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "Impossible de rejoindre le salon" + +#, fuzzy +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "Impossible de rejoindre le salon" + +#, fuzzy +#~ msgid "Show status changes (Default)" +#~ msgstr "_Menegiñ kemmoù stad an darempredoù e-barzh an istoradur" + +#, fuzzy +#~ msgid "" +#~ "If checked, the tab will be colored according to the current chatstate of " +#~ "the contact" +#~ msgstr "" +#~ "Si cette case est cochée, Gajim se connectera à ce salon au démarrage" + +#, fuzzy +#~ msgid "" +#~ "If checked, a description of the contacts current chatstate is shown in " +#~ "the banner" +#~ msgstr "" +#~ "Si cette case est cochée, Gajim se connectera à ce salon au démarrage" + +#, fuzzy +#~ msgid "Chatstate" +#~ msgstr "Stad diwezhañ: %s" + +#, fuzzy +#~ msgid "_When new event is received" +#~ msgstr "Pa resever un darvoud nevez" + +#, fuzzy +#~ msgid "Show popups/notifications when a chat window is already _open" +#~ msgstr "Aotren ar c'helaouennoù p'emaon _ezvezant/dihegerz/busy/diwelus" + +#, fuzzy +#~ msgid "Allow popups/notifications when I'm _away, not available or busy" +#~ msgstr "Aotren ar c'helaouennoù p'emaon _ezvezant/dihegerz/busy/diwelus" + +#, fuzzy +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "Ma c'helaouiñ pa c'hoarvez gant un darempred:" + +#, fuzzy +#~ msgid "" +#~ "A popup window about contacts that just signed in will be shown in the " +#~ "bottom right of the screen " +#~ msgstr "" +#~ "Gajim vous signalera les nouveaux évènements dans une fenêtre en bas à " +#~ "droite de l'écran" + +#, fuzzy +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "Ma c'helaouiñ pa c'hoarvez gant un darempred:" + +#~ msgid "Play _sounds" +#~ msgstr "_Seniñ" + +#~ msgid "Ma_nage..." +#~ msgstr "Me_rañ..." + +#, fuzzy +#~ msgid "No_t Available" +#~ msgstr "Dihegerz" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Not Available when the computer " +#~ "has not been used for the specified time" +#~ msgstr "" +#~ "Si cette case est cochée, Gajim placera une icône dans la zone de " +#~ "notification" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Away when the computer has not " +#~ "been used for the specified time" +#~ msgstr "" +#~ "Si cette case est cochée, Gajim placera une icône dans la zone de " +#~ "notification" + +#, fuzzy +#~ msgid "Minutes" +#~ msgstr "munutenn" + +#, fuzzy +#~ msgid "Default Message" +#~ msgstr "Titour-stad" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "Titour-stad" + +#, fuzzy +#~ msgid "Preset Status Messages" +#~ msgstr "Titouroù-stad raklakaet" + +#, fuzzy +#~ msgid "_Theme" +#~ msgstr "Gwiskadur" + +#, fuzzy +#~ msgid "" +#~ "If checked, protocol-specific status icons will be used (e.g. a contact " +#~ "from ICQ will have the equivalent ICQ icon for status online, away, busy, " +#~ "etc...)" +#~ msgstr "" +#~ "Si cette case est cochée, Gajim utilisera des icônes d'état spécifiques " +#~ "aux protocoles. (Par ex. un contact MSN aura les icônes de MSN pour les " +#~ "états disponible, absent, occupé, etc)" + +#, fuzzy +#~ msgid "_Manage..." +#~ msgstr "Kemmañ..." + +#, fuzzy +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "_Menegiñ kemmoù stad an darempredoù e-barzh an istoradur" + +#, fuzzy +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "" +#~ "Si cette case est cochée, Gajim va retenir le mot de passe pour ce compte" + +#~ msgid "_Open..." +#~ msgstr "_Digeriñ..." + +#, fuzzy +#~ msgid "_Filter" +#~ msgstr "_Sil:" + +#, fuzzy +#~ msgid "Protocol" +#~ msgstr "Protokol:" + +#, fuzzy +#~ msgid "Privacy Lists:" +#~ msgstr "Flapoù prevez" + +#, fuzzy +#~ msgid "Message..." +#~ msgstr "Kemennadenn" + +#, fuzzy +#~ msgid "Preset _messages" +#~ msgstr "Kemennadennoù raklakaet:" + +#, fuzzy +#~ msgid "_Type your new status message" +#~ msgstr "Roit un titour-stad nevez" + +#, fuzzy +#~ msgid "Change Status Message…" +#~ msgstr "_Kemmañ an titour-stad" + +#, fuzzy +#~ msgid "Mood:" +#~ msgstr "Sonioù" + +#, fuzzy +#~ msgid "Message:" +#~ msgstr "Titouroù-stad raklakaet" + +#, fuzzy +#~ msgid "none" +#~ msgstr "Hini ebet" + +#, fuzzy +#~ msgid "both" +#~ msgstr "An daou" + +#, fuzzy +#~ msgid "from" +#~ msgstr "Digant" + +#, fuzzy +#~ msgid "to" +#~ msgstr "piv" + +#, fuzzy +#~ msgid "Privacy List" +#~ msgstr "Roll argas" + +#, fuzzy +#~ msgid "Active on each startup" +#~ msgstr "K_evreañ en ur loc'hañ Gajim" + +#, fuzzy +#~ msgid "List of rules" +#~ msgstr "Furmad ul linenn" + +#~ msgid "Deny" +#~ msgstr "Nac'hañ" + +#, fuzzy +#~ msgid "all in the group" +#~ msgstr "Er strollad" + +#, fuzzy +#~ msgid "all by subscription" +#~ msgstr "_Koumanant" + +#, fuzzy +#~ msgid "to send me messages" +#~ msgstr "Kas ur gemennadenn" + +#, fuzzy +#~ msgid "to view my status" +#~ msgstr "He/E aotren da welet ma stad" + +#, fuzzy +#~ msgid "to send me status" +#~ msgstr "Goulenn evit gwelet e/he stad" + +#, fuzzy +#~ msgid "All (including subscription)" +#~ msgstr "_Koumanant" + +#, fuzzy +#~ msgid "Order:" +#~ msgstr "Servijer:" + +#, fuzzy +#~ msgid "" +#~ "Deny authorization from contact so the contact cannot know if you are " +#~ "connected" +#~ msgstr "" +#~ "Nac'hañ aotre an darempred evit ma ne welo ket hag eñ oc'h kevreet pe get" + +#, fuzzy +#~ msgid "Authorize contact so the contact can know if you are connected" +#~ msgstr "Aotren an darempred da welet hag emaon kevreet pe get" + +#, fuzzy +#~ msgid "Contact List Shortcuts" +#~ msgstr "Darempred diluget" + +#, fuzzy +#~ msgid "Fill in the form." +#~ msgstr "Er strollad" + +#, fuzzy +#~ msgid "Message: " +#~ msgstr "Titouroù-stad raklakaet" + +#, fuzzy, python-format +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "Darempred %(contact_jid)s bet pedet e-barzh %(room_jid)s." + +#, fuzzy +#~ msgid "Group Chat Invitation " +#~ msgstr "Pedadenn evit ur sal-flapiñ" + +#, python-format +#~ msgid "Comment: %s" +#~ msgstr "Evezhiadenn: %s" + +#, fuzzy +#~ msgid "Off" +#~ msgstr "Ezlinenn" + +#, fuzzy +#~ msgid "Wrong date format" +#~ msgstr "Titouroù" + +#, fuzzy +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "Stumm : BBBB-MM-DD" + +#, fuzzy +#~ msgid "Information received" +#~ msgstr "Resevet ar bedadenn" + +#, fuzzy +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "Rankout a rit bezaén luget evit embann ho titouroù hiniennel." + +#, fuzzy +#~ msgid "Sending profile…" +#~ msgstr "Kas ur restr" + +#~ msgid "vCard publication failed" +#~ msgstr "C'hwitet eo embannadur ar vCard" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "" +#~ "Bez ez eus bet ur fazi en ur embann ho titouroù hiniennel, klaskit en-dro " +#~ "diwezhatoc'h." + +#, fuzzy +#~ msgid "?password:Hidden" +#~ msgstr "Ger-kuzh:" + +#, fuzzy, python-format +#~ msgid "Order: %(order)s, action: %(action)s" +#~ msgstr "Taolennadur: %s" + +#, fuzzy +#~ msgid "Edit a rule" +#~ msgstr "Furmad ul linenn" + +#, fuzzy +#~ msgid "Add a rule" +#~ msgstr "Furmad ul linenn" + +#, fuzzy +#~ msgid "Invalid List Name" +#~ msgstr "Anv-arveriad-ez direizh" + +#, fuzzy +#~ msgid "You must enter a name to create a privacy list." +#~ msgstr "Rankout a rit reiñ ur ger-kuzh evit enrollañ ar gont nevez." + +#, fuzzy +#~ msgid "Loading" +#~ msgstr "O skrivañ" + +#~ msgid "status message title" +#~ msgstr "titl ar gemennadenn stad" + +#~ msgid "status message text" +#~ msgstr "korf ar gemennadenn stad" + +#, fuzzy +#~ msgid "Start New Conversation" +#~ msgstr "Kevreadenn" + +#, fuzzy +#~ msgid "Unknown SSL error: %d" +#~ msgstr "Aozadur D-Bus dianav: %s" + +#~ msgid "Gajim - %s" +#~ msgstr "Gajim - %s" + +#, fuzzy +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "N'eus ket tu da gevreañ" + +#, fuzzy +#~ msgid "_Reconnect" +#~ msgstr "Darempred diluget" + +#, fuzzy +#~ msgid "Quit" +#~ msgstr "_Kuitaat" + +#, fuzzy +#~ msgid "Show Contact List" +#~ msgstr "Diskouez an darempredoù _ezlinenn" + +#, fuzzy +#~ msgid "Add to Contact List" +#~ msgstr "_Ouzhpennañ un darempred..." + +#, fuzzy +#~ msgid "Invite Contact" +#~ msgstr "Darempredoù" + +#, fuzzy +#~ msgid "Configure Group Chat" +#~ msgstr "Flap a-stroll" + +#~ msgid "Invalid character in hostname." +#~ msgstr "Arouezenn zireizh en anv-ostiz." + +#~ msgid "Server address required." +#~ msgstr "Chomlec'h ar servijer dre ret" + +#~ msgid "Invalid character in username." +#~ msgstr "Arouezenn ziereizh en anv-arveriad-ez" + +#, fuzzy +#~ msgid "Notification color for contacts signing in." +#~ msgstr "Ma c'helaouiñ pa c'hoarvez gant un darempred:" + +#, fuzzy +#~ msgid "Notification color for contacts signing out." +#~ msgstr "Ma c'helaouiñ pa c'hoarvez gant un darempred:" + +#, fuzzy +#~ msgid "Notification color for new message notification." +#~ msgstr "Noti_fications d'état de discussion" + +#, fuzzy +#~ msgid "Notification color for file transfer request." +#~ msgstr "_Kelaouiñ ac'hanon p'eo echu un treuzkas" + +#, fuzzy +#~ msgid "Notification color for file transfer errors." +#~ msgstr "_Kelaouiñ ac'hanon p'eo echu un treuzkas" + +#, fuzzy +#~ msgid "Event Type" +#~ msgstr "Darvoud" + +#, fuzzy +#~ msgid "Event desc" +#~ msgstr "Darvoudoù" + +#, fuzzy +#~ msgid "No response from the Server" +#~ msgstr "N'oc'h ket luget d'ar servijer" + +#, fuzzy +#~ msgid "Unable to load image" +#~ msgstr "Impossible de rejoindre le salon" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Gajim : Assistant de création de compte" + +#, fuzzy +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "Rankout a rit kaout ur gont evit en em lugañ\n" +#~ "d'ar rouedad Jabber." + +#, fuzzy +#~ msgid "I already have an account I want to _use" +#~ msgstr "Bez em eus ur gont a fell din implij" + +#~ msgid "I want to _register for a new account" +#~ msgstr "Fellout a ra din emezelañ evit krouiñ ur gont" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "Diuzit unan eus an dibaboù dindan :" + +#, fuzzy +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "Leuniit an titouroù evit ho kont nevez" + +#, fuzzy +#~ msgid "_XMPP Address:" +#~ msgstr "_Chomlec'h:" + +#, fuzzy +#~ msgid "Anon_ymous authentication" +#~ msgstr "Implij an diskleriañ" + +#~ msgid "_Password:" +#~ msgstr "_Ger-kuzh:" + +#~ msgid "Save pass_word" +#~ msgstr "Enrollañ ar _ger-kuzh" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "" +#~ "Si cette case est cochée, Gajim va retenir le mot de passe pour ce compte" + +#~ msgid "_Server:" +#~ msgstr "_Servijer:" + +#~ msgid "Manage..." +#~ msgstr "Kemmañ..." + +#~ msgid "_Port:" +#~ msgstr "_Porzh:" + +#~ msgid "_Advanced" +#~ msgstr "_Mont pelloc'h" + +#, fuzzy +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "O krouiñ ar gont\n" +#~ "\n" +#~ "Gortozit marplij..." + +#~ msgid "Connect when I press Finish" +#~ msgstr "Kevreañ pa bouezan war Echuiñ" + +#~ msgid "Set my profile when I connect" +#~ msgstr "Aozañ ma aelad pa lugan" + +#~ msgid "_Finish" +#~ msgstr "_Echuiñ" + +#, fuzzy +#~ msgid "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." +#~ msgstr "" +#~ "Bez e c'hellit aozañ dibaboù araoket ar gont en ur pouezañ war an " +#~ "nozelenn Araoket, pe hen ober diwezhatoc'h en ur glikañ war Kontoù er " +#~ "meuziad Aozañ eus ar prenestr pennañ." + +#~ msgid "Your new account has been created successfully" +#~ msgstr "Gant berzh eo bet krouet ho kont nevez!" + +#~ msgid "Invalid username" +#~ msgstr "Anv-arveriad-ez direizh" + +#~ msgid "You must provide a username to configure this account." +#~ msgstr "Rankout a rit reiñ un anv-arveriad-ez evit kefluniañ ar gont-mañ." + +#, fuzzy +#~ msgid "Invalid server" +#~ msgstr "Anv-arveriad-ez direizh" + +#, fuzzy +#~ msgid "Please provide a server on which you want to register." +#~ msgstr "Skrivit al lesanv nevez a fell deoc'h implij:" + +#~ msgid "Invalid entry" +#~ msgstr "Road direizh" + +#, fuzzy +#~ msgid "Certificate Already in File" +#~ msgstr "Darempred er roll dija" + +#~ msgid "Account name is in use" +#~ msgstr "Implijet eo an anv-kont dija" + +#~ msgid "You already have an account using this name." +#~ msgstr "Bez ho peus ur gont gant an anv-se dija." + +#~ msgid "Connection with account \"%s\" has been lost" +#~ msgstr "Kollet eo bet al lugadenn gant ar gont \"%s\"" + +#, fuzzy +#~ msgid "Server %(name)s answered wrongly to register request: %(error)s" +#~ msgstr "Respontet fall he deus an nor %s d'ar goulenn emezelañ." + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "Dibosupl eo en em lugañ da \"%s\"" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "Dibosupl eo en em lugañ da \"%s\"" + +#~ msgid "Check your connection or try again later." +#~ msgstr "Gwiriekait ho lugadenn pe klaskit diwezhatoc'h." + +#, fuzzy +#~ msgid "Server replied: %s" +#~ msgstr "Enrollet e-barzh: %s" + +#, fuzzy +#~ msgid "Connection to proxy failed" +#~ msgstr "Kevreadenn" + +#, fuzzy +#~ msgid "Could not connect to account %s" +#~ msgstr "Dibosupl eo en em lugañ da \"%s\"" + +#, fuzzy +#~ msgid "Connection with account %s has been lost. Retry connecting." +#~ msgstr "Kollet eo bet al lugadenn gant ar gont \"%s\"" + +#~ msgid "Please check your login and password for correctness." +#~ msgstr "Gwiriekait ho ker-kuzh hag anv-lugañ." + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "Kevreadenn HTTP" + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "BOSH" +#~ msgstr "_URL :" + +#, fuzzy +#~ msgid "Use HTTP prox_y" +#~ msgstr "_Implij ur proxy" + +#, fuzzy +#~ msgid "_BOSH URL" +#~ msgstr "_URL :" + +#, fuzzy +#~ msgid "BOSH" +#~ msgstr "_URL :" + +#, fuzzy +#~ msgid "Warn on insecure connection" +#~ msgstr "Kevreadenn" + +#, fuzzy +#~ msgid "Contact list, list of contacts" +#~ msgstr "_Menegiñ kemmoù stad an darempredoù e-barzh an istoradur" + +#~ msgid "You are participating in one or more group chats" +#~ msgstr "Kemer a rit perzh e unan pe meur a webgaoz" + +#, fuzzy +#~ msgid "" +#~ "Changing your status to invisible will result in you leaving those group " +#~ "chats.\n" +#~ "Are you sure you want to go invisible?" +#~ msgstr "" +#~ "Tremen d'ar stad diwelus a lakao ac'hanoc'h da zilugañ diouzh ar " +#~ "webkaozioù-se. Ha sur oc'h e fell deoc'h bezañ diwelus?" + +#, fuzzy +#~ msgid "_Disconnect" +#~ msgstr "Darempred diluget" + +#, fuzzy +#~ msgid "You cannot join a group chat while you are invisible" +#~ msgstr "N'hellit ket ebarzhiñ ur webgaoz keit ha m'emaoc'h diwelus." + +#~ msgid "Invisible" +#~ msgstr "Diwelus" + +#, fuzzy +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "N'hellit ket ebarzhiñ ur webgaoz keit ha m'emaoc'h diwelus." + +#~ msgid "_Invisible" +#~ msgstr "_Diwelus" + +#, fuzzy +#~ msgid "Yesterday" +#~ msgid_plural "%(nb_days)i days ago" +#~ msgstr[0] "Dec'h" +#~ msgstr[1] "Dec'h" + +#, fuzzy +#~ msgid "_Cancel Upload" +#~ msgstr "_Nullañ" + +#, fuzzy +#~ msgid "" +#~ "If you close this tab while having chat history disabled, this message " +#~ "will be lost." +#~ msgstr "" +#~ "Ma serrit ar prenestr-mañ ha n'eo ket enaouet an istoradur, e vo kollet " +#~ "ar gemennadenn." + +#, fuzzy +#~ msgid "Unregister Failed" +#~ msgstr "échec lors de la publication de votre vCard" + +#, fuzzy +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "Kevreadenn" + +#, fuzzy +#~ msgid "New Password" +#~ msgstr "Enrollañ ar ger-kuzh" + +#~ msgid "What do you want to do?" +#~ msgstr "Petra a fell deoc'h ober?" + +#~ msgid "Remove account from Gajim and from _server" +#~ msgstr "Dilemel ar gont diwar Gajim ha diwar ar _servijer" + +#, fuzzy +#~ msgid "You must enter a password" +#~ msgstr "Rankout a rit reiñ ur ger-kuzh." + +#, fuzzy +#~ msgid "You still have open chats in your account %s" +#~ msgstr "N'ho peus kont bev ebet" + +#, fuzzy +#~ msgid "To unregister from a server, the account must be enabled." +#~ msgstr "Rankout a rit bezañ diluget evit cheñch anv ar gont." + +#, fuzzy +#~ msgid "Password required" +#~ msgstr "Ger-kuzh ret" + +#, fuzzy +#~ msgid "Still connected to the server" +#~ msgstr "N'oc'h ket luget d'ar servijer" + +#, fuzzy +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "Ma tilamit anezhañ, e voc'h diluget." + +#, fuzzy +#~ msgid "Connection to server %s failed" +#~ msgstr "Kevreadenn" + +#, fuzzy +#~ msgid "What would you like to do?" +#~ msgstr "Petra a fell deoc'h ober?" + +#, fuzzy +#~ msgid "Remove only from Gajim" +#~ msgstr "Dilemel ar gont diwar Gajim _hepken" + +#, fuzzy +#~ msgid "Contents" +#~ msgstr "_Endalc'hadoù" + +#, fuzzy +#~ msgid "FAQ" +#~ msgstr "_FAQ" + +#~ msgid "Save as Preset Status Message" +#~ msgstr "Enrollañ evel titour-stad rakenrollet" + +#, fuzzy +#~ msgid "Enter a new nickname for contact %s" +#~ msgstr "Roit ho ker-kuzh GPG evit ar gont %s." + +#, fuzzy +#~ msgid "Join a group chat" +#~ msgstr "Ebarzhiñ ur _webgaoz" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "Asantiñ" + +#, fuzzy +#~ msgid "New entry received" +#~ msgstr "Pa resever un darvoud nevez" + +#, fuzzy +#~ msgid "Feed name:" +#~ msgstr "anv ar gwiskadur" + +#, fuzzy +#~ msgid "Last modified:" +#~ msgstr "Anv:" + +#, fuzzy +#~ msgid "Send file?" +#~ msgstr "Kas ur _restr" + +#, fuzzy +#~ msgid "Mail _client" +#~ msgstr "_Meziant posteliñ:" + +#, fuzzy +#~ msgid "_Browser" +#~ msgstr "_Furcher web:" + +#, fuzzy +#~ msgid "_File manager" +#~ msgstr "Merour _restroù:" + +#, fuzzy +#~ msgid "Applications" +#~ msgstr "Poelladoù" + +#, fuzzy +#~ msgid "RST XHTML Generator" +#~ msgstr "Hollek" + +#~ msgid "New Single Message" +#~ msgstr "Kemennadenn simpl nevez" + +#, fuzzy +#~ msgid "Error %(code)s: %(msg)s" +#~ msgstr "%(nickname)s : %(message)s" + +#, fuzzy +#~ msgid "one" +#~ msgstr "Hini ebet" + +#, fuzzy +#~ msgid "two" +#~ msgstr "piv" + +#, fuzzy +#~ msgid "three" +#~ msgstr "Straed:" + +#, fuzzy +#~ msgid "four" +#~ msgstr "Porzh:" + +#, fuzzy +#~ msgid "five" +#~ msgstr "restr" + +#, fuzzy +#~ msgid "seven" +#~ msgstr "Darvoud" + +#, fuzzy +#~ msgid "nine" +#~ msgstr "_Kenderc'hel" + +#, fuzzy +#~ msgid "eleven" +#~ msgstr "Dilemel" + +#, fuzzy +#~ msgid "five past %(0)s" +#~ msgstr "Emezelañ war %s" + +#, fuzzy +#~ msgid "ten past %(0)s" +#~ msgstr "Emezelañ war %s" + +#, fuzzy +#~ msgid "quarter past %(0)s" +#~ msgstr "Emezelañ war %s" + +#, fuzzy +#~ msgid "twenty past %(0)s" +#~ msgstr "Emezelañ war %s" + +#, fuzzy +#~ msgid "twenty five past %(0)s" +#~ msgstr "Emezelañ war %s" + +#, fuzzy +#~ msgid "twenty five to %(1)s" +#~ msgstr "Emezelañ war %s" + +#, fuzzy +#~ msgid "twenty to %(1)s" +#~ msgstr "Emezelañ war %s" + +#, fuzzy +#~ msgid "quarter to %(1)s" +#~ msgstr "Emezelañ war %s" + +#, fuzzy +#~ msgid "ten to %(1)s" +#~ msgstr "Emezelañ war %s" + +#, fuzzy +#~ msgid "five to %(1)s" +#~ msgstr "Emezelañ war %s" + +#, fuzzy +#~ msgid "Morning" +#~ msgstr "O labourat" + +#, fuzzy +#~ msgid "Noon" +#~ msgstr "Hini ebet" + +#, fuzzy +#~ msgid "Evening" +#~ msgstr "Darvoud" + +#~ msgid "message" +#~ msgstr "kemennadenn" + +#, fuzzy +#~ msgid "error: %s" +#~ msgstr "Fazi en ur lenn ar restr:" + +#, fuzzy +#~ msgid "Form: %s" +#~ msgstr "De %s" + +#, fuzzy +#~ msgid "Ttitle" +#~ msgstr "Titl:" + +#, fuzzy +#~ msgid "Screen" +#~ msgstr "Glas" + +#, fuzzy +#~ msgid "Conversation with " +#~ msgstr "Istoradur ar gaoz" + +#, fuzzy +#~ msgid "Continued conversation" +#~ msgstr "Kevreadenn" + +#, fuzzy +#~ msgid "%s has invited you to join a discussion" +#~ msgstr "Pedet oc'h bet gant %(contact_jid)s er sal-flapiñ %(room_jid)s" + +#~ msgid "_Send Private Message" +#~ msgstr "_Kas ur gemennadenn brevez" + +#, fuzzy +#~ msgid "Participant Actions" +#~ msgstr "Perzhidi" + +#~ msgid "Mo_derator" +#~ msgstr "Ka_sour-ez" + +#~ msgid "_Member" +#~ msgstr "_Ezel" + +#~ msgid "_Admin" +#~ msgstr "_Merour-ez" + +#~ msgid "_Owner" +#~ msgstr "_Perc'hener-ez" + +#, fuzzy +#~ msgid "_Add to Contact List" +#~ msgstr "_Ouzhpennañ un darempred..." + +#, fuzzy +#~ msgid "_Execute command" +#~ msgstr "urzhiad" + +#, fuzzy +#~ msgid "Change _Nickname..." +#~ msgstr "Cheñch _lesanv" + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "Flap a-stroll" + +#, fuzzy +#~ msgid "Change _Subject..." +#~ msgstr "Kemmañ ar _sujed" + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "Ebarzhiñ ur _webgaoz" + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "Flap a-stroll" + +#, fuzzy +#~ msgid "_Bookmark" +#~ msgstr "_Ouzhpennañ ar webgaoz d'ar sinedoù" + +#, fuzzy +#~ msgid "" +#~ "\n" +#~ "Unknown SSL error: %d" +#~ msgstr "Aozadur D-Bus dianav: %s" + +#, fuzzy +#~ msgid "View certificate…" +#~ msgstr "Anv-arveriad-ez direizh" + +#, fuzzy +#~ msgid "Continue" +#~ msgstr "_Kenderc'hel" + +#~ msgid "" +#~ "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM " +#~ "IS RUNNING)" +#~ msgstr "" +#~ "Ha fellout a ra deoc'h naetaat an titourva? (DIALIET GROÑS M'EMAÑ GAJIM O " +#~ "VONT EN-DRO)" + +#, fuzzy +#~ msgid "Authorization" +#~ msgstr "Kaset eo bet an aotre" + +#, fuzzy +#~ msgid "Account '%s' is still connected to the server" +#~ msgstr "Luget eo ar gont \"%s\" d'ar servijer" + +#, fuzzy +#~ msgid "Error While Saving" +#~ msgstr "fazi en ur gas %s ( %s )" + +#, fuzzy +#~ msgid "Save _As" +#~ msgstr "Enrollet e-barzh: %s" + +#, fuzzy +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "ID jabber direizh" + +#, fuzzy +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "Bez ez eus arouezioù difennet en anv ar sal pe hini ar servijer." + +#~ msgid "You may specify a reason below:" +#~ msgstr "Bez e c'hellit reiñ un abeg amañ dindan:" + +#~ msgid "Banning %s" +#~ msgstr "Argas %s" + +#, fuzzy +#~ msgid "" +#~ "Always ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Goulenn atav a-raok serriñ ar webgaozioù dispartiet gant un esaouenn ar " +#~ "roll-mañ." + +#, fuzzy +#~ msgid "" +#~ "Never ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Chom hep goulenn morse a-raok serriñ ar webgaozioù dispartiet gant un " +#~ "esaouenn er roll-mañ." + +#, fuzzy +#~ msgid "Leave Group Chats" +#~ msgstr "Flap a-stroll" + +#, fuzzy +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "%(nickname)s : %(message)s" + +#, fuzzy +#~ msgid "You have not joined a group chat." +#~ msgstr "Er strollad" + +#, fuzzy +#~ msgid "You left the following group chats:" +#~ msgstr "Emaoc'h er webgaoz %s dija" + +#, fuzzy +#~ msgid "Configure Services…" +#~ msgstr "_Dizoleiñ ar servijoù..." + +#, fuzzy +#~ msgid "Group Chat Bookmarks" +#~ msgstr "Flap a-stroll" + +#, fuzzy +#~ msgid "Add Bookmark" +#~ msgstr "_Ouzhpennañ ar webgaoz d'ar sinedoù" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "_Ouzhpennañ ar webgaoz d'ar sinedoù" + +#, fuzzy +#~ msgid "_Server" +#~ msgstr "_Servijer:" + +#, fuzzy +#~ msgid "_Password" +#~ msgstr "_Ger-kuzh:" + +#, fuzzy +#~ msgid "Join chat when connected" +#~ msgstr "Darempred diluget" + +#, fuzzy +#~ msgid "New Group Chat" +#~ msgstr "Flap a-stroll" + +#~ msgid "This bookmark has invalid data" +#~ msgstr "Bez ez eus titouroù direizh er sined-mañ" + +#, fuzzy +#~ msgid "" +#~ "Please be sure to fill out server and group chat fields or remove this " +#~ "bookmark." +#~ msgstr "" +#~ "Gwiriekait ho peus leuniet an takadoù servijer ha sal-flapiñ pe lamit ar " +#~ "sined-mañ." + +#, fuzzy +#~ msgid "Character not allowed" +#~ msgstr "N'eus ket bet kavet al lesanv : %s" + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "ID jabber direizh" + +#, fuzzy +#~ msgid "Unable to join group chat" +#~ msgstr "Impossible de rejoindre le salon" + +#, fuzzy +#~ msgid "You are banned from group chat %s." +#~ msgstr "Vous êtes banni de ce salon." + +#, fuzzy +#~ msgid "Remote server %s does not exist." +#~ msgstr "Ce salon n'existe pas." + +#, fuzzy +#~ msgid "Group chat %s does not exist." +#~ msgstr "Ce salon n'existe pas." + +#, fuzzy +#~ msgid "Group chat creation is not permitted." +#~ msgstr "La création de salon est réservée aux administrateurs." + +#, fuzzy +#~ msgid "You must use your registered nickname in %s." +#~ msgstr "Vous devez utiliser le surnom donné lors de l'enregistrement." + +#, fuzzy +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "Vous n'êtes pas dans la liste des membres." + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "A guzha an nozelennoù er prenestr flapiñ" + +#, fuzzy +#~ msgid "Invalid Nickname" +#~ msgstr "Anv-arveriad-ez direizh" + +#, fuzzy +#~ msgid "Wrong server" +#~ msgstr "Ger-kuzh faos" + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "A guzha an nozelennoù er prenestr flapiñ" + +#, fuzzy +#~ msgid "A Password is required to join the group chat %s. Please type it." +#~ msgstr "Un mot de passe est requis pour rejoindre ce salon." + +#~ msgid "Not in Roster" +#~ msgstr "Ket er roll" + +#~ msgid "I would like to add you to my roster" +#~ msgstr "Laouen 'vefen d'az ouzhpennañ em roll-darempredoù" + +#, fuzzy +#~ msgid "Add to Roster" +#~ msgstr "_Ouzhpennañ er roll" + +#, fuzzy +#~ msgid "Manage Room" +#~ msgstr "Merañ ar sinedoù" + +#, fuzzy +#~ msgid "Configure Room" +#~ msgstr "Ke_fluniañ ar flap" + +#, fuzzy +#~ msgid "Destroy Room" +#~ msgstr "Taolennadur: %s" + +#, fuzzy +#~ msgid "Change Nick" +#~ msgstr "Cheñch _lesanv" + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "Darempred diluget" + +#, fuzzy +#~ msgid "Copy JID" +#~ msgstr "Webgaoz:" + +#, fuzzy +#~ msgid "Add to Roster…" +#~ msgstr "_Ouzhpennañ er roll" + +#, fuzzy +#~ msgid "Copy JID/Email" +#~ msgstr "_Kopiañ ar JID/Chomlec'h postel" + +#, fuzzy +#~ msgid "JID: %s" +#~ msgstr "JID: %s" + +#~ msgid "Changing Subject" +#~ msgstr "Cheñch ar sujed" + +#~ msgid "Please specify the new subject:" +#~ msgstr "Skrivit ar sujed nevez:" + +#, fuzzy +#~ msgid "You (%s) joined the room" +#~ msgstr "Er strollad" + +#, fuzzy +#~ msgid "Unable to join groupchat" +#~ msgstr "Impossible de rejoindre le salon" + +#~ msgid "Groupchat Invitation" +#~ msgstr "Pedadenn evit ur sal-flapiñ" + +#, fuzzy +#~ msgid "%(jid)s has been invited in this room" +#~ msgstr "%(nick)s a zo bet skarzhet gant %(who)s : %(reason)s" + +#, fuzzy +#~ msgid "JID is not a Groupchat" +#~ msgstr "A guzha an nozelennoù er prenestr flapiñ" + +#, fuzzy +#~ msgid "Invalid JID" +#~ msgstr "ID jabber direizh" + +#~ msgid "A connection is not available" +#~ msgstr "N'eus ket tu da gevreañ" + +#, fuzzy +#~ msgid "JID already in list" +#~ msgstr "Flaperez Jabber" + +#, fuzzy +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "N'eus ket tu da gevreañ" + +#~ msgid "Removes contact from roster" +#~ msgstr "Dilemel an darempred diouzh ar roll" + +#, fuzzy +#~ msgid "Not in roster" +#~ msgstr "Ket er roll" + +#, fuzzy +#~ msgid "Contact signed in notification color." +#~ msgstr "Diskouez er _roll hepken" + +#, fuzzy +#~ msgid "Contact signout notification color" +#~ msgstr "Diskouez er _roll hepken" + +#, fuzzy +#~ msgid "File transfer request notification color." +#~ msgstr "Goulenn treuzkas" + +#, fuzzy +#~ msgid "File transfer error notification color." +#~ msgstr "Nullet eo bet an treuzkas" + +#, fuzzy +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "P'eo echu un treuzkas, diskouez ur gemennadenn gelaouiñ difoupus" + +#, fuzzy +#~ msgid "Groupchat invitation notification color" +#~ msgstr "Pedadenn evit ur sal-flapiñ" + +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "Ouzhpennañ * hag [n] da ditl ar roll darempredoù?" + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "O tebriñ 'maon, neuze laoskit ur gemennadenn." + +#, fuzzy +#~ msgid "from room %s" +#~ msgstr "De %s" + +#, fuzzy +#~ msgid "Leave Groupchats" +#~ msgstr "Flap a-stroll" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "Webgaoz:" + +#~ msgid "Jabber ID:" +#~ msgstr "ID Jabber:" + +#, fuzzy +#~ msgid "Occupant Actions" +#~ msgstr "_Galloudoù an darempred" + +#~ msgid "_Add to Roster" +#~ msgstr "_Ouzhpennañ er roll" + +#, fuzzy +#~ msgid "_Manage Room" +#~ msgstr "Merañ ar sinedoù" + +#, fuzzy +#~ msgid "Configure _Room..." +#~ msgstr "Ke_fluniañ ar flap" + +#, fuzzy +#~ msgid "_Destroy Room" +#~ msgstr "Taolennadur: %s" + +#, fuzzy +#~ msgid "Jabber ID" +#~ msgstr "ID Jabber:" + +#, fuzzy +#~ msgid "account" +#~ msgstr "compte : " + +#, fuzzy +#~ msgid "Roster" +#~ msgstr "Diskouez ar _roll-darempredoù" + +#, fuzzy +#~ msgid "Show only in roster" +#~ msgstr "Diskouez er _roll hepken" + +#, fuzzy +#~ msgid "in _roster" +#~ msgstr "Ket er roll" + +#, fuzzy +#~ msgid "Roster Appearance" +#~ msgstr "Furmad ul linenn" + +#, fuzzy +#~ msgid "_Add to Roster..." +#~ msgstr "_Ouzhpennañ er roll" + +#~ msgid "_Jabber ID:" +#~ msgstr "ID _Jabber:" + +#, fuzzy +#~ msgid "_Jabber ID" +#~ msgstr "ID _Jabber:" + +#, fuzzy +#~ msgid "JabberID" +#~ msgstr "ID Jabber:" + +#, fuzzy +#~ msgid "Show Roster" +#~ msgstr "Diskouez ar _roll-darempredoù" + +#, fuzzy +#~ msgid "MUC server" +#~ msgstr "Sellerien" + +#~ msgid "Room Configuration" +#~ msgstr "Kefluniañ ar webgaoz" + +#~ msgid "Join _Group Chat" +#~ msgstr "Ebarzhiñ ur _webgaoz" + +#, fuzzy +#~ msgid "Audio sessions are not available" +#~ msgstr "N'eus ket tu da gevreañ" + +#~ msgid "Conference" +#~ msgstr "Kendiviz" + +#, fuzzy +#~ msgid "_Manage Bookmarks…" +#~ msgstr "Merañ ar sinedoù" + +#, fuzzy +#~ msgid "Hide _Roster" +#~ msgstr "Ket er roll" + +#~ msgid "Show _Roster" +#~ msgstr "Diskouez ar _roll-darempredoù" + +#, fuzzy +#~ msgid "Invalid Room" +#~ msgstr "Road direizh" + +#, fuzzy +#~ msgid "Invalid room" +#~ msgstr "Road direizh" + +#~ msgid "A GTK+ Jabber client" +#~ msgstr "Ur flaperez Jabber e GTK+" + +#~ msgid "Changing Nickname" +#~ msgstr "Cheñch lesanv" + +#~ msgid "Please specify the new nickname you want to use:" +#~ msgstr "Skrivit al lesanv nevez a fell deoc'h implij:" + +#~ msgid "Bookmark already set" +#~ msgstr "Sined lakaet dija" + +#, fuzzy +#~ msgid "Group Chat '%s' is already in your bookmarks." +#~ msgstr "Emañ ar flap \"%s\" en ho sinedoù dija." + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "Gant berzh eo bet ouzhpennet ar sined" + +#, fuzzy +#~ msgid "" +#~ "You can manage your bookmarks by clicking the Bookmarks menu item in your " +#~ "contact list." +#~ msgstr "" +#~ "Bez e c'hellit merañ ho sinedoù dre ar meuziad Oberoù er roll-darempredoù." + +#, fuzzy +#~ msgid "The nickname contains invalid characters." +#~ msgstr "Bez ez eus arouezioù difennet en anv ar sal pe hini ar servijer." + +#, fuzzy +#~ msgid "Bookmark Room" +#~ msgstr "_Ouzhpennañ ar webgaoz d'ar sinedoù" + +#, fuzzy +#~ msgid "_Join New Group Chat" +#~ msgstr "Ebarzhiñ ur sal-flapiñ" + +#~ msgid "Name:" +#~ msgstr "Anv:" + +#, fuzzy +#~ msgid "Description:" +#~ msgstr "Taolennadur: %s" + +#, fuzzy +#~ msgid "Address:" +#~ msgstr "_Chomlec'h:" + +#, fuzzy +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "N'hellit ket ebarzhiñ ur sal-flapiñ keit ha ma n'oc'h ket luget." + +#, fuzzy +#~ msgid "Occupants" +#~ msgstr "_Galloudoù an darempred" + +#~ msgid "_Modify Account..." +#~ msgstr "_Kemmañ ar gont..." + +#, fuzzy +#~ msgid "Integer" +#~ msgstr "Er strollad" + +#~ msgid "Text" +#~ msgstr "Texte" + +#~ msgid "Value" +#~ msgstr "Talvoud" + +#~ msgid "(None)" +#~ msgstr "(Hini ebet)" + +#~ msgid "Hidden" +#~ msgstr "Elfennoù kuzh" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "Merañ an aeladoù proksi" + +#, fuzzy +#~ msgid "Properties" +#~ msgstr "Perzhioù" + +#, fuzzy +#~ msgid "Proxy _Port" +#~ msgstr "_Porzh:" + +#, fuzzy +#~ msgid "New Groupchat" +#~ msgstr "Flap a-stroll" + +#, fuzzy +#~ msgid "New Contact" +#~ msgstr "Ouzhpennañ un darempred nevez" + +#~ msgid "%s GiB" +#~ msgstr "%s Go" + +#~ msgid "%s GB" +#~ msgstr "%s Go" + +#~ msgid "%s MiB" +#~ msgstr "%s Mo" + +#~ msgid "%s MB" +#~ msgstr "%s Mo" + +#~ msgid "%s KiB" +#~ msgstr "%s Ko" + +#~ msgid "%s KB" +#~ msgstr "%s Ko" + +#~ msgid "%s B" +#~ msgstr "%s o" + +#, fuzzy +#~ msgid "%s MiB/s" +#~ msgstr "%s Mo" + +#, fuzzy +#~ msgid "File transfer" +#~ msgstr "Treuzkasoù" + +#, fuzzy +#~ msgid "Open _Containing Folder" +#~ msgstr "_Digeriñ ar renkell pal" + +#, fuzzy +#~ msgid "Default:" +#~ msgstr "Dilemel" + +#, fuzzy +#~ msgid "" +#~ "If you close this window, you will be disconnected from this group chat." +#~ msgstr "Ma serrit ar prenestr-mañ, e tigevreoc'h diouzh ar flap-mañ." + +#, fuzzy +#~ msgid "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" +#~ msgstr "" +#~ "N'helloc'h ket mui kas pe resev kemennadennoù d'an darempredoù liammet " +#~ "gant an nor-mañ." + +#~ msgid "Contact \"%s\" will be removed from your roster" +#~ msgstr "Dilamet e vo an darempred \"%s\" diouzh ar roll" + +#, fuzzy +#~ msgid "" +#~ "By removing this contact you also by default remove authorization " +#~ "resulting in them always seeing you as offline." +#~ msgstr "" +#~ "En ur zilemel an darempred-mañ, e tilamit dre-ziouer he/e aotre. Atav e " +#~ "welo ac'hanoc'h evel pa vefec'h ezlinenn." + +#, fuzzy +#~ msgid "Contacts will be removed from your roster" +#~ msgstr "Dilamet e vo an darempred \"%s\" diouzh ar roll" + +#, fuzzy +#~ msgid "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorization resulting in them always seeing you as " +#~ "offline." +#~ msgstr "" +#~ "En ur zilemel an darempred-mañ, e tilamit ivez e/he aotre. Atav e welo " +#~ "ac'hanoc'h evel pa vefec'h ezlinenn." + +#, fuzzy +#~ msgid "Con_tinue" +#~ msgstr "_Kenderc'hel" + +#~ msgid "_Pause" +#~ msgstr "_Ehan" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "Dilemel an treuzkas restroù diwar ar roll" + +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "" +#~ "An ober-mañ a zilam an treuzkasoù diouzh ar roll. Ma 'z eus un treuzkas " +#~ "oberiant, e vo arsavet anezhañ ha dilamet da c'houde" + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "A nulla an treuzkas dibabet" + +#, fuzzy +#~ msgid "Hide the window" +#~ msgstr "A guzha ar prenestr" + +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "P'eo echu un treuzkas, diskouez ur gemennadenn gelaouiñ difoupus" + +#~ msgid "From:" +#~ msgstr "Digant:" + +#~ msgid "Subject:" +#~ msgstr "Titl:" + +#~ msgid "%s wants to send you a file:" +#~ msgstr "Fellout a ra da %s kas deoc'h ur restr:" + +#~ msgid "Name: " +#~ msgstr "Anv:" + +#~ msgid "Pause" +#~ msgstr "Ehan" + +#, fuzzy +#~ msgid "Execute Command" +#~ msgstr "urzhiad" + +#~ msgid "Type: " +#~ msgstr "Doare:" + +#~ msgid "Transferred: " +#~ msgstr "Treuzkaset:" + +#~ msgid "Completed" +#~ msgstr "Echu" + +#~ msgid "Transferring" +#~ msgstr "O treuzkas" + +#~ msgid "Not started" +#~ msgstr "N'eo ket kroget" + +#, fuzzy +#~ msgid "%s day" +#~ msgid_plural "%s days" +#~ msgstr[0] "%i devezh 'zo" +#~ msgstr[1] "%i devezh 'zo" + +#, fuzzy +#~ msgid "" +#~ "Your desired nickname in group chat\n" +#~ "%s\n" +#~ "is in use or registered by another occupant.\n" +#~ "Please specify another nickname below:" +#~ msgstr "" +#~ "Le surnom que vous vouliez utiliser est actuellement utilisé ou " +#~ "enregistré par un autre occupant.\n" +#~ "Veuillez entrer un autre surnom ci-dessous :" + +#, fuzzy +#~ msgid "_Configure" +#~ msgstr "_Kenderc'hel" + +#, fuzzy +#~ msgid "Change the avatar" +#~ msgstr "Darempred diluget" + +#, fuzzy +#~ msgid "add" +#~ msgstr "Chomlec'h" + +#, fuzzy +#~ msgid "modify" +#~ msgstr "_Kemmañ" + +#, fuzzy +#~ msgid "remove" +#~ msgstr "_Dilemel" + +#, fuzzy +#~ msgid "Restored Message Color" +#~ msgstr "_Distreiñ gant al livioù dre-ziouer" + +#, fuzzy +#~ msgid "Send Cus_tom Status" +#~ msgstr "Goulenn evit gwelet e/he stad" + +#, fuzzy +#~ msgid "" +#~ "You are about to send a custom status. Are you sure you want to continue?" +#~ msgstr "Rankout a rit krouiñ ur gont a-raok gellout flapiñ gant tud all." + +#, fuzzy +#~ msgid "" +#~ msgstr "Titl" + +#, fuzzy +#~ msgid "You are about to block a contact. Are you sure you want to continue?" +#~ msgstr "Rankout a rit krouiñ ur gont a-raok gellout flapiñ gant tud all." + +#~ msgid "To:" +#~ msgstr "Da:" + +#~ msgid "0" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Reconnect when connection is lost" +#~ msgstr "Adkevreañ war-eeun pa vez kollet ar gevreadenn" + +#, fuzzy +#~ msgid "Server Message Archive" +#~ msgstr "_Kas ur gemennadenn d'ar servijer" + +#, fuzzy +#~ msgid "Message Carbons" +#~ msgstr "Kemennadennoù" + +#, fuzzy +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "Aotren e vefe kaset titouroù diwar-benn an _OS" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the idle time of your system" +#~ msgstr "" +#~ "Si cette case est cochée, Gajim se connectera à ce salon au démarrage" + +#, fuzzy +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "Aotren e vefe kaset titouroù diwar-benn an _OS" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the local time on your system" +#~ msgstr "" +#~ "Si cette case est cochée, Gajim se connectera à ce salon au démarrage" + +#, fuzzy +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "Aotren e vefe kaset titouroù diwar-benn an _OS" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the operating system you are " +#~ "using" +#~ msgstr "" +#~ "Si cette case est cochée, Gajim se connectera à ce salon au démarrage" + +#, fuzzy +#~ msgid "" +#~ "If checked, incoming events from unauthorized contacts will be ignored. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster." +#~ msgstr "" +#~ "Cochez cette option seulement si quelqu'un n'appartenant pas à votre " +#~ "liste vous spamme/ennuie. Utilisez la avec précaution, car elle bloque " +#~ "tous les messages des contacts qui ne sont pas dans votre liste" + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." +#~ msgstr "" +#~ "Gajim peut envoyer et recevoir des meta-informations concernant les " +#~ "conversations que vous pouvez avoir avec un contact. Vous pouvez ici " +#~ "spécifier quel état de conversation vous voulez envoyer à vos contacts" + +#, fuzzy +#~ msgid "S_end chat state notifications" +#~ msgstr "Titou_roù-stad ar flap:" + +#, fuzzy +#~ msgid "Login Options" +#~ msgstr "Boulomelloù:" + +#, fuzzy +#~ msgid "Please wait while retrieving search form..." +#~ msgstr "Gortozit marplij e keit ma vez dilec'hiet an istoradur..." + +#, fuzzy +#~ msgid "_Add contact" +#~ msgstr "Ouzhpennañ un _darempred" + +#, fuzzy +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "Gortozit marplij e keit ma vez dilec'hiet an istoradur..." + +#, fuzzy +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "Gortozit marplij e keit ma vez dilec'hiet an istoradur..." + +#, fuzzy +#~ msgid "F_inish" +#~ msgstr "_Echuiñ" + +#~ msgid "Failed to get secret keys" +#~ msgstr "Fazi en ur dapout an alc'hwezhioù kuzh" + +#, fuzzy +#~ msgid "There is no OpenPGP secret key available." +#~ msgstr "" +#~ "Bez ez eus bet ur gudenn en ur gargañ hoc'h alc'hwezhioù-kuzh OpenPGP." + +#~ msgid "OpenPGP Key Selection" +#~ msgstr "Dibab un alc'hwezh OpenPGP" + +#~ msgid "Choose your OpenPGP key" +#~ msgstr "Dibabit hoc'h alc'hwezh OpenPGP" + +#~ msgid "KeyID" +#~ msgstr "KeyID" + +#~ msgid "Contact name" +#~ msgstr "Anv an darempred" + +#, fuzzy +#~ msgid "OpenPGP is not usable" +#~ msgstr "N'eus ket tu da implij OpenPGP war an urzhiataer-mañ" + +#~ msgid "Assign OpenPGP Key" +#~ msgstr "Assigner une clé OpenPGP" + +#, fuzzy +#~ msgid "Select a key to apply to the contact" +#~ msgstr "Dibabit un alc'hwezh da" + +#~ msgid "You are currently connected without your OpenPGP key." +#~ msgstr "Luget oc'h hep hoc'h alc'hwezh OpenPGP." + +#, fuzzy +#~ msgid "Wrong passphrase" +#~ msgstr "Ger-kuzh faos" + +#, fuzzy +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "Ger-kuzh faos" + +#~ msgid "Passphrase Required" +#~ msgstr "Ger-kuzh ret" + +#, fuzzy +#~ msgid "" +#~ "Enter OpenPGP key passphrase for key %(keyid)s (account %(account)s)." +#~ msgstr "Roit ho ker-kuzh GPG evit ar gont %s." + +#, fuzzy +#~ msgid "OpenPGP key expired" +#~ msgstr "Dibab un alc'hwezh OpenPGP" + +#, fuzzy +#~ msgid "" +#~ "Your OpenPGP key has expired, you will be connected to %s without OpenPGP." +#~ msgstr "Luget e voc'h da %s hep OpenPGP." + +#~ msgid "Wrong Passphrase" +#~ msgstr "Ger-kuzh faos" + +#, fuzzy +#~ msgid "Please retype your OpenPGP passphrase or press Cancel." +#~ msgstr "Adroit ho ker-kuzh GPG pe pouezit war Nullañ." + +#, fuzzy +#~ msgid "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Envoyer un nouveau message à un contact dans la liste. La clé OpenPGP et " +#~ "le compte sont facultatifs. Si vous voulez renseigner seulement le " +#~ "paramètre 'compte' sans 'clé pgp', mettez simple la valeur '' pour 'clé " +#~ "pgp'." + +#, fuzzy +#~ msgid "" +#~ "Sends a chat message to someone on your roster. Optionally with OpenPGP " +#~ "key and account. If you want to only set the latter, set OpenPGP key to " +#~ "\"\"." +#~ msgstr "" +#~ "Envoyer un nouveau message à un contact dans la liste. La clé OpenPGP et " +#~ "le compte sont facultatifs. Si vous voulez renseigner seulement le " +#~ "paramètre 'compte' sans 'clé pgp', mettez simple la valeur '' pour 'clé " +#~ "pgp'." + +#, fuzzy +#~ msgid "OpenPGP:" +#~ msgstr "OpenPGP : " + +#, fuzzy +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "Assigner une clé OpenPGP" + +#, fuzzy +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "Encryption OpenPGP" + +#, fuzzy +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "Kemennadenn o _tegouezhout:" + +#, fuzzy +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "N'eus ket tu en em lugañ" + +#, fuzzy +#~ msgid "OpenPGP Key" +#~ msgstr "Assigner une clé OpenPGP" + +#, fuzzy +#~ msgid "Cancel confirmation" +#~ msgstr "Titouroù" + +#, fuzzy +#~ msgid "You are invited to a groupchat" +#~ msgstr "Vous êtes banni de ce salon." + +#~ msgid "_Start Chat" +#~ msgstr "_Kregiñ da flapiñ" + +#, fuzzy +#~ msgid "Au_thorize" +#~ msgstr "_Aotren" + +#~ msgid "You are currently connected to the server" +#~ msgstr "Luget oc'h d'ar servijer" + +#, fuzzy +#~ msgid "To disable the account, you must be disconnected." +#~ msgstr "Rankout a rit bezañ diluget evit cheñch anv ar gont." + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with %(jid)s?" +#~ msgstr "Ha fellout a ra deoc'h da vat diverkañ ar gemennadenn ziuzet?" + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with the selected contacts?" +#~ msgstr "Ha sur oc'h e fell deoc'h diverkañ istoradur an darempred-mañ?" + +#, fuzzy +#~ msgid "This can not be undone." +#~ msgstr "N'eo ket bet kavet ar servij" + +#~ msgid "What do you want to do?" +#~ msgstr "Petra 'fell deoc'h ober ?" + +#~ msgid "Stopped" +#~ msgstr "Arsavet" + +#, fuzzy +#~ msgid "Status messages displayed in chat window" +#~ msgstr "Kas ar gemennadenn ha serriñ ar prenestr" + +#, fuzzy +#~ msgid "?print_status:All" +#~ msgstr "Diskouez an eur:" + +#, fuzzy +#~ msgid "?print_status:None" +#~ msgstr "Diskouez an eur:" + +#, fuzzy +#~ msgid "D-Bus does not run correctly on this machine: system bus not present" +#~ msgstr "" +#~ "N'eus ket eus D-Bus war an urzhiataer-mañ, pe mankout a ra ur mollad " +#~ "python" + +#, fuzzy +#~ msgid "" +#~ "D-Bus does not run correctly on this machine: session bus not present" +#~ msgstr "" +#~ "N'eus ket eus D-Bus war an urzhiataer-mañ, pe mankout a ra ur mollad " +#~ "python" + +#, fuzzy +#~ msgid "Command line Control" +#~ msgstr "Urzhioù: %s" + +#~ msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +#~ msgstr "%(nick)s a zo bet skarzhet gant %(who)s : %(reason)s" + +#~ msgid "%(nick)s has been banned by %(who)s: %(reason)s" +#~ msgstr "%(nick)s a zo argaset gant %(who)s : %(reason)s" + +#, fuzzy +#~ msgid "** Role of %(nick)s has been set to %(role)s" +#~ msgstr "%(nick)s a zo bet skarzhet : %(reason)s" + +#~ msgid "%s has left" +#~ msgstr "Aet eo kuit %s" + +#, fuzzy +#~ msgid "%s is full" +#~ msgstr "Sonioù" + +#, fuzzy +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "Diskouez titouroù-stad an darempredoù e-barzh ar roll" + +#, fuzzy +#~ msgid "" +#~ "You are about to send your password unencrypted on an insecure " +#~ "connection. Are you sure you want to do that?" +#~ msgstr "Rankout a rit krouiñ ur gont a-raok gellout flapiñ gant tud all." + +#, fuzzy +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "Implij an diskleriañ" + +#, fuzzy +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "Implij an diskleriañ" + +#, fuzzy +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "Implij an diskleriañ" + +#, fuzzy +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." +#~ msgstr "" +#~ "Gajim peut envoyer et recevoir des meta-informations concernant les " +#~ "conversations que vous pouvez avoir avec un contact. Vous pouvez ici " +#~ "spécifier quel état de conversation vous voulez envoyer à vos contacts" + +#, fuzzy +#~ msgid "This is an irreversible operation." +#~ msgstr "Setu un ober n'eus ket tu da vont war e giz." + +#~ msgid "Settings" +#~ msgstr "Dibarzhioù" + +#, fuzzy +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "Merour istoradur Gajim" + +#~ msgid "Member List" +#~ msgstr "Roll an izili" + +#~ msgid "Owner List" +#~ msgstr "Roll ar perc'hennerien" + +#~ msgid "Administrator List" +#~ msgstr "Roll ar verourien" + +#~ msgid "Nick" +#~ msgstr "Lesanv" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "Piv a fell deoc'h argas ?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Member…" +#~ msgstr "Oc'h ouzhpennañ un ezel..." + +#~ msgid "" +#~ "Whom do you want to make a member?\n" +#~ "\n" +#~ msgstr "" +#~ "Piv a fell deoc'h lakaat da ezel ?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Owner…" +#~ msgstr "Oc'h ouzhpennañ ur perc'henn..." + +#, fuzzy +#~ msgid "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" +#~ msgstr "" +#~ "Piv a fell deoc'h lakaat da berc'henn ?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Administrator…" +#~ msgstr "Oc'h ouzhpennañ ur v-merour-ez..." + +#~ msgid "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" +#~ msgstr "" +#~ "Piv a fell deoc'h lakaat da verour-ez ?\n" +#~ "\n" + +#~ msgid "Error reading file:" +#~ msgstr "Fazi en ur lenn ar restr:" + +#~ msgid "Description" +#~ msgstr "Taolennadur" + +#, fuzzy +#~ msgid "Password encryption" +#~ msgstr "Ne glot ket ar gerioù-kuzh" + +#, fuzzy +#~ msgid "Automatic status" +#~ msgstr "Goulenn evit gwelet e/he stad" + +#, fuzzy +#~ msgid "?features:Available" +#~ msgstr "Hegerz" + +#, fuzzy +#~ msgid "Feature" +#~ msgstr "Perzhioù ar servijerien" + +#~ msgid "Filter:" +#~ msgstr "Sil:" + +#, fuzzy +#~ msgid "Chat Appearance" +#~ msgstr "Furmad ul linenn" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed out" +#~ msgstr "" +#~ "Gajim vous signalera par une fenêtre de notification en bas à droite de " +#~ "l'écran qu'un contact s'est déconnecté" + +#~ msgid "Sounds" +#~ msgstr "Sonioù" + +#, fuzzy +#~ msgid "Chat state notifications" +#~ msgstr "Kelaouennoù dre welet" + +#, fuzzy +#~ msgid "_Away after" +#~ msgstr "Bezañ lakaet da _ezvezant war-lerc'h:" + +#, fuzzy +#~ msgid "_Not available after" +#~ msgstr "Bezañ lakaet evel _dihegerz war-lerc'h:" + +#, fuzzy +#~ msgid "Auto Status" +#~ msgstr "Poelladoù" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "Titouroù-stad raklakaet" + +#, fuzzy +#~ msgid "Audio" +#~ msgstr "Poelladoù" + +#, fuzzy +#~ msgid "Video" +#~ msgstr "Furmad ul linenn" + +#, fuzzy +#~ msgid "Connection" +#~ msgstr "Sonioù" + +#~ msgid "Custom" +#~ msgstr "Personelaet" + +#, fuzzy +#~ msgid "Privacy" +#~ msgstr "Perzhioù" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "Aozer kefluniañ munut" + +#, fuzzy +#~ msgid "File transfer, room bookmarks" +#~ msgstr "Fazi treuzkas" + +#, fuzzy +#~ msgid "XML console interface" +#~ msgstr "Console _XML..." + +#, fuzzy +#~ msgid "(ESession info)" +#~ msgstr "Taolennadur" + +#~ msgid "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" +#~ msgstr "" +#~ "M'eo lazhet, ne vo ket erlec'hiet ar voulomelloù ascii doare ':)' gant " +#~ "boulomelloù grafikel fiñv pe difiñv" + +#, fuzzy +#~ msgid "_Emoticons" +#~ msgstr "Boulomelloù:" + +#~ msgid "_Highlight misspelled words" +#~ msgstr "_Islinennañ ar fazioù reizhskrivañ" + +#, fuzzy +#~ msgid "T_heme" +#~ msgstr "_Gwiskadur:" + +#, fuzzy +#~ msgid "Themes" +#~ msgstr "Perzhioù" + +#, fuzzy +#~ msgid "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." +#~ msgstr "" +#~ "Jabberd1.4 n'aime pas l'information sha quand on rejoint un salon protégé " +#~ "par un mot de passe. Passer cette option a Faux pour ne plus envoyer " +#~ "l'information sha dans les présences des salons" + +#, fuzzy +#~ msgid "Presence" +#~ msgstr "_Bezañs" + +#, fuzzy +#~ msgid "Emoticons disabled" +#~ msgstr "Lazhet eo ar sifrañ" + +#, fuzzy +#~ msgid "You cannot make changes to the default theme" +#~ msgstr "N'hellit ket dilemel ar gwiskadur red" + +#~ msgid "theme name" +#~ msgstr "anv ar gwiskadur" + +#~ msgid "You cannot delete your current theme" +#~ msgstr "N'hellit ket dilemel ar gwiskadur red" + +#~ msgid "New Single Message from %(nickname)s" +#~ msgstr "Kemennadenn simpl nevez digant %(nickname)s" + +#, fuzzy +#~ msgid "New Private Message from group chat %s" +#~ msgstr "Kemennadenn hiniennel nevez digant ar sal %s" + +#~ msgid "%(nickname)s: %(message)s" +#~ msgstr "%(nickname)s : %(message)s" + +#, fuzzy +#~ msgid "Messaged by %(nickname)s" +#~ msgstr "Kemennadenn nevez digant %(nickname)s" + +#, fuzzy +#~ msgid "Status message text color." +#~ msgstr "korf ar gemennadenn stad" + +#, fuzzy +#~ msgid "Incoming nickname font." +#~ msgstr "Anv-arveriad-ez direizh" + +#, fuzzy +#~ msgid "Status message text font." +#~ msgstr "korf ar gemennadenn stad" + +#~ msgid "green" +#~ msgstr "Glas" + +#~ msgid "human" +#~ msgstr "Mab-den" + +#~ msgid "marine" +#~ msgstr "Glas-mor" + +#, fuzzy +#~ msgid "Contact row" +#~ msgstr "Darempredoù" + +#~ msgid "Gajim Themes Customization" +#~ msgstr "Personelaat gwiskadurioù Gajim" + +#~ msgid "Text _color:" +#~ msgstr "_Liv ar skrid:" + +#~ msgid "_Background:" +#~ msgstr "_Drekleur:" + +#~ msgid "Text _font:" +#~ msgstr "_Nodrezh ar skrid:" + +#~ msgid "Font style:" +#~ msgstr "Neuz an nodrezh:" + +#~ msgid "Paused" +#~ msgstr "Ehan" + +#~ msgid "Gone" +#~ msgstr "Aet kuit" + +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "" +#~ "Kemennadennoù\n" +#~ "webgaoz" + +#~ msgid "Chatstate Tab Colors" +#~ msgstr "Liv-stad an ivinelloù" + +#, fuzzy +#~ msgid "Chat message" +#~ msgstr "_Titour-stad:" + +#, fuzzy +#~ msgid "Font" +#~ msgstr "Sonioù" + +#, fuzzy +#~ msgid "Contact's nickname" +#~ msgstr "Anv an darempred" + +#, fuzzy +#~ msgid "_Status message" +#~ msgstr "_Titour-stad:" + +#, fuzzy +#~ msgid "Your message" +#~ msgstr "Fazi en ur lenn ar restr:" + +#, fuzzy +#~ msgid "Chat Line Colors" +#~ msgstr "Liv-stad an ivinelloù" + +#, fuzzy +#~ msgid "Jabber ID:" +#~ msgstr "ID Jabber:" + +#, fuzzy +#~ msgid "Resource:" +#~ msgstr "Une erreur de protocole s'est produite :" + +#, fuzzy +#~ msgid "Status:" +#~ msgstr "Dibarzhioù" + +#, fuzzy +#~ msgid "Client:" +#~ msgstr "Personelaet" + +#, fuzzy +#~ msgid "Contact time:" +#~ msgstr "Dibarzhioù" + +#, fuzzy +#~ msgid "Ask:" +#~ msgstr "Poelladoù" + +#, fuzzy +#~ msgid "Subscription:" +#~ msgstr "Taolennadur" + +#, fuzzy +#~ msgid "Name:" +#~ msgstr "Personelaet" + +#, fuzzy +#~ msgid "Nickname:" +#~ msgstr "Lesanv:" + +#, fuzzy +#~ msgid "Street:" +#~ msgstr "Dibarzhioù" + +#, fuzzy +#~ msgid "City:" +#~ msgstr "Personelaet" + +#, fuzzy +#~ msgid "State:" +#~ msgstr "Dibarzhioù" + +#, fuzzy +#~ msgid "Extra Address:" +#~ msgstr "Chomlec'h 2:" + +#, fuzzy +#~ msgid "Postal Code:" +#~ msgstr "Kod postel:" + +#, fuzzy +#~ msgid "Country:" +#~ msgstr "Sonioù" + +#, fuzzy +#~ msgid "Homepage:" +#~ msgstr "Lec'hienn hiniennel:" + +#, fuzzy +#~ msgid "E-Mail:" +#~ msgstr "Postel:" + +#, fuzzy +#~ msgid "Phone No.:" +#~ msgstr "Pellgomz:" + +#, fuzzy +#~ msgid "Birthday:" +#~ msgstr "Deiz-ha-bloaz:" + +#, fuzzy +#~ msgid "Family:" +#~ msgstr "Familh:" + +#, fuzzy +#~ msgid "Middle:" +#~ msgstr "Furmad ul linenn" + +#, fuzzy +#~ msgid "Prefix:" +#~ msgstr "Perzhioù" + +#, fuzzy +#~ msgid "Given:" +#~ msgstr "OpenPGP" + +#, fuzzy +#~ msgid "Suffix:" +#~ msgstr "Sonioù" + +#, fuzzy +#~ msgid "Full Name" +#~ msgstr "Personelaet" + +#, fuzzy +#~ msgid "Company:" +#~ msgstr "Personelaet" + +#, fuzzy +#~ msgid "Department:" +#~ msgstr "Departamant:" + +#, fuzzy +#~ msgid "Position:" +#~ msgstr "Sonioù" + +#, fuzzy +#~ msgid "Role:" +#~ msgstr "Sonioù" + +#~ msgid "Edit %s" +#~ msgstr "Kemmañ %s" + +#~ msgid "Conversation History with %s" +#~ msgstr "Istoradur flapiñ gant %s" + +#~ msgid "Contact with \"%s\" cannot be established" +#~ msgstr "N'eus ket tu da dizhout \"%s\"" + +#~ msgid "Registration information for transport %s has not arrived in time" +#~ msgstr "" +#~ "L'information d'enregistrement pour la passerelle %s n'est pas arrivée à " +#~ "temps" + +#~ msgid "Register to" +#~ msgstr "En em enrollañ war" + +#, fuzzy +#~ msgid "Enter name / JID of contact or groupchat" +#~ msgstr "Anv an darempred" + +#, fuzzy +#~ msgid "Search:" +#~ msgstr "Klask" + +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "Rankout a rit bezañ luget evit cheñch ger-kuzh." + +#~ msgid "Invalid password" +#~ msgstr "Ger-kuzh direizh" + +#~ msgid "The passwords typed in both fields must be identical." +#~ msgstr "Rankout a ra an daou c'her-kuzh bezañ heñvel en daou dakad." + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "Roit anezhañ en-dro evit kadarnaat:" + +#, fuzzy +#~ msgid "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" +#~ msgstr "" +#~ "je Jid %s ne respecte pas la norma RFC. Il ne sera pas ajouté a votre " +#~ "liste de contact. Utiliser un outil de gestion de liste de contact tel " +#~ "que http://jru.jabberstudio.org/ pour le supprimer" + +#~ msgid "unsubscribe request from %s" +#~ msgstr "Requête de désinscription de la part de %s" + +#, fuzzy +#~ msgid "Homepage:" +#~ msgstr "Lec'hienn hiniennel:" + +#~ msgid "Manage Bookmarks" +#~ msgstr "Merañ ar sinedoù" + +#, fuzzy +#~ msgid "_Nickname:" +#~ msgstr "Lesanv:" + +#, fuzzy +#~ msgid "Pr_int status:" +#~ msgstr "Diskouez an eur:" + +#, fuzzy +#~ msgid "Add JID" +#~ msgstr "ID Jabber:" + +#, fuzzy +#~ msgid "Preference:" +#~ msgstr "Penndibaboù" + +#, fuzzy +#~ msgid "Preference" +#~ msgstr "Penndibaboù" + +#, fuzzy +#~ msgid "JID:" +#~ msgstr "Ho JID:" + +#, fuzzy +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "Leuniit titouroù an darempred a zo da vezañ ouzhpennet er gont %s" + +#~ msgid "Please fill in the data of the contact you want to add" +#~ msgstr "Leuniit an titouroù diwar-benn an darempred da ouzhpennañ" + +#, fuzzy +#~ msgid "Recently" +#~ msgstr "Nevez 'zo:" + +#~ msgid "Add New Contact" +#~ msgstr "Ouzhpennañ un darempred nevez" + +#, fuzzy +#~ msgid "_User ID:" +#~ msgstr "ID arveriad-ez:" + +#, fuzzy +#~ msgid "Type User ID" +#~ msgstr "ID arveriad-ez:" + +#, fuzzy +#~ msgid "Type Nickname" +#~ msgstr "Lesanv" + +#~ msgid "Personal Information" +#~ msgstr "Titouroù hiniennel" + +#, fuzzy +#~ msgid "Avatar:" +#~ msgstr "Dibab ur _skeudenn" + +#, fuzzy +#~ msgid "Remove Avatar" +#~ msgstr "_Dilemel" + +#, fuzzy +#~ msgid "Yahoo! Address:" +#~ msgstr "Chomlec'h 2:" + +#, fuzzy +#~ msgid "Forward unread messages" +#~ msgstr "Gajim - %d gemennadenn nevez" + +#, fuzzy +#~ msgid "Forward unread message then disconnect" +#~ msgstr "Gajim - %d gemennadenn nevez" + +#, fuzzy +#~ msgid "MSN Address:" +#~ msgstr "_Chomlec'h:" + +#, fuzzy +#~ msgid "End to End message encryption" +#~ msgstr "Encryption OpenPGP" + +#, fuzzy +#~ msgid "Encrypting chat messages." +#~ msgstr "Kemennadenn o _tegouezhout:" + +#, fuzzy +#~ msgid "This session is encrypted" +#~ msgstr "[Sifret eo ar gemennadenn-mañ]" + +#, fuzzy +#~ msgid "end-to-end encryption disabled" +#~ msgstr "Lazhet eo ar sifrañ" + +#, fuzzy +#~ msgid "Unable to decrypt message" +#~ msgstr "Da _bep kemennadenn:" + +#, fuzzy +#~ msgid "Save Image as…" +#~ msgstr "Enrollañ ar restr dindan..." + +#, fuzzy +#~ msgid "Exporting History Logs…" +#~ msgstr "Oc'h ezporzhiañ an istoradur..." + +#~ msgid "When %s becomes:" +#~ msgstr "Pa teu %s da vezañ:" + +#~ msgid "Adding Special Notification for %s" +#~ msgstr "Oc'h ouzhpennañ ur gelaouenn nevez evit %s" + +#, fuzzy +#~ msgid "Unable to load idle module" +#~ msgstr "Impossible de rejoindre le salon" + +#, fuzzy +#~ msgid "%s or %s is a directory but should be a file" +#~ msgstr "ur renkell eo %s met rankout a rafe bezañ ur restr" + +#~ msgid "creating logs database" +#~ msgstr "o krouiñ titourva an istoradur" + +#, fuzzy +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "Kas %s" + +#, fuzzy +#~ msgid "Rename account label" +#~ msgstr "Merañ ar c'hontoù" + +#, fuzzy +#~ msgid "Send Single Message..." +#~ msgstr "Kas ur gemennadenn _simpl..." + +#, fuzzy +#~ msgid "E2E encryption disabled" +#~ msgstr "Lazhet eo ar sifrañ" + +#~ msgid "cyan" +#~ msgstr "Cyan" + +#, fuzzy +#~ msgid "migrating logs database to indices" +#~ msgstr "o krouiñ titourva an istoradur" + +#, fuzzy +#~ msgid "Send File..." +#~ msgstr "Kas ur _restr" + +#, fuzzy +#~ msgid "Jingle File Transfer" +#~ msgstr "Treuzkasoù" + +#~ msgid "Shows or hides the roster window" +#~ msgstr "Diskouez pe kuzhat ar prenestr pennañ" + +#, fuzzy +#~ msgid "Shows or hides the ipython window" +#~ msgstr "Diskouez pe kuzhat ar prenestr pennañ" + +#, fuzzy +#~ msgid "XMPP account %s" +#~ msgstr "eus ar gont %s" + +#, fuzzy +#~ msgid "Exception" +#~ msgstr "Taolennadur" + +#, fuzzy +#~ msgid "" +#~ "someone@somewhere.com would like you to add some contacts " +#~ "in your roster." +#~ msgstr "Me blijfe din ouzhpennañ ac'hanoc'h em roll-darempredoù." + +#~ msgid "_Actions" +#~ msgstr "_Oberoù" + +#, fuzzy +#~ msgid "You are already in group chat %s" +#~ msgstr "Emaoc'h er webgaoz %s dija" + +#~ msgid "Join Group Chat with account %s" +#~ msgstr "Ebarzhiñ ur sal-flapiñ gant ar gont %s" + +#, fuzzy +#~ msgid "" +#~ "You have to choose an account from which you want to join the groupchat." +#~ msgstr "Rankout a rit krouiñ ur gont a-raok gellout flapiñ gant tud all." + +#, fuzzy +#~ msgid "Please enter the group chat JID as room@server." +#~ msgstr "Bez ez eus arouezioù difennet en anv ar sal pe hini ar servijer." + +#, fuzzy +#~ msgid "The group chat JID contains invalid characters." +#~ msgstr "Bez ez eus arouezioù difennet en anv ar sal pe hini ar servijer." + +#~ msgid "Start Chat with account %s" +#~ msgstr "Kregiñ da flapiñ gant ar gont %s" + +#, fuzzy +#~ msgid "" +#~ "Fill in the nickname or the JID of the contact you would like\n" +#~ "to send a chat message to:" +#~ msgstr "" +#~ "Roit ID an darempred a fell deoc'h kas ur gemennadenn\n" +#~ "dezhañ:" + +#, fuzzy +#~ msgid "Nickname / JID" +#~ msgstr "Eilañ an ID Jabber" + +#~ msgid "Shows the chat dialog so that you can send messages to a contact" +#~ msgstr "" +#~ "A ziskouez ar prenestr flapiñ evit ma c'hellfec'h kas ur gemennadenn d'un " +#~ "darempred" + +#~ msgid "JID of the contact that you want to chat with" +#~ msgstr "JID an darempred ho peus c'hoant flapiñ gantañ" + +#~ msgid "Adds contact to roster" +#~ msgstr "Ouzhennañ an darempred d'ar roll" + +#, fuzzy +#~ msgid "Adds new contact to this account" +#~ msgstr "Ouzhpennañ un darempred nevez d'ar gont-mañ." + +#, fuzzy +#~ msgid "Starts chat, using this account" +#~ msgstr "Kregiñ da flapiñ gant ar gont %s" + +#, fuzzy +#~ msgid "Message content" +#~ msgstr "korf ar gemennadenn" + +#, fuzzy +#~ msgid "Join a MUC room" +#~ msgstr "_Ebarzhiñ ur webgaoz nevez" + +#, fuzzy +#~ msgid "Nickname to use" +#~ msgstr "N'eus ket bet kavet al lesanv : %s" + +#, fuzzy +#~ msgid "Password to enter the room" +#~ msgstr "Ne glot ket ar gerioù-kuzh" + +#, fuzzy +#~ msgid "Wrong URI" +#~ msgstr "Ger-kuzh faos" + +#~ msgid "Nickname:" +#~ msgstr "Lesanv:" + +#~ msgid "Server:" +#~ msgstr "Servijer:" + +#, fuzzy +#~ msgid "Join this room _automatically when I connect" +#~ msgstr "Aozañ ma aelad pa lugan" + +#, fuzzy +#~ msgid "Bro_wse Rooms" +#~ msgstr "_Furchal" + +#, fuzzy +#~ msgid "Network-Watcher" +#~ msgstr "Merour an istoradur" + +#, fuzzy +#~ msgid "Hides the buttons in chat windows." +#~ msgstr "A guzha an nozelennoù er prenestroù webgaoz" + +#, fuzzy +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "_Ouzhpennañ ar webgaoz d'ar sinedoù" + +#, fuzzy +#~ msgid "Show advanced functions (Alt+D)" +#~ msgstr "Klikit evit enlakaat ur boulomell (Alt+M)" + +#, fuzzy +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "Ouzhennañ an darempred d'ar roll" + +#, fuzzy +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "a zo aketus d'ar gaozeadenn" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Ouzhennañ an darempred d'ar roll" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Ouzhennañ an darempred d'ar roll" + +#, fuzzy +#~ msgid "Ma_ke message windows compact" +#~ msgstr "Ur prenestr-flapiñ:" + +#, fuzzy +#~ msgid "Hide all buttons in chat windows" +#~ msgstr "A guzha an nozelennoù er prenestroù webgaoz" + +#, fuzzy +#~ msgid "Hide the chat buttons" +#~ msgstr "Usage: /%s, cache les boutons de discussion." + +#, fuzzy +#~ msgid "?CLI:nick" +#~ msgstr "Lesanv" + +#, fuzzy +#~ msgid "?CLI:password" +#~ msgstr "Ger-kuzh:" + +#, fuzzy +#~ msgid "Use D-Bus and Notification-Daemon to show notifications" +#~ msgstr "" +#~ "Implij DBus ha Notification-Daemon evit diskouez ar c'hemennadennoù-" +#~ "kelaouiñ" + +#, fuzzy +#~ msgid "Notification" +#~ msgstr "Kemmañ ar gont" + +#, fuzzy +#~ msgid "Ignore" +#~ msgstr "_Kenderc'hel" + +#, fuzzy +#~ msgid "_Open Gmail Inbox" +#~ msgstr "_Digeriñ ar bostelerez" + +#, fuzzy +#~ msgid "Notify on new _GMail email" +#~ msgstr "Ma c'helaouiñ evit ar c'hemennadennoù _Gmail nevez" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will also include information about the sender of new " +#~ "emails" +#~ msgstr "" +#~ "Si cette case est cochée, Gajim affichera l'avatar de chaque contact dans " +#~ "la fenêtre principale et les salons" + +#, fuzzy +#~ msgid "GMail Options" +#~ msgstr "Poelladoù" + +#, fuzzy +#~ msgid "20" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Invited %s to %s" +#~ msgstr "Kas %s" + +#, fuzzy +#~ msgid "GMail Email Received" +#~ msgstr "Resevet ar bedadenn" + +#, fuzzy +#~ msgid "New e-mail on %(gmail_mail_address)s" +#~ msgstr "Postel nevez war %(gmail_mail_address)s" + +#, fuzzy +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "Bez ho peus %d postel nevez" +#~ msgstr[1] "Bez ho peus %d postel nevez" + +#, fuzzy +#~ msgid "Anonymous authentication" +#~ msgstr "Implij an diskleriañ" + +#, fuzzy +#~ msgid "Synchronize contacts" +#~ msgstr "Diskouez an darempredoù _ezlinenn" + +#~ msgid "Chan_ge Password" +#~ msgstr "C_heñch ar ger-kuzh" + +#, fuzzy +#~ msgid "Administration operations" +#~ msgstr "Roll ar verourien" + +#, fuzzy +#~ msgid "Browse..." +#~ msgstr "_Furchal" + +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "" +#~ "M'eo diuzet, ec'h emlugo Gajim da jabber en ur implij ar gont-mañ en ur " +#~ "loc'hañ" + +#, fuzzy +#~ msgid "Synchronize logs with server" +#~ msgstr "Diskouez an darempredoù _ezlinenn" + +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "M'eo enaouet, kement cheñchamant graet war ar stad hollek (meret gant ar " +#~ "voestig e traoñ ar roll-darempredoù) a gemmo stad ar gont-mañ ivez" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "Si cette case est cochée, Gajim va diffuser des adresses IP en plus de la " +#~ "votre, les transferts de fichiers ont ainsi plus de chance de fonctionner." + +#, fuzzy +#~ msgid "Proxy" +#~ msgstr "Perzhioù" + +#, fuzzy +#~ msgid "Send _keep-alive packets" +#~ msgstr "Kas ar pakadoù derc'hel al lugadenn vev" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "" +#~ "Si cette case est cochée, Gajim enverra des paquets de maintien de " +#~ "connexion pour prévenir des temps de latence pouvant entraîner des " +#~ "déconnexions" + +#, fuzzy +#~ msgid "Use cust_om hostname/port" +#~ msgstr "Implij un anv ostiz/porzh personelaet" + +#, fuzzy +#~ msgid "_Hostname: " +#~ msgstr "Servijer:" + +#, fuzzy +#~ msgid "_Port: " +#~ msgstr "_Porzh:" + +#~ msgid "Choose _Key..." +#~ msgstr "Dibabit un _alc'hwezh..." + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "" +#~ "Si cette case est cochée, Gajim va retenir le mot de passe pour ce compte" + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#, fuzzy +#~ msgid "_Edit Personal Information..." +#~ msgstr "Kemmañ an titouroù hiniennel..." + +#~ msgid "Personal Information" +#~ msgstr "Titouroù hiniennel" + +#, fuzzy +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "K_evreañ en ur loc'hañ Gajim" + +#, fuzzy +#~ msgid "Use cust_om port:" +#~ msgstr "Implij un anv ostiz/porzh personelaet" + +#, fuzzy +#~ msgid "OpenPGP is not usable on this computer" +#~ msgstr "N'eus ket tu da implij OpenPGP war an urzhiataer-mañ" + +#~ msgid "To change the account name, you must be disconnected." +#~ msgstr "Rankout a rit bezañ diluget evit cheñch anv ar gont." + +#~ msgid "To change the account name, you must read all pending events." +#~ msgstr "" +#~ "Rankout a rit lenn an holl zarvoudoù-mañ evit gellout cheñch anv ar gont." + +#~ msgid "Account Name Already Used" +#~ msgstr "Anv-kont implijet dija" + +#~ msgid "Account name cannot be empty." +#~ msgstr "N'hell ket anv ar gont chom goullo." + +#~ msgid "Account name cannot contain spaces." +#~ msgstr "N'hell ket anv ar gont kaout esaouennoù." + +#, fuzzy +#~ msgid "Enter a new name for account %s" +#~ msgstr "Roit ho ker-kuzh GPG evit ar gont %s." + +#, fuzzy +#~ msgid "A JID must be in the form \"user@servername\"." +#~ msgstr "Un ID Jabber a rank bezañ er stumm \"anv@anvservijer\"." + +#~ msgid "No such account available" +#~ msgstr "Kont dihegerz" + +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "Rankout a rit krouiñ ho kont a-raok kemmañ an titouroù hiniennel." + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "Rankout a rit bezañ luget evit kemmañ ho titouroù hiniennel." + +#, fuzzy +#~ msgid "Your server can't save your personal information." +#~ msgstr "Rankout a rit krouiñ ho kont a-raok kemmañ an titouroù hiniennel." + +#~ msgid "THANKS:" +#~ msgstr "TRUGAREZ DA:" + +#, fuzzy +#~ msgid "Could not write to %s. Session Management support will not work" +#~ msgstr "N'eus ket bet tu skrivañ e-barzh %s." + +#, fuzzy +#~ msgid "_Enable" +#~ msgstr "Enaouiñ" + +#, fuzzy +#~ msgid "Filter" +#~ msgstr "Sonioù" + +#~ msgid "_IQ" +#~ msgstr "_IQ" + +#~ msgid "Info/Query" +#~ msgstr "Titour/Goulenn" + +#, fuzzy +#~ msgid "Last status: %s" +#~ msgstr "Stad diwezhañ: %s" + +#, fuzzy +#~ msgid " since %s" +#~ msgstr "dibaoe %s" + +#~ msgid "since %s" +#~ msgstr "dibaoe %s" + +#, fuzzy +#~ msgid "Prefer" +#~ msgstr "Penndibaboù" + +#, fuzzy +#~ msgid "otr" +#~ msgstr "_Ostiz:" + +#, fuzzy +#~ msgid "Invalid expire value" +#~ msgstr "Anv-arveriad-ez direizh" + +#~ msgid "How many minutes should last lines from previous conversation last." +#~ msgstr "" +#~ "E-pad pet munutenn e rank linennoù diwezhañ ar gaozeadenn kent bezañ " +#~ "gwarezet." + +#~ msgid "You will be connected to %s without OpenPGP." +#~ msgstr "Luget e voc'h da %s hep OpenPGP." + +#, fuzzy +#~ msgid "The following message was NOT encrypted" +#~ msgstr "[Sifret eo ar gemennadenn-mañ]" + +#, fuzzy +#~ msgid "OpenPGP encryption enabled" +#~ msgstr "War enaou emañ ar sifrañ" + +#, fuzzy +#~ msgid "The following message was encrypted" +#~ msgstr "[Sifret eo ar gemennadenn-mañ]" + +#, fuzzy +#~ msgid "Toggle the OpenPGP encryption" +#~ msgstr "Encryption OpenPGP" + +#, fuzzy +#~ msgid "[This message is *encrypted* (See :XEP:`27`]" +#~ msgstr "[Sifret eo ar gemennadenn-mañ]" + +#, fuzzy +#~ msgid "Database cannot be read." +#~ msgstr "N'hell ket anv ar gont chom goullo." + +#, fuzzy +#~ msgid "Smooth scroll message in conversation window" +#~ msgstr "Kas ar gemennadenn ha serriñ ar prenestr" + +#, fuzzy +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "Flapoù prevez" + +#~ msgid "_Administrator" +#~ msgstr "_Merour-ez" + +#, fuzzy +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "A gas ur gemennadenn d'an arveridi luget war ar servijer-mañ" + +#~ msgid "Sets Message of the Day" +#~ msgstr "A laka kemennadenn an devezh" + +#~ msgid "Updates Message of the Day" +#~ msgstr "A hiziva kemennadenn an devez" + +#~ msgid "Deletes Message of the Day" +#~ msgstr "A zilam kemennadenn an devezh" + +#, fuzzy +#~ msgid "Add _Contact..." +#~ msgstr "_Ouzhpennañ un darempred..." + +#, fuzzy +#~ msgid "Profile, A_vatar" +#~ msgstr "Aelad, Avatar" + +#~ msgid "File _Transfers" +#~ msgstr "_Treuzkasoù" + +#~ msgid "Help online" +#~ msgstr "Skoazell enlinenn" + +#~ msgid "Frequently Asked Questions (online)" +#~ msgstr "Marc'had Ar Goulennoù (FAQ enlinenn)" + +#, fuzzy +#~ msgid "Fea_tures" +#~ msgstr "Perzhioù ar servijerien" + +#~ msgid "to %s account" +#~ msgstr "d'ar gont %s" + +#~ msgid "using %s account" +#~ msgstr "en ur implij ar gont %s" + +#~ msgid "of account %s" +#~ msgstr "eus ar gont %s" + +#~ msgid "for account %s" +#~ msgstr "evit ar gont %s" + +#~ msgid "" +#~ "By removing this contact you also remove authorization resulting in him " +#~ "or her always seeing you as offline." +#~ msgstr "" +#~ "En ur zilemel an darempred-mañ, e tilamit ivez e/he aotre. Atav e welo " +#~ "ac'hanoc'h evel pa vefec'h ezlinenn." + +#~ msgid "Invalid Jabber ID" +#~ msgstr "ID jabber direizh" + +#~ msgid "This file is being used by another process." +#~ msgstr "Implijet eo ar restr-mañ gant ur poellad all." + +#~ msgid "pgp key" +#~ msgstr "alc'hwezh pgp" + +#, fuzzy +#~ msgid "" +#~ "Sends new single message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Envoyer un nouveau message à un contact dans la liste. La clé OpenPGP et " +#~ "le compte sont facultatifs. Si vous voulez renseigner seulement le " +#~ "paramètre 'compte' sans 'clé pgp', mettez simple la valeur '' pour 'clé " +#~ "pgp'." + +#, fuzzy +#~ msgid "Please first choose another theme as your current theme." +#~ msgstr "Dibabit ur gwiskadur all da gentañ." + +#~ msgid "Your passphrase is incorrect" +#~ msgstr "Direizh eo ho ker-kuzh" + +#, fuzzy +#~ msgid "OpenPGP Passphrase Incorrect" +#~ msgstr "Direizh eo ho ker-kuzh" + +#~ msgid "You successfully received %(filename)s from %(name)s." +#~ msgstr "Gant berzh ho peus resevet %(filename)s digant %(name)s." + +#, fuzzy +#~ msgid "Set logs directory" +#~ msgstr "a grou ar renkell %s" + +#, fuzzy +#~ msgid "_Manage Bookmarks..." +#~ msgstr "Merañ ar sinedoù..." + +#~ msgid "Change Status Message..." +#~ msgstr "Kemmañ an titour-stad..." + +#~ msgid "_Change Status Message..." +#~ msgstr "_Kemmañ an titour-stad..." + +#~ msgid "" +#~ "You are not interested in the contact's presence, and neither he/she is " +#~ "interested in yours" +#~ msgstr "" +#~ "N'oc'h ket dedennet gant bezañs an darempred-mañ, nag eñ/hi gant ho hini" + +#, fuzzy +#~ msgid "Error description..." +#~ msgstr "Taolennadur" + +#, fuzzy +#~ msgid "View contact information (Ctrl+I)" +#~ msgstr "a zo aketus d'ar gaozeadenn" + +#, fuzzy +#~ msgid "All Chat Histories" +#~ msgstr "Stad:" + +#~ msgid "More" +#~ msgstr "Muioc'h" + +#~ msgid "creating %s directory" +#~ msgstr "a grou ar renkell %s" + +#, fuzzy +#~ msgid "%s is not the name of a group chat." +#~ msgstr "A guzha an nozelennoù er prenestr flapiñ" + +#, fuzzy +#~ msgid "Session Management" +#~ msgstr "Kemennadenn gaset" + +#, fuzzy +#~ msgid "Gajim needs X server to run. Quiting..." +#~ msgstr "Ezhomm en deus Gajim eus ur servijer X evit labourat. O kuitaat..." + +#, fuzzy +#~ msgid "Gajim needs PyGTK 2.22 or above" +#~ msgstr "Ezhomm en deus Gajim eus PyGTK 2.6 pe uheloc'h" + +#, fuzzy +#~ msgid "Gajim needs PyGTK 2.22 or above to run. Quiting..." +#~ msgstr "" +#~ "Ezhomm en deus Gajim eus PyGTK 2.6 pe uheloc'h evit labourat. O kuitaat..." + +#, fuzzy +#~ msgid "Gajim needs GTK 2.22 or above" +#~ msgstr "Ezhomm en deus Gajim eus GTK 2.6 pe uheloc'h" + +#, fuzzy +#~ msgid "Gajim needs GTK 2.22 or above to run. Quiting..." +#~ msgstr "" +#~ "Ezhomm en deus Gajim eus GTK 2.6 pe uheloc'h evit labourat. O kuitaat..." + +#, fuzzy +#~ msgid "Gajim needs pywin32 to run" +#~ msgstr "Ezhomm en deus Gajim eus PySQLite evit labourat" + +#~ msgid "A programming error has been detected" +#~ msgstr "Ur fazi gouleviñ (programmiñ) ez eus bet kavet" + +#~ msgid "Details" +#~ msgstr "Munudoù" + +#, fuzzy +#~ msgid "Jabber ID: " +#~ msgstr "ID Jabber:" + +#~ msgid "Subscription: " +#~ msgstr "Koumanant:" + +#, fuzzy +#~ msgid "Mood: " +#~ msgstr "Webgaoz:" + +#, fuzzy +#~ msgid "Activity: " +#~ msgstr "Oberiant" + +#, fuzzy +#~ msgid "Would you like to make Gajim the default Jabber client?" +#~ msgstr "Voulez-vous l'écraser ?" + +#, fuzzy +#~ msgid "Actions" +#~ msgstr "Poelladoù" + +#, fuzzy +#~ msgid "Conditions" +#~ msgstr "Sonioù" + +#, fuzzy +#~ msgid "Advanced Notifications Control" +#~ msgstr "Aozer kefluniañ dre ar munut" + +#, fuzzy +#~ msgid "Contact Change Status " +#~ msgstr "Darempred diluget" + +#, fuzzy +#~ msgid "File Transfer Started " +#~ msgstr "Sac'het an treuzkas" + +#, fuzzy +#~ msgid "Group Chat Message Highlight " +#~ msgstr "Message d'un Salon mis en Sur-brillance" + +#, fuzzy +#~ msgid "Group Chat Message Received " +#~ msgstr "Kemennadenn digant ur sal-flapiñ" + +#, fuzzy +#~ msgid "Launch a command" +#~ msgstr "urzhiad" + +#, fuzzy +#~ msgid "Online / Free For Chat" +#~ msgstr "Prest da flapiñ" + +#, fuzzy +#~ msgid "Play a sound" +#~ msgstr "_Seniñ" + +#, fuzzy +#~ msgid "_Disable auto opening chat window" +#~ msgstr "A guzha an nozelennoù er prenestroù webgaoz" + +#, fuzzy +#~ msgid "_Open chat window with user" +#~ msgstr "Utiliser une seule fenê_tre de discussion avec des onglets" + +#, fuzzy +#~ msgid "_Show event in roster" +#~ msgstr "Diskouez er _roll hepken" + +#, fuzzy +#~ msgid "contact(s)" +#~ msgstr "Darempredoù" + +#, fuzzy +#~ msgid "for " +#~ msgstr "Porzh:" + +#, fuzzy +#~ msgid "group(s)" +#~ msgstr "Strollad" + +#, fuzzy +#~ msgid "_Allow him/her to see my status" +#~ msgstr "He/E aotren da welet ma stad" + +#, fuzzy +#~ msgid "Descrition:" +#~ msgstr "Taolennadur: %s" + +#, fuzzy +#~ msgid "Advanced..." +#~ msgstr "Dre ar munut" + +#, fuzzy +#~ msgid "Display _activity of contacts in roster" +#~ msgstr "Diskouez _skeudennigoù an darempredoù er roll" + +#, fuzzy +#~ msgid "Display _tunes of contacts in roster" +#~ msgstr "Diskouez _skeudennigoù an darempredoù er roll" + +#, fuzzy +#~ msgid "Display m_ood of contacts in roster" +#~ msgstr "Diskouez _skeudennigoù an darempredoù er roll" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will display the activity of contacts in the roster " +#~ "window" +#~ msgstr "" +#~ "Si cette case est cochée, Gajim affichera l'avatar de chaque contact dans " +#~ "la fenêtre principale et les salons" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will display the tunes of contacts in the roster window" +#~ msgstr "" +#~ "Si cette case est cochée, Gajim affichera l'avatar de chaque contact dans " +#~ "la fenêtre principale et les salons" + +#~ msgid "Gajim Instant Messenger" +#~ msgstr "Flaperez Gajim" + +#, fuzzy +#~ msgid "German" +#~ msgstr "Hollek" + +#, fuzzy +#~ msgid "Greek" +#~ msgstr "Glas" + +#, fuzzy +#~ msgid "Croatian" +#~ msgstr "Chomlec'h" + +#, fuzzy +#~ msgid "Italian" +#~ msgstr "Stouet" + +#, fuzzy +#~ msgid "Polish" +#~ msgstr "_Embann" + +#, fuzzy +#~ msgid "Serbian" +#~ msgstr "Hollek" + +#~ msgid "Check your connection or try again later" +#~ msgstr "Gwiriekait ho lugadenn pe klaskit en-dro diwezhatoc'h" + +#~ msgid "error: cannot open %s for reading" +#~ msgstr "fazi: dibosupl eo digeriñ %s evit lenn" + +#, fuzzy +#~ msgid "Unable to bind to port %s." +#~ msgstr "Impossible de rejoindre le salon" + +#~ msgid "A GTK+ jabber client" +#~ msgstr "Ur flaperez jabber e GTK+" + +#, fuzzy +#~ msgid "Condition" +#~ msgstr "Kevreadenn" + +#, fuzzy +#~ msgid "one of: offline, online, chat, away, xa, dnd, invisible " +#~ msgstr "unan eus: offline, online, chat, away, xa, dnd, invisible " + +#, fuzzy +#~ msgid "" +#~ "Returns current status message(the global one unless account is specified)" +#~ msgstr "" +#~ "A gas an titour-stad red (an hini hollek, nemet ez eus bet resisaet ur " +#~ "gont bennak)" + +#~ msgid "" +#~ "Usage: %s %s %s \n" +#~ "\t %s" +#~ msgstr "" +#~ "Implij: %s %s %s \n" +#~ "\t %s" + +#, fuzzy +#~ msgid "Subject: %s" +#~ msgstr "Sujed: %s\n" + +#, fuzzy +#~ msgid "Mood: %s" +#~ msgstr "Webgaoz:" + +#, fuzzy +#~ msgid "Activity: %s" +#~ msgstr "Oberiant" + +#, fuzzy +#~ msgid "_Show event in systray" +#~ msgstr "Diskouez er _roll hepken" + +#, fuzzy +#~ msgid "Autodetect on every Gajim startup" +#~ msgstr "K_evreañ en ur loc'hañ Gajim" + +#, fuzzy +#~ msgid "Show systray:" +#~ msgstr "Diskouez er _roll hepken" + +#, fuzzy +#~ msgid "Nickname not allowed: %s" +#~ msgstr "N'eus ket bet kavet al lesanv : %s" + +#~ msgid "we are now subscribed to %s" +#~ msgstr "nous sommes maintenant inscrits chez %s" + +#~ msgid "we are now unsubscribed from %s" +#~ msgstr "nous ne sommes plus dans la liste de %s" + +#~ msgid "Account Modification" +#~ msgstr "Kemmañ ar gont" + +#~ msgid "" +#~ "Check this so Gajim will connect in port 5223 where legacy servers are " +#~ "expected to have SSL capabilities. Note that Gajim uses TLS encryption by " +#~ "default if broadcasted by the server, and with this option enabled TLS " +#~ "will be disabled" +#~ msgstr "" +#~ "Si vous cochez cette case, Gajim se connectera sur le port 5223, sur " +#~ "lequel les serveurs sont supposés gérer le SSL. Notez que Gajim utilise " +#~ "le cryptage TLS par défaut si le serveur annonce qu'il le supporte, et " +#~ "avec cette option vous désactivez le TLS" + +#~ msgid "Edit Personal Information..." +#~ msgstr "Kemmañ an titouroù hiniennel..." + +#~ msgid "Hostname: " +#~ msgstr "Servijer:" + +#~ msgid "" +#~ "If checked, Gajim will store the password in ~/.gajim/config with 'read' " +#~ "permission only for you" +#~ msgstr "" +#~ "Si cette case est cochée, Gajim va sauvegarder le mot de passe dans ~/." +#~ "gajim/config avec accès en lecture pour vous uniquement" + +#~ msgid "Port: " +#~ msgstr "Porzh:" + +#~ msgid "Save _passphrase (insecure)" +#~ msgstr "_Enrollañ ar ger-kuzh (diasur)" + +#~ msgid "Use _SSL (legacy)" +#~ msgstr "Implij _SSL" + +#, fuzzy +#~ msgid "" +#~ "Account row\n" +#~ "Group row\n" +#~ "Contact row\n" +#~ "Chat Banner" +#~ msgstr "" +#~ "Kont\n" +#~ "Strollad\n" +#~ "Darempred\n" +#~ "Titl" + +#, fuzzy +#~ msgid "gtk-delete" +#~ msgstr "Dilemel" + +#~ msgid "" +#~ "All chat states\n" +#~ "Composing only\n" +#~ "Disabled" +#~ msgstr "" +#~ "An holl stadoù\n" +#~ "O skrivañ hepken\n" +#~ "Lazhet" + +#, fuzzy +#~ msgid "" +#~ "Autodetect on every Gajim startup\n" +#~ "Always use GNOME default applications\n" +#~ "Always use KDE default applications\n" +#~ "Always use Xfce default applications\n" +#~ "Custom" +#~ msgstr "" +#~ "Détection automatique à chaque démarrage\n" +#~ "Toujours utiliser les applications par défaut de GNOME\n" +#~ "Toujours utiliser les applications par défaut de KDE\n" +#~ "Personnalisé" + +#, fuzzy +#~ msgid "gtk-cancel" +#~ msgstr "Dilemel" + +#~ msgid "pysqlite2 (aka python-pysqlite2) dependency is missing. Exiting..." +#~ msgstr "pysqlite2 (ou python-pysqlite2) n'eo ket staliet. O kuitaat..." + +#~ msgid "" +#~ "Please remove your current GTK+ runtime and install the latest stable " +#~ "version from %s" +#~ msgstr "" +#~ "Dilamit al levraoueg red eus GTK+runtime ha staliit an aozadur stabil " +#~ "diwezhañ diwar %s" + +#~ msgid "Gajim needs PySQLite2 to run" +#~ msgstr "Ezhomm en deus Gajim eus PySQLite evit labourat" + +#, fuzzy +#~ msgid "gtk-ok" +#~ msgstr "gtk+" + +#~ msgid "OpenPGP passphrase was not given" +#~ msgstr "N'eo ket bet roet ar ger-kuzh OpenPGP" + +#~ msgid "" +#~ "To continue sending and receiving messages, you will need to reconnect." +#~ msgstr "" +#~ "Evit kenderc'hel da gas ha da resev kemennadennoù, e rankit lugañ en-dro." + +#~ msgid "Add Special _Notification" +#~ msgstr "Ouzhpennañ ur gelaouenn _ispisial" + +#, fuzzy +#~ msgid "" +#~ "Usage: /%(command)s , sends action to the current group chat. Use " +#~ "third person. (e.g. /%(command)s explodes.)" +#~ msgstr "" +#~ "Usage : /%s , envoie l'action au salon actuel. Utilise la " +#~ "troisième personne. (ex : /%s explose.)" + +#~ msgid "No help info for /%s" +#~ msgstr "N'eus skoazell hegerz ebet evit /%s" + +#~ msgid "Nickname not found: %s" +#~ msgstr "N'eus ket bet kavet al lesanv : %s" + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s [reason], bans the JID from the group chat. The " +#~ "nickname of an occupant may be substituted, but not if it contains \"@\". " +#~ "If the JID is currently in the group chat, he/she/it will also be kicked." +#~ msgstr "" +#~ "Usage : /%s [raison], bannit le JID du salon. Le surnom de " +#~ "l'occupant peut être utilisé s'il ne contient pas de \"@\". Si le JID est " +#~ "actuellement dans le salon il sera également éjecté. Ne supporte pas les " +#~ "espaces dans le surnom." + +#~ msgid "" +#~ "Usage: /%s [reason], closes the current window or tab, displaying reason " +#~ "if specified." +#~ msgstr "" +#~ "Usage : /%s [raison], ferme la fenêtre ou l'onglet courrant en affichant " +#~ "la raison si spécifiée." + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s [reason], invites JID to the current group chat, " +#~ "optionally providing a reason." +#~ msgstr "" +#~ "Usage : /%s [raison], invite le JID dans le salon actuel, la raison " +#~ "est optionnelle." + +#~ msgid "" +#~ "Usage: /%s @[/nickname], offers to join room@server " +#~ "optionally using specified nickname." +#~ msgstr "" +#~ "Usage : /%s @[/surnom], propose de rejoindre " +#~ "salon@serveur en option on peut spécifier le surnom utilisé." + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s [reason], removes the occupant specified by " +#~ "nickname from the group chat and optionally displays a reason." +#~ msgstr "" +#~ "Usage : /%s [raison], supprime l'occupant portant le surnom " +#~ "spécifié du salon et affiche en option la raison. Le surnom ne doit pas " +#~ "contenir d'espaces !" + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s [message], opens a private message window and sends " +#~ "message to the occupant specified by nickname." +#~ msgstr "" +#~ "Usage : /%s [message], ouvre une fenêtre de discussion privée et " +#~ "envoie le message à l'occupant(e) spécifié(e) par le surnom." + +#, fuzzy +#~ msgid "Usage: /%s , changes your nickname in current group chat." +#~ msgstr "Usage : /%s , change votre surnom dans ce salon." + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s [topic], displays or updates the current group chat topic." +#~ msgstr "" +#~ "Usage : /%s [sujet], affiche ou met à jour le sujet actuel du salon." + +#~ msgid "" +#~ "Usage: /%s , sends a message without looking for other commands." +#~ msgstr "" +#~ "Usage : /%s , envoie un message sans chercher d'autres commandes." + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s , allow to send you messages and private " +#~ "messages." +#~ msgstr "Usage : /%s , change votre surnom dans ce salon." + +#, fuzzy +#~ msgid "Modify Account" +#~ msgstr "_Kemmañ ar gont..." + +#, fuzzy +#~ msgid "Gajim account %s" +#~ msgstr "eus ar gont %s" + +#~ msgid "This account is already configured in Gajim." +#~ msgstr "Kefluniet eo bet ar gont-mañ e-barzh Gajim dija." + +#, fuzzy +#~ msgid "File transfer stopped by the contact at the other end" +#~ msgstr "Arsavet eo bet an treuzkas gant ho tarempred" + +#, fuzzy +#~ msgid "Generic" +#~ msgstr "Hollek" + +#~ msgid "%s has not broadcast an OpenPGP key, nor has one been assigned" +#~ msgstr "" +#~ "N'eus bet kaset alc'hwezh OpenPGP ebet gant %s, ha n'o peus roet hini " +#~ "ebet dezhañ" + +#~ msgid "No such command: /%s (if you want to send this, prefix it with /say)" +#~ msgstr "" +#~ "N'eus ket eus an urzhiad: /%s (lakait /say araozañ ma fell deoc'h e gas)" + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s , sends action to the current group chat. Use third " +#~ "person. (e.g. /%s explodes.)" +#~ msgstr "" +#~ "Usage : /%s , envoie l'action au salon actuel. Utilise la " +#~ "troisième personne. (ex : /%s explose.)" + +#~ msgid "_Retype Password:" +#~ msgstr "_Adroit ho ker-kuzh" + +#~ msgid "" +#~ "If you have 2 or more accounts and it is checked, Gajim will list all " +#~ "contacts as if you had one account" +#~ msgstr "" +#~ "M'ho peus daou gont pe ouzhpenn hag eo diuzet, e vo strollet an holl " +#~ "zarempredoù evel pa vefe ur gont hepken" + +#~ msgid "Click to see past conversation in this room" +#~ msgstr "Klikit amañ evit gwelout kaozioù kent ar flap-mañ" + +#~ msgid "Build custom query" +#~ msgstr "Krouiñ ur goulenn personelaet" + +#~ msgid "Query Builder..." +#~ msgstr "Krouiñ ur goulenn..." + +#~ msgid "Invitation Received" +#~ msgstr "Resevet ar bedadenn" + +#~ msgid "Format of a line" +#~ msgstr "Furmad ul linenn" + +#~ msgid "Interface Customization" +#~ msgstr "Personelaat an etrefas" + +#~ msgid "Also known as iChat style" +#~ msgstr "Anvet ivez stil iChat" + +#~ msgid "E_very 5 minutes" +#~ msgstr "_Bep 5 munutenn" + +#~ msgid "" +#~ "Gajim will automatically show new events by poping up the relative window" +#~ msgstr "" +#~ "Gajim montrera automatiquement les nouveaux évènements reçus en montrant " +#~ "la fenêtre correspondante" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed in" +#~ msgstr "" +#~ "Gajim vous signalera par une fenêtre de notification en bas à droite de " +#~ "l'écran qu'un contact s'est connecté" + +#~ msgid "" +#~ "Gajim will only change the icon of the contact that triggered the new " +#~ "event" +#~ msgstr "" +#~ "Gajim ne fera que changer l'icône du contact qui a envoyé le nouvel " +#~ "évènement" + +#~ msgid "" +#~ "If checked, Gajim will remember the roster and chat window positions in " +#~ "the screen and the sizes of them next time you run it" +#~ msgstr "" +#~ "Si cette case est cochée, Gajim va retenir la position de votre liste " +#~ "decontacts et des fenêtres de discussion pour vos prochaines utilisations" + +#~ msgid "" +#~ "Never\n" +#~ "Always\n" +#~ "Per account\n" +#~ "Per type" +#~ msgstr "" +#~ "Morse\n" +#~ "Atav\n" +#~ "Dre gont\n" +#~ "Dre zoare" + +#, fuzzy +#~ msgid "Outgoing Chat state noti_fications:" +#~ msgstr "Titou_roù-stad ar flap:" + +#~ msgid "Print time:" +#~ msgstr "Diskouez an eur:" + +#~ msgid "Save _position and size for roster and chat windows" +#~ msgstr "_Mirout lec'hiadur ha ment ar roll hag ar prenistri-flapiñ" + +#~ msgid "The auto away status message" +#~ msgstr "An emc'hemennadenn evit ar stad \"Ezvezant\"" + +#~ msgid "" +#~ "When a new event (message, file transfer request etc..) is received, the " +#~ "following methods may be used to inform you about it. Please note that " +#~ "events about new messages only occur if it is a new message from a " +#~ "contact you are not already chatting with" +#~ msgstr "" +#~ "Pa resevit un darvoud nevez (kemennadenn, goulenn treuzkas h.a.), ez eus " +#~ "tu implij an doareoù da heul evit kelaouién ac'hanoc'h. Deoc'h da " +#~ "c'houzout, ec'h erru darvoudoù evit kemennadennoù nevez m'int bet kaset " +#~ "gant un darempred n'emaoc'h ket o flapién gant-añ/-i." + +#, fuzzy +#~ msgid "_Advanced Notifications Control..." +#~ msgstr "Aozer kefluniañ dre ar munut" + +#~ msgid "_After time:" +#~ msgstr "_War-lerc'h an eur:" + +#~ msgid "_Before time:" +#~ msgstr "_A-raok an eur:" + +#~ msgid "_Player:" +#~ msgstr "_Soner:" + +#~ msgid "Role:" +#~ msgstr "Perzh:" + +#~ msgid "_Retrieve" +#~ msgstr "_Kargañ" + +#~ msgid "_Remove from Roster" +#~ msgstr "_Dilemel diouzh ar roll" + +#~ msgid "A_ccounts" +#~ msgstr "_Kontoù" + +#~ msgid "OS:" +#~ msgstr "OS:" + +#~ msgid "Every %s _minutes" +#~ msgstr "Bep %s _munutenn" + +#~ msgid "You will always see him or her as offline." +#~ msgstr "Atav e weloc'h anezhañ ezlinenn." + +#~ msgid "%s is now %s (%s)" +#~ msgstr "%s a zo bremañ %s (%s)" + +#, fuzzy +#~ msgid "Network Manager support not available" +#~ msgstr "N'eus ket tu da gevreañ" + +#~ msgid "Session Management support not available (missing gnome.ui module)" +#~ msgstr "" +#~ "Support du gestionnaire de sessions indisponible (module gnome.ui " +#~ "manquant)" + +#~ msgid "%s is now %s" +#~ msgstr "%s a zo bremañ %s" + +#~ msgid "%s does not appear to be a valid JID" +#~ msgstr "%s ne seblant ket bezañ ur JID a-feson" + +#~ msgid "%s - Gajim" +#~ msgstr "%s - Gajim" + +#~ msgid "Without a connection, you can not get your contact information." +#~ msgstr "Rankout a rit bezañ luget evit kaout titouroù an darempred." + +#, fuzzy +#~ msgid "_New group chat" +#~ msgstr "Flap a-stroll" + +#~ msgid "Log _off" +#~ msgstr "_Dilugañ" + +#~ msgid "Save passphrase" +#~ msgstr "Enrollañ ar ger-kuzh" + +#~ msgid "Drop %s in group %s" +#~ msgstr "Kas %s er strollad %s" + +#, fuzzy +#~ msgid "Hides the buttons in two persons chat window." +#~ msgstr "A guzha an nozelennoù er prenestroù-flapiñ" + +#~ msgid "Connected to server %s:%s with %s" +#~ msgstr "Luget d'ar servijer %s:%s gant %s" + +#~ msgid "invisible" +#~ msgstr "Diwelus" + +#~ msgid "offline" +#~ msgstr "Ezlinenn" + +#~ msgid "I'm %s" +#~ msgstr "%s on" + +#, fuzzy +#~ msgid " %d unread single message" +#~ msgid_plural " %d unread single messages" +#~ msgstr[0] "Gajim - %d gemennadenn simpl nevez" +#~ msgstr[1] "Gajim - kemennadennoù simpl nevez: %d" + +#, fuzzy +#~ msgid " %d unread group chat message" +#~ msgid_plural " %d unread group chat messages" +#~ msgstr[0] "Gajim - %d gemennadenn webgaoz nevez" +#~ msgstr[1] "Gajim - kemennadennoù webgaoz nevez: %d" + +#, fuzzy +#~ msgid " %d unread private message" +#~ msgid_plural " %d unread private messages" +#~ msgstr[0] "Gajim - %d gemennadenn brevez nevez" +#~ msgstr[1] "Gajim - kemennadennoù prevez nevez: %d" + +#, fuzzy +#~ msgid "Connection to host could not be established" +#~ msgstr "N'eus ket tu seveniñ al lugadenn gant an darempred." + +#~ msgid "Role: " +#~ msgstr "Perzh:" + +#, fuzzy +#~ msgid "Away " +#~ msgstr "Ezvezant" + +#, fuzzy +#~ msgid "Down" +#~ msgstr "Pellgargañ" + +#, fuzzy +#~ msgid "List of special notifications settings" +#~ msgstr "Oc'h ouzhpennañ ur gelaouenn nevez evit %s" + +#, fuzzy +#~ msgid "Not Available " +#~ msgstr "Dihegerz" + +#~ msgid "Jabber" +#~ msgstr "Jabber" + +#~ msgid "Invalid room or server name" +#~ msgstr "Anv sal pe servijer direizh" + +#~ msgid "Your personal information has been published successfully." +#~ msgstr "Gant berzh eo bet embannet ho titouroù hiniennel." + +#~ msgid "Migrating Logs..." +#~ msgstr "O tilec'hiañ an istoradur..." + +#~ msgid "Gajim - %d unread message" +#~ msgid_plural "Gajim - %d unread messages" +#~ msgstr[0] "Gajim - %d gemennadenn nevez" +#~ msgstr[1] "Gajim - kemennadennoù nevez: %d" + +#~ msgid "Since %s" +#~ msgstr "Dibaoe %s" + +#~ msgid "_Join New Room..." +#~ msgstr "Re_joindre un nouveau salon..." + +#, fuzzy +#~ msgid "Please modify your special notification below" +#~ msgstr "Choisissez une des options suivantes :" + +#~ msgid "Delete Message of the Day" +#~ msgstr "Supprimer le message du jour" + +#, fuzzy +#~ msgid "I want to listen to:" +#~ msgstr "%s souhaite vous envoyer un fichier :" + +#~ msgid "Send _New Message..." +#~ msgstr "Envoyer un _nouveau message..." + +#~ msgid "Set Message of the Day" +#~ msgstr "Définir un message du jour" + +#~ msgid "Update Message of the Day" +#~ msgstr "Mettre à jour le message du jour" + +#~ msgid "Use compact view when you open a chat window" +#~ msgstr "" +#~ "Utiliser la vue compacte quand vous ouvrez une fenêtre de discussion" + +#~ msgid "Use compact view when you open a group chat window" +#~ msgstr "Utiliser la vue compacte quand vous ouvrez une fenêtre de salon" + +#~ msgid "%(nickname)s in room %(room_name)s has sent you a new message." +#~ msgstr "" +#~ "%(nickname)s du salon %(room_name)s vous a envoyé un nouveau message." + +#~ msgid "%s has sent you a new message." +#~ msgstr "%s vous a envoyé un nouveau message." + +#~ msgid "Logs have been successfully migrated to the database." +#~ msgstr "L'historique a été corectement récupéré." + +#, fuzzy +#~ msgid "Start Chat with Contact" +#~ msgstr "Commencer une discussion avec le compte %s" + +#~ msgid "All contacts in this group are offline or have errors" +#~ msgstr "Tous les contacts de ce groupe sont déconnectés ou ont des erreurs" + +#~ msgid "Image" +#~ msgstr "Image" + +#~ msgid "To %s" +#~ msgstr "À %s" + +#~ msgid "You have been invited to the %(room_jid)s room by %(contact_jid)s" +#~ msgstr "Vous avez été invité dans le salon %(room_jid)s par %(contact_jid)s" + +#~ msgid "_Set Image..." +#~ msgstr "_Choisir une image..." + +#~ msgid "Switch to %s" +#~ msgstr "Basculer vers %s" + +#~ msgid "using account " +#~ msgstr "en utilisant le compte " + +#~ msgid "The filesize of image \"%s\" is too large" +#~ msgstr "Le taille du fichier de l'image \"%s\" est trop importante" + +#~ msgid "The file must not be more than 32 kilobytes." +#~ msgstr "Le fichier ne doit pas excéder les 32 kilobytes." + +#~ msgid "Timeout" +#~ msgstr "Dépassement de temps" + +#~ msgid "Activate/Disable notification for when a file transfer is complete" +#~ msgstr "Active/Désactive la notification de fin de transfert" + +#~ msgid "Removing selected file transfer" +#~ msgstr "Supprime le transfert du fichier sélectionné" + +#~ msgid "Stoping selected file transfer" +#~ msgstr "Arrête le transfert de fichier sélectionné" + +#~ msgid "" +#~ "If you close this tab and you have history disabled, the message will be " +#~ "lost." +#~ msgstr "" +#~ "Si vous fermez cet onglet et que l'historique n'est pas activé, le " +#~ "message sera perdu." + +#~ msgid "Cannot remove last group" +#~ msgstr "Impossible d'enlever le dernier groupe" + +#~ msgid "At least one contact group must be present." +#~ msgstr "Au moins un groupe de contacts doit exister." + +#~ msgid "" +#~ "pysqlite2 (aka python-pysqlite2) dependency is missing. After you install " +#~ "pysqlite3, if you want to migrate your logs to the new database, please " +#~ "read: http://trac.gajim.org/wiki/MigrateLogToDot9DB Exiting..." +#~ msgstr "" +#~ "pysqlite2 (ou python-pysqlite2) n'est pas installé. Aprés avoir installé " +#~ "pysqlite2, si vous voulez migrer votre historique dans la nouvelle base " +#~ "de donnée, lisez http://trac.gajim.org/wiki/MigrateLogToDot9DB. Quitte..." + +#~ msgid "" +#~ "Image for emoticon has to be less than or equal to 24 pixels in width and " +#~ "24 in height." +#~ msgstr "" +#~ "L'image pour l'émoticône doit être inférieure ou égale à 24 points en " +#~ "largeur et 24 points en hauteur." diff --git a/po/ca.po b/po/ca.po new file mode 100644 index 0000000..d77cb19 --- /dev/null +++ b/po/ca.po @@ -0,0 +1,11414 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-01 17:44+0100\n" +"PO-Revision-Date: 2017-08-01 14:04+0200\n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 1.8.11\n" + +#: gajim/history_manager.py:78 +msgid "Usage:" +msgstr "" + +#: gajim/history_manager.py:80 +msgid "Options:" +msgstr "" + +#: gajim/history_manager.py:82 +msgid "Show this help message and exit" +msgstr "" + +#: gajim/history_manager.py:83 +msgid "Choose folder for logfile" +msgstr "" + +#: gajim/history_manager.py:113 +msgid "Cannot find history logs database" +msgstr "" + +#: gajim/history_manager.py:114 +#, python-format +msgid "%s does not exist." +msgstr "" + +#: gajim/history_manager.py:147 gajim/history_manager.py:201 +#: gajim/gtk/add_contact.py:31 gajim/gtk/discovery.py:833 +#: gajim/gtk/accounts.py:892 gajim/data/gui/vcard_information_window.ui:55 +#: gajim/data/gui/bookmarks.ui:45 gajim/data/gui/blocking_list.ui:43 +#: gajim/data/gui/mam_preferences.ui:117 +#, fuzzy +msgid "XMPP Address" +msgstr "_Copia adreça JID/Email" + +#: gajim/history_manager.py:160 gajim/history_manager.py:208 +#: gajim/gtk/history.py:108 gajim/data/gui/history_window.ui:89 +msgid "Date" +msgstr "" + +#: gajim/history_manager.py:167 gajim/history_manager.py:231 +#: gajim/data/gui/profile.ui:232 gajim/data/gui/vcard_information_window.ui:442 +#: gajim/data/gui/bookmarks.ui:84 +msgid "Nickname" +msgstr "" + +#: gajim/history_manager.py:178 gajim/history_manager.py:217 +#: gajim/gtk/history.py:117 gajim/data/gui/single_message_window.ui:266 +msgid "Message" +msgstr "" + +#: gajim/history_manager.py:186 gajim/history_manager.py:224 +#: gajim/data/gui/groups_post_window.ui:49 +#: gajim/data/gui/single_message_window.ui:205 +msgid "Subject" +msgstr "" + +#: gajim/history_manager.py:254 +msgid "Database Cleanup" +msgstr "" + +#: gajim/history_manager.py:255 +#, fuzzy +msgid "Clean up the database?" +msgstr "Cerca Base de Dades" + +#: gajim/history_manager.py:256 +msgid "" +"This is STRONGLY NOT RECOMMENDED IF GAJIM IS RUNNING.\n" +"Normally, the allocated database size will not be freed, it will just become " +"reusable. This operation may take a while." +msgstr "" + +#: gajim/history_manager.py:262 +#, fuzzy +msgid "_Cleanup" +msgstr "Neteja" + +#: gajim/history_manager.py:527 gajim/gtk/filetransfer.py:238 +#: gajim/gtk/filetransfer.py:248 +msgid "You" +msgstr "" + +#: gajim/history_manager.py:539 +#, python-format +msgid "%(who)s on %(time)s said: %(message)s\n" +msgstr "" + +#: gajim/history_manager.py:576 gajim/history_manager.py:615 +#: gajim/gtk/themes.py:362 gajim/gtk/roster_item_exchange.py:75 +#: gajim/gtk/roster_item_exchange.py:185 +msgid "Delete" +msgstr "Suprimeix" + +#: gajim/history_manager.py:577 +#, fuzzy +msgid "Delete Conversation" +msgid_plural "Delete Conversations" +msgstr[0] "Històric de converses" +msgstr[1] "Històric de converses" + +#: gajim/history_manager.py:578 +#, python-format +msgid "Do you want to permanently delete this conversation with %s?" +msgid_plural "Do you want to permanently delete these conversations?" +msgstr[0] "" +msgstr[1] "" + +#: gajim/history_manager.py:616 +#, fuzzy +msgid "Delete Message" +msgid_plural "Delete Messages" +msgstr[0] "Missatges preconfigurats:" +msgstr[1] "Missatges preconfigurats:" + +#: gajim/history_manager.py:617 +msgid "Do you want to permanently delete this message?" +msgid_plural "Do you want to permanently delete these messages?" +msgstr[0] "" +msgstr[1] "" + +#: gajim/roster_window.py:268 gajim/roster_window.py:991 +msgid "Merged accounts" +msgstr "" + +#: gajim/roster_window.py:756 gajim/roster_window.py:1667 +#: gajim/roster_window.py:1669 gajim/roster_window.py:1986 +#: gajim/roster_window.py:3065 gajim/roster_window.py:3098 +#: gajim/roster_window.py:4026 gajim/gui_interface.py:338 +#: gajim/gui_menu_builder.py:254 gajim/gui_menu_builder.py:345 +#: gajim/chat_control.py:291 gajim/chat_control.py:421 +#: gajim/gtk/add_contact.py:320 gajim/gtk/roster_item_exchange.py:112 +#: gajim/gtk/subscription_request.py:77 gajim/gtk/subscription_request.py:126 +#: gajim/common/helpers.py:89 gajim/common/helpers.py:207 +#: gajim/common/contacts.py:243 gajim/common/contacts.py:382 +#: gajim/common/contacts.py:493 +#, fuzzy +msgid "Not in contact list" +msgstr "Mostra els contactes desconnectats" + +#: gajim/roster_window.py:823 gajim/roster_window.py:1579 +#: gajim/roster_window.py:1612 gajim/roster_window.py:1663 +#: gajim/roster_window.py:1665 gajim/roster_window.py:1820 +#: gajim/roster_window.py:2378 gajim/roster_window.py:3990 +#: gajim/roster_window.py:4638 gajim/gtk/discovery.py:127 +#: gajim/gtk/discovery.py:128 gajim/gtk/discovery.py:1419 +#: gajim/common/helpers.py:88 gajim/common/contacts.py:225 +#: gajim/common/contacts.py:485 +msgid "Transports" +msgstr "" + +#: gajim/roster_window.py:1671 gajim/roster_window.py:1673 +#: gajim/roster_window.py:3990 gajim/roster_window.py:4603 +#: gajim/gui_interface.py:1425 gajim/common/helpers.py:91 +#: gajim/common/contacts.py:223 +#, fuzzy +msgid "Group chats" +msgstr "Grups de xat" + +#: gajim/roster_window.py:1901 gajim/chat_control.py:1688 +msgid "Remote contact stopped transfer" +msgstr "" + +#: gajim/roster_window.py:1903 gajim/chat_control.py:1690 +msgid "Error opening file" +msgstr "" + +#: gajim/roster_window.py:1968 +msgid "Authorization sent" +msgstr "" + +#: gajim/roster_window.py:1969 +#, python-format +msgid "\"%s\" will now see your status." +msgstr "" + +#: gajim/roster_window.py:1987 +msgid "Subscription request has been sent" +msgstr "" + +#: gajim/roster_window.py:1988 +#, python-format +msgid "If \"%s\" accepts this request you will know their status." +msgstr "" + +#: gajim/roster_window.py:2002 +msgid "Authorization removed" +msgstr "" + +#: gajim/roster_window.py:2003 +#, python-format +msgid "Now \"%s\" will always see you as offline." +msgstr "" + +#: gajim/roster_window.py:2198 gajim/data/gui/shortcuts_window.ui:66 +msgid "Quit Gajim" +msgstr "" + +#: gajim/roster_window.py:2199 +msgid "You are about to quit Gajim" +msgstr "" + +#: gajim/roster_window.py:2200 +msgid "Are you sure you want to quit Gajim?" +msgstr "" + +#: gajim/roster_window.py:2201 +msgid "_Always quit when closing Gajim" +msgstr "" + +#: gajim/roster_window.py:2204 gajim/roster_window.py:2299 +#: gajim/roster_window.py:2340 gajim/data/gui/application_menu.ui:30 +#: gajim/data/gui/systray_context_menu.ui:83 +#, fuzzy +msgid "_Quit" +msgstr "Surt" + +#: gajim/roster_window.py:2292 +#, fuzzy +msgid "Stop File Transfers" +msgstr "Transferències de fitxers" + +#: gajim/roster_window.py:2293 +msgid "You still have running file transfers" +msgstr "" + +#: gajim/roster_window.py:2294 +msgid "" +"If you quit now, the file(s) being transferred will be lost.\n" +"Do you still want to quit?" +msgstr "" + +#: gajim/roster_window.py:2333 +#, fuzzy +msgid "Unread Messages" +msgstr "_Canvia Missatge d'Estat" + +#: gajim/roster_window.py:2334 +#, fuzzy +msgid "You still have unread messages" +msgstr "_Canvia Missatge d'Estat" + +#: gajim/roster_window.py:2335 +msgid "" +"Messages will only be available for reading them later if storing chat " +"history is enabled and if the contact is in your contact list." +msgstr "" + +#: gajim/roster_window.py:2590 +msgid "You have unread messages" +msgstr "" + +#: gajim/roster_window.py:2591 +msgid "You must read them before removing this transport." +msgstr "" + +#: gajim/roster_window.py:2594 +#, python-format +msgid "Transport '%s' will be removed" +msgstr "" + +#: gajim/roster_window.py:2595 +msgid "" +"You will no longer be able to send and receive messages from and to contacts " +"using this transport." +msgstr "" + +#: gajim/roster_window.py:2598 +msgid "Transports will be removed" +msgstr "" + +#: gajim/roster_window.py:2603 +#, python-format +msgid "" +"You will no longer be able to send and receive messages from and to contacts " +"using these transports:\n" +"%s" +msgstr "" + +#: gajim/roster_window.py:2607 +#, fuzzy +msgid "Remove Transport" +msgstr "Mostra Transports" + +#: gajim/roster_window.py:2662 gajim/chat_control.py:428 +#, fuzzy +msgid "Block Contact" +msgstr "Contactes blocats" + +#: gajim/roster_window.py:2663 gajim/chat_control.py:429 +msgid "Really block this contact?" +msgstr "" + +#: gajim/roster_window.py:2664 gajim/chat_control.py:430 +msgid "" +"You will appear offline for this contact and you will not receive further " +"messages." +msgstr "" + +#: gajim/roster_window.py:2666 +msgid "_Do not ask again" +msgstr "" + +#: gajim/roster_window.py:2669 gajim/chat_control.py:434 +#, fuzzy +msgid "_Report Spam" +msgstr "Informa de l'error" + +#: gajim/roster_window.py:2673 gajim/roster_window.py:4778 +#: gajim/gui_menu_builder.py:485 gajim/chat_control.py:438 +#: gajim/data/gui/contact_context_menu.ui:151 +msgid "_Block" +msgstr "_Bloca" + +#: gajim/roster_window.py:2706 +msgid "Rename Contact" +msgstr "" + +#: gajim/roster_window.py:2707 +#, fuzzy, python-format +msgid "Rename contact %s?" +msgstr "Convida _Contactes" + +#: gajim/roster_window.py:2708 +#, fuzzy +msgid "Please enter a new nickname" +msgstr "Sobrenom:" + +#: gajim/roster_window.py:2712 gajim/roster_window.py:3439 +#: gajim/roster_window.py:4679 gajim/dialogs.py:103 gajim/dialogs.py:116 +#: gajim/gtk/accounts.py:308 gajim/common/contacts.py:178 +#: gajim/common/contacts.py:227 gajim/data/gui/shortcuts_window.ui:12 +#: gajim/data/gui/preferences.ui:96 +msgid "General" +msgstr "General" + +#: gajim/roster_window.py:2715 +msgid "Rename Group" +msgstr "" + +#: gajim/roster_window.py:2716 +#, fuzzy, python-format +msgid "Rename group %s?" +msgstr "Grups de xat" + +#: gajim/roster_window.py:2717 +#, fuzzy +msgid "Please enter a new name" +msgstr "Sobrenom:" + +#: gajim/roster_window.py:2747 gajim/roster_window.py:2869 +#: gajim/data/gui/groupchat_control.ui:1859 +#, fuzzy +msgid "_Rename" +msgstr "Reescriu" + +#: gajim/roster_window.py:2769 gajim/roster_window.py:2770 +msgid "Remove Group" +msgstr "" + +#: gajim/roster_window.py:2771 +#, python-format +msgid "Do you want to remove %s from the contact list?" +msgstr "" + +#: gajim/roster_window.py:2772 +msgid "_Also remove all contacts of this group from contact list" +msgstr "" + +#: gajim/roster_window.py:2864 gajim/roster_window.py:2865 +#, fuzzy +msgid "Rename Group Chat" +msgstr "Grups de xat" + +#: gajim/roster_window.py:2866 +#, fuzzy +msgid "Please enter a new name for this group chat" +msgstr "Sobrenom:" + +#: gajim/roster_window.py:3082 +#, fuzzy +msgid "Remove Contact" +msgstr "Afegeix un contacte nou" + +#: gajim/roster_window.py:3083 +#, fuzzy +msgid "Remove contact from contact list" +msgstr "Esborra transferència de fitxer de la llista." + +#: gajim/roster_window.py:3084 +#, python-format +msgid "You are about to remove %(name)s (%(jid)s) from your contact list.\n" +msgstr "" + +#: gajim/roster_window.py:3093 gajim/roster_window.py:3113 +msgid "" +"By removing this contact you also remove authorization. This means the " +"contact will see you as offline." +msgstr "" + +#: gajim/roster_window.py:3104 +msgid "Do you want to continue?" +msgstr "" + +#: gajim/roster_window.py:3115 +msgid "_I want this contact to know my status after removal" +msgstr "" + +#: gajim/roster_window.py:3122 +#, fuzzy +msgid "Remove contacts from contact list" +msgstr "Esborra transferència de fitxer de la llista." + +#: gajim/roster_window.py:3128 +#, python-format +msgid "" +"By removing the following contacts, you will also remove authorization. This " +"means they will see you as offline:\n" +"\n" +"%s" +msgstr "" + +#: gajim/roster_window.py:3132 +#, fuzzy +msgid "Remove Contacts" +msgstr "Convida _Contactes" + +#: gajim/roster_window.py:3761 +msgid "You are about to create a metacontact" +msgstr "" + +#: gajim/roster_window.py:3762 +msgid "" +"Metacontacts are a way to regroup several contacts in one single contact. " +"Generally it is used when the same person has several XMPP- or Transport-" +"Accounts." +msgstr "" + +#: gajim/roster_window.py:3766 +#, fuzzy +msgid "Create Metacontact" +msgstr "Crea nou missatge" + +#: gajim/roster_window.py:3769 gajim/chat_control_base.py:771 +#: gajim/groupchat_control.py:1676 gajim/message_window.py:368 +msgid "_Do not ask me again" +msgstr "" + +#: gajim/roster_window.py:3772 gajim/data/gui/groupchat_creation.ui:317 +msgid "_Create" +msgstr "" + +#: gajim/roster_window.py:3889 +msgid "Invalid file URI:" +msgstr "" + +#: gajim/roster_window.py:3901 +#, python-format +msgid "Send this file to %s:\n" +msgid_plural "Send these files to %s:\n" +msgstr[0] "" +msgstr[1] "" + +#: gajim/roster_window.py:3909 gajim/roster_window.py:3910 +#: gajim/chat_control.py:1541 gajim/gtk/filetransfer_progress.py:36 +msgid "File Transfer" +msgstr "Transferència de Fitxers" + +#: gajim/roster_window.py:3914 gajim/data/gui/xml_console.ui:334 +msgid "_Send" +msgstr "Envia" + +#: gajim/roster_window.py:4067 +#, python-format +msgid "Send %(from)s to %(to)s" +msgstr "" + +#: gajim/roster_window.py:4080 +#, python-format +msgid "Make %s first contact" +msgstr "" + +#: gajim/roster_window.py:4085 +#, python-format +msgid "Make %(contact1)s and %(contact2)s metacontacts" +msgstr "" + +#: gajim/roster_window.py:4436 gajim/roster_window.py:4523 +#: gajim/gtk/status_selector.py:76 +msgid "_Change Status Message" +msgstr "_Canvia Missatge d'Estat" + +#: gajim/roster_window.py:4456 +msgid "Publish Tune" +msgstr "" + +#: gajim/roster_window.py:4467 +msgid "Publish Location" +msgstr "" + +#: gajim/roster_window.py:4606 +msgid "_Maximize All" +msgstr "" + +#: gajim/roster_window.py:4615 gajim/roster_window.py:4743 +msgid "Send Group M_essage" +msgstr "" + +#: gajim/roster_window.py:4622 +msgid "To all users" +msgstr "" + +#: gajim/roster_window.py:4626 +msgid "To all online users" +msgstr "" + +#: gajim/roster_window.py:4637 gajim/roster_window.py:4749 +#: gajim/data/gui/contact_context_menu.ui:36 +msgid "In_vite to" +msgstr "Con_vida a" + +#: gajim/roster_window.py:4663 gajim/gui_menu_builder.py:471 +msgid "_Rename…" +msgstr "" + +#: gajim/roster_window.py:4669 gajim/gui_menu_builder.py:493 +#: gajim/data/gui/contact_context_menu.ui:181 +msgid "Remo_ve" +msgstr "Esborra" + +#: gajim/roster_window.py:4759 +msgid "_Manage Contacts" +msgstr "" + +#: gajim/roster_window.py:4765 +msgid "Edit _Groups…" +msgstr "" + +#: gajim/roster_window.py:4774 gajim/gui_menu_builder.py:482 +#: gajim/data/gui/contact_context_menu.ui:143 +msgid "_Unblock" +msgstr "_Desbloquejar" + +#: gajim/roster_window.py:4786 gajim/gtk/dialogs.py:70 +#: gajim/data/gui/filetransfers.ui:12 +msgid "_Remove" +msgstr "" + +#: gajim/roster_window.py:4823 +msgid "_Maximize" +msgstr "" + +#: gajim/roster_window.py:4828 +#, fuzzy +msgid "Re_name" +msgstr "Reescriu" + +#: gajim/roster_window.py:4836 gajim/groupchat_control.py:1680 +msgid "_Leave" +msgstr "" + +#: gajim/roster_window.py:4844 +#, fuzzy +msgid "Execute command" +msgstr "_Executa Comanda...." + +#: gajim/roster_window.py:4852 gajim/data/gui/application_menu.ui:68 +#: gajim/data/gui/contact_context_menu.ui:205 +msgid "_History" +msgstr "_Historial" + +#: gajim/roster_window.py:4945 gajim/gui_interface.py:339 +#: gajim/common/helpers.py:90 gajim/common/contacts.py:221 +msgid "Observers" +msgstr "" + +#: gajim/roster_window.py:4948 +msgid "Observers can see your status, but you are not allowed to see theirs" +msgstr "" + +#: gajim/privatechat_control.py:105 gajim/groupchat_control.py:1225 +#, python-format +msgid "You are now known as %s" +msgstr "" + +#: gajim/privatechat_control.py:107 gajim/groupchat_control.py:1227 +#, python-brace-format +msgid "{nick} is now known as {new_nick}" +msgstr "" + +#: gajim/privatechat_control.py:138 gajim/groupchat_control.py:1254 +#, python-brace-format +msgid "You are now {show}{status}" +msgstr "" + +#: gajim/privatechat_control.py:142 gajim/groupchat_control.py:1258 +#, python-brace-format +msgid "{nick} is now {show}{status}" +msgstr "" + +#: gajim/privatechat_control.py:199 +msgid "Sending private message failed" +msgstr "" + +#: gajim/privatechat_control.py:201 +#, python-format +msgid "You are no longer in group chat \"%(room)s\" or \"%(nick)s\" has left." +msgstr "" + +#: gajim/application.py:81 +msgid "Show the application's version" +msgstr "" + +#: gajim/application.py:88 +msgid "Show only critical errors" +msgstr "" + +#: gajim/application.py:95 +msgid "Separate profile files completely (even history database and plugins)" +msgstr "" + +#: gajim/application.py:103 +msgid "Print XML stanzas and other debug information" +msgstr "" + +#: gajim/application.py:110 +msgid "Use defined profile in configuration directory" +msgstr "" + +#: gajim/application.py:118 +msgid "Set configuration directory" +msgstr "" + +#: gajim/application.py:126 +msgid "Configure logging system" +msgstr "" + +#: gajim/application.py:134 +msgid "Show all warnings" +msgstr "" + +#: gajim/application.py:141 +msgid "Open IPython shell" +msgstr "" + +#: gajim/application.py:148 +msgid "Pops up a window with the next pending event" +msgstr "" + +#: gajim/application.py:154 gajim/data/gui/shortcuts_window.ui:17 +#: data/org.gajim.Gajim.desktop.in:21 +msgid "Start a new chat" +msgstr "" + +#: gajim/application.py:205 gajim/gui_interface.py:131 +msgid "Database Error" +msgstr "" + +#: gajim/gui_interface.py:168 +#, python-format +msgid "HTTP (%(method)s) Authorization for %(url)s (ID: %(id)s)" +msgstr "" + +#: gajim/gui_interface.py:173 +msgid "Do you accept this request?" +msgstr "" + +#: gajim/gui_interface.py:175 +#, python-format +msgid "Do you accept this request (account: %s)?" +msgstr "" + +#: gajim/gui_interface.py:181 +#, fuzzy +msgid "Authorization Request" +msgstr "Autors:" + +#: gajim/gui_interface.py:182 +#, fuzzy +msgid "HTTP Authorization Request" +msgstr "Autors:" + +#: gajim/gui_interface.py:185 gajim/gui_interface.py:376 +#: gajim/gui_interface.py:2002 gajim/gtk/filetransfer.py:339 +#, fuzzy +msgid "_No" +msgstr "No" + +#: gajim/gui_interface.py:203 gajim/gtk/notification.py:189 +#: gajim/gtk/notification.py:216 +msgid "Connection Failed" +msgstr "" + +#: gajim/gui_interface.py:299 +#, python-format +msgid "error while sending %(message)s ( %(error)s )" +msgstr "" + +#: gajim/gui_interface.py:324 gajim/gtk/notification.py:189 +msgid "Subscription request" +msgstr "" + +#: gajim/gui_interface.py:359 +msgid "Authorization accepted" +msgstr "" + +#: gajim/gui_interface.py:360 +#, python-format +msgid "The contact \"%(jid)s\" has authorized you to see their status." +msgstr "" + +#: gajim/gui_interface.py:370 +#, fuzzy +msgid "Subscription Removed" +msgstr "_Subscripció" + +#: gajim/gui_interface.py:371 +#, python-format +msgid "%(name)s (%(jid)s) has removed subscription from you" +msgstr "" + +#: gajim/gui_interface.py:373 +msgid "" +"You will always see this contact as offline.\n" +"Do you want to remove them from your contact list?" +msgstr "" + +#: gajim/gui_interface.py:398 gajim/gtk/notification.py:190 +msgid "Unsubscribed" +msgstr "" + +#: gajim/gui_interface.py:410 +#, python-format +msgid "%(jid)s declined the invitation: %(reason)s" +msgstr "" + +#: gajim/gui_interface.py:414 +#, python-format +msgid "%(jid)s declined the invitation" +msgstr "" + +#: gajim/gui_interface.py:431 gajim/chat_control.py:1606 +#: gajim/gtk/notification.py:188 gajim/gtk/notification.py:214 +#: gajim/gtk/notification.py:286 gajim/gtk/groupchat_invitation.py:33 +#, fuzzy +msgid "Group Chat Invitation" +msgstr "Configuració de Sala" + +#: gajim/gui_interface.py:432 +#, python-format +msgid "%(contact)s invited you to %(chat)s" +msgstr "" + +#: gajim/gui_interface.py:453 +msgid "Certificate Passphrase Required" +msgstr "" + +#: gajim/gui_interface.py:454 +#, python-format +msgid "Enter the certificate passphrase for account %s" +msgstr "" + +#: gajim/gui_interface.py:463 +#, python-format +msgid "Enter your password for account %s" +msgstr "Escriu la teva contrasenya per al compte %s" + +#: gajim/gui_interface.py:475 +msgid "Password Required" +msgstr "" + +#: gajim/gui_interface.py:475 +msgid "Save password" +msgstr "Desa la contrasenya" + +#: gajim/gui_interface.py:544 gajim/gui_interface.py:575 +#: gajim/gtk/notification.py:187 gajim/gtk/notification.py:279 +#: gajim/gtk/filetransfer.py:333 gajim/gtk/filetransfer.py:334 +msgid "File Transfer Error" +msgstr "" + +#: gajim/gui_interface.py:609 +#, python-format +msgid "%s wants to send you a file." +msgstr "" + +#: gajim/gui_interface.py:611 gajim/gtk/notification.py:186 +#: gajim/gtk/notification.py:276 gajim/gtk/filetransfer.py:485 +msgid "File Transfer Request" +msgstr "" + +#: gajim/gui_interface.py:714 +#, fuzzy +msgid "Remote Contact Stopped Transfer" +msgstr "Convida _Contactes" + +#: gajim/gui_interface.py:719 +msgid "Error Opening File" +msgstr "" + +#: gajim/gui_interface.py:729 +#, fuzzy +msgid "SSL Certificate Error" +msgstr "Certificat de client" + +#: gajim/gui_interface.py:738 gajim/gui_interface.py:768 +#: gajim/gui_interface.py:794 gajim/chat_control.py:1573 +#: gajim/gtk/notification.py:187 gajim/gtk/notification.py:282 +msgid "File Transfer Completed" +msgstr "" + +#: gajim/gui_interface.py:742 gajim/gui_interface.py:773 +#: gajim/gui_interface.py:800 gajim/gtk/notification.py:188 +#: gajim/gtk/notification.py:283 +msgid "File Transfer Stopped" +msgstr "" + +#: gajim/gui_interface.py:746 +msgid "File Transfer Failed" +msgstr "" + +#: gajim/gui_interface.py:769 +#, python-format +msgid "%(filename)s received from %(name)s." +msgstr "" + +#: gajim/gui_interface.py:774 +#, python-format +msgid "File transfer of %(filename)s from %(name)s stopped." +msgstr "" + +#: gajim/gui_interface.py:780 +#, python-format +msgid "File transfer of %(filename)s from %(name)s failed." +msgstr "" + +#: gajim/gui_interface.py:795 +#, python-format +msgid "You successfully sent %(filename)s to %(name)s." +msgstr "" + +#: gajim/gui_interface.py:801 +#, python-format +msgid "File transfer of %(filename)s to %(name)s stopped." +msgstr "" + +#: gajim/gui_interface.py:807 +#, python-format +msgid "File transfer of %(filename)s to %(name)s failed." +msgstr "" + +#: gajim/gui_interface.py:919 gajim/gui_interface.py:920 +msgid "Username Conflict" +msgstr "" + +#: gajim/gui_interface.py:921 +msgid "Please enter a new username for your local account" +msgstr "" + +#: gajim/gui_interface.py:925 gajim/gtk/dialogs.py:51 +#: gajim/data/gui/passphrase_dialog.ui:44 +msgid "_OK" +msgstr "" + +#: gajim/gui_interface.py:988 gajim/chat_control.py:763 +#: gajim/chat_control.py:1660 gajim/gtk/notification.py:190 +msgid "Incoming Call" +msgstr "" + +#: gajim/gui_interface.py:990 +#, python-format +msgid "%s is calling" +msgstr "" + +#: gajim/gui_interface.py:1071 gajim/gui_interface.py:1072 +#, fuzzy +msgid "Insecure Connection" +msgstr "Avís abans d'una connexió insegura" + +#: gajim/gui_interface.py:1073 +#, python-format +msgid "" +"You are about to connect to the account %(account)s (%(server)s) using an " +"insecure connection method. This means conversations will not be encrypted. " +"Connecting PLAIN is strongly discouraged." +msgstr "" + +#: gajim/gui_interface.py:1080 gajim/data/gui/groupchat_control.ui:595 +msgid "_Abort" +msgstr "" + +#: gajim/gui_interface.py:1083 +#, fuzzy +msgid "_Connect Anyway" +msgstr "Connexió" + +#: gajim/gui_interface.py:1921 +msgid "Gajim: IPython Console" +msgstr "" + +#: gajim/gui_interface.py:1998 +msgid "Update Check" +msgstr "" + +#: gajim/gui_interface.py:1999 +msgid "Gajim Update Check" +msgstr "" + +#: gajim/gui_interface.py:2000 +msgid "Search for Gajim updates periodically?" +msgstr "" + +#: gajim/gui_interface.py:2005 +msgid "_Search Periodically" +msgstr "" + +#: gajim/gui_interface.py:2045 +#, fuzzy +msgid "Update Available" +msgstr "_No Disponible" + +#: gajim/gui_interface.py:2046 +#, fuzzy +msgid "Gajim Update Available" +msgstr "_No Disponible" + +#: gajim/gui_interface.py:2047 +#, python-format +msgid "There is an update available for Gajim (latest version: %s)" +msgstr "" + +#: gajim/gui_interface.py:2049 +msgid "_Do not show again" +msgstr "" + +#: gajim/gui_interface.py:2051 gajim/gtk/accounts.py:126 +msgid "_Later" +msgstr "" + +#: gajim/gui_interface.py:2054 +msgid "_Update Now" +msgstr "" + +#: gajim/gui_menu_builder.py:358 +#, fuzzy +msgid "I would like to add you to my contact list" +msgstr "Voldria afegir-te a la meva llista de contactes." + +#: gajim/gui_menu_builder.py:435 +msgid "Send Single _Message…" +msgstr "" + +#: gajim/gui_menu_builder.py:450 +msgid "E_xecute Command…" +msgstr "" + +#: gajim/gui_menu_builder.py:458 +msgid "_Manage Transport" +msgstr "" + +#: gajim/gui_menu_builder.py:464 +msgid "_Modify Transport" +msgstr "" + +#: gajim/gui_menu_builder.py:503 gajim/data/gui/contact_context_menu.ui:198 +msgid "_Information" +msgstr "" + +#: gajim/gui_menu_builder.py:516 +#, fuzzy +msgid "Send File" +msgstr "Envia _Fitxer" + +#: gajim/gui_menu_builder.py:517 +msgid "Upload File…" +msgstr "" + +#: gajim/gui_menu_builder.py:518 +msgid "Send File Directly…" +msgstr "" + +#: gajim/gui_menu_builder.py:520 gajim/gtk/accounts.py:734 +#, fuzzy +msgid "Send Read Markers" +msgstr "Enviar paquets _keep-alive" + +#: gajim/gui_menu_builder.py:521 gajim/gtk/accounts.py:710 +#, fuzzy +msgid "Send Chatstate" +msgstr "Inactiva" + +#: gajim/gui_menu_builder.py:522 gajim/data/gui/groupchat_control.ui:307 +#, fuzzy +msgid "Invite Contacts…" +msgstr "Convida _Contactes" + +#: gajim/gui_menu_builder.py:523 gajim/gui_menu_builder.py:741 +#: gajim/gui_menu_builder.py:768 gajim/gui_menu_builder.py:807 +#, fuzzy +msgid "Add to Contact List…" +msgstr "_Afegeix Contacte..." + +#: gajim/gui_menu_builder.py:524 +#, fuzzy +msgid "Block Contact…" +msgstr "Contactes blocats" + +#: gajim/gui_menu_builder.py:525 gajim/data/gui/chat_control.ui:936 +#, fuzzy +msgid "Start Call…" +msgstr "Comença Xat" + +#: gajim/gui_menu_builder.py:526 gajim/gui_menu_builder.py:576 +#: gajim/gui_menu_builder.py:802 gajim/data/gui/groupchat_control.ui:1334 +#, fuzzy +msgid "Information" +msgstr "Informació personal" + +#: gajim/gui_menu_builder.py:527 gajim/gui_menu_builder.py:588 +msgid "History" +msgstr "Historial" + +#: gajim/gui_menu_builder.py:533 gajim/gui_menu_builder.py:710 +#: gajim/gtk/preferences.py:671 gajim/gtk/groupchat_settings.py:36 +#: gajim/gtk/accounts.py:682 +msgid "Disabled" +msgstr "Inhabilitat" + +#: gajim/gui_menu_builder.py:534 gajim/gtk/groupchat_settings.py:37 +#: gajim/gtk/accounts.py:681 +#, fuzzy +msgid "Composing Only" +msgstr "Component només" + +#: gajim/gui_menu_builder.py:535 gajim/gtk/groupchat_settings.py:38 +#, fuzzy +msgid "All Chat States" +msgstr "Tots els estats del xat" + +#: gajim/gui_menu_builder.py:577 +#, fuzzy +msgid "Settings…" +msgstr "Connectors" + +#: gajim/gui_menu_builder.py:578 +#, fuzzy +msgid "Manage Group Chat" +msgstr "Grups de xat" + +#: gajim/gui_menu_builder.py:579 +#, fuzzy +msgid "Rename…" +msgstr "Reescriu" + +#: gajim/gui_menu_builder.py:580 +#, fuzzy +msgid "Change Subject…" +msgstr "Canvia Tema..." + +#: gajim/gui_menu_builder.py:581 +msgid "Upload Avatar…" +msgstr "" + +#: gajim/gui_menu_builder.py:582 +#, fuzzy +msgid "Configure…" +msgstr "_Configura" + +#: gajim/gui_menu_builder.py:583 +#, fuzzy +msgid "Destroy…" +msgstr "_Destrueix Sala" + +#: gajim/gui_menu_builder.py:585 +#, fuzzy +msgid "Change Nickname…" +msgstr "Canvia _Nick..." + +#: gajim/gui_menu_builder.py:586 +#, fuzzy +msgid "Request Voice" +msgstr "Sol.licita Veu" + +#: gajim/gui_menu_builder.py:587 gajim/gui_menu_builder.py:825 +#, fuzzy +msgid "Execute Command…" +msgstr "_Executa Comanda...." + +#: gajim/gui_menu_builder.py:589 +msgid "Leave" +msgstr "" + +#: gajim/gui_menu_builder.py:631 +#, fuzzy +msgid "Add Contact…" +msgstr "_Afegeix Contacte..." + +#: gajim/gui_menu_builder.py:632 gajim/gtk/accounts.py:861 +#: gajim/gtk/accounts.py:899 gajim/gtk/profile.py:53 +msgid "Profile" +msgstr "Perfil" + +#: gajim/gui_menu_builder.py:633 +#, fuzzy +msgid "Send Single Message…" +msgstr "Envia un _Missatge únic..." + +#: gajim/gui_menu_builder.py:634 +#, fuzzy +msgid "Discover Services…" +msgstr "_Descobreix Serveis" + +#: gajim/gui_menu_builder.py:635 gajim/gtk/server_info.py:47 +#, fuzzy +msgid "Server Info" +msgstr "Servidor:" + +#: gajim/gui_menu_builder.py:636 gajim/gtk/accounts.py:312 +#: gajim/data/gui/preferences.ui:853 +msgid "Advanced" +msgstr "Avançat" + +#: gajim/gui_menu_builder.py:637 gajim/gtk/mam_preferences.py:100 +msgid "Archiving Preferences" +msgstr "" + +#: gajim/gui_menu_builder.py:638 +msgid "Blocking List" +msgstr "" + +#: gajim/gui_menu_builder.py:639 +msgid "Bookmarks" +msgstr "Adreces d'interès" + +#: gajim/gui_menu_builder.py:640 +#, fuzzy +msgid "PEP Configuration" +msgstr "Configuració de Sala" + +#: gajim/gui_menu_builder.py:641 +#, fuzzy +msgid "Synchronise History…" +msgstr "Sincronitza els contactes" + +#: gajim/gui_menu_builder.py:643 gajim/gtk/server_info.py:141 +#: gajim/data/gui/groupchat_config.ui:36 +#, fuzzy +msgid "Admin" +msgstr "_Administra" + +#: gajim/gui_menu_builder.py:644 +#, fuzzy +msgid "Send Server Message…" +msgstr "Envia Missatge Privat" + +#: gajim/gui_menu_builder.py:645 +msgid "Set MOTD…" +msgstr "" + +#: gajim/gui_menu_builder.py:646 +msgid "Update MOTD…" +msgstr "" + +#: gajim/gui_menu_builder.py:647 +#, fuzzy +msgid "Delete MOTD…" +msgstr "Suprimeix" + +#: gajim/gui_menu_builder.py:684 +#, fuzzy +msgid "_Add Account…" +msgstr "_Afegeix Contacte..." + +#: gajim/gui_menu_builder.py:690 +#, fuzzy +msgid "_Modify Accounts…" +msgstr "_Modifica Compte..." + +#: gajim/gui_menu_builder.py:700 gajim/data/gui/account_context_menu.ui:79 +#: gajim/data/gui/zeroconf_context_menu.ui:26 +#, fuzzy +msgid "_Modify Account…" +msgstr "_Modifica Compte..." + +#: gajim/gui_menu_builder.py:704 gajim/gtk/accounts.py:51 +msgid "Accounts" +msgstr "Comptes" + +#: gajim/gui_menu_builder.py:734 gajim/gui_menu_builder.py:739 +#, fuzzy +msgid "Copy XMPP Address" +msgstr "_Copia adreça JID/Email" + +#: gajim/gui_menu_builder.py:735 gajim/gui_menu_builder.py:767 +#, fuzzy +msgid "Join Groupchat" +msgstr "Uneix-te al xat en grup" + +#: gajim/gui_menu_builder.py:740 gajim/gui_menu_builder.py:766 +#: gajim/gtk/start_chat.py:636 +#: gajim/data/gui/subscription_request_window.ui:149 +msgid "Start Chat" +msgstr "" + +#: gajim/gui_menu_builder.py:746 +#, fuzzy +msgid "Copy Link Location" +msgstr "_Copia la ubicació de l'enllaç" + +#: gajim/gui_menu_builder.py:747 +#, fuzzy +msgid "Open Link in Browser" +msgstr "_Obri l'enllaç al navegador" + +#: gajim/gui_menu_builder.py:752 +#, fuzzy +msgid "Copy Email Address" +msgstr "_Copia adreça JID/Email" + +#: gajim/gui_menu_builder.py:753 gajim/gui_menu_builder.py:765 +#, fuzzy +msgid "Open Email Composer" +msgstr "_Obre Editor de Correu" + +#: gajim/gui_menu_builder.py:758 +#, fuzzy +msgid "Copy Location" +msgstr "_Copia la ubicació de l'enllaç" + +#: gajim/gui_menu_builder.py:759 gajim/gtk/preferences.py:291 +#, fuzzy +msgid "Show Location" +msgstr "_Copia la ubicació de l'enllaç" + +#: gajim/gui_menu_builder.py:764 +#, fuzzy +msgid "Copy XMPP Address/Email" +msgstr "_Copia adreça JID/Email" + +#: gajim/gui_menu_builder.py:816 +#, fuzzy +msgid "Invite" +msgstr "Con_vida" + +#: gajim/gui_menu_builder.py:832 +#, fuzzy +msgid "Kick" +msgstr "Fes fora" + +#: gajim/gui_menu_builder.py:840 +#, fuzzy +msgid "Ban" +msgstr "_Bandeja" + +#: gajim/gui_menu_builder.py:850 +#, fuzzy +msgid "Make Owner" +msgstr "Propietari" + +#: gajim/gui_menu_builder.py:859 +#, fuzzy +msgid "Make Admin" +msgstr "_Administra" + +#: gajim/gui_menu_builder.py:868 +#, fuzzy +msgid "Make Member" +msgstr "_Membre" + +#: gajim/gui_menu_builder.py:877 +#, fuzzy +msgid "Revoke Member" +msgstr "_Membre" + +#: gajim/gui_menu_builder.py:887 +msgid "Grant Voice" +msgstr "" + +#: gajim/gui_menu_builder.py:890 +#, fuzzy +msgid "Revoke Voice" +msgstr "Sol.licita Veu" + +#: gajim/gui_menu_builder.py:910 +msgid "Copy" +msgstr "" + +#: gajim/chat_control.py:346 gajim/groupchat_control.py:348 +#, fuzzy +msgid "Send File…" +msgstr "Envia _Fitxer" + +#: gajim/chat_control.py:348 gajim/groupchat_control.py:354 +#, fuzzy +msgid "No File Transfer available" +msgstr "Transferència de Fitxers" + +#: gajim/chat_control.py:479 +msgid "Show a list of formattings" +msgstr "Mostra una llista de formats" + +#: gajim/chat_control.py:483 +msgid "This contact does not support HTML" +msgstr "" + +#: gajim/chat_control.py:684 +msgid "Ping?" +msgstr "" + +#: gajim/chat_control.py:687 +#, python-format +msgid "Pong! (%s seconds)" +msgstr "" + +#: gajim/chat_control.py:758 +msgid "Calling…" +msgstr "" + +#: gajim/chat_control.py:783 gajim/chat_control.py:870 +#, fuzzy +msgid "Connection Error" +msgstr "Connexió" + +#: gajim/chat_control.py:811 gajim/data/gui/chat_control.ui:1185 +msgid "Turn Camera on" +msgstr "" + +#: gajim/chat_control.py:822 +msgid "Calling (Video)…" +msgstr "" + +#: gajim/chat_control.py:826 gajim/chat_control.py:834 +#: gajim/chat_control.py:864 +msgid "Turn Camera off" +msgstr "" + +#: gajim/chat_control.py:832 +msgid "Incoming Call (Video)" +msgstr "" + +#: gajim/chat_control.py:1020 +#, python-format +msgid "%(nickname)s from group chat %(room_name)s" +msgstr "" + +#: gajim/chat_control.py:1257 +msgid "Note: Chat history is disabled for this contact." +msgstr "" + +#: gajim/chat_control.py:1259 +msgid "Note: Chat history is disabled for this account." +msgstr "" + +#: gajim/chat_control.py:1260 +#, python-format +msgid "" +"You just received a new message from %s.\n" +"Do you want to close this tab?" +msgstr "" + +#: gajim/chat_control.py:1266 gajim/gtk/remove_account.py:43 +#: gajim/gtk/change_password.py:44 +msgid "Close" +msgstr "" + +#: gajim/chat_control.py:1267 gajim/gtk/notification.py:184 +#: gajim/gtk/notification.py:204 gajim/gtk/notification.py:218 +#: gajim/gtk/notification.py:271 gajim/common/connection_handlers_events.py:237 +msgid "New Message" +msgstr "" + +#: gajim/chat_control.py:1272 gajim/chat_control.py:1579 +#: gajim/chat_control.py:1588 gajim/message_window.py:371 +#: gajim/data/gui/groupchat_control.ui:1117 +#: gajim/data/gui/groupchat_control.ui:1203 +#: gajim/data/gui/groupchat_control.ui:1308 +#: gajim/data/gui/groupchat_control.ui:1997 +msgid "_Close" +msgstr "" + +#: gajim/chat_control.py:1359 +#, python-format +msgid "" +"Subject: %(subject)s\n" +"%(message)s" +msgstr "" + +#: gajim/chat_control.py:1480 +#, python-format +msgid "%(name)s is now %(show)s %(status)s" +msgstr "" + +#: gajim/chat_control.py:1545 +msgid "Size" +msgstr "" + +#: gajim/chat_control.py:1547 gajim/chat_control.py:1609 +#: gajim/gtk/groupchat_invitation.py:67 +#, fuzzy +msgid "_Decline" +msgstr "Desconnectat" + +#: gajim/chat_control.py:1550 gajim/chat_control.py:1611 +#: gajim/chat_control.py:1668 gajim/gtk/dialogs.py:59 +msgid "_Accept" +msgstr "" + +#: gajim/chat_control.py:1577 gajim/gtk/filetransfer.py:259 +#, fuzzy +msgid "Open _Folder" +msgstr "_Obre Carpeta Contenidora" + +#: gajim/chat_control.py:1662 +#, fuzzy +msgid "" +"\n" +"Video Call" +msgstr "Disponible per parlar" + +#: gajim/chat_control.py:1664 +#, fuzzy +msgid "" +"\n" +"Voice Call" +msgstr "_Veu" + +#: gajim/chat_control.py:1666 +#, fuzzy +msgid "_Reject" +msgstr "Assumpte:" + +#: gajim/chat_control.py:1692 gajim/gtk/filetransfer.py:297 +msgid "File transfer stopped" +msgstr "" + +#: gajim/chat_control.py:1697 gajim/gtk/filetransfer.py:275 +#: gajim/gtk/filetransfer.py:284 +msgid "File transfer cancelled" +msgstr "" + +#: gajim/chat_control.py:1698 +msgid "Connection with peer cannot be established." +msgstr "" + +#: gajim/chat_control_base.py:141 gajim/gtk/start_chat.py:649 +#: gajim/gtk/groupchat_invite.py:318 +#, fuzzy, python-format +msgid "Account: %s" +msgstr "Comptes" + +#: gajim/chat_control_base.py:592 +msgid "and authenticated" +msgstr "" + +#: gajim/chat_control_base.py:596 +msgid "and NOT authenticated" +msgstr "" + +#: gajim/chat_control_base.py:600 +#, python-format +msgid "%(type)s encryption is active %(authenticated)s." +msgstr "" + +#: gajim/chat_control_base.py:715 +msgid "_Undo" +msgstr "" + +#: gajim/chat_control_base.py:723 gajim/conversation_textview.py:417 +msgid "_Clear" +msgstr "" + +#: gajim/chat_control_base.py:728 +msgid "Paste as quote" +msgstr "" + +#: gajim/chat_control_base.py:767 +msgid "Paste Image" +msgstr "" + +#: gajim/chat_control_base.py:768 +msgid "You are trying to paste an image" +msgstr "" + +#: gajim/chat_control_base.py:769 +msgid "" +"Are you sure you want to paste your clipboard's image into the chat window?" +msgstr "" + +#: gajim/chat_control_base.py:775 +msgid "_Paste" +msgstr "" + +#: gajim/chat_control_base.py:1361 gajim/gtk/accounts.py:310 +#: gajim/data/gui/profile.ui:17 gajim/data/gui/profile.ui:318 +msgid "Privacy" +msgstr "" + +#: gajim/chat_control_base.py:1362 +msgid "Warning" +msgstr "" + +#: gajim/chat_control_base.py:1363 +#, python-format +msgid "" +"If you send a file to %s, your real XMPP address will be revealed." +msgstr "" + +#: gajim/chat_control_base.py:1368 +#, fuzzy +msgid "_Continue" +msgstr "Con_tinua" + +#: gajim/gajim_remote.py:55 gajim/common/exceptions.py:70 +msgid "D-Bus is not present on this machine or python module is missing" +msgstr "" + +#: gajim/gajim_remote.py:77 +msgid "Shows a help on specific command" +msgstr "" + +#: gajim/gajim_remote.py:80 +msgid "command" +msgstr "" + +#: gajim/gajim_remote.py:81 +msgid "show help on command" +msgstr "" + +#: gajim/gajim_remote.py:85 +msgid "Lists all contacts in the contact list, one for each line" +msgstr "" + +#: gajim/gajim_remote.py:87 gajim/gajim_remote.py:102 gajim/gajim_remote.py:112 +#: gajim/gajim_remote.py:122 gajim/gajim_remote.py:133 +#: gajim/gajim_remote.py:142 gajim/gajim_remote.py:163 +#: gajim/gajim_remote.py:171 gajim/gajim_remote.py:180 +#: gajim/gajim_remote.py:187 +#, fuzzy +msgid "?CLI:account" +msgstr "Compte" + +#: gajim/gajim_remote.py:87 +msgid "show only contacts of the given account" +msgstr "" + +#: gajim/gajim_remote.py:93 +msgid "Prints a list of registered accounts" +msgstr "" + +#: gajim/gajim_remote.py:97 +msgid "Changes the status of account(s)" +msgstr "" + +#: gajim/gajim_remote.py:100 +msgid "?CLI:status" +msgstr "" + +#: gajim/gajim_remote.py:100 +msgid "" +"one of: offline, online, chat, away, xa, dnd. If not set, use account's " +"previous status" +msgstr "" + +#: gajim/gajim_remote.py:101 gajim/gajim_remote.py:121 +#: gajim/gajim_remote.py:132 gajim/gajim_remote.py:141 +#, fuzzy +msgid "?CLI:message" +msgstr "missatge" + +#: gajim/gajim_remote.py:101 +msgid "status message" +msgstr "" + +#: gajim/gajim_remote.py:102 +msgid "" +"change status of account \"account\". If not specified, try to change status " +"of all accounts that have \"sync with global status\" option set" +msgstr "" + +#: gajim/gajim_remote.py:108 +msgid "Changes the priority of account(s)" +msgstr "" + +#: gajim/gajim_remote.py:110 +#, fuzzy +msgid "?CLI:priority" +msgstr "Priori_tat:" + +#: gajim/gajim_remote.py:110 +msgid "priority you want to give to the account" +msgstr "" + +#: gajim/gajim_remote.py:112 +msgid "" +"change the priority of the given account. If not specified, change status of " +"all accounts that have \"sync with global status\" option set" +msgstr "" + +#: gajim/gajim_remote.py:118 +msgid "" +"Sends new chat message to a contact in the contact list. Account is optional." +msgstr "" + +#: gajim/gajim_remote.py:120 gajim/gajim_remote.py:130 +msgid "XMPP Address of the contact that will receive the message" +msgstr "" + +#: gajim/gajim_remote.py:121 gajim/gajim_remote.py:132 +#: gajim/gajim_remote.py:141 +msgid "message contents" +msgstr "" + +#: gajim/gajim_remote.py:122 gajim/gajim_remote.py:133 +#: gajim/gajim_remote.py:142 +msgid "if specified, the message will be sent using this account" +msgstr "" + +#: gajim/gajim_remote.py:127 +msgid "" +"Sends a chat message to someone on your contact list. Account is optional." +msgstr "" + +#: gajim/gajim_remote.py:131 +msgid "subject" +msgstr "" + +#: gajim/gajim_remote.py:131 +msgid "message subject" +msgstr "" + +#: gajim/gajim_remote.py:138 +msgid "Sends new message to a group chat you've joined." +msgstr "" + +#: gajim/gajim_remote.py:140 +msgid "XMPP Address of the group chat that will receive the message" +msgstr "" + +#: gajim/gajim_remote.py:147 +msgid "Gets detailed info on a contact" +msgstr "" + +#: gajim/gajim_remote.py:149 gajim/gajim_remote.py:162 +#: gajim/gajim_remote.py:170 +msgid "XMPP Address of the contact" +msgstr "" + +#: gajim/gajim_remote.py:153 +msgid "Gets detailed info on a account" +msgstr "" + +#: gajim/gajim_remote.py:155 +msgid "Name of the account" +msgstr "" + +#: gajim/gajim_remote.py:159 +msgid "Sends file to a contact" +msgstr "" + +#: gajim/gajim_remote.py:161 +msgid "file" +msgstr "" + +#: gajim/gajim_remote.py:161 +msgid "File path" +msgstr "" + +#: gajim/gajim_remote.py:163 +msgid "if specified, file will be sent using this account" +msgstr "" + +#: gajim/gajim_remote.py:168 +#, fuzzy +msgid "Removes contact from contact list" +msgstr "Esborra transferència de fitxer de la llista." + +#: gajim/gajim_remote.py:171 +msgid "if specified, contact is taken from the contact list of this account" +msgstr "" + +#: gajim/gajim_remote.py:178 +msgid "Returns current status (the global one unless account is specified)" +msgstr "" + +#: gajim/gajim_remote.py:185 +msgid "" +"Returns current status message (the global one unless account is specified)" +msgstr "" + +#: gajim/gajim_remote.py:192 +msgid "Returns number of unread messages" +msgstr "" + +#: gajim/gajim_remote.py:197 +msgid "Sends custom XML" +msgstr "" + +#: gajim/gajim_remote.py:199 +msgid "XML to send" +msgstr "" + +#: gajim/gajim_remote.py:200 +msgid "" +"Account to which the XML will be sent; if not specified, XML will be sent to " +"all accounts" +msgstr "" + +#: gajim/gajim_remote.py:207 +msgid "Check if Gajim is running" +msgstr "" + +#: gajim/gajim_remote.py:233 +msgid "Missing argument \"contact_jid\"" +msgstr "" + +#: gajim/gajim_remote.py:253 +#, python-format +msgid "" +"'%s' is not in your contact list.\n" +"Please specify account for sending the message." +msgstr "" + +#: gajim/gajim_remote.py:256 +msgid "You have no active account" +msgstr "" + +#: gajim/gajim_remote.py:304 +msgid "It seems Gajim is not running. So you can't use gajim-remote." +msgstr "" + +#: gajim/gajim_remote.py:331 +#, python-format +msgid "" +"Usage: %(basename)s %(command)s %(arguments)s \n" +"\t %(help)s" +msgstr "" + +#: gajim/gajim_remote.py:335 +msgid "Arguments:" +msgstr "" + +#: gajim/gajim_remote.py:339 +#, python-format +msgid "%s not found" +msgstr "" + +#: gajim/gajim_remote.py:345 +#, python-format +msgid "" +"Usage:\n" +" %s command [arguments]\n" +"\n" +"Command is one of:\n" +msgstr "" + +#: gajim/gajim_remote.py:415 +#, python-format +msgid "" +"Too many arguments. \n" +"Type \"%(basename)s help %(command)s\" for more info" +msgstr "" + +#: gajim/gajim_remote.py:420 +#, python-format +msgid "" +"Argument \"%(arg)s\" is not specified. \n" +"Type \"%(basename)s help %(command)s\" for more info" +msgstr "" + +#: gajim/dialogs.py:70 +#, python-format +msgid "Contact name: %s" +msgstr "" + +#: gajim/dialogs.py:72 +#, python-format +msgid "XMPP Address: %s" +msgstr "" + +#: gajim/dialogs.py:189 +msgid "Group" +msgstr "" + +#: gajim/dialogs.py:196 +msgid "In the group" +msgstr "" + +#: gajim/dialogs.py:211 gajim/gtk/discovery.py:522 +msgid "You are not connected to the server" +msgstr "" + +#: gajim/dialogs.py:212 +msgid "Without a connection, you can not synchronise your contacts." +msgstr "" + +#: gajim/dialogs.py:223 gajim/dialogs.py:294 +#: gajim/gtk/roster_item_exchange.py:83 gajim/gtk/discovery.py:826 +#: gajim/gtk/discovery.py:1650 gajim/gtk/discovery.py:1896 +#: gajim/gtk/history.py:99 gajim/gtk/vcard_grid.py:34 +#: gajim/data/gui/bookmarks.ui:66 +msgid "Name" +msgstr "" + +#: gajim/dialogs.py:226 gajim/data/gui/preferences.ui:604 +#: gajim/data/gui/server_info.ui:146 +msgid "Server" +msgstr "" + +#: gajim/dialogs.py:262 +msgid "This account is not connected to the server" +msgstr "" + +#: gajim/dialogs.py:263 +msgid "You cannot synchronize with an account unless it is connected." +msgstr "" + +#: gajim/dialogs.py:292 +msgid "Synchronise" +msgstr "" + +#: gajim/vcard.py:284 +msgid "?Client:Unknown" +msgstr "" + +#: gajim/vcard.py:289 +msgid "?OS:Unknown" +msgstr "" + +#: gajim/vcard.py:319 gajim/vcard.py:322 +msgid "?Time:Unknown" +msgstr "" + +#: gajim/vcard.py:373 +msgid "?Role in Group Chat:Role:" +msgstr "" + +#: gajim/vcard.py:377 +msgid "Affiliation:" +msgstr "" + +#: gajim/vcard.py:384 +msgid "" +"This contact is interested in your presence information, but you are not " +"interested in their presence" +msgstr "" + +#: gajim/vcard.py:386 +msgid "" +"You are interested in the contact's presence information, but it is not " +"mutual" +msgstr "" + +#: gajim/vcard.py:388 +msgid "The contact and you want to exchange presence information" +msgstr "" + +#: gajim/vcard.py:390 +msgid "" +"You and the contact have a mutual disinterest in each-others presence " +"information" +msgstr "" + +#: gajim/vcard.py:396 +msgid "You are waiting contact's answer about your subscription request" +msgstr "" + +#: gajim/vcard.py:398 +msgid "There is no pending subscription request." +msgstr "" + +#: gajim/vcard.py:403 gajim/vcard.py:453 gajim/vcard.py:549 +msgid " resource with priority " +msgstr "" + +#: gajim/conversation_textview.py:65 +msgid "Untrusted" +msgstr "" + +#: gajim/conversation_textview.py:68 +msgid "Trust Not Decided" +msgstr "" + +#: gajim/conversation_textview.py:71 +msgid "Unverified" +msgstr "" + +#: gajim/conversation_textview.py:74 +#, fuzzy +msgid "Verified" +msgstr "_Verifica" + +#: gajim/conversation_textview.py:225 +msgid "" +"Text below this line is what has been said since the\n" +"last time you paid attention to this group chat" +msgstr "" + +#: gajim/conversation_textview.py:428 +msgid "_Quote" +msgstr "" + +#: gajim/conversation_textview.py:436 +#, python-format +msgid "_Actions for \"%s\"" +msgstr "" + +#: gajim/conversation_textview.py:450 +msgid "Read _Wikipedia Article" +msgstr "" + +#: gajim/conversation_textview.py:455 +msgid "Look it up in _Dictionary" +msgstr "" + +#: gajim/conversation_textview.py:472 +#, python-format +msgid "Dictionary URL is missing an \"%s\" and it is not WIKTIONARY" +msgstr "" + +#: gajim/conversation_textview.py:486 +#, python-format +msgid "Web Search URL is missing an \"%s\"" +msgstr "" + +#: gajim/conversation_textview.py:489 +msgid "Web _Search for it" +msgstr "" + +#: gajim/conversation_textview.py:495 +msgid "Open as _Link" +msgstr "" + +#: gajim/conversation_textview.py:770 +msgid "Invalid URL" +msgstr "" + +#: gajim/conversation_textview.py:860 +msgid "" +"Message corrected. Original message:\n" +"{}" +msgstr "" + +#: gajim/conversation_textview.py:1031 +#, fuzzy +msgid "Not encrypted" +msgstr "Entrada següent" + +#: gajim/conversation_textview.py:1034 +#, python-format +msgid "Encrypted (%s)" +msgstr "" + +#: gajim/conversation_textview.py:1141 gajim/gtk/history.py:618 +#, python-format +msgid "Subject: %s\n" +msgstr "" + +#: gajim/conversation_textview.py:1250 +msgid "Received" +msgstr "" + +#: gajim/conversation_textview.py:1272 +msgid "?Message state:Read" +msgstr "" + +#: gajim/groupchat_control.py:352 +#, fuzzy, python-format +msgid "Send File (max. %s MiB)…" +msgstr "Envia _Fitxer" + +#: gajim/groupchat_control.py:497 +#, fuzzy, python-format +msgid "%s has been invited to this group chat" +msgstr "Sobrenom:" + +#: gajim/groupchat_control.py:512 gajim/dialog_messages.py:31 +#: gajim/dialog_messages.py:36 gajim/gtk/single_message.py:238 +#, fuzzy +msgid "Invalid XMPP Address" +msgstr "Gestiona Sala" + +#: gajim/groupchat_control.py:575 +msgid "Loading avatar failed" +msgstr "" + +#: gajim/groupchat_control.py:595 +#, python-format +msgid "Avatar upload failed: %s" +msgstr "" + +#: gajim/groupchat_control.py:598 +msgid "Avatar upload successful" +msgstr "" + +#: gajim/groupchat_control.py:616 +#, fuzzy, python-format +msgid "Kick %s" +msgstr "Fes fora" + +#: gajim/groupchat_control.py:625 +#, python-format +msgid "Ban %s" +msgstr "" + +#: gajim/groupchat_control.py:684 +msgid "Insert Nickname" +msgstr "" + +#: gajim/groupchat_control.py:775 gajim/groupchat_control.py:776 +#, fuzzy +msgid "Voice Request" +msgstr "_Veu" + +#: gajim/groupchat_control.py:777 +#, python-format +msgid "%(nick)s from %(room_name)s requests voice" +msgstr "" + +#: gajim/groupchat_control.py:781 +#, fuzzy +msgid "_Approve" +msgstr "Aprova" + +#: gajim/groupchat_control.py:1007 +#, python-format +msgid "%(nick)s has set the subject to %(subject)s" +msgstr "" + +#: gajim/groupchat_control.py:1023 +msgid "Group chat now shows unavailable members" +msgstr "" + +#: gajim/groupchat_control.py:1026 +#, fuzzy +msgid "Group chat now does not show unavailable members" +msgstr "Grups de xat" + +#: gajim/groupchat_control.py:1030 +msgid "A setting not related to privacy has been changed" +msgstr "" + +#: gajim/groupchat_control.py:1037 gajim/groupchat_control.py:1197 +#, fuzzy +msgid "Conversations are stored on the server" +msgstr "Informació sobre tu, tal i com està guardada al servidor" + +#: gajim/groupchat_control.py:1040 +#, fuzzy +msgid "Conversations are not stored on the server" +msgstr "Informació sobre tu, tal i com està guardada al servidor" + +#: gajim/groupchat_control.py:1043 +#, fuzzy +msgid "Group chat is now non-anonymous" +msgstr "Grups de xat" + +#: gajim/groupchat_control.py:1047 +#, fuzzy +msgid "Group chat is now semi-anonymous" +msgstr "Grups de xat" + +#: gajim/groupchat_control.py:1051 +#, fuzzy +msgid "Group chat is now fully anonymous" +msgstr "Grups de xat" + +#: gajim/groupchat_control.py:1101 +#, python-format +msgid "Ping? (%s)" +msgstr "" + +#: gajim/groupchat_control.py:1104 +#, python-format +msgid "Pong! (%(nick)s %(delay)s s.)" +msgstr "" + +#: gajim/groupchat_control.py:1188 +#, python-format +msgid "You (%s) joined the group chat" +msgstr "" + +#: gajim/groupchat_control.py:1193 +#, fuzzy +msgid "Any participant is allowed to see your full XMPP Address" +msgstr "Qualsevol membre pot veure el teu JID" + +#: gajim/groupchat_control.py:1201 +msgid "The server has assigned or modified your nickname in this group chat" +msgstr "" + +#: gajim/groupchat_control.py:1211 +msgid "A new group chat has been created" +msgstr "" + +#: gajim/groupchat_control.py:1215 +#, fuzzy +msgid "Failed to Configure Group Chat" +msgstr "Grups de xat" + +#: gajim/groupchat_control.py:1274 gajim/groupchat_control.py:1304 +#: gajim/groupchat_control.py:1332 gajim/groupchat_control.py:1391 +#, python-brace-format +msgid " by {actor}" +msgstr "" + +#: gajim/groupchat_control.py:1277 +#, python-brace-format +msgid "** Your Affiliation has been set to {affiliation}{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1283 +#, python-brace-format +msgid "** Affiliation of {nick} has been set to {affiliation}{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1307 +#, python-brace-format +msgid "** Your Role has been set to {role}{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1312 +#, python-brace-format +msgid "** Role of {nick} has been set to {role}{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1335 +#, python-brace-format +msgid "You have been removed from the group chat{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1340 +#, python-brace-format +msgid "You have left due to an error{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1346 +#, python-brace-format +msgid "You have been kicked{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1353 +#, python-brace-format +msgid "You have been banned{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1360 gajim/groupchat_control.py:1423 +#, fuzzy +msgid ": Affiliation changed" +msgstr "_Accions" + +#: gajim/groupchat_control.py:1366 gajim/groupchat_control.py:1428 +msgid ": Group chat configuration changed to members-only" +msgstr "" + +#: gajim/groupchat_control.py:1394 +#, python-brace-format +msgid "{nick} has been removed from the group chat{by}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1402 +#, python-brace-format +msgid "{nick} has left due to an error{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1408 +#, python-brace-format +msgid "{nick} has been kicked{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1416 +#, python-brace-format +msgid "{nick} has been banned{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1433 +#, python-brace-format +msgid "{nick} has left{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1451 +#, python-format +msgid "%s has joined the group chat" +msgstr "" + +#: gajim/groupchat_control.py:1463 +#, fuzzy +msgid "Failed to Join Group Chat" +msgstr "Uneix-te al xat en grup" + +#: gajim/groupchat_control.py:1469 +#, fuzzy +msgid "Failed to Create Group Chat" +msgstr "Grups de xat" + +#: gajim/groupchat_control.py:1485 +#, fuzzy +msgid "Group chat has been destroyed" +msgstr "Grups de xat" + +#: gajim/groupchat_control.py:1490 +#, python-format +msgid "You can join this group chat instead: xmpp:%s?join" +msgstr "" + +#: gajim/groupchat_control.py:1672 +#, fuzzy +msgid "Leave Group Chat" +msgstr "Grups de xat" + +#: gajim/groupchat_control.py:1673 +msgid "Are you sure you want to leave this group chat?" +msgstr "" + +#: gajim/groupchat_control.py:1674 +#, python-format +msgid "If you close this window, you will leave '%s'." +msgstr "" + +#: gajim/message_window.py:365 +msgid "Close Tabs" +msgstr "" + +#: gajim/message_window.py:366 +msgid "You are about to close several tabs" +msgstr "" + +#: gajim/message_window.py:367 +msgid "Do you really want to close all of them?" +msgstr "" + +#: gajim/message_window.py:526 +msgid "?Noun:Chats" +msgstr "" + +#: gajim/message_window.py:530 gajim/data/gui/preferences.ui:155 +#, fuzzy +msgid "Group Chats" +msgstr "Grups de xat" + +#: gajim/message_window.py:534 +msgid "Private Chats" +msgstr "" + +#: gajim/message_window.py:540 +msgid "Messages" +msgstr "" + +#: gajim/dialog_messages.py:37 +#, python-format +msgid "" +"It is not possible to send a message to %s. This XMPP Address is not valid." +msgstr "" + +#: gajim/dialog_messages.py:42 +#, fuzzy +msgid "Unread Events" +msgstr "_Canvia Missatge d'Estat" + +#: gajim/dialog_messages.py:43 +msgid "Read or acknowledge all pending events before removing this account." +msgstr "" + +#: gajim/dialog_messages.py:48 +msgid "Invalid Form" +msgstr "" + +#: gajim/dialog_messages.py:49 +msgid "The form is not filled correctly." +msgstr "" + +#: gajim/dialog_messages.py:53 +#, fuzzy +msgid "No Connection Available" +msgstr "_No Disponible" + +#: gajim/dialog_messages.py:54 +msgid "Your message can not be sent until you are connected." +msgstr "" + +#: gajim/dialog_messages.py:58 +msgid "XMPP Address Already in List" +msgstr "" + +#: gajim/dialog_messages.py:59 +msgid "" +"The XMPP Address you entered is already in the list. Please choose another " +"one." +msgstr "" + +#: gajim/dialog_messages.py:64 +#, fuzzy +msgid "Invalid Answer" +msgstr "Gestiona Sala" + +#: gajim/dialog_messages.py:65 +#, python-format +msgid "Transport %(name)s answered wrongly to register request: %(error)s" +msgstr "" + +#: gajim/dialog_messages.py:70 +msgid "Wrong Custom Hostname" +msgstr "" + +#: gajim/dialog_messages.py:71 +#, python-format +msgid "Custom hostname \"%s\" is wrong. It will be ignored." +msgstr "" + +#: gajim/dialog_messages.py:75 +msgid "Registration Succeeded" +msgstr "" + +#: gajim/dialog_messages.py:76 +#, python-format +msgid "Registration with agent %s succeeded." +msgstr "" + +#: gajim/dialog_messages.py:80 +msgid "Registration Failed" +msgstr "" + +#: gajim/dialog_messages.py:81 +#, python-format +msgid "" +"Registration with agent %(agent)s failed with error %(error)s: %(error_msg)s" +msgstr "" + +#: gajim/dialog_messages.py:86 +msgid "GStreamer Error" +msgstr "" + +#: gajim/dialog_messages.py:87 +#, python-format +msgid "" +"Error: %(error)s\n" +"Debug: %(debug)s" +msgstr "" + +#: gajim/dialog_messages.py:91 +#, fuzzy +msgid "Wrong Host" +msgstr "Servidor intermediari:" + +#: gajim/dialog_messages.py:92 +msgid "Invalid local address? :-O" +msgstr "" + +#: gajim/dialog_messages.py:96 +msgid "Avahi Error" +msgstr "" + +#: gajim/dialog_messages.py:97 +#, python-format +msgid "" +"%s\n" +"Link-local messaging might not work properly." +msgstr "" + +#: gajim/dialog_messages.py:101 +msgid "Could not Open File" +msgstr "" + +#: gajim/command_system/mapping.py:169 gajim/command_system/mapping.py:179 +#: gajim/command_system/mapping.py:199 +msgid "Missing arguments" +msgstr "" + +#: gajim/command_system/mapping.py:266 +msgid "Too many arguments" +msgstr "" + +#: gajim/command_system/implementation/middleware.py:76 +msgid "Error during command execution!" +msgstr "" + +#: gajim/command_system/implementation/execute.py:60 +msgid "Execute expression inside a shell, show output" +msgstr "" + +#: gajim/command_system/implementation/execute.py:74 +msgid "" +"Command disabled. This command can be enabled by setting " +"'command_system_execute' to True in ACE (Advanced Configuration Editor)." +msgstr "" + +#: gajim/command_system/implementation/execute.py:125 +msgid "Execute expression inside a shell, send output" +msgstr "" + +#: gajim/command_system/implementation/standard.py:52 +msgid "" +"Show help on a given command or a list of available commands if -a is given" +msgstr "" + +#: gajim/command_system/implementation/standard.py:81 +msgid "Send a message to the contact" +msgstr "" + +#: gajim/command_system/implementation/standard.py:86 +msgid "Send action (in the third person) to the current chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:91 +msgid "Show logged messages which mention given text" +msgstr "" + +#: gajim/command_system/implementation/standard.py:96 +#, python-format +msgid "%s: Nothing found" +msgstr "" + +#: gajim/command_system/implementation/standard.py:102 +msgid "Limit must be an integer" +msgstr "" + +#: gajim/command_system/implementation/standard.py:127 +msgid "" +"\n" +" Set the current status\n" +"\n" +" Status can be given as one of the following values:\n" +" online, away, chat, xa, dnd.\n" +" " +msgstr "" + +#: gajim/command_system/implementation/standard.py:145 +msgid "Set the current status to away" +msgstr "" + +#: gajim/command_system/implementation/standard.py:148 +#: gajim/common/helpers.py:200 gajim/common/modules/adhoc_commands.py:122 +msgid "Away" +msgstr "Absent" + +#: gajim/command_system/implementation/standard.py:159 +msgid "Set the current status to online" +msgstr "" + +#: gajim/command_system/implementation/standard.py:162 +msgid "Available" +msgstr "Disponible" + +#: gajim/command_system/implementation/standard.py:173 +msgid "Send a disco info request" +msgstr "" + +#: gajim/command_system/implementation/standard.py:192 +#: gajim/command_system/implementation/standard.py:273 +msgid "Clear the text window" +msgstr "" + +#: gajim/command_system/implementation/standard.py:197 +#: gajim/command_system/implementation/standard.py:425 +msgid "Send a ping to the contact" +msgstr "" + +#: gajim/command_system/implementation/standard.py:201 +#: gajim/command_system/implementation/standard.py:429 +msgid "Command is not supported for zeroconf accounts" +msgstr "" + +#: gajim/command_system/implementation/standard.py:205 +msgid "Send DTMF sequence through an open voice chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:208 +msgid "No open voice chats with the contact" +msgstr "" + +#: gajim/command_system/implementation/standard.py:211 +#, python-format +msgid "%s is not a valid tone" +msgstr "" + +#: gajim/command_system/implementation/standard.py:218 +msgid "Toggle Voice Chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:221 +#, fuzzy +msgid "Voice chats are not available" +msgstr "Transferència de Fitxers" + +#: gajim/command_system/implementation/standard.py:228 +msgid "Toggle Video Chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:231 +#, fuzzy +msgid "Video chats are not available" +msgstr "Transferència de Fitxers" + +#: gajim/command_system/implementation/standard.py:238 +msgid "Send a message to the contact that will attract their attention" +msgstr "" + +#: gajim/command_system/implementation/standard.py:278 +msgid "Change your nickname in a group chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:283 +msgid "Invalid nickname" +msgstr "" + +#: gajim/command_system/implementation/standard.py:290 +msgid "Open a private chat window with a specified participant" +msgstr "" + +#: gajim/command_system/implementation/standard.py:296 +#: gajim/command_system/implementation/standard.py:306 +#: gajim/command_system/implementation/standard.py:360 +#: gajim/command_system/implementation/standard.py:373 +#: gajim/command_system/implementation/standard.py:385 +msgid "Nickname not found" +msgstr "" + +#: gajim/command_system/implementation/standard.py:299 +msgid "" +"Open a private chat window with a specified participant and send him a " +"message" +msgstr "" + +#: gajim/command_system/implementation/standard.py:309 +msgid "Display or change a group chat topic" +msgstr "" + +#: gajim/command_system/implementation/standard.py:318 +msgid "Invite a user to a group chat for a reason" +msgstr "" + +#: gajim/command_system/implementation/standard.py:325 +msgid "Join a group chat given by an XMPP Address" +msgstr "" + +#: gajim/command_system/implementation/standard.py:335 +msgid "" +"Leave the group chat, optionally giving a reason, and close tab or window" +msgstr "" + +#: gajim/command_system/implementation/standard.py:341 +msgid "" +"\n" +" Ban user by a nick or a JID from a groupchat\n" +"\n" +" If given nickname is not found it will be treated as a JID.\n" +" " +msgstr "" + +#: gajim/command_system/implementation/standard.py:357 +msgid "Kick user from group chat by nickname" +msgstr "" + +#: gajim/command_system/implementation/standard.py:366 +msgid "" +"Set participant role in group chat.\n" +" Role can be given as one of the following values:\n" +" moderator, participant, visitor, none" +msgstr "" + +#: gajim/command_system/implementation/standard.py:371 +msgid "Invalid role given" +msgstr "" + +#: gajim/command_system/implementation/standard.py:378 +msgid "" +"Set participant affiliation in group chat.\n" +" Affiliation can be given as one of the following values:\n" +" owner, admin, member, outcast, none" +msgstr "" + +#: gajim/command_system/implementation/standard.py:383 +msgid "Invalid affiliation given" +msgstr "" + +#: gajim/command_system/implementation/standard.py:393 +msgid "Display names of all group chat participants" +msgstr "" + +#: gajim/command_system/implementation/standard.py:415 +msgid "Forbid a participant to send you public or private messages" +msgstr "" + +#: gajim/command_system/implementation/standard.py:420 +msgid "Allow a participant to send you public or private messages" +msgstr "" + +#: gajim/command_system/implementation/standard.py:432 +#, fuzzy +msgid "Unknown nickname" +msgstr "Sobrenom:" + +#: gajim/command_system/implementation/custom.py:114 +msgid "The same as using a doc-string, except it supports translation" +msgstr "" + +#: gajim/gtk/ssl_error_dialog.py:36 gajim/data/gui/ssl_error_dialog.ui:16 +#, fuzzy +msgid "SSL Certificate Verification Error" +msgstr "Certificat de client" + +#: gajim/gtk/ssl_error_dialog.py:55 +#, python-format +msgid "" +"There was an error while attempting to verify the SSL certificate of your " +"XMPP server (%s)." +msgstr "" + +#: gajim/gtk/ssl_error_dialog.py:58 +#, python-format +msgid "Unknown SSL error '%s'" +msgstr "" + +#: gajim/gtk/avatar_selector.py:84 +msgid "Select a picture or drop it here" +msgstr "" + +#: gajim/gtk/status_change.py:62 gajim/gtk/preferences.py:627 +#: gajim/gtk/preferences.py:655 +msgid "Status Message" +msgstr "" + +#: gajim/gtk/status_change.py:330 +#, fuzzy +msgid "No activity" +msgstr "Activitat:" + +#: gajim/gtk/status_change.py:370 gajim/gtk/status_change.py:383 +#: gajim/gtk/status_change.py:488 +#, fuzzy +msgid "No mood selected" +msgstr "No s'ha seleccionat cap clau" + +#: gajim/gtk/status_change.py:382 +msgid "No mood" +msgstr "" + +#: gajim/gtk/status_change.py:439 +msgid "Overwrite" +msgstr "" + +#: gajim/gtk/status_change.py:440 +msgid "Overwrite Status Message?" +msgstr "" + +#: gajim/gtk/status_change.py:441 +msgid "This name is already in use. Do you want to overwrite this preset?" +msgstr "" + +#: gajim/gtk/status_change.py:445 gajim/plugins/gui.py:292 +msgid "_Overwrite" +msgstr "" + +#: gajim/gtk/status_change.py:453 +#, fuzzy +msgid "Status Preset" +msgstr "_Canvia Missatge d'Estat" + +#: gajim/gtk/status_change.py:454 +#, fuzzy +msgid "Save status as preset" +msgstr "Guardar com a Configuració..." + +#: gajim/gtk/status_change.py:455 +msgid "Please assign a name to this status message preset" +msgstr "" + +#: gajim/gtk/status_change.py:458 gajim/data/gui/profile.ui:336 +msgid "_Save" +msgstr "" + +#: gajim/gtk/status_change.py:460 +#, fuzzy +msgid "New Status" +msgstr "Estat" + +#: gajim/gtk/advanced_config.py:46 gajim/gtk/advanced_config.py:144 +msgid "Activated" +msgstr "" + +#: gajim/gtk/advanced_config.py:47 +msgid "Deactivated" +msgstr "" + +#: gajim/gtk/advanced_config.py:52 +msgid "?config type:Boolean" +msgstr "" + +#: gajim/gtk/advanced_config.py:53 +msgid "?config type:Integer" +msgstr "" + +#: gajim/gtk/advanced_config.py:54 +msgid "?config type:Text" +msgstr "" + +#: gajim/gtk/advanced_config.py:65 +#, fuzzy +msgid "Advanced Configuration Editor (ACE)" +msgstr "Editor de Configuració Avançada" + +#: gajim/gtk/advanced_config.py:80 +#, fuzzy +msgid "?config:Preference Name" +msgstr "Preferències" + +#: gajim/gtk/advanced_config.py:91 +#, fuzzy +msgid "?config:Value" +msgstr "_Configura" + +#: gajim/gtk/advanced_config.py:100 +msgid "?config:Type" +msgstr "" + +#: gajim/gtk/advanced_config.py:133 +#, fuzzy +msgid "?config description:None" +msgstr "Descripció:" + +#: gajim/gtk/preferences.py:63 gajim/data/gui/shortcuts_window.ui:31 +msgid "Preferences" +msgstr "Preferències" + +#: gajim/gtk/preferences.py:185 +msgid "Detached contact list with detached chats" +msgstr "" + +#: gajim/gtk/preferences.py:186 +msgid "Detached contact list with single chat" +msgstr "" + +#: gajim/gtk/preferences.py:187 +msgid "Single window for everything" +msgstr "" + +#: gajim/gtk/preferences.py:188 +msgid "Detached contact list with chats grouped by account" +msgstr "" + +#: gajim/gtk/preferences.py:189 +msgid "Detached contact list with chats grouped by type" +msgstr "" + +#: gajim/gtk/preferences.py:193 gajim/data/gui/mam_preferences.ui:14 +msgid "Always" +msgstr "Sempre" + +#: gajim/gtk/preferences.py:194 gajim/data/gui/mam_preferences.ui:22 +msgid "Never" +msgstr "Mai" + +#: gajim/gtk/preferences.py:195 +msgid "Restore last state" +msgstr "" + +#: gajim/gtk/preferences.py:199 +msgid "Top" +msgstr "" + +#: gajim/gtk/preferences.py:200 +msgid "Bottom" +msgstr "" + +#: gajim/gtk/preferences.py:201 +msgid "Left" +msgstr "" + +#: gajim/gtk/preferences.py:202 +msgid "Right" +msgstr "" + +#: gajim/gtk/preferences.py:207 +msgid "Window Layout" +msgstr "" + +#: gajim/gtk/preferences.py:214 +#, fuzzy +msgid "Contact List on Startup" +msgstr "C_onecta al servidor quan s'inicia" + +#: gajim/gtk/preferences.py:218 +#, fuzzy +msgid "Show contact list when starting Gajim" +msgstr "C_onecta al servidor quan s'inicia" + +#: gajim/gtk/preferences.py:221 +#, fuzzy +msgid "Quit on Close" +msgstr "_Minimitza en tancar" + +#: gajim/gtk/preferences.py:224 +#, fuzzy +msgid "Quit when closing contact list" +msgstr "Mostra els contactes desconnectats" + +#: gajim/gtk/preferences.py:227 +#, fuzzy +msgid "Tab Position" +msgstr "Descripció:" + +#: gajim/gtk/preferences.py:231 +#, fuzzy +msgid "Placement of chat window tabs" +msgstr "Amaga la finestra" + +#: gajim/gtk/preferences.py:247 +#, fuzzy +msgid "Merge Accounts" +msgstr "Comptes" + +#: gajim/gtk/preferences.py:253 +#, fuzzy +msgid "Enable Metacontacts" +msgstr "Crea nou missatge" + +#: gajim/gtk/preferences.py:258 +#, fuzzy +msgid "Show Avatars" +msgstr "Característiques" + +#: gajim/gtk/preferences.py:264 gajim/gtk/preferences.py:353 +#, fuzzy +msgid "Show Status Message" +msgstr "_Canvia Missatge d'Estat" + +#: gajim/gtk/preferences.py:270 gajim/gtk/preferences.py:411 +#, fuzzy +msgid "Sort Contacts by Status" +msgstr "Prohibeix el contacte veure el meu estat" + +#: gajim/gtk/preferences.py:276 +#, fuzzy +msgid "Show Mood" +msgstr "_Copia la ubicació de l'enllaç" + +#: gajim/gtk/preferences.py:281 +#, fuzzy +msgid "Show Activity" +msgstr "Estableix Activitat" + +#: gajim/gtk/preferences.py:286 +#, fuzzy +msgid "Show Tune" +msgstr "Característiques" + +#: gajim/gtk/preferences.py:323 +msgid "Needs gspell to be installed" +msgstr "" + +#: gajim/gtk/preferences.py:327 +msgid "Spell Checking" +msgstr "" + +#: gajim/gtk/preferences.py:335 +msgid "Message Receipts (✔)" +msgstr "" + +#: gajim/gtk/preferences.py:338 +msgid "Add a checkmark to received messages" +msgstr "" + +#: gajim/gtk/preferences.py:341 +#, fuzzy +msgid "XHTML Formatting" +msgstr "Mostra una llista de formats" + +#: gajim/gtk/preferences.py:344 +msgid "Render XHTML styles (colors, etc.) of incoming messages" +msgstr "" + +#: gajim/gtk/preferences.py:348 +#, fuzzy +msgid "Show Send Message Button" +msgstr "Envia missatge" + +#: gajim/gtk/preferences.py:358 +#, fuzzy +msgid "Show Chat State In Tabs" +msgstr "Mostra Contactes Actius" + +#: gajim/gtk/preferences.py:361 +msgid "Show the contact’s chat state (e.g. typing) in the chat’s tab" +msgstr "" + +#: gajim/gtk/preferences.py:365 +#, fuzzy +msgid "Show Chat State In Banner" +msgstr "Mostra Contactes Actius" + +#: gajim/gtk/preferences.py:368 +msgid "Show the contact’s chat state (e.g. typing) in the chats tab’s banner" +msgstr "" + +#: gajim/gtk/preferences.py:372 +#, fuzzy +msgid "Display Chat State In Contact List" +msgstr "Mostra els canvis d'estat" + +#: gajim/gtk/preferences.py:375 +#, fuzzy +msgid "Show the contact’s chat state (e.g. typing) in the contact list" +msgstr "Mostra Contactes Actius" + +#: gajim/gtk/preferences.py:406 +#, fuzzy +msgid "Show Subject" +msgstr "Assumpte:" + +#: gajim/gtk/preferences.py:417 +msgid "Default Sync Threshold" +msgstr "" + +#: gajim/gtk/preferences.py:420 +#, fuzzy +msgid "Default for new public group chats" +msgstr "Grups de xat" + +#: gajim/gtk/preferences.py:424 +msgid "Show Joined / Left" +msgstr "" + +#: gajim/gtk/preferences.py:427 gajim/gtk/preferences.py:438 +#, fuzzy +msgid "Default for new group chats" +msgstr "Grups de xat" + +#: gajim/gtk/preferences.py:428 gajim/gtk/preferences.py:439 +#: gajim/gtk/accounts.py:715 gajim/gtk/accounts.py:727 +#: gajim/gtk/accounts.py:740 +#, fuzzy +msgid "Reset" +msgstr "Missatges preconfigurats:" + +#: gajim/gtk/preferences.py:429 gajim/gtk/preferences.py:440 +#: gajim/gtk/accounts.py:728 +msgid "Reset all group chats to the current default value" +msgstr "" + +#: gajim/gtk/preferences.py:435 gajim/gtk/groupchat_settings.py:48 +#, fuzzy +msgid "Show Status Changes" +msgstr "Mostra els canvis d'estat" + +#: gajim/gtk/preferences.py:468 +msgid "Hide icon" +msgstr "" + +#: gajim/gtk/preferences.py:469 +#, fuzzy +msgid "Only show for pending events" +msgstr "Només en esdeveniments pendents" + +#: gajim/gtk/preferences.py:470 +msgid "Always show icon" +msgstr "" + +#: gajim/gtk/preferences.py:475 +#, fuzzy +msgid "Notification Area Icon" +msgstr "Afegeix _Notificació Especial..." + +#: gajim/gtk/preferences.py:482 +#, fuzzy +msgid "Open Events" +msgstr "_Canvia Missatge d'Estat" + +#: gajim/gtk/preferences.py:485 +#, fuzzy +msgid "Open events instead of showing a notification in the contact list" +msgstr "Voldria afegir-te a la meva llista de contactes." + +#: gajim/gtk/preferences.py:489 gajim/gtk/preferences.py:512 +#, fuzzy +msgid "Show Notifications" +msgstr "_Copia la ubicació de l'enllaç" + +#: gajim/gtk/preferences.py:517 +#, fuzzy +msgid "Notifications When Away" +msgstr "Afegeix _Notificació Especial..." + +#: gajim/gtk/preferences.py:520 +#, fuzzy +msgid "Show notifications even if you are Away, Busy, etc." +msgstr "_Notifica'm quan una transferència de fitxer ha acabat" + +#: gajim/gtk/preferences.py:525 gajim/data/gui/preferences.ui:271 +msgid "Notifications" +msgstr "" + +#: gajim/gtk/preferences.py:534 +#, fuzzy +msgid "Play Sounds" +msgstr "Neteja" + +#: gajim/gtk/preferences.py:537 +msgid "Play sounds to notify about events" +msgstr "" + +#: gajim/gtk/preferences.py:542 +msgid "Sounds When Away" +msgstr "" + +#: gajim/gtk/preferences.py:545 +msgid "Play sounds even when you are Away, Busy, etc." +msgstr "" + +#: gajim/gtk/preferences.py:560 +msgid "Sign In" +msgstr "" + +#: gajim/gtk/preferences.py:565 +msgid "Sign Out" +msgstr "" + +#: gajim/gtk/preferences.py:570 +#, fuzzy +msgid "Status Change" +msgstr "Mostra els canvis d'estat" + +#: gajim/gtk/preferences.py:583 gajim/gtk/preferences.py:614 +#, fuzzy +msgid "Auto Away" +msgstr "Absent" + +#: gajim/gtk/preferences.py:585 +msgid "Change your status to 'Away' after a certain amount of time" +msgstr "" + +#: gajim/gtk/preferences.py:590 gajim/gtk/preferences.py:642 +#, fuzzy +msgid "Auto Not Available" +msgstr "_No Disponible" + +#: gajim/gtk/preferences.py:592 +msgid "Change your status to 'Not Available' after a certain amount of time" +msgstr "" + +#: gajim/gtk/preferences.py:619 +msgid "Time Until Away" +msgstr "" + +#: gajim/gtk/preferences.py:622 gajim/gtk/preferences.py:650 +#, fuzzy +msgid "Minutes until your status gets changed" +msgstr "Mostra els canvis d'estat" + +#: gajim/gtk/preferences.py:633 gajim/gtk/preferences.py:828 +#, fuzzy +msgid "Auto Away Settings" +msgstr "Connectors" + +#: gajim/gtk/preferences.py:647 +#, fuzzy +msgid "Time Until Not Available" +msgstr "_No Disponible" + +#: gajim/gtk/preferences.py:661 +msgid "Auto Extended Away Settings" +msgstr "" + +#: gajim/gtk/preferences.py:672 gajim/gtk/accounts.py:680 +msgid "Enabled" +msgstr "" + +#: gajim/gtk/preferences.py:673 gajim/data/gui/vcard_information_window.ui:123 +msgid "System" +msgstr "" + +#: gajim/gtk/preferences.py:678 +#, fuzzy +msgid "Dark Theme" +msgstr "Personalització Temes Gajim" + +#: gajim/gtk/preferences.py:685 +#, fuzzy +msgid "Theme" +msgstr "Personalització Temes Gajim" + +#: gajim/gtk/preferences.py:731 +msgid "Convert ASCII Emojis" +msgstr "" + +#: gajim/gtk/preferences.py:734 +msgid "Typing short codes like :-) will display emojis" +msgstr "" + +#: gajim/gtk/preferences.py:741 +#, fuzzy +msgid "Emoji Theme" +msgstr "Personalització Temes Gajim" + +#: gajim/gtk/preferences.py:744 +msgid "Choose from various emoji styles" +msgstr "" + +#: gajim/gtk/preferences.py:774 +#, fuzzy +msgid "Status Icon Set" +msgstr "_Canvia Missatge d'Estat" + +#: gajim/gtk/preferences.py:781 +#, fuzzy +msgid "Use Transport Icons" +msgstr "_Canvia Missatge d'Estat" + +#: gajim/gtk/preferences.py:784 +msgid "Display protocol-specific status icons (ICQ, ..)" +msgstr "" + +#: gajim/gtk/preferences.py:801 gajim/gtk/preferences.py:817 +msgid "Use Stun Server" +msgstr "" + +#: gajim/gtk/preferences.py:803 +msgid "Helps to establish calls through firewalls" +msgstr "" + +#: gajim/gtk/preferences.py:822 +#, fuzzy +msgid "STUN Server" +msgstr "Servidor MUC" + +#: gajim/gtk/preferences.py:848 +msgid "Audio Input Device" +msgstr "" + +#: gajim/gtk/preferences.py:851 +msgid "Select your audio input (e.g. microphone)" +msgstr "" + +#: gajim/gtk/preferences.py:855 +msgid "Audio Output Device" +msgstr "" + +#: gajim/gtk/preferences.py:858 +msgid "Select an audio output (e.g. speakers, headphones)" +msgstr "" + +#: gajim/gtk/preferences.py:890 gajim/gtk/preferences.py:898 +msgid "Default" +msgstr "" + +#: gajim/gtk/preferences.py:906 +#, fuzzy +msgid "Video Input Device" +msgstr "Disponible per parlar" + +#: gajim/gtk/preferences.py:910 +msgid "Select your video input device (e.g. webcam, screen capture)" +msgstr "" + +#: gajim/gtk/preferences.py:915 +#, fuzzy +msgid "Video Framerate" +msgstr "Disponible per parlar" + +#: gajim/gtk/preferences.py:921 +#, fuzzy +msgid "Video Resolution" +msgstr "Disponible per parlar" + +#: gajim/gtk/preferences.py:927 +msgid "Show My Video Stream" +msgstr "" + +#: gajim/gtk/preferences.py:930 +msgid "Show your own video stream in calls" +msgstr "" + +#: gajim/gtk/preferences.py:933 gajim/data/gui/video_preview.ui:51 +msgid "Live Preview" +msgstr "" + +#: gajim/gtk/preferences.py:935 +msgid "Show a live preview to test your video source" +msgstr "" + +#: gajim/gtk/preferences.py:975 +#, fuzzy +msgid "Global Proxy" +msgstr "Prox_y:" + +#: gajim/gtk/preferences.py:980 gajim/gtk/account_wizard.py:732 +#: gajim/gtk/accounts.py:790 +#, fuzzy +msgid "No Proxy" +msgstr "Prox_y:" + +#: gajim/gtk/preferences.py:985 +msgid "Use System Keyring" +msgstr "" + +#: gajim/gtk/preferences.py:988 +msgid "Use your system’s keyring to store passwords" +msgstr "" + +#: gajim/gtk/preferences.py:994 +msgid "Check For Updates" +msgstr "" + +#: gajim/gtk/preferences.py:997 gajim/common/config.py:241 +msgid "Check for Gajim updates periodically" +msgstr "" + +#: gajim/gtk/preferences.py:1033 +msgid "Debug Logging" +msgstr "" + +#: gajim/gtk/message_input.py:48 +#, fuzzy +msgid "Write a message…" +msgstr "Envia missatge" + +#: gajim/gtk/settings.py:400 gajim/gtk/settings.py:758 +#: gajim/gtk/settings.py:784 gajim/gtk/settings.py:793 +#: gajim/gtk/settings.py:802 gajim/gtk/settings.py:811 +msgid "?switch:On" +msgstr "" + +#: gajim/gtk/settings.py:400 gajim/gtk/settings.py:758 +#: gajim/gtk/settings.py:784 gajim/gtk/settings.py:793 +#: gajim/gtk/settings.py:802 gajim/gtk/settings.py:811 +msgid "?switch:Off" +msgstr "" + +#: gajim/gtk/settings.py:538 gajim/gtk/manage_sounds.py:46 +#: gajim/gtk/filechoosers.py:89 gajim/gtk/filechoosers.py:140 +#: gajim/gtk/filechoosers.py:147 +msgid "All files" +msgstr "" + +#: gajim/gtk/settings.py:547 +#, fuzzy +msgid "Clear File" +msgstr "Fitxer de Certificat de Client:" + +#: gajim/gtk/settings.py:745 +#, fuzzy +msgid "Adjust to Status" +msgstr "Ajustar a estat" + +#: gajim/gtk/history_sync.py:111 gajim/gtk/history_sync.py:193 +#, fuzzy +msgid "Synchronise History" +msgstr "Sincronitza els contactes" + +#: gajim/gtk/history_sync.py:205 +msgid "How far back should the chat history be synchronised?" +msgstr "" + +#: gajim/gtk/history_sync.py:210 +msgid "One Month" +msgstr "" + +#: gajim/gtk/history_sync.py:211 +msgid "Three Months" +msgstr "" + +#: gajim/gtk/history_sync.py:212 +msgid "One Year" +msgstr "" + +#: gajim/gtk/history_sync.py:213 +msgid "Everything" +msgstr "" + +#: gajim/gtk/history_sync.py:241 gajim/gtk/account_wizard.py:276 +#: gajim/gtk/account_wizard.py:295 gajim/gtk/account_wizard.py:312 +#, fuzzy +msgid "Connecting..." +msgstr "Connexió" + +#: gajim/gtk/history_sync.py:253 +#, python-format +msgid "%(received)s of %(max)s" +msgstr "" + +#: gajim/gtk/history_sync.py:257 +#, fuzzy, python-format +msgid "Downloaded %s messages" +msgstr "_Canvia Missatge d'Estat" + +#: gajim/gtk/history_sync.py:277 +#, python-format +msgid "" +"Finished synchronising chat history:\n" +"%s messages downloaded" +msgstr "" + +#: gajim/gtk/history_sync.py:281 +msgid "Gajim is fully synchronised with the archive." +msgstr "" + +#: gajim/gtk/history_sync.py:284 +msgid "There is already a synchronisation in progress. Please try again later." +msgstr "" + +#: gajim/gtk/pep_config.py:49 +#, fuzzy, python-format +msgid "PEP Service Configuration (%s)" +msgstr "Configuració Servei PEP:" + +#: gajim/gtk/pep_config.py:74 +#, fuzzy +msgid "Service" +msgstr "_Servidor:" + +#: gajim/gtk/pep_config.py:105 +msgid "PEP node was not removed" +msgstr "" + +#: gajim/gtk/pep_config.py:106 +#, python-format +msgid "" +"PEP node %(node)s was not removed:\n" +"%(message)s" +msgstr "" + +#: gajim/gtk/pep_config.py:153 +#, python-format +msgid "Configure %s" +msgstr "" + +#: gajim/gtk/mam_preferences.py:42 +#, python-format +msgid "Archiving Preferences for %s" +msgstr "" + +#: gajim/gtk/mam_preferences.py:101 +#, fuzzy +msgid "Archiving Preferences Saved" +msgstr "Preferències" + +#: gajim/gtk/mam_preferences.py:102 +msgid "Your archiving preferences have successfully been saved." +msgstr "" + +#: gajim/gtk/mam_preferences.py:109 +#, fuzzy +msgid "Archiving Preferences Error" +msgstr "Preferències" + +#: gajim/gtk/mam_preferences.py:110 +msgid "Error received: {}" +msgstr "" + +#: gajim/gtk/statusicon.py:198 +msgid "_Change Status Message…" +msgstr "_Canvia Missatge d'Estat..." + +#: gajim/gtk/statusicon.py:250 +#, python-format +msgid "using account %s" +msgstr "" + +#: gajim/gtk/statusicon.py:263 +#, fuzzy +msgid "Hide _Contact List" +msgstr "Convida _Contactes" + +#: gajim/gtk/statusicon.py:268 gajim/data/gui/application_menu.ui:42 +#, fuzzy +msgid "Show _Contact List" +msgstr "Mostra Contactes Actius" + +#: gajim/gtk/statusicon.py:276 +msgid "Hide this menu" +msgstr "" + +#: gajim/gtk/start_chat.py:57 +#, fuzzy +msgid "Start / Join Chat" +msgstr "Inicia Xat" + +#: gajim/gtk/start_chat.py:285 gajim/gtk/start_chat.py:370 +msgid "You can not join a group chat unless you are connected." +msgstr "" + +#: gajim/gtk/start_chat.py:634 gajim/gtk/groupchat_join.py:40 +msgid "Join Group Chat" +msgstr "Uneix-te al xat en grup" + +#: gajim/gtk/start_chat.py:715 +msgid "" +"Search for group chats globally\n" +"(press Return to start search)" +msgstr "" + +#: gajim/gtk/start_chat.py:808 +#, fuzzy, python-format +msgid "%s group chats found" +msgstr "Grups de xat" + +#: gajim/gtk/notification.py:184 gajim/gtk/notification.py:205 +#: gajim/gtk/notification.py:219 gajim/gtk/notification.py:272 +#: gajim/common/connection_handlers_events.py:234 +msgid "New Private Message" +msgstr "" + +#: gajim/gtk/notification.py:185 gajim/gtk/notification.py:206 +#: gajim/gtk/notification.py:220 gajim/common/connection_handlers_events.py:328 +#, fuzzy +msgid "New Group Chat Message" +msgstr "Grups de xat" + +#: gajim/gtk/notification.py:186 gajim/gtk/notification.py:212 +#: gajim/gtk/notification.py:289 gajim/common/connection_handlers_events.py:418 +msgid "Contact Changed Status" +msgstr "" + +#: gajim/gtk/notification.py:200 +msgid "Open" +msgstr "" + +#: gajim/gtk/notification.py:209 +msgid "Mark as Read" +msgstr "" + +#: gajim/gtk/notification.py:273 +msgid "New E-mail" +msgstr "" + +#: gajim/gtk/video_preview.py:116 +msgid "OpenGL accelerated" +msgstr "" + +#: gajim/gtk/video_preview.py:120 +msgid "Not accelerated" +msgstr "" + +#: gajim/gtk/video_preview.py:127 +msgid "Something went wrong. Video feature disabled." +msgstr "" + +#: gajim/gtk/groupchat_invite.py:304 +#, fuzzy +msgid "Invite New Contact" +msgstr "Convida _Contactes" + +#: gajim/gtk/themes.py:37 +#, fuzzy +msgid "Chatstate Composing" +msgstr "S'està creant la composició" + +#: gajim/gtk/themes.py:41 +#, fuzzy +msgid "Chatstate Inactive" +msgstr "Inactiva" + +#: gajim/gtk/themes.py:45 +msgid "Chatstate Gone" +msgstr "" + +#: gajim/gtk/themes.py:49 +msgid "Chatstate Paused" +msgstr "" + +#: gajim/gtk/themes.py:53 +#, fuzzy +msgid "Group Chat Tab New Directed Message" +msgstr "" +"Missatges\n" +"MUC Dirigits" + +#: gajim/gtk/themes.py:57 +#, fuzzy +msgid "Group Chat Tab New Message" +msgstr "" +"Missatges\n" +"MUC" + +#: gajim/gtk/themes.py:61 +msgid "Banner Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:65 +msgid "Banner Background Color" +msgstr "" + +#: gajim/gtk/themes.py:69 +msgid "Banner Font" +msgstr "" + +#: gajim/gtk/themes.py:73 +msgid "Account Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:77 +msgid "Account Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:81 +#, fuzzy +msgid "Account Row Font" +msgstr "Fila del compte " + +#: gajim/gtk/themes.py:85 +msgid "Group Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:89 +msgid "Group Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:93 +#, fuzzy +msgid "Group Row Font" +msgstr "Fila del grup" + +#: gajim/gtk/themes.py:97 +msgid "Contact Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:101 +msgid "Contact Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:105 +#, fuzzy +msgid "Contact Row Font" +msgstr "Fila del contacte" + +#: gajim/gtk/themes.py:109 +#, fuzzy +msgid "Conversation Font" +msgstr "Històric de converses" + +#: gajim/gtk/themes.py:113 +msgid "Incoming Nickname Color" +msgstr "" + +#: gajim/gtk/themes.py:117 +msgid "Outgoing Nickname Color" +msgstr "" + +#: gajim/gtk/themes.py:121 +msgid "Incoming Message Text Color" +msgstr "" + +#: gajim/gtk/themes.py:125 +msgid "Incoming Message Text Font" +msgstr "" + +#: gajim/gtk/themes.py:129 +msgid "Outgoing Message Text Color" +msgstr "" + +#: gajim/gtk/themes.py:133 +msgid "Outgoing Message Text Font" +msgstr "" + +#: gajim/gtk/themes.py:137 +#, fuzzy +msgid "Status Message Color" +msgstr "_Canvia Missatge d'Estat" + +#: gajim/gtk/themes.py:141 +#, fuzzy +msgid "Status Message Font" +msgstr "_Canvia Missatge d'Estat" + +#: gajim/gtk/themes.py:145 +#, fuzzy +msgid "URL Color" +msgstr "Color" + +#: gajim/gtk/themes.py:149 +msgid "Highlight Message Color" +msgstr "" + +#: gajim/gtk/themes.py:153 +msgid "Message Correcting" +msgstr "" + +#: gajim/gtk/themes.py:157 +msgid "Contact Disconnected Background" +msgstr "" + +#: gajim/gtk/themes.py:161 +msgid "Contact Connected Background " +msgstr "" + +#: gajim/gtk/themes.py:164 +#, fuzzy +msgid "Status Online Color" +msgstr "_Canvia Missatge d'Estat" + +#: gajim/gtk/themes.py:167 +#, fuzzy +msgid "Status Away Color" +msgstr "_Canvia Missatge d'Estat" + +#: gajim/gtk/themes.py:170 +#, fuzzy +msgid "Status DND Color" +msgstr "_Canvia Missatge d'Estat" + +#: gajim/gtk/themes.py:173 +#, fuzzy +msgid "Status Offline Color" +msgstr "_Canvia Missatge d'Estat" + +#: gajim/gtk/themes.py:187 +#, fuzzy +msgid "Gajim Themes" +msgstr "Personalització Temes Gajim" + +#: gajim/gtk/themes.py:223 gajim/gtk/themes.py:230 +#, fuzzy +msgid "Invalid Name" +msgstr "Gestiona Sala" + +#: gajim/gtk/themes.py:224 +msgid "Name default is not allowed" +msgstr "" + +#: gajim/gtk/themes.py:231 +msgid "Spaces are not allowed" +msgstr "" + +#: gajim/gtk/themes.py:356 +msgid "Do you want to delete this theme?" +msgstr "" + +#: gajim/gtk/themes.py:358 +msgid "" +"This is the theme you are currently using.\n" +"Do you want to delete this theme?" +msgstr "" + +#: gajim/gtk/themes.py:363 +#, fuzzy +msgid "Delete Theme" +msgstr "Activa" + +#: gajim/gtk/themes.py:390 +#, fuzzy +msgid "Remove Setting" +msgstr "Connectors" + +#: gajim/gtk/filetransfer_progress.py:62 +msgid "Upload Failed" +msgstr "" + +#: gajim/gtk/filetransfer_progress.py:113 +#, python-format +msgid "%(progress)s of %(total)s" +msgstr "" + +#: gajim/gtk/filetransfer_progress.py:130 +#, python-format +msgid "%(minutes)s min %(seconds)s sec" +msgstr "" + +#: gajim/gtk/add_contact.py:32 +msgid "GG Number" +msgstr "" + +#: gajim/gtk/add_contact.py:33 +msgid "ICQ Number" +msgstr "" + +#: gajim/gtk/add_contact.py:42 +#, fuzzy +msgid "Add Contact" +msgstr "_Afegeix Contacte..." + +#: gajim/gtk/add_contact.py:260 +#, python-format +msgid "%s Missing" +msgstr "" + +#: gajim/gtk/add_contact.py:261 +#, python-format +msgid "You must supply the %s of the new contact." +msgstr "" + +#: gajim/gtk/add_contact.py:288 gajim/gtk/add_contact.py:294 +#: gajim/gtk/add_contact.py:299 +msgid "Invalid User ID" +msgstr "" + +#: gajim/gtk/add_contact.py:295 +msgid "The user ID must not contain a resource." +msgstr "" + +#: gajim/gtk/add_contact.py:300 +#, fuzzy +msgid "You cannot add yourself to your contact list." +msgstr "Voldria afegir-te a la meva llista de contactes." + +#: gajim/gtk/add_contact.py:305 +#, fuzzy +msgid "Account Offline" +msgstr "Desconnectat" + +#: gajim/gtk/add_contact.py:306 +msgid "Your account must be online to add new contacts." +msgstr "" + +#: gajim/gtk/add_contact.py:322 +#, fuzzy +msgid "Contact Already in Contact List" +msgstr "Esborra transferència de fitxer de la llista." + +#: gajim/gtk/add_contact.py:323 +#, fuzzy +msgid "This contact is already in your contact list." +msgstr "Esborra transferència de fitxer de la llista." + +#: gajim/gtk/add_contact.py:381 gajim/gtk/add_contact.py:419 +msgid "User ID:" +msgstr "" + +#: gajim/gtk/add_contact.py:486 +msgid "Error while adding transport contact" +msgstr "" + +#: gajim/gtk/add_contact.py:487 +#, python-format +msgid "" +"This error occurred while adding a contact for transport %(transport)s:\n" +"\n" +"%(error)s" +msgstr "" + +#: gajim/gtk/account_wizard.py:61 gajim/data/gui/account_wizard.ui:631 +msgid "Sign Up" +msgstr "" + +#: gajim/gtk/account_wizard.py:63 +#, fuzzy +msgid "Connect" +msgstr "Connexió" + +#: gajim/gtk/account_wizard.py:64 gajim/gtk/adhoc.py:102 +msgid "Next" +msgstr "" + +#: gajim/gtk/account_wizard.py:65 +msgid "Log In" +msgstr "" + +#: gajim/gtk/account_wizard.py:67 gajim/gtk/remove_account.py:44 +#: gajim/gtk/change_password.py:45 gajim/gtk/accounts.py:384 +msgid "Back" +msgstr "" + +#: gajim/gtk/account_wizard.py:80 +msgid "An error occurred during account creation" +msgstr "" + +#: gajim/gtk/account_wizard.py:166 +#, fuzzy +msgid "Creating Account..." +msgstr "Fusiona comptes" + +#: gajim/gtk/account_wizard.py:167 +#, fuzzy +msgid "Trying to create account..." +msgstr "Cliqui per a canviar la contrasenya del compte" + +#: gajim/gtk/account_wizard.py:277 gajim/gtk/account_wizard.py:296 +#: gajim/gtk/account_wizard.py:313 +#, fuzzy +msgid "Connecting to server..." +msgstr "Connexió" + +#: gajim/gtk/account_wizard.py:367 gajim/gtk/account_wizard.py:368 +msgid "Anonymous login not supported" +msgstr "" + +#: gajim/gtk/account_wizard.py:369 +#, fuzzy +msgid "This server does not support anonymous login." +msgstr "Aquesta entitat jabber no exposa cap comanda." + +#: gajim/gtk/account_wizard.py:372 gajim/common/client.py:284 +#: gajim/common/const.py:958 gajim/common/const.py:959 +#: gajim/common/const.py:960 gajim/common/const.py:963 +#, fuzzy +msgid "Authentication failed" +msgstr "Autenticació Anònima." + +#: gajim/gtk/account_wizard.py:384 gajim/gtk/account_wizard.py:385 +msgid "Signup not allowed" +msgstr "" + +#: gajim/gtk/account_wizard.py:386 +msgid "This server does not allow signup." +msgstr "" + +#: gajim/gtk/account_wizard.py:395 gajim/gtk/account_wizard.py:432 +#: gajim/gtk/account_wizard.py:433 gajim/gtk/account_wizard.py:520 +#: gajim/gtk/groupchat_config.py:132 gajim/gtk/groupchat_config.py:399 +#: gajim/gtk/history.py:591 gajim/gtk/search.py:336 +msgid "Error" +msgstr "" + +#: gajim/gtk/account_wizard.py:402 gajim/gtk/account_wizard.py:403 +#, fuzzy +msgid "Connection failed" +msgstr "_No Disponible" + +#: gajim/gtk/account_wizard.py:404 +msgid "" +"Gajim was not able to reach the server. Make sure your XMPP address is " +"correct." +msgstr "" + +#: gajim/gtk/account_wizard.py:459 +#, fuzzy +msgid "Account is being created" +msgstr "Comptes" + +#: gajim/gtk/account_wizard.py:518 +msgid "The server rejected the registration without an error message" +msgstr "" + +#: gajim/gtk/account_wizard.py:530 gajim/gtk/accounts.py:572 +#, fuzzy +msgid "Add Account" +msgstr "_Afegeix Contacte..." + +#: gajim/gtk/account_wizard.py:612 gajim/gtk/groupchat_creation.py:138 +#, fuzzy +msgid "Invalid Address" +msgstr "Gestiona Sala" + +#: gajim/gtk/account_wizard.py:636 +#, fuzzy +msgid "Create New Account" +msgstr "Crea nou missatge" + +#: gajim/gtk/account_wizard.py:712 +#, fuzzy +msgid "Advanced settings" +msgstr "Connectors" + +#: gajim/gtk/account_wizard.py:774 +#, fuzzy +msgid "Invalid domain name" +msgstr "Gestiona Sala" + +#: gajim/gtk/account_wizard.py:791 +msgid "Must be a port number" +msgstr "" + +#: gajim/gtk/account_wizard.py:798 +msgid "Port must be a number between 0 and 65535" +msgstr "" + +#: gajim/gtk/account_wizard.py:814 +msgid "Security Warning" +msgstr "" + +#: gajim/gtk/account_wizard.py:833 +#, python-format +msgid "Unknown TLS error '%s'" +msgstr "" + +#: gajim/gtk/account_wizard.py:868 gajim/gtk/account_wizard.py:871 +#, fuzzy +msgid "Create Account" +msgstr "Fusiona comptes" + +#: gajim/gtk/account_wizard.py:922 +msgid "Redirect" +msgstr "" + +#: gajim/gtk/account_wizard.py:932 +msgid "Register on the Website" +msgstr "" + +#: gajim/gtk/account_wizard.py:943 +#, fuzzy +msgid "Account Added" +msgstr "Fila del compte " + +#: gajim/gtk/account_wizard.py:944 +msgid "Account has been added successfully" +msgstr "El compte s'ha configurat correctament" + +#: gajim/gtk/groupchat_invitation.py:57 +msgid "" +"has invited you to a group chat.\n" +"Do you want to join?" +msgstr "" + +#: gajim/gtk/groupchat_invitation.py:75 gajim/gtk/discovery.py:1706 +#: gajim/gtk/groupchat_join.py:68 gajim/data/gui/groupchat_control.ui:899 +#: gajim/data/gui/groupchat_control.ui:991 +#: gajim/data/gui/start_chat_dialog.ui:314 +msgid "_Join" +msgstr "_Entra-hi" + +#: gajim/gtk/tooltips.py:215 +#, python-format +msgid "%(owner_or_admin_or_member)s of this group chat" +msgstr "" + +#: gajim/gtk/tooltips.py:474 +msgid "Connected" +msgstr "" + +#: gajim/gtk/tooltips.py:476 +msgid "Disconnected" +msgstr "Desconnectat" + +#: gajim/gtk/tooltips.py:530 +#, fuzzy +msgid "File Name: " +msgstr "Nom:" + +#: gajim/gtk/tooltips.py:533 +msgid "?Noun:Download" +msgstr "" + +#: gajim/gtk/tooltips.py:534 gajim/gtk/filetransfer.py:747 +msgid "Sender: " +msgstr "" + +#: gajim/gtk/tooltips.py:539 +msgid "?Noun:Upload" +msgstr "" + +#: gajim/gtk/tooltips.py:540 gajim/gtk/filetransfer.py:240 +#: gajim/gtk/filetransfer.py:749 +msgid "Recipient: " +msgstr "" + +#: gajim/gtk/tooltips.py:546 +msgid "?transfer type:Type: " +msgstr "" + +#: gajim/gtk/tooltips.py:552 +#, fuzzy +msgid "?transfer status:Transferred: " +msgstr "?user status:_Disponible" + +#: gajim/gtk/tooltips.py:555 +#, fuzzy +msgid "?transfer status:Status: " +msgstr "?user status:_Disponible" + +#: gajim/gtk/tooltips.py:557 +msgid "Description: " +msgstr "" + +#: gajim/gtk/tooltips.py:581 +#, fuzzy +msgid "?transfer status:Aborted" +msgstr "?user status:_Disponible" + +#: gajim/gtk/tooltips.py:583 +#, fuzzy +msgid "?transfer status:Completed" +msgstr "?user status:_Disponible" + +#: gajim/gtk/tooltips.py:585 +#, fuzzy +msgid "?transfer status:Paused" +msgstr "?user status:_Disponible" + +#: gajim/gtk/tooltips.py:588 +#, fuzzy +msgid "?transfer status:Stalled" +msgstr "?user status:_Disponible" + +#: gajim/gtk/tooltips.py:592 +#, fuzzy +msgid "?transfer status:Transferring" +msgstr "?user status:_Disponible" + +#: gajim/gtk/tooltips.py:593 gajim/gtk/tooltips.py:594 +#, fuzzy +msgid "?transfer status:Not started" +msgstr "?user status:_Disponible" + +#: gajim/gtk/remove_account.py:42 gajim/gtk/accounts.py:341 +#, fuzzy +msgid "Remove" +msgstr "Esborra" + +#: gajim/gtk/remove_account.py:49 +#, fuzzy +msgid "Removing Account..." +msgstr "Fusiona comptes" + +#: gajim/gtk/remove_account.py:50 +msgid "Trying to remove account..." +msgstr "" + +#: gajim/gtk/remove_account.py:53 gajim/gtk/remove_account.py:54 +#, fuzzy +msgid "Account Removed" +msgstr "Fila del compte " + +#: gajim/gtk/remove_account.py:56 +#, fuzzy +msgid "Your account has has been removed successfully." +msgstr "El compte s'ha configurat correctament" + +#: gajim/gtk/remove_account.py:59 gajim/gtk/remove_account.py:60 +#, fuzzy +msgid "Account Removal Failed" +msgstr "Fila del compte " + +#: gajim/gtk/remove_account.py:171 gajim/gtk/remove_account.py:173 +#, fuzzy +msgid "Remove Account" +msgstr "Fusiona comptes" + +#: gajim/gtk/remove_account.py:180 +msgid "This will remove your account from Gajim." +msgstr "" + +#: gajim/gtk/remove_account.py:189 +#, python-format +msgid "Do you want to unregister your account on %s as well?" +msgstr "" + +#: gajim/gtk/remove_account.py:198 +msgid "_Unregister account from service" +msgstr "" + +#: gajim/gtk/remove_account.py:217 +#, fuzzy +msgid "Account has to be connected" +msgstr "Entra a aquesta sala _automàticament quan em connecto" + +#: gajim/gtk/filetransfer.py:91 +msgid "File" +msgstr "" + +#: gajim/gtk/filetransfer.py:108 +msgid "Time" +msgstr "" + +#: gajim/gtk/filetransfer.py:121 gajim/data/gui/filetransfer_progress.ui:110 +msgid "Progress" +msgstr "" + +#: gajim/gtk/filetransfer.py:228 +#, fuzzy, python-format +msgid "File name: %s" +msgstr "Nom de feed:" + +#: gajim/gtk/filetransfer.py:229 gajim/gtk/filetransfer.py:470 +#, python-format +msgid "Size: %s" +msgstr "" + +#: gajim/gtk/filetransfer.py:239 +#, python-format +msgid "Sender: %s" +msgstr "" + +#: gajim/gtk/filetransfer.py:251 +#, python-format +msgid "Saved in: %s" +msgstr "" + +#: gajim/gtk/filetransfer.py:256 +msgid "File transfer completed" +msgstr "" + +#: gajim/gtk/filetransfer.py:276 gajim/gtk/filetransfer.py:285 +msgid "Connection with peer could not be established." +msgstr "" + +#: gajim/gtk/filetransfer.py:293 +#, python-format +msgid "Filename: %s" +msgstr "" + +#: gajim/gtk/filetransfer.py:294 +#, python-format +msgid "Recipient: %s" +msgstr "" + +#: gajim/gtk/filetransfer.py:296 +#, python-format +msgid "Error message: %s" +msgstr "" + +#: gajim/gtk/filetransfer.py:335 +#, python-format +msgid "" +"The file %s has been received, but it seems to have been damaged along the " +"way.\n" +"Do you want to download it again?" +msgstr "" + +#: gajim/gtk/filetransfer.py:341 +msgid "_Download Again" +msgstr "" + +#: gajim/gtk/filetransfer.py:356 +msgid "Gajim can not read this file" +msgstr "" + +#: gajim/gtk/filetransfer.py:357 +msgid "Another process is using this file." +msgstr "" + +#: gajim/gtk/filetransfer.py:399 +#, python-format +msgid "Cannot overwrite existing file '%s'" +msgstr "" + +#: gajim/gtk/filetransfer.py:400 +msgid "" +"A file with this name already exists and you do not have permission to " +"overwrite it." +msgstr "" + +#: gajim/gtk/filetransfer.py:424 +#, fuzzy +msgid "File Transfer Conflict" +msgstr "Transferència de Fitxers" + +#: gajim/gtk/filetransfer.py:425 +#, fuzzy +msgid "File already exists" +msgstr "Grups de xat" + +#: gajim/gtk/filetransfer.py:426 +msgid "Resume download or replace file?" +msgstr "" + +#: gajim/gtk/filetransfer.py:430 +msgid "Resume _Download" +msgstr "" + +#: gajim/gtk/filetransfer.py:433 +#, fuzzy +msgid "Replace _File" +msgstr "Fitxer de Certificat de Client:" + +#: gajim/gtk/filetransfer.py:443 +#, python-format +msgid "Directory '%s' is not writable" +msgstr "" + +#: gajim/gtk/filetransfer.py:444 +msgid "You do not have permissions to create files in this directory." +msgstr "" + +#: gajim/gtk/filetransfer.py:467 +#, python-format +msgid "File: %s" +msgstr "" + +#: gajim/gtk/filetransfer.py:473 +#, python-format +msgid "Type: %s" +msgstr "" + +#: gajim/gtk/filetransfer.py:475 +#, python-format +msgid "Description: %s" +msgstr "" + +#: gajim/gtk/filetransfer.py:486 +#, python-format +msgid "%s wants to send you a file" +msgstr "" + +#: gajim/gtk/filetransfer.py:514 +msgid "Checking file…" +msgstr "" + +#: gajim/gtk/filetransfer.py:529 +msgid "File error" +msgstr "" + +#: gajim/gtk/filetransfer.py:566 +#, python-format +msgid "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" +msgstr "" + +#: gajim/gtk/filetransfer.py:663 +#, python-format +msgid "(%(filesize_unit)s/s)" +msgstr "" + +#: gajim/gtk/filetransfer.py:716 gajim/gtk/filetransfer.py:720 +msgid "Invalid File" +msgstr "" + +#: gajim/gtk/filetransfer.py:716 +msgid "File: " +msgstr "" + +#: gajim/gtk/filetransfer.py:721 +msgid "It is not possible to send empty files" +msgstr "" + +#: gajim/gtk/filetransfer.py:1043 +msgid "Choose a File to Send…" +msgstr "" + +#: gajim/gtk/roster_item_exchange.py:35 +#: gajim/data/gui/roster_item_exchange_window.ui:39 +#, fuzzy +msgid "Contact List Exchange" +msgstr "_Canvia Missatge d'Estat" + +#: gajim/gtk/roster_item_exchange.py:49 +#, fuzzy, python-format +msgid "%s would like to add some contacts to your contact list." +msgstr "Voldria afegir-te a la meva llista de contactes." + +#: gajim/gtk/roster_item_exchange.py:52 +#, fuzzy, python-format +msgid "%s would like to modify some contacts in your contact list." +msgstr "Voldria afegir-te a la meva llista de contactes." + +#: gajim/gtk/roster_item_exchange.py:55 +#, fuzzy, python-format +msgid "%s would like to delete some contacts from your contact list." +msgstr "Voldria afegir-te a la meva llista de contactes." + +#: gajim/gtk/roster_item_exchange.py:71 gajim/gtk/roster_item_exchange.py:130 +msgid "Add" +msgstr "Afegeix" + +#: gajim/gtk/roster_item_exchange.py:73 gajim/gtk/roster_item_exchange.py:161 +msgid "Modify" +msgstr "" + +#: gajim/gtk/roster_item_exchange.py:80 +msgid "JID" +msgstr "" + +#: gajim/gtk/roster_item_exchange.py:86 +msgid "Groups" +msgstr "" + +#: gajim/gtk/roster_item_exchange.py:196 +#, fuzzy, python-format +msgid "%s suggested me to add you to my contact list." +msgstr "Voldria afegir-te a la meva llista de contactes." + +#: gajim/gtk/roster_item_exchange.py:211 +#, python-format +msgid "Added %d contact" +msgid_plural "Added %d contacts" +msgstr[0] "" +msgstr[1] "" + +#: gajim/gtk/roster_item_exchange.py:253 +#, python-format +msgid "Removed %d contact" +msgid_plural "Removed %d contacts" +msgstr[0] "" +msgstr[1] "" + +#: gajim/gtk/groupchat_creation.py:45 gajim/data/gui/groupchat_creation.ui:81 +#, fuzzy +msgid "Create Group Chat" +msgstr "Grups de xat" + +#: gajim/gtk/groupchat_creation.py:101 gajim/gtk/groupchat_creation.py:103 +msgid " (optional)..." +msgstr "" + +#: gajim/gtk/groupchat_creation.py:186 +#, fuzzy +msgid "Not Connected" +msgstr "Entrada següent" + +#: gajim/gtk/groupchat_creation.py:187 +msgid "You have to be connected to create a group chat." +msgstr "" + +#: gajim/gtk/status_selector.py:121 gajim/gtk/status_selector.py:127 +#, fuzzy, python-format +msgid "Status: %s" +msgstr "Estat" + +#: gajim/gtk/status_selector.py:125 +#, fuzzy, python-format +msgid "%s (desynced)" +msgstr "Avançat" + +#: gajim/gtk/subscription_request.py:35 +msgid "Subscription Request" +msgstr "" + +#: gajim/gtk/subscription_request.py:47 +#, python-format +msgid "Subscription request for account %(account)s from %(jid)s" +msgstr "" + +#: gajim/gtk/subscription_request.py:50 +#, python-format +msgid "Subscription request from %s" +msgstr "" + +#: gajim/gtk/single_message.py:51 +#, fuzzy +msgid "Send Single Message" +msgstr "Envia un _Missatge únic..." + +#: gajim/gtk/single_message.py:101 +#, fuzzy +msgid "(No subject)" +msgstr "Assumpte:" + +#: gajim/gtk/single_message.py:157 +#, python-format +msgid "Single Message using account %s" +msgstr "" + +#: gajim/gtk/single_message.py:159 +#, python-format +msgid "Single Message in account %s" +msgstr "" + +#: gajim/gtk/single_message.py:161 +msgid "Single Message" +msgstr "" + +#: gajim/gtk/single_message.py:164 +#, python-format +msgid "Send %s" +msgstr "" + +#: gajim/gtk/single_message.py:183 +#, python-format +msgid "Received %s" +msgstr "" + +#: gajim/gtk/single_message.py:205 +#, python-format +msgid "Characters typed: %s" +msgstr "" + +#: gajim/gtk/single_message.py:210 gajim/gtk/xml_console.py:169 +msgid "Connection not available" +msgstr "" + +#: gajim/gtk/single_message.py:211 +#, python-format +msgid "Please make sure you are connected with \"%s\"." +msgstr "" + +#: gajim/gtk/single_message.py:239 +#, python-format +msgid "" +"It is not possible to send a message to %s, this XMPP Address is not valid." +msgstr "" + +#: gajim/gtk/single_message.py:316 +#, python-format +msgid "RE: %s" +msgstr "" + +#: gajim/gtk/single_message.py:317 +#, python-format +msgid "%s wrote:\n" +msgstr "" + +#: gajim/gtk/change_password.py:42 +#, fuzzy +msgid "Change" +msgstr "Canvia _Nick..." + +#: gajim/gtk/change_password.py:51 +#, fuzzy +msgid "Changing Password..." +msgstr "Canviar contrasenya" + +#: gajim/gtk/change_password.py:52 +#, fuzzy +msgid "Trying to change password..." +msgstr "Cliqui per a canviar la contrasenya del compte" + +#: gajim/gtk/change_password.py:55 gajim/gtk/change_password.py:56 +#, fuzzy +msgid "Password Changed" +msgstr "Contrasenya:" + +#: gajim/gtk/change_password.py:57 +msgid "Your password has successfully been changed." +msgstr "" + +#: gajim/gtk/change_password.py:60 gajim/gtk/change_password.py:61 +#, fuzzy +msgid "Password Change Failed" +msgstr "Contrasenya:" + +#: gajim/gtk/change_password.py:63 +#, fuzzy +msgid "An error occurred while trying to change your password." +msgstr "Cliqui per a canviar la contrasenya del compte" + +#: gajim/gtk/change_password.py:145 gajim/gtk/change_password.py:147 +#: gajim/gtk/change_password.py:224 gajim/gtk/accounts.py:994 +msgid "Change Password" +msgstr "Canviar contrasenya" + +#: gajim/gtk/change_password.py:154 +#, fuzzy +msgid "Please enter your new password." +msgstr "Sobrenom:" + +#: gajim/gtk/change_password.py:167 +#, fuzzy +msgid "Enter new password..." +msgstr "Desa la contrasenya" + +#: gajim/gtk/change_password.py:176 +#, fuzzy +msgid "Confirm new password..." +msgstr "Canviar contrasenya" + +#: gajim/gtk/change_password.py:191 +msgid "Passwords do not match" +msgstr "" + +#: gajim/gtk/bookmarks.py:48 +#, fuzzy, python-format +msgid "Bookmarks for %s" +msgstr "Adreces d'interès" + +#: gajim/gtk/xml_console.py:95 gajim/gtk/xml_console.py:279 +#, fuzzy +msgid "All Accounts" +msgstr "Comptes" + +#: gajim/gtk/xml_console.py:170 +#, python-format +msgid "Please make sure you are connected with '%s'." +msgstr "" + +#: gajim/gtk/xml_console.py:180 +#, fuzzy +msgid "Invalid Node" +msgstr "Gestiona Sala" + +#: gajim/gtk/xml_console.py:282 +msgid "Account" +msgstr "Compte" + +#: gajim/gtk/xml_console.py:309 gajim/data/gui/xml_console.ui:241 +#, fuzzy +msgid "Filter" +msgstr "Filtra:" + +#: gajim/gtk/dataform.py:252 gajim/gtk/dataform.py:290 +#, fuzzy +msgid "Required" +msgstr "requereix" + +#: gajim/gtk/dataform.py:315 +msgid "Yes" +msgstr "Sí" + +#: gajim/gtk/dataform.py:315 +msgid "No" +msgstr "No" + +#: gajim/gtk/dataform.py:701 gajim/gtk/adhoc.py:86 +#: gajim/data/gui/profile.ui:396 +#, fuzzy +msgid "Cancel" +msgstr "_Cancel·la" + +#: gajim/gtk/dataform.py:703 +msgid "Submit" +msgstr "" + +#: gajim/gtk/discovery.py:69 +msgid "This service has not yet responded with detailed information" +msgstr "" + +#: gajim/gtk/discovery.py:70 +msgid "" +"This service could not respond with detailed information.\n" +"It is most likely a legacy service or broken." +msgstr "" + +#: gajim/gtk/discovery.py:126 +msgid "Others" +msgstr "" + +#: gajim/gtk/discovery.py:129 gajim/data/gui/shortcuts_window.ui:307 +#, fuzzy +msgid "Group Chat" +msgstr "Grups de xat" + +#: gajim/gtk/discovery.py:523 +msgid "Without a connection, you can not browse available services" +msgstr "" + +#: gajim/gtk/discovery.py:610 +#, python-format +msgid "Service Discovery using account %s" +msgstr "" + +#: gajim/gtk/discovery.py:612 +msgid "Service Discovery" +msgstr "" + +#: gajim/gtk/discovery.py:695 +msgid "The service could not be found" +msgstr "" + +#: gajim/gtk/discovery.py:696 +msgid "" +"There is no service at the address you entered, or it is not responding. " +"Check the address and try again." +msgstr "" + +#: gajim/gtk/discovery.py:703 gajim/gtk/discovery.py:1046 +msgid "The service is not browsable" +msgstr "" + +#: gajim/gtk/discovery.py:704 +msgid "This type of service does not contain any items to browse." +msgstr "" + +#: gajim/gtk/discovery.py:742 gajim/gtk/discovery.py:751 +msgid "Invalid Server Name" +msgstr "" + +#: gajim/gtk/discovery.py:810 +#, python-format +msgid "Browsing %(address)s using account %(account)s" +msgstr "" + +#: gajim/gtk/discovery.py:855 +msgid "Browse" +msgstr "" + +#: gajim/gtk/discovery.py:1047 +msgid "This service does not contain any items to browse." +msgstr "" + +#: gajim/gtk/discovery.py:1259 +msgid "_Command" +msgstr "" + +#: gajim/gtk/discovery.py:1268 gajim/gtk/discovery.py:1425 +msgid "Re_gister" +msgstr "" + +#: gajim/gtk/discovery.py:1275 +msgid "Join" +msgstr "" + +#: gajim/gtk/discovery.py:1281 +#, fuzzy +msgid "_Search" +msgstr "Cerca:" + +#: gajim/gtk/discovery.py:1423 gajim/data/gui/profile.ui:353 +msgid "_Edit" +msgstr "_Edita" + +#: gajim/gtk/discovery.py:1461 +#, python-format +msgid "Scanning %(current)d / %(total)d ..." +msgstr "" + +#: gajim/gtk/discovery.py:1660 +msgid "Users" +msgstr "" + +#: gajim/gtk/discovery.py:1668 gajim/data/gui/groupchat_info_scrolled.ui:32 +#: gajim/data/gui/filetransfers_send_file_dialog.ui:15 +#: gajim/data/gui/advanced_configuration.ui:82 +msgid "Description" +msgstr "" + +#: gajim/gtk/discovery.py:1676 +msgid "Id" +msgstr "" + +#: gajim/gtk/discovery.py:1905 +msgid "Subscribed" +msgstr "" + +#: gajim/gtk/discovery.py:1914 +msgid "Node" +msgstr "" + +#: gajim/gtk/discovery.py:1983 +#, fuzzy +msgid "_New post" +msgstr "Afegeix un contacte nou" + +#: gajim/gtk/discovery.py:1992 +msgid "_Subscribe" +msgstr "" + +#: gajim/gtk/discovery.py:2000 +msgid "_Unsubscribe" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:43 +msgid "Show Join/Leave" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:53 +#, fuzzy +msgid "Notify on all Messages" +msgstr "_Canvia Missatge d'Estat" + +#: gajim/gtk/groupchat_settings.py:58 +#, fuzzy +msgid "Minimize on Close" +msgstr "_Minimitza en tancar" + +#: gajim/gtk/groupchat_settings.py:63 +#, fuzzy +msgid "Minimize When Joining Automatically" +msgstr "Minimitza quan es connecta automàticament" + +#: gajim/gtk/groupchat_settings.py:68 +#, fuzzy +msgid "Send Chat State" +msgstr "Inactiva" + +#: gajim/gtk/groupchat_settings.py:74 +#, fuzzy +msgid "Send Chat Markers" +msgstr "Inactiva" + +#: gajim/gtk/groupchat_settings.py:77 +msgid "Let others know if you read up to this point" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:80 +msgid "Sync Threshold" +msgstr "" + +#: gajim/gtk/proxies.py:33 +#, fuzzy +msgid "Manage Proxies" +msgstr "Gestió de perfils de proxy" + +#: gajim/gtk/manage_sounds.py:40 +#, fuzzy +msgid "Manage Sounds" +msgstr "Gestiona sons" + +#: gajim/gtk/manage_sounds.py:51 +msgid "Wav Sounds" +msgstr "" + +#: gajim/gtk/manage_sounds.py:85 +msgid "Attention Message Received" +msgstr "" + +#: gajim/gtk/manage_sounds.py:86 +msgid "First Message Received" +msgstr "" + +#: gajim/gtk/manage_sounds.py:87 +msgid "Next Message Received Focused" +msgstr "" + +#: gajim/gtk/manage_sounds.py:88 +msgid "Next Message Received Unfocused" +msgstr "" + +#: gajim/gtk/manage_sounds.py:89 +msgid "Contact Connected" +msgstr "" + +#: gajim/gtk/manage_sounds.py:90 +msgid "Contact Disconnected" +msgstr "" + +#: gajim/gtk/manage_sounds.py:91 +msgid "Message Sent" +msgstr "" + +#: gajim/gtk/manage_sounds.py:92 +msgid "Group Chat Message Highlight" +msgstr "" + +#: gajim/gtk/manage_sounds.py:93 +msgid "Group Chat Message Received" +msgstr "" + +#: gajim/gtk/groupchat_info.py:38 +#, fuzzy +msgid "?Group chat feature:Open" +msgstr "Grups de xat" + +#: gajim/gtk/groupchat_info.py:39 +msgid "Anyone can join this group chat" +msgstr "" + +#: gajim/gtk/groupchat_info.py:42 +#, fuzzy +msgid "?Group chat feature:Members Only" +msgstr "Grups de xat" + +#: gajim/gtk/groupchat_info.py:43 +msgid "This group chat is restricted to members only" +msgstr "" + +#: gajim/gtk/groupchat_info.py:47 +#, fuzzy +msgid "?Group chat feature:Not Anonymous" +msgstr "Grups de xat" + +#: gajim/gtk/groupchat_info.py:48 +msgid "All other group chat participants can see your XMPP address" +msgstr "" + +#: gajim/gtk/groupchat_info.py:52 +#, fuzzy +msgid "?Group chat feature:Semi-Anonymous" +msgstr "Grups de xat" + +#: gajim/gtk/groupchat_info.py:53 +msgid "Only moderators can see your XMPP address" +msgstr "" + +#: gajim/gtk/groupchat_info.py:56 +#, fuzzy +msgid "?Group chat feature:Moderated" +msgstr "Grups de xat" + +#: gajim/gtk/groupchat_info.py:57 +msgid "" +"Participants entering this group chat need to request permission to send " +"messages" +msgstr "" + +#: gajim/gtk/groupchat_info.py:61 +#, fuzzy +msgid "?Group chat feature:Not Moderated" +msgstr "Grups de xat" + +#: gajim/gtk/groupchat_info.py:62 +msgid "Participants entering this group chat are allowed to send messages" +msgstr "" + +#: gajim/gtk/groupchat_info.py:66 +#, fuzzy +msgid "?Group chat feature:Public" +msgstr "Grups de xat" + +#: gajim/gtk/groupchat_info.py:67 +msgid "Group chat can be found via search" +msgstr "" + +#: gajim/gtk/groupchat_info.py:70 +#, fuzzy +msgid "?Group chat feature:Hidden" +msgstr "Grups de xat" + +#: gajim/gtk/groupchat_info.py:71 +msgid "This group chat can not be found via search" +msgstr "" + +#: gajim/gtk/groupchat_info.py:74 +#, fuzzy +msgid "?Group chat feature:Password Required" +msgstr "Grups de xat" + +#: gajim/gtk/groupchat_info.py:75 +msgid "This group chat does require a password upon entry" +msgstr "" + +#: gajim/gtk/groupchat_info.py:79 +#, fuzzy +msgid "?Group chat feature:No Password Required" +msgstr "Grups de xat" + +#: gajim/gtk/groupchat_info.py:80 +msgid "This group chat does not require a password upon entry" +msgstr "" + +#: gajim/gtk/groupchat_info.py:84 +#, fuzzy +msgid "?Group chat feature:Persistent" +msgstr "Grups de xat" + +#: gajim/gtk/groupchat_info.py:85 +msgid "This group chat persists even if there are no participants" +msgstr "" + +#: gajim/gtk/groupchat_info.py:89 +#, fuzzy +msgid "?Group chat feature:Temporary" +msgstr "Grups de xat" + +#: gajim/gtk/groupchat_info.py:90 +msgid "This group chat will be destroyed once the last participant left" +msgstr "" + +#: gajim/gtk/groupchat_info.py:94 +#, fuzzy +msgid "?Group chat feature:Archiving" +msgstr "Configuració de Sala" + +#: gajim/gtk/groupchat_info.py:95 +msgid "Messages are archived on the server" +msgstr "" + +#: gajim/gtk/groupchat_info.py:205 +msgid "Website" +msgstr "" + +#: gajim/gtk/accounts.py:122 +msgid "Re-Login" +msgstr "" + +#: gajim/gtk/accounts.py:123 +msgid "Re-Login now?" +msgstr "" + +#: gajim/gtk/accounts.py:124 +msgid "To apply all changes instantly, you have to re-login." +msgstr "" + +#: gajim/gtk/accounts.py:128 +msgid "_Re-Login" +msgstr "" + +#: gajim/gtk/accounts.py:311 gajim/data/gui/server_info.ui:386 +msgid "Connection" +msgstr "Connexió" + +#: gajim/gtk/accounts.py:496 +msgid "Please check if Bonjour is installed." +msgstr "" + +#: gajim/gtk/accounts.py:498 +msgid "Please check if Avahi is installed." +msgstr "" + +#: gajim/gtk/accounts.py:537 +#, fuzzy +msgid "Disable Account" +msgstr "Compte" + +#: gajim/gtk/accounts.py:538 +#, python-format +msgid "Account %s is still connected" +msgstr "" + +#: gajim/gtk/accounts.py:539 +msgid "All chat and group chat windows will be closed." +msgstr "" + +#: gajim/gtk/accounts.py:543 +#, fuzzy +msgid "_Disable Account" +msgstr "Compte" + +#: gajim/gtk/accounts.py:614 +msgid "Label" +msgstr "" + +#: gajim/gtk/accounts.py:618 gajim/data/gui/groupchat_control.ui:99 +#: gajim/data/gui/chat_control.ui:363 +msgid "Color" +msgstr "Color" + +#: gajim/gtk/accounts.py:620 +msgid "Recognize your account by color" +msgstr "" + +#: gajim/gtk/accounts.py:622 +msgid "Login" +msgstr "" + +#: gajim/gtk/accounts.py:627 +#, fuzzy +msgid "Import Contacts" +msgstr "Convida _Contactes" + +#: gajim/gtk/accounts.py:636 gajim/gtk/accounts.py:865 +#, fuzzy +msgid "Connect on startup" +msgstr "C_onecta al servidor quan s'inicia" + +#: gajim/gtk/accounts.py:640 gajim/gtk/accounts.py:870 +#, fuzzy +msgid "Save conversations for all contacts" +msgstr "Guarda registre de les converses amb tots els contactes" + +#: gajim/gtk/accounts.py:642 gajim/gtk/accounts.py:872 +msgid "Store conversations on the harddrive" +msgstr "" + +#: gajim/gtk/accounts.py:644 gajim/gtk/accounts.py:874 +#, fuzzy +msgid "Global Status" +msgstr "Estat" + +#: gajim/gtk/accounts.py:646 +#, fuzzy +msgid "Synchronise the status of all accounts" +msgstr "Sincronit_za l'estat del compte amb l'estat global" + +#: gajim/gtk/accounts.py:648 +msgid "Remember Last Status" +msgstr "" + +#: gajim/gtk/accounts.py:650 +msgid "Restore status and status message of your last session" +msgstr "" + +#: gajim/gtk/accounts.py:653 +msgid "Use file transfer proxies" +msgstr "Fer ús de proxis per a transferència de fitxers" + +#: gajim/gtk/accounts.py:670 +#, fuzzy +msgid "Forever" +msgstr "Mai" + +#: gajim/gtk/accounts.py:671 gajim/common/const.py:1110 +msgid "1 Day" +msgstr "" + +#: gajim/gtk/accounts.py:672 gajim/common/const.py:1112 +msgid "1 Week" +msgstr "" + +#: gajim/gtk/accounts.py:673 gajim/common/const.py:1113 +msgid "1 Month" +msgstr "" + +#: gajim/gtk/accounts.py:674 +msgid "3 Months" +msgstr "" + +#: gajim/gtk/accounts.py:675 +msgid "6 Months" +msgstr "" + +#: gajim/gtk/accounts.py:676 +msgid "1 Year" +msgstr "" + +#: gajim/gtk/accounts.py:686 +msgid "Idle Time" +msgstr "" + +#: gajim/gtk/accounts.py:688 +msgid "Disclose the time of your last activity" +msgstr "" + +#: gajim/gtk/accounts.py:690 +msgid "Local System Time" +msgstr "" + +#: gajim/gtk/accounts.py:692 +msgid "Disclose the local system time of the device Gajim runs on" +msgstr "" + +#: gajim/gtk/accounts.py:695 +#, fuzzy +msgid "Client / Operating System" +msgstr "Certificat de client" + +#: gajim/gtk/accounts.py:697 +msgid "" +"Disclose information about the client and operating system you currently use" +msgstr "" + +#: gajim/gtk/accounts.py:700 +#, fuzzy +msgid "Ignore Unknown Contacts" +msgstr "Convida _Contactes" + +#: gajim/gtk/accounts.py:702 +msgid "Ignore everything from contacts not in your Roster" +msgstr "" + +#: gajim/gtk/accounts.py:705 +#, fuzzy +msgid "Send Message Receipts" +msgstr "Envia missatge" + +#: gajim/gtk/accounts.py:707 +msgid "Tell your contacts if you received a message" +msgstr "" + +#: gajim/gtk/accounts.py:713 +#, fuzzy +msgid "Default for chats" +msgstr "Lliure per xatejar" + +#: gajim/gtk/accounts.py:716 gajim/gtk/accounts.py:741 +msgid "Reset all chats to the current default value" +msgstr "" + +#: gajim/gtk/accounts.py:722 +#, fuzzy +msgid "Send Chatstate in Group Chats" +msgstr "Uneix-te al xat en grup" + +#: gajim/gtk/accounts.py:725 +#, fuzzy +msgid "Default for group chats" +msgstr "Grups de xat" + +#: gajim/gtk/accounts.py:739 +msgid "Default for chats and private group chats" +msgstr "" + +#: gajim/gtk/accounts.py:747 +#, fuzzy +msgid "Keep Chat History" +msgstr "Historial" + +#: gajim/gtk/accounts.py:751 +msgid "How long Gajim should keep your chat history" +msgstr "" + +#: gajim/gtk/accounts.py:787 gajim/data/gui/manage_proxies.ui:337 +#, fuzzy +msgid "Proxy" +msgstr "Prox_y:" + +#: gajim/gtk/accounts.py:794 gajim/gtk/accounts.py:949 +#: gajim/data/gui/server_info.ui:20 +#, fuzzy +msgid "Hostname" +msgstr "Nom del servidor:" + +#: gajim/gtk/accounts.py:795 +msgid "Manually set the hostname for the server" +msgstr "" + +#: gajim/gtk/accounts.py:798 gajim/data/gui/vcard_information_window.ui:72 +#, fuzzy +msgid "Resource" +msgstr "Recurs:" + +#: gajim/gtk/accounts.py:801 gajim/gtk/accounts.py:917 +#: gajim/gtk/accounts.py:925 +#, fuzzy +msgid "Priority" +msgstr "Priori_tat:" + +#: gajim/gtk/accounts.py:804 +#, fuzzy +msgid "Use Unencrypted Connection" +msgstr "Avís abans d'una connexió insegura" + +#: gajim/gtk/accounts.py:806 gajim/common/config.py:273 +#, fuzzy +msgid "Use an unencrypted connection to the server" +msgstr "Informació sobre tu, tal i com està guardada al servidor" + +#: gajim/gtk/accounts.py:808 +#, fuzzy +msgid "Confirm Unencrypted Connection" +msgstr "Avís abans d'una connexió insegura" + +#: gajim/gtk/accounts.py:811 +msgid "Show a confirmation dialog before connecting unencrypted" +msgstr "" + +#: gajim/gtk/accounts.py:835 gajim/data/gui/zeroconf_information_window.ui:8 +#: gajim/data/gui/vcard_information_window.ui:8 +#: gajim/data/gui/subscription_request_window.ui:164 +msgid "Contact Information" +msgstr "" + +#: gajim/gtk/accounts.py:837 +msgid "Request contact information (Mood, Activity, Tune, Location)" +msgstr "" + +#: gajim/gtk/accounts.py:840 +msgid "Accept all Contact Requests" +msgstr "" + +#: gajim/gtk/accounts.py:842 +msgid "Automatically accept all contact requests" +msgstr "" + +#: gajim/gtk/accounts.py:844 +#, fuzzy +msgid "Filetransfer Preference" +msgstr "Transferència de Fitxers" + +#: gajim/gtk/accounts.py:846 +#, fuzzy +msgid "Upload Files" +msgstr "Envia _Fitxer" + +#: gajim/gtk/accounts.py:847 +#, fuzzy +msgid "Send Files Directly" +msgstr "Envia _Fitxer" + +#: gajim/gtk/accounts.py:848 +msgid "Preferred file transfer mechanism for file drag&drop on a chat window" +msgstr "" + +#: gajim/gtk/accounts.py:867 +#, fuzzy +msgid "Use environment variable" +msgstr "fa ús de la variable d'entorn HTTP__PROXY" + +#: gajim/gtk/accounts.py:876 +#, fuzzy +msgid "Synchronize the status of all accounts" +msgstr "Sinc_ronitza l'estat del compte amb l'estat global" + +#: gajim/gtk/accounts.py:886 +#, fuzzy +msgid "First Name" +msgstr "Nom:" + +#: gajim/gtk/accounts.py:889 +#, fuzzy +msgid "Last Name" +msgstr "Cognom:" + +#: gajim/gtk/accounts.py:895 gajim/gtk/profile.py:32 gajim/gtk/vcard_grid.py:39 +msgid "Email" +msgstr "" + +#: gajim/gtk/accounts.py:913 +#, fuzzy +msgid "Adjust to status" +msgstr "Ajustar a estat" + +#: gajim/gtk/accounts.py:945 +msgid "Enable" +msgstr "" + +#: gajim/gtk/accounts.py:953 +#, fuzzy +msgid "Port" +msgstr "_Port:" + +#: gajim/gtk/accounts.py:957 gajim/data/gui/server_info.ui:250 +#, fuzzy +msgid "Type" +msgstr "_Tipus:" + +#: gajim/gtk/accounts.py:963 +#, fuzzy +msgid "Connection Settings" +msgstr "Connexió" + +#: gajim/gtk/accounts.py:971 +#, fuzzy +msgid "Client Certificate" +msgstr "Certificat de client" + +#: gajim/gtk/accounts.py:973 +msgid "PKCS12 Files" +msgstr "" + +#: gajim/gtk/accounts.py:975 +#, fuzzy +msgid "Encrypted Certificate" +msgstr "Certificat de client" + +#: gajim/gtk/accounts.py:979 +#, fuzzy +msgid "Certificate Settings" +msgstr "El Certificat està xifrat" + +#: gajim/gtk/accounts.py:987 gajim/data/gui/account_wizard.ui:255 +#: gajim/data/gui/bookmarks.ui:102 +#, fuzzy +msgid "Password" +msgstr "Contrasenya:" + +#: gajim/gtk/accounts.py:991 +#, fuzzy +msgid "Save Password" +msgstr "Desa la contrasenya" + +#: gajim/gtk/accounts.py:999 +#, fuzzy +msgid "Login Settings" +msgstr "Connectors" + +#: gajim/gtk/groupchat_config.py:39 +#, fuzzy +msgid "Group Chat Configuration" +msgstr "Configuració de Sala" + +#: gajim/gtk/groupchat_config.py:104 gajim/common/helpers.py:283 +#: gajim/data/gui/groupchat_config.ui:40 +msgid "Member" +msgstr "" + +#: gajim/gtk/groupchat_config.py:133 +msgid "A Group Chat needs at least one Owner" +msgstr "" + +#: gajim/gtk/groupchat_config.py:241 +msgid "You are not allowed to modify the affiliation of Admins and Owners" +msgstr "" + +#: gajim/gtk/groupchat_config.py:400 +msgid "An entry with this XMPP Address already exists" +msgstr "" + +#: gajim/gtk/server_info.py:142 gajim/data/gui/vcard_information_window.ui:89 +#: gajim/data/gui/preferences.ui:359 +msgid "Status" +msgstr "" + +#: gajim/gtk/server_info.py:143 +msgid "Support" +msgstr "" + +#: gajim/gtk/server_info.py:144 +msgid "Security" +msgstr "" + +#: gajim/gtk/server_info.py:145 +msgid "Feedback" +msgstr "" + +#: gajim/gtk/server_info.py:146 +msgid "Abuse" +msgstr "" + +#: gajim/gtk/server_info.py:147 +msgid "Sales" +msgstr "" + +#: gajim/gtk/server_info.py:231 +#, python-format +msgid "%(days)s days, %(hours)s hours" +msgstr "" + +#: gajim/gtk/server_info.py:239 gajim/gtk/vcard_grid.py:115 +#: gajim/common/helpers.py:224 +msgid "Unknown" +msgstr "" + +#: gajim/gtk/server_info.py:360 +#, fuzzy +msgid "" +"\n" +"Disabled in preferences" +msgstr "Preferències" + +#: gajim/gtk/history.py:79 +msgid "Conversation History" +msgstr "Històric de converses" + +#: gajim/gtk/history.py:411 gajim/gtk/history.py:465 +msgid "Disk Error" +msgstr "" + +#: gajim/gtk/history.py:576 +#, python-format +msgid "%(nick)s is now %(status)s: %(status_msg)s" +msgstr "" + +#: gajim/gtk/history.py:581 gajim/common/connection_handlers_events.py:414 +#, python-format +msgid "%(nick)s is now %(status)s" +msgstr "" + +#: gajim/gtk/history.py:589 +#, python-format +msgid "Error: %s" +msgstr "" + +#: gajim/gtk/history.py:593 +#, python-format +msgid "Status is now: %(status)s: %(status_msg)s" +msgstr "" + +#: gajim/gtk/history.py:597 +#, python-format +msgid "Status is now: %(status)s" +msgstr "" + +#: gajim/gtk/about.py:51 +msgid "A GTK XMPP client" +msgstr "" + +#: gajim/gtk/about.py:52 +#, fuzzy, python-format +msgid "GTK Version: %s" +msgstr "Versió:" + +#: gajim/gtk/about.py:53 +#, fuzzy, python-format +msgid "GLib Version: %s" +msgstr "Versió:" + +#: gajim/gtk/about.py:54 +#, python-format +msgid "PyGObject Version: %s" +msgstr "" + +#: gajim/gtk/about.py:55 +#, python-format +msgid "python-nbxmpp Version: %s" +msgstr "" + +#: gajim/gtk/about.py:59 +msgid "Current Developers" +msgstr "" + +#: gajim/gtk/about.py:60 +msgid "Past Developers" +msgstr "" + +#: gajim/gtk/about.py:61 +msgid "Artists" +msgstr "" + +#: gajim/gtk/about.py:65 +msgid "Last but not least" +msgstr "" + +#: gajim/gtk/about.py:66 +msgid "we would like to thank all the package maintainers." +msgstr "" + +#: gajim/gtk/about.py:67 +msgid "Thanks" +msgstr "" + +#: gajim/gtk/about.py:69 +msgid "translator-credits" +msgstr "" + +#: gajim/gtk/search.py:95 gajim/gtk/search.py:191 +msgid "Search" +msgstr "" + +#: gajim/gtk/search.py:101 +#, fuzzy +msgid "New Search" +msgstr "Cerca:" + +#: gajim/gtk/search.py:176 +msgid "Request Search Form" +msgstr "" + +#: gajim/gtk/search.py:236 +#, fuzzy +msgid "Search…" +msgstr "Cerca:" + +#: gajim/gtk/search.py:243 +#, fuzzy +msgid "Search Result" +msgstr "Cerca:" + +#: gajim/gtk/search.py:250 +#, fuzzy +msgid "No results found" +msgstr "Grups de xat" + +#: gajim/gtk/features.py:40 gajim/data/gui/server_info.ui:447 +msgid "Features" +msgstr "Característiques" + +#: gajim/gtk/features.py:90 +msgid "Audio / Video" +msgstr "" + +#: gajim/gtk/features.py:92 +msgid "Enables Gajim to provide Audio and Video chats" +msgstr "" + +#: gajim/gtk/features.py:93 +msgid "" +"Requires: gir1.2-farstream-0.2, gir1.2-gstreamer-1.0, gstreamer1.0-libav, " +"gstreamer1.0-plugins-ugly" +msgstr "" + +#: gajim/gtk/features.py:95 gajim/gtk/features.py:145 +msgid "Feature not available under Windows" +msgstr "" + +#: gajim/gtk/features.py:97 +#, fuzzy +msgid "Automatic Status" +msgstr "Ajustar a estat" + +#: gajim/gtk/features.py:99 +msgid "" +"Enables Gajim to measure your computer's idle time in order to set your " +"Status automatically" +msgstr "" + +#: gajim/gtk/features.py:101 +msgid "Requires: libxss" +msgstr "" + +#: gajim/gtk/features.py:102 gajim/gtk/features.py:123 +msgid "No additional requirements" +msgstr "" + +#: gajim/gtk/features.py:104 +msgid "Bonjour / Zeroconf (Serverless Chat)" +msgstr "" + +#: gajim/gtk/features.py:106 +msgid "" +"Enables Gajim to automatically detected clients in a local network for " +"serverless chats" +msgstr "" + +#: gajim/gtk/features.py:108 +msgid "Requires: gir1.2-avahi-0.6" +msgstr "" + +#: gajim/gtk/features.py:109 +#, python-format +msgid "Requires: pybonjour and bonjour SDK running (%(url)s)" +msgstr "" + +#: gajim/gtk/features.py:112 +#, fuzzy +msgid "Location detection" +msgstr "Connexió" + +#: gajim/gtk/features.py:114 +msgid "" +"Enables Gajim to be location-aware, if the user decides to publish the " +"device’s location" +msgstr "" + +#: gajim/gtk/features.py:116 +#, fuzzy +msgid "Requires: geoclue" +msgstr "Sol.licita Veu" + +#: gajim/gtk/features.py:117 +msgid "Feature is not available under Windows" +msgstr "" + +#: gajim/gtk/features.py:119 +#, fuzzy +msgid "Notification Sounds" +msgstr "Afegeix _Notificació Especial..." + +#: gajim/gtk/features.py:121 +msgid "Enables Gajim to play sounds for various notifications" +msgstr "" + +#: gajim/gtk/features.py:122 +#, fuzzy +msgid "Requires: gsound" +msgstr "requereix" + +#: gajim/gtk/features.py:125 +#, fuzzy +msgid "Secure Password Storage" +msgstr "Desa la contrasenya" + +#: gajim/gtk/features.py:127 +msgid "" +"Enables Gajim to store Passwords securely instead of storing them in " +"plaintext" +msgstr "" + +#: gajim/gtk/features.py:129 +msgid "Requires: gnome-keyring or kwallet" +msgstr "" + +#: gajim/gtk/features.py:130 +msgid "Windows Credential Vault is used for secure password storage" +msgstr "" + +#: gajim/gtk/features.py:133 +msgid "Spell Checker" +msgstr "" + +#: gajim/gtk/features.py:135 +msgid "Enables Gajim to spell check your messages while composing" +msgstr "" + +#: gajim/gtk/features.py:137 gajim/gtk/features.py:138 +msgid "Requires: Gspell" +msgstr "" + +#: gajim/gtk/features.py:140 +msgid "UPnP-IGD Port Forwarding" +msgstr "" + +#: gajim/gtk/features.py:142 +msgid "" +"Enables Gajim to request your router to forward ports for file transfers" +msgstr "" + +#: gajim/gtk/features.py:144 +msgid "Requires: gir1.2-gupnpigd-1.0" +msgstr "" + +#: gajim/gtk/features.py:200 +#, fuzzy +msgid "Disabled in Preferences" +msgstr "Preferències" + +#: gajim/gtk/dialogs.py:55 gajim/gtk/filechoosers.py:179 +#: gajim/data/gui/groupchat_control.ui:674 +#: gajim/data/gui/groupchat_control.ui:766 +#: gajim/data/gui/groupchat_control.ui:882 +#: gajim/data/gui/groupchat_control.ui:974 +#: gajim/data/gui/groupchat_control.ui:1419 +#: gajim/data/gui/groupchat_control.ui:1545 +#: gajim/data/gui/groupchat_control.ui:1671 +#: gajim/data/gui/groupchat_control.ui:1842 +#: gajim/data/gui/groupchat_control.ui:1920 gajim/data/gui/filetransfers.ui:30 +#: gajim/data/gui/add_new_contact_window.ui:451 +#: gajim/data/gui/filetransfer_progress.ui:172 gajim/data/gui/profile.ui:260 +#: gajim/data/gui/passphrase_dialog.ui:29 +msgid "_Cancel" +msgstr "_Cancel·la" + +#: gajim/gtk/dialogs.py:65 gajim/data/gui/history_manager.ui:20 +#, fuzzy +msgid "_Delete" +msgstr "Suprimeix" + +#: gajim/gtk/dialogs.py:216 +#, fuzzy +msgid "Certificate" +msgstr "Certificat de client" + +#: gajim/gtk/dialogs.py:230 +#, fuzzy, python-format +msgid "" +"Certificate for \n" +"%s" +msgstr "El Certificat està xifrat" + +#: gajim/gtk/dialogs.py:279 +msgid "Issued to\n" +msgstr "" + +#: gajim/gtk/dialogs.py:280 gajim/gtk/dialogs.py:285 +msgid "Common Name (CN): " +msgstr "" + +#: gajim/gtk/dialogs.py:281 gajim/gtk/dialogs.py:286 +msgid "Organization (O): " +msgstr "" + +#: gajim/gtk/dialogs.py:282 gajim/gtk/dialogs.py:287 +msgid "Organizational Unit (OU): " +msgstr "" + +#: gajim/gtk/dialogs.py:283 +msgid "Serial Number: " +msgstr "" + +#: gajim/gtk/dialogs.py:284 +msgid "Issued by\n" +msgstr "" + +#: gajim/gtk/dialogs.py:288 +msgid "Validity\n" +msgstr "" + +#: gajim/gtk/dialogs.py:289 +msgid "Issued on: " +msgstr "" + +#: gajim/gtk/dialogs.py:290 +#, fuzzy +msgid "Expires on: " +msgstr "expira" + +#: gajim/gtk/dialogs.py:291 +msgid "SHA-1:" +msgstr "" + +#: gajim/gtk/dialogs.py:293 +msgid "SHA-256:" +msgstr "" + +#: gajim/gtk/util.py:591 +msgid "Unknown Artist" +msgstr "" + +#: gajim/gtk/util.py:592 +msgid "Unknown Title" +msgstr "" + +#: gajim/gtk/util.py:593 +msgid "Unknown Source" +msgstr "" + +#: gajim/gtk/util.py:595 +#, python-format +msgid "" +"\"%(title)s\" by %(artist)s\n" +"from %(source)s" +msgstr "" + +#: gajim/gtk/profile.py:28 gajim/gtk/vcard_grid.py:33 +#: gajim/data/gui/vcard_information_window.ui:411 +#, fuzzy +msgid "Full Name" +msgstr "Nom:" + +#: gajim/gtk/profile.py:29 gajim/gtk/vcard_grid.py:35 +#: gajim/data/gui/vcard_information_window.ui:770 +msgid "Birthday" +msgstr "" + +#: gajim/gtk/profile.py:30 gajim/gtk/vcard_grid.py:36 +msgid "Gender" +msgstr "" + +#: gajim/gtk/profile.py:31 gajim/data/gui/groupchat_info_scrolled.ui:16 +#, fuzzy +msgid "Address" +msgstr "_Copia adreça JID/Email" + +#: gajim/gtk/profile.py:34 gajim/gtk/vcard_grid.py:38 +#: gajim/data/gui/vcard_information_window.ui:720 +#: gajim/data/gui/vcard_information_window.ui:1396 +msgid "Phone No." +msgstr "" + +#: gajim/gtk/profile.py:35 +msgid "?profile:Organisation" +msgstr "" + +#: gajim/gtk/profile.py:36 gajim/gtk/vcard_grid.py:41 +msgid "?profile:Title" +msgstr "" + +#: gajim/gtk/profile.py:37 gajim/gtk/vcard_grid.py:42 +#, fuzzy +msgid "?profile:Role" +msgstr "Perfil" + +#: gajim/gtk/profile.py:38 gajim/gtk/vcard_grid.py:45 +msgid "URL" +msgstr "" + +#: gajim/gtk/profile.py:39 gajim/gtk/vcard_grid.py:46 +#, fuzzy +msgid "?profile:Key" +msgstr "Perfil" + +#: gajim/gtk/profile.py:299 gajim/gtk/profile.py:301 +#: gajim/data/gui/profile.ui:98 gajim/data/gui/profile.ui:110 +msgid "Everyone" +msgstr "" + +#: gajim/gtk/profile.py:299 gajim/gtk/profile.py:301 +#: gajim/data/gui/shortcuts_window.ui:108 gajim/data/gui/groupchat_invite.ui:83 +msgid "Contacts" +msgstr "" + +#: gajim/gtk/filechoosers.py:88 +msgid "Choose File to Send…" +msgstr "" + +#: gajim/gtk/filechoosers.py:94 +msgid "Choose Avatar…" +msgstr "" + +#: gajim/gtk/filechoosers.py:98 +#, fuzzy +msgid "PNG files" +msgstr "Perfil" + +#: gajim/gtk/filechoosers.py:99 +msgid "JPEG files" +msgstr "" + +#: gajim/gtk/filechoosers.py:100 +msgid "SVG files" +msgstr "" + +#: gajim/gtk/filechoosers.py:102 +msgid "Images" +msgstr "" + +#: gajim/gtk/filechoosers.py:139 +msgid "Choose Archive" +msgstr "" + +#: gajim/gtk/filechoosers.py:141 +#, fuzzy +msgid "ZIP files" +msgstr "Perfil" + +#: gajim/gtk/filechoosers.py:146 +msgid "Save File as…" +msgstr "" + +#: gajim/gtk/filechoosers.py:180 +msgid "_Open" +msgstr "" + +#: gajim/gtk/blocking.py:38 +#, python-format +msgid "Blocking List for %s" +msgstr "" + +#: gajim/gtk/blocking.py:64 +msgid "Error!" +msgstr "" + +#: gajim/gtk/service_registration.py:143 gajim/gtk/service_registration.py:157 +#: gajim/gtk/service_registration.py:164 +#, fuzzy +msgid "Register" +msgstr "_Registra" + +#: gajim/gtk/service_registration.py:193 gajim/gtk/service_registration.py:205 +msgid "Registration successful" +msgstr "" + +#: gajim/gtk/service_registration.py:216 +msgid "Registration failed" +msgstr "" + +#: gajim/gtk/vcard_grid.py:37 +#, fuzzy +msgid "?profile:Address" +msgstr "_Copia adreça JID/Email" + +#: gajim/gtk/vcard_grid.py:40 +#, fuzzy +msgid "IM Address" +msgstr "_Copia adreça JID/Email" + +#: gajim/gtk/vcard_grid.py:43 +msgid "Organisation" +msgstr "" + +#: gajim/gtk/vcard_grid.py:44 +#, fuzzy +msgid "?profile:Note" +msgstr "Perfil" + +#: gajim/gtk/vcard_grid.py:51 +msgid "Your public key or authentication certificate" +msgstr "" + +#: gajim/gtk/vcard_grid.py:59 +msgid "Post Office Box" +msgstr "" + +#: gajim/gtk/vcard_grid.py:60 gajim/data/gui/vcard_information_window.ui:489 +#: gajim/data/gui/vcard_information_window.ui:1179 +msgid "Street" +msgstr "" + +#: gajim/gtk/vcard_grid.py:61 +#, fuzzy +msgid "Extended Address" +msgstr "_Copia adreça JID/Email" + +#: gajim/gtk/vcard_grid.py:62 gajim/data/gui/vcard_information_window.ui:505 +#: gajim/data/gui/vcard_information_window.ui:1195 +msgid "City" +msgstr "" + +#: gajim/gtk/vcard_grid.py:63 gajim/data/gui/vcard_information_window.ui:521 +#: gajim/data/gui/vcard_information_window.ui:1211 +#, fuzzy +msgid "State" +msgstr "Estat" + +#: gajim/gtk/vcard_grid.py:64 gajim/data/gui/vcard_information_window.ui:595 +#: gajim/data/gui/vcard_information_window.ui:1244 +msgid "Postal Code" +msgstr "" + +#: gajim/gtk/vcard_grid.py:65 gajim/data/gui/vcard_information_window.ui:611 +#: gajim/data/gui/vcard_information_window.ui:1260 +#, fuzzy +msgid "Country" +msgstr "Entrada:" + +#: gajim/gtk/vcard_grid.py:111 +msgid "Male" +msgstr "" + +#: gajim/gtk/vcard_grid.py:112 +msgid "Female" +msgstr "" + +#: gajim/gtk/vcard_grid.py:113 +msgid "?Gender:Other" +msgstr "" + +#: gajim/gtk/vcard_grid.py:114 +msgid "?Gender:None" +msgstr "" + +#: gajim/gtk/vcard_grid.py:121 gajim/gtk/vcard_grid.py:428 +#, fuzzy +msgid "Home" +msgstr "Pàgina d'inici:" + +#: gajim/gtk/vcard_grid.py:122 gajim/gtk/vcard_grid.py:429 +#: gajim/data/gui/vcard_information_window.ui:1452 +msgid "Work" +msgstr "" + +#: gajim/gtk/vcard_grid.py:598 +msgid "YYYY-MM-DD" +msgstr "" + +#: gajim/gtk/adhoc.py:91 +#, fuzzy +msgid "Finish" +msgstr "Acaba" + +#: gajim/gtk/adhoc.py:96 gajim/gtk/adhoc.py:283 +msgid "Commands" +msgstr "" + +#: gajim/gtk/adhoc.py:107 +msgid "Previous" +msgstr "" + +#: gajim/gtk/adhoc.py:112 +#, fuzzy +msgid "Execute" +msgstr "_Executa Comanda...." + +#: gajim/gtk/adhoc.py:196 +#, fuzzy +msgid "No commands available" +msgstr "Transferència de Fitxers" + +#: gajim/gtk/adhoc.py:244 +#, fuzzy +msgid "Request Command List" +msgstr "Sol.licita Veu" + +#: gajim/gtk/adhoc.py:259 +msgid "Executing…" +msgstr "" + +#: gajim/gtk/adhoc.py:266 +msgid "Command List" +msgstr "" + +#: gajim/gtk/adhoc.py:321 gajim/data/gui/manage_proxies.ui:255 +#, fuzzy +msgid "Settings" +msgstr "Connectors" + +#: gajim/gtk/adhoc.py:386 +#, fuzzy +msgid "Finished" +msgstr "Acaba" + +#: gajim/gtk/adhoc.py:455 +msgid "Execution failed" +msgstr "" + +#: gajim/common/jingle_rtp.py:133 +#, python-format +msgid "%s configuration error" +msgstr "" + +#: gajim/common/jingle_rtp.py:134 +#, python-format +msgid "" +"Couldn’t set up %(text)s. Check your configuration.\n" +"Pipeline:\n" +"%(pipeline)s\n" +"Error:\n" +"%(error)s" +msgstr "" + +#: gajim/common/jingle_rtp.py:416 +msgid "audio input" +msgstr "" + +#: gajim/common/jingle_rtp.py:421 +msgid "audio output" +msgstr "" + +#: gajim/common/jingle_rtp.py:489 +msgid "video input" +msgstr "" + +#: gajim/common/setting_values.py:300 gajim/common/config.py:356 +#: gajim/common/const.py:387 +msgid "Sleeping" +msgstr "" + +#: gajim/common/setting_values.py:301 +msgid "ZZZZzzzzzZZZZZ" +msgstr "" + +#: gajim/common/setting_values.py:306 gajim/common/config.py:357 +msgid "Back soon" +msgstr "" + +#: gajim/common/setting_values.py:307 gajim/common/config.py:357 +msgid "Back in some minutes." +msgstr "" + +#: gajim/common/setting_values.py:309 gajim/common/config.py:358 +#: gajim/common/const.py:353 +msgid "Eating" +msgstr "" + +#: gajim/common/setting_values.py:310 +msgid "I’m eating." +msgstr "" + +#: gajim/common/setting_values.py:314 gajim/common/config.py:359 +msgid "Movie" +msgstr "" + +#: gajim/common/setting_values.py:315 +msgid "I’m watching a movie." +msgstr "" + +#: gajim/common/setting_values.py:319 gajim/common/config.py:360 +#: gajim/common/const.py:420 +msgid "Working" +msgstr "" + +#: gajim/common/setting_values.py:320 +msgid "I’m working." +msgstr "" + +#: gajim/common/setting_values.py:324 gajim/common/config.py:362 +msgid "Out" +msgstr "" + +#: gajim/common/setting_values.py:325 +msgid "I’m out enjoying life." +msgstr "" + +#: gajim/common/setting_values.py:393 gajim/common/config.py:84 +msgid "" +"Allow to hide the contact list window even if the notification area icon is " +"not shown." +msgstr "" + +#: gajim/common/setting_values.py:394 gajim/common/config.py:95 +msgid "" +"'always' - print time for every message.\n" +"'sometimes' - print time every print_ichat_every_foo_minutes minute.\n" +"'never' - never print time." +msgstr "" + +#: gajim/common/setting_values.py:395 gajim/common/config.py:99 +msgid "Treat * / _ pairs as possible formatting characters." +msgstr "" + +#: gajim/common/setting_values.py:396 gajim/common/config.py:100 +msgid "" +"If enabled, do not remove */_ . So *abc* will be bold but with * * not " +"removed." +msgstr "" + +#: gajim/common/setting_values.py:397 gajim/common/config.py:103 +msgid "" +"Character to add after nickname when using nickname completion (tab) in " +"group chat." +msgstr "" + +#: gajim/common/setting_values.py:398 gajim/common/config.py:125 +msgid "" +"If enabled, Gajim will save the contact list window position when hiding it, " +"and restore it when showing the contact list window again." +msgstr "" + +#: gajim/common/setting_values.py:399 gajim/common/config.py:131 +msgid "Place the contact list on the right in single window mode" +msgstr "" + +#: gajim/common/setting_values.py:400 gajim/common/config.py:137 +msgid "" +"This option lets you customize the timestamp that is printed in " +"conversation. For example '[%H:%M] ' will show '[hour:minute] '. See python " +"doc on strftime for full documentation (https://docs.python.org/3/library/" +"time.html#time.strftime)." +msgstr "" + +#: gajim/common/setting_values.py:401 gajim/common/config.py:138 +msgid "Characters that are printed before the nickname in conversations." +msgstr "" + +#: gajim/common/setting_values.py:402 gajim/common/config.py:139 +msgid "Characters that are printed after the nickname in conversations." +msgstr "" + +#: gajim/common/setting_values.py:403 gajim/common/config.py:140 +msgid "If enabled, Gajim will add * and [n] in contact list window title." +msgstr "" + +#: gajim/common/setting_values.py:404 gajim/common/config.py:141 +msgid "" +"Number of messages from chat history to be restored when a chat tab/window " +"is reopened." +msgstr "" + +#: gajim/common/setting_values.py:405 gajim/common/config.py:142 +msgid "" +"How far back in time (minutes) chat history is restored. -1 means no limit." +msgstr "" + +#: gajim/common/setting_values.py:406 gajim/common/config.py:143 +msgid "Send message on Ctrl+Enter and make a new line with Enter." +msgstr "" + +#: gajim/common/setting_values.py:407 gajim/common/config.py:145 +msgid "How many lines to store for Ctrl+KeyUP (previously sent messages)." +msgstr "" + +#: gajim/common/setting_values.py:409 gajim/common/config.py:148 +#, python-format +msgid "" +"Either a custom URL with %%s in it (where %%s is the word/phrase) or " +"'WIKTIONARY' (which means use Wikitionary)." +msgstr "" + +#: gajim/common/setting_values.py:412 gajim/common/config.py:151 +msgid "If checked, Gajim can be controlled remotely using gajim-remote." +msgstr "" + +#: gajim/common/setting_values.py:413 +msgid "" +"When not printing time for every message ('print_time'==sometimes, print it " +"every x minutes." +msgstr "" + +#: gajim/common/setting_values.py:414 gajim/common/config.py:153 +msgid "Ask before pasting an image." +msgstr "" + +#: gajim/common/setting_values.py:415 gajim/common/config.py:154 +msgid "Ask before closing a group chat tab/window." +msgstr "" + +#: gajim/common/setting_values.py:416 gajim/common/config.py:155 +msgid "" +"Ask before closing tabbed chat window if there are chats that can lose data " +"(chat, private chat, group chat that will not be minimized)." +msgstr "" + +#: gajim/common/setting_values.py:418 gajim/common/config.py:158 +msgid "" +"List of send hosts (comma separated) in addition to local interfaces for " +"file transfers (in case of address translation/port forwarding)." +msgstr "" + +#: gajim/common/setting_values.py:419 gajim/common/config.py:159 +msgid "IEC standard says KiB = 1024 bytes, KB = 1000 bytes." +msgstr "" + +#: gajim/common/setting_values.py:421 gajim/common/config.py:161 +msgid "Notify of events in the notification area." +msgstr "" + +#: gajim/common/setting_values.py:422 gajim/common/config.py:166 +msgid "Show tab when only one conversation?" +msgstr "" + +#: gajim/common/setting_values.py:423 gajim/common/config.py:167 +msgid "Show tabbed notebook border in chat windows?" +msgstr "" + +#: gajim/common/setting_values.py:424 gajim/common/config.py:168 +msgid "Show close button in tab?" +msgstr "" + +#: gajim/common/setting_values.py:425 gajim/common/config.py:169 +msgid "Preview new messages in notification popup?" +msgstr "" + +#: gajim/common/setting_values.py:426 gajim/common/config.py:172 +msgid "" +"A list of words (semicolon separated) that will be highlighted in group " +"chats." +msgstr "" + +#: gajim/common/setting_values.py:427 gajim/common/config.py:174 +msgid "" +"If enabled, Gajim hides the contact list window when pressing the X button " +"instead of minimizing into the notification area." +msgstr "" + +#: gajim/common/setting_values.py:432 gajim/common/config.py:181 +msgid "" +"Define the position of avatars in the contact list. Can be 'left' or 'right'." +msgstr "" + +#: gajim/common/setting_values.py:433 gajim/common/config.py:186 +msgid "Don't show contact list window in the system taskbar." +msgstr "" + +#: gajim/common/setting_values.py:434 gajim/common/config.py:187 +msgid "" +"If enabled, Gajim makes the window flash (the default behaviour in most " +"Window Managers) when holding pending events." +msgstr "" + +#: gajim/common/setting_values.py:436 gajim/common/config.py:193 +msgid "If enabled, pressing Esc closes a tab/window." +msgstr "" + +#: gajim/common/setting_values.py:437 gajim/common/config.py:194 +msgid "Hides the banner in a group chat window." +msgstr "" + +#: gajim/common/setting_values.py:438 gajim/common/config.py:195 +msgid "Hides the banner in a 1:1 chat window." +msgstr "" + +#: gajim/common/setting_values.py:439 gajim/common/config.py:196 +msgid "Hides the group chat participants list in a group chat window." +msgstr "" + +#: gajim/common/setting_values.py:440 gajim/common/config.py:197 +msgid "" +"In a chat, show the nickname at the beginning of a line only when it's not " +"the same person talking as in the previous message." +msgstr "" + +#: gajim/common/setting_values.py:441 gajim/common/config.py:198 +msgid "Indentation when using merge consecutive nickname." +msgstr "" + +#: gajim/common/setting_values.py:442 gajim/common/config.py:199 +msgid "" +"Ctrl+Tab switches to the next composing tab when there are no tabs with " +"messages pending." +msgstr "" + +#: gajim/common/setting_values.py:443 gajim/common/config.py:200 +msgid "" +"Show a confirmation dialog to create metacontacts? Empty string means never " +"show the dialog." +msgstr "" + +#: gajim/common/setting_values.py:444 gajim/common/config.py:201 +msgid "" +"Show a confirmation dialog to block a contact? Empty string means never show " +"the dialog." +msgstr "" + +#: gajim/common/setting_values.py:445 gajim/common/config.py:202 +msgid "" +"If enabled, you will be able to set a negative priority to your account in " +"the Accounts window. BE CAREFUL, when you are logged in with a negative " +"priority, you will NOT receive any message from your server." +msgstr "" + +#: gajim/common/setting_values.py:446 gajim/common/config.py:203 +msgid "" +"If enabled, Gajim will show both the number of online and total contacts in " +"account rows as well as in group rows." +msgstr "" + +#: gajim/common/setting_values.py:447 gajim/common/config.py:204 +msgid "" +"If enabled, Gajim will scroll and select the contact who sent you the last " +"message, if the chat window is not already opened." +msgstr "" + +#: gajim/common/setting_values.py:448 gajim/common/config.py:205 +msgid "Time of inactivity needed before the change status window closes down." +msgstr "" + +#: gajim/common/setting_values.py:449 gajim/common/config.py:206 +msgid "" +"Maximum number of lines that are printed in conversations. Oldest lines are " +"cleared." +msgstr "" + +#: gajim/common/setting_values.py:450 gajim/common/config.py:208 +msgid "" +"If enabled, completion in group chats will be like a shell auto-completion." +msgstr "" + +#: gajim/common/setting_values.py:451 gajim/common/config.py:217 +msgid "" +"If enabled, Gajim will try to use a STUN server when using Jingle. The one " +"in 'stun_server' option, or the one given by the XMPP server." +msgstr "" + +#: gajim/common/setting_values.py:452 gajim/common/config.py:218 +msgid "STUN server to use when using Jingle" +msgstr "" + +#: gajim/common/setting_values.py:453 gajim/common/config.py:220 +msgid "If enabled, Gajim will ignore incoming attention requests ('wizz')." +msgstr "" + +#: gajim/common/setting_values.py:454 gajim/common/config.py:221 +msgid "" +"If enabled, Gajim will reopen chat windows that were opened last time Gajim " +"was closed." +msgstr "" + +#: gajim/common/setting_values.py:455 gajim/common/config.py:224 +msgid "If enabled, Gajim will execute XEP-0146 Commands." +msgstr "" + +#: gajim/common/setting_values.py:458 gajim/common/config.py:236 +msgid "API Preferences. Possible values: 'http', 'iq'" +msgstr "" + +#: gajim/common/setting_values.py:459 gajim/common/config.py:237 +msgid "If enabled, Gajim will execute commands (/show, /sh, /execute, /exec)." +msgstr "" + +#: gajim/common/setting_values.py:460 gajim/common/config.py:238 +msgid "Width of group chat roster in pixel" +msgstr "" + +#: gajim/common/setting_values.py:461 gajim/common/config.py:239 +#, fuzzy +msgid "Force Bookmark 2 usage" +msgstr "Afegeix aquesta sala a les adreces d'interès" + +#: gajim/common/multimedia_helpers.py:51 +msgid "Default device" +msgstr "" + +#: gajim/common/multimedia_helpers.py:72 +msgid "Audio test" +msgstr "" + +#: gajim/common/multimedia_helpers.py:75 gajim/common/multimedia_helpers.py:91 +#: gajim/common/multimedia_helpers.py:105 +msgid "Autodetect" +msgstr "" + +#: gajim/common/multimedia_helpers.py:78 gajim/common/multimedia_helpers.py:93 +#, python-format +msgid "ALSA: %s" +msgstr "" + +#: gajim/common/multimedia_helpers.py:81 gajim/common/multimedia_helpers.py:95 +#, python-format +msgid "Pulse: %s" +msgstr "" + +#: gajim/common/multimedia_helpers.py:89 +msgid "Fake audio output" +msgstr "" + +#: gajim/common/multimedia_helpers.py:102 +msgid "Video test" +msgstr "" + +#: gajim/common/multimedia_helpers.py:107 +msgid "Pipewire" +msgstr "" + +#: gajim/common/multimedia_helpers.py:109 +#, python-format +msgid "V4L2: %s" +msgstr "" + +#: gajim/common/multimedia_helpers.py:111 +msgid "X11" +msgstr "" + +#: gajim/common/multimedia_helpers.py:113 +msgid "Windows" +msgstr "" + +#: gajim/common/multimedia_helpers.py:115 +msgid "macOS" +msgstr "" + +#: gajim/common/helpers.py:176 +msgid "_Busy" +msgstr "Ocupat" + +#: gajim/common/helpers.py:178 +msgid "Busy" +msgstr "Ocupat" + +#: gajim/common/helpers.py:181 +msgid "_Not Available" +msgstr "_No Disponible" + +#: gajim/common/helpers.py:183 +msgid "Not Available" +msgstr "" + +#: gajim/common/helpers.py:186 +msgid "_Free for Chat" +msgstr "" + +#: gajim/common/helpers.py:188 +msgid "Free for Chat" +msgstr "Disponible per parlar" + +#: gajim/common/helpers.py:191 +msgid "?user status:_Available" +msgstr "?user status:_Disponible" + +#: gajim/common/helpers.py:193 +#, fuzzy +msgid "?user status:Available" +msgstr "?user status:_Disponible" + +#: gajim/common/helpers.py:195 +msgid "Connecting" +msgstr "" + +#: gajim/common/helpers.py:198 +msgid "A_way" +msgstr "" + +#: gajim/common/helpers.py:203 +msgid "_Offline" +msgstr "Desconnectat" + +#: gajim/common/helpers.py:205 +msgid "Offline" +msgstr "Desconnectat" + +#: gajim/common/helpers.py:209 +msgid "?contact has status:Unknown" +msgstr "" + +#: gajim/common/helpers.py:211 +msgid "?contact has status:Has errors" +msgstr "" + +#: gajim/common/helpers.py:216 +msgid "?Subscription we already have:None" +msgstr "" + +#: gajim/common/helpers.py:218 +msgid "To" +msgstr "" + +#: gajim/common/helpers.py:220 gajim/data/gui/groups_post_window.ui:33 +msgid "From" +msgstr "" + +#: gajim/common/helpers.py:222 +msgid "Both" +msgstr "" + +#: gajim/common/helpers.py:230 +msgid "?Ask (for Subscription):None" +msgstr "" + +#: gajim/common/helpers.py:232 +msgid "Subscribe" +msgstr "" + +#: gajim/common/helpers.py:244 +msgid "?Group Chat Contact Role:None" +msgstr "" + +#: gajim/common/helpers.py:247 +msgid "Moderators" +msgstr "Moderadors" + +#: gajim/common/helpers.py:249 +msgid "Moderator" +msgstr "" + +#: gajim/common/helpers.py:252 gajim/data/gui/groupchat_info_scrolled.ui:182 +msgid "Participants" +msgstr "" + +#: gajim/common/helpers.py:254 +msgid "Participant" +msgstr "" + +#: gajim/common/helpers.py:257 +msgid "Visitors" +msgstr "" + +#: gajim/common/helpers.py:259 +msgid "Visitor" +msgstr "" + +#: gajim/common/helpers.py:268 +msgid "?Group Chat Contact Affiliation:None" +msgstr "" + +#: gajim/common/helpers.py:271 +#, fuzzy +msgid "Owners" +msgstr "Propietari" + +#: gajim/common/helpers.py:273 gajim/data/gui/groupchat_config.ui:32 +msgid "Owner" +msgstr "" + +#: gajim/common/helpers.py:276 +#, fuzzy +msgid "Administrators" +msgstr "Operacions d'Administració" + +#: gajim/common/helpers.py:278 +msgid "Administrator" +msgstr "" + +#: gajim/common/helpers.py:281 +#, fuzzy +msgid "Members" +msgstr "_Membre" + +#: gajim/common/helpers.py:320 +msgid "is paying attention to the conversation" +msgstr "" + +#: gajim/common/helpers.py:322 +msgid "is doing something else" +msgstr "" + +#: gajim/common/helpers.py:324 +msgid "is composing a message…" +msgstr "" + +#: gajim/common/helpers.py:327 +msgid "paused composing a message" +msgstr "" + +#: gajim/common/helpers.py:329 +msgid "has closed the chat window or tab" +msgstr "" + +#: gajim/common/helpers.py:719 gajim/common/helpers.py:727 +#, python-format +msgid "%d message pending" +msgid_plural "%d messages pending" +msgstr[0] "" +msgstr[1] "" + +#: gajim/common/helpers.py:736 +#, fuzzy, python-format +msgid "from group chat %s" +msgstr "Afegeix aquesta sala a les adreces d'interès" + +#: gajim/common/helpers.py:739 gajim/common/helpers.py:760 +#, python-format +msgid "from user %s" +msgstr "" + +#: gajim/common/helpers.py:741 +#, python-format +msgid "from %s" +msgstr "" + +#: gajim/common/helpers.py:747 gajim/common/helpers.py:755 +#, python-format +msgid "%d event pending" +msgid_plural "%d events pending" +msgstr[0] "" +msgstr[1] "" + +#: gajim/common/helpers.py:828 gajim/data/gui/add_new_contact_window.ui:20 +msgid "I would like to add you to my contact list." +msgstr "Voldria afegir-te a la meva llista de contactes." + +#: gajim/common/helpers.py:830 +msgid "Hello, I am $name." +msgstr "" + +#: gajim/common/config.py:71 +msgid "Play sound even when being busy." +msgstr "" + +#: gajim/common/config.py:73 +#, fuzzy +msgid "Show only online and free for chat contacts in the contact list." +msgstr "Voldria afegir-te a la meva llista de contactes." + +#: gajim/common/config.py:76 +msgid "Time in minutes, after which your status changes to away." +msgstr "" + +#: gajim/common/config.py:77 +msgid "$S (Away: Idle more than $T min)" +msgstr "" + +#: gajim/common/config.py:77 +msgid "" +"$S will be replaced by current status message, $T by the 'autoawaytime' " +"value." +msgstr "" + +#: gajim/common/config.py:79 +msgid "Time in minutes, after which your status changes to not available." +msgstr "" + +#: gajim/common/config.py:80 +msgid "$S (Not available: Idle more than $T min)" +msgstr "" + +#: gajim/common/config.py:80 +msgid "" +"$S will be replaced by current status message, $T by the 'autoxatime' value." +msgstr "" + +#: gajim/common/config.py:83 +msgid "" +"When to show the notification area icon. Can be 'never', 'on_event', and " +"'always'." +msgstr "" + +#: gajim/common/config.py:87 +msgid "" +"List of rows (accounts and groups) that are collapsed (space separated)." +msgstr "" + +#: gajim/common/config.py:94 gajim/common/config.py:335 +#: gajim/common/config.py:342 +msgid "Language used for spell checking." +msgstr "" + +#: gajim/common/config.py:97 +msgid "When enabled, ASCII emojis will be converted to graphical emojis." +msgstr "" + +#: gajim/common/config.py:152 +msgid "" +"When not printing time for every message ('print_time'==sometimes), print it " +"every x minutes." +msgstr "" + +#: gajim/common/config.py:173 +msgid "" +"If enabled, Gajim quits when clicking the X button of your Window Manager. " +"This setting is taken into account only if the notification area icon is " +"used." +msgstr "" + +#: gajim/common/config.py:175 +msgid "" +"If enabled, Gajim will display the status message (if not empty) underneath " +"the contact name in the contact list window." +msgstr "" + +#: gajim/common/config.py:182 +msgid "" +"If disabled, Gajim will no longer print status messages in chats when a " +"contact changes their status (and/or their status message)." +msgstr "" + +#: gajim/common/config.py:183 +#, fuzzy +msgid "" +"Default Setting: Show a status message for every join or leave in a group " +"chat." +msgstr "Mostra els canvis d'estat" + +#: gajim/common/config.py:184 +#, fuzzy +msgid "" +"Default Setting: Show a status message for all status changes (away, dnd, " +"etc.) of users in a group chat." +msgstr "Mostra els canvis d'estat" + +#: gajim/common/config.py:191 +msgid "" +"Controls the window where new messages are placed.\n" +"'always' - All messages are sent to a single window.\n" +"'always_with_roster' - Like 'always' but the messages are in a single window " +"along with the contact list.\n" +"'never' - All messages get their own window.\n" +"'peracct' - Messages for each account are sent to a specific window.\n" +"'pertype' - Each message type (e.g. chats vs. group chats) is sent to a " +"specific window." +msgstr "" + +#: gajim/common/config.py:192 +msgid "" +"Show contact list window on startup.\n" +"'always' - Always show contact list window.\n" +"'never' - Never show contact list window.\n" +"'last_state' - Restore last state of the contact list window." +msgstr "" + +#: gajim/common/config.py:207 +msgid "" +"Valid URI schemes. Only schemes in this list will be accepted as 'real' URI " +"(mailto and xmpp are handled separately)." +msgstr "" + +#: gajim/common/config.py:212 +msgid "Optionally fix Jingle output video framerate. Example: 10/1 or 25/2." +msgstr "" + +#: gajim/common/config.py:213 +msgid "Optionally resize Jingle output video. Example: 320x240." +msgstr "" + +#: gajim/common/config.py:214 +msgid "If enabled, you will see your webcam's video stream as well." +msgstr "" + +#: gajim/common/config.py:219 +msgid "" +"Proxy used for all outgoing connections if the account does not have a " +"specific proxy configured." +msgstr "" + +#: gajim/common/config.py:222 +msgid "" +"If enabled, Gajim will display an icon to show that sent messages have been " +"received by your contact." +msgstr "" + +#: gajim/common/config.py:223 +msgid "" +"If enabled, Gajim will use the System's Keyring to store account passwords." +msgstr "" + +#: gajim/common/config.py:225 +msgid "2: System, 1: Enabled, 0: Disabled" +msgstr "" + +#: gajim/common/config.py:226 +msgid "" +"Maximum history in days we request from a public group chat archive. 0: As " +"much as possible." +msgstr "" + +#: gajim/common/config.py:227 +msgid "" +"Maximum history in days we request from a private group chat archive. 0: As " +"much as possible." +msgstr "" + +#: gajim/common/config.py:228 +msgid "" +"If enabled, Gajim shows the group chat subject in the chat window when " +"joining." +msgstr "" + +#: gajim/common/config.py:229 +msgid "" +"If enabled, the contact row is colored according to the current chat state " +"of the contact." +msgstr "" + +#: gajim/common/config.py:230 +msgid "" +"If enabled, the tab is colored according to the current chat state of the " +"contact." +msgstr "" + +#: gajim/common/config.py:231 +msgid "" +"Shows a text in the banner that describes the current chat state of the " +"contact." +msgstr "" + +#: gajim/common/config.py:232 +msgid "" +"Chat state notifications that are sent to contacts. Possible values: all, " +"composing_only, disabled" +msgstr "" + +#: gajim/common/config.py:233 +msgid "" +"Chat state notifications that are sent to the group chat. Possible values: " +"'all', 'composing_only', 'disabled'" +msgstr "" + +#: gajim/common/config.py:240 +msgid "Shows an info bar with helpful hints in the Start / Join Chat dialog" +msgstr "" + +#: gajim/common/config.py:242 +msgid "Date of the last update check" +msgstr "" + +#: gajim/common/config.py:260 +#, fuzzy +msgid "" +"Priority will change automatically according to your status. Priorities are " +"defined in 'autopriority_*' options." +msgstr "La prioritat canviarà automàticament d'acord amb l'estat." + +#: gajim/common/config.py:267 +msgid "If enabled, the last status will be restored." +msgstr "" + +#: gajim/common/config.py:268 +msgid "" +"If enabled, contacts requesting authorization will be accepted automatically." +msgstr "" + +#: gajim/common/config.py:269 +msgid "" +"If disabled, this account will be disabled and will not appear in the " +"contact list window." +msgstr "" + +#: gajim/common/config.py:278 +msgid "ConnectionType: START TLS, DIRECT TLS or PLAIN" +msgstr "" + +#: gajim/common/config.py:280 +msgid "" +"List of XMPP Addresses (space separated) for which you do not want to store " +"chat history. You can also add the name of an account to disable storing " +"chat history for this account." +msgstr "" + +#: gajim/common/config.py:285 +msgid "" +"If enabled, Gajim will use your IP and proxies defined in " +"'file_transfer_proxies' option for file transfers." +msgstr "" + +#: gajim/common/config.py:286 +msgid "" +"If enabled, Gajim will test file transfer proxies on startup to be sure they " +"work. Openfire's proxies are known to fail this test even if they work." +msgstr "" + +#: gajim/common/config.py:298 +msgid "If enabled, Gajim will answer to message receipt requests." +msgstr "" + +#: gajim/common/config.py:303 +msgid "" +"Allow Gajim to send information about the operating system you are running." +msgstr "" + +#: gajim/common/config.py:304 +msgid "Allow Gajim to send your local time." +msgstr "" + +#: gajim/common/config.py:307 +msgid "Message that is sent to contacts you want to add." +msgstr "" + +#: gajim/common/config.py:308 +msgid "" +"If enabled, Gajim will send your local IP so your contact can connect to " +"your machine for file transfers." +msgstr "" + +#: gajim/common/config.py:309 +msgid "" +"List of XMPP Addresses (space separated) for which the chat window will be " +"re-opened on next startup." +msgstr "" + +#: gajim/common/config.py:311 +msgid "" +"Preferred file transfer mechanism for file drag&drop on a chat window. Can " +"be 'httpupload' (default) or 'jingle'." +msgstr "" + +#: gajim/common/config.py:312 +msgid "Allow certificate verification with POSH." +msgstr "" + +#: gajim/common/config.py:336 +msgid "" +"Chat state notifications that are sent to contacts. Possible values: 'all', " +"'composing_only', 'disabled'" +msgstr "" + +#: gajim/common/config.py:339 +msgid "The currently active encryption for that contact." +msgstr "" + +#: gajim/common/config.py:343 +msgid "" +"If enabled, a notification is created for every message in this group chat." +msgstr "" + +#: gajim/common/config.py:344 +#, fuzzy +msgid "" +"Show a status message for all status changes (away, dnd, etc.) of users in a " +"group chat." +msgstr "Mostra els canvis d'estat" + +#: gajim/common/config.py:345 +#, fuzzy +msgid "Show a status message for every join or leave in a group chat." +msgstr "Mostra els canvis d'estat" + +#: gajim/common/config.py:346 +msgid "" +"If enabled, the group chat is minimized into the contact list when joining " +"automatically." +msgstr "" + +#: gajim/common/config.py:347 +msgid "" +"If enabled, the group chat is minimized into the contact list when closing " +"it." +msgstr "" + +#: gajim/common/config.py:348 +msgid "" +"Chat state notifications that are sent to the group chat. Possible values: " +"'all', 'composing_only' or 'disabled'." +msgstr "" + +#: gajim/common/config.py:351 +msgid "" +"If enabled, plugins will be activated on startup (this is saved when exiting " +"Gajim). This option SHOULD NOT be used to (de)activate plugins. Use the " +"plugin window instead." +msgstr "" + +#: gajim/common/config.py:358 +msgid "I'm eating." +msgstr "" + +#: gajim/common/config.py:359 +msgid "I'm watching a movie." +msgstr "" + +#: gajim/common/config.py:360 +msgid "I'm working." +msgstr "" + +#: gajim/common/config.py:361 +msgid "Phone" +msgstr "" + +#: gajim/common/config.py:361 +msgid "I'm on the phone." +msgstr "" + +#: gajim/common/config.py:362 +msgid "I'm out enjoying life." +msgstr "" + +#: gajim/common/config.py:373 +msgid "" +"Sound to play when a group chat message contains one of the words in " +"'muc_highlight_words' or your nickname is mentioned." +msgstr "" + +#: gajim/common/config.py:374 +msgid "Sound to play when any group chat message arrives." +msgstr "" + +#: gajim/common/config.py:378 +msgid "Tor" +msgstr "" + +#: gajim/common/exceptions.py:45 +#, python-format +msgid "" +"The database file (%s) cannot be read. Try to repair it (see https://dev." +"gajim.org/gajim/gajim/wikis/help/DatabaseBackup) or remove it (all history " +"will be lost)." +msgstr "" + +#: gajim/common/exceptions.py:59 +msgid "Service not available: Gajim is not running, or remote_control is False" +msgstr "" + +#: gajim/common/exceptions.py:81 +#, python-format +msgid "" +"Session bus is not available.\n" +"Try reading %(url)s" +msgstr "" + +#: gajim/common/exceptions.py:93 +#, python-format +msgid "" +"System bus is not available.\n" +"Try reading %(url)s" +msgstr "" + +#: gajim/common/optparser.py:54 +#, python-format +msgid "Error: cannot open %s for reading" +msgstr "" + +#: gajim/common/configpaths.py:84 +#, python-format +msgid "%s is a file but it should be a directory" +msgstr "" + +#: gajim/common/configpaths.py:85 +msgid "Gajim will now exit" +msgstr "" + +#: gajim/common/connection_handlers_events.py:242 +#: gajim/common/connection_handlers_events.py:342 +#, python-format +msgid "New message from %(nickname)s" +msgid_plural "%(n_msgs)i unread messages from %(nickname)s" +msgstr[0] "" +msgstr[1] "" + +#: gajim/common/connection_handlers_events.py:412 +#, python-format +msgid "%(nick)s Changed Status" +msgstr "" + +#: gajim/common/const.py:287 +msgid "?Group chat name:Team" +msgstr "" + +#: gajim/common/const.py:288 +msgid "?Group chat description:Project discussion" +msgstr "" + +#: gajim/common/const.py:289 +#, fuzzy +msgid "?Group chat address:team" +msgstr "Grups de xat" + +#: gajim/common/const.py:290 +#, fuzzy +msgid "?Group chat name:Family" +msgstr "Grups de xat" + +#: gajim/common/const.py:291 +msgid "?Group chat description:Spring gathering" +msgstr "" + +#: gajim/common/const.py:292 +msgid "?Group chat address:family" +msgstr "" + +#: gajim/common/const.py:293 +#, fuzzy +msgid "?Group chat name:Vacation" +msgstr "Configuració de Sala" + +#: gajim/common/const.py:294 +msgid "?Group chat description:Trip planning" +msgstr "" + +#: gajim/common/const.py:295 +#, fuzzy +msgid "?Group chat address:vacation" +msgstr "Configuració de Sala" + +#: gajim/common/const.py:296 +#, fuzzy +msgid "?Group chat name:Repairs" +msgstr "Grups de xat" + +#: gajim/common/const.py:297 +msgid "?Group chat description:Local help group" +msgstr "" + +#: gajim/common/const.py:298 +#, fuzzy +msgid "?Group chat address:repairs" +msgstr "Grups de xat" + +#: gajim/common/const.py:299 +#, fuzzy +msgid "?Group chat name:News" +msgstr "Grups de xat" + +#: gajim/common/const.py:300 +msgid "?Group chat description:Local news and reports" +msgstr "" + +#: gajim/common/const.py:301 +#, fuzzy +msgid "?Group chat address:news" +msgstr "Grups de xat" + +#: gajim/common/const.py:306 +msgid "Remote server not found" +msgstr "" + +#: gajim/common/const.py:307 +msgid "Remote server timeout" +msgstr "" + +#: gajim/common/const.py:308 gajim/common/const.py:309 +#: gajim/common/const.py:310 +msgid "Address does not belong to a group chat server" +msgstr "" + +#: gajim/common/const.py:311 +#, fuzzy +msgid "Group chat already exists" +msgstr "Grups de xat" + +#: gajim/common/const.py:312 +#, fuzzy +msgid "Group chat does not exist" +msgstr "Grups de xat" + +#: gajim/common/const.py:313 +#, fuzzy +msgid "Group chat is closed" +msgstr "Grups de xat" + +#: gajim/common/const.py:319 +msgid "This message was encrypted with OTR and could not be decrypted." +msgstr "" + +#: gajim/common/const.py:322 +msgid "" +"This message was encrypted with Legacy OpenPGP and could not be decrypted. " +"You can install the PGP plugin to handle those messages." +msgstr "" + +#: gajim/common/const.py:326 +msgid "" +"This message was encrypted with OpenPGP for XMPP and could not be decrypted. " +"You can install the OpenPGP plugin to handle those messages." +msgstr "" + +#: gajim/common/const.py:330 +#, python-format +msgid "This message was encrypted with %s and could not be decrypted." +msgstr "" + +#: gajim/common/const.py:337 +msgid "Doing Chores" +msgstr "" + +#: gajim/common/const.py:338 +msgid "Buying Groceries" +msgstr "" + +#: gajim/common/const.py:339 +msgid "Cleaning" +msgstr "" + +#: gajim/common/const.py:340 +msgid "Cooking" +msgstr "" + +#: gajim/common/const.py:341 +msgid "Doing Maintenance" +msgstr "" + +#: gajim/common/const.py:342 +msgid "Doing the Dishes" +msgstr "" + +#: gajim/common/const.py:343 +msgid "Doing the Laundry" +msgstr "" + +#: gajim/common/const.py:344 +msgid "Gardening" +msgstr "" + +#: gajim/common/const.py:345 +msgid "Running an Errand" +msgstr "" + +#: gajim/common/const.py:346 +msgid "Walking the Dog" +msgstr "" + +#: gajim/common/const.py:348 +msgid "Drinking" +msgstr "" + +#: gajim/common/const.py:349 +msgid "Having a Beer" +msgstr "" + +#: gajim/common/const.py:350 +msgid "Having Coffee" +msgstr "" + +#: gajim/common/const.py:351 +msgid "Having Tea" +msgstr "" + +#: gajim/common/const.py:354 +msgid "Having a Snack" +msgstr "" + +#: gajim/common/const.py:355 +msgid "Having Breakfast" +msgstr "" + +#: gajim/common/const.py:356 +msgid "Having Dinner" +msgstr "" + +#: gajim/common/const.py:357 +msgid "Having Lunch" +msgstr "" + +#: gajim/common/const.py:359 +msgid "Exercising" +msgstr "" + +#: gajim/common/const.py:360 gajim/common/const.py:411 +msgid "Cycling" +msgstr "" + +#: gajim/common/const.py:361 +msgid "Dancing" +msgstr "" + +#: gajim/common/const.py:362 +msgid "Hiking" +msgstr "" + +#: gajim/common/const.py:363 +msgid "Jogging" +msgstr "" + +#: gajim/common/const.py:364 +msgid "Playing Sports" +msgstr "" + +#: gajim/common/const.py:365 +msgid "Running" +msgstr "" + +#: gajim/common/const.py:366 +msgid "Skiing" +msgstr "" + +#: gajim/common/const.py:367 +msgid "Swimming" +msgstr "" + +#: gajim/common/const.py:368 +msgid "Working out" +msgstr "" + +#: gajim/common/const.py:370 +msgid "Grooming" +msgstr "" + +#: gajim/common/const.py:371 +msgid "At the Spa" +msgstr "" + +#: gajim/common/const.py:372 +msgid "Brushing Teeth" +msgstr "" + +#: gajim/common/const.py:373 +msgid "Getting a Haircut" +msgstr "" + +#: gajim/common/const.py:374 +msgid "Shaving" +msgstr "" + +#: gajim/common/const.py:375 +msgid "Taking a Bath" +msgstr "" + +#: gajim/common/const.py:376 +msgid "Taking a Shower" +msgstr "" + +#: gajim/common/const.py:378 +msgid "Having an Appointment" +msgstr "" + +#: gajim/common/const.py:380 +msgid "Inactive" +msgstr "Inactiva" + +#: gajim/common/const.py:381 +msgid "Day Off" +msgstr "" + +#: gajim/common/const.py:382 +msgid "Hanging out" +msgstr "" + +#: gajim/common/const.py:383 +msgid "Hiding" +msgstr "" + +#: gajim/common/const.py:384 +msgid "On Vacation" +msgstr "" + +#: gajim/common/const.py:385 +msgid "Praying" +msgstr "" + +#: gajim/common/const.py:386 +msgid "Scheduled Holiday" +msgstr "" + +#: gajim/common/const.py:388 +msgid "Thinking" +msgstr "" + +#: gajim/common/const.py:390 +msgid "Relaxing" +msgstr "" + +#: gajim/common/const.py:391 +msgid "Fishing" +msgstr "" + +#: gajim/common/const.py:392 +msgid "Gaming" +msgstr "" + +#: gajim/common/const.py:393 +msgid "Going out" +msgstr "" + +#: gajim/common/const.py:394 +msgid "Partying" +msgstr "" + +#: gajim/common/const.py:395 +msgid "Reading" +msgstr "" + +#: gajim/common/const.py:396 +msgid "Rehearsing" +msgstr "" + +#: gajim/common/const.py:397 +msgid "Shopping" +msgstr "" + +#: gajim/common/const.py:398 +msgid "Smoking" +msgstr "" + +#: gajim/common/const.py:399 +msgid "Socializing" +msgstr "" + +#: gajim/common/const.py:400 +msgid "Sunbathing" +msgstr "" + +#: gajim/common/const.py:401 +msgid "Watching TV" +msgstr "" + +#: gajim/common/const.py:402 +msgid "Watching a Movie" +msgstr "" + +#: gajim/common/const.py:404 +msgid "Talking" +msgstr "" + +#: gajim/common/const.py:405 +msgid "In Real Life" +msgstr "" + +#: gajim/common/const.py:406 +msgid "On the Phone" +msgstr "" + +#: gajim/common/const.py:407 +msgid "On Video Phone" +msgstr "" + +#: gajim/common/const.py:409 +msgid "Traveling" +msgstr "" + +#: gajim/common/const.py:410 +msgid "Commuting" +msgstr "" + +#: gajim/common/const.py:412 +msgid "Driving" +msgstr "" + +#: gajim/common/const.py:413 +msgid "In a Car" +msgstr "" + +#: gajim/common/const.py:414 +msgid "On a Bus" +msgstr "" + +#: gajim/common/const.py:415 +msgid "On a Plane" +msgstr "" + +#: gajim/common/const.py:416 +msgid "On a Train" +msgstr "" + +#: gajim/common/const.py:417 +msgid "On a Trip" +msgstr "" + +#: gajim/common/const.py:418 +msgid "Walking" +msgstr "" + +#: gajim/common/const.py:421 +msgid "Coding" +msgstr "" + +#: gajim/common/const.py:422 +msgid "In a Meeting" +msgstr "" + +#: gajim/common/const.py:423 +msgid "Studying" +msgstr "" + +#: gajim/common/const.py:424 +msgid "Writing" +msgstr "" + +#: gajim/common/const.py:427 +msgid "Afraid" +msgstr "" + +#: gajim/common/const.py:428 +msgid "Amazed" +msgstr "" + +#: gajim/common/const.py:429 +msgid "Amorous" +msgstr "" + +#: gajim/common/const.py:430 +msgid "Angry" +msgstr "" + +#: gajim/common/const.py:431 +msgid "Annoyed" +msgstr "" + +#: gajim/common/const.py:432 +msgid "Anxious" +msgstr "" + +#: gajim/common/const.py:433 +msgid "Aroused" +msgstr "" + +#: gajim/common/const.py:434 +msgid "Ashamed" +msgstr "" + +#: gajim/common/const.py:435 +msgid "Bored" +msgstr "" + +#: gajim/common/const.py:436 +msgid "Brave" +msgstr "" + +#: gajim/common/const.py:437 +msgid "Calm" +msgstr "" + +#: gajim/common/const.py:438 +msgid "Cautious" +msgstr "" + +#: gajim/common/const.py:439 +msgid "Cold" +msgstr "" + +#: gajim/common/const.py:440 +msgid "Confident" +msgstr "" + +#: gajim/common/const.py:441 +msgid "Confused" +msgstr "" + +#: gajim/common/const.py:442 +msgid "Contemplative" +msgstr "" + +#: gajim/common/const.py:443 +msgid "Contented" +msgstr "" + +#: gajim/common/const.py:444 +msgid "Cranky" +msgstr "" + +#: gajim/common/const.py:445 +msgid "Crazy" +msgstr "" + +#: gajim/common/const.py:446 +msgid "Creative" +msgstr "" + +#: gajim/common/const.py:447 +msgid "Curious" +msgstr "" + +#: gajim/common/const.py:448 +msgid "Dejected" +msgstr "" + +#: gajim/common/const.py:449 +msgid "Depressed" +msgstr "" + +#: gajim/common/const.py:450 +msgid "Disappointed" +msgstr "" + +#: gajim/common/const.py:451 +msgid "Disgusted" +msgstr "" + +#: gajim/common/const.py:452 +msgid "Dismayed" +msgstr "" + +#: gajim/common/const.py:453 +msgid "Distracted" +msgstr "" + +#: gajim/common/const.py:454 +msgid "Embarrassed" +msgstr "" + +#: gajim/common/const.py:455 +msgid "Envious" +msgstr "" + +#: gajim/common/const.py:456 +msgid "Excited" +msgstr "" + +#: gajim/common/const.py:457 +msgid "Flirtatious" +msgstr "" + +#: gajim/common/const.py:458 +msgid "Frustrated" +msgstr "" + +#: gajim/common/const.py:459 +msgid "Grateful" +msgstr "" + +#: gajim/common/const.py:460 +msgid "Grieving" +msgstr "" + +#: gajim/common/const.py:461 +msgid "Grumpy" +msgstr "" + +#: gajim/common/const.py:462 +msgid "Guilty" +msgstr "" + +#: gajim/common/const.py:463 +msgid "Happy" +msgstr "" + +#: gajim/common/const.py:464 +msgid "Hopeful" +msgstr "" + +#: gajim/common/const.py:465 +msgid "Hot" +msgstr "" + +#: gajim/common/const.py:466 +msgid "Humbled" +msgstr "" + +#: gajim/common/const.py:467 +msgid "Humiliated" +msgstr "" + +#: gajim/common/const.py:468 +msgid "Hungry" +msgstr "" + +#: gajim/common/const.py:469 +msgid "Hurt" +msgstr "" + +#: gajim/common/const.py:470 +msgid "Impressed" +msgstr "" + +#: gajim/common/const.py:471 +msgid "In Awe" +msgstr "" + +#: gajim/common/const.py:472 +msgid "In Love" +msgstr "" + +#: gajim/common/const.py:473 +msgid "Indignant" +msgstr "" + +#: gajim/common/const.py:474 +msgid "Interested" +msgstr "" + +#: gajim/common/const.py:475 +msgid "Intoxicated" +msgstr "" + +#: gajim/common/const.py:476 +msgid "Invincible" +msgstr "" + +#: gajim/common/const.py:477 +msgid "Jealous" +msgstr "" + +#: gajim/common/const.py:478 +msgid "Lonely" +msgstr "" + +#: gajim/common/const.py:479 +msgid "Lost" +msgstr "" + +#: gajim/common/const.py:480 +msgid "Lucky" +msgstr "" + +#: gajim/common/const.py:481 +msgid "Mean" +msgstr "" + +#: gajim/common/const.py:482 +msgid "Moody" +msgstr "" + +#: gajim/common/const.py:483 +msgid "Nervous" +msgstr "" + +#: gajim/common/const.py:484 +msgid "Neutral" +msgstr "" + +#: gajim/common/const.py:485 +msgid "Offended" +msgstr "" + +#: gajim/common/const.py:486 +msgid "Outraged" +msgstr "" + +#: gajim/common/const.py:487 +msgid "Playful" +msgstr "" + +#: gajim/common/const.py:488 +msgid "Proud" +msgstr "" + +#: gajim/common/const.py:489 +msgid "Relaxed" +msgstr "" + +#: gajim/common/const.py:490 +msgid "Relieved" +msgstr "" + +#: gajim/common/const.py:491 +msgid "Remorseful" +msgstr "" + +#: gajim/common/const.py:492 +msgid "Restless" +msgstr "" + +#: gajim/common/const.py:493 +msgid "Sad" +msgstr "" + +#: gajim/common/const.py:494 +msgid "Sarcastic" +msgstr "" + +#: gajim/common/const.py:495 +msgid "Satisfied" +msgstr "" + +#: gajim/common/const.py:496 +msgid "Serious" +msgstr "" + +#: gajim/common/const.py:497 +msgid "Shocked" +msgstr "" + +#: gajim/common/const.py:498 +msgid "Shy" +msgstr "" + +#: gajim/common/const.py:499 +msgid "Sick" +msgstr "" + +#: gajim/common/const.py:500 +msgid "Sleepy" +msgstr "" + +#: gajim/common/const.py:501 +msgid "Spontaneous" +msgstr "" + +#: gajim/common/const.py:502 +msgid "Stressed" +msgstr "" + +#: gajim/common/const.py:503 +msgid "Strong" +msgstr "" + +#: gajim/common/const.py:504 +msgid "Surprised" +msgstr "" + +#: gajim/common/const.py:505 +msgid "Thankful" +msgstr "" + +#: gajim/common/const.py:506 +msgid "Thirsty" +msgstr "" + +#: gajim/common/const.py:507 +msgid "Tired" +msgstr "" + +#: gajim/common/const.py:508 +msgid "Undefined" +msgstr "" + +#: gajim/common/const.py:509 +msgid "Weak" +msgstr "" + +#: gajim/common/const.py:510 +msgid "Worried" +msgstr "" + +#: gajim/common/const.py:514 +msgid "accuracy" +msgstr "" + +#: gajim/common/const.py:515 +msgid "alt" +msgstr "" + +#: gajim/common/const.py:516 +msgid "area" +msgstr "" + +#: gajim/common/const.py:517 +msgid "bearing" +msgstr "" + +#: gajim/common/const.py:518 +msgid "building" +msgstr "" + +#: gajim/common/const.py:519 +msgid "country" +msgstr "" + +#: gajim/common/const.py:520 +msgid "countrycode" +msgstr "" + +#: gajim/common/const.py:521 +msgid "datum" +msgstr "" + +#: gajim/common/const.py:522 +msgid "description" +msgstr "" + +#: gajim/common/const.py:523 +msgid "error" +msgstr "" + +#: gajim/common/const.py:524 +msgid "floor" +msgstr "" + +#: gajim/common/const.py:525 +msgid "lat" +msgstr "" + +#: gajim/common/const.py:526 +msgid "locality" +msgstr "" + +#: gajim/common/const.py:527 +msgid "lon" +msgstr "" + +#: gajim/common/const.py:528 +msgid "postalcode" +msgstr "" + +#: gajim/common/const.py:529 +msgid "region" +msgstr "" + +#: gajim/common/const.py:530 +msgid "room" +msgstr "" + +#: gajim/common/const.py:531 +msgid "speed" +msgstr "" + +#: gajim/common/const.py:532 +msgid "street" +msgstr "" + +#: gajim/common/const.py:533 +msgid "text" +msgstr "" + +#: gajim/common/const.py:534 +msgid "timestamp" +msgstr "" + +#: gajim/common/const.py:535 +msgid "URI" +msgstr "" + +#: gajim/common/const.py:540 +msgid "Unable to get issuer certificate" +msgstr "" + +#: gajim/common/const.py:541 +msgid "Unable to get certificate CRL" +msgstr "" + +#: gajim/common/const.py:542 +msgid "Unable to decrypt certificate's signature" +msgstr "" + +#: gajim/common/const.py:543 +msgid "Unable to decrypt CRL's signature" +msgstr "" + +#: gajim/common/const.py:544 +msgid "Unable to decode issuer public key" +msgstr "" + +#: gajim/common/const.py:545 +msgid "Certificate signature failure" +msgstr "" + +#: gajim/common/const.py:546 +msgid "CRL signature failure" +msgstr "" + +#: gajim/common/const.py:547 +msgid "Certificate is not yet valid" +msgstr "" + +#: gajim/common/const.py:548 +msgid "Certificate has expired" +msgstr "" + +#: gajim/common/const.py:549 +msgid "CRL is not yet valid" +msgstr "" + +#: gajim/common/const.py:550 +msgid "CRL has expired" +msgstr "" + +#: gajim/common/const.py:551 +msgid "Format error in certificate's notBefore field" +msgstr "" + +#: gajim/common/const.py:552 +msgid "Format error in certificate's notAfter field" +msgstr "" + +#: gajim/common/const.py:553 +msgid "Format error in CRL's lastUpdate field" +msgstr "" + +#: gajim/common/const.py:554 +msgid "Format error in CRL's nextUpdate field" +msgstr "" + +#: gajim/common/const.py:555 +msgid "Out of memory" +msgstr "" + +#: gajim/common/const.py:556 +msgid "Self signed certificate" +msgstr "" + +#: gajim/common/const.py:557 +msgid "Self signed certificate in certificate chain" +msgstr "" + +#: gajim/common/const.py:558 +msgid "Unable to get local issuer certificate" +msgstr "" + +#: gajim/common/const.py:559 +msgid "Unable to verify the first certificate" +msgstr "" + +#: gajim/common/const.py:560 +msgid "Certificate chain too long" +msgstr "" + +#: gajim/common/const.py:561 +msgid "Certificate revoked" +msgstr "" + +#: gajim/common/const.py:562 +msgid "Invalid CA certificate" +msgstr "" + +#: gajim/common/const.py:563 +msgid "Path length constraint exceeded" +msgstr "" + +#: gajim/common/const.py:564 +msgid "Unsupported certificate purpose" +msgstr "" + +#: gajim/common/const.py:565 +msgid "Certificate not trusted" +msgstr "" + +#: gajim/common/const.py:566 +msgid "Certificate rejected" +msgstr "" + +#: gajim/common/const.py:567 +msgid "Subject issuer mismatch" +msgstr "" + +#: gajim/common/const.py:568 +msgid "Authority and subject key identifier mismatch" +msgstr "" + +#: gajim/common/const.py:569 +msgid "Authority and issuer serial number mismatch" +msgstr "" + +#: gajim/common/const.py:570 +msgid "Key usage does not include certificate signing" +msgstr "" + +#: gajim/common/const.py:571 +msgid "Application verification failure" +msgstr "" + +#: gajim/common/const.py:893 +msgid "The signing certificate authority is not known" +msgstr "" + +#: gajim/common/const.py:894 +msgid "The certificate has been revoked" +msgstr "" + +#: gajim/common/const.py:895 +msgid "The certificate does not match the expected identity of the site" +msgstr "" + +#: gajim/common/const.py:896 +msgid "The certificate’s algorithm is insecure" +msgstr "" + +#: gajim/common/const.py:897 +msgid "The certificate’s activation time is in the future" +msgstr "" + +#: gajim/common/const.py:898 +msgid "Unknown validation error" +msgstr "" + +#: gajim/common/const.py:899 +msgid "The certificate has expired" +msgstr "" + +#: gajim/common/const.py:954 +#, fuzzy +msgid "Authentication aborted" +msgstr "Autenticació Anònima." + +#: gajim/common/const.py:955 +#, fuzzy +msgid "Account disabled" +msgstr "Comptes" + +#: gajim/common/const.py:956 +msgid "Credentials expired" +msgstr "" + +#: gajim/common/const.py:957 +msgid "Encryption required" +msgstr "" + +#: gajim/common/const.py:961 +msgid "Authentication mechanism not supported" +msgstr "" + +#: gajim/common/const.py:962 +msgid "Authentication mechanism too weak" +msgstr "" + +#: gajim/common/const.py:964 +msgid "Authentication currently not possible" +msgstr "" + +#: gajim/common/const.py:1109 +msgid "No Sync" +msgstr "" + +#: gajim/common/const.py:1111 +msgid "2 Days" +msgstr "" + +#: gajim/common/const.py:1114 +msgid "No Threshold" +msgstr "" + +#: gajim/common/logging_helpers.py:31 +#, python-format +msgid "%s is not a valid loglevel" +msgstr "" + +#: gajim/common/zeroconf/zeroconf_avahi.py:256 +#: gajim/common/zeroconf/zeroconf_bonjour.py:248 +#: gajim/common/zeroconf/zeroconf_bonjour.py:265 +#: gajim/common/zeroconf/zeroconf_bonjour.py:323 +#, python-format +msgid "Error while adding service. %s" +msgstr "" + +#: gajim/common/zeroconf/connection_zeroconf.py:252 +#, python-format +msgid "Could not connect to \"%s\"" +msgstr "" + +#: gajim/common/zeroconf/connection_zeroconf.py:253 +msgid "Please check if Avahi or Bonjour is installed." +msgstr "" + +#: gajim/common/zeroconf/connection_zeroconf.py:263 +#: gajim/common/zeroconf/connection_zeroconf.py:267 +msgid "Could not start local service" +msgstr "" + +#: gajim/common/zeroconf/connection_zeroconf.py:264 +#, python-format +msgid "Unable to bind to port %d." +msgstr "" + +#: gajim/common/zeroconf/connection_zeroconf.py:268 +msgid "Please check if avahi/bonjour-daemon is running." +msgstr "" + +#: gajim/common/zeroconf/connection_zeroconf.py:362 +#: gajim/common/zeroconf/connection_zeroconf.py:375 +#, python-format +msgid "Could not change status of account \"%s\"" +msgstr "" + +#: gajim/common/zeroconf/connection_zeroconf.py:363 +#: gajim/common/zeroconf/connection_zeroconf.py:376 +msgid "Please check if avahi-daemon is running." +msgstr "" + +#: gajim/common/zeroconf/connection_zeroconf.py:404 +msgid "Your message could not be sent." +msgstr "" + +#: gajim/common/zeroconf/connection_zeroconf.py:419 +msgid "Contact is offline. Your message could not be sent." +msgstr "" + +#: gajim/common/zeroconf/connection_zeroconf.py:441 +msgid "" +"Connection to host could not be established: Timeout while sending data." +msgstr "" + +#: gajim/common/dbus/logind.py:73 +msgid "Machine is going to sleep" +msgstr "" + +#: gajim/common/dbus/logind.py:103 +msgid "Disconnect from the network" +msgstr "" + +#: gajim/common/modules/adhoc_commands.py:88 +msgid "Change status information" +msgstr "" + +#: gajim/common/modules/adhoc_commands.py:112 +msgid "Change status" +msgstr "" + +#: gajim/common/modules/adhoc_commands.py:113 +msgid "Set the presence type and description" +msgstr "" + +#: gajim/common/modules/adhoc_commands.py:120 +msgid "Free for chat" +msgstr "Lliure per xatejar" + +#: gajim/common/modules/adhoc_commands.py:121 +msgid "Online" +msgstr "Connectat" + +#: gajim/common/modules/adhoc_commands.py:123 +msgid "Extended away" +msgstr "" + +#: gajim/common/modules/adhoc_commands.py:124 +msgid "Do not disturb" +msgstr "" + +#: gajim/common/modules/adhoc_commands.py:125 +msgid "Offline - disconnect" +msgstr "" + +#: gajim/common/modules/adhoc_commands.py:131 +msgid "Presence description:" +msgstr "" + +#: gajim/common/modules/adhoc_commands.py:170 +msgid "The status has been changed." +msgstr "" + +#: gajim/common/modules/presence.py:265 +msgid "I would like to add you to my roster." +msgstr "" + +#: gajim/common/modules/roster_item_exchange.py:103 +#, python-format +msgid "Sent contact: \"%(jid)s\" (%(name)s)" +msgstr "" + +#: gajim/common/modules/roster_item_exchange.py:107 +msgid "Sent contacts:" +msgstr "" + +#: gajim/common/modules/httpupload.py:99 +msgid "File is empty" +msgstr "" + +#: gajim/common/modules/httpupload.py:102 +msgid "File does not exist" +msgstr "" + +#: gajim/common/modules/httpupload.py:109 +#: gajim/common/modules/httpupload.py:172 +#, python-format +msgid "File is too large, maximum allowed file size is: %s" +msgstr "" + +#: gajim/common/modules/httpupload.py:279 +msgid "Encrypting file…" +msgstr "" + +#: gajim/common/modules/httpupload.py:280 +msgid "Requesting HTTP File Upload Slot…" +msgstr "" + +#: gajim/common/modules/httpupload.py:281 +msgid "Uploading via HTTP File Upload…" +msgstr "" + +#: gajim/common/modules/httpupload.py:285 +msgid "The server returned an insecure transport (HTTP)." +msgstr "" + +#: gajim/common/modules/httpupload.py:286 +msgid "There is no encryption method available for the chosen encryption." +msgstr "" + +#: gajim/plugins/pluginmanager.py:679 gajim/plugins/pluginmanager.py:685 +msgid "Archive corrupted" +msgstr "" + +#: gajim/plugins/pluginmanager.py:681 +msgid "Archive empty" +msgstr "" + +#: gajim/plugins/pluginmanager.py:693 gajim/plugins/pluginmanager.py:701 +#: gajim/plugins/gui.py:273 +msgid "Archive is malformed" +msgstr "" + +#: gajim/plugins/pluginmanager.py:710 gajim/plugins/gui.py:288 +#: gajim/plugins/gui.py:301 +msgid "Plugin already exists" +msgstr "" + +#: gajim/plugins/pluginmanager.py:720 +#, fuzzy +msgid "Installation failed" +msgstr "Autenticació Anònima." + +#: gajim/plugins/gui.py:67 gajim/data/gui/shortcuts_window.ui:38 +msgid "Plugins" +msgstr "Connectors" + +#: gajim/plugins/gui.py:75 +msgid "Click to view Gajim's wiki page on how to install plugins in Flatpak." +msgstr "" + +#: gajim/plugins/gui.py:84 +msgid "Plugin" +msgstr "" + +#: gajim/plugins/gui.py:95 gajim/data/gui/manage_sounds.ui:40 +msgid "Active" +msgstr "Activa" + +#: gajim/plugins/gui.py:159 +#, python-format +msgid "Warning: %s" +msgstr "" + +#: gajim/plugins/gui.py:216 +msgid "Plugin failed" +msgstr "" + +#: gajim/plugins/gui.py:249 +msgid "Unable to properly remove the plugin" +msgstr "" + +#: gajim/plugins/gui.py:287 +msgid "Overwrite Plugin?" +msgstr "" + +#: gajim/plugins/gui.py:289 +msgid "Do you want to overwrite the currently installed version?" +msgstr "" + +#: gajim/plugins/gui.py:317 gajim/data/gui/groupchat_config.ui:258 +msgid "Configuration" +msgstr "" + +#: gajim/data/gui/groupchat_nick_chooser.ui:47 +#, fuzzy +msgid "Join Group Chat as…" +msgstr "Uneix-te al xat en grup" + +#: gajim/data/gui/groupchat_nick_chooser.ui:66 +#, fuzzy +msgid "Your Nickname" +msgstr "Sobrenom:" + +#: gajim/data/gui/groupchat_control.ui:36 +#, fuzzy +msgid "Drop Files or Contacts" +msgstr "Convida _Contactes" + +#: gajim/data/gui/groupchat_control.ui:58 gajim/data/gui/chat_control.ui:322 +msgid "Bold" +msgstr "Negreta" + +#: gajim/data/gui/groupchat_control.ui:67 gajim/data/gui/chat_control.ui:331 +msgid "Italic" +msgstr "Cursiva" + +#: gajim/data/gui/groupchat_control.ui:76 gajim/data/gui/chat_control.ui:340 +msgid "Underline" +msgstr "Subratllat" + +#: gajim/data/gui/groupchat_control.ui:85 gajim/data/gui/chat_control.ui:349 +msgid "Strike" +msgstr "Ratllat" + +#: gajim/data/gui/groupchat_control.ui:107 gajim/data/gui/chat_control.ui:371 +msgid "Font" +msgstr "Tipus de lletra" + +#: gajim/data/gui/groupchat_control.ui:121 gajim/data/gui/chat_control.ui:385 +msgid "Clear formatting" +msgstr "Neteja el format" + +#: gajim/data/gui/groupchat_control.ui:383 gajim/data/gui/chat_control.ui:784 +#, fuzzy +msgid "Choose encryption" +msgstr "Connexió" + +#: gajim/data/gui/groupchat_control.ui:429 gajim/data/gui/chat_control.ui:667 +#, fuzzy +msgid "Show a list of emojis (Alt+M)" +msgstr "Mostra una llista d'emoticones (Alt+M)" + +#: gajim/data/gui/groupchat_control.ui:454 gajim/data/gui/chat_control.ui:833 +#, fuzzy +msgid "Send Message" +msgstr "Envia missatge" + +#: gajim/data/gui/groupchat_control.ui:583 +msgid "Joining…" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:641 +#, fuzzy +msgid "Enter Nickname" +msgstr "Sobrenom:" + +#: gajim/data/gui/groupchat_control.ui:691 +#: gajim/data/gui/groupchat_control.ui:783 +#, fuzzy +msgid "Ch_ange" +msgstr "Canvia _Nick..." + +#: gajim/data/gui/groupchat_control.ui:748 +#: gajim/data/gui/shortcuts_window.ui:319 +#, fuzzy +msgid "Change Subject" +msgstr "Canvia Tema..." + +#: gajim/data/gui/groupchat_control.ui:864 +#, fuzzy +msgid "Enter Password" +msgstr "Desa la contrasenya" + +#: gajim/data/gui/groupchat_control.ui:1081 +#, fuzzy +msgid "_Forget Group Chat" +msgstr "Grups de xat" + +#: gajim/data/gui/groupchat_control.ui:1085 +#, fuzzy +msgid "Gajim will not try to join this group chat again" +msgstr "Si està marcat, Gajim entrarà en aquest xat de grup a l'inici" + +#: gajim/data/gui/groupchat_control.ui:1102 +msgid "T_ry Again" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1156 +#, fuzzy +msgid "An Error Occurred" +msgstr "Hi ha hagut un error:" + +#: gajim/data/gui/groupchat_control.ui:1221 +msgid "_Try Again" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1398 +#, fuzzy +msgid "Kick Participant" +msgstr "Accions Ocupant" + +#: gajim/data/gui/groupchat_control.ui:1436 +msgid "_Kick" +msgstr "Fes fora" + +#: gajim/data/gui/groupchat_control.ui:1469 +#: gajim/data/gui/groupchat_control.ui:1595 +#: gajim/data/gui/groupchat_control.ui:1721 +#: gajim/data/gui/groupchat_control.ui:1738 +#: gajim/data/gui/groupchat_control.ui:1827 +#: gajim/data/gui/groupchat_control.ui:1828 +msgid "Insert Emoji" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1482 +#: gajim/data/gui/groupchat_control.ui:1608 +msgid "Reason (optional)" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1524 +#, fuzzy +msgid "Ban Participant" +msgstr "Accions Ocupant" + +#: gajim/data/gui/groupchat_control.ui:1562 +msgid "_Ban" +msgstr "_Bandeja" + +#: gajim/data/gui/groupchat_control.ui:1650 +#, fuzzy +msgid "Destroy This Chat" +msgstr "Grups de xat" + +#: gajim/data/gui/groupchat_control.ui:1688 +#, fuzzy +msgid "_Destroy" +msgstr "_Destrueix Sala" + +#: gajim/data/gui/groupchat_control.ui:1722 +msgid "Alternate venue (optional)..." +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1739 +msgid "Reason (optional)..." +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1752 +msgid "Reason for destruction" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1767 +msgid "Where participants should go" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1808 +#, fuzzy +msgid "Rename This Chat" +msgstr "Grups de xat" + +#: gajim/data/gui/groupchat_control.ui:1935 +#, fuzzy +msgid "_Invite" +msgstr "Con_vida" + +#: gajim/data/gui/groupchat_control.ui:2020 +msgid "Settings for This Chat" +msgstr "" + +#: gajim/data/gui/filetransfers.ui:21 +msgid "Pa_use/Resume" +msgstr "" + +#: gajim/data/gui/filetransfers.ui:45 +#, fuzzy +msgid "_Open Folder" +msgstr "_Obre Carpeta Contenidora" + +#: gajim/data/gui/filetransfers.ui:56 gajim/data/gui/filetransfers.ui:206 +msgid "File Transfers" +msgstr "Transferències de fitxers" + +#: gajim/data/gui/filetransfers.ui:91 +#, fuzzy +msgid "_Show notification when file transfer is complete" +msgstr "_Notifica'm quan una transferència de fitxer ha acabat" + +#: gajim/data/gui/filetransfers.ui:131 +msgid "file transfers list" +msgstr "llista de trasferència de fitxers" + +#: gajim/data/gui/filetransfers.ui:132 +msgid "A list of active, completed and stopped file transfers" +msgstr "" +"Una llista de les transferències de fitxers actives, completades i aturades" + +#: gajim/data/gui/filetransfers.ui:154 +#, fuzzy +msgid "Remove completed, cancelled and failed file transfers from the list" +msgstr "" +"Esborra de la llista les transferències completades, cancel.lades o fallides" + +#: gajim/data/gui/filetransfers.ui:167 +#, fuzzy +msgid "Pause or resume file transfer" +msgstr "Cancel.la la transferència de fitxer." + +#: gajim/data/gui/filetransfers.ui:180 +#, fuzzy +msgid "Cancel the selected file transfer and remove incomplete files" +msgstr "" +"Cancel.la la transferència seleccionada i esborra els fitxers incomplets." + +#: gajim/data/gui/filetransfers.ui:207 +#, fuzzy +msgid "Shows a list of file transfers between you and your contacts" +msgstr "Mostra una llista de transferències de fitxers entre tu i els altres" + +#: gajim/data/gui/add_new_contact_window.ui:76 +#, fuzzy +msgid "_XMPP Address" +msgstr "_Copia adreça JID/Email" + +#: gajim/data/gui/add_new_contact_window.ui:92 +#, fuzzy +msgid "_Nickname" +msgstr "Sobrenom:" + +#: gajim/data/gui/add_new_contact_window.ui:109 +#, fuzzy +msgid "_Group" +msgstr "_Grup:" + +#: gajim/data/gui/add_new_contact_window.ui:157 +#, fuzzy +msgid "Choose or type new group name" +msgstr "Escull un grup o escriu-ne un de nou" + +#: gajim/data/gui/add_new_contact_window.ui:173 +#, fuzzy +msgid "A_ccount" +msgstr "Compte:" + +#: gajim/data/gui/add_new_contact_window.ui:189 +#, fuzzy +msgid "_Protocol" +msgstr "_Protocol:" + +#: gajim/data/gui/add_new_contact_window.ui:287 +#: gajim/data/gui/single_message_window.ui:161 +#, fuzzy +msgid "Query Contact Info" +msgstr "Afegeix un contacte nou" + +#: gajim/data/gui/add_new_contact_window.ui:312 +#, fuzzy +msgid "A_llow contact to view my status" +msgstr "Permet a aquest contacte de veure el meu estat" + +#: gajim/data/gui/add_new_contact_window.ui:363 +msgid "_Save subscription message" +msgstr "Guarda missatge de subscripció" + +#: gajim/data/gui/add_new_contact_window.ui:389 +msgid "" +"You have to register with this transport\n" +"to be able to add a contact from this\n" +"protocol. Click on Register button to\n" +"proceed." +msgstr "" +"Has de registrar-te amb aquest transport\n" +"per a poder afegir un contacte des\n" +"d'aquest protocol. Clica al botó Registra\n" +"per a seguir." + +#: gajim/data/gui/add_new_contact_window.ui:404 +msgid "_Register" +msgstr "_Registra" + +#: gajim/data/gui/add_new_contact_window.ui:433 +msgid "" +"You must be connected to the transport to be able\n" +"to add a contact from this protocol." +msgstr "" +"Has d'estar connectat al transport per a poder\n" +"afegir un contacte des d'aquest protocol." + +#: gajim/data/gui/add_new_contact_window.ui:467 +#, fuzzy +msgid "_Add" +msgstr "_Copia adreça JID/Email" + +#: gajim/data/gui/account_wizard.ui:16 gajim/data/gui/manage_proxies.ui:206 +#, fuzzy +msgid "_Port" +msgstr "_Port:" + +#: gajim/data/gui/account_wizard.ui:46 +#, fuzzy +msgid "_Hostname" +msgstr "Nom del servidor:" + +#: gajim/data/gui/account_wizard.ui:62 gajim/data/gui/account_wizard.ui:689 +#: gajim/data/gui/manage_proxies.ui:223 +msgid "example.org" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:75 +#, fuzzy +msgid "Prox_y" +msgstr "Prox_y:" + +#: gajim/data/gui/account_wizard.ui:110 +#, fuzzy +msgid "Manage Proxies..." +msgstr "Gestió de perfils de proxy" + +#: gajim/data/gui/account_wizard.ui:131 gajim/data/gui/preferences.ui:798 +#, fuzzy +msgid "Advanced Settings" +msgstr "Connectors" + +#: gajim/data/gui/account_wizard.ui:163 gajim/data/gui/manage_proxies.ui:290 +#, fuzzy +msgid "_Type" +msgstr "_Tipus:" + +#: gajim/data/gui/account_wizard.ui:203 +msgid "Welcome" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:219 +#, fuzzy +msgid "Please enter your credentials or Sign Up" +msgstr "Sobrenom:" + +#: gajim/data/gui/account_wizard.ui:237 +msgid "Your XMPP address (e.g. user@example.org)" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:239 +#: gajim/data/gui/single_message_window.ui:59 +msgid "user@example.org" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:252 +#, fuzzy +msgid "Your password" +msgstr "Desa la contrasenya" + +#: gajim/data/gui/account_wizard.ui:266 gajim/data/gui/account_wizard.ui:719 +#, fuzzy +msgid "_Advanced Settings" +msgstr "Connectors" + +#: gajim/data/gui/account_wizard.ui:270 gajim/data/gui/account_wizard.ui:723 +#, fuzzy +msgid "Proxy, custom hostname and port" +msgstr "Fa servir nomdeservidor/port" + +#: gajim/data/gui/account_wizard.ui:283 +msgid "_Log In" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:288 +msgid "Log in with your credentials" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:304 +#, fuzzy +msgid "or" +msgstr "otr" + +#: gajim/data/gui/account_wizard.ui:314 +msgid "_Sign Up" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:318 +msgid "Sign up for a new account on a server of your choice" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:369 +msgid "Visit Website" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:410 +#, fuzzy +msgid "Certificate Verification Failed" +msgstr "Certificat de client" + +#: gajim/data/gui/account_wizard.ui:428 +msgid "" +"The following warnings came up while trying to verify the server's " +"certificate" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:457 +#, fuzzy +msgid "_Show Certificate" +msgstr "Certificat de client" + +#: gajim/data/gui/account_wizard.ui:472 +#, fuzzy +msgid "_Add to Trusted Certificates" +msgstr "Certificat de client" + +#: gajim/data/gui/account_wizard.ui:501 gajim/data/gui/account_wizard.ui:664 +msgid "Which server should I choose?" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:516 +msgid "" +"There are plenty of servers to choose from.\n" +"Creating an account on one server allows you to communicate with contacts " +"from other servers as well." +msgstr "" + +#: gajim/data/gui/account_wizard.ui:530 +msgid "Visit Server's Website" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:550 +msgid "Listing of Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:568 +msgid "" +"xmpp.org/getting-started" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:646 +#, fuzzy +msgid "_Please choose a server" +msgstr "Afegeix aquesta sala a les adreces d'interès" + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "" + +#: gajim/data/gui/application_menu.ui:8 +#, fuzzy +msgid "_Start / Join Chat…" +msgstr "Inicia Xat" + +#: gajim/data/gui/application_menu.ui:13 +#, fuzzy +msgid "Create _Group Chat…" +msgstr "Grups de xat" + +#: gajim/data/gui/application_menu.ui:18 +#, fuzzy +msgid "_History Manager" +msgstr "Gestor d'Històric" + +#: gajim/data/gui/application_menu.ui:22 +#, fuzzy +msgid "Pl_ugins" +msgstr "Connectors" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +#, fuzzy +msgid "_Preferences" +msgstr "Preferències" + +#: gajim/data/gui/application_menu.ui:36 +#, fuzzy +msgid "_Accounts" +msgstr "Comptes" + +#: gajim/data/gui/application_menu.ui:39 +#, fuzzy +msgid "_View" +msgstr "Veure" + +#: gajim/data/gui/application_menu.ui:46 +#, fuzzy +msgid "Show _Offline Contacts" +msgstr "Mostra els contactes desconnectats" + +#: gajim/data/gui/application_menu.ui:50 +#, fuzzy +msgid "Show _Active Contacts" +msgstr "Mostra Contactes Actius" + +#: gajim/data/gui/application_menu.ui:54 +#, fuzzy +msgid "Show _Transports" +msgstr "Mostra Transports" + +#: gajim/data/gui/application_menu.ui:60 +#, fuzzy +msgid "_XML Console" +msgstr "_Copia la ubicació de l'enllaç" + +#: gajim/data/gui/application_menu.ui:64 +#, fuzzy +msgid "_File Transfer" +msgstr "Transferència de Fitxers" + +#: gajim/data/gui/application_menu.ui:74 +#, fuzzy +msgid "_Help" +msgstr "Ajuda" + +#: gajim/data/gui/application_menu.ui:77 +#, fuzzy +msgid "_Wiki (Online)" +msgstr "Connectat" + +#: gajim/data/gui/application_menu.ui:81 +#, fuzzy +msgid "FA_Q (Online)" +msgstr "Connectat" + +#: gajim/data/gui/application_menu.ui:85 +#, fuzzy +msgid "_Keyboard Shortcuts" +msgstr "Dreceres de teclat" + +#: gajim/data/gui/application_menu.ui:89 +#, fuzzy +msgid "_Features" +msgstr "Característiques" + +#: gajim/data/gui/application_menu.ui:93 +#, fuzzy +msgid "_About" +msgstr "Sobre l'aplicació" + +#: gajim/data/gui/filetransfer_progress.ui:125 +msgid "Speed" +msgstr "" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +msgid "OK" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:55 +#, fuzzy +msgid "Install Plugin from ZIP-File" +msgstr "Instal·la des d'un zip" + +#: gajim/data/gui/plugins_window.ui:56 +#, fuzzy +msgid "Install from File…" +msgstr "Instal·la des d'un zip" + +#: gajim/data/gui/plugins_window.ui:70 +#, fuzzy +msgid "Uninstall Plugin" +msgstr "Desinstal·la" + +#: gajim/data/gui/plugins_window.ui:116 +#, fuzzy +msgid "" +msgstr "Connectors" + +#: gajim/data/gui/plugins_window.ui:133 +#, fuzzy +msgid "Plugin Settings" +msgstr "Connectors" + +#: gajim/data/gui/plugins_window.ui:215 +#, fuzzy +msgid "" +msgstr "Descripció:" + +#: gajim/data/gui/plugins_window.ui:239 +#, fuzzy +msgid "Version" +msgstr "Versió:" + +#: gajim/data/gui/plugins_window.ui:271 +#, fuzzy +msgid "Authors" +msgstr "Autors:" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +#, fuzzy +msgid "Homepage" +msgstr "Pàgina d'inici:" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:349 +msgid "Installed" +msgstr "Instal·lat" + +#: gajim/data/gui/plugins_window.ui:363 +#, fuzzy +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "" +"La descripció del plugin s'hauria de mostrar aquí. Aquest text s'esborrarà " +"durant la inicialització PluginsWindow." + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +msgid "Synchronise contacts" +msgstr "" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +#, fuzzy +msgid "_Name" +msgstr "_Nom:" + +#: gajim/data/gui/groupchat_creation.ui:122 +#, fuzzy +msgid "_Description" +msgstr "Descripció:" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +#, fuzzy +msgid "_Address" +msgstr "_Copia adreça JID/Email" + +#: gajim/data/gui/groupchat_creation.ui:278 +#, fuzzy +msgid "_Account" +msgstr "Compte" + +#: gajim/data/gui/profile.ui:33 +#, fuzzy +msgid "Contact Infos" +msgstr "Afegeix un contacte nou" + +#: gajim/data/gui/profile.ui:45 +msgid "Picture and Name" +msgstr "" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "" + +#: gajim/data/gui/profile.ui:198 +#, fuzzy +msgid "Change your profile picture" +msgstr "Canvia el teu nick (Ctrl+N)" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:298 +#, fuzzy +msgid "Add Entry" +msgstr "Entrada:" + +#: gajim/data/gui/profile.ui:410 +msgid "Update" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:15 +#, fuzzy +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "SOCKS5" + +#: gajim/data/gui/manage_proxies.ui:65 +#, fuzzy +msgid "Add Proxy" +msgstr "Prox_y:" + +#: gajim/data/gui/manage_proxies.ui:79 +#, fuzzy +msgid "Remove Proxy" +msgstr "Esborra" + +#: gajim/data/gui/manage_proxies.ui:131 +#, fuzzy +msgid "Pass_word" +msgstr "Contrasenya:" + +#: gajim/data/gui/manage_proxies.ui:156 +msgid "Use proxy auth_entication" +msgstr "Fa ús d'autenticació proxy" + +#: gajim/data/gui/manage_proxies.ui:176 +#, fuzzy +msgid "_Username" +msgstr "_Nom d'usuari:" + +#: gajim/data/gui/manage_proxies.ui:237 +#, fuzzy +msgid "_Host" +msgstr "Nom del servidor:" + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "" + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +#, fuzzy +msgid "_Store conversation history" +msgstr "Registra _les converses" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +msgid "Contact" +msgstr "" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +msgid "First Name:" +msgstr "Nom:" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +msgid "Last Name:" +msgstr "Cognom:" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +#, fuzzy +msgid "XMPP Address:" +msgstr "_Copia adreça JID/Email" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "Correu electrònic:" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +msgid "Personal" +msgstr "" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "Estat" + +#: gajim/data/gui/account_context_menu.ui:20 +msgid "_Personal Events" +msgstr "Events _Personals" + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "_Afegeix Contacte..." + +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "_Descobreix Serveis" + +#: gajim/data/gui/account_context_menu.ui:57 +msgid "_Execute Command..." +msgstr "_Executa Comanda...." + +#: gajim/data/gui/account_context_menu.ui:65 +#, fuzzy +msgid "_View Server Info" +msgstr "Servidor:" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:125 +#, fuzzy +msgid "Global Group Chat Search" +msgstr "Uneix-te al xat en grup" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +msgid "_Back" +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:386 +#, fuzzy +msgid "Select Account" +msgstr "Fusiona comptes" + +#: gajim/data/gui/start_chat_dialog.ui:477 +msgid "_Select" +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +#, fuzzy +msgid "Configure" +msgstr "_Configura" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +msgid "Create new post" +msgstr "Crea nou missatge" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "" + +#: gajim/data/gui/systray_context_menu.ui:20 +msgid "_Start Chat..." +msgstr "Inicia Xat..." + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "Envia un _Missatge únic..." + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "" + +#: gajim/data/gui/systray_context_menu.ui:52 +msgid "Mute Sounds" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +#, fuzzy +msgid "Contact List" +msgstr "El Contacte ha entrat" + +#: gajim/data/gui/shortcuts_window.ui:24 +#, fuzzy +msgid "Create new group chat" +msgstr "Grups de xat" + +#: gajim/data/gui/shortcuts_window.ui:45 +msgid "File transfers" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:52 +msgid "Set the status message" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:59 +#, fuzzy +msgid "Show XML console" +msgstr "_Copia la ubicació de l'enllaç" + +#: gajim/data/gui/shortcuts_window.ui:74 +msgid "Appearance" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:79 +msgid "Show offline contacts" +msgstr "Mostra els contactes desconnectats" + +#: gajim/data/gui/shortcuts_window.ui:86 +msgid "Show only active contacts" +msgstr "Mostra només contactes actius" + +#: gajim/data/gui/shortcuts_window.ui:93 +msgid "Enable contact list filtering" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:100 +#, fuzzy +msgid "Show / hide contact list" +msgstr "Mostra només contactes actius" + +#: gajim/data/gui/shortcuts_window.ui:113 +msgid "Contact information" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:120 +msgid "Rename contact" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:127 +msgid "Delete contact" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +msgid "Chat" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:142 +msgid "Message composition" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:147 +msgid "Send the message" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:154 +msgid "Add new line" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:161 +msgid "Select an emoji" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:168 +msgid "Complete a command or a nickname" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:175 +#, fuzzy +msgid "Previously sent message" +msgstr "Missatges preconfigurats:" + +#: gajim/data/gui/shortcuts_window.ui:182 +msgid "Next sent messages" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:189 +msgid "Quote previous message" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:196 +msgid "Quote next message" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:203 +msgid "Clear message entry" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:211 +msgid "Recent history" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:230 +#, fuzzy +msgid "Clear chat window" +msgstr "Amaga la finestra" + +#: gajim/data/gui/shortcuts_window.ui:237 +#, fuzzy +msgid "Show chat history" +msgstr "Historial" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:299 +msgid "Close chat" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:312 +#, fuzzy +msgid "Change Nickname" +msgstr "Canvia _Nick..." + +#: gajim/data/gui/chat_control.ui:48 +#, fuzzy +msgid "Drop files or contacts" +msgstr "Mostra els contactes desconnectats" + +#: gajim/data/gui/chat_control.ui:80 +msgid "1" +msgstr "1" + +#: gajim/data/gui/chat_control.ui:101 +msgid "2 abc" +msgstr "2 abc" + +#: gajim/data/gui/chat_control.ui:121 +msgid "3 def" +msgstr "3 def" + +#: gajim/data/gui/chat_control.ui:141 +msgid "4 ghi" +msgstr "4 ghi" + +#: gajim/data/gui/chat_control.ui:161 +msgid "5 jkl" +msgstr "5 jkl" + +#: gajim/data/gui/chat_control.ui:181 +msgid "6 mno" +msgstr "6 mno" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "7 pqrs" + +#: gajim/data/gui/chat_control.ui:221 +msgid "8 tuv" +msgstr "8 tuv" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "9 wxyz" + +#: gajim/data/gui/chat_control.ui:261 +msgid "*" +msgstr "*" + +#: gajim/data/gui/chat_control.ui:281 +msgid "0" +msgstr "0" + +#: gajim/data/gui/chat_control.ui:301 +msgid "#" +msgstr "#" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "Comença Xat" + +#: gajim/data/gui/contact_context_menu.ui:28 +msgid "Send _File..." +msgstr "Envia un _fitxer..." + +#: gajim/data/gui/contact_context_menu.ui:44 +msgid "Invite _Contacts" +msgstr "Convida _Contactes" + +#: gajim/data/gui/contact_context_menu.ui:58 +msgid "E_xecute Command..." +msgstr "E_xecuta Comanda..." + +#: gajim/data/gui/contact_context_menu.ui:67 +msgid "M_anage Contact" +msgstr "Gestiona Contacte" + +#: gajim/data/gui/contact_context_menu.ui:77 +msgid "_Rename..." +msgstr "Canvia el nom..." + +#: gajim/data/gui/contact_context_menu.ui:84 +msgid "Edit _Groups..." +msgstr "Edita els _Grups..." + +#: gajim/data/gui/contact_context_menu.ui:92 +msgid "Add Special _Notification..." +msgstr "Afegeix _Notificació Especial..." + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "_Subscripció" + +#: gajim/data/gui/contact_context_menu.ui:115 +msgid "_Allow contact to see my status" +msgstr "Permet el contacte veure el meu estat" + +#: gajim/data/gui/contact_context_menu.ui:123 +msgid "A_sk to see contact status" +msgstr "Demana veure l'estat del contacte" + +#: gajim/data/gui/contact_context_menu.ui:131 +msgid "_Forbid contact to see my status" +msgstr "Prohibeix el contacte veure el meu estat" + +#: gajim/data/gui/contact_context_menu.ui:159 +msgid "_Unignore" +msgstr "No ignora" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "_Ignora" + +#: gajim/data/gui/contact_context_menu.ui:174 +#, fuzzy +msgid "_Add to Contact List..." +msgstr "_Afegeix Contacte..." + +#: gajim/data/gui/single_message_window.ui:42 +msgid "_To" +msgstr "" + +#: gajim/data/gui/single_message_window.ui:71 +#, fuzzy +msgid "Su_bject" +msgstr "Assumpte:" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "" + +#: gajim/data/gui/single_message_window.ui:102 +#, fuzzy +msgid "_Message" +msgstr "missatge" + +#: gajim/data/gui/single_message_window.ui:144 +msgid "Characters typed: 0" +msgstr "" + +#: gajim/data/gui/single_message_window.ui:189 +#, fuzzy +msgid "_From" +msgstr "Des de:" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "Envia missatge" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "" + +#: gajim/data/gui/vcard_information_window.ui:106 +msgid "Client" +msgstr "" + +#: gajim/data/gui/vcard_information_window.ui:140 +#, fuzzy +msgid "Contact time" +msgstr "El Contacte ha entrat" + +#: gajim/data/gui/vcard_information_window.ui:240 +msgid "User avatar" +msgstr "" + +#: gajim/data/gui/vcard_information_window.ui:255 +#, fuzzy +msgid "Configured avatar" +msgstr "Configura" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +msgid "Ask" +msgstr "" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +#, fuzzy +msgid "Subscription" +msgstr "_Subscripció" + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +#, fuzzy +msgid "Extra Address" +msgstr "_Copia adreça JID/Email" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +msgid "Address" +msgstr "" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +#, fuzzy +msgid "E-Mail" +msgstr "Correu electrònic:" + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +msgid "Family" +msgstr "" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +msgid "Middle" +msgstr "" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +#, fuzzy +msgid "Prefix" +msgstr "Prefereix" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +msgid "Given" +msgstr "" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +msgid "Suffix" +msgstr "" + +#: gajim/data/gui/vcard_information_window.ui:958 +#, fuzzy +msgid "Name Details" +msgstr "Configuració" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "" + +#: gajim/data/gui/vcard_information_window.ui:1017 +msgid "Personal Info" +msgstr "" + +#: gajim/data/gui/vcard_information_window.ui:1040 +#, fuzzy +msgid "Company" +msgstr "S'està creant la composició" + +#: gajim/data/gui/vcard_information_window.ui:1073 +msgid "Department" +msgstr "" + +#: gajim/data/gui/vcard_information_window.ui:1104 +#, fuzzy +msgid "Position" +msgstr "Descripció:" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "Sobre l'aplicació" + +#: gajim/data/gui/vcard_information_window.ui:1514 +msgid "Comments" +msgstr "" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "Edita els grups" + +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "Contrasenya" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +msgid "Themes" +msgstr "" + +#: gajim/data/gui/themes_window.ui:171 +#, fuzzy +msgid "Add Setting" +msgstr "Connectors" + +#: gajim/data/gui/themes_window.ui:204 +#, fuzzy +msgid "Add new Theme" +msgstr "Activa" + +#: gajim/data/gui/themes_window.ui:219 +#, fuzzy +msgid "Remove Theme" +msgstr "Activa" + +#: gajim/data/gui/bookmarks.ui:120 +#, fuzzy +msgid "Autojoin" +msgstr "Entra automàticament" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "" + +#: gajim/data/gui/preferences.ui:68 +#, fuzzy +msgid "Contact List Appearance" +msgstr "_Canvia Missatge d'Estat" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +#, fuzzy +msgid "Chats" +msgstr "Inactiva" + +#: gajim/data/gui/preferences.ui:215 +#, fuzzy +msgid "Visual Notifications" +msgstr "Afegeix _Notificació Especial..." + +#: gajim/data/gui/preferences.ui:243 +msgid "Sounds" +msgstr "" + +#: gajim/data/gui/preferences.ui:303 +#, fuzzy +msgid "Ask For Status Message on…" +msgstr "_Canvia Missatge d'Estat" + +#: gajim/data/gui/preferences.ui:331 +#, fuzzy +msgid "Automatic Status Change" +msgstr "Ajustar a estat" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "" + +#: gajim/data/gui/preferences.ui:447 +#, fuzzy +msgid "Status Icon" +msgstr "_Canvia Missatge d'Estat" + +#: gajim/data/gui/preferences.ui:472 +msgid "Style" +msgstr "" + +#: gajim/data/gui/preferences.ui:511 +#, fuzzy +msgid "Show _Features" +msgstr "Característiques" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:632 +msgid "Audio" +msgstr "" + +#: gajim/data/gui/preferences.ui:660 +msgid "Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:698 +msgid "Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:735 +#, fuzzy +msgid "Miscellaneous" +msgstr "Miscel·lània" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:821 +#, fuzzy +msgid "Advanced Configuration Editor… " +msgstr "Editor de Configuració Avançada" + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "" + +#: gajim/data/gui/server_info.ui:50 +msgid "Server Software" +msgstr "" + +#: gajim/data/gui/server_info.ui:80 +#, fuzzy +msgid "Server Uptime" +msgstr "Servidor:" + +#: gajim/data/gui/server_info.ui:109 +#, fuzzy +msgid "Contact Addresses" +msgstr "_Copia adreça JID/Email" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "" + +#: gajim/data/gui/server_info.ui:177 +#, fuzzy +msgid "Proxy Type" +msgstr "Prox_y:" + +#: gajim/data/gui/server_info.ui:192 +#, fuzzy +msgid "No proxy used" +msgstr "Prox_y:" + +#: gajim/data/gui/server_info.ui:202 +#, fuzzy +msgid "View _Certificate" +msgstr "Certificat de client" + +#: gajim/data/gui/server_info.ui:222 +#, fuzzy +msgid "Proxy Host" +msgstr "Port del servidor intermediari:" + +#: gajim/data/gui/server_info.ui:421 +#, fuzzy +msgid "Copy info to clipboard" +msgstr "_Copia la ubicació de l'enllaç" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:153 +msgid "Serial Number" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:304 +#, fuzzy +msgid "Expires on" +msgstr "expira" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:465 +#, fuzzy +msgid "Copy Certificate Information" +msgstr "El Certificat està xifrat" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "Convida Amics!" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +#, fuzzy +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "" +"Estàs entrant a un xat de grup.\n" +"Selecciona els contactes que vols convidar" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +#, fuzzy +msgid "Please select a group chat server." +msgstr "Si us plau selecciona un servidor MUC." + +#: gajim/data/gui/chat_to_muc_window.ui:141 +#, fuzzy +msgid "Group chat server" +msgstr "Grups de xat" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +msgid "In_vite" +msgstr "Con_vida" + +#: gajim/data/gui/mam_preferences.ui:53 +#, fuzzy +msgid "_Default" +msgstr "Per defecte:" + +#: gajim/data/gui/mam_preferences.ui:136 +msgid "Archive" +msgstr "" + +#: gajim/data/gui/history_manager.ui:11 +msgid "_Export" +msgstr "_Exporta" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +msgid "Gajim History Logs Manager" +msgstr "Gajim Gestor Històric Registres" + +#: gajim/data/gui/history_manager.ui:104 +#, fuzzy +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" +"Aquest gestor de registres no està dissenyat com a visor. Si vols aquesta " +"funcionalitat, fes ús de la finestra d'històric.\n" +"\n" +"Des servir aquest gestor per a esborrar o exportar registres. Pots " +"seleccionarlos a l'esquerra i/o cercar abaix." + +#: gajim/data/gui/history_manager.ui:120 +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" +"AVÍS:\n" +"Si preveus esborrats massius, assegura't que Gajim no està en execució. " +"Evita esborrats amb contactes amb els quals estàs parlant." + +#: gajim/data/gui/history_manager.ui:211 +#, fuzzy +msgid "Search database..." +msgstr "Cerca Base de Dades" + +#: gajim/data/gui/history_manager.ui:226 +#, fuzzy +msgid "Search in database" +msgstr "Cerca Base de Dades" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" + +#: gajim/data/gui/groupchat_invite.ui:69 +#, fuzzy +msgid "Invitees" +msgstr "Con_vida" + +#: gajim/data/gui/groupchat_invite.ui:153 +#, fuzzy +msgid "Search contacts..." +msgstr "Cerca Base de Dades" + +#: gajim/data/gui/groupchat_invite.ui:223 +msgid "Click on contacts you would like to invite to this group chat." +msgstr "" + +#: gajim/data/gui/service_discovery_window.ui:148 +#, fuzzy +msgid "Go" +msgstr "Desaparegut" + +#: gajim/data/gui/status_change_window.ui:27 +#, fuzzy +msgid "Change Status" +msgstr "_Canvia Missatge d'Estat" + +#: gajim/data/gui/status_change_window.ui:56 +#, fuzzy +msgid "Status Presets…" +msgstr "_Canvia Missatge d'Estat" + +#: gajim/data/gui/status_change_window.ui:72 +msgid "Save this message as a preset" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:130 +#, fuzzy +msgid "Ac_tivity" +msgstr "Activitat:" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:278 +#, fuzzy +msgid "_Change Status" +msgstr "_Canvia Missatge d'Estat" + +#: gajim/data/gui/status_change_window.ui:313 +#, fuzzy +msgid "Activity" +msgstr "Activitat:" + +#: gajim/data/gui/status_change_window.ui:326 +#, fuzzy +msgid "_No Activity" +msgstr "Activitat:" + +#: gajim/data/gui/status_change_window.ui:729 +#, fuzzy +msgid "Mood" +msgstr "Estat d'Ànim:" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +#, fuzzy +msgid "Author" +msgstr "Autors:" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +#, fuzzy +msgid "Group Chat Language" +msgstr "Configuració de Sala" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +#, fuzzy +msgid "Copy Address" +msgstr "_Copia adreça JID/Email" + +#: gajim/data/gui/emoji_chooser.ui:98 +msgid "No Results Found" +msgstr "" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr "" + +#: gajim/data/gui/xml_console.ui:131 +#, fuzzy +msgid "Start Search..." +msgstr "Inicia Xat..." + +#: gajim/data/gui/xml_console.ui:260 +msgid "Clear" +msgstr "" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "" + +#: gajim/data/gui/xml_console.ui:316 +#, fuzzy +msgid "Presets" +msgstr "Missatges preconfigurats:" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +msgid "Select the contacts you want to synchronise" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:51 +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:309 +msgid "Reserved Name" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:346 +#, fuzzy +msgid "Affiliation" +msgstr "_Accions" + +#: gajim/data/gui/groupchat_config.ui:377 +#, fuzzy +msgid "Affiliations" +msgstr "_Accions" + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "" + +#: gajim/data/gui/subscription_request_window.ui:34 +#, fuzzy +msgid "_Block User" +msgstr "_Bloca" + +#: gajim/data/gui/subscription_request_window.ui:49 +#, fuzzy +msgid "_Report as Spam" +msgstr "Informa de l'error" + +#: gajim/data/gui/subscription_request_window.ui:212 +msgid "_Deny…" +msgstr "" + +#: gajim/data/gui/subscription_request_window.ui:225 +msgid "Ac_cept" +msgstr "" + +#: gajim/data/gui/subscription_request_window.ui:230 +#, fuzzy +msgid "Allows the contact to see your online status" +msgstr "Permet el contacte veure el meu estat" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:115 +#, fuzzy +msgid "_Report Bug" +msgstr "Informa de l'error" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "" + +#: gajim/data/gui/manage_sounds.ui:97 +#, fuzzy +msgid "Clear Sound" +msgstr "Neteja" + +#: gajim/data/gui/manage_sounds.ui:118 +msgid "Play Sound" +msgstr "" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +#, fuzzy +msgid "_Send Files" +msgstr "Envia _Fitxer" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +#, fuzzy +msgid "Send" +msgstr "Envia" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +msgid "Files to send" +msgstr "" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +#, fuzzy +msgid "Add Files" +msgstr "Envia _Fitxer" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +#, fuzzy +msgid "Remove Files" +msgstr "Esborra" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +msgid "Idle since:" +msgstr "" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +msgid "Mood:" +msgstr "Estat d'Ànim:" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +msgid "Activity:" +msgstr "Activitat:" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +msgid "Tune:" +msgstr "" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +msgid "Location:" +msgstr "" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +msgid "Subscription:" +msgstr "" + +#: gajim/data/gui/advanced_configuration.ui:15 +#, fuzzy +msgid "A restart may be required for some settings to take effect" +msgstr "" +"NOTA: Hauries de reiniciar Gajim per a que la configuració tingui " +"efecte" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "" + +#: gajim/data/gui/advanced_configuration.ui:120 +#, fuzzy +msgid "_Reset Value" +msgstr "_Reinicia a configuració per defecte" + +#: gajim/data/gui/advanced_configuration.ui:125 +#, fuzzy +msgid "Resets value to default" +msgstr "_Reinicia a configuració per defecte" + +#: gajim/data/gui/history_window.ui:27 +#, fuzzy +msgid "Display status changes" +msgstr "Mostra els canvis d'estat" + +#: gajim/data/gui/history_window.ui:57 +msgid "History Manager" +msgstr "Gestor d'Històric" + +#: gajim/data/gui/history_window.ui:233 +msgid "Mode" +msgstr "" + +#: gajim/data/gui/history_window.ui:246 +msgid "Search complete history" +msgstr "" + +#: gajim/data/gui/history_window.ui:263 +#, fuzzy +msgid "Search selected day only" +msgstr "Nomes cerca al dia seleccionat" + +#: gajim/data/gui/history_window.ui:317 +msgid "Store history for this chat" +msgstr "" + +#: gajim/data/gui/history_window.ui:332 +#, fuzzy +msgid "Store History" +msgstr "Historial" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +#, fuzzy +msgid "Identified Error" +msgstr "Certificat de client" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +msgid "" +msgstr "" + +#: gajim/data/gui/ssl_error_dialog.ui:74 +#, fuzzy +msgid "Add this certificate to the list of _trusted certificates" +msgstr "" +"Afegir aquest certificat a la llista de certificats confiables.\n" +"Hash SHA1 del certificat:\n" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +#, fuzzy +msgid "_View Certificate" +msgstr "Certificat de client" + +#: gajim/data/gui/ssl_error_dialog.ui:120 +#, fuzzy +msgid "_Connect" +msgstr "Connexió" + +#: data/org.gajim.Gajim.desktop.in:5 +msgid "XMPP Chat Client" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:8 +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:27 +#, fuzzy +msgid "Show next pending event" +msgstr "Només en esdeveniments pendents" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:17 +#, fuzzy +msgid "Features:" +msgstr "Característiques" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +msgid "Automatic spell-checking for your messages" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +msgid "Support for service discovery including nodes and search for users" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +#, fuzzy +msgid "Contact list" +msgstr "El Contacte ha entrat" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +#, fuzzy +msgid "Group chat support" +msgstr "Grups de xat" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +#, fuzzy +msgid "Chat history" +msgstr "Historial" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +msgid "Plugin manager" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +#, fuzzy +msgid "Gajim Team" +msgstr "Personalització Temes Gajim" + +#, fuzzy +#~ msgid "Chat Settings" +#~ msgstr "Connectors" + +#~ msgid "Composing only" +#~ msgstr "Component només" + +#~ msgid "All chat states" +#~ msgstr "Tots els estats del xat" + +#, fuzzy +#~ msgid "Unblock" +#~ msgstr "_Desbloquejar" + +#, fuzzy +#~ msgid "Block" +#~ msgstr "_Bloca" + +#~ msgid "None" +#~ msgstr "Cap" + +#, fuzzy +#~ msgid "_Block Contact" +#~ msgstr "Contactes blocats" + +#, fuzzy +#~ msgid "Block Group" +#~ msgstr "_Bloca" + +#, fuzzy +#~ msgid "_Block Group" +#~ msgstr "_Bloca" + +#, fuzzy +#~ msgid "Not Secure" +#~ msgstr "Entrada següent" + +#, fuzzy, python-format +#~ msgid "Creating %s" +#~ msgstr "Crea nou missatge" + +#, python-format +#~ msgid "%(nickname)s Signed In" +#~ msgstr "%(nickname)s han entrat" + +#~ msgid "Contact Signed In" +#~ msgstr "El Contacte ha entrat" + +#~ msgid "Blocked Contacts" +#~ msgstr "Contactes blocats" + +#, fuzzy +#~ msgid "Group chat" +#~ msgstr "Grups de xat" + +#, fuzzy +#~ msgid "Bookmark group chat" +#~ msgstr "Afegeix aquesta sala a les adreces d'interès" + +#, fuzzy +#~ msgid "Bookmark" +#~ msgstr "Adreça d'interès" + +#, fuzzy +#~ msgid "Set Avatar…" +#~ msgstr "Esborra" + +#, fuzzy +#~ msgid "Contact" +#~ msgstr "1" + +#, fuzzy +#~ msgid "_Leave Group Chat" +#~ msgstr "Grups de xat" + +#~ msgid "Use default applications" +#~ msgstr "Aplicacions per defecte" + +#~ msgid "Custom" +#~ msgstr "Personalitzat" + +#, fuzzy +#~ msgid "Show only in contact list" +#~ msgstr "Mostra només contactes actius" + +#, fuzzy +#~ msgid "No status messages" +#~ msgstr "_Canvia Missatge d'Estat" + +#, fuzzy +#~ msgid "All status messages" +#~ msgstr "_Canvia Missatge d'Estat" + +#, fuzzy +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "Esborra transferència de fitxer de la llista." + +#, fuzzy +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "Esborra transferència de fitxer de la llista." + +#, fuzzy +#~ msgid "in _contact list" +#~ msgstr "Convida _Contactes" + +#, fuzzy +#~ msgid "Display status messages in _single chats" +#~ msgstr "Mostra els canvis d'estat" + +#, fuzzy +#~ msgid "Show status changes (Default)" +#~ msgstr "Mostra els canvis d'estat" + +#, fuzzy +#~ msgid "_When new event is received" +#~ msgstr "S'ha rebut una nova entrada" + +#, fuzzy +#~ msgid "No_t Available" +#~ msgstr "_No Disponible" + +#, fuzzy +#~ msgid "Preset Status Messages" +#~ msgstr "_Canvia Missatge d'Estat" + +#~ msgid "_Manage..." +#~ msgstr "Administra..." + +#, fuzzy +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "Si està marcat, Gajim recordarà la contrasenya d'aquest compte" + +#, fuzzy +#~ msgid "_Filter" +#~ msgstr "Filtra:" + +#, fuzzy +#~ msgid "Protocol" +#~ msgstr "_Protocol:" + +#, fuzzy +#~ msgid "Message..." +#~ msgstr "Gestiona..." + +#, fuzzy +#~ msgid "Preset _messages" +#~ msgstr "Missatges preconfigurats:" + +#, fuzzy +#~ msgid "_Type your new status message" +#~ msgstr "Escriu el teu nou missatge d'estat" + +#~ msgid "Change Status Message…" +#~ msgstr "Canvia Missatge d'Estat..." + +#~ msgid "Mood:" +#~ msgstr "Estat d'ànim:" + +#~ msgid "Message:" +#~ msgstr "Missatge:" + +#, fuzzy +#~ msgid "Contact List Shortcuts" +#~ msgstr "_Canvia Missatge d'Estat" + +#~ msgid "Fill in the form." +#~ msgstr "Omple el formulari." + +#~ msgid "Set an activity" +#~ msgstr "Estableix una activitat" + +#~ msgid "Message: " +#~ msgstr "Missatge:" + +#, fuzzy +#~ msgid "Group Chat Invitation " +#~ msgstr "Configuració de Sala" + +#, fuzzy +#~ msgid "Off" +#~ msgstr "Desconnectat" + +#, fuzzy +#~ msgid "?password:Hidden" +#~ msgstr "Contrasenya:" + +#, fuzzy +#~ msgid "Start New Conversation" +#~ msgstr "Històric de converses" + +#~ msgid "Quit" +#~ msgstr "Surt" + +#, fuzzy +#~ msgid "Show Contact List" +#~ msgstr "Mostra Contactes Actius" + +#, fuzzy +#~ msgid "Add to Contact List" +#~ msgstr "_Afegeix Contacte..." + +#, fuzzy +#~ msgid "Invite Contact" +#~ msgstr "Convida _Contactes" + +#, fuzzy +#~ msgid "Configure Group Chat" +#~ msgstr "Grups de xat" + +#, fuzzy +#~ msgid "Notification color for file transfer request." +#~ msgstr "_Notifica'm quan una transferència de fitxer ha acabat" + +#, fuzzy +#~ msgid "Notification color for file transfer errors." +#~ msgstr "_Notifica'm quan una transferència de fitxer ha acabat" + +#~ msgid "Event Type" +#~ msgstr "Tipus d'esdeveniment" + +#~ msgid "Event desc" +#~ msgstr "Descripció d'esdeveniment" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Gaim: Ajuda a Creació de Compte" + +#, fuzzy +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "Necessites un compte per a connectar-te\n" +#~ "a la xarxa Jabber." + +#~ msgid "I already have an account I want to _use" +#~ msgstr "Ja tinc un compte que vull _usar" + +#~ msgid "I want to _register for a new account" +#~ msgstr "Vull _registrar-me amb un nou compte" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "Si us plau esculli una de les següents opcions:" + +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "Si us plau ompli les dades del seu compte existent" + +#, fuzzy +#~ msgid "_XMPP Address:" +#~ msgstr "_Copia adreça JID/Email" + +#~ msgid "Anon_ymous authentication" +#~ msgstr "Autenticació Anònima" + +#~ msgid "_Password:" +#~ msgstr "_Contrasenya:" + +#~ msgid "Save pass_word" +#~ msgstr "Guarda contrasenya" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "Si està marcat, Gajim recordarà la contrasenya d'aquest compte" + +#~ msgid "Please select a server" +#~ msgstr "Si us plau seleccioni un servidor" + +#~ msgid "_Server:" +#~ msgstr "_Servidor:" + +#~ msgid "Manage..." +#~ msgstr "Gestiona..." + +#~ msgid "_Port:" +#~ msgstr "_Port:" + +#~ msgid "_Advanced" +#~ msgstr "_Avançat" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA1 fingerprint of the certificate:\n" +#~ msgstr "" +#~ "Afegir aquest certificat a la llista de certificats confiables.\n" +#~ "Hash SHA1 del certificat:\n" + +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "Connectant al servidor\n" +#~ "\n" +#~ "Si us plau esperi..." + +#~ msgid "Connect when I press Finish" +#~ msgstr "Connecta quan jo cliqui Acabar" + +#~ msgid "Set my profile when I connect" +#~ msgstr "Estableix el meu perfil quan jo connecti" + +#~ msgid "_Finish" +#~ msgstr "Acaba" + +#~ msgid "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." +#~ msgstr "" +#~ "Pots configurar opcions avançades amb el botó Avançat, o més tard amb el " +#~ "submenú Comptes del menú Edita de la finestra principal." + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA-256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Afegir aquest certificat a la llista de certificats confiables.\n" +#~ "Hash SHA1 del certificat:\n" + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "Connecta HTTP" + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "BOSH" +#~ msgstr "BOSH" + +#~ msgid "Use HTTP prox_y" +#~ msgstr "Utilitza un servidor intermediari d'HTTP" + +#, fuzzy +#~ msgid "_BOSH URL" +#~ msgstr "URL BOSH:" + +#, fuzzy +#~ msgid "BOSH" +#~ msgstr "BOSH" + +#, fuzzy +#~ msgid "Warn on insecure connection" +#~ msgstr "Avís abans d'una connexió insegura" + +#~ msgid "_Disconnect" +#~ msgstr "_Desconnecta" + +#~ msgid "Invisible" +#~ msgstr "Invisible" + +#~ msgid "_Invisible" +#~ msgstr "_Invisible" + +#, fuzzy +#~ msgid "_Cancel Upload" +#~ msgstr "_Cancel·la" + +#, fuzzy +#~ msgid "New Password" +#~ msgstr "Desa la contrasenya" + +#, fuzzy +#~ msgid "You must enter a password" +#~ msgstr "Escriu nova contrasenya:" + +#~ msgid "Contents" +#~ msgstr "Contingut" + +#~ msgid "FAQ" +#~ msgstr "PMF (Preguntes més freqüents)" + +#~ msgid "New entry received" +#~ msgstr "S'ha rebut una nova entrada" + +#~ msgid "You have received new entry:" +#~ msgstr "Has rebut una nova entrada:" + +#~ msgid "Feed name:" +#~ msgstr "Nom de feed:" + +#~ msgid "Last modified:" +#~ msgstr "Última modificació:" + +#~ msgid "Next entry" +#~ msgstr "Entrada següent" + +#, fuzzy +#~ msgid "Send file?" +#~ msgstr "Envia _Fitxer" + +#, fuzzy +#~ msgid "_Browser" +#~ msgstr "Navega..." + +#, fuzzy +#~ msgid "_File manager" +#~ msgstr "Transferència de Fitxers" + +#, fuzzy +#~ msgid "Custom applications" +#~ msgstr "Aplicacions per defecte" + +#, fuzzy +#~ msgid "Applications" +#~ msgstr "_Accions" + +#~ msgid "message" +#~ msgstr "missatge" + +#, fuzzy +#~ msgid "Ttitle" +#~ msgstr "_Títol:" + +#~ msgid "_Send Private Message" +#~ msgstr "Envia Missatge Privat" + +#~ msgid "_Voice" +#~ msgstr "_Veu" + +#~ msgid "Mo_derator" +#~ msgstr "Mo_derador" + +#~ msgid "_Admin" +#~ msgstr "_Administra" + +#, fuzzy +#~ msgid "_Add to Contact List" +#~ msgstr "_Afegeix Contacte..." + +#, fuzzy +#~ msgid "_Execute command" +#~ msgstr "_Executa Comanda...." + +#~ msgid "Change _Nickname..." +#~ msgstr "Canvia _Nick..." + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "Grups de xat" + +#~ msgid "Change _Subject..." +#~ msgstr "Canvia Tema..." + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "Configura Sala..." + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "Grups de xat" + +#~ msgid "_Minimize on close" +#~ msgstr "_Minimitza en tancar" + +#~ msgid "_Request Voice" +#~ msgstr "Sol.licita Veu" + +#~ msgid "_Bookmark" +#~ msgstr "Adreça d'interès" + +#, fuzzy +#~ msgid "View certificate…" +#~ msgstr "Certificat de client" + +#, fuzzy +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "Gestiona Sala" + +#, fuzzy +#~ msgid "Group Chat Bookmarks" +#~ msgstr "Grups de xat" + +#, fuzzy +#~ msgid "Add Bookmark" +#~ msgstr "Adreça d'interès" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "Adreça d'interès" + +#, fuzzy +#~ msgid "_Server" +#~ msgstr "_Servidor:" + +#, fuzzy +#~ msgid "Roo_m" +#~ msgstr "Sala:" + +#, fuzzy +#~ msgid "_Password" +#~ msgstr "_Contrasenya:" + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "Uneix-te al xat en grup" + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "Uneix-te al xat en grup" + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "Uneix-te al xat en grup" + +#, fuzzy +#~ msgid "Add to Roster" +#~ msgstr "_Afegeix a llista de contactes" + +#, fuzzy +#~ msgid "Manage Room" +#~ msgstr "Gestiona Sala" + +#, fuzzy +#~ msgid "Configure Room" +#~ msgstr "Configura Sala..." + +#, fuzzy +#~ msgid "Destroy Room" +#~ msgstr "_Destrueix Sala" + +#, fuzzy +#~ msgid "Change Nick" +#~ msgstr "Canvia _Nick..." + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "_Desconnecta" + +#, fuzzy +#~ msgid "Add to Roster…" +#~ msgstr "_Afegeix a llista de contactes" + +#, fuzzy +#~ msgid "Copy JID/Email" +#~ msgstr "_Copia adreça JID/Email" + +#, fuzzy +#~ msgid "Auto Join" +#~ msgstr "Entra automàticament" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "Sala:" + +#~ msgid "Jabber ID:" +#~ msgstr "ID de Jabber:" + +#~ msgid "_Add to Roster" +#~ msgstr "_Afegeix a llista de contactes" + +#~ msgid "_Manage Room" +#~ msgstr "Gestiona Sala" + +#~ msgid "_Destroy Room" +#~ msgstr "_Destrueix Sala" + +#~ msgid "Jabber ID" +#~ msgstr "ID de Jabber" + +#, fuzzy +#~ msgid "account" +#~ msgstr "Compte" + +#~ msgid "Roster" +#~ msgstr "Llista" + +#~ msgid "_Add to Roster..." +#~ msgstr "Afegeix a la llista de contactes..." + +#~ msgid "_Jabber ID:" +#~ msgstr "ID _Jabber:" + +#, fuzzy +#~ msgid "_Jabber ID" +#~ msgstr "ID _Jabber:" + +#~ msgid "Show Roster" +#~ msgstr "Mostra Roster" + +#~ msgid "MUC server" +#~ msgstr "Servidor MUC" + +#~ msgid "Join _Group Chat" +#~ msgstr "Inicia Xat de _Grup" + +#, fuzzy +#~ msgid "Invalid Room" +#~ msgstr "Gestiona Sala" + +#, fuzzy +#~ msgid "Bookmark Room" +#~ msgstr "Afegeix aquesta sala a les adreces d'interès" + +#, fuzzy +#~ msgid "Name:" +#~ msgstr "_Nom:" + +#~ msgid "Description:" +#~ msgstr "Descripció:" + +#, fuzzy +#~ msgid "Occupants" +#~ msgstr "Accions Ocupant" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "Gestió de perfils de proxy" + +#, fuzzy +#~ msgid "Properties" +#~ msgstr "Propietats" + +#, fuzzy +#~ msgid "New Groupchat" +#~ msgstr "Grups de xat" + +#, fuzzy +#~ msgid "New Contact" +#~ msgstr "Afegeix un contacte nou" + +#~ msgid "Con_tinue" +#~ msgstr "Con_tinua" + +#~ msgid "_Pause" +#~ msgstr "_Pausa" + +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "" +#~ "Aquesta acció esborra una única transferència de fitxer de la llista. Si " +#~ "està activa, primer s'atura i després s'esborra." + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "Cancel.la la transferència de fitxer seleccionada." + +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "" +#~ "Quan una transferència de fitxer acabi mostra una notificació (popup)" + +#~ msgid "From:" +#~ msgstr "Des de:" + +#~ msgid "Send Cus_tom Status" +#~ msgstr "Envia Estat" + +#, fuzzy +#~ msgid "" +#~ msgstr "Assumpte:" + +#~ msgid "#" +#~ msgstr "#" + +#, fuzzy +#~ msgid "Reconnect when connection is lost" +#~ msgstr "Reconnexió automàtica quan es perd la connexió" + +#, fuzzy +#~ msgid "Server Message Archive" +#~ msgstr "Envia Missatge Privat" + +#, fuzzy +#~ msgid "S_end chat state notifications" +#~ msgstr "Mostra els canvis d'estat" + +#~ msgid "Ad-hoc Commands - Gajim" +#~ msgstr "Comandes Ad-Hoc - Gajim" + +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "Si us plau espera mentre es recupera la llista de comandes..." + +#~ msgid "Choose command to execute:" +#~ msgstr "Escull la comanda per executar:" + +#~ msgid "Check once more" +#~ msgstr "Comprova una vegada més" + +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "Si us plau espera mentre la comanda s'envia..." + +#~ msgid "F_inish" +#~ msgstr "Acabar" + +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "Assigna Clau Open_PGP..." + +#, fuzzy +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "fa ús de la variable d'entorn HTTP__PROXY" + +#, fuzzy +#~ msgid "Use PGP Agent" +#~ msgstr "Fes ús d'Agent G_PG" + +#, fuzzy +#~ msgid "OpenPGP Key" +#~ msgstr "Assigna Clau Open_PGP..." + +#, fuzzy +#~ msgid "?print_status:All" +#~ msgstr "Estat d'impressió:" + +#, fuzzy +#~ msgid "?print_status:None" +#~ msgstr "Estat d'impressió:" + +#~ msgid "Settings" +#~ msgstr "Configuració" + +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "" +#~ "Benvinguts al Gestor Gajim d'Històric de Registres" + +#~ msgid "List of possible features in Gajim:" +#~ msgstr "Llista de possibles prestacions a Gajim:" + +#~ msgid "Description" +#~ msgstr "Descripció" + +#, fuzzy +#~ msgid "?features:Available" +#~ msgstr "?user status:_Disponible" + +#~ msgid "Filter:" +#~ msgstr "Filtra:" + +#, fuzzy +#~ msgid "_Not available after" +#~ msgstr "_No Disponible" + +#, fuzzy +#~ msgid "File transfer, room bookmarks" +#~ msgstr "Transferències de fitxers" + +#, fuzzy +#~ msgid "" +#~ "A programming error has been detected. It probably is not fatal, but " +#~ "should be reported to the developers nonetheless." +#~ msgstr "" +#~ "S'ha detectat un error de programació.\n" +#~ "Probablement no és fatal, però caldria\n" +#~ "informar-ne els desenvolupadors." + +#, fuzzy +#~ msgid "(ESession info)" +#~ msgstr "Descripció" + +#, fuzzy +#~ msgid "Presence" +#~ msgstr "Preferència" + +#~ msgid "Chat Banner" +#~ msgstr "Banner del Xat" + +#~ msgid "Text _color:" +#~ msgstr "_Color del text:" + +#~ msgid "_Background:" +#~ msgstr "Fons:" + +#~ msgid "Text _font:" +#~ msgstr "Tipus de lletra:" + +#~ msgid "Font style:" +#~ msgstr "Estil de lletra:" + +#~ msgid "Paused" +#~ msgstr "Aturat" + +#~ msgid "Chatstate Tab Colors" +#~ msgstr "Colors Pestanya Estat de Xat" + +#, fuzzy +#~ msgid "Chat message" +#~ msgstr "missatge" + +#, fuzzy +#~ msgid "Contact's nickname" +#~ msgstr "El Contacte ha entrat" + +#, fuzzy +#~ msgid "Your message" +#~ msgstr "missatge" + +#~ msgid "_In date search" +#~ msgstr "Creca en data" + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "Torna-ho a escriure per a confirmació:" + +#~ msgid "<empty>" +#~ msgstr "<buit>" + +#~ msgid "Homepage:" +#~ msgstr "Pàgina d'inici:" + +#~ msgid "Manage Bookmarks" +#~ msgstr "Gestiona els marcadors" + +#~ msgid "_Nickname:" +#~ msgstr "Sobrenom:" + +#~ msgid "Pr_int status:" +#~ msgstr "Estat d'impressió:" + +#~ msgid "Preference:" +#~ msgstr "Preferència:" + +#~ msgid "Preference" +#~ msgstr "Preferència" + +#, fuzzy +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "Si us plau ompli les dades del seu compte existent" + +#, fuzzy +#~ msgid "Recently" +#~ msgstr "Recentment:" + +#~ msgid "Add New Contact" +#~ msgstr "Afegeix un contacte nou" + +#~ msgid "_User ID:" +#~ msgstr "ID d'_Usuari:" + +#, fuzzy +#~ msgid "Type User ID" +#~ msgstr "ID d'_Usuari:" + +#, fuzzy +#~ msgid "Type Nickname" +#~ msgstr "Sobrenom:" + +#~ msgid "Personal Information" +#~ msgstr "Informació personal" + +#~ msgid "Please wait..." +#~ msgstr "Espereu…" + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Afegir aquest certificat a la llista de certificats confiables.\n" +#~ "Hash SHA1 del certificat:\n" + +#, fuzzy +#~ msgid "" +#~ "Install /\n" +#~ "Upgrade" +#~ msgstr "Instal·lat" + +#, fuzzy +#~ msgid "Install/Upgrade" +#~ msgstr "Instal·lat" + +#, fuzzy +#~ msgid "Install and Upgrade Plugins" +#~ msgstr "Instal·lat" + +#, fuzzy +#~ msgid "Send File..." +#~ msgstr "Envia un _fitxer..." + +#, fuzzy +#~ msgid "Jingle File Transfer" +#~ msgstr "Transferència de Fitxers" + +#~ msgid "Exception" +#~ msgstr "Excepció" + +#~ msgid "jid" +#~ msgstr "jid" + +#~ msgid "Server:" +#~ msgstr "Servidor:" + +#~ msgid "Bro_wse Rooms" +#~ msgstr "Navega per les sales" + +#~ msgid "Change the room's subject (Alt+T)" +#~ msgstr "Canvia el tema de la sala (Alt+T)" + +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "Afegeix la sala a llista de preferits (Ctrl+B)" + +#~ msgid "Browse the chat history (Ctrl+H)" +#~ msgstr "Navega per l'historial de xat (Ctrl+H)" + +#~ msgid "Show advanced functions (Alt+D)" +#~ msgstr "Mostra funcions avançades (Alt+D)" + +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "Afegeix aquest contacte a la llista de contactes (Ctrl+D)" + +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "Convida contactes a la conversa (Ctrl+G)" + +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Mostra el perfil del contacte (Ctrl+I)" + +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Mostra el perfil del contacte (Ctrl+I)" + +#~ msgid "Set Custom _Avatar..." +#~ msgstr "Estableix _Avatar..." + +#~ msgid "_Open Gmail Inbox" +#~ msgstr "_Obre Safata d'entrada Gmail" + +#~ msgid "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" +#~ msgstr "" +#~ "El recurs s'envia al servidor per a diferenciar el mateix JID en dos o " +#~ "més parts depenent del nombre de clients connectats al mateix servidor " +#~ "amb el mateix compte. Per exemple podria estar connectat amb el mateix " +#~ "compte alhora amb recursos 'Casa' i 'Feina'. El recurs que tingui la " +#~ "prioritat més alta rebrà els events. (veure a baix)" + +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "La prioritat es fa servir per a determinar qui rep els events del " +#~ "servidor quan dos o més clients estan connectats amb el mateix compte; El " +#~ "client amb la prioritat més alta rep els events" + +#~ msgid "Click to request authorization to all contacts of another account" +#~ msgstr "" +#~ "Cliqui per a demanar autorització a tots els contactes d'un altre compte" + +#~ msgid "Chan_ge Password" +#~ msgstr "Canvia Contrasenya" + +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "" +#~ "Si està marcat, Gajim, quan s'iniciï, es connectarà automàticament al " +#~ "servidor amb aquest compte" + +#~ msgid "Synchronize logs with server" +#~ msgstr "Sincronitza els registres amb el servidor" + +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "Si està marcat, qualsevol canvi a l'estat global (indicat pel control al " +#~ "final de la finestra de la llista) canviarà l'estat del compte" + +#~ msgid "" +#~ "Receive conversations from other resources (provided the server has " +#~ "support for it)" +#~ msgstr "Rep converses des d'altres recursos (si el servidor ho suporta)" + +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "Si està marcat, Gajim també publicarà algunes IPs més a part de la teva, " +#~ "per a que les transferències de fitxers tinguin més possibilitat de " +#~ "funcionar." + +#~ msgid "Proxy" +#~ msgstr "Servidor intermediari" + +#~ msgid "" +#~ "Check this so Gajim will ask you before sending your password over an " +#~ "insecure connection." +#~ msgstr "" +#~ "Marcar per a que se't demani confirmació abans d'enviar la contrasenya " +#~ "sobre una connexió insegura." + +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "" +#~ "Si està marcat, Gajim enviarà paquets keep-alive per a evitar " +#~ "desconnexions per timeout" + +#~ msgid "Use cust_om hostname/port" +#~ msgstr "Fa ús de nomdeservidor/port" + +#~ msgid "_Hostname: " +#~ msgstr "Nom de servidor:" + +#~ msgid "_Port: " +#~ msgstr "_Port:" + +#~ msgid "Choose _Key..." +#~ msgstr "Escull Clau..." + +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "" +#~ "Si està marcat, Gajim obtindrà la contrasenya d'un agent GPG com seahorse" + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#~ msgid "_Edit Personal Information..." +#~ msgstr "_Edita Informació Personal..." + +#~ msgid "Personal Information" +#~ msgstr "Informació Personal" + +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "Co_nnecta a l'inici" + +#~ msgid "Use cust_om port:" +#~ msgstr "Fes ús de port especificat:" + +#~ msgid "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." +#~ msgstr "" +#~ "Si el port per defecte que es fa servir per a missatges d'entrada no està " +#~ "disponible aquí pots seleccionar-ne un altre.\n" +#~ "Hauries de considerar possibles canvis al tallafocs." + +#~ msgid "Concede" +#~ msgstr "Dóna permís" + +#~ msgid "Forbid" +#~ msgstr "Prohibeix" + +#~ msgid "Auto" +#~ msgstr "Automàtic" + +#~ msgid "Method Auto" +#~ msgstr "Mètode Automàtic" + +#~ msgid "Method Local" +#~ msgstr "Mètode Local" + +#~ msgid "Method Manual" +#~ msgstr "Mètode Manual" + +#~ msgid "body" +#~ msgstr "cos" + +#~ msgid "false" +#~ msgstr "fals" + +#~ msgid "stream" +#~ msgstr "Flux de dades" + +#~ msgid "concede" +#~ msgstr "dóna permís" + +#~ msgid "forbid" +#~ msgstr "prohibeix" + +#~ msgid "oppose" +#~ msgstr "oposa" + +#~ msgid "prefer" +#~ msgstr "prefereix" + +#~ msgid "save" +#~ msgstr "desa" diff --git a/po/cs.po b/po/cs.po new file mode 100644 index 0000000..c28ee89 --- /dev/null +++ b/po/cs.po @@ -0,0 +1,16831 @@ +# translation of gajim.po to Czech +# Czech translations for Gajim package. +# Copyright (C) 2003-2005 Gajim Team +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation; version 2 only. +# +# 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. +# This file is distributed under the same license as the Gajim package. +# Petr Mensik , 2005. +# Pihhan , 2005, 2006. +# Pihhan , 2008. +# scippio , 2008. +# Pihhan , 2009. +# +msgid "" +msgstr "" +"Project-Id-Version: gajim\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-01 17:44+0100\n" +"PO-Revision-Date: 2010-01-22 14:35+0100\n" +"Last-Translator: Petr Menšík \n" +"Language-Team: <>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"X-Poedit-Language: Czech\n" +"X-Poedit-Country: CZECH REPUBLIC\n" + +#: gajim/history_manager.py:78 +#, fuzzy +msgid "Usage:" +msgstr "zpráva" + +#: gajim/history_manager.py:80 +#, fuzzy +msgid "Options:" +msgstr "_Smajlíky:" + +#: gajim/history_manager.py:82 +msgid "Show this help message and exit" +msgstr "" + +#: gajim/history_manager.py:83 +msgid "Choose folder for logfile" +msgstr "" + +#: gajim/history_manager.py:113 +msgid "Cannot find history logs database" +msgstr "Nemůžu nalézt databázi s historií" + +#: gajim/history_manager.py:114 +#, fuzzy, python-format +msgid "%s does not exist." +msgstr "Soubor neexistuje" + +#: gajim/history_manager.py:147 gajim/history_manager.py:201 +#: gajim/gtk/add_contact.py:31 gajim/gtk/discovery.py:833 +#: gajim/gtk/accounts.py:892 gajim/data/gui/vcard_information_window.ui:55 +#: gajim/data/gui/bookmarks.ui:45 gajim/data/gui/blocking_list.ui:43 +#: gajim/data/gui/mam_preferences.ui:117 +#, fuzzy +msgid "XMPP Address" +msgstr "AIM adresa:" + +#: gajim/history_manager.py:160 gajim/history_manager.py:208 +#: gajim/gtk/history.py:108 gajim/data/gui/history_window.ui:89 +msgid "Date" +msgstr "Datum" + +#: gajim/history_manager.py:167 gajim/history_manager.py:231 +#: gajim/data/gui/profile.ui:232 gajim/data/gui/vcard_information_window.ui:442 +#: gajim/data/gui/bookmarks.ui:84 +msgid "Nickname" +msgstr "Přezdívka" + +#: gajim/history_manager.py:178 gajim/history_manager.py:217 +#: gajim/gtk/history.py:117 gajim/data/gui/single_message_window.ui:266 +msgid "Message" +msgstr "Zpráva" + +#: gajim/history_manager.py:186 gajim/history_manager.py:224 +#: gajim/data/gui/groups_post_window.ui:49 +#: gajim/data/gui/single_message_window.ui:205 +msgid "Subject" +msgstr "Předmět" + +#: gajim/history_manager.py:254 +#, fuzzy +msgid "Database Cleanup" +msgstr "Chyba Databáze" + +#: gajim/history_manager.py:255 +#, fuzzy +msgid "Clean up the database?" +msgstr "vytvářím databázi historie" + +#: gajim/history_manager.py:256 +#, fuzzy +msgid "" +"This is STRONGLY NOT RECOMMENDED IF GAJIM IS RUNNING.\n" +"Normally, the allocated database size will not be freed, it will just become " +"reusable. This operation may take a while." +msgstr "" +"Běžně se velikost alokovaná databází neuvolňuje, pouze se označí k novému " +"použití. Pokud opravdu chcete snížit velikost databáze, klikněte ANO, jinak " +"NE.\n" +"\n" +"V případě kliknutí na ANO prosím vyčkejte..." + +#: gajim/history_manager.py:262 +#, fuzzy +msgid "_Cleanup" +msgstr "_Vymazat" + +#: gajim/history_manager.py:527 gajim/gtk/filetransfer.py:238 +#: gajim/gtk/filetransfer.py:248 +msgid "You" +msgstr "Vy" + +#: gajim/history_manager.py:539 +#, python-format +msgid "%(who)s on %(time)s said: %(message)s\n" +msgstr "%(who)s v %(time)s řekl(a): %(message)s\n" + +#: gajim/history_manager.py:576 gajim/history_manager.py:615 +#: gajim/gtk/themes.py:362 gajim/gtk/roster_item_exchange.py:75 +#: gajim/gtk/roster_item_exchange.py:185 +msgid "Delete" +msgstr "Smazat" + +#: gajim/history_manager.py:577 +#, fuzzy +msgid "Delete Conversation" +msgid_plural "Delete Conversations" +msgstr[0] "Zrušit ověření" +msgstr[1] "Zrušit ověření" +msgstr[2] "Zrušit ověření" + +#: gajim/history_manager.py:578 +#, fuzzy, python-format +msgid "Do you want to permanently delete this conversation with %s?" +msgid_plural "Do you want to permanently delete these conversations?" +msgstr[0] "Vážně chcete smazat vybranou zprávu?" +msgstr[1] "Vážně chcete smazat vybranou zprávu?" +msgstr[2] "Vážně chcete smazat vybranou zprávu?" + +#: gajim/history_manager.py:616 +#, fuzzy +msgid "Delete Message" +msgid_plural "Delete Messages" +msgstr[0] "Výchozí Zpráva" +msgstr[1] "Výchozí Zpráva" +msgstr[2] "Výchozí Zpráva" + +#: gajim/history_manager.py:617 +#, fuzzy +msgid "Do you want to permanently delete this message?" +msgid_plural "Do you want to permanently delete these messages?" +msgstr[0] "Vážně chcete smazat vybranou zprávu?" +msgstr[1] "Vážně chcete smazat vybrané zprávy?" +msgstr[2] "Vážně chcete smazat vybrané zprávy?" + +#: gajim/roster_window.py:268 gajim/roster_window.py:991 +msgid "Merged accounts" +msgstr "Spojené účty" + +#: gajim/roster_window.py:756 gajim/roster_window.py:1667 +#: gajim/roster_window.py:1669 gajim/roster_window.py:1986 +#: gajim/roster_window.py:3065 gajim/roster_window.py:3098 +#: gajim/roster_window.py:4026 gajim/gui_interface.py:338 +#: gajim/gui_menu_builder.py:254 gajim/gui_menu_builder.py:345 +#: gajim/chat_control.py:291 gajim/chat_control.py:421 +#: gajim/gtk/add_contact.py:320 gajim/gtk/roster_item_exchange.py:112 +#: gajim/gtk/subscription_request.py:77 gajim/gtk/subscription_request.py:126 +#: gajim/common/helpers.py:89 gajim/common/helpers.py:207 +#: gajim/common/contacts.py:243 gajim/common/contacts.py:382 +#: gajim/common/contacts.py:493 +#, fuzzy +msgid "Not in contact list" +msgstr "Zobrazit _odpojené kontakty" + +#: gajim/roster_window.py:823 gajim/roster_window.py:1579 +#: gajim/roster_window.py:1612 gajim/roster_window.py:1663 +#: gajim/roster_window.py:1665 gajim/roster_window.py:1820 +#: gajim/roster_window.py:2378 gajim/roster_window.py:3990 +#: gajim/roster_window.py:4638 gajim/gtk/discovery.py:127 +#: gajim/gtk/discovery.py:128 gajim/gtk/discovery.py:1419 +#: gajim/common/helpers.py:88 gajim/common/contacts.py:225 +#: gajim/common/contacts.py:485 +msgid "Transports" +msgstr "Transporty" + +#: gajim/roster_window.py:1671 gajim/roster_window.py:1673 +#: gajim/roster_window.py:3990 gajim/roster_window.py:4603 +#: gajim/gui_interface.py:1425 gajim/common/helpers.py:91 +#: gajim/common/contacts.py:223 +#, fuzzy +msgid "Group chats" +msgstr "Diskuze" + +#: gajim/roster_window.py:1901 gajim/chat_control.py:1688 +msgid "Remote contact stopped transfer" +msgstr "Protějšek zastavil přenos" + +#: gajim/roster_window.py:1903 gajim/chat_control.py:1690 +msgid "Error opening file" +msgstr "Chyba při čtení souboru" + +#: gajim/roster_window.py:1968 +#, fuzzy +msgid "Authorization sent" +msgstr "Autorizace byla odeslána" + +#: gajim/roster_window.py:1969 +#, fuzzy, python-format +msgid "\"%s\" will now see your status." +msgstr "Nyní bude \"%s\" znát váš stav." + +#: gajim/roster_window.py:1987 +msgid "Subscription request has been sent" +msgstr "Žádost o autorizaci byla odeslána" + +#: gajim/roster_window.py:1988 +#, fuzzy, python-format +msgid "If \"%s\" accepts this request you will know their status." +msgstr "Pokud \"%s\" povolí Vaši žádost o autorizaci, budete vidět jeho stav." + +#: gajim/roster_window.py:2002 +#, fuzzy +msgid "Authorization removed" +msgstr "Autorizace byla zrušena" + +#: gajim/roster_window.py:2003 +#, python-format +msgid "Now \"%s\" will always see you as offline." +msgstr "Nyní Vás \"%s\" uvidí vždy jako odpojeného." + +#: gajim/roster_window.py:2198 gajim/data/gui/shortcuts_window.ui:66 +#, fuzzy +msgid "Quit Gajim" +msgstr "Gajim" + +#: gajim/roster_window.py:2199 +#, fuzzy +msgid "You are about to quit Gajim" +msgstr "Opravdu chcete ukončit Gajim?" + +#: gajim/roster_window.py:2200 +msgid "Are you sure you want to quit Gajim?" +msgstr "Opravdu chcete ukončit Gajim?" + +#: gajim/roster_window.py:2201 +#, fuzzy +msgid "_Always quit when closing Gajim" +msgstr "Vždy zavřít Gajim" + +#: gajim/roster_window.py:2204 gajim/roster_window.py:2299 +#: gajim/roster_window.py:2340 gajim/data/gui/application_menu.ui:30 +#: gajim/data/gui/systray_context_menu.ui:83 +#, fuzzy +msgid "_Quit" +msgstr "_Konec" + +#: gajim/roster_window.py:2292 +#, fuzzy +msgid "Stop File Transfers" +msgstr "Přenosy souborů" + +#: gajim/roster_window.py:2293 +#, fuzzy +msgid "You still have running file transfers" +msgstr "Zrušit přenos souboru" + +#: gajim/roster_window.py:2294 +#, fuzzy +msgid "" +"If you quit now, the file(s) being transferred will be lost.\n" +"Do you still want to quit?" +msgstr "" +"Pokud chcete teď odejít, veškeré právě probíhající přenosy budou zastaveny. " +"Opravdu chcete odejít?" + +#: gajim/roster_window.py:2333 +#, fuzzy +msgid "Unread Messages" +msgstr "Nepřečtené zprávy" + +#: gajim/roster_window.py:2334 +#, fuzzy +msgid "You still have unread messages" +msgstr "Máte nepřečtené zprávy" + +#: gajim/roster_window.py:2335 +#, fuzzy +msgid "" +"Messages will only be available for reading them later if storing chat " +"history is enabled and if the contact is in your contact list." +msgstr "" +"Zprávy bude možné číst později, pokud máte povolený záznam historie a " +"kontakt je v rosteru." + +#: gajim/roster_window.py:2590 +msgid "You have unread messages" +msgstr "Máte nepřečtené zprávy" + +#: gajim/roster_window.py:2591 +msgid "You must read them before removing this transport." +msgstr "Musíš si je přečíst před smazáním transportu." + +#: gajim/roster_window.py:2594 +#, fuzzy, python-format +msgid "Transport '%s' will be removed" +msgstr "Transport \"%s\" bude smazán" + +#: gajim/roster_window.py:2595 +#, fuzzy +msgid "" +"You will no longer be able to send and receive messages from and to contacts " +"using this transport." +msgstr "" +"Už více nebudete moci posílat i přijímat zprávy od kontaktů z tohoto " +"transportu." + +#: gajim/roster_window.py:2598 +msgid "Transports will be removed" +msgstr "Transport bude smazán" + +#: gajim/roster_window.py:2603 +#, fuzzy, python-format +msgid "" +"You will no longer be able to send and receive messages from and to contacts " +"using these transports:\n" +"%s" +msgstr "" +"Už více nebudete moci posílat i přijímat zprávy od kontaktů z tohoto " +"transportu." + +#: gajim/roster_window.py:2607 +#, fuzzy +msgid "Remove Transport" +msgstr "Zobrazuj trans_porty" + +#: gajim/roster_window.py:2662 gajim/chat_control.py:428 +#, fuzzy +msgid "Block Contact" +msgstr "Blokované Kontakty" + +#: gajim/roster_window.py:2663 gajim/chat_control.py:429 +#, fuzzy +msgid "Really block this contact?" +msgstr "Je OpenPGP povoleno pro tento kontakt?" + +#: gajim/roster_window.py:2664 gajim/chat_control.py:430 +#, fuzzy +msgid "" +"You will appear offline for this contact and you will not receive further " +"messages." +msgstr "JID kontaktu, který obdrží zprávu" + +#: gajim/roster_window.py:2666 +#, fuzzy +msgid "_Do not ask again" +msgstr "Příště _nezobrazovat" + +#: gajim/roster_window.py:2669 gajim/chat_control.py:434 +#, fuzzy +msgid "_Report Spam" +msgstr "_Ohlásit chybu" + +#: gajim/roster_window.py:2673 gajim/roster_window.py:4778 +#: gajim/gui_menu_builder.py:485 gajim/chat_control.py:438 +#: gajim/data/gui/contact_context_menu.ui:151 +msgid "_Block" +msgstr "_Blokovat" + +#: gajim/roster_window.py:2706 +msgid "Rename Contact" +msgstr "Přejmenovat kontakt" + +#: gajim/roster_window.py:2707 +#, fuzzy, python-format +msgid "Rename contact %s?" +msgstr "Přejmenovat kontakt" + +#: gajim/roster_window.py:2708 +#, fuzzy +msgid "Please enter a new nickname" +msgstr "Zadej novou přezdívku pro kontakt %s." + +#: gajim/roster_window.py:2712 gajim/roster_window.py:3439 +#: gajim/roster_window.py:4679 gajim/dialogs.py:103 gajim/dialogs.py:116 +#: gajim/gtk/accounts.py:308 gajim/common/contacts.py:178 +#: gajim/common/contacts.py:227 gajim/data/gui/shortcuts_window.ui:12 +#: gajim/data/gui/preferences.ui:96 +msgid "General" +msgstr "Obecné" + +#: gajim/roster_window.py:2715 +msgid "Rename Group" +msgstr "Přejmenovat skupinu" + +#: gajim/roster_window.py:2716 +#, fuzzy, python-format +msgid "Rename group %s?" +msgstr "Přejmenovat skupinu" + +#: gajim/roster_window.py:2717 +#, fuzzy +msgid "Please enter a new name" +msgstr "Vytvořte vaše nové téma." + +#: gajim/roster_window.py:2747 gajim/roster_window.py:2869 +#: gajim/data/gui/groupchat_control.ui:1859 +#, fuzzy +msgid "_Rename" +msgstr "Přejme_novat" + +#: gajim/roster_window.py:2769 gajim/roster_window.py:2770 +msgid "Remove Group" +msgstr "Odstranit skupinu" + +#: gajim/roster_window.py:2771 +#, fuzzy, python-format +msgid "Do you want to remove %s from the contact list?" +msgstr "Chceš smazat skupinu %s z rosteru?" + +#: gajim/roster_window.py:2772 +#, fuzzy +msgid "_Also remove all contacts of this group from contact list" +msgstr "Odstranit také všechny kontakty v této skupině z Vašeho rosteru" + +#: gajim/roster_window.py:2864 gajim/roster_window.py:2865 +#, fuzzy +msgid "Rename Group Chat" +msgstr "Opustit diskuzi" + +#: gajim/roster_window.py:2866 +#, fuzzy +msgid "Please enter a new name for this group chat" +msgstr "Prosím zadejte nové uživatelské jméno pro lokální účet" + +#: gajim/roster_window.py:3082 +#, fuzzy +msgid "Remove Contact" +msgstr "Přejmenovat kontakt" + +#: gajim/roster_window.py:3083 +#, fuzzy +msgid "Remove contact from contact list" +msgstr "Odstraní kontakt ze Seznamu" + +#: gajim/roster_window.py:3084 +#, fuzzy, python-format +msgid "You are about to remove %(name)s (%(jid)s) from your contact list.\n" +msgstr "Chystáte se smazat \"%(name)s\" (%(jid)s) z vašeho rosteru.\n" + +#: gajim/roster_window.py:3093 gajim/roster_window.py:3113 +#, fuzzy +msgid "" +"By removing this contact you also remove authorization. This means the " +"contact will see you as offline." +msgstr "" +"Smazáním těchto kontaktů:%s\n" +"také zrušíte autorizaci. Kontakty Vás tak vždy uvidí jako odpojeného." + +#: gajim/roster_window.py:3104 +msgid "Do you want to continue?" +msgstr "Chcete pokračovat?" + +#: gajim/roster_window.py:3115 +#, fuzzy +msgid "_I want this contact to know my status after removal" +msgstr "Chci aby tento kontakt věděl o mém stavu i po odstranění" + +#: gajim/roster_window.py:3122 +#, fuzzy +msgid "Remove contacts from contact list" +msgstr "Odstraní kontakt ze Seznamu" + +#: gajim/roster_window.py:3128 +#, fuzzy, python-format +msgid "" +"By removing the following contacts, you will also remove authorization. This " +"means they will see you as offline:\n" +"\n" +"%s" +msgstr "" +"Smazáním těchto kontaktů:%s\n" +"také zrušíte autorizaci. Kontakty Vás tak vždy uvidí jako odpojeného." + +#: gajim/roster_window.py:3132 +#, fuzzy +msgid "Remove Contacts" +msgstr "Přejmenovat kontakt" + +#: gajim/roster_window.py:3761 +#, fuzzy +msgid "You are about to create a metacontact" +msgstr "Chystáte se vytvořit metacontact. Určitě chcete pokračovat?" + +#: gajim/roster_window.py:3762 +#, fuzzy +msgid "" +"Metacontacts are a way to regroup several contacts in one single contact. " +"Generally it is used when the same person has several XMPP- or Transport-" +"Accounts." +msgstr "" +"Metakontakty jsou způsob k organizaci několika kontaktů do jednoho. Obecně " +"jsou užitečné, když jeden člověk má víc účtů v síti Jabber nebo účty v " +"transportech." + +#: gajim/roster_window.py:3766 +#, fuzzy +msgid "Create Metacontact" +msgstr "Přejmenovat kontakt" + +#: gajim/roster_window.py:3769 gajim/chat_control_base.py:771 +#: gajim/groupchat_control.py:1676 gajim/message_window.py:368 +#, fuzzy +msgid "_Do not ask me again" +msgstr "Příště _nezobrazovat" + +#: gajim/roster_window.py:3772 gajim/data/gui/groupchat_creation.ui:317 +#, fuzzy +msgid "_Create" +msgstr "Tvořivý" + +#: gajim/roster_window.py:3889 +msgid "Invalid file URI:" +msgstr "Neplatná cesta k souboru:" + +#: gajim/roster_window.py:3901 +#, fuzzy, python-format +msgid "Send this file to %s:\n" +msgid_plural "Send these files to %s:\n" +msgstr[0] "Chcete poslat %s tento soubor:" +msgstr[1] "Chcete poslat %s tyto soubory:" +msgstr[2] "Chcete poslat %s tyto soubory:" + +#: gajim/roster_window.py:3909 gajim/roster_window.py:3910 +#: gajim/chat_control.py:1541 gajim/gtk/filetransfer_progress.py:36 +#, fuzzy +msgid "File Transfer" +msgstr "Přenosy souborů" + +#: gajim/roster_window.py:3914 gajim/data/gui/xml_console.ui:334 +msgid "_Send" +msgstr "Ode_slat" + +#: gajim/roster_window.py:4067 +#, fuzzy, python-format +msgid "Send %(from)s to %(to)s" +msgstr "Odeslat %s %s" + +#: gajim/roster_window.py:4080 +#, fuzzy, python-format +msgid "Make %s first contact" +msgstr "Udělej %s a %s metakontaktem" + +#: gajim/roster_window.py:4085 +#, fuzzy, python-format +msgid "Make %(contact1)s and %(contact2)s metacontacts" +msgstr "Udělej %s a %s metakontaktem" + +#: gajim/roster_window.py:4436 gajim/roster_window.py:4523 +#: gajim/gtk/status_selector.py:76 +msgid "_Change Status Message" +msgstr "Z_měnit popis stavu" + +#: gajim/roster_window.py:4456 +msgid "Publish Tune" +msgstr "_Zveřejnit hudbu" + +#: gajim/roster_window.py:4467 +#, fuzzy +msgid "Publish Location" +msgstr "_Zveřejnit hudbu" + +#: gajim/roster_window.py:4606 +msgid "_Maximize All" +msgstr "_Maximalizovat Vše" + +#: gajim/roster_window.py:4615 gajim/roster_window.py:4743 +msgid "Send Group M_essage" +msgstr "Ode_slat skupinovou zprávu" + +#: gajim/roster_window.py:4622 +msgid "To all users" +msgstr "Všem uživatelům" + +#: gajim/roster_window.py:4626 +msgid "To all online users" +msgstr "Všem dostupným uživatelům" + +#: gajim/roster_window.py:4637 gajim/roster_window.py:4749 +#: gajim/data/gui/contact_context_menu.ui:36 +msgid "In_vite to" +msgstr "_Pozvat do" + +#: gajim/roster_window.py:4663 gajim/gui_menu_builder.py:471 +#, fuzzy +msgid "_Rename…" +msgstr "_Přejmenovat" + +#: gajim/roster_window.py:4669 gajim/gui_menu_builder.py:493 +#: gajim/data/gui/contact_context_menu.ui:181 +msgid "Remo_ve" +msgstr "Odst_ranit" + +#: gajim/roster_window.py:4759 +msgid "_Manage Contacts" +msgstr "_Spravovat kontakty" + +#: gajim/roster_window.py:4765 +#, fuzzy +msgid "Edit _Groups…" +msgstr "Upravit _skupiny" + +#: gajim/roster_window.py:4774 gajim/gui_menu_builder.py:482 +#: gajim/data/gui/contact_context_menu.ui:143 +msgid "_Unblock" +msgstr "_Odblokovat" + +#: gajim/roster_window.py:4786 gajim/gtk/dialogs.py:70 +#: gajim/data/gui/filetransfers.ui:12 +msgid "_Remove" +msgstr "Odst_ranit" + +#: gajim/roster_window.py:4823 +msgid "_Maximize" +msgstr "_Maximalizovat" + +#: gajim/roster_window.py:4828 +#, fuzzy +msgid "Re_name" +msgstr "Přejme_novat" + +#: gajim/roster_window.py:4836 gajim/groupchat_control.py:1680 +msgid "_Leave" +msgstr "" + +#: gajim/roster_window.py:4844 +#, fuzzy +msgid "Execute command" +msgstr "Spustit _příkaz..." + +#: gajim/roster_window.py:4852 gajim/data/gui/application_menu.ui:68 +#: gajim/data/gui/contact_context_menu.ui:205 +msgid "_History" +msgstr "_Historie" + +#: gajim/roster_window.py:4945 gajim/gui_interface.py:339 +#: gajim/common/helpers.py:90 gajim/common/contacts.py:221 +msgid "Observers" +msgstr "Přihlížející" + +#: gajim/roster_window.py:4948 +msgid "Observers can see your status, but you are not allowed to see theirs" +msgstr "" + +#: gajim/privatechat_control.py:105 gajim/groupchat_control.py:1225 +#, python-format +msgid "You are now known as %s" +msgstr "Jste nyní znám(a) jako %s" + +#: gajim/privatechat_control.py:107 gajim/groupchat_control.py:1227 +#, fuzzy, python-brace-format +msgid "{nick} is now known as {new_nick}" +msgstr "%(nick)s se přejmenoval na %(new_nick)s" + +#: gajim/privatechat_control.py:138 gajim/groupchat_control.py:1254 +#, fuzzy, python-brace-format +msgid "You are now {show}{status}" +msgstr "Jste nyní znám(a) jako %s" + +#: gajim/privatechat_control.py:142 gajim/groupchat_control.py:1258 +#, fuzzy, python-brace-format +msgid "{nick} is now {show}{status}" +msgstr "%(nick)s je nyní %(status)s" + +#: gajim/privatechat_control.py:199 +msgid "Sending private message failed" +msgstr "Odesílání soukromé zprávy selhalo" + +#: gajim/privatechat_control.py:201 +#, python-format +msgid "You are no longer in group chat \"%(room)s\" or \"%(nick)s\" has left." +msgstr "Už nejsi v místnosti \"%(room)s\" nebo \"%(nick)s\" odešel(a)." + +#: gajim/application.py:81 +#, fuzzy +msgid "Show the application's version" +msgstr "Notification-daemon" + +#: gajim/application.py:88 +#, fuzzy +msgid "Show only critical errors" +msgstr "_Zobrazit událost v rosteru" + +#: gajim/application.py:95 +msgid "Separate profile files completely (even history database and plugins)" +msgstr "" + +#: gajim/application.py:103 +msgid "Print XML stanzas and other debug information" +msgstr "" + +#: gajim/application.py:110 +#, fuzzy +msgid "Use defined profile in configuration directory" +msgstr "Editor rozšířeného nastavení" + +#: gajim/application.py:118 +#, fuzzy +msgid "Set configuration directory" +msgstr "Nastavení místnosti" + +#: gajim/application.py:126 +msgid "Configure logging system" +msgstr "" + +#: gajim/application.py:134 +#, fuzzy +msgid "Show all warnings" +msgstr "Zobrazit všechny čekající _události" + +#: gajim/application.py:141 +msgid "Open IPython shell" +msgstr "" + +#: gajim/application.py:148 +msgid "Pops up a window with the next pending event" +msgstr "Zobrazí okno s další nepřečtenou událostí" + +#: gajim/application.py:154 gajim/data/gui/shortcuts_window.ui:17 +#: data/org.gajim.Gajim.desktop.in:21 +#, fuzzy +msgid "Start a new chat" +msgstr "Začít rozhovor" + +#: gajim/application.py:205 gajim/gui_interface.py:131 +msgid "Database Error" +msgstr "Chyba Databáze" + +#: gajim/gui_interface.py:168 +#, fuzzy, python-format +msgid "HTTP (%(method)s) Authorization for %(url)s (ID: %(id)s)" +msgstr "HTTP (%(method)s) Autorizace pro %(url)s (id: %(id)s)" + +#: gajim/gui_interface.py:173 +msgid "Do you accept this request?" +msgstr "Chcete přijmout tuto žádost?" + +#: gajim/gui_interface.py:175 +#, fuzzy, python-format +msgid "Do you accept this request (account: %s)?" +msgstr "Chcete přijmout tuto žádost na účtě %s?" + +#: gajim/gui_interface.py:181 +#, fuzzy +msgid "Authorization Request" +msgstr "Autorizace byla odeslána" + +#: gajim/gui_interface.py:182 +#, fuzzy +msgid "HTTP Authorization Request" +msgstr "Autorizace byla odeslána" + +#: gajim/gui_interface.py:185 gajim/gui_interface.py:376 +#: gajim/gui_interface.py:2002 gajim/gtk/filetransfer.py:339 +#, fuzzy +msgid "_No" +msgstr "Žádný" + +#: gajim/gui_interface.py:203 gajim/gtk/notification.py:189 +#: gajim/gtk/notification.py:216 +msgid "Connection Failed" +msgstr "Spojení selhalo" + +#: gajim/gui_interface.py:299 +#, fuzzy, python-format +msgid "error while sending %(message)s ( %(error)s )" +msgstr "chyba při odesílání %s ( %s )" + +#: gajim/gui_interface.py:324 gajim/gtk/notification.py:189 +msgid "Subscription request" +msgstr "Žádost o autorizaci" + +#: gajim/gui_interface.py:359 +msgid "Authorization accepted" +msgstr "Autorizace přijata" + +#: gajim/gui_interface.py:360 +#, fuzzy, python-format +msgid "The contact \"%(jid)s\" has authorized you to see their status." +msgstr "Kontakt \"%s\" Vás autorizoval k zobrazení jeho stavu." + +#: gajim/gui_interface.py:370 +#, fuzzy +msgid "Subscription Removed" +msgstr "Žádost o autorizaci" + +#: gajim/gui_interface.py:371 +#, fuzzy, python-format +msgid "%(name)s (%(jid)s) has removed subscription from you" +msgstr "Kontakt \"%s\" Vám odebral autorizaci" + +#: gajim/gui_interface.py:373 +#, fuzzy +msgid "" +"You will always see this contact as offline.\n" +"Do you want to remove them from your contact list?" +msgstr "" +"Vždy uvidíte jeho nebo ji odpojeného/odpojenou.\n" +"Opravdu jeho/ji chcete odstrani ze seznamu kontaktů?" + +#: gajim/gui_interface.py:398 gajim/gtk/notification.py:190 +msgid "Unsubscribed" +msgstr "Autorizace zrušena" + +#: gajim/gui_interface.py:410 +#, python-format +msgid "%(jid)s declined the invitation: %(reason)s" +msgstr "" + +#: gajim/gui_interface.py:414 +#, python-format +msgid "%(jid)s declined the invitation" +msgstr "" + +#: gajim/gui_interface.py:431 gajim/chat_control.py:1606 +#: gajim/gtk/notification.py:188 gajim/gtk/notification.py:214 +#: gajim/gtk/notification.py:286 gajim/gtk/groupchat_invitation.py:33 +#, fuzzy +msgid "Group Chat Invitation" +msgstr "Skupinová pozvánka" + +#: gajim/gui_interface.py:432 +#, fuzzy, python-format +msgid "%(contact)s invited you to %(chat)s" +msgstr "$Contact Vás pozval(a) do místnosti %(room_jid)s" + +#: gajim/gui_interface.py:453 +#, fuzzy +msgid "Certificate Passphrase Required" +msgstr "Platnost certifikátu vypršela" + +#: gajim/gui_interface.py:454 +#, fuzzy, python-format +msgid "Enter the certificate passphrase for account %s" +msgstr "Zadej heslo GPG klíče pro účet %(keyid)s (účet %(account)s)." + +#: gajim/gui_interface.py:463 +#, python-format +msgid "Enter your password for account %s" +msgstr "Zadejte heslo pro účet %s" + +#: gajim/gui_interface.py:475 +msgid "Password Required" +msgstr "Vyžadováno heslo" + +#: gajim/gui_interface.py:475 +msgid "Save password" +msgstr "Uložit heslo" + +#: gajim/gui_interface.py:544 gajim/gui_interface.py:575 +#: gajim/gtk/notification.py:187 gajim/gtk/notification.py:279 +#: gajim/gtk/filetransfer.py:333 gajim/gtk/filetransfer.py:334 +msgid "File Transfer Error" +msgstr "Chyba přenosu souboru" + +#: gajim/gui_interface.py:609 +#, python-format +msgid "%s wants to send you a file." +msgstr "%s Vám chce poslat soubor." + +#: gajim/gui_interface.py:611 gajim/gtk/notification.py:186 +#: gajim/gtk/notification.py:276 gajim/gtk/filetransfer.py:485 +msgid "File Transfer Request" +msgstr "Žádost o přenos souboru" + +#: gajim/gui_interface.py:714 +#, fuzzy +msgid "Remote Contact Stopped Transfer" +msgstr "Protějšek zastavil přenos" + +#: gajim/gui_interface.py:719 +#, fuzzy +msgid "Error Opening File" +msgstr "Chyba při čtení souboru" + +#: gajim/gui_interface.py:729 +#, fuzzy +msgid "SSL Certificate Error" +msgstr "Chyba SSL certifikátu" + +#: gajim/gui_interface.py:738 gajim/gui_interface.py:768 +#: gajim/gui_interface.py:794 gajim/chat_control.py:1573 +#: gajim/gtk/notification.py:187 gajim/gtk/notification.py:282 +msgid "File Transfer Completed" +msgstr "Přenos souboru dokončen" + +#: gajim/gui_interface.py:742 gajim/gui_interface.py:773 +#: gajim/gui_interface.py:800 gajim/gtk/notification.py:188 +#: gajim/gtk/notification.py:283 +msgid "File Transfer Stopped" +msgstr "Přenos souboru zastaven" + +#: gajim/gui_interface.py:746 +#, fuzzy +msgid "File Transfer Failed" +msgstr "Přenos souboru dokončen" + +#: gajim/gui_interface.py:769 +#, fuzzy, python-format +msgid "%(filename)s received from %(name)s." +msgstr "Přenos souboru %(filename)s od %(name)s byl zastaven." + +#: gajim/gui_interface.py:774 +#, python-format +msgid "File transfer of %(filename)s from %(name)s stopped." +msgstr "Přenos souboru %(filename)s od %(name)s byl zastaven." + +#: gajim/gui_interface.py:780 +#, fuzzy, python-format +msgid "File transfer of %(filename)s from %(name)s failed." +msgstr "Přenos souboru %(filename)s od %(name)s byl zastaven." + +#: gajim/gui_interface.py:795 +#, python-format +msgid "You successfully sent %(filename)s to %(name)s." +msgstr "Soubor %(filename)s byl uspěšně odeslán %(name)s." + +#: gajim/gui_interface.py:801 +#, python-format +msgid "File transfer of %(filename)s to %(name)s stopped." +msgstr "Přenos souboru %(filename)s pro %(name)s byl zastaven." + +#: gajim/gui_interface.py:807 +#, fuzzy, python-format +msgid "File transfer of %(filename)s to %(name)s failed." +msgstr "Přenos souboru %(filename)s pro %(name)s byl zastaven." + +#: gajim/gui_interface.py:919 gajim/gui_interface.py:920 +msgid "Username Conflict" +msgstr "Konflikt uživatelských jmen" + +#: gajim/gui_interface.py:921 +#, fuzzy +msgid "Please enter a new username for your local account" +msgstr "Prosím zadejte nové uživatelské jméno pro lokální účet" + +#: gajim/gui_interface.py:925 gajim/gtk/dialogs.py:51 +#: gajim/data/gui/passphrase_dialog.ui:44 +msgid "_OK" +msgstr "_OK" + +#: gajim/gui_interface.py:988 gajim/chat_control.py:763 +#: gajim/chat_control.py:1660 gajim/gtk/notification.py:190 +#, fuzzy +msgid "Incoming Call" +msgstr "_Příchozí zpráva:" + +#: gajim/gui_interface.py:990 +#, python-format +msgid "%s is calling" +msgstr "" + +#: gajim/gui_interface.py:1071 gajim/gui_interface.py:1072 +#, fuzzy +msgid "Insecure Connection" +msgstr "Nezabezpečené Spojení" + +#: gajim/gui_interface.py:1073 +#, fuzzy, python-format +msgid "" +"You are about to connect to the account %(account)s (%(server)s) using an " +"insecure connection method. This means conversations will not be encrypted. " +"Connecting PLAIN is strongly discouraged." +msgstr "" +"Abyste nemuseli posílat heslo nezabezpečeným připojením nainstalujte si " +"PyOpenSSL. Jste si jisti, že to chcete udělat?" + +#: gajim/gui_interface.py:1080 gajim/data/gui/groupchat_control.ui:595 +msgid "_Abort" +msgstr "" + +#: gajim/gui_interface.py:1083 +#, fuzzy +msgid "_Connect Anyway" +msgstr "Připojuji se" + +#: gajim/gui_interface.py:1921 +msgid "Gajim: IPython Console" +msgstr "" + +#: gajim/gui_interface.py:1998 +#, fuzzy +msgid "Update Check" +msgstr "Kontrola Pravopisu" + +#: gajim/gui_interface.py:1999 +msgid "Gajim Update Check" +msgstr "" + +#: gajim/gui_interface.py:2000 +msgid "Search for Gajim updates periodically?" +msgstr "" + +#: gajim/gui_interface.py:2005 +msgid "_Search Periodically" +msgstr "" + +#: gajim/gui_interface.py:2045 +#, fuzzy +msgid "Update Available" +msgstr "Nedostupný" + +#: gajim/gui_interface.py:2046 +#, fuzzy +msgid "Gajim Update Available" +msgstr "Nedostupný" + +#: gajim/gui_interface.py:2047 +#, python-format +msgid "There is an update available for Gajim (latest version: %s)" +msgstr "" + +#: gajim/gui_interface.py:2049 +#, fuzzy +msgid "_Do not show again" +msgstr "Příště _nezobrazovat" + +#: gajim/gui_interface.py:2051 gajim/gtk/accounts.py:126 +msgid "_Later" +msgstr "" + +#: gajim/gui_interface.py:2054 +msgid "_Update Now" +msgstr "" + +#: gajim/gui_menu_builder.py:358 +#, fuzzy +msgid "I would like to add you to my contact list" +msgstr "Chtěl(a) bych si Vás přidat do mého Seznamu." + +#: gajim/gui_menu_builder.py:435 +#, fuzzy +msgid "Send Single _Message…" +msgstr "Odeslat jednoduchou _zprávu" + +#: gajim/gui_menu_builder.py:450 +#, fuzzy +msgid "E_xecute Command…" +msgstr "Spustit _příkaz..." + +#: gajim/gui_menu_builder.py:458 +msgid "_Manage Transport" +msgstr "Transporty" + +#: gajim/gui_menu_builder.py:464 +msgid "_Modify Transport" +msgstr "_Upravit transport" + +#: gajim/gui_menu_builder.py:503 gajim/data/gui/contact_context_menu.ui:198 +msgid "_Information" +msgstr "Informace o kontaktu" + +#: gajim/gui_menu_builder.py:516 +#, fuzzy +msgid "Send File" +msgstr "Odeslat _Soubor" + +#: gajim/gui_menu_builder.py:517 +#, fuzzy +msgid "Upload File…" +msgstr "Uložit jako..." + +#: gajim/gui_menu_builder.py:518 +#, fuzzy +msgid "Send File Directly…" +msgstr "Uložit jako..." + +#: gajim/gui_menu_builder.py:520 gajim/gtk/accounts.py:734 +#, fuzzy +msgid "Send Read Markers" +msgstr "Odesílat keep-alive pakety" + +#: gajim/gui_menu_builder.py:521 gajim/gtk/accounts.py:710 +#, fuzzy +msgid "Send Chatstate" +msgstr "Poslední stav: %s" + +#: gajim/gui_menu_builder.py:522 gajim/data/gui/groupchat_control.ui:307 +#, fuzzy +msgid "Invite Contacts…" +msgstr "Pozvat kontakt" + +#: gajim/gui_menu_builder.py:523 gajim/gui_menu_builder.py:741 +#: gajim/gui_menu_builder.py:768 gajim/gui_menu_builder.py:807 +#, fuzzy +msgid "Add to Contact List…" +msgstr "Přid_at kontakt..." + +#: gajim/gui_menu_builder.py:524 +#, fuzzy +msgid "Block Contact…" +msgstr "Blokované Kontakty" + +#: gajim/gui_menu_builder.py:525 gajim/data/gui/chat_control.ui:936 +#, fuzzy +msgid "Start Call…" +msgstr "Začít rozhovor" + +#: gajim/gui_menu_builder.py:526 gajim/gui_menu_builder.py:576 +#: gajim/gui_menu_builder.py:802 gajim/data/gui/groupchat_control.ui:1334 +#, fuzzy +msgid "Information" +msgstr "Informace o kontaktu" + +#: gajim/gui_menu_builder.py:527 gajim/gui_menu_builder.py:588 +#, fuzzy +msgid "History" +msgstr "_Historie" + +#: gajim/gui_menu_builder.py:533 gajim/gui_menu_builder.py:710 +#: gajim/gtk/preferences.py:671 gajim/gtk/groupchat_settings.py:36 +#: gajim/gtk/accounts.py:682 +msgid "Disabled" +msgstr "Vypnuto" + +#: gajim/gui_menu_builder.py:534 gajim/gtk/groupchat_settings.py:37 +#: gajim/gtk/accounts.py:681 +#, fuzzy +msgid "Composing Only" +msgstr "Píšu zprávu" + +#: gajim/gui_menu_builder.py:535 gajim/gtk/groupchat_settings.py:38 +#, fuzzy +msgid "All Chat States" +msgstr "Všechny stavy" + +#: gajim/gui_menu_builder.py:577 +#, fuzzy +msgid "Settings…" +msgstr "Registrace selhala" + +#: gajim/gui_menu_builder.py:578 +#, fuzzy +msgid "Manage Group Chat" +msgstr "Opustit diskuzi" + +#: gajim/gui_menu_builder.py:579 +#, fuzzy +msgid "Rename…" +msgstr "_Přejmenovat" + +#: gajim/gui_menu_builder.py:580 +#, fuzzy +msgid "Change Subject…" +msgstr "Změnit _předmět" + +#: gajim/gui_menu_builder.py:581 +#, fuzzy +msgid "Upload Avatar…" +msgstr "Vyberte obrázek" + +#: gajim/gui_menu_builder.py:582 +#, fuzzy +msgid "Configure…" +msgstr "_Nastavit" + +#: gajim/gui_menu_builder.py:583 +#, fuzzy +msgid "Destroy…" +msgstr "Likviduji: %s" + +#: gajim/gui_menu_builder.py:585 +#, fuzzy +msgid "Change Nickname…" +msgstr "Změ_nit přezdívku" + +#: gajim/gui_menu_builder.py:586 +#, fuzzy +msgid "Request Voice" +msgstr "_Hlas" + +#: gajim/gui_menu_builder.py:587 gajim/gui_menu_builder.py:825 +#, fuzzy +msgid "Execute Command…" +msgstr "Spustit _příkaz..." + +#: gajim/gui_menu_builder.py:589 +msgid "Leave" +msgstr "" + +#: gajim/gui_menu_builder.py:631 +#, fuzzy +msgid "Add Contact…" +msgstr "Přid_at kontakt..." + +#: gajim/gui_menu_builder.py:632 gajim/gtk/accounts.py:861 +#: gajim/gtk/accounts.py:899 gajim/gtk/profile.py:53 +#, fuzzy +msgid "Profile" +msgstr "soubor" + +#: gajim/gui_menu_builder.py:633 +#, fuzzy +msgid "Send Single Message…" +msgstr "Odeslat jednoduchou _zprávu" + +# FIXME: chtelo by to cesky vyraz pro service discovery +#: gajim/gui_menu_builder.py:634 +#, fuzzy +msgid "Discover Services…" +msgstr "_Prohlížet služby" + +#: gajim/gui_menu_builder.py:635 gajim/gtk/server_info.py:47 +#, fuzzy +msgid "Server Info" +msgstr "Server" + +#: gajim/gui_menu_builder.py:636 gajim/gtk/accounts.py:312 +#: gajim/data/gui/preferences.ui:853 +msgid "Advanced" +msgstr "Rozšířené" + +#: gajim/gui_menu_builder.py:637 gajim/gtk/mam_preferences.py:100 +#, fuzzy +msgid "Archiving Preferences" +msgstr "_Nastavení" + +#: gajim/gui_menu_builder.py:638 +#, fuzzy +msgid "Blocking List" +msgstr "Ban List" + +#: gajim/gui_menu_builder.py:639 +#, fuzzy +msgid "Bookmarks" +msgstr "_Záložky" + +#: gajim/gui_menu_builder.py:640 +#, fuzzy +msgid "PEP Configuration" +msgstr "Nastavení místnosti" + +#: gajim/gui_menu_builder.py:641 +#, fuzzy +msgid "Synchronise History…" +msgstr "Synchronizovat" + +#: gajim/gui_menu_builder.py:643 gajim/gtk/server_info.py:141 +#: gajim/data/gui/groupchat_config.ui:36 +#, fuzzy +msgid "Admin" +msgstr "_Správce" + +#: gajim/gui_menu_builder.py:644 +#, fuzzy +msgid "Send Server Message…" +msgstr "Ode_slat zprávu serveru" + +#: gajim/gui_menu_builder.py:645 +#, fuzzy +msgid "Set MOTD…" +msgstr "Nastavit MOTD" + +#: gajim/gui_menu_builder.py:646 +#, fuzzy +msgid "Update MOTD…" +msgstr "Upravit MOTD" + +#: gajim/gui_menu_builder.py:647 +#, fuzzy +msgid "Delete MOTD…" +msgstr "Smazat MOTD" + +#: gajim/gui_menu_builder.py:684 +#, fuzzy +msgid "_Add Account…" +msgstr "Přid_at kontakt..." + +#: gajim/gui_menu_builder.py:690 +#, fuzzy +msgid "_Modify Accounts…" +msgstr "Upravit účet" + +#: gajim/gui_menu_builder.py:700 gajim/data/gui/account_context_menu.ui:79 +#: gajim/data/gui/zeroconf_context_menu.ui:26 +#, fuzzy +msgid "_Modify Account…" +msgstr "Upravit účet" + +#: gajim/gui_menu_builder.py:704 gajim/gtk/accounts.py:51 +msgid "Accounts" +msgstr "Účty" + +#: gajim/gui_menu_builder.py:734 gajim/gui_menu_builder.py:739 +#, fuzzy +msgid "Copy XMPP Address" +msgstr "_Kopírovat JID/Emailovou adresu" + +#: gajim/gui_menu_builder.py:735 gajim/gui_menu_builder.py:767 +#, fuzzy +msgid "Join Groupchat" +msgstr "Připojit se do diskuze" + +#: gajim/gui_menu_builder.py:740 gajim/gui_menu_builder.py:766 +#: gajim/gtk/start_chat.py:636 +#: gajim/data/gui/subscription_request_window.ui:149 +msgid "Start Chat" +msgstr "Začít rozhovor" + +#: gajim/gui_menu_builder.py:746 +#, fuzzy +msgid "Copy Link Location" +msgstr "_Kopírovat odkaz" + +#: gajim/gui_menu_builder.py:747 +#, fuzzy +msgid "Open Link in Browser" +msgstr "_Otevřít v prohlížeči" + +#: gajim/gui_menu_builder.py:752 +#, fuzzy +msgid "Copy Email Address" +msgstr "_Kopírovat JID/Emailovou adresu" + +#: gajim/gui_menu_builder.py:753 gajim/gui_menu_builder.py:765 +#, fuzzy +msgid "Open Email Composer" +msgstr "_Otevři Emailový editor" + +#: gajim/gui_menu_builder.py:758 +#, fuzzy +msgid "Copy Location" +msgstr "_Kopírovat odkaz" + +#: gajim/gui_menu_builder.py:759 gajim/gtk/preferences.py:291 +#, fuzzy +msgid "Show Location" +msgstr "Upozornění" + +#: gajim/gui_menu_builder.py:764 +#, fuzzy +msgid "Copy XMPP Address/Email" +msgstr "_Kopírovat JID/Emailovou adresu" + +#: gajim/gui_menu_builder.py:816 +#, fuzzy +msgid "Invite" +msgstr "_Pozvat do" + +#: gajim/gui_menu_builder.py:832 +#, fuzzy +msgid "Kick" +msgstr "Vy_kopnout" + +#: gajim/gui_menu_builder.py:840 +#, fuzzy +msgid "Ban" +msgstr "_Zakázat" + +#: gajim/gui_menu_builder.py:850 +#, fuzzy +msgid "Make Owner" +msgstr "Vlastník" + +#: gajim/gui_menu_builder.py:859 +#, fuzzy +msgid "Make Admin" +msgstr "_Správce" + +#: gajim/gui_menu_builder.py:868 +#, fuzzy +msgid "Make Member" +msgstr "Člen" + +#: gajim/gui_menu_builder.py:877 +#, fuzzy +msgid "Revoke Member" +msgstr "Člen" + +#: gajim/gui_menu_builder.py:887 +msgid "Grant Voice" +msgstr "" + +#: gajim/gui_menu_builder.py:890 +#, fuzzy +msgid "Revoke Voice" +msgstr "_Hlas" + +#: gajim/gui_menu_builder.py:910 +#, fuzzy +msgid "Copy" +msgstr "JID Místnosti" + +#: gajim/chat_control.py:346 gajim/groupchat_control.py:348 +#, fuzzy +msgid "Send File…" +msgstr "Odeslat _Soubor" + +#: gajim/chat_control.py:348 gajim/groupchat_control.py:354 +#, fuzzy +msgid "No File Transfer available" +msgstr "Přenos souboru dokončen" + +#: gajim/chat_control.py:479 +msgid "Show a list of formattings" +msgstr "Zobrazit seznam formátování" + +#: gajim/chat_control.py:483 +#, fuzzy +msgid "This contact does not support HTML" +msgstr "Tento kontakt nepodporuje přenos souborů." + +#: gajim/chat_control.py:684 +msgid "Ping?" +msgstr "Ping?" + +#: gajim/chat_control.py:687 +#, fuzzy, python-format +msgid "Pong! (%s seconds)" +msgstr "Pong! (%s s.)" + +#: gajim/chat_control.py:758 +#, fuzzy +msgid "Calling…" +msgstr "Zakazuji..." + +#: gajim/chat_control.py:783 gajim/chat_control.py:870 +#, fuzzy +msgid "Connection Error" +msgstr "Spojení" + +#: gajim/chat_control.py:811 gajim/data/gui/chat_control.ui:1185 +msgid "Turn Camera on" +msgstr "" + +#: gajim/chat_control.py:822 +msgid "Calling (Video)…" +msgstr "" + +#: gajim/chat_control.py:826 gajim/chat_control.py:834 +#: gajim/chat_control.py:864 +msgid "Turn Camera off" +msgstr "" + +#: gajim/chat_control.py:832 +msgid "Incoming Call (Video)" +msgstr "" + +#: gajim/chat_control.py:1020 +#, python-format +msgid "%(nickname)s from group chat %(room_name)s" +msgstr "%(nickname)s z diskuze %(room_name)s" + +#: gajim/chat_control.py:1257 +#, fuzzy +msgid "Note: Chat history is disabled for this contact." +msgstr "Ignorovat tuto chybu certifikátu." + +#: gajim/chat_control.py:1259 +msgid "Note: Chat history is disabled for this account." +msgstr "" + +#: gajim/chat_control.py:1260 +#, fuzzy, python-format +msgid "" +"You just received a new message from %s.\n" +"Do you want to close this tab?" +msgstr "Právě jsi obdržela novou zprávu od \"%s\"" + +#: gajim/chat_control.py:1266 gajim/gtk/remove_account.py:43 +#: gajim/gtk/change_password.py:44 +#, fuzzy +msgid "Close" +msgstr "Ode_slat a zavřít" + +#: gajim/chat_control.py:1267 gajim/gtk/notification.py:184 +#: gajim/gtk/notification.py:204 gajim/gtk/notification.py:218 +#: gajim/gtk/notification.py:271 gajim/common/connection_handlers_events.py:237 +msgid "New Message" +msgstr "Nová zpráva" + +#: gajim/chat_control.py:1272 gajim/chat_control.py:1579 +#: gajim/chat_control.py:1588 gajim/message_window.py:371 +#: gajim/data/gui/groupchat_control.ui:1117 +#: gajim/data/gui/groupchat_control.ui:1203 +#: gajim/data/gui/groupchat_control.ui:1308 +#: gajim/data/gui/groupchat_control.ui:1997 +#, fuzzy +msgid "_Close" +msgstr "Ode_slat a zavřít" + +#: gajim/chat_control.py:1359 +#, python-format +msgid "" +"Subject: %(subject)s\n" +"%(message)s" +msgstr "" +"Předmět: %(subject)s\n" +"%(message)s" + +#: gajim/chat_control.py:1480 +#, fuzzy, python-format +msgid "%(name)s is now %(show)s %(status)s" +msgstr "%(name)s je nyní %(status)s" + +#: gajim/chat_control.py:1545 +#, fuzzy +msgid "Size" +msgstr "Velikost: %s" + +#: gajim/chat_control.py:1547 gajim/chat_control.py:1609 +#: gajim/gtk/groupchat_invitation.py:67 +#, fuzzy +msgid "_Decline" +msgstr "_Odpojen" + +#: gajim/chat_control.py:1550 gajim/chat_control.py:1611 +#: gajim/chat_control.py:1668 gajim/gtk/dialogs.py:59 +#, fuzzy +msgid "_Accept" +msgstr "Přijmi" + +#: gajim/chat_control.py:1577 gajim/gtk/filetransfer.py:259 +#, fuzzy +msgid "Open _Folder" +msgstr "_Otevřít obsahující složku" + +#: gajim/chat_control.py:1662 +#, fuzzy +msgid "" +"\n" +"Video Call" +msgstr "Velikost videa" + +#: gajim/chat_control.py:1664 +#, fuzzy +msgid "" +"\n" +"Voice Call" +msgstr "Žádost o hlasový rozhovor" + +#: gajim/chat_control.py:1666 +#, fuzzy +msgid "_Reject" +msgstr "Odmítnutý" + +#: gajim/chat_control.py:1692 gajim/gtk/filetransfer.py:297 +msgid "File transfer stopped" +msgstr "Přenos souboru zastaven" + +#: gajim/chat_control.py:1697 gajim/gtk/filetransfer.py:275 +#: gajim/gtk/filetransfer.py:284 +msgid "File transfer cancelled" +msgstr "Přenos souboru zrušen" + +#: gajim/chat_control.py:1698 +msgid "Connection with peer cannot be established." +msgstr "Spojení s protistranou se nepodařilo navázat." + +#: gajim/chat_control_base.py:141 gajim/gtk/start_chat.py:649 +#: gajim/gtk/groupchat_invite.py:318 +#, fuzzy, python-format +msgid "Account: %s" +msgstr "Účty" + +#: gajim/chat_control_base.py:592 +msgid "and authenticated" +msgstr "a autentizovaný" + +#: gajim/chat_control_base.py:596 +msgid "and NOT authenticated" +msgstr "a NEautentizovaný" + +#: gajim/chat_control_base.py:600 +#, fuzzy, python-format +msgid "%(type)s encryption is active %(authenticated)s." +msgstr "" +"Šifrování %(type)s %(status)s aktivní %(authenticated)s.\n" +"Váš rozhovor %(logged)s zaznamenáván." + +#: gajim/chat_control_base.py:715 +msgid "_Undo" +msgstr "" + +#: gajim/chat_control_base.py:723 gajim/conversation_textview.py:417 +msgid "_Clear" +msgstr "" + +#: gajim/chat_control_base.py:728 +msgid "Paste as quote" +msgstr "" + +#: gajim/chat_control_base.py:767 +#, fuzzy +msgid "Paste Image" +msgstr "Vyberte obrázek" + +#: gajim/chat_control_base.py:768 +#, fuzzy +msgid "You are trying to paste an image" +msgstr "Chystáte se zavřít několik panelů" + +#: gajim/chat_control_base.py:769 +#, fuzzy +msgid "" +"Are you sure you want to paste your clipboard's image into the chat window?" +msgstr "Jste si jistý(á), že chcete opustit místnost \"%s\"?" + +#: gajim/chat_control_base.py:775 +msgid "_Paste" +msgstr "" + +#: gajim/chat_control_base.py:1361 gajim/gtk/accounts.py:310 +#: gajim/data/gui/profile.ui:17 gajim/data/gui/profile.ui:318 +#, fuzzy +msgid "Privacy" +msgstr "Nastavení Soukromí" + +#: gajim/chat_control_base.py:1362 +#, fuzzy +msgid "Warning" +msgstr "Zakazuji %s" + +#: gajim/chat_control_base.py:1363 +#, fuzzy, python-format +msgid "" +"If you send a file to %s, your real XMPP address will be revealed." +msgstr "Pokud odešlete soubor %s, tak bude znát vaše skutečné Jabber ID." + +#: gajim/chat_control_base.py:1368 +msgid "_Continue" +msgstr "_Pokračovat" + +#: gajim/gajim_remote.py:55 gajim/common/exceptions.py:70 +msgid "D-Bus is not present on this machine or python module is missing" +msgstr "D-Bus není přítomna na tohto stroji nebo modul pythonu chybí" + +#: gajim/gajim_remote.py:77 +msgid "Shows a help on specific command" +msgstr "Zobrazí nápovědu pro konkrétní příkaz" + +#: gajim/gajim_remote.py:80 +msgid "command" +msgstr "příkaz" + +#: gajim/gajim_remote.py:81 +msgid "show help on command" +msgstr "zobraz nápovědu k příkazu" + +#: gajim/gajim_remote.py:85 +#, fuzzy +msgid "Lists all contacts in the contact list, one for each line" +msgstr "" +"Vytiskne seznam všech kontaktů v rosteru. Každý kontakt se objeví na " +"samostatném řádku" + +#: gajim/gajim_remote.py:87 gajim/gajim_remote.py:102 gajim/gajim_remote.py:112 +#: gajim/gajim_remote.py:122 gajim/gajim_remote.py:133 +#: gajim/gajim_remote.py:142 gajim/gajim_remote.py:163 +#: gajim/gajim_remote.py:171 gajim/gajim_remote.py:180 +#: gajim/gajim_remote.py:187 +#, fuzzy +msgid "?CLI:account" +msgstr "účet" + +#: gajim/gajim_remote.py:87 +msgid "show only contacts of the given account" +msgstr "zobraz pouze kontakty zadaného účtu" + +#: gajim/gajim_remote.py:93 +msgid "Prints a list of registered accounts" +msgstr "Vypíše seznam registrovaných účtů" + +#: gajim/gajim_remote.py:97 +#, fuzzy +msgid "Changes the status of account(s)" +msgstr "Změní stav účtu nebo účtů" + +#: gajim/gajim_remote.py:100 +#, fuzzy +msgid "?CLI:status" +msgstr "stav" + +#: gajim/gajim_remote.py:100 +#, fuzzy +msgid "" +"one of: offline, online, chat, away, xa, dnd. If not set, use account's " +"previous status" +msgstr "" +"jeden z: odpojen, připojen, ukecaný, pryč, nedostupný, nerušit, neviditelný " + +#: gajim/gajim_remote.py:101 gajim/gajim_remote.py:121 +#: gajim/gajim_remote.py:132 gajim/gajim_remote.py:141 +#, fuzzy +msgid "?CLI:message" +msgstr "zpráva" + +#: gajim/gajim_remote.py:101 +msgid "status message" +msgstr "text stavu" + +#: gajim/gajim_remote.py:102 +msgid "" +"change status of account \"account\". If not specified, try to change status " +"of all accounts that have \"sync with global status\" option set" +msgstr "" +"změnit stav účtu \"account\". Pokud není uveden, zkuste změnit stav všech " +"účtů které mají povolenu volbu \"sync with global status\" " + +#: gajim/gajim_remote.py:108 +#, fuzzy +msgid "Changes the priority of account(s)" +msgstr "Změní prioritu jednoho nebo více účtů" + +#: gajim/gajim_remote.py:110 +#, fuzzy +msgid "?CLI:priority" +msgstr "priorita" + +#: gajim/gajim_remote.py:110 +msgid "priority you want to give to the account" +msgstr "priorita vámi přidělená účtu" + +#: gajim/gajim_remote.py:112 +#, fuzzy +msgid "" +"change the priority of the given account. If not specified, change status of " +"all accounts that have \"sync with global status\" option set" +msgstr "" +"změnit stav účtu \"account\". Pokud není uveden, zkuste změnit stav všech " +"účtů které mají povolenu volbu \"sync with global status\" " + +#: gajim/gajim_remote.py:118 +#, fuzzy +msgid "" +"Sends new chat message to a contact in the contact list. Account is optional." +msgstr "Použití: /%s, pošle zprávu kontaktu" + +#: gajim/gajim_remote.py:120 gajim/gajim_remote.py:130 +#, fuzzy +msgid "XMPP Address of the contact that will receive the message" +msgstr "JID kontaktu, který obdrží zprávu" + +#: gajim/gajim_remote.py:121 gajim/gajim_remote.py:132 +#: gajim/gajim_remote.py:141 +msgid "message contents" +msgstr "Tělo zprávy" + +#: gajim/gajim_remote.py:122 gajim/gajim_remote.py:133 +#: gajim/gajim_remote.py:142 +msgid "if specified, the message will be sent using this account" +msgstr "pokud bude uvedeno, zpráva bude odeslána z tohoto účtu" + +#: gajim/gajim_remote.py:127 +#, fuzzy +msgid "" +"Sends a chat message to someone on your contact list. Account is optional." +msgstr "Použití: /%s, pošle zprávu kontaktu" + +#: gajim/gajim_remote.py:131 +msgid "subject" +msgstr "předmět" + +#: gajim/gajim_remote.py:131 +msgid "message subject" +msgstr "předmět zprávy" + +#: gajim/gajim_remote.py:138 +#, fuzzy +msgid "Sends new message to a group chat you've joined." +msgstr "Poslat novou zprávu do diskuze ke které jste připojeni." + +#: gajim/gajim_remote.py:140 +#, fuzzy +msgid "XMPP Address of the group chat that will receive the message" +msgstr "JID diskuze do které přijde zpráva" + +#: gajim/gajim_remote.py:147 +msgid "Gets detailed info on a contact" +msgstr "Získej detailní informace o kontaktu" + +#: gajim/gajim_remote.py:149 gajim/gajim_remote.py:162 +#: gajim/gajim_remote.py:170 +#, fuzzy +msgid "XMPP Address of the contact" +msgstr "JID kontaktu" + +#: gajim/gajim_remote.py:153 +msgid "Gets detailed info on a account" +msgstr "Získej detailní informace o účtu" + +#: gajim/gajim_remote.py:155 +msgid "Name of the account" +msgstr "Jméno účtu" + +#: gajim/gajim_remote.py:159 +msgid "Sends file to a contact" +msgstr "Pošle soubor kontaktu" + +#: gajim/gajim_remote.py:161 +msgid "file" +msgstr "soubor" + +#: gajim/gajim_remote.py:161 +msgid "File path" +msgstr "Cesta k souboru" + +#: gajim/gajim_remote.py:163 +msgid "if specified, file will be sent using this account" +msgstr "pokud bude uvedeno, zpráva bude odeslána z tohoto účtu" + +#: gajim/gajim_remote.py:168 +#, fuzzy +msgid "Removes contact from contact list" +msgstr "Odstraní kontakt ze Seznamu" + +#: gajim/gajim_remote.py:171 +msgid "if specified, contact is taken from the contact list of this account" +msgstr "pokud uvedeno, kontakt bude vzít ze seznamu kontaktů pro tento účet" + +#: gajim/gajim_remote.py:178 +msgid "Returns current status (the global one unless account is specified)" +msgstr "Vrátí aktuální stav (globální, pokud není uveden účet)" + +#: gajim/gajim_remote.py:185 +msgid "" +"Returns current status message (the global one unless account is specified)" +msgstr "Vrací aktuální popis stavu (globální, pokud není uveden účet)" + +#: gajim/gajim_remote.py:192 +msgid "Returns number of unread messages" +msgstr "Vrací počet nepřečtených zpráv" + +#: gajim/gajim_remote.py:197 +msgid "Sends custom XML" +msgstr "Poslat vlastní XML" + +#: gajim/gajim_remote.py:199 +msgid "XML to send" +msgstr "XML k odeslání" + +#: gajim/gajim_remote.py:200 +#, fuzzy +msgid "" +"Account to which the XML will be sent; if not specified, XML will be sent to " +"all accounts" +msgstr "" +"Účet, ze kterého bude xml odesláno; pokud nebude uvedeno, xml bude odeslání " +"ze všech účtů" + +#: gajim/gajim_remote.py:207 +msgid "Check if Gajim is running" +msgstr "Zkontrolujte, zda Gajim již běží." + +#: gajim/gajim_remote.py:233 +msgid "Missing argument \"contact_jid\"" +msgstr "Chybí parametry \"contact_jid\"" + +#: gajim/gajim_remote.py:253 +#, fuzzy, python-format +msgid "" +"'%s' is not in your contact list.\n" +"Please specify account for sending the message." +msgstr "" +"'%s' není ve vašem Seznamu.\n" +"Prosím uveďte účet, přes který bude odeslána zpráva." + +#: gajim/gajim_remote.py:256 +msgid "You have no active account" +msgstr "Nemáte aktivní účet" + +#: gajim/gajim_remote.py:304 +msgid "It seems Gajim is not running. So you can't use gajim-remote." +msgstr "Vypadá to, že Gajim neběží. Proto nemůžete použít gajim-remote" + +#: gajim/gajim_remote.py:331 +#, python-format +msgid "" +"Usage: %(basename)s %(command)s %(arguments)s \n" +"\t %(help)s" +msgstr "" +"Použití: %(basename)s %(command)s %(arguments)s \n" +"\t %(help)s" + +#: gajim/gajim_remote.py:335 +msgid "Arguments:" +msgstr "Parametry:" + +#: gajim/gajim_remote.py:339 +#, python-format +msgid "%s not found" +msgstr "%s nebyl nalezen" + +#: gajim/gajim_remote.py:345 +#, fuzzy, python-format +msgid "" +"Usage:\n" +" %s command [arguments]\n" +"\n" +"Command is one of:\n" +msgstr "" +"Použití: %s příkaz [parametry]\n" +"Příkaz je jeden z:\n" + +#: gajim/gajim_remote.py:415 +#, python-format +msgid "" +"Too many arguments. \n" +"Type \"%(basename)s help %(command)s\" for more info" +msgstr "" +"Příliš mnoho parametrů. \n" +"Napište \"%(basename)s help %(command)s\" pro více informací" + +#: gajim/gajim_remote.py:420 +#, python-format +msgid "" +"Argument \"%(arg)s\" is not specified. \n" +"Type \"%(basename)s help %(command)s\" for more info" +msgstr "" +"Parametr \"%(arg)s\" nebyl uveden. \n" +"Napište \"%(basename)s help %(command)s\" pro více informací" + +#: gajim/dialogs.py:70 +#, python-format +msgid "Contact name: %s" +msgstr "Jméno kontaktu: %s" + +#: gajim/dialogs.py:72 +#, python-format +msgid "XMPP Address: %s" +msgstr "" + +#: gajim/dialogs.py:189 +msgid "Group" +msgstr "Skupina" + +#: gajim/dialogs.py:196 +msgid "In the group" +msgstr "Ve skupině" + +#: gajim/dialogs.py:211 gajim/gtk/discovery.py:522 +msgid "You are not connected to the server" +msgstr "Nejste připojen(a) k serveru" + +#: gajim/dialogs.py:212 +msgid "Without a connection, you can not synchronise your contacts." +msgstr "Nemůžete měnit heslo, pokud nejste připojen(a)." + +#: gajim/dialogs.py:223 gajim/dialogs.py:294 +#: gajim/gtk/roster_item_exchange.py:83 gajim/gtk/discovery.py:826 +#: gajim/gtk/discovery.py:1650 gajim/gtk/discovery.py:1896 +#: gajim/gtk/history.py:99 gajim/gtk/vcard_grid.py:34 +#: gajim/data/gui/bookmarks.ui:66 +msgid "Name" +msgstr "Jméno" + +#: gajim/dialogs.py:226 gajim/data/gui/preferences.ui:604 +#: gajim/data/gui/server_info.ui:146 +msgid "Server" +msgstr "Server" + +#: gajim/dialogs.py:262 +msgid "This account is not connected to the server" +msgstr "Tento účet není připojen k serveru" + +#: gajim/dialogs.py:263 +msgid "You cannot synchronize with an account unless it is connected." +msgstr "Nemůžete synchronyzovat účet pokud nění připojen." + +#: gajim/dialogs.py:292 +msgid "Synchronise" +msgstr "Synchronizovat" + +#: gajim/vcard.py:284 +msgid "?Client:Unknown" +msgstr "?Client:Neznámý" + +#: gajim/vcard.py:289 +msgid "?OS:Unknown" +msgstr "?OS:Neznámý" + +#: gajim/vcard.py:319 gajim/vcard.py:322 +msgid "?Time:Unknown" +msgstr "?Time:Neznámý" + +#: gajim/vcard.py:373 +msgid "?Role in Group Chat:Role:" +msgstr "" + +#: gajim/vcard.py:377 +msgid "Affiliation:" +msgstr "Vztah" + +#: gajim/vcard.py:384 +#, fuzzy +msgid "" +"This contact is interested in your presence information, but you are not " +"interested in their presence" +msgstr "Tento kontakt zajímá Váš stav, ale Vy se nezajímate o jeho stav" + +#: gajim/vcard.py:386 +#, fuzzy +msgid "" +"You are interested in the contact's presence information, but it is not " +"mutual" +msgstr "Vy se zajímáte o stav kontaktu, ale on se nezajímá o Váš stav" + +#: gajim/vcard.py:388 +#, fuzzy +msgid "The contact and you want to exchange presence information" +msgstr "Vy i kontakt se zajímáte o stav toho druhého" + +#: gajim/vcard.py:390 +#, fuzzy +msgid "" +"You and the contact have a mutual disinterest in each-others presence " +"information" +msgstr "Vy i kontakt se zajímáte o stav toho druhého" + +#: gajim/vcard.py:396 +msgid "You are waiting contact's answer about your subscription request" +msgstr "Čekáte na odpověď kontaktu na vaši žádost o autorizaci" + +#: gajim/vcard.py:398 +msgid "There is no pending subscription request." +msgstr "Není zde žádný nevyřízený požadavek." + +#: gajim/vcard.py:403 gajim/vcard.py:453 gajim/vcard.py:549 +msgid " resource with priority " +msgstr "zdroj s prioritou " + +#: gajim/conversation_textview.py:65 +#, fuzzy +msgid "Untrusted" +msgstr "Zaujatý" + +#: gajim/conversation_textview.py:68 +msgid "Trust Not Decided" +msgstr "" + +#: gajim/conversation_textview.py:71 +msgid "Unverified" +msgstr "" + +#: gajim/conversation_textview.py:74 +#, fuzzy +msgid "Verified" +msgstr "_Kontroluj" + +#: gajim/conversation_textview.py:225 +msgid "" +"Text below this line is what has been said since the\n" +"last time you paid attention to this group chat" +msgstr "" +"Text pod touto čarou označuje to, co bylo řečeno \n" +"po posledním čtení této diskuze" + +#: gajim/conversation_textview.py:428 +#, fuzzy +msgid "_Quote" +msgstr "_Konec" + +#: gajim/conversation_textview.py:436 +#, python-format +msgid "_Actions for \"%s\"" +msgstr "_Akce pro \"%s\"" + +#: gajim/conversation_textview.py:450 +msgid "Read _Wikipedia Article" +msgstr "Číst článkek na _Wikipedia" + +#: gajim/conversation_textview.py:455 +msgid "Look it up in _Dictionary" +msgstr "Vyhledat ve _slovníku" + +#: gajim/conversation_textview.py:472 +#, python-format +msgid "Dictionary URL is missing an \"%s\" and it is not WIKTIONARY" +msgstr "URL slovníku chybí \"%s\" a není to WIKTIONARY" + +#: gajim/conversation_textview.py:486 +#, python-format +msgid "Web Search URL is missing an \"%s\"" +msgstr "URL pro hledání na webu chybí \"%s\"" + +#: gajim/conversation_textview.py:489 +msgid "Web _Search for it" +msgstr "_Hledat na Webu" + +#: gajim/conversation_textview.py:495 +msgid "Open as _Link" +msgstr "Otevřít jako _Odkaz" + +#: gajim/conversation_textview.py:770 +#, fuzzy +msgid "Invalid URL" +msgstr "Neplatné JID" + +#: gajim/conversation_textview.py:860 +msgid "" +"Message corrected. Original message:\n" +"{}" +msgstr "" + +#: gajim/conversation_textview.py:1031 +#, fuzzy +msgid "Not encrypted" +msgstr "Nespuštěno" + +#: gajim/conversation_textview.py:1034 +#, python-format +msgid "Encrypted (%s)" +msgstr "" + +#: gajim/conversation_textview.py:1141 gajim/gtk/history.py:618 +#, python-format +msgid "Subject: %s\n" +msgstr "Předmět: %s\n" + +#: gajim/conversation_textview.py:1250 +#, fuzzy +msgid "Received" +msgstr "Přijaté %s" + +#: gajim/conversation_textview.py:1272 +msgid "?Message state:Read" +msgstr "" + +#: gajim/groupchat_control.py:352 +#, fuzzy, python-format +msgid "Send File (max. %s MiB)…" +msgstr "Uložit jako..." + +#: gajim/groupchat_control.py:497 +#, fuzzy, python-format +msgid "%s has been invited to this group chat" +msgstr "%(nick)s byli vyhozeni z místnosti: %(reason)s" + +#: gajim/groupchat_control.py:512 gajim/dialog_messages.py:31 +#: gajim/dialog_messages.py:36 gajim/gtk/single_message.py:238 +#, fuzzy +msgid "Invalid XMPP Address" +msgstr "Neplatný soubor" + +#: gajim/groupchat_control.py:575 +#, fuzzy +msgid "Loading avatar failed" +msgstr "Odesílání soukromé zprávy selhalo" + +#: gajim/groupchat_control.py:595 +#, fuzzy, python-format +msgid "Avatar upload failed: %s" +msgstr "publikování vizitky se nezdařilo" + +#: gajim/groupchat_control.py:598 +#, fuzzy +msgid "Avatar upload successful" +msgstr "publikování vizitky se nezdařilo" + +#: gajim/groupchat_control.py:616 +#, fuzzy, python-format +msgid "Kick %s" +msgstr "Vyhazuji %s" + +#: gajim/groupchat_control.py:625 +#, fuzzy, python-format +msgid "Ban %s" +msgstr "Ban List" + +#: gajim/groupchat_control.py:684 +msgid "Insert Nickname" +msgstr "Vložit přezdívku" + +#: gajim/groupchat_control.py:775 gajim/groupchat_control.py:776 +#, fuzzy +msgid "Voice Request" +msgstr "Žádost o hlasový rozhovor" + +#: gajim/groupchat_control.py:777 +#, python-format +msgid "%(nick)s from %(room_name)s requests voice" +msgstr "" + +#: gajim/groupchat_control.py:781 +#, fuzzy +msgid "_Approve" +msgstr "schválit" + +#: gajim/groupchat_control.py:1007 +#, fuzzy, python-format +msgid "%(nick)s has set the subject to %(subject)s" +msgstr "%(jid)s nastavil předmět na %(subject)s" + +#: gajim/groupchat_control.py:1023 +#, fuzzy +msgid "Group chat now shows unavailable members" +msgstr "Místnost nyní zobrazuje nedostupné členy" + +#: gajim/groupchat_control.py:1026 +#, fuzzy +msgid "Group chat now does not show unavailable members" +msgstr "místnost nyní nezobrazuje nedostupné členy" + +#: gajim/groupchat_control.py:1030 +msgid "A setting not related to privacy has been changed" +msgstr "" + +#: gajim/groupchat_control.py:1037 gajim/groupchat_control.py:1197 +#, fuzzy +msgid "Conversations are stored on the server" +msgstr "Sezení NEBUDE logováno" + +#: gajim/groupchat_control.py:1040 +#, fuzzy +msgid "Conversations are not stored on the server" +msgstr "Informace o Vás, jak jsou uloženy na serveru" + +#: gajim/groupchat_control.py:1043 +#, fuzzy +msgid "Group chat is now non-anonymous" +msgstr "Místnost není anonymní" + +#: gajim/groupchat_control.py:1047 +#, fuzzy +msgid "Group chat is now semi-anonymous" +msgstr "Místnost je částečně anonymní" + +#: gajim/groupchat_control.py:1051 +#, fuzzy +msgid "Group chat is now fully anonymous" +msgstr "Místnost je plně anonymní" + +#: gajim/groupchat_control.py:1101 +#, fuzzy, python-format +msgid "Ping? (%s)" +msgstr "Pong! (%s s.)" + +#: gajim/groupchat_control.py:1104 +#, fuzzy, python-format +msgid "Pong! (%(nick)s %(delay)s s.)" +msgstr "Pong! (%s s.)" + +#: gajim/groupchat_control.py:1188 +#, fuzzy, python-format +msgid "You (%s) joined the group chat" +msgstr "%s vstoupil do místnosti" + +#: gajim/groupchat_control.py:1193 +#, fuzzy +msgid "Any participant is allowed to see your full XMPP Address" +msgstr "Každý návštěvník uvidí váš úplný JID" + +#: gajim/groupchat_control.py:1201 +#, fuzzy +msgid "The server has assigned or modified your nickname in this group chat" +msgstr "Server přidělil nebo změnil název vaší místnosti" + +#: gajim/groupchat_control.py:1211 +#, fuzzy +msgid "A new group chat has been created" +msgstr "Nová místnost byla vytvořena" + +#: gajim/groupchat_control.py:1215 +#, fuzzy +msgid "Failed to Configure Group Chat" +msgstr "Opustit diskuzi" + +#: gajim/groupchat_control.py:1274 gajim/groupchat_control.py:1304 +#: gajim/groupchat_control.py:1332 gajim/groupchat_control.py:1391 +#, python-brace-format +msgid " by {actor}" +msgstr "" + +#: gajim/groupchat_control.py:1277 +#, fuzzy, python-brace-format +msgid "** Your Affiliation has been set to {affiliation}{actor}{reason}" +msgstr "** %(actor)s nastavil(a) vztah %(nick)s na %(affiliation)s" + +#: gajim/groupchat_control.py:1283 +#, fuzzy, python-brace-format +msgid "** Affiliation of {nick} has been set to {affiliation}{actor}{reason}" +msgstr "** Vztah %(nick)s byl nastaven na %(affiliation)s" + +#: gajim/groupchat_control.py:1307 +#, fuzzy, python-brace-format +msgid "** Your Role has been set to {role}{actor}{reason}" +msgstr "** %(actor)s nastavil(a) postavení %(nick)s na %(role)s" + +#: gajim/groupchat_control.py:1312 +#, fuzzy, python-brace-format +msgid "** Role of {nick} has been set to {role}{actor}{reason}" +msgstr "** %(actor)s nastavil(a) postavení %(nick)s na %(role)s" + +#: gajim/groupchat_control.py:1335 +#, fuzzy, python-brace-format +msgid "You have been removed from the group chat{actor}{reason}" +msgstr "%(nick)s byli vyhozeni z místnosti: %(reason)s" + +#: gajim/groupchat_control.py:1340 +#, python-brace-format +msgid "You have left due to an error{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1346 +#, python-brace-format +msgid "You have been kicked{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1353 +#, python-brace-format +msgid "You have been banned{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1360 gajim/groupchat_control.py:1423 +#, fuzzy +msgid ": Affiliation changed" +msgstr "Příslušnost:" + +#: gajim/groupchat_control.py:1366 gajim/groupchat_control.py:1428 +#, fuzzy +msgid ": Group chat configuration changed to members-only" +msgstr "nastavení místnosti se změnilo na vstup pouze členům" + +#: gajim/groupchat_control.py:1394 +#, fuzzy, python-brace-format +msgid "{nick} has been removed from the group chat{by}{reason}" +msgstr "%(nick)s byli vyhozeni z místnosti: %(reason)s" + +#: gajim/groupchat_control.py:1402 +#, python-brace-format +msgid "{nick} has left due to an error{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1408 +#, fuzzy, python-brace-format +msgid "{nick} has been kicked{actor}{reason}" +msgstr "%(nick)s byli vyhozeni: %(reason)s" + +# FIXME: preklad pro ban? zabanovani je hnusne +#: gajim/groupchat_control.py:1416 +#, fuzzy, python-brace-format +msgid "{nick} has been banned{actor}{reason}" +msgstr "%(nick)s byli zakázáni: %(reason)s" + +#: gajim/groupchat_control.py:1433 +#, python-brace-format +msgid "{nick} has left{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1451 +#, python-format +msgid "%s has joined the group chat" +msgstr "%s vstoupil do místnosti" + +#: gajim/groupchat_control.py:1463 +#, fuzzy +msgid "Failed to Join Group Chat" +msgstr "Nelze se připojit se do diskuze" + +#: gajim/groupchat_control.py:1469 +#, fuzzy +msgid "Failed to Create Group Chat" +msgstr "Opustit diskuzi" + +#: gajim/groupchat_control.py:1485 +#, fuzzy +msgid "Group chat has been destroyed" +msgstr "Místnost byla zničena" + +#: gajim/groupchat_control.py:1490 +#, fuzzy, python-format +msgid "You can join this group chat instead: xmpp:%s?join" +msgstr "Můžete se připojit do této místnosti: %s" + +#: gajim/groupchat_control.py:1672 +#, fuzzy +msgid "Leave Group Chat" +msgstr "Opustit diskuzi" + +#: gajim/groupchat_control.py:1673 +#, fuzzy +msgid "Are you sure you want to leave this group chat?" +msgstr "Jste si jistý(á), že chcete opustit místnost \"%s\"?" + +#: gajim/groupchat_control.py:1674 +#, fuzzy, python-format +msgid "If you close this window, you will leave '%s'." +msgstr "Pokud zavřete toto okno, budete odpojen(a) z této místnosti." + +#: gajim/message_window.py:365 +#, fuzzy +msgid "Close Tabs" +msgstr "Zavřít" + +#: gajim/message_window.py:366 +#, fuzzy +msgid "You are about to close several tabs" +msgstr "Chystáte se zavřít několik panelů" + +#: gajim/message_window.py:367 +#, fuzzy +msgid "Do you really want to close all of them?" +msgstr "Opravdu je chcete všechny zavřít?" + +#: gajim/message_window.py:526 +#, fuzzy +msgid "?Noun:Chats" +msgstr "Diskuze" + +#: gajim/message_window.py:530 gajim/data/gui/preferences.ui:155 +#, fuzzy +msgid "Group Chats" +msgstr "Diskuze" + +#: gajim/message_window.py:534 +msgid "Private Chats" +msgstr "Soukromé rozhovory" + +#: gajim/message_window.py:540 +msgid "Messages" +msgstr "Zprávy" + +#: gajim/dialog_messages.py:37 +#, fuzzy, python-format +msgid "" +"It is not possible to send a message to %s. This XMPP Address is not valid." +msgstr "Není možné poslat zprávu kontaktu %s, takové JID není platné." + +#: gajim/dialog_messages.py:42 +#, fuzzy +msgid "Unread Events" +msgstr "Nepřečtené zprávy" + +#: gajim/dialog_messages.py:43 +#, fuzzy +msgid "Read or acknowledge all pending events before removing this account." +msgstr "Přečtěte si všechny čekající zprávy, než smažete tento účet." + +#: gajim/dialog_messages.py:48 +#, fuzzy +msgid "Invalid Form" +msgstr "Neplatná místnost" + +#: gajim/dialog_messages.py:49 +#, fuzzy +msgid "The form is not filled correctly." +msgstr "Jabber ID diskuze obsahuje nepřijatelné znaky." + +#: gajim/dialog_messages.py:53 +#, fuzzy +msgid "No Connection Available" +msgstr "Spojení není dostupné" + +#: gajim/dialog_messages.py:54 +msgid "Your message can not be sent until you are connected." +msgstr "Va¹e zpráva nemù¾e být odeslána dokud se nepøipojíte." + +#: gajim/dialog_messages.py:58 +msgid "XMPP Address Already in List" +msgstr "" + +#: gajim/dialog_messages.py:59 +#, fuzzy +msgid "" +"The XMPP Address you entered is already in the list. Please choose another " +"one." +msgstr "Jabber ID je již na seznamu. Vyberte jiné." + +#: gajim/dialog_messages.py:64 +#, fuzzy +msgid "Invalid Answer" +msgstr "Neplatná odpověď" + +#: gajim/dialog_messages.py:65 +#, python-format +msgid "Transport %(name)s answered wrongly to register request: %(error)s" +msgstr "Transport %(name)s odpověděl chybně na požadavek registrace: %(error)s" + +#: gajim/dialog_messages.py:70 +#, fuzzy +msgid "Wrong Custom Hostname" +msgstr "Použít vlastní jméno počítače/port" + +#: gajim/dialog_messages.py:71 +#, fuzzy, python-format +msgid "Custom hostname \"%s\" is wrong. It will be ignored." +msgstr "Použít vlastní jméno počítače/port" + +#: gajim/dialog_messages.py:75 +#, fuzzy +msgid "Registration Succeeded" +msgstr "Registrace úspěšná" + +#: gajim/dialog_messages.py:76 +#, fuzzy, python-format +msgid "Registration with agent %s succeeded." +msgstr "Registrace k agentu %s uspěla" + +#: gajim/dialog_messages.py:80 +#, fuzzy +msgid "Registration Failed" +msgstr "Registrace selhala" + +#: gajim/dialog_messages.py:81 +#, python-format +msgid "" +"Registration with agent %(agent)s failed with error %(error)s: %(error_msg)s" +msgstr "" +"Registrace s agentem %(agent)s failed with error %(error)s: %(error_msg)s" + +#: gajim/dialog_messages.py:86 +#, fuzzy +msgid "GStreamer Error" +msgstr "Chyba Databáze" + +#: gajim/dialog_messages.py:87 +#, fuzzy, python-format +msgid "" +"Error: %(error)s\n" +"Debug: %(debug)s" +msgstr "Chybová zpráva: %s" + +#: gajim/dialog_messages.py:91 +#, fuzzy +msgid "Wrong Host" +msgstr "Nesprávné jméno počítače" + +#: gajim/dialog_messages.py:92 +msgid "Invalid local address? :-O" +msgstr "Neplatná místní adresa? :-O" + +#: gajim/dialog_messages.py:96 +#, fuzzy +msgid "Avahi Error" +msgstr "Chyba Avahi" + +#: gajim/dialog_messages.py:97 +#, python-format +msgid "" +"%s\n" +"Link-local messaging might not work properly." +msgstr "" +"%s\n" +"Zasílání lokálních zpráv nemusí fungovat správně." + +#: gajim/dialog_messages.py:101 +#, fuzzy +msgid "Could not Open File" +msgstr "Nezdařilo se načtení obrázku" + +#: gajim/command_system/mapping.py:169 gajim/command_system/mapping.py:179 +#: gajim/command_system/mapping.py:199 +#, fuzzy +msgid "Missing arguments" +msgstr "Chybí parametry \"contact_jid\"" + +#: gajim/command_system/mapping.py:266 +#, fuzzy +msgid "Too many arguments" +msgstr "Chybí parametry \"contact_jid\"" + +#: gajim/command_system/implementation/middleware.py:76 +msgid "Error during command execution!" +msgstr "" + +#: gajim/command_system/implementation/execute.py:60 +msgid "Execute expression inside a shell, show output" +msgstr "" + +#: gajim/command_system/implementation/execute.py:74 +msgid "" +"Command disabled. This command can be enabled by setting " +"'command_system_execute' to True in ACE (Advanced Configuration Editor)." +msgstr "" + +#: gajim/command_system/implementation/execute.py:125 +msgid "Execute expression inside a shell, send output" +msgstr "" + +#: gajim/command_system/implementation/standard.py:52 +msgid "" +"Show help on a given command or a list of available commands if -a is given" +msgstr "" + +#: gajim/command_system/implementation/standard.py:81 +#, fuzzy +msgid "Send a message to the contact" +msgstr "Použití: /%s, pošle zprávu kontaktu" + +#: gajim/command_system/implementation/standard.py:86 +msgid "Send action (in the third person) to the current chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:91 +msgid "Show logged messages which mention given text" +msgstr "" + +#: gajim/command_system/implementation/standard.py:96 +#, fuzzy, python-format +msgid "%s: Nothing found" +msgstr "%s nebyl nalezen" + +#: gajim/command_system/implementation/standard.py:102 +msgid "Limit must be an integer" +msgstr "" + +#: gajim/command_system/implementation/standard.py:127 +msgid "" +"\n" +" Set the current status\n" +"\n" +" Status can be given as one of the following values:\n" +" online, away, chat, xa, dnd.\n" +" " +msgstr "" + +#: gajim/command_system/implementation/standard.py:145 +msgid "Set the current status to away" +msgstr "" + +#: gajim/command_system/implementation/standard.py:148 +#: gajim/common/helpers.py:200 gajim/common/modules/adhoc_commands.py:122 +msgid "Away" +msgstr "Pryč" + +#: gajim/command_system/implementation/standard.py:159 +msgid "Set the current status to online" +msgstr "" + +#: gajim/command_system/implementation/standard.py:162 +#, fuzzy +msgid "Available" +msgstr "Přip_ojen" + +#: gajim/command_system/implementation/standard.py:173 +#, fuzzy +msgid "Send a disco info request" +msgstr "Poslat žádost" + +#: gajim/command_system/implementation/standard.py:192 +#: gajim/command_system/implementation/standard.py:273 +#, fuzzy +msgid "Clear the text window" +msgstr "Použití: /%s, smaže zprávy v okně." + +#: gajim/command_system/implementation/standard.py:197 +#: gajim/command_system/implementation/standard.py:425 +#, fuzzy +msgid "Send a ping to the contact" +msgstr "Použití: /%s, pošle ping kontaktu" + +#: gajim/command_system/implementation/standard.py:201 +#: gajim/command_system/implementation/standard.py:429 +#, fuzzy +msgid "Command is not supported for zeroconf accounts" +msgstr "Příkaz není podporován pro zeroconf účet." + +#: gajim/command_system/implementation/standard.py:205 +msgid "Send DTMF sequence through an open voice chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:208 +#, fuzzy +msgid "No open voice chats with the contact" +msgstr "Kliknutím zobraz staré rozhovory s tímto kontaktem" + +#: gajim/command_system/implementation/standard.py:211 +#, fuzzy, python-format +msgid "%s is not a valid tone" +msgstr "%s není platný loglevel" + +#: gajim/command_system/implementation/standard.py:218 +msgid "Toggle Voice Chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:221 +#, fuzzy +msgid "Voice chats are not available" +msgstr "Spojení není dostupné" + +#: gajim/command_system/implementation/standard.py:228 +#, fuzzy +msgid "Toggle Video Chat" +msgstr "Přepnout video" + +#: gajim/command_system/implementation/standard.py:231 +#, fuzzy +msgid "Video chats are not available" +msgstr "Spojení není dostupné" + +#: gajim/command_system/implementation/standard.py:238 +#, fuzzy +msgid "Send a message to the contact that will attract their attention" +msgstr "Použití: /%s, pošle zprávu kontaktu" + +#: gajim/command_system/implementation/standard.py:278 +#, fuzzy +msgid "Change your nickname in a group chat" +msgstr "Změ_nit přezdívku" + +#: gajim/command_system/implementation/standard.py:283 +msgid "Invalid nickname" +msgstr "Neplatné uživatelské jméno" + +#: gajim/command_system/implementation/standard.py:290 +#, fuzzy +msgid "Open a private chat window with a specified participant" +msgstr "" +"Použití: /%s , otevře okno soukromého rozhovoru uvedenému " +"nájemníkovi." + +#: gajim/command_system/implementation/standard.py:296 +#: gajim/command_system/implementation/standard.py:306 +#: gajim/command_system/implementation/standard.py:360 +#: gajim/command_system/implementation/standard.py:373 +#: gajim/command_system/implementation/standard.py:385 +msgid "Nickname not found" +msgstr "Přezdívka nenalezena: %s" + +#: gajim/command_system/implementation/standard.py:299 +#, fuzzy +msgid "" +"Open a private chat window with a specified participant and send him a " +"message" +msgstr "" +"Použití: /%s , otevře okno soukromého rozhovoru uvedenému " +"nájemníkovi." + +#: gajim/command_system/implementation/standard.py:309 +#, fuzzy +msgid "Display or change a group chat topic" +msgstr "Ptát se před zavřením oken/záložek diskuzí." + +#: gajim/command_system/implementation/standard.py:318 +msgid "Invite a user to a group chat for a reason" +msgstr "" + +#: gajim/command_system/implementation/standard.py:325 +#, fuzzy +msgid "Join a group chat given by an XMPP Address" +msgstr "v _diskuzích" + +#: gajim/command_system/implementation/standard.py:335 +msgid "" +"Leave the group chat, optionally giving a reason, and close tab or window" +msgstr "" + +#: gajim/command_system/implementation/standard.py:341 +msgid "" +"\n" +" Ban user by a nick or a JID from a groupchat\n" +"\n" +" If given nickname is not found it will be treated as a JID.\n" +" " +msgstr "" + +#: gajim/command_system/implementation/standard.py:357 +#, fuzzy +msgid "Kick user from group chat by nickname" +msgstr "Jste pozván do diskuze" + +#: gajim/command_system/implementation/standard.py:366 +msgid "" +"Set participant role in group chat.\n" +" Role can be given as one of the following values:\n" +" moderator, participant, visitor, none" +msgstr "" + +#: gajim/command_system/implementation/standard.py:371 +#, fuzzy +msgid "Invalid role given" +msgstr "Neplatný server" + +#: gajim/command_system/implementation/standard.py:378 +msgid "" +"Set participant affiliation in group chat.\n" +" Affiliation can be given as one of the following values:\n" +" owner, admin, member, outcast, none" +msgstr "" + +#: gajim/command_system/implementation/standard.py:383 +#, fuzzy +msgid "Invalid affiliation given" +msgstr "Příslušnost:" + +#: gajim/command_system/implementation/standard.py:393 +#, fuzzy +msgid "Display names of all group chat participants" +msgstr "Použití: /%s , zobrazí jména nájemníků v místnosti." + +#: gajim/command_system/implementation/standard.py:415 +msgid "Forbid a participant to send you public or private messages" +msgstr "" + +#: gajim/command_system/implementation/standard.py:420 +msgid "Allow a participant to send you public or private messages" +msgstr "" + +#: gajim/command_system/implementation/standard.py:432 +#, fuzzy +msgid "Unknown nickname" +msgstr "Zadej novou přezdívku pro kontakt %s." + +#: gajim/command_system/implementation/custom.py:114 +msgid "The same as using a doc-string, except it supports translation" +msgstr "" + +#: gajim/gtk/ssl_error_dialog.py:36 gajim/data/gui/ssl_error_dialog.ui:16 +#, fuzzy +msgid "SSL Certificate Verification Error" +msgstr "Chyba SSL certifikátu" + +#: gajim/gtk/ssl_error_dialog.py:55 +#, fuzzy, python-format +msgid "" +"There was an error while attempting to verify the SSL certificate of your " +"XMPP server (%s)." +msgstr "" +"Chyba při ověřování SSL vertifikátu na vašem jabber serveru: %(error)s\n" +"Chcete se přesto připojit?" + +#: gajim/gtk/ssl_error_dialog.py:58 +#, fuzzy, python-format +msgid "Unknown SSL error '%s'" +msgstr "Neznámá SSL chyba: %d" + +#: gajim/gtk/avatar_selector.py:84 +msgid "Select a picture or drop it here" +msgstr "" + +#: gajim/gtk/status_change.py:62 gajim/gtk/preferences.py:627 +#: gajim/gtk/preferences.py:655 +msgid "Status Message" +msgstr "Text stavu" + +#: gajim/gtk/status_change.py:330 +#, fuzzy +msgid "No activity" +msgstr "Činnost:" + +#: gajim/gtk/status_change.py:370 gajim/gtk/status_change.py:383 +#: gajim/gtk/status_change.py:488 +#, fuzzy +msgid "No mood selected" +msgstr "Není zvolen žádný klíč" + +#: gajim/gtk/status_change.py:382 +#, fuzzy +msgid "No mood" +msgstr "Náladový" + +#: gajim/gtk/status_change.py:439 +msgid "Overwrite" +msgstr "" + +#: gajim/gtk/status_change.py:440 +msgid "Overwrite Status Message?" +msgstr "Přepsat Text stavu?" + +#: gajim/gtk/status_change.py:441 +#, fuzzy +msgid "This name is already in use. Do you want to overwrite this preset?" +msgstr "Toto jméno je již použito. Chcete přepsat text stavu?" + +#: gajim/gtk/status_change.py:445 gajim/plugins/gui.py:292 +msgid "_Overwrite" +msgstr "" + +#: gajim/gtk/status_change.py:453 +#, fuzzy +msgid "Status Preset" +msgstr "Text stavu" + +# FIXME: not accurate +#: gajim/gtk/status_change.py:454 +#, fuzzy +msgid "Save status as preset" +msgstr "Uložit stav..." + +#: gajim/gtk/status_change.py:455 +#, fuzzy +msgid "Please assign a name to this status message preset" +msgstr "Napište jméno pro tento stav" + +#: gajim/gtk/status_change.py:458 gajim/data/gui/profile.ui:336 +#, fuzzy +msgid "_Save" +msgstr "Má" + +#: gajim/gtk/status_change.py:460 +#, fuzzy +msgid "New Status" +msgstr "Stav" + +#: gajim/gtk/advanced_config.py:46 gajim/gtk/advanced_config.py:144 +msgid "Activated" +msgstr "Aktivní" + +#: gajim/gtk/advanced_config.py:47 +msgid "Deactivated" +msgstr "Neaktivní" + +#: gajim/gtk/advanced_config.py:52 +msgid "?config type:Boolean" +msgstr "" + +#: gajim/gtk/advanced_config.py:53 +msgid "?config type:Integer" +msgstr "" + +#: gajim/gtk/advanced_config.py:54 +msgid "?config type:Text" +msgstr "" + +#: gajim/gtk/advanced_config.py:65 +#, fuzzy +msgid "Advanced Configuration Editor (ACE)" +msgstr "Editor rozšířeného nastavení" + +#: gajim/gtk/advanced_config.py:80 +#, fuzzy +msgid "?config:Preference Name" +msgstr "Název volby" + +#: gajim/gtk/advanced_config.py:91 +#, fuzzy +msgid "?config:Value" +msgstr "_Nastavit" + +#: gajim/gtk/advanced_config.py:100 +msgid "?config:Type" +msgstr "" + +#: gajim/gtk/advanced_config.py:133 +#, fuzzy +msgid "?config description:None" +msgstr "?Ask (for Subscription):Není" + +#: gajim/gtk/preferences.py:63 gajim/data/gui/shortcuts_window.ui:31 +msgid "Preferences" +msgstr "Nastavení" + +#: gajim/gtk/preferences.py:185 +msgid "Detached contact list with detached chats" +msgstr "" + +#: gajim/gtk/preferences.py:186 +msgid "Detached contact list with single chat" +msgstr "" + +#: gajim/gtk/preferences.py:187 +msgid "Single window for everything" +msgstr "" + +#: gajim/gtk/preferences.py:188 +msgid "Detached contact list with chats grouped by account" +msgstr "" + +#: gajim/gtk/preferences.py:189 +msgid "Detached contact list with chats grouped by type" +msgstr "" + +#: gajim/gtk/preferences.py:193 gajim/data/gui/mam_preferences.ui:14 +#, fuzzy +msgid "Always" +msgstr "Pryč" + +#: gajim/gtk/preferences.py:194 gajim/data/gui/mam_preferences.ui:22 +#, fuzzy +msgid "Never" +msgstr "Server" + +#: gajim/gtk/preferences.py:195 +#, fuzzy +msgid "Restore last state" +msgstr "Poslední stav: %s" + +#: gajim/gtk/preferences.py:199 +#, fuzzy +msgid "Top" +msgstr "Příjemce" + +#: gajim/gtk/preferences.py:200 +msgid "Bottom" +msgstr "" + +#: gajim/gtk/preferences.py:201 +msgid "Left" +msgstr "" + +#: gajim/gtk/preferences.py:202 +#, fuzzy +msgid "Right" +msgstr "osm" + +#: gajim/gtk/preferences.py:207 +#, fuzzy +msgid "Window Layout" +msgstr "Chování _okna" + +#: gajim/gtk/preferences.py:214 +#, fuzzy +msgid "Contact List on Startup" +msgstr "Zobrazit _Seznam" + +#: gajim/gtk/preferences.py:218 +#, fuzzy +msgid "Show contact list when starting Gajim" +msgstr "Zobrazit _Seznam" + +#: gajim/gtk/preferences.py:221 +#, fuzzy +msgid "Quit on Close" +msgstr "_Minimalizovat při zavření" + +#: gajim/gtk/preferences.py:224 +#, fuzzy +msgid "Quit when closing contact list" +msgstr "Zobrazit _odpojené kontakty" + +#: gajim/gtk/preferences.py:227 +#, fuzzy +msgid "Tab Position" +msgstr "Pozice:" + +#: gajim/gtk/preferences.py:231 +#, fuzzy +msgid "Placement of chat window tabs" +msgstr "zavřel(a) okno zprávy" + +#: gajim/gtk/preferences.py:247 +#, fuzzy +msgid "Merge Accounts" +msgstr "Spojené účty" + +#: gajim/gtk/preferences.py:253 +#, fuzzy +msgid "Enable Metacontacts" +msgstr "Přejmenovat kontakt" + +#: gajim/gtk/preferences.py:258 +#, fuzzy +msgid "Show Avatars" +msgstr "Vlastnosti serveru" + +#: gajim/gtk/preferences.py:264 gajim/gtk/preferences.py:353 +#, fuzzy +msgid "Show Status Message" +msgstr "Text stavu" + +#: gajim/gtk/preferences.py:270 gajim/gtk/preferences.py:411 +#, fuzzy +msgid "Sort Contacts by Status" +msgstr "Seřadit podle stavu" + +#: gajim/gtk/preferences.py:276 +#, fuzzy +msgid "Show Mood" +msgstr "Nastavit Náladu" + +#: gajim/gtk/preferences.py:281 +#, fuzzy +msgid "Show Activity" +msgstr "Nastavit Činnosti" + +#: gajim/gtk/preferences.py:286 +#, fuzzy +msgid "Show Tune" +msgstr "Píseň" + +#: gajim/gtk/preferences.py:323 +msgid "Needs gspell to be installed" +msgstr "" + +#: gajim/gtk/preferences.py:327 +#, fuzzy +msgid "Spell Checking" +msgstr "Kontrola Pravopisu" + +#: gajim/gtk/preferences.py:335 +#, fuzzy +msgid "Message Receipts (✔)" +msgstr "Tělo zprávy" + +#: gajim/gtk/preferences.py:338 +msgid "Add a checkmark to received messages" +msgstr "" + +#: gajim/gtk/preferences.py:341 +#, fuzzy +msgid "XHTML Formatting" +msgstr "Zobrazit seznam formátování" + +#: gajim/gtk/preferences.py:344 +msgid "Render XHTML styles (colors, etc.) of incoming messages" +msgstr "" + +#: gajim/gtk/preferences.py:348 +#, fuzzy +msgid "Show Send Message Button" +msgstr "Odeslat zprávu" + +#: gajim/gtk/preferences.py:358 +#, fuzzy +msgid "Show Chat State In Tabs" +msgstr "Zobrazit tlačitko zavřít v záložce?" + +#: gajim/gtk/preferences.py:361 +msgid "Show the contact’s chat state (e.g. typing) in the chat’s tab" +msgstr "" + +#: gajim/gtk/preferences.py:365 +#, fuzzy +msgid "Show Chat State In Banner" +msgstr "Zobrazovat a_vatary kontaktů v seznamu" + +#: gajim/gtk/preferences.py:368 +msgid "Show the contact’s chat state (e.g. typing) in the chats tab’s banner" +msgstr "" + +#: gajim/gtk/preferences.py:372 +#, fuzzy +msgid "Display Chat State In Contact List" +msgstr "Zobrazovat _události stavu rozhovoru:" + +#: gajim/gtk/preferences.py:375 +#, fuzzy +msgid "Show the contact’s chat state (e.g. typing) in the contact list" +msgstr "Zobrazit tlačitko zavřít v záložce?" + +#: gajim/gtk/preferences.py:406 +#, fuzzy +msgid "Show Subject" +msgstr "Předmět" + +#: gajim/gtk/preferences.py:417 +msgid "Default Sync Threshold" +msgstr "" + +#: gajim/gtk/preferences.py:420 +#, fuzzy +msgid "Default for new public group chats" +msgstr "Opustit diskuzi" + +#: gajim/gtk/preferences.py:424 +msgid "Show Joined / Left" +msgstr "" + +#: gajim/gtk/preferences.py:427 gajim/gtk/preferences.py:438 +#, fuzzy +msgid "Default for new group chats" +msgstr "Opustit diskuzi" + +#: gajim/gtk/preferences.py:428 gajim/gtk/preferences.py:439 +#: gajim/gtk/accounts.py:715 gajim/gtk/accounts.py:727 +#: gajim/gtk/accounts.py:740 +#, fuzzy +msgid "Reset" +msgstr "_Stav" + +#: gajim/gtk/preferences.py:429 gajim/gtk/preferences.py:440 +#: gajim/gtk/accounts.py:728 +msgid "Reset all group chats to the current default value" +msgstr "" + +#: gajim/gtk/preferences.py:435 gajim/gtk/groupchat_settings.py:48 +#, fuzzy +msgid "Show Status Changes" +msgstr "Zaznamenávat změny _stavu kontaktů" + +#: gajim/gtk/preferences.py:468 +#, fuzzy +msgid "Hide icon" +msgstr "Tray ikona" + +#: gajim/gtk/preferences.py:469 +#, fuzzy +msgid "Only show for pending events" +msgstr "" +"Nikdy\n" +"Pouze při čekajících událostech\n" +"Vždy" + +#: gajim/gtk/preferences.py:470 +msgid "Always show icon" +msgstr "" + +#: gajim/gtk/preferences.py:475 +#, fuzzy +msgid "Notification Area Icon" +msgstr "Notification-daemon" + +# FIXME: snad je to ok? +#: gajim/gtk/preferences.py:482 +#, fuzzy +msgid "Open Events" +msgstr "Moje události" + +#: gajim/gtk/preferences.py:485 +#, fuzzy +msgid "Open events instead of showing a notification in the contact list" +msgstr "Zobraz v rosteru pouze online kontakty nebo kontakty hledající pokec." + +#: gajim/gtk/preferences.py:489 gajim/gtk/preferences.py:512 +#, fuzzy +msgid "Show Notifications" +msgstr "Upozornění" + +#: gajim/gtk/preferences.py:517 +#, fuzzy +msgid "Notifications When Away" +msgstr "Upozornění" + +#: gajim/gtk/preferences.py:520 +#, fuzzy +msgid "Show notifications even if you are Away, Busy, etc." +msgstr "Notification-daemon" + +#: gajim/gtk/preferences.py:525 gajim/data/gui/preferences.ui:271 +msgid "Notifications" +msgstr "Upozornění" + +#: gajim/gtk/preferences.py:534 +#, fuzzy +msgid "Play Sounds" +msgstr "Přehrávat _zvuky" + +#: gajim/gtk/preferences.py:537 +msgid "Play sounds to notify about events" +msgstr "" + +#: gajim/gtk/preferences.py:542 +msgid "Sounds When Away" +msgstr "" + +#: gajim/gtk/preferences.py:545 +#, fuzzy +msgid "Play sounds even when you are Away, Busy, etc." +msgstr "Přehrávat zvuk, je-li uživatel zaneprázdněn" + +#: gajim/gtk/preferences.py:560 +#, fuzzy +msgid "Sign In" +msgstr "_Přihlásí" + +#: gajim/gtk/preferences.py:565 +#, fuzzy +msgid "Sign Out" +msgstr "_Odhlásí" + +#: gajim/gtk/preferences.py:570 +#, fuzzy +msgid "Status Change" +msgstr "Zaznamenávat změny _stavu kontaktů" + +#: gajim/gtk/preferences.py:583 gajim/gtk/preferences.py:614 +#, fuzzy +msgid "Auto Away" +msgstr "Pryč" + +#: gajim/gtk/preferences.py:585 +msgid "Change your status to 'Away' after a certain amount of time" +msgstr "" + +#: gajim/gtk/preferences.py:590 gajim/gtk/preferences.py:642 +#, fuzzy +msgid "Auto Not Available" +msgstr "Nedostupný" + +#: gajim/gtk/preferences.py:592 +msgid "Change your status to 'Not Available' after a certain amount of time" +msgstr "" + +#: gajim/gtk/preferences.py:619 +msgid "Time Until Away" +msgstr "" + +#: gajim/gtk/preferences.py:622 gajim/gtk/preferences.py:650 +#, fuzzy +msgid "Minutes until your status gets changed" +msgstr "Zaznamenávat změny _stavu kontaktů" + +#: gajim/gtk/preferences.py:633 gajim/gtk/preferences.py:828 +#, fuzzy +msgid "Auto Away Settings" +msgstr "Registrace selhala" + +#: gajim/gtk/preferences.py:647 +#, fuzzy +msgid "Time Until Not Available" +msgstr "Nedostupný" + +#: gajim/gtk/preferences.py:661 +#, fuzzy +msgid "Auto Extended Away Settings" +msgstr "Dlouho pryč" + +#: gajim/gtk/preferences.py:672 gajim/gtk/accounts.py:680 +msgid "Enabled" +msgstr "Povolit" + +#: gajim/gtk/preferences.py:673 gajim/data/gui/vcard_information_window.ui:123 +#, fuzzy +msgid "System" +msgstr "Systému:" + +#: gajim/gtk/preferences.py:678 +#, fuzzy +msgid "Dark Theme" +msgstr "gajim-remote" + +#: gajim/gtk/preferences.py:685 +#, fuzzy +msgid "Theme" +msgstr "Téma" + +#: gajim/gtk/preferences.py:731 +msgid "Convert ASCII Emojis" +msgstr "" + +#: gajim/gtk/preferences.py:734 +msgid "Typing short codes like :-) will display emojis" +msgstr "" + +#: gajim/gtk/preferences.py:741 +#, fuzzy +msgid "Emoji Theme" +msgstr "gajim-remote" + +#: gajim/gtk/preferences.py:744 +msgid "Choose from various emoji styles" +msgstr "" + +#: gajim/gtk/preferences.py:774 +#, fuzzy +msgid "Status Icon Set" +msgstr "Výchozí _ikony stavů:" + +#: gajim/gtk/preferences.py:781 +#, fuzzy +msgid "Use Transport Icons" +msgstr "Používat ikony _transportů" + +#: gajim/gtk/preferences.py:784 +msgid "Display protocol-specific status icons (ICQ, ..)" +msgstr "" + +#: gajim/gtk/preferences.py:801 gajim/gtk/preferences.py:817 +msgid "Use Stun Server" +msgstr "" + +#: gajim/gtk/preferences.py:803 +msgid "Helps to establish calls through firewalls" +msgstr "" + +#: gajim/gtk/preferences.py:822 +#, fuzzy +msgid "STUN Server" +msgstr "Server:" + +#: gajim/gtk/preferences.py:848 +#, fuzzy +msgid "Audio Input Device" +msgstr "Audio vstupní zařízení" + +#: gajim/gtk/preferences.py:851 +msgid "Select your audio input (e.g. microphone)" +msgstr "" + +#: gajim/gtk/preferences.py:855 +#, fuzzy +msgid "Audio Output Device" +msgstr "Audio výstupní zařízení" + +#: gajim/gtk/preferences.py:858 +msgid "Select an audio output (e.g. speakers, headphones)" +msgstr "" + +#: gajim/gtk/preferences.py:890 gajim/gtk/preferences.py:898 +msgid "Default" +msgstr "Výchozí" + +#: gajim/gtk/preferences.py:906 +#, fuzzy +msgid "Video Input Device" +msgstr "Video vstupní zařízení" + +#: gajim/gtk/preferences.py:910 +msgid "Select your video input device (e.g. webcam, screen capture)" +msgstr "" + +#: gajim/gtk/preferences.py:915 +#, fuzzy +msgid "Video Framerate" +msgstr "Velikost videa" + +#: gajim/gtk/preferences.py:921 +#, fuzzy +msgid "Video Resolution" +msgstr "Velikost videa" + +#: gajim/gtk/preferences.py:927 +msgid "Show My Video Stream" +msgstr "" + +#: gajim/gtk/preferences.py:930 +msgid "Show your own video stream in calls" +msgstr "" + +#: gajim/gtk/preferences.py:933 gajim/data/gui/video_preview.ui:51 +msgid "Live Preview" +msgstr "" + +#: gajim/gtk/preferences.py:935 +msgid "Show a live preview to test your video source" +msgstr "" + +#: gajim/gtk/preferences.py:975 +#, fuzzy +msgid "Global Proxy" +msgstr "Proxy:" + +#: gajim/gtk/preferences.py:980 gajim/gtk/account_wizard.py:732 +#: gajim/gtk/accounts.py:790 +#, fuzzy +msgid "No Proxy" +msgstr "Proxy:" + +#: gajim/gtk/preferences.py:985 +msgid "Use System Keyring" +msgstr "" + +#: gajim/gtk/preferences.py:988 +msgid "Use your system’s keyring to store passwords" +msgstr "" + +#: gajim/gtk/preferences.py:994 +msgid "Check For Updates" +msgstr "" + +#: gajim/gtk/preferences.py:997 gajim/common/config.py:241 +msgid "Check for Gajim updates periodically" +msgstr "" + +#: gajim/gtk/preferences.py:1033 +#, fuzzy +msgid "Debug Logging" +msgstr "Běhám" + +#: gajim/gtk/message_input.py:48 +#, fuzzy +msgid "Write a message…" +msgstr "Nová soukromá zpráva" + +#: gajim/gtk/settings.py:400 gajim/gtk/settings.py:758 +#: gajim/gtk/settings.py:784 gajim/gtk/settings.py:793 +#: gajim/gtk/settings.py:802 gajim/gtk/settings.py:811 +msgid "?switch:On" +msgstr "" + +#: gajim/gtk/settings.py:400 gajim/gtk/settings.py:758 +#: gajim/gtk/settings.py:784 gajim/gtk/settings.py:793 +#: gajim/gtk/settings.py:802 gajim/gtk/settings.py:811 +msgid "?switch:Off" +msgstr "" + +#: gajim/gtk/settings.py:538 gajim/gtk/manage_sounds.py:46 +#: gajim/gtk/filechoosers.py:89 gajim/gtk/filechoosers.py:140 +#: gajim/gtk/filechoosers.py:147 +msgid "All files" +msgstr "Všechny soubory" + +#: gajim/gtk/settings.py:547 +#, fuzzy +msgid "Clear File" +msgstr "Uklízím" + +#: gajim/gtk/settings.py:745 +#, fuzzy +msgid "Adjust to Status" +msgstr "N_astavit podle stavu" + +#: gajim/gtk/history_sync.py:111 gajim/gtk/history_sync.py:193 +#, fuzzy +msgid "Synchronise History" +msgstr "Synchronizovat" + +#: gajim/gtk/history_sync.py:205 +#, fuzzy +msgid "How far back should the chat history be synchronised?" +msgstr "Co by jste rád(a) dělal(a)?" + +#: gajim/gtk/history_sync.py:210 +msgid "One Month" +msgstr "" + +#: gajim/gtk/history_sync.py:211 +msgid "Three Months" +msgstr "" + +#: gajim/gtk/history_sync.py:212 +msgid "One Year" +msgstr "" + +#: gajim/gtk/history_sync.py:213 +msgid "Everything" +msgstr "" + +#: gajim/gtk/history_sync.py:241 gajim/gtk/account_wizard.py:276 +#: gajim/gtk/account_wizard.py:295 gajim/gtk/account_wizard.py:312 +#, fuzzy +msgid "Connecting..." +msgstr "Připojuji se" + +#: gajim/gtk/history_sync.py:253 +#, fuzzy, python-format +msgid "%(received)s of %(max)s" +msgstr "Přenos souboru %(filename)s od %(name)s byl zastaven." + +#: gajim/gtk/history_sync.py:257 +#, fuzzy, python-format +msgid "Downloaded %s messages" +msgstr "Přeposlat nepřečtené zprávy" + +#: gajim/gtk/history_sync.py:277 +#, python-format +msgid "" +"Finished synchronising chat history:\n" +"%s messages downloaded" +msgstr "" + +#: gajim/gtk/history_sync.py:281 +msgid "Gajim is fully synchronised with the archive." +msgstr "" + +#: gajim/gtk/history_sync.py:284 +msgid "There is already a synchronisation in progress. Please try again later." +msgstr "" + +#: gajim/gtk/pep_config.py:49 +#, fuzzy, python-format +msgid "PEP Service Configuration (%s)" +msgstr "Nastavení PEP služby" + +#: gajim/gtk/pep_config.py:74 +#, fuzzy +msgid "Service" +msgstr "_Služby" + +#: gajim/gtk/pep_config.py:105 +msgid "PEP node was not removed" +msgstr "PEP uzel nebyl smazán" + +#: gajim/gtk/pep_config.py:106 +#, fuzzy, python-format +msgid "" +"PEP node %(node)s was not removed:\n" +"%(message)s" +msgstr "PEP uzel %(node)s se nepodařilo odstranit: %(message)s" + +#: gajim/gtk/pep_config.py:153 +#, fuzzy, python-format +msgid "Configure %s" +msgstr "_Nastavit" + +#: gajim/gtk/mam_preferences.py:42 +#, python-format +msgid "Archiving Preferences for %s" +msgstr "" + +#: gajim/gtk/mam_preferences.py:101 +#, fuzzy +msgid "Archiving Preferences Saved" +msgstr "_Nastavení" + +#: gajim/gtk/mam_preferences.py:102 +#, fuzzy +msgid "Your archiving preferences have successfully been saved." +msgstr "_Nastavení" + +#: gajim/gtk/mam_preferences.py:109 +#, fuzzy +msgid "Archiving Preferences Error" +msgstr "_Nastavení" + +#: gajim/gtk/mam_preferences.py:110 +#, fuzzy +msgid "Error received: {}" +msgstr "Chyba v příchozím datagramu" + +#: gajim/gtk/statusicon.py:198 +#, fuzzy +msgid "_Change Status Message…" +msgstr "Z_měnit popis stavu" + +#: gajim/gtk/statusicon.py:250 +#, python-format +msgid "using account %s" +msgstr "pomocí účtu %s" + +#: gajim/gtk/statusicon.py:263 +#, fuzzy +msgid "Hide _Contact List" +msgstr "Pozvat kontakt" + +#: gajim/gtk/statusicon.py:268 gajim/data/gui/application_menu.ui:42 +#, fuzzy +msgid "Show _Contact List" +msgstr "Zobrazit pouze _aktivní kontakty" + +#: gajim/gtk/statusicon.py:276 +msgid "Hide this menu" +msgstr "Skryje toto menu" + +#: gajim/gtk/start_chat.py:57 +#, fuzzy +msgid "Start / Join Chat" +msgstr "Začít rozhovor" + +#: gajim/gtk/start_chat.py:285 gajim/gtk/start_chat.py:370 +msgid "You can not join a group chat unless you are connected." +msgstr "Nemůžete vstoupit do diskuze pokud nejste připojen(a)." + +#: gajim/gtk/start_chat.py:634 gajim/gtk/groupchat_join.py:40 +msgid "Join Group Chat" +msgstr "Připojit se do diskuze" + +#: gajim/gtk/start_chat.py:715 +msgid "" +"Search for group chats globally\n" +"(press Return to start search)" +msgstr "" + +#: gajim/gtk/start_chat.py:808 +#, fuzzy, python-format +msgid "%s group chats found" +msgstr "%s nebyl nalezen" + +#: gajim/gtk/notification.py:184 gajim/gtk/notification.py:205 +#: gajim/gtk/notification.py:219 gajim/gtk/notification.py:272 +#: gajim/common/connection_handlers_events.py:234 +msgid "New Private Message" +msgstr "Nová soukromá zpráva" + +#: gajim/gtk/notification.py:185 gajim/gtk/notification.py:206 +#: gajim/gtk/notification.py:220 gajim/common/connection_handlers_events.py:328 +#, fuzzy +msgid "New Group Chat Message" +msgstr "Nová diskuze" + +#: gajim/gtk/notification.py:186 gajim/gtk/notification.py:212 +#: gajim/gtk/notification.py:289 gajim/common/connection_handlers_events.py:418 +msgid "Contact Changed Status" +msgstr "Kontakt změnil stav" + +#: gajim/gtk/notification.py:200 +#, fuzzy +msgid "Open" +msgstr "OpenGPG" + +#: gajim/gtk/notification.py:209 +msgid "Mark as Read" +msgstr "" + +#: gajim/gtk/notification.py:273 +msgid "New E-mail" +msgstr "Nový E-mail" + +#: gajim/gtk/video_preview.py:116 +msgid "OpenGL accelerated" +msgstr "" + +#: gajim/gtk/video_preview.py:120 +msgid "Not accelerated" +msgstr "" + +#: gajim/gtk/video_preview.py:127 +msgid "Something went wrong. Video feature disabled." +msgstr "" + +#: gajim/gtk/groupchat_invite.py:304 +#, fuzzy +msgid "Invite New Contact" +msgstr "Pozvat kontakt" + +#: gajim/gtk/themes.py:37 +#, fuzzy +msgid "Chatstate Composing" +msgstr "Píšu zprávu" + +#: gajim/gtk/themes.py:41 +#, fuzzy +msgid "Chatstate Inactive" +msgstr "Neaktivní" + +#: gajim/gtk/themes.py:45 +msgid "Chatstate Gone" +msgstr "" + +#: gajim/gtk/themes.py:49 +#, fuzzy +msgid "Chatstate Paused" +msgstr "Změnit stav" + +# FIXME: I dont really know what this is and where it is +#: gajim/gtk/themes.py:53 +#, fuzzy +msgid "Group Chat Tab New Directed Message" +msgstr "" +"MUC Directed\n" +"Messages" + +#: gajim/gtk/themes.py:57 +#, fuzzy +msgid "Group Chat Tab New Message" +msgstr "Nová zpráva" + +#: gajim/gtk/themes.py:61 +msgid "Banner Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:65 +msgid "Banner Background Color" +msgstr "" + +#: gajim/gtk/themes.py:69 +msgid "Banner Font" +msgstr "" + +#: gajim/gtk/themes.py:73 +msgid "Account Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:77 +msgid "Account Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:81 +#, fuzzy +msgid "Account Row Font" +msgstr "Účet" + +#: gajim/gtk/themes.py:85 +msgid "Group Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:89 +msgid "Group Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:93 +#, fuzzy +msgid "Group Row Font" +msgstr "Skupina" + +#: gajim/gtk/themes.py:97 +msgid "Contact Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:101 +msgid "Contact Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:105 +#, fuzzy +msgid "Contact Row Font" +msgstr "_Zobrazit událost v rosteru" + +#: gajim/gtk/themes.py:109 +#, fuzzy +msgid "Conversation Font" +msgstr "Rozhovor s" + +#: gajim/gtk/themes.py:113 +#, fuzzy +msgid "Incoming Nickname Color" +msgstr "Barva příchozí přezdívky." + +#: gajim/gtk/themes.py:117 +#, fuzzy +msgid "Outgoing Nickname Color" +msgstr "Barva odchozí přezdívky." + +#: gajim/gtk/themes.py:121 +#, fuzzy +msgid "Incoming Message Text Color" +msgstr "Barva příchozího textu." + +#: gajim/gtk/themes.py:125 +#, fuzzy +msgid "Incoming Message Text Font" +msgstr "Písmo příchozího textu." + +#: gajim/gtk/themes.py:129 +#, fuzzy +msgid "Outgoing Message Text Color" +msgstr "Barva odchozího textu." + +#: gajim/gtk/themes.py:133 +#, fuzzy +msgid "Outgoing Message Text Font" +msgstr "Písmo odchozího textu." + +#: gajim/gtk/themes.py:137 +#, fuzzy +msgid "Status Message Color" +msgstr "Text stavu" + +#: gajim/gtk/themes.py:141 +#, fuzzy +msgid "Status Message Font" +msgstr "Text stavu" + +#: gajim/gtk/themes.py:145 +#, fuzzy +msgid "URL Color" +msgstr "Barva" + +#: gajim/gtk/themes.py:149 +#, fuzzy +msgid "Highlight Message Color" +msgstr "Zvýrazňovat _slova s překlepy" + +#: gajim/gtk/themes.py:153 +#, fuzzy +msgid "Message Correcting" +msgstr "Zprávy" + +#: gajim/gtk/themes.py:157 +#, fuzzy +msgid "Contact Disconnected Background" +msgstr "Kontakt se odpojil" + +#: gajim/gtk/themes.py:161 +#, fuzzy +msgid "Contact Connected Background " +msgstr "Kontakt se připojil" + +#: gajim/gtk/themes.py:164 +#, fuzzy +msgid "Status Online Color" +msgstr "Text stavu" + +#: gajim/gtk/themes.py:167 +#, fuzzy +msgid "Status Away Color" +msgstr "Text stavu" + +#: gajim/gtk/themes.py:170 +#, fuzzy +msgid "Status DND Color" +msgstr "Text stavu" + +#: gajim/gtk/themes.py:173 +#, fuzzy +msgid "Status Offline Color" +msgstr "Text stavu" + +#: gajim/gtk/themes.py:187 +#, fuzzy +msgid "Gajim Themes" +msgstr "gajim-remote" + +#: gajim/gtk/themes.py:223 gajim/gtk/themes.py:230 +#, fuzzy +msgid "Invalid Name" +msgstr "Neplatné uživatelské jméno" + +#: gajim/gtk/themes.py:224 +msgid "Name default is not allowed" +msgstr "" + +#: gajim/gtk/themes.py:231 +#, fuzzy +msgid "Spaces are not allowed" +msgstr "Znak nebyl povolen" + +#: gajim/gtk/themes.py:356 +#, fuzzy +msgid "Do you want to delete this theme?" +msgstr "Vážně chcete smazat vybranou zprávu?" + +#: gajim/gtk/themes.py:358 +#, fuzzy +msgid "" +"This is the theme you are currently using.\n" +"Do you want to delete this theme?" +msgstr "Toto jméno je již použito. Chcete přepsat text stavu?" + +#: gajim/gtk/themes.py:363 +#, fuzzy +msgid "Delete Theme" +msgstr "Aktivní" + +#: gajim/gtk/themes.py:390 +#, fuzzy +msgid "Remove Setting" +msgstr "Registrace selhala" + +#: gajim/gtk/filetransfer_progress.py:62 +#, fuzzy +msgid "Upload Failed" +msgstr "Uložit jako..." + +#: gajim/gtk/filetransfer_progress.py:113 +#, fuzzy, python-format +msgid "%(progress)s of %(total)s" +msgstr "Přenos souboru %(filename)s od %(name)s byl zastaven." + +#: gajim/gtk/filetransfer_progress.py:130 +#, python-format +msgid "%(minutes)s min %(seconds)s sec" +msgstr "" + +#: gajim/gtk/add_contact.py:32 +#, fuzzy +msgid "GG Number" +msgstr "GG číslo: " + +#: gajim/gtk/add_contact.py:33 +#, fuzzy +msgid "ICQ Number" +msgstr "ICQ číslo: " + +#: gajim/gtk/add_contact.py:42 +#, fuzzy +msgid "Add Contact" +msgstr "Přid_at kontakt..." + +#: gajim/gtk/add_contact.py:260 +#, fuzzy, python-format +msgid "%s Missing" +msgstr "%s MiB" + +#: gajim/gtk/add_contact.py:261 +#, python-format +msgid "You must supply the %s of the new contact." +msgstr "" + +#: gajim/gtk/add_contact.py:288 gajim/gtk/add_contact.py:294 +#: gajim/gtk/add_contact.py:299 +msgid "Invalid User ID" +msgstr "Neplatný identifikátor uživatele" + +#: gajim/gtk/add_contact.py:295 +msgid "The user ID must not contain a resource." +msgstr "User ID nesmí obsahovat zdroj." + +#: gajim/gtk/add_contact.py:300 +#, fuzzy +msgid "You cannot add yourself to your contact list." +msgstr "Rád(a) bych si tě přidal(a) do seznamu." + +#: gajim/gtk/add_contact.py:305 +#, fuzzy +msgid "Account Offline" +msgstr "Odpojen" + +#: gajim/gtk/add_contact.py:306 +msgid "Your account must be online to add new contacts." +msgstr "" + +#: gajim/gtk/add_contact.py:322 +#, fuzzy +msgid "Contact Already in Contact List" +msgstr "Kontakt už je v Seznamu" + +#: gajim/gtk/add_contact.py:323 +#, fuzzy +msgid "This contact is already in your contact list." +msgstr "Tento kontakt už je obsažen ve Vašem seznamu." + +#: gajim/gtk/add_contact.py:381 gajim/gtk/add_contact.py:419 +msgid "User ID:" +msgstr "Uživatel:" + +#: gajim/gtk/add_contact.py:486 +#, fuzzy +msgid "Error while adding transport contact" +msgstr "Chyba při přidávání služby. %s" + +#: gajim/gtk/add_contact.py:487 +#, python-format +msgid "" +"This error occurred while adding a contact for transport %(transport)s:\n" +"\n" +"%(error)s" +msgstr "" + +#: gajim/gtk/account_wizard.py:61 gajim/data/gui/account_wizard.ui:631 +#, fuzzy +msgid "Sign Up" +msgstr "_Přihlásí" + +#: gajim/gtk/account_wizard.py:63 +#, fuzzy +msgid "Connect" +msgstr "Spojeno" + +#: gajim/gtk/account_wizard.py:64 gajim/gtk/adhoc.py:102 +msgid "Next" +msgstr "" + +#: gajim/gtk/account_wizard.py:65 +msgid "Log In" +msgstr "" + +#: gajim/gtk/account_wizard.py:67 gajim/gtk/remove_account.py:44 +#: gajim/gtk/change_password.py:45 gajim/gtk/accounts.py:384 +#, fuzzy +msgid "Back" +msgstr "Hned jsem zpět" + +#: gajim/gtk/account_wizard.py:80 +msgid "An error occurred during account creation" +msgstr "Nastala chyba při vytváření účtu" + +#: gajim/gtk/account_wizard.py:166 +#, fuzzy +msgid "Creating Account..." +msgstr "Odstraňuju účet %s" + +#: gajim/gtk/account_wizard.py:167 +#, fuzzy +msgid "Trying to create account..." +msgstr "Klikněte pro změnu hesla k účtu" + +#: gajim/gtk/account_wizard.py:277 gajim/gtk/account_wizard.py:296 +#: gajim/gtk/account_wizard.py:313 +#, fuzzy +msgid "Connecting to server..." +msgstr "Připojuji se" + +#: gajim/gtk/account_wizard.py:367 gajim/gtk/account_wizard.py:368 +msgid "Anonymous login not supported" +msgstr "" + +#: gajim/gtk/account_wizard.py:369 +#, fuzzy +msgid "This server does not support anonymous login." +msgstr "Váš server nepodporuje vizitky." + +#: gajim/gtk/account_wizard.py:372 gajim/common/client.py:284 +#: gajim/common/const.py:958 gajim/common/const.py:959 +#: gajim/common/const.py:960 gajim/common/const.py:963 +#, fuzzy +msgid "Authentication failed" +msgstr "Autentizace selhala s \"%s\"" + +#: gajim/gtk/account_wizard.py:384 gajim/gtk/account_wizard.py:385 +#, fuzzy +msgid "Signup not allowed" +msgstr "Znak nebyl povolen" + +#: gajim/gtk/account_wizard.py:386 +#, fuzzy +msgid "This server does not allow signup." +msgstr "Váš server nepodporuje vizitky." + +#: gajim/gtk/account_wizard.py:395 gajim/gtk/account_wizard.py:432 +#: gajim/gtk/account_wizard.py:433 gajim/gtk/account_wizard.py:520 +#: gajim/gtk/groupchat_config.py:132 gajim/gtk/groupchat_config.py:399 +#: gajim/gtk/history.py:591 gajim/gtk/search.py:336 +msgid "Error" +msgstr "Chyba" + +#: gajim/gtk/account_wizard.py:402 gajim/gtk/account_wizard.py:403 +#, fuzzy +msgid "Connection failed" +msgstr "Spojení selhalo" + +#: gajim/gtk/account_wizard.py:404 +msgid "" +"Gajim was not able to reach the server. Make sure your XMPP address is " +"correct." +msgstr "" + +#: gajim/gtk/account_wizard.py:459 +#, fuzzy +msgid "Account is being created" +msgstr "Účet \"%s\" se připojil k serveru" + +#: gajim/gtk/account_wizard.py:518 +msgid "The server rejected the registration without an error message" +msgstr "" + +#: gajim/gtk/account_wizard.py:530 gajim/gtk/accounts.py:572 +#, fuzzy +msgid "Add Account" +msgstr "Přid_at kontakt..." + +#: gajim/gtk/account_wizard.py:612 gajim/gtk/groupchat_creation.py:138 +#, fuzzy +msgid "Invalid Address" +msgstr "Neplatný soubor" + +#: gajim/gtk/account_wizard.py:636 +#, fuzzy +msgid "Create New Account" +msgstr "Vytvoř nový zápis" + +#: gajim/gtk/account_wizard.py:712 +#, fuzzy +msgid "Advanced settings" +msgstr "Pokročilé akce" + +#: gajim/gtk/account_wizard.py:774 +#, fuzzy +msgid "Invalid domain name" +msgstr "Neplatné jméno účtu" + +#: gajim/gtk/account_wizard.py:791 +#, fuzzy +msgid "Must be a port number" +msgstr "Vlastní port musí být číslo portu." + +#: gajim/gtk/account_wizard.py:798 +msgid "Port must be a number between 0 and 65535" +msgstr "" + +#: gajim/gtk/account_wizard.py:814 +#, fuzzy +msgid "Security Warning" +msgstr "Zakazuji %s" + +#: gajim/gtk/account_wizard.py:833 +#, fuzzy, python-format +msgid "Unknown TLS error '%s'" +msgstr "Neznámá SSL chyba: %d" + +#: gajim/gtk/account_wizard.py:868 gajim/gtk/account_wizard.py:871 +#, fuzzy +msgid "Create Account" +msgstr "Odstraňuju účet %s" + +#: gajim/gtk/account_wizard.py:922 +msgid "Redirect" +msgstr "" + +#: gajim/gtk/account_wizard.py:932 +#, fuzzy +msgid "Register on the Website" +msgstr "Registrovat k %s" + +#: gajim/gtk/account_wizard.py:943 +#, fuzzy +msgid "Account Added" +msgstr "Účet" + +#: gajim/gtk/account_wizard.py:944 +msgid "Account has been added successfully" +msgstr "Účet byl úspěšně přidán" + +#: gajim/gtk/groupchat_invitation.py:57 +#, fuzzy +msgid "" +"has invited you to a group chat.\n" +"Do you want to join?" +msgstr "Vyber diskuze, které chceš opustit" + +#: gajim/gtk/groupchat_invitation.py:75 gajim/gtk/discovery.py:1706 +#: gajim/gtk/groupchat_join.py:68 gajim/data/gui/groupchat_control.ui:899 +#: gajim/data/gui/groupchat_control.ui:991 +#: gajim/data/gui/start_chat_dialog.ui:314 +msgid "_Join" +msgstr "_Vstoupit" + +#: gajim/gtk/tooltips.py:215 +#, python-format +msgid "%(owner_or_admin_or_member)s of this group chat" +msgstr "%(owner_or_admin_or_member)s této diskuze" + +#: gajim/gtk/tooltips.py:474 +msgid "Connected" +msgstr "Spojeno" + +#: gajim/gtk/tooltips.py:476 +msgid "Disconnected" +msgstr "Odpojenol" + +#: gajim/gtk/tooltips.py:530 +#, fuzzy +msgid "File Name: " +msgstr "Soubor: %s" + +#: gajim/gtk/tooltips.py:533 +#, fuzzy +msgid "?Noun:Download" +msgstr "Stáhnout" + +#: gajim/gtk/tooltips.py:534 gajim/gtk/filetransfer.py:747 +msgid "Sender: " +msgstr "Odesílatel: " + +#: gajim/gtk/tooltips.py:539 +#, fuzzy +msgid "?Noun:Upload" +msgstr "Nahrát" + +#: gajim/gtk/tooltips.py:540 gajim/gtk/filetransfer.py:240 +#: gajim/gtk/filetransfer.py:749 +msgid "Recipient: " +msgstr "Příjemce: " + +#: gajim/gtk/tooltips.py:546 +#, fuzzy +msgid "?transfer type:Type: " +msgstr "Přenos souboru zastaven" + +#: gajim/gtk/tooltips.py:552 +#, fuzzy +msgid "?transfer status:Transferred: " +msgstr "?transfer status:Pozastaveno" + +#: gajim/gtk/tooltips.py:555 +#, fuzzy +msgid "?transfer status:Status: " +msgstr "?transfer status:Pozastaveno" + +#: gajim/gtk/tooltips.py:557 +msgid "Description: " +msgstr "Popis:" + +#: gajim/gtk/tooltips.py:581 +#, fuzzy +msgid "?transfer status:Aborted" +msgstr "?transfer status:Pozastaveno" + +#: gajim/gtk/tooltips.py:583 +#, fuzzy +msgid "?transfer status:Completed" +msgstr "?transfer status:Pozastaveno" + +#: gajim/gtk/tooltips.py:585 +msgid "?transfer status:Paused" +msgstr "?transfer status:Pozastaveno" + +#: gajim/gtk/tooltips.py:588 +#, fuzzy +msgid "?transfer status:Stalled" +msgstr "?transfer status:Pozastaveno" + +#: gajim/gtk/tooltips.py:592 +#, fuzzy +msgid "?transfer status:Transferring" +msgstr "?transfer status:Pozastaveno" + +#: gajim/gtk/tooltips.py:593 gajim/gtk/tooltips.py:594 +#, fuzzy +msgid "?transfer status:Not started" +msgstr "?transfer status:Pozastaveno" + +#: gajim/gtk/remove_account.py:42 gajim/gtk/accounts.py:341 +#, fuzzy +msgid "Remove" +msgstr "Odst_ranit" + +#: gajim/gtk/remove_account.py:49 +#, fuzzy +msgid "Removing Account..." +msgstr "Odstraňuju účet %s" + +#: gajim/gtk/remove_account.py:50 +msgid "Trying to remove account..." +msgstr "" + +#: gajim/gtk/remove_account.py:53 gajim/gtk/remove_account.py:54 +#, fuzzy +msgid "Account Removed" +msgstr "Účet" + +#: gajim/gtk/remove_account.py:56 +#, fuzzy +msgid "Your account has has been removed successfully." +msgstr "Váš účet byl úspěšně vytvořen" + +#: gajim/gtk/remove_account.py:59 gajim/gtk/remove_account.py:60 +#, fuzzy +msgid "Account Removal Failed" +msgstr "Žádný účet není dostupný" + +#: gajim/gtk/remove_account.py:171 gajim/gtk/remove_account.py:173 +#, fuzzy +msgid "Remove Account" +msgstr "Odstraňuju účet %s" + +#: gajim/gtk/remove_account.py:180 +#, fuzzy +msgid "This will remove your account from Gajim." +msgstr "Odstranit účet _pouze z Gajimu" + +#: gajim/gtk/remove_account.py:189 +#, python-format +msgid "Do you want to unregister your account on %s as well?" +msgstr "" + +#: gajim/gtk/remove_account.py:198 +msgid "_Unregister account from service" +msgstr "" + +#: gajim/gtk/remove_account.py:217 +#, fuzzy +msgid "Account has to be connected" +msgstr "Účet \"%s\" se připojil k serveru" + +#: gajim/gtk/filetransfer.py:91 +msgid "File" +msgstr "Soubor" + +#: gajim/gtk/filetransfer.py:108 +msgid "Time" +msgstr "Čas" + +#: gajim/gtk/filetransfer.py:121 gajim/data/gui/filetransfer_progress.ui:110 +msgid "Progress" +msgstr "Průběh" + +#: gajim/gtk/filetransfer.py:228 +#, fuzzy, python-format +msgid "File name: %s" +msgstr "Soubor: %s" + +#: gajim/gtk/filetransfer.py:229 gajim/gtk/filetransfer.py:470 +#, python-format +msgid "Size: %s" +msgstr "Velikost: %s" + +#: gajim/gtk/filetransfer.py:239 +#, python-format +msgid "Sender: %s" +msgstr "Odesílatel: %s" + +#: gajim/gtk/filetransfer.py:251 +#, python-format +msgid "Saved in: %s" +msgstr "Uloženo do: %s" + +#: gajim/gtk/filetransfer.py:256 +msgid "File transfer completed" +msgstr "Přenos soubor dokončen" + +#: gajim/gtk/filetransfer.py:276 gajim/gtk/filetransfer.py:285 +#, fuzzy +msgid "Connection with peer could not be established." +msgstr "Spojení s protistranou se nepodařilo navázat." + +#: gajim/gtk/filetransfer.py:293 +#, python-format +msgid "Filename: %s" +msgstr "Soubor: %s" + +#: gajim/gtk/filetransfer.py:294 +#, python-format +msgid "Recipient: %s" +msgstr "Příjemce: %s" + +#: gajim/gtk/filetransfer.py:296 +#, python-format +msgid "Error message: %s" +msgstr "Chybová zpráva: %s" + +#: gajim/gtk/filetransfer.py:335 +#, python-format +msgid "" +"The file %s has been received, but it seems to have been damaged along the " +"way.\n" +"Do you want to download it again?" +msgstr "" + +#: gajim/gtk/filetransfer.py:341 +#, fuzzy +msgid "_Download Again" +msgstr "Příště _nezobrazovat" + +#: gajim/gtk/filetransfer.py:356 +#, fuzzy +msgid "Gajim can not read this file" +msgstr "Gajim nemůže otevřít tento soubor" + +#: gajim/gtk/filetransfer.py:357 +msgid "Another process is using this file." +msgstr "" + +#: gajim/gtk/filetransfer.py:399 +#, fuzzy, python-format +msgid "Cannot overwrite existing file '%s'" +msgstr "Nemohu přepsat existující soubor \"%s\"" + +#: gajim/gtk/filetransfer.py:400 +msgid "" +"A file with this name already exists and you do not have permission to " +"overwrite it." +msgstr "Soubor tohoto jména již existuje a ty nemáš oprávnění k jeho přepsání." + +#: gajim/gtk/filetransfer.py:424 +#, fuzzy +msgid "File Transfer Conflict" +msgstr "Přenos souboru dokončen" + +#: gajim/gtk/filetransfer.py:425 +#, fuzzy +msgid "File already exists" +msgstr "Tento soubor už existuje" + +#: gajim/gtk/filetransfer.py:426 +msgid "Resume download or replace file?" +msgstr "" + +#: gajim/gtk/filetransfer.py:430 +#, fuzzy +msgid "Resume _Download" +msgstr "Stáhnout" + +#: gajim/gtk/filetransfer.py:433 +#, fuzzy +msgid "Replace _File" +msgstr "Uklízím" + +#: gajim/gtk/filetransfer.py:443 +#, fuzzy, python-format +msgid "Directory '%s' is not writable" +msgstr "Adresář \"%s\" není zapisovatelný" + +#: gajim/gtk/filetransfer.py:444 +#, fuzzy +msgid "You do not have permissions to create files in this directory." +msgstr "Nemáš oprávnění k vytváření souborů v tomto adresáři." + +#: gajim/gtk/filetransfer.py:467 +#, python-format +msgid "File: %s" +msgstr "Soubor: %s" + +#: gajim/gtk/filetransfer.py:473 +#, python-format +msgid "Type: %s" +msgstr "Typ: %s" + +#: gajim/gtk/filetransfer.py:475 +#, python-format +msgid "Description: %s" +msgstr "Popis: %s" + +#: gajim/gtk/filetransfer.py:486 +#, fuzzy, python-format +msgid "%s wants to send you a file" +msgstr "%s Vám chce poslat soubor." + +#: gajim/gtk/filetransfer.py:514 +#, fuzzy +msgid "Checking file…" +msgstr "Odesílám profil..." + +#: gajim/gtk/filetransfer.py:529 +#, fuzzy +msgid "File error" +msgstr "Chyba přenosu souboru" + +#: gajim/gtk/filetransfer.py:566 +#, python-format +msgid "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" +msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" + +#: gajim/gtk/filetransfer.py:663 +#, python-format +msgid "(%(filesize_unit)s/s)" +msgstr "(%(filesize_unit)s/s)" + +#: gajim/gtk/filetransfer.py:716 gajim/gtk/filetransfer.py:720 +msgid "Invalid File" +msgstr "Neplatný soubor" + +#: gajim/gtk/filetransfer.py:716 +msgid "File: " +msgstr "Soubor: " + +#: gajim/gtk/filetransfer.py:721 +msgid "It is not possible to send empty files" +msgstr "Není možné posílat prázdné soubory" + +#: gajim/gtk/filetransfer.py:1043 +#, fuzzy +msgid "Choose a File to Send…" +msgstr "Vyber soubor k odeslání..." + +#: gajim/gtk/roster_item_exchange.py:35 +#: gajim/data/gui/roster_item_exchange_window.ui:39 +#, fuzzy +msgid "Contact List Exchange" +msgstr "Výměna položky rosteru" + +#: gajim/gtk/roster_item_exchange.py:49 +#, fuzzy, python-format +msgid "%s would like to add some contacts to your contact list." +msgstr "Chtěl(a) bych si Vás přidat do mého Seznamu." + +#: gajim/gtk/roster_item_exchange.py:52 +#, fuzzy, python-format +msgid "%s would like to modify some contacts in your contact list." +msgstr "" +"%(jid)s by chtěl(a), aby jste %(action)s některé kontakty z " +"vašeho rosteru." + +#: gajim/gtk/roster_item_exchange.py:55 +#, fuzzy, python-format +msgid "%s would like to delete some contacts from your contact list." +msgstr "" +"%(jid)s by chtěl(a), aby jste %(action)s některé kontakty z " +"vašeho rosteru." + +#: gajim/gtk/roster_item_exchange.py:71 gajim/gtk/roster_item_exchange.py:130 +msgid "Add" +msgstr "Přidat" + +#: gajim/gtk/roster_item_exchange.py:73 gajim/gtk/roster_item_exchange.py:161 +msgid "Modify" +msgstr "Upravit" + +#: gajim/gtk/roster_item_exchange.py:80 +msgid "JID" +msgstr "JID" + +#: gajim/gtk/roster_item_exchange.py:86 +msgid "Groups" +msgstr "Skupiny" + +#: gajim/gtk/roster_item_exchange.py:196 +#, fuzzy, python-format +msgid "%s suggested me to add you to my contact list." +msgstr "%s mi doporučila přidat si Vás od mého rosteru." + +#: gajim/gtk/roster_item_exchange.py:211 +#, fuzzy, python-format +msgid "Added %d contact" +msgid_plural "Added %d contacts" +msgstr[0] "Přidáno %s kontaktů" +msgstr[1] "Přidáno %s kontaktů" +msgstr[2] "Přidáno %s kontaktů" + +#: gajim/gtk/roster_item_exchange.py:253 +#, fuzzy, python-format +msgid "Removed %d contact" +msgid_plural "Removed %d contacts" +msgstr[0] "Odstraněno %s kontaktů" +msgstr[1] "Odstraněno %s kontaktů" +msgstr[2] "Odstraněno %s kontaktů" + +#: gajim/gtk/groupchat_creation.py:45 gajim/data/gui/groupchat_creation.ui:81 +#, fuzzy +msgid "Create Group Chat" +msgstr "Opustit diskuzi" + +#: gajim/gtk/groupchat_creation.py:101 gajim/gtk/groupchat_creation.py:103 +msgid " (optional)..." +msgstr "" + +#: gajim/gtk/groupchat_creation.py:186 +#, fuzzy +msgid "Not Connected" +msgstr "Spojeno" + +#: gajim/gtk/groupchat_creation.py:187 +#, fuzzy +msgid "You have to be connected to create a group chat." +msgstr "Nepřipojil jsi se k diskuzi." + +#: gajim/gtk/status_selector.py:121 gajim/gtk/status_selector.py:127 +#, fuzzy, python-format +msgid "Status: %s" +msgstr "Stav: " + +# FIXME: mozna nejak lepe? :/ +#: gajim/gtk/status_selector.py:125 +#, fuzzy, python-format +msgid "%s (desynced)" +msgstr "nesynchronizováno" + +#: gajim/gtk/subscription_request.py:35 +msgid "Subscription Request" +msgstr "Žádost o autorizaci" + +#: gajim/gtk/subscription_request.py:47 +#, python-format +msgid "Subscription request for account %(account)s from %(jid)s" +msgstr "Žádost o autorizaci na účtu %(account)s od %(jid)s" + +#: gajim/gtk/subscription_request.py:50 +#, python-format +msgid "Subscription request from %s" +msgstr "Žádost o autorizaci od %s" + +#: gajim/gtk/single_message.py:51 +msgid "Send Single Message" +msgstr "Ode_slat jednoduchou zprávu" + +#: gajim/gtk/single_message.py:101 +#, fuzzy +msgid "(No subject)" +msgstr "předmět" + +#: gajim/gtk/single_message.py:157 +#, python-format +msgid "Single Message using account %s" +msgstr "Jednoduchá zpráva z účtu %s" + +#: gajim/gtk/single_message.py:159 +#, python-format +msgid "Single Message in account %s" +msgstr "Jednoduchá zpráva z účtu %s" + +#: gajim/gtk/single_message.py:161 +msgid "Single Message" +msgstr "Jednoduchá zpráva" + +#: gajim/gtk/single_message.py:164 +#, python-format +msgid "Send %s" +msgstr "Odeslat %s" + +#: gajim/gtk/single_message.py:183 +#, python-format +msgid "Received %s" +msgstr "Přijaté %s" + +#: gajim/gtk/single_message.py:205 +#, fuzzy, python-format +msgid "Characters typed: %s" +msgstr "Znak nebyl povolen" + +#: gajim/gtk/single_message.py:210 gajim/gtk/xml_console.py:169 +msgid "Connection not available" +msgstr "Spojení není dostupné" + +#: gajim/gtk/single_message.py:211 +#, python-format +msgid "Please make sure you are connected with \"%s\"." +msgstr "Prosím ujistěte se že jste připojen s účtem \"%s\"." + +#: gajim/gtk/single_message.py:239 +#, fuzzy, python-format +msgid "" +"It is not possible to send a message to %s, this XMPP Address is not valid." +msgstr "Není možné poslat zprávu kontaktu %s, takové JID není platné." + +#: gajim/gtk/single_message.py:316 +#, python-format +msgid "RE: %s" +msgstr "RE: %s" + +#: gajim/gtk/single_message.py:317 +#, python-format +msgid "%s wrote:\n" +msgstr "%s napsal(a):\n" + +#: gajim/gtk/change_password.py:42 +#, fuzzy +msgid "Change" +msgstr "Změ_nit přezdívku" + +#: gajim/gtk/change_password.py:51 +#, fuzzy +msgid "Changing Password..." +msgstr "Změnit heslo" + +#: gajim/gtk/change_password.py:52 +#, fuzzy +msgid "Trying to change password..." +msgstr "Klikněte pro změnu hesla k účtu" + +#: gajim/gtk/change_password.py:55 gajim/gtk/change_password.py:56 +#, fuzzy +msgid "Password Changed" +msgstr "Vyžadováno heslo" + +#: gajim/gtk/change_password.py:57 +#, fuzzy +msgid "Your password has successfully been changed." +msgstr "_Nastavení" + +#: gajim/gtk/change_password.py:60 gajim/gtk/change_password.py:61 +#, fuzzy +msgid "Password Change Failed" +msgstr "Vyžadováno heslo" + +#: gajim/gtk/change_password.py:63 +#, fuzzy +msgid "An error occurred while trying to change your password." +msgstr "Nastala chyba při vytváření účtu" + +#: gajim/gtk/change_password.py:145 gajim/gtk/change_password.py:147 +#: gajim/gtk/change_password.py:224 gajim/gtk/accounts.py:994 +msgid "Change Password" +msgstr "Změnit heslo" + +#: gajim/gtk/change_password.py:154 +#, fuzzy +msgid "Please enter your new password." +msgstr "Vytvořte vaše nové téma." + +#: gajim/gtk/change_password.py:167 +#, fuzzy +msgid "Enter new password..." +msgstr "Zadejte heslo:" + +#: gajim/gtk/change_password.py:176 +#, fuzzy +msgid "Confirm new password..." +msgstr "Změnit heslo" + +#: gajim/gtk/change_password.py:191 +msgid "Passwords do not match" +msgstr "Hesla se neshodují" + +#: gajim/gtk/bookmarks.py:48 +#, fuzzy, python-format +msgid "Bookmarks for %s" +msgstr "_Záložky" + +#: gajim/gtk/xml_console.py:95 gajim/gtk/xml_console.py:279 +#, fuzzy +msgid "All Accounts" +msgstr "Účty" + +#: gajim/gtk/xml_console.py:170 +#, fuzzy, python-format +msgid "Please make sure you are connected with '%s'." +msgstr "Prosím ujistěte se že jste připojen s účtem \"%s\"." + +#: gajim/gtk/xml_console.py:180 +#, fuzzy +msgid "Invalid Node" +msgstr "Neplatný soubor" + +#: gajim/gtk/xml_console.py:282 +msgid "Account" +msgstr "Účet" + +#: gajim/gtk/xml_console.py:309 gajim/data/gui/xml_console.ui:241 +#, fuzzy +msgid "Filter" +msgstr "Filtr:" + +#: gajim/gtk/dataform.py:252 gajim/gtk/dataform.py:290 +#, fuzzy +msgid "Required" +msgstr "Vyžadováno heslo" + +#: gajim/gtk/dataform.py:315 +msgid "Yes" +msgstr "Ano" + +#: gajim/gtk/dataform.py:315 +#, fuzzy +msgid "No" +msgstr "Žádný" + +#: gajim/gtk/dataform.py:701 gajim/gtk/adhoc.py:86 +#: gajim/data/gui/profile.ui:396 +#, fuzzy +msgid "Cancel" +msgstr "_Zrušit" + +#: gajim/gtk/dataform.py:703 +msgid "Submit" +msgstr "" + +#: gajim/gtk/discovery.py:69 +msgid "This service has not yet responded with detailed information" +msgstr "Tato služba dosud neodpověděla s detaily" + +#: gajim/gtk/discovery.py:70 +#, fuzzy +msgid "" +"This service could not respond with detailed information.\n" +"It is most likely a legacy service or broken." +msgstr "" +"Tato služba nemůže odpovědět s více podrobnostmi.\n" +"Pravděpodobně je stará nebo rozbitá" + +#: gajim/gtk/discovery.py:126 +msgid "Others" +msgstr "Ostatní" + +#: gajim/gtk/discovery.py:129 gajim/data/gui/shortcuts_window.ui:307 +#, fuzzy +msgid "Group Chat" +msgstr "Diskuze" + +#: gajim/gtk/discovery.py:523 +msgid "Without a connection, you can not browse available services" +msgstr "Bez spojení nemůžete prohlížet dostupné služby" + +#: gajim/gtk/discovery.py:610 +#, python-format +msgid "Service Discovery using account %s" +msgstr "Procházení služeb s použitím účtu %s" + +#: gajim/gtk/discovery.py:612 +msgid "Service Discovery" +msgstr "Service Discovery" + +#: gajim/gtk/discovery.py:695 +msgid "The service could not be found" +msgstr "Tato služba nebyla nalezena" + +#: gajim/gtk/discovery.py:696 +msgid "" +"There is no service at the address you entered, or it is not responding. " +"Check the address and try again." +msgstr "" +"Služba na zadané adrese neexistuje, nebo neodpovídá. Zkontrolujte adresu a " +"opakujte znovu." + +#: gajim/gtk/discovery.py:703 gajim/gtk/discovery.py:1046 +msgid "The service is not browsable" +msgstr "Službu nelze prohlížet" + +#: gajim/gtk/discovery.py:704 +msgid "This type of service does not contain any items to browse." +msgstr "Tento typ služby neobsahuje žádné položky, které je možné prohlížet." + +#: gajim/gtk/discovery.py:742 gajim/gtk/discovery.py:751 +msgid "Invalid Server Name" +msgstr "Neplatné jméno serveru" + +#: gajim/gtk/discovery.py:810 +#, python-format +msgid "Browsing %(address)s using account %(account)s" +msgstr "Procházím %(address)s pomocí účtu %(account)s" + +#: gajim/gtk/discovery.py:855 +#, fuzzy +msgid "Browse" +msgstr "_Prohlížet" + +#: gajim/gtk/discovery.py:1047 +msgid "This service does not contain any items to browse." +msgstr "Tato služba neobsahuje žádné položky, které je možno prohlížet." + +#: gajim/gtk/discovery.py:1259 +#, fuzzy +msgid "_Command" +msgstr "Příkazy: %s" + +#: gajim/gtk/discovery.py:1268 gajim/gtk/discovery.py:1425 +msgid "Re_gister" +msgstr "Re_gistrace" + +#: gajim/gtk/discovery.py:1275 +#, fuzzy +msgid "Join" +msgstr "_Vstoupit" + +#: gajim/gtk/discovery.py:1281 +msgid "_Search" +msgstr "_Najít" + +#: gajim/gtk/discovery.py:1423 gajim/data/gui/profile.ui:353 +msgid "_Edit" +msgstr "_Úpravy" + +#: gajim/gtk/discovery.py:1461 +#, fuzzy, python-format +msgid "Scanning %(current)d / %(total)d ..." +msgstr "Skenuji %(current)d / %(total)d.." + +#: gajim/gtk/discovery.py:1660 +msgid "Users" +msgstr "Uživatelé" + +#: gajim/gtk/discovery.py:1668 gajim/data/gui/groupchat_info_scrolled.ui:32 +#: gajim/data/gui/filetransfers_send_file_dialog.ui:15 +#: gajim/data/gui/advanced_configuration.ui:82 +msgid "Description" +msgstr "Popis" + +#: gajim/gtk/discovery.py:1676 +msgid "Id" +msgstr "č." + +#: gajim/gtk/discovery.py:1905 +msgid "Subscribed" +msgstr "Autorizován" + +#: gajim/gtk/discovery.py:1914 +msgid "Node" +msgstr "Uzel" + +#: gajim/gtk/discovery.py:1983 +#, fuzzy +msgid "_New post" +msgstr "Nový záznam" + +#: gajim/gtk/discovery.py:1992 +msgid "_Subscribe" +msgstr "_Žádat autorizaci" + +#: gajim/gtk/discovery.py:2000 +msgid "_Unsubscribe" +msgstr "_Zrušit autorizaci" + +#: gajim/gtk/groupchat_settings.py:43 +msgid "Show Join/Leave" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:53 +#, fuzzy +msgid "Notify on all Messages" +msgstr "Uložené stavy:" + +#: gajim/gtk/groupchat_settings.py:58 +#, fuzzy +msgid "Minimize on Close" +msgstr "_Minimalizovat při zavření" + +#: gajim/gtk/groupchat_settings.py:63 +#, fuzzy +msgid "Minimize When Joining Automatically" +msgstr "Minimalizovat po připojení" + +#: gajim/gtk/groupchat_settings.py:68 +#, fuzzy +msgid "Send Chat State" +msgstr "Poslední stav: %s" + +#: gajim/gtk/groupchat_settings.py:74 +#, fuzzy +msgid "Send Chat Markers" +msgstr "Poslední stav: %s" + +#: gajim/gtk/groupchat_settings.py:77 +msgid "Let others know if you read up to this point" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:80 +msgid "Sync Threshold" +msgstr "" + +#: gajim/gtk/proxies.py:33 +#, fuzzy +msgid "Manage Proxies" +msgstr "Spravovat profily Proxy" + +#: gajim/gtk/manage_sounds.py:40 +#, fuzzy +msgid "Manage Sounds" +msgstr "Spravovat účty" + +#: gajim/gtk/manage_sounds.py:51 +msgid "Wav Sounds" +msgstr "Waw soubory" + +#: gajim/gtk/manage_sounds.py:85 +#, fuzzy +msgid "Attention Message Received" +msgstr "První zpráva přijata" + +#: gajim/gtk/manage_sounds.py:86 +msgid "First Message Received" +msgstr "První zpráva přijata" + +#: gajim/gtk/manage_sounds.py:87 +msgid "Next Message Received Focused" +msgstr "Další zpráva přijata zvýrazněná" + +#: gajim/gtk/manage_sounds.py:88 +msgid "Next Message Received Unfocused" +msgstr "Další zpráva přijata nezvýrazněná" + +#: gajim/gtk/manage_sounds.py:89 +msgid "Contact Connected" +msgstr "Kontakt se připojil" + +#: gajim/gtk/manage_sounds.py:90 +msgid "Contact Disconnected" +msgstr "Kontakt se odpojil" + +#: gajim/gtk/manage_sounds.py:91 +msgid "Message Sent" +msgstr "Zpráva odeslána" + +#: gajim/gtk/manage_sounds.py:92 +msgid "Group Chat Message Highlight" +msgstr "Zvýraznění zprávy v diskuzi" + +#: gajim/gtk/manage_sounds.py:93 +msgid "Group Chat Message Received" +msgstr "Přijetí zprávy v diskuzi" + +#: gajim/gtk/groupchat_info.py:38 +#, fuzzy +msgid "?Group chat feature:Open" +msgstr "?Group Chat Contact Role:Žádná" + +#: gajim/gtk/groupchat_info.py:39 +#, fuzzy +msgid "Anyone can join this group chat" +msgstr "%s vstoupil do místnosti" + +#: gajim/gtk/groupchat_info.py:42 +#, fuzzy +msgid "?Group chat feature:Members Only" +msgstr "Zvýraznění zprávy v diskuzi" + +#: gajim/gtk/groupchat_info.py:43 +msgid "This group chat is restricted to members only" +msgstr "" + +#: gajim/gtk/groupchat_info.py:47 +#, fuzzy +msgid "?Group chat feature:Not Anonymous" +msgstr "Diskuze" + +#: gajim/gtk/groupchat_info.py:48 +msgid "All other group chat participants can see your XMPP address" +msgstr "" + +#: gajim/gtk/groupchat_info.py:52 +#, fuzzy +msgid "?Group chat feature:Semi-Anonymous" +msgstr "Zvýraznění zprávy v diskuzi" + +#: gajim/gtk/groupchat_info.py:53 +msgid "Only moderators can see your XMPP address" +msgstr "" + +#: gajim/gtk/groupchat_info.py:56 +#, fuzzy +msgid "?Group chat feature:Moderated" +msgstr "?Group Chat Contact Role:Žádná" + +#: gajim/gtk/groupchat_info.py:57 +msgid "" +"Participants entering this group chat need to request permission to send " +"messages" +msgstr "" + +#: gajim/gtk/groupchat_info.py:61 +#, fuzzy +msgid "?Group chat feature:Not Moderated" +msgstr "Diskuze" + +#: gajim/gtk/groupchat_info.py:62 +msgid "Participants entering this group chat are allowed to send messages" +msgstr "" + +#: gajim/gtk/groupchat_info.py:66 +#, fuzzy +msgid "?Group chat feature:Public" +msgstr "Zvýraznění zprávy v diskuzi" + +#: gajim/gtk/groupchat_info.py:67 +msgid "Group chat can be found via search" +msgstr "" + +#: gajim/gtk/groupchat_info.py:70 +#, fuzzy +msgid "?Group chat feature:Hidden" +msgstr "?Group Chat Contact Role:Žádná" + +#: gajim/gtk/groupchat_info.py:71 +#, fuzzy +msgid "This group chat can not be found via search" +msgstr "Místnost nemá žádné téma" + +#: gajim/gtk/groupchat_info.py:74 +#, fuzzy +msgid "?Group chat feature:Password Required" +msgstr "Diskuze" + +#: gajim/gtk/groupchat_info.py:75 +msgid "This group chat does require a password upon entry" +msgstr "" + +#: gajim/gtk/groupchat_info.py:79 +#, fuzzy +msgid "?Group chat feature:No Password Required" +msgstr "Diskuze" + +#: gajim/gtk/groupchat_info.py:80 +msgid "This group chat does not require a password upon entry" +msgstr "" + +#: gajim/gtk/groupchat_info.py:84 +#, fuzzy +msgid "?Group chat feature:Persistent" +msgstr "Diskuze" + +#: gajim/gtk/groupchat_info.py:85 +msgid "This group chat persists even if there are no participants" +msgstr "" + +#: gajim/gtk/groupchat_info.py:89 +#, fuzzy +msgid "?Group chat feature:Temporary" +msgstr "?Group Chat Contact Role:Žádná" + +#: gajim/gtk/groupchat_info.py:90 +msgid "This group chat will be destroyed once the last participant left" +msgstr "" + +#: gajim/gtk/groupchat_info.py:94 +#, fuzzy +msgid "?Group chat feature:Archiving" +msgstr "Skupinová pozvánka" + +#: gajim/gtk/groupchat_info.py:95 +#, fuzzy +msgid "Messages are archived on the server" +msgstr "Sezení NEBUDE logováno" + +#: gajim/gtk/groupchat_info.py:205 +msgid "Website" +msgstr "" + +#: gajim/gtk/accounts.py:122 +#, fuzzy +msgid "Re-Login" +msgstr "Připojit se teď znovu?" + +#: gajim/gtk/accounts.py:123 +#, fuzzy +msgid "Re-Login now?" +msgstr "Připojit se teď znovu?" + +#: gajim/gtk/accounts.py:124 +#, fuzzy +msgid "To apply all changes instantly, you have to re-login." +msgstr "Pokud chcete, aby se změny projevily ihned, musíte se znovu přihlásit." + +#: gajim/gtk/accounts.py:128 +msgid "_Re-Login" +msgstr "" + +#: gajim/gtk/accounts.py:311 gajim/data/gui/server_info.ui:386 +msgid "Connection" +msgstr "Spojení" + +#: gajim/gtk/accounts.py:496 +#, fuzzy +msgid "Please check if Bonjour is installed." +msgstr "Zkontrolujte zda je Avahi nebo Bonjour nainstalováno." + +#: gajim/gtk/accounts.py:498 +#, fuzzy +msgid "Please check if Avahi is installed." +msgstr "Zkontrolujte zda je Avahi nebo Bonjour nainstalováno." + +#: gajim/gtk/accounts.py:537 +#, fuzzy +msgid "Disable Account" +msgstr "Neplatný účtu" + +#: gajim/gtk/accounts.py:538 +#, fuzzy, python-format +msgid "Account %s is still connected" +msgstr "Účet \"%s\" se připojil k serveru" + +#: gajim/gtk/accounts.py:539 +#, fuzzy +msgid "All chat and group chat windows will be closed." +msgstr "" +"Všechna okna rozhovorů a diskuzí budou zavřena. Opravdu chceš pokračovat?" + +#: gajim/gtk/accounts.py:543 +#, fuzzy +msgid "_Disable Account" +msgstr "Neplatný účtu" + +#: gajim/gtk/accounts.py:614 +#, fuzzy +msgid "Label" +msgstr "označit" + +#: gajim/gtk/accounts.py:618 gajim/data/gui/groupchat_control.ui:99 +#: gajim/data/gui/chat_control.ui:363 +msgid "Color" +msgstr "Barva" + +#: gajim/gtk/accounts.py:620 +msgid "Recognize your account by color" +msgstr "" + +#: gajim/gtk/accounts.py:622 +msgid "Login" +msgstr "" + +#: gajim/gtk/accounts.py:627 +#, fuzzy +msgid "Import Contacts" +msgstr "Pozvat kontakt" + +#: gajim/gtk/accounts.py:636 gajim/gtk/accounts.py:865 +#, fuzzy +msgid "Connect on startup" +msgstr "_Připojit po startu Gajimu" + +#: gajim/gtk/accounts.py:640 gajim/gtk/accounts.py:870 +#, fuzzy +msgid "Save conversations for all contacts" +msgstr "Uložit _historii pro všechny kontakty" + +#: gajim/gtk/accounts.py:642 gajim/gtk/accounts.py:872 +msgid "Store conversations on the harddrive" +msgstr "" + +#: gajim/gtk/accounts.py:644 gajim/gtk/accounts.py:874 +#, fuzzy +msgid "Global Status" +msgstr "Všechny stavy" + +#: gajim/gtk/accounts.py:646 +#, fuzzy +msgid "Synchronise the status of all accounts" +msgstr "Změní stav účtu nebo účtů" + +#: gajim/gtk/accounts.py:648 +msgid "Remember Last Status" +msgstr "" + +#: gajim/gtk/accounts.py:650 +msgid "Restore status and status message of your last session" +msgstr "" + +#: gajim/gtk/accounts.py:653 +msgid "Use file transfer proxies" +msgstr "Použij proxy při přenosu souborů" + +#: gajim/gtk/accounts.py:670 +#, fuzzy +msgid "Forever" +msgstr "Server" + +#: gajim/gtk/accounts.py:671 gajim/common/const.py:1110 +msgid "1 Day" +msgstr "" + +#: gajim/gtk/accounts.py:672 gajim/common/const.py:1112 +msgid "1 Week" +msgstr "" + +#: gajim/gtk/accounts.py:673 gajim/common/const.py:1113 +msgid "1 Month" +msgstr "" + +#: gajim/gtk/accounts.py:674 +msgid "3 Months" +msgstr "" + +#: gajim/gtk/accounts.py:675 +msgid "6 Months" +msgstr "" + +#: gajim/gtk/accounts.py:676 +msgid "1 Year" +msgstr "" + +#: gajim/gtk/accounts.py:686 +#, fuzzy +msgid "Idle Time" +msgstr " od %s" + +#: gajim/gtk/accounts.py:688 +msgid "Disclose the time of your last activity" +msgstr "" + +#: gajim/gtk/accounts.py:690 +msgid "Local System Time" +msgstr "" + +#: gajim/gtk/accounts.py:692 +msgid "Disclose the local system time of the device Gajim runs on" +msgstr "" + +#: gajim/gtk/accounts.py:695 +#, fuzzy +msgid "Client / Operating System" +msgstr "Sám sebou podepsaný certifikát" + +#: gajim/gtk/accounts.py:697 +#, fuzzy +msgid "" +"Disclose information about the client and operating system you currently use" +msgstr "Pokud je zaškrtnuto, Gajim se připojí do této místnosti při spuštění" + +#: gajim/gtk/accounts.py:700 +#, fuzzy +msgid "Ignore Unknown Contacts" +msgstr "Pozvat kontakt" + +#: gajim/gtk/accounts.py:702 +#, fuzzy +msgid "Ignore everything from contacts not in your Roster" +msgstr "_Ignorovat události od kontaktů mimo můj Seznam" + +#: gajim/gtk/accounts.py:705 +#, fuzzy +msgid "Send Message Receipts" +msgstr "První zpráva přijata" + +#: gajim/gtk/accounts.py:707 +msgid "Tell your contacts if you received a message" +msgstr "" + +#: gajim/gtk/accounts.py:713 +#, fuzzy +msgid "Default for chats" +msgstr "Ukecaný" + +#: gajim/gtk/accounts.py:716 gajim/gtk/accounts.py:741 +msgid "Reset all chats to the current default value" +msgstr "" + +#: gajim/gtk/accounts.py:722 +#, fuzzy +msgid "Send Chatstate in Group Chats" +msgstr "Nelze se připojit se do diskuze" + +#: gajim/gtk/accounts.py:725 +#, fuzzy +msgid "Default for group chats" +msgstr "Nová diskuze" + +#: gajim/gtk/accounts.py:739 +#, fuzzy +msgid "Default for chats and private group chats" +msgstr "%s vstoupil do místnosti" + +#: gajim/gtk/accounts.py:747 +#, fuzzy +msgid "Keep Chat History" +msgstr "Nedávno:" + +#: gajim/gtk/accounts.py:751 +msgid "How long Gajim should keep your chat history" +msgstr "" + +#: gajim/gtk/accounts.py:787 gajim/data/gui/manage_proxies.ui:337 +#, fuzzy +msgid "Proxy" +msgstr "Proxy:" + +#: gajim/gtk/accounts.py:794 gajim/gtk/accounts.py:949 +#: gajim/data/gui/server_info.ui:20 +#, fuzzy +msgid "Hostname" +msgstr "Počítač: " + +#: gajim/gtk/accounts.py:795 +msgid "Manually set the hostname for the server" +msgstr "" + +#: gajim/gtk/accounts.py:798 gajim/data/gui/vcard_information_window.ui:72 +#, fuzzy +msgid "Resource" +msgstr "Zdroj:" + +#: gajim/gtk/accounts.py:801 gajim/gtk/accounts.py:917 +#: gajim/gtk/accounts.py:925 +#, fuzzy +msgid "Priority" +msgstr "Priori_ta:" + +#: gajim/gtk/accounts.py:804 +#, fuzzy +msgid "Use Unencrypted Connection" +msgstr "Nezabezpečené Spojení" + +#: gajim/gtk/accounts.py:806 gajim/common/config.py:273 +#, fuzzy +msgid "Use an unencrypted connection to the server" +msgstr "Nejste připojen(a) k serveru" + +#: gajim/gtk/accounts.py:808 +#, fuzzy +msgid "Confirm Unencrypted Connection" +msgstr "Nezabezpečené Spojení" + +#: gajim/gtk/accounts.py:811 +#, fuzzy +msgid "Show a confirmation dialog before connecting unencrypted" +msgstr "" +"Mám zobrazit dialog potvrzení blokace, nebo ne? Prázdný řetezec znamená " +"nikdy nezobrazovat dialog." + +#: gajim/gtk/accounts.py:835 gajim/data/gui/zeroconf_information_window.ui:8 +#: gajim/data/gui/vcard_information_window.ui:8 +#: gajim/data/gui/subscription_request_window.ui:164 +msgid "Contact Information" +msgstr "Informace o kontaktu" + +#: gajim/gtk/accounts.py:837 +msgid "Request contact information (Mood, Activity, Tune, Location)" +msgstr "" + +#: gajim/gtk/accounts.py:840 +#, fuzzy +msgid "Accept all Contact Requests" +msgstr "Žádost o hlasový rozhovor" + +#: gajim/gtk/accounts.py:842 +msgid "Automatically accept all contact requests" +msgstr "" + +#: gajim/gtk/accounts.py:844 +#, fuzzy +msgid "Filetransfer Preference" +msgstr "Chyba přenosu souboru" + +#: gajim/gtk/accounts.py:846 +#, fuzzy +msgid "Upload Files" +msgstr "Uložit jako..." + +#: gajim/gtk/accounts.py:847 +#, fuzzy +msgid "Send Files Directly" +msgstr "Uložit jako..." + +#: gajim/gtk/accounts.py:848 +msgid "Preferred file transfer mechanism for file drag&drop on a chat window" +msgstr "" + +#: gajim/gtk/accounts.py:867 +#, fuzzy +msgid "Use environment variable" +msgstr "_použít proměnnou prostředí HTTP_PROXY" + +#: gajim/gtk/accounts.py:876 +#, fuzzy +msgid "Synchronize the status of all accounts" +msgstr "Změní stav účtu nebo účtů" + +#: gajim/gtk/accounts.py:886 +#, fuzzy +msgid "First Name" +msgstr "Křestní:" + +#: gajim/gtk/accounts.py:889 +#, fuzzy +msgid "Last Name" +msgstr "Příjmení:" + +#: gajim/gtk/accounts.py:895 gajim/gtk/profile.py:32 gajim/gtk/vcard_grid.py:39 +#, fuzzy +msgid "Email" +msgstr "Nový E-mail" + +#: gajim/gtk/accounts.py:913 +#, fuzzy +msgid "Adjust to status" +msgstr "N_astavit podle stavu" + +#: gajim/gtk/accounts.py:945 +msgid "Enable" +msgstr "Povolit" + +#: gajim/gtk/accounts.py:953 +#, fuzzy +msgid "Port" +msgstr "_Port:" + +#: gajim/gtk/accounts.py:957 gajim/data/gui/server_info.ui:250 +msgid "Type" +msgstr "Typ" + +#: gajim/gtk/accounts.py:963 +#, fuzzy +msgid "Connection Settings" +msgstr "Spojení" + +#: gajim/gtk/accounts.py:971 +#, fuzzy +msgid "Client Certificate" +msgstr "Sám sebou podepsaný certifikát" + +#: gajim/gtk/accounts.py:973 +msgid "PKCS12 Files" +msgstr "" + +#: gajim/gtk/accounts.py:975 +#, fuzzy +msgid "Encrypted Certificate" +msgstr "Sám sebou podepsaný certifikát" + +#: gajim/gtk/accounts.py:979 +#, fuzzy +msgid "Certificate Settings" +msgstr "Sám sebou podepsaný certifikát" + +#: gajim/gtk/accounts.py:987 gajim/data/gui/account_wizard.ui:255 +#: gajim/data/gui/bookmarks.ui:102 +#, fuzzy +msgid "Password" +msgstr "Heslo:" + +#: gajim/gtk/accounts.py:991 +#, fuzzy +msgid "Save Password" +msgstr "Uložit heslo" + +#: gajim/gtk/accounts.py:999 +#, fuzzy +msgid "Login Settings" +msgstr "Registrace selhala" + +#: gajim/gtk/groupchat_config.py:39 +#, fuzzy +msgid "Group Chat Configuration" +msgstr "Skupinová pozvánka" + +#: gajim/gtk/groupchat_config.py:104 gajim/common/helpers.py:283 +#: gajim/data/gui/groupchat_config.ui:40 +msgid "Member" +msgstr "Člen" + +#: gajim/gtk/groupchat_config.py:133 +#, fuzzy +msgid "A Group Chat needs at least one Owner" +msgstr "?Group Chat Contact Role:Žádná" + +#: gajim/gtk/groupchat_config.py:241 +msgid "You are not allowed to modify the affiliation of Admins and Owners" +msgstr "" + +#: gajim/gtk/groupchat_config.py:400 +msgid "An entry with this XMPP Address already exists" +msgstr "" + +#: gajim/gtk/server_info.py:142 gajim/data/gui/vcard_information_window.ui:89 +#: gajim/data/gui/preferences.ui:359 +msgid "Status" +msgstr "Stav" + +#: gajim/gtk/server_info.py:143 +msgid "Support" +msgstr "" + +#: gajim/gtk/server_info.py:144 +msgid "Security" +msgstr "" + +#: gajim/gtk/server_info.py:145 +msgid "Feedback" +msgstr "" + +#: gajim/gtk/server_info.py:146 +msgid "Abuse" +msgstr "" + +#: gajim/gtk/server_info.py:147 +msgid "Sales" +msgstr "" + +#: gajim/gtk/server_info.py:231 +#, python-format +msgid "%(days)s days, %(hours)s hours" +msgstr "" + +#: gajim/gtk/server_info.py:239 gajim/gtk/vcard_grid.py:115 +#: gajim/common/helpers.py:224 +#, fuzzy +msgid "Unknown" +msgstr "?OS:Neznámý" + +#: gajim/gtk/server_info.py:360 +#, fuzzy +msgid "" +"\n" +"Disabled in preferences" +msgstr "_Nastavení" + +#: gajim/gtk/history.py:79 +msgid "Conversation History" +msgstr "Historie konverzace" + +#: gajim/gtk/history.py:411 gajim/gtk/history.py:465 +msgid "Disk Error" +msgstr "Chyba disku" + +#: gajim/gtk/history.py:576 +#, python-format +msgid "%(nick)s is now %(status)s: %(status_msg)s" +msgstr "%(nick)s je nyní %(status)s: %(status_msg)s" + +#: gajim/gtk/history.py:581 gajim/common/connection_handlers_events.py:414 +#, python-format +msgid "%(nick)s is now %(status)s" +msgstr "%(nick)s je nyní %(status)s" + +#: gajim/gtk/history.py:589 +#, python-format +msgid "Error: %s" +msgstr "Chyba: %s" + +#: gajim/gtk/history.py:593 +#, python-format +msgid "Status is now: %(status)s: %(status_msg)s" +msgstr "Stav je nyní %(status)s: %(status_msg)s" + +#: gajim/gtk/history.py:597 +#, python-format +msgid "Status is now: %(status)s" +msgstr "Stav je nyní %(status)s" + +#: gajim/gtk/about.py:51 +#, fuzzy +msgid "A GTK XMPP client" +msgstr "GTK+ Jabber klient" + +#: gajim/gtk/about.py:52 +#, fuzzy, python-format +msgid "GTK Version: %s" +msgstr "GTK+ verze: " + +#: gajim/gtk/about.py:53 +#, fuzzy, python-format +msgid "GLib Version: %s" +msgstr "GTK+ verze: " + +#: gajim/gtk/about.py:54 +#, fuzzy, python-format +msgid "PyGObject Version: %s" +msgstr "PyGTK verze: " + +#: gajim/gtk/about.py:55 +#, python-format +msgid "python-nbxmpp Version: %s" +msgstr "" + +#: gajim/gtk/about.py:59 +#, fuzzy +msgid "Current Developers" +msgstr "Aktivní vývojáři:" + +#: gajim/gtk/about.py:60 +#, fuzzy +msgid "Past Developers" +msgstr "Vysloužilí vývojáři:" + +#: gajim/gtk/about.py:61 +msgid "Artists" +msgstr "" + +#: gajim/gtk/about.py:65 +msgid "Last but not least" +msgstr "" + +#: gajim/gtk/about.py:66 +#, fuzzy +msgid "we would like to thank all the package maintainers." +msgstr "" +"Poslední, nikoliv nejmenší, poděkování patří všem správcům instalačních " +"balíčků." + +#: gajim/gtk/about.py:67 +#, fuzzy +msgid "Thanks" +msgstr "Děkovný" + +#: gajim/gtk/about.py:69 +msgid "translator-credits" +msgstr "" +"Petr Menšík \n" +"scippio " + +#: gajim/gtk/search.py:95 gajim/gtk/search.py:191 +msgid "Search" +msgstr "Najít" + +#: gajim/gtk/search.py:101 +#, fuzzy +msgid "New Search" +msgstr "Najít" + +#: gajim/gtk/search.py:176 +msgid "Request Search Form" +msgstr "" + +#: gajim/gtk/search.py:236 +#, fuzzy +msgid "Search…" +msgstr "Najít" + +#: gajim/gtk/search.py:243 +#, fuzzy +msgid "Search Result" +msgstr "Najít" + +#: gajim/gtk/search.py:250 +#, fuzzy +msgid "No results found" +msgstr "Žádný výsledek" + +#: gajim/gtk/features.py:40 gajim/data/gui/server_info.ui:447 +msgid "Features" +msgstr "Vlastnosti serveru" + +#: gajim/gtk/features.py:90 +msgid "Audio / Video" +msgstr "Audio / Video" + +#: gajim/gtk/features.py:92 +#, fuzzy +msgid "Enables Gajim to provide Audio and Video chats" +msgstr "Schopnost zahájit audio a video rozhovor." + +#: gajim/gtk/features.py:93 +msgid "" +"Requires: gir1.2-farstream-0.2, gir1.2-gstreamer-1.0, gstreamer1.0-libav, " +"gstreamer1.0-plugins-ugly" +msgstr "" + +#: gajim/gtk/features.py:95 gajim/gtk/features.py:145 +#, fuzzy +msgid "Feature not available under Windows" +msgstr "Vlastnost není k dispozici pod Windows." + +#: gajim/gtk/features.py:97 +#, fuzzy +msgid "Automatic Status" +msgstr "Automatický stav" + +#: gajim/gtk/features.py:99 +#, fuzzy +msgid "" +"Enables Gajim to measure your computer's idle time in order to set your " +"Status automatically" +msgstr "Funkce pro měření času nečinnosti pro nastavení automatického stavu." + +#: gajim/gtk/features.py:101 +#, fuzzy +msgid "Requires: libxss" +msgstr "Vyžaduje knihovnu libxss." + +#: gajim/gtk/features.py:102 gajim/gtk/features.py:123 +msgid "No additional requirements" +msgstr "" + +#: gajim/gtk/features.py:104 +#, fuzzy +msgid "Bonjour / Zeroconf (Serverless Chat)" +msgstr "Bonjour / Zeroconf" + +#: gajim/gtk/features.py:106 +#, fuzzy +msgid "" +"Enables Gajim to automatically detected clients in a local network for " +"serverless chats" +msgstr "" +"Serverless automaticky komunikuje s klienty detekovanými v místní síti." + +#: gajim/gtk/features.py:108 +#, fuzzy +msgid "Requires: gir1.2-avahi-0.6" +msgstr "Je potřeba python-gnome2." + +#: gajim/gtk/features.py:109 +#, fuzzy, python-format +msgid "Requires: pybonjour and bonjour SDK running (%(url)s)" +msgstr "Je potřeba gpg a python-GnuPGInterface." + +#: gajim/gtk/features.py:112 +#, fuzzy +msgid "Location detection" +msgstr "Spojení" + +#: gajim/gtk/features.py:114 +msgid "" +"Enables Gajim to be location-aware, if the user decides to publish the " +"device’s location" +msgstr "" + +#: gajim/gtk/features.py:116 +#, fuzzy +msgid "Requires: geoclue" +msgstr "Vyžaduje libgtkspell." + +#: gajim/gtk/features.py:117 +#, fuzzy +msgid "Feature is not available under Windows" +msgstr "Vlastnost není k dispozici pod Windows." + +#: gajim/gtk/features.py:119 +#, fuzzy +msgid "Notification Sounds" +msgstr "Upozornění" + +#: gajim/gtk/features.py:121 +#, fuzzy +msgid "Enables Gajim to play sounds for various notifications" +msgstr "Schopnost zahájit audio a video rozhovor." + +#: gajim/gtk/features.py:122 +#, fuzzy +msgid "Requires: gsound" +msgstr "Je potřeba python-dbus." + +#: gajim/gtk/features.py:125 +#, fuzzy +msgid "Secure Password Storage" +msgstr "Uložit heslo" + +#: gajim/gtk/features.py:127 +#, fuzzy +msgid "" +"Enables Gajim to store Passwords securely instead of storing them in " +"plaintext" +msgstr "Heslo může být bezpečně uloženo." + +#: gajim/gtk/features.py:129 +#, fuzzy +msgid "Requires: gnome-keyring or kwallet" +msgstr "Je potřeba gnome-keyring a python-gnome2-desktop, nebo kwalletcli." + +#: gajim/gtk/features.py:130 +msgid "Windows Credential Vault is used for secure password storage" +msgstr "" + +#: gajim/gtk/features.py:133 +msgid "Spell Checker" +msgstr "Kontrola Pravopisu" + +#: gajim/gtk/features.py:135 +msgid "Enables Gajim to spell check your messages while composing" +msgstr "" + +#: gajim/gtk/features.py:137 gajim/gtk/features.py:138 +#, fuzzy +msgid "Requires: Gspell" +msgstr "Vyžaduje libgtkspell." + +#: gajim/gtk/features.py:140 +msgid "UPnP-IGD Port Forwarding" +msgstr "" + +#: gajim/gtk/features.py:142 +msgid "" +"Enables Gajim to request your router to forward ports for file transfers" +msgstr "" + +#: gajim/gtk/features.py:144 +#, fuzzy +msgid "Requires: gir1.2-gupnpigd-1.0" +msgstr "Je potřeba python-gnome2." + +#: gajim/gtk/features.py:200 +#, fuzzy +msgid "Disabled in Preferences" +msgstr "_Nastavení" + +#: gajim/gtk/dialogs.py:55 gajim/gtk/filechoosers.py:179 +#: gajim/data/gui/groupchat_control.ui:674 +#: gajim/data/gui/groupchat_control.ui:766 +#: gajim/data/gui/groupchat_control.ui:882 +#: gajim/data/gui/groupchat_control.ui:974 +#: gajim/data/gui/groupchat_control.ui:1419 +#: gajim/data/gui/groupchat_control.ui:1545 +#: gajim/data/gui/groupchat_control.ui:1671 +#: gajim/data/gui/groupchat_control.ui:1842 +#: gajim/data/gui/groupchat_control.ui:1920 gajim/data/gui/filetransfers.ui:30 +#: gajim/data/gui/add_new_contact_window.ui:451 +#: gajim/data/gui/filetransfer_progress.ui:172 gajim/data/gui/profile.ui:260 +#: gajim/data/gui/passphrase_dialog.ui:29 +msgid "_Cancel" +msgstr "_Zrušit" + +#: gajim/gtk/dialogs.py:65 gajim/data/gui/history_manager.ui:20 +#, fuzzy +msgid "_Delete" +msgstr "Smazat" + +#: gajim/gtk/dialogs.py:216 +#, fuzzy +msgid "Certificate" +msgstr "Sám sebou podepsaný certifikát" + +#: gajim/gtk/dialogs.py:230 +#, fuzzy, python-format +msgid "" +"Certificate for \n" +"%s" +msgstr "pro účet %s" + +#: gajim/gtk/dialogs.py:279 +msgid "Issued to\n" +msgstr "" + +#: gajim/gtk/dialogs.py:280 gajim/gtk/dialogs.py:285 +msgid "Common Name (CN): " +msgstr "" + +#: gajim/gtk/dialogs.py:281 gajim/gtk/dialogs.py:286 +msgid "Organization (O): " +msgstr "" + +#: gajim/gtk/dialogs.py:282 gajim/gtk/dialogs.py:287 +msgid "Organizational Unit (OU): " +msgstr "" + +#: gajim/gtk/dialogs.py:283 +#, fuzzy +msgid "Serial Number: " +msgstr "GG číslo: " + +#: gajim/gtk/dialogs.py:284 +msgid "Issued by\n" +msgstr "" + +#: gajim/gtk/dialogs.py:288 +msgid "Validity\n" +msgstr "" + +#: gajim/gtk/dialogs.py:289 +msgid "Issued on: " +msgstr "" + +#: gajim/gtk/dialogs.py:290 +msgid "Expires on: " +msgstr "" + +#: gajim/gtk/dialogs.py:291 +msgid "SHA-1:" +msgstr "" + +#: gajim/gtk/dialogs.py:293 +msgid "SHA-256:" +msgstr "" + +#: gajim/gtk/util.py:591 +msgid "Unknown Artist" +msgstr "Neznámý Umělec" + +#: gajim/gtk/util.py:592 +msgid "Unknown Title" +msgstr "Neznámý Název" + +#: gajim/gtk/util.py:593 +msgid "Unknown Source" +msgstr "Neznámý Zdroj" + +#: gajim/gtk/util.py:595 +#, python-format +msgid "" +"\"%(title)s\" by %(artist)s\n" +"from %(source)s" +msgstr "" +"\"%(title)s\" od %(artist)s\n" +"z %(source)s" + +#: gajim/gtk/profile.py:28 gajim/gtk/vcard_grid.py:33 +#: gajim/data/gui/vcard_information_window.ui:411 +msgid "Full Name" +msgstr "Celé jméno" + +#: gajim/gtk/profile.py:29 gajim/gtk/vcard_grid.py:35 +#: gajim/data/gui/vcard_information_window.ui:770 +#, fuzzy +msgid "Birthday" +msgstr "Narozeniny:" + +#: gajim/gtk/profile.py:30 gajim/gtk/vcard_grid.py:36 +#, fuzzy +msgid "Gender" +msgstr "Odesílatel: " + +#: gajim/gtk/profile.py:31 gajim/data/gui/groupchat_info_scrolled.ui:16 +#, fuzzy +msgid "Address" +msgstr "_Adresa:" + +#: gajim/gtk/profile.py:34 gajim/gtk/vcard_grid.py:38 +#: gajim/data/gui/vcard_information_window.ui:720 +#: gajim/data/gui/vcard_information_window.ui:1396 +#, fuzzy +msgid "Phone No." +msgstr "Telefon" + +#: gajim/gtk/profile.py:35 +msgid "?profile:Organisation" +msgstr "" + +#: gajim/gtk/profile.py:36 gajim/gtk/vcard_grid.py:41 +msgid "?profile:Title" +msgstr "" + +#: gajim/gtk/profile.py:37 gajim/gtk/vcard_grid.py:42 +#, fuzzy +msgid "?profile:Role" +msgstr "soubor" + +#: gajim/gtk/profile.py:38 gajim/gtk/vcard_grid.py:45 +msgid "URL" +msgstr "" + +#: gajim/gtk/profile.py:39 gajim/gtk/vcard_grid.py:46 +#, fuzzy +msgid "?profile:Key" +msgstr "soubor" + +#: gajim/gtk/profile.py:299 gajim/gtk/profile.py:301 +#: gajim/data/gui/profile.ui:98 gajim/data/gui/profile.ui:110 +msgid "Everyone" +msgstr "" + +#: gajim/gtk/profile.py:299 gajim/gtk/profile.py:301 +#: gajim/data/gui/shortcuts_window.ui:108 gajim/data/gui/groupchat_invite.ui:83 +msgid "Contacts" +msgstr "Kontakty" + +#: gajim/gtk/filechoosers.py:88 +#, fuzzy +msgid "Choose File to Send…" +msgstr "Vyber soubor k odeslání..." + +#: gajim/gtk/filechoosers.py:94 +#, fuzzy +msgid "Choose Avatar…" +msgstr "Vyberte obrázek" + +#: gajim/gtk/filechoosers.py:98 +#, fuzzy +msgid "PNG files" +msgstr "Všechny soubory" + +#: gajim/gtk/filechoosers.py:99 +#, fuzzy +msgid "JPEG files" +msgstr "Všechny soubory" + +#: gajim/gtk/filechoosers.py:100 +#, fuzzy +msgid "SVG files" +msgstr "Odeslat _Soubor" + +#: gajim/gtk/filechoosers.py:102 +msgid "Images" +msgstr "Obrázky" + +#: gajim/gtk/filechoosers.py:139 +#, fuzzy +msgid "Choose Archive" +msgstr "Vyberte obrázek" + +#: gajim/gtk/filechoosers.py:141 +#, fuzzy +msgid "ZIP files" +msgstr "Všechny soubory" + +#: gajim/gtk/filechoosers.py:146 +#, fuzzy +msgid "Save File as…" +msgstr "Uložit jako..." + +#: gajim/gtk/filechoosers.py:180 +#, fuzzy +msgid "_Open" +msgstr "OpenGPG" + +#: gajim/gtk/blocking.py:38 +#, fuzzy, python-format +msgid "Blocking List for %s" +msgstr "Soukromý seznam pro %s" + +#: gajim/gtk/blocking.py:64 +#, fuzzy +msgid "Error!" +msgstr "Chyba" + +#: gajim/gtk/service_registration.py:143 gajim/gtk/service_registration.py:157 +#: gajim/gtk/service_registration.py:164 +#, fuzzy +msgid "Register" +msgstr "_Registrovat" + +#: gajim/gtk/service_registration.py:193 gajim/gtk/service_registration.py:205 +#, fuzzy +msgid "Registration successful" +msgstr "Registrace úspěšná" + +#: gajim/gtk/service_registration.py:216 +msgid "Registration failed" +msgstr "Registrace selhala" + +#: gajim/gtk/vcard_grid.py:37 +#, fuzzy +msgid "?profile:Address" +msgstr "_Adresa:" + +#: gajim/gtk/vcard_grid.py:40 +#, fuzzy +msgid "IM Address" +msgstr "_Adresa:" + +#: gajim/gtk/vcard_grid.py:43 +#, fuzzy +msgid "Organisation" +msgstr "Na dovolené" + +#: gajim/gtk/vcard_grid.py:44 +#, fuzzy +msgid "?profile:Note" +msgstr "soubor" + +#: gajim/gtk/vcard_grid.py:51 +msgid "Your public key or authentication certificate" +msgstr "" + +#: gajim/gtk/vcard_grid.py:59 +msgid "Post Office Box" +msgstr "" + +#: gajim/gtk/vcard_grid.py:60 gajim/data/gui/vcard_information_window.ui:489 +#: gajim/data/gui/vcard_information_window.ui:1179 +#, fuzzy +msgid "Street" +msgstr "Stresovaný" + +#: gajim/gtk/vcard_grid.py:61 +#, fuzzy +msgid "Extended Address" +msgstr "Další adresa:" + +#: gajim/gtk/vcard_grid.py:62 gajim/data/gui/vcard_information_window.ui:505 +#: gajim/data/gui/vcard_information_window.ui:1195 +#, fuzzy +msgid "City" +msgstr "Město:" + +#: gajim/gtk/vcard_grid.py:63 gajim/data/gui/vcard_information_window.ui:521 +#: gajim/data/gui/vcard_information_window.ui:1211 +#, fuzzy +msgid "State" +msgstr "Stát:" + +#: gajim/gtk/vcard_grid.py:64 gajim/data/gui/vcard_information_window.ui:595 +#: gajim/data/gui/vcard_information_window.ui:1244 +#, fuzzy +msgid "Postal Code" +msgstr "PSČ:" + +#: gajim/gtk/vcard_grid.py:65 gajim/data/gui/vcard_information_window.ui:611 +#: gajim/data/gui/vcard_information_window.ui:1260 +#, fuzzy +msgid "Country" +msgstr "Země:" + +#: gajim/gtk/vcard_grid.py:111 +msgid "Male" +msgstr "" + +#: gajim/gtk/vcard_grid.py:112 +msgid "Female" +msgstr "" + +#: gajim/gtk/vcard_grid.py:113 +msgid "?Gender:Other" +msgstr "" + +#: gajim/gtk/vcard_grid.py:114 +#, fuzzy +msgid "?Gender:None" +msgstr "Odesílatel: " + +#: gajim/gtk/vcard_grid.py:121 gajim/gtk/vcard_grid.py:428 +#, fuzzy +msgid "Home" +msgstr "Dom. stránka:" + +#: gajim/gtk/vcard_grid.py:122 gajim/gtk/vcard_grid.py:429 +#: gajim/data/gui/vcard_information_window.ui:1452 +msgid "Work" +msgstr "Práce" + +#: gajim/gtk/vcard_grid.py:598 +#, fuzzy +msgid "YYYY-MM-DD" +msgstr "Formát: RRRR-MM-DD" + +#: gajim/gtk/adhoc.py:91 +#, fuzzy +msgid "Finish" +msgstr "_Dokončit" + +#: gajim/gtk/adhoc.py:96 gajim/gtk/adhoc.py:283 +#, fuzzy +msgid "Commands" +msgstr "Příkazy: %s" + +#: gajim/gtk/adhoc.py:107 +#, fuzzy +msgid "Previous" +msgstr "Závidějící" + +#: gajim/gtk/adhoc.py:112 +#, fuzzy +msgid "Execute" +msgstr "Spustit _příkaz..." + +#: gajim/gtk/adhoc.py:196 +#, fuzzy +msgid "No commands available" +msgstr "Žádný účet není dostupný" + +#: gajim/gtk/adhoc.py:244 +#, fuzzy +msgid "Request Command List" +msgstr "Spustit _příkaz..." + +#: gajim/gtk/adhoc.py:259 +#, fuzzy +msgid "Executing…" +msgstr "Spustit _příkaz..." + +#: gajim/gtk/adhoc.py:266 +#, fuzzy +msgid "Command List" +msgstr "Příkazy: %s" + +#: gajim/gtk/adhoc.py:321 gajim/data/gui/manage_proxies.ui:255 +#, fuzzy +msgid "Settings" +msgstr "Registrace selhala" + +#: gajim/gtk/adhoc.py:386 +#, fuzzy +msgid "Finished" +msgstr "_Dokončit" + +#: gajim/gtk/adhoc.py:455 +#, fuzzy +msgid "Execution failed" +msgstr "Spojení selhalo" + +#: gajim/common/jingle_rtp.py:133 +#, fuzzy, python-format +msgid "%s configuration error" +msgstr "Nastavení místnosti" + +#: gajim/common/jingle_rtp.py:134 +#, python-format +msgid "" +"Couldn’t set up %(text)s. Check your configuration.\n" +"Pipeline:\n" +"%(pipeline)s\n" +"Error:\n" +"%(error)s" +msgstr "" + +#: gajim/common/jingle_rtp.py:416 +#, fuzzy +msgid "audio input" +msgstr "audio vstup" + +#: gajim/common/jingle_rtp.py:421 +#, fuzzy +msgid "audio output" +msgstr "audio výstup" + +#: gajim/common/jingle_rtp.py:489 +#, fuzzy +msgid "video input" +msgstr "video vstup" + +#: gajim/common/setting_values.py:300 gajim/common/config.py:356 +#: gajim/common/const.py:387 +msgid "Sleeping" +msgstr "Spím" + +#: gajim/common/setting_values.py:301 +msgid "ZZZZzzzzzZZZZZ" +msgstr "" + +#: gajim/common/setting_values.py:306 gajim/common/config.py:357 +msgid "Back soon" +msgstr "Hned jsem zpět" + +#: gajim/common/setting_values.py:307 gajim/common/config.py:357 +msgid "Back in some minutes." +msgstr "Jsem zpátky za pár minut." + +#: gajim/common/setting_values.py:309 gajim/common/config.py:358 +#: gajim/common/const.py:353 +msgid "Eating" +msgstr "Jím" + +#: gajim/common/setting_values.py:310 +#, fuzzy +msgid "I’m eating." +msgstr "Právě pracuji." + +#: gajim/common/setting_values.py:314 gajim/common/config.py:359 +msgid "Movie" +msgstr "Film" + +#: gajim/common/setting_values.py:315 +#, fuzzy +msgid "I’m watching a movie." +msgstr "Dívám se na film." + +#: gajim/common/setting_values.py:319 gajim/common/config.py:360 +#: gajim/common/const.py:420 +msgid "Working" +msgstr "Pracuji" + +#: gajim/common/setting_values.py:320 +#, fuzzy +msgid "I’m working." +msgstr "Právě pracuji." + +#: gajim/common/setting_values.py:324 gajim/common/config.py:362 +msgid "Out" +msgstr "Venku" + +#: gajim/common/setting_values.py:325 +#, fuzzy +msgid "I’m out enjoying life." +msgstr "Užívám si života venku." + +#: gajim/common/setting_values.py:393 gajim/common/config.py:84 +msgid "" +"Allow to hide the contact list window even if the notification area icon is " +"not shown." +msgstr "" + +#: gajim/common/setting_values.py:394 gajim/common/config.py:95 +msgid "" +"'always' - print time for every message.\n" +"'sometimes' - print time every print_ichat_every_foo_minutes minute.\n" +"'never' - never print time." +msgstr "" +"'vždy' - vypiš čas pro každou zprávu.\n" +"'někdy' - vypiš čas každou print_ichat_every_foo_minutes minutu.\n" +"'nikdy' - nevypisuj čas." + +#: gajim/common/setting_values.py:395 gajim/common/config.py:99 +msgid "Treat * / _ pairs as possible formatting characters." +msgstr "Ber * / _ páry jako možné formátovací znaky." + +#: gajim/common/setting_values.py:396 gajim/common/config.py:100 +#, fuzzy +msgid "" +"If enabled, do not remove */_ . So *abc* will be bold but with * * not " +"removed." +msgstr "" +"Pokud zapnuto, nemažte */_ . Potom *abc* bude tučně ale s * * neodstraněnými." + +#: gajim/common/setting_values.py:397 gajim/common/config.py:103 +#, fuzzy +msgid "" +"Character to add after nickname when using nickname completion (tab) in " +"group chat." +msgstr "" +"Znak, který se přidá za přezdívku po použití doplňování jména tabulátorem v " +"diskuzi." + +#: gajim/common/setting_values.py:398 gajim/common/config.py:125 +msgid "" +"If enabled, Gajim will save the contact list window position when hiding it, " +"and restore it when showing the contact list window again." +msgstr "" + +#: gajim/common/setting_values.py:399 gajim/common/config.py:131 +msgid "Place the contact list on the right in single window mode" +msgstr "" + +#: gajim/common/setting_values.py:400 gajim/common/config.py:137 +#, fuzzy +msgid "" +"This option lets you customize the timestamp that is printed in " +"conversation. For example '[%H:%M] ' will show '[hour:minute] '. See python " +"doc on strftime for full documentation (https://docs.python.org/3/library/" +"time.html#time.strftime)." +msgstr "" +"Tato volba umožní vlastní formátování času, který je zobrazován v " +"rozhovorech. Například \"[%H:%M]\" zobrazí \"[hodina:minuta]\". Pro víc " +"informací shlédněte dokumentaci pythonu funkce strftime na: http://docs." +"python.org/lib/module-time.html" + +#: gajim/common/setting_values.py:401 gajim/common/config.py:138 +#, fuzzy +msgid "Characters that are printed before the nickname in conversations." +msgstr "Znaky, které budou vypisovány před přezdívkou v rozhovorech" + +#: gajim/common/setting_values.py:402 gajim/common/config.py:139 +#, fuzzy +msgid "Characters that are printed after the nickname in conversations." +msgstr "Znaky, které budou vypisovány za přezdívkou v rozhovorech" + +#: gajim/common/setting_values.py:403 gajim/common/config.py:140 +#, fuzzy +msgid "If enabled, Gajim will add * and [n] in contact list window title." +msgstr "" +"Pokud zaškrtnuto, Gajim bude zobrazovat avatary kontaktů v okně Seznamu a v " +"diskuzích" + +#: gajim/common/setting_values.py:404 gajim/common/config.py:141 +#, fuzzy +msgid "" +"Number of messages from chat history to be restored when a chat tab/window " +"is reopened." +msgstr "" +"Jak moc řádků si pamatovat z předchozího rozhovoru, když je okno/záložka " +"rozhovoru znovu otevřena." + +#: gajim/common/setting_values.py:405 gajim/common/config.py:142 +msgid "" +"How far back in time (minutes) chat history is restored. -1 means no limit." +msgstr "" + +#: gajim/common/setting_values.py:406 gajim/common/config.py:143 +#, fuzzy +msgid "Send message on Ctrl+Enter and make a new line with Enter." +msgstr "" +"Odeslat zprávu při Ctrl+Enter a při Enter přejít na nový řádek (výchozí " +"chování klienta Mirabilis ICQ)." + +#: gajim/common/setting_values.py:407 gajim/common/config.py:145 +#, fuzzy +msgid "How many lines to store for Ctrl+KeyUP (previously sent messages)." +msgstr "Kolik řádků uložit pro Ctrl+Šipka nahoru." + +#: gajim/common/setting_values.py:409 gajim/common/config.py:148 +#, fuzzy, python-format +msgid "" +"Either a custom URL with %%s in it (where %%s is the word/phrase) or " +"'WIKTIONARY' (which means use Wikitionary)." +msgstr "" +"Buď vlastní url s %s v těle, kde %s je slovo nebo fráze, nebo 'WIKTIONARY', " +"která znamená že se použije wiktionary." + +#: gajim/common/setting_values.py:412 gajim/common/config.py:151 +msgid "If checked, Gajim can be controlled remotely using gajim-remote." +msgstr "Pokud zaškrtnuta, Gajim může být ovládán vzdáleně pomocí gajim-remote." + +#: gajim/common/setting_values.py:413 +#, fuzzy +msgid "" +"When not printing time for every message ('print_time'==sometimes, print it " +"every x minutes." +msgstr "" +"Když nevypisuji čas pro každou zprávu (print_time=='někdy'), vypisuj ji " +"každých x minut." + +#: gajim/common/setting_values.py:414 gajim/common/config.py:153 +msgid "Ask before pasting an image." +msgstr "" + +#: gajim/common/setting_values.py:415 gajim/common/config.py:154 +msgid "Ask before closing a group chat tab/window." +msgstr "Ptát se před zavřením oken/záložek diskuzí." + +#: gajim/common/setting_values.py:416 gajim/common/config.py:155 +#, fuzzy +msgid "" +"Ask before closing tabbed chat window if there are chats that can lose data " +"(chat, private chat, group chat that will not be minimized)." +msgstr "" +"Ptát se před zavřením okna s panely rozhovorů, jsou-li tam prvky, které " +"mohou ztratit data (rozhovor, soukromý rozhovor, diskuze které nebudou " +"minimalizovány)" + +#: gajim/common/setting_values.py:418 gajim/common/config.py:158 +#, fuzzy +msgid "" +"List of send hosts (comma separated) in addition to local interfaces for " +"file transfers (in case of address translation/port forwarding)." +msgstr "" +"Čárkami oddělený seznam počítačů kterým posíláme, navíc k lokálním síťovým " +"rozhraním, pro přenos souborů v případě překladu adres nebo přesměrováním " +"portů." + +#: gajim/common/setting_values.py:419 gajim/common/config.py:159 +msgid "IEC standard says KiB = 1024 bytes, KB = 1000 bytes." +msgstr "IEC standard říká KiB = 1024 bytů, KB = 1000 bytů." + +#: gajim/common/setting_values.py:421 gajim/common/config.py:161 +#, fuzzy +msgid "Notify of events in the notification area." +msgstr "Upozorni na události v systémovém trayi." + +#: gajim/common/setting_values.py:422 gajim/common/config.py:166 +msgid "Show tab when only one conversation?" +msgstr "Zobrazit záložku při jediném rozhovoru?" + +#: gajim/common/setting_values.py:423 gajim/common/config.py:167 +msgid "Show tabbed notebook border in chat windows?" +msgstr "Zobrazit okraj panelu v oknech rozhovorů?" + +#: gajim/common/setting_values.py:424 gajim/common/config.py:168 +msgid "Show close button in tab?" +msgstr "Zobrazit tlačitko zavřít v záložce?" + +#: gajim/common/setting_values.py:425 gajim/common/config.py:169 +msgid "Preview new messages in notification popup?" +msgstr "Zobrazit náhled nové zprávy ve vyskakovacím okně?" + +#: gajim/common/setting_values.py:426 gajim/common/config.py:172 +#, fuzzy +msgid "" +"A list of words (semicolon separated) that will be highlighted in group " +"chats." +msgstr "Středníkem oddělený seznam slov, které budou zvýrazněny v diskuzích." + +#: gajim/common/setting_values.py:427 gajim/common/config.py:174 +msgid "" +"If enabled, Gajim hides the contact list window when pressing the X button " +"instead of minimizing into the notification area." +msgstr "" + +#: gajim/common/setting_values.py:432 gajim/common/config.py:181 +#, fuzzy +msgid "" +"Define the position of avatars in the contact list. Can be 'left' or 'right'." +msgstr "Nastavení pozice avatara v rosteru. Může být vlevo nebo vpravo" + +#: gajim/common/setting_values.py:433 gajim/common/config.py:186 +#, fuzzy +msgid "Don't show contact list window in the system taskbar." +msgstr "Nezobrazuj roster v liště úloh." + +#: gajim/common/setting_values.py:434 gajim/common/config.py:187 +#, fuzzy +msgid "" +"If enabled, Gajim makes the window flash (the default behaviour in most " +"Window Managers) when holding pending events." +msgstr "" +"Pokud je True a instalované GTK+ a PyGTK verze jsou alespoň 2.8, blikej " +"oknem (výchozí chování ve většině Window Managerů) pokud čekají nové " +"události." + +#: gajim/common/setting_values.py:436 gajim/common/config.py:193 +#, fuzzy +msgid "If enabled, pressing Esc closes a tab/window." +msgstr "Pokud je True, stiskem escape zavřete panel nebo okno" + +#: gajim/common/setting_values.py:437 gajim/common/config.py:194 +#, fuzzy +msgid "Hides the banner in a group chat window." +msgstr "Skryje nadpis v okně diskuze" + +#: gajim/common/setting_values.py:438 gajim/common/config.py:195 +#, fuzzy +msgid "Hides the banner in a 1:1 chat window." +msgstr "Skryje nadpis v okně diskuze" + +#: gajim/common/setting_values.py:439 gajim/common/config.py:196 +#, fuzzy +msgid "Hides the group chat participants list in a group chat window." +msgstr "Skryje seznam lidí místnosti v okně diskuze." + +#: gajim/common/setting_values.py:440 gajim/common/config.py:197 +#, fuzzy +msgid "" +"In a chat, show the nickname at the beginning of a line only when it's not " +"the same person talking as in the previous message." +msgstr "" +"V rozhovoru zobraz přezdívku na začátku řádku pouze v případě, když to není " +"stejný člověk, jako v předchozí zprávě." + +# FIXME: netusim co to je... najit +#: gajim/common/setting_values.py:441 gajim/common/config.py:198 +msgid "Indentation when using merge consecutive nickname." +msgstr "Odsazení při použítí spojení po sobě jdoucích přezdívek." + +#: gajim/common/setting_values.py:442 gajim/common/config.py:199 +#, fuzzy +msgid "" +"Ctrl+Tab switches to the next composing tab when there are no tabs with " +"messages pending." +msgstr "Ctrl-Tab jde na další rozepsanou záložku, když žádný není nepřečtená." + +#: gajim/common/setting_values.py:443 gajim/common/config.py:200 +#, fuzzy +msgid "" +"Show a confirmation dialog to create metacontacts? Empty string means never " +"show the dialog." +msgstr "" +"Mám zobrazit dialog potvrzení blokace, nebo ne? Prázdný řetezec znamená " +"nikdy nezobrazovat dialog." + +#: gajim/common/setting_values.py:444 gajim/common/config.py:201 +#, fuzzy +msgid "" +"Show a confirmation dialog to block a contact? Empty string means never show " +"the dialog." +msgstr "" +"Mám zobrazit dialog potvrzení blokace, nebo ne? Prázdný řetezec znamená " +"nikdy nezobrazovat dialog." + +#: gajim/common/setting_values.py:445 gajim/common/config.py:202 +#, fuzzy +msgid "" +"If enabled, you will be able to set a negative priority to your account in " +"the Accounts window. BE CAREFUL, when you are logged in with a negative " +"priority, you will NOT receive any message from your server." +msgstr "" +"Je-li povoleno, bude možné použít zápornou prioritu účtu v okně úprava účtu. " +"BUĎ OPATRNÝ, když jsi přihlášen se zápornou prioritou, nedostaneš od serveru " +"žádnou zprávu." + +#: gajim/common/setting_values.py:446 gajim/common/config.py:203 +#, fuzzy +msgid "" +"If enabled, Gajim will show both the number of online and total contacts in " +"account rows as well as in group rows." +msgstr "" +"Je-li povoleno, Gajim zobrazí počet dostupných a všech kontaktů v účtu a u " +"řádků skupin." + +#: gajim/common/setting_values.py:447 gajim/common/config.py:204 +#, fuzzy +msgid "" +"If enabled, Gajim will scroll and select the contact who sent you the last " +"message, if the chat window is not already opened." +msgstr "" +"Je-li povoleno, Gajim bude posune a vybere kontakt, který vám poslal " +"poslední zprávu, pokud již okno rozhovoru není otevřené." + +#: gajim/common/setting_values.py:448 gajim/common/config.py:205 +msgid "Time of inactivity needed before the change status window closes down." +msgstr "Čas neaktivity před zavřením okna změny stavu." + +#: gajim/common/setting_values.py:449 gajim/common/config.py:206 +msgid "" +"Maximum number of lines that are printed in conversations. Oldest lines are " +"cleared." +msgstr "" +"Maximální počet řádků, které se vypíší v konverzacích. Nejstarší řádky jsou " +"smazány." + +#: gajim/common/setting_values.py:450 gajim/common/config.py:208 +#, fuzzy +msgid "" +"If enabled, completion in group chats will be like a shell auto-completion." +msgstr "" +"Je-li True, doplňování přezdívek v diskuzích bude porobné doplňování shellu" + +#: gajim/common/setting_values.py:451 gajim/common/config.py:217 +msgid "" +"If enabled, Gajim will try to use a STUN server when using Jingle. The one " +"in 'stun_server' option, or the one given by the XMPP server." +msgstr "" + +#: gajim/common/setting_values.py:452 gajim/common/config.py:218 +msgid "STUN server to use when using Jingle" +msgstr "" + +#: gajim/common/setting_values.py:453 gajim/common/config.py:220 +msgid "If enabled, Gajim will ignore incoming attention requests ('wizz')." +msgstr "" + +#: gajim/common/setting_values.py:454 gajim/common/config.py:221 +msgid "" +"If enabled, Gajim will reopen chat windows that were opened last time Gajim " +"was closed." +msgstr "" + +#: gajim/common/setting_values.py:455 gajim/common/config.py:224 +msgid "If enabled, Gajim will execute XEP-0146 Commands." +msgstr "" + +#: gajim/common/setting_values.py:458 gajim/common/config.py:236 +msgid "API Preferences. Possible values: 'http', 'iq'" +msgstr "" + +#: gajim/common/setting_values.py:459 gajim/common/config.py:237 +msgid "If enabled, Gajim will execute commands (/show, /sh, /execute, /exec)." +msgstr "" + +#: gajim/common/setting_values.py:460 gajim/common/config.py:238 +msgid "Width of group chat roster in pixel" +msgstr "" + +#: gajim/common/setting_values.py:461 gajim/common/config.py:239 +#, fuzzy +msgid "Force Bookmark 2 usage" +msgstr "Přidat tuto místnost do záložek" + +#: gajim/common/multimedia_helpers.py:51 +#, fuzzy +msgid "Default device" +msgstr "Výchozí Zpráva" + +#: gajim/common/multimedia_helpers.py:72 +#, fuzzy +msgid "Audio test" +msgstr "Audio / Video" + +#: gajim/common/multimedia_helpers.py:75 gajim/common/multimedia_helpers.py:91 +#: gajim/common/multimedia_helpers.py:105 +msgid "Autodetect" +msgstr "" + +#: gajim/common/multimedia_helpers.py:78 gajim/common/multimedia_helpers.py:93 +#, fuzzy, python-format +msgid "ALSA: %s" +msgstr "Velikost: %s" + +#: gajim/common/multimedia_helpers.py:81 gajim/common/multimedia_helpers.py:95 +#, fuzzy, python-format +msgid "Pulse: %s" +msgstr "Soubor: %s" + +#: gajim/common/multimedia_helpers.py:89 +msgid "Fake audio output" +msgstr "" + +#: gajim/common/multimedia_helpers.py:102 +msgid "Video test" +msgstr "" + +#: gajim/common/multimedia_helpers.py:107 +msgid "Pipewire" +msgstr "" + +#: gajim/common/multimedia_helpers.py:109 +#, python-format +msgid "V4L2: %s" +msgstr "" + +#: gajim/common/multimedia_helpers.py:111 +msgid "X11" +msgstr "" + +#: gajim/common/multimedia_helpers.py:113 +msgid "Windows" +msgstr "" + +#: gajim/common/multimedia_helpers.py:115 +msgid "macOS" +msgstr "" + +#: gajim/common/helpers.py:176 +msgid "_Busy" +msgstr "_Nerušit" + +#: gajim/common/helpers.py:178 +msgid "Busy" +msgstr "Nerušit" + +#: gajim/common/helpers.py:181 +msgid "_Not Available" +msgstr "Ne_dostupný" + +#: gajim/common/helpers.py:183 +msgid "Not Available" +msgstr "Nedostupný" + +#: gajim/common/helpers.py:186 +msgid "_Free for Chat" +msgstr "_Ukecaný" + +#: gajim/common/helpers.py:188 +msgid "Free for Chat" +msgstr "Ukecaný" + +#: gajim/common/helpers.py:191 +#, fuzzy +msgid "?user status:_Available" +msgstr "?transfer status:Pozastaveno" + +#: gajim/common/helpers.py:193 +#, fuzzy +msgid "?user status:Available" +msgstr "?transfer status:Pozastaveno" + +#: gajim/common/helpers.py:195 +msgid "Connecting" +msgstr "Připojuji se" + +#: gajim/common/helpers.py:198 +msgid "A_way" +msgstr "_Pryč" + +#: gajim/common/helpers.py:203 +msgid "_Offline" +msgstr "_Odpojen" + +#: gajim/common/helpers.py:205 +msgid "Offline" +msgstr "Odpojen" + +#: gajim/common/helpers.py:209 +msgid "?contact has status:Unknown" +msgstr "?contact has status:Neznámý" + +#: gajim/common/helpers.py:211 +msgid "?contact has status:Has errors" +msgstr "stav" + +#: gajim/common/helpers.py:216 +msgid "?Subscription we already have:None" +msgstr "?Subscription we already have:Žádná" + +#: gajim/common/helpers.py:218 +msgid "To" +msgstr "Příjemce" + +#: gajim/common/helpers.py:220 gajim/data/gui/groups_post_window.ui:33 +msgid "From" +msgstr "Odesílatel" + +#: gajim/common/helpers.py:222 +msgid "Both" +msgstr "Oboustranná" + +#: gajim/common/helpers.py:230 +msgid "?Ask (for Subscription):None" +msgstr "?Ask (for Subscription):Není" + +#: gajim/common/helpers.py:232 +msgid "Subscribe" +msgstr "Žádat autorizaci" + +#: gajim/common/helpers.py:244 +msgid "?Group Chat Contact Role:None" +msgstr "?Group Chat Contact Role:Žádná" + +#: gajim/common/helpers.py:247 +msgid "Moderators" +msgstr "Moderátoři" + +#: gajim/common/helpers.py:249 +msgid "Moderator" +msgstr "Moderátor" + +#: gajim/common/helpers.py:252 gajim/data/gui/groupchat_info_scrolled.ui:182 +msgid "Participants" +msgstr "Účastníci" + +#: gajim/common/helpers.py:254 +msgid "Participant" +msgstr "Účastník" + +#: gajim/common/helpers.py:257 +msgid "Visitors" +msgstr "Návštěvníci" + +#: gajim/common/helpers.py:259 +msgid "Visitor" +msgstr "Návštěvník" + +#: gajim/common/helpers.py:268 +msgid "?Group Chat Contact Affiliation:None" +msgstr "?Group Chat Contact Affiliation:Žádná" + +#: gajim/common/helpers.py:271 +#, fuzzy +msgid "Owners" +msgstr "Vlastník" + +#: gajim/common/helpers.py:273 gajim/data/gui/groupchat_config.ui:32 +msgid "Owner" +msgstr "Vlastník" + +#: gajim/common/helpers.py:276 +#, fuzzy +msgid "Administrators" +msgstr "Správce" + +#: gajim/common/helpers.py:278 +msgid "Administrator" +msgstr "Správce" + +#: gajim/common/helpers.py:281 +#, fuzzy +msgid "Members" +msgstr "Člen" + +#: gajim/common/helpers.py:320 +msgid "is paying attention to the conversation" +msgstr "věnuje pozornost rozhovoru" + +#: gajim/common/helpers.py:322 +msgid "is doing something else" +msgstr "dělá něco jiného" + +#: gajim/common/helpers.py:324 +#, fuzzy +msgid "is composing a message…" +msgstr "píše zprávu..." + +#: gajim/common/helpers.py:327 +msgid "paused composing a message" +msgstr "pozastavil(a) psaní zprávy" + +#: gajim/common/helpers.py:329 +msgid "has closed the chat window or tab" +msgstr "zavřel(a) okno zprávy" + +#: gajim/common/helpers.py:719 gajim/common/helpers.py:727 +#, python-format +msgid "%d message pending" +msgid_plural "%d messages pending" +msgstr[0] "Čeká %d zpráva" +msgstr[1] "Čekají %d zprávy" +msgstr[2] "Čeká %d zpráv" + +#: gajim/common/helpers.py:736 +#, fuzzy, python-format +msgid "from group chat %s" +msgstr "v _diskuzích" + +#: gajim/common/helpers.py:739 gajim/common/helpers.py:760 +#, fuzzy, python-format +msgid "from user %s" +msgstr "od uživatele %s" + +#: gajim/common/helpers.py:741 +#, fuzzy, python-format +msgid "from %s" +msgstr "od %s" + +#: gajim/common/helpers.py:747 gajim/common/helpers.py:755 +#, python-format +msgid "%d event pending" +msgid_plural "%d events pending" +msgstr[0] "Čeká %d událost" +msgstr[1] "Čekají %d události" +msgstr[2] "Čeká %d událostí" + +#: gajim/common/helpers.py:828 gajim/data/gui/add_new_contact_window.ui:20 +msgid "I would like to add you to my contact list." +msgstr "Chtěl(a) bych si Vás přidat do mého Seznamu." + +#: gajim/common/helpers.py:830 +#, fuzzy +msgid "Hello, I am $name." +msgstr "Ahoj, já jsem $name" + +#: gajim/common/config.py:71 +#, fuzzy +msgid "Play sound even when being busy." +msgstr "Přehrávat zvuk, je-li uživatel zaneprázdněn" + +#: gajim/common/config.py:73 +#, fuzzy +msgid "Show only online and free for chat contacts in the contact list." +msgstr "Zobraz v rosteru pouze online kontakty nebo kontakty hledající pokec." + +#: gajim/common/config.py:76 +msgid "Time in minutes, after which your status changes to away." +msgstr "Čas v minutách, po kterém se Váš stav přepne na pryč." + +#: gajim/common/config.py:77 +#, fuzzy +msgid "$S (Away: Idle more than $T min)" +msgstr "$S (Pryč z důvodu nečinosti po více než $T minut)" + +# FIXME: asi blbe +#: gajim/common/config.py:77 +#, fuzzy +msgid "" +"$S will be replaced by current status message, $T by the 'autoawaytime' " +"value." +msgstr "$S bude změněn na aktuální stav, čas: $T" + +#: gajim/common/config.py:79 +msgid "Time in minutes, after which your status changes to not available." +msgstr "Čas v minutách, po kterém se Váš stav přepne na nedostupný." + +#: gajim/common/config.py:80 +#, fuzzy +msgid "$S (Not available: Idle more than $T min)" +msgstr "$S (Nedostupný z důvodu nečinosti po více než $T minut)" + +# FIXME: asi blbe +#: gajim/common/config.py:80 +#, fuzzy +msgid "" +"$S will be replaced by current status message, $T by the 'autoxatime' value." +msgstr "$S bude změněn na aktuální stav, čas: $T" + +#: gajim/common/config.py:83 +#, fuzzy +msgid "" +"When to show the notification area icon. Can be 'never', 'on_event', and " +"'always'." +msgstr "" +"Kdy zobrazit ikonu v oznamovací oblasti. Může být jedno z nikdy='never', při " +"události='on_event', vždy='always'." + +#: gajim/common/config.py:87 +#, fuzzy +msgid "" +"List of rows (accounts and groups) that are collapsed (space separated)." +msgstr "" +"Seznam (oddělené mezerami) řádků (účtů a skupin), které budou \"zhroucené\"." + +#: gajim/common/config.py:94 gajim/common/config.py:335 +#: gajim/common/config.py:342 +#, fuzzy +msgid "Language used for spell checking." +msgstr "Jazyk použitý kontrolou pravopisu" + +#: gajim/common/config.py:97 +msgid "When enabled, ASCII emojis will be converted to graphical emojis." +msgstr "" + +#: gajim/common/config.py:152 +#, fuzzy +msgid "" +"When not printing time for every message ('print_time'==sometimes), print it " +"every x minutes." +msgstr "" +"Když nevypisuji čas pro každou zprávu (print_time=='někdy'), vypisuj ji " +"každých x minut." + +#: gajim/common/config.py:173 +#, fuzzy +msgid "" +"If enabled, Gajim quits when clicking the X button of your Window Manager. " +"This setting is taken into account only if the notification area icon is " +"used." +msgstr "" +"Pokud zapnuto, ukonči Gajim když bude stisknuto tlačítko X v titulku okna. " +"Toto nastavení se použije pouze tehdy, pokud je použita ikona v trayi." + +#: gajim/common/config.py:175 +#, fuzzy +msgid "" +"If enabled, Gajim will display the status message (if not empty) underneath " +"the contact name in the contact list window." +msgstr "" +"Pokud zapnuto, Gajim zobrazí popis stavu, pokud není prázdný, pro každý " +"kontakt pod jménem v okně Seznamu." + +#: gajim/common/config.py:182 +#, fuzzy +msgid "" +"If disabled, Gajim will no longer print status messages in chats when a " +"contact changes their status (and/or their status message)." +msgstr "" +"Pokud vypnuto, Gajim nebude zobrazovat stavové řádky v rozhovorech, když " +"kontakt změní jeho stav a/nebo jeho stavovou zprávu." + +#: gajim/common/config.py:183 +#, fuzzy +msgid "" +"Default Setting: Show a status message for every join or leave in a group " +"chat." +msgstr "Nelze se připojit se do diskuze" + +#: gajim/common/config.py:184 +#, fuzzy +msgid "" +"Default Setting: Show a status message for all status changes (away, dnd, " +"etc.) of users in a group chat." +msgstr "Nelze se připojit se do diskuze" + +#: gajim/common/config.py:191 +#, fuzzy +msgid "" +"Controls the window where new messages are placed.\n" +"'always' - All messages are sent to a single window.\n" +"'always_with_roster' - Like 'always' but the messages are in a single window " +"along with the contact list.\n" +"'never' - All messages get their own window.\n" +"'peracct' - Messages for each account are sent to a specific window.\n" +"'pertype' - Each message type (e.g. chats vs. group chats) is sent to a " +"specific window." +msgstr "" +"Řídí okno, kam budou doručeny nové zprávy.\n" +"'vždy' - Všechny zprávy jsou odeslány do jediného okna.\n" +"'nikdy' - Všechny zprávy dostanou svoje vlastní okno.\n" +"'peracct' - Zprávy pro každý účet jsou doručeny do zvláštních oken.\n" +"'pertype' - Každý typ zprávy (např. rohovor vs diskuze) jsou odeslány do " +"zvláštního okna. Vězte, že změna této volby vyžaduje restartování Gajimu, " +"aby se projevila" + +#: gajim/common/config.py:192 +msgid "" +"Show contact list window on startup.\n" +"'always' - Always show contact list window.\n" +"'never' - Never show contact list window.\n" +"'last_state' - Restore last state of the contact list window." +msgstr "" + +#: gajim/common/config.py:207 +#, fuzzy +msgid "" +"Valid URI schemes. Only schemes in this list will be accepted as 'real' URI " +"(mailto and xmpp are handled separately)." +msgstr "" +"Platná uri schémata. Pouze schémata v tomto seznamu budou akceptována jako " +"\"skutečné\" URI. (mailto a xmpp jsou obsluhovány zvlášť)" + +#: gajim/common/config.py:212 +msgid "Optionally fix Jingle output video framerate. Example: 10/1 or 25/2." +msgstr "" + +#: gajim/common/config.py:213 +msgid "Optionally resize Jingle output video. Example: 320x240." +msgstr "" + +#: gajim/common/config.py:214 +msgid "If enabled, you will see your webcam's video stream as well." +msgstr "" + +#: gajim/common/config.py:219 +msgid "" +"Proxy used for all outgoing connections if the account does not have a " +"specific proxy configured." +msgstr "" + +#: gajim/common/config.py:222 +#, fuzzy +msgid "" +"If enabled, Gajim will display an icon to show that sent messages have been " +"received by your contact." +msgstr "" +"Pokud zaškrtnuto, Gajim se nebude pokáždé ptát na zprávu stavu. Místo toho " +"použije výchozí nadefinovanou zprávu." + +#: gajim/common/config.py:223 +#, fuzzy +msgid "" +"If enabled, Gajim will use the System's Keyring to store account passwords." +msgstr "" +"Je-li povoleno, Gajim použije Gnome Keyring (je-li dostupný) k uložení hesel " +"k účtům." + +#: gajim/common/config.py:225 +msgid "2: System, 1: Enabled, 0: Disabled" +msgstr "" + +#: gajim/common/config.py:226 +msgid "" +"Maximum history in days we request from a public group chat archive. 0: As " +"much as possible." +msgstr "" + +#: gajim/common/config.py:227 +msgid "" +"Maximum history in days we request from a private group chat archive. 0: As " +"much as possible." +msgstr "" + +#: gajim/common/config.py:228 +msgid "" +"If enabled, Gajim shows the group chat subject in the chat window when " +"joining." +msgstr "" + +#: gajim/common/config.py:229 +#, fuzzy +msgid "" +"If enabled, the contact row is colored according to the current chat state " +"of the contact." +msgstr "Pokud je zaškrtnuto, Gajim se připojí do této místnosti při spuštění" + +#: gajim/common/config.py:230 +#, fuzzy +msgid "" +"If enabled, the tab is colored according to the current chat state of the " +"contact." +msgstr "Pokud je zaškrtnuto, Gajim se připojí do této místnosti při spuštění" + +#: gajim/common/config.py:231 +#, fuzzy +msgid "" +"Shows a text in the banner that describes the current chat state of the " +"contact." +msgstr "Pokud je zaškrtnuto, Gajim se připojí do této místnosti při spuštění" + +#: gajim/common/config.py:232 +#, fuzzy +msgid "" +"Chat state notifications that are sent to contacts. Possible values: all, " +"composing_only, disabled" +msgstr "" +"Odešílat události stavu rozhovoru. Může být pouze jediná, composing_only, " +"vypnutá." + +#: gajim/common/config.py:233 +#, fuzzy +msgid "" +"Chat state notifications that are sent to the group chat. Possible values: " +"'all', 'composing_only', 'disabled'" +msgstr "" +"Odešílat události stavu rozhovoru. Může být pouze jediná, composing_only, " +"vypnutá." + +#: gajim/common/config.py:240 +msgid "Shows an info bar with helpful hints in the Start / Join Chat dialog" +msgstr "" + +#: gajim/common/config.py:242 +msgid "Date of the last update check" +msgstr "" + +#: gajim/common/config.py:260 +#, fuzzy +msgid "" +"Priority will change automatically according to your status. Priorities are " +"defined in 'autopriority_*' options." +msgstr "" +"Priorita se změní automaticky podle tvého stavu. Priority jsou definovány v " +"nastavení jako položky autopriority_*." + +#: gajim/common/config.py:267 +#, fuzzy +msgid "If enabled, the last status will be restored." +msgstr "Je-li povoleno, nastaví se vždy poslední použitý stav." + +#: gajim/common/config.py:268 +#, fuzzy +msgid "" +"If enabled, contacts requesting authorization will be accepted automatically." +msgstr "Je-li True, kontakty požadující autorizaci budou automaticky přijaty." + +#: gajim/common/config.py:269 +#, fuzzy +msgid "" +"If disabled, this account will be disabled and will not appear in the " +"contact list window." +msgstr "" +"Pokud je False, účet bude deaktivován a nebude zobrazen v okně rosteru." + +#: gajim/common/config.py:278 +msgid "ConnectionType: START TLS, DIRECT TLS or PLAIN" +msgstr "" + +#: gajim/common/config.py:280 +msgid "" +"List of XMPP Addresses (space separated) for which you do not want to store " +"chat history. You can also add the name of an account to disable storing " +"chat history for this account." +msgstr "" + +#: gajim/common/config.py:285 +#, fuzzy +msgid "" +"If enabled, Gajim will use your IP and proxies defined in " +"'file_transfer_proxies' option for file transfers." +msgstr "" +"Pokud je zaškrtnuto, Gajim použije Vaší IP a proxy servery definované ve " +"volbě pro přenos souborů file_transfer_proxies." + +#: gajim/common/config.py:286 +msgid "" +"If enabled, Gajim will test file transfer proxies on startup to be sure they " +"work. Openfire's proxies are known to fail this test even if they work." +msgstr "" + +#: gajim/common/config.py:298 +#, fuzzy +msgid "If enabled, Gajim will answer to message receipt requests." +msgstr "" +"Pokud zaškrtnuto, Gajim se nebude pokáždé ptát na zprávu stavu. Místo toho " +"použije výchozí nadefinovanou zprávu." + +#: gajim/common/config.py:303 +#, fuzzy +msgid "" +"Allow Gajim to send information about the operating system you are running." +msgstr "Pokud je zaškrtnuto, Gajim se připojí do této místnosti při spuštění" + +#: gajim/common/config.py:304 +#, fuzzy +msgid "Allow Gajim to send your local time." +msgstr "%s Vám chce poslat soubor." + +#: gajim/common/config.py:307 +#, fuzzy +msgid "Message that is sent to contacts you want to add." +msgstr "Prosím vyplňte údaje o kontaktu, který chcete přidat" + +#: gajim/common/config.py:308 +#, fuzzy +msgid "" +"If enabled, Gajim will send your local IP so your contact can connect to " +"your machine for file transfers." +msgstr "" +"Pokud je zaškrtnuto, Gajim použije Vaší IP a proxy servery definované ve " +"volbě pro přenos souborů file_transfer_proxies." + +#: gajim/common/config.py:309 +msgid "" +"List of XMPP Addresses (space separated) for which the chat window will be " +"re-opened on next startup." +msgstr "" + +#: gajim/common/config.py:311 +msgid "" +"Preferred file transfer mechanism for file drag&drop on a chat window. Can " +"be 'httpupload' (default) or 'jingle'." +msgstr "" + +#: gajim/common/config.py:312 +#, fuzzy +msgid "Allow certificate verification with POSH." +msgstr "Chyba SSL certifikátu" + +#: gajim/common/config.py:336 +#, fuzzy +msgid "" +"Chat state notifications that are sent to contacts. Possible values: 'all', " +"'composing_only', 'disabled'" +msgstr "" +"Odešílat události stavu rozhovoru. Může být pouze jediná, composing_only, " +"vypnutá." + +#: gajim/common/config.py:339 +#, fuzzy +msgid "The currently active encryption for that contact." +msgstr "Povolit ESessions šifrování pro tento účet." + +#: gajim/common/config.py:343 +msgid "" +"If enabled, a notification is created for every message in this group chat." +msgstr "" + +#: gajim/common/config.py:344 +#, fuzzy +msgid "" +"Show a status message for all status changes (away, dnd, etc.) of users in a " +"group chat." +msgstr "Nelze se připojit se do diskuze" + +#: gajim/common/config.py:345 +#, fuzzy +msgid "Show a status message for every join or leave in a group chat." +msgstr "Nelze se připojit se do diskuze" + +#: gajim/common/config.py:346 +msgid "" +"If enabled, the group chat is minimized into the contact list when joining " +"automatically." +msgstr "" + +#: gajim/common/config.py:347 +msgid "" +"If enabled, the group chat is minimized into the contact list when closing " +"it." +msgstr "" + +#: gajim/common/config.py:348 +#, fuzzy +msgid "" +"Chat state notifications that are sent to the group chat. Possible values: " +"'all', 'composing_only' or 'disabled'." +msgstr "" +"Odešílat události stavu rozhovoru. Může být pouze jediná, composing_only, " +"vypnutá." + +#: gajim/common/config.py:351 +msgid "" +"If enabled, plugins will be activated on startup (this is saved when exiting " +"Gajim). This option SHOULD NOT be used to (de)activate plugins. Use the " +"plugin window instead." +msgstr "" + +#: gajim/common/config.py:358 +#, fuzzy +msgid "I'm eating." +msgstr "Právě pracuji." + +#: gajim/common/config.py:359 +msgid "I'm watching a movie." +msgstr "Dívám se na film." + +#: gajim/common/config.py:360 +msgid "I'm working." +msgstr "Právě pracuji." + +#: gajim/common/config.py:361 +msgid "Phone" +msgstr "Telefon" + +#: gajim/common/config.py:361 +msgid "I'm on the phone." +msgstr "Zrovna telefonuji." + +#: gajim/common/config.py:362 +msgid "I'm out enjoying life." +msgstr "Užívám si života venku." + +#: gajim/common/config.py:373 +#, fuzzy +msgid "" +"Sound to play when a group chat message contains one of the words in " +"'muc_highlight_words' or your nickname is mentioned." +msgstr "" +"Zvuk, který bude přehrán, pokud zpráva diskuze obsahuje jedno ze slov v " +"muc_highlight_words, nebo když obsahuje Vaši přezdívku." + +#: gajim/common/config.py:374 +#, fuzzy +msgid "Sound to play when any group chat message arrives." +msgstr "Přehraný zvuk při příchodu jakékoliv MUC zprávy." + +#: gajim/common/config.py:378 +#, fuzzy +msgid "Tor" +msgstr "Příjemce" + +#: gajim/common/exceptions.py:45 +#, fuzzy, python-format +msgid "" +"The database file (%s) cannot be read. Try to repair it (see https://dev." +"gajim.org/gajim/gajim/wikis/help/DatabaseBackup) or remove it (all history " +"will be lost)." +msgstr "" +"Nelze přečíst soubor databáze (%s). Opravte ho (viz http://trac.gajim.org/" +"wiki/DatabaseBackup) nebo smažte (tím ztratítu všechny zprávy v historii)." + +#: gajim/common/exceptions.py:59 +msgid "Service not available: Gajim is not running, or remote_control is False" +msgstr "Služba není dostupná. Gajim neběží, nebo remote_control je vypnutý" + +#: gajim/common/exceptions.py:81 +#, fuzzy, python-format +msgid "" +"Session bus is not available.\n" +"Try reading %(url)s" +msgstr "" +"Session bus není k dispozici.\n" +"Zkuste přečíst http://trac.gajim.org/wiki/GajimDBus" + +#: gajim/common/exceptions.py:93 +#, fuzzy, python-format +msgid "" +"System bus is not available.\n" +"Try reading %(url)s" +msgstr "" +"Session bus není k dispozici.\n" +"Zkuste přečíst http://trac.gajim.org/wiki/GajimDBus" + +#: gajim/common/optparser.py:54 +#, python-format +msgid "Error: cannot open %s for reading" +msgstr "Chyba: nemůžu otevřít %s pro čtení" + +#: gajim/common/configpaths.py:84 +#, python-format +msgid "%s is a file but it should be a directory" +msgstr "%s je soubor, ale měl by být adresář" + +#: gajim/common/configpaths.py:85 +msgid "Gajim will now exit" +msgstr "Gajim se nyní ukončí" + +#: gajim/common/connection_handlers_events.py:242 +#: gajim/common/connection_handlers_events.py:342 +#, fuzzy, python-format +msgid "New message from %(nickname)s" +msgid_plural "%(n_msgs)i unread messages from %(nickname)s" +msgstr[0] "Nová zpráva od %(nickname)s" +msgstr[1] "Nová zpráva od %(nickname)s" +msgstr[2] "Nová zpráva od %(nickname)s" + +#: gajim/common/connection_handlers_events.py:412 +#, python-format +msgid "%(nick)s Changed Status" +msgstr "%(nick)s Změnil(a) stav" + +#: gajim/common/const.py:287 +#, fuzzy +msgid "?Group chat name:Team" +msgstr "?Group Chat Contact Role:Žádná" + +#: gajim/common/const.py:288 +msgid "?Group chat description:Project discussion" +msgstr "" + +#: gajim/common/const.py:289 +#, fuzzy +msgid "?Group chat address:team" +msgstr "Diskuze" + +#: gajim/common/const.py:290 +#, fuzzy +msgid "?Group chat name:Family" +msgstr "Zvýraznění zprávy v diskuzi" + +#: gajim/common/const.py:291 +msgid "?Group chat description:Spring gathering" +msgstr "" + +#: gajim/common/const.py:292 +msgid "?Group chat address:family" +msgstr "" + +#: gajim/common/const.py:293 +#, fuzzy +msgid "?Group chat name:Vacation" +msgstr "Skupinová pozvánka" + +#: gajim/common/const.py:294 +msgid "?Group chat description:Trip planning" +msgstr "" + +#: gajim/common/const.py:295 +#, fuzzy +msgid "?Group chat address:vacation" +msgstr "Skupinová pozvánka" + +#: gajim/common/const.py:296 +#, fuzzy +msgid "?Group chat name:Repairs" +msgstr "_Diskuze" + +#: gajim/common/const.py:297 +msgid "?Group chat description:Local help group" +msgstr "" + +#: gajim/common/const.py:298 +#, fuzzy +msgid "?Group chat address:repairs" +msgstr "Diskuze" + +#: gajim/common/const.py:299 +#, fuzzy +msgid "?Group chat name:News" +msgstr "?Group Chat Contact Role:Žádná" + +#: gajim/common/const.py:300 +#, fuzzy +msgid "?Group chat description:Local news and reports" +msgstr "Vytváření místností není povoleno." + +#: gajim/common/const.py:301 +#, fuzzy +msgid "?Group chat address:news" +msgstr "Nová diskuze" + +#: gajim/common/const.py:306 +#, fuzzy +msgid "Remote server not found" +msgstr "Tato služba nebyla nalezena" + +#: gajim/common/const.py:307 +msgid "Remote server timeout" +msgstr "" + +#: gajim/common/const.py:308 gajim/common/const.py:309 +#: gajim/common/const.py:310 +#, fuzzy +msgid "Address does not belong to a group chat server" +msgstr "Tohle není diskuze" + +#: gajim/common/const.py:311 +#, fuzzy +msgid "Group chat already exists" +msgstr "Účet Local už existuje." + +#: gajim/common/const.py:312 +#, fuzzy +msgid "Group chat does not exist" +msgstr "Diskuze %s neexistuje." + +#: gajim/common/const.py:313 +#, fuzzy +msgid "Group chat is closed" +msgstr "Diskuze" + +#: gajim/common/const.py:319 +msgid "This message was encrypted with OTR and could not be decrypted." +msgstr "" + +#: gajim/common/const.py:322 +msgid "" +"This message was encrypted with Legacy OpenPGP and could not be decrypted. " +"You can install the PGP plugin to handle those messages." +msgstr "" + +#: gajim/common/const.py:326 +msgid "" +"This message was encrypted with OpenPGP for XMPP and could not be decrypted. " +"You can install the OpenPGP plugin to handle those messages." +msgstr "" + +#: gajim/common/const.py:330 +#, python-format +msgid "This message was encrypted with %s and could not be decrypted." +msgstr "" + +#: gajim/common/const.py:337 +msgid "Doing Chores" +msgstr "Domácí práce" + +#: gajim/common/const.py:338 +msgid "Buying Groceries" +msgstr "Nakupuji potraviny" + +#: gajim/common/const.py:339 +msgid "Cleaning" +msgstr "Uklízím" + +#: gajim/common/const.py:340 +msgid "Cooking" +msgstr "Vařím" + +#: gajim/common/const.py:341 +msgid "Doing Maintenance" +msgstr "Dělám údržbu" + +#: gajim/common/const.py:342 +msgid "Doing the Dishes" +msgstr "Umývám nádobí" + +#: gajim/common/const.py:343 +msgid "Doing the Laundry" +msgstr "Peru" + +#: gajim/common/const.py:344 +msgid "Gardening" +msgstr "Zahradničím" + +#: gajim/common/const.py:345 +msgid "Running an Errand" +msgstr "Vyřizuji" + +#: gajim/common/const.py:346 +msgid "Walking the Dog" +msgstr "Venčím psa" + +#: gajim/common/const.py:348 +#, fuzzy +msgid "Drinking" +msgstr "Piju" + +#: gajim/common/const.py:349 +msgid "Having a Beer" +msgstr "Piju pivo" + +#: gajim/common/const.py:350 +msgid "Having Coffee" +msgstr "Na kávě" + +#: gajim/common/const.py:351 +msgid "Having Tea" +msgstr "Dávám si čaj" + +#: gajim/common/const.py:354 +msgid "Having a Snack" +msgstr "Svačím" + +#: gajim/common/const.py:355 +#, fuzzy +msgid "Having Breakfast" +msgstr "Snídám" + +#: gajim/common/const.py:356 +msgid "Having Dinner" +msgstr "Večeřím" + +#: gajim/common/const.py:357 +msgid "Having Lunch" +msgstr "Obědvám" + +#: gajim/common/const.py:359 +msgid "Exercising" +msgstr "Cvičím" + +#: gajim/common/const.py:360 gajim/common/const.py:411 +msgid "Cycling" +msgstr "Jedu na kole" + +#: gajim/common/const.py:361 +msgid "Dancing" +msgstr "Tančím" + +#: gajim/common/const.py:362 +msgid "Hiking" +msgstr "Na výšlapu" + +#: gajim/common/const.py:363 +msgid "Jogging" +msgstr "Běhám" + +#: gajim/common/const.py:364 +msgid "Playing Sports" +msgstr "Sportuji" + +#: gajim/common/const.py:365 +msgid "Running" +msgstr "Běhám" + +#: gajim/common/const.py:366 +msgid "Skiing" +msgstr "Lyžuji" + +#: gajim/common/const.py:367 +msgid "Swimming" +msgstr "Plavu" + +#: gajim/common/const.py:368 +msgid "Working out" +msgstr "Posiluji" + +#: gajim/common/const.py:370 +#, fuzzy +msgid "Grooming" +msgstr "Pečuji o sebe" + +#: gajim/common/const.py:371 +msgid "At the Spa" +msgstr "V lázních" + +#: gajim/common/const.py:372 +msgid "Brushing Teeth" +msgstr "Čistím si zuby" + +#: gajim/common/const.py:373 +msgid "Getting a Haircut" +msgstr "U holiče" + +#: gajim/common/const.py:374 +msgid "Shaving" +msgstr "Holím se" + +#: gajim/common/const.py:375 +msgid "Taking a Bath" +msgstr "Koupu se" + +#: gajim/common/const.py:376 +msgid "Taking a Shower" +msgstr "Sprchuji se" + +#: gajim/common/const.py:378 +msgid "Having an Appointment" +msgstr "Mám schůzku" + +#: gajim/common/const.py:380 +msgid "Inactive" +msgstr "Neaktivní" + +#: gajim/common/const.py:381 +msgid "Day Off" +msgstr "Den volna" + +#: gajim/common/const.py:382 +#, fuzzy +msgid "Hanging out" +msgstr "Venku za zábavou" + +#: gajim/common/const.py:383 +msgid "Hiding" +msgstr "Skrývám se" + +#: gajim/common/const.py:384 +msgid "On Vacation" +msgstr "Na dovolené" + +#: gajim/common/const.py:385 +msgid "Praying" +msgstr "Modlím se" + +#: gajim/common/const.py:386 +msgid "Scheduled Holiday" +msgstr "Plánovaná dovolená" + +#: gajim/common/const.py:388 +msgid "Thinking" +msgstr "Přemýšlím" + +#: gajim/common/const.py:390 +#, fuzzy +msgid "Relaxing" +msgstr "Relaxuji" + +#: gajim/common/const.py:391 +msgid "Fishing" +msgstr "Rybařím" + +#: gajim/common/const.py:392 +msgid "Gaming" +msgstr "Hraji hry" + +#: gajim/common/const.py:393 +#, fuzzy +msgid "Going out" +msgstr "Venku" + +#: gajim/common/const.py:394 +msgid "Partying" +msgstr "Na párty" + +#: gajim/common/const.py:395 +msgid "Reading" +msgstr "Čtu si" + +#: gajim/common/const.py:396 +#, fuzzy +msgid "Rehearsing" +msgstr "Nacvičuji" + +#: gajim/common/const.py:397 +msgid "Shopping" +msgstr "Nakupuji" + +#: gajim/common/const.py:398 +msgid "Smoking" +msgstr "Kouřím" + +#: gajim/common/const.py:399 +msgid "Socializing" +msgstr "Ve společnosti" + +#: gajim/common/const.py:400 +msgid "Sunbathing" +msgstr "Opaluji se" + +#: gajim/common/const.py:401 +msgid "Watching TV" +msgstr "Sleduji TV" + +#: gajim/common/const.py:402 +msgid "Watching a Movie" +msgstr "Dívám se na film" + +#: gajim/common/const.py:404 +msgid "Talking" +msgstr "Povídám si" + +#: gajim/common/const.py:405 +msgid "In Real Life" +msgstr "Ve skutečném světě" + +#: gajim/common/const.py:406 +msgid "On the Phone" +msgstr "Telefonuji" + +#: gajim/common/const.py:407 +msgid "On Video Phone" +msgstr "Mám videohovor" + +#: gajim/common/const.py:409 +msgid "Traveling" +msgstr "Cestuji" + +#: gajim/common/const.py:410 +msgid "Commuting" +msgstr "Dojíždím" + +#: gajim/common/const.py:412 +msgid "Driving" +msgstr "Řídím" + +#: gajim/common/const.py:413 +msgid "In a Car" +msgstr "V autě" + +#: gajim/common/const.py:414 +msgid "On a Bus" +msgstr "V autobuse" + +#: gajim/common/const.py:415 +msgid "On a Plane" +msgstr "V letadle" + +#: gajim/common/const.py:416 +msgid "On a Train" +msgstr "Ve vlaku" + +#: gajim/common/const.py:417 +msgid "On a Trip" +msgstr "Na výletě" + +#: gajim/common/const.py:418 +msgid "Walking" +msgstr "Na procházce" + +#: gajim/common/const.py:421 +msgid "Coding" +msgstr "Programuji" + +#: gajim/common/const.py:422 +msgid "In a Meeting" +msgstr "Na setkání" + +#: gajim/common/const.py:423 +msgid "Studying" +msgstr "Učím se" + +#: gajim/common/const.py:424 +msgid "Writing" +msgstr "Píši" + +#: gajim/common/const.py:427 +msgid "Afraid" +msgstr "Vylekaný" + +#: gajim/common/const.py:428 +msgid "Amazed" +msgstr "Užaslý" + +#: gajim/common/const.py:429 +msgid "Amorous" +msgstr "Milující" + +#: gajim/common/const.py:430 +msgid "Angry" +msgstr "Rozzlobený" + +#: gajim/common/const.py:431 +msgid "Annoyed" +msgstr "Mrzutý" + +#: gajim/common/const.py:432 +msgid "Anxious" +msgstr "Znepokojený" + +#: gajim/common/const.py:433 +msgid "Aroused" +msgstr "Vzrušený" + +#: gajim/common/const.py:434 +msgid "Ashamed" +msgstr "Zahanbený" + +#: gajim/common/const.py:435 +msgid "Bored" +msgstr "Znuděný" + +#: gajim/common/const.py:436 +msgid "Brave" +msgstr "Statečný" + +#: gajim/common/const.py:437 +msgid "Calm" +msgstr "Klidný" + +#: gajim/common/const.py:438 +msgid "Cautious" +msgstr "Opatrný" + +#: gajim/common/const.py:439 +msgid "Cold" +msgstr "Chladný" + +#: gajim/common/const.py:440 +msgid "Confident" +msgstr "Sebevědomý" + +#: gajim/common/const.py:441 +msgid "Confused" +msgstr "Zmatený" + +#: gajim/common/const.py:442 +msgid "Contemplative" +msgstr "Zamyšlený" + +#: gajim/common/const.py:443 +msgid "Contented" +msgstr "Spokojený" + +#: gajim/common/const.py:444 +msgid "Cranky" +msgstr "Potrhlý" + +#: gajim/common/const.py:445 +msgid "Crazy" +msgstr "Šílený" + +#: gajim/common/const.py:446 +msgid "Creative" +msgstr "Tvořivý" + +#: gajim/common/const.py:447 +msgid "Curious" +msgstr "Zvědavý" + +#: gajim/common/const.py:448 +msgid "Dejected" +msgstr "Odmítnutý" + +#: gajim/common/const.py:449 +msgid "Depressed" +msgstr "Deprimovaný" + +#: gajim/common/const.py:450 +msgid "Disappointed" +msgstr "Zklamaný" + +#: gajim/common/const.py:451 +msgid "Disgusted" +msgstr "Znechucený" + +#: gajim/common/const.py:452 +msgid "Dismayed" +msgstr "Zděšený" + +#: gajim/common/const.py:453 +msgid "Distracted" +msgstr "Roztržitý" + +#: gajim/common/const.py:454 +#, fuzzy +msgid "Embarrassed" +msgstr "Rozpačitý" + +#: gajim/common/const.py:455 +msgid "Envious" +msgstr "Závidějící" + +#: gajim/common/const.py:456 +msgid "Excited" +msgstr "Nadšený" + +#: gajim/common/const.py:457 +msgid "Flirtatious" +msgstr "Záletný" + +#: gajim/common/const.py:458 +#, fuzzy +msgid "Frustrated" +msgstr "Rozčarovaný" + +#: gajim/common/const.py:459 +msgid "Grateful" +msgstr "Vděčný" + +#: gajim/common/const.py:460 +msgid "Grieving" +msgstr "Truchlící" + +#: gajim/common/const.py:461 +#, fuzzy +msgid "Grumpy" +msgstr "Nevrlý" + +#: gajim/common/const.py:462 +msgid "Guilty" +msgstr "Provinilý" + +#: gajim/common/const.py:463 +msgid "Happy" +msgstr "Šťastný" + +#: gajim/common/const.py:464 +msgid "Hopeful" +msgstr "Doufající" + +#: gajim/common/const.py:465 +msgid "Hot" +msgstr "Rozpálený" + +#: gajim/common/const.py:466 +msgid "Humbled" +msgstr "Pokorný" + +#: gajim/common/const.py:467 +msgid "Humiliated" +msgstr "Ponížený" + +#: gajim/common/const.py:468 +msgid "Hungry" +msgstr "Hladový" + +#: gajim/common/const.py:469 +msgid "Hurt" +msgstr "Raněný" + +#: gajim/common/const.py:470 +#, fuzzy +msgid "Impressed" +msgstr "Ohromený" + +#: gajim/common/const.py:471 +msgid "In Awe" +msgstr "S respektem" + +#: gajim/common/const.py:472 +msgid "In Love" +msgstr "Zamilovaný" + +#: gajim/common/const.py:473 +msgid "Indignant" +msgstr "Rozhořčený" + +#: gajim/common/const.py:474 +msgid "Interested" +msgstr "Zaujatý" + +#: gajim/common/const.py:475 +#, fuzzy +msgid "Intoxicated" +msgstr "Opilý/Zfetovaný" + +#: gajim/common/const.py:476 +msgid "Invincible" +msgstr "Nepřekonatelný" + +#: gajim/common/const.py:477 +msgid "Jealous" +msgstr "Žárlivý" + +#: gajim/common/const.py:478 +msgid "Lonely" +msgstr "Osamělý" + +#: gajim/common/const.py:479 +msgid "Lost" +msgstr "Ztracený" + +#: gajim/common/const.py:480 +msgid "Lucky" +msgstr "Šťastný" + +#: gajim/common/const.py:481 +msgid "Mean" +msgstr "Nízký" + +#: gajim/common/const.py:482 +msgid "Moody" +msgstr "Náladový" + +#: gajim/common/const.py:483 +msgid "Nervous" +msgstr "Nervózní" + +#: gajim/common/const.py:484 +msgid "Neutral" +msgstr "Bez emocí" + +#: gajim/common/const.py:485 +msgid "Offended" +msgstr "Uražený" + +#: gajim/common/const.py:486 +msgid "Outraged" +msgstr "Rozčílený" + +#: gajim/common/const.py:487 +msgid "Playful" +msgstr "Hravý" + +#: gajim/common/const.py:488 +msgid "Proud" +msgstr "Hrdý" + +#: gajim/common/const.py:489 +#, fuzzy +msgid "Relaxed" +msgstr "Uvolněný" + +#: gajim/common/const.py:490 +#, fuzzy +msgid "Relieved" +msgstr "Uvolněný" + +#: gajim/common/const.py:491 +msgid "Remorseful" +msgstr "Kajícný" + +#: gajim/common/const.py:492 +msgid "Restless" +msgstr "Netrpělivý" + +#: gajim/common/const.py:493 +msgid "Sad" +msgstr "Smutný" + +#: gajim/common/const.py:494 +msgid "Sarcastic" +msgstr "Jízlivý" + +#: gajim/common/const.py:495 +msgid "Satisfied" +msgstr "Spokojený" + +#: gajim/common/const.py:496 +msgid "Serious" +msgstr "Vážný" + +#: gajim/common/const.py:497 +msgid "Shocked" +msgstr "Šokovaný" + +#: gajim/common/const.py:498 +msgid "Shy" +msgstr "Plachý" + +#: gajim/common/const.py:499 +msgid "Sick" +msgstr "Nemocný" + +#: gajim/common/const.py:500 +msgid "Sleepy" +msgstr "Ospalý" + +#: gajim/common/const.py:501 +msgid "Spontaneous" +msgstr "Spontánní" + +#: gajim/common/const.py:502 +msgid "Stressed" +msgstr "Stresovaný" + +#: gajim/common/const.py:503 +msgid "Strong" +msgstr "Silný" + +#: gajim/common/const.py:504 +msgid "Surprised" +msgstr "Překvapený" + +#: gajim/common/const.py:505 +msgid "Thankful" +msgstr "Děkovný" + +#: gajim/common/const.py:506 +msgid "Thirsty" +msgstr "Žíznivý" + +#: gajim/common/const.py:507 +msgid "Tired" +msgstr "Unavený" + +#: gajim/common/const.py:508 +msgid "Undefined" +msgstr "Nedefinováno" + +#: gajim/common/const.py:509 +msgid "Weak" +msgstr "Slabý" + +#: gajim/common/const.py:510 +msgid "Worried" +msgstr "Ustaraný" + +#: gajim/common/const.py:514 +msgid "accuracy" +msgstr "" + +#: gajim/common/const.py:515 +#, fuzzy +msgid "alt" +msgstr "výchozí" + +#: gajim/common/const.py:516 +msgid "area" +msgstr "" + +#: gajim/common/const.py:517 +#, fuzzy +msgid "bearing" +msgstr "mariňák" + +#: gajim/common/const.py:518 +#, fuzzy +msgid "building" +msgstr "Skrývám se" + +#: gajim/common/const.py:519 +#, fuzzy +msgid "country" +msgstr "Země:" + +#: gajim/common/const.py:520 +#, fuzzy +msgid "countrycode" +msgstr "Účet" + +#: gajim/common/const.py:521 +msgid "datum" +msgstr "" + +#: gajim/common/const.py:522 +#, fuzzy +msgid "description" +msgstr "Popis" + +#: gajim/common/const.py:523 +#, fuzzy +msgid "error" +msgstr "Chyba" + +#: gajim/common/const.py:524 +msgid "floor" +msgstr "" + +#: gajim/common/const.py:525 +msgid "lat" +msgstr "" + +#: gajim/common/const.py:526 +msgid "locality" +msgstr "" + +#: gajim/common/const.py:527 +#, fuzzy +msgid "lon" +msgstr "jeden" + +#: gajim/common/const.py:528 +msgid "postalcode" +msgstr "" + +#: gajim/common/const.py:529 +msgid "region" +msgstr "" + +#: gajim/common/const.py:530 +msgid "room" +msgstr "místnost" + +#: gajim/common/const.py:531 +msgid "speed" +msgstr "" + +#: gajim/common/const.py:532 +msgid "street" +msgstr "" + +#: gajim/common/const.py:533 +msgid "text" +msgstr "" + +#: gajim/common/const.py:534 +msgid "timestamp" +msgstr "" + +#: gajim/common/const.py:535 +msgid "URI" +msgstr "" + +#: gajim/common/const.py:540 +msgid "Unable to get issuer certificate" +msgstr "Nepodařilo se získat certifikát vydavatele" + +#: gajim/common/const.py:541 +msgid "Unable to get certificate CRL" +msgstr "Nepodařilo se získat certifikát CRL" + +#: gajim/common/const.py:542 +msgid "Unable to decrypt certificate's signature" +msgstr "Nepodařilo se dešifrovat podpis certifikátu" + +#: gajim/common/const.py:543 +msgid "Unable to decrypt CRL's signature" +msgstr "Nepodařilo se dešifrovat podpis CRL certifikátu" + +#: gajim/common/const.py:544 +msgid "Unable to decode issuer public key" +msgstr "Nepodařilo se dešifrovat veřejný klíč vydavatele" + +#: gajim/common/const.py:545 +msgid "Certificate signature failure" +msgstr "Chyba podpisu certifikátu" + +#: gajim/common/const.py:546 +msgid "CRL signature failure" +msgstr "Chyba podpisu CRL certifikátu" + +#: gajim/common/const.py:547 +msgid "Certificate is not yet valid" +msgstr "Certifikát není správný" + +#: gajim/common/const.py:548 +msgid "Certificate has expired" +msgstr "Platnost certifikátu vypršela" + +#: gajim/common/const.py:549 +msgid "CRL is not yet valid" +msgstr "CRL certifikát není správný" + +#: gajim/common/const.py:550 +msgid "CRL has expired" +msgstr "Platnost CRL certifikátu vypršela" + +#: gajim/common/const.py:551 +msgid "Format error in certificate's notBefore field" +msgstr "Chyba certifikátu v poli: platnost před" + +#: gajim/common/const.py:552 +msgid "Format error in certificate's notAfter field" +msgstr "Chyba certifikátu v poli: platnost po" + +#: gajim/common/const.py:553 +msgid "Format error in CRL's lastUpdate field" +msgstr "Chyba CRL certifikátu v poli: poslední aktualizace" + +#: gajim/common/const.py:554 +msgid "Format error in CRL's nextUpdate field" +msgstr "Chyba CRL certifikátu v poli: příští aktualizace" + +#: gajim/common/const.py:555 +msgid "Out of memory" +msgstr "Nedostatek paměti" + +#: gajim/common/const.py:556 +msgid "Self signed certificate" +msgstr "Sám sebou podepsaný certifikát" + +#: gajim/common/const.py:557 +msgid "Self signed certificate in certificate chain" +msgstr "Sám sebou podepsaný certifikát v certifikačním řetězci " + +#: gajim/common/const.py:558 +msgid "Unable to get local issuer certificate" +msgstr "Nepodařilo se získat certifikát lokálního vydavatele" + +#: gajim/common/const.py:559 +msgid "Unable to verify the first certificate" +msgstr "Nepodařilo se ověřit první certifikát" + +#: gajim/common/const.py:560 +msgid "Certificate chain too long" +msgstr "Certifikační řetězec je přiliš dlouhý" + +#: gajim/common/const.py:561 +msgid "Certificate revoked" +msgstr "Certifikát je zrušený" + +#: gajim/common/const.py:562 +msgid "Invalid CA certificate" +msgstr "Neplatný CA certifikát" + +#: gajim/common/const.py:563 +msgid "Path length constraint exceeded" +msgstr "Překročena delká cesty" + +#: gajim/common/const.py:564 +msgid "Unsupported certificate purpose" +msgstr "Nepodporované osvědčení certifikátu" + +#: gajim/common/const.py:565 +msgid "Certificate not trusted" +msgstr "Certifikát je nedůvěryhodný" + +#: gajim/common/const.py:566 +msgid "Certificate rejected" +msgstr "Certifikát odmítnut" + +#: gajim/common/const.py:567 +msgid "Subject issuer mismatch" +msgstr "Neshoduje se název vydavatele" + +#: gajim/common/const.py:568 +msgid "Authority and subject key identifier mismatch" +msgstr "Název klíče se neshoduje s Autoritou" + +#: gajim/common/const.py:569 +msgid "Authority and issuer serial number mismatch" +msgstr "Vydavatelovo sériové číslo se neshoduje s Autoritou" + +#: gajim/common/const.py:570 +msgid "Key usage does not include certificate signing" +msgstr "Použítý klíč neobsahuje podpis certifikátu" + +#: gajim/common/const.py:571 +msgid "Application verification failure" +msgstr "Ověřování aplikace skončilo neúspěchem" + +#: gajim/common/const.py:893 +msgid "The signing certificate authority is not known" +msgstr "" + +#: gajim/common/const.py:894 +#, fuzzy +msgid "The certificate has been revoked" +msgstr "Certifikát je zrušený" + +#: gajim/common/const.py:895 +msgid "The certificate does not match the expected identity of the site" +msgstr "" + +#: gajim/common/const.py:896 +msgid "The certificate’s algorithm is insecure" +msgstr "" + +#: gajim/common/const.py:897 +msgid "The certificate’s activation time is in the future" +msgstr "" + +#: gajim/common/const.py:898 +#, fuzzy +msgid "Unknown validation error" +msgstr "Neznámá SSL chyba: %d" + +#: gajim/common/const.py:899 +#, fuzzy +msgid "The certificate has expired" +msgstr "Platnost certifikátu vypršela" + +#: gajim/common/const.py:954 +#, fuzzy +msgid "Authentication aborted" +msgstr "Autorizace přijata" + +#: gajim/common/const.py:955 +#, fuzzy +msgid "Account disabled" +msgstr "Smajlíci byly vypnuty" + +#: gajim/common/const.py:956 +#, fuzzy +msgid "Credentials expired" +msgstr "Platnost certifikátu vypršela" + +#: gajim/common/const.py:957 +#, fuzzy +msgid "Encryption required" +msgstr "E2E Šifrování vypnuto" + +#: gajim/common/const.py:961 +#, fuzzy +msgid "Authentication mechanism not supported" +msgstr "Rozšíření není podporováno" + +#: gajim/common/const.py:962 +#, fuzzy +msgid "Authentication mechanism too weak" +msgstr "Autentizace selhala s \"%s\"" + +#: gajim/common/const.py:964 +msgid "Authentication currently not possible" +msgstr "" + +#: gajim/common/const.py:1109 +msgid "No Sync" +msgstr "" + +#: gajim/common/const.py:1111 +msgid "2 Days" +msgstr "" + +#: gajim/common/const.py:1114 +msgid "No Threshold" +msgstr "" + +#: gajim/common/logging_helpers.py:31 +#, python-format +msgid "%s is not a valid loglevel" +msgstr "%s není platný loglevel" + +#: gajim/common/zeroconf/zeroconf_avahi.py:256 +#: gajim/common/zeroconf/zeroconf_bonjour.py:248 +#: gajim/common/zeroconf/zeroconf_bonjour.py:265 +#: gajim/common/zeroconf/zeroconf_bonjour.py:323 +#, python-format +msgid "Error while adding service. %s" +msgstr "Chyba při přidávání služby. %s" + +#: gajim/common/zeroconf/connection_zeroconf.py:252 +#, python-format +msgid "Could not connect to \"%s\"" +msgstr "Nemůžu se připojit k \"%s\"" + +#: gajim/common/zeroconf/connection_zeroconf.py:253 +msgid "Please check if Avahi or Bonjour is installed." +msgstr "Zkontrolujte zda je Avahi nebo Bonjour nainstalováno." + +#: gajim/common/zeroconf/connection_zeroconf.py:263 +#: gajim/common/zeroconf/connection_zeroconf.py:267 +msgid "Could not start local service" +msgstr "Nepodařilo se spustit lokální službu" + +#: gajim/common/zeroconf/connection_zeroconf.py:264 +#, python-format +msgid "Unable to bind to port %d." +msgstr "Nemůžu naslouchat na portu %d." + +#: gajim/common/zeroconf/connection_zeroconf.py:268 +#, fuzzy +msgid "Please check if avahi/bonjour-daemon is running." +msgstr "Zkontrolujte, zda avahi-daemon běží." + +#: gajim/common/zeroconf/connection_zeroconf.py:362 +#: gajim/common/zeroconf/connection_zeroconf.py:375 +#, python-format +msgid "Could not change status of account \"%s\"" +msgstr "Nemůžu změnit stav účtu \"%s\"" + +#: gajim/common/zeroconf/connection_zeroconf.py:363 +#: gajim/common/zeroconf/connection_zeroconf.py:376 +msgid "Please check if avahi-daemon is running." +msgstr "Zkontrolujte, zda avahi-daemon běží." + +#: gajim/common/zeroconf/connection_zeroconf.py:404 +msgid "Your message could not be sent." +msgstr "Vaše zpráva nemohla být odeslána." + +#: gajim/common/zeroconf/connection_zeroconf.py:419 +msgid "Contact is offline. Your message could not be sent." +msgstr "Kontakt je offline. Vaše zpráva nemohla být odeslána." + +#: gajim/common/zeroconf/connection_zeroconf.py:441 +msgid "" +"Connection to host could not be established: Timeout while sending data." +msgstr "Spojení k počítači nebylo navázáno:Vypršel čas při odesílání dat." + +#: gajim/common/dbus/logind.py:73 +msgid "Machine is going to sleep" +msgstr "" + +#: gajim/common/dbus/logind.py:103 +msgid "Disconnect from the network" +msgstr "" + +#: gajim/common/modules/adhoc_commands.py:88 +msgid "Change status information" +msgstr "Informace o změně stavu" + +#: gajim/common/modules/adhoc_commands.py:112 +msgid "Change status" +msgstr "Změnit stav" + +#: gajim/common/modules/adhoc_commands.py:113 +msgid "Set the presence type and description" +msgstr "Nastav typ přítomnosti a popisek" + +#: gajim/common/modules/adhoc_commands.py:120 +msgid "Free for chat" +msgstr "Ukecaný" + +#: gajim/common/modules/adhoc_commands.py:121 +msgid "Online" +msgstr "Připojen" + +#: gajim/common/modules/adhoc_commands.py:123 +msgid "Extended away" +msgstr "Dlouho pryč" + +#: gajim/common/modules/adhoc_commands.py:124 +msgid "Do not disturb" +msgstr "Nerušit" + +#: gajim/common/modules/adhoc_commands.py:125 +msgid "Offline - disconnect" +msgstr "Odpojený - odpojit" + +#: gajim/common/modules/adhoc_commands.py:131 +msgid "Presence description:" +msgstr "Popis stavu: " + +#: gajim/common/modules/adhoc_commands.py:170 +msgid "The status has been changed." +msgstr "Stav se změnil." + +#: gajim/common/modules/presence.py:265 +msgid "I would like to add you to my roster." +msgstr "Rád(a) bych si tě přidal(a) do seznamu." + +#: gajim/common/modules/roster_item_exchange.py:103 +#, fuzzy, python-format +msgid "Sent contact: \"%(jid)s\" (%(name)s)" +msgstr "Odeslán kontakt: \"%s\" (%s)" + +#: gajim/common/modules/roster_item_exchange.py:107 +msgid "Sent contacts:" +msgstr "Odeslány kontakty:" + +#: gajim/common/modules/httpupload.py:99 +msgid "File is empty" +msgstr "Soubor je prázdný" + +#: gajim/common/modules/httpupload.py:102 +msgid "File does not exist" +msgstr "Soubor neexistuje" + +#: gajim/common/modules/httpupload.py:109 +#: gajim/common/modules/httpupload.py:172 +#, python-format +msgid "File is too large, maximum allowed file size is: %s" +msgstr "" + +#: gajim/common/modules/httpupload.py:279 +#, fuzzy +msgid "Encrypting file…" +msgstr "E2E Šifrování vypnuto" + +#: gajim/common/modules/httpupload.py:280 +msgid "Requesting HTTP File Upload Slot…" +msgstr "" + +#: gajim/common/modules/httpupload.py:281 +msgid "Uploading via HTTP File Upload…" +msgstr "" + +#: gajim/common/modules/httpupload.py:285 +#, fuzzy +msgid "The server returned an insecure transport (HTTP)." +msgstr "Služba vrátila chybu." + +#: gajim/common/modules/httpupload.py:286 +msgid "There is no encryption method available for the chosen encryption." +msgstr "" + +#: gajim/plugins/pluginmanager.py:679 gajim/plugins/pluginmanager.py:685 +msgid "Archive corrupted" +msgstr "" + +#: gajim/plugins/pluginmanager.py:681 +#, fuzzy +msgid "Archive empty" +msgstr "Soubor je prázdný" + +#: gajim/plugins/pluginmanager.py:693 gajim/plugins/pluginmanager.py:701 +#: gajim/plugins/gui.py:273 +#, fuzzy +msgid "Archive is malformed" +msgstr "Služba odeslala chybné data" + +#: gajim/plugins/pluginmanager.py:710 gajim/plugins/gui.py:288 +#: gajim/plugins/gui.py:301 +#, fuzzy +msgid "Plugin already exists" +msgstr "Tento soubor už existuje" + +#: gajim/plugins/pluginmanager.py:720 +#, fuzzy +msgid "Installation failed" +msgstr "Registrace selhala" + +#: gajim/plugins/gui.py:67 gajim/data/gui/shortcuts_window.ui:38 +msgid "Plugins" +msgstr "" + +#: gajim/plugins/gui.py:75 +msgid "Click to view Gajim's wiki page on how to install plugins in Flatpak." +msgstr "" + +#: gajim/plugins/gui.py:84 +#, fuzzy +msgid "Plugin" +msgstr "P_luginy" + +#: gajim/plugins/gui.py:95 gajim/data/gui/manage_sounds.ui:40 +msgid "Active" +msgstr "Aktivní" + +#: gajim/plugins/gui.py:159 +#, fuzzy, python-format +msgid "Warning: %s" +msgstr "Zakazuji %s" + +#: gajim/plugins/gui.py:216 +#, fuzzy +msgid "Plugin failed" +msgstr "Registrace selhala" + +#: gajim/plugins/gui.py:249 +msgid "Unable to properly remove the plugin" +msgstr "" + +#: gajim/plugins/gui.py:287 +#, fuzzy +msgid "Overwrite Plugin?" +msgstr "Přepsat Text stavu?" + +#: gajim/plugins/gui.py:289 +#, fuzzy +msgid "Do you want to overwrite the currently installed version?" +msgstr "Chcete přijmout pozvání?" + +#: gajim/plugins/gui.py:317 gajim/data/gui/groupchat_config.ui:258 +#, fuzzy +msgid "Configuration" +msgstr "Nastavení místnosti" + +#: gajim/data/gui/groupchat_nick_chooser.ui:47 +#, fuzzy +msgid "Join Group Chat as…" +msgstr "Připojit se do diskuze" + +#: gajim/data/gui/groupchat_nick_chooser.ui:66 +#, fuzzy +msgid "Your Nickname" +msgstr "Vaše přezdívka:" + +#: gajim/data/gui/groupchat_control.ui:36 +#, fuzzy +msgid "Drop Files or Contacts" +msgstr "Pozvat kontakt" + +#: gajim/data/gui/groupchat_control.ui:58 gajim/data/gui/chat_control.ui:322 +msgid "Bold" +msgstr "Tučné" + +#: gajim/data/gui/groupchat_control.ui:67 gajim/data/gui/chat_control.ui:331 +msgid "Italic" +msgstr "Latinka" + +#: gajim/data/gui/groupchat_control.ui:76 gajim/data/gui/chat_control.ui:340 +msgid "Underline" +msgstr "Podtrhnout" + +#: gajim/data/gui/groupchat_control.ui:85 gajim/data/gui/chat_control.ui:349 +msgid "Strike" +msgstr "Přeškrtnout" + +#: gajim/data/gui/groupchat_control.ui:107 gajim/data/gui/chat_control.ui:371 +msgid "Font" +msgstr "Font" + +#: gajim/data/gui/groupchat_control.ui:121 gajim/data/gui/chat_control.ui:385 +#, fuzzy +msgid "Clear formatting" +msgstr "Smazat formátování" + +#: gajim/data/gui/groupchat_control.ui:383 gajim/data/gui/chat_control.ui:784 +#, fuzzy +msgid "Choose encryption" +msgstr "Vyber soubor k odeslání..." + +#: gajim/data/gui/groupchat_control.ui:429 gajim/data/gui/chat_control.ui:667 +#, fuzzy +msgid "Show a list of emojis (Alt+M)" +msgstr "Zobraz seznam smajlíků (Alt+M)" + +#: gajim/data/gui/groupchat_control.ui:454 gajim/data/gui/chat_control.ui:833 +#, fuzzy +msgid "Send Message" +msgstr "Odeslat zprávu" + +#: gajim/data/gui/groupchat_control.ui:583 +#, fuzzy +msgid "Joining…" +msgstr "Zakazuji..." + +#: gajim/data/gui/groupchat_control.ui:641 +#, fuzzy +msgid "Enter Nickname" +msgstr "Vložit přezdívku" + +#: gajim/data/gui/groupchat_control.ui:691 +#: gajim/data/gui/groupchat_control.ui:783 +#, fuzzy +msgid "Ch_ange" +msgstr "Změ_nit přezdívku" + +#: gajim/data/gui/groupchat_control.ui:748 +#: gajim/data/gui/shortcuts_window.ui:319 +#, fuzzy +msgid "Change Subject" +msgstr "Změnit _předmět" + +#: gajim/data/gui/groupchat_control.ui:864 +#, fuzzy +msgid "Enter Password" +msgstr "Zadejte heslo:" + +#: gajim/data/gui/groupchat_control.ui:1081 +#, fuzzy +msgid "_Forget Group Chat" +msgstr "Opustit diskuzi" + +#: gajim/data/gui/groupchat_control.ui:1085 +#, fuzzy +msgid "Gajim will not try to join this group chat again" +msgstr "Pokud je zaškrtnuto, Gajim se připojí do této místnosti při spuštění" + +#: gajim/data/gui/groupchat_control.ui:1102 +#, fuzzy +msgid "T_ry Again" +msgstr "Ověřit znovu" + +#: gajim/data/gui/groupchat_control.ui:1156 +#, fuzzy +msgid "An Error Occurred" +msgstr "Nastala chyba:" + +#: gajim/data/gui/groupchat_control.ui:1221 +#, fuzzy +msgid "_Try Again" +msgstr "Ověřit znovu" + +#: gajim/data/gui/groupchat_control.ui:1398 +#, fuzzy +msgid "Kick Participant" +msgstr "Účastník" + +#: gajim/data/gui/groupchat_control.ui:1436 +msgid "_Kick" +msgstr "Vy_kopnout" + +#: gajim/data/gui/groupchat_control.ui:1469 +#: gajim/data/gui/groupchat_control.ui:1595 +#: gajim/data/gui/groupchat_control.ui:1721 +#: gajim/data/gui/groupchat_control.ui:1738 +#: gajim/data/gui/groupchat_control.ui:1827 +#: gajim/data/gui/groupchat_control.ui:1828 +msgid "Insert Emoji" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1482 +#: gajim/data/gui/groupchat_control.ui:1608 +#, fuzzy +msgid "Reason (optional)" +msgstr "Také můžete specifikovat náhradní místo:" + +#: gajim/data/gui/groupchat_control.ui:1524 +#, fuzzy +msgid "Ban Participant" +msgstr "Účastník" + +#: gajim/data/gui/groupchat_control.ui:1562 +msgid "_Ban" +msgstr "_Zakázat" + +#: gajim/data/gui/groupchat_control.ui:1650 +#, fuzzy +msgid "Destroy This Chat" +msgstr "Nová diskuze" + +#: gajim/data/gui/groupchat_control.ui:1688 +#, fuzzy +msgid "_Destroy" +msgstr "Likviduji: %s" + +#: gajim/data/gui/groupchat_control.ui:1722 +#, fuzzy +msgid "Alternate venue (optional)..." +msgstr "Také můžete specifikovat náhradní místo:" + +#: gajim/data/gui/groupchat_control.ui:1739 +#, fuzzy +msgid "Reason (optional)..." +msgstr "Důvod" + +#: gajim/data/gui/groupchat_control.ui:1752 +msgid "Reason for destruction" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1767 +msgid "Where participants should go" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1808 +#, fuzzy +msgid "Rename This Chat" +msgstr "Opustit diskuzi" + +#: gajim/data/gui/groupchat_control.ui:1935 +#, fuzzy +msgid "_Invite" +msgstr "_Pozvat do" + +#: gajim/data/gui/groupchat_control.ui:2020 +#, fuzzy +msgid "Settings for This Chat" +msgstr "Ignorovat tuto chybu certifikátu." + +#: gajim/data/gui/filetransfers.ui:21 +msgid "Pa_use/Resume" +msgstr "" + +#: gajim/data/gui/filetransfers.ui:45 +#, fuzzy +msgid "_Open Folder" +msgstr "_Otevřít obsahující složku" + +#: gajim/data/gui/filetransfers.ui:56 gajim/data/gui/filetransfers.ui:206 +msgid "File Transfers" +msgstr "Přenosy souborů" + +#: gajim/data/gui/filetransfers.ui:91 +#, fuzzy +msgid "_Show notification when file transfer is complete" +msgstr "_Upozornit mě po dokončení přenosu souboru" + +#: gajim/data/gui/filetransfers.ui:131 +msgid "file transfers list" +msgstr "výpis přenosů souborů" + +#: gajim/data/gui/filetransfers.ui:132 +msgid "A list of active, completed and stopped file transfers" +msgstr "Seznam aktivních, dokončených a zastavených přenosů souborů" + +#: gajim/data/gui/filetransfers.ui:154 +#, fuzzy +msgid "Remove completed, cancelled and failed file transfers from the list" +msgstr "Odstraní dokončené, zrušené nebo přenosy které selhaly, z výpisu" + +#: gajim/data/gui/filetransfers.ui:167 +#, fuzzy +msgid "Pause or resume file transfer" +msgstr "Zrušit přenos souboru" + +#: gajim/data/gui/filetransfers.ui:180 +#, fuzzy +msgid "Cancel the selected file transfer and remove incomplete files" +msgstr "Zruší vybraný přenos souboru a smaže nedokončený soubor" + +#: gajim/data/gui/filetransfers.ui:207 +#, fuzzy +msgid "Shows a list of file transfers between you and your contacts" +msgstr "Zobrazí výpis přenosů souborů mezi Vámi a ostatními" + +#: gajim/data/gui/add_new_contact_window.ui:76 +#, fuzzy +msgid "_XMPP Address" +msgstr "_Adresa:" + +#: gajim/data/gui/add_new_contact_window.ui:92 +#, fuzzy +msgid "_Nickname" +msgstr "_Přezdívka:" + +#: gajim/data/gui/add_new_contact_window.ui:109 +#, fuzzy +msgid "_Group" +msgstr "_Skupina:" + +#: gajim/data/gui/add_new_contact_window.ui:157 +msgid "Choose or type new group name" +msgstr "" + +#: gajim/data/gui/add_new_contact_window.ui:173 +#, fuzzy +msgid "A_ccount" +msgstr "Úče_t: " + +#: gajim/data/gui/add_new_contact_window.ui:189 +#, fuzzy +msgid "_Protocol" +msgstr "P_rotokol:" + +#: gajim/data/gui/add_new_contact_window.ui:287 +#: gajim/data/gui/single_message_window.ui:161 +#, fuzzy +msgid "Query Contact Info" +msgstr "Informace o kontaktu" + +#: gajim/data/gui/add_new_contact_window.ui:312 +#, fuzzy +msgid "A_llow contact to view my status" +msgstr "Dovol kontaktu vidět můj stav" + +#: gajim/data/gui/add_new_contact_window.ui:363 +#, fuzzy +msgid "_Save subscription message" +msgstr "_Autorizace" + +#: gajim/data/gui/add_new_contact_window.ui:389 +#, fuzzy +msgid "" +"You have to register with this transport\n" +"to be able to add a contact from this\n" +"protocol. Click on Register button to\n" +"proceed." +msgstr "" +"Musíš se zaregistrovat s tímto transportem,\n" +"abys mohl(a) přidat kontakty z tohoto protokolu.\n" +"Klikni na tlačítko registrovat pro pokračování." + +#: gajim/data/gui/add_new_contact_window.ui:404 +msgid "_Register" +msgstr "_Registrovat" + +#: gajim/data/gui/add_new_contact_window.ui:433 +msgid "" +"You must be connected to the transport to be able\n" +"to add a contact from this protocol." +msgstr "" +"Musíš být připojen(á) k trasportu před přidáním\n" +" kontaktu z tohoto protokolu." + +#: gajim/data/gui/add_new_contact_window.ui:467 +#, fuzzy +msgid "_Add" +msgstr "_Adresa:" + +#: gajim/data/gui/account_wizard.ui:16 gajim/data/gui/manage_proxies.ui:206 +#, fuzzy +msgid "_Port" +msgstr "_Port:" + +#: gajim/data/gui/account_wizard.ui:46 +#, fuzzy +msgid "_Hostname" +msgstr "Počítač: " + +#: gajim/data/gui/account_wizard.ui:62 gajim/data/gui/account_wizard.ui:689 +#: gajim/data/gui/manage_proxies.ui:223 +msgid "example.org" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:75 +#, fuzzy +msgid "Prox_y" +msgstr "Prox_y:" + +#: gajim/data/gui/account_wizard.ui:110 +#, fuzzy +msgid "Manage Proxies..." +msgstr "Spravovat profily Proxy" + +#: gajim/data/gui/account_wizard.ui:131 gajim/data/gui/preferences.ui:798 +#, fuzzy +msgid "Advanced Settings" +msgstr "Pokročilé akce" + +#: gajim/data/gui/account_wizard.ui:163 gajim/data/gui/manage_proxies.ui:290 +#, fuzzy +msgid "_Type" +msgstr "_Typ:" + +#: gajim/data/gui/account_wizard.ui:203 +msgid "Welcome" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:219 +#, fuzzy +msgid "Please enter your credentials or Sign Up" +msgstr "Vytvořte vaše nové téma." + +#: gajim/data/gui/account_wizard.ui:237 +msgid "Your XMPP address (e.g. user@example.org)" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:239 +#: gajim/data/gui/single_message_window.ui:59 +msgid "user@example.org" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:252 +#, fuzzy +msgid "Your password" +msgstr "Zadejte heslo:" + +#: gajim/data/gui/account_wizard.ui:266 gajim/data/gui/account_wizard.ui:719 +#, fuzzy +msgid "_Advanced Settings" +msgstr "Pokročilé akce" + +#: gajim/data/gui/account_wizard.ui:270 gajim/data/gui/account_wizard.ui:723 +#, fuzzy +msgid "Proxy, custom hostname and port" +msgstr "Použít vlastní jméno počítače/port" + +#: gajim/data/gui/account_wizard.ui:283 +msgid "_Log In" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:288 +msgid "Log in with your credentials" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:304 +#, fuzzy +msgid "or" +msgstr "Příjemce" + +#: gajim/data/gui/account_wizard.ui:314 +#, fuzzy +msgid "_Sign Up" +msgstr "_Přihlásí" + +#: gajim/data/gui/account_wizard.ui:318 +msgid "Sign up for a new account on a server of your choice" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:369 +msgid "Visit Website" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:410 +#, fuzzy +msgid "Certificate Verification Failed" +msgstr "Chyba SSL certifikátu" + +#: gajim/data/gui/account_wizard.ui:428 +msgid "" +"The following warnings came up while trying to verify the server's " +"certificate" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:457 +#, fuzzy +msgid "_Show Certificate" +msgstr "Sám sebou podepsaný certifikát" + +#: gajim/data/gui/account_wizard.ui:472 +#, fuzzy +msgid "_Add to Trusted Certificates" +msgstr "Sám sebou podepsaný certifikát" + +#: gajim/data/gui/account_wizard.ui:501 gajim/data/gui/account_wizard.ui:664 +msgid "Which server should I choose?" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:516 +msgid "" +"There are plenty of servers to choose from.\n" +"Creating an account on one server allows you to communicate with contacts " +"from other servers as well." +msgstr "" + +#: gajim/data/gui/account_wizard.ui:530 +msgid "Visit Server's Website" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:550 +msgid "Listing of Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:568 +msgid "" +"xmpp.org/getting-started" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:646 +#, fuzzy +msgid "_Please choose a server" +msgstr "Vytvořte vaše nové téma." + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "" + +#: gajim/data/gui/application_menu.ui:8 +#, fuzzy +msgid "_Start / Join Chat…" +msgstr "Začít rozhovor" + +#: gajim/data/gui/application_menu.ui:13 +#, fuzzy +msgid "Create _Group Chat…" +msgstr "Opustit diskuzi" + +#: gajim/data/gui/application_menu.ui:18 +#, fuzzy +msgid "_History Manager" +msgstr "Správce historie" + +#: gajim/data/gui/application_menu.ui:22 +#, fuzzy +msgid "Pl_ugins" +msgstr "P_luginy" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +#, fuzzy +msgid "_Preferences" +msgstr "Nastavení" + +#: gajim/data/gui/application_menu.ui:36 +#, fuzzy +msgid "_Accounts" +msgstr "Účty" + +#: gajim/data/gui/application_menu.ui:39 +#, fuzzy +msgid "_View" +msgstr "_Zobraz" + +#: gajim/data/gui/application_menu.ui:46 +#, fuzzy +msgid "Show _Offline Contacts" +msgstr "Zobrazit _odpojené kontakty" + +#: gajim/data/gui/application_menu.ui:50 +#, fuzzy +msgid "Show _Active Contacts" +msgstr "Zobrazit pouze _aktivní kontakty" + +#: gajim/data/gui/application_menu.ui:54 +#, fuzzy +msgid "Show _Transports" +msgstr "Zobrazuj trans_porty" + +#: gajim/data/gui/application_menu.ui:60 +#, fuzzy +msgid "_XML Console" +msgstr "XML Konzole" + +#: gajim/data/gui/application_menu.ui:64 +#, fuzzy +msgid "_File Transfer" +msgstr "Přenosy souborů" + +#: gajim/data/gui/application_menu.ui:74 +#, fuzzy +msgid "_Help" +msgstr "_Nápověda" + +#: gajim/data/gui/application_menu.ui:77 +#, fuzzy +msgid "_Wiki (Online)" +msgstr "Připojen" + +#: gajim/data/gui/application_menu.ui:81 +#, fuzzy +msgid "FA_Q (Online)" +msgstr "Připojen" + +#: gajim/data/gui/application_menu.ui:85 +msgid "_Keyboard Shortcuts" +msgstr "" + +#: gajim/data/gui/application_menu.ui:89 +#, fuzzy +msgid "_Features" +msgstr "Vlastnosti serveru" + +#: gajim/data/gui/application_menu.ui:93 +#, fuzzy +msgid "_About" +msgstr "Komentář" + +#: gajim/data/gui/filetransfer_progress.ui:125 +msgid "Speed" +msgstr "" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +#, fuzzy +msgid "OK" +msgstr "_OK" + +#: gajim/data/gui/plugins_window.ui:55 +msgid "Install Plugin from ZIP-File" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:56 +msgid "Install from File…" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:70 +#, fuzzy +msgid "Uninstall Plugin" +msgstr "Stagnuje" + +#: gajim/data/gui/plugins_window.ui:116 +#, fuzzy +msgid "" +msgstr "Registrace selhala" + +#: gajim/data/gui/plugins_window.ui:133 +#, fuzzy +msgid "Plugin Settings" +msgstr "Registrace selhala" + +#: gajim/data/gui/plugins_window.ui:215 +#, fuzzy +msgid "" +msgstr "Popis" + +#: gajim/data/gui/plugins_window.ui:239 +#, fuzzy +msgid "Version" +msgstr "GTK+ verze: " + +#: gajim/data/gui/plugins_window.ui:271 +#, fuzzy +msgid "Authors" +msgstr "Au_torizuj" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +#, fuzzy +msgid "Homepage" +msgstr "Dom. stránka:" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:349 +#, fuzzy +msgid "Installed" +msgstr "Stagnuje" + +#: gajim/data/gui/plugins_window.ui:363 +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +msgid "Synchronise contacts" +msgstr "Synchronizovat kontakty" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "Vybrat účet pro synchronizaci" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +#, fuzzy +msgid "_Name" +msgstr "_Jméno: " + +#: gajim/data/gui/groupchat_creation.ui:122 +#, fuzzy +msgid "_Description" +msgstr "Popis" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +#, fuzzy +msgid "_Address" +msgstr "_Adresa:" + +#: gajim/data/gui/groupchat_creation.ui:278 +#, fuzzy +msgid "_Account" +msgstr "Úč_ty" + +#: gajim/data/gui/profile.ui:33 +#, fuzzy +msgid "Contact Infos" +msgstr "Informace o kontaktu" + +#: gajim/data/gui/profile.ui:45 +#, fuzzy +msgid "Picture and Name" +msgstr "Přezdívka kterou chete použít" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "" + +#: gajim/data/gui/profile.ui:198 +#, fuzzy +msgid "Change your profile picture" +msgstr "Změ_nit přezdívku" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:298 +#, fuzzy +msgid "Add Entry" +msgstr "Položka:" + +#: gajim/data/gui/profile.ui:410 +#, fuzzy +msgid "Update" +msgstr "Upravit MOTD" + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:15 +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:65 +#, fuzzy +msgid "Add Proxy" +msgstr "Proxy:" + +#: gajim/data/gui/manage_proxies.ui:79 +#, fuzzy +msgid "Remove Proxy" +msgstr "Odstranit skupinu" + +#: gajim/data/gui/manage_proxies.ui:131 +#, fuzzy +msgid "Pass_word" +msgstr "He_slo:" + +#: gajim/data/gui/manage_proxies.ui:156 +msgid "Use proxy auth_entication" +msgstr "Použít při_hlášení k proxy" + +#: gajim/data/gui/manage_proxies.ui:176 +#, fuzzy +msgid "_Username" +msgstr "_Uživatel:" + +#: gajim/data/gui/manage_proxies.ui:237 +#, fuzzy +msgid "_Host" +msgstr "Počítač: " + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "Lokální jid: " + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "Zdroj:" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "Stav:" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +#, fuzzy +msgid "_Store conversation history" +msgstr "_Zaznamenat historii konverzace" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +msgid "Contact" +msgstr "Kontakt" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +msgid "First Name:" +msgstr "Křestní:" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +msgid "Last Name:" +msgstr "Příjmení:" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +#, fuzzy +msgid "XMPP Address:" +msgstr "AIM adresa:" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "E-Mail:" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +msgid "Personal" +msgstr "Osobní" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "_Stav" + +#: gajim/data/gui/account_context_menu.ui:20 +msgid "_Personal Events" +msgstr "Osobní údaje" + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "Přid_at kontakt..." + +# FIXME: chtelo by to cesky vyraz pro service discovery +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "_Prohlížet služby" + +#: gajim/data/gui/account_context_menu.ui:57 +msgid "_Execute Command..." +msgstr "Provést příkaz..." + +#: gajim/data/gui/account_context_menu.ui:65 +#, fuzzy +msgid "_View Server Info" +msgstr "Server" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:125 +#, fuzzy +msgid "Global Group Chat Search" +msgstr "Připojit se do diskuze" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +#, fuzzy +msgid "_Back" +msgstr "Hned jsem zpět" + +#: gajim/data/gui/start_chat_dialog.ui:386 +#, fuzzy +msgid "Select Account" +msgstr "Odstraňuju účet %s" + +#: gajim/data/gui/start_chat_dialog.ui:477 +msgid "_Select" +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +#, fuzzy +msgid "Configure" +msgstr "_Nastavit" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +msgid "Create new post" +msgstr "Vytvoř nový zápis" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "S_tav" + +#: gajim/data/gui/systray_context_menu.ui:20 +msgid "_Start Chat..." +msgstr "_Začít rozhovor" + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "Odeslat jednoduchou _zprávu..." + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "Zobrazit všechny čekající _události" + +#: gajim/data/gui/systray_context_menu.ui:52 +msgid "Mute Sounds" +msgstr "Vypnout zvuky" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +#, fuzzy +msgid "Contact List" +msgstr "Kontakty" + +#: gajim/data/gui/shortcuts_window.ui:24 +#, fuzzy +msgid "Create new group chat" +msgstr "Opustit diskuzi" + +#: gajim/data/gui/shortcuts_window.ui:45 +#, fuzzy +msgid "File transfers" +msgstr "Přenosy souborů" + +#: gajim/data/gui/shortcuts_window.ui:52 +#, fuzzy +msgid "Set the status message" +msgstr "text stavu" + +#: gajim/data/gui/shortcuts_window.ui:59 +#, fuzzy +msgid "Show XML console" +msgstr "Zobrazit _XML konzoli" + +#: gajim/data/gui/shortcuts_window.ui:74 +#, fuzzy +msgid "Appearance" +msgstr "Vzhled diskuze" + +#: gajim/data/gui/shortcuts_window.ui:79 +#, fuzzy +msgid "Show offline contacts" +msgstr "Zobrazit _odpojené kontakty" + +#: gajim/data/gui/shortcuts_window.ui:86 +#, fuzzy +msgid "Show only active contacts" +msgstr "Zobrazit pouze _aktivní kontakty" + +#: gajim/data/gui/shortcuts_window.ui:93 +msgid "Enable contact list filtering" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:100 +#, fuzzy +msgid "Show / hide contact list" +msgstr "Zobrazit pouze _aktivní kontakty" + +#: gajim/data/gui/shortcuts_window.ui:113 +#, fuzzy +msgid "Contact information" +msgstr "Informace o kontaktu" + +#: gajim/data/gui/shortcuts_window.ui:120 +#, fuzzy +msgid "Rename contact" +msgstr "Přejmenovat kontakt" + +#: gajim/data/gui/shortcuts_window.ui:127 +#, fuzzy +msgid "Delete contact" +msgstr "Odeslány kontakty:" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +#, fuzzy +msgid "Chat" +msgstr "Rozhovory" + +#: gajim/data/gui/shortcuts_window.ui:142 +#, fuzzy +msgid "Message composition" +msgstr "Obsah zprávy" + +#: gajim/data/gui/shortcuts_window.ui:147 +#, fuzzy +msgid "Send the message" +msgstr "Odeslat zprávu" + +#: gajim/data/gui/shortcuts_window.ui:154 +#, fuzzy +msgid "Add new line" +msgstr "Vytvoř nový zápis" + +#: gajim/data/gui/shortcuts_window.ui:161 +msgid "Select an emoji" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:168 +#, fuzzy +msgid "Complete a command or a nickname" +msgstr "Vytvořte vaše nové téma." + +#: gajim/data/gui/shortcuts_window.ui:175 +#, fuzzy +msgid "Previously sent message" +msgstr "Uložené stavy:" + +#: gajim/data/gui/shortcuts_window.ui:182 +#, fuzzy +msgid "Next sent messages" +msgstr "Uložené stavy:" + +#: gajim/data/gui/shortcuts_window.ui:189 +#, fuzzy +msgid "Quote previous message" +msgstr "text stavu" + +#: gajim/data/gui/shortcuts_window.ui:196 +#, fuzzy +msgid "Quote next message" +msgstr "Odeslat zprávu" + +#: gajim/data/gui/shortcuts_window.ui:203 +#, fuzzy +msgid "Clear message entry" +msgstr "Zpráva odeslána" + +#: gajim/data/gui/shortcuts_window.ui:211 +#, fuzzy +msgid "Recent history" +msgstr "Nedávno:" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:230 +#, fuzzy +msgid "Clear chat window" +msgstr "Použití: /%s, smaže zprávy v okně." + +#: gajim/data/gui/shortcuts_window.ui:237 +#, fuzzy +msgid "Show chat history" +msgstr "Nedávno:" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:299 +#, fuzzy +msgid "Close chat" +msgstr "Zavřít" + +#: gajim/data/gui/shortcuts_window.ui:312 +#, fuzzy +msgid "Change Nickname" +msgstr "Změ_nit přezdívku" + +#: gajim/data/gui/chat_control.ui:48 +#, fuzzy +msgid "Drop files or contacts" +msgstr "Pošle soubor kontaktu" + +#: gajim/data/gui/chat_control.ui:80 +#, fuzzy +msgid "1" +msgstr "Písmo" + +#: gajim/data/gui/chat_control.ui:101 +#, fuzzy +msgid "2 abc" +msgstr "Písmo" + +#: gajim/data/gui/chat_control.ui:121 +#, fuzzy +msgid "3 def" +msgstr "Písmo" + +#: gajim/data/gui/chat_control.ui:141 +#, fuzzy +msgid "4 ghi" +msgstr "Písmo" + +#: gajim/data/gui/chat_control.ui:161 +#, fuzzy +msgid "5 jkl" +msgstr "Písmo" + +#: gajim/data/gui/chat_control.ui:181 +#, fuzzy +msgid "6 mno" +msgstr "Písmo" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "" + +#: gajim/data/gui/chat_control.ui:221 +#, fuzzy +msgid "8 tuv" +msgstr "Písmo" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "" + +#: gajim/data/gui/chat_control.ui:261 +#, fuzzy +msgid "*" +msgstr "Písmo" + +#: gajim/data/gui/chat_control.ui:281 +#, fuzzy +msgid "0" +msgstr "Písmo" + +#: gajim/data/gui/chat_control.ui:301 +#, fuzzy +msgid "#" +msgstr "Písmo" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "Začít _rozhovor" + +#: gajim/data/gui/contact_context_menu.ui:28 +msgid "Send _File..." +msgstr "Odeslat _Soubor" + +#: gajim/data/gui/contact_context_menu.ui:44 +msgid "Invite _Contacts" +msgstr "Pozvat kontakt" + +#: gajim/data/gui/contact_context_menu.ui:58 +msgid "E_xecute Command..." +msgstr "P_rovést příkaz..." + +#: gajim/data/gui/contact_context_menu.ui:67 +#, fuzzy +msgid "M_anage Contact" +msgstr "_Spravovat kontakt" + +#: gajim/data/gui/contact_context_menu.ui:77 +msgid "_Rename..." +msgstr "_Přejmenovat" + +#: gajim/data/gui/contact_context_menu.ui:84 +msgid "Edit _Groups..." +msgstr "Upravit _skupiny" + +#: gajim/data/gui/contact_context_menu.ui:92 +msgid "Add Special _Notification..." +msgstr "Přidat zvláštní _upozornění" + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "_Autorizace" + +#: gajim/data/gui/contact_context_menu.ui:115 +#, fuzzy +msgid "_Allow contact to see my status" +msgstr "Dovol kontaktu vidět můj stav" + +#: gajim/data/gui/contact_context_menu.ui:123 +#, fuzzy +msgid "A_sk to see contact status" +msgstr "Požádat o zobrazení je(jí)ho _stavu" + +#: gajim/data/gui/contact_context_menu.ui:131 +#, fuzzy +msgid "_Forbid contact to see my status" +msgstr "_Zakaž mu/jí vidět můj stav" + +#: gajim/data/gui/contact_context_menu.ui:159 +msgid "_Unignore" +msgstr "_Neignorovat" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "_Ignorovat" + +#: gajim/data/gui/contact_context_menu.ui:174 +#, fuzzy +msgid "_Add to Contact List..." +msgstr "Přid_at kontakt..." + +#: gajim/data/gui/single_message_window.ui:42 +#, fuzzy +msgid "_To" +msgstr "Příjemce" + +#: gajim/data/gui/single_message_window.ui:71 +#, fuzzy +msgid "Su_bject" +msgstr "Předmět" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "" + +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "_Zpráva" + +#: gajim/data/gui/single_message_window.ui:144 +#, fuzzy +msgid "Characters typed: 0" +msgstr "Znak nebyl povolen" + +#: gajim/data/gui/single_message_window.ui:189 +#, fuzzy +msgid "_From" +msgstr "Odesílatel" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "O_deslat" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "Odeslat zprávu" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "_Odpovědět" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "Odpovědět na tuto zprávu" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "Ode_slat a zavřít" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "Odeslat zprávu a zavřít okno" + +#: gajim/data/gui/vcard_information_window.ui:106 +#, fuzzy +msgid "Client" +msgstr "Klient:" + +#: gajim/data/gui/vcard_information_window.ui:140 +#, fuzzy +msgid "Contact time" +msgstr "Jméno kontaktu" + +#: gajim/data/gui/vcard_information_window.ui:240 +#, fuzzy +msgid "User avatar" +msgstr "Avatar:" + +#: gajim/data/gui/vcard_information_window.ui:255 +#, fuzzy +msgid "Configured avatar" +msgstr "Nastavit avatara" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +#, fuzzy +msgid "Ask" +msgstr "Oslovení:" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +#, fuzzy +msgid "Subscription" +msgstr "Autorizace: " + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +#, fuzzy +msgid "Extra Address" +msgstr "Další adresa:" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +msgid "Address" +msgstr "Adresa" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +#, fuzzy +msgid "E-Mail" +msgstr "E-Mail:" + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "Formát: RRRR-MM-DD" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +#, fuzzy +msgid "Family" +msgstr "Příjmení:" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +#, fuzzy +msgid "Middle" +msgstr "Prostřední:" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +#, fuzzy +msgid "Prefix" +msgstr "Titul:" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +#, fuzzy +msgid "Given" +msgstr "Křestní:" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +#, fuzzy +msgid "Suffix" +msgstr "Za jménem:" + +#: gajim/data/gui/vcard_information_window.ui:958 +#, fuzzy +msgid "Name Details" +msgstr "Jméno:" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "" + +#: gajim/data/gui/vcard_information_window.ui:1017 +msgid "Personal Info" +msgstr "Osobní údaje" + +#: gajim/data/gui/vcard_information_window.ui:1040 +#, fuzzy +msgid "Company" +msgstr "Společnost:" + +#: gajim/data/gui/vcard_information_window.ui:1073 +#, fuzzy +msgid "Department" +msgstr "Oddělení:" + +#: gajim/data/gui/vcard_information_window.ui:1104 +#, fuzzy +msgid "Position" +msgstr "Pozice:" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "Postavení" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "Komentář" + +#: gajim/data/gui/vcard_information_window.ui:1514 +msgid "Comments" +msgstr "Vlastní poznámky" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "Upravit skupiny" + +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "Heslo" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +#, fuzzy +msgid "Themes" +msgstr "Téma" + +#: gajim/data/gui/themes_window.ui:171 +#, fuzzy +msgid "Add Setting" +msgstr "Registrace selhala" + +#: gajim/data/gui/themes_window.ui:204 +#, fuzzy +msgid "Add new Theme" +msgstr "Vytvoř nový zápis" + +#: gajim/data/gui/themes_window.ui:219 +#, fuzzy +msgid "Remove Theme" +msgstr "Aktivní" + +#: gajim/data/gui/bookmarks.ui:120 +#, fuzzy +msgid "Autojoin" +msgstr "Automaticky vstoupit" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "" + +#: gajim/data/gui/preferences.ui:68 +#, fuzzy +msgid "Contact List Appearance" +msgstr "Výměna položky rosteru" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +#, fuzzy +msgid "Chats" +msgstr "Rozhovory" + +#: gajim/data/gui/preferences.ui:215 +#, fuzzy +msgid "Visual Notifications" +msgstr "Vizuální upozornění" + +#: gajim/data/gui/preferences.ui:243 +#, fuzzy +msgid "Sounds" +msgstr "Waw soubory" + +#: gajim/data/gui/preferences.ui:303 +#, fuzzy +msgid "Ask For Status Message on…" +msgstr "Ptej se na stav při:" + +#: gajim/data/gui/preferences.ui:331 +#, fuzzy +msgid "Automatic Status Change" +msgstr "Automatický stav" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "" + +#: gajim/data/gui/preferences.ui:447 +#, fuzzy +msgid "Status Icon" +msgstr "Výchozí _ikony stavů:" + +#: gajim/data/gui/preferences.ui:472 +msgid "Style" +msgstr "Styl" + +#: gajim/data/gui/preferences.ui:511 +#, fuzzy +msgid "Show _Features" +msgstr "Vlastnosti serveru" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:632 +#, fuzzy +msgid "Audio" +msgstr "Audio / Video" + +#: gajim/data/gui/preferences.ui:660 +#, fuzzy +msgid "Video" +msgstr "Velikost videa" + +#: gajim/data/gui/preferences.ui:698 +#, fuzzy +msgid "Audio/Video" +msgstr "Audio / Video" + +#: gajim/data/gui/preferences.ui:735 +#, fuzzy +msgid "Miscellaneous" +msgstr "Příslušenství" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:821 +#, fuzzy +msgid "Advanced Configuration Editor… " +msgstr "Editor rozšířeného nastavení" + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "" + +#: gajim/data/gui/server_info.ui:50 +#, fuzzy +msgid "Server Software" +msgstr "Vlastnosti serveru" + +#: gajim/data/gui/server_info.ui:80 +#, fuzzy +msgid "Server Uptime" +msgstr "Server odpověděl: %s" + +#: gajim/data/gui/server_info.ui:109 +#, fuzzy +msgid "Contact Addresses" +msgstr "Zpráva kontaktu:" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "" + +#: gajim/data/gui/server_info.ui:177 +#, fuzzy +msgid "Proxy Type" +msgstr "Proxy:" + +#: gajim/data/gui/server_info.ui:192 +#, fuzzy +msgid "No proxy used" +msgstr "Proxy:" + +#: gajim/data/gui/server_info.ui:202 +#, fuzzy +msgid "View _Certificate" +msgstr "Sám sebou podepsaný certifikát" + +#: gajim/data/gui/server_info.ui:222 +#, fuzzy +msgid "Proxy Host" +msgstr "P_očítač Proxy:" + +#: gajim/data/gui/server_info.ui:421 +#, fuzzy +msgid "Copy info to clipboard" +msgstr "_Kopírovat odkaz" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:153 +#, fuzzy +msgid "Serial Number" +msgstr "GG číslo: " + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:304 +msgid "Expires on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:465 +#, fuzzy +msgid "Copy Certificate Information" +msgstr "Informace o kontaktu" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "Pozvat přátele !" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +#, fuzzy +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "" +"Začátek Více-uživatelského rozhovoru.\n" +"Vyberte kontakty, které chcete pozvat" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +#, fuzzy +msgid "Please select a group chat server." +msgstr "Prosím, vyberte MUC server." + +#: gajim/data/gui/chat_to_muc_window.ui:141 +#, fuzzy +msgid "Group chat server" +msgstr "Diskuze" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +msgid "In_vite" +msgstr "_Pozvat do" + +#: gajim/data/gui/mam_preferences.ui:53 +#, fuzzy +msgid "_Default" +msgstr "Výchozí" + +#: gajim/data/gui/mam_preferences.ui:136 +#, fuzzy +msgid "Archive" +msgstr "Soubor je prázdný" + +#: gajim/data/gui/history_manager.ui:11 +#, fuzzy +msgid "_Export" +msgstr "Export" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +msgid "Gajim History Logs Manager" +msgstr "Gajimův Správce Historie" + +#: gajim/data/gui/history_manager.ui:104 +#, fuzzy +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" +"Tento správce logů není určený pro jejich prohlížení. Místo toho použijte " +"okno s historií.\n" +"\n" +"Použijte tento program pro mazání nebo export zpráv. Můžete vybrat logy " +"vlevo a/nebo je dole vyhledat v databázi." + +#: gajim/data/gui/history_manager.ui:120 +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" +"VAROVÁNÍ:\n" +"Pokud plánujete rozsáhlé promazání, ujistěte se, že Gajim neběží. Obecně se " +"vyvarujte mazání historie kontaktu, se kterým si právě píšete." + +#: gajim/data/gui/history_manager.ui:211 +#, fuzzy +msgid "Search database..." +msgstr "_Hledat v databázi" + +#: gajim/data/gui/history_manager.ui:226 +#, fuzzy +msgid "Search in database" +msgstr "_Hledat v databázi" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" + +#: gajim/data/gui/groupchat_invite.ui:69 +#, fuzzy +msgid "Invitees" +msgstr "_Pozvat do" + +#: gajim/data/gui/groupchat_invite.ui:153 +#, fuzzy +msgid "Search contacts..." +msgstr "_Hledat v databázi" + +#: gajim/data/gui/groupchat_invite.ui:223 +#, fuzzy +msgid "Click on contacts you would like to invite to this group chat." +msgstr "%(nick)s byli vyhozeni z místnosti: %(reason)s" + +#: gajim/data/gui/service_discovery_window.ui:148 +#, fuzzy +msgid "Go" +msgstr "_Jdi" + +#: gajim/data/gui/status_change_window.ui:27 +#, fuzzy +msgid "Change Status" +msgstr "Změnit stav" + +#: gajim/data/gui/status_change_window.ui:56 +#, fuzzy +msgid "Status Presets…" +msgstr "Text stavu" + +#: gajim/data/gui/status_change_window.ui:72 +msgid "Save this message as a preset" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:130 +#, fuzzy +msgid "Ac_tivity" +msgstr "Činnost" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:278 +#, fuzzy +msgid "_Change Status" +msgstr "Změnit stav" + +#: gajim/data/gui/status_change_window.ui:313 +#, fuzzy +msgid "Activity" +msgstr "Činnost:" + +#: gajim/data/gui/status_change_window.ui:326 +#, fuzzy +msgid "_No Activity" +msgstr "Činnost:" + +#: gajim/data/gui/status_change_window.ui:729 +msgid "Mood" +msgstr "Nálada" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +#, fuzzy +msgid "Author" +msgstr "Au_torizuj" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +#, fuzzy +msgid "Group Chat Language" +msgstr "Skupinová pozvánka" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +#, fuzzy +msgid "Copy Address" +msgstr "_Kopírovat JID/Emailovou adresu" + +#: gajim/data/gui/emoji_chooser.ui:98 +#, fuzzy +msgid "No Results Found" +msgstr "Žádný výsledek" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr "XML Konzole" + +#: gajim/data/gui/xml_console.ui:131 +#, fuzzy +msgid "Start Search..." +msgstr "_Začít rozhovor" + +#: gajim/data/gui/xml_console.ui:260 +#, fuzzy +msgid "Clear" +msgstr "Uklízím" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "" + +#: gajim/data/gui/xml_console.ui:316 +#, fuzzy +msgid "Presets" +msgstr "_Stav" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "Synchronizace: vybrat kontakty" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +msgid "Select the contacts you want to synchronise" +msgstr "JID kontaktu, se kterým chcete komunikovat" + +#: gajim/data/gui/groupchat_config.ui:51 +#, fuzzy +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" +"Může být jedno z následujících:\n" +"1. uživatel@doména/zdroj (pouze zdroji, který je uveden).\n" +"2. uživatel@doména (kterýkoliv zdroj odpovídá).\n" +"3. doména/zdroj (pouze zdroji, který je uveden).\n" +"4. doména (doména samotná odpovídá, stejně jako kterýkoliv uživatel@doména,\n" +"doména/zdroj, nebo adresa obsahující poddoménu)." + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:309 +#, fuzzy +msgid "Reserved Name" +msgstr "Název volby" + +#: gajim/data/gui/groupchat_config.ui:346 +#, fuzzy +msgid "Affiliation" +msgstr "Vztah:" + +#: gajim/data/gui/groupchat_config.ui:377 +#, fuzzy +msgid "Affiliations" +msgstr "Vztah:" + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "Důvod" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "Ban List" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "O_dmítnout" + +#: gajim/data/gui/subscription_request_window.ui:34 +#, fuzzy +msgid "_Block User" +msgstr "_Blokovat" + +#: gajim/data/gui/subscription_request_window.ui:49 +#, fuzzy +msgid "_Report as Spam" +msgstr "_Ohlásit chybu" + +#: gajim/data/gui/subscription_request_window.ui:212 +#, fuzzy +msgid "_Deny…" +msgstr "O_dmítnout" + +#: gajim/data/gui/subscription_request_window.ui:225 +#, fuzzy +msgid "Ac_cept" +msgstr "Přijmi" + +#: gajim/data/gui/subscription_request_window.ui:230 +#, fuzzy +msgid "Allows the contact to see your online status" +msgstr "Dovol kontaktu vidět můj stav" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:115 +#, fuzzy +msgid "_Report Bug" +msgstr "_Ohlásit chybu" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "Událost" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "Vyberte zvuk" + +#: gajim/data/gui/manage_sounds.ui:97 +#, fuzzy +msgid "Clear Sound" +msgstr "Vyberte zvuk" + +#: gajim/data/gui/manage_sounds.ui:118 +#, fuzzy +msgid "Play Sound" +msgstr "Přehrávat _zvuky" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +#, fuzzy +msgid "_Send Files" +msgstr "Odeslat _Soubor" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +#, fuzzy +msgid "Send" +msgstr "Ode_slat" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +#, fuzzy +msgid "Files to send" +msgstr "Vyber soubor k odeslání..." + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +#, fuzzy +msgid "Add Files" +msgstr "Soubor: " + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +#, fuzzy +msgid "Remove Files" +msgstr "Odst_ranit" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +#, fuzzy +msgid "Idle since:" +msgstr " od %s" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +msgid "Mood:" +msgstr "Nálada:" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +msgid "Activity:" +msgstr "Činnost:" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +msgid "Tune:" +msgstr "Píseň" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +#, fuzzy +msgid "Location:" +msgstr "Upozornění" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +msgid "Subscription:" +msgstr "Autorizace: " + +#: gajim/data/gui/advanced_configuration.ui:15 +#, fuzzy +msgid "A restart may be required for some settings to take effect" +msgstr "" +"POZNÁMKA: Měl(a) by jste restartovat gajim, aby se projevila všechna " +"nastavení" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "" + +#: gajim/data/gui/advanced_configuration.ui:120 +#, fuzzy +msgid "_Reset Value" +msgstr "_Vrátit k výchozím barvám" + +#: gajim/data/gui/advanced_configuration.ui:125 +#, fuzzy +msgid "Resets value to default" +msgstr "_Vrátit k výchozím barvám" + +#: gajim/data/gui/history_window.ui:27 +#, fuzzy +msgid "Display status changes" +msgstr "Zaznamenávat změny _stavu kontaktů" + +#: gajim/data/gui/history_window.ui:57 +msgid "History Manager" +msgstr "Správce historie" + +#: gajim/data/gui/history_window.ui:233 +#, fuzzy +msgid "Mode" +msgstr "Moderátor" + +#: gajim/data/gui/history_window.ui:246 +#, fuzzy +msgid "Search complete history" +msgstr "Nedávno:" + +#: gajim/data/gui/history_window.ui:263 +msgid "Search selected day only" +msgstr "" + +#: gajim/data/gui/history_window.ui:317 +#, fuzzy +msgid "Store history for this chat" +msgstr "Ignorovat tuto chybu certifikátu." + +#: gajim/data/gui/history_window.ui:332 +#, fuzzy +msgid "Store History" +msgstr "Nedávno:" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +#, fuzzy +msgid "Identified Error" +msgstr "Chyba SSL certifikátu" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +#, fuzzy +msgid "" +msgstr "Chyba" + +#: gajim/data/gui/ssl_error_dialog.ui:74 +#, fuzzy +msgid "Add this certificate to the list of _trusted certificates" +msgstr "" +"Přidat tento certifikát do důvěryhodných.\n" +"SHA1 otisk certifikátu:\n" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +#, fuzzy +msgid "_View Certificate" +msgstr "Sám sebou podepsaný certifikát" + +#: gajim/data/gui/ssl_error_dialog.ui:120 +#, fuzzy +msgid "_Connect" +msgstr "Spojeno" + +#: data/org.gajim.Gajim.desktop.in:5 +#, fuzzy +msgid "XMPP Chat Client" +msgstr "Jabber IM klient" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:8 +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:27 +#, fuzzy +msgid "Show next pending event" +msgstr "Zobrazit všechny čekající _události" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:17 +#, fuzzy +msgid "Features:" +msgstr "Vlastnosti serveru" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +#, fuzzy +msgid "Automatic spell-checking for your messages" +msgstr "Kontrola Pravopisu psaných zpráv." + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +#, fuzzy +msgid "Support for service discovery including nodes and search for users" +msgstr "Procházení služeb s použitím účtu %s" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +#, fuzzy +msgid "Contact list" +msgstr "Kontakty" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +#, fuzzy +msgid "Group chat support" +msgstr "Diskuze" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +#, fuzzy +msgid "Chat history" +msgstr "Nedávno:" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +#, fuzzy +msgid "Plugin manager" +msgstr "Registrace selhala" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +#, fuzzy +msgid "Gajim Team" +msgstr "gajim-remote" + +#, fuzzy +#~ msgid "Chat Settings" +#~ msgstr "Registrace selhala" + +#, fuzzy, python-format +#~ msgid "%i day" +#~ msgid_plural "%i days" +#~ msgstr[0] "před %i dny" +#~ msgstr[1] "před %i dny" +#~ msgstr[2] "před %i dny" + +#, fuzzy +#~ msgid "Composing only" +#~ msgstr "Píšu zprávu" + +#, fuzzy +#~ msgid "All chat states" +#~ msgstr "Všechny stavy" + +#~ msgid "Privacy Lists" +#~ msgstr "Soukromý Seznam" + +#, fuzzy +#~ msgid "Unblock" +#~ msgstr "_Odblokovat" + +#, fuzzy +#~ msgid "Block" +#~ msgstr "_Blokovat" + +#~ msgid "None" +#~ msgstr "Žádný" + +#, python-format +#~ msgid "%s Status Message" +#~ msgstr "Text stavu %s" + +#~ msgid "an audio and video" +#~ msgstr "audio a video" + +#~ msgid "an audio" +#~ msgstr "audio" + +#~ msgid "a video" +#~ msgstr "video" + +#, fuzzy, python-format +#~ msgid "" +#~ "%(contact)s wants to start a %(type)s chat with you. Do you want to " +#~ "answer the call?" +#~ msgstr "" +#~ "%(contact)s chce zahájit %(type) sezení. Chcete na volání odpovědět?" + +#~ msgid "Could not load image" +#~ msgstr "Nezdařilo se načtení obrázku" + +#~ msgid "Error." +#~ msgstr "Chyba." + +#, python-format +#~ msgid "%(type)s state : %(state)s, reason: %(reason)s" +#~ msgstr "%(type)s stav: %(state)s, důvod: %(reason)s" + +#, fuzzy +#~ msgid "" +#~ "This contact will see you offline and you will not receive any messages " +#~ "sent to you by this contact." +#~ msgstr "" +#~ "Tento kontakt vás uvidí jako odpojeného a nebudete dostávat zprávy, které " +#~ "vám pošle." + +#, fuzzy +#~ msgid "_Block Contact" +#~ msgstr "Blokované Kontakty" + +#, fuzzy +#~ msgid "Block Group" +#~ msgstr "_Blokovat" + +#, fuzzy +#~ msgid "Really block this group?" +#~ msgstr "Je OpenPGP povoleno pro tento kontakt?" + +#, fuzzy +#~ msgid "" +#~ "All contacts of this group will see you as offline and you will not " +#~ "receive any messages sent to you by any one of these contacts." +#~ msgstr "" +#~ "Tento kontakt vás uvidí jako odpojeného a nebudete dostávat zprávy, které " +#~ "vám pošle." + +#, fuzzy +#~ msgid "_Block Group" +#~ msgstr "_Blokovat" + +#~ msgid "No account available" +#~ msgstr "Žádný účet není dostupný" + +#~ msgid "You must create an account before you can chat with other contacts." +#~ msgstr "" +#~ "Musíte vytvořit účet před tím, než budete moci hovořit s jinými uživateli." + +#~ msgid "Metacontacts storage not supported by your server" +#~ msgstr "Uložení metakontaktů není podporováno serverem" + +#, fuzzy +#~ msgid "" +#~ "Your server does not support storing metacontacts information. So this " +#~ "information will not be saved on next reconnection." +#~ msgstr "" +#~ "Tvůj server nepodporuje ukládání metakontaktů. Tyto informace nebudou při " +#~ "přístím připojení uloženy." + +#, fuzzy, python-brace-format +#~ msgid "You are invited to {room} by {user}" +#~ msgstr "Jste pozván do diskuze" + +#, python-format +#~ msgid "%s wants to start a voice chat." +#~ msgstr "%s chce zahájit hlasový rozhovor. " + +# FIXME: jaky je rozdil mezi settings a preferences? - kdo vi :) +#~ msgid "Could not save your settings and preferences" +#~ msgstr "Nelze uložit Vaše nastavení" + +#, fuzzy +#~ msgid "Error While Removing Privacy List" +#~ msgstr "Chyba při odebírání privacy listu" + +#, fuzzy, python-format +#~ msgid "" +#~ "Privacy list %s has not been removed. It is probably active in one of " +#~ "your connected resources. Please deactivate it and try again." +#~ msgstr "" +#~ "Privacy list %s nebyl odstraněn. Možná je aktivní v jednom z připojených " +#~ "zdrojů. Zruště jeho používání a zkuste znovu." + +#, fuzzy +#~ msgid "Invisibility Not Supported" +#~ msgstr "Neviditelnost není podporována" + +#, fuzzy, python-format +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "Účet %s nepodporuje neviditelnost." + +#, fuzzy +#~ msgid "Could not request upload slot for HTTP File Upload" +#~ msgstr "Nepodařilo se spustit lokální službu" + +#, fuzzy +#~ msgid "Not Secure" +#~ msgstr "Nespuštěno" + +#, fuzzy +#~ msgid "Could not Upload File" +#~ msgstr "Nezdařilo se načtení obrázku" + +#, fuzzy +#~ msgid "Encryption Error" +#~ msgstr "E2E Šifrování vypnuto" + +#~ msgid "Lists all preferences and their values" +#~ msgstr "Vypíše všechna nastavení a jejich hodnoty" + +# FIXME: opravit, pokud je mozne prekladat i key & value +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "Nastaví hodnotu klíče 'key' na hodnotu 'value'" + +#~ msgid "key=value" +#~ msgstr "klíč=hodnota" + +# FIXME: opet +#, fuzzy +#~ msgid "'key' is the name of the preference, 'value' is what to set it to" +#~ msgstr "'klíč' je jméno volby, 'hodnota' je hodnota která se nastavuje" + +#~ msgid "Deletes a preference item" +#~ msgstr "Smaže položku nastavení" + +#~ msgid "key" +#~ msgstr "klíč" + +#~ msgid "name of the preference to be deleted" +#~ msgstr "jméno volby, která bude smazána" + +#~ msgid "Writes the current state of Gajim preferences to the .config file" +#~ msgstr "Zapíše aktuální nastavení do souboru .config" + +#, python-format +#~ msgid "%s is a directory but should be a file" +#~ msgstr "%s je adresář, ale měl by to být soubor" + +#, fuzzy, python-format +#~ msgid "Creating %s" +#~ msgstr "Jím" + +#, python-format +#~ msgid "%(nickname)s Signed In" +#~ msgstr "%(nickname)s se přihlásil" + +#~ msgid "Contact Signed In" +#~ msgstr "Kontakt se přihlásil" + +#, python-format +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "%(nickname)s se odhlásil" + +#~ msgid "Contact Signed Out" +#~ msgstr "Kontakt se odhlásil" + +#, fuzzy +#~ msgid "" +#~ "Show desktop notification even when a chat window is opened for this " +#~ "contact and does not have focus." +#~ msgstr "" +#~ "Povolit popup/upozornění pokud jsem _pryč/nedostupný/nerušit/neviditelný" + +#~ msgid "default" +#~ msgstr "výchozí" + +#, fuzzy +#~ msgid "" +#~ "Character to propose to add after desired nickname when nickname is " +#~ "already used in group chat." +#~ msgstr "" +#~ "Znak navržený pro přidání za zamýšlenou přezdívku, pokud už ji používá " +#~ "někdo jiný v diskuzi." + +#, fuzzy +#~ msgid "" +#~ "How many seconds to wait before trying to automatically rejoin a group " +#~ "chat you were disconnected from. Set to 0 to disable automatic rejoining." +#~ msgstr "" +#~ "Kolik vteřin čekat před automatickým znovu vstoupením do diskuze, ze " +#~ "které jste odpojován(a). Nastavte na 0 pro vypnutí automatického znovu " +#~ "vstoupení." + +#, fuzzy +#~ msgid "If enabled, Gajim displays the avatar in the chat window." +#~ msgstr "Pokud je False, nebudete nadále vidět avatary v okně rozhovoru" + +#, fuzzy +#~ msgid "" +#~ "Status to be used automatically when connecting. Can be 'online', 'chat', " +#~ "'away', 'xa' or 'dnd'. NOTE: This option is used only if " +#~ "'restore_last_status' is disabled." +#~ msgstr "" +#~ "Stav použitý při auto-připojení. Může být 'připojen', 'ukecaný', 'pryč', " +#~ "'nedostupný', 'nerušit', 'neviditelný'. POZNÁMKA: toto nastavení může být " +#~ "použito pouze pokud restore_last_status je vypnutý" + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending password on an plaintext connection. " +#~ "Can be 'warn', or 'none'." +#~ msgstr "Zobrazit varování před odesláním hesla přes nezabezpečené spojení." + +#, fuzzy +#~ msgid "" +#~ "How many seconds to wait for the answer of a ping alive packet before " +#~ "trying to reconnect." +#~ msgstr "" +#~ "Kolik sekund se má čekat na odpověď pingu před tím, než se znovu pokusit " +#~ "o připojení." + +#~ msgid "I'm available." +#~ msgstr "Jsem dostupný." + +#~ msgid "I'm free for chat." +#~ msgstr "Hledám někoho na pokec." + +#~ msgid "Be right back." +#~ msgstr "Hned jsem zpět." + +#~ msgid "I'm not available." +#~ msgstr "Nejsem dostupný." + +#~ msgid "Do not disturb." +#~ msgstr "Nerušit." + +#~ msgid "Bye!" +#~ msgstr "Zdar!" + +#~ msgid "Timeout loading image" +#~ msgstr "Nezdařilo se načtení obrázku" + +#~ msgid "Image is too big" +#~ msgstr "Obrázek je příliš veliký" + +#, fuzzy +#~ msgid "PyCURL is not installed" +#~ msgstr "CRL certifikát není správný" + +#, fuzzy +#~ msgid "Error loading image" +#~ msgstr "Nezdařilo se načtení obrázku" + +#~ msgid "Blocked Contacts" +#~ msgstr "Blokované Kontakty" + +#, fuzzy +#~ msgid "Group chat" +#~ msgstr "Diskuze" + +#, fuzzy +#~ msgid "Bookmark group chat" +#~ msgstr "Přidat tuto místnost do záložek" + +#, fuzzy +#~ msgid "Bookmark" +#~ msgstr "_Záložky" + +#, fuzzy +#~ msgid "Recently used group chats" +#~ msgstr "v _diskuzích" + +#, fuzzy +#~ msgid "Clear Avatar" +#~ msgstr "Avatar:" + +#, fuzzy +#~ msgid "Set Avatar…" +#~ msgstr "Vyberte obrázek" + +#, fuzzy +#~ msgid "Contact" +#~ msgstr "Čas kontaktu:" + +#, fuzzy +#~ msgid "_Leave Group Chat" +#~ msgstr "Opustit diskuzi" + +#, fuzzy +#~ msgid "Enter a new name for this group chat" +#~ msgstr "Zadej nové jméno pro skupinu %s." + +#, fuzzy +#~ msgid "Use default applications" +#~ msgstr "Vždy použít OS/X výchozí aplikace" + +#~ msgid "Custom" +#~ msgstr "Vlastní" + +#, fuzzy +#~ msgid "Notify me about it" +#~ msgstr "Upozorni mě na kontakty které se odhlásí" + +#, fuzzy +#~ msgid "Show only in contact list" +#~ msgstr "Zobrazit pouze _aktivní kontakty" + +#, fuzzy +#~ msgid "No status messages" +#~ msgstr "text stavu" + +#, fuzzy +#~ msgid "All status messages" +#~ msgstr "text stavu" + +#, fuzzy +#~ msgid "Only enter/leave messages" +#~ msgstr "Máte nepřečtené zprávy" + +#, fuzzy +#~ msgid "Me_rge accounts" +#~ msgstr "_Spojit účty" + +#, fuzzy +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "Zobrazovat a_vatary kontaktů v seznamu" + +#, fuzzy +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "" +#~ "Pokud zaškrtnuto, Gajim bude zobrazovat avatary kontaktů v okně Seznamu a " +#~ "v diskuzích" + +#, fuzzy +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "Zobrazovat p_opis stavu kontaktů v Seznamu" + +#, fuzzy +#~ msgid "" +#~ "If checked, status messages of contacts will be shown under the contact's " +#~ "name, in the contact list window, and in group chats" +#~ msgstr "" +#~ "Pokud zaškrtnuto, Gajim bude zobrazovat popisy stavů kontaktů pod jménem " +#~ "v okně Seznamu a v diskuzích" + +#, fuzzy +#~ msgid "" +#~ "Show e_xtra information of contacts in contact list (mood, activity, ...)" +#~ msgstr "Zobrazovat _nálady kontaktů v seznamu" + +#, fuzzy +#~ msgid "in _contact list" +#~ msgstr "Odeslány kontakty:" + +#~ msgid "in _group chats" +#~ msgstr "v _diskuzích" + +#, fuzzy +#~ msgid "Enable spell _checking" +#~ msgstr "Kontrola Pravopisu" + +#, fuzzy +#~ msgid "" +#~ "If checked, spelling errors in input fields of chat windows will be " +#~ "highlighted. If no language is explicitly set via right click on the " +#~ "input field, the default language will be used for this contact or group " +#~ "chat. Needs gspell to be installed." +#~ msgstr "" +#~ "Pokud je zaškrtnuto, Gajim zvýrazní překlepy při psaní zprávy.Pokud není " +#~ "nastavení jazyk přes pravé tlačítko na vstupním poli, tak se použije " +#~ "výchozí jazyk pro tento kontakt nebo diskuzi." + +#, fuzzy +#~ msgid "Display status messages in _single chats" +#~ msgstr "Zobrazovat p_opis stavu kontaktů v Seznamu" + +#, fuzzy +#~ msgid "" +#~ "If checked, status lines will be shown in 1 on 1 chats when a contact " +#~ "changes their status or status message" +#~ msgstr "" +#~ "Pokud vypnuto, Gajim nebude zobrazovat stavové řádky v rozhovorech, když " +#~ "kontakt změní jeho stav a/nebo jeho stavovou zprávu." + +#, fuzzy +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "Nelze se připojit se do diskuze" + +#, fuzzy +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "Nelze se připojit se do diskuze" + +#, fuzzy +#~ msgid "Show status changes (Default)" +#~ msgstr "Zaznamenávat změny _stavu kontaktů" + +#, fuzzy +#~ msgid "" +#~ "If checked, the tab will be colored according to the current chatstate of " +#~ "the contact" +#~ msgstr "" +#~ "Pokud je zaškrtnuto, Gajim se připojí do této místnosti při spuštění" + +#, fuzzy +#~ msgid "" +#~ "If checked, a description of the contacts current chatstate is shown in " +#~ "the banner" +#~ msgstr "" +#~ "Pokud je zaškrtnuto, Gajim se připojí do této místnosti při spuštění" + +#, fuzzy +#~ msgid "Chatstate" +#~ msgstr "Poslední stav: %s" + +#, fuzzy +#~ msgid "_When new event is received" +#~ msgstr "Když je přijata nová zpráva" + +#, fuzzy +#~ msgid "Show popups/notifications when a chat window is already _open" +#~ msgstr "" +#~ "Povolit popup/upozornění pokud jsem _pryč/nedostupný/nerušit/neviditelný" + +#, fuzzy +#~ msgid "Allow popups/notifications when I'm _away, not available or busy" +#~ msgstr "" +#~ "Povolit popup/upozornění pokud jsem _pryč/nedostupný/nerušit/neviditelný" + +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "Upozorni mě na kontakty které se přihlásí" + +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "Upozorni mě na kontakty které se odhlásí" + +#~ msgid "Play _sounds" +#~ msgstr "Přehrávat _zvuky" + +#~ msgid "Ma_nage..." +#~ msgstr "Sp_ravovat..." + +#, fuzzy +#~ msgid "Allow playing sounds when I'm _busy" +#~ msgstr "Povolit zvuk, když jsem zaneprázněn" + +#, fuzzy +#~ msgid "No_t Available" +#~ msgstr "Nedostupný" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Not Available when the computer " +#~ "has not been used for the specified time" +#~ msgstr "" +#~ "Pokud je zaškrtnuto, Gajim změní stav na 'Nedostupný' pokud se počítač " +#~ "nepoužívá delší dobu" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Away when the computer has not " +#~ "been used for the specified time" +#~ msgstr "" +#~ "Pokud je zaškrtnuto, Gajim změní stav na 'Nedostupný' pokud se počítač " +#~ "nepoužívá delší dobu" + +#, fuzzy +#~ msgid "" +#~ "The automatic away status message. If empty, the current status message " +#~ "will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-away timeout." +#~ msgstr "" +#~ "Popis stavu automatického stavu 'Pryč'. Pokud je prázdná, tak Gajim " +#~ "nezmění současný popis stavu\n" +#~ "$S se nahradí za předchozí popis stavu\n" +#~ "$T se nahradí dobou nečinnosti před zapnutím stavu Pryč" + +#, fuzzy +#~ msgid "" +#~ "The automatic not available status message. If empty, the current status " +#~ "message will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-not-available timeout." +#~ msgstr "" +#~ "Automatická popia stavu 'Nedostupný'. Pokud je prázdná, tak Gajim nezmění " +#~ "současný popis stavu\n" +#~ "$S se nahradí za předchozí popis stavu\n" +#~ "$T se nahradí dobou nečinnosti před zapnutím stavu Nedostupný" + +#, fuzzy +#~ msgid "Minutes" +#~ msgstr "minutách" + +#~ msgid "" +#~ "If enabled, Gajim will not ask for a status message. The specified " +#~ "default message will be used instead." +#~ msgstr "" +#~ "Pokud zaškrtnuto, Gajim se nebude pokáždé ptát na zprávu stavu. Místo " +#~ "toho použije výchozí nadefinovanou zprávu." + +#~ msgid "Default Message" +#~ msgstr "Výchozí Zpráva" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "Text stavu" + +#, fuzzy +#~ msgid "Preset Status Messages" +#~ msgstr "Přednastavené stavy" + +#, fuzzy +#~ msgid "_Theme" +#~ msgstr "Téma" + +#~ msgid "Configure color and font of the interface" +#~ msgstr "Nastav barvu a písmo uživatelského rozhraní" + +#, fuzzy +#~ msgid "" +#~ "If checked, protocol-specific status icons will be used (e.g. a contact " +#~ "from ICQ will have the equivalent ICQ icon for status online, away, busy, " +#~ "etc...)" +#~ msgstr "" +#~ "Pokud zaškrtnuto, Gajim použije ikony specifické pro protokol (např. " +#~ "kontakt z MSN bude mít odpovídající ikonu msn pro stavy připojen, pryč, " +#~ "nerušit, atd...)" + +#, fuzzy +#~ msgid "Video output" +#~ msgstr "video výstup" + +#, fuzzy +#~ msgid "Video si_ze" +#~ msgstr "Velikost videa" + +#~ msgid "_Manage..." +#~ msgstr "_Spravovat..." + +#, fuzzy +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "Zaznamenávat změny _stavu kontaktů" + +#, fuzzy +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "Pokud bude zaškrtnuto, Gajim si bude pamatovat heslo pro tento účet" + +#~ msgid "_Open..." +#~ msgstr "_Otevřít..." + +#, fuzzy +#~ msgid "_Filter" +#~ msgstr "Filtr:" + +#, fuzzy +#~ msgid "Protocol" +#~ msgstr "P_rotokol:" + +#~ msgid "Privacy Lists:" +#~ msgstr "Nastavení Soukromí:" + +#, fuzzy +#~ msgid "_Ignore this error for this certificate" +#~ msgstr "Ignorovat tuto chybu certifikátu." + +#, fuzzy +#~ msgid "Message..." +#~ msgstr "Zpráva" + +#, fuzzy +#~ msgid "Preset _messages" +#~ msgstr "Uložené stavy:" + +#, fuzzy +#~ msgid "_Type your new status message" +#~ msgstr "Napište nový popis stavu" + +#, fuzzy +#~ msgid "Change Status Message…" +#~ msgstr "Z_měnit popis stavu" + +#~ msgid "Mood:" +#~ msgstr "Nálada:" + +#~ msgid "Message:" +#~ msgstr "Zpráva:" + +#, fuzzy +#~ msgid "none" +#~ msgstr "jeden" + +#, fuzzy +#~ msgid "both" +#~ msgstr "Oboustranná" + +#, fuzzy +#~ msgid "from" +#~ msgstr "Odesílatel" + +#, fuzzy +#~ msgid "to" +#~ msgstr "dva" + +#~ msgid "Privacy List" +#~ msgstr "Nastavení Soukromí" + +#~ msgid "Privacy List" +#~ msgstr "Nastavení Soukromí" + +#~ msgid "Active for this session" +#~ msgstr "Aktivní pro toto sezení" + +#~ msgid "Active on each startup" +#~ msgstr "Aktivní při každém startu" + +#~ msgid "List of rules" +#~ msgstr "Seznam pravidel" + +#~ msgid "Add / Edit a rule" +#~ msgstr "Přidej / Uprav pravidlo" + +#~ msgid "Allow" +#~ msgstr "Povolit" + +#~ msgid "Deny" +#~ msgstr "Odmítnout" + +#~ msgid "all in the group" +#~ msgstr "všem ve skupině" + +#~ msgid "all by subscription" +#~ msgstr "všechny podle autorizace" + +#~ msgid "All" +#~ msgstr "Vše" + +#~ msgid "to send me messages" +#~ msgstr "odeslat zprávu" + +#~ msgid "to send me queries" +#~ msgstr "pro zaslání dotazu" + +#~ msgid "to view my status" +#~ msgstr "Dovol mu/jí vidět můj stav" + +#~ msgid "to send me status" +#~ msgstr "Požádat o zobrazení je(jí)ho stavu" + +#~ msgid "All (including subscription)" +#~ msgstr "Všechno (včetně autorizací)" + +#~ msgid "Order:" +#~ msgstr "Pořadí:" + +#, fuzzy +#~ msgid "" +#~ "Deny authorization from contact so the contact cannot know if you are " +#~ "connected" +#~ msgstr "Odmítne autorizaci od kontaktu, takže nezjistí kdy jste připojen(a)" + +#, fuzzy +#~ msgid "Authorize contact so the contact can know if you are connected" +#~ msgstr "Autorizovat kontakt, aby věděl kdy jsi připojený(á)" + +#, fuzzy +#~ msgid "Contact List Shortcuts" +#~ msgstr "Výměna položky rosteru" + +#~ msgid "Fill in the form." +#~ msgstr "Vyplňte formulář." + +#~ msgid "Set an activity" +#~ msgstr "Nastavit činnost" + +#~ msgid "Message: " +#~ msgstr "Zpráva:" + +#, fuzzy, python-format +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "Pozval(a) %(contact_jid)s do %(room_jid)s." + +#, fuzzy +#~ msgid "Group Chat Invitation " +#~ msgstr "Skupinová pozvánka" + +#, python-format +#~ msgid "Comment: %s" +#~ msgstr "Komentář: %s" + +#, fuzzy +#~ msgid "Off" +#~ msgstr "Odpojen" + +#, fuzzy +#~ msgid "Retrieving profile…" +#~ msgstr "Stahuji profil..." + +#, fuzzy +#~ msgid "Wrong date format" +#~ msgstr "Informace o kontaktu" + +#, fuzzy +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "Formát: RRRR-MM-DD" + +#~ msgid "Information received" +#~ msgstr "Informace přijata" + +#, fuzzy +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "Bez opětovného připojení nemůžete zveřejnit Vaše osobní údaje." + +#, fuzzy +#~ msgid "Sending profile…" +#~ msgstr "Odesílám profil..." + +#~ msgid "Information NOT published" +#~ msgstr "Informace NEBYLY zveřejněny" + +#~ msgid "vCard publication failed" +#~ msgstr "publikování vizitky se nezdařilo" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "" +#~ "Nastala chyba při publikování Vašich osobních údajů, zkuste to později " +#~ "znovu." + +#, fuzzy +#~ msgid "?password:Hidden" +#~ msgstr "Heslo:" + +#, python-format +#~ msgid "Privacy List %s" +#~ msgstr "Soukromý seznam %s" + +#, python-format +#~ msgid "Privacy List for %s" +#~ msgstr "Soukromý seznam pro %s" + +#, python-format +#~ msgid "" +#~ "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" +#~ msgstr "" +#~ "Pořadí: %(order)s, akce: %(action)s, typ: %(type)s, hodnota: %(value)s" + +#, python-format +#~ msgid "Order: %(order)s, action: %(action)s" +#~ msgstr "Pořadí: %(order)s, akce: %(action)s" + +#~ msgid "Edit a rule" +#~ msgstr "Upravit pravidlo" + +#~ msgid "Add a rule" +#~ msgstr "Přidat pravidlo" + +#, python-format +#~ msgid "Privacy Lists for %s" +#~ msgstr "Soukromý seznam pro %s" + +#~ msgid "Invalid List Name" +#~ msgstr "Neplatné jméno seznamu" + +#~ msgid "You must enter a name to create a privacy list." +#~ msgstr "Musíte zadat jméno pro vytvoření privacy listu." + +#, fuzzy +#~ msgid "Loading" +#~ msgstr "Programuji" + +#~ msgid "status message title" +#~ msgstr "titulek stavu" + +#~ msgid "status message text" +#~ msgstr "text stavu" + +#, fuzzy +#~ msgid "Start New Conversation" +#~ msgstr "Pokračování v rozhovoru" + +#~ msgid "Unknown SSL error: %d" +#~ msgstr "Neznámá SSL chyba: %d" + +#~ msgid "Gajim - %s" +#~ msgstr "Gajim - %s" + +#~ msgid "Choose interval between 2 checks of idleness." +#~ msgstr "Vyberte interval mezi dvěma stavy nečinnosti." + +#, fuzzy +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "Slovník pro jazyk %s není dostupný" + +#, fuzzy +#~ msgid "" +#~ "You have to install the dictionary \"%s\" to use spellchecking, or choose " +#~ "another language by setting the speller_language option.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "Musíš nainstalovat %s slovník k použití kontroly pravopisu, nebo vybrat " +#~ "jiný jazyk nastavením volby speller_language." + +#~ msgid "_Reconnect" +#~ msgstr "_Znovu připojit" + +#, fuzzy +#~ msgid "Quit" +#~ msgstr "_Konec" + +#, fuzzy +#~ msgid "Show Contact List" +#~ msgstr "Zobrazit pouze _aktivní kontakty" + +#, fuzzy +#~ msgid "Add to Contact List" +#~ msgstr "Přid_at kontakt..." + +#, fuzzy +#~ msgid "Invite Contact" +#~ msgstr "Pozvat kontakt" + +#, fuzzy +#~ msgid "Configure Group Chat" +#~ msgstr "Opustit diskuzi" + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." +#~ msgstr "" +#~ "Pokud zapnuto, Gajim zobrazí ikonu v každé záložce obsahující nepřečtené " +#~ "zprávy. V závislosti na tématu, tato ikona může být animovaná." + +#~ msgid "Invalid character in hostname." +#~ msgstr "Neplatný znak v hostname." + +#~ msgid "Server address required." +#~ msgstr "Je potřeba adresa serveru." + +#~ msgid "Invalid character in username." +#~ msgstr "Neplatný znak v uživatelském jméně." + +#~ msgid "Invalid character in resource." +#~ msgstr "Neplatný znak ve zdroji." + +#, fuzzy +#~ msgid "Notification color for contacts signing in." +#~ msgstr "Upozorni mě na kontakty které se přihlásí" + +#, fuzzy +#~ msgid "Notification color for contacts signing out." +#~ msgstr "Upozorni mě na kontakty které se odhlásí" + +#, fuzzy +#~ msgid "Notification color for new message notification." +#~ msgstr "Zobrazit náhled nové zprávy ve vyskakovacím okně?" + +#, fuzzy +#~ msgid "Notification color for file transfer request." +#~ msgstr "_Upozornit mě po dokončení přenosu souboru" + +#, fuzzy +#~ msgid "Notification color for file transfer errors." +#~ msgstr "_Upozornit mě po dokončení přenosu souboru" + +#, fuzzy +#~ msgid "Notification background color for changed status." +#~ msgstr "Barva pozadí kontaktů, jež se zrovna přihlásili." + +#, fuzzy +#~ msgid "Event Type" +#~ msgstr "Událost" + +#, fuzzy +#~ msgid "Event desc" +#~ msgstr "Událost" + +#, fuzzy +#~ msgid "No response from the Server" +#~ msgstr "Nejste připojen(a) k serveru" + +#~ msgid "Resource Conflict" +#~ msgstr "Konflikt Zdrojů" + +#, fuzzy +#~ msgid "" +#~ "You are already connected to this account with the same resource. Please " +#~ "enter a different one." +#~ msgstr "" +#~ "Už jsi připojen(a) k tomuto účtu se stejným zdrojem. Prosím zadej nový" + +#, fuzzy +#~ msgid "Unable to load image" +#~ msgstr "Nelze nahrát idle modul" + +#, fuzzy +#~ msgid "Media type not supported: %s" +#~ msgstr "Neviditelnost není podporována" + +#~ msgid "This field is required" +#~ msgstr "Toto pole je povinné" + +#~ msgid "new@jabber.id" +#~ msgstr "new@jabber.id" + +#~ msgid "new%d@jabber.id" +#~ msgstr "new%d@jabber.id" + +#, fuzzy +#~ msgid "video output" +#~ msgstr "video výstup" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Gajim: Průvodce vytváření účtu" + +#, fuzzy +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "Potřebujete mít účet pro připojení k síti Jabber." + +#~ msgid "I already have an account I want to _use" +#~ msgstr "Už mám účet který bych rád(a) použil(a)" + +#~ msgid "I want to _register for a new account" +#~ msgstr "Chtěl(a) bych za_registrovat nový účet" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "Prosím zvolte z následujících možností:" + +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "Prosím vyplňte údaje pro Váš nový účet" + +#, fuzzy +#~ msgid "_XMPP Address:" +#~ msgstr "AIM adresa:" + +#~ msgid "Anon_ymous authentication" +#~ msgstr "Anon_ymní autentizace" + +#~ msgid "_Password:" +#~ msgstr "_Heslo:" + +#~ msgid "Save pass_word" +#~ msgstr "Uložit _heslo" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "Pokud bude zaškrtnuto, Gajim si bude pamatovat heslo pro tento účet" + +#~ msgid "Please select a server" +#~ msgstr "Prosím Vyberte server" + +#~ msgid "_Server:" +#~ msgstr "_Server:" + +#~ msgid "Manage..." +#~ msgstr "Spravovat..." + +#~ msgid "_Port:" +#~ msgstr "_Port:" + +#~ msgid "_Advanced" +#~ msgstr "_Rozšířené" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA1 fingerprint of the certificate:\n" +#~ msgstr "" +#~ "Přidat tento certifikát do důvěryhodných.\n" +#~ "SHA1 otisk certifikátu:\n" + +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "Vytváří se účet\n" +#~ "\n" +#~ "Prosím čekejte..." + +#~ msgid "Connect when I press Finish" +#~ msgstr "Připojit když stisknu Dokončit" + +#~ msgid "Set my profile when I connect" +#~ msgstr "Nastavit profil, když se připojuji" + +#~ msgid "_Finish" +#~ msgstr "_Dokončit" + +#, fuzzy +#~ msgid "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." +#~ msgstr "" +#~ "Můžete nastavit rozšířené volby účtu po stisknutí tlačítka Rozšířené, " +#~ "nebo později stisknutím v položce menu Účty v nabídce Úpravy hlavního " +#~ "okna." + +#~ msgid "Your new account has been created successfully" +#~ msgstr "Váš účet byl úspěšně vytvořen" + +#~ msgid "Invalid username" +#~ msgstr "Neplatné uživatelské jméno" + +#~ msgid "You must provide a username to configure this account." +#~ msgstr "Musíte zadat uživatelské jméno před nastavením tohoto účtu." + +#~ msgid "Invalid server" +#~ msgstr "Neplatný server" + +#~ msgid "Please provide a server on which you want to register." +#~ msgstr "Prosím zadejte server u kterého se chcete zaregistrovat." + +#~ msgid "Invalid entry" +#~ msgstr "Neplatný záznam" + +#~ msgid "Certificate Already in File" +#~ msgstr "Certifikát je již v souboru" + +#~ msgid "This certificate is already in file %s, so it's not added again." +#~ msgstr "Tento certifikát je již v souboru %s, takže nebude znova přidán." + +#~ msgid "" +#~ "Security Warning\n" +#~ "\n" +#~ "The authenticity of the %(hostname)s SSL certificate could be invalid.\n" +#~ "SSL Error: %(error)s\n" +#~ "Do you still want to connect to this server?" +#~ msgstr "" +#~ "Bezpečnostní Varování\n" +#~ "\n" +#~ "SSL certifikát pro %(hostname)s nemusí být pravý.\n" +#~ "SSL Chyba: %(error)s\n" +#~ "Přesto se chcete k serveru připojit?" + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA-256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Přidat tento certifikát do důvěryhodných.\n" +#~ "SHA1 otisk certifikátu:\n" +#~ "%s" + +#~ msgid "Account name is in use" +#~ msgstr "Jméno účtu se používá" + +#~ msgid "You already have an account using this name." +#~ msgstr "Již máte účet s tímto jménem." + +#~ msgid "Show a warning dialog before using standard SSL library." +#~ msgstr "Zobrazit varování před použitím standartní SSL knihovny." + +#, fuzzy +#~ msgid "If enabled, a whitespace is sent after inactivity (keep alive)." +#~ msgstr "Při neaktivitě odeslán bílý znak" + +#, fuzzy +#~ msgid "If enabled, an XMPP ping is sent after inactivity (ping alive)." +#~ msgstr "XMPP ping zaslán při neaktivitě" + +#~ msgid "Connection with account \"%s\" has been lost" +#~ msgstr "Spojení s účtem \"%s\" bylo ztraceno" + +#~ msgid "Reconnect manually." +#~ msgstr "Znovu připojit ručně." + +#, fuzzy +#~ msgid "Server %(name)s answered wrongly to register request: %(error)s" +#~ msgstr "Server %s odpověděl chybně na požadavek regisrace: %s" + +#~ msgid "Server %s provided a different registration form" +#~ msgstr "Server %s poskytnul rozdílný registrační formulář" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "Nemůžu se připojit k \"%s\"" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "Nemůžu se připojit k \"%s\"" + +#~ msgid "Check your connection or try again later." +#~ msgstr "Ověřte spojení nebo zkuste později." + +#~ msgid "Server replied: %s" +#~ msgstr "Server odpověděl: %s" + +#~ msgid "Connection to proxy failed" +#~ msgstr "Spojení s proxy selhalo" + +#~ msgid "Could not connect to account %s" +#~ msgstr "Selhalo připojení k účti %s" + +#~ msgid "Connection with account %s has been lost. Retry connecting." +#~ msgstr "Spojení s účtem %s bylo ztraceno. Opět se připojte." + +#~ msgid "Please check your login and password for correctness." +#~ msgstr "Prosím zkontrolujte správnost jména a hesla." + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "" +#~ "HTTP Connect\n" +#~ "SOCKS5\n" +#~ "BOSH" + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "BOSH" +#~ msgstr "_BOSH URL:" + +#~ msgid "Use HTTP prox_y" +#~ msgstr "Použij HTTP prox_y" + +#, fuzzy +#~ msgid "_BOSH URL" +#~ msgstr "_BOSH URL:" + +#, fuzzy +#~ msgid "BOSH" +#~ msgstr "_BOSH URL:" + +#, fuzzy +#~ msgid "Warn on insecure connection" +#~ msgstr "_Varovat před použitím nezabezpečeného spojení" + +#, fuzzy +#~ msgid "Contact list, list of contacts" +#~ msgstr "Zaznamenávat změny _stavu kontaktů" + +#~ msgid "You are participating in one or more group chats" +#~ msgstr "Účinkujete v jedné nebo více diskuzích" + +#, fuzzy +#~ msgid "" +#~ "Changing your status to invisible will result in you leaving those group " +#~ "chats.\n" +#~ "Are you sure you want to go invisible?" +#~ msgstr "" +#~ "Změna vašeho stavu na neviditelný způsobí odpojení od těchto diskuzí. " +#~ "Jste si jistý(á), že se chcete stát neviditelným(ou)?" + +#~ msgid "_Disconnect" +#~ msgstr "_Odpojit" + +#~ msgid "You cannot join a group chat while you are invisible" +#~ msgstr "Nemůžete vstoupit do diskuze, pokud jste neviditelný(á)" + +#~ msgid "Invisible" +#~ msgstr "Neviditelný" + +#, fuzzy +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "Nemůžete vstoupit do diskuze, pokud jste neviditelný(á)" + +#~ msgid "_Invisible" +#~ msgstr "Ne_viditelný" + +#, fuzzy +#~ msgid "Yesterday" +#~ msgid_plural "%(nb_days)i days ago" +#~ msgstr[0] "Včera" +#~ msgstr[1] "před %i dny" +#~ msgstr[2] "před %i dny" + +#, fuzzy +#~ msgid "_Cancel Upload" +#~ msgstr "_Zrušit" + +#~ msgid " [blocked]" +#~ msgstr "[blokováno]" + +#~ msgid " [minimized]" +#~ msgstr "[minimalizováno]" + +#, fuzzy +#~ msgid "" +#~ "If you close this tab while having chat history disabled, this message " +#~ "will be lost." +#~ msgstr "" +#~ "Pokud zavřete toto okno a historie je vypnutá, tato zpráva bude ztracena." + +#, fuzzy +#~ msgid "Unregister Failed" +#~ msgstr "Odregistrace selhala" + +#, fuzzy +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "Zrušení registrace ze serveru %(server)s selhalo: %(error)s" + +#, fuzzy +#~ msgid "New Password" +#~ msgstr "Uložit heslo" + +#~ msgid "What do you want to do?" +#~ msgstr "Co by jste rád(a) dělal(a)?" + +#~ msgid "Remove account from Gajim and from _server" +#~ msgstr "Odstranit účet z Gajimu i ze _serveru" + +#, fuzzy +#~ msgid "You must enter a password" +#~ msgstr "Musíte zadat heslo." + +#, fuzzy +#~ msgid "You still have open chats in your account %s" +#~ msgstr "Otevřel(a) jsi rozhovor z účtu %s" + +#, fuzzy +#~ msgid "To unregister from a server, the account must be enabled." +#~ msgstr "Chcete-li deaktivovat účet, musíte se nejdříve odpojit." + +#, fuzzy +#~ msgid "Password required" +#~ msgstr "Vyžadováno heslo" + +#, fuzzy +#~ msgid "Still connected to the server" +#~ msgstr "Nejste připojen(a) k serveru" + +#, fuzzy +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "Pokud jej smažete, připojení bude ztraceno." + +#, fuzzy +#~ msgid "Connection to server %s failed" +#~ msgstr "Spojení s proxy selhalo" + +#, fuzzy +#~ msgid "What would you like to do?" +#~ msgstr "Co by jste rád(a) dělal(a)?" + +#, fuzzy +#~ msgid "Remove only from Gajim" +#~ msgstr "Odstranit účet _pouze z Gajimu" + +#, fuzzy +#~ msgid "Contents" +#~ msgstr "_Obsah" + +#, fuzzy +#~ msgid "FAQ" +#~ msgstr "_FAQ" + +#~ msgid "Save as Preset Status Message" +#~ msgstr "Uložit jako přednastavený stav" + +#~ msgid "Enter a new nickname for contact %s" +#~ msgstr "Zadej novou přezdívku pro kontakt %s." + +#, fuzzy +#~ msgid "Join a group chat" +#~ msgstr "v _diskuzích" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "Přijmi" + +#~ msgid "New entry received" +#~ msgstr "Přijat nový záznam" + +#~ msgid "You have received new entry:" +#~ msgstr "Dostal(a) jste novou položku: " + +#~ msgid "Feed name:" +#~ msgstr "Jméno kanálu:" + +#~ msgid "Last modified:" +#~ msgstr "Naposledy upraveno:" + +#, fuzzy +#~ msgid "Send file?" +#~ msgstr "Odeslat _Soubor" + +#, fuzzy +#~ msgid "Mail _client" +#~ msgstr "E-_mailový klient:" + +#, fuzzy +#~ msgid "_Browser" +#~ msgstr "_Prohlížeč:" + +#, fuzzy +#~ msgid "_File manager" +#~ msgstr "_Správce souborů:" + +#, fuzzy +#~ msgid "Custom applications" +#~ msgstr "Vždy použít OS/X výchozí aplikace" + +#, fuzzy +#~ msgid "Applications" +#~ msgstr "Aplikace" + +#, fuzzy +#~ msgid "" +#~ "Uses ReStructured text markup to send HTML, plus ASCII formatting if " +#~ "selected. Needs docutils installed (for syntax, see http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Pokud je vybráno, použije ReStructured text markup k odeslání HTML, navíc " +#~ "s ascii formátování. Pro syntaxi navštivte http://docutils.sourceforge." +#~ "net/docs/ref/rst/restructuredtext.html (Pokud si to chcete prohlédnout, " +#~ "nainstalujte docutils)" + +#, fuzzy +#~ msgid "_Ignore formatting of incoming messages" +#~ msgstr "_Ignoruj formátování v příchozích zprávách" + +#, fuzzy +#~ msgid "" +#~ "Some messages may include rich content (xhtml formatting, colors etc). If " +#~ "checked, Gajim will just display the plain message text." +#~ msgstr "" +#~ "Některé zprávy mohou obsahovat formátování (odsazení, barvy aj.). Pokud " +#~ "je zaškrtnuto, Gajim zobrazí pouze čistý text." + +#, fuzzy +#~ msgid "RST XHTML Generator" +#~ msgstr "RST Generátor" + +#, fuzzy +#~ msgid "Requires: python-docutils" +#~ msgstr "Je potřeba python-docutils." + +#~ msgid "New Single Message" +#~ msgstr "Nová jednoduché zpráva" + +#, fuzzy +#~ msgid "" +#~ "Can be empty, 'chat' or 'normal'. If not empty, all incoming messages are " +#~ "treated as if they were of this type." +#~ msgstr "" +#~ "Může být prázdný, 'chat' nebo 'message'. Není-lí prázdné, považuj všechny " +#~ "příchozí zprávy jako uvedený typ" + +#~ msgid "Error %(code)s: %(msg)s" +#~ msgstr "Chyba %(code)s: %(msg)s" + +#~ msgid "twelve" +#~ msgstr "dvanáct" + +#~ msgid "one" +#~ msgstr "jeden" + +#~ msgid "two" +#~ msgstr "dva" + +#~ msgid "three" +#~ msgstr "tři" + +#~ msgid "four" +#~ msgstr "čtyři" + +#~ msgid "five" +#~ msgstr "pět" + +#~ msgid "six" +#~ msgstr "šest" + +#~ msgid "seven" +#~ msgstr "sedm" + +#~ msgid "eight" +#~ msgstr "osm" + +#~ msgid "nine" +#~ msgstr "devět" + +#~ msgid "ten" +#~ msgstr "deset" + +#~ msgid "eleven" +#~ msgstr "jedenáct" + +#~ msgid "%(0)s o'clock" +#~ msgstr "%(0)s hodin" + +#~ msgid "five past %(0)s" +#~ msgstr "pět po %(0)s" + +#~ msgid "ten past %(0)s" +#~ msgstr "deset po %(0)s" + +#~ msgid "quarter past %(0)s" +#~ msgstr "čtvrt po %(0)s" + +#~ msgid "twenty past %(0)s" +#~ msgstr "dvacet po %(0)s" + +#~ msgid "twenty five past %(0)s" +#~ msgstr "dvacet pět po %(0)s" + +#~ msgid "half past %(0)s" +#~ msgstr "půl %(0)s" + +#~ msgid "twenty five to %(1)s" +#~ msgstr "dvacet pět do %(1)s" + +#~ msgid "twenty to %(1)s" +#~ msgstr "dvacet do %(1)s" + +#~ msgid "quarter to %(1)s" +#~ msgstr "tři čtvrtě na %(1)s" + +#~ msgid "ten to %(1)s" +#~ msgstr "za deset %(1)s" + +#~ msgid "five to %(1)s" +#~ msgstr "za pět %(1)s" + +#~ msgid "%(1)s o'clock" +#~ msgstr "%(1)s hodin" + +#~ msgid "Night" +#~ msgstr "Noc" + +#~ msgid "Early morning" +#~ msgstr "Brzy ráno" + +#~ msgid "Morning" +#~ msgstr "Ráno" + +#~ msgid "Almost noon" +#~ msgstr "Skoro poledne" + +#~ msgid "Noon" +#~ msgstr "Poledne" + +#~ msgid "Afternoon" +#~ msgstr "Odpoledne" + +#~ msgid "Evening" +#~ msgstr "Večer" + +#~ msgid "Late evening" +#~ msgstr "Pozdě večer" + +#~ msgid "Start of week" +#~ msgstr "Začátek týdne" + +#~ msgid "Middle of week" +#~ msgstr "Uprostřed týdne" + +#~ msgid "End of week" +#~ msgstr "Konec týdne" + +#~ msgid "Weekend!" +#~ msgstr "Víkend!" + +#, fuzzy +#~ msgid "" +#~ "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or " +#~ "0 to disable Fuzzy Clock. 1 is the most precise clock, 4 the least " +#~ "precise one. This is used only if 'print_time' is 'sometimes'." +#~ msgstr "" +#~ "Vypiš čas v rozhovorech s použitím Fuzzy Clock. Hodnota náhodnosti je od " +#~ "1 to 4, nebo 0 pro vypnutí Fuzzy Clock. 1 je nejpřesnější čas, 4 nejméně " +#~ "přesný. Toto se použije jenom při print_time nastaveném na 'někdy'." + +#~ msgid "message" +#~ msgstr "zpráva" + +#, fuzzy +#~ msgid "error: %s" +#~ msgstr "Chyba: %s" + +#, fuzzy +#~ msgid "Form: %s" +#~ msgstr "Od %s" + +#, fuzzy +#~ msgid "XML Input" +#~ msgstr "Vstup XML" + +#, fuzzy +#~ msgid "Ttitle" +#~ msgstr "Titul:" + +#, fuzzy +#~ msgid "%(type)s encryption is active %(authenticated)s" +#~ msgstr "" +#~ "Šifrování %(type)s %(status)s aktivní %(authenticated)s.\n" +#~ "Váš rozhovor %(logged)s zaznamenáván." + +#, fuzzy +#~ msgid "Screen" +#~ msgstr "zelený" + +#, fuzzy +#~ msgid "Fake video output" +#~ msgstr "video výstup" + +#, fuzzy +#~ msgid "V_ideo output device" +#~ msgstr "Video výstupní zařízení" + +#~ msgid "Conversation with " +#~ msgstr "Rozhovor s" + +#~ msgid "Continued conversation" +#~ msgstr "Pokračování v rozhovoru" + +#, fuzzy +#~ msgid "%s has invited you to join a discussion" +#~ msgstr "$Contact Vás pozval(a) do místnosti %(room_jid)s" + +#~ msgid "_Send Private Message" +#~ msgstr "_Odeslat soukromou zprávu" + +#, fuzzy +#~ msgid "Participant Actions" +#~ msgstr "Účastníci" + +#~ msgid "_Voice" +#~ msgstr "_Hlas" + +#~ msgid "Mo_derator" +#~ msgstr "Mo_derátor" + +#~ msgid "_Member" +#~ msgstr "Č_len" + +#~ msgid "_Admin" +#~ msgstr "_Správce" + +#~ msgid "_Owner" +#~ msgstr "_Vlastník" + +#, fuzzy +#~ msgid "_Add to Contact List" +#~ msgstr "Přid_at kontakt..." + +#, fuzzy +#~ msgid "_Execute command" +#~ msgstr "Spustit _příkaz..." + +#~ msgid "Change _Nickname..." +#~ msgstr "Změ_nit přezdívku" + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "_Nová diskuze" + +#~ msgid "Change _Subject..." +#~ msgstr "Změnit _předmět" + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "Vstoupit do _Diskuze" + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "_Nová diskuze" + +#~ msgid "_Minimize on close" +#~ msgstr "_Minimalizovat při zavření" + +#, fuzzy +#~ msgid "_Request Voice" +#~ msgstr "_Hlas" + +#~ msgid "_Bookmark" +#~ msgstr "_Záložky" + +#, fuzzy +#~ msgid "The authenticity of the %s certificate could be invalid" +#~ msgstr "Autentizace certifikátu %s je neplatná." + +#~ msgid "" +#~ "\n" +#~ "Unknown SSL error: %d" +#~ msgstr "" +#~ "\n" +#~ "Neznámá SSL chyba: %d" + +#~ msgid "" +#~ "\n" +#~ "SSL Error: %s" +#~ msgstr "" +#~ "\n" +#~ "SSL Error: %s" + +#~ msgid "Error verifying SSL certificate" +#~ msgstr "Chyba ověřování SSL certifikátu" + +#, fuzzy +#~ msgid "View certificate…" +#~ msgstr "Sám sebou podepsaný certifikát" + +#, fuzzy +#~ msgid "Continue" +#~ msgstr "_Pokračovat" + +#~ msgid "" +#~ "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM " +#~ "IS RUNNING)" +#~ msgstr "Chcete pročistit databázi? (VELICE NEDOPORUČUJEME POKUD GAJIM BĚŽÍ)" + +#, fuzzy +#~ msgid "Authorization" +#~ msgstr "Autorizace byla odeslána" + +#, fuzzy +#~ msgid "" +#~ "All chat and group chat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Všechna okna rozhovorů a diskuzí budou zavřena. Opravdu chceš pokračovat?" + +#, fuzzy +#~ msgid "Account '%s' is still connected to the server" +#~ msgstr "Účet \"%s\" se připojil k serveru" + +#, fuzzy +#~ msgid "Error While Saving" +#~ msgstr "Chyba při přidávání služby. %s" + +#, fuzzy +#~ msgid "" +#~ "Image cannot be saved in %(type)s format.\n" +#~ "Save as %(new_filename)s?" +#~ msgstr "" +#~ "Obrázek nelze uložit ve formátu %(type)s. Uložit jako %(new_filename)s?" + +#, fuzzy +#~ msgid "Save _As" +#~ msgstr "Má" + +#~ msgid "Yes, I really want to connect insecurely" +#~ msgstr "Ano, chci se připojit nezabezpečeně" + +#, fuzzy +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "Neplatné Jabber ID diskuzní místnosti" + +#, fuzzy +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "Jabber ID diskuze obsahuje nepřijatelné znaky." + +#~ msgid "You may specify a reason below:" +#~ msgstr "Můžete uvést důvod níže:" + +#~ msgid "Banning %s" +#~ msgstr "Zakazuji %s" + +#, fuzzy +#~ msgid "" +#~ "Always ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Vždy se ptát před zavřením oken/panelů diskuzí uvedených v tomto seznamu " +#~ "mezerami oddělením Jabber ID místností." + +#, fuzzy +#~ msgid "" +#~ "Never ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Nikdy se neptát před zavřením oken/záložek diskuzí uvedených v tomto " +#~ "seznamu mezerami oddělenými Jabber ID místností." + +#, fuzzy +#~ msgid "Leave Group Chats" +#~ msgstr "Opustit diskuzi" + +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "%(nickname)s v %(room_jid)s" + +#, fuzzy +#~ msgid "You have not joined a group chat." +#~ msgstr "Nepřipojil jsi se k diskuzi." + +#, fuzzy +#~ msgid "You left the following group chats:" +#~ msgstr "Opustil(a) jste následující diskuze:" + +#~ msgid "Don't show avatar for the transport itself." +#~ msgstr "Nezobrazuj avatara pro transport samotný." + +#, fuzzy +#~ msgid "" +#~ "Show a confirmation dialog for a custom status? Empty string means never " +#~ "show the dialog." +#~ msgstr "" +#~ "Mám zobrazit dialog vlastního stavu nebo ne? Prázdný řetezec znamená " +#~ "nikdy nezobrazovat dialog." + +#, fuzzy +#~ msgid "" +#~ "If enabled, notification windows from notification-daemon will be " +#~ "attached to the notification area icon." +#~ msgstr "" +#~ "Je-li povoleno, Upozorňovací démon přidá upozornění do systémové lišty." + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending PLAIN password over a plain " +#~ "connection." +#~ msgstr "Zobrazit varování před odesláním hesla přes nezabezpečené spojení." + +#, fuzzy +#~ msgid "Jabberd2 workaround." +#~ msgstr "Jabberd2 workaround" + +#, fuzzy +#~ msgid "Configure Services…" +#~ msgstr "_Nastavit služby..." + +#, fuzzy +#~ msgid "Group Chat Bookmarks" +#~ msgstr "_Diskuze" + +#, fuzzy +#~ msgid "Add Bookmark" +#~ msgstr "_Záložky" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "_Záložky" + +#, fuzzy +#~ msgid "_Server" +#~ msgstr "_Server:" + +#, fuzzy +#~ msgid "_Password" +#~ msgstr "_Heslo:" + +#, fuzzy +#~ msgid "Join chat when connected" +#~ msgstr "Kontakt se odpojil" + +#~ msgid "New Group Chat" +#~ msgstr "Nová diskuze" + +#~ msgid "This bookmark has invalid data" +#~ msgstr "Tato záložka má neplatná data" + +#, fuzzy +#~ msgid "" +#~ "Please be sure to fill out server and group chat fields or remove this " +#~ "bookmark." +#~ msgstr "" +#~ "Prosím nezapomeňte vyplnit políčka server a místnost, nebo smažte tuto " +#~ "záložku." + +#~ msgid "Character not allowed" +#~ msgstr "Znak nebyl povolen" + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "Neplatné Jabber ID diskuzní místnosti" + +#~ msgid "Unable to join group chat" +#~ msgstr "Nelze se připojit se do diskuze" + +#, fuzzy +#~ msgid "You are banned from group chat %s." +#~ msgstr "Máš zakázán přístup do diskuze %s." + +#, fuzzy +#~ msgid "Remote server %s does not exist." +#~ msgstr "Diskuze %s neexistuje." + +#, fuzzy +#~ msgid "Group chat %s does not exist." +#~ msgstr "Diskuze %s neexistuje." + +#, fuzzy +#~ msgid "Group chat creation is not permitted." +#~ msgstr "Vytváření místností není povoleno." + +#, fuzzy +#~ msgid "You must use your registered nickname in %s." +#~ msgstr "Musí být použita přezdívka, jež máte zaregistrovánu v diskuzi %s." + +#, fuzzy +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "Nejsi v seznamu členů diskuze %s." + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "Tohle není diskuze" + +#~ msgid "This is not a group chat" +#~ msgstr "Tohle není diskuze" + +#, fuzzy +#~ msgid "Please choose a group chat" +#~ msgstr "Vytvořte vaše nové téma." + +#~ msgid "Invalid Nickname" +#~ msgstr "Neplatné uživatelské jméno" + +#, fuzzy +#~ msgid "Wrong server" +#~ msgstr "Nesprávné uri" + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "Tohle není diskuze" + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit." +#~ msgstr "Kolik řádek požadovat od serveru při připojení k diskuzi." + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit." +#~ msgstr "Kolik minut zpátky do historie při připojení k diskuzi." + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit, -2 means global value." +#~ msgstr "Kolik řádek požadovat od serveru při připojení k diskuzi." + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit, -2 means global value." +#~ msgstr "Kolik minut zpátky do historie při připojení k diskuzi." + +#, fuzzy +#~ msgid "A Password is required to join the group chat %s. Please type it." +#~ msgstr "Pro připojení do místnosti %s je vyžadováno heslo. Zadejte, prosím." + +#~ msgid "Not in Roster" +#~ msgstr "Není v Rosteru" + +#~ msgid "I would like to add you to my roster" +#~ msgstr "Rád bych si Vás přidal(a) do svého seznamu" + +#, fuzzy +#~ msgid "Add to Roster" +#~ msgstr "Přid_at do Seznamu" + +#, fuzzy +#~ msgid "Audio Session" +#~ msgstr "Audio / Video" + +#, fuzzy +#~ msgid "Manage Room" +#~ msgstr "Spravuj Místnost" + +#, fuzzy +#~ msgid "Configure Room" +#~ msgstr "Nastavit _místnost" + +#, fuzzy +#~ msgid "Destroy Room" +#~ msgstr "_Zničit místnost" + +#, fuzzy +#~ msgid "Change Nick" +#~ msgstr "Změ_nit přezdívku" + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "_Odpojit" + +#, fuzzy +#~ msgid "Copy JID" +#~ msgstr "JID Místnosti" + +#, fuzzy +#~ msgid "Add to Roster…" +#~ msgstr "Přid_at do Seznamu" + +#, fuzzy +#~ msgid "Copy JID/Email" +#~ msgstr "_Kopírovat JID/Emailovou adresu" + +#, fuzzy +#~ msgid "JID: %s" +#~ msgstr "Jabber ID: %s" + +#~ msgid "Changing Subject" +#~ msgstr "Měním Téma" + +#~ msgid "Please specify the new subject:" +#~ msgstr "Prosím zadejte nové téma:" + +#~ msgid "Room logging is now enabled" +#~ msgstr "Zaznamenávání historie je zapnuto" + +#~ msgid "Room logging is now disabled" +#~ msgstr "Zaznamenávání historie je vypnuto" + +#, fuzzy +#~ msgid "You (%s) joined the room" +#~ msgstr "%s vstoupil do místnosti" + +#~ msgid "Room logging is enabled" +#~ msgstr "Zaznamenávání historie je povoleno" + +#, fuzzy +#~ msgid "Unable to join groupchat" +#~ msgstr "Nelze se připojit se do diskuze" + +#~ msgid "Groupchat Invitation" +#~ msgstr "Skupinová pozvánka" + +#, fuzzy +#~ msgid "%(jid)s has been invited in this room" +#~ msgstr "%(nick)s byli vyhozeni z místnosti: %(reason)s" + +#, fuzzy +#~ msgid "JID is not a Groupchat" +#~ msgstr "Tohle není diskuze" + +#~ msgid "Invalid JID" +#~ msgstr "Neplatné JID" + +#~ msgid "A connection is not available" +#~ msgstr "Spojení není dostupné" + +#, fuzzy +#~ msgid "JID already in list" +#~ msgstr "Jabber ID je již na seznamu" + +#, fuzzy +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "Spojení není dostupné" + +#~ msgid "Removes contact from roster" +#~ msgstr "Odstraní kontakt ze Seznamu" + +#~ msgid "Not in roster" +#~ msgstr "Není v rosteru" + +#, fuzzy +#~ msgid "Contact signed in notification color." +#~ msgstr "_Zobrazit událost v rosteru" + +#, fuzzy +#~ msgid "Contact signout notification color" +#~ msgstr "_Zobrazit událost v rosteru" + +#, fuzzy +#~ msgid "File transfer request notification color." +#~ msgstr "Požadavek přenosu souboru" + +#, fuzzy +#~ msgid "File transfer error notification color." +#~ msgstr "Přenos souboru zrušen" + +#, fuzzy +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "Zobraz upozornění, až bude přenos souboru dokončen" + +#, fuzzy +#~ msgid "Groupchat invitation notification color" +#~ msgstr "Skupinová pozvánka" + +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "Přidat * a [n] k titulku Seznamu?" + +#~ msgid "Hides the banner in two persons chat window" +#~ msgstr "Skryje nadpis v okně rozhovoru dvou lidí" + +#, fuzzy +#~ msgid "" +#~ "Show the confirm metacontacts creation dialog or not? Empty string means " +#~ "never show the dialog." +#~ msgstr "" +#~ "Mám zobrazit dialog vytvoření metakontaktu nebo ne? Prázdný řetezec " +#~ "znamená nikdy nezobrazovat dialog." + +#~ msgid "Space separated list of ssl errors to ignore." +#~ msgstr "Mezerami oddělovaný seznam ssl chyb, které se mají ignorovat." + +#~ msgid "Answer to receipt requests" +#~ msgstr "Odpověď na doručení žádosti" + +#, fuzzy +#~ msgid "Language for which misspelled words will be checked" +#~ msgstr "Jazyk, pro který chcete kontrolovat překlepy ve slovech" + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "Právě jím, prosím zanechte mi zprávu." + +#, fuzzy +#~ msgid "from room %s" +#~ msgstr "z místností %s" + +#~ msgid "Leave Groupchats" +#~ msgstr "Opustit diskuzi" + +#, fuzzy +#~ msgid "Auto Join" +#~ msgstr "Automaticky vstoupit" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "Místnost:" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#~ msgid "Occupant Actions" +#~ msgstr "_Akce účastníků" + +#~ msgid "_Add to Roster" +#~ msgstr "Přid_at do Seznamu" + +#~ msgid "_Manage Room" +#~ msgstr "Spravuj Místnost" + +#~ msgid "Configure _Room..." +#~ msgstr "Nastavit _místnost" + +#~ msgid "_Destroy Room" +#~ msgstr "_Zničit místnost" + +#~ msgid "Jabber ID" +#~ msgstr "Jabber ID" + +#, fuzzy +#~ msgid "account" +#~ msgstr "Účet" + +#, fuzzy +#~ msgid "Roster" +#~ msgstr "Zobrazit _Seznam" + +#, fuzzy +#~ msgid "Show only in roster" +#~ msgstr "_Zobrazit událost v rosteru" + +#~ msgid "in _roster" +#~ msgstr "v _rosteru" + +#, fuzzy +#~ msgid "Roster Appearance" +#~ msgstr "Vzhled Rosteru" + +#~ msgid "_Add to Roster..." +#~ msgstr "Přid_at do Seznamu" + +#~ msgid "_Jabber ID:" +#~ msgstr "_Jabber ID:" + +#, fuzzy +#~ msgid "_Jabber ID" +#~ msgstr "_Jabber ID:" + +#~ msgid "JabberID" +#~ msgstr "Jabber ID" + +#, fuzzy +#~ msgid "Show Roster" +#~ msgstr "Zobrazit _Seznam" + +#~ msgid "MUC server" +#~ msgstr "MUC server" + +#~ msgid "Room Configuration" +#~ msgstr "Nastavení místnosti" + +#~ msgid "Join _Group Chat" +#~ msgstr "Vstoupit do _Diskuze" + +#~ msgid "Toggle audio session" +#~ msgstr "Přepnout audio" + +#, fuzzy +#~ msgid "Audio sessions are not available" +#~ msgstr "Spojení není dostupné" + +#~ msgid "Conference" +#~ msgstr "Diskuze" + +#, fuzzy +#~ msgid "_Manage Bookmarks…" +#~ msgstr "Spravovat záložky" + +#, fuzzy +#~ msgid "Hide _Roster" +#~ msgstr "v _rosteru" + +#~ msgid "Show _Roster" +#~ msgstr "Zobrazit _Seznam" + +#, fuzzy +#~ msgid "Invalid Room" +#~ msgstr "Neplatná místnost" + +#~ msgid "Invalid room" +#~ msgstr "Neplatná místnost" + +#~ msgid "A GTK+ Jabber client" +#~ msgstr "GTK+ Jabber klient" + +#~ msgid "Changing Nickname" +#~ msgstr "Měním přezdívku" + +#~ msgid "Please specify the new nickname you want to use:" +#~ msgstr "Prosím zadejte novou přezdívku, kterou chcete používat:" + +#~ msgid "Bookmark already set" +#~ msgstr "Záložka je už nastavena" + +#, fuzzy +#~ msgid "Group Chat '%s' is already in your bookmarks." +#~ msgstr "Diskuze \"%s\" už je ve Vašich záložkách." + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "Záložka byla úspěšně přidána" + +#, fuzzy +#~ msgid "" +#~ "You can manage your bookmarks by clicking the Bookmarks menu item in your " +#~ "contact list." +#~ msgstr "Můžete spravovat Vaše záložky přes menu Akce ve vašem Seznamu." + +#, fuzzy +#~ msgid "The nickname contains invalid characters." +#~ msgstr "Jabber ID diskuze obsahuje nepřijatelné znaky." + +#, fuzzy +#~ msgid "Bookmark Room" +#~ msgstr "Přidat tuto místnost do záložek" + +#~ msgid "_Join New Group Chat" +#~ msgstr "_Připojit se do diskuze" + +#~ msgid "Name:" +#~ msgstr "Jméno:" + +#, fuzzy +#~ msgid "Description:" +#~ msgstr "Popis:" + +#, fuzzy +#~ msgid "Address:" +#~ msgstr "_Adresa:" + +#, fuzzy +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "Nemůžete vstoupit do diskuze pokud nejste připojen(a)." + +#, fuzzy +#~ msgid "Occupants" +#~ msgstr "_Akce účastníků" + +#~ msgid "_Modify Account..." +#~ msgstr "Upravit úč_et..." + +#~ msgid "Boolean" +#~ msgstr "Boolean" + +#~ msgid "Integer" +#~ msgstr "Číslo" + +#~ msgid "Text" +#~ msgstr "Text" + +#~ msgid "Value" +#~ msgstr "Hodnota" + +#~ msgid "(None)" +#~ msgstr "(Žádný)" + +#~ msgid "Hidden" +#~ msgstr "Skryté" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "Spravovat profily Proxy" + +#, fuzzy +#~ msgid "Properties" +#~ msgstr "Vlastnosti" + +#, fuzzy +#~ msgid "Proxy _Port" +#~ msgstr "_Port Proxy:" + +#, fuzzy +#~ msgid "New Groupchat" +#~ msgstr "Nová diskuze" + +#, fuzzy +#~ msgid "New Contact" +#~ msgstr "Přidat nový kontakt" + +#~ msgid "%s GiB" +#~ msgstr "%s GiB" + +#~ msgid "%s GB" +#~ msgstr "%s GB" + +#~ msgid "%s MiB" +#~ msgstr "%s MiB" + +#~ msgid "%s MB" +#~ msgstr "%s MB" + +#~ msgid "%s KiB" +#~ msgstr "%s KiB" + +#~ msgid "%s KB" +#~ msgstr "%s KB" + +#~ msgid "%s B" +#~ msgstr "%s B" + +#, fuzzy +#~ msgid "%s MiB/s" +#~ msgstr "%s MiB" + +#, fuzzy +#~ msgid "File transfer" +#~ msgstr "Přenosy souborů" + +#, fuzzy +#~ msgid "Open _Containing Folder" +#~ msgstr "_Otevřít obsahující složku" + +#, fuzzy +#~ msgid "Default:" +#~ msgstr "Výchozí" + +#~ msgid "Really quit Gajim?" +#~ msgstr "Opravdu ukončit Gajim?" + +#~ msgid "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" +#~ msgstr "" +#~ "Už více nebudete moci posílat ani přijímat zprávy od kontaktů z těchto " +#~ "transportů:%s" + +#~ msgid "Contact \"%s\" will be removed from your roster" +#~ msgstr "Kontakt \"%s\" bude smazán z Vašeho rosteru" + +#, fuzzy +#~ msgid "" +#~ "By removing this contact you also by default remove authorization " +#~ "resulting in them always seeing you as offline." +#~ msgstr "" +#~ "Smazáním kontaktu také zrušíte autorizaci. Kontakt Vás tak vždy uvidí " +#~ "jako odpojeného." + +#~ msgid "Contacts will be removed from your roster" +#~ msgstr "Kontakty budou smazány z Vašeho rosteru" + +#~ msgid "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorization resulting in them always seeing you as " +#~ "offline." +#~ msgstr "" +#~ "Smazáním těchto kontaktů:%s\n" +#~ "také zrušíte autorizaci. Kontakty Vás tak vždy uvidí jako odpojeného." + +#, fuzzy +#~ msgid "Con_tinue" +#~ msgstr "_Pokračovat" + +#~ msgid "_Pause" +#~ msgstr "_Pauza" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "Odstranit přenos souboru ze výpisu." + +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "" +#~ "Tato akce smaže jeden přenos souboru z výpisu. Pokud je přenos aktivní, " +#~ "bude nejdříve zastaven a potom smazán" + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "Zruší vybraný přenos souboru" + +#, fuzzy +#~ msgid "Hide the window" +#~ msgstr "Skryje okno" + +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "Zobraz upozornění, až bude přenos souboru dokončen" + +#~ msgid "From:" +#~ msgstr "Odesílatel:" + +#~ msgid "Subject:" +#~ msgstr "Předmět:" + +# #: ../src/filetransfers_window.py:309 +# #, python-format +# msgid "Description: %s" +# msgstr "Popis: %s" +#~ msgid "%s wants to send you a file:" +#~ msgstr "%s Vám chce poslat soubor:" + +#~ msgid "Name: " +#~ msgstr "Jméno: " + +#~ msgid "Pause" +#~ msgstr "Pauza" + +#, fuzzy +#~ msgid "Execute Command" +#~ msgstr "Spustit _příkaz..." + +#~ msgid "Type: " +#~ msgstr "Typ: " + +#~ msgid "Transferred: " +#~ msgstr "Přeneseno: " + +#~ msgid "Completed" +#~ msgstr "Dokončeno" + +#~ msgid "Stalled" +#~ msgstr "Stagnuje" + +#~ msgid "Transferring" +#~ msgstr "Přenáším" + +#~ msgid "Not started" +#~ msgstr "Nespuštěno" + +#, fuzzy +#~ msgid "%s day" +#~ msgid_plural "%s days" +#~ msgstr[0] "před %i dny" +#~ msgstr[1] "před %i dny" +#~ msgstr[2] "před %i dny" + +#~ msgid "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Všechna okna rozhovorů a diskuzí budou zavřena. Opravdu chceš pokračovat?" + +#, fuzzy +#~ msgid "" +#~ "Your desired nickname in group chat\n" +#~ "%s\n" +#~ "is in use or registered by another occupant.\n" +#~ "Please specify another nickname below:" +#~ msgstr "" +#~ "Tebou požadované přezdívka se již používá v diskuzi %s nebo je " +#~ "zaregistrována někým jiným.\n" +#~ "Níže vyber jinou přezdívku:" + +#~ msgid "_Configure" +#~ msgstr "_Nastavit" + +#, fuzzy +#~ msgid "Change the avatar" +#~ msgstr "Změnit stav" + +#, fuzzy +#~ msgid "" +#~ "Account in which the avatar will be set; if not specified, the avatar " +#~ "will be set for all accounts" +#~ msgstr "" +#~ "Účet, ze kterého bude xml odesláno; pokud nebude uvedeno, xml bude " +#~ "odeslání ze všech účtů" + +#~ msgid "add" +#~ msgstr "přidat" + +#~ msgid "modify" +#~ msgstr "upravit" + +#~ msgid "remove" +#~ msgstr "odebrat" + +#, fuzzy +#~ msgid "" +#~ "If true, restored messages will use a smaller font than the default one." +#~ msgstr "" +#~ "Pokud je povoleno, minulé zprávy budou vypsány menším písmem, než je " +#~ "výchozí." + +#, fuzzy +#~ msgid "Restored Message Color" +#~ msgstr "_Vrátit k výchozím barvám" + +#, fuzzy +#~ msgid "" +#~ "You are going to remove this room permanently.\n" +#~ "You may specify a reason below:" +#~ msgstr "" +#~ "Místnost bude s konečnou platností zničena.\n" +#~ "Můžete specifikovat důvod zničení:" + +#~ msgid "Send Cus_tom Status" +#~ msgstr "Poslat vlastní stav" + +#, fuzzy +#~ msgid "" +#~ "You are about to send a custom status. Are you sure you want to continue?" +#~ msgstr "Chystáte se poslat vlastní stav. Určitě chcete pokračovat?" + +#, fuzzy +#~ msgid "" +#~ "This contact will temporarily see you as %(status)s, but only until you " +#~ "change your status. Then they will see your global status." +#~ msgstr "" +#~ "Tento kontakt váš dočasně uvidí jako %(status)s, ale pouze do první změny " +#~ "vašeho stavu. Poté uvidí váš globální stav." + +#, fuzzy +#~ msgid "" +#~ msgstr "Předmět" + +#~ msgid "#" +#~ msgstr "č." + +#~ msgid "You are about to block a contact. Are you sure you want to continue?" +#~ msgstr "Chystáte se zablokovat kontakt. Určitě chcete pokračovat?" + +#~ msgid "To:" +#~ msgstr "Příjemce:" + +#~ msgid "0" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Reconnect when connection is lost" +#~ msgstr "Automaticky se znovu připojit při ztrátě spojení" + +#, fuzzy +#~ msgid "Server Message Archive" +#~ msgstr "Ode_slat zprávu serveru" + +#, fuzzy +#~ msgid "Message Carbons" +#~ msgstr "Zprávy" + +#~ msgid "" +#~ "Sent chat state notifications. Can be one of all, composing_only, " +#~ "disabled." +#~ msgstr "" +#~ "Odešílat události stavu rozhovoru. Může být pouze jediná, composing_only, " +#~ "vypnutá." + +#, fuzzy +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "Povolit odeslání informace o _OS" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the idle time of your system" +#~ msgstr "" +#~ "Pokud je zaškrtnuto, Gajim se připojí do této místnosti při spuštění" + +#, fuzzy +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "Povolit odeslání informace o _OS" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the local time on your system" +#~ msgstr "" +#~ "Pokud je zaškrtnuto, Gajim se připojí do této místnosti při spuštění" + +#, fuzzy +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "Povolit odeslání informace o _OS" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the operating system you are " +#~ "using" +#~ msgstr "" +#~ "Pokud je zaškrtnuto, Gajim se připojí do této místnosti při spuštění" + +#, fuzzy +#~ msgid "" +#~ "If checked, incoming events from unauthorized contacts will be ignored. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster." +#~ msgstr "" +#~ "Zaškrtněte pouze pokud Vás obtěžuje někdo, koho nemáte v rosteru. " +#~ "Použijte s rozvahou, protože tato volba zakáže všechny zprávy od " +#~ "kontaktů, které ještě nemáte v rosteru" + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." +#~ msgstr "" +#~ "Gajim umí ohlašovat svoji schopnost posílat a přijímat meta-informace " +#~ "vztahující se k rozhovoru. Tady můžete nastavit, které stavy rozhovoru " +#~ "chcete posílat svému protějšku." + +#, fuzzy +#~ msgid "S_end chat state notifications" +#~ msgstr "Zobrazovat _události stavu rozhovoru:" + +#, fuzzy +#~ msgid "Login Options" +#~ msgstr "_Smajlíky:" + +#~ msgid "Please wait while retrieving search form..." +#~ msgstr "Prosím vyčkejte než stáhnu seznam příkazů..." + +#~ msgid "_Add contact" +#~ msgstr "Přidat _kontakt" + +#~ msgid "Ad-hoc Commands - Gajim" +#~ msgstr "Ad-hoc příkazy - Gajim" + +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "Prosím vyčkejte než stáhnu seznam příkazů..." + +#~ msgid "Choose command to execute:" +#~ msgstr "Vyber příkaz k provedení:" + +#~ msgid "Check once more" +#~ msgstr "Zkontroluj ještě jednou" + +#, fuzzy +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "Prosím vyčkejte než bude příkaz odeslán..." + +#~ msgid "This jabber entity does not expose any commands." +#~ msgstr "Tento kontakt neobsahuje žádné příkazy." + +#, fuzzy +#~ msgid "F_inish" +#~ msgstr "_Dokončit" + +# FIXME: hmm kdovi co to je.. +#~ msgid "Waiting for results" +#~ msgstr "Čekání na výsledky" + +#~ msgid "Error in received dataform" +#~ msgstr "Chyba v příchozím datagramu" + +#~ msgid "No result" +#~ msgstr "Žádný výsledek" + +#~ msgid "Failed to get secret keys" +#~ msgstr "Selhalo získání privátního klíče" + +#~ msgid "There is no OpenPGP secret key available." +#~ msgstr "Není dostupný tajný klíč OpenPGP." + +#~ msgid "OpenPGP Key Selection" +#~ msgstr "Výběr OpenPGP klíče" + +#~ msgid "Choose your OpenPGP key" +#~ msgstr "Vyberte Váš OpenPGP klíč" + +#~ msgid "KeyID" +#~ msgstr "ID klíče" + +#~ msgid "Contact name" +#~ msgstr "Jméno kontaktu" + +#, fuzzy +#~ msgid "OpenPGP is not usable" +#~ msgstr "GPG je nepoužitelné" + +#~ msgid "Assign OpenPGP Key" +#~ msgstr "Přiřadit OpenPGP klíč" + +#~ msgid "Select a key to apply to the contact" +#~ msgstr "Vybrat klíč k použítí s kontaktem" + +#, fuzzy +#~ msgid "" +#~ "You configured Gajim to use OpenPGP agent, but there is no OpenPGP agent " +#~ "running or it returned a wrong passphrase.\n" +#~ msgstr "" +#~ "Nastavily jste Gajim aby používal GPG agenta, ale žádný GPG agent není " +#~ "spuštěný nebo vrátil chybné heslo.\n" + +#~ msgid "You are currently connected without your OpenPGP key." +#~ msgstr "Momentálně jste připojen(a) bez vašeho OpenPGP klíče." + +#, fuzzy +#~ msgid "Wrong passphrase" +#~ msgstr "Nesprávné heslo" + +#, fuzzy +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "Nesprávné heslo" + +#~ msgid "Passphrase Required" +#~ msgstr "Heslo Vyžadováno" + +#, fuzzy +#~ msgid "" +#~ "Enter OpenPGP key passphrase for key %(keyid)s (account %(account)s)." +#~ msgstr "Zadej heslo GPG klíče pro účet %(keyid)s (účet %(account)s)." + +#, fuzzy +#~ msgid "OpenPGP key expired" +#~ msgstr "GPG klíč vypršel" + +#, fuzzy +#~ msgid "" +#~ "Your OpenPGP key has expired, you will be connected to %s without OpenPGP." +#~ msgstr "Váš GPG klíč vypršel, k %s budete připojen(a) bez OpenPGP." + +#~ msgid "Wrong Passphrase" +#~ msgstr "Nesprávné heslo" + +#, fuzzy +#~ msgid "Please retype your OpenPGP passphrase or press Cancel." +#~ msgstr "Prosím zopakujte Vaše heslo pro GPG klíč, nebo stiskněte Zrušit." + +#~ msgid "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Poslat nový rozhovor kontaktu v Seznamu. Obojí OpenPGP klíč a účet jsou " +#~ "volitelné. Pokud chcete nastavit pouze 'account' bez 'OpenPGP key', " +#~ "nastavte prostě 'OpenPGP key' na ''." + +#~ msgid "if specified, the message will be encrypted using this public key" +#~ msgstr "pokud bude uvedeno, zpráva bude zašifrována tímto veřejným klíčem" + +#, fuzzy +#~ msgid "" +#~ "Sends a chat message to someone on your roster. Optionally with OpenPGP " +#~ "key and account. If you want to only set the latter, set OpenPGP key to " +#~ "\"\"." +#~ msgstr "" +#~ "Poslat nový rozhovor kontaktu v Seznamu. Obojí OpenPGP klíč a účet jsou " +#~ "volitelné. Pokud chcete nastavit pouze 'account' bez 'OpenPGP key', " +#~ "nastavte prostě 'OpenPGP key' na ''." + +#~ msgid "" +#~ "If disabled, don't sign presences with GPG key, even if GPG is configured." +#~ msgstr "" +#~ "Je-li zakázáno, spojení nebude podepsané GPG klíčem, pokud je GPG klíč " +#~ "nastavený." + +#, fuzzy +#~ msgid "OpenPGP:" +#~ msgstr "OpenPGP: " + +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "Přiřadit Open_PGP Klíč..." + +#, fuzzy +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "Šifrování zpráv OpenGPG " + +#, fuzzy +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "Šifruji zprávy gpg klíči." + +#, fuzzy +#~ msgid "Requires: gpg and python-gnupg (%(url)s)" +#~ msgstr "Je potřeba gpg a python-GnuPGInterface." + +#, fuzzy +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "_použít proměnnou prostředí HTTP_PROXY" + +#, fuzzy +#~ msgid "Use PGP Agent" +#~ msgstr "Použít GPG _Agenta" + +#, fuzzy +#~ msgid "OpenPGP Key" +#~ msgstr "Přiřadit OpenPGP klíč" + +#~ msgid "Cancel confirmation" +#~ msgstr "Zrušit ověření" + +#~ msgid "" +#~ "You are in process of executing command. Do you really want to cancel it?" +#~ msgstr "Právě se provadí příkaz. Chcete ho skutečně přerušit?" + +#~ msgid "Service sent malformed data" +#~ msgstr "Služba odeslala chybné data" + +#~ msgid "Service changed the session identifier." +#~ msgstr "Služba změnila identifikátor sezení." + +#, fuzzy +#~ msgid "%s - Ad-hoc Commands - Gajim" +#~ msgstr "Ad-hoc příkazy - Gajim" + +#~ msgid "Service returned an error." +#~ msgstr "Služba vrátila chybu." + +#~ msgid "You are invited to a groupchat" +#~ msgstr "Jste pozván do diskuze" + +#~ msgid "_Start Chat" +#~ msgstr "_Začít rozhovor" + +#~ msgid "Au_thorize" +#~ msgstr "Au_torizuj" + +#~ msgid "Really send file?" +#~ msgstr "Opravdu odeslat soubor?" + +#~ msgid "You are currently connected to the server" +#~ msgstr "Nejste přávě připojen(a) k serveru" + +#~ msgid "To disable the account, you must be disconnected." +#~ msgstr "Chcete-li deaktivovat účet, musíte se nejdříve odpojit." + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with %(jid)s?" +#~ msgstr "Vážně chcete smazat vybranou zprávu?" + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with the selected contacts?" +#~ msgstr "Vážně chcete smazat všechny záznamy historie vybraného kontaktu?" + +#, fuzzy +#~ msgid "This can not be undone." +#~ msgstr "Tato služba nebyla nalezena" + +#~ msgid "What do you want to do?" +#~ msgstr "Co by jste rád(a) dělal(a)?" + +#~ msgid "" +#~ "List of colors, separated by \":\", that will be used to color nicknames " +#~ "in group chats." +#~ msgstr "" +#~ "Seznam barev, oddělený pomocí \":\", použitý k obarvení přezdívek v " +#~ "diskuzích." + +#, fuzzy +#~ msgid "You have received new entries (and %d not displayed):" +#~ msgid_plural "You have received new entries (and %d not displayed):" +#~ msgstr[0] "Dostal(a) jste novou položku: " +#~ msgstr[1] "Dostal(a) jste novou položku: " +#~ msgstr[2] "Dostal(a) jste novou položku: " + +#~ msgid "Stopped" +#~ msgstr "Zastaveno" + +#~ msgid "" +#~ "You are about to send your password on an insecure connection. You should " +#~ "install PyOpenSSL to prevent that. Are you sure you want to do that?" +#~ msgstr "" +#~ "Abyste nemuseli posílat heslo nezabezpečeným připojením nainstalujte si " +#~ "PyOpenSSL. Jste si jisti, že to chcete udělat?" + +#, fuzzy +#~ msgid "Status messages displayed in chat window" +#~ msgstr "Odeslat zprávu a zavřít okno" + +#~ msgid "?print_status:All" +#~ msgstr "?print_status:Všechny" + +#~ msgid "Enter and leave only" +#~ msgstr "Pouze při vstupu a výstupu" + +#~ msgid "?print_status:None" +#~ msgstr "?print_status:Žádný" + +#, fuzzy +#~ msgid "Untrusted OpenPGP key" +#~ msgstr "Vyberte Váš OpenPGP klíč" + +#, fuzzy +#~ msgid "" +#~ "The OpenPGP key used to encrypt this chat is not trusted. Do you really " +#~ "want to encrypt this message?" +#~ msgstr "" +#~ "GPG klíč použitý k šifrování rozhovoru není důvěryhodný. Opravdu chcete " +#~ "šifrovat tuto zprávu?" + +#~ msgid "D-Bus python bindings are missing in this computer" +#~ msgstr "D-Bus python bindings chybí na tomto počítači" + +#~ msgid "D-Bus capabilities of Gajim cannot be used" +#~ msgstr "Možnosti D-Bus nemohou být použity" + +#~ msgid "D-Bus does not run correctly on this machine" +#~ msgstr "na tomto stroji neběží D-Bus korektně" + +#, fuzzy +#~ msgid "D-Bus does not run correctly on this machine: system bus not present" +#~ msgstr "na tomto stroji neběží D-Bus korektně" + +#, fuzzy +#~ msgid "" +#~ "D-Bus does not run correctly on this machine: session bus not present" +#~ msgstr "na tomto stroji neběží D-Bus korektně" + +#, fuzzy +#~ msgid "Command line Control" +#~ msgstr "Příkazový řádek" + +#, fuzzy +#~ msgid "Enables you to control Gajim with via commandline" +#~ msgstr "Skript, který ovládá Gajim z příkazové řádky." + +#~ msgid "" +#~ "When is self contact row displayed. Can be \"always\", " +#~ "\"when_other_resource\" or \"never\"" +#~ msgstr "" +#~ "Kdy bude zobrazena řádka vlastního kontaktu. Může být \"always\", " +#~ "\"when_other_resource\" nebo \"never\"" + +#~ msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +#~ msgstr "%(nick)s byli vyhozeni od %(who)s: %(reason)s" + +#~ msgid "%(nick)s has been banned by %(who)s: %(reason)s" +#~ msgstr "%(nick)s byl zakázán od %(who)s: %(reason)s" + +#~ msgid "system shutdown" +#~ msgstr "vypnout systém" + +#~ msgid "** Role of %(nick)s has been set to %(role)s" +#~ msgstr "** Postavení %(nick)s bylo nastaveno na %(role)s" + +#~ msgid "%s has left" +#~ msgstr "%s odešel(a)" + +#, fuzzy +#~ msgid "%s is full" +#~ msgstr "Písmo" + +#, fuzzy +#~ msgid "" +#~ "Can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no " +#~ "longer print status line in groupchats when a member changes their status " +#~ "and/or their status message. If \"all\" Gajim will print all status " +#~ "messages. If \"in_and_out\", Gajim will only print FOO enters/leaves " +#~ "group chat." +#~ msgstr "" +#~ "může být \"none\", \"all\", \"in_and_out\". Pokud je \"none\", Gajim " +#~ "nebude nadále vypisovat stavy v diskuzích když účastník změní svůj stav " +#~ "nebo stavovou zprávu. Pokud je \"all\", Gajim bude vypisovat všechny " +#~ "změny stavů. Při \"in_and_out\" Gajim vypíše stav jenom při vstupu a " +#~ "odchodu z místnosti." + +#, fuzzy +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "Zobrazovat p_opis stavu kontaktů v Seznamu" + +#, fuzzy +#~ msgid "" +#~ "You are about to send your password unencrypted on an insecure " +#~ "connection. Are you sure you want to do that?" +#~ msgstr "" +#~ "Chystáte se poslat vaše heslo nezabezpečeným spojením. Jste si jistý(á), " +#~ "že to skutečně chcete udělat?" + +#, fuzzy +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "Anonymní autentizace" + +#, fuzzy +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "Anon_ymní autentizace" + +#, fuzzy +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "Anon_ymní autentizace" + +#~ msgid "" +#~ "Displayed chat state notifications in chat windows. Can be one of all, " +#~ "composing_only, disabled." +#~ msgstr "" +#~ "Zobraz stavy rozhovoru v okně rozhovoru. Může být jedno z all, " +#~ "composing_only nebo disabled." + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." +#~ msgstr "" +#~ "Gajim umí ohlašovat svoji schopnost posílat a přijímat meta-informace " +#~ "vztahující se k rozhovoru. Tady můžete nastavit, které stavy rozhovoru " +#~ "chcete zobrazovat v oknech rozhovoru." + +#~ msgid "This is an irreversible operation." +#~ msgstr "Tato operace je nevratná." + +#~ msgid "Settings" +#~ msgstr "Nastavení" + +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "Vítejte do Gajimova Správce Historie" + +#~ msgid "Member List" +#~ msgstr "Seznam členů" + +#~ msgid "Owner List" +#~ msgstr "Seznam vlastníků" + +#~ msgid "Administrator List" +#~ msgstr "Seznam správců" + +#~ msgid "Nick" +#~ msgstr "Přezdívka" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "Koho chcete zakázat?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Member…" +#~ msgstr "Přidávám člena..." + +#~ msgid "" +#~ "Whom do you want to make a member?\n" +#~ "\n" +#~ msgstr "Kdo se má stát členem?\n" + +#, fuzzy +#~ msgid "Adding Owner…" +#~ msgstr "Přidávám vlastníka..." + +#~ msgid "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" +#~ msgstr "Kdo se má stát vlastníkem?\n" + +#, fuzzy +#~ msgid "Adding Administrator…" +#~ msgstr "Přidávám správce..." + +#~ msgid "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" +#~ msgstr "Kdo se má stát správcem?\n" + +#~ msgid "Error reading file:" +#~ msgstr "Chyba při čtení souboru:" + +#~ msgid "Error parsing file:" +#~ msgstr "Chyba parsování souboru:" + +#~ msgid "List of possible features in Gajim:" +#~ msgstr "Seznam dostupných vlastností v Gajimu: " + +#~ msgid "Description" +#~ msgstr "Popis" + +#~ msgid "Password encryption" +#~ msgstr "Šifrování hesla" + +#~ msgid "Spellchecking of composed messages." +#~ msgstr "Kontrola Pravopisu psaných zpráv." + +#~ msgid "Automatic status" +#~ msgstr "Automatický stav" + +#~ msgid "Requires python2.5." +#~ msgstr "Je potřeba python2.5." + +#~ msgid "" +#~ "Generate XHTML output from RST code (see http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Generuje XHTML výstup pro RST kód (viz.: http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html)." + +#, fuzzy +#~ msgid "?features:Available" +#~ msgstr "Připojen" + +#~ msgid "Feature" +#~ msgstr "Vlastnost" + +#~ msgid "Filter:" +#~ msgstr "Filtr:" + +#~ msgid "Chat Appearance" +#~ msgstr "Vzhled diskuze" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed out" +#~ msgstr "" +#~ "Gajim Vás upozorní o přávě odpojených kontaktech pomocí popupu v pravém " +#~ "dolním rohu obrazovky" + +#~ msgid "Sounds" +#~ msgstr "Zvuky" + +#~ msgid "Chat state notifications" +#~ msgstr "Vizuální upozornění" + +#, fuzzy +#~ msgid "_Away after" +#~ msgstr "_Automaticky pryč po:" + +#~ msgid "" +#~ "If checked, Gajim will change status to Away when the computer is unused." +#~ msgstr "" +#~ "Pokud je zaškrtnuto, Gajim změnít stav na 'Pryč' pokud je počítač " +#~ "nepoužíván." + +#, fuzzy +#~ msgid "_Not available after" +#~ msgstr "Automaticky _nedostupný po:" + +#~ msgid "Auto Status" +#~ msgstr "Automatický Stav" + +#~ msgid "Status Messages" +#~ msgstr "Přednastavené stavy" + +#, fuzzy +#~ msgid "Audio" +#~ msgstr "Akce" + +#, fuzzy +#~ msgid "Video" +#~ msgstr "Prostřední:" + +#, fuzzy +#~ msgid "(example: stun.iptel.org)" +#~ msgstr "(například: stunserver.org)" + +#, fuzzy +#~ msgid "Connection" +#~ msgstr "Podmínky" + +#~ msgid "Custom" +#~ msgstr "Vlastní" + +#~ msgid "Privacy" +#~ msgstr "Soukromí" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "Editor rozšířeného nastavení" + +#, fuzzy +#~ msgid "Audio / video conferences" +#~ msgstr "Audio / Video" + +#, fuzzy +#~ msgid "File transfer, room bookmarks" +#~ msgstr "Chyba přenosu souboru" + +#, fuzzy +#~ msgid "XML console interface" +#~ msgstr "XML Konzole" + +#, fuzzy +#~ msgid "" +#~ "A programming error has been detected. It probably is not fatal, but " +#~ "should be reported to the developers nonetheless." +#~ msgstr "" +#~ "Pravděpodobně není fatální, ale přesto by měla být ohlášena vývojářům." + +#~ msgid "" +#~ "A list of modp groups to use in a Diffie-Hellman, highest preference " +#~ "first, separated by commas. Valid groups are 1, 2, 5, 14, 15, 16, 17 and " +#~ "18. Higher numbers are more secure, but take longer to calculate when you " +#~ "start a session." +#~ msgstr "" +#~ "Seznam modp skupin pro použití s Diffie-Hellman, první jsou nejvyšší, " +#~ "oddělené čárkami. Povolené skupiny jsou 1, 2, 5, 14, 15, 16, 17 a 18. " +#~ "Vyšší čísla jsou více bezpečná, ale vyžadují delší dobu výpočtu při " +#~ "startu sezení." + +#~ msgid "(ESession info)" +#~ msgstr "(ESession informace)" + +#~ msgid "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" +#~ msgstr "" +#~ "Pokud zaškrtnuto, Gajim nahradí ascii smajlíky jako ':)' za ekvivalentní " +#~ "animované nebo statické grafické smajlíky" + +#, fuzzy +#~ msgid "_Emoticons" +#~ msgstr "_Smajlíky:" + +#~ msgid "_Highlight misspelled words" +#~ msgstr "Zvýrazňovat _slova s překlepy" + +#, fuzzy +#~ msgid "Notify by icon when your messages are received" +#~ msgstr "Přehraný zvuk při příchodu jakékoliv MUC zprávy." + +#, fuzzy +#~ msgid "T_heme" +#~ msgstr "_Téma:" + +#~ msgid "Themes" +#~ msgstr "Témata" + +#~ msgid "Always use this nickname when there is a conflict" +#~ msgstr "Vždy při konfliktu použij tuto přezdívku." + +#~ msgid "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." +#~ msgstr "" +#~ "Jabberd1.4 nemá rád sha informaci, pokud někdo vstupuje do místnosti " +#~ "chráněné heslem. Zaškrtněte tuto volbu na False, aby se sha informace " +#~ "neposílala v presenci u diskuzí." + +#, fuzzy +#~ msgid "Presence" +#~ msgstr "_Stav" + +#~ msgid "Emoticons disabled" +#~ msgstr "Smajlíci byly vypnuty" + +#, fuzzy +#~ msgid "" +#~ "Your configured emoticons theme could not be loaded. See the log for more " +#~ "details." +#~ msgstr "" +#~ "Vámi nastavené téma pro smajlíky nebylo nalezeno, proto budou smajlíci " +#~ "vypnuty " + +#~ msgid "You cannot make changes to the default theme" +#~ msgstr "Nemůžete měnit výchozí téma" + +#~ msgid "theme name" +#~ msgstr "jméno tématu" + +#~ msgid "You cannot delete your current theme" +#~ msgstr "Nemůžete smazat právě používané téma" + +#~ msgid "New Single Message from %(nickname)s" +#~ msgstr "Nová jednoduché zpráva od %(nickname)s" + +#~ msgid "New Private Message from group chat %s" +#~ msgstr "Nová soukromá zpráva z místnosti %s" + +#~ msgid "%(nickname)s: %(message)s" +#~ msgstr "%(nickname)s: %(message)s" + +#~ msgid "Messaged by %(nickname)s" +#~ msgstr "Nová zpráva od %(nickname)s" + +#~ msgid "Status message text color." +#~ msgstr "Barva stavové zprávy." + +#~ msgid "Incoming nickname font." +#~ msgstr "Písmo příchozí přezdívky." + +#~ msgid "Outgoing nickname font." +#~ msgstr "Písmo odchozí přezdívky." + +#~ msgid "Status message text font." +#~ msgstr "Písmo stavové zprávy." + +#~ msgid "Background color of contacts when they just signed in." +#~ msgstr "Barva pozadí kontaktů, jež se zrovna přihlásili." + +#~ msgid "Background color of contacts when they just signed out." +#~ msgstr "Barva pozadí kontaktů, jež se přávě odhlásili." + +#~ msgid "green" +#~ msgstr "zelený" + +#~ msgid "grocery" +#~ msgstr "potraviny" + +#~ msgid "human" +#~ msgstr "člověk" + +#~ msgid "marine" +#~ msgstr "mariňák" + +#, fuzzy +#~ msgid "Contact row" +#~ msgstr "Kontakt" + +#~ msgid "Gajim Themes Customization" +#~ msgstr "Úprava témat Gajimu" + +#~ msgid "Text _color:" +#~ msgstr "_Barva textu:" + +#~ msgid "_Background:" +#~ msgstr "_Pozadí:" + +#~ msgid "Text _font:" +#~ msgstr "Písmo textu:" + +#~ msgid "Font style:" +#~ msgstr "Styly písma:" + +#~ msgid "Paused" +#~ msgstr "Pozastaveno" + +#~ msgid "Gone" +#~ msgstr "Pryč" + +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "" +#~ "Zprávy\n" +#~ "z MUC" + +# FIXME: better czech translation +#~ msgid "Chatstate Tab Colors" +#~ msgstr "Barvy stavů u záložek rozhovoru" + +#, fuzzy +#~ msgid "Chat message" +#~ msgstr "Zpráva diskuze:" + +#~ msgid "Use system _default" +#~ msgstr "Použij nastavení _systému" + +#~ msgid "Font" +#~ msgstr "Písmo" + +#, fuzzy +#~ msgid "Contact's nickname" +#~ msgstr "Přezdívka kontaktu:" + +#, fuzzy +#~ msgid "_Status message" +#~ msgstr "_Stav:" + +#, fuzzy +#~ msgid "Your message" +#~ msgstr "Vaše zpráva:" + +#, fuzzy +#~ msgid "_URL highlight" +#~ msgstr "Zvýraznění _URL:" + +# FIXME: better czech translation -co takhle? +#~ msgid "Chat Line Colors" +#~ msgstr "Barvy Řádků V Diskuzi" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#~ msgid "Resource:" +#~ msgstr "Zdroj:" + +#~ msgid "Status:" +#~ msgstr "Stav:" + +#~ msgid "Client:" +#~ msgstr "Klient:" + +#~ msgid "Contact time:" +#~ msgstr "Čas kontaktu:" + +#~ msgid "Ask:" +#~ msgstr "Žádá:" + +#~ msgid "Subscription:" +#~ msgstr "Autorizace:" + +#~ msgid "Name:" +#~ msgstr "Jméno:" + +#~ msgid "Nickname:" +#~ msgstr "Přezdívka:" + +#~ msgid "Street:" +#~ msgstr "Ulice:" + +#~ msgid "City:" +#~ msgstr "Město:" + +#~ msgid "State:" +#~ msgstr "Stát:" + +#~ msgid "Extra Address:" +#~ msgstr "Další adresa:" + +#~ msgid "Postal Code:" +#~ msgstr "PSČ:" + +#~ msgid "Country:" +#~ msgstr "Stát:" + +#~ msgid "Homepage:" +#~ msgstr "Domovská stránka:" + +#~ msgid "E-Mail:" +#~ msgstr "E-Mail:" + +#~ msgid "Phone No.:" +#~ msgstr "Telefon:" + +#~ msgid "Birthday:" +#~ msgstr "Narozeniny:" + +#~ msgid "Family:" +#~ msgstr "Příjmení:" + +#~ msgid "Middle:" +#~ msgstr "Prostřední:" + +#~ msgid "Prefix:" +#~ msgstr "Před jménem" + +#~ msgid "Given:" +#~ msgstr "Křestní:" + +#~ msgid "Suffix:" +#~ msgstr "Za jménem:" + +#~ msgid "Full Name" +#~ msgstr "Celé jméno:" + +#~ msgid "Company:" +#~ msgstr "Společnost:" + +#~ msgid "Department:" +#~ msgstr "Oddělení:" + +#~ msgid "Position:" +#~ msgstr "Pozice:" + +#~ msgid "Role:" +#~ msgstr "Postavení:" + +#~ msgid "- messages will be logged" +#~ msgstr "- zprávy budou zaznamenány" + +#~ msgid "- messages will not be logged" +#~ msgstr "- zprvý nebudou zaznamenány" + +#~ msgid "Edit %s" +#~ msgstr "Uprav %s" + +#~ msgid "Conversation History with %s" +#~ msgstr "Historie rozhovorů s %s" + +#~ msgid "Contact with \"%s\" cannot be established" +#~ msgstr "Kontakt s \"%s\" nebyl navázán" + +#~ msgid "Registration information for transport %s has not arrived in time" +#~ msgstr "Registrační informace pro transport %s nedorazily včas" + +#~ msgid "Register to" +#~ msgstr "Zaregistrovat" + +#, fuzzy +#~ msgid "Enter name / JID of contact or groupchat" +#~ msgstr "Jméno kontaktu" + +#~ msgid "Search:" +#~ msgstr "Najít:" + +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "Nemůžete měnit heslo, pokud nejste připojen(a)." + +#~ msgid "Invalid password" +#~ msgstr "Neplatné heslo" + +#~ msgid "The passwords typed in both fields must be identical." +#~ msgstr "Hesla zadaná v obou políčkách musí být identická." + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "Zadejte znovu pro ověření:" + +#~ msgid "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" +#~ msgstr "" +#~ "JID %s neodpovídá RFC. Nebude přidáno do tvého rosteru. Použij nástroje " +#~ "pro správu rosteru jako je http://jru.jabberstudio.org/ k jeho odstranění" + +#~ msgid "unsubscribe request from %s" +#~ msgstr "Žádost o zrušení autorizace od %s" + +#~ msgid "Homepage:" +#~ msgstr "Dom. stránka:" + +#~ msgid "Manage Bookmarks" +#~ msgstr "Spravovat záložky" + +#~ msgid "_Nickname:" +#~ msgstr "_Přezdívka:" + +#, fuzzy +#~ msgid "Pr_int status:" +#~ msgstr "Vypiš stav:" + +#, fuzzy +#~ msgid "Add JID" +#~ msgstr "Jabber ID" + +#, fuzzy +#~ msgid "Preference:" +#~ msgstr "Nastavení" + +#, fuzzy +#~ msgid "Preference" +#~ msgstr "Nastavení" + +#, fuzzy +#~ msgid "JID:" +#~ msgstr "Vaše JID:" + +#, fuzzy +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "Prosím vyplňte údaje kontaktu, který chcete přidat do účtu %s" + +#~ msgid "Please fill in the data of the contact you want to add" +#~ msgstr "Prosím vyplňte údaje o kontaktu, který chcete přidat" + +#, fuzzy +#~ msgid "Recently" +#~ msgstr "Nedávno:" + +#~ msgid "Add New Contact" +#~ msgstr "Přidat nový kontakt" + +#~ msgid "_User ID:" +#~ msgstr "_Uživatel:" + +#, fuzzy +#~ msgid "Type User ID" +#~ msgstr "Uživatel:" + +#, fuzzy +#~ msgid "Type Nickname" +#~ msgstr "Přezdívka" + +#~ msgid "Personal Information" +#~ msgstr "Osobní údaje" + +#~ msgid "Avatar:" +#~ msgstr "Avatar:" + +#~ msgid "Click to set your avatar" +#~ msgstr "Klikni pro nastavení tvého avatara" + +#, fuzzy +#~ msgid "Remove Avatar" +#~ msgstr "Odstranit skupinu" + +#~ msgid "Not fetched because of invisible status" +#~ msgstr "Nestáhnuto z důvodu stavu neviditelnosti" + +#~ msgid "Please wait..." +#~ msgstr "Prosím čekejte..." + +#~ msgid "" +#~ "When negotiating an encrypted session, should Gajim assume you want your " +#~ "messages to be logged?" +#~ msgstr "" +#~ "Pokud sestavuji šifrované sezení, má Gajim přepokládat povolení " +#~ "zaznamenávání zpráv?" + +#~ msgid "Log _encrypted chat session" +#~ msgstr "Logovat šifrované rozhovory" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will keep logs for encrypted messages. Please note that " +#~ "when using end-to-end encryption the remote party has to agree on " +#~ "logging, else the messages will not be logged." +#~ msgstr "" +#~ "Pokud je zaškrtnuto, Gajim ponechá záznamy šifrovaných zpráv. Avšak při " +#~ "použití E2E musí protějšek souhlasit se záznamem, jinak zprávy nebudou " +#~ "zaznamenávány." + +#~ msgid "Yahoo! Address:" +#~ msgstr "Yahoo! adresa:" + +#~ msgid "Forward unread messages" +#~ msgstr "Přeposlat nepřečtené zprávy" + +#~ msgid "All unread messages have been forwarded." +#~ msgstr "Všechny nepřečtené zprávy byly přeposlány." + +#, fuzzy +#~ msgid "Forward unread message then disconnect" +#~ msgstr "Přeposlat nepřečtené zprávy" + +#~ msgid "MSN Address:" +#~ msgstr "MSN adresa:" + +#~ msgid "Confirm these session options" +#~ msgstr "Potvrdit volby pro toto sezení" + +#, fuzzy +#~ msgid "" +#~ "The remote client wants to negotiate a session with these features:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Are these options acceptable?" +#~ msgstr "" +#~ "Vzdálený klient chce navázat sezení s těmito volbamy:\n" +#~ "\n" +#~ "\t%s\n" +#~ "\n" +#~ "\tJsou tyto volby přijatelné?" + +#~ msgid "" +#~ "The remote client selected these options:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Continue with the session?" +#~ msgstr "" +#~ "Vzdálený klient vybral tyto volby:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Pokračovat v komunikaci?" + +#, fuzzy +#~ msgid "Always accept for this contact" +#~ msgstr "Je OpenPGP povoleno pro tento kontakt?" + +#~ msgid "End to End message encryption" +#~ msgstr "End to End šifrování zpráv" + +#~ msgid "Encrypting chat messages." +#~ msgstr "Šifruji zprávy." + +#~ msgid "Requires python-crypto." +#~ msgstr "Je potřeba python-crypto." + +#~ msgid "Session negotiation cancelled" +#~ msgstr "Sezení bylo zrušeno" + +#~ msgid "This session is encrypted" +#~ msgstr "Toto sezení je šifrované" + +#~ msgid " and WILL be logged" +#~ msgstr "a BUDE zaznamenáváno" + +#~ msgid " and WILL NOT be logged" +#~ msgstr "a NEBUDE zaznamenáváno" + +#~ msgid "" +#~ "Remote contact's identity not verified. Click the shield button for more " +#~ "details." +#~ msgstr "" +#~ "Kontakt nebyl ověřen. Klikněte na tlačítko štítu pro více informací." + +#, fuzzy +#~ msgid "end-to-end encryption disabled" +#~ msgstr "GPG Šifrování vypnuto" + +#~ msgid "" +#~ "Unable to decrypt message from %s\n" +#~ "It may have been tampered with." +#~ msgstr "" +#~ "Nepodařilo se dešifrovat zprávu od %s\n" +#~ "Možná je falešná." + +#~ msgid "Unable to decrypt message" +#~ msgstr "Nepodařilo se dešifrovat zprávu" + +#~ msgid "Enable ESessions encryption for this account." +#~ msgstr "Povolit ESessions šifrování pro tento účet." + +#~ msgid "Should Gajim automatically start an encrypted session when possible?" +#~ msgstr "" +#~ "Má se Gajim automaticky připojovat šifrovaným spojením je-li to možné?" + +#~ msgid "" +#~ "[This is part of an encrypted session. If you see this message, something " +#~ "went wrong.]" +#~ msgstr "" +#~ "[Tato zpráva je součástí šifrovaného sezení. Pokud vidíte tuto zprávu, " +#~ "tak je něco špatně.]" + +#~ msgid "Requires python-avahi." +#~ msgstr "Je potřeba python-avahi." + +#, fuzzy +#~ msgid "Save Image as…" +#~ msgstr "Uložit obrázek jako..." + +#, fuzzy +#~ msgid "Exporting History Logs…" +#~ msgstr "Exportuji záznamy historie..." + +#~ msgid "When %s becomes:" +#~ msgstr "Kdy %s může být:" + +#~ msgid "Adding Special Notification for %s" +#~ msgstr "Přidávám zvláštní notifikaci pro %s" + +#, fuzzy +#~ msgid "" +#~ "It seems the SSL certificate of account %(account)s has changed and is " +#~ "not valid or your connection is being compromised.\n" +#~ "\n" +#~ "Old SHA-1 fingerprint: %(old_sha1)s\n" +#~ "Old SHA-256 fingerprint: %(old_sha256)s\n" +#~ "\n" +#~ "New SHA-1 fingerprint: %(new_sha1)s\n" +#~ "New SHA-256 fingerprint: %(new_sha256)s\n" +#~ "\n" +#~ "Do you still want to connect and update the fingerprint of the " +#~ "certificate?" +#~ msgstr "" +#~ "Vypadá to, že se SSL certifikát účtu %(account)s změnil nebo někdo " +#~ "hackuje vaše spojení.\n" +#~ "Starý otisk: %(old)s\n" +#~ "Nový otisk: %(new)s\n" +#~ "\n" +#~ "Chcete se stále připojit a aktualizovat otisk certifikátu?" + +#, fuzzy +#~ msgid "" +#~ "The authenticity of the %s certificate could be invalid.\n" +#~ "The certificate does not cover this domain." +#~ msgstr "Autentizace certifikátu %s je neplatná." + +#~ msgid "Unable to load idle module" +#~ msgstr "Nelze nahrát idle modul" + +#, fuzzy +#~ msgid "%s or %s is a directory but should be a file" +#~ msgstr "%s je adresář, ale měl by to být soubor" + +#~ msgid "creating logs database" +#~ msgstr "vytvářím databázi historie" + +#, fuzzy +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "Odeslat %s %s" + +#, fuzzy +#~ msgid "Rename account label" +#~ msgstr "Přejmenovat účet" + +#, fuzzy +#~ msgid "Send Single Message..." +#~ msgstr "Odeslat jednoduchou _zprávu..." + +#, fuzzy +#~ msgid "We received an error: {}" +#~ msgstr "Služba vrátila chybu." + +#~ msgid "E2E encryption disabled" +#~ msgstr "E2E Šifrování vypnuto" + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Přidat tento certifikát do důvěryhodných.\n" +#~ "SHA1 otisk certifikátu:\n" +#~ "%s" + +#~ msgid "uri" +#~ msgstr "uri" + +#, fuzzy +#~ msgid "" +#~ "Install /\n" +#~ "Upgrade" +#~ msgstr "Stagnuje" + +#, fuzzy +#~ msgid "Install/Upgrade" +#~ msgstr "Stagnuje" + +#, fuzzy +#~ msgid "Plugins updates" +#~ msgstr "Registrace selhala" + +#~ msgid "cyan" +#~ msgstr "azurová" + +#~ msgid "migrating logs database to indices" +#~ msgstr "převádím záznamy historie k použítí indexů" + +#, fuzzy +#~ msgid "Send File..." +#~ msgstr "Odeslat _Soubor" + +#, fuzzy +#~ msgid "HTTP File Upload not supported by your server" +#~ msgstr "Uložení metakontaktů není podporováno serverem" + +#, fuzzy +#~ msgid "Jingle File Transfer" +#~ msgstr "Přenosy souborů" + +#~ msgid "" +#~ "Your configured emoticons theme has not been found, so emoticons have " +#~ "been disabled." +#~ msgstr "" +#~ "Vámi nastavené téma pro smajlíky nebylo nalezeno, proto budou smajlíci " +#~ "vypnuty " + +#~ msgid "Shows or hides the roster window" +#~ msgstr "Zobrazí nebo skryje okno Seznamu" + +#~ msgid "Shows or hides the ipython window" +#~ msgstr "Zobrazí nebo skryje okno ipythonu" + +#, fuzzy +#~ msgid "XMPP account %s" +#~ msgstr "XMPP účet %s@%s" + +#, fuzzy +#~ msgid "Exception" +#~ msgstr "Popis" + +#, fuzzy +#~ msgid "" +#~ "someone@somewhere.com would like you to add some contacts " +#~ "in your roster." +#~ msgstr "" +#~ "%(jid)s by chtěl(a), aby jste %(action)s některé kontakty " +#~ "z vašeho rosteru." + +#~ msgid "" +#~ "Ordered list (space separated) of connection type to try. Can contain " +#~ "tls, ssl or plain" +#~ msgstr "" +#~ "Řazený seznam (oddělený mezerami) spojení, která má Gajim zkusit. " +#~ "Možnosti jsou: tls, ssl nebo plain" + +#~ msgid "_Actions" +#~ msgstr "_Akce" + +#, fuzzy +#~ msgid "Requires upower and python-dbus." +#~ msgstr "Je potřeba python-dbus." + +#~ msgid "You are already in group chat %s" +#~ msgstr "Už jsi v místnosti %s" + +#~ msgid "Join Group Chat with account %s" +#~ msgstr "Vstoupit do diskuze z účtu %s" + +#~ msgid "" +#~ "You have to choose an account from which you want to join the groupchat." +#~ msgstr "Musíte vybrat účet, ze kterého chcete vstoupit do diskuze." + +#, fuzzy +#~ msgid "Please enter the group chat JID as room@server." +#~ msgstr "JProsím zadejte Jabber ID diskuze ve formě místnost@server." + +#, fuzzy +#~ msgid "The group chat JID contains invalid characters." +#~ msgstr "Jabber ID diskuze obsahuje nepřijatelné znaky." + +#~ msgid "Start Chat with account %s" +#~ msgstr "Začít rozhovor z účtu %s" + +#, fuzzy +#~ msgid "" +#~ "Fill in the nickname or the JID of the contact you would like\n" +#~ "to send a chat message to:" +#~ msgstr "" +#~ "Vyplňte Jabber ID nebo přezdívku kontaktu, se kterým chcete začít " +#~ "rozhovor:" + +#, fuzzy +#~ msgid "Nickname / JID" +#~ msgstr "Dvakrát použité Jabber ID" + +#~ msgid "Unable to parse \"%s\"." +#~ msgstr "Nemůžu dekódovat \"%s\"." + +#~ msgid "Shows the chat dialog so that you can send messages to a contact" +#~ msgstr "Zobrazte okno rozhovoru, aby jste mohl(a) poslat zprávu kontaktu" + +#~ msgid "JID of the contact that you want to chat with" +#~ msgstr "JID kontaktu, se kterým chcete komunikovat" + +#~ msgid "message content. The account must be specified or \"\"" +#~ msgstr "obsah zprávy. Účet musí být uveden, nebo prázdné \"\"" + +#~ msgid "Adds contact to roster" +#~ msgstr "Přidat kontakt do Seznamu" + +#~ msgid "jid" +#~ msgstr "jid" + +#~ msgid "Adds new contact to this account" +#~ msgstr "Přidá nový kontakt do tohoto účtu" + +#~ msgid "Opens 'Start Chat' dialog" +#~ msgstr "Otevře dialog 'Začít rozhovor'" + +#~ msgid "Starts chat, using this account" +#~ msgstr "Začít rozhovor z tohoto účtu" + +#, fuzzy +#~ msgid "Handle a xmpp:/ URI" +#~ msgstr "Obsluhovat xmpp:/ uri" + +#~ msgid "URI to handle" +#~ msgstr "URI k obsluze" + +#~ msgid "Account in which you want to handle it" +#~ msgstr "Účet s kterým chcete manipulovat" + +#~ msgid "Message content" +#~ msgstr "Obsah zprávy" + +#~ msgid "Join a MUC room" +#~ msgstr "_Vstoupit do místnosti MUC" + +#~ msgid "Nickname to use" +#~ msgstr "Přezdívka kterou chete použít" + +#~ msgid "Password to enter the room" +#~ msgstr "Heslo pro vstup do místnosti" + +#~ msgid "Account from which you want to enter the room" +#~ msgstr "Účet z kterého chcete vstoupit do místnosti" + +#, fuzzy +#~ msgid "Wrong URI" +#~ msgstr "Nesprávné uri" + +#~ msgid "Nickname:" +#~ msgstr "Přezdívka:" + +#~ msgid "Server:" +#~ msgstr "Server:" + +#, fuzzy +#~ msgid "Join this room _automatically when I connect" +#~ msgstr "Připoj se do této místnosti automaticky po připojení" + +#, fuzzy +#~ msgid "Bro_wse Rooms" +#~ msgstr "_Prohlížet" + +#, fuzzy +#~ msgid "Requires libgtkspell and libenchant." +#~ msgstr "Vyžaduje libgtkspell." + +#, fuzzy +#~ msgid "Network-Watcher" +#~ msgstr "Správce sítě (network-manager)" + +#~ msgid "Autodetection of network status." +#~ msgstr "Autodetekce stavu sítě." + +#, fuzzy +#~ msgid "Requires gnome-network-manager" +#~ msgstr "Je potřeba gnome-network-manager a python-dbus." + +#, fuzzy +#~ msgid "Feature not available, see Help->Features" +#~ msgstr "Vlastnost není k dispozici pod Windows." + +#~ msgid "This contact does not support file transfer." +#~ msgstr "Tento kontakt nepodporuje přenos souborů." + +#, fuzzy +#~ msgid "You need to know the real JID of the contact to send them a file." +#~ msgstr "" +#~ "Musíš znát skutečné JID kontaktu, aby mu bylo možné poslat souboru." + +#~ msgid "" +#~ "You have to install %s dictionary to use spellchecking, or choose another " +#~ "language by setting the speller_language option." +#~ msgstr "" +#~ "Musíš nainstalovat %s slovník k použití kontroly pravopisu, nebo vybrat " +#~ "jiný jazyk nastavením volby speller_language." + +#~ msgid "Hides the buttons in chat windows." +#~ msgstr "Skryje tlačítka v okně diskuze." + +#~ msgid "Change the room's subject (Alt+T)" +#~ msgstr "Změnit téma místnosti (Alt+T)" + +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "Přidat tuto místnost do záložek" + +#~ msgid "Browse the chat history (Ctrl+H)" +#~ msgstr "Procházet historii diskuze (Ctrl+H)" + +#, fuzzy +#~ msgid "Show advanced functions (Alt+D)" +#~ msgstr "Zobrazit nabídku rozšířených funkcí (Alt+D)" + +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "Přidat kontakt do Seznamu (Ctrl+D)" + +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "Pozvat kontakty k rozhovoru (Ctrl+G)" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Zobrazit profil kontaktu (Ctrl+I)" + +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Zobrazit profil kontaktu (Ctrl+I)" + +#~ msgid "Ma_ke message windows compact" +#~ msgstr "Udělej o_kna zpráv kompaktní" + +#~ msgid "Hide all buttons in chat windows" +#~ msgstr "Skryje tlačítka v okně diskuze." + +#, fuzzy +#~ msgid "Hide the chat buttons" +#~ msgstr "Použití: /%s, skryje tlačítka rozhovoru." + +#~ msgid "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." +#~ msgstr "" +#~ "pokud zapnuto, Gajim se zeptá na avatara každého kontaktu který neměl " +#~ "naposledy avatara nebo kterého uložený je příliš starý." + +#~ msgid "Disk Write Error" +#~ msgstr "Chyba zápisu na disk (možná je plný?)" + +#~ msgid "Set Custom _Avatar..." +#~ msgstr "Nastavit vlastní Avatar" + +#, fuzzy +#~ msgid "SSL certificate validation" +#~ msgstr "Validace SSL certifikátu" + +#~ msgid "" +#~ "A library used to validate server certificates to ensure a secure " +#~ "connection." +#~ msgstr "" +#~ "Knihovna se používá k ověření certifikátu serveru pro zabezpečené spojení." + +#, fuzzy +#~ msgid "Requires python-pyopenssl > 0.12 and pyasn1." +#~ msgstr "Je potřeba python-pyopenssl." + +#, fuzzy +#~ msgid "?CLI:room" +#~ msgstr "místnost" + +#, fuzzy +#~ msgid "?CLI:nick" +#~ msgstr "přezdívka" + +#, fuzzy +#~ msgid "?CLI:password" +#~ msgstr "heslo" + +#~ msgid "Use D-Bus and Notification-Daemon to show notifications" +#~ msgstr "Používej DBus a Notifikačního démona k zobrazování notifikací" + +#~ msgid "Notification" +#~ msgstr "Upozornění" + +#~ msgid "Passive popups notifying for new events." +#~ msgstr "Pasivní okna oznamující nové události." + +#~ msgid "" +#~ "Requires python-notify or instead python-dbus in conjunction with " +#~ "notification-daemon." +#~ msgstr "" +#~ " Je potřeba python-notify nebo python-dbus ve spojení s notification-" +#~ "daemon." + +#~ msgid "Ignore" +#~ msgstr "Ignorovat" + +#~ msgid "_Open Gmail Inbox" +#~ msgstr "_Otevři schránku Gmailu" + +#~ msgid "Notify on new _GMail email" +#~ msgstr "Upozorni při novém _GMail emailu" + +#~ msgid "" +#~ "If checked, Gajim will show a notification when a new e-mail is received " +#~ "via GMail" +#~ msgstr "" +#~ "Pokud zaškrtnuto, Gajim uvede také informaci o odesilateli zprávy nového " +#~ "emailu" + +#~ msgid "Display _extra email details" +#~ msgstr "Zobraz _podrobnosti emailu" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will also include information about the sender of new " +#~ "emails" +#~ msgstr "" +#~ "Pokud zaškrtnuto, Gajim uvede také informaci o odesilateli zprávy nového " +#~ "emailu" + +#~ msgid "GMail Options" +#~ msgstr "Volby GMail" + +#, fuzzy +#~ msgid "12" +#~ msgstr "1" + +#, fuzzy +#~ msgid "20" +#~ msgstr "2" + +#, fuzzy +#~ msgid "Invited %s to %s" +#~ msgstr "Odeslat %s %s" + +#~ msgid "GMail Email Received" +#~ msgstr "Přišel GMail Email" + +#, fuzzy +#~ msgid "New e-mail on %(gmail_mail_address)s" +#~ msgstr "Nový E-mail pro %(gmail_mail_address)s" + +#, fuzzy +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "Máte %d nepřečtený E-mail" +#~ msgstr[1] "Máte %d nepřečtené E-maily" +#~ msgstr[2] "Máte %d nepřečtených E-mailů" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "From: %(from_address)s\n" +#~ "Subject: %(subject)s\n" +#~ "%(snippet)s" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "Od: %(from_address)s\n" +#~ "Předmět: %(subject)s\n" +#~ "%(snippet)s" + +#~ msgid "Resour_ce:" +#~ msgstr "Zd_roj: " + +#~ msgid "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" +#~ msgstr "" +#~ "Zdroj je odeslán Jabber serveru pro oddělení stejné JID na dvě nebo více " +#~ "částí závisejících na počtu připojených klientů na stejný server se " +#~ "stejným účtem. Takže můžete být připojeni ke stejnému účtu se zdroji " +#~ "'Domov' a 'Práce' zároveň. Zdroj, který má nejvyšší prioritu obdrží " +#~ "zprávy. (více následuje)" + +#~ msgid "A_djust to status" +#~ msgstr "_Nastavit podle stavu" + +#~ msgid "Priority will change automatically according to your status." +#~ msgstr "Priorita se automaticky změní podle vašeho stavu." + +#~ msgid "Anonymous authentication" +#~ msgstr "Anonymní autentizace" + +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "Priorita je v Jabberu použita ke zjištění, kdo obdrží zprávu od jabber " +#~ "serveru, pokud je připojeno více klientů přes stejný účet. Zprávu obdrží " +#~ "klient s vyšší prioritou" + +#, fuzzy +#~ msgid "Synchronize contacts" +#~ msgstr "Synchronizovat kontakty" + +#~ msgid "Click to request authorization to all contacts of another account" +#~ msgstr "Klikněte k vyžádání autorizace od všech kontaktů jiného účtu" + +#~ msgid "Chan_ge Password" +#~ msgstr "_Změnit heslo" + +#~ msgid "Administration operations" +#~ msgstr "Seznam správců" + +#~ msgid "Browse..." +#~ msgstr "Procházet..." + +#, fuzzy +#~ msgid "Certificate is e_ncrypted" +#~ msgstr "Certifikát odmítnut" + +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "" +#~ "Pokud zaškrtnuto, Gajim po spuštění se automaticky připojí pomocí tohoto " +#~ "účtu" + +#, fuzzy +#~ msgid "Synchronize logs with server" +#~ msgstr "Synchronizovat kontakty" + +#~ msgid "Synch_ronize account status with global status" +#~ msgstr "Synch_ronizovat stav účtu s globálním stavem" + +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "Pokud zaškrtnuto, jakákoliv změna globálního stavu (pomocí comboboxu na " +#~ "spodní straně Seznamu) změní stav tohoto účtu také" + +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "Pokud je zaškrtnuto, Gajim ohlásí navíc několik dalších IP kromě Vaší IP, " +#~ "takže přenos souboru má větší šanci správného fungování." + +#~ msgid "Proxy" +#~ msgstr "Proxy" + +#~ msgid "" +#~ "Check this so Gajim will ask you before sending your password over an " +#~ "insecure connection." +#~ msgstr "" +#~ "Zaškrtněte pokud se má Gajim ptát předtím než odešlete vaše heslo přes " +#~ "nezabezpečené připojení." + +#~ msgid "Send _keep-alive packets" +#~ msgstr "Odesílat keep-alive pakety" + +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "" +#~ "Pokud zaškrtnuto, Gajim bude posílat keep-alive pakety, aby předešel " +#~ "ztrátě spojení způsobeném vypršením spojení" + +#~ msgid "Use cust_om hostname/port" +#~ msgstr "Použít vlastní _jméno počítače/port" + +#~ msgid "_Hostname: " +#~ msgstr "_Počítač: " + +#~ msgid "_Port: " +#~ msgstr "_Port:" + +#~ msgid "Choose _Key..." +#~ msgstr "Vyberte _klíč..." + +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "Pokud bude zaškrtnuto, Gajim si bude pamatovat heslo pro tento účet" + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#~ msgid "_Edit Personal Information..." +#~ msgstr "_Upravit osobní informace..." + +#~ msgid "Personal Information" +#~ msgstr "Osobní údaje" + +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "_Připojit po startu Gajimu" + +#~ msgid "Synchroni_ze account status with global status" +#~ msgstr "Synch_ronizovat stav účtu s globálním stavem" + +#~ msgid "Use cust_om port:" +#~ msgstr "Použít _vlastní port:" + +#~ msgid "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." +#~ msgstr "" +#~ "Pokud výchozí port použitý k přijímání zpráv nevyhovuje tvému nastavení, " +#~ "můžeš si zvolit jiný.\n" +#~ "Můžeš také zvážit změnu nastavení firewallu." + +#~ msgid "OpenPGP is not usable on this computer" +#~ msgstr "OpenPGP na tomto počítači není použitelné" + +#~ msgid "To change the account name, you must be disconnected." +#~ msgstr "Ke změně jména účtu se musite odpojit." + +#~ msgid "To change the account name, you must read all pending events." +#~ msgstr "Před změnou jména účtu si musíte přečíst všechny čekající zprávy." + +#~ msgid "Account Name Already Used" +#~ msgstr "Jméno účtu už existuje" + +#~ msgid "" +#~ "This name is already used by another of your accounts. Please choose " +#~ "another name." +#~ msgstr "Toto jméno je už použito pro jiný účet. Zvolte jiné, prosím." + +#~ msgid "Account name cannot be empty." +#~ msgstr "Jméno účtu nemůže být prázdné." + +#~ msgid "Account name cannot contain spaces." +#~ msgstr "Jméno účtu nesmí obsahovat mezery." + +#~ msgid "Enter a new name for account %s" +#~ msgstr "Zadej nové jméno pro účet %s." + +#, fuzzy +#~ msgid "A JID must be in the form \"user@servername\"." +#~ msgstr "Jabber ID musí být ve tvaru \"uživatel@jménoserveru\"." + +#~ msgid "No such account available" +#~ msgstr "Takový účet není dostupný" + +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "Musíte vytvořit účet před úpravou vašich osobních údajů." + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "Bez připojení nemůžete upravovat osobní údaje." + +#~ msgid "Your server can't save your personal information." +#~ msgstr "Váš server neumí uložit Vaše osobní informace." + +#~ msgid "Please rename or remove it before enabling link-local messaging." +#~ msgstr "Prosím přejmenujte nebo odstraňte před povolením lokálních zpráv." + +#~ msgid "THANKS:" +#~ msgstr "DÍKY:" + +#~ msgid "Could not write to %s. Session Management support will not work" +#~ msgstr "Nemůžu zapsat do %s. Podpora správy sezení nebude fungovat" + +#~ msgid "Jabber Traffic" +#~ msgstr "Provoz Jabberu" + +#~ msgid "_Enable" +#~ msgstr "_Povolit" + +#, fuzzy +#~ msgid "Filter" +#~ msgstr "Písmo" + +#~ msgid "_IQ" +#~ msgstr "_IQ" + +#~ msgid "Info/Query" +#~ msgstr "Info/Query" + +#~ msgid "XML Input" +#~ msgstr "Vstup XML" + +#~ msgid "XML Console for %s" +#~ msgstr "XML Konzole pro %s" + +#, fuzzy +#~ msgid "Idle for:" +#~ msgstr "XML Konzole pro %s" + +#~ msgid "Last status: %s" +#~ msgstr "Poslední stav: %s" + +#~ msgid " since %s" +#~ msgstr " od %s" + +#~ msgid "since %s" +#~ msgstr "od %s" + +#, fuzzy +#~ msgid "Prefer" +#~ msgstr "Nastavení" + +#, fuzzy +#~ msgid "Forbid" +#~ msgstr "Zakázat" + +#, fuzzy +#~ msgid "Auto" +#~ msgstr "Automaticky vstoupit" + +#, fuzzy +#~ msgid "body" +#~ msgstr "tělo" + +#, fuzzy +#~ msgid "otr" +#~ msgstr "Ostatní" + +#, fuzzy +#~ msgid "Invalid expire value" +#~ msgstr "Neplatné jméno serveru" + +#, fuzzy +#~ msgid "There is an error" +#~ msgstr "Služba vrátila chybu." + +#~ msgid "How many minutes should last lines from previous conversation last." +#~ msgstr "Kolik minut by měly řádky z předchozího rozhovoru zůstat." + +#~ msgid "" +#~ "Your configured emoticons theme cannot been loaded. You maybe need to " +#~ "update the format of emoticons.py file. See http://trac.gajim.org/wiki/" +#~ "Emoticons for more details." +#~ msgstr "" +#~ "Vámi nastavené téma smajlíků se nepodařilo načíst. Možná je potřeba " +#~ "aktualizovat formát v souboru emoticons.py. Viz.: http://trac.gajim.org/" +#~ "wiki/Emoticons " + +#~ msgid "You will be connected to %s without OpenPGP." +#~ msgstr "Budete připojen(a) k %s bez OpenPGP." + +#~ msgid "The following message was NOT encrypted" +#~ msgstr "Následující zpráva NEBYLA šifrovaná" + +#~ msgid "Toggle Open_PGP Encryption" +#~ msgstr "Přepnout Open_PGP šifrování" + +#~ msgid "Toggle End to End Encryption" +#~ msgstr "Přepnout šifrování mezi uživateli" + +#, fuzzy +#~ msgid "OpenPGP encryption enabled" +#~ msgstr "GPG Šifrování zapnuto" + +#, fuzzy +#~ msgid "No OpenPGP key assigned" +#~ msgstr "Nepřiřazen GPG klíč" + +#, fuzzy +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages with OpenPGP." +#~ msgstr "" +#~ "Tento kontakt nemá přiřazen GPG klíč. Proto nemůžeš šifrovat pomocí GPG " +#~ "zprávy." + +#~ msgid "Session WILL be logged" +#~ msgstr "Sezení BUDE logováno" + +#~ msgid "Session WILL NOT be logged" +#~ msgstr "Sezení NEBUDE logováno" + +#~ msgid "is" +#~ msgstr "je" + +#~ msgid "is NOT" +#~ msgstr "NENÍ" + +#~ msgid "will" +#~ msgstr "bude" + +#~ msgid "will NOT" +#~ msgstr "NEBUDE" + +#~ msgid "The following message was encrypted" +#~ msgstr "Následující zpráva byla šifrovaná" + +#, fuzzy +#~ msgid "Toggle the OpenPGP encryption" +#~ msgstr "Přepnout Open_PGP šifrování" + +#~ msgid "" +#~ "Should Gajim automatically start an encrypted session with this contact " +#~ "when possible?" +#~ msgstr "" +#~ "Má Gajim uskutečnit šifrované spojení s tímto kontaktem je-li k dispozici?" + +# FIXME: co to je? +#~ msgid "Neither the remote presence is signed, nor a key was assigned." +#~ msgstr "Není podepsaná přítomnost ani není přiřazen klíč." + +#~ msgid "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "Klíč kontaktu (%s) se neshoduje s klíčem v Gajimu." + +#~ msgid "[This message is *encrypted* (See :XEP:`27`]" +#~ msgstr "[Tato zpráva je *zašifrovaná* (Viz :XEP:\"27\")]" + +#~ msgid "" +#~ "Your chat session with %(jid)s is encrypted.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "Vaš rozhovor s %(jid)s je šifrovaný.\n" +#~ "\n" +#~ "Krátký Autentizační řetězec pro toto sezení je: %(sas)s" + +#~ msgid "You have already verified this contact's identity." +#~ msgstr "Už jste prověřoval identitu tohoto kontaktu." + +#~ msgid "Contact's identity verified" +#~ msgstr "Identita kontaktu ověřena" + +#~ msgid "" +#~ "To be certain that only the expected person can read your messages " +#~ "or send you messages, you need to verify their identity by clicking the " +#~ "button below." +#~ msgstr "" +#~ "Chcete-li mít jistotu, že pouze důvěryhodné osoby mohou číst vaše " +#~ "zprávy nebo vám poslat zprávu, je potřeba ověřit jejich identitu kliknutí " +#~ "na tlačítko dole." + +#~ msgid "Contact's identity NOT verified" +#~ msgstr "Identita kontaktu NENÍ ověřena" + +#, fuzzy +#~ msgid "Verify…" +#~ msgstr "_Kontroluj" + +#~ msgid "Have you verified the contact's identity?" +#~ msgstr "Ověřil(a) jste identitu kontaktu?" + +#~ msgid "" +#~ "To prevent talking to an unknown person, you should speak to %(jid)s directly (in person or on the phone) and verify that they see the same " +#~ "Short Authentication String (SAS) as you.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "Pro zabránění man-in-the-middle útoku, si promluvte přímo s %(jid)s (například osobně nebo po telefonu) a ověřte zda vidí stejný Krátký " +#~ "Autentizační řetězec (SAS) jako vy.\n" +#~ "Krátký Autentizační řetězec: %(sas)s" + +#~ msgid "Did you talk to the remote contact and verify the SAS?" +#~ msgstr "Mluvily jste se vzdáleným kontaktem a ověřil s ním SAS?" + +#~ msgid "" +#~ "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "" +#~ "Klíč kontaktu (%s) se neshoduje s klíčem přiřazeným v Gajimu." + +#, fuzzy +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages." +#~ msgstr "" +#~ "Tomuto kontaktu není přiřazen GPG klíč. Proto nemůžete šifrovat zprávy." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP key is assigned to this contact, but you do not trust their " +#~ "key, so message cannot be encrypted. Use your OpenPGP client " +#~ "to trust their key." +#~ msgstr "" +#~ "Tomuto kontaktu je přiřazen GPG klíč, ale Vy nedůvěřujete jeho klíči, proto zpráva nemůže být zašifrovaná. Použijte Váš GPG klient " +#~ "pro nastavení důvěry." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP Key is assigned to this contact, and you trust their key, so " +#~ "messages will be encrypted." +#~ msgstr "" +#~ "Tento kontakt má přiřazen GPG klíč a tomuto klíči důvěřujete, zprávy tedy " +#~ "budou šifrované." + +#~ msgid "" +#~ "This icon indicates that this message has not yet\n" +#~ "been received by the remote end. If this icon stays\n" +#~ "for a long time, it's likely the message got lost." +#~ msgstr "" +#~ "Tato ikona indikuje, že zpráva ještě nebyla přijata protější\n" +#~ "stranou. Pokud zůstává dlouho, zpráva je pravděpodobně\n" +#~ "ztracena." + +#~ msgid "" +#~ "If True, listen to D-Bus signals from NetworkManager and change the " +#~ "status of accounts (provided they do not have listen_to_network_manager " +#~ "set to False and they sync with global status) based upon the status of " +#~ "the network connection." +#~ msgstr "" +#~ "Je-li povoleno, čeká na D-Bus signál z NetworkManager a změní stav účtů " +#~ "(pokud nemají nastaveno listen_to_network_manager nastavený na False a " +#~ "synchronizují se s globálním stavem) v závislosti na stavu síťového " +#~ "připojení." + +#~ msgid "" +#~ "The database file (%s) cannot be read. Try to repair it or remove it (all " +#~ "history will be lost)." +#~ msgstr "" +#~ "Nelze přečíst soubor databáze (%s). Opravte ho nebo smažte (tím ztratíte " +#~ "všechny zprávy v historii)." + +#~ msgid "Database cannot be read." +#~ msgstr "Nemohu číst z databáze." + +#~ msgid "A message from a non-valid JID arrived, it has been ignored." +#~ msgstr "Přišla zpráva od neplatného JID a byla ignorována." + +#~ msgid "Smooth scroll message in conversation window" +#~ msgstr "Jemné posouvání v okně diskuze" + +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "Upravit kontrolu soukromí..." + +#~ msgid "_Administrator" +#~ msgstr "_Správce" + +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "Poslat zprávu momentálně připojeným uživatelům tohoto serveru" + +#~ msgid "Sets Message of the Day" +#~ msgstr "Nastaví Zprávu dne" + +#~ msgid "Updates Message of the Day" +#~ msgstr "Upraví Zprávu dne" + +#~ msgid "Deletes Message of the Day" +#~ msgstr "Smaže zprávu dne" + +#~ msgid "Add _Contact..." +#~ msgstr "Přid_at Kontakt..." + +#~ msgid "Profile, A_vatar" +#~ msgstr "Profil, A_vatar" + +#~ msgid "File _Transfers" +#~ msgstr "_Přenosy souborů" + +#~ msgid "Help online" +#~ msgstr "Nápověda online" + +#~ msgid "Frequently Asked Questions (online)" +#~ msgstr "Často kladené dotazy - FAQ (online)" + +#~ msgid "Fea_tures" +#~ msgstr "Vlastnosti serveru" + +#~ msgid "to %s account" +#~ msgstr "do účtu %s" + +#~ msgid "using %s account" +#~ msgstr "pomocí účtu %s" + +#~ msgid "of account %s" +#~ msgstr "účtu %s" + +#~ msgid "for account %s" +#~ msgstr "pro účet %s" + +#~ msgid "" +#~ "By removing this contact you also remove authorization resulting in him " +#~ "or her always seeing you as offline." +#~ msgstr "" +#~ "Smazáním kontaktu také zrušíte autorizaci. Kontakt Vás tak vždy uvidí " +#~ "jako odpojeného." + +#~ msgid "Invalid Jabber ID" +#~ msgstr "Neplatné Jabber ID" + +#~ msgid "Verify..." +#~ msgstr "Ověřit..." + +#~ msgid "This file is being used by another process." +#~ msgstr "Tento soubor je používán jiným procesem." + +#~ msgid "pgp key" +#~ msgstr "pgp klíč" + +#~ msgid "" +#~ "Sends new single message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Poslat novou prostou zprávu kontaktu v Seznamu. Obojí OpenPGP klíč a účet " +#~ "jsou volitelné. Pokud chcete nastavit pouze 'account' bez 'OpenPGP key', " +#~ "nastavte prostě 'OpenPGP key' na ''." + +#, fuzzy +#~ msgid "Please first choose another theme as your current theme." +#~ msgstr "Vyberte prosím napřed jiné téma." + +#~ msgid "A non-privacy-related room configuration change has occurred" +#~ msgstr "Nastala změna nastavení netýkající se soukromí" + +#, fuzzy +#~ msgid "Maximum number of users for %s has been reached" +#~ msgstr "V %s byl dosažen maximální počet uživatelů" + +#~ msgid "Your passphrase is incorrect" +#~ msgstr "Vaše heslo je neplatné" + +#, fuzzy +#~ msgid "OpenPGP Passphrase Incorrect" +#~ msgstr "Heslo OpenGPG není platné" + +#, fuzzy +#~ msgid "OpenPGP key not trusted" +#~ msgstr "GPG klíč není důvěryhodný" + +#~ msgid "You successfully received %(filename)s from %(name)s." +#~ msgstr "Soubor %(filename)s od %(name)s byl úspěsně přijat." + +#, fuzzy +#~ msgid "Set logs directory" +#~ msgstr "vytvářím adresář %s " + +#~ msgid "_Manage Bookmarks..." +#~ msgstr "Spravovat _záložky..." + +# FIXME: nejak divne, asi spatne prelozene -ne myslim ze to je ok +#~ msgid "Change Status Message..." +#~ msgstr "Změnit popis stavu..." + +#~ msgid "_Change Status Message..." +#~ msgstr "_Změnit popis stavu..." + +#~ msgid "" +#~ "You are not interested in the contact's presence, and neither he/she is " +#~ "interested in yours" +#~ msgstr "Vy ani kontakt se nezajímáte o stav toho druhého" + +#~ msgid "Error description..." +#~ msgstr "Popis chyby..." + +#, fuzzy +#~ msgid "View contact information (Ctrl+I)" +#~ msgstr "Pozvat kontakty k rozhovoru (Ctrl+G)" + +#~ msgid "3" +#~ msgstr "3" + +#~ msgid "4" +#~ msgstr "4" + +#~ msgid "5" +#~ msgstr "5" + +#~ msgid "6" +#~ msgstr "6" + +#~ msgid "7" +#~ msgstr "7" + +#~ msgid "8" +#~ msgstr "8" + +#~ msgid "9" +#~ msgstr "9" + +#~ msgid "*" +#~ msgstr "*" + +#, fuzzy +#~ msgid "All Chat Histories" +#~ msgstr "Všechny stavy" + +#, fuzzy +#~ msgid "homepage url" +#~ msgstr "Dom. stránka:" + +#~ msgid "More" +#~ msgstr "Více" + +#~ msgid "creating %s directory" +#~ msgstr "vytvářím adresář %s " + +#~ msgid "" +#~ "If True, Gajim will use KDE Wallet (if kwalletcli is available) to store " +#~ "account passwords." +#~ msgstr "" +#~ "Je-li povoleno, Gajim použije KDE Wallet (je-li dostupný kwalletcli) k " +#~ "uložení hesel účtů." + +#~ msgid "%s is not the name of a group chat." +#~ msgstr "%s není jméno diskuze." + +#~ msgid "Session Management" +#~ msgstr "Správa Sezení" + +#~ msgid "Gajim session is stored on logout and restored on login." +#~ msgstr "" +#~ "Sezení Gajimu je uloženo při odhlášení a znovu načteno při přihlášení." + +#~ msgid "Requires python-gnome2." +#~ msgstr "Je potřeba python-gnome2." + +#~ msgid "SRV" +#~ msgstr "SRV" + +#~ msgid "Ability to connect to servers which are using SRV records." +#~ msgstr "Schopnost připojit se na servery používající SRV záznamy." + +#~ msgid "Requires dnsutils." +#~ msgstr "Je potřeba dnsutils." + +#~ msgid "Requires nslookup to use SRV records." +#~ msgstr "Je potřeba nslookup pro použití SRV záznamů." + +#~ msgid "Gajim needs X server to run. Quiting..." +#~ msgstr "Gajim vyžaduje k běhu X server. Končím..." + +#~ msgid "importing PyGTK failed: %s" +#~ msgstr "import PyGTK selhal: %s" + +#, fuzzy +#~ msgid "Gajim needs PyGTK 2.22 or above" +#~ msgstr "Gajim vyžaduje PyGTK 2.12 nebo novější" + +#, fuzzy +#~ msgid "Gajim needs PyGTK 2.22 or above to run. Quiting..." +#~ msgstr "Gajim vyžaduje PyGTK 2.12 nebo novější. Končím..." + +#, fuzzy +#~ msgid "Gajim needs GTK 2.22 or above" +#~ msgstr "Gajim potřebuje GTK 2.12 nebo novější" + +#, fuzzy +#~ msgid "Gajim needs GTK 2.22 or above to run. Quiting..." +#~ msgstr "Gajim vyžaduje GTK 2.12 nebo novější. Končím..." + +#~ msgid "Gajim needs pywin32 to run" +#~ msgstr "Gajim potřebuje k běhu pywin32" + +#~ msgid "" +#~ "Please make sure that Pywin32 is installed on your system. You can get it " +#~ "at %s" +#~ msgstr "" +#~ "Prosím ujistěte se, že Pywin32 je nainstalován na vašem počítači. Můžete " +#~ "jej získat na %s" + +#~ msgid "Gajim is already running" +#~ msgstr "Gajim již běží" + +#~ msgid "" +#~ "Another instance of Gajim seems to be running\n" +#~ "Run anyway?" +#~ msgstr "" +#~ "Jiná instance Gajimu pravděpodobně již běží\n" +#~ "Přesto spustit?" + +# FIXME: neni presne +#~ msgid "A programming error has been detected" +#~ msgstr "Byla objevena chyba v programu" + +#~ msgid "Details" +#~ msgstr "Detaily" + +#, fuzzy +#~ msgid "" +#~ "Gnome Keyring is installed but not correctly started (environment " +#~ "variable probably not correctly set)" +#~ msgstr "" +#~ "Gnome Keyring je nainstalován ale není správně spuštěn (proměná prostředí " +#~ "není asi správně nastavena)" + +#~ msgid "Jabber ID: " +#~ msgstr "Jabber ID:" + +#~ msgid "Resource: " +#~ msgstr "Zdroj: " + +#~ msgid "Subscription: " +#~ msgstr "Autorizace: " + +#, fuzzy +#~ msgid "Mood: " +#~ msgstr "Nálada:" + +#, fuzzy +#~ msgid "Activity: " +#~ msgstr "Činnost:" + +#~ msgid "Check on startup if Gajim is the _default Jabber client" +#~ msgstr "Vždy při startu zkontroluj, zda je Gajim _výchozí Jabber klient" + +#~ msgid "" +#~ "If True, Gajim will check if it's the default jabber client on each " +#~ "startup." +#~ msgstr "" +#~ "Pokud zapnuto, Gajim zkontroluje, zda je výchozí jabber klient, při " +#~ "každém startu." + +#~ msgid "Gajim is not the default Jabber client" +#~ msgstr "Gajim není výchozí Jabber klient" + +#~ msgid "Would you like to make Gajim the default Jabber client?" +#~ msgstr "Chcete nastavit Gajim jako výchozí Jabber klient?" + +#~ msgid "Always check to see if Gajim is the default Jabber client on startup" +#~ msgstr "Vždy zkontroluj při startu, zda je Gajim výchozí Jabber klient." + +#~ msgid "Execute Command..." +#~ msgstr "Provést příkaz..." + +#~ msgid " a window/tab opened with that contact " +#~ msgstr "okno/žáložka otevřená s tímto kontaktem" + +#~ msgid "Actions" +#~ msgstr "Akce" + +#~ msgid "Conditions" +#~ msgstr "Podmínky" + +#~ msgid "Advanced Notifications Control" +#~ msgstr "Pokročilá správa upozorňování" + +#~ msgid "Busy " +#~ msgstr "Nerušit" + +#, fuzzy +#~ msgid "Contact Change Status " +#~ msgstr "Kontakt změnil stav" + +#~ msgid "Don't have " +#~ msgstr "Nemá" + +#~ msgid "File Transfer Started " +#~ msgstr "Přenos souboru zahájen" + +#, fuzzy +#~ msgid "Group Chat Message Highlight " +#~ msgstr "Zvýraznění zprávy v diskuzi" + +#, fuzzy +#~ msgid "Group Chat Message Received " +#~ msgstr "Přijetí zprávy v diskuzi" + +#~ msgid "Launch a command" +#~ msgstr "Provést příkaz" + +#~ msgid "One or more special statuses..." +#~ msgstr "Jeden nebo více zvláštních stavů..." + +#~ msgid "Online / Free For Chat" +#~ msgstr "Připojen / Ukecaný" + +#~ msgid "Play a sound" +#~ msgstr "Přehrát zvuk" + +#~ msgid "When " +#~ msgstr "Když" + +#~ msgid "" +#~ "_Activate window manager's UrgencyHint to make chat window in taskbar " +#~ "flash" +#~ msgstr "" +#~ "_Aktivuj UrgencyHint window manageru pro blikání okna rozhovoru v liště " +#~ "úloh" + +#~ msgid "_Disable auto opening chat window" +#~ msgstr "_Vypnout automatické otevírání okna rozhovoru" + +#~ msgid "_Disable existing popup window" +#~ msgstr "_Vypnout vyskakování existujících oken" + +#~ msgid "_Disable existing sound for this event" +#~ msgstr "_Vypnout existující zvuky pro tuto událost" + +#, fuzzy +#~ msgid "_Disable showing event in notification area" +#~ msgstr "_Vypnout zobrazování události v rosteru" + +#~ msgid "_Disable showing event in roster" +#~ msgstr "_Vypnout zobrazování události v rosteru" + +#~ msgid "_Inform me with a popup window" +#~ msgstr "_Upozorni mě vyskočením okna" + +#~ msgid "_Open chat window with user" +#~ msgstr "_Otevři okno rozhovoru s uživatelem" + +#~ msgid "_Show event in roster" +#~ msgstr "_Zobrazit událost v rosteru" + +#~ msgid "and I " +#~ msgstr "a já" + +#~ msgid "contact(s)" +#~ msgstr "kontakt(y)" + +#~ msgid "everybody" +#~ msgstr "každý" + +#~ msgid "for " +#~ msgstr "pro" + +#, fuzzy +#~ msgid "group(s)" +#~ msgstr "Skupiny" + +#~ msgid "when I'm in" +#~ msgstr "když jsem v " + +#~ msgid "_Allow him/her to see my status" +#~ msgstr "_Dovol kontaktu vidět můj stav" + +#, fuzzy +#~ msgid "Descrition:" +#~ msgstr "Popis:" + +#~ msgid "Advanced..." +#~ msgstr "Rozšířené..." + +#~ msgid "Display _activity of contacts in roster" +#~ msgstr "Zobrazovat čin_nosti kontaktů v seznamu" + +#~ msgid "Display _tunes of contacts in roster" +#~ msgstr "Zobrazovat _hudbu kontaktů v seznamu" + +#~ msgid "Display m_ood of contacts in roster" +#~ msgstr "Zobrazovat _nálady kontaktů v seznamu" + +#~ msgid "" +#~ "If checked, Gajim will display the activity of contacts in the roster " +#~ "window" +#~ msgstr "" +#~ "Pokud zaškrtnuto, Gajim bude zobrazovat avatary kontaktů v okně Seznamu a " +#~ "v diskuzích" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will display the location of contacts in the roster " +#~ "window" +#~ msgstr "" +#~ "Pokud zaškrtnuto, Gajim bude zobrazovat avatary kontaktů v okně Seznamu a " +#~ "v diskuzích" + +#~ msgid "" +#~ "If checked, Gajim will display the tunes of contacts in the roster window" +#~ msgstr "" +#~ "Pokud zaškrtnuto, Gajim bude zobrazovat avatary kontaktů v okně Seznamu a " +#~ "v diskuzích" + +#~ msgid "Gajim Instant Messenger" +#~ msgstr "Gajim Instant Messenger" + +#~ msgid "English" +#~ msgstr "Angličtina" + +#~ msgid "Belarusian" +#~ msgstr "Běloruština" + +#~ msgid "Bulgarian" +#~ msgstr "Bulharština" + +#~ msgid "Breton" +#~ msgstr "Bretonština" + +#~ msgid "Czech" +#~ msgstr "Čeština" + +#~ msgid "German" +#~ msgstr "Němčina" + +#~ msgid "Greek" +#~ msgstr "Řečtina" + +#~ msgid "British" +#~ msgstr "Britština" + +#~ msgid "Esperanto" +#~ msgstr "Esperanto" + +#~ msgid "Spanish" +#~ msgstr "Španělština" + +#~ msgid "Basque" +#~ msgstr "Baskičtina" + +#~ msgid "French" +#~ msgstr "Francouzština" + +#~ msgid "Croatian" +#~ msgstr "Chorvatština" + +#~ msgid "Italian" +#~ msgstr "Italština" + +#~ msgid "Norwegian (b)" +#~ msgstr "Norština (b)" + +#~ msgid "Dutch" +#~ msgstr "Holandština" + +#~ msgid "Norwegian" +#~ msgstr "Norština" + +#~ msgid "Polish" +#~ msgstr "Polština" + +#~ msgid "Portuguese" +#~ msgstr "Portugalština" + +#~ msgid "Brazilian Portuguese" +#~ msgstr "Brazilská portugalština" + +#~ msgid "Russian" +#~ msgstr "Ruština" + +#~ msgid "Serbian" +#~ msgstr "Srbština" + +#~ msgid "Slovak" +#~ msgstr "Slovenština" + +#~ msgid "Swedish" +#~ msgstr "Švédština" + +#~ msgid "Chinese (Ch)" +#~ msgstr "Čínština" + +#~ msgid "Spelling language" +#~ msgstr "Kontrola jazyka" + +#~ msgid "" +#~ "If True, Gajim will convert string between $$ and $$ to an image using " +#~ "dvips and convert before insterting it in chat window." +#~ msgstr "" +#~ "Je-li povoleno, Gajim převede řetězec mezi $$ a $$ na obrázek pomocí " +#~ "dvips a převede před vložením do okna rozhovoru." + +#~ msgid "" +#~ "Change the value to change the size of latex formulas displayed. The " +#~ "higher is larger." +#~ msgstr "" +#~ "Změnou hodnoty změníte velikost zobrazovaných formulí latexu. Vyšší " +#~ "znamená větší." + +#~ msgid "all or space separated status" +#~ msgstr "všechny nebo mezerou oddělené stavy" + +#~ msgid "'yes', 'no', or 'both'" +#~ msgstr "'yes', 'no', nebo 'both'" + +#~ msgid "'yes', 'no' or ''" +#~ msgstr "'yes', 'no' nebo ''" + +#~ msgid "Check your connection or try again later" +#~ msgstr "Ověřte připojení nebo zkuste později" + +#~ msgid "Error executing \"%(command)s\": %(error)s" +#~ msgstr "chyba při spouštění \"%(command)s\": %(error)s" + +#~ msgid "error: cannot open %s for reading" +#~ msgstr "chyba: nemůžu otevřít %s pro čtení" + +#~ msgid "Unable to bind to port %s." +#~ msgstr "Nemohu naslouchat na portu %s." + +#~ msgid "" +#~ "Maybe you have another running instance of Gajim. File Transfer will be " +#~ "cancelled." +#~ msgstr "" +#~ "Možná máš puštěnou jinou instanci Gajimu. Přenos souborů bude zrušen." + +#~ msgid "A GTK+ jabber client" +#~ msgstr "GTK+ Jabber client" + +#~ msgid "Condition" +#~ msgstr "Podmínka" + +#~ msgid "when I am " +#~ msgstr "když jsem " + +#~ msgid "Requires pybonjour (http://o2s.csail.mit.edu/o2s-wiki/pybonjour)." +#~ msgstr "Je potřeba pybonjour (http://o2s.csail.mit.edu/o2s-wiki/pybonjour)." + +#~ msgid "LaTeX" +#~ msgstr "LaTeX" + +#~ msgid "Transform LaTeX expressions between $$ $$." +#~ msgstr "Převede LaTeX výraz mezi $$ $$." + +#, fuzzy +#~ msgid "" +#~ "Requires texlive-latex-base and (dvipng or ImageMagick). You have to set " +#~ "'use_latex' to True in the Advanced Configuration Editor." +#~ msgstr "" +#~ "Je potřeba texlive-latex-base a dvipng. Dále musíte nastavit 'use_latex' " +#~ "na True v Editoru rozšířeného nastavení." + +#, fuzzy +#~ msgid "" +#~ "Requires texlive-latex-base and (dvipng or ImageMagick) (All is in " +#~ "MikTeX). You have to set 'use_latex' to True in the Advanced " +#~ "Configuration Editor." +#~ msgstr "" +#~ "Je potřeba texlive-latex-base a dvipng (vše je v MikTeXu). Dále musíte " +#~ "nastavit 'use_latex' na True v Editoru rozšířeného nastavení." + +#~ msgid "Requires python-farsight." +#~ msgstr "Je potřeba python-farsight." + +#, fuzzy +#~ msgid "one of: offline, online, chat, away, xa, dnd, invisible " +#~ msgstr "" +#~ "jeden z: odpojen, připojen, ukecaný, pryč, nedostupný, nerušit, " +#~ "neviditelný " + +#, fuzzy +#~ msgid "" +#~ "Returns current status message(the global one unless account is specified)" +#~ msgstr "Vrací aktuální popis stavu (globální, pokud není uveden účet)" + +#~ msgid "" +#~ "Usage: %s %s %s \n" +#~ "\t %s" +#~ msgstr "" +#~ "Použití: %s %s %s \n" +#~ "\t %s" + +#, fuzzy +#~ msgid "" +#~ "Too many arguments. \n" +#~ "Type \"%s help %s\" for more info" +#~ msgstr "" +#~ "Příliš mnoho parametrů. \n" +#~ "Napište \"%(basename)s help %(command)s\" pro více informací" + +#, fuzzy +#~ msgid "" +#~ "Argument \"%s\" is not specified. \n" +#~ "Type \"%s help %s\" for more info" +#~ msgstr "" +#~ "Parametr \"%(arg)s\" nebyl uveden. \n" +#~ "Napište \"%(basename)s help %(command)s\" pro více informací" + +#~ msgid "Disk WriteError" +#~ msgstr "Chyba zápisu na disk" + +#~ msgid "Subject: %s" +#~ msgstr "Předmět: %s" + +#, fuzzy +#~ msgid "Mood: %s" +#~ msgstr "Nálada:" + +#, fuzzy +#~ msgid "Activity: %s" +#~ msgstr "Činnost:" + +#~ msgid "_Disable showing event in systray" +#~ msgstr "_Vypnout zobrazování události vy systrayi" + +#~ msgid "_Show event in systray" +#~ msgstr "_Zobrazit událost v systrayi" + +#~ msgid "Always use GNOME default applications" +#~ msgstr "Vždy použít OS/X výchozí aplikace" + +#~ msgid "Always use Xfce default applications" +#~ msgstr "Vždy použít OS/X výchozí aplikace" + +#~ msgid "Autodetect on every Gajim startup" +#~ msgstr "_Připojit po startu Gajimu" + +#~ msgid "Show systray:" +#~ msgstr "Zobraz oznamovací oblast:" + +#~ msgid "Nickname not allowed: %s" +#~ msgstr "Přezdívka nepovolena: %s" + +#~ msgid "we are now subscribed to %s" +#~ msgstr "jsme nyní zapsáni k %s" + +#~ msgid "we are now unsubscribed from %s" +#~ msgstr "byla nám zrušena autorizace od %s" + +#~ msgid "Account Modification" +#~ msgstr "Úprava účtu" + +#~ msgid "" +#~ "Check this so Gajim will connect in port 5223 where legacy servers are " +#~ "expected to have SSL capabilities. Note that Gajim uses TLS encryption by " +#~ "default if broadcasted by the server, and with this option enabled TLS " +#~ "will be disabled" +#~ msgstr "" +#~ "Zaškrtněte pokud se má Gajim připojit na port 5223, kde obvykle nabízejí " +#~ "starší servery SSL. Pozor- Gajim použije TLS šifrování standardně, pokud " +#~ "server ohlásí jeho podporu. Touto volbou bude TLS vypnuto" + +#~ msgid "Edit Personal Information..." +#~ msgstr "Upravit osobní informace..." + +#~ msgid "Hostname: " +#~ msgstr "Počítač: " + +#~ msgid "" +#~ "If checked, Gajim will store the password in ~/.gajim/config with 'read' " +#~ "permission only for you" +#~ msgstr "" +#~ "Pokud zaškrtnuto, Gajim uloží heslo v ~/.gajim/config s právem čtení " +#~ "pouze pro Vás" + +#~ msgid "Port: " +#~ msgstr "Port: " + +#~ msgid "Save _passphrase (insecure)" +#~ msgstr "Uložit _heslo (nebezpečné)" + +#~ msgid "Use _SSL (legacy)" +#~ msgstr "Použít _SSL (staré)" + +#~ msgid "gtk-add" +#~ msgstr "gtk-add" + +#~ msgid "gtk-close" +#~ msgstr "gtk-close" + +#~ msgid "gtk-remove" +#~ msgstr "gtk-remove" + +#~ msgid "" +#~ "Receive a Message\n" +#~ "Contact Disconnected \n" +#~ "Contact Change Status \n" +#~ "Group Chat Message Highlight \n" +#~ "Group Chat Message Received \n" +#~ "File Transfer Request \n" +#~ "File Transfer Started \n" +#~ "File Transfer Finished" +#~ msgstr "" +#~ "Obdržet zprávu \n" +#~ "Kontakt odpojen \n" +#~ "Kontakt změnil stav \n" +#~ "Zvýraznění zprávy z diskuze \n" +#~ "Obdržení zprávy z diskuze \n" +#~ "Žádost o přenos souboru \n" +#~ "Začátek přenosu souboru \n" +#~ "Ukončení přenosu souboru" + +#~ msgid "" +#~ "contact(s)\n" +#~ "group(s)\n" +#~ "everybody" +#~ msgstr "" +#~ "kontakty\n" +#~ "skupiny\n" +#~ "všichni" + +#~ msgid "" +#~ "Account row\n" +#~ "Group row\n" +#~ "Contact row\n" +#~ "Chat Banner" +#~ msgstr "" +#~ "Řádek účtu\n" +#~ "Řádek skupiny\n" +#~ "Řádek kontaktu\n" +#~ "Nadpis rozhovoru" + +#~ msgid "" +#~ "Enter JID or Contact name\n" +#~ "Groupchat Histories\n" +#~ "All Chat Histories" +#~ msgstr "" +#~ "Zadej JID nebo jméno kontaktu\n" +#~ "Historie diskuzí\n" +#~ "Historie všech rozhovorů" + +#~ msgid "gtk-delete" +#~ msgstr "gtk-delete" + +#~ msgid "Send a file (Ctrl+F)" +#~ msgstr "Poslat soubor (Ctrl+F)" + +#~ msgid "" +#~ "All chat states\n" +#~ "Composing only\n" +#~ "Disabled" +#~ msgstr "" +#~ "Všechny stavy rozhovoru\n" +#~ "Pouze píšu zprávu\n" +#~ "Vypnuto" + +#~ msgid "" +#~ "Autodetect on every Gajim startup\n" +#~ "Always use GNOME default applications\n" +#~ "Always use KDE default applications\n" +#~ "Always use Xfce default applications\n" +#~ "Custom" +#~ msgstr "" +#~ "Automaticky zjistit při každém startu aplikace\n" +#~ "Vždy použít výchozí aplikace z GNOME\n" +#~ "Vždy použít výchozí aplikace z KDE\n" +#~ "Vždy použít výchozí aplikace z Xfce\n" +#~ "Vlastní" + +#~ msgid "" +#~ "Detached roster with detached chats\n" +#~ "Detached roster with single chat\n" +#~ "Single window for everything\n" +#~ "Detached roster with chat grouped by account\n" +#~ "Detached roster with chat grouped by type" +#~ msgstr "" +#~ "Samostatný roster a samostatná okna pro diskuze\n" +#~ "Samostatný roster s jedním diskuzním oknem\n" +#~ "Samostatné okno pro všechno\n" +#~ "Samostatný roster a samostatná okna pro diskuze pro každý účet\n" +#~ "Samostatný roster s diskuzními okny podle typu" + +#~ msgid "" +#~ "Pop it up\n" +#~ "Notify me about it\n" +#~ "Show only in roster" +#~ msgstr "" +#~ "Upozorni mě aktivací okna\n" +#~ "Upozorni mě\n" +#~ "Zobrazit pouze v rosteru" + +#~ msgid "" +#~ "none\n" +#~ "both\n" +#~ "from\n" +#~ "to" +#~ msgstr "" +#~ "žádná\n" +#~ "oboustranná\n" +#~ "ode mě\n" +#~ "ke mě" + +#~ msgid "gtk-cancel" +#~ msgstr "gtk-close" + +#~ msgid "pysqlite2 (aka python-pysqlite2) dependency is missing. Exiting..." +#~ msgstr "" +#~ "Závislost na pysqlite2 (neboli python-pysqlite2) není splněna. Končím..." + +#~ msgid "Banners and clickable links" +#~ msgstr "Bannery a klikatelné odkazy" + +#~ msgid "Ability to have clickable URLs in chat and groupchat window banners." +#~ msgstr "" +#~ "Funkce umožňující mít klikatelné URL odkazy v rozhovoru a předmětu " +#~ "diskuze." + +#~ msgid "Requires python-sexy." +#~ msgstr "Je potřeba python-sexy." + +#~ msgid "GTK+ runtime is missing libglade support" +#~ msgstr "GTK+ runtime vyžaduje podporu libglade" + +#~ msgid "" +#~ "Please remove your current GTK+ runtime and install the latest stable " +#~ "version from %s" +#~ msgstr "" +#~ "Prosím odinstalujte stávající GTK+ runtime a nainstalujte poslední " +#~ "stabilní verzi z %s" + +#~ msgid "" +#~ "Please make sure that GTK+ and PyGTK have libglade support in your system." +#~ msgstr "" +#~ "Ujistěte se prosím, že GTK+ a PyGTK ve Vašem systému podporují libglade." + +#~ msgid "Gajim needs PySQLite2 to run" +#~ msgstr "Gajim vyžaduje PySQLite2" + +#~ msgid "_Outgoing message:" +#~ msgstr "_Odchozí zpráva:" + +#~ msgid "gtk-ok" +#~ msgstr "gtk-close" + +#~ msgid "" +#~ "The host %s you configured as the ft_add_hosts_to_send advanced option is " +#~ "not valid, so ignored." +#~ msgstr "" +#~ "Host %s nastevený jako ft_add_hosts_to_send má rozšířenou volbu chybnou, " +#~ "bude ignorována." + +#~ msgid "OpenPGP passphrase was not given" +#~ msgstr "OpenPGP heslo nebylo zadáno" + +#~ msgid "" +#~ "To continue sending and receiving messages, you will need to reconnect." +#~ msgstr "" +#~ "Pro pokračování v přijímání a odesílání zpráv se musíte znovu připojit." + +#~ msgid "" +#~ "You are not connected or not visible to others. Your message could not be " +#~ "sent." +#~ msgstr "" +#~ "Nejsi připojen nebo viditelný pro ostatní. Tvoje zpráva nemůže být " +#~ "odeslána." + +#~ msgid "[This message is encrypted]" +#~ msgstr "[Tato zpráva je zašifrovaná]" + +#~ msgid "A icon in systemtray reflecting the current presence." +#~ msgstr "Ikona v systémové liště zobrazující aktuální stav." + +#~ msgid "" +#~ "Requires python-gnome2-extras or compiled trayicon module from Gajim " +#~ "sources." +#~ msgstr "" +#~ "Je potřeba python-gnome2-extras nebo zkompilovaný trayicon modul ze " +#~ "zdrojáků Gajima." + +#~ msgid "Requires PyGTK >= 2.10." +#~ msgstr "Je potřeba PyGTK verze 2.10. nebo vyšší." + +#~ msgid "Add Special _Notification" +#~ msgstr "Přidat zvláštní _upozornění" + +#~ msgid "Assign Open_PGP Key" +#~ msgstr "Přiřadit Open_PGP klíč" + +#~ msgid "" +#~ "Usage: /%(command)s , sends action to the current group chat. Use " +#~ "third person. (e.g. /%(command)s explodes.)" +#~ msgstr "" +#~ "Použití: /%(command)s , pošle akci do aktuální místnosti. Použijte " +#~ "třetí osobu (například /%(command)s explodoval.)" + +#~ msgid "No help info for /%s" +#~ msgstr "Žádná další nápověda pro /%s" + +#~ msgid "Enable link-local/zeroconf messaging" +#~ msgstr "Povolit lokální zprávy typu zeroconf" + +#~ msgid "Nickname not found: %s" +#~ msgstr "Přezdívka nenalezena: %s" + +#~ msgid "" +#~ "Usage: /%s [reason], bans the JID from the group chat. The " +#~ "nickname of an occupant may be substituted, but not if it contains \"@\". " +#~ "If the JID is currently in the group chat, he/she/it will also be kicked." +#~ msgstr "" +#~ "Použití: /%s [důvod], zakáže JID přístup do místnosti. " +#~ "Přezdívka nájemníka může být nahrazena, pokud neobsahuje \"@\". Pokud je " +#~ "JID právě v místnosti, bude vyhozen. NEpodporuje mezery v přezdívce." + +#~ msgid "" +#~ "Usage: /%s [reason], closes the current window or tab, displaying reason " +#~ "if specified." +#~ msgstr "" +#~ "Použití: /%s [důvod], uzavře toto okno nebo záložku, a vypíše důvod, " +#~ "pokud byl uveden." + +#~ msgid "" +#~ "Usage: /%s [reason], invites JID to the current group chat, " +#~ "optionally providing a reason." +#~ msgstr "" +#~ "Použití: /%s [důvod], pozve JID do této místnosti, případně s " +#~ "uvedeným důvodem." + +#~ msgid "" +#~ "Usage: /%s @[/nickname], offers to join room@server " +#~ "optionally using specified nickname." +#~ msgstr "" +#~ "Použití: /%s @[/přezdívka], nabízí vstup do místnosti " +#~ "místnost@server, případně s uvedenou přezdívkou." + +#~ msgid "" +#~ "Usage: /%s [reason], removes the occupant specified by " +#~ "nickname from the group chat and optionally displays a reason." +#~ msgstr "" +#~ "Použití: /%s [důvod], odstraní nájemníka určeného přezdívkou " +#~ "z místnosti a případně zobrazí důvod. NEpodporuje mezery v přezdívce." + +#~ msgid "" +#~ "Usage: /%s [message], opens a private message window and sends " +#~ "message to the occupant specified by nickname." +#~ msgstr "" +#~ "Použití: /%s [zpráva], otevře okno se soukromou zprávou a " +#~ "odešle zprávu nájemníkovi určeném přezdívkou." + +#~ msgid "Usage: /%s , changes your nickname in current group chat." +#~ msgstr "Použití: /%s , změní Vaši přezdívku v aktuální místnosti" + +#~ msgid "" +#~ "Usage: /%s [topic], displays or updates the current group chat topic." +#~ msgstr "" +#~ "Použití: /%s [téma], zobrazí nebo aktualizuje téma v aktuální místnosti." + +#~ msgid "" +#~ "Usage: /%s , sends a message without looking for other commands." +#~ msgstr "Použití: /%s , odešle zprávu bez hledání jiných příkazů." + +#~ msgid "" +#~ "Usage: /%s , allow to send you messages and private " +#~ "messages." +#~ msgstr "Použití: /%s , změní Vaši přezdívku v aktuální místnosti" + +#~ msgid "B_OSH Port:" +#~ msgstr "B_OSH Port:" + +#~ msgid "Select the account with which to synchronise" +#~ msgstr "Vybrat účet pro synchronizaci" + +#~ msgid "File transfer stopped by the contact at the other end" +#~ msgstr "Přenos souboru byl ukončen protistranou" + +#~ msgid "Generic" +#~ msgstr "Obecné" + +#~ msgid "" +#~ "%(title)s by %(artist)s\n" +#~ "from %(source)s" +#~ msgstr "" +#~ "%(title)s od %(artist)s\n" +#~ "z %(source)s" + +#~ msgid "This account is already configured in Gajim." +#~ msgstr "Tento účet už je nastaven v Gajimu." + +#~ msgid "Click to see features (like MSN, ICQ transports) of jabber servers" +#~ msgstr "" +#~ "Klikněte pro seznam vlastností (jako MSN, ICQ transporty) jabber serverů" + +#~ msgid "Click to see past conversation in this room" +#~ msgstr "Kliknutím zobraz historii konverzace v této místnosti" + +#~ msgid "History Viewer" +#~ msgstr "Prohlížeč historie" + +#~ msgid "JID Selection" +#~ msgstr "Výběr JID" + +#~ msgid "" +#~ "Choose the chatlog you want to view. \n" +#~ "Enter the jid of a groupchat or a contact here. For online accounts you " +#~ "can even enter a a contact's nickname." +#~ msgstr "" +#~ "Vyber záznam rozhovoru pro zobrazení.\n" +#~ "Zadej jid diskuze nebo kontaktu. Pro připojené účty můžeš zadat také " +#~ "přezdívku kontaktu." + +#~ msgid "in" +#~ msgstr "v" + +#~ msgid "Invitation Received" +#~ msgstr "Přišlo pozvání" + +#~ msgid "Publish and Subscribe" +#~ msgstr "Zveřejni a odebírej" + +#~ msgid "Allow others to see your:" +#~ msgstr "Povol ostatním vidět tvůj:" + +#~ msgid "" +#~ "If checked, Gajim will sort contacts in roster window and groupcahts by " +#~ "their status and not by the shown name" +#~ msgstr "" +#~ "Pokud zaškrtnuto, Gajim bude řadit kontakty v okně rosteru podle stavu, " +#~ "nikoliv zobrazeného jména" + +#~ msgid "Receive your contact's:" +#~ msgstr "Přijmi tvé kontakty:" + +#~ msgid "Avatar:" +#~ msgstr "Avatar:" + +#~ msgid "Role:" +#~ msgstr "Postavení:" + +#~ msgid "A_ccounts" +#~ msgstr "Úč_ty" + +#~ msgid "OS:" +#~ msgstr "OS:" + +#~ msgid "Modify Account" +#~ msgstr "Upravit účet" + +#~ msgid "inactive" +#~ msgstr "Neaktivní" + +#~ msgid "working" +#~ msgstr "Pracuji" + +#~ msgid "day_off" +#~ msgstr "volný den" + +#~ msgid "having_a_beer" +#~ msgstr "Na pivě" + +#~ msgid "having_tea" +#~ msgstr "Holím se" + +#~ msgid "in_a_car" +#~ msgstr "v autě" + +#~ msgid "in_real_life" +#~ msgstr "v reálném životě" + +#~ msgid "on_a_bus" +#~ msgstr "v autobuse" + +#~ msgid "on_a_plane" +#~ msgstr "V letadle" + +#~ msgid "on_a_train" +#~ msgstr "Ve vlaku" + +#~ msgid "on_a_trip" +#~ msgstr "na cestě" + +#~ msgid "on_the_phone" +#~ msgstr "Zrovna telefonuji." + +#~ msgid "sleeping" +#~ msgstr "Spím" + +#~ msgid "walking" +#~ msgstr "Procházím se" + +#~ msgid "watching_tv" +#~ msgstr "Sleduji TV" + +#~ msgid "watching_a_movie" +#~ msgstr "Dívám se na film." + +#~ msgid "cold" +#~ msgstr "Tučné" + +#~ msgid "hot" +#~ msgstr "Vášnivý" + +#~ msgid "in_awe" +#~ msgstr "devět" + +#~ msgid "in_love" +#~ msgstr "zamilovaný" + +#~ msgid "sick" +#~ msgstr "Nemocný" + +#~ msgid "PyOpenSSL" +#~ msgstr "PyOpenSSL" + +#~ msgid "gnome-keyring" +#~ msgstr "gnome-keyring" + +#~ msgid "" +#~ "Requires python-gnome2-extras or compilation of gtkspell module from " +#~ "Gajim sources." +#~ msgstr "" +#~ "Je potřeba python-gnome2-extras nebo zkompilovaný gtkspell modul ze " +#~ "zdrojáků Gajima." + +#~ msgid "Idle" +#~ msgstr "Nečinný" + +#~ msgid "Requires compilation of the idle module from Gajim sources." +#~ msgstr "Je potřeba zkompilovat idle modul ze zdrojáků Gajima." + +#~ msgid "" +#~ "Requires texlive-latex-base, dvips and imagemagick. You have to set " +#~ "'use_latex' to True in the Advanced Configuration Editor." +#~ msgstr "" +#~ "Vyžaduje texlive-latex-base, dvips a imagemagick. Dále musíte nastavit " +#~ "'use_latex' na True v Editoru rozšířeného nastavení." + +#~ msgid "libsexy" +#~ msgstr "libsexy" + +#~ msgid "%s is now known as %s" +#~ msgstr "%s se nyní nazývá %s" + +#~ msgid "%s is now %s (%s)" +#~ msgstr "%s je nyní %s (%s)" + +#~ msgid "%s is now %s" +#~ msgstr "%s je nyní %s" + +#~ msgid "" +#~ "\n" +#~ "From: %(from_address)s" +#~ msgstr "" +#~ "\n" +#~ "Odesílatel: %(from_address)s" + +#~ msgid "Network Manager support not available" +#~ msgstr "Podpora Network Manageru není dostupná" + +#~ msgid "Session Management support not available (missing gnome.ui module)" +#~ msgstr "Podpora Správce sezení není dostupná (schází gnome.ui modul)" + +#~ msgid "No such command: /%s (if you want to send this, prefix it with /say)" +#~ msgstr "" +#~ "Neexistující příkaz: /%s (chceš-li poslat tohle, napiš před to /say)" + +#~ msgid "" +#~ "Usage: /%s , sends action to the current group chat. Use third " +#~ "person. (e.g. /%s explodes.)" +#~ msgstr "" +#~ "Použití: /%s , pošle akci do aktuální místnosti. Použijte třetí " +#~ "osobu (například /%s explodoval.)" + +#~ msgid "E2E encryption enabled" +#~ msgstr "E2E šifrování zapnuto" + +#~ msgid "OK to continue with negotiation?" +#~ msgstr "Pokračovat s dohadováním?" + +#~ msgid "" +#~ "You've begun an encrypted session with %s, but it can't be guaranteed " +#~ "that you're talking directly to the person you think you are.\n" +#~ "\n" +#~ "You should speak with them directly (in person or on the phone) and " +#~ "confirm that their Short Authentication String is identical to this one: " +#~ "%s\n" +#~ "\n" +#~ "Would you like to continue with the encrypted session?" +#~ msgstr "" +#~ "Započal(a) jsi šifrované sezení s %s, ale nemůžu zaručit, že mluvíš přímo " +#~ "se zamýšleným člověkem.\n" +#~ "Měl(a) by sis s ním promluvit přímo (tváří v tvář nebo telefonicky) a " +#~ "ujistit se, zda je jeho Short Authentication String identická s tímto: " +#~ "%s\n" +#~ "\n" +#~ "Přejete si pokračovat s šifrovaném sezení?" + +#~ msgid "Yes, I verified the Short Authentication String" +#~ msgstr "Ano, ověřil(a) jsem Short Authentication String" + +#~ msgid "\"%(title)s\" by %(artist)s" +#~ msgstr "\"%(title)s\" od %(artist)s" + +#~ msgid "" +#~ "To continue, Gajim needs to access your stored secrets. Enter your " +#~ "passphrase" +#~ msgstr "Pro pokračování potřebuje Gajim uložená tajemství.Zadej heslo" + +#~ msgid "Confirm Passphrase" +#~ msgstr "Potvrďte heslo" + +#~ msgid "Enter your new passphrase again for confirmation" +#~ msgstr "Zadejte nové heslo znovu pro ověření" + +#~ msgid "Create Passphrase" +#~ msgstr "Vytvořit heslo" + +#~ msgid "Passphrases did not match.\n" +#~ msgstr "Hesla se neshodují.\n" + +#~ msgid "Gajim needs you to create a passphrase to encrypt stored secrets" +#~ msgstr "Gajim potřebuje vytvořit heslo pro zašifrování uložených tajemství" + +#~ msgid "" +#~ "If checked, Gajim can regularly poll a Last.fm account and adjust the " +#~ "status message to reflect recently played songs. " +#~ "set_status_msg_from_current_music_track option must be False." +#~ msgstr "" +#~ "Při zaškrtnutí bude Gajim pravidelně kontrolovat Last.fm účet a " +#~ "nastavovat stavovou zprávu podle posledních přehrávaných skladeb.Volba " +#~ "set_status_msg_from_current_track musí být False" + +#~ msgid "The username used to identify the Last.fm account." +#~ msgstr "Uživatelské jméno pro Last.gm účet." + +#~ msgid "" +#~ "When negotiating an encrypted session, should Gajim prefer to use public " +#~ "keys for identification?" +#~ msgstr "" +#~ "Pokud sestavuji šifrované sezení, má Gajim upřednostnit použití veřejných " +#~ "klíčů k identifikaci?" + +#~ msgid "" +#~ "Subject: %s\n" +#~ "%s" +#~ msgstr "" +#~ "Předmět: %s\n" +#~ "%s" + +#~ msgid "Gajim account %s" +#~ msgstr "Gajim účet %s" + +#~ msgid "Connection to host could not be established" +#~ msgstr "Spojení s počítačem se nepodařilo navázat." + +#~ msgid "" +#~ "Connection to host could not be established: Incorrect answer from server." +#~ msgstr "Spojení k počítači nebylo navázáno: Neplatná odpověd od serveru" + +#~ msgid "Verify remote identity" +#~ msgstr "Ověřit identitu" + +#~ msgid "\"%(title)s\" by " +#~ msgstr "\"%(title)s\" od" + +#~ msgid "Thoughtful" +#~ msgstr "Zamyšlený" diff --git a/po/da.po b/po/da.po new file mode 100644 index 0000000..90ac24c --- /dev/null +++ b/po/da.po @@ -0,0 +1,16352 @@ +# Danish translations for Gajim package. +# Copyright (C) 2007 GAJIM'S COPYRIGHT HOLDER +# This file is distributed under the same license as the Gajim package. +# +# Niels Felsted Thorsen , 2007, 2009. +msgid "" +msgstr "" +"Project-Id-Version: Gajim 0.13\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-01 17:44+0100\n" +"PO-Revision-Date: 2009-11-18 19:33+0100\n" +"Last-Translator: Niels Felsted Thorsen \n" +"Language-Team: <>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Emacs 22.1.50.1, po-mode 2.02+0.4\n" + +#: gajim/history_manager.py:78 +#, fuzzy +msgid "Usage:" +msgstr "besked" + +#: gajim/history_manager.py:80 +#, fuzzy +msgid "Options:" +msgstr "Føl_elsesikoner:" + +#: gajim/history_manager.py:82 +msgid "Show this help message and exit" +msgstr "" + +#: gajim/history_manager.py:83 +msgid "Choose folder for logfile" +msgstr "" + +#: gajim/history_manager.py:113 +msgid "Cannot find history logs database" +msgstr "Kan ikke finde historik log databasen" + +#: gajim/history_manager.py:114 +#, fuzzy, python-format +msgid "%s does not exist." +msgstr "Filen eksisterer ikke" + +#: gajim/history_manager.py:147 gajim/history_manager.py:201 +#: gajim/gtk/add_contact.py:31 gajim/gtk/discovery.py:833 +#: gajim/gtk/accounts.py:892 gajim/data/gui/vcard_information_window.ui:55 +#: gajim/data/gui/bookmarks.ui:45 gajim/data/gui/blocking_list.ui:43 +#: gajim/data/gui/mam_preferences.ui:117 +#, fuzzy +msgid "XMPP Address" +msgstr "AIM Adresse:" + +#: gajim/history_manager.py:160 gajim/history_manager.py:208 +#: gajim/gtk/history.py:108 gajim/data/gui/history_window.ui:89 +msgid "Date" +msgstr "Dato" + +#: gajim/history_manager.py:167 gajim/history_manager.py:231 +#: gajim/data/gui/profile.ui:232 gajim/data/gui/vcard_information_window.ui:442 +#: gajim/data/gui/bookmarks.ui:84 +msgid "Nickname" +msgstr "Kælenavn" + +#: gajim/history_manager.py:178 gajim/history_manager.py:217 +#: gajim/gtk/history.py:117 gajim/data/gui/single_message_window.ui:266 +msgid "Message" +msgstr "Besked" + +#: gajim/history_manager.py:186 gajim/history_manager.py:224 +#: gajim/data/gui/groups_post_window.ui:49 +#: gajim/data/gui/single_message_window.ui:205 +msgid "Subject" +msgstr "Emne" + +#: gajim/history_manager.py:254 +#, fuzzy +msgid "Database Cleanup" +msgstr "Database Fejl" + +#: gajim/history_manager.py:255 +#, fuzzy +msgid "Clean up the database?" +msgstr "opretter log database" + +#: gajim/history_manager.py:256 +#, fuzzy +msgid "" +"This is STRONGLY NOT RECOMMENDED IF GAJIM IS RUNNING.\n" +"Normally, the allocated database size will not be freed, it will just become " +"reusable. This operation may take a while." +msgstr "" +"Normalt vil den allokerede database størrelse ikke blive frigjort, den vil " +"bare kunne genbruges. Hvis du virkelig vil reducere database filstørrelsen, " +"tryk JA, eller tryk NEJ.\n" +"\n" +"I tilfælde du trykker JA, venligst vent..." + +#: gajim/history_manager.py:262 +#, fuzzy +msgid "_Cleanup" +msgstr "Ryd _op" + +#: gajim/history_manager.py:527 gajim/gtk/filetransfer.py:238 +#: gajim/gtk/filetransfer.py:248 +msgid "You" +msgstr "Du" + +#: gajim/history_manager.py:539 +#, python-format +msgid "%(who)s on %(time)s said: %(message)s\n" +msgstr "%(who)s klokken %(time)s sagde: %(message)s\n" + +#: gajim/history_manager.py:576 gajim/history_manager.py:615 +#: gajim/gtk/themes.py:362 gajim/gtk/roster_item_exchange.py:75 +#: gajim/gtk/roster_item_exchange.py:185 +msgid "Delete" +msgstr "Slet" + +#: gajim/history_manager.py:577 +#, fuzzy +msgid "Delete Conversation" +msgid_plural "Delete Conversations" +msgstr[0] "Annuller bekræftelse" +msgstr[1] "Annuller bekræftelse" + +#: gajim/history_manager.py:578 +#, fuzzy, python-format +msgid "Do you want to permanently delete this conversation with %s?" +msgid_plural "Do you want to permanently delete these conversations?" +msgstr[0] "Vil du virkelig slette den valgte besked?" +msgstr[1] "Vil du virkelig slette den valgte besked?" + +#: gajim/history_manager.py:616 +#, fuzzy +msgid "Delete Message" +msgid_plural "Delete Messages" +msgstr[0] "Standard Besked" +msgstr[1] "Standard Besked" + +#: gajim/history_manager.py:617 +#, fuzzy +msgid "Do you want to permanently delete this message?" +msgid_plural "Do you want to permanently delete these messages?" +msgstr[0] "Vil du virkelig slette den valgte besked?" +msgstr[1] "Vil du virkelig slette de valgte beskeder?" + +#: gajim/roster_window.py:268 gajim/roster_window.py:991 +msgid "Merged accounts" +msgstr "Flettede konti" + +#: gajim/roster_window.py:756 gajim/roster_window.py:1667 +#: gajim/roster_window.py:1669 gajim/roster_window.py:1986 +#: gajim/roster_window.py:3065 gajim/roster_window.py:3098 +#: gajim/roster_window.py:4026 gajim/gui_interface.py:338 +#: gajim/gui_menu_builder.py:254 gajim/gui_menu_builder.py:345 +#: gajim/chat_control.py:291 gajim/chat_control.py:421 +#: gajim/gtk/add_contact.py:320 gajim/gtk/roster_item_exchange.py:112 +#: gajim/gtk/subscription_request.py:77 gajim/gtk/subscription_request.py:126 +#: gajim/common/helpers.py:89 gajim/common/helpers.py:207 +#: gajim/common/contacts.py:243 gajim/common/contacts.py:382 +#: gajim/common/contacts.py:493 +#, fuzzy +msgid "Not in contact list" +msgstr "Vis _Afkoblede Kontakter" + +#: gajim/roster_window.py:823 gajim/roster_window.py:1579 +#: gajim/roster_window.py:1612 gajim/roster_window.py:1663 +#: gajim/roster_window.py:1665 gajim/roster_window.py:1820 +#: gajim/roster_window.py:2378 gajim/roster_window.py:3990 +#: gajim/roster_window.py:4638 gajim/gtk/discovery.py:127 +#: gajim/gtk/discovery.py:128 gajim/gtk/discovery.py:1419 +#: gajim/common/helpers.py:88 gajim/common/contacts.py:225 +#: gajim/common/contacts.py:485 +msgid "Transports" +msgstr "Transporter" + +#: gajim/roster_window.py:1671 gajim/roster_window.py:1673 +#: gajim/roster_window.py:3990 gajim/roster_window.py:4603 +#: gajim/gui_interface.py:1425 gajim/common/helpers.py:91 +#: gajim/common/contacts.py:223 +#, fuzzy +msgid "Group chats" +msgstr "Gruppesamtaler" + +#: gajim/roster_window.py:1901 gajim/chat_control.py:1688 +msgid "Remote contact stopped transfer" +msgstr "Den fjerne kontakt stoppede filoverførslen" + +#: gajim/roster_window.py:1903 gajim/chat_control.py:1690 +msgid "Error opening file" +msgstr "Fejl ved åbning af fil" + +#: gajim/roster_window.py:1968 +#, fuzzy +msgid "Authorization sent" +msgstr "Godkendelse er blevet sendt" + +#: gajim/roster_window.py:1969 +#, fuzzy, python-format +msgid "\"%s\" will now see your status." +msgstr "Nu vil %s vide din status." + +#: gajim/roster_window.py:1987 +msgid "Subscription request has been sent" +msgstr "Forespørgsel på abonnering er blevet sendt" + +#: gajim/roster_window.py:1988 +#, fuzzy, python-format +msgid "If \"%s\" accepts this request you will know their status." +msgstr "" +"Hvis %s accepterer denne forespørsel vil du kunne se hans eller hendes " +"status." + +#: gajim/roster_window.py:2002 +#, fuzzy +msgid "Authorization removed" +msgstr "Godkendelse er blevet fjernet" + +#: gajim/roster_window.py:2003 +#, python-format +msgid "Now \"%s\" will always see you as offline." +msgstr "Nu vil %s altid se dig som offline." + +#: gajim/roster_window.py:2198 gajim/data/gui/shortcuts_window.ui:66 +#, fuzzy +msgid "Quit Gajim" +msgstr "Gajim" + +#: gajim/roster_window.py:2199 +#, fuzzy +msgid "You are about to quit Gajim" +msgstr "Er du sikker på du vil afslutte Gajim?" + +#: gajim/roster_window.py:2200 +msgid "Are you sure you want to quit Gajim?" +msgstr "Er du sikker på du vil afslutte Gajim?" + +#: gajim/roster_window.py:2201 +#, fuzzy +msgid "_Always quit when closing Gajim" +msgstr "Altid afslut Gajim" + +#: gajim/roster_window.py:2204 gajim/roster_window.py:2299 +#: gajim/roster_window.py:2340 gajim/data/gui/application_menu.ui:30 +#: gajim/data/gui/systray_context_menu.ui:83 +#, fuzzy +msgid "_Quit" +msgstr "_Afslut" + +#: gajim/roster_window.py:2292 +#, fuzzy +msgid "Stop File Transfers" +msgstr "Filoverførsler" + +#: gajim/roster_window.py:2293 +#, fuzzy +msgid "You still have running file transfers" +msgstr "Annuller filoverførsel" + +#: gajim/roster_window.py:2294 +msgid "" +"If you quit now, the file(s) being transferred will be lost.\n" +"Do you still want to quit?" +msgstr "" + +#: gajim/roster_window.py:2333 +#, fuzzy +msgid "Unread Messages" +msgstr "Ulæste hændelser" + +#: gajim/roster_window.py:2334 +#, fuzzy +msgid "You still have unread messages" +msgstr "Du har ulæste beskeder" + +#: gajim/roster_window.py:2335 +#, fuzzy +msgid "" +"Messages will only be available for reading them later if storing chat " +"history is enabled and if the contact is in your contact list." +msgstr "" +"Beskeder vil kun være tilgængelige for læsning senere hvis du har historik " +"aktiveret og kontakten er i dit kontaktvindue." + +#: gajim/roster_window.py:2590 +msgid "You have unread messages" +msgstr "Du har ulæste beskeder" + +#: gajim/roster_window.py:2591 +msgid "You must read them before removing this transport." +msgstr "Du må læse dem før du fjerner denne transport." + +#: gajim/roster_window.py:2594 +#, fuzzy, python-format +msgid "Transport '%s' will be removed" +msgstr "Transport \"%s\" vil blive fjernet" + +#: gajim/roster_window.py:2595 +#, fuzzy +msgid "" +"You will no longer be able to send and receive messages from and to contacts " +"using this transport." +msgstr "" +"Du vil ikke længere være i stand til at sende og modtage beskeder fra " +"kontakter som bruger denne transport." + +#: gajim/roster_window.py:2598 +msgid "Transports will be removed" +msgstr "Transporter vil blive fjernet" + +#: gajim/roster_window.py:2603 +#, fuzzy, python-format +msgid "" +"You will no longer be able to send and receive messages from and to contacts " +"using these transports:\n" +"%s" +msgstr "" +"Du vil ikke længere være i stand til at sende og modtage beskeder fra " +"kontakter som bruger denne transport." + +#: gajim/roster_window.py:2607 +#, fuzzy +msgid "Remove Transport" +msgstr "Vis Trans_porter" + +#: gajim/roster_window.py:2662 gajim/chat_control.py:428 +#, fuzzy +msgid "Block Contact" +msgstr "Blokerede Kontakter" + +#: gajim/roster_window.py:2663 gajim/chat_control.py:429 +#, fuzzy +msgid "Really block this contact?" +msgstr "Er OpenPGP aktiveret for denne kontakt?" + +#: gajim/roster_window.py:2664 gajim/chat_control.py:430 +#, fuzzy +msgid "" +"You will appear offline for this contact and you will not receive further " +"messages." +msgstr "JID på den kontakt som skal modtage beskeden" + +#: gajim/roster_window.py:2666 +#, fuzzy +msgid "_Do not ask again" +msgstr "_Spørg mig ikke igen" + +#: gajim/roster_window.py:2669 gajim/chat_control.py:434 +#, fuzzy +msgid "_Report Spam" +msgstr "_Rapporter Fejl" + +#: gajim/roster_window.py:2673 gajim/roster_window.py:4778 +#: gajim/gui_menu_builder.py:485 gajim/chat_control.py:438 +#: gajim/data/gui/contact_context_menu.ui:151 +msgid "_Block" +msgstr "_Bloker" + +#: gajim/roster_window.py:2706 +msgid "Rename Contact" +msgstr "Omdøb Kontakt" + +#: gajim/roster_window.py:2707 +#, fuzzy, python-format +msgid "Rename contact %s?" +msgstr "Omdøb Kontakt" + +#: gajim/roster_window.py:2708 +#, fuzzy +msgid "Please enter a new nickname" +msgstr "Indtast et nyt kælenavn for kontakt %s" + +#: gajim/roster_window.py:2712 gajim/roster_window.py:3439 +#: gajim/roster_window.py:4679 gajim/dialogs.py:103 gajim/dialogs.py:116 +#: gajim/gtk/accounts.py:308 gajim/common/contacts.py:178 +#: gajim/common/contacts.py:227 gajim/data/gui/shortcuts_window.ui:12 +#: gajim/data/gui/preferences.ui:96 +msgid "General" +msgstr "General" + +#: gajim/roster_window.py:2715 +msgid "Rename Group" +msgstr "Omdøb Gruppe" + +#: gajim/roster_window.py:2716 +#, fuzzy, python-format +msgid "Rename group %s?" +msgstr "Omdøb Gruppe" + +#: gajim/roster_window.py:2717 +#, fuzzy +msgid "Please enter a new name" +msgstr "Opret et nyt tema med dit ønskede navn." + +#: gajim/roster_window.py:2747 gajim/roster_window.py:2869 +#: gajim/data/gui/groupchat_control.ui:1859 +#, fuzzy +msgid "_Rename" +msgstr "Om_døb" + +#: gajim/roster_window.py:2769 gajim/roster_window.py:2770 +msgid "Remove Group" +msgstr "Fjern Gruppen" + +#: gajim/roster_window.py:2771 +#, fuzzy, python-format +msgid "Do you want to remove %s from the contact list?" +msgstr "Vil du fjerne gruppen %s fra kontaktvinduet?" + +#: gajim/roster_window.py:2772 +#, fuzzy +msgid "_Also remove all contacts of this group from contact list" +msgstr "Fjern også alle kontakter i denne gruppe fra kontaktvinduet" + +#: gajim/roster_window.py:2864 gajim/roster_window.py:2865 +#, fuzzy +msgid "Rename Group Chat" +msgstr "Forlad Gruppesamtaler" + +#: gajim/roster_window.py:2866 +#, fuzzy +msgid "Please enter a new name for this group chat" +msgstr "Skriv et nyt brugernavn for din lokale konto" + +#: gajim/roster_window.py:3082 +#, fuzzy +msgid "Remove Contact" +msgstr "Omdøb Kontakt" + +#: gajim/roster_window.py:3083 +#, fuzzy +msgid "Remove contact from contact list" +msgstr "Fjerner kontakt fra kontaktvinduet" + +#: gajim/roster_window.py:3084 +#, fuzzy, python-format +msgid "You are about to remove %(name)s (%(jid)s) from your contact list.\n" +msgstr "Du er ved at fjerne \"%(name)s\" (%(jid)s) fra dit kontaktvindue.\n" + +#: gajim/roster_window.py:3093 gajim/roster_window.py:3113 +#, fuzzy +msgid "" +"By removing this contact you also remove authorization. This means the " +"contact will see you as offline." +msgstr "" +"Ved at fjerne disse kontakter:%s\n" +"fjerner du også godkendelsen, hvilket medfører at de altid vil se dig som " +"offline." + +#: gajim/roster_window.py:3104 +msgid "Do you want to continue?" +msgstr "Vil du fortsætte?" + +#: gajim/roster_window.py:3115 +#, fuzzy +msgid "_I want this contact to know my status after removal" +msgstr "Jeg vil at denne kontakt kan se min status efter den er blevet fjernet" + +#: gajim/roster_window.py:3122 +#, fuzzy +msgid "Remove contacts from contact list" +msgstr "Fjerner kontakt fra kontaktvinduet" + +#: gajim/roster_window.py:3128 +#, fuzzy, python-format +msgid "" +"By removing the following contacts, you will also remove authorization. This " +"means they will see you as offline:\n" +"\n" +"%s" +msgstr "" +"Ved at fjerne disse kontakter:%s\n" +"fjerner du også godkendelsen, hvilket medfører at de altid vil se dig som " +"offline." + +#: gajim/roster_window.py:3132 +#, fuzzy +msgid "Remove Contacts" +msgstr "Omdøb Kontakt" + +#: gajim/roster_window.py:3761 +#, fuzzy +msgid "You are about to create a metacontact" +msgstr "Du er ved at oprette en metakontakt. Er du sikker på du vil fortsætte?" + +#: gajim/roster_window.py:3762 +#, fuzzy +msgid "" +"Metacontacts are a way to regroup several contacts in one single contact. " +"Generally it is used when the same person has several XMPP- or Transport-" +"Accounts." +msgstr "" +"Metakontakter er en måde at gruppere flere kontakter på en linie. Oftest " +"bruges det når den samme person har flere Jabber eller transport konti." + +#: gajim/roster_window.py:3766 +#, fuzzy +msgid "Create Metacontact" +msgstr "Omdøb Kontakt" + +#: gajim/roster_window.py:3769 gajim/chat_control_base.py:771 +#: gajim/groupchat_control.py:1676 gajim/message_window.py:368 +msgid "_Do not ask me again" +msgstr "_Spørg mig ikke igen" + +#: gajim/roster_window.py:3772 gajim/data/gui/groupchat_creation.ui:317 +#, fuzzy +msgid "_Create" +msgstr "Kreativ" + +#: gajim/roster_window.py:3889 +msgid "Invalid file URI:" +msgstr "Ugyldig Fil URI:" + +#: gajim/roster_window.py:3901 +#, fuzzy, python-format +msgid "Send this file to %s:\n" +msgid_plural "Send these files to %s:\n" +msgstr[0] "Vil du sende denne fil til %s:" +msgstr[1] "Vil du sende disse filer til %s:" + +#: gajim/roster_window.py:3909 gajim/roster_window.py:3910 +#: gajim/chat_control.py:1541 gajim/gtk/filetransfer_progress.py:36 +#, fuzzy +msgid "File Transfer" +msgstr "Filoverførsler" + +#: gajim/roster_window.py:3914 gajim/data/gui/xml_console.ui:334 +msgid "_Send" +msgstr "_Send" + +#: gajim/roster_window.py:4067 +#, fuzzy, python-format +msgid "Send %(from)s to %(to)s" +msgstr "Send %s til %s" + +#: gajim/roster_window.py:4080 +#, fuzzy, python-format +msgid "Make %s first contact" +msgstr "Lav %s og %s til metakontakter" + +#: gajim/roster_window.py:4085 +#, fuzzy, python-format +msgid "Make %(contact1)s and %(contact2)s metacontacts" +msgstr "Lav %s og %s til metakontakter" + +#: gajim/roster_window.py:4436 gajim/roster_window.py:4523 +#: gajim/gtk/status_selector.py:76 +msgid "_Change Status Message" +msgstr "_Ændre Status Besked" + +#: gajim/roster_window.py:4456 +msgid "Publish Tune" +msgstr "Publicer Melodi" + +#: gajim/roster_window.py:4467 +#, fuzzy +msgid "Publish Location" +msgstr "Publicer Melodi" + +#: gajim/roster_window.py:4606 +msgid "_Maximize All" +msgstr "_Maksimer alt" + +#: gajim/roster_window.py:4615 gajim/roster_window.py:4743 +msgid "Send Group M_essage" +msgstr "Send Gruppeb_esked" + +#: gajim/roster_window.py:4622 +msgid "To all users" +msgstr "Til alle brugere" + +#: gajim/roster_window.py:4626 +msgid "To all online users" +msgstr "Til alle brugere på net" + +#: gajim/roster_window.py:4637 gajim/roster_window.py:4749 +#: gajim/data/gui/contact_context_menu.ui:36 +msgid "In_vite to" +msgstr "In_viter til" + +#: gajim/roster_window.py:4663 gajim/gui_menu_builder.py:471 +#, fuzzy +msgid "_Rename…" +msgstr "_Omdøb" + +#: gajim/roster_window.py:4669 gajim/gui_menu_builder.py:493 +#: gajim/data/gui/contact_context_menu.ui:181 +msgid "Remo_ve" +msgstr "_Fjern" + +#: gajim/roster_window.py:4759 +msgid "_Manage Contacts" +msgstr "_Håndter Kontakter" + +#: gajim/roster_window.py:4765 +#, fuzzy +msgid "Edit _Groups…" +msgstr "Ændre _Grupper" + +#: gajim/roster_window.py:4774 gajim/gui_menu_builder.py:482 +#: gajim/data/gui/contact_context_menu.ui:143 +msgid "_Unblock" +msgstr "_Fjern blokering" + +#: gajim/roster_window.py:4786 gajim/gtk/dialogs.py:70 +#: gajim/data/gui/filetransfers.ui:12 +msgid "_Remove" +msgstr "_Kan fjernes" + +#: gajim/roster_window.py:4823 +msgid "_Maximize" +msgstr "_Maksimer" + +#: gajim/roster_window.py:4828 +#, fuzzy +msgid "Re_name" +msgstr "Om_døb" + +#: gajim/roster_window.py:4836 gajim/groupchat_control.py:1680 +msgid "_Leave" +msgstr "" + +#: gajim/roster_window.py:4844 +#, fuzzy +msgid "Execute command" +msgstr "_Kør Kommando" + +#: gajim/roster_window.py:4852 gajim/data/gui/application_menu.ui:68 +#: gajim/data/gui/contact_context_menu.ui:205 +msgid "_History" +msgstr "_Historie" + +#: gajim/roster_window.py:4945 gajim/gui_interface.py:339 +#: gajim/common/helpers.py:90 gajim/common/contacts.py:221 +msgid "Observers" +msgstr "Iagttagere" + +#: gajim/roster_window.py:4948 +msgid "Observers can see your status, but you are not allowed to see theirs" +msgstr "" + +#: gajim/privatechat_control.py:105 gajim/groupchat_control.py:1225 +#, python-format +msgid "You are now known as %s" +msgstr "Du er nu kendt som %s" + +#: gajim/privatechat_control.py:107 gajim/groupchat_control.py:1227 +#, fuzzy, python-brace-format +msgid "{nick} is now known as {new_nick}" +msgstr "%(nick)s er nu kendt som %(new_nick)s" + +#: gajim/privatechat_control.py:138 gajim/groupchat_control.py:1254 +#, fuzzy, python-brace-format +msgid "You are now {show}{status}" +msgstr "Du er nu kendt som %s" + +#: gajim/privatechat_control.py:142 gajim/groupchat_control.py:1258 +#, fuzzy, python-brace-format +msgid "{nick} is now {show}{status}" +msgstr "%(nick)s er nu %(status)s" + +#: gajim/privatechat_control.py:199 +msgid "Sending private message failed" +msgstr "Sending af privat besked fejlede" + +#: gajim/privatechat_control.py:201 +#, python-format +msgid "You are no longer in group chat \"%(room)s\" or \"%(nick)s\" has left." +msgstr "" +"Du er ikke længere i gruppe samtale \"%(room)s\" eller \"%(nick)s\" har " +"forladt rummet." + +#: gajim/application.py:81 +#, fuzzy +msgid "Show the application's version" +msgstr "Vis et faneblad når der kun er en samtale?" + +#: gajim/application.py:88 +#, fuzzy +msgid "Show only critical errors" +msgstr "_Vis hændelse i kontaktvindue" + +#: gajim/application.py:95 +msgid "Separate profile files completely (even history database and plugins)" +msgstr "" + +#: gajim/application.py:103 +msgid "Print XML stanzas and other debug information" +msgstr "" + +#: gajim/application.py:110 +#, fuzzy +msgid "Use defined profile in configuration directory" +msgstr "Avanceret Konfigurations Behandler" + +#: gajim/application.py:118 +#, fuzzy +msgid "Set configuration directory" +msgstr "Rum Konfigurering" + +#: gajim/application.py:126 +msgid "Configure logging system" +msgstr "" + +#: gajim/application.py:134 +#, fuzzy +msgid "Show all warnings" +msgstr "Vis Alle Ventende Hænd_elser" + +#: gajim/application.py:141 +msgid "Open IPython shell" +msgstr "" + +#: gajim/application.py:148 +msgid "Pops up a window with the next pending event" +msgstr "Popper op et vindue ved næste hændelse" + +#: gajim/application.py:154 gajim/data/gui/shortcuts_window.ui:17 +#: data/org.gajim.Gajim.desktop.in:21 +#, fuzzy +msgid "Start a new chat" +msgstr "Start Samtale" + +#: gajim/application.py:205 gajim/gui_interface.py:131 +msgid "Database Error" +msgstr "Database Fejl" + +#: gajim/gui_interface.py:168 +#, fuzzy, python-format +msgid "HTTP (%(method)s) Authorization for %(url)s (ID: %(id)s)" +msgstr "HTTP (%(method)s) Autorisering for %(url)s (id: %(id)s)" + +#: gajim/gui_interface.py:173 +msgid "Do you accept this request?" +msgstr "Accepterer du denne forespørsel?" + +#: gajim/gui_interface.py:175 +#, fuzzy, python-format +msgid "Do you accept this request (account: %s)?" +msgstr "Accepterer du denne forespørgsel for konto %s?" + +#: gajim/gui_interface.py:181 +#, fuzzy +msgid "Authorization Request" +msgstr "Godkendelse er blevet sendt" + +#: gajim/gui_interface.py:182 +#, fuzzy +msgid "HTTP Authorization Request" +msgstr "Godkendelse er blevet sendt" + +#: gajim/gui_interface.py:185 gajim/gui_interface.py:376 +#: gajim/gui_interface.py:2002 gajim/gtk/filetransfer.py:339 +#, fuzzy +msgid "_No" +msgstr "Ingen" + +#: gajim/gui_interface.py:203 gajim/gtk/notification.py:189 +#: gajim/gtk/notification.py:216 +msgid "Connection Failed" +msgstr "Tilslutning Fejlede" + +#: gajim/gui_interface.py:299 +#, python-format +msgid "error while sending %(message)s ( %(error)s )" +msgstr "fejl opstod under sending %(message)s ( %(error)s )" + +#: gajim/gui_interface.py:324 gajim/gtk/notification.py:189 +msgid "Subscription request" +msgstr "Abonnement forespørgsel" + +#: gajim/gui_interface.py:359 +msgid "Authorization accepted" +msgstr "Autorisering accepteret" + +#: gajim/gui_interface.py:360 +#, fuzzy, python-format +msgid "The contact \"%(jid)s\" has authorized you to see their status." +msgstr "Kontakten \"%s\" har godkendt dig til at se hans eller hendes status." + +#: gajim/gui_interface.py:370 +#, fuzzy +msgid "Subscription Removed" +msgstr "Abonnement Forespørgsel" + +#: gajim/gui_interface.py:371 +#, fuzzy, python-format +msgid "%(name)s (%(jid)s) has removed subscription from you" +msgstr "Kontakt \"%s\" har fjernet abonneringen på dig" + +#: gajim/gui_interface.py:373 +#, fuzzy +msgid "" +"You will always see this contact as offline.\n" +"Do you want to remove them from your contact list?" +msgstr "" +"Du vil altid se ham eller hende som offline.\n" +"Vil du fjerne ham eller hende fra din kontakt liste?" + +#: gajim/gui_interface.py:398 gajim/gtk/notification.py:190 +msgid "Unsubscribed" +msgstr "Frameldt abonnement" + +#: gajim/gui_interface.py:410 +#, python-format +msgid "%(jid)s declined the invitation: %(reason)s" +msgstr "" + +#: gajim/gui_interface.py:414 +#, python-format +msgid "%(jid)s declined the invitation" +msgstr "" + +#: gajim/gui_interface.py:431 gajim/chat_control.py:1606 +#: gajim/gtk/notification.py:188 gajim/gtk/notification.py:214 +#: gajim/gtk/notification.py:286 gajim/gtk/groupchat_invitation.py:33 +#, fuzzy +msgid "Group Chat Invitation" +msgstr "Gruppesamtale Invitation" + +#: gajim/gui_interface.py:432 +#, fuzzy, python-format +msgid "%(contact)s invited you to %(chat)s" +msgstr "" +"$Contact har inviteret dig til at deltage i en gruppe samtale %(room_jid)s" + +#: gajim/gui_interface.py:453 +#, fuzzy +msgid "Certificate Passphrase Required" +msgstr "Certifikatet er udløbet" + +#: gajim/gui_interface.py:454 +#, fuzzy, python-format +msgid "Enter the certificate passphrase for account %s" +msgstr "Indtast adgangskoden til GPG nøglen %(keyid)s (Konto %(account)s)." + +#: gajim/gui_interface.py:463 +#, python-format +msgid "Enter your password for account %s" +msgstr "Skriv din adgangskode for kontoen %s" + +#: gajim/gui_interface.py:475 +msgid "Password Required" +msgstr "Adgangskode er Påkrævet" + +#: gajim/gui_interface.py:475 +msgid "Save password" +msgstr "Gem adgangskode" + +#: gajim/gui_interface.py:544 gajim/gui_interface.py:575 +#: gajim/gtk/notification.py:187 gajim/gtk/notification.py:279 +#: gajim/gtk/filetransfer.py:333 gajim/gtk/filetransfer.py:334 +msgid "File Transfer Error" +msgstr "Filoverførsel Fejl" + +#: gajim/gui_interface.py:609 +#, python-format +msgid "%s wants to send you a file." +msgstr "%s vil gerne sende dig en fil." + +#: gajim/gui_interface.py:611 gajim/gtk/notification.py:186 +#: gajim/gtk/notification.py:276 gajim/gtk/filetransfer.py:485 +msgid "File Transfer Request" +msgstr "Filoverførsel Forespørgsel" + +#: gajim/gui_interface.py:714 +#, fuzzy +msgid "Remote Contact Stopped Transfer" +msgstr "Den fjerne kontakt stoppede filoverførslen" + +#: gajim/gui_interface.py:719 +#, fuzzy +msgid "Error Opening File" +msgstr "Fejl ved åbning af fil" + +#: gajim/gui_interface.py:729 +#, fuzzy +msgid "SSL Certificate Error" +msgstr "SSL certifikat fejl" + +#: gajim/gui_interface.py:738 gajim/gui_interface.py:768 +#: gajim/gui_interface.py:794 gajim/chat_control.py:1573 +#: gajim/gtk/notification.py:187 gajim/gtk/notification.py:282 +msgid "File Transfer Completed" +msgstr "Filoverførsel er Fuldført" + +#: gajim/gui_interface.py:742 gajim/gui_interface.py:773 +#: gajim/gui_interface.py:800 gajim/gtk/notification.py:188 +#: gajim/gtk/notification.py:283 +msgid "File Transfer Stopped" +msgstr "Filoverførsel Stoppede" + +#: gajim/gui_interface.py:746 +#, fuzzy +msgid "File Transfer Failed" +msgstr "Filoverførsler" + +#: gajim/gui_interface.py:769 +#, fuzzy, python-format +msgid "%(filename)s received from %(name)s." +msgstr "Filoverførsel af %(filename)s fra %(name)s er stoppet." + +#: gajim/gui_interface.py:774 +#, python-format +msgid "File transfer of %(filename)s from %(name)s stopped." +msgstr "Filoverførsel af %(filename)s fra %(name)s er stoppet." + +#: gajim/gui_interface.py:780 +#, fuzzy, python-format +msgid "File transfer of %(filename)s from %(name)s failed." +msgstr "Filoverførsel af %(filename)s fra %(name)s er stoppet." + +#: gajim/gui_interface.py:795 +#, python-format +msgid "You successfully sent %(filename)s to %(name)s." +msgstr "Du har succesfuldt sendt %(filename)s til %(name)s." + +#: gajim/gui_interface.py:801 +#, python-format +msgid "File transfer of %(filename)s to %(name)s stopped." +msgstr "Filoverførsel af %(filename)s til %(name)s er stoppet." + +#: gajim/gui_interface.py:807 +#, fuzzy, python-format +msgid "File transfer of %(filename)s to %(name)s failed." +msgstr "Filoverførsel af %(filename)s til %(name)s er stoppet." + +#: gajim/gui_interface.py:919 gajim/gui_interface.py:920 +msgid "Username Conflict" +msgstr "Brugernavns Konflikt" + +#: gajim/gui_interface.py:921 +#, fuzzy +msgid "Please enter a new username for your local account" +msgstr "Skriv et nyt brugernavn for din lokale konto" + +#: gajim/gui_interface.py:925 gajim/gtk/dialogs.py:51 +#: gajim/data/gui/passphrase_dialog.ui:44 +msgid "_OK" +msgstr "_OK" + +#: gajim/gui_interface.py:988 gajim/chat_control.py:763 +#: gajim/chat_control.py:1660 gajim/gtk/notification.py:190 +#, fuzzy +msgid "Incoming Call" +msgstr "_Indkommende besked:" + +#: gajim/gui_interface.py:990 +#, python-format +msgid "%s is calling" +msgstr "" + +#: gajim/gui_interface.py:1071 gajim/gui_interface.py:1072 +#, fuzzy +msgid "Insecure Connection" +msgstr "Ikke sikker forbindelse" + +#: gajim/gui_interface.py:1073 +#, fuzzy, python-format +msgid "" +"You are about to connect to the account %(account)s (%(server)s) using an " +"insecure connection method. This means conversations will not be encrypted. " +"Connecting PLAIN is strongly discouraged." +msgstr "" +"Du er ved at sende din adgangskode på en usikker forbindelse. Du bør " +"installere PyOpenSSL for at forhindre dette. Er du sikker på du vil gøre " +"dette?" + +#: gajim/gui_interface.py:1080 gajim/data/gui/groupchat_control.ui:595 +msgid "_Abort" +msgstr "" + +#: gajim/gui_interface.py:1083 +#, fuzzy +msgid "_Connect Anyway" +msgstr "Tilslutter" + +#: gajim/gui_interface.py:1921 +msgid "Gajim: IPython Console" +msgstr "" + +#: gajim/gui_interface.py:1998 +#, fuzzy +msgid "Update Check" +msgstr "Stavekontrol" + +#: gajim/gui_interface.py:1999 +msgid "Gajim Update Check" +msgstr "" + +#: gajim/gui_interface.py:2000 +msgid "Search for Gajim updates periodically?" +msgstr "" + +#: gajim/gui_interface.py:2005 +msgid "_Search Periodically" +msgstr "" + +#: gajim/gui_interface.py:2045 +#, fuzzy +msgid "Update Available" +msgstr "Ikke Tilgængelig" + +#: gajim/gui_interface.py:2046 +#, fuzzy +msgid "Gajim Update Available" +msgstr "Ikke Tilgængelig" + +#: gajim/gui_interface.py:2047 +#, python-format +msgid "There is an update available for Gajim (latest version: %s)" +msgstr "" + +#: gajim/gui_interface.py:2049 +#, fuzzy +msgid "_Do not show again" +msgstr "_Spørg mig ikke igen" + +#: gajim/gui_interface.py:2051 gajim/gtk/accounts.py:126 +msgid "_Later" +msgstr "" + +#: gajim/gui_interface.py:2054 +msgid "_Update Now" +msgstr "" + +#: gajim/gui_menu_builder.py:358 +#, fuzzy +msgid "I would like to add you to my contact list" +msgstr "Jeg vil gerne tilføje dig til min kontakt liste." + +#: gajim/gui_menu_builder.py:435 +#, fuzzy +msgid "Send Single _Message…" +msgstr "Send en Enkel _Besked" + +#: gajim/gui_menu_builder.py:450 +#, fuzzy +msgid "E_xecute Command…" +msgstr "_Kør Kommando" + +#: gajim/gui_menu_builder.py:458 +msgid "_Manage Transport" +msgstr "Hå_ndter Transport" + +#: gajim/gui_menu_builder.py:464 +msgid "_Modify Transport" +msgstr "_Modificer Transport" + +#: gajim/gui_menu_builder.py:503 gajim/data/gui/contact_context_menu.ui:198 +msgid "_Information" +msgstr "_Information" + +#: gajim/gui_menu_builder.py:516 +#, fuzzy +msgid "Send File" +msgstr "Send _Fil" + +#: gajim/gui_menu_builder.py:517 +#, fuzzy +msgid "Upload File…" +msgstr "Gem Fil som..." + +#: gajim/gui_menu_builder.py:518 +#, fuzzy +msgid "Send File Directly…" +msgstr "Gem Fil som..." + +#: gajim/gui_menu_builder.py:520 gajim/gtk/accounts.py:734 +#, fuzzy +msgid "Send Read Markers" +msgstr "Send hold-i-live pakker" + +#: gajim/gui_menu_builder.py:521 gajim/gtk/accounts.py:710 +#, fuzzy +msgid "Send Chatstate" +msgstr "Sidste status: %s" + +#: gajim/gui_menu_builder.py:522 gajim/data/gui/groupchat_control.ui:307 +#, fuzzy +msgid "Invite Contacts…" +msgstr "Inviter _Kontakter" + +#: gajim/gui_menu_builder.py:523 gajim/gui_menu_builder.py:741 +#: gajim/gui_menu_builder.py:768 gajim/gui_menu_builder.py:807 +#, fuzzy +msgid "Add to Contact List…" +msgstr "_Tilføj Kontakt..." + +#: gajim/gui_menu_builder.py:524 +#, fuzzy +msgid "Block Contact…" +msgstr "Blokerede Kontakter" + +#: gajim/gui_menu_builder.py:525 gajim/data/gui/chat_control.ui:936 +#, fuzzy +msgid "Start Call…" +msgstr "Start Samtale" + +#: gajim/gui_menu_builder.py:526 gajim/gui_menu_builder.py:576 +#: gajim/gui_menu_builder.py:802 gajim/data/gui/groupchat_control.ui:1334 +#, fuzzy +msgid "Information" +msgstr "_Information" + +#: gajim/gui_menu_builder.py:527 gajim/gui_menu_builder.py:588 +#, fuzzy +msgid "History" +msgstr "_Historie" + +#: gajim/gui_menu_builder.py:533 gajim/gui_menu_builder.py:710 +#: gajim/gtk/preferences.py:671 gajim/gtk/groupchat_settings.py:36 +#: gajim/gtk/accounts.py:682 +msgid "Disabled" +msgstr "Ikke aktiveret" + +#: gajim/gui_menu_builder.py:534 gajim/gtk/groupchat_settings.py:37 +#: gajim/gtk/accounts.py:681 +#, fuzzy +msgid "Composing Only" +msgstr "Komponere" + +#: gajim/gui_menu_builder.py:535 gajim/gtk/groupchat_settings.py:38 +#, fuzzy +msgid "All Chat States" +msgstr "Status For Alle" + +#: gajim/gui_menu_builder.py:577 +#, fuzzy +msgid "Settings…" +msgstr "Tilslutning fejlede" + +#: gajim/gui_menu_builder.py:578 +#, fuzzy +msgid "Manage Group Chat" +msgstr "Forlad Gruppesamtaler" + +#: gajim/gui_menu_builder.py:579 +#, fuzzy +msgid "Rename…" +msgstr "_Omdøb" + +#: gajim/gui_menu_builder.py:580 +#, fuzzy +msgid "Change Subject…" +msgstr "Ændre _Emne..." + +#: gajim/gui_menu_builder.py:581 +#, fuzzy +msgid "Upload Avatar…" +msgstr "Vælg Billede" + +#: gajim/gui_menu_builder.py:582 +#, fuzzy +msgid "Configure…" +msgstr "_Konfigurere" + +#: gajim/gui_menu_builder.py:583 +#, fuzzy +msgid "Destroy…" +msgstr "Fjern %s" + +#: gajim/gui_menu_builder.py:585 +#, fuzzy +msgid "Change Nickname…" +msgstr "Ændre _Kælenavn..." + +#: gajim/gui_menu_builder.py:586 +#, fuzzy +msgid "Request Voice" +msgstr "_Stemme" + +#: gajim/gui_menu_builder.py:587 gajim/gui_menu_builder.py:825 +#, fuzzy +msgid "Execute Command…" +msgstr "_Kør Kommando" + +#: gajim/gui_menu_builder.py:589 +msgid "Leave" +msgstr "" + +#: gajim/gui_menu_builder.py:631 +#, fuzzy +msgid "Add Contact…" +msgstr "_Tilføj Kontakt..." + +#: gajim/gui_menu_builder.py:632 gajim/gtk/accounts.py:861 +#: gajim/gtk/accounts.py:899 gajim/gtk/profile.py:53 +#, fuzzy +msgid "Profile" +msgstr "fil" + +#: gajim/gui_menu_builder.py:633 +#, fuzzy +msgid "Send Single Message…" +msgstr "Send en Enkel _Besked" + +#: gajim/gui_menu_builder.py:634 +#, fuzzy +msgid "Discover Services…" +msgstr "Op_dag Tjenester" + +#: gajim/gui_menu_builder.py:635 gajim/gtk/server_info.py:47 +#, fuzzy +msgid "Server Info" +msgstr "Server" + +#: gajim/gui_menu_builder.py:636 gajim/gtk/accounts.py:312 +#: gajim/data/gui/preferences.ui:853 +msgid "Advanced" +msgstr "Avanceret" + +#: gajim/gui_menu_builder.py:637 gajim/gtk/mam_preferences.py:100 +#, fuzzy +msgid "Archiving Preferences" +msgstr "_Indstillinger" + +#: gajim/gui_menu_builder.py:638 +#, fuzzy +msgid "Blocking List" +msgstr "Liste over bandlyste" + +#: gajim/gui_menu_builder.py:639 +#, fuzzy +msgid "Bookmarks" +msgstr "_Bogmærke" + +#: gajim/gui_menu_builder.py:640 +#, fuzzy +msgid "PEP Configuration" +msgstr "Rum Konfigurering" + +#: gajim/gui_menu_builder.py:641 +#, fuzzy +msgid "Synchronise History…" +msgstr "Synkroniser" + +#: gajim/gui_menu_builder.py:643 gajim/gtk/server_info.py:141 +#: gajim/data/gui/groupchat_config.ui:36 +#, fuzzy +msgid "Admin" +msgstr "_Administrator" + +#: gajim/gui_menu_builder.py:644 +#, fuzzy +msgid "Send Server Message…" +msgstr "_Send Server Besked..." + +#: gajim/gui_menu_builder.py:645 +#, fuzzy +msgid "Set MOTD…" +msgstr "Sæt MOTD..." + +#: gajim/gui_menu_builder.py:646 +#, fuzzy +msgid "Update MOTD…" +msgstr "Opdater MOTD..." + +#: gajim/gui_menu_builder.py:647 +#, fuzzy +msgid "Delete MOTD…" +msgstr "Slet MOTD" + +#: gajim/gui_menu_builder.py:684 +#, fuzzy +msgid "_Add Account…" +msgstr "_Tilføj Kontakt..." + +#: gajim/gui_menu_builder.py:690 +#, fuzzy +msgid "_Modify Accounts…" +msgstr "_Ændre Konto" + +#: gajim/gui_menu_builder.py:700 gajim/data/gui/account_context_menu.ui:79 +#: gajim/data/gui/zeroconf_context_menu.ui:26 +#, fuzzy +msgid "_Modify Account…" +msgstr "_Ændre Konto" + +#: gajim/gui_menu_builder.py:704 gajim/gtk/accounts.py:51 +msgid "Accounts" +msgstr "Konti" + +#: gajim/gui_menu_builder.py:734 gajim/gui_menu_builder.py:739 +#, fuzzy +msgid "Copy XMPP Address" +msgstr "_Kopier JID/E-post Adresse" + +#: gajim/gui_menu_builder.py:735 gajim/gui_menu_builder.py:767 +#, fuzzy +msgid "Join Groupchat" +msgstr "Bliv med i en Gruppe Samtale" + +#: gajim/gui_menu_builder.py:740 gajim/gui_menu_builder.py:766 +#: gajim/gtk/start_chat.py:636 +#: gajim/data/gui/subscription_request_window.ui:149 +msgid "Start Chat" +msgstr "Start Samtale" + +#: gajim/gui_menu_builder.py:746 +#, fuzzy +msgid "Copy Link Location" +msgstr "_Kopier Henvisning" + +#: gajim/gui_menu_builder.py:747 +#, fuzzy +msgid "Open Link in Browser" +msgstr "_Åbn Henvisning i Netlæser" + +#: gajim/gui_menu_builder.py:752 +#, fuzzy +msgid "Copy Email Address" +msgstr "_Kopier JID/E-post Adresse" + +#: gajim/gui_menu_builder.py:753 gajim/gui_menu_builder.py:765 +#, fuzzy +msgid "Open Email Composer" +msgstr "_Åbn E-post Program" + +#: gajim/gui_menu_builder.py:758 +#, fuzzy +msgid "Copy Location" +msgstr "_Kopier Henvisning" + +#: gajim/gui_menu_builder.py:759 gajim/gtk/preferences.py:291 +#, fuzzy +msgid "Show Location" +msgstr "Påmindelse" + +#: gajim/gui_menu_builder.py:764 +#, fuzzy +msgid "Copy XMPP Address/Email" +msgstr "_Kopier JID/E-post Adresse" + +#: gajim/gui_menu_builder.py:816 +#, fuzzy +msgid "Invite" +msgstr "In_viter" + +#: gajim/gui_menu_builder.py:832 +#, fuzzy +msgid "Kick" +msgstr "_Kast ud" + +#: gajim/gui_menu_builder.py:840 +#, fuzzy +msgid "Ban" +msgstr "_Udvis" + +#: gajim/gui_menu_builder.py:850 +#, fuzzy +msgid "Make Owner" +msgstr "Ejer" + +#: gajim/gui_menu_builder.py:859 +#, fuzzy +msgid "Make Admin" +msgstr "_Administrator" + +#: gajim/gui_menu_builder.py:868 +#, fuzzy +msgid "Make Member" +msgstr "Medlem" + +#: gajim/gui_menu_builder.py:877 +#, fuzzy +msgid "Revoke Member" +msgstr "Medlem" + +#: gajim/gui_menu_builder.py:887 +msgid "Grant Voice" +msgstr "" + +#: gajim/gui_menu_builder.py:890 +#, fuzzy +msgid "Revoke Voice" +msgstr "_Stemme" + +#: gajim/gui_menu_builder.py:910 +#, fuzzy +msgid "Copy" +msgstr "Rum JID" + +#: gajim/chat_control.py:346 gajim/groupchat_control.py:348 +#, fuzzy +msgid "Send File…" +msgstr "Send _Fil" + +#: gajim/chat_control.py:348 gajim/groupchat_control.py:354 +#, fuzzy +msgid "No File Transfer available" +msgstr "Filoverførsler" + +#: gajim/chat_control.py:479 +msgid "Show a list of formattings" +msgstr "Hvis en liste over følelsesikoner" + +#: gajim/chat_control.py:483 +#, fuzzy +msgid "This contact does not support HTML" +msgstr "Denne kontakt understøtter ikke fil overførsler." + +#: gajim/chat_control.py:684 +msgid "Ping?" +msgstr "Ping?" + +#: gajim/chat_control.py:687 +#, fuzzy, python-format +msgid "Pong! (%s seconds)" +msgstr "Pong! (%s .s)" + +#: gajim/chat_control.py:758 +#, fuzzy +msgid "Calling…" +msgstr "Bandlysning..." + +#: gajim/chat_control.py:783 gajim/chat_control.py:870 +#, fuzzy +msgid "Connection Error" +msgstr "Tilslutning" + +#: gajim/chat_control.py:811 gajim/data/gui/chat_control.ui:1185 +msgid "Turn Camera on" +msgstr "" + +#: gajim/chat_control.py:822 +msgid "Calling (Video)…" +msgstr "" + +#: gajim/chat_control.py:826 gajim/chat_control.py:834 +#: gajim/chat_control.py:864 +msgid "Turn Camera off" +msgstr "" + +#: gajim/chat_control.py:832 +msgid "Incoming Call (Video)" +msgstr "" + +#: gajim/chat_control.py:1020 +#, python-format +msgid "%(nickname)s from group chat %(room_name)s" +msgstr "%(nickname)s fra gruppesamtale %(room_name)s" + +#: gajim/chat_control.py:1257 +#, fuzzy +msgid "Note: Chat history is disabled for this contact." +msgstr "Ignorer denne fejl for dette certifikat." + +#: gajim/chat_control.py:1259 +msgid "Note: Chat history is disabled for this account." +msgstr "" + +#: gajim/chat_control.py:1260 +#, fuzzy, python-format +msgid "" +"You just received a new message from %s.\n" +"Do you want to close this tab?" +msgstr "Du har netop modtaget en besked fra \"%s\"" + +#: gajim/chat_control.py:1266 gajim/gtk/remove_account.py:43 +#: gajim/gtk/change_password.py:44 +#, fuzzy +msgid "Close" +msgstr "_Send & Luk" + +#: gajim/chat_control.py:1267 gajim/gtk/notification.py:184 +#: gajim/gtk/notification.py:204 gajim/gtk/notification.py:218 +#: gajim/gtk/notification.py:271 gajim/common/connection_handlers_events.py:237 +msgid "New Message" +msgstr "Ny Besked" + +#: gajim/chat_control.py:1272 gajim/chat_control.py:1579 +#: gajim/chat_control.py:1588 gajim/message_window.py:371 +#: gajim/data/gui/groupchat_control.ui:1117 +#: gajim/data/gui/groupchat_control.ui:1203 +#: gajim/data/gui/groupchat_control.ui:1308 +#: gajim/data/gui/groupchat_control.ui:1997 +#, fuzzy +msgid "_Close" +msgstr "_Send & Luk" + +#: gajim/chat_control.py:1359 +#, python-format +msgid "" +"Subject: %(subject)s\n" +"%(message)s" +msgstr "" +"Emne: %(subject)s\n" +"%(message)s" + +#: gajim/chat_control.py:1480 +#, fuzzy, python-format +msgid "%(name)s is now %(show)s %(status)s" +msgstr "%(name)s er nu %(status)s" + +#: gajim/chat_control.py:1545 +#, fuzzy +msgid "Size" +msgstr "Størrelse: %s" + +#: gajim/chat_control.py:1547 gajim/chat_control.py:1609 +#: gajim/gtk/groupchat_invitation.py:67 +#, fuzzy +msgid "_Decline" +msgstr "_Afkoblet" + +#: gajim/chat_control.py:1550 gajim/chat_control.py:1611 +#: gajim/chat_control.py:1668 gajim/gtk/dialogs.py:59 +#, fuzzy +msgid "_Accept" +msgstr "K_ontoer" + +#: gajim/chat_control.py:1577 gajim/gtk/filetransfer.py:259 +#, fuzzy +msgid "Open _Folder" +msgstr "_Åbn folderen med filen" + +#: gajim/chat_control.py:1662 +#, fuzzy +msgid "" +"\n" +"Video Call" +msgstr "Lyd / Billede" + +#: gajim/chat_control.py:1664 +#, fuzzy +msgid "" +"\n" +"Voice Call" +msgstr "Filoverførsel Forespørgsel" + +#: gajim/chat_control.py:1666 +#, fuzzy +msgid "_Reject" +msgstr "Nedslået" + +#: gajim/chat_control.py:1692 gajim/gtk/filetransfer.py:297 +msgid "File transfer stopped" +msgstr "Filoverførsel stoppede" + +#: gajim/chat_control.py:1697 gajim/gtk/filetransfer.py:275 +#: gajim/gtk/filetransfer.py:284 +msgid "File transfer cancelled" +msgstr "Filoverførsel er afbrudt" + +#: gajim/chat_control.py:1698 +msgid "Connection with peer cannot be established." +msgstr "Tilslutning til ligeværdige kan ikke oprettes." + +#: gajim/chat_control_base.py:141 gajim/gtk/start_chat.py:649 +#: gajim/gtk/groupchat_invite.py:318 +#, fuzzy, python-format +msgid "Account: %s" +msgstr "Konti" + +#: gajim/chat_control_base.py:592 +msgid "and authenticated" +msgstr "og godkendt" + +#: gajim/chat_control_base.py:596 +msgid "and NOT authenticated" +msgstr "og IKKE godkendt" + +#: gajim/chat_control_base.py:600 +#, fuzzy, python-format +msgid "%(type)s encryption is active %(authenticated)s." +msgstr "" +"%(type)s kryptering %(status)s aktiv %(authenticated)s.\n" +"Din samtale session %(logged)s blive logget." + +#: gajim/chat_control_base.py:715 +msgid "_Undo" +msgstr "_Fortryd" + +#: gajim/chat_control_base.py:723 gajim/conversation_textview.py:417 +msgid "_Clear" +msgstr "_Ryd" + +#: gajim/chat_control_base.py:728 +msgid "Paste as quote" +msgstr "Indsæt som citat" + +#: gajim/chat_control_base.py:767 +msgid "Paste Image" +msgstr "Vælg billede" + +#: gajim/chat_control_base.py:768 +msgid "You are trying to paste an image" +msgstr "Du er ved at indsætte et billede" + +#: gajim/chat_control_base.py:769 +msgid "" +"Are you sure you want to paste your clipboard's image into the chat window?" +msgstr "" +"Er du sikker på at du vil indsætte billedet i din udklipsholder i " +"chatvinduet ? " + +#: gajim/chat_control_base.py:775 +msgid "_Paste" +msgstr "_Indsæt" + +#: gajim/chat_control_base.py:1361 gajim/gtk/accounts.py:310 +#: gajim/data/gui/profile.ui:17 gajim/data/gui/profile.ui:318 +msgid "Privacy" +msgstr "Privatliv" + +#: gajim/chat_control_base.py:1362 +msgid "Warning" +msgstr "Advarsel" + +#: gajim/chat_control_base.py:1363 +#, python-format +msgid "" +"If you send a file to %s, your real XMPP address will be revealed." +msgstr "Hvis du sender en fil til %s, vil dit Jabber ID blive afsløret." + +#: gajim/chat_control_base.py:1368 +msgid "_Continue" +msgstr "_Fortsæt" + +#: gajim/gajim_remote.py:55 gajim/common/exceptions.py:70 +msgid "D-Bus is not present on this machine or python module is missing" +msgstr "" +"D-Bus er ikke tilgængelig på denne maskine eller et python modul mangler" + +#: gajim/gajim_remote.py:77 +msgid "Shows a help on specific command" +msgstr "Viser hjælp for en specifik kommando" + +#: gajim/gajim_remote.py:80 +msgid "command" +msgstr "Kommando" + +#: gajim/gajim_remote.py:81 +msgid "show help on command" +msgstr "Vis hjælp for kommando" + +#: gajim/gajim_remote.py:85 +#, fuzzy +msgid "Lists all contacts in the contact list, one for each line" +msgstr "" +"Udskriver en liste af alle kontakter i kontaktvinduet. Hver kontakt placeres " +"på en separat linie" + +#: gajim/gajim_remote.py:87 gajim/gajim_remote.py:102 gajim/gajim_remote.py:112 +#: gajim/gajim_remote.py:122 gajim/gajim_remote.py:133 +#: gajim/gajim_remote.py:142 gajim/gajim_remote.py:163 +#: gajim/gajim_remote.py:171 gajim/gajim_remote.py:180 +#: gajim/gajim_remote.py:187 +#, fuzzy +msgid "?CLI:account" +msgstr "Konto" + +#: gajim/gajim_remote.py:87 +msgid "show only contacts of the given account" +msgstr "viser kun kontakter for den givne konto" + +#: gajim/gajim_remote.py:93 +msgid "Prints a list of registered accounts" +msgstr "Udskriver en liste af registrerede konti" + +#: gajim/gajim_remote.py:97 +msgid "Changes the status of account(s)" +msgstr "Ændrer status for kontoen eller konti" + +#: gajim/gajim_remote.py:100 +#, fuzzy +msgid "?CLI:status" +msgstr "status" + +#: gajim/gajim_remote.py:100 +#, fuzzy +msgid "" +"one of: offline, online, chat, away, xa, dnd. If not set, use account's " +"previous status" +msgstr "en af: offline, online, chat, away, xa, dnd, invisible" + +#: gajim/gajim_remote.py:101 gajim/gajim_remote.py:121 +#: gajim/gajim_remote.py:132 gajim/gajim_remote.py:141 +#, fuzzy +msgid "?CLI:message" +msgstr "besked" + +#: gajim/gajim_remote.py:101 +msgid "status message" +msgstr "status besked" + +#: gajim/gajim_remote.py:102 +msgid "" +"change status of account \"account\". If not specified, try to change status " +"of all accounts that have \"sync with global status\" option set" +msgstr "" +"Ændre status for konto \"konto\". Hvis ikke specificeret, prøv at ændre " +"status for alle konti der har sat \"synkroniser med generel status\" " +"indstillingen" + +#: gajim/gajim_remote.py:108 +msgid "Changes the priority of account(s)" +msgstr "Ændrer prioriteringen for kontoen eller konti" + +#: gajim/gajim_remote.py:110 +#, fuzzy +msgid "?CLI:priority" +msgstr "prioritet" + +#: gajim/gajim_remote.py:110 +msgid "priority you want to give to the account" +msgstr "prioriteten du vil give til kontoen" + +#: gajim/gajim_remote.py:112 +msgid "" +"change the priority of the given account. If not specified, change status of " +"all accounts that have \"sync with global status\" option set" +msgstr "" +"ændre prioritet for en given konto. Hvis ikke specificeret, ændrer status " +"for alle konti der har sat \"synkroniser med generel status\" indstillingen" + +#: gajim/gajim_remote.py:118 +#, fuzzy +msgid "" +"Sends new chat message to a contact in the contact list. Account is optional." +msgstr "Send en fil til en kontakt" + +#: gajim/gajim_remote.py:120 gajim/gajim_remote.py:130 +#, fuzzy +msgid "XMPP Address of the contact that will receive the message" +msgstr "JID på den kontakt som skal modtage beskeden" + +#: gajim/gajim_remote.py:121 gajim/gajim_remote.py:132 +#: gajim/gajim_remote.py:141 +msgid "message contents" +msgstr "besked indhold" + +#: gajim/gajim_remote.py:122 gajim/gajim_remote.py:133 +#: gajim/gajim_remote.py:142 +msgid "if specified, the message will be sent using this account" +msgstr "hvis specificeret vil beskeden blive sendt med denne konto" + +#: gajim/gajim_remote.py:127 +#, fuzzy +msgid "" +"Sends a chat message to someone on your contact list. Account is optional." +msgstr "Send en fil til en kontakt" + +#: gajim/gajim_remote.py:131 +msgid "subject" +msgstr "emne" + +#: gajim/gajim_remote.py:131 +msgid "message subject" +msgstr "emne på besked" + +#: gajim/gajim_remote.py:138 +#, fuzzy +msgid "Sends new message to a group chat you've joined." +msgstr "Send en ny besked til en gruppesamtale du deltager i." + +#: gajim/gajim_remote.py:140 +#, fuzzy +msgid "XMPP Address of the group chat that will receive the message" +msgstr "JID på den rum som skal modtage beskeden" + +#: gajim/gajim_remote.py:147 +msgid "Gets detailed info on a contact" +msgstr "Få detaljeret information om kontakten" + +#: gajim/gajim_remote.py:149 gajim/gajim_remote.py:162 +#: gajim/gajim_remote.py:170 +#, fuzzy +msgid "XMPP Address of the contact" +msgstr "Kontaktens JID" + +#: gajim/gajim_remote.py:153 +msgid "Gets detailed info on a account" +msgstr "Få detaljeret information om kontoen" + +#: gajim/gajim_remote.py:155 +msgid "Name of the account" +msgstr "Navn på kontoen" + +#: gajim/gajim_remote.py:159 +msgid "Sends file to a contact" +msgstr "Send en fil til en kontakt" + +#: gajim/gajim_remote.py:161 +msgid "file" +msgstr "fil" + +#: gajim/gajim_remote.py:161 +msgid "File path" +msgstr "Filsti" + +#: gajim/gajim_remote.py:163 +msgid "if specified, file will be sent using this account" +msgstr "hvis specificeret vil filen blive sendt med denne konto" + +#: gajim/gajim_remote.py:168 +#, fuzzy +msgid "Removes contact from contact list" +msgstr "Fjerner kontakt fra kontaktvinduet" + +#: gajim/gajim_remote.py:171 +msgid "if specified, contact is taken from the contact list of this account" +msgstr "" +"hvis specificeret vil kontakten tages fra kontaktlisten fra denne konto" + +#: gajim/gajim_remote.py:178 +msgid "Returns current status (the global one unless account is specified)" +msgstr "" +"Returnere den nuværende status (den globale status hvis ikke en konto er " +"valgt)" + +#: gajim/gajim_remote.py:185 +msgid "" +"Returns current status message (the global one unless account is specified)" +msgstr "" +"Returnere den nuværende statusbesked (den globale status besked hvis ikke en " +"konto er valgt)" + +#: gajim/gajim_remote.py:192 +msgid "Returns number of unread messages" +msgstr "Returnerer antal ikke læste beskeder" + +#: gajim/gajim_remote.py:197 +msgid "Sends custom XML" +msgstr "Sender tilpasset XML" + +#: gajim/gajim_remote.py:199 +msgid "XML to send" +msgstr "XML som skal sendes" + +#: gajim/gajim_remote.py:200 +msgid "" +"Account to which the XML will be sent; if not specified, XML will be sent to " +"all accounts" +msgstr "" +"Den konto hvor XML vil blive sendt; hvis ikke den er specificeret, vil XML " +"blive sendt til alle konti" + +#: gajim/gajim_remote.py:207 +msgid "Check if Gajim is running" +msgstr "Kontroller om Gajim kører" + +#: gajim/gajim_remote.py:233 +msgid "Missing argument \"contact_jid\"" +msgstr "Manglende argument \"contact_jid\"" + +#: gajim/gajim_remote.py:253 +#, fuzzy, python-format +msgid "" +"'%s' is not in your contact list.\n" +"Please specify account for sending the message." +msgstr "" +"'%s' er ikke i dit kontaktvindue.\n" +"Specificer venligst en konto for at sende beskeden." + +#: gajim/gajim_remote.py:256 +msgid "You have no active account" +msgstr "Du har ingen aktiv konto" + +#: gajim/gajim_remote.py:304 +msgid "It seems Gajim is not running. So you can't use gajim-remote." +msgstr "Det ser ud til at Gajim ikke kører. Så du kan ikke bruge gajim-remote." + +#: gajim/gajim_remote.py:331 +#, python-format +msgid "" +"Usage: %(basename)s %(command)s %(arguments)s \n" +"\t %(help)s" +msgstr "" +"Brug: %(basename)s %(command)s %(arguments)s \n" +"\t %(help)s" + +#: gajim/gajim_remote.py:335 +msgid "Arguments:" +msgstr "Argumenter:" + +#: gajim/gajim_remote.py:339 +#, python-format +msgid "%s not found" +msgstr "%s ikke fundet" + +#: gajim/gajim_remote.py:345 +#, fuzzy, python-format +msgid "" +"Usage:\n" +" %s command [arguments]\n" +"\n" +"Command is one of:\n" +msgstr "" +"Brug: %s kommando [argumenter]\n" +"Kommando er en af:\n" + +#: gajim/gajim_remote.py:415 +#, python-format +msgid "" +"Too many arguments. \n" +"Type \"%(basename)s help %(command)s\" for more info" +msgstr "" +"For mange argumenter. \n" +"Skriv \"%(basename)s help %(command)s\" for mere information" + +#: gajim/gajim_remote.py:420 +#, python-format +msgid "" +"Argument \"%(arg)s\" is not specified. \n" +"Type \"%(basename)s help %(command)s\" for more info" +msgstr "" +"Argument \"%(arg)s\" er ikke specificeret. \n" +"Skriv \"%(basename)s help %(command)s\" for mere information" + +#: gajim/dialogs.py:70 +#, python-format +msgid "Contact name: %s" +msgstr "Kontakt navn: %s" + +#: gajim/dialogs.py:72 +#, python-format +msgid "XMPP Address: %s" +msgstr "" + +#: gajim/dialogs.py:189 +msgid "Group" +msgstr "Gruppe" + +#: gajim/dialogs.py:196 +msgid "In the group" +msgstr "I gruppen" + +#: gajim/dialogs.py:211 gajim/gtk/discovery.py:522 +msgid "You are not connected to the server" +msgstr "Du er ikke tilsluttet til serveren" + +#: gajim/dialogs.py:212 +msgid "Without a connection, you can not synchronise your contacts." +msgstr "Du kan kun synkronisere dine kontakter når du er tilsluttet." + +#: gajim/dialogs.py:223 gajim/dialogs.py:294 +#: gajim/gtk/roster_item_exchange.py:83 gajim/gtk/discovery.py:826 +#: gajim/gtk/discovery.py:1650 gajim/gtk/discovery.py:1896 +#: gajim/gtk/history.py:99 gajim/gtk/vcard_grid.py:34 +#: gajim/data/gui/bookmarks.ui:66 +msgid "Name" +msgstr "Navn" + +#: gajim/dialogs.py:226 gajim/data/gui/preferences.ui:604 +#: gajim/data/gui/server_info.ui:146 +msgid "Server" +msgstr "Server" + +#: gajim/dialogs.py:262 +msgid "This account is not connected to the server" +msgstr "Denne konto er ikke tilsluttet til serveren" + +#: gajim/dialogs.py:263 +msgid "You cannot synchronize with an account unless it is connected." +msgstr "Du kan kun synkronisere med en konto hvis du er tilsluttet." + +#: gajim/dialogs.py:292 +msgid "Synchronise" +msgstr "Synkroniser" + +#: gajim/vcard.py:284 +msgid "?Client:Unknown" +msgstr "?Client:Ukendt" + +#: gajim/vcard.py:289 +msgid "?OS:Unknown" +msgstr "?OS:Ukendt" + +#: gajim/vcard.py:319 gajim/vcard.py:322 +msgid "?Time:Unknown" +msgstr "?Tid:Ukendt" + +#: gajim/vcard.py:373 +msgid "?Role in Group Chat:Role:" +msgstr "" + +#: gajim/vcard.py:377 +msgid "Affiliation:" +msgstr "Tilknytning:" + +#: gajim/vcard.py:384 +msgid "" +"This contact is interested in your presence information, but you are not " +"interested in their presence" +msgstr "" +"Denne kontakt er interesseret i at kende til din tilstedeværelse, men du er " +"ikke interesseret i hans/hendes tilstedeværelse" + +#: gajim/vcard.py:386 +#, fuzzy +msgid "" +"You are interested in the contact's presence information, but it is not " +"mutual" +msgstr "" +"Du er interesseret i kontaktens tilstedeværelses information, men han/hun er " +"ikke interesseret i din" + +#: gajim/vcard.py:388 +#, fuzzy +msgid "The contact and you want to exchange presence information" +msgstr "" +"Du og kontakten er begge interessered i hinandens tilstedeværelses " +"information" + +#: gajim/vcard.py:390 +#, fuzzy +msgid "" +"You and the contact have a mutual disinterest in each-others presence " +"information" +msgstr "" +"Du og kontakten er begge interessered i hinandens tilstedeværelses " +"information" + +#: gajim/vcard.py:396 +msgid "You are waiting contact's answer about your subscription request" +msgstr "Du venter på kontaktens svar om din abonnements forespørsel" + +#: gajim/vcard.py:398 +msgid "There is no pending subscription request." +msgstr "Der er ikke nogen ventende abbonerings forespørgsler." + +#: gajim/vcard.py:403 gajim/vcard.py:453 gajim/vcard.py:549 +msgid " resource with priority " +msgstr " ressource med prioritet " + +#: gajim/conversation_textview.py:65 +#, fuzzy +msgid "Untrusted" +msgstr "Interesseret" + +#: gajim/conversation_textview.py:68 +msgid "Trust Not Decided" +msgstr "" + +#: gajim/conversation_textview.py:71 +msgid "Unverified" +msgstr "" + +#: gajim/conversation_textview.py:74 +#, fuzzy +msgid "Verified" +msgstr "Efterprø_v" + +#: gajim/conversation_textview.py:225 +msgid "" +"Text below this line is what has been said since the\n" +"last time you paid attention to this group chat" +msgstr "" +"Teksten under denne linje er hvad der er blevet sagt siden\n" +"sidste gang du var opmærksom på denne gruppe samtale" + +#: gajim/conversation_textview.py:428 +msgid "_Quote" +msgstr "_Citat" + +#: gajim/conversation_textview.py:436 +#, python-format +msgid "_Actions for \"%s\"" +msgstr "_Handlinger for \"%s\"" + +#: gajim/conversation_textview.py:450 +msgid "Read _Wikipedia Article" +msgstr "Læs _Wikipedia Artikel" + +#: gajim/conversation_textview.py:455 +msgid "Look it up in _Dictionary" +msgstr "Slå dette op i Or_dbogen" + +#: gajim/conversation_textview.py:472 +#, python-format +msgid "Dictionary URL is missing an \"%s\" and it is not WIKTIONARY" +msgstr "Ordbogens URL mangler en \"%s\" og det må ikke være WIKTIONARY" + +#: gajim/conversation_textview.py:486 +#, python-format +msgid "Web Search URL is missing an \"%s\"" +msgstr "Web søge URL'en mangler en \"%s\"" + +#: gajim/conversation_textview.py:489 +msgid "Web _Search for it" +msgstr "Søg på nettet efter det" + +#: gajim/conversation_textview.py:495 +msgid "Open as _Link" +msgstr "Åbn som et _Link" + +#: gajim/conversation_textview.py:770 +#, fuzzy +msgid "Invalid URL" +msgstr "Ugyldig JID" + +#: gajim/conversation_textview.py:860 +msgid "" +"Message corrected. Original message:\n" +"{}" +msgstr "" + +#: gajim/conversation_textview.py:1031 +#, fuzzy +msgid "Not encrypted" +msgstr "Ikke startet" + +#: gajim/conversation_textview.py:1034 +#, python-format +msgid "Encrypted (%s)" +msgstr "" + +#: gajim/conversation_textview.py:1141 gajim/gtk/history.py:618 +#, python-format +msgid "Subject: %s\n" +msgstr "Emne: %s\n" + +#: gajim/conversation_textview.py:1250 +#, fuzzy +msgid "Received" +msgstr "Modtaget %s" + +#: gajim/conversation_textview.py:1272 +msgid "?Message state:Read" +msgstr "" + +#: gajim/groupchat_control.py:352 +#, python-format +msgid "Send File (max. %s MiB)…" +msgstr "Send fil (max %s MiB)" + +#: gajim/groupchat_control.py:497 +#, fuzzy, python-format +msgid "%s has been invited to this group chat" +msgstr "%(nick)s er blevet fjernet fra rummet %(reason)s" + +#: gajim/groupchat_control.py:512 gajim/dialog_messages.py:31 +#: gajim/dialog_messages.py:36 gajim/gtk/single_message.py:238 +#, fuzzy +msgid "Invalid XMPP Address" +msgstr "Ugyldig Fil" + +#: gajim/groupchat_control.py:575 +#, fuzzy +msgid "Loading avatar failed" +msgstr "Sending af privat besked fejlede" + +#: gajim/groupchat_control.py:595 +#, fuzzy, python-format +msgid "Avatar upload failed: %s" +msgstr "vCard publicering fejlede" + +#: gajim/groupchat_control.py:598 +#, fuzzy +msgid "Avatar upload successful" +msgstr "vCard publicering fejlede" + +#: gajim/groupchat_control.py:616 +#, fuzzy, python-format +msgid "Kick %s" +msgstr "Sparker %s" + +#: gajim/groupchat_control.py:625 +#, python-format +msgid "Ban %s" +msgstr "Blokeret %s" + +#: gajim/groupchat_control.py:684 +msgid "Insert Nickname" +msgstr "Indsæt Kælenavn" + +#: gajim/groupchat_control.py:775 gajim/groupchat_control.py:776 +#, fuzzy +msgid "Voice Request" +msgstr "Filoverførsel Forespørgsel" + +#: gajim/groupchat_control.py:777 +#, python-format +msgid "%(nick)s from %(room_name)s requests voice" +msgstr "" + +#: gajim/groupchat_control.py:781 +msgid "_Approve" +msgstr "" + +#: gajim/groupchat_control.py:1007 +#, python-format +msgid "%(nick)s has set the subject to %(subject)s" +msgstr "%(nick) har sat emnet til %(subject)" + +#: gajim/groupchat_control.py:1023 +#, fuzzy +msgid "Group chat now shows unavailable members" +msgstr "Rummet viser nu; ikke tilgængelige medlemmer" + +#: gajim/groupchat_control.py:1026 +#, fuzzy +msgid "Group chat now does not show unavailable members" +msgstr "Rummet viser nu ikke; ikke tilgængelige medlemmer" + +#: gajim/groupchat_control.py:1030 +msgid "A setting not related to privacy has been changed" +msgstr "" + +#: gajim/groupchat_control.py:1037 gajim/groupchat_control.py:1197 +#, fuzzy +msgid "Conversations are stored on the server" +msgstr "Session VIL IKKE blive logget" + +#: gajim/groupchat_control.py:1040 +#, fuzzy +msgid "Conversations are not stored on the server" +msgstr "Information om dig, som er gemt på serveren" + +#: gajim/groupchat_control.py:1043 +#, fuzzy +msgid "Group chat is now non-anonymous" +msgstr "Rummet er nu ikke-anonymt" + +#: gajim/groupchat_control.py:1047 +#, fuzzy +msgid "Group chat is now semi-anonymous" +msgstr "Rummet er nu semi-anonymt" + +#: gajim/groupchat_control.py:1051 +#, fuzzy +msgid "Group chat is now fully anonymous" +msgstr "Rummet er nu helt anonymt" + +#: gajim/groupchat_control.py:1101 +#, fuzzy, python-format +msgid "Ping? (%s)" +msgstr "Pong! (%s .s)" + +#: gajim/groupchat_control.py:1104 +#, fuzzy, python-format +msgid "Pong! (%(nick)s %(delay)s s.)" +msgstr "Pong! (%s .s)" + +#: gajim/groupchat_control.py:1188 +#, fuzzy, python-format +msgid "You (%s) joined the group chat" +msgstr "%s deltager nu i gruppe samtalen" + +#: gajim/groupchat_control.py:1193 +#, fuzzy +msgid "Any participant is allowed to see your full XMPP Address" +msgstr "En hvilken som helst deltager har lov til at se din fulde JID" + +#: gajim/groupchat_control.py:1201 +#, fuzzy +msgid "The server has assigned or modified your nickname in this group chat" +msgstr "Serveren har fastsat eller ændret dit kælenavn for rummet" + +#: gajim/groupchat_control.py:1211 +#, fuzzy +msgid "A new group chat has been created" +msgstr "Et nyt rum er blevet oprettet" + +#: gajim/groupchat_control.py:1215 +#, fuzzy +msgid "Failed to Configure Group Chat" +msgstr "Forlad Gruppesamtaler" + +#: gajim/groupchat_control.py:1274 gajim/groupchat_control.py:1304 +#: gajim/groupchat_control.py:1332 gajim/groupchat_control.py:1391 +#, python-brace-format +msgid " by {actor}" +msgstr "" + +#: gajim/groupchat_control.py:1277 +#, fuzzy, python-brace-format +msgid "** Your Affiliation has been set to {affiliation}{actor}{reason}" +msgstr "" +"** Tilhørsforholdet for %(nick)s er blevet sat til %(affiliation)s af " +"%(actor)s" + +#: gajim/groupchat_control.py:1283 +#, fuzzy, python-brace-format +msgid "** Affiliation of {nick} has been set to {affiliation}{actor}{reason}" +msgstr "** Tilhørsforholdet for %(nick)s er blevet sat til %(affiliation)s" + +#: gajim/groupchat_control.py:1307 +#, fuzzy, python-brace-format +msgid "** Your Role has been set to {role}{actor}{reason}" +msgstr "** %(nick)s rolle er blevet sat til %(role)s af %(actor)s" + +#: gajim/groupchat_control.py:1312 +#, fuzzy, python-brace-format +msgid "** Role of {nick} has been set to {role}{actor}{reason}" +msgstr "** %(nick)s rolle er blevet sat til %(role)s af %(actor)s" + +#: gajim/groupchat_control.py:1335 +#, fuzzy, python-brace-format +msgid "You have been removed from the group chat{actor}{reason}" +msgstr "%(nick)s er blevet fjernet fra rummet %(reason)s" + +#: gajim/groupchat_control.py:1340 +#, python-brace-format +msgid "You have left due to an error{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1346 +#, python-brace-format +msgid "You have been kicked{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1353 +#, python-brace-format +msgid "You have been banned{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1360 gajim/groupchat_control.py:1423 +#, fuzzy +msgid ": Affiliation changed" +msgstr "tilknytning ændret" + +#: gajim/groupchat_control.py:1366 gajim/groupchat_control.py:1428 +#, fuzzy +msgid ": Group chat configuration changed to members-only" +msgstr "Rum konfiguration er blevet ændret til 'kun for medlemmer'" + +#: gajim/groupchat_control.py:1394 +#, fuzzy, python-brace-format +msgid "{nick} has been removed from the group chat{by}{reason}" +msgstr "%(nick)s er blevet fjernet fra rummet %(reason)s" + +#: gajim/groupchat_control.py:1402 +#, python-brace-format +msgid "{nick} has left due to an error{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1408 +#, fuzzy, python-brace-format +msgid "{nick} has been kicked{actor}{reason}" +msgstr "%(nick)s er blevet udvist: %(reason)s" + +#: gajim/groupchat_control.py:1416 +#, fuzzy, python-brace-format +msgid "{nick} has been banned{actor}{reason}" +msgstr "%(nick)s er blevet uønsket: %(reason)s" + +#: gajim/groupchat_control.py:1433 +#, python-brace-format +msgid "{nick} has left{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1451 +#, python-format +msgid "%s has joined the group chat" +msgstr "%s deltager nu i gruppe samtalen" + +#: gajim/groupchat_control.py:1463 +#, fuzzy +msgid "Failed to Join Group Chat" +msgstr "Ikke i stand til at deltage i gruppesamtale." + +#: gajim/groupchat_control.py:1469 +#, fuzzy +msgid "Failed to Create Group Chat" +msgstr "Forlad Gruppesamtaler" + +#: gajim/groupchat_control.py:1485 +#, fuzzy +msgid "Group chat has been destroyed" +msgstr "Rummet er blevet ødelagt" + +#: gajim/groupchat_control.py:1490 +#, fuzzy, python-format +msgid "You can join this group chat instead: xmpp:%s?join" +msgstr "Du kan deltage i dette rum i stedet: %s" + +#: gajim/groupchat_control.py:1672 +#, fuzzy +msgid "Leave Group Chat" +msgstr "Forlad Gruppesamtaler" + +#: gajim/groupchat_control.py:1673 +#, fuzzy +msgid "Are you sure you want to leave this group chat?" +msgstr "Er du sikker på du vil forlade gruppe samtalen \"%s\"?" + +#: gajim/groupchat_control.py:1674 +#, fuzzy, python-format +msgid "If you close this window, you will leave '%s'." +msgstr "" +"Hvis du lukker dette vindue vil du blive frakoblet fra denne gruppe samtale." + +#: gajim/message_window.py:365 +#, fuzzy +msgid "Close Tabs" +msgstr "_Send & Luk" + +#: gajim/message_window.py:366 +#, fuzzy +msgid "You are about to close several tabs" +msgstr "Du er ved at lukke flere faneblade" + +#: gajim/message_window.py:367 +#, fuzzy +msgid "Do you really want to close all of them?" +msgstr "Vil du virkelig lukke dem alle?" + +#: gajim/message_window.py:526 +#, fuzzy +msgid "?Noun:Chats" +msgstr "Gruppe Samtaler" + +#: gajim/message_window.py:530 gajim/data/gui/preferences.ui:155 +#, fuzzy +msgid "Group Chats" +msgstr "Gruppesamtaler" + +#: gajim/message_window.py:534 +msgid "Private Chats" +msgstr "Private Samtaler" + +#: gajim/message_window.py:540 +msgid "Messages" +msgstr "Beskeder" + +#: gajim/dialog_messages.py:37 +#, fuzzy, python-format +msgid "" +"It is not possible to send a message to %s. This XMPP Address is not valid." +msgstr "Det er ikke mulig at sende en besked til %s, denne JID er ikke gyldig." + +#: gajim/dialog_messages.py:42 +#, fuzzy +msgid "Unread Events" +msgstr "Ulæste hændelser" + +#: gajim/dialog_messages.py:43 +#, fuzzy +msgid "Read or acknowledge all pending events before removing this account." +msgstr "Læs alle ventende hændelser før denne konto fjernes." + +#: gajim/dialog_messages.py:48 +#, fuzzy +msgid "Invalid Form" +msgstr "Ugyldig rum" + +#: gajim/dialog_messages.py:49 +#, fuzzy +msgid "The form is not filled correctly." +msgstr "Kælenavnet har ikke tilladte tegn." + +#: gajim/dialog_messages.py:53 +#, fuzzy +msgid "No Connection Available" +msgstr "Tilslutning er ikke tilgængelig" + +#: gajim/dialog_messages.py:54 +msgid "Your message can not be sent until you are connected." +msgstr "Din besked kan ikke blive sendt før du er tilsluttet." + +#: gajim/dialog_messages.py:58 +msgid "XMPP Address Already in List" +msgstr "" + +#: gajim/dialog_messages.py:59 +#, fuzzy +msgid "" +"The XMPP Address you entered is already in the list. Please choose another " +"one." +msgstr "Den Jabber ID som de skrev er allerede i listen. Vælg en anden." + +#: gajim/dialog_messages.py:64 +#, fuzzy +msgid "Invalid Answer" +msgstr "Forkert svar" + +#: gajim/dialog_messages.py:65 +#, python-format +msgid "Transport %(name)s answered wrongly to register request: %(error)s" +msgstr "" +"Transport %(name)s svarede forkert på indskrivnings forespørgslen: %(error)s" + +#: gajim/dialog_messages.py:70 +#, fuzzy +msgid "Wrong Custom Hostname" +msgstr "Brug tilpasset værtsnavn/port" + +#: gajim/dialog_messages.py:71 +#, fuzzy, python-format +msgid "Custom hostname \"%s\" is wrong. It will be ignored." +msgstr "Brug tilpasset værtsnavn/port" + +#: gajim/dialog_messages.py:75 +#, fuzzy +msgid "Registration Succeeded" +msgstr "Tilslutning lykkedes" + +#: gajim/dialog_messages.py:76 +#, fuzzy, python-format +msgid "Registration with agent %s succeeded." +msgstr "Tilslutning med agenten %s lykkedes" + +#: gajim/dialog_messages.py:80 +#, fuzzy +msgid "Registration Failed" +msgstr "Tilslutning fejlede" + +#: gajim/dialog_messages.py:81 +#, python-format +msgid "" +"Registration with agent %(agent)s failed with error %(error)s: %(error_msg)s" +msgstr "" +"Tilslutning med agenten %(agent)s mislykkedes med fejlen %(error)s: " +"%(error_msg)s" + +#: gajim/dialog_messages.py:86 +#, fuzzy +msgid "GStreamer Error" +msgstr "Database Fejl" + +#: gajim/dialog_messages.py:87 +#, fuzzy, python-format +msgid "" +"Error: %(error)s\n" +"Debug: %(debug)s" +msgstr "Fejl besked: %s" + +#: gajim/dialog_messages.py:91 +#, fuzzy +msgid "Wrong Host" +msgstr "Forkert vært" + +#: gajim/dialog_messages.py:92 +msgid "Invalid local address? :-O" +msgstr "Invalid local address? :-O" + +#: gajim/dialog_messages.py:96 +#, fuzzy +msgid "Avahi Error" +msgstr "Avahi fejl" + +#: gajim/dialog_messages.py:97 +#, python-format +msgid "" +"%s\n" +"Link-local messaging might not work properly." +msgstr "" +"%s\n" +"Link-local beskeder vil sandsynligvis ikke virke ordentligt." + +#: gajim/dialog_messages.py:101 +#, fuzzy +msgid "Could not Open File" +msgstr "Kunne ikke laste billede" + +#: gajim/command_system/mapping.py:169 gajim/command_system/mapping.py:179 +#: gajim/command_system/mapping.py:199 +#, fuzzy +msgid "Missing arguments" +msgstr "Manglende argument \"contact_jid\"" + +#: gajim/command_system/mapping.py:266 +#, fuzzy +msgid "Too many arguments" +msgstr "Manglende argument \"contact_jid\"" + +#: gajim/command_system/implementation/middleware.py:76 +msgid "Error during command execution!" +msgstr "" + +#: gajim/command_system/implementation/execute.py:60 +msgid "Execute expression inside a shell, show output" +msgstr "" + +#: gajim/command_system/implementation/execute.py:74 +msgid "" +"Command disabled. This command can be enabled by setting " +"'command_system_execute' to True in ACE (Advanced Configuration Editor)." +msgstr "" + +#: gajim/command_system/implementation/execute.py:125 +msgid "Execute expression inside a shell, send output" +msgstr "" + +#: gajim/command_system/implementation/standard.py:52 +msgid "" +"Show help on a given command or a list of available commands if -a is given" +msgstr "" + +#: gajim/command_system/implementation/standard.py:81 +#, fuzzy +msgid "Send a message to the contact" +msgstr "Send en fil til en kontakt" + +#: gajim/command_system/implementation/standard.py:86 +msgid "Send action (in the third person) to the current chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:91 +msgid "Show logged messages which mention given text" +msgstr "" + +#: gajim/command_system/implementation/standard.py:96 +#, fuzzy, python-format +msgid "%s: Nothing found" +msgstr "%s ikke fundet" + +#: gajim/command_system/implementation/standard.py:102 +msgid "Limit must be an integer" +msgstr "" + +#: gajim/command_system/implementation/standard.py:127 +msgid "" +"\n" +" Set the current status\n" +"\n" +" Status can be given as one of the following values:\n" +" online, away, chat, xa, dnd.\n" +" " +msgstr "" + +#: gajim/command_system/implementation/standard.py:145 +msgid "Set the current status to away" +msgstr "" + +#: gajim/command_system/implementation/standard.py:148 +#: gajim/common/helpers.py:200 gajim/common/modules/adhoc_commands.py:122 +msgid "Away" +msgstr "Borte" + +#: gajim/command_system/implementation/standard.py:159 +msgid "Set the current status to online" +msgstr "" + +#: gajim/command_system/implementation/standard.py:162 +#, fuzzy +msgid "Available" +msgstr "Ti_lgængelig" + +#: gajim/command_system/implementation/standard.py:173 +#, fuzzy +msgid "Send a disco info request" +msgstr "Sendte modtagelses forespørgsler" + +#: gajim/command_system/implementation/standard.py:192 +#: gajim/command_system/implementation/standard.py:273 +#, fuzzy +msgid "Clear the text window" +msgstr "Skjuler vinduet" + +#: gajim/command_system/implementation/standard.py:197 +#: gajim/command_system/implementation/standard.py:425 +#, fuzzy +msgid "Send a ping to the contact" +msgstr "Send en fil til en kontakt" + +#: gajim/command_system/implementation/standard.py:201 +#: gajim/command_system/implementation/standard.py:429 +msgid "Command is not supported for zeroconf accounts" +msgstr "" + +#: gajim/command_system/implementation/standard.py:205 +msgid "Send DTMF sequence through an open voice chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:208 +#, fuzzy +msgid "No open voice chats with the contact" +msgstr "et vindue/faneblad åbnede med denne kontakt " + +#: gajim/command_system/implementation/standard.py:211 +#, fuzzy, python-format +msgid "%s is not a valid tone" +msgstr "%s er ikke et gyldigt logniveau" + +#: gajim/command_system/implementation/standard.py:218 +msgid "Toggle Voice Chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:221 +#, fuzzy +msgid "Voice chats are not available" +msgstr "Tilslutning er ikke tilgængelig" + +#: gajim/command_system/implementation/standard.py:228 +msgid "Toggle Video Chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:231 +#, fuzzy +msgid "Video chats are not available" +msgstr "Tilslutning er ikke tilgængelig" + +#: gajim/command_system/implementation/standard.py:238 +#, fuzzy +msgid "Send a message to the contact that will attract their attention" +msgstr "Send en fil til en kontakt" + +#: gajim/command_system/implementation/standard.py:278 +#, fuzzy +msgid "Change your nickname in a group chat" +msgstr "Ændre dit kælenavn (Ctrl+N)" + +#: gajim/command_system/implementation/standard.py:283 +msgid "Invalid nickname" +msgstr "Ugyldigt kælenavn" + +#: gajim/command_system/implementation/standard.py:290 +#, fuzzy +msgid "Open a private chat window with a specified participant" +msgstr "_Åbn samtale vindue med bruger" + +#: gajim/command_system/implementation/standard.py:296 +#: gajim/command_system/implementation/standard.py:306 +#: gajim/command_system/implementation/standard.py:360 +#: gajim/command_system/implementation/standard.py:373 +#: gajim/command_system/implementation/standard.py:385 +#, fuzzy +msgid "Nickname not found" +msgstr "Kælenavn som skal bruges" + +#: gajim/command_system/implementation/standard.py:299 +#, fuzzy +msgid "" +"Open a private chat window with a specified participant and send him a " +"message" +msgstr "_Åbn samtale vindue med bruger" + +#: gajim/command_system/implementation/standard.py:309 +#, fuzzy +msgid "Display or change a group chat topic" +msgstr "Spørg før et gruppesamtale vindue/faneblad lukkes." + +#: gajim/command_system/implementation/standard.py:318 +msgid "Invite a user to a group chat for a reason" +msgstr "" + +#: gajim/command_system/implementation/standard.py:325 +#, fuzzy +msgid "Join a group chat given by an XMPP Address" +msgstr "i _gruppe samtaler" + +#: gajim/command_system/implementation/standard.py:335 +msgid "" +"Leave the group chat, optionally giving a reason, and close tab or window" +msgstr "" + +#: gajim/command_system/implementation/standard.py:341 +msgid "" +"\n" +" Ban user by a nick or a JID from a groupchat\n" +"\n" +" If given nickname is not found it will be treated as a JID.\n" +" " +msgstr "" + +#: gajim/command_system/implementation/standard.py:357 +#, fuzzy +msgid "Kick user from group chat by nickname" +msgstr "Du er inviteret til en gruppesamtale." + +#: gajim/command_system/implementation/standard.py:366 +msgid "" +"Set participant role in group chat.\n" +" Role can be given as one of the following values:\n" +" moderator, participant, visitor, none" +msgstr "" + +#: gajim/command_system/implementation/standard.py:371 +#, fuzzy +msgid "Invalid role given" +msgstr "Ugyldigt server" + +#: gajim/command_system/implementation/standard.py:378 +msgid "" +"Set participant affiliation in group chat.\n" +" Affiliation can be given as one of the following values:\n" +" owner, admin, member, outcast, none" +msgstr "" + +#: gajim/command_system/implementation/standard.py:383 +#, fuzzy +msgid "Invalid affiliation given" +msgstr "tilknytning ændret" + +#: gajim/command_system/implementation/standard.py:393 +#, fuzzy +msgid "Display names of all group chat participants" +msgstr "%s er ikke navnet på en gruppe samtale." + +#: gajim/command_system/implementation/standard.py:415 +msgid "Forbid a participant to send you public or private messages" +msgstr "" + +#: gajim/command_system/implementation/standard.py:420 +msgid "Allow a participant to send you public or private messages" +msgstr "" + +#: gajim/command_system/implementation/standard.py:432 +#, fuzzy +msgid "Unknown nickname" +msgstr "Indtast et nyt kælenavn for kontakt %s" + +#: gajim/command_system/implementation/custom.py:114 +msgid "The same as using a doc-string, except it supports translation" +msgstr "" + +#: gajim/gtk/ssl_error_dialog.py:36 gajim/data/gui/ssl_error_dialog.ui:16 +#, fuzzy +msgid "SSL Certificate Verification Error" +msgstr "SSL certifikat fejl" + +#: gajim/gtk/ssl_error_dialog.py:55 +#, fuzzy, python-format +msgid "" +"There was an error while attempting to verify the SSL certificate of your " +"XMPP server (%s)." +msgstr "" +"Der var en fejl under verificeringen af SSL certifikatet fra din jabber " +"server: %(error)s\n" +"Vil du stadig prøve på at forbinde til denne server?" + +#: gajim/gtk/ssl_error_dialog.py:58 +#, fuzzy, python-format +msgid "Unknown SSL error '%s'" +msgstr "Ukendt SSL fejl: %d" + +#: gajim/gtk/avatar_selector.py:84 +msgid "Select a picture or drop it here" +msgstr "" + +#: gajim/gtk/status_change.py:62 gajim/gtk/preferences.py:627 +#: gajim/gtk/preferences.py:655 +msgid "Status Message" +msgstr "Status Besked" + +#: gajim/gtk/status_change.py:330 +#, fuzzy +msgid "No activity" +msgstr "Aktivitet:" + +#: gajim/gtk/status_change.py:370 gajim/gtk/status_change.py:383 +#: gajim/gtk/status_change.py:488 +#, fuzzy +msgid "No mood selected" +msgstr "Ingen nøgle er valgt" + +#: gajim/gtk/status_change.py:382 +msgid "No mood" +msgstr "" + +#: gajim/gtk/status_change.py:439 +msgid "Overwrite" +msgstr "" + +#: gajim/gtk/status_change.py:440 +msgid "Overwrite Status Message?" +msgstr "Overskriv Status Besked?" + +#: gajim/gtk/status_change.py:441 +#, fuzzy +msgid "This name is already in use. Do you want to overwrite this preset?" +msgstr "Dette navn er allerede i brug. Vil du overskrive denne status besked?" + +#: gajim/gtk/status_change.py:445 gajim/plugins/gui.py:292 +msgid "_Overwrite" +msgstr "" + +#: gajim/gtk/status_change.py:453 +#, fuzzy +msgid "Status Preset" +msgstr "Status Besked" + +#: gajim/gtk/status_change.py:454 +#, fuzzy +msgid "Save status as preset" +msgstr "Gem som Forvalgt..." + +#: gajim/gtk/status_change.py:455 +#, fuzzy +msgid "Please assign a name to this status message preset" +msgstr "Skriv et navn for denne status besked" + +#: gajim/gtk/status_change.py:458 gajim/data/gui/profile.ui:336 +#, fuzzy +msgid "_Save" +msgstr "Har" + +#: gajim/gtk/status_change.py:460 +#, fuzzy +msgid "New Status" +msgstr "Status" + +#: gajim/gtk/advanced_config.py:46 gajim/gtk/advanced_config.py:144 +msgid "Activated" +msgstr "Aktiveret" + +#: gajim/gtk/advanced_config.py:47 +msgid "Deactivated" +msgstr "Ikke aktiveret" + +#: gajim/gtk/advanced_config.py:52 +msgid "?config type:Boolean" +msgstr "" + +#: gajim/gtk/advanced_config.py:53 +msgid "?config type:Integer" +msgstr "" + +#: gajim/gtk/advanced_config.py:54 +msgid "?config type:Text" +msgstr "" + +#: gajim/gtk/advanced_config.py:65 +#, fuzzy +msgid "Advanced Configuration Editor (ACE)" +msgstr "Avanceret Konfigurations Behandler" + +#: gajim/gtk/advanced_config.py:80 +#, fuzzy +msgid "?config:Preference Name" +msgstr "Foretrukket Navn" + +#: gajim/gtk/advanced_config.py:91 +#, fuzzy +msgid "?config:Value" +msgstr "_Konfigurere" + +#: gajim/gtk/advanced_config.py:100 +msgid "?config:Type" +msgstr "" + +#: gajim/gtk/advanced_config.py:133 +#, fuzzy +msgid "?config description:None" +msgstr "?Ask (for Subscription):Intet" + +#: gajim/gtk/preferences.py:63 gajim/data/gui/shortcuts_window.ui:31 +msgid "Preferences" +msgstr "Indstillinger" + +#: gajim/gtk/preferences.py:185 +msgid "Detached contact list with detached chats" +msgstr "" + +#: gajim/gtk/preferences.py:186 +msgid "Detached contact list with single chat" +msgstr "" + +#: gajim/gtk/preferences.py:187 +msgid "Single window for everything" +msgstr "" + +#: gajim/gtk/preferences.py:188 +msgid "Detached contact list with chats grouped by account" +msgstr "" + +#: gajim/gtk/preferences.py:189 +msgid "Detached contact list with chats grouped by type" +msgstr "" + +#: gajim/gtk/preferences.py:193 gajim/data/gui/mam_preferences.ui:14 +#, fuzzy +msgid "Always" +msgstr "Borte" + +#: gajim/gtk/preferences.py:194 gajim/data/gui/mam_preferences.ui:22 +#, fuzzy +msgid "Never" +msgstr "Server" + +#: gajim/gtk/preferences.py:195 +#, fuzzy +msgid "Restore last state" +msgstr "Sidste status: %s" + +#: gajim/gtk/preferences.py:199 +#, fuzzy +msgid "Top" +msgstr "Til" + +#: gajim/gtk/preferences.py:200 +msgid "Bottom" +msgstr "" + +#: gajim/gtk/preferences.py:201 +msgid "Left" +msgstr "" + +#: gajim/gtk/preferences.py:202 +#, fuzzy +msgid "Right" +msgstr "otte" + +#: gajim/gtk/preferences.py:207 +#, fuzzy +msgid "Window Layout" +msgstr "_Vinduets adfærd:" + +#: gajim/gtk/preferences.py:214 +#, fuzzy +msgid "Contact List on Startup" +msgstr "T_ilslut når Gajim startes" + +#: gajim/gtk/preferences.py:218 +#, fuzzy +msgid "Show contact list when starting Gajim" +msgstr "T_ilslut når Gajim startes" + +#: gajim/gtk/preferences.py:221 +#, fuzzy +msgid "Quit on Close" +msgstr "_Minimer ved lukning" + +#: gajim/gtk/preferences.py:224 +#, fuzzy +msgid "Quit when closing contact list" +msgstr "Vis _Afkoblede Kontakter" + +#: gajim/gtk/preferences.py:227 +#, fuzzy +msgid "Tab Position" +msgstr "Betingelse" + +#: gajim/gtk/preferences.py:231 +#, fuzzy +msgid "Placement of chat window tabs" +msgstr "har lukket samtalevinduet eller fanebladet" + +#: gajim/gtk/preferences.py:247 +#, fuzzy +msgid "Merge Accounts" +msgstr "Flettede konti" + +#: gajim/gtk/preferences.py:253 +#, fuzzy +msgid "Enable Metacontacts" +msgstr "Omdøb Kontakt" + +#: gajim/gtk/preferences.py:258 +#, fuzzy +msgid "Show Avatars" +msgstr "Egenskaber" + +#: gajim/gtk/preferences.py:264 gajim/gtk/preferences.py:353 +#, fuzzy +msgid "Show Status Message" +msgstr "Status Besked" + +#: gajim/gtk/preferences.py:270 gajim/gtk/preferences.py:411 +#, fuzzy +msgid "Sort Contacts by Status" +msgstr "Sorter kontakter efter status" + +#: gajim/gtk/preferences.py:276 +#, fuzzy +msgid "Show Mood" +msgstr "Sæt Humørstemning" + +#: gajim/gtk/preferences.py:281 +#, fuzzy +msgid "Show Activity" +msgstr "Sæt Aktivitet" + +#: gajim/gtk/preferences.py:286 +#, fuzzy +msgid "Show Tune" +msgstr "Egenskaber" + +#: gajim/gtk/preferences.py:323 +msgid "Needs gspell to be installed" +msgstr "" + +#: gajim/gtk/preferences.py:327 +#, fuzzy +msgid "Spell Checking" +msgstr "Stavekontrol" + +#: gajim/gtk/preferences.py:335 +#, fuzzy +msgid "Message Receipts (✔)" +msgstr "besked indhold" + +#: gajim/gtk/preferences.py:338 +msgid "Add a checkmark to received messages" +msgstr "" + +#: gajim/gtk/preferences.py:341 +#, fuzzy +msgid "XHTML Formatting" +msgstr "Hvis en liste over følelsesikoner" + +#: gajim/gtk/preferences.py:344 +msgid "Render XHTML styles (colors, etc.) of incoming messages" +msgstr "" + +#: gajim/gtk/preferences.py:348 +#, fuzzy +msgid "Show Send Message Button" +msgstr "Send besked" + +#: gajim/gtk/preferences.py:358 +#, fuzzy +msgid "Show Chat State In Tabs" +msgstr "Vis lukke knap i faneblad?" + +#: gajim/gtk/preferences.py:361 +msgid "Show the contact’s chat state (e.g. typing) in the chat’s tab" +msgstr "" + +#: gajim/gtk/preferences.py:365 +#, fuzzy +msgid "Show Chat State In Banner" +msgstr "Vis kontakternes a_vatarer i kontaktvinduet" + +#: gajim/gtk/preferences.py:368 +msgid "Show the contact’s chat state (e.g. typing) in the chats tab’s banner" +msgstr "" + +#: gajim/gtk/preferences.py:372 +#, fuzzy +msgid "Display Chat State In Contact List" +msgstr "Vis samtalestatus påmin_delser:" + +#: gajim/gtk/preferences.py:375 +#, fuzzy +msgid "Show the contact’s chat state (e.g. typing) in the contact list" +msgstr "Vis lukke knap i faneblad?" + +#: gajim/gtk/preferences.py:406 +#, fuzzy +msgid "Show Subject" +msgstr "Emne" + +#: gajim/gtk/preferences.py:417 +msgid "Default Sync Threshold" +msgstr "" + +#: gajim/gtk/preferences.py:420 +#, fuzzy +msgid "Default for new public group chats" +msgstr "Forlad Gruppesamtaler" + +#: gajim/gtk/preferences.py:424 +msgid "Show Joined / Left" +msgstr "" + +#: gajim/gtk/preferences.py:427 gajim/gtk/preferences.py:438 +#, fuzzy +msgid "Default for new group chats" +msgstr "Forlad Gruppesamtaler" + +#: gajim/gtk/preferences.py:428 gajim/gtk/preferences.py:439 +#: gajim/gtk/accounts.py:715 gajim/gtk/accounts.py:727 +#: gajim/gtk/accounts.py:740 +#, fuzzy +msgid "Reset" +msgstr "_Tilstedeværelse" + +#: gajim/gtk/preferences.py:429 gajim/gtk/preferences.py:440 +#: gajim/gtk/accounts.py:728 +msgid "Reset all group chats to the current default value" +msgstr "" + +#: gajim/gtk/preferences.py:435 gajim/gtk/groupchat_settings.py:48 +#, fuzzy +msgid "Show Status Changes" +msgstr "_Log status ændringer hos kontakter" + +#: gajim/gtk/preferences.py:468 +#, fuzzy +msgid "Hide icon" +msgstr "Statusikon" + +#: gajim/gtk/preferences.py:469 +#, fuzzy +msgid "Only show for pending events" +msgstr "" +"Aldrig\n" +"Kun ved ventende hændelser\n" +"Altid" + +#: gajim/gtk/preferences.py:470 +msgid "Always show icon" +msgstr "" + +#: gajim/gtk/preferences.py:475 +#, fuzzy +msgid "Notification Area Icon" +msgstr "Vis et faneblad når der kun er en samtale?" + +#: gajim/gtk/preferences.py:482 +#, fuzzy +msgid "Open Events" +msgstr "Personlig Hændelser" + +#: gajim/gtk/preferences.py:485 +#, fuzzy +msgid "Open events instead of showing a notification in the contact list" +msgstr "" +"Vis kun brugere på net og brugere klar for en samtale i kontaktvinduet." + +#: gajim/gtk/preferences.py:489 gajim/gtk/preferences.py:512 +#, fuzzy +msgid "Show Notifications" +msgstr "Påmindelser" + +#: gajim/gtk/preferences.py:517 +#, fuzzy +msgid "Notifications When Away" +msgstr "Påmindelser" + +#: gajim/gtk/preferences.py:520 +#, fuzzy +msgid "Show notifications even if you are Away, Busy, etc." +msgstr "Vis et faneblad når der kun er en samtale?" + +#: gajim/gtk/preferences.py:525 gajim/data/gui/preferences.ui:271 +msgid "Notifications" +msgstr "Påmindelser" + +#: gajim/gtk/preferences.py:534 +#, fuzzy +msgid "Play Sounds" +msgstr "Afspil _lyde" + +#: gajim/gtk/preferences.py:537 +msgid "Play sounds to notify about events" +msgstr "" + +#: gajim/gtk/preferences.py:542 +msgid "Sounds When Away" +msgstr "" + +#: gajim/gtk/preferences.py:545 +#, fuzzy +msgid "Play sounds even when you are Away, Busy, etc." +msgstr "Spil en lyd når brugeren er optaget" + +#: gajim/gtk/preferences.py:560 +#, fuzzy +msgid "Sign In" +msgstr "Logge _ind" + +#: gajim/gtk/preferences.py:565 +#, fuzzy +msgid "Sign Out" +msgstr "Log _af" + +#: gajim/gtk/preferences.py:570 +#, fuzzy +msgid "Status Change" +msgstr "_Log status ændringer hos kontakter" + +#: gajim/gtk/preferences.py:583 gajim/gtk/preferences.py:614 +#, fuzzy +msgid "Auto Away" +msgstr "Borte" + +#: gajim/gtk/preferences.py:585 +msgid "Change your status to 'Away' after a certain amount of time" +msgstr "" + +#: gajim/gtk/preferences.py:590 gajim/gtk/preferences.py:642 +#, fuzzy +msgid "Auto Not Available" +msgstr "Ikke Tilgængelig" + +#: gajim/gtk/preferences.py:592 +msgid "Change your status to 'Not Available' after a certain amount of time" +msgstr "" + +#: gajim/gtk/preferences.py:619 +msgid "Time Until Away" +msgstr "" + +#: gajim/gtk/preferences.py:622 gajim/gtk/preferences.py:650 +#, fuzzy +msgid "Minutes until your status gets changed" +msgstr "_Log status ændringer hos kontakter" + +#: gajim/gtk/preferences.py:633 gajim/gtk/preferences.py:828 +#, fuzzy +msgid "Auto Away Settings" +msgstr "Tilslutning fejlede" + +#: gajim/gtk/preferences.py:647 +#, fuzzy +msgid "Time Until Not Available" +msgstr "Ikke Tilgængelig" + +#: gajim/gtk/preferences.py:661 +#, fuzzy +msgid "Auto Extended Away Settings" +msgstr "Udvidet borte" + +#: gajim/gtk/preferences.py:672 gajim/gtk/accounts.py:680 +msgid "Enabled" +msgstr "Aktiveret" + +#: gajim/gtk/preferences.py:673 gajim/data/gui/vcard_information_window.ui:123 +#, fuzzy +msgid "System" +msgstr "System:" + +#: gajim/gtk/preferences.py:678 +#, fuzzy +msgid "Dark Theme" +msgstr "Gajim - %s" + +#: gajim/gtk/preferences.py:685 +#, fuzzy +msgid "Theme" +msgstr "Tema" + +#: gajim/gtk/preferences.py:731 +msgid "Convert ASCII Emojis" +msgstr "" + +#: gajim/gtk/preferences.py:734 +msgid "Typing short codes like :-) will display emojis" +msgstr "" + +#: gajim/gtk/preferences.py:741 +#, fuzzy +msgid "Emoji Theme" +msgstr "Gajim - %s" + +#: gajim/gtk/preferences.py:744 +msgid "Choose from various emoji styles" +msgstr "" + +#: gajim/gtk/preferences.py:774 +#, fuzzy +msgid "Status Icon Set" +msgstr "Status _ikonsæt:" + +#: gajim/gtk/preferences.py:781 +#, fuzzy +msgid "Use Transport Icons" +msgstr "Brug _transportens ikonsæt" + +#: gajim/gtk/preferences.py:784 +msgid "Display protocol-specific status icons (ICQ, ..)" +msgstr "" + +#: gajim/gtk/preferences.py:801 gajim/gtk/preferences.py:817 +msgid "Use Stun Server" +msgstr "" + +#: gajim/gtk/preferences.py:803 +msgid "Helps to establish calls through firewalls" +msgstr "" + +#: gajim/gtk/preferences.py:822 +#, fuzzy +msgid "STUN Server" +msgstr "Server:" + +#: gajim/gtk/preferences.py:848 +#, fuzzy +msgid "Audio Input Device" +msgstr "Standard Besked" + +#: gajim/gtk/preferences.py:851 +msgid "Select your audio input (e.g. microphone)" +msgstr "" + +#: gajim/gtk/preferences.py:855 +#, fuzzy +msgid "Audio Output Device" +msgstr "Standard Besked" + +#: gajim/gtk/preferences.py:858 +msgid "Select an audio output (e.g. speakers, headphones)" +msgstr "" + +#: gajim/gtk/preferences.py:890 gajim/gtk/preferences.py:898 +msgid "Default" +msgstr "Standard" + +#: gajim/gtk/preferences.py:906 +#, fuzzy +msgid "Video Input Device" +msgstr "Standard Besked" + +#: gajim/gtk/preferences.py:910 +msgid "Select your video input device (e.g. webcam, screen capture)" +msgstr "" + +#: gajim/gtk/preferences.py:915 +#, fuzzy +msgid "Video Framerate" +msgstr "Lyd / Billede" + +#: gajim/gtk/preferences.py:921 +#, fuzzy +msgid "Video Resolution" +msgstr "Lyd / Billede" + +#: gajim/gtk/preferences.py:927 +msgid "Show My Video Stream" +msgstr "" + +#: gajim/gtk/preferences.py:930 +msgid "Show your own video stream in calls" +msgstr "" + +#: gajim/gtk/preferences.py:933 gajim/data/gui/video_preview.ui:51 +msgid "Live Preview" +msgstr "" + +#: gajim/gtk/preferences.py:935 +msgid "Show a live preview to test your video source" +msgstr "" + +#: gajim/gtk/preferences.py:975 +#, fuzzy +msgid "Global Proxy" +msgstr "Proxy:" + +#: gajim/gtk/preferences.py:980 gajim/gtk/account_wizard.py:732 +#: gajim/gtk/accounts.py:790 +#, fuzzy +msgid "No Proxy" +msgstr "Proxy:" + +#: gajim/gtk/preferences.py:985 +msgid "Use System Keyring" +msgstr "" + +#: gajim/gtk/preferences.py:988 +msgid "Use your system’s keyring to store passwords" +msgstr "" + +#: gajim/gtk/preferences.py:994 +msgid "Check For Updates" +msgstr "" + +#: gajim/gtk/preferences.py:997 gajim/common/config.py:241 +msgid "Check for Gajim updates periodically" +msgstr "" + +#: gajim/gtk/preferences.py:1033 +#, fuzzy +msgid "Debug Logging" +msgstr "Jogger" + +#: gajim/gtk/message_input.py:48 +#, fuzzy +msgid "Write a message…" +msgstr "Ny Privat Besked" + +#: gajim/gtk/settings.py:400 gajim/gtk/settings.py:758 +#: gajim/gtk/settings.py:784 gajim/gtk/settings.py:793 +#: gajim/gtk/settings.py:802 gajim/gtk/settings.py:811 +msgid "?switch:On" +msgstr "" + +#: gajim/gtk/settings.py:400 gajim/gtk/settings.py:758 +#: gajim/gtk/settings.py:784 gajim/gtk/settings.py:793 +#: gajim/gtk/settings.py:802 gajim/gtk/settings.py:811 +msgid "?switch:Off" +msgstr "" + +#: gajim/gtk/settings.py:538 gajim/gtk/manage_sounds.py:46 +#: gajim/gtk/filechoosers.py:89 gajim/gtk/filechoosers.py:140 +#: gajim/gtk/filechoosers.py:147 +msgid "All files" +msgstr "Alle filer" + +#: gajim/gtk/settings.py:547 +#, fuzzy +msgid "Clear File" +msgstr "Gør Rent" + +#: gajim/gtk/settings.py:745 +#, fuzzy +msgid "Adjust to Status" +msgstr "_Tilpas til status" + +#: gajim/gtk/history_sync.py:111 gajim/gtk/history_sync.py:193 +#, fuzzy +msgid "Synchronise History" +msgstr "Synkroniser" + +#: gajim/gtk/history_sync.py:205 +#, fuzzy +msgid "How far back should the chat history be synchronised?" +msgstr "Hvad vil du gøre?" + +#: gajim/gtk/history_sync.py:210 +msgid "One Month" +msgstr "" + +#: gajim/gtk/history_sync.py:211 +msgid "Three Months" +msgstr "" + +#: gajim/gtk/history_sync.py:212 +msgid "One Year" +msgstr "" + +#: gajim/gtk/history_sync.py:213 +msgid "Everything" +msgstr "" + +#: gajim/gtk/history_sync.py:241 gajim/gtk/account_wizard.py:276 +#: gajim/gtk/account_wizard.py:295 gajim/gtk/account_wizard.py:312 +#, fuzzy +msgid "Connecting..." +msgstr "Tilslutter" + +#: gajim/gtk/history_sync.py:253 +#, fuzzy, python-format +msgid "%(received)s of %(max)s" +msgstr "Filoverførsel af %(filename)s fra %(name)s er stoppet." + +#: gajim/gtk/history_sync.py:257 +#, fuzzy, python-format +msgid "Downloaded %s messages" +msgstr "Videresend ulæste beskeder" + +#: gajim/gtk/history_sync.py:277 +#, python-format +msgid "" +"Finished synchronising chat history:\n" +"%s messages downloaded" +msgstr "" + +#: gajim/gtk/history_sync.py:281 +msgid "Gajim is fully synchronised with the archive." +msgstr "" + +#: gajim/gtk/history_sync.py:284 +msgid "There is already a synchronisation in progress. Please try again later." +msgstr "" + +#: gajim/gtk/pep_config.py:49 +#, fuzzy, python-format +msgid "PEP Service Configuration (%s)" +msgstr "PEP Tjeneste Konfigurering" + +#: gajim/gtk/pep_config.py:74 +#, fuzzy +msgid "Service" +msgstr "Server" + +#: gajim/gtk/pep_config.py:105 +msgid "PEP node was not removed" +msgstr "PEP knude blev ikke fjernet" + +#: gajim/gtk/pep_config.py:106 +#, fuzzy, python-format +msgid "" +"PEP node %(node)s was not removed:\n" +"%(message)s" +msgstr "PEP knude %(node)s blev ikke fjernet: %(message)s" + +#: gajim/gtk/pep_config.py:153 +#, fuzzy, python-format +msgid "Configure %s" +msgstr "_Konfigurere" + +#: gajim/gtk/mam_preferences.py:42 +#, python-format +msgid "Archiving Preferences for %s" +msgstr "" + +#: gajim/gtk/mam_preferences.py:101 +#, fuzzy +msgid "Archiving Preferences Saved" +msgstr "_Indstillinger" + +#: gajim/gtk/mam_preferences.py:102 +#, fuzzy +msgid "Your archiving preferences have successfully been saved." +msgstr "_Indstillinger" + +#: gajim/gtk/mam_preferences.py:109 +#, fuzzy +msgid "Archiving Preferences Error" +msgstr "_Indstillinger" + +#: gajim/gtk/mam_preferences.py:110 +#, fuzzy +msgid "Error received: {}" +msgstr "Fejl i modtaget dataform" + +#: gajim/gtk/statusicon.py:198 +#, fuzzy +msgid "_Change Status Message…" +msgstr "_Ændre Status Besked" + +#: gajim/gtk/statusicon.py:250 +#, python-format +msgid "using account %s" +msgstr "med konto %s" + +#: gajim/gtk/statusicon.py:263 +#, fuzzy +msgid "Hide _Contact List" +msgstr "Inviter _Kontakter" + +#: gajim/gtk/statusicon.py:268 gajim/data/gui/application_menu.ui:42 +#, fuzzy +msgid "Show _Contact List" +msgstr "Vis Kun _Aktive Kontakter" + +#: gajim/gtk/statusicon.py:276 +msgid "Hide this menu" +msgstr "Skjul denne menu" + +#: gajim/gtk/start_chat.py:57 +#, fuzzy +msgid "Start / Join Chat" +msgstr "Start Samtale" + +#: gajim/gtk/start_chat.py:285 gajim/gtk/start_chat.py:370 +msgid "You can not join a group chat unless you are connected." +msgstr "Du kan kun deltage i en gruppe samtale hvis du er tilsluttet." + +#: gajim/gtk/start_chat.py:634 gajim/gtk/groupchat_join.py:40 +msgid "Join Group Chat" +msgstr "Bliv med i en Gruppe Samtale" + +#: gajim/gtk/start_chat.py:715 +msgid "" +"Search for group chats globally\n" +"(press Return to start search)" +msgstr "" + +#: gajim/gtk/start_chat.py:808 +#, fuzzy, python-format +msgid "%s group chats found" +msgstr "%s ikke fundet" + +#: gajim/gtk/notification.py:184 gajim/gtk/notification.py:205 +#: gajim/gtk/notification.py:219 gajim/gtk/notification.py:272 +#: gajim/common/connection_handlers_events.py:234 +msgid "New Private Message" +msgstr "Ny Privat Besked" + +#: gajim/gtk/notification.py:185 gajim/gtk/notification.py:206 +#: gajim/gtk/notification.py:220 gajim/common/connection_handlers_events.py:328 +#, fuzzy +msgid "New Group Chat Message" +msgstr "Ny Gruppe Samtale" + +#: gajim/gtk/notification.py:186 gajim/gtk/notification.py:212 +#: gajim/gtk/notification.py:289 gajim/common/connection_handlers_events.py:418 +msgid "Contact Changed Status" +msgstr "Kontakt Ændrede Status" + +#: gajim/gtk/notification.py:200 +#, fuzzy +msgid "Open" +msgstr "OpenPGP: " + +#: gajim/gtk/notification.py:209 +msgid "Mark as Read" +msgstr "" + +#: gajim/gtk/notification.py:273 +msgid "New E-mail" +msgstr "Ny E-post" + +#: gajim/gtk/video_preview.py:116 +msgid "OpenGL accelerated" +msgstr "" + +#: gajim/gtk/video_preview.py:120 +msgid "Not accelerated" +msgstr "" + +#: gajim/gtk/video_preview.py:127 +msgid "Something went wrong. Video feature disabled." +msgstr "" + +#: gajim/gtk/groupchat_invite.py:304 +#, fuzzy +msgid "Invite New Contact" +msgstr "Inviter _Kontakter" + +#: gajim/gtk/themes.py:37 +#, fuzzy +msgid "Chatstate Composing" +msgstr "Komponere" + +#: gajim/gtk/themes.py:41 +#, fuzzy +msgid "Chatstate Inactive" +msgstr "Ikke aktiv" + +#: gajim/gtk/themes.py:45 +msgid "Chatstate Gone" +msgstr "" + +#: gajim/gtk/themes.py:49 +#, fuzzy +msgid "Chatstate Paused" +msgstr "Ændre status" + +#: gajim/gtk/themes.py:53 +#, fuzzy +msgid "Group Chat Tab New Directed Message" +msgstr "" +"MUC Sendte\n" +"Meldinger" + +#: gajim/gtk/themes.py:57 +#, fuzzy +msgid "Group Chat Tab New Message" +msgstr "Ny Besked" + +#: gajim/gtk/themes.py:61 +msgid "Banner Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:65 +msgid "Banner Background Color" +msgstr "" + +#: gajim/gtk/themes.py:69 +msgid "Banner Font" +msgstr "" + +#: gajim/gtk/themes.py:73 +msgid "Account Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:77 +msgid "Account Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:81 +#, fuzzy +msgid "Account Row Font" +msgstr "Konto" + +#: gajim/gtk/themes.py:85 +msgid "Group Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:89 +msgid "Group Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:93 +#, fuzzy +msgid "Group Row Font" +msgstr "Gruppe" + +#: gajim/gtk/themes.py:97 +msgid "Contact Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:101 +msgid "Contact Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:105 +#, fuzzy +msgid "Contact Row Font" +msgstr "_Vis hændelse i kontaktvindue" + +#: gajim/gtk/themes.py:109 +#, fuzzy +msgid "Conversation Font" +msgstr "Samtale med " + +#: gajim/gtk/themes.py:113 +#, fuzzy +msgid "Incoming Nickname Color" +msgstr "Indgående farve på kælenavn." + +#: gajim/gtk/themes.py:117 +#, fuzzy +msgid "Outgoing Nickname Color" +msgstr "Farve på udgående kælenavn." + +#: gajim/gtk/themes.py:121 +#, fuzzy +msgid "Incoming Message Text Color" +msgstr "Indgående farve på tekst." + +#: gajim/gtk/themes.py:125 +#, fuzzy +msgid "Incoming Message Text Font" +msgstr "Indgående font på tekst." + +#: gajim/gtk/themes.py:129 +#, fuzzy +msgid "Outgoing Message Text Color" +msgstr "Udgående farve på tekst." + +#: gajim/gtk/themes.py:133 +#, fuzzy +msgid "Outgoing Message Text Font" +msgstr "Udgående font på tekst." + +#: gajim/gtk/themes.py:137 +#, fuzzy +msgid "Status Message Color" +msgstr "Status Besked" + +#: gajim/gtk/themes.py:141 +#, fuzzy +msgid "Status Message Font" +msgstr "Status Besked" + +#: gajim/gtk/themes.py:145 +#, fuzzy +msgid "URL Color" +msgstr "Farve" + +#: gajim/gtk/themes.py:149 +#, fuzzy +msgid "Highlight Message Color" +msgstr "Frem_hæv stavefejl" + +#: gajim/gtk/themes.py:153 +#, fuzzy +msgid "Message Correcting" +msgstr "Beskeder" + +#: gajim/gtk/themes.py:157 +#, fuzzy +msgid "Contact Disconnected Background" +msgstr "Kontakt er ikke Tilsluttet" + +#: gajim/gtk/themes.py:161 +#, fuzzy +msgid "Contact Connected Background " +msgstr "Kontakt er Tilsluttet" + +#: gajim/gtk/themes.py:164 +#, fuzzy +msgid "Status Online Color" +msgstr "Status Besked" + +#: gajim/gtk/themes.py:167 +#, fuzzy +msgid "Status Away Color" +msgstr "Status Besked" + +#: gajim/gtk/themes.py:170 +#, fuzzy +msgid "Status DND Color" +msgstr "Status Besked" + +#: gajim/gtk/themes.py:173 +#, fuzzy +msgid "Status Offline Color" +msgstr "Status Besked" + +#: gajim/gtk/themes.py:187 +#, fuzzy +msgid "Gajim Themes" +msgstr "Gajim - %s" + +#: gajim/gtk/themes.py:223 gajim/gtk/themes.py:230 +#, fuzzy +msgid "Invalid Name" +msgstr "Ugyldig Kælenavn" + +#: gajim/gtk/themes.py:224 +msgid "Name default is not allowed" +msgstr "" + +#: gajim/gtk/themes.py:231 +#, fuzzy +msgid "Spaces are not allowed" +msgstr "Tegn ikke tilladt: %s" + +#: gajim/gtk/themes.py:356 +#, fuzzy +msgid "Do you want to delete this theme?" +msgstr "Vil du virkelig slette den valgte besked?" + +#: gajim/gtk/themes.py:358 +#, fuzzy +msgid "" +"This is the theme you are currently using.\n" +"Do you want to delete this theme?" +msgstr "Dette navn er allerede i brug. Vil du overskrive denne status besked?" + +#: gajim/gtk/themes.py:363 +#, fuzzy +msgid "Delete Theme" +msgstr "Aktiv" + +#: gajim/gtk/themes.py:390 +#, fuzzy +msgid "Remove Setting" +msgstr "Tilslutning fejlede" + +#: gajim/gtk/filetransfer_progress.py:62 +#, fuzzy +msgid "Upload Failed" +msgstr "Gem Fil som..." + +#: gajim/gtk/filetransfer_progress.py:113 +#, fuzzy, python-format +msgid "%(progress)s of %(total)s" +msgstr "Filoverførsel af %(filename)s fra %(name)s er stoppet." + +#: gajim/gtk/filetransfer_progress.py:130 +#, python-format +msgid "%(minutes)s min %(seconds)s sec" +msgstr "" + +#: gajim/gtk/add_contact.py:32 +#, fuzzy +msgid "GG Number" +msgstr "GG Nummer:" + +#: gajim/gtk/add_contact.py:33 +#, fuzzy +msgid "ICQ Number" +msgstr "ICQ Nummer:" + +#: gajim/gtk/add_contact.py:42 +#, fuzzy +msgid "Add Contact" +msgstr "_Tilføj Kontakt..." + +#: gajim/gtk/add_contact.py:260 +#, fuzzy, python-format +msgid "%s Missing" +msgstr "%s MiB" + +#: gajim/gtk/add_contact.py:261 +#, python-format +msgid "You must supply the %s of the new contact." +msgstr "" + +#: gajim/gtk/add_contact.py:288 gajim/gtk/add_contact.py:294 +#: gajim/gtk/add_contact.py:299 +msgid "Invalid User ID" +msgstr "Ugyldig Bruger ID" + +#: gajim/gtk/add_contact.py:295 +msgid "The user ID must not contain a resource." +msgstr "Bruger ID'en må ikke indeholde en resource." + +#: gajim/gtk/add_contact.py:300 +#, fuzzy +msgid "You cannot add yourself to your contact list." +msgstr "Du kan ikke tilføje dig selv til kontaktvinduet." + +#: gajim/gtk/add_contact.py:305 +#, fuzzy +msgid "Account Offline" +msgstr "Afkoblet" + +#: gajim/gtk/add_contact.py:306 +msgid "Your account must be online to add new contacts." +msgstr "" + +#: gajim/gtk/add_contact.py:322 +#, fuzzy +msgid "Contact Already in Contact List" +msgstr "Kontakten er allerede i kontaktvinduet" + +#: gajim/gtk/add_contact.py:323 +#, fuzzy +msgid "This contact is already in your contact list." +msgstr "Denne kontakt er allered i dit kontaktvindue" + +#: gajim/gtk/add_contact.py:381 gajim/gtk/add_contact.py:419 +msgid "User ID:" +msgstr "Bruger ID:" + +#: gajim/gtk/add_contact.py:486 +#, fuzzy +msgid "Error while adding transport contact" +msgstr "Fejl ved tilføjelse af tjeneste. %s" + +#: gajim/gtk/add_contact.py:487 +#, python-format +msgid "" +"This error occurred while adding a contact for transport %(transport)s:\n" +"\n" +"%(error)s" +msgstr "" + +#: gajim/gtk/account_wizard.py:61 gajim/data/gui/account_wizard.ui:631 +#, fuzzy +msgid "Sign Up" +msgstr "Logge _ind" + +#: gajim/gtk/account_wizard.py:63 +#, fuzzy +msgid "Connect" +msgstr "Tilsluttet" + +#: gajim/gtk/account_wizard.py:64 gajim/gtk/adhoc.py:102 +msgid "Next" +msgstr "" + +#: gajim/gtk/account_wizard.py:65 +msgid "Log In" +msgstr "" + +#: gajim/gtk/account_wizard.py:67 gajim/gtk/remove_account.py:44 +#: gajim/gtk/change_password.py:45 gajim/gtk/accounts.py:384 +#, fuzzy +msgid "Back" +msgstr "Snart tilbage" + +#: gajim/gtk/account_wizard.py:80 +msgid "An error occurred during account creation" +msgstr "Under oprettelsen af kontoen opstod der en fejl" + +#: gajim/gtk/account_wizard.py:166 +#, fuzzy +msgid "Creating Account..." +msgstr "Fjerne kontoen med navnet %s" + +#: gajim/gtk/account_wizard.py:167 +#, fuzzy +msgid "Trying to create account..." +msgstr "Tryk for at ændre kontoens adgangskode" + +#: gajim/gtk/account_wizard.py:277 gajim/gtk/account_wizard.py:296 +#: gajim/gtk/account_wizard.py:313 +#, fuzzy +msgid "Connecting to server..." +msgstr "Tilslutter" + +#: gajim/gtk/account_wizard.py:367 gajim/gtk/account_wizard.py:368 +msgid "Anonymous login not supported" +msgstr "" + +#: gajim/gtk/account_wizard.py:369 +#, fuzzy +msgid "This server does not support anonymous login." +msgstr "Din server understøtter ikke Vcard" + +#: gajim/gtk/account_wizard.py:372 gajim/common/client.py:284 +#: gajim/common/const.py:958 gajim/common/const.py:959 +#: gajim/common/const.py:960 gajim/common/const.py:963 +#, fuzzy +msgid "Authentication failed" +msgstr "Godkendelse fejlede med \"%s\"" + +#: gajim/gtk/account_wizard.py:384 gajim/gtk/account_wizard.py:385 +#, fuzzy +msgid "Signup not allowed" +msgstr "Tegn ikke tilladt: %s" + +#: gajim/gtk/account_wizard.py:386 +#, fuzzy +msgid "This server does not allow signup." +msgstr "Din server understøtter ikke Vcard" + +#: gajim/gtk/account_wizard.py:395 gajim/gtk/account_wizard.py:432 +#: gajim/gtk/account_wizard.py:433 gajim/gtk/account_wizard.py:520 +#: gajim/gtk/groupchat_config.py:132 gajim/gtk/groupchat_config.py:399 +#: gajim/gtk/history.py:591 gajim/gtk/search.py:336 +msgid "Error" +msgstr "Fejl" + +#: gajim/gtk/account_wizard.py:402 gajim/gtk/account_wizard.py:403 +#, fuzzy +msgid "Connection failed" +msgstr "Tilslutning Fejlede" + +#: gajim/gtk/account_wizard.py:404 +msgid "" +"Gajim was not able to reach the server. Make sure your XMPP address is " +"correct." +msgstr "" + +#: gajim/gtk/account_wizard.py:459 +#, fuzzy +msgid "Account is being created" +msgstr "Kontoen \"%s\" er tilsluttet til serveren" + +#: gajim/gtk/account_wizard.py:518 +msgid "The server rejected the registration without an error message" +msgstr "" + +#: gajim/gtk/account_wizard.py:530 gajim/gtk/accounts.py:572 +#, fuzzy +msgid "Add Account" +msgstr "_Tilføj Kontakt..." + +#: gajim/gtk/account_wizard.py:612 gajim/gtk/groupchat_creation.py:138 +#, fuzzy +msgid "Invalid Address" +msgstr "Ugyldig Fil" + +#: gajim/gtk/account_wizard.py:636 +#, fuzzy +msgid "Create New Account" +msgstr "Lav en ny post" + +#: gajim/gtk/account_wizard.py:712 +#, fuzzy +msgid "Advanced settings" +msgstr "Avancerede Handlinger" + +#: gajim/gtk/account_wizard.py:774 +#, fuzzy +msgid "Invalid domain name" +msgstr "Ugyldigt kontonavn" + +#: gajim/gtk/account_wizard.py:791 +#, fuzzy +msgid "Must be a port number" +msgstr "Personlig port må være et port nummer." + +#: gajim/gtk/account_wizard.py:798 +msgid "Port must be a number between 0 and 65535" +msgstr "" + +#: gajim/gtk/account_wizard.py:814 +#, fuzzy +msgid "Security Warning" +msgstr "Advarsel" + +#: gajim/gtk/account_wizard.py:833 +#, fuzzy, python-format +msgid "Unknown TLS error '%s'" +msgstr "Ukendt SSL fejl: %d" + +#: gajim/gtk/account_wizard.py:868 gajim/gtk/account_wizard.py:871 +#, fuzzy +msgid "Create Account" +msgstr "Fjerne kontoen med navnet %s" + +#: gajim/gtk/account_wizard.py:922 +msgid "Redirect" +msgstr "" + +#: gajim/gtk/account_wizard.py:932 +#, fuzzy +msgid "Register on the Website" +msgstr "Registrer til %s" + +#: gajim/gtk/account_wizard.py:943 +#, fuzzy +msgid "Account Added" +msgstr "Konto" + +#: gajim/gtk/account_wizard.py:944 +msgid "Account has been added successfully" +msgstr "Kontoen er blevet tilføjet med succes" + +#: gajim/gtk/groupchat_invitation.py:57 +#, fuzzy +msgid "" +"has invited you to a group chat.\n" +"Do you want to join?" +msgstr "Vælg de gruppesamtaler du vil forlade" + +#: gajim/gtk/groupchat_invitation.py:75 gajim/gtk/discovery.py:1706 +#: gajim/gtk/groupchat_join.py:68 gajim/data/gui/groupchat_control.ui:899 +#: gajim/data/gui/groupchat_control.ui:991 +#: gajim/data/gui/start_chat_dialog.ui:314 +msgid "_Join" +msgstr "_Bliv med:" + +#: gajim/gtk/tooltips.py:215 +#, python-format +msgid "%(owner_or_admin_or_member)s of this group chat" +msgstr "%(owner_or_admin_or_member)s af denne gruppe samtale" + +#: gajim/gtk/tooltips.py:474 +msgid "Connected" +msgstr "Tilsluttet" + +#: gajim/gtk/tooltips.py:476 +msgid "Disconnected" +msgstr "Tilslutning afbrudt" + +#: gajim/gtk/tooltips.py:530 +#, fuzzy +msgid "File Name: " +msgstr "Filnavn: %s" + +#: gajim/gtk/tooltips.py:533 +#, fuzzy +msgid "?Noun:Download" +msgstr "Hent" + +#: gajim/gtk/tooltips.py:534 gajim/gtk/filetransfer.py:747 +msgid "Sender: " +msgstr "Afsender: " + +#: gajim/gtk/tooltips.py:539 +#, fuzzy +msgid "?Noun:Upload" +msgstr "Send" + +#: gajim/gtk/tooltips.py:540 gajim/gtk/filetransfer.py:240 +#: gajim/gtk/filetransfer.py:749 +msgid "Recipient: " +msgstr "Modtager: " + +#: gajim/gtk/tooltips.py:546 +#, fuzzy +msgid "?transfer type:Type: " +msgstr "Filoverførsel stoppede" + +#: gajim/gtk/tooltips.py:552 +#, fuzzy +msgid "?transfer status:Transferred: " +msgstr "?transfer status:Midlertidig stoppet" + +#: gajim/gtk/tooltips.py:555 +#, fuzzy +msgid "?transfer status:Status: " +msgstr "?transfer status:Midlertidig stoppet" + +#: gajim/gtk/tooltips.py:557 +msgid "Description: " +msgstr "Beskrivelse: " + +#: gajim/gtk/tooltips.py:581 +#, fuzzy +msgid "?transfer status:Aborted" +msgstr "?transfer status:Midlertidig stoppet" + +#: gajim/gtk/tooltips.py:583 +#, fuzzy +msgid "?transfer status:Completed" +msgstr "?transfer status:Midlertidig stoppet" + +#: gajim/gtk/tooltips.py:585 +msgid "?transfer status:Paused" +msgstr "?transfer status:Midlertidig stoppet" + +#: gajim/gtk/tooltips.py:588 +#, fuzzy +msgid "?transfer status:Stalled" +msgstr "?transfer status:Midlertidig stoppet" + +#: gajim/gtk/tooltips.py:592 +#, fuzzy +msgid "?transfer status:Transferring" +msgstr "?transfer status:Midlertidig stoppet" + +#: gajim/gtk/tooltips.py:593 gajim/gtk/tooltips.py:594 +#, fuzzy +msgid "?transfer status:Not started" +msgstr "?transfer status:Midlertidig stoppet" + +#: gajim/gtk/remove_account.py:42 gajim/gtk/accounts.py:341 +#, fuzzy +msgid "Remove" +msgstr "_Kan fjernes" + +#: gajim/gtk/remove_account.py:49 +#, fuzzy +msgid "Removing Account..." +msgstr "Fjerne kontoen med navnet %s" + +#: gajim/gtk/remove_account.py:50 +msgid "Trying to remove account..." +msgstr "" + +#: gajim/gtk/remove_account.py:53 gajim/gtk/remove_account.py:54 +#, fuzzy +msgid "Account Removed" +msgstr "Konto" + +#: gajim/gtk/remove_account.py:56 +#, fuzzy +msgid "Your account has has been removed successfully." +msgstr "Din nye konto er blevet oprettet med succes" + +#: gajim/gtk/remove_account.py:59 gajim/gtk/remove_account.py:60 +#, fuzzy +msgid "Account Removal Failed" +msgstr "Ingen konto tilgængelig" + +#: gajim/gtk/remove_account.py:171 gajim/gtk/remove_account.py:173 +#, fuzzy +msgid "Remove Account" +msgstr "Fjerne kontoen med navnet %s" + +#: gajim/gtk/remove_account.py:180 +#, fuzzy +msgid "This will remove your account from Gajim." +msgstr "Fjern kun k_ontoen fra Gajim" + +#: gajim/gtk/remove_account.py:189 +#, python-format +msgid "Do you want to unregister your account on %s as well?" +msgstr "" + +#: gajim/gtk/remove_account.py:198 +msgid "_Unregister account from service" +msgstr "" + +#: gajim/gtk/remove_account.py:217 +#, fuzzy +msgid "Account has to be connected" +msgstr "Kontoen \"%s\" er tilsluttet til serveren" + +#: gajim/gtk/filetransfer.py:91 +msgid "File" +msgstr "Fil" + +#: gajim/gtk/filetransfer.py:108 +msgid "Time" +msgstr "Tid" + +#: gajim/gtk/filetransfer.py:121 gajim/data/gui/filetransfer_progress.ui:110 +msgid "Progress" +msgstr "Fremgang" + +#: gajim/gtk/filetransfer.py:228 +#, fuzzy, python-format +msgid "File name: %s" +msgstr "Filnavn: %s" + +#: gajim/gtk/filetransfer.py:229 gajim/gtk/filetransfer.py:470 +#, python-format +msgid "Size: %s" +msgstr "Størrelse: %s" + +#: gajim/gtk/filetransfer.py:239 +#, python-format +msgid "Sender: %s" +msgstr "Afsender: %s" + +#: gajim/gtk/filetransfer.py:251 +#, python-format +msgid "Saved in: %s" +msgstr "Gemt i: %s" + +#: gajim/gtk/filetransfer.py:256 +msgid "File transfer completed" +msgstr "Filoverførsel er fuldført" + +#: gajim/gtk/filetransfer.py:276 gajim/gtk/filetransfer.py:285 +#, fuzzy +msgid "Connection with peer could not be established." +msgstr "Tilslutning til ligeværdige kan ikke oprettes." + +#: gajim/gtk/filetransfer.py:293 +#, python-format +msgid "Filename: %s" +msgstr "Filnavn: %s" + +#: gajim/gtk/filetransfer.py:294 +#, python-format +msgid "Recipient: %s" +msgstr "Modtager: %s" + +#: gajim/gtk/filetransfer.py:296 +#, python-format +msgid "Error message: %s" +msgstr "Fejl besked: %s" + +#: gajim/gtk/filetransfer.py:335 +#, python-format +msgid "" +"The file %s has been received, but it seems to have been damaged along the " +"way.\n" +"Do you want to download it again?" +msgstr "" + +#: gajim/gtk/filetransfer.py:341 +#, fuzzy +msgid "_Download Again" +msgstr "Ikke spørg mig ige_n" + +#: gajim/gtk/filetransfer.py:356 +msgid "Gajim can not read this file" +msgstr "Gajim kan ikke læse denne fil" + +#: gajim/gtk/filetransfer.py:357 +msgid "Another process is using this file." +msgstr "En anden process bruger denne fil." + +#: gajim/gtk/filetransfer.py:399 +#, fuzzy, python-format +msgid "Cannot overwrite existing file '%s'" +msgstr "Kan ikke overskrive den eksisterende fil \"%s\"" + +#: gajim/gtk/filetransfer.py:400 +msgid "" +"A file with this name already exists and you do not have permission to " +"overwrite it." +msgstr "" +"En fil med dette navn eksisterer allerede og du har ikke rettigheder til at " +"overskrive den." + +#: gajim/gtk/filetransfer.py:424 +#, fuzzy +msgid "File Transfer Conflict" +msgstr "Filoverførsel er Fuldført" + +#: gajim/gtk/filetransfer.py:425 +#, fuzzy +msgid "File already exists" +msgstr "Denne fil eksisterer allerede" + +#: gajim/gtk/filetransfer.py:426 +msgid "Resume download or replace file?" +msgstr "" + +#: gajim/gtk/filetransfer.py:430 +#, fuzzy +msgid "Resume _Download" +msgstr "Hent" + +#: gajim/gtk/filetransfer.py:433 +#, fuzzy +msgid "Replace _File" +msgstr "Gør Rent" + +#: gajim/gtk/filetransfer.py:443 +#, fuzzy, python-format +msgid "Directory '%s' is not writable" +msgstr "Kataloget \"%s\" er ikke skrivbart" + +#: gajim/gtk/filetransfer.py:444 +#, fuzzy +msgid "You do not have permissions to create files in this directory." +msgstr "Du har ikke rettigheder til at oprette filer i dette katalog." + +#: gajim/gtk/filetransfer.py:467 +#, python-format +msgid "File: %s" +msgstr "Fil: %s" + +#: gajim/gtk/filetransfer.py:473 +#, python-format +msgid "Type: %s" +msgstr "Type: %s" + +#: gajim/gtk/filetransfer.py:475 +#, python-format +msgid "Description: %s" +msgstr "Beskrivelse: %s" + +#: gajim/gtk/filetransfer.py:486 +#, fuzzy, python-format +msgid "%s wants to send you a file" +msgstr "%s vil gerne sende dig en fil." + +#: gajim/gtk/filetransfer.py:514 +msgid "Checking file…" +msgstr "Tjekker fil..." + +#: gajim/gtk/filetransfer.py:529 +msgid "File error" +msgstr "Fejl i filen" + +#: gajim/gtk/filetransfer.py:566 +#, python-format +msgid "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" +msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" + +#: gajim/gtk/filetransfer.py:663 +#, python-format +msgid "(%(filesize_unit)s/s)" +msgstr "(%(filesize_unit)s/s)" + +#: gajim/gtk/filetransfer.py:716 gajim/gtk/filetransfer.py:720 +msgid "Invalid File" +msgstr "Ugyldig Fil" + +#: gajim/gtk/filetransfer.py:716 +msgid "File: " +msgstr "Fil: " + +#: gajim/gtk/filetransfer.py:721 +msgid "It is not possible to send empty files" +msgstr "Det er ikke mulig at sende tomme filer" + +#: gajim/gtk/filetransfer.py:1043 +#, fuzzy +msgid "Choose a File to Send…" +msgstr "Vælg en fil at sende..." + +#: gajim/gtk/roster_item_exchange.py:35 +#: gajim/data/gui/roster_item_exchange_window.ui:39 +#, fuzzy +msgid "Contact List Exchange" +msgstr "Bytte af punkt i kontaktvinduet" + +#: gajim/gtk/roster_item_exchange.py:49 +#, fuzzy, python-format +msgid "%s would like to add some contacts to your contact list." +msgstr "Jeg vil gerne tilføje dig til min kontakt liste." + +#: gajim/gtk/roster_item_exchange.py:52 +#, fuzzy, python-format +msgid "%s would like to modify some contacts in your contact list." +msgstr "" +"%s vil gerne at du %s nogle kontakter i dit kontaktvindue." + +#: gajim/gtk/roster_item_exchange.py:55 +#, fuzzy, python-format +msgid "%s would like to delete some contacts from your contact list." +msgstr "" +"%s vil gerne at du %s nogle kontakter i dit kontaktvindue." + +#: gajim/gtk/roster_item_exchange.py:71 gajim/gtk/roster_item_exchange.py:130 +msgid "Add" +msgstr "Tilføj" + +#: gajim/gtk/roster_item_exchange.py:73 gajim/gtk/roster_item_exchange.py:161 +msgid "Modify" +msgstr "Ændre" + +#: gajim/gtk/roster_item_exchange.py:80 +msgid "JID" +msgstr "JID" + +#: gajim/gtk/roster_item_exchange.py:86 +msgid "Groups" +msgstr "Grupper" + +#: gajim/gtk/roster_item_exchange.py:196 +#, fuzzy, python-format +msgid "%s suggested me to add you to my contact list." +msgstr "%s foreslog mig at tilføje dig til min kontaktliste." + +#: gajim/gtk/roster_item_exchange.py:211 +#, fuzzy, python-format +msgid "Added %d contact" +msgid_plural "Added %d contacts" +msgstr[0] "Tilføj Kont_akt" +msgstr[1] "Tilføj Kont_akt" + +#: gajim/gtk/roster_item_exchange.py:253 +#, fuzzy, python-format +msgid "Removed %d contact" +msgid_plural "Removed %d contacts" +msgstr[0] "Fjerner kontakt fra kontaktvinduet" +msgstr[1] "Fjerner kontakt fra kontaktvinduet" + +#: gajim/gtk/groupchat_creation.py:45 gajim/data/gui/groupchat_creation.ui:81 +#, fuzzy +msgid "Create Group Chat" +msgstr "Forlad Gruppesamtaler" + +#: gajim/gtk/groupchat_creation.py:101 gajim/gtk/groupchat_creation.py:103 +msgid " (optional)..." +msgstr "" + +#: gajim/gtk/groupchat_creation.py:186 +#, fuzzy +msgid "Not Connected" +msgstr "Tilsluttet" + +#: gajim/gtk/groupchat_creation.py:187 +#, fuzzy +msgid "You have to be connected to create a group chat." +msgstr "Du detlager ikke i en gruppesamtale." + +#: gajim/gtk/status_selector.py:121 gajim/gtk/status_selector.py:127 +#, fuzzy, python-format +msgid "Status: %s" +msgstr "Status: " + +#: gajim/gtk/status_selector.py:125 +#, fuzzy, python-format +msgid "%s (desynced)" +msgstr "ikke synkroniseret" + +#: gajim/gtk/subscription_request.py:35 +msgid "Subscription Request" +msgstr "Abonnement Forespørgsel" + +#: gajim/gtk/subscription_request.py:47 +#, python-format +msgid "Subscription request for account %(account)s from %(jid)s" +msgstr "Forespørgsel på abonnering for konto %(account)s fra %(jid)s" + +#: gajim/gtk/subscription_request.py:50 +#, python-format +msgid "Subscription request from %s" +msgstr "Forespørgsel om abonnering fra %s" + +#: gajim/gtk/single_message.py:51 +msgid "Send Single Message" +msgstr "Send Enkel Besked" + +#: gajim/gtk/single_message.py:101 +#, fuzzy +msgid "(No subject)" +msgstr "emne" + +#: gajim/gtk/single_message.py:157 +#, python-format +msgid "Single Message using account %s" +msgstr "Enkel Besked med konto %s" + +#: gajim/gtk/single_message.py:159 +#, python-format +msgid "Single Message in account %s" +msgstr "Enkel Besked i konto %s" + +#: gajim/gtk/single_message.py:161 +msgid "Single Message" +msgstr "Enkel Besked" + +#: gajim/gtk/single_message.py:164 +#, python-format +msgid "Send %s" +msgstr "Send %s" + +#: gajim/gtk/single_message.py:183 +#, python-format +msgid "Received %s" +msgstr "Modtaget %s" + +#: gajim/gtk/single_message.py:205 +#, fuzzy, python-format +msgid "Characters typed: %s" +msgstr "Tegn ikke tilladt: %s" + +#: gajim/gtk/single_message.py:210 gajim/gtk/xml_console.py:169 +msgid "Connection not available" +msgstr "Tilslutning er ikke tilgængelig" + +#: gajim/gtk/single_message.py:211 +#, python-format +msgid "Please make sure you are connected with \"%s\"." +msgstr "Vær venligst sikker på at du er tilsluttet med \"%s\"." + +#: gajim/gtk/single_message.py:239 +#, fuzzy, python-format +msgid "" +"It is not possible to send a message to %s, this XMPP Address is not valid." +msgstr "Det er ikke mulig at sende en besked til %s, denne JID er ikke gyldig." + +#: gajim/gtk/single_message.py:316 +#, python-format +msgid "RE: %s" +msgstr "SV: %s" + +#: gajim/gtk/single_message.py:317 +#, python-format +msgid "%s wrote:\n" +msgstr "%s skrev:\n" + +#: gajim/gtk/change_password.py:42 +#, fuzzy +msgid "Change" +msgstr "Ændre _Kælenavn..." + +#: gajim/gtk/change_password.py:51 +#, fuzzy +msgid "Changing Password..." +msgstr "Ændre Adgangskode" + +#: gajim/gtk/change_password.py:52 +#, fuzzy +msgid "Trying to change password..." +msgstr "Tryk for at ændre kontoens adgangskode" + +#: gajim/gtk/change_password.py:55 gajim/gtk/change_password.py:56 +#, fuzzy +msgid "Password Changed" +msgstr "Adgangskode er Påkrævet" + +#: gajim/gtk/change_password.py:57 +#, fuzzy +msgid "Your password has successfully been changed." +msgstr "_Indstillinger" + +#: gajim/gtk/change_password.py:60 gajim/gtk/change_password.py:61 +#, fuzzy +msgid "Password Change Failed" +msgstr "Adgangskode er Påkrævet" + +#: gajim/gtk/change_password.py:63 +#, fuzzy +msgid "An error occurred while trying to change your password." +msgstr "Under oprettelsen af kontoen opstod der en fejl" + +#: gajim/gtk/change_password.py:145 gajim/gtk/change_password.py:147 +#: gajim/gtk/change_password.py:224 gajim/gtk/accounts.py:994 +msgid "Change Password" +msgstr "Ændre Adgangskode" + +#: gajim/gtk/change_password.py:154 +#, fuzzy +msgid "Please enter your new password." +msgstr "Opret et nyt tema med dit ønskede navn." + +#: gajim/gtk/change_password.py:167 +#, fuzzy +msgid "Enter new password..." +msgstr "Skriv en ny adgangskode:" + +#: gajim/gtk/change_password.py:176 +#, fuzzy +msgid "Confirm new password..." +msgstr "Ændre Adgangskode" + +#: gajim/gtk/change_password.py:191 +msgid "Passwords do not match" +msgstr "Adgangskoderne er ikke ens" + +#: gajim/gtk/bookmarks.py:48 +#, fuzzy, python-format +msgid "Bookmarks for %s" +msgstr "_Bogmærke" + +#: gajim/gtk/xml_console.py:95 gajim/gtk/xml_console.py:279 +#, fuzzy +msgid "All Accounts" +msgstr "Konti" + +#: gajim/gtk/xml_console.py:170 +#, fuzzy, python-format +msgid "Please make sure you are connected with '%s'." +msgstr "Vær venligst sikker på at du er tilsluttet med \"%s\"." + +#: gajim/gtk/xml_console.py:180 +#, fuzzy +msgid "Invalid Node" +msgstr "Ugyldig Fil" + +#: gajim/gtk/xml_console.py:282 +msgid "Account" +msgstr "Konto" + +#: gajim/gtk/xml_console.py:309 gajim/data/gui/xml_console.ui:241 +#, fuzzy +msgid "Filter" +msgstr "Filter:" + +#: gajim/gtk/dataform.py:252 gajim/gtk/dataform.py:290 +#, fuzzy +msgid "Required" +msgstr "Adgangskode er Påkrævet" + +#: gajim/gtk/dataform.py:315 +msgid "Yes" +msgstr "" + +#: gajim/gtk/dataform.py:315 +#, fuzzy +msgid "No" +msgstr "Ingen" + +#: gajim/gtk/dataform.py:701 gajim/gtk/adhoc.py:86 +#: gajim/data/gui/profile.ui:396 +#, fuzzy +msgid "Cancel" +msgstr "_Afbryd" + +#: gajim/gtk/dataform.py:703 +msgid "Submit" +msgstr "" + +#: gajim/gtk/discovery.py:69 +msgid "This service has not yet responded with detailed information" +msgstr "Denne tjeneste har endnu ikke svaret med detaljeret information" + +#: gajim/gtk/discovery.py:70 +#, fuzzy +msgid "" +"This service could not respond with detailed information.\n" +"It is most likely a legacy service or broken." +msgstr "" +"Denne tjeneste kunne ikke svare med detaljeret information.\n" +"Den er højst sandsynlig ikke fungerende" + +#: gajim/gtk/discovery.py:126 +msgid "Others" +msgstr "Andre" + +#: gajim/gtk/discovery.py:129 gajim/data/gui/shortcuts_window.ui:307 +#, fuzzy +msgid "Group Chat" +msgstr "Gruppesamtaler" + +#: gajim/gtk/discovery.py:523 +msgid "Without a connection, you can not browse available services" +msgstr "Du kan kun gennemse tilgængelige tjenester hvis du er tilsluttet" + +#: gajim/gtk/discovery.py:610 +#, python-format +msgid "Service Discovery using account %s" +msgstr "Opdag Tjenester med kontoen %s" + +#: gajim/gtk/discovery.py:612 +msgid "Service Discovery" +msgstr "Opdag Tjenester" + +#: gajim/gtk/discovery.py:695 +msgid "The service could not be found" +msgstr "Tjenesten findes ikke" + +#: gajim/gtk/discovery.py:696 +msgid "" +"There is no service at the address you entered, or it is not responding. " +"Check the address and try again." +msgstr "" +"Der er ikke nogen tjenester på den adresse som du indtastede, eller serveren " +"gav intet svar. Kontroller adressen og prøv igen." + +#: gajim/gtk/discovery.py:703 gajim/gtk/discovery.py:1046 +msgid "The service is not browsable" +msgstr "Det er ikke mulig at gennemse denne tjeneste" + +#: gajim/gtk/discovery.py:704 +msgid "This type of service does not contain any items to browse." +msgstr "Denne type tjeneste har ingen elementer som kan gennemses." + +#: gajim/gtk/discovery.py:742 gajim/gtk/discovery.py:751 +msgid "Invalid Server Name" +msgstr "Ikke gyldigt server navn" + +#: gajim/gtk/discovery.py:810 +#, python-format +msgid "Browsing %(address)s using account %(account)s" +msgstr "Gennemse %(address)s med konto %(account)s" + +#: gajim/gtk/discovery.py:855 +#, fuzzy +msgid "Browse" +msgstr "_Gennemse" + +#: gajim/gtk/discovery.py:1047 +msgid "This service does not contain any items to browse." +msgstr "Denne tjeneste har ingen elementer som kan gennemses." + +#: gajim/gtk/discovery.py:1259 +#, fuzzy +msgid "_Command" +msgstr "Kommando" + +#: gajim/gtk/discovery.py:1268 gajim/gtk/discovery.py:1425 +msgid "Re_gister" +msgstr "Re_gistrer" + +#: gajim/gtk/discovery.py:1275 +#, fuzzy +msgid "Join" +msgstr "_Bliv med:" + +#: gajim/gtk/discovery.py:1281 +msgid "_Search" +msgstr "_Søg" + +#: gajim/gtk/discovery.py:1423 gajim/data/gui/profile.ui:353 +msgid "_Edit" +msgstr "R_ediger" + +#: gajim/gtk/discovery.py:1461 +#, fuzzy, python-format +msgid "Scanning %(current)d / %(total)d ..." +msgstr "Skanner %(current)d / %(total)d.." + +#: gajim/gtk/discovery.py:1660 +msgid "Users" +msgstr "Brugere" + +#: gajim/gtk/discovery.py:1668 gajim/data/gui/groupchat_info_scrolled.ui:32 +#: gajim/data/gui/filetransfers_send_file_dialog.ui:15 +#: gajim/data/gui/advanced_configuration.ui:82 +msgid "Description" +msgstr "Beskrivelse" + +#: gajim/gtk/discovery.py:1676 +msgid "Id" +msgstr "Id" + +#: gajim/gtk/discovery.py:1905 +msgid "Subscribed" +msgstr "Abonnerede" + +#: gajim/gtk/discovery.py:1914 +msgid "Node" +msgstr "Knude" + +#: gajim/gtk/discovery.py:1983 +#, fuzzy +msgid "_New post" +msgstr "Ny post" + +#: gajim/gtk/discovery.py:1992 +msgid "_Subscribe" +msgstr "_Abonner" + +#: gajim/gtk/discovery.py:2000 +msgid "_Unsubscribe" +msgstr "_Frameld abonnement" + +#: gajim/gtk/groupchat_settings.py:43 +msgid "Show Join/Leave" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:53 +#, fuzzy +msgid "Notify on all Messages" +msgstr "Forvalgte beskeder:" + +#: gajim/gtk/groupchat_settings.py:58 +#, fuzzy +msgid "Minimize on Close" +msgstr "_Minimer ved lukning" + +#: gajim/gtk/groupchat_settings.py:63 +#, fuzzy +msgid "Minimize When Joining Automatically" +msgstr "Minimer ved Automatisk Deltagelse" + +#: gajim/gtk/groupchat_settings.py:68 +#, fuzzy +msgid "Send Chat State" +msgstr "Sidste status: %s" + +#: gajim/gtk/groupchat_settings.py:74 +#, fuzzy +msgid "Send Chat Markers" +msgstr "Sidste status: %s" + +#: gajim/gtk/groupchat_settings.py:77 +msgid "Let others know if you read up to this point" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:80 +msgid "Sync Threshold" +msgstr "" + +#: gajim/gtk/proxies.py:33 +#, fuzzy +msgid "Manage Proxies" +msgstr "Håndter Proxy Profiler" + +#: gajim/gtk/manage_sounds.py:40 +#, fuzzy +msgid "Manage Sounds" +msgstr "Håndter lyde" + +#: gajim/gtk/manage_sounds.py:51 +msgid "Wav Sounds" +msgstr "Wav Lyde" + +#: gajim/gtk/manage_sounds.py:85 +#, fuzzy +msgid "Attention Message Received" +msgstr "Første Besked er Modtaget" + +#: gajim/gtk/manage_sounds.py:86 +msgid "First Message Received" +msgstr "Første Besked er Modtaget" + +#: gajim/gtk/manage_sounds.py:87 +msgid "Next Message Received Focused" +msgstr "Næste Besked Modtages i Fokus" + +#: gajim/gtk/manage_sounds.py:88 +msgid "Next Message Received Unfocused" +msgstr "Næste Besked Modtages uden Fokus" + +#: gajim/gtk/manage_sounds.py:89 +msgid "Contact Connected" +msgstr "Kontakt er Tilsluttet" + +#: gajim/gtk/manage_sounds.py:90 +msgid "Contact Disconnected" +msgstr "Kontakt er ikke Tilsluttet" + +#: gajim/gtk/manage_sounds.py:91 +msgid "Message Sent" +msgstr "Besked er Sendt" + +#: gajim/gtk/manage_sounds.py:92 +msgid "Group Chat Message Highlight" +msgstr "Gruppe Samtale Besked Fremhævning" + +#: gajim/gtk/manage_sounds.py:93 +msgid "Group Chat Message Received" +msgstr "Gruppe Samtale Besked Modtaget" + +#: gajim/gtk/groupchat_info.py:38 +#, fuzzy +msgid "?Group chat feature:Open" +msgstr "?Group Chat Contact Role:Ingen" + +#: gajim/gtk/groupchat_info.py:39 +#, fuzzy +msgid "Anyone can join this group chat" +msgstr "%s deltager nu i gruppe samtalen" + +#: gajim/gtk/groupchat_info.py:42 +#, fuzzy +msgid "?Group chat feature:Members Only" +msgstr "Gruppe Samtale Besked Fremhævning" + +#: gajim/gtk/groupchat_info.py:43 +msgid "This group chat is restricted to members only" +msgstr "" + +#: gajim/gtk/groupchat_info.py:47 +#, fuzzy +msgid "?Group chat feature:Not Anonymous" +msgstr "Gruppesamtaler" + +#: gajim/gtk/groupchat_info.py:48 +msgid "All other group chat participants can see your XMPP address" +msgstr "" + +#: gajim/gtk/groupchat_info.py:52 +#, fuzzy +msgid "?Group chat feature:Semi-Anonymous" +msgstr "Gruppe Samtale Besked Fremhævning" + +#: gajim/gtk/groupchat_info.py:53 +msgid "Only moderators can see your XMPP address" +msgstr "" + +#: gajim/gtk/groupchat_info.py:56 +#, fuzzy +msgid "?Group chat feature:Moderated" +msgstr "?Group Chat Contact Role:Ingen" + +#: gajim/gtk/groupchat_info.py:57 +msgid "" +"Participants entering this group chat need to request permission to send " +"messages" +msgstr "" + +#: gajim/gtk/groupchat_info.py:61 +#, fuzzy +msgid "?Group chat feature:Not Moderated" +msgstr "Gruppesamtaler" + +#: gajim/gtk/groupchat_info.py:62 +msgid "Participants entering this group chat are allowed to send messages" +msgstr "" + +#: gajim/gtk/groupchat_info.py:66 +#, fuzzy +msgid "?Group chat feature:Public" +msgstr "Gruppe Samtale Besked Fremhævning" + +#: gajim/gtk/groupchat_info.py:67 +msgid "Group chat can be found via search" +msgstr "" + +#: gajim/gtk/groupchat_info.py:70 +#, fuzzy +msgid "?Group chat feature:Hidden" +msgstr "?Group Chat Contact Role:Ingen" + +#: gajim/gtk/groupchat_info.py:71 +#, fuzzy +msgid "This group chat can not be found via search" +msgstr "Tjenesten findes ikke" + +#: gajim/gtk/groupchat_info.py:74 +#, fuzzy +msgid "?Group chat feature:Password Required" +msgstr "Gruppesamtaler" + +#: gajim/gtk/groupchat_info.py:75 +msgid "This group chat does require a password upon entry" +msgstr "" + +#: gajim/gtk/groupchat_info.py:79 +#, fuzzy +msgid "?Group chat feature:No Password Required" +msgstr "Gruppesamtaler" + +#: gajim/gtk/groupchat_info.py:80 +msgid "This group chat does not require a password upon entry" +msgstr "" + +#: gajim/gtk/groupchat_info.py:84 +#, fuzzy +msgid "?Group chat feature:Persistent" +msgstr "Gruppesamtaler" + +#: gajim/gtk/groupchat_info.py:85 +msgid "This group chat persists even if there are no participants" +msgstr "" + +#: gajim/gtk/groupchat_info.py:89 +#, fuzzy +msgid "?Group chat feature:Temporary" +msgstr "?Group Chat Contact Role:Ingen" + +#: gajim/gtk/groupchat_info.py:90 +msgid "This group chat will be destroyed once the last participant left" +msgstr "" + +#: gajim/gtk/groupchat_info.py:94 +#, fuzzy +msgid "?Group chat feature:Archiving" +msgstr "Gruppesamtale Invitation" + +#: gajim/gtk/groupchat_info.py:95 +#, fuzzy +msgid "Messages are archived on the server" +msgstr "Session VIL IKKE blive logget" + +#: gajim/gtk/groupchat_info.py:205 +msgid "Website" +msgstr "" + +#: gajim/gtk/accounts.py:122 +#, fuzzy +msgid "Re-Login" +msgstr "Log ind igen nu?" + +#: gajim/gtk/accounts.py:123 +#, fuzzy +msgid "Re-Login now?" +msgstr "Log ind igen nu?" + +#: gajim/gtk/accounts.py:124 +#, fuzzy +msgid "To apply all changes instantly, you have to re-login." +msgstr "" +"Hvis du vil at alle ændringerne skal træde i kraft nu, må du logge ind igen." + +#: gajim/gtk/accounts.py:128 +msgid "_Re-Login" +msgstr "" + +#: gajim/gtk/accounts.py:311 gajim/data/gui/server_info.ui:386 +msgid "Connection" +msgstr "Tilslutning" + +#: gajim/gtk/accounts.py:496 +#, fuzzy +msgid "Please check if Bonjour is installed." +msgstr "Kontroller venligst om Avahi eller Bonjour er installeret." + +#: gajim/gtk/accounts.py:498 +#, fuzzy +msgid "Please check if Avahi is installed." +msgstr "Kontroller venligst om Avahi eller Bonjour er installeret." + +#: gajim/gtk/accounts.py:537 +#, fuzzy +msgid "Disable Account" +msgstr "Ugyldig Konto" + +#: gajim/gtk/accounts.py:538 +#, fuzzy, python-format +msgid "Account %s is still connected" +msgstr "Kontoen \"%s\" er tilsluttet til serveren" + +#: gajim/gtk/accounts.py:539 +#, fuzzy +msgid "All chat and group chat windows will be closed." +msgstr "" +"Alle samtale og gruppesamtale vinduer vil blive lukket. Vil du fortsætte?" + +#: gajim/gtk/accounts.py:543 +#, fuzzy +msgid "_Disable Account" +msgstr "Ugyldig Konto" + +#: gajim/gtk/accounts.py:614 +msgid "Label" +msgstr "" + +#: gajim/gtk/accounts.py:618 gajim/data/gui/groupchat_control.ui:99 +#: gajim/data/gui/chat_control.ui:363 +msgid "Color" +msgstr "Farve" + +#: gajim/gtk/accounts.py:620 +msgid "Recognize your account by color" +msgstr "" + +#: gajim/gtk/accounts.py:622 +msgid "Login" +msgstr "" + +#: gajim/gtk/accounts.py:627 +#, fuzzy +msgid "Import Contacts" +msgstr "Inviter _Kontakter" + +#: gajim/gtk/accounts.py:636 gajim/gtk/accounts.py:865 +#, fuzzy +msgid "Connect on startup" +msgstr "T_ilslut når Gajim startes" + +#: gajim/gtk/accounts.py:640 gajim/gtk/accounts.py:870 +#, fuzzy +msgid "Save conversations for all contacts" +msgstr "Gem konversations _logger for alle kontakter" + +#: gajim/gtk/accounts.py:642 gajim/gtk/accounts.py:872 +msgid "Store conversations on the harddrive" +msgstr "" + +#: gajim/gtk/accounts.py:644 gajim/gtk/accounts.py:874 +#, fuzzy +msgid "Global Status" +msgstr "Status For Alle" + +#: gajim/gtk/accounts.py:646 +#, fuzzy +msgid "Synchronise the status of all accounts" +msgstr "Ændrer status for kontoen eller konti" + +#: gajim/gtk/accounts.py:648 +msgid "Remember Last Status" +msgstr "" + +#: gajim/gtk/accounts.py:650 +msgid "Restore status and status message of your last session" +msgstr "" + +#: gajim/gtk/accounts.py:653 +msgid "Use file transfer proxies" +msgstr "Brug fil transport proxy" + +#: gajim/gtk/accounts.py:670 +#, fuzzy +msgid "Forever" +msgstr "Server" + +#: gajim/gtk/accounts.py:671 gajim/common/const.py:1110 +msgid "1 Day" +msgstr "" + +#: gajim/gtk/accounts.py:672 gajim/common/const.py:1112 +msgid "1 Week" +msgstr "" + +#: gajim/gtk/accounts.py:673 gajim/common/const.py:1113 +msgid "1 Month" +msgstr "" + +#: gajim/gtk/accounts.py:674 +msgid "3 Months" +msgstr "" + +#: gajim/gtk/accounts.py:675 +msgid "6 Months" +msgstr "" + +#: gajim/gtk/accounts.py:676 +msgid "1 Year" +msgstr "" + +#: gajim/gtk/accounts.py:686 +#, fuzzy +msgid "Idle Time" +msgstr " siden %s" + +#: gajim/gtk/accounts.py:688 +msgid "Disclose the time of your last activity" +msgstr "" + +#: gajim/gtk/accounts.py:690 +msgid "Local System Time" +msgstr "" + +#: gajim/gtk/accounts.py:692 +msgid "Disclose the local system time of the device Gajim runs on" +msgstr "" + +#: gajim/gtk/accounts.py:695 +#, fuzzy +msgid "Client / Operating System" +msgstr "Selvsigneret certifikat" + +#: gajim/gtk/accounts.py:697 +#, fuzzy +msgid "" +"Disclose information about the client and operating system you currently use" +msgstr "" +"Hvis valgt vil Gajim tillade andre at kunne se det operativ system du bruger" + +#: gajim/gtk/accounts.py:700 +#, fuzzy +msgid "Ignore Unknown Contacts" +msgstr "Inviter _Kontakter" + +#: gajim/gtk/accounts.py:702 +#, fuzzy +msgid "Ignore everything from contacts not in your Roster" +msgstr "_Ignorer hændelser fra kontakter som ikke er i kontaktvinduet" + +#: gajim/gtk/accounts.py:705 +#, fuzzy +msgid "Send Message Receipts" +msgstr "Første Besked er Modtaget" + +#: gajim/gtk/accounts.py:707 +msgid "Tell your contacts if you received a message" +msgstr "" + +#: gajim/gtk/accounts.py:713 +#, fuzzy +msgid "Default for chats" +msgstr "Åben for samtaler" + +#: gajim/gtk/accounts.py:716 gajim/gtk/accounts.py:741 +msgid "Reset all chats to the current default value" +msgstr "" + +#: gajim/gtk/accounts.py:722 +#, fuzzy +msgid "Send Chatstate in Group Chats" +msgstr "Ikke i stand til at deltage i gruppesamtale." + +#: gajim/gtk/accounts.py:725 +#, fuzzy +msgid "Default for group chats" +msgstr "Ny Gruppe Samtale" + +#: gajim/gtk/accounts.py:739 +#, fuzzy +msgid "Default for chats and private group chats" +msgstr "%s deltager nu i gruppe samtalen" + +#: gajim/gtk/accounts.py:747 +#, fuzzy +msgid "Keep Chat History" +msgstr "For nylig:" + +#: gajim/gtk/accounts.py:751 +msgid "How long Gajim should keep your chat history" +msgstr "" + +#: gajim/gtk/accounts.py:787 gajim/data/gui/manage_proxies.ui:337 +#, fuzzy +msgid "Proxy" +msgstr "Proxy:" + +#: gajim/gtk/accounts.py:794 gajim/gtk/accounts.py:949 +#: gajim/data/gui/server_info.ui:20 +#, fuzzy +msgid "Hostname" +msgstr "_Værtsnavn:" + +#: gajim/gtk/accounts.py:795 +msgid "Manually set the hostname for the server" +msgstr "" + +#: gajim/gtk/accounts.py:798 gajim/data/gui/vcard_information_window.ui:72 +#, fuzzy +msgid "Resource" +msgstr "Resource:" + +#: gajim/gtk/accounts.py:801 gajim/gtk/accounts.py:917 +#: gajim/gtk/accounts.py:925 +#, fuzzy +msgid "Priority" +msgstr "Priori_tet:" + +#: gajim/gtk/accounts.py:804 +#, fuzzy +msgid "Use Unencrypted Connection" +msgstr "Ikke sikker forbindelse" + +#: gajim/gtk/accounts.py:806 gajim/common/config.py:273 +#, fuzzy +msgid "Use an unencrypted connection to the server" +msgstr "Du er ikke tilsluttet til serveren" + +#: gajim/gtk/accounts.py:808 +#, fuzzy +msgid "Confirm Unencrypted Connection" +msgstr "Ikke sikker forbindelse" + +#: gajim/gtk/accounts.py:811 +#, fuzzy +msgid "Show a confirmation dialog before connecting unencrypted" +msgstr "" +"Skal vi vise bekræftelses vinduet for blokering af kontakter? Tom streng " +"betyder at vi aldrig viser vinduet." + +#: gajim/gtk/accounts.py:835 gajim/data/gui/zeroconf_information_window.ui:8 +#: gajim/data/gui/vcard_information_window.ui:8 +#: gajim/data/gui/subscription_request_window.ui:164 +msgid "Contact Information" +msgstr "Kontakt Information" + +#: gajim/gtk/accounts.py:837 +msgid "Request contact information (Mood, Activity, Tune, Location)" +msgstr "" + +#: gajim/gtk/accounts.py:840 +#, fuzzy +msgid "Accept all Contact Requests" +msgstr "Filoverførsel Forespørgsel" + +#: gajim/gtk/accounts.py:842 +msgid "Automatically accept all contact requests" +msgstr "" + +#: gajim/gtk/accounts.py:844 +#, fuzzy +msgid "Filetransfer Preference" +msgstr "Filoverførsel Fejl" + +#: gajim/gtk/accounts.py:846 +#, fuzzy +msgid "Upload Files" +msgstr "Gem Fil som..." + +#: gajim/gtk/accounts.py:847 +#, fuzzy +msgid "Send Files Directly" +msgstr "Gem Fil som..." + +#: gajim/gtk/accounts.py:848 +msgid "Preferred file transfer mechanism for file drag&drop on a chat window" +msgstr "" + +#: gajim/gtk/accounts.py:867 +#, fuzzy +msgid "Use environment variable" +msgstr "br_ug HTTP__PROXY miljøvariablen" + +#: gajim/gtk/accounts.py:876 +#, fuzzy +msgid "Synchronize the status of all accounts" +msgstr "Ændrer status for kontoen eller konti" + +#: gajim/gtk/accounts.py:886 +#, fuzzy +msgid "First Name" +msgstr "Fornavn:" + +#: gajim/gtk/accounts.py:889 +#, fuzzy +msgid "Last Name" +msgstr "Efternavn:" + +#: gajim/gtk/accounts.py:895 gajim/gtk/profile.py:32 gajim/gtk/vcard_grid.py:39 +#, fuzzy +msgid "Email" +msgstr "Ny E-post" + +#: gajim/gtk/accounts.py:913 +#, fuzzy +msgid "Adjust to status" +msgstr "_Tilpas til status" + +#: gajim/gtk/accounts.py:945 +msgid "Enable" +msgstr "Aktiver" + +#: gajim/gtk/accounts.py:953 +#, fuzzy +msgid "Port" +msgstr "_Port:" + +#: gajim/gtk/accounts.py:957 gajim/data/gui/server_info.ui:250 +msgid "Type" +msgstr "Type" + +#: gajim/gtk/accounts.py:963 +#, fuzzy +msgid "Connection Settings" +msgstr "Tilslutning" + +#: gajim/gtk/accounts.py:971 +#, fuzzy +msgid "Client Certificate" +msgstr "Selvsigneret certifikat" + +#: gajim/gtk/accounts.py:973 +msgid "PKCS12 Files" +msgstr "" + +#: gajim/gtk/accounts.py:975 +#, fuzzy +msgid "Encrypted Certificate" +msgstr "Selvsigneret certifikat" + +#: gajim/gtk/accounts.py:979 +#, fuzzy +msgid "Certificate Settings" +msgstr "Selvsigneret certifikat" + +#: gajim/gtk/accounts.py:987 gajim/data/gui/account_wizard.ui:255 +#: gajim/data/gui/bookmarks.ui:102 +#, fuzzy +msgid "Password" +msgstr "Adgangskode:" + +#: gajim/gtk/accounts.py:991 +#, fuzzy +msgid "Save Password" +msgstr "Gem adgangskode" + +#: gajim/gtk/accounts.py:999 +#, fuzzy +msgid "Login Settings" +msgstr "Tilslutning fejlede" + +#: gajim/gtk/groupchat_config.py:39 +#, fuzzy +msgid "Group Chat Configuration" +msgstr "Gruppesamtale Invitation" + +#: gajim/gtk/groupchat_config.py:104 gajim/common/helpers.py:283 +#: gajim/data/gui/groupchat_config.ui:40 +msgid "Member" +msgstr "Medlem" + +#: gajim/gtk/groupchat_config.py:133 +#, fuzzy +msgid "A Group Chat needs at least one Owner" +msgstr "?Group Chat Contact Role:Ingen" + +#: gajim/gtk/groupchat_config.py:241 +msgid "You are not allowed to modify the affiliation of Admins and Owners" +msgstr "" + +#: gajim/gtk/groupchat_config.py:400 +msgid "An entry with this XMPP Address already exists" +msgstr "" + +#: gajim/gtk/server_info.py:142 gajim/data/gui/vcard_information_window.ui:89 +#: gajim/data/gui/preferences.ui:359 +msgid "Status" +msgstr "Status" + +#: gajim/gtk/server_info.py:143 +msgid "Support" +msgstr "" + +#: gajim/gtk/server_info.py:144 +msgid "Security" +msgstr "" + +#: gajim/gtk/server_info.py:145 +msgid "Feedback" +msgstr "" + +#: gajim/gtk/server_info.py:146 +msgid "Abuse" +msgstr "" + +#: gajim/gtk/server_info.py:147 +msgid "Sales" +msgstr "" + +#: gajim/gtk/server_info.py:231 +#, python-format +msgid "%(days)s days, %(hours)s hours" +msgstr "" + +#: gajim/gtk/server_info.py:239 gajim/gtk/vcard_grid.py:115 +#: gajim/common/helpers.py:224 +#, fuzzy +msgid "Unknown" +msgstr "?OS:Ukendt" + +#: gajim/gtk/server_info.py:360 +#, fuzzy +msgid "" +"\n" +"Disabled in preferences" +msgstr "_Indstillinger" + +#: gajim/gtk/history.py:79 +msgid "Conversation History" +msgstr "Samtale Historie" + +#: gajim/gtk/history.py:411 gajim/gtk/history.py:465 +msgid "Disk Error" +msgstr "Disk Skrivefejl" + +#: gajim/gtk/history.py:576 +#, python-format +msgid "%(nick)s is now %(status)s: %(status_msg)s" +msgstr "%(nick)s er nu %(status)s: %(status_msg)s" + +#: gajim/gtk/history.py:581 gajim/common/connection_handlers_events.py:414 +#, python-format +msgid "%(nick)s is now %(status)s" +msgstr "%(nick)s er nu %(status)s" + +#: gajim/gtk/history.py:589 +#, python-format +msgid "Error: %s" +msgstr "Fejl: %s" + +#: gajim/gtk/history.py:593 +#, python-format +msgid "Status is now: %(status)s: %(status_msg)s" +msgstr "Status er nu: %(status)s: %(status_msg)s" + +#: gajim/gtk/history.py:597 +#, python-format +msgid "Status is now: %(status)s" +msgstr "Status er nu: %(status)s" + +#: gajim/gtk/about.py:51 +#, fuzzy +msgid "A GTK XMPP client" +msgstr "En GTK+ Jabber klient" + +#: gajim/gtk/about.py:52 +#, fuzzy, python-format +msgid "GTK Version: %s" +msgstr "GTK+ Version:" + +#: gajim/gtk/about.py:53 +#, fuzzy, python-format +msgid "GLib Version: %s" +msgstr "GTK+ Version:" + +#: gajim/gtk/about.py:54 +#, fuzzy, python-format +msgid "PyGObject Version: %s" +msgstr "PyGTK Version:" + +#: gajim/gtk/about.py:55 +#, python-format +msgid "python-nbxmpp Version: %s" +msgstr "" + +#: gajim/gtk/about.py:59 +#, fuzzy +msgid "Current Developers" +msgstr "Nuværende Programudviklere:" + +#: gajim/gtk/about.py:60 +#, fuzzy +msgid "Past Developers" +msgstr "Tidligere Programudviklerer:" + +#: gajim/gtk/about.py:61 +msgid "Artists" +msgstr "" + +#: gajim/gtk/about.py:65 +msgid "Last but not least" +msgstr "" + +#: gajim/gtk/about.py:66 +#, fuzzy +msgid "we would like to thank all the package maintainers." +msgstr "Sidst men ikke mindst, vil vi gerne takke alle pakke vedligeholdere." + +#: gajim/gtk/about.py:67 +#, fuzzy +msgid "Thanks" +msgstr "Taknemlig" + +#: gajim/gtk/about.py:69 +msgid "translator-credits" +msgstr "Niels Felsted Thorsen " + +#: gajim/gtk/search.py:95 gajim/gtk/search.py:191 +msgid "Search" +msgstr "Søg" + +#: gajim/gtk/search.py:101 +#, fuzzy +msgid "New Search" +msgstr "Søg" + +#: gajim/gtk/search.py:176 +msgid "Request Search Form" +msgstr "" + +#: gajim/gtk/search.py:236 +#, fuzzy +msgid "Search…" +msgstr "Søg" + +#: gajim/gtk/search.py:243 +#, fuzzy +msgid "Search Result" +msgstr "Søg" + +#: gajim/gtk/search.py:250 +#, fuzzy +msgid "No results found" +msgstr "Intet resultat" + +#: gajim/gtk/features.py:40 gajim/data/gui/server_info.ui:447 +msgid "Features" +msgstr "Egenskaber" + +#: gajim/gtk/features.py:90 +msgid "Audio / Video" +msgstr "Lyd / Billede" + +#: gajim/gtk/features.py:92 +#, fuzzy +msgid "Enables Gajim to provide Audio and Video chats" +msgstr "Understøtter start af lyd og billede chat." + +#: gajim/gtk/features.py:93 +msgid "" +"Requires: gir1.2-farstream-0.2, gir1.2-gstreamer-1.0, gstreamer1.0-libav, " +"gstreamer1.0-plugins-ugly" +msgstr "" + +#: gajim/gtk/features.py:95 gajim/gtk/features.py:145 +#, fuzzy +msgid "Feature not available under Windows" +msgstr "Egenskab ikke tilgængelig under Windows." + +#: gajim/gtk/features.py:97 +#, fuzzy +msgid "Automatic Status" +msgstr "Automatisk status" + +#: gajim/gtk/features.py:99 +#, fuzzy +msgid "" +"Enables Gajim to measure your computer's idle time in order to set your " +"Status automatically" +msgstr "Evnen til at måle tomgangs tid, for at kunne sætte automatisk status." + +#: gajim/gtk/features.py:101 +#, fuzzy +msgid "Requires: libxss" +msgstr "Biblioteket libxss kræves" + +#: gajim/gtk/features.py:102 gajim/gtk/features.py:123 +msgid "No additional requirements" +msgstr "" + +#: gajim/gtk/features.py:104 +#, fuzzy +msgid "Bonjour / Zeroconf (Serverless Chat)" +msgstr "Bonjour / Zeroconf" + +#: gajim/gtk/features.py:106 +#, fuzzy +msgid "" +"Enables Gajim to automatically detected clients in a local network for " +"serverless chats" +msgstr "" +"Serverløs samtale med automatisk opdagede klienter i et lokalt netværk." + +#: gajim/gtk/features.py:108 +#, fuzzy +msgid "Requires: gir1.2-avahi-0.6" +msgstr "Kræver python-gnome2." + +#: gajim/gtk/features.py:109 +#, fuzzy, python-format +msgid "Requires: pybonjour and bonjour SDK running (%(url)s)" +msgstr "Kræver pybonjour og bonjour SDK kører (%(url)s)" + +#: gajim/gtk/features.py:112 +#, fuzzy +msgid "Location detection" +msgstr "Tilslutning" + +#: gajim/gtk/features.py:114 +msgid "" +"Enables Gajim to be location-aware, if the user decides to publish the " +"device’s location" +msgstr "" + +#: gajim/gtk/features.py:116 +#, fuzzy +msgid "Requires: geoclue" +msgstr "Kræver Gspell" + +#: gajim/gtk/features.py:117 +#, fuzzy +msgid "Feature is not available under Windows" +msgstr "Egenskab ikke tilgængelig under Windows." + +#: gajim/gtk/features.py:119 +#, fuzzy +msgid "Notification Sounds" +msgstr "Påmindelser" + +#: gajim/gtk/features.py:121 +#, fuzzy +msgid "Enables Gajim to play sounds for various notifications" +msgstr "Understøtter start af lyd og billede chat." + +#: gajim/gtk/features.py:122 +#, fuzzy +msgid "Requires: gsound" +msgstr "Kræver python-dbus." + +#: gajim/gtk/features.py:125 +#, fuzzy +msgid "Secure Password Storage" +msgstr "Gem adgangskode" + +#: gajim/gtk/features.py:127 +#, fuzzy +msgid "" +"Enables Gajim to store Passwords securely instead of storing them in " +"plaintext" +msgstr "Adgangskoder kan blive gemt sikkert og ikke bare i ren tekst." + +#: gajim/gtk/features.py:129 +#, fuzzy +msgid "Requires: gnome-keyring or kwallet" +msgstr "Kræver gnome-keyring og python-gnome2-desktop, eller kwalletcli." + +#: gajim/gtk/features.py:130 +msgid "Windows Credential Vault is used for secure password storage" +msgstr "" + +#: gajim/gtk/features.py:133 +msgid "Spell Checker" +msgstr "Stavekontrol" + +#: gajim/gtk/features.py:135 +msgid "Enables Gajim to spell check your messages while composing" +msgstr "" + +#: gajim/gtk/features.py:137 gajim/gtk/features.py:138 +#, fuzzy +msgid "Requires: Gspell" +msgstr "Kræver Gspell" + +#: gajim/gtk/features.py:140 +msgid "UPnP-IGD Port Forwarding" +msgstr "" + +#: gajim/gtk/features.py:142 +msgid "" +"Enables Gajim to request your router to forward ports for file transfers" +msgstr "" + +#: gajim/gtk/features.py:144 +#, fuzzy +msgid "Requires: gir1.2-gupnpigd-1.0" +msgstr "Kræver python-gnome2." + +#: gajim/gtk/features.py:200 +#, fuzzy +msgid "Disabled in Preferences" +msgstr "_Indstillinger" + +#: gajim/gtk/dialogs.py:55 gajim/gtk/filechoosers.py:179 +#: gajim/data/gui/groupchat_control.ui:674 +#: gajim/data/gui/groupchat_control.ui:766 +#: gajim/data/gui/groupchat_control.ui:882 +#: gajim/data/gui/groupchat_control.ui:974 +#: gajim/data/gui/groupchat_control.ui:1419 +#: gajim/data/gui/groupchat_control.ui:1545 +#: gajim/data/gui/groupchat_control.ui:1671 +#: gajim/data/gui/groupchat_control.ui:1842 +#: gajim/data/gui/groupchat_control.ui:1920 gajim/data/gui/filetransfers.ui:30 +#: gajim/data/gui/add_new_contact_window.ui:451 +#: gajim/data/gui/filetransfer_progress.ui:172 gajim/data/gui/profile.ui:260 +#: gajim/data/gui/passphrase_dialog.ui:29 +msgid "_Cancel" +msgstr "_Afbryd" + +#: gajim/gtk/dialogs.py:65 gajim/data/gui/history_manager.ui:20 +#, fuzzy +msgid "_Delete" +msgstr "Slet" + +#: gajim/gtk/dialogs.py:216 +#, fuzzy +msgid "Certificate" +msgstr "Selvsigneret certifikat" + +#: gajim/gtk/dialogs.py:230 +#, fuzzy, python-format +msgid "" +"Certificate for \n" +"%s" +msgstr "for konto %s" + +#: gajim/gtk/dialogs.py:279 +msgid "Issued to\n" +msgstr "" + +#: gajim/gtk/dialogs.py:280 gajim/gtk/dialogs.py:285 +msgid "Common Name (CN): " +msgstr "" + +#: gajim/gtk/dialogs.py:281 gajim/gtk/dialogs.py:286 +msgid "Organization (O): " +msgstr "" + +#: gajim/gtk/dialogs.py:282 gajim/gtk/dialogs.py:287 +msgid "Organizational Unit (OU): " +msgstr "" + +#: gajim/gtk/dialogs.py:283 +#, fuzzy +msgid "Serial Number: " +msgstr "GG Nummer:" + +#: gajim/gtk/dialogs.py:284 +msgid "Issued by\n" +msgstr "" + +#: gajim/gtk/dialogs.py:288 +msgid "Validity\n" +msgstr "" + +#: gajim/gtk/dialogs.py:289 +msgid "Issued on: " +msgstr "" + +#: gajim/gtk/dialogs.py:290 +msgid "Expires on: " +msgstr "" + +#: gajim/gtk/dialogs.py:291 +msgid "SHA-1:" +msgstr "" + +#: gajim/gtk/dialogs.py:293 +msgid "SHA-256:" +msgstr "" + +#: gajim/gtk/util.py:591 +msgid "Unknown Artist" +msgstr "Ukendt Artist" + +#: gajim/gtk/util.py:592 +msgid "Unknown Title" +msgstr "Ukendt Titel" + +#: gajim/gtk/util.py:593 +msgid "Unknown Source" +msgstr "Ukendt Kilde" + +#: gajim/gtk/util.py:595 +#, python-format +msgid "" +"\"%(title)s\" by %(artist)s\n" +"from %(source)s" +msgstr "" +"\"%(title)s\" af %(artist)s\n" +"fra %(source)s" + +#: gajim/gtk/profile.py:28 gajim/gtk/vcard_grid.py:33 +#: gajim/data/gui/vcard_information_window.ui:411 +#, fuzzy +msgid "Full Name" +msgstr "Fuldt Navn" + +#: gajim/gtk/profile.py:29 gajim/gtk/vcard_grid.py:35 +#: gajim/data/gui/vcard_information_window.ui:770 +#, fuzzy +msgid "Birthday" +msgstr "Fødselsdag:" + +#: gajim/gtk/profile.py:30 gajim/gtk/vcard_grid.py:36 +#, fuzzy +msgid "Gender" +msgstr "Afsender: " + +#: gajim/gtk/profile.py:31 gajim/data/gui/groupchat_info_scrolled.ui:16 +#, fuzzy +msgid "Address" +msgstr "_Adresse:" + +#: gajim/gtk/profile.py:34 gajim/gtk/vcard_grid.py:38 +#: gajim/data/gui/vcard_information_window.ui:720 +#: gajim/data/gui/vcard_information_window.ui:1396 +#, fuzzy +msgid "Phone No." +msgstr "Telefon" + +#: gajim/gtk/profile.py:35 +msgid "?profile:Organisation" +msgstr "" + +#: gajim/gtk/profile.py:36 gajim/gtk/vcard_grid.py:41 +msgid "?profile:Title" +msgstr "" + +#: gajim/gtk/profile.py:37 gajim/gtk/vcard_grid.py:42 +#, fuzzy +msgid "?profile:Role" +msgstr "fil" + +#: gajim/gtk/profile.py:38 gajim/gtk/vcard_grid.py:45 +msgid "URL" +msgstr "" + +#: gajim/gtk/profile.py:39 gajim/gtk/vcard_grid.py:46 +#, fuzzy +msgid "?profile:Key" +msgstr "fil" + +#: gajim/gtk/profile.py:299 gajim/gtk/profile.py:301 +#: gajim/data/gui/profile.ui:98 gajim/data/gui/profile.ui:110 +msgid "Everyone" +msgstr "" + +#: gajim/gtk/profile.py:299 gajim/gtk/profile.py:301 +#: gajim/data/gui/shortcuts_window.ui:108 gajim/data/gui/groupchat_invite.ui:83 +msgid "Contacts" +msgstr "Kontakter" + +#: gajim/gtk/filechoosers.py:88 +msgid "Choose File to Send…" +msgstr "Vælg en fil at sende..." + +#: gajim/gtk/filechoosers.py:94 +#, fuzzy +msgid "Choose Avatar…" +msgstr "Vælg Billede" + +#: gajim/gtk/filechoosers.py:98 +#, fuzzy +msgid "PNG files" +msgstr "Alle filer" + +#: gajim/gtk/filechoosers.py:99 +#, fuzzy +msgid "JPEG files" +msgstr "Alle filer" + +#: gajim/gtk/filechoosers.py:100 +#, fuzzy +msgid "SVG files" +msgstr "Send _Fil" + +#: gajim/gtk/filechoosers.py:102 +msgid "Images" +msgstr "Billeder" + +#: gajim/gtk/filechoosers.py:139 +#, fuzzy +msgid "Choose Archive" +msgstr "Vælg Billede" + +#: gajim/gtk/filechoosers.py:141 +#, fuzzy +msgid "ZIP files" +msgstr "Alle filer" + +#: gajim/gtk/filechoosers.py:146 +msgid "Save File as…" +msgstr "Gem fil som..." + +#: gajim/gtk/filechoosers.py:180 +#, fuzzy +msgid "_Open" +msgstr "OpenPGP: " + +#: gajim/gtk/blocking.py:38 +#, fuzzy, python-format +msgid "Blocking List for %s" +msgstr "Privatlivs Liste for %s" + +#: gajim/gtk/blocking.py:64 +#, fuzzy +msgid "Error!" +msgstr "Fejl" + +#: gajim/gtk/service_registration.py:143 gajim/gtk/service_registration.py:157 +#: gajim/gtk/service_registration.py:164 +#, fuzzy +msgid "Register" +msgstr "Kan _registreres" + +#: gajim/gtk/service_registration.py:193 gajim/gtk/service_registration.py:205 +#, fuzzy +msgid "Registration successful" +msgstr "Tilslutning lykkedes" + +#: gajim/gtk/service_registration.py:216 +msgid "Registration failed" +msgstr "Tilslutning fejlede" + +#: gajim/gtk/vcard_grid.py:37 +#, fuzzy +msgid "?profile:Address" +msgstr "_Adresse:" + +#: gajim/gtk/vcard_grid.py:40 +#, fuzzy +msgid "IM Address" +msgstr "_Adresse:" + +#: gajim/gtk/vcard_grid.py:43 +#, fuzzy +msgid "Organisation" +msgstr "Få Ferie" + +#: gajim/gtk/vcard_grid.py:44 +#, fuzzy +msgid "?profile:Note" +msgstr "fil" + +#: gajim/gtk/vcard_grid.py:51 +msgid "Your public key or authentication certificate" +msgstr "" + +#: gajim/gtk/vcard_grid.py:59 +msgid "Post Office Box" +msgstr "" + +#: gajim/gtk/vcard_grid.py:60 gajim/data/gui/vcard_information_window.ui:489 +#: gajim/data/gui/vcard_information_window.ui:1179 +#, fuzzy +msgid "Street" +msgstr "Stresset" + +#: gajim/gtk/vcard_grid.py:61 +#, fuzzy +msgid "Extended Address" +msgstr "Ekstra Adresse:" + +#: gajim/gtk/vcard_grid.py:62 gajim/data/gui/vcard_information_window.ui:505 +#: gajim/data/gui/vcard_information_window.ui:1195 +msgid "City" +msgstr "" + +#: gajim/gtk/vcard_grid.py:63 gajim/data/gui/vcard_information_window.ui:521 +#: gajim/data/gui/vcard_information_window.ui:1211 +#, fuzzy +msgid "State" +msgstr "Status" + +#: gajim/gtk/vcard_grid.py:64 gajim/data/gui/vcard_information_window.ui:595 +#: gajim/data/gui/vcard_information_window.ui:1244 +#, fuzzy +msgid "Postal Code" +msgstr "Postnummer:" + +#: gajim/gtk/vcard_grid.py:65 gajim/data/gui/vcard_information_window.ui:611 +#: gajim/data/gui/vcard_information_window.ui:1260 +#, fuzzy +msgid "Country" +msgstr "Konto" + +#: gajim/gtk/vcard_grid.py:111 +msgid "Male" +msgstr "" + +#: gajim/gtk/vcard_grid.py:112 +msgid "Female" +msgstr "" + +#: gajim/gtk/vcard_grid.py:113 +msgid "?Gender:Other" +msgstr "" + +#: gajim/gtk/vcard_grid.py:114 +#, fuzzy +msgid "?Gender:None" +msgstr "Afsender: " + +#: gajim/gtk/vcard_grid.py:121 gajim/gtk/vcard_grid.py:428 +#, fuzzy +msgid "Home" +msgstr "Hjemmeside:" + +#: gajim/gtk/vcard_grid.py:122 gajim/gtk/vcard_grid.py:429 +#: gajim/data/gui/vcard_information_window.ui:1452 +msgid "Work" +msgstr "Arbejde" + +#: gajim/gtk/vcard_grid.py:598 +#, fuzzy +msgid "YYYY-MM-DD" +msgstr "Format: YYYY-MM-DD" + +#: gajim/gtk/adhoc.py:91 +#, fuzzy +msgid "Finish" +msgstr "_Færdig" + +#: gajim/gtk/adhoc.py:96 gajim/gtk/adhoc.py:283 +#, fuzzy +msgid "Commands" +msgstr "Kommando" + +#: gajim/gtk/adhoc.py:107 +#, fuzzy +msgid "Previous" +msgstr "Misundelig" + +#: gajim/gtk/adhoc.py:112 +#, fuzzy +msgid "Execute" +msgstr "_Kør Kommando" + +#: gajim/gtk/adhoc.py:196 +#, fuzzy +msgid "No commands available" +msgstr "Ingen konto tilgængelig" + +#: gajim/gtk/adhoc.py:244 +#, fuzzy +msgid "Request Command List" +msgstr "_Kør Kommando" + +#: gajim/gtk/adhoc.py:259 +#, fuzzy +msgid "Executing…" +msgstr "_Kør Kommando" + +#: gajim/gtk/adhoc.py:266 +#, fuzzy +msgid "Command List" +msgstr "Liste over bandlyste" + +#: gajim/gtk/adhoc.py:321 gajim/data/gui/manage_proxies.ui:255 +#, fuzzy +msgid "Settings" +msgstr "Tilslutning fejlede" + +#: gajim/gtk/adhoc.py:386 +#, fuzzy +msgid "Finished" +msgstr "_Færdig" + +#: gajim/gtk/adhoc.py:455 +#, fuzzy +msgid "Execution failed" +msgstr "Tilslutning Fejlede" + +#: gajim/common/jingle_rtp.py:133 +#, fuzzy, python-format +msgid "%s configuration error" +msgstr "Rum Konfigurering" + +#: gajim/common/jingle_rtp.py:134 +#, python-format +msgid "" +"Couldn’t set up %(text)s. Check your configuration.\n" +"Pipeline:\n" +"%(pipeline)s\n" +"Error:\n" +"%(error)s" +msgstr "" + +#: gajim/common/jingle_rtp.py:416 +msgid "audio input" +msgstr "" + +#: gajim/common/jingle_rtp.py:421 +msgid "audio output" +msgstr "" + +#: gajim/common/jingle_rtp.py:489 +msgid "video input" +msgstr "" + +#: gajim/common/setting_values.py:300 gajim/common/config.py:356 +#: gajim/common/const.py:387 +msgid "Sleeping" +msgstr "Sover" + +#: gajim/common/setting_values.py:301 +msgid "ZZZZzzzzzZZZZZ" +msgstr "" + +#: gajim/common/setting_values.py:306 gajim/common/config.py:357 +msgid "Back soon" +msgstr "Snart tilbage" + +#: gajim/common/setting_values.py:307 gajim/common/config.py:357 +msgid "Back in some minutes." +msgstr "Tilbage om få minutter." + +#: gajim/common/setting_values.py:309 gajim/common/config.py:358 +#: gajim/common/const.py:353 +msgid "Eating" +msgstr "Spiser" + +#: gajim/common/setting_values.py:310 +#, fuzzy +msgid "I’m eating." +msgstr "Jeg arbejder." + +#: gajim/common/setting_values.py:314 gajim/common/config.py:359 +msgid "Movie" +msgstr "Film" + +#: gajim/common/setting_values.py:315 +#, fuzzy +msgid "I’m watching a movie." +msgstr "Jeg ser en film." + +#: gajim/common/setting_values.py:319 gajim/common/config.py:360 +#: gajim/common/const.py:420 +msgid "Working" +msgstr "Arbejder" + +#: gajim/common/setting_values.py:320 +#, fuzzy +msgid "I’m working." +msgstr "Jeg arbejder." + +#: gajim/common/setting_values.py:324 gajim/common/config.py:362 +msgid "Out" +msgstr "Ude" + +#: gajim/common/setting_values.py:325 +#, fuzzy +msgid "I’m out enjoying life." +msgstr "Jeg er ude og nyder livet." + +#: gajim/common/setting_values.py:393 gajim/common/config.py:84 +msgid "" +"Allow to hide the contact list window even if the notification area icon is " +"not shown." +msgstr "" + +#: gajim/common/setting_values.py:394 gajim/common/config.py:95 +msgid "" +"'always' - print time for every message.\n" +"'sometimes' - print time every print_ichat_every_foo_minutes minute.\n" +"'never' - never print time." +msgstr "" +"'altid' - skriv tid for hver besked.\n" +"'nogen ganger' - skriv tid for hver print_ichat_every_foo_minutes minutter.\n" +"'aldrig' - skriv aldrig tiden." + +#: gajim/common/setting_values.py:395 gajim/common/config.py:99 +msgid "Treat * / _ pairs as possible formatting characters." +msgstr "Behandle * / _ par som mulige formaterings tegn." + +#: gajim/common/setting_values.py:396 gajim/common/config.py:100 +#, fuzzy +msgid "" +"If enabled, do not remove */_ . So *abc* will be bold but with * * not " +"removed." +msgstr "" +"Hvis sandt, ikke fjern */_. Således at *abc* bliver skrevet med fed skrift " +"men * * bliver ikke fjernet." + +#: gajim/common/setting_values.py:397 gajim/common/config.py:103 +#, fuzzy +msgid "" +"Character to add after nickname when using nickname completion (tab) in " +"group chat." +msgstr "" +"Tegn som tilføjes efter kælenavn når der bruges kælenavnsfuldførelse (tab) i " +"en gruppesamtale." + +#: gajim/common/setting_values.py:398 gajim/common/config.py:125 +msgid "" +"If enabled, Gajim will save the contact list window position when hiding it, " +"and restore it when showing the contact list window again." +msgstr "" + +#: gajim/common/setting_values.py:399 gajim/common/config.py:131 +msgid "Place the contact list on the right in single window mode" +msgstr "" + +#: gajim/common/setting_values.py:400 gajim/common/config.py:137 +#, fuzzy +msgid "" +"This option lets you customize the timestamp that is printed in " +"conversation. For example '[%H:%M] ' will show '[hour:minute] '. See python " +"doc on strftime for full documentation (https://docs.python.org/3/library/" +"time.html#time.strftime)." +msgstr "" +"Denne valgmulighed giver dig muligheden for at tilpasse hvordan " +"klokkeslettet bliver skrevet i en samtale. For eksempel [%H:%M] vil vise " +"[timer:minutter]. Se python dokumentationen for strftime: http://docs.python." +"org/lib/module-time.html" + +#: gajim/common/setting_values.py:401 gajim/common/config.py:138 +#, fuzzy +msgid "Characters that are printed before the nickname in conversations." +msgstr "Tegn som bliver skrevet før kælenavnet i samtaler" + +#: gajim/common/setting_values.py:402 gajim/common/config.py:139 +#, fuzzy +msgid "Characters that are printed after the nickname in conversations." +msgstr "Tegn som bliver skrevet efter kælenavnet i samtaler" + +#: gajim/common/setting_values.py:403 gajim/common/config.py:140 +#, fuzzy +msgid "If enabled, Gajim will add * and [n] in contact list window title." +msgstr "Hvis valgt vil Gajim vise kontakternes humør i kontaktvinduet" + +#: gajim/common/setting_values.py:404 gajim/common/config.py:141 +#, fuzzy +msgid "" +"Number of messages from chat history to be restored when a chat tab/window " +"is reopened." +msgstr "" +"Hvor mange linjer skal huskes fra forrige samtale når et samtale vindue/" +"faneblad genåbnes." + +#: gajim/common/setting_values.py:405 gajim/common/config.py:142 +msgid "" +"How far back in time (minutes) chat history is restored. -1 means no limit." +msgstr "" + +#: gajim/common/setting_values.py:406 gajim/common/config.py:143 +#, fuzzy +msgid "Send message on Ctrl+Enter and make a new line with Enter." +msgstr "" +"Send besked med Ctrl+Enter og lave en ny linie med Enter (standard Mirabilis " +"ICQ klient adfærd)." + +#: gajim/common/setting_values.py:407 gajim/common/config.py:145 +#, fuzzy +msgid "How many lines to store for Ctrl+KeyUP (previously sent messages)." +msgstr "Hvor mange linjer skal gemmes for Ctrl+KeyUP." + +#: gajim/common/setting_values.py:409 gajim/common/config.py:148 +#, fuzzy, python-format +msgid "" +"Either a custom URL with %%s in it (where %%s is the word/phrase) or " +"'WIKTIONARY' (which means use Wikitionary)." +msgstr "" +"Enten en tilpasset url som indeholder %s hvor %s er ordet/frasen, eller " +"'WIKTIONARY' som betyder brug wiktionary." + +#: gajim/common/setting_values.py:412 gajim/common/config.py:151 +msgid "If checked, Gajim can be controlled remotely using gajim-remote." +msgstr "" +"Hvis valgt kan Gajim blive kontrolleret eksternt ved hjælp af gajim-remote." + +#: gajim/common/setting_values.py:413 +#, fuzzy +msgid "" +"When not printing time for every message ('print_time'==sometimes, print it " +"every x minutes." +msgstr "" +"Når der ikke skrives tid for hver besked (print_time==sometimes), skriv " +"tiden for hver x minutter." + +#: gajim/common/setting_values.py:414 gajim/common/config.py:153 +msgid "Ask before pasting an image." +msgstr "" + +#: gajim/common/setting_values.py:415 gajim/common/config.py:154 +msgid "Ask before closing a group chat tab/window." +msgstr "Spørg før et gruppesamtale vindue/faneblad lukkes." + +#: gajim/common/setting_values.py:416 gajim/common/config.py:155 +#, fuzzy +msgid "" +"Ask before closing tabbed chat window if there are chats that can lose data " +"(chat, private chat, group chat that will not be minimized)." +msgstr "" +"Spørg før et faneblad i samtale vinduet lukkes hvis der kan mistes dat " +"(samtale, privat samtale, gruppe samtale som ikke vil minimere)" + +#: gajim/common/setting_values.py:418 gajim/common/config.py:158 +#, fuzzy +msgid "" +"List of send hosts (comma separated) in addition to local interfaces for " +"file transfers (in case of address translation/port forwarding)." +msgstr "" +"Komma separeret liste af værter som vi sender, i tillæg til lokale " +"grænseflader, for filoverførsler i tilfælde af adresse omskrivning/port " +"videresending." + +#: gajim/common/setting_values.py:419 gajim/common/config.py:159 +msgid "IEC standard says KiB = 1024 bytes, KB = 1000 bytes." +msgstr "IEC standard siger KiB = 1024 byte, KB = 1000 byte." + +#: gajim/common/setting_values.py:421 gajim/common/config.py:161 +#, fuzzy +msgid "Notify of events in the notification area." +msgstr "Vis påmindelse af hændelser i statusfelt ikonet." + +#: gajim/common/setting_values.py:422 gajim/common/config.py:166 +msgid "Show tab when only one conversation?" +msgstr "Vis et faneblad når der kun er en samtale?" + +#: gajim/common/setting_values.py:423 gajim/common/config.py:167 +msgid "Show tabbed notebook border in chat windows?" +msgstr "Vis faneblade i samtalevinduer?" + +#: gajim/common/setting_values.py:424 gajim/common/config.py:168 +msgid "Show close button in tab?" +msgstr "Vis lukke knap i faneblad?" + +#: gajim/common/setting_values.py:425 gajim/common/config.py:169 +msgid "Preview new messages in notification popup?" +msgstr "Forhåndsvis nye beskeder i et påmindelses pop op vinduer?" + +#: gajim/common/setting_values.py:426 gajim/common/config.py:172 +#, fuzzy +msgid "" +"A list of words (semicolon separated) that will be highlighted in group " +"chats." +msgstr "" +"En semikolon-separeret liste af ord som vil blive fremhævet i gruppesamtaler." + +#: gajim/common/setting_values.py:427 gajim/common/config.py:174 +msgid "" +"If enabled, Gajim hides the contact list window when pressing the X button " +"instead of minimizing into the notification area." +msgstr "" + +#: gajim/common/setting_values.py:432 gajim/common/config.py:181 +#, fuzzy +msgid "" +"Define the position of avatars in the contact list. Can be 'left' or 'right'." +msgstr "" +"Definer positionen af avataren i kontaktvinduet. Kan være venstre eller højre" + +#: gajim/common/setting_values.py:433 gajim/common/config.py:186 +#, fuzzy +msgid "Don't show contact list window in the system taskbar." +msgstr "Ikke hvis kontaktvindue i vindueslisten." + +#: gajim/common/setting_values.py:434 gajim/common/config.py:187 +#, fuzzy +msgid "" +"If enabled, Gajim makes the window flash (the default behaviour in most " +"Window Managers) when holding pending events." +msgstr "" +"Hvis Sandt og GTK+ og PyGTK installerede versioner er mindst 2.8, blink med " +"vinduet (standard adfærd i de fleste vindueshåndterere) når det indeholder " +"ventende begivenheder." + +#: gajim/common/setting_values.py:436 gajim/common/config.py:193 +#, fuzzy +msgid "If enabled, pressing Esc closes a tab/window." +msgstr "Hvis Sandt vil tryk på escape tasten lukke et vindue/faneblad." + +#: gajim/common/setting_values.py:437 gajim/common/config.py:194 +#, fuzzy +msgid "Hides the banner in a group chat window." +msgstr "Skjuler banneret i et gruppesamtale vindue" + +#: gajim/common/setting_values.py:438 gajim/common/config.py:195 +#, fuzzy +msgid "Hides the banner in a 1:1 chat window." +msgstr "Skjuler banneret i et gruppesamtale vindue" + +#: gajim/common/setting_values.py:439 gajim/common/config.py:196 +#, fuzzy +msgid "Hides the group chat participants list in a group chat window." +msgstr "Skjuler gruppesamtale deltagerlisten i gruppesamtale vinduer." + +#: gajim/common/setting_values.py:440 gajim/common/config.py:197 +#, fuzzy +msgid "" +"In a chat, show the nickname at the beginning of a line only when it's not " +"the same person talking as in the previous message." +msgstr "" +"I en samtale, vis kælenavn i begyndelsen af en linie kun når det ikke er den " +"samme person som snakker som i forrige besked." + +#: gajim/common/setting_values.py:441 gajim/common/config.py:198 +msgid "Indentation when using merge consecutive nickname." +msgstr "Indrykning når man fletter ens kælenavne." + +#: gajim/common/setting_values.py:442 gajim/common/config.py:199 +#, fuzzy +msgid "" +"Ctrl+Tab switches to the next composing tab when there are no tabs with " +"messages pending." +msgstr "Ctrl-Tab gå til næste faneblad når ingen er ulæste." + +#: gajim/common/setting_values.py:443 gajim/common/config.py:200 +#, fuzzy +msgid "" +"Show a confirmation dialog to create metacontacts? Empty string means never " +"show the dialog." +msgstr "" +"Skal vi vise bekræftelses vinduet for blokering af kontakter? Tom streng " +"betyder at vi aldrig viser vinduet." + +#: gajim/common/setting_values.py:444 gajim/common/config.py:201 +#, fuzzy +msgid "" +"Show a confirmation dialog to block a contact? Empty string means never show " +"the dialog." +msgstr "" +"Skal vi vise bekræftelses vinduet for blokering af kontakter? Tom streng " +"betyder at vi aldrig viser vinduet." + +#: gajim/common/setting_values.py:445 gajim/common/config.py:202 +#, fuzzy +msgid "" +"If enabled, you will be able to set a negative priority to your account in " +"the Accounts window. BE CAREFUL, when you are logged in with a negative " +"priority, you will NOT receive any message from your server." +msgstr "" +"Hvis Sandt vil du være i stand til at sætte en negativ prioritet til din " +"konto i kontoændrings vinduet. VÆR FORSIGTIG, når du er logget med en " +"negativ prioritet vil du IKKE modtage nogen beskeder fra din server." + +#: gajim/common/setting_values.py:446 gajim/common/config.py:203 +#, fuzzy +msgid "" +"If enabled, Gajim will show both the number of online and total contacts in " +"account rows as well as in group rows." +msgstr "" +"Hvis Sandt vil Gajim vise antallet af online og totale kontakter i konto og " +"gruppe rækker." + +#: gajim/common/setting_values.py:447 gajim/common/config.py:204 +#, fuzzy +msgid "" +"If enabled, Gajim will scroll and select the contact who sent you the last " +"message, if the chat window is not already opened." +msgstr "" +"Hvis Sandt vil Gajim rulle ned/op og vælge den kontakt som sendte dig den " +"sidste besked, hvis ikke allerede kontaktvinduet er åbent." + +#: gajim/common/setting_values.py:448 gajim/common/config.py:205 +msgid "Time of inactivity needed before the change status window closes down." +msgstr "" +"Tid med inaktivitet der skal gå før vinduet til at ændre status lukkes." + +#: gajim/common/setting_values.py:449 gajim/common/config.py:206 +msgid "" +"Maximum number of lines that are printed in conversations. Oldest lines are " +"cleared." +msgstr "" +"Maksimum antal linjer som bliver skrevet i samtaler. De ældste linjer bliver " +"slettet." + +#: gajim/common/setting_values.py:450 gajim/common/config.py:208 +#, fuzzy +msgid "" +"If enabled, completion in group chats will be like a shell auto-completion." +msgstr "" +"Hvis sandt, vil færdiggørelse i gruppe samtaler fungere på samme måde som " +"færdiggørelse i kommandolinjen" + +#: gajim/common/setting_values.py:451 gajim/common/config.py:217 +msgid "" +"If enabled, Gajim will try to use a STUN server when using Jingle. The one " +"in 'stun_server' option, or the one given by the XMPP server." +msgstr "" + +#: gajim/common/setting_values.py:452 gajim/common/config.py:218 +msgid "STUN server to use when using Jingle" +msgstr "" + +#: gajim/common/setting_values.py:453 gajim/common/config.py:220 +msgid "If enabled, Gajim will ignore incoming attention requests ('wizz')." +msgstr "" + +#: gajim/common/setting_values.py:454 gajim/common/config.py:221 +msgid "" +"If enabled, Gajim will reopen chat windows that were opened last time Gajim " +"was closed." +msgstr "" + +#: gajim/common/setting_values.py:455 gajim/common/config.py:224 +msgid "If enabled, Gajim will execute XEP-0146 Commands." +msgstr "" + +#: gajim/common/setting_values.py:458 gajim/common/config.py:236 +msgid "API Preferences. Possible values: 'http', 'iq'" +msgstr "" + +#: gajim/common/setting_values.py:459 gajim/common/config.py:237 +msgid "If enabled, Gajim will execute commands (/show, /sh, /execute, /exec)." +msgstr "" + +#: gajim/common/setting_values.py:460 gajim/common/config.py:238 +msgid "Width of group chat roster in pixel" +msgstr "" + +#: gajim/common/setting_values.py:461 gajim/common/config.py:239 +#, fuzzy +msgid "Force Bookmark 2 usage" +msgstr "Bogmærk dette rom" + +#: gajim/common/multimedia_helpers.py:51 +#, fuzzy +msgid "Default device" +msgstr "Standard Besked" + +#: gajim/common/multimedia_helpers.py:72 +msgid "Audio test" +msgstr "" + +#: gajim/common/multimedia_helpers.py:75 gajim/common/multimedia_helpers.py:91 +#: gajim/common/multimedia_helpers.py:105 +msgid "Autodetect" +msgstr "" + +#: gajim/common/multimedia_helpers.py:78 gajim/common/multimedia_helpers.py:93 +#, fuzzy, python-format +msgid "ALSA: %s" +msgstr "Størrelse: %s" + +#: gajim/common/multimedia_helpers.py:81 gajim/common/multimedia_helpers.py:95 +#, fuzzy, python-format +msgid "Pulse: %s" +msgstr "Fil: %s" + +#: gajim/common/multimedia_helpers.py:89 +msgid "Fake audio output" +msgstr "" + +#: gajim/common/multimedia_helpers.py:102 +msgid "Video test" +msgstr "" + +#: gajim/common/multimedia_helpers.py:107 +msgid "Pipewire" +msgstr "" + +#: gajim/common/multimedia_helpers.py:109 +#, python-format +msgid "V4L2: %s" +msgstr "" + +#: gajim/common/multimedia_helpers.py:111 +msgid "X11" +msgstr "" + +#: gajim/common/multimedia_helpers.py:113 +msgid "Windows" +msgstr "" + +#: gajim/common/multimedia_helpers.py:115 +msgid "macOS" +msgstr "" + +#: gajim/common/helpers.py:176 +msgid "_Busy" +msgstr "_Travlt" + +#: gajim/common/helpers.py:178 +msgid "Busy" +msgstr "Travlt" + +#: gajim/common/helpers.py:181 +msgid "_Not Available" +msgstr "_Ikke tilgængelig" + +#: gajim/common/helpers.py:183 +msgid "Not Available" +msgstr "Ikke Tilgængelig" + +#: gajim/common/helpers.py:186 +msgid "_Free for Chat" +msgstr "_Tilgængelig for samtale" + +#: gajim/common/helpers.py:188 +msgid "Free for Chat" +msgstr "Tilgængelig for samtale" + +#: gajim/common/helpers.py:191 +#, fuzzy +msgid "?user status:_Available" +msgstr "?transfer status:Midlertidig stoppet" + +#: gajim/common/helpers.py:193 +#, fuzzy +msgid "?user status:Available" +msgstr "?transfer status:Midlertidig stoppet" + +#: gajim/common/helpers.py:195 +msgid "Connecting" +msgstr "Tilslutter" + +#: gajim/common/helpers.py:198 +msgid "A_way" +msgstr "_Væk" + +#: gajim/common/helpers.py:203 +msgid "_Offline" +msgstr "_Afkoblet" + +#: gajim/common/helpers.py:205 +msgid "Offline" +msgstr "Afkoblet" + +#: gajim/common/helpers.py:209 +msgid "?contact has status:Unknown" +msgstr "?contact has status:Ukendt" + +#: gajim/common/helpers.py:211 +msgid "?contact has status:Has errors" +msgstr "?contact has status:Har fejl" + +#: gajim/common/helpers.py:216 +msgid "?Subscription we already have:None" +msgstr "?Subscription we already have:Intet" + +#: gajim/common/helpers.py:218 +msgid "To" +msgstr "Til" + +#: gajim/common/helpers.py:220 gajim/data/gui/groups_post_window.ui:33 +msgid "From" +msgstr "Fra" + +#: gajim/common/helpers.py:222 +msgid "Both" +msgstr "Begge" + +#: gajim/common/helpers.py:230 +msgid "?Ask (for Subscription):None" +msgstr "?Ask (for Subscription):Intet" + +#: gajim/common/helpers.py:232 +msgid "Subscribe" +msgstr "Abonner" + +#: gajim/common/helpers.py:244 +msgid "?Group Chat Contact Role:None" +msgstr "?Group Chat Contact Role:Ingen" + +#: gajim/common/helpers.py:247 +msgid "Moderators" +msgstr "Moderatorer" + +#: gajim/common/helpers.py:249 +msgid "Moderator" +msgstr "Moderator" + +#: gajim/common/helpers.py:252 gajim/data/gui/groupchat_info_scrolled.ui:182 +msgid "Participants" +msgstr "Deltagere" + +#: gajim/common/helpers.py:254 +msgid "Participant" +msgstr "Deltager" + +#: gajim/common/helpers.py:257 +msgid "Visitors" +msgstr "Besøgende" + +#: gajim/common/helpers.py:259 +msgid "Visitor" +msgstr "Besøgende" + +#: gajim/common/helpers.py:268 +msgid "?Group Chat Contact Affiliation:None" +msgstr "?Group Chat Contact Affiliation:Ingen" + +#: gajim/common/helpers.py:271 +#, fuzzy +msgid "Owners" +msgstr "Ejer" + +#: gajim/common/helpers.py:273 gajim/data/gui/groupchat_config.ui:32 +msgid "Owner" +msgstr "Ejer" + +#: gajim/common/helpers.py:276 +#, fuzzy +msgid "Administrators" +msgstr "Administrator" + +#: gajim/common/helpers.py:278 +msgid "Administrator" +msgstr "Administrator" + +#: gajim/common/helpers.py:281 +#, fuzzy +msgid "Members" +msgstr "Medlem" + +#: gajim/common/helpers.py:320 +msgid "is paying attention to the conversation" +msgstr "er opmærksom på samtalen" + +#: gajim/common/helpers.py:322 +msgid "is doing something else" +msgstr "gør noget andet" + +#: gajim/common/helpers.py:324 +#, fuzzy +msgid "is composing a message…" +msgstr "komponerer en besked..." + +#: gajim/common/helpers.py:327 +msgid "paused composing a message" +msgstr "holder pause med at komponere en besked" + +#: gajim/common/helpers.py:329 +msgid "has closed the chat window or tab" +msgstr "har lukket samtalevinduet eller fanebladet" + +#: gajim/common/helpers.py:719 gajim/common/helpers.py:727 +#, python-format +msgid "%d message pending" +msgid_plural "%d messages pending" +msgstr[0] "%d besked venter" +msgstr[1] "%d beskeder venter" + +#: gajim/common/helpers.py:736 +#, fuzzy, python-format +msgid "from group chat %s" +msgstr "i _gruppe samtaler" + +#: gajim/common/helpers.py:739 gajim/common/helpers.py:760 +#, fuzzy, python-format +msgid "from user %s" +msgstr "fra bruger %s" + +#: gajim/common/helpers.py:741 +#, fuzzy, python-format +msgid "from %s" +msgstr " fra %s" + +#: gajim/common/helpers.py:747 gajim/common/helpers.py:755 +#, python-format +msgid "%d event pending" +msgid_plural "%d events pending" +msgstr[0] "%d hændelse venter" +msgstr[1] "%d hændelser venter" + +#: gajim/common/helpers.py:828 gajim/data/gui/add_new_contact_window.ui:20 +msgid "I would like to add you to my contact list." +msgstr "Jeg vil gerne tilføje dig til min kontakt liste." + +#: gajim/common/helpers.py:830 +msgid "Hello, I am $name." +msgstr "" + +#: gajim/common/config.py:71 +#, fuzzy +msgid "Play sound even when being busy." +msgstr "Spil en lyd når brugeren er optaget" + +#: gajim/common/config.py:73 +#, fuzzy +msgid "Show only online and free for chat contacts in the contact list." +msgstr "" +"Vis kun brugere på net og brugere klar for en samtale i kontaktvinduet." + +#: gajim/common/config.py:76 +msgid "Time in minutes, after which your status changes to away." +msgstr "Tid i minutter før din status ændres til borte." + +#: gajim/common/config.py:77 +#, fuzzy +msgid "$S (Away: Idle more than $T min)" +msgstr "$S (Væk som et resultat af at være inaktiv i mere end $T minutter)" + +#: gajim/common/config.py:77 +#, fuzzy +msgid "" +"$S will be replaced by current status message, $T by the 'autoawaytime' " +"value." +msgstr "" +"$S vil blive ombyttet med den nuværende status besked, $T ved automatisk væk " +"tid." + +#: gajim/common/config.py:79 +msgid "Time in minutes, after which your status changes to not available." +msgstr "Tid i minutter før din status ændres til ikke tilgængelig." + +#: gajim/common/config.py:80 +#, fuzzy +msgid "$S (Not available: Idle more than $T min)" +msgstr "" +"$S (Ikke tilgængelig som et resultat af at være inaktiv i mere end $T " +"minutter)" + +#: gajim/common/config.py:80 +#, fuzzy +msgid "" +"$S will be replaced by current status message, $T by the 'autoxatime' value." +msgstr "" +"$S vil blive erstattet med den nuværende status besked, $T ved ikke " +"tilgængelig tid." + +#: gajim/common/config.py:83 +#, fuzzy +msgid "" +"When to show the notification area icon. Can be 'never', 'on_event', and " +"'always'." +msgstr "" +"Når skal systembakke ikonet vises? Kan være 'never', 'on_event', 'always'." + +#: gajim/common/config.py:87 +#, fuzzy +msgid "" +"List of rows (accounts and groups) that are collapsed (space separated)." +msgstr "" +"Liste (separeret med mellemrum) af rækker (konti og grupper) som er " +"kollapset." + +#: gajim/common/config.py:94 gajim/common/config.py:335 +#: gajim/common/config.py:342 +#, fuzzy +msgid "Language used for spell checking." +msgstr "Sprog brugt af stavelseskontrollen" + +#: gajim/common/config.py:97 +msgid "When enabled, ASCII emojis will be converted to graphical emojis." +msgstr "" + +#: gajim/common/config.py:152 +#, fuzzy +msgid "" +"When not printing time for every message ('print_time'==sometimes), print it " +"every x minutes." +msgstr "" +"Når der ikke skrives tid for hver besked (print_time==sometimes), skriv " +"tiden for hver x minutter." + +#: gajim/common/config.py:173 +#, fuzzy +msgid "" +"If enabled, Gajim quits when clicking the X button of your Window Manager. " +"This setting is taken into account only if the notification area icon is " +"used." +msgstr "" +"Hvis Sandt, lukker Gajim når X knappen fra vindueshåndteringen klikkes. " +"Denne indstilling tages der kun hensyn til hvis et statusfelt ikon bruges." + +#: gajim/common/config.py:175 +#, fuzzy +msgid "" +"If enabled, Gajim will display the status message (if not empty) underneath " +"the contact name in the contact list window." +msgstr "" +"Hvis Sandt, vil Gajim vise status beskeder, hvis ikke tomme, for hver " +"kontakt under kontaktnavnet i kontaktvinduet." + +#: gajim/common/config.py:182 +#, fuzzy +msgid "" +"If disabled, Gajim will no longer print status messages in chats when a " +"contact changes their status (and/or their status message)." +msgstr "" +"Hvis Falsk, vil Gajim ikke længere skrive statuslinjer i samtaler når en " +"kontakt ændrer hans eller hendes status og/eller hans eller hendes status " +"besked." + +#: gajim/common/config.py:183 +#, fuzzy +msgid "" +"Default Setting: Show a status message for every join or leave in a group " +"chat." +msgstr "Ikke i stand til at deltage i gruppesamtale." + +#: gajim/common/config.py:184 +#, fuzzy +msgid "" +"Default Setting: Show a status message for all status changes (away, dnd, " +"etc.) of users in a group chat." +msgstr "Ikke i stand til at deltage i gruppesamtale." + +#: gajim/common/config.py:191 +#, fuzzy +msgid "" +"Controls the window where new messages are placed.\n" +"'always' - All messages are sent to a single window.\n" +"'always_with_roster' - Like 'always' but the messages are in a single window " +"along with the contact list.\n" +"'never' - All messages get their own window.\n" +"'peracct' - Messages for each account are sent to a specific window.\n" +"'pertype' - Each message type (e.g. chats vs. group chats) is sent to a " +"specific window." +msgstr "" +"Kontrollerer vinduet hvor nye beskeder er placeret.\n" +"'always' - Alle beskeder bliver vist i et enkelt vindue.\n" +"'always_with_roster' - Som 'always' men beskederne er i et enkelt vindue " +"sammen med kontaktvinduet.\n" +"'never' - Alle beskeder får deres eget vindue.\n" +"'peracct' - Beskeder for den enkelte konto bliver sendt til specifikke " +"vinduer.\n" +"'pertype' - Hver besked type (for eks. samtaler versus gruppesamtaler) " +"bliver sendt til et specifikt vindue." + +#: gajim/common/config.py:192 +msgid "" +"Show contact list window on startup.\n" +"'always' - Always show contact list window.\n" +"'never' - Never show contact list window.\n" +"'last_state' - Restore last state of the contact list window." +msgstr "" + +#: gajim/common/config.py:207 +#, fuzzy +msgid "" +"Valid URI schemes. Only schemes in this list will be accepted as 'real' URI " +"(mailto and xmpp are handled separately)." +msgstr "" +"Gyldige uri skemaer. Kun skemaer i denne liste vil blive accepteret som " +"\"rigtige\" uri. (mailto og xmpp bliver behandlet separat)" + +#: gajim/common/config.py:212 +msgid "Optionally fix Jingle output video framerate. Example: 10/1 or 25/2." +msgstr "" + +#: gajim/common/config.py:213 +msgid "Optionally resize Jingle output video. Example: 320x240." +msgstr "" + +#: gajim/common/config.py:214 +msgid "If enabled, you will see your webcam's video stream as well." +msgstr "" + +#: gajim/common/config.py:219 +msgid "" +"Proxy used for all outgoing connections if the account does not have a " +"specific proxy configured." +msgstr "" + +#: gajim/common/config.py:222 +#, fuzzy +msgid "" +"If enabled, Gajim will display an icon to show that sent messages have been " +"received by your contact." +msgstr "" +"Hvis aktiveret vil Gajim i spørge for en status besked. Den valgte standard " +"besked vil blive brugt i stedet." + +#: gajim/common/config.py:223 +#, fuzzy +msgid "" +"If enabled, Gajim will use the System's Keyring to store account passwords." +msgstr "" +"Hvis Sandt vil Gajim bruge Gnome Nøglering (hvis tilgængelig) til at gemme " +"konto adgangskoder." + +#: gajim/common/config.py:225 +msgid "2: System, 1: Enabled, 0: Disabled" +msgstr "" + +#: gajim/common/config.py:226 +msgid "" +"Maximum history in days we request from a public group chat archive. 0: As " +"much as possible." +msgstr "" + +#: gajim/common/config.py:227 +msgid "" +"Maximum history in days we request from a private group chat archive. 0: As " +"much as possible." +msgstr "" + +#: gajim/common/config.py:228 +msgid "" +"If enabled, Gajim shows the group chat subject in the chat window when " +"joining." +msgstr "" + +#: gajim/common/config.py:229 +#, fuzzy +msgid "" +"If enabled, the contact row is colored according to the current chat state " +"of the contact." +msgstr "" +"Hvis valgt vil Gajim tillade andre at kunne se det operativ system du bruger" + +#: gajim/common/config.py:230 +#, fuzzy +msgid "" +"If enabled, the tab is colored according to the current chat state of the " +"contact." +msgstr "" +"Hvis valgt vil Gajim tillade andre at kunne se det operativ system du bruger" + +#: gajim/common/config.py:231 +#, fuzzy +msgid "" +"Shows a text in the banner that describes the current chat state of the " +"contact." +msgstr "" +"Hvis valgt vil Gajim tillade andre at kunne se det operativ system du bruger" + +#: gajim/common/config.py:232 +#, fuzzy +msgid "" +"Chat state notifications that are sent to contacts. Possible values: all, " +"composing_only, disabled" +msgstr "" +"Send samtale status påmindelser. Kan være en af disse: all, composing_only, " +"disabled." + +#: gajim/common/config.py:233 +#, fuzzy +msgid "" +"Chat state notifications that are sent to the group chat. Possible values: " +"'all', 'composing_only', 'disabled'" +msgstr "" +"Send samtale status påmindelser. Kan være en af disse: all, composing_only, " +"disabled." + +#: gajim/common/config.py:240 +msgid "Shows an info bar with helpful hints in the Start / Join Chat dialog" +msgstr "" + +#: gajim/common/config.py:242 +msgid "Date of the last update check" +msgstr "" + +#: gajim/common/config.py:260 +#, fuzzy +msgid "" +"Priority will change automatically according to your status. Priorities are " +"defined in 'autopriority_*' options." +msgstr "" +"Prioriteten vil ændres automatisk ifølge din status. Prioriteter er " +"defineret i autopriority_* indstillingerne." + +#: gajim/common/config.py:267 +#, fuzzy +msgid "If enabled, the last status will be restored." +msgstr "Hvis valgt, gendan den sidste status som var brugt." + +#: gajim/common/config.py:268 +#, fuzzy +msgid "" +"If enabled, contacts requesting authorization will be accepted automatically." +msgstr "" +"Hvis sandt, kontakter som beder om autorisering vil automatisk blive " +"accepteret." + +#: gajim/common/config.py:269 +#, fuzzy +msgid "" +"If disabled, this account will be disabled and will not appear in the " +"contact list window." +msgstr "" +"Hvis Falsk vil denne konto blive deaktiveret og vil ikke vises i " +"kontaktvinduet." + +#: gajim/common/config.py:278 +msgid "ConnectionType: START TLS, DIRECT TLS or PLAIN" +msgstr "" + +#: gajim/common/config.py:280 +msgid "" +"List of XMPP Addresses (space separated) for which you do not want to store " +"chat history. You can also add the name of an account to disable storing " +"chat history for this account." +msgstr "" + +#: gajim/common/config.py:285 +#, fuzzy +msgid "" +"If enabled, Gajim will use your IP and proxies defined in " +"'file_transfer_proxies' option for file transfers." +msgstr "" +"Hvis valgt vil Gajim bruge din IP og proxy defineret i file_transfer_proxies " +"indstillingen for filoverførsler." + +#: gajim/common/config.py:286 +msgid "" +"If enabled, Gajim will test file transfer proxies on startup to be sure they " +"work. Openfire's proxies are known to fail this test even if they work." +msgstr "" + +#: gajim/common/config.py:298 +#, fuzzy +msgid "If enabled, Gajim will answer to message receipt requests." +msgstr "" +"Hvis aktiveret vil Gajim i spørge for en status besked. Den valgte standard " +"besked vil blive brugt i stedet." + +#: gajim/common/config.py:303 +#, fuzzy +msgid "" +"Allow Gajim to send information about the operating system you are running." +msgstr "" +"Hvis valgt vil Gajim tillade andre at kunne se det operativ system du bruger" + +#: gajim/common/config.py:304 +#, fuzzy +msgid "Allow Gajim to send your local time." +msgstr "%s vil gerne sende dig en fil." + +#: gajim/common/config.py:307 +#, fuzzy +msgid "Message that is sent to contacts you want to add." +msgstr "Fyld ind data for den kontakt som du vil tilføje" + +#: gajim/common/config.py:308 +#, fuzzy +msgid "" +"If enabled, Gajim will send your local IP so your contact can connect to " +"your machine for file transfers." +msgstr "" +"Hvis valgt vil Gajim bruge din IP og proxy defineret i file_transfer_proxies " +"indstillingen for filoverførsler." + +#: gajim/common/config.py:309 +msgid "" +"List of XMPP Addresses (space separated) for which the chat window will be " +"re-opened on next startup." +msgstr "" + +#: gajim/common/config.py:311 +msgid "" +"Preferred file transfer mechanism for file drag&drop on a chat window. Can " +"be 'httpupload' (default) or 'jingle'." +msgstr "" + +#: gajim/common/config.py:312 +#, fuzzy +msgid "Allow certificate verification with POSH." +msgstr "SSL certifikat fejl" + +#: gajim/common/config.py:336 +#, fuzzy +msgid "" +"Chat state notifications that are sent to contacts. Possible values: 'all', " +"'composing_only', 'disabled'" +msgstr "" +"Send samtale status påmindelser. Kan være en af disse: all, composing_only, " +"disabled." + +#: gajim/common/config.py:339 +#, fuzzy +msgid "The currently active encryption for that contact." +msgstr "Aktiver ESessions kryptering for denne konto." + +#: gajim/common/config.py:343 +msgid "" +"If enabled, a notification is created for every message in this group chat." +msgstr "" + +#: gajim/common/config.py:344 +#, fuzzy +msgid "" +"Show a status message for all status changes (away, dnd, etc.) of users in a " +"group chat." +msgstr "Ikke i stand til at deltage i gruppesamtale." + +#: gajim/common/config.py:345 +#, fuzzy +msgid "Show a status message for every join or leave in a group chat." +msgstr "Ikke i stand til at deltage i gruppesamtale." + +#: gajim/common/config.py:346 +msgid "" +"If enabled, the group chat is minimized into the contact list when joining " +"automatically." +msgstr "" + +#: gajim/common/config.py:347 +msgid "" +"If enabled, the group chat is minimized into the contact list when closing " +"it." +msgstr "" + +#: gajim/common/config.py:348 +#, fuzzy +msgid "" +"Chat state notifications that are sent to the group chat. Possible values: " +"'all', 'composing_only' or 'disabled'." +msgstr "" +"Send samtale status påmindelser. Kan være en af disse: all, composing_only, " +"disabled." + +#: gajim/common/config.py:351 +msgid "" +"If enabled, plugins will be activated on startup (this is saved when exiting " +"Gajim). This option SHOULD NOT be used to (de)activate plugins. Use the " +"plugin window instead." +msgstr "" + +#: gajim/common/config.py:358 +#, fuzzy +msgid "I'm eating." +msgstr "Jeg arbejder." + +#: gajim/common/config.py:359 +msgid "I'm watching a movie." +msgstr "Jeg ser en film." + +#: gajim/common/config.py:360 +msgid "I'm working." +msgstr "Jeg arbejder." + +#: gajim/common/config.py:361 +msgid "Phone" +msgstr "Telefon" + +#: gajim/common/config.py:361 +msgid "I'm on the phone." +msgstr "Jeg snakker i telefon." + +#: gajim/common/config.py:362 +msgid "I'm out enjoying life." +msgstr "Jeg er ude og nyder livet." + +#: gajim/common/config.py:373 +#, fuzzy +msgid "" +"Sound to play when a group chat message contains one of the words in " +"'muc_highlight_words' or your nickname is mentioned." +msgstr "" +"Lyd som spilles når en gruppesamtale besked indeholder en af følgende ord i " +"muc_highlight_words, eller når en gruppesamtale besked indeholder dit " +"kælenavn." + +#: gajim/common/config.py:374 +#, fuzzy +msgid "Sound to play when any group chat message arrives." +msgstr "Lyd som spilles når en hvilken som helst MUC besked ankommer." + +#: gajim/common/config.py:378 +#, fuzzy +msgid "Tor" +msgstr "Til" + +#: gajim/common/exceptions.py:45 +#, fuzzy, python-format +msgid "" +"The database file (%s) cannot be read. Try to repair it (see https://dev." +"gajim.org/gajim/gajim/wikis/help/DatabaseBackup) or remove it (all history " +"will be lost)." +msgstr "" +"Database filen (%s) kan ikke læses. Prøv at reparere den (se http://trac." +"gajim.org/wiki/DatabaseBackup) eller fjerne den (hele historikken vil tabes)." + +#: gajim/common/exceptions.py:59 +msgid "Service not available: Gajim is not running, or remote_control is False" +msgstr "" +"Tjeneste ikke tilgængelig: Gajim kører ikke, eller remote_control er Falsk" + +#: gajim/common/exceptions.py:81 +#, fuzzy, python-format +msgid "" +"Session bus is not available.\n" +"Try reading %(url)s" +msgstr "" +"Sessions bussen er ikke tilgængelig.\n" +"Prøv at læse http://trac.gajim.org/wiki/GajimDBus" + +#: gajim/common/exceptions.py:93 +#, fuzzy, python-format +msgid "" +"System bus is not available.\n" +"Try reading %(url)s" +msgstr "" +"Sessions bussen er ikke tilgængelig.\n" +"Prøv at læse http://trac.gajim.org/wiki/GajimDBus" + +#: gajim/common/optparser.py:54 +#, python-format +msgid "Error: cannot open %s for reading" +msgstr "Fejl: kan ikke åbne %s for læsning" + +#: gajim/common/configpaths.py:84 +#, python-format +msgid "%s is a file but it should be a directory" +msgstr "%s er en fil, men burde være et katalog" + +#: gajim/common/configpaths.py:85 +msgid "Gajim will now exit" +msgstr "Gajim vil nu slutte" + +#: gajim/common/connection_handlers_events.py:242 +#: gajim/common/connection_handlers_events.py:342 +#, fuzzy, python-format +msgid "New message from %(nickname)s" +msgid_plural "%(n_msgs)i unread messages from %(nickname)s" +msgstr[0] "Ny Besked fra %(nickname)s" +msgstr[1] "Ny Besked fra %(nickname)s" + +#: gajim/common/connection_handlers_events.py:412 +#, python-format +msgid "%(nick)s Changed Status" +msgstr "%(nick)s Ændrede Status" + +#: gajim/common/const.py:287 +#, fuzzy +msgid "?Group chat name:Team" +msgstr "?Group Chat Contact Role:Ingen" + +#: gajim/common/const.py:288 +msgid "?Group chat description:Project discussion" +msgstr "" + +#: gajim/common/const.py:289 +#, fuzzy +msgid "?Group chat address:team" +msgstr "Gruppesamtaler" + +#: gajim/common/const.py:290 +#, fuzzy +msgid "?Group chat name:Family" +msgstr "Gruppe Samtale Besked Fremhævning" + +#: gajim/common/const.py:291 +msgid "?Group chat description:Spring gathering" +msgstr "" + +#: gajim/common/const.py:292 +msgid "?Group chat address:family" +msgstr "" + +#: gajim/common/const.py:293 +#, fuzzy +msgid "?Group chat name:Vacation" +msgstr "Gruppesamtale Invitation" + +#: gajim/common/const.py:294 +msgid "?Group chat description:Trip planning" +msgstr "" + +#: gajim/common/const.py:295 +#, fuzzy +msgid "?Group chat address:vacation" +msgstr "Gruppesamtale Invitation" + +#: gajim/common/const.py:296 +#, fuzzy +msgid "?Group chat name:Repairs" +msgstr "_Gruppe Chat" + +#: gajim/common/const.py:297 +msgid "?Group chat description:Local help group" +msgstr "" + +#: gajim/common/const.py:298 +#, fuzzy +msgid "?Group chat address:repairs" +msgstr "Gruppesamtaler" + +#: gajim/common/const.py:299 +#, fuzzy +msgid "?Group chat name:News" +msgstr "?Group Chat Contact Role:Ingen" + +#: gajim/common/const.py:300 +#, fuzzy +msgid "?Group chat description:Local news and reports" +msgstr "Gruppesamtale oprettelse er begrænset." + +#: gajim/common/const.py:301 +#, fuzzy +msgid "?Group chat address:news" +msgstr "Ny Gruppe Samtale" + +#: gajim/common/const.py:306 +#, fuzzy +msgid "Remote server not found" +msgstr "Tjenesten findes ikke" + +#: gajim/common/const.py:307 +msgid "Remote server timeout" +msgstr "" + +#: gajim/common/const.py:308 gajim/common/const.py:309 +#: gajim/common/const.py:310 +#, fuzzy +msgid "Address does not belong to a group chat server" +msgstr "Dette er ikke en gruppe samtale" + +#: gajim/common/const.py:311 +#, fuzzy +msgid "Group chat already exists" +msgstr "Den Lokale Konto eksisterer allerede." + +#: gajim/common/const.py:312 +#, fuzzy +msgid "Group chat does not exist" +msgstr "Gruppesamtalen %s eksisterer ikke." + +#: gajim/common/const.py:313 +#, fuzzy +msgid "Group chat is closed" +msgstr "Gruppesamtaler" + +#: gajim/common/const.py:319 +msgid "This message was encrypted with OTR and could not be decrypted." +msgstr "" + +#: gajim/common/const.py:322 +msgid "" +"This message was encrypted with Legacy OpenPGP and could not be decrypted. " +"You can install the PGP plugin to handle those messages." +msgstr "" + +#: gajim/common/const.py:326 +msgid "" +"This message was encrypted with OpenPGP for XMPP and could not be decrypted. " +"You can install the OpenPGP plugin to handle those messages." +msgstr "" + +#: gajim/common/const.py:330 +#, python-format +msgid "This message was encrypted with %s and could not be decrypted." +msgstr "" + +#: gajim/common/const.py:337 +msgid "Doing Chores" +msgstr "Laver Husarbejde" + +#: gajim/common/const.py:338 +msgid "Buying Groceries" +msgstr "Køber ind" + +#: gajim/common/const.py:339 +msgid "Cleaning" +msgstr "Gør Rent" + +#: gajim/common/const.py:340 +msgid "Cooking" +msgstr "Laver Mad" + +#: gajim/common/const.py:341 +msgid "Doing Maintenance" +msgstr "Gør Vedligeholdsarbejde" + +#: gajim/common/const.py:342 +msgid "Doing the Dishes" +msgstr "Vasker op" + +#: gajim/common/const.py:343 +msgid "Doing the Laundry" +msgstr "Vasker Tøj" + +#: gajim/common/const.py:344 +msgid "Gardening" +msgstr "Laver Havearbejde" + +#: gajim/common/const.py:345 +msgid "Running an Errand" +msgstr "Løber et Ærinde" + +#: gajim/common/const.py:346 +msgid "Walking the Dog" +msgstr "Går tur med hunden" + +#: gajim/common/const.py:348 +msgid "Drinking" +msgstr "Drikker" + +#: gajim/common/const.py:349 +msgid "Having a Beer" +msgstr "Drikker en Øl" + +#: gajim/common/const.py:350 +msgid "Having Coffee" +msgstr "Drikke Kaffe" + +#: gajim/common/const.py:351 +msgid "Having Tea" +msgstr "Drikker Te" + +#: gajim/common/const.py:354 +msgid "Having a Snack" +msgstr "Spiser et lille Mellemmåltid" + +#: gajim/common/const.py:355 +msgid "Having Breakfast" +msgstr "Spiser Morgenmad" + +#: gajim/common/const.py:356 +msgid "Having Dinner" +msgstr "Spiser Middag" + +#: gajim/common/const.py:357 +msgid "Having Lunch" +msgstr "Spiser Frokost" + +#: gajim/common/const.py:359 +msgid "Exercising" +msgstr "Træner" + +#: gajim/common/const.py:360 gajim/common/const.py:411 +msgid "Cycling" +msgstr "Cykler" + +#: gajim/common/const.py:361 +msgid "Dancing" +msgstr "Danser" + +#: gajim/common/const.py:362 +msgid "Hiking" +msgstr "Vandrer" + +#: gajim/common/const.py:363 +msgid "Jogging" +msgstr "Jogger" + +#: gajim/common/const.py:364 +msgid "Playing Sports" +msgstr "Dyrker Sport" + +#: gajim/common/const.py:365 +msgid "Running" +msgstr "Løber" + +#: gajim/common/const.py:366 +msgid "Skiing" +msgstr "Står på ski" + +#: gajim/common/const.py:367 +msgid "Swimming" +msgstr "Svømmer" + +#: gajim/common/const.py:368 +msgid "Working out" +msgstr "Træner" + +#: gajim/common/const.py:370 +msgid "Grooming" +msgstr "Plejer" + +#: gajim/common/const.py:371 +msgid "At the Spa" +msgstr "I Spabad" + +#: gajim/common/const.py:372 +msgid "Brushing Teeth" +msgstr "Børster Tænder" + +#: gajim/common/const.py:373 +msgid "Getting a Haircut" +msgstr "Bliver Klippet" + +#: gajim/common/const.py:374 +msgid "Shaving" +msgstr "Barberer" + +#: gajim/common/const.py:375 +msgid "Taking a Bath" +msgstr "Tager et Bad" + +#: gajim/common/const.py:376 +msgid "Taking a Shower" +msgstr "Tager et Brusebad" + +#: gajim/common/const.py:378 +msgid "Having an Appointment" +msgstr "Har en Aftale" + +#: gajim/common/const.py:380 +msgid "Inactive" +msgstr "Ikke aktiv" + +#: gajim/common/const.py:381 +msgid "Day Off" +msgstr "Fridag" + +#: gajim/common/const.py:382 +msgid "Hanging out" +msgstr "Hænge ud" + +#: gajim/common/const.py:383 +msgid "Hiding" +msgstr "Skjult" + +#: gajim/common/const.py:384 +msgid "On Vacation" +msgstr "Få Ferie" + +#: gajim/common/const.py:385 +msgid "Praying" +msgstr "Ber" + +#: gajim/common/const.py:386 +msgid "Scheduled Holiday" +msgstr "Planlagt Ferie" + +#: gajim/common/const.py:388 +msgid "Thinking" +msgstr "Tænker" + +#: gajim/common/const.py:390 +msgid "Relaxing" +msgstr "Slapper af" + +#: gajim/common/const.py:391 +msgid "Fishing" +msgstr "Fisker" + +#: gajim/common/const.py:392 +msgid "Gaming" +msgstr "Spiller" + +#: gajim/common/const.py:393 +msgid "Going out" +msgstr "Går ud" + +#: gajim/common/const.py:394 +msgid "Partying" +msgstr "Fester" + +#: gajim/common/const.py:395 +msgid "Reading" +msgstr "Læser" + +#: gajim/common/const.py:396 +msgid "Rehearsing" +msgstr "Øver" + +#: gajim/common/const.py:397 +msgid "Shopping" +msgstr "Køber ind" + +#: gajim/common/const.py:398 +msgid "Smoking" +msgstr "Ryger" + +#: gajim/common/const.py:399 +msgid "Socializing" +msgstr "Socialiserer" + +#: gajim/common/const.py:400 +msgid "Sunbathing" +msgstr "Solbader" + +#: gajim/common/const.py:401 +msgid "Watching TV" +msgstr "Ser TV" + +#: gajim/common/const.py:402 +msgid "Watching a Movie" +msgstr "Ser en film." + +#: gajim/common/const.py:404 +msgid "Talking" +msgstr "Taler" + +#: gajim/common/const.py:405 +msgid "In Real Life" +msgstr "I det virkelige liv" + +#: gajim/common/const.py:406 +msgid "On the Phone" +msgstr "Snakker i telefon." + +#: gajim/common/const.py:407 +msgid "On Video Phone" +msgstr "Taler i Video Telefon" + +#: gajim/common/const.py:409 +msgid "Traveling" +msgstr "Rejser" + +#: gajim/common/const.py:410 +msgid "Commuting" +msgstr "Pendler" + +#: gajim/common/const.py:412 +msgid "Driving" +msgstr "Kører" + +#: gajim/common/const.py:413 +msgid "In a Car" +msgstr "I en Bil" + +#: gajim/common/const.py:414 +msgid "On a Bus" +msgstr "På en Bus" + +#: gajim/common/const.py:415 +msgid "On a Plane" +msgstr "Flyver" + +#: gajim/common/const.py:416 +msgid "On a Train" +msgstr "Kører i tog" + +#: gajim/common/const.py:417 +msgid "On a Trip" +msgstr "På Rejse" + +#: gajim/common/const.py:418 +msgid "Walking" +msgstr "Går" + +#: gajim/common/const.py:421 +msgid "Coding" +msgstr "Koder" + +#: gajim/common/const.py:422 +msgid "In a Meeting" +msgstr "I et Møde" + +#: gajim/common/const.py:423 +msgid "Studying" +msgstr "Studerer" + +#: gajim/common/const.py:424 +msgid "Writing" +msgstr "Skriver" + +#: gajim/common/const.py:427 +msgid "Afraid" +msgstr "Bange for" + +#: gajim/common/const.py:428 +msgid "Amazed" +msgstr "Forbavset" + +#: gajim/common/const.py:429 +msgid "Amorous" +msgstr "Erotisk" + +#: gajim/common/const.py:430 +msgid "Angry" +msgstr "Gal" + +#: gajim/common/const.py:431 +msgid "Annoyed" +msgstr "Misfornøjet" + +#: gajim/common/const.py:432 +msgid "Anxious" +msgstr "Ængstelig" + +#: gajim/common/const.py:433 +msgid "Aroused" +msgstr "Vækket" + +#: gajim/common/const.py:434 +msgid "Ashamed" +msgstr "Skamfuld" + +#: gajim/common/const.py:435 +msgid "Bored" +msgstr "Keder mig" + +#: gajim/common/const.py:436 +msgid "Brave" +msgstr "Modig" + +#: gajim/common/const.py:437 +msgid "Calm" +msgstr "Rolig" + +#: gajim/common/const.py:438 +msgid "Cautious" +msgstr "Forsigtig" + +#: gajim/common/const.py:439 +msgid "Cold" +msgstr "Fryser" + +#: gajim/common/const.py:440 +msgid "Confident" +msgstr "Sikker" + +#: gajim/common/const.py:441 +msgid "Confused" +msgstr "Forvirret" + +#: gajim/common/const.py:442 +msgid "Contemplative" +msgstr "Dybsindig" + +#: gajim/common/const.py:443 +msgid "Contented" +msgstr "Tilfreds" + +#: gajim/common/const.py:444 +msgid "Cranky" +msgstr "Forskruet" + +#: gajim/common/const.py:445 +msgid "Crazy" +msgstr "Vanvittig" + +#: gajim/common/const.py:446 +msgid "Creative" +msgstr "Kreativ" + +#: gajim/common/const.py:447 +msgid "Curious" +msgstr "Nysgerrig" + +#: gajim/common/const.py:448 +msgid "Dejected" +msgstr "Nedslået" + +#: gajim/common/const.py:449 +msgid "Depressed" +msgstr "Deprimeret" + +#: gajim/common/const.py:450 +msgid "Disappointed" +msgstr "Skuffet" + +#: gajim/common/const.py:451 +msgid "Disgusted" +msgstr "Væmmes" + +#: gajim/common/const.py:452 +msgid "Dismayed" +msgstr "Forfærdet" + +#: gajim/common/const.py:453 +msgid "Distracted" +msgstr "Forstyrret" + +#: gajim/common/const.py:454 +msgid "Embarrassed" +msgstr "Forlegen" + +#: gajim/common/const.py:455 +msgid "Envious" +msgstr "Misundelig" + +#: gajim/common/const.py:456 +msgid "Excited" +msgstr "Spændt" + +#: gajim/common/const.py:457 +msgid "Flirtatious" +msgstr "Flirtende" + +#: gajim/common/const.py:458 +msgid "Frustrated" +msgstr "Frustreret" + +#: gajim/common/const.py:459 +msgid "Grateful" +msgstr "Taknemlig" + +#: gajim/common/const.py:460 +msgid "Grieving" +msgstr "Sørge" + +#: gajim/common/const.py:461 +msgid "Grumpy" +msgstr "Gnaven" + +#: gajim/common/const.py:462 +msgid "Guilty" +msgstr "Skyldig" + +#: gajim/common/const.py:463 +msgid "Happy" +msgstr "Glad" + +#: gajim/common/const.py:464 +msgid "Hopeful" +msgstr "Håbefuld" + +#: gajim/common/const.py:465 +msgid "Hot" +msgstr "Varm" + +#: gajim/common/const.py:466 +msgid "Humbled" +msgstr "Ydmyg" + +#: gajim/common/const.py:467 +msgid "Humiliated" +msgstr "Ydmyget" + +#: gajim/common/const.py:468 +msgid "Hungry" +msgstr "Sulten" + +#: gajim/common/const.py:469 +msgid "Hurt" +msgstr "Såret" + +#: gajim/common/const.py:470 +msgid "Impressed" +msgstr "Imponeret" + +#: gajim/common/const.py:471 +msgid "In Awe" +msgstr "Ærefrygt" + +#: gajim/common/const.py:472 +msgid "In Love" +msgstr "Forelsket" + +#: gajim/common/const.py:473 +msgid "Indignant" +msgstr "Indigneret" + +#: gajim/common/const.py:474 +msgid "Interested" +msgstr "Interesseret" + +#: gajim/common/const.py:475 +msgid "Intoxicated" +msgstr "Beruset" + +#: gajim/common/const.py:476 +msgid "Invincible" +msgstr "Uovervindelig" + +#: gajim/common/const.py:477 +msgid "Jealous" +msgstr "Jaloux" + +#: gajim/common/const.py:478 +msgid "Lonely" +msgstr "Ensom" + +#: gajim/common/const.py:479 +msgid "Lost" +msgstr "Tabt" + +#: gajim/common/const.py:480 +msgid "Lucky" +msgstr "Heldig" + +#: gajim/common/const.py:481 +msgid "Mean" +msgstr "Ondskabsfuld" + +#: gajim/common/const.py:482 +msgid "Moody" +msgstr "Gnaven" + +#: gajim/common/const.py:483 +msgid "Nervous" +msgstr "Nervøs" + +#: gajim/common/const.py:484 +msgid "Neutral" +msgstr "Neutral" + +#: gajim/common/const.py:485 +msgid "Offended" +msgstr "Fornærmet" + +#: gajim/common/const.py:486 +msgid "Outraged" +msgstr "Oprørt" + +#: gajim/common/const.py:487 +msgid "Playful" +msgstr "Spøgefuld" + +#: gajim/common/const.py:488 +msgid "Proud" +msgstr "Stolt" + +#: gajim/common/const.py:489 +msgid "Relaxed" +msgstr "Afslappet" + +#: gajim/common/const.py:490 +msgid "Relieved" +msgstr "Lettet" + +#: gajim/common/const.py:491 +msgid "Remorseful" +msgstr "Angrende" + +#: gajim/common/const.py:492 +msgid "Restless" +msgstr "Hvileløs" + +#: gajim/common/const.py:493 +msgid "Sad" +msgstr "Trist" + +#: gajim/common/const.py:494 +msgid "Sarcastic" +msgstr "Sarkastisk" + +#: gajim/common/const.py:495 +msgid "Satisfied" +msgstr "Tilfreds" + +#: gajim/common/const.py:496 +msgid "Serious" +msgstr "Seriøs" + +#: gajim/common/const.py:497 +msgid "Shocked" +msgstr "Sjokeret" + +#: gajim/common/const.py:498 +msgid "Shy" +msgstr "Genert" + +#: gajim/common/const.py:499 +msgid "Sick" +msgstr "Syg" + +#: gajim/common/const.py:500 +msgid "Sleepy" +msgstr "Søvnig" + +#: gajim/common/const.py:501 +msgid "Spontaneous" +msgstr "Spontan" + +#: gajim/common/const.py:502 +msgid "Stressed" +msgstr "Stresset" + +#: gajim/common/const.py:503 +msgid "Strong" +msgstr "Stærk" + +#: gajim/common/const.py:504 +msgid "Surprised" +msgstr "Overrasket" + +#: gajim/common/const.py:505 +msgid "Thankful" +msgstr "Taknemlig" + +#: gajim/common/const.py:506 +msgid "Thirsty" +msgstr "Tørstig" + +#: gajim/common/const.py:507 +msgid "Tired" +msgstr "Træt" + +#: gajim/common/const.py:508 +msgid "Undefined" +msgstr "Uforklaret" + +#: gajim/common/const.py:509 +msgid "Weak" +msgstr "Svag" + +#: gajim/common/const.py:510 +msgid "Worried" +msgstr "Bekymret" + +#: gajim/common/const.py:514 +msgid "accuracy" +msgstr "" + +#: gajim/common/const.py:515 +#, fuzzy +msgid "alt" +msgstr "standard" + +#: gajim/common/const.py:516 +msgid "area" +msgstr "" + +#: gajim/common/const.py:517 +#, fuzzy +msgid "bearing" +msgstr "marint" + +#: gajim/common/const.py:518 +#, fuzzy +msgid "building" +msgstr "Skjult" + +#: gajim/common/const.py:519 +#, fuzzy +msgid "country" +msgstr "Konto" + +#: gajim/common/const.py:520 +#, fuzzy +msgid "countrycode" +msgstr "Konto" + +#: gajim/common/const.py:521 +msgid "datum" +msgstr "" + +#: gajim/common/const.py:522 +#, fuzzy +msgid "description" +msgstr "Beskrivelse" + +#: gajim/common/const.py:523 +#, fuzzy +msgid "error" +msgstr "Fejl" + +#: gajim/common/const.py:524 +msgid "floor" +msgstr "" + +#: gajim/common/const.py:525 +msgid "lat" +msgstr "" + +#: gajim/common/const.py:526 +msgid "locality" +msgstr "" + +#: gajim/common/const.py:527 +#, fuzzy +msgid "lon" +msgstr "en" + +#: gajim/common/const.py:528 +msgid "postalcode" +msgstr "" + +#: gajim/common/const.py:529 +msgid "region" +msgstr "" + +#: gajim/common/const.py:530 +msgid "room" +msgstr "rum" + +#: gajim/common/const.py:531 +msgid "speed" +msgstr "" + +#: gajim/common/const.py:532 +msgid "street" +msgstr "" + +#: gajim/common/const.py:533 +msgid "text" +msgstr "" + +#: gajim/common/const.py:534 +msgid "timestamp" +msgstr "" + +#: gajim/common/const.py:535 +msgid "URI" +msgstr "" + +#: gajim/common/const.py:540 +msgid "Unable to get issuer certificate" +msgstr "Ikke i stand til at skaffer udstedelses certifikat" + +#: gajim/common/const.py:541 +msgid "Unable to get certificate CRL" +msgstr "Ikke i stand til at skaffe certifikat CRL" + +#: gajim/common/const.py:542 +msgid "Unable to decrypt certificate's signature" +msgstr "Ikke i stand til at dekryptere certifikatets signatur" + +#: gajim/common/const.py:543 +msgid "Unable to decrypt CRL's signature" +msgstr "Ikke i stand til at dekryptere CRL's signatur" + +#: gajim/common/const.py:544 +msgid "Unable to decode issuer public key" +msgstr "Ikke i stand til at dekode udstederens offentlige nøgle" + +#: gajim/common/const.py:545 +msgid "Certificate signature failure" +msgstr "Certifikat signaturen fejlede" + +#: gajim/common/const.py:546 +msgid "CRL signature failure" +msgstr "CRL signatur fejl" + +#: gajim/common/const.py:547 +msgid "Certificate is not yet valid" +msgstr "Certifikatet er ikke gyldigt endnu" + +#: gajim/common/const.py:548 +msgid "Certificate has expired" +msgstr "Certifikatet er udløbet" + +#: gajim/common/const.py:549 +msgid "CRL is not yet valid" +msgstr "CRL er endnu ikke gyldigt" + +#: gajim/common/const.py:550 +msgid "CRL has expired" +msgstr "CRL er udløbet" + +#: gajim/common/const.py:551 +msgid "Format error in certificate's notBefore field" +msgstr "Formateringsfejl i certifikatets notBefore felt" + +#: gajim/common/const.py:552 +msgid "Format error in certificate's notAfter field" +msgstr "Formateringsfejl i certifikatets notAfter felt" + +#: gajim/common/const.py:553 +msgid "Format error in CRL's lastUpdate field" +msgstr "Formateringsfejl i CRL's lastUpdate felt" + +#: gajim/common/const.py:554 +msgid "Format error in CRL's nextUpdate field" +msgstr "Formateringsfejl i CRL's nextUpdate felt" + +#: gajim/common/const.py:555 +msgid "Out of memory" +msgstr "Ikke mere hukommelse" + +#: gajim/common/const.py:556 +msgid "Self signed certificate" +msgstr "Selvsigneret certifikat" + +#: gajim/common/const.py:557 +msgid "Self signed certificate in certificate chain" +msgstr "Selvsigneret certifikat i certifikats kæden" + +#: gajim/common/const.py:558 +msgid "Unable to get local issuer certificate" +msgstr "Ikke i stand til at skaffe lokalt udstedelses certifikat" + +#: gajim/common/const.py:559 +msgid "Unable to verify the first certificate" +msgstr "Ikke i stand til at verificere det første certifikat" + +#: gajim/common/const.py:560 +msgid "Certificate chain too long" +msgstr "Certifikat kæde er for lang" + +#: gajim/common/const.py:561 +msgid "Certificate revoked" +msgstr "Certifikat tilbagekaldt" + +#: gajim/common/const.py:562 +msgid "Invalid CA certificate" +msgstr "Ugyldig CA certifikat" + +#: gajim/common/const.py:563 +msgid "Path length constraint exceeded" +msgstr "Sti længde begrænsning overskredet" + +#: gajim/common/const.py:564 +msgid "Unsupported certificate purpose" +msgstr "Ikke understøttet formål for certifikatet" + +#: gajim/common/const.py:565 +msgid "Certificate not trusted" +msgstr "Certifikatet er ikke til at stole på" + +#: gajim/common/const.py:566 +msgid "Certificate rejected" +msgstr "Certifikatet afvist" + +#: gajim/common/const.py:567 +msgid "Subject issuer mismatch" +msgstr "Emne udsteder uoverensstemmelse" + +#: gajim/common/const.py:568 +msgid "Authority and subject key identifier mismatch" +msgstr "Autoritet og emne nøgle identifikations uoverensstemmelse" + +#: gajim/common/const.py:569 +msgid "Authority and issuer serial number mismatch" +msgstr "Autoritet og udstedelses serie nummer uoverensstemmelse" + +#: gajim/common/const.py:570 +msgid "Key usage does not include certificate signing" +msgstr "Nøglebrug indeholder ikke certifikat signering" + +#: gajim/common/const.py:571 +msgid "Application verification failure" +msgstr "Kunne ikke verificere programmet" + +#: gajim/common/const.py:893 +msgid "The signing certificate authority is not known" +msgstr "" + +#: gajim/common/const.py:894 +#, fuzzy +msgid "The certificate has been revoked" +msgstr "Certifikat tilbagekaldt" + +#: gajim/common/const.py:895 +msgid "The certificate does not match the expected identity of the site" +msgstr "" + +#: gajim/common/const.py:896 +msgid "The certificate’s algorithm is insecure" +msgstr "" + +#: gajim/common/const.py:897 +msgid "The certificate’s activation time is in the future" +msgstr "" + +#: gajim/common/const.py:898 +#, fuzzy +msgid "Unknown validation error" +msgstr "Ukendt SSL fejl: %d" + +#: gajim/common/const.py:899 +#, fuzzy +msgid "The certificate has expired" +msgstr "Certifikatet er udløbet" + +#: gajim/common/const.py:954 +#, fuzzy +msgid "Authentication aborted" +msgstr "Autorisering accepteret" + +#: gajim/common/const.py:955 +#, fuzzy +msgid "Account disabled" +msgstr "Følelsesikoner er ikke aktiveret" + +#: gajim/common/const.py:956 +#, fuzzy +msgid "Credentials expired" +msgstr "Certifikatet er udløbet" + +#: gajim/common/const.py:957 +#, fuzzy +msgid "Encryption required" +msgstr "Abonnement forespørgsel" + +#: gajim/common/const.py:961 +#, fuzzy +msgid "Authentication mechanism not supported" +msgstr "Udvidelse er ikke understøttet" + +#: gajim/common/const.py:962 +#, fuzzy +msgid "Authentication mechanism too weak" +msgstr "Godkendelse fejlede med \"%s\"" + +#: gajim/common/const.py:964 +msgid "Authentication currently not possible" +msgstr "" + +#: gajim/common/const.py:1109 +msgid "No Sync" +msgstr "" + +#: gajim/common/const.py:1111 +msgid "2 Days" +msgstr "" + +#: gajim/common/const.py:1114 +msgid "No Threshold" +msgstr "" + +#: gajim/common/logging_helpers.py:31 +#, python-format +msgid "%s is not a valid loglevel" +msgstr "%s er ikke et gyldigt logniveau" + +#: gajim/common/zeroconf/zeroconf_avahi.py:256 +#: gajim/common/zeroconf/zeroconf_bonjour.py:248 +#: gajim/common/zeroconf/zeroconf_bonjour.py:265 +#: gajim/common/zeroconf/zeroconf_bonjour.py:323 +#, python-format +msgid "Error while adding service. %s" +msgstr "Fejl ved tilføjelse af tjeneste. %s" + +#: gajim/common/zeroconf/connection_zeroconf.py:252 +#, python-format +msgid "Could not connect to \"%s\"" +msgstr "Kunne ikke tilslutte til \"%s\"" + +#: gajim/common/zeroconf/connection_zeroconf.py:253 +msgid "Please check if Avahi or Bonjour is installed." +msgstr "Kontroller venligst om Avahi eller Bonjour er installeret." + +#: gajim/common/zeroconf/connection_zeroconf.py:263 +#: gajim/common/zeroconf/connection_zeroconf.py:267 +msgid "Could not start local service" +msgstr "Kunne ikke starte lokal tjeneste" + +#: gajim/common/zeroconf/connection_zeroconf.py:264 +#, python-format +msgid "Unable to bind to port %d." +msgstr "Ikke i stand til at tildele port %d." + +#: gajim/common/zeroconf/connection_zeroconf.py:268 +#, fuzzy +msgid "Please check if avahi/bonjour-daemon is running." +msgstr "Kontroller venligst om avahi-dæmonen kører." + +#: gajim/common/zeroconf/connection_zeroconf.py:362 +#: gajim/common/zeroconf/connection_zeroconf.py:375 +#, python-format +msgid "Could not change status of account \"%s\"" +msgstr "Kunne ikke ændre status på kontoen \"%s\"" + +#: gajim/common/zeroconf/connection_zeroconf.py:363 +#: gajim/common/zeroconf/connection_zeroconf.py:376 +msgid "Please check if avahi-daemon is running." +msgstr "Kontroller venligst om avahi-dæmonen kører." + +#: gajim/common/zeroconf/connection_zeroconf.py:404 +msgid "Your message could not be sent." +msgstr "Din besked kunne ikke sendes." + +#: gajim/common/zeroconf/connection_zeroconf.py:419 +msgid "Contact is offline. Your message could not be sent." +msgstr "Kontakt er afkoblet. Din besked kunne ikke sendes." + +#: gajim/common/zeroconf/connection_zeroconf.py:441 +msgid "" +"Connection to host could not be established: Timeout while sending data." +msgstr "" +"Tilslutning til vært kunne ikke etableres: Tidsudløb mens data var blevet " +"sendt." + +#: gajim/common/dbus/logind.py:73 +msgid "Machine is going to sleep" +msgstr "" + +#: gajim/common/dbus/logind.py:103 +msgid "Disconnect from the network" +msgstr "" + +#: gajim/common/modules/adhoc_commands.py:88 +msgid "Change status information" +msgstr "Ændre status information" + +#: gajim/common/modules/adhoc_commands.py:112 +msgid "Change status" +msgstr "Ændre status" + +#: gajim/common/modules/adhoc_commands.py:113 +msgid "Set the presence type and description" +msgstr "Sæt tilstedeværelses type og beskrivelse" + +#: gajim/common/modules/adhoc_commands.py:120 +msgid "Free for chat" +msgstr "Åben for samtaler" + +#: gajim/common/modules/adhoc_commands.py:121 +msgid "Online" +msgstr "Online" + +#: gajim/common/modules/adhoc_commands.py:123 +msgid "Extended away" +msgstr "Udvidet borte" + +#: gajim/common/modules/adhoc_commands.py:124 +msgid "Do not disturb" +msgstr "Forstyr ikke" + +#: gajim/common/modules/adhoc_commands.py:125 +msgid "Offline - disconnect" +msgstr "Ofline - ikke tilsluttet" + +#: gajim/common/modules/adhoc_commands.py:131 +msgid "Presence description:" +msgstr "Tilstedeværelses beskrivelse:" + +#: gajim/common/modules/adhoc_commands.py:170 +msgid "The status has been changed." +msgstr "Din status er blevet ændret." + +#: gajim/common/modules/presence.py:265 +msgid "I would like to add you to my roster." +msgstr "Jeg vil gerne tilføje dig til min kontaktliste." + +#: gajim/common/modules/roster_item_exchange.py:103 +#, fuzzy, python-format +msgid "Sent contact: \"%(jid)s\" (%(name)s)" +msgstr "Sendt kontakt: \"%s\" (%s)" + +#: gajim/common/modules/roster_item_exchange.py:107 +msgid "Sent contacts:" +msgstr "Sendte kontakter:" + +#: gajim/common/modules/httpupload.py:99 +msgid "File is empty" +msgstr "Filen er tom" + +#: gajim/common/modules/httpupload.py:102 +msgid "File does not exist" +msgstr "Filen eksisterer ikke" + +#: gajim/common/modules/httpupload.py:109 +#: gajim/common/modules/httpupload.py:172 +#, python-format +msgid "File is too large, maximum allowed file size is: %s" +msgstr "" + +#: gajim/common/modules/httpupload.py:279 +#, fuzzy +msgid "Encrypting file…" +msgstr "E2E kryptering ikke aktiveret" + +#: gajim/common/modules/httpupload.py:280 +msgid "Requesting HTTP File Upload Slot…" +msgstr "" + +#: gajim/common/modules/httpupload.py:281 +msgid "Uploading via HTTP File Upload…" +msgstr "" + +#: gajim/common/modules/httpupload.py:285 +#, fuzzy +msgid "The server returned an insecure transport (HTTP)." +msgstr "Tjeneste returnerede en fejl." + +#: gajim/common/modules/httpupload.py:286 +msgid "There is no encryption method available for the chosen encryption." +msgstr "" + +#: gajim/plugins/pluginmanager.py:679 gajim/plugins/pluginmanager.py:685 +msgid "Archive corrupted" +msgstr "" + +#: gajim/plugins/pluginmanager.py:681 +#, fuzzy +msgid "Archive empty" +msgstr "Filen er tom" + +#: gajim/plugins/pluginmanager.py:693 gajim/plugins/pluginmanager.py:701 +#: gajim/plugins/gui.py:273 +#, fuzzy +msgid "Archive is malformed" +msgstr "Tjeneste sendte malformeret data" + +#: gajim/plugins/pluginmanager.py:710 gajim/plugins/gui.py:288 +#: gajim/plugins/gui.py:301 +#, fuzzy +msgid "Plugin already exists" +msgstr "Denne fil eksisterer allerede" + +#: gajim/plugins/pluginmanager.py:720 +#, fuzzy +msgid "Installation failed" +msgstr "Tilslutning fejlede" + +#: gajim/plugins/gui.py:67 gajim/data/gui/shortcuts_window.ui:38 +msgid "Plugins" +msgstr "" + +#: gajim/plugins/gui.py:75 +msgid "Click to view Gajim's wiki page on how to install plugins in Flatpak." +msgstr "" + +#: gajim/plugins/gui.py:84 +msgid "Plugin" +msgstr "" + +#: gajim/plugins/gui.py:95 gajim/data/gui/manage_sounds.ui:40 +msgid "Active" +msgstr "Aktiv" + +#: gajim/plugins/gui.py:159 +#, fuzzy, python-format +msgid "Warning: %s" +msgstr "Udeluk %s" + +#: gajim/plugins/gui.py:216 +#, fuzzy +msgid "Plugin failed" +msgstr "Tilslutning fejlede" + +#: gajim/plugins/gui.py:249 +msgid "Unable to properly remove the plugin" +msgstr "" + +#: gajim/plugins/gui.py:287 +#, fuzzy +msgid "Overwrite Plugin?" +msgstr "Overskriv Status Besked?" + +#: gajim/plugins/gui.py:289 +#, fuzzy +msgid "Do you want to overwrite the currently installed version?" +msgstr "Vil du acceptere denne invitation?" + +#: gajim/plugins/gui.py:317 gajim/data/gui/groupchat_config.ui:258 +#, fuzzy +msgid "Configuration" +msgstr "Rum Konfigurering" + +#: gajim/data/gui/groupchat_nick_chooser.ui:47 +#, fuzzy +msgid "Join Group Chat as…" +msgstr "Bliv med i en Gruppe Samtale" + +#: gajim/data/gui/groupchat_nick_chooser.ui:66 +#, fuzzy +msgid "Your Nickname" +msgstr "Kælenavn:" + +#: gajim/data/gui/groupchat_control.ui:36 +#, fuzzy +msgid "Drop Files or Contacts" +msgstr "Inviter _Kontakter" + +#: gajim/data/gui/groupchat_control.ui:58 gajim/data/gui/chat_control.ui:322 +msgid "Bold" +msgstr "Fed" + +#: gajim/data/gui/groupchat_control.ui:67 gajim/data/gui/chat_control.ui:331 +msgid "Italic" +msgstr "Kursiv" + +#: gajim/data/gui/groupchat_control.ui:76 gajim/data/gui/chat_control.ui:340 +msgid "Underline" +msgstr "Understregning" + +#: gajim/data/gui/groupchat_control.ui:85 gajim/data/gui/chat_control.ui:349 +msgid "Strike" +msgstr "Streg" + +#: gajim/data/gui/groupchat_control.ui:107 gajim/data/gui/chat_control.ui:371 +msgid "Font" +msgstr "Font" + +#: gajim/data/gui/groupchat_control.ui:121 gajim/data/gui/chat_control.ui:385 +#, fuzzy +msgid "Clear formatting" +msgstr "Fjern formatering" + +#: gajim/data/gui/groupchat_control.ui:383 gajim/data/gui/chat_control.ui:784 +#, fuzzy +msgid "Choose encryption" +msgstr "Vælg en Fil at Sende..." + +#: gajim/data/gui/groupchat_control.ui:429 gajim/data/gui/chat_control.ui:667 +#, fuzzy +msgid "Show a list of emojis (Alt+M)" +msgstr "Hvis en liste over følelsesikoner (Alt+M)" + +#: gajim/data/gui/groupchat_control.ui:454 gajim/data/gui/chat_control.ui:833 +#, fuzzy +msgid "Send Message" +msgstr "Send besked" + +#: gajim/data/gui/groupchat_control.ui:583 +#, fuzzy +msgid "Joining…" +msgstr "Bandlysning..." + +#: gajim/data/gui/groupchat_control.ui:641 +#, fuzzy +msgid "Enter Nickname" +msgstr "Indsæt Kælenavn" + +#: gajim/data/gui/groupchat_control.ui:691 +#: gajim/data/gui/groupchat_control.ui:783 +#, fuzzy +msgid "Ch_ange" +msgstr "Ændre _Kælenavn..." + +#: gajim/data/gui/groupchat_control.ui:748 +#: gajim/data/gui/shortcuts_window.ui:319 +#, fuzzy +msgid "Change Subject" +msgstr "Ændre _Emne..." + +#: gajim/data/gui/groupchat_control.ui:864 +#, fuzzy +msgid "Enter Password" +msgstr "Skriv en ny adgangskode:" + +#: gajim/data/gui/groupchat_control.ui:1081 +#, fuzzy +msgid "_Forget Group Chat" +msgstr "Forlad Gruppesamtaler" + +#: gajim/data/gui/groupchat_control.ui:1085 +#, fuzzy +msgid "Gajim will not try to join this group chat again" +msgstr "Hvis valgt vil Gajim deltage i denne gruppe samtale ved start" + +#: gajim/data/gui/groupchat_control.ui:1102 +#, fuzzy +msgid "T_ry Again" +msgstr "Verificer igen..." + +#: gajim/data/gui/groupchat_control.ui:1156 +#, fuzzy +msgid "An Error Occurred" +msgstr "En fejl er opstået:" + +#: gajim/data/gui/groupchat_control.ui:1221 +#, fuzzy +msgid "_Try Again" +msgstr "Verificer igen..." + +#: gajim/data/gui/groupchat_control.ui:1398 +#, fuzzy +msgid "Kick Participant" +msgstr "Deltager" + +#: gajim/data/gui/groupchat_control.ui:1436 +msgid "_Kick" +msgstr "_Kast ud" + +#: gajim/data/gui/groupchat_control.ui:1469 +#: gajim/data/gui/groupchat_control.ui:1595 +#: gajim/data/gui/groupchat_control.ui:1721 +#: gajim/data/gui/groupchat_control.ui:1738 +#: gajim/data/gui/groupchat_control.ui:1827 +#: gajim/data/gui/groupchat_control.ui:1828 +msgid "Insert Emoji" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1482 +#: gajim/data/gui/groupchat_control.ui:1608 +#, fuzzy +msgid "Reason (optional)" +msgstr "Du kan også indtaste et alternativt mødested:" + +#: gajim/data/gui/groupchat_control.ui:1524 +#, fuzzy +msgid "Ban Participant" +msgstr "Deltager" + +#: gajim/data/gui/groupchat_control.ui:1562 +msgid "_Ban" +msgstr "_Udvis" + +#: gajim/data/gui/groupchat_control.ui:1650 +#, fuzzy +msgid "Destroy This Chat" +msgstr "Ny Gruppe Samtale" + +#: gajim/data/gui/groupchat_control.ui:1688 +#, fuzzy +msgid "_Destroy" +msgstr "Fjern %s" + +#: gajim/data/gui/groupchat_control.ui:1722 +#, fuzzy +msgid "Alternate venue (optional)..." +msgstr "Du kan også indtaste et alternativt mødested:" + +#: gajim/data/gui/groupchat_control.ui:1739 +#, fuzzy +msgid "Reason (optional)..." +msgstr "Grund" + +#: gajim/data/gui/groupchat_control.ui:1752 +msgid "Reason for destruction" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1767 +msgid "Where participants should go" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1808 +#, fuzzy +msgid "Rename This Chat" +msgstr "Forlad Gruppesamtaler" + +#: gajim/data/gui/groupchat_control.ui:1935 +#, fuzzy +msgid "_Invite" +msgstr "In_viter" + +#: gajim/data/gui/groupchat_control.ui:2020 +#, fuzzy +msgid "Settings for This Chat" +msgstr "Ignorer denne fejl for dette certifikat." + +#: gajim/data/gui/filetransfers.ui:21 +msgid "Pa_use/Resume" +msgstr "" + +#: gajim/data/gui/filetransfers.ui:45 +#, fuzzy +msgid "_Open Folder" +msgstr "_Åbn folderen med filen" + +#: gajim/data/gui/filetransfers.ui:56 gajim/data/gui/filetransfers.ui:206 +msgid "File Transfers" +msgstr "Filoverførsler" + +#: gajim/data/gui/filetransfers.ui:91 +#, fuzzy +msgid "_Show notification when file transfer is complete" +msgstr "_Påmind mig når en filoverførsel er færdig" + +#: gajim/data/gui/filetransfers.ui:131 +msgid "file transfers list" +msgstr "filoverførsel liste" + +#: gajim/data/gui/filetransfers.ui:132 +msgid "A list of active, completed and stopped file transfers" +msgstr "En liste over aktive, færdige og stoppede filoverførsler" + +#: gajim/data/gui/filetransfers.ui:154 +#, fuzzy +msgid "Remove completed, cancelled and failed file transfers from the list" +msgstr "Fjerner færdige, annullerede og mislykkede filoverførsler fra listen" + +#: gajim/data/gui/filetransfers.ui:167 +#, fuzzy +msgid "Pause or resume file transfer" +msgstr "Annuller filoverførsel" + +#: gajim/data/gui/filetransfers.ui:180 +#, fuzzy +msgid "Cancel the selected file transfer and remove incomplete files" +msgstr "Annullerer den valgte filoverførsel og fjerner den ikke fuldførte fil" + +#: gajim/data/gui/filetransfers.ui:207 +#, fuzzy +msgid "Shows a list of file transfers between you and your contacts" +msgstr "Viser en liste over filoverførsler mellem dig og andre" + +#: gajim/data/gui/add_new_contact_window.ui:76 +#, fuzzy +msgid "_XMPP Address" +msgstr "_Adresse:" + +#: gajim/data/gui/add_new_contact_window.ui:92 +#, fuzzy +msgid "_Nickname" +msgstr "_Kælenavn:" + +#: gajim/data/gui/add_new_contact_window.ui:109 +#, fuzzy +msgid "_Group" +msgstr "_Gruppe:" + +#: gajim/data/gui/add_new_contact_window.ui:157 +msgid "Choose or type new group name" +msgstr "" + +#: gajim/data/gui/add_new_contact_window.ui:173 +#, fuzzy +msgid "A_ccount" +msgstr "K_onto:" + +#: gajim/data/gui/add_new_contact_window.ui:189 +#, fuzzy +msgid "_Protocol" +msgstr "_Protokol:" + +#: gajim/data/gui/add_new_contact_window.ui:287 +#: gajim/data/gui/single_message_window.ui:161 +#, fuzzy +msgid "Query Contact Info" +msgstr "Kontakt Information" + +#: gajim/data/gui/add_new_contact_window.ui:312 +#, fuzzy +msgid "A_llow contact to view my status" +msgstr "Ti_llad denne kontakt at se min status" + +#: gajim/data/gui/add_new_contact_window.ui:363 +#, fuzzy +msgid "_Save subscription message" +msgstr "_Abonnement" + +#: gajim/data/gui/add_new_contact_window.ui:389 +#, fuzzy +msgid "" +"You have to register with this transport\n" +"to be able to add a contact from this\n" +"protocol. Click on Register button to\n" +"proceed." +msgstr "" +"Du må registrere dig for denne transport\n" +"for at være i stand til at tilføje kontakter fra denne\n" +"protokol. Klik på registrer knappen for at\n" +"fortsætte." + +#: gajim/data/gui/add_new_contact_window.ui:404 +msgid "_Register" +msgstr "Kan _registreres" + +#: gajim/data/gui/add_new_contact_window.ui:433 +msgid "" +"You must be connected to the transport to be able\n" +"to add a contact from this protocol." +msgstr "" +"Du må være tilsluttet til transporten for at kunne\n" +"tilføje en kontakt for denne protokol." + +#: gajim/data/gui/add_new_contact_window.ui:467 +#, fuzzy +msgid "_Add" +msgstr "_Adresse:" + +#: gajim/data/gui/account_wizard.ui:16 gajim/data/gui/manage_proxies.ui:206 +#, fuzzy +msgid "_Port" +msgstr "_Port:" + +#: gajim/data/gui/account_wizard.ui:46 +#, fuzzy +msgid "_Hostname" +msgstr "_Værtsnavn:" + +#: gajim/data/gui/account_wizard.ui:62 gajim/data/gui/account_wizard.ui:689 +#: gajim/data/gui/manage_proxies.ui:223 +msgid "example.org" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:75 +#, fuzzy +msgid "Prox_y" +msgstr "Pro_xy:" + +#: gajim/data/gui/account_wizard.ui:110 +#, fuzzy +msgid "Manage Proxies..." +msgstr "Håndter Proxy Profiler" + +#: gajim/data/gui/account_wizard.ui:131 gajim/data/gui/preferences.ui:798 +#, fuzzy +msgid "Advanced Settings" +msgstr "Avancerede Handlinger" + +#: gajim/data/gui/account_wizard.ui:163 gajim/data/gui/manage_proxies.ui:290 +#, fuzzy +msgid "_Type" +msgstr "_Type:" + +#: gajim/data/gui/account_wizard.ui:203 +msgid "Welcome" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:219 +#, fuzzy +msgid "Please enter your credentials or Sign Up" +msgstr "Opret et nyt tema med dit ønskede navn." + +#: gajim/data/gui/account_wizard.ui:237 +msgid "Your XMPP address (e.g. user@example.org)" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:239 +#: gajim/data/gui/single_message_window.ui:59 +msgid "user@example.org" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:252 +#, fuzzy +msgid "Your password" +msgstr "Skriv en ny adgangskode:" + +#: gajim/data/gui/account_wizard.ui:266 gajim/data/gui/account_wizard.ui:719 +#, fuzzy +msgid "_Advanced Settings" +msgstr "Avancerede Handlinger" + +#: gajim/data/gui/account_wizard.ui:270 gajim/data/gui/account_wizard.ui:723 +#, fuzzy +msgid "Proxy, custom hostname and port" +msgstr "Brug tilpasset værtsnavn/port" + +#: gajim/data/gui/account_wizard.ui:283 +msgid "_Log In" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:288 +msgid "Log in with your credentials" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:304 +#, fuzzy +msgid "or" +msgstr "Til" + +#: gajim/data/gui/account_wizard.ui:314 +#, fuzzy +msgid "_Sign Up" +msgstr "Logge _ind" + +#: gajim/data/gui/account_wizard.ui:318 +msgid "Sign up for a new account on a server of your choice" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:369 +msgid "Visit Website" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:410 +#, fuzzy +msgid "Certificate Verification Failed" +msgstr "SSL certifikat fejl" + +#: gajim/data/gui/account_wizard.ui:428 +msgid "" +"The following warnings came up while trying to verify the server's " +"certificate" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:457 +#, fuzzy +msgid "_Show Certificate" +msgstr "Selvsigneret certifikat" + +#: gajim/data/gui/account_wizard.ui:472 +#, fuzzy +msgid "_Add to Trusted Certificates" +msgstr "Selvsigneret certifikat" + +#: gajim/data/gui/account_wizard.ui:501 gajim/data/gui/account_wizard.ui:664 +msgid "Which server should I choose?" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:516 +msgid "" +"There are plenty of servers to choose from.\n" +"Creating an account on one server allows you to communicate with contacts " +"from other servers as well." +msgstr "" + +#: gajim/data/gui/account_wizard.ui:530 +msgid "Visit Server's Website" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:550 +msgid "Listing of Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:568 +msgid "" +"xmpp.org/getting-started" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:646 +#, fuzzy +msgid "_Please choose a server" +msgstr "Opret et nyt tema med dit ønskede navn." + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "" + +#: gajim/data/gui/application_menu.ui:8 +#, fuzzy +msgid "_Start / Join Chat…" +msgstr "Start Samtale" + +#: gajim/data/gui/application_menu.ui:13 +#, fuzzy +msgid "Create _Group Chat…" +msgstr "Forlad Gruppesamtaler" + +#: gajim/data/gui/application_menu.ui:18 +#, fuzzy +msgid "_History Manager" +msgstr "Historik Håndterer" + +#: gajim/data/gui/application_menu.ui:22 +#, fuzzy +msgid "Pl_ugins" +msgstr "Tilslutning fejlede" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +#, fuzzy +msgid "_Preferences" +msgstr "Indstillinger" + +#: gajim/data/gui/application_menu.ui:36 +#, fuzzy +msgid "_Accounts" +msgstr "Konti" + +#: gajim/data/gui/application_menu.ui:39 +#, fuzzy +msgid "_View" +msgstr "_Vis" + +#: gajim/data/gui/application_menu.ui:46 +#, fuzzy +msgid "Show _Offline Contacts" +msgstr "Vis _Afkoblede Kontakter" + +#: gajim/data/gui/application_menu.ui:50 +#, fuzzy +msgid "Show _Active Contacts" +msgstr "Vis Kun _Aktive Kontakter" + +#: gajim/data/gui/application_menu.ui:54 +#, fuzzy +msgid "Show _Transports" +msgstr "Vis Trans_porter" + +#: gajim/data/gui/application_menu.ui:60 +#, fuzzy +msgid "_XML Console" +msgstr "XML Konsol" + +#: gajim/data/gui/application_menu.ui:64 +#, fuzzy +msgid "_File Transfer" +msgstr "Filoverførsler" + +#: gajim/data/gui/application_menu.ui:74 +#, fuzzy +msgid "_Help" +msgstr "_Hjælp" + +#: gajim/data/gui/application_menu.ui:77 +#, fuzzy +msgid "_Wiki (Online)" +msgstr "Online" + +#: gajim/data/gui/application_menu.ui:81 +#, fuzzy +msgid "FA_Q (Online)" +msgstr "Online" + +#: gajim/data/gui/application_menu.ui:85 +msgid "_Keyboard Shortcuts" +msgstr "" + +#: gajim/data/gui/application_menu.ui:89 +#, fuzzy +msgid "_Features" +msgstr "Egenskaber" + +#: gajim/data/gui/application_menu.ui:93 +#, fuzzy +msgid "_About" +msgstr "Om" + +#: gajim/data/gui/filetransfer_progress.ui:125 +msgid "Speed" +msgstr "" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +#, fuzzy +msgid "OK" +msgstr "_OK" + +#: gajim/data/gui/plugins_window.ui:55 +msgid "Install Plugin from ZIP-File" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:56 +msgid "Install from File…" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:70 +#, fuzzy +msgid "Uninstall Plugin" +msgstr "Hænger" + +#: gajim/data/gui/plugins_window.ui:116 +#, fuzzy +msgid "" +msgstr "Tilslutning fejlede" + +#: gajim/data/gui/plugins_window.ui:133 +#, fuzzy +msgid "Plugin Settings" +msgstr "Tilslutning fejlede" + +#: gajim/data/gui/plugins_window.ui:215 +#, fuzzy +msgid "" +msgstr "Beskrivelse" + +#: gajim/data/gui/plugins_window.ui:239 +#, fuzzy +msgid "Version" +msgstr "GTK+ Version:" + +#: gajim/data/gui/plugins_window.ui:271 +#, fuzzy +msgid "Authors" +msgstr "Au_torisere" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +#, fuzzy +msgid "Homepage" +msgstr "Hjemmeside:" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:349 +#, fuzzy +msgid "Installed" +msgstr "Hænger" + +#: gajim/data/gui/plugins_window.ui:363 +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +msgid "Synchronise contacts" +msgstr "Synkroniser kontakter" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "Vælg den konto som du vil synkronisere med" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +#, fuzzy +msgid "_Name" +msgstr "_Navn:" + +#: gajim/data/gui/groupchat_creation.ui:122 +#, fuzzy +msgid "_Description" +msgstr "Beskrivelse" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +#, fuzzy +msgid "_Address" +msgstr "_Adresse:" + +#: gajim/data/gui/groupchat_creation.ui:278 +#, fuzzy +msgid "_Account" +msgstr "K_ontoer" + +#: gajim/data/gui/profile.ui:33 +#, fuzzy +msgid "Contact Infos" +msgstr "Kontakt Information" + +#: gajim/data/gui/profile.ui:45 +#, fuzzy +msgid "Picture and Name" +msgstr "Kælenavn som skal bruges" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "" + +#: gajim/data/gui/profile.ui:198 +#, fuzzy +msgid "Change your profile picture" +msgstr "Ændre dit kælenavn (Ctrl+N)" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:298 +#, fuzzy +msgid "Add Entry" +msgstr "Indgang:" + +#: gajim/data/gui/profile.ui:410 +#, fuzzy +msgid "Update" +msgstr "Opdater MOTD..." + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:15 +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:65 +#, fuzzy +msgid "Add Proxy" +msgstr "Proxy:" + +#: gajim/data/gui/manage_proxies.ui:79 +#, fuzzy +msgid "Remove Proxy" +msgstr "Fjern Gruppen" + +#: gajim/data/gui/manage_proxies.ui:131 +#, fuzzy +msgid "Pass_word" +msgstr "Adgangs_kode" + +#: gajim/data/gui/manage_proxies.ui:156 +msgid "Use proxy auth_entication" +msgstr "Brug proxy godkendelse" + +#: gajim/data/gui/manage_proxies.ui:176 +#, fuzzy +msgid "_Username" +msgstr "_Brugernavn:" + +#: gajim/data/gui/manage_proxies.ui:237 +#, fuzzy +msgid "_Host" +msgstr "_Værtsnavn:" + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "Lokal jid:" + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "Resource:" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "Status:" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +#, fuzzy +msgid "_Store conversation history" +msgstr "_Log samtale historie" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +msgid "Contact" +msgstr "Kontakt" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +msgid "First Name:" +msgstr "Fornavn:" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +msgid "Last Name:" +msgstr "Efternavn:" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +#, fuzzy +msgid "XMPP Address:" +msgstr "AIM Adresse:" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "Epost:" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +msgid "Personal" +msgstr "Personlig" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "_Status" + +#: gajim/data/gui/account_context_menu.ui:20 +msgid "_Personal Events" +msgstr "_Personlige hændelser" + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "_Tilføj Kontakt..." + +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "Op_dag Tjenester" + +#: gajim/data/gui/account_context_menu.ui:57 +msgid "_Execute Command..." +msgstr "_Udfør Kommando..." + +#: gajim/data/gui/account_context_menu.ui:65 +#, fuzzy +msgid "_View Server Info" +msgstr "Server" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:125 +#, fuzzy +msgid "Global Group Chat Search" +msgstr "Bliv med i en Gruppe Samtale" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +#, fuzzy +msgid "_Back" +msgstr "Snart tilbage" + +#: gajim/data/gui/start_chat_dialog.ui:386 +#, fuzzy +msgid "Select Account" +msgstr "Fjerne kontoen med navnet %s" + +#: gajim/data/gui/start_chat_dialog.ui:477 +msgid "_Select" +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +#, fuzzy +msgid "Configure" +msgstr "_Konfigurere" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +msgid "Create new post" +msgstr "Lav en ny post" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "Sta_tus" + +#: gajim/data/gui/systray_context_menu.ui:20 +msgid "_Start Chat..." +msgstr "_Start Samtale..." + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "Send en Enkel _Besked" + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "Vis Alle Ventende Hænd_elser" + +#: gajim/data/gui/systray_context_menu.ui:52 +msgid "Mute Sounds" +msgstr "Slå lyden af" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +#, fuzzy +msgid "Contact List" +msgstr "Kontakter" + +#: gajim/data/gui/shortcuts_window.ui:24 +#, fuzzy +msgid "Create new group chat" +msgstr "Forlad Gruppesamtaler" + +#: gajim/data/gui/shortcuts_window.ui:45 +#, fuzzy +msgid "File transfers" +msgstr "Filoverførsler" + +#: gajim/data/gui/shortcuts_window.ui:52 +#, fuzzy +msgid "Set the status message" +msgstr "status besked" + +#: gajim/data/gui/shortcuts_window.ui:59 +#, fuzzy +msgid "Show XML console" +msgstr "Vis _XML Konsol" + +#: gajim/data/gui/shortcuts_window.ui:74 +#, fuzzy +msgid "Appearance" +msgstr "Samtale udseende" + +#: gajim/data/gui/shortcuts_window.ui:79 +#, fuzzy +msgid "Show offline contacts" +msgstr "Vis _Afkoblede Kontakter" + +#: gajim/data/gui/shortcuts_window.ui:86 +#, fuzzy +msgid "Show only active contacts" +msgstr "Vis Kun _Aktive Kontakter" + +#: gajim/data/gui/shortcuts_window.ui:93 +msgid "Enable contact list filtering" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:100 +#, fuzzy +msgid "Show / hide contact list" +msgstr "Vis Kun _Aktive Kontakter" + +#: gajim/data/gui/shortcuts_window.ui:113 +#, fuzzy +msgid "Contact information" +msgstr "Kontakt Information" + +#: gajim/data/gui/shortcuts_window.ui:120 +#, fuzzy +msgid "Rename contact" +msgstr "Omdøb Kontakt" + +#: gajim/data/gui/shortcuts_window.ui:127 +#, fuzzy +msgid "Delete contact" +msgstr "Sendte kontakter:" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +#, fuzzy +msgid "Chat" +msgstr "Samtaler" + +#: gajim/data/gui/shortcuts_window.ui:142 +#, fuzzy +msgid "Message composition" +msgstr "Besked indhold" + +#: gajim/data/gui/shortcuts_window.ui:147 +#, fuzzy +msgid "Send the message" +msgstr "Send besked" + +#: gajim/data/gui/shortcuts_window.ui:154 +#, fuzzy +msgid "Add new line" +msgstr "Lav en ny post" + +#: gajim/data/gui/shortcuts_window.ui:161 +msgid "Select an emoji" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:168 +#, fuzzy +msgid "Complete a command or a nickname" +msgstr "Opret et nyt tema med dit ønskede navn." + +#: gajim/data/gui/shortcuts_window.ui:175 +#, fuzzy +msgid "Previously sent message" +msgstr "Forvalgte beskeder:" + +#: gajim/data/gui/shortcuts_window.ui:182 +#, fuzzy +msgid "Next sent messages" +msgstr "Forvalgte beskeder:" + +#: gajim/data/gui/shortcuts_window.ui:189 +#, fuzzy +msgid "Quote previous message" +msgstr "status besked" + +#: gajim/data/gui/shortcuts_window.ui:196 +#, fuzzy +msgid "Quote next message" +msgstr "Send besked" + +#: gajim/data/gui/shortcuts_window.ui:203 +#, fuzzy +msgid "Clear message entry" +msgstr "Besked er Sendt" + +#: gajim/data/gui/shortcuts_window.ui:211 +#, fuzzy +msgid "Recent history" +msgstr "For nylig:" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:230 +#, fuzzy +msgid "Clear chat window" +msgstr "Skjuler vinduet" + +#: gajim/data/gui/shortcuts_window.ui:237 +#, fuzzy +msgid "Show chat history" +msgstr "For nylig:" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:299 +msgid "Close chat" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:312 +#, fuzzy +msgid "Change Nickname" +msgstr "Ændre _Kælenavn..." + +#: gajim/data/gui/chat_control.ui:48 +#, fuzzy +msgid "Drop files or contacts" +msgstr "Send en fil til en kontakt" + +#: gajim/data/gui/chat_control.ui:80 +#, fuzzy +msgid "1" +msgstr "Skrifttype" + +#: gajim/data/gui/chat_control.ui:101 +#, fuzzy +msgid "2 abc" +msgstr "Skrifttype" + +#: gajim/data/gui/chat_control.ui:121 +#, fuzzy +msgid "3 def" +msgstr "Skrifttype" + +#: gajim/data/gui/chat_control.ui:141 +#, fuzzy +msgid "4 ghi" +msgstr "Skrifttype" + +#: gajim/data/gui/chat_control.ui:161 +#, fuzzy +msgid "5 jkl" +msgstr "Skrifttype" + +#: gajim/data/gui/chat_control.ui:181 +#, fuzzy +msgid "6 mno" +msgstr "Skrifttype" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "" + +#: gajim/data/gui/chat_control.ui:221 +#, fuzzy +msgid "8 tuv" +msgstr "Skrifttype" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "" + +#: gajim/data/gui/chat_control.ui:261 +#, fuzzy +msgid "*" +msgstr "Skrifttype" + +#: gajim/data/gui/chat_control.ui:281 +#, fuzzy +msgid "0" +msgstr "Skrifttype" + +#: gajim/data/gui/chat_control.ui:301 +#, fuzzy +msgid "#" +msgstr "Skrifttype" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "Start _samtale" + +#: gajim/data/gui/contact_context_menu.ui:28 +msgid "Send _File..." +msgstr "Send _Fil..." + +#: gajim/data/gui/contact_context_menu.ui:44 +msgid "Invite _Contacts" +msgstr "Inviter _Kontakter" + +#: gajim/data/gui/contact_context_menu.ui:58 +msgid "E_xecute Command..." +msgstr "Kør K_ommando..." + +#: gajim/data/gui/contact_context_menu.ui:67 +#, fuzzy +msgid "M_anage Contact" +msgstr "_Håndter Kontakt" + +#: gajim/data/gui/contact_context_menu.ui:77 +msgid "_Rename..." +msgstr "_Omdøb..." + +#: gajim/data/gui/contact_context_menu.ui:84 +msgid "Edit _Groups..." +msgstr "Ændre _Grupper..." + +#: gajim/data/gui/contact_context_menu.ui:92 +msgid "Add Special _Notification..." +msgstr "Tilføj Speciel Påmi_ndelse..." + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "_Abonnement" + +#: gajim/data/gui/contact_context_menu.ui:115 +#, fuzzy +msgid "_Allow contact to see my status" +msgstr "Ti_llad denne kontakt at se min status" + +#: gajim/data/gui/contact_context_menu.ui:123 +#, fuzzy +msgid "A_sk to see contact status" +msgstr "_Spørg om at kunne se hans/hendes status" + +#: gajim/data/gui/contact_context_menu.ui:131 +#, fuzzy +msgid "_Forbid contact to see my status" +msgstr "_Nægt ham/hende at se min status" + +#: gajim/data/gui/contact_context_menu.ui:159 +msgid "_Unignore" +msgstr "Ikke ign_orer" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "_Ignorer" + +#: gajim/data/gui/contact_context_menu.ui:174 +#, fuzzy +msgid "_Add to Contact List..." +msgstr "_Tilføj Kontakt..." + +#: gajim/data/gui/single_message_window.ui:42 +#, fuzzy +msgid "_To" +msgstr "Til" + +#: gajim/data/gui/single_message_window.ui:71 +#, fuzzy +msgid "Su_bject" +msgstr "Emne" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "" + +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "_Besked" + +#: gajim/data/gui/single_message_window.ui:144 +#, fuzzy +msgid "Characters typed: 0" +msgstr "Tegn ikke tilladt: %s" + +#: gajim/data/gui/single_message_window.ui:189 +#, fuzzy +msgid "_From" +msgstr "Fra" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "Sen_d" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "Send besked" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "Sva_r" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "Send et svar til denne besked" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "_Send & Luk" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "Send besked og luk vinduet" + +#: gajim/data/gui/vcard_information_window.ui:106 +#, fuzzy +msgid "Client" +msgstr "Klient:" + +#: gajim/data/gui/vcard_information_window.ui:140 +#, fuzzy +msgid "Contact time" +msgstr "Kontakt navn" + +#: gajim/data/gui/vcard_information_window.ui:240 +#, fuzzy +msgid "User avatar" +msgstr "Avatar:" + +#: gajim/data/gui/vcard_information_window.ui:255 +#, fuzzy +msgid "Configured avatar" +msgstr "Konfigureret avatar:" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +msgid "Ask" +msgstr "" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +#, fuzzy +msgid "Subscription" +msgstr "Abonnering: " + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +#, fuzzy +msgid "Extra Address" +msgstr "Ekstra Adresse:" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +msgid "Address" +msgstr "Adresse" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +#, fuzzy +msgid "E-Mail" +msgstr "Epost:" + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "Format: YYYY-MM-DD" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +#, fuzzy +msgid "Family" +msgstr "Efternavn:" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +#, fuzzy +msgid "Middle" +msgstr "Midten af ugen" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +#, fuzzy +msgid "Prefix" +msgstr "Indstillinger" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +msgid "Given" +msgstr "" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +#, fuzzy +msgid "Suffix" +msgstr "Endetillæg:" + +#: gajim/data/gui/vcard_information_window.ui:958 +#, fuzzy +msgid "Name Details" +msgstr "Navn:" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "" + +#: gajim/data/gui/vcard_information_window.ui:1017 +msgid "Personal Info" +msgstr "Personlig Information" + +#: gajim/data/gui/vcard_information_window.ui:1040 +#, fuzzy +msgid "Company" +msgstr "Firma:" + +#: gajim/data/gui/vcard_information_window.ui:1073 +#, fuzzy +msgid "Department" +msgstr "Afdeling:" + +#: gajim/data/gui/vcard_information_window.ui:1104 +#, fuzzy +msgid "Position" +msgstr "Betingelse" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "Rolle" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "Om" + +#: gajim/data/gui/vcard_information_window.ui:1514 +msgid "Comments" +msgstr "Kommentarer" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "Rediger Grupper" + +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "PGP-løsen" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +#, fuzzy +msgid "Themes" +msgstr "Tema" + +#: gajim/data/gui/themes_window.ui:171 +#, fuzzy +msgid "Add Setting" +msgstr "Tilslutning fejlede" + +#: gajim/data/gui/themes_window.ui:204 +#, fuzzy +msgid "Add new Theme" +msgstr "Lav en ny post" + +#: gajim/data/gui/themes_window.ui:219 +#, fuzzy +msgid "Remove Theme" +msgstr "Aktiv" + +#: gajim/data/gui/bookmarks.ui:120 +#, fuzzy +msgid "Autojoin" +msgstr "Bliv automatisk med" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "" + +#: gajim/data/gui/preferences.ui:68 +#, fuzzy +msgid "Contact List Appearance" +msgstr "Bytte af punkt i kontaktvinduet" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +#, fuzzy +msgid "Chats" +msgstr "Samtaler" + +#: gajim/data/gui/preferences.ui:215 +#, fuzzy +msgid "Visual Notifications" +msgstr "Synlige Påmindelser" + +#: gajim/data/gui/preferences.ui:243 +#, fuzzy +msgid "Sounds" +msgstr "Wav Lyde" + +#: gajim/data/gui/preferences.ui:303 +#, fuzzy +msgid "Ask For Status Message on…" +msgstr "Spørg om status besked når jeg:" + +#: gajim/data/gui/preferences.ui:331 +#, fuzzy +msgid "Automatic Status Change" +msgstr "Automatisk status" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "" + +#: gajim/data/gui/preferences.ui:447 +#, fuzzy +msgid "Status Icon" +msgstr "Status _ikonsæt:" + +#: gajim/data/gui/preferences.ui:472 +msgid "Style" +msgstr "Stil" + +#: gajim/data/gui/preferences.ui:511 +#, fuzzy +msgid "Show _Features" +msgstr "Egenskaber" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:632 +#, fuzzy +msgid "Audio" +msgstr "Lyd / Billede" + +#: gajim/data/gui/preferences.ui:660 +#, fuzzy +msgid "Video" +msgstr "Lyd / Billede" + +#: gajim/data/gui/preferences.ui:698 +#, fuzzy +msgid "Audio/Video" +msgstr "Lyd / Billede" + +#: gajim/data/gui/preferences.ui:735 +#, fuzzy +msgid "Miscellaneous" +msgstr "Diverse" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:821 +#, fuzzy +msgid "Advanced Configuration Editor… " +msgstr "Avanceret Konfigurations Behandler" + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "" + +#: gajim/data/gui/server_info.ui:50 +msgid "Server Software" +msgstr "" + +#: gajim/data/gui/server_info.ui:80 +#, fuzzy +msgid "Server Uptime" +msgstr "Server svarede: %s" + +#: gajim/data/gui/server_info.ui:109 +#, fuzzy +msgid "Contact Addresses" +msgstr "Samtale besked:" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "" + +#: gajim/data/gui/server_info.ui:177 +#, fuzzy +msgid "Proxy Type" +msgstr "Proxy:" + +#: gajim/data/gui/server_info.ui:192 +#, fuzzy +msgid "No proxy used" +msgstr "Proxy:" + +#: gajim/data/gui/server_info.ui:202 +#, fuzzy +msgid "View _Certificate" +msgstr "Selvsigneret certifikat" + +#: gajim/data/gui/server_info.ui:222 +#, fuzzy +msgid "Proxy Host" +msgstr "Proxy _vært:" + +#: gajim/data/gui/server_info.ui:421 +#, fuzzy +msgid "Copy info to clipboard" +msgstr "_Kopier Henvisning" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:153 +#, fuzzy +msgid "Serial Number" +msgstr "GG Nummer:" + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:304 +msgid "Expires on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:465 +#, fuzzy +msgid "Copy Certificate Information" +msgstr "Kontakt Information" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "Inviter Venner!" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +#, fuzzy +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "" +"Du er ved at begynde en Multibruger samtale.\n" +"Vælg de kontakter du vil invitere" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +#, fuzzy +msgid "Please select a group chat server." +msgstr "Vælg en MUC server." + +#: gajim/data/gui/chat_to_muc_window.ui:141 +#, fuzzy +msgid "Group chat server" +msgstr "Gruppesamtaler" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +msgid "In_vite" +msgstr "In_viter" + +#: gajim/data/gui/mam_preferences.ui:53 +#, fuzzy +msgid "_Default" +msgstr "Standard" + +#: gajim/data/gui/mam_preferences.ui:136 +#, fuzzy +msgid "Archive" +msgstr "Filen er tom" + +#: gajim/data/gui/history_manager.ui:11 +#, fuzzy +msgid "_Export" +msgstr "Eksporter" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +msgid "Gajim History Logs Manager" +msgstr "Gajim Loghistorie Håndterer" + +#: gajim/data/gui/history_manager.ui:104 +#, fuzzy +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" +"Denne loghåndterer er ikke ment til at gennemse loggene. Hvis du leder efter " +"den funktionalitet, brug historik vinduet i stedet.\n" +"\n" +"Brug dette program til at slette eller eksportere logger. Du kan selektere " +"logger fra venstre og/eller søge databasen under. " + +#: gajim/data/gui/history_manager.ui:120 +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" +"ADVARSEL:\n" +"Hvis du planlægger at gøre massive sletninger, vær sikker på at Gajim ikke " +"kører. \n" +"Generelt undgå at slette logger fra kontakter du samtidig snakker med." + +#: gajim/data/gui/history_manager.ui:211 +#, fuzzy +msgid "Search database..." +msgstr "_Søg Database" + +#: gajim/data/gui/history_manager.ui:226 +#, fuzzy +msgid "Search in database" +msgstr "_Søg Database" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" + +#: gajim/data/gui/groupchat_invite.ui:69 +#, fuzzy +msgid "Invitees" +msgstr "In_viter" + +#: gajim/data/gui/groupchat_invite.ui:153 +#, fuzzy +msgid "Search contacts..." +msgstr "_Søg Database" + +#: gajim/data/gui/groupchat_invite.ui:223 +#, fuzzy +msgid "Click on contacts you would like to invite to this group chat." +msgstr "%(nick)s er blevet fjernet fra rummet %(reason)s" + +#: gajim/data/gui/service_discovery_window.ui:148 +#, fuzzy +msgid "Go" +msgstr "N_aviger" + +#: gajim/data/gui/status_change_window.ui:27 +#, fuzzy +msgid "Change Status" +msgstr "Ændre status" + +#: gajim/data/gui/status_change_window.ui:56 +#, fuzzy +msgid "Status Presets…" +msgstr "Status Besked" + +#: gajim/data/gui/status_change_window.ui:72 +msgid "Save this message as a preset" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:130 +#, fuzzy +msgid "Ac_tivity" +msgstr "Aktivitet:" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:278 +#, fuzzy +msgid "_Change Status" +msgstr "Ændre status" + +#: gajim/data/gui/status_change_window.ui:313 +#, fuzzy +msgid "Activity" +msgstr "Aktivitet:" + +#: gajim/data/gui/status_change_window.ui:326 +#, fuzzy +msgid "_No Activity" +msgstr "Aktivitet:" + +#: gajim/data/gui/status_change_window.ui:729 +#, fuzzy +msgid "Mood" +msgstr "Gnaven" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +#, fuzzy +msgid "Author" +msgstr "Au_torisere" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +#, fuzzy +msgid "Group Chat Language" +msgstr "Gruppesamtale Invitation" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +#, fuzzy +msgid "Copy Address" +msgstr "_Kopier JID/E-post Adresse" + +#: gajim/data/gui/emoji_chooser.ui:98 +#, fuzzy +msgid "No Results Found" +msgstr "Intet resultat" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr "XML Konsol" + +#: gajim/data/gui/xml_console.ui:131 +#, fuzzy +msgid "Start Search..." +msgstr "_Start Samtale..." + +#: gajim/data/gui/xml_console.ui:260 +#, fuzzy +msgid "Clear" +msgstr "Gør Rent" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "" + +#: gajim/data/gui/xml_console.ui:316 +#, fuzzy +msgid "Presets" +msgstr "_Tilstedeværelse" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "Synkronisering : vælg kontakter" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +msgid "Select the contacts you want to synchronise" +msgstr "Vælg de kontakter som du vil synkronisere" + +#: gajim/data/gui/groupchat_config.ui:51 +#, fuzzy +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" +"Kan være en af de følgende:\n" +"1. bruger@domæne/resource (kun denne resource træffer).\n" +"2. bruger@domæne (en hvilket som helst resource træffer).\n" +"3. domæne/resource (kun denne resource træffer).\n" +"4. domæne (domænet træffer, ligeledes et hvilken som helst bruger@domæne,\n" +"domæne/resource, eller adresse indeholdende et subdomæne." + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:309 +#, fuzzy +msgid "Reserved Name" +msgstr "Foretrukket Navn" + +#: gajim/data/gui/groupchat_config.ui:346 +#, fuzzy +msgid "Affiliation" +msgstr "Tilknytning:" + +#: gajim/data/gui/groupchat_config.ui:377 +#, fuzzy +msgid "Affiliations" +msgstr "Programmer" + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "Grund" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "Liste over bandlyste" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "_Nægt" + +#: gajim/data/gui/subscription_request_window.ui:34 +#, fuzzy +msgid "_Block User" +msgstr "_Bloker" + +#: gajim/data/gui/subscription_request_window.ui:49 +#, fuzzy +msgid "_Report as Spam" +msgstr "_Rapporter Fejl" + +#: gajim/data/gui/subscription_request_window.ui:212 +#, fuzzy +msgid "_Deny…" +msgstr "_Nægt" + +#: gajim/data/gui/subscription_request_window.ui:225 +#, fuzzy +msgid "Ac_cept" +msgstr "K_ontoer" + +#: gajim/data/gui/subscription_request_window.ui:230 +#, fuzzy +msgid "Allows the contact to see your online status" +msgstr "Ti_llad denne kontakt at se min status" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:115 +#, fuzzy +msgid "_Report Bug" +msgstr "_Rapporter Fejl" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "Hændelse" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "Vælg Lyd" + +#: gajim/data/gui/manage_sounds.ui:97 +#, fuzzy +msgid "Clear Sound" +msgstr "Vælg Lyd" + +#: gajim/data/gui/manage_sounds.ui:118 +#, fuzzy +msgid "Play Sound" +msgstr "Afspil _lyde" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +#, fuzzy +msgid "_Send Files" +msgstr "Send _Fil" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +#, fuzzy +msgid "Send" +msgstr "_Send" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +#, fuzzy +msgid "Files to send" +msgstr "Vælg en Fil at Sende..." + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +#, fuzzy +msgid "Add Files" +msgstr "Fil: " + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +#, fuzzy +msgid "Remove Files" +msgstr "_Kan fjernes" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +#, fuzzy +msgid "Idle since:" +msgstr " siden %s" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +msgid "Mood:" +msgstr "Humør:" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +msgid "Activity:" +msgstr "Aktivitet:" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +#, fuzzy +msgid "Tune:" +msgstr "Melodi:" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +#, fuzzy +msgid "Location:" +msgstr "Påmindelse" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +#, fuzzy +msgid "Subscription:" +msgstr "Abonnering: " + +#: gajim/data/gui/advanced_configuration.ui:15 +#, fuzzy +msgid "A restart may be required for some settings to take effect" +msgstr "" +"NOTE: Du skal genstarte Gajim for at nogle af ændringerne kan træde i " +"kraft" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "" + +#: gajim/data/gui/advanced_configuration.ui:120 +#, fuzzy +msgid "_Reset Value" +msgstr "_Nulstil til Standard Farver" + +#: gajim/data/gui/advanced_configuration.ui:125 +#, fuzzy +msgid "Resets value to default" +msgstr "_Nulstil til Standard Farver" + +#: gajim/data/gui/history_window.ui:27 +#, fuzzy +msgid "Display status changes" +msgstr "_Log status ændringer hos kontakter" + +#: gajim/data/gui/history_window.ui:57 +msgid "History Manager" +msgstr "Historik Håndterer" + +#: gajim/data/gui/history_window.ui:233 +#, fuzzy +msgid "Mode" +msgstr "Moderator" + +#: gajim/data/gui/history_window.ui:246 +#, fuzzy +msgid "Search complete history" +msgstr "For nylig:" + +#: gajim/data/gui/history_window.ui:263 +msgid "Search selected day only" +msgstr "" + +#: gajim/data/gui/history_window.ui:317 +#, fuzzy +msgid "Store history for this chat" +msgstr "Ignorer denne fejl for dette certifikat." + +#: gajim/data/gui/history_window.ui:332 +#, fuzzy +msgid "Store History" +msgstr "For nylig:" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +#, fuzzy +msgid "Identified Error" +msgstr "SSL certifikat fejl" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +#, fuzzy +msgid "" +msgstr "Fejl" + +#: gajim/data/gui/ssl_error_dialog.ui:74 +#, fuzzy +msgid "Add this certificate to the list of _trusted certificates" +msgstr "" +"Tilføj dette certifikat til listen af certifikater du stoler på.\n" +"SHA1 fingeraftryk af certifikatet:\n" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +#, fuzzy +msgid "_View Certificate" +msgstr "Selvsigneret certifikat" + +#: gajim/data/gui/ssl_error_dialog.ui:120 +#, fuzzy +msgid "_Connect" +msgstr "Tilsluttet" + +#: data/org.gajim.Gajim.desktop.in:5 +#, fuzzy +msgid "XMPP Chat Client" +msgstr "Jabber IM Klient" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:8 +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:27 +#, fuzzy +msgid "Show next pending event" +msgstr "Vis Alle Ventende Hænd_elser" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:17 +#, fuzzy +msgid "Features:" +msgstr "Egenskaber" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +#, fuzzy +msgid "Automatic spell-checking for your messages" +msgstr "Stavekontrol af forfattede beskeder." + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +#, fuzzy +msgid "Support for service discovery including nodes and search for users" +msgstr "Opdag Tjenester med kontoen %s" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +#, fuzzy +msgid "Contact list" +msgstr "Kontakter" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +#, fuzzy +msgid "Group chat support" +msgstr "Gruppesamtaler" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +#, fuzzy +msgid "Chat history" +msgstr "For nylig:" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +#, fuzzy +msgid "Plugin manager" +msgstr "Tilslutning fejlede" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +#, fuzzy +msgid "Gajim Team" +msgstr "Gajim - %s" + +#, fuzzy +#~ msgid "Chat Settings" +#~ msgstr "Tilslutning fejlede" + +#, fuzzy, python-format +#~ msgid "%i day" +#~ msgid_plural "%i days" +#~ msgstr[0] "%i dage siden" +#~ msgstr[1] "%i dage siden" + +#, fuzzy +#~ msgid "Composing only" +#~ msgstr "Komponere" + +#, fuzzy +#~ msgid "All chat states" +#~ msgstr "Status For Alle" + +#~ msgid "Privacy Lists" +#~ msgstr "Privatlivs lister" + +#, fuzzy +#~ msgid "Unblock" +#~ msgstr "_Fjern blokering" + +#, fuzzy +#~ msgid "Block" +#~ msgstr "_Bloker" + +#~ msgid "None" +#~ msgstr "Ingen" + +#, python-format +#~ msgid "%s Status Message" +#~ msgstr "%s Status Besked" + +#~ msgid "Could not load image" +#~ msgstr "Kunne ikke laste billede" + +#~ msgid "Error." +#~ msgstr "Fejl." + +#, fuzzy +#~ msgid "" +#~ "This contact will see you offline and you will not receive any messages " +#~ "sent to you by this contact." +#~ msgstr "" +#~ "Denne kontakt vil se dig offline og du vil ikke modtage beskeder han " +#~ "sender dig." + +#, fuzzy +#~ msgid "_Block Contact" +#~ msgstr "Blokerede Kontakter" + +#, fuzzy +#~ msgid "Block Group" +#~ msgstr "_Bloker" + +#, fuzzy +#~ msgid "Really block this group?" +#~ msgstr "Er OpenPGP aktiveret for denne kontakt?" + +#, fuzzy +#~ msgid "" +#~ "All contacts of this group will see you as offline and you will not " +#~ "receive any messages sent to you by any one of these contacts." +#~ msgstr "" +#~ "Denne kontakt vil se dig offline og du vil ikke modtage beskeder han " +#~ "sender dig." + +#, fuzzy +#~ msgid "_Block Group" +#~ msgstr "_Bloker" + +#~ msgid "No account available" +#~ msgstr "Ingen konto tilgængelig" + +#~ msgid "You must create an account before you can chat with other contacts." +#~ msgstr "" +#~ "Du må oprette en konto før du kan begynde en samtale med andre kontakter." + +#~ msgid "Metacontacts storage not supported by your server" +#~ msgstr "Metakontakt lagring er ikke understøttet af din server" + +#, fuzzy +#~ msgid "" +#~ "Your server does not support storing metacontacts information. So this " +#~ "information will not be saved on next reconnection." +#~ msgstr "" +#~ "Din server understøtter ikke muligheden for at gemme metakontakt " +#~ "information. Så denne information vil ikke blive gemt til næste gang du " +#~ "tilslutter dig." + +#, fuzzy, python-brace-format +#~ msgid "You are invited to {room} by {user}" +#~ msgstr "Du er inviteret til en gruppesamtale." + +#, fuzzy, python-format +#~ msgid "%s wants to start a voice chat." +#~ msgstr "%s vil gerne sende dig en fil." + +#~ msgid "Could not save your settings and preferences" +#~ msgstr "Kunne ikke gemme din opsætning og indstillinger" + +#, fuzzy +#~ msgid "Error While Removing Privacy List" +#~ msgstr "Fejl under fjernelse af privatlivs liste" + +#, fuzzy, python-format +#~ msgid "" +#~ "Privacy list %s has not been removed. It is probably active in one of " +#~ "your connected resources. Please deactivate it and try again." +#~ msgstr "" +#~ "Privatlivs liste %s er ikke blevet fjernet. Den er måske aktiv i en af " +#~ "dine tilsluttede ressourcer. Deaktivér den og prøv igen." + +#, fuzzy +#~ msgid "Invisibility Not Supported" +#~ msgstr "Usynlighed er ikke understøttet" + +#, fuzzy, python-format +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "Konto %s understøtter ikke usynlighed." + +#, fuzzy +#~ msgid "Could not request upload slot for HTTP File Upload" +#~ msgstr "Kunne ikke starte lokal tjeneste" + +#, fuzzy +#~ msgid "Not Secure" +#~ msgstr "Ikke startet" + +#, fuzzy +#~ msgid "Could not Upload File" +#~ msgstr "Kunne ikke laste billede" + +#~ msgid "Lists all preferences and their values" +#~ msgstr "Hvis alle indstillinger og deres værdier" + +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "Sætter værdien for 'nøglen' til 'værdi'." + +#~ msgid "key=value" +#~ msgstr "nøgle=værdi" + +#, fuzzy +#~ msgid "'key' is the name of the preference, 'value' is what to set it to" +#~ msgstr "" +#~ "'nøgle' er navnet for indstillingen, 'værdi' er den værdi den er sat til" + +#~ msgid "Deletes a preference item" +#~ msgstr "Sletter et indstillingspunkt" + +#~ msgid "key" +#~ msgstr "nøgle" + +#~ msgid "name of the preference to be deleted" +#~ msgstr "navn på den indstilling som skal slettes" + +#~ msgid "Writes the current state of Gajim preferences to the .config file" +#~ msgstr "" +#~ "Skriver den nuværende tilstand af Gajims indstillinger til .config filen" + +#, python-format +#~ msgid "%s is a directory but should be a file" +#~ msgstr "%s er et katalog men burde være en fil" + +#, fuzzy, python-format +#~ msgid "Creating %s" +#~ msgstr "Fjern %s" + +#, python-format +#~ msgid "%(nickname)s Signed In" +#~ msgstr "%(nickname)s Loggede Ind" + +#~ msgid "Contact Signed In" +#~ msgstr "Kontakt Loggede Ind" + +#, python-format +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "%(nickname)s Loggede Ud" + +#~ msgid "Contact Signed Out" +#~ msgstr "Kontakt Loggede Ud" + +#, fuzzy +#~ msgid "" +#~ "Show desktop notification even when a chat window is opened for this " +#~ "contact and does not have focus." +#~ msgstr "" +#~ "Tillad pop op påmindelser når jeg er _borte/ikke tilgængelig/travel/" +#~ "usynlig" + +#~ msgid "default" +#~ msgstr "standard" + +#, fuzzy +#~ msgid "" +#~ "Character to propose to add after desired nickname when nickname is " +#~ "already used in group chat." +#~ msgstr "" +#~ "Tegnforslag til at tilføje efter det ønskede kælenavn, når det ønskede " +#~ "kælenavn er i brug af en anden i gruppesamtalen." + +#, fuzzy +#~ msgid "" +#~ "How many seconds to wait before trying to automatically rejoin a group " +#~ "chat you were disconnected from. Set to 0 to disable automatic rejoining." +#~ msgstr "" +#~ "Hvor mange sekunder skal der ventes før der prøves at oprette en ny " +#~ "forbindelse til en konference som du er blevet afbrudt fra. Sæt værdien " +#~ "til 0 for at forhindre at der prøves at oprette ny forbindelse." + +#, fuzzy +#~ msgid "If enabled, Gajim displays the avatar in the chat window." +#~ msgstr "Hvis Falsk vil du ikke længere se en avatar i samtale vinduet." + +#, fuzzy +#~ msgid "" +#~ "Status to be used automatically when connecting. Can be 'online', 'chat', " +#~ "'away', 'xa' or 'dnd'. NOTE: This option is used only if " +#~ "'restore_last_status' is disabled." +#~ msgstr "" +#~ "Din status som bruges når du automatisk forbindes. Kan være online, " +#~ "samtale, væk, ikke tilgængelig, vil ikke forstyrres, usynlig. NOTE: denne " +#~ "valgmulighed bliver kun brugt hvis restore_last_status er deaktiveret" + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending password on an plaintext connection. " +#~ "Can be 'warn', or 'none'." +#~ msgstr "" +#~ "Hvis en advarsels dialog før en adgangskode sendes over en forbindelse i " +#~ "klar tekst." + +#, fuzzy +#~ msgid "" +#~ "How many seconds to wait for the answer of a ping alive packet before " +#~ "trying to reconnect." +#~ msgstr "" +#~ "Hvor mange sekunder skal der ventes på svaret af en holdilive pakke, før " +#~ "vi prøver at forbinde igen." + +#~ msgid "I'm available." +#~ msgstr "Jeg er tilgængelig." + +#~ msgid "I'm free for chat." +#~ msgstr "Jeg er tilgængelig for en samtale." + +#~ msgid "Be right back." +#~ msgstr "Er straks tilbage." + +#~ msgid "I'm not available." +#~ msgstr "Jeg er ikke tilgængelig." + +#~ msgid "Do not disturb." +#~ msgstr "Ikke forstyr." + +#~ msgid "Bye!" +#~ msgstr "Farvel!" + +#~ msgid "Timeout loading image" +#~ msgstr "Tidsudløb nået for at laste billede" + +#~ msgid "Image is too big" +#~ msgstr "Billede er for stort" + +#, fuzzy +#~ msgid "PyCURL is not installed" +#~ msgstr "CRL er endnu ikke gyldigt" + +#, fuzzy +#~ msgid "Error loading image" +#~ msgstr "Tidsudløb nået for at laste billede" + +#~ msgid "Blocked Contacts" +#~ msgstr "Blokerede Kontakter" + +#, fuzzy +#~ msgid "Group chat" +#~ msgstr "Gruppesamtaler" + +#, fuzzy +#~ msgid "Bookmark group chat" +#~ msgstr "Bogmærk dette rom" + +#, fuzzy +#~ msgid "Bookmark" +#~ msgstr "_Bogmærke" + +#, fuzzy +#~ msgid "Recently used group chats" +#~ msgstr "i _gruppe samtaler" + +#, fuzzy +#~ msgid "Clear Avatar" +#~ msgstr "Bruger avatar:" + +#, fuzzy +#~ msgid "Set Avatar…" +#~ msgstr "Vælg Billede" + +#, fuzzy +#~ msgid "Contact" +#~ msgstr "Kontakt tid:" + +#, fuzzy +#~ msgid "_Leave Group Chat" +#~ msgstr "Forlad Gruppesamtaler" + +#, fuzzy +#~ msgid "Enter a new name for this group chat" +#~ msgstr "Indtast et nyt navn for gruppen %s" + +#, fuzzy +#~ msgid "Custom" +#~ msgstr "Tilpasset Opsætning" + +#, fuzzy +#~ msgid "Notify me about it" +#~ msgstr "Påmind mig om kontakter som logger u_d" + +#, fuzzy +#~ msgid "Show only in contact list" +#~ msgstr "Vis Kun _Aktive Kontakter" + +#, fuzzy +#~ msgid "No status messages" +#~ msgstr "status besked" + +#, fuzzy +#~ msgid "All status messages" +#~ msgstr "status besked" + +#, fuzzy +#~ msgid "Only enter/leave messages" +#~ msgstr "Du har ulæste beskeder" + +#, fuzzy +#~ msgid "Me_rge accounts" +#~ msgstr "Fle_t konti" + +#, fuzzy +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "Vis kontakternes a_vatarer i kontaktvinduet" + +#, fuzzy +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "" +#~ "Hvis valgt vil Gajim vise avatarer af kontakter i kontaktvinduet og i " +#~ "gruppe samtaler" + +#, fuzzy +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "Vis status _beskeder for kontakter i kontaktvinduet" + +#, fuzzy +#~ msgid "" +#~ "If checked, status messages of contacts will be shown under the contact's " +#~ "name, in the contact list window, and in group chats" +#~ msgstr "" +#~ "Hvis valgt vil Gajim vise status beskeder af kontakter under " +#~ "kontaktnavnet i kontaktvinduet og i gruppe samtaler" + +#, fuzzy +#~ msgid "" +#~ "Show e_xtra information of contacts in contact list (mood, activity, ...)" +#~ msgstr "Vis kontakternes humør i kontaktvinduet" + +#, fuzzy +#~ msgid "in _contact list" +#~ msgstr "Sendte kontakter:" + +#~ msgid "in _group chats" +#~ msgstr "i _gruppe samtaler" + +#, fuzzy +#~ msgid "Enable spell _checking" +#~ msgstr "Stavekontrol" + +#, fuzzy +#~ msgid "" +#~ "If checked, spelling errors in input fields of chat windows will be " +#~ "highlighted. If no language is explicitly set via right click on the " +#~ "input field, the default language will be used for this contact or group " +#~ "chat. Needs gspell to be installed." +#~ msgstr "" +#~ "Hvis valgt vil Gajim fremhæve stavefejl i tekstbokse i samtale vinduet. " +#~ "Hvis intet sprog er valgt ved at højreklikke i indtastningsfeltet, vil " +#~ "standard sproget blive brugt for denne kontakt eller gruppe samtale." + +#, fuzzy +#~ msgid "Display status messages in _single chats" +#~ msgstr "Vis status _beskeder for kontakter i kontaktvinduet" + +#, fuzzy +#~ msgid "" +#~ "If checked, status lines will be shown in 1 on 1 chats when a contact " +#~ "changes their status or status message" +#~ msgstr "" +#~ "Hvis Falsk, vil Gajim ikke længere skrive statuslinjer i samtaler når en " +#~ "kontakt ændrer hans eller hendes status og/eller hans eller hendes status " +#~ "besked." + +#, fuzzy +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "Ikke i stand til at deltage i gruppesamtale." + +#, fuzzy +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "Ikke i stand til at deltage i gruppesamtale." + +#, fuzzy +#~ msgid "Show status changes (Default)" +#~ msgstr "_Log status ændringer hos kontakter" + +#, fuzzy +#~ msgid "" +#~ "If checked, the tab will be colored according to the current chatstate of " +#~ "the contact" +#~ msgstr "" +#~ "Hvis valgt vil Gajim tillade andre at kunne se det operativ system du " +#~ "bruger" + +#, fuzzy +#~ msgid "" +#~ "If checked, a description of the contacts current chatstate is shown in " +#~ "the banner" +#~ msgstr "" +#~ "Hvis valgt vil Gajim tillade andre at kunne se det operativ system du " +#~ "bruger" + +#, fuzzy +#~ msgid "Chatstate" +#~ msgstr "Sidste status: %s" + +#, fuzzy +#~ msgid "_When new event is received" +#~ msgstr "Når en ny hændelse er modtaget:" + +#, fuzzy +#~ msgid "Show popups/notifications when a chat window is already _open" +#~ msgstr "" +#~ "Tillad pop op påmindelser når jeg er _borte/ikke tilgængelig/travel/" +#~ "usynlig" + +#, fuzzy +#~ msgid "Allow popups/notifications when I'm _away, not available or busy" +#~ msgstr "" +#~ "Tillad pop op påmindelser når jeg er _borte/ikke tilgængelig/travel/" +#~ "usynlig" + +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "Påmind mig om kontakter logger _ind" + +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "Påmind mig om kontakter som logger u_d" + +#~ msgid "Play _sounds" +#~ msgstr "Afspil _lyde" + +#~ msgid "Ma_nage..." +#~ msgstr "Hå_ndtere..." + +#, fuzzy +#~ msgid "Allow playing sounds when I'm _busy" +#~ msgstr "Tillad lyde når jeg er o_ptaget" + +#, fuzzy +#~ msgid "No_t Available" +#~ msgstr "Ikke Tilgængelig" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Not Available when the computer " +#~ "has not been used for the specified time" +#~ msgstr "" +#~ "Hvis valgt vil Gajim ændre status til Ikke Tilgængelig når computeren " +#~ "ikke har været brugt i endnu længere tid" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Away when the computer has not " +#~ "been used for the specified time" +#~ msgstr "" +#~ "Hvis valgt vil Gajim ændre status til Ikke Tilgængelig når computeren " +#~ "ikke har været brugt i endnu længere tid" + +#, fuzzy +#~ msgid "" +#~ "The automatic away status message. If empty, the current status message " +#~ "will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-away timeout." +#~ msgstr "" +#~ "Den automatiske jeg er væk status besked. Hvis tom vil Gajim ikke ændre " +#~ "den nuværende status besked\n" +#~ "$S vil blive erstattet med den forrige status besked\n" +#~ "$T vil blive erstattet med auto-away tidsudløb" + +#, fuzzy +#~ msgid "" +#~ "The automatic not available status message. If empty, the current status " +#~ "message will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-not-available timeout." +#~ msgstr "" +#~ "Den automatiske jeg er ikke tilgængelig status besked. Hvis tom vil Gajim " +#~ "ikke ændre den nuværende status besked\n" +#~ "$S vil blive erstattet med den forrige status besked\n" +#~ "$T vil blive erstattet med auto-not-available timeout" + +#, fuzzy +#~ msgid "Minutes" +#~ msgstr "minutter" + +#~ msgid "" +#~ "If enabled, Gajim will not ask for a status message. The specified " +#~ "default message will be used instead." +#~ msgstr "" +#~ "Hvis aktiveret vil Gajim i spørge for en status besked. Den valgte " +#~ "standard besked vil blive brugt i stedet." + +#~ msgid "Default Message" +#~ msgstr "Standard Besked" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "Status Besked" + +#, fuzzy +#~ msgid "Preset Status Messages" +#~ msgstr "Nuværende Status Beskeder" + +#, fuzzy +#~ msgid "_Theme" +#~ msgstr "Tema" + +#~ msgid "Configure color and font of the interface" +#~ msgstr "Konfigurér farve og skrifttyper for brugergrænsefladen" + +#, fuzzy +#~ msgid "" +#~ "If checked, protocol-specific status icons will be used (e.g. a contact " +#~ "from ICQ will have the equivalent ICQ icon for status online, away, busy, " +#~ "etc...)" +#~ msgstr "" +#~ "Hvis valgt vil Gajim bruge protokol specifikke status ikoner. (F.eks. En " +#~ "kontakt fra MSN vil have det tilsvarende msn ikon for status tilsluttet, " +#~ "borte, Travlt, etc...)" + +#~ msgid "_Manage..." +#~ msgstr "Hå_ndter..." + +#, fuzzy +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "_Log status ændringer hos kontakter" + +#, fuzzy +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "Hvis valgt vil Gajim huske adgangskoden for denne konto" + +#~ msgid "_Open..." +#~ msgstr "_Åbn..." + +#, fuzzy +#~ msgid "_Filter" +#~ msgstr "Filter:" + +#, fuzzy +#~ msgid "Protocol" +#~ msgstr "_Protokol:" + +#~ msgid "Privacy Lists:" +#~ msgstr "Privatlivs Lister:" + +#, fuzzy +#~ msgid "_Ignore this error for this certificate" +#~ msgstr "Ignorer denne fejl for dette certifikat." + +#, fuzzy +#~ msgid "Message..." +#~ msgstr "Besked" + +#, fuzzy +#~ msgid "Preset _messages" +#~ msgstr "Forvalgte beskeder:" + +#, fuzzy +#~ msgid "_Type your new status message" +#~ msgstr "Skriv din nye status besked" + +#, fuzzy +#~ msgid "Change Status Message…" +#~ msgstr "_Ændre Status Besked" + +#~ msgid "Mood:" +#~ msgstr "Humør:" + +#~ msgid "Message:" +#~ msgstr "Besked:" + +#, fuzzy +#~ msgid "none" +#~ msgstr "en" + +#, fuzzy +#~ msgid "both" +#~ msgstr "Begge" + +#, fuzzy +#~ msgid "from" +#~ msgstr "Fra" + +#, fuzzy +#~ msgid "to" +#~ msgstr "to" + +#~ msgid "Privacy List" +#~ msgstr "Privatlivs Liste" + +#~ msgid "Privacy List" +#~ msgstr "Privatlivs Liste" + +#~ msgid "Active for this session" +#~ msgstr "Aktiv i denne session" + +#~ msgid "Active on each startup" +#~ msgstr "Aktiv efter hver start" + +#~ msgid "List of rules" +#~ msgstr "Liste af regler" + +#~ msgid "Add / Edit a rule" +#~ msgstr "Tilføj / Ændre en regel" + +#~ msgid "Allow" +#~ msgstr "Tillad" + +#~ msgid "Deny" +#~ msgstr "Nægt" + +#~ msgid "all in the group" +#~ msgstr "Alle i gruppen" + +#~ msgid "all by subscription" +#~ msgstr "Alle efter abonnering" + +#~ msgid "All" +#~ msgstr "Alle" + +#~ msgid "to send me messages" +#~ msgstr "at sende mig beskeder" + +#~ msgid "to send me queries" +#~ msgstr "at sende mig forespørgsler" + +#~ msgid "to view my status" +#~ msgstr "at se min status" + +#~ msgid "to send me status" +#~ msgstr "at sende mig status" + +#~ msgid "All (including subscription)" +#~ msgstr "Alle (inkluderende abonnering)" + +#~ msgid "Order:" +#~ msgstr "Bestil:" + +#, fuzzy +#~ msgid "" +#~ "Deny authorization from contact so the contact cannot know if you are " +#~ "connected" +#~ msgstr "" +#~ "Nægt autorisation fra kontakter så han eller hun ikke kan opnå " +#~ "information om at du er tilsluttet" + +#, fuzzy +#~ msgid "Authorize contact so the contact can know if you are connected" +#~ msgstr "" +#~ "Autoriser kontakt så han eller hun kan opnå information om at du er " +#~ "tilsluttet" + +#, fuzzy +#~ msgid "Contact List Shortcuts" +#~ msgstr "Bytte af punkt i kontaktvinduet" + +#~ msgid "Fill in the form." +#~ msgstr "Udfyld formen." + +#~ msgid "Set an activity" +#~ msgstr "Sæt en aktivitet" + +#~ msgid "Message: " +#~ msgstr "Besked:" + +#, fuzzy, python-format +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "Send %s til %s" + +#, fuzzy +#~ msgid "Group Chat Invitation " +#~ msgstr "Gruppesamtale Invitation" + +#, python-format +#~ msgid "Comment: %s" +#~ msgstr "Kommentar: %s" + +#, fuzzy +#~ msgid "Off" +#~ msgstr "Afkoblet" + +#, fuzzy +#~ msgid "Retrieving profile…" +#~ msgstr "Henter profil..." + +#, fuzzy +#~ msgid "Wrong date format" +#~ msgstr "Kontakt Information" + +#, fuzzy +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "Format: YYYY-MM-DD" + +#~ msgid "Information received" +#~ msgstr "Information modtaget" + +#, fuzzy +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "Uden en tilslutning kan du ikke publicere din kontakt information." + +#, fuzzy +#~ msgid "Sending profile…" +#~ msgstr "Sender profil..." + +#~ msgid "Information NOT published" +#~ msgstr "Information er IKKE publiceret" + +#~ msgid "vCard publication failed" +#~ msgstr "vCard publicering fejlede" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "" +#~ "Der var en fejl under publicering af din personlige information, prøv " +#~ "igen senere." + +#, fuzzy +#~ msgid "?password:Hidden" +#~ msgstr "Adgangskode:" + +#, python-format +#~ msgid "Privacy List %s" +#~ msgstr "Privatlivs Liste %s" + +#, python-format +#~ msgid "Privacy List for %s" +#~ msgstr "Privatlivs Liste for %s" + +#, python-format +#~ msgid "" +#~ "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" +#~ msgstr "" +#~ "Rækkefølge: %(order)s, handling: %(action)s, type: %(type)s, værdi: " +#~ "%(value)s" + +#, python-format +#~ msgid "Order: %(order)s, action: %(action)s" +#~ msgstr "Rækkefølge: %(order)s, handling: %(action)s" + +#~ msgid "Edit a rule" +#~ msgstr "Rediger en regel" + +#~ msgid "Add a rule" +#~ msgstr "Tilføj en regel" + +#, python-format +#~ msgid "Privacy Lists for %s" +#~ msgstr "Privatlivs Liste for %s" + +#~ msgid "Invalid List Name" +#~ msgstr "Ugyldig Listenavn" + +#~ msgid "You must enter a name to create a privacy list." +#~ msgstr "Du må indtaste et navn for at skabe en privatlivs liste." + +#, fuzzy +#~ msgid "Loading" +#~ msgstr "Koder" + +#~ msgid "status message title" +#~ msgstr "status besked Titel" + +#~ msgid "status message text" +#~ msgstr "status besked tekst" + +#, fuzzy +#~ msgid "Start New Conversation" +#~ msgstr "Fortsat samtale" + +#~ msgid "Unknown SSL error: %d" +#~ msgstr "Ukendt SSL fejl: %d" + +#~ msgid "Gajim - %s" +#~ msgstr "Gajim - %s" + +#, fuzzy +#~ msgid "" +#~ "Requires: libsecret and a provider (such as GNOME Keyring and " +#~ "KSecretService)" +#~ msgstr "" +#~ "Kræver libsecret og en udbyder (f.eks. GNOME Keyring og KSecretService)" + +#~ msgid "Choose interval between 2 checks of idleness." +#~ msgstr "Vælg interval mellem 2 kontroller for ingen aktivitet." + +#, fuzzy +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "Ordbog for sproget %s er ikke tilgængelig" + +#, fuzzy +#~ msgid "" +#~ "You have to install the dictionary \"%s\" to use spellchecking, or choose " +#~ "another language by setting the speller_language option.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "Du må installere en %s ordbog for at bruge stavekontrol, eller vælge et " +#~ "andet sprog med stavekontrol sprog indstillingen.\n" +#~ "\n" +#~ "Egenskaben med at fremhæve stavefejl vil ikke blive brugt" + +#~ msgid "_Reconnect" +#~ msgstr "_Tilslut igen" + +#, fuzzy +#~ msgid "Quit" +#~ msgstr "_Afslut" + +#, fuzzy +#~ msgid "Show Contact List" +#~ msgstr "Vis Kun _Aktive Kontakter" + +#, fuzzy +#~ msgid "Add to Contact List" +#~ msgstr "_Tilføj Kontakt..." + +#, fuzzy +#~ msgid "Invite Contact" +#~ msgstr "Inviter _Kontakter" + +#, fuzzy +#~ msgid "Configure Group Chat" +#~ msgstr "Forlad Gruppesamtaler" + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." +#~ msgstr "" +#~ "Hvis Sandt, vil Gajim vise et ikon på hvert faneblad som indeholder " +#~ "ulæste beskeder. Afhængig af temaet, kan dette ikon være animeret." + +#~ msgid "Invalid character in hostname." +#~ msgstr "Ugyldig karakter i værtsnavn." + +#~ msgid "Server address required." +#~ msgstr "Server adresse påkrævet." + +#~ msgid "Invalid character in username." +#~ msgstr "Ugyldig karakter i brugernavn." + +#~ msgid "Invalid character in resource." +#~ msgstr "Ugyldig karakter i ressource." + +#, fuzzy +#~ msgid "Notification color for contacts signing in." +#~ msgstr "Påmind mig om kontakter logger _ind" + +#, fuzzy +#~ msgid "Notification color for contacts signing out." +#~ msgstr "Påmind mig om kontakter som logger u_d" + +#, fuzzy +#~ msgid "Notification color for new message notification." +#~ msgstr "Forhåndsvis nye beskeder i et påmindelses pop op vinduer?" + +#, fuzzy +#~ msgid "Notification color for file transfer request." +#~ msgstr "_Påmind mig når en filoverførsel er færdig" + +#, fuzzy +#~ msgid "Notification color for file transfer errors." +#~ msgstr "_Påmind mig når en filoverførsel er færdig" + +#, fuzzy +#~ msgid "Notification background color for changed status." +#~ msgstr "Baggrundsfarve på kontakter når de netop har tilsluttet sig." + +#, fuzzy +#~ msgid "Event Type" +#~ msgstr "Hændelse" + +#, fuzzy +#~ msgid "Event desc" +#~ msgstr "Hændelse" + +#, fuzzy +#~ msgid "No response from the Server" +#~ msgstr "Du er ikke tilsluttet til serveren" + +#~ msgid "Resource Conflict" +#~ msgstr "Ressource Konflikt" + +#, fuzzy +#~ msgid "" +#~ "You are already connected to this account with the same resource. Please " +#~ "enter a different one." +#~ msgstr "" +#~ "Du er allerede tilsluttet til denne konto med den samme ressource. Skriv " +#~ "venligst en ny" + +#, fuzzy +#~ msgid "Unable to load image" +#~ msgstr "Ikke i stand til at indlæse tomgangs modulet" + +#, fuzzy +#~ msgid "Media type not supported: %s" +#~ msgstr "Usynlighed er ikke understøttet" + +#~ msgid "new@jabber.id" +#~ msgstr "ny@jabber.id" + +#~ msgid "new%d@jabber.id" +#~ msgstr "ny%d@jabber.id" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Gajim: Konto Oprettelses Guide" + +#, fuzzy +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "Du behøver en konto for at tilslutte dig\n" +#~ "til Jabber netværket" + +#~ msgid "I already have an account I want to _use" +#~ msgstr "Jeg har allerede en konto jeg vil br_uge" + +#~ msgid "I want to _register for a new account" +#~ msgstr "Jeg vil _registrere en ny konto" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "Vælg en af mulighederne under:" + +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "Fyld ind data for din eksisterende konto" + +#, fuzzy +#~ msgid "_XMPP Address:" +#~ msgstr "AIM Adresse:" + +#~ msgid "Anon_ymous authentication" +#~ msgstr "Anonym godkendelse" + +#~ msgid "_Password:" +#~ msgstr "_Adgangskode" + +#~ msgid "Save pass_word" +#~ msgstr "Gem adgangs_kode" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "Hvis valgt vil Gajim huske adgangskoden for denne konto" + +#~ msgid "Please select a server" +#~ msgstr "Vælg venligst en server" + +#~ msgid "_Server:" +#~ msgstr "_Server:" + +#~ msgid "Manage..." +#~ msgstr "Håndter..." + +#~ msgid "_Port:" +#~ msgstr "_Port:" + +#~ msgid "_Advanced" +#~ msgstr "_Avanceret" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA1 fingerprint of the certificate:\n" +#~ msgstr "" +#~ "Tilføj dette certifikat til listen af certifikater du stoler på.\n" +#~ "SHA1 fingeraftryk af certifikatet:\n" + +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "Tilslutter til server\n" +#~ "\n" +#~ "Vent venligst..." + +#~ msgid "Connect when I press Finish" +#~ msgstr "Tilslut når jeg trykke Færdig" + +#~ msgid "Set my profile when I connect" +#~ msgstr "Sæt min profil når jeg tilslutter" + +#~ msgid "_Finish" +#~ msgstr "_Færdig" + +#~ msgid "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." +#~ msgstr "" +#~ "Du kan sætte avancerede konto indstillinger ved at trykke Avanceret " +#~ "knappen, eller senere ved at vælge kontoens menupunkt under Rediger " +#~ "menuen fra hovedvinduet." + +#~ msgid "Your new account has been created successfully" +#~ msgstr "Din nye konto er blevet oprettet med succes" + +#~ msgid "Invalid username" +#~ msgstr "Ugyldigt brugernavn" + +#~ msgid "You must provide a username to configure this account." +#~ msgstr "Du må give et brugernavn for at konfigurere denne konto." + +#~ msgid "Invalid server" +#~ msgstr "Ugyldigt server" + +#~ msgid "Please provide a server on which you want to register." +#~ msgstr "Anfør en server som du vil registrere dig ved." + +#~ msgid "Invalid entry" +#~ msgstr "Ugyldig indgang" + +#~ msgid "Certificate Already in File" +#~ msgstr "Certifikatet er allerede i filen" + +#~ msgid "This certificate is already in file %s, so it's not added again." +#~ msgstr "" +#~ "Dette certifikat er allerede i filen %s, så det bliver ikke tilføjet igen." + +#~ msgid "" +#~ "Security Warning\n" +#~ "\n" +#~ "The authenticity of the %(hostname)s SSL certificate could be invalid.\n" +#~ "SSL Error: %(error)s\n" +#~ "Do you still want to connect to this server?" +#~ msgstr "" +#~ "Sikkerhedsadvarsel\n" +#~ "\n" +#~ "Pålideligheden af %(hostname)s SSL certifikat kan være ugyldig\n" +#~ "SSL Fejl: %(error)s\n" +#~ "Vil du stadig prøve at forbinde til denne server?" + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA-256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Tilføj dette certifikat til listen af certifikater du har tillid til.\n" +#~ "Certifikatets SHA1 fingeraftryk:\n" +#~ "%s" + +#~ msgid "Account name is in use" +#~ msgstr "Kontonavnet er i brug" + +#~ msgid "You already have an account using this name." +#~ msgstr "Du har allered en konto med dette navn." + +#~ msgid "Show a warning dialog before using standard SSL library." +#~ msgstr "Hvis en advarsels dialog før brugen af standard SSL biblioteket." + +#, fuzzy +#~ msgid "If enabled, a whitespace is sent after inactivity (keep alive)." +#~ msgstr "Mellemrum sendt efter inaktivitet" + +#, fuzzy +#~ msgid "If enabled, an XMPP ping is sent after inactivity (ping alive)." +#~ msgstr "XMPP ping sendt efter inaktivitet" + +#~ msgid "Connection with account \"%s\" has been lost" +#~ msgstr "Tilslutning til konto \"%s\" er blevet afbrudt" + +#~ msgid "Reconnect manually." +#~ msgstr "Tilslut manuelt." + +#~ msgid "Server %(name)s answered wrongly to register request: %(error)s" +#~ msgstr "" +#~ "Server %(name)s svarede forkert på indskrivnings forespørgslen: %(error)s" + +#~ msgid "Server %s provided a different registration form" +#~ msgstr "Serveren %s gav en anderledes registreringsform" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "Kunne ikke tilslutte til \"%s\"" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "Kunne ikke tilslutte til \"%s\"" + +#~ msgid "Check your connection or try again later." +#~ msgstr "Kontroller din tilslutning eller forsøg igen senere." + +#~ msgid "Server replied: %s" +#~ msgstr "Server svarede: %s" + +#~ msgid "Connection to proxy failed" +#~ msgstr "Tilslutning til proxy fejlede" + +#~ msgid "Could not connect to account %s" +#~ msgstr "Kunne ikke tilslutte til kontoen %s" + +#~ msgid "Connection with account %s has been lost. Retry connecting." +#~ msgstr "" +#~ "Tilslutning til kontoen \"%s\" er blevet afbrudt. Prøv at tilslutte igen." + +#~ msgid "Please check your login and password for correctness." +#~ msgstr "Venligst kontroller om dit logind og adgangskode er korrekt." + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "" +#~ "HTTP Tilslutning\n" +#~ "SOCKS5\n" +#~ "BOSH" + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "BOSH" +#~ msgstr "_BOSH URL:" + +#~ msgid "Use HTTP prox_y" +#~ msgstr "Brug HTTP prox_y" + +#, fuzzy +#~ msgid "_BOSH URL" +#~ msgstr "_BOSH URL:" + +#, fuzzy +#~ msgid "BOSH" +#~ msgstr "_BOSH URL:" + +#, fuzzy +#~ msgid "Warn on insecure connection" +#~ msgstr "Ad_var mig før jeg bruger en usikker forbindelse" + +#, fuzzy +#~ msgid "Contact list, list of contacts" +#~ msgstr "_Log status ændringer hos kontakter" + +#~ msgid "You are participating in one or more group chats" +#~ msgstr "Du deltager i en eller flere gruppesamtaler" + +#, fuzzy +#~ msgid "" +#~ "Changing your status to invisible will result in you leaving those group " +#~ "chats.\n" +#~ "Are you sure you want to go invisible?" +#~ msgstr "" +#~ "Hvis du ændrer din status til usynlig vil det resultere i at du bliver " +#~ "frakoblet fra disse gruppesamtaler. Er du sikker på du vil gøre dig " +#~ "usynlig?" + +#~ msgid "_Disconnect" +#~ msgstr "Afbry_d tilslutningen" + +#~ msgid "You cannot join a group chat while you are invisible" +#~ msgstr "Du kan ikke deltage i en gruppe samtale mens du er usynlig" + +#~ msgid "Invisible" +#~ msgstr "Usynlig" + +#, fuzzy +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "Du kan ikke deltage i en gruppe samtale mens du er usynlig" + +#~ msgid "_Invisible" +#~ msgstr "_Usynlig" + +#, fuzzy +#~ msgid "Yesterday" +#~ msgid_plural "%(nb_days)i days ago" +#~ msgstr[0] "I går" +#~ msgstr[1] "I går" + +#, fuzzy +#~ msgid "_Cancel Upload" +#~ msgstr "_Afbryd" + +#~ msgid " [blocked]" +#~ msgstr " [blokeret]" + +#~ msgid " [minimized]" +#~ msgstr " [minimeret]" + +#, fuzzy +#~ msgid "" +#~ "If you close this tab while having chat history disabled, this message " +#~ "will be lost." +#~ msgstr "" +#~ "Hvis du lukker dette faneblad og ikke har aktiveret historie loggen, vil " +#~ "du\n" +#~ "miste denne besked." + +#, fuzzy +#~ msgid "Unregister Failed" +#~ msgstr "Tilslutning fejlede" + +#, fuzzy +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "Frakobling fra serveren %(server)s mislykkedes: %(error)s" + +#, fuzzy +#~ msgid "New Password" +#~ msgstr "Gem adgangskode" + +#~ msgid "What do you want to do?" +#~ msgstr "Hvad vil du gøre?" + +#~ msgid "Remove account from Gajim and from _server" +#~ msgstr "Fjern konto fra Gajim og fra _serveren" + +#, fuzzy +#~ msgid "You must enter a password" +#~ msgstr "Du må indtaste en adgangskode." + +#, fuzzy +#~ msgid "You still have open chats in your account %s" +#~ msgstr "Du har en åben samtale med kontonavnet %s" + +#, fuzzy +#~ msgid "To unregister from a server, the account must be enabled." +#~ msgstr "For at deaktivere din konto må du afbryde din tilslutning." + +#, fuzzy +#~ msgid "Password required" +#~ msgstr "Adgangskode er Påkrævet" + +#, fuzzy +#~ msgid "Still connected to the server" +#~ msgstr "Du er ikke tilsluttet til serveren" + +#, fuzzy +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "Hvis du fjerne den vil tilslutningen tabes." + +#, fuzzy +#~ msgid "Connection to server %s failed" +#~ msgstr "Tilslutning til proxy fejlede" + +#, fuzzy +#~ msgid "What would you like to do?" +#~ msgstr "Hvad vil du gøre?" + +#, fuzzy +#~ msgid "Remove only from Gajim" +#~ msgstr "Fjern kun k_ontoen fra Gajim" + +#, fuzzy +#~ msgid "Contents" +#~ msgstr "_Indhold" + +#, fuzzy +#~ msgid "FAQ" +#~ msgstr "_OSS" + +#~ msgid "Save as Preset Status Message" +#~ msgstr "Gem som Forvalgt Status Besked" + +#~ msgid "Enter a new nickname for contact %s" +#~ msgstr "Indtast et nyt kælenavn for kontakt %s" + +#, fuzzy +#~ msgid "Join a group chat" +#~ msgstr "i _gruppe samtaler" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "K_ontoer" + +#~ msgid "New entry received" +#~ msgstr "Ny hændelse modtaget" + +#~ msgid "You have received new entry:" +#~ msgstr "Du har modtaget en ny hændelse:" + +#~ msgid "Feed name:" +#~ msgstr "Feed navn:" + +#~ msgid "Last modified:" +#~ msgstr "Sidst ændret:" + +#, fuzzy +#~ msgid "Send file?" +#~ msgstr "Send _Fil" + +#, fuzzy +#~ msgid "Mail _client" +#~ msgstr "_E-post klient:" + +#, fuzzy +#~ msgid "_Browser" +#~ msgstr "_Netlæser:" + +#, fuzzy +#~ msgid "_File manager" +#~ msgstr "_Filhåndterer:" + +#, fuzzy +#~ msgid "Applications" +#~ msgstr "Programmer" + +#, fuzzy +#~ msgid "" +#~ "Uses ReStructured text markup to send HTML, plus ASCII formatting if " +#~ "selected. Needs docutils installed (for syntax, see http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Bruger ReStruktureret tekst redigering til at sende HTML, plus ascii " +#~ "formatering hvis valgt. For syntaks, se http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html (Hvis du vil bruge dette, installer " +#~ "docutils)" + +#, fuzzy +#~ msgid "_Ignore formatting of incoming messages" +#~ msgstr "_Ignorer rigt indhold i indkommende beskeder" + +#, fuzzy +#~ msgid "" +#~ "Some messages may include rich content (xhtml formatting, colors etc). If " +#~ "checked, Gajim will just display the plain message text." +#~ msgstr "" +#~ "Nogle beskeder kan indeholde rigt indhold (formatering, farver osv.). " +#~ "Hvis valgt\n" +#~ "vil Gajim kun vise den rå tekst." + +#, fuzzy +#~ msgid "RST XHTML Generator" +#~ msgstr "RST Generator" + +#, fuzzy +#~ msgid "Requires: python-docutils" +#~ msgstr "Kræver python-docutils." + +#~ msgid "New Single Message" +#~ msgstr "Ny Enkel Besked" + +#, fuzzy +#~ msgid "" +#~ "Can be empty, 'chat' or 'normal'. If not empty, all incoming messages are " +#~ "treated as if they were of this type." +#~ msgstr "" +#~ "Kan være tom, 'chat' eller 'normal'. Hvis ikke tom, behandl alle " +#~ "indkommende beskeder som om de var af denne type" + +#~ msgid "Error %(code)s: %(msg)s" +#~ msgstr "Fejl %(code)s: %(msg)s" + +#~ msgid "twelve" +#~ msgstr "tolv" + +#~ msgid "one" +#~ msgstr "en" + +#~ msgid "two" +#~ msgstr "to" + +#~ msgid "three" +#~ msgstr "tre" + +#~ msgid "four" +#~ msgstr "fire" + +#~ msgid "five" +#~ msgstr "fem" + +#~ msgid "six" +#~ msgstr "seks" + +#~ msgid "seven" +#~ msgstr "syv" + +#~ msgid "eight" +#~ msgstr "otte" + +#~ msgid "nine" +#~ msgstr "ni" + +#~ msgid "ten" +#~ msgstr "ti" + +#~ msgid "eleven" +#~ msgstr "elleve" + +#~ msgid "%(0)s o'clock" +#~ msgstr "klokken %(0)s" + +#~ msgid "five past %(0)s" +#~ msgstr "fem over %(0)s" + +#~ msgid "ten past %(0)s" +#~ msgstr "ti over %(0)s" + +#~ msgid "quarter past %(0)s" +#~ msgstr "kvart over %(0)s" + +#~ msgid "twenty past %(0)s" +#~ msgstr "tyve over %(0)s" + +#~ msgid "twenty five past %(0)s" +#~ msgstr "femogtyve over %(0)s" + +#~ msgid "half past %(0)s" +#~ msgstr "halv %(1)s" + +#~ msgid "twenty five to %(1)s" +#~ msgstr "femogtyve minutter i %(1)s" + +#~ msgid "twenty to %(1)s" +#~ msgstr "tyve minutter i %(1)s" + +#~ msgid "quarter to %(1)s" +#~ msgstr "kvart på %(1)s" + +#~ msgid "ten to %(1)s" +#~ msgstr "ti på %(1)s" + +#~ msgid "five to %(1)s" +#~ msgstr "fem på %(1)s" + +#~ msgid "%(1)s o'clock" +#~ msgstr "klokken %(1)s" + +#~ msgid "Night" +#~ msgstr "Nat" + +#~ msgid "Early morning" +#~ msgstr "Tidlig morgen" + +#~ msgid "Morning" +#~ msgstr "Morgen" + +#~ msgid "Almost noon" +#~ msgstr "Næsten middag" + +#~ msgid "Noon" +#~ msgstr "Middag" + +#~ msgid "Afternoon" +#~ msgstr "Eftermiddag" + +#~ msgid "Evening" +#~ msgstr "Aften" + +#~ msgid "Late evening" +#~ msgstr "Sen aften" + +#~ msgid "Start of week" +#~ msgstr "Ugestart" + +#~ msgid "Middle of week" +#~ msgstr "Midten af ugen" + +#~ msgid "End of week" +#~ msgstr "Slutten af ugen" + +#~ msgid "Weekend!" +#~ msgstr "Weekend!" + +#, fuzzy +#~ msgid "" +#~ "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or " +#~ "0 to disable Fuzzy Clock. 1 is the most precise clock, 4 the least " +#~ "precise one. This is used only if 'print_time' is 'sometimes'." +#~ msgstr "" +#~ "Print tiden i samtaler med en upræcis klokke. Værdien for hvor upræcis " +#~ "klokken skal være kan rangere fra 1 til 4, eller 0 for at deaktivere den " +#~ "upræcise klokke. 1 er den mest præcise klokke, 4 den mindst præcise. " +#~ "Dette bruges kun hvis print_time er 'nogen ganger'." + +#~ msgid "message" +#~ msgstr "besked" + +#, fuzzy +#~ msgid "error: %s" +#~ msgstr "Fejl: %s" + +#, fuzzy +#~ msgid "Form: %s" +#~ msgstr "Formular %s" + +#, fuzzy +#~ msgid "XML Input" +#~ msgstr "XML Inddata" + +#, fuzzy +#~ msgid "Ttitle" +#~ msgstr "Titel:" + +#, fuzzy +#~ msgid "%(type)s encryption is active %(authenticated)s" +#~ msgstr "" +#~ "%(type)s kryptering %(status)s aktiv %(authenticated)s.\n" +#~ "Din samtale session %(logged)s blive logget." + +#, fuzzy +#~ msgid "Screen" +#~ msgstr "grøn" + +#~ msgid "Conversation with " +#~ msgstr "Samtale med " + +#~ msgid "Continued conversation" +#~ msgstr "Fortsat samtale" + +#, fuzzy +#~ msgid "%s has invited you to join a discussion" +#~ msgstr "$Contact har inviteret dig til at deltage i en diskussion" + +#~ msgid "_Send Private Message" +#~ msgstr "_Send en Privat Besked" + +#, fuzzy +#~ msgid "Participant Actions" +#~ msgstr "Deltagere" + +#~ msgid "_Voice" +#~ msgstr "_Stemme" + +#~ msgid "Mo_derator" +#~ msgstr "Or_dstyrer" + +#~ msgid "_Member" +#~ msgstr "_Medlem" + +#~ msgid "_Admin" +#~ msgstr "_Administrator" + +#~ msgid "_Owner" +#~ msgstr "_Ejer" + +#, fuzzy +#~ msgid "_Add to Contact List" +#~ msgstr "_Tilføj Kontakt..." + +#, fuzzy +#~ msgid "_Execute command" +#~ msgstr "_Kør Kommando" + +#~ msgid "Change _Nickname..." +#~ msgstr "Ændre _Kælenavn..." + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "_Ny Gruppe Samtale" + +#~ msgid "Change _Subject..." +#~ msgstr "Ændre _Emne..." + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "Deltag i en _Gruppe Samtale..." + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "_Ny Gruppe Samtale" + +#~ msgid "_Minimize on close" +#~ msgstr "_Minimer ved lukning" + +#, fuzzy +#~ msgid "_Request Voice" +#~ msgstr "_Stemme" + +#~ msgid "_Bookmark" +#~ msgstr "_Bogmærke" + +#, fuzzy +#~ msgid "The authenticity of the %s certificate could be invalid" +#~ msgstr "Ægtheden af %s certifikatet kan være ugyldig." + +#~ msgid "" +#~ "\n" +#~ "Unknown SSL error: %d" +#~ msgstr "" +#~ "\n" +#~ "Ukendt SSL fejl: %d" + +#~ msgid "" +#~ "\n" +#~ "SSL Error: %s" +#~ msgstr "" +#~ "\n" +#~ "SSL Fejl: %s" + +#~ msgid "Error verifying SSL certificate" +#~ msgstr "Fejl under verificering af SSL certifikat" + +#, fuzzy +#~ msgid "View certificate…" +#~ msgstr "Selvsigneret certifikat" + +#, fuzzy +#~ msgid "Continue" +#~ msgstr "_Fortsæt" + +#~ msgid "" +#~ "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM " +#~ "IS RUNNING)" +#~ msgstr "" +#~ "Vil du rydde op i databasen? (DETTE ER IKKE ANBEFALET HVIS GAJIM KØRER)" + +#, fuzzy +#~ msgid "Authorization" +#~ msgstr "Godkendelse er blevet sendt" + +#, fuzzy +#~ msgid "" +#~ "All chat and group chat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Alle samtale og gruppesamtale vinduer vil blive lukket. Vil du fortsætte?" + +#, fuzzy +#~ msgid "Account '%s' is still connected to the server" +#~ msgstr "Kontoen \"%s\" er tilsluttet til serveren" + +#, fuzzy +#~ msgid "Error While Saving" +#~ msgstr "Fejl ved tilføjelse af tjeneste. %s" + +#, fuzzy +#~ msgid "" +#~ "Image cannot be saved in %(type)s format.\n" +#~ "Save as %(new_filename)s?" +#~ msgstr "" +#~ "Billede kan ikke gemmes i formatet %(type)s. Gem som %(new_filename)s?" + +#, fuzzy +#~ msgid "Save _As" +#~ msgstr "Har" + +#~ msgid "Yes, I really want to connect insecurely" +#~ msgstr "Ja, jeg vil virkelig gerne tilslutte mig uden sikkerhed" + +#, fuzzy +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "Ugyldig gruppe samtale Jabber ID" + +#, fuzzy +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "Gruppe samtale Jabber ID'en indeholder ikke tilladte tegn." + +#~ msgid "You may specify a reason below:" +#~ msgstr "Du kan anføre en begrundelse under:" + +#~ msgid "Banning %s" +#~ msgstr "Udeluk %s" + +#, fuzzy +#~ msgid "" +#~ "Always ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Altid spørg før et gruppesamtale vindue/faneblad lukkes, hvis den findes " +#~ "i denne mellemrums separerede liste af gruppesamtale jids." + +#, fuzzy +#~ msgid "" +#~ "Never ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Aldrig spørg før et gruppesamtale vindue/faneblad lukkes, hvis den findes " +#~ "i denne mellemrums separerede liste af gruppesamtale jids." + +#, fuzzy +#~ msgid "Leave Group Chats" +#~ msgstr "Forlad Gruppesamtaler" + +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "%(nickname)s i %(room_jid)s" + +#, fuzzy +#~ msgid "You have not joined a group chat." +#~ msgstr "Du detlager ikke i en gruppesamtale." + +#, fuzzy +#~ msgid "You left the following group chats:" +#~ msgstr "Du forlod de følgende gruppesamtaler:" + +#~ msgid "Don't show avatar for the transport itself." +#~ msgstr "Ikke vis en avatar for selve transporten." + +#, fuzzy +#~ msgid "" +#~ "Show a confirmation dialog for a custom status? Empty string means never " +#~ "show the dialog." +#~ msgstr "" +#~ "Skal vi vise bekræftelses vinduet for ændring af personlig status? Tom " +#~ "streng betyder at vi aldrig viser vinduet." + +#, fuzzy +#~ msgid "" +#~ "If enabled, notification windows from notification-daemon will be " +#~ "attached to the notification area icon." +#~ msgstr "" +#~ "Hvis sandt vil påmindelses vinduer fra påmindelses dæmonen blive fæstet " +#~ "til ikonet i systembakken." + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending PLAIN password over a plain " +#~ "connection." +#~ msgstr "" +#~ "Hvis en advarsels dialog før en adgangskode sendes over en forbindelse i " +#~ "klar tekst." + +#, fuzzy +#~ msgid "Jabberd2 workaround." +#~ msgstr "Jabberd2 tilpasning" + +#, fuzzy +#~ msgid "Configure Services…" +#~ msgstr "Tilpas Tjenester..." + +#, fuzzy +#~ msgid "Group Chat Bookmarks" +#~ msgstr "_Gruppe Chat" + +#, fuzzy +#~ msgid "Add Bookmark" +#~ msgstr "_Bogmærke" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "_Bogmærke" + +#, fuzzy +#~ msgid "_Server" +#~ msgstr "_Server:" + +#, fuzzy +#~ msgid "_Password" +#~ msgstr "_Adgangskode" + +#, fuzzy +#~ msgid "Join chat when connected" +#~ msgstr "Kontakt er ikke Tilsluttet" + +#~ msgid "New Group Chat" +#~ msgstr "Ny Gruppe Samtale" + +#~ msgid "This bookmark has invalid data" +#~ msgstr "Dette bogmærke er ugyldigt" + +#, fuzzy +#~ msgid "" +#~ "Please be sure to fill out server and group chat fields or remove this " +#~ "bookmark." +#~ msgstr "" +#~ "Fyld ud server og rum tekstindtastningsfelterne eller fjern dette " +#~ "bogmærke." + +#~ msgid "Character not allowed" +#~ msgstr "Tegn ikke tilladt: %s" + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "Ugyldig gruppe samtale Jabber ID" + +#~ msgid "Unable to join group chat" +#~ msgstr "Ikke i stand til at deltage i gruppesamtale." + +#, fuzzy +#~ msgid "You are banned from group chat %s." +#~ msgstr "Du er bandlyst fra gruppesamtalen %s." + +#, fuzzy +#~ msgid "Remote server %s does not exist." +#~ msgstr "Gruppesamtalen %s eksisterer ikke." + +#, fuzzy +#~ msgid "Group chat %s does not exist." +#~ msgstr "Gruppesamtalen %s eksisterer ikke." + +#, fuzzy +#~ msgid "Group chat creation is not permitted." +#~ msgstr "Gruppesamtale oprettelse er begrænset." + +#, fuzzy +#~ msgid "You must use your registered nickname in %s." +#~ msgstr "Dit registrerede kælenavn skal bruges i gruppesamtalen %s." + +#, fuzzy +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "Du er ikke i medlemslisten for gruppesamtalen %s." + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "Dette er ikke en gruppe samtale" + +#~ msgid "This is not a group chat" +#~ msgstr "Dette er ikke en gruppe samtale" + +#, fuzzy +#~ msgid "Please choose a group chat" +#~ msgstr "Opret et nyt tema med dit ønskede navn." + +#~ msgid "Invalid Nickname" +#~ msgstr "Ugyldig Kælenavn" + +#, fuzzy +#~ msgid "Wrong server" +#~ msgstr "Forkert uri" + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "Dette er ikke en gruppe samtale" + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit." +#~ msgstr "" +#~ "Hvor mange linjer skal hentes fra serveren når man deltager i en " +#~ "gruppesamtale." + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit." +#~ msgstr "" +#~ "Hvor mange minutter tilbage skal der hentes log fra når man deltager i en " +#~ "gruppesamtale." + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit, -2 means global value." +#~ msgstr "" +#~ "Hvor mange linjer skal hentes fra serveren når man deltager i en " +#~ "gruppesamtale." + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit, -2 means global value." +#~ msgstr "" +#~ "Hvor mange minutter tilbage skal der hentes log fra når man deltager i en " +#~ "gruppesamtale." + +#, fuzzy +#~ msgid "A Password is required to join the group chat %s. Please type it." +#~ msgstr "" +#~ "En adgangskode er påkrævet for at deltage i rummet %s. Venligst skriv den." + +#~ msgid "Not in Roster" +#~ msgstr "Ikke i Kontaktvinduet" + +#~ msgid "I would like to add you to my roster" +#~ msgstr "Jeg vil gerne tilføje dig til mit kontaktvindue" + +#, fuzzy +#~ msgid "Add to Roster" +#~ msgstr "_Tilføj til Kontaktliste" + +#, fuzzy +#~ msgid "Manage Room" +#~ msgstr "Håndter Ru_m" + +#, fuzzy +#~ msgid "Configure Room" +#~ msgstr "Tilpas _Rum..." + +#, fuzzy +#~ msgid "Destroy Room" +#~ msgstr "_Slet rum" + +#, fuzzy +#~ msgid "Change Nick" +#~ msgstr "Ændre _Kælenavn..." + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "Afbry_d tilslutningen" + +#, fuzzy +#~ msgid "Copy JID" +#~ msgstr "Rum JID" + +#, fuzzy +#~ msgid "Add to Roster…" +#~ msgstr "_Tilføj til Kontaktliste" + +#, fuzzy +#~ msgid "Copy JID/Email" +#~ msgstr "_Kopier JID/E-post Adresse" + +#, fuzzy +#~ msgid "JID: %s" +#~ msgstr "Jabber ID: %s" + +#~ msgid "Changing Subject" +#~ msgstr "Ændre emne" + +#~ msgid "Please specify the new subject:" +#~ msgstr "Anfør et nyt emne:" + +#~ msgid "Room logging is now enabled" +#~ msgstr "Rum logging er nu aktiveret" + +#~ msgid "Room logging is now disabled" +#~ msgstr "Rum logging er nu deaktiveret" + +#, fuzzy +#~ msgid "You (%s) joined the room" +#~ msgstr "%s deltager nu i gruppe samtalen" + +#~ msgid "Room logging is enabled" +#~ msgstr "Rum logging er aktiveret" + +#, fuzzy +#~ msgid "Unable to join groupchat" +#~ msgstr "Ikke i stand til at deltage i gruppesamtale." + +#~ msgid "Groupchat Invitation" +#~ msgstr "Gruppesamtale Invitation" + +#, fuzzy +#~ msgid "%(jid)s has been invited in this room" +#~ msgstr "%(nick)s er blevet fjernet fra rummet %(reason)s" + +#, fuzzy +#~ msgid "JID is not a Groupchat" +#~ msgstr "Dette er ikke en gruppe samtale" + +#~ msgid "Invalid JID" +#~ msgstr "Ugyldig JID" + +#~ msgid "A connection is not available" +#~ msgstr "En tilslutning er ikke tilgængelig" + +#, fuzzy +#~ msgid "JID already in list" +#~ msgstr "Jabber ID er allerede i listen" + +#, fuzzy +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "En tilslutning er ikke tilgængelig" + +#~ msgid "Removes contact from roster" +#~ msgstr "Fjerner kontakt fra kontaktvinduet" + +#~ msgid "Not in roster" +#~ msgstr "Ikke i kontaktvindue" + +#, fuzzy +#~ msgid "Contact signed in notification color." +#~ msgstr "_Vis hændelse i kontaktvindue" + +#, fuzzy +#~ msgid "Contact signout notification color" +#~ msgstr "_Vis hændelse i kontaktvindue" + +#, fuzzy +#~ msgid "File transfer request notification color." +#~ msgstr "Filoverførsel Forespørgsel" + +#, fuzzy +#~ msgid "File transfer error notification color." +#~ msgstr "Filoverførsel er afbrudt" + +#, fuzzy +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "Når en filoverførsel er færdig, vis en pop op påmindelse" + +#, fuzzy +#~ msgid "Groupchat invitation notification color" +#~ msgstr "Gruppesamtale Invitation" + +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "Tilføj * og [n] i tittelen på kontaktvinduet?" + +#~ msgid "Hides the banner in two persons chat window" +#~ msgstr "Skjuler banneret i et to personers samtalevindue" + +#, fuzzy +#~ msgid "" +#~ "Show the confirm metacontacts creation dialog or not? Empty string means " +#~ "never show the dialog." +#~ msgstr "" +#~ "Skal vi vise bekræftelses vinduet for oprettelse af metakontakter? Tom " +#~ "streng betyder at vi aldrig viser vinduet." + +#~ msgid "Space separated list of ssl errors to ignore." +#~ msgstr "Mellemrums adskilt liste af ssl fejl som skal ignoreres." + +#~ msgid "Answer to receipt requests" +#~ msgstr "Svar til modtagelses forespørgsel" + +#, fuzzy +#~ msgid "Language for which misspelled words will be checked" +#~ msgstr "Sprog som vi vil bruge til at kontrollere for stavefejl" + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "Jeg spiser, så læg en besked." + +#, fuzzy +#~ msgid "from room %s" +#~ msgstr "fra rum %s" + +#~ msgid "Leave Groupchats" +#~ msgstr "Forlad Gruppesamtaler" + +#, fuzzy +#~ msgid "Auto Join" +#~ msgstr "Bliv automatisk med" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "Rum:" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#~ msgid "Occupant Actions" +#~ msgstr "Beboer Handlinger" + +#~ msgid "_Add to Roster" +#~ msgstr "_Tilføj til Kontaktliste" + +#~ msgid "_Manage Room" +#~ msgstr "Håndter Ru_m" + +#~ msgid "Configure _Room..." +#~ msgstr "Tilpas _Rum..." + +#~ msgid "_Destroy Room" +#~ msgstr "_Slet rum" + +#~ msgid "Jabber ID" +#~ msgstr "Jabber ID" + +#, fuzzy +#~ msgid "account" +#~ msgstr "Konto" + +#, fuzzy +#~ msgid "Roster" +#~ msgstr "Vis _Kontaktvindue" + +#, fuzzy +#~ msgid "Show only in roster" +#~ msgstr "_Vis hændelse i kontaktvindue" + +#~ msgid "in _roster" +#~ msgstr "i _kontaktvinduet" + +#, fuzzy +#~ msgid "Roster Appearance" +#~ msgstr "Kontaktvinduets Udseende" + +#~ msgid "_Add to Roster..." +#~ msgstr "_Tilføj til Kontaktliste..." + +#~ msgid "_Jabber ID:" +#~ msgstr "_Jabber ID:" + +#, fuzzy +#~ msgid "_Jabber ID" +#~ msgstr "_Jabber ID:" + +#~ msgid "JabberID" +#~ msgstr "Jabber ID" + +#, fuzzy +#~ msgid "Show Roster" +#~ msgstr "Vis _Kontaktvindue" + +#~ msgid "MUC server" +#~ msgstr "MUC server" + +#~ msgid "Room Configuration" +#~ msgstr "Rum Konfigurering" + +#~ msgid "Join _Group Chat" +#~ msgstr "Bliv med i en _Gruppe Samtale" + +#, fuzzy +#~ msgid "Audio sessions are not available" +#~ msgstr "En tilslutning er ikke tilgængelig" + +#~ msgid "Conference" +#~ msgstr "Konference" + +#, fuzzy +#~ msgid "_Manage Bookmarks…" +#~ msgstr "Håndter Bogmærker" + +#, fuzzy +#~ msgid "Hide _Roster" +#~ msgstr "i _kontaktvinduet" + +#~ msgid "Show _Roster" +#~ msgstr "Vis _Kontaktvindue" + +#, fuzzy +#~ msgid "Invalid Room" +#~ msgstr "Ugyldig rum" + +#~ msgid "Invalid room" +#~ msgstr "Ugyldig rum" + +#~ msgid "A GTK+ Jabber client" +#~ msgstr "En GTK+ Jabber klient" + +#~ msgid "Changing Nickname" +#~ msgstr "Ændre kælenavn" + +#~ msgid "Please specify the new nickname you want to use:" +#~ msgstr "Anfør dit nye kælenavn:" + +#~ msgid "Bookmark already set" +#~ msgstr "Bogmærke er allerede sat" + +#, fuzzy +#~ msgid "Group Chat '%s' is already in your bookmarks." +#~ msgstr "Gruppe samtale \"%s\" er allerede i dine bogmærker." + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "Bogmærket er blevet tilføjet succesfuldt" + +#, fuzzy +#~ msgid "" +#~ "You can manage your bookmarks by clicking the Bookmarks menu item in your " +#~ "contact list." +#~ msgstr "" +#~ "De kan håndtere dine bogmærker via Handlings menuen i dit kontaktvindue." + +#, fuzzy +#~ msgid "The nickname contains invalid characters." +#~ msgstr "Kælenavnet har ikke tilladte tegn." + +#, fuzzy +#~ msgid "Bookmark Room" +#~ msgstr "Bogmærk dette rom" + +#~ msgid "_Join New Group Chat" +#~ msgstr "_Deltag i Ny Gruppe Samtale" + +#, fuzzy +#~ msgid "Name:" +#~ msgstr "Navn: " + +#, fuzzy +#~ msgid "Description:" +#~ msgstr "Beskrivelse: " + +#, fuzzy +#~ msgid "Address:" +#~ msgstr "_Adresse:" + +#, fuzzy +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "Du kan kun deltage i en gruppe samtale hvis du er tilsluttet." + +#, fuzzy +#~ msgid "Occupants" +#~ msgstr "Beboer Handlinger" + +#~ msgid "_Modify Account..." +#~ msgstr "_Ændre Konto" + +#~ msgid "Boolean" +#~ msgstr "Boolean" + +#~ msgid "Integer" +#~ msgstr "Heltal" + +#~ msgid "Text" +#~ msgstr "Tekst" + +#~ msgid "Value" +#~ msgstr "Værdi" + +#~ msgid "(None)" +#~ msgstr "(Ingen)" + +#~ msgid "Hidden" +#~ msgstr "Skjult" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "Håndter Proxy Profiler" + +#, fuzzy +#~ msgid "Properties" +#~ msgstr "Egenskaber" + +#, fuzzy +#~ msgid "Proxy _Port" +#~ msgstr "Proxy _Port:" + +#, fuzzy +#~ msgid "New Groupchat" +#~ msgstr "Ny Gruppe Samtale" + +#, fuzzy +#~ msgid "New Contact" +#~ msgstr "Tilføj Ny Kontakt" + +#~ msgid "%s GiB" +#~ msgstr "%s GiB" + +#~ msgid "%s GB" +#~ msgstr "%s GB" + +#~ msgid "%s MiB" +#~ msgstr "%s MiB" + +#~ msgid "%s MB" +#~ msgstr "%s MB" + +#~ msgid "%s KiB" +#~ msgstr "%s KiB" + +#~ msgid "%s KB" +#~ msgstr "%s KB" + +#~ msgid "%s B" +#~ msgstr "%s B" + +#, fuzzy +#~ msgid "%s MiB/s" +#~ msgstr "%s MiB" + +#, fuzzy +#~ msgid "File transfer" +#~ msgstr "Filoverførsler" + +#, fuzzy +#~ msgid "Open _Containing Folder" +#~ msgstr "_Åbn folderen med filen" + +#, fuzzy +#~ msgid "Default:" +#~ msgstr "Standard" + +#~ msgid "Really quit Gajim?" +#~ msgstr "Skal Gajim afsluttes?" + +#~ msgid "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" +#~ msgstr "" +#~ "Du vil ikke længere være i stand til at sende og modtage beskeder fra " +#~ "kontakter som bruger disse transporter: %s" + +#~ msgid "Contact \"%s\" will be removed from your roster" +#~ msgstr "Kontakt %s vil blive fjernet fra dit kontaktvindue" + +#, fuzzy +#~ msgid "" +#~ "By removing this contact you also by default remove authorization " +#~ "resulting in them always seeing you as offline." +#~ msgstr "" +#~ "Ved at fjerne denne kontakt fjerner du også samtidig godkendelsen, så han " +#~ "eller hun altid vil se dig som offline." + +#~ msgid "Contacts will be removed from your roster" +#~ msgstr "Kontakter vil blive fjernet fra dit kontaktvindue" + +#~ msgid "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorization resulting in them always seeing you as " +#~ "offline." +#~ msgstr "" +#~ "Ved at fjerne disse kontakter:%s\n" +#~ "fjerner du også godkendelsen, hvilket medfører at de altid vil se dig som " +#~ "offline." + +#, fuzzy +#~ msgid "Con_tinue" +#~ msgstr "_Fortsæt" + +#~ msgid "_Pause" +#~ msgstr "_Pause" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "Fjern filoverførsler fra listen." + +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "" +#~ "Denne handling fjerner en enkelt filoverførsel fra listen. Hvis " +#~ "overførslen er i gang, bliver den først stoppet og derefter fjernet" + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "Annullerer den valgte filoverførsel" + +#, fuzzy +#~ msgid "Hide the window" +#~ msgstr "Skjuler vinduet" + +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "Når en filoverførsel er færdig, vis en pop op påmindelse" + +#~ msgid "From:" +#~ msgstr "Fra:" + +#~ msgid "Subject:" +#~ msgstr "Emne:" + +#~ msgid "%s wants to send you a file:" +#~ msgstr "%s vil gerne sende dig en fil:" + +#~ msgid "Name: " +#~ msgstr "Navn: " + +#~ msgid "Pause" +#~ msgstr "Pause" + +#, fuzzy +#~ msgid "Execute Command" +#~ msgstr "_Kør Kommando" + +#~ msgid "Type: " +#~ msgstr "Type: " + +#~ msgid "Transferred: " +#~ msgstr "Overført: " + +#~ msgid "Completed" +#~ msgstr "Fuldført" + +#~ msgid "Stalled" +#~ msgstr "Hænger" + +#~ msgid "Transferring" +#~ msgstr "Overfører" + +#~ msgid "Not started" +#~ msgstr "Ikke startet" + +#, fuzzy +#~ msgid "%s day" +#~ msgid_plural "%s days" +#~ msgstr[0] "%i dage siden" +#~ msgstr[1] "%i dage siden" + +#~ msgid "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Alle samtale og gruppesamtale vinduer vil blive lukket. Vil du fortsætte?" + +#, fuzzy +#~ msgid "" +#~ "Your desired nickname in group chat\n" +#~ "%s\n" +#~ "is in use or registered by another occupant.\n" +#~ "Please specify another nickname below:" +#~ msgstr "" +#~ "Dit ønskede kælenavn i gruppesamtalen %s er i brug eller registreret af " +#~ "en anden indehaver.\n" +#~ "Specificer venligst et andet kælenavn under:" + +#~ msgid "_Configure" +#~ msgstr "_Konfigurere" + +#, fuzzy +#~ msgid "Change the avatar" +#~ msgstr "Ændre status" + +#~ msgid "" +#~ "Account in which the avatar will be set; if not specified, the avatar " +#~ "will be set for all accounts" +#~ msgstr "" +#~ "Den konto hvor XML vil blive sendt; hvis ikke den er specificeret, vil " +#~ "XML blive sendt til alle konti" + +#, fuzzy +#~ msgid "add" +#~ msgstr "Trist" + +#, fuzzy +#~ msgid "modify" +#~ msgstr "Ændre" + +#, fuzzy +#~ msgid "remove" +#~ msgstr "_Fjern" + +#, fuzzy +#~ msgid "" +#~ "If true, restored messages will use a smaller font than the default one." +#~ msgstr "" +#~ "Hvis Sandt vil gamle beskeder fra forrige samtale bruge en mindre " +#~ "skrifttype end den som er standard." + +#, fuzzy +#~ msgid "Restored Message Color" +#~ msgstr "_Nulstil til Standard Farver" + +#, fuzzy +#~ msgid "" +#~ "You are going to remove this room permanently.\n" +#~ "You may specify a reason below:" +#~ msgstr "" +#~ "Du er ved at definitivt fjerne dette rum.\n" +#~ "Du kan anføre en grund herunder:" + +#~ msgid "Send Cus_tom Status" +#~ msgstr "Send _Tilpasset Status" + +#, fuzzy +#~ msgid "" +#~ "You are about to send a custom status. Are you sure you want to continue?" +#~ msgstr "" +#~ "Du er ved at sende en personlig status. Er du sikker på du vil fortsætte?" + +#, fuzzy +#~ msgid "" +#~ "This contact will temporarily see you as %(status)s, but only until you " +#~ "change your status. Then they will see your global status." +#~ msgstr "" +#~ "Denne kontakt vil midlertidig se dig som %(status)s, men kun indtil du " +#~ "ændrer din status. Da vil han se din globale status." + +#, fuzzy +#~ msgid "" +#~ msgstr "Emne" + +#~ msgid "#" +#~ msgstr "#" + +#~ msgid "You are about to block a contact. Are you sure you want to continue?" +#~ msgstr "Du er ved at blokere en kontakt. Er du sikker på du vil fortsætte?" + +#~ msgid "To:" +#~ msgstr "Til:" + +#~ msgid "0" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Reconnect when connection is lost" +#~ msgstr "Tilslut automatisk hvis tilslutningen tabes" + +#, fuzzy +#~ msgid "Server Message Archive" +#~ msgstr "_Send Server Besked..." + +#, fuzzy +#~ msgid "Message Carbons" +#~ msgstr "Beskeder" + +#~ msgid "" +#~ "Sent chat state notifications. Can be one of all, composing_only, " +#~ "disabled." +#~ msgstr "" +#~ "Send samtale status påmindelser. Kan være en af disse: all, " +#~ "composing_only, disabled." + +#, fuzzy +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "Tillad _OS information at blive sendt" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the idle time of your system" +#~ msgstr "" +#~ "Hvis valgt vil Gajim tillade andre at kunne se det operativ system du " +#~ "bruger" + +#, fuzzy +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "Tillad _OS information at blive sendt" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the local time on your system" +#~ msgstr "" +#~ "Hvis valgt vil Gajim tillade andre at kunne se det operativ system du " +#~ "bruger" + +#, fuzzy +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "Tillad _OS information at blive sendt" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the operating system you are " +#~ "using" +#~ msgstr "" +#~ "Hvis valgt vil Gajim tillade andre at kunne se det operativ system du " +#~ "bruger" + +#, fuzzy +#~ msgid "" +#~ "If checked, incoming events from unauthorized contacts will be ignored. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster." +#~ msgstr "" +#~ "Hvis valgt vil Gajim ignorere indkommende hændelser fra uautoriserede " +#~ "kontakter. Brug med forsigtighed fordi det vil blokere alle beskeder fra " +#~ "alle kontakter som ikke er i kontaktvinduet." + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." +#~ msgstr "" +#~ "Gajim kan sende og modtage meta-information relateret til en samtale du " +#~ "har med en kontakt. Her kan du specificere hvilke typer samtalestatus du " +#~ "vil sende til modparten." + +#, fuzzy +#~ msgid "S_end chat state notifications" +#~ msgstr "_Send samtalestatus påmindelser:" + +#, fuzzy +#~ msgid "Login Options" +#~ msgstr "Føl_elsesikoner:" + +#~ msgid "Please wait while retrieving search form..." +#~ msgstr "Vent mens en søge form hentes..." + +#~ msgid "_Add contact" +#~ msgstr "Tilføj Kont_akt" + +#~ msgid "Ad-hoc Commands - Gajim" +#~ msgstr "Ad-hoc Kommandoer - Gajim" + +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "Vent mens kommandolisten bliver modtaget..." + +#~ msgid "Choose command to execute:" +#~ msgstr "Vælg kommando som skal udføres:" + +#~ msgid "Check once more" +#~ msgstr "Kontroller en gang til" + +#, fuzzy +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "Vent mens kommandoen bliver sendt..." + +#~ msgid "This jabber entity does not expose any commands." +#~ msgstr "Denne jabber enhed eksponerer ikke nogen kommandoer." + +#, fuzzy +#~ msgid "F_inish" +#~ msgstr "_Færdig" + +#~ msgid "Waiting for results" +#~ msgstr "Venter på resultater" + +#~ msgid "Error in received dataform" +#~ msgstr "Fejl i modtaget dataform" + +#~ msgid "No result" +#~ msgstr "Intet resultat" + +#~ msgid "Failed to get secret keys" +#~ msgstr "Forsøg på at hente krypteringsnøgler mislykkedes" + +#~ msgid "There is no OpenPGP secret key available." +#~ msgstr "Der er ikke nogen hemmelig OpenPGP nøgle tilgængelig." + +#~ msgid "OpenPGP Key Selection" +#~ msgstr "OpenPGP Nøgle Valg" + +#~ msgid "Choose your OpenPGP key" +#~ msgstr "Vælg din OpenPGP Nøgle" + +#~ msgid "KeyID" +#~ msgstr "Nøgle ID" + +#~ msgid "Contact name" +#~ msgstr "Kontakt navn" + +#, fuzzy +#~ msgid "OpenPGP is not usable" +#~ msgstr "GPG er ikke brugbar" + +#~ msgid "Assign OpenPGP Key" +#~ msgstr "Tildel OpenPGP Nøgle" + +#~ msgid "Select a key to apply to the contact" +#~ msgstr "Vælg den nøgle du vil anvende til kontakten" + +#, fuzzy +#~ msgid "" +#~ "You configured Gajim to use OpenPGP agent, but there is no OpenPGP agent " +#~ "running or it returned a wrong passphrase.\n" +#~ msgstr "" +#~ "Du har konfigureret Gajim til at bruge GPG agenten, men der er ingen GPG " +#~ "agent som kører eller den returnerede en forkert gpg-løsen.\n" + +#~ msgid "You are currently connected without your OpenPGP key." +#~ msgstr "Du er for øjeblikket tilsluttet uden din OpenPGP nøgle." + +#, fuzzy +#~ msgid "Wrong passphrase" +#~ msgstr "Forkert Adgangskode" + +#, fuzzy +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "Forkert Adgangskode" + +#~ msgid "Passphrase Required" +#~ msgstr "Adgangskode Påkrævet" + +#, fuzzy +#~ msgid "" +#~ "Enter OpenPGP key passphrase for key %(keyid)s (account %(account)s)." +#~ msgstr "Indtast adgangskoden til GPG nøglen %(keyid)s (Konto %(account)s)." + +#, fuzzy +#~ msgid "OpenPGP key expired" +#~ msgstr "GPG nøgle er udløbet" + +#, fuzzy +#~ msgid "" +#~ "Your OpenPGP key has expired, you will be connected to %s without OpenPGP." +#~ msgstr "" +#~ "Din GPG nøgle er udløbet, du vil blive tilsuttet til %s uden OpenPGP." + +#~ msgid "Wrong Passphrase" +#~ msgstr "Forkert Adgangskode" + +#, fuzzy +#~ msgid "Please retype your OpenPGP passphrase or press Cancel." +#~ msgstr "Indtast din GPG adgangskode igen eller annuller." + +#~ msgid "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Sender en ny besked til en kontakt i kontaktvinduet. Både OpenPGP nøgle " +#~ "og konto er valgfri. Hvis du ønsker at sætte en 'konto' uden 'OpenPGP " +#~ "nøgle', bare set 'OpenPGP nøgle' til ''." + +#~ msgid "if specified, the message will be encrypted using this public key" +#~ msgstr "hvis specificeret vil beskeden blive krypteret med denne nøgle" + +#, fuzzy +#~ msgid "" +#~ "Sends a chat message to someone on your roster. Optionally with OpenPGP " +#~ "key and account. If you want to only set the latter, set OpenPGP key to " +#~ "\"\"." +#~ msgstr "" +#~ "Sender en ny besked til en kontakt i kontaktvinduet. Både OpenPGP nøgle " +#~ "og konto er valgfri. Hvis du ønsker at sætte en 'konto' uden 'OpenPGP " +#~ "nøgle', bare set 'OpenPGP nøgle' til ''." + +#~ msgid "" +#~ "If disabled, don't sign presences with GPG key, even if GPG is configured." +#~ msgstr "" +#~ "Hvis deaktiveret, ikke signer tilstedeværelser med GPG nøgle, selvom GPG " +#~ "er konfigureret." + +#, fuzzy +#~ msgid "OpenPGP:" +#~ msgstr "OpenPGP: " + +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "Tilskriv Open_PGP Nøgle..." + +#, fuzzy +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "OpenPGP besked kryptering" + +#, fuzzy +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "Understøt kryptering af chat beskeder med OpenPGP" + +#, fuzzy +#~ msgid "Requires: gpg and python-gnupg (%(url)s)" +#~ msgstr "Kræver gpg og python-Gnupg (%(url)s)" + +#, fuzzy +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "Kræver gpg.exe i PATH" + +#, fuzzy +#~ msgid "Use PGP Agent" +#~ msgstr "Brug G_PG Agenten" + +#, fuzzy +#~ msgid "OpenPGP Key" +#~ msgstr "Tildel OpenPGP Nøgle" + +#~ msgid "Cancel confirmation" +#~ msgstr "Annuller bekræftelse" + +#~ msgid "" +#~ "You are in process of executing command. Do you really want to cancel it?" +#~ msgstr "" +#~ "Du er i færd med at køre en kommando. Er du sikker på du vil afbryde den?" + +#~ msgid "Service sent malformed data" +#~ msgstr "Tjeneste sendte malformeret data" + +#~ msgid "Service changed the session identifier." +#~ msgstr "Tjeneste ændrede sessionsnøglen." + +#, fuzzy +#~ msgid "%s - Ad-hoc Commands - Gajim" +#~ msgstr "Ad-hoc Kommandoer - Gajim" + +#~ msgid "Service returned an error." +#~ msgstr "Tjeneste returnerede en fejl." + +#~ msgid "You are invited to a groupchat" +#~ msgstr "Du er inviteret til en gruppesamtale." + +#~ msgid "_Start Chat" +#~ msgstr "_Start Samtale" + +#~ msgid "Au_thorize" +#~ msgstr "Au_torisere" + +#~ msgid "Really send file?" +#~ msgstr "Virkelig send denne fil?" + +#~ msgid "You are currently connected to the server" +#~ msgstr "Du er for øjeblikket tilsluttet til serveren" + +#~ msgid "To disable the account, you must be disconnected." +#~ msgstr "For at deaktivere din konto må du afbryde din tilslutning." + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with %(jid)s?" +#~ msgstr "Vil du virkelig slette den valgte besked?" + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with the selected contacts?" +#~ msgstr "Vil du virkelig slette loggen for den valgte kontakt?" + +#~ msgid "What do you want to do?" +#~ msgstr "Hvad vil du gøre?" + +#~ msgid "" +#~ "List of colors, separated by \":\", that will be used to color nicknames " +#~ "in group chats." +#~ msgstr "" +#~ "Liste af farver, separeret med \":\", som vil blive brugt til at farve " +#~ "kælenavne i gruppesamtaler." + +#, fuzzy +#~ msgid "You have received new entries (and %d not displayed):" +#~ msgid_plural "You have received new entries (and %d not displayed):" +#~ msgstr[0] "Du har modtaget en nye hændelser (og %(count)d er ikke vist):" +#~ msgstr[1] "Du har modtaget en nye hændelser (og %(count)d er ikke vist):" + +#~ msgid "Stopped" +#~ msgstr "Stoppet" + +#~ msgid "" +#~ "You are about to send your password on an insecure connection. You should " +#~ "install PyOpenSSL to prevent that. Are you sure you want to do that?" +#~ msgstr "" +#~ "Du er ved at sende din adgangskode på en usikker forbindelse. Du bør " +#~ "installere PyOpenSSL for at forhindre dette. Er du sikker på du vil gøre " +#~ "dette?" + +#, fuzzy +#~ msgid "Status messages displayed in chat window" +#~ msgstr "Send besked og luk vinduet" + +#~ msgid "?print_status:All" +#~ msgstr "?print_status:Alle" + +#~ msgid "Enter and leave only" +#~ msgstr "Gå kun ind og ud" + +#~ msgid "?print_status:None" +#~ msgstr "?print_status:Ingen" + +#, fuzzy +#~ msgid "Untrusted OpenPGP key" +#~ msgstr "Vælg din OpenPGP Nøgle" + +#, fuzzy +#~ msgid "" +#~ "The OpenPGP key used to encrypt this chat is not trusted. Do you really " +#~ "want to encrypt this message?" +#~ msgstr "" +#~ "GPG nøglen brugt til at kryptere den samtale er ikke til at stole på. Vil " +#~ "du virkelig kryptere den besked?" + +#~ msgid "D-Bus python bindings are missing in this computer" +#~ msgstr "D-Bus python bindinger mangler på denne computer" + +#~ msgid "D-Bus capabilities of Gajim cannot be used" +#~ msgstr "Gajims D-Bus evner kan ikke bruges" + +#~ msgid "D-Bus does not run correctly on this machine" +#~ msgstr "D-Bus kører ikke korrekt på denne maskine" + +#, fuzzy +#~ msgid "D-Bus does not run correctly on this machine: system bus not present" +#~ msgstr "D-Bus kører ikke korrekt på denne maskine" + +#, fuzzy +#~ msgid "" +#~ "D-Bus does not run correctly on this machine: session bus not present" +#~ msgstr "D-Bus kører ikke korrekt på denne maskine" + +#, fuzzy +#~ msgid "Command line Control" +#~ msgstr "Kommandolinje" + +#, fuzzy +#~ msgid "Enables you to control Gajim with via commandline" +#~ msgstr "Et script til at kontrollere Gajim via kommandolinjen." + +#~ msgid "" +#~ "When is self contact row displayed. Can be \"always\", " +#~ "\"when_other_resource\" or \"never\"" +#~ msgstr "" +#~ "Når bliver selv kontakt rækken vist. Kan være \"always\", " +#~ "\"when_other_resource\" eller \"never\"" + +#~ msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +#~ msgstr "%(nick)s er blevet udvist af %(who)s: %(reason)s" + +#~ msgid "%(nick)s has been banned by %(who)s: %(reason)s" +#~ msgstr "%(nick)s er blevet uønsket af %(who)s: %(reason)s" + +#~ msgid "system shutdown" +#~ msgstr "computeren slukkes" + +#~ msgid "** Role of %(nick)s has been set to %(role)s" +#~ msgstr "** %(nick)s rolle er blevet sat til %(role)s" + +#~ msgid "%s has left" +#~ msgstr "%s har forladt samtalen" + +#, fuzzy +#~ msgid "%s is full" +#~ msgstr "Skrifttype" + +#, fuzzy +#~ msgid "" +#~ "Can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no " +#~ "longer print status line in groupchats when a member changes their status " +#~ "and/or their status message. If \"all\" Gajim will print all status " +#~ "messages. If \"in_and_out\", Gajim will only print FOO enters/leaves " +#~ "group chat." +#~ msgstr "" +#~ "kan være \"none\", \"all\" eller \"in_and_out\". Hvis \"nono\" vil Gajim " +#~ "ikke længere skrive statuslinier i gruppesamtaler når et medlem ændrer " +#~ "hans eller hendes status og/eller hans eller hendes status besked. Hvis " +#~ "\"all\" vil Gajim skrive alle status beskeder. Hvis \"in_and_out\" vil " +#~ "Gajim kun skrive FOO kommer/forlader gruppesamtalen." + +#, fuzzy +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "Vis status _beskeder for kontakter i kontaktvinduet" + +#, fuzzy +#~ msgid "" +#~ "You are about to send your password unencrypted on an insecure " +#~ "connection. Are you sure you want to do that?" +#~ msgstr "" +#~ "Du er ved at sende din adgangskode over en ikke krypteret forbindelse. Er " +#~ "du sikker på du vil gøre dette?" + +#, fuzzy +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "Anonym godkendelse" + +#, fuzzy +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "Anonym godkendelse" + +#, fuzzy +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "Anonym godkendelse" + +#~ msgid "" +#~ "Displayed chat state notifications in chat windows. Can be one of all, " +#~ "composing_only, disabled." +#~ msgstr "" +#~ "Vis samtale status påmindelser i samtale vinduer. Kan være en af disse: " +#~ "all, composing_only, disabled." + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." +#~ msgstr "" +#~ "Gajim kan sende og modtage meta-information relateret til en samtale du " +#~ "har med en kontakt. Her kan du specificere hvilke typer samtalestatus du " +#~ "vil vise i samtalevinduerne." + +#~ msgid "This is an irreversible operation." +#~ msgstr "Dette er en irreversibel handling." + +#~ msgid "Settings" +#~ msgstr "Opsætning" + +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "Velkommen til Gajims Loghistorie Håndterer" + +#~ msgid "Member List" +#~ msgstr "Medlems Liste" + +#~ msgid "Owner List" +#~ msgstr "Ejer Liste" + +#~ msgid "Administrator List" +#~ msgstr "Administrator Liste" + +#~ msgid "Nick" +#~ msgstr "Kælenavne" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "Hvem vil du bandlyse?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Member…" +#~ msgstr "Tilføj Medlem..." + +#~ msgid "" +#~ "Whom do you want to make a member?\n" +#~ "\n" +#~ msgstr "" +#~ "Hvem vil du gøre til medlem?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Owner…" +#~ msgstr "Tilføj Ejer..." + +#~ msgid "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" +#~ msgstr "" +#~ "Hvem vil du gøre til ejer?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Administrator…" +#~ msgstr "Tilføj Administrator..." + +#~ msgid "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" +#~ msgstr "" +#~ "Hvem vil du gøre til administrator?\n" +#~ "\n" + +#~ msgid "Error reading file:" +#~ msgstr "Fejl ved læsning af fil:" + +#~ msgid "Error parsing file:" +#~ msgstr "Fejl ved fortolkning af fil:" + +#~ msgid "List of possible features in Gajim:" +#~ msgstr "Liste over mulige egenskaber i Gajim: " + +#~ msgid "Description" +#~ msgstr "Beskrivelse" + +#~ msgid "Password encryption" +#~ msgstr "Adgangskodekryptering" + +#~ msgid "On Windows the Windows Credential Vault is used." +#~ msgstr "På Windows bruges Windows Credential Vault." + +#~ msgid "Spellchecking of composed messages." +#~ msgstr "Stavekontrol af forfattede beskeder." + +#~ msgid "Automatic status" +#~ msgstr "Automatisk status" + +#~ msgid "Requires python2.5." +#~ msgstr "Kræver python2.5." + +#~ msgid "" +#~ "Generate XHTML output from RST code (see http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Generer XHTML uddata fra RST kode (se http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html)." + +#, fuzzy +#~ msgid "?features:Available" +#~ msgstr "Tilgængelig" + +#~ msgid "Feature" +#~ msgstr "Egenskab" + +#~ msgid "Filter:" +#~ msgstr "Filter:" + +#~ msgid "Chat Appearance" +#~ msgstr "Samtale udseende" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed out" +#~ msgstr "" +#~ "Gajim vil påminde dig med et pop op vindue i højre bund af skærmen når en " +#~ "kontakt logger af" + +#~ msgid "Sounds" +#~ msgstr "Lyde" + +#~ msgid "Chat state notifications" +#~ msgstr "Samtalestatus påmindelser" + +#, fuzzy +#~ msgid "_Away after" +#~ msgstr "_Væk efter:" + +#~ msgid "" +#~ "If checked, Gajim will change status to Away when the computer is unused." +#~ msgstr "" +#~ "Hvis valgt vil Gajim ændre status til Væk når computeren ikke bliver " +#~ "brugt." + +#, fuzzy +#~ msgid "_Not available after" +#~ msgstr "Ikke tilgæ_ngelig efter:" + +#~ msgid "Auto Status" +#~ msgstr "Automatisk Status" + +#~ msgid "Status Messages" +#~ msgstr "Status Beskeder" + +#, fuzzy +#~ msgid "Audio" +#~ msgstr "Handlinger" + +#, fuzzy +#~ msgid "Video" +#~ msgstr "Mellemnavn:" + +#, fuzzy +#~ msgid "Connection" +#~ msgstr "Betingelser" + +#~ msgid "Custom" +#~ msgstr "Tilpasset Opsætning" + +#~ msgid "Privacy" +#~ msgstr "Privatliv" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "Avanceret Konfigurations Behandler" + +#, fuzzy +#~ msgid "File transfer, room bookmarks" +#~ msgstr "Filoverførsel Fejl" + +#, fuzzy +#~ msgid "XML console interface" +#~ msgstr "XML Konsol" + +#, fuzzy +#~ msgid "" +#~ "A programming error has been detected. It probably is not fatal, but " +#~ "should be reported to the developers nonetheless." +#~ msgstr "" +#~ "Den er sikkert ikke kritisk, men bør alligevel rapporteres til udviklerne." + +#~ msgid "" +#~ "A list of modp groups to use in a Diffie-Hellman, highest preference " +#~ "first, separated by commas. Valid groups are 1, 2, 5, 14, 15, 16, 17 and " +#~ "18. Higher numbers are more secure, but take longer to calculate when you " +#~ "start a session." +#~ msgstr "" +#~ "En liste af modp grupper til at bruges i en Diffie-Hellman, højest " +#~ "præference først, adskilt af kommaer. Gyldige grupper er 1, 2, 5, 14, 15, " +#~ "16, 17 og 18. Højere tal er mere sikre, men tager længere tid at udregne " +#~ "når du starter en session." + +#~ msgid "(ESession info)" +#~ msgstr "(ESession info)" + +#~ msgid "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" +#~ msgstr "" +#~ "Hvis valgt vil Gajim erstatte tekst smileys som denne ':)' med den " +#~ "tilsvarende animerede eller statiske grafiske følelsesikon" + +#, fuzzy +#~ msgid "_Emoticons" +#~ msgstr "Føl_elsesikoner:" + +#~ msgid "_Highlight misspelled words" +#~ msgstr "Frem_hæv stavefejl" + +#, fuzzy +#~ msgid "Notify by icon when your messages are received" +#~ msgstr "Lyd som spilles når en hvilken som helst MUC besked ankommer." + +#, fuzzy +#~ msgid "T_heme" +#~ msgstr "T_ema:" + +#~ msgid "Themes" +#~ msgstr "Temaer" + +#~ msgid "Always use this nickname when there is a conflict" +#~ msgstr "Altid brug dette kælenavn når der er en konflikt" + +#~ msgid "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." +#~ msgstr "" +#~ "Jabberd1.4 kan ikke lide sha information når man deltager i en " +#~ "adgangskode beskyttet gruppesamtale. Sæt dette valg til Falsk for at " +#~ "stoppe med at sende sha information i gruppesamtaler." + +#, fuzzy +#~ msgid "Presence" +#~ msgstr "_Tilstedeværelse" + +#~ msgid "Emoticons disabled" +#~ msgstr "Følelsesikoner er ikke aktiveret" + +#, fuzzy +#~ msgid "" +#~ "Your configured emoticons theme could not be loaded. See the log for more " +#~ "details." +#~ msgstr "" +#~ "Dit konfigurerede følelsesikon tema blev ikke fundet, så følelsesikoner " +#~ "er blevet deaktiveret." + +#~ msgid "You cannot make changes to the default theme" +#~ msgstr "Du kan ikke lave ændringer til standard temaet" + +#~ msgid "theme name" +#~ msgstr "Tema navn" + +#~ msgid "You cannot delete your current theme" +#~ msgstr "Du kan ikke slette det nuværende tema" + +#~ msgid "New Single Message from %(nickname)s" +#~ msgstr "Ny Besked fra %(nickname)s" + +#~ msgid "New Private Message from group chat %s" +#~ msgstr "Ny Privat Besked fra gruppe samtale %s" + +#~ msgid "%(nickname)s: %(message)s" +#~ msgstr "%(nickname)s: %(message)s" + +#~ msgid "Messaged by %(nickname)s" +#~ msgstr "Besked fra %(nickname)s" + +#~ msgid "Status message text color." +#~ msgstr "Status besked farve på tekst." + +#~ msgid "Incoming nickname font." +#~ msgstr "Udgående farve på kælenavn." + +#~ msgid "Outgoing nickname font." +#~ msgstr "Udgående font på kælenavn." + +#~ msgid "Status message text font." +#~ msgstr "Status besked font på tekst" + +#~ msgid "Background color of contacts when they just signed in." +#~ msgstr "Baggrundsfarve på kontakter når de netop har tilsluttet sig." + +#~ msgid "Background color of contacts when they just signed out." +#~ msgstr "Baggrundsfarve på kontakter når de netop har afbrudt tilslutningen." + +#~ msgid "green" +#~ msgstr "grøn" + +#~ msgid "grocery" +#~ msgstr "købmandsvarer" + +#~ msgid "human" +#~ msgstr "menneske" + +#~ msgid "marine" +#~ msgstr "marint" + +#, fuzzy +#~ msgid "Contact row" +#~ msgstr "Kontakt" + +#~ msgid "Gajim Themes Customization" +#~ msgstr "Gajim Tema Tilpasning" + +#~ msgid "Text _color:" +#~ msgstr "Tekst _farve:" + +#~ msgid "_Background:" +#~ msgstr "_Baggrund:" + +#~ msgid "Text _font:" +#~ msgstr "Tekst _font:" + +#~ msgid "Font style:" +#~ msgstr "Font stil:" + +#~ msgid "Paused" +#~ msgstr "Sat på pause" + +#~ msgid "Gone" +#~ msgstr "Borte" + +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "" +#~ "MUC\n" +#~ "Beskeder" + +#~ msgid "Chatstate Tab Colors" +#~ msgstr "Samtalestatus Fane Farver" + +#, fuzzy +#~ msgid "Chat message" +#~ msgstr "Samtale besked:" + +#~ msgid "Use system _default" +#~ msgstr "Brug system stan_dard" + +#~ msgid "Font" +#~ msgstr "Skrifttype" + +#, fuzzy +#~ msgid "Contact's nickname" +#~ msgstr "Kontakt navn" + +#, fuzzy +#~ msgid "_Status message" +#~ msgstr "_Status besked:" + +#, fuzzy +#~ msgid "Your message" +#~ msgstr "Fejl besked: %s" + +#, fuzzy +#~ msgid "_URL highlight" +#~ msgstr "_URL fremhævning:" + +#~ msgid "Chat Line Colors" +#~ msgstr "Samtalelinie Farver" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#~ msgid "Resource:" +#~ msgstr "Ressource:" + +#~ msgid "Status:" +#~ msgstr "Status:" + +#~ msgid "Contact time:" +#~ msgstr "Kontakt tid:" + +#~ msgid "Ask:" +#~ msgstr "Spørg:" + +#~ msgid "Subscription:" +#~ msgstr "Abonnering:" + +#~ msgid "Name:" +#~ msgstr "Navn:" + +#~ msgid "Nickname:" +#~ msgstr "Kælenavn:" + +#~ msgid "Street:" +#~ msgstr "Gade:" + +#~ msgid "City:" +#~ msgstr "By:" + +#~ msgid "State:" +#~ msgstr "Stat:" + +#~ msgid "Extra Address:" +#~ msgstr "Ekstra Adresse:" + +#~ msgid "Postal Code:" +#~ msgstr "Postnummer:" + +#~ msgid "Country:" +#~ msgstr "Land:" + +#~ msgid "Homepage:" +#~ msgstr "Hjemmeside:" + +#~ msgid "E-Mail:" +#~ msgstr "E-post:" + +#~ msgid "Phone No.:" +#~ msgstr "Telefonnr.:" + +#~ msgid "Birthday:" +#~ msgstr "Fødselsdag:" + +#~ msgid "Family:" +#~ msgstr "Efternavn:" + +#~ msgid "Middle:" +#~ msgstr "Mellemnavn:" + +#~ msgid "Prefix:" +#~ msgstr "Titel:" + +#~ msgid "Given:" +#~ msgstr "Fornavn:" + +#~ msgid "Suffix:" +#~ msgstr "Endetillæg:" + +#~ msgid "Full Name" +#~ msgstr "Fuldt Navn" + +#~ msgid "Company:" +#~ msgstr "Firma:" + +#~ msgid "Department:" +#~ msgstr "Afdeling:" + +#~ msgid "Position:" +#~ msgstr "Stilling:" + +#~ msgid "Role:" +#~ msgstr "Rolle:" + +#~ msgid "- messages will be logged" +#~ msgstr "- beskeder vil blive logget" + +#~ msgid "- messages will not be logged" +#~ msgstr "- beskeder vil ikke blive logget" + +#~ msgid "Edit %s" +#~ msgstr "Rediger %s" + +#~ msgid "Conversation History with %s" +#~ msgstr "Konversations Historik med %s" + +#~ msgid "Contact with \"%s\" cannot be established" +#~ msgstr "Kontakt med \"%s\" kan ikke blive etableret" + +#~ msgid "Registration information for transport %s has not arrived in time" +#~ msgstr "" +#~ "Registrerings information for transporten %s har ikke ankommet i tide" + +#~ msgid "Register to" +#~ msgstr "Registrer til" + +#, fuzzy +#~ msgid "Enter name / JID of contact or groupchat" +#~ msgstr "Kontakt navn" + +#~ msgid "Search:" +#~ msgstr "Søg:" + +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "Du kan kun ændre din adgangskode hvis du er tilsluttet." + +#~ msgid "Invalid password" +#~ msgstr "Ugyldig adgangskode" + +#~ msgid "The passwords typed in both fields must be identical." +#~ msgstr "Adgangskoderene i de to tekstindtastningsfelter må være identiske." + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "Skriv adgangskoden igen for at bekræfte:" + +#~ msgid "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" +#~ msgstr "" +#~ "JID %s er ikke RFC føjelig. Den vil ikke blive tilføjet til dit " +#~ "kontaktvindue. Brug kontaktvindue håndterings redskaber som http://jru." +#~ "jabberstudio.org/ til at fjerne det." + +#~ msgid "unsubscribe request from %s" +#~ msgstr "forespørsel om ophør på abonnement fra %s" + +#, fuzzy +#~ msgid "Homepage:" +#~ msgstr "Hjemmeside:" + +#~ msgid "Manage Bookmarks" +#~ msgstr "Håndter Bogmærker" + +#~ msgid "_Nickname:" +#~ msgstr "_Kælenavn:" + +#, fuzzy +#~ msgid "Pr_int status:" +#~ msgstr "Skriv status:" + +#, fuzzy +#~ msgid "Add JID" +#~ msgstr "Jabber ID" + +#, fuzzy +#~ msgid "Preference:" +#~ msgstr "Indstillinger" + +#, fuzzy +#~ msgid "Preference" +#~ msgstr "Indstillinger" + +#, fuzzy +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "" +#~ "Fyld ind data for den kontakt som du vil tilføje kontoen med navnet %s" + +#~ msgid "Please fill in the data of the contact you want to add" +#~ msgstr "Fyld ind data for den kontakt som du vil tilføje" + +#, fuzzy +#~ msgid "Recently" +#~ msgstr "For nylig:" + +#~ msgid "Add New Contact" +#~ msgstr "Tilføj Ny Kontakt" + +#~ msgid "_User ID:" +#~ msgstr "_Bruger ID:" + +#, fuzzy +#~ msgid "Type User ID" +#~ msgstr "Bruger ID:" + +#, fuzzy +#~ msgid "Type Nickname" +#~ msgstr "Kælenavn" + +#~ msgid "Personal Information" +#~ msgstr "Personlig Information" + +#~ msgid "Avatar:" +#~ msgstr "Avatar:" + +#~ msgid "Click to set your avatar" +#~ msgstr "Tryk for at se din avatar" + +#, fuzzy +#~ msgid "Remove Avatar" +#~ msgstr "Fjern Gruppen" + +#~ msgid "Not fetched because of invisible status" +#~ msgstr "Ikke hentet på grund af usynlig status" + +#~ msgid "Please wait..." +#~ msgstr "Vent venligst..." + +#~ msgid "" +#~ "When negotiating an encrypted session, should Gajim assume you want your " +#~ "messages to be logged?" +#~ msgstr "" +#~ "Ved forhandling af en krypteret session, skal Gajim da antage at du vil " +#~ "have dine beskeder logget?" + +#~ msgid "Log _encrypted chat session" +#~ msgstr "Log krypt_eret samtale session" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will keep logs for encrypted messages. Please note that " +#~ "when using end-to-end encryption the remote party has to agree on " +#~ "logging, else the messages will not be logged." +#~ msgstr "" +#~ "Hvis valgt vil Gajim gemme en log for krypterede beskeder. Vær venligst " +#~ "opmærksom på når der bruges E2E kryptering må den anden i samtalen " +#~ "godkende evt. logning, ellers vil samtalen i blive logget." + +#~ msgid "Yahoo! Address:" +#~ msgstr "Yahoo! Adresse:" + +#~ msgid "Forward unread messages" +#~ msgstr "Videresend ulæste beskeder" + +#~ msgid "All unread messages have been forwarded." +#~ msgstr "Alle ulæste beskeder er blevet videresendt." + +#, fuzzy +#~ msgid "Forward unread message then disconnect" +#~ msgstr "Videresend ulæste beskeder" + +#~ msgid "MSN Address:" +#~ msgstr "MSN Adresse:" + +#~ msgid "Confirm these session options" +#~ msgstr "Bekræft disse sessions indstillinger" + +#, fuzzy +#~ msgid "" +#~ "The remote client wants to negotiate a session with these features:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Are these options acceptable?" +#~ msgstr "" +#~ "Den fjerne klient vil forhandle en session med disse egenskaber:\n" +#~ "\n" +#~ "\t%s\n" +#~ "\n" +#~ "\tKan disse indstillinger godkendes?" + +#~ msgid "" +#~ "The remote client selected these options:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Continue with the session?" +#~ msgstr "" +#~ "Den fjerne klient valgte disse indstillinger:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Fortsæt med sessionen?" + +#, fuzzy +#~ msgid "Always accept for this contact" +#~ msgstr "Er OpenPGP aktiveret for denne kontakt?" + +#~ msgid "End to End message encryption" +#~ msgstr "Ende til Ende besked kryptering" + +#~ msgid "Encrypting chat messages." +#~ msgstr "Krypterer samtale beskeder." + +#~ msgid "Requires python-crypto." +#~ msgstr "Kræver python-crypto." + +#~ msgid "Session negotiation cancelled" +#~ msgstr "Session forhandling annulleret" + +#~ msgid "This session is encrypted" +#~ msgstr "Denne session er krypteret" + +#~ msgid " and WILL be logged" +#~ msgstr " og VIL blive logget" + +#~ msgid " and WILL NOT be logged" +#~ msgstr " og VIL IKKE blive logget" + +#~ msgid "" +#~ "Remote contact's identity not verified. Click the shield button for more " +#~ "details." +#~ msgstr "" +#~ "Kontaktens identitet er ikke verificeret Tryk på skjold knappen for flere " +#~ "detaljer." + +#, fuzzy +#~ msgid "end-to-end encryption disabled" +#~ msgstr "GPG kryptering ikke aktiveret" + +#~ msgid "" +#~ "Unable to decrypt message from %s\n" +#~ "It may have been tampered with." +#~ msgstr "" +#~ "Ikke i stand til at dekryptere beskeden fra %s\n" +#~ "Det er mulig den er blevet forfalsket." + +#~ msgid "Unable to decrypt message" +#~ msgstr "Ikke i stand til at dekryptere beskeden" + +#~ msgid "Enable ESessions encryption for this account." +#~ msgstr "Aktiver ESessions kryptering for denne konto." + +#~ msgid "Should Gajim automatically start an encrypted session when possible?" +#~ msgstr "" +#~ "Skal Gajim automatisk starte en krypteret session når det er muligt?" + +#~ msgid "" +#~ "[This is part of an encrypted session. If you see this message, something " +#~ "went wrong.]" +#~ msgstr "" +#~ "[Dette er en del af en krypteret session. Hvis du ser denne besked gik " +#~ "noget galt.]" + +#~ msgid "Requires python-avahi." +#~ msgstr "Kræver python-avahi." + +#, fuzzy +#~ msgid "Save Image as…" +#~ msgstr "Gem Billede som..." + +#, fuzzy +#~ msgid "Exporting History Logs…" +#~ msgstr "Eksporter Historik Log..." + +#~ msgid "When %s becomes:" +#~ msgstr "Når %s bliver:" + +#~ msgid "Adding Special Notification for %s" +#~ msgstr "Tilføj Speciel Påmindelse for %s" + +#, fuzzy +#~ msgid "" +#~ "It seems the SSL certificate of account %(account)s has changed and is " +#~ "not valid or your connection is being compromised.\n" +#~ "\n" +#~ "Old SHA-1 fingerprint: %(old_sha1)s\n" +#~ "Old SHA-256 fingerprint: %(old_sha256)s\n" +#~ "\n" +#~ "New SHA-1 fingerprint: %(new_sha1)s\n" +#~ "New SHA-256 fingerprint: %(new_sha256)s\n" +#~ "\n" +#~ "Do you still want to connect and update the fingerprint of the " +#~ "certificate?" +#~ msgstr "" +#~ "Det ser ud til at SSL certifikatet for kontoen %(account)s er blevet " +#~ "ændret eller din forbindelse er blevet kompromitteret\n" +#~ "Gammelt fingeraftryk: %(old)s\n" +#~ "Nyt fingeraftryk: %(new)s\n" +#~ "\n" +#~ "Vil du stadig forbinde og opdatere fingeraftrykket for certifikatet?" + +#, fuzzy +#~ msgid "" +#~ "The authenticity of the %s certificate could be invalid.\n" +#~ "The certificate does not cover this domain." +#~ msgstr "Ægtheden af %s certifikatet kan være ugyldig." + +#~ msgid "Unable to load idle module" +#~ msgstr "Ikke i stand til at indlæse tomgangs modulet" + +#, fuzzy +#~ msgid "%s or %s is a directory but should be a file" +#~ msgstr "%s er et katalog men burde være en fil" + +#~ msgid "creating logs database" +#~ msgstr "opretter log database" + +#, fuzzy +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "Send %s til %s" + +#, fuzzy +#~ msgid "Rename account label" +#~ msgstr "Omdøb Konto" + +#, fuzzy +#~ msgid "Send Single Message..." +#~ msgstr "Send en Enkel _Besked..." + +#, fuzzy +#~ msgid "We received an error: {}" +#~ msgstr "Tjeneste returnerede en fejl." + +#~ msgid "E2E encryption disabled" +#~ msgstr "E2E kryptering ikke aktiveret" + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Tilføj dette certifikat til listen af certifikater du har tillid til.\n" +#~ "Certifikatets SHA1 fingeraftryk:\n" +#~ "%s" + +#~ msgid "uri" +#~ msgstr "uri" + +#, fuzzy +#~ msgid "" +#~ "Install /\n" +#~ "Upgrade" +#~ msgstr "Hænger" + +#, fuzzy +#~ msgid "Install/Upgrade" +#~ msgstr "Hænger" + +#~ msgid "cyan" +#~ msgstr "cyan" + +#~ msgid "migrating logs database to indices" +#~ msgstr "flytter log databasen til flere indeks" + +#, fuzzy +#~ msgid "Send File..." +#~ msgstr "Send _Fil..." + +#, fuzzy +#~ msgid "HTTP File Upload not supported by your server" +#~ msgstr "Metakontakt lagring er ikke understøttet af din server" + +#, fuzzy +#~ msgid "Jingle File Transfer" +#~ msgstr "Filoverførsler" + +#~ msgid "" +#~ "Your configured emoticons theme has not been found, so emoticons have " +#~ "been disabled." +#~ msgstr "" +#~ "Dit konfigurerede følelsesikon tema blev ikke fundet, så følelsesikoner " +#~ "er blevet deaktiveret." + +#~ msgid "Shows or hides the roster window" +#~ msgstr "Viser eller gemmer kontaktvinduet" + +#~ msgid "Shows or hides the ipython window" +#~ msgstr "Viser eller gemmer ipython vinduet" + +#, fuzzy +#~ msgid "XMPP account %s" +#~ msgstr "XMPP konto %s@%s" + +#, fuzzy +#~ msgid "Exception" +#~ msgstr "Beskrivelse" + +#~ msgid "" +#~ "someone@somewhere.com would like you to add some contacts " +#~ "in your roster." +#~ msgstr "" +#~ "nogen@etsted.com vil gerne at du tilføjer nogen kontakter i " +#~ "dit kontaktvindue." + +#~ msgid "" +#~ "Ordered list (space separated) of connection type to try. Can contain " +#~ "tls, ssl or plain" +#~ msgstr "" +#~ "En ordnet liste (adskilt af mellemrum) af forbindelses typer som skal " +#~ "prøves. Kan indeholde tls, ssl eller plain" + +#~ msgid "_Actions" +#~ msgstr "_Handlinger" + +#, fuzzy +#~ msgid "Requires upower and python-dbus." +#~ msgstr "Kræver python-dbus." + +#~ msgid "You are already in group chat %s" +#~ msgstr "Du er allerede i en gruppe samtale %s" + +#~ msgid "Join Group Chat with account %s" +#~ msgstr "Deltag i Gruppe Samtale med kontoen %s" + +#~ msgid "" +#~ "You have to choose an account from which you want to join the groupchat." +#~ msgstr "" +#~ "Du må vælge en konto som du vil bruge til at tilslutte gruppe samtalen " +#~ "med." + +#, fuzzy +#~ msgid "Please enter the group chat JID as room@server." +#~ msgstr "Gruppe samtale Jabber ID'en indeholder ikke tilladte tegn." + +#, fuzzy +#~ msgid "The group chat JID contains invalid characters." +#~ msgstr "Gruppe samtale Jabber ID'en indeholder ikke tilladte tegn." + +#~ msgid "Start Chat with account %s" +#~ msgstr "Start en samtale med konto %s" + +#, fuzzy +#~ msgid "" +#~ "Fill in the nickname or the JID of the contact you would like\n" +#~ "to send a chat message to:" +#~ msgstr "" +#~ "Udfyld kælenavnet eller Jabber ID'en for den kontakt du vil sende\n" +#~ "en besked til:" + +#, fuzzy +#~ msgid "Nickname / JID" +#~ msgstr "Ugyldigt Jabber ID" + +#~ msgid "Unable to parse \"%s\"." +#~ msgstr "Kan ikke fortolke \"%s\"." + +#~ msgid "Shows the chat dialog so that you can send messages to a contact" +#~ msgstr "Vis samtale vinduet så du kan sende beskeder til en kontakt" + +#~ msgid "JID of the contact that you want to chat with" +#~ msgstr "Kontaktens JID som du vil samtale med" + +#~ msgid "message content. The account must be specified or \"\"" +#~ msgstr "besked indhold. Kontoen må specificeres eller \"\"" + +#~ msgid "Adds contact to roster" +#~ msgstr "Tilføjer kontakt til kontaktvinduet" + +#~ msgid "jid" +#~ msgstr "jid" + +#~ msgid "Adds new contact to this account" +#~ msgstr "Tilføjer ny kontakt til denne konto" + +#~ msgid "Opens 'Start Chat' dialog" +#~ msgstr "Åbner 'Start Samtale' vinduet" + +#~ msgid "Starts chat, using this account" +#~ msgstr "Starter en samtale med denne konto" + +#, fuzzy +#~ msgid "Handle a xmpp:/ URI" +#~ msgstr "Håndter en xmpp:/ uri" + +#~ msgid "URI to handle" +#~ msgstr "URI som skal håndteres" + +#~ msgid "Account in which you want to handle it" +#~ msgstr "Den konto som du vil håndtere det med" + +#~ msgid "Message content" +#~ msgstr "Besked indhold" + +#~ msgid "Join a MUC room" +#~ msgstr "Deltag i et MUC rum" + +#~ msgid "Nickname to use" +#~ msgstr "Kælenavn som skal bruges" + +#~ msgid "Password to enter the room" +#~ msgstr "Adgangskode for at slutte sig til rummet" + +#~ msgid "Account from which you want to enter the room" +#~ msgstr "Vælg den konto som du vil slutte dig til rummet med" + +#, fuzzy +#~ msgid "Wrong URI" +#~ msgstr "Forkert uri" + +#~ msgid "Nickname:" +#~ msgstr "Kælenavn:" + +#~ msgid "Server:" +#~ msgstr "Server:" + +#, fuzzy +#~ msgid "Join this room _automatically when I connect" +#~ msgstr "Bliv med i dette rum automatisk når jeg tilsutter" + +#, fuzzy +#~ msgid "Bro_wse Rooms" +#~ msgstr "_Gennemse" + +#, fuzzy +#~ msgid "Requires libgtkspell and libenchant." +#~ msgstr "Kræver libgtkspell." + +#, fuzzy +#~ msgid "Network-Watcher" +#~ msgstr "Network-manager" + +#~ msgid "Autodetection of network status." +#~ msgstr "Automatisk opdagelse af netværksstatus." + +#, fuzzy +#~ msgid "Requires gnome-network-manager" +#~ msgstr "Kræver gnome-network-manager og python-dbus." + +#, fuzzy +#~ msgid "Feature not available, see Help->Features" +#~ msgstr "Egenskab ikke tilgængelig under Windows." + +#~ msgid "This contact does not support file transfer." +#~ msgstr "Denne kontakt understøtter ikke fil overførsler." + +#, fuzzy +#~ msgid "You need to know the real JID of the contact to send them a file." +#~ msgstr "" +#~ "Du trænger den rigtige JID fra kontakten for at kunne sende ham eller " +#~ "hende en fil." + +#~ msgid "" +#~ "You have to install %s dictionary to use spellchecking, or choose another " +#~ "language by setting the speller_language option." +#~ msgstr "" +#~ "For at bruge stavekontrollen må du installer en %s ordbog, eller vælge et " +#~ "andet sprog ved indstillingen for sprog til stavekontrollen." + +#~ msgid "Hides the buttons in chat windows." +#~ msgstr "Skjuler knapperne i samtale vinduer." + +#~ msgid "Change the room's subject (Alt+T)" +#~ msgstr "Ændre emne for rummet (Alt+T)" + +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "Bogmærk dette rom (Ctrl+B)" + +#~ msgid "Browse the chat history (Ctrl+H)" +#~ msgstr "Gennemse samtale historik (Ctrl+H)" + +#, fuzzy +#~ msgid "Show advanced functions (Alt+D)" +#~ msgstr "Vis en menu med avancerede funktioner (Alt+A)" + +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "Tilføj denne kontakt til kontaktvinduet (Ctrl+D)" + +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "Inviter kontakter til samtalen (Ctrl+G)" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Vis kontaktens profil (Ctrl+I)" + +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Vis kontaktens profil (Ctrl+I)" + +#~ msgid "Ma_ke message windows compact" +#~ msgstr "Gør samtalevinduer _kompakte" + +#~ msgid "Hide all buttons in chat windows" +#~ msgstr "Skjul alle knapperne i samtale vinduer." + +#~ msgid "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." +#~ msgstr "" +#~ "Hvis Sandt, vil Gajim spørge for en avatar for hver kontakt som ikke " +#~ "havde en avatar sidste gang eller har en gemt som er for gammel." + +#~ msgid "Disk Write Error" +#~ msgstr "Disk skrivefejl" + +#~ msgid "Set Custom _Avatar..." +#~ msgstr "Angiv Personlig _Avatar..." + +#, fuzzy +#~ msgid "SSL certificate validation" +#~ msgstr "SSL certifikat validering" + +#~ msgid "" +#~ "A library used to validate server certificates to ensure a secure " +#~ "connection." +#~ msgstr "" +#~ "Et bibliotek brugt til at validere server certifikater for at sikre en " +#~ "sikker forbindelse." + +#, fuzzy +#~ msgid "Requires python-pyopenssl > 0.12 and pyasn1." +#~ msgstr "Kræver python-pyopenssl." + +#, fuzzy +#~ msgid "?CLI:room" +#~ msgstr "rum" + +#, fuzzy +#~ msgid "?CLI:nick" +#~ msgstr "kælenavn" + +#, fuzzy +#~ msgid "?CLI:password" +#~ msgstr "adgangskode" + +#~ msgid "Use D-Bus and Notification-Daemon to show notifications" +#~ msgstr "" +#~ "Brug D-Bus og Påmindelses-dæmonen (Notification-Daemon) til at vise " +#~ "påmindelser" + +#~ msgid "Notification" +#~ msgstr "Påmindelse" + +#~ msgid "Passive popups notifying for new events." +#~ msgstr "Passive pop op vinduer som påminder om nye hændelser." + +#~ msgid "" +#~ "Requires python-notify or instead python-dbus in conjunction with " +#~ "notification-daemon." +#~ msgstr "" +#~ "Kræver python-notify eller python-dbus i forbindelse med påmindelses-" +#~ "dæmonen." + +#~ msgid "Ignore" +#~ msgstr "Ignorer" + +#~ msgid "_Open Gmail Inbox" +#~ msgstr "_Åbn Gmail Indboks" + +#~ msgid "Notify on new _GMail email" +#~ msgstr "Påmind mig ved ny _GMail e-post" + +#~ msgid "" +#~ "If checked, Gajim will show a notification when a new e-mail is received " +#~ "via GMail" +#~ msgstr "" +#~ "Hvis valgt vil Gajim vise en påmindelse når en ny e-post er modtaget via " +#~ "Gmail" + +#~ msgid "Display _extra email details" +#~ msgstr "Vis _ekstra e-post detaljer" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will also include information about the sender of new " +#~ "emails" +#~ msgstr "" +#~ "Hvis valgt vil Gajim også inkludere information om senderen af den nye e-" +#~ "post" + +#~ msgid "GMail Options" +#~ msgstr "GMail Indstillinger" + +#, fuzzy +#~ msgid "20" +#~ msgstr "0" + +#~ msgid "GMail Email Received" +#~ msgstr "GMail E-post Modtaget" + +#, fuzzy +#~ msgid "New e-mail on %(gmail_mail_address)s" +#~ msgstr "Ny e-post på %(gmail_mail_address)s" + +#, fuzzy +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "Du har %d ny e-post samtale" +#~ msgstr[1] "Du har %d nye e-post samtaler" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "From: %(from_address)s\n" +#~ "Subject: %(subject)s\n" +#~ "%(snippet)s" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "Fra: %(from_address)s\n" +#~ "Emne: %(subject)s\n" +#~ "%(snippet)s" + +#~ msgid "Resour_ce:" +#~ msgstr "Ressour_ce:" + +#~ msgid "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" +#~ msgstr "" +#~ "Ressource bliver sendt til Jabber serveren for at separere den samme JID " +#~ "i to eller flere dele afhængig af antallet klienter som tilsluttet til " +#~ "den samme server med den samme konto. Det vil sige du kan være tilsluttet " +#~ "med denne samme konto med ressourcerne 'Hjemme' og 'Arbejde' på den samme " +#~ "tid. Ressourcen med den højeste prioritet vil få hændelserne. (se under)" + +#~ msgid "A_djust to status" +#~ msgstr "_Tilpas til status" + +#~ msgid "Priority will change automatically according to your status." +#~ msgstr "Prioritet vil automatisk ændres ifølge din status." + +#~ msgid "Anonymous authentication" +#~ msgstr "Anonym godkendelse" + +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "Prioritet er brugt i Jabber for at bestemme hvem som får hændelser fra " +#~ "jabber serveren når to eller flere klienter er tilsluttet med den samme " +#~ "konto: Klienten med den højeste prioritet får hændelserne" + +#, fuzzy +#~ msgid "Synchronize contacts" +#~ msgstr "Synkroniser kontakter" + +#~ msgid "Click to request authorization to all contacts of another account" +#~ msgstr "" +#~ "Tryk for at forespørge om autorisering for alle kontakter af en anden " +#~ "konto" + +#~ msgid "Chan_ge Password" +#~ msgstr "Ænd_re Adgangskode" + +#~ msgid "Administration operations" +#~ msgstr "Administrative handlinger" + +#, fuzzy +#~ msgid "Browse..." +#~ msgstr "_Gennemse" + +#, fuzzy +#~ msgid "Certificate is e_ncrypted" +#~ msgstr "Certifikatet afvist" + +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "" +#~ "Hvis valgt vil Gajim vil Gajim, når den startes, automatisk tilslutte sig " +#~ "til jabber med denne konto" + +#, fuzzy +#~ msgid "Synchronize logs with server" +#~ msgstr "Synkroniser kontakter" + +#~ msgid "Synch_ronize account status with global status" +#~ msgstr "Synk_roniser konto status med global status" + +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "Hvis valgt vil en hvilket som helst ændring til den globale status " +#~ "(håndteret med kombinationsfeltet i bunden af kontaktvinduet) ændre " +#~ "status på denne konto" + +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "Hvis valgt vil Gajim rundsende flere IP adresser udover din egen IP " +#~ "adresse, filoverførsler har en større chance for at lykkes." + +#~ msgid "Proxy" +#~ msgstr "Proxy" + +#~ msgid "" +#~ "Check this so Gajim will ask you before sending your password over an " +#~ "insecure connection." +#~ msgstr "" +#~ "Hvis valgt vil Gajim spørge dig før din adgangskode bliver sendt over en " +#~ "usikker forbindelse." + +#~ msgid "Send _keep-alive packets" +#~ msgstr "Send hold-i-live pa_kker" + +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "" +#~ "Hvis valgt vil Gajim sende hold-i-live pakker for at forhindre at " +#~ "tilslutningen afbrydes pga et tidsudløb" + +#~ msgid "Use cust_om hostname/port" +#~ msgstr "Brug tilpasset værtsnavn/p_ort" + +#~ msgid "_Hostname: " +#~ msgstr "_Værtsnavn:" + +#~ msgid "_Port: " +#~ msgstr "_Port: " + +#~ msgid "Choose _Key..." +#~ msgstr "Vælg _Nøgle..." + +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "" +#~ "Hvis valgt vil Gajim hente adgangskoden fra en GPG agent som seahorse" + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#~ msgid "_Edit Personal Information..." +#~ msgstr "R_ediger Personlig Information..." + +#~ msgid "Personal Information" +#~ msgstr "Personlig Information" + +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "Tilslut _når Gajim startes" + +#~ msgid "Synchroni_ze account status with global status" +#~ msgstr "Synk_roniser konto status med global status" + +#~ msgid "Use cust_om port:" +#~ msgstr "Brug pers_onlig port:" + +#~ msgid "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." +#~ msgstr "" +#~ "Hvis den standard port der bruges til indkomne beskeder ikke passer dig " +#~ "eller\n" +#~ "din opsætning kan du vælge en anden her.\n" +#~ "Du bør også ændre opsætning tilsvarende på en evt. brandmur." + +#~ msgid "OpenPGP is not usable on this computer" +#~ msgstr "Det er ikke muligt at bruge OpenPGP på denne computer" + +#~ msgid "To change the account name, you must be disconnected." +#~ msgstr "For at ændre kontonavnet må du afbryde din tilslutning" + +#~ msgid "To change the account name, you must read all pending events." +#~ msgstr "For at ændre kontonavnet må du læse alle ventende hændelser." + +#~ msgid "Account Name Already Used" +#~ msgstr "Kontonavnet er allerede i brug" + +#~ msgid "" +#~ "This name is already used by another of your accounts. Please choose " +#~ "another name." +#~ msgstr "" +#~ "Dette navn er allerede brugt til en af dine andre konti. Vælg venligst et " +#~ "andet navn." + +#~ msgid "Account name cannot be empty." +#~ msgstr "Kontonavnet kan ikke være tomt." + +#~ msgid "Account name cannot contain spaces." +#~ msgstr "Kontonavnet kan ikke indeholde mellemrom." + +#~ msgid "Enter a new name for account %s" +#~ msgstr "Indtast et nyt navn for kontoen %s" + +#, fuzzy +#~ msgid "A JID must be in the form \"user@servername\"." +#~ msgstr "Et Jabber ID må være på formen \"bruger@servernavn\"." + +#~ msgid "No such account available" +#~ msgstr "Ingen konto ved det navn er tilgængelig" + +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "" +#~ "Du må oprette en konto før du kan redigere din personlige information." + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "" +#~ "Uden en tilslutning kan du ikke redigere din personlige information." + +#~ msgid "Your server can't save your personal information." +#~ msgstr "Din server kan ikke gemme din personlige information." + +#~ msgid "Please rename or remove it before enabling link-local messaging." +#~ msgstr "Omdøb eller fjern den før du aktiverer link-local beskeder." + +#~ msgid "THANKS:" +#~ msgstr "TAK:" + +#~ msgid "Could not write to %s. Session Management support will not work" +#~ msgstr "" +#~ "Kunne ikke skrive til %s. Sessions håndterings understøttelse vil ikke " +#~ "virke" + +#~ msgid "Jabber Traffic" +#~ msgstr "Jabber Trafik" + +#~ msgid "_Enable" +#~ msgstr "Aktiv_er" + +#, fuzzy +#~ msgid "Filter" +#~ msgstr "Skrifttype" + +#~ msgid "_IQ" +#~ msgstr "_IQ" + +#~ msgid "Info/Query" +#~ msgstr "Information/Forespørgsel (Info/Query)" + +#~ msgid "XML Input" +#~ msgstr "XML Inddata" + +#~ msgid "XML Console for %s" +#~ msgstr "XML Konsol for %s" + +#, fuzzy +#~ msgid "Idle for:" +#~ msgstr "XML Konsol for %s" + +#, fuzzy +#~ msgid "" +#~ "Request offline status messages from all contacts upon connecting. " +#~ "WARNING: This causes a lot of requests to be sent!" +#~ msgstr "" +#~ "Spørg om offline status beskeder til alle offline kontakter når en " +#~ "forbindelse til en konto bliver etableret. ADVARSEL: Dette forårsager en " +#~ "masse forespørgsler!" + +#~ msgid "Last status: %s" +#~ msgstr "Sidste status: %s" + +#~ msgid " since %s" +#~ msgstr " siden %s" + +#~ msgid "since %s" +#~ msgstr "siden %s" + +#, fuzzy +#~ msgid "Auto" +#~ msgstr "Bliv automatisk med" + +#, fuzzy +#~ msgid "otr" +#~ msgstr "Varm" + +#, fuzzy +#~ msgid "Invalid expire value" +#~ msgstr "Ikke gyldigt server navn" + +#, fuzzy +#~ msgid "There is an error" +#~ msgstr "Tjeneste returnerede en fejl." + +#~ msgid "How many minutes should last lines from previous conversation last." +#~ msgstr "Hvor mange minutter skal sidste linjer fra forrige samtale vare." + +#~ msgid "" +#~ "Your configured emoticons theme cannot been loaded. You maybe need to " +#~ "update the format of emoticons.py file. See http://trac.gajim.org/wiki/" +#~ "Emoticons for more details." +#~ msgstr "" +#~ "Dit konfigurerede følelsesikon tema kan ikke findes. Du er måske nød til " +#~ "at opdatere formatet for filen emoticons.py. Se http://trac.gajim.org/" +#~ "wiki/Emoticons for flere detaljer." + +#~ msgid "You will be connected to %s without OpenPGP." +#~ msgstr "Du vil blive tilsluttet til %s uden OpenPGP." + +#~ msgid "The following message was NOT encrypted" +#~ msgstr "Den følgende besked var IKKE krypteret" + +#~ msgid "Toggle Open_PGP Encryption" +#~ msgstr "Slå til/fra Open_PGP Kryptering" + +#~ msgid "Toggle End to End Encryption" +#~ msgstr "Slå til/fra ende til ende Kryptering" + +#, fuzzy +#~ msgid "OpenPGP encryption enabled" +#~ msgstr "GPG kryptering aktiveret" + +#, fuzzy +#~ msgid "No OpenPGP key assigned" +#~ msgstr "Ingen GPG nøgle valgt" + +#, fuzzy +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages with OpenPGP." +#~ msgstr "" +#~ "Ingen GPG nøgle er valgt for denne kontakt. Derfor kan du ikke kryptere " +#~ "beskeder med GPG." + +#~ msgid "Session WILL be logged" +#~ msgstr "Session VIL blive logget" + +#~ msgid "Session WILL NOT be logged" +#~ msgstr "Session VIL IKKE blive logget" + +#~ msgid "is" +#~ msgstr "er" + +#~ msgid "is NOT" +#~ msgstr "er IKKE" + +#~ msgid "will" +#~ msgstr "vil" + +#~ msgid "will NOT" +#~ msgstr "vil IKKE" + +#~ msgid "The following message was encrypted" +#~ msgstr "Den følgende besked var krypteret" + +#, fuzzy +#~ msgid "Toggle the OpenPGP encryption" +#~ msgstr "Slå til/fra Open_PGP Kryptering" + +#~ msgid "" +#~ "Should Gajim automatically start an encrypted session with this contact " +#~ "when possible?" +#~ msgstr "" +#~ "Skal Gajim automatisk starte en krypteret session med denne kontakt når " +#~ "det er muligt?" + +#~ msgid "Neither the remote presence is signed, nor a key was assigned." +#~ msgstr "" +#~ "Den fjerne tilstedeværelse er ikke signeret og en nøgle blev ikke angivet." + +#~ msgid "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "Kontaktens nøgle (%s) passer ikke til den angivne nøgle i Gajim." + +#~ msgid "[This message is *encrypted* (See :XEP:`27`]" +#~ msgstr "[Denne besked er *krypteret* (Se :XEP:`27`]" + +#~ msgid "" +#~ "Your chat session with %(jid)s is encrypted.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "Din samtale session med %(jid)s er krypteret.\n" +#~ "\n" +#~ "Denne sessions Korte Ægtheds Streng er: %(sas)s" + +#~ msgid "You have already verified this contact's identity." +#~ msgstr "Du har allerede verificeret denne kontakts identitet." + +#~ msgid "Contact's identity verified" +#~ msgstr "Kontaktens identitet er verificeret" + +#~ msgid "" +#~ "To be certain that only the expected person can read your messages " +#~ "or send you messages, you need to verify their identity by clicking the " +#~ "button below." +#~ msgstr "" +#~ "For at være sikker på at kun den person du forventer kan læse dine " +#~ "beskeder eller sende dig beskeder, må du verificere deres identitet ved " +#~ "at trykke på knappen under." + +#~ msgid "Contact's identity NOT verified" +#~ msgstr "Kontaktens identitet er IKKE verificeret" + +#, fuzzy +#~ msgid "Verify…" +#~ msgstr "Efterprø_v" + +#~ msgid "Have you verified the contact's identity?" +#~ msgstr "Har du bekræftet den kontaktens identitet?" + +#~ msgid "" +#~ "To prevent talking to an unknown person, you should speak to %(jid)s directly (in person or on the phone) and verify that they see the same " +#~ "Short Authentication String (SAS) as you.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "For at forhindre at du snakker til en ukendt person, bør du snakke " +#~ "direkte til %(jid)s (person til person, eller på telefonen) og " +#~ "verificere at de ser den samme Korte Ægtheds Streng (KÆS) som dig.\n" +#~ "\n" +#~ "Denne sessions Korte Ægtheds Streng: %(sas)s" + +#~ msgid "Did you talk to the remote contact and verify the SAS?" +#~ msgstr "Har du snakket med den fjerne kontakt og verificeret KÆS?" + +#~ msgid "" +#~ "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "" +#~ "Kontaktens nøgle (%s) passer ikke til den angivne nøgle i Gajim." + +#, fuzzy +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages." +#~ msgstr "" +#~ "Ingen GPG nøgle er tildelt denne kontakt. Derfor kan du ikke kryptere " +#~ "beskeder." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP key is assigned to this contact, but you do not trust their " +#~ "key, so message cannot be encrypted. Use your OpenPGP client " +#~ "to trust their key." +#~ msgstr "" +#~ "GPG nøgle er tildelt til denne kontakt, men du stoler ikke på denne " +#~ "nøgle, så beskeder kan ikke krypteres. Brug din GPG klient til " +#~ "at ændre dette." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP Key is assigned to this contact, and you trust their key, so " +#~ "messages will be encrypted." +#~ msgstr "" +#~ "GPG Nøgle er tildet til denne kontakt, og du stoler på denne nøgle, så " +#~ "beskeder vil blive krypteret." + +#~ msgid "" +#~ "This icon indicates that this message has not yet\n" +#~ "been received by the remote end. If this icon stays\n" +#~ "for a long time, it's likely the message got lost." +#~ msgstr "" +#~ "Dette ikon indikerer at denne besked endnu ikke\n" +#~ "er blevet modtaget i den anden ende. Hvis dette\n" +#~ "ikon forbliver på skærmen længe er det sandsynlig\n" +#~ "at beskeden gik tabt." + +#~ msgid "" +#~ "If True, listen to D-Bus signals from NetworkManager and change the " +#~ "status of accounts (provided they do not have listen_to_network_manager " +#~ "set to False and they sync with global status) based upon the status of " +#~ "the network connection." +#~ msgstr "" +#~ "Hvis Sandt, lyt til D-Bus signaler fra NetworkManager og ændre status på " +#~ "konti (forudsat at de ikke har listen_to_network_manager sat til Falsk og " +#~ "de synkroniserer med global status) baseret på status af " +#~ "netværksforbindelsen." + +#~ msgid "" +#~ "The database file (%s) cannot be read. Try to repair it or remove it (all " +#~ "history will be lost)." +#~ msgstr "" +#~ "Database filen (%s) kan ikke læses. Prøv at reparere den eller fjerne den " +#~ "(hele historikken vil tabes)." + +#~ msgid "Database cannot be read." +#~ msgstr "Database kan ikke læses." + +#~ msgid "A message from a non-valid JID arrived, it has been ignored." +#~ msgstr "" +#~ "En besked fra en ugyldig JID blev modtaget, den er blevet ignoreret." + +#~ msgid "Smooth scroll message in conversation window" +#~ msgstr "Udglattet rulning af beskeder i samtale vinduet" + +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "Rediger _Privatlivs Liste..." + +#~ msgid "_Administrator" +#~ msgstr "_Administrator" + +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "Send en besked til brugere som er tilsluttet denne server" + +#~ msgid "Sets Message of the Day" +#~ msgstr "Sæt Dagens Besked" + +#~ msgid "Updates Message of the Day" +#~ msgstr "Opdater Dagens Besked" + +#~ msgid "Deletes Message of the Day" +#~ msgstr "Slet Dagens Besked" + +#~ msgid "Add _Contact..." +#~ msgstr "_Tilføj Kontakt..." + +#~ msgid "Profile, A_vatar" +#~ msgstr "Profil, A_vatar" + +#~ msgid "File _Transfers" +#~ msgstr "Filover_førsler" + +#~ msgid "Help online" +#~ msgstr "Hjælp på net" + +#~ msgid "Frequently Asked Questions (online)" +#~ msgstr "Ofte Stillede Spørgsmål (på net)" + +#~ msgid "Fea_tures" +#~ msgstr "_Egenskaber" + +#~ msgid "to %s account" +#~ msgstr "til %s konto" + +#~ msgid "using %s account" +#~ msgstr "bruger %s konto" + +#~ msgid "of account %s" +#~ msgstr "fra konto %s" + +#~ msgid "for account %s" +#~ msgstr "for konto %s" + +#~ msgid "" +#~ "By removing this contact you also remove authorization resulting in him " +#~ "or her always seeing you as offline." +#~ msgstr "" +#~ "Ved at fjerne denne kontakt fjerner du også godkendelsen, så han eller " +#~ "hun vil altid se dig som offline." + +#~ msgid "Message Body xmpp.org/getting-started" +msgstr "" +"xmpp.org/getting-started" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "Ein Vergleich der Features einiger Server" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" +"conversations.im/compliance" + +#: gajim/data/gui/account_wizard.ui:646 +msgid "_Please choose a server" +msgstr "_Bitte wähle einen Server" + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "Anonym registrieren" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "Hinweis: Anonyme Konten sind nicht auf allen Servern möglich" + +#: gajim/data/gui/application_menu.ui:8 +msgid "_Start / Join Chat…" +msgstr "Chat _starten / beitreten…" + +#: gajim/data/gui/application_menu.ui:13 +msgid "Create _Group Chat…" +msgstr "_Gruppenchat erstellen…" + +#: gajim/data/gui/application_menu.ui:18 +msgid "_History Manager" +msgstr "Unter_haltungsverläufe verwalten" + +#: gajim/data/gui/application_menu.ui:22 +msgid "Pl_ugins" +msgstr "Pl_ugins" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +msgid "_Preferences" +msgstr "_Einstellungen" + +#: gajim/data/gui/application_menu.ui:36 +msgid "_Accounts" +msgstr "Kont_en" + +#: gajim/data/gui/application_menu.ui:39 +msgid "_View" +msgstr "Ansi_cht" + +#: gajim/data/gui/application_menu.ui:46 +msgid "Show _Offline Contacts" +msgstr "Abgemeldete K_ontakte anzeigen" + +#: gajim/data/gui/application_menu.ui:50 +msgid "Show _Active Contacts" +msgstr "Nur _aktive Kontakte anzeigen" + +#: gajim/data/gui/application_menu.ui:54 +msgid "Show _Transports" +msgstr "_Transporte anzeigen" + +#: gajim/data/gui/application_menu.ui:60 +msgid "_XML Console" +msgstr "_XML-Konsole" + +#: gajim/data/gui/application_menu.ui:64 +msgid "_File Transfer" +msgstr "Date_iübertragung" + +#: gajim/data/gui/application_menu.ui:74 +msgid "_Help" +msgstr "_Hilfe" + +#: gajim/data/gui/application_menu.ui:77 +msgid "_Wiki (Online)" +msgstr "_Wiki (online)" + +#: gajim/data/gui/application_menu.ui:81 +msgid "FA_Q (Online)" +msgstr "FA_Q (online)" + +#: gajim/data/gui/application_menu.ui:85 +msgid "_Keyboard Shortcuts" +msgstr "Tasten_kürzel" + +#: gajim/data/gui/application_menu.ui:89 +msgid "_Features" +msgstr "_Features" + +#: gajim/data/gui/application_menu.ui:93 +msgid "_About" +msgstr "Übe_r" + +#: gajim/data/gui/filetransfer_progress.ui:125 +msgid "Speed" +msgstr "Geschwindigkeit" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "Verbleibende Zeit" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +msgid "OK" +msgstr "OK" + +#: gajim/data/gui/plugins_window.ui:55 +msgid "Install Plugin from ZIP-File" +msgstr "Plugin aus ZIP-Datei installieren" + +#: gajim/data/gui/plugins_window.ui:56 +msgid "Install from File…" +msgstr "Von Datei installieren…" + +#: gajim/data/gui/plugins_window.ui:70 +msgid "Uninstall Plugin" +msgstr "Plugin deinstallieren" + +#: gajim/data/gui/plugins_window.ui:116 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:133 +msgid "Plugin Settings" +msgstr "Plugin-Konfiguration" + +#: gajim/data/gui/plugins_window.ui:215 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:239 +msgid "Version" +msgstr "Version" + +#: gajim/data/gui/plugins_window.ui:271 +msgid "Authors" +msgstr "Autoren" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +msgid "Homepage" +msgstr "Website" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:349 +msgid "Installed" +msgstr "Installiert" + +# TODO mark as donottranslate? +# TODO unify speliing of plug-in, plugin +#: gajim/data/gui/plugins_window.ui:363 +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "" +"Plugin Beschreibung. Dieser Text wird bei der Initialisierung des Plugin-" +"Fensters gelöscht." + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +msgid "Synchronise contacts" +msgstr "Kontakte synchronisieren" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "Das Konto auswählen, mit dem du dich synchronisieren möchtest" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "Öffentlich oder Privat?" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" +"Privat: Wenn du verschlüsselt schreiben willst, dann benötigst du " +"typischerweise einen privaten Gruppenchat. Du musst Kontakte einladen, damit " +"sie beitreten können." + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "Öffentlich: Jeder, der die Adresse kennt, kann beitreten." + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +msgid "_Name" +msgstr "_Name" + +#: gajim/data/gui/groupchat_creation.ui:122 +msgid "_Description" +msgstr "_Beschreibung" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "Ö_ffentlich" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +msgid "_Address" +msgstr "_Adresse" + +#: gajim/data/gui/groupchat_creation.ui:278 +msgid "_Account" +msgstr "K_onto" + +#: gajim/data/gui/profile.ui:33 +msgid "Contact Infos" +msgstr "Kontaktinformationen" + +#: gajim/data/gui/profile.ui:45 +msgid "Picture and Name" +msgstr "Profilbild und Name" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "" +"Mache dein Profil für jeden sichtbar oder ausschließlich für deine Kontakte." + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "Dein Profilbild entfernen" + +#: gajim/data/gui/profile.ui:198 +msgid "Change your profile picture" +msgstr "Dein Profilbild ändern" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "" +"Gib deinen Spitznamen ein. Mit diesem Namen wirst du deinen Kontakten " +"angezeigt." + +#: gajim/data/gui/profile.ui:298 +msgid "Add Entry" +msgstr "Eintrag hinzufügen" + +#: gajim/data/gui/profile.ui:410 +msgid "Update" +msgstr "Aktualisieren" + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "HTTP" + +#: gajim/data/gui/manage_proxies.ui:15 +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "SOCKS5" + +#: gajim/data/gui/manage_proxies.ui:65 +msgid "Add Proxy" +msgstr "Proxy hinzufügen" + +#: gajim/data/gui/manage_proxies.ui:79 +msgid "Remove Proxy" +msgstr "Proxy entfernen" + +#: gajim/data/gui/manage_proxies.ui:131 +msgid "Pass_word" +msgstr "Pass_wort" + +#: gajim/data/gui/manage_proxies.ui:156 +msgid "Use proxy auth_entication" +msgstr "Authentifizierung _verwenden" + +#: gajim/data/gui/manage_proxies.ui:176 +msgid "_Username" +msgstr "_Benutzername" + +#: gajim/data/gui/manage_proxies.ui:237 +msgid "_Host" +msgstr "_Host" + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "Lokale JID:" + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "XMPP-Ressource:" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "Status:" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +msgid "_Store conversation history" +msgstr "Unterhaltung_sverlauf speichern" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +msgid "Contact" +msgstr "Kontakt" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +msgid "First Name:" +msgstr "Vorname:" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +msgid "Last Name:" +msgstr "Nachname:" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +msgid "XMPP Address:" +msgstr "XMPP-Adresse:" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "E-Mail:" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +msgid "Personal" +msgstr "Persönlich" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "_Status" + +#: gajim/data/gui/account_context_menu.ui:20 +msgid "_Personal Events" +msgstr "_Persönliche Ereignisse" + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "Kont_akt hinzufügen..." + +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "_Dienste durchsuchen" + +#: gajim/data/gui/account_context_menu.ui:57 +msgid "_Execute Command..." +msgstr "B_efehl ausführen..." + +#: gajim/data/gui/account_context_menu.ui:65 +msgid "_View Server Info" +msgstr "Server-Informationen _anzeigen" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" +"Starte einen neuen Chat, tritt einem Gruppenchat bei oder suche weltweit " +"nach neuen Gruppenchats. Du kannst auch eine XMPP-Adresse eingeben." + +#: gajim/data/gui/start_chat_dialog.ui:125 +msgid "Global Group Chat Search" +msgstr "Weltweite Suche nach Gruppenchats" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +msgid "_Back" +msgstr "_Zurück" + +#: gajim/data/gui/start_chat_dialog.ui:386 +msgid "Select Account" +msgstr "Konto auswählen" + +#: gajim/data/gui/start_chat_dialog.ui:477 +msgid "_Select" +msgstr "_Auswählen" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" +"Keine Kontakte gefunden\n" +"Du kannst auch eine XMPP-Adresse eingeben" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +msgid "Configure" +msgstr "Konfigurieren" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +msgid "Create new post" +msgstr "Neuen Beitrag erstellen" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "Sta_tus" + +#: gajim/data/gui/systray_context_menu.ui:20 +msgid "_Start Chat..." +msgstr "Chat _starten..." + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "Einzelne _Nachricht senden..." + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "Zeige alle neuen _Ereignisse" + +#: gajim/data/gui/systray_context_menu.ui:52 +msgid "Mute Sounds" +msgstr "Klänge stummschalten" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +msgid "Contact List" +msgstr "Kontaktliste" + +#: gajim/data/gui/shortcuts_window.ui:24 +msgid "Create new group chat" +msgstr "Neuen Gruppenchat erstellen" + +#: gajim/data/gui/shortcuts_window.ui:45 +msgid "File transfers" +msgstr "Dateiübertragungen" + +#: gajim/data/gui/shortcuts_window.ui:52 +msgid "Set the status message" +msgstr "Statusnachricht festlegen" + +#: gajim/data/gui/shortcuts_window.ui:59 +msgid "Show XML console" +msgstr "XML-Konsole anzeigen" + +#: gajim/data/gui/shortcuts_window.ui:74 +msgid "Appearance" +msgstr "Erscheinungsbild der Kontaktliste" + +#: gajim/data/gui/shortcuts_window.ui:79 +msgid "Show offline contacts" +msgstr "Abgemeldete Kontakte anzeigen" + +#: gajim/data/gui/shortcuts_window.ui:86 +msgid "Show only active contacts" +msgstr "Nur aktive Kontakte anzeigen" + +#: gajim/data/gui/shortcuts_window.ui:93 +msgid "Enable contact list filtering" +msgstr "Aktiviere Filterung in der Kontaktliste" + +#: gajim/data/gui/shortcuts_window.ui:100 +msgid "Show / hide contact list" +msgstr "Kontaktliste zeigen / verbergen" + +#: gajim/data/gui/shortcuts_window.ui:113 +msgid "Contact information" +msgstr "Kontaktinformationen" + +#: gajim/data/gui/shortcuts_window.ui:120 +msgid "Rename contact" +msgstr "Kontakt umbenennen" + +#: gajim/data/gui/shortcuts_window.ui:127 +msgid "Delete contact" +msgstr "Kontakt löschen" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +msgid "Chat" +msgstr "Chat" + +#: gajim/data/gui/shortcuts_window.ui:142 +msgid "Message composition" +msgstr "Verfassen" + +#: gajim/data/gui/shortcuts_window.ui:147 +msgid "Send the message" +msgstr "Senden der Nachricht" + +#: gajim/data/gui/shortcuts_window.ui:154 +msgid "Add new line" +msgstr "Neue Zeile hinzufügen" + +#: gajim/data/gui/shortcuts_window.ui:161 +msgid "Select an emoji" +msgstr "Emoji einfügen" + +#: gajim/data/gui/shortcuts_window.ui:168 +msgid "Complete a command or a nickname" +msgstr "Einen Befehl oder einen Spitznamen vervollständigen" + +#: gajim/data/gui/shortcuts_window.ui:175 +msgid "Previously sent message" +msgstr "Vorige gesendete Nachricht" + +#: gajim/data/gui/shortcuts_window.ui:182 +msgid "Next sent messages" +msgstr "Nächste gesendete Nachricht" + +#: gajim/data/gui/shortcuts_window.ui:189 +msgid "Quote previous message" +msgstr "Zitiere vorige Nachricht" + +#: gajim/data/gui/shortcuts_window.ui:196 +msgid "Quote next message" +msgstr "Zitiere nächste Nachricht" + +#: gajim/data/gui/shortcuts_window.ui:203 +msgid "Clear message entry" +msgstr "Nachrichteneintrag entfernen" + +#: gajim/data/gui/shortcuts_window.ui:211 +msgid "Recent history" +msgstr "Kürzlich gesendete Nachrichten" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "Nach oben scrollen" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "Nach unten scrollen" + +#: gajim/data/gui/shortcuts_window.ui:230 +msgid "Clear chat window" +msgstr "Chatfenster leeren" + +#: gajim/data/gui/shortcuts_window.ui:237 +msgid "Show chat history" +msgstr "Unterhaltungsverlauf anzeigen" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "Tabs" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "Zum voherigen Tab wechseln" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "Zum nächsten Tab wechseln" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "Zum ersten - neunten Tab wechseln" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "Zum vorigen ungelesenen Tab wechseln" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "Zum nächsten ungelesenen Tab wechseln" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "Tab nach links verschieben" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "Tab nach rechts verschieben" + +#: gajim/data/gui/shortcuts_window.ui:299 +msgid "Close chat" +msgstr "Chat schließen" + +#: gajim/data/gui/shortcuts_window.ui:312 +msgid "Change Nickname" +msgstr "Spitznamen ändern" + +#: gajim/data/gui/chat_control.ui:48 +msgid "Drop files or contacts" +msgstr "Dateien oder Kontakte hier ablegen" + +#: gajim/data/gui/chat_control.ui:80 +msgid "1" +msgstr "1" + +#: gajim/data/gui/chat_control.ui:101 +msgid "2 abc" +msgstr "2 abc" + +#: gajim/data/gui/chat_control.ui:121 +msgid "3 def" +msgstr "3 def" + +#: gajim/data/gui/chat_control.ui:141 +msgid "4 ghi" +msgstr "4 ghi" + +#: gajim/data/gui/chat_control.ui:161 +msgid "5 jkl" +msgstr "5 jkl" + +#: gajim/data/gui/chat_control.ui:181 +msgid "6 mno" +msgstr "6 mno" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "7 pqrs" + +#: gajim/data/gui/chat_control.ui:221 +msgid "8 tuv" +msgstr "8 tuv" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "9 wxyz" + +#: gajim/data/gui/chat_control.ui:261 +msgid "*" +msgstr "*" + +#: gajim/data/gui/chat_control.ui:281 +msgid "0" +msgstr "0" + +#: gajim/data/gui/chat_control.ui:301 +msgid "#" +msgstr "#" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "Die letzte Nachricht wurde von einem Mobiltelefon aus geschrieben" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "Mit Mikrofon" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "Mikrofon & Kamera" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "Anruf beenden" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "_Chat starten" + +#: gajim/data/gui/contact_context_menu.ui:28 +msgid "Send _File..." +msgstr "_Datei senden..." + +#: gajim/data/gui/contact_context_menu.ui:44 +msgid "Invite _Contacts" +msgstr "_Kontakte einladen" + +#: gajim/data/gui/contact_context_menu.ui:58 +msgid "E_xecute Command..." +msgstr "B_efehl ausführen..." + +#: gajim/data/gui/contact_context_menu.ui:67 +msgid "M_anage Contact" +msgstr "Kontakt _verwalten" + +#: gajim/data/gui/contact_context_menu.ui:77 +msgid "_Rename..." +msgstr "_Umbenennen..." + +#: gajim/data/gui/contact_context_menu.ui:84 +msgid "Edit _Groups..." +msgstr "_Gruppen bearbeiten..." + +#: gajim/data/gui/contact_context_menu.ui:92 +msgid "Add Special _Notification..." +msgstr "Spezielle Be_nachrichtigung hinzufügen..." + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "_Abonnement" + +#: gajim/data/gui/contact_context_menu.ui:115 +msgid "_Allow contact to see my status" +msgstr "Diesem Kontakt erl_auben, meinen Status zu sehen" + +#: gajim/data/gui/contact_context_menu.ui:123 +msgid "A_sk to see contact status" +msgstr "Kontakt darum bitten, seinen Status ein_sehbar zu machen" + +#: gajim/data/gui/contact_context_menu.ui:131 +msgid "_Forbid contact to see my status" +msgstr "Diesem Kontakt _verbieten, meinen Status zu sehen" + +#: gajim/data/gui/contact_context_menu.ui:159 +msgid "_Unignore" +msgstr "Sperrung a_ufheben" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "_Sperren" + +#: gajim/data/gui/contact_context_menu.ui:174 +msgid "_Add to Contact List..." +msgstr "Kontakt _hinzufügen..." + +#: gajim/data/gui/single_message_window.ui:42 +msgid "_To" +msgstr "_An" + +#: gajim/data/gui/single_message_window.ui:71 +msgid "Su_bject" +msgstr "Be_treff" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "Einen Betreff eingeben..." + +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "_Nachricht" + +#: gajim/data/gui/single_message_window.ui:144 +msgid "Characters typed: 0" +msgstr "Zeichen: 0" + +#: gajim/data/gui/single_message_window.ui:189 +msgid "_From" +msgstr "_Von" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "Sen_den" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "Nachricht senden" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "Antwo_rten" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "Nachricht beantworten" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "_Senden & Schließen" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "Nachricht senden und Fenster schließen" + +#: gajim/data/gui/vcard_information_window.ui:106 +msgid "Client" +msgstr "Client" + +#: gajim/data/gui/vcard_information_window.ui:140 +msgid "Contact time" +msgstr "Uhrzeit des Kontakts" + +#: gajim/data/gui/vcard_information_window.ui:240 +msgid "User avatar" +msgstr "Kontaktbild des Nutzers" + +#: gajim/data/gui/vcard_information_window.ui:255 +msgid "Configured avatar" +msgstr "Gewähltes Kontaktbild" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +msgid "Ask" +msgstr "Anfrage" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +msgid "Subscription" +msgstr "Abonnement" + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +msgid "Extra Address" +msgstr "Zusatzadresse" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +msgid "Address" +msgstr "Adresse" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +msgid "E-Mail" +msgstr "E-Mail" + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "Format: JJJJ-MM-TT" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +msgid "Family" +msgstr "Nachname" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +msgid "Middle" +msgstr "Weitere Vornamen" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +msgid "Prefix" +msgstr "Anrede/Titel" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +msgid "Given" +msgstr "Vorname" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +msgid "Suffix" +msgstr "Namenszusatz" + +#: gajim/data/gui/vcard_information_window.ui:958 +msgid "Name Details" +msgstr "Namensdetails" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "Schaltfläche" + +#: gajim/data/gui/vcard_information_window.ui:1017 +msgid "Personal Info" +msgstr "Persönliche Informationen" + +#: gajim/data/gui/vcard_information_window.ui:1040 +msgid "Company" +msgstr "Firma" + +#: gajim/data/gui/vcard_information_window.ui:1073 +msgid "Department" +msgstr "Abteilung" + +#: gajim/data/gui/vcard_information_window.ui:1104 +msgid "Position" +msgstr "Position" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "Rolle" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "Über" + +#: gajim/data/gui/vcard_information_window.ui:1514 +msgid "Comments" +msgstr "Kommentare" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "Gruppen bearbeiten" + +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "Passwort" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "Füge eine Einstellung hinzu, die du ändern möchtest" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +msgid "Themes" +msgstr "Designs" + +#: gajim/data/gui/themes_window.ui:171 +msgid "Add Setting" +msgstr "Einstellungen hinzufügen" + +#: gajim/data/gui/themes_window.ui:204 +msgid "Add new Theme" +msgstr "Neues Design hinzufügen" + +#: gajim/data/gui/themes_window.ui:219 +msgid "Remove Theme" +msgstr "Design entfernen" + +#: gajim/data/gui/bookmarks.ui:120 +msgid "Autojoin" +msgstr "Automatisch verbinden" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "Ü_bernehmen" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "Verhalten der Fenster und Tabs" + +#: gajim/data/gui/preferences.ui:68 +msgid "Contact List Appearance" +msgstr "Erscheinungsbild der Kontaktliste" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +msgid "Chats" +msgstr "Chats" + +#: gajim/data/gui/preferences.ui:215 +msgid "Visual Notifications" +msgstr "Visuelle Benachrichtigungen" + +#: gajim/data/gui/preferences.ui:243 +msgid "Sounds" +msgstr "Klänge" + +#: gajim/data/gui/preferences.ui:303 +msgid "Ask For Status Message on…" +msgstr "Frage nach einer Statusnachricht bei…" + +#: gajim/data/gui/preferences.ui:331 +msgid "Automatic Status Change" +msgstr "Automatische Statusänderung" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "Emoji" + +#: gajim/data/gui/preferences.ui:447 +msgid "Status Icon" +msgstr "Status-Icon" + +#: gajim/data/gui/preferences.ui:472 +msgid "Style" +msgstr "Design" + +#: gajim/data/gui/preferences.ui:511 +msgid "Show _Features" +msgstr "_Features anzeigen" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "Fehlende Abhängigkeiten für Audio/Video" + +#: gajim/data/gui/preferences.ui:632 +msgid "Audio" +msgstr "Audio" + +#: gajim/data/gui/preferences.ui:660 +msgid "Video" +msgstr "Video" + +#: gajim/data/gui/preferences.ui:698 +msgid "Audio/Video" +msgstr "Audio/Video" + +#: gajim/data/gui/preferences.ui:735 +msgid "Miscellaneous" +msgstr "Verschiedenes" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "Hinweise zurücksetzen" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "Hiermit werden alle Hinweise zurückgesetzt" + +#: gajim/data/gui/preferences.ui:821 +msgid "Advanced Configuration Editor… " +msgstr "Erweiterter Konfigurationseditor (ACE)… " + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "Bitte nutze diese Einstellungen mit Vorsicht!" + +#: gajim/data/gui/server_info.ui:50 +msgid "Server Software" +msgstr "Serversoftware" + +#: gajim/data/gui/server_info.ui:80 +msgid "Server Uptime" +msgstr "Serverlaufzeit" + +#: gajim/data/gui/server_info.ui:109 +msgid "Contact Addresses" +msgstr "Kontaktadressen" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "Für diesen Server wurden keine Kontaktadressen veröffentlicht." + +#: gajim/data/gui/server_info.ui:177 +msgid "Proxy Type" +msgstr "Proxy-Typ" + +#: gajim/data/gui/server_info.ui:192 +msgid "No proxy used" +msgstr "Kein Proxy verwendet" + +#: gajim/data/gui/server_info.ui:202 +msgid "View _Certificate" +msgstr "Zertifikat _anzeigen" + +#: gajim/data/gui/server_info.ui:222 +msgid "Proxy Host" +msgstr "Proxy-Host" + +#: gajim/data/gui/server_info.ui:421 +msgid "Copy info to clipboard" +msgstr "Infos in die Zwischenablage kopieren" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "Allgemeiner Name (CN)" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "Organisation (O)" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "Organizationseinheit (OU)" + +#: gajim/data/gui/certificate_dialog.ui:153 +msgid "Serial Number" +msgstr "Seriennummer" + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "Ausgestellt am" + +#: gajim/data/gui/certificate_dialog.ui:304 +msgid "Expires on" +msgstr "Läuft ab am" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "SHA-1" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "Ausgestellt für" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "Ausgestellt von" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "Gültigkeit" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "Fingerabdrücke" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "SHA-256" + +#: gajim/data/gui/certificate_dialog.ui:465 +msgid "Copy Certificate Information" +msgstr "Zertifikatsinformationen kopieren" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "Freunde einladen!" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "" +"Du trittst nun einem Gruppenchat bei.\n" +"Wähle die Kontakte, die du einladen willst" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "Spalte" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +msgid "Please select a group chat server." +msgstr "Bitte wähle einen Gruppenchat-Server aus." + +#: gajim/data/gui/chat_to_muc_window.ui:141 +msgid "Group chat server" +msgstr "Gruppenchat-Server" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +msgid "In_vite" +msgstr "_Einladen zu" + +#: gajim/data/gui/mam_preferences.ui:53 +msgid "_Default" +msgstr "_Standard" + +#: gajim/data/gui/mam_preferences.ui:136 +msgid "Archive" +msgstr "Archiv" + +#: gajim/data/gui/history_manager.ui:11 +msgid "_Export" +msgstr "_Exportieren" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +msgid "Gajim History Logs Manager" +msgstr "Gajim-Verlaufsmanager" + +#: gajim/data/gui/history_manager.ui:104 +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" +"Dieses Verwaltungswerkzeug ist nicht zum Ansehen der Unterhaltungsverläufe " +"gedacht. Benutze dafür bitte das Fenster für Unterhaltungsverläufe.\n" +"\n" +"Du kannst dieses Werkzeug benutzen, um Unterhaltungsverläufe zu löschen oder " +"zu exportieren. Du kannst links Einträge auswählen oder unten die Datenbank " +"durchsuchen." + +#: gajim/data/gui/history_manager.ui:120 +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" +"WARNUNG:\n" +"Wenn du viele Einträge löschen möchtest, beende Gajim bitte vorher. Vermeide " +"generell das Löschen von Unterhaltungen mit Kontakten denen du gerade " +"schreibst." + +#: gajim/data/gui/history_manager.ui:211 +msgid "Search database..." +msgstr "Datenbank durchsuchen..." + +#: gajim/data/gui/history_manager.ui:226 +msgid "Search in database" +msgstr "Datenbank durchsuchen" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" +"Keine Kontakte übrig.\n" +"Du kannst auch eine XMPP-Adresse eingeben." + +#: gajim/data/gui/groupchat_invite.ui:69 +msgid "Invitees" +msgstr "Eingeladene" + +#: gajim/data/gui/groupchat_invite.ui:153 +msgid "Search contacts..." +msgstr "Kontakte suchen..." + +#: gajim/data/gui/groupchat_invite.ui:223 +msgid "Click on contacts you would like to invite to this group chat." +msgstr "Klicke auf Kontakte, die du in diesen Gruppenchat einladen willst." + +#: gajim/data/gui/service_discovery_window.ui:148 +msgid "Go" +msgstr "Los" + +#: gajim/data/gui/status_change_window.ui:27 +msgid "Change Status" +msgstr "Status ändern" + +#: gajim/data/gui/status_change_window.ui:56 +msgid "Status Presets…" +msgstr "Gespeicherte Statusnachrichten…" + +#: gajim/data/gui/status_change_window.ui:72 +msgid "Save this message as a preset" +msgstr "Diese Nachricht als Voreinstellung speichern" + +#: gajim/data/gui/status_change_window.ui:130 +msgid "Ac_tivity" +msgstr "A_ktivität" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "La_une" + +#: gajim/data/gui/status_change_window.ui:278 +msgid "_Change Status" +msgstr "_Status ändern" + +#: gajim/data/gui/status_change_window.ui:313 +msgid "Activity" +msgstr "Aktivität" + +#: gajim/data/gui/status_change_window.ui:326 +msgid "_No Activity" +msgstr "_Keine Aktivität" + +#: gajim/data/gui/status_change_window.ui:729 +msgid "Mood" +msgstr "Stimmung" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "Thema" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +msgid "Author" +msgstr "Autor" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "Unterhaltungsverlauf" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +msgid "Group Chat Language" +msgstr "Sprache des Gruppenchats" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +msgid "Copy Address" +msgstr "Adresse kopieren" + +#: gajim/data/gui/emoji_chooser.ui:98 +msgid "No Results Found" +msgstr "Keine Ergebnisse" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr "XML-Konsole" + +#: gajim/data/gui/xml_console.ui:131 +msgid "Start Search..." +msgstr "Suche starten…" + +#: gajim/data/gui/xml_console.ui:260 +msgid "Clear" +msgstr "Chatfenster leeren" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "Zuletzt gemachte Eingabe einfügen" + +#: gajim/data/gui/xml_console.ui:316 +msgid "Presets" +msgstr "Voreinstellungen" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "Synchronisieren: Kontakte auswählen" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +msgid "Select the contacts you want to synchronise" +msgstr "Kontakte auswählen, die du synchronisieren möchtest" + +#: gajim/data/gui/groupchat_config.ui:51 +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" +"XMPP-Adresse\n" +"<benutzer@domain/ressource> (nur diese XMPP-Ressource stimmt überein)\n" +"<benutzer@domain> (jede XMPP-Ressource stimmt überein)\n" +"<domain/ressource> (nur diese XMPP-Ressource stimmt überein)\n" +"<domain> (die Domain selbst sowie jeder benutzer@domain stimmen " +"überein)\n" + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "" +"Nur Administratoren und Eigentümer können die Gruppenzugehörigkeit ändern" + +#: gajim/data/gui/groupchat_config.ui:309 +msgid "Reserved Name" +msgstr "Reservierter Name" + +#: gajim/data/gui/groupchat_config.ui:346 +msgid "Affiliation" +msgstr "Gruppenzugehörigkeit" + +#: gajim/data/gui/groupchat_config.ui:377 +msgid "Affiliations" +msgstr "Gruppenzugehörigkeiten" + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "Begründung" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "Sperrliste" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "_Ablehnen" + +#: gajim/data/gui/subscription_request_window.ui:34 +msgid "_Block User" +msgstr "Nutzer _sperren" + +#: gajim/data/gui/subscription_request_window.ui:49 +msgid "_Report as Spam" +msgstr "Als _Spam melden" + +#: gajim/data/gui/subscription_request_window.ui:212 +msgid "_Deny…" +msgstr "_Ablehnen…" + +#: gajim/data/gui/subscription_request_window.ui:225 +msgid "Ac_cept" +msgstr "An_nehmen" + +#: gajim/data/gui/subscription_request_window.ui:230 +msgid "Allows the contact to see your online status" +msgstr "Erlaubt dem Kontakt, deinen Status zu sehen" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "Entschuldigung, das hätte nicht passieren dürfen" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" +"Gajim hat einen Fehler festgestellt. Der Fehlerbericht wird unten " +"angezeigt.\n" +"Du kannst den Entwicklern helfen das Problem zu beheben, indem du den Fehler " +"meldest." + +#: gajim/data/gui/exception_dialog.ui:115 +msgid "_Report Bug" +msgstr "Fehle_r melden" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "Ereignis" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "Klang auswählen" + +#: gajim/data/gui/manage_sounds.ui:97 +msgid "Clear Sound" +msgstr "Klang löschen" + +#: gajim/data/gui/manage_sounds.ui:118 +msgid "Play Sound" +msgstr "Klang abspielen" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +msgid "_Send Files" +msgstr "_Dateien senden" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +msgid "Send" +msgstr "Senden" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +msgid "Files to send" +msgstr "Dateien zum Senden" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +msgid "Add Files" +msgstr "Dateien hinzufügen" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +msgid "Remove Files" +msgstr "Dateien entfernen" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +msgid "Idle since:" +msgstr "Keine Aktivität seit:" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +msgid "Mood:" +msgstr "Stimmung:" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +msgid "Activity:" +msgstr "Aktivität:" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +msgid "Tune:" +msgstr "Song:" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +msgid "Location:" +msgstr "Standort:" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +msgid "Subscription:" +msgstr "Abonnement:" + +#: gajim/data/gui/advanced_configuration.ui:15 +msgid "A restart may be required for some settings to take effect" +msgstr "" +"Möglicherweise musst du Gajim neustarten, damit alle Änderungen in Kraft " +"treten" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "Tippen, um nach Einstellungen zu suchen..." + +#: gajim/data/gui/advanced_configuration.ui:120 +msgid "_Reset Value" +msgstr "_Zurücksetzen" + +#: gajim/data/gui/advanced_configuration.ui:125 +msgid "Resets value to default" +msgstr "Setzt die Einstellung auf den Standardwert zurück" + +#: gajim/data/gui/history_window.ui:27 +msgid "Display status changes" +msgstr "Statusänderungen anzeigen" + +#: gajim/data/gui/history_window.ui:57 +msgid "History Manager" +msgstr "Unterhaltungsverläufe verwalten" + +#: gajim/data/gui/history_window.ui:233 +msgid "Mode" +msgstr "Suchzeitraum" + +#: gajim/data/gui/history_window.ui:246 +msgid "Search complete history" +msgstr "Gesamten Verlauf durchsuchen" + +#: gajim/data/gui/history_window.ui:263 +msgid "Search selected day only" +msgstr "Suche nur im gewählten Tag" + +#: gajim/data/gui/history_window.ui:317 +msgid "Store history for this chat" +msgstr "Unterhaltungsverlauf dieses Chats speichern" + +#: gajim/data/gui/history_window.ui:332 +msgid "Store History" +msgstr "Unterhaltungsverlauf speichern" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +msgid "Identified Error" +msgstr "Ermittelter Fehler" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +msgid "" +msgstr "" + +#: gajim/data/gui/ssl_error_dialog.ui:74 +msgid "Add this certificate to the list of _trusted certificates" +msgstr "Dieses Zertifikat der Liste _vertrauenswürdiger Zertifikate hinzufügen" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +msgid "_View Certificate" +msgstr "Zertifikat _anzeigen" + +#: gajim/data/gui/ssl_error_dialog.ui:120 +msgid "_Connect" +msgstr "_Verbinden" + +#: data/org.gajim.Gajim.desktop.in:5 +msgid "XMPP Chat Client" +msgstr "XMPP Chat-Client" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "Ein vollwertiger XMPP-Chatclient" + +# TODO mark as do not translate? +# TODO look up if there are other keywords like this in German +#: data/org.gajim.Gajim.desktop.in:8 +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "chat;messaging;im;jabber;xmpp;bonjour;voip;" + +#: data/org.gajim.Gajim.desktop.in:27 +msgid "Show next pending event" +msgstr "Zeige nächstes neues Ereignis" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" +"Gajim ist ein einfach zu benutzender und vollwertiger XMPP-Client. Chatte " +"einfach mit deinen Freunden oder deiner Familie, teile Fotos und Gedanken " +"oder diskutiere die neuesten Nachrichten mit deinen Gruppen." + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "" +"Chatte sicher und verschlüsselt durch Ende-zu-Ende-Verschlüsselung per OMEMO " +"oder OpenPGP." + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" +"Gajim vernetzt sich gut mit deinen übrigen Geräten: Einfach auf dem PC " +"schreiben und auf dem Handy sehen, was geschrieben wurde." + +#: data/org.gajim.Gajim.appdata.xml.in:17 +msgid "Features:" +msgstr "Features:" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "Verpasse keine Nachrichten, halte alle deine Chat-Clients synchron" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "Lade Freunde zum Gruppenchat ein oder tritt selbst einem bei" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "" +"Versende ganz einfach Fotos, Videos oder andere Dateien an Freunde und " +"Gruppen" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "" +"Chatte sicher und verschlüsselt durch Ende-zu-Ende-Verschlüsselung per OMEMO " +"oder OpenPGP" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "Benutze deine liebsten Emojis, lade dein eigenes Profilbild hoch" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "Behalte und verwalte alle deine Unterhaltungsverläufe" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "Ordne deine Chats mit Tabs" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +msgid "Automatic spell-checking for your messages" +msgstr "Automatische Rechtschreibprüfung für deine Nachrichten" + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "" +"Verbinde dich mit anderen Messengern durch Transporte (Facebook, IRC, ...)" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" +"Schaue Dinge bei Wikipedia, in Wörterbüchern oder anderen Suchmaschinen nach " +"- direkt aus dem Chatfenster" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" +"Wenn du magst, teile deine Aktivität, Stimmung und die Musik, die du gerade " +"hörst, mit deinen Freunden" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "Unterstützung für mehrere Konten" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "" +"Gruppiere mehrere Kontakte eines bestimmten Freunds zu einem einzelnen Meta-" +"Kontakt" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "XML-Konsole, um zu sehen, was auf Protokollebene passiert" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "Serverlose Chats im lokalen Netzwerk (Bonjour/Zeroconf)" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +msgid "Support for service discovery including nodes and search for users" +msgstr "Unterstützung für Service discovery inkl. Nodes, Benutzer-Suche" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "Erweiterbarer Funktionsumfang durch Plugins" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +msgid "Contact list" +msgstr "Kontaktliste" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "Chatfenster mit Tabs" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +msgid "Group chat support" +msgstr "Unterstützung von Gruppenchats" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +msgid "Chat history" +msgstr "Unterhaltungsverlauf" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +msgid "Plugin manager" +msgstr "Plugin-Verwaltung" + +# TODO mark as do not translate? +#: data/org.gajim.Gajim.appdata.xml.in:61 +msgid "Gajim Team" +msgstr "Gajim-Team" + +#~ msgid "Retrieving profile…" +#~ msgstr "Empfange Profil…" + +#~ msgid "Could not load image" +#~ msgstr "Bild konnte nicht geladen werden" + +#~ msgid "Wrong date format" +#~ msgstr "Falsches Datumsformat" + +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "Datumsformat muss JJJJ-MM-TT entsprechen" + +#~ msgid "Information received" +#~ msgstr "Informationen empfangen" + +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "" +#~ "Ohne verbunden zu sein kannst du keine Kontaktinformationen " +#~ "veröffentlichen." + +#~ msgid "Sending profile…" +#~ msgstr "Sende Profil…" + +#~ msgid "Information NOT published" +#~ msgstr "Informationen NICHT veröffentlicht" + +#~ msgid "vCard publication failed" +#~ msgstr "Veröffentlichung der vCard fehlgeschlagen" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "" +#~ "Bei der Veröffentlichung deiner persönlichen Informationen ist ein Fehler " +#~ "aufgetreten, versuche es später noch einmal." + +#~ msgid "Clear Avatar" +#~ msgstr "Kontaktbild löschen" + +#~ msgid "Set Avatar…" +#~ msgstr "Kontaktbild auswählen…" + +#~ msgid "Main" +#~ msgstr "Allgemein" + +#~ msgid "Contact" +#~ msgstr "Kontakt" + +# Don't translate icon file name. +#~ msgid "org.gajim.Gajim" +#~ msgstr "org.gajim.Gajim" + +#~ msgid "Gajim aims to be an easy to use and fully-featured XMPP client." +#~ msgstr "" +#~ "Gajim zielt darauf ab, ein einfach zu benutzender und vollwertiger XMPP-" +#~ "Client zu sein." + +#~ msgid "Could not request upload slot for HTTP File Upload" +#~ msgstr "Konnte keinen Upload-Slot für HTTP-Dateiupload anfordern" + +#~ msgid "Exception raised while trying to open file (see log)." +#~ msgstr "Fehler beim Öffnen der Datei (siehe Log)." + +#~ msgid "Not Secure" +#~ msgstr "Nicht sicher" + +#~ msgid "Could not Upload File" +#~ msgstr "Datei konnte nicht hochgeladen werden" + +#~ msgid "HTTP response code from server: %s" +#~ msgstr "HTTP Antwort-Code des Servers: %s" + +#~ msgid "Upload Error" +#~ msgstr "Fehler beim Hochladen" + +#~ msgid "Encryption Error" +#~ msgstr "Verschlüsselungsfehler" + +#~ msgid "Error." +#~ msgstr "Fehler." + +#~ msgid "Metacontacts storage not supported by your server" +#~ msgstr "" +#~ "Das Speichern von Metakontakten wird von deinem Server nicht unterstützt" + +#~ msgid "" +#~ "Your server does not support storing metacontacts information. So this " +#~ "information will not be saved on next reconnection." +#~ msgstr "" +#~ "Dein Server unterstützt das Speichern von Metakontakt-Informationen " +#~ "nicht. Daher werden diese Informationen bei der nächsten Verbindung " +#~ "verloren gehen." + +#~ msgid "{contact_name} invited you to {event.info.muc_name}" +#~ msgstr "{contact_name} hat dich zu {event.info.muc_name} eingeladen" + +#, fuzzy +#~ msgid "{text.capitalize()} configuration error" +#~ msgstr "%s Konfigurationsfehler" + +#~ msgid "an audio and video" +#~ msgstr "eine Audio und Video" + +#~ msgid "an audio" +#~ msgstr "eine Audio" + +#~ msgid "a video" +#~ msgstr "eine Video" + +#~ msgid "" +#~ "%(contact)s wants to start a %(type)s chat with you. Do you want to " +#~ "answer the call?" +#~ msgstr "" +#~ "%(contact)s möchte einen %(type)s-Anruf mit dir starten. Möchtest du den " +#~ "Anruf annehmen?" + +#~ msgid "%(type)s state : %(state)s, reason: %(reason)s" +#~ msgstr "%(type)s Status: %(state)s, Begründung: %(reason)s" + +#~ msgid "%s wants to start a voice chat." +#~ msgstr "%s möchte einen Sprachchat beginnen." + +#~ msgid "Voice Chat Request" +#~ msgstr "Anfrage für Sprachchat" + +#~ msgid "Incoming call" +#~ msgstr "Eingehender Anruf" + +#~ msgid "You are invited to {room} by {user}" +#~ msgstr "Du wurdest von {user} zu {room} eingeladen" + +#~ msgid "Message..." +#~ msgstr "Nachricht..." + +#~ msgid "_Message if you decline (optional)" +#~ msgstr "Begründung, falls du ablehnst (_optional)" + +#~ msgid "Fill in the form." +#~ msgstr "Bitte fülle das Formular aus." + +#~ msgid "Group Chat Invitation " +#~ msgstr "Gruppenchat-Einladung " + +#~ msgid "" +#~ "%(contact)s has invited you to the group chat %(room_jid)s" +#~ msgstr "" +#~ "%(contact)s hat dich zum Gruppenchat %(room_jid)s eingeladen" + +#~ msgid "Comment: %s" +#~ msgstr "Kommentar: %s" + +#~ msgid "Blocked Contacts" +#~ msgstr "Gesperrte Kontakte" + +#~ msgid "Join group chat every time Gajim is started" +#~ msgstr "Diesem Gruppenchat beim Starten von Gajim beitreten" + +#~ msgid "Join Automatically" +#~ msgstr "Automatisch beitreten" + +#~ msgid "Group chat" +#~ msgstr "Gruppenchat" + +#~ msgid "Bookmark group chat" +#~ msgstr "Diesen Gruppenchat speichern" + +#~ msgid "Bookmark" +#~ msgstr "Gruppenchat speichern" + +#~ msgid "Recently used group chats" +#~ msgstr "Kürzlich besuchte Gruppenchats" + +#~ msgid "Search group chats on selected server" +#~ msgstr "Gruppenchats auf dem ausgewählten Server suchen" + +#~ msgid "_Retry" +#~ msgstr "_Nochmal versuchen" + +#~ msgid "Destroy group chat" +#~ msgstr "Gruppenchat auflösen" + +#~ msgid "Enter a new name for this group chat" +#~ msgstr "Gib einen neuen Namen für diesen Gruppenchat ein" + +#~ msgid "Chat Settings" +#~ msgstr "Chat-Einstellungen" + +#~ msgid "Composing only" +#~ msgstr "Nur Schreibbenachrichtigung" + +#~ msgid "All chat states" +#~ msgstr "Jeden Chatstatus" + +#~ msgid "Chat Shortcuts" +#~ msgstr "Tastenkürzel für den Chat" + +#~ msgid "Contact List Shortcuts" +#~ msgstr "Tastenkürzel für die Kontaktliste" + +#~ msgid "%i day" +#~ msgid_plural "%i days" +#~ msgstr[0] "%i Tag" +#~ msgstr[1] "%i Tage" + +#~ msgid "Options in days which can be chosen in the sync threshold menu" +#~ msgstr "" +#~ "Wert in Tagen, der im Menü für die Synchronisationsbegrenzung gewählt " +#~ "werden kann" + +#~ msgid "%s is a directory but should be a file" +#~ msgstr "%s ist ein Verzeichnis, sollte aber eine Datei sein" + +#~ msgid "Creating %s" +#~ msgstr "Erstelle %s" + +#~ msgid "%(nickname)s Signed In" +#~ msgstr "%(nickname)s hat sich angemeldet" + +#~ msgid "Contact Signed In" +#~ msgstr "Kontakt hat sich angemeldet" + +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "%(nickname)s hat sich abgemeldet" + +#~ msgid "Contact Signed Out" +#~ msgstr "Kontakt hat sich abgemeldet" + +#~ msgid "" +#~ "Show desktop notification even when a chat window is opened for this " +#~ "contact and does not have focus." +#~ msgstr "" +#~ "Desktop-Benachrichtigungen auch dann anzeigen, wenn für diesen Kontakt " +#~ "ein Chatfenster offen ist, das nicht den Fokus hat." + +#~ msgid "Pop it up" +#~ msgstr "Öffne Nachricht" + +#~ msgid "Notify me about it" +#~ msgstr "Benachrichtige mich darüber" + +#~ msgid "Show only in contact list" +#~ msgstr "Nur in Kontaktliste anzeigen" + +#~ msgid "No status messages" +#~ msgstr "Keine Status-Benachrichtigungen" + +#~ msgid "All status messages" +#~ msgstr "Alle Status-Benachrichtigungen" + +#~ msgid "Only enter/leave messages" +#~ msgstr "Nur Status-Benachrichtigungen zum Beitreten/Verlassen" + +#~ msgid "_Tabs placement" +#~ msgstr "Position der _Tableiste" + +#~ msgid "" +#~ "If enabled, Gajim will quit when closing the contact list window instead " +#~ "of minimizing to the system's notification area" +#~ msgstr "" +#~ "Fall aktiviert, wird Gajim beendet statt sich in den " +#~ "Benachrichtigungsbereich des Systems zu minimieren" + +#~ msgid "Me_rge accounts" +#~ msgstr "Konten _zusammenführen" + +#~ msgid "Displays all your accounts merged into a single one" +#~ msgstr "Zeigt alle deine Konten zusammengeführt zu einem einzigen Konto" + +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "_Kontaktbilder in der Kontaktliste anzeigen" + +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "" +#~ "Falls aktiviert, werden die Kontaktbilder in der Kontaktliste und in " +#~ "Gruppenchats angezeigt" + +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "Statusnachrichten von Kontakten in der Kontaktliste an_zeigen" + +#~ msgid "" +#~ "If checked, status messages of contacts will be shown under the contact's " +#~ "name, in the contact list window, and in group chats" +#~ msgstr "" +#~ "Falls aktiviert, wird die Statusnachricht jedes Kontakts unter dem Namen " +#~ "jeden Kontaktes in der Kontaktliste und in Gruppenchats angezeigt" + +#~ msgid "" +#~ "Show e_xtra information of contacts in contact list (mood, activity, ...)" +#~ msgstr "" +#~ "E_xtrainformationen von Kontakten (Stimmung, Aktivität, ...) in der " +#~ "Kontaktliste anzeigen" + +#~ msgid "" +#~ "If checked, additional info published by the contact will be shown in the " +#~ "contact list. Additional infos (published via PEP) may include e.g. mood, " +#~ "activity, tune, location, ..." +#~ msgstr "" +#~ "Falls aktiviert, werden zusätzliche vom Kontakt freigegebene " +#~ "Informationen in der Kontaktliste angezeigt. Zusätzliche (über PEP " +#~ "veröffentlichte) Informationen können z.B. Stimmung, Aktivität, Standort, " +#~ "usw. umfassen." + +#~ msgid "in _contact list" +#~ msgstr "in der _Kontaktliste" + +#~ msgid "in _group chats" +#~ msgstr "in _Gruppenchats" + +#~ msgid "Enable spell _checking" +#~ msgstr "Re_chtschreibprüfung aktivieren" + +#~ msgid "" +#~ "If checked, spelling errors in input fields of chat windows will be " +#~ "highlighted. If no language is explicitly set via right click on the " +#~ "input field, the default language will be used for this contact or group " +#~ "chat. Needs gspell to be installed." +#~ msgstr "" +#~ "Falls aktiviert, werden Rechtschreibfehler im Chat-Eingabefenster " +#~ "farblich hervorgehoben. Wenn keine Sprache im Eingabefeld festgelegt " +#~ "wurde (per Rechtsklick), wird die Standardsprache für diesen Kontakt oder " +#~ "Gruppenchat verwendet. Benötigt gspell." + +#~ msgid "" +#~ "If checked, a small checkmark will be shown after each message when it " +#~ "was received. Note that this is not supported by all clients and " +#~ "therefore could be misleading." +#~ msgstr "" +#~ "Falls aktiviert, wird ein kleines Häkchen nach jeder Nachricht angezeigt, " +#~ "sobald diese vom Kontakt empfangen wurde. Dies wird nicht von allen Chat-" +#~ "Clients unterstützt und kann daher zu falschen Annahmen führen." + +#~ msgid "Display status messages in _single chats" +#~ msgstr "_Statusnachrichten in Einzelchats anzeigen" + +#~ msgid "" +#~ "If checked, status lines will be shown in 1 on 1 chats when a contact " +#~ "changes their status or status message" +#~ msgstr "" +#~ "Falls aktiviert, wird Gajim Statusnachrichten in Einzelchats anzeigen, " +#~ "wenn ein Kontakt den Status oder die Statusnachricht ändert" + +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "_Zeige das Thema nach dem Beitreten eines Gruppenchats" + +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "" +#~ "Falls aktiviert, wird beim Beitreten des Gruppenchats das Thema angezeigt" + +#~ msgid "Show join/leave (Default)" +#~ msgstr "Beitreten/Verlassen anzeigen (Standard)" + +#~ msgid "" +#~ "If join/leave status messages are shown in the group chat. This setting " +#~ "can be overridden in the group chat menu." +#~ msgstr "" +#~ "Ob Beitreten/Verlassen als Status-Benachrichtigung in Gruppenchats " +#~ "angezeigt werden sollen. Diese Einstellung kann im Gruppenchatmenü " +#~ "überschrieben werden." + +#~ msgid "" +#~ "The default sync threshold for new public group chats. This setting can " +#~ "be overridden in the group chat menu." +#~ msgstr "" +#~ "Die standardmäßig eingestellte Synchronisationsbegrenzung für neue " +#~ "öffentliche Gruppenchats. Diese Einstellung kann im Gruppenchatmenü " +#~ "überschrieben werden." + +#~ msgid "Show status changes (Default)" +#~ msgstr "Statusänderungen anzeigen (Standard)" + +#~ msgid "" +#~ "If status change messages are shown in the group chat. This setting can " +#~ "be overridden in the group chat menu." +#~ msgstr "" +#~ "Ob Nachrichten zu Statusänderungen in Gruppenchats angezeigt werden " +#~ "sollen. Diese Einstellung kann im Gruppenchatmenü überschrieben werden." + +#~ msgid "" +#~ "If checked, the tab will be colored according to the current chatstate of " +#~ "the contact" +#~ msgstr "" +#~ "Falls aktiviert, wird der Tab entsprechend dem aktuellen Chatstatus des " +#~ "Kontakts gefärbt" + +#~ msgid "" +#~ "If checked, the contact row will be colored according to the current " +#~ "chatstate of the contact" +#~ msgstr "" +#~ "Falls aktiviert, wird die Kontakt-Ebene dem Chatstatus des Kontakts " +#~ "entsprechend gefärbt" + +#~ msgid "" +#~ "If checked, a description of the contacts current chatstate is shown in " +#~ "the banner" +#~ msgstr "" +#~ "Falls aktiviert, wird der aktuelle Chatstatus des Kontakts im Banner " +#~ "angezeigt" + +#~ msgid "Chatstate" +#~ msgstr "Chatstatus" + +#~ msgid "_When new event is received" +#~ msgstr "_Wenn ein neues Ereignis empfangen wurde" + +#~ msgid "Show popups/notifications when a chat window is already _open" +#~ msgstr "" +#~ "_Benachrichtigungen auch dann anzeigen, wenn bereits ein Chatfenster " +#~ "geöffnet ist" + +#~ msgid "Allow popups/notifications when I'm _away, not available or busy" +#~ msgstr "" +#~ "Benachrichtigungen auch dann anzeigen, wenn ich _Abwesend, Nicht " +#~ "Verfügbar oder Beschäftigt bin" + +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "Benachr_ichtigung anzeigen, wenn sich ein Kontakt anmeldet" + +#~ msgid "" +#~ "A popup window about contacts that just signed in will be shown in the " +#~ "bottom right of the screen " +#~ msgstr "" +#~ "Eine Benachrichtigung wird in der unteren rechten Ecke des Bildschirms " +#~ "angezeigt, sobald ein Kontakt sich anmeldet " + +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "Benachrichtigung anzeigen, wenn sich ein K_ontakt abmeldet" + +#~ msgid "" +#~ "A popup window about contacts that just signed out will be shown in the " +#~ "bottom right of the screen " +#~ msgstr "" +#~ "Eine Benachrichtigung wird in der unteren rechten Ecke des Bildschirms " +#~ "angezeigt, sobald ein Kontakt sich abmeldet " + +#~ msgid "Play _sounds" +#~ msgstr "Klänge ab_spielen" + +#~ msgid "Ma_nage..." +#~ msgstr "Verwalte_n..." + +#~ msgid "Allow playing sounds when I'm _busy" +#~ msgstr "Die Wiedergabe von Klängen erlauben, wenn ich _Beschäftigt bin" + +#~ msgid "Show the status change dialog on Sign In" +#~ msgstr "Statusfenster beim Anmelden anzeigen" + +#~ msgid "Show the status change dialog on Sign Out" +#~ msgstr "Statusfenster beim Abmelden anzeigen" + +#~ msgid "Show the status change dialog on all status changes" +#~ msgstr "Statusfenster bei allen Statusänderungen anzeigen" + +#~ msgid "No_t Available" +#~ msgstr "Nich_t Verfügbar" + +#~ msgid "" +#~ "If checked, the status will be changed to Not Available when the computer " +#~ "has not been used for the specified time" +#~ msgstr "" +#~ "Falls aktiviert, wird der Status in Nicht Verfügbar geändert, wenn der " +#~ "Computer für die angegebene Zeit nicht genutzt wurde" + +#~ msgid "" +#~ "If checked, the status will be changed to Away when the computer has not " +#~ "been used for the specified time" +#~ msgstr "" +#~ "Falls aktiviert, wird der Status in Beschäftigt geändert, wenn der " +#~ "Computer für die angegebene Zeit nicht genutzt wurde" + +#~ msgid "" +#~ "The automatic away status message. If empty, the current status message " +#~ "will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-away timeout." +#~ msgstr "" +#~ "Dies ist die Statusnachricht, die automatisch im Status Abwesend gesetzt " +#~ "wird. Bleibt dieser Text leer, behält Gajim die aktuelle " +#~ "Statusnachricht.\n" +#~ "$S ist ein Platzhalter für die vorherige Statusnachricht.\n" +#~ "$T ist ein Platzhalter für die Zeit, nach deren Ablauf der Status " +#~ "automatisch auf Abwesend gesetzt wird." + +#~ msgid "" +#~ "The automatic not available status message. If empty, the current status " +#~ "message will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-not-available timeout." +#~ msgstr "" +#~ "Dies ist die Statusnachricht, die automatisch im Status Nicht Verfügbar " +#~ "gesetzt wird. Bleibt dieser Text leer, behält Gajim die aktuelle " +#~ "Statusnachricht.\n" +#~ "$S ist ein Platzhalter für die vorherige Statusnachricht.\n" +#~ "$T ist ein Platzhalter für die Zeit, nach deren Ablauf der Status " +#~ "automatisch auf Nicht verfügbar gesetzt wird." + +#~ msgid "Minutes" +#~ msgstr "Minuten" + +#~ msgid "_Theme" +#~ msgstr "Desi_gn" + +#~ msgid "Configure color and font of the interface" +#~ msgstr "Farben und Schriftarten der Oberfläche konfigurieren" + +#~ msgid "Icons" +#~ msgstr "Icons" + +#~ msgid "" +#~ "If checked, protocol-specific status icons will be used (e.g. a contact " +#~ "from ICQ will have the equivalent ICQ icon for status online, away, busy, " +#~ "etc...)" +#~ msgstr "" +#~ "Falls aktiviert, werden protokollspezifische Symbole verwendet. (z.B.: " +#~ "Bei einem ICQ Kontakt werden die ICQ Statusicons für \"Anwesend\", " +#~ "\"Abwesend\", \"Beschäftigt\", etc. angezeigt.)" + +#~ msgid "" +#~ "STUN server hostname. If no hostname was given, Gajim will try\n" +#~ "to discover one from the server. (Example: stun.iptel.org)" +#~ msgstr "" +#~ "STUN-Server Hostname. Falls nicht definiert, wird\n" +#~ "Gajim versuchen, einen vom Server zu ermitteln. (Beispiel: stun.iptel.org)" + +#~ msgid "Vi_ew own video source" +#~ msgstr "_Eigene Videoquelle anzeigen" + +#~ msgid "Video si_ze" +#~ msgstr "Video_größe" + +#~ msgid "Video output" +#~ msgstr "Video-Ausgabegerät" + +#~ msgid "Show live _preview" +#~ msgstr "_Live-Vorschau anzeigen" + +#~ msgid "_Manage..." +#~ msgstr "_Verwalten..." + +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "" +#~ "_Speichere die Statusänderungen von Kontakten im Unterhaltungsverlauf" + +#~ msgid "_Check for Gajim updates periodically" +#~ msgstr "_Regelmäßig nach Updates suchen" + +#~ msgid "Enables a weekly update check" +#~ msgstr "Aktiviert eine wöchentliche Überprüfung auf Updates" + +#~ msgid "Enable _debug logging (restart required)" +#~ msgstr "" +#~ "_Debug logging für die Fehlerbehebung aktivieren (benötigt Neustart)" + +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "" +#~ "Falls aktiviert, wird Gajim eine Log-Datei zum Debuggen (Fehlerbehebung) " +#~ "speichern" + +#~ msgid "Opens folder containing debug logs" +#~ msgstr "Öffnet den Ordner der debug logs" + +#~ msgid "" +#~ "In order to introduce you to features, Gajim displays some hints. This " +#~ "button will reset all these hints." +#~ msgstr "" +#~ "Um dir neue Funktionen vorzustellen zeigt Gajim einige Hinweise. Dieser " +#~ "Button wird die Hinweise zurücksetzen." + +#~ msgid "_Open..." +#~ msgstr "Ö_ffnen..." + +#~ msgid "" +#~ "Unavailable, video " +#~ "support will be disabled" +#~ msgstr "" +#~ "Nicht verfügbar, " +#~ "Unterstützung für Video-Chats deaktiviert" + +#~ msgid "_Leave Group Chat" +#~ msgstr "Gruppenchat _verlassen" + +#~ msgid "On" +#~ msgstr "Online" + +#~ msgid "Off" +#~ msgstr "Deaktiviert" + +#~ msgid "If enabled, Gajim displays the avatar in the chat window." +#~ msgstr "Falls aktiviert, wird das Kontaktbild im Chatfenster angezeigt." + +#~ msgid "Selecting text will copy it to the clipboard" +#~ msgstr "Das Auswählen von Text kopiert diesen in die Zwischenablage" + +#~ msgid "Enable auto copy" +#~ msgstr "Automatisches Kopieren aktivieren" + +#~ msgid "" +#~ "If enabled, selected text will automatically be copied to the clipboard, " +#~ "otherwise you can copy text with CTRL + SHIFT + C" +#~ msgstr "" +#~ "Falls aktiviert, wird markierter Text automatisch in die Zwischenablage " +#~ "kopiert. Andernfalls kann Text mit STRG + UMSCHALT + C kopiert werden" + +#~ msgid "Could not save your settings and preferences" +#~ msgstr "Konnte Einstellungen nicht speichern" + +#~ msgid "_Filter" +#~ msgstr "_Filter" + +#~ msgid "?config type:Color" +#~ msgstr "Farbe" + +#~ msgid "?password:Hidden" +#~ msgstr "Ausgeblendet" + +#~ msgid "" +#~ "Show a warning dialog before sending password on an plaintext connection. " +#~ "Can be 'warn', or 'none'." +#~ msgstr "" +#~ "Warnmeldung anzeigen, bevor das Passwort über eine unverschlüsselte " +#~ "Verbindung übertragen wird. Mögliche Optionen sind \"warn\" oder \"none\"." + +#~ msgid "Use default applications" +#~ msgstr "Standardprogramme verwenden" + +#~ msgid "Custom" +#~ msgstr "Benutzerdefiniert" + +#~ msgid "" +#~ "Status to be used automatically when connecting. Can be 'online', 'chat', " +#~ "'away', 'xa' or 'dnd'. NOTE: This option is used only if " +#~ "'restore_last_status' is disabled." +#~ msgstr "" +#~ "Automatischer Status bei Verbindung. Mögliche Werte: \"online\", \"chat" +#~ "\", \"away\", \"xa\" oder \"dnd\". HINWEIS: Diese Option kann nur " +#~ "verwendet werden, wenn \"restore_last_status\" deaktiviert ist." + +#~ msgid "_Remember and restore status of the last session" +#~ msgstr "Status der letzten Sitzung merken und wiede_rherstellen" + +#~ msgid "Status Messages" +#~ msgstr "Statusnachrichten" + +#~ msgid "None" +#~ msgstr "Keine(r)" + +#~ msgid "%s Status Message" +#~ msgstr "%s Statusnachricht" + +#~ msgid "Lists all preferences and their values" +#~ msgstr "Zeigt alle Einstellungen und ihre Werte" + +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "Setzt den Wert von 'Schlüssel' auf 'Wert'." + +#~ msgid "key=value" +#~ msgstr "Schlüssel=Wert" + +#~ msgid "'key' is the name of the preference, 'value' is what to set it to" +#~ msgstr "" +#~ "\"Schlüssel\" ist der Name der Einstellung, \"Wert\" ist der " +#~ "einzustellende Wert" + +#~ msgid "Deletes a preference item" +#~ msgstr "Löscht eine Einstellung" + +#~ msgid "key" +#~ msgstr "Schlüssel" + +#~ msgid "name of the preference to be deleted" +#~ msgstr "Name der zu löschenden Einstellung" + +#~ msgid "Writes the current state of Gajim preferences to the .config file" +#~ msgstr "" +#~ "Schreibt die aktuellen Gajim-Einstellungen in die Konfigurationsdatei" + +#~ msgid "default" +#~ msgstr "Standard" + +#~ msgid "" +#~ "Character to propose to add after desired nickname when nickname is " +#~ "already used in group chat." +#~ msgstr "" +#~ "Zeichen, das dem gewünschten Spitznamen angehängt wird, falls dieser im " +#~ "Gruppenchat bereits vergeben ist." + +#~ msgid "" +#~ "How many seconds to wait before trying to automatically rejoin a group " +#~ "chat you were disconnected from. Set to 0 to disable automatic rejoining." +#~ msgstr "" +#~ "Wie viele Sekunden soll gewartet werden, bevor einem Gruppenchat " +#~ "automatisch erneut beigetreten wird, von dem du getrennt worden bist? " +#~ "Setze den Wert auf 0, um das automatische Wiederbeitreten zu deaktivieren." + +#~ msgid "" +#~ "If enabled, Gajim will show affiliation of group chat participants by " +#~ "adding a colored square to the status icon." +#~ msgstr "" +#~ "Falls aktiviert, wird Gajim die Gruppenzugehörigkeit der Teilnehmer im " +#~ "Gruppenchat anzeigen, indem ein farbiges Quadrat zum Status-Icon " +#~ "hinzugefügt wird." + +#~ msgid "List of SSL errors to ignore (space separated)." +#~ msgstr "Liste der zu ignorierenden SSL-Fehler (getrennt durch Leerzeichen)." + +#~ msgid "" +#~ "How many seconds to wait for the answer of a ping alive packet before " +#~ "trying to reconnect." +#~ msgstr "" +#~ "Wie viele Sekunden auf eine Ping-Antwort gewartet werden soll, bevor ein " +#~ "neuer Verbindungsversuch gestartet wird." + +#~ msgid "I’m available." +#~ msgstr "Ich bin verfügbar." + +#~ msgid "Be right back." +#~ msgstr "Bin gleich zurück." + +#~ msgid "I’m not available." +#~ msgstr "Ich bin nicht verfügbar." + +#~ msgid "Do not disturb." +#~ msgstr "Bitte nicht stören." + +#~ msgid "Bye!" +#~ msgstr "Auf Wiedersehen!" + +#~ msgid "Timeout loading image" +#~ msgstr "Konnte Bild nicht laden" + +#~ msgid "Image is too big" +#~ msgstr "Das Bild ist zu groß" + +#~ msgid "PyCURL is not installed" +#~ msgstr "PyCURL ist nicht installiert" + +#~ msgid "Error loading image" +#~ msgstr "Fehler beim Laden des Bildes" + +#~ msgid "" +#~ "If enabled, Gajim will not ask for a status message. The specified " +#~ "default message will be used instead." +#~ msgstr "" +#~ "Falls aktiviert, wirst du nicht nach einer Statusnachricht gefragt. Die " +#~ "Standard-Statusnachricht wird benutzt." + +#~ msgid "Default Message" +#~ msgstr "Standard-Statusnachricht" + +#~ msgid "Preset Status Messages" +#~ msgstr "Voreingestellte Statusnachrichten" + +#~ msgid "Protocol" +#~ msgstr "Protokoll" + +#~ msgid "_Ignore this error for this certificate" +#~ msgstr "Fehler für dieses Zertifikat _ignorieren" + +#~ msgid "Preset _messages" +#~ msgstr "Voreingestellte _Nachrichten" + +#~ msgid "_Type your new status message" +#~ msgstr "_Gib eine neue Statusnachricht ein" + +#~ msgid "Mood:" +#~ msgstr "Stimmung:" + +#~ msgid "Message:" +#~ msgstr "Nachricht:" + +#~ msgid "Set Activity" +#~ msgstr "Aktivität festlegen" + +#~ msgid "Set an activity" +#~ msgstr "Eine Aktivität festlegen" + +#~ msgid "Message: " +#~ msgstr "Nachricht: " + +#~ msgid "Loading" +#~ msgstr "Lade" + +#~ msgid "status message title" +#~ msgstr "Statusbetreff" + +#~ msgid "status message text" +#~ msgstr "Statusnachricht" + +#~ msgid "No account available" +#~ msgstr "Kein Konto eingerichtet" + +#~ msgid "You must create an account before you can chat with other contacts." +#~ msgstr "" +#~ "Du musst ein Konto erstellen, bevor du Nachrichten mit anderen Kontakten " +#~ "austauschen kannst." + +#~ msgid "I'm free for chat." +#~ msgstr "Ich bin frei zum Chatten." + +#~ msgid "Privacy Lists:" +#~ msgstr "Privatsphären-Listen:" + +#~ msgid "Change Status Message…" +#~ msgstr "Statusnachricht ändern…" + +#~ msgid "none" +#~ msgstr "Niemand" + +#~ msgid "both" +#~ msgstr "Beide" + +#~ msgid "from" +#~ msgstr "von" + +#~ msgid "to" +#~ msgstr "zu" + +#~ msgid "Privacy List" +#~ msgstr "Privatsphären-Liste" + +#~ msgid "Privacy List" +#~ msgstr "Privatsphären-Liste" + +#~ msgid "Active for this session" +#~ msgstr "Aktiviert für diese Sitzung" + +#~ msgid "Active on each startup" +#~ msgstr "Bei jedem Start aktiv" + +#~ msgid "List of rules" +#~ msgstr "Liste aller Regeln" + +#~ msgid "Add / Edit a rule" +#~ msgstr "Hinzufügen / Ändern einer Regel" + +#~ msgid "Allow" +#~ msgstr "Erlaube" + +#~ msgid "Deny" +#~ msgstr "Verbiete" + +#~ msgid "all in the group" +#~ msgstr "allen in der Gruppe" + +#~ msgid "all by subscription" +#~ msgstr "alle per Abonnement" + +#~ msgid "All" +#~ msgstr "Allen" + +#~ msgid "to send me messages" +#~ msgstr "mir Nachrichten zu senden" + +#~ msgid "to send me queries" +#~ msgstr "mir Anfragen zu schicken" + +#~ msgid "to view my status" +#~ msgstr "meinen Status zu sehen" + +#~ msgid "to send me status" +#~ msgstr "mir den Status zu senden" + +#~ msgid "All (including subscription)" +#~ msgstr "Alles (Kontaktanfragen eingeschlossen)" + +#~ msgid "Order:" +#~ msgstr "Reihenfolge:" + +#~ msgid "" +#~ "Gajim aims to be an easy to use and fully-featured XMPP client. With " +#~ "Gajim you can chat through various XMPP services of your choice (e.g. " +#~ "Jabber.org) as well as transports (e.g. Facebook, IRC)." +#~ msgstr "" +#~ "Gajim zielt darauf ab, ein einfach zu benutzender und funktionsreicher " +#~ "XMPP-Client zu sein. Mit Gajim kannst du über verschiedene XMPP-" +#~ "Dienstanbieter deiner Wahl (z.B. Jabber.org) und über Transporte (z.B. " +#~ "Facebook, IRC) chatten." + +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "Es wurde(n) %(jid)s in %(room_jid)s eingeladen" + +#~ msgid "Privacy Lists" +#~ msgstr "Privatsphären-Listen" + +#~ msgid "Unblock" +#~ msgstr "Sperrung aufheben" + +#~ msgid "Block" +#~ msgstr "Sperren" + +#~ msgid "" +#~ "This contact will see you offline and you will not receive any messages " +#~ "sent to you by this contact." +#~ msgstr "" +#~ "Der Kontakt wird dich als offline sehen und du wirst von dem Kontakt " +#~ "keine Nachrichten mehr empfangen." + +#~ msgid "_Block Contact" +#~ msgstr "Kontakt _sperren" + +#~ msgid "Block Group" +#~ msgstr "Gruppe sperren" + +#~ msgid "Really block this group?" +#~ msgstr "Diese Gruppe wirklich sperren?" + +#~ msgid "" +#~ "All contacts of this group will see you as offline and you will not " +#~ "receive any messages sent to you by any one of these contacts." +#~ msgstr "" +#~ "Alle Kontakte dieser Gruppe werden dich als offline sehen und du wirst " +#~ "von den Kontakten der Gruppe keine Nachrichten mehr empfangen." + +#~ msgid "_Block Group" +#~ msgstr "Gruppe _sperren" + +#~ msgid "Error While Removing Privacy List" +#~ msgstr "Fehler beim Entfernen der Privatsphären-Liste" + +#~ msgid "" +#~ "Privacy list %s has not been removed. It is probably active in one of " +#~ "your connected resources. Please deactivate it and try again." +#~ msgstr "" +#~ "Die Privatsphären-Liste %s wurde nicht entfernt. Möglicherweise ist sie " +#~ "noch in einer deiner Verbindungen aktiv. Bitte deaktiviere diese und " +#~ "versuche es erneut." + +#~ msgid "Invisibility Not Supported" +#~ msgstr "Unsichtbarkeit wird nicht unterstützt" + +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "Das Konto %s unterstützt keine Unsichtbarkeit." + +#~ msgid "Privacy List %s" +#~ msgstr "Privatsphären-Liste %s" + +#~ msgid "Privacy List for %s" +#~ msgstr "Privatsphären-Liste für %s" + +#~ msgid "" +#~ "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" +#~ msgstr "" +#~ "Sortierung: %(order)s, Aktion: %(action)s, Typ: %(type)s, Wert: %(value)s" + +#~ msgid "Order: %(order)s, action: %(action)s" +#~ msgstr "Sortierung: %(order)s, Aktion: %(action)s" + +#~ msgid "Edit a rule" +#~ msgstr "Eine Regel bearbeiten" + +#~ msgid "Add a rule" +#~ msgstr "Eine Regel hinzufügen" + +#~ msgid "Privacy Lists for %s" +#~ msgstr "Privatsphären-Liste für %s" + +#~ msgid "Invalid List Name" +#~ msgstr "Ungültiger Name für die Liste" + +#~ msgid "You must enter a name to create a privacy list." +#~ msgstr "" +#~ "Du musst einen Namen eingeben, um eine Privatsphären-Liste erstellen zu " +#~ "können." + +#~ msgid "" +#~ "Deny authorization from contact so the contact cannot know if you are " +#~ "connected" +#~ msgstr "" +#~ "Dem Kontakt die Autorisierung verweigern, sodass er deinen Status nicht " +#~ "sehen kann" + +#~ msgid "Authorize contact so the contact can know if you are connected" +#~ msgstr "Kontakt autorisieren, sodass er deinen Status sehen kann" + +#~ msgid "Start New Conversation" +#~ msgstr "Chat starten" + +#~ msgid "Simulate loss of connectivity" +#~ msgstr "Simuliere Verbindungsverlust im Netzwerk" + +#~ msgid "Simulate regaining connectivity" +#~ msgstr "Simuliere die Wiederherstellung der Netzwerkverbindung" + +#~ msgid "Unknown SSL error: %d" +#~ msgstr "Unbekannter SSL-Fehler: %d" + +#~ msgid "Gajim - %s" +#~ msgstr "Gajim - %s" + +#~ msgid "" +#~ "Requires: libsecret and a provider (such as GNOME Keyring and " +#~ "KSecretService)" +#~ msgstr "" +#~ "Benötigt: libsecret und einen Anbieter (z.B. GNOME Keyring oder " +#~ "KSecretService)" + +#~ msgid "Choose interval between 2 checks of idleness." +#~ msgstr "Legen Sie den Zeitabstand zwischen zwei Leerlaufüberprüfungen fest." + +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "Kein Wörterbuch für die Sprache \"%s\" verfügbar" + +#~ msgid "" +#~ "You have to install the dictionary \"%s\" to use spellchecking, or choose " +#~ "another language by setting the speller_language option.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "Du musst das Wörterbuch \"%s\" installieren oder eine andere Sprache " +#~ "wählen (durch die Einstellung \"speller_language\"), um die " +#~ "Rechtschreibprüfung nutzen zu können.\n" +#~ "\n" +#~ "Die Hervorhebung falsch geschriebener Wörter wird nicht funktionieren" + +#~ msgid "_Reconnect" +#~ msgstr "Wieder ve_rbinden" + +#~ msgid "Quit" +#~ msgstr "Beenden" + +#~ msgid "Show Contact List" +#~ msgstr "Kontaktliste anzeigen" + +#~ msgid "Add to Contact List" +#~ msgstr "Kontakt hinzufügen" + +#~ msgid "Invite Contact" +#~ msgstr "Kontakt einladen" + +#~ msgid "Configure Group Chat" +#~ msgstr "Gruppenchat konfigurieren" + +#~ msgid "" +#~ "If enabled, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." +#~ msgstr "" +#~ "Falls aktiviert, wird auf jedem Tab mit ungelesenen Nachrichten ein Icon " +#~ "angezeigt. Abhängig vom Design kann dieses Icon auch animiert sein." + +#~ msgid "Show a mini avatar in chat window tabs and as the window's icon." +#~ msgstr "" +#~ "Kleines Kontaktbild in Chatfenster-Tabs und im Fenstersymbol anzeigen." + +#~ msgid "Show _avatar in chat tabs" +#~ msgstr "Kont_aktbild in Chat-Tabs anzeigen" + +#~ msgid "If checked, the contact's avatar will be shown in chat tabs" +#~ msgstr "Falls aktiviert, wird das Kontaktbild auch im Chat-Tab angezeigt" + +#~ msgid "Server must be between 1 and 1023 bytes" +#~ msgstr "Der Servername muss zwischen 1 und 1023 Zeichen lang sein" + +#~ msgid "Invalid character in hostname." +#~ msgstr "Ungültiges Zeichen im Hostname." + +#~ msgid "Server address required." +#~ msgstr "Server-Adresse benötigt." + +#~ msgid "Username must be between 1 and 1023 bytes" +#~ msgstr "Der Benutzername muss zwischen 1 und 1023 Zeichen lang sein" + +#~ msgid "Invalid character in username." +#~ msgstr "Ungültiges Zeichen im Benutzernamen." + +#~ msgid "Resource must be between 1 and 1023 bytes" +#~ msgstr "" +#~ "Der Name der XMPP-Ressource muss zwischen 1 und 1023 Zeichen lang sein" + +#~ msgid "Invalid character in resource." +#~ msgstr "Ungültiges Zeichen in der XMPP-Ressource." + +#~ msgid "Notification color for contacts signing in." +#~ msgstr "Farbe der Benachrichtigung, wenn sich ein Kontakt anmeldet." + +#~ msgid "Notification color for contacts signing out." +#~ msgstr "Farbe der Benachrichtigung, wenn sich ein Kontakt abmeldet." + +#~ msgid "Notification color for new message notification." +#~ msgstr "Farbe der Benachrichtigung bei neuen Nachrichten." + +#~ msgid "Notification color for file transfer request." +#~ msgstr "Farbe der Benachrichtigung bei Anfragen zu Dateiübertragungen." + +#~ msgid "Notification color for file transfer errors." +#~ msgstr "Farbe der Benachrichtigung bei Fehlern in der Dateiübertragung." + +#~ msgid "Notification color for stopped or completed file transfers." +#~ msgstr "" +#~ "Farbe der Benachrichtigung bei angehaltenen oder fertiggestellten " +#~ "Dateiübertragungen." + +#~ msgid "Notification color for group chat invitations." +#~ msgstr "Farbe der Benachrichtigung für Einladungen zu Gruppenchats." + +#~ msgid "Notification background color for changed status." +#~ msgstr "Hintergrundfarbe der Benachrichtigung bei Statusänderungen." + +#~ msgid "Notification color for other dialogs." +#~ msgstr "Farbe der Benachrichtigung bei anderen Nachrichten." + +#~ msgid "Event Type" +#~ msgstr "Ereignisarten" + +#~ msgid "Event desc" +#~ msgstr "Ereignisbeschreibung" + +#~ msgid "HTTP File Upload: Enable HTTPS Verification." +#~ msgstr "HTTP Datei-Upload: HTTPS-Zertifikat verifizieren." + +#~ msgid "No response from the Server" +#~ msgstr "Server liefert keine Antwort" + +#~ msgid "Resource Conflict" +#~ msgstr "Konflikt mit der XMPP-Ressource" + +#~ msgid "" +#~ "You are already connected to this account with the same resource. Please " +#~ "enter a different one." +#~ msgstr "" +#~ "Sie sind mit diesem Konto bereits mit derselben XMPP-Ressource verbunden. " +#~ "Bitte vergeben Sie eine andere XMPP-Ressource." + +#~ msgid "Unable to load image" +#~ msgstr "Konnte Bild nicht laden" + +#~ msgid "Media type not supported: %s" +#~ msgstr "Medientyp wird nicht unterstützt: %s" + +#~ msgid "This field is required" +#~ msgstr "Dieses Feld wird benötigt" + +#~ msgid "new@jabber.id" +#~ msgstr "neu@xmpp.id" + +#~ msgid "new%d@jabber.id" +#~ msgstr "neu%d@xmpp.id" + +#~ msgid "video output" +#~ msgstr "Video-Ausgabegerät" + +#~ msgid "5222" +#~ msgstr "5222" + +#~ msgid "START TLS" +#~ msgstr "START TLS" + +#~ msgid "DIRECT TLS" +#~ msgstr "DIRECT TLS" + +#~ msgid "PLAIN" +#~ msgstr "PLAIN" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Assistent zum Einrichten eines neuen Kontos" + +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "Sie müssen ein Konto haben, um sich zum\n" +#~ "XMPP-Netzwerk verbinden zu können." + +#~ msgid "I already have an account I want to _use" +#~ msgstr "Ich habe bereits ein Konto, das ich ben_utzen möchte" + +#~ msgid "I want to _register for a new account" +#~ msgstr "Ich möchte ein neues Konto _erstellen" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "Bitte wählen Sie eine der Optionen aus:" + +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "Bitte tragen Sie die Daten für Ihr bestehendes Konto ein" + +#~ msgid "_XMPP Address:" +#~ msgstr "_XMPP-Adresse:" + +#~ msgid "Anon_ymous authentication" +#~ msgstr "Anon_yme Authentifizierung" + +#~ msgid "_Password:" +#~ msgstr "_Passwort:" + +#~ msgid "Save pass_word" +#~ msgstr "Pass_wort speichern" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "Falls aktiviert, wird Gajim das Passwort für dieses Konto speichern" + +#~ msgid "Please select a server" +#~ msgstr "Bitte einen Server auswählen" + +#~ msgid "_Server:" +#~ msgstr "_Server:" + +#~ msgid "Manage..." +#~ msgstr "Verwalten..." + +#~ msgid "_Port:" +#~ msgstr "_Port:" + +#~ msgid "_Advanced" +#~ msgstr "_Erweitert" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA1 fingerprint of the certificate:\n" +#~ msgstr "" +#~ "Dieses Zertifikat der Liste vertrauenswürdiger Zertifikate hinzufügen.\n" +#~ "SHA1-Fingerabdruck dieses Zertifikates:\n" + +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "Verbinde zum Server\n" +#~ "\n" +#~ "Bitte warten..." + +#~ msgid "Connect when I press Finish" +#~ msgstr "Verbinden, sobald ich auf Fertig klicke" + +#~ msgid "Set my profile when I connect" +#~ msgstr "Mein Profil einrichten, wenn ich mich verbinde" + +#~ msgid "_Finish" +#~ msgstr "_Beenden" + +#~ msgid "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." +#~ msgstr "" +#~ "Sie können erweiterte Kontooptionen festlegen, indem Sie auf Erweitert " +#~ "klicken, oder später den Eintrag Konto im Gajim-Menü in der Kontaktliste " +#~ "auswählen." + +#~ msgid "Your new account has been created successfully" +#~ msgstr "Ihr neues Konto wurde erfolgreich erstellt" + +#~ msgid "Invalid username" +#~ msgstr "Ungültiger Benutzername" + +#~ msgid "You must provide a username to configure this account." +#~ msgstr "" +#~ "Sie müssen einen Benutzernamen angeben, um dieses Konto zu konfigurieren." + +#~ msgid "Invalid server" +#~ msgstr "Ungültiger Server" + +#~ msgid "Please provide a server on which you want to register." +#~ msgstr "" +#~ "Bitte geben Sie den Server an, bei dem Sie sich registrieren möchten." + +#~ msgid "Invalid entry" +#~ msgstr "Ungültiger Eintrag" + +#~ msgid "Certificate Already in File" +#~ msgstr "Zertifikat bereits in der Datei" + +#~ msgid "This certificate is already in file %s, so it's not added again." +#~ msgstr "" +#~ "Dieses Zertifikat wird nicht erneut hinzugefügt, da es sich bereit in der " +#~ "Datei %s befindet." + +#~ msgid "" +#~ "Security Warning\n" +#~ "\n" +#~ "The authenticity of the %(hostname)s SSL certificate could be invalid.\n" +#~ "SSL Error: %(error)s\n" +#~ "Do you still want to connect to this server?" +#~ msgstr "" +#~ "Sicherheitswarnung\n" +#~ "\n" +#~ "Möglicherweise ist das SSL-Zertifikat %(hostname)s nicht echt.\n" +#~ "SSL-Fehler: %(error)s\n" +#~ "Möchten Sie sich dennoch zum Server verbinden?" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA-256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Dieses Zertifikat der Liste vertrauenswürdiger Zertifikate hinzufügen.\n" +#~ "SHA-1-Fingerabdruck des Zertifikates:\n" +#~ "%(sha1)s\n" +#~ "SHA-256-Fingerabdruck des Zertifikates:\n" +#~ "%(sha256)s" + +#~ msgid "Account name is in use" +#~ msgstr "Der Kontoname ist bereits vergeben" + +#~ msgid "You already have an account using this name." +#~ msgstr "Sie haben bereits ein Konto mit diesem Namen." + +#~ msgid "Cipher" +#~ msgstr "Cipher" + +#~ msgid "Allow plaintext connections." +#~ msgstr "Erlaube unverschlüsselte Verbindungen." + +#~ msgid "" +#~ "List of authentication mechanisms to try (space separated). Can contain " +#~ "'ANONYMOUS', 'EXTERNAL', 'GSSAPI', 'SCRAM-SHA-1-PLUS', 'SCRAM-SHA-1', " +#~ "'DIGEST-MD5', 'PLAIN', 'X-MESSENGER-OAUTH2' or 'XEP-0078'." +#~ msgstr "" +#~ "Durch Leerzeichen getrennte Liste der zu anzuwendenden " +#~ "Authentifizierungsmechanismen. Mögliche Werte sind \"ANONYMOUS\", " +#~ "\"EXTERNAL\", \"GSSAPI\", \"SCRAM-SHA-1-PLUS\", \"SCRAM-SHA-1\", \"DIGEST-" +#~ "MD5\", \"PLAIN\", \"X-MESSENGER-OAUTH2\" oder \"XEP-0078\"." + +#~ msgid "Show a warning dialog before using standard SSL library." +#~ msgstr "" +#~ "Warnmeldung anzeigen, bevor die Standard-SSL-Bibliothek verwendet wird." + +#~ msgid "If enabled, a whitespace is sent after inactivity (keep alive)." +#~ msgstr "" +#~ "Falls aktiviert, wird Gajim ein Leerzeichen nach Untätigkeit (keep alive) " +#~ "senden." + +#~ msgid "If enabled, an XMPP ping is sent after inactivity (ping alive)." +#~ msgstr "" +#~ "Falls aktiviert, wird Gajim ein XMPP-Ping nach Untätigkeit (ping alive) " +#~ "senden." + +#~ msgid "Connection with account \"%s\" has been lost" +#~ msgstr "Verbindung mit Konto \"%s\" wurde verloren" + +#~ msgid "Reconnect manually." +#~ msgstr "Manuelle Wiederherstellung der Verbindung." + +#~ msgid "Server %(name)s answered wrongly to register request: %(error)s" +#~ msgstr "" +#~ "Der Server %(name)s beantwortete die Registrierungsanfrage falsch: " +#~ "%(error)s" + +#~ msgid "Server %s provided a different registration form" +#~ msgstr "Der Server %s hat ein anderes Registrierungsformular angeboten" + +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "" +#~ "Die Verbindung mit \"%(host)s\" über den Proxy \"%(proxy)s\" konnte nicht " +#~ "hergestellt werden" + +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "Die Verbindung mit \"%(host)s\" konnte nicht hergestellt werden" + +#~ msgid "Check your connection or try again later." +#~ msgstr "" +#~ "Überprüfen Sie die Verbindung oder versuchen Sie es später noch einmal." + +#~ msgid "Server replied: %s" +#~ msgstr "Server antwortete: %s" + +#~ msgid "Connection to proxy failed" +#~ msgstr "Verbindung mit Proxy fehlgeschlagen" + +#~ msgid "Could not connect to account %s" +#~ msgstr "Die Verbindung zum Konto %s konnte nicht hergestellt werden" + +#~ msgid "Connection with account %s has been lost. Retry connecting." +#~ msgstr "" +#~ "Die Verbindung zum Konto %s wurde unterbrochen. Es wird versucht, sie " +#~ "wiederherzustellen." + +#~ msgid "Please check your login and password for correctness." +#~ msgstr "Bitte überprüfen Sie Benutzernamen und Passwort." + +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "HTTP-Connect" + +#~ msgctxt "proxy configuration" +#~ msgid "BOSH" +#~ msgstr "BOSH" + +#~ msgid "Use HTTP prox_y" +#~ msgstr "HTTP-Prox_y verwenden" + +#~ msgid "https://example.org/http-bind/" +#~ msgstr "https://beispiel.org/http-bind/" + +#~ msgid "_BOSH URL" +#~ msgstr "_BOSH-URL" + +#~ msgid "BOSH" +#~ msgstr "BOSH" + +#~ msgid "Warn on insecure connection" +#~ msgstr "Warnen, bevor eine unsichere Verbindung verwendet wird" + +#~ msgid "Contact list, list of contacts" +#~ msgstr "Kontaktliste, Liste von Kontakten" + +#~ msgid "Disconnect for Invisibility" +#~ msgstr "Verbindung trennen für Unsichtbarkeit" + +#~ msgid "You are participating in one or more group chats" +#~ msgstr "Sie nehmen an einem oder mehreren Gruppenchats teil" + +#~ msgid "" +#~ "Changing your status to invisible will result in you leaving those group " +#~ "chats.\n" +#~ "Are you sure you want to go invisible?" +#~ msgstr "" +#~ "Wenn Sie Ihren Status auf unsichtbar setzen, werden Sie diese " +#~ "Gruppenchats verlassen.\n" +#~ "Sind Sie sicher, dass Sie unsichtbar werden möchten?" + +#~ msgid "_Disconnect" +#~ msgstr "_Verbindung trennen" + +#~ msgid "You cannot join a group chat while you are invisible" +#~ msgstr "" +#~ "Sie können einem Gruppenchat nicht beitreten, wenn Sie unsichtbar sind" + +#~ msgid "Invisible" +#~ msgstr "Unsichtbar" + +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "" +#~ "Sie können einem Gruppenchat nicht beitreten während Sie unsichtbar sind." + +#~ msgid "_Invisible" +#~ msgstr "_Unsichtbar" + +#~ msgid "Yesterday" +#~ msgid_plural "%(nb_days)i days ago" +#~ msgstr[0] "Gestern" +#~ msgstr[1] "Vor %(nb_days)i Tagen" + +#~ msgid "_Cancel Upload" +#~ msgstr "Hochladen _abbrechen" + +#~ msgid "Got unexpected response from server (see log)." +#~ msgstr "Unerwartete Antwort vom Server bekommen (siehe Log)" + +#~ msgid " [blocked]" +#~ msgstr " [gesperrt]" + +#~ msgid " [minimized]" +#~ msgstr " [minimiert]" + +#~ msgid "" +#~ "If you close this tab while having chat history disabled, this message " +#~ "will be lost." +#~ msgstr "" +#~ "Wenn Sie den Tab schließen und der Unterhaltungsverlauf abgeschaltet ist, " +#~ "geht diese Nachricht verloren." + +#~ msgid "Unregister Failed" +#~ msgstr "Deregistrierung fehlgeschlagen" + +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "Deregistrierung auf Server %(server)s fehlgeschlagen: %(error)s" + +#~ msgid "New Password" +#~ msgstr "Neues Passwort" + +#~ msgid "What do you want to do?" +#~ msgstr "Was möchten Sie tun?" + +#~ msgid "Remove account from Gajim and from _server" +#~ msgstr "Konto entfernen (in Gajim und auf dem _Server)" + +#~ msgid "You must enter a password" +#~ msgstr "Sie müssen ein Passwort eingeben" + +#~ msgid "You still have open chats in your account %s" +#~ msgstr "Sie haben mit dem Konto %s Chats geöffnet" + +#~ msgid "To unregister from a server, the account must be enabled." +#~ msgstr "Um sich vom Server abzumelden, muss das Konto aktiviert sein." + +#~ msgid "Password required" +#~ msgstr "Passwort benötigt" + +#~ msgid "Still connected to the server" +#~ msgstr "Sie sind noch mit dem Server verbunden" + +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "" +#~ "Das Konto \"%s\" ist noch mit dem Server verbunden. Wenn Sie es " +#~ "entfernen, wird die Verbindung unterbrochen." + +#~ msgid "Connection to server %s failed" +#~ msgstr "Verbindung zu Server %s fehlgeschlagen" + +#~ msgid "What would you like to do?" +#~ msgstr "Was möchten Sie tun?" + +#~ msgid "Remove only from Gajim" +#~ msgstr "Konto nur aus Gajim entfernen" + +#~ msgid "Don't remove anything. I'll try again later" +#~ msgstr "Bitte nichts entfernen. Ich versuche es später noch einmal" + +#~ msgid "Contents" +#~ msgstr "Inhalte" + +#~ msgid "FAQ" +#~ msgstr "FAQ" + +#~ msgid "Save as Preset Status Message" +#~ msgstr "Als Vorlage für Statusnachrichten speichern" + +#~ msgid "Enter a new nickname for contact %s" +#~ msgstr "Geben Sie einen neuen Spitznamen für den Kontakt %s ein" + +#~ msgid "Join a group chat" +#~ msgstr "Einem Gruppenchat beitreten" + +#~ msgid "Accept" +#~ msgstr "Annehmen" + +#~ msgid "" +#~ "You tried to delete the currently active theme. Please switch to a " +#~ "different theme first." +#~ msgstr "" +#~ "Sie haben versucht, ein gerade aktives Design zu löschen. Bitte wechseln " +#~ "sie zuerst zu einem anderen Design." + +#~ msgid "New entry received" +#~ msgstr "Neuer Eintrag empfangen" + +#~ msgid "You have received new entry:" +#~ msgstr "Sie haben einen neuen Eintrag erhalten:" + +#~ msgid "Feed name:" +#~ msgstr "Feed-Name:" + +#~ msgid "Last modified:" +#~ msgstr "Zuletzt geändert:" + +#~ msgid "Next entry" +#~ msgstr "Nächster Eintrag" + +#~ msgid "Send file?" +#~ msgstr "Datei senden?" + +#~ msgid "Mail _client" +#~ msgstr "E-Mail-_Programm" + +#~ msgid "_Browser" +#~ msgstr "_Webbrowser" + +#~ msgid "_File manager" +#~ msgstr "_Dateiverwaltung" + +#~ msgid "Custom applications" +#~ msgstr "Benutzerdefinierte Programme" + +#~ msgid "Applications" +#~ msgstr "Programme" + +#~ msgid "" +#~ "Uses ReStructured text markup to send HTML, plus ASCII formatting if " +#~ "selected. Needs docutils installed (for syntax, see http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Verwendet ReStructuredText als Text-Markup für HTML und ASCII-" +#~ "Formatierung, falls aktiviert. Falls Sie dieses Feature benutzen möchten, " +#~ "installieren Sie docutils (Informationen zur Syntax finden Sie unter " +#~ "http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html " +#~ "(Englisch))." + +#~ msgid "Store XHTML messages in chat history instead of plain text messages." +#~ msgstr "" +#~ "XHTML-Nachrichten anstelle von reinen Textnachrichten im " +#~ "Unterhaltungsverlauf speichern." + +#~ msgid "_Ignore formatting of incoming messages" +#~ msgstr "Formatierung in eingehenden Nachrichten _ignorieren" + +#~ msgid "" +#~ "Some messages may include rich content (xhtml formatting, colors etc). If " +#~ "checked, Gajim will just display the plain message text." +#~ msgstr "" +#~ "Einige Nachrichten können formatierten Inhalt enthalten (Farben, " +#~ "Schriftarten usw.). Falls aktiviert, wird Gajim nur den reinen " +#~ "Nachrichtentext anzeigen." + +#~ msgid "RST XHTML Generator" +#~ msgstr "RST-XHTML-Generator" + +#~ msgid "Enables Gajim to generate XHTML output from RST code (%(url)s)" +#~ msgstr "Ermöglicht Gajim die Erstellung von XHTML aus RST-Code (%(url)s)" + +#~ msgid "Requires: python-docutils" +#~ msgstr "Benötigt: python-docutils" + +#~ msgid "New Single Message" +#~ msgstr "Neue einzelne Nachricht" + +#~ msgid "" +#~ "Can be empty, 'chat' or 'normal'. If not empty, all incoming messages are " +#~ "treated as if they were of this type." +#~ msgstr "" +#~ "Kann leer, \"chat\" oder \"normal\" sein. Wenn nicht leer, werden alle " +#~ "eingehenden Nachrichten so behandelt, als wären sie vom gewählten Typ." + +#~ msgid "Error %(code)s: %(msg)s" +#~ msgstr "Fehler %(code)s: %(msg)s" + +#~ msgid "twelve" +#~ msgstr "Zwölf" + +#~ msgid "one" +#~ msgstr "Eins" + +#~ msgid "two" +#~ msgstr "Zwei" + +#~ msgid "three" +#~ msgstr "Drei" + +#~ msgid "four" +#~ msgstr "Vier" + +#~ msgid "five" +#~ msgstr "Fünf" + +#~ msgid "six" +#~ msgstr "Sechs" + +#~ msgid "seven" +#~ msgstr "Sieben" + +#~ msgid "eight" +#~ msgstr "Acht" + +#~ msgid "nine" +#~ msgstr "Neun" + +#~ msgid "ten" +#~ msgstr "Zehn" + +#~ msgid "eleven" +#~ msgstr "Elf" + +#~ msgid "%(0)s o'clock" +#~ msgstr "%(0)s Uhr" + +#~ msgid "five past %(0)s" +#~ msgstr "fünf nach %(0)s" + +#~ msgid "ten past %(0)s" +#~ msgstr "zehn nach %(0)s" + +#~ msgid "quarter past %(0)s" +#~ msgstr "viertel nach %(0)s" + +#~ msgid "twenty past %(0)s" +#~ msgstr "zwanzig nach %(0)s" + +#~ msgid "twenty five past %(0)s" +#~ msgstr "fünfundzwanzig Minuten nach%(0)s" + +#~ msgid "half past %(0)s" +#~ msgstr "halbe Stunde nach %(0)s" + +#~ msgid "twenty five to %(1)s" +#~ msgstr "fünf nach halb %(1)s" + +#~ msgid "twenty to %(1)s" +#~ msgstr "zwanzig vor %(1)s" + +#~ msgid "quarter to %(1)s" +#~ msgstr "viertel vor %(1)s" + +#~ msgid "ten to %(1)s" +#~ msgstr "zehn vor %(1)s" + +#~ msgid "five to %(1)s" +#~ msgstr "fünf vor %(1)s" + +#~ msgid "%(1)s o'clock" +#~ msgstr "%(1)s Uhr" + +#~ msgid "Night" +#~ msgstr "Nachts" + +#~ msgid "Early morning" +#~ msgstr "Frühmorgens" + +#~ msgid "Morning" +#~ msgstr "Morgens" + +#~ msgid "Almost noon" +#~ msgstr "Fast mittags" + +#~ msgid "Noon" +#~ msgstr "Mittags" + +#~ msgid "Afternoon" +#~ msgstr "Nachmittags" + +#~ msgid "Evening" +#~ msgstr "Abends" + +#~ msgid "Late evening" +#~ msgstr "Spätabends" + +#~ msgid "Start of week" +#~ msgstr "Anfang der Woche" + +#~ msgid "Middle of week" +#~ msgstr "Mitte der Woche" + +#~ msgid "End of week" +#~ msgstr "Ende der Woche" + +#~ msgid "Weekend!" +#~ msgstr "Wochenende!" + +#~ msgid "" +#~ "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or " +#~ "0 to disable Fuzzy Clock. 1 is the most precise clock, 4 the least " +#~ "precise one. This is used only if 'print_time' is 'sometimes'." +#~ msgstr "" +#~ "Zeige die Zeit in Chats mittels ungenauer Uhr an. Werte für die " +#~ "Ungenauigkeit sind 1 bis 4, je höher, desto ungenauer. 0 deaktiviert die " +#~ "ungenaue Uhr. Die ungenaue Uhr wird nur verwendet, wenn \"print_time\" " +#~ "auf \"sometimes\" gesetzt ist." + +#~ msgid "message" +#~ msgstr "Nachricht" + +#~ msgid "error: %s" +#~ msgstr "Fehler: %s" + +#~ msgid "Form: %s" +#~ msgstr "Formular: %s" + +#~ msgid "XML Input" +#~ msgstr "XML-Direkteingabe" + +#~ msgid "If enabled, Gajim will send message receipt requests." +#~ msgstr "" +#~ "Falls aktiviert, wird Gajim Anfragen zu Empfangsbestätigungen versenden." + +# TODO: Typo +#~ msgid "Ttitle" +#~ msgstr "Titel" + +#~ msgid "%(type)s encryption is active %(authenticated)s" +#~ msgstr "%(type)s Verschlüsselung aktiv %(authenticated)s" + +#~ msgid "Screen" +#~ msgstr "Bildschirm" + +#~ msgid "Fake video output" +#~ msgstr "Simulierte Videoausgabe" + +#~ msgid "X Window System (X11/XShm/Xv): %s" +#~ msgstr "X Window System (X11/XShm/Xv): %s" + +#~ msgid "X Window System (without Xv)" +#~ msgstr "X Window System (ohne Xv)" + +#~ msgid "V_ideo output device" +#~ msgstr "V_ideoausgabegerät" + +#~ msgid "" +#~ "\n" +#~ "Disabled in config" +#~ msgstr "" +#~ "\n" +#~ "In der Konfiguration deaktiviert" + +#~ msgid "Conversation with " +#~ msgstr "Unterhaltung mit " + +#~ msgid "Continued conversation" +#~ msgstr "Unterhaltung fortsetzen" + +#~ msgid "%s has invited you to join a discussion" +#~ msgstr "%s hat Sie in einen Gruppenchat eingeladen" + +#~ msgid "_Send Private Message" +#~ msgstr "Private Nachricht _senden" + +#~ msgid "Participant Actions" +#~ msgstr "Teilnehmeraktionen" + +#~ msgid "_Voice" +#~ msgstr "_Schreibrecht" + +#~ msgid "Mo_derator" +#~ msgstr "Mo_derator" + +#~ msgid "_Member" +#~ msgstr "_Mitglied" + +#~ msgid "_Admin" +#~ msgstr "_Administrator" + +#~ msgid "_Owner" +#~ msgstr "_Besitzer" + +#~ msgid "_Add to Contact List" +#~ msgstr "Kontakt _hinzufügen" + +#~ msgid "_Execute command" +#~ msgstr "B_efehl ausführen" + +#~ msgid "Change _Nickname..." +#~ msgstr "Spitz_namen ändern..." + +#~ msgid "_Manage Group Chat" +#~ msgstr "Gruppenchat _verwalten" + +#~ msgid "Change _Subject..." +#~ msgstr "_Thema ändern..." + +#~ msgid "Configure _Group Chat..." +#~ msgstr "Gruppenchat _konfigurieren..." + +#~ msgid "_Destroy Group Chat" +#~ msgstr "Gruppenchat _auflösen" + +#~ msgid "_Minimize on close" +#~ msgstr "Beim Schließen _minimieren" + +#~ msgid "_Request Voice" +#~ msgstr "Schreibrecht anfo_rdern" + +#~ msgid "_Bookmark" +#~ msgstr "_Gruppenchat speichern" + +#~ msgid "The authenticity of the %s certificate could be invalid" +#~ msgstr "Die Authentizität des %s Zertifikats könnte ungültig sein" + +#~ msgid "" +#~ "\n" +#~ "Unknown SSL error: %d" +#~ msgstr "" +#~ "\n" +#~ "Unbekannter SSL-Fehler: %d" + +#~ msgid "" +#~ "\n" +#~ "SSL Error: %s" +#~ msgstr "" +#~ "\n" +#~ "SSL-Fehler: %s" + +#~ msgid "Error verifying SSL certificate" +#~ msgstr "Fehler bei der Überprüfung des SSL-Zertifikats" + +#~ msgid "View certificate…" +#~ msgstr "Zertifikat anzeigen…" + +#~ msgid "Continue" +#~ msgstr "Fortsetzen" + +#~ msgid "" +#~ "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM " +#~ "IS RUNNING)" +#~ msgstr "" +#~ "Möchten Sie die Datenbank aufräumen? (NICHT EMPFOHLEN, WENN GAJIM GERADE " +#~ "LÄUFT)" + +#~ msgid "Authorization" +#~ msgstr "Autorisierung" + +#~ msgid "" +#~ "All chat and group chat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Alle Chatfenster und Gruppenchats werden geschlossen. Wollen Sie " +#~ "fortfahren?" + +#~ msgid "Account '%s' is still connected to the server" +#~ msgstr "Das Konto \"%s\" ist noch mit dem Server verbunden" + +#~ msgid "Error While Saving" +#~ msgstr "Fehler beim Speichern" + +#~ msgid "" +#~ "Image cannot be saved in %(type)s format.\n" +#~ "Save as %(new_filename)s?" +#~ msgstr "" +#~ "Das Bild kann nicht im %(type)s-Format gespeichert werden.\n" +#~ "Als %(new_filename)s speichern?" + +#~ msgid "Save _As" +#~ msgstr "Speichern _unter" + +#~ msgid "Yes, I really want to connect insecurely" +#~ msgstr "Ja, ich möchte eine unsichere Verbindung herstellen" + +#~ msgid "Gajim will NOT connect unless you check this box" +#~ msgstr "" +#~ "Gajim wird sich NICHT verbinden, wenn Sie diese Option nicht aktivieren" + +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "Ungültige XMPP-Adresse für den Gruppenchat" + +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "Die XMPP-Adresse des Gruppenchats enthält ungültige Zeichen." + +#~ msgid "You may specify a reason below:" +#~ msgstr "Sie können eine Begründung angeben:" + +#~ msgid "Banning %s" +#~ msgstr "%s wird gesperrt" + +#~ msgid "Destroy this group chat permanently?" +#~ msgstr "Diesen Gruppenchat dauerhaft auflösen?" + +#~ msgid "Reason..." +#~ msgstr "Begründung..." + +#~ msgid "_Reason and alternate venue (optional)" +#~ msgstr "Beg_ründung und Ausweichort (optional)" + +#~ msgid "" +#~ "Always ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Immer fragen, bevor Gruppenchats aus dieser Liste von XMPP-Adressen " +#~ "(getrennt durch Leerzeichen) geschlossen werden." + +#~ msgid "" +#~ "Never ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Niemals fragen, bevor Gruppenchats aus dieser Liste von XMPP-Adressen " +#~ "(getrennt durch Leerzeichen) geschlossen werden." + +#~ msgid "Leave Group Chats" +#~ msgstr "Gruppenchats verlassen" + +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "%(nickname)s aus dem Gruppenchat %(room_jid)s" + +#~ msgid "You have not joined a group chat." +#~ msgstr "Sie sind derzeit keinem Gruppenchat beigetreten." + +#~ msgid "Choose the group chats you want to leave" +#~ msgstr "Wählen Sie die Gruppenchats, die Sie verlassen möchten" + +#~ msgid "You left the following group chats:" +#~ msgstr "Sie haben folgende Gruppenchats verlassen:" + +#~ msgid "" +#~ "Should automatic rejoin be activated when you were kicked from a group " +#~ "chat?" +#~ msgstr "" +#~ "Soll einem Gruppenchat nachdem Sie rausgeworfen worden sind automatisch " +#~ "wieder beigetreten werden?" + +#~ msgid "" +#~ "If disabled, Gajim will display a static event icon instead of the " +#~ "blinking status icon in the notification area when notifying about an " +#~ "event." +#~ msgstr "" +#~ "Falls deaktiviert, zeigt Gajim bei neuen Ereignissen ein statisches Icon " +#~ "anstatt des blinkenden Icons im Benachrichtigungsbereich an." + +#~ msgid "Don't show avatar for the transport itself." +#~ msgstr "Zeige kein Kontaktbild für den Transport an sich an." + +#~ msgid "" +#~ "Show a confirmation dialog for a custom status? Empty string means never " +#~ "show the dialog." +#~ msgstr "" +#~ "Soll ein Bestätigungsdialog für den benutzerdefinierten Status angezeigt " +#~ "werden? Bei einer leeren Zeichenfolge wird der Dialog niemals gezeigt." + +#~ msgid "" +#~ "If enabled, notification windows from notification-daemon will be " +#~ "attached to the notification area icon." +#~ msgstr "" +#~ "Falls aktiviert, werden Benachrichtigungsfenster des notofication-daemon " +#~ "an das Benachrichtigungssymbol angehängt." + +#~ msgid "" +#~ "Show a warning dialog before sending PLAIN password over a plain " +#~ "connection." +#~ msgstr "" +#~ "Warnmeldung anzeigen, bevor das UNVERSCHLÜSSELTE Passwort über eine " +#~ "unsichere Verbindung übertragen wird." + +#~ msgid "" +#~ "List of XMPP Addresses (space separated) for which you accept to not " +#~ "store chat history if your contact does not want to." +#~ msgstr "" +#~ "Durch Leerzeichen getrennte Liste von XMPP-Adressen, für welche kein " +#~ "Unterhaltungsverlauf gespeichert werden soll, falls der Kontakt dies " +#~ "wünscht." + +#~ msgid "Jabberd2 workaround." +#~ msgstr "Jabberd2-Workaround." + +#~ msgid "Configure Services…" +#~ msgstr "Dienste konfigurieren…" + +#~ msgid "Group Chat Bookmarks" +#~ msgstr "Gruppenchats verwalten" + +#~ msgid "Add Bookmark" +#~ msgstr "Gruppenchat hinzufügen" + +#~ msgid "Remove Bookmark" +#~ msgstr "Gespeicherten Gruppenchat entfernen" + +#~ msgid "N_ame" +#~ msgstr "_Name" + +#~ msgid "_Server" +#~ msgstr "_Server" + +#~ msgid "Roo_m" +#~ msgstr "G_ruppenchat" + +#~ msgid "_Password" +#~ msgstr "_Passwort" + +#~ msgid "Join chat when connected" +#~ msgstr "Chat beitreten, sobald eine Verbindung besteht" + +#~ msgid "_Join Automatically" +#~ msgstr "A_utomatisch beitreten" + +#~ msgid "New Group Chat" +#~ msgstr "Neuer Gruppenchat" + +#~ msgid "This bookmark has invalid data" +#~ msgstr "Dieser gespeicherte Gruppenchat beinhaltet ungültige Daten" + +#~ msgid "" +#~ "Please be sure to fill out server and group chat fields or remove this " +#~ "bookmark." +#~ msgstr "" +#~ "Bitte füllen Sie die Server- und Gruppenchat-Felder aus oder löschen Sie " +#~ "den gespeicherten Gruppenchat." + +#~ msgid "Character not allowed" +#~ msgstr "Zeichen nicht erlaubt" + +#~ msgid "Invalid Group Chat" +#~ msgstr "Ungültiger Gruppenchat" + +#~ msgid "Unable to join group chat" +#~ msgstr "Konnte dem Gruppenchat nicht beitreten" + +#~ msgid "You are banned from group chat %s." +#~ msgstr "Sie wurden im Gruppenchat %s gesperrt." + +#~ msgid "Remote server %s does not exist." +#~ msgstr "Der Server %s existiert nicht." + +#~ msgid "Group chat %s does not exist." +#~ msgstr "Der Gruppenchat %s existiert nicht." + +#~ msgid "Group chat creation is not permitted." +#~ msgstr "Das Erstellen von Gruppenchats ist nicht erlaubt." + +#~ msgid "You must use your registered nickname in %s." +#~ msgstr "" +#~ "Sie müssen Ihren registrierten Spitznamen im Gruppenchat %s " +#~ "verwenden." + +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "Sie sind nicht auf der Mitgliederliste des Gruppenchats %s." + +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "XMPP-Adresse ist kein Gruppenchat" + +#~ msgid "This is not a group chat" +#~ msgstr "Dies ist kein Gruppenchat" + +#~ msgid "" +#~ "%(room_jid)s is already in your contact list. Please check if " +#~ "%(room_jid)s is a correct group chat name. If it is, delete it from your " +#~ "contact list and try joining the group chat again." +#~ msgstr "" +#~ "%(room_jid)s ist bereits in Ihrer Kontaktliste. Bitte prüfen Sie, ob " +#~ "%(room_jid)s ein gültiger Gruppenchatname ist. Falls ja, löschen Sie ihn " +#~ "von Ihrer Kontaktliste und versuchen Sie erneut beizutreten." + +#~ msgid "Please choose a group chat" +#~ msgstr "Bitte wählen sie einen Gruppenchat" + +#~ msgid "Invalid Nickname" +#~ msgstr "Ungültiger Spitzname" + +#~ msgid "Wrong server" +#~ msgstr "Falscher Server" + +#~ msgid "%s is not a group chat server" +#~ msgstr "%s ist kein Gruppenchat-Server" + +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit." +#~ msgstr "" +#~ "Wie viele der letzten Nachrichten sollen beim Beitreten eines " +#~ "Gruppenchats abgefragt werden? -1 bedeutet kein Limit." + +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit." +#~ msgstr "" +#~ "Wie viele Minuten zurück sollen Nachrichten beim Beitreten eines " +#~ "Gruppenchats abgefragt werden? -1 bedeutet kein Limit." + +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit, -2 means global value." +#~ msgstr "" +#~ "Wie viele der letzten Nachrichten beim Beitreten eines Gruppenchats " +#~ "abgefragt werden sollen. -1 bedeutet kein Limit, -2 bedeutet globale " +#~ "Einstellung." + +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit, -2 means global value." +#~ msgstr "" +#~ "Wie viele Minuten zurück Nachrichten beim Beitreten eines Gruppenchats " +#~ "abgefragt werden sollen. -1 bedeutet kein Limit, -2 bedeutet globale " +#~ "Einstellung." + +#~ msgid "A Password is required to join the group chat %s. Please type it." +#~ msgstr "" +#~ "Um dem Gruppenchat %s beizutreten wird ein Passwort benötigt. Bitte geben " +#~ "Sie das Passwort ein." + +#~ msgid "Not in Roster" +#~ msgstr "Nicht in der Kontaktliste" + +#~ msgid "I would like to add you to my roster" +#~ msgstr "Ich würde Sie gerne zu meiner Kontaktliste hinzufügen" + +#~ msgid "Add to Roster" +#~ msgstr "Zur Kontaktliste hinzufügen" + +#~ msgid "Audio Session" +#~ msgstr "Audiositzung" + +#~ msgid "Manage Room" +#~ msgstr "Gruppenchat verwalten" + +#~ msgid "Configure Room" +#~ msgstr "Gruppenchat konfigurieren" + +#~ msgid "Destroy Room" +#~ msgstr "Gruppenchat auflösen" + +#~ msgid "Change Nick" +#~ msgstr "Spitz_namen ändern" + +#~ msgid "Disconnect" +#~ msgstr "Verbindung trennen" + +#~ msgid "Copy JID" +#~ msgstr "JID kopieren" + +#~ msgid "Add to Roster…" +#~ msgstr "Zur Kontaktliste hinzufügen…" + +#~ msgid "Copy JID/Email" +#~ msgstr "JID/E-Mail-Adresse kopieren" + +#~ msgid "JID: %s" +#~ msgstr "JID: %s" + +#~ msgid "Changing Subject" +#~ msgstr "Thema ändern" + +#~ msgid "Please specify the new subject:" +#~ msgstr "Bitte wählen Sie ein neues Thema:" + +#~ msgid "Room logging is now enabled" +#~ msgstr "Die Gruppenchat-Aufzeichnung ist jetzt aktiviert" + +#~ msgid "Room logging is now disabled" +#~ msgstr "Die Gruppenchat-Aufzeichnung ist jetzt deaktiviert" + +#~ msgid "You (%s) joined the room" +#~ msgstr "Sie (%s) sind dem Gruppenchat beigetreten" + +#~ msgid "Room logging is enabled" +#~ msgstr "Gruppenchat-Aufzeichnung ist aktiviert" + +#~ msgid "Unable to join groupchat" +#~ msgstr "Konnte dem Gruppenchat nicht beitreten" + +#~ msgid "Groupchat Invitation" +#~ msgstr "Gruppenchat-Einladung" + +#~ msgid "%(jid)s has been invited in this room" +#~ msgstr "%(jid)s wurde in diesen Gruppenchat eingeladen" + +#~ msgid "JID is not a Groupchat" +#~ msgstr "Die JID ist kein Gruppenchat" + +#~ msgid "Invalid JID" +#~ msgstr "Ungültige JID" + +#~ msgid "A connection is not available" +#~ msgstr "Keine Verbindung verfügbar" + +#~ msgid "JID already in list" +#~ msgstr "Die JID ist bereits in der Liste" + +#~ msgid "Unsecure" +#~ msgstr "Unsicher" + +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "" +#~ "Für die gewählte Verschlüsselung ist keine Verschlüsselungsmethode " +#~ "verfügbar" + +#~ msgid "Removes contact from roster" +#~ msgstr "Entfernt Kontakt aus der Kontaktliste" + +#~ msgid "Not in roster" +#~ msgstr "Nicht in der Kontaktliste" + +#~ msgid "Contact signed in notification color." +#~ msgstr "Farbe der Benachrichtigung bei Anmeldung eines Kontaktes." + +#~ msgid "Contact signout notification color" +#~ msgstr "Farbe der Benachrichtigung bei Anmeldung von Kontakten" + +#~ msgid "File transfer request notification color." +#~ msgstr "Farbe der Benachrichtigung bei Dateiübertragungsanfragen." + +#~ msgid "File transfer error notification color." +#~ msgstr "Farbe der Benachrichtigung bei Dateiübertragungsfehlern." + +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "" +#~ "Farbe der Benachrichtigung bei vollständigen oder gestoppten " +#~ "Dateiübertragungen." + +#~ msgid "Groupchat invitation notification color" +#~ msgstr "Farbe der Benachrichtigung bei Einladung zu einem Gruppenchat" + +#~ msgid "Other dialogs color." +#~ msgstr "Andere Dialogfarben." + +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "Sollen * und [n] in den Titel der Kontaktliste eingefügt werden?" + +#~ msgid "Hides the banner in two persons chat window" +#~ msgstr "Versteckt den Banner im Einzelnachrichtenfenster" + +#~ msgid "" +#~ "Show the confirm metacontacts creation dialog or not? Empty string means " +#~ "never show the dialog." +#~ msgstr "" +#~ "Soll der Bestätigungsdialog beim Erstellen von Metakontakten angezeigt " +#~ "werden? Bei einer leeren Zeichenfolge wird der Dialog niemals gezeigt." + +#~ msgid "If true, You will also see your webcam" +#~ msgstr "Falls aktiviert, wird auch Ihre Webcam angezeigt" + +#~ msgid "If the room subject is shown in chat on join" +#~ msgstr "Ob beim Beitreten des Gruppenchats das Thema angezeigt werden soll" + +#~ msgid "Space separated list of ssl errors to ignore." +#~ msgstr "" +#~ "Durch Leerzeichen getrennte Liste der SSL-Fehler, die zu ignorieren sind." + +#~ msgid "Answer to receipt requests" +#~ msgstr "Beantworte Anfragen zu Empfangsbestätigungen" + +#~ msgid "Language for which misspelled words will be checked" +#~ msgstr "Sprache, die für die Rechtschreibprüfung verwendet werden soll" + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "Ich esse gerade, bitte hinterlasse eine Nachricht." + +#~ msgid "" +#~ "This message was encrypted with OpenPGP for XMPP and could not be " +#~ "decrypted." +#~ msgstr "" +#~ "Diese Nachricht wurde mit OpenPGP für XMPP verschlüsselt und konnte nicht " +#~ "entschlüsselt werden." + +#~ msgid "from room %s" +#~ msgstr "von Gruppenchat %s" + +#~ msgid "Leave Groupchats" +#~ msgstr "Verlasse Gruppenchats" + +#~ msgid "Auto Join" +#~ msgstr "Automatisch beitreten" + +#~ msgid "Room" +#~ msgstr "Gruppenchat" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber-ID:" + +#~ msgid "Occupant Actions" +#~ msgstr "Teilnehmer-Aktionen" + +#~ msgid "_Add to Roster" +#~ msgstr "Zur Kont_aktliste hinzufügen" + +#~ msgid "_Manage Room" +#~ msgstr "Gruppenchat _verwalten" + +#~ msgid "Configure _Room..." +#~ msgstr "G_ruppenchat konfigurieren..." + +#~ msgid "_Destroy Room" +#~ msgstr "_Gruppenchat auflösen" + +#~ msgid "Jabber ID" +#~ msgstr "Jabber-ID" + +#, fuzzy +#~ msgid "account" +#~ msgstr "Konto" + +#~ msgid "Roster" +#~ msgstr "Kontaktliste" + +#~ msgid "Show only in roster" +#~ msgstr "Nur in der Kontaktliste zeigen" + +#~ msgid "in _roster" +#~ msgstr "in der _Kontaktliste" + +#~ msgid "Roster Appearance" +#~ msgstr "Erscheinungsbild der Kontaktliste" + +#~ msgid "Show chatstate in roster" +#~ msgstr "Zeige Chatstatus in der Kontaktliste" + +#~ msgid "_Add to Roster..." +#~ msgstr "Zur Kont_aktliste hinzufügen..." + +#~ msgid "_Jabber ID:" +#~ msgstr "_Jabber-ID:" + +#~ msgid "_Jabber ID" +#~ msgstr "_Jabber-ID" + +#~ msgid "JabberID" +#~ msgstr "Jabber-ID" + +#~ msgid "Show Roster" +#~ msgstr "Kontaktliste anzeigen" + +#~ msgid "MUC server" +#~ msgstr "Gruppenchat-Server" + +#~ msgid "Roster Shortcuts" +#~ msgstr "Tastenkürzel für die Kontaktliste" + +#~ msgid "Room Configuration" +#~ msgstr "Verwaltung des Gruppenchats" + +#~ msgid "Join _Group Chat" +#~ msgstr "_Gruppenchat beitreten" + +#~ msgid "Toggle audio session" +#~ msgstr "Zwischen Audio-Sitzung umschalten" + +#~ msgid "Audio sessions are not available" +#~ msgstr "Keine Audiositzungen verfügbar" + +#~ msgid "Conference" +#~ msgstr "Gruppenchat" + +#~ msgid "_Manage Bookmarks…" +#~ msgstr "Gruppenchats verwalte_n…" + +#~ msgid "Hide _Roster" +#~ msgstr "Kontaktliste ve_rstecken" + +#~ msgid "Show _Roster" +#~ msgstr "_Kontaktliste anzeigen" + +#~ msgid "Invalid Room" +#~ msgstr "Ungültiger Gruppenchat" + +#~ msgid "Invalid room" +#~ msgstr "Ungültiger Gruppenchat" + +#~ msgid "A GTK+ Jabber client" +#~ msgstr "Ein XMPP-Client in GTK" + +#~ msgid "Changing Nickname" +#~ msgstr "Spitznamen ändern" + +#~ msgid "Please specify the new nickname you want to use:" +#~ msgstr "Bitte geben Sie an, welchen Spitznamen Sie verwenden möchten:" + +#~ msgid "Bookmark already set" +#~ msgstr "Gruppenchat ist bereits gespeichert" + +#~ msgid "Group Chat '%s' is already in your bookmarks." +#~ msgstr "Gruppenchat \"%s\" wurde bereits gespeichert." + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "Gruppenchat wurde erfolgreich gespeichert" + +#~ msgid "" +#~ "You can manage your bookmarks by clicking the Bookmarks menu item in your " +#~ "contact list." +#~ msgstr "" +#~ "Sie können Ihre Gruppenchats über den Menüpunkt Gespeicherte Gruppenchats " +#~ "in der Kontaktliste verwalten." + +#~ msgid "The nickname contains invalid characters." +#~ msgstr "Der Spitzname enthält ungültige Zeichen." + +#~ msgid "Bookmark Room" +#~ msgstr "Gruppenchat speichern" + +#~ msgid "_Join New Group Chat" +#~ msgstr "_Neuem Gruppenchat beitreten" + +#~ msgid "Name:" +#~ msgstr "Name:" + +#~ msgid "Description:" +#~ msgstr "Beschreibung:" + +#~ msgid "Address:" +#~ msgstr "Adresse:" + +#~ msgid "" +#~ "Semi-Anonymous\n" +#~ "(Only moderators can see your XMPP-Address)" +#~ msgstr "" +#~ "Semi-anonym\n" +#~ "(Nur Moderatoren können Ihre XMPP-Adresse sehen)" + +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "" +#~ "Sie können keine neue Unterhaltung beginnen, solange Sie nicht verbunden " +#~ "sind." + +#~ msgid "Occupants" +#~ msgstr "Teilnehmer" + +#~ msgid "" +#~ "Participants entering this group chat can write messages to all " +#~ "participants" +#~ msgstr "" +#~ "Teilnehmer, die diesem Gruppenchat beitreten können allen anderen " +#~ "Teilnehmern schreiben" + +#~ msgid "_Modify Account..." +#~ msgstr "_Konto bearbeiten..." + +#~ msgid "Boolean" +#~ msgstr "Boolesch" + +#~ msgid "Integer" +#~ msgstr "Ganzzahl" + +#~ msgid "Text" +#~ msgstr "Text" + +#~ msgid "Value" +#~ msgstr "Wert" + +#~ msgid "(None)" +#~ msgstr "(Keine)" + +#~ msgid "Hidden" +#~ msgstr "Versteckt" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "Verwaltung der Proxy-Profile" + +#~ msgid "Properties" +#~ msgstr "Eigenschaften" + +#~ msgid "Proxy _Port" +#~ msgstr "Proxy-_Port" + +#~ msgid "New Groupchat" +#~ msgstr "Neuer Gruppenchat" + +#~ msgid "New Contact" +#~ msgstr "Neuer Kontakt" + +#~ msgid "%s GiB" +#~ msgstr "%s GiB" + +#~ msgid "%s GB" +#~ msgstr "%s GB" + +#~ msgid "%s MiB" +#~ msgstr "%s MiB" + +#~ msgid "%s MB" +#~ msgstr "%s MB" + +#~ msgid "%s KiB" +#~ msgstr "%s KiB" + +#~ msgid "%s KB" +#~ msgstr "%s KB" + +#~ msgid "%s B" +#~ msgstr "%s B" + +#~ msgid "%s MiB/s" +#~ msgstr "%s MiB/s" + +#~ msgid "File transfer" +#~ msgstr "Dateiübertragung" + +#~ msgid "Open _Containing Folder" +#~ msgstr "In Dateiverwaltung _anzeigen" + +#~ msgid "Default:" +#~ msgstr "Standard:" + +#~ msgid "Success!" +#~ msgstr "Erfolgreich!" + +#, fuzzy +#~ msgid "toolbutton" +#~ msgstr "Schaltfläche" + +#~ msgid "Really quit Gajim?" +#~ msgstr "Gajim wirklich beenden?" + +#~ msgid "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" +#~ msgstr "" +#~ "Sie können nun keine Nachrichten mehr mit Kontakten über diese Transporte " +#~ "austauschen: %s" + +#~ msgid "Contact \"%s\" will be removed from your roster" +#~ msgstr "Kontakt \"%s\" wird von Ihrer Kontaktliste entfernt" + +#~ msgid "" +#~ "By removing this contact you also by default remove authorization " +#~ "resulting in them always seeing you as offline." +#~ msgstr "" +#~ "Durch das Entfernen dieses Kontaktes entziehen Sie ihm normalerweise auch " +#~ "die Berechtigung, Ihren Status zu sehen, wodurch der Kontakt Sie nur noch " +#~ "als offline sehen wird." + +#~ msgid "Contacts will be removed from your roster" +#~ msgstr "Kontakte werden von Ihrer Kontaktliste entfernt" + +#~ msgid "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorization resulting in them always seeing you as " +#~ "offline." +#~ msgstr "" +#~ "Durch das Entfernen dieser Kontakte:%s\n" +#~ "entziehen Sie ihnen auch die Berechtigung, Ihren Status zu sehen, wodurch " +#~ "die Kontakte Sie nur noch als offline sehen werden." + +#~ msgid "Con_tinue" +#~ msgstr "Wei_ter" + +#~ msgid "_Pause" +#~ msgstr "_Pause" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "Entferne Dateiübertragung aus der Liste." + +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "" +#~ "Diese Aktion entfernt eine Dateiübertragung aus der Liste. Falls die " +#~ "Übertragung aktiv ist, wird sie erst gestoppt und anschließend entfernt" + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "Bricht die ausgewählte Dateiübertragung ab" + +#~ msgid "Hide the window" +#~ msgstr "Versteckt das Fenster" + +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "" +#~ "Zeige eine Benachrichtigung, wenn die Datei vollständig übertragen wurde" + +#~ msgid "From:" +#~ msgstr "Von:" + +#~ msgid "Subject:" +#~ msgstr "Betreff:" + +#~ msgid "%s wants to send you a file:" +#~ msgstr "%s möchte Ihnen eine Datei senden:" + +#~ msgid "Name: " +#~ msgstr "Name: " + +#~ msgid "Pause" +#~ msgstr "Pause" + +#~ msgid "Execute Command" +#~ msgstr "Befehl ausführen" + +#~ msgid "Type: " +#~ msgstr "Typ: " + +#~ msgid "Transferred: " +#~ msgstr "Übertragen: " + +#~ msgid "Completed" +#~ msgstr "Abgeschlossen" + +#~ msgid "Stalled" +#~ msgstr "Steht still" + +#~ msgid "Transferring" +#~ msgstr "Übertrage" + +#~ msgid "Not started" +#~ msgstr "Nicht gestartet" + +#~ msgid "%s day" +#~ msgid_plural "%s days" +#~ msgstr[0] "%s Tag" +#~ msgstr[1] "%s Tage" + +#~ msgid "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Alle Chatfenster und Gruppenchats werden geschlossen. Wollen Sie " +#~ "fortfahren?" + +#~ msgid "" +#~ "Your desired nickname in group chat\n" +#~ "%s\n" +#~ "is in use or registered by another occupant.\n" +#~ "Please specify another nickname below:" +#~ msgstr "" +#~ "Der gewünschte Spitzname für den Gruppenchat\n" +#~ "%s\n" +#~ "wird bereits verwendet oder wurde von einem anderen Teilnehmer " +#~ "registriert.\n" +#~ "Bitte geben Sie einen anderen Spitznamen ein:" + +#~ msgid "_Configure" +#~ msgstr "_Konfigurieren" + +#~ msgid "Change the avatar" +#~ msgstr "Kontaktbild ändern" + +#~ msgid "" +#~ "Account in which the avatar will be set; if not specified, the avatar " +#~ "will be set for all accounts" +#~ msgstr "" +#~ "Konto, für welches das Kontaktbild festgelegt wird; falls nicht " +#~ "angegeben, wird das Kontaktbild allen Konten zugewiesen" + +#~ msgid "" +#~ "How to display avatars:\n" +#~ "'rounded_corners' - Display avatars with cropped corners.\n" +#~ "'circle' - Display round avatars.\n" +#~ "'no_clipping' - Display avatar as-is." +#~ msgstr "" +#~ "Darstellung von Profilbildern:\n" +#~ "'rounded_corners' - Zeigt Profilbilder mit abgerundeten Ecken.\n" +#~ "'circle' - Zeigt kreisförmige Profilbilder.\n" +#~ "'no_clipping' - Zeigt Profilbilder unverändert." + +#~ msgid "add" +#~ msgstr "hinzufügen" + +#~ msgid "modify" +#~ msgstr "ändern" + +#~ msgid "remove" +#~ msgstr "entfernen" + +#~ msgid "" +#~ "If true, restored messages will use a smaller font than the default one." +#~ msgstr "" +#~ "Falls aktiviert, werden wiederhergestellte Nachrichten mit einer etwas " +#~ "kleineren Schrift als normal dargestellt." + +#~ msgid "Restored Message Color" +#~ msgstr "Farbe wiederhergestellter Nachrichten" + +#~ msgid "" +#~ "You are going to remove this room permanently.\n" +#~ "You may specify a reason below:" +#~ msgstr "" +#~ "Der Gruppenchat wird hiermit endgültig gelöscht.\n" +#~ "Sie können eine Begründung angeben:" + +#~ msgid "Send Cus_tom Status" +#~ msgstr "Benu_tzerdefinierten Status senden" + +#~ msgid "" +#~ "You are about to send a custom status. Are you sure you want to continue?" +#~ msgstr "" +#~ "Sie sind dabei, einen benutzerdefinierten Status zu senden. Wollen Sie " +#~ "wirklich fortfahren?" + +#~ msgid "" +#~ "This contact will temporarily see you as %(status)s, but only until you " +#~ "change your status. Then they will see your global status." +#~ msgstr "" +#~ "Dieser Kontakt wird Sie vorläufig als %(status)s sehen, aber nur bis Sie " +#~ "Ihren Status ändern. Dann wird er Ihren globalen Status sehen." + +#~ msgid "" +#~ msgstr "" + +#~ msgid "" +#~ msgstr "" + +#~ msgid "#" +#~ msgstr "Nr." + +#~ msgid "You are about to block a contact. Are you sure you want to continue?" +#~ msgstr "" +#~ "Sie sind dabei, einen Kontakt zu blockieren. Wollen Sie wirklich " +#~ "fortfahren?" + +#~ msgid "To:" +#~ msgstr "An:" + +#~ msgid "0" +#~ msgstr "0" + +#~ msgid "" +#~ "On startup, Gajim will download logs stored on server, provided the " +#~ "server supports XEP-0313" +#~ msgstr "" +#~ "Beim Starten wird Gajim auf dem Server gespeicherte Logs herunterladen, " +#~ "wenn der Server XEP-0313 unterstützt" + +#~ msgid "" +#~ "If enabled and if server supports this feature, Gajim will receive " +#~ "messages sent and received by other resources." +#~ msgstr "" +#~ "Falls aktiviert und vom Server unterstützt, wird Gajim Nachrichten " +#~ "empfangen, die von anderen XMPP-Ressourcen gesendet oder empfangen wurden." + +#~ msgid "Reconnect when connection is lost" +#~ msgstr "Automatisch wiederverbinden, wenn die Verbindung unterbrochen wurde" + +#~ msgid "Server Message Archive" +#~ msgstr "Serverseitiges Nachrichtenarchiv" + +#~ msgid "" +#~ "Messages get stored on the server. The archive is used to sync messages " +#~ "between multiple devices. (XEP-0313)" +#~ msgstr "" +#~ "Nachrichten werden auf dem Server gespeichert. Das Archiv wird zum " +#~ "Synchronisieren von Nachrichten zwischen mehreren Geräten verwendet. " +#~ "(XEP-0313)" + +#~ msgid "Message Carbons" +#~ msgstr "Nachrichtenkopien" + +#~ msgid "" +#~ "All your other online devices get copies of sent and received messages. " +#~ "XEP-0280" +#~ msgstr "" +#~ "Alle ihre Geräte bekommen Kopien der gesendeten und empfangenen " +#~ "Nachrichten. (XEP-0280)" + +#~ msgid "" +#~ "Sent chat state notifications. Can be one of all, composing_only, " +#~ "disabled." +#~ msgstr "" +#~ "Senden von Chatstatus-Benachrichtigungen. Kann auf \"all\", " +#~ "\"composing_only\" oder \"disabled\" gesetzt werden." + +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "Erlaube das Senden der Leerlaufzei_t des Computers" + +#~ msgid "" +#~ "If checked, others will be allowed to detect the idle time of your system" +#~ msgstr "" +#~ "Falls aktiviert, erlaubt Gajim Ihren Kontakten, die Leerlaufzeit auf " +#~ "ihres Computers anzufragen" + +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "Erl_aube das Senden von Informationen zur lokalen Systemzeit" + +#~ msgid "" +#~ "If checked, others will be allowed to detect the local time on your system" +#~ msgstr "" +#~ "Falls aktiviert, erlaubt Gajim Ihren Kontakten, die Uhrzeit auf ihrem " +#~ "System anzufragen" + +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "Erlaube das Senden von Client-/Betriebssystem-Inf_ormation" + +#~ msgid "" +#~ "If checked, others will be allowed to detect the operating system you are " +#~ "using" +#~ msgstr "" +#~ "Falls aktiviert, erlaubt Gajim Ihren Kontakten, das von Ihnen genutzte " +#~ "Betriebssystem anzufragen" + +#~ msgid "" +#~ "If checked, incoming events from unauthorized contacts will be ignored. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster." +#~ msgstr "" +#~ "Falls aktiviert, werden eingehende Ereignisse von nicht autorisierten " +#~ "Kontakten ignoriert. Vorsicht: Sie können dann nur noch Nachrichten von " +#~ "Kontakten empfangen, die in Ihrer Kontaktliste sind." + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." +#~ msgstr "" +#~ "Gajim kann Zusatzinformationen zu einer Unterhaltung empfangen und " +#~ "versenden. Hier können Sie festlegen, welche Chatstatus-" +#~ "Benachrichtigungen Sie Ihrem Gegenüber senden möchten." + +#~ msgid "S_end chat state notifications" +#~ msgstr "Benachrichtigungen über den Chatstatus _senden" + +#~ msgid "Login Options" +#~ msgstr "Anmeldeoptionen" + +#~ msgid "Please wait while retrieving search form..." +#~ msgstr "Bitte warten Sie, während das Suchformular geladen wird..." + +#~ msgid "_Add contact" +#~ msgstr "_Kontakt hinzufügen" + +#~ msgid "Ad-hoc Commands - Gajim" +#~ msgstr "Ad-hoc Befehle - Gajim" + +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "Bitte warten Sie, während die Befehlsliste empfangen wird..." + +#~ msgid "Choose command to execute:" +#~ msgstr "Wählen Sie den auszuführenden Befehl:" + +#~ msgid "Check once more" +#~ msgstr "Noch einmal überprüfen" + +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "Bitte warten Sie, während der Befehl gesendet wird..." + +#~ msgid "This jabber entity does not expose any commands." +#~ msgstr "Diese XMPP-Instanz bietet keine Befehle an." + +#~ msgid "F_inish" +#~ msgstr "Fert_igstellen" + +#~ msgid "Waiting for results" +#~ msgstr "Warte auf Ergebnisse" + +#~ msgid "Error in received dataform" +#~ msgstr "Fehler im empfangenen Datenformular" + +#~ msgid "No result" +#~ msgstr "Kein Ergebnis" + +#~ msgid "Failed to get secret keys" +#~ msgstr "Die geheimen Schlüssel konnten nicht empfangen werden" + +#~ msgid "There is no OpenPGP secret key available." +#~ msgstr "Kein OpenPGP-Schlüssel verfügbar." + +#~ msgid "OpenPGP Key Selection" +#~ msgstr "OpenPGP-Schlüsselauswahl" + +#~ msgid "Choose your OpenPGP key" +#~ msgstr "Wählen Sie Ihren OpenPGP-Schlüssel" + +#~ msgid "KeyID" +#~ msgstr "Schlüssel-ID" + +#~ msgid "Contact name" +#~ msgstr "Name des Kontakts" + +#~ msgid "Formatting is not available so long as GPG is active" +#~ msgstr "Formatierung ist nicht verfügbar, wenn GPG aktiv ist" + +#~ msgid "OpenPGP is not usable" +#~ msgstr "OpenPGP ist nicht benutzbar" + +#~ msgid "" +#~ "Gajim needs python-gnupg >= 0.3.8\n" +#~ "Beware there is an incompatible Python package called gnupg.\n" +#~ "You will be connected to %s without OpenPGP." +#~ msgstr "" +#~ "Gajim benötigt python-gnupg >= 0.3.8\n" +#~ "Achtung, es gibt ein inkompatibles Python-Paket mit dem Namen gnupg.\n" +#~ "Sie werden ohne OpenPGP zu %s verbunden." + +#~ msgid "Assign OpenPGP Key" +#~ msgstr "OpenPGP-Schlüssel zuweisen" + +#~ msgid "Select a key to apply to the contact" +#~ msgstr "Weisen Sie dem Kontakt einen Schüssel zu" + +#~ msgid "" +#~ "You configured Gajim to use OpenPGP agent, but there is no OpenPGP agent " +#~ "running or it returned a wrong passphrase.\n" +#~ msgstr "" +#~ "Sie haben Gajim für die Verwendung des OpenPGP-Agents konfiguriert, aber " +#~ "es läuft kein OpenPGP-Agent oder er gab ein falsches Passwort zurück.\n" + +#~ msgid "You are currently connected without your OpenPGP key." +#~ msgstr "Sie sind derzeit ohne Ihren OpenPGP-Schlüssel verbunden." + +#~ msgid "Wrong passphrase" +#~ msgstr "Falsches Passwort" + +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "Falsches OpenPGP-Passwort" + +#~ msgid "Passphrase Required" +#~ msgstr "Passwort benötigt" + +#~ msgid "" +#~ "Enter OpenPGP key passphrase for key %(keyid)s (account %(account)s)." +#~ msgstr "" +#~ "Geben Sie das OpenPGP-Passwort für den Schlüssel %(keyid)s ein (Konto: " +#~ "%(account)s)." + +#~ msgid "OpenPGP key expired" +#~ msgstr "OpenPGP-Schlüssel abgelaufen" + +#~ msgid "" +#~ "Your OpenPGP key has expired, you will be connected to %s without OpenPGP." +#~ msgstr "" +#~ "Ihr OpenPGP-Schlüssel ist abgelaufen, Sie werden ohne OpenPGP-" +#~ "Verschlüsselung mit %s verbunden." + +#~ msgid "Wrong Passphrase" +#~ msgstr "Falsches Passwort" + +#~ msgid "Please retype your OpenPGP passphrase or press Cancel." +#~ msgstr "" +#~ "Bitte geben Sie Ihr OpenPGP-Passwort erneut ein oder klicken Sie auf " +#~ "Abbrechen." + +#~ msgid "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Sendet eine Nachricht an einen Kontakt in der Kontaktliste. OpenPGP-" +#~ "Schlüssel und Konto sind optional. Falls nur das Konto ohne einen OpenPGP-" +#~ "Schlüssel festgelegt werden soll, setzen Sie \"OpenPGP-Schlüssel\" " +#~ "einfach auf \"\"." + +#~ msgid "PGP key" +#~ msgstr "PGP-Schlüssel" + +#~ msgid "if specified, the message will be encrypted using this public key" +#~ msgstr "" +#~ "falls angegeben, wird die Nachricht mit diesem öffentlichen Scblüssel " +#~ "verschlüsselt" + +#~ msgid "" +#~ "Sends a chat message to someone on your roster. Optionally with OpenPGP " +#~ "key and account. If you want to only set the latter, set OpenPGP key to " +#~ "\"\"." +#~ msgstr "" +#~ "Sendet eine Nachricht an einen Kontakt in der Kontaktliste. OpenPGP-" +#~ "Schlüssel und Konto sind optional. Falls nur das Konto ohne einen OpenPGP-" +#~ "Schlüssel festgelegt werden soll, setzen Sie \"OpenPGP-Schlüssel\" " +#~ "einfach auf \"\"." + +#~ msgid "Sets the encoding used by python-gnupg" +#~ msgstr "Legt die Codierung fest, die von python-gnupg eingesetzt wird" + +#~ msgid "" +#~ "If disabled, don't sign presences with GPG key, even if GPG is configured." +#~ msgstr "" +#~ "Falls deaktiviert, wird der Online-Status selbst dann nicht mit einem GPG-" +#~ "Schlüssel signiert, wenn GPG konfiguriert ist." + +#~ msgid "OpenPGP:" +#~ msgstr "OpenPGP:" + +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "OpenPGP-Schlüssel zuweisen..." + +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "OpenPGP-Nachrichtenverschlüsselung" + +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "Ermöglicht Gajim die Verschlüsselung von Nachrichten per OpenPGP" + +#~ msgid "Requires: gpg and python-gnupg (%(url)s)" +#~ msgstr "Benötigt: gpg und python-gnupg (%(url)s)" + +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "Benötigt: gpg.exe in der PATH-Umgebungsvariable" + +#~ msgid "Use PGP Agent" +#~ msgstr "PGP-Agent verwenden" + +#~ msgid "OpenPGP Key" +#~ msgstr "OpenPGP-Schlüssel" + +#~ msgid "Cancel confirmation" +#~ msgstr "Bestätigung abbrechen" + +#~ msgid "" +#~ "You are in process of executing command. Do you really want to cancel it?" +#~ msgstr "" +#~ "Sie sind dabei, einen Befehl auszuführen. Wollen Sie wirklich abbrechen?" + +#~ msgid "Service sent malformed data" +#~ msgstr "Der Dienst sendete unzureichende Daten" + +#~ msgid "Service changed the session identifier." +#~ msgstr "Der Dienst hat die Sitzungskennung geändert." + +#~ msgid "%s - Ad-hoc Commands - Gajim" +#~ msgstr "%s - Ad-hoc Befehle - Gajim" + +#~ msgid "Service returned an error." +#~ msgstr "Der Dienst gab einen Fehler zurück." + +#~ msgid "You are invited to a groupchat" +#~ msgstr "Sie wurden in einen Gruppenchat eingeladen" + +#~ msgid "" +#~ "Issued to:\n" +#~ "Common Name (CN): %(scn)s\n" +#~ "Organization (O): %(sorg)s\n" +#~ "Organizationl Unit (OU): %(sou)s\n" +#~ "Serial Number: %(sn)s\n" +#~ "\n" +#~ "Issued by:\n" +#~ "Common Name (CN): %(icn)s\n" +#~ "Organization (O): %(iorg)s\n" +#~ "Organizationl Unit (OU): %(iou)s\n" +#~ "\n" +#~ "Validity:\n" +#~ "Issued on: %(io)s\n" +#~ "Expires on: %(eo)s\n" +#~ "\n" +#~ "Fingerprint\n" +#~ "SHA-1 Fingerprint: %(sha1)s\n" +#~ "\n" +#~ "SHA-256 Fingerprint: %(sha256)s\n" +#~ msgstr "" +#~ "Ausgestellt an:\n" +#~ "Gewöhnlicher Name (CN): %(scn)s\n" +#~ "Organisation (O): %(sorg)s\n" +#~ "Organisationseinheit (OU): %(sou)s\n" +#~ "Seriennummer: %(sn)s\n" +#~ "\n" +#~ "Ausgestellt durch:\n" +#~ "Gewöhnlicher Name (CN): %(icn)s\n" +#~ "Organisation (O): %(iorg)s\n" +#~ "Organisationseinheit (OU): %(iou)s\n" +#~ "\n" +#~ "Gültigkeit:\n" +#~ "Ausgestellt am: %(io)s\n" +#~ "Läuft ab am: %(eo)s\n" +#~ "\n" +#~ "Fingerabdruck\n" +#~ "SHA-1-Fingerabdruck: %(sha1)s\n" +#~ "\n" +#~ "SHA-256-Fingerabdruck: %(sha256)s\n" + +#~ msgid "_Start Chat" +#~ msgstr "Chat _starten" + +#~ msgid "Au_thorize" +#~ msgstr "Au_torisieren" + +#~ msgid "Really send file?" +#~ msgstr "Datei wirklich senden?" + +#~ msgid "You are currently connected to the server" +#~ msgstr "Sie sind im Moment mit dem Server verbunden" + +#~ msgid "To disable the account, you must be disconnected." +#~ msgstr "Zum Deaktivieren des Kontos, müssen Sie offline sein." + +#~ msgid "Do you wish to delete all correspondence with %(jid)s?" +#~ msgstr "" +#~ "Möchten Sie den gesamten Unterhaltungsverlauf mit %(jid)s wirklich " +#~ "löschen?" + +#~ msgid "Do you wish to delete all correspondence with the selected contacts?" +#~ msgstr "" +#~ "Möchten Sie den Unterhaltungsverlauf mit dem ausgewählten Kontakt " +#~ "wirklich löschen?" + +#~ msgid "This can not be undone." +#~ msgstr "Dieser Schritt kann nicht rückgängig gemacht werden." + +#~ msgid "What do you want to do?" +#~ msgstr "Was möchten Sie tun?" + +#~ msgid "" +#~ "List of colors, separated by \":\", that will be used to color nicknames " +#~ "in group chats." +#~ msgstr "" +#~ "Liste der Farben, die zum Einfärben der Spitznamen in Gruppenchats " +#~ "verwendet werden sollen (Werte getrennt durch \":\")." + +#~ msgid "You have received new entries (and %d not displayed):" +#~ msgid_plural "You have received new entries (and %d not displayed):" +#~ msgstr[0] "" +#~ "Sie haben neue Einträge erhalten (und %d werden nicht angezeigt):" +#~ msgstr[1] "" +#~ "Sie haben neue Einträge erhalten (und %d werden nicht angezeigt):" + +#~ msgid "Stopped" +#~ msgstr "Gestoppt" + +#~ msgid "" +#~ "You are about to send your password on an insecure connection. You should " +#~ "install PyOpenSSL to prevent that. Are you sure you want to do that?" +#~ msgstr "" +#~ "Sie sind dabei, Ihr Passwort über eine unsichere Verbindung zu senden. Es " +#~ "ist ratsam, PyOpenSSL zu installieren, um dieses Problem zu beheben. Sind " +#~ "Sie sicher, dass Sie sich verbinden möchten?" + +#~ msgid "Status messages displayed in chat window" +#~ msgstr "Im Chatfenster angezeigte Statusnachrichten" + +#~ msgid "?print_status:All" +#~ msgstr "Alle" + +#~ msgid "Enter and leave only" +#~ msgstr "Nur beitreten und verlassen" + +#~ msgid "?print_status:None" +#~ msgstr "Keinen" + +#~ msgid "Untrusted OpenPGP key" +#~ msgstr "Unvertrauenswürdiger OpenPGP-Schlüssel" + +# TODO: GPG/PGP unification in original strings needed +#~ msgid "" +#~ "The OpenPGP key used to encrypt this chat is not trusted. Do you really " +#~ "want to encrypt this message?" +#~ msgstr "" +#~ "Der GPG-Schlüssel zum Verschlüsseln dieses Chats ist nicht " +#~ "vertrauenswürdig. Möchten Sie diese Nachricht wirklich verschlüsseln?" + +#~ msgid "D-Bus python bindings are missing in this computer" +#~ msgstr "Auf diesem Computer fehlen die Python-Bibliotheken für D-Bus" + +#~ msgid "D-Bus capabilities of Gajim cannot be used" +#~ msgstr "Die D-Bus-Fähigkeiten können nicht genutzt werden" + +#~ msgid "D-Bus does not run correctly on this machine" +#~ msgstr "D-Bus läuft nicht korrekt auf diesem Rechner" + +#~ msgid "D-Bus does not run correctly on this machine: system bus not present" +#~ msgstr "D-Bus läuft nicht korrekt auf diesem Rechner: System Bus no present" + +#~ msgid "" +#~ "D-Bus does not run correctly on this machine: session bus not present" +#~ msgstr "" +#~ "D-Bus läuft nicht korrekt auf diesem Rechner: Session-Bus nicht gefunden" + +#~ msgid "Command line Control" +#~ msgstr "Kommandozeilensteuerung" + +#~ msgid "Enables you to control Gajim with via commandline" +#~ msgstr "Ermöglicht Ihnen die Steuerung von Gajim per Kommandozeile" + +#~ msgid "Non Anonymous Server" +#~ msgstr "Nicht-anonymer Server" + +#~ msgid "" +#~ "When is self contact row displayed. Can be \"always\", " +#~ "\"when_other_resource\" or \"never\"" +#~ msgstr "" +#~ "Bestimmt, unter welchen Bedingungen der eigene Kontakt in der " +#~ "Kontaktliste angezeigt wird. Dies kann \"always\" (immer), " +#~ "\"when_other_resource\" (wenn eine andere XMPP-Ressource online ist) oder " +#~ "\"never\" (niemals) sein" + +#~ msgid "%s kicked us due to an error" +#~ msgstr "%s hat uns durch einen Fehler aus dem Gruppenchat geworfen" + +#~ msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +#~ msgstr "" +#~ "%(nick)s wurde von %(who)s aus dem Gruppenchat geworfen, der Grund dafür: " +#~ "%(reason)s" + +#~ msgid "%(nick)s has been banned by %(who)s: %(reason)s" +#~ msgstr "%(nick)s wurde von %(who)s gebannt, Grund: %(reason)s" + +#~ msgid "system shutdown" +#~ msgstr "Computer wird heruntergefahren" + +#~ msgid "** Role of %(nick)s has been set to %(role)s" +#~ msgstr "** Die Rolle von %(nick)s wurde in %(role)s geändert" + +#~ msgid "%s has left" +#~ msgstr "%s ist gegangen" + +#~ msgid "%s is full" +#~ msgstr "%s ist voll" + +#~ msgid "" +#~ "Can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no " +#~ "longer print status line in groupchats when a member changes their status " +#~ "and/or their status message. If \"all\" Gajim will print all status " +#~ "messages. If \"in_and_out\", Gajim will only print FOO enters/leaves " +#~ "group chat." +#~ msgstr "" +#~ "Kann \"none\", \"all\" oder \"in_and_out\" sein. Falls \"none\", werden " +#~ "keine Statusnachrichten mehr in Gruppenchats angezeigt, wenn jemand den " +#~ "Status oder die Statusnachricht ändert. Falls \"all\", werden alle " +#~ "Statusnachrichten anzeigt. Falls \"in_and_out\", wird nur dann ein Status " +#~ "angezeigt, wenn jemand dem Gruppenchat beitritt oder ihn verlässt." + +#~ msgid "" +#~ "These status messages are displayed when a room occupant changes status " +#~ "(this includes entering/leaving the room)" +#~ msgstr "" +#~ "Diese Statusmeldungen werden angezeigt, wenn ein Teilnehmer des " +#~ "Gruppenchats den Status ändert (dies umfasst das Beitreten/Verlassen des " +#~ "Raums)" + +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "Statusnachrichten in Gruppenchats anzei_gen" + +#~ msgid "" +#~ "Please copy / paste the refresh token from the website that has just been " +#~ "opened." +#~ msgstr "" +#~ "Bitte kopieren sie den Sitzungsbezeichner (Token) von der Website die " +#~ "gerade geöffnet wurde und fügen ihn hier ein." + +#~ msgid "Oauth2 Credentials" +#~ msgstr "Oauth2 Zugangsdaten" + +#~ msgid "" +#~ "You are about to send your password unencrypted on an insecure " +#~ "connection. Are you sure you want to do that?" +#~ msgstr "" +#~ "Sie sind dabei, Ihr Passwort unverschlüsselt über eine unsichere " +#~ "Verbindung zu übertragen. Sind Sie sicher, dass Sie dies tun möchten?" + +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "Letztes Token für OAuth 2.0 Authentifizierung." + +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "client_id für OAuth 2.0 Authentifizierung." + +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "redirect_url für die OAuth 2.0 Authentifizierung." + +#~ msgid "" +#~ "Displayed chat state notifications in chat windows. Can be one of all, " +#~ "composing_only, disabled." +#~ msgstr "" +#~ "Angezeigte Chatstatus-Benachrichtigungen im Chatfenster. Kann auf \"all" +#~ "\", \"composing_only\" oder \"disabled\" gesetzt werden." + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." +#~ msgstr "" +#~ "Gajim kann Zusatzinformationen zu einer Unterhaltung empfangen und " +#~ "versenden. Hier können Sie festlegen, welche Chatstatus-" +#~ "Benachrichtigungen in Ihrem Chatfenster anzeigt werden sollen." + +#~ msgid "This is an irreversible operation." +#~ msgstr "Dies ist ein unwiderruflicher Vorgang." + +#~ msgid "Settings" +#~ msgstr "Einstellungen" + +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "" +#~ "Willkommen bei der Verwaltung der Unterhaltungsverläufe" + +#~ msgid "Toggle full / compact view" +#~ msgstr "Zwischen voller / kompakter Ansicht wechseln" + +#~ msgid "Member List" +#~ msgstr "Mitgliederliste" + +#~ msgid "Owner List" +#~ msgstr "Besitzerliste" + +#~ msgid "Administrator List" +#~ msgstr "Administratorliste" + +#~ msgid "Nick" +#~ msgstr "Spitzname" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "Wen möchten Sie verbannen?\n" +#~ "\n" + +#~ msgid "Adding Member…" +#~ msgstr "Mitglied hinzufügen…" + +#~ msgid "" +#~ "Whom do you want to make a member?\n" +#~ "\n" +#~ msgstr "" +#~ "Wen möchten Sie zum Mitglied machen?\n" +#~ "\n" + +#~ msgid "Adding Owner…" +#~ msgstr "Besitzer hinzufügen…" + +#~ msgid "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" +#~ msgstr "" +#~ "Wen möchten Sie zum Besitzer machen?\n" +#~ "\n" + +#~ msgid "Adding Administrator…" +#~ msgstr "Administrator hinzufügen…" + +#~ msgid "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" +#~ msgstr "" +#~ "Wen möchten Sie zum Administrator machen?\n" +#~ "\n" + +#~ msgid "Error reading file:" +#~ msgstr "Fehler beim Lesen der Datei:" + +#~ msgid "Error parsing file:" +#~ msgstr "Fehler bei der Dateianalyse:" + +#~ msgid "List of possible features in Gajim:" +#~ msgstr "Liste der verwendbaren Features:" + +#~ msgid "Description" +#~ msgstr "Beschreibung" + +#~ msgid "Password encryption" +#~ msgstr "Sichere Kennwortverwaltung" + +#~ msgid "On Windows the Windows Credential Vault is used." +#~ msgstr "Unter Windows wird die Anmeldeinformationsverwaltung verwendet." + +#~ msgid "Spellchecking of composed messages." +#~ msgstr "" +#~ "Ermöglicht das Überprüfen auf Rechtschreibfehler beim Verfassen von " +#~ "Nachrichten ." + +#~ msgid "Automatic status" +#~ msgstr "Automatischer Status" + +#~ msgid "Requires python2.5." +#~ msgstr "Erfordert python-gnome2 (Version 2.5)." + +#~ msgid "" +#~ "Generate XHTML output from RST code (see http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Kann aus RST-Code XHTML-Ausgaben erzeugen (siehe englische Dokumentation " +#~ "http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html)." + +#~ msgid "UPnP-IGD" +#~ msgstr "UPnP-IGD" + +#~ msgid "?features:Available" +#~ msgstr "Verfügbar" + +#~ msgid "Feature" +#~ msgstr "Feature" + +#~ msgid "Filter:" +#~ msgstr "Filter:" + +#~ msgid "Spell _checker" +#~ msgstr "Re_chtschreibprüfung aktivieren" + +#~ msgid "Chat Appearance" +#~ msgstr "Erscheinungsbild des Chats" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed out" +#~ msgstr "" +#~ "Gajim informiert Sie über ein Popup-Fenster in der rechten unteren " +#~ "Bildschirmecke über Kontakte, die sich gerade abgemeldet haben." + +#~ msgid "Sounds" +#~ msgstr "Klänge" + +#~ msgid "Chat state notifications" +#~ msgstr "Chatstatus-Benachrichtigungen" + +#~ msgid "_Away after" +#~ msgstr "_Abwesend nach" + +#~ msgid "" +#~ "If checked, Gajim will change status to Away when the computer is unused." +#~ msgstr "" +#~ "Falls aktiviert, wird der Status in Abwesend geändert, wenn der Computer " +#~ "nicht genutzt wird." + +#~ msgid "_Not available after" +#~ msgstr "_Nicht verfügbar nach" + +#~ msgid "Auto Status" +#~ msgstr "Automatischer Status" + +#~ msgid "Status Messages" +#~ msgstr "Statusnachrichten" + +#~ msgid "Audio" +#~ msgstr "Audio" + +#~ msgid "Video" +#~ msgstr "Video" + +#~ msgid "(example: stun.iptel.org)" +#~ msgstr "(Beispiel: stunserver.org)" + +#~ msgid "Connection" +#~ msgstr "Verbindung" + +#~ msgid "Custom" +#~ msgstr "Benutzerdefiniert" + +#~ msgid "Privacy" +#~ msgstr "Privatsphäre" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "Erweiterter Konfigurationseditor (ACE)" + +#~ msgid "" +#~ "Gajim is a chat client to be used with Jabber.org, Live Journal Talk, " +#~ "Nimbuzz, Ovi, Talkonaut, and thousands of other services run by companies " +#~ "and ISPs, and volunteers around the world." +#~ msgstr "" +#~ "Gajim ist ein Chatclient, der mit Jabber.org, Live Journal Talk, Nimbuzz, " +#~ "Ovi, Talkonaut und Tausenden anderen Services von Internetprovidern und " +#~ "Freiwilligen in aller Welt verwendet werden kann." + +#~ msgid "" +#~ "If you have a few accounts on different servers, if you want to be in " +#~ "contact with your friends and family all the time, then Gajim is for you." +#~ msgstr "" +#~ "Wenn sie einige Kontakte auf verschiedenen Servern haben oder wenn sie " +#~ "mit ihren Freunden und ihrer Familie jederzeit in Kontakt bleiben wollen, " +#~ "dann ist Gajim etwas für sie." + +#~ msgid "Tabbed chat window and single window modes" +#~ msgstr "Chat-Fenster im Karteikarten- und Einzel-Modus" + +#~ msgid "" +#~ "Group chat support (with Multi-User Chat protocol), invitation, chat to " +#~ "group chat transformation" +#~ msgstr "" +#~ "Unterstützung für Gruppenchats (mit Multi-User Chat Protokoll), " +#~ "Einladung, Umwandlung von Chats in Gruppenchats" + +#~ msgid "Emojis, avatars, PEP (user activity, mood and tune)" +#~ msgstr "Emojis, Avatare, PEP (Benutzeraktivität, Stimmung und Musik)" + +#~ msgid "Audio / video conferences" +#~ msgstr "Audio- und Video-Konferenzen" + +#~ msgid "File transfer, room bookmarks" +#~ msgstr "Datenübertragung, Gruppenchats speichern" + +#~ msgid "Metacontacts support" +#~ msgstr "Unterstützung von Meta-Kontakten" + +#~ msgid "Trayicon, speller, extended chat history functionalities" +#~ msgstr "" +#~ "Tray-Icon, Rechtschreibprüfung, erweiterte Funktionen für den " +#~ "Unterhaltungsverlauf" + +#~ msgid "TLS, GPG and End-To-End encryption support" +#~ msgstr "Unterstützung von TLS, GPG und Ende-zu-Ende-Verschlüsselung" + +#~ msgid "Transport registration support" +#~ msgstr "Unterstützung für Transporte (ICQ, AIM, MSN, usw.)" + +#~ msgid "Wikipedia, dictionary and search engine lookup" +#~ msgstr "Wikipedia, Wörterbuch und Nachschlagen per Suchmaschine" + +#~ msgid "Multiple accounts support" +#~ msgstr "Unterstützung mehrerer Konten" + +#~ msgid "XML console interface" +#~ msgstr "XML-Konsole" + +#~ msgid "" +#~ "A programming error has been detected. It probably is not fatal, but " +#~ "should be reported to the developers nonetheless." +#~ msgstr "" +#~ "Ein Programmierfehler wurde erkannt. Der Fehler ist vermutlich nicht " +#~ "schwerwiegend, sollte aber trotzdem den Entwicklern gemeldet werden." + +#~ msgid "" +#~ "A list of modp groups to use in a Diffie-Hellman, highest preference " +#~ "first, separated by commas. Valid groups are 1, 2, 5, 14, 15, 16, 17 and " +#~ "18. Higher numbers are more secure, but take longer to calculate when you " +#~ "start a session." +#~ msgstr "" +#~ "Eine Liste von MODP-Gruppen, die im Diffie-Hellman-Schlüsselaustausch " +#~ "benutzt werden sollen. Priorität nach Nennungsreihenfolge, getrennt durch " +#~ "Kommata. Zulässige Gruppen sind 1, 2, 5, 14, 15, 16, 17 und 18. Größere " +#~ "Werte sind sicherer, benötigen jedoch beim Start einer neuen Unterhaltung " +#~ "mehr Rechenzeit." + +#~ msgid "(ESession info)" +#~ msgstr "(ESession-Informationen)" + +#~ msgid "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" +#~ msgstr "" +#~ "Falls aktiviert, werden ASCII-Smilies wie \":)\" mit äquivalenten " +#~ "graphischen Emoticons ersetzt." + +#~ msgid "_Emoticons" +#~ msgstr "_Emoticons" + +#~ msgid "_Highlight misspelled words" +#~ msgstr "Falsch geschriebene Wörter _hervorheben" + +#~ msgid "Notify by icon when your messages are received" +#~ msgstr "Empfangsbestätigung für Nachrichten durch ein Häkchen anzeigen" + +#~ msgid "T_heme" +#~ msgstr "T_hema" + +#~ msgid "Themes" +#~ msgstr "Themen" + +#~ msgid "Enable dark theme" +#~ msgstr "Aktiviere dunkles Farbschema" + +#~ msgid "Always use this nickname when there is a conflict" +#~ msgstr "Benutze bei einem Konflikt immer diesen Spitznamen" + +#~ msgid "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." +#~ msgstr "" +#~ "Jabberd1.4 verarbeitet keine SHA-Informationen, wenn einem " +#~ "passwortgeschützten Gruppenchat beigetreten wird. Falls aktiviert, werden " +#~ "in Gruppenchats keine SHA-Informationen gesendet." + +#~ msgid "Hello" +#~ msgstr "Hallo" + +#~ msgid "user-offline-symbolic" +#~ msgstr "user-offline-symbolic" + +#~ msgid "Presence" +#~ msgstr "Anwesenheit" + +#~ msgid "Iq" +#~ msgstr "Iq" + +#~ msgid "Emoticons disabled" +#~ msgstr "Emoticons deaktiviert" + +#~ msgid "" +#~ "Your configured emoticons theme could not be loaded. See the log for more " +#~ "details." +#~ msgstr "" +#~ "Das konfigurierte Emoticon-Set konnte nicht geladen werden. Weitere " +#~ "Informationen finden sich im Log." + +#~ msgid "You cannot make changes to the default theme" +#~ msgstr "Sie können das derzeitige Design nicht ändern" + +#~ msgid "theme name" +#~ msgstr "Name des Themas" + +#~ msgid "You cannot delete your current theme" +#~ msgstr "Sie können Ihr derzeitiges Design nicht löschen" + +#~ msgid "Pick another theme to use first." +#~ msgstr "Wählen sie zunächst ein anderes Theme." + +#~ msgid "New Single Message from %(nickname)s" +#~ msgstr "Einzelne neue Nachricht von %(nickname)s" + +#~ msgid "New Private Message from group chat %s" +#~ msgstr "Neue private Nachricht aus dem Gruppenchat %s" + +#~ msgid "%(nickname)s: %(message)s" +#~ msgstr "%(nickname)s: %(message)s" + +#~ msgid "Messaged by %(nickname)s" +#~ msgstr "Neue Nachricht von %(nickname)s" + +#~ msgid "Status message text color." +#~ msgstr "Farbe der Statusnachricht." + +#~ msgid "Incoming nickname font." +#~ msgstr "Schriftart des eingehenden Spitznamens." + +#~ msgid "Outgoing nickname font." +#~ msgstr "Schriftart des ausgehenden Spitznamens." + +#~ msgid "Status message text font." +#~ msgstr "Schriftart der Statusnachricht." + +#~ msgid "Background color of contacts when they just signed in." +#~ msgstr "" +#~ "Hintergrundfarbe von Kontakten, wenn sie sich gerade angemeldet haben." + +#~ msgid "Background color of contacts when they just signed out." +#~ msgstr "" +#~ "Hintergrundfarbe von Kontakten, wenn sie sich gerade abgemeldet haben." + +#~ msgid "green" +#~ msgstr "Grün" + +#~ msgid "grocery" +#~ msgstr "Lebensmittel" + +#~ msgid "human" +#~ msgstr "Menschlich" + +#~ msgid "marine" +#~ msgstr "Marine" + +#~ msgid "Group row" +#~ msgstr "Gruppenebene" + +#~ msgid "Contact row" +#~ msgstr "Kontaktebene" + +#~ msgid "Chat Banner" +#~ msgstr "Chat-Banner" + +#~ msgid "Gajim Themes Customization" +#~ msgstr "Gajim-Design-Einstellungen" + +#~ msgid "Text _color:" +#~ msgstr "Text_farbe:" + +#~ msgid "_Background:" +#~ msgstr "_Hintergrund:" + +#~ msgid "Text _font:" +#~ msgstr "Schri_ftart:" + +#~ msgid "Font style:" +#~ msgstr "Schriftart:" + +#~ msgid "Paused" +#~ msgstr "Pausiert" + +#~ msgid "Gone" +#~ msgstr "Gegangen" + +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "" +#~ "Gruppenchat\n" +#~ "Nachrichten" + +#~ msgid "Chatstate Tab Colors" +#~ msgstr "Farbe der Tabs nach Chat-Status" + +#~ msgid "Chat message" +#~ msgstr "Chat-Nachricht" + +#~ msgid "Use system _default" +#~ msgstr "Einstellung _des Systems verwenden" + +#~ msgid "Font" +#~ msgstr "Schrift" + +#~ msgid "Contact's nickname" +#~ msgstr "Spitzname des Kontakts" + +#~ msgid "_Status message" +#~ msgstr "_Statusnachricht" + +#~ msgid "Your message" +#~ msgstr "Ihre Nachricht" + +#~ msgid "_URL highlight" +#~ msgstr "_URL-Hervorhebung" + +#~ msgid "Chat Line Colors" +#~ msgstr "Farben der Chatzeilen" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber-ID:" + +#~ msgid "Resource:" +#~ msgstr "XMPP-Ressource:" + +#~ msgid "Status:" +#~ msgstr "Status:" + +#~ msgid "Contact time:" +#~ msgstr "Uhrzeit beim Kontakt:" + +#~ msgid "Ask:" +#~ msgstr "Anfrage:" + +#~ msgid "Subscription:" +#~ msgstr "Abonnement:" + +#~ msgid "Name:" +#~ msgstr "Name:" + +#~ msgid "Nickname:" +#~ msgstr "Spitzname:" + +#~ msgid "Street:" +#~ msgstr "Straße:" + +#~ msgid "City:" +#~ msgstr "Ort:" + +#~ msgid "State:" +#~ msgstr "Bundesland:" + +#~ msgid "Extra Address:" +#~ msgstr "Zusatzadresse:" + +#~ msgid "Postal Code:" +#~ msgstr "Postleitzahl:" + +#~ msgid "Country:" +#~ msgstr "Land:" + +#~ msgid "Homepage:" +#~ msgstr "Website:" + +#~ msgid "E-Mail:" +#~ msgstr "E-Mail:" + +#~ msgid "Phone No.:" +#~ msgstr "Telefon:" + +#~ msgid "Birthday:" +#~ msgstr "Geburtstag:" + +#~ msgid "Family:" +#~ msgstr "Nachname:" + +#~ msgid "Middle:" +#~ msgstr "Weitere Vornamen:" + +#~ msgid "Prefix:" +#~ msgstr "Anrede/Titel:" + +#~ msgid "Given:" +#~ msgstr "Vorname:" + +#~ msgid "Suffix:" +#~ msgstr "Namenszusatz:" + +#~ msgid "Full Name" +#~ msgstr "Vollständiger Name" + +#~ msgid "Company:" +#~ msgstr "Firma:" + +#~ msgid "Department:" +#~ msgstr "Abteilung:" + +#~ msgid "Position:" +#~ msgstr "Position:" + +#~ msgid "Role:" +#~ msgstr "Rolle:" + +#~ msgid "Successful registered" +#~ msgstr "Registrierung erfolgreich" + +#~ msgid "- messages will be logged" +#~ msgstr "- der Unterhaltungsverlauf wird gespeichert" + +#~ msgid "- messages will not be logged" +#~ msgstr "- der Unterhaltungsverlauf wird nicht gespeichert" + +#~ msgid "Edit %s" +#~ msgstr "%s bearbeiten" + +#~ msgid "Conversation History with %s" +#~ msgstr "Unterhaltungsverlauf mit %s" + +#~ msgid "Contact with \"%s\" cannot be established" +#~ msgstr "Die Verbindung mit \"%s\" konnte nicht hergestellt werden" + +#~ msgid "Registration information for transport %s has not arrived in time" +#~ msgstr "" +#~ "Die Registrierungsinformation für den Transport %s sind nicht rechtzeitig " +#~ "angekommen" + +#~ msgid "Register to" +#~ msgstr "Registrieren auf" + +#~ msgid "Enter name / JID of contact or groupchat" +#~ msgstr "Kontaktnamen, JID oder Gruppenchat eingeben" + +#~ msgid "Search:" +#~ msgstr "Suchen:" + +# TODO test +#~ msgid "_In date search" +#~ msgstr "_Suche auf Datum beschränken" + +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "Sie müssen verbunden sein, um Ihr Passwort ändern zu können." + +#~ msgid "Invalid password" +#~ msgstr "Ungültiges Passwort" + +#~ msgid "The passwords typed in both fields must be identical." +#~ msgstr "Die Passwörter in beiden Feldern müssen identisch sein." + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "Zur Bestätigung erneut eingeben:" + +#~ msgid "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" +#~ msgstr "" +#~ "Die JID %s ist nicht RFC-konform. Sie wird nicht zu Ihrer Kontaktliste " +#~ "hinzugefügt. Verwenden Sie ein Kontaktlistenverwaltungswerkzeug wie " +#~ "http://jru.jabberstudio.org/, um sie zu entfernen." + +#~ msgid "unsubscribe request from %s" +#~ msgstr "Anfrage zur Beendigung des Abonnements von %s" + +#~ msgid "<empty>" +#~ msgstr "<leer>" + +#~ msgid "Homepage:" +#~ msgstr "Website:" + +#~ msgid "Manage Bookmarks" +#~ msgstr "Gespeicherte Gruppenchats" + +#~ msgid "_Nickname:" +#~ msgstr "Spitz_name:" + +#~ msgid "Pr_int status:" +#~ msgstr "Status anze_igen:" + +#~ msgid "Add JID" +#~ msgstr "JID hinzufügen" + +#~ msgid "All non-compliant MAM Groupchats" +#~ msgstr "Alle nicht konformen MAM Gruppenchats" + +#~ msgid "Preference:" +#~ msgstr "Präferenz:" + +#~ msgid "Preference" +#~ msgstr "Präferenz" + +#~ msgid "JID:" +#~ msgstr "JID:" + +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "" +#~ "Bitte geben Sie die Daten für den Kontakt ein, den Sie dem Konto %s hinzufügen möchten" + +#~ msgid "Please fill in the data of the contact you want to add" +#~ msgstr "Bitte geben Sie die Daten des neuen Kontakts ein" + +#~ msgid "Recently" +#~ msgstr "Zuletzt verwendet" + +#~ msgid "Add New Contact" +#~ msgstr "Neuen Kontakt hinzufügen" + +#~ msgid "_User ID:" +#~ msgstr "Ben_utzer-ID:" + +#~ msgid "Type User ID" +#~ msgstr "Benutzer-ID eingeben" + +#~ msgid "Type Nickname" +#~ msgstr "Spitznamen eingeben" + +#~ msgid "Personal Information" +#~ msgstr "Persönliche Informationen" + +#~ msgid "Avatar:" +#~ msgstr "Avatar:" + +#~ msgid "Click to set your avatar" +#~ msgstr "Hier klicken, um den Avatar auszuwählen." + +#~ msgid "Remove Avatar" +#~ msgstr "Avatar entfernen" + +#~ msgid "Not fetched because of invisible status" +#~ msgstr "Nicht abgeholt, da der Status auf Unsichtbar gesetzt ist" + +#~ msgid "Please wait..." +#~ msgstr "Bitte warten..." + +#~ msgid "" +#~ "When negotiating an encrypted session, should Gajim assume you want your " +#~ "messages to be logged?" +#~ msgstr "" +#~ "Soll beim Aushandeln einer verschlüsselten Sitzung angenommen werden, " +#~ "dass Sie Ihre Nachrichten aufzeichnen wollen?" + +#~ msgid "Log _encrypted chat session" +#~ msgstr "Unterhaltungesverlauf v_erschlüsselter Sitzungen speichern" + +#~ msgid "" +#~ "If checked, Gajim will keep logs for encrypted messages. Please note that " +#~ "when using end-to-end encryption the remote party has to agree on " +#~ "logging, else the messages will not be logged." +#~ msgstr "" +#~ "Falls aktiviert, wird ein lokaler Unterhaltungsverlauf für verschlüsselte " +#~ "Nachrichten angelegt. Bitte bedenken Sie, dass der Chatpartner bei " +#~ "Benutzung der Ende-zu-Ende-Verschlüsselung zustimmen muss, da ansonsten " +#~ "kein Unterhaltungsverlauf angelegt wird." + +#~ msgid "Yahoo! Address:" +#~ msgstr "Yahoo-Adresse:" + +#~ msgid "Forward unread messages" +#~ msgstr "Ungelesene Nachrichten weiterleiten" + +#~ msgid "All unread messages have been forwarded." +#~ msgstr "Alle ungelesenen Nachrichten wurden weitergeleitet." + +#~ msgid "Forward unread message then disconnect" +#~ msgstr "Ungelesene Nachrichten weiterleiten, dann Verbindung trennen" + +#~ msgid "MSN Address:" +#~ msgstr "MSN-Adresse:" + +#~ msgid "Confirm these session options" +#~ msgstr "Bestätigen Sie diese Sitzungsoptionen" + +#~ msgid "" +#~ "The remote client wants to negotiate a session with these features:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Are these options acceptable?" +#~ msgstr "" +#~ "Der entfernte Client will eine Sitzung mit diesen Features aushandeln:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Sind diese Optionen akzeptabel?" + +#~ msgid "" +#~ "The remote client selected these options:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Continue with the session?" +#~ msgstr "" +#~ "Der entfernte Client hat diese Optionen ausgewählt:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Mit der Sitzung fortfahren?" + +#~ msgid "Always accept for this contact" +#~ msgstr "Für diesen Kontakt immer annehmen" + +#~ msgid "End to End message encryption" +#~ msgstr "ESession-Verschlüsselung" + +#~ msgid "Encrypting chat messages." +#~ msgstr "Nachrichten können per ESession verschlüsselt werden." + +#~ msgid "Requires python-crypto." +#~ msgstr "Erfordert python-crypto." + +#~ msgid "Session negotiation cancelled" +#~ msgstr "Sitzungsaushandlung abgebrochen" + +#~ msgid "This session WILL NOT be archived on server" +#~ msgstr "Diese Sitzung WIRD NICHT auf dem Server archiviert" + +#~ msgid "This session is encrypted" +#~ msgstr "Diese Sitzung ist verschlüsselt" + +#~ msgid " and WILL be logged" +#~ msgstr " und der Unterhaltungsverlauf WIRD gespeichert" + +#~ msgid " and WILL NOT be logged" +#~ msgstr " und der Unterhaltungsverlauf WIRD NICHT gespeichert" + +#~ msgid "" +#~ "Remote contact's identity not verified. Click the shield button for more " +#~ "details." +#~ msgstr "" +#~ "Die Identität des Gesprächspartners wurde nicht überprüft. Mehr " +#~ "Informationen durch Klicken auf das Schild-Symbol." + +#~ msgid "end-to-end encryption disabled" +#~ msgstr "Ende-zu-Ende-Verschlüsselung deaktiviert" + +#~ msgid "" +#~ "Unable to decrypt message from %s\n" +#~ "It may have been tampered with." +#~ msgstr "" +#~ "Die Nachricht von %s konnte nicht entschlüsselt werden.\n" +#~ "Eventuell wurde sie verändert." + +#~ msgid "Unable to decrypt message" +#~ msgstr "Die Nachricht konnte nicht entschlüsselt werden" + +#~ msgid "Enable ESessions encryption for this account." +#~ msgstr "Aktiviere die ESession-Verschlüsselung für dieses Konto." + +#~ msgid "Should Gajim automatically start an encrypted session when possible?" +#~ msgstr "" +#~ "Soll die ESession-Verschlüsselung automatisch gestartet werden, wenn " +#~ "möglich?" + +#~ msgid "" +#~ "[This is part of an encrypted session. If you see this message, something " +#~ "went wrong.]" +#~ msgstr "" +#~ "[Dies ist ein Teil einer verschlüsselten Unterhaltung. Wenn Sie diese " +#~ "Nachricht sehen, ist etwas schief gegangen.]" + +#~ msgid "Requires python-avahi." +#~ msgstr "Erfordert python-avahi." + +#~ msgid "Save Image as…" +#~ msgstr "Bild speichern unter…" + +#~ msgid "Exporting History Logs…" +#~ msgstr "Exportiere Unterhaltungsverlauf…" + +#~ msgid "Choose Client Cert #PCKS12" +#~ msgstr "Clientzertifikat #PCKS12 auswählen" + +#~ msgid "When %s becomes:" +#~ msgstr "Wenn %s wird:" + +#~ msgid "Adding Special Notification for %s" +#~ msgstr "Füge speziellen Hinweis für %s hinzu" + +#~ msgid "" +#~ "It seems the SSL certificate of account %(account)s has changed and is " +#~ "not valid or your connection is being compromised.\n" +#~ "\n" +#~ "Old SHA-1 fingerprint: %(old_sha1)s\n" +#~ "Old SHA-256 fingerprint: %(old_sha256)s\n" +#~ "\n" +#~ "New SHA-1 fingerprint: %(new_sha1)s\n" +#~ "New SHA-256 fingerprint: %(new_sha256)s\n" +#~ "\n" +#~ "Do you still want to connect and update the fingerprint of the " +#~ "certificate?" +#~ msgstr "" +#~ "Das SSL-Zertifikat für das Konto %(account)s hat sich geändert und ist " +#~ "ungültig oder die Verbindung wird angegriffen.\n" +#~ "\n" +#~ "Alter SHA-1-Fingerabdruck: %(old_sha1)s\n" +#~ "Alter SHA-256-Fingerabdruck: %(old_sha256)s\n" +#~ "\n" +#~ "Neuer SHA-1-Fingerabdruck: %(new_sha1)s\n" +#~ "Neuer SHA-256-Fingerabdruck: %(new_sha256)s\n" +#~ "\n" +#~ "Möchten Sie sich dennoch verbinden und den Fingerabdruck des Zertifikats " +#~ "aktualisieren?" + +#~ msgid "" +#~ "The authenticity of the %s certificate could be invalid.\n" +#~ "The certificate does not cover this domain." +#~ msgstr "" +#~ "Die Authentizität des %s Zertifikats könnte ungültig sein.\n" +#~ "Das Zertifikat deckt die Domain nicht ab." + +#~ msgid "Unable to load idle module" +#~ msgstr "Konnte Idle-Modul nicht laden" + +#, fuzzy +#~ msgid "%s or %s is a directory but should be a file" +#~ msgstr "%s ist ein Verzeichnis, sollte aber eine Datei sein" + +#~ msgid "creating logs database" +#~ msgstr "Erstelle Log-Datenbank" + +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "Verschiebe %(src)s nach %(dst)s" + +#~ msgid "Rename account label" +#~ msgstr "Bezeichnung des Kontos ändern" + +#~ msgid "" +#~ "Requires gpg and python-gnupg (http://code.google.com/p/python-gnupg/)." +#~ msgstr "" +#~ "Benötigt gpg und python-gnupg (http://code.google.com/p/python-gnupg/)." + +#~ msgid "Send Single Message..." +#~ msgstr "Einzelne _Nachricht senden..." + +#~ msgid "We received an error: {}" +#~ msgstr "Ein Fehler ist aufgetreten: {}" + +#~ msgid "E2E encryption disabled" +#~ msgstr "E2E-Verschlüsselung deaktiviert" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Dieses Zertifikat der Liste vertrauenswürdiger Zertifikate hinzufügen.\n" +#~ "SHA1-Fingerabdruck des Zertifikates:\n" +#~ "%(sha1)s\n" +#~ "SHA256-Fingerabdruck des Zertifikates:\n" +#~ "%(sha256)s" + +#~ msgid "uri" +#~ msgstr "URI" + +#~ msgid "Check update after start" +#~ msgstr "Überprüfe auf Updates beim Starten" + +#~ msgid "" +#~ "Install /\n" +#~ "Upgrade" +#~ msgstr "" +#~ "Installieren /\n" +#~ "Updaten" + +#~ msgid "Install/Upgrade" +#~ msgstr "Installieren/Updaten" + +#~ msgid "Install and Upgrade Plugins" +#~ msgstr "Installiere und update Plugins" + +#~ msgid "Plugins updates" +#~ msgstr "Plugin Updates" + +#~ msgid "" +#~ "Some updates are available for your installer plugins. Do you want to " +#~ "update those plugins:\n" +#~ "%s" +#~ msgstr "" +#~ "Es sind Updates für ihre Plugins verfügbar. Wollen sie folgende Plugins " +#~ "updaten:\n" +#~ "%s" + +#~ msgid "Security error during download" +#~ msgstr "Sicherheitsfehler beim Herunterladen" + +#~ msgid "" +#~ "A security error occurred when downloading. The certificate of the plugin " +#~ "archive could not be verified. this might be a security attack. \n" +#~ "\n" +#~ "You can continue at your risk. Do you want to do so? (not recommended)" +#~ msgstr "" +#~ "Ein Sicherheitsfehler trat beim Herunterladen auf. Das Zertifikat des " +#~ "Plugin-Archivs konnte nicht verifiziert werden. Dies könnte eine Attacke " +#~ "sein. \n" +#~ "\n" +#~ "Sie können auf eigene Gefahr fortfahren. Wollen sie dies tun? (nicht " +#~ "empfohlen)" + +#~ msgid "Error in download" +#~ msgstr "Fehler beim Herunterladen" + +#~ msgid "" +#~ "An error occurred when downloading\n" +#~ "\n" +#~ "[%s]" +#~ msgstr "" +#~ "Beim Herunterladen trat ein Fehler auf\n" +#~ "\n" +#~ "[%s]" + +#~ msgid "All selected plugins downloaded" +#~ msgstr "Alle ausgewählten Plugins wurden heruntergeladen" + +#~ msgid "cyan" +#~ msgstr "cyan" + +#~ msgid "migrating logs database to indices" +#~ msgstr "migriere Logdatenbank zu Indizes" + +#~ msgid "Send File..." +#~ msgstr "Datei senden..." + +#~ msgid "HTTP File Upload" +#~ msgstr "HTTP Datei-Upload" + +#~ msgid "HTTP File Upload not supported by your server" +#~ msgstr "HTTP Datei-Upload wird von Ihrem Server nicht unterstützt" + +#~ msgid "Jingle File Transfer" +#~ msgstr "Dateiübertragung via Jingle" + +#~ msgid "" +#~ "Your configured emoticons theme has not been found, so emoticons have " +#~ "been disabled." +#~ msgstr "" +#~ "Das konfigurierte Emoticon-Set wurde nicht gefunden. Emoticons wurden " +#~ "deshalb deaktiviert." + +#~ msgid "Shows or hides the roster window" +#~ msgstr "Ein- oder Ausblenden des Hauptfensters" + +#~ msgid "Shows or hides the ipython window" +#~ msgstr "Ein- oder Ausblenden des Hauptfensters" + +#~ msgid "XMPP account %s" +#~ msgstr "XMPP-Konto %s" + +#~ msgid "Exception" +#~ msgstr "Fehler" + +#~ msgid "" +#~ "someone@somewhere.com would like you to add some contacts " +#~ "in your roster." +#~ msgstr "" +#~ "jemand@irgendwo.de möchte Sie als Kontakt zu seiner Kontaktliste " +#~ "hinzufügen." + +#~ msgid "" +#~ "Ordered list (space separated) of connection type to try. Can contain " +#~ "tls, ssl or plain" +#~ msgstr "" +#~ "Geordnete Liste der auszuprobierenden Verbindungstypen (getrennt durch " +#~ "Leerzeichen). Mögliche Werte sind TLS, SSL und PLAIN." + +#~ msgid "_Actions" +#~ msgstr "_Aktionen" + +#~ msgid "Open URI using Gajim" +#~ msgstr "URI mit Gajim öffnen" + +# TODO mark as do not translate? +# TODO look up if there are other keywords like this in German +#~ msgid "chat;messaging;im;jabber;xmpp;bonjour;voip;" +#~ msgstr "chat;messaging;im;jabber;xmpp;bonjour;voip" + +#~ msgid "UPower" +#~ msgstr "UPower" + +#~ msgid "Ability to disconnect properly just before suspending the machine." +#~ msgstr "" +#~ "Ermöglicht die Verbindung zu trennen wenn der Rechner in Stand-By geht." + +#~ msgid "Requires upower and python-dbus." +#~ msgstr "Benötigt upower und python-dbus." + +#~ msgid "You are already in group chat %s" +#~ msgstr "Sie sind bereits im Chatraum %s" + +#~ msgid "Join Group Chat with account %s" +#~ msgstr "Chatraum betreten mit dem Konto %s" + +#~ msgid "" +#~ "You have to choose an account from which you want to join the groupchat." +#~ msgstr "" +#~ "Sie müssen ein Konto auswählen, mit dem Sie den Gruppenchat betreten " +#~ "möchten." + +#, fuzzy +#~ msgid "Please enter the group chat JID as room@server." +#~ msgstr "Bitte gib die Gruppenchat Jabber ID als raum@server ein." + +#, fuzzy +#~ msgid "The group chat JID contains invalid characters." +#~ msgstr "Die Jabber-ID des Chatraums enthält ungültige Zeichen." + +#~ msgid "Start Chat with account %s" +#~ msgstr "Starte Chat mit Konto %s" + +#, fuzzy +#~ msgid "" +#~ "Fill in the nickname or the JID of the contact you would like\n" +#~ "to send a chat message to:" +#~ msgstr "" +#~ "Geben Sie die Jabber-ID oder den Spitznamen des Kontaktes ein,\n" +#~ "an den Sie eine Chat-Nachricht schicken wollen:" + +#, fuzzy +#~ msgid "Nickname / JID" +#~ msgstr "Spitzname / Jabber-ID" + +#~ msgid "Unable to parse \"%s\"." +#~ msgstr "Kann \"%s\" nicht parsen." + +#~ msgid "Shows the chat dialog so that you can send messages to a contact" +#~ msgstr "" +#~ "Zeige Chatfenster, sodass eine Nachricht an einen Kontakt gesendet werden " +#~ "kann" + +#~ msgid "JID of the contact that you want to chat with" +#~ msgstr "Jabber-ID des Kontakts, mit dem Sie chatten möchten" + +#~ msgid "message content. The account must be specified or \"\"" +#~ msgstr "Nachrichteninhalt. Das Konto muss angegeben werden oder \"\"" + +#~ msgid "Adds contact to roster" +#~ msgstr "Fügt den Kontakt der Kontaktliste hinzu" + +#~ msgid "jid" +#~ msgstr "Jabber-ID" + +#~ msgid "Adds new contact to this account" +#~ msgstr "Fügt einen neuen Kontakt zu diesem Konto hinzu" + +#~ msgid "Opens 'Start Chat' dialog" +#~ msgstr "Öffnet den Dialog zum Beginnen eines Chats" + +#~ msgid "Starts chat, using this account" +#~ msgstr "Startet einen Chat über dieses Konto" + +#, fuzzy +#~ msgid "Handle a xmpp:/ URI" +#~ msgstr "Verarbeite einen xmpp:/-URI" + +#~ msgid "URI to handle" +#~ msgstr "Zu verarbeitender URI" + +#~ msgid "Account in which you want to handle it" +#~ msgstr "Konto, mit dem er verarbeitet werden soll" + +#~ msgid "Message content" +#~ msgstr "Nachrichteninhalt" + +#~ msgid "Join a MUC room" +#~ msgstr "Neuen Chatraum betreten" + +#~ msgid "Nickname to use" +#~ msgstr "Spitzname, der benutzt werden soll" + +#~ msgid "Password to enter the room" +#~ msgstr "Das Passwort, um den Chatraum zu betreten" + +#~ msgid "Account from which you want to enter the room" +#~ msgstr "Das Konto, mit dem Sie den Chatraum betreten möchten" + +#, fuzzy +#~ msgid "No URI given" +#~ msgstr "Kein URI angegeben" + +#, fuzzy +#~ msgid "Wrong URI" +#~ msgstr "Falscher URI" + +#~ msgid "Nickname:" +#~ msgstr "Spitzname:" + +#~ msgid "Server:" +#~ msgstr "Server:" + +#~ msgid "Join this room _automatically when I connect" +#~ msgstr "Betrete diesen Chatraum _automatisch, wenn ich mich verbinde" + +#~ msgid "Bro_wse Rooms" +#~ msgstr "Räume _Durchsuchen" + +#~ msgid "Join a group chat given by a jid, optionally using given nickname" +#~ msgstr "" +#~ "Gruppenchat mit gegebener JID beitreten, optional mit gegebenem Namen." + +#~ msgid "Requires libgtkspell and libenchant." +#~ msgstr "Benötigt libgtkspell und libenchant." + +#~ msgid "Last MAM id we are syncronized with" +#~ msgstr "Letzte MAM ID auf dem Server mit der synchronisiert wurde" + +#, fuzzy +#~ msgid "Network-Watcher" +#~ msgstr "Netzwerk-Manager" + +#~ msgid "Autodetection of network status." +#~ msgstr "Ermöglicht die automatische Erkennung des Netzwerkstatus." + +#, fuzzy +#~ msgid "Requires gnome-network-manager" +#~ msgstr "Erfordert gnome-network-manager und python-dbus." + +#~ msgid "Feature not available, see Help->Features" +#~ msgstr "Funktion nicht verfügbar. Mehr Information unter Hilfe->Funktionen" + +#~ msgid "Feature not supported by remote client" +#~ msgstr "Funktionalität wird vom Gegenüber nicht unterstützt" + +#~ msgid "This contact does not support file transfer." +#~ msgstr "Der Kontakt unterstützt keine Dateiübertragung." + +#, fuzzy +#~ msgid "You need to know the real JID of the contact to send them a file." +#~ msgstr "" +#~ "Sie müssen die JID des Kontakts kennen, um ihm oder ihr eine Datei zu " +#~ "senden." + +#~ msgid "" +#~ "You have to install %s dictionary to use spellchecking, or choose another " +#~ "language by setting the speller_language option." +#~ msgstr "" +#~ "Sie müssen das Wörterbuch %s installieren oder eine andere Sprache " +#~ "wählen, um die Rechtschreibprüfung nutzen zu können." + +#~ msgid "Hides the buttons in chat windows." +#~ msgstr "Versteckt die Schaltflächen im Chatraum-Fenster." + +#~ msgid "Change the room's subject (Alt+T)" +#~ msgstr "Thema des Chatraums ändern (Alt+T)" + +# TODO: Synchronize with other strings concerning bookmarks +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "Diesen Chatraum speichern (Strg+B)" + +#~ msgid "Browse the chat history (Ctrl+H)" +#~ msgstr "Chatverlauf anzeigen (Strg+H)" + +#~ msgid "Show advanced functions (Alt+D)" +#~ msgstr "Erweiterte Funktionen anzeigen (Alt+D)" + +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "Kontakt zur Kontaktliste hinzufügen (Strg+D)" + +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "Weiteren Kontakt zur Unterhaltung einladen (Strg+G)" + +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Benutzerprofil anzeigen (Strg+I)" + +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Benutzerprofil anzeigen (Strg+I)" + +#~ msgid "Ma_ke message windows compact" +#~ msgstr "Nachrichtenfenster _kompakt anzeigen" + +#~ msgid "Hide all buttons in chat windows" +#~ msgstr "Versteckt alle Schaltflächen im Chatfenster" + +#~ msgid "Hide the chat buttons" +#~ msgstr "Chat-Schaltflächen verstecken" + +#~ msgid "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." +#~ msgstr "" +#~ "Falls aktiviert, wird jeder Kontakt, der beim letzten Mal keinen Avatar " +#~ "hatte oder dessen gespeicherter Avatar zu alt ist, nach einem neuen " +#~ "gefragt." + +#~ msgid "Disk Write Error" +#~ msgstr "Fehler beim Schreiben auf Festplatte" + +#~ msgid "Set Custom _Avatar..." +#~ msgstr "Benutzerdefinierten Avatar wählen …" + +#~ msgid "SSL certificate validation" +#~ msgstr "SSL/TLS-Zertifikatprüfung" + +#~ msgid "" +#~ "A library used to validate server certificates to ensure a secure " +#~ "connection." +#~ msgstr "" +#~ "Ermöglicht die Validierung von Server-Zertifikaten, die eine sichere " +#~ "Verbindung gewährleisten." + +#~ msgid "Requires python-pyopenssl > 0.12 and pyasn1." +#~ msgstr "Benötigt python-pyopenssl > 0.12 und pyasn1." + +#~ msgid "?CLI:uri" +#~ msgstr "?CLI:uri" + +#~ msgid "?CLI:room" +#~ msgstr "?CLI:room" + +#~ msgid "?CLI:nick" +#~ msgstr "?CLI:nick" + +#~ msgid "?CLI:password" +#~ msgstr "?CLI:password" + +#, fuzzy +#~ msgid "Credential Options" +#~ msgstr "Oauth2 Zugangsdaten" + +#~ msgid "Use D-Bus and Notification-Daemon to show notifications" +#~ msgstr "" +#~ "Verwende D-Bus und Notification-Daemon, um Benachrichtigungen zu zeigen" + +#~ msgid "Notification" +#~ msgstr "Benachrichtigungen" + +#~ msgid "Passive popups notifying for new events." +#~ msgstr "Ermöglicht passive Popups, die über neue Ereignisse informieren." + +#~ msgid "" +#~ "Requires python-notify or instead python-dbus in conjunction with " +#~ "notification-daemon." +#~ msgstr "" +#~ "Erfordert python-notify oder stattdessen python-dbus in Verbindung mit " +#~ "notification-daemon." + +#~ msgid "Ignore" +#~ msgstr "Ignorieren" + +#~ msgid "_Open Gmail Inbox" +#~ msgstr "Google-Mail-Posteingang _öffnen" + +#~ msgid "Notify on new _GMail email" +#~ msgstr "Bei neuen E-Mails bei _Google-Mail benachrichtigen" + +#~ msgid "" +#~ "If checked, Gajim will show a notification when a new e-mail is received " +#~ "via GMail" +#~ msgstr "" +#~ "Falls aktiviert, wird eine Benachrichtigung angezeigt, wenn eine neue E-" +#~ "Mail über Google-Mail empfangen wurde." + +#~ msgid "Display _extra email details" +#~ msgstr "Zusätzliche _E-Mail-Details anzeigen" + +#~ msgid "" +#~ "If checked, Gajim will also include information about the sender of new " +#~ "emails" +#~ msgstr "" +#~ "Falls aktiviert, fügt Gajim auch Informationen über den Absender neuer E-" +#~ "Mails hinzu" + +#~ msgid "GMail Options" +#~ msgstr "Google-Mail-Optionen" + +#~ msgid "12" +#~ msgstr "12" + +#~ msgid "20" +#~ msgstr "20" + +#~ msgid "Invited %s to %s" +#~ msgstr "%s zu %s eingeladen" + +#~ msgid "" +#~ "Specify the command to run when new mail arrives, e.g.: /usr/bin/getmail -" +#~ "q" +#~ msgstr "" +#~ "Definieren Sie den auszuführenden Befehl, wenn neue E-Mails eintreffen, z." +#~ "B.: /usr/bin/getmail -q" + +#~ msgid "GMail Email Received" +#~ msgstr "E-Mail über Google-Mail empfangen" + +#, fuzzy +#~ msgid "New e-mail on %(gmail_mail_address)s" +#~ msgstr "Neue E-Mail über %(gmail_mail_address)s empfangen" + +#, fuzzy +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "Sie haben %d ungelesene E-Mail" +#~ msgstr[1] "Sie haben %d ungelesene E-Mails" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "From: %(from_address)s\n" +#~ "Subject: %(subject)s\n" +#~ "%(snippet)s" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "Von: %(from_address)s\n" +#~ "Betreff: %(subject)s\n" +#~ "%(snippet)s" + +#~ msgid "Resour_ce:" +#~ msgstr "Ressour_ce:" + +#~ msgid "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" +#~ msgstr "" +#~ "Die Ressource wird zum Jabber-Server geschickt, um die selbe Jabber-ID in " +#~ "mehre Teile zu trennen, wenn verschiedene Jabber-Clients mit demselben " +#~ "Konto verbunden sind. Man kann also mit verschiedenen Ressourcen, z.B. " +#~ "\"Heim\" und \"Arbeit\", an verschiedenen Computern dasselbe Konto " +#~ "benutzen. Die Ressource mit der höchsten Priorität (siehe unten) erhält " +#~ "die Nachrichten." + +#~ msgid "A_djust to status" +#~ msgstr "Mit Status _abgleichen" + +#~ msgid "Priority will change automatically according to your status." +#~ msgstr "" +#~ "Falls aktiviert, ändert sich die Priorität automatisch gemäß dem Status." + +#~ msgid "Anonymous authentication" +#~ msgstr "Anonyme Authentifizierung" + +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "Die Priorität legt fest, an welchen Client der Jabber-Server neue " +#~ "Nachrichten sendet, wenn zwei oder mehr Clients mit demselben Konto " +#~ "verbunden sind. Der Client mit der höchsten Priorität wird ausgewählt." + +#~ msgid "Synchronize contacts" +#~ msgstr "Kontakte synchronisieren" + +#~ msgid "Click to request authorization to all contacts of another account" +#~ msgstr "" +#~ "Klicken, um alle Kontakte eines anderen Kontos um Autorisierung zu fragen." + +#~ msgid "Chan_ge Password" +#~ msgstr "Pass_wort ändern" + +#~ msgid "Administration operations" +#~ msgstr "Administrative Aktionen" + +#~ msgid "_Client Cert File:" +#~ msgstr "Datei für _Clientzertifikat:" + +#~ msgid "Browse..." +#~ msgstr "_Durchsuche" + +#~ msgid "Certificate is e_ncrypted" +#~ msgstr "Zertifikat ist _verschlüsselt" + +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "" +#~ "Falls aktiviert, verbindet sich Gajim während des Startvorgangs " +#~ "automatisch mit diesem Konto." + +#~ msgid "Synchronize logs with server" +#~ msgstr "Verlauf mit Server synchronisieren" + +#~ msgid "Synch_ronize account status with global status" +#~ msgstr "Konto-Status mit globalem Status synch_ronisieren" + +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "Falls aktiviert, wird mit jeder Änderung des globalen Status (verwaltet " +#~ "von der Auswahlbox unter der Kontaktliste) auch der Status dieses Kontos " +#~ "entsprechend geändert." + +#, fuzzy +#~ msgid "" +#~ "Receive conversations from other resources (provided the server has " +#~ "support for it)" +#~ msgstr "" +#~ "Unterhaltungen von anderen Ressourcen empfangen (Erfordert " +#~ "Serverunterstützung)" + +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "Falls aktiviert, sendet Gajim von mehreren anstatt von nur Ihrer eigenen " +#~ "IP-Adresse, wodurch die Wahrscheinlichkeit einer erfolgreichen " +#~ "Dateiübertragung erhöht wird." + +#~ msgid "Proxy" +#~ msgstr "Proxy" + +#~ msgid "" +#~ "Check this so Gajim will ask you before sending your password over an " +#~ "insecure connection." +#~ msgstr "" +#~ "Falls aktiviert, fragt Gajim nach, bevor das Passwort über eine unsichere " +#~ "Verbindung gesendet wird." + +#~ msgid "Send _keep-alive packets" +#~ msgstr "_Keepalive-Pakete senden" + +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "" +#~ "Falls aktiviert, sendet Gajim regelmäßig Keepalive-Pakete, um einen " +#~ "Verbindungsabbruch durch eine Zeitüberschreitung zu verhindern." + +#~ msgid "Use cust_om hostname/port" +#~ msgstr "Benutzerdefinierten Rechnernamen und P_ort verwenden" + +#~ msgid "_Hostname: " +#~ msgstr "Rec_hnername: " + +#~ msgid "_Port: " +#~ msgstr "_Port: " + +#~ msgid "Choose _Key..." +#~ msgstr "_Schlüssel wählen …" + +# TODO: GPG/PGP unification in original strings needed +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "" +#~ "Falls aktiviert, bezieht Gajim das Passwort von einem GPG-Agenten wie " +#~ "seahorse." + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#~ msgid "_Edit Personal Information..." +#~ msgstr "Persönliche Informationen b_earbeiten …" + +#~ msgid "Personal Information" +#~ msgstr "Persönliche Informationen" + +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "Beim _Programmstart verbinden" + +#~ msgid "Synchroni_ze account status with global status" +#~ msgstr "Konto-Status mit globalem Status synchroni_sieren" + +#~ msgid "Use cust_om port:" +#~ msgstr "Benutzerdefinierten P_ort verwenden:" + +#~ msgid "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." +#~ msgstr "" +#~ "Falls der Standardport, der für eingehende Nachrichten benutzt wird, " +#~ "nicht für Ihre Konfiguration geeignet ist, können Sie hier einen anderen " +#~ "Port festlegen.\n" +#~ "Eventuell müssen Sie dazu Ihre Firewall-Einstellungen ändern." + +# TODO: GPG/PGP unification in original strings needed +#~ msgid "OpenPGP is not usable on this computer" +#~ msgstr "OpenPGP kann auf diesem Computer nicht genutzt werden." + +#~ msgid "To change the account name, you must be disconnected." +#~ msgstr "" +#~ "Die Verbindung muss beendet werden, damit der Kontoname geändert werden " +#~ "kann." + +#~ msgid "To change the account name, you must read all pending events." +#~ msgstr "" +#~ "Damit der Kontoname geändert werden kann, müssen Sie zuvor alle neuen " +#~ "Ereignisse lesen." + +#~ msgid "Account Name Already Used" +#~ msgstr "Der Kontoname wird bereits verwendet." + +#~ msgid "" +#~ "This name is already used by another of your accounts. Please choose " +#~ "another name." +#~ msgstr "" +#~ "Dieser Name wird bereits für eines Ihrer Konten verwendet. Bitte wählen " +#~ "Sie einen anderen Namen." + +#~ msgid "Account name cannot be empty." +#~ msgstr "Der Kontoname darf nicht leer sein." + +#~ msgid "Account name cannot contain spaces." +#~ msgstr "Der Kontoname darf keine Leerzeichen enthalten." + +#~ msgid "Enter a new name for account %s" +#~ msgstr "Geben Sie einen neuen Namen für das Konto %s ein" + +#, fuzzy +#~ msgid "A JID must be in the form \"user@servername\"." +#~ msgstr "Die Jabber-ID muss in der Form \"benutzer@servername\" sein." + +#~ msgid "No such account available" +#~ msgstr "Das angegebene Konto ist nicht verfügbar" + +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "" +#~ "Sie müssen ein Konto erstellen, bevor Sie die persönlichen Informationen " +#~ "ändern können." + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "" +#~ "Sie müssen angemeldet sein, um Ihre persönlichen Informationen ändern zu " +#~ "können." + +#~ msgid "Your server can't save your personal information." +#~ msgstr "Ihr Server kann keine persönlichen Informationen speichern." + +#~ msgid "Please rename or remove it before enabling link-local messaging." +#~ msgstr "" +#~ "Bitte benennen Sie es um oder entfernen es, bevor Sie LAN-Kontakte " +#~ "aktivieren." + +#~ msgid "THANKS:" +#~ msgstr "DANKE:" + +#~ msgid "Could not write to %s. Session Management support will not work" +#~ msgstr "" +#~ "Konnte nicht an %s schreiben. Die Sitzungmanagment-Unterstützung wird " +#~ "nicht funktionieren" + +#~ msgid "Jabber Traffic" +#~ msgstr "Jabber-Datentransfer" + +#~ msgid "_Enable" +#~ msgstr "Aktivi_eren" + +#~ msgid "Hide IN stanzas" +#~ msgstr "IN Strophen verstecken" + +#~ msgid "Hide OUT stanzas" +#~ msgstr "OUT Strophen verstecken" + +#~ msgid "Hide Presence stanzas" +#~ msgstr "Presence Strophen verstecken" + +#~ msgid "Hide IQ stanzas" +#~ msgstr "IQ Strophen verstecken" + +#~ msgid "Filter" +#~ msgstr "Filter" + +#~ msgid "_IQ" +#~ msgstr "_Info/Query" + +#~ msgid "Info/Query" +#~ msgstr "Info/Query" + +#~ msgid "XML Input" +#~ msgstr "XML-Direkteingabe" + +#~ msgid "XML Console for %s" +#~ msgstr "XML-Konsole für %s" + +#~ msgid "Idle for:" +#~ msgstr "Untätig seit:" + +#, fuzzy +#~ msgid "" +#~ "Request offline status messages from all contacts upon connecting. " +#~ "WARNING: This causes a lot of requests to be sent!" +#~ msgstr "" +#~ "Frage nach der Offline Statusnachricht von allen nicht verbundenen " +#~ "Kontakten, sobald eine Verbindung zu einem Konto hergestellt wird. " +#~ "WARNUNG: Diese Einstellung erfordert eine Menge Sendeanfragen an den " +#~ "Server!" + +#~ msgid "Last status: %s" +#~ msgstr "Letzter Status: %s" + +#~ msgid " since %s" +#~ msgstr " seit %s" + +#~ msgid "since %s" +#~ msgstr "seit %s" + +#~ msgid "Concede" +#~ msgstr "Erlauben" + +#~ msgid "Forbid" +#~ msgstr "Verbieten" + +#~ msgid "Auto" +#~ msgstr "Automatisch" + +#~ msgid "Method Auto" +#~ msgstr "Methode: Automatisch" + +#~ msgid "Method Local" +#~ msgstr "Methode: Lokal" + +#~ msgid "Method Manual" +#~ msgstr "Methode: Manuell" + +#~ msgid "body" +#~ msgstr "body" + +#~ msgid "false" +#~ msgstr "nein" + +#~ msgid "stream" +#~ msgstr "Stream" + +#~ msgid "concede" +#~ msgstr "Erlauben" + +#~ msgid "forbid" +#~ msgstr "verbieten" + +#~ msgid "oppose" +#~ msgstr "entgegnen" + +#~ msgid "prefer" +#~ msgstr "vorziehen" + +#~ msgid "otr" +#~ msgstr "OTR" + +#~ msgid "save" +#~ msgstr "speichern" + +#~ msgid "Last time we syncronized with logs from server." +#~ msgstr "Letzte Synchronisation mit dem Archiv auf dem Server." + +#~ msgid "Invalid expire value" +#~ msgstr "Ungültiger Ablaufwert" + +#~ msgid "Expire must be a valid positive integer." +#~ msgstr "Die Ablaufzeit muss eine gütige, positive ganze Zahl sein." + +#~ msgid "There is an error with the form" +#~ msgstr "Es gibt einen Fehler mit dem Formular" + +#~ msgid "There is an error" +#~ msgstr "Es gibt einen Fehler" + +#~ msgid "How many minutes should last lines from previous conversation last." +#~ msgstr "" +#~ "Wie viele Minuten die Zeilen vom vorherigen Chat angezeigt werden sollen." + +#~ msgid "" +#~ "Your configured emoticons theme cannot been loaded. You maybe need to " +#~ "update the format of emoticons.py file. See http://trac.gajim.org/wiki/" +#~ "Emoticons for more details." +#~ msgstr "" +#~ "Ihr konfiguriertes Emoticon-Set kann nicht geladen werden. Sie müssen " +#~ "eventuell das Format der Datei emoticons.py aktualisieren. Besuchen Sie " +#~ "http://trac.gajim.org/wiki/Emoticons (Englisch) für mehr Informationen." + +# TODO: GPG/PGP unification in original strings needed +#~ msgid "You will be connected to %s without OpenPGP." +#~ msgstr "Sie werden ohne OpenPGP-Verschlüsselung mit %s verbunden." + +#~ msgid "The following message was NOT encrypted" +#~ msgstr "Die folgende Nachricht wurde UNVERSCHLÜSSELT übertragen" + +# TODO: GPG/PGP unification in original strings needed +#~ msgid "Toggle Open_PGP Encryption" +#~ msgstr "Open_PGP-Verschlüsselung aktivieren" + +#~ msgid "Toggle End to End Encryption" +#~ msgstr "ESession-Verschlüsselung aktivieren" + +# TODO: GPG/PGP unification in original strings needed +#~ msgid "OpenPGP encryption enabled" +#~ msgstr "GPG-Verschlüsselung aktiviert" + +# TODO: GPG/PGP unification in original strings needed +#~ msgid "No OpenPGP key assigned" +#~ msgstr "Kein GPG-Schlüssel zugewiesen" + +# TODO: GPG/PGP unification in original strings needed +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages with OpenPGP." +#~ msgstr "" +#~ "Dem Kontakt ist kein GPG-Schlüssel zugewiesen. Nachrichten können nicht " +#~ "mit GPG verschlüsselt werden." + +#~ msgid "Session WILL be logged" +#~ msgstr "Sitzung WIRD aufgezeichnet" + +#~ msgid "Session WILL NOT be logged" +#~ msgstr "Sitzung WIRD NICHT aufgezeichnet" + +#~ msgid "is" +#~ msgstr "ist" + +#~ msgid "is NOT" +#~ msgstr "ist NICHT" + +#~ msgid "will" +#~ msgstr "wird" + +#~ msgid "will NOT" +#~ msgstr "wird NICHT" + +#~ msgid "The following message was encrypted" +#~ msgstr "Die folgende Nachricht wurde verschlüsselt übertragen" + +# TODO: GPG/PGP unification in original strings needed +#~ msgid "Toggle the OpenPGP encryption" +#~ msgstr "Open_PGP-Verschlüsselung de-/aktivieren" + +#~ msgid "" +#~ "Should Gajim automatically start an encrypted session with this contact " +#~ "when possible?" +#~ msgstr "" +#~ "Soll automatisch eine ESession-Verschlüsselung mit diesem Kontakt " +#~ "gestartet werden?" + +#~ msgid "Neither the remote presence is signed, nor a key was assigned." +#~ msgstr "" +#~ "Weder ist die entfernte Präsenz signiert, noch wurde ein Schlüssel " +#~ "zugewiesen." + +#~ msgid "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "" +#~ "Der Kontaktschlüssel (%s) stimmt nicht mit dem in Gajim zugewiesenen " +#~ "Schlüssel überein." + +#~ msgid "[This message is *encrypted* (See :XEP:`27`]" +#~ msgstr "[Diese Nachricht ist *verschlüsselt* (Siehe: JEP:`27`)]" + +#~ msgid "" +#~ "Your chat session with %(jid)s is encrypted.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "Ihre Unterhaltung mit %(jid)s ist verschlüsselt.\n" +#~ "\n" +#~ "Der kurze Authentifizierungs-Schlüssel für diese Unterhaltung ist: " +#~ "%(sas)s" + +#~ msgid "You have already verified this contact's identity." +#~ msgstr "Sie haben die Identität dieses Kontaktes bereits überprüft." + +#~ msgid "Contact's identity verified" +#~ msgstr "Kontaktidentität wurde überprüft" + +#~ msgid "" +#~ "To be certain that only the expected person can read your messages " +#~ "or send you messages, you need to verify their identity by clicking the " +#~ "button below." +#~ msgstr "" +#~ "Um sicher zu stellen, dass nur der beabsichtigte Empfänger Ihre " +#~ "Nachrichten lesen oder Ihnen Nachrichten senden kann, müssen Sie seine " +#~ "Identität überprüfen, indem Sie die Schaltfläche weiter unten betätigen." + +#~ msgid "Contact's identity NOT verified" +#~ msgstr "Kontaktidentität nicht überprüft" + +#, fuzzy +#~ msgid "Verify…" +#~ msgstr "_Überprüfen" + +#~ msgid "Have you verified the contact's identity?" +#~ msgstr "Haben Sie die Identität des Kontaktes überprüft?" + +#~ msgid "" +#~ "To prevent talking to an unknown person, you should speak to %(jid)s directly (in person or on the phone) and verify that they see the same " +#~ "Short Authentication String (SAS) as you.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "Um zu verhindern, dass Sie mit einer anderen Person reden, sollten Sie " +#~ "%(jid)s kontaktieren (persönlich oder telefonisch), um den kurzen " +#~ "Authentifizierungs-Schlüssel beidseitig zu überprüfen.\n" +#~ "\n" +#~ "Der kurze Authentifizierungs-Schlüssel dieser Unterhaltung ist: " +#~ "%(sas)s" + +#~ msgid "Did you talk to the remote contact and verify the SAS?" +#~ msgstr "" +#~ "Haben Sie mit dem Kontakt gesprochen, um den kurzen Authentifizierungs-" +#~ "Schluessel zu überprüfen?" + +#~ msgid "" +#~ "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "" +#~ "Der Kontaktschlüssel (%s) stimmt nicht mit dem in Gajim " +#~ "zugewiesenen Schlüssel überein." + +# TODO: GPG/PGP unification in original strings needed +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages." +#~ msgstr "" +#~ "Dem Kontakt ist kein GPG-Schlüssel zugewiesen. Nachrichten können nicht " +#~ "verschlüsselt werden." + +# TODO: GPG/PGP unification in original strings needed +#, fuzzy +#~ msgid "" +#~ "OpenPGP key is assigned to this contact, but you do not trust their " +#~ "key, so message cannot be encrypted. Use your OpenPGP client " +#~ "to trust their key." +#~ msgstr "" +#~ "Dem Kontakt ist ein GPG-Schlüssel zugewiesen, aber Sie vertrauen dem " +#~ "Schlüssel nicht. Die Nachricht kann nicht verschlüsselt " +#~ "werden. Benutzen Sie den GPG-Client, um den Schlüssel als " +#~ "vertrauenswürdig einzustufen." + +# TODO: GPG/PGP unification in original strings needed +#, fuzzy +#~ msgid "" +#~ "OpenPGP Key is assigned to this contact, and you trust their key, so " +#~ "messages will be encrypted." +#~ msgstr "" +#~ "Dem Kontakt ist ein vertrauenswürdiger GPG-Schlüssel zugewiesen. Die " +#~ "Nachrichten werden verschlüsselt." + +#~ msgid "" +#~ "This icon indicates that this message has not yet\n" +#~ "been received by the remote end. If this icon stays\n" +#~ "for a long time, it's likely the message got lost." +#~ msgstr "" +#~ "Das Symbol zeigt an, dass diese Nachricht noch nicht\n" +#~ "am anderen Ende eingetroffen ist. Falls es längere\n" +#~ "Zeit bleibt, ging die Nachricht höchstwahrscheinlich verloren." + +#~ msgid "" +#~ "If True, listen to D-Bus signals from NetworkManager and change the " +#~ "status of accounts (provided they do not have listen_to_network_manager " +#~ "set to False and they sync with global status) based upon the status of " +#~ "the network connection." +#~ msgstr "" +#~ "Falls aktiviert, wird auf D-Bus-Signale vom NetworkManager reagiert und " +#~ "der Status wird abhängig vom Status der Netzwerkverbindung gesetzt " +#~ "(vorausgesetzt, Sie haben listen_to_network_manager nicht auf False " +#~ "gesetzt und Ihre Konten synchronisieren sich mit dem globalen Status)." + +#~ msgid "" +#~ "The database file (%s) cannot be read. Try to repair it or remove it (all " +#~ "history will be lost)." +#~ msgstr "" +#~ "Die Datenbankdatei (%s) konnte nicht gelesen werden. Versuchen Sie, diese " +#~ "zu reparieren oder zu löschen (dabei gehen alle Verläufe verloren)." + +#~ msgid "Database cannot be read." +#~ msgstr "Die Datenbank kann nicht gelesen werden." + +#~ msgid "A message from a non-valid JID arrived, it has been ignored." +#~ msgstr "" +#~ "Es wurde eine Nachricht von einer ungültigen Jabber-ID empfangen. Die " +#~ "Nachricht wurde ignoriert." + +#~ msgid "Smooth scroll message in conversation window" +#~ msgstr "Sanften Bildlauf im Unterhaltungsfenster verwenden" + +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "_Privatsphären-Listen bearbeiten …" + +#~ msgid "_Administrator" +#~ msgstr "_Administrator" + +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "" +#~ "Sendet eine Nachricht an alle momentan angemeldeten Benutzer des Servers." + +#~ msgid "Sets Message of the Day" +#~ msgstr "Setzt die Nachricht des Tages (MOTD)." + +#~ msgid "Updates Message of the Day" +#~ msgstr "Aktualisiert die Nachricht des Tages (MOTD)." + +#~ msgid "Deletes Message of the Day" +#~ msgstr "Löscht die Nachricht des Tages (MOTD)." + +#~ msgid "Add _Contact..." +#~ msgstr "_Kontakt hinzufügen …" + +#~ msgid "Profile, A_vatar" +#~ msgstr "Profil und A_vatar" + +#~ msgid "P_lugins" +#~ msgstr "P_lugins" + +#~ msgid "File _Transfers" +#~ msgstr "_Dateiübertragungen" + +#~ msgid "Help online" +#~ msgstr "Online-Hilfe" + +#~ msgid "Frequently Asked Questions (online)" +#~ msgstr "Häufig gestellte Fragen (online)" + +#~ msgid "Fea_tures" +#~ msgstr "Fea_tures" + +#~ msgid "to %s account" +#~ msgstr "an das Konto %s" + +#~ msgid "using %s account" +#~ msgstr "über das Konto %s" + +#~ msgid "of account %s" +#~ msgstr "des Kontos %s" + +#~ msgid "for account %s" +#~ msgstr "für das Konto %s" + +#~ msgid "" +#~ "By removing this contact you also remove authorization resulting in him " +#~ "or her always seeing you as offline." +#~ msgstr "" +#~ "Durch das Entfernen dieses Kontaktes entziehen Sie ihm auch die " +#~ "Berechtigung, Ihren Status zu sehen, wodurch der Kontakt Sie nur noch als " +#~ "offline sehen wird." + +#~ msgid "Message Body xmpp.org/getting-started" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:646 +#, fuzzy +msgid "_Please choose a server" +msgstr "Δημιουργία νέου προφίλ" + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "" + +#: gajim/data/gui/application_menu.ui:8 +#, fuzzy +msgid "_Start / Join Chat…" +msgstr "Έναρξη κουβέντας" + +#: gajim/data/gui/application_menu.ui:13 +#, fuzzy +msgid "Create _Group Chat…" +msgstr "Ομαδικές συζητήσεις" + +#: gajim/data/gui/application_menu.ui:18 +#, fuzzy +msgid "_History Manager" +msgstr "Διαχειριστής ιστορικού" + +#: gajim/data/gui/application_menu.ui:22 +#, fuzzy +msgid "Pl_ugins" +msgstr "Η δημοσιοποίηση της vCard απέτυχε" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +#, fuzzy +msgid "_Preferences" +msgstr "Προτιμήσεις" + +#: gajim/data/gui/application_menu.ui:36 +#, fuzzy +msgid "_Accounts" +msgstr "Λογαριασμοί" + +#: gajim/data/gui/application_menu.ui:39 +#, fuzzy +msgid "_View" +msgstr "_Προβολή" + +#: gajim/data/gui/application_menu.ui:46 +#, fuzzy +msgid "Show _Offline Contacts" +msgstr "Εμφάνιση _αποσυνδεδεμένων χρηστών" + +#: gajim/data/gui/application_menu.ui:50 +#, fuzzy +msgid "Show _Active Contacts" +msgstr "Εμφάνιση _αποσυνδεδεμένων χρηστών" + +#: gajim/data/gui/application_menu.ui:54 +#, fuzzy +msgid "Show _Transports" +msgstr "Προβολή ιδιοτήτων εκτυπωτή" + +#: gajim/data/gui/application_menu.ui:60 +#, fuzzy +msgid "_XML Console" +msgstr "XML Κονσόλα" + +#: gajim/data/gui/application_menu.ui:64 +#, fuzzy +msgid "_File Transfer" +msgstr "Μεταφορές αρχείων" + +#: gajim/data/gui/application_menu.ui:74 +#, fuzzy +msgid "_Help" +msgstr "_Βοήθεια" + +#: gajim/data/gui/application_menu.ui:77 +#, fuzzy +msgid "_Wiki (Online)" +msgstr "Συνδεδεμένος" + +#: gajim/data/gui/application_menu.ui:81 +#, fuzzy +msgid "FA_Q (Online)" +msgstr "Συνδεδεμένος" + +#: gajim/data/gui/application_menu.ui:85 +msgid "_Keyboard Shortcuts" +msgstr "" + +#: gajim/data/gui/application_menu.ui:89 +#, fuzzy +msgid "_Features" +msgstr "Χαρακτηριστικά διακομιστή" + +#: gajim/data/gui/application_menu.ui:93 +#, fuzzy +msgid "_About" +msgstr "Περί" + +#: gajim/data/gui/filetransfer_progress.ui:125 +msgid "Speed" +msgstr "" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +#, fuzzy +msgid "OK" +msgstr "_Εντάξει" + +#: gajim/data/gui/plugins_window.ui:55 +msgid "Install Plugin from ZIP-File" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:56 +msgid "Install from File…" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:70 +#, fuzzy +msgid "Uninstall Plugin" +msgstr "Πάγωσε" + +#: gajim/data/gui/plugins_window.ui:116 +#, fuzzy +msgid "" +msgstr "Η δημοσιοποίηση της vCard απέτυχε" + +#: gajim/data/gui/plugins_window.ui:133 +#, fuzzy +msgid "Plugin Settings" +msgstr "Η δημοσιοποίηση της vCard απέτυχε" + +#: gajim/data/gui/plugins_window.ui:215 +#, fuzzy +msgid "" +msgstr "Περιγραφή" + +#: gajim/data/gui/plugins_window.ui:239 +#, fuzzy +msgid "Version" +msgstr "Έκδοση GTK+:" + +#: gajim/data/gui/plugins_window.ui:271 +#, fuzzy +msgid "Authors" +msgstr "Αμερική/Πορτ-Ο-Πρενς" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +#, fuzzy +msgid "Homepage" +msgstr "Προσωπ. σελίδα:" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:349 +#, fuzzy +msgid "Installed" +msgstr "Πάγωσε" + +#: gajim/data/gui/plugins_window.ui:363 +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +#, fuzzy +msgid "Synchronise contacts" +msgstr "Εμφάνιση _αποσυνδεδεμένων χρηστών" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +#, fuzzy +msgid "_Name" +msgstr "_Όνομα:" + +#: gajim/data/gui/groupchat_creation.ui:122 +#, fuzzy +msgid "_Description" +msgstr "Περιγραφή" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +#, fuzzy +msgid "_Address" +msgstr "_Διεύθυνση:" + +#: gajim/data/gui/groupchat_creation.ui:278 +#, fuzzy +msgid "_Account" +msgstr "Λογαριασμοί" + +#: gajim/data/gui/profile.ui:33 +#, fuzzy +msgid "Contact Infos" +msgstr "Πλη_ροφορίες επαφής" + +#: gajim/data/gui/profile.ui:45 +#, fuzzy +msgid "Picture and Name" +msgstr "Δεν βρέθηκε το ψευδώνυμο: %s" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "" + +#: gajim/data/gui/profile.ui:198 +#, fuzzy +msgid "Change your profile picture" +msgstr "Αλλαγή _ψευδώνυμου" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:298 +#, fuzzy +msgid "Add Entry" +msgstr "Εγγραφή:" + +#: gajim/data/gui/profile.ui:410 +#, fuzzy +msgid "Update" +msgstr "Ενημέρωση MOTD" + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:15 +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:65 +#, fuzzy +msgid "Add Proxy" +msgstr "Μεσολαβητής:" + +#: gajim/data/gui/manage_proxies.ui:79 +#, fuzzy +msgid "Remove Proxy" +msgstr "Διαγραφή ομάδας" + +#: gajim/data/gui/manage_proxies.ui:131 +#, fuzzy +msgid "Pass_word" +msgstr "_Κωδικός πρόσβασης:" + +#: gajim/data/gui/manage_proxies.ui:156 +#, fuzzy +msgid "Use proxy auth_entication" +msgstr "Χρήση πιστοποίησης" + +#: gajim/data/gui/manage_proxies.ui:176 +#, fuzzy +msgid "_Username" +msgstr "Όν_ομα χρήστη:" + +#: gajim/data/gui/manage_proxies.ui:237 +#, fuzzy +msgid "_Host" +msgstr "Ε_ξυπηρετητής:" + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "Τοπικό jid:" + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "Πόρος:" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "Κατάσταση:" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +#, fuzzy +msgid "_Store conversation history" +msgstr "_Καταγραφή ιστορικού συζητήσεων" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +msgid "Contact" +msgstr "Επικοινωνία" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +msgid "First Name:" +msgstr "Όνομα:" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +msgid "Last Name:" +msgstr "Επώνυμο:" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +#, fuzzy +msgid "XMPP Address:" +msgstr "Αντιγραφή διεύθυνσης email" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "Ε-Mail:" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +msgid "Personal" +msgstr "Προσωπικά" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "_Κατάσταση" + +#: gajim/data/gui/account_context_menu.ui:20 +#, fuzzy +msgid "_Personal Events" +msgstr "Προσωπικές πληροφορίες" + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "_Προσθήκη επαφής..." + +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "Εύρεση _υπηρεσιών" + +#: gajim/data/gui/account_context_menu.ui:57 +msgid "_Execute Command..." +msgstr "_Εκτέλεση εντολής..." + +#: gajim/data/gui/account_context_menu.ui:65 +#, fuzzy +msgid "_View Server Info" +msgstr "Εξυπηρετητής" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:125 +#, fuzzy +msgid "Global Group Chat Search" +msgstr "Συμμετοχή σε ομαδική κουβέντα" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +#, fuzzy +msgid "_Back" +msgstr "Πίσω σύντομα" + +#: gajim/data/gui/start_chat_dialog.ui:386 +#, fuzzy +msgid "Select Account" +msgstr "Aφαίρεση του λογαριασμού %s" + +#: gajim/data/gui/start_chat_dialog.ui:477 +msgid "_Select" +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +#, fuzzy +msgid "Configure" +msgstr "_Συνέχεια" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +#, fuzzy +msgid "Create new post" +msgstr "Δημιουργία νέου προφίλ" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "Κατάσ_ταση" + +#: gajim/data/gui/systray_context_menu.ui:20 +#, fuzzy +msgid "_Start Chat..." +msgstr "_Έναρξη συζήτησης" + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "Αποστολή μονού _μηνύματος" + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "Εμφάνιση όλων των γεγονότων που εκκρεμούν" + +#: gajim/data/gui/systray_context_menu.ui:52 +msgid "Mute Sounds" +msgstr "Σίγαση ήχων" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +#, fuzzy +msgid "Contact List" +msgstr "Επαφές" + +#: gajim/data/gui/shortcuts_window.ui:24 +#, fuzzy +msgid "Create new group chat" +msgstr "Ομαδικές συζητήσεις" + +#: gajim/data/gui/shortcuts_window.ui:45 +#, fuzzy +msgid "File transfers" +msgstr "Μεταφορές αρχείων" + +#: gajim/data/gui/shortcuts_window.ui:52 +#, fuzzy +msgid "Set the status message" +msgstr "μήνυμα κατάστασης" + +#: gajim/data/gui/shortcuts_window.ui:59 +#, fuzzy +msgid "Show XML console" +msgstr "Κονσόλα _XML" + +#: gajim/data/gui/shortcuts_window.ui:74 +#, fuzzy +msgid "Appearance" +msgstr "Επεξεργασία κανόνα" + +#: gajim/data/gui/shortcuts_window.ui:79 +#, fuzzy +msgid "Show offline contacts" +msgstr "Εμφάνιση _αποσυνδεδεμένων χρηστών" + +#: gajim/data/gui/shortcuts_window.ui:86 +#, fuzzy +msgid "Show only active contacts" +msgstr "Εμφάνιση _αποσυνδεδεμένων χρηστών" + +#: gajim/data/gui/shortcuts_window.ui:93 +msgid "Enable contact list filtering" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:100 +#, fuzzy +msgid "Show / hide contact list" +msgstr "Εμφάνιση _αποσυνδεδεμένων χρηστών" + +#: gajim/data/gui/shortcuts_window.ui:113 +#, fuzzy +msgid "Contact information" +msgstr "Πληροφορίες επαφής" + +#: gajim/data/gui/shortcuts_window.ui:120 +#, fuzzy +msgid "Rename contact" +msgstr "_Μετονομασία αρχείων" + +#: gajim/data/gui/shortcuts_window.ui:127 +#, fuzzy +msgid "Delete contact" +msgstr "Επαφές" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +msgid "Chat" +msgstr "Κουβέντα" + +#: gajim/data/gui/shortcuts_window.ui:142 +#, fuzzy +msgid "Message composition" +msgstr "περιεχόμενα μηνύματος" + +#: gajim/data/gui/shortcuts_window.ui:147 +#, fuzzy +msgid "Send the message" +msgstr "Αποστολή μηνύματος" + +#: gajim/data/gui/shortcuts_window.ui:154 +#, fuzzy +msgid "Add new line" +msgstr "Δημιουργία νέου προφίλ" + +#: gajim/data/gui/shortcuts_window.ui:161 +#, fuzzy +msgid "Select an emoji" +msgstr "_Χρήση συμβόλων" + +#: gajim/data/gui/shortcuts_window.ui:168 +#, fuzzy +msgid "Complete a command or a nickname" +msgstr "Δημιουργία νέου προφίλ" + +#: gajim/data/gui/shortcuts_window.ui:175 +#, fuzzy +msgid "Previously sent message" +msgstr "Προκαθορισμένα μηνύματα:" + +#: gajim/data/gui/shortcuts_window.ui:182 +#, fuzzy +msgid "Next sent messages" +msgstr "Προκαθορισμένα μηνύματα:" + +#: gajim/data/gui/shortcuts_window.ui:189 +#, fuzzy +msgid "Quote previous message" +msgstr "Ή διαλέξτε από τα προκαθορισμένα μηνύματα:" + +#: gajim/data/gui/shortcuts_window.ui:196 +#, fuzzy +msgid "Quote next message" +msgstr "Αποστολή μηνύματος" + +#: gajim/data/gui/shortcuts_window.ui:203 +#, fuzzy +msgid "Clear message entry" +msgstr "Το μήνυμα στάλθηκε" + +#: gajim/data/gui/shortcuts_window.ui:211 +#, fuzzy +msgid "Recent history" +msgstr "Καταγραφή ιστορικού" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:230 +#, fuzzy +msgid "Clear chat window" +msgstr "Χρήση: /%s, καθαρίζει το παράθυρο από το κείμενο." + +#: gajim/data/gui/shortcuts_window.ui:237 +#, fuzzy +msgid "Show chat history" +msgstr "Καταγραφή ιστορικού" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:299 +msgid "Close chat" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:312 +#, fuzzy +msgid "Change Nickname" +msgstr "Αλλαγή _ψευδώνυμου" + +#: gajim/data/gui/chat_control.ui:48 +#, fuzzy +msgid "Drop files or contacts" +msgstr "Αποστολή αρχείου σε μία επαφή" + +#: gajim/data/gui/chat_control.ui:80 +#, fuzzy +msgid "1" +msgstr "Ιστορικό" + +#: gajim/data/gui/chat_control.ui:101 +#, fuzzy +msgid "2 abc" +msgstr "Ιστορικό" + +#: gajim/data/gui/chat_control.ui:121 +#, fuzzy +msgid "3 def" +msgstr "Ιστορικό" + +#: gajim/data/gui/chat_control.ui:141 +#, fuzzy +msgid "4 ghi" +msgstr "Ιστορικό" + +#: gajim/data/gui/chat_control.ui:161 +#, fuzzy +msgid "5 jkl" +msgstr "Ιστορικό" + +#: gajim/data/gui/chat_control.ui:181 +#, fuzzy +msgid "6 mno" +msgstr "Ιστορικό" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "" + +#: gajim/data/gui/chat_control.ui:221 +#, fuzzy +msgid "8 tuv" +msgstr "Ιστορικό" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "" + +#: gajim/data/gui/chat_control.ui:261 +#, fuzzy +msgid "*" +msgstr "Ιστορικό" + +#: gajim/data/gui/chat_control.ui:281 +#, fuzzy +msgid "0" +msgstr "Ιστορικό" + +#: gajim/data/gui/chat_control.ui:301 +#, fuzzy +msgid "#" +msgstr "Ιστορικό" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "Έναρξη _συζήτησης" + +#: gajim/data/gui/contact_context_menu.ui:28 +#, fuzzy +msgid "Send _File..." +msgstr "Αποστολή _αρχείου" + +#: gajim/data/gui/contact_context_menu.ui:44 +#, fuzzy +msgid "Invite _Contacts" +msgstr "Επαφές" + +#: gajim/data/gui/contact_context_menu.ui:58 +#, fuzzy +msgid "E_xecute Command..." +msgstr "Αδυναμία εκτέλεσης της εντολής:" + +#: gajim/data/gui/contact_context_menu.ui:67 +#, fuzzy +msgid "M_anage Contact" +msgstr "_Μετονομασία αρχείων" + +#: gajim/data/gui/contact_context_menu.ui:77 +#, fuzzy +msgid "_Rename..." +msgstr "_Μετονομασία" + +#: gajim/data/gui/contact_context_menu.ui:84 +#, fuzzy +msgid "Edit _Groups..." +msgstr "Επεξεργασία _ομάδων" + +#: gajim/data/gui/contact_context_menu.ui:92 +#, fuzzy +msgid "Add Special _Notification..." +msgstr "Προσθήκη ειδικής _γνωστοποίησης" + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "_Συνδρομή" + +#: gajim/data/gui/contact_context_menu.ui:115 +#, fuzzy +msgid "_Allow contact to see my status" +msgstr "Επιθυμώ αυτή η επαφή να γνωρίζει την κατάστασή μου μετά την αφαίρεση" + +#: gajim/data/gui/contact_context_menu.ui:123 +#, fuzzy +msgid "A_sk to see contact status" +msgstr "Ζήτα να βλέπεις την κατάσταση του/της" + +#: gajim/data/gui/contact_context_menu.ui:131 +#, fuzzy +msgid "_Forbid contact to see my status" +msgstr "Απαγόρευσε τον/την να βλέπει την κατάστασή μου" + +#: gajim/data/gui/contact_context_menu.ui:159 +#, fuzzy +msgid "_Unignore" +msgstr "εννιά" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:174 +#, fuzzy +msgid "_Add to Contact List..." +msgstr "_Προσθήκη επαφής..." + +#: gajim/data/gui/single_message_window.ui:42 +#, fuzzy +msgid "_To" +msgstr "Προς" + +#: gajim/data/gui/single_message_window.ui:71 +#, fuzzy +msgid "Su_bject" +msgstr "Θέμα" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "" + +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "_Μήνυμα" + +#: gajim/data/gui/single_message_window.ui:144 +#, fuzzy +msgid "Characters typed: 0" +msgstr "Δεν επιτρέπεται το ψευδώνυμο: %s" + +#: gajim/data/gui/single_message_window.ui:189 +#, fuzzy +msgid "_From" +msgstr "Από" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "Α_ποστολή" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "Αποστολή μηνύματος" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "_Απάντηση" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "Απάντηση σε αυτό το μήνυμα" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "_Αποστολή & κλείσιμο" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "Αποστολή μηνύματος και κλείσιμο παραθύρου" + +#: gajim/data/gui/vcard_information_window.ui:106 +#, fuzzy +msgid "Client" +msgstr "Εφαρμογή:" + +#: gajim/data/gui/vcard_information_window.ui:140 +#, fuzzy +msgid "Contact time" +msgstr "Όνομα επαφής" + +#: gajim/data/gui/vcard_information_window.ui:240 +#, fuzzy +msgid "User avatar" +msgstr "_Ορισμός Avatar" + +#: gajim/data/gui/vcard_information_window.ui:255 +#, fuzzy +msgid "Configured avatar" +msgstr "Ρύθμιση _δωματίου" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +#, fuzzy +msgid "Ask" +msgstr "Ζητείται:" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +#, fuzzy +msgid "Subscription" +msgstr "Εγγραφή:" + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +#, fuzzy +msgid "Extra Address" +msgstr "Επιπλέον διεύθυνση:" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +#, fuzzy +msgid "Address" +msgstr "Προσθήκη κανόνα" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +#, fuzzy +msgid "E-Mail" +msgstr "Ε-Mail:" + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "Μορφή: ΕΕΕΕ-ΜΜ-ΗΗ" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +#, fuzzy +msgid "Family" +msgstr "Οικογένεια:" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +#, fuzzy +msgid "Middle" +msgstr "Μέσο:" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +#, fuzzy +msgid "Prefix" +msgstr "Πρόθεμα:" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +#, fuzzy +msgid "Given" +msgstr "Δοθέν όνομα:" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +#, fuzzy +msgid "Suffix" +msgstr "Κατάληξη:" + +#: gajim/data/gui/vcard_information_window.ui:958 +#, fuzzy +msgid "Name Details" +msgstr "Ιστορικό" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "" + +#: gajim/data/gui/vcard_information_window.ui:1017 +msgid "Personal Info" +msgstr "Προσωπικές πληροφορίες" + +#: gajim/data/gui/vcard_information_window.ui:1040 +#, fuzzy +msgid "Company" +msgstr "Εταιρία:" + +#: gajim/data/gui/vcard_information_window.ui:1073 +#, fuzzy +msgid "Department" +msgstr "Τμήμα" + +#: gajim/data/gui/vcard_information_window.ui:1104 +#, fuzzy +msgid "Position" +msgstr "Θέση:" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "Ρόλος" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "Περί" + +#: gajim/data/gui/vcard_information_window.ui:1514 +msgid "Comments" +msgstr "Σχόλια" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "Τροποποίηση ομάδων" + +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "Φράση πρόσβασης" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +#, fuzzy +msgid "Themes" +msgstr "Θέμα" + +#: gajim/data/gui/themes_window.ui:171 +#, fuzzy +msgid "Add Setting" +msgstr "Η δημοσιοποίηση της vCard απέτυχε" + +#: gajim/data/gui/themes_window.ui:204 +#, fuzzy +msgid "Add new Theme" +msgstr "Δημιουργία νέου προφίλ" + +#: gajim/data/gui/themes_window.ui:219 +#, fuzzy +msgid "Remove Theme" +msgstr "Ενεργό" + +#: gajim/data/gui/bookmarks.ui:120 +#, fuzzy +msgid "Autojoin" +msgstr "Αυτόματη είσοδος" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "" + +#: gajim/data/gui/preferences.ui:68 +#, fuzzy +msgid "Contact List Appearance" +msgstr "Αποσύνδεση επαφής" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +msgid "Chats" +msgstr "Συζητήσεις" + +#: gajim/data/gui/preferences.ui:215 +#, fuzzy +msgid "Visual Notifications" +msgstr "Οπτικές γνωστοποιήσεις" + +#: gajim/data/gui/preferences.ui:243 +#, fuzzy +msgid "Sounds" +msgstr "Ήχος" + +#: gajim/data/gui/preferences.ui:303 +#, fuzzy +msgid "Ask For Status Message on…" +msgstr "Ερώτηση μηνύματος κατάστασης όταν γίνομαι:" + +#: gajim/data/gui/preferences.ui:331 +#, fuzzy +msgid "Automatic Status Change" +msgstr "Αδυναμία φόρτωσης" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "" + +#: gajim/data/gui/preferences.ui:447 +#, fuzzy +msgid "Status Icon" +msgstr "Εξορισμού _σετ εικονιδίων κατάστασης:" + +#: gajim/data/gui/preferences.ui:472 +#, fuzzy +msgid "Style" +msgstr "Πάγωσε" + +#: gajim/data/gui/preferences.ui:511 +#, fuzzy +msgid "Show _Features" +msgstr "Χαρακτηριστικά διακομιστή" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:632 +msgid "Audio" +msgstr "" + +#: gajim/data/gui/preferences.ui:660 +msgid "Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:698 +msgid "Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:735 +#, fuzzy +msgid "Miscellaneous" +msgstr "Διάφορα" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:821 +#, fuzzy +msgid "Advanced Configuration Editor… " +msgstr "Επεξεργασία ρυθμίσεων για προχωρημένους" + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "" + +#: gajim/data/gui/server_info.ui:50 +#, fuzzy +msgid "Server Software" +msgstr "Χαρακτηριστικά διακομιστή" + +#: gajim/data/gui/server_info.ui:80 +#, fuzzy +msgid "Server Uptime" +msgstr "Αποθηκεύτηκε στο: %s" + +#: gajim/data/gui/server_info.ui:109 +#, fuzzy +msgid "Contact Addresses" +msgstr "Μήνυμα κατά_στασης:" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "" + +#: gajim/data/gui/server_info.ui:177 +#, fuzzy +msgid "Proxy Type" +msgstr "Μεσολαβητής:" + +#: gajim/data/gui/server_info.ui:192 +#, fuzzy +msgid "No proxy used" +msgstr "Μεσολαβητής:" + +#: gajim/data/gui/server_info.ui:202 +#, fuzzy +msgid "View _Certificate" +msgstr "Μη έγκυρο όνομα χρήστη" + +#: gajim/data/gui/server_info.ui:222 +#, fuzzy +msgid "Proxy Host" +msgstr "Μεσολαβητής:" + +#: gajim/data/gui/server_info.ui:421 +#, fuzzy +msgid "Copy info to clipboard" +msgstr "_Αντιγραφή τοποθεσίας δεσμού" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:153 +#, fuzzy +msgid "Serial Number" +msgstr "Αριθμός χώρων εργασίας:" + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:304 +msgid "Expires on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:465 +#, fuzzy +msgid "Copy Certificate Information" +msgstr "Πληροφορίες επαφής" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +#, fuzzy +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "το JID της επαφής με την οποία θέλετε να συνομιλήσετε" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +#, fuzzy +msgid "Please select a group chat server." +msgstr "Αυτή η μορφή συμπίεσης δεν υποστηρίζεται:" + +#: gajim/data/gui/chat_to_muc_window.ui:141 +#, fuzzy +msgid "Group chat server" +msgstr "Ομαδικές συζητήσεις" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +#, fuzzy +msgid "In_vite" +msgstr "Αδυναμία φόρτωσης" + +#: gajim/data/gui/mam_preferences.ui:53 +#, fuzzy +msgid "_Default" +msgstr "Προεπιλογή" + +#: gajim/data/gui/mam_preferences.ui:136 +#, fuzzy +msgid "Archive" +msgstr "Διαδρομή αρχείου" + +#: gajim/data/gui/history_manager.ui:11 +#, fuzzy +msgid "_Export" +msgstr "Εξαγωγή" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +msgid "Gajim History Logs Manager" +msgstr "Διαχειριστής βάσης δεδομένων ιστορικού Gajim" + +#: gajim/data/gui/history_manager.ui:104 +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" + +#: gajim/data/gui/history_manager.ui:120 +#, fuzzy +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" +"Καλωσήλθατε στον διαχειριστή ιστορικού του Gajim\n" +"\n" +"Μπορείτε να επιλέξετε καταγραφές από τ'αριστερά ή να ερευνήσετε τη βάση " +"δεδομένων παρακάτω.\n" +"\n" +"ΠΡΟΕΙΔΟΠΟΙΗΣΗ:\n" +"Αν σκοπεύετε να κάνετε μαζικές διαγραφές, σιγουρευτείτε ότι δεν τρέχει το " +"Gajim. Γενικά να αποφύγετε να διαγράψετε από επαφές που συζητάτε αυτή τη " +"στιγμή." + +#: gajim/data/gui/history_manager.ui:211 +#, fuzzy +msgid "Search database..." +msgstr "_Αναζήτηση στη βάση δεδομένων" + +#: gajim/data/gui/history_manager.ui:226 +#, fuzzy +msgid "Search in database" +msgstr "_Αναζήτηση στη βάση δεδομένων" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" + +#: gajim/data/gui/groupchat_invite.ui:69 +#, fuzzy +msgid "Invitees" +msgstr "Αδυναμία φόρτωσης" + +#: gajim/data/gui/groupchat_invite.ui:153 +#, fuzzy +msgid "Search contacts..." +msgstr "_Αναζήτηση στη βάση δεδομένων" + +#: gajim/data/gui/groupchat_invite.ui:223 +#, fuzzy +msgid "Click on contacts you would like to invite to this group chat." +msgstr "Ο %(nick)s πετάχτηκε έξω από τον %(who)s: %(reason)s" + +#: gajim/data/gui/service_discovery_window.ui:148 +#, fuzzy +msgid "Go" +msgstr "_Μετάβαση" + +#: gajim/data/gui/status_change_window.ui:27 +#, fuzzy +msgid "Change Status" +msgstr "Αλλαγή κατάστασης" + +#: gajim/data/gui/status_change_window.ui:56 +#, fuzzy +msgid "Status Presets…" +msgstr "Μήνυμα κατάστασης" + +#: gajim/data/gui/status_change_window.ui:72 +msgid "Save this message as a preset" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:130 +#, fuzzy +msgid "Ac_tivity" +msgstr "Ενεργό" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:278 +#, fuzzy +msgid "_Change Status" +msgstr "Αλλαγή κατάστασης" + +#: gajim/data/gui/status_change_window.ui:313 +#, fuzzy +msgid "Activity" +msgstr "Ενεργό" + +#: gajim/data/gui/status_change_window.ui:326 +#, fuzzy +msgid "_No Activity" +msgstr "Ενεργό" + +#: gajim/data/gui/status_change_window.ui:729 +#, fuzzy +msgid "Mood" +msgstr "_Τροποποίηση" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +#, fuzzy +msgid "Author" +msgstr "Αμερική/Πορτ-Ο-Πρενς" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +#, fuzzy +msgid "Group Chat Language" +msgstr "Πρόσκληση ομαδικής κουβέντας" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +#, fuzzy +msgid "Copy Address" +msgstr "Α_ντιγραφή JID/Email διεύθυνσης" + +#: gajim/data/gui/emoji_chooser.ui:98 +msgid "No Results Found" +msgstr "" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr "XML Κονσόλα" + +#: gajim/data/gui/xml_console.ui:131 +#, fuzzy +msgid "Start Search..." +msgstr "_Έναρξη συζήτησης" + +#: gajim/data/gui/xml_console.ui:260 +#, fuzzy +msgid "Clear" +msgstr "Απόγευμα" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "" + +#: gajim/data/gui/xml_console.ui:316 +#, fuzzy +msgid "Presets" +msgstr "_Παρουσία" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +#, fuzzy +msgid "Select the contacts you want to synchronise" +msgstr "το JID της επαφής με την οποία θέλετε να συνομιλήσετε" + +#: gajim/data/gui/groupchat_config.ui:51 +#, fuzzy +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" +"Μπορεί να είναι ένα από τα παρακάτω:\n" +"1. χρήστης@τομέας/πόρος (ταιρίαζει μόνο αυτός ο πόρος).\n" +"2. χρήστης@τομέας (ταιριάζει οποιοσδήποτε πόρος).\n" +"3. τομέας/πόρος (ταιρίαζει μόνο αυτός ο πόρος).\n" +"4. τομέας (ταιριάζει ο τομέας, και κάθε χρήστης@τομέας,\n" +"τομέας/πόρος, ή διεύθυνση που περιέχει υποτομέα." + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:309 +#, fuzzy +msgid "Reserved Name" +msgstr "Όνομα προτίμησης" + +#: gajim/data/gui/groupchat_config.ui:346 +#, fuzzy +msgid "Affiliation" +msgstr "Εφαρμογές" + +#: gajim/data/gui/groupchat_config.ui:377 +#, fuzzy +msgid "Affiliations" +msgstr "Εφαρμογές" + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "Αιτία" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "Λίστα Ban" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "_Άρνηση" + +#: gajim/data/gui/subscription_request_window.ui:34 +#, fuzzy +msgid "_Block User" +msgstr "_Ομάδα:" + +#: gajim/data/gui/subscription_request_window.ui:49 +#, fuzzy +msgid "_Report as Spam" +msgstr "_Αναφορά σφάλματος" + +#: gajim/data/gui/subscription_request_window.ui:212 +#, fuzzy +msgid "_Deny…" +msgstr "_Άρνηση" + +#: gajim/data/gui/subscription_request_window.ui:225 +#, fuzzy +msgid "Ac_cept" +msgstr "Αποδοχή" + +#: gajim/data/gui/subscription_request_window.ui:230 +#, fuzzy +msgid "Allows the contact to see your online status" +msgstr "Επιθυμώ αυτή η επαφή να γνωρίζει την κατάστασή μου μετά την αφαίρεση" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:115 +#, fuzzy +msgid "_Report Bug" +msgstr "_Αναφορά σφάλματος" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "Γεγονός" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "Επιλογή ήχου" + +#: gajim/data/gui/manage_sounds.ui:97 +#, fuzzy +msgid "Clear Sound" +msgstr "Επιλογή ήχου" + +#: gajim/data/gui/manage_sounds.ui:118 +#, fuzzy +msgid "Play Sound" +msgstr "Αναπαραγωγή _ήχων" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +#, fuzzy +msgid "_Send Files" +msgstr "Αποστολή _αρχείου" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +msgid "Send" +msgstr "Αποστολή" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +#, fuzzy +msgid "Files to send" +msgstr "Επιλέξτε το αρχείο που θα σταλεί..." + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +#, fuzzy +msgid "Add Files" +msgstr "Αρχείο:" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +#, fuzzy +msgid "Remove Files" +msgstr "_Αφαίρεση" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +#, fuzzy +msgid "Idle since:" +msgstr "από τις %s" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +#, fuzzy +msgid "Mood:" +msgstr "Δωμάτιο:" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +#, fuzzy +msgid "Activity:" +msgstr "Ενεργό" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +#, fuzzy +msgid "Tune:" +msgstr "Τύπος:" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +#, fuzzy +msgid "Location:" +msgstr "Τροποποίηση λογαριασμού" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +msgid "Subscription:" +msgstr "Εγγραφή:" + +#: gajim/data/gui/advanced_configuration.ui:15 +#, fuzzy +msgid "A restart may be required for some settings to take effect" +msgstr "" +"ΣΗΜΕΙΩΣΗ: Θα πρέπει να επανεκκινήσετε το gajim για να εφαρμοστούν " +"μερικές ρυθμίσεις" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "" + +#: gajim/data/gui/advanced_configuration.ui:120 +#, fuzzy +msgid "_Reset Value" +msgstr "Επανα_φορά προεπιλεγμένων χρωμάτων" + +#: gajim/data/gui/advanced_configuration.ui:125 +#, fuzzy +msgid "Resets value to default" +msgstr "Επανα_φορά προεπιλεγμένων χρωμάτων" + +#: gajim/data/gui/history_window.ui:27 +#, fuzzy +msgid "Display status changes" +msgstr "Καταγραφή α_λλαγών κατάστασης των επαφών" + +#: gajim/data/gui/history_window.ui:57 +msgid "History Manager" +msgstr "Διαχειριστής ιστορικού" + +#: gajim/data/gui/history_window.ui:233 +#, fuzzy +msgid "Mode" +msgstr "Διαχειριστής" + +#: gajim/data/gui/history_window.ui:246 +#, fuzzy +msgid "Search complete history" +msgstr "Καταγραφή ιστορικού" + +#: gajim/data/gui/history_window.ui:263 +msgid "Search selected day only" +msgstr "" + +#: gajim/data/gui/history_window.ui:317 +msgid "Store history for this chat" +msgstr "" + +#: gajim/data/gui/history_window.ui:332 +#, fuzzy +msgid "Store History" +msgstr "Καταγραφή ιστορικού" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +#, fuzzy +msgid "Identified Error" +msgstr "Μη έγκυρο όνομα χρήστη" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +#, fuzzy +msgid "" +msgstr "Σφάλμα:" + +#: gajim/data/gui/ssl_error_dialog.ui:74 +msgid "Add this certificate to the list of _trusted certificates" +msgstr "" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +#, fuzzy +msgid "_View Certificate" +msgstr "Μη έγκυρο όνομα χρήστη" + +#: gajim/data/gui/ssl_error_dialog.ui:120 +#, fuzzy +msgid "_Connect" +msgstr "Σύνδεση" + +#: data/org.gajim.Gajim.desktop.in:5 +#, fuzzy +msgid "XMPP Chat Client" +msgstr "Ένα πρόγραμμα για το Jabber" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:8 +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:27 +#, fuzzy +msgid "Show next pending event" +msgstr "Εμφάνιση όλων των γεγονότων που εκκρεμούν" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:17 +#, fuzzy +msgid "Features:" +msgstr "Χαρακτηριστικά διακομιστή" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +msgid "Automatic spell-checking for your messages" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +#, fuzzy +msgid "Support for service discovery including nodes and search for users" +msgstr "Ανακάλυψη υπηρεσιών χρησιμοποιώντας το λογαριασμό %s" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +#, fuzzy +msgid "Contact list" +msgstr "Επαφές" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +#, fuzzy +msgid "Group chat support" +msgstr "Ομαδικές συζητήσεις" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +#, fuzzy +msgid "Chat history" +msgstr "Καταγραφή ιστορικού" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +#, fuzzy +msgid "Plugin manager" +msgstr "Η δημοσιοποίηση της vCard απέτυχε" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +#, fuzzy +msgid "Gajim Team" +msgstr "Gajim - %s" + +#, fuzzy +#~ msgid "Chat Settings" +#~ msgstr "Η δημοσιοποίηση της vCard απέτυχε" + +#, fuzzy, python-format +#~ msgid "%i day" +#~ msgid_plural "%i days" +#~ msgstr[0] "πριν από %i μέρες" +#~ msgstr[1] "πριν από %i μέρες" + +#, fuzzy +#~ msgid "Composing only" +#~ msgstr "Σύνθεση" + +#, fuzzy +#~ msgid "All chat states" +#~ msgstr "Όλες οι καταστάσεις" + +#, fuzzy +#~ msgid "Privacy Lists" +#~ msgstr "Προσωπικές συζητήσεις" + +#~ msgid "None" +#~ msgstr "Κανένα" + +#, python-format +#~ msgid "%s Status Message" +#~ msgstr "Μήνυμα για κατάσταση %s" + +#~ msgid "Could not load image" +#~ msgstr "Δεν ήταν δυνατό το φόρτωμα της εικόνας" + +#, fuzzy +#~ msgid "Error." +#~ msgstr "Σφάλμα:" + +#, fuzzy +#~ msgid "_Block Contact" +#~ msgstr "Επαφές" + +#, fuzzy +#~ msgid "Block Group" +#~ msgstr "Ομάδα" + +#, fuzzy +#~ msgid "Really block this group?" +#~ msgstr "Το OpenPGP δεν είναι διαθέσιμο σε αυτόν τον Η/Υ" + +#~ msgid "No account available" +#~ msgstr "Κανένας λογαριασμός δεν είναι διαθέσιμος" + +#~ msgid "You must create an account before you can chat with other contacts." +#~ msgstr "" +#~ "Πρέπει να δημιουργήσετε ένα λογαριασμό για να μπορέσετε να συνομιλείτε με " +#~ "άλλες επαφές." + +#, fuzzy, python-brace-format +#~ msgid "You are invited to {room} by {user}" +#~ msgstr "Ο/Η %s μπήκε στο δωμάτιο" + +#, fuzzy, python-format +#~ msgid "%s wants to start a voice chat." +#~ msgstr "O/Η %s επιθυμεί να σας στείλει ένα αρχείο." + +#~ msgid "Could not save your settings and preferences" +#~ msgstr "Δεν ήταν δυνατή η αποθήκευση των προτιμήσεων σας" + +#, fuzzy +#~ msgid "Error While Removing Privacy List" +#~ msgstr "Δημιουργήθηκε σφάλμα κατά την αφαίρεση της εργασίας !" + +#, fuzzy +#~ msgid "Invisibility Not Supported" +#~ msgstr "Η επέκταση δεν υποστηρίζεται" + +#, fuzzy, python-format +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "Λίστα ενεργών, ολοκληρωμένων και σταματημένων μεταφορών αρχείων" + +#, fuzzy +#~ msgid "Could not request upload slot for HTTP File Upload" +#~ msgstr "Δεν ήταν δυνατή η εκκίνηση της τοπικής υπηρεσίας" + +#, fuzzy +#~ msgid "Not Secure" +#~ msgstr "Δεν έχει ξεκινήσει" + +#, fuzzy +#~ msgid "Could not Upload File" +#~ msgstr "Δεν ήταν δυνατό το φόρτωμα της εικόνας" + +#, fuzzy +#~ msgid "Encryption Error" +#~ msgstr "Ενεργοποιήθηκε η κρυπτογράφηση" + +#~ msgid "Lists all preferences and their values" +#~ msgstr "Εμφανίζει όλες τις προτιμήσεις και τις τιμές τους" + +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "Καταχωρεί την 'τιμή' στην τιμή του 'κλειδιού'" + +#~ msgid "key=value" +#~ msgstr "κλειδί=τιμή" + +#, fuzzy +#~ msgid "'key' is the name of the preference, 'value' is what to set it to" +#~ msgstr "" +#~ "Το 'κλειδί' είναι το όνομα της προτίμησης, ενώ 'τιμή' είναι η τιμή που " +#~ "του έχει προσδιοριστεί" + +#~ msgid "Deletes a preference item" +#~ msgstr "Διαγράφει μια προτίμηση" + +#~ msgid "key" +#~ msgstr "κλειδί" + +#~ msgid "name of the preference to be deleted" +#~ msgstr "όνομα της προτίμησης που πρόκειται να διαγραφεί" + +#~ msgid "Writes the current state of Gajim preferences to the .config file" +#~ msgstr "" +#~ "Γράφει την τρέχουσα κατάσταση των προτιμήσεων του Gajim στο .config αρχείο" + +#, fuzzy, python-format +#~ msgid "%s is a directory but should be a file" +#~ msgstr "Το %s είναι κατάλογος αλλά θα έπρεπε να είναι αρχείο" + +#, fuzzy, python-format +#~ msgid "Creating %s" +#~ msgstr "Περιγραφή: %s" + +#, python-format +#~ msgid "%(nickname)s Signed In" +#~ msgstr "Σύνδεση %(nickname)s" + +#~ msgid "Contact Signed In" +#~ msgstr "Σύνδεση επαφής" + +#, python-format +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "Αποσύνδεση %(nickname)s" + +#~ msgid "Contact Signed Out" +#~ msgstr "Αποσύνδεση επαφής" + +#, fuzzy +#~ msgid "" +#~ "Show desktop notification even when a chat window is opened for this " +#~ "contact and does not have focus." +#~ msgstr "" +#~ "Να επιτρέπονται οι εμφανίσεις/γνωστοποιήσεις όταν είμαι _απομακρ./μη " +#~ "διαθ./απασχολ./αφανής" + +#, fuzzy +#~ msgid "default" +#~ msgstr "Προεπιλογή" + +#, fuzzy +#~ msgid "If enabled, Gajim displays the avatar in the chat window." +#~ msgstr "" +#~ "Αν Ψευδέςν, δε θα εμφανίζεται πλέον το άβαταρ στο παράθυρο κουβέντας" + +#~ msgid "I'm available." +#~ msgstr "Είμαι διαθέσιμος." + +#~ msgid "I'm free for chat." +#~ msgstr "Είμαι ελεύθερος για κουβέντα." + +#~ msgid "Be right back." +#~ msgstr "Επιστρέφω αμέσως." + +#~ msgid "I'm not available." +#~ msgstr "Δεν είμαι διαθέσιμος." + +#~ msgid "Do not disturb." +#~ msgstr "Μην ενοχλείτε." + +#~ msgid "Bye!" +#~ msgstr "Γεια χαρά!" + +#, fuzzy +#~ msgid "Timeout loading image" +#~ msgstr "Δεν ήταν δυνατό το φόρτωμα της εικόνας" + +#~ msgid "Image is too big" +#~ msgstr "Η εικόνα είναι πολύ μεγάλη" + +#, fuzzy +#~ msgid "Error loading image" +#~ msgstr "Δεν ήταν δυνατό το φόρτωμα της εικόνας" + +#, fuzzy +#~ msgid "Blocked Contacts" +#~ msgstr "Επαφές" + +#, fuzzy +#~ msgid "Group chat" +#~ msgstr "Ομαδικές συζητήσεις" + +#, fuzzy +#~ msgid "Bookmark group chat" +#~ msgstr "_Τοποθέτηση σελιδοδείκτη για αυτό το δωμάτιο" + +#, fuzzy +#~ msgid "Bookmark" +#~ msgstr "_Τοποθέτηση σελιδοδείκτη για αυτό το δωμάτιο" + +#, fuzzy +#~ msgid "Recently used group chats" +#~ msgstr "Συμμετοχή σε _ομαδική συζήτηση" + +#, fuzzy +#~ msgid "Clear Avatar" +#~ msgstr "Επιλογή Εικόνας" + +#, fuzzy +#~ msgid "Set Avatar…" +#~ msgstr "Επιλογή εικόνας" + +#, fuzzy +#~ msgid "Contact" +#~ msgstr "Ρυθμίσεις" + +#, fuzzy +#~ msgid "_Leave Group Chat" +#~ msgstr "Ομαδικές συζητήσεις" + +#, fuzzy +#~ msgid "Enter a new name for this group chat" +#~ msgstr "Επιλέξτε ένα όνομα για τη νέα συνεδρία:" + +#, fuzzy +#~ msgid "Custom" +#~ msgstr "Προσαρμοσμένες ρυθμίσεις" + +#, fuzzy +#~ msgid "Pop it up" +#~ msgstr "_Εμφάνισε το" + +#, fuzzy +#~ msgid "Notify me about it" +#~ msgstr "_Ειδοποίησε με για αυτό" + +#, fuzzy +#~ msgid "Show only in contact list" +#~ msgstr "Εμφάνιση _αποσυνδεδεμένων χρηστών" + +#, fuzzy +#~ msgid "No status messages" +#~ msgstr "μήνυμα κατάστασης" + +#, fuzzy +#~ msgid "All status messages" +#~ msgstr "μήνυμα κατάστασης" + +#, fuzzy +#~ msgid "Only enter/leave messages" +#~ msgstr "Έχετε μη-αναγνωσμένα μηνύματα" + +#, fuzzy +#~ msgid "Me_rge accounts" +#~ msgstr "Συ_γχώνευση λογαριασμών" + +#, fuzzy +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "Εμφάνιση των ά_βαταρ των επαφών στη λίστα επαφών" + +#, fuzzy +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "" +#~ "Αν επιλεγεί, το Gajim θα εμφανίζει τα άβαταρ των επαφών στην λίστα επαφών " +#~ "και στις ομαδικές κουβέντες" + +#, fuzzy +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "Εμφάνιση των _μηνυμάτων κατάστασης στη λίστα επαφών" + +#, fuzzy +#~ msgid "" +#~ "If checked, status messages of contacts will be shown under the contact's " +#~ "name, in the contact list window, and in group chats" +#~ msgstr "" +#~ "Αν επιλεγεί, το Gajim θα εμφανίζει τα μηνύματα κατάστασης των επαφών σας " +#~ "κάτω από τα ονόματα τους στη λίστα επαφών και στις ομαδικές κουβέντες" + +#, fuzzy +#~ msgid "" +#~ "Show e_xtra information of contacts in contact list (mood, activity, ...)" +#~ msgstr "Εμφάνιση των ά_βαταρ των επαφών στη λίστα επαφών" + +#, fuzzy +#~ msgid "in _contact list" +#~ msgstr "Επαφές" + +#, fuzzy +#~ msgid "in _group chats" +#~ msgstr "Συμμετοχή σε _ομαδική συζήτηση" + +#, fuzzy +#~ msgid "Display status messages in _single chats" +#~ msgstr "Εμφάνιση των _μηνυμάτων κατάστασης στη λίστα επαφών" + +#, fuzzy +#~ msgid "" +#~ "If checked, status lines will be shown in 1 on 1 chats when a contact " +#~ "changes their status or status message" +#~ msgstr "" +#~ "Αν είναι ψευδές, το Gajim δε θα τυπώνει γραμμή σχετική με την κατάσταση " +#~ "στα παράθυρα συζητήσεων όταν η επαφή αλλάζει την κατάσταση και/ή τo " +#~ "μήνυμα κατάστασης." + +#, fuzzy +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "Δεν ήταν δυνατή η σύνδεση στην ομαδική συζήτηση" + +#, fuzzy +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "Δεν ήταν δυνατή η σύνδεση στην ομαδική συζήτηση" + +#, fuzzy +#~ msgid "Show status changes (Default)" +#~ msgstr "Καταγραφή α_λλαγών κατάστασης των επαφών" + +#, fuzzy +#~ msgid "" +#~ "If checked, the tab will be colored according to the current chatstate of " +#~ "the contact" +#~ msgstr "" +#~ "Αν επιλεγεί, το Gajim θα σας συνδέει αυτόματα σε αυτό το δωμάτιο κατά την " +#~ "εκκίνηση" + +#, fuzzy +#~ msgid "" +#~ "If checked, a description of the contacts current chatstate is shown in " +#~ "the banner" +#~ msgstr "" +#~ "Αν επιλεγεί, το Gajim θα σας συνδέει αυτόματα σε αυτό το δωμάτιο κατά την " +#~ "εκκίνηση" + +#, fuzzy +#~ msgid "Chatstate" +#~ msgstr "Τελευταία κατάσταση: %s" + +#, fuzzy +#~ msgid "_When new event is received" +#~ msgstr "Όταν λαμβάνεται ένα νέο γεγονός" + +#, fuzzy +#~ msgid "Show popups/notifications when a chat window is already _open" +#~ msgstr "" +#~ "Να επιτρέπονται οι εμφανίσεις/γνωστοποιήσεις όταν είμαι _απομακρ./μη " +#~ "διαθ./απασχολ./αφανής" + +#, fuzzy +#~ msgid "Allow popups/notifications when I'm _away, not available or busy" +#~ msgstr "" +#~ "Να επιτρέπονται οι εμφανίσεις/γνωστοποιήσεις όταν είμαι _απομακρ./μη " +#~ "διαθ./απασχολ./αφανής" + +#, fuzzy +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "Ειδοποίηση όταν μια επαφή:" + +#, fuzzy +#~ msgid "" +#~ "A popup window about contacts that just signed in will be shown in the " +#~ "bottom right of the screen " +#~ msgstr "" +#~ "Το Gajim θα σας ειδοποιήσει για το νέο μήνυμα μέσω ενός αναδυόμενου " +#~ "παραθύρου στο κάτω δεξιά μέρος της οθόνης" + +#, fuzzy +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "Ειδοποίηση όταν μια επαφή:" + +#~ msgid "Play _sounds" +#~ msgstr "Αναπαραγωγή _ήχων" + +#~ msgid "Ma_nage..." +#~ msgstr "Δια_χείριση..." + +#, fuzzy +#~ msgid "No_t Available" +#~ msgstr "Μη διαθέσιμος" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Not Available when the computer " +#~ "has not been used for the specified time" +#~ msgstr "" +#~ "Αν επιλεγεί, το Gajim θα έχει δικό του εικονίδιο στην περιοχή " +#~ "γνωστοποίησης" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Away when the computer has not " +#~ "been used for the specified time" +#~ msgstr "" +#~ "Αν επιλεγεί, το Gajim θα έχει δικό του εικονίδιο στην περιοχή " +#~ "γνωστοποίησης" + +#, fuzzy +#~ msgid "Minutes" +#~ msgstr "λεπτά" + +#, fuzzy +#~ msgid "Default Message" +#~ msgstr "Προεπιλεγμένα μηνύματα κατάστασης" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "Μήνυμα κατάστασης" + +#, fuzzy +#~ msgid "Preset Status Messages" +#~ msgstr "Προκαθορισμένα μηνύματα κατάστασης" + +#, fuzzy +#~ msgid "_Theme" +#~ msgstr "Θέμα" + +#, fuzzy +#~ msgid "" +#~ "If checked, protocol-specific status icons will be used (e.g. a contact " +#~ "from ICQ will have the equivalent ICQ icon for status online, away, busy, " +#~ "etc...)" +#~ msgstr "" +#~ "Αν επιλεγεί, το Gajim θα χρησιμοποιήσει εικονίδια κατάστασης σχετικά με " +#~ "το πρωτόκολλο της επαφής. (πχ. Μια επαφή από το MSN θα έχει το αντίστοιχο " +#~ "msn εικονίδιο για τις καταστάσεις διαθέσιμος, απομακρυσμένος κλπ..)" + +#, fuzzy +#~ msgid "_Manage..." +#~ msgstr "Διαχείριση..." + +#, fuzzy +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "Καταγραφή α_λλαγών κατάστασης των επαφών" + +#, fuzzy +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "Αν επιλεγεί, το Gajim θα θυμάται τον κωδικό για αυτόν το λογαριασμό" + +#~ msgid "_Open..." +#~ msgstr "_Άνοιγμα..." + +#, fuzzy +#~ msgid "_Filter" +#~ msgstr "_Φιλτράρισμα:" + +#, fuzzy +#~ msgid "Protocol" +#~ msgstr "_Πρωτόκολλο:" + +#, fuzzy +#~ msgid "Privacy Lists:" +#~ msgstr "Προσωπικές συζητήσεις" + +#, fuzzy +#~ msgid "Message..." +#~ msgstr "Μήνυμα" + +#, fuzzy +#~ msgid "Preset _messages" +#~ msgstr "Προκαθορισμένα μηνύματα:" + +#, fuzzy +#~ msgid "_Type your new status message" +#~ msgstr "Εισάγετε το νέο μήνυμα κατάστασης" + +#, fuzzy +#~ msgid "Change Status Message…" +#~ msgstr "Α_λλαγή μηνύματος κατάστασης" + +#, fuzzy +#~ msgid "Mood:" +#~ msgstr "Ιστορικό" + +#, fuzzy +#~ msgid "Message:" +#~ msgstr "Προκαθορισμένα μηνύματα κατάστασης" + +#, fuzzy +#~ msgid "none" +#~ msgstr "ένα" + +#, fuzzy +#~ msgid "both" +#~ msgstr "Και τα δυο" + +#, fuzzy +#~ msgid "from" +#~ msgstr "Από" + +#, fuzzy +#~ msgid "to" +#~ msgstr "δύο" + +#, fuzzy +#~ msgid "Privacy List" +#~ msgstr "backdrops.list" + +#, fuzzy +#~ msgid "Active for this session" +#~ msgstr "Αποθήκευ_ση της συνεδρίας" + +#, fuzzy +#~ msgid "Active on each startup" +#~ msgstr "Εμφάνιση συμβουλών κατά την _εκκίνηση" + +#~ msgid "List of rules" +#~ msgstr "Λίστα κανόνων" + +#, fuzzy +#~ msgid "Add / Edit a rule" +#~ msgstr "Επεξεργασία καταχώρησης μενού" + +#~ msgid "Allow" +#~ msgstr "Επέτρεψε" + +#~ msgid "Deny" +#~ msgstr "Άρνηση" + +#~ msgid "all in the group" +#~ msgstr "όλους στην ομάδα" + +#~ msgid "all by subscription" +#~ msgstr "όλους κατά συνδρομή" + +#~ msgid "All" +#~ msgstr "Όλα" + +#, fuzzy +#~ msgid "to send me messages" +#~ msgstr "Αποστολή επιλεγμένου αρχείου στο \"%s\"" + +#, fuzzy +#~ msgid "to send me queries" +#~ msgstr "Αποστολή επιλεγμένου αρχείου στο \"%s\"" + +#, fuzzy +#~ msgid "to view my status" +#~ msgstr "" +#~ "Επιθυμώ αυτή η επαφή να γνωρίζει την κατάστασή μου μετά την αφαίρεση" + +#, fuzzy +#~ msgid "to send me status" +#~ msgstr "Αποστολή επιλεγμένου αρχείου στο \"%s\"" + +#, fuzzy +#~ msgid "All (including subscription)" +#~ msgstr "όλους κατά συνδρομή" + +#~ msgid "Order:" +#~ msgstr "Σειρά:" + +#, fuzzy +#~ msgid "" +#~ "Deny authorization from contact so the contact cannot know if you are " +#~ "connected" +#~ msgstr "" +#~ "Αρνηθείτε εξουσιοδότηση σε μια επαφή ώστε να μη μπορεί να γνωρίζει πότε " +#~ "είστε συνδεδεμένος" + +#, fuzzy +#~ msgid "Authorize contact so the contact can know if you are connected" +#~ msgstr "" +#~ "Εξουσιοδοτήστε μια επαφή ώστε να μπορεί να ξέρει πότε είστε συνδεδεμένος" + +#, fuzzy +#~ msgid "Contact List Shortcuts" +#~ msgstr "Αποσύνδεση επαφής" + +#, fuzzy +#~ msgid "Fill in the form." +#~ msgstr "Εκτέλεση στο Τερματικό" + +#, fuzzy +#~ msgid "Message: " +#~ msgstr "Προκαθορισμένα μηνύματα κατάστασης" + +#, fuzzy, python-format +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "Προσκαλέσατε τον/την %(contact_jid)s στο %(room_jid)s." + +#, fuzzy +#~ msgid "Group Chat Invitation " +#~ msgstr "Πρόσκληση ομαδικής κουβέντας" + +#, python-format +#~ msgid "Comment: %s" +#~ msgstr "Σχόλιο: %s" + +#, fuzzy +#~ msgid "Off" +#~ msgstr "Αποσυνδεδεμένος" + +#, fuzzy +#~ msgid "Retrieving profile…" +#~ msgstr "Όνομα προφίλ:" + +#, fuzzy +#~ msgid "Wrong date format" +#~ msgstr "Πληροφορίες επαφής" + +#, fuzzy +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "Μορφή: ΕΕΕΕ-ΜΜ-ΗΗ" + +#, fuzzy +#~ msgid "Information received" +#~ msgstr "Περισσότερες πληροφορίες..." + +#, fuzzy +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "" +#~ "Πρέπει να είστε συνδεδεμένος για να δημοσιεύσετε τις πληροφορίες της " +#~ "επαφής σας" + +#, fuzzy +#~ msgid "Sending profile…" +#~ msgstr "Όνομα προφίλ:" + +#, fuzzy +#~ msgid "Information NOT published" +#~ msgstr "Δεν ήταν δυνατή η εκτέλεση του \"%s\"" + +#~ msgid "vCard publication failed" +#~ msgstr "Η δημοσιοποίηση της vCard απέτυχε" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "" +#~ "Υπήρξε ένα σφάλμα κατά τη δημοσιοποίηση των προσωπικών πληροφοριών σας, " +#~ "δοκιμάστε αργότερα." + +#, fuzzy +#~ msgid "?password:Hidden" +#~ msgstr "Κωδικός πρόσβασης:" + +#, fuzzy, python-format +#~ msgid "Privacy List %s" +#~ msgstr "backdrops.list" + +#, fuzzy, python-format +#~ msgid "Privacy List for %s" +#~ msgstr "Σύνταξη συντόμευσης για :" + +#, fuzzy, python-format +#~ msgid "Order: %(order)s, action: %(action)s" +#~ msgstr "Εικονίδια δράσεων" + +#~ msgid "Edit a rule" +#~ msgstr "Επεξεργασία κανόνα" + +#~ msgid "Add a rule" +#~ msgstr "Προσθήκη κανόνα" + +#, fuzzy, python-format +#~ msgid "Privacy Lists for %s" +#~ msgstr "Σύνταξη συντόμευσης για :" + +#, fuzzy +#~ msgid "Invalid List Name" +#~ msgstr "Μη έγκυρο όνομα αρχείου" + +#, fuzzy +#~ msgid "You must enter a name to create a privacy list." +#~ msgstr "Πρέπει να δώσετε έναν κωδικό για το νέο λογαριασμό." + +#, fuzzy +#~ msgid "Loading" +#~ msgstr "Σύνθεση" + +#~ msgid "status message title" +#~ msgstr "τίτλος μηνύματος κατάστασης" + +#~ msgid "status message text" +#~ msgstr "κείμενο μηνύματος κατάστασης" + +#, fuzzy +#~ msgid "Start New Conversation" +#~ msgstr "Σύνδεση" + +#, fuzzy +#~ msgid "Unknown SSL error: %d" +#~ msgstr "Άγνωστη έκδοση του D-Bus: %s" + +#~ msgid "Gajim - %s" +#~ msgstr "Gajim - %s" + +#, fuzzy +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "Δεν υπάρχει διαθέσιμο λεξικό για τη γλώσσα %s" + +#, fuzzy +#~ msgid "_Reconnect" +#~ msgstr "Αποσύνδεση επαφής" + +#, fuzzy +#~ msgid "Quit" +#~ msgstr "_Έξοδος" + +#, fuzzy +#~ msgid "Show Contact List" +#~ msgstr "Εμφάνιση _αποσυνδεδεμένων χρηστών" + +#, fuzzy +#~ msgid "Add to Contact List" +#~ msgstr "_Προσθήκη επαφής..." + +#, fuzzy +#~ msgid "Invite Contact" +#~ msgstr "Επαφές" + +#, fuzzy +#~ msgid "Configure Group Chat" +#~ msgstr "Ομαδικές συζητήσεις" + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." +#~ msgstr "" +#~ "Αν είναι αληθές, το Gajim θα εμφανίζει ένα εικονίδιο σε κάθε καρτέλα που " +#~ "έχει μη αναγνωσμένα μηνύματα. Σε μερικά θέματα, αυτό το εικονίδιο έχει " +#~ "κίνηση." + +#~ msgid "Invalid character in hostname." +#~ msgstr "Μη έγκυρος χαρακτήρας στο όνομα του διακομιστή." + +#~ msgid "Server address required." +#~ msgstr "Απαιτείται η διεύθυνση του διακομιστή." + +#~ msgid "Invalid character in username." +#~ msgstr "Μη έγκυρος χαρακτήρας στο όνομα του χρήστη." + +#~ msgid "Invalid character in resource." +#~ msgstr "Μη έγκυρος χαρακτήρας στον πόρο." + +#, fuzzy +#~ msgid "Notification color for contacts signing in." +#~ msgstr "Ειδοποίηση όταν μια επαφή:" + +#, fuzzy +#~ msgid "Notification color for contacts signing out." +#~ msgstr "Ειδοποίηση όταν μια επαφή:" + +#, fuzzy +#~ msgid "Notification color for new message notification." +#~ msgstr "Ειδοπ_οιήσεις για κατάσταση κουβέντας:" + +#, fuzzy +#~ msgid "Notification color for file transfer request." +#~ msgstr "_Ειδοποίησε με όταν έχει ολοκληρωθεί μια μεταφορά αρχείου" + +#, fuzzy +#~ msgid "Notification color for file transfer errors." +#~ msgstr "_Ειδοποίησε με όταν έχει ολοκληρωθεί μια μεταφορά αρχείου" + +#, fuzzy +#~ msgid "Event Type" +#~ msgstr "Γεγονός" + +#, fuzzy +#~ msgid "Event desc" +#~ msgstr "Γεγονότα" + +#, fuzzy +#~ msgid "No response from the Server" +#~ msgstr "Δεν είστε συνδεδεμένος στο διακομιστή" + +#, fuzzy +#~ msgid "Resource Conflict" +#~ msgstr "Θα πρέπει να προσδιορίσετε ένα όνομα χρήστη !" + +#, fuzzy +#~ msgid "Unable to load image" +#~ msgstr "Σε κάθε _μήνυμα" + +#, fuzzy +#~ msgid "Media type not supported: %s" +#~ msgstr "Η επέκταση δεν υποστηρίζεται" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Gajim: Οδηγός δημιουργίας λογαριασμού" + +#, fuzzy +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "Πρέπει να δημιουργήσετε ένα λογαριασμό προτού μπορέσετε\n" +#~ "να συνδεθείτε στο Jabber." + +#, fuzzy +#~ msgid "I already have an account I want to _use" +#~ msgstr "Έχω ήδη ένα λογαριασμό που θέλω να χρησιμοποιήσω" + +#~ msgid "I want to _register for a new account" +#~ msgstr "_Επιλέξτε εάν επιθυμείτε να καταχωρήσετε νέο jabber λογαριασμό" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "Παρακαλώ επιλέξτε ένα από τα παρακάτω:" + +#, fuzzy +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "Παρακαλώ συμπληρώστε τα δεδομένα για τον υπάρχων λογαριασμό σας" + +#, fuzzy +#~ msgid "_XMPP Address:" +#~ msgstr "Αντιγραφή διεύθυνσης email" + +#, fuzzy +#~ msgid "Anon_ymous authentication" +#~ msgstr "Χρήση πιστοποίησης" + +#~ msgid "_Password:" +#~ msgstr "_Κωδικός πρόσβασης:" + +#~ msgid "Save pass_word" +#~ msgstr "_Αποθήκευση κωδικού" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "Αν επιλεγεί, το Gajim θα θυμάται τον κωδικό για αυτόν το λογαριασμό" + +#~ msgid "_Server:" +#~ msgstr "_Εξυπηρετητής:" + +#~ msgid "Manage..." +#~ msgstr "Διαχείριση..." + +#~ msgid "_Port:" +#~ msgstr "_Θύρα:" + +#~ msgid "_Advanced" +#~ msgstr "Για προ_χωρημένους" + +#, fuzzy +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "Ο λογαριασμός δημιουργείται\n" +#~ "\n" +#~ "Παρακαλώ περιμένετε..." + +#~ msgid "Connect when I press Finish" +#~ msgstr "Σύνδεση όταν επιλέξω Τέλος" + +#~ msgid "Set my profile when I connect" +#~ msgstr "Καθορισμός του προφίλ μου κατά τη σύνδεση" + +#~ msgid "_Finish" +#~ msgstr "_Τέλος" + +#, fuzzy +#~ msgid "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." +#~ msgstr "" +#~ "Μπορείτε να αλλάξετε τις προχωρημένες επιλογές για το λογαριασμό σας " +#~ "επιλέγοντας το κουμπί για Προχωρημένους, ή αργότερα εάν επιλέξετε " +#~ "Λογαριασμοί από το μενού Επεξεργασία στο κυρίως παράθυρο." + +#~ msgid "Your new account has been created successfully" +#~ msgstr "Ο νέος σας λογαριασμός δημιουργήθηκε με επιτυχία" + +#~ msgid "Invalid username" +#~ msgstr "Μη έγκυρο όνομα χρήστη" + +#~ msgid "You must provide a username to configure this account." +#~ msgstr "" +#~ "Πρέπει να δώσετε ένα όνομα χρήστη για την παραμετροποίηση του " +#~ "συγκεκριμένου λογαριασμού." + +#, fuzzy +#~ msgid "Invalid server" +#~ msgstr "Μη έγκυρο όνομα χρήστη" + +#, fuzzy +#~ msgid "Please provide a server on which you want to register." +#~ msgstr "Παρακαλώ καθορίστε το νέο ψευδώνυμο που θέλετε να χρησιμοποιείτε:" + +#~ msgid "Invalid entry" +#~ msgstr "Μη έγκυρη εγγραφή" + +#, fuzzy +#~ msgid "Certificate Already in File" +#~ msgstr "Επαφή ήδη στη λίστα επαφών" + +#~ msgid "Account name is in use" +#~ msgstr "Το όνομα λογαριασμού είναι ήδη σε χρήση" + +#~ msgid "You already have an account using this name." +#~ msgstr "Έχετε ήδη ένα λογαριασμό με αυτό το όνομα." + +#~ msgid "Connection with account \"%s\" has been lost" +#~ msgstr "Η σύνδεση με τον λογαριασμό \"%s\" χάθηκε" + +#~ msgid "Reconnect manually." +#~ msgstr "Επανασύνδεση χειροκίνητα." + +#, fuzzy +#~ msgid "Server %(name)s answered wrongly to register request: %(error)s" +#~ msgstr "Η μεταφορά %s αποκρίθηκε εσφαλμένα στην αίτηση εγγραφής." + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "Η σύνδεση με \"%s\" στάθηκε αδύνατη" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "Η σύνδεση με \"%s\" στάθηκε αδύνατη" + +#~ msgid "Check your connection or try again later." +#~ msgstr "Ελέγξτε τη σύνδεση σας ή δοκιμάστε αργότερα." + +#, fuzzy +#~ msgid "Server replied: %s" +#~ msgstr "Αποθηκεύτηκε στο: %s" + +#, fuzzy +#~ msgid "Connection to proxy failed" +#~ msgstr "Η σύνδεση απέτυχε" + +#, fuzzy +#~ msgid "Could not connect to account %s" +#~ msgstr "Η σύνδεση με \"%s\" στάθηκε αδύνατη" + +#, fuzzy +#~ msgid "Connection with account %s has been lost. Retry connecting." +#~ msgstr "Η σύνδεση με τον λογαριασμό \"%s\" χάθηκε" + +#~ msgid "Please check your login and password for correctness." +#~ msgstr "Παρακαλώ ελέγξτε το όνομα χρήστη και το συνθηματικό σας." + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "Σύνδεση HTTP" + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "BOSH" +#~ msgstr "Διεύ_θυνση:" + +#, fuzzy +#~ msgid "Use HTTP prox_y" +#~ msgstr "_Χρήση μεσολαβητή" + +#, fuzzy +#~ msgid "_BOSH URL" +#~ msgstr "Διεύ_θυνση:" + +#, fuzzy +#~ msgid "BOSH" +#~ msgstr "Διεύ_θυνση:" + +#, fuzzy +#~ msgid "Warn on insecure connection" +#~ msgstr "Σύνδεση" + +#, fuzzy +#~ msgid "Contact list, list of contacts" +#~ msgstr "Καταγραφή α_λλαγών κατάστασης των επαφών" + +#~ msgid "You are participating in one or more group chats" +#~ msgstr "Συμμετέχετε σε μία ή περισσότερες ομαδικές κουβέντες" + +#, fuzzy +#~ msgid "" +#~ "Changing your status to invisible will result in you leaving those group " +#~ "chats.\n" +#~ "Are you sure you want to go invisible?" +#~ msgstr "" +#~ "Εάν αλλάξετε την κατάστασή σας σε αόρατη, θα αποσυνδεθείτε από αυτές τις " +#~ "ομαδικές συζητήσεις. Είστε σίγουρος/η ότι θέλετε να γίνεται αόρατος/η;" + +#, fuzzy +#~ msgid "_Disconnect" +#~ msgstr "Αποσύνδεση επαφής" + +#, fuzzy +#~ msgid "You cannot join a group chat while you are invisible" +#~ msgstr "" +#~ "Δε μπορείτε να συμμετάσχετε σε μια ομαδική συζήτηση εάν είστε αόρατος" + +#~ msgid "Invisible" +#~ msgstr "Αφανής" + +#, fuzzy +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "" +#~ "Δε μπορείτε να συμμετάσχετε σε μια ομαδική συζήτηση εάν είστε αόρατος" + +#~ msgid "_Invisible" +#~ msgstr "Αόρατ_ος" + +#, fuzzy +#~ msgid "Yesterday" +#~ msgid_plural "%(nb_days)i days ago" +#~ msgstr[0] "Χθες" +#~ msgstr[1] "Χθες" + +#, fuzzy +#~ msgid "_Cancel Upload" +#~ msgstr "_Άκυρο" + +#, fuzzy +#~ msgid "" +#~ "If you close this tab while having chat history disabled, this message " +#~ "will be lost." +#~ msgstr "" +#~ "Εάν κλείσετε αυτήν την καρτέλα και έχετε απενεργοποιημένο το ιστορικό, το " +#~ "μήνυμα θα χαθεί." + +#, fuzzy +#~ msgid "Unregister Failed" +#~ msgstr "Η δημοσιοποίηση της vCard απέτυχε" + +#, fuzzy +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "Η σύνδεση απέτυχε" + +#, fuzzy +#~ msgid "New Password" +#~ msgstr "Αποθήκευση κωδικού" + +#~ msgid "What do you want to do?" +#~ msgstr "Τι θέλετε να κάνετε;" + +#~ msgid "Remove account from Gajim and from _server" +#~ msgstr "Αφαίρεση λογαριασμού από το Gajim και από τον _εξυπηρετητή" + +#, fuzzy +#~ msgid "You must enter a password" +#~ msgstr "Πρέπει να πληκτρολογήσετε ένα κωδικό." + +#, fuzzy +#~ msgid "You still have open chats in your account %s" +#~ msgstr "Δεν έχετε κανέναν ενεργό λογαριασμό" + +#, fuzzy +#~ msgid "To unregister from a server, the account must be enabled." +#~ msgstr "Για να αλλάξετε το όνομα λογαριασμού, πρέπει να αποσυνδεθείτε." + +#, fuzzy +#~ msgid "Password required" +#~ msgstr "Απαιτείται κωδικός" + +#, fuzzy +#~ msgid "Still connected to the server" +#~ msgstr "Δεν είστε συνδεδεμένος στο διακομιστή" + +#, fuzzy +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "Αν αφαιρεθεί, η σύνδεση θα χαθεί." + +#, fuzzy +#~ msgid "Connection to server %s failed" +#~ msgstr "Η σύνδεση απέτυχε" + +#, fuzzy +#~ msgid "What would you like to do?" +#~ msgstr "Τι θέλετε να κάνετε;" + +#, fuzzy +#~ msgid "Remove only from Gajim" +#~ msgstr "Αφαίρεση λογαριασμού μόν_ο από το Gajim" + +#, fuzzy +#~ msgid "Contents" +#~ msgstr "_Περιεχόμενα" + +#, fuzzy +#~ msgid "FAQ" +#~ msgstr "_Συχνές ερωτήσεις" + +#~ msgid "Save as Preset Status Message" +#~ msgstr "Αποθήκευση ως προκαθορισμένο μήνυμα κατάστασης" + +#, fuzzy +#~ msgid "Enter a new nickname for contact %s" +#~ msgstr "Πληκτρολογήστε τη φράση πρόσβασης GPG για το λογαριασμό %s" + +#, fuzzy +#~ msgid "Join a group chat" +#~ msgstr "Συμμετοχή σε _ομαδική συζήτηση" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "Αποδοχή" + +#, fuzzy +#~ msgid "New entry received" +#~ msgstr "Προσθήκη νέας εγγραφής στο μενού" + +#, fuzzy +#~ msgid "You have received new entry:" +#~ msgstr "Προσθήκη νέας εγγραφής στο μενού" + +#, fuzzy +#~ msgid "Feed name:" +#~ msgstr "Όνομα εικονιδίου" + +#~ msgid "Last modified:" +#~ msgstr "Τελευταία τροποποίηση:" + +#, fuzzy +#~ msgid "Send file?" +#~ msgstr "Αποστολή _αρχείου" + +#, fuzzy +#~ msgid "Mail _client" +#~ msgstr "_Εφαρμογή αλληλογραφίας:" + +#, fuzzy +#~ msgid "_Browser" +#~ msgstr "_Περιηγητής:" + +#, fuzzy +#~ msgid "_File manager" +#~ msgstr "_Διαχειριστής αρχείων:" + +#, fuzzy +#~ msgid "Applications" +#~ msgstr "Εφαρμογές" + +#, fuzzy +#~ msgid "_Ignore formatting of incoming messages" +#~ msgstr "%d μη αναγνωσμένο μεμονωμένο μήνυμα" + +#, fuzzy +#~ msgid "RST XHTML Generator" +#~ msgstr "Γενικά" + +#~ msgid "New Single Message" +#~ msgstr "Νέο μονό μήνυμα" + +#, fuzzy +#~ msgid "Error %(code)s: %(msg)s" +#~ msgstr "%(nickname)s: %(message)s" + +#~ msgid "twelve" +#~ msgstr "δώδεκα" + +#~ msgid "one" +#~ msgstr "ένα" + +#~ msgid "two" +#~ msgstr "δύο" + +#~ msgid "three" +#~ msgstr "τρία" + +#~ msgid "four" +#~ msgstr "τέσσερα" + +#~ msgid "five" +#~ msgstr "πέντε" + +#~ msgid "six" +#~ msgstr "έξι" + +#~ msgid "seven" +#~ msgstr "επτά" + +#~ msgid "eight" +#~ msgstr "οκτώ" + +#~ msgid "nine" +#~ msgstr "εννιά" + +#~ msgid "ten" +#~ msgstr "δέκα" + +#~ msgid "eleven" +#~ msgstr "έντεκα" + +#~ msgid "%(0)s o'clock" +#~ msgstr "%(0)s ακριβώς" + +#~ msgid "five past %(0)s" +#~ msgstr "%(0)s και πέντε" + +#~ msgid "ten past %(0)s" +#~ msgstr "%(0)s και δέκα" + +#~ msgid "quarter past %(0)s" +#~ msgstr "%(0)s και τέταρτο" + +#~ msgid "twenty past %(0)s" +#~ msgstr "%(0)s και είκοσι" + +#~ msgid "twenty five past %(0)s" +#~ msgstr "%(0)s και εικοσιπέντε" + +#~ msgid "half past %(0)s" +#~ msgstr "%(0)s και μισή" + +#~ msgid "twenty five to %(1)s" +#~ msgstr "%(1)s παρά εικοσιπέντε" + +#~ msgid "twenty to %(1)s" +#~ msgstr "%(1)s παρά είκοσι" + +#~ msgid "quarter to %(1)s" +#~ msgstr "%(1)s παρά τέταρτο" + +#~ msgid "ten to %(1)s" +#~ msgstr "%(1)s παρά δέκα" + +#~ msgid "five to %(1)s" +#~ msgstr "%(1)s παρά πέντε" + +#~ msgid "%(1)s o'clock" +#~ msgstr "%(1)s ακριβώς" + +#~ msgid "Night" +#~ msgstr "Νύχτα" + +#~ msgid "Early morning" +#~ msgstr "Νωρίς το πρωί" + +#~ msgid "Morning" +#~ msgstr "Πρωί" + +#~ msgid "Almost noon" +#~ msgstr "Σχεδόν μεσημέρι" + +#~ msgid "Noon" +#~ msgstr "Μεσημέρι" + +#~ msgid "Afternoon" +#~ msgstr "Απόγευμα" + +#~ msgid "Evening" +#~ msgstr "Απόγευμα" + +#~ msgid "Late evening" +#~ msgstr "Αργά το απόγευμα" + +#~ msgid "Start of week" +#~ msgstr "Αρχή εβδομάδας" + +#~ msgid "Middle of week" +#~ msgstr "Μέση της εβδομάδας" + +#~ msgid "End of week" +#~ msgstr "Τέλος εβδομάδας" + +#~ msgid "Weekend!" +#~ msgstr "Σαββατοκύριακο!" + +#~ msgid "message" +#~ msgstr "μήνυμα" + +#, fuzzy +#~ msgid "error: %s" +#~ msgstr "Μήνυμα σφάλματος: %s" + +#, fuzzy +#~ msgid "Form: %s" +#~ msgstr "Από %s" + +#, fuzzy +#~ msgid "XML Input" +#~ msgstr "Είσοδος δεδομένων XML" + +#, fuzzy +#~ msgid "Ttitle" +#~ msgstr "Τίτλος:" + +#, fuzzy +#~ msgid "Screen" +#~ msgstr "πράσινο" + +#, fuzzy +#~ msgid "Conversation with " +#~ msgstr "Ιστορικό συζητήσεων" + +#, fuzzy +#~ msgid "Continued conversation" +#~ msgstr "Σύνδεση" + +#, fuzzy +#~ msgid "%s has invited you to join a discussion" +#~ msgstr "Ο/Η %(contact_jid)s σας προσκάλεσε στο %(room_jid)s" + +#~ msgid "_Send Private Message" +#~ msgstr "_Αποστολή προσωπικού μηνύματος" + +#, fuzzy +#~ msgid "Participant Actions" +#~ msgstr "Συμμετέχοντες" + +#~ msgid "_Voice" +#~ msgstr "_Φωνή" + +#~ msgid "Mo_derator" +#~ msgstr "_Συντονιστής" + +#~ msgid "_Member" +#~ msgstr "_Μέλος" + +#~ msgid "_Admin" +#~ msgstr "_Διαχειριστής" + +#~ msgid "_Owner" +#~ msgstr "_Ιδιοκτήτης" + +#, fuzzy +#~ msgid "_Add to Contact List" +#~ msgstr "_Προσθήκη επαφής..." + +#, fuzzy +#~ msgid "_Execute command" +#~ msgstr "_Εκτέλεση εντολής..." + +#, fuzzy +#~ msgid "Change _Nickname..." +#~ msgstr "Αλλαγή _ψευδώνυμου" + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "Αρχηγός ομάδας παραθύρων" + +#, fuzzy +#~ msgid "Change _Subject..." +#~ msgstr "Αλλαγή _θέματος" + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "Συμμετοχή σε _Ομαδική Συζήτηση..." + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "Αρχηγός ομάδας παραθύρων" + +#, fuzzy +#~ msgid "_Request Voice" +#~ msgstr "_Φωνή" + +#, fuzzy +#~ msgid "_Bookmark" +#~ msgstr "_Τοποθέτηση σελιδοδείκτη για αυτό το δωμάτιο" + +#, fuzzy +#~ msgid "" +#~ "\n" +#~ "Unknown SSL error: %d" +#~ msgstr "Άγνωστη έκδοση του D-Bus: %s" + +#, fuzzy +#~ msgid "View certificate…" +#~ msgstr "Μη έγκυρο όνομα χρήστη" + +#, fuzzy +#~ msgid "Continue" +#~ msgstr "_Συνέχεια" + +#~ msgid "" +#~ "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM " +#~ "IS RUNNING)" +#~ msgstr "" +#~ "Θέλετε να καθαρίσετε τη βάση δεδομένων; (ΑΝΤΕΝΔΕΙΚΝΥΤΑΙ ΙΣΧΥΡΑ ΕΑΝ ΤΟ " +#~ "GAJIM ΤΡΕΧΕΙ)" + +#, fuzzy +#~ msgid "Authorization" +#~ msgstr "Η εξουσιοδότηση έχει σταλεί" + +#, fuzzy +#~ msgid "Account '%s' is still connected to the server" +#~ msgstr "Ο λογαριασμός \"%s\" είναι συνδεδεμένος με το διακομιστή" + +#, fuzzy +#~ msgid "Error While Saving" +#~ msgstr "Σφάλμα κατά την προσθήκη της υπηρεσίας. %s" + +#, fuzzy +#~ msgid "" +#~ "Image cannot be saved in %(type)s format.\n" +#~ "Save as %(new_filename)s?" +#~ msgstr "" +#~ "Η εικόνα δεν είναι δυνατό να αποθηκευτεί στη μορφή %(type)s. Να " +#~ "αποθηκευτεί ως %(new_filename)s;" + +#, fuzzy +#~ msgid "Save _As" +#~ msgstr "Έχει" + +#, fuzzy +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "Μη έγκυρο Jabber ID" + +#, fuzzy +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "" +#~ "Το όνομα του δωματίου ή του διακομιστή περιέχει μη επιτρεπόμενους " +#~ "χαρακτήρες." + +#~ msgid "You may specify a reason below:" +#~ msgstr "Μπορείτε να προσδιορίσετε ένα λόγο παρακάτω:" + +#~ msgid "Banning %s" +#~ msgstr "Απαγορεύοντας την πρόσβαση στον %s" + +#, fuzzy +#~ msgid "" +#~ "Always ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Να γίνεται πάντα ερώτηση πριν το κλείσιμο καρτέλας/παραθύρου ομαδικής " +#~ "κουβέντας για αυτά τα δωμάτια (jids χωρισμένα με κενά)." + +#, fuzzy +#~ msgid "" +#~ "Never ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Να μην γίνεται ερώτηση πριν το κλείσιμο καρτέλας/παραθύρου ομαδικής " +#~ "κουβέντας για αυτά τα δωμάτια (jids χωρισμένα με κενά)." + +#, fuzzy +#~ msgid "Leave Group Chats" +#~ msgstr "Ομαδικές συζητήσεις" + +#, fuzzy +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "%(nickname)s: %(message)s" + +#, fuzzy +#~ msgid "You have not joined a group chat." +#~ msgstr "Ο/Η %s μπήκε στο δωμάτιο" + +#, fuzzy +#~ msgid "You left the following group chats:" +#~ msgstr "Βρίσκεστε ήδη στο δωμάτιο %s" + +#, fuzzy +#~ msgid "Jabberd2 workaround." +#~ msgstr "Ειδική παράκαμψη για το jabberd2" + +#, fuzzy +#~ msgid "Configure Services…" +#~ msgstr "Εύρεση _υπηρεσιών..." + +#, fuzzy +#~ msgid "Group Chat Bookmarks" +#~ msgstr "Ομαδική συζήτηση" + +#, fuzzy +#~ msgid "Add Bookmark" +#~ msgstr "_Τοποθέτηση σελιδοδείκτη για αυτό το δωμάτιο" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "_Τοποθέτηση σελιδοδείκτη για αυτό το δωμάτιο" + +#, fuzzy +#~ msgid "_Server" +#~ msgstr "_Εξυπηρετητής:" + +#, fuzzy +#~ msgid "_Password" +#~ msgstr "_Κωδικός πρόσβασης:" + +#, fuzzy +#~ msgid "Join chat when connected" +#~ msgstr "Αποσύνδεση επαφής" + +#, fuzzy +#~ msgid "New Group Chat" +#~ msgstr "Αρχηγός ομάδας παραθύρων" + +#~ msgid "This bookmark has invalid data" +#~ msgstr "Αυτός ο σελιδοδείκτης έχει μη έγκυρα δεδομένα" + +#, fuzzy +#~ msgid "" +#~ "Please be sure to fill out server and group chat fields or remove this " +#~ "bookmark." +#~ msgstr "" +#~ "Παρακαλώ συμπληρώστε τα πεδία του διακομιστή και του δωματίου ή " +#~ "διαφορετικά αφαιρέστε το σελιδοδείκτη." + +#, fuzzy +#~ msgid "Character not allowed" +#~ msgstr "Δεν επιτρέπεται το ψευδώνυμο: %s" + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "Μη έγκυρο Jabber ID" + +#~ msgid "Unable to join group chat" +#~ msgstr "Δεν ήταν δυνατή η σύνδεση στην ομαδική συζήτηση" + +#, fuzzy +#~ msgid "You are banned from group chat %s." +#~ msgstr "Σας έχει απαγορευτεί η είσοδος σε αυτή την ομαδική συζήτηση." + +#, fuzzy +#~ msgid "Remote server %s does not exist." +#~ msgstr "Δεν υπάρχει τέτοια συζήτηση." + +#, fuzzy +#~ msgid "Group chat %s does not exist." +#~ msgstr "Δεν υπάρχει τέτοια συζήτηση." + +#, fuzzy +#~ msgid "Group chat creation is not permitted." +#~ msgstr "Δεν επιτρέπεται η δημιουργία ομαδικών συζητήσεων." + +#, fuzzy +#~ msgid "You must use your registered nickname in %s." +#~ msgstr "Πρέπει να χρησιμοποιηθεί το καταχωρημένο σας ψευδώνυμο." + +#, fuzzy +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "Δεν είστε στη λίστα μελών." + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "Αυτή η μορφή συμπίεσης δεν υποστηρίζεται:" + +#, fuzzy +#~ msgid "This is not a group chat" +#~ msgstr "Αυτή η μορφή συμπίεσης δεν υποστηρίζεται:" + +#, fuzzy +#~ msgid "Please choose a group chat" +#~ msgstr "Δημιουργία νέου προφίλ" + +#, fuzzy +#~ msgid "Invalid Nickname" +#~ msgstr "Μη έγκυρο όνομα χρήστη" + +#, fuzzy +#~ msgid "Wrong server" +#~ msgstr "Το URI \"%s\" δεν είναι έγκυρο." + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "Αυτή η μορφή συμπίεσης δεν υποστηρίζεται:" + +#, fuzzy +#~ msgid "A Password is required to join the group chat %s. Please type it." +#~ msgstr "" +#~ "Απαιτείται συνθηματικό για τη είσοδο σας σε αυτή την ομαδική συζήτηση." + +#~ msgid "Not in Roster" +#~ msgstr "εκτός λίστας επαφών" + +#~ msgid "I would like to add you to my roster" +#~ msgstr "Θα ήθελα να σε προσθέσω στην λίστα επαφών μου" + +#, fuzzy +#~ msgid "Add to Roster" +#~ msgstr "_Προσθήκη στη λίστα επαφών" + +#, fuzzy +#~ msgid "Manage Room" +#~ msgstr "Διαχείριση σελιδοδεικτών" + +#, fuzzy +#~ msgid "Configure Room" +#~ msgstr "Ρύθμιση _δωματίου" + +#, fuzzy +#~ msgid "Destroy Room" +#~ msgstr "Περιγραφή: %s" + +#, fuzzy +#~ msgid "Change Nick" +#~ msgstr "Αλλαγή _ψευδώνυμου" + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "Αποσύνδεση επαφής" + +#, fuzzy +#~ msgid "Copy JID" +#~ msgstr "Δωμάτιο:" + +#, fuzzy +#~ msgid "Add to Roster…" +#~ msgstr "_Προσθήκη στη λίστα επαφών" + +#, fuzzy +#~ msgid "Copy JID/Email" +#~ msgstr "Α_ντιγραφή JID/Email διεύθυνσης" + +#, fuzzy +#~ msgid "JID: %s" +#~ msgstr "ID συστήματος:" + +#~ msgid "Changing Subject" +#~ msgstr "Αλλαγή θέματος" + +#~ msgid "Please specify the new subject:" +#~ msgstr "Παρακαλώ καθορίστε το νέο θέμα:" + +#, fuzzy +#~ msgid "You (%s) joined the room" +#~ msgstr "Ο/Η %s μπήκε στο δωμάτιο" + +#, fuzzy +#~ msgid "Unable to join groupchat" +#~ msgstr "Δεν ήταν δυνατή η σύνδεση στην ομαδική συζήτηση" + +#~ msgid "Groupchat Invitation" +#~ msgstr "Πρόσκληση ομαδικής κουβέντας" + +#, fuzzy +#~ msgid "%(jid)s has been invited in this room" +#~ msgstr "Ο %(nick)s πετάχτηκε έξω από τον %(who)s: %(reason)s" + +#, fuzzy +#~ msgid "JID is not a Groupchat" +#~ msgstr "Αυτή η μορφή συμπίεσης δεν υποστηρίζεται:" + +#~ msgid "Invalid JID" +#~ msgstr "Μη έγκυρο JID" + +#~ msgid "A connection is not available" +#~ msgstr "Δεν υπάρχει διαθέσιμη σύνδεση" + +#, fuzzy +#~ msgid "JID already in list" +#~ msgstr "Ένα πρόγραμμα για το Jabber" + +#, fuzzy +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "Δεν υπάρχει διαθέσιμη σύνδεση" + +#~ msgid "Removes contact from roster" +#~ msgstr "Αφαιρεί μια επαφή από τη λίστα επαφών" + +#, fuzzy +#~ msgid "Not in roster" +#~ msgstr "Εκτέλεση στο Τερματικό" + +#, fuzzy +#~ msgid "Contact signed in notification color." +#~ msgstr "_Προβολή τίτλου στο κουμπί" + +#, fuzzy +#~ msgid "Contact signout notification color" +#~ msgstr "_Προβολή τίτλου στο κουμπί" + +#, fuzzy +#~ msgid "File transfer request notification color." +#~ msgstr "Αίτηση μεταφοράς αρχείου" + +#, fuzzy +#~ msgid "File transfer error notification color." +#~ msgstr "Άνοιγμα αρχείου μενού" + +#, fuzzy +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "Ειδοποίηση όταν έχει ολοκληρωθεί μια μεταφορά αρχείου" + +#, fuzzy +#~ msgid "Groupchat invitation notification color" +#~ msgstr "Πρόσκληση ομαδικής κουβέντας" + +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "Να προστεθεί * και [n] στον τίτλο της λίστας επαφών;" + +#~ msgid "Hides the banner in two persons chat window" +#~ msgstr "Αποκρύπτει την κεφαλίδα στο παράθυρο προσωπικής κουβέντας" + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "Τώρα τρώω, οπότε αφήστε μήνυμα." + +#, fuzzy +#~ msgid "from room %s" +#~ msgstr "Από %s" + +#, fuzzy +#~ msgid "Leave Groupchats" +#~ msgstr "Ομαδικές συζητήσεις" + +#, fuzzy +#~ msgid "Auto Join" +#~ msgstr "Αυτόματη είσοδος" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "Δωμάτιο:" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#, fuzzy +#~ msgid "Occupant Actions" +#~ msgstr "_Ενέργειες για τους συμμετέχοντες" + +#~ msgid "_Add to Roster" +#~ msgstr "_Προσθήκη στη λίστα επαφών" + +#, fuzzy +#~ msgid "_Manage Room" +#~ msgstr "Διαχείριση σελιδοδεικτών" + +#, fuzzy +#~ msgid "Configure _Room..." +#~ msgstr "Ρύθμιση _δωματίου" + +#, fuzzy +#~ msgid "_Destroy Room" +#~ msgstr "Περιγραφή: %s" + +#, fuzzy +#~ msgid "Jabber ID" +#~ msgstr "Jabber ID:" + +#, fuzzy +#~ msgid "account" +#~ msgstr "λογαριασμός: " + +#, fuzzy +#~ msgid "Roster" +#~ msgstr "Εμφάνιση _λίστας επαφών" + +#, fuzzy +#~ msgid "Show only in roster" +#~ msgstr "Εμφά_νιση το μόνο στο κύριο παράθυρο" + +#, fuzzy +#~ msgid "in _roster" +#~ msgstr "Εκτέλεση στο Τερματικό" + +#, fuzzy +#~ msgid "Roster Appearance" +#~ msgstr "Επεξεργασία κανόνα" + +#, fuzzy +#~ msgid "_Add to Roster..." +#~ msgstr "_Προσθήκη στη λίστα επαφών" + +#~ msgid "_Jabber ID:" +#~ msgstr "_Jabber ID:" + +#, fuzzy +#~ msgid "_Jabber ID" +#~ msgstr "_Jabber ID:" + +#~ msgid "JabberID" +#~ msgstr "JabberID" + +#, fuzzy +#~ msgid "Show Roster" +#~ msgstr "Εμφάνιση _λίστας επαφών" + +#, fuzzy +#~ msgid "MUC server" +#~ msgstr "Παρατηρητές" + +#~ msgid "Room Configuration" +#~ msgstr "Ρυθμίσεις δωματίου" + +#~ msgid "Join _Group Chat" +#~ msgstr "Συμμετοχή σε _ομαδική συζήτηση" + +#, fuzzy +#~ msgid "Audio sessions are not available" +#~ msgstr "To Session bus δεν είναι διαθέσιμο" + +#~ msgid "Conference" +#~ msgstr "Ομαδικές συζητήσεις" + +#, fuzzy +#~ msgid "_Manage Bookmarks…" +#~ msgstr "Διαχείριση σελιδοδεικτών" + +#, fuzzy +#~ msgid "Hide _Roster" +#~ msgstr "Εκτέλεση στο Τερματικό" + +#~ msgid "Show _Roster" +#~ msgstr "Εμφάνιση _λίστας επαφών" + +#, fuzzy +#~ msgid "Invalid Room" +#~ msgstr "Μη έγκυρη εγγραφή" + +#, fuzzy +#~ msgid "Invalid room" +#~ msgstr "Μη έγκυρη εγγραφή" + +#~ msgid "A GTK+ Jabber client" +#~ msgstr "Ένα πρόγραμμα για το Jabber γραμμένο σε GTK+" + +#~ msgid "Changing Nickname" +#~ msgstr "Αλλαγή ψευδωνύμου" + +#~ msgid "Please specify the new nickname you want to use:" +#~ msgstr "Παρακαλώ καθορίστε το νέο ψευδώνυμο που θέλετε να χρησιμοποιείτε:" + +#~ msgid "Bookmark already set" +#~ msgstr "Ο σελιδοδείκτης έχει οριστεί ήδη" + +#, fuzzy +#~ msgid "Group Chat '%s' is already in your bookmarks." +#~ msgstr "Το δωμάτιο \"%s\" υπάρχει ήδη στους σελιδοδείκτες σας." + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "Ο σελιδοδείκτης προστέθηκε με επιτυχία" + +#, fuzzy +#~ msgid "" +#~ "You can manage your bookmarks by clicking the Bookmarks menu item in your " +#~ "contact list." +#~ msgstr "" +#~ "Μπορείτε να διαχειριστείτε τους σελιδοδείκτες από το μενού Ενέργειας στο " +#~ "κεντρικό παράθυρο." + +#, fuzzy +#~ msgid "The nickname contains invalid characters." +#~ msgstr "" +#~ "Το όνομα του δωματίου ή του διακομιστή περιέχει μη επιτρεπόμενους " +#~ "χαρακτήρες." + +#, fuzzy +#~ msgid "Bookmark Room" +#~ msgstr "_Τοποθέτηση σελιδοδείκτη για αυτό το δωμάτιο" + +#, fuzzy +#~ msgid "_Join New Group Chat" +#~ msgstr "_Είσοδος σε Ομαδική Συζήτηση" + +#~ msgid "Name:" +#~ msgstr "Όνομα:" + +#, fuzzy +#~ msgid "Description:" +#~ msgstr "Περιγραφή: %s" + +#, fuzzy +#~ msgid "Address:" +#~ msgstr "_Διεύθυνση:" + +#, fuzzy +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "" +#~ "Δε μπορείτε να συμμετάσχετε σε μια ομαδική συζήτηση εκτός αν είστε " +#~ "συνδεδεμένος." + +#, fuzzy +#~ msgid "Occupants" +#~ msgstr "_Ενέργειες για τους συμμετέχοντες" + +#~ msgid "_Modify Account..." +#~ msgstr "_Επεξεργασία λογαριασμού..." + +#~ msgid "Integer" +#~ msgstr "Ακέραιος" + +#~ msgid "Text" +#~ msgstr "Κείμενο" + +#~ msgid "Value" +#~ msgstr "Τιμή" + +#~ msgid "(None)" +#~ msgstr "(Κενή)" + +#~ msgid "Hidden" +#~ msgstr "Μυστικό" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "Διαχείριση προφίλ μεσολαβητή" + +#, fuzzy +#~ msgid "Properties" +#~ msgstr "Ιδιότητες" + +#, fuzzy +#~ msgid "Proxy _Port" +#~ msgstr "_Θύρα:" + +#, fuzzy +#~ msgid "New Groupchat" +#~ msgstr "Αρχηγός ομάδας παραθύρων" + +#, fuzzy +#~ msgid "New Contact" +#~ msgstr "Προσθήκη νέας επαφής" + +#~ msgid "%s GiB" +#~ msgstr "%s GiB" + +#~ msgid "%s GB" +#~ msgstr "%s GB" + +#~ msgid "%s MiB" +#~ msgstr "%s MiB" + +#~ msgid "%s MB" +#~ msgstr "%s MB" + +#~ msgid "%s KiB" +#~ msgstr "%s KiB" + +#~ msgid "%s KB" +#~ msgstr "%s KB" + +#~ msgid "%s B" +#~ msgstr "%s B" + +#, fuzzy +#~ msgid "%s MiB/s" +#~ msgstr "%s MiB" + +#, fuzzy +#~ msgid "File transfer" +#~ msgstr "Μεταφορές αρχείων" + +#, fuzzy +#~ msgid "Open _Containing Folder" +#~ msgstr "_Άνοιγμα του περιέχοντος φακέλου" + +#, fuzzy +#~ msgid "Default:" +#~ msgstr "Προεπιλογή" + +#, fuzzy +#~ msgid "" +#~ "If you close this window, you will be disconnected from this group chat." +#~ msgstr "Αν κλείσετε αυτό το παράθυρο, θα αποσυνδεθείτε από αυτό το δωμάτιο." + +#, fuzzy +#~ msgid "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" +#~ msgstr "" +#~ "Δε θα μπορείτε να στείλετε και να λάβετε μηνύματα στις επαφές από αυτή τη " +#~ "μεταφορά." + +#~ msgid "Contact \"%s\" will be removed from your roster" +#~ msgstr "Η επαφή \"%s\" θα αφαιρεθεί από τη λίστα επαφών σας" + +#, fuzzy +#~ msgid "" +#~ "By removing this contact you also by default remove authorization " +#~ "resulting in them always seeing you as offline." +#~ msgstr "" +#~ "Αφαιρώντας αυτή την επαφή αφαιρείται επίσης και την εξουσιοδότηση, με " +#~ "συνέπεια να σας βλέπει πάντα αποσυνδεδεμένο/η." + +#, fuzzy +#~ msgid "Contacts will be removed from your roster" +#~ msgstr "Η επαφή \"%s\" θα αφαιρεθεί από τη λίστα επαφών σας" + +#, fuzzy +#~ msgid "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorization resulting in them always seeing you as " +#~ "offline." +#~ msgstr "" +#~ "Αφαιρώντας αυτή την επαφή αφαιρείται επίσης και την εξουσιοδότηση, με " +#~ "συνέπεια να σας βλέπει πάντα αποσυνδεδεμένο/η." + +#, fuzzy +#~ msgid "Con_tinue" +#~ msgstr "_Συνέχεια" + +#~ msgid "_Pause" +#~ msgstr "_Παύση" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "Αφαίρεση της μεταφοράς αρχείου από τη λίστα." + +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "" +#~ "Αυτή η ενέργεια αφαιρεί μια μεταφορά αρχείου από τη λίστα. Αν η μεταφορά " +#~ "είναι ενεργή, τότε πρώτα διακόπτεται και μετά αφαιρείται" + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "Ακυρώνει την επιλεγμένη μεταφορά αρχείου" + +#, fuzzy +#~ msgid "Hide the window" +#~ msgstr "Αποκρύπτει το παράθυρο" + +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "Ειδοποίηση όταν έχει ολοκληρωθεί μια μεταφορά αρχείου" + +#~ msgid "From:" +#~ msgstr "Από:" + +#~ msgid "Subject:" +#~ msgstr "Θέμα:" + +#~ msgid "%s wants to send you a file:" +#~ msgstr "O %s επιθυμεί να σας στείλει ένα αρχείο:" + +#~ msgid "Name: " +#~ msgstr "Όνομα: " + +#~ msgid "Pause" +#~ msgstr "Παύση" + +#, fuzzy +#~ msgid "Execute Command" +#~ msgstr "_Εκτέλεση εντολής..." + +#~ msgid "Type: " +#~ msgstr "Τύπος: " + +#~ msgid "Transferred: " +#~ msgstr "Μεταφέρθηκαν: " + +#~ msgid "Completed" +#~ msgstr "Ολοκληρώθηκε" + +#~ msgid "Stalled" +#~ msgstr "Πάγωσε" + +#~ msgid "Transferring" +#~ msgstr "Μεταφέρεται" + +#~ msgid "Not started" +#~ msgstr "Δεν έχει ξεκινήσει" + +#, fuzzy +#~ msgid "%s day" +#~ msgid_plural "%s days" +#~ msgstr[0] "πριν από %i μέρες" +#~ msgstr[1] "πριν από %i μέρες" + +#, fuzzy +#~ msgid "" +#~ "Your desired nickname in group chat\n" +#~ "%s\n" +#~ "is in use or registered by another occupant.\n" +#~ "Please specify another nickname below:" +#~ msgstr "" +#~ "Το επιθυμητό ψευδώνυμο είναι σε χρήση ή καταχωρημένο από κάποιον άλλο.\n" +#~ "Παρακαλώ προσδιορίστε ένα άλλο παρακάτω:" + +#, fuzzy +#~ msgid "_Configure" +#~ msgstr "_Συνέχεια" + +#, fuzzy +#~ msgid "Change the avatar" +#~ msgstr "Αλλαγή κατάστασης" + +#, fuzzy +#~ msgid "add" +#~ msgstr "Πάγωσε" + +#, fuzzy +#~ msgid "modify" +#~ msgstr "_Τροποποίηση" + +#, fuzzy +#~ msgid "remove" +#~ msgstr "_Αφαίρεση" + +#, fuzzy +#~ msgid "Restored Message Color" +#~ msgstr "Επανα_φορά προεπιλεγμένων χρωμάτων" + +#, fuzzy +#~ msgid "Send Cus_tom Status" +#~ msgstr "Προσαρμοσμένο μέγεθος _γραμματοσειράς:" + +#, fuzzy +#~ msgid "" +#~ "You are about to send a custom status. Are you sure you want to continue?" +#~ msgstr "" +#~ "Πρέπει να δημιουργήσετε ένα λογαριασμό για να μπορέσετε να συνομιλείτε με " +#~ "άλλες επαφές." + +#, fuzzy +#~ msgid "" +#~ msgstr "Θέμα" + +#~ msgid "#" +#~ msgstr "#" + +#, fuzzy +#~ msgid "You are about to block a contact. Are you sure you want to continue?" +#~ msgstr "" +#~ "Πρέπει να δημιουργήσετε ένα λογαριασμό για να μπορέσετε να συνομιλείτε με " +#~ "άλλες επαφές." + +#~ msgid "To:" +#~ msgstr "Προς:" + +#~ msgid "0" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Reconnect when connection is lost" +#~ msgstr "Αυτόματη επανασύνδεση κατά την απώλεια της σύνδεσης" + +#, fuzzy +#~ msgid "Server Message Archive" +#~ msgstr "_Αποστολή μηνύματος διακομιστή" + +#, fuzzy +#~ msgid "Message Carbons" +#~ msgstr "Μηνύματα" + +#, fuzzy +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "Να επιτρέπεται η α_ποστολή πληροφοριών για το λειτ. σύστημα" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the idle time of your system" +#~ msgstr "" +#~ "Αν επιλεγεί, το Gajim θα σας συνδέει αυτόματα σε αυτό το δωμάτιο κατά την " +#~ "εκκίνηση" + +#, fuzzy +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "Να επιτρέπεται η α_ποστολή πληροφοριών για το λειτ. σύστημα" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the local time on your system" +#~ msgstr "" +#~ "Αν επιλεγεί, το Gajim θα σας συνδέει αυτόματα σε αυτό το δωμάτιο κατά την " +#~ "εκκίνηση" + +#, fuzzy +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "Να επιτρέπεται η α_ποστολή πληροφοριών για το λειτ. σύστημα" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the operating system you are " +#~ "using" +#~ msgstr "" +#~ "Αν επιλεγεί, το Gajim θα σας συνδέει αυτόματα σε αυτό το δωμάτιο κατά την " +#~ "εκκίνηση" + +#, fuzzy +#~ msgid "" +#~ "If checked, incoming events from unauthorized contacts will be ignored. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster." +#~ msgstr "" +#~ "Επιλέξτε το, μόνο αν κάποιος που δεν έχετε στη λίστα επαφών σας στέλνει " +#~ "spam ή άλλα ενοχλητικά μηνύματα. Χρησιμοποιήστε το με προσοχή, γιατί " +#~ "μπλοκάρει όλα τα μηνύματα από κάθε επαφή που δεν έχετε στη λίστα επαφών " +#~ "σας" + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." +#~ msgstr "" +#~ "Το Gajim μπορεί να να στέλνει και να λαμβάνει μετα-πληροφορίες σχετικές " +#~ "με μια συζήτηση που έχετε με μια επαφή. Εδώ μπορείτε να ορίσετε τι " +#~ "πληροφορίες θέλετε να στέλνετε στους άλλους." + +#, fuzzy +#~ msgid "S_end chat state notifications" +#~ msgstr "Ειδοπ_οιήσεις για κατάσταση κουβέντας:" + +#, fuzzy +#~ msgid "Login Options" +#~ msgstr "Φατσούλες:" + +#, fuzzy +#~ msgid "Please wait while retrieving search form..." +#~ msgstr "Παρακαλώ περιμένετε όσο μεταφέρεται το ιστορικό..." + +#, fuzzy +#~ msgid "_Add contact" +#~ msgstr "Προσθήκη _επαφής" + +#, fuzzy +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "Παρακαλώ περιμένετε όσο μεταφέρεται το ιστορικό..." + +#, fuzzy +#~ msgid "Choose command to execute:" +#~ msgstr "Η εκτέλεση του \"%s\" απέτυχε" + +#, fuzzy +#~ msgid "Check once more" +#~ msgstr "Αντικατάσταση _όλων" + +#, fuzzy +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "Ανανέωση περιεχομένων αρχείου, παρακαλώ περιμένετε..." + +#, fuzzy +#~ msgid "F_inish" +#~ msgstr "_Τέλος" + +#~ msgid "Failed to get secret keys" +#~ msgstr "Σφάλμα κατά τη λήψη μυστικών κλειδιών" + +#, fuzzy +#~ msgid "There is no OpenPGP secret key available." +#~ msgstr "Σφάλμα κατά τη λήψη των μυστικών κλειδιών OpenPGP σας." + +#~ msgid "OpenPGP Key Selection" +#~ msgstr "Επιλογή κλειδιού OpenPGP" + +#~ msgid "Choose your OpenPGP key" +#~ msgstr "Επιλέξτε το κλειδί OpenPGP σας" + +#~ msgid "KeyID" +#~ msgstr "Ταυτότητα κλειδιού" + +#~ msgid "Contact name" +#~ msgstr "Όνομα επαφής" + +#, fuzzy +#~ msgid "OpenPGP is not usable" +#~ msgstr "Το OpenPGP δεν είναι διαθέσιμο σε αυτόν τον Η/Υ" + +#~ msgid "Assign OpenPGP Key" +#~ msgstr "Ανάθεση OpenPGP κλειδιού" + +#~ msgid "Select a key to apply to the contact" +#~ msgstr "Επιλέξτε το κλειδί που θέλετε να εφαρμόσετε στην επαφή" + +#~ msgid "You are currently connected without your OpenPGP key." +#~ msgstr "Είστε συνδεδεμένοι χωρίς τη χρήση του OpenPGP κλειδιού σας." + +#, fuzzy +#~ msgid "Wrong passphrase" +#~ msgstr "Εσφαλμένη φράση πρόσβασης" + +#, fuzzy +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "Εσφαλμένη φράση πρόσβασης" + +#~ msgid "Passphrase Required" +#~ msgstr "Απαιτείται φράση πρόσβασης" + +#, fuzzy +#~ msgid "" +#~ "Enter OpenPGP key passphrase for key %(keyid)s (account %(account)s)." +#~ msgstr "Πληκτρολογήστε τη φράση πρόσβασης GPG για το λογαριασμό %s" + +#, fuzzy +#~ msgid "OpenPGP key expired" +#~ msgstr "Επιλογή κλειδιού OpenPGP" + +#, fuzzy +#~ msgid "" +#~ "Your OpenPGP key has expired, you will be connected to %s without OpenPGP." +#~ msgstr "Θα συνδεθείτε με %s χωρίς OpenPGP." + +#~ msgid "Wrong Passphrase" +#~ msgstr "Εσφαλμένη φράση πρόσβασης" + +#, fuzzy +#~ msgid "Please retype your OpenPGP passphrase or press Cancel." +#~ msgstr "" +#~ "Παρακαλώ εισάγετε ξανά τη φράση πρόσβασης GPG σας, ή επιλέξτε Ακύρωση." + +#, fuzzy +#~ msgid "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Αποστολή νέου μηνύματος σε μια επαφή από την λίστα επαφών. Το κλειδί " +#~ "OpenPGP και ο λογαριασμός είναι προαιρετικά. Εάν θέλετε να καθορίσετε " +#~ "μόνο το 'λογαριασμό', χωρίς το 'κλειδί OpenPGP', απλώς θέστε το 'κλειδί " +#~ "OpenPGP' σε ''." + +#~ msgid "if specified, the message will be encrypted using this public key" +#~ msgstr "" +#~ "εάν καθοριστεί, το μήνυμα θα κρυπτογραφηθεί χρησιμοποιώντας αυτό το " +#~ "δημόσιο κλειδί" + +#, fuzzy +#~ msgid "" +#~ "Sends a chat message to someone on your roster. Optionally with OpenPGP " +#~ "key and account. If you want to only set the latter, set OpenPGP key to " +#~ "\"\"." +#~ msgstr "" +#~ "Αποστολή νέου μηνύματος σε μια επαφή από την λίστα επαφών. Το κλειδί " +#~ "OpenPGP και ο λογαριασμός είναι προαιρετικά. Εάν θέλετε να καθορίσετε " +#~ "μόνο το 'λογαριασμό', χωρίς το 'κλειδί OpenPGP', απλώς θέστε το 'κλειδί " +#~ "OpenPGP' σε ''." + +#, fuzzy +#~ msgid "OpenPGP:" +#~ msgstr "OpenPGP: " + +#, fuzzy +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "Ανάθεση κλειδιού Open_PGP" + +#, fuzzy +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "Κρυπτογράφηση OpenPGP" + +#, fuzzy +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "_Εισερχόμενο μήνυμα:" + +#, fuzzy +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "To Session bus δεν είναι διαθέσιμο" + +#, fuzzy +#~ msgid "OpenPGP Key" +#~ msgstr "Ανάθεση OpenPGP κλειδιού" + +#, fuzzy +#~ msgid "Cancel confirmation" +#~ msgstr "Πληροφορίες επαφής" + +#, fuzzy +#~ msgid "You are invited to a groupchat" +#~ msgstr "Ο/Η %s μπήκε στο δωμάτιο" + +#~ msgid "_Start Chat" +#~ msgstr "_Έναρξη συζήτησης" + +#, fuzzy +#~ msgid "Au_thorize" +#~ msgstr "Αμερική/Πορτ-Ο-Πρενς" + +#~ msgid "You are currently connected to the server" +#~ msgstr "Αυτή τη στιγμή είστε συνδεδεμένος στο διακομιστή" + +#, fuzzy +#~ msgid "To disable the account, you must be disconnected." +#~ msgstr "Για να αλλάξετε το όνομα λογαριασμού, πρέπει να αποσυνδεθείτε." + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with %(jid)s?" +#~ msgstr "Θέλετε σίγουρα να διαγράψετε το επιλεγμένο μήνυμα;" + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with the selected contacts?" +#~ msgstr "" +#~ "Θέλετε σίγουρα να διαγράψετε το αρχείο καταγραφής της επιλεγμένης επαφής;" + +#, fuzzy +#~ msgid "This can not be undone." +#~ msgstr "Η υπηρεσία δεν ήταν δυνατό να βρεθεί" + +#~ msgid "What do you want to do?" +#~ msgstr "Παρακαλώ επιλέξτε την ακριβή ενέργεια" + +#, fuzzy +#~ msgid "" +#~ "List of colors, separated by \":\", that will be used to color nicknames " +#~ "in group chats." +#~ msgstr "" +#~ "Μία λίστα με λέξεις χωρισμένες με ερωτηματικά, οι οποίες θα " +#~ "επισημαίνονται." + +#, fuzzy +#~ msgid "You have received new entries (and %d not displayed):" +#~ msgid_plural "You have received new entries (and %d not displayed):" +#~ msgstr[0] "Προσθήκη νέας εγγραφής στο μενού" +#~ msgstr[1] "Προσθήκη νέας εγγραφής στο μενού" + +#~ msgid "Stopped" +#~ msgstr "Διακόπηκε" + +#, fuzzy +#~ msgid "Status messages displayed in chat window" +#~ msgstr "Αποστολή μηνύματος και κλείσιμο παραθύρου" + +#, fuzzy +#~ msgid "?print_status:All" +#~ msgstr "Εκτύπωση όλων των σελίδων" + +#~ msgid "Enter and leave only" +#~ msgstr "Είσοδος και έξοδος μόνο" + +#, fuzzy +#~ msgid "?print_status:None" +#~ msgstr "Εκτύπωση όλων των σελίδων" + +#~ msgid "D-Bus python bindings are missing in this computer" +#~ msgstr "Δεν υπάρχει υποστήριξη D-Bus για την python σε αυτόν τον υπολογιστή" + +#~ msgid "D-Bus capabilities of Gajim cannot be used" +#~ msgstr "Οι δυνατότητες του Gajim για D-Bus δε θα χρησιμοποιηθούν" + +#, fuzzy +#~ msgid "D-Bus does not run correctly on this machine: system bus not present" +#~ msgstr "" +#~ "Δεν υπάρχει D-Bus διαθέσιμο σε αυτό το μηχάνημα ή το άρθρωμα της python " +#~ "λείπει" + +#, fuzzy +#~ msgid "" +#~ "D-Bus does not run correctly on this machine: session bus not present" +#~ msgstr "" +#~ "Δεν υπάρχει D-Bus διαθέσιμο σε αυτό το μηχάνημα ή το άρθρωμα της python " +#~ "λείπει" + +#, fuzzy +#~ msgid "Command line Control" +#~ msgstr "Εντολές: %s" + +#~ msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +#~ msgstr "Ο %(nick)s πετάχτηκε έξω από τον %(who)s: %(reason)s" + +#~ msgid "%(nick)s has been banned by %(who)s: %(reason)s" +#~ msgstr "Ο %(nick)s έχει απαγορευτεί από τον %(who)s: %(reason)s" + +#, fuzzy +#~ msgid "** Role of %(nick)s has been set to %(role)s" +#~ msgstr "Ο %(nick)s πετάχτηκε έξω: %(reason)s" + +#~ msgid "%s has left" +#~ msgstr "Ο %s έφυγε" + +#, fuzzy +#~ msgid "%s is full" +#~ msgstr "Ιστορικό" + +#, fuzzy +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "Εμφάνιση των _μηνυμάτων κατάστασης στη λίστα επαφών" + +#, fuzzy +#~ msgid "" +#~ "You are about to send your password unencrypted on an insecure " +#~ "connection. Are you sure you want to do that?" +#~ msgstr "" +#~ "Πρέπει να δημιουργήσετε ένα λογαριασμό για να μπορέσετε να συνομιλείτε με " +#~ "άλλες επαφές." + +#, fuzzy +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "Χρήση πιστοποίησης" + +#, fuzzy +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "Χρήση πιστοποίησης" + +#, fuzzy +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "Χρήση πιστοποίησης" + +#, fuzzy +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." +#~ msgstr "" +#~ "Το Gajim μπορεί να να στέλνει και να λαμβάνει μετα-πληροφορίες σχετικές " +#~ "με μια συζήτηση που έχετε με μια επαφή. Εδώ μπορείτε να ορίσετε τι " +#~ "πληροφορίες θέλετε να στέλνετε στους άλλους." + +#~ msgid "This is an irreversible operation." +#~ msgstr "Αυτή η ενέργεια δεν είναι αναστρέψιμη." + +#~ msgid "Settings" +#~ msgstr "Ρυθμίσεις" + +#, fuzzy +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "Διαχειριστής βάσης δεδομένων ιστορικού Gajim" + +#, fuzzy +#~ msgid "Toggle full / compact view" +#~ msgstr "Να χρησιμοποιείται _πάντα η συμπαγής όψη" + +#~ msgid "Member List" +#~ msgstr "Λίστα μελών" + +#~ msgid "Owner List" +#~ msgstr "Λίστα ιδιοκτητών" + +#~ msgid "Administrator List" +#~ msgstr "Λίστα διαχειριστών" + +#~ msgid "Nick" +#~ msgstr "Ψευδώνυμο" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "Ποιόν θέλετε να αποβάλλετε;\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Member…" +#~ msgstr "Προσθήκη μέλους..." + +#~ msgid "" +#~ "Whom do you want to make a member?\n" +#~ "\n" +#~ msgstr "" +#~ "Ποιόν θέλετε να κάνετε μέλος;\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Owner…" +#~ msgstr "Προσθήκη ιδιοκτήτη..." + +#, fuzzy +#~ msgid "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" +#~ msgstr "" +#~ "Ποιόν θέλετε να κάνετε ιδιοκτήτη;\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Administrator…" +#~ msgstr "Προσθήκη διαχειριστή..." + +#~ msgid "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" +#~ msgstr "" +#~ "Ποιόν θέλετε να κάνετε διαχειριστή;\n" +#~ "\n" + +#~ msgid "Error reading file:" +#~ msgstr "Σφάλμα κατά την ανάγνωση του αρχείου:" + +#~ msgid "Error parsing file:" +#~ msgstr "Σφάλμα κατά την ανάλυση του αρχείου:" + +#~ msgid "Description" +#~ msgstr "Περιγραφή" + +#, fuzzy +#~ msgid "Password encryption" +#~ msgstr "Οι κωδικοί δεν ταιριάζουν" + +#, fuzzy +#~ msgid "Automatic status" +#~ msgstr "Αδυναμία φόρτωσης" + +#, fuzzy +#~ msgid "?features:Available" +#~ msgstr "Διαθέσιμος" + +#, fuzzy +#~ msgid "Feature" +#~ msgstr "Χαρακτηριστικά διακομιστή" + +#~ msgid "Filter:" +#~ msgstr "Φιλτράρισμα:" + +#, fuzzy +#~ msgid "Chat Appearance" +#~ msgstr "Επεξεργασία κανόνα" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed out" +#~ msgstr "" +#~ "Το Gajim θα σας ειδοποιήσει μέσω ενός αναδυόμενου παραθύρου στο κάτω " +#~ "δεξιά μέρος της οθόνης για τις επαφές που μόλις αποσυνδέθηκαν στο Jabber" + +#~ msgid "Sounds" +#~ msgstr "Ήχοι" + +#, fuzzy +#~ msgid "Chat state notifications" +#~ msgstr "Οπτικές γνωστοποιήσεις" + +#, fuzzy +#~ msgid "_Away after" +#~ msgstr "Αυτόματα _απομακρυσμένος μετά:" + +#, fuzzy +#~ msgid "_Not available after" +#~ msgstr "Αυτόματα _μη διαθέσιμος μετά:" + +#, fuzzy +#~ msgid "Auto Status" +#~ msgstr "Ενέργειες" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "Προκαθορισμένα μηνύματα κατάστασης" + +#, fuzzy +#~ msgid "Audio" +#~ msgstr "Ενέργειες" + +#, fuzzy +#~ msgid "Video" +#~ msgstr "Προσθήκη κανόνα" + +#, fuzzy +#~ msgid "Connection" +#~ msgstr "Συνθήκες" + +#~ msgid "Custom" +#~ msgstr "Προσαρμοσμένες ρυθμίσεις" + +#, fuzzy +#~ msgid "Privacy" +#~ msgstr "backdrops.list" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "Επεξεργασία προχωρημένων ρυθμίσεων" + +#, fuzzy +#~ msgid "File transfer, room bookmarks" +#~ msgstr "Σφάλμα μεταφοράς αρχείου" + +#, fuzzy +#~ msgid "XML console interface" +#~ msgstr "XML Κονσόλα" + +#, fuzzy +#~ msgid "" +#~ "A programming error has been detected. It probably is not fatal, but " +#~ "should be reported to the developers nonetheless." +#~ msgstr "" +#~ "Πιθανότατα δεν είναι κρίσιμο, αλλά πρέπει να αναφερθεί στους " +#~ "προγραμματιστές σε κάθε περίπτωση." + +#, fuzzy +#~ msgid "(ESession info)" +#~ msgstr "Περιγραφή" + +#~ msgid "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" +#~ msgstr "" +#~ "Αν δεν απενεργοποιηθεί, το Gajim θα μετατρέπει όλα ascii σύμβολα όπως το " +#~ "':)' με τις αντίστοιχες γραφικές φατσούλες" + +#, fuzzy +#~ msgid "_Emoticons" +#~ msgstr "Φατσούλες:" + +#~ msgid "_Highlight misspelled words" +#~ msgstr "_Υπογράμμιση λέξεων με τυπογραφικά λάθη" + +#, fuzzy +#~ msgid "T_heme" +#~ msgstr "_Θέμα:" + +#, fuzzy +#~ msgid "Themes" +#~ msgstr "Ιστορικό" + +#, fuzzy +#~ msgid "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." +#~ msgstr "" +#~ "Το jabberd 1.4 δεν δέχεται πληροφορίες sha όταν γίνεται σύνδεση σε ένα " +#~ "δωμάτιο προστατευμένο με συνθηματικό. Απενεργοποιήστε αυτή την επιλογή" + +#, fuzzy +#~ msgid "Presence" +#~ msgstr "_Παρουσία" + +#, fuzzy +#~ msgid "Emoticons disabled" +#~ msgstr "Απενεργοποιήθηκε η κρυπτογράφηση" + +#, fuzzy +#~ msgid "You cannot make changes to the default theme" +#~ msgstr "Δεν είναι δυνατή η διαγραφή του τρέχοντος θέματος" + +#~ msgid "theme name" +#~ msgstr "όνομα θέματος" + +#~ msgid "You cannot delete your current theme" +#~ msgstr "Δεν είναι δυνατή η διαγραφή του τρέχοντος θέματος" + +#~ msgid "New Single Message from %(nickname)s" +#~ msgstr "Νέο μονό μήνυμα από %(nickname)s" + +#, fuzzy +#~ msgid "New Private Message from group chat %s" +#~ msgstr "Νέο προσωπικό μήνυμα από το δωμάτιο %s" + +#~ msgid "%(nickname)s: %(message)s" +#~ msgstr "%(nickname)s: %(message)s" + +#, fuzzy +#~ msgid "Messaged by %(nickname)s" +#~ msgstr "Νέο μήνυμα από %(nickname)s" + +#, fuzzy +#~ msgid "Status message text color." +#~ msgstr "κείμενο μηνύματος κατάστασης" + +#, fuzzy +#~ msgid "Incoming nickname font." +#~ msgstr "Μη έγκυρο όνομα χρήστη" + +#, fuzzy +#~ msgid "Status message text font." +#~ msgstr "κείμενο μηνύματος κατάστασης" + +#~ msgid "green" +#~ msgstr "πράσινο" + +#~ msgid "grocery" +#~ msgstr "μανάβικο" + +#~ msgid "human" +#~ msgstr "ζεστό" + +#~ msgid "marine" +#~ msgstr "θαλασσί" + +#, fuzzy +#~ msgid "Contact row" +#~ msgstr "Επικοινωνία" + +#, fuzzy +#~ msgid "Chat Banner" +#~ msgstr "Πανό:" + +#~ msgid "Gajim Themes Customization" +#~ msgstr "Προσαρμογή θεμάτων Gajim" + +#~ msgid "Text _color:" +#~ msgstr "Χρώμα _κειμένου:" + +#~ msgid "_Background:" +#~ msgstr "Χρώμα _φόντου:" + +#~ msgid "Text _font:" +#~ msgstr "Γρα_μματοσειρά κειμένου:" + +#~ msgid "Font style:" +#~ msgstr "Γραμματοσειρά:" + +#~ msgid "Paused" +#~ msgstr "Παύση" + +#~ msgid "Gone" +#~ msgstr "Έξω" + +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "" +#~ "MUC\n" +#~ "Μηνύματα" + +#~ msgid "Chatstate Tab Colors" +#~ msgstr "Χρώματα κατάστασης κουβέντας" + +#, fuzzy +#~ msgid "Chat message" +#~ msgstr "Μήνυμα κατά_στασης:" + +#, fuzzy +#~ msgid "Use system _default" +#~ msgstr "Χρήση _προκαθορισμένου χρώματος" + +#, fuzzy +#~ msgid "Font" +#~ msgstr "Ιστορικό" + +#, fuzzy +#~ msgid "Contact's nickname" +#~ msgstr "Όνομα επαφής" + +#, fuzzy +#~ msgid "_Status message" +#~ msgstr "Μήνυμα κατά_στασης:" + +#, fuzzy +#~ msgid "Your message" +#~ msgstr "Μήνυμα σφάλματος: %s" + +#, fuzzy +#~ msgid "Chat Line Colors" +#~ msgstr "Χρώματα κατάστασης κουβέντας" + +#, fuzzy +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#, fuzzy +#~ msgid "Resource:" +#~ msgstr "Πόρος:" + +#, fuzzy +#~ msgid "Status:" +#~ msgstr "Ρυθμίσεις" + +#, fuzzy +#~ msgid "Client:" +#~ msgstr "Προσαρμοσμένες ρυθμίσεις" + +#, fuzzy +#~ msgid "Contact time:" +#~ msgstr "Ρυθμίσεις" + +#, fuzzy +#~ msgid "Ask:" +#~ msgstr "Ιστορικό" + +#, fuzzy +#~ msgid "Subscription:" +#~ msgstr "Περιγραφή" + +#, fuzzy +#~ msgid "Name:" +#~ msgstr "Ιστορικό" + +#, fuzzy +#~ msgid "Nickname:" +#~ msgstr "Ψευδώνυμο:" + +#, fuzzy +#~ msgid "Street:" +#~ msgstr "Ρυθμίσεις" + +#, fuzzy +#~ msgid "City:" +#~ msgstr "Προσαρμοσμένες ρυθμίσεις" + +#, fuzzy +#~ msgid "State:" +#~ msgstr "Ρυθμίσεις" + +#, fuzzy +#~ msgid "Extra Address:" +#~ msgstr "Επιπλέον διεύθυνση:" + +#, fuzzy +#~ msgid "Postal Code:" +#~ msgstr "Τ.Κ.:" + +#, fuzzy +#~ msgid "Country:" +#~ msgstr "Ήχοι" + +#, fuzzy +#~ msgid "Homepage:" +#~ msgstr "Ιστορικό" + +#, fuzzy +#~ msgid "E-Mail:" +#~ msgstr "Ε-Mail:" + +#, fuzzy +#~ msgid "Phone No.:" +#~ msgstr "Τηλέφωνο:" + +#, fuzzy +#~ msgid "Birthday:" +#~ msgstr "Γενέθλια:" + +#, fuzzy +#~ msgid "Family:" +#~ msgstr "Οικογένεια:" + +#, fuzzy +#~ msgid "Middle:" +#~ msgstr "Προσθήκη κανόνα" + +#, fuzzy +#~ msgid "Prefix:" +#~ msgstr "Ιδιότητες" + +#, fuzzy +#~ msgid "Given:" +#~ msgstr "OpenPGP" + +#, fuzzy +#~ msgid "Suffix:" +#~ msgstr "Ήχοι" + +#, fuzzy +#~ msgid "Full Name" +#~ msgstr "Ιστορικό" + +#, fuzzy +#~ msgid "Company:" +#~ msgstr "Προσαρμοσμένες ρυθμίσεις" + +#, fuzzy +#~ msgid "Department:" +#~ msgstr "Τμήμα:" + +#, fuzzy +#~ msgid "Position:" +#~ msgstr "Συνθήκες" + +#, fuzzy +#~ msgid "Role:" +#~ msgstr "Ιστορικό" + +#~ msgid "Edit %s" +#~ msgstr "Επεξεργασία %s" + +#~ msgid "Conversation History with %s" +#~ msgstr "Ιστορικό κουβέντας με τον %s" + +#~ msgid "Contact with \"%s\" cannot be established" +#~ msgstr "Δεν ήταν δυνατή η επαφή με \"%s\"" + +#~ msgid "Registration information for transport %s has not arrived in time" +#~ msgstr "" +#~ "Πληροφορίες σχετικές με την καταχώριση δεν έφτασαν εγκαίρως για την " +#~ "μεταφορά %s" + +#~ msgid "Register to" +#~ msgstr "Εγγραφή σε" + +#, fuzzy +#~ msgid "Enter name / JID of contact or groupchat" +#~ msgstr "Όνομα επαφής" + +#, fuzzy +#~ msgid "Search:" +#~ msgstr "Αναζήτηση" + +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "Πρέπει να είστε συνδεδεμένος για να αλλάξετε τον κωδικό σας." + +#~ msgid "Invalid password" +#~ msgstr "Μη έγκυρος κωδικός" + +#~ msgid "The passwords typed in both fields must be identical." +#~ msgstr "Οι κωδικοί των δυο πεδίων πρέπει να είναι ίδιοι." + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "Εισάγετε τον ξανά για επιβεβαίωση:" + +#~ msgid "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" +#~ msgstr "" +#~ "Το Jid %s δεν είναι σύμμορφο προς το RFC. Δεν θα προστεθεί στη λίστα " +#~ "επαφών σας. Χρησιμοποιήστε κάποιο εργαλείο διαχείρισης όπως το http://jru." +#~ "jabberstudio.org για να το αφαιρέσετε" + +#~ msgid "unsubscribe request from %s" +#~ msgstr "αίτηση αφαίρεσης εξουσιοδότησης από %s" + +#~ msgid "Homepage:" +#~ msgstr "Προσωπ. σελίδα:" + +#~ msgid "Manage Bookmarks" +#~ msgstr "Διαχείριση σελιδοδεικτών" + +#, fuzzy +#~ msgid "_Title:" +#~ msgstr "Τίτλος:" + +#~ msgid "_Nickname:" +#~ msgstr "_Όνομα χρήστη:" + +#, fuzzy +#~ msgid "Pr_int status:" +#~ msgstr "Εμφάνιση κατάστασης:" + +#, fuzzy +#~ msgid "Add JID" +#~ msgstr "Jabber ID:" + +#, fuzzy +#~ msgid "Preference:" +#~ msgstr "Προτιμήσεις" + +#, fuzzy +#~ msgid "Preference" +#~ msgstr "Προτιμήσεις" + +#, fuzzy +#~ msgid "JID:" +#~ msgstr "Το JID σας:" + +#, fuzzy +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "" +#~ "Παρακαλώ συμπληρώστε τα στοιχεία της επαφής που θέλετε να προσθέσετε στο " +#~ "λογαριασμό %s" + +#~ msgid "Please fill in the data of the contact you want to add" +#~ msgstr "" +#~ "Παρακαλώ συμπληρώστε τα στοιχεία της επαφής που θέλετε να προσθέσετε" + +#, fuzzy +#~ msgid "Recently" +#~ msgstr "Πρόσφατα:" + +#~ msgid "Add New Contact" +#~ msgstr "Προσθήκη νέας επαφής" + +#~ msgid "_User ID:" +#~ msgstr "_Ταυτότητα χρήστη:" + +#, fuzzy +#~ msgid "Type User ID" +#~ msgstr "Το αναγνωριστικό χρήστη δεν ταιριάζει" + +#, fuzzy +#~ msgid "Type Nickname" +#~ msgstr "Όνομα χρήστη" + +#~ msgid "Personal Information" +#~ msgstr "Προσωπικές πληροφορίες" + +#, fuzzy +#~ msgid "Avatar:" +#~ msgstr "_Ορισμός Avatar" + +#, fuzzy +#~ msgid "Remove Avatar" +#~ msgstr "Διαγραφή ομάδας" + +#~ msgid "Please wait..." +#~ msgstr "Παρακαλώ περιμένετε..." + +#, fuzzy +#~ msgid "Yahoo! Address:" +#~ msgstr "Αντιγραφή διεύθυνσης email" + +#, fuzzy +#~ msgid "Forward unread messages" +#~ msgstr "%d μη αναγνωσμένο μήνυμα" + +#, fuzzy +#~ msgid "Forward unread message then disconnect" +#~ msgstr "%d μη αναγνωσμένο μήνυμα" + +#, fuzzy +#~ msgid "MSN Address:" +#~ msgstr "Αντιγραφή διεύθυνσης email" + +#, fuzzy +#~ msgid "End to End message encryption" +#~ msgstr "Κρυπτογράφηση OpenPGP" + +#, fuzzy +#~ msgid "Encrypting chat messages." +#~ msgstr "_Εισερχόμενο μήνυμα:" + +#, fuzzy +#~ msgid "This session is encrypted" +#~ msgstr "[Aυτό το μήνυμα είναι κρυπτογραφημένο]" + +#, fuzzy +#~ msgid "end-to-end encryption disabled" +#~ msgstr "Απενεργοποιήθηκε η κρυπτογράφηση" + +#, fuzzy +#~ msgid "Unable to decrypt message" +#~ msgstr "Σε κάθε _μήνυμα" + +#, fuzzy +#~ msgid "Save Image as…" +#~ msgstr "Αποθήκευση εικόνας ως..." + +#, fuzzy +#~ msgid "Exporting History Logs…" +#~ msgstr "Εξαγωγή ιστορικού..." + +#~ msgid "When %s becomes:" +#~ msgstr "Όταν το %s γίνεται:" + +#~ msgid "Adding Special Notification for %s" +#~ msgstr "Προσθήκη ειδικής ειδοποίησης για το %s" + +#, fuzzy +#~ msgid "%s or %s is a directory but should be a file" +#~ msgstr "Το %s είναι κατάλογος αλλά θα έπρεπε να είναι αρχείο" + +#~ msgid "creating logs database" +#~ msgstr "δημιουργία βάσης δεδομένων ιστορικού" + +#, fuzzy +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "Αποστολή %s" + +#, fuzzy +#~ msgid "Rename account label" +#~ msgstr "Διαχείριση λογαριασμών" + +#, fuzzy +#~ msgid "Send Single Message..." +#~ msgstr "Αποστολή μονού _μηνύματος" + +#, fuzzy +#~ msgid "E2E encryption disabled" +#~ msgstr "Απενεργοποιήθηκε η κρυπτογράφηση" + +#, fuzzy +#~ msgid "uri" +#~ msgstr "Το URI \"%s\" δεν είναι έγκυρο." + +#, fuzzy +#~ msgid "" +#~ "Install /\n" +#~ "Upgrade" +#~ msgstr "Πάγωσε" + +#, fuzzy +#~ msgid "Install/Upgrade" +#~ msgstr "Πάγωσε" + +#, fuzzy +#~ msgid "Security error during download" +#~ msgstr "Η σύνδεση με \"%s\" στάθηκε αδύνατη" + +#, fuzzy +#~ msgid "Error in download" +#~ msgstr "Η σύνδεση με \"%s\" στάθηκε αδύνατη" + +#~ msgid "cyan" +#~ msgstr "κυανό" + +#, fuzzy +#~ msgid "migrating logs database to indices" +#~ msgstr "δημιουργία βάσης δεδομένων ιστορικού" + +#, fuzzy +#~ msgid "Send File..." +#~ msgstr "Αποστολή _αρχείου" + +#, fuzzy +#~ msgid "Jingle File Transfer" +#~ msgstr "Μεταφορές αρχείων" + +#~ msgid "Shows or hides the roster window" +#~ msgstr "Εμφανίζει ή αποκρύπτει το παράθυρο λίστας επαφών" + +#, fuzzy +#~ msgid "Shows or hides the ipython window" +#~ msgstr "Εμφανίζει ή αποκρύπτει το παράθυρο λίστας επαφών" + +#, fuzzy +#~ msgid "XMPP account %s" +#~ msgstr "για το λογαριασμό %s" + +#, fuzzy +#~ msgid "Exception" +#~ msgstr "Περιγραφή" + +#, fuzzy +#~ msgid "" +#~ "someone@somewhere.com would like you to add some contacts " +#~ "in your roster." +#~ msgstr "Θα ήθελα να σε προσθέσω στην λίστα επαφών μου." + +#~ msgid "_Actions" +#~ msgstr "_Ενέργειες" + +#, fuzzy +#~ msgid "You are already in group chat %s" +#~ msgstr "Βρίσκεστε ήδη στο δωμάτιο %s" + +#~ msgid "Join Group Chat with account %s" +#~ msgstr "Συμμετοχή σε Ομαδική συζήτηση με χρήση του λογαριασμού %s" + +#, fuzzy +#~ msgid "" +#~ "You have to choose an account from which you want to join the groupchat." +#~ msgstr "" +#~ "Πρέπει να δημιουργήσετε ένα λογαριασμό για να μπορέσετε να συνομιλείτε με " +#~ "άλλες επαφές." + +#, fuzzy +#~ msgid "Please enter the group chat JID as room@server." +#~ msgstr "" +#~ "Το όνομα του δωματίου ή του διακομιστή περιέχει μη επιτρεπόμενους " +#~ "χαρακτήρες." + +#, fuzzy +#~ msgid "The group chat JID contains invalid characters." +#~ msgstr "" +#~ "Το όνομα του δωματίου ή του διακομιστή περιέχει μη επιτρεπόμενους " +#~ "χαρακτήρες." + +#~ msgid "Start Chat with account %s" +#~ msgstr "Έναρξη κουβέντας με χρήση του λογαριασμού %s" + +#, fuzzy +#~ msgid "" +#~ "Fill in the nickname or the JID of the contact you would like\n" +#~ "to send a chat message to:" +#~ msgstr "" +#~ "Συμπληρώστε το jid ή το ψευδώνυμο της επαφής προς\n" +#~ "την οποία θέλετε να στείλετε ένα μήνυμα συζήτησης:" + +#, fuzzy +#~ msgid "Nickname / JID" +#~ msgstr "Διπλότυπο αναγνωριστικό Jabber" + +#~ msgid "Unable to parse \"%s\"." +#~ msgstr "Δεν ήταν δυνατή η ανάγνωση του \"%s\"." + +#~ msgid "Shows the chat dialog so that you can send messages to a contact" +#~ msgstr "" +#~ "Εμφανίζει το διαλόγο κουβέντας ώστε να μπορείτε να στέλνετε μηνύματα σε " +#~ "μια επαφή" + +#~ msgid "JID of the contact that you want to chat with" +#~ msgstr "το JID της επαφής με την οποία θέλετε να συνομιλήσετε" + +#~ msgid "Adds contact to roster" +#~ msgstr "Προσθέτει μια επαφή στη λίστα επαφών" + +#~ msgid "jid" +#~ msgstr "jid" + +#~ msgid "Adds new contact to this account" +#~ msgstr "Προσθέτει μια νέα επαφή σε αυτό το λογαριασμό." + +#, fuzzy +#~ msgid "Opens 'Start Chat' dialog" +#~ msgstr "Άνοιγμα του διαλόγου 'Έναρξη κουβέντας'" + +#~ msgid "Starts chat, using this account" +#~ msgstr "Έναρξη κουβέντας με χρήση αυτού του λογαριασμού" + +#, fuzzy +#~ msgid "Handle a xmpp:/ URI" +#~ msgstr "Το URI \"%s\" δεν είναι έγκυρο." + +#, fuzzy +#~ msgid "Message content" +#~ msgstr "περιεχόμενα μηνύματος" + +#, fuzzy +#~ msgid "Join a MUC room" +#~ msgstr "_Σύνδεση σε νέο δωμάτιο" + +#, fuzzy +#~ msgid "Nickname to use" +#~ msgstr "Δεν βρέθηκε το ψευδώνυμο: %s" + +#, fuzzy +#~ msgid "Password to enter the room" +#~ msgstr "Οι κωδικοί δεν ταιριάζουν" + +#, fuzzy +#~ msgid "Wrong URI" +#~ msgstr "Το URI \"%s\" δεν είναι έγκυρο." + +#~ msgid "Nickname:" +#~ msgstr "Ψευδώνυμο:" + +#~ msgid "Server:" +#~ msgstr "Εξυπηρετητής:" + +#, fuzzy +#~ msgid "Join this room _automatically when I connect" +#~ msgstr "Καθορισμός του προφίλ μου κατά τη σύνδεση" + +#, fuzzy +#~ msgid "Bro_wse Rooms" +#~ msgstr "_Περιήγηση" + +#, fuzzy +#~ msgid "Network-Watcher" +#~ msgstr "Διαχειριστής ιστορικού" + +#, fuzzy +#~ msgid "Hides the buttons in chat windows." +#~ msgstr "Αποκρύπτει τα κουμπιά σε παράθυρο ομαδικής κουβέντας" + +#, fuzzy +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "_Τοποθέτηση σελιδοδείκτη για αυτό το δωμάτιο" + +#, fuzzy +#~ msgid "Show advanced functions (Alt+D)" +#~ msgstr "Κάντε κλικ για να εισάγετε φατσούλα (Alt+M)" + +#, fuzzy +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "Προσθέτει μια επαφή στη λίστα επαφών" + +#, fuzzy +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "έχει την προσοχή του στην κουβέντα" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Προσθέτει μια επαφή στη λίστα επαφών" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Προσθέτει μια επαφή στη λίστα επαφών" + +#, fuzzy +#~ msgid "Ma_ke message windows compact" +#~ msgstr "Παρά_θυρο ενός μηνύματος:" + +#, fuzzy +#~ msgid "Hide all buttons in chat windows" +#~ msgstr "Αποκρύπτει τα κουμπιά σε παράθυρο ομαδικής κουβέντας" + +#, fuzzy +#~ msgid "Hide the chat buttons" +#~ msgstr "Χρήση: /%s, αποκρύπτει τα κουμπιά της κουβέντας." + +#~ msgid "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." +#~ msgstr "" +#~ "Αν είναι αληθές, το Gajim θα κοιτάει αν κάθε επαφή που δεν είχε ως τώρα " +#~ "άβαταρ, έχει τώρα ή έχει αλλά είναι πεπαλαιωμένη." + +#, fuzzy +#~ msgid "?CLI:room" +#~ msgstr "Από" + +#, fuzzy +#~ msgid "?CLI:nick" +#~ msgstr "Ψευδώνυμο" + +#, fuzzy +#~ msgid "?CLI:password" +#~ msgstr "κωδικός πρόσβασης" + +#, fuzzy +#~ msgid "Use D-Bus and Notification-Daemon to show notifications" +#~ msgstr "" +#~ "Χρήση του D-Bus και του δαίμονα ειδοποιήσεων για εμφάνιση ειδοποιήσεων" + +#, fuzzy +#~ msgid "Notification" +#~ msgstr "Τροποποίηση λογαριασμού" + +#, fuzzy +#~ msgid "Ignore" +#~ msgstr "εννιά" + +#, fuzzy +#~ msgid "_Open Gmail Inbox" +#~ msgstr "Άνοιγμα υπάρχοντος μενού" + +#~ msgid "Notify on new _GMail email" +#~ msgstr "Ειδοποίηση σε νέο μήνυμα στο _Gmail" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will also include information about the sender of new " +#~ "emails" +#~ msgstr "" +#~ "Αν επιλεγεί, το Gajim θα εμφανίζει τα άβαταρ των επαφών στην λίστα επαφών " +#~ "και στις ομαδικές κουβέντες" + +#~ msgid "GMail Options" +#~ msgstr "Επιλογές Gmail" + +#, fuzzy +#~ msgid "20" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Invited %s to %s" +#~ msgstr "Αποστολή %s" + +#, fuzzy +#~ msgid "GMail Email Received" +#~ msgstr "Αντιγραφή διεύθυνσης email" + +#, fuzzy +#~ msgid "New e-mail on %(gmail_mail_address)s" +#~ msgstr "Νέα αλληλογραφία στο %(gmail_mail_address)s" + +#, fuzzy +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "Έχετε %d νέο μήνυμα ηλεκτρονικής αλληλογραφίας" +#~ msgstr[1] "Έχετε %d νέα μηνύματα ηλεκτρονικής αλληλογραφίας" + +#, fuzzy +#~ msgid "Resour_ce:" +#~ msgstr "_Πόρος: " + +#~ msgid "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" +#~ msgstr "" +#~ "Ο πόρος στέλνεται στον εξυπηρετητή Jabber ώστε να διαχωριστεί το ίδιο JID " +#~ "σε δύο ή περισσότερα μέρη ανάλογα με τον αριθμό των εφαρμογών που είναι " +#~ "συνδεδεμένες στον ίδιο εξυπηρετητή με τον ίδιο λογαριασμό. Έτσι μπορείτε " +#~ "να είστε συνδεδεμένος με τον ίδιο λογαριασμό με πόρο 'Σπίτι' και " +#~ "'Δουλειά' την ίδια στιγμή. Ο πόρος με τη μεγαλύτερη προτεραιότητα θα " +#~ "λαμβάνει τα γεγονότα. (βλέπε και πιο κάτω)" + +#, fuzzy +#~ msgid "A_djust to status" +#~ msgstr "Αδυναμία φόρτωσης" + +#, fuzzy +#~ msgid "Anonymous authentication" +#~ msgstr "Χρήση πιστοποίησης" + +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "Η προτεραιότητα χρησιμοποιείται στο Jabber για να καθορίσει ποιος " +#~ "λαμβάνει τα γεγονότα από τον jabber διακομιστή όταν δύο ή περισσότερες " +#~ "εφαρμογές είναι συνδεδεμένες χρησιμοποιώντας τον ίδιο λογαριασμό· Η " +#~ "εφαρμογή με την μεγαλύτερη προτεραιότητα λαμβάνει τα γεγονότα" + +#, fuzzy +#~ msgid "Synchronize contacts" +#~ msgstr "Εμφάνιση _αποσυνδεδεμένων χρηστών" + +#~ msgid "Chan_ge Password" +#~ msgstr "Αλλα_γή κωδικού πρόσβασης" + +#, fuzzy +#~ msgid "Administration operations" +#~ msgstr "Λίστα διαχειριστών" + +#, fuzzy +#~ msgid "Browse..." +#~ msgstr "_Περιήγηση" + +#, fuzzy +#~ msgid "Certificate is e_ncrypted" +#~ msgstr "[Aυτό το μήνυμα είναι κρυπτογραφημένο]" + +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "" +#~ "Εάν επιλεγεί, το Gajim, όταν εκτελεστεί, θα συνδεθεί αυτόματα στο jabber " +#~ "χρησιμοποιώντας αυτόν το λογαριασμό" + +#, fuzzy +#~ msgid "Synchronize logs with server" +#~ msgstr "Εμφάνιση _αποσυνδεδεμένων χρηστών" + +#~ msgid "Synch_ronize account status with global status" +#~ msgstr "Συγχρο_νισμός κατάστασης λογαριασμού με την γενική κατάσταση" + +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "Εάν επιλεγεί, οι αλλαγές που γίνονται στη γενική κατάσταση (από τον " +#~ "επιλογέα στο κάτω μέρος της λίστας επαφών) θα αλλάζουν ανάλογα την " +#~ "κατάσταση αυτού του λογαριασμού" + +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "Αν επιλεγεί, το Gajim θα δημοσιοποιήσει μερικές ακόμα IP εκτός από τη " +#~ "δική σας, ώστε να υπάρχουν περισσότερες πιθανότητες να δουλέψει η " +#~ "μεταφορά αρχείων." + +#, fuzzy +#~ msgid "Proxy" +#~ msgstr "Ιστορικό" + +#, fuzzy +#~ msgid "Send _keep-alive packets" +#~ msgstr "Αποστολή πακέτων keep-alive" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "" +#~ "Αν επιλεγεί, το Gajim θα στέλνει πακέτα keep-alive ώστε να αποφύγει την " +#~ "διακοπή της σύνδεσης" + +#, fuzzy +#~ msgid "Use cust_om hostname/port" +#~ msgstr "Χρήση προσαρμοσμένου διακομιστή/θύρας" + +#, fuzzy +#~ msgid "_Hostname: " +#~ msgstr "Εξυπηρετητής:" + +#, fuzzy +#~ msgid "_Port: " +#~ msgstr "_Θύρα:" + +#~ msgid "Choose _Key..." +#~ msgstr "Επιλογή _κλειδιού..." + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "Αν επιλεγεί, το Gajim θα θυμάται τον κωδικό για αυτόν το λογαριασμό" + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#, fuzzy +#~ msgid "_Edit Personal Information..." +#~ msgstr "Τροποποίηση προσωπικών πληροφοριών..." + +#~ msgid "Personal Information" +#~ msgstr "Προσωπικές πληροφορίες" + +#, fuzzy +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "Σύνδεση κατά την ε_κκίνηση του Gajim" + +#, fuzzy +#~ msgid "Synchroni_ze account status with global status" +#~ msgstr "Συγχρο_νισμός κατάστασης λογαριασμού με την γενική κατάσταση" + +#, fuzzy +#~ msgid "Use cust_om port:" +#~ msgstr "Χρήση προσαρμοσμένης θύρας:" + +#, fuzzy +#~ msgid "OpenPGP is not usable on this computer" +#~ msgstr "Το OpenPGP δεν είναι διαθέσιμο σε αυτόν τον Η/Υ" + +#~ msgid "To change the account name, you must be disconnected." +#~ msgstr "Για να αλλάξετε το όνομα λογαριασμού, πρέπει να αποσυνδεθείτε." + +#~ msgid "To change the account name, you must read all pending events." +#~ msgstr "" +#~ "Για να αλλάξετε το όνομα λογαριασμού, πρέπει να διαβάσετε όλα τα εκκρεμή " +#~ "γεγονότα." + +#~ msgid "Account Name Already Used" +#~ msgstr "Το όνομα λογαριασμού είναι ήδη σε χρήση" + +#~ msgid "Account name cannot be empty." +#~ msgstr "Το όνομα λογαριασμού δε μπορεί να είναι κενό." + +#~ msgid "Account name cannot contain spaces." +#~ msgstr "Το όνομα λογαριασμού δε μπορεί να έχει κενά." + +#, fuzzy +#~ msgid "Enter a new name for account %s" +#~ msgstr "Επιλέξτε ένα όνομα για τη νέα συνεδρία:" + +#, fuzzy +#~ msgid "A JID must be in the form \"user@servername\"." +#~ msgstr "" +#~ "Ένα Jabber ID πρέπει να είναι στην μορφή \"όνομα_χρήστη@όνομα_διακομιστή" +#~ "\"." + +#~ msgid "No such account available" +#~ msgstr "Τέτοιος λογαριασμός δεν είναι διαθέσιμος" + +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "" +#~ "Πρέπει πρώτα να δημιουργήσετε το λογαριασμό σας προτού ξεκινήσετε να " +#~ "τροποποιείτε τις προσωπικές σας πληροφορίες." + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "" +#~ "Πρέπει να είστε συνδεδεμένος για να τροποποιήσετε τις προσωπικές σας " +#~ "πληροφορίες." + +#, fuzzy +#~ msgid "Your server can't save your personal information." +#~ msgstr "" +#~ "Πρέπει πρώτα να δημιουργήσετε το λογαριασμό σας προτού ξεκινήσετε να " +#~ "τροποποιείτε τις προσωπικές σας πληροφορίες." + +#~ msgid "THANKS:" +#~ msgstr "ΕΥΧΑΡΙΣΤΙΕΣ:" + +#~ msgid "Could not write to %s. Session Management support will not work" +#~ msgstr "" +#~ "Αδυναμία εγγραφής στο %s. Δε θα υπάρξει υποστήριξη για το διαχειριστή " +#~ "συνεδριών" + +#~ msgid "Jabber Traffic" +#~ msgstr "Κίνηση Jabber" + +#, fuzzy +#~ msgid "_Enable" +#~ msgstr "Ενεργοποίηση" + +#, fuzzy +#~ msgid "Filter" +#~ msgstr "Ιστορικό" + +#~ msgid "_IQ" +#~ msgstr "_IQ" + +#~ msgid "Info/Query" +#~ msgstr "Πληροφορία/Ερώτηση (Info/Query)" + +#~ msgid "XML Input" +#~ msgstr "Είσοδος δεδομένων XML" + +#~ msgid "XML Console for %s" +#~ msgstr "XML Κονσόλα για %s" + +#, fuzzy +#~ msgid "Idle for:" +#~ msgstr "XML Κονσόλα για %s" + +#~ msgid "Last status: %s" +#~ msgstr "Τελευταία κατάσταση: %s" + +#~ msgid " since %s" +#~ msgstr "από τις %s" + +#~ msgid "since %s" +#~ msgstr "από τις %s" + +#, fuzzy +#~ msgid "Prefer" +#~ msgstr "Προτιμήσεις" + +#, fuzzy +#~ msgid "Auto" +#~ msgstr "Αυτόματη είσοδος" + +#, fuzzy +#~ msgid "otr" +#~ msgstr "Ε_ξυπηρετητής:" + +#, fuzzy +#~ msgid "Invalid expire value" +#~ msgstr "Μη έγκυρο όνομα χρήστη" + +#~ msgid "How many minutes should last lines from previous conversation last." +#~ msgstr "" +#~ "Πόσα λεπτά θα παραμείνουν οι τελευταίες γραμμές από την προηγούμενη " +#~ "συζήτηση." + +#~ msgid "You will be connected to %s without OpenPGP." +#~ msgstr "Θα συνδεθείτε με %s χωρίς OpenPGP." + +#, fuzzy +#~ msgid "The following message was NOT encrypted" +#~ msgstr "[Aυτό το μήνυμα είναι κρυπτογραφημένο]" + +#~ msgid "Toggle Open_PGP Encryption" +#~ msgstr "Εν/Απενεργοποίηση _κρυπτογράφησης OpenPGP" + +#, fuzzy +#~ msgid "Toggle End to End Encryption" +#~ msgstr "Εν/Απενεργοποίηση _κρυπτογράφησης OpenPGP" + +#, fuzzy +#~ msgid "OpenPGP encryption enabled" +#~ msgstr "Ενεργοποιήθηκε η κρυπτογράφηση" + +#, fuzzy +#~ msgid "The following message was encrypted" +#~ msgstr "[Aυτό το μήνυμα είναι κρυπτογραφημένο]" + +#, fuzzy +#~ msgid "Toggle the OpenPGP encryption" +#~ msgstr "Εν/Απενεργοποίηση _κρυπτογράφησης OpenPGP" + +#, fuzzy +#~ msgid "[This message is *encrypted* (See :XEP:`27`]" +#~ msgstr "[Aυτό το μήνυμα είναι *κρυπτογραφημένο* (Δείτε:JEP:`27`)]" + +#, fuzzy +#~ msgid "Database cannot be read." +#~ msgstr "Το όνομα λογαριασμού δε μπορεί να είναι κενό." + +#, fuzzy +#~ msgid "Smooth scroll message in conversation window" +#~ msgstr "Αποστολή μηνύματος και κλείσιμο παραθύρου" + +#, fuzzy +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "Προσωπικές συζητήσεις" + +#~ msgid "_Administrator" +#~ msgstr "_Διαχειριστής" + +#, fuzzy +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "" +#~ "Στέλνει ένα μήνυμα στους χρήστες που είναι συνδεδεμένοι σε αυτό το " +#~ "διακομιστή" + +#~ msgid "Sets Message of the Day" +#~ msgstr "Ορίζει το Μήνυμα της ημέρας (MOTD)" + +#~ msgid "Updates Message of the Day" +#~ msgstr "Ενημερώνει το Μήνυμα της ημέρας (MOTD)" + +#~ msgid "Deletes Message of the Day" +#~ msgstr "Διαγράφει το Μήνυμα της ημέρας (MOTD)" + +#, fuzzy +#~ msgid "Add _Contact..." +#~ msgstr "_Προσθήκη επαφής..." + +#, fuzzy +#~ msgid "Profile, A_vatar" +#~ msgstr "Όνομα προφίλ:" + +#~ msgid "File _Transfers" +#~ msgstr "_Μεταφορές αρχείων" + +#~ msgid "Help online" +#~ msgstr "Online βοήθεια" + +#~ msgid "Frequently Asked Questions (online)" +#~ msgstr "Συχνές ερωτήσεις (online)" + +#, fuzzy +#~ msgid "Fea_tures" +#~ msgstr "Χαρακτηριστικά διακομιστή" + +#~ msgid "to %s account" +#~ msgstr "στο λογαριασμό %s" + +#~ msgid "using %s account" +#~ msgstr "χρήση του λογαριασμού %s" + +#~ msgid "of account %s" +#~ msgstr "για το λογαριασμό %s" + +#~ msgid "for account %s" +#~ msgstr "για το λογαριασμό %s" + +#~ msgid "" +#~ "By removing this contact you also remove authorization resulting in him " +#~ "or her always seeing you as offline." +#~ msgstr "" +#~ "Αφαιρώντας αυτή την επαφή αφαιρείται επίσης και την εξουσιοδότηση, με " +#~ "συνέπεια να σας βλέπει πάντα αποσυνδεδεμένο/η." + +#~ msgid "Invalid Jabber ID" +#~ msgstr "Μη έγκυρο Jabber ID" + +#~ msgid "This file is being used by another process." +#~ msgstr "Αυτό το αρχείο χρησιμοποιείται από άλλη διεργασία." + +#~ msgid "pgp key" +#~ msgstr "κλειδί pgp" + +#, fuzzy +#~ msgid "" +#~ "Sends new single message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Αποστολή νέου μηνύματος σε μια επαφή από την λίστα επαφών. Το κλειδί " +#~ "OpenPGP και ο λογαριασμός είναι προαιρετικά. Εάν θέλετε να καθορίσετε " +#~ "μόνο το 'λογαριασμό', χωρίς το 'κλειδί OpenPGP', απλώς θέστε το 'κλειδί " +#~ "OpenPGP' σε ''." + +#, fuzzy +#~ msgid "Please first choose another theme as your current theme." +#~ msgstr "Παρακαλώ επιλέξτε ένα άλλο θέμα πρώτα." + +#~ msgid "Your passphrase is incorrect" +#~ msgstr "H φράση πρόσβασης είναι λανθασμένη" + +#, fuzzy +#~ msgid "OpenPGP Passphrase Incorrect" +#~ msgstr "H φράση πρόσβασης είναι λανθασμένη" + +#~ msgid "You successfully received %(filename)s from %(name)s." +#~ msgstr "Λάβατε το αρχείο %(filename)s από τον/την %(name)s επιτυχώς." + +#, fuzzy +#~ msgid "Set logs directory" +#~ msgstr "δημιουργία φακέλου %s" + +#, fuzzy +#~ msgid "_Manage Bookmarks..." +#~ msgstr "/Προβολή/_Διαχείριση" + +#~ msgid "Change Status Message..." +#~ msgstr "Αλλαγή μηνύματος κατάστασης..." + +#~ msgid "_Change Status Message..." +#~ msgstr "Αλλαγή μηνύματος _κατάστασης..." + +#~ msgid "" +#~ "You are not interested in the contact's presence, and neither he/she is " +#~ "interested in yours" +#~ msgstr "" +#~ "Δεν ενδιαφέρεστε για την παρουσία ή μη της επαφής, και ούτε αυτός/η " +#~ "ενδιαφέρεται για εσάς" + +#, fuzzy +#~ msgid "Error description..." +#~ msgstr "Σφάλμα συστήματος" + +#, fuzzy +#~ msgid "View contact information (Ctrl+I)" +#~ msgstr "έχει την προσοχή του στην κουβέντα" + +#, fuzzy +#~ msgid "All Chat Histories" +#~ msgstr "Παλιό όνομα - Κείμενο - Αριθμός" + +#, fuzzy +#~ msgid "homepage url" +#~ msgstr "Προσωπ. σελίδα:" + +#~ msgid "More" +#~ msgstr "Περισσότερα" + +#~ msgid "creating %s directory" +#~ msgstr "δημιουργία φακέλου %s" + +#, fuzzy +#~ msgid "%s is not the name of a group chat." +#~ msgstr "Ερώτηση πριν το κλείσιμο καρτέλας/ παραθύρου ομαδικής κουβέντας." + +#, fuzzy +#~ msgid "Session Management" +#~ msgstr "Το μήνυμα στάλθηκε" + +#~ msgid "Gajim needs X server to run. Quiting..." +#~ msgstr "Το Gajim απαιτεί Xserver για να εκτελεστεί. Έξοδος..." + +#, fuzzy +#~ msgid "Gajim needs PyGTK 2.22 or above" +#~ msgstr "Το Gajim απαιτεί PyGTK 2.6 ή νεότερο" + +#, fuzzy +#~ msgid "Gajim needs PyGTK 2.22 or above to run. Quiting..." +#~ msgstr "Το Gajim απαιτεί PyGTK 2.6 ή νεότερο για να εκτελεστεί. Έξοδος..." + +#, fuzzy +#~ msgid "Gajim needs GTK 2.22 or above" +#~ msgstr "Το Gajim απαιτεί GTK 2.6 ή νεότερο" + +#, fuzzy +#~ msgid "Gajim needs GTK 2.22 or above to run. Quiting..." +#~ msgstr "Το Gajim απαιτεί GTK 2.6 ή νεότερο για να εκτελεστεί. Έξοδος..." + +#~ msgid "Gajim needs pywin32 to run" +#~ msgstr "Το Gajim χρειάζεται την pywin32 για να εκτελεστεί" + +#~ msgid "Gajim is already running" +#~ msgstr "Το Gajim εκτελείται ήδη" + +#~ msgid "" +#~ "Another instance of Gajim seems to be running\n" +#~ "Run anyway?" +#~ msgstr "" +#~ "Φαίνεται πως εκτελείται ήδη μια διεργασία του Gajim.\n" +#~ "Σίγουρα να εκτελεστεί;" + +#~ msgid "A programming error has been detected" +#~ msgstr "Εντοπίστηκε ένα προγραμματιστικό σφάλμα" + +#~ msgid "Details" +#~ msgstr "Λεπτομέρειες" + +#, fuzzy +#~ msgid "Jabber ID: " +#~ msgstr "ID συστήματος:" + +#~ msgid "Resource: " +#~ msgstr "Πόρος: " + +#~ msgid "Subscription: " +#~ msgstr "Εγγραφή: " + +#, fuzzy +#~ msgid "Mood: " +#~ msgstr "Δωμάτιο:" + +#, fuzzy +#~ msgid "Activity: " +#~ msgstr "Ενεργό" + +#, fuzzy +#~ msgid "Check on startup if Gajim is the _default Jabber client" +#~ msgstr "Gajim - ένα πρόγραμμα για το Jabber γραμμένο σε GTK+" + +#, fuzzy +#~ msgid "" +#~ "If True, Gajim will check if it's the default jabber client on each " +#~ "startup." +#~ msgstr "" +#~ "Αν είναι αληθές, το Gajim καταχωρείται στο xmpp:// σε κάθε έναρξη του." + +#, fuzzy +#~ msgid "Gajim is not the default Jabber client" +#~ msgstr "Gajim - ένα πρόγραμμα για το Jabber γραμμένο σε GTK+" + +#, fuzzy +#~ msgid "Would you like to make Gajim the default Jabber client?" +#~ msgstr "Θέλετε να αντικατασταθεί;" + +#, fuzzy +#~ msgid "Execute Command..." +#~ msgstr "Αδυναμία εκτέλεσης της εντολής:" + +#~ msgid "Actions" +#~ msgstr "Ενέργειες" + +#~ msgid "Conditions" +#~ msgstr "Συνθήκες" + +#~ msgid "Advanced Notifications Control" +#~ msgstr "Προχωρημένος έλεγχος ειδοποιήσεων" + +#~ msgid "Busy " +#~ msgstr "Απασχολημένος" + +#, fuzzy +#~ msgid "Contact Change Status " +#~ msgstr "Η επαφή άλλαξε κατάσταση" + +#~ msgid "Don't have " +#~ msgstr "Δεν έχει" + +#, fuzzy +#~ msgid "File Transfer Started " +#~ msgstr "Η μεταφορά αρχείου διακόπηκε" + +#, fuzzy +#~ msgid "Group Chat Message Highlight " +#~ msgstr "Επισήμανση " + +#, fuzzy +#~ msgid "Group Chat Message Received " +#~ msgstr "Λήφθηκε μήνυμα ομαδικής συζήτησης" + +#~ msgid "Launch a command" +#~ msgstr "Εκτέλεση εντολής" + +#, fuzzy +#~ msgid "One or more special statuses..." +#~ msgstr "Ορισμένες ειδικές καταστάσεις..." + +#, fuzzy +#~ msgid "Online / Free For Chat" +#~ msgstr "Online εγχειρίδιο για αυτήν την εφαρμογή" + +#~ msgid "Play a sound" +#~ msgstr "Αναπαραγωγή ήχου" + +#~ msgid "When " +#~ msgstr "Όταν" + +#, fuzzy +#~ msgid "_Disable auto opening chat window" +#~ msgstr "Αποκρύπτει τα κουμπιά σε παράθυρο ομαδικής κουβέντας" + +#, fuzzy +#~ msgid "_Disable existing popup window" +#~ msgstr "Εμφάνιση ενός αναδυόμενου παραθύρου κατά την λήψη μιας κλήσης" + +#, fuzzy +#~ msgid "_Disable existing sound for this event" +#~ msgstr "Το αρχείο ήχου για το παρόν γεγονός δεν υπάρχει." + +#, fuzzy +#~ msgid "_Open chat window with user" +#~ msgstr "Χρήση ενός παραθύρου κουβέντας με _καρτέλες" + +#, fuzzy +#~ msgid "_Show event in roster" +#~ msgstr "_Προβολή τίτλου στο κουμπί" + +#~ msgid "and I " +#~ msgstr "και εγώ" + +#, fuzzy +#~ msgid "contact(s)" +#~ msgstr "Επαφές" + +#~ msgid "for " +#~ msgstr "για" + +#, fuzzy +#~ msgid "group(s)" +#~ msgstr "Ομάδα" + +#~ msgid "when I'm in" +#~ msgstr "όταν είμαι στο" + +#, fuzzy +#~ msgid "_Allow him/her to see my status" +#~ msgstr "Επέτρεψε τον/την να βλέπει την κατάστασή μου" + +#, fuzzy +#~ msgid "Descrition:" +#~ msgstr "Περιγραφή: %s" + +#, fuzzy +#~ msgid "Advanced..." +#~ msgstr "Προχωρημένοι" + +#, fuzzy +#~ msgid "Display _activity of contacts in roster" +#~ msgstr "Εμφάνιση των ά_βαταρ των επαφών στη λίστα επαφών" + +#, fuzzy +#~ msgid "Display _tunes of contacts in roster" +#~ msgstr "Εμφάνιση των ά_βαταρ των επαφών στη λίστα επαφών" + +#, fuzzy +#~ msgid "Display m_ood of contacts in roster" +#~ msgstr "Εμφάνιση των ά_βαταρ των επαφών στη λίστα επαφών" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will display the activity of contacts in the roster " +#~ "window" +#~ msgstr "" +#~ "Αν επιλεγεί, το Gajim θα εμφανίζει τα άβαταρ των επαφών στην λίστα επαφών " +#~ "και στις ομαδικές κουβέντες" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will display the tunes of contacts in the roster window" +#~ msgstr "" +#~ "Αν επιλεγεί, το Gajim θα εμφανίζει τα άβαταρ των επαφών στην λίστα επαφών " +#~ "και στις ομαδικές κουβέντες" + +#~ msgid "Gajim Instant Messenger" +#~ msgstr "Gajim Instant Messenger" + +#~ msgid "English" +#~ msgstr "Αγγλικά" + +#~ msgid "Bulgarian" +#~ msgstr "Βουλγαρικά" + +#~ msgid "Czech" +#~ msgstr "Τσέχικα" + +#~ msgid "German" +#~ msgstr "Γερμανικά" + +#~ msgid "Greek" +#~ msgstr "Εληνικά" + +#~ msgid "British" +#~ msgstr "Βρετανικά" + +#~ msgid "Esperanto" +#~ msgstr "Εσπεράντο" + +#~ msgid "Spanish" +#~ msgstr "Ισπανικά" + +#~ msgid "French" +#~ msgstr "Γαλλικά" + +#~ msgid "Croatian" +#~ msgstr "Κροατικά" + +#~ msgid "Italian" +#~ msgstr "Ιταλικά" + +#~ msgid "Norwegian (b)" +#~ msgstr "Νορβηγικά (b)" + +#~ msgid "Dutch" +#~ msgstr "Ολλανδικά" + +#~ msgid "Norwegian" +#~ msgstr "Νορβηγικά" + +#~ msgid "Polish" +#~ msgstr "Πολωνέζικα" + +#~ msgid "Portuguese" +#~ msgstr "Πορτογαλικά" + +#~ msgid "Brazilian Portuguese" +#~ msgstr "Πορτογαλικά Βραζιλίας" + +#~ msgid "Russian" +#~ msgstr "Ρώσικα" + +#, fuzzy +#~ msgid "Serbian" +#~ msgstr "Γερμανικά" + +#~ msgid "Slovak" +#~ msgstr "Σλοβάκικα" + +#~ msgid "Swedish" +#~ msgstr "Σουηδικά" + +#~ msgid "Chinese (Ch)" +#~ msgstr "Κινέζικα (Ch)" + +#~ msgid "'yes', 'no', or 'both'" +#~ msgstr "'ναι', 'όχι', ή 'και τα δύο'" + +#~ msgid "'yes', 'no' or ''" +#~ msgstr "'ναι', 'όχι' ή ''" + +#~ msgid "Check your connection or try again later" +#~ msgstr "Ελέγξτε τη σύνδεση σας ή δοκιμάστε αργότερα" + +#~ msgid "error: cannot open %s for reading" +#~ msgstr "Το αρχείο %s δε μπορεί να ανοιχθεί για ανάγνωση" + +#, fuzzy +#~ msgid "Unable to bind to port %s." +#~ msgstr "Δεν ήταν δυνατό το άνοιγμα της οθόνης \"%s\"." + +#~ msgid "A GTK+ jabber client" +#~ msgstr "Ένα πρόγραμμα για το Jabber γραμμένο σε GTK+" + +#~ msgid "Condition" +#~ msgstr "Κατάσταση" + +#~ msgid "when I am " +#~ msgstr "όταν είμαι" + +#, fuzzy +#~ msgid "one of: offline, online, chat, away, xa, dnd, invisible " +#~ msgstr "" +#~ "μία από τις: αποσυνδεδεμένος, συνδεδεμένος, κουβέντα, απομακρυσμένος, " +#~ "εκτεταμένα-απομακρυσμένος, dnd, αόρατος " + +#, fuzzy +#~ msgid "" +#~ "Returns current status message(the global one unless account is specified)" +#~ msgstr "" +#~ "Εμφανίζει την τρέχουσα κατάσταση (τη γενική. εκτός εάν έχει προσδιοριστεί " +#~ "λογαριασμός)" + +#~ msgid "" +#~ "Usage: %s %s %s \n" +#~ "\t %s" +#~ msgstr "" +#~ "Χρήση: %s %s %s \n" +#~ "\t %s" + +#, fuzzy +#~ msgid "" +#~ "Too many arguments. \n" +#~ "Type \"%s help %s\" for more info" +#~ msgstr "" +#~ "Το όρισμα \"%s\" δεν έχει οριστεί. \n" +#~ "Πληκτρολογήστε \"%s help %s\" για περισσότερες πληροφορίες" + +#, fuzzy +#~ msgid "" +#~ "Argument \"%s\" is not specified. \n" +#~ "Type \"%s help %s\" for more info" +#~ msgstr "" +#~ "Το όρισμα \"%s\" δεν έχει οριστεί. \n" +#~ "Πληκτρολογήστε \"%s help %s\" για περισσότερες πληροφορίες" + +#~ msgid "Subject: %s" +#~ msgstr "Θέμα: %s" + +#, fuzzy +#~ msgid "Mood: %s" +#~ msgstr "Δωμάτιο:" + +#, fuzzy +#~ msgid "Activity: %s" +#~ msgstr "Ενεργό" + +#, fuzzy +#~ msgid "_Show event in systray" +#~ msgstr "_Προβολή τίτλου στο κουμπί" + +#, fuzzy +#~ msgid "Autodetect on every Gajim startup" +#~ msgstr "Σύνδεση κατά την ε_κκίνηση του Gajim" + +#, fuzzy +#~ msgid "Show systray:" +#~ msgstr "_Προβολή τίτλου στο κουμπί" + +#~ msgid "Nickname not allowed: %s" +#~ msgstr "Δεν επιτρέπεται το ψευδώνυμο: %s" + +#~ msgid "we are now subscribed to %s" +#~ msgstr "Ο %s μόλις σας εξουσιοδότησε" + +#~ msgid "we are now unsubscribed from %s" +#~ msgstr "πραγματοποιήθηκε αφαίρεση εξουσιοδότησης από %s" + +#~ msgid "Account Modification" +#~ msgstr "Τροποποίηση λογαριασμού" + +#~ msgid "" +#~ "Check this so Gajim will connect in port 5223 where legacy servers are " +#~ "expected to have SSL capabilities. Note that Gajim uses TLS encryption by " +#~ "default if broadcasted by the server, and with this option enabled TLS " +#~ "will be disabled" +#~ msgstr "" +#~ "Επιλέξτε το ώστε το Gajim να συνδεθεί στην θύρα 5223 όπου οι παλαιότεροι " +#~ "διακομιστές αναμένουν SSL σύνδεση. Σημειώστε ότι το Gajim χρησιμοποιεί " +#~ "κρυπτογράφηση TLS αυτόματα αν αυτή η δυνατότητα του γνωστοποιηθεί από τον " +#~ "διακομιστή, και ότι με αυτή την επιλογή απενεργοποιείται το TLS" + +#~ msgid "Edit Personal Information..." +#~ msgstr "Τροποποίηση προσωπικών πληροφοριών..." + +#~ msgid "Hostname: " +#~ msgstr "Εξυπηρετητής:" + +#~ msgid "" +#~ "If checked, Gajim will store the password in ~/.gajim/config with 'read' " +#~ "permission only for you" +#~ msgstr "" +#~ "Εάν επιλεγεί, το Gajim θα αποθηκεύσει τον κωδικό πρόσβασης στο ~/.gajim/" +#~ "config με δικαίωμα ανάγνωσης μόνο για εσάς" + +#~ msgid "Port: " +#~ msgstr "Θύρα: " + +#~ msgid "Save _passphrase (insecure)" +#~ msgstr "Αποθήκευση _φράσης πρόσβασης (περιορισμένη ασφάλεια)" + +#~ msgid "Use _SSL (legacy)" +#~ msgstr "Χρήση _SSL (για λόγους συμβατότητας)" + +#~ msgid "" +#~ "contact(s)\n" +#~ "group(s)\n" +#~ "everybody" +#~ msgstr "" +#~ "επαφές\n" +#~ "ομάδες\n" +#~ "όλοι" + +#, fuzzy +#~ msgid "" +#~ "Account row\n" +#~ "Group row\n" +#~ "Contact row\n" +#~ "Chat Banner" +#~ msgstr "" +#~ "Λογαριασμός\n" +#~ "Ομάδα\n" +#~ "Επαφή\n" +#~ "Banner" + +#, fuzzy +#~ msgid "gtk-delete" +#~ msgstr "Διαγραφή" + +#~ msgid "" +#~ "All chat states\n" +#~ "Composing only\n" +#~ "Disabled" +#~ msgstr "" +#~ "Όλες τις καταστάσεις κουβέντας\n" +#~ "Μόνο αν κάποιος γράφει ένα μήνυμα\n" +#~ "Απενεργοποιημένες" + +#, fuzzy +#~ msgid "" +#~ "Autodetect on every Gajim startup\n" +#~ "Always use GNOME default applications\n" +#~ "Always use KDE default applications\n" +#~ "Always use Xfce default applications\n" +#~ "Custom" +#~ msgstr "" +#~ "Αυτόματη ανίχνευση σε κάθε έναρξη του Gajim\n" +#~ "Πάντα χρήση των προεπιλεγμένων εφαρμογών του GNOME\n" +#~ "Πάντα χρήση των προεπιλεγμένων εφαρμογών του KDE\n" +#~ "Προσαρμοσμένες ρυθμίσεις" + +#, fuzzy +#~ msgid "gtk-cancel" +#~ msgstr "Διαγραφή" + +#~ msgid "pysqlite2 (aka python-pysqlite2) dependency is missing. Exiting..." +#~ msgstr "Δεν βρέθηκε το pysqlite2 (ή python-pysqlite2). Έξοδος..." + +#~ msgid "" +#~ "Session bus is not available.\n" +#~ "Try reading http://trac.gajim.org/wiki/GajimDBus" +#~ msgstr "" +#~ "Ο δίαυλος μηνυμάτων δεν είναι διαθέσιμος.\n" +#~ "Παρακαλώ συμβουλευτείτε το http://trac.gajim.org/wiki/GajimDBus" + +#~ msgid "GTK+ runtime is missing libglade support" +#~ msgstr "Η libglade λείπει από το GTK+" + +#~ msgid "" +#~ "Please remove your current GTK+ runtime and install the latest stable " +#~ "version from %s" +#~ msgstr "" +#~ "Παρακαλώ απεγκαταστήστε την τρέχουσα έκοδση του GTK+ και εγκαταστήστε την " +#~ "τελευταία σταθερή έκδοση από %s" + +#~ msgid "" +#~ "Please make sure that GTK+ and PyGTK have libglade support in your system." +#~ msgstr "" +#~ "Παρακαλώ βεβαιωθείτε ότι το GTK+ και το PyGTK του συστήματος σας έχουν " +#~ "υποστήριξη για την libglade." + +#~ msgid "Gajim needs PySQLite2 to run" +#~ msgstr "Το Gajim χρειάζεται την PySQLite2 για να εκτελεστεί" + +#, fuzzy +#~ msgid "gtk-ok" +#~ msgstr "gtk+" + +#~ msgid "OpenPGP passphrase was not given" +#~ msgstr "Δε δόθηκε φράση πρόσβασης για το OpenPGP" + +#~ msgid "" +#~ "To continue sending and receiving messages, you will need to reconnect." +#~ msgstr "" +#~ "Για να συνεχίσετε να στέλνετε και να λαμβάνετε μηνύματα, πρέπει να " +#~ "επανασυνδεθείτε." + +#~ msgid "Add Special _Notification" +#~ msgstr "Προσθήκη ειδικής _γνωστοποίησης" + +#~ msgid "Assign Open_PGP Key" +#~ msgstr "Ανάθεση κλειδιού Open_PGP" + +#, fuzzy +#~ msgid "" +#~ "Usage: /%(command)s , sends action to the current group chat. Use " +#~ "third person. (e.g. /%(command)s explodes.)" +#~ msgstr "" +#~ "Χρήση: /%s <δράση>, στέλνει τη δράση στο τρέχον δωμάτιο, με χρήση τρίτου " +#~ "προσώπου (π.χ. /%s χοροπηδάει)." + +#~ msgid "No help info for /%s" +#~ msgstr "Δεν υπάρχουν πληροφορίες για το /%s" + +#~ msgid "Nickname not found: %s" +#~ msgstr "Δεν βρέθηκε το ψευδώνυμο: %s" + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s [reason], bans the JID from the group chat. The " +#~ "nickname of an occupant may be substituted, but not if it contains \"@\". " +#~ "If the JID is currently in the group chat, he/she/it will also be kicked." +#~ msgstr "" +#~ "Χρήση: /%s <ψευδώνυμο|JID> [λόγος], απαγορεύει το JID από το δωμάτιο. Το " +#~ "ψευδώνυμο του χρήστη μπορεί να αντικατασταθεί, αλλά όχι εάν περιέχει \"@" +#~ "\". Εάν το JID είναι στο δωμάτιο, ο χρήστης θα πεταχτεί έξω επίσης. ΔΕΝ " +#~ "υποστηρίζει κενά στο ψευδώνυμο." + +#~ msgid "" +#~ "Usage: /%s [reason], closes the current window or tab, displaying reason " +#~ "if specified." +#~ msgstr "" +#~ "Χρήση: /%s [λόγος], κλείνει το τρέχον παράθυρο ή καρτέλα, ανακοινώνοντας " +#~ "το λόγο εάν έχει προσδιοριστεί." + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s [reason], invites JID to the current group chat, " +#~ "optionally providing a reason." +#~ msgstr "" +#~ "Χρήση: /%s [λόγος], προσκαλεί το JID στο τρέχον δωμάτιο, παρέχοντας " +#~ "προαιρετικά και λόγο." + +#~ msgid "" +#~ "Usage: /%s @[/nickname], offers to join room@server " +#~ "optionally using specified nickname." +#~ msgstr "" +#~ "Χρήση: /%s <δωμάτιο>@<διακομιστής>[/ψευδώνυμο], επιδιώκει την είσοδο στο " +#~ "δωμάτιο@διακομιστή, προαιρετικά χρησιμοποιώντας το ψευδώνυμο." + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s [reason], removes the occupant specified by " +#~ "nickname from the group chat and optionally displays a reason." +#~ msgstr "" +#~ "Χρήση: /%s <ψευδώνυμο> [αιτία], βγάζει τον χρήστη που προσδιορίστηκε από " +#~ "το δωμάτιο, προσδιορίζοντας την αιτία. ΔΕΝ υποστηρίζει κενά στο ψευδώνυμο." + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s [message], opens a private message window and sends " +#~ "message to the occupant specified by nickname." +#~ msgstr "" +#~ "Χρήση: /%s <ψευδώνυμο> [μήνυμα], ανοίγει ένα παράθυρο προσωπικού διαλόγου " +#~ "και στέλνει το μήνυμα στο χρήστη που προσδιορίστηκε." + +#, fuzzy +#~ msgid "Usage: /%s , changes your nickname in current group chat." +#~ msgstr "" +#~ "Χρήση: /%s <ψευδώνυμο>, αλλάζει το ψευδώνυμο σας στο τρέχον δωμάτιο." + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s [topic], displays or updates the current group chat topic." +#~ msgstr "Χρήση: /%s [θέμα], εμφανίζει ή αλλάζει το θέμα στο τρέχον δωμάτιο." + +#~ msgid "" +#~ "Usage: /%s , sends a message without looking for other commands." +#~ msgstr "" +#~ "Χρήση: /%s <μήνυμα>, στέλνει ένα μήνυμα χωρίς να γίνει έλεγχος για άλλες " +#~ "εντολές." + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s , allow to send you messages and private " +#~ "messages." +#~ msgstr "" +#~ "Χρήση: /%s <ψευδώνυμο>, αλλάζει το ψευδώνυμο σας στο τρέχον δωμάτιο." + +#~ msgid "Click to see features (like MSN, ICQ transports) of jabber servers" +#~ msgstr "" +#~ "Πατήστε για να δείτε τα χαρακτηριστικά (όπως μεταφορές MSN, ICQ) των " +#~ "διακομιστών του jabber" + +#, fuzzy +#~ msgid "Show _roster" +#~ msgstr "Εμφάνιση _λίστας επαφών" + +#~ msgid "Modify Account" +#~ msgstr "Επεξεργασία λογαριασμού" + +#, fuzzy +#~ msgid "" +#~ "%(title)s by %(artist)s\n" +#~ "from %(source)s" +#~ msgstr "Αριθμός - Καλλιτέχνης - Τίτλος" + +#~ msgid "Gajim account %s" +#~ msgstr "Λογαριασμός gajim %s" + +#~ msgid "This account is already configured in Gajim." +#~ msgstr "Αυτός ο λογαριασμός έχει ήδη στηθεί στο Gajim." + +#, fuzzy +#~ msgid "Idle" +#~ msgstr "Id" + +#, fuzzy +#~ msgid "File transfer stopped by the contact at the other end" +#~ msgstr "Η μεταφορά αρχείου σταμάτησε από την επαφή της άλλης πλευράς" + +#, fuzzy +#~ msgid "Generic" +#~ msgstr "Γενικά" + +#~ msgid "%s has not broadcast an OpenPGP key, nor has one been assigned" +#~ msgstr "" +#~ "Ο/η %s δεν έχει στείλει ένα κλειδί OpenPGP ούτε εσείς έχετε εφαρμόσει " +#~ "κάποιο" + +#~ msgid "No such command: /%s (if you want to send this, prefix it with /say)" +#~ msgstr "" +#~ "Δεν βρέθηκε η εντολή: /%s (εάν θέλετε να το πείτε αυτό βάλτε το /say " +#~ "μπροστά)" + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s , sends action to the current group chat. Use third " +#~ "person. (e.g. /%s explodes.)" +#~ msgstr "" +#~ "Χρήση: /%s <δράση>, στέλνει τη δράση στο τρέχον δωμάτιο, με χρήση τρίτου " +#~ "προσώπου (π.χ. /%s χοροπηδάει)." + +#~ msgid "Please fill in the data for your new account" +#~ msgstr "Παρακαλώ συμπληρώστε τα δεδομένα για το νέο λογαριασμό σας" + +#~ msgid "_Retype Password:" +#~ msgstr "Επανά_ληψη κωδικού:" + +#, fuzzy +#~ msgid "" +#~ "If you have 2 or more accounts and this is checked, Gajim will list all " +#~ "contacts as if you had one account" +#~ msgstr "" +#~ "Αν έχετε 2 ή περισσότερους λογαριασμούς και έχει επιλεγεί, το Gajim θα " +#~ "εμφανίζει τις επαφές σας σαν να είχατε ένα λογαριασμό" + +#~ msgid "2003-12-13T18:30:02Z" +#~ msgstr "2003-12-13T18:30:02Z" + +#~ msgid "_Compact View Alt+C" +#~ msgstr "_Συμπαγής όψη Alt+C" + +#~ msgid "Click to see past conversation in this room" +#~ msgstr "Πατήστε για να δείτε παλιότερες συζητήσεις σε αυτό το δωμάτιο" + +#~ msgid "Build custom query" +#~ msgstr "Κατασκευή προσαρμοσμένου ερωτήματος" + +#~ msgid "Query Builder..." +#~ msgstr "Κατασκευή ερωτήματος..." + +#~ msgid "Invitation Received" +#~ msgstr "Παραλήφθηκε μια πρόσκληση" + +#~ msgid "Format of a line" +#~ msgstr "Μορφή μια γραμμής κουβέντας" + +#~ msgid "Interface Customization" +#~ msgstr "Προσαρμογή διεπαφής" + +#~ msgid "Also known as iChat style" +#~ msgstr "Γνωστό επίσης ως στυλ iChat" + +#~ msgid "E_very 5 minutes" +#~ msgstr "Κάθε 5 _λεπτά" + +#, fuzzy +#~ msgid "" +#~ "Gajim will automatically show new events by popping up the relative window" +#~ msgstr "" +#~ "Το Gajim θα εμφανίσει αυτόματα νέα γεγονότα αναδύοντας το ανάλογο παράθυρο" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed in" +#~ msgstr "" +#~ "Το Gajim θα σας ειδοποιήσει μέσω ενός αναδυόμενου παραθύρου στο κάτω " +#~ "δεξιά μέρος της οθόνης για τις επαφές που μόλις συνδέθηκαν στο Jabber" + +#~ msgid "" +#~ "Gajim will only change the icon of the contact that triggered the new " +#~ "event" +#~ msgstr "" +#~ "Το Gajim θα αλλάξει μόνο το εικονίδιο της επαφής που προκάλεσε το νέο " +#~ "γεγονός" + +#~ msgid "" +#~ "If checked, Gajim will remember the roster and chat window positions in " +#~ "the screen and the sizes of them next time you run it" +#~ msgstr "" +#~ "Αν επιλεγεί, το Gajim θα θυμάται την θέση και το μέγεθος του κύριου " +#~ "παραθύρου την επόμενη φορά που θα εκτελεστεί" + +#~ msgid "" +#~ "Never\n" +#~ "Always\n" +#~ "Per account\n" +#~ "Per type" +#~ msgstr "" +#~ "Ποτέ\n" +#~ "Πάντα\n" +#~ "Ανά λογαριασμό\n" +#~ "Ανά τύπο" + +#, fuzzy +#~ msgid "Outgoing Chat state noti_fications:" +#~ msgstr "Ειδοπ_οιήσεις για κατάσταση κουβέντας:" + +#~ msgid "Print time:" +#~ msgstr "Εμφάνιση χρόνου:" + +#~ msgid "Save _position and size for roster and chat windows" +#~ msgstr "" +#~ "Αποθήκευση _θέσης και μεγέθους για τη λίστα επαφών και για τα παράθυρα " +#~ "κουβέντας" + +#~ msgid "The auto away status message" +#~ msgstr "Αυτόματο μήνυμα για κατάσταση απομακρυσμένος" + +#~ msgid "" +#~ "When a new event (message, file transfer request etc..) is received, the " +#~ "following methods may be used to inform you about it. Please note that " +#~ "events about new messages only occur if it is a new message from a " +#~ "contact you are not already chatting with" +#~ msgstr "" +#~ "Όταν ληφθεί ένα νέο συμβάν (μήνυμα, αίτημα για μεταφορά αρχείου κλπ.), " +#~ "μπορεί να χρησιμοποιηθούν οι παρακάτω μέθοδοι για να ειδοποιηθείτε. " +#~ "Σημειώστε πως συμβάντα για νέα μηνύματα δημιουργούνται μόνο όταν " +#~ "λαμβάνονται μηνύματα από επαφές με τις οποίες δεν συζητάτε ήδη" + +#~ msgid "_Advanced Notifications Control..." +#~ msgstr "_Προχωρημένος έλεγχος ειδοποιήσεων..." + +#~ msgid "_Player:" +#~ msgstr "_Αναπαραγωγέας:" + +#~ msgid "Role:" +#~ msgstr "Ρόλος:" + +#~ msgid "_Remove from Roster" +#~ msgstr "Α_φαίρεση από τη λίστα επαφών" + +#~ msgid "A_ccounts" +#~ msgstr "_Λογαριασμοί" + +#~ msgid "OS:" +#~ msgstr "Λειτ. Σύστημα:" + +#~ msgid "" +#~ "If that is not your language for which you want to highlight misspelled " +#~ "words, then please set your $LANG as appropriate. Eg. for French do " +#~ "export LANG=fr_FR or export LANG=fr_FR.UTF-8 in ~/.bash_profile or to " +#~ "make it global in /etc/profile.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "Αν αυτή δεν είναι η γλώσσα για την οποία επιθυμείτε να έχετε υπογράμμιση " +#~ "ορθογραφικών λαθών, τότε παρακαλείστε να καθορίσετε την $LANG όπως της " +#~ "αρμόζει. Πχ. για Ελληνικά κάντε export LANG=el_GR ή export LANG=el_GR." +#~ "UTF-8 στο ~/.bash_profile ή για όλους τους χρήστες στο /etc/profile.\n" +#~ "\n" +#~ "Η υπογράμμιση ορθογραφικών λαθών απενεργοποιήθηκε" + +#~ msgid "Every %s _minutes" +#~ msgstr "Κάθε %s _λεπτά" + +#~ msgid "You will always see him or her as offline." +#~ msgstr "Θα βλέπετε την επαφή πάντα ως αποσυνδεδεμένη." + +#~ msgid "%s is now %s (%s)" +#~ msgstr "Ο %s είναι τώρα %s (%s)" + +#~ msgid "%s is now %s" +#~ msgstr "Ο %s είναι τώρα %s" + +#~ msgid "" +#~ "\n" +#~ "From: %(from_address)s" +#~ msgstr "" +#~ "\n" +#~ "Από: %(from_address)s" + +#, fuzzy +#~ msgid "Network Manager support not available" +#~ msgstr "Δεν υπάρχει διαθέσιμη σύνδεση" + +#~ msgid "Session Management support not available (missing gnome.ui module)" +#~ msgstr "" +#~ "Η υποστήριξη για Διαχείριση συνόδων δεν είναι διαθέσιμη (δεν υπάρχει το " +#~ "άρθρωμα του gnome.ui)" + +#~ msgid "%s does not appear to be a valid JID" +#~ msgstr "Το %s δεν φαίνεται να είναι έγκυρο JID" + +#~ msgid "%s - Gajim" +#~ msgstr "%s - Gajim" + +#, fuzzy +#~ msgid "_New group chat" +#~ msgstr "Αρχηγός ομάδας παραθύρων" + +#~ msgid "Log _off" +#~ msgstr "_Αποσύνδεση" + +#~ msgid "Save passphrase" +#~ msgstr "Αποθήκευση της φράσης πρόσβασης" + +#~ msgid "Drop %s in group %s" +#~ msgstr "Προσθήκη %s στην ομάδα %s" + +#, fuzzy +#~ msgid "Hides the buttons in two persons chat window." +#~ msgstr "Αποκρύπτει τα κουμπιά στο παράθυρο προσωπικού διαλόγου" + +#~ msgid "Connected to server %s:%s with %s" +#~ msgstr "Έγινε σύνδεση με το διακομιστή %s:%s με %s" + +#~ msgid "invisible" +#~ msgstr "αόρατος" + +#~ msgid "offline" +#~ msgstr "αποσυνδεδεμένος" + +#~ msgid "I'm %s" +#~ msgstr "Είμαι %s" + +#~ msgid " %d unread single message" +#~ msgid_plural " %d unread single messages" +#~ msgstr[0] "%d μη αναγνωσμένο μεμονωμένο μήνυμα" +#~ msgstr[1] "%d μη αναγνωσμένα μεμονωμένα μηνύματα" + +#~ msgid " %d unread group chat message" +#~ msgid_plural " %d unread group chat messages" +#~ msgstr[0] "%d μη αναγνωσμένο μήνυμα" +#~ msgstr[1] "%d μη αναγνωσμένα μηνύματα" + +#~ msgid " %d unread private message" +#~ msgid_plural " %d unread private messages" +#~ msgstr[0] "%d μη αναγνωσμένο προσωπικό μήνυμα" +#~ msgstr[1] "%d μη αναγνωσμένα προσωπικά μηνύματα" + +#~ msgid "Connection to host could not be established" +#~ msgstr "Η σύνδεση με το διακομιστή δεν ήταν εφικτή." + +#~ msgid "_After time:" +#~ msgstr "Μετά α_πό χρόνο:" + +#~ msgid "_Before time:" +#~ msgstr "_Πριν από χρόνο:" + +#~ msgid "_Account:" +#~ msgstr "_Λογαριασμός:" + +#~ msgid "Away " +#~ msgstr "Απομακρυσμένος" + +#~ msgid "Down" +#~ msgstr "Κάτω" + +#~ msgid "List of special notifications settings" +#~ msgstr "Λίστα ειδικών ρυθμίσεων ειδοποιήσεων" + +#~ msgid "Not Available " +#~ msgstr "Μη διαθέσιμος" + +#~ msgid "Up" +#~ msgstr "Πάνω" + +#~ msgid "Jabber" +#~ msgstr "Jabber" + +#~ msgid "_Retrieve" +#~ msgstr "_Ανάκτηση" + +#~ msgid "Invalid room or server name" +#~ msgstr "Μη έγκυρο δωμάτιο ή όνομα διακομιστή" + +#~ msgid "Your personal information has been published successfully." +#~ msgstr "Οι προσωπικές σας πληροφορίες δημοσιοποιήθηκαν με επιτυχία." + +#~ msgid "Migrating Logs..." +#~ msgstr "Μεταφορά ιστορικού..." + +#~ msgid "Gajim - %d unread message" +#~ msgid_plural "Gajim - %d unread messages" +#~ msgstr[0] "Gajim - %d μη αναγνωσμένο μήνυμα" +#~ msgstr[1] "Gajim - %d μη αναγνωσμένα μηνύματα" + +#~ msgid "Role: " +#~ msgstr "Ρόλος: " + +#~ msgid "Since %s" +#~ msgstr "Από τις %s" + +#~ msgid "Without a connection, you can not get your contact information." +#~ msgstr "" +#~ "Πρέπει να είστε συνδεδεμένος για να λάβετε τις πληροφορίες της επαφής σας" + +#~ msgid "" +#~ "Sound to play when any MUC message arrives. (This setting is taken into " +#~ "account only if notify_on_all_muc_messages is True)" +#~ msgstr "" +#~ "Ο ήχος που θα παιχθεί όταν ληφθεί οποιοδήποτε μήνυμα MUC. (Αυτή η ρύθμιση " +#~ "ισχύει μόνο εάν είναι ορισμένη η notify_on_all_muc_messages)" + +#~ msgid "_Join New Room..." +#~ msgstr "Σύνδεση σε _νέο δωμάτιο..." + +#, fuzzy +#~ msgid "Please modify your special notification below" +#~ msgstr "Παρακαλώ επιλέξτε ένα από τα παρακάτω:" + +#, fuzzy +#~ msgid "Telephone" +#~ msgstr "Περιγραφή" + +#~ msgid "Delete Message of the Day" +#~ msgstr "Διαγραφή Μηνύματος της Ημέρας" + +#~ msgid "I want to listen to:" +#~ msgstr "Θέλω να ακούσω:" + +#~ msgid "Send _New Message..." +#~ msgstr "_Νέο Μήνυμα..." + +#~ msgid "Set Message of the Day" +#~ msgstr "Ορισμός Μηνύματος της Ημέρας" + +#~ msgid "Update Message of the Day" +#~ msgstr "Ενημέρωση Μηνύματος της Ημέρας" + +#, fuzzy +#~ msgid "_City:" +#~ msgstr "Πόλη:" + +#, fuzzy +#~ msgid "_Company:" +#~ msgstr "Εταιρία:" + +#, fuzzy +#~ msgid "_Home page:" +#~ msgstr "Προσωπ. Σελίδα:" + +#, fuzzy +#~ msgid "_Manager:" +#~ msgstr "Διαχειριστής αρχείων:" + +#, fuzzy +#~ msgid "_Mobile:" +#~ msgstr "Μέσο:" + +#, fuzzy +#~ msgid "_Profession:" +#~ msgstr "Θέση:" + +#, fuzzy +#~ msgid "_State/Provice:" +#~ msgstr "Υπηρεσία" + +#, fuzzy +#~ msgid "_Work:" +#~ msgstr "Δουλειά" + +#~ msgid "_XML Console..." +#~ msgstr "Κονσόλα _XML..." + +#~ msgid "Use compact view when you open a chat window" +#~ msgstr "" +#~ "Να χρησιμοποιείται η συμπαγής όψη όταν ανοίγετε ένα παράθυρο κουβέντας" + +#~ msgid "Use compact view when you open a group chat window" +#~ msgstr "" +#~ "Χρήση συμπαγούς προβολής κατά το άνοιγμα παραθύρου ομαδικής κουβέντας" + +#~ msgid "%(nickname)s in room %(room_name)s has sent you a new message." +#~ msgstr "Ο/Η %(nickname)s στο δωμάτιο %(room_name)s σας έστειλε ένα μήνυμα." + +#~ msgid "%s has sent you a new message." +#~ msgstr "Ο/Η %s σας έστειλε ένα νέο μήνυμα." + +#~ msgid "Logs have been successfully migrated to the database." +#~ msgstr "Το ιστορικό έχει μεταφερθεί στη βάση δεδομένων με επιτυχία." + +#, fuzzy +#~ msgid "Start Chat with Contact" +#~ msgstr "Έναργξη Κουβέντας με χρήση του λογαριασμού %s" + +#~ msgid "All contacts in this group are offline or have errors" +#~ msgstr "" +#~ "Όλες οι επαφές σε αυτή την ομάδα είναι αποσυνδεδέμενες ή έχουν πρόβλημα" + +#~ msgid "Image" +#~ msgstr "Εικόνα" + +#~ msgid "To %s" +#~ msgstr "σε %s" + +#~ msgid "You have been invited to the %(room_jid)s room by %(contact_jid)s" +#~ msgstr "" +#~ "Έχετε προσκληθεί στο δωμάτιο %(room_jid)s από τον/την %(contact_jid)s" + +#~ msgid "_Set Image..." +#~ msgstr "_Ορισμός Εικόνας..." + +#~ msgid "Switch to %s" +#~ msgstr "Αλλαγή σε %s" + +#~ msgid "using account " +#~ msgstr "χρήση του λογαριασμού" + +#~ msgid "The filesize of image \"%s\" is too large" +#~ msgstr "Το μέγεθος αρχείου της εικόνας \"%s\" είναι πολύ μεγάλο" + +#~ msgid "The file must not be more than 32 kilobytes." +#~ msgstr "Το αρχείο δεν μπορεί να είναι πάνω από 32 kilobytes." + +#~ msgid "Timeout" +#~ msgstr "Λήξη χρονικού ορίου" + +#~ msgid "Activate/Disable notification for when a file transfer is complete" +#~ msgstr "" +#~ "Ενεργοποίηση/Απενεργοποίηση ειδοποίησης για όταν ολοκληρωθεί μια μεταφορά " +#~ "αρχείου" + +#~ msgid "Removing selected file transfer" +#~ msgstr "Αφαίρεση επιλεγμένης μεταφοράς αρχείου" + +#~ msgid "Stoping selected file transfer" +#~ msgstr "Διακόπτεται η επιλεγμένη μεταφορά αρχείου" + +#~ msgid "" +#~ "If you close this tab and you have history disabled, the message will be " +#~ "lost." +#~ msgstr "" +#~ "Εάν κλείσετε αυτή την καρτέλα και έχετε απενεργοποιημένο το ιστορικό, το " +#~ "μήνυμα θα χαθεί." + +#~ msgid "Cannot remove last group" +#~ msgstr "Η τελευταία ομάδα δεν μπορεί να αφαιρεθεί" + +#~ msgid "At least one contact group must be present." +#~ msgstr "Πρέπει να υπάρχει τουλάχιστον μια ομάδα επαφών." + +#~ msgid "" +#~ "pysqlite2 (aka python-pysqlite2) dependency is missing. After you install " +#~ "pysqlite3, if you want to migrate your logs to the new database, please " +#~ "read: http://trac.gajim.org/wiki/MigrateLogToDot9DB Exiting..." +#~ msgstr "" +#~ "Η pysqlite2 (επίσης γνωστή ως python-sqlite2) λείπει. Παρακαλώ " +#~ "εγκαταστήστε την pysqlite2" + +#~ msgid "" +#~ "Image for emoticon has to be less than or equal to 24 pixels in width and " +#~ "24 in height." +#~ msgstr "" +#~ "Η εικόνα για τα σύμβολα πρέπει να είναι μικρότερη ή ίση με 24 pixel σε " +#~ "μήκος και 24 pixel σε ύψος." + +#~ msgid "Changes in latest version" +#~ msgstr "Αλλαγές στην τελευταία έκδοση" + +#~ msgid "Check for new _version on Gajim startup" +#~ msgstr "Έλεγχος για _νέα έκδοση κατά την εκκίνηση του Gajim" + +#~ msgid "New version of Gajim available" +#~ msgstr "Μια νέα έκδοση του Gajim είναι διαθέσιμη" + +#~ msgid "Open Download Page" +#~ msgstr "Άνοιγμα Σελίδας Λήψης" + +#~ msgid "" +#~ "It is the first time you run Gajim since the way logs are stored has " +#~ "changed. Gajim can migrate your logs at this state. Migrate?" +#~ msgstr "" +#~ "Αυτή είναι η πρώτη φορά που τρέχετε το Gajim μετά την αλλαγή του τρόπου " +#~ "αποθήκευσης του ιστορικού των συζητήσεων. Το Gajim μπορεί τώρα να " +#~ "μετατρέψει το αποθηκευμένο ιστορικό. Να γίνει η μετατροπή;" + +#, fuzzy +#~ msgid "with account " +#~ msgstr "λογαριασμός: " + +#~ msgid "Chat with" +#~ msgstr "Κουβέντα με" + +#~ msgid "as %s" +#~ msgstr "ως %s" + +#~ msgid "as " +#~ msgstr "ως " + +#, fuzzy +#~ msgid "Send _New Message" +#~ msgstr "_Νέο Μήνυμα" + +#~ msgid "Re_quest Authorization from" +#~ msgstr "Aί_τηση για εξουσιοδότηση από" + +#~ msgid "Send Authorization to" +#~ msgstr "Αποστολή Εξουσιοδότησης σε" + +#~ msgid "Log presences in _contact's log file" +#~ msgstr "Αποθήκευση παρουσιών στο αρ_χείο με το ιστορικό της επαφής" + +#~ msgid "Log presences in an _external file" +#~ msgstr "Αποθήκευση παρουσιών σε _εξωτερικό αρχείο" + +#, fuzzy +#~ msgid "" +#~ "You can set advanced account options by pressing Advanced button,or later " +#~ "by clicking in Accounts menuitem under Edit menu from the main window." +#~ msgstr "" +#~ "Ο λογαριασμός προστέθηκε με επιτυχία.\n" +#~ "Μπορείτε να δείτε όλες τις ρυθμίσεις του λογαριασμού σας κάνοντας " +#~ "\"Επεξεργασία->Λογαριασμοί\" από το κεντρικό παράθυρο" + +#~ msgid "" +#~ "When a new message is received which is not from a contact already in a " +#~ "chat window, the three following actions may happen in order for you to " +#~ "be informed about it" +#~ msgstr "" +#~ "Όταν έχει ληφθεί ένα νέο μήνυμα που δεν προέρχεται από μια επαφή που " +#~ "βρίσκεται ήδη σε ένα παράθυρο κουβέντας, οι τρεις ακόλουθες ενέργειες " +#~ "μπορεί να συμβούν για να ενημερωθείτε για αυτό" + +#~ msgid "_Earliest" +#~ msgstr "_Αρχή" + +#~ msgid "%s is now %s: %s" +#~ msgstr "Ο %s είναι τώρα %s: %s" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "\n" +#~ "== Original Message ==\n" +#~ "%s" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "\n" +#~ "== Αρχικό Μήνυμα ==\n" +#~ "%s" + +#, fuzzy +#~ msgid "" +#~ "Your new account has been created successfully.\n" +#~ "You can set advanced account options by pressing Advanced button,\n" +#~ "or later by clicking in Accounts menuitem under Edit menu from the main " +#~ "window." +#~ msgstr "" +#~ "Ο λογαριασμός προστέθηκε με επιτυχία.\n" +#~ "Μπορείτε να δείτε όλες τις ρυθμίσεις του λογαριασμού σας κάνοντας " +#~ "\"Επεξεργασία->Λογαριασμοί\" από το κεντρικό παράθυρο" + +#~ msgid "" +#~ "Your new account has been created and added to your gajim configuration.\n" +#~ "You can set advanced account options using \"Edit->Accounts\" in the main " +#~ "window menu." +#~ msgstr "" +#~ "Ο νέος λογαριασμός έχει δημιουργηθεί και έχει προστεθεί στις ρυθμίσεις " +#~ "του gajim.\n" +#~ "Μπορείτε να ορίσετε προχωρημένες επιλογές από το \"Επεξεργασία-" +#~ ">Λογαριασμοί\" στο μενού στο κύριου παραθύρου." + +#~ msgid "You need to enter a valid server address to add an account." +#~ msgstr "" +#~ "Πρέπει να δώσετε μία έγκυρη διεύθυνση διακομιστή για προσθήκη νέου " +#~ "λογαριασμού." + +#~ msgid "Contact names must be of the form \"user@servername\"." +#~ msgstr "" +#~ "Τα ονόματα των επαφών πρέπει να είναι στην μορφή " +#~ "\"όνομα_χρήστη@όνομα_διακομιστή\"." + +#~ msgid "Invalid contact ID" +#~ msgstr "Μη έγκυρη ταυτότητα επαφής" + +#~ msgid "Contact ID must be of the form \"username@servername\"." +#~ msgstr "" +#~ "Η ταυτότητα επαφής πρέπει να είναι στην μορφή " +#~ "\"όνομα_χρήστη@όνομα_διακομιστή\"." + +#~ msgid "The account \"%s\" has been registered with the Jabber server." +#~ msgstr "Ο λογαριασμός \"%s\" καταχωρήθηκε στον Jabber διακομιστή" + +#~ msgid "theme_name" +#~ msgstr "όνομα_θέματος" + +#~ msgid "Edit" +#~ msgstr "Επεξεργασία" + +#~ msgid "Check if you want to register for a new jabber account" +#~ msgstr "Επιλέξτε εάν επιθυμείτε να καταχωρήσετε νέο jabber λογαριασμό" + +#~ msgid "Click to get contact's extended information" +#~ msgstr "Πατήστε για να έχετε περισσότερες πληροφορίες για αυτή την επαφή" + +#~ msgid "_Compact View" +#~ msgstr "_Συμπαγής Όψη" + +#~ msgid "_Refresh" +#~ msgstr "_Ανανέωση" + +#~ msgid "You just received a new message in room \"%s\"" +#~ msgstr "Μόλις λάβατε ένα νέο μήνυμα στο δωμάτιο \"%s\"" + +#~ msgid "" +#~ "If you close this window and you have history disabled, this message will " +#~ "be lost." +#~ msgstr "" +#~ "Εάν κλείσετε αυτό το παράθυρο και έχετε απενεργοποιημένο το ιστορικό, " +#~ "αυτό το μήνυμα θα χαθεί." + +#~ msgid "New _Room" +#~ msgstr "Νέο _Δωμάτιο" + +#~ msgid "" +#~ "If checked, all chat and group chat windows will have the information " +#~ "area in the top and the buttons area in the bottom hidden. You can quick " +#~ "toggle compact view with Alt+C. NOTE: The last state you leave a window/" +#~ "tab is not a permanent one" +#~ msgstr "" +#~ "Εάν ενεργοποιηθεί, όλα τα παράθυρα κουβέντας και ομαδικής κουβέντας θα " +#~ "έχουν κρυμμένες την περιοχή κουμπιών στο κάτω μέρος και την περιοχή " +#~ "πληροφοριών στο πάνω μέρος. Μπορείτε να εναλλάσετε σε συμπαγή όψη με το " +#~ "Alt+C. ΣΗΜΕΙΩΣΗ: Η τελευταία κατάσταση στην οποία αφήνετε ένα παράθυρο/" +#~ "καρτέλα δεν είναι μόνιμη" + +#, fuzzy +#~ msgid "Inactivate account" +#~ msgstr "Δεν έχετε κανέναν ενεργό λογαριασμό" + +#, fuzzy +#~ msgid "Po_sition:" +#~ msgstr "Θέση:" + +#~ msgid "_Service Discovery" +#~ msgstr "Ανακάλυψη _Υπηρεσιών" + +#~ msgid "_Service Discovery..." +#~ msgstr "Ανακάλυψη _Υπηρεσιών..." + +#~ msgid "error appeared while processing xmpp:" +#~ msgstr "σφάλμα κατά την επεξεργασία xmpp:" + +#~ msgid "" +#~ "Cancels the selected file transfer. If there is an incomplete file, kept " +#~ "in the file system it will be removed. This operation is not reversable" +#~ msgstr "" +#~ "Σταματάει την επιλεγμένη μεταφορά αρχείου. Αν το αρχείο είναι ημιτελές, " +#~ "τότε αφαιρείται. Αυτή η ενέργεια είναι μη αναστρέψιμη" + +#~ msgid "Chan_ge" +#~ msgstr "Α_λλαγή" diff --git a/po/en_GB.po b/po/en_GB.po new file mode 100644 index 0000000..2689ca0 --- /dev/null +++ b/po/en_GB.po @@ -0,0 +1,16797 @@ +# English translations for Gajim - A Jabber Instant Messager package. +# Copyright (C) 2006 THE Gajim - A Jabber Instant Messager'S COPYRIGHT HOLDER +# This file is distributed under the same license as the Gajim - A Jabber Instant Messager package. +# +# Jeff Bailes , 2006, 2009. +msgid "" +msgstr "" +"Project-Id-Version: Gajim - A Jabber Instant Messager 0.13\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-01 17:44+0100\n" +"PO-Revision-Date: 2009-11-20 20:49+1100\n" +"Last-Translator: Jeff Bailes \n" +"Language-Team: English \n" +"Language: en\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: gajim/history_manager.py:78 +#, fuzzy +msgid "Usage:" +msgstr "message" + +#: gajim/history_manager.py:80 +#, fuzzy +msgid "Options:" +msgstr "_Emoticons:" + +#: gajim/history_manager.py:82 +msgid "Show this help message and exit" +msgstr "" + +#: gajim/history_manager.py:83 +msgid "Choose folder for logfile" +msgstr "" + +#: gajim/history_manager.py:113 +msgid "Cannot find history logs database" +msgstr "Cannot find history logs database" + +#: gajim/history_manager.py:114 +#, fuzzy, python-format +msgid "%s does not exist." +msgstr "File does not exist" + +#: gajim/history_manager.py:147 gajim/history_manager.py:201 +#: gajim/gtk/add_contact.py:31 gajim/gtk/discovery.py:833 +#: gajim/gtk/accounts.py:892 gajim/data/gui/vcard_information_window.ui:55 +#: gajim/data/gui/bookmarks.ui:45 gajim/data/gui/blocking_list.ui:43 +#: gajim/data/gui/mam_preferences.ui:117 +#, fuzzy +msgid "XMPP Address" +msgstr "AIM Address:" + +#: gajim/history_manager.py:160 gajim/history_manager.py:208 +#: gajim/gtk/history.py:108 gajim/data/gui/history_window.ui:89 +msgid "Date" +msgstr "Date" + +#: gajim/history_manager.py:167 gajim/history_manager.py:231 +#: gajim/data/gui/profile.ui:232 gajim/data/gui/vcard_information_window.ui:442 +#: gajim/data/gui/bookmarks.ui:84 +msgid "Nickname" +msgstr "Nickname" + +#: gajim/history_manager.py:178 gajim/history_manager.py:217 +#: gajim/gtk/history.py:117 gajim/data/gui/single_message_window.ui:266 +msgid "Message" +msgstr "Message" + +#: gajim/history_manager.py:186 gajim/history_manager.py:224 +#: gajim/data/gui/groups_post_window.ui:49 +#: gajim/data/gui/single_message_window.ui:205 +msgid "Subject" +msgstr "Subject" + +#: gajim/history_manager.py:254 +#, fuzzy +msgid "Database Cleanup" +msgstr "Database Error" + +#: gajim/history_manager.py:255 +#, fuzzy +msgid "Clean up the database?" +msgstr "creating logs database" + +#: gajim/history_manager.py:256 +#, fuzzy +msgid "" +"This is STRONGLY NOT RECOMMENDED IF GAJIM IS RUNNING.\n" +"Normally, the allocated database size will not be freed, it will just become " +"reusable. This operation may take a while." +msgstr "" +"Normally allocated database size will not be freed, it will just become " +"reusable. If you really want to reduce database filesize, click YES, " +"otherwise click NO.\n" +"\n" +"In case you click YES, please wait..." + +#: gajim/history_manager.py:262 +#, fuzzy +msgid "_Cleanup" +msgstr "Clean _up" + +#: gajim/history_manager.py:527 gajim/gtk/filetransfer.py:238 +#: gajim/gtk/filetransfer.py:248 +msgid "You" +msgstr "You" + +#: gajim/history_manager.py:539 +#, python-format +msgid "%(who)s on %(time)s said: %(message)s\n" +msgstr "%(who)s on %(time)s said: %(message)s\n" + +#: gajim/history_manager.py:576 gajim/history_manager.py:615 +#: gajim/gtk/themes.py:362 gajim/gtk/roster_item_exchange.py:75 +#: gajim/gtk/roster_item_exchange.py:185 +msgid "Delete" +msgstr "Delete" + +#: gajim/history_manager.py:577 +#, fuzzy +msgid "Delete Conversation" +msgid_plural "Delete Conversations" +msgstr[0] "Cancel confirmation" +msgstr[1] "Cancel confirmation" + +#: gajim/history_manager.py:578 +#, fuzzy, python-format +msgid "Do you want to permanently delete this conversation with %s?" +msgid_plural "Do you want to permanently delete these conversations?" +msgstr[0] "Do you really want to delete the selected message?" +msgstr[1] "Do you really want to delete the selected message?" + +#: gajim/history_manager.py:616 +#, fuzzy +msgid "Delete Message" +msgid_plural "Delete Messages" +msgstr[0] "Default Message" +msgstr[1] "Default Message" + +#: gajim/history_manager.py:617 +#, fuzzy +msgid "Do you want to permanently delete this message?" +msgid_plural "Do you want to permanently delete these messages?" +msgstr[0] "Do you really want to delete the selected message?" +msgstr[1] "Do you really want to delete the selected messages?" + +#: gajim/roster_window.py:268 gajim/roster_window.py:991 +msgid "Merged accounts" +msgstr "Merged accounts" + +#: gajim/roster_window.py:756 gajim/roster_window.py:1667 +#: gajim/roster_window.py:1669 gajim/roster_window.py:1986 +#: gajim/roster_window.py:3065 gajim/roster_window.py:3098 +#: gajim/roster_window.py:4026 gajim/gui_interface.py:338 +#: gajim/gui_menu_builder.py:254 gajim/gui_menu_builder.py:345 +#: gajim/chat_control.py:291 gajim/chat_control.py:421 +#: gajim/gtk/add_contact.py:320 gajim/gtk/roster_item_exchange.py:112 +#: gajim/gtk/subscription_request.py:77 gajim/gtk/subscription_request.py:126 +#: gajim/common/helpers.py:89 gajim/common/helpers.py:207 +#: gajim/common/contacts.py:243 gajim/common/contacts.py:382 +#: gajim/common/contacts.py:493 +#, fuzzy +msgid "Not in contact list" +msgstr "Show _Offline Contacts" + +#: gajim/roster_window.py:823 gajim/roster_window.py:1579 +#: gajim/roster_window.py:1612 gajim/roster_window.py:1663 +#: gajim/roster_window.py:1665 gajim/roster_window.py:1820 +#: gajim/roster_window.py:2378 gajim/roster_window.py:3990 +#: gajim/roster_window.py:4638 gajim/gtk/discovery.py:127 +#: gajim/gtk/discovery.py:128 gajim/gtk/discovery.py:1419 +#: gajim/common/helpers.py:88 gajim/common/contacts.py:225 +#: gajim/common/contacts.py:485 +msgid "Transports" +msgstr "Transports" + +#: gajim/roster_window.py:1671 gajim/roster_window.py:1673 +#: gajim/roster_window.py:3990 gajim/roster_window.py:4603 +#: gajim/gui_interface.py:1425 gajim/common/helpers.py:91 +#: gajim/common/contacts.py:223 +#, fuzzy +msgid "Group chats" +msgstr "Groupchats" + +#: gajim/roster_window.py:1901 gajim/chat_control.py:1688 +msgid "Remote contact stopped transfer" +msgstr "Remote contact stopped transfer" + +#: gajim/roster_window.py:1903 gajim/chat_control.py:1690 +msgid "Error opening file" +msgstr "Error opening file" + +#: gajim/roster_window.py:1968 +#, fuzzy +msgid "Authorization sent" +msgstr "Authorisation has been sent" + +#: gajim/roster_window.py:1969 +#, fuzzy, python-format +msgid "\"%s\" will now see your status." +msgstr "Now \"%s\" will know your status." + +#: gajim/roster_window.py:1987 +msgid "Subscription request has been sent" +msgstr "Subscription request has been sent" + +#: gajim/roster_window.py:1988 +#, fuzzy, python-format +msgid "If \"%s\" accepts this request you will know their status." +msgstr "If \"%s\" accepts this request you will know his or her status." + +#: gajim/roster_window.py:2002 +#, fuzzy +msgid "Authorization removed" +msgstr "Authorisation has been removed" + +#: gajim/roster_window.py:2003 +#, python-format +msgid "Now \"%s\" will always see you as offline." +msgstr "Now \"%s\" will always see you as offline." + +#: gajim/roster_window.py:2198 gajim/data/gui/shortcuts_window.ui:66 +#, fuzzy +msgid "Quit Gajim" +msgstr "Gajim" + +#: gajim/roster_window.py:2199 +#, fuzzy +msgid "You are about to quit Gajim" +msgstr "Are you sure you want to quit Gajim?" + +#: gajim/roster_window.py:2200 +msgid "Are you sure you want to quit Gajim?" +msgstr "Are you sure you want to quit Gajim?" + +#: gajim/roster_window.py:2201 +#, fuzzy +msgid "_Always quit when closing Gajim" +msgstr "Always close Gajim" + +#: gajim/roster_window.py:2204 gajim/roster_window.py:2299 +#: gajim/roster_window.py:2340 gajim/data/gui/application_menu.ui:30 +#: gajim/data/gui/systray_context_menu.ui:83 +#, fuzzy +msgid "_Quit" +msgstr "_Quit" + +#: gajim/roster_window.py:2292 +#, fuzzy +msgid "Stop File Transfers" +msgstr "File Transfers" + +#: gajim/roster_window.py:2293 +#, fuzzy +msgid "You still have running file transfers" +msgstr "Cancel file transfer" + +#: gajim/roster_window.py:2294 +msgid "" +"If you quit now, the file(s) being transferred will be lost.\n" +"Do you still want to quit?" +msgstr "" + +#: gajim/roster_window.py:2333 +#, fuzzy +msgid "Unread Messages" +msgstr "Unread events" + +#: gajim/roster_window.py:2334 +#, fuzzy +msgid "You still have unread messages" +msgstr "You have unread messages" + +#: gajim/roster_window.py:2335 +#, fuzzy +msgid "" +"Messages will only be available for reading them later if storing chat " +"history is enabled and if the contact is in your contact list." +msgstr "" +"Messages will only be available for reading them later if you have history " +"enabled and contact is in your roster." + +#: gajim/roster_window.py:2590 +msgid "You have unread messages" +msgstr "You have unread messages" + +#: gajim/roster_window.py:2591 +msgid "You must read them before removing this transport." +msgstr "You must read them before removing this transport." + +#: gajim/roster_window.py:2594 +#, fuzzy, python-format +msgid "Transport '%s' will be removed" +msgstr "Transport \"%s\" will be removed" + +#: gajim/roster_window.py:2595 +#, fuzzy +msgid "" +"You will no longer be able to send and receive messages from and to contacts " +"using this transport." +msgstr "" +"You will no longer be able to send and receive messages from contacts using " +"this transport." + +#: gajim/roster_window.py:2598 +msgid "Transports will be removed" +msgstr "Transports will be removed" + +#: gajim/roster_window.py:2603 +#, fuzzy, python-format +msgid "" +"You will no longer be able to send and receive messages from and to contacts " +"using these transports:\n" +"%s" +msgstr "" +"You will no longer be able to send and receive messages from contacts using " +"this transport." + +#: gajim/roster_window.py:2607 +#, fuzzy +msgid "Remove Transport" +msgstr "Show Trans_ports" + +#: gajim/roster_window.py:2662 gajim/chat_control.py:428 +#, fuzzy +msgid "Block Contact" +msgstr "Blocked Contacts" + +#: gajim/roster_window.py:2663 gajim/chat_control.py:429 +#, fuzzy +msgid "Really block this contact?" +msgstr "Is OpenPGP enabled for this contact?" + +#: gajim/roster_window.py:2664 gajim/chat_control.py:430 +#, fuzzy +msgid "" +"You will appear offline for this contact and you will not receive further " +"messages." +msgstr "JID of the contact that will receive the message" + +#: gajim/roster_window.py:2666 +#, fuzzy +msgid "_Do not ask again" +msgstr "Do _not ask me again" + +#: gajim/roster_window.py:2669 gajim/chat_control.py:434 +#, fuzzy +msgid "_Report Spam" +msgstr "_Report Bug" + +#: gajim/roster_window.py:2673 gajim/roster_window.py:4778 +#: gajim/gui_menu_builder.py:485 gajim/chat_control.py:438 +#: gajim/data/gui/contact_context_menu.ui:151 +msgid "_Block" +msgstr "_Block" + +#: gajim/roster_window.py:2706 +msgid "Rename Contact" +msgstr "Rename Contact" + +#: gajim/roster_window.py:2707 +#, fuzzy, python-format +msgid "Rename contact %s?" +msgstr "Rename Contact" + +#: gajim/roster_window.py:2708 +#, fuzzy +msgid "Please enter a new nickname" +msgstr "A_fter nickname:" + +#: gajim/roster_window.py:2712 gajim/roster_window.py:3439 +#: gajim/roster_window.py:4679 gajim/dialogs.py:103 gajim/dialogs.py:116 +#: gajim/gtk/accounts.py:308 gajim/common/contacts.py:178 +#: gajim/common/contacts.py:227 gajim/data/gui/shortcuts_window.ui:12 +#: gajim/data/gui/preferences.ui:96 +msgid "General" +msgstr "General" + +#: gajim/roster_window.py:2715 +msgid "Rename Group" +msgstr "Rename Group" + +#: gajim/roster_window.py:2716 +#, fuzzy, python-format +msgid "Rename group %s?" +msgstr "Rename Group" + +#: gajim/roster_window.py:2717 +#, fuzzy +msgid "Please enter a new name" +msgstr "Please create a clean new theme with your desired name." + +#: gajim/roster_window.py:2747 gajim/roster_window.py:2869 +#: gajim/data/gui/groupchat_control.ui:1859 +#, fuzzy +msgid "_Rename" +msgstr "Re_name" + +#: gajim/roster_window.py:2769 gajim/roster_window.py:2770 +msgid "Remove Group" +msgstr "Remove Group" + +#: gajim/roster_window.py:2771 +#, fuzzy, python-format +msgid "Do you want to remove %s from the contact list?" +msgstr "Do you want to remove group %s from the roster?" + +#: gajim/roster_window.py:2772 +#, fuzzy +msgid "_Also remove all contacts of this group from contact list" +msgstr "Also remove all contacts in this group from your roster" + +#: gajim/roster_window.py:2864 gajim/roster_window.py:2865 +#, fuzzy +msgid "Rename Group Chat" +msgstr "Leave Groupchats" + +#: gajim/roster_window.py:2866 +#, fuzzy +msgid "Please enter a new name for this group chat" +msgstr "Please type a new username for your local account" + +#: gajim/roster_window.py:3082 +#, fuzzy +msgid "Remove Contact" +msgstr "Rename Contact" + +#: gajim/roster_window.py:3083 +#, fuzzy +msgid "Remove contact from contact list" +msgstr "Removes contact from roster" + +#: gajim/roster_window.py:3084 +#, fuzzy, python-format +msgid "You are about to remove %(name)s (%(jid)s) from your contact list.\n" +msgstr "You are about to remove \"%(name)s\" (%(jid)s) from your roster.\n" + +#: gajim/roster_window.py:3093 gajim/roster_window.py:3113 +#, fuzzy +msgid "" +"By removing this contact you also remove authorization. This means the " +"contact will see you as offline." +msgstr "" +"By removing these contacts:%s\n" +"you also remove authorisation resulting in them always seeing you as offline." + +#: gajim/roster_window.py:3104 +msgid "Do you want to continue?" +msgstr "Do you want to continue?" + +#: gajim/roster_window.py:3115 +#, fuzzy +msgid "_I want this contact to know my status after removal" +msgstr "I want this contact to know my status after removal" + +#: gajim/roster_window.py:3122 +#, fuzzy +msgid "Remove contacts from contact list" +msgstr "Removes contact from roster" + +#: gajim/roster_window.py:3128 +#, fuzzy, python-format +msgid "" +"By removing the following contacts, you will also remove authorization. This " +"means they will see you as offline:\n" +"\n" +"%s" +msgstr "" +"By removing these contacts:%s\n" +"you also remove authorisation resulting in them always seeing you as offline." + +#: gajim/roster_window.py:3132 +#, fuzzy +msgid "Remove Contacts" +msgstr "Rename Contact" + +#: gajim/roster_window.py:3761 +#, fuzzy +msgid "You are about to create a metacontact" +msgstr "" +"You are about to create a metacontact. Are you sure you want to continue?" + +#: gajim/roster_window.py:3762 +#, fuzzy +msgid "" +"Metacontacts are a way to regroup several contacts in one single contact. " +"Generally it is used when the same person has several XMPP- or Transport-" +"Accounts." +msgstr "" +"Metacontacts are a way to regroup several contacts in one line. Generally it " +"is used when the same person has several Jabber accounts or transport " +"accounts." + +#: gajim/roster_window.py:3766 +#, fuzzy +msgid "Create Metacontact" +msgstr "Rename Contact" + +#: gajim/roster_window.py:3769 gajim/chat_control_base.py:771 +#: gajim/groupchat_control.py:1676 gajim/message_window.py:368 +#, fuzzy +msgid "_Do not ask me again" +msgstr "Do _not ask me again" + +#: gajim/roster_window.py:3772 gajim/data/gui/groupchat_creation.ui:317 +#, fuzzy +msgid "_Create" +msgstr "Creative" + +#: gajim/roster_window.py:3889 +msgid "Invalid file URI:" +msgstr "Invalid file URI:" + +#: gajim/roster_window.py:3901 +#, fuzzy, python-format +msgid "Send this file to %s:\n" +msgid_plural "Send these files to %s:\n" +msgstr[0] "Do you want to send this file to %s:" +msgstr[1] "Do you want to send these files to %s:" + +#: gajim/roster_window.py:3909 gajim/roster_window.py:3910 +#: gajim/chat_control.py:1541 gajim/gtk/filetransfer_progress.py:36 +#, fuzzy +msgid "File Transfer" +msgstr "File Transfers" + +#: gajim/roster_window.py:3914 gajim/data/gui/xml_console.ui:334 +msgid "_Send" +msgstr "_Send" + +#: gajim/roster_window.py:4067 +#, fuzzy, python-format +msgid "Send %(from)s to %(to)s" +msgstr "Send %s to %s" + +#: gajim/roster_window.py:4080 +#, fuzzy, python-format +msgid "Make %s first contact" +msgstr "Make %s and %s metacontacts" + +#: gajim/roster_window.py:4085 +#, fuzzy, python-format +msgid "Make %(contact1)s and %(contact2)s metacontacts" +msgstr "Make %s and %s metacontacts" + +#: gajim/roster_window.py:4436 gajim/roster_window.py:4523 +#: gajim/gtk/status_selector.py:76 +msgid "_Change Status Message" +msgstr "_Change Status Message" + +#: gajim/roster_window.py:4456 +msgid "Publish Tune" +msgstr "Publish Tune" + +#: gajim/roster_window.py:4467 +#, fuzzy +msgid "Publish Location" +msgstr "Publish Tune" + +#: gajim/roster_window.py:4606 +msgid "_Maximize All" +msgstr "_Maximise All" + +#: gajim/roster_window.py:4615 gajim/roster_window.py:4743 +msgid "Send Group M_essage" +msgstr "Send Group M_essage" + +#: gajim/roster_window.py:4622 +msgid "To all users" +msgstr "To all users" + +#: gajim/roster_window.py:4626 +msgid "To all online users" +msgstr "To all online users" + +#: gajim/roster_window.py:4637 gajim/roster_window.py:4749 +#: gajim/data/gui/contact_context_menu.ui:36 +msgid "In_vite to" +msgstr "In_vite to" + +#: gajim/roster_window.py:4663 gajim/gui_menu_builder.py:471 +#, fuzzy +msgid "_Rename…" +msgstr "_Rename" + +#: gajim/roster_window.py:4669 gajim/gui_menu_builder.py:493 +#: gajim/data/gui/contact_context_menu.ui:181 +msgid "Remo_ve" +msgstr "Remo_ve" + +#: gajim/roster_window.py:4759 +msgid "_Manage Contacts" +msgstr "_Manage Contacts" + +#: gajim/roster_window.py:4765 +#, fuzzy +msgid "Edit _Groups…" +msgstr "Edit _Groups" + +#: gajim/roster_window.py:4774 gajim/gui_menu_builder.py:482 +#: gajim/data/gui/contact_context_menu.ui:143 +msgid "_Unblock" +msgstr "_Unblock" + +#: gajim/roster_window.py:4786 gajim/gtk/dialogs.py:70 +#: gajim/data/gui/filetransfers.ui:12 +msgid "_Remove" +msgstr "_Remove" + +#: gajim/roster_window.py:4823 +msgid "_Maximize" +msgstr "_Maximise" + +#: gajim/roster_window.py:4828 +#, fuzzy +msgid "Re_name" +msgstr "Re_name" + +#: gajim/roster_window.py:4836 gajim/groupchat_control.py:1680 +msgid "_Leave" +msgstr "" + +#: gajim/roster_window.py:4844 +#, fuzzy +msgid "Execute command" +msgstr "_Execute Command" + +#: gajim/roster_window.py:4852 gajim/data/gui/application_menu.ui:68 +#: gajim/data/gui/contact_context_menu.ui:205 +msgid "_History" +msgstr "_History" + +#: gajim/roster_window.py:4945 gajim/gui_interface.py:339 +#: gajim/common/helpers.py:90 gajim/common/contacts.py:221 +msgid "Observers" +msgstr "Observers" + +#: gajim/roster_window.py:4948 +msgid "Observers can see your status, but you are not allowed to see theirs" +msgstr "" + +#: gajim/privatechat_control.py:105 gajim/groupchat_control.py:1225 +#, python-format +msgid "You are now known as %s" +msgstr "You are now known as %s" + +#: gajim/privatechat_control.py:107 gajim/groupchat_control.py:1227 +#, fuzzy, python-brace-format +msgid "{nick} is now known as {new_nick}" +msgstr "%(nick)s is now known as %(new_nick)s" + +#: gajim/privatechat_control.py:138 gajim/groupchat_control.py:1254 +#, fuzzy, python-brace-format +msgid "You are now {show}{status}" +msgstr "You are now known as %s" + +#: gajim/privatechat_control.py:142 gajim/groupchat_control.py:1258 +#, fuzzy, python-brace-format +msgid "{nick} is now {show}{status}" +msgstr "%(nick)s is now %(status)s" + +#: gajim/privatechat_control.py:199 +msgid "Sending private message failed" +msgstr "Sending private message failed" + +#: gajim/privatechat_control.py:201 +#, python-format +msgid "You are no longer in group chat \"%(room)s\" or \"%(nick)s\" has left." +msgstr "You are no longer in group chat \"%(room)s\" or \"%(nick)s\" has left." + +#: gajim/application.py:81 +#, fuzzy +msgid "Show the application's version" +msgstr "Use t_rayicon (aka. notification area icon)" + +#: gajim/application.py:88 +#, fuzzy +msgid "Show only critical errors" +msgstr "Show only in _roster" + +#: gajim/application.py:95 +msgid "Separate profile files completely (even history database and plugins)" +msgstr "" + +#: gajim/application.py:103 +msgid "Print XML stanzas and other debug information" +msgstr "" + +#: gajim/application.py:110 +#, fuzzy +msgid "Use defined profile in configuration directory" +msgstr "Advanced Configuration Editor" + +#: gajim/application.py:118 +#, fuzzy +msgid "Set configuration directory" +msgstr "Room Configuration" + +#: gajim/application.py:126 +msgid "Configure logging system" +msgstr "" + +#: gajim/application.py:134 +#, fuzzy +msgid "Show all warnings" +msgstr "Show All Pending _Events" + +#: gajim/application.py:141 +msgid "Open IPython shell" +msgstr "" + +#: gajim/application.py:148 +msgid "Pops up a window with the next pending event" +msgstr "Pops up a window with the next pending event" + +#: gajim/application.py:154 gajim/data/gui/shortcuts_window.ui:17 +#: data/org.gajim.Gajim.desktop.in:21 +#, fuzzy +msgid "Start a new chat" +msgstr "Start Chat" + +#: gajim/application.py:205 gajim/gui_interface.py:131 +msgid "Database Error" +msgstr "Database Error" + +#: gajim/gui_interface.py:168 +#, fuzzy, python-format +msgid "HTTP (%(method)s) Authorization for %(url)s (ID: %(id)s)" +msgstr "HTTP (%(method)s) Authorisation for %(url)s (id: %(id)s)" + +#: gajim/gui_interface.py:173 +msgid "Do you accept this request?" +msgstr "Do you accept this request?" + +#: gajim/gui_interface.py:175 +#, fuzzy, python-format +msgid "Do you accept this request (account: %s)?" +msgstr "Do you accept this request on account %s?" + +#: gajim/gui_interface.py:181 +#, fuzzy +msgid "Authorization Request" +msgstr "Authorisation has been sent" + +#: gajim/gui_interface.py:182 +#, fuzzy +msgid "HTTP Authorization Request" +msgstr "Authorisation has been sent" + +#: gajim/gui_interface.py:185 gajim/gui_interface.py:376 +#: gajim/gui_interface.py:2002 gajim/gtk/filetransfer.py:339 +#, fuzzy +msgid "_No" +msgstr "None" + +#: gajim/gui_interface.py:203 gajim/gtk/notification.py:189 +#: gajim/gtk/notification.py:216 +msgid "Connection Failed" +msgstr "Connection Failed" + +#: gajim/gui_interface.py:299 +#, python-format +msgid "error while sending %(message)s ( %(error)s )" +msgstr "error while sending %(message)s ( %(error)s )" + +#: gajim/gui_interface.py:324 gajim/gtk/notification.py:189 +msgid "Subscription request" +msgstr "Subscription request" + +#: gajim/gui_interface.py:359 +msgid "Authorization accepted" +msgstr "Authorisation accepted" + +#: gajim/gui_interface.py:360 +#, fuzzy, python-format +msgid "The contact \"%(jid)s\" has authorized you to see their status." +msgstr "The contact \"%s\" has authorised you to see his or her status." + +#: gajim/gui_interface.py:370 +#, fuzzy +msgid "Subscription Removed" +msgstr "Subscription Request" + +#: gajim/gui_interface.py:371 +#, fuzzy, python-format +msgid "%(name)s (%(jid)s) has removed subscription from you" +msgstr "Contact \"%s\" removed subscription from you" + +#: gajim/gui_interface.py:373 +#, fuzzy +msgid "" +"You will always see this contact as offline.\n" +"Do you want to remove them from your contact list?" +msgstr "" +"You will always see him or her as offline.\n" +"Do you want to remove him or her from your contact list?" + +#: gajim/gui_interface.py:398 gajim/gtk/notification.py:190 +msgid "Unsubscribed" +msgstr "Unsubscribed" + +#: gajim/gui_interface.py:410 +#, python-format +msgid "%(jid)s declined the invitation: %(reason)s" +msgstr "" + +#: gajim/gui_interface.py:414 +#, python-format +msgid "%(jid)s declined the invitation" +msgstr "" + +#: gajim/gui_interface.py:431 gajim/chat_control.py:1606 +#: gajim/gtk/notification.py:188 gajim/gtk/notification.py:214 +#: gajim/gtk/notification.py:286 gajim/gtk/groupchat_invitation.py:33 +#, fuzzy +msgid "Group Chat Invitation" +msgstr "Groupchat Invitation" + +#: gajim/gui_interface.py:432 +#, fuzzy, python-format +msgid "%(contact)s invited you to %(chat)s" +msgstr "$Contact has invited you to group chat %(room_jid)s" + +#: gajim/gui_interface.py:453 +#, fuzzy +msgid "Certificate Passphrase Required" +msgstr "Certificate has expired" + +#: gajim/gui_interface.py:454 +#, fuzzy, python-format +msgid "Enter the certificate passphrase for account %s" +msgstr "Enter GPG key passphrase for key %(keyid)s (account %(account)s)." + +#: gajim/gui_interface.py:463 +#, python-format +msgid "Enter your password for account %s" +msgstr "Enter your password for account %s" + +#: gajim/gui_interface.py:475 +msgid "Password Required" +msgstr "Password Required" + +#: gajim/gui_interface.py:475 +msgid "Save password" +msgstr "Save password" + +#: gajim/gui_interface.py:544 gajim/gui_interface.py:575 +#: gajim/gtk/notification.py:187 gajim/gtk/notification.py:279 +#: gajim/gtk/filetransfer.py:333 gajim/gtk/filetransfer.py:334 +msgid "File Transfer Error" +msgstr "File Transfer Error" + +#: gajim/gui_interface.py:609 +#, python-format +msgid "%s wants to send you a file." +msgstr "%s wants to send you a file." + +#: gajim/gui_interface.py:611 gajim/gtk/notification.py:186 +#: gajim/gtk/notification.py:276 gajim/gtk/filetransfer.py:485 +msgid "File Transfer Request" +msgstr "File Transfer Request" + +#: gajim/gui_interface.py:714 +#, fuzzy +msgid "Remote Contact Stopped Transfer" +msgstr "Remote contact stopped transfer" + +#: gajim/gui_interface.py:719 +#, fuzzy +msgid "Error Opening File" +msgstr "Error opening file" + +#: gajim/gui_interface.py:729 +#, fuzzy +msgid "SSL Certificate Error" +msgstr "SSL certificate error" + +#: gajim/gui_interface.py:738 gajim/gui_interface.py:768 +#: gajim/gui_interface.py:794 gajim/chat_control.py:1573 +#: gajim/gtk/notification.py:187 gajim/gtk/notification.py:282 +msgid "File Transfer Completed" +msgstr "File Transfer Completed" + +#: gajim/gui_interface.py:742 gajim/gui_interface.py:773 +#: gajim/gui_interface.py:800 gajim/gtk/notification.py:188 +#: gajim/gtk/notification.py:283 +msgid "File Transfer Stopped" +msgstr "File Transfer Stopped" + +#: gajim/gui_interface.py:746 +#, fuzzy +msgid "File Transfer Failed" +msgstr "File Transfers" + +#: gajim/gui_interface.py:769 +#, fuzzy, python-format +msgid "%(filename)s received from %(name)s." +msgstr "File transfer of %(filename)s from %(name)s stopped." + +#: gajim/gui_interface.py:774 +#, python-format +msgid "File transfer of %(filename)s from %(name)s stopped." +msgstr "File transfer of %(filename)s from %(name)s stopped." + +#: gajim/gui_interface.py:780 +#, fuzzy, python-format +msgid "File transfer of %(filename)s from %(name)s failed." +msgstr "File transfer of %(filename)s from %(name)s stopped." + +#: gajim/gui_interface.py:795 +#, python-format +msgid "You successfully sent %(filename)s to %(name)s." +msgstr "You successfully sent %(filename)s to %(name)s." + +#: gajim/gui_interface.py:801 +#, python-format +msgid "File transfer of %(filename)s to %(name)s stopped." +msgstr "File transfer of %(filename)s to %(name)s stopped." + +#: gajim/gui_interface.py:807 +#, fuzzy, python-format +msgid "File transfer of %(filename)s to %(name)s failed." +msgstr "File transfer of %(filename)s to %(name)s stopped." + +#: gajim/gui_interface.py:919 gajim/gui_interface.py:920 +msgid "Username Conflict" +msgstr "Username Conflict" + +#: gajim/gui_interface.py:921 +#, fuzzy +msgid "Please enter a new username for your local account" +msgstr "Please type a new username for your local account" + +#: gajim/gui_interface.py:925 gajim/gtk/dialogs.py:51 +#: gajim/data/gui/passphrase_dialog.ui:44 +msgid "_OK" +msgstr "_OK" + +#: gajim/gui_interface.py:988 gajim/chat_control.py:763 +#: gajim/chat_control.py:1660 gajim/gtk/notification.py:190 +#, fuzzy +msgid "Incoming Call" +msgstr "_Incoming message:" + +#: gajim/gui_interface.py:990 +#, python-format +msgid "%s is calling" +msgstr "" + +#: gajim/gui_interface.py:1071 gajim/gui_interface.py:1072 +#, fuzzy +msgid "Insecure Connection" +msgstr "Insecure connection" + +#: gajim/gui_interface.py:1073 +#, fuzzy, python-format +msgid "" +"You are about to connect to the account %(account)s (%(server)s) using an " +"insecure connection method. This means conversations will not be encrypted. " +"Connecting PLAIN is strongly discouraged." +msgstr "" +"You are about to send your password on an insecure connection. You should " +"install PyOpenSSL to prevent that. Are you sure you want to do that?" + +#: gajim/gui_interface.py:1080 gajim/data/gui/groupchat_control.ui:595 +msgid "_Abort" +msgstr "" + +#: gajim/gui_interface.py:1083 +#, fuzzy +msgid "_Connect Anyway" +msgstr "Connecting" + +#: gajim/gui_interface.py:1921 +msgid "Gajim: IPython Console" +msgstr "" + +#: gajim/gui_interface.py:1998 +#, fuzzy +msgid "Update Check" +msgstr "Spell Checker" + +#: gajim/gui_interface.py:1999 +msgid "Gajim Update Check" +msgstr "" + +#: gajim/gui_interface.py:2000 +msgid "Search for Gajim updates periodically?" +msgstr "" + +#: gajim/gui_interface.py:2005 +msgid "_Search Periodically" +msgstr "" + +#: gajim/gui_interface.py:2045 +#, fuzzy +msgid "Update Available" +msgstr "Not Available" + +#: gajim/gui_interface.py:2046 +#, fuzzy +msgid "Gajim Update Available" +msgstr "Not Available" + +#: gajim/gui_interface.py:2047 +#, python-format +msgid "There is an update available for Gajim (latest version: %s)" +msgstr "" + +#: gajim/gui_interface.py:2049 +#, fuzzy +msgid "_Do not show again" +msgstr "Do _not ask me again" + +#: gajim/gui_interface.py:2051 gajim/gtk/accounts.py:126 +msgid "_Later" +msgstr "" + +#: gajim/gui_interface.py:2054 +msgid "_Update Now" +msgstr "" + +#: gajim/gui_menu_builder.py:358 +#, fuzzy +msgid "I would like to add you to my contact list" +msgstr "I would like to add you to my contact list." + +#: gajim/gui_menu_builder.py:435 +#, fuzzy +msgid "Send Single _Message…" +msgstr "Send Single _Message" + +#: gajim/gui_menu_builder.py:450 +#, fuzzy +msgid "E_xecute Command…" +msgstr "_Execute Command" + +#: gajim/gui_menu_builder.py:458 +msgid "_Manage Transport" +msgstr "_Manage Transport" + +#: gajim/gui_menu_builder.py:464 +msgid "_Modify Transport" +msgstr "_Modify Transport" + +#: gajim/gui_menu_builder.py:503 gajim/data/gui/contact_context_menu.ui:198 +msgid "_Information" +msgstr "_Information" + +#: gajim/gui_menu_builder.py:516 +#, fuzzy +msgid "Send File" +msgstr "Send _File" + +#: gajim/gui_menu_builder.py:517 +#, fuzzy +msgid "Upload File…" +msgstr "Save File as..." + +#: gajim/gui_menu_builder.py:518 +#, fuzzy +msgid "Send File Directly…" +msgstr "Save File as..." + +#: gajim/gui_menu_builder.py:520 gajim/gtk/accounts.py:734 +#, fuzzy +msgid "Send Read Markers" +msgstr "Send keep-alive packets" + +#: gajim/gui_menu_builder.py:521 gajim/gtk/accounts.py:710 +#, fuzzy +msgid "Send Chatstate" +msgstr "Last state" + +#: gajim/gui_menu_builder.py:522 gajim/data/gui/groupchat_control.ui:307 +#, fuzzy +msgid "Invite Contacts…" +msgstr "Invite _Contacts" + +#: gajim/gui_menu_builder.py:523 gajim/gui_menu_builder.py:741 +#: gajim/gui_menu_builder.py:768 gajim/gui_menu_builder.py:807 +#, fuzzy +msgid "Add to Contact List…" +msgstr "_Add Contact..." + +#: gajim/gui_menu_builder.py:524 +#, fuzzy +msgid "Block Contact…" +msgstr "Blocked Contacts" + +#: gajim/gui_menu_builder.py:525 gajim/data/gui/chat_control.ui:936 +#, fuzzy +msgid "Start Call…" +msgstr "Start Chat" + +#: gajim/gui_menu_builder.py:526 gajim/gui_menu_builder.py:576 +#: gajim/gui_menu_builder.py:802 gajim/data/gui/groupchat_control.ui:1334 +#, fuzzy +msgid "Information" +msgstr "_Information" + +#: gajim/gui_menu_builder.py:527 gajim/gui_menu_builder.py:588 +#, fuzzy +msgid "History" +msgstr "_History" + +#: gajim/gui_menu_builder.py:533 gajim/gui_menu_builder.py:710 +#: gajim/gtk/preferences.py:671 gajim/gtk/groupchat_settings.py:36 +#: gajim/gtk/accounts.py:682 +msgid "Disabled" +msgstr "Disabled" + +#: gajim/gui_menu_builder.py:534 gajim/gtk/groupchat_settings.py:37 +#: gajim/gtk/accounts.py:681 +#, fuzzy +msgid "Composing Only" +msgstr "Composing" + +#: gajim/gui_menu_builder.py:535 gajim/gtk/groupchat_settings.py:38 +#, fuzzy +msgid "All Chat States" +msgstr "All statuses" + +#: gajim/gui_menu_builder.py:577 +#, fuzzy +msgid "Settings…" +msgstr "Registration failed" + +#: gajim/gui_menu_builder.py:578 +#, fuzzy +msgid "Manage Group Chat" +msgstr "Leave Groupchats" + +#: gajim/gui_menu_builder.py:579 +#, fuzzy +msgid "Rename…" +msgstr "_Rename" + +#: gajim/gui_menu_builder.py:580 +#, fuzzy +msgid "Change Subject…" +msgstr "Change _Subject..." + +#: gajim/gui_menu_builder.py:581 +#, fuzzy +msgid "Upload Avatar…" +msgstr "Choose Image" + +#: gajim/gui_menu_builder.py:582 +#, fuzzy +msgid "Configure…" +msgstr "_Configure" + +#: gajim/gui_menu_builder.py:583 +#, fuzzy +msgid "Destroy…" +msgstr "Destroying %s" + +#: gajim/gui_menu_builder.py:585 +#, fuzzy +msgid "Change Nickname…" +msgstr "Change _Nickname..." + +#: gajim/gui_menu_builder.py:586 +#, fuzzy +msgid "Request Voice" +msgstr "_Voice" + +#: gajim/gui_menu_builder.py:587 gajim/gui_menu_builder.py:825 +#, fuzzy +msgid "Execute Command…" +msgstr "_Execute Command" + +#: gajim/gui_menu_builder.py:589 +msgid "Leave" +msgstr "" + +#: gajim/gui_menu_builder.py:631 +#, fuzzy +msgid "Add Contact…" +msgstr "_Add Contact..." + +#: gajim/gui_menu_builder.py:632 gajim/gtk/accounts.py:861 +#: gajim/gtk/accounts.py:899 gajim/gtk/profile.py:53 +#, fuzzy +msgid "Profile" +msgstr "file" + +#: gajim/gui_menu_builder.py:633 +#, fuzzy +msgid "Send Single Message…" +msgstr "Send Single _Message" + +#: gajim/gui_menu_builder.py:634 +#, fuzzy +msgid "Discover Services…" +msgstr "_Discover Services" + +#: gajim/gui_menu_builder.py:635 gajim/gtk/server_info.py:47 +#, fuzzy +msgid "Server Info" +msgstr "Server" + +#: gajim/gui_menu_builder.py:636 gajim/gtk/accounts.py:312 +#: gajim/data/gui/preferences.ui:853 +msgid "Advanced" +msgstr "Advanced" + +#: gajim/gui_menu_builder.py:637 gajim/gtk/mam_preferences.py:100 +#, fuzzy +msgid "Archiving Preferences" +msgstr "_Preferences" + +#: gajim/gui_menu_builder.py:638 +#, fuzzy +msgid "Blocking List" +msgstr "Ban List" + +#: gajim/gui_menu_builder.py:639 +#, fuzzy +msgid "Bookmarks" +msgstr "_Bookmark" + +#: gajim/gui_menu_builder.py:640 +#, fuzzy +msgid "PEP Configuration" +msgstr "Room Configuration" + +#: gajim/gui_menu_builder.py:641 +#, fuzzy +msgid "Synchronise History…" +msgstr "Synchronise" + +#: gajim/gui_menu_builder.py:643 gajim/gtk/server_info.py:141 +#: gajim/data/gui/groupchat_config.ui:36 +#, fuzzy +msgid "Admin" +msgstr "_Admin" + +#: gajim/gui_menu_builder.py:644 +#, fuzzy +msgid "Send Server Message…" +msgstr "_Send Server Message..." + +#: gajim/gui_menu_builder.py:645 +#, fuzzy +msgid "Set MOTD…" +msgstr "Set MOTD..." + +#: gajim/gui_menu_builder.py:646 +#, fuzzy +msgid "Update MOTD…" +msgstr "Update MOTD..." + +#: gajim/gui_menu_builder.py:647 +#, fuzzy +msgid "Delete MOTD…" +msgstr "Delete MOTD" + +#: gajim/gui_menu_builder.py:684 +#, fuzzy +msgid "_Add Account…" +msgstr "_Add Contact..." + +#: gajim/gui_menu_builder.py:690 +#, fuzzy +msgid "_Modify Accounts…" +msgstr "_Modify Account" + +#: gajim/gui_menu_builder.py:700 gajim/data/gui/account_context_menu.ui:79 +#: gajim/data/gui/zeroconf_context_menu.ui:26 +#, fuzzy +msgid "_Modify Account…" +msgstr "_Modify Account" + +#: gajim/gui_menu_builder.py:704 gajim/gtk/accounts.py:51 +msgid "Accounts" +msgstr "Accounts" + +#: gajim/gui_menu_builder.py:734 gajim/gui_menu_builder.py:739 +#, fuzzy +msgid "Copy XMPP Address" +msgstr "_Copy JID/E-mail Address" + +#: gajim/gui_menu_builder.py:735 gajim/gui_menu_builder.py:767 +#, fuzzy +msgid "Join Groupchat" +msgstr "Join Group Chat" + +#: gajim/gui_menu_builder.py:740 gajim/gui_menu_builder.py:766 +#: gajim/gtk/start_chat.py:636 +#: gajim/data/gui/subscription_request_window.ui:149 +msgid "Start Chat" +msgstr "Start Chat" + +#: gajim/gui_menu_builder.py:746 +#, fuzzy +msgid "Copy Link Location" +msgstr "_Copy Link Location" + +#: gajim/gui_menu_builder.py:747 +#, fuzzy +msgid "Open Link in Browser" +msgstr "_Open Link in Browser" + +#: gajim/gui_menu_builder.py:752 +#, fuzzy +msgid "Copy Email Address" +msgstr "_Copy JID/E-mail Address" + +#: gajim/gui_menu_builder.py:753 gajim/gui_menu_builder.py:765 +#, fuzzy +msgid "Open Email Composer" +msgstr "_Open E-mail Composer" + +#: gajim/gui_menu_builder.py:758 +#, fuzzy +msgid "Copy Location" +msgstr "_Copy Link Location" + +#: gajim/gui_menu_builder.py:759 gajim/gtk/preferences.py:291 +#, fuzzy +msgid "Show Location" +msgstr "Notification" + +#: gajim/gui_menu_builder.py:764 +#, fuzzy +msgid "Copy XMPP Address/Email" +msgstr "_Copy JID/E-mail Address" + +#: gajim/gui_menu_builder.py:816 +#, fuzzy +msgid "Invite" +msgstr "In_vite" + +#: gajim/gui_menu_builder.py:832 +#, fuzzy +msgid "Kick" +msgstr "_Kick" + +#: gajim/gui_menu_builder.py:840 +#, fuzzy +msgid "Ban" +msgstr "_Ban" + +#: gajim/gui_menu_builder.py:850 +#, fuzzy +msgid "Make Owner" +msgstr "Owner" + +#: gajim/gui_menu_builder.py:859 +#, fuzzy +msgid "Make Admin" +msgstr "_Admin" + +#: gajim/gui_menu_builder.py:868 +#, fuzzy +msgid "Make Member" +msgstr "Member" + +#: gajim/gui_menu_builder.py:877 +#, fuzzy +msgid "Revoke Member" +msgstr "Member" + +#: gajim/gui_menu_builder.py:887 +msgid "Grant Voice" +msgstr "" + +#: gajim/gui_menu_builder.py:890 +#, fuzzy +msgid "Revoke Voice" +msgstr "_Voice" + +#: gajim/gui_menu_builder.py:910 +#, fuzzy +msgid "Copy" +msgstr "Room JID" + +#: gajim/chat_control.py:346 gajim/groupchat_control.py:348 +#, fuzzy +msgid "Send File…" +msgstr "Send _File" + +#: gajim/chat_control.py:348 gajim/groupchat_control.py:354 +#, fuzzy +msgid "No File Transfer available" +msgstr "File Transfers" + +#: gajim/chat_control.py:479 +msgid "Show a list of formattings" +msgstr "Show a list of formattings" + +#: gajim/chat_control.py:483 +#, fuzzy +msgid "This contact does not support HTML" +msgstr "This contact does not support file transfer." + +#: gajim/chat_control.py:684 +msgid "Ping?" +msgstr "Ping?" + +#: gajim/chat_control.py:687 +#, fuzzy, python-format +msgid "Pong! (%s seconds)" +msgstr "Pong! (%s s.)" + +#: gajim/chat_control.py:758 +#, fuzzy +msgid "Calling…" +msgstr "Banning..." + +#: gajim/chat_control.py:783 gajim/chat_control.py:870 +#, fuzzy +msgid "Connection Error" +msgstr "Connection" + +#: gajim/chat_control.py:811 gajim/data/gui/chat_control.ui:1185 +msgid "Turn Camera on" +msgstr "" + +#: gajim/chat_control.py:822 +msgid "Calling (Video)…" +msgstr "" + +#: gajim/chat_control.py:826 gajim/chat_control.py:834 +#: gajim/chat_control.py:864 +msgid "Turn Camera off" +msgstr "" + +#: gajim/chat_control.py:832 +msgid "Incoming Call (Video)" +msgstr "" + +#: gajim/chat_control.py:1020 +#, python-format +msgid "%(nickname)s from group chat %(room_name)s" +msgstr "%(nickname)s from group chat %(room_name)s" + +#: gajim/chat_control.py:1257 +#, fuzzy +msgid "Note: Chat history is disabled for this contact." +msgstr "Ignore this error for this certificate." + +#: gajim/chat_control.py:1259 +msgid "Note: Chat history is disabled for this account." +msgstr "" + +#: gajim/chat_control.py:1260 +#, fuzzy, python-format +msgid "" +"You just received a new message from %s.\n" +"Do you want to close this tab?" +msgstr "You just received a new message from \"%s\"" + +#: gajim/chat_control.py:1266 gajim/gtk/remove_account.py:43 +#: gajim/gtk/change_password.py:44 +#, fuzzy +msgid "Close" +msgstr "_Send & Close" + +#: gajim/chat_control.py:1267 gajim/gtk/notification.py:184 +#: gajim/gtk/notification.py:204 gajim/gtk/notification.py:218 +#: gajim/gtk/notification.py:271 gajim/common/connection_handlers_events.py:237 +msgid "New Message" +msgstr "New Message" + +#: gajim/chat_control.py:1272 gajim/chat_control.py:1579 +#: gajim/chat_control.py:1588 gajim/message_window.py:371 +#: gajim/data/gui/groupchat_control.ui:1117 +#: gajim/data/gui/groupchat_control.ui:1203 +#: gajim/data/gui/groupchat_control.ui:1308 +#: gajim/data/gui/groupchat_control.ui:1997 +#, fuzzy +msgid "_Close" +msgstr "_Send & Close" + +#: gajim/chat_control.py:1359 +#, python-format +msgid "" +"Subject: %(subject)s\n" +"%(message)s" +msgstr "" +"Subject: %(subject)s\n" +"%(message)s" + +#: gajim/chat_control.py:1480 +#, fuzzy, python-format +msgid "%(name)s is now %(show)s %(status)s" +msgstr "%(name)s is now %(status)s" + +#: gajim/chat_control.py:1545 +msgid "Size" +msgstr "Size" + +#: gajim/chat_control.py:1547 gajim/chat_control.py:1609 +#: gajim/gtk/groupchat_invitation.py:67 +#, fuzzy +msgid "_Decline" +msgstr "_Offline" + +#: gajim/chat_control.py:1550 gajim/chat_control.py:1611 +#: gajim/chat_control.py:1668 gajim/gtk/dialogs.py:59 +#, fuzzy +msgid "_Accept" +msgstr "Accept" + +#: gajim/chat_control.py:1577 gajim/gtk/filetransfer.py:259 +#, fuzzy +msgid "Open _Folder" +msgstr "_Open Containing Folder" + +#: gajim/chat_control.py:1662 +#, fuzzy +msgid "" +"\n" +"Video Call" +msgstr "Private Chat" + +#: gajim/chat_control.py:1664 +#, fuzzy +msgid "" +"\n" +"Voice Call" +msgstr "File Transfer Request" + +#: gajim/chat_control.py:1666 +#, fuzzy +msgid "_Reject" +msgstr "Dejected" + +#: gajim/chat_control.py:1692 gajim/gtk/filetransfer.py:297 +msgid "File transfer stopped" +msgstr "File transfer stopped" + +#: gajim/chat_control.py:1697 gajim/gtk/filetransfer.py:275 +#: gajim/gtk/filetransfer.py:284 +msgid "File transfer cancelled" +msgstr "File transfer cancelled" + +#: gajim/chat_control.py:1698 +msgid "Connection with peer cannot be established." +msgstr "Connection with peer cannot be established." + +#: gajim/chat_control_base.py:141 gajim/gtk/start_chat.py:649 +#: gajim/gtk/groupchat_invite.py:318 +#, fuzzy, python-format +msgid "Account: %s" +msgstr "Accounts" + +#: gajim/chat_control_base.py:592 +msgid "and authenticated" +msgstr "and authenticated" + +#: gajim/chat_control_base.py:596 +msgid "and NOT authenticated" +msgstr "and NOT authenticated" + +#: gajim/chat_control_base.py:600 +#, python-format +msgid "%(type)s encryption is active %(authenticated)s." +msgstr "%(type)s encryption is active %(authenticated)s." + +#: gajim/chat_control_base.py:715 +msgid "_Undo" +msgstr "" + +#: gajim/chat_control_base.py:723 gajim/conversation_textview.py:417 +msgid "_Clear" +msgstr "" + +#: gajim/chat_control_base.py:728 +msgid "Paste as quote" +msgstr "" + +#: gajim/chat_control_base.py:767 +#, fuzzy +msgid "Paste Image" +msgstr "Choose Image" + +#: gajim/chat_control_base.py:768 +#, fuzzy +msgid "You are trying to paste an image" +msgstr "You are going to close several tabs" + +#: gajim/chat_control_base.py:769 +#, fuzzy +msgid "" +"Are you sure you want to paste your clipboard's image into the chat window?" +msgstr "Are you sure you want to leave group chat \"%s\"?" + +#: gajim/chat_control_base.py:775 +msgid "_Paste" +msgstr "" + +#: gajim/chat_control_base.py:1361 gajim/gtk/accounts.py:310 +#: gajim/data/gui/profile.ui:17 gajim/data/gui/profile.ui:318 +#, fuzzy +msgid "Privacy" +msgstr "Privacy List" + +#: gajim/chat_control_base.py:1362 +#, fuzzy +msgid "Warning" +msgstr "Banning %s" + +#: gajim/chat_control_base.py:1363 +#, fuzzy, python-format +msgid "" +"If you send a file to %s, your real XMPP address will be revealed." +msgstr "If you send a file to %s, he/she will know your real Jabber ID." + +#: gajim/chat_control_base.py:1368 +msgid "_Continue" +msgstr "_Continue" + +#: gajim/gajim_remote.py:55 gajim/common/exceptions.py:70 +msgid "D-Bus is not present on this machine or python module is missing" +msgstr "D-Bus is not present on this machine or python module is missing" + +#: gajim/gajim_remote.py:77 +msgid "Shows a help on specific command" +msgstr "Shows a help on specific command" + +#: gajim/gajim_remote.py:80 +msgid "command" +msgstr "command" + +#: gajim/gajim_remote.py:81 +msgid "show help on command" +msgstr "show help on command" + +#: gajim/gajim_remote.py:85 +#, fuzzy +msgid "Lists all contacts in the contact list, one for each line" +msgstr "" +"Prints a list of all contacts in the roster. Each contact appears on a " +"separate line" + +#: gajim/gajim_remote.py:87 gajim/gajim_remote.py:102 gajim/gajim_remote.py:112 +#: gajim/gajim_remote.py:122 gajim/gajim_remote.py:133 +#: gajim/gajim_remote.py:142 gajim/gajim_remote.py:163 +#: gajim/gajim_remote.py:171 gajim/gajim_remote.py:180 +#: gajim/gajim_remote.py:187 +#, fuzzy +msgid "?CLI:account" +msgstr "account" + +#: gajim/gajim_remote.py:87 +msgid "show only contacts of the given account" +msgstr "show only contacts of the given account" + +#: gajim/gajim_remote.py:93 +msgid "Prints a list of registered accounts" +msgstr "Prints a list of registered accounts" + +#: gajim/gajim_remote.py:97 +#, fuzzy +msgid "Changes the status of account(s)" +msgstr "Changes the status of account or accounts" + +#: gajim/gajim_remote.py:100 +#, fuzzy +msgid "?CLI:status" +msgstr "status" + +#: gajim/gajim_remote.py:100 +#, fuzzy +msgid "" +"one of: offline, online, chat, away, xa, dnd. If not set, use account's " +"previous status" +msgstr "one of: offline, online, chat, away, xa, dnd, invisible " + +#: gajim/gajim_remote.py:101 gajim/gajim_remote.py:121 +#: gajim/gajim_remote.py:132 gajim/gajim_remote.py:141 +#, fuzzy +msgid "?CLI:message" +msgstr "message" + +#: gajim/gajim_remote.py:101 +msgid "status message" +msgstr "status message" + +#: gajim/gajim_remote.py:102 +msgid "" +"change status of account \"account\". If not specified, try to change status " +"of all accounts that have \"sync with global status\" option set" +msgstr "" +"change status of account \"account\". If not specified, try to change status " +"of all accounts that have \"sync with global status\" option set" + +#: gajim/gajim_remote.py:108 +#, fuzzy +msgid "Changes the priority of account(s)" +msgstr "Changes the priority of account or accounts" + +#: gajim/gajim_remote.py:110 +#, fuzzy +msgid "?CLI:priority" +msgstr "priority" + +#: gajim/gajim_remote.py:110 +msgid "priority you want to give to the account" +msgstr "priority you want to give to the account" + +#: gajim/gajim_remote.py:112 +msgid "" +"change the priority of the given account. If not specified, change status of " +"all accounts that have \"sync with global status\" option set" +msgstr "" +"change the priority of the given account. If not specified, change status of " +"all accounts that have \"sync with global status\" option set" + +#: gajim/gajim_remote.py:118 +#, fuzzy +msgid "" +"Sends new chat message to a contact in the contact list. Account is optional." +msgstr "Send a message to the contact" + +#: gajim/gajim_remote.py:120 gajim/gajim_remote.py:130 +#, fuzzy +msgid "XMPP Address of the contact that will receive the message" +msgstr "JID of the contact that will receive the message" + +#: gajim/gajim_remote.py:121 gajim/gajim_remote.py:132 +#: gajim/gajim_remote.py:141 +msgid "message contents" +msgstr "message contents" + +#: gajim/gajim_remote.py:122 gajim/gajim_remote.py:133 +#: gajim/gajim_remote.py:142 +msgid "if specified, the message will be sent using this account" +msgstr "if specified, the message will be sent using this account" + +#: gajim/gajim_remote.py:127 +#, fuzzy +msgid "" +"Sends a chat message to someone on your contact list. Account is optional." +msgstr "Send a message to the contact" + +#: gajim/gajim_remote.py:131 +msgid "subject" +msgstr "subject" + +#: gajim/gajim_remote.py:131 +msgid "message subject" +msgstr "message subject" + +#: gajim/gajim_remote.py:138 +#, fuzzy +msgid "Sends new message to a group chat you've joined." +msgstr "Sends new message to a groupchat you've joined." + +#: gajim/gajim_remote.py:140 +#, fuzzy +msgid "XMPP Address of the group chat that will receive the message" +msgstr "JID of the room that will receive the message" + +#: gajim/gajim_remote.py:147 +msgid "Gets detailed info on a contact" +msgstr "Gets detailed info on a contact" + +#: gajim/gajim_remote.py:149 gajim/gajim_remote.py:162 +#: gajim/gajim_remote.py:170 +#, fuzzy +msgid "XMPP Address of the contact" +msgstr "JID of the contact" + +#: gajim/gajim_remote.py:153 +msgid "Gets detailed info on a account" +msgstr "Gets detailed info on a account" + +#: gajim/gajim_remote.py:155 +msgid "Name of the account" +msgstr "Name of the account" + +#: gajim/gajim_remote.py:159 +msgid "Sends file to a contact" +msgstr "Sends file to a contact" + +#: gajim/gajim_remote.py:161 +msgid "file" +msgstr "file" + +#: gajim/gajim_remote.py:161 +msgid "File path" +msgstr "File path" + +#: gajim/gajim_remote.py:163 +msgid "if specified, file will be sent using this account" +msgstr "if specified, file will be sent using this account" + +#: gajim/gajim_remote.py:168 +#, fuzzy +msgid "Removes contact from contact list" +msgstr "Removes contact from roster" + +#: gajim/gajim_remote.py:171 +msgid "if specified, contact is taken from the contact list of this account" +msgstr "if specified, contact is taken from the contact list of this account" + +#: gajim/gajim_remote.py:178 +msgid "Returns current status (the global one unless account is specified)" +msgstr "Returns current status (the global one unless account is specified)" + +#: gajim/gajim_remote.py:185 +msgid "" +"Returns current status message (the global one unless account is specified)" +msgstr "" +"Returns current status message (the global one unless account is specified)" + +#: gajim/gajim_remote.py:192 +msgid "Returns number of unread messages" +msgstr "Returns number of unread messages" + +#: gajim/gajim_remote.py:197 +msgid "Sends custom XML" +msgstr "Sends custom XML" + +#: gajim/gajim_remote.py:199 +msgid "XML to send" +msgstr "XML to send" + +#: gajim/gajim_remote.py:200 +#, fuzzy +msgid "" +"Account to which the XML will be sent; if not specified, XML will be sent to " +"all accounts" +msgstr "" +"Account in which the xml will be sent; if not specified, xml will be sent to " +"all accounts" + +#: gajim/gajim_remote.py:207 +msgid "Check if Gajim is running" +msgstr "Check if Gajim is running" + +#: gajim/gajim_remote.py:233 +msgid "Missing argument \"contact_jid\"" +msgstr "Missing argument \"contact_jid\"" + +#: gajim/gajim_remote.py:253 +#, fuzzy, python-format +msgid "" +"'%s' is not in your contact list.\n" +"Please specify account for sending the message." +msgstr "" +"'%s' is not in your roster.\n" +"Please specify account for sending the message." + +#: gajim/gajim_remote.py:256 +msgid "You have no active account" +msgstr "You have no active account" + +#: gajim/gajim_remote.py:304 +msgid "It seems Gajim is not running. So you can't use gajim-remote." +msgstr "It seems Gajim is not running. So you can't use gajim-remote." + +#: gajim/gajim_remote.py:331 +#, python-format +msgid "" +"Usage: %(basename)s %(command)s %(arguments)s \n" +"\t %(help)s" +msgstr "" +"Usage: %(basename)s %(command)s %(arguments)s \n" +"\t %(help)s" + +#: gajim/gajim_remote.py:335 +msgid "Arguments:" +msgstr "Arguments:" + +#: gajim/gajim_remote.py:339 +#, python-format +msgid "%s not found" +msgstr "%s not found" + +#: gajim/gajim_remote.py:345 +#, fuzzy, python-format +msgid "" +"Usage:\n" +" %s command [arguments]\n" +"\n" +"Command is one of:\n" +msgstr "" +"Usage: %s command [arguments]\n" +"Command is one of:\n" + +#: gajim/gajim_remote.py:415 +#, python-format +msgid "" +"Too many arguments. \n" +"Type \"%(basename)s help %(command)s\" for more info" +msgstr "" +"Too many arguments. \n" +"Type \"%(basename)s help %(command)s\" for more info" + +#: gajim/gajim_remote.py:420 +#, python-format +msgid "" +"Argument \"%(arg)s\" is not specified. \n" +"Type \"%(basename)s help %(command)s\" for more info" +msgstr "" +"Argument \"%(arg)s\" is not specified. \n" +"Type \"%(basename)s help %(command)s\" for more info" + +#: gajim/dialogs.py:70 +#, python-format +msgid "Contact name: %s" +msgstr "Contact name: %s" + +#: gajim/dialogs.py:72 +#, python-format +msgid "XMPP Address: %s" +msgstr "" + +#: gajim/dialogs.py:189 +msgid "Group" +msgstr "Group" + +#: gajim/dialogs.py:196 +msgid "In the group" +msgstr "In the group" + +#: gajim/dialogs.py:211 gajim/gtk/discovery.py:522 +msgid "You are not connected to the server" +msgstr "You are not connected to the server" + +#: gajim/dialogs.py:212 +msgid "Without a connection, you can not synchronise your contacts." +msgstr "Without a connection, you can not synchronise your contacts." + +#: gajim/dialogs.py:223 gajim/dialogs.py:294 +#: gajim/gtk/roster_item_exchange.py:83 gajim/gtk/discovery.py:826 +#: gajim/gtk/discovery.py:1650 gajim/gtk/discovery.py:1896 +#: gajim/gtk/history.py:99 gajim/gtk/vcard_grid.py:34 +#: gajim/data/gui/bookmarks.ui:66 +msgid "Name" +msgstr "Name" + +#: gajim/dialogs.py:226 gajim/data/gui/preferences.ui:604 +#: gajim/data/gui/server_info.ui:146 +msgid "Server" +msgstr "Server" + +#: gajim/dialogs.py:262 +msgid "This account is not connected to the server" +msgstr "This account is not connected to the server" + +#: gajim/dialogs.py:263 +msgid "You cannot synchronize with an account unless it is connected." +msgstr "You cannot synchronise with an account unless it is connected." + +#: gajim/dialogs.py:292 +msgid "Synchronise" +msgstr "Synchronise" + +#: gajim/vcard.py:284 +msgid "?Client:Unknown" +msgstr "Unknown" + +#: gajim/vcard.py:289 +msgid "?OS:Unknown" +msgstr "Unknown" + +#: gajim/vcard.py:319 gajim/vcard.py:322 +msgid "?Time:Unknown" +msgstr "Unknown" + +#: gajim/vcard.py:373 +msgid "?Role in Group Chat:Role:" +msgstr "" + +#: gajim/vcard.py:377 +msgid "Affiliation:" +msgstr "Affiliation:" + +#: gajim/vcard.py:384 +#, fuzzy +msgid "" +"This contact is interested in your presence information, but you are not " +"interested in their presence" +msgstr "" +"This contact is interested in your presence information, but you are not " +"interested in his/her presence" + +#: gajim/vcard.py:386 +#, fuzzy +msgid "" +"You are interested in the contact's presence information, but it is not " +"mutual" +msgstr "" +"You are interested in the contact's presence information, but he/she is not " +"interested in yours" + +#: gajim/vcard.py:388 +#, fuzzy +msgid "The contact and you want to exchange presence information" +msgstr "" +"You and the contact are interested in each other's presence information" + +#: gajim/vcard.py:390 +#, fuzzy +msgid "" +"You and the contact have a mutual disinterest in each-others presence " +"information" +msgstr "" +"You and the contact are interested in each other's presence information" + +#: gajim/vcard.py:396 +msgid "You are waiting contact's answer about your subscription request" +msgstr "You are waiting contact's answer about your subscription request" + +#: gajim/vcard.py:398 +msgid "There is no pending subscription request." +msgstr "There is no pending subscription request." + +#: gajim/vcard.py:403 gajim/vcard.py:453 gajim/vcard.py:549 +msgid " resource with priority " +msgstr " resource with priority " + +#: gajim/conversation_textview.py:65 +#, fuzzy +msgid "Untrusted" +msgstr "Interested" + +#: gajim/conversation_textview.py:68 +msgid "Trust Not Decided" +msgstr "" + +#: gajim/conversation_textview.py:71 +msgid "Unverified" +msgstr "" + +#: gajim/conversation_textview.py:74 +#, fuzzy +msgid "Verified" +msgstr "_Verify" + +#: gajim/conversation_textview.py:225 +msgid "" +"Text below this line is what has been said since the\n" +"last time you paid attention to this group chat" +msgstr "" +"Text below this line is what has been said since the\n" +"last time you paid attention to this group chat" + +#: gajim/conversation_textview.py:428 +msgid "_Quote" +msgstr "_Quote" + +#: gajim/conversation_textview.py:436 +#, python-format +msgid "_Actions for \"%s\"" +msgstr "_Actions for \"%s\"" + +#: gajim/conversation_textview.py:450 +msgid "Read _Wikipedia Article" +msgstr "Read _Wikipedia Article" + +#: gajim/conversation_textview.py:455 +msgid "Look it up in _Dictionary" +msgstr "Look it up in _Dictionary" + +#: gajim/conversation_textview.py:472 +#, python-format +msgid "Dictionary URL is missing an \"%s\" and it is not WIKTIONARY" +msgstr "Dictionary URL is missing an \"%s\" and it is not WIKTIONARY" + +#: gajim/conversation_textview.py:486 +#, python-format +msgid "Web Search URL is missing an \"%s\"" +msgstr "Web Search URL is missing an \"%s\"" + +#: gajim/conversation_textview.py:489 +msgid "Web _Search for it" +msgstr "Web _Search for it" + +#: gajim/conversation_textview.py:495 +msgid "Open as _Link" +msgstr "Open as _Link" + +#: gajim/conversation_textview.py:770 +#, fuzzy +msgid "Invalid URL" +msgstr "Invalid JID" + +#: gajim/conversation_textview.py:860 +msgid "" +"Message corrected. Original message:\n" +"{}" +msgstr "" + +#: gajim/conversation_textview.py:1031 +#, fuzzy +msgid "Not encrypted" +msgstr "Not started" + +#: gajim/conversation_textview.py:1034 +#, python-format +msgid "Encrypted (%s)" +msgstr "" + +#: gajim/conversation_textview.py:1141 gajim/gtk/history.py:618 +#, python-format +msgid "Subject: %s\n" +msgstr "Subject: %s\n" + +#: gajim/conversation_textview.py:1250 +#, fuzzy +msgid "Received" +msgstr "Received %s" + +#: gajim/conversation_textview.py:1272 +msgid "?Message state:Read" +msgstr "" + +#: gajim/groupchat_control.py:352 +#, fuzzy, python-format +msgid "Send File (max. %s MiB)…" +msgstr "Save File as..." + +#: gajim/groupchat_control.py:497 +#, fuzzy, python-format +msgid "%s has been invited to this group chat" +msgstr "%(nick)s has been removed from the room (%(reason)s)" + +#: gajim/groupchat_control.py:512 gajim/dialog_messages.py:31 +#: gajim/dialog_messages.py:36 gajim/gtk/single_message.py:238 +#, fuzzy +msgid "Invalid XMPP Address" +msgstr "Invalid File" + +#: gajim/groupchat_control.py:575 +#, fuzzy +msgid "Loading avatar failed" +msgstr "Sending private message failed" + +#: gajim/groupchat_control.py:595 +#, fuzzy, python-format +msgid "Avatar upload failed: %s" +msgstr "vCard publication failed" + +#: gajim/groupchat_control.py:598 +#, fuzzy +msgid "Avatar upload successful" +msgstr "vCard publication failed" + +#: gajim/groupchat_control.py:616 +#, fuzzy, python-format +msgid "Kick %s" +msgstr "Kicking %s" + +#: gajim/groupchat_control.py:625 +#, fuzzy, python-format +msgid "Ban %s" +msgstr "Ban List" + +#: gajim/groupchat_control.py:684 +msgid "Insert Nickname" +msgstr "Insert Nickname" + +#: gajim/groupchat_control.py:775 gajim/groupchat_control.py:776 +#, fuzzy +msgid "Voice Request" +msgstr "File Transfer Request" + +#: gajim/groupchat_control.py:777 +#, python-format +msgid "%(nick)s from %(room_name)s requests voice" +msgstr "" + +#: gajim/groupchat_control.py:781 +msgid "_Approve" +msgstr "" + +#: gajim/groupchat_control.py:1007 +#, fuzzy, python-format +msgid "%(nick)s has set the subject to %(subject)s" +msgstr "%(jid)s has set the subject to %(subject)s" + +#: gajim/groupchat_control.py:1023 +#, fuzzy +msgid "Group chat now shows unavailable members" +msgstr "Room now shows unavailable member" + +#: gajim/groupchat_control.py:1026 +#, fuzzy +msgid "Group chat now does not show unavailable members" +msgstr "room now does not show unavailable members" + +#: gajim/groupchat_control.py:1030 +msgid "A setting not related to privacy has been changed" +msgstr "" + +#: gajim/groupchat_control.py:1037 gajim/groupchat_control.py:1197 +#, fuzzy +msgid "Conversations are stored on the server" +msgstr "Session WILL NOT be logged" + +#: gajim/groupchat_control.py:1040 +#, fuzzy +msgid "Conversations are not stored on the server" +msgstr "Information about you, as stored in the server" + +#: gajim/groupchat_control.py:1043 +#, fuzzy +msgid "Group chat is now non-anonymous" +msgstr "Room is now non-anonymous" + +#: gajim/groupchat_control.py:1047 +#, fuzzy +msgid "Group chat is now semi-anonymous" +msgstr "Room is now semi-anonymous" + +#: gajim/groupchat_control.py:1051 +#, fuzzy +msgid "Group chat is now fully anonymous" +msgstr "Room is now fully-anonymous" + +#: gajim/groupchat_control.py:1101 +#, fuzzy, python-format +msgid "Ping? (%s)" +msgstr "Pong! (%s s.)" + +#: gajim/groupchat_control.py:1104 +#, fuzzy, python-format +msgid "Pong! (%(nick)s %(delay)s s.)" +msgstr "Pong! (%s s.)" + +#: gajim/groupchat_control.py:1188 +#, fuzzy, python-format +msgid "You (%s) joined the group chat" +msgstr "%s has joined the group chat" + +#: gajim/groupchat_control.py:1193 +#, fuzzy +msgid "Any participant is allowed to see your full XMPP Address" +msgstr "Any occupant is allowed to see your full JID" + +#: gajim/groupchat_control.py:1201 +#, fuzzy +msgid "The server has assigned or modified your nickname in this group chat" +msgstr "The server has assigned or modified your roomnick" + +#: gajim/groupchat_control.py:1211 +#, fuzzy +msgid "A new group chat has been created" +msgstr "A new room has been created" + +#: gajim/groupchat_control.py:1215 +#, fuzzy +msgid "Failed to Configure Group Chat" +msgstr "Leave Groupchats" + +#: gajim/groupchat_control.py:1274 gajim/groupchat_control.py:1304 +#: gajim/groupchat_control.py:1332 gajim/groupchat_control.py:1391 +#, python-brace-format +msgid " by {actor}" +msgstr "" + +#: gajim/groupchat_control.py:1277 +#, fuzzy, python-brace-format +msgid "** Your Affiliation has been set to {affiliation}{actor}{reason}" +msgstr "" +"** Affiliation of %(nick)s has been set to %(affiliation)s by %(actor)s" + +#: gajim/groupchat_control.py:1283 +#, fuzzy, python-brace-format +msgid "** Affiliation of {nick} has been set to {affiliation}{actor}{reason}" +msgstr "** Affiliation of %(nick)s has been set to %(affiliation)s" + +#: gajim/groupchat_control.py:1307 +#, fuzzy, python-brace-format +msgid "** Your Role has been set to {role}{actor}{reason}" +msgstr "** Role of %(nick)s has been set to %(role)s by %(actor)s" + +#: gajim/groupchat_control.py:1312 +#, fuzzy, python-brace-format +msgid "** Role of {nick} has been set to {role}{actor}{reason}" +msgstr "** Role of %(nick)s has been set to %(role)s by %(actor)s" + +#: gajim/groupchat_control.py:1335 +#, fuzzy, python-brace-format +msgid "You have been removed from the group chat{actor}{reason}" +msgstr "%(nick)s has been removed from the room (%(reason)s)" + +#: gajim/groupchat_control.py:1340 +#, python-brace-format +msgid "You have left due to an error{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1346 +#, python-brace-format +msgid "You have been kicked{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1353 +#, python-brace-format +msgid "You have been banned{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1360 gajim/groupchat_control.py:1423 +#, fuzzy +msgid ": Affiliation changed" +msgstr "affiliation changed" + +#: gajim/groupchat_control.py:1366 gajim/groupchat_control.py:1428 +#, fuzzy +msgid ": Group chat configuration changed to members-only" +msgstr "room configuration changed to members-only" + +#: gajim/groupchat_control.py:1394 +#, fuzzy, python-brace-format +msgid "{nick} has been removed from the group chat{by}{reason}" +msgstr "%(nick)s has been removed from the room (%(reason)s)" + +#: gajim/groupchat_control.py:1402 +#, python-brace-format +msgid "{nick} has left due to an error{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1408 +#, fuzzy, python-brace-format +msgid "{nick} has been kicked{actor}{reason}" +msgstr "%(nick)s has been kicked: %(reason)s" + +#: gajim/groupchat_control.py:1416 +#, fuzzy, python-brace-format +msgid "{nick} has been banned{actor}{reason}" +msgstr "%(nick)s has been banned: %(reason)s" + +#: gajim/groupchat_control.py:1433 +#, python-brace-format +msgid "{nick} has left{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1451 +#, python-format +msgid "%s has joined the group chat" +msgstr "%s has joined the group chat" + +#: gajim/groupchat_control.py:1463 +#, fuzzy +msgid "Failed to Join Group Chat" +msgstr "Unable to join group chat" + +#: gajim/groupchat_control.py:1469 +#, fuzzy +msgid "Failed to Create Group Chat" +msgstr "Leave Groupchats" + +#: gajim/groupchat_control.py:1485 +#, fuzzy +msgid "Group chat has been destroyed" +msgstr "Room has been destroyed" + +#: gajim/groupchat_control.py:1490 +#, fuzzy, python-format +msgid "You can join this group chat instead: xmpp:%s?join" +msgstr "You can join this room instead: %s" + +#: gajim/groupchat_control.py:1672 +#, fuzzy +msgid "Leave Group Chat" +msgstr "Leave Groupchats" + +#: gajim/groupchat_control.py:1673 +#, fuzzy +msgid "Are you sure you want to leave this group chat?" +msgstr "Are you sure you want to leave group chat \"%s\"?" + +#: gajim/groupchat_control.py:1674 +#, fuzzy, python-format +msgid "If you close this window, you will leave '%s'." +msgstr "" +"If you close this window, you will be disconnected from this group chat." + +#: gajim/message_window.py:365 +#, fuzzy +msgid "Close Tabs" +msgstr "_Send & Close" + +#: gajim/message_window.py:366 +#, fuzzy +msgid "You are about to close several tabs" +msgstr "You are going to close several tabs" + +#: gajim/message_window.py:367 +#, fuzzy +msgid "Do you really want to close all of them?" +msgstr "Do you really want to close them all?" + +#: gajim/message_window.py:526 +#, fuzzy +msgid "?Noun:Chats" +msgstr "Group Chats" + +#: gajim/message_window.py:530 gajim/data/gui/preferences.ui:155 +#, fuzzy +msgid "Group Chats" +msgstr "_Group Chat" + +#: gajim/message_window.py:534 +msgid "Private Chats" +msgstr "Private Chats" + +#: gajim/message_window.py:540 +msgid "Messages" +msgstr "Messages" + +#: gajim/dialog_messages.py:37 +#, fuzzy, python-format +msgid "" +"It is not possible to send a message to %s. This XMPP Address is not valid." +msgstr "It is not possible to send a message to %s, this JID is not valid." + +#: gajim/dialog_messages.py:42 +#, fuzzy +msgid "Unread Events" +msgstr "Unread events" + +#: gajim/dialog_messages.py:43 +#, fuzzy +msgid "Read or acknowledge all pending events before removing this account." +msgstr "Read all pending events before removing this account." + +#: gajim/dialog_messages.py:48 +#, fuzzy +msgid "Invalid Form" +msgstr "Invalid room" + +#: gajim/dialog_messages.py:49 +#, fuzzy +msgid "The form is not filled correctly." +msgstr "The nickname has not allowed characters." + +#: gajim/dialog_messages.py:53 +#, fuzzy +msgid "No Connection Available" +msgstr "Connection not available" + +#: gajim/dialog_messages.py:54 +msgid "Your message can not be sent until you are connected." +msgstr "Your message can not be sent until you are connected." + +#: gajim/dialog_messages.py:58 +msgid "XMPP Address Already in List" +msgstr "" + +#: gajim/dialog_messages.py:59 +#, fuzzy +msgid "" +"The XMPP Address you entered is already in the list. Please choose another " +"one." +msgstr "The Jabber ID you entered is already in the list. Choose another one." + +#: gajim/dialog_messages.py:64 +#, fuzzy +msgid "Invalid Answer" +msgstr "Invalid answer" + +#: gajim/dialog_messages.py:65 +#, python-format +msgid "Transport %(name)s answered wrongly to register request: %(error)s" +msgstr "Transport %(name)s answered wrongly to register request: %(error)s" + +#: gajim/dialog_messages.py:70 +#, fuzzy +msgid "Wrong Custom Hostname" +msgstr "Use custom hostname/port" + +#: gajim/dialog_messages.py:71 +#, fuzzy, python-format +msgid "Custom hostname \"%s\" is wrong. It will be ignored." +msgstr "Use custom hostname/port" + +#: gajim/dialog_messages.py:75 +#, fuzzy +msgid "Registration Succeeded" +msgstr "Registration succeeded" + +#: gajim/dialog_messages.py:76 +#, fuzzy, python-format +msgid "Registration with agent %s succeeded." +msgstr "Registration with agent %s succeeded" + +#: gajim/dialog_messages.py:80 +#, fuzzy +msgid "Registration Failed" +msgstr "Registration failed" + +#: gajim/dialog_messages.py:81 +#, python-format +msgid "" +"Registration with agent %(agent)s failed with error %(error)s: %(error_msg)s" +msgstr "" +"Registration with agent %(agent)s failed with error %(error)s: %(error_msg)s" + +#: gajim/dialog_messages.py:86 +#, fuzzy +msgid "GStreamer Error" +msgstr "Database Error" + +#: gajim/dialog_messages.py:87 +#, fuzzy, python-format +msgid "" +"Error: %(error)s\n" +"Debug: %(debug)s" +msgstr "Error message: %s" + +#: gajim/dialog_messages.py:91 +#, fuzzy +msgid "Wrong Host" +msgstr "Wrong host" + +#: gajim/dialog_messages.py:92 +msgid "Invalid local address? :-O" +msgstr "Invalid local address? :-O" + +#: gajim/dialog_messages.py:96 +#, fuzzy +msgid "Avahi Error" +msgstr "Avahi error" + +#: gajim/dialog_messages.py:97 +#, python-format +msgid "" +"%s\n" +"Link-local messaging might not work properly." +msgstr "" +"%s\n" +"Link-local messaging might not work properly." + +#: gajim/dialog_messages.py:101 +#, fuzzy +msgid "Could not Open File" +msgstr "Could not load image" + +#: gajim/command_system/mapping.py:169 gajim/command_system/mapping.py:179 +#: gajim/command_system/mapping.py:199 +#, fuzzy +msgid "Missing arguments" +msgstr "Missing argument \"contact_jid\"" + +#: gajim/command_system/mapping.py:266 +#, fuzzy +msgid "Too many arguments" +msgstr "Missing argument \"contact_jid\"" + +#: gajim/command_system/implementation/middleware.py:76 +msgid "Error during command execution!" +msgstr "" + +#: gajim/command_system/implementation/execute.py:60 +msgid "Execute expression inside a shell, show output" +msgstr "" + +#: gajim/command_system/implementation/execute.py:74 +msgid "" +"Command disabled. This command can be enabled by setting " +"'command_system_execute' to True in ACE (Advanced Configuration Editor)." +msgstr "" + +#: gajim/command_system/implementation/execute.py:125 +msgid "Execute expression inside a shell, send output" +msgstr "" + +#: gajim/command_system/implementation/standard.py:52 +msgid "" +"Show help on a given command or a list of available commands if -a is given" +msgstr "" + +#: gajim/command_system/implementation/standard.py:81 +msgid "Send a message to the contact" +msgstr "Send a message to the contact" + +#: gajim/command_system/implementation/standard.py:86 +msgid "Send action (in the third person) to the current chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:91 +msgid "Show logged messages which mention given text" +msgstr "" + +#: gajim/command_system/implementation/standard.py:96 +#, fuzzy, python-format +msgid "%s: Nothing found" +msgstr "%s not found" + +#: gajim/command_system/implementation/standard.py:102 +msgid "Limit must be an integer" +msgstr "" + +#: gajim/command_system/implementation/standard.py:127 +msgid "" +"\n" +" Set the current status\n" +"\n" +" Status can be given as one of the following values:\n" +" online, away, chat, xa, dnd.\n" +" " +msgstr "" + +#: gajim/command_system/implementation/standard.py:145 +msgid "Set the current status to away" +msgstr "" + +#: gajim/command_system/implementation/standard.py:148 +#: gajim/common/helpers.py:200 gajim/common/modules/adhoc_commands.py:122 +msgid "Away" +msgstr "Away" + +#: gajim/command_system/implementation/standard.py:159 +msgid "Set the current status to online" +msgstr "" + +#: gajim/command_system/implementation/standard.py:162 +#, fuzzy +msgid "Available" +msgstr "_Available" + +#: gajim/command_system/implementation/standard.py:173 +#, fuzzy +msgid "Send a disco info request" +msgstr "Sent receipt requests" + +#: gajim/command_system/implementation/standard.py:192 +#: gajim/command_system/implementation/standard.py:273 +#, fuzzy +msgid "Clear the text window" +msgstr "Usage: /%s, clears the text window." + +#: gajim/command_system/implementation/standard.py:197 +#: gajim/command_system/implementation/standard.py:425 +#, fuzzy +msgid "Send a ping to the contact" +msgstr "Usage: /%s, sends a ping to the contact" + +#: gajim/command_system/implementation/standard.py:201 +#: gajim/command_system/implementation/standard.py:429 +#, fuzzy +msgid "Command is not supported for zeroconf accounts" +msgstr "Command not supported for zeroconf account." + +#: gajim/command_system/implementation/standard.py:205 +msgid "Send DTMF sequence through an open voice chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:208 +#, fuzzy +msgid "No open voice chats with the contact" +msgstr "Click to see past conversations with this contact" + +#: gajim/command_system/implementation/standard.py:211 +#, fuzzy, python-format +msgid "%s is not a valid tone" +msgstr "%s is not a valid loglevel" + +#: gajim/command_system/implementation/standard.py:218 +msgid "Toggle Voice Chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:221 +#, fuzzy +msgid "Voice chats are not available" +msgstr "Connection not available" + +#: gajim/command_system/implementation/standard.py:228 +msgid "Toggle Video Chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:231 +#, fuzzy +msgid "Video chats are not available" +msgstr "Connection not available" + +#: gajim/command_system/implementation/standard.py:238 +#, fuzzy +msgid "Send a message to the contact that will attract their attention" +msgstr "Send a message to the contact" + +#: gajim/command_system/implementation/standard.py:278 +#, fuzzy +msgid "Change your nickname in a group chat" +msgstr "Change your nickname (Ctrl+N)" + +#: gajim/command_system/implementation/standard.py:283 +msgid "Invalid nickname" +msgstr "Invalid nickname" + +#: gajim/command_system/implementation/standard.py:290 +#, fuzzy +msgid "Open a private chat window with a specified participant" +msgstr "" +"Usage: /%s , opens a private chat window with the specified " +"occupant." + +#: gajim/command_system/implementation/standard.py:296 +#: gajim/command_system/implementation/standard.py:306 +#: gajim/command_system/implementation/standard.py:360 +#: gajim/command_system/implementation/standard.py:373 +#: gajim/command_system/implementation/standard.py:385 +msgid "Nickname not found" +msgstr "Nickname not found" + +#: gajim/command_system/implementation/standard.py:299 +#, fuzzy +msgid "" +"Open a private chat window with a specified participant and send him a " +"message" +msgstr "" +"Usage: /%s , opens a private chat window with the specified " +"occupant." + +#: gajim/command_system/implementation/standard.py:309 +#, fuzzy +msgid "Display or change a group chat topic" +msgstr "Ask before closing a group chat tab/window." + +#: gajim/command_system/implementation/standard.py:318 +msgid "Invite a user to a group chat for a reason" +msgstr "" + +#: gajim/command_system/implementation/standard.py:325 +#, fuzzy +msgid "Join a group chat given by an XMPP Address" +msgstr "in _group chats" + +#: gajim/command_system/implementation/standard.py:335 +msgid "" +"Leave the group chat, optionally giving a reason, and close tab or window" +msgstr "" + +#: gajim/command_system/implementation/standard.py:341 +msgid "" +"\n" +" Ban user by a nick or a JID from a groupchat\n" +"\n" +" If given nickname is not found it will be treated as a JID.\n" +" " +msgstr "" + +#: gajim/command_system/implementation/standard.py:357 +#, fuzzy +msgid "Kick user from group chat by nickname" +msgstr "You are invited to a groupchat" + +#: gajim/command_system/implementation/standard.py:366 +msgid "" +"Set participant role in group chat.\n" +" Role can be given as one of the following values:\n" +" moderator, participant, visitor, none" +msgstr "" + +#: gajim/command_system/implementation/standard.py:371 +#, fuzzy +msgid "Invalid role given" +msgstr "Invalid server" + +#: gajim/command_system/implementation/standard.py:378 +msgid "" +"Set participant affiliation in group chat.\n" +" Affiliation can be given as one of the following values:\n" +" owner, admin, member, outcast, none" +msgstr "" + +#: gajim/command_system/implementation/standard.py:383 +#, fuzzy +msgid "Invalid affiliation given" +msgstr "affiliation changed" + +#: gajim/command_system/implementation/standard.py:393 +#, fuzzy +msgid "Display names of all group chat participants" +msgstr "Usage: /%s , display the names of group chat occupants." + +#: gajim/command_system/implementation/standard.py:415 +msgid "Forbid a participant to send you public or private messages" +msgstr "" + +#: gajim/command_system/implementation/standard.py:420 +msgid "Allow a participant to send you public or private messages" +msgstr "" + +#: gajim/command_system/implementation/standard.py:432 +#, fuzzy +msgid "Unknown nickname" +msgstr "A_fter nickname:" + +#: gajim/command_system/implementation/custom.py:114 +msgid "The same as using a doc-string, except it supports translation" +msgstr "" + +#: gajim/gtk/ssl_error_dialog.py:36 gajim/data/gui/ssl_error_dialog.ui:16 +#, fuzzy +msgid "SSL Certificate Verification Error" +msgstr "SSL certificate error" + +#: gajim/gtk/ssl_error_dialog.py:55 +#, fuzzy, python-format +msgid "" +"There was an error while attempting to verify the SSL certificate of your " +"XMPP server (%s)." +msgstr "" +"There was an error verifying the SSL certificate of your jabber server: " +"%(error)s\n" +"Do you still want to connect to this server?" + +#: gajim/gtk/ssl_error_dialog.py:58 +#, fuzzy, python-format +msgid "Unknown SSL error '%s'" +msgstr "Unknown SSL error: %d" + +#: gajim/gtk/avatar_selector.py:84 +msgid "Select a picture or drop it here" +msgstr "" + +#: gajim/gtk/status_change.py:62 gajim/gtk/preferences.py:627 +#: gajim/gtk/preferences.py:655 +msgid "Status Message" +msgstr "Status Message" + +#: gajim/gtk/status_change.py:330 +#, fuzzy +msgid "No activity" +msgstr "Activity:" + +#: gajim/gtk/status_change.py:370 gajim/gtk/status_change.py:383 +#: gajim/gtk/status_change.py:488 +#, fuzzy +msgid "No mood selected" +msgstr "No key selected" + +#: gajim/gtk/status_change.py:382 +msgid "No mood" +msgstr "" + +#: gajim/gtk/status_change.py:439 +msgid "Overwrite" +msgstr "" + +#: gajim/gtk/status_change.py:440 +msgid "Overwrite Status Message?" +msgstr "Overwrite Status Message?" + +#: gajim/gtk/status_change.py:441 +#, fuzzy +msgid "This name is already in use. Do you want to overwrite this preset?" +msgstr "" +"This name is already used. Do you want to overwrite this status message?" + +#: gajim/gtk/status_change.py:445 gajim/plugins/gui.py:292 +msgid "_Overwrite" +msgstr "" + +#: gajim/gtk/status_change.py:453 +#, fuzzy +msgid "Status Preset" +msgstr "Status Message" + +#: gajim/gtk/status_change.py:454 +#, fuzzy +msgid "Save status as preset" +msgstr "Save as Preset..." + +#: gajim/gtk/status_change.py:455 +#, fuzzy +msgid "Please assign a name to this status message preset" +msgstr "Please type a name for this status message" + +#: gajim/gtk/status_change.py:458 gajim/data/gui/profile.ui:336 +#, fuzzy +msgid "_Save" +msgstr "Have " + +#: gajim/gtk/status_change.py:460 +#, fuzzy +msgid "New Status" +msgstr "Status" + +#: gajim/gtk/advanced_config.py:46 gajim/gtk/advanced_config.py:144 +msgid "Activated" +msgstr "Activated" + +#: gajim/gtk/advanced_config.py:47 +msgid "Deactivated" +msgstr "Deactivated" + +#: gajim/gtk/advanced_config.py:52 +msgid "?config type:Boolean" +msgstr "" + +#: gajim/gtk/advanced_config.py:53 +msgid "?config type:Integer" +msgstr "" + +#: gajim/gtk/advanced_config.py:54 +msgid "?config type:Text" +msgstr "" + +#: gajim/gtk/advanced_config.py:65 +#, fuzzy +msgid "Advanced Configuration Editor (ACE)" +msgstr "Advanced Configuration Editor" + +#: gajim/gtk/advanced_config.py:80 +#, fuzzy +msgid "?config:Preference Name" +msgstr "Preference Name" + +#: gajim/gtk/advanced_config.py:91 +#, fuzzy +msgid "?config:Value" +msgstr "_Configure" + +#: gajim/gtk/advanced_config.py:100 +msgid "?config:Type" +msgstr "" + +#: gajim/gtk/advanced_config.py:133 +#, fuzzy +msgid "?config description:None" +msgstr "None" + +#: gajim/gtk/preferences.py:63 gajim/data/gui/shortcuts_window.ui:31 +msgid "Preferences" +msgstr "Preferences" + +#: gajim/gtk/preferences.py:185 +msgid "Detached contact list with detached chats" +msgstr "" + +#: gajim/gtk/preferences.py:186 +msgid "Detached contact list with single chat" +msgstr "" + +#: gajim/gtk/preferences.py:187 +msgid "Single window for everything" +msgstr "" + +#: gajim/gtk/preferences.py:188 +msgid "Detached contact list with chats grouped by account" +msgstr "" + +#: gajim/gtk/preferences.py:189 +msgid "Detached contact list with chats grouped by type" +msgstr "" + +#: gajim/gtk/preferences.py:193 gajim/data/gui/mam_preferences.ui:14 +#, fuzzy +msgid "Always" +msgstr "Away" + +#: gajim/gtk/preferences.py:194 gajim/data/gui/mam_preferences.ui:22 +#, fuzzy +msgid "Never" +msgstr "_Never" + +#: gajim/gtk/preferences.py:195 +#, fuzzy +msgid "Restore last state" +msgstr "Last state" + +#: gajim/gtk/preferences.py:199 +#, fuzzy +msgid "Top" +msgstr "To" + +#: gajim/gtk/preferences.py:200 +msgid "Bottom" +msgstr "" + +#: gajim/gtk/preferences.py:201 +msgid "Left" +msgstr "" + +#: gajim/gtk/preferences.py:202 +#, fuzzy +msgid "Right" +msgstr "eight" + +#: gajim/gtk/preferences.py:207 +#, fuzzy +msgid "Window Layout" +msgstr "_Window behaviour:" + +#: gajim/gtk/preferences.py:214 +#, fuzzy +msgid "Contact List on Startup" +msgstr "Show _roster" + +#: gajim/gtk/preferences.py:218 +#, fuzzy +msgid "Show contact list when starting Gajim" +msgstr "Show _roster" + +#: gajim/gtk/preferences.py:221 +#, fuzzy +msgid "Quit on Close" +msgstr "_Minimise on close" + +#: gajim/gtk/preferences.py:224 +#, fuzzy +msgid "Quit when closing contact list" +msgstr "Show _Offline Contacts" + +#: gajim/gtk/preferences.py:227 +#, fuzzy +msgid "Tab Position" +msgstr "Position:" + +#: gajim/gtk/preferences.py:231 +#, fuzzy +msgid "Placement of chat window tabs" +msgstr "has closed the chat window or tab" + +#: gajim/gtk/preferences.py:247 +#, fuzzy +msgid "Merge Accounts" +msgstr "Merged accounts" + +#: gajim/gtk/preferences.py:253 +#, fuzzy +msgid "Enable Metacontacts" +msgstr "Rename Contact" + +#: gajim/gtk/preferences.py:258 +#, fuzzy +msgid "Show Avatars" +msgstr "Features" + +#: gajim/gtk/preferences.py:264 gajim/gtk/preferences.py:353 +#, fuzzy +msgid "Show Status Message" +msgstr "Status Message" + +#: gajim/gtk/preferences.py:270 gajim/gtk/preferences.py:411 +#, fuzzy +msgid "Sort Contacts by Status" +msgstr "Sort contacts by status" + +#: gajim/gtk/preferences.py:276 +#, fuzzy +msgid "Show Mood" +msgstr "Set Mood" + +#: gajim/gtk/preferences.py:281 +#, fuzzy +msgid "Show Activity" +msgstr "Set Activity" + +#: gajim/gtk/preferences.py:286 +#, fuzzy +msgid "Show Tune" +msgstr "Features" + +#: gajim/gtk/preferences.py:323 +msgid "Needs gspell to be installed" +msgstr "" + +#: gajim/gtk/preferences.py:327 +#, fuzzy +msgid "Spell Checking" +msgstr "Spell Checker" + +#: gajim/gtk/preferences.py:335 +#, fuzzy +msgid "Message Receipts (✔)" +msgstr "message contents" + +#: gajim/gtk/preferences.py:338 +msgid "Add a checkmark to received messages" +msgstr "" + +#: gajim/gtk/preferences.py:341 +#, fuzzy +msgid "XHTML Formatting" +msgstr "Show a list of formattings" + +#: gajim/gtk/preferences.py:344 +msgid "Render XHTML styles (colors, etc.) of incoming messages" +msgstr "" + +#: gajim/gtk/preferences.py:348 +#, fuzzy +msgid "Show Send Message Button" +msgstr "Send message" + +#: gajim/gtk/preferences.py:358 +#, fuzzy +msgid "Show Chat State In Tabs" +msgstr "Show close button in tab?" + +#: gajim/gtk/preferences.py:361 +msgid "Show the contact’s chat state (e.g. typing) in the chat’s tab" +msgstr "" + +#: gajim/gtk/preferences.py:365 +#, fuzzy +msgid "Show Chat State In Banner" +msgstr "Display a_vatars of contacts in roster" + +#: gajim/gtk/preferences.py:368 +msgid "Show the contact’s chat state (e.g. typing) in the chats tab’s banner" +msgstr "" + +#: gajim/gtk/preferences.py:372 +#, fuzzy +msgid "Display Chat State In Contact List" +msgstr "_Display chat state notifications:" + +#: gajim/gtk/preferences.py:375 +#, fuzzy +msgid "Show the contact’s chat state (e.g. typing) in the contact list" +msgstr "Show close button in tab?" + +#: gajim/gtk/preferences.py:406 +#, fuzzy +msgid "Show Subject" +msgstr "Subject" + +#: gajim/gtk/preferences.py:417 +msgid "Default Sync Threshold" +msgstr "" + +#: gajim/gtk/preferences.py:420 +#, fuzzy +msgid "Default for new public group chats" +msgstr "Leave Groupchats" + +#: gajim/gtk/preferences.py:424 +msgid "Show Joined / Left" +msgstr "" + +#: gajim/gtk/preferences.py:427 gajim/gtk/preferences.py:438 +#, fuzzy +msgid "Default for new group chats" +msgstr "Leave Groupchats" + +#: gajim/gtk/preferences.py:428 gajim/gtk/preferences.py:439 +#: gajim/gtk/accounts.py:715 gajim/gtk/accounts.py:727 +#: gajim/gtk/accounts.py:740 +#, fuzzy +msgid "Reset" +msgstr "_Presence" + +#: gajim/gtk/preferences.py:429 gajim/gtk/preferences.py:440 +#: gajim/gtk/accounts.py:728 +msgid "Reset all group chats to the current default value" +msgstr "" + +#: gajim/gtk/preferences.py:435 gajim/gtk/groupchat_settings.py:48 +#, fuzzy +msgid "Show Status Changes" +msgstr "_Log status changes of contacts" + +#: gajim/gtk/preferences.py:468 +#, fuzzy +msgid "Hide icon" +msgstr "Trayicon" + +#: gajim/gtk/preferences.py:469 +#, fuzzy +msgid "Only show for pending events" +msgstr "Only when pending events" + +#: gajim/gtk/preferences.py:470 +msgid "Always show icon" +msgstr "" + +#: gajim/gtk/preferences.py:475 +#, fuzzy +msgid "Notification Area Icon" +msgstr "Use t_rayicon (aka. notification area icon)" + +#: gajim/gtk/preferences.py:482 +#, fuzzy +msgid "Open Events" +msgstr "Personal Events" + +#: gajim/gtk/preferences.py:485 +#, fuzzy +msgid "Open events instead of showing a notification in the contact list" +msgstr "Show only online and free for chat contacts in roster." + +#: gajim/gtk/preferences.py:489 gajim/gtk/preferences.py:512 +#, fuzzy +msgid "Show Notifications" +msgstr "Notifications" + +#: gajim/gtk/preferences.py:517 +#, fuzzy +msgid "Notifications When Away" +msgstr "Notifications" + +#: gajim/gtk/preferences.py:520 +#, fuzzy +msgid "Show notifications even if you are Away, Busy, etc." +msgstr "Use t_rayicon (aka. notification area icon)" + +#: gajim/gtk/preferences.py:525 gajim/data/gui/preferences.ui:271 +msgid "Notifications" +msgstr "Notifications" + +#: gajim/gtk/preferences.py:534 +#, fuzzy +msgid "Play Sounds" +msgstr "Play _sounds" + +#: gajim/gtk/preferences.py:537 +msgid "Play sounds to notify about events" +msgstr "" + +#: gajim/gtk/preferences.py:542 +msgid "Sounds When Away" +msgstr "" + +#: gajim/gtk/preferences.py:545 +#, fuzzy +msgid "Play sounds even when you are Away, Busy, etc." +msgstr "Play sound when user is busy" + +#: gajim/gtk/preferences.py:560 +#, fuzzy +msgid "Sign In" +msgstr "Sign _in" + +#: gajim/gtk/preferences.py:565 +#, fuzzy +msgid "Sign Out" +msgstr "Sign _out" + +#: gajim/gtk/preferences.py:570 +#, fuzzy +msgid "Status Change" +msgstr "_Log status changes of contacts" + +#: gajim/gtk/preferences.py:583 gajim/gtk/preferences.py:614 +#, fuzzy +msgid "Auto Away" +msgstr "Away" + +#: gajim/gtk/preferences.py:585 +msgid "Change your status to 'Away' after a certain amount of time" +msgstr "" + +#: gajim/gtk/preferences.py:590 gajim/gtk/preferences.py:642 +#, fuzzy +msgid "Auto Not Available" +msgstr "Not Available" + +#: gajim/gtk/preferences.py:592 +msgid "Change your status to 'Not Available' after a certain amount of time" +msgstr "" + +#: gajim/gtk/preferences.py:619 +msgid "Time Until Away" +msgstr "" + +#: gajim/gtk/preferences.py:622 gajim/gtk/preferences.py:650 +#, fuzzy +msgid "Minutes until your status gets changed" +msgstr "_Log status changes of contacts" + +#: gajim/gtk/preferences.py:633 gajim/gtk/preferences.py:828 +#, fuzzy +msgid "Auto Away Settings" +msgstr "Registration failed" + +#: gajim/gtk/preferences.py:647 +#, fuzzy +msgid "Time Until Not Available" +msgstr "Not Available" + +#: gajim/gtk/preferences.py:661 +#, fuzzy +msgid "Auto Extended Away Settings" +msgstr "Extended away" + +#: gajim/gtk/preferences.py:672 gajim/gtk/accounts.py:680 +msgid "Enabled" +msgstr "Enabled" + +#: gajim/gtk/preferences.py:673 gajim/data/gui/vcard_information_window.ui:123 +#, fuzzy +msgid "System" +msgstr "System:" + +#: gajim/gtk/preferences.py:678 +#, fuzzy +msgid "Dark Theme" +msgstr "gajim-remote" + +#: gajim/gtk/preferences.py:685 +#, fuzzy +msgid "Theme" +msgstr "Theme" + +#: gajim/gtk/preferences.py:731 +msgid "Convert ASCII Emojis" +msgstr "" + +#: gajim/gtk/preferences.py:734 +msgid "Typing short codes like :-) will display emojis" +msgstr "" + +#: gajim/gtk/preferences.py:741 +#, fuzzy +msgid "Emoji Theme" +msgstr "gajim-remote" + +#: gajim/gtk/preferences.py:744 +msgid "Choose from various emoji styles" +msgstr "" + +#: gajim/gtk/preferences.py:774 +#, fuzzy +msgid "Status Icon Set" +msgstr "Status _iconset:" + +#: gajim/gtk/preferences.py:781 +#, fuzzy +msgid "Use Transport Icons" +msgstr "Use _transports icons" + +#: gajim/gtk/preferences.py:784 +msgid "Display protocol-specific status icons (ICQ, ..)" +msgstr "" + +#: gajim/gtk/preferences.py:801 gajim/gtk/preferences.py:817 +msgid "Use Stun Server" +msgstr "" + +#: gajim/gtk/preferences.py:803 +msgid "Helps to establish calls through firewalls" +msgstr "" + +#: gajim/gtk/preferences.py:822 +#, fuzzy +msgid "STUN Server" +msgstr "Server:" + +#: gajim/gtk/preferences.py:848 +#, fuzzy +msgid "Audio Input Device" +msgstr "Default Message" + +#: gajim/gtk/preferences.py:851 +msgid "Select your audio input (e.g. microphone)" +msgstr "" + +#: gajim/gtk/preferences.py:855 +#, fuzzy +msgid "Audio Output Device" +msgstr "Default Message" + +#: gajim/gtk/preferences.py:858 +msgid "Select an audio output (e.g. speakers, headphones)" +msgstr "" + +#: gajim/gtk/preferences.py:890 gajim/gtk/preferences.py:898 +msgid "Default" +msgstr "Default" + +#: gajim/gtk/preferences.py:906 +#, fuzzy +msgid "Video Input Device" +msgstr "Default Message" + +#: gajim/gtk/preferences.py:910 +msgid "Select your video input device (e.g. webcam, screen capture)" +msgstr "" + +#: gajim/gtk/preferences.py:915 +#, fuzzy +msgid "Video Framerate" +msgstr "Private Chat" + +#: gajim/gtk/preferences.py:921 +#, fuzzy +msgid "Video Resolution" +msgstr "Private Chat" + +#: gajim/gtk/preferences.py:927 +msgid "Show My Video Stream" +msgstr "" + +#: gajim/gtk/preferences.py:930 +msgid "Show your own video stream in calls" +msgstr "" + +#: gajim/gtk/preferences.py:933 gajim/data/gui/video_preview.ui:51 +msgid "Live Preview" +msgstr "" + +#: gajim/gtk/preferences.py:935 +msgid "Show a live preview to test your video source" +msgstr "" + +#: gajim/gtk/preferences.py:975 +#, fuzzy +msgid "Global Proxy" +msgstr "Proxy:" + +#: gajim/gtk/preferences.py:980 gajim/gtk/account_wizard.py:732 +#: gajim/gtk/accounts.py:790 +#, fuzzy +msgid "No Proxy" +msgstr "Proxy:" + +#: gajim/gtk/preferences.py:985 +msgid "Use System Keyring" +msgstr "" + +#: gajim/gtk/preferences.py:988 +msgid "Use your system’s keyring to store passwords" +msgstr "" + +#: gajim/gtk/preferences.py:994 +msgid "Check For Updates" +msgstr "" + +#: gajim/gtk/preferences.py:997 gajim/common/config.py:241 +msgid "Check for Gajim updates periodically" +msgstr "" + +#: gajim/gtk/preferences.py:1033 +#, fuzzy +msgid "Debug Logging" +msgstr "Jogging" + +#: gajim/gtk/message_input.py:48 +#, fuzzy +msgid "Write a message…" +msgstr "New Private Message" + +#: gajim/gtk/settings.py:400 gajim/gtk/settings.py:758 +#: gajim/gtk/settings.py:784 gajim/gtk/settings.py:793 +#: gajim/gtk/settings.py:802 gajim/gtk/settings.py:811 +msgid "?switch:On" +msgstr "" + +#: gajim/gtk/settings.py:400 gajim/gtk/settings.py:758 +#: gajim/gtk/settings.py:784 gajim/gtk/settings.py:793 +#: gajim/gtk/settings.py:802 gajim/gtk/settings.py:811 +msgid "?switch:Off" +msgstr "" + +#: gajim/gtk/settings.py:538 gajim/gtk/manage_sounds.py:46 +#: gajim/gtk/filechoosers.py:89 gajim/gtk/filechoosers.py:140 +#: gajim/gtk/filechoosers.py:147 +msgid "All files" +msgstr "All files" + +#: gajim/gtk/settings.py:547 +#, fuzzy +msgid "Clear File" +msgstr "Cleaning" + +#: gajim/gtk/settings.py:745 +#, fuzzy +msgid "Adjust to Status" +msgstr "_Adjust to status" + +#: gajim/gtk/history_sync.py:111 gajim/gtk/history_sync.py:193 +#, fuzzy +msgid "Synchronise History" +msgstr "Synchronise" + +#: gajim/gtk/history_sync.py:205 +#, fuzzy +msgid "How far back should the chat history be synchronised?" +msgstr "What do you want to do?" + +#: gajim/gtk/history_sync.py:210 +msgid "One Month" +msgstr "" + +#: gajim/gtk/history_sync.py:211 +msgid "Three Months" +msgstr "" + +#: gajim/gtk/history_sync.py:212 +msgid "One Year" +msgstr "" + +#: gajim/gtk/history_sync.py:213 +msgid "Everything" +msgstr "" + +#: gajim/gtk/history_sync.py:241 gajim/gtk/account_wizard.py:276 +#: gajim/gtk/account_wizard.py:295 gajim/gtk/account_wizard.py:312 +#, fuzzy +msgid "Connecting..." +msgstr "Connecting" + +#: gajim/gtk/history_sync.py:253 +#, fuzzy, python-format +msgid "%(received)s of %(max)s" +msgstr "File transfer of %(filename)s from %(name)s stopped." + +#: gajim/gtk/history_sync.py:257 +#, fuzzy, python-format +msgid "Downloaded %s messages" +msgstr "Forward unread messages" + +#: gajim/gtk/history_sync.py:277 +#, python-format +msgid "" +"Finished synchronising chat history:\n" +"%s messages downloaded" +msgstr "" + +#: gajim/gtk/history_sync.py:281 +msgid "Gajim is fully synchronised with the archive." +msgstr "" + +#: gajim/gtk/history_sync.py:284 +msgid "There is already a synchronisation in progress. Please try again later." +msgstr "" + +#: gajim/gtk/pep_config.py:49 +#, fuzzy, python-format +msgid "PEP Service Configuration (%s)" +msgstr "PEP Service Configuration" + +#: gajim/gtk/pep_config.py:74 +#, fuzzy +msgid "Service" +msgstr "Server" + +#: gajim/gtk/pep_config.py:105 +msgid "PEP node was not removed" +msgstr "PEP node was not removed" + +#: gajim/gtk/pep_config.py:106 +#, fuzzy, python-format +msgid "" +"PEP node %(node)s was not removed:\n" +"%(message)s" +msgstr "PEP node %(node)s was not removed: %(message)s" + +#: gajim/gtk/pep_config.py:153 +#, fuzzy, python-format +msgid "Configure %s" +msgstr "_Configure" + +#: gajim/gtk/mam_preferences.py:42 +#, python-format +msgid "Archiving Preferences for %s" +msgstr "" + +#: gajim/gtk/mam_preferences.py:101 +#, fuzzy +msgid "Archiving Preferences Saved" +msgstr "_Preferences" + +#: gajim/gtk/mam_preferences.py:102 +#, fuzzy +msgid "Your archiving preferences have successfully been saved." +msgstr "_Preferences" + +#: gajim/gtk/mam_preferences.py:109 +#, fuzzy +msgid "Archiving Preferences Error" +msgstr "_Preferences" + +#: gajim/gtk/mam_preferences.py:110 +#, fuzzy +msgid "Error received: {}" +msgstr "Error in received dataform" + +#: gajim/gtk/statusicon.py:198 +#, fuzzy +msgid "_Change Status Message…" +msgstr "_Change Status Message" + +#: gajim/gtk/statusicon.py:250 +#, python-format +msgid "using account %s" +msgstr "using account %s" + +#: gajim/gtk/statusicon.py:263 +#, fuzzy +msgid "Hide _Contact List" +msgstr "Invite _Contacts" + +#: gajim/gtk/statusicon.py:268 gajim/data/gui/application_menu.ui:42 +#, fuzzy +msgid "Show _Contact List" +msgstr "Show Only _Active Contacts" + +#: gajim/gtk/statusicon.py:276 +msgid "Hide this menu" +msgstr "Hide this menu" + +#: gajim/gtk/start_chat.py:57 +#, fuzzy +msgid "Start / Join Chat" +msgstr "Start Chat" + +#: gajim/gtk/start_chat.py:285 gajim/gtk/start_chat.py:370 +msgid "You can not join a group chat unless you are connected." +msgstr "You can not join a group chat unless you are connected." + +#: gajim/gtk/start_chat.py:634 gajim/gtk/groupchat_join.py:40 +msgid "Join Group Chat" +msgstr "Join Group Chat" + +#: gajim/gtk/start_chat.py:715 +msgid "" +"Search for group chats globally\n" +"(press Return to start search)" +msgstr "" + +#: gajim/gtk/start_chat.py:808 +#, fuzzy, python-format +msgid "%s group chats found" +msgstr "%s not found" + +#: gajim/gtk/notification.py:184 gajim/gtk/notification.py:205 +#: gajim/gtk/notification.py:219 gajim/gtk/notification.py:272 +#: gajim/common/connection_handlers_events.py:234 +msgid "New Private Message" +msgstr "New Private Message" + +#: gajim/gtk/notification.py:185 gajim/gtk/notification.py:206 +#: gajim/gtk/notification.py:220 gajim/common/connection_handlers_events.py:328 +#, fuzzy +msgid "New Group Chat Message" +msgstr "New Group Chat" + +#: gajim/gtk/notification.py:186 gajim/gtk/notification.py:212 +#: gajim/gtk/notification.py:289 gajim/common/connection_handlers_events.py:418 +msgid "Contact Changed Status" +msgstr "Contact Changed Status" + +#: gajim/gtk/notification.py:200 +#, fuzzy +msgid "Open" +msgstr "OpenGPG" + +#: gajim/gtk/notification.py:209 +msgid "Mark as Read" +msgstr "" + +#: gajim/gtk/notification.py:273 +msgid "New E-mail" +msgstr "New E-mail" + +#: gajim/gtk/video_preview.py:116 +msgid "OpenGL accelerated" +msgstr "" + +#: gajim/gtk/video_preview.py:120 +msgid "Not accelerated" +msgstr "" + +#: gajim/gtk/video_preview.py:127 +msgid "Something went wrong. Video feature disabled." +msgstr "" + +#: gajim/gtk/groupchat_invite.py:304 +#, fuzzy +msgid "Invite New Contact" +msgstr "Invite _Contacts" + +#: gajim/gtk/themes.py:37 +#, fuzzy +msgid "Chatstate Composing" +msgstr "Composing" + +#: gajim/gtk/themes.py:41 +#, fuzzy +msgid "Chatstate Inactive" +msgstr "Inactive" + +#: gajim/gtk/themes.py:45 +msgid "Chatstate Gone" +msgstr "" + +#: gajim/gtk/themes.py:49 +#, fuzzy +msgid "Chatstate Paused" +msgstr "Change status" + +#: gajim/gtk/themes.py:53 +#, fuzzy +msgid "Group Chat Tab New Directed Message" +msgstr "" +"MUC Directed\n" +"Messages" + +#: gajim/gtk/themes.py:57 +#, fuzzy +msgid "Group Chat Tab New Message" +msgstr "New Message" + +#: gajim/gtk/themes.py:61 +msgid "Banner Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:65 +msgid "Banner Background Color" +msgstr "" + +#: gajim/gtk/themes.py:69 +msgid "Banner Font" +msgstr "" + +#: gajim/gtk/themes.py:73 +msgid "Account Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:77 +msgid "Account Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:81 +#, fuzzy +msgid "Account Row Font" +msgstr "Account" + +#: gajim/gtk/themes.py:85 +msgid "Group Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:89 +msgid "Group Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:93 +#, fuzzy +msgid "Group Row Font" +msgstr "Group" + +#: gajim/gtk/themes.py:97 +msgid "Contact Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:101 +msgid "Contact Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:105 +#, fuzzy +msgid "Contact Row Font" +msgstr "_Show event in roster" + +#: gajim/gtk/themes.py:109 +#, fuzzy +msgid "Conversation Font" +msgstr "Conversation with " + +#: gajim/gtk/themes.py:113 +#, fuzzy +msgid "Incoming Nickname Color" +msgstr "Incoming nickname colour." + +#: gajim/gtk/themes.py:117 +#, fuzzy +msgid "Outgoing Nickname Color" +msgstr "Outgoing nickname colour." + +#: gajim/gtk/themes.py:121 +#, fuzzy +msgid "Incoming Message Text Color" +msgstr "Incoming text colour." + +#: gajim/gtk/themes.py:125 +#, fuzzy +msgid "Incoming Message Text Font" +msgstr "Incoming text font." + +#: gajim/gtk/themes.py:129 +#, fuzzy +msgid "Outgoing Message Text Color" +msgstr "Outgoing text colour." + +#: gajim/gtk/themes.py:133 +#, fuzzy +msgid "Outgoing Message Text Font" +msgstr "Outgoing text font." + +#: gajim/gtk/themes.py:137 +#, fuzzy +msgid "Status Message Color" +msgstr "Status Message" + +#: gajim/gtk/themes.py:141 +#, fuzzy +msgid "Status Message Font" +msgstr "Status Message" + +#: gajim/gtk/themes.py:145 +#, fuzzy +msgid "URL Color" +msgstr "Colour" + +#: gajim/gtk/themes.py:149 +#, fuzzy +msgid "Highlight Message Color" +msgstr "_Highlight misspelt words" + +#: gajim/gtk/themes.py:153 +#, fuzzy +msgid "Message Correcting" +msgstr "Messages" + +#: gajim/gtk/themes.py:157 +#, fuzzy +msgid "Contact Disconnected Background" +msgstr "Contact Disconnected" + +#: gajim/gtk/themes.py:161 +#, fuzzy +msgid "Contact Connected Background " +msgstr "Contact Connected" + +#: gajim/gtk/themes.py:164 +#, fuzzy +msgid "Status Online Color" +msgstr "Status Message" + +#: gajim/gtk/themes.py:167 +#, fuzzy +msgid "Status Away Color" +msgstr "Status Message" + +#: gajim/gtk/themes.py:170 +#, fuzzy +msgid "Status DND Color" +msgstr "Status Message" + +#: gajim/gtk/themes.py:173 +#, fuzzy +msgid "Status Offline Color" +msgstr "Status Message" + +#: gajim/gtk/themes.py:187 +#, fuzzy +msgid "Gajim Themes" +msgstr "gajim-remote" + +#: gajim/gtk/themes.py:223 gajim/gtk/themes.py:230 +#, fuzzy +msgid "Invalid Name" +msgstr "Invalid Nickname" + +#: gajim/gtk/themes.py:224 +msgid "Name default is not allowed" +msgstr "" + +#: gajim/gtk/themes.py:231 +#, fuzzy +msgid "Spaces are not allowed" +msgstr "Character not allowed" + +#: gajim/gtk/themes.py:356 +#, fuzzy +msgid "Do you want to delete this theme?" +msgstr "Do you really want to delete the selected message?" + +#: gajim/gtk/themes.py:358 +#, fuzzy +msgid "" +"This is the theme you are currently using.\n" +"Do you want to delete this theme?" +msgstr "" +"This name is already used. Do you want to overwrite this status message?" + +#: gajim/gtk/themes.py:363 +#, fuzzy +msgid "Delete Theme" +msgstr "Active" + +#: gajim/gtk/themes.py:390 +#, fuzzy +msgid "Remove Setting" +msgstr "Registration failed" + +#: gajim/gtk/filetransfer_progress.py:62 +#, fuzzy +msgid "Upload Failed" +msgstr "Save File as..." + +#: gajim/gtk/filetransfer_progress.py:113 +#, fuzzy, python-format +msgid "%(progress)s of %(total)s" +msgstr "File transfer of %(filename)s from %(name)s stopped." + +#: gajim/gtk/filetransfer_progress.py:130 +#, python-format +msgid "%(minutes)s min %(seconds)s sec" +msgstr "" + +#: gajim/gtk/add_contact.py:32 +#, fuzzy +msgid "GG Number" +msgstr "GG Number:" + +#: gajim/gtk/add_contact.py:33 +#, fuzzy +msgid "ICQ Number" +msgstr "ICQ Number:" + +#: gajim/gtk/add_contact.py:42 +#, fuzzy +msgid "Add Contact" +msgstr "_Add Contact..." + +#: gajim/gtk/add_contact.py:260 +#, fuzzy, python-format +msgid "%s Missing" +msgstr "%s MiB" + +#: gajim/gtk/add_contact.py:261 +#, fuzzy, python-format +msgid "You must supply the %s of the new contact." +msgstr "You must enter a password for the new account." + +#: gajim/gtk/add_contact.py:288 gajim/gtk/add_contact.py:294 +#: gajim/gtk/add_contact.py:299 +msgid "Invalid User ID" +msgstr "Invalid User ID" + +#: gajim/gtk/add_contact.py:295 +msgid "The user ID must not contain a resource." +msgstr "The user ID must not contain a resource." + +#: gajim/gtk/add_contact.py:300 +#, fuzzy +msgid "You cannot add yourself to your contact list." +msgstr "You cannot add yourself to your roster." + +#: gajim/gtk/add_contact.py:305 +#, fuzzy +msgid "Account Offline" +msgstr "Offline" + +#: gajim/gtk/add_contact.py:306 +msgid "Your account must be online to add new contacts." +msgstr "" + +#: gajim/gtk/add_contact.py:322 +#, fuzzy +msgid "Contact Already in Contact List" +msgstr "Contact already in roster" + +#: gajim/gtk/add_contact.py:323 +#, fuzzy +msgid "This contact is already in your contact list." +msgstr "This contact is already listed in your roster." + +#: gajim/gtk/add_contact.py:381 gajim/gtk/add_contact.py:419 +msgid "User ID:" +msgstr "User ID:" + +#: gajim/gtk/add_contact.py:486 +#, fuzzy +msgid "Error while adding transport contact" +msgstr "Error while adding service. %s" + +#: gajim/gtk/add_contact.py:487 +#, python-format +msgid "" +"This error occurred while adding a contact for transport %(transport)s:\n" +"\n" +"%(error)s" +msgstr "" + +#: gajim/gtk/account_wizard.py:61 gajim/data/gui/account_wizard.ui:631 +#, fuzzy +msgid "Sign Up" +msgstr "Sign _in" + +#: gajim/gtk/account_wizard.py:63 +#, fuzzy +msgid "Connect" +msgstr "Connected" + +#: gajim/gtk/account_wizard.py:64 gajim/gtk/adhoc.py:102 +msgid "Next" +msgstr "" + +#: gajim/gtk/account_wizard.py:65 +#, fuzzy +msgid "Log In" +msgstr "_Log on" + +#: gajim/gtk/account_wizard.py:67 gajim/gtk/remove_account.py:44 +#: gajim/gtk/change_password.py:45 gajim/gtk/accounts.py:384 +#, fuzzy +msgid "Back" +msgstr "Back soon" + +#: gajim/gtk/account_wizard.py:80 +msgid "An error occurred during account creation" +msgstr "An error occurred during account creation" + +#: gajim/gtk/account_wizard.py:166 +#, fuzzy +msgid "Creating Account..." +msgstr "Removing %s account" + +#: gajim/gtk/account_wizard.py:167 +#, fuzzy +msgid "Trying to create account..." +msgstr "Click to change account's password" + +#: gajim/gtk/account_wizard.py:277 gajim/gtk/account_wizard.py:296 +#: gajim/gtk/account_wizard.py:313 +#, fuzzy +msgid "Connecting to server..." +msgstr "Connecting" + +#: gajim/gtk/account_wizard.py:367 gajim/gtk/account_wizard.py:368 +msgid "Anonymous login not supported" +msgstr "" + +#: gajim/gtk/account_wizard.py:369 +#, fuzzy +msgid "This server does not support anonymous login." +msgstr "Your server doesn't support Vcard" + +#: gajim/gtk/account_wizard.py:372 gajim/common/client.py:284 +#: gajim/common/const.py:958 gajim/common/const.py:959 +#: gajim/common/const.py:960 gajim/common/const.py:963 +#, fuzzy +msgid "Authentication failed" +msgstr "Authentication failed with \"%s\"" + +#: gajim/gtk/account_wizard.py:384 gajim/gtk/account_wizard.py:385 +#, fuzzy +msgid "Signup not allowed" +msgstr "Character not allowed" + +#: gajim/gtk/account_wizard.py:386 +#, fuzzy +msgid "This server does not allow signup." +msgstr "Your server doesn't support Vcard" + +#: gajim/gtk/account_wizard.py:395 gajim/gtk/account_wizard.py:432 +#: gajim/gtk/account_wizard.py:433 gajim/gtk/account_wizard.py:520 +#: gajim/gtk/groupchat_config.py:132 gajim/gtk/groupchat_config.py:399 +#: gajim/gtk/history.py:591 gajim/gtk/search.py:336 +msgid "Error" +msgstr "Error" + +#: gajim/gtk/account_wizard.py:402 gajim/gtk/account_wizard.py:403 +#, fuzzy +msgid "Connection failed" +msgstr "Connection Failed" + +#: gajim/gtk/account_wizard.py:404 +msgid "" +"Gajim was not able to reach the server. Make sure your XMPP address is " +"correct." +msgstr "" + +#: gajim/gtk/account_wizard.py:459 +#, fuzzy +msgid "Account is being created" +msgstr "Account \"%s\" is connected to the server" + +#: gajim/gtk/account_wizard.py:518 +msgid "The server rejected the registration without an error message" +msgstr "" + +#: gajim/gtk/account_wizard.py:530 gajim/gtk/accounts.py:572 +#, fuzzy +msgid "Add Account" +msgstr "_Add Contact..." + +#: gajim/gtk/account_wizard.py:612 gajim/gtk/groupchat_creation.py:138 +#, fuzzy +msgid "Invalid Address" +msgstr "Invalid File" + +#: gajim/gtk/account_wizard.py:636 +#, fuzzy +msgid "Create New Account" +msgstr "Create new post" + +#: gajim/gtk/account_wizard.py:712 +#, fuzzy +msgid "Advanced settings" +msgstr "Advanced Actions" + +#: gajim/gtk/account_wizard.py:774 +#, fuzzy +msgid "Invalid domain name" +msgstr "Invalid account name" + +#: gajim/gtk/account_wizard.py:791 +#, fuzzy +msgid "Must be a port number" +msgstr "Custom port must be a port number." + +#: gajim/gtk/account_wizard.py:798 +msgid "Port must be a number between 0 and 65535" +msgstr "" + +#: gajim/gtk/account_wizard.py:814 +#, fuzzy +msgid "Security Warning" +msgstr "Banning %s" + +#: gajim/gtk/account_wizard.py:833 +#, fuzzy, python-format +msgid "Unknown TLS error '%s'" +msgstr "Unknown SSL error: %d" + +#: gajim/gtk/account_wizard.py:868 gajim/gtk/account_wizard.py:871 +#, fuzzy +msgid "Create Account" +msgstr "Removing %s account" + +#: gajim/gtk/account_wizard.py:922 +msgid "Redirect" +msgstr "" + +#: gajim/gtk/account_wizard.py:932 +#, fuzzy +msgid "Register on the Website" +msgstr "Register to %s" + +#: gajim/gtk/account_wizard.py:943 +#, fuzzy +msgid "Account Added" +msgstr "Account" + +#: gajim/gtk/account_wizard.py:944 +msgid "Account has been added successfully" +msgstr "Account has been added successfully" + +#: gajim/gtk/groupchat_invitation.py:57 +#, fuzzy +msgid "" +"has invited you to a group chat.\n" +"Do you want to join?" +msgstr "Choose the groupchats you want to leave" + +#: gajim/gtk/groupchat_invitation.py:75 gajim/gtk/discovery.py:1706 +#: gajim/gtk/groupchat_join.py:68 gajim/data/gui/groupchat_control.ui:899 +#: gajim/data/gui/groupchat_control.ui:991 +#: gajim/data/gui/start_chat_dialog.ui:314 +msgid "_Join" +msgstr "_Join" + +#: gajim/gtk/tooltips.py:215 +#, python-format +msgid "%(owner_or_admin_or_member)s of this group chat" +msgstr "%(owner_or_admin_or_member)s of this group chat" + +#: gajim/gtk/tooltips.py:474 +msgid "Connected" +msgstr "Connected" + +#: gajim/gtk/tooltips.py:476 +msgid "Disconnected" +msgstr "Disconnected" + +#: gajim/gtk/tooltips.py:530 +#, fuzzy +msgid "File Name: " +msgstr "Filename: %s" + +#: gajim/gtk/tooltips.py:533 +#, fuzzy +msgid "?Noun:Download" +msgstr "Download" + +#: gajim/gtk/tooltips.py:534 gajim/gtk/filetransfer.py:747 +msgid "Sender: " +msgstr "Sender: " + +#: gajim/gtk/tooltips.py:539 +#, fuzzy +msgid "?Noun:Upload" +msgstr "Upload" + +#: gajim/gtk/tooltips.py:540 gajim/gtk/filetransfer.py:240 +#: gajim/gtk/filetransfer.py:749 +msgid "Recipient: " +msgstr "Recipient: " + +#: gajim/gtk/tooltips.py:546 +#, fuzzy +msgid "?transfer type:Type: " +msgstr "File transfer stopped" + +#: gajim/gtk/tooltips.py:552 +#, fuzzy +msgid "?transfer status:Transferred: " +msgstr "Paused" + +#: gajim/gtk/tooltips.py:555 +#, fuzzy +msgid "?transfer status:Status: " +msgstr "Paused" + +#: gajim/gtk/tooltips.py:557 +msgid "Description: " +msgstr "Description: " + +#: gajim/gtk/tooltips.py:581 +#, fuzzy +msgid "?transfer status:Aborted" +msgstr "Paused" + +#: gajim/gtk/tooltips.py:583 +#, fuzzy +msgid "?transfer status:Completed" +msgstr "Paused" + +#: gajim/gtk/tooltips.py:585 +msgid "?transfer status:Paused" +msgstr "Paused" + +#: gajim/gtk/tooltips.py:588 +#, fuzzy +msgid "?transfer status:Stalled" +msgstr "Paused" + +#: gajim/gtk/tooltips.py:592 +#, fuzzy +msgid "?transfer status:Transferring" +msgstr "Paused" + +#: gajim/gtk/tooltips.py:593 gajim/gtk/tooltips.py:594 +#, fuzzy +msgid "?transfer status:Not started" +msgstr "Paused" + +#: gajim/gtk/remove_account.py:42 gajim/gtk/accounts.py:341 +#, fuzzy +msgid "Remove" +msgstr "_Remove" + +#: gajim/gtk/remove_account.py:49 +#, fuzzy +msgid "Removing Account..." +msgstr "Removing %s account" + +#: gajim/gtk/remove_account.py:50 +msgid "Trying to remove account..." +msgstr "" + +#: gajim/gtk/remove_account.py:53 gajim/gtk/remove_account.py:54 +#, fuzzy +msgid "Account Removed" +msgstr "Account" + +#: gajim/gtk/remove_account.py:56 +#, fuzzy +msgid "Your account has has been removed successfully." +msgstr "Your new account has been successfully created" + +#: gajim/gtk/remove_account.py:59 gajim/gtk/remove_account.py:60 +#, fuzzy +msgid "Account Removal Failed" +msgstr "No account available" + +#: gajim/gtk/remove_account.py:171 gajim/gtk/remove_account.py:173 +#, fuzzy +msgid "Remove Account" +msgstr "Removing %s account" + +#: gajim/gtk/remove_account.py:180 +#, fuzzy +msgid "This will remove your account from Gajim." +msgstr "Remove account _only from Gajim" + +#: gajim/gtk/remove_account.py:189 +#, python-format +msgid "Do you want to unregister your account on %s as well?" +msgstr "" + +#: gajim/gtk/remove_account.py:198 +msgid "_Unregister account from service" +msgstr "" + +#: gajim/gtk/remove_account.py:217 +#, fuzzy +msgid "Account has to be connected" +msgstr "Account \"%s\" is connected to the server" + +#: gajim/gtk/filetransfer.py:91 +msgid "File" +msgstr "File" + +#: gajim/gtk/filetransfer.py:108 +msgid "Time" +msgstr "Time" + +#: gajim/gtk/filetransfer.py:121 gajim/data/gui/filetransfer_progress.ui:110 +msgid "Progress" +msgstr "Progress" + +#: gajim/gtk/filetransfer.py:228 +#, fuzzy, python-format +msgid "File name: %s" +msgstr "Filename: %s" + +#: gajim/gtk/filetransfer.py:229 gajim/gtk/filetransfer.py:470 +#, python-format +msgid "Size: %s" +msgstr "Size: %s" + +#: gajim/gtk/filetransfer.py:239 +#, python-format +msgid "Sender: %s" +msgstr "Sender: %s" + +#: gajim/gtk/filetransfer.py:251 +#, python-format +msgid "Saved in: %s" +msgstr "Saved in: %s" + +#: gajim/gtk/filetransfer.py:256 +msgid "File transfer completed" +msgstr "File transfer completed" + +#: gajim/gtk/filetransfer.py:276 gajim/gtk/filetransfer.py:285 +#, fuzzy +msgid "Connection with peer could not be established." +msgstr "Connection with peer cannot be established." + +#: gajim/gtk/filetransfer.py:293 +#, python-format +msgid "Filename: %s" +msgstr "Filename: %s" + +#: gajim/gtk/filetransfer.py:294 +#, python-format +msgid "Recipient: %s" +msgstr "Recipient: %s" + +#: gajim/gtk/filetransfer.py:296 +#, python-format +msgid "Error message: %s" +msgstr "Error message: %s" + +#: gajim/gtk/filetransfer.py:335 +#, python-format +msgid "" +"The file %s has been received, but it seems to have been damaged along the " +"way.\n" +"Do you want to download it again?" +msgstr "" + +#: gajim/gtk/filetransfer.py:341 +#, fuzzy +msgid "_Download Again" +msgstr "Do _not ask me again" + +#: gajim/gtk/filetransfer.py:356 +#, fuzzy +msgid "Gajim can not read this file" +msgstr "Gajim cannot access this file" + +#: gajim/gtk/filetransfer.py:357 +msgid "Another process is using this file." +msgstr "" + +#: gajim/gtk/filetransfer.py:399 +#, fuzzy, python-format +msgid "Cannot overwrite existing file '%s'" +msgstr "Cannot overwrite existing file \"%s\"" + +#: gajim/gtk/filetransfer.py:400 +msgid "" +"A file with this name already exists and you do not have permission to " +"overwrite it." +msgstr "" +"A file with this name already exists and you do not have permission to " +"overwrite it." + +#: gajim/gtk/filetransfer.py:424 +#, fuzzy +msgid "File Transfer Conflict" +msgstr "File Transfer Completed" + +#: gajim/gtk/filetransfer.py:425 +#, fuzzy +msgid "File already exists" +msgstr "This file already exists" + +#: gajim/gtk/filetransfer.py:426 +msgid "Resume download or replace file?" +msgstr "" + +#: gajim/gtk/filetransfer.py:430 +#, fuzzy +msgid "Resume _Download" +msgstr "Download" + +#: gajim/gtk/filetransfer.py:433 +#, fuzzy +msgid "Replace _File" +msgstr "Cleaning" + +#: gajim/gtk/filetransfer.py:443 +#, fuzzy, python-format +msgid "Directory '%s' is not writable" +msgstr "Directory \"%s\" is not writable" + +#: gajim/gtk/filetransfer.py:444 +#, fuzzy +msgid "You do not have permissions to create files in this directory." +msgstr "You do not have permission to create files in this directory." + +#: gajim/gtk/filetransfer.py:467 +#, python-format +msgid "File: %s" +msgstr "File: %s" + +#: gajim/gtk/filetransfer.py:473 +#, python-format +msgid "Type: %s" +msgstr "Type: %s" + +#: gajim/gtk/filetransfer.py:475 +#, python-format +msgid "Description: %s" +msgstr "Description: %s" + +#: gajim/gtk/filetransfer.py:486 +#, fuzzy, python-format +msgid "%s wants to send you a file" +msgstr "%s wants to send you a file." + +#: gajim/gtk/filetransfer.py:514 +#, fuzzy +msgid "Checking file…" +msgstr "Sending profile..." + +#: gajim/gtk/filetransfer.py:529 +#, fuzzy +msgid "File error" +msgstr "File Transfer Error" + +#: gajim/gtk/filetransfer.py:566 +#, python-format +msgid "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" +msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" + +#: gajim/gtk/filetransfer.py:663 +#, python-format +msgid "(%(filesize_unit)s/s)" +msgstr "(%(filesize_unit)s/s)" + +#: gajim/gtk/filetransfer.py:716 gajim/gtk/filetransfer.py:720 +msgid "Invalid File" +msgstr "Invalid File" + +#: gajim/gtk/filetransfer.py:716 +msgid "File: " +msgstr "File: " + +#: gajim/gtk/filetransfer.py:721 +msgid "It is not possible to send empty files" +msgstr "It is not possible to send empty files" + +#: gajim/gtk/filetransfer.py:1043 +#, fuzzy +msgid "Choose a File to Send…" +msgstr "Choose File to Send..." + +#: gajim/gtk/roster_item_exchange.py:35 +#: gajim/data/gui/roster_item_exchange_window.ui:39 +#, fuzzy +msgid "Contact List Exchange" +msgstr "Roster Item Exchange" + +#: gajim/gtk/roster_item_exchange.py:49 +#, fuzzy, python-format +msgid "%s would like to add some contacts to your contact list." +msgstr "I would like to add you to my contact list." + +#: gajim/gtk/roster_item_exchange.py:52 +#, fuzzy, python-format +msgid "%s would like to modify some contacts in your contact list." +msgstr "%s would like you to %s some contacts in your roster." + +#: gajim/gtk/roster_item_exchange.py:55 +#, fuzzy, python-format +msgid "%s would like to delete some contacts from your contact list." +msgstr "%s would like you to %s some contacts in your roster." + +#: gajim/gtk/roster_item_exchange.py:71 gajim/gtk/roster_item_exchange.py:130 +msgid "Add" +msgstr "Add" + +#: gajim/gtk/roster_item_exchange.py:73 gajim/gtk/roster_item_exchange.py:161 +msgid "Modify" +msgstr "Modify" + +#: gajim/gtk/roster_item_exchange.py:80 +msgid "JID" +msgstr "JID" + +#: gajim/gtk/roster_item_exchange.py:86 +msgid "Groups" +msgstr "Groups" + +#: gajim/gtk/roster_item_exchange.py:196 +#, fuzzy, python-format +msgid "%s suggested me to add you to my contact list." +msgstr "%s suggested me to add you in my roster." + +#: gajim/gtk/roster_item_exchange.py:211 +#, fuzzy, python-format +msgid "Added %d contact" +msgid_plural "Added %d contacts" +msgstr[0] "_Add contact" +msgstr[1] "_Add contact" + +#: gajim/gtk/roster_item_exchange.py:253 +#, fuzzy, python-format +msgid "Removed %d contact" +msgid_plural "Removed %d contacts" +msgstr[0] "Removes contact from roster" +msgstr[1] "Removes contact from roster" + +#: gajim/gtk/groupchat_creation.py:45 gajim/data/gui/groupchat_creation.ui:81 +#, fuzzy +msgid "Create Group Chat" +msgstr "Leave Groupchats" + +#: gajim/gtk/groupchat_creation.py:101 gajim/gtk/groupchat_creation.py:103 +msgid " (optional)..." +msgstr "" + +#: gajim/gtk/groupchat_creation.py:186 +#, fuzzy +msgid "Not Connected" +msgstr "Connected" + +#: gajim/gtk/groupchat_creation.py:187 +#, fuzzy +msgid "You have to be connected to create a group chat." +msgstr "You have not joined a groupchat." + +#: gajim/gtk/status_selector.py:121 gajim/gtk/status_selector.py:127 +#, fuzzy, python-format +msgid "Status: %s" +msgstr "Status: " + +#: gajim/gtk/status_selector.py:125 +#, fuzzy, python-format +msgid "%s (desynced)" +msgstr "desync'ed" + +#: gajim/gtk/subscription_request.py:35 +msgid "Subscription Request" +msgstr "Subscription Request" + +#: gajim/gtk/subscription_request.py:47 +#, python-format +msgid "Subscription request for account %(account)s from %(jid)s" +msgstr "Subscription request for account %(account)s from %(jid)s" + +#: gajim/gtk/subscription_request.py:50 +#, python-format +msgid "Subscription request from %s" +msgstr "Subscription request from %s" + +#: gajim/gtk/single_message.py:51 +msgid "Send Single Message" +msgstr "Send Single Message" + +#: gajim/gtk/single_message.py:101 +#, fuzzy +msgid "(No subject)" +msgstr "subject" + +#: gajim/gtk/single_message.py:157 +#, python-format +msgid "Single Message using account %s" +msgstr "Single Message using account %s" + +#: gajim/gtk/single_message.py:159 +#, python-format +msgid "Single Message in account %s" +msgstr "Single Message in account %s" + +#: gajim/gtk/single_message.py:161 +msgid "Single Message" +msgstr "Single Message" + +#: gajim/gtk/single_message.py:164 +#, python-format +msgid "Send %s" +msgstr "Send %s" + +#: gajim/gtk/single_message.py:183 +#, python-format +msgid "Received %s" +msgstr "Received %s" + +#: gajim/gtk/single_message.py:205 +#, fuzzy, python-format +msgid "Characters typed: %s" +msgstr "Character not allowed" + +#: gajim/gtk/single_message.py:210 gajim/gtk/xml_console.py:169 +msgid "Connection not available" +msgstr "Connection not available" + +#: gajim/gtk/single_message.py:211 +#, python-format +msgid "Please make sure you are connected with \"%s\"." +msgstr "Please make sure you are connected with \"%s\"." + +#: gajim/gtk/single_message.py:239 +#, fuzzy, python-format +msgid "" +"It is not possible to send a message to %s, this XMPP Address is not valid." +msgstr "It is not possible to send a message to %s, this JID is not valid." + +#: gajim/gtk/single_message.py:316 +#, python-format +msgid "RE: %s" +msgstr "RE: %s" + +#: gajim/gtk/single_message.py:317 +#, python-format +msgid "%s wrote:\n" +msgstr "%s wrote:\n" + +#: gajim/gtk/change_password.py:42 +#, fuzzy +msgid "Change" +msgstr "Change _Nickname..." + +#: gajim/gtk/change_password.py:51 +#, fuzzy +msgid "Changing Password..." +msgstr "Change Password" + +#: gajim/gtk/change_password.py:52 +#, fuzzy +msgid "Trying to change password..." +msgstr "Click to change account's password" + +#: gajim/gtk/change_password.py:55 gajim/gtk/change_password.py:56 +#, fuzzy +msgid "Password Changed" +msgstr "Password Required" + +#: gajim/gtk/change_password.py:57 +#, fuzzy +msgid "Your password has successfully been changed." +msgstr "_Preferences" + +#: gajim/gtk/change_password.py:60 gajim/gtk/change_password.py:61 +#, fuzzy +msgid "Password Change Failed" +msgstr "Password Required" + +#: gajim/gtk/change_password.py:63 +#, fuzzy +msgid "An error occurred while trying to change your password." +msgstr "An error occurred during account creation" + +#: gajim/gtk/change_password.py:145 gajim/gtk/change_password.py:147 +#: gajim/gtk/change_password.py:224 gajim/gtk/accounts.py:994 +msgid "Change Password" +msgstr "Change Password" + +#: gajim/gtk/change_password.py:154 +#, fuzzy +msgid "Please enter your new password." +msgstr "Please create a clean new theme with your desired name." + +#: gajim/gtk/change_password.py:167 +#, fuzzy +msgid "Enter new password..." +msgstr "Enter new password:" + +#: gajim/gtk/change_password.py:176 +#, fuzzy +msgid "Confirm new password..." +msgstr "Change Password" + +#: gajim/gtk/change_password.py:191 +msgid "Passwords do not match" +msgstr "Passwords do not match" + +#: gajim/gtk/bookmarks.py:48 +#, fuzzy, python-format +msgid "Bookmarks for %s" +msgstr "_Bookmark" + +#: gajim/gtk/xml_console.py:95 gajim/gtk/xml_console.py:279 +#, fuzzy +msgid "All Accounts" +msgstr "Accounts" + +#: gajim/gtk/xml_console.py:170 +#, fuzzy, python-format +msgid "Please make sure you are connected with '%s'." +msgstr "Please make sure you are connected with \"%s\"." + +#: gajim/gtk/xml_console.py:180 +#, fuzzy +msgid "Invalid Node" +msgstr "Invalid File" + +#: gajim/gtk/xml_console.py:282 +msgid "Account" +msgstr "Account" + +#: gajim/gtk/xml_console.py:309 gajim/data/gui/xml_console.ui:241 +#, fuzzy +msgid "Filter" +msgstr "Filter:" + +#: gajim/gtk/dataform.py:252 gajim/gtk/dataform.py:290 +#, fuzzy +msgid "Required" +msgstr "Password Required" + +#: gajim/gtk/dataform.py:315 +msgid "Yes" +msgstr "" + +#: gajim/gtk/dataform.py:315 +#, fuzzy +msgid "No" +msgstr "None" + +#: gajim/gtk/dataform.py:701 gajim/gtk/adhoc.py:86 +#: gajim/data/gui/profile.ui:396 +#, fuzzy +msgid "Cancel" +msgstr "_Cancel" + +#: gajim/gtk/dataform.py:703 +msgid "Submit" +msgstr "" + +#: gajim/gtk/discovery.py:69 +msgid "This service has not yet responded with detailed information" +msgstr "This service has not yet responded with detailed information" + +#: gajim/gtk/discovery.py:70 +#, fuzzy +msgid "" +"This service could not respond with detailed information.\n" +"It is most likely a legacy service or broken." +msgstr "" +"This service could not respond with detailed information.\n" +"It is most likely legacy or broken" + +#: gajim/gtk/discovery.py:126 +msgid "Others" +msgstr "Others" + +#: gajim/gtk/discovery.py:129 gajim/data/gui/shortcuts_window.ui:307 +#, fuzzy +msgid "Group Chat" +msgstr "_Group Chat" + +#: gajim/gtk/discovery.py:523 +msgid "Without a connection, you can not browse available services" +msgstr "Without a connection, you can not browse available services" + +#: gajim/gtk/discovery.py:610 +#, python-format +msgid "Service Discovery using account %s" +msgstr "Service Discovery using account %s" + +#: gajim/gtk/discovery.py:612 +msgid "Service Discovery" +msgstr "Service Discovery" + +#: gajim/gtk/discovery.py:695 +msgid "The service could not be found" +msgstr "The service could not be found" + +#: gajim/gtk/discovery.py:696 +msgid "" +"There is no service at the address you entered, or it is not responding. " +"Check the address and try again." +msgstr "" +"There is no service at the address you entered, or it is not responding. " +"Check the address and try again." + +#: gajim/gtk/discovery.py:703 gajim/gtk/discovery.py:1046 +msgid "The service is not browsable" +msgstr "The service is not browsable" + +#: gajim/gtk/discovery.py:704 +msgid "This type of service does not contain any items to browse." +msgstr "This type of service does not contain any items to browse." + +#: gajim/gtk/discovery.py:742 gajim/gtk/discovery.py:751 +msgid "Invalid Server Name" +msgstr "Invalid Server Name" + +#: gajim/gtk/discovery.py:810 +#, python-format +msgid "Browsing %(address)s using account %(account)s" +msgstr "Browsing %(address)s using account %(account)s" + +#: gajim/gtk/discovery.py:855 +#, fuzzy +msgid "Browse" +msgstr "_Browse" + +#: gajim/gtk/discovery.py:1047 +msgid "This service does not contain any items to browse." +msgstr "This service does not contain any items to browse." + +#: gajim/gtk/discovery.py:1259 +#, fuzzy +msgid "_Command" +msgstr "Commands: %s" + +#: gajim/gtk/discovery.py:1268 gajim/gtk/discovery.py:1425 +msgid "Re_gister" +msgstr "Re_gister" + +#: gajim/gtk/discovery.py:1275 +#, fuzzy +msgid "Join" +msgstr "_Join" + +#: gajim/gtk/discovery.py:1281 +msgid "_Search" +msgstr "_Search" + +#: gajim/gtk/discovery.py:1423 gajim/data/gui/profile.ui:353 +msgid "_Edit" +msgstr "_Edit" + +#: gajim/gtk/discovery.py:1461 +#, fuzzy, python-format +msgid "Scanning %(current)d / %(total)d ..." +msgstr "Scanning %(current)d / %(total)d.." + +#: gajim/gtk/discovery.py:1660 +msgid "Users" +msgstr "Users" + +#: gajim/gtk/discovery.py:1668 gajim/data/gui/groupchat_info_scrolled.ui:32 +#: gajim/data/gui/filetransfers_send_file_dialog.ui:15 +#: gajim/data/gui/advanced_configuration.ui:82 +msgid "Description" +msgstr "Description" + +#: gajim/gtk/discovery.py:1676 +msgid "Id" +msgstr "Id" + +#: gajim/gtk/discovery.py:1905 +msgid "Subscribed" +msgstr "Subscribed" + +#: gajim/gtk/discovery.py:1914 +msgid "Node" +msgstr "Node" + +#: gajim/gtk/discovery.py:1983 +#, fuzzy +msgid "_New post" +msgstr "New post" + +#: gajim/gtk/discovery.py:1992 +msgid "_Subscribe" +msgstr "_Subscribe" + +#: gajim/gtk/discovery.py:2000 +msgid "_Unsubscribe" +msgstr "_Unsubscribe" + +#: gajim/gtk/groupchat_settings.py:43 +msgid "Show Join/Leave" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:53 +#, fuzzy +msgid "Notify on all Messages" +msgstr "Preset messages:" + +#: gajim/gtk/groupchat_settings.py:58 +#, fuzzy +msgid "Minimize on Close" +msgstr "_Minimise on close" + +#: gajim/gtk/groupchat_settings.py:63 +#, fuzzy +msgid "Minimize When Joining Automatically" +msgstr "Minimise on Auto Join" + +#: gajim/gtk/groupchat_settings.py:68 +#, fuzzy +msgid "Send Chat State" +msgstr "Last state" + +#: gajim/gtk/groupchat_settings.py:74 +#, fuzzy +msgid "Send Chat Markers" +msgstr "Last state" + +#: gajim/gtk/groupchat_settings.py:77 +msgid "Let others know if you read up to this point" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:80 +msgid "Sync Threshold" +msgstr "" + +#: gajim/gtk/proxies.py:33 +#, fuzzy +msgid "Manage Proxies" +msgstr "Manage Proxy Profiles" + +#: gajim/gtk/manage_sounds.py:40 +#, fuzzy +msgid "Manage Sounds" +msgstr "Manage Accounts" + +#: gajim/gtk/manage_sounds.py:51 +msgid "Wav Sounds" +msgstr "Wav Sounds" + +#: gajim/gtk/manage_sounds.py:85 +#, fuzzy +msgid "Attention Message Received" +msgstr "First Message Received" + +#: gajim/gtk/manage_sounds.py:86 +msgid "First Message Received" +msgstr "First Message Received" + +#: gajim/gtk/manage_sounds.py:87 +msgid "Next Message Received Focused" +msgstr "Next Message Received Focused" + +#: gajim/gtk/manage_sounds.py:88 +msgid "Next Message Received Unfocused" +msgstr "Next Message Received Unfocused" + +#: gajim/gtk/manage_sounds.py:89 +msgid "Contact Connected" +msgstr "Contact Connected" + +#: gajim/gtk/manage_sounds.py:90 +msgid "Contact Disconnected" +msgstr "Contact Disconnected" + +#: gajim/gtk/manage_sounds.py:91 +msgid "Message Sent" +msgstr "Message Sent" + +#: gajim/gtk/manage_sounds.py:92 +msgid "Group Chat Message Highlight" +msgstr "Group Chat Message Highlight" + +#: gajim/gtk/manage_sounds.py:93 +msgid "Group Chat Message Received" +msgstr "Group Chat Message Received" + +#: gajim/gtk/groupchat_info.py:38 +#, fuzzy +msgid "?Group chat feature:Open" +msgstr "None" + +#: gajim/gtk/groupchat_info.py:39 +#, fuzzy +msgid "Anyone can join this group chat" +msgstr "%s has joined the group chat" + +#: gajim/gtk/groupchat_info.py:42 +#, fuzzy +msgid "?Group chat feature:Members Only" +msgstr "Group Chat Message Highlight" + +#: gajim/gtk/groupchat_info.py:43 +msgid "This group chat is restricted to members only" +msgstr "" + +#: gajim/gtk/groupchat_info.py:47 +#, fuzzy +msgid "?Group chat feature:Not Anonymous" +msgstr "Groupchats" + +#: gajim/gtk/groupchat_info.py:48 +msgid "All other group chat participants can see your XMPP address" +msgstr "" + +#: gajim/gtk/groupchat_info.py:52 +#, fuzzy +msgid "?Group chat feature:Semi-Anonymous" +msgstr "Group Chat Message Highlight" + +#: gajim/gtk/groupchat_info.py:53 +msgid "Only moderators can see your XMPP address" +msgstr "" + +#: gajim/gtk/groupchat_info.py:56 +#, fuzzy +msgid "?Group chat feature:Moderated" +msgstr "None" + +#: gajim/gtk/groupchat_info.py:57 +msgid "" +"Participants entering this group chat need to request permission to send " +"messages" +msgstr "" + +#: gajim/gtk/groupchat_info.py:61 +#, fuzzy +msgid "?Group chat feature:Not Moderated" +msgstr "Groupchats" + +#: gajim/gtk/groupchat_info.py:62 +msgid "Participants entering this group chat are allowed to send messages" +msgstr "" + +#: gajim/gtk/groupchat_info.py:66 +#, fuzzy +msgid "?Group chat feature:Public" +msgstr "Group Chat Message Highlight" + +#: gajim/gtk/groupchat_info.py:67 +msgid "Group chat can be found via search" +msgstr "" + +#: gajim/gtk/groupchat_info.py:70 +#, fuzzy +msgid "?Group chat feature:Hidden" +msgstr "None" + +#: gajim/gtk/groupchat_info.py:71 +#, fuzzy +msgid "This group chat can not be found via search" +msgstr "This group chat has no subject" + +#: gajim/gtk/groupchat_info.py:74 +#, fuzzy +msgid "?Group chat feature:Password Required" +msgstr "Groupchats" + +#: gajim/gtk/groupchat_info.py:75 +msgid "This group chat does require a password upon entry" +msgstr "" + +#: gajim/gtk/groupchat_info.py:79 +#, fuzzy +msgid "?Group chat feature:No Password Required" +msgstr "Groupchats" + +#: gajim/gtk/groupchat_info.py:80 +msgid "This group chat does not require a password upon entry" +msgstr "" + +#: gajim/gtk/groupchat_info.py:84 +#, fuzzy +msgid "?Group chat feature:Persistent" +msgstr "Groupchats" + +#: gajim/gtk/groupchat_info.py:85 +msgid "This group chat persists even if there are no participants" +msgstr "" + +#: gajim/gtk/groupchat_info.py:89 +#, fuzzy +msgid "?Group chat feature:Temporary" +msgstr "None" + +#: gajim/gtk/groupchat_info.py:90 +msgid "This group chat will be destroyed once the last participant left" +msgstr "" + +#: gajim/gtk/groupchat_info.py:94 +#, fuzzy +msgid "?Group chat feature:Archiving" +msgstr "Groupchat Invitation" + +#: gajim/gtk/groupchat_info.py:95 +#, fuzzy +msgid "Messages are archived on the server" +msgstr "Session WILL NOT be logged" + +#: gajim/gtk/groupchat_info.py:205 +msgid "Website" +msgstr "" + +#: gajim/gtk/accounts.py:122 +#, fuzzy +msgid "Re-Login" +msgstr "Relogin now?" + +#: gajim/gtk/accounts.py:123 +#, fuzzy +msgid "Re-Login now?" +msgstr "Relogin now?" + +#: gajim/gtk/accounts.py:124 +#, fuzzy +msgid "To apply all changes instantly, you have to re-login." +msgstr "If you want all the changes to apply instantly, you must relogin." + +#: gajim/gtk/accounts.py:128 +msgid "_Re-Login" +msgstr "" + +#: gajim/gtk/accounts.py:311 gajim/data/gui/server_info.ui:386 +msgid "Connection" +msgstr "Connection" + +#: gajim/gtk/accounts.py:496 +#, fuzzy +msgid "Please check if Bonjour is installed." +msgstr "Please check if Avahi or Bonjour is installed." + +#: gajim/gtk/accounts.py:498 +#, fuzzy +msgid "Please check if Avahi is installed." +msgstr "Please check if Avahi or Bonjour is installed." + +#: gajim/gtk/accounts.py:537 +#, fuzzy +msgid "Disable Account" +msgstr "Invalid Account" + +#: gajim/gtk/accounts.py:538 +#, fuzzy, python-format +msgid "Account %s is still connected" +msgstr "Account \"%s\" is connected to the server" + +#: gajim/gtk/accounts.py:539 +#, fuzzy +msgid "All chat and group chat windows will be closed." +msgstr "" +"All chat and groupchat windows will be closed. Do you want to continue?" + +#: gajim/gtk/accounts.py:543 +#, fuzzy +msgid "_Disable Account" +msgstr "Invalid Account" + +#: gajim/gtk/accounts.py:614 +msgid "Label" +msgstr "" + +#: gajim/gtk/accounts.py:618 gajim/data/gui/groupchat_control.ui:99 +#: gajim/data/gui/chat_control.ui:363 +msgid "Color" +msgstr "Colour" + +#: gajim/gtk/accounts.py:620 +msgid "Recognize your account by color" +msgstr "" + +#: gajim/gtk/accounts.py:622 +msgid "Login" +msgstr "" + +#: gajim/gtk/accounts.py:627 +#, fuzzy +msgid "Import Contacts" +msgstr "Invite _Contacts" + +#: gajim/gtk/accounts.py:636 gajim/gtk/accounts.py:865 +#, fuzzy +msgid "Connect on startup" +msgstr "C_onnect on Gajim startup" + +#: gajim/gtk/accounts.py:640 gajim/gtk/accounts.py:870 +#, fuzzy +msgid "Save conversations for all contacts" +msgstr "Save conversation _logs for all contacts" + +#: gajim/gtk/accounts.py:642 gajim/gtk/accounts.py:872 +msgid "Store conversations on the harddrive" +msgstr "" + +#: gajim/gtk/accounts.py:644 gajim/gtk/accounts.py:874 +#, fuzzy +msgid "Global Status" +msgstr "All statuses" + +#: gajim/gtk/accounts.py:646 +#, fuzzy +msgid "Synchronise the status of all accounts" +msgstr "Changes the status of account or accounts" + +#: gajim/gtk/accounts.py:648 +msgid "Remember Last Status" +msgstr "" + +#: gajim/gtk/accounts.py:650 +msgid "Restore status and status message of your last session" +msgstr "" + +#: gajim/gtk/accounts.py:653 +msgid "Use file transfer proxies" +msgstr "Use file transfer proxies" + +#: gajim/gtk/accounts.py:670 +#, fuzzy +msgid "Forever" +msgstr "_Never" + +#: gajim/gtk/accounts.py:671 gajim/common/const.py:1110 +msgid "1 Day" +msgstr "" + +#: gajim/gtk/accounts.py:672 gajim/common/const.py:1112 +msgid "1 Week" +msgstr "" + +#: gajim/gtk/accounts.py:673 gajim/common/const.py:1113 +msgid "1 Month" +msgstr "" + +#: gajim/gtk/accounts.py:674 +msgid "3 Months" +msgstr "" + +#: gajim/gtk/accounts.py:675 +msgid "6 Months" +msgstr "" + +#: gajim/gtk/accounts.py:676 +msgid "1 Year" +msgstr "" + +#: gajim/gtk/accounts.py:686 +#, fuzzy +msgid "Idle Time" +msgstr "Idle since:" + +#: gajim/gtk/accounts.py:688 +msgid "Disclose the time of your last activity" +msgstr "" + +#: gajim/gtk/accounts.py:690 +msgid "Local System Time" +msgstr "" + +#: gajim/gtk/accounts.py:692 +msgid "Disclose the local system time of the device Gajim runs on" +msgstr "" + +#: gajim/gtk/accounts.py:695 +#, fuzzy +msgid "Client / Operating System" +msgstr "Self signed certificate" + +#: gajim/gtk/accounts.py:697 +#, fuzzy +msgid "" +"Disclose information about the client and operating system you currently use" +msgstr "" +"If ticked, Gajim will allow others to detect the operation system you are " +"using" + +#: gajim/gtk/accounts.py:700 +#, fuzzy +msgid "Ignore Unknown Contacts" +msgstr "Invite _Contacts" + +#: gajim/gtk/accounts.py:702 +#, fuzzy +msgid "Ignore everything from contacts not in your Roster" +msgstr "_Ignore events from contacts not in the roster" + +#: gajim/gtk/accounts.py:705 +#, fuzzy +msgid "Send Message Receipts" +msgstr "First Message Received" + +#: gajim/gtk/accounts.py:707 +msgid "Tell your contacts if you received a message" +msgstr "" + +#: gajim/gtk/accounts.py:713 +#, fuzzy +msgid "Default for chats" +msgstr "Free for chat" + +#: gajim/gtk/accounts.py:716 gajim/gtk/accounts.py:741 +msgid "Reset all chats to the current default value" +msgstr "" + +#: gajim/gtk/accounts.py:722 +#, fuzzy +msgid "Send Chatstate in Group Chats" +msgstr "Unable to join group chat" + +#: gajim/gtk/accounts.py:725 +#, fuzzy +msgid "Default for group chats" +msgstr "New Group Chat" + +#: gajim/gtk/accounts.py:739 +#, fuzzy +msgid "Default for chats and private group chats" +msgstr "%s has joined the group chat" + +#: gajim/gtk/accounts.py:747 +#, fuzzy +msgid "Keep Chat History" +msgstr "Recently:" + +#: gajim/gtk/accounts.py:751 +msgid "How long Gajim should keep your chat history" +msgstr "" + +#: gajim/gtk/accounts.py:787 gajim/data/gui/manage_proxies.ui:337 +#, fuzzy +msgid "Proxy" +msgstr "Proxy:" + +#: gajim/gtk/accounts.py:794 gajim/gtk/accounts.py:949 +#: gajim/data/gui/server_info.ui:20 +#, fuzzy +msgid "Hostname" +msgstr "_Hostname:" + +#: gajim/gtk/accounts.py:795 +msgid "Manually set the hostname for the server" +msgstr "" + +#: gajim/gtk/accounts.py:798 gajim/data/gui/vcard_information_window.ui:72 +#, fuzzy +msgid "Resource" +msgstr "Resource:" + +#: gajim/gtk/accounts.py:801 gajim/gtk/accounts.py:917 +#: gajim/gtk/accounts.py:925 +#, fuzzy +msgid "Priority" +msgstr "Priori_ty:" + +#: gajim/gtk/accounts.py:804 +#, fuzzy +msgid "Use Unencrypted Connection" +msgstr "Insecure connection" + +#: gajim/gtk/accounts.py:806 gajim/common/config.py:273 +#, fuzzy +msgid "Use an unencrypted connection to the server" +msgstr "You are not connected to the server" + +#: gajim/gtk/accounts.py:808 +#, fuzzy +msgid "Confirm Unencrypted Connection" +msgstr "Insecure connection" + +#: gajim/gtk/accounts.py:811 +#, fuzzy +msgid "Show a confirmation dialog before connecting unencrypted" +msgstr "" +"Should we show the confirm block contact dialogue or not? Empty string means " +"we never show the dialogue." + +#: gajim/gtk/accounts.py:835 gajim/data/gui/zeroconf_information_window.ui:8 +#: gajim/data/gui/vcard_information_window.ui:8 +#: gajim/data/gui/subscription_request_window.ui:164 +msgid "Contact Information" +msgstr "Personal Information" + +#: gajim/gtk/accounts.py:837 +msgid "Request contact information (Mood, Activity, Tune, Location)" +msgstr "" + +#: gajim/gtk/accounts.py:840 +#, fuzzy +msgid "Accept all Contact Requests" +msgstr "File Transfer Request" + +#: gajim/gtk/accounts.py:842 +msgid "Automatically accept all contact requests" +msgstr "" + +#: gajim/gtk/accounts.py:844 +#, fuzzy +msgid "Filetransfer Preference" +msgstr "File Transfer Error" + +#: gajim/gtk/accounts.py:846 +#, fuzzy +msgid "Upload Files" +msgstr "Save File as..." + +#: gajim/gtk/accounts.py:847 +#, fuzzy +msgid "Send Files Directly" +msgstr "Save File as..." + +#: gajim/gtk/accounts.py:848 +msgid "Preferred file transfer mechanism for file drag&drop on a chat window" +msgstr "" + +#: gajim/gtk/accounts.py:867 +#, fuzzy +msgid "Use environment variable" +msgstr "_use HTTP__PROXY environment variable" + +#: gajim/gtk/accounts.py:876 +#, fuzzy +msgid "Synchronize the status of all accounts" +msgstr "Changes the status of account or accounts" + +#: gajim/gtk/accounts.py:886 +#, fuzzy +msgid "First Name" +msgstr "First Name:" + +#: gajim/gtk/accounts.py:889 +#, fuzzy +msgid "Last Name" +msgstr "Surname:" + +#: gajim/gtk/accounts.py:895 gajim/gtk/profile.py:32 gajim/gtk/vcard_grid.py:39 +#, fuzzy +msgid "Email" +msgstr "New E-mail" + +#: gajim/gtk/accounts.py:913 +#, fuzzy +msgid "Adjust to status" +msgstr "_Adjust to status" + +#: gajim/gtk/accounts.py:945 +msgid "Enable" +msgstr "Enable" + +#: gajim/gtk/accounts.py:953 +#, fuzzy +msgid "Port" +msgstr "_Port:" + +#: gajim/gtk/accounts.py:957 gajim/data/gui/server_info.ui:250 +msgid "Type" +msgstr "Type" + +#: gajim/gtk/accounts.py:963 +#, fuzzy +msgid "Connection Settings" +msgstr "Connection" + +#: gajim/gtk/accounts.py:971 +#, fuzzy +msgid "Client Certificate" +msgstr "Self signed certificate" + +#: gajim/gtk/accounts.py:973 +msgid "PKCS12 Files" +msgstr "" + +#: gajim/gtk/accounts.py:975 +#, fuzzy +msgid "Encrypted Certificate" +msgstr "Self signed certificate" + +#: gajim/gtk/accounts.py:979 +#, fuzzy +msgid "Certificate Settings" +msgstr "Self signed certificate" + +#: gajim/gtk/accounts.py:987 gajim/data/gui/account_wizard.ui:255 +#: gajim/data/gui/bookmarks.ui:102 +#, fuzzy +msgid "Password" +msgstr "Password:" + +#: gajim/gtk/accounts.py:991 +#, fuzzy +msgid "Save Password" +msgstr "Save password" + +#: gajim/gtk/accounts.py:999 +#, fuzzy +msgid "Login Settings" +msgstr "Registration failed" + +#: gajim/gtk/groupchat_config.py:39 +#, fuzzy +msgid "Group Chat Configuration" +msgstr "Groupchat Invitation" + +#: gajim/gtk/groupchat_config.py:104 gajim/common/helpers.py:283 +#: gajim/data/gui/groupchat_config.ui:40 +msgid "Member" +msgstr "Member" + +#: gajim/gtk/groupchat_config.py:133 +#, fuzzy +msgid "A Group Chat needs at least one Owner" +msgstr "None" + +#: gajim/gtk/groupchat_config.py:241 +msgid "You are not allowed to modify the affiliation of Admins and Owners" +msgstr "" + +#: gajim/gtk/groupchat_config.py:400 +msgid "An entry with this XMPP Address already exists" +msgstr "" + +#: gajim/gtk/server_info.py:142 gajim/data/gui/vcard_information_window.ui:89 +#: gajim/data/gui/preferences.ui:359 +msgid "Status" +msgstr "Status" + +#: gajim/gtk/server_info.py:143 +msgid "Support" +msgstr "" + +#: gajim/gtk/server_info.py:144 +msgid "Security" +msgstr "" + +#: gajim/gtk/server_info.py:145 +msgid "Feedback" +msgstr "" + +#: gajim/gtk/server_info.py:146 +msgid "Abuse" +msgstr "" + +#: gajim/gtk/server_info.py:147 +msgid "Sales" +msgstr "" + +#: gajim/gtk/server_info.py:231 +#, python-format +msgid "%(days)s days, %(hours)s hours" +msgstr "" + +#: gajim/gtk/server_info.py:239 gajim/gtk/vcard_grid.py:115 +#: gajim/common/helpers.py:224 +#, fuzzy +msgid "Unknown" +msgstr "Unknown" + +#: gajim/gtk/server_info.py:360 +#, fuzzy +msgid "" +"\n" +"Disabled in preferences" +msgstr "_Preferences" + +#: gajim/gtk/history.py:79 +msgid "Conversation History" +msgstr "Conversation History" + +#: gajim/gtk/history.py:411 gajim/gtk/history.py:465 +msgid "Disk Error" +msgstr "Disk Error" + +#: gajim/gtk/history.py:576 +#, python-format +msgid "%(nick)s is now %(status)s: %(status_msg)s" +msgstr "%(nick)s is now %(status)s: %(status_msg)s" + +#: gajim/gtk/history.py:581 gajim/common/connection_handlers_events.py:414 +#, python-format +msgid "%(nick)s is now %(status)s" +msgstr "%(nick)s is now %(status)s" + +#: gajim/gtk/history.py:589 +#, python-format +msgid "Error: %s" +msgstr "Error: %s" + +#: gajim/gtk/history.py:593 +#, python-format +msgid "Status is now: %(status)s: %(status_msg)s" +msgstr "Status is now: %(status)s: %(status_msg)s" + +#: gajim/gtk/history.py:597 +#, python-format +msgid "Status is now: %(status)s" +msgstr "Status is now: %(status)s" + +#: gajim/gtk/about.py:51 +#, fuzzy +msgid "A GTK XMPP client" +msgstr "A GTK+ Jabber client" + +#: gajim/gtk/about.py:52 +#, fuzzy, python-format +msgid "GTK Version: %s" +msgstr "GTK+ Version:" + +#: gajim/gtk/about.py:53 +#, fuzzy, python-format +msgid "GLib Version: %s" +msgstr "GTK+ Version:" + +#: gajim/gtk/about.py:54 +#, fuzzy, python-format +msgid "PyGObject Version: %s" +msgstr "PyGTK Version:" + +#: gajim/gtk/about.py:55 +#, python-format +msgid "python-nbxmpp Version: %s" +msgstr "" + +#: gajim/gtk/about.py:59 +#, fuzzy +msgid "Current Developers" +msgstr "Current Developers:" + +#: gajim/gtk/about.py:60 +#, fuzzy +msgid "Past Developers" +msgstr "Past Developers:" + +#: gajim/gtk/about.py:61 +msgid "Artists" +msgstr "" + +#: gajim/gtk/about.py:65 +msgid "Last but not least" +msgstr "" + +#: gajim/gtk/about.py:66 +#, fuzzy +msgid "we would like to thank all the package maintainers." +msgstr "" +"Last but not least, we would like to thank all the package maintainers." + +#: gajim/gtk/about.py:67 +#, fuzzy +msgid "Thanks" +msgstr "Thankful" + +#: gajim/gtk/about.py:69 +msgid "translator-credits" +msgstr "Jeff Bailes " + +#: gajim/gtk/search.py:95 gajim/gtk/search.py:191 +msgid "Search" +msgstr "Search" + +#: gajim/gtk/search.py:101 +#, fuzzy +msgid "New Search" +msgstr "Search" + +#: gajim/gtk/search.py:176 +msgid "Request Search Form" +msgstr "" + +#: gajim/gtk/search.py:236 +#, fuzzy +msgid "Search…" +msgstr "Search" + +#: gajim/gtk/search.py:243 +#, fuzzy +msgid "Search Result" +msgstr "Search" + +#: gajim/gtk/search.py:250 +#, fuzzy +msgid "No results found" +msgstr "No result" + +#: gajim/gtk/features.py:40 gajim/data/gui/server_info.ui:447 +msgid "Features" +msgstr "Features" + +#: gajim/gtk/features.py:90 +msgid "Audio / Video" +msgstr "" + +#: gajim/gtk/features.py:92 +msgid "Enables Gajim to provide Audio and Video chats" +msgstr "" + +#: gajim/gtk/features.py:93 +msgid "" +"Requires: gir1.2-farstream-0.2, gir1.2-gstreamer-1.0, gstreamer1.0-libav, " +"gstreamer1.0-plugins-ugly" +msgstr "" + +#: gajim/gtk/features.py:95 gajim/gtk/features.py:145 +#, fuzzy +msgid "Feature not available under Windows" +msgstr "Feature not available under Windows." + +#: gajim/gtk/features.py:97 +#, fuzzy +msgid "Automatic Status" +msgstr "Automatic status" + +#: gajim/gtk/features.py:99 +#, fuzzy +msgid "" +"Enables Gajim to measure your computer's idle time in order to set your " +"Status automatically" +msgstr "Ability to measure idle time, in order to set auto status." + +#: gajim/gtk/features.py:101 +#, fuzzy +msgid "Requires: libxss" +msgstr "Requires libxss library." + +#: gajim/gtk/features.py:102 gajim/gtk/features.py:123 +msgid "No additional requirements" +msgstr "" + +#: gajim/gtk/features.py:104 +#, fuzzy +msgid "Bonjour / Zeroconf (Serverless Chat)" +msgstr "Bonjour / Zeroconf" + +#: gajim/gtk/features.py:106 +#, fuzzy +msgid "" +"Enables Gajim to automatically detected clients in a local network for " +"serverless chats" +msgstr "Serverless chatting with autodetected clients in a local network." + +#: gajim/gtk/features.py:108 +#, fuzzy +msgid "Requires: gir1.2-avahi-0.6" +msgstr "Requires python-gnome2." + +#: gajim/gtk/features.py:109 +#, fuzzy, python-format +msgid "Requires: pybonjour and bonjour SDK running (%(url)s)" +msgstr "Requires gpg and python-GnuPGInterface." + +#: gajim/gtk/features.py:112 +#, fuzzy +msgid "Location detection" +msgstr "Connection" + +#: gajim/gtk/features.py:114 +msgid "" +"Enables Gajim to be location-aware, if the user decides to publish the " +"device’s location" +msgstr "" + +#: gajim/gtk/features.py:116 +#, fuzzy +msgid "Requires: geoclue" +msgstr "Requires libgtkspell." + +#: gajim/gtk/features.py:117 +#, fuzzy +msgid "Feature is not available under Windows" +msgstr "Feature not available under Windows." + +#: gajim/gtk/features.py:119 +#, fuzzy +msgid "Notification Sounds" +msgstr "Notifications" + +#: gajim/gtk/features.py:121 +msgid "Enables Gajim to play sounds for various notifications" +msgstr "" + +#: gajim/gtk/features.py:122 +#, fuzzy +msgid "Requires: gsound" +msgstr "Requires python-dbus." + +#: gajim/gtk/features.py:125 +#, fuzzy +msgid "Secure Password Storage" +msgstr "Save password" + +#: gajim/gtk/features.py:127 +#, fuzzy +msgid "" +"Enables Gajim to store Passwords securely instead of storing them in " +"plaintext" +msgstr "Passwords can be stored securely and not just in plaintext." + +#: gajim/gtk/features.py:129 +#, fuzzy +msgid "Requires: gnome-keyring or kwallet" +msgstr "Requires gnome-keyring and python-gnome2-desktop, or kwalletcli." + +#: gajim/gtk/features.py:130 +msgid "Windows Credential Vault is used for secure password storage" +msgstr "" + +#: gajim/gtk/features.py:133 +msgid "Spell Checker" +msgstr "Spell Checker" + +#: gajim/gtk/features.py:135 +msgid "Enables Gajim to spell check your messages while composing" +msgstr "" + +#: gajim/gtk/features.py:137 gajim/gtk/features.py:138 +#, fuzzy +msgid "Requires: Gspell" +msgstr "Requires libgtkspell." + +#: gajim/gtk/features.py:140 +msgid "UPnP-IGD Port Forwarding" +msgstr "" + +#: gajim/gtk/features.py:142 +msgid "" +"Enables Gajim to request your router to forward ports for file transfers" +msgstr "" + +#: gajim/gtk/features.py:144 +#, fuzzy +msgid "Requires: gir1.2-gupnpigd-1.0" +msgstr "Requires python-gnome2." + +#: gajim/gtk/features.py:200 +#, fuzzy +msgid "Disabled in Preferences" +msgstr "_Preferences" + +#: gajim/gtk/dialogs.py:55 gajim/gtk/filechoosers.py:179 +#: gajim/data/gui/groupchat_control.ui:674 +#: gajim/data/gui/groupchat_control.ui:766 +#: gajim/data/gui/groupchat_control.ui:882 +#: gajim/data/gui/groupchat_control.ui:974 +#: gajim/data/gui/groupchat_control.ui:1419 +#: gajim/data/gui/groupchat_control.ui:1545 +#: gajim/data/gui/groupchat_control.ui:1671 +#: gajim/data/gui/groupchat_control.ui:1842 +#: gajim/data/gui/groupchat_control.ui:1920 gajim/data/gui/filetransfers.ui:30 +#: gajim/data/gui/add_new_contact_window.ui:451 +#: gajim/data/gui/filetransfer_progress.ui:172 gajim/data/gui/profile.ui:260 +#: gajim/data/gui/passphrase_dialog.ui:29 +msgid "_Cancel" +msgstr "_Cancel" + +#: gajim/gtk/dialogs.py:65 gajim/data/gui/history_manager.ui:20 +#, fuzzy +msgid "_Delete" +msgstr "Delete" + +#: gajim/gtk/dialogs.py:216 +#, fuzzy +msgid "Certificate" +msgstr "Self signed certificate" + +#: gajim/gtk/dialogs.py:230 +#, fuzzy, python-format +msgid "" +"Certificate for \n" +"%s" +msgstr "for account %s" + +#: gajim/gtk/dialogs.py:279 +msgid "Issued to\n" +msgstr "" + +#: gajim/gtk/dialogs.py:280 gajim/gtk/dialogs.py:285 +msgid "Common Name (CN): " +msgstr "" + +#: gajim/gtk/dialogs.py:281 gajim/gtk/dialogs.py:286 +msgid "Organization (O): " +msgstr "" + +#: gajim/gtk/dialogs.py:282 gajim/gtk/dialogs.py:287 +msgid "Organizational Unit (OU): " +msgstr "" + +#: gajim/gtk/dialogs.py:283 +#, fuzzy +msgid "Serial Number: " +msgstr "GG Number:" + +#: gajim/gtk/dialogs.py:284 +msgid "Issued by\n" +msgstr "" + +#: gajim/gtk/dialogs.py:288 +msgid "Validity\n" +msgstr "" + +#: gajim/gtk/dialogs.py:289 +msgid "Issued on: " +msgstr "" + +#: gajim/gtk/dialogs.py:290 +msgid "Expires on: " +msgstr "" + +#: gajim/gtk/dialogs.py:291 +msgid "SHA-1:" +msgstr "" + +#: gajim/gtk/dialogs.py:293 +msgid "SHA-256:" +msgstr "" + +#: gajim/gtk/util.py:591 +msgid "Unknown Artist" +msgstr "Unknown Artist" + +#: gajim/gtk/util.py:592 +msgid "Unknown Title" +msgstr "Unknown Title" + +#: gajim/gtk/util.py:593 +msgid "Unknown Source" +msgstr "Unknown Source" + +#: gajim/gtk/util.py:595 +#, python-format +msgid "" +"\"%(title)s\" by %(artist)s\n" +"from %(source)s" +msgstr "" +"\"%(title)s\" by %(artist)s\n" +"from %(source)s" + +#: gajim/gtk/profile.py:28 gajim/gtk/vcard_grid.py:33 +#: gajim/data/gui/vcard_information_window.ui:411 +#, fuzzy +msgid "Full Name" +msgstr "Full Name" + +#: gajim/gtk/profile.py:29 gajim/gtk/vcard_grid.py:35 +#: gajim/data/gui/vcard_information_window.ui:770 +#, fuzzy +msgid "Birthday" +msgstr "Birthday:" + +#: gajim/gtk/profile.py:30 gajim/gtk/vcard_grid.py:36 +#, fuzzy +msgid "Gender" +msgstr "Sender: " + +#: gajim/gtk/profile.py:31 gajim/data/gui/groupchat_info_scrolled.ui:16 +#, fuzzy +msgid "Address" +msgstr "_Address:" + +#: gajim/gtk/profile.py:34 gajim/gtk/vcard_grid.py:38 +#: gajim/data/gui/vcard_information_window.ui:720 +#: gajim/data/gui/vcard_information_window.ui:1396 +#, fuzzy +msgid "Phone No." +msgstr "Phone" + +#: gajim/gtk/profile.py:35 +msgid "?profile:Organisation" +msgstr "" + +#: gajim/gtk/profile.py:36 gajim/gtk/vcard_grid.py:41 +msgid "?profile:Title" +msgstr "" + +#: gajim/gtk/profile.py:37 gajim/gtk/vcard_grid.py:42 +#, fuzzy +msgid "?profile:Role" +msgstr "file" + +#: gajim/gtk/profile.py:38 gajim/gtk/vcard_grid.py:45 +msgid "URL" +msgstr "" + +#: gajim/gtk/profile.py:39 gajim/gtk/vcard_grid.py:46 +#, fuzzy +msgid "?profile:Key" +msgstr "file" + +#: gajim/gtk/profile.py:299 gajim/gtk/profile.py:301 +#: gajim/data/gui/profile.ui:98 gajim/data/gui/profile.ui:110 +msgid "Everyone" +msgstr "" + +#: gajim/gtk/profile.py:299 gajim/gtk/profile.py:301 +#: gajim/data/gui/shortcuts_window.ui:108 gajim/data/gui/groupchat_invite.ui:83 +msgid "Contacts" +msgstr "Contacts" + +#: gajim/gtk/filechoosers.py:88 +#, fuzzy +msgid "Choose File to Send…" +msgstr "Choose File to Send..." + +#: gajim/gtk/filechoosers.py:94 +#, fuzzy +msgid "Choose Avatar…" +msgstr "Choose Image" + +#: gajim/gtk/filechoosers.py:98 +#, fuzzy +msgid "PNG files" +msgstr "All files" + +#: gajim/gtk/filechoosers.py:99 +#, fuzzy +msgid "JPEG files" +msgstr "All files" + +#: gajim/gtk/filechoosers.py:100 +#, fuzzy +msgid "SVG files" +msgstr "Send _File" + +#: gajim/gtk/filechoosers.py:102 +msgid "Images" +msgstr "Images" + +#: gajim/gtk/filechoosers.py:139 +#, fuzzy +msgid "Choose Archive" +msgstr "Choose Image" + +#: gajim/gtk/filechoosers.py:141 +#, fuzzy +msgid "ZIP files" +msgstr "All files" + +#: gajim/gtk/filechoosers.py:146 +#, fuzzy +msgid "Save File as…" +msgstr "Save File as..." + +#: gajim/gtk/filechoosers.py:180 +#, fuzzy +msgid "_Open" +msgstr "OpenGPG" + +#: gajim/gtk/blocking.py:38 +#, fuzzy, python-format +msgid "Blocking List for %s" +msgstr "Privacy List for %s" + +#: gajim/gtk/blocking.py:64 +#, fuzzy +msgid "Error!" +msgstr "Error" + +#: gajim/gtk/service_registration.py:143 gajim/gtk/service_registration.py:157 +#: gajim/gtk/service_registration.py:164 +#, fuzzy +msgid "Register" +msgstr "_Register" + +#: gajim/gtk/service_registration.py:193 gajim/gtk/service_registration.py:205 +#, fuzzy +msgid "Registration successful" +msgstr "Registration succeeded" + +#: gajim/gtk/service_registration.py:216 +msgid "Registration failed" +msgstr "Registration failed" + +#: gajim/gtk/vcard_grid.py:37 +#, fuzzy +msgid "?profile:Address" +msgstr "_Address:" + +#: gajim/gtk/vcard_grid.py:40 +#, fuzzy +msgid "IM Address" +msgstr "_Address:" + +#: gajim/gtk/vcard_grid.py:43 +#, fuzzy +msgid "Organisation" +msgstr "On Vacation" + +#: gajim/gtk/vcard_grid.py:44 +#, fuzzy +msgid "?profile:Note" +msgstr "file" + +#: gajim/gtk/vcard_grid.py:51 +msgid "Your public key or authentication certificate" +msgstr "" + +#: gajim/gtk/vcard_grid.py:59 +msgid "Post Office Box" +msgstr "" + +#: gajim/gtk/vcard_grid.py:60 gajim/data/gui/vcard_information_window.ui:489 +#: gajim/data/gui/vcard_information_window.ui:1179 +#, fuzzy +msgid "Street" +msgstr "Stressed" + +#: gajim/gtk/vcard_grid.py:61 +#, fuzzy +msgid "Extended Address" +msgstr "Extra Address:" + +#: gajim/gtk/vcard_grid.py:62 gajim/data/gui/vcard_information_window.ui:505 +#: gajim/data/gui/vcard_information_window.ui:1195 +#, fuzzy +msgid "City" +msgstr "City:" + +#: gajim/gtk/vcard_grid.py:63 gajim/data/gui/vcard_information_window.ui:521 +#: gajim/data/gui/vcard_information_window.ui:1211 +#, fuzzy +msgid "State" +msgstr "State:" + +#: gajim/gtk/vcard_grid.py:64 gajim/data/gui/vcard_information_window.ui:595 +#: gajim/data/gui/vcard_information_window.ui:1244 +#, fuzzy +msgid "Postal Code" +msgstr "Postal Code:" + +#: gajim/gtk/vcard_grid.py:65 gajim/data/gui/vcard_information_window.ui:611 +#: gajim/data/gui/vcard_information_window.ui:1260 +#, fuzzy +msgid "Country" +msgstr "Country:" + +#: gajim/gtk/vcard_grid.py:111 +msgid "Male" +msgstr "" + +#: gajim/gtk/vcard_grid.py:112 +msgid "Female" +msgstr "" + +#: gajim/gtk/vcard_grid.py:113 +msgid "?Gender:Other" +msgstr "" + +#: gajim/gtk/vcard_grid.py:114 +#, fuzzy +msgid "?Gender:None" +msgstr "Sender: " + +#: gajim/gtk/vcard_grid.py:121 gajim/gtk/vcard_grid.py:428 +#, fuzzy +msgid "Home" +msgstr "Homepage:" + +#: gajim/gtk/vcard_grid.py:122 gajim/gtk/vcard_grid.py:429 +#: gajim/data/gui/vcard_information_window.ui:1452 +msgid "Work" +msgstr "Work" + +#: gajim/gtk/vcard_grid.py:598 +#, fuzzy +msgid "YYYY-MM-DD" +msgstr "Format: YYYY-MM-DD" + +#: gajim/gtk/adhoc.py:91 +#, fuzzy +msgid "Finish" +msgstr "_Finish" + +#: gajim/gtk/adhoc.py:96 gajim/gtk/adhoc.py:283 +#, fuzzy +msgid "Commands" +msgstr "Commands: %s" + +#: gajim/gtk/adhoc.py:107 +#, fuzzy +msgid "Previous" +msgstr "Envious" + +#: gajim/gtk/adhoc.py:112 +#, fuzzy +msgid "Execute" +msgstr "_Execute Command" + +#: gajim/gtk/adhoc.py:196 +#, fuzzy +msgid "No commands available" +msgstr "No account available" + +#: gajim/gtk/adhoc.py:244 +#, fuzzy +msgid "Request Command List" +msgstr "_Execute Command" + +#: gajim/gtk/adhoc.py:259 +#, fuzzy +msgid "Executing…" +msgstr "_Execute Command" + +#: gajim/gtk/adhoc.py:266 +#, fuzzy +msgid "Command List" +msgstr "Commands: %s" + +#: gajim/gtk/adhoc.py:321 gajim/data/gui/manage_proxies.ui:255 +#, fuzzy +msgid "Settings" +msgstr "Registration failed" + +#: gajim/gtk/adhoc.py:386 +#, fuzzy +msgid "Finished" +msgstr "_Finish" + +#: gajim/gtk/adhoc.py:455 +#, fuzzy +msgid "Execution failed" +msgstr "Connection Failed" + +#: gajim/common/jingle_rtp.py:133 +#, fuzzy, python-format +msgid "%s configuration error" +msgstr "Room Configuration" + +#: gajim/common/jingle_rtp.py:134 +#, python-format +msgid "" +"Couldn’t set up %(text)s. Check your configuration.\n" +"Pipeline:\n" +"%(pipeline)s\n" +"Error:\n" +"%(error)s" +msgstr "" + +#: gajim/common/jingle_rtp.py:416 +msgid "audio input" +msgstr "" + +#: gajim/common/jingle_rtp.py:421 +msgid "audio output" +msgstr "" + +#: gajim/common/jingle_rtp.py:489 +msgid "video input" +msgstr "" + +#: gajim/common/setting_values.py:300 gajim/common/config.py:356 +#: gajim/common/const.py:387 +msgid "Sleeping" +msgstr "Sleeping" + +#: gajim/common/setting_values.py:301 +msgid "ZZZZzzzzzZZZZZ" +msgstr "" + +#: gajim/common/setting_values.py:306 gajim/common/config.py:357 +msgid "Back soon" +msgstr "Back soon" + +#: gajim/common/setting_values.py:307 gajim/common/config.py:357 +msgid "Back in some minutes." +msgstr "Back in some minutes." + +#: gajim/common/setting_values.py:309 gajim/common/config.py:358 +#: gajim/common/const.py:353 +msgid "Eating" +msgstr "Eating" + +#: gajim/common/setting_values.py:310 +#, fuzzy +msgid "I’m eating." +msgstr "I'm working." + +#: gajim/common/setting_values.py:314 gajim/common/config.py:359 +msgid "Movie" +msgstr "Movie" + +#: gajim/common/setting_values.py:315 +#, fuzzy +msgid "I’m watching a movie." +msgstr "I'm watching a movie." + +#: gajim/common/setting_values.py:319 gajim/common/config.py:360 +#: gajim/common/const.py:420 +msgid "Working" +msgstr "Working" + +#: gajim/common/setting_values.py:320 +#, fuzzy +msgid "I’m working." +msgstr "I'm working." + +#: gajim/common/setting_values.py:324 gajim/common/config.py:362 +msgid "Out" +msgstr "Out" + +#: gajim/common/setting_values.py:325 +#, fuzzy +msgid "I’m out enjoying life." +msgstr "I'm out enjoying life." + +#: gajim/common/setting_values.py:393 gajim/common/config.py:84 +msgid "" +"Allow to hide the contact list window even if the notification area icon is " +"not shown." +msgstr "" + +#: gajim/common/setting_values.py:394 gajim/common/config.py:95 +msgid "" +"'always' - print time for every message.\n" +"'sometimes' - print time every print_ichat_every_foo_minutes minute.\n" +"'never' - never print time." +msgstr "" +"'always' - print time for every message.\n" +"'sometimes' - print time every print_ichat_every_foo_minutes minute.\n" +"'never' - never print time." + +#: gajim/common/setting_values.py:395 gajim/common/config.py:99 +msgid "Treat * / _ pairs as possible formatting characters." +msgstr "Treat * / _ pairs as possible formatting characters." + +#: gajim/common/setting_values.py:396 gajim/common/config.py:100 +#, fuzzy +msgid "" +"If enabled, do not remove */_ . So *abc* will be bold but with * * not " +"removed." +msgstr "" +"If True, do not remove */_ . So *abc* will be bold but with * * not removed." + +#: gajim/common/setting_values.py:397 gajim/common/config.py:103 +#, fuzzy +msgid "" +"Character to add after nickname when using nickname completion (tab) in " +"group chat." +msgstr "" +"Character to add after nickname when using nick completion (tab) in group " +"chat." + +#: gajim/common/setting_values.py:398 gajim/common/config.py:125 +msgid "" +"If enabled, Gajim will save the contact list window position when hiding it, " +"and restore it when showing the contact list window again." +msgstr "" + +#: gajim/common/setting_values.py:399 gajim/common/config.py:131 +msgid "Place the contact list on the right in single window mode" +msgstr "" + +#: gajim/common/setting_values.py:400 gajim/common/config.py:137 +#, fuzzy +msgid "" +"This option lets you customize the timestamp that is printed in " +"conversation. For example '[%H:%M] ' will show '[hour:minute] '. See python " +"doc on strftime for full documentation (https://docs.python.org/3/library/" +"time.html#time.strftime)." +msgstr "" +"This option let you customize timestamp that is printed in conversation. For " +"exemple \"[%H:%M] \" will show \"[hour:minute] \". See python doc on " +"strftime for full documentation: http://docs.python.org/lib/module-time.html" + +#: gajim/common/setting_values.py:401 gajim/common/config.py:138 +#, fuzzy +msgid "Characters that are printed before the nickname in conversations." +msgstr "Characters that are printed before the nickname in conversations" + +#: gajim/common/setting_values.py:402 gajim/common/config.py:139 +#, fuzzy +msgid "Characters that are printed after the nickname in conversations." +msgstr "Characters that are printed after the nickname in conversations" + +#: gajim/common/setting_values.py:403 gajim/common/config.py:140 +#, fuzzy +msgid "If enabled, Gajim will add * and [n] in contact list window title." +msgstr "" +"If ticked, Gajim will display the mood of contacts in the roster window" + +#: gajim/common/setting_values.py:404 gajim/common/config.py:141 +#, fuzzy +msgid "" +"Number of messages from chat history to be restored when a chat tab/window " +"is reopened." +msgstr "" +"How many lines to remember from previous conversation when a chat tab/window " +"is reopened." + +#: gajim/common/setting_values.py:405 gajim/common/config.py:142 +msgid "" +"How far back in time (minutes) chat history is restored. -1 means no limit." +msgstr "" + +#: gajim/common/setting_values.py:406 gajim/common/config.py:143 +#, fuzzy +msgid "Send message on Ctrl+Enter and make a new line with Enter." +msgstr "" +"Send message on Ctrl+Enter and with Enter make new line (Mirabilis ICQ " +"Client default behaviour)." + +#: gajim/common/setting_values.py:407 gajim/common/config.py:145 +#, fuzzy +msgid "How many lines to store for Ctrl+KeyUP (previously sent messages)." +msgstr "How many lines to store for Ctrl+KeyUP." + +#: gajim/common/setting_values.py:409 gajim/common/config.py:148 +#, fuzzy, python-format +msgid "" +"Either a custom URL with %%s in it (where %%s is the word/phrase) or " +"'WIKTIONARY' (which means use Wikitionary)." +msgstr "" +"Either custom URL with %s in it where %s is the word/phrase or 'WIKTIONARY' " +"which means use wiktionary." + +#: gajim/common/setting_values.py:412 gajim/common/config.py:151 +msgid "If checked, Gajim can be controlled remotely using gajim-remote." +msgstr "If ticked, Gajim can be controlled remotely using gajim-remote." + +#: gajim/common/setting_values.py:413 +#, fuzzy +msgid "" +"When not printing time for every message ('print_time'==sometimes, print it " +"every x minutes." +msgstr "" +"When not printing time for every message (print_time==sometimes), print it " +"every x minutes." + +#: gajim/common/setting_values.py:414 gajim/common/config.py:153 +msgid "Ask before pasting an image." +msgstr "" + +#: gajim/common/setting_values.py:415 gajim/common/config.py:154 +msgid "Ask before closing a group chat tab/window." +msgstr "Ask before closing a group chat tab/window." + +#: gajim/common/setting_values.py:416 gajim/common/config.py:155 +#, fuzzy +msgid "" +"Ask before closing tabbed chat window if there are chats that can lose data " +"(chat, private chat, group chat that will not be minimized)." +msgstr "" +"Ask before closing tabbed chat window if there are controls that can lose " +"data (chat, private chat, groupchat that will not be minimised)" + +#: gajim/common/setting_values.py:418 gajim/common/config.py:158 +#, fuzzy +msgid "" +"List of send hosts (comma separated) in addition to local interfaces for " +"file transfers (in case of address translation/port forwarding)." +msgstr "" +"Comma separated list of hosts that we send, in addition of local interfaces, " +"for File Transfer in case of address translation/port forwarding." + +#: gajim/common/setting_values.py:419 gajim/common/config.py:159 +msgid "IEC standard says KiB = 1024 bytes, KB = 1000 bytes." +msgstr "IEC standard says KiB = 1024 bytes, KB = 1000 bytes." + +#: gajim/common/setting_values.py:421 gajim/common/config.py:161 +#, fuzzy +msgid "Notify of events in the notification area." +msgstr "Notify of events in the system trayicon." + +#: gajim/common/setting_values.py:422 gajim/common/config.py:166 +msgid "Show tab when only one conversation?" +msgstr "Show tab when only one conversation?" + +#: gajim/common/setting_values.py:423 gajim/common/config.py:167 +msgid "Show tabbed notebook border in chat windows?" +msgstr "Show tabbed notebook border in chat windows?" + +#: gajim/common/setting_values.py:424 gajim/common/config.py:168 +msgid "Show close button in tab?" +msgstr "Show close button in tab?" + +#: gajim/common/setting_values.py:425 gajim/common/config.py:169 +msgid "Preview new messages in notification popup?" +msgstr "Preview new messages in notification popup?" + +#: gajim/common/setting_values.py:426 gajim/common/config.py:172 +#, fuzzy +msgid "" +"A list of words (semicolon separated) that will be highlighted in group " +"chats." +msgstr "" +"A semicolon-separated list of words that will be highlighted in group chats." + +#: gajim/common/setting_values.py:427 gajim/common/config.py:174 +msgid "" +"If enabled, Gajim hides the contact list window when pressing the X button " +"instead of minimizing into the notification area." +msgstr "" + +#: gajim/common/setting_values.py:432 gajim/common/config.py:181 +#, fuzzy +msgid "" +"Define the position of avatars in the contact list. Can be 'left' or 'right'." +msgstr "Define the position of the avatar in roster. Can be left or right" + +#: gajim/common/setting_values.py:433 gajim/common/config.py:186 +#, fuzzy +msgid "Don't show contact list window in the system taskbar." +msgstr "Don't show roster in the system taskbar." + +#: gajim/common/setting_values.py:434 gajim/common/config.py:187 +#, fuzzy +msgid "" +"If enabled, Gajim makes the window flash (the default behaviour in most " +"Window Managers) when holding pending events." +msgstr "" +"If True and installed GTK+ and PyGTK versions are at least 2.8, make the " +"window flash (the default behaviour in most Window Managers) when holding " +"pending events." + +#: gajim/common/setting_values.py:436 gajim/common/config.py:193 +#, fuzzy +msgid "If enabled, pressing Esc closes a tab/window." +msgstr "If True, pressing the escape key closes a tab/window." + +#: gajim/common/setting_values.py:437 gajim/common/config.py:194 +#, fuzzy +msgid "Hides the banner in a group chat window." +msgstr "Hides the banner in a group chat window" + +#: gajim/common/setting_values.py:438 gajim/common/config.py:195 +#, fuzzy +msgid "Hides the banner in a 1:1 chat window." +msgstr "Hides the banner in a group chat window" + +#: gajim/common/setting_values.py:439 gajim/common/config.py:196 +#, fuzzy +msgid "Hides the group chat participants list in a group chat window." +msgstr "Hides the group chat occupants list in group chat window." + +#: gajim/common/setting_values.py:440 gajim/common/config.py:197 +#, fuzzy +msgid "" +"In a chat, show the nickname at the beginning of a line only when it's not " +"the same person talking as in the previous message." +msgstr "" +"In a chat, show the nickname at the beginning of a line only when it's not " +"the same person talking than in previous message." + +#: gajim/common/setting_values.py:441 gajim/common/config.py:198 +msgid "Indentation when using merge consecutive nickname." +msgstr "Indentation when using merge consecutive nickname." + +#: gajim/common/setting_values.py:442 gajim/common/config.py:199 +#, fuzzy +msgid "" +"Ctrl+Tab switches to the next composing tab when there are no tabs with " +"messages pending." +msgstr "Ctrl-Tab go to next composing tab when none is unread." + +#: gajim/common/setting_values.py:443 gajim/common/config.py:200 +#, fuzzy +msgid "" +"Show a confirmation dialog to create metacontacts? Empty string means never " +"show the dialog." +msgstr "" +"Should we show the confirm block contact dialogue or not? Empty string means " +"we never show the dialogue." + +#: gajim/common/setting_values.py:444 gajim/common/config.py:201 +#, fuzzy +msgid "" +"Show a confirmation dialog to block a contact? Empty string means never show " +"the dialog." +msgstr "" +"Should we show the confirm block contact dialogue or not? Empty string means " +"we never show the dialogue." + +#: gajim/common/setting_values.py:445 gajim/common/config.py:202 +#, fuzzy +msgid "" +"If enabled, you will be able to set a negative priority to your account in " +"the Accounts window. BE CAREFUL, when you are logged in with a negative " +"priority, you will NOT receive any message from your server." +msgstr "" +"If True, you will be able to set a negative priority to your account in " +"account modification window. BE CAREFUL, when you are logged in with a " +"negative priority, you will NOT receive any message from your server." + +#: gajim/common/setting_values.py:446 gajim/common/config.py:203 +#, fuzzy +msgid "" +"If enabled, Gajim will show both the number of online and total contacts in " +"account rows as well as in group rows." +msgstr "" +"If True, Gajim will show number of online and total contacts in account and " +"group rows." + +#: gajim/common/setting_values.py:447 gajim/common/config.py:204 +#, fuzzy +msgid "" +"If enabled, Gajim will scroll and select the contact who sent you the last " +"message, if the chat window is not already opened." +msgstr "" +"If True, Gajim will scroll and select the contact who sent you the last " +"message, if chat window is not already opened." + +#: gajim/common/setting_values.py:448 gajim/common/config.py:205 +msgid "Time of inactivity needed before the change status window closes down." +msgstr "Time of inactivity needed before the change status window closes down." + +#: gajim/common/setting_values.py:449 gajim/common/config.py:206 +msgid "" +"Maximum number of lines that are printed in conversations. Oldest lines are " +"cleared." +msgstr "" +"Maximum number of lines that are printed in conversations. Oldest lines are " +"cleared." + +#: gajim/common/setting_values.py:450 gajim/common/config.py:208 +#, fuzzy +msgid "" +"If enabled, completion in group chats will be like a shell auto-completion." +msgstr "If True, completion in groupchats will be like a shell auto-completion" + +#: gajim/common/setting_values.py:451 gajim/common/config.py:217 +msgid "" +"If enabled, Gajim will try to use a STUN server when using Jingle. The one " +"in 'stun_server' option, or the one given by the XMPP server." +msgstr "" + +#: gajim/common/setting_values.py:452 gajim/common/config.py:218 +msgid "STUN server to use when using Jingle" +msgstr "" + +#: gajim/common/setting_values.py:453 gajim/common/config.py:220 +msgid "If enabled, Gajim will ignore incoming attention requests ('wizz')." +msgstr "" + +#: gajim/common/setting_values.py:454 gajim/common/config.py:221 +msgid "" +"If enabled, Gajim will reopen chat windows that were opened last time Gajim " +"was closed." +msgstr "" + +#: gajim/common/setting_values.py:455 gajim/common/config.py:224 +msgid "If enabled, Gajim will execute XEP-0146 Commands." +msgstr "" + +#: gajim/common/setting_values.py:458 gajim/common/config.py:236 +msgid "API Preferences. Possible values: 'http', 'iq'" +msgstr "" + +#: gajim/common/setting_values.py:459 gajim/common/config.py:237 +msgid "If enabled, Gajim will execute commands (/show, /sh, /execute, /exec)." +msgstr "" + +#: gajim/common/setting_values.py:460 gajim/common/config.py:238 +msgid "Width of group chat roster in pixel" +msgstr "" + +#: gajim/common/setting_values.py:461 gajim/common/config.py:239 +#, fuzzy +msgid "Force Bookmark 2 usage" +msgstr "Bookmark this room" + +#: gajim/common/multimedia_helpers.py:51 +#, fuzzy +msgid "Default device" +msgstr "Default Message" + +#: gajim/common/multimedia_helpers.py:72 +msgid "Audio test" +msgstr "" + +#: gajim/common/multimedia_helpers.py:75 gajim/common/multimedia_helpers.py:91 +#: gajim/common/multimedia_helpers.py:105 +msgid "Autodetect" +msgstr "" + +#: gajim/common/multimedia_helpers.py:78 gajim/common/multimedia_helpers.py:93 +#, fuzzy, python-format +msgid "ALSA: %s" +msgstr "Size: %s" + +#: gajim/common/multimedia_helpers.py:81 gajim/common/multimedia_helpers.py:95 +#, fuzzy, python-format +msgid "Pulse: %s" +msgstr "File: %s" + +#: gajim/common/multimedia_helpers.py:89 +msgid "Fake audio output" +msgstr "" + +#: gajim/common/multimedia_helpers.py:102 +msgid "Video test" +msgstr "" + +#: gajim/common/multimedia_helpers.py:107 +msgid "Pipewire" +msgstr "" + +#: gajim/common/multimedia_helpers.py:109 +#, python-format +msgid "V4L2: %s" +msgstr "" + +#: gajim/common/multimedia_helpers.py:111 +msgid "X11" +msgstr "" + +#: gajim/common/multimedia_helpers.py:113 +msgid "Windows" +msgstr "" + +#: gajim/common/multimedia_helpers.py:115 +msgid "macOS" +msgstr "" + +#: gajim/common/helpers.py:176 +msgid "_Busy" +msgstr "_Busy" + +#: gajim/common/helpers.py:178 +msgid "Busy" +msgstr "Busy" + +#: gajim/common/helpers.py:181 +msgid "_Not Available" +msgstr "_Not Available" + +#: gajim/common/helpers.py:183 +msgid "Not Available" +msgstr "Not Available" + +#: gajim/common/helpers.py:186 +msgid "_Free for Chat" +msgstr "_Free for Chat" + +#: gajim/common/helpers.py:188 +msgid "Free for Chat" +msgstr "Free for Chat" + +#: gajim/common/helpers.py:191 +#, fuzzy +msgid "?user status:_Available" +msgstr "Paused" + +#: gajim/common/helpers.py:193 +#, fuzzy +msgid "?user status:Available" +msgstr "Paused" + +#: gajim/common/helpers.py:195 +msgid "Connecting" +msgstr "Connecting" + +#: gajim/common/helpers.py:198 +msgid "A_way" +msgstr "A_way" + +#: gajim/common/helpers.py:203 +msgid "_Offline" +msgstr "_Offline" + +#: gajim/common/helpers.py:205 +msgid "Offline" +msgstr "Offline" + +#: gajim/common/helpers.py:209 +msgid "?contact has status:Unknown" +msgstr "Unknown" + +#: gajim/common/helpers.py:211 +msgid "?contact has status:Has errors" +msgstr "Has errors" + +#: gajim/common/helpers.py:216 +msgid "?Subscription we already have:None" +msgstr "None" + +#: gajim/common/helpers.py:218 +msgid "To" +msgstr "To" + +#: gajim/common/helpers.py:220 gajim/data/gui/groups_post_window.ui:33 +msgid "From" +msgstr "From" + +#: gajim/common/helpers.py:222 +msgid "Both" +msgstr "Both" + +#: gajim/common/helpers.py:230 +msgid "?Ask (for Subscription):None" +msgstr "None" + +#: gajim/common/helpers.py:232 +msgid "Subscribe" +msgstr "Subscribe" + +#: gajim/common/helpers.py:244 +msgid "?Group Chat Contact Role:None" +msgstr "None" + +#: gajim/common/helpers.py:247 +msgid "Moderators" +msgstr "Moderators" + +#: gajim/common/helpers.py:249 +msgid "Moderator" +msgstr "Moderator" + +#: gajim/common/helpers.py:252 gajim/data/gui/groupchat_info_scrolled.ui:182 +msgid "Participants" +msgstr "Participants" + +#: gajim/common/helpers.py:254 +msgid "Participant" +msgstr "Participant" + +#: gajim/common/helpers.py:257 +msgid "Visitors" +msgstr "Visitors" + +#: gajim/common/helpers.py:259 +msgid "Visitor" +msgstr "Visitor" + +#: gajim/common/helpers.py:268 +msgid "?Group Chat Contact Affiliation:None" +msgstr "None" + +#: gajim/common/helpers.py:271 +#, fuzzy +msgid "Owners" +msgstr "Owner" + +#: gajim/common/helpers.py:273 gajim/data/gui/groupchat_config.ui:32 +msgid "Owner" +msgstr "Owner" + +#: gajim/common/helpers.py:276 +#, fuzzy +msgid "Administrators" +msgstr "Administrator" + +#: gajim/common/helpers.py:278 +msgid "Administrator" +msgstr "Administrator" + +#: gajim/common/helpers.py:281 +#, fuzzy +msgid "Members" +msgstr "Member" + +#: gajim/common/helpers.py:320 +msgid "is paying attention to the conversation" +msgstr "is paying attention to the conversation" + +#: gajim/common/helpers.py:322 +msgid "is doing something else" +msgstr "is doing something else" + +#: gajim/common/helpers.py:324 +#, fuzzy +msgid "is composing a message…" +msgstr "is composing a message..." + +#: gajim/common/helpers.py:327 +msgid "paused composing a message" +msgstr "paused composing a message" + +#: gajim/common/helpers.py:329 +msgid "has closed the chat window or tab" +msgstr "has closed the chat window or tab" + +#: gajim/common/helpers.py:719 gajim/common/helpers.py:727 +#, python-format +msgid "%d message pending" +msgid_plural "%d messages pending" +msgstr[0] "%d message pending" +msgstr[1] "%d messages pending" + +#: gajim/common/helpers.py:736 +#, fuzzy, python-format +msgid "from group chat %s" +msgstr "in _group chats" + +#: gajim/common/helpers.py:739 gajim/common/helpers.py:760 +#, fuzzy, python-format +msgid "from user %s" +msgstr " from user %s" + +#: gajim/common/helpers.py:741 +#, fuzzy, python-format +msgid "from %s" +msgstr " from %s" + +#: gajim/common/helpers.py:747 gajim/common/helpers.py:755 +#, python-format +msgid "%d event pending" +msgid_plural "%d events pending" +msgstr[0] "%d event pending" +msgstr[1] "%d events pending" + +#: gajim/common/helpers.py:828 gajim/data/gui/add_new_contact_window.ui:20 +msgid "I would like to add you to my contact list." +msgstr "I would like to add you to my contact list." + +#: gajim/common/helpers.py:830 +msgid "Hello, I am $name." +msgstr "" + +#: gajim/common/config.py:71 +#, fuzzy +msgid "Play sound even when being busy." +msgstr "Play sound when user is busy" + +#: gajim/common/config.py:73 +#, fuzzy +msgid "Show only online and free for chat contacts in the contact list." +msgstr "Show only online and free for chat contacts in roster." + +#: gajim/common/config.py:76 +msgid "Time in minutes, after which your status changes to away." +msgstr "Time in minutes, after which your status changes to away." + +#: gajim/common/config.py:77 +#, fuzzy +msgid "$S (Away: Idle more than $T min)" +msgstr "$S (Away as a result of being idle more than $T min)" + +#: gajim/common/config.py:77 +#, fuzzy +msgid "" +"$S will be replaced by current status message, $T by the 'autoawaytime' " +"value." +msgstr "$S will be replaced by current status message, $T by autoaway time." + +#: gajim/common/config.py:79 +msgid "Time in minutes, after which your status changes to not available." +msgstr "Time in minutes, after which your status changes to not available." + +#: gajim/common/config.py:80 +#, fuzzy +msgid "$S (Not available: Idle more than $T min)" +msgstr "$S (Not available as a result of being idle more than $T min)" + +#: gajim/common/config.py:80 +#, fuzzy +msgid "" +"$S will be replaced by current status message, $T by the 'autoxatime' value." +msgstr "$S will be replaced by current status message, $T by autoxa time." + +#: gajim/common/config.py:83 +#, fuzzy +msgid "" +"When to show the notification area icon. Can be 'never', 'on_event', and " +"'always'." +msgstr "When to show systray icon. Can be 'never', 'on_event', 'always'." + +#: gajim/common/config.py:87 +#, fuzzy +msgid "" +"List of rows (accounts and groups) that are collapsed (space separated)." +msgstr "" +"List (space separated) of rows (accounts and groups) that are collapsed." + +#: gajim/common/config.py:94 gajim/common/config.py:335 +#: gajim/common/config.py:342 +#, fuzzy +msgid "Language used for spell checking." +msgstr "Language used by speller" + +#: gajim/common/config.py:97 +msgid "When enabled, ASCII emojis will be converted to graphical emojis." +msgstr "" + +#: gajim/common/config.py:152 +#, fuzzy +msgid "" +"When not printing time for every message ('print_time'==sometimes), print it " +"every x minutes." +msgstr "" +"When not printing time for every message (print_time==sometimes), print it " +"every x minutes." + +#: gajim/common/config.py:173 +#, fuzzy +msgid "" +"If enabled, Gajim quits when clicking the X button of your Window Manager. " +"This setting is taken into account only if the notification area icon is " +"used." +msgstr "" +"If True, quits Gajim when X button of Window Manager is clicked. This " +"setting is taken into account only if trayicon is used." + +#: gajim/common/config.py:175 +#, fuzzy +msgid "" +"If enabled, Gajim will display the status message (if not empty) underneath " +"the contact name in the contact list window." +msgstr "" +"If True, Gajim will display the status message, if not empty, for every " +"contact under the contact name in roster window." + +#: gajim/common/config.py:182 +#, fuzzy +msgid "" +"If disabled, Gajim will no longer print status messages in chats when a " +"contact changes their status (and/or their status message)." +msgstr "" +"If False, Gajim will no longer print status line in chats when a contact " +"changes his or her status and/or status message." + +#: gajim/common/config.py:183 +#, fuzzy +msgid "" +"Default Setting: Show a status message for every join or leave in a group " +"chat." +msgstr "Unable to join group chat" + +#: gajim/common/config.py:184 +#, fuzzy +msgid "" +"Default Setting: Show a status message for all status changes (away, dnd, " +"etc.) of users in a group chat." +msgstr "Unable to join group chat" + +#: gajim/common/config.py:191 +#, fuzzy +msgid "" +"Controls the window where new messages are placed.\n" +"'always' - All messages are sent to a single window.\n" +"'always_with_roster' - Like 'always' but the messages are in a single window " +"along with the contact list.\n" +"'never' - All messages get their own window.\n" +"'peracct' - Messages for each account are sent to a specific window.\n" +"'pertype' - Each message type (e.g. chats vs. group chats) is sent to a " +"specific window." +msgstr "" +"Controls the window where new messages are placed.\n" +"'always' - All messages are sent to a single window.\n" +"'always_with_roster' - Like 'always' but the messages are in a single window " +"along with the roster.\n" +"'never' - All messages get their own window.\n" +"'peracct' - Messages for each account are sent to a specific window.\n" +"'pertype' - Each message type (e.g., chats vs. groupchats) are sent to a " +"specific window." + +#: gajim/common/config.py:192 +msgid "" +"Show contact list window on startup.\n" +"'always' - Always show contact list window.\n" +"'never' - Never show contact list window.\n" +"'last_state' - Restore last state of the contact list window." +msgstr "" + +#: gajim/common/config.py:207 +#, fuzzy +msgid "" +"Valid URI schemes. Only schemes in this list will be accepted as 'real' URI " +"(mailto and xmpp are handled separately)." +msgstr "" +"Valid uri schemes. Only schemes in this list will be accepted as \"real\" " +"uri. (mailto and xmpp are handled separately)" + +#: gajim/common/config.py:212 +msgid "Optionally fix Jingle output video framerate. Example: 10/1 or 25/2." +msgstr "" + +#: gajim/common/config.py:213 +msgid "Optionally resize Jingle output video. Example: 320x240." +msgstr "" + +#: gajim/common/config.py:214 +msgid "If enabled, you will see your webcam's video stream as well." +msgstr "" + +#: gajim/common/config.py:219 +msgid "" +"Proxy used for all outgoing connections if the account does not have a " +"specific proxy configured." +msgstr "" + +#: gajim/common/config.py:222 +#, fuzzy +msgid "" +"If enabled, Gajim will display an icon to show that sent messages have been " +"received by your contact." +msgstr "" +"If enabled, Gajim will not ask for a status message. The specified default " +"message will be used instead." + +#: gajim/common/config.py:223 +#, fuzzy +msgid "" +"If enabled, Gajim will use the System's Keyring to store account passwords." +msgstr "" +"If True, Gajim will use Gnome Keyring (if available) to store account " +"passwords." + +#: gajim/common/config.py:225 +msgid "2: System, 1: Enabled, 0: Disabled" +msgstr "" + +#: gajim/common/config.py:226 +msgid "" +"Maximum history in days we request from a public group chat archive. 0: As " +"much as possible." +msgstr "" + +#: gajim/common/config.py:227 +msgid "" +"Maximum history in days we request from a private group chat archive. 0: As " +"much as possible." +msgstr "" + +#: gajim/common/config.py:228 +msgid "" +"If enabled, Gajim shows the group chat subject in the chat window when " +"joining." +msgstr "" + +#: gajim/common/config.py:229 +#, fuzzy +msgid "" +"If enabled, the contact row is colored according to the current chat state " +"of the contact." +msgstr "" +"If ticked, Gajim will allow others to detect the operation system you are " +"using" + +#: gajim/common/config.py:230 +#, fuzzy +msgid "" +"If enabled, the tab is colored according to the current chat state of the " +"contact." +msgstr "" +"If ticked, Gajim will allow others to detect the operation system you are " +"using" + +#: gajim/common/config.py:231 +#, fuzzy +msgid "" +"Shows a text in the banner that describes the current chat state of the " +"contact." +msgstr "" +"If ticked, Gajim will allow others to detect the operation system you are " +"using" + +#: gajim/common/config.py:232 +#, fuzzy +msgid "" +"Chat state notifications that are sent to contacts. Possible values: all, " +"composing_only, disabled" +msgstr "" +"Sent chat state notifications. Can be one of all, composing_only, disabled." + +#: gajim/common/config.py:233 +#, fuzzy +msgid "" +"Chat state notifications that are sent to the group chat. Possible values: " +"'all', 'composing_only', 'disabled'" +msgstr "" +"Sent chat state notifications. Can be one of all, composing_only, disabled." + +#: gajim/common/config.py:240 +msgid "Shows an info bar with helpful hints in the Start / Join Chat dialog" +msgstr "" + +#: gajim/common/config.py:242 +msgid "Date of the last update check" +msgstr "" + +#: gajim/common/config.py:260 +#, fuzzy +msgid "" +"Priority will change automatically according to your status. Priorities are " +"defined in 'autopriority_*' options." +msgstr "" +"Priority will change automatically according to your status. Priorities are " +"defined in autopriority_* options." + +#: gajim/common/config.py:267 +#, fuzzy +msgid "If enabled, the last status will be restored." +msgstr "If enabled, restore the last status that was used." + +#: gajim/common/config.py:268 +#, fuzzy +msgid "" +"If enabled, contacts requesting authorization will be accepted automatically." +msgstr "" +"If True, Contacts requesting authorisation will be automatically accepted." + +#: gajim/common/config.py:269 +#, fuzzy +msgid "" +"If disabled, this account will be disabled and will not appear in the " +"contact list window." +msgstr "" +"If False, this account will be disabled and will not appear in roster window." + +#: gajim/common/config.py:278 +msgid "ConnectionType: START TLS, DIRECT TLS or PLAIN" +msgstr "" + +#: gajim/common/config.py:280 +msgid "" +"List of XMPP Addresses (space separated) for which you do not want to store " +"chat history. You can also add the name of an account to disable storing " +"chat history for this account." +msgstr "" + +#: gajim/common/config.py:285 +#, fuzzy +msgid "" +"If enabled, Gajim will use your IP and proxies defined in " +"'file_transfer_proxies' option for file transfers." +msgstr "" +"If ticked, Gajim will use your IP and proxies defined in " +"file_transfer_proxies option for file transfer." + +#: gajim/common/config.py:286 +msgid "" +"If enabled, Gajim will test file transfer proxies on startup to be sure they " +"work. Openfire's proxies are known to fail this test even if they work." +msgstr "" + +#: gajim/common/config.py:298 +#, fuzzy +msgid "If enabled, Gajim will answer to message receipt requests." +msgstr "" +"If enabled, Gajim will not ask for a status message. The specified default " +"message will be used instead." + +#: gajim/common/config.py:303 +#, fuzzy +msgid "" +"Allow Gajim to send information about the operating system you are running." +msgstr "" +"If ticked, Gajim will allow others to detect the operation system you are " +"using" + +#: gajim/common/config.py:304 +#, fuzzy +msgid "Allow Gajim to send your local time." +msgstr "%s wants to send you a file." + +#: gajim/common/config.py:307 +#, fuzzy +msgid "Message that is sent to contacts you want to add." +msgstr "Please fill in the data of the contact you want to add" + +#: gajim/common/config.py:308 +#, fuzzy +msgid "" +"If enabled, Gajim will send your local IP so your contact can connect to " +"your machine for file transfers." +msgstr "" +"If ticked, Gajim will use your IP and proxies defined in " +"file_transfer_proxies option for file transfer." + +#: gajim/common/config.py:309 +msgid "" +"List of XMPP Addresses (space separated) for which the chat window will be " +"re-opened on next startup." +msgstr "" + +#: gajim/common/config.py:311 +msgid "" +"Preferred file transfer mechanism for file drag&drop on a chat window. Can " +"be 'httpupload' (default) or 'jingle'." +msgstr "" + +#: gajim/common/config.py:312 +#, fuzzy +msgid "Allow certificate verification with POSH." +msgstr "SSL certificate error" + +#: gajim/common/config.py:336 +#, fuzzy +msgid "" +"Chat state notifications that are sent to contacts. Possible values: 'all', " +"'composing_only', 'disabled'" +msgstr "" +"Sent chat state notifications. Can be one of all, composing_only, disabled." + +#: gajim/common/config.py:339 +#, fuzzy +msgid "The currently active encryption for that contact." +msgstr "Enable ESessions encryption for this account." + +#: gajim/common/config.py:343 +msgid "" +"If enabled, a notification is created for every message in this group chat." +msgstr "" + +#: gajim/common/config.py:344 +#, fuzzy +msgid "" +"Show a status message for all status changes (away, dnd, etc.) of users in a " +"group chat." +msgstr "Unable to join group chat" + +#: gajim/common/config.py:345 +#, fuzzy +msgid "Show a status message for every join or leave in a group chat." +msgstr "Unable to join group chat" + +#: gajim/common/config.py:346 +msgid "" +"If enabled, the group chat is minimized into the contact list when joining " +"automatically." +msgstr "" + +#: gajim/common/config.py:347 +msgid "" +"If enabled, the group chat is minimized into the contact list when closing " +"it." +msgstr "" + +#: gajim/common/config.py:348 +#, fuzzy +msgid "" +"Chat state notifications that are sent to the group chat. Possible values: " +"'all', 'composing_only' or 'disabled'." +msgstr "" +"Sent chat state notifications. Can be one of all, composing_only, disabled." + +#: gajim/common/config.py:351 +msgid "" +"If enabled, plugins will be activated on startup (this is saved when exiting " +"Gajim). This option SHOULD NOT be used to (de)activate plugins. Use the " +"plugin window instead." +msgstr "" + +#: gajim/common/config.py:358 +#, fuzzy +msgid "I'm eating." +msgstr "I'm working." + +#: gajim/common/config.py:359 +msgid "I'm watching a movie." +msgstr "I'm watching a movie." + +#: gajim/common/config.py:360 +msgid "I'm working." +msgstr "I'm working." + +#: gajim/common/config.py:361 +msgid "Phone" +msgstr "Phone" + +#: gajim/common/config.py:361 +msgid "I'm on the phone." +msgstr "I'm on the phone." + +#: gajim/common/config.py:362 +msgid "I'm out enjoying life." +msgstr "I'm out enjoying life." + +#: gajim/common/config.py:373 +#, fuzzy +msgid "" +"Sound to play when a group chat message contains one of the words in " +"'muc_highlight_words' or your nickname is mentioned." +msgstr "" +"Sound to play when a group chat message contains one of the words in " +"muc_highlight_words, or when a group chat message contains your nickname." + +#: gajim/common/config.py:374 +#, fuzzy +msgid "Sound to play when any group chat message arrives." +msgstr "Sound to play when any MUC message arrives." + +#: gajim/common/config.py:378 +#, fuzzy +msgid "Tor" +msgstr "To" + +#: gajim/common/exceptions.py:45 +#, fuzzy, python-format +msgid "" +"The database file (%s) cannot be read. Try to repair it (see https://dev." +"gajim.org/gajim/gajim/wikis/help/DatabaseBackup) or remove it (all history " +"will be lost)." +msgstr "" +"The database file (%s) cannot be read. Try to repair it (see http://trac." +"gajim.org/wiki/DatabaseBackup) or remove it (all history will be lost)." + +#: gajim/common/exceptions.py:59 +msgid "Service not available: Gajim is not running, or remote_control is False" +msgstr "" +"Service not available: Gajim is not running, or remote_control is False" + +#: gajim/common/exceptions.py:81 +#, fuzzy, python-format +msgid "" +"Session bus is not available.\n" +"Try reading %(url)s" +msgstr "" +"Session bus is not available.\n" +"Try reading http://trac.gajim.org/wiki/GajimDBus" + +#: gajim/common/exceptions.py:93 +#, fuzzy, python-format +msgid "" +"System bus is not available.\n" +"Try reading %(url)s" +msgstr "" +"Session bus is not available.\n" +"Try reading http://trac.gajim.org/wiki/GajimDBus" + +#: gajim/common/optparser.py:54 +#, python-format +msgid "Error: cannot open %s for reading" +msgstr "Error: cannot open %s for reading" + +#: gajim/common/configpaths.py:84 +#, python-format +msgid "%s is a file but it should be a directory" +msgstr "%s is a file but it should be a directory" + +#: gajim/common/configpaths.py:85 +msgid "Gajim will now exit" +msgstr "Gajim will now exit" + +#: gajim/common/connection_handlers_events.py:242 +#: gajim/common/connection_handlers_events.py:342 +#, fuzzy, python-format +msgid "New message from %(nickname)s" +msgid_plural "%(n_msgs)i unread messages from %(nickname)s" +msgstr[0] "New Message from %(nickname)s" +msgstr[1] "New Message from %(nickname)s" + +#: gajim/common/connection_handlers_events.py:412 +#, python-format +msgid "%(nick)s Changed Status" +msgstr "%(nick)s Changed Status" + +#: gajim/common/const.py:287 +#, fuzzy +msgid "?Group chat name:Team" +msgstr "None" + +#: gajim/common/const.py:288 +msgid "?Group chat description:Project discussion" +msgstr "" + +#: gajim/common/const.py:289 +#, fuzzy +msgid "?Group chat address:team" +msgstr "Groupchats" + +#: gajim/common/const.py:290 +#, fuzzy +msgid "?Group chat name:Family" +msgstr "Group Chat Message Highlight" + +#: gajim/common/const.py:291 +msgid "?Group chat description:Spring gathering" +msgstr "" + +#: gajim/common/const.py:292 +msgid "?Group chat address:family" +msgstr "" + +#: gajim/common/const.py:293 +#, fuzzy +msgid "?Group chat name:Vacation" +msgstr "Groupchat Invitation" + +#: gajim/common/const.py:294 +msgid "?Group chat description:Trip planning" +msgstr "" + +#: gajim/common/const.py:295 +#, fuzzy +msgid "?Group chat address:vacation" +msgstr "Groupchat Invitation" + +#: gajim/common/const.py:296 +#, fuzzy +msgid "?Group chat name:Repairs" +msgstr "Group Chat" + +#: gajim/common/const.py:297 +msgid "?Group chat description:Local help group" +msgstr "" + +#: gajim/common/const.py:298 +#, fuzzy +msgid "?Group chat address:repairs" +msgstr "Groupchats" + +#: gajim/common/const.py:299 +#, fuzzy +msgid "?Group chat name:News" +msgstr "None" + +#: gajim/common/const.py:300 +#, fuzzy +msgid "?Group chat description:Local news and reports" +msgstr "Group chat creation is restricted." + +#: gajim/common/const.py:301 +#, fuzzy +msgid "?Group chat address:news" +msgstr "New Group Chat" + +#: gajim/common/const.py:306 +#, fuzzy +msgid "Remote server not found" +msgstr "The service could not be found" + +#: gajim/common/const.py:307 +msgid "Remote server timeout" +msgstr "" + +#: gajim/common/const.py:308 gajim/common/const.py:309 +#: gajim/common/const.py:310 +#, fuzzy +msgid "Address does not belong to a group chat server" +msgstr "This is not a group chat" + +#: gajim/common/const.py:311 +#, fuzzy +msgid "Group chat already exists" +msgstr "Account Local already exists." + +#: gajim/common/const.py:312 +#, fuzzy +msgid "Group chat does not exist" +msgstr "Group chat %s does not exist." + +#: gajim/common/const.py:313 +#, fuzzy +msgid "Group chat is closed" +msgstr "Groupchats" + +#: gajim/common/const.py:319 +msgid "This message was encrypted with OTR and could not be decrypted." +msgstr "" + +#: gajim/common/const.py:322 +msgid "" +"This message was encrypted with Legacy OpenPGP and could not be decrypted. " +"You can install the PGP plugin to handle those messages." +msgstr "" + +#: gajim/common/const.py:326 +msgid "" +"This message was encrypted with OpenPGP for XMPP and could not be decrypted. " +"You can install the OpenPGP plugin to handle those messages." +msgstr "" + +#: gajim/common/const.py:330 +#, python-format +msgid "This message was encrypted with %s and could not be decrypted." +msgstr "" + +#: gajim/common/const.py:337 +msgid "Doing Chores" +msgstr "Doing Chores" + +#: gajim/common/const.py:338 +msgid "Buying Groceries" +msgstr "Buying Groceries" + +#: gajim/common/const.py:339 +msgid "Cleaning" +msgstr "Cleaning" + +#: gajim/common/const.py:340 +msgid "Cooking" +msgstr "Cooking" + +#: gajim/common/const.py:341 +msgid "Doing Maintenance" +msgstr "Doing Maintenance" + +#: gajim/common/const.py:342 +msgid "Doing the Dishes" +msgstr "Doing the Dishes" + +#: gajim/common/const.py:343 +msgid "Doing the Laundry" +msgstr "Doing the Laundry" + +#: gajim/common/const.py:344 +msgid "Gardening" +msgstr "Gardening" + +#: gajim/common/const.py:345 +msgid "Running an Errand" +msgstr "Running an Errand" + +#: gajim/common/const.py:346 +msgid "Walking the Dog" +msgstr "Walking the Dog" + +#: gajim/common/const.py:348 +msgid "Drinking" +msgstr "Drinking" + +#: gajim/common/const.py:349 +msgid "Having a Beer" +msgstr "Having a Beer" + +#: gajim/common/const.py:350 +msgid "Having Coffee" +msgstr "Having Coffee" + +#: gajim/common/const.py:351 +msgid "Having Tea" +msgstr "Having Tea" + +#: gajim/common/const.py:354 +msgid "Having a Snack" +msgstr "Having a Snack" + +#: gajim/common/const.py:355 +msgid "Having Breakfast" +msgstr "Having Breakfast" + +#: gajim/common/const.py:356 +msgid "Having Dinner" +msgstr "Having Dinner" + +#: gajim/common/const.py:357 +msgid "Having Lunch" +msgstr "Having Lunch" + +#: gajim/common/const.py:359 +msgid "Exercising" +msgstr "Exercising" + +#: gajim/common/const.py:360 gajim/common/const.py:411 +msgid "Cycling" +msgstr "Cycling" + +#: gajim/common/const.py:361 +msgid "Dancing" +msgstr "Dancing" + +#: gajim/common/const.py:362 +msgid "Hiking" +msgstr "Hiking" + +#: gajim/common/const.py:363 +msgid "Jogging" +msgstr "Jogging" + +#: gajim/common/const.py:364 +msgid "Playing Sports" +msgstr "Playing Sports" + +#: gajim/common/const.py:365 +msgid "Running" +msgstr "Running" + +#: gajim/common/const.py:366 +msgid "Skiing" +msgstr "Skiing" + +#: gajim/common/const.py:367 +msgid "Swimming" +msgstr "Swimming" + +#: gajim/common/const.py:368 +msgid "Working out" +msgstr "Working out" + +#: gajim/common/const.py:370 +msgid "Grooming" +msgstr "Grooming" + +#: gajim/common/const.py:371 +msgid "At the Spa" +msgstr "At the Spa" + +#: gajim/common/const.py:372 +msgid "Brushing Teeth" +msgstr "Brushing Teeth" + +#: gajim/common/const.py:373 +msgid "Getting a Haircut" +msgstr "Getting a Haircut" + +#: gajim/common/const.py:374 +msgid "Shaving" +msgstr "Shaving" + +#: gajim/common/const.py:375 +msgid "Taking a Bath" +msgstr "Taking a Bath" + +#: gajim/common/const.py:376 +msgid "Taking a Shower" +msgstr "Taking a Shower" + +#: gajim/common/const.py:378 +msgid "Having an Appointment" +msgstr "Having an Appointment" + +#: gajim/common/const.py:380 +msgid "Inactive" +msgstr "Inactive" + +#: gajim/common/const.py:381 +msgid "Day Off" +msgstr "Day Off" + +#: gajim/common/const.py:382 +msgid "Hanging out" +msgstr "Hanging out" + +#: gajim/common/const.py:383 +msgid "Hiding" +msgstr "Hiding" + +#: gajim/common/const.py:384 +msgid "On Vacation" +msgstr "On Vacation" + +#: gajim/common/const.py:385 +msgid "Praying" +msgstr "Praying" + +#: gajim/common/const.py:386 +msgid "Scheduled Holiday" +msgstr "Scheduled Holiday" + +#: gajim/common/const.py:388 +msgid "Thinking" +msgstr "Thinking" + +#: gajim/common/const.py:390 +msgid "Relaxing" +msgstr "Relaxing" + +#: gajim/common/const.py:391 +msgid "Fishing" +msgstr "Fishing" + +#: gajim/common/const.py:392 +msgid "Gaming" +msgstr "Gaming" + +#: gajim/common/const.py:393 +msgid "Going out" +msgstr "Going out" + +#: gajim/common/const.py:394 +msgid "Partying" +msgstr "Partying" + +#: gajim/common/const.py:395 +msgid "Reading" +msgstr "Reading" + +#: gajim/common/const.py:396 +msgid "Rehearsing" +msgstr "Rehearsing" + +#: gajim/common/const.py:397 +msgid "Shopping" +msgstr "Shopping" + +#: gajim/common/const.py:398 +msgid "Smoking" +msgstr "Smoking" + +#: gajim/common/const.py:399 +msgid "Socializing" +msgstr "Socialising" + +#: gajim/common/const.py:400 +msgid "Sunbathing" +msgstr "Sunbathing" + +#: gajim/common/const.py:401 +msgid "Watching TV" +msgstr "Watching TV" + +#: gajim/common/const.py:402 +msgid "Watching a Movie" +msgstr "Watching a Movie" + +#: gajim/common/const.py:404 +msgid "Talking" +msgstr "Talking" + +#: gajim/common/const.py:405 +msgid "In Real Life" +msgstr "In Real Life" + +#: gajim/common/const.py:406 +msgid "On the Phone" +msgstr "On the Phone" + +#: gajim/common/const.py:407 +msgid "On Video Phone" +msgstr "On Video Phone" + +#: gajim/common/const.py:409 +msgid "Traveling" +msgstr "Travelling" + +#: gajim/common/const.py:410 +msgid "Commuting" +msgstr "Commuting" + +#: gajim/common/const.py:412 +msgid "Driving" +msgstr "Driving" + +#: gajim/common/const.py:413 +msgid "In a Car" +msgstr "In a Car" + +#: gajim/common/const.py:414 +msgid "On a Bus" +msgstr "On a Bus" + +#: gajim/common/const.py:415 +msgid "On a Plane" +msgstr "On a Plane" + +#: gajim/common/const.py:416 +msgid "On a Train" +msgstr "On a Train" + +#: gajim/common/const.py:417 +msgid "On a Trip" +msgstr "On a Trip" + +#: gajim/common/const.py:418 +msgid "Walking" +msgstr "Walking" + +#: gajim/common/const.py:421 +msgid "Coding" +msgstr "Coding" + +#: gajim/common/const.py:422 +msgid "In a Meeting" +msgstr "In a Meeting" + +#: gajim/common/const.py:423 +msgid "Studying" +msgstr "Studying" + +#: gajim/common/const.py:424 +msgid "Writing" +msgstr "Writing" + +#: gajim/common/const.py:427 +msgid "Afraid" +msgstr "Afraid" + +#: gajim/common/const.py:428 +msgid "Amazed" +msgstr "Amazed" + +#: gajim/common/const.py:429 +msgid "Amorous" +msgstr "Amorous" + +#: gajim/common/const.py:430 +msgid "Angry" +msgstr "Angry" + +#: gajim/common/const.py:431 +msgid "Annoyed" +msgstr "Annoyed" + +#: gajim/common/const.py:432 +msgid "Anxious" +msgstr "Anxious" + +#: gajim/common/const.py:433 +msgid "Aroused" +msgstr "Aroused" + +#: gajim/common/const.py:434 +msgid "Ashamed" +msgstr "Ashamed" + +#: gajim/common/const.py:435 +msgid "Bored" +msgstr "Bored" + +#: gajim/common/const.py:436 +msgid "Brave" +msgstr "Brave" + +#: gajim/common/const.py:437 +msgid "Calm" +msgstr "Calm" + +#: gajim/common/const.py:438 +msgid "Cautious" +msgstr "Cautious" + +#: gajim/common/const.py:439 +msgid "Cold" +msgstr "Cold" + +#: gajim/common/const.py:440 +msgid "Confident" +msgstr "Confident" + +#: gajim/common/const.py:441 +msgid "Confused" +msgstr "Confused" + +#: gajim/common/const.py:442 +msgid "Contemplative" +msgstr "Contemplative" + +#: gajim/common/const.py:443 +msgid "Contented" +msgstr "Contented" + +#: gajim/common/const.py:444 +msgid "Cranky" +msgstr "Cranky" + +#: gajim/common/const.py:445 +msgid "Crazy" +msgstr "Crazy" + +#: gajim/common/const.py:446 +msgid "Creative" +msgstr "Creative" + +#: gajim/common/const.py:447 +msgid "Curious" +msgstr "Curious" + +#: gajim/common/const.py:448 +msgid "Dejected" +msgstr "Dejected" + +#: gajim/common/const.py:449 +msgid "Depressed" +msgstr "Depressed" + +#: gajim/common/const.py:450 +msgid "Disappointed" +msgstr "Disappointed" + +#: gajim/common/const.py:451 +msgid "Disgusted" +msgstr "Disgusted" + +#: gajim/common/const.py:452 +msgid "Dismayed" +msgstr "Dismayed" + +#: gajim/common/const.py:453 +msgid "Distracted" +msgstr "Distracted" + +#: gajim/common/const.py:454 +msgid "Embarrassed" +msgstr "Embarrassed" + +#: gajim/common/const.py:455 +msgid "Envious" +msgstr "Envious" + +#: gajim/common/const.py:456 +msgid "Excited" +msgstr "Excited" + +#: gajim/common/const.py:457 +msgid "Flirtatious" +msgstr "Flirtatious" + +#: gajim/common/const.py:458 +msgid "Frustrated" +msgstr "Frustrated" + +#: gajim/common/const.py:459 +msgid "Grateful" +msgstr "Grateful" + +#: gajim/common/const.py:460 +msgid "Grieving" +msgstr "Grieving" + +#: gajim/common/const.py:461 +msgid "Grumpy" +msgstr "Grumpy" + +#: gajim/common/const.py:462 +msgid "Guilty" +msgstr "Guilty" + +#: gajim/common/const.py:463 +msgid "Happy" +msgstr "Happy" + +#: gajim/common/const.py:464 +msgid "Hopeful" +msgstr "Hopeful" + +#: gajim/common/const.py:465 +msgid "Hot" +msgstr "Hot" + +#: gajim/common/const.py:466 +msgid "Humbled" +msgstr "Humbled" + +#: gajim/common/const.py:467 +msgid "Humiliated" +msgstr "Humiliated" + +#: gajim/common/const.py:468 +msgid "Hungry" +msgstr "Hungry" + +#: gajim/common/const.py:469 +msgid "Hurt" +msgstr "Hurt" + +#: gajim/common/const.py:470 +msgid "Impressed" +msgstr "Impressed" + +#: gajim/common/const.py:471 +msgid "In Awe" +msgstr "In Awe" + +#: gajim/common/const.py:472 +msgid "In Love" +msgstr "In Love" + +#: gajim/common/const.py:473 +msgid "Indignant" +msgstr "Indignant" + +#: gajim/common/const.py:474 +msgid "Interested" +msgstr "Interested" + +#: gajim/common/const.py:475 +msgid "Intoxicated" +msgstr "Intoxicated" + +#: gajim/common/const.py:476 +msgid "Invincible" +msgstr "Invincible" + +#: gajim/common/const.py:477 +msgid "Jealous" +msgstr "Jealous" + +#: gajim/common/const.py:478 +msgid "Lonely" +msgstr "Lonely" + +#: gajim/common/const.py:479 +msgid "Lost" +msgstr "Lost" + +#: gajim/common/const.py:480 +msgid "Lucky" +msgstr "Lucky" + +#: gajim/common/const.py:481 +msgid "Mean" +msgstr "Mean" + +#: gajim/common/const.py:482 +msgid "Moody" +msgstr "Moody" + +#: gajim/common/const.py:483 +msgid "Nervous" +msgstr "Nervous" + +#: gajim/common/const.py:484 +msgid "Neutral" +msgstr "Neutral" + +#: gajim/common/const.py:485 +msgid "Offended" +msgstr "Offended" + +#: gajim/common/const.py:486 +msgid "Outraged" +msgstr "Outraged" + +#: gajim/common/const.py:487 +msgid "Playful" +msgstr "Playful" + +#: gajim/common/const.py:488 +msgid "Proud" +msgstr "Proud" + +#: gajim/common/const.py:489 +msgid "Relaxed" +msgstr "Relaxed" + +#: gajim/common/const.py:490 +msgid "Relieved" +msgstr "Relieved" + +#: gajim/common/const.py:491 +msgid "Remorseful" +msgstr "Remorseful" + +#: gajim/common/const.py:492 +msgid "Restless" +msgstr "Restless" + +#: gajim/common/const.py:493 +msgid "Sad" +msgstr "Sad" + +#: gajim/common/const.py:494 +msgid "Sarcastic" +msgstr "Sarcastic" + +#: gajim/common/const.py:495 +msgid "Satisfied" +msgstr "Satisfied" + +#: gajim/common/const.py:496 +msgid "Serious" +msgstr "Serious" + +#: gajim/common/const.py:497 +msgid "Shocked" +msgstr "Shocked" + +#: gajim/common/const.py:498 +msgid "Shy" +msgstr "Shy" + +#: gajim/common/const.py:499 +msgid "Sick" +msgstr "Sick" + +#: gajim/common/const.py:500 +msgid "Sleepy" +msgstr "Sleepy" + +#: gajim/common/const.py:501 +msgid "Spontaneous" +msgstr "Spontaneous" + +#: gajim/common/const.py:502 +msgid "Stressed" +msgstr "Stressed" + +#: gajim/common/const.py:503 +msgid "Strong" +msgstr "Strong" + +#: gajim/common/const.py:504 +msgid "Surprised" +msgstr "Surprised" + +#: gajim/common/const.py:505 +msgid "Thankful" +msgstr "Thankful" + +#: gajim/common/const.py:506 +msgid "Thirsty" +msgstr "Thirsty" + +#: gajim/common/const.py:507 +msgid "Tired" +msgstr "Tired" + +#: gajim/common/const.py:508 +msgid "Undefined" +msgstr "Undefined" + +#: gajim/common/const.py:509 +msgid "Weak" +msgstr "Weak" + +#: gajim/common/const.py:510 +msgid "Worried" +msgstr "Worried" + +#: gajim/common/const.py:514 +msgid "accuracy" +msgstr "" + +#: gajim/common/const.py:515 +#, fuzzy +msgid "alt" +msgstr "default" + +#: gajim/common/const.py:516 +msgid "area" +msgstr "" + +#: gajim/common/const.py:517 +#, fuzzy +msgid "bearing" +msgstr "marine" + +#: gajim/common/const.py:518 +#, fuzzy +msgid "building" +msgstr "Hiding" + +#: gajim/common/const.py:519 +#, fuzzy +msgid "country" +msgstr "Country:" + +#: gajim/common/const.py:520 +#, fuzzy +msgid "countrycode" +msgstr "Account" + +#: gajim/common/const.py:521 +msgid "datum" +msgstr "" + +#: gajim/common/const.py:522 +#, fuzzy +msgid "description" +msgstr "Description" + +#: gajim/common/const.py:523 +#, fuzzy +msgid "error" +msgstr "Error" + +#: gajim/common/const.py:524 +msgid "floor" +msgstr "" + +#: gajim/common/const.py:525 +msgid "lat" +msgstr "" + +#: gajim/common/const.py:526 +msgid "locality" +msgstr "" + +#: gajim/common/const.py:527 +#, fuzzy +msgid "lon" +msgstr "one" + +#: gajim/common/const.py:528 +msgid "postalcode" +msgstr "" + +#: gajim/common/const.py:529 +msgid "region" +msgstr "" + +#: gajim/common/const.py:530 +msgid "room" +msgstr "room" + +#: gajim/common/const.py:531 +msgid "speed" +msgstr "" + +#: gajim/common/const.py:532 +msgid "street" +msgstr "" + +#: gajim/common/const.py:533 +msgid "text" +msgstr "" + +#: gajim/common/const.py:534 +msgid "timestamp" +msgstr "" + +#: gajim/common/const.py:535 +msgid "URI" +msgstr "" + +#: gajim/common/const.py:540 +msgid "Unable to get issuer certificate" +msgstr "Unable to get issuer certificate" + +#: gajim/common/const.py:541 +msgid "Unable to get certificate CRL" +msgstr "Unable to get certificate CRL" + +#: gajim/common/const.py:542 +msgid "Unable to decrypt certificate's signature" +msgstr "Unable to decrypt certificate's signature" + +#: gajim/common/const.py:543 +msgid "Unable to decrypt CRL's signature" +msgstr "Unable to decrypt CRL's signature" + +#: gajim/common/const.py:544 +msgid "Unable to decode issuer public key" +msgstr "Unable to decode issuer public key" + +#: gajim/common/const.py:545 +msgid "Certificate signature failure" +msgstr "Certificate signature failure" + +#: gajim/common/const.py:546 +msgid "CRL signature failure" +msgstr "CRL signature failure" + +#: gajim/common/const.py:547 +msgid "Certificate is not yet valid" +msgstr "Certificate is not yet valid" + +#: gajim/common/const.py:548 +msgid "Certificate has expired" +msgstr "Certificate has expired" + +#: gajim/common/const.py:549 +msgid "CRL is not yet valid" +msgstr "CRL is not yet valid" + +#: gajim/common/const.py:550 +msgid "CRL has expired" +msgstr "CRL has expired" + +#: gajim/common/const.py:551 +msgid "Format error in certificate's notBefore field" +msgstr "Format error in certificate's notBefore field" + +#: gajim/common/const.py:552 +msgid "Format error in certificate's notAfter field" +msgstr "Format error in certificate's notAfter field" + +#: gajim/common/const.py:553 +msgid "Format error in CRL's lastUpdate field" +msgstr "Format error in CRL's lastUpdate field" + +#: gajim/common/const.py:554 +msgid "Format error in CRL's nextUpdate field" +msgstr "Format error in CRL's nextUpdate field" + +#: gajim/common/const.py:555 +msgid "Out of memory" +msgstr "Out of memory" + +#: gajim/common/const.py:556 +msgid "Self signed certificate" +msgstr "Self signed certificate" + +#: gajim/common/const.py:557 +msgid "Self signed certificate in certificate chain" +msgstr "Self signed certificate in certificate chain" + +#: gajim/common/const.py:558 +msgid "Unable to get local issuer certificate" +msgstr "Unable to get local issuer certificate" + +#: gajim/common/const.py:559 +msgid "Unable to verify the first certificate" +msgstr "Unable to verify the first certificate" + +#: gajim/common/const.py:560 +msgid "Certificate chain too long" +msgstr "Certificate chain too long" + +#: gajim/common/const.py:561 +msgid "Certificate revoked" +msgstr "Certificate revoked" + +#: gajim/common/const.py:562 +msgid "Invalid CA certificate" +msgstr "Invalid CA certificate" + +#: gajim/common/const.py:563 +msgid "Path length constraint exceeded" +msgstr "Path length constraint exceeded" + +#: gajim/common/const.py:564 +msgid "Unsupported certificate purpose" +msgstr "Unsupported certificate purpose" + +#: gajim/common/const.py:565 +msgid "Certificate not trusted" +msgstr "Certificate not trusted" + +#: gajim/common/const.py:566 +msgid "Certificate rejected" +msgstr "Certificate rejected" + +#: gajim/common/const.py:567 +msgid "Subject issuer mismatch" +msgstr "Subject issuer mismatch" + +#: gajim/common/const.py:568 +msgid "Authority and subject key identifier mismatch" +msgstr "Authority and subject key identifier mismatch" + +#: gajim/common/const.py:569 +msgid "Authority and issuer serial number mismatch" +msgstr "Authority and issuer serial number mismatch" + +#: gajim/common/const.py:570 +msgid "Key usage does not include certificate signing" +msgstr "Key usage does not include certificate signing" + +#: gajim/common/const.py:571 +msgid "Application verification failure" +msgstr "Application verification failure" + +#: gajim/common/const.py:893 +msgid "The signing certificate authority is not known" +msgstr "" + +#: gajim/common/const.py:894 +#, fuzzy +msgid "The certificate has been revoked" +msgstr "Certificate revoked" + +#: gajim/common/const.py:895 +msgid "The certificate does not match the expected identity of the site" +msgstr "" + +#: gajim/common/const.py:896 +msgid "The certificate’s algorithm is insecure" +msgstr "" + +#: gajim/common/const.py:897 +msgid "The certificate’s activation time is in the future" +msgstr "" + +#: gajim/common/const.py:898 +#, fuzzy +msgid "Unknown validation error" +msgstr "Unknown SSL error: %d" + +#: gajim/common/const.py:899 +#, fuzzy +msgid "The certificate has expired" +msgstr "Certificate has expired" + +#: gajim/common/const.py:954 +#, fuzzy +msgid "Authentication aborted" +msgstr "Authorisation accepted" + +#: gajim/common/const.py:955 +#, fuzzy +msgid "Account disabled" +msgstr "Emoticons disabled" + +#: gajim/common/const.py:956 +#, fuzzy +msgid "Credentials expired" +msgstr "Certificate has expired" + +#: gajim/common/const.py:957 +#, fuzzy +msgid "Encryption required" +msgstr "E2E encryption enabled" + +#: gajim/common/const.py:961 +#, fuzzy +msgid "Authentication mechanism not supported" +msgstr "Extension not supported" + +#: gajim/common/const.py:962 +#, fuzzy +msgid "Authentication mechanism too weak" +msgstr "Authentication failed with \"%s\"" + +#: gajim/common/const.py:964 +msgid "Authentication currently not possible" +msgstr "" + +#: gajim/common/const.py:1109 +msgid "No Sync" +msgstr "" + +#: gajim/common/const.py:1111 +msgid "2 Days" +msgstr "" + +#: gajim/common/const.py:1114 +msgid "No Threshold" +msgstr "" + +#: gajim/common/logging_helpers.py:31 +#, python-format +msgid "%s is not a valid loglevel" +msgstr "%s is not a valid loglevel" + +#: gajim/common/zeroconf/zeroconf_avahi.py:256 +#: gajim/common/zeroconf/zeroconf_bonjour.py:248 +#: gajim/common/zeroconf/zeroconf_bonjour.py:265 +#: gajim/common/zeroconf/zeroconf_bonjour.py:323 +#, python-format +msgid "Error while adding service. %s" +msgstr "Error while adding service. %s" + +#: gajim/common/zeroconf/connection_zeroconf.py:252 +#, python-format +msgid "Could not connect to \"%s\"" +msgstr "Could not connect to \"%s\"" + +#: gajim/common/zeroconf/connection_zeroconf.py:253 +msgid "Please check if Avahi or Bonjour is installed." +msgstr "Please check if Avahi or Bonjour is installed." + +#: gajim/common/zeroconf/connection_zeroconf.py:263 +#: gajim/common/zeroconf/connection_zeroconf.py:267 +msgid "Could not start local service" +msgstr "Could not start local service" + +#: gajim/common/zeroconf/connection_zeroconf.py:264 +#, python-format +msgid "Unable to bind to port %d." +msgstr "Unable to bind to port %d." + +#: gajim/common/zeroconf/connection_zeroconf.py:268 +#, fuzzy +msgid "Please check if avahi/bonjour-daemon is running." +msgstr "Please check if avahi-daemon is running." + +#: gajim/common/zeroconf/connection_zeroconf.py:362 +#: gajim/common/zeroconf/connection_zeroconf.py:375 +#, python-format +msgid "Could not change status of account \"%s\"" +msgstr "Could not change status of account \"%s\"" + +#: gajim/common/zeroconf/connection_zeroconf.py:363 +#: gajim/common/zeroconf/connection_zeroconf.py:376 +msgid "Please check if avahi-daemon is running." +msgstr "Please check if avahi-daemon is running." + +#: gajim/common/zeroconf/connection_zeroconf.py:404 +msgid "Your message could not be sent." +msgstr "Your message could not be sent." + +#: gajim/common/zeroconf/connection_zeroconf.py:419 +msgid "Contact is offline. Your message could not be sent." +msgstr "Contact is offline. Your message could not be sent." + +#: gajim/common/zeroconf/connection_zeroconf.py:441 +msgid "" +"Connection to host could not be established: Timeout while sending data." +msgstr "" +"Connection to host could not be established: Timeout while sending data." + +#: gajim/common/dbus/logind.py:73 +msgid "Machine is going to sleep" +msgstr "" + +#: gajim/common/dbus/logind.py:103 +msgid "Disconnect from the network" +msgstr "" + +#: gajim/common/modules/adhoc_commands.py:88 +msgid "Change status information" +msgstr "Change status information" + +#: gajim/common/modules/adhoc_commands.py:112 +msgid "Change status" +msgstr "Change status" + +#: gajim/common/modules/adhoc_commands.py:113 +msgid "Set the presence type and description" +msgstr "Set the presence type and description" + +#: gajim/common/modules/adhoc_commands.py:120 +msgid "Free for chat" +msgstr "Free for chat" + +#: gajim/common/modules/adhoc_commands.py:121 +msgid "Online" +msgstr "Online" + +#: gajim/common/modules/adhoc_commands.py:123 +msgid "Extended away" +msgstr "Extended away" + +#: gajim/common/modules/adhoc_commands.py:124 +msgid "Do not disturb" +msgstr "Do not disturb" + +#: gajim/common/modules/adhoc_commands.py:125 +msgid "Offline - disconnect" +msgstr "Offline - disconnect" + +#: gajim/common/modules/adhoc_commands.py:131 +msgid "Presence description:" +msgstr "Presence description:" + +#: gajim/common/modules/adhoc_commands.py:170 +msgid "The status has been changed." +msgstr "The status has been changed." + +#: gajim/common/modules/presence.py:265 +msgid "I would like to add you to my roster." +msgstr "I would like to add you to my roster." + +#: gajim/common/modules/roster_item_exchange.py:103 +#, fuzzy, python-format +msgid "Sent contact: \"%(jid)s\" (%(name)s)" +msgstr "Sent contact: \"%s\" (%s)" + +#: gajim/common/modules/roster_item_exchange.py:107 +msgid "Sent contacts:" +msgstr "Sent contacts:" + +#: gajim/common/modules/httpupload.py:99 +msgid "File is empty" +msgstr "File is empty" + +#: gajim/common/modules/httpupload.py:102 +msgid "File does not exist" +msgstr "File does not exist" + +#: gajim/common/modules/httpupload.py:109 +#: gajim/common/modules/httpupload.py:172 +#, python-format +msgid "File is too large, maximum allowed file size is: %s" +msgstr "" + +#: gajim/common/modules/httpupload.py:279 +#, fuzzy +msgid "Encrypting file…" +msgstr "E2E encryption disabled" + +#: gajim/common/modules/httpupload.py:280 +msgid "Requesting HTTP File Upload Slot…" +msgstr "" + +#: gajim/common/modules/httpupload.py:281 +msgid "Uploading via HTTP File Upload…" +msgstr "" + +#: gajim/common/modules/httpupload.py:285 +#, fuzzy +msgid "The server returned an insecure transport (HTTP)." +msgstr "Service returned an error." + +#: gajim/common/modules/httpupload.py:286 +msgid "There is no encryption method available for the chosen encryption." +msgstr "" + +#: gajim/plugins/pluginmanager.py:679 gajim/plugins/pluginmanager.py:685 +msgid "Archive corrupted" +msgstr "" + +#: gajim/plugins/pluginmanager.py:681 +#, fuzzy +msgid "Archive empty" +msgstr "File is empty" + +#: gajim/plugins/pluginmanager.py:693 gajim/plugins/pluginmanager.py:701 +#: gajim/plugins/gui.py:273 +#, fuzzy +msgid "Archive is malformed" +msgstr "Service sent malformed data" + +#: gajim/plugins/pluginmanager.py:710 gajim/plugins/gui.py:288 +#: gajim/plugins/gui.py:301 +#, fuzzy +msgid "Plugin already exists" +msgstr "This file already exists" + +#: gajim/plugins/pluginmanager.py:720 +#, fuzzy +msgid "Installation failed" +msgstr "Registration failed" + +#: gajim/plugins/gui.py:67 gajim/data/gui/shortcuts_window.ui:38 +msgid "Plugins" +msgstr "" + +#: gajim/plugins/gui.py:75 +msgid "Click to view Gajim's wiki page on how to install plugins in Flatpak." +msgstr "" + +#: gajim/plugins/gui.py:84 +msgid "Plugin" +msgstr "" + +#: gajim/plugins/gui.py:95 gajim/data/gui/manage_sounds.ui:40 +msgid "Active" +msgstr "Active" + +#: gajim/plugins/gui.py:159 +#, fuzzy, python-format +msgid "Warning: %s" +msgstr "Banning %s" + +#: gajim/plugins/gui.py:216 +#, fuzzy +msgid "Plugin failed" +msgstr "Registration failed" + +#: gajim/plugins/gui.py:249 +msgid "Unable to properly remove the plugin" +msgstr "" + +#: gajim/plugins/gui.py:287 +#, fuzzy +msgid "Overwrite Plugin?" +msgstr "Overwrite Status Message?" + +#: gajim/plugins/gui.py:289 +#, fuzzy +msgid "Do you want to overwrite the currently installed version?" +msgstr "Do you want to accept the invitation?" + +#: gajim/plugins/gui.py:317 gajim/data/gui/groupchat_config.ui:258 +#, fuzzy +msgid "Configuration" +msgstr "Room Configuration" + +#: gajim/data/gui/groupchat_nick_chooser.ui:47 +#, fuzzy +msgid "Join Group Chat as…" +msgstr "Join Group Chat" + +#: gajim/data/gui/groupchat_nick_chooser.ui:66 +#, fuzzy +msgid "Your Nickname" +msgstr "B_efore nickname:" + +#: gajim/data/gui/groupchat_control.ui:36 +#, fuzzy +msgid "Drop Files or Contacts" +msgstr "Invite _Contacts" + +#: gajim/data/gui/groupchat_control.ui:58 gajim/data/gui/chat_control.ui:322 +msgid "Bold" +msgstr "Bold" + +#: gajim/data/gui/groupchat_control.ui:67 gajim/data/gui/chat_control.ui:331 +msgid "Italic" +msgstr "Italic" + +#: gajim/data/gui/groupchat_control.ui:76 gajim/data/gui/chat_control.ui:340 +msgid "Underline" +msgstr "Underline" + +#: gajim/data/gui/groupchat_control.ui:85 gajim/data/gui/chat_control.ui:349 +msgid "Strike" +msgstr "Strike" + +#: gajim/data/gui/groupchat_control.ui:107 gajim/data/gui/chat_control.ui:371 +msgid "Font" +msgstr "Font" + +#: gajim/data/gui/groupchat_control.ui:121 gajim/data/gui/chat_control.ui:385 +#, fuzzy +msgid "Clear formatting" +msgstr "Clear formating" + +#: gajim/data/gui/groupchat_control.ui:383 gajim/data/gui/chat_control.ui:784 +#, fuzzy +msgid "Choose encryption" +msgstr "Choose File to Send..." + +#: gajim/data/gui/groupchat_control.ui:429 gajim/data/gui/chat_control.ui:667 +#, fuzzy +msgid "Show a list of emojis (Alt+M)" +msgstr "Show a list of emoticons (Alt+M)" + +#: gajim/data/gui/groupchat_control.ui:454 gajim/data/gui/chat_control.ui:833 +#, fuzzy +msgid "Send Message" +msgstr "Send message" + +#: gajim/data/gui/groupchat_control.ui:583 +#, fuzzy +msgid "Joining…" +msgstr "Banning..." + +#: gajim/data/gui/groupchat_control.ui:641 +#, fuzzy +msgid "Enter Nickname" +msgstr "Insert Nickname" + +#: gajim/data/gui/groupchat_control.ui:691 +#: gajim/data/gui/groupchat_control.ui:783 +#, fuzzy +msgid "Ch_ange" +msgstr "Change _Nickname..." + +#: gajim/data/gui/groupchat_control.ui:748 +#: gajim/data/gui/shortcuts_window.ui:319 +#, fuzzy +msgid "Change Subject" +msgstr "Change _Subject..." + +#: gajim/data/gui/groupchat_control.ui:864 +#, fuzzy +msgid "Enter Password" +msgstr "Enter new password:" + +#: gajim/data/gui/groupchat_control.ui:1081 +#, fuzzy +msgid "_Forget Group Chat" +msgstr "Leave Groupchats" + +#: gajim/data/gui/groupchat_control.ui:1085 +#, fuzzy +msgid "Gajim will not try to join this group chat again" +msgstr "If ticked, Gajim will join this group chat on startup" + +#: gajim/data/gui/groupchat_control.ui:1102 +#, fuzzy +msgid "T_ry Again" +msgstr "Verify again..." + +#: gajim/data/gui/groupchat_control.ui:1156 +#, fuzzy +msgid "An Error Occurred" +msgstr "An error has occurred:" + +#: gajim/data/gui/groupchat_control.ui:1221 +#, fuzzy +msgid "_Try Again" +msgstr "Verify again..." + +#: gajim/data/gui/groupchat_control.ui:1398 +#, fuzzy +msgid "Kick Participant" +msgstr "Participant" + +#: gajim/data/gui/groupchat_control.ui:1436 +msgid "_Kick" +msgstr "_Kick" + +#: gajim/data/gui/groupchat_control.ui:1469 +#: gajim/data/gui/groupchat_control.ui:1595 +#: gajim/data/gui/groupchat_control.ui:1721 +#: gajim/data/gui/groupchat_control.ui:1738 +#: gajim/data/gui/groupchat_control.ui:1827 +#: gajim/data/gui/groupchat_control.ui:1828 +msgid "Insert Emoji" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1482 +#: gajim/data/gui/groupchat_control.ui:1608 +#, fuzzy +msgid "Reason (optional)" +msgstr "You may also enter an alternate venue:" + +#: gajim/data/gui/groupchat_control.ui:1524 +#, fuzzy +msgid "Ban Participant" +msgstr "Participant" + +#: gajim/data/gui/groupchat_control.ui:1562 +msgid "_Ban" +msgstr "_Ban" + +#: gajim/data/gui/groupchat_control.ui:1650 +#, fuzzy +msgid "Destroy This Chat" +msgstr "New Group Chat" + +#: gajim/data/gui/groupchat_control.ui:1688 +#, fuzzy +msgid "_Destroy" +msgstr "Destroying %s" + +#: gajim/data/gui/groupchat_control.ui:1722 +#, fuzzy +msgid "Alternate venue (optional)..." +msgstr "You may also enter an alternate venue:" + +#: gajim/data/gui/groupchat_control.ui:1739 +#, fuzzy +msgid "Reason (optional)..." +msgstr "Reason" + +#: gajim/data/gui/groupchat_control.ui:1752 +msgid "Reason for destruction" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1767 +msgid "Where participants should go" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1808 +#, fuzzy +msgid "Rename This Chat" +msgstr "Leave Groupchats" + +#: gajim/data/gui/groupchat_control.ui:1935 +#, fuzzy +msgid "_Invite" +msgstr "In_vite" + +#: gajim/data/gui/groupchat_control.ui:2020 +#, fuzzy +msgid "Settings for This Chat" +msgstr "Ignore this error for this certificate." + +#: gajim/data/gui/filetransfers.ui:21 +msgid "Pa_use/Resume" +msgstr "" + +#: gajim/data/gui/filetransfers.ui:45 +#, fuzzy +msgid "_Open Folder" +msgstr "_Open Containing Folder" + +#: gajim/data/gui/filetransfers.ui:56 gajim/data/gui/filetransfers.ui:206 +msgid "File Transfers" +msgstr "File Transfers" + +#: gajim/data/gui/filetransfers.ui:91 +#, fuzzy +msgid "_Show notification when file transfer is complete" +msgstr "_Notify me when a file transfer is complete" + +#: gajim/data/gui/filetransfers.ui:131 +msgid "file transfers list" +msgstr "file transfers list" + +#: gajim/data/gui/filetransfers.ui:132 +msgid "A list of active, completed and stopped file transfers" +msgstr "A list of active, completed and stopped file transfers" + +#: gajim/data/gui/filetransfers.ui:154 +#, fuzzy +msgid "Remove completed, cancelled and failed file transfers from the list" +msgstr "Removes completed, cancelled and failed file transfers from the list" + +#: gajim/data/gui/filetransfers.ui:167 +#, fuzzy +msgid "Pause or resume file transfer" +msgstr "Cancel file transfer" + +#: gajim/data/gui/filetransfers.ui:180 +#, fuzzy +msgid "Cancel the selected file transfer and remove incomplete files" +msgstr "Cancels the selected file transfer and removes incomplete file" + +#: gajim/data/gui/filetransfers.ui:207 +#, fuzzy +msgid "Shows a list of file transfers between you and your contacts" +msgstr "Shows a list of file transfers between you and others" + +#: gajim/data/gui/add_new_contact_window.ui:76 +#, fuzzy +msgid "_XMPP Address" +msgstr "_Address:" + +#: gajim/data/gui/add_new_contact_window.ui:92 +#, fuzzy +msgid "_Nickname" +msgstr "_Nickname:" + +#: gajim/data/gui/add_new_contact_window.ui:109 +#, fuzzy +msgid "_Group" +msgstr "_Group:" + +#: gajim/data/gui/add_new_contact_window.ui:157 +msgid "Choose or type new group name" +msgstr "" + +#: gajim/data/gui/add_new_contact_window.ui:173 +#, fuzzy +msgid "A_ccount" +msgstr "A_ccount:" + +#: gajim/data/gui/add_new_contact_window.ui:189 +#, fuzzy +msgid "_Protocol" +msgstr "_Protocol:" + +#: gajim/data/gui/add_new_contact_window.ui:287 +#: gajim/data/gui/single_message_window.ui:161 +#, fuzzy +msgid "Query Contact Info" +msgstr "Personal Information" + +#: gajim/data/gui/add_new_contact_window.ui:312 +#, fuzzy +msgid "A_llow contact to view my status" +msgstr "A_llow this contact to view my status" + +#: gajim/data/gui/add_new_contact_window.ui:363 +#, fuzzy +msgid "_Save subscription message" +msgstr "_Subscription" + +#: gajim/data/gui/add_new_contact_window.ui:389 +#, fuzzy +msgid "" +"You have to register with this transport\n" +"to be able to add a contact from this\n" +"protocol. Click on Register button to\n" +"proceed." +msgstr "" +"You have to register with this transport\n" +"to be able to add a contact from this\n" +"protocol. Click on register button to\n" +"proceed." + +#: gajim/data/gui/add_new_contact_window.ui:404 +msgid "_Register" +msgstr "_Register" + +#: gajim/data/gui/add_new_contact_window.ui:433 +msgid "" +"You must be connected to the transport to be able\n" +"to add a contact from this protocol." +msgstr "" +"You must be connected to the transport to be able\n" +"to add a contact from this protocol." + +#: gajim/data/gui/add_new_contact_window.ui:467 +#, fuzzy +msgid "_Add" +msgstr "_Address:" + +#: gajim/data/gui/account_wizard.ui:16 gajim/data/gui/manage_proxies.ui:206 +#, fuzzy +msgid "_Port" +msgstr "_Port:" + +#: gajim/data/gui/account_wizard.ui:46 +#, fuzzy +msgid "_Hostname" +msgstr "_Hostname:" + +#: gajim/data/gui/account_wizard.ui:62 gajim/data/gui/account_wizard.ui:689 +#: gajim/data/gui/manage_proxies.ui:223 +msgid "example.org" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:75 +#, fuzzy +msgid "Prox_y" +msgstr "Prox_y:" + +#: gajim/data/gui/account_wizard.ui:110 +#, fuzzy +msgid "Manage Proxies..." +msgstr "Manage Proxy Profiles" + +#: gajim/data/gui/account_wizard.ui:131 gajim/data/gui/preferences.ui:798 +#, fuzzy +msgid "Advanced Settings" +msgstr "Advanced Actions" + +#: gajim/data/gui/account_wizard.ui:163 gajim/data/gui/manage_proxies.ui:290 +#, fuzzy +msgid "_Type" +msgstr "_Type:" + +#: gajim/data/gui/account_wizard.ui:203 +msgid "Welcome" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:219 +#, fuzzy +msgid "Please enter your credentials or Sign Up" +msgstr "Please create a clean new theme with your desired name." + +#: gajim/data/gui/account_wizard.ui:237 +msgid "Your XMPP address (e.g. user@example.org)" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:239 +#: gajim/data/gui/single_message_window.ui:59 +msgid "user@example.org" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:252 +#, fuzzy +msgid "Your password" +msgstr "Enter new password:" + +#: gajim/data/gui/account_wizard.ui:266 gajim/data/gui/account_wizard.ui:719 +#, fuzzy +msgid "_Advanced Settings" +msgstr "Advanced Actions" + +#: gajim/data/gui/account_wizard.ui:270 gajim/data/gui/account_wizard.ui:723 +#, fuzzy +msgid "Proxy, custom hostname and port" +msgstr "Use custom hostname/port" + +#: gajim/data/gui/account_wizard.ui:283 +#, fuzzy +msgid "_Log In" +msgstr "_Log on" + +#: gajim/data/gui/account_wizard.ui:288 +msgid "Log in with your credentials" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:304 +#, fuzzy +msgid "or" +msgstr "To" + +#: gajim/data/gui/account_wizard.ui:314 +#, fuzzy +msgid "_Sign Up" +msgstr "Sign _in" + +#: gajim/data/gui/account_wizard.ui:318 +msgid "Sign up for a new account on a server of your choice" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:369 +msgid "Visit Website" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:410 +#, fuzzy +msgid "Certificate Verification Failed" +msgstr "SSL certificate error" + +#: gajim/data/gui/account_wizard.ui:428 +msgid "" +"The following warnings came up while trying to verify the server's " +"certificate" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:457 +#, fuzzy +msgid "_Show Certificate" +msgstr "Self signed certificate" + +#: gajim/data/gui/account_wizard.ui:472 +#, fuzzy +msgid "_Add to Trusted Certificates" +msgstr "Self signed certificate" + +#: gajim/data/gui/account_wizard.ui:501 gajim/data/gui/account_wizard.ui:664 +msgid "Which server should I choose?" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:516 +msgid "" +"There are plenty of servers to choose from.\n" +"Creating an account on one server allows you to communicate with contacts " +"from other servers as well." +msgstr "" + +#: gajim/data/gui/account_wizard.ui:530 +msgid "Visit Server's Website" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:550 +msgid "Listing of Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:568 +msgid "" +"xmpp.org/getting-started" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:646 +#, fuzzy +msgid "_Please choose a server" +msgstr "Please create a clean new theme with your desired name." + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "" + +#: gajim/data/gui/application_menu.ui:8 +#, fuzzy +msgid "_Start / Join Chat…" +msgstr "Start Chat" + +#: gajim/data/gui/application_menu.ui:13 +#, fuzzy +msgid "Create _Group Chat…" +msgstr "Leave Groupchats" + +#: gajim/data/gui/application_menu.ui:18 +#, fuzzy +msgid "_History Manager" +msgstr "History Manager" + +#: gajim/data/gui/application_menu.ui:22 +#, fuzzy +msgid "Pl_ugins" +msgstr "Registration failed" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +#, fuzzy +msgid "_Preferences" +msgstr "Preferences" + +#: gajim/data/gui/application_menu.ui:36 +#, fuzzy +msgid "_Accounts" +msgstr "Accounts" + +#: gajim/data/gui/application_menu.ui:39 +#, fuzzy +msgid "_View" +msgstr "_View" + +#: gajim/data/gui/application_menu.ui:46 +#, fuzzy +msgid "Show _Offline Contacts" +msgstr "Show _Offline Contacts" + +#: gajim/data/gui/application_menu.ui:50 +#, fuzzy +msgid "Show _Active Contacts" +msgstr "Show Only _Active Contacts" + +#: gajim/data/gui/application_menu.ui:54 +#, fuzzy +msgid "Show _Transports" +msgstr "Show Trans_ports" + +#: gajim/data/gui/application_menu.ui:60 +#, fuzzy +msgid "_XML Console" +msgstr "XML Console" + +#: gajim/data/gui/application_menu.ui:64 +#, fuzzy +msgid "_File Transfer" +msgstr "File Transfers" + +#: gajim/data/gui/application_menu.ui:74 +#, fuzzy +msgid "_Help" +msgstr "_Help" + +#: gajim/data/gui/application_menu.ui:77 +#, fuzzy +msgid "_Wiki (Online)" +msgstr "Online" + +#: gajim/data/gui/application_menu.ui:81 +#, fuzzy +msgid "FA_Q (Online)" +msgstr "Online" + +#: gajim/data/gui/application_menu.ui:85 +msgid "_Keyboard Shortcuts" +msgstr "" + +#: gajim/data/gui/application_menu.ui:89 +#, fuzzy +msgid "_Features" +msgstr "Features" + +#: gajim/data/gui/application_menu.ui:93 +#, fuzzy +msgid "_About" +msgstr "About" + +#: gajim/data/gui/filetransfer_progress.ui:125 +msgid "Speed" +msgstr "" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +#, fuzzy +msgid "OK" +msgstr "_OK" + +#: gajim/data/gui/plugins_window.ui:55 +msgid "Install Plugin from ZIP-File" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:56 +msgid "Install from File…" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:70 +#, fuzzy +msgid "Uninstall Plugin" +msgstr "Stalled" + +#: gajim/data/gui/plugins_window.ui:116 +#, fuzzy +msgid "" +msgstr "Registration failed" + +#: gajim/data/gui/plugins_window.ui:133 +#, fuzzy +msgid "Plugin Settings" +msgstr "Registration failed" + +#: gajim/data/gui/plugins_window.ui:215 +#, fuzzy +msgid "" +msgstr "Description" + +#: gajim/data/gui/plugins_window.ui:239 +#, fuzzy +msgid "Version" +msgstr "GTK+ Version:" + +#: gajim/data/gui/plugins_window.ui:271 +#, fuzzy +msgid "Authors" +msgstr "Au_thorise" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +#, fuzzy +msgid "Homepage" +msgstr "Homepage:" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:349 +#, fuzzy +msgid "Installed" +msgstr "Stalled" + +#: gajim/data/gui/plugins_window.ui:363 +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +msgid "Synchronise contacts" +msgstr "Synchronise contacts" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "Select the account with which you want to synchronise" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +#, fuzzy +msgid "_Name" +msgstr "_Name:" + +#: gajim/data/gui/groupchat_creation.ui:122 +#, fuzzy +msgid "_Description" +msgstr "Description" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +#, fuzzy +msgid "_Address" +msgstr "_Address:" + +#: gajim/data/gui/groupchat_creation.ui:278 +#, fuzzy +msgid "_Account" +msgstr "_Accounts" + +#: gajim/data/gui/profile.ui:33 +#, fuzzy +msgid "Contact Infos" +msgstr "Personal Information" + +#: gajim/data/gui/profile.ui:45 +#, fuzzy +msgid "Picture and Name" +msgstr "Nickname to use" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "" + +#: gajim/data/gui/profile.ui:198 +#, fuzzy +msgid "Change your profile picture" +msgstr "Change your nickname (Ctrl+N)" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:298 +#, fuzzy +msgid "Add Entry" +msgstr "Entry:" + +#: gajim/data/gui/profile.ui:410 +#, fuzzy +msgid "Update" +msgstr "Update MOTD..." + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:15 +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:65 +#, fuzzy +msgid "Add Proxy" +msgstr "Proxy:" + +#: gajim/data/gui/manage_proxies.ui:79 +#, fuzzy +msgid "Remove Proxy" +msgstr "Remove Group" + +#: gajim/data/gui/manage_proxies.ui:131 +#, fuzzy +msgid "Pass_word" +msgstr "Pass_word:" + +#: gajim/data/gui/manage_proxies.ui:156 +msgid "Use proxy auth_entication" +msgstr "Use proxy auth_entication" + +#: gajim/data/gui/manage_proxies.ui:176 +#, fuzzy +msgid "_Username" +msgstr "_Username:" + +#: gajim/data/gui/manage_proxies.ui:237 +#, fuzzy +msgid "_Host" +msgstr "_Host:" + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "Local jid:" + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "Resource:" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "Status:" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +#, fuzzy +msgid "_Store conversation history" +msgstr "_Log conversation history" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +msgid "Contact" +msgstr "Contact" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +msgid "First Name:" +msgstr "First Name:" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +msgid "Last Name:" +msgstr "Surname:" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +#, fuzzy +msgid "XMPP Address:" +msgstr "AIM Address:" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "E-Mail:" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +msgid "Personal" +msgstr "Personal" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "_Status" + +#: gajim/data/gui/account_context_menu.ui:20 +msgid "_Personal Events" +msgstr "_Personal Events" + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "_Add Contact..." + +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "_Discover Services" + +#: gajim/data/gui/account_context_menu.ui:57 +msgid "_Execute Command..." +msgstr "_Execute Command..." + +#: gajim/data/gui/account_context_menu.ui:65 +#, fuzzy +msgid "_View Server Info" +msgstr "Server" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:125 +#, fuzzy +msgid "Global Group Chat Search" +msgstr "Join Group Chat" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +#, fuzzy +msgid "_Back" +msgstr "Back soon" + +#: gajim/data/gui/start_chat_dialog.ui:386 +#, fuzzy +msgid "Select Account" +msgstr "Removing %s account" + +#: gajim/data/gui/start_chat_dialog.ui:477 +msgid "_Select" +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +#, fuzzy +msgid "Configure" +msgstr "_Configure" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +msgid "Create new post" +msgstr "Create new post" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "Sta_tus" + +#: gajim/data/gui/systray_context_menu.ui:20 +msgid "_Start Chat..." +msgstr "_Start Chat..." + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "Send Single _Message..." + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "Show All Pending _Events" + +#: gajim/data/gui/systray_context_menu.ui:52 +msgid "Mute Sounds" +msgstr "Mute Sounds" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +#, fuzzy +msgid "Contact List" +msgstr "Contacts" + +#: gajim/data/gui/shortcuts_window.ui:24 +#, fuzzy +msgid "Create new group chat" +msgstr "Leave Groupchats" + +#: gajim/data/gui/shortcuts_window.ui:45 +#, fuzzy +msgid "File transfers" +msgstr "File Transfers" + +#: gajim/data/gui/shortcuts_window.ui:52 +#, fuzzy +msgid "Set the status message" +msgstr "status message" + +#: gajim/data/gui/shortcuts_window.ui:59 +#, fuzzy +msgid "Show XML console" +msgstr "Show _XML Console" + +#: gajim/data/gui/shortcuts_window.ui:74 +msgid "Appearance" +msgstr "Appearance" + +#: gajim/data/gui/shortcuts_window.ui:79 +#, fuzzy +msgid "Show offline contacts" +msgstr "Show _Offline Contacts" + +#: gajim/data/gui/shortcuts_window.ui:86 +#, fuzzy +msgid "Show only active contacts" +msgstr "Show Only _Active Contacts" + +#: gajim/data/gui/shortcuts_window.ui:93 +msgid "Enable contact list filtering" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:100 +#, fuzzy +msgid "Show / hide contact list" +msgstr "Show Only _Active Contacts" + +#: gajim/data/gui/shortcuts_window.ui:113 +#, fuzzy +msgid "Contact information" +msgstr "Personal Information" + +#: gajim/data/gui/shortcuts_window.ui:120 +#, fuzzy +msgid "Rename contact" +msgstr "Rename Contact" + +#: gajim/data/gui/shortcuts_window.ui:127 +#, fuzzy +msgid "Delete contact" +msgstr "Sent contacts:" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +msgid "Chat" +msgstr "Chat" + +#: gajim/data/gui/shortcuts_window.ui:142 +#, fuzzy +msgid "Message composition" +msgstr "Message content" + +#: gajim/data/gui/shortcuts_window.ui:147 +#, fuzzy +msgid "Send the message" +msgstr "Send message" + +#: gajim/data/gui/shortcuts_window.ui:154 +#, fuzzy +msgid "Add new line" +msgstr "Create new post" + +#: gajim/data/gui/shortcuts_window.ui:161 +msgid "Select an emoji" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:168 +#, fuzzy +msgid "Complete a command or a nickname" +msgstr "Please create a clean new theme with your desired name." + +#: gajim/data/gui/shortcuts_window.ui:175 +#, fuzzy +msgid "Previously sent message" +msgstr "Preset messages:" + +#: gajim/data/gui/shortcuts_window.ui:182 +#, fuzzy +msgid "Next sent messages" +msgstr "Preset messages:" + +#: gajim/data/gui/shortcuts_window.ui:189 +#, fuzzy +msgid "Quote previous message" +msgstr "status message" + +#: gajim/data/gui/shortcuts_window.ui:196 +#, fuzzy +msgid "Quote next message" +msgstr "Send message" + +#: gajim/data/gui/shortcuts_window.ui:203 +#, fuzzy +msgid "Clear message entry" +msgstr "Message Sent" + +#: gajim/data/gui/shortcuts_window.ui:211 +#, fuzzy +msgid "Recent history" +msgstr "Recently:" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:230 +#, fuzzy +msgid "Clear chat window" +msgstr "Usage: /%s, clears the text window." + +#: gajim/data/gui/shortcuts_window.ui:237 +#, fuzzy +msgid "Show chat history" +msgstr "Recently:" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:299 +msgid "Close chat" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:312 +#, fuzzy +msgid "Change Nickname" +msgstr "Change _Nickname..." + +#: gajim/data/gui/chat_control.ui:48 +#, fuzzy +msgid "Drop files or contacts" +msgstr "Sends file to a contact" + +#: gajim/data/gui/chat_control.ui:80 +#, fuzzy +msgid "1" +msgstr "Font" + +#: gajim/data/gui/chat_control.ui:101 +#, fuzzy +msgid "2 abc" +msgstr "Font" + +#: gajim/data/gui/chat_control.ui:121 +#, fuzzy +msgid "3 def" +msgstr "Font" + +#: gajim/data/gui/chat_control.ui:141 +#, fuzzy +msgid "4 ghi" +msgstr "Font" + +#: gajim/data/gui/chat_control.ui:161 +#, fuzzy +msgid "5 jkl" +msgstr "Font" + +#: gajim/data/gui/chat_control.ui:181 +#, fuzzy +msgid "6 mno" +msgstr "Font" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "" + +#: gajim/data/gui/chat_control.ui:221 +#, fuzzy +msgid "8 tuv" +msgstr "Font" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "" + +#: gajim/data/gui/chat_control.ui:261 +#, fuzzy +msgid "*" +msgstr "Font" + +#: gajim/data/gui/chat_control.ui:281 +#, fuzzy +msgid "0" +msgstr "Font" + +#: gajim/data/gui/chat_control.ui:301 +#, fuzzy +msgid "#" +msgstr "Font" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "Start _Chat" + +#: gajim/data/gui/contact_context_menu.ui:28 +msgid "Send _File..." +msgstr "Send _File..." + +#: gajim/data/gui/contact_context_menu.ui:44 +msgid "Invite _Contacts" +msgstr "Invite _Contacts" + +#: gajim/data/gui/contact_context_menu.ui:58 +msgid "E_xecute Command..." +msgstr "E_xecute Command..." + +#: gajim/data/gui/contact_context_menu.ui:67 +#, fuzzy +msgid "M_anage Contact" +msgstr "_Manage Contact" + +#: gajim/data/gui/contact_context_menu.ui:77 +msgid "_Rename..." +msgstr "_Rename..." + +#: gajim/data/gui/contact_context_menu.ui:84 +msgid "Edit _Groups..." +msgstr "Edit _Groups..." + +#: gajim/data/gui/contact_context_menu.ui:92 +msgid "Add Special _Notification..." +msgstr "Add Special _Notification..." + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "_Subscription" + +#: gajim/data/gui/contact_context_menu.ui:115 +#, fuzzy +msgid "_Allow contact to see my status" +msgstr "A_llow this contact to view my status" + +#: gajim/data/gui/contact_context_menu.ui:123 +#, fuzzy +msgid "A_sk to see contact status" +msgstr "A_sk to see his/her status" + +#: gajim/data/gui/contact_context_menu.ui:131 +#, fuzzy +msgid "_Forbid contact to see my status" +msgstr "_Forbid him/her to see my status" + +#: gajim/data/gui/contact_context_menu.ui:159 +msgid "_Unignore" +msgstr "_Unignore" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "_Ignore" + +#: gajim/data/gui/contact_context_menu.ui:174 +#, fuzzy +msgid "_Add to Contact List..." +msgstr "_Add Contact..." + +#: gajim/data/gui/single_message_window.ui:42 +#, fuzzy +msgid "_To" +msgstr "To" + +#: gajim/data/gui/single_message_window.ui:71 +#, fuzzy +msgid "Su_bject" +msgstr "Subject" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "" + +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "_Message" + +#: gajim/data/gui/single_message_window.ui:144 +#, fuzzy +msgid "Characters typed: 0" +msgstr "Character not allowed" + +#: gajim/data/gui/single_message_window.ui:189 +#, fuzzy +msgid "_From" +msgstr "From" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "Sen_d" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "Send message" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "_Reply" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "Reply to this message" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "_Send & Close" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "Send message and close window" + +#: gajim/data/gui/vcard_information_window.ui:106 +#, fuzzy +msgid "Client" +msgstr "Client:" + +#: gajim/data/gui/vcard_information_window.ui:140 +#, fuzzy +msgid "Contact time" +msgstr "Contact name" + +#: gajim/data/gui/vcard_information_window.ui:240 +#, fuzzy +msgid "User avatar" +msgstr "Avatar:" + +#: gajim/data/gui/vcard_information_window.ui:255 +#, fuzzy +msgid "Configured avatar" +msgstr "Configured avatar:" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +#, fuzzy +msgid "Ask" +msgstr "Ask:" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +#, fuzzy +msgid "Subscription" +msgstr "Subscription:" + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +#, fuzzy +msgid "Extra Address" +msgstr "Extra Address:" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +msgid "Address" +msgstr "Address" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +#, fuzzy +msgid "E-Mail" +msgstr "E-Mail:" + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "Format: YYYY-MM-DD" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +#, fuzzy +msgid "Family" +msgstr "Family:" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +#, fuzzy +msgid "Middle" +msgstr "Middle:" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +#, fuzzy +msgid "Prefix" +msgstr "Prefix:" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +#, fuzzy +msgid "Given" +msgstr "Given:" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +#, fuzzy +msgid "Suffix" +msgstr "Suffix:" + +#: gajim/data/gui/vcard_information_window.ui:958 +#, fuzzy +msgid "Name Details" +msgstr "Name:" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "" + +#: gajim/data/gui/vcard_information_window.ui:1017 +msgid "Personal Info" +msgstr "Personal Info" + +#: gajim/data/gui/vcard_information_window.ui:1040 +#, fuzzy +msgid "Company" +msgstr "Company:" + +#: gajim/data/gui/vcard_information_window.ui:1073 +#, fuzzy +msgid "Department" +msgstr "Department:" + +#: gajim/data/gui/vcard_information_window.ui:1104 +#, fuzzy +msgid "Position" +msgstr "Position:" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "Role" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "About" + +#: gajim/data/gui/vcard_information_window.ui:1514 +msgid "Comments" +msgstr "Comments" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "Edit Groups" + +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "Passphrase" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +#, fuzzy +msgid "Themes" +msgstr "Theme" + +#: gajim/data/gui/themes_window.ui:171 +#, fuzzy +msgid "Add Setting" +msgstr "Registration failed" + +#: gajim/data/gui/themes_window.ui:204 +#, fuzzy +msgid "Add new Theme" +msgstr "Create new post" + +#: gajim/data/gui/themes_window.ui:219 +#, fuzzy +msgid "Remove Theme" +msgstr "Active" + +#: gajim/data/gui/bookmarks.ui:120 +#, fuzzy +msgid "Autojoin" +msgstr "Auto join" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "" + +#: gajim/data/gui/preferences.ui:68 +#, fuzzy +msgid "Contact List Appearance" +msgstr "Roster Item Exchange" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +msgid "Chats" +msgstr "Chats" + +#: gajim/data/gui/preferences.ui:215 +#, fuzzy +msgid "Visual Notifications" +msgstr "Visual Notifications" + +#: gajim/data/gui/preferences.ui:243 +#, fuzzy +msgid "Sounds" +msgstr "Wav Sounds" + +#: gajim/data/gui/preferences.ui:303 +#, fuzzy +msgid "Ask For Status Message on…" +msgstr "Ask status message when I:" + +#: gajim/data/gui/preferences.ui:331 +#, fuzzy +msgid "Automatic Status Change" +msgstr "Automatic status" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "" + +#: gajim/data/gui/preferences.ui:447 +#, fuzzy +msgid "Status Icon" +msgstr "Status _iconset:" + +#: gajim/data/gui/preferences.ui:472 +msgid "Style" +msgstr "Style" + +#: gajim/data/gui/preferences.ui:511 +#, fuzzy +msgid "Show _Features" +msgstr "Features" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:632 +msgid "Audio" +msgstr "" + +#: gajim/data/gui/preferences.ui:660 +msgid "Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:698 +msgid "Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:735 +#, fuzzy +msgid "Miscellaneous" +msgstr "Miscellaneous" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:821 +#, fuzzy +msgid "Advanced Configuration Editor… " +msgstr "Advanced Configuration Editor" + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "" + +#: gajim/data/gui/server_info.ui:50 +#, fuzzy +msgid "Server Software" +msgstr "Servers Features" + +#: gajim/data/gui/server_info.ui:80 +#, fuzzy +msgid "Server Uptime" +msgstr "Server replied: %s" + +#: gajim/data/gui/server_info.ui:109 +#, fuzzy +msgid "Contact Addresses" +msgstr "Chat message:" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "" + +#: gajim/data/gui/server_info.ui:177 +#, fuzzy +msgid "Proxy Type" +msgstr "Proxy:" + +#: gajim/data/gui/server_info.ui:192 +#, fuzzy +msgid "No proxy used" +msgstr "Proxy:" + +#: gajim/data/gui/server_info.ui:202 +#, fuzzy +msgid "View _Certificate" +msgstr "Self signed certificate" + +#: gajim/data/gui/server_info.ui:222 +#, fuzzy +msgid "Proxy Host" +msgstr "Proxy _Host:" + +#: gajim/data/gui/server_info.ui:421 +#, fuzzy +msgid "Copy info to clipboard" +msgstr "_Copy Link Location" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:153 +#, fuzzy +msgid "Serial Number" +msgstr "GG Number:" + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:304 +msgid "Expires on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:465 +#, fuzzy +msgid "Copy Certificate Information" +msgstr "Personal Information" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "Invite Friends!" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +#, fuzzy +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "" +"You are going to begin a Multi-User Chat.\n" +"Select the contacts you want to invite" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +#, fuzzy +msgid "Please select a group chat server." +msgstr "Please select a MUC server." + +#: gajim/data/gui/chat_to_muc_window.ui:141 +#, fuzzy +msgid "Group chat server" +msgstr "Groupchats" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +msgid "In_vite" +msgstr "In_vite" + +#: gajim/data/gui/mam_preferences.ui:53 +#, fuzzy +msgid "_Default" +msgstr "Default" + +#: gajim/data/gui/mam_preferences.ui:136 +#, fuzzy +msgid "Archive" +msgstr "File is empty" + +#: gajim/data/gui/history_manager.ui:11 +#, fuzzy +msgid "_Export" +msgstr "Export" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +msgid "Gajim History Logs Manager" +msgstr "Gajim History Logs Manager" + +#: gajim/data/gui/history_manager.ui:104 +#, fuzzy +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" +"This log manager is not intended for log viewing. If you are looking for " +"such functionality, use the history window instead.\n" +"\n" +"Use this program to delete or export logs. You can select logs from the left " +"and/or search database from below." + +#: gajim/data/gui/history_manager.ui:120 +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." + +#: gajim/data/gui/history_manager.ui:211 +#, fuzzy +msgid "Search database..." +msgstr "_Search Database" + +#: gajim/data/gui/history_manager.ui:226 +#, fuzzy +msgid "Search in database" +msgstr "_Search Database" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" + +#: gajim/data/gui/groupchat_invite.ui:69 +#, fuzzy +msgid "Invitees" +msgstr "In_vite" + +#: gajim/data/gui/groupchat_invite.ui:153 +#, fuzzy +msgid "Search contacts..." +msgstr "_Search Database" + +#: gajim/data/gui/groupchat_invite.ui:223 +#, fuzzy +msgid "Click on contacts you would like to invite to this group chat." +msgstr "%(nick)s has been removed from the room (%(reason)s)" + +#: gajim/data/gui/service_discovery_window.ui:148 +#, fuzzy +msgid "Go" +msgstr "G_o" + +#: gajim/data/gui/status_change_window.ui:27 +#, fuzzy +msgid "Change Status" +msgstr "Change status" + +#: gajim/data/gui/status_change_window.ui:56 +#, fuzzy +msgid "Status Presets…" +msgstr "Status Message" + +#: gajim/data/gui/status_change_window.ui:72 +msgid "Save this message as a preset" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:130 +#, fuzzy +msgid "Ac_tivity" +msgstr "Activity" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:278 +#, fuzzy +msgid "_Change Status" +msgstr "Change status" + +#: gajim/data/gui/status_change_window.ui:313 +#, fuzzy +msgid "Activity" +msgstr "Activity:" + +#: gajim/data/gui/status_change_window.ui:326 +#, fuzzy +msgid "_No Activity" +msgstr "Activity:" + +#: gajim/data/gui/status_change_window.ui:729 +msgid "Mood" +msgstr "Mood" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +#, fuzzy +msgid "Author" +msgstr "Au_thorise" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +#, fuzzy +msgid "Group Chat Language" +msgstr "Groupchat Invitation" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +#, fuzzy +msgid "Copy Address" +msgstr "_Copy JID/E-mail Address" + +#: gajim/data/gui/emoji_chooser.ui:98 +#, fuzzy +msgid "No Results Found" +msgstr "No result" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr "XML Console" + +#: gajim/data/gui/xml_console.ui:131 +#, fuzzy +msgid "Start Search..." +msgstr "_Start Chat..." + +#: gajim/data/gui/xml_console.ui:260 +#, fuzzy +msgid "Clear" +msgstr "Cleaning" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "" + +#: gajim/data/gui/xml_console.ui:316 +#, fuzzy +msgid "Presets" +msgstr "_Presence" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "Synchronise : select contacts" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +msgid "Select the contacts you want to synchronise" +msgstr "Select the contacts you want to synchronise" + +#: gajim/data/gui/groupchat_config.ui:51 +#, fuzzy +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" +"Can be one of the following:\n" +"1. user@domain/resource (only that resource matches).\n" +"2. user@domain (any resource matches).\n" +"3. domain/resource (only that resource matches).\n" +"4. domain (the domain itself matches, as does any user@domain,\n" +"domain/resource, or address containing a subdomain)." + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:309 +#, fuzzy +msgid "Reserved Name" +msgstr "Preference Name" + +#: gajim/data/gui/groupchat_config.ui:346 +#, fuzzy +msgid "Affiliation" +msgstr "Affiliation:" + +#: gajim/data/gui/groupchat_config.ui:377 +#, fuzzy +msgid "Affiliations" +msgstr "Applications" + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "Reason" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "Ban List" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "_Deny" + +#: gajim/data/gui/subscription_request_window.ui:34 +#, fuzzy +msgid "_Block User" +msgstr "_Block" + +#: gajim/data/gui/subscription_request_window.ui:49 +#, fuzzy +msgid "_Report as Spam" +msgstr "_Report Bug" + +#: gajim/data/gui/subscription_request_window.ui:212 +#, fuzzy +msgid "_Deny…" +msgstr "_Deny" + +#: gajim/data/gui/subscription_request_window.ui:225 +#, fuzzy +msgid "Ac_cept" +msgstr "Accept" + +#: gajim/data/gui/subscription_request_window.ui:230 +#, fuzzy +msgid "Allows the contact to see your online status" +msgstr "A_llow this contact to view my status" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:115 +#, fuzzy +msgid "_Report Bug" +msgstr "_Report Bug" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "Event" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "Choose Sound" + +#: gajim/data/gui/manage_sounds.ui:97 +#, fuzzy +msgid "Clear Sound" +msgstr "Choose Sound" + +#: gajim/data/gui/manage_sounds.ui:118 +#, fuzzy +msgid "Play Sound" +msgstr "Play _sounds" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +#, fuzzy +msgid "_Send Files" +msgstr "Send _File" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +#, fuzzy +msgid "Send" +msgstr "_Send" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +#, fuzzy +msgid "Files to send" +msgstr "Choose File to Send..." + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +#, fuzzy +msgid "Add Files" +msgstr "File: " + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +#, fuzzy +msgid "Remove Files" +msgstr "_Remove" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +msgid "Idle since:" +msgstr "Idle since:" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +msgid "Mood:" +msgstr "Mood:" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +msgid "Activity:" +msgstr "Activity:" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +#, fuzzy +msgid "Tune:" +msgstr "Tune:" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +#, fuzzy +msgid "Location:" +msgstr "Notification" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +msgid "Subscription:" +msgstr "Subscription:" + +#: gajim/data/gui/advanced_configuration.ui:15 +#, fuzzy +msgid "A restart may be required for some settings to take effect" +msgstr "NOTE: You should restart Gajim for some settings to take effect" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "" + +#: gajim/data/gui/advanced_configuration.ui:120 +#, fuzzy +msgid "_Reset Value" +msgstr "_Reset to Default Colours" + +#: gajim/data/gui/advanced_configuration.ui:125 +#, fuzzy +msgid "Resets value to default" +msgstr "_Reset to Default Colours" + +#: gajim/data/gui/history_window.ui:27 +#, fuzzy +msgid "Display status changes" +msgstr "_Log status changes of contacts" + +#: gajim/data/gui/history_window.ui:57 +msgid "History Manager" +msgstr "History Manager" + +#: gajim/data/gui/history_window.ui:233 +#, fuzzy +msgid "Mode" +msgstr "Moderator" + +#: gajim/data/gui/history_window.ui:246 +#, fuzzy +msgid "Search complete history" +msgstr "Recently:" + +#: gajim/data/gui/history_window.ui:263 +msgid "Search selected day only" +msgstr "" + +#: gajim/data/gui/history_window.ui:317 +#, fuzzy +msgid "Store history for this chat" +msgstr "Ignore this error for this certificate." + +#: gajim/data/gui/history_window.ui:332 +#, fuzzy +msgid "Store History" +msgstr "Recently:" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +#, fuzzy +msgid "Identified Error" +msgstr "SSL certificate error" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +#, fuzzy +msgid "" +msgstr "Error" + +#: gajim/data/gui/ssl_error_dialog.ui:74 +#, fuzzy +msgid "Add this certificate to the list of _trusted certificates" +msgstr "" +"Add this certificate to the list of trusted certificates.\n" +"SHA1 fingerprint of the certificate:\n" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +#, fuzzy +msgid "_View Certificate" +msgstr "Self signed certificate" + +#: gajim/data/gui/ssl_error_dialog.ui:120 +#, fuzzy +msgid "_Connect" +msgstr "Connected" + +#: data/org.gajim.Gajim.desktop.in:5 +#, fuzzy +msgid "XMPP Chat Client" +msgstr "Jabber IM Client" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:8 +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:27 +#, fuzzy +msgid "Show next pending event" +msgstr "Show All Pending _Events" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:17 +#, fuzzy +msgid "Features:" +msgstr "Features" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +#, fuzzy +msgid "Automatic spell-checking for your messages" +msgstr "Spellchecking of composed messages." + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +#, fuzzy +msgid "Support for service discovery including nodes and search for users" +msgstr "Service Discovery using account %s" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +#, fuzzy +msgid "Contact list" +msgstr "Contacts" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +#, fuzzy +msgid "Group chat support" +msgstr "Groupchats" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +#, fuzzy +msgid "Chat history" +msgstr "Recently:" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +#, fuzzy +msgid "Plugin manager" +msgstr "Registration failed" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +#, fuzzy +msgid "Gajim Team" +msgstr "gajim-remote" + +#, fuzzy +#~ msgid "Chat Settings" +#~ msgstr "Registration failed" + +#, fuzzy, python-format +#~ msgid "%i day" +#~ msgid_plural "%i days" +#~ msgstr[0] "%i days ago" +#~ msgstr[1] "%i days ago" + +#, fuzzy +#~ msgid "Composing only" +#~ msgstr "Composing" + +#, fuzzy +#~ msgid "All chat states" +#~ msgstr "All statuses" + +#~ msgid "Privacy Lists" +#~ msgstr "Privacy Lists" + +#, fuzzy +#~ msgid "Unblock" +#~ msgstr "_Unblock" + +#, fuzzy +#~ msgid "Block" +#~ msgstr "_Block" + +#~ msgid "None" +#~ msgstr "None" + +#, python-format +#~ msgid "%s Status Message" +#~ msgstr "%s Status Message" + +#~ msgid "Could not load image" +#~ msgstr "Could not load image" + +#~ msgid "Error." +#~ msgstr "Error." + +#, fuzzy +#~ msgid "" +#~ "This contact will see you offline and you will not receive any messages " +#~ "sent to you by this contact." +#~ msgstr "" +#~ "This contact will see you offline and you will not receive messages he " +#~ "will send you." + +#, fuzzy +#~ msgid "_Block Contact" +#~ msgstr "Blocked Contacts" + +#, fuzzy +#~ msgid "Block Group" +#~ msgstr "_Block" + +#, fuzzy +#~ msgid "Really block this group?" +#~ msgstr "Is OpenPGP enabled for this contact?" + +#, fuzzy +#~ msgid "" +#~ "All contacts of this group will see you as offline and you will not " +#~ "receive any messages sent to you by any one of these contacts." +#~ msgstr "" +#~ "This contact will see you offline and you will not receive messages he " +#~ "will send you." + +#, fuzzy +#~ msgid "_Block Group" +#~ msgstr "_Block" + +#~ msgid "No account available" +#~ msgstr "No account available" + +#~ msgid "You must create an account before you can chat with other contacts." +#~ msgstr "You must create an account before you can chat with other contacts." + +#~ msgid "Metacontacts storage not supported by your server" +#~ msgstr "Metacontacts storage not supported by your server" + +#, fuzzy +#~ msgid "" +#~ "Your server does not support storing metacontacts information. So this " +#~ "information will not be saved on next reconnection." +#~ msgstr "" +#~ "Your server does not support storing metacontacts information. So those " +#~ "information will not be saved on next reconnection." + +#, fuzzy, python-brace-format +#~ msgid "You are invited to {room} by {user}" +#~ msgstr "You are invited to a groupchat" + +#, fuzzy, python-format +#~ msgid "%s wants to start a voice chat." +#~ msgstr "%s wants to send you a file." + +#~ msgid "Could not save your settings and preferences" +#~ msgstr "Could not save your settings and preferences" + +#, fuzzy +#~ msgid "Error While Removing Privacy List" +#~ msgstr "Error while removing privacy list" + +#, fuzzy, python-format +#~ msgid "" +#~ "Privacy list %s has not been removed. It is probably active in one of " +#~ "your connected resources. Please deactivate it and try again." +#~ msgstr "" +#~ "Privacy list %s has not been removed. It is maybe active in one of your " +#~ "connected resources. Deactivate it and try again." + +#, fuzzy +#~ msgid "Invisibility Not Supported" +#~ msgstr "Invisibility not supported" + +#, fuzzy, python-format +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "Account %s doesn't support invisibility." + +#, fuzzy +#~ msgid "Could not request upload slot for HTTP File Upload" +#~ msgstr "Could not start local service" + +#, fuzzy +#~ msgid "Not Secure" +#~ msgstr "Not started" + +#, fuzzy +#~ msgid "Could not Upload File" +#~ msgstr "Could not load image" + +#, fuzzy +#~ msgid "Encryption Error" +#~ msgstr "E2E encryption enabled" + +#~ msgid "Lists all preferences and their values" +#~ msgstr "Lists all preferences and their values" + +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "Sets value of 'key' to 'value'." + +#~ msgid "key=value" +#~ msgstr "key=value" + +#, fuzzy +#~ msgid "'key' is the name of the preference, 'value' is what to set it to" +#~ msgstr "" +#~ "'key' is the name of the preference, 'value' is the value to set it to" + +#~ msgid "Deletes a preference item" +#~ msgstr "Deletes a preference item" + +#~ msgid "key" +#~ msgstr "key" + +#~ msgid "name of the preference to be deleted" +#~ msgstr "name of the preference to be deleted" + +#~ msgid "Writes the current state of Gajim preferences to the .config file" +#~ msgstr "Writes the current state of Gajim preferences to the .config file" + +#, python-format +#~ msgid "%s is a directory but should be a file" +#~ msgstr "%s is a directory but should be a file" + +#, fuzzy, python-format +#~ msgid "Creating %s" +#~ msgstr "Destroying %s" + +#, python-format +#~ msgid "%(nickname)s Signed In" +#~ msgstr "%(nickname)s Signed In" + +#~ msgid "Contact Signed In" +#~ msgstr "Contact Signed In" + +#, python-format +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "%(nickname)s Signed Out" + +#~ msgid "Contact Signed Out" +#~ msgstr "Contact Signed Out" + +#, fuzzy +#~ msgid "" +#~ "Show desktop notification even when a chat window is opened for this " +#~ "contact and does not have focus." +#~ msgstr "Allow pop-up/notifications when I'm _away/na/busy/invisible" + +#~ msgid "default" +#~ msgstr "default" + +#, fuzzy +#~ msgid "" +#~ "Character to propose to add after desired nickname when nickname is " +#~ "already used in group chat." +#~ msgstr "" +#~ "Character to propose to add after desired nickname when desired nickname " +#~ "is used by someone else in group chat." + +#, fuzzy +#~ msgid "" +#~ "How many seconds to wait before trying to automatically rejoin a group " +#~ "chat you were disconnected from. Set to 0 to disable automatic rejoining." +#~ msgstr "" +#~ "How many seconds to wait before trying to autorejoin to a conference you " +#~ "are being disconnected from. Set to 0 to disable autorejoining." + +#, fuzzy +#~ msgid "If enabled, Gajim displays the avatar in the chat window." +#~ msgstr "If False, you will no longer see the avatar in the chat window." + +#, fuzzy +#~ msgid "" +#~ "Status to be used automatically when connecting. Can be 'online', 'chat', " +#~ "'away', 'xa' or 'dnd'. NOTE: This option is used only if " +#~ "'restore_last_status' is disabled." +#~ msgstr "" +#~ "Status used to autoconnect as. Can be online, chat, away, xa, dnd, " +#~ "invisible. NOTE: this option is used only if restore_last_status is " +#~ "disabled" + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending password on an plaintext connection. " +#~ "Can be 'warn', or 'none'." +#~ msgstr "" +#~ "Show a warning dialogue before sending password on an plaintext " +#~ "connection." + +#, fuzzy +#~ msgid "" +#~ "How many seconds to wait for the answer of a ping alive packet before " +#~ "trying to reconnect." +#~ msgstr "" +#~ "How many seconds to wait for the answer of ping alive packet before we " +#~ "try to reconnect." + +#~ msgid "I'm available." +#~ msgstr "I'm available." + +#~ msgid "I'm free for chat." +#~ msgstr "I'm free for chat." + +#~ msgid "Be right back." +#~ msgstr "Be right back." + +#~ msgid "I'm not available." +#~ msgstr "I'm not available." + +#~ msgid "Do not disturb." +#~ msgstr "Do not disturb." + +#~ msgid "Bye!" +#~ msgstr "Bye!" + +#~ msgid "Timeout loading image" +#~ msgstr "Timeout loading image" + +#~ msgid "Image is too big" +#~ msgstr "Image is too big" + +#, fuzzy +#~ msgid "PyCURL is not installed" +#~ msgstr "CRL is not yet valid" + +#, fuzzy +#~ msgid "Error loading image" +#~ msgstr "Timeout loading image" + +#~ msgid "Blocked Contacts" +#~ msgstr "Blocked Contacts" + +#, fuzzy +#~ msgid "Group chat" +#~ msgstr "Groupchats" + +#, fuzzy +#~ msgid "Bookmark group chat" +#~ msgstr "Bookmark this room" + +#, fuzzy +#~ msgid "Bookmark" +#~ msgstr "_Bookmark" + +#, fuzzy +#~ msgid "Recently used group chats" +#~ msgstr "in _group chats" + +#, fuzzy +#~ msgid "Clear Avatar" +#~ msgstr "User avatar:" + +#, fuzzy +#~ msgid "Set Avatar…" +#~ msgstr "Choose Image" + +#, fuzzy +#~ msgid "Contact" +#~ msgstr "Contact time:" + +#, fuzzy +#~ msgid "_Leave Group Chat" +#~ msgstr "Leave Groupchats" + +#, fuzzy +#~ msgid "Enter a new name for this group chat" +#~ msgstr "Enter a new name for group %s" + +#, fuzzy +#~ msgid "Use default applications" +#~ msgstr "Always use OS/X default applications" + +#~ msgid "Custom" +#~ msgstr "Custom" + +#, fuzzy +#~ msgid "Pop it up" +#~ msgstr "_Pop it up" + +#, fuzzy +#~ msgid "Notify me about it" +#~ msgstr "_Notify me about it" + +#, fuzzy +#~ msgid "Show only in contact list" +#~ msgstr "Show Only _Active Contacts" + +#, fuzzy +#~ msgid "No status messages" +#~ msgstr "status message" + +#, fuzzy +#~ msgid "All status messages" +#~ msgstr "status message" + +#, fuzzy +#~ msgid "Only enter/leave messages" +#~ msgstr "You have unread messages" + +#, fuzzy +#~ msgid "Me_rge accounts" +#~ msgstr "Mer_ge accounts" + +#, fuzzy +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "Display a_vatars of contacts in roster" + +#, fuzzy +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "" +#~ "If ticked, Gajim will display avatars of contacts in roster window and in " +#~ "group chats" + +#, fuzzy +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "Display status _messages of contacts in roster" + +#, fuzzy +#~ msgid "" +#~ "If checked, status messages of contacts will be shown under the contact's " +#~ "name, in the contact list window, and in group chats" +#~ msgstr "" +#~ "If ticked, Gajim will display status messages of contacts under the " +#~ "contact name in roster window and in group chats" + +#, fuzzy +#~ msgid "" +#~ "Show e_xtra information of contacts in contact list (mood, activity, ...)" +#~ msgstr "Display m_ood of contacts in roster" + +#, fuzzy +#~ msgid "in _contact list" +#~ msgstr "Sent contacts:" + +#~ msgid "in _group chats" +#~ msgstr "in _group chats" + +#, fuzzy +#~ msgid "Enable spell _checking" +#~ msgstr "Spell Checker" + +#, fuzzy +#~ msgid "" +#~ "If checked, spelling errors in input fields of chat windows will be " +#~ "highlighted. If no language is explicitly set via right click on the " +#~ "input field, the default language will be used for this contact or group " +#~ "chat. Needs gspell to be installed." +#~ msgstr "" +#~ "If ticked, Gajim will highlight spelling errors in input fields of chat " +#~ "windows. If no language is explicitly set via right click on the input " +#~ "field, the default language will be used for this contact or group chat." + +#, fuzzy +#~ msgid "Display status messages in _single chats" +#~ msgstr "Display status _messages of contacts in roster" + +#, fuzzy +#~ msgid "" +#~ "If checked, status lines will be shown in 1 on 1 chats when a contact " +#~ "changes their status or status message" +#~ msgstr "" +#~ "If False, Gajim will no longer print status line in chats when a contact " +#~ "changes his or her status and/or status message." + +#, fuzzy +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "Unable to join group chat" + +#, fuzzy +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "Unable to join group chat" + +#, fuzzy +#~ msgid "Show status changes (Default)" +#~ msgstr "_Log status changes of contacts" + +#, fuzzy +#~ msgid "" +#~ "If checked, the tab will be colored according to the current chatstate of " +#~ "the contact" +#~ msgstr "" +#~ "If ticked, Gajim will allow others to detect the operation system you are " +#~ "using" + +#, fuzzy +#~ msgid "" +#~ "If checked, a description of the contacts current chatstate is shown in " +#~ "the banner" +#~ msgstr "" +#~ "If ticked, Gajim will allow others to detect the operation system you are " +#~ "using" + +#, fuzzy +#~ msgid "Chatstate" +#~ msgstr "Last state" + +#, fuzzy +#~ msgid "_When new event is received" +#~ msgstr "When new event is received:" + +#, fuzzy +#~ msgid "Show popups/notifications when a chat window is already _open" +#~ msgstr "Allow pop-up/notifications when I'm _away/na/busy/invisible" + +#, fuzzy +#~ msgid "Allow popups/notifications when I'm _away, not available or busy" +#~ msgstr "Allow pop-up/notifications when I'm _away/na/busy/invisible" + +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "Notify me about contacts that sign _in" + +#, fuzzy +#~ msgid "" +#~ "A popup window about contacts that just signed in will be shown in the " +#~ "bottom right of the screen " +#~ msgstr "" +#~ "Gajim will notify you for new events via a pop-up in the bottom right of " +#~ "the screen" + +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "Notify me about contacts that sign _out" + +#~ msgid "Play _sounds" +#~ msgstr "Play _sounds" + +#~ msgid "Ma_nage..." +#~ msgstr "Ma_nage..." + +#, fuzzy +#~ msgid "Allow playing sounds when I'm _busy" +#~ msgstr "Allow sound when I'm _busy" + +#, fuzzy +#~ msgid "No_t Available" +#~ msgstr "Not Available" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Not Available when the computer " +#~ "has not been used for the specified time" +#~ msgstr "" +#~ "If ticked, Gajim will change status to Not Available when the computer " +#~ "has not been used even longer" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Away when the computer has not " +#~ "been used for the specified time" +#~ msgstr "" +#~ "If ticked, Gajim will change status to Not Available when the computer " +#~ "has not been used even longer" + +#, fuzzy +#~ msgid "" +#~ "The automatic away status message. If empty, the current status message " +#~ "will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-away timeout." +#~ msgstr "" +#~ "The auto away status message. If empty, Gajim will not change the current " +#~ "status message\n" +#~ "$S will be replaced by previous status message\n" +#~ "$T will be replaced by auto-away timeout" + +#, fuzzy +#~ msgid "" +#~ "The automatic not available status message. If empty, the current status " +#~ "message will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-not-available timeout." +#~ msgstr "" +#~ "The auto not available status message. If empty, Gajim will not change " +#~ "the current status message\n" +#~ "$S will be replaced by previous status message\n" +#~ "$T will be replaced by auto-not-available timeout" + +#, fuzzy +#~ msgid "Minutes" +#~ msgstr "minutes" + +#~ msgid "" +#~ "If enabled, Gajim will not ask for a status message. The specified " +#~ "default message will be used instead." +#~ msgstr "" +#~ "If enabled, Gajim will not ask for a status message. The specified " +#~ "default message will be used instead." + +#~ msgid "Default Message" +#~ msgstr "Default Message" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "Status Message" + +#, fuzzy +#~ msgid "Preset Status Messages" +#~ msgstr "Preset Status Messages" + +#, fuzzy +#~ msgid "_Theme" +#~ msgstr "Theme" + +#~ msgid "Configure color and font of the interface" +#~ msgstr "Configure colour and font of the interface" + +#, fuzzy +#~ msgid "" +#~ "If checked, protocol-specific status icons will be used (e.g. a contact " +#~ "from ICQ will have the equivalent ICQ icon for status online, away, busy, " +#~ "etc...)" +#~ msgstr "" +#~ "If ticked, Gajim will use protocol-specific status icons. (eg. A contact " +#~ "from MSN will have the equivalent MSN icon for status online, away, busy, " +#~ "etc...)" + +#~ msgid "_Manage..." +#~ msgstr "_Manage..." + +#, fuzzy +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "_Log status changes of contacts" + +#, fuzzy +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "If ticked, Gajim will remember the password for this account" + +#~ msgid "_Open..." +#~ msgstr "_Open..." + +#, fuzzy +#~ msgid "_Filter" +#~ msgstr "_Filter:" + +#, fuzzy +#~ msgid "Protocol" +#~ msgstr "_Protocol:" + +#~ msgid "Privacy Lists:" +#~ msgstr "Privacy Lists:" + +#, fuzzy +#~ msgid "_Ignore this error for this certificate" +#~ msgstr "Ignore this error for this certificate." + +#, fuzzy +#~ msgid "Message..." +#~ msgstr "Message" + +#, fuzzy +#~ msgid "Preset _messages" +#~ msgstr "Preset messages:" + +#, fuzzy +#~ msgid "_Type your new status message" +#~ msgstr "Type your new status message" + +#, fuzzy +#~ msgid "Change Status Message…" +#~ msgstr "_Change Status Message" + +#~ msgid "Mood:" +#~ msgstr "Mood:" + +#~ msgid "Message:" +#~ msgstr "Message:" + +#, fuzzy +#~ msgid "none" +#~ msgstr "one" + +#, fuzzy +#~ msgid "both" +#~ msgstr "Both" + +#, fuzzy +#~ msgid "from" +#~ msgstr "From" + +#, fuzzy +#~ msgid "to" +#~ msgstr "two" + +#~ msgid "Privacy List" +#~ msgstr "Privacy List" + +#~ msgid "Privacy List" +#~ msgstr "Privacy List" + +#~ msgid "Active for this session" +#~ msgstr "Active for this session" + +#~ msgid "Active on each startup" +#~ msgstr "Active on each startup" + +#~ msgid "List of rules" +#~ msgstr "List of rules" + +#~ msgid "Add / Edit a rule" +#~ msgstr "Add / Edit a rule" + +#~ msgid "Allow" +#~ msgstr "Allow" + +#~ msgid "Deny" +#~ msgstr "Deny" + +#~ msgid "all in the group" +#~ msgstr "all in the group" + +#~ msgid "all by subscription" +#~ msgstr "all by subscription" + +#~ msgid "All" +#~ msgstr "All" + +#~ msgid "to send me messages" +#~ msgstr "to send me messages" + +#~ msgid "to send me queries" +#~ msgstr "to send me queries" + +#~ msgid "to view my status" +#~ msgstr "to view my status" + +#~ msgid "to send me status" +#~ msgstr "to send me status" + +#~ msgid "All (including subscription)" +#~ msgstr "All (including subscription)" + +#~ msgid "Order:" +#~ msgstr "Order:" + +#, fuzzy +#~ msgid "" +#~ "Deny authorization from contact so the contact cannot know if you are " +#~ "connected" +#~ msgstr "" +#~ "Deny authorisation from contact so he or she cannot know when you're " +#~ "connected" + +#, fuzzy +#~ msgid "Authorize contact so the contact can know if you are connected" +#~ msgstr "Authorise contact so he or she can know when you're connected" + +#, fuzzy +#~ msgid "Contact List Shortcuts" +#~ msgstr "Roster Item Exchange" + +#~ msgid "Fill in the form." +#~ msgstr "Fill in the form." + +#~ msgid "Set an activity" +#~ msgstr "Set an activity" + +#~ msgid "Message: " +#~ msgstr "Message: " + +#, fuzzy, python-format +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "Invited %(contact_jid)s to %(room_jid)s." + +#, fuzzy +#~ msgid "Group Chat Invitation " +#~ msgstr "Groupchat Invitation" + +#, python-format +#~ msgid "Comment: %s" +#~ msgstr "Comment: %s" + +#, fuzzy +#~ msgid "Off" +#~ msgstr "Offline" + +#, fuzzy +#~ msgid "Retrieving profile…" +#~ msgstr "Retrieving profile..." + +#, fuzzy +#~ msgid "Wrong date format" +#~ msgstr "Personal Information" + +#, fuzzy +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "Format: YYYY-MM-DD" + +#~ msgid "Information received" +#~ msgstr "Information received" + +#, fuzzy +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "Without a connection you can not publish your contact information." + +#, fuzzy +#~ msgid "Sending profile…" +#~ msgstr "Sending profile..." + +#~ msgid "Information NOT published" +#~ msgstr "Information NOT published" + +#~ msgid "vCard publication failed" +#~ msgstr "vCard publication failed" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." + +#, fuzzy +#~ msgid "?password:Hidden" +#~ msgstr "Password:" + +#, python-format +#~ msgid "Privacy List %s" +#~ msgstr "Privacy List %s" + +#, python-format +#~ msgid "Privacy List for %s" +#~ msgstr "Privacy List for %s" + +#, python-format +#~ msgid "" +#~ "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" +#~ msgstr "" +#~ "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" + +#, python-format +#~ msgid "Order: %(order)s, action: %(action)s" +#~ msgstr "Order: %(order)s, action: %(action)s" + +#~ msgid "Edit a rule" +#~ msgstr "Edit a rule" + +#~ msgid "Add a rule" +#~ msgstr "Add a rule" + +#, python-format +#~ msgid "Privacy Lists for %s" +#~ msgstr "Privacy Lists for %s" + +#~ msgid "Invalid List Name" +#~ msgstr "Invalid List Name" + +#~ msgid "You must enter a name to create a privacy list." +#~ msgstr "You must enter a name to create a privacy list." + +#, fuzzy +#~ msgid "Loading" +#~ msgstr "Coding" + +#~ msgid "status message title" +#~ msgstr "status message title" + +#~ msgid "status message text" +#~ msgstr "status message text" + +#, fuzzy +#~ msgid "Start New Conversation" +#~ msgstr "Continued conversation" + +#~ msgid "Unknown SSL error: %d" +#~ msgstr "Unknown SSL error: %d" + +#~ msgid "Gajim - %s" +#~ msgstr "Gajim - %s" + +#~ msgid "Choose interval between 2 checks of idleness." +#~ msgstr "Choose interval between 2 checks of idleness." + +#, fuzzy +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "Dictionary for lang %s not available" + +#, fuzzy +#~ msgid "" +#~ "You have to install the dictionary \"%s\" to use spellchecking, or choose " +#~ "another language by setting the speller_language option.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "You have to install %s dictionary to use spellchecking, or choose another " +#~ "language by setting the speller_language option.\n" +#~ "\n" +#~ "Highlighting misspelt words feature will not be used" + +#~ msgid "_Reconnect" +#~ msgstr "_Reconnect" + +#, fuzzy +#~ msgid "Quit" +#~ msgstr "_Quit" + +#, fuzzy +#~ msgid "Show Contact List" +#~ msgstr "Show Only _Active Contacts" + +#, fuzzy +#~ msgid "Add to Contact List" +#~ msgstr "_Add Contact..." + +#, fuzzy +#~ msgid "Invite Contact" +#~ msgstr "Invite _Contacts" + +#, fuzzy +#~ msgid "Configure Group Chat" +#~ msgstr "Leave Groupchats" + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." +#~ msgstr "" +#~ "If True, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." + +#~ msgid "Invalid character in hostname." +#~ msgstr "Invalid character in hostname." + +#~ msgid "Server address required." +#~ msgstr "Server address required." + +#~ msgid "Invalid character in username." +#~ msgstr "Invalid character in username." + +#~ msgid "Invalid character in resource." +#~ msgstr "Invalid character in resource." + +#, fuzzy +#~ msgid "Notification color for contacts signing in." +#~ msgstr "Notify me about contacts that sign _in" + +#, fuzzy +#~ msgid "Notification color for contacts signing out." +#~ msgstr "Notify me about contacts that sign _out" + +#, fuzzy +#~ msgid "Notification color for new message notification." +#~ msgstr "Preview new messages in notification popup?" + +#, fuzzy +#~ msgid "Notification color for file transfer request." +#~ msgstr "_Notify me when a file transfer is complete" + +#, fuzzy +#~ msgid "Notification color for file transfer errors." +#~ msgstr "_Notify me when a file transfer is complete" + +#, fuzzy +#~ msgid "Notification background color for changed status." +#~ msgstr "Background colour of contacts when they just signed in." + +#, fuzzy +#~ msgid "Event Type" +#~ msgstr "Event" + +#, fuzzy +#~ msgid "Event desc" +#~ msgstr "Events" + +#, fuzzy +#~ msgid "No response from the Server" +#~ msgstr "You are not connected to the server" + +#~ msgid "Resource Conflict" +#~ msgstr "Resource Conflict" + +#, fuzzy +#~ msgid "" +#~ "You are already connected to this account with the same resource. Please " +#~ "enter a different one." +#~ msgstr "" +#~ "You are already connected to this account with the same resource. Please " +#~ "type a new one" + +#, fuzzy +#~ msgid "Unable to load image" +#~ msgstr "Unable to load idle module" + +#, fuzzy +#~ msgid "Media type not supported: %s" +#~ msgstr "Invisibility not supported" + +#~ msgid "new@jabber.id" +#~ msgstr "new@jabber.id" + +#~ msgid "new%d@jabber.id" +#~ msgstr "new%d@jabber.id" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Gajim: Account Creation Wizard" + +#, fuzzy +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "You need to have an account in order to connect\n" +#~ "to the Jabber network." + +#~ msgid "I already have an account I want to _use" +#~ msgstr "I already have an account I want to _use" + +#~ msgid "I want to _register for a new account" +#~ msgstr "I want to _register for a new account" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "Please choose one of the options below:" + +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "Please fill in the data for your existing account" + +#, fuzzy +#~ msgid "_XMPP Address:" +#~ msgstr "AIM Address:" + +#~ msgid "Anon_ymous authentication" +#~ msgstr "Anon_ymous authentication" + +#~ msgid "_Password:" +#~ msgstr "_Password:" + +#~ msgid "Save pass_word" +#~ msgstr "Save pass_word" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "If ticked, Gajim will remember the password for this account" + +#~ msgid "Please select a server" +#~ msgstr "Please select a server" + +#~ msgid "_Server:" +#~ msgstr "_Server:" + +#~ msgid "Manage..." +#~ msgstr "Manage..." + +#~ msgid "_Port:" +#~ msgstr "_Port:" + +#~ msgid "_Advanced" +#~ msgstr "_Advanced" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA1 fingerprint of the certificate:\n" +#~ msgstr "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA1 fingerprint of the certificate:\n" + +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." + +#~ msgid "Connect when I press Finish" +#~ msgstr "Connect when I press Finish" + +#~ msgid "Set my profile when I connect" +#~ msgstr "Set my profile when I connect" + +#~ msgid "_Finish" +#~ msgstr "_Finish" + +#~ msgid "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." +#~ msgstr "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." + +#~ msgid "Your new account has been created successfully" +#~ msgstr "Your new account has been successfully created" + +#~ msgid "Invalid username" +#~ msgstr "Invalid username" + +#~ msgid "You must provide a username to configure this account." +#~ msgstr "You must provide a username to configure this account." + +#~ msgid "Invalid server" +#~ msgstr "Invalid server" + +#~ msgid "Please provide a server on which you want to register." +#~ msgstr "Please provide a server on which you want to register." + +#~ msgid "Invalid entry" +#~ msgstr "Invalid entry" + +#~ msgid "Certificate Already in File" +#~ msgstr "Certificate Already in File" + +#~ msgid "This certificate is already in file %s, so it's not added again." +#~ msgstr "This certificate is already in file %s, so it's not added again." + +#~ msgid "" +#~ "Security Warning\n" +#~ "\n" +#~ "The authenticity of the %(hostname)s SSL certificate could be invalid.\n" +#~ "SSL Error: %(error)s\n" +#~ "Do you still want to connect to this server?" +#~ msgstr "" +#~ "Security Warning\n" +#~ "\n" +#~ "The authenticity of the %(hostname)s SSL certificate could be invalid.\n" +#~ "SSL Error: %(error)s\n" +#~ "Do you still want to connect to this server?" + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA-256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA1 fingerprint of the certificate:\n" +#~ "%s" + +#~ msgid "Account name is in use" +#~ msgstr "Account name is in use" + +#~ msgid "You already have an account using this name." +#~ msgstr "You already have an account using this name." + +#~ msgid "Show a warning dialog before using standard SSL library." +#~ msgstr "Show a warning dialogue before using standard SSL library." + +#, fuzzy +#~ msgid "If enabled, a whitespace is sent after inactivity (keep alive)." +#~ msgstr "Whitespace sent after inactivity" + +#, fuzzy +#~ msgid "If enabled, an XMPP ping is sent after inactivity (ping alive)." +#~ msgstr "XMPP ping sent after inactivity" + +#~ msgid "Connection with account \"%s\" has been lost" +#~ msgstr "Connection with account \"%s\" has been lost" + +#~ msgid "Reconnect manually." +#~ msgstr "Reconnect manually." + +#~ msgid "Server %(name)s answered wrongly to register request: %(error)s" +#~ msgstr "Server %(name)s answered wrongly to register request: %(error)s" + +#~ msgid "Server %s provided a different registration form" +#~ msgstr "Server %s provided a different registration form" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "Could not connect to \"%s\"" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "Could not connect to \"%s\"" + +#~ msgid "Check your connection or try again later." +#~ msgstr "Check your connection or try again later." + +#~ msgid "Server replied: %s" +#~ msgstr "Server replied: %s" + +#~ msgid "Connection to proxy failed" +#~ msgstr "Connection to proxy failed" + +#~ msgid "Could not connect to account %s" +#~ msgstr "Could not connect to account %s" + +#~ msgid "Connection with account %s has been lost. Retry connecting." +#~ msgstr "Connection with account %s has been lost. Retry connecting." + +#~ msgid "Please check your login and password for correctness." +#~ msgstr "Please check your login and password for correctness." + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "HTTP Connect" + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "BOSH" +#~ msgstr "_BOSH URL:" + +#~ msgid "Use HTTP prox_y" +#~ msgstr "Use HTTP prox_y" + +#, fuzzy +#~ msgid "_BOSH URL" +#~ msgstr "_BOSH URL:" + +#, fuzzy +#~ msgid "BOSH" +#~ msgstr "_BOSH URL:" + +#, fuzzy +#~ msgid "Warn on insecure connection" +#~ msgstr "_Warn before using an insecure connection" + +#, fuzzy +#~ msgid "Contact list, list of contacts" +#~ msgstr "_Log status changes of contacts" + +#~ msgid "You are participating in one or more group chats" +#~ msgstr "You are participating in one or more group chats" + +#, fuzzy +#~ msgid "" +#~ "Changing your status to invisible will result in you leaving those group " +#~ "chats.\n" +#~ "Are you sure you want to go invisible?" +#~ msgstr "" +#~ "Changing your status to invisible will result in disconnection from those " +#~ "group chats. Are you sure you want to go invisible?" + +#~ msgid "_Disconnect" +#~ msgstr "_Disconnect" + +#~ msgid "You cannot join a group chat while you are invisible" +#~ msgstr "You cannot join a group chat while you are invisible" + +#~ msgid "Invisible" +#~ msgstr "Invisible" + +#, fuzzy +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "You cannot join a group chat while you are invisible" + +#~ msgid "_Invisible" +#~ msgstr "_Invisible" + +#, fuzzy +#~ msgid "Yesterday" +#~ msgid_plural "%(nb_days)i days ago" +#~ msgstr[0] "Yesterday" +#~ msgstr[1] "Yesterday" + +#, fuzzy +#~ msgid "_Cancel Upload" +#~ msgstr "_Cancel" + +#~ msgid " [blocked]" +#~ msgstr " [blocked]" + +#~ msgid " [minimized]" +#~ msgstr " [minimised]" + +#, fuzzy +#~ msgid "" +#~ "If you close this tab while having chat history disabled, this message " +#~ "will be lost." +#~ msgstr "" +#~ "If you close this tab and you have history disabled, this message will be " +#~ "lost." + +#, fuzzy +#~ msgid "Unregister Failed" +#~ msgstr "Unregister failed" + +#, fuzzy +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "Unregistration with server %(server)s failed: %(error)s" + +#, fuzzy +#~ msgid "New Password" +#~ msgstr "Save password" + +#~ msgid "What do you want to do?" +#~ msgstr "What do you want to do?" + +#~ msgid "Remove account from Gajim and from _server" +#~ msgstr "Remove account from Gajim and from _server" + +#, fuzzy +#~ msgid "You must enter a password" +#~ msgstr "You must enter a password." + +#, fuzzy +#~ msgid "You still have open chats in your account %s" +#~ msgstr "You have opened chat in account %s" + +#, fuzzy +#~ msgid "To unregister from a server, the account must be enabled." +#~ msgstr "To disable the account, you must be disconnected." + +#, fuzzy +#~ msgid "Password required" +#~ msgstr "Password Required" + +#, fuzzy +#~ msgid "Still connected to the server" +#~ msgstr "You are not connected to the server" + +#, fuzzy +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "If you remove it, the connection will be lost." + +#, fuzzy +#~ msgid "Connection to server %s failed" +#~ msgstr "Connection to proxy failed" + +#, fuzzy +#~ msgid "What would you like to do?" +#~ msgstr "What do you want to do?" + +#, fuzzy +#~ msgid "Remove only from Gajim" +#~ msgstr "Remove account _only from Gajim" + +#, fuzzy +#~ msgid "Contents" +#~ msgstr "_Contents" + +#, fuzzy +#~ msgid "FAQ" +#~ msgstr "_FAQ" + +#~ msgid "Save as Preset Status Message" +#~ msgstr "Save as Preset Status Message" + +#~ msgid "Enter a new nickname for contact %s" +#~ msgstr "Enter a new nickname for contact %s" + +#, fuzzy +#~ msgid "Join a group chat" +#~ msgstr "in _group chats" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "Accept" + +#~ msgid "New entry received" +#~ msgstr "New entry received" + +#~ msgid "You have received new entry:" +#~ msgstr "You have received new entry:" + +#~ msgid "Feed name:" +#~ msgstr "Feed name:" + +#~ msgid "Last modified:" +#~ msgstr "Last modified:" + +#, fuzzy +#~ msgid "Send file?" +#~ msgstr "Send _File" + +#, fuzzy +#~ msgid "Mail _client" +#~ msgstr "_Mail client:" + +#, fuzzy +#~ msgid "_Browser" +#~ msgstr "_Browser:" + +#, fuzzy +#~ msgid "_File manager" +#~ msgstr "_File manager:" + +#, fuzzy +#~ msgid "Custom applications" +#~ msgstr "Always use OS/X default applications" + +#, fuzzy +#~ msgid "Applications" +#~ msgstr "Applications" + +#, fuzzy +#~ msgid "" +#~ "Uses ReStructured text markup to send HTML, plus ASCII formatting if " +#~ "selected. Needs docutils installed (for syntax, see http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Uses ReStructured text markup to send HTML, plus ascii formatting if " +#~ "selected. For syntax, see http://docutils.sourceforge.net/docs/ref/rst/" +#~ "restructuredtext.html (If you want to use this, install docutils)" + +#, fuzzy +#~ msgid "_Ignore formatting of incoming messages" +#~ msgstr "_Ignore rich content in incoming messages" + +#, fuzzy +#~ msgid "" +#~ "Some messages may include rich content (xhtml formatting, colors etc). If " +#~ "checked, Gajim will just display the plain message text." +#~ msgstr "" +#~ "Some messages may include rich content (formatting, colours etc). If " +#~ "ticked, Gajim will just display the raw message text." + +#, fuzzy +#~ msgid "RST XHTML Generator" +#~ msgstr "RST Generator" + +#, fuzzy +#~ msgid "Requires: python-docutils" +#~ msgstr "Requires python-docutils." + +#~ msgid "New Single Message" +#~ msgstr "New Single Message" + +#, fuzzy +#~ msgid "" +#~ "Can be empty, 'chat' or 'normal'. If not empty, all incoming messages are " +#~ "treated as if they were of this type." +#~ msgstr "" +#~ "Can be empty, 'chat' or 'normal'. If not empty, treat all incoming " +#~ "messages as if they were of this type" + +#~ msgid "Error %(code)s: %(msg)s" +#~ msgstr "Error %(code)s: %(msg)s" + +#~ msgid "twelve" +#~ msgstr "twelve" + +#~ msgid "one" +#~ msgstr "one" + +#~ msgid "two" +#~ msgstr "two" + +#~ msgid "three" +#~ msgstr "three" + +#~ msgid "four" +#~ msgstr "four" + +#~ msgid "five" +#~ msgstr "five" + +#~ msgid "six" +#~ msgstr "six" + +#~ msgid "seven" +#~ msgstr "seven" + +#~ msgid "eight" +#~ msgstr "eight" + +#~ msgid "nine" +#~ msgstr "nine" + +#~ msgid "ten" +#~ msgstr "ten" + +#~ msgid "eleven" +#~ msgstr "eleven" + +#~ msgid "%(0)s o'clock" +#~ msgstr "%(0)s o'clock" + +#~ msgid "five past %(0)s" +#~ msgstr "five past %(0)s" + +#~ msgid "ten past %(0)s" +#~ msgstr "ten past %(0)s" + +#~ msgid "quarter past %(0)s" +#~ msgstr "quarter past %(0)s" + +#~ msgid "twenty past %(0)s" +#~ msgstr "twenty past %(0)s" + +#~ msgid "twenty five past %(0)s" +#~ msgstr "twenty five past %(0)s" + +#~ msgid "half past %(0)s" +#~ msgstr "half past %(0)s" + +#~ msgid "twenty five to %(1)s" +#~ msgstr "twenty five to %(1)s" + +#~ msgid "twenty to %(1)s" +#~ msgstr "twenty to %(1)s" + +#~ msgid "quarter to %(1)s" +#~ msgstr "quarter to %(1)s" + +#~ msgid "ten to %(1)s" +#~ msgstr "ten to %(1)s" + +#~ msgid "five to %(1)s" +#~ msgstr "five to %(1)s" + +#~ msgid "%(1)s o'clock" +#~ msgstr "%(1)s o'clock" + +#~ msgid "Night" +#~ msgstr "Night" + +#~ msgid "Early morning" +#~ msgstr "Early morning" + +#~ msgid "Morning" +#~ msgstr "Morning" + +#~ msgid "Almost noon" +#~ msgstr "Almost noon" + +#~ msgid "Noon" +#~ msgstr "Noon" + +#~ msgid "Afternoon" +#~ msgstr "Afternoon" + +#~ msgid "Evening" +#~ msgstr "Evening" + +#~ msgid "Late evening" +#~ msgstr "Late evening" + +#~ msgid "Start of week" +#~ msgstr "Start of week" + +#~ msgid "Middle of week" +#~ msgstr "Middle of week" + +#~ msgid "End of week" +#~ msgstr "End of week" + +#~ msgid "Weekend!" +#~ msgstr "Weekend!" + +#, fuzzy +#~ msgid "" +#~ "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or " +#~ "0 to disable Fuzzy Clock. 1 is the most precise clock, 4 the least " +#~ "precise one. This is used only if 'print_time' is 'sometimes'." +#~ msgstr "" +#~ "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or " +#~ "0 to disable fuzzyclock. 1 is the most precise clock, 4 the least precise " +#~ "one. This is used only if print_time is 'sometimes'." + +#~ msgid "message" +#~ msgstr "message" + +#, fuzzy +#~ msgid "error: %s" +#~ msgstr "Error: %s" + +#, fuzzy +#~ msgid "Form: %s" +#~ msgstr "Form %s" + +#, fuzzy +#~ msgid "XML Input" +#~ msgstr "XML Input" + +#, fuzzy +#~ msgid "Ttitle" +#~ msgstr "Title:" + +#, fuzzy +#~ msgid "%(type)s encryption is active %(authenticated)s" +#~ msgstr "%(type)s encryption is active %(authenticated)s." + +#, fuzzy +#~ msgid "Screen" +#~ msgstr "green" + +#~ msgid "Conversation with " +#~ msgstr "Conversation with " + +#~ msgid "Continued conversation" +#~ msgstr "Continued conversation" + +#, fuzzy +#~ msgid "%s has invited you to join a discussion" +#~ msgstr "$Contact has invited you to join a discussion" + +#~ msgid "_Send Private Message" +#~ msgstr "_Send Private Message" + +#, fuzzy +#~ msgid "Participant Actions" +#~ msgstr "Participants" + +#~ msgid "_Voice" +#~ msgstr "_Voice" + +#~ msgid "Mo_derator" +#~ msgstr "Mo_derator" + +#~ msgid "_Member" +#~ msgstr "_Member" + +#~ msgid "_Admin" +#~ msgstr "_Admin" + +#~ msgid "_Owner" +#~ msgstr "_Owner" + +#, fuzzy +#~ msgid "_Add to Contact List" +#~ msgstr "_Add Contact..." + +#, fuzzy +#~ msgid "_Execute command" +#~ msgstr "_Execute Command" + +#~ msgid "Change _Nickname..." +#~ msgstr "Change _Nickname..." + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "_New Group Chat" + +#~ msgid "Change _Subject..." +#~ msgstr "Change _Subject..." + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "Join _Group Chat..." + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "_New Group Chat" + +#~ msgid "_Minimize on close" +#~ msgstr "_Minimise on close" + +#, fuzzy +#~ msgid "_Request Voice" +#~ msgstr "_Voice" + +#~ msgid "_Bookmark" +#~ msgstr "_Bookmark" + +#, fuzzy +#~ msgid "The authenticity of the %s certificate could be invalid" +#~ msgstr "The authenticity of the %s certificate could be invalid." + +#~ msgid "" +#~ "\n" +#~ "Unknown SSL error: %d" +#~ msgstr "" +#~ "\n" +#~ "Unknown SSL error: %d" + +#~ msgid "" +#~ "\n" +#~ "SSL Error: %s" +#~ msgstr "" +#~ "\n" +#~ "SSL Error: %s" + +#~ msgid "Error verifying SSL certificate" +#~ msgstr "Error verifying SSL certificate" + +#, fuzzy +#~ msgid "View certificate…" +#~ msgstr "Self signed certificate" + +#, fuzzy +#~ msgid "Continue" +#~ msgstr "_Continue" + +#~ msgid "" +#~ "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM " +#~ "IS RUNNING)" +#~ msgstr "" +#~ "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM " +#~ "IS RUNNING)" + +#, fuzzy +#~ msgid "Authorization" +#~ msgstr "Authorisation has been sent" + +#, fuzzy +#~ msgid "" +#~ "All chat and group chat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" + +#, fuzzy +#~ msgid "Account '%s' is still connected to the server" +#~ msgstr "Account \"%s\" is connected to the server" + +#, fuzzy +#~ msgid "Error While Saving" +#~ msgstr "Error while adding service. %s" + +#, fuzzy +#~ msgid "" +#~ "Image cannot be saved in %(type)s format.\n" +#~ "Save as %(new_filename)s?" +#~ msgstr "Image cannot be saved in %(type)s format. Save as %(new_filename)s?" + +#, fuzzy +#~ msgid "Save _As" +#~ msgstr "Have " + +#~ msgid "Yes, I really want to connect insecurely" +#~ msgstr "Yes, I really want to connect insecurely" + +#, fuzzy +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "Invalid group chat Jabber ID" + +#, fuzzy +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "The group chat Jabber ID has invalid characters." + +#~ msgid "You may specify a reason below:" +#~ msgstr "You may specify a reason below:" + +#~ msgid "Banning %s" +#~ msgstr "Banning %s" + +#, fuzzy +#~ msgid "" +#~ "Always ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Always ask before closing group chat tab/window in this space separated " +#~ "list of group chat jids." + +#, fuzzy +#~ msgid "" +#~ "Never ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Never ask before closing group chat tab/window in this space separated " +#~ "list of group chat jids." + +#, fuzzy +#~ msgid "Leave Group Chats" +#~ msgstr "Leave Groupchats" + +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "%(nickname)s on %(room_jid)s" + +#, fuzzy +#~ msgid "You have not joined a group chat." +#~ msgstr "You have not joined a groupchat." + +#, fuzzy +#~ msgid "You left the following group chats:" +#~ msgstr "You left the following groupchats:" + +#~ msgid "Don't show avatar for the transport itself." +#~ msgstr "Don't show avatar for the transport itself." + +#, fuzzy +#~ msgid "" +#~ "Show a confirmation dialog for a custom status? Empty string means never " +#~ "show the dialog." +#~ msgstr "" +#~ "Should we show the confirm custom status dialogue or not? Empty string " +#~ "means we never show the dialogue." + +#, fuzzy +#~ msgid "" +#~ "If enabled, notification windows from notification-daemon will be " +#~ "attached to the notification area icon." +#~ msgstr "" +#~ "If True, notification windows from notification-daemon will be attached " +#~ "to systray icon." + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending PLAIN password over a plain " +#~ "connection." +#~ msgstr "" +#~ "Show a warning dialogue before sending password on an plaintext " +#~ "connection." + +#, fuzzy +#~ msgid "Jabberd2 workaround." +#~ msgstr "Jabberd2 workaround" + +#, fuzzy +#~ msgid "Configure Services…" +#~ msgstr "Configure Services..." + +#, fuzzy +#~ msgid "Group Chat Bookmarks" +#~ msgstr "Group Chat" + +#, fuzzy +#~ msgid "Add Bookmark" +#~ msgstr "_Bookmark" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "_Bookmark" + +#, fuzzy +#~ msgid "_Server" +#~ msgstr "_Server:" + +#, fuzzy +#~ msgid "_Password" +#~ msgstr "_Password:" + +#, fuzzy +#~ msgid "Join chat when connected" +#~ msgstr "Contact Disconnected" + +#~ msgid "New Group Chat" +#~ msgstr "New Group Chat" + +#~ msgid "This bookmark has invalid data" +#~ msgstr "This bookmark has invalid data" + +#, fuzzy +#~ msgid "" +#~ "Please be sure to fill out server and group chat fields or remove this " +#~ "bookmark." +#~ msgstr "" +#~ "Please be sure to fill out server and room fields or remove this bookmark." + +#~ msgid "Character not allowed" +#~ msgstr "Character not allowed" + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "Invalid group chat Jabber ID" + +#~ msgid "Unable to join group chat" +#~ msgstr "Unable to join group chat" + +#, fuzzy +#~ msgid "You are banned from group chat %s." +#~ msgstr "You are banned from group chat %s." + +#, fuzzy +#~ msgid "Remote server %s does not exist." +#~ msgstr "Group chat %s does not exist." + +#, fuzzy +#~ msgid "Group chat %s does not exist." +#~ msgstr "Group chat %s does not exist." + +#, fuzzy +#~ msgid "Group chat creation is not permitted." +#~ msgstr "Group chat creation is restricted." + +#, fuzzy +#~ msgid "You must use your registered nickname in %s." +#~ msgstr "Your registered nickname must be used in group chat %s." + +#, fuzzy +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "You are not in the members list in groupchat %s." + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "This is not a group chat" + +#~ msgid "This is not a group chat" +#~ msgstr "This is not a group chat" + +#, fuzzy +#~ msgid "Please choose a group chat" +#~ msgstr "Please create a clean new theme with your desired name." + +#~ msgid "Invalid Nickname" +#~ msgstr "Invalid Nickname" + +#, fuzzy +#~ msgid "Wrong server" +#~ msgstr "Wrong uri" + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "This is not a group chat" + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit." +#~ msgstr "How many lines to request to server when entering a groupchat." + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit." +#~ msgstr "How many minutes back to request logs when a entering a groupchat." + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit, -2 means global value." +#~ msgstr "How many lines to request to server when entering a groupchat." + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit, -2 means global value." +#~ msgstr "How many minutes back to request logs when a entering a groupchat." + +#, fuzzy +#~ msgid "A Password is required to join the group chat %s. Please type it." +#~ msgstr "A Password is required to join the room %s. Please type it." + +#~ msgid "Not in Roster" +#~ msgstr "Not in Roster" + +#~ msgid "I would like to add you to my roster" +#~ msgstr "I would like to add you to my roster" + +#, fuzzy +#~ msgid "Add to Roster" +#~ msgstr "_Add to Roster" + +#, fuzzy +#~ msgid "Manage Room" +#~ msgstr "_Manage Room" + +#, fuzzy +#~ msgid "Configure Room" +#~ msgstr "Configure _Room..." + +#, fuzzy +#~ msgid "Destroy Room" +#~ msgstr "_Destroy Room" + +#, fuzzy +#~ msgid "Change Nick" +#~ msgstr "Change _Nickname..." + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "_Disconnect" + +#, fuzzy +#~ msgid "Copy JID" +#~ msgstr "Room JID" + +#, fuzzy +#~ msgid "Add to Roster…" +#~ msgstr "_Add to Roster" + +#, fuzzy +#~ msgid "Copy JID/Email" +#~ msgstr "_Copy JID/E-mail Address" + +#, fuzzy +#~ msgid "JID: %s" +#~ msgstr "Jabber ID: %s" + +#~ msgid "Changing Subject" +#~ msgstr "Changing Subject" + +#~ msgid "Please specify the new subject:" +#~ msgstr "Please specify the new subject:" + +#~ msgid "Room logging is now enabled" +#~ msgstr "Room logging is now enabled" + +#~ msgid "Room logging is now disabled" +#~ msgstr "Room logging is now disabled" + +#, fuzzy +#~ msgid "You (%s) joined the room" +#~ msgstr "%s has joined the group chat" + +#~ msgid "Room logging is enabled" +#~ msgstr "Room logging is enabled" + +#, fuzzy +#~ msgid "Unable to join groupchat" +#~ msgstr "Unable to join group chat" + +#~ msgid "Groupchat Invitation" +#~ msgstr "Groupchat Invitation" + +#, fuzzy +#~ msgid "%(jid)s has been invited in this room" +#~ msgstr "%(nick)s has been removed from the room (%(reason)s)" + +#, fuzzy +#~ msgid "JID is not a Groupchat" +#~ msgstr "This is not a group chat" + +#~ msgid "Invalid JID" +#~ msgstr "Invalid JID" + +#~ msgid "A connection is not available" +#~ msgstr "A connection is not available" + +#, fuzzy +#~ msgid "JID already in list" +#~ msgstr "Jabber ID already in list" + +#, fuzzy +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "A connection is not available" + +#~ msgid "Removes contact from roster" +#~ msgstr "Removes contact from roster" + +#~ msgid "Not in roster" +#~ msgstr "Not in roster" + +#, fuzzy +#~ msgid "Contact signed in notification color." +#~ msgstr "_Show event in roster" + +#, fuzzy +#~ msgid "Contact signout notification color" +#~ msgstr "_Show event in roster" + +#, fuzzy +#~ msgid "File transfer request notification color." +#~ msgstr "File Transfer Request" + +#, fuzzy +#~ msgid "File transfer error notification color." +#~ msgstr "File transfer cancelled" + +#, fuzzy +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "Show a pop-up notification when a file transfer is complete " + +#, fuzzy +#~ msgid "Groupchat invitation notification color" +#~ msgstr "Groupchat Invitation" + +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "Add * and [n] in roster title?" + +#~ msgid "Hides the banner in two persons chat window" +#~ msgstr "Hides the banner in two persons chat window" + +#, fuzzy +#~ msgid "" +#~ "Show the confirm metacontacts creation dialog or not? Empty string means " +#~ "never show the dialog." +#~ msgstr "" +#~ "Should we show the confirm metacontacts creation dialogue or not? Empty " +#~ "string means we never show the dialogue." + +#~ msgid "Space separated list of ssl errors to ignore." +#~ msgstr "Space separated list of SSL errors to ignore." + +#~ msgid "Answer to receipt requests" +#~ msgstr "Answer to receipt requests" + +#, fuzzy +#~ msgid "Language for which misspelled words will be checked" +#~ msgstr "Language for which we want to check misspelt words" + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "I'm eating, so leave me a message." + +#, fuzzy +#~ msgid "from room %s" +#~ msgstr " from room %s" + +#~ msgid "Leave Groupchats" +#~ msgstr "Leave Groupchats" + +#, fuzzy +#~ msgid "Auto Join" +#~ msgstr "Auto join" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "Room:" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#~ msgid "Occupant Actions" +#~ msgstr "Occupant Actions" + +#~ msgid "_Add to Roster" +#~ msgstr "_Add to Roster" + +#~ msgid "_Manage Room" +#~ msgstr "_Manage Room" + +#~ msgid "Configure _Room..." +#~ msgstr "Configure _Room..." + +#~ msgid "_Destroy Room" +#~ msgstr "_Destroy Room" + +#~ msgid "Jabber ID" +#~ msgstr "Jabber ID" + +#, fuzzy +#~ msgid "account" +#~ msgstr "Account" + +#, fuzzy +#~ msgid "Roster" +#~ msgstr "Show _Roster" + +#, fuzzy +#~ msgid "Show only in roster" +#~ msgstr "Show only in _roster" + +#~ msgid "in _roster" +#~ msgstr "in _roster" + +#, fuzzy +#~ msgid "Roster Appearance" +#~ msgstr "Roster Appearance" + +#~ msgid "_Add to Roster..." +#~ msgstr "_Add to Roster..." + +#~ msgid "_Jabber ID:" +#~ msgstr "_Jabber ID:" + +#, fuzzy +#~ msgid "_Jabber ID" +#~ msgstr "_Jabber ID:" + +#~ msgid "JabberID" +#~ msgstr "JabberID" + +#, fuzzy +#~ msgid "Show Roster" +#~ msgstr "Show _Roster" + +#~ msgid "MUC server" +#~ msgstr "MUC server" + +#~ msgid "Room Configuration" +#~ msgstr "Room Configuration" + +#~ msgid "Join _Group Chat" +#~ msgstr "Join _Group Chat" + +#, fuzzy +#~ msgid "Audio sessions are not available" +#~ msgstr "A connection is not available" + +#~ msgid "Conference" +#~ msgstr "Conference" + +#, fuzzy +#~ msgid "_Manage Bookmarks…" +#~ msgstr "Manage Bookmarks" + +#, fuzzy +#~ msgid "Hide _Roster" +#~ msgstr "in _roster" + +#~ msgid "Show _Roster" +#~ msgstr "Show _Roster" + +#, fuzzy +#~ msgid "Invalid Room" +#~ msgstr "Invalid room" + +#~ msgid "Invalid room" +#~ msgstr "Invalid room" + +#~ msgid "A GTK+ Jabber client" +#~ msgstr "A GTK+ Jabber client" + +#~ msgid "Changing Nickname" +#~ msgstr "Changing Nickname" + +#~ msgid "Please specify the new nickname you want to use:" +#~ msgstr "Please specify the new nickname you want to use:" + +#~ msgid "Bookmark already set" +#~ msgstr "Bookmark already set" + +#, fuzzy +#~ msgid "Group Chat '%s' is already in your bookmarks." +#~ msgstr "Group Chat \"%s\" is already in your bookmarks." + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "Bookmark has been added successfully" + +#, fuzzy +#~ msgid "" +#~ "You can manage your bookmarks by clicking the Bookmarks menu item in your " +#~ "contact list." +#~ msgstr "You can manage your bookmarks via Actions menu in your roster." + +#, fuzzy +#~ msgid "The nickname contains invalid characters." +#~ msgstr "The nickname has not allowed characters." + +#, fuzzy +#~ msgid "Bookmark Room" +#~ msgstr "Bookmark this room" + +#~ msgid "_Join New Group Chat" +#~ msgstr "_Join New Group Chat" + +#~ msgid "Name:" +#~ msgstr "Name:" + +#, fuzzy +#~ msgid "Description:" +#~ msgstr "Description: " + +#, fuzzy +#~ msgid "Address:" +#~ msgstr "_Address:" + +#, fuzzy +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "You can not join a group chat unless you are connected." + +#, fuzzy +#~ msgid "Occupants" +#~ msgstr "Occupant Actions" + +#~ msgid "_Modify Account..." +#~ msgstr "_Modify Account..." + +#~ msgid "Boolean" +#~ msgstr "Boolean" + +#~ msgid "Integer" +#~ msgstr "Integer" + +#~ msgid "Text" +#~ msgstr "Text" + +#~ msgid "Value" +#~ msgstr "Value" + +#~ msgid "(None)" +#~ msgstr "(None)" + +#~ msgid "Hidden" +#~ msgstr "Hidden" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "Manage Proxy Profiles" + +#, fuzzy +#~ msgid "Properties" +#~ msgstr "Properties" + +#, fuzzy +#~ msgid "Proxy _Port" +#~ msgstr "Proxy _Port:" + +#, fuzzy +#~ msgid "New Groupchat" +#~ msgstr "New Group Chat" + +#, fuzzy +#~ msgid "New Contact" +#~ msgstr "Add New Contact" + +#~ msgid "%s GiB" +#~ msgstr "%s GiB" + +#~ msgid "%s GB" +#~ msgstr "%s GB" + +#~ msgid "%s MiB" +#~ msgstr "%s MiB" + +#~ msgid "%s MB" +#~ msgstr "%s MB" + +#~ msgid "%s KiB" +#~ msgstr "%s KiB" + +#~ msgid "%s KB" +#~ msgstr "%s KB" + +#~ msgid "%s B" +#~ msgstr "%s B" + +#, fuzzy +#~ msgid "%s MiB/s" +#~ msgstr "%s MiB" + +#, fuzzy +#~ msgid "File transfer" +#~ msgstr "File Transfers" + +#, fuzzy +#~ msgid "Open _Containing Folder" +#~ msgstr "_Open Containing Folder" + +#, fuzzy +#~ msgid "Default:" +#~ msgstr "Default" + +#~ msgid "Really quit Gajim?" +#~ msgstr "Really quit Gajim?" + +#~ msgid "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" +#~ msgstr "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" + +#~ msgid "Contact \"%s\" will be removed from your roster" +#~ msgstr "Contact \"%s\" will be removed from your roster" + +#, fuzzy +#~ msgid "" +#~ "By removing this contact you also by default remove authorization " +#~ "resulting in them always seeing you as offline." +#~ msgstr "" +#~ "By removing this contact you also by default remove authorisation " +#~ "resulting in him or her always seeing you as offline." + +#~ msgid "Contacts will be removed from your roster" +#~ msgstr "Contacts will be removed from your roster" + +#~ msgid "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorization resulting in them always seeing you as " +#~ "offline." +#~ msgstr "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorisation resulting in them always seeing you as " +#~ "offline." + +#, fuzzy +#~ msgid "Con_tinue" +#~ msgstr "_Continue" + +#~ msgid "_Pause" +#~ msgstr "_Pause" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "Remove file transfer from the list." + +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "Cancels the selected file transfer" + +#, fuzzy +#~ msgid "Hide the window" +#~ msgstr "Hides the window" + +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "Show a pop-up notification when a file transfer is complete " + +#~ msgid "From:" +#~ msgstr "From:" + +#~ msgid "Subject:" +#~ msgstr "Subject:" + +#~ msgid "%s wants to send you a file:" +#~ msgstr "%s wants to send you a file:" + +#~ msgid "Name: " +#~ msgstr "Name: " + +#~ msgid "Pause" +#~ msgstr "Pause" + +#, fuzzy +#~ msgid "Execute Command" +#~ msgstr "_Execute Command" + +#~ msgid "Type: " +#~ msgstr "Type: " + +#~ msgid "Transferred: " +#~ msgstr "Transferred: " + +#~ msgid "Completed" +#~ msgstr "Completed" + +#~ msgid "Stalled" +#~ msgstr "Stalled" + +#~ msgid "Transferring" +#~ msgstr "Transferring" + +#~ msgid "Not started" +#~ msgstr "Not started" + +#, fuzzy +#~ msgid "%s day" +#~ msgid_plural "%s days" +#~ msgstr[0] "%i days ago" +#~ msgstr[1] "%i days ago" + +#~ msgid "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" + +#, fuzzy +#~ msgid "" +#~ "Your desired nickname in group chat\n" +#~ "%s\n" +#~ "is in use or registered by another occupant.\n" +#~ "Please specify another nickname below:" +#~ msgstr "" +#~ "Your desired nickname in group chat %s is in use or registered by another " +#~ "occupant.\n" +#~ "Please specify another nickname below:" + +#~ msgid "_Configure" +#~ msgstr "_Configure" + +#, fuzzy +#~ msgid "Change the avatar" +#~ msgstr "Change status" + +#, fuzzy +#~ msgid "" +#~ "Account in which the avatar will be set; if not specified, the avatar " +#~ "will be set for all accounts" +#~ msgstr "" +#~ "Account in which the xml will be sent; if not specified, xml will be sent " +#~ "to all accounts" + +#, fuzzy +#~ msgid "add" +#~ msgstr "Sad" + +#, fuzzy +#~ msgid "modify" +#~ msgstr "Modify" + +#, fuzzy +#~ msgid "remove" +#~ msgstr "Remo_ve" + +#, fuzzy +#~ msgid "" +#~ "If true, restored messages will use a smaller font than the default one." +#~ msgstr "" +#~ "If True, restored messages will use a smaller font than the default one." + +#, fuzzy +#~ msgid "Restored Message Color" +#~ msgstr "_Reset to Default Colours" + +#, fuzzy +#~ msgid "" +#~ "You are going to remove this room permanently.\n" +#~ "You may specify a reason below:" +#~ msgstr "" +#~ "You are going to definitively destroy this room.\n" +#~ "You may specify a reason below:" + +#~ msgid "Send Cus_tom Status" +#~ msgstr "Send Cus_tom Status" + +#, fuzzy +#~ msgid "" +#~ "You are about to send a custom status. Are you sure you want to continue?" +#~ msgstr "" +#~ "You are about to send a custom status. Are you sure you want to continue?" + +#, fuzzy +#~ msgid "" +#~ "This contact will temporarily see you as %(status)s, but only until you " +#~ "change your status. Then they will see your global status." +#~ msgstr "" +#~ "This contact will temporarily see you as %(status)s, but only until you " +#~ "change your status. Then they will see your global status." + +#, fuzzy +#~ msgid "" +#~ msgstr "Subject" + +#~ msgid "#" +#~ msgstr "#" + +#~ msgid "You are about to block a contact. Are you sure you want to continue?" +#~ msgstr "" +#~ "You are about to block a contact. Are you sure you want to continue?" + +#~ msgid "To:" +#~ msgstr "To:" + +#~ msgid "0" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Reconnect when connection is lost" +#~ msgstr "Auto-reconnect when connection is lost" + +#, fuzzy +#~ msgid "Server Message Archive" +#~ msgstr "_Send Server Message..." + +#, fuzzy +#~ msgid "Message Carbons" +#~ msgstr "Messages" + +#~ msgid "" +#~ "Sent chat state notifications. Can be one of all, composing_only, " +#~ "disabled." +#~ msgstr "" +#~ "Sent chat state notifications. Can be one of all, composing_only, " +#~ "disabled." + +#, fuzzy +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "Allow _OS information to be sent" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the idle time of your system" +#~ msgstr "" +#~ "If ticked, Gajim will allow others to detect the operation system you are " +#~ "using" + +#, fuzzy +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "Allow _OS information to be sent" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the local time on your system" +#~ msgstr "" +#~ "If ticked, Gajim will allow others to detect the operation system you are " +#~ "using" + +#, fuzzy +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "Allow _OS information to be sent" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the operating system you are " +#~ "using" +#~ msgstr "" +#~ "If ticked, Gajim will allow others to detect the operation system you are " +#~ "using" + +#, fuzzy +#~ msgid "" +#~ "If checked, incoming events from unauthorized contacts will be ignored. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster." +#~ msgstr "" +#~ "If ticked, Gajim will ignore incoming events from unauthorised contacts. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster" + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." +#~ msgstr "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." + +#, fuzzy +#~ msgid "S_end chat state notifications" +#~ msgstr "_Send chat state notifications:" + +#, fuzzy +#~ msgid "Login Options" +#~ msgstr "_Emoticons:" + +#~ msgid "Please wait while retrieving search form..." +#~ msgstr "Please wait while retrieving search form..." + +#~ msgid "_Add contact" +#~ msgstr "_Add contact" + +#~ msgid "Ad-hoc Commands - Gajim" +#~ msgstr "Ad-hoc Commands - Gajim" + +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "Please wait while retrieving command list..." + +#~ msgid "Choose command to execute:" +#~ msgstr "Choose command to execute:" + +#~ msgid "Check once more" +#~ msgstr "Check once more" + +#, fuzzy +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "Please wait while the command is sending..." + +#~ msgid "This jabber entity does not expose any commands." +#~ msgstr "This jabber entity does not expose any commands." + +#, fuzzy +#~ msgid "F_inish" +#~ msgstr "_Finish" + +#~ msgid "Waiting for results" +#~ msgstr "Waiting for results" + +#~ msgid "Error in received dataform" +#~ msgstr "Error in received dataform" + +#~ msgid "No result" +#~ msgstr "No result" + +#~ msgid "Failed to get secret keys" +#~ msgstr "Failed to get secret keys" + +#~ msgid "There is no OpenPGP secret key available." +#~ msgstr "There is no OpenPGP secret key available." + +#~ msgid "OpenPGP Key Selection" +#~ msgstr "OpenPGP Key Selection" + +#~ msgid "Choose your OpenPGP key" +#~ msgstr "Choose your OpenPGP key" + +#~ msgid "KeyID" +#~ msgstr "KeyID" + +#~ msgid "Contact name" +#~ msgstr "Contact name" + +#, fuzzy +#~ msgid "OpenPGP is not usable" +#~ msgstr "GPG is not usable" + +#~ msgid "Assign OpenPGP Key" +#~ msgstr "Assign OpenPGP Key" + +#~ msgid "Select a key to apply to the contact" +#~ msgstr "Select a key to apply to the contact" + +#, fuzzy +#~ msgid "" +#~ "You configured Gajim to use OpenPGP agent, but there is no OpenPGP agent " +#~ "running or it returned a wrong passphrase.\n" +#~ msgstr "" +#~ "You configured Gajim to use GPG agent, but there is no GPG agent running " +#~ "or it returned a wrong passphrase.\n" + +#~ msgid "You are currently connected without your OpenPGP key." +#~ msgstr "You are currently connected without your OpenPGP key." + +#, fuzzy +#~ msgid "Wrong passphrase" +#~ msgstr "Wrong Passphrase" + +#, fuzzy +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "Wrong Passphrase" + +#~ msgid "Passphrase Required" +#~ msgstr "Passphrase Required" + +#, fuzzy +#~ msgid "" +#~ "Enter OpenPGP key passphrase for key %(keyid)s (account %(account)s)." +#~ msgstr "Enter GPG key passphrase for key %(keyid)s (account %(account)s)." + +#, fuzzy +#~ msgid "OpenPGP key expired" +#~ msgstr "GPG key expired" + +#, fuzzy +#~ msgid "" +#~ "Your OpenPGP key has expired, you will be connected to %s without OpenPGP." +#~ msgstr "" +#~ "Your GPG key has expied, you will be connected to %s without OpenPGP." + +#~ msgid "Wrong Passphrase" +#~ msgstr "Wrong Passphrase" + +#, fuzzy +#~ msgid "Please retype your OpenPGP passphrase or press Cancel." +#~ msgstr "Please retype your GPG passphrase or press Cancel." + +#~ msgid "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." + +#~ msgid "if specified, the message will be encrypted using this public key" +#~ msgstr "if specified, the message will be encrypted using this public key" + +#, fuzzy +#~ msgid "" +#~ "Sends a chat message to someone on your roster. Optionally with OpenPGP " +#~ "key and account. If you want to only set the latter, set OpenPGP key to " +#~ "\"\"." +#~ msgstr "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." + +#~ msgid "" +#~ "If disabled, don't sign presences with GPG key, even if GPG is configured." +#~ msgstr "" +#~ "If disabled, don't sign presences with GPG key, even if GPG is configured." + +#, fuzzy +#~ msgid "OpenPGP:" +#~ msgstr "OpenPGP: " + +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "Assign Open_PGP Key..." + +#, fuzzy +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "OpenGPG message encryption" + +#, fuzzy +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "Encrypting chat messages with gpg keys." + +#, fuzzy +#~ msgid "Requires: gpg and python-gnupg (%(url)s)" +#~ msgstr "Requires gpg and python-GnuPGInterface." + +#, fuzzy +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "_use HTTP__PROXY environment variable" + +#, fuzzy +#~ msgid "Use PGP Agent" +#~ msgstr "Use G_PG Agent" + +#, fuzzy +#~ msgid "OpenPGP Key" +#~ msgstr "Assign OpenPGP Key" + +#~ msgid "Cancel confirmation" +#~ msgstr "Cancel confirmation" + +#~ msgid "" +#~ "You are in process of executing command. Do you really want to cancel it?" +#~ msgstr "" +#~ "You are in process of executing command. Do you really want to cancel it?" + +#~ msgid "Service sent malformed data" +#~ msgstr "Service sent malformed data" + +#~ msgid "Service changed the session identifier." +#~ msgstr "Service changed the session identifier." + +#~ msgid "%s - Ad-hoc Commands - Gajim" +#~ msgstr "%s - Ad-hoc Commands - Gajim" + +#~ msgid "Service returned an error." +#~ msgstr "Service returned an error." + +#~ msgid "You are invited to a groupchat" +#~ msgstr "You are invited to a groupchat" + +#~ msgid "_Start Chat" +#~ msgstr "_Start Chat" + +#~ msgid "Au_thorize" +#~ msgstr "Au_thorise" + +#~ msgid "Really send file?" +#~ msgstr "Really send file?" + +#~ msgid "You are currently connected to the server" +#~ msgstr "You are currently connected to the server" + +#~ msgid "To disable the account, you must be disconnected." +#~ msgstr "To disable the account, you must be disconnected." + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with %(jid)s?" +#~ msgstr "Do you really want to delete the selected message?" + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with the selected contacts?" +#~ msgstr "Do you really want to delete the logs of the selected contact?" + +#, fuzzy +#~ msgid "This can not be undone." +#~ msgstr "The service could not be found" + +#~ msgid "What do you want to do?" +#~ msgstr "What do you want to do?" + +#~ msgid "" +#~ "List of colors, separated by \":\", that will be used to color nicknames " +#~ "in group chats." +#~ msgstr "" +#~ "List of colours, separated by \":\", that will be used to colour " +#~ "nicknames in group chats." + +#, fuzzy +#~ msgid "You have received new entries (and %d not displayed):" +#~ msgid_plural "You have received new entries (and %d not displayed):" +#~ msgstr[0] "You have received new entries (and %(count)d not displayed):" +#~ msgstr[1] "You have received new entries (and %(count)d not displayed):" + +#~ msgid "Stopped" +#~ msgstr "Stopped" + +#~ msgid "" +#~ "You are about to send your password on an insecure connection. You should " +#~ "install PyOpenSSL to prevent that. Are you sure you want to do that?" +#~ msgstr "" +#~ "You are about to send your password on an insecure connection. You should " +#~ "install PyOpenSSL to prevent that. Are you sure you want to do that?" + +#, fuzzy +#~ msgid "Status messages displayed in chat window" +#~ msgstr "Send message and close window" + +#~ msgid "?print_status:All" +#~ msgstr "All" + +#~ msgid "Enter and leave only" +#~ msgstr "Enter and leave only" + +#~ msgid "?print_status:None" +#~ msgstr "None" + +#, fuzzy +#~ msgid "Untrusted OpenPGP key" +#~ msgstr "Choose your OpenPGP key" + +#, fuzzy +#~ msgid "" +#~ "The OpenPGP key used to encrypt this chat is not trusted. Do you really " +#~ "want to encrypt this message?" +#~ msgstr "" +#~ "The GPG key used to encrypt this chat is not trusted. Do you really want " +#~ "to encrypt this message?" + +#~ msgid "D-Bus python bindings are missing in this computer" +#~ msgstr "D-Bus python bindings are missing in this computer" + +#~ msgid "D-Bus capabilities of Gajim cannot be used" +#~ msgstr "D-Bus capabilities of Gajim cannot be used" + +#~ msgid "D-Bus does not run correctly on this machine" +#~ msgstr "D-Bus does not run correctly on this machine" + +#, fuzzy +#~ msgid "D-Bus does not run correctly on this machine: system bus not present" +#~ msgstr "D-Bus does not run correctly on this machine" + +#, fuzzy +#~ msgid "" +#~ "D-Bus does not run correctly on this machine: session bus not present" +#~ msgstr "D-Bus does not run correctly on this machine" + +#, fuzzy +#~ msgid "Command line Control" +#~ msgstr "Command line" + +#, fuzzy +#~ msgid "Enables you to control Gajim with via commandline" +#~ msgstr "A script to control Gajim via commandline." + +#~ msgid "" +#~ "When is self contact row displayed. Can be \"always\", " +#~ "\"when_other_resource\" or \"never\"" +#~ msgstr "" +#~ "When is self contact row displayed. Can be \"always\", " +#~ "\"when_other_resource\" or \"never\"" + +#~ msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +#~ msgstr "%(nick)s has been kicked by %(who)s: %(reason)s" + +#~ msgid "%(nick)s has been banned by %(who)s: %(reason)s" +#~ msgstr "%(nick)s has been banned by %(who)s: %(reason)s" + +#~ msgid "system shutdown" +#~ msgstr "system shutdown" + +#~ msgid "** Role of %(nick)s has been set to %(role)s" +#~ msgstr "** Role of %(nick)s has been set to %(role)s" + +#~ msgid "%s has left" +#~ msgstr "%s has left" + +#, fuzzy +#~ msgid "%s is full" +#~ msgstr "Font" + +#, fuzzy +#~ msgid "" +#~ "Can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no " +#~ "longer print status line in groupchats when a member changes their status " +#~ "and/or their status message. If \"all\" Gajim will print all status " +#~ "messages. If \"in_and_out\", Gajim will only print FOO enters/leaves " +#~ "group chat." +#~ msgstr "" +#~ "can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no " +#~ "longer print status line in groupchats when a member changes his or her " +#~ "status and/or his or her status message. If \"all\" Gajim will print all " +#~ "status messages. If \"in_and_out\", Gajim will only print FOO enters/" +#~ "leaves group chat." + +#, fuzzy +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "Display status _messages of contacts in roster" + +#, fuzzy +#~ msgid "" +#~ "You are about to send your password unencrypted on an insecure " +#~ "connection. Are you sure you want to do that?" +#~ msgstr "" +#~ "You are about to send your password on an unencrypted connection. Are you " +#~ "sure you want to do that?" + +#, fuzzy +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "Anonymous authentication" + +#, fuzzy +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "Anon_ymous authentication" + +#, fuzzy +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "Anon_ymous authentication" + +#~ msgid "" +#~ "Displayed chat state notifications in chat windows. Can be one of all, " +#~ "composing_only, disabled." +#~ msgstr "" +#~ "Displayed chat state notifications in chat windows. Can be one of all, " +#~ "composing_only, disabled." + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." +#~ msgstr "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." + +#~ msgid "This is an irreversible operation." +#~ msgstr "This is an irreversible operation." + +#~ msgid "Settings" +#~ msgstr "Settings" + +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "Welcome to Gajim History Logs Manager" + +#~ msgid "Member List" +#~ msgstr "Member List" + +#~ msgid "Owner List" +#~ msgstr "Owner List" + +#~ msgid "Administrator List" +#~ msgstr "Administrator List" + +#~ msgid "Nick" +#~ msgstr "Nick" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "Whom do you want to ban?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Member…" +#~ msgstr "Adding Member..." + +#~ msgid "" +#~ "Whom do you want to make a member?\n" +#~ "\n" +#~ msgstr "" +#~ "Whom do you want to make a member?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Owner…" +#~ msgstr "Adding Owner..." + +#~ msgid "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" +#~ msgstr "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Administrator…" +#~ msgstr "Adding Administrator..." + +#~ msgid "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" +#~ msgstr "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" + +#~ msgid "Error reading file:" +#~ msgstr "Error reading file:" + +#~ msgid "Error parsing file:" +#~ msgstr "Error parsing file:" + +#~ msgid "List of possible features in Gajim:" +#~ msgstr "List of possible features in Gajim:" + +#~ msgid "Description" +#~ msgstr "Description" + +#~ msgid "Password encryption" +#~ msgstr "Password encryption" + +#~ msgid "Spellchecking of composed messages." +#~ msgstr "Spellchecking of composed messages." + +#~ msgid "Automatic status" +#~ msgstr "Automatic status" + +#~ msgid "Requires python2.5." +#~ msgstr "Requires python2.5." + +#~ msgid "" +#~ "Generate XHTML output from RST code (see http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Generate XHTML output from RST code (see http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html)." + +#, fuzzy +#~ msgid "?features:Available" +#~ msgstr "Available" + +#~ msgid "Feature" +#~ msgstr "Feature" + +#~ msgid "Filter:" +#~ msgstr "Filter:" + +#~ msgid "Chat Appearance" +#~ msgstr "Chat Appearance" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed out" +#~ msgstr "" +#~ "Gajim will notify you via a pop-up window in the bottom right of the " +#~ "screen about contacts that just signed out" + +#~ msgid "Sounds" +#~ msgstr "Sounds" + +#~ msgid "Chat state notifications" +#~ msgstr "Chat state notifications" + +#, fuzzy +#~ msgid "_Away after" +#~ msgstr "_Away after:" + +#~ msgid "" +#~ "If checked, Gajim will change status to Away when the computer is unused." +#~ msgstr "" +#~ "If ticked, Gajim will change status to Away when the computer is unused." + +#, fuzzy +#~ msgid "_Not available after" +#~ msgstr "_Not available after:" + +#~ msgid "Auto Status" +#~ msgstr "Auto Status" + +#~ msgid "Status Messages" +#~ msgstr "Status Messages" + +#, fuzzy +#~ msgid "Audio" +#~ msgstr "Actions" + +#, fuzzy +#~ msgid "Video" +#~ msgstr "Middle:" + +#, fuzzy +#~ msgid "Connection" +#~ msgstr "Conditions" + +#~ msgid "Custom" +#~ msgstr "Custom" + +#~ msgid "Privacy" +#~ msgstr "Privacy" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "Advanced Configuration Editor" + +#, fuzzy +#~ msgid "File transfer, room bookmarks" +#~ msgstr "File Transfer Error" + +#, fuzzy +#~ msgid "XML console interface" +#~ msgstr "XML Console" + +#, fuzzy +#~ msgid "" +#~ "A programming error has been detected. It probably is not fatal, but " +#~ "should be reported to the developers nonetheless." +#~ msgstr "" +#~ "A programming error has been detected.\n" +#~ "It probably is not fatal, but should be reported\n" +#~ "to the developers nonetheless." + +#~ msgid "" +#~ "A list of modp groups to use in a Diffie-Hellman, highest preference " +#~ "first, separated by commas. Valid groups are 1, 2, 5, 14, 15, 16, 17 and " +#~ "18. Higher numbers are more secure, but take longer to calculate when you " +#~ "start a session." +#~ msgstr "" +#~ "A list of modp groups to use in a Diffie-Hellman, highest preference " +#~ "first, separated by commas. Valid groups are 1, 2, 5, 14, 15, 16, 17 and " +#~ "18. Higher numbers are more secure, but take longer to calculate when you " +#~ "start a session." + +#~ msgid "(ESession info)" +#~ msgstr "(ESession info)" + +#~ msgid "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" +#~ msgstr "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" + +#, fuzzy +#~ msgid "_Emoticons" +#~ msgstr "_Emoticons:" + +#~ msgid "_Highlight misspelled words" +#~ msgstr "_Highlight misspelt words" + +#, fuzzy +#~ msgid "Notify by icon when your messages are received" +#~ msgstr "Sound to play when any MUC message arrives." + +#, fuzzy +#~ msgid "T_heme" +#~ msgstr "T_heme:" + +#~ msgid "Themes" +#~ msgstr "Themes" + +#~ msgid "Always use this nickname when there is a conflict" +#~ msgstr "Always use this nickname when there is a conflict" + +#~ msgid "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." +#~ msgstr "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." + +#, fuzzy +#~ msgid "Presence" +#~ msgstr "_Presence" + +#~ msgid "Emoticons disabled" +#~ msgstr "Emoticons disabled" + +#, fuzzy +#~ msgid "" +#~ "Your configured emoticons theme could not be loaded. See the log for more " +#~ "details." +#~ msgstr "" +#~ "Your configured emoticons theme has not been found, so emoticons have " +#~ "been disabled." + +#~ msgid "You cannot make changes to the default theme" +#~ msgstr "You cannot make changes to the default theme" + +#~ msgid "theme name" +#~ msgstr "theme name" + +#~ msgid "You cannot delete your current theme" +#~ msgstr "You cannot delete your current theme" + +#~ msgid "New Single Message from %(nickname)s" +#~ msgstr "New Single Message from %(nickname)s" + +#~ msgid "New Private Message from group chat %s" +#~ msgstr "New Private Message from group chat %s" + +#~ msgid "%(nickname)s: %(message)s" +#~ msgstr "%(nickname)s: %(message)s" + +#~ msgid "Messaged by %(nickname)s" +#~ msgstr "Messaged by %(nickname)s" + +#~ msgid "Status message text color." +#~ msgstr "Status message text colour." + +#~ msgid "Incoming nickname font." +#~ msgstr "Incoming nickname font." + +#~ msgid "Outgoing nickname font." +#~ msgstr "Outgoing nickname font." + +#~ msgid "Status message text font." +#~ msgstr "Status message text font." + +#~ msgid "Background color of contacts when they just signed in." +#~ msgstr "Background colour of contacts when they just signed in." + +#~ msgid "Background color of contacts when they just signed out." +#~ msgstr "Background colour of contacts when they just signed out." + +#~ msgid "green" +#~ msgstr "green" + +#~ msgid "grocery" +#~ msgstr "grocery" + +#~ msgid "human" +#~ msgstr "human" + +#~ msgid "marine" +#~ msgstr "marine" + +#, fuzzy +#~ msgid "Contact row" +#~ msgstr "Contact" + +#~ msgid "Gajim Themes Customization" +#~ msgstr "Gajim Themes Customisation" + +#~ msgid "Text _color:" +#~ msgstr "Text _colour:" + +#~ msgid "_Background:" +#~ msgstr "_Background:" + +#~ msgid "Text _font:" +#~ msgstr "Text _font:" + +#~ msgid "Font style:" +#~ msgstr "Font style:" + +#~ msgid "Paused" +#~ msgstr "Paused" + +#~ msgid "Gone" +#~ msgstr "Gone" + +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "" +#~ "MUC\n" +#~ "Messages" + +#~ msgid "Chatstate Tab Colors" +#~ msgstr "Chatstate Tab Colours" + +#, fuzzy +#~ msgid "Chat message" +#~ msgstr "Chat message:" + +#~ msgid "Use system _default" +#~ msgstr "Use system _default" + +#~ msgid "Font" +#~ msgstr "Font" + +#, fuzzy +#~ msgid "Contact's nickname" +#~ msgstr "Contact name" + +#, fuzzy +#~ msgid "_Status message" +#~ msgstr "_Status message:" + +#, fuzzy +#~ msgid "Your message" +#~ msgstr "Your message:" + +#, fuzzy +#~ msgid "_URL highlight" +#~ msgstr "_URL highlight:" + +#~ msgid "Chat Line Colors" +#~ msgstr "Chat Line Colours" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#~ msgid "Resource:" +#~ msgstr "Resource:" + +#~ msgid "Status:" +#~ msgstr "Status:" + +#~ msgid "Client:" +#~ msgstr "Client:" + +#~ msgid "Contact time:" +#~ msgstr "Contact time:" + +#~ msgid "Ask:" +#~ msgstr "Ask:" + +#~ msgid "Subscription:" +#~ msgstr "Subscription:" + +#~ msgid "Name:" +#~ msgstr "Name:" + +#~ msgid "Nickname:" +#~ msgstr "Nickname:" + +#~ msgid "Street:" +#~ msgstr "Street:" + +#~ msgid "City:" +#~ msgstr "City:" + +#~ msgid "State:" +#~ msgstr "State:" + +#~ msgid "Extra Address:" +#~ msgstr "Extra Address:" + +#~ msgid "Postal Code:" +#~ msgstr "Postal Code:" + +#~ msgid "Country:" +#~ msgstr "Country:" + +#~ msgid "Homepage:" +#~ msgstr "Homepage:" + +#~ msgid "E-Mail:" +#~ msgstr "E-Mail:" + +#~ msgid "Phone No.:" +#~ msgstr "Phone No.:" + +#~ msgid "Birthday:" +#~ msgstr "Birthday:" + +#~ msgid "Family:" +#~ msgstr "Family:" + +#~ msgid "Middle:" +#~ msgstr "Middle:" + +#~ msgid "Prefix:" +#~ msgstr "Prefix:" + +#~ msgid "Given:" +#~ msgstr "Given:" + +#~ msgid "Suffix:" +#~ msgstr "Suffix:" + +#~ msgid "Full Name" +#~ msgstr "Full Name" + +#~ msgid "Company:" +#~ msgstr "Company:" + +#~ msgid "Department:" +#~ msgstr "Department:" + +#~ msgid "Position:" +#~ msgstr "Position:" + +#~ msgid "Role:" +#~ msgstr "Role:" + +#~ msgid "- messages will be logged" +#~ msgstr "- messages will be logged" + +#~ msgid "- messages will not be logged" +#~ msgstr "- messages will not be logged" + +#~ msgid "Edit %s" +#~ msgstr "Edit %s" + +#~ msgid "Conversation History with %s" +#~ msgstr "Conversation History with %s" + +#~ msgid "Contact with \"%s\" cannot be established" +#~ msgstr "Contact with \"%s\" cannot be established" + +#~ msgid "Registration information for transport %s has not arrived in time" +#~ msgstr "Registration information for transport %s has not arrived in time" + +#~ msgid "Register to" +#~ msgstr "Register to" + +#, fuzzy +#~ msgid "Enter name / JID of contact or groupchat" +#~ msgstr "Contact name" + +#~ msgid "Search:" +#~ msgstr "Search:" + +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "Without a connection, you can not change your password." + +#~ msgid "Invalid password" +#~ msgstr "Invalid password" + +#~ msgid "The passwords typed in both fields must be identical." +#~ msgstr "The passwords typed in both fields must be identical." + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "Enter it again for confirmation:" + +#~ msgid "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" +#~ msgstr "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" + +#~ msgid "unsubscribe request from %s" +#~ msgstr "unsubscribe request from %s" + +#~ msgid "Homepage:" +#~ msgstr "Homepage:" + +#~ msgid "Manage Bookmarks" +#~ msgstr "Manage Bookmarks" + +#~ msgid "_Nickname:" +#~ msgstr "_Nickname:" + +#, fuzzy +#~ msgid "Pr_int status:" +#~ msgstr "Print status:" + +#, fuzzy +#~ msgid "Add JID" +#~ msgstr "Jabber ID" + +#, fuzzy +#~ msgid "Preference:" +#~ msgstr "Preferences" + +#, fuzzy +#~ msgid "Preference" +#~ msgstr "Preferences" + +#, fuzzy +#~ msgid "JID:" +#~ msgstr "Your JID:" + +#, fuzzy +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "" +#~ "Please fill in the data of the contact you want to add in account %s" + +#~ msgid "Please fill in the data of the contact you want to add" +#~ msgstr "Please fill in the data of the contact you want to add" + +#, fuzzy +#~ msgid "Recently" +#~ msgstr "Recently:" + +#~ msgid "Add New Contact" +#~ msgstr "Add New Contact" + +#~ msgid "_User ID:" +#~ msgstr "_User ID:" + +#, fuzzy +#~ msgid "Type User ID" +#~ msgstr "User ID:" + +#, fuzzy +#~ msgid "Type Nickname" +#~ msgstr "Nickname" + +#~ msgid "Personal Information" +#~ msgstr "Personal Information" + +#~ msgid "Avatar:" +#~ msgstr "Avatar:" + +#~ msgid "Click to set your avatar" +#~ msgstr "Click to set your avatar" + +#, fuzzy +#~ msgid "Remove Avatar" +#~ msgstr "Remove Group" + +#~ msgid "Not fetched because of invisible status" +#~ msgstr "Not fetched because of invisible status" + +#~ msgid "Please wait..." +#~ msgstr "Please wait..." + +#~ msgid "" +#~ "When negotiating an encrypted session, should Gajim assume you want your " +#~ "messages to be logged?" +#~ msgstr "" +#~ "When negotiating an encrypted session, should Gajim assume you want your " +#~ "messages to be logged?" + +#~ msgid "Log _encrypted chat session" +#~ msgstr "Log _encrypted chat session" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will keep logs for encrypted messages. Please note that " +#~ "when using end-to-end encryption the remote party has to agree on " +#~ "logging, else the messages will not be logged." +#~ msgstr "" +#~ "If ticked, Gajim will keep logs for encrypted messages. Please note that " +#~ "when using E2E encryption the remote party has to agree on logging, else " +#~ "the messages will not be logged." + +#~ msgid "Yahoo! Address:" +#~ msgstr "Yahoo! Address:" + +#~ msgid "Forward unread messages" +#~ msgstr "Forward unread messages" + +#~ msgid "All unread messages have been forwarded." +#~ msgstr "All unread messages have been forwarded." + +#, fuzzy +#~ msgid "Forward unread message then disconnect" +#~ msgstr "Forward unread messages" + +#~ msgid "MSN Address:" +#~ msgstr "MSN Address:" + +#~ msgid "Confirm these session options" +#~ msgstr "Confirm these session options" + +#, fuzzy +#~ msgid "" +#~ "The remote client wants to negotiate a session with these features:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Are these options acceptable?" +#~ msgstr "" +#~ "The remote client wants to negotiate an session with these features:\n" +#~ "\n" +#~ "\t%s\n" +#~ "\n" +#~ "\tAre these options acceptable?" + +#~ msgid "" +#~ "The remote client selected these options:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Continue with the session?" +#~ msgstr "" +#~ "The remote client selected these options:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Continue with the session?" + +#, fuzzy +#~ msgid "Always accept for this contact" +#~ msgstr "Is OpenPGP enabled for this contact?" + +#~ msgid "End to End message encryption" +#~ msgstr "End to End message encryption" + +#~ msgid "Encrypting chat messages." +#~ msgstr "Encrypting chat messages." + +#~ msgid "Requires python-crypto." +#~ msgstr "Requires python-crypto." + +#~ msgid "Session negotiation cancelled" +#~ msgstr "Session negotiation cancelled" + +#~ msgid "This session is encrypted" +#~ msgstr "This session is encrypted" + +#~ msgid " and WILL be logged" +#~ msgstr " and WILL be logged" + +#~ msgid " and WILL NOT be logged" +#~ msgstr " and WILL NOT be logged" + +#~ msgid "" +#~ "Remote contact's identity not verified. Click the shield button for more " +#~ "details." +#~ msgstr "" +#~ "Remote contact's identity not verified. Click the shield button for more " +#~ "details." + +#, fuzzy +#~ msgid "end-to-end encryption disabled" +#~ msgstr "GPG encryption disabled" + +#~ msgid "" +#~ "Unable to decrypt message from %s\n" +#~ "It may have been tampered with." +#~ msgstr "" +#~ "Unable to decrypt message from %s\n" +#~ "It may have been tampered with." + +#~ msgid "Unable to decrypt message" +#~ msgstr "Unable to decrypt message" + +#~ msgid "Enable ESessions encryption for this account." +#~ msgstr "Enable ESessions encryption for this account." + +#~ msgid "Should Gajim automatically start an encrypted session when possible?" +#~ msgstr "" +#~ "Should Gajim automatically start an encrypted session when possible?" + +#~ msgid "" +#~ "[This is part of an encrypted session. If you see this message, something " +#~ "went wrong.]" +#~ msgstr "" +#~ "[This is part of an encrypted session. If you see this message, something " +#~ "went wrong.]" + +#~ msgid "Requires python-avahi." +#~ msgstr "Requires python-avahi." + +#, fuzzy +#~ msgid "Save Image as…" +#~ msgstr "Save Image as..." + +#, fuzzy +#~ msgid "Exporting History Logs…" +#~ msgstr "Exporting History Logs..." + +#~ msgid "When %s becomes:" +#~ msgstr "When %s becomes:" + +#~ msgid "Adding Special Notification for %s" +#~ msgstr "Adding Special Notification for %s" + +#, fuzzy +#~ msgid "" +#~ "It seems the SSL certificate of account %(account)s has changed and is " +#~ "not valid or your connection is being compromised.\n" +#~ "\n" +#~ "Old SHA-1 fingerprint: %(old_sha1)s\n" +#~ "Old SHA-256 fingerprint: %(old_sha256)s\n" +#~ "\n" +#~ "New SHA-1 fingerprint: %(new_sha1)s\n" +#~ "New SHA-256 fingerprint: %(new_sha256)s\n" +#~ "\n" +#~ "Do you still want to connect and update the fingerprint of the " +#~ "certificate?" +#~ msgstr "" +#~ "It seems the SSL certificate of account %(account)s has changed or your " +#~ "connection is being hacked.\n" +#~ "Old fingerprint: %(old)s\n" +#~ "New fingerprint: %(new)s\n" +#~ "\n" +#~ "Do you still want to connect and update the fingerprint of the " +#~ "certificate?" + +#, fuzzy +#~ msgid "" +#~ "The authenticity of the %s certificate could be invalid.\n" +#~ "The certificate does not cover this domain." +#~ msgstr "The authenticity of the %s certificate could be invalid." + +#~ msgid "Unable to load idle module" +#~ msgstr "Unable to load idle module" + +#, fuzzy +#~ msgid "%s or %s is a directory but should be a file" +#~ msgstr "%s is a directory but should be a file" + +#~ msgid "creating logs database" +#~ msgstr "creating logs database" + +#, fuzzy +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "Send %s to %s" + +#, fuzzy +#~ msgid "Rename account label" +#~ msgstr "Rename Account" + +#, fuzzy +#~ msgid "Send Single Message..." +#~ msgstr "_Send Single Message..." + +#, fuzzy +#~ msgid "We received an error: {}" +#~ msgstr "Service returned an error." + +#~ msgid "E2E encryption disabled" +#~ msgstr "E2E encryption disabled" + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA1 fingerprint of the certificate:\n" +#~ "%s" + +#~ msgid "uri" +#~ msgstr "uri" + +#, fuzzy +#~ msgid "" +#~ "Install /\n" +#~ "Upgrade" +#~ msgstr "Stalled" + +#, fuzzy +#~ msgid "Install/Upgrade" +#~ msgstr "Stalled" + +#~ msgid "cyan" +#~ msgstr "cyan" + +#~ msgid "migrating logs database to indices" +#~ msgstr "migrating logs database to indices" + +#, fuzzy +#~ msgid "Send File..." +#~ msgstr "Send _File..." + +#, fuzzy +#~ msgid "HTTP File Upload not supported by your server" +#~ msgstr "Metacontacts storage not supported by your server" + +#, fuzzy +#~ msgid "Jingle File Transfer" +#~ msgstr "File Transfers" + +#~ msgid "" +#~ "Your configured emoticons theme has not been found, so emoticons have " +#~ "been disabled." +#~ msgstr "" +#~ "Your configured emoticons theme has not been found, so emoticons have " +#~ "been disabled." + +#~ msgid "Shows or hides the roster window" +#~ msgstr "Shows or hides the roster window" + +#~ msgid "Shows or hides the ipython window" +#~ msgstr "Shows or hides the ipython window" + +#, fuzzy +#~ msgid "XMPP account %s" +#~ msgstr "XMPP account %s@%s" + +#, fuzzy +#~ msgid "Exception" +#~ msgstr "Description" + +#~ msgid "" +#~ "someone@somewhere.com would like you to add some contacts " +#~ "in your roster." +#~ msgstr "" +#~ "someone@somewhere.com would like you to add some contacts " +#~ "in your roster." + +#~ msgid "" +#~ "Ordered list (space separated) of connection type to try. Can contain " +#~ "tls, ssl or plain" +#~ msgstr "" +#~ "Ordered list (space separated) of connection type to try. Can contain " +#~ "tls, ssl or plain" + +#~ msgid "_Actions" +#~ msgstr "_Actions" + +#, fuzzy +#~ msgid "Requires upower and python-dbus." +#~ msgstr "Requires python-dbus." + +#~ msgid "You are already in group chat %s" +#~ msgstr "You are already in group chat %s" + +#~ msgid "Join Group Chat with account %s" +#~ msgstr "Join Group Chat with account %s" + +#~ msgid "" +#~ "You have to choose an account from which you want to join the groupchat." +#~ msgstr "" +#~ "You have to choose an account from which you want to join the groupchat." + +#, fuzzy +#~ msgid "Please enter the group chat JID as room@server." +#~ msgstr "The group chat Jabber ID has invalid characters." + +#, fuzzy +#~ msgid "The group chat JID contains invalid characters." +#~ msgstr "The group chat Jabber ID has invalid characters." + +#~ msgid "Start Chat with account %s" +#~ msgstr "Start Chat with account %s" + +#, fuzzy +#~ msgid "" +#~ "Fill in the nickname or the JID of the contact you would like\n" +#~ "to send a chat message to:" +#~ msgstr "" +#~ "Fill in the nickname or the Jabber ID of the contact you would like\n" +#~ "to send a chat message to:" + +#, fuzzy +#~ msgid "Nickname / JID" +#~ msgstr "Duplicate Jabber ID" + +#~ msgid "Unable to parse \"%s\"." +#~ msgstr "Unable to parse \"%s\"." + +#~ msgid "Shows the chat dialog so that you can send messages to a contact" +#~ msgstr "Shows the chat dialogue so that you can send messages to a contact" + +#~ msgid "JID of the contact that you want to chat with" +#~ msgstr "JID of the contact that you want to chat with" + +#~ msgid "message content. The account must be specified or \"\"" +#~ msgstr "message content. The account must be specified or \"\"" + +#~ msgid "Adds contact to roster" +#~ msgstr "Adds contact to roster" + +#~ msgid "jid" +#~ msgstr "jid" + +#~ msgid "Adds new contact to this account" +#~ msgstr "Adds new contact to this account" + +#~ msgid "Opens 'Start Chat' dialog" +#~ msgstr "Opens 'Start Chat' dialogue" + +#~ msgid "Starts chat, using this account" +#~ msgstr "Starts chat, using this account" + +#, fuzzy +#~ msgid "Handle a xmpp:/ URI" +#~ msgstr "Handle a xmpp: uri" + +#~ msgid "URI to handle" +#~ msgstr "URI to handle" + +#~ msgid "Account in which you want to handle it" +#~ msgstr "Account in which you want to handle it" + +#~ msgid "Message content" +#~ msgstr "Message content" + +#~ msgid "Join a MUC room" +#~ msgstr "Join a MUC room" + +#~ msgid "Nickname to use" +#~ msgstr "Nickname to use" + +#~ msgid "Password to enter the room" +#~ msgstr "Password to enter the room" + +#~ msgid "Account from which you want to enter the room" +#~ msgstr "Account from which you want to enter the room" + +#, fuzzy +#~ msgid "Wrong URI" +#~ msgstr "Wrong uri" + +#~ msgid "Nickname:" +#~ msgstr "Nickname:" + +#~ msgid "Server:" +#~ msgstr "Server:" + +#, fuzzy +#~ msgid "Join this room _automatically when I connect" +#~ msgstr "Join this room automatically when I connect" + +#, fuzzy +#~ msgid "Bro_wse Rooms" +#~ msgstr "_Browse" + +#, fuzzy +#~ msgid "Requires libgtkspell and libenchant." +#~ msgstr "Requires libgtkspell." + +#, fuzzy +#~ msgid "Network-Watcher" +#~ msgstr "Network-manager" + +#~ msgid "Autodetection of network status." +#~ msgstr "Autodetection of network status." + +#, fuzzy +#~ msgid "Requires gnome-network-manager" +#~ msgstr "Requires gnome-network-manager and python-dbus." + +#, fuzzy +#~ msgid "Feature not available, see Help->Features" +#~ msgstr "Feature not available under Windows." + +#~ msgid "This contact does not support file transfer." +#~ msgstr "This contact does not support file transfer." + +#, fuzzy +#~ msgid "You need to know the real JID of the contact to send them a file." +#~ msgstr "" +#~ "You need to know the real JID of the contact to send him or her a file." + +#~ msgid "" +#~ "You have to install %s dictionary to use spellchecking, or choose another " +#~ "language by setting the speller_language option." +#~ msgstr "" +#~ "You have to install %s dictionary to use spellchecking, or choose another " +#~ "language by setting the speller_language option." + +#~ msgid "Hides the buttons in chat windows." +#~ msgstr "Hides the buttons in chat windows." + +#~ msgid "Change the room's subject (Alt+T)" +#~ msgstr "Change the room's subject (Alt+T)" + +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "Bookmark this room (Ctrl+B)" + +#~ msgid "Browse the chat history (Ctrl+H)" +#~ msgstr "Browse the chat history (Ctrl+H)" + +#, fuzzy +#~ msgid "Show advanced functions (Alt+D)" +#~ msgstr "Show a menu of advanced functions (Alt+A)" + +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "Add this contact to roster (Ctrl+D)" + +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "Invite contacts to the conversation (Ctrl+G)" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Show the contact's profile (Ctrl+I)" + +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Show the contact's profile (Ctrl+I)" + +#~ msgid "Ma_ke message windows compact" +#~ msgstr "Ma_ke message windows compact" + +#~ msgid "Hide all buttons in chat windows" +#~ msgstr "Hide all buttons in chat windows" + +#~ msgid "Hide the chat buttons" +#~ msgstr "Hide the chat buttons" + +#~ msgid "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." +#~ msgstr "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." + +#~ msgid "Disk Write Error" +#~ msgstr "Disk Write Error" + +#~ msgid "Set Custom _Avatar..." +#~ msgstr "Set Custom _Avatar..." + +#, fuzzy +#~ msgid "SSL certificate validation" +#~ msgstr "SSL certificate validation" + +#~ msgid "" +#~ "A library used to validate server certificates to ensure a secure " +#~ "connection." +#~ msgstr "" +#~ "A library used to validate server certificates to ensure a secure " +#~ "connection." + +#, fuzzy +#~ msgid "Requires python-pyopenssl > 0.12 and pyasn1." +#~ msgstr "Requires python-pyopenssl." + +#, fuzzy +#~ msgid "?CLI:room" +#~ msgstr "room" + +#, fuzzy +#~ msgid "?CLI:nick" +#~ msgstr "nick" + +#, fuzzy +#~ msgid "?CLI:password" +#~ msgstr "password" + +#~ msgid "Use D-Bus and Notification-Daemon to show notifications" +#~ msgstr "Use D-Bus and Notification-Daemon to show notifications" + +#~ msgid "Notification" +#~ msgstr "Notification" + +#~ msgid "Passive popups notifying for new events." +#~ msgstr "Passive popups notifying for new events." + +#~ msgid "" +#~ "Requires python-notify or instead python-dbus in conjunction with " +#~ "notification-daemon." +#~ msgstr "" +#~ "Requires python-notify or instead python-dbus in conjunction with " +#~ "notification-daemon." + +#~ msgid "Ignore" +#~ msgstr "Ignore" + +#~ msgid "_Open Gmail Inbox" +#~ msgstr "_Open Gmail Inbox" + +#~ msgid "Notify on new _GMail email" +#~ msgstr "Notify on new _GMail email" + +#~ msgid "" +#~ "If checked, Gajim will show a notification when a new e-mail is received " +#~ "via GMail" +#~ msgstr "" +#~ "If ticked, Gajim will show a notification when a new e-mail is received " +#~ "via GMail" + +#~ msgid "Display _extra email details" +#~ msgstr "Display _extra e-mail details" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will also include information about the sender of new " +#~ "emails" +#~ msgstr "" +#~ "If ticked, Gajim will also include information about the sender of the " +#~ "new e-mails" + +#~ msgid "GMail Options" +#~ msgstr "GMail Options" + +#, fuzzy +#~ msgid "20" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Invited %s to %s" +#~ msgstr "Send %s to %s" + +#~ msgid "GMail Email Received" +#~ msgstr "GMail E-mail Received" + +#, fuzzy +#~ msgid "New e-mail on %(gmail_mail_address)s" +#~ msgstr "New mail on %(gmail_mail_address)s" + +#, fuzzy +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "You have %d new mail conversation" +#~ msgstr[1] "You have %d new mail conversations" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "From: %(from_address)s\n" +#~ "Subject: %(subject)s\n" +#~ "%(snippet)s" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "From: %(from_address)s\n" +#~ "Subject: %(subject)s\n" +#~ "%(snippet)s" + +#~ msgid "Resour_ce:" +#~ msgstr "Resour_ce:" + +#~ msgid "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" +#~ msgstr "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" + +#~ msgid "A_djust to status" +#~ msgstr "A_djust to status" + +#~ msgid "Priority will change automatically according to your status." +#~ msgstr "Priority will change automatically according to your status." + +#~ msgid "Anonymous authentication" +#~ msgstr "Anonymous authentication" + +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" + +#, fuzzy +#~ msgid "Synchronize contacts" +#~ msgstr "Synchronise contacts" + +#~ msgid "Click to request authorization to all contacts of another account" +#~ msgstr "Click to request authorisation to all contacts of another account" + +#~ msgid "Chan_ge Password" +#~ msgstr "Chan_ge Password" + +#~ msgid "Administration operations" +#~ msgstr "Administration operations" + +#, fuzzy +#~ msgid "Browse..." +#~ msgstr "_Browse" + +#, fuzzy +#~ msgid "Certificate is e_ncrypted" +#~ msgstr "Certificate rejected" + +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "" +#~ "If ticked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" + +#, fuzzy +#~ msgid "Synchronize logs with server" +#~ msgstr "Synchronise contacts" + +#~ msgid "Synch_ronize account status with global status" +#~ msgstr "Synch_ronise account status with global status" + +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "If ticked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" + +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "If ticked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." + +#~ msgid "Proxy" +#~ msgstr "Proxy" + +#~ msgid "" +#~ "Check this so Gajim will ask you before sending your password over an " +#~ "insecure connection." +#~ msgstr "" +#~ "Check this so Gajim will ask you before sending your password over an " +#~ "insecure connection." + +#~ msgid "Send _keep-alive packets" +#~ msgstr "Send _keep-alive packets" + +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "" +#~ "If ticked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" + +#~ msgid "Use cust_om hostname/port" +#~ msgstr "Use cust_om hostname/port" + +#~ msgid "_Hostname: " +#~ msgstr "_Hostname: " + +#~ msgid "_Port: " +#~ msgstr "_Port: " + +#~ msgid "Choose _Key..." +#~ msgstr "Choose _Key..." + +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "" +#~ "If ticked, Gajim will get the password from a GPG agent like seahorse" + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#~ msgid "_Edit Personal Information..." +#~ msgstr "_Edit Personal Information..." + +#~ msgid "Personal Information" +#~ msgstr "Personal Information" + +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "Co_nnect on Gajim startup" + +#~ msgid "Synchroni_ze account status with global status" +#~ msgstr "Synchroni_se account status with global status" + +#~ msgid "Use cust_om port:" +#~ msgstr "Use cust_om port:" + +#~ msgid "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." +#~ msgstr "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." + +#~ msgid "OpenPGP is not usable on this computer" +#~ msgstr "OpenPGP is not usable on this computer" + +#~ msgid "To change the account name, you must be disconnected." +#~ msgstr "To change the account name, you must be disconnected." + +#~ msgid "To change the account name, you must read all pending events." +#~ msgstr "To change the account name, you must read all pending events." + +#~ msgid "Account Name Already Used" +#~ msgstr "Account Name Already Used" + +#~ msgid "" +#~ "This name is already used by another of your accounts. Please choose " +#~ "another name." +#~ msgstr "" +#~ "This name is already used by another of your accounts. Please choose " +#~ "another name." + +#~ msgid "Account name cannot be empty." +#~ msgstr "Account name cannot be empty." + +#~ msgid "Account name cannot contain spaces." +#~ msgstr "Account name cannot contain spaces." + +#~ msgid "Enter a new name for account %s" +#~ msgstr "Enter a new name for account %s" + +#, fuzzy +#~ msgid "A JID must be in the form \"user@servername\"." +#~ msgstr "A Jabber ID must be in the form \"user@servername\"." + +#~ msgid "No such account available" +#~ msgstr "No such account available" + +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "" +#~ "You must create your account before editing your personal information." + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "Without a connection, you can not edit your personal information." + +#~ msgid "Your server can't save your personal information." +#~ msgstr "Your server can't save your personal information." + +#~ msgid "Please rename or remove it before enabling link-local messaging." +#~ msgstr "Please rename or remove it before enabling link-local messaging." + +#~ msgid "THANKS:" +#~ msgstr "THANKS:" + +#~ msgid "Could not write to %s. Session Management support will not work" +#~ msgstr "Could not write to %s. Session Management support will not work" + +#~ msgid "Jabber Traffic" +#~ msgstr "Jabber Traffic" + +#~ msgid "_Enable" +#~ msgstr "_Enable" + +#, fuzzy +#~ msgid "Filter" +#~ msgstr "Font" + +#~ msgid "_IQ" +#~ msgstr "_IQ" + +#~ msgid "Info/Query" +#~ msgstr "Info/Query" + +#~ msgid "XML Input" +#~ msgstr "XML Input" + +#~ msgid "XML Console for %s" +#~ msgstr "XML Console for %s" + +#~ msgid "Idle for:" +#~ msgstr "Idle for:" + +#, fuzzy +#~ msgid "" +#~ "Request offline status messages from all contacts upon connecting. " +#~ "WARNING: This causes a lot of requests to be sent!" +#~ msgstr "" +#~ "Ask offline status message to all offline contacts when connection to an " +#~ "account is established. WARNING: This causes a lot of requests to be sent!" + +#~ msgid "Last status: %s" +#~ msgstr "Last status: %s" + +#~ msgid " since %s" +#~ msgstr " since %s" + +#~ msgid "since %s" +#~ msgstr "since %s" + +#, fuzzy +#~ msgid "Prefer" +#~ msgstr "Preferences" + +#, fuzzy +#~ msgid "Auto" +#~ msgstr "Auto join" + +#, fuzzy +#~ msgid "otr" +#~ msgstr "Hot" + +#, fuzzy +#~ msgid "Invalid expire value" +#~ msgstr "Invalid Server Name" + +#, fuzzy +#~ msgid "There is an error" +#~ msgstr "Service returned an error." + +#~ msgid "How many minutes should last lines from previous conversation last." +#~ msgstr "How many minutes should last lines from previous conversation last." + +#~ msgid "" +#~ "Your configured emoticons theme cannot been loaded. You maybe need to " +#~ "update the format of emoticons.py file. See http://trac.gajim.org/wiki/" +#~ "Emoticons for more details." +#~ msgstr "" +#~ "Your configured emoticons theme cannot been loaded. You maybe need to " +#~ "update the format of emoticons.py file. See http://trac.gajim.org/wiki/" +#~ "Emoticons for more details." + +#~ msgid "You will be connected to %s without OpenPGP." +#~ msgstr "You will be connected to %s without OpenPGP." + +#~ msgid "The following message was NOT encrypted" +#~ msgstr "The following message was NOT encrypted" + +#~ msgid "Toggle Open_PGP Encryption" +#~ msgstr "Toggle Open_PGP Encryption" + +#~ msgid "Toggle End to End Encryption" +#~ msgstr "Toggle End to End Encryption" + +#, fuzzy +#~ msgid "OpenPGP encryption enabled" +#~ msgstr "GPG encryption enabled" + +#, fuzzy +#~ msgid "No OpenPGP key assigned" +#~ msgstr "No GPG key assigned" + +#, fuzzy +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages with OpenPGP." +#~ msgstr "" +#~ "No GPG key is assigned to this contact. So you cannot encrypt messages " +#~ "with GPG." + +#~ msgid "Session WILL be logged" +#~ msgstr "Session WILL be logged" + +#~ msgid "Session WILL NOT be logged" +#~ msgstr "Session WILL NOT be logged" + +#~ msgid "is" +#~ msgstr "is" + +#~ msgid "is NOT" +#~ msgstr "is NOT" + +#~ msgid "will" +#~ msgstr "will" + +#~ msgid "will NOT" +#~ msgstr "will NOT" + +#~ msgid "The following message was encrypted" +#~ msgstr "The following message was encrypted" + +#, fuzzy +#~ msgid "Toggle the OpenPGP encryption" +#~ msgstr "Toggle Open_PGP Encryption" + +#~ msgid "" +#~ "Should Gajim automatically start an encrypted session with this contact " +#~ "when possible?" +#~ msgstr "" +#~ "Should Gajim automatically start an encrypted session with this contact " +#~ "when possible?" + +#~ msgid "Neither the remote presence is signed, nor a key was assigned." +#~ msgstr "Neither the remote presence is signed, nor a key was assigned." + +#~ msgid "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "The contact's key (%s) does not match the key assigned in Gajim." + +#~ msgid "[This message is *encrypted* (See :XEP:`27`]" +#~ msgstr "[This message is *encrypted* (See :XEP:`27`]" + +#~ msgid "" +#~ "Your chat session with %(jid)s is encrypted.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "Your chat session with %(jid)s is encrypted.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." + +#~ msgid "You have already verified this contact's identity." +#~ msgstr "You have already verified this contact's identity." + +#~ msgid "Contact's identity verified" +#~ msgstr "Contact's identity verified" + +#~ msgid "" +#~ "To be certain that only the expected person can read your messages " +#~ "or send you messages, you need to verify their identity by clicking the " +#~ "button below." +#~ msgstr "" +#~ "To be certain that only the expected person can read your messages " +#~ "or send you messages, you need to verify their identity by clicking the " +#~ "button below." + +#~ msgid "Contact's identity NOT verified" +#~ msgstr "Contact's identity NOT verified" + +#, fuzzy +#~ msgid "Verify…" +#~ msgstr "_Verify" + +#~ msgid "Have you verified the contact's identity?" +#~ msgstr "Have you verified the contact's identity?" + +#~ msgid "" +#~ "To prevent talking to an unknown person, you should speak to %(jid)s directly (in person or on the phone) and verify that they see the same " +#~ "Short Authentication String (SAS) as you.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "To prevent talking to an unknown person, you should speak to %(jid)s directly (in person or on the phone) and verify that they see the same " +#~ "Short Authentication String (SAS) as you.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." + +#~ msgid "Did you talk to the remote contact and verify the SAS?" +#~ msgstr "Did you talk to the remote contact and verify the SAS?" + +#~ msgid "" +#~ "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "" +#~ "The contact's key (%s) does not match the key assigned in Gajim." + +#, fuzzy +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages." +#~ msgstr "" +#~ "No GPG key is assigned to this contact. So you cannot encrypt messages." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP key is assigned to this contact, but you do not trust their " +#~ "key, so message cannot be encrypted. Use your OpenPGP client " +#~ "to trust their key." +#~ msgstr "" +#~ "GPG key is assigned to this contact, but you do not trust his key, " +#~ "so message cannot be encrypted. Use your GPG client to trust this " +#~ "key." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP Key is assigned to this contact, and you trust their key, so " +#~ "messages will be encrypted." +#~ msgstr "" +#~ "GPG Key is assigned to this contact, and you trust his key, so messages " +#~ "will be encrypted." + +#~ msgid "" +#~ "This icon indicates that this message has not yet\n" +#~ "been received by the remote end. If this icon stays\n" +#~ "for a long time, it's likely the message got lost." +#~ msgstr "" +#~ "This icon indicates that this message has not yet\n" +#~ "been received by the remote end. If this icon stays\n" +#~ "for a long time, it's likely the message got lost." + +#~ msgid "" +#~ "If True, listen to D-Bus signals from NetworkManager and change the " +#~ "status of accounts (provided they do not have listen_to_network_manager " +#~ "set to False and they sync with global status) based upon the status of " +#~ "the network connection." +#~ msgstr "" +#~ "If True, listen to D-Bus signals from NetworkManager and change the " +#~ "status of accounts (provided they do not have listen_to_network_manager " +#~ "set to False and they sync with global status) based upon the status of " +#~ "the network connection." + +#~ msgid "" +#~ "The database file (%s) cannot be read. Try to repair it or remove it (all " +#~ "history will be lost)." +#~ msgstr "" +#~ "The database file (%s) cannot be read. Try to repair it or remove it (all " +#~ "history will be lost)." + +#~ msgid "Database cannot be read." +#~ msgstr "Database cannot be read." + +#~ msgid "A message from a non-valid JID arrived, it has been ignored." +#~ msgstr "A message from a non-valid JID arrived, it has been ignored." + +#~ msgid "Smooth scroll message in conversation window" +#~ msgstr "Smooth scroll message in conversation window" + +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "Edit _Privacy Lists..." + +#~ msgid "_Administrator" +#~ msgstr "_Administrator" + +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "Sends a message to users currently connected to this server" + +#~ msgid "Sets Message of the Day" +#~ msgstr "Sets Message of the Day" + +#~ msgid "Updates Message of the Day" +#~ msgstr "Updates Message of the Day" + +#~ msgid "Deletes Message of the Day" +#~ msgstr "Deletes Message of the Day" + +#~ msgid "Add _Contact..." +#~ msgstr "Add _Contact..." + +#~ msgid "Profile, A_vatar" +#~ msgstr "Profile, A_vatar" + +#~ msgid "File _Transfers" +#~ msgstr "File _Transfers" + +#~ msgid "Help online" +#~ msgstr "Help online" + +#~ msgid "Frequently Asked Questions (online)" +#~ msgstr "Frequently Asked Questions (online)" + +#~ msgid "Fea_tures" +#~ msgstr "Fea_tures" + +#~ msgid "to %s account" +#~ msgstr "to %s account" + +#~ msgid "using %s account" +#~ msgstr "using %s account" + +#~ msgid "of account %s" +#~ msgstr "of account %s" + +#~ msgid "for account %s" +#~ msgstr "for account %s" + +#~ msgid "" +#~ "By removing this contact you also remove authorization resulting in him " +#~ "or her always seeing you as offline." +#~ msgstr "" +#~ "By removing this contact you also remove authorisation resulting in him " +#~ "or her always seeing you as offline." + +#~ msgid "Message Body xmpp.org/getting-started" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:646 +#, fuzzy +msgid "_Please choose a server" +msgstr "Nova mesaĝo" + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "" + +#: gajim/data/gui/application_menu.ui:8 +#, fuzzy +msgid "_Start / Join Chat…" +msgstr "Babili" + +#: gajim/data/gui/application_menu.ui:13 +#, fuzzy +msgid "Create _Group Chat…" +msgstr "Nova babilejo" + +#: gajim/data/gui/application_menu.ui:18 +#, fuzzy +msgid "_History Manager" +msgstr "Historia administrilo" + +#: gajim/data/gui/application_menu.ui:22 +#, fuzzy +msgid "Pl_ugins" +msgstr "Konektado malsukcesis" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +#, fuzzy +msgid "_Preferences" +msgstr "Agordo" + +#: gajim/data/gui/application_menu.ui:36 +#, fuzzy +msgid "_Accounts" +msgstr "Kontoj" + +#: gajim/data/gui/application_menu.ui:39 +#, fuzzy +msgid "_View" +msgstr "_Vido" + +#: gajim/data/gui/application_menu.ui:46 +#, fuzzy +msgid "Show _Offline Contacts" +msgstr "Montri _senkonektajn kontaktojn" + +#: gajim/data/gui/application_menu.ui:50 +#, fuzzy +msgid "Show _Active Contacts" +msgstr "Montri _senkonektajn kontaktojn" + +#: gajim/data/gui/application_menu.ui:54 +#, fuzzy +msgid "Show _Transports" +msgstr "Montri Trans_portilojn" + +#: gajim/data/gui/application_menu.ui:60 +#, fuzzy +msgid "_XML Console" +msgstr "XML-konzolo" + +#: gajim/data/gui/application_menu.ui:64 +#, fuzzy +msgid "_File Transfer" +msgstr "Dosieraj transmetoj" + +#: gajim/data/gui/application_menu.ui:74 +#, fuzzy +msgid "_Help" +msgstr "_Helpo" + +#: gajim/data/gui/application_menu.ui:77 +#, fuzzy +msgid "_Wiki (Online)" +msgstr "naŭ" + +#: gajim/data/gui/application_menu.ui:81 +#, fuzzy +msgid "FA_Q (Online)" +msgstr "naŭ" + +#: gajim/data/gui/application_menu.ui:85 +msgid "_Keyboard Shortcuts" +msgstr "" + +#: gajim/data/gui/application_menu.ui:89 +#, fuzzy +msgid "_Features" +msgstr "Servilaj trajtoj" + +#: gajim/data/gui/application_menu.ui:93 +#, fuzzy +msgid "_About" +msgstr "Pri si" + +#: gajim/data/gui/filetransfer_progress.ui:125 +msgid "Speed" +msgstr "" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +#, fuzzy +msgid "OK" +msgstr "_O kej" + +#: gajim/data/gui/plugins_window.ui:55 +msgid "Install Plugin from ZIP-File" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:56 +msgid "Install from File…" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:70 +#, fuzzy +msgid "Uninstall Plugin" +msgstr "Malrapidas" + +#: gajim/data/gui/plugins_window.ui:116 +#, fuzzy +msgid "" +msgstr "Konektado malsukcesis" + +#: gajim/data/gui/plugins_window.ui:133 +#, fuzzy +msgid "Plugin Settings" +msgstr "Konektado malsukcesis" + +#: gajim/data/gui/plugins_window.ui:215 +#, fuzzy +msgid "" +msgstr "Priskribo" + +#: gajim/data/gui/plugins_window.ui:239 +#, fuzzy +msgid "Version" +msgstr "Versio de GTK+:" + +#: gajim/data/gui/plugins_window.ui:271 +#, fuzzy +msgid "Authors" +msgstr "_Permesi" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +#, fuzzy +msgid "Homepage" +msgstr "Hejmpaĝo:" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:349 +#, fuzzy +msgid "Installed" +msgstr "Malrapidas" + +#: gajim/data/gui/plugins_window.ui:363 +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +#, fuzzy +msgid "Synchronise contacts" +msgstr "Montri _senkonektajn kontaktojn" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +#, fuzzy +msgid "_Name" +msgstr "_Nomo:" + +#: gajim/data/gui/groupchat_creation.ui:122 +#, fuzzy +msgid "_Description" +msgstr "Priskribo" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +#, fuzzy +msgid "_Address" +msgstr "_Adreso:" + +#: gajim/data/gui/groupchat_creation.ui:278 +#, fuzzy +msgid "_Account" +msgstr "Kontoj" + +#: gajim/data/gui/profile.ui:33 +#, fuzzy +msgid "Contact Infos" +msgstr "Kontakta _informo" + +#: gajim/data/gui/profile.ui:45 +#, fuzzy +msgid "Picture and Name" +msgstr "Kaŝnomo ne trovitas: %s" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "" + +#: gajim/data/gui/profile.ui:198 +#, fuzzy +msgid "Change your profile picture" +msgstr "Ŝanĝi kaŝ_nomon" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:298 +#, fuzzy +msgid "Add Entry" +msgstr "Lando:" + +#: gajim/data/gui/profile.ui:410 +#, fuzzy +msgid "Update" +msgstr "Renovigi tagmesaĝon" + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:15 +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:65 +#, fuzzy +msgid "Add Proxy" +msgstr "Prokura servilo:" + +#: gajim/data/gui/manage_proxies.ui:79 +#, fuzzy +msgid "Remove Proxy" +msgstr "Forigi grupon" + +#: gajim/data/gui/manage_proxies.ui:131 +#, fuzzy +msgid "Pass_word" +msgstr "Pas_vorto:" + +#: gajim/data/gui/manage_proxies.ui:156 +#, fuzzy +msgid "Use proxy auth_entication" +msgstr "Uzi aŭtentokontrolon" + +#: gajim/data/gui/manage_proxies.ui:176 +#, fuzzy +msgid "_Username" +msgstr "_Salutnomo:" + +#: gajim/data/gui/manage_proxies.ui:237 +#, fuzzy +msgid "_Host" +msgstr "_Retnodo:" + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "Loka JID:" + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "Risurco:" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "Stato:" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +#, fuzzy +msgid "_Store conversation history" +msgstr "_Protokoli komunikadan historion" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +msgid "Contact" +msgstr "Kontakto" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +msgid "First Name:" +msgstr "Nomo:" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +msgid "Last Name:" +msgstr "Familia nomo:" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +#, fuzzy +msgid "XMPP Address:" +msgstr "AIM-adreso:" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "Retpoŝtadreso:" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +msgid "Personal" +msgstr "Persona" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "_Stato" + +#: gajim/data/gui/account_context_menu.ui:20 +#, fuzzy +msgid "_Personal Events" +msgstr "Persona detalaĵoj" + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "_Aldoni kontakton..." + +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "_Serĉi servojn" + +#: gajim/data/gui/account_context_menu.ui:57 +msgid "_Execute Command..." +msgstr "_Plenumi komandon..." + +#: gajim/data/gui/account_context_menu.ui:65 +#, fuzzy +msgid "_View Server Info" +msgstr "Servilo" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:125 +#, fuzzy +msgid "Global Group Chat Search" +msgstr "Eniri babilejen" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +#, fuzzy +msgid "_Back" +msgstr "Revenos baldaŭ" + +#: gajim/data/gui/start_chat_dialog.ui:386 +#, fuzzy +msgid "Select Account" +msgstr "Forigado de konto %s" + +#: gajim/data/gui/start_chat_dialog.ui:477 +msgid "_Select" +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +#, fuzzy +msgid "Configure" +msgstr "_Daŭrigi" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +#, fuzzy +msgid "Create new post" +msgstr "Nova mesaĝo" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "Sta_to" + +#: gajim/data/gui/systray_context_menu.ui:20 +#, fuzzy +msgid "_Start Chat..." +msgstr "_Ekparoli" + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "Sendi unuopan _mesaĝon..." + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "Montri ĉiujn nelegitajn _eventojn" + +#: gajim/data/gui/systray_context_menu.ui:52 +msgid "Mute Sounds" +msgstr "Silentigi sonojn" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +#, fuzzy +msgid "Contact List" +msgstr "Kontaktoj" + +#: gajim/data/gui/shortcuts_window.ui:24 +#, fuzzy +msgid "Create new group chat" +msgstr "Nova babilejo" + +#: gajim/data/gui/shortcuts_window.ui:45 +#, fuzzy +msgid "File transfers" +msgstr "Dosieraj transmetoj" + +#: gajim/data/gui/shortcuts_window.ui:52 +#, fuzzy +msgid "Set the status message" +msgstr "statmesaĝo" + +#: gajim/data/gui/shortcuts_window.ui:59 +#, fuzzy +msgid "Show XML console" +msgstr "Montri _XML-konzolon" + +#: gajim/data/gui/shortcuts_window.ui:74 +#, fuzzy +msgid "Appearance" +msgstr "Redakti regulon" + +#: gajim/data/gui/shortcuts_window.ui:79 +#, fuzzy +msgid "Show offline contacts" +msgstr "Montri _senkonektajn kontaktojn" + +#: gajim/data/gui/shortcuts_window.ui:86 +#, fuzzy +msgid "Show only active contacts" +msgstr "Montri _senkonektajn kontaktojn" + +#: gajim/data/gui/shortcuts_window.ui:93 +msgid "Enable contact list filtering" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:100 +#, fuzzy +msgid "Show / hide contact list" +msgstr "Montri _senkonektajn kontaktojn" + +#: gajim/data/gui/shortcuts_window.ui:113 +#, fuzzy +msgid "Contact information" +msgstr "Kontakta informo" + +#: gajim/data/gui/shortcuts_window.ui:120 +#, fuzzy +msgid "Rename contact" +msgstr "Renomigado de kontakto" + +#: gajim/data/gui/shortcuts_window.ui:127 +#, fuzzy +msgid "Delete contact" +msgstr "Kontaktoj" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +msgid "Chat" +msgstr "Babilejo" + +#: gajim/data/gui/shortcuts_window.ui:142 +#, fuzzy +msgid "Message composition" +msgstr "mesaĝenhavo" + +#: gajim/data/gui/shortcuts_window.ui:147 +#, fuzzy +msgid "Send the message" +msgstr "Sendi mesaĝon" + +#: gajim/data/gui/shortcuts_window.ui:154 +#, fuzzy +msgid "Add new line" +msgstr "Nova mesaĝo" + +#: gajim/data/gui/shortcuts_window.ui:161 +msgid "Select an emoji" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:168 +#, fuzzy +msgid "Complete a command or a nickname" +msgstr "Nova mesaĝo" + +#: gajim/data/gui/shortcuts_window.ui:175 +#, fuzzy +msgid "Previously sent message" +msgstr "Antaŭpreparitaj mesaĝoj:" + +#: gajim/data/gui/shortcuts_window.ui:182 +#, fuzzy +msgid "Next sent messages" +msgstr "Antaŭpreparitaj mesaĝoj:" + +#: gajim/data/gui/shortcuts_window.ui:189 +#, fuzzy +msgid "Quote previous message" +msgstr "statmesaĝo" + +#: gajim/data/gui/shortcuts_window.ui:196 +#, fuzzy +msgid "Quote next message" +msgstr "Sendi mesaĝon" + +#: gajim/data/gui/shortcuts_window.ui:203 +#, fuzzy +msgid "Clear message entry" +msgstr "Mesaĝo sendita" + +#: gajim/data/gui/shortcuts_window.ui:211 +#, fuzzy +msgid "Recent history" +msgstr "Antaŭ nelonge:" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:230 +#, fuzzy +msgid "Clear chat window" +msgstr "Uzado: /%s, - malplenigas la tekstan fenestron." + +#: gajim/data/gui/shortcuts_window.ui:237 +#, fuzzy +msgid "Show chat history" +msgstr "Antaŭ nelonge:" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:299 +msgid "Close chat" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:312 +#, fuzzy +msgid "Change Nickname" +msgstr "Ŝanĝi kaŝ_nomon" + +#: gajim/data/gui/chat_control.ui:48 +#, fuzzy +msgid "Drop files or contacts" +msgstr "Sendi dosieron al kontakto" + +#: gajim/data/gui/chat_control.ui:80 +#, fuzzy +msgid "1" +msgstr "Sonoj" + +#: gajim/data/gui/chat_control.ui:101 +#, fuzzy +msgid "2 abc" +msgstr "Sonoj" + +#: gajim/data/gui/chat_control.ui:121 +#, fuzzy +msgid "3 def" +msgstr "Sonoj" + +#: gajim/data/gui/chat_control.ui:141 +#, fuzzy +msgid "4 ghi" +msgstr "Sonoj" + +#: gajim/data/gui/chat_control.ui:161 +#, fuzzy +msgid "5 jkl" +msgstr "Sonoj" + +#: gajim/data/gui/chat_control.ui:181 +#, fuzzy +msgid "6 mno" +msgstr "Sonoj" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "" + +#: gajim/data/gui/chat_control.ui:221 +#, fuzzy +msgid "8 tuv" +msgstr "Sonoj" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "" + +#: gajim/data/gui/chat_control.ui:261 +#, fuzzy +msgid "*" +msgstr "Sonoj" + +#: gajim/data/gui/chat_control.ui:281 +#, fuzzy +msgid "0" +msgstr "Sonoj" + +#: gajim/data/gui/chat_control.ui:301 +#, fuzzy +msgid "#" +msgstr "Sonoj" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "Ekparoli" + +#: gajim/data/gui/contact_context_menu.ui:28 +#, fuzzy +msgid "Send _File..." +msgstr "Sendi _dosieron" + +#: gajim/data/gui/contact_context_menu.ui:44 +#, fuzzy +msgid "Invite _Contacts" +msgstr "Kontaktoj" + +#: gajim/data/gui/contact_context_menu.ui:58 +#, fuzzy +msgid "E_xecute Command..." +msgstr "Plenumi komandon..." + +#: gajim/data/gui/contact_context_menu.ui:67 +#, fuzzy +msgid "M_anage Contact" +msgstr "Renomigado de kontakto" + +#: gajim/data/gui/contact_context_menu.ui:77 +#, fuzzy +msgid "_Rename..." +msgstr "_Renomigi" + +#: gajim/data/gui/contact_context_menu.ui:84 +#, fuzzy +msgid "Edit _Groups..." +msgstr "Aranĝi _Grupojn" + +#: gajim/data/gui/contact_context_menu.ui:92 +#, fuzzy +msgid "Add Special _Notification..." +msgstr "Aligi specialan _avizon" + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "_Abono" + +#: gajim/data/gui/contact_context_menu.ui:115 +#, fuzzy +msgid "_Allow contact to see my status" +msgstr "_Permesi al tiu kontakto vidi mian staton" + +#: gajim/data/gui/contact_context_menu.ui:123 +#, fuzzy +msgid "A_sk to see contact status" +msgstr "Peti por vidi lian/ŝian staton" + +#: gajim/data/gui/contact_context_menu.ui:131 +#, fuzzy +msgid "_Forbid contact to see my status" +msgstr "_Malpermesi al li/ŝi vidi vian staton" + +#: gajim/data/gui/contact_context_menu.ui:159 +#, fuzzy +msgid "_Unignore" +msgstr "naŭ" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:174 +#, fuzzy +msgid "_Add to Contact List..." +msgstr "_Aldoni kontakton..." + +#: gajim/data/gui/single_message_window.ui:42 +#, fuzzy +msgid "_To" +msgstr "Al" + +#: gajim/data/gui/single_message_window.ui:71 +#, fuzzy +msgid "Su_bject" +msgstr "Temo" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "" + +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "_Mesaĝo" + +#: gajim/data/gui/single_message_window.ui:144 +#, fuzzy +msgid "Characters typed: 0" +msgstr "Kaŝnomo malpermesita: %s" + +#: gajim/data/gui/single_message_window.ui:189 +#, fuzzy +msgid "_From" +msgstr "De" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "Sen_di" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "Sendi mesaĝon" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "_Respondi" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "Respondi al tiu mesaĝo" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "_Sendi kaj fermi" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "Sendi mesaĝon kaj fermi fenestron" + +#: gajim/data/gui/vcard_information_window.ui:106 +#, fuzzy +msgid "Client" +msgstr "Kliento:" + +#: gajim/data/gui/vcard_information_window.ui:140 +#, fuzzy +msgid "Contact time" +msgstr "Kontaktnomo" + +#: gajim/data/gui/vcard_information_window.ui:240 +#, fuzzy +msgid "User avatar" +msgstr "Kaŝbildeto:" + +#: gajim/data/gui/vcard_information_window.ui:255 +#, fuzzy +msgid "Configured avatar" +msgstr "Administri _babilejon" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +#, fuzzy +msgid "Ask" +msgstr "Demandas:" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +#, fuzzy +msgid "Subscription" +msgstr "Abono:" + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +#, fuzzy +msgid "Extra Address" +msgstr "Kroma adreso:" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +#, fuzzy +msgid "Address" +msgstr "Aldoni regulon" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +#, fuzzy +msgid "E-Mail" +msgstr "Retpoŝtadreso:" + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "Formato: JJJJ-MM-TT" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +#, fuzzy +msgid "Family" +msgstr "Familia nomo:" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +#, fuzzy +msgid "Middle" +msgstr "Meznomo:" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +#, fuzzy +msgid "Prefix" +msgstr "Prefikso:" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +#, fuzzy +msgid "Given" +msgstr "Nomo:" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +#, fuzzy +msgid "Suffix" +msgstr "Sufikso:" + +#: gajim/data/gui/vcard_information_window.ui:958 +#, fuzzy +msgid "Name Details" +msgstr "Propraj" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "" + +#: gajim/data/gui/vcard_information_window.ui:1017 +msgid "Personal Info" +msgstr "Persona informo" + +#: gajim/data/gui/vcard_information_window.ui:1040 +#, fuzzy +msgid "Company" +msgstr "Kompanio:" + +#: gajim/data/gui/vcard_information_window.ui:1073 +#, fuzzy +msgid "Department" +msgstr "Fako:" + +#: gajim/data/gui/vcard_information_window.ui:1104 +#, fuzzy +msgid "Position" +msgstr "Ofico:" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "Rolo" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "Pri si" + +#: gajim/data/gui/vcard_information_window.ui:1514 +msgid "Comments" +msgstr "Komentoj" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "Aranĝi grupojn" + +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "Pasfrazo" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +#, fuzzy +msgid "Themes" +msgstr "Etoso" + +#: gajim/data/gui/themes_window.ui:171 +#, fuzzy +msgid "Add Setting" +msgstr "Konektado malsukcesis" + +#: gajim/data/gui/themes_window.ui:204 +#, fuzzy +msgid "Add new Theme" +msgstr "Nova mesaĝo" + +#: gajim/data/gui/themes_window.ui:219 +#, fuzzy +msgid "Remove Theme" +msgstr "Aktiva" + +#: gajim/data/gui/bookmarks.ui:120 +#, fuzzy +msgid "Autojoin" +msgstr "Aŭtomate aliĝi" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "" + +#: gajim/data/gui/preferences.ui:68 +#, fuzzy +msgid "Contact List Appearance" +msgstr "Kontakto malkonektita" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +msgid "Chats" +msgstr "Babilejoj" + +#: gajim/data/gui/preferences.ui:215 +#, fuzzy +msgid "Visual Notifications" +msgstr "Bildavizoj" + +#: gajim/data/gui/preferences.ui:243 +#, fuzzy +msgid "Sounds" +msgstr "Wav-sonoj" + +#: gajim/data/gui/preferences.ui:303 +#, fuzzy +msgid "Ask For Status Message on…" +msgstr "Demandi statmesaĝon kiam mi:" + +#: gajim/data/gui/preferences.ui:331 +#, fuzzy +msgid "Automatic Status Change" +msgstr "_Alĝustigi laŭ stato" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "" + +#: gajim/data/gui/preferences.ui:447 +#, fuzzy +msgid "Status Icon" +msgstr "Defaŭlta stata p_iktogramaro:" + +#: gajim/data/gui/preferences.ui:472 +#, fuzzy +msgid "Style" +msgstr "Malrapidas" + +#: gajim/data/gui/preferences.ui:511 +#, fuzzy +msgid "Show _Features" +msgstr "Servilaj trajtoj" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:632 +msgid "Audio" +msgstr "" + +#: gajim/data/gui/preferences.ui:660 +msgid "Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:698 +msgid "Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:735 +#, fuzzy +msgid "Miscellaneous" +msgstr "Cetero" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:821 +#, fuzzy +msgid "Advanced Configuration Editor… " +msgstr "Detala agorda administrilo" + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "" + +#: gajim/data/gui/server_info.ui:50 +#, fuzzy +msgid "Server Software" +msgstr "Servilaj trajtoj" + +#: gajim/data/gui/server_info.ui:80 +#, fuzzy +msgid "Server Uptime" +msgstr "Konservita kiel: %s" + +#: gajim/data/gui/server_info.ui:109 +#, fuzzy +msgid "Contact Addresses" +msgstr "_Statmesaĝo:" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "" + +#: gajim/data/gui/server_info.ui:177 +#, fuzzy +msgid "Proxy Type" +msgstr "Prokura servilo:" + +#: gajim/data/gui/server_info.ui:192 +#, fuzzy +msgid "No proxy used" +msgstr "Prokura servilo:" + +#: gajim/data/gui/server_info.ui:202 +#, fuzzy +msgid "View _Certificate" +msgstr "Malkorekta salutnomo" + +#: gajim/data/gui/server_info.ui:222 +#, fuzzy +msgid "Proxy Host" +msgstr "Prokura servilo:" + +#: gajim/data/gui/server_info.ui:421 +#, fuzzy +msgid "Copy info to clipboard" +msgstr "_Kopii ligilan lokon" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:153 +#, fuzzy +msgid "Serial Number" +msgstr "GG numero:" + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:304 +msgid "Expires on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:465 +#, fuzzy +msgid "Copy Certificate Information" +msgstr "Kontakta informo" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +#, fuzzy +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "JID de kontakto, kun kiu vi volas interparoli" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +#, fuzzy +msgid "Please select a group chat server." +msgstr "Tio ne estas babilejo" + +#: gajim/data/gui/chat_to_muc_window.ui:141 +#, fuzzy +msgid "Group chat server" +msgstr "Babilejoj" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +#, fuzzy +msgid "In_vite" +msgstr "In_viti al" + +#: gajim/data/gui/mam_preferences.ui:53 +#, fuzzy +msgid "_Default" +msgstr "Defaŭlte" + +#: gajim/data/gui/mam_preferences.ui:136 +#, fuzzy +msgid "Archive" +msgstr "Dosierindiko" + +#: gajim/data/gui/history_manager.ui:11 +#, fuzzy +msgid "_Export" +msgstr "Eksportado" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +msgid "Gajim History Logs Manager" +msgstr "Gajim administrilo de protokoloj" + +#: gajim/data/gui/history_manager.ui:104 +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" + +#: gajim/data/gui/history_manager.ui:120 +#, fuzzy +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" +"Bonvenon al protokoladministrilo de Gajim \n" +"\n" +"Vi povas elekti protokolojn maldekstre kaj/aŭ serĉi datumbaze malsupre.\n" +"\n" +"AVERTO:\n" +"Se vi planas fari multajn forigojn, bonvolu certiĝi ke Gajim ne aktivas. " +"Ĝenerale evitu forigojn rilatajn al kontaktoj kun kiu vi interparolas " +"nuntempe." + +#: gajim/data/gui/history_manager.ui:211 +#, fuzzy +msgid "Search database..." +msgstr "_Serĉi datumbaze" + +#: gajim/data/gui/history_manager.ui:226 +#, fuzzy +msgid "Search in database" +msgstr "_Serĉi datumbaze" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" + +#: gajim/data/gui/groupchat_invite.ui:69 +#, fuzzy +msgid "Invitees" +msgstr "In_viti al" + +#: gajim/data/gui/groupchat_invite.ui:153 +#, fuzzy +msgid "Search contacts..." +msgstr "_Serĉi datumbaze" + +#: gajim/data/gui/groupchat_invite.ui:223 +#, fuzzy +msgid "Click on contacts you would like to invite to this group chat." +msgstr "%(nick)s estas elpelita de %(who)s: %(reason)s" + +#: gajim/data/gui/service_discovery_window.ui:148 +#, fuzzy +msgid "Go" +msgstr "Ek" + +#: gajim/data/gui/status_change_window.ui:27 +#, fuzzy +msgid "Change Status" +msgstr "Kontakto ŝanĝis sian staton" + +#: gajim/data/gui/status_change_window.ui:56 +#, fuzzy +msgid "Status Presets…" +msgstr "Statmesaĝo" + +#: gajim/data/gui/status_change_window.ui:72 +msgid "Save this message as a preset" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:130 +#, fuzzy +msgid "Ac_tivity" +msgstr "Aktiva" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:278 +#, fuzzy +msgid "_Change Status" +msgstr "Kontakto ŝanĝis sian staton" + +#: gajim/data/gui/status_change_window.ui:313 +#, fuzzy +msgid "Activity" +msgstr "Ŝaltita" + +#: gajim/data/gui/status_change_window.ui:326 +#, fuzzy +msgid "_No Activity" +msgstr "Ŝaltita" + +#: gajim/data/gui/status_change_window.ui:729 +#, fuzzy +msgid "Mood" +msgstr "_Korekti" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +#, fuzzy +msgid "Author" +msgstr "_Permesi" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +#, fuzzy +msgid "Group Chat Language" +msgstr "Babileja invitilo" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +#, fuzzy +msgid "Copy Address" +msgstr "_Kopii JID/retpoŝtan adreson" + +#: gajim/data/gui/emoji_chooser.ui:98 +msgid "No Results Found" +msgstr "" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr "XML-konzolo" + +#: gajim/data/gui/xml_console.ui:131 +#, fuzzy +msgid "Start Search..." +msgstr "_Ekparoli" + +#: gajim/data/gui/xml_console.ui:260 +#, fuzzy +msgid "Clear" +msgstr "Vespero" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "" + +#: gajim/data/gui/xml_console.ui:316 +#, fuzzy +msgid "Presets" +msgstr "_Ĉeesto" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +#, fuzzy +msgid "Select the contacts you want to synchronise" +msgstr "JID de kontakto, kun kiu vi volas interparoli" + +#: gajim/data/gui/groupchat_config.ui:51 +#, fuzzy +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" +"Devas esti en unu el sekvaj formoj:\n" +"1. uzulo@domajno/risurco (nur tiu risurco).\n" +"2. uzulo@domajno (iu ajn risurco).\n" +"3. domajno/risurco (nur tiu risurco).\n" +"4. domajno (iu kombinaĵo de risurco kaj uzulo\n" +"kun tiu domajno aŭ subdomajno)." + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:309 +#, fuzzy +msgid "Reserved Name" +msgstr "Parametra nomo" + +#: gajim/data/gui/groupchat_config.ui:346 +#, fuzzy +msgid "Affiliation" +msgstr "Programoj" + +#: gajim/data/gui/groupchat_config.ui:377 +#, fuzzy +msgid "Affiliations" +msgstr "Programoj" + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "Kialo" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "Listo de malpermesoj" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "_Rifuzi" + +#: gajim/data/gui/subscription_request_window.ui:34 +#, fuzzy +msgid "_Block User" +msgstr "_Grupo:" + +#: gajim/data/gui/subscription_request_window.ui:49 +#, fuzzy +msgid "_Report as Spam" +msgstr "_Raporti pri eraro" + +#: gajim/data/gui/subscription_request_window.ui:212 +#, fuzzy +msgid "_Deny…" +msgstr "_Rifuzi" + +#: gajim/data/gui/subscription_request_window.ui:225 +#, fuzzy +msgid "Ac_cept" +msgstr "Akcepti" + +#: gajim/data/gui/subscription_request_window.ui:230 +#, fuzzy +msgid "Allows the contact to see your online status" +msgstr "_Permesi al tiu kontakto vidi mian staton" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:115 +#, fuzzy +msgid "_Report Bug" +msgstr "_Raporti pri eraro" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "Evento" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "Elektu sonon" + +#: gajim/data/gui/manage_sounds.ui:97 +#, fuzzy +msgid "Clear Sound" +msgstr "Elektu sonon" + +#: gajim/data/gui/manage_sounds.ui:118 +#, fuzzy +msgid "Play Sound" +msgstr "Ludi _sonojn" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +#, fuzzy +msgid "_Send Files" +msgstr "Sendi _dosieron" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +#, fuzzy +msgid "Send" +msgstr "_Sendi" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +#, fuzzy +msgid "Files to send" +msgstr "Elektu dosieron por sendi..." + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +#, fuzzy +msgid "Add Files" +msgstr "Dosiero: " + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +#, fuzzy +msgid "Remove Files" +msgstr "_Forigi" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +#, fuzzy +msgid "Idle since:" +msgstr " ekde %s" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +#, fuzzy +msgid "Mood:" +msgstr "Babilejo:" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +#, fuzzy +msgid "Activity:" +msgstr "Ŝaltita" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +#, fuzzy +msgid "Tune:" +msgstr "Tipo:" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +#, fuzzy +msgid "Location:" +msgstr "Konta korektado" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +msgid "Subscription:" +msgstr "Abono:" + +#: gajim/data/gui/advanced_configuration.ui:15 +#, fuzzy +msgid "A restart may be required for some settings to take effect" +msgstr "" +"RIMARKU: Vi devas relanĉi gajim por efektigi kelkajn parametrojn" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "" + +#: gajim/data/gui/advanced_configuration.ui:120 +#, fuzzy +msgid "_Reset Value" +msgstr "_Reŝargi kolorojn per defaŭlto" + +#: gajim/data/gui/advanced_configuration.ui:125 +#, fuzzy +msgid "Resets value to default" +msgstr "_Reŝargi kolorojn per defaŭlto" + +#: gajim/data/gui/history_window.ui:27 +#, fuzzy +msgid "Display status changes" +msgstr "_Protokoli statŝanĝojn de kontaktoj" + +#: gajim/data/gui/history_window.ui:57 +msgid "History Manager" +msgstr "Historia administrilo" + +#: gajim/data/gui/history_window.ui:233 +#, fuzzy +msgid "Mode" +msgstr "Moderiganto" + +#: gajim/data/gui/history_window.ui:246 +#, fuzzy +msgid "Search complete history" +msgstr "Antaŭ nelonge:" + +#: gajim/data/gui/history_window.ui:263 +msgid "Search selected day only" +msgstr "" + +#: gajim/data/gui/history_window.ui:317 +msgid "Store history for this chat" +msgstr "" + +#: gajim/data/gui/history_window.ui:332 +#, fuzzy +msgid "Store History" +msgstr "Antaŭ nelonge:" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +#, fuzzy +msgid "Identified Error" +msgstr "Malkorekta salutnomo" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +#, fuzzy +msgid "" +msgstr "Eraro de Avahi" + +#: gajim/data/gui/ssl_error_dialog.ui:74 +msgid "Add this certificate to the list of _trusted certificates" +msgstr "" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +#, fuzzy +msgid "_View Certificate" +msgstr "Malkorekta salutnomo" + +#: gajim/data/gui/ssl_error_dialog.ui:120 +#, fuzzy +msgid "_Connect" +msgstr "Konekto" + +#: data/org.gajim.Gajim.desktop.in:5 +#, fuzzy +msgid "XMPP Chat Client" +msgstr "Jabber-tujmesaĝilo" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:8 +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:27 +#, fuzzy +msgid "Show next pending event" +msgstr "Montri ĉiujn nelegitajn _eventojn" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:17 +#, fuzzy +msgid "Features:" +msgstr "Servilaj trajtoj" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +msgid "Automatic spell-checking for your messages" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +#, fuzzy +msgid "Support for service discovery including nodes and search for users" +msgstr "Serĉado de servoj per konto %s" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +#, fuzzy +msgid "Contact list" +msgstr "Kontaktoj" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +#, fuzzy +msgid "Group chat support" +msgstr "Babilejoj" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +#, fuzzy +msgid "Chat history" +msgstr "Antaŭ nelonge:" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +#, fuzzy +msgid "Plugin manager" +msgstr "Konektado malsukcesis" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +#, fuzzy +msgid "Gajim Team" +msgstr "Gajim - %s" + +#, fuzzy +#~ msgid "Chat Settings" +#~ msgstr "Konektado malsukcesis" + +#, python-format +#~ msgid "%i day" +#~ msgid_plural "%i days" +#~ msgstr[0] "%i tago" +#~ msgstr[1] "%i tagoj" + +#, fuzzy +#~ msgid "Composing only" +#~ msgstr "Tajpas mesaĝon" + +#, fuzzy +#~ msgid "All chat states" +#~ msgstr "ia ajn stato" + +#~ msgid "Could not load image" +#~ msgstr "Ne povas alŝuti bildon" + +#, fuzzy +#~ msgid "Error." +#~ msgstr "Eraro de Avahi" + +#~ msgid "Metacontacts storage not supported by your server" +#~ msgstr "Metakontakta tenejo ne estas subtenata de via servilo" + +#, fuzzy +#~ msgid "" +#~ "Your server does not support storing metacontacts information. So this " +#~ "information will not be saved on next reconnection." +#~ msgstr "" +#~ "Via servilo ne subtenas konservadon de metakontakta informo. Do tia " +#~ "informo ne estas konservota dum sekva rekonekto." + +#, fuzzy, python-brace-format +#~ msgid "You are invited to {room} by {user}" +#~ msgstr "Al vi oni malpermesis esti en la babilejo." + +#, fuzzy, python-format +#~ msgid "%s wants to start a voice chat." +#~ msgstr "%s volas sendi dosieron al vi." + +#~ msgid "Could not save your settings and preferences" +#~ msgstr "Ne povis konservi vian agordon" + +#, fuzzy +#~ msgid "Could not request upload slot for HTTP File Upload" +#~ msgstr "Ne povas lanĉi lokan servon" + +#, fuzzy +#~ msgid "Not Secure" +#~ msgstr "Ne lanĉitas" + +#, fuzzy +#~ msgid "Could not Upload File" +#~ msgstr "Ne povas alŝuti bildon" + +#, fuzzy +#~ msgid "Encryption Error" +#~ msgstr "Ĉifrado ebligata" + +#, python-format +#~ msgid "%s is a directory but should be a file" +#~ msgstr "%s estas dosierujo sed devas esti dosiero" + +#, fuzzy, python-format +#~ msgid "Creating %s" +#~ msgstr "Priskribo: %s" + +#, python-format +#~ msgid "%(nickname)s Signed In" +#~ msgstr "%(nickname)s ensalutis" + +#~ msgid "Contact Signed In" +#~ msgstr "Kontakto ensalutis" + +#, python-format +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "%(nickname)s elsalutis" + +#~ msgid "Contact Signed Out" +#~ msgstr "Kontakto elsalutis" + +#, fuzzy +#~ msgid "" +#~ "Show desktop notification even when a chat window is opened for this " +#~ "contact and does not have focus." +#~ msgstr "Ebligi avizadon dum stato fora/nedisponebla/okupata/nevidebla" + +#, fuzzy +#~ msgid "If enabled, Gajim displays the avatar in the chat window." +#~ msgstr "" +#~ "Se \"False\", vi ne plu vidos la kaŝbildetojn en la babileja fenestro." + +#, fuzzy +#~ msgid "Blocked Contacts" +#~ msgstr "Kontaktoj" + +#, fuzzy +#~ msgid "Group chat" +#~ msgstr "Babilejoj" + +#, fuzzy +#~ msgid "Bookmark group chat" +#~ msgstr "Starigi legosignon por tiu babilejo" + +#, fuzzy +#~ msgid "Bookmark" +#~ msgstr "Starigi legosignon por tiu babilejo" + +#, fuzzy +#~ msgid "Recently used group chats" +#~ msgstr "Eniri en babilejon" + +#, fuzzy +#~ msgid "Clear Avatar" +#~ msgstr "Kaŝbildeto:" + +#, fuzzy +#~ msgid "Set Avatar…" +#~ msgstr "Elektu bildon" + +#, fuzzy +#~ msgid "Contact" +#~ msgstr "Agordo" + +#, fuzzy +#~ msgid "_Leave Group Chat" +#~ msgstr "Nova babilejo" + +#, fuzzy +#~ msgid "Enter a new name for this group chat" +#~ msgstr "Enigu novan nomon por la grupo %s" + +#, fuzzy +#~ msgid "Custom" +#~ msgstr "Propraj" + +#, fuzzy +#~ msgid "Pop it up" +#~ msgstr "_Antaŭigi la fenestron" + +#, fuzzy +#~ msgid "Notify me about it" +#~ msgstr "_Avizi min pri tio" + +#, fuzzy +#~ msgid "Show only in contact list" +#~ msgstr "Montri _senkonektajn kontaktojn" + +#, fuzzy +#~ msgid "No status messages" +#~ msgstr "statmesaĝo" + +#, fuzzy +#~ msgid "All status messages" +#~ msgstr "statmesaĝo" + +#, fuzzy +#~ msgid "Only enter/leave messages" +#~ msgstr "Vi havas nelegitajn mesaĝojn" + +#, fuzzy +#~ msgid "Me_rge accounts" +#~ msgstr "_Unuigi kontojn" + +#, fuzzy +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "Montri kaŝ_bildetojn de kontaktojn en kontaktlisto" + +#, fuzzy +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "" +#~ "Se markitas, Gajim montros kaŝbildetojn de kontaktoj en kontaktlista " +#~ "fenestro kaj en babilejoj" + +#, fuzzy +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "Montri stat_mesaĝojn de kontaktoj en kontaktlisto" + +#, fuzzy +#~ msgid "" +#~ "If checked, status messages of contacts will be shown under the contact's " +#~ "name, in the contact list window, and in group chats" +#~ msgstr "" +#~ "Se markitas, Gajim montros statmesaĝojn de kontaktoj sub la kontaktnomo " +#~ "en la kontaktlisto kaj en babilejoj" + +#, fuzzy +#~ msgid "" +#~ "Show e_xtra information of contacts in contact list (mood, activity, ...)" +#~ msgstr "Montri kaŝ_bildetojn de kontaktojn en kontaktlisto" + +#, fuzzy +#~ msgid "in _contact list" +#~ msgstr "Kontaktoj" + +#, fuzzy +#~ msgid "in _group chats" +#~ msgstr "Eniri en babilejon" + +#, fuzzy +#~ msgid "Display status messages in _single chats" +#~ msgstr "Montri stat_mesaĝojn de kontaktoj en kontaktlisto" + +#, fuzzy +#~ msgid "" +#~ "If checked, status lines will be shown in 1 on 1 chats when a contact " +#~ "changes their status or status message" +#~ msgstr "" +#~ "Se \"False\", Gajim ne plu eligos statlineon en interparolaj fenestroj " +#~ "kiam kontakto ŝanĝas lian aŭ ŝian staton kaj/aŭ statmesaĝon." + +#, fuzzy +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "Neeblas aliĝi al babilejo" + +#, fuzzy +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "Neeblas aliĝi al babilejo" + +#, fuzzy +#~ msgid "Show status changes (Default)" +#~ msgstr "_Protokoli statŝanĝojn de kontaktoj" + +#, fuzzy +#~ msgid "" +#~ "If checked, the tab will be colored according to the current chatstate of " +#~ "the contact" +#~ msgstr "Se markitas, Gajim aliĝos al tiu ĉi babilejo dum lanĉo" + +#, fuzzy +#~ msgid "" +#~ "If checked, a description of the contacts current chatstate is shown in " +#~ "the banner" +#~ msgstr "Se markitas, Gajim aliĝos al tiu ĉi babilejo dum lanĉo" + +#, fuzzy +#~ msgid "Chatstate" +#~ msgstr "Lasta stato: %s" + +#, fuzzy +#~ msgid "_When new event is received" +#~ msgstr "Kiam ricevas novan eventon" + +#, fuzzy +#~ msgid "Show popups/notifications when a chat window is already _open" +#~ msgstr "Ebligi avizadon dum stato fora/nedisponebla/okupata/nevidebla" + +#, fuzzy +#~ msgid "Allow popups/notifications when I'm _away, not available or busy" +#~ msgstr "Ebligi avizadon dum stato fora/nedisponebla/okupata/nevidebla" + +#, fuzzy +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "Avizi min pri kontaktoj kiuj: " + +#, fuzzy +#~ msgid "" +#~ "A popup window about contacts that just signed in will be shown in the " +#~ "bottom right of the screen " +#~ msgstr "" +#~ "Gajim avizos vin pri novaj eventoj per ŝprucfenestro en la malsupra " +#~ "dekstra angulo de la ekrano" + +#, fuzzy +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "Avizi min pri kontaktoj kiuj: " + +#~ msgid "Play _sounds" +#~ msgstr "Ludi _sonojn" + +#~ msgid "Ma_nage..." +#~ msgstr "Admi_nistri..." + +#, fuzzy +#~ msgid "Show the status change dialog on Sign In" +#~ msgstr "_Protokoli statŝanĝojn de kontaktoj" + +#, fuzzy +#~ msgid "Show the status change dialog on Sign Out" +#~ msgstr "_Protokoli statŝanĝojn de kontaktoj" + +#, fuzzy +#~ msgid "Show the status change dialog on all status changes" +#~ msgstr "_Protokoli statŝanĝojn de kontaktoj" + +#, fuzzy +#~ msgid "No_t Available" +#~ msgstr "Nedisponebla" + +#, fuzzy +#~ msgid "Minutes" +#~ msgstr "minutoj" + +#, fuzzy +#~ msgid "_Theme" +#~ msgstr "Etoso" + +#~ msgid "Configure color and font of the interface" +#~ msgstr "Agordo de koloro kaj tiparo de la fasado" + +#, fuzzy +#~ msgid "" +#~ "If checked, protocol-specific status icons will be used (e.g. a contact " +#~ "from ICQ will have the equivalent ICQ icon for status online, away, busy, " +#~ "etc...)" +#~ msgstr "" +#~ "Se markitas, Gajim uzos protokolo-specifajn statpiktogramojn. (ekzemple " +#~ "kontakto el MSN havos ekvivalentajn piktogramojn de MSN por statoj " +#~ "konekta, fora, okupata ktp...)" + +#, fuzzy +#~ msgid "_Manage..." +#~ msgstr "Administri..." + +#, fuzzy +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "_Protokoli statŝanĝojn de kontaktoj" + +#, fuzzy +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "Se markitas, Gajim memoros la pasvorton por tiu ĉi konto" + +#~ msgid "_Open..." +#~ msgstr "_Malfermi..." + +#, fuzzy +#~ msgid "_Filter" +#~ msgstr "_Filtrilo:" + +#, fuzzy +#~ msgid "Message..." +#~ msgstr "Mesaĝo" + +#, fuzzy +#~ msgid "Contact List Shortcuts" +#~ msgstr "Kontakto malkonektita" + +#~ msgid "Fill in the form." +#~ msgstr "Plenigu la formon." + +#, fuzzy +#~ msgid "Group Chat Invitation " +#~ msgstr "Babileja invitilo" + +#, fuzzy, python-format +#~ msgid "" +#~ "%(contact)s has invited you to the group chat %(room_jid)s" +#~ msgstr "$Contact invitas vin al la babilejo %(room_jid)s" + +#, python-format +#~ msgid "Comment: %s" +#~ msgstr "Komento: %s" + +#, fuzzy +#~ msgid "Off" +#~ msgstr "Senkonekta" + +#, fuzzy +#~ msgid "Retrieving profile…" +#~ msgstr "Obtenas vizitkarton..." + +#, fuzzy +#~ msgid "Wrong date format" +#~ msgstr "Kontakta informo" + +#, fuzzy +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "Formato: JJJJ-MM-TT" + +#~ msgid "Information received" +#~ msgstr "Informo estas ricevita" + +#, fuzzy +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "Senkonekte vi ne povas publikigi vian kontaktan informon." + +#, fuzzy +#~ msgid "Sending profile…" +#~ msgstr "Publicas vizitkarton..." + +#~ msgid "Information NOT published" +#~ msgstr "Informo NE publicitis" + +#~ msgid "vCard publication failed" +#~ msgstr "Publicado de vizitkarto malsukcesis" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "" +#~ "Estis eraro dum publicado de persona informo, provu denove pli poste." + +#, fuzzy +#~ msgid "?password:Hidden" +#~ msgstr "Pasvorto:" + +#~ msgid "Privacy Lists" +#~ msgstr "Privataj listoj" + +#~ msgid "None" +#~ msgstr "Neniu" + +#~ msgid "%s Status Message" +#~ msgstr "Mesaĝo por la stato \"%s\"" + +#, fuzzy +#~ msgid "_Block Contact" +#~ msgstr "Kontaktoj" + +#, fuzzy +#~ msgid "Block Group" +#~ msgstr "Grupo" + +#, fuzzy +#~ msgid "Really block this group?" +#~ msgstr "Ĉu OpenPGP estas ŝaltita por tiu ĉi kontakto?" + +#~ msgid "No account available" +#~ msgstr "Neniu konto disponeblas" + +#~ msgid "You must create an account before you can chat with other contacts." +#~ msgstr "Vi devas krei konton antaŭ vi povos paroli kun aliaj kontaktoj." + +#, fuzzy +#~ msgid "Error While Removing Privacy List" +#~ msgstr "Eraro dum forigado de privata listo" + +#, fuzzy +#~ msgid "" +#~ "Privacy list %s has not been removed. It is probably active in one of " +#~ "your connected resources. Please deactivate it and try again." +#~ msgstr "" +#~ "Privata listo %s ne forigitis. Ĝi eble estas aktiva en unu el viaj " +#~ "konektitaj risurcoj. Malaktivigu ĝin kaj provu denove." + +#, fuzzy +#~ msgid "Invisibility Not Supported" +#~ msgstr "Kromaĵo ne subtenatas" + +#, fuzzy +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "Listo de aktivaj, plenumitaj kaj haltitaj dosiertransmetoj" + +#~ msgid "Lists all preferences and their values" +#~ msgstr "Listo de ĉiuj parametroj kaj ilia valoroj" + +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "Valorigi \"ŝlosilo\" per \"valoro\"." + +#~ msgid "key=value" +#~ msgstr "ŝlosilo=valoro" + +#, fuzzy +#~ msgid "'key' is the name of the preference, 'value' is what to set it to" +#~ msgstr "\"ŝlosilo\" estas nomo de parametro, \"valoro\" estas ĝia stato" + +#~ msgid "Deletes a preference item" +#~ msgstr "Forigas parametron" + +#~ msgid "key" +#~ msgstr "ŝlosilo" + +#~ msgid "name of the preference to be deleted" +#~ msgstr "nomo de forigota parametro" + +#~ msgid "Writes the current state of Gajim preferences to the .config file" +#~ msgstr "Skribas la aktualan agordon de Gajim en la dosieron \".config\"" + +#, fuzzy +#~ msgid "default" +#~ msgstr "Defaŭlte" + +#, fuzzy +#~ msgid "" +#~ "Character to propose to add after desired nickname when nickname is " +#~ "already used in group chat." +#~ msgstr "" +#~ "Signo por aligi post dezirata kaŝnomo kiam iu alia en babilejo jam okupis " +#~ "tiun kaŝnomon." + +#~ msgid "I'm available." +#~ msgstr "Mi disponeblas." + +#~ msgid "I'm free for chat." +#~ msgstr "Mi babilemas." + +#~ msgid "Be right back." +#~ msgstr "Revenos baldaŭ." + +#~ msgid "I'm not available." +#~ msgstr "Mi ne disponeblas." + +#~ msgid "Do not disturb." +#~ msgstr "Ne malhelpu." + +#~ msgid "Bye!" +#~ msgstr "Ĝis!" + +#, fuzzy +#~ msgid "Timeout loading image" +#~ msgstr "Ne povas alŝuti bildon" + +#, fuzzy +#~ msgid "PyCURL is not installed" +#~ msgstr "%s ne estas valida protokola detalnivelo" + +#, fuzzy +#~ msgid "Error loading image" +#~ msgstr "Ne povas alŝuti bildon" + +#, fuzzy +#~ msgid "Default Message" +#~ msgstr "Defaŭlta statmesaĝo" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "Statmesaĝo" + +#, fuzzy +#~ msgid "Preset Status Messages" +#~ msgstr "Antaŭpreparitaj statmesaĝoj" + +#, fuzzy +#~ msgid "Protocol" +#~ msgstr "_Protokolo:" + +#~ msgid "Privacy Lists:" +#~ msgstr "Privataj listoj:" + +#, fuzzy +#~ msgid "Preset _messages" +#~ msgstr "Antaŭpreparitaj mesaĝoj:" + +#, fuzzy +#~ msgid "_Type your new status message" +#~ msgstr "Tajpu vian novan statmesaĝon" + +#, fuzzy +#~ msgid "Change Status Message…" +#~ msgstr "Ŝanĝi stat_mesaĝon" + +#, fuzzy +#~ msgid "Mood:" +#~ msgstr "Sonoj" + +#, fuzzy +#~ msgid "Message:" +#~ msgstr "Antaŭpreparitaj statmesaĝoj" + +#, fuzzy +#~ msgid "none" +#~ msgstr "unu" + +#, fuzzy +#~ msgid "both" +#~ msgstr "Ambaŭ" + +#, fuzzy +#~ msgid "from" +#~ msgstr "De" + +#, fuzzy +#~ msgid "to" +#~ msgstr "du" + +#~ msgid "Privacy List" +#~ msgstr "Privata listo" + +#~ msgid "Privacy List" +#~ msgstr "Privataj listoj" + +#~ msgid "Active for this session" +#~ msgstr "Aktiva dum la kuranta seanco" + +#~ msgid "Active on each startup" +#~ msgstr "Aktiva dum ĉiu lanĉo" + +#~ msgid "List of rules" +#~ msgstr "Listo de reguloj" + +#~ msgid "Add / Edit a rule" +#~ msgstr "Aldoni / Redakti regulon" + +#~ msgid "Allow" +#~ msgstr "Permesi" + +#~ msgid "Deny" +#~ msgstr "Rifuzi" + +#~ msgid "all in the group" +#~ msgstr "ĉiuj en la grupo" + +#~ msgid "all by subscription" +#~ msgstr "ĉiuj laŭ abonado" + +#~ msgid "All" +#~ msgstr "Ĉiuj" + +#~ msgid "to send me messages" +#~ msgstr "sendi mesaĝojn al mi" + +#~ msgid "to send me queries" +#~ msgstr "sendi informmendojn al mi" + +#~ msgid "to view my status" +#~ msgstr "vidi mian staton" + +#~ msgid "to send me status" +#~ msgstr "sendi staton al mi" + +#, fuzzy +#~ msgid "All (including subscription)" +#~ msgstr "ĉiuj laŭ abonado" + +#~ msgid "Order:" +#~ msgstr "Ordnumero:" + +#, fuzzy +#~ msgid "" +#~ "Deny authorization from contact so the contact cannot know if you are " +#~ "connected" +#~ msgstr "" +#~ "Rifuzi abonon de kontakto, do li aŭ ŝi ne povos scii kiam vi estas " +#~ "konektita" + +#, fuzzy +#~ msgid "Authorize contact so the contact can know if you are connected" +#~ msgstr "Permesi al kontakto koni kiam vi konektas" + +#, fuzzy +#~ msgid "Message: " +#~ msgstr "Antaŭpreparitaj statmesaĝoj" + +#, fuzzy +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "%(contact_jid)s invititas al %(room_jid)s." + +#~ msgid "Privacy List %s" +#~ msgstr "Privata listo %s" + +#~ msgid "Privacy List for %s" +#~ msgstr "Privata listo por %s" + +#, fuzzy +#~ msgid "" +#~ "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" +#~ msgstr "Ordnumero: %s, ago: %s, tipo: %s, valoro: %s" + +#, fuzzy +#~ msgid "Order: %(order)s, action: %(action)s" +#~ msgstr "Ordnumero: %s, ago: %s" + +#~ msgid "Edit a rule" +#~ msgstr "Redakti regulon" + +#~ msgid "Add a rule" +#~ msgstr "Aldoni regulon" + +#~ msgid "Privacy Lists for %s" +#~ msgstr "Privataj listoj por %s" + +#~ msgid "Invalid List Name" +#~ msgstr "Malkorekta listnomo" + +#~ msgid "You must enter a name to create a privacy list." +#~ msgstr "Vi devas enigi nomon por krei privatan liston." + +#, fuzzy +#~ msgid "Loading" +#~ msgstr "Tajpas mesaĝon" + +#~ msgid "status message title" +#~ msgstr "statmesaĝa titolo" + +#~ msgid "status message text" +#~ msgstr "statmesaĝa teksto" + +#, fuzzy +#~ msgid "Start New Conversation" +#~ msgstr "Konekto" + +#, fuzzy +#~ msgid "Unknown SSL error: %d" +#~ msgstr "Nekonata versio de D-BUS: %s" + +#~ msgid "Gajim - %s" +#~ msgstr "Gajim - %s" + +#, fuzzy +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "Vortaro mankas por %s lingvo" + +#, fuzzy +#~ msgid "" +#~ "You have to install the dictionary \"%s\" to use spellchecking, or choose " +#~ "another language by setting the speller_language option.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "Vi bezonas Instali la vortaron %s por uzi literumadon, aŭ elekti alian " +#~ "lingvon ĉe la agordero \"speller_language\"." + +#, fuzzy +#~ msgid "_Reconnect" +#~ msgstr "Kontakto malkonektita" + +#, fuzzy +#~ msgid "Quit" +#~ msgstr "_Eliri" + +#, fuzzy +#~ msgid "Show Contact List" +#~ msgstr "Montri _senkonektajn kontaktojn" + +#, fuzzy +#~ msgid "Add to Contact List" +#~ msgstr "_Aldoni kontakton..." + +#, fuzzy +#~ msgid "Invite Contact" +#~ msgstr "Kontaktoj" + +#, fuzzy +#~ msgid "Configure Group Chat" +#~ msgstr "Nova babilejo" + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." +#~ msgstr "" +#~ "Se \"True\", Gajim montros piktogramon sur ĉiuj langeton, kies slipo " +#~ "enhavas nelegitajn mesaĝojn. Depende de etoso tiu piktogramo povas esti " +#~ "animaciata." + +#~ msgid "Invalid character in hostname." +#~ msgstr "Malkorekta signo en servilnomo." + +#~ msgid "Server address required." +#~ msgstr "Necesas adreso de servilo." + +#~ msgid "Invalid character in username." +#~ msgstr "Malkorekta signo en salutnomo." + +#~ msgid "Invalid character in resource." +#~ msgstr "Malkorekta signo en risurcnomo." + +#, fuzzy +#~ msgid "Notification color for contacts signing in." +#~ msgstr "Avizi min pri kontaktoj kiuj: " + +#, fuzzy +#~ msgid "Notification color for contacts signing out." +#~ msgstr "Avizi min pri kontaktoj kiuj: " + +#, fuzzy +#~ msgid "Notification color for new message notification." +#~ msgstr "Montri eventon en _kontaktlisto" + +#, fuzzy +#~ msgid "Notification color for file transfer request." +#~ msgstr "_Avizi min kiam dosiero estas transdonita" + +#, fuzzy +#~ msgid "Notification color for file transfer errors." +#~ msgstr "_Avizi min kiam dosiero estas transdonita" + +#, fuzzy +#~ msgid "Notification background color for changed status." +#~ msgstr "Fona koloro de kontaktoj kiam ili jus ensalutis." + +#, fuzzy +#~ msgid "Event Type" +#~ msgstr "Evento" + +#, fuzzy +#~ msgid "Event desc" +#~ msgstr "Eventoj" + +#, fuzzy +#~ msgid "No response from the Server" +#~ msgstr "Vi nekonektitas al la servilo" + +#, fuzzy +#~ msgid "Resource Conflict" +#~ msgstr "Konflikto de salutnomoj" + +#, fuzzy +#~ msgid "Unable to load image" +#~ msgstr "Neeblas ŝargi senfaran modulon" + +#, fuzzy +#~ msgid "Media type not supported: %s" +#~ msgstr "Kromaĵo ne subtenatas" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Gajim: Kontkreilo" + +#, fuzzy +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "Vi bezonas havi konton por ke konekti\n" +#~ "al la jaber-reto." + +#, fuzzy +#~ msgid "I already have an account I want to _use" +#~ msgstr "Mi jam havas konton, mi volas uzi ĝin" + +#~ msgid "I want to _register for a new account" +#~ msgstr "Mi volas registri novan konton" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "Bonvolu elekti unu el sekvaj opcioj:" + +#, fuzzy +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "Bonvolu plenigi datumon por via nova konto" + +#, fuzzy +#~ msgid "_XMPP Address:" +#~ msgstr "AIM-adreso:" + +#, fuzzy +#~ msgid "Anon_ymous authentication" +#~ msgstr "Uzi aŭtentokontrolon" + +#~ msgid "_Password:" +#~ msgstr "_Pasvorto:" + +#~ msgid "Save pass_word" +#~ msgstr "Konservi pasvorton" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "Se markitas, Gajim memoros la pasvorton por tiu ĉi konto" + +#~ msgid "_Server:" +#~ msgstr "_Servilo:" + +#~ msgid "Manage..." +#~ msgstr "Administri..." + +#~ msgid "_Port:" +#~ msgstr "_Pordo:" + +#~ msgid "_Advanced" +#~ msgstr "_Krome" + +#, fuzzy +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "Konto estas kreata\n" +#~ "\n" +#~ "Bonvolu atendi..." + +#~ msgid "Connect when I press Finish" +#~ msgstr "Konekti kiam vi premos Finigi" + +#~ msgid "Set my profile when I connect" +#~ msgstr "Korekti vian personan informon kiam vi konektitos" + +#~ msgid "_Finish" +#~ msgstr "_Finigi" + +#, fuzzy +#~ msgid "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." +#~ msgstr "" +#~ "Vi povas agordi kromajn kontajn parametrojn alklakinte la butonon \"Krome" +#~ "\" aŭ pli poste menueron Kontoj en menuo Administri de la ĉefa fenestro." + +#~ msgid "Your new account has been created successfully" +#~ msgstr "Via nova konto estas sukcese kreita" + +#~ msgid "Invalid username" +#~ msgstr "Malkorekta salutnomo" + +#~ msgid "You must provide a username to configure this account." +#~ msgstr "Vi devas enigi salutnomon por administri tiun ĉi konton." + +#, fuzzy +#~ msgid "Invalid server" +#~ msgstr "Malkorekta salutnomo" + +#, fuzzy +#~ msgid "Please provide a server on which you want to register." +#~ msgstr "Bonvolu enigi la novan kaŝnomon, kiun vi volas uzi:" + +#~ msgid "Invalid entry" +#~ msgstr "Malkorekta rikordo" + +#, fuzzy +#~ msgid "Certificate Already in File" +#~ msgstr "Kontakto jam estas en kontaktlisto" + +#~ msgid "Account name is in use" +#~ msgstr "Kontnomo estas uzata" + +#~ msgid "You already have an account using this name." +#~ msgstr "Vi jam havas konto kun tiu nomo." + +#~ msgid "Connection with account \"%s\" has been lost" +#~ msgstr "Konekto kun konto \"%s\" rompiĝis" + +#~ msgid "Reconnect manually." +#~ msgstr "Rekonektu mane." + +#, fuzzy +#~ msgid "Server %(name)s answered wrongly to register request: %(error)s" +#~ msgstr "Transportilo %s respondis malprave al registra peto: %s" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "Ne povas konekti al \"%s\"" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "Ne povas konekti al \"%s\"" + +#~ msgid "Check your connection or try again later." +#~ msgstr "Kontrolu vian konekton aŭ provu denove poste." + +#, fuzzy +#~ msgid "Server replied: %s" +#~ msgstr "Konservita kiel: %s" + +#, fuzzy +#~ msgid "Connection to proxy failed" +#~ msgstr "Konektado malsukcesis" + +#, fuzzy +#~ msgid "Could not connect to account %s" +#~ msgstr "Ne povas konekti al \"%s\"" + +#, fuzzy +#~ msgid "Connection with account %s has been lost. Retry connecting." +#~ msgstr "Konekto kun konto \"%s\" rompiĝis" + +#~ msgid "Please check your login and password for correctness." +#~ msgstr "Bonvolu kontroli korektecon de viaj salutnomo kaj pasvorto." + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "" +#~ "HTTP Connect\n" +#~ "SOCKS5" + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "BOSH" +#~ msgstr "_URL:" + +#, fuzzy +#~ msgid "Use HTTP prox_y" +#~ msgstr "_Uzi prokuran servilon" + +#, fuzzy +#~ msgid "_BOSH URL" +#~ msgstr "_URL:" + +#, fuzzy +#~ msgid "BOSH" +#~ msgstr "_URL:" + +#, fuzzy +#~ msgid "Warn on insecure connection" +#~ msgstr "Konekto" + +#, fuzzy +#~ msgid "Contact list, list of contacts" +#~ msgstr "_Protokoli statŝanĝojn de kontaktoj" + +#~ msgid "You are participating in one or more group chats" +#~ msgstr "Vi partoprenas en unu aŭ kelkaj babilejoj" + +#, fuzzy +#~ msgid "" +#~ "Changing your status to invisible will result in you leaving those group " +#~ "chats.\n" +#~ "Are you sure you want to go invisible?" +#~ msgstr "" +#~ "Ŝanĝo de via stato per nevidebla okazigos diskonektadon de tiuj " +#~ "babilejoj. Ĉu vi certas ke vi volas iĝi nevidebla?" + +#, fuzzy +#~ msgid "_Disconnect" +#~ msgstr "Kontakto malkonektita" + +#~ msgid "You cannot join a group chat while you are invisible" +#~ msgstr "Vi ne povas aliĝi al babilejo dum vi estas nevidebla" + +#~ msgid "Invisible" +#~ msgstr "Nevidebla" + +#, fuzzy +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "Vi ne povas aliĝi al babilejo dum vi estas nevidebla" + +#~ msgid "_Invisible" +#~ msgstr "Ne_videbla" + +#, fuzzy +#~ msgid "Yesterday" +#~ msgid_plural "%(nb_days)i days ago" +#~ msgstr[0] "Hieraŭ" +#~ msgstr[1] "Hieraŭ" + +#, fuzzy +#~ msgid "_Cancel Upload" +#~ msgstr "_Nuligi" + +#, fuzzy +#~ msgid "" +#~ "If you close this tab while having chat history disabled, this message " +#~ "will be lost." +#~ msgstr "" +#~ "Se vi fermos tiun ĉi slipon kaj la historio estas malŝalta, tiu ĉi mesaĝo " +#~ "perdiĝos." + +#, fuzzy +#~ msgid "Unregister Failed" +#~ msgstr "Konektado malsukcesis" + +#, fuzzy +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "Konektado malsukcesis" + +#, fuzzy +#~ msgid "New Password" +#~ msgstr "Konservi pasvorton" + +#~ msgid "What do you want to do?" +#~ msgstr "Kion vi volas fari?" + +#~ msgid "Remove account from Gajim and from _server" +#~ msgstr "Forigi konton el Gajim kaj el _servilo" + +#, fuzzy +#~ msgid "You must enter a password" +#~ msgstr "Vi devas enigi pasvorton." + +#, fuzzy +#~ msgid "You still have open chats in your account %s" +#~ msgstr "Vi havas aktivan konversacion ĉe konto %s" + +#, fuzzy +#~ msgid "To unregister from a server, the account must be enabled." +#~ msgstr "Por ke ŝanĝi kontnomon, vi devas esti senkonekta." + +#, fuzzy +#~ msgid "Password required" +#~ msgstr "Pasvorto necesas" + +#, fuzzy +#~ msgid "Still connected to the server" +#~ msgstr "Vi nekonektitas al la servilo" + +#, fuzzy +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "Se vi forigos ĝin, la konekto disiĝos." + +#, fuzzy +#~ msgid "Connection to server %s failed" +#~ msgstr "Konektado malsukcesis" + +#, fuzzy +#~ msgid "What would you like to do?" +#~ msgstr "Kion vi volas fari?" + +#, fuzzy +#~ msgid "Remove only from Gajim" +#~ msgstr "Forigi konton _nur el Gajim" + +#, fuzzy +#~ msgid "Contents" +#~ msgstr "_Enhavo" + +#, fuzzy +#~ msgid "FAQ" +#~ msgstr "_Respondaro" + +#~ msgid "Save as Preset Status Message" +#~ msgstr "Konservi kiel antaŭpreparita statmesaĝo" + +#~ msgid "Enter a new nickname for contact %s" +#~ msgstr "Enigu novan kaŝnomon por kontakto %s" + +#, fuzzy +#~ msgid "Join a group chat" +#~ msgstr "Eniri en babilejon" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "Akcepti" + +#, fuzzy +#~ msgid "New entry received" +#~ msgstr "Kiam ricevas novan eventon" + +#, fuzzy +#~ msgid "Feed name:" +#~ msgstr "Etosa nomo" + +#, fuzzy +#~ msgid "Last modified:" +#~ msgstr "Familia nomo:" + +#, fuzzy +#~ msgid "Send file?" +#~ msgstr "Sendi _dosieron" + +#, fuzzy +#~ msgid "Mail _client" +#~ msgstr "Ret_poŝtkliento:" + +#, fuzzy +#~ msgid "_Browser" +#~ msgstr "_Rigardilo:" + +#, fuzzy +#~ msgid "_File manager" +#~ msgstr "_Dosieradministrilo:" + +#, fuzzy +#~ msgid "Applications" +#~ msgstr "Programoj" + +#, fuzzy +#~ msgid "" +#~ "Uses ReStructured text markup to send HTML, plus ASCII formatting if " +#~ "selected. Needs docutils installed (for syntax, see http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Uzas restrukturitan tekstan markadon por HTML, kaj ASCII-formatadon, se " +#~ "elektitas. Pri sintakso vidu http://docutils.sourceforge.net/docs/ref/rst/" +#~ "restructuredtext.html (Se vi volas uzi tion, instalu docutils)" + +#, fuzzy +#~ msgid "_Ignore formatting of incoming messages" +#~ msgstr "Ignori formatadon en venantaj mesaĝoj" + +#, fuzzy +#~ msgid "" +#~ "Some messages may include rich content (xhtml formatting, colors etc). If " +#~ "checked, Gajim will just display the plain message text." +#~ msgstr "" +#~ "Iuj mesaĝoj povas enteni tekstatributojn (aranĝo, koloro k.t.p.). Se " +#~ "markitas, Gajim simple montros krudan mesaĝan tekston." + +#, fuzzy +#~ msgid "RST XHTML Generator" +#~ msgstr "Ĝenerala" + +#~ msgid "New Single Message" +#~ msgstr "Nova unuobla mesaĝo" + +#, fuzzy +#~ msgid "" +#~ "Can be empty, 'chat' or 'normal'. If not empty, all incoming messages are " +#~ "treated as if they were of this type." +#~ msgstr "" +#~ "Povas esti malplena, 'chat' aŭ 'normal'. Se ne malplena, rigardi ĉiujn " +#~ "venantajn mesaĝojn kiel ili estas de ĉi tiu tipo" + +#, fuzzy +#~ msgid "Error %(code)s: %(msg)s" +#~ msgstr "%(nickname)s: %(message)s" + +#~ msgid "twelve" +#~ msgstr "dekdu" + +#~ msgid "one" +#~ msgstr "unu" + +#~ msgid "two" +#~ msgstr "du" + +#~ msgid "three" +#~ msgstr "tri" + +#~ msgid "four" +#~ msgstr "kvar" + +#~ msgid "five" +#~ msgstr "kvin" + +#~ msgid "six" +#~ msgstr "ses" + +#~ msgid "seven" +#~ msgstr "sep" + +#~ msgid "eight" +#~ msgstr "ok" + +#~ msgid "nine" +#~ msgstr "naŭ" + +#~ msgid "ten" +#~ msgstr "dek" + +#~ msgid "eleven" +#~ msgstr "dekunu" + +#~ msgid "%(0)s o'clock" +#~ msgstr "la %(0)sa horo" + +#~ msgid "five past %(0)s" +#~ msgstr "kvin minutoj post la %(0)sa" + +#~ msgid "ten past %(0)s" +#~ msgstr "dek minutoj post la %(0)sa" + +#~ msgid "quarter past %(0)s" +#~ msgstr "kvarono post la %(0)sa" + +#~ msgid "twenty past %(0)s" +#~ msgstr "dudek minutoj post la %(0)sa" + +#~ msgid "twenty five past %(0)s" +#~ msgstr "dudek kvin minutoj post la %(0)sa" + +#~ msgid "half past %(0)s" +#~ msgstr "la %(0)sa kaj duono" + +#~ msgid "twenty five to %(1)s" +#~ msgstr "dudek kvin minutoj antaŭ la %(1)sa" + +#~ msgid "twenty to %(1)s" +#~ msgstr "dudek minutoj antaŭ la %(1)sa" + +#~ msgid "quarter to %(1)s" +#~ msgstr "kvarono antaŭ la %(1)sa" + +#~ msgid "ten to %(1)s" +#~ msgstr "dek minutoj antaŭ la %(1)sa" + +#~ msgid "five to %(1)s" +#~ msgstr "kvin minutoj antaŭ la %(1)sa" + +#~ msgid "%(1)s o'clock" +#~ msgstr "la %(1)sa horo" + +#~ msgid "Night" +#~ msgstr "Nokto" + +#~ msgid "Early morning" +#~ msgstr "Frua mateno" + +#~ msgid "Morning" +#~ msgstr "Mateno" + +#~ msgid "Almost noon" +#~ msgstr "Preskaŭ tagmezo" + +#~ msgid "Noon" +#~ msgstr "Tagmezo" + +#~ msgid "Afternoon" +#~ msgstr "Posttagmezo" + +#~ msgid "Evening" +#~ msgstr "Vespero" + +#~ msgid "Late evening" +#~ msgstr "Malfrua vespero" + +#~ msgid "Start of week" +#~ msgstr "Komenco de semajno" + +#~ msgid "Middle of week" +#~ msgstr "Mezo de semajno" + +#~ msgid "End of week" +#~ msgstr "Fino de semajno" + +#~ msgid "Weekend!" +#~ msgstr "Semajnofino!" + +#, fuzzy +#~ msgid "" +#~ "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or " +#~ "0 to disable Fuzzy Clock. 1 is the most precise clock, 4 the least " +#~ "precise one. This is used only if 'print_time' is 'sometimes'." +#~ msgstr "" +#~ "Eligi tempon en konversacioj per malpreciza horloĝo. Nivelo de " +#~ "malprecizeco de 1 ĝis 4 aŭ 0 por malŝalti malprecizan horloĝon. 1 estas " +#~ "por la plej preciza, 4 por la malplej preciza. Ĉi tio uzatas nur kiam " +#~ "print_time estas 'sometimes'." + +#~ msgid "message" +#~ msgstr "mesaĝo" + +#, fuzzy +#~ msgid "error: %s" +#~ msgstr "Erara mesaĝo: %s" + +#, fuzzy +#~ msgid "Form: %s" +#~ msgstr "Mi estas %s" + +#, fuzzy +#~ msgid "XML Input" +#~ msgstr "XML enigo" + +#, fuzzy +#~ msgid "Ttitle" +#~ msgstr "Titolo:" + +#, fuzzy +#~ msgid "Screen" +#~ msgstr "verda" + +#, fuzzy +#~ msgid "Conversation with " +#~ msgstr "Historio de interparoloj" + +#, fuzzy +#~ msgid "Continued conversation" +#~ msgstr "Konekto" + +#, fuzzy +#~ msgid "%s has invited you to join a discussion" +#~ msgstr "$Contact invitas vin al la babilejo %(room_jid)s" + +#~ msgid "_Send Private Message" +#~ msgstr "_Sendi privatan mesaĝon" + +#, fuzzy +#~ msgid "Participant Actions" +#~ msgstr "Partoprenantoj" + +#~ msgid "_Voice" +#~ msgstr "_Voĉo" + +#~ msgid "Mo_derator" +#~ msgstr "Mo_derigisto" + +#~ msgid "_Member" +#~ msgstr "_Membro" + +#~ msgid "_Admin" +#~ msgstr "_Estro" + +#~ msgid "_Owner" +#~ msgstr "_Mastro" + +#, fuzzy +#~ msgid "_Add to Contact List" +#~ msgstr "_Aldoni kontakton..." + +#, fuzzy +#~ msgid "_Execute command" +#~ msgstr "_Plenumi komandon..." + +#, fuzzy +#~ msgid "Change _Nickname..." +#~ msgstr "Ŝanĝi kaŝ_nomon" + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "Nova babilejo" + +#, fuzzy +#~ msgid "Change _Subject..." +#~ msgstr "Ŝanĝi _temon" + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "Eniri en babilejon" + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "Nova babilejo" + +#, fuzzy +#~ msgid "_Request Voice" +#~ msgstr "_Voĉo" + +#, fuzzy +#~ msgid "_Bookmark" +#~ msgstr "Starigi legosignon por tiu babilejo" + +#, fuzzy +#~ msgid "" +#~ "\n" +#~ "Unknown SSL error: %d" +#~ msgstr "Nekonata versio de D-BUS: %s" + +#, fuzzy +#~ msgid "View certificate…" +#~ msgstr "Malkorekta salutnomo" + +#, fuzzy +#~ msgid "Continue" +#~ msgstr "_Daŭrigi" + +#~ msgid "" +#~ "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM " +#~ "IS RUNNING)" +#~ msgstr "" +#~ "Ĉu vi volas malplenigi la datumbazon? (EGE MALREKOMENDITA SE GAJIM " +#~ "AKTIVAS)" + +#, fuzzy +#~ msgid "Authorization" +#~ msgstr "Permeso estas sendita" + +#, fuzzy +#~ msgid "" +#~ "All chat and group chat windows will be closed. Do you want to continue?" +#~ msgstr "Ĉiuj konversaciajn fenestrojn fermitos. Ĉu daŭrigu?" + +#, fuzzy +#~ msgid "Account '%s' is still connected to the server" +#~ msgstr "Konto \"%s\" estas konektita al la servilo" + +#, fuzzy +#~ msgid "Error While Saving" +#~ msgstr "eraro dum aldonado de servo %s" + +#, fuzzy +#~ msgid "" +#~ "Image cannot be saved in %(type)s format.\n" +#~ "Save as %(new_filename)s?" +#~ msgstr "" +#~ "Bildo nekonserveblas en %(type)s formato. Ĉu konservu kiel " +#~ "%(new_filename)s?" + +#, fuzzy +#~ msgid "Save _As" +#~ msgstr "Havas " + +#, fuzzy +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "Malkorekta babileja jabber-ID" + +#, fuzzy +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "La babileja jabber-ID enhavas nepermesajn signojn." + +#~ msgid "You may specify a reason below:" +#~ msgstr "Vi povas specifi kialon sube:" + +#~ msgid "Banning %s" +#~ msgstr "Malpermesas %s" + +#, fuzzy +#~ msgid "" +#~ "Always ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Ĉiam demandi antaŭ fermi slipon/fenestron de babilejo el tiu " +#~ "cpacetdisigita listo de babilejaj JID." + +#, fuzzy +#~ msgid "" +#~ "Never ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Neniam demandi antaŭ fermi babilejan slipon/fenestron el tiu ĉi listo de " +#~ "babilejaj JID separataj per spacetoj." + +#, fuzzy +#~ msgid "Leave Group Chats" +#~ msgstr "Nova babilejo" + +#, fuzzy +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "%(nickname)s de babilejo %(room_name)s" + +#, fuzzy +#~ msgid "You have not joined a group chat." +#~ msgstr "%s aliĝis al la babilejo" + +#, fuzzy +#~ msgid "You left the following group chats:" +#~ msgstr "Vi jam estas en babilejo %s" + +#~ msgid "Don't show avatar for the transport itself." +#~ msgstr "Ne montri kaŝbildeton por transportilo mem." + +#, fuzzy +#~ msgid "" +#~ "Show a confirmation dialog for a custom status? Empty string means never " +#~ "show the dialog." +#~ msgstr "" +#~ "Ĉu ni montru la certigan dialogujon pri kreado de metakontaktoj aŭ ne? " +#~ "Malplena linio signifas ke ni neniam monru la dialogujon." + +#, fuzzy +#~ msgid "Jabberd2 workaround." +#~ msgstr "Jabberd2 ĉirkaŭiro" + +#, fuzzy +#~ msgid "Configure Services…" +#~ msgstr "_Serĉi servojn..." + +#, fuzzy +#~ msgid "Group Chat Bookmarks" +#~ msgstr "Babilejo" + +#, fuzzy +#~ msgid "Add Bookmark" +#~ msgstr "Starigi legosignon por tiu babilejo" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "Starigi legosignon por tiu babilejo" + +#, fuzzy +#~ msgid "_Server" +#~ msgstr "_Servilo:" + +#, fuzzy +#~ msgid "_Password" +#~ msgstr "_Pasvorto:" + +#, fuzzy +#~ msgid "Join chat when connected" +#~ msgstr "Kontakto malkonektita" + +#~ msgid "New Group Chat" +#~ msgstr "Nova babilejo" + +#~ msgid "This bookmark has invalid data" +#~ msgstr "Tiu ĉi legosigno havas malkorektan datumon" + +#, fuzzy +#~ msgid "" +#~ "Please be sure to fill out server and group chat fields or remove this " +#~ "bookmark." +#~ msgstr "" +#~ "Bonvolu konvinkiĝi, ke kampoj Servilo kaj Babilejo estas plenitaj aŭ " +#~ "forigi tiun ĉi legosignon." + +#, fuzzy +#~ msgid "Character not allowed" +#~ msgstr "Kaŝnomo malpermesita: %s" + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "Malkorekta babileja jabber-ID" + +#~ msgid "Unable to join group chat" +#~ msgstr "Neeblas aliĝi al babilejo" + +#, fuzzy +#~ msgid "You are banned from group chat %s." +#~ msgstr "Al vi oni malpermesis esti en la babilejo." + +#, fuzzy +#~ msgid "Remote server %s does not exist." +#~ msgstr "Tiu babilejo ne ekzistas." + +#, fuzzy +#~ msgid "Group chat %s does not exist." +#~ msgstr "Tiu babilejo ne ekzistas." + +#, fuzzy +#~ msgid "Group chat creation is not permitted." +#~ msgstr "Babileja kreado limigitas." + +#, fuzzy +#~ msgid "You must use your registered nickname in %s." +#~ msgstr "Vi devas uzi vian registritan kaŝnomon." + +#, fuzzy +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "Vi ne ĉeestas en membrolisto." + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "Tio ne estas babilejo" + +#~ msgid "This is not a group chat" +#~ msgstr "Tio ne estas babilejo" + +#, fuzzy +#~ msgid "Please choose a group chat" +#~ msgstr "Nova mesaĝo" + +#, fuzzy +#~ msgid "Invalid Nickname" +#~ msgstr "Malkorekta salutnomo" + +#, fuzzy +#~ msgid "Wrong server" +#~ msgstr "Malprava uri" + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "Tio ne estas babilejo" + +#, fuzzy +#~ msgid "A Password is required to join the group chat %s. Please type it." +#~ msgstr "Necesas pasvorto por aliĝi al la babilejo." + +#~ msgid "Not in Roster" +#~ msgstr "Mankas en kontaktlisto" + +#~ msgid "I would like to add you to my roster" +#~ msgstr "Mi volus aldoni vin en mian kontaktliston" + +#, fuzzy +#~ msgid "Add to Roster" +#~ msgstr "_Aldoni al kontaktlisto" + +#, fuzzy +#~ msgid "Manage Room" +#~ msgstr "Aranĝi legosignojn" + +#, fuzzy +#~ msgid "Configure Room" +#~ msgstr "Administri _babilejon" + +#, fuzzy +#~ msgid "Destroy Room" +#~ msgstr "Priskribo: %s" + +#, fuzzy +#~ msgid "Change Nick" +#~ msgstr "Ŝanĝi kaŝ_nomon" + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "Kontakto malkonektita" + +#, fuzzy +#~ msgid "Copy JID" +#~ msgstr "Babilejo:" + +#, fuzzy +#~ msgid "Add to Roster…" +#~ msgstr "_Aldoni al kontaktlisto" + +#, fuzzy +#~ msgid "Copy JID/Email" +#~ msgstr "_Kopii JID/retpoŝtan adreson" + +#, fuzzy +#~ msgid "JID: %s" +#~ msgstr "Jabber-ID: %s" + +#~ msgid "Changing Subject" +#~ msgstr "Korektas temon" + +#~ msgid "Please specify the new subject:" +#~ msgstr "Bonvolu enigi novan temon:" + +#, fuzzy +#~ msgid "You (%s) joined the room" +#~ msgstr "%s aliĝis al la babilejo" + +#, fuzzy +#~ msgid "Unable to join groupchat" +#~ msgstr "Neeblas aliĝi al babilejo" + +#~ msgid "Groupchat Invitation" +#~ msgstr "Babileja invitilo" + +#, fuzzy +#~ msgid "%(jid)s has been invited in this room" +#~ msgstr "%(nick)s estas elpelita de %(who)s: %(reason)s" + +#, fuzzy +#~ msgid "JID is not a Groupchat" +#~ msgstr "Tio ne estas babilejo" + +#~ msgid "Invalid JID" +#~ msgstr "Malkorekta jabber-ID" + +#~ msgid "A connection is not available" +#~ msgstr "Konekto mankas" + +#, fuzzy +#~ msgid "JID already in list" +#~ msgstr "Jabber-tujmesaĝilo" + +#, fuzzy +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "Konekto mankas" + +#~ msgid "Removes contact from roster" +#~ msgstr "Forigas kontakton el kontaktlisto" + +#~ msgid "Not in roster" +#~ msgstr "Mankas en kontaktlisto" + +#, fuzzy +#~ msgid "Contact signed in notification color." +#~ msgstr "Montri eventon en _kontaktlisto" + +#, fuzzy +#~ msgid "Contact signout notification color" +#~ msgstr "Montri eventon en _kontaktlisto" + +#, fuzzy +#~ msgid "File transfer request notification color." +#~ msgstr "Mendo de dosiera transmeto" + +#, fuzzy +#~ msgid "File transfer error notification color." +#~ msgstr "Dosiera transmeto nuligitas" + +#, fuzzy +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "" +#~ "Kiam dosiertransmeto estos plenumita, montri ŝprucfenestron kun avizo" + +#, fuzzy +#~ msgid "Groupchat invitation notification color" +#~ msgstr "Babileja invitilo" + +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "Ĉu aligi * kaj [n] al kontaktlisto titolo?" + +#~ msgid "Hides the banner in two persons chat window" +#~ msgstr "Kaŝas rubandon en dupersona interparola fenestro" + +#, fuzzy +#~ msgid "" +#~ "Show the confirm metacontacts creation dialog or not? Empty string means " +#~ "never show the dialog." +#~ msgstr "" +#~ "Ĉu ni montru la certigan dialogujon pri kreado de metakontaktoj aŭ ne? " +#~ "Malplena linio signifas ke ni neniam monru la dialogujon." + +#, fuzzy +#~ msgid "Language for which misspelled words will be checked" +#~ msgstr "Lingvo por kiu ni volas kontroli mistajpajn vortojn" + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "Mi manĝas, do restigu mesaĝon por mi." + +#, fuzzy +#~ msgid "from room %s" +#~ msgstr "Mi estas %s" + +#, fuzzy +#~ msgid "Leave Groupchats" +#~ msgstr "Nova babilejo" + +#, fuzzy +#~ msgid "Auto Join" +#~ msgstr "Aŭtomate aliĝi" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "Babilejo:" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber-ID:" + +#, fuzzy +#~ msgid "Occupant Actions" +#~ msgstr "_Agoj por babilanto" + +#~ msgid "_Add to Roster" +#~ msgstr "_Aldoni al kontaktlisto" + +#, fuzzy +#~ msgid "_Manage Room" +#~ msgstr "Aranĝi legosignojn" + +#, fuzzy +#~ msgid "Configure _Room..." +#~ msgstr "Administri _babilejon" + +#, fuzzy +#~ msgid "_Destroy Room" +#~ msgstr "Priskribo: %s" + +#, fuzzy +#~ msgid "Jabber ID" +#~ msgstr "Jabber-ID:" + +#, fuzzy +#~ msgid "account" +#~ msgstr "Konto" + +#, fuzzy +#~ msgid "Roster" +#~ msgstr "Montri _kontaktliston" + +#, fuzzy +#~ msgid "Show only in roster" +#~ msgstr "Montri nur en _kontaktlisto" + +#, fuzzy +#~ msgid "in _roster" +#~ msgstr "Mankas en kontaktlisto" + +#, fuzzy +#~ msgid "Roster Appearance" +#~ msgstr "Redakti regulon" + +#, fuzzy +#~ msgid "_Add to Roster..." +#~ msgstr "_Aldoni al kontaktlisto" + +#~ msgid "_Jabber ID:" +#~ msgstr "_Jabber-ID:" + +#, fuzzy +#~ msgid "_Jabber ID" +#~ msgstr "_Jabber-ID:" + +#~ msgid "JabberID" +#~ msgstr "Jabber-ID" + +#, fuzzy +#~ msgid "Show Roster" +#~ msgstr "Montri _kontaktliston" + +#, fuzzy +#~ msgid "MUC server" +#~ msgstr "Rigardiloj" + +#~ msgid "Room Configuration" +#~ msgstr "Agordo de babilejo" + +#~ msgid "Join _Group Chat" +#~ msgstr "Eniri en babilejon" + +#, fuzzy +#~ msgid "Audio sessions are not available" +#~ msgstr "Konekto mankas" + +#~ msgid "Conference" +#~ msgstr "Babilejoj" + +#, fuzzy +#~ msgid "_Manage Bookmarks…" +#~ msgstr "Aranĝi legosignojn" + +#, fuzzy +#~ msgid "Hide _Roster" +#~ msgstr "Mankas en kontaktlisto" + +#~ msgid "Show _Roster" +#~ msgstr "Montri _kontaktliston" + +#, fuzzy +#~ msgid "Invalid Room" +#~ msgstr "Malkorekta rikordo" + +#, fuzzy +#~ msgid "Invalid room" +#~ msgstr "Malkorekta rikordo" + +#~ msgid "A GTK+ Jabber client" +#~ msgstr "GTK+bazita jabber-kliento" + +#~ msgid "Changing Nickname" +#~ msgstr "Ŝanĝas kaŝnomon" + +#~ msgid "Please specify the new nickname you want to use:" +#~ msgstr "Bonvolu enigi la novan kaŝnomon, kiun vi volas uzi:" + +#~ msgid "Bookmark already set" +#~ msgstr "Legosigno jam estas metita" + +#, fuzzy +#~ msgid "Group Chat '%s' is already in your bookmarks." +#~ msgstr "Babilejo \"%s\" jam estas en viajn legosignojn." + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "Legosigno sukcese aldonitas" + +#, fuzzy +#~ msgid "" +#~ "You can manage your bookmarks by clicking the Bookmarks menu item in your " +#~ "contact list." +#~ msgstr "" +#~ "Vi povas aranĝi viajn legosignojn per menuero \"Agoj\" en la kontaktlisto." + +#, fuzzy +#~ msgid "The nickname contains invalid characters." +#~ msgstr "La babileja jabber-ID enhavas nepermesajn signojn." + +#, fuzzy +#~ msgid "Bookmark Room" +#~ msgstr "Starigi legosignon por tiu babilejo" + +#~ msgid "_Join New Group Chat" +#~ msgstr "_Eniri babilejen" + +#~ msgid "Name:" +#~ msgstr "Nomo:" + +#, fuzzy +#~ msgid "Description:" +#~ msgstr "Priskribo: %s" + +#, fuzzy +#~ msgid "Address:" +#~ msgstr "_Adreso:" + +#, fuzzy +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "Vi ne povas aliĝi al babilejo dum vi estas senkonekta." + +#, fuzzy +#~ msgid "Occupants" +#~ msgstr "_Agoj por babilanto" + +#~ msgid "_Modify Account..." +#~ msgstr "_Korekti konton..." + +#~ msgid "Boolean" +#~ msgstr "Bulea" + +#~ msgid "Integer" +#~ msgstr "Entjera" + +#~ msgid "Text" +#~ msgstr "Teksto" + +#~ msgid "Value" +#~ msgstr "Valoro" + +#~ msgid "(None)" +#~ msgstr "(Mankas)" + +#~ msgid "Hidden" +#~ msgstr "Kaŝita" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "Administri prokurservilajn agordojn" + +#, fuzzy +#~ msgid "Properties" +#~ msgstr "Agordo" + +#, fuzzy +#~ msgid "Proxy _Port" +#~ msgstr "_Pordo:" + +#, fuzzy +#~ msgid "New Groupchat" +#~ msgstr "Nova babilejo" + +#, fuzzy +#~ msgid "New Contact" +#~ msgstr "Aldoni novan kontakton" + +#~ msgid "%s GiB" +#~ msgstr "%s GiB" + +#~ msgid "%s GB" +#~ msgstr "%s GB" + +#~ msgid "%s MiB" +#~ msgstr "%s MiB" + +#~ msgid "%s MB" +#~ msgstr "%s MB" + +#~ msgid "%s KiB" +#~ msgstr "%s KiB" + +#~ msgid "%s KB" +#~ msgstr "%s KB" + +#~ msgid "%s B" +#~ msgstr "%s B" + +#, fuzzy +#~ msgid "%s MiB/s" +#~ msgstr "%s MiB" + +#, fuzzy +#~ msgid "File transfer" +#~ msgstr "Dosieraj transmetoj" + +#, fuzzy +#~ msgid "Open _Containing Folder" +#~ msgstr "_Malfermi enhavantan dosierujon" + +#, fuzzy +#~ msgid "Default:" +#~ msgstr "Defaŭlte" + +#, fuzzy +#~ msgid "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" +#~ msgstr "" +#~ "Vi ne plu eblos sendi kaj ricevi mesaĝojn kun kontaktoj el tiuj ĉi " +#~ "transportiloj:%s" + +#~ msgid "Contact \"%s\" will be removed from your roster" +#~ msgstr "Kontakto \"%s\" estos forigita el via kontaktlisto" + +#, fuzzy +#~ msgid "" +#~ "By removing this contact you also by default remove authorization " +#~ "resulting in them always seeing you as offline." +#~ msgstr "" +#~ "Forigante tiu ĉi konton vi defaŭlte ankaŭ forigas permeson pro kio li aŭ " +#~ "ŝi ĉiam vidos vin senkonekta." + +#~ msgid "Contacts will be removed from your roster" +#~ msgstr "Kontaktoj estos forigita el via kontaktlisto" + +#~ msgid "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorization resulting in them always seeing you as " +#~ "offline." +#~ msgstr "" +#~ "Forigante tiujn kontaktojn: %s\n" +#~ "vi forigas ankaŭ permesojn, rezulte ili ĉiam vidos vin kiel senkonekta." + +#, fuzzy +#~ msgid "Con_tinue" +#~ msgstr "_Daŭrigi" + +#~ msgid "_Pause" +#~ msgstr "_Paŭzi" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "Forigi dosiertransmeton el la listo." + +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "" +#~ "Tiu ĉi ago forigas unu dosiertransmeton de la listo. Se la transmeto " +#~ "estas aktiva, ĝin unue haltitas kaj poste forigitos." + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "Nuligas la indikitan dosiertransmeton" + +#, fuzzy +#~ msgid "Hide the window" +#~ msgstr "Kaŝas la fenestron" + +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "" +#~ "Kiam dosiertransmeto estos plenumita, montri ŝprucfenestron kun avizo" + +#~ msgid "From:" +#~ msgstr "De:" + +#~ msgid "Subject:" +#~ msgstr "Temo:" + +#~ msgid "%s wants to send you a file:" +#~ msgstr "%s volas sendi al vi dosieron:" + +#~ msgid "Name: " +#~ msgstr "Nomo: " + +#~ msgid "Pause" +#~ msgstr "Paŭzo" + +#, fuzzy +#~ msgid "Execute Command" +#~ msgstr "_Plenumi komandon..." + +#~ msgid "Type: " +#~ msgstr "Tipo: " + +#~ msgid "Transferred: " +#~ msgstr "Transmetitas: " + +#~ msgid "Completed" +#~ msgstr "Plenumita" + +#~ msgid "Stalled" +#~ msgstr "Malrapidas" + +#~ msgid "Transferring" +#~ msgstr "Transdonas" + +#~ msgid "Not started" +#~ msgstr "Ne lanĉitas" + +#, fuzzy +#~ msgid "%s day" +#~ msgid_plural "%s days" +#~ msgstr[0] "Antaŭ %i tagoj" +#~ msgstr[1] "Antaŭ %i tagoj" + +#~ msgid "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" +#~ msgstr "Ĉiuj konversaciajn fenestrojn fermitos. Ĉu daŭrigu?" + +#, fuzzy +#~ msgid "" +#~ "Your desired nickname in group chat\n" +#~ "%s\n" +#~ "is in use or registered by another occupant.\n" +#~ "Please specify another nickname below:" +#~ msgstr "" +#~ "Via dezirata kaŝnomo estas uzata aŭ registrita per alia uzulo.\n" +#~ "Bonvolu specifi alian kaŝnomon jene:" + +#, fuzzy +#~ msgid "_Configure" +#~ msgstr "_Daŭrigi" + +#, fuzzy +#~ msgid "Change the avatar" +#~ msgstr "Kontakto ŝanĝis sian staton" + +#, fuzzy +#~ msgid "" +#~ "Account in which the avatar will be set; if not specified, the avatar " +#~ "will be set for all accounts" +#~ msgstr "" +#~ "Konto kien la XML sendotas; se konto nespecifitas, XML sendotas al ĉiuj " +#~ "kontoj" + +#, fuzzy +#~ msgid "add" +#~ msgstr "Malrapidas" + +#, fuzzy +#~ msgid "modify" +#~ msgstr "_Korekti" + +#, fuzzy +#~ msgid "remove" +#~ msgstr "_Forigi" + +#, fuzzy +#~ msgid "" +#~ "If true, restored messages will use a smaller font than the default one." +#~ msgstr "" +#~ "Se \"True\", rememoritaj mesaĝoj uzos pli malgrandan tiparon ol defaŭltaj." + +#, fuzzy +#~ msgid "Restored Message Color" +#~ msgstr "_Reŝargi kolorojn per defaŭlto" + +#, fuzzy +#~ msgid "Send Cus_tom Status" +#~ msgstr "Sendi propran XML" + +#, fuzzy +#~ msgid "" +#~ "You are about to send a custom status. Are you sure you want to continue?" +#~ msgstr "Pri kreado de metakontakto. Ĉu vi certas ke vi volas daŭrigi?" + +#, fuzzy +#~ msgid "" +#~ msgstr "Temo" + +#~ msgid "#" +#~ msgstr "n°" + +#, fuzzy +#~ msgid "You are about to block a contact. Are you sure you want to continue?" +#~ msgstr "Pri kreado de metakontakto. Ĉu vi certas ke vi volas daŭrigi?" + +#~ msgid "To:" +#~ msgstr "Al:" + +#~ msgid "0" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Reconnect when connection is lost" +#~ msgstr "Aŭtomate rekonekti kiam konekto rompiĝas" + +#, fuzzy +#~ msgid "Server Message Archive" +#~ msgstr "_Sendi servilan mesaĝon" + +#, fuzzy +#~ msgid "Message Carbons" +#~ msgstr "Mesaĝoj" + +#~ msgid "" +#~ "Sent chat state notifications. Can be one of all, composing_only, " +#~ "disabled." +#~ msgstr "" +#~ "Sendataj babilstataj avizoj en interparolaj fenestroj. Povas esti unu el " +#~ "\"all\", \"composing_only\", aŭ \"disabled\"." + +#, fuzzy +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "Ebligi sendi informon pri _OS" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the idle time of your system" +#~ msgstr "Se markitas, Gajim aliĝos al tiu ĉi babilejo dum lanĉo" + +#, fuzzy +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "Ebligi sendi informon pri _OS" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the local time on your system" +#~ msgstr "Se markitas, Gajim aliĝos al tiu ĉi babilejo dum lanĉo" + +#, fuzzy +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "Ebligi sendi informon pri _OS" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the operating system you are " +#~ "using" +#~ msgstr "Se markitas, Gajim aliĝos al tiu ĉi babilejo dum lanĉo" + +#, fuzzy +#~ msgid "" +#~ "If checked, incoming events from unauthorized contacts will be ignored. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster." +#~ msgstr "" +#~ "Marku tiun opcion, nur se iu ne el via kontaktlisto spamas/ĉagrenas vin. " +#~ "Uzu singarde, ĉar tio blokas ĉiujn mesaĝojn de ĉiuj kontaktoj kiuj mankas " +#~ "en via kontaktlisto" + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." +#~ msgstr "" +#~ "Gajim povas sendi kaj ricevi informon rilatan al interparolado kun " +#~ "kontakto. Tie ĉi vi povas specifi pri kiuj babilstatoj vi volas mesaĝi al " +#~ "interparolanto." + +#, fuzzy +#~ msgid "S_end chat state notifications" +#~ msgstr "Montrataj babilstataj _avizoj:" + +#, fuzzy +#~ msgid "Login Options" +#~ msgstr "Mienoj:" + +#, fuzzy +#~ msgid "_Add contact" +#~ msgstr "Aldoni _kontakton" + +#, fuzzy +#~ msgid "F_inish" +#~ msgstr "_Finigi" + +#~ msgid "Failed to get secret keys" +#~ msgstr "Ricevado de sekreta ĉifroŝlosilo malsukcesis" + +#, fuzzy +#~ msgid "There is no OpenPGP secret key available." +#~ msgstr "Estas problemo ricevi vian sekretan OpenPGP-ĉifrŝlosilon." + +#~ msgid "OpenPGP Key Selection" +#~ msgstr "Elekto de OpenPGP-ĉifrŝlosilo" + +#~ msgid "Choose your OpenPGP key" +#~ msgstr "Elektu vian OpenPGP-ĉifrŝlosilon" + +#~ msgid "KeyID" +#~ msgstr "Ŝlosil-ID" + +#~ msgid "Contact name" +#~ msgstr "Kontaktnomo" + +#, fuzzy +#~ msgid "OpenPGP is not usable" +#~ msgstr "OpenPGP estas neuzebla ĉe tiu ĉi komputilo" + +#~ msgid "Assign OpenPGP Key" +#~ msgstr "Atribui OpenPGP-ŝlosilon" + +#~ msgid "Select a key to apply to the contact" +#~ msgstr "Elektu ŝlosilon por atribui al la kontakto" + +#~ msgid "You are currently connected without your OpenPGP key." +#~ msgstr "Nun vi estas konekta sen uzado de via OpenPGP-ŝlosilo." + +#, fuzzy +#~ msgid "Wrong passphrase" +#~ msgstr "Malprava pasfrazo" + +#, fuzzy +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "Malprava pasfrazo" + +#~ msgid "Passphrase Required" +#~ msgstr "Pasfrazo necesas" + +#, fuzzy +#~ msgid "" +#~ "Enter OpenPGP key passphrase for key %(keyid)s (account %(account)s)." +#~ msgstr "Enigi GPG-ŝlosilan pasfrazon por konto %s." + +#, fuzzy +#~ msgid "OpenPGP key expired" +#~ msgstr "Elekto de OpenPGP-ĉifrŝlosilo" + +#, fuzzy +#~ msgid "" +#~ "Your OpenPGP key has expired, you will be connected to %s without OpenPGP." +#~ msgstr "Vi estos konektita al %s sen OpenPGP." + +#~ msgid "Wrong Passphrase" +#~ msgstr "Malprava pasfrazo" + +#, fuzzy +#~ msgid "Please retype your OpenPGP passphrase or press Cancel." +#~ msgstr "Bonvolu ripeti vian GPG-pasvorton aŭ klaku Nuligi." + +#~ msgid "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Sendas novan mesaĝon al kontakto el la kontaktlisto. Ambaŭ OpenPGP-" +#~ "ŝlosilo kaj konto estas fakultativaj. Se vi volas specifi nur konton sen " +#~ "OpenPGP-ŝlosilo, do specifu \"OpenPGP-ŝlosilo\" kiel \"\"." + +#~ msgid "if specified, the message will be encrypted using this public key" +#~ msgstr "Se specifita, la mesaĝo estos ĉifrita per tiu ĉi publika ŝlosilo" + +#, fuzzy +#~ msgid "" +#~ "Sends a chat message to someone on your roster. Optionally with OpenPGP " +#~ "key and account. If you want to only set the latter, set OpenPGP key to " +#~ "\"\"." +#~ msgstr "" +#~ "Sendas novan mesaĝon al kontakto el la kontaktlisto. Ambaŭ OpenPGP-" +#~ "ŝlosilo kaj konto estas fakultativaj. Se vi volas specifi nur konton sen " +#~ "OpenPGP-ŝlosilo, do specifu \"OpenPGP-ŝlosilo\" kiel \"\"." + +#, fuzzy +#~ msgid "OpenPGP:" +#~ msgstr "OpenPGP: " + +#, fuzzy +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "Enigi Open_PGP-ŝlosilon" + +#, fuzzy +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "Ĉifrado per OpenPGP" + +#, fuzzy +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "Ve_nanta mesaĝo:" + +#, fuzzy +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "Konekto mankas" + +#, fuzzy +#~ msgid "OpenPGP Key" +#~ msgstr "Atribui OpenPGP-ŝlosilon" + +#, fuzzy +#~ msgid "Cancel confirmation" +#~ msgstr "Kontakta informo" + +#, fuzzy +#~ msgid "You are invited to a groupchat" +#~ msgstr "Al vi oni malpermesis esti en la babilejo." + +#~ msgid "_Start Chat" +#~ msgstr "_Ekparoli" + +#~ msgid "Au_thorize" +#~ msgstr "_Permesi" + +#~ msgid "You are currently connected to the server" +#~ msgstr "Nun vi estas konektita al la servilo" + +#, fuzzy +#~ msgid "To disable the account, you must be disconnected." +#~ msgstr "Por ke ŝanĝi kontnomon, vi devas esti senkonekta." + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with %(jid)s?" +#~ msgstr "Ĉu vi efektive volas forigi la elektitan mesaĝon?" + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with the selected contacts?" +#~ msgstr "Ĉu vi vere volas forigi protokolojn de la elektita kontakto?" + +#, fuzzy +#~ msgid "This can not be undone." +#~ msgstr "Neniu servo estas trovita" + +#~ msgid "What do you want to do?" +#~ msgstr "Kion vi volas fari?" + +#, fuzzy +#~ msgid "" +#~ "List of colors, separated by \":\", that will be used to color nicknames " +#~ "in group chats." +#~ msgstr "" +#~ "Listo de koloroj kiuj estos uzata por kolorigi kaŝnomojn en babilejoj." + +#~ msgid "Stopped" +#~ msgstr "Haltis" + +#, fuzzy +#~ msgid "Status messages displayed in chat window" +#~ msgstr "Sendi mesaĝon kaj fermi fenestron" + +#~ msgid "?print_status:All" +#~ msgstr "Ĉiujn" + +#~ msgid "Enter and leave only" +#~ msgstr "Nur en/el-iradojn" + +#~ msgid "?print_status:None" +#~ msgstr "Neniujn" + +#~ msgid "D-Bus python bindings are missing in this computer" +#~ msgstr "Pitona bindmodulo por D-BUS mankas cxe tiu cxi komputilo" + +#~ msgid "D-Bus capabilities of Gajim cannot be used" +#~ msgstr "D-BUS kunigeblo de Gajim ne uzeblas" + +#, fuzzy +#~ msgid "D-Bus does not run correctly on this machine: system bus not present" +#~ msgstr "D-BUS aŭ konforma pitona modulo mankas ĉe tiu ĉi komputilo." + +#, fuzzy +#~ msgid "" +#~ "D-Bus does not run correctly on this machine: session bus not present" +#~ msgstr "D-BUS aŭ konforma pitona modulo mankas ĉe tiu ĉi komputilo." + +#, fuzzy +#~ msgid "Command line Control" +#~ msgstr "Komandoj: %s" + +#~ msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +#~ msgstr "%(nick)s estas elpelita de %(who)s: %(reason)s" + +#~ msgid "%(nick)s has been banned by %(who)s: %(reason)s" +#~ msgstr "Aliĝo de %(nick)s estas malpermesita de %(who)s: %(reason)s" + +#, fuzzy +#~ msgid "** Role of %(nick)s has been set to %(role)s" +#~ msgstr "%(nick)s estas elpelita: %(reason)s" + +#~ msgid "%s has left" +#~ msgstr "%s foriris" + +#, fuzzy +#~ msgid "%s is full" +#~ msgstr "Sonoj" + +#, fuzzy +#~ msgid "" +#~ "Can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no " +#~ "longer print status line in groupchats when a member changes their status " +#~ "and/or their status message. If \"all\" Gajim will print all status " +#~ "messages. If \"in_and_out\", Gajim will only print FOO enters/leaves " +#~ "group chat." +#~ msgstr "" +#~ "povas esti \"none\", \"all\" aŭ \"in_and_out\". Se \"none\", Gajim ne plu " +#~ "eligos statlineon en babilejoj kiam membro ŝanĝas sian staton aŭ " +#~ "statmesaĝon. Se \"all\", Gajim eligos ĉiuj statmesaĝoj. Se \"in_and_out" +#~ "\", Gajim eligos nur pri eniroj/eliroj." + +#, fuzzy +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "Montri stat_mesaĝojn de kontaktoj en kontaktlisto" + +#, fuzzy +#~ msgid "" +#~ "You are about to send your password unencrypted on an insecure " +#~ "connection. Are you sure you want to do that?" +#~ msgstr "Pri kreado de metakontakto. Ĉu vi certas ke vi volas daŭrigi?" + +#, fuzzy +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "Uzi aŭtentokontrolon" + +#, fuzzy +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "Uzi aŭtentokontrolon" + +#, fuzzy +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "Uzi aŭtentokontrolon" + +#~ msgid "" +#~ "Displayed chat state notifications in chat windows. Can be one of all, " +#~ "composing_only, disabled." +#~ msgstr "" +#~ "Montrataj babilstataj avizoj en interparolaj fenestroj. Povas esti unu el " +#~ "\"all\", \"composing_only\", aŭ \"disabled\"." + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." +#~ msgstr "" +#~ "Gajim povas sendi kaj ricevi meta-informon rilatan al konversacio, kiun " +#~ "vi povas havi kun kontakto. Tie ĉi vi povas specifi kiujn babilstatojn vi " +#~ "volas montri en interparolaj fenestroj." + +#~ msgid "This is an irreversible operation." +#~ msgstr "Tio ĉi estas neinversigebla ago." + +#~ msgid "Settings" +#~ msgstr "Agordo" + +#, fuzzy +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "Gajim administrilo de protokoloj" + +#~ msgid "Member List" +#~ msgstr "Membra listo" + +#~ msgid "Owner List" +#~ msgstr "Listo de mastroj" + +#~ msgid "Administrator List" +#~ msgstr "Estra listo" + +#~ msgid "Nick" +#~ msgstr "Kaŝnomo" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "Por kiu vi volas malpermesi aliĝon?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Member…" +#~ msgstr "Aligas membron..." + +#~ msgid "" +#~ "Whom do you want to make a member?\n" +#~ "\n" +#~ msgstr "" +#~ "Kiun vi volas fari membro?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Owner…" +#~ msgstr "Aligas mastron..." + +#~ msgid "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" +#~ msgstr "" +#~ "Kiun vi volas fari mastro?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Administrator…" +#~ msgstr "Aligas administriston..." + +#~ msgid "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" +#~ msgstr "" +#~ "Kiun vi volas fari administristo?\n" +#~ "\n" + +#~ msgid "Error reading file:" +#~ msgstr "Eraro dum legado de dosiero:" + +#~ msgid "Error parsing file:" +#~ msgstr "Eraro dum dosieranalizo:" + +#~ msgid "Description" +#~ msgstr "Priskribo" + +#, fuzzy +#~ msgid "Password encryption" +#~ msgstr "Pasvortoj diversas" + +#, fuzzy +#~ msgid "Automatic status" +#~ msgstr "_Alĝustigi laŭ stato" + +#, fuzzy +#~ msgid "?features:Available" +#~ msgstr "Enrete" + +#, fuzzy +#~ msgid "Feature" +#~ msgstr "Servilaj trajtoj" + +#~ msgid "Filter:" +#~ msgstr "Filtrilo:" + +#, fuzzy +#~ msgid "Chat Appearance" +#~ msgstr "Redakti regulon" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed out" +#~ msgstr "" +#~ "Gajim avizos vin per ŝprucfenestro en la malsupra dekstra angulo de la " +#~ "ekrano pri kontaktoj kiu ĵus elsalutis" + +#~ msgid "Sounds" +#~ msgstr "Sonoj" + +#, fuzzy +#~ msgid "Chat state notifications" +#~ msgstr "Bildavizoj" + +#, fuzzy +#~ msgid "_Away after" +#~ msgstr "Aŭtomate _fora post:" + +#, fuzzy +#~ msgid "_Not available after" +#~ msgstr "Aŭtomate nedisponebla post:" + +#, fuzzy +#~ msgid "Auto Status" +#~ msgstr "Agoj" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "Antaŭpreparitaj statmesaĝoj" + +#, fuzzy +#~ msgid "Audio" +#~ msgstr "Agoj" + +#, fuzzy +#~ msgid "Video" +#~ msgstr "Aldoni regulon" + +#, fuzzy +#~ msgid "Connection" +#~ msgstr "Kondiĉoj" + +#~ msgid "Custom" +#~ msgstr "Propraj" + +#, fuzzy +#~ msgid "Privacy" +#~ msgstr "Privataj listoj" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "Detala agorda administrilo" + +#, fuzzy +#~ msgid "File transfer, room bookmarks" +#~ msgstr "Dosiertransmeta eraro" + +#, fuzzy +#~ msgid "XML console interface" +#~ msgstr "XML-konzolo" + +#, fuzzy +#~ msgid "" +#~ "A programming error has been detected. It probably is not fatal, but " +#~ "should be reported to the developers nonetheless." +#~ msgstr "" +#~ "Tio eble ne estas fatala, sed malgraŭ raportinda al la programistoj." + +#, fuzzy +#~ msgid "(ESession info)" +#~ msgstr "Priskribo" + +#~ msgid "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" +#~ msgstr "" +#~ "Se ne malŝaltita, Gajim anstataŭigas ASCII mienojn, kiel \":)\", per " +#~ "ekvivalentaj animaciataj aŭ statikaj grafikaj mienoj" + +#, fuzzy +#~ msgid "_Emoticons" +#~ msgstr "Mienoj:" + +#~ msgid "_Highlight misspelled words" +#~ msgstr "_Emfazi misskribajn vortojn" + +#, fuzzy +#~ msgid "Notify by icon when your messages are received" +#~ msgstr "Sono ludota kiam ĉiu babileja mesaĝo venas." + +#, fuzzy +#~ msgid "T_heme" +#~ msgstr "_Etoso:" + +#, fuzzy +#~ msgid "Themes" +#~ msgstr "Agordo" + +#~ msgid "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." +#~ msgstr "" +#~ "Jabberd1.4 ne ŝatas SHA informon kiam iu konektas al pasvortprotekta " +#~ "babilejo. Valorigu tiun opcion per \"False\" por halti sendadon de SHA " +#~ "informon en babilejo." + +#, fuzzy +#~ msgid "Presence" +#~ msgstr "_Ĉeesto" + +#, fuzzy +#~ msgid "Emoticons disabled" +#~ msgstr "Ĉifrado malebligata" + +#, fuzzy +#~ msgid "You cannot make changes to the default theme" +#~ msgstr "Vi ne povas forigi aktivan etoson" + +#~ msgid "theme name" +#~ msgstr "Etosa nomo" + +#~ msgid "You cannot delete your current theme" +#~ msgstr "Vi ne povas forigi aktivan etoson" + +#~ msgid "New Single Message from %(nickname)s" +#~ msgstr "Nova unuopa mesaĝo de %(nickname)s" + +#~ msgid "New Private Message from group chat %s" +#~ msgstr "Nova privata mesaĝo de babilejo %s" + +#~ msgid "%(nickname)s: %(message)s" +#~ msgstr "%(nickname)s: %(message)s" + +#, fuzzy +#~ msgid "Messaged by %(nickname)s" +#~ msgstr "Nova mesaĝo de %(nickname)s" + +#, fuzzy +#~ msgid "Status message text color." +#~ msgstr "statmesaĝa teksto" + +#, fuzzy +#~ msgid "Incoming nickname font." +#~ msgstr "Malkorekta salutnomo" + +#, fuzzy +#~ msgid "Status message text font." +#~ msgstr "statmesaĝa teksto" + +#~ msgid "Background color of contacts when they just signed in." +#~ msgstr "Fona koloro de kontaktoj kiam ili jus ensalutis." + +#~ msgid "Background color of contacts when they just signed out." +#~ msgstr "Fona koloro de kontaktoj kiam ili jus elsalutis." + +#~ msgid "green" +#~ msgstr "verda" + +#~ msgid "grocery" +#~ msgstr "manĝbutiko" + +#~ msgid "human" +#~ msgstr "homa" + +#~ msgid "marine" +#~ msgstr "mara" + +#, fuzzy +#~ msgid "Contact row" +#~ msgstr "Kontakto" + +#~ msgid "Gajim Themes Customization" +#~ msgstr "Etosa administrado de Gajim" + +#~ msgid "Text _color:" +#~ msgstr "Teksta _koloro:" + +#~ msgid "_Background:" +#~ msgstr "_Fono:" + +#~ msgid "Text _font:" +#~ msgstr "Teksta _tiparo:" + +#~ msgid "Font style:" +#~ msgstr "Tipara fasono:" + +#~ msgid "Paused" +#~ msgstr "Paŭzas" + +#~ msgid "Gone" +#~ msgstr "Foriris" + +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "" +#~ "Babilejaj\n" +#~ "Mesaĝoj" + +#~ msgid "Chatstate Tab Colors" +#~ msgstr "Koloroj de babilstataj langetoj" + +#, fuzzy +#~ msgid "Chat message" +#~ msgstr "_Statmesaĝo:" + +#~ msgid "Use system _default" +#~ msgstr "Uzi sisteman defaŭlton" + +#, fuzzy +#~ msgid "Font" +#~ msgstr "Sonoj" + +#, fuzzy +#~ msgid "Contact's nickname" +#~ msgstr "Kontaktnomo" + +#, fuzzy +#~ msgid "_Status message" +#~ msgstr "_Statmesaĝo:" + +#, fuzzy +#~ msgid "Your message" +#~ msgstr "Erara mesaĝo: %s" + +#, fuzzy +#~ msgid "Chat Line Colors" +#~ msgstr "Koloroj de babilstataj langetoj" + +#, fuzzy +#~ msgid "Jabber ID:" +#~ msgstr "Jabber-ID:" + +#, fuzzy +#~ msgid "Resource:" +#~ msgstr "Risurco:" + +#, fuzzy +#~ msgid "Status:" +#~ msgstr "Agordo" + +#, fuzzy +#~ msgid "Client:" +#~ msgstr "Propraj" + +#, fuzzy +#~ msgid "Contact time:" +#~ msgstr "Agordo" + +#, fuzzy +#~ msgid "Ask:" +#~ msgstr "Agoj" + +#, fuzzy +#~ msgid "Subscription:" +#~ msgstr "Priskribo" + +#, fuzzy +#~ msgid "Name:" +#~ msgstr "Propraj" + +#, fuzzy +#~ msgid "Nickname:" +#~ msgstr "Kaŝnomo:" + +#, fuzzy +#~ msgid "Street:" +#~ msgstr "Agordo" + +#, fuzzy +#~ msgid "City:" +#~ msgstr "Propraj" + +#, fuzzy +#~ msgid "State:" +#~ msgstr "Agordo" + +#, fuzzy +#~ msgid "Extra Address:" +#~ msgstr "Kroma adreso:" + +#, fuzzy +#~ msgid "Postal Code:" +#~ msgstr "Poŝtkodo:" + +#, fuzzy +#~ msgid "Country:" +#~ msgstr "Sonoj" + +#, fuzzy +#~ msgid "Homepage:" +#~ msgstr "Hejmpaĝo:" + +#, fuzzy +#~ msgid "E-Mail:" +#~ msgstr "Retpoŝtadreso:" + +#, fuzzy +#~ msgid "Phone No.:" +#~ msgstr "Telefono:" + +#, fuzzy +#~ msgid "Birthday:" +#~ msgstr "Naskiĝtago:" + +#, fuzzy +#~ msgid "Family:" +#~ msgstr "Familia nomo:" + +#, fuzzy +#~ msgid "Middle:" +#~ msgstr "Aldoni regulon" + +#, fuzzy +#~ msgid "Prefix:" +#~ msgstr "Agordo" + +#, fuzzy +#~ msgid "Given:" +#~ msgstr "OpenPGP" + +#, fuzzy +#~ msgid "Suffix:" +#~ msgstr "Sonoj" + +#, fuzzy +#~ msgid "Full Name" +#~ msgstr "Propraj" + +#, fuzzy +#~ msgid "Company:" +#~ msgstr "Propraj" + +#, fuzzy +#~ msgid "Department:" +#~ msgstr "Fako:" + +#, fuzzy +#~ msgid "Position:" +#~ msgstr "Kondiĉoj" + +#, fuzzy +#~ msgid "Role:" +#~ msgstr "Sonoj" + +#~ msgid "Edit %s" +#~ msgstr "Administri %s" + +#~ msgid "Conversation History with %s" +#~ msgstr "Historio de interparolo kun %s" + +#~ msgid "Contact with \"%s\" cannot be established" +#~ msgstr "Kontakto kun \"%s\" neestableblas" + +#~ msgid "Registration information for transport %s has not arrived in time" +#~ msgstr "Registrada informo por transportilo %s ne venis ĝustatempe" + +#~ msgid "Register to" +#~ msgstr "Registri ĉe" + +#, fuzzy +#~ msgid "Enter name / JID of contact or groupchat" +#~ msgstr "Kontaktnomo" + +#, fuzzy +#~ msgid "Search:" +#~ msgstr "Serĉi" + +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "Senkonekta vi ne povas ŝanĝi vian pasvorton." + +#~ msgid "Invalid password" +#~ msgstr "Malkorekta pasvorto" + +#~ msgid "The passwords typed in both fields must be identical." +#~ msgstr "En ambaŭ kampoj la pasvortoj devas esti identaj." + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "Enigi ĝin denove por konfirmi:" + +#~ msgid "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" +#~ msgstr "" +#~ "JID %s ne estas norma laŭ la RFC. Ĝi ne aldonitos al via kontaktlisto. " +#~ "Uzu kontaktlistan agordan ilon kiel http://jru.jabberstudio.org/ por " +#~ "forigi ĝin" + +#~ msgid "unsubscribe request from %s" +#~ msgstr "ordono pri abona fino de %s" + +#, fuzzy +#~ msgid "Homepage:" +#~ msgstr "Hejmpaĝo:" + +#~ msgid "Manage Bookmarks" +#~ msgstr "Aranĝi legosignojn" + +#~ msgid "_Nickname:" +#~ msgstr "Kaŝ_nomo:" + +#, fuzzy +#~ msgid "Pr_int status:" +#~ msgstr "Eligi statojn:" + +#, fuzzy +#~ msgid "Add JID" +#~ msgstr "Jabber-ID:" + +#, fuzzy +#~ msgid "Preference:" +#~ msgstr "Agordo" + +#, fuzzy +#~ msgid "Preference" +#~ msgstr "Agordo" + +#, fuzzy +#~ msgid "JID:" +#~ msgstr "JID: " + +#, fuzzy +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "" +#~ "Bonvolu pleni la datumon pri kontakto, kiun vi volas aldoni ĉe konto %s" + +#~ msgid "Please fill in the data of the contact you want to add" +#~ msgstr "Bonvolu pleni la datumon pri kontakto, kiun vi volas aldoni" + +#, fuzzy +#~ msgid "Recently" +#~ msgstr "Antaŭ nelonge:" + +#~ msgid "Add New Contact" +#~ msgstr "Aldoni novan kontakton" + +#~ msgid "_User ID:" +#~ msgstr "_Uzula ID:" + +#, fuzzy +#~ msgid "Type User ID" +#~ msgstr "Uzula ID:" + +#, fuzzy +#~ msgid "Type Nickname" +#~ msgstr "Kaŝnomo" + +#~ msgid "Personal Information" +#~ msgstr "Persona informo" + +#, fuzzy +#~ msgid "Avatar:" +#~ msgstr "Kaŝbildeto:" + +#~ msgid "Click to set your avatar" +#~ msgstr "Klaku por starigi vian kaŝbildon" + +#, fuzzy +#~ msgid "Remove Avatar" +#~ msgstr "Forigi grupon" + +#~ msgid "Not fetched because of invisible status" +#~ msgstr "Ne obtenita pro nevidebla stato" + +#~ msgid "Yahoo! Address:" +#~ msgstr "Yahoo-adreso:" + +#, fuzzy +#~ msgid "Forward unread messages" +#~ msgstr " %d nelegita mesaĝo" + +#, fuzzy +#~ msgid "Forward unread message then disconnect" +#~ msgstr " %d nelegita mesaĝo" + +#~ msgid "MSN Address:" +#~ msgstr "MSN-adreso:" + +#, fuzzy +#~ msgid "End to End message encryption" +#~ msgstr "Ĉifrado per OpenPGP" + +#, fuzzy +#~ msgid "Encrypting chat messages." +#~ msgstr "Ve_nanta mesaĝo:" + +#, fuzzy +#~ msgid "This session is encrypted" +#~ msgstr "[Tiu ĉi mesaĝo estas ĉifrita]" + +#, fuzzy +#~ msgid "end-to-end encryption disabled" +#~ msgstr "Ĉifrado malebligata" + +#, fuzzy +#~ msgid "Unable to decrypt message" +#~ msgstr "En ĉ_iu mesaĝo" + +#, fuzzy +#~ msgid "Save Image as…" +#~ msgstr "Konservi bildon kiel..." + +#, fuzzy +#~ msgid "Exporting History Logs…" +#~ msgstr "Eksportas protokolojn..." + +#~ msgid "When %s becomes:" +#~ msgstr "Kiam %s venas:" + +#~ msgid "Adding Special Notification for %s" +#~ msgstr "Aligado de speciala avizo por %s" + +#~ msgid "Unable to load idle module" +#~ msgstr "Neeblas ŝargi senfaran modulon" + +#, fuzzy +#~ msgid "%s or %s is a directory but should be a file" +#~ msgstr "%s estas dosierujo sed devas esti dosiero" + +#~ msgid "creating logs database" +#~ msgstr "kreadas protokolan datumbazon" + +#, fuzzy +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "Sendi %s" + +#, fuzzy +#~ msgid "Rename account label" +#~ msgstr "Administri kontojn" + +#, fuzzy +#~ msgid "Send Single Message..." +#~ msgstr "Sendi unuopan _mesaĝon..." + +#, fuzzy +#~ msgid "E2E encryption disabled" +#~ msgstr "Ĉifrado malebligata" + +#~ msgid "uri" +#~ msgstr "uri" + +#, fuzzy +#~ msgid "" +#~ "Install /\n" +#~ "Upgrade" +#~ msgstr "Malrapidas" + +#, fuzzy +#~ msgid "Install/Upgrade" +#~ msgstr "Malrapidas" + +#, fuzzy +#~ msgid "Security error during download" +#~ msgstr "Etraro de sekureco dum konektado al \"%s\"" + +#, fuzzy +#~ msgid "Error in download" +#~ msgstr "Etraro de sekureco dum konektado al \"%s\"" + +#~ msgid "cyan" +#~ msgstr "blua" + +#~ msgid "migrating logs database to indices" +#~ msgstr "indeksigas protokolan datumbazon" + +#, fuzzy +#~ msgid "Send File..." +#~ msgstr "Sendi _dosieron" + +#, fuzzy +#~ msgid "HTTP File Upload not supported by your server" +#~ msgstr "Metakontakta tenejo ne estas subtenata de via servilo" + +#, fuzzy +#~ msgid "Jingle File Transfer" +#~ msgstr "Dosieraj transmetoj" + +#~ msgid "Shows or hides the roster window" +#~ msgstr "Montras aŭ kaŝas la kontaktlistan fenestron" + +#, fuzzy +#~ msgid "Shows or hides the ipython window" +#~ msgstr "Montras aŭ kaŝas la kontaktlistan fenestron" + +#, fuzzy +#~ msgid "XMPP account %s" +#~ msgstr "de konto %s" + +#, fuzzy +#~ msgid "Exception" +#~ msgstr "Priskribo" + +#, fuzzy +#~ msgid "" +#~ "someone@somewhere.com would like you to add some contacts " +#~ "in your roster." +#~ msgstr "Mi petas vin permesi aldoni vin en mian kontaktliston." + +#~ msgid "_Actions" +#~ msgstr "_Agoj" + +#~ msgid "You are already in group chat %s" +#~ msgstr "Vi jam estas en babilejo %s" + +#~ msgid "Join Group Chat with account %s" +#~ msgstr "Eniri en babilejon per konto %s" + +#, fuzzy +#~ msgid "" +#~ "You have to choose an account from which you want to join the groupchat." +#~ msgstr "Vi devas krei konton antaŭ vi povos paroli kun aliaj kontaktoj." + +#, fuzzy +#~ msgid "Please enter the group chat JID as room@server." +#~ msgstr "La babileja jabber-ID enhavas nepermesajn signojn." + +#, fuzzy +#~ msgid "The group chat JID contains invalid characters." +#~ msgstr "La babileja jabber-ID enhavas nepermesajn signojn." + +#~ msgid "Start Chat with account %s" +#~ msgstr "Babili per konto %s" + +#, fuzzy +#~ msgid "" +#~ "Fill in the nickname or the JID of the contact you would like\n" +#~ "to send a chat message to:" +#~ msgstr "" +#~ "Plenigu la kaŝnomon aŭ la Jabber-ID de la kontakto,\n" +#~ "al kiu vi volas sendi mesaĝon:" + +#, fuzzy +#~ msgid "Nickname / JID" +#~ msgstr "Ripeta Jabber-ID" + +#~ msgid "Unable to parse \"%s\"." +#~ msgstr "Neeblas analizi \"%s\"." + +#~ msgid "Shows the chat dialog so that you can send messages to a contact" +#~ msgstr "" +#~ "Montras interparolan fenestron do vi povas sendi mesaĝon al kontakto" + +#~ msgid "JID of the contact that you want to chat with" +#~ msgstr "JID de kontakto, kun kiu vi volas interparoli" + +#~ msgid "Adds contact to roster" +#~ msgstr "Aligas kontakton en kontaktliston" + +#~ msgid "jid" +#~ msgstr "JID" + +#~ msgid "Adds new contact to this account" +#~ msgstr "Aldonas novan kontakton en tiun konton" + +#~ msgid "Opens 'Start Chat' dialog" +#~ msgstr "Malfermi \"Ekparoli\" dialogfenestron" + +#~ msgid "Starts chat, using this account" +#~ msgstr "Babili per tiu ĉi konto" + +#, fuzzy +#~ msgid "Handle a xmpp:/ URI" +#~ msgstr "Prilabori xmpp:/ uri" + +#, fuzzy +#~ msgid "Message content" +#~ msgstr "mesaĝenhavo" + +#~ msgid "Join a MUC room" +#~ msgstr "Aliĝi al MUC-babilejo" + +#, fuzzy +#~ msgid "Nickname to use" +#~ msgstr "Kaŝnomo ne trovitas: %s" + +#, fuzzy +#~ msgid "Password to enter the room" +#~ msgstr "Pasvortoj diversas" + +#, fuzzy +#~ msgid "Wrong URI" +#~ msgstr "Malprava uri" + +#~ msgid "Nickname:" +#~ msgstr "Kaŝnomo:" + +#~ msgid "Server:" +#~ msgstr "Servilo:" + +#, fuzzy +#~ msgid "Join this room _automatically when I connect" +#~ msgstr "Aŭtomate aliĝi al ĉi tiu babilejo kiam vi konektitos" + +#, fuzzy +#~ msgid "Bro_wse Rooms" +#~ msgstr "_Rigardi" + +#, fuzzy +#~ msgid "Network-Watcher" +#~ msgstr "Historia administrilo" + +#~ msgid "" +#~ "You have to install %s dictionary to use spellchecking, or choose another " +#~ "language by setting the speller_language option." +#~ msgstr "" +#~ "Vi bezonas Instali la vortaron %s por uzi literumadon, aŭ elekti alian " +#~ "lingvon ĉe la agordero \"speller_language\"." + +#, fuzzy +#~ msgid "Hides the buttons in chat windows." +#~ msgstr "Kaŝas la butonojn en babileja fenestro." + +#, fuzzy +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "Starigi legosignon por tiu babilejo" + +#, fuzzy +#~ msgid "Show advanced functions (Alt+D)" +#~ msgstr "Klaku por enigi mienon (Alt+M)" + +#, fuzzy +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "Aligas kontakton en kontaktliston" + +#, fuzzy +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "atentas al la komunikado" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Aligas kontakton en kontaktliston" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Aligas kontakton en kontaktliston" + +#, fuzzy +#~ msgid "Ma_ke message windows compact" +#~ msgstr "_Unu mesaĝfenestro:" + +#, fuzzy +#~ msgid "Hide all buttons in chat windows" +#~ msgstr "Kaŝas la butonojn en babileja fenestro." + +#, fuzzy +#~ msgid "Hide the chat buttons" +#~ msgstr "Uzado: /%s, - kaŝas la babiladajn butonojn." + +#~ msgid "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." +#~ msgstr "" +#~ "Se \"True\", Gajim demandos pri kaŝbildeto ĉiun kontakton, kiu ne havis " +#~ "ĝin lastatempe aŭ kies kaŝbildeto estis konservita tro antaŭlonge." + +#, fuzzy +#~ msgid "?CLI:room" +#~ msgstr "babilejo" + +#, fuzzy +#~ msgid "?CLI:nick" +#~ msgstr "kaŝnomo" + +#, fuzzy +#~ msgid "?CLI:password" +#~ msgstr "pasvorto:" + +#~ msgid "Use D-Bus and Notification-Daemon to show notifications" +#~ msgstr "Uzi D-Bus kaj avizadan demonon por montri avizojn" + +#, fuzzy +#~ msgid "Notification" +#~ msgstr "Konta korektado" + +#, fuzzy +#~ msgid "Ignore" +#~ msgstr "naŭ" + +#~ msgid "_Open Gmail Inbox" +#~ msgstr "_Malfermi poŝtkeston de Gmail" + +#~ msgid "Notify on new _GMail email" +#~ msgstr "Avizi pri novaj _Gmail-leteroj" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will show a notification when a new e-mail is received " +#~ "via GMail" +#~ msgstr "" +#~ "Se markita, Gajim informos ankaŭ pri sendanto de la novaj retleteroj" + +#~ msgid "Display _extra email details" +#~ msgstr "Montri _kromajn detalojn pri retleteroj" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will also include information about the sender of new " +#~ "emails" +#~ msgstr "" +#~ "Se markita, Gajim informos ankaŭ pri sendanto de la novaj retleteroj" + +#~ msgid "GMail Options" +#~ msgstr "Agordo por GMail" + +#, fuzzy +#~ msgid "20" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Invited %s to %s" +#~ msgstr "Sendi %s" + +#~ msgid "GMail Email Received" +#~ msgstr "GMail-retletero venis" + +#, fuzzy +#~ msgid "New e-mail on %(gmail_mail_address)s" +#~ msgstr "Nova retletero ĉe %(gmail_mail_address)s" + +#, fuzzy +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "Vi havas %d novan retleteron" +#~ msgstr[1] "Vi havas %d novajn retleterojn" + +#~ msgid "Resour_ce:" +#~ msgstr "Risur_cnomo:" + +#~ msgid "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" +#~ msgstr "" +#~ "Risurcnomo estas sendata al jabber-servilo por ke distingi klientojn kun " +#~ "samaj JID. Do vi povas samtempe konekti per la sama konto kun risurcnomoj " +#~ "\"Hejmo\" kaj \"Laborejo\". La kliento, kiu havas la plej altan " +#~ "prioritaton, ricevos la eventojn." + +#, fuzzy +#~ msgid "A_djust to status" +#~ msgstr "_Alĝustigi laŭ stato" + +#~ msgid "Priority will change automatically according to your status." +#~ msgstr "Prioritato ŝanĝiĝos aŭtomate laŭ via stato." + +#, fuzzy +#~ msgid "Anonymous authentication" +#~ msgstr "Uzi aŭtentokontrolon" + +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "Prioritato uzatas en Jabber por determini, kiu ricevos eventojn de jabber-" +#~ "servilo, kiam kelkaj klientoj estas konekta per sama konto. La kliento " +#~ "kun la plej granda prioritato ricevas eventojn" + +#, fuzzy +#~ msgid "Synchronize contacts" +#~ msgstr "Montri _senkonektajn kontaktojn" + +#~ msgid "Chan_ge Password" +#~ msgstr "Ŝanĝi _pasvorton" + +#, fuzzy +#~ msgid "Administration operations" +#~ msgstr "Estra listo" + +#, fuzzy +#~ msgid "Browse..." +#~ msgstr "_Rigardi" + +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "Se markitas, Gajim aŭtomate konektos per tiu konto dum lanĉo" + +#, fuzzy +#~ msgid "Synchronize logs with server" +#~ msgstr "Montri _senkonektajn kontaktojn" + +#~ msgid "Synch_ronize account status with global status" +#~ msgstr "Sink_ronigi kontan staton kun komuna stato" + +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "Se markitas, ĉiu ŝanĝo de komuna stato (manipulata per listbutono " +#~ "maldekstre en la kontaktlista fenestro) samtempe ŝanĝos la staton de tiu " +#~ "ĉi konto." + +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "Se markitas, Gajim anoncos krom vian IP ankoraŭ kelkajn IP, do " +#~ "dosiertransmeto havos pli ŝancojn funkcii." + +#, fuzzy +#~ msgid "Proxy" +#~ msgstr "Agordo" + +#, fuzzy +#~ msgid "Send _keep-alive packets" +#~ msgstr "Sendi vivkontrolajn pakaĵojn" + +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "" +#~ "se markitas, Gajim sendados vivkontrolajn (keep-alive) pakaĵojn, tio " +#~ "preventas diskonekton pro longa neaktiva tempo" + +#, fuzzy +#~ msgid "Use cust_om hostname/port" +#~ msgstr "Uzi propran servilnomon/pordon" + +#, fuzzy +#~ msgid "_Hostname: " +#~ msgstr "Servilnomo: " + +#, fuzzy +#~ msgid "_Port: " +#~ msgstr "_Pordo:" + +#~ msgid "Choose _Key..." +#~ msgstr "Elekti _ŝlosilon..." + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "Se markitas, Gajim memoros la pasvorton por tiu ĉi konto" + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#, fuzzy +#~ msgid "_Edit Personal Information..." +#~ msgstr "Korekti personan informon..." + +#~ msgid "Personal Information" +#~ msgstr "Persona informo" + +#, fuzzy +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "K_onekti dum lanĉo de Gajim" + +#, fuzzy +#~ msgid "Synchroni_ze account status with global status" +#~ msgstr "Sink_ronigi kontan staton kun komuna stato" + +#, fuzzy +#~ msgid "Use cust_om port:" +#~ msgstr "Uzi propran pordon:" + +#~ msgid "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." +#~ msgstr "" +#~ "Se la defaŭlta pordo, kiu uzatas por venantaj mesaĝoj, ne taŭgas por via " +#~ "agordo, vi povas elekti alian ĉi tie.\n" +#~ "Vi povas pripensi ŝanĝon de permeseblaj parametroj de retŝirmilo." + +#, fuzzy +#~ msgid "OpenPGP is not usable on this computer" +#~ msgstr "OpenPGP estas neuzebla ĉe tiu ĉi komputilo" + +#~ msgid "To change the account name, you must be disconnected." +#~ msgstr "Por ke ŝanĝi kontnomon, vi devas esti senkonekta." + +#~ msgid "To change the account name, you must read all pending events." +#~ msgstr "Por ŝanĝi la nomon de konto, vi devas legi atendantajn eventojn." + +#~ msgid "Account Name Already Used" +#~ msgstr "Kontnomo jam estas uzata" + +#~ msgid "Account name cannot be empty." +#~ msgstr "Kontnomo ne povas esti malplena." + +#~ msgid "Account name cannot contain spaces." +#~ msgstr "Kontnomo ne povas enteni spacetojn." + +#, fuzzy +#~ msgid "Enter a new name for account %s" +#~ msgstr "Enigu novan nomon por la grupo %s" + +#, fuzzy +#~ msgid "A JID must be in the form \"user@servername\"." +#~ msgstr "Jabber-ID devas esti en la formo \"uzulo@servilnomo\"." + +#~ msgid "No such account available" +#~ msgstr "Tia konto nedisponebla" + +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "Vi devas krei konton antaŭ korekti vian personan informon." + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "Senkonekte vi ne povas ŝanĝi vian personan informon." + +#~ msgid "Your server can't save your personal information." +#~ msgstr "Via servilo ne povas konservi vian personan informon." + +#~ msgid "Please rename or remove it before enabling link-local messaging." +#~ msgstr "Bonvolu renomigi aŭ forigi ĝin antaŭ ebligi lig-lokan komunikadon." + +#~ msgid "THANKS:" +#~ msgstr "DANKON AL:" + +#~ msgid "Could not write to %s. Session Management support will not work" +#~ msgstr "Ne povas skribi en %s. Subteno de seancagordo ne funkcios" + +#~ msgid "Jabber Traffic" +#~ msgstr "Jabber-trafiko" + +#, fuzzy +#~ msgid "_Enable" +#~ msgstr "Ebligi" + +#, fuzzy +#~ msgid "Filter" +#~ msgstr "Sonoj" + +#~ msgid "_IQ" +#~ msgstr "_IQ" + +#~ msgid "Info/Query" +#~ msgstr "Informo/Peto (Info/Query)" + +#~ msgid "XML Input" +#~ msgstr "XML enigo" + +#~ msgid "XML Console for %s" +#~ msgstr "XML-konzolo por %s" + +#, fuzzy +#~ msgid "Idle for:" +#~ msgstr "XML-konzolo por %s" + +#~ msgid "Last status: %s" +#~ msgstr "Lasta stato: %s" + +#~ msgid " since %s" +#~ msgstr " ekde %s" + +#~ msgid "since %s" +#~ msgstr "ekde %s" + +#, fuzzy +#~ msgid "Prefer" +#~ msgstr "Agordo" + +#, fuzzy +#~ msgid "Auto" +#~ msgstr "Aŭtomate aliĝi" + +#, fuzzy +#~ msgid "otr" +#~ msgstr "_Retnodo:" + +#, fuzzy +#~ msgid "Invalid expire value" +#~ msgstr "Malkorekta salutnomo" + +#~ msgid "How many minutes should last lines from previous conversation last." +#~ msgstr "Kiom da minutoj devas resti lastaj lineoj de antaŭa komunikado." + +#~ msgid "You will be connected to %s without OpenPGP." +#~ msgstr "Vi estos konektita al %s sen OpenPGP." + +#, fuzzy +#~ msgid "The following message was NOT encrypted" +#~ msgstr "[Tiu ĉi mesaĝo estas ĉifrita]" + +#~ msgid "Toggle Open_PGP Encryption" +#~ msgstr "Baskuli Open_PGP-ĉifradon" + +#, fuzzy +#~ msgid "Toggle End to End Encryption" +#~ msgstr "Baskuli Open_PGP-ĉifradon" + +#, fuzzy +#~ msgid "OpenPGP encryption enabled" +#~ msgstr "Ĉifrado ebligata" + +#, fuzzy +#~ msgid "The following message was encrypted" +#~ msgstr "[Tiu ĉi mesaĝo estas ĉifrita]" + +#, fuzzy +#~ msgid "Toggle the OpenPGP encryption" +#~ msgstr "Baskuli Open_PGP-ĉifradon" + +#, fuzzy +#~ msgid "[This message is *encrypted* (See :XEP:`27`]" +#~ msgstr "[Tiu ĉi mesaĝo estas *ĉifrita* (Vidu :JEP:`27`]" + +#~ msgid "" +#~ "If True, listen to D-Bus signals from NetworkManager and change the " +#~ "status of accounts (provided they do not have listen_to_network_manager " +#~ "set to False and they sync with global status) based upon the status of " +#~ "the network connection." +#~ msgstr "" +#~ "Se \"True\", aŭskulti D-Bus-signalojn de Retadministrilo(NetworkManager) " +#~ "kaj ŝanĝi la statojn de kontoj (kiuj havas parametrojn " +#~ "listen_to_network_manager=False kaj sync_with_global_status=True) surbaze " +#~ "de la stato de la retkonekto." + +#, fuzzy +#~ msgid "Database cannot be read." +#~ msgstr "Kontnomo ne povas esti malplena." + +#, fuzzy +#~ msgid "Smooth scroll message in conversation window" +#~ msgstr "Sendi mesaĝon kaj fermi fenestron" + +#, fuzzy +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "_Privataj listoj" + +#~ msgid "_Administrator" +#~ msgstr "_Administristo" + +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "Sendas mesaĝon al uzuloj nuntempe konektitaj al tiu ĉi servilo" + +#~ msgid "Sets Message of the Day" +#~ msgstr "Instalas mesaĝon de la tago" + +#~ msgid "Updates Message of the Day" +#~ msgstr "Renovigas mesaĝon de la tago" + +#~ msgid "Deletes Message of the Day" +#~ msgstr "Forigas mesaĝon de la tago" + +#, fuzzy +#~ msgid "Add _Contact..." +#~ msgstr "_Aldoni kontakton..." + +#~ msgid "Profile, A_vatar" +#~ msgstr "_Vizitkarto" + +#~ msgid "File _Transfers" +#~ msgstr "Dosieraj _transmetoj" + +#~ msgid "Help online" +#~ msgstr "Helpo reta" + +#~ msgid "Frequently Asked Questions (online)" +#~ msgstr "Oftaj demandoj (rete)" + +#, fuzzy +#~ msgid "Fea_tures" +#~ msgstr "Servilaj trajtoj" + +#~ msgid "to %s account" +#~ msgstr "al konto %s" + +#~ msgid "using %s account" +#~ msgstr "per konto %s" + +#~ msgid "of account %s" +#~ msgstr "de konto %s" + +#~ msgid "for account %s" +#~ msgstr "por konto %s" + +#~ msgid "" +#~ "By removing this contact you also remove authorization resulting in him " +#~ "or her always seeing you as offline." +#~ msgstr "" +#~ "Forigante tiun kontakton vi forigas ankaŭ permeson, rezulte ŝi aŭ li ĉiam " +#~ "vidos vin kiel senkonekta." + +#~ msgid "Invalid Jabber ID" +#~ msgstr "Malkorekta jabber-ID" + +#~ msgid "This file is being used by another process." +#~ msgstr "Tiu ĉi dosiero estas uzata de alia procezo." + +#~ msgid "pgp key" +#~ msgstr "PGP-ŝlosilo" + +#~ msgid "" +#~ "Sends new single message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Sendas novan unuopan mesaĝon al kontakto el la kontaktlisto. Ambaŭ " +#~ "OpenPGP-ŝlosilo kaj konto estas fakultativaj. Se vi volas specifi nur " +#~ "konton sen OpenPGP-ŝlosilo, do specifu \"OpenPGP-ŝlosilo\" kiel \"\"." + +#, fuzzy +#~ msgid "Please first choose another theme as your current theme." +#~ msgstr "Bonvolu komence aktivigi alian etoson." + +#~ msgid "Your passphrase is incorrect" +#~ msgstr "Via pasfrazo estas malvalida" + +#, fuzzy +#~ msgid "OpenPGP Passphrase Incorrect" +#~ msgstr "Via pasfrazo estas malvalida" + +#~ msgid "You successfully received %(filename)s from %(name)s." +#~ msgstr "La dosiero %(filename)s de %(name)s estas sukcese ricevita." + +#, fuzzy +#~ msgid "Set logs directory" +#~ msgstr "kreas dosierujon %s" + +#~ msgid "_Manage Bookmarks..." +#~ msgstr "Aranĝi _legosignojn..." + +#~ msgid "Change Status Message..." +#~ msgstr "Ŝanĝi statmesaĝon..." + +#~ msgid "_Change Status Message..." +#~ msgstr "Ŝanĝi _statmesaĝon..." + +#~ msgid "" +#~ "You are not interested in the contact's presence, and neither he/she is " +#~ "interested in yours" +#~ msgstr "Nek vi nek kontakto ne interesiĝas unu pri ĉeesto de alia" + +#, fuzzy +#~ msgid "Error description..." +#~ msgstr "Priskribo" + +#, fuzzy +#~ msgid "View contact information (Ctrl+I)" +#~ msgstr "atentas al la komunikado" + +#, fuzzy +#~ msgid "All Chat Histories" +#~ msgstr "ia ajn stato" + +#~ msgid "More" +#~ msgstr "Plu" + +#~ msgid "creating %s directory" +#~ msgstr "kreas dosierujon %s" + +#, fuzzy +#~ msgid "" +#~ "If True, Gajim will use KDE Wallet (if kwalletcli is available) to store " +#~ "account passwords." +#~ msgstr "" +#~ "Se \"True\", Gajim uzos Gnoman ŝlosilaron (se disponeblas) por konservu " +#~ "pasvortojn." + +#~ msgid "%s is not the name of a group chat." +#~ msgstr "%s ne estas la nomo de babilejo." + +#, fuzzy +#~ msgid "Session Management" +#~ msgstr "Mesaĝo sendita" + +#~ msgid "Gajim needs X server to run. Quiting..." +#~ msgstr "Gajim bezonas X-servilon. Finas..." + +#, fuzzy +#~ msgid "Gajim needs PyGTK 2.22 or above" +#~ msgstr "Gajim bezonas PyGTK 2.8 aŭ pli novan" + +#, fuzzy +#~ msgid "Gajim needs PyGTK 2.22 or above to run. Quiting..." +#~ msgstr "Gajim bezonas PyGTK 2.8 aŭ pli novan por funkcii. Finas..." + +#, fuzzy +#~ msgid "Gajim needs GTK 2.22 or above" +#~ msgstr "Gajim bezonas GTK 2.8 aŭ pli novan" + +#, fuzzy +#~ msgid "Gajim needs GTK 2.22 or above to run. Quiting..." +#~ msgstr "Gajim bezonas GTK 2.8 aŭ pli novan por funkcii. Finas..." + +#~ msgid "Gajim needs pywin32 to run" +#~ msgstr "Gajim bezonas pywin32 por funkcii" + +#~ msgid "" +#~ "Please make sure that Pywin32 is installed on your system. You can get it " +#~ "at %s" +#~ msgstr "" +#~ "Bonvolu certiĝi ke Pywin32 estas instalita en via operaciuma sistemo. Vi " +#~ "povas preni ĝin ĉe %s" + +#~ msgid "Gajim is already running" +#~ msgstr "Gajim jam estas lanĉita" + +#~ msgid "" +#~ "Another instance of Gajim seems to be running\n" +#~ "Run anyway?" +#~ msgstr "" +#~ "Alia ekzemplero de Gajim ŝajne estas lanĉita\n" +#~ "Ĉu lanĉu malgraŭ tio?" + +#~ msgid "A programming error has been detected" +#~ msgstr "Programa eraro estas detektita" + +#~ msgid "Details" +#~ msgstr "Detalaĵoj" + +#, fuzzy +#~ msgid "" +#~ "Gnome Keyring is installed but not correctly started (environment " +#~ "variable probably not correctly set)" +#~ msgstr "" +#~ "Gnoma ŝlosilaro (Gnome Keyring) instalitas sed ne estas korekte lanĉita " +#~ "(medivariablo eble ne korekte valorizitas)" + +#~ msgid "Jabber ID: " +#~ msgstr "Jabber-ID: " + +#~ msgid "Resource: " +#~ msgstr "Risurco: " + +#~ msgid "Subscription: " +#~ msgstr "Abono: " + +#, fuzzy +#~ msgid "Mood: " +#~ msgstr "Babilejo:" + +#, fuzzy +#~ msgid "Activity: " +#~ msgstr "Ŝaltita" + +#, fuzzy +#~ msgid "Check on startup if Gajim is the _default Jabber client" +#~ msgstr "Ĉiam kontroli ĉu Gajim estas _defaŭlta jabber-kliento dum lanĉo" + +#~ msgid "" +#~ "If True, Gajim will check if it's the default jabber client on each " +#~ "startup." +#~ msgstr "" +#~ "se \"True\", Gajim kontrolos ĉu ĝi estas defaŭlta jabber-kliento dum ĉiu " +#~ "lanĉo." + +#~ msgid "Gajim is not the default Jabber client" +#~ msgstr "Gajim ne estas defaŭlta jabber-kliento" + +#~ msgid "Would you like to make Gajim the default Jabber client?" +#~ msgstr "Ĉu vi deziras fari Gajim la defaŭlta jabber-kliento?" + +#~ msgid "Always check to see if Gajim is the default Jabber client on startup" +#~ msgstr "Ĉiam kontrolu ĉu Gajim estas defaŭlta jabber-kliento dum lanĉo" + +#~ msgid "Execute Command..." +#~ msgstr "Plenumi komandon..." + +#~ msgid " a window/tab opened with that contact " +#~ msgstr " iun fenestron/slipon malfermitan kun tiu kontakto " + +#~ msgid "Actions" +#~ msgstr "Agoj" + +#~ msgid "Conditions" +#~ msgstr "Kondiĉoj" + +#~ msgid "Advanced Notifications Control" +#~ msgstr "Kroma agordo de avizado" + +#~ msgid "Busy " +#~ msgstr "Okupata " + +#, fuzzy +#~ msgid "Contact Change Status " +#~ msgstr "Kontakto ŝanĝis sian staton" + +#~ msgid "Don't have " +#~ msgstr "Ne havas " + +#, fuzzy +#~ msgid "File Transfer Started " +#~ msgstr "Dosiera transmeto haltitas" + +#, fuzzy +#~ msgid "Group Chat Message Highlight " +#~ msgstr "Emfazado de mesaĝoj en babilejo" + +#, fuzzy +#~ msgid "Group Chat Message Received " +#~ msgstr "Ricevitas mesaĝo en babilejo" + +#~ msgid "Launch a command" +#~ msgstr "Lanĉi komandon" + +#~ msgid "One or more special statuses..." +#~ msgstr "kelka(j) speciala(j) stato(j)..." + +#~ msgid "Online / Free For Chat" +#~ msgstr "Enrete / Babilema" + +#~ msgid "Play a sound" +#~ msgstr "Ludi sonon" + +#~ msgid "When " +#~ msgstr "Kiam " + +#~ msgid "" +#~ "_Activate window manager's UrgencyHint to make chat window in taskbar " +#~ "flash" +#~ msgstr "" +#~ "_Aktivigi fenestragordilan urgkonsileton \"UrgencyHint\" por briligi " +#~ "interparolan fenestron en taskostrio" + +#~ msgid "_Disable auto opening chat window" +#~ msgstr "_Malŝaltas aŭtomatan malfermadon de interparola fenestro" + +#~ msgid "_Disable existing popup window" +#~ msgstr "_Malŝalti ekzistan ŝprucfenestron" + +#~ msgid "_Disable existing sound for this event" +#~ msgstr "_Malŝalti ekzistan sonon por tiu ĉi evento" + +#, fuzzy +#~ msgid "_Disable showing event in notification area" +#~ msgstr "_Malŝalti eventmontron en kontaktlisto" + +#~ msgid "_Disable showing event in roster" +#~ msgstr "_Malŝalti eventmontron en kontaktlisto" + +#~ msgid "_Inform me with a popup window" +#~ msgstr "_Informi min per ŝprucfenestro" + +#~ msgid "_Open chat window with user" +#~ msgstr "Malfermi interparolan _fenestron por uzulo" + +#~ msgid "_Show event in roster" +#~ msgstr "Montri eventon en _kontaktlisto" + +#~ msgid "and I " +#~ msgstr "kaj mi " + +#, fuzzy +#~ msgid "contact(s)" +#~ msgstr "Kontaktoj" + +#~ msgid "for " +#~ msgstr "por " + +#, fuzzy +#~ msgid "group(s)" +#~ msgstr "Grupo" + +#~ msgid "when I'm in" +#~ msgstr "dum mi estas je" + +#~ msgid "_Allow him/her to see my status" +#~ msgstr "_Permesi al li/ŝi vidi vian staton" + +#, fuzzy +#~ msgid "Descrition:" +#~ msgstr "Priskribo: %s" + +#, fuzzy +#~ msgid "Advanced..." +#~ msgstr "Krome" + +#, fuzzy +#~ msgid "Display _activity of contacts in roster" +#~ msgstr "Montri kaŝ_bildetojn de kontaktojn en kontaktlisto" + +#, fuzzy +#~ msgid "Display _tunes of contacts in roster" +#~ msgstr "Montri kaŝ_bildetojn de kontaktojn en kontaktlisto" + +#, fuzzy +#~ msgid "Display m_ood of contacts in roster" +#~ msgstr "Montri kaŝ_bildetojn de kontaktojn en kontaktlisto" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will display the activity of contacts in the roster " +#~ "window" +#~ msgstr "" +#~ "Se markitas, Gajim montros kaŝbildetojn de kontaktoj en kontaktlista " +#~ "fenestro kaj en babilejoj" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will display the location of contacts in the roster " +#~ "window" +#~ msgstr "" +#~ "Se markitas, Gajim montros kaŝbildetojn de kontaktoj en kontaktlista " +#~ "fenestro kaj en babilejoj" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will display the tunes of contacts in the roster window" +#~ msgstr "" +#~ "Se markitas, Gajim montros kaŝbildetojn de kontaktoj en kontaktlista " +#~ "fenestro kaj en babilejoj" + +#~ msgid "Gajim Instant Messenger" +#~ msgstr "Gajim tujmesaĝilo" + +#~ msgid "English" +#~ msgstr "Angla" + +#~ msgid "Belarusian" +#~ msgstr "Belorusa" + +#~ msgid "Bulgarian" +#~ msgstr "Bulgara" + +#~ msgid "Breton" +#~ msgstr "Bretona" + +#~ msgid "Czech" +#~ msgstr "Ĉeĥa" + +#~ msgid "German" +#~ msgstr "Germana" + +#~ msgid "Greek" +#~ msgstr "Greka" + +#~ msgid "British" +#~ msgstr "Brita" + +#~ msgid "Esperanto" +#~ msgstr "Esperanto" + +#~ msgid "Spanish" +#~ msgstr "Hispana" + +#~ msgid "Basque" +#~ msgstr "Eŭska" + +#~ msgid "French" +#~ msgstr "Franca" + +#~ msgid "Croatian" +#~ msgstr "Kroata" + +#~ msgid "Italian" +#~ msgstr "Itala" + +#~ msgid "Norwegian (b)" +#~ msgstr "Norvega (b)" + +#~ msgid "Dutch" +#~ msgstr "Nederlanda" + +#~ msgid "Norwegian" +#~ msgstr "Norvega" + +#~ msgid "Polish" +#~ msgstr "Pola" + +#~ msgid "Portuguese" +#~ msgstr "Portugala" + +#~ msgid "Brazilian Portuguese" +#~ msgstr "Brazila Portugala" + +#~ msgid "Russian" +#~ msgstr "Rusa" + +#, fuzzy +#~ msgid "Serbian" +#~ msgstr "Germana" + +#~ msgid "Slovak" +#~ msgstr "Slovaka" + +#~ msgid "Swedish" +#~ msgstr "Sveda" + +#~ msgid "Chinese (Ch)" +#~ msgstr "Ĉina (Ch)" + +#~ msgid "Spelling language" +#~ msgstr "Lingvo de literumado" + +#~ msgid "all or space separated status" +#~ msgstr "'all' aŭ spacetseparitaj statoj" + +#~ msgid "'yes', 'no', or 'both'" +#~ msgstr "'yes', 'no', aŭ 'both'" + +#~ msgid "'yes', 'no' or ''" +#~ msgstr "'yes', 'no' aŭ ''" + +#~ msgid "Check your connection or try again later" +#~ msgstr "Kontrolu vian konekton aŭ provu denove poste" + +#~ msgid "error: cannot open %s for reading" +#~ msgstr "eraro: %s nedisponeblas por legi" + +#~ msgid "Unable to bind to port %s." +#~ msgstr "Neeblas aliĝi al pordo %s." + +#~ msgid "" +#~ "Maybe you have another running instance of Gajim. File Transfer will be " +#~ "cancelled." +#~ msgstr "" +#~ "Eble vi havas alian ekzempleron kiu estas plenumata nun. Dosiertransmeto " +#~ "estos nuligita." + +#~ msgid "A GTK+ jabber client" +#~ msgstr "GTK+ jabber-kliento" + +#~ msgid "Condition" +#~ msgstr "Kondiĉo" + +#~ msgid "when I am " +#~ msgstr "dum mi estas " + +#, fuzzy +#~ msgid "one of: offline, online, chat, away, xa, dnd, invisible " +#~ msgstr "" +#~ "unu el: senkonekta, enrete, babilas, fora, nedisponebla, okupata, " +#~ "nevidebla " + +#, fuzzy +#~ msgid "" +#~ "Returns current status message(the global one unless account is specified)" +#~ msgstr "Donas nuntempan statmesaĝon (la komuna se konto estas nespecifita)" + +#~ msgid "" +#~ "Usage: %s %s %s \n" +#~ "\t %s" +#~ msgstr "" +#~ "Uzado: %s %s %s \n" +#~ "\t %s" + +#, fuzzy +#~ msgid "" +#~ "Too many arguments. \n" +#~ "Type \"%s help %s\" for more info" +#~ msgstr "" +#~ "Tro multe da argumentoj. \n" +#~ "Enigu \"%s help %s\" por plia informo" + +#, fuzzy +#~ msgid "" +#~ "Argument \"%s\" is not specified. \n" +#~ "Type \"%s help %s\" for more info" +#~ msgstr "" +#~ "Argumento \"%s\" ne estas specifita. \n" +#~ "Enigi \"%s help %s\" por plia informo" + +#~ msgid "Subject: %s" +#~ msgstr "Temo: %s" + +#, fuzzy +#~ msgid "Mood: %s" +#~ msgstr "Babilejo:" + +#, fuzzy +#~ msgid "Activity: %s" +#~ msgstr "Ŝaltita" + +#~ msgid "_Disable showing event in systray" +#~ msgstr "_Malŝalti montron de evento en taskopleto" + +#~ msgid "_Show event in systray" +#~ msgstr "Montri eventon en _taskopleto" + +#, fuzzy +#~ msgid "Autodetect on every Gajim startup" +#~ msgstr "K_onekti dum lanĉo de Gajim" + +#, fuzzy +#~ msgid "Show systray:" +#~ msgstr "Montri eventon en _taskopleto" + +#~ msgid "Nickname not allowed: %s" +#~ msgstr "Kaŝnomo malpermesita: %s" + +#~ msgid "we are now subscribed to %s" +#~ msgstr "nun ni abonas %s" + +#~ msgid "we are now unsubscribed from %s" +#~ msgstr "ni nun ne abonas pri %s" + +#~ msgid "Account Modification" +#~ msgstr "Konta korektado" + +#~ msgid "" +#~ "Check this so Gajim will connect in port 5223 where legacy servers are " +#~ "expected to have SSL capabilities. Note that Gajim uses TLS encryption by " +#~ "default if broadcasted by the server, and with this option enabled TLS " +#~ "will be disabled" +#~ msgstr "" +#~ "Marku tion por ke Gajim konektos al pordo 5223 kie malnovaj serviloj " +#~ "atendas SSL-kapablajn konektojn. Rimarku ke Gajim defaŭlte uzas TLS-" +#~ "ĉifradon se la servilo subtenas ĝin, kaj tiu opcio malŝaltas TLS" + +#~ msgid "Edit Personal Information..." +#~ msgstr "Korekti personan informon..." + +#~ msgid "Hostname: " +#~ msgstr "Servilnomo: " + +#~ msgid "" +#~ "If checked, Gajim will store the password in ~/.gajim/config with 'read' " +#~ "permission only for you" +#~ msgstr "" +#~ "Se markitas, Gajim konservos pasvorto en ~/.gajim/config kun legpermeso " +#~ "nur por vi." + +#~ msgid "Port: " +#~ msgstr "Pordo: " + +#~ msgid "Save _passphrase (insecure)" +#~ msgstr "Konservi pas_frazon (malsekure)" + +#~ msgid "Use _SSL (legacy)" +#~ msgstr "Uzi _SSL (malnovan)" + +#~ msgid "" +#~ "Receive a Message\n" +#~ "Contact Disconnected \n" +#~ "Contact Change Status \n" +#~ "Group Chat Message Highlight \n" +#~ "Group Chat Message Received \n" +#~ "File Transfer Request \n" +#~ "File Transfer Started \n" +#~ "File Transfer Finished" +#~ msgstr "" +#~ "Mesaĝo venas\n" +#~ "Kontakto senkonektas\n" +#~ "Kontakto ŝanĝas staton\n" +#~ "Emfazita babileja mesaĝo\n" +#~ "Babileja mesaĝo venas\n" +#~ "Dosiertransmeta peto\n" +#~ "Dosiertransmeto komencis\n" +#~ "Dosiertransmeto finis" + +#~ msgid "" +#~ "contact(s)\n" +#~ "group(s)\n" +#~ "everybody" +#~ msgstr "" +#~ "kontakto(j)\n" +#~ "grupo(j)\n" +#~ "ĉiuj" + +#~ msgid "" +#~ "Account row\n" +#~ "Group row\n" +#~ "Contact row\n" +#~ "Chat Banner" +#~ msgstr "" +#~ "Konta linio\n" +#~ "Grupa linio\n" +#~ "Kontakta linio\n" +#~ "Rubando" + +#, fuzzy +#~ msgid "gtk-delete" +#~ msgstr "Forigi" + +#~ msgid "" +#~ "All chat states\n" +#~ "Composing only\n" +#~ "Disabled" +#~ msgstr "" +#~ "pri ĉiuj babilstatoj\n" +#~ "nur pri tajpado\n" +#~ "neniam" + +#, fuzzy +#~ msgid "" +#~ "Autodetect on every Gajim startup\n" +#~ "Always use GNOME default applications\n" +#~ "Always use KDE default applications\n" +#~ "Always use Xfce default applications\n" +#~ "Custom" +#~ msgstr "" +#~ "Aŭtodetekti dum ĉiu Gajim lanĉo\n" +#~ "Ĉiam uzi defaŭlton de GNOME\n" +#~ "Ĉiam uzi defaŭlton de KDE\n" +#~ "Ĉiam uzi defaŭlton de Xfce\n" +#~ "Propraj" + +#~ msgid "" +#~ "none\n" +#~ "both\n" +#~ "from\n" +#~ "to" +#~ msgstr "" +#~ "neniu\n" +#~ "ambaŭ\n" +#~ "de\n" +#~ "al" + +#, fuzzy +#~ msgid "gtk-cancel" +#~ msgstr "Forigi" + +#~ msgid "pysqlite2 (aka python-pysqlite2) dependency is missing. Exiting..." +#~ msgstr "pysqlite2 (ankaŭ konata kiel python-pysqlite2) mankas. Finas..." + +#~ msgid "GTK+ runtime is missing libglade support" +#~ msgstr "Mankas subteno de libglade en GTK+" + +#~ msgid "" +#~ "Please remove your current GTK+ runtime and install the latest stable " +#~ "version from %s" +#~ msgstr "" +#~ "Bonvolu forigi vian nuntempan GTK+ bibliotekon kaj instali la plej lastan " +#~ "stabilan version de %s" + +#~ msgid "" +#~ "Please make sure that GTK+ and PyGTK have libglade support in your system." +#~ msgstr "" +#~ "Bonvolu kontroli ke GTK+ kaj PyGTK en via sistemo subtenas la bibliotekon " +#~ "libglade." + +#~ msgid "Gajim needs PySQLite2 to run" +#~ msgstr "Gajim bezonas PySqlITE2 por funkcii" + +#, fuzzy +#~ msgid "gtk-ok" +#~ msgstr "gtk+" + +#, fuzzy +#~ msgid "" +#~ "The host %s you configured as the ft_add_hosts_to_send advanced option is " +#~ "not valid, so ignored." +#~ msgstr "" +#~ "La servilnomo, specifita de vi en la agordero \"ft_override_host_to_send" +#~ "\" de la detala agordo, ne ekzistas aŭ malkorektas, tial estas ignorata." + +#~ msgid "OpenPGP passphrase was not given" +#~ msgstr "OpenPGP-pasfrazo ne estis donita" + +#~ msgid "" +#~ "To continue sending and receiving messages, you will need to reconnect." +#~ msgstr "Por plu sendi kaj ricevi mesaĝojn, vi bezonas rekonekti." + +#~ msgid "" +#~ "You are not connected or not visible to others. Your message could not be " +#~ "sent." +#~ msgstr "" +#~ "Vi estas senkonekta aŭ nevidebla por aliaj. Via mesaĝo ne estis sendita." + +#~ msgid "Add Special _Notification" +#~ msgstr "Aligi specialan _avizon" + +#~ msgid "Assign Open_PGP Key" +#~ msgstr "Enigi Open_PGP-ŝlosilon" + +#, fuzzy +#~ msgid "" +#~ "Usage: /%(command)s , sends action to the current group chat. Use " +#~ "third person. (e.g. /%(command)s explodes.)" +#~ msgstr "" +#~ "Uzado: /%s , sendas agon en aktualan babilejon (ekzemple /%s " +#~ "eksplodas)." + +#~ msgid "No help info for /%s" +#~ msgstr "helpinformo mankas por /%s" + +#~ msgid "Enable link-local/zeroconf messaging" +#~ msgstr "Ebligi lig-lokan/zerokonf komunikadon" + +#~ msgid "Nickname not found: %s" +#~ msgstr "Kaŝnomo ne trovitas: %s" + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s [reason], bans the JID from the group chat. The " +#~ "nickname of an occupant may be substituted, but not if it contains \"@\". " +#~ "If the JID is currently in the group chat, he/she/it will also be kicked." +#~ msgstr "" +#~ "Uzado: /%s [kialo], malpermesas, ke la JID aliĝi al la " +#~ "babilejo. Eblas uzi la kaŝnomon de uzulo, sed ne se ĝi entenas \"@\" aŭ " +#~ "spaceton. Se la JID ĉeestas en la babilejo, tiu estos ankaŭ elpelita." + +#~ msgid "" +#~ "Usage: /%s [reason], closes the current window or tab, displaying reason " +#~ "if specified." +#~ msgstr "" +#~ "Uzado: /%s [kialo], - fermas la nuntempan fenestron aŭ slipon, informe " +#~ "pri kialo se specifita." + +#~ msgid "" +#~ "Usage: /%s [reason], invites JID to the current group chat, " +#~ "optionally providing a reason." +#~ msgstr "" +#~ "Uzado: /%s [kialo], - invitas JID al la nuntempa babilejo, " +#~ "fakultative informante pri kialo." + +#~ msgid "" +#~ "Usage: /%s @[/nickname], offers to join room@server " +#~ "optionally using specified nickname." +#~ msgstr "" +#~ "Uzado: /%s @[/kaŝnomo], - aliĝas al room@server " +#~ "fakultative uze specifitan kaŝnomon." + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s [reason], removes the occupant specified by " +#~ "nickname from the group chat and optionally displays a reason." +#~ msgstr "" +#~ "Uzado: /%s [kialo], - forigas la uzulon specifitan per kaŝnomo " +#~ "el la babilejo kaj fakultative montras kialon. NE SUBTENAS spacetojn en " +#~ "kaŝnomo." + +#~ msgid "" +#~ "Usage: /%s [message], opens a private message window and sends " +#~ "message to the occupant specified by nickname." +#~ msgstr "" +#~ "Uzado: /%s [mesaĝo], malfermas privatan mesaĝan fenestron kaj " +#~ "sendas mesaĝon al la uzulo specifita per kaŝnomo." + +#~ msgid "Usage: /%s , changes your nickname in current group chat." +#~ msgstr "Uzado: /%s , ŝanĝas vian kaŝnomon en nuntempa babilejo." + +#~ msgid "" +#~ "Usage: /%s [topic], displays or updates the current group chat topic." +#~ msgstr "" +#~ "Uzado: /%s [temo], - eligas aŭ novigas la nuntempan babilejan temon." + +#~ msgid "" +#~ "Usage: /%s , sends a message without looking for other commands." +#~ msgstr "" +#~ "Uzado: /%s , - sendas mesaĝon preter rekonado de aliaj komandoj." + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s , allow to send you messages and private " +#~ "messages." +#~ msgstr "Uzado: /%s , ŝanĝas vian kaŝnomon en nuntempa babilejo." + +#~ msgid "Click to see features (like MSN, ICQ transports) of jabber servers" +#~ msgstr "" +#~ "Klaku por vidi trajtojn (kiel MSN, ICQ transportiloj) de jabber-serviloj" + +#~ msgid "Your JID:" +#~ msgstr "Via JID:" + +#~ msgid "Modify Account" +#~ msgstr "Korekti konton" + +#, fuzzy +#~ msgid "" +#~ "%(title)s by %(artist)s\n" +#~ "from %(source)s" +#~ msgstr "\"%(title)s\" de %(artist)s" + +#~ msgid "Gajim account %s" +#~ msgstr "Gajim-konto %s" + +#~ msgid "This account is already configured in Gajim." +#~ msgstr "Tiu ĉi konto jam ĉeestas en kontlisto de Gajim." + +#, fuzzy +#~ msgid "Idle" +#~ msgstr "Id" + +#~ msgid "File transfer stopped by the contact at the other end" +#~ msgstr "Dosiertransmeto estas hatlita de aliflanka kontakto" + +#, fuzzy +#~ msgid "Generic" +#~ msgstr "Ĝenerala" + +#~ msgid "%s has not broadcast an OpenPGP key, nor has one been assigned" +#~ msgstr "Nek %s publicis OpenPGP-ŝlosilon, nek vi enigis ĝin" + +#~ msgid "No such command: /%s (if you want to send this, prefix it with /say)" +#~ msgstr "" +#~ "Ne estas tiu komando: /%s (se vi volas sendi tion, metu /say antaŭen)" + +#~ msgid "" +#~ "Usage: /%s , sends action to the current group chat. Use third " +#~ "person. (e.g. /%s explodes.)" +#~ msgstr "" +#~ "Uzado: /%s , sendas agon en aktualan babilejon (ekzemple /%s " +#~ "eksplodas)." + +#~ msgid "_Retype Password:" +#~ msgstr "_Ripetu pasvorton:" + +#~ msgid "" +#~ "If checked, all local contacts that use a Bonjour compatible chat client " +#~ "(like iChat, Trillian or Gaim) will be shown in roster. You don't need to " +#~ "be connected to a jabber server for it to work.\n" +#~ "This is only available if python-avahi is installed and avahi-daemon is " +#~ "running." +#~ msgstr "" +#~ "Se markita, ĉiuj lokaj kontaktoj kiuj uzas Bonjour-kapablajn " +#~ "tujmesaĝilojn (kiel iChat, Trillian aŭ Gaim) estos montrata en " +#~ "kontaktlisto. Vi ne bezonas konekton al jabber-servilo por ke tio " +#~ "funkciu.\n" +#~ "Ĉi tio eblas nur se estas instalita python-avahi kaj avahi-demono estas " +#~ "lanĉita." + +#~ msgid "" +#~ "If you have 2 or more accounts and this is checked, Gajim will list all " +#~ "contacts as if you had one account" +#~ msgstr "" +#~ "Se vi havas 2 aŭ plie kontojn kaj tio estas markita, Gajim montras ĉiujn " +#~ "kontaktojn, kvazaŭ vi havas unu konton" + +#~ msgid "_Enable link-local messaging" +#~ msgstr "Ebligi _lig-lokan komunikadon" + +#~ msgid "_Compact View Alt+C" +#~ msgstr "_Kompakta vido Alt+C" + +#~ msgid "Click to see past conversation in this room" +#~ msgstr "Klaku por vidi pasintan interparolon en tiu ĉi babilejo" + +#~ msgid "Build custom query" +#~ msgstr "Konstrui propran informmendon" + +#~ msgid "Query Builder..." +#~ msgstr "Konstruilo de petoj..." + +#~ msgid "Invitation Received" +#~ msgstr "Invito estas ricevita" + +#~ msgid "Format of a line" +#~ msgstr "Aranĝo de lineo" + +#~ msgid "Interface Customization" +#~ msgstr "Agordo de fasado" + +#~ msgid "Also known as iChat style" +#~ msgstr "Konata ankaŭ kiel stilo de iChat" + +#~ msgid "" +#~ "An example: If you have enabled status message for away, Gajim won't ask " +#~ "you anymore for a status message when you change your status to away; it " +#~ "will use the default one set here" +#~ msgstr "" +#~ "Ekzemplo: se vi havas ebligitan statmesaĝon por fora, Gajim ne demandos " +#~ "vin por statmesaĝo kiam vi ŝanĝas vian staton al fora; ĝi uzos defaŭlton " +#~ "kiu estas specifita ĉi tie" + +#~ msgid "" +#~ "Determined by sender\n" +#~ "Chat message\n" +#~ "Single message" +#~ msgstr "" +#~ "Determinatajn de sendanto\n" +#~ "Interparolajn mesaĝojn\n" +#~ "Unuopajn mesaĝojn" + +#~ msgid "E_very 5 minutes" +#~ msgstr "Ĉiujn 5 _minutojn" + +#~ msgid "" +#~ "Gajim will automatically show new events by popping up the relevant window" +#~ msgstr "" +#~ "Gajim aŭtomate montros novajn eventojn antaŭigante la adekvatan fenestron" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed in" +#~ msgstr "" +#~ "Gajim avizos vin per ŝprucfenestro en la malsupra dekstra angulo de la " +#~ "ekrano pri kontaktoj kiu ĵus ensalutis" + +#~ msgid "" +#~ "Gajim will only change the icon of the contact that triggered the new " +#~ "event" +#~ msgstr "" +#~ "Gajim nur ŝanĝos la piktogramon de la kontakto, kiu okazigis novan eventon" + +#~ msgid "" +#~ "If checked, Gajim will remember the roster and chat window positions in " +#~ "the screen and the sizes of them next time you run it" +#~ msgstr "" +#~ "Se markitas, Gajim memoros la kontaktlistan kaj interparolajn fenestrajn " +#~ "lokojn sur la ekrano kaj iliajn dimensiojn je sekva lanĉo." + +#~ msgid "" +#~ "Never\n" +#~ "Always\n" +#~ "Per account\n" +#~ "Per type" +#~ msgstr "" +#~ "Neniam\n" +#~ "Ĉiam\n" +#~ "Perkonte\n" +#~ "Perspece" + +#~ msgid "Outgoing Chat state noti_fications:" +#~ msgstr "Eliraj babilstataj _avizoj:" + +#~ msgid "Print time:" +#~ msgstr "Eligi tempon:" + +#~ msgid "Save _position and size for roster and chat windows" +#~ msgstr "" +#~ "Konservi _lokon kaj grandecon de kontaktlista kaj interparola fenestroj" + +#~ msgid "Set status message to reflect currently playing _music track" +#~ msgstr "Starigi statmesaĝon por reflekti kurantan ludantan _muzikaĵon" + +#~ msgid "The auto away status message" +#~ msgstr "La aŭtomate fora statmesaĝo" + +#~ msgid "Treat all incoming messages as:" +#~ msgstr "Rigardi ĉiujn venantajn mesaĝojn kiel:" + +#~ msgid "" +#~ "When a new event (message, file transfer request etc..) is received, the " +#~ "following methods may be used to inform you about it. Please note that " +#~ "events about new messages only occur if it is a new message from a " +#~ "contact you are not already chatting with" +#~ msgstr "" +#~ "Kiam nova evento (mesaĝo, peto pri dosiertransmeto ktp) estas ricevita, " +#~ "la sekvaj metodoj eblos uzata por informi vin pri ĝi. Bonvolu rimarki ke " +#~ "eventoj pri novaj mesaĝoj okazas nur se ĝi estas mesaĝo de kontakto kun " +#~ "kiu vi ankoraŭ ne parolas" + +#~ msgid "" +#~ "Works for Rhythmbox and Muine players. For more players, please visit " +#~ "http://trac.gajim.org/wiki/GajimAndMusicPlayer" +#~ msgstr "" +#~ "Funkcias por la ludiloj Rhythmbox kaj Muine. Por aliaj ludiloj, bonvolu " +#~ "viziti http://trac.gajim.org/wiki/GajimAndMusicPlayer" + +#~ msgid "_Advanced Notifications Control..." +#~ msgstr "_Kroma agordo de avizado..." + +#~ msgid "_Player:" +#~ msgstr "_Ludilo:" + +#~ msgid "Role:" +#~ msgstr "Rolo:" + +#~ msgid "_Remove from Roster" +#~ msgstr "_Forigi el kontaktlisto" + +#~ msgid "A_ccounts" +#~ msgstr "K_ontoj" + +#~ msgid "OS:" +#~ msgstr "OS:" + +#~ msgid "" +#~ "If that is not your language for which you want to highlight misspelled " +#~ "words, then please set your $LANG as appropriate. Eg. for French do " +#~ "export LANG=fr_FR or export LANG=fr_FR.UTF-8 in ~/.bash_profile or to " +#~ "make it global in /etc/profile.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "Se tiu lingvo ne estas por kiu vi volas emfazi mistajpojn, do bonvolu " +#~ "plenigi variablon $LANG per bezona valoro. Ekzemple por Esperanto: " +#~ "LANG=eo_EO aŭ export LANG=eo_EO.UTF-8 en ~/.bash_profile aŭ se, vi volas " +#~ "fari tion malloke, en /etc/profile.\n" +#~ "\n" +#~ "Emfazado de mistajpoj ne funkcios" + +#~ msgid "Every %s _minutes" +#~ msgstr "Ĉiujn %s _minutojn" + +#~ msgid "You will always see him or her as offline." +#~ msgstr "Vi ĉiam vidos ŝin aŭ lin senkonekta." + +#~ msgid "%s is now %s (%s)" +#~ msgstr "%s nun estas %s (%s)" + +#~ msgid "%s is now %s" +#~ msgstr "%s nun estas %s" + +#~ msgid "" +#~ "\n" +#~ "From: %(from_address)s" +#~ msgstr "" +#~ "\n" +#~ "De: %(from_address)s" + +#~ msgid "Network Manager support not available" +#~ msgstr "Subteno de retadministrilo mankas" + +#~ msgid "Session Management support not available (missing gnome.ui module)" +#~ msgstr "Subteno de seancagordo nedisponeblas (mankas modulo gnome.ui)" + +#~ msgid "%s does not appear to be a valid JID" +#~ msgstr "Tio ne estas valida JID: %s" + +#~ msgid "%s - Gajim" +#~ msgstr "%s - Gajim" + +#~ msgid "_New group chat" +#~ msgstr "_Nova babilejo" + +#~ msgid "Log _off" +#~ msgstr "E_lsaluti" + +#~ msgid "Save passphrase" +#~ msgstr "Konservi pasfrazon" + +#~ msgid "Drop %s in group %s" +#~ msgstr "Movi %s en la grupon %s" + +#~ msgid "Hides the buttons in two persons chat window." +#~ msgstr "Kaŝas la butonojn en dupersona interparola fenestro." + +#~ msgid "Connected to server %s:%s with %s" +#~ msgstr "Konektis al servilo %s:%s per %s" + +#~ msgid "" +#~ "The server's key has changed, or someone is trying to hack your " +#~ "connection." +#~ msgstr "" +#~ "La servila ŝlosilo estas ŝanĝita, aŭ iu provas rompmalfermi vian konekton." + +#~ msgid "Unable to check fingerprint for %s. Connection could be insecure." +#~ msgstr "Neeblas kontroli fingrospuron por %s. Konekto estos nesekura." + +#~ msgid "Missing fingerprint in SSL connection to %s" +#~ msgstr "Mankas fingrospuro en SSL-konekto al %s" + +#~ msgid "Fingerprint mismatch for %s: Got %s, expected %s" +#~ msgstr "Fingrospura malkongruo por %s: ricevis %s, atendis %s" + +#~ msgid "invisible" +#~ msgstr "nevidebla" + +#~ msgid "offline" +#~ msgstr "senkonekta" + +#~ msgid " %d unread single message" +#~ msgid_plural " %d unread single messages" +#~ msgstr[0] " %d nelegita unuopa mesaĝo" +#~ msgstr[1] " %d nelegitaj unuopaj mesaĝoj" + +#~ msgid " %d unread group chat message" +#~ msgid_plural " %d unread group chat messages" +#~ msgstr[0] " %d nelegita babileja mesaĝo" +#~ msgstr[1] " %d nelegitaj babilejaj mesaĝoj" + +#~ msgid " %d unread private message" +#~ msgid_plural " %d unread private messages" +#~ msgstr[0] " %d nelegita privata mesaĝo" +#~ msgstr[1] "%d nelegitaj privataj mesaĝoj" + +#~ msgid "" +#~ "Connection to host could not be established: Incorrect answer from server." +#~ msgstr "Konekto kun retnodo masukcesis: Nekorekta respondo de servilo." + +#~ msgid "Connection to host could not be established" +#~ msgstr "Konekto kun retnodo neestableblas." + +#~ msgid "_After time:" +#~ msgstr "_Post tempo:" + +#~ msgid "_Before time:" +#~ msgstr "_Antaŭ tempo:" + +#~ msgid "_Retrieve" +#~ msgstr "_Reobteni" + +#~ msgid "Information published" +#~ msgstr "Informo publicitas" + +#~ msgid "Without a connection, you can not get your contact information." +#~ msgstr "Senkonekte vi ne povas ricevi vian kontaktan informon." + +#~ msgid "Merge consecutive nickname in chat window." +#~ msgstr "Unuigi ripetajn kaŝnomojn en konversacia fenestro." + +#~ msgid "_New room" +#~ msgstr "_Nova babilejo" + +#~ msgid "" +#~ "Sound to play when any MUC message arrives. (This setting is taken into " +#~ "account only if notify_on_all_muc_messages is True)" +#~ msgstr "" +#~ "Sono por ludi kiam ĉiu mesaĝo en babilejo venas. (Tiun ĉi parametron mi " +#~ "konsideras nur se parametro \"notify_on_all_muc_messages\" estas \"True\")" + +#~ msgid "Invalid room or server name" +#~ msgstr "Malkorekta nomo de babilejo aŭ servilo" + +#~ msgid "Gajim - %d unread message" +#~ msgid_plural "Gajim - %d unread messages" +#~ msgstr[0] "Gajim - %d nelegita mesaĝo" +#~ msgstr[1] "Gajim - %d nelegitaj mesaĝoj" + +#~ msgid "_Account:" +#~ msgstr "_Konto:" + +#~ msgid "Away " +#~ msgstr "Fora " + +#~ msgid "Down" +#~ msgstr "Malsupren" + +#~ msgid "List of special notifications settings" +#~ msgstr "Agordo de specialaj avizoj" + +#~ msgid "Not Available " +#~ msgstr "Nedisponebla " + +#~ msgid "Up" +#~ msgstr "Supren" + +#~ msgid "Create your own Privacy Lists" +#~ msgstr "Krei viajn proprajn privatajn listojn" + +#~ msgid "Server-based Privacy Lists" +#~ msgstr "Servilbazitaj privataj listoj" + +#~ msgid "Jabber" +#~ msgstr "Jabber" + +#~ msgid "Your personal information has been published successfully." +#~ msgstr "Via persona informo estas sukcese publicita." + +#~ msgid "Migrating Logs..." +#~ msgstr "Portas protokolojn..." + +#~ msgid "Role: " +#~ msgstr "Rolo: " + +#~ msgid "Since %s" +#~ msgstr "Ekde %s" + +#~ msgid "" +#~ "Exit the already running Gajim, or delete pid file:\n" +#~ " \"%s\".\n" +#~ " Quiting..." +#~ msgstr "" +#~ "Finu la jam aktivan Gajim, aŭ forigu pid dosieron:\n" +#~ " \"%s\".\n" +#~ " Fino..." + +#~ msgid "Can't create a metacontact with contacts from two different accounts" +#~ msgstr "Neeblas krei metakontakton kun kontaktoj el du diversaj kontoj" diff --git a/po/es.po b/po/es.po new file mode 100644 index 0000000..449e8bb --- /dev/null +++ b/po/es.po @@ -0,0 +1,16577 @@ +# Spanish translations for gajim package +# Traducción española del paquete gajim. +# Copyright (C) 2004 THE gajim'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gajim package. +# Automatically generated, 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: gajim 2\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-01 17:44+0100\n" +"PO-Revision-Date: 2021-01-05 13:31+0000\n" +"Last-Translator: El gran Pirujo \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Weblate 4.1.1\n" + +#: gajim/history_manager.py:78 +msgid "Usage:" +msgstr "Uso:" + +#: gajim/history_manager.py:80 +msgid "Options:" +msgstr "Opciones:" + +#: gajim/history_manager.py:82 +msgid "Show this help message and exit" +msgstr "Mostrar este mensaje de ayuda y salir" + +#: gajim/history_manager.py:83 +msgid "Choose folder for logfile" +msgstr "Elegir directorio para el fichero de traza" + +#: gajim/history_manager.py:113 +msgid "Cannot find history logs database" +msgstr "No se puede encontrar la base de datos del historial" + +#: gajim/history_manager.py:114 +#, python-format +msgid "%s does not exist." +msgstr "%s no existe." + +#: gajim/history_manager.py:147 gajim/history_manager.py:201 +#: gajim/gtk/add_contact.py:31 gajim/gtk/discovery.py:833 +#: gajim/gtk/accounts.py:892 gajim/data/gui/vcard_information_window.ui:55 +#: gajim/data/gui/bookmarks.ui:45 gajim/data/gui/blocking_list.ui:43 +#: gajim/data/gui/mam_preferences.ui:117 +msgid "XMPP Address" +msgstr "Dirección XMPP" + +#: gajim/history_manager.py:160 gajim/history_manager.py:208 +#: gajim/gtk/history.py:108 gajim/data/gui/history_window.ui:89 +msgid "Date" +msgstr "Fecha" + +#: gajim/history_manager.py:167 gajim/history_manager.py:231 +#: gajim/data/gui/profile.ui:232 gajim/data/gui/vcard_information_window.ui:442 +#: gajim/data/gui/bookmarks.ui:84 +msgid "Nickname" +msgstr "Alias" + +#: gajim/history_manager.py:178 gajim/history_manager.py:217 +#: gajim/gtk/history.py:117 gajim/data/gui/single_message_window.ui:266 +msgid "Message" +msgstr "Mensaje" + +#: gajim/history_manager.py:186 gajim/history_manager.py:224 +#: gajim/data/gui/groups_post_window.ui:49 +#: gajim/data/gui/single_message_window.ui:205 +msgid "Subject" +msgstr "Tema" + +#: gajim/history_manager.py:254 +msgid "Database Cleanup" +msgstr "Limpieza de la base de datos" + +#: gajim/history_manager.py:255 +msgid "Clean up the database?" +msgstr "¿Limpiar la base de datos?" + +#: gajim/history_manager.py:256 +msgid "" +"This is STRONGLY NOT RECOMMENDED IF GAJIM IS RUNNING.\n" +"Normally, the allocated database size will not be freed, it will just become " +"reusable. This operation may take a while." +msgstr "" +"Esto es TOTALMENTE NO RECOMENDADO SI GAJIM ESTÁ EJECUTANDOSE.\n" +"Normalmente el tamaño asignado a la base de datos no es liberado, " +"simplemente vuelve a ser reutilizable. Esta operación puede tardar un poco." + +#: gajim/history_manager.py:262 +msgid "_Cleanup" +msgstr "Limpieza" + +#: gajim/history_manager.py:527 gajim/gtk/filetransfer.py:238 +#: gajim/gtk/filetransfer.py:248 +msgid "You" +msgstr "Tú" + +#: gajim/history_manager.py:539 +#, python-format +msgid "%(who)s on %(time)s said: %(message)s\n" +msgstr "%(who)s - %(time)s dijo: %(message)s\n" + +#: gajim/history_manager.py:576 gajim/history_manager.py:615 +#: gajim/gtk/themes.py:362 gajim/gtk/roster_item_exchange.py:75 +#: gajim/gtk/roster_item_exchange.py:185 +msgid "Delete" +msgstr "Eliminar" + +#: gajim/history_manager.py:577 +msgid "Delete Conversation" +msgid_plural "Delete Conversations" +msgstr[0] "Borrar conversación" +msgstr[1] "Borrar conversaciones" + +#: gajim/history_manager.py:578 +#, python-format +msgid "Do you want to permanently delete this conversation with %s?" +msgid_plural "Do you want to permanently delete these conversations?" +msgstr[0] "¿Quieres borrar permanentemente esta conversación con %s?" +msgstr[1] "¿Quieres borrar permanentemente estas conversaciones?" + +#: gajim/history_manager.py:616 +msgid "Delete Message" +msgid_plural "Delete Messages" +msgstr[0] "Borrar mensaje" +msgstr[1] "Borrar mensajes" + +#: gajim/history_manager.py:617 +msgid "Do you want to permanently delete this message?" +msgid_plural "Do you want to permanently delete these messages?" +msgstr[0] "¿Realmente quieres eliminar este mensaje?" +msgstr[1] "¿Realmente quieres eliminar estos mensajes?" + +#: gajim/roster_window.py:268 gajim/roster_window.py:991 +msgid "Merged accounts" +msgstr "Cuentas combinadas" + +#: gajim/roster_window.py:756 gajim/roster_window.py:1667 +#: gajim/roster_window.py:1669 gajim/roster_window.py:1986 +#: gajim/roster_window.py:3065 gajim/roster_window.py:3098 +#: gajim/roster_window.py:4026 gajim/gui_interface.py:338 +#: gajim/gui_menu_builder.py:254 gajim/gui_menu_builder.py:345 +#: gajim/chat_control.py:291 gajim/chat_control.py:421 +#: gajim/gtk/add_contact.py:320 gajim/gtk/roster_item_exchange.py:112 +#: gajim/gtk/subscription_request.py:77 gajim/gtk/subscription_request.py:126 +#: gajim/common/helpers.py:89 gajim/common/helpers.py:207 +#: gajim/common/contacts.py:243 gajim/common/contacts.py:382 +#: gajim/common/contacts.py:493 +msgid "Not in contact list" +msgstr "No en la lista de contactos" + +#: gajim/roster_window.py:823 gajim/roster_window.py:1579 +#: gajim/roster_window.py:1612 gajim/roster_window.py:1663 +#: gajim/roster_window.py:1665 gajim/roster_window.py:1820 +#: gajim/roster_window.py:2378 gajim/roster_window.py:3990 +#: gajim/roster_window.py:4638 gajim/gtk/discovery.py:127 +#: gajim/gtk/discovery.py:128 gajim/gtk/discovery.py:1419 +#: gajim/common/helpers.py:88 gajim/common/contacts.py:225 +#: gajim/common/contacts.py:485 +msgid "Transports" +msgstr "Transportes" + +#: gajim/roster_window.py:1671 gajim/roster_window.py:1673 +#: gajim/roster_window.py:3990 gajim/roster_window.py:4603 +#: gajim/gui_interface.py:1425 gajim/common/helpers.py:91 +#: gajim/common/contacts.py:223 +msgid "Group chats" +msgstr "Grupos de charla" + +#: gajim/roster_window.py:1901 gajim/chat_control.py:1688 +msgid "Remote contact stopped transfer" +msgstr "El contacto remoto detuvo la transferencia" + +#: gajim/roster_window.py:1903 gajim/chat_control.py:1690 +msgid "Error opening file" +msgstr "Error abriendo el fichero" + +#: gajim/roster_window.py:1968 +msgid "Authorization sent" +msgstr "Autorización enviada" + +#: gajim/roster_window.py:1969 +#, python-format +msgid "\"%s\" will now see your status." +msgstr "Ahora \"%s\" podrá saber tu estado." + +#: gajim/roster_window.py:1987 +msgid "Subscription request has been sent" +msgstr "La petición de subscripción ha sido enviada" + +#: gajim/roster_window.py:1988 +#, python-format +msgid "If \"%s\" accepts this request you will know their status." +msgstr "Si \"%s\" acepta esta petición sabrás su estado." + +#: gajim/roster_window.py:2002 +msgid "Authorization removed" +msgstr "Autorización eliminada" + +#: gajim/roster_window.py:2003 +#, python-format +msgid "Now \"%s\" will always see you as offline." +msgstr "Ahora \"%s\" siempre te verá desconectado." + +#: gajim/roster_window.py:2198 gajim/data/gui/shortcuts_window.ui:66 +msgid "Quit Gajim" +msgstr "Salir de Gajim" + +#: gajim/roster_window.py:2199 +msgid "You are about to quit Gajim" +msgstr "Estás a punto de salir de Gajim" + +#: gajim/roster_window.py:2200 +msgid "Are you sure you want to quit Gajim?" +msgstr "¿Estás seguro de que quieres cerrar Gajim?" + +#: gajim/roster_window.py:2201 +msgid "_Always quit when closing Gajim" +msgstr "Salir siempre al cerrar Gajim" + +#: gajim/roster_window.py:2204 gajim/roster_window.py:2299 +#: gajim/roster_window.py:2340 gajim/data/gui/application_menu.ui:30 +#: gajim/data/gui/systray_context_menu.ui:83 +msgid "_Quit" +msgstr "Salir" + +#: gajim/roster_window.py:2292 +msgid "Stop File Transfers" +msgstr "Detener transferencias de ficheros" + +#: gajim/roster_window.py:2293 +msgid "You still have running file transfers" +msgstr "Todavía tienes transferencias de ficheros ejecutándose" + +#: gajim/roster_window.py:2294 +msgid "" +"If you quit now, the file(s) being transferred will be lost.\n" +"Do you still want to quit?" +msgstr "" +"Si sales ahora, los ficheros que están siendo transferidos se perderán.\n" +"¿Todavía quieres salir?" + +#: gajim/roster_window.py:2333 +msgid "Unread Messages" +msgstr "Mensajes sin leer" + +#: gajim/roster_window.py:2334 +msgid "You still have unread messages" +msgstr "Todavía tienes mensajes sin leer" + +#: gajim/roster_window.py:2335 +msgid "" +"Messages will only be available for reading them later if storing chat " +"history is enabled and if the contact is in your contact list." +msgstr "" +"Los mensajes solo estarán disponibles para leerlos más tarde si el " +"almacenamiento del historial de chat está habilitado y si el contacto está " +"en tu roster." + +#: gajim/roster_window.py:2590 +msgid "You have unread messages" +msgstr "Tienes mensajes sin leer" + +#: gajim/roster_window.py:2591 +msgid "You must read them before removing this transport." +msgstr "Debes leerlos antes de eliminar este transporte." + +#: gajim/roster_window.py:2594 +#, python-format +msgid "Transport '%s' will be removed" +msgstr "El transporte '%s' será eliminado" + +#: gajim/roster_window.py:2595 +msgid "" +"You will no longer be able to send and receive messages from and to contacts " +"using this transport." +msgstr "" +"Ya no podrás enviar y recibir mensajes de contactos que usen este transporte." + +#: gajim/roster_window.py:2598 +msgid "Transports will be removed" +msgstr "Los transportes serán eliminados" + +#: gajim/roster_window.py:2603 +#, python-format +msgid "" +"You will no longer be able to send and receive messages from and to contacts " +"using these transports:\n" +"%s" +msgstr "" +"Ya no podrás enviar y recibir mensajes de contactos que usen estos " +"transportes:\n" +"%s" + +#: gajim/roster_window.py:2607 +msgid "Remove Transport" +msgstr "Eliminar transporte" + +#: gajim/roster_window.py:2662 gajim/chat_control.py:428 +msgid "Block Contact" +msgstr "Bloquear contacto" + +#: gajim/roster_window.py:2663 gajim/chat_control.py:429 +msgid "Really block this contact?" +msgstr "¿Bloquear realmente este contacto?" + +#: gajim/roster_window.py:2664 gajim/chat_control.py:430 +msgid "" +"You will appear offline for this contact and you will not receive further " +"messages." +msgstr "" +"Aparecerás como desconectado para este contacto y no recibirá más mensajes." + +#: gajim/roster_window.py:2666 +msgid "_Do not ask again" +msgstr "No preguntarme de nuevo" + +#: gajim/roster_window.py:2669 gajim/chat_control.py:434 +msgid "_Report Spam" +msgstr "Informar como spam" + +#: gajim/roster_window.py:2673 gajim/roster_window.py:4778 +#: gajim/gui_menu_builder.py:485 gajim/chat_control.py:438 +#: gajim/data/gui/contact_context_menu.ui:151 +msgid "_Block" +msgstr "_Bloquear" + +#: gajim/roster_window.py:2706 +msgid "Rename Contact" +msgstr "Renombrar contacto" + +#: gajim/roster_window.py:2707 +#, python-format +msgid "Rename contact %s?" +msgstr "¿Renombrar contacto %s?" + +#: gajim/roster_window.py:2708 +msgid "Please enter a new nickname" +msgstr "Por favor, escribir un nuevo alias" + +#: gajim/roster_window.py:2712 gajim/roster_window.py:3439 +#: gajim/roster_window.py:4679 gajim/dialogs.py:103 gajim/dialogs.py:116 +#: gajim/gtk/accounts.py:308 gajim/common/contacts.py:178 +#: gajim/common/contacts.py:227 gajim/data/gui/shortcuts_window.ui:12 +#: gajim/data/gui/preferences.ui:96 +msgid "General" +msgstr "General" + +#: gajim/roster_window.py:2715 +msgid "Rename Group" +msgstr "Renombrar grupo" + +#: gajim/roster_window.py:2716 +#, python-format +msgid "Rename group %s?" +msgstr "¿Renombrar grupo %s?" + +#: gajim/roster_window.py:2717 +msgid "Please enter a new name" +msgstr "Por favor, entrar un nuevo nombre" + +#: gajim/roster_window.py:2747 gajim/roster_window.py:2869 +#: gajim/data/gui/groupchat_control.ui:1859 +msgid "_Rename" +msgstr "_Renombrar" + +#: gajim/roster_window.py:2769 gajim/roster_window.py:2770 +msgid "Remove Group" +msgstr "Eliminar grupo" + +#: gajim/roster_window.py:2771 +#, python-format +msgid "Do you want to remove %s from the contact list?" +msgstr "¿Quieres eliminar %s de la lista de contactos?" + +#: gajim/roster_window.py:2772 +msgid "_Also remove all contacts of this group from contact list" +msgstr "Eliminar del roster también a todos los contactos de este grupo" + +#: gajim/roster_window.py:2864 gajim/roster_window.py:2865 +msgid "Rename Group Chat" +msgstr "Renombrar el grupo" + +#: gajim/roster_window.py:2866 +msgid "Please enter a new name for this group chat" +msgstr "Por favor, escribe un nuevo nombre para este grupo" + +#: gajim/roster_window.py:3082 +msgid "Remove Contact" +msgstr "Eliminar contacto" + +#: gajim/roster_window.py:3083 +msgid "Remove contact from contact list" +msgstr "Elimina contacto del roster" + +#: gajim/roster_window.py:3084 +#, python-format +msgid "You are about to remove %(name)s (%(jid)s) from your contact list.\n" +msgstr "Vas a eliminar a %(name)s (%(jid)s) de tu roster.\n" + +#: gajim/roster_window.py:3093 gajim/roster_window.py:3113 +msgid "" +"By removing this contact you also remove authorization. This means the " +"contact will see you as offline." +msgstr "" +"Al eliminar este contacto, también eliminas la autorización. Esto significa " +"que te verá como desconectado." + +#: gajim/roster_window.py:3104 +msgid "Do you want to continue?" +msgstr "¿Quieres continuar?" + +#: gajim/roster_window.py:3115 +msgid "_I want this contact to know my status after removal" +msgstr "Quiero que este contacto conozca mi estado después de la eliminación" + +#: gajim/roster_window.py:3122 +msgid "Remove contacts from contact list" +msgstr "Elimina contactos del roster" + +#: gajim/roster_window.py:3128 +#, python-format +msgid "" +"By removing the following contacts, you will also remove authorization. This " +"means they will see you as offline:\n" +"\n" +"%s" +msgstr "" +"Eliminando los siguientes contactos, también eliminas la autorización. Esto " +"significa que siempre te verán como desconectado:\n" +"\n" +"%s" + +#: gajim/roster_window.py:3132 +msgid "Remove Contacts" +msgstr "Eliminar contactos" + +#: gajim/roster_window.py:3761 +msgid "You are about to create a metacontact" +msgstr "Vas a crear un metacontacto" + +#: gajim/roster_window.py:3762 +msgid "" +"Metacontacts are a way to regroup several contacts in one single contact. " +"Generally it is used when the same person has several XMPP- or Transport-" +"Accounts." +msgstr "" +"Los metacontactos son una forma de reagrupar varios contactos en una línea. " +"Generalmente se usan cuando la misma persona tiene varias cuentas de XMPP o " +"de transporte." + +#: gajim/roster_window.py:3766 +msgid "Create Metacontact" +msgstr "Crear metacontacto" + +#: gajim/roster_window.py:3769 gajim/chat_control_base.py:771 +#: gajim/groupchat_control.py:1676 gajim/message_window.py:368 +msgid "_Do not ask me again" +msgstr "No preguntarme de nuevo" + +#: gajim/roster_window.py:3772 gajim/data/gui/groupchat_creation.ui:317 +msgid "_Create" +msgstr "_Crear" + +#: gajim/roster_window.py:3889 +msgid "Invalid file URI:" +msgstr "URI de archivo no válido:" + +#: gajim/roster_window.py:3901 +#, python-format +msgid "Send this file to %s:\n" +msgid_plural "Send these files to %s:\n" +msgstr[0] "Enviar este archivo a %s:\n" +msgstr[1] "Enviar estos archivos a %s:\n" + +#: gajim/roster_window.py:3909 gajim/roster_window.py:3910 +#: gajim/chat_control.py:1541 gajim/gtk/filetransfer_progress.py:36 +msgid "File Transfer" +msgstr "Transferencia de archivo" + +#: gajim/roster_window.py:3914 gajim/data/gui/xml_console.ui:334 +msgid "_Send" +msgstr "_Enviar" + +#: gajim/roster_window.py:4067 +#, python-format +msgid "Send %(from)s to %(to)s" +msgstr "Enviar de %(from)s a %(to)s" + +#: gajim/roster_window.py:4080 +#, python-format +msgid "Make %s first contact" +msgstr "Crear %s primer contacto" + +#: gajim/roster_window.py:4085 +#, python-format +msgid "Make %(contact1)s and %(contact2)s metacontacts" +msgstr "Hacer metacontactos con %(contact1)s y %(contact2)s" + +#: gajim/roster_window.py:4436 gajim/roster_window.py:4523 +#: gajim/gtk/status_selector.py:76 +msgid "_Change Status Message" +msgstr "_Cambiar mensaje de estado" + +#: gajim/roster_window.py:4456 +msgid "Publish Tune" +msgstr "Hora de publicación" + +#: gajim/roster_window.py:4467 +msgid "Publish Location" +msgstr "Publicar localización" + +#: gajim/roster_window.py:4606 +msgid "_Maximize All" +msgstr "_Maximizar todo" + +#: gajim/roster_window.py:4615 gajim/roster_window.py:4743 +msgid "Send Group M_essage" +msgstr "Enviar mensaje a grupo" + +#: gajim/roster_window.py:4622 +msgid "To all users" +msgstr "A todos los usuarios" + +#: gajim/roster_window.py:4626 +msgid "To all online users" +msgstr "A todos los usuarios en línea" + +#: gajim/roster_window.py:4637 gajim/roster_window.py:4749 +#: gajim/data/gui/contact_context_menu.ui:36 +msgid "In_vite to" +msgstr "In_vitar a" + +#: gajim/roster_window.py:4663 gajim/gui_menu_builder.py:471 +msgid "_Rename…" +msgstr "_Renombrar…" + +#: gajim/roster_window.py:4669 gajim/gui_menu_builder.py:493 +#: gajim/data/gui/contact_context_menu.ui:181 +msgid "Remo_ve" +msgstr "_Eliminar" + +#: gajim/roster_window.py:4759 +msgid "_Manage Contacts" +msgstr "_Gestionar contactos" + +#: gajim/roster_window.py:4765 +msgid "Edit _Groups…" +msgstr "Editar _grupos…" + +#: gajim/roster_window.py:4774 gajim/gui_menu_builder.py:482 +#: gajim/data/gui/contact_context_menu.ui:143 +msgid "_Unblock" +msgstr "_Desbloquear" + +#: gajim/roster_window.py:4786 gajim/gtk/dialogs.py:70 +#: gajim/data/gui/filetransfers.ui:12 +msgid "_Remove" +msgstr "_Eliminar" + +#: gajim/roster_window.py:4823 +msgid "_Maximize" +msgstr "_Maximizar" + +#: gajim/roster_window.py:4828 +msgid "Re_name" +msgstr "Re_nombrar" + +#: gajim/roster_window.py:4836 gajim/groupchat_control.py:1680 +msgid "_Leave" +msgstr "Abandonar" + +#: gajim/roster_window.py:4844 +msgid "Execute command" +msgstr "Ejecutar comando" + +#: gajim/roster_window.py:4852 gajim/data/gui/application_menu.ui:68 +#: gajim/data/gui/contact_context_menu.ui:205 +msgid "_History" +msgstr "_Histórico" + +#: gajim/roster_window.py:4945 gajim/gui_interface.py:339 +#: gajim/common/helpers.py:90 gajim/common/contacts.py:221 +msgid "Observers" +msgstr "Observadores" + +#: gajim/roster_window.py:4948 +msgid "Observers can see your status, but you are not allowed to see theirs" +msgstr "Los observadores pueden ver tu estado, pero tú no puedes ver los suyos" + +#: gajim/privatechat_control.py:105 gajim/groupchat_control.py:1225 +#, python-format +msgid "You are now known as %s" +msgstr "Eres ahora conocido como %s" + +#: gajim/privatechat_control.py:107 gajim/groupchat_control.py:1227 +#, python-brace-format +msgid "{nick} is now known as {new_nick}" +msgstr "{nick} es ahora conocido como {new_nick}" + +#: gajim/privatechat_control.py:138 gajim/groupchat_control.py:1254 +#, python-brace-format +msgid "You are now {show}{status}" +msgstr "Ahora estás {show}{status}" + +#: gajim/privatechat_control.py:142 gajim/groupchat_control.py:1258 +#, python-brace-format +msgid "{nick} is now {show}{status}" +msgstr "{nick} es ahora {show}{status}" + +#: gajim/privatechat_control.py:199 +msgid "Sending private message failed" +msgstr "Falló el envío del mensaje privado" + +#: gajim/privatechat_control.py:201 +#, python-format +msgid "You are no longer in group chat \"%(room)s\" or \"%(nick)s\" has left." +msgstr "" +"Ya no estás en el grupo de charla \"%(room)s\" o \"%(nick)s\" se ha ido." + +#: gajim/application.py:81 +msgid "Show the application's version" +msgstr "Mostrar la versión de la aplicación" + +#: gajim/application.py:88 +msgid "Show only critical errors" +msgstr "Mostrar solo errores críticos" + +#: gajim/application.py:95 +msgid "Separate profile files completely (even history database and plugins)" +msgstr "Separar perfiles completamente (incluso historial y extensiones)" + +#: gajim/application.py:103 +msgid "Print XML stanzas and other debug information" +msgstr "Imprima estrofas XML y otra información de depuración" + +#: gajim/application.py:110 +msgid "Use defined profile in configuration directory" +msgstr "Usar perfil definido en el directorio de configuración" + +#: gajim/application.py:118 +msgid "Set configuration directory" +msgstr "Establecer directorio de configuración" + +#: gajim/application.py:126 +msgid "Configure logging system" +msgstr "Configuración del sistema de traza" + +#: gajim/application.py:134 +msgid "Show all warnings" +msgstr "Mostrar todas las advertencias" + +#: gajim/application.py:141 +msgid "Open IPython shell" +msgstr "Abrir shell IPython" + +#: gajim/application.py:148 +msgid "Pops up a window with the next pending event" +msgstr "Levanta una venana con el siguiente evento pendiente" + +#: gajim/application.py:154 gajim/data/gui/shortcuts_window.ui:17 +#: data/org.gajim.Gajim.desktop.in:21 +msgid "Start a new chat" +msgstr "Iniciar nueva conversación" + +#: gajim/application.py:205 gajim/gui_interface.py:131 +msgid "Database Error" +msgstr "Error en la base de datos" + +#: gajim/gui_interface.py:168 +#, python-format +msgid "HTTP (%(method)s) Authorization for %(url)s (ID: %(id)s)" +msgstr "Autorización HTTP (%(method)s) para %(url)s (id: %(id)s)" + +#: gajim/gui_interface.py:173 +msgid "Do you accept this request?" +msgstr "¿Aceptas esta petición?" + +#: gajim/gui_interface.py:175 +#, python-format +msgid "Do you accept this request (account: %s)?" +msgstr "¿Aceptas esta petición (cuenta: %s)?" + +#: gajim/gui_interface.py:181 +msgid "Authorization Request" +msgstr "Petición de autorización" + +#: gajim/gui_interface.py:182 +msgid "HTTP Authorization Request" +msgstr "Petición de autorización HTTP" + +#: gajim/gui_interface.py:185 gajim/gui_interface.py:376 +#: gajim/gui_interface.py:2002 gajim/gtk/filetransfer.py:339 +msgid "_No" +msgstr "_No" + +#: gajim/gui_interface.py:203 gajim/gtk/notification.py:189 +#: gajim/gtk/notification.py:216 +msgid "Connection Failed" +msgstr "Falló la conexión" + +#: gajim/gui_interface.py:299 +#, python-format +msgid "error while sending %(message)s ( %(error)s )" +msgstr "error mientras se enviaba %(message)s ( %(error)s )" + +#: gajim/gui_interface.py:324 gajim/gtk/notification.py:189 +msgid "Subscription request" +msgstr "Petición de adición" + +#: gajim/gui_interface.py:359 +msgid "Authorization accepted" +msgstr "Autorización aceptada" + +#: gajim/gui_interface.py:360 +#, python-format +msgid "The contact \"%(jid)s\" has authorized you to see their status." +msgstr "El contacto \"%(jid)s\" te ha autorizado a ver su estado." + +#: gajim/gui_interface.py:370 +msgid "Subscription Removed" +msgstr "Suscripción eliminada" + +#: gajim/gui_interface.py:371 +#, python-format +msgid "%(name)s (%(jid)s) has removed subscription from you" +msgstr "%(name)s (%(jid)s) ha eliminado tu suscripción" + +#: gajim/gui_interface.py:373 +msgid "" +"You will always see this contact as offline.\n" +"Do you want to remove them from your contact list?" +msgstr "" +"Siempre verás este contacto como desconectado.\n" +"¿Quieres eliminarlo de tu lista de contactos?" + +#: gajim/gui_interface.py:398 gajim/gtk/notification.py:190 +msgid "Unsubscribed" +msgstr "Eliminado" + +#: gajim/gui_interface.py:410 +#, python-format +msgid "%(jid)s declined the invitation: %(reason)s" +msgstr "%(jid)s ha declinado la invitación: %(reason)s" + +#: gajim/gui_interface.py:414 +#, python-format +msgid "%(jid)s declined the invitation" +msgstr "%(jid)s ha declinado la invitación" + +#: gajim/gui_interface.py:431 gajim/chat_control.py:1606 +#: gajim/gtk/notification.py:188 gajim/gtk/notification.py:214 +#: gajim/gtk/notification.py:286 gajim/gtk/groupchat_invitation.py:33 +msgid "Group Chat Invitation" +msgstr "Invitación a grupo de charla" + +#: gajim/gui_interface.py:432 +#, python-format +msgid "%(contact)s invited you to %(chat)s" +msgstr "%(contact)s te ha sido invitado a %(chat)s" + +#: gajim/gui_interface.py:453 +msgid "Certificate Passphrase Required" +msgstr "Frase de paso de certificada requerida" + +#: gajim/gui_interface.py:454 +#, python-format +msgid "Enter the certificate passphrase for account %s" +msgstr "Ingrese la frase de paso del certificado para la cuenta %s" + +#: gajim/gui_interface.py:463 +#, python-format +msgid "Enter your password for account %s" +msgstr "Introduce contraseña para la cuenta %s" + +#: gajim/gui_interface.py:475 +msgid "Password Required" +msgstr "Contraseña requerida" + +#: gajim/gui_interface.py:475 +msgid "Save password" +msgstr "Guardar contraseña" + +#: gajim/gui_interface.py:544 gajim/gui_interface.py:575 +#: gajim/gtk/notification.py:187 gajim/gtk/notification.py:279 +#: gajim/gtk/filetransfer.py:333 gajim/gtk/filetransfer.py:334 +msgid "File Transfer Error" +msgstr "Error en la transferencia del archivo" + +#: gajim/gui_interface.py:609 +#, python-format +msgid "%s wants to send you a file." +msgstr "%s quiere enviarte un archivo." + +#: gajim/gui_interface.py:611 gajim/gtk/notification.py:186 +#: gajim/gtk/notification.py:276 gajim/gtk/filetransfer.py:485 +msgid "File Transfer Request" +msgstr "Petición de transferencia de archivo" + +#: gajim/gui_interface.py:714 +msgid "Remote Contact Stopped Transfer" +msgstr "El contacto remoto ha detenido la transferencia" + +#: gajim/gui_interface.py:719 +msgid "Error Opening File" +msgstr "Error abriendo el archivo" + +#: gajim/gui_interface.py:729 +msgid "SSL Certificate Error" +msgstr "Error de certificado SSL" + +#: gajim/gui_interface.py:738 gajim/gui_interface.py:768 +#: gajim/gui_interface.py:794 gajim/chat_control.py:1573 +#: gajim/gtk/notification.py:187 gajim/gtk/notification.py:282 +msgid "File Transfer Completed" +msgstr "Transferencia del archivo finalizada" + +#: gajim/gui_interface.py:742 gajim/gui_interface.py:773 +#: gajim/gui_interface.py:800 gajim/gtk/notification.py:188 +#: gajim/gtk/notification.py:283 +msgid "File Transfer Stopped" +msgstr "Transferencia del archivo detenida" + +#: gajim/gui_interface.py:746 +msgid "File Transfer Failed" +msgstr "Ha fallado al transferencia de fichero" + +#: gajim/gui_interface.py:769 +#, python-format +msgid "%(filename)s received from %(name)s." +msgstr "Transferencia de %(filename)s recibida de %(name)s." + +#: gajim/gui_interface.py:774 +#, python-format +msgid "File transfer of %(filename)s from %(name)s stopped." +msgstr "Transferencia del archivo %(filename)s de %(name)s detenida." + +#: gajim/gui_interface.py:780 +#, python-format +msgid "File transfer of %(filename)s from %(name)s failed." +msgstr "Transferencia de fichero %(filename)s desde %(name)s ha fallado." + +#: gajim/gui_interface.py:795 +#, python-format +msgid "You successfully sent %(filename)s to %(name)s." +msgstr "Has enviado con éxito el archivo %(filename)s a %(name)s." + +#: gajim/gui_interface.py:801 +#, python-format +msgid "File transfer of %(filename)s to %(name)s stopped." +msgstr "Transferencia de %(filename)s a %(name)s detenida." + +#: gajim/gui_interface.py:807 +#, python-format +msgid "File transfer of %(filename)s to %(name)s failed." +msgstr "Transferencia de %(filename)s a %(name)s ha fallado." + +#: gajim/gui_interface.py:919 gajim/gui_interface.py:920 +msgid "Username Conflict" +msgstr "Conflicto con nombre de usuario" + +#: gajim/gui_interface.py:921 +msgid "Please enter a new username for your local account" +msgstr "Por favor, escribe un nuevo nombre de usuario para tu cuenta local" + +#: gajim/gui_interface.py:925 gajim/gtk/dialogs.py:51 +#: gajim/data/gui/passphrase_dialog.ui:44 +msgid "_OK" +msgstr "_OK" + +#: gajim/gui_interface.py:988 gajim/chat_control.py:763 +#: gajim/chat_control.py:1660 gajim/gtk/notification.py:190 +msgid "Incoming Call" +msgstr "Llamada entrante" + +#: gajim/gui_interface.py:990 +#, python-format +msgid "%s is calling" +msgstr "%s está llamando" + +#: gajim/gui_interface.py:1071 gajim/gui_interface.py:1072 +msgid "Insecure Connection" +msgstr "Conexión insegura" + +#: gajim/gui_interface.py:1073 +#, python-format +msgid "" +"You are about to connect to the account %(account)s (%(server)s) using an " +"insecure connection method. This means conversations will not be encrypted. " +"Connecting PLAIN is strongly discouraged." +msgstr "" +"Está a punto de conectarse a la cuenta %(account)s (%(server)s) de forma " +"insegura. Esto significa que las conversaciones no serán cifradas, y se " +"desaconseja fuertemente. La conexión PLAIN está totalmente desaconsejada." + +#: gajim/gui_interface.py:1080 gajim/data/gui/groupchat_control.ui:595 +msgid "_Abort" +msgstr "_Abortar" + +#: gajim/gui_interface.py:1083 +msgid "_Connect Anyway" +msgstr "_Conectar de todos modos" + +#: gajim/gui_interface.py:1921 +msgid "Gajim: IPython Console" +msgstr "Gajim: consola IPython" + +#: gajim/gui_interface.py:1998 +msgid "Update Check" +msgstr "Comprobar actualización" + +#: gajim/gui_interface.py:1999 +msgid "Gajim Update Check" +msgstr "Verificación de actualización de Gajim" + +#: gajim/gui_interface.py:2000 +msgid "Search for Gajim updates periodically?" +msgstr "¿Buscar actualizaciones de Gajim periódicamente?" + +#: gajim/gui_interface.py:2005 +msgid "_Search Periodically" +msgstr "Buscar periódicamente" + +#: gajim/gui_interface.py:2045 +msgid "Update Available" +msgstr "Actualización disponible" + +#: gajim/gui_interface.py:2046 +msgid "Gajim Update Available" +msgstr "Actualización de Gajim disponible" + +#: gajim/gui_interface.py:2047 +#, python-format +msgid "There is an update available for Gajim (latest version: %s)" +msgstr "Hay una actualización disponible para Gajim (última versión: %s)" + +#: gajim/gui_interface.py:2049 +msgid "_Do not show again" +msgstr "No mostrar de nuevo" + +#: gajim/gui_interface.py:2051 gajim/gtk/accounts.py:126 +msgid "_Later" +msgstr "Más tarde" + +#: gajim/gui_interface.py:2054 +msgid "_Update Now" +msgstr "Actualizar ahora" + +#: gajim/gui_menu_builder.py:358 +msgid "I would like to add you to my contact list" +msgstr "Me gustaría añadirte a mi lista de contactos" + +#: gajim/gui_menu_builder.py:435 +msgid "Send Single _Message…" +msgstr "Enviar _mensaje inidividual…" + +#: gajim/gui_menu_builder.py:450 +msgid "E_xecute Command…" +msgstr "_Ejecutar comando…" + +#: gajim/gui_menu_builder.py:458 +msgid "_Manage Transport" +msgstr "_Gestionar transporte" + +#: gajim/gui_menu_builder.py:464 +msgid "_Modify Transport" +msgstr "_Modificar transporte" + +#: gajim/gui_menu_builder.py:503 gajim/data/gui/contact_context_menu.ui:198 +msgid "_Information" +msgstr "_Información" + +#: gajim/gui_menu_builder.py:516 +msgid "Send File" +msgstr "Enviar fichero" + +#: gajim/gui_menu_builder.py:517 +msgid "Upload File…" +msgstr "Subir archivo…" + +#: gajim/gui_menu_builder.py:518 +msgid "Send File Directly…" +msgstr "Enviar archivo directamente…" + +#: gajim/gui_menu_builder.py:520 gajim/gtk/accounts.py:734 +msgid "Send Read Markers" +msgstr "Enviar marcadores de lectura" + +#: gajim/gui_menu_builder.py:521 gajim/gtk/accounts.py:710 +msgid "Send Chatstate" +msgstr "Enviar estado" + +#: gajim/gui_menu_builder.py:522 gajim/data/gui/groupchat_control.ui:307 +msgid "Invite Contacts…" +msgstr "Invitar contactos…" + +#: gajim/gui_menu_builder.py:523 gajim/gui_menu_builder.py:741 +#: gajim/gui_menu_builder.py:768 gajim/gui_menu_builder.py:807 +msgid "Add to Contact List…" +msgstr "Añadir a la lista de contactos…" + +#: gajim/gui_menu_builder.py:524 +msgid "Block Contact…" +msgstr "Bloquear contacto…" + +#: gajim/gui_menu_builder.py:525 gajim/data/gui/chat_control.ui:936 +msgid "Start Call…" +msgstr "Iniciar llamada…" + +#: gajim/gui_menu_builder.py:526 gajim/gui_menu_builder.py:576 +#: gajim/gui_menu_builder.py:802 gajim/data/gui/groupchat_control.ui:1334 +msgid "Information" +msgstr "Información" + +#: gajim/gui_menu_builder.py:527 gajim/gui_menu_builder.py:588 +msgid "History" +msgstr "Historial" + +#: gajim/gui_menu_builder.py:533 gajim/gui_menu_builder.py:710 +#: gajim/gtk/preferences.py:671 gajim/gtk/groupchat_settings.py:36 +#: gajim/gtk/accounts.py:682 +msgid "Disabled" +msgstr "Deshabilitado" + +#: gajim/gui_menu_builder.py:534 gajim/gtk/groupchat_settings.py:37 +#: gajim/gtk/accounts.py:681 +msgid "Composing Only" +msgstr "Solo componiendo" + +#: gajim/gui_menu_builder.py:535 gajim/gtk/groupchat_settings.py:38 +msgid "All Chat States" +msgstr "Todos los estados de chat" + +#: gajim/gui_menu_builder.py:577 +msgid "Settings…" +msgstr "Configuraciones…" + +#: gajim/gui_menu_builder.py:578 +msgid "Manage Group Chat" +msgstr "Gestionar grupos de chat" + +#: gajim/gui_menu_builder.py:579 +msgid "Rename…" +msgstr "Renombrar…" + +#: gajim/gui_menu_builder.py:580 +msgid "Change Subject…" +msgstr "Cambiar asunto…" + +#: gajim/gui_menu_builder.py:581 +msgid "Upload Avatar…" +msgstr "Subir Imagen…" + +#: gajim/gui_menu_builder.py:582 +msgid "Configure…" +msgstr "Configurar…" + +#: gajim/gui_menu_builder.py:583 +msgid "Destroy…" +msgstr "Destruir…" + +#: gajim/gui_menu_builder.py:585 +msgid "Change Nickname…" +msgstr "Cambiar alias…" + +#: gajim/gui_menu_builder.py:586 +msgid "Request Voice" +msgstr "Petición de voz" + +#: gajim/gui_menu_builder.py:587 gajim/gui_menu_builder.py:825 +msgid "Execute Command…" +msgstr "Ejecutar comando…" + +#: gajim/gui_menu_builder.py:589 +msgid "Leave" +msgstr "Abandonar" + +#: gajim/gui_menu_builder.py:631 +msgid "Add Contact…" +msgstr "Añadir contacto…" + +#: gajim/gui_menu_builder.py:632 gajim/gtk/accounts.py:861 +#: gajim/gtk/accounts.py:899 gajim/gtk/profile.py:53 +msgid "Profile" +msgstr "Perfil" + +#: gajim/gui_menu_builder.py:633 +msgid "Send Single Message…" +msgstr "Enviar mensaje único…" + +#: gajim/gui_menu_builder.py:634 +msgid "Discover Services…" +msgstr "Descubrir servicios…" + +#: gajim/gui_menu_builder.py:635 gajim/gtk/server_info.py:47 +msgid "Server Info" +msgstr "Información del Servidor" + +#: gajim/gui_menu_builder.py:636 gajim/gtk/accounts.py:312 +#: gajim/data/gui/preferences.ui:853 +msgid "Advanced" +msgstr "Avanzado" + +#: gajim/gui_menu_builder.py:637 gajim/gtk/mam_preferences.py:100 +msgid "Archiving Preferences" +msgstr "Preferencias de archivado" + +#: gajim/gui_menu_builder.py:638 +msgid "Blocking List" +msgstr "Lista de bloqueo" + +#: gajim/gui_menu_builder.py:639 +msgid "Bookmarks" +msgstr "Marcadores" + +#: gajim/gui_menu_builder.py:640 +msgid "PEP Configuration" +msgstr "Configuración PEP" + +#: gajim/gui_menu_builder.py:641 +msgid "Synchronise History…" +msgstr "Sincronizar historial…" + +#: gajim/gui_menu_builder.py:643 gajim/gtk/server_info.py:141 +#: gajim/data/gui/groupchat_config.ui:36 +msgid "Admin" +msgstr "Admin" + +#: gajim/gui_menu_builder.py:644 +msgid "Send Server Message…" +msgstr "Enviar mensaje de servidor…" + +#: gajim/gui_menu_builder.py:645 +msgid "Set MOTD…" +msgstr "Definir MOTD…" + +#: gajim/gui_menu_builder.py:646 +msgid "Update MOTD…" +msgstr "Actualizar MOTD…" + +#: gajim/gui_menu_builder.py:647 +msgid "Delete MOTD…" +msgstr "Eliminar MOTD…" + +#: gajim/gui_menu_builder.py:684 +msgid "_Add Account…" +msgstr "_Añadir cuenta…" + +#: gajim/gui_menu_builder.py:690 +msgid "_Modify Accounts…" +msgstr "_Modificar cuentas…" + +#: gajim/gui_menu_builder.py:700 gajim/data/gui/account_context_menu.ui:79 +#: gajim/data/gui/zeroconf_context_menu.ui:26 +msgid "_Modify Account…" +msgstr "_Modificar cuenta…" + +#: gajim/gui_menu_builder.py:704 gajim/gtk/accounts.py:51 +msgid "Accounts" +msgstr "Cuentas" + +#: gajim/gui_menu_builder.py:734 gajim/gui_menu_builder.py:739 +msgid "Copy XMPP Address" +msgstr "Copiar dirección XMPP" + +#: gajim/gui_menu_builder.py:735 gajim/gui_menu_builder.py:767 +msgid "Join Groupchat" +msgstr "Unirse al grupo de charla" + +#: gajim/gui_menu_builder.py:740 gajim/gui_menu_builder.py:766 +#: gajim/gtk/start_chat.py:636 +#: gajim/data/gui/subscription_request_window.ui:149 +msgid "Start Chat" +msgstr "Iniciar conversación" + +#: gajim/gui_menu_builder.py:746 +msgid "Copy Link Location" +msgstr "Copiar la dirección del enlace" + +#: gajim/gui_menu_builder.py:747 +msgid "Open Link in Browser" +msgstr "Abrir enlace en navegador" + +#: gajim/gui_menu_builder.py:752 +msgid "Copy Email Address" +msgstr "Copiar dirección de correo electrónico" + +#: gajim/gui_menu_builder.py:753 gajim/gui_menu_builder.py:765 +msgid "Open Email Composer" +msgstr "Abrir el compositor de correo" + +#: gajim/gui_menu_builder.py:758 +msgid "Copy Location" +msgstr "Copiar ubicación" + +#: gajim/gui_menu_builder.py:759 gajim/gtk/preferences.py:291 +msgid "Show Location" +msgstr "Mostrar la ubicación" + +#: gajim/gui_menu_builder.py:764 +msgid "Copy XMPP Address/Email" +msgstr "Copiar la dirección de correo/ID de Jabber" + +#: gajim/gui_menu_builder.py:816 +msgid "Invite" +msgstr "Invitar" + +#: gajim/gui_menu_builder.py:832 +msgid "Kick" +msgstr "Expulsar" + +#: gajim/gui_menu_builder.py:840 +msgid "Ban" +msgstr "Prohibir" + +#: gajim/gui_menu_builder.py:850 +msgid "Make Owner" +msgstr "Hacer propietario" + +#: gajim/gui_menu_builder.py:859 +msgid "Make Admin" +msgstr "Hacer administrador" + +#: gajim/gui_menu_builder.py:868 +msgid "Make Member" +msgstr "Hacer miembro" + +#: gajim/gui_menu_builder.py:877 +msgid "Revoke Member" +msgstr "Revocar Miembro" + +#: gajim/gui_menu_builder.py:887 +msgid "Grant Voice" +msgstr "Conceder voz" + +#: gajim/gui_menu_builder.py:890 +msgid "Revoke Voice" +msgstr "Revocar Voz" + +#: gajim/gui_menu_builder.py:910 +msgid "Copy" +msgstr "Copiar" + +#: gajim/chat_control.py:346 gajim/groupchat_control.py:348 +msgid "Send File…" +msgstr "Enviar archivo…" + +#: gajim/chat_control.py:348 gajim/groupchat_control.py:354 +msgid "No File Transfer available" +msgstr "No hay transferencia de ficheros disponible" + +#: gajim/chat_control.py:479 +msgid "Show a list of formattings" +msgstr "Mostrar una lista de formateos" + +#: gajim/chat_control.py:483 +msgid "This contact does not support HTML" +msgstr "Este contacto no soporta HTML" + +#: gajim/chat_control.py:684 +msgid "Ping?" +msgstr "Ping?" + +#: gajim/chat_control.py:687 +#, python-format +msgid "Pong! (%s seconds)" +msgstr "¡Pong! (%s seconds)" + +#: gajim/chat_control.py:758 +msgid "Calling…" +msgstr "Llamando…" + +#: gajim/chat_control.py:783 gajim/chat_control.py:870 +msgid "Connection Error" +msgstr "Error de conexión" + +#: gajim/chat_control.py:811 gajim/data/gui/chat_control.ui:1185 +msgid "Turn Camera on" +msgstr "Activar cámara" + +#: gajim/chat_control.py:822 +msgid "Calling (Video)…" +msgstr "Llamada (Vídeo)…" + +#: gajim/chat_control.py:826 gajim/chat_control.py:834 +#: gajim/chat_control.py:864 +msgid "Turn Camera off" +msgstr "Desactivar cámara" + +#: gajim/chat_control.py:832 +msgid "Incoming Call (Video)" +msgstr "Llamada entrante (Vídeo)" + +#: gajim/chat_control.py:1020 +#, python-format +msgid "%(nickname)s from group chat %(room_name)s" +msgstr "%(nickname)s del salón %(room_name)s" + +#: gajim/chat_control.py:1257 +msgid "Note: Chat history is disabled for this contact." +msgstr "" +"Nota: el historial de conversación está deshabilitado para este contacto." + +#: gajim/chat_control.py:1259 +msgid "Note: Chat history is disabled for this account." +msgstr "Nota: El historial de chat está deshabilitado para esta cuenta." + +#: gajim/chat_control.py:1260 +#, python-format +msgid "" +"You just received a new message from %s.\n" +"Do you want to close this tab?" +msgstr "" +"Acabas de recibir un nuevo mensaje de %s.\n" +"¿Quieres cerrar esta pestaña?" + +#: gajim/chat_control.py:1266 gajim/gtk/remove_account.py:43 +#: gajim/gtk/change_password.py:44 +msgid "Close" +msgstr "Cerrar" + +#: gajim/chat_control.py:1267 gajim/gtk/notification.py:184 +#: gajim/gtk/notification.py:204 gajim/gtk/notification.py:218 +#: gajim/gtk/notification.py:271 gajim/common/connection_handlers_events.py:237 +msgid "New Message" +msgstr "Nuevo mensaje" + +#: gajim/chat_control.py:1272 gajim/chat_control.py:1579 +#: gajim/chat_control.py:1588 gajim/message_window.py:371 +#: gajim/data/gui/groupchat_control.ui:1117 +#: gajim/data/gui/groupchat_control.ui:1203 +#: gajim/data/gui/groupchat_control.ui:1308 +#: gajim/data/gui/groupchat_control.ui:1997 +msgid "_Close" +msgstr "_Cerrar" + +#: gajim/chat_control.py:1359 +#, python-format +msgid "" +"Subject: %(subject)s\n" +"%(message)s" +msgstr "" +"Tema: %(subject)s\n" +"%(message)s" + +#: gajim/chat_control.py:1480 +#, python-format +msgid "%(name)s is now %(show)s %(status)s" +msgstr "%(name)s está ahora %(show)s %(status)s" + +#: gajim/chat_control.py:1545 +msgid "Size" +msgstr "Tamaño" + +#: gajim/chat_control.py:1547 gajim/chat_control.py:1609 +#: gajim/gtk/groupchat_invitation.py:67 +msgid "_Decline" +msgstr "_Declinar" + +#: gajim/chat_control.py:1550 gajim/chat_control.py:1611 +#: gajim/chat_control.py:1668 gajim/gtk/dialogs.py:59 +msgid "_Accept" +msgstr "_Aceptar" + +#: gajim/chat_control.py:1577 gajim/gtk/filetransfer.py:259 +msgid "Open _Folder" +msgstr "Abrir carpeta" + +#: gajim/chat_control.py:1662 +msgid "" +"\n" +"Video Call" +msgstr "" +"\n" +"Llamada de vídeo" + +#: gajim/chat_control.py:1664 +msgid "" +"\n" +"Voice Call" +msgstr "" +"\n" +"Llamada de voz" + +#: gajim/chat_control.py:1666 +msgid "_Reject" +msgstr "_Rechazado" + +#: gajim/chat_control.py:1692 gajim/gtk/filetransfer.py:297 +msgid "File transfer stopped" +msgstr "Transferencia del archivo detenida" + +#: gajim/chat_control.py:1697 gajim/gtk/filetransfer.py:275 +#: gajim/gtk/filetransfer.py:284 +msgid "File transfer cancelled" +msgstr "Transferencia de archivo cancelada" + +#: gajim/chat_control.py:1698 +msgid "Connection with peer cannot be established." +msgstr "La conexión con el cliente no se pudo establecer." + +#: gajim/chat_control_base.py:141 gajim/gtk/start_chat.py:649 +#: gajim/gtk/groupchat_invite.py:318 +#, python-format +msgid "Account: %s" +msgstr "Cuenta: %s" + +#: gajim/chat_control_base.py:592 +msgid "and authenticated" +msgstr "y autentificado" + +#: gajim/chat_control_base.py:596 +msgid "and NOT authenticated" +msgstr "y NO autenticado" + +#: gajim/chat_control_base.py:600 +#, python-format +msgid "%(type)s encryption is active %(authenticated)s." +msgstr "El cifrado %(type)s está activo %(authenticated)s." + +#: gajim/chat_control_base.py:715 +msgid "_Undo" +msgstr "_Deshacer" + +#: gajim/chat_control_base.py:723 gajim/conversation_textview.py:417 +msgid "_Clear" +msgstr "_Limpiar" + +#: gajim/chat_control_base.py:728 +msgid "Paste as quote" +msgstr "Pegar como cita" + +#: gajim/chat_control_base.py:767 +msgid "Paste Image" +msgstr "Pegar Imagen" + +#: gajim/chat_control_base.py:768 +msgid "You are trying to paste an image" +msgstr "Estás intentando pegar una imagen" + +#: gajim/chat_control_base.py:769 +msgid "" +"Are you sure you want to paste your clipboard's image into the chat window?" +msgstr "¿Estás seguro de querer pegar la imagen del portapapeles en el chat?" + +#: gajim/chat_control_base.py:775 +msgid "_Paste" +msgstr "_Pegar" + +#: gajim/chat_control_base.py:1361 gajim/gtk/accounts.py:310 +#: gajim/data/gui/profile.ui:17 gajim/data/gui/profile.ui:318 +msgid "Privacy" +msgstr "Privacidad" + +#: gajim/chat_control_base.py:1362 +msgid "Warning" +msgstr "Advertencia" + +#: gajim/chat_control_base.py:1363 +#, python-format +msgid "" +"If you send a file to %s, your real XMPP address will be revealed." +msgstr "Si envía un archivo a %s, se sabrá su JID real." + +#: gajim/chat_control_base.py:1368 +msgid "_Continue" +msgstr "_Continuar" + +#: gajim/gajim_remote.py:55 gajim/common/exceptions.py:70 +msgid "D-Bus is not present on this machine or python module is missing" +msgstr "D-Bus no está presente en esta máquina o falta el módulo python" + +#: gajim/gajim_remote.py:77 +msgid "Shows a help on specific command" +msgstr "Muestra ayuda sobre un comando específico" + +#: gajim/gajim_remote.py:80 +msgid "command" +msgstr "comando" + +#: gajim/gajim_remote.py:81 +msgid "show help on command" +msgstr "mostrar ayuda sobre un comando" + +#: gajim/gajim_remote.py:85 +msgid "Lists all contacts in the contact list, one for each line" +msgstr "Muestra una lista de todos los contactos en el roster, uno por línea" + +#: gajim/gajim_remote.py:87 gajim/gajim_remote.py:102 gajim/gajim_remote.py:112 +#: gajim/gajim_remote.py:122 gajim/gajim_remote.py:133 +#: gajim/gajim_remote.py:142 gajim/gajim_remote.py:163 +#: gajim/gajim_remote.py:171 gajim/gajim_remote.py:180 +#: gajim/gajim_remote.py:187 +msgid "?CLI:account" +msgstr "?CLI:cuenta" + +#: gajim/gajim_remote.py:87 +msgid "show only contacts of the given account" +msgstr "mostrar sólo contactos de la cuenta especificada" + +#: gajim/gajim_remote.py:93 +msgid "Prints a list of registered accounts" +msgstr "Muestra una lista de cuentas registradas" + +#: gajim/gajim_remote.py:97 +msgid "Changes the status of account(s)" +msgstr "Cambia el estado de cuenta(s)" + +#: gajim/gajim_remote.py:100 +msgid "?CLI:status" +msgstr "?CLI:estado" + +#: gajim/gajim_remote.py:100 +msgid "" +"one of: offline, online, chat, away, xa, dnd. If not set, use account's " +"previous status" +msgstr "" +"uno de: desconectado, en línea, libre para hablar, ausente, ausencia " +"extendida, no molestar. Si no está establecido se usa el estado previo de la " +"cuenta" + +#: gajim/gajim_remote.py:101 gajim/gajim_remote.py:121 +#: gajim/gajim_remote.py:132 gajim/gajim_remote.py:141 +msgid "?CLI:message" +msgstr "?CLI:mensaje" + +#: gajim/gajim_remote.py:101 +msgid "status message" +msgstr "ensaje de estado" + +#: gajim/gajim_remote.py:102 +msgid "" +"change status of account \"account\". If not specified, try to change status " +"of all accounts that have \"sync with global status\" option set" +msgstr "" +"cambia el estado de la cuenta \"account\". Si no se especifica, prueba a " +"cambiar el estado de todas las cuentas que tienen la opción \"sync with " +"global status\" activada" + +#: gajim/gajim_remote.py:108 +msgid "Changes the priority of account(s)" +msgstr "Cambia la prioridad de cuenta(s)" + +#: gajim/gajim_remote.py:110 +msgid "?CLI:priority" +msgstr "?CLI:prioridad" + +#: gajim/gajim_remote.py:110 +msgid "priority you want to give to the account" +msgstr "prioridad que quieres dar a la cuenta" + +#: gajim/gajim_remote.py:112 +msgid "" +"change the priority of the given account. If not specified, change status of " +"all accounts that have \"sync with global status\" option set" +msgstr "" +"cambiar la prioridad de la cuenta dada. Si no se especifica, cambia el " +"estado de todas las cuentas que tengan establecida la opción \"sync with " +"global status\"" + +#: gajim/gajim_remote.py:118 +msgid "" +"Sends new chat message to a contact in the contact list. Account is optional." +msgstr "Enviar un mensaje a un contacto de la lista. La cuenta es opcional." + +#: gajim/gajim_remote.py:120 gajim/gajim_remote.py:130 +msgid "XMPP Address of the contact that will receive the message" +msgstr "Dirección XMPP del contacto que recibirá el mensaje" + +#: gajim/gajim_remote.py:121 gajim/gajim_remote.py:132 +#: gajim/gajim_remote.py:141 +msgid "message contents" +msgstr "contenido del mensaje" + +#: gajim/gajim_remote.py:122 gajim/gajim_remote.py:133 +#: gajim/gajim_remote.py:142 +msgid "if specified, the message will be sent using this account" +msgstr "si es especificado el mensaje será enviado a través de esta cuenta" + +#: gajim/gajim_remote.py:127 +msgid "" +"Sends a chat message to someone on your contact list. Account is optional." +msgstr "" +"Enviar un mensaje a alguien de la lista de contactos. La cuenta es opcional." + +#: gajim/gajim_remote.py:131 +msgid "subject" +msgstr "tema" + +#: gajim/gajim_remote.py:131 +msgid "message subject" +msgstr "tema del mensaje" + +#: gajim/gajim_remote.py:138 +msgid "Sends new message to a group chat you've joined." +msgstr "Envía un nuevo mensaje a un grupo de charla al que te has unido." + +#: gajim/gajim_remote.py:140 +msgid "XMPP Address of the group chat that will receive the message" +msgstr "Dirección XMPP del grupo de chat que recibirá el mensaje" + +#: gajim/gajim_remote.py:147 +msgid "Gets detailed info on a contact" +msgstr "Obtener información detallada de un contacto" + +#: gajim/gajim_remote.py:149 gajim/gajim_remote.py:162 +#: gajim/gajim_remote.py:170 +msgid "XMPP Address of the contact" +msgstr "Dirección XMPP del contacto" + +#: gajim/gajim_remote.py:153 +msgid "Gets detailed info on a account" +msgstr "Obtener información detallada de una cuenta" + +#: gajim/gajim_remote.py:155 +msgid "Name of the account" +msgstr "Nombre de la cuenta" + +#: gajim/gajim_remote.py:159 +msgid "Sends file to a contact" +msgstr "Enviar archivo a un contacto" + +#: gajim/gajim_remote.py:161 +msgid "file" +msgstr "archivo" + +#: gajim/gajim_remote.py:161 +msgid "File path" +msgstr "Ruta del archivo" + +#: gajim/gajim_remote.py:163 +msgid "if specified, file will be sent using this account" +msgstr "si es especificado el archivo será enviado usando esta cuenta" + +#: gajim/gajim_remote.py:168 +msgid "Removes contact from contact list" +msgstr "Elimina contacto del roster" + +#: gajim/gajim_remote.py:171 +msgid "if specified, contact is taken from the contact list of this account" +msgstr "si es especificado, el contacto es obtenido de la lista de esta cuenta" + +#: gajim/gajim_remote.py:178 +msgid "Returns current status (the global one unless account is specified)" +msgstr "Devuelve el estado actual (el global si no se especifica una cuenta)" + +#: gajim/gajim_remote.py:185 +msgid "" +"Returns current status message (the global one unless account is specified)" +msgstr "" +"Devuelve el mensaje de estado actual (el global si no se especifica una " +"cuenta)" + +#: gajim/gajim_remote.py:192 +msgid "Returns number of unread messages" +msgstr "Devuelve el número de mensajes sin leer" + +#: gajim/gajim_remote.py:197 +msgid "Sends custom XML" +msgstr "Envía XML personalizado" + +#: gajim/gajim_remote.py:199 +msgid "XML to send" +msgstr "XML a enviar" + +#: gajim/gajim_remote.py:200 +msgid "" +"Account to which the XML will be sent; if not specified, XML will be sent to " +"all accounts" +msgstr "" +"Cuenta a la que se enviará el XML; si no se especifica, el XML será enviado " +"a todas las cuentas" + +#: gajim/gajim_remote.py:207 +msgid "Check if Gajim is running" +msgstr "Comprueba si Gajim se encuentra en ejecución" + +#: gajim/gajim_remote.py:233 +msgid "Missing argument \"contact_jid\"" +msgstr "No se encuentra el argumento \"contact_jid\"" + +#: gajim/gajim_remote.py:253 +#, python-format +msgid "" +"'%s' is not in your contact list.\n" +"Please specify account for sending the message." +msgstr "" +"'%s' no está en tu lista de contactos.\n" +"Por favor, especifica una cuenta para enviar el mensaje." + +#: gajim/gajim_remote.py:256 +msgid "You have no active account" +msgstr "No tienes cuentas activas" + +#: gajim/gajim_remote.py:304 +msgid "It seems Gajim is not running. So you can't use gajim-remote." +msgstr "Parece que Gajim no está en ejecución. No puedes usar gajim-remote." + +#: gajim/gajim_remote.py:331 +#, python-format +msgid "" +"Usage: %(basename)s %(command)s %(arguments)s \n" +"\t %(help)s" +msgstr "" +"Uso: %(basename)s %(command)s %(arguments)s \n" +"\t %(help)s" + +#: gajim/gajim_remote.py:335 +msgid "Arguments:" +msgstr "Argumentos:" + +#: gajim/gajim_remote.py:339 +#, python-format +msgid "%s not found" +msgstr "%s no encontrado" + +#: gajim/gajim_remote.py:345 +#, python-format +msgid "" +"Usage:\n" +" %s command [arguments]\n" +"\n" +"Command is one of:\n" +msgstr "" +"Modo de Uso:\n" +" %s comando [argumentos]\n" +"\n" +"El comando es uno de:\n" + +#: gajim/gajim_remote.py:415 +#, python-format +msgid "" +"Too many arguments. \n" +"Type \"%(basename)s help %(command)s\" for more info" +msgstr "" +"Demasiados argumentos. \n" +"Escribe \"%(basename)s help %(command)s\" para más información" + +#: gajim/gajim_remote.py:420 +#, python-format +msgid "" +"Argument \"%(arg)s\" is not specified. \n" +"Type \"%(basename)s help %(command)s\" for more info" +msgstr "" +"No se especificó el argumento \"%(arg)s\". \n" +"Escribe \"%(basename)s help %(command)s\" para más información" + +#: gajim/dialogs.py:70 +#, python-format +msgid "Contact name: %s" +msgstr "Nombre del contacto : %s" + +#: gajim/dialogs.py:72 +#, python-format +msgid "XMPP Address: %s" +msgstr "Dirección XMPP: %s" + +#: gajim/dialogs.py:189 +msgid "Group" +msgstr "Grupo" + +#: gajim/dialogs.py:196 +msgid "In the group" +msgstr "En el grupo" + +#: gajim/dialogs.py:211 gajim/gtk/discovery.py:522 +msgid "You are not connected to the server" +msgstr "No estás conectado al servidor" + +#: gajim/dialogs.py:212 +msgid "Without a connection, you can not synchronise your contacts." +msgstr "Sin una conexión, no puedes sincronizar tus contactos." + +#: gajim/dialogs.py:223 gajim/dialogs.py:294 +#: gajim/gtk/roster_item_exchange.py:83 gajim/gtk/discovery.py:826 +#: gajim/gtk/discovery.py:1650 gajim/gtk/discovery.py:1896 +#: gajim/gtk/history.py:99 gajim/gtk/vcard_grid.py:34 +#: gajim/data/gui/bookmarks.ui:66 +msgid "Name" +msgstr "Nombre" + +#: gajim/dialogs.py:226 gajim/data/gui/preferences.ui:604 +#: gajim/data/gui/server_info.ui:146 +msgid "Server" +msgstr "Servidor" + +#: gajim/dialogs.py:262 +msgid "This account is not connected to the server" +msgstr "Esta cuentano está conectada al servidor" + +#: gajim/dialogs.py:263 +msgid "You cannot synchronize with an account unless it is connected." +msgstr "No puedes sincronizar con una cuenta hasta que no te hayas conectado." + +#: gajim/dialogs.py:292 +msgid "Synchronise" +msgstr "Sincronizar" + +#: gajim/vcard.py:284 +msgid "?Client:Unknown" +msgstr "?Client:Desconocido" + +#: gajim/vcard.py:289 +msgid "?OS:Unknown" +msgstr "?OS:Desconocido" + +#: gajim/vcard.py:319 gajim/vcard.py:322 +msgid "?Time:Unknown" +msgstr "?Time:Desconocida" + +#: gajim/vcard.py:373 +msgid "?Role in Group Chat:Role:" +msgstr "?Role in Group Chat:Rol:" + +#: gajim/vcard.py:377 +msgid "Affiliation:" +msgstr "Afiliación:" + +#: gajim/vcard.py:384 +msgid "" +"This contact is interested in your presence information, but you are not " +"interested in their presence" +msgstr "" +"Este contacto está interesado en tu información de presencia, pero tú no lo " +"estás en la suya" + +#: gajim/vcard.py:386 +msgid "" +"You are interested in the contact's presence information, but it is not " +"mutual" +msgstr "" +"Estás interesado en la información de presencia del contacto, pero el " +"interés nos mutuo" + +#: gajim/vcard.py:388 +msgid "The contact and you want to exchange presence information" +msgstr "" +"Tanto tú como el contacto queréis intercambiar información de presencia" + +#: gajim/vcard.py:390 +msgid "" +"You and the contact have a mutual disinterest in each-others presence " +"information" +msgstr "" +"Tanto tú como el contacto estáis desinteresados en la información de la " +"presencia del otro" + +#: gajim/vcard.py:396 +msgid "You are waiting contact's answer about your subscription request" +msgstr "" +"Estás esperando la respuesta del contacto acerca de tu petición de adición" + +#: gajim/vcard.py:398 +msgid "There is no pending subscription request." +msgstr "No hay ninguna suscripción pendiente." + +#: gajim/vcard.py:403 gajim/vcard.py:453 gajim/vcard.py:549 +msgid " resource with priority " +msgstr " recurso con prioridad " + +#: gajim/conversation_textview.py:65 +msgid "Untrusted" +msgstr "No fiable" + +#: gajim/conversation_textview.py:68 +msgid "Trust Not Decided" +msgstr "Confianza no decidida" + +#: gajim/conversation_textview.py:71 +msgid "Unverified" +msgstr "No verificado" + +#: gajim/conversation_textview.py:74 +msgid "Verified" +msgstr "Verificado" + +#: gajim/conversation_textview.py:225 +msgid "" +"Text below this line is what has been said since the\n" +"last time you paid attention to this group chat" +msgstr "" +"El texto debajo de esta línea es lo que se ha dicho desde la\n" +"última vez que prestó atención a este chat grupal" + +#: gajim/conversation_textview.py:428 +msgid "_Quote" +msgstr "_Cita" + +#: gajim/conversation_textview.py:436 +#, python-format +msgid "_Actions for \"%s\"" +msgstr "_Acciones para \"%s\"" + +#: gajim/conversation_textview.py:450 +msgid "Read _Wikipedia Article" +msgstr "Leer artículo de _Wikipedia" + +#: gajim/conversation_textview.py:455 +msgid "Look it up in _Dictionary" +msgstr "Buscarlo en el _Diccionario" + +#: gajim/conversation_textview.py:472 +#, python-format +msgid "Dictionary URL is missing an \"%s\" and it is not WIKTIONARY" +msgstr "Falta un \"%s\" en la URL del Diccionario y no está en WIKTIONARY" + +#: gajim/conversation_textview.py:486 +#, python-format +msgid "Web Search URL is missing an \"%s\"" +msgstr "Falta un \"%s\" en la URL de la búsqueda web" + +#: gajim/conversation_textview.py:489 +msgid "Web _Search for it" +msgstr "_Buscarlo en la web" + +#: gajim/conversation_textview.py:495 +msgid "Open as _Link" +msgstr "Abrir como enlace" + +#: gajim/conversation_textview.py:770 +msgid "Invalid URL" +msgstr "URL Inválida" + +#: gajim/conversation_textview.py:860 +msgid "" +"Message corrected. Original message:\n" +"{}" +msgstr "" +"Mensaje corregido. Mensaje original:\n" +"{}" + +#: gajim/conversation_textview.py:1031 +msgid "Not encrypted" +msgstr "No cifrado" + +#: gajim/conversation_textview.py:1034 +#, python-format +msgid "Encrypted (%s)" +msgstr "Cifrado (%s)" + +#: gajim/conversation_textview.py:1141 gajim/gtk/history.py:618 +#, python-format +msgid "Subject: %s\n" +msgstr "Tema: %s\n" + +#: gajim/conversation_textview.py:1250 +msgid "Received" +msgstr "Recibido" + +#: gajim/conversation_textview.py:1272 +msgid "?Message state:Read" +msgstr "?Message state:Leído" + +#: gajim/groupchat_control.py:352 +#, python-format +msgid "Send File (max. %s MiB)…" +msgstr "Enviar archivo (max. %s MiB)…" + +#: gajim/groupchat_control.py:497 +#, python-format +msgid "%s has been invited to this group chat" +msgstr "%s ha sido invitado a esta sala" + +#: gajim/groupchat_control.py:512 gajim/dialog_messages.py:31 +#: gajim/dialog_messages.py:36 gajim/gtk/single_message.py:238 +msgid "Invalid XMPP Address" +msgstr "Dirección XMPP no válida" + +#: gajim/groupchat_control.py:575 +msgid "Loading avatar failed" +msgstr "La carga de avatar ha fallado" + +#: gajim/groupchat_control.py:595 +#, python-format +msgid "Avatar upload failed: %s" +msgstr "La carga de avatar falló: %s" + +#: gajim/groupchat_control.py:598 +msgid "Avatar upload successful" +msgstr "Avatar cargado con éxito" + +#: gajim/groupchat_control.py:616 +#, python-format +msgid "Kick %s" +msgstr "Expulsar a %s" + +#: gajim/groupchat_control.py:625 +#, python-format +msgid "Ban %s" +msgstr "Prohibido %s" + +#: gajim/groupchat_control.py:684 +msgid "Insert Nickname" +msgstr "Insertar alias" + +#: gajim/groupchat_control.py:775 gajim/groupchat_control.py:776 +msgid "Voice Request" +msgstr "Petición de voz" + +#: gajim/groupchat_control.py:777 +#, python-format +msgid "%(nick)s from %(room_name)s requests voice" +msgstr "Petición de voz de %(nick)s desde %(room_name)s" + +#: gajim/groupchat_control.py:781 +msgid "_Approve" +msgstr "_Aprobar" + +#: gajim/groupchat_control.py:1007 +#, python-format +msgid "%(nick)s has set the subject to %(subject)s" +msgstr "%(nick)s ha establecido el sujeto en %(subject)s" + +#: gajim/groupchat_control.py:1023 +msgid "Group chat now shows unavailable members" +msgstr "El salón ahora muestra miembros no disponibles" + +#: gajim/groupchat_control.py:1026 +msgid "Group chat now does not show unavailable members" +msgstr "El salón ahora no muestra miembros no disponibles" + +#: gajim/groupchat_control.py:1030 +msgid "A setting not related to privacy has been changed" +msgstr "Se ha cambiado una configuración no relacionada con la privacidad" + +#: gajim/groupchat_control.py:1037 gajim/groupchat_control.py:1197 +msgid "Conversations are stored on the server" +msgstr "Las conversaciones están almacenadas en el servidor" + +#: gajim/groupchat_control.py:1040 +msgid "Conversations are not stored on the server" +msgstr "Las conversaciones no están almacenadas en el servidor" + +#: gajim/groupchat_control.py:1043 +msgid "Group chat is now non-anonymous" +msgstr "El salón es ahora no anónimo" + +#: gajim/groupchat_control.py:1047 +msgid "Group chat is now semi-anonymous" +msgstr "El salón es ahora semi-anónimo" + +#: gajim/groupchat_control.py:1051 +msgid "Group chat is now fully anonymous" +msgstr "El salón es ahora completamente anónimo" + +#: gajim/groupchat_control.py:1101 +#, python-format +msgid "Ping? (%s)" +msgstr "¿Ping? (%s)" + +#: gajim/groupchat_control.py:1104 +#, python-format +msgid "Pong! (%(nick)s %(delay)s s.)" +msgstr "¡Pong! (%(nick)s %(delay)s s.)" + +#: gajim/groupchat_control.py:1188 +#, python-format +msgid "You (%s) joined the group chat" +msgstr "%s te has unido al grupo de charla" + +#: gajim/groupchat_control.py:1193 +msgid "Any participant is allowed to see your full XMPP Address" +msgstr "Cualquier participante está autorizado para ver tu JID completo" + +#: gajim/groupchat_control.py:1201 +msgid "The server has assigned or modified your nickname in this group chat" +msgstr "El servidor ha asignado o modificado tu alias en este salón" + +#: gajim/groupchat_control.py:1211 +msgid "A new group chat has been created" +msgstr "Se ha creado un nuevo salón" + +#: gajim/groupchat_control.py:1215 +msgid "Failed to Configure Group Chat" +msgstr "Ha fallado la configuración del grupo de chat" + +#: gajim/groupchat_control.py:1274 gajim/groupchat_control.py:1304 +#: gajim/groupchat_control.py:1332 gajim/groupchat_control.py:1391 +#, python-brace-format +msgid " by {actor}" +msgstr " por {actor}" + +#: gajim/groupchat_control.py:1277 +#, python-brace-format +msgid "** Your Affiliation has been set to {affiliation}{actor}{reason}" +msgstr "** Tu afiliación ha sido establecida a {affiliation}{actor}{reason}" + +#: gajim/groupchat_control.py:1283 +#, python-brace-format +msgid "** Affiliation of {nick} has been set to {affiliation}{actor}{reason}" +msgstr "" +"** La afiliación de {nick} ha sido establecida a {affiliation}{actor}{reason}" + +#: gajim/groupchat_control.py:1307 +#, python-brace-format +msgid "** Your Role has been set to {role}{actor}{reason}" +msgstr "** Tu rol de ha sido establecido a {role}{actor}{reason}" + +#: gajim/groupchat_control.py:1312 +#, python-brace-format +msgid "** Role of {nick} has been set to {role}{actor}{reason}" +msgstr "** El rol de {nick} ha sido establecido a {role}{actor}{reason}" + +#: gajim/groupchat_control.py:1335 +#, python-brace-format +msgid "You have been removed from the group chat{actor}{reason}" +msgstr "Has sido eliminado de la sala {actor}{reason}" + +#: gajim/groupchat_control.py:1340 +#, python-brace-format +msgid "You have left due to an error{reason}" +msgstr "Has abandonado debido a un error{reason}" + +#: gajim/groupchat_control.py:1346 +#, python-brace-format +msgid "You have been kicked{actor}{reason}" +msgstr "Has sido expulsado{actor}{reason}" + +#: gajim/groupchat_control.py:1353 +#, python-brace-format +msgid "You have been banned{actor}{reason}" +msgstr "Has sido censurado{actor}{reason}" + +#: gajim/groupchat_control.py:1360 gajim/groupchat_control.py:1423 +msgid ": Affiliation changed" +msgstr ": Afiliación cambiada" + +#: gajim/groupchat_control.py:1366 gajim/groupchat_control.py:1428 +msgid ": Group chat configuration changed to members-only" +msgstr ": Configuración de grupo cambiada a solo miembros" + +#: gajim/groupchat_control.py:1394 +#, python-brace-format +msgid "{nick} has been removed from the group chat{by}{reason}" +msgstr "{nick} ha sido eliminado de la sala {by}{reason}" + +#: gajim/groupchat_control.py:1402 +#, python-brace-format +msgid "{nick} has left due to an error{reason}" +msgstr "{nick} se ha ido debido a un error{reason}" + +#: gajim/groupchat_control.py:1408 +#, python-brace-format +msgid "{nick} has been kicked{actor}{reason}" +msgstr "{nick} ha sido expulsado {actor}{reason}" + +#: gajim/groupchat_control.py:1416 +#, python-brace-format +msgid "{nick} has been banned{actor}{reason}" +msgstr "{nick} ha sido vetado {actor}{reason}" + +#: gajim/groupchat_control.py:1433 +#, python-brace-format +msgid "{nick} has left{reason}" +msgstr "{nick} se ha ido{reason}" + +#: gajim/groupchat_control.py:1451 +#, python-format +msgid "%s has joined the group chat" +msgstr "%s ha entrado en el grupo de charla" + +#: gajim/groupchat_control.py:1463 +msgid "Failed to Join Group Chat" +msgstr "Fallo al unirse a un grupo" + +#: gajim/groupchat_control.py:1469 +msgid "Failed to Create Group Chat" +msgstr "La creación del grupo de chat ha fallado" + +#: gajim/groupchat_control.py:1485 +msgid "Group chat has been destroyed" +msgstr "El grupo ha sido destruido" + +#: gajim/groupchat_control.py:1490 +#, python-format +msgid "You can join this group chat instead: xmpp:%s?join" +msgstr "Puedes unirte a este salón en su lugar: xmpp:%s?join" + +#: gajim/groupchat_control.py:1672 +msgid "Leave Group Chat" +msgstr "Abandonar grupo" + +#: gajim/groupchat_control.py:1673 +msgid "Are you sure you want to leave this group chat?" +msgstr "¿Estás seguro de querer abandonar este grupo?" + +#: gajim/groupchat_control.py:1674 +#, python-format +msgid "If you close this window, you will leave '%s'." +msgstr "Si cierras esta ventana, abandonarás '%s'." + +#: gajim/message_window.py:365 +msgid "Close Tabs" +msgstr "Cerrar pestañas" + +#: gajim/message_window.py:366 +msgid "You are about to close several tabs" +msgstr "Estás a punto de cerrar varias pestañas" + +#: gajim/message_window.py:367 +msgid "Do you really want to close all of them?" +msgstr "¿Realmente quieres cerrarlas todas?" + +#: gajim/message_window.py:526 +msgid "?Noun:Chats" +msgstr "?Noun:Conversaciones" + +#: gajim/message_window.py:530 gajim/data/gui/preferences.ui:155 +msgid "Group Chats" +msgstr "Grupos de charla" + +#: gajim/message_window.py:534 +msgid "Private Chats" +msgstr "Conversaciones privadas" + +#: gajim/message_window.py:540 +msgid "Messages" +msgstr "Mensajes" + +#: gajim/dialog_messages.py:37 +#, python-format +msgid "" +"It is not possible to send a message to %s. This XMPP Address is not valid." +msgstr "" +"No es posible enviar un mensaje a %s. Esta dirección XMPP no es válida." + +#: gajim/dialog_messages.py:42 +msgid "Unread Events" +msgstr "Eventos sin leer" + +#: gajim/dialog_messages.py:43 +msgid "Read or acknowledge all pending events before removing this account." +msgstr "" +"Leer o reconocer todos los eventos pendientes antes de eliminar esta cuenta." + +#: gajim/dialog_messages.py:48 +msgid "Invalid Form" +msgstr "Formulario no válido" + +#: gajim/dialog_messages.py:49 +msgid "The form is not filled correctly." +msgstr "El formulario no está cumplimentado correctamente." + +#: gajim/dialog_messages.py:53 +msgid "No Connection Available" +msgstr "No hay conexión disponible" + +#: gajim/dialog_messages.py:54 +msgid "Your message can not be sent until you are connected." +msgstr "Tu mensaje no será enviado mientras no estés conectado." + +#: gajim/dialog_messages.py:58 +msgid "XMPP Address Already in List" +msgstr "La dirección XMPP ya está en la lista" + +#: gajim/dialog_messages.py:59 +msgid "" +"The XMPP Address you entered is already in the list. Please choose another " +"one." +msgstr "" +"La dirección XMPP que introdujiste ya está en la lista. Por favor, elige " +"otra." + +#: gajim/dialog_messages.py:64 +msgid "Invalid Answer" +msgstr "Respuesta no válida" + +#: gajim/dialog_messages.py:65 +#, python-format +msgid "Transport %(name)s answered wrongly to register request: %(error)s" +msgstr "" +"El transporte %(name)s respondió incorrectamente a la petición de registro: " +"%(error)s" + +#: gajim/dialog_messages.py:70 +msgid "Wrong Custom Hostname" +msgstr "Nombre personalizado de host incorrecto" + +#: gajim/dialog_messages.py:71 +#, python-format +msgid "Custom hostname \"%s\" is wrong. It will be ignored." +msgstr "Nombre de host personalizado \"%s\" incorrecto. Será ignorado." + +#: gajim/dialog_messages.py:75 +msgid "Registration Succeeded" +msgstr "Registro realizado con éxito" + +#: gajim/dialog_messages.py:76 +#, python-format +msgid "Registration with agent %s succeeded." +msgstr "Registro con el agente %s realizado con éxito." + +#: gajim/dialog_messages.py:80 +msgid "Registration Failed" +msgstr "Falló el registro" + +#: gajim/dialog_messages.py:81 +#, python-format +msgid "" +"Registration with agent %(agent)s failed with error %(error)s: %(error_msg)s" +msgstr "" +"El registro con el agente %(agent)s falló con el error %(error)s: " +"%(error_msg)s" + +#: gajim/dialog_messages.py:86 +msgid "GStreamer Error" +msgstr "Error de GStreamer" + +#: gajim/dialog_messages.py:87 +#, python-format +msgid "" +"Error: %(error)s\n" +"Debug: %(debug)s" +msgstr "" +"Error: %(error)s\n" +"Depurar: %(debug)s" + +#: gajim/dialog_messages.py:91 +msgid "Wrong Host" +msgstr "Host erróneo" + +#: gajim/dialog_messages.py:92 +msgid "Invalid local address? :-O" +msgstr "¿Dirección local no válida? :-O" + +#: gajim/dialog_messages.py:96 +msgid "Avahi Error" +msgstr "Error de Avahi" + +#: gajim/dialog_messages.py:97 +#, python-format +msgid "" +"%s\n" +"Link-local messaging might not work properly." +msgstr "" +"%s\n" +"La mensajería de enlace local podría no funcionar correctamente." + +#: gajim/dialog_messages.py:101 +msgid "Could not Open File" +msgstr "No se pudo abrir el fichero" + +#: gajim/command_system/mapping.py:169 gajim/command_system/mapping.py:179 +#: gajim/command_system/mapping.py:199 +msgid "Missing arguments" +msgstr "Faltan argumentos" + +#: gajim/command_system/mapping.py:266 +msgid "Too many arguments" +msgstr "Demasiados argumentos" + +#: gajim/command_system/implementation/middleware.py:76 +msgid "Error during command execution!" +msgstr "¡Error durante la ejecución del comando!" + +#: gajim/command_system/implementation/execute.py:60 +msgid "Execute expression inside a shell, show output" +msgstr "Ejecutar expresión en una shell, mostrar salida" + +#: gajim/command_system/implementation/execute.py:74 +msgid "" +"Command disabled. This command can be enabled by setting " +"'command_system_execute' to True in ACE (Advanced Configuration Editor)." +msgstr "" +"Comando deshabilitado. Este comando se puede habilitar estableciendo " +"'command_system_execute' en Verdadero en ACE (Editor de configuración " +"avanzada)." + +#: gajim/command_system/implementation/execute.py:125 +msgid "Execute expression inside a shell, send output" +msgstr "Ejecutar expresión en una shell, enviar salida" + +#: gajim/command_system/implementation/standard.py:52 +msgid "" +"Show help on a given command or a list of available commands if -a is given" +msgstr "" +"Mostrar ayuda sobre un comando dado o una lista de comandos disponibles si " +"se proporciona -a" + +#: gajim/command_system/implementation/standard.py:81 +msgid "Send a message to the contact" +msgstr "Enviar un mensaje al contacto" + +#: gajim/command_system/implementation/standard.py:86 +msgid "Send action (in the third person) to the current chat" +msgstr "Enviar acción (en tercera persona) al chat actual" + +#: gajim/command_system/implementation/standard.py:91 +msgid "Show logged messages which mention given text" +msgstr "Mostrar mensajes registrados que mencionan el texto dado" + +#: gajim/command_system/implementation/standard.py:96 +#, python-format +msgid "%s: Nothing found" +msgstr "%s: No se ha encontrado nada" + +#: gajim/command_system/implementation/standard.py:102 +msgid "Limit must be an integer" +msgstr "EL límite debe ser un entero" + +#: gajim/command_system/implementation/standard.py:127 +msgid "" +"\n" +" Set the current status\n" +"\n" +" Status can be given as one of the following values:\n" +" online, away, chat, xa, dnd.\n" +" " +msgstr "" +"\n" +" Establecer el estado actual\n" +"\n" +" El estado se puede dar como uno de los siguientes valores: \n" +" en línea, ausente, chat, ausencia extendida, no molestar.\n" +" " + +#: gajim/command_system/implementation/standard.py:145 +msgid "Set the current status to away" +msgstr "Establecer el estado actual a ausente" + +#: gajim/command_system/implementation/standard.py:148 +#: gajim/common/helpers.py:200 gajim/common/modules/adhoc_commands.py:122 +msgid "Away" +msgstr "Ausente" + +#: gajim/command_system/implementation/standard.py:159 +msgid "Set the current status to online" +msgstr "Establecer el estado actual a conectado" + +#: gajim/command_system/implementation/standard.py:162 +msgid "Available" +msgstr "Disponible" + +#: gajim/command_system/implementation/standard.py:173 +msgid "Send a disco info request" +msgstr "Enviar peticiones de información de descubrimiento" + +#: gajim/command_system/implementation/standard.py:192 +#: gajim/command_system/implementation/standard.py:273 +msgid "Clear the text window" +msgstr "Limpiar ventana de texto" + +#: gajim/command_system/implementation/standard.py:197 +#: gajim/command_system/implementation/standard.py:425 +msgid "Send a ping to the contact" +msgstr "Hacer un ping al contacto" + +#: gajim/command_system/implementation/standard.py:201 +#: gajim/command_system/implementation/standard.py:429 +msgid "Command is not supported for zeroconf accounts" +msgstr "Comando no soportado en cuentas zeroconf" + +#: gajim/command_system/implementation/standard.py:205 +msgid "Send DTMF sequence through an open voice chat" +msgstr "Enviar secuencia DTMF a través de un chat de voz abierto" + +#: gajim/command_system/implementation/standard.py:208 +msgid "No open voice chats with the contact" +msgstr "No hay chats de voz abiertos con el contacto" + +#: gajim/command_system/implementation/standard.py:211 +#, python-format +msgid "%s is not a valid tone" +msgstr "%s no es un tono válido" + +#: gajim/command_system/implementation/standard.py:218 +msgid "Toggle Voice Chat" +msgstr "Alternar chat de voz" + +#: gajim/command_system/implementation/standard.py:221 +msgid "Voice chats are not available" +msgstr "Los chats de voz no están disponibles" + +#: gajim/command_system/implementation/standard.py:228 +msgid "Toggle Video Chat" +msgstr "Alternar chat de vídeo" + +#: gajim/command_system/implementation/standard.py:231 +msgid "Video chats are not available" +msgstr "Los chats de vídeo no están disponibles" + +#: gajim/command_system/implementation/standard.py:238 +msgid "Send a message to the contact that will attract their attention" +msgstr "Enviar un mensaje al contacto para atraer su atención" + +#: gajim/command_system/implementation/standard.py:278 +msgid "Change your nickname in a group chat" +msgstr "Cambiar tu alias en un grupo" + +#: gajim/command_system/implementation/standard.py:283 +msgid "Invalid nickname" +msgstr "Alias no válido" + +#: gajim/command_system/implementation/standard.py:290 +msgid "Open a private chat window with a specified participant" +msgstr "Abrir una ventana de chat privado con un participante especificado" + +#: gajim/command_system/implementation/standard.py:296 +#: gajim/command_system/implementation/standard.py:306 +#: gajim/command_system/implementation/standard.py:360 +#: gajim/command_system/implementation/standard.py:373 +#: gajim/command_system/implementation/standard.py:385 +msgid "Nickname not found" +msgstr "Alias no encontrado" + +#: gajim/command_system/implementation/standard.py:299 +msgid "" +"Open a private chat window with a specified participant and send him a " +"message" +msgstr "" +"Abrir una ventana de chat privado con un participante especificado y " +"enviarle un mensaje" + +#: gajim/command_system/implementation/standard.py:309 +msgid "Display or change a group chat topic" +msgstr "Mostrar o cambiar el tema de una sala de conversación" + +#: gajim/command_system/implementation/standard.py:318 +msgid "Invite a user to a group chat for a reason" +msgstr "Invitar a un usuario a un grupo por alguna razón" + +#: gajim/command_system/implementation/standard.py:325 +msgid "Join a group chat given by an XMPP Address" +msgstr "Unirse a un grupo dado por una dirección XMPP" + +#: gajim/command_system/implementation/standard.py:335 +msgid "" +"Leave the group chat, optionally giving a reason, and close tab or window" +msgstr "" +"Abandonar el grupo, dando opcionalmente una razón, y cerrando la pestaña o " +"ventana" + +#: gajim/command_system/implementation/standard.py:341 +msgid "" +"\n" +" Ban user by a nick or a JID from a groupchat\n" +"\n" +" If given nickname is not found it will be treated as a JID.\n" +" " +msgstr "" +"\n" +" Prohibir a un usuario en un grupo por alias nick o por JID\n" +"\n" +" Si no se encuentra el alias, será tratado como un JID.\n" +" " + +#: gajim/command_system/implementation/standard.py:357 +msgid "Kick user from group chat by nickname" +msgstr "Expulsar a un usuario de un grupo por alias" + +#: gajim/command_system/implementation/standard.py:366 +msgid "" +"Set participant role in group chat.\n" +" Role can be given as one of the following values:\n" +" moderator, participant, visitor, none" +msgstr "" +"Establecer el rol de participante en el grupo.\n" +" El rol se puede dar como uno de los siguientes valores:\n" +" moderador, participante, visitante, ninguno" + +#: gajim/command_system/implementation/standard.py:371 +msgid "Invalid role given" +msgstr "Rol no válido" + +#: gajim/command_system/implementation/standard.py:378 +msgid "" +"Set participant affiliation in group chat.\n" +" Affiliation can be given as one of the following values:\n" +" owner, admin, member, outcast, none" +msgstr "" +"Establece la afiliación de los participantes en el chat grupal.\n" +" La afiliación puede darse como uno de los siguientes valores:\n" +" propietario, administrador, miembro, rechazado, ninguno" + +#: gajim/command_system/implementation/standard.py:383 +msgid "Invalid affiliation given" +msgstr "Afiliación no válida" + +#: gajim/command_system/implementation/standard.py:393 +msgid "Display names of all group chat participants" +msgstr "Mostrar los nombres de todos los participantes de un grupo" + +#: gajim/command_system/implementation/standard.py:415 +msgid "Forbid a participant to send you public or private messages" +msgstr "Prohibir a un participante que te envíe mensajes públicos o privados" + +#: gajim/command_system/implementation/standard.py:420 +msgid "Allow a participant to send you public or private messages" +msgstr "Permitir a un participante enviarte mensajes públicos o privados" + +#: gajim/command_system/implementation/standard.py:432 +msgid "Unknown nickname" +msgstr "Alias desconocido" + +#: gajim/command_system/implementation/custom.py:114 +msgid "The same as using a doc-string, except it supports translation" +msgstr "Igual que usando doc-string, excepto que soporta traducción" + +#: gajim/gtk/ssl_error_dialog.py:36 gajim/data/gui/ssl_error_dialog.ui:16 +msgid "SSL Certificate Verification Error" +msgstr "Error de verificación de certificado SSL" + +#: gajim/gtk/ssl_error_dialog.py:55 +#, python-format +msgid "" +"There was an error while attempting to verify the SSL certificate of your " +"XMPP server (%s)." +msgstr "" +"Ocurrió un error verificando el certificado SSL de tu servidor XMPP (%s)." + +#: gajim/gtk/ssl_error_dialog.py:58 +#, python-format +msgid "Unknown SSL error '%s'" +msgstr "Error SSL desconocido '%s'" + +#: gajim/gtk/avatar_selector.py:84 +msgid "Select a picture or drop it here" +msgstr "Seleccionar una foto o soltarla aquí" + +#: gajim/gtk/status_change.py:62 gajim/gtk/preferences.py:627 +#: gajim/gtk/preferences.py:655 +msgid "Status Message" +msgstr "Mensaje de estado" + +#: gajim/gtk/status_change.py:330 +msgid "No activity" +msgstr "Sin actividad" + +#: gajim/gtk/status_change.py:370 gajim/gtk/status_change.py:383 +#: gajim/gtk/status_change.py:488 +msgid "No mood selected" +msgstr "Ningún estado de ánimo seleccionado" + +#: gajim/gtk/status_change.py:382 +msgid "No mood" +msgstr "Sin ánimo" + +#: gajim/gtk/status_change.py:439 +msgid "Overwrite" +msgstr "Sobrescribir" + +#: gajim/gtk/status_change.py:440 +msgid "Overwrite Status Message?" +msgstr "¿Sobreescribir mensaje de estado?" + +#: gajim/gtk/status_change.py:441 +msgid "This name is already in use. Do you want to overwrite this preset?" +msgstr "Este nombre está en uso. ¿Quieres sobrescribir esta configuración?" + +#: gajim/gtk/status_change.py:445 gajim/plugins/gui.py:292 +msgid "_Overwrite" +msgstr "Sobrescribir" + +#: gajim/gtk/status_change.py:453 +msgid "Status Preset" +msgstr "Estado predefinido" + +#: gajim/gtk/status_change.py:454 +msgid "Save status as preset" +msgstr "Guardar estado como predefinido" + +#: gajim/gtk/status_change.py:455 +msgid "Please assign a name to this status message preset" +msgstr "Asigna un nombre a este mensaje de estado preestablecido" + +#: gajim/gtk/status_change.py:458 gajim/data/gui/profile.ui:336 +msgid "_Save" +msgstr "_Guardar" + +#: gajim/gtk/status_change.py:460 +msgid "New Status" +msgstr "Nuevo estado" + +#: gajim/gtk/advanced_config.py:46 gajim/gtk/advanced_config.py:144 +msgid "Activated" +msgstr "Activado" + +#: gajim/gtk/advanced_config.py:47 +msgid "Deactivated" +msgstr "Desactivado" + +#: gajim/gtk/advanced_config.py:52 +msgid "?config type:Boolean" +msgstr "?config type:Booleano" + +#: gajim/gtk/advanced_config.py:53 +msgid "?config type:Integer" +msgstr "?config type:Entero" + +#: gajim/gtk/advanced_config.py:54 +msgid "?config type:Text" +msgstr "?config type:Texto" + +#: gajim/gtk/advanced_config.py:65 +msgid "Advanced Configuration Editor (ACE)" +msgstr "Editor avanzado de configuración (ACE)" + +#: gajim/gtk/advanced_config.py:80 +msgid "?config:Preference Name" +msgstr "?config:Nombre de preferencia" + +#: gajim/gtk/advanced_config.py:91 +msgid "?config:Value" +msgstr "?config:Valor" + +#: gajim/gtk/advanced_config.py:100 +msgid "?config:Type" +msgstr "?config:Tipo" + +#: gajim/gtk/advanced_config.py:133 +msgid "?config description:None" +msgstr "?config description:Ninguna" + +#: gajim/gtk/preferences.py:63 gajim/data/gui/shortcuts_window.ui:31 +msgid "Preferences" +msgstr "Preferencias" + +#: gajim/gtk/preferences.py:185 +msgid "Detached contact list with detached chats" +msgstr "Lista de contactos separada con chats separados" + +#: gajim/gtk/preferences.py:186 +msgid "Detached contact list with single chat" +msgstr "Lista de contactos separada con una sola conversación" + +#: gajim/gtk/preferences.py:187 +msgid "Single window for everything" +msgstr "Ventana única para todo" + +#: gajim/gtk/preferences.py:188 +msgid "Detached contact list with chats grouped by account" +msgstr "Lista de contactos separada con chat agrupado por cuenta" + +#: gajim/gtk/preferences.py:189 +msgid "Detached contact list with chats grouped by type" +msgstr "Lista de contactos separada con chat agrupado por tipo" + +#: gajim/gtk/preferences.py:193 gajim/data/gui/mam_preferences.ui:14 +msgid "Always" +msgstr "Siempre" + +#: gajim/gtk/preferences.py:194 gajim/data/gui/mam_preferences.ui:22 +msgid "Never" +msgstr "Nunca" + +#: gajim/gtk/preferences.py:195 +msgid "Restore last state" +msgstr "Restaurar último estado" + +#: gajim/gtk/preferences.py:199 +msgid "Top" +msgstr "Arriba" + +#: gajim/gtk/preferences.py:200 +msgid "Bottom" +msgstr "Abajo" + +#: gajim/gtk/preferences.py:201 +msgid "Left" +msgstr "Izquierda" + +#: gajim/gtk/preferences.py:202 +msgid "Right" +msgstr "Derecha" + +#: gajim/gtk/preferences.py:207 +msgid "Window Layout" +msgstr "Disposición de la ventana" + +#: gajim/gtk/preferences.py:214 +msgid "Contact List on Startup" +msgstr "Lista de contactos al inicio" + +#: gajim/gtk/preferences.py:218 +msgid "Show contact list when starting Gajim" +msgstr "Mostrar la lista de contactos al inicio de Gajim" + +#: gajim/gtk/preferences.py:221 +msgid "Quit on Close" +msgstr "Salir al cerrar" + +#: gajim/gtk/preferences.py:224 +msgid "Quit when closing contact list" +msgstr "Salir al cerrar la lista de contactos" + +#: gajim/gtk/preferences.py:227 +msgid "Tab Position" +msgstr "Posición de pestaña" + +#: gajim/gtk/preferences.py:231 +msgid "Placement of chat window tabs" +msgstr "Ubicación de las pestañas de ventanas de chat" + +#: gajim/gtk/preferences.py:247 +msgid "Merge Accounts" +msgstr "Combinar cuentas" + +#: gajim/gtk/preferences.py:253 +msgid "Enable Metacontacts" +msgstr "Habilitar metacontactos" + +#: gajim/gtk/preferences.py:258 +msgid "Show Avatars" +msgstr "Mostrar avatares" + +#: gajim/gtk/preferences.py:264 gajim/gtk/preferences.py:353 +msgid "Show Status Message" +msgstr "Mostrar mensaje de estado" + +#: gajim/gtk/preferences.py:270 gajim/gtk/preferences.py:411 +msgid "Sort Contacts by Status" +msgstr "Ordenar contactos por estado" + +#: gajim/gtk/preferences.py:276 +msgid "Show Mood" +msgstr "Mostrar estado de ánimo" + +#: gajim/gtk/preferences.py:281 +msgid "Show Activity" +msgstr "Mostrar actividad" + +#: gajim/gtk/preferences.py:286 +msgid "Show Tune" +msgstr "Mostrar melodía" + +#: gajim/gtk/preferences.py:323 +msgid "Needs gspell to be installed" +msgstr "Necesita instalar gspell" + +#: gajim/gtk/preferences.py:327 +msgid "Spell Checking" +msgstr "Corrector ortográfico" + +#: gajim/gtk/preferences.py:335 +msgid "Message Receipts (✔)" +msgstr "Mostrar recepciones de mensajes (✔)" + +#: gajim/gtk/preferences.py:338 +msgid "Add a checkmark to received messages" +msgstr "Agregar una marca de verificación a los mensajes recibidos" + +#: gajim/gtk/preferences.py:341 +msgid "XHTML Formatting" +msgstr "Formateo XHTML" + +#: gajim/gtk/preferences.py:344 +msgid "Render XHTML styles (colors, etc.) of incoming messages" +msgstr "Renderizar estilos XHTML (colores, etc.) de mensajes entrantes" + +#: gajim/gtk/preferences.py:348 +msgid "Show Send Message Button" +msgstr "Mostrar botón de enviar mensaje" + +#: gajim/gtk/preferences.py:358 +msgid "Show Chat State In Tabs" +msgstr "Mostrar estado de conversación en pestañas" + +#: gajim/gtk/preferences.py:361 +msgid "Show the contact’s chat state (e.g. typing) in the chat’s tab" +msgstr "" +"Muestra el estado del chat del contacto (p. ej. escribiendo) en la pestaña " +"del chat" + +#: gajim/gtk/preferences.py:365 +msgid "Show Chat State In Banner" +msgstr "Mostrar estado del chat en el banner" + +#: gajim/gtk/preferences.py:368 +msgid "Show the contact’s chat state (e.g. typing) in the chats tab’s banner" +msgstr "" +"Muestra el estado del chat del contacto (p. ej. escribiendo) en el banner de " +"la pestaña de chat" + +#: gajim/gtk/preferences.py:372 +msgid "Display Chat State In Contact List" +msgstr "Mostrar estado en la lista de contactos" + +#: gajim/gtk/preferences.py:375 +msgid "Show the contact’s chat state (e.g. typing) in the contact list" +msgstr "" +"Mostrar estado del contacto (p.ej. escribiendo) en la lista de contactos" + +#: gajim/gtk/preferences.py:406 +msgid "Show Subject" +msgstr "Mostrar asunto" + +#: gajim/gtk/preferences.py:417 +msgid "Default Sync Threshold" +msgstr "Umbral de sincronización predeterminado" + +#: gajim/gtk/preferences.py:420 +msgid "Default for new public group chats" +msgstr "Predeterminado para nuevos grupos" + +#: gajim/gtk/preferences.py:424 +msgid "Show Joined / Left" +msgstr "Mostrar unirse/abandonar" + +#: gajim/gtk/preferences.py:427 gajim/gtk/preferences.py:438 +msgid "Default for new group chats" +msgstr "Predeterminado para nuevos grupos" + +#: gajim/gtk/preferences.py:428 gajim/gtk/preferences.py:439 +#: gajim/gtk/accounts.py:715 gajim/gtk/accounts.py:727 +#: gajim/gtk/accounts.py:740 +msgid "Reset" +msgstr "Reiniciar" + +#: gajim/gtk/preferences.py:429 gajim/gtk/preferences.py:440 +#: gajim/gtk/accounts.py:728 +msgid "Reset all group chats to the current default value" +msgstr "Reiniciar todos los grupos a los valores por defecto actuales" + +#: gajim/gtk/preferences.py:435 gajim/gtk/groupchat_settings.py:48 +msgid "Show Status Changes" +msgstr "Mostrar cambios de estado" + +#: gajim/gtk/preferences.py:468 +msgid "Hide icon" +msgstr "Ocultar icono" + +#: gajim/gtk/preferences.py:469 +msgid "Only show for pending events" +msgstr "Mostrar solo cuando hay eventos pendientes" + +#: gajim/gtk/preferences.py:470 +msgid "Always show icon" +msgstr "Mostrar siempre icono" + +#: gajim/gtk/preferences.py:475 +msgid "Notification Area Icon" +msgstr "Icono en el área de notificación" + +#: gajim/gtk/preferences.py:482 +msgid "Open Events" +msgstr "Abrir eventos" + +#: gajim/gtk/preferences.py:485 +msgid "Open events instead of showing a notification in the contact list" +msgstr "" +"Abrir eventos en lugar de mostrar notificación en la lista de contactos" + +#: gajim/gtk/preferences.py:489 gajim/gtk/preferences.py:512 +msgid "Show Notifications" +msgstr "Mostrar notificaciones" + +#: gajim/gtk/preferences.py:517 +msgid "Notifications When Away" +msgstr "Notificaciones para ausencia" + +#: gajim/gtk/preferences.py:520 +msgid "Show notifications even if you are Away, Busy, etc." +msgstr "Mostrar notificaciones incluso si estás ausente, ocupado, etc." + +#: gajim/gtk/preferences.py:525 gajim/data/gui/preferences.ui:271 +msgid "Notifications" +msgstr "Notificaciones" + +#: gajim/gtk/preferences.py:534 +msgid "Play Sounds" +msgstr "Reproducir sonidos" + +#: gajim/gtk/preferences.py:537 +msgid "Play sounds to notify about events" +msgstr "Reproducir sonidos para notificar eventos" + +#: gajim/gtk/preferences.py:542 +msgid "Sounds When Away" +msgstr "Sonidos para ausencia" + +#: gajim/gtk/preferences.py:545 +msgid "Play sounds even when you are Away, Busy, etc." +msgstr "Reproducir sonido cuando estés ausente, ocupado, etc." + +#: gajim/gtk/preferences.py:560 +msgid "Sign In" +msgstr "Registrarse" + +#: gajim/gtk/preferences.py:565 +msgid "Sign Out" +msgstr "Desconectar" + +#: gajim/gtk/preferences.py:570 +msgid "Status Change" +msgstr "Cambio de estado" + +#: gajim/gtk/preferences.py:583 gajim/gtk/preferences.py:614 +msgid "Auto Away" +msgstr "Auto ausente" + +#: gajim/gtk/preferences.py:585 +msgid "Change your status to 'Away' after a certain amount of time" +msgstr "Cambiar tu estado a 'Ausente' después de una cierta cantidad de tiempo" + +#: gajim/gtk/preferences.py:590 gajim/gtk/preferences.py:642 +msgid "Auto Not Available" +msgstr "Auto no disponible" + +#: gajim/gtk/preferences.py:592 +msgid "Change your status to 'Not Available' after a certain amount of time" +msgstr "" +"Cambiar tu estado a 'No disponible' después de una cierta cantidad de tiempo" + +#: gajim/gtk/preferences.py:619 +msgid "Time Until Away" +msgstr "Tiempo hasta Ausente" + +#: gajim/gtk/preferences.py:622 gajim/gtk/preferences.py:650 +msgid "Minutes until your status gets changed" +msgstr "Minutos hasta que cambie tu estado" + +#: gajim/gtk/preferences.py:633 gajim/gtk/preferences.py:828 +msgid "Auto Away Settings" +msgstr "Configuraciones del auto ausencia" + +#: gajim/gtk/preferences.py:647 +msgid "Time Until Not Available" +msgstr "Tiempo hasta no disponible" + +#: gajim/gtk/preferences.py:661 +msgid "Auto Extended Away Settings" +msgstr "Configuraciones de auto ausencia extendida" + +#: gajim/gtk/preferences.py:672 gajim/gtk/accounts.py:680 +msgid "Enabled" +msgstr "Activado" + +#: gajim/gtk/preferences.py:673 gajim/data/gui/vcard_information_window.ui:123 +msgid "System" +msgstr "Sistema" + +#: gajim/gtk/preferences.py:678 +msgid "Dark Theme" +msgstr "Tema Oscuro" + +#: gajim/gtk/preferences.py:685 +msgid "Theme" +msgstr "Tema" + +#: gajim/gtk/preferences.py:731 +msgid "Convert ASCII Emojis" +msgstr "Convertir emoticonos ASCII" + +#: gajim/gtk/preferences.py:734 +msgid "Typing short codes like :-) will display emojis" +msgstr "Escribir códigos cortos como :-) mostrará emoticonos" + +#: gajim/gtk/preferences.py:741 +msgid "Emoji Theme" +msgstr "Tema para Emoticonos" + +#: gajim/gtk/preferences.py:744 +msgid "Choose from various emoji styles" +msgstr "Elegir entre varios estilos de emoticonos" + +#: gajim/gtk/preferences.py:774 +msgid "Status Icon Set" +msgstr "Conjunto de iconos de estado" + +#: gajim/gtk/preferences.py:781 +msgid "Use Transport Icons" +msgstr "Usar iconos de transportes" + +#: gajim/gtk/preferences.py:784 +msgid "Display protocol-specific status icons (ICQ, ..)" +msgstr "Mostrar iconos de estado específicos de protocolos (ICQ, ..)" + +#: gajim/gtk/preferences.py:801 gajim/gtk/preferences.py:817 +msgid "Use Stun Server" +msgstr "Usar servidor Stun" + +#: gajim/gtk/preferences.py:803 +msgid "Helps to establish calls through firewalls" +msgstr "Ayuda a establecer llamadas a través de cortafuegos" + +#: gajim/gtk/preferences.py:822 +msgid "STUN Server" +msgstr "Servidor STUN" + +#: gajim/gtk/preferences.py:848 +msgid "Audio Input Device" +msgstr "Dispositivo de entrada de sonido" + +#: gajim/gtk/preferences.py:851 +msgid "Select your audio input (e.g. microphone)" +msgstr "Selecciona tu entrada de sonido (p.ej. micrófono)" + +#: gajim/gtk/preferences.py:855 +msgid "Audio Output Device" +msgstr "Dispositivo de salida de sonido" + +#: gajim/gtk/preferences.py:858 +msgid "Select an audio output (e.g. speakers, headphones)" +msgstr "Selecciona tu salida de sonido (p.ej. altavoces, auriculares)" + +#: gajim/gtk/preferences.py:890 gajim/gtk/preferences.py:898 +msgid "Default" +msgstr "Por defecto" + +#: gajim/gtk/preferences.py:906 +msgid "Video Input Device" +msgstr "Dispositivo de entrada de vídeo" + +#: gajim/gtk/preferences.py:910 +msgid "Select your video input device (e.g. webcam, screen capture)" +msgstr "" +"Selecciona tu dispositivo de entrada de vídeo (p.ej. webcam, captura de " +"pantalla)" + +#: gajim/gtk/preferences.py:915 +msgid "Video Framerate" +msgstr "Tasa de fotogramas de vídeo" + +#: gajim/gtk/preferences.py:921 +msgid "Video Resolution" +msgstr "Resolución de vídeo" + +#: gajim/gtk/preferences.py:927 +msgid "Show My Video Stream" +msgstr "Mostrar mi transmisión de vídeo" + +#: gajim/gtk/preferences.py:930 +msgid "Show your own video stream in calls" +msgstr "Mostrar tu propia transmisión de vídeo en llamadas" + +#: gajim/gtk/preferences.py:933 gajim/data/gui/video_preview.ui:51 +msgid "Live Preview" +msgstr "Vista previa en vivo" + +#: gajim/gtk/preferences.py:935 +msgid "Show a live preview to test your video source" +msgstr "Muestrar una vista previa en vivo para probar tu fuente de video" + +#: gajim/gtk/preferences.py:975 +msgid "Global Proxy" +msgstr "Proxy global" + +#: gajim/gtk/preferences.py:980 gajim/gtk/account_wizard.py:732 +#: gajim/gtk/accounts.py:790 +msgid "No Proxy" +msgstr "Sin proxy" + +#: gajim/gtk/preferences.py:985 +msgid "Use System Keyring" +msgstr "Usar llavero del sistema" + +#: gajim/gtk/preferences.py:988 +msgid "Use your system’s keyring to store passwords" +msgstr "Usa tu llavero de sistema para almacenar contraseñas" + +#: gajim/gtk/preferences.py:994 +msgid "Check For Updates" +msgstr "Comprobar actualizaciones" + +#: gajim/gtk/preferences.py:997 gajim/common/config.py:241 +msgid "Check for Gajim updates periodically" +msgstr "Busque actualizaciones de Gajim periódicamente" + +#: gajim/gtk/preferences.py:1033 +msgid "Debug Logging" +msgstr "Trazado de depuración" + +#: gajim/gtk/message_input.py:48 +msgid "Write a message…" +msgstr "Escribir un mensaje…" + +#: gajim/gtk/settings.py:400 gajim/gtk/settings.py:758 +#: gajim/gtk/settings.py:784 gajim/gtk/settings.py:793 +#: gajim/gtk/settings.py:802 gajim/gtk/settings.py:811 +msgid "?switch:On" +msgstr "?switch:Activado" + +#: gajim/gtk/settings.py:400 gajim/gtk/settings.py:758 +#: gajim/gtk/settings.py:784 gajim/gtk/settings.py:793 +#: gajim/gtk/settings.py:802 gajim/gtk/settings.py:811 +msgid "?switch:Off" +msgstr "?switch:Desactivado" + +#: gajim/gtk/settings.py:538 gajim/gtk/manage_sounds.py:46 +#: gajim/gtk/filechoosers.py:89 gajim/gtk/filechoosers.py:140 +#: gajim/gtk/filechoosers.py:147 +msgid "All files" +msgstr "Todos los archivos" + +#: gajim/gtk/settings.py:547 +msgid "Clear File" +msgstr "Vaciar fichero" + +#: gajim/gtk/settings.py:745 +msgid "Adjust to Status" +msgstr "Ajustar al estado" + +#: gajim/gtk/history_sync.py:111 gajim/gtk/history_sync.py:193 +msgid "Synchronise History" +msgstr "Sincronizar historial" + +#: gajim/gtk/history_sync.py:205 +msgid "How far back should the chat history be synchronised?" +msgstr "¿Cuánto tiempo atrás debe sincronizarse el historial de chat?" + +#: gajim/gtk/history_sync.py:210 +msgid "One Month" +msgstr "Un mes" + +#: gajim/gtk/history_sync.py:211 +msgid "Three Months" +msgstr "Tres meses" + +#: gajim/gtk/history_sync.py:212 +msgid "One Year" +msgstr "Un año" + +#: gajim/gtk/history_sync.py:213 +msgid "Everything" +msgstr "Todo" + +#: gajim/gtk/history_sync.py:241 gajim/gtk/account_wizard.py:276 +#: gajim/gtk/account_wizard.py:295 gajim/gtk/account_wizard.py:312 +msgid "Connecting..." +msgstr "Conectando..." + +#: gajim/gtk/history_sync.py:253 +#, python-format +msgid "%(received)s of %(max)s" +msgstr "%(received)s de %(max)s" + +#: gajim/gtk/history_sync.py:257 +#, python-format +msgid "Downloaded %s messages" +msgstr "Descargados %s mensajes" + +#: gajim/gtk/history_sync.py:277 +#, python-format +msgid "" +"Finished synchronising chat history:\n" +"%s messages downloaded" +msgstr "" +"Finalizada la sincronización del historial de chat:\n" +"%s mensajes descargados" + +#: gajim/gtk/history_sync.py:281 +msgid "Gajim is fully synchronised with the archive." +msgstr "Gajim está totalmente sincronizado con el archivo." + +#: gajim/gtk/history_sync.py:284 +msgid "There is already a synchronisation in progress. Please try again later." +msgstr "Ya hay una sincronización en progreso. Por favor, intentar más tarde." + +#: gajim/gtk/pep_config.py:49 +#, python-format +msgid "PEP Service Configuration (%s)" +msgstr "Configuración del servicio PEP (%s)" + +#: gajim/gtk/pep_config.py:74 +msgid "Service" +msgstr "Servicio" + +#: gajim/gtk/pep_config.py:105 +msgid "PEP node was not removed" +msgstr "El nodo PEP no fue eliminado" + +#: gajim/gtk/pep_config.py:106 +#, python-format +msgid "" +"PEP node %(node)s was not removed:\n" +"%(message)s" +msgstr "" +"El nodo PEP %(node)s no fue eliminado:\n" +"%(message)s" + +#: gajim/gtk/pep_config.py:153 +#, python-format +msgid "Configure %s" +msgstr "Configurar %s" + +#: gajim/gtk/mam_preferences.py:42 +#, python-format +msgid "Archiving Preferences for %s" +msgstr "Preferencias de archivado para %s" + +#: gajim/gtk/mam_preferences.py:101 +msgid "Archiving Preferences Saved" +msgstr "Guardadas preferencias de archivado" + +#: gajim/gtk/mam_preferences.py:102 +msgid "Your archiving preferences have successfully been saved." +msgstr "Tus preferencias de archivado han sido guardadas con éxito." + +#: gajim/gtk/mam_preferences.py:109 +msgid "Archiving Preferences Error" +msgstr "Error de preferencias de archivado" + +#: gajim/gtk/mam_preferences.py:110 +msgid "Error received: {}" +msgstr "Error recibido: {}" + +#: gajim/gtk/statusicon.py:198 +msgid "_Change Status Message…" +msgstr "_Cambiar mensaje de estado…" + +#: gajim/gtk/statusicon.py:250 +#, python-format +msgid "using account %s" +msgstr "usando la cuenta %s" + +#: gajim/gtk/statusicon.py:263 +msgid "Hide _Contact List" +msgstr "Ocultar lista de _contactos" + +#: gajim/gtk/statusicon.py:268 gajim/data/gui/application_menu.ui:42 +msgid "Show _Contact List" +msgstr "Mostrar lista de _contactos" + +#: gajim/gtk/statusicon.py:276 +msgid "Hide this menu" +msgstr "Oculta este menú" + +#: gajim/gtk/start_chat.py:57 +msgid "Start / Join Chat" +msgstr "Iniciar / unirse a un chat" + +#: gajim/gtk/start_chat.py:285 gajim/gtk/start_chat.py:370 +msgid "You can not join a group chat unless you are connected." +msgstr "No puedes entrar a un salón de chat hasta que no estés conectado." + +#: gajim/gtk/start_chat.py:634 gajim/gtk/groupchat_join.py:40 +msgid "Join Group Chat" +msgstr "Entrar a un salón de chat" + +#: gajim/gtk/start_chat.py:715 +msgid "" +"Search for group chats globally\n" +"(press Return to start search)" +msgstr "" +"Buscar grupos a nivel mundial\n" +"(presiona Intro para comenzar la búsqueda)" + +#: gajim/gtk/start_chat.py:808 +#, python-format +msgid "%s group chats found" +msgstr "%s grupos encontrados" + +#: gajim/gtk/notification.py:184 gajim/gtk/notification.py:205 +#: gajim/gtk/notification.py:219 gajim/gtk/notification.py:272 +#: gajim/common/connection_handlers_events.py:234 +msgid "New Private Message" +msgstr "Nuevo mensaje privado" + +#: gajim/gtk/notification.py:185 gajim/gtk/notification.py:206 +#: gajim/gtk/notification.py:220 gajim/common/connection_handlers_events.py:328 +msgid "New Group Chat Message" +msgstr "Nuevo mensaje de grupo de chat" + +#: gajim/gtk/notification.py:186 gajim/gtk/notification.py:212 +#: gajim/gtk/notification.py:289 gajim/common/connection_handlers_events.py:418 +msgid "Contact Changed Status" +msgstr "Contacto cambió su estado" + +#: gajim/gtk/notification.py:200 +msgid "Open" +msgstr "Abrir" + +#: gajim/gtk/notification.py:209 +msgid "Mark as Read" +msgstr "Marcar como leído" + +#: gajim/gtk/notification.py:273 +msgid "New E-mail" +msgstr "Nuevo correo-e" + +#: gajim/gtk/video_preview.py:116 +msgid "OpenGL accelerated" +msgstr "OpenGL acelerado" + +#: gajim/gtk/video_preview.py:120 +msgid "Not accelerated" +msgstr "No acelerado" + +#: gajim/gtk/video_preview.py:127 +msgid "Something went wrong. Video feature disabled." +msgstr "Algo ha ido mal. Vídeo deshabilitado." + +#: gajim/gtk/groupchat_invite.py:304 +msgid "Invite New Contact" +msgstr "Invitar a nuevo contacto" + +#: gajim/gtk/themes.py:37 +msgid "Chatstate Composing" +msgstr "Componiendo estado de chat" + +#: gajim/gtk/themes.py:41 +msgid "Chatstate Inactive" +msgstr "Estado inactivo" + +#: gajim/gtk/themes.py:45 +msgid "Chatstate Gone" +msgstr "Estado me he ido" + +#: gajim/gtk/themes.py:49 +msgid "Chatstate Paused" +msgstr "Estado en pausa" + +#: gajim/gtk/themes.py:53 +msgid "Group Chat Tab New Directed Message" +msgstr "Nuevo Mensaje Directo en Pestaña MUC" + +#: gajim/gtk/themes.py:57 +msgid "Group Chat Tab New Message" +msgstr "Nuevo mensaje en pestaña de grupo" + +#: gajim/gtk/themes.py:61 +msgid "Banner Foreground Color" +msgstr "Color del banner" + +#: gajim/gtk/themes.py:65 +msgid "Banner Background Color" +msgstr "Color de fondo del banner" + +#: gajim/gtk/themes.py:69 +msgid "Banner Font" +msgstr "Tipografía del banner" + +#: gajim/gtk/themes.py:73 +msgid "Account Row Foreground Color" +msgstr "Color de la fila de la cuenta" + +#: gajim/gtk/themes.py:77 +msgid "Account Row Background Color" +msgstr "Color de fondo de la fila de la cuenta" + +#: gajim/gtk/themes.py:81 +msgid "Account Row Font" +msgstr "Tipografía de la fila de la cuenta" + +#: gajim/gtk/themes.py:85 +msgid "Group Row Foreground Color" +msgstr "Color de la fila del grupo" + +#: gajim/gtk/themes.py:89 +msgid "Group Row Background Color" +msgstr "Color de fondo de la fila de grupo" + +#: gajim/gtk/themes.py:93 +msgid "Group Row Font" +msgstr "Tipografía de la fila de grupo" + +#: gajim/gtk/themes.py:97 +msgid "Contact Row Foreground Color" +msgstr "Color de la fila de contacto" + +#: gajim/gtk/themes.py:101 +msgid "Contact Row Background Color" +msgstr "Color de fondo de la fila de contacto" + +#: gajim/gtk/themes.py:105 +msgid "Contact Row Font" +msgstr "Tipografía de la fila de contacto" + +#: gajim/gtk/themes.py:109 +msgid "Conversation Font" +msgstr "Tipografía para conversación" + +#: gajim/gtk/themes.py:113 +msgid "Incoming Nickname Color" +msgstr "Color del alias que entra" + +#: gajim/gtk/themes.py:117 +msgid "Outgoing Nickname Color" +msgstr "Color del alias que sale" + +#: gajim/gtk/themes.py:121 +msgid "Incoming Message Text Color" +msgstr "Color del texto de mensaje entrante" + +#: gajim/gtk/themes.py:125 +msgid "Incoming Message Text Font" +msgstr "Tipografía del texto de mensaje entrante" + +#: gajim/gtk/themes.py:129 +msgid "Outgoing Message Text Color" +msgstr "Color del texto de mensaje saliente" + +#: gajim/gtk/themes.py:133 +msgid "Outgoing Message Text Font" +msgstr "Tipografía del texto de mensaje saliente" + +#: gajim/gtk/themes.py:137 +msgid "Status Message Color" +msgstr "Color del mensaje de estado" + +#: gajim/gtk/themes.py:141 +msgid "Status Message Font" +msgstr "Tipografía del mensaje de estado" + +#: gajim/gtk/themes.py:145 +msgid "URL Color" +msgstr "Color de URL" + +#: gajim/gtk/themes.py:149 +msgid "Highlight Message Color" +msgstr "Color de mensaje resaltado" + +#: gajim/gtk/themes.py:153 +msgid "Message Correcting" +msgstr "Corrección de mensaje" + +#: gajim/gtk/themes.py:157 +msgid "Contact Disconnected Background" +msgstr "Color de fondo de contacto desconectado" + +#: gajim/gtk/themes.py:161 +msgid "Contact Connected Background " +msgstr "Color de fondo de contacto conectado " + +#: gajim/gtk/themes.py:164 +msgid "Status Online Color" +msgstr "Color para estado conectado" + +#: gajim/gtk/themes.py:167 +msgid "Status Away Color" +msgstr "Color para estado ausente" + +#: gajim/gtk/themes.py:170 +msgid "Status DND Color" +msgstr "Color de estado No molestar" + +#: gajim/gtk/themes.py:173 +msgid "Status Offline Color" +msgstr "Color para estado desconectado" + +#: gajim/gtk/themes.py:187 +msgid "Gajim Themes" +msgstr "Temas Gajim" + +#: gajim/gtk/themes.py:223 gajim/gtk/themes.py:230 +msgid "Invalid Name" +msgstr "Nombre no válido" + +#: gajim/gtk/themes.py:224 +msgid "Name default is not allowed" +msgstr "Nombredefault no está permitido" + +#: gajim/gtk/themes.py:231 +msgid "Spaces are not allowed" +msgstr "Espacios no permitidos" + +#: gajim/gtk/themes.py:356 +msgid "Do you want to delete this theme?" +msgstr "¿Quieres borrar este tema?" + +#: gajim/gtk/themes.py:358 +msgid "" +"This is the theme you are currently using.\n" +"Do you want to delete this theme?" +msgstr "" +"Este es el tema que estás usando actualmente.\n" +"¿Quieres borrar este tema?" + +#: gajim/gtk/themes.py:363 +msgid "Delete Theme" +msgstr "Borrar tema" + +#: gajim/gtk/themes.py:390 +msgid "Remove Setting" +msgstr "Eliminar configuración" + +#: gajim/gtk/filetransfer_progress.py:62 +msgid "Upload Failed" +msgstr "Carga fallida" + +#: gajim/gtk/filetransfer_progress.py:113 +#, python-format +msgid "%(progress)s of %(total)s" +msgstr "%(progress)s de %(total)s" + +#: gajim/gtk/filetransfer_progress.py:130 +#, python-format +msgid "%(minutes)s min %(seconds)s sec" +msgstr "%(minutes)s min %(seconds)s seg" + +#: gajim/gtk/add_contact.py:32 +msgid "GG Number" +msgstr "Número GG" + +#: gajim/gtk/add_contact.py:33 +msgid "ICQ Number" +msgstr "Número ICQ" + +#: gajim/gtk/add_contact.py:42 +msgid "Add Contact" +msgstr "Añadir contacto" + +#: gajim/gtk/add_contact.py:260 +#, python-format +msgid "%s Missing" +msgstr "Falta %s" + +#: gajim/gtk/add_contact.py:261 +#, python-format +msgid "You must supply the %s of the new contact." +msgstr "Debes proporcionar el %s del nuevo contacto." + +#: gajim/gtk/add_contact.py:288 gajim/gtk/add_contact.py:294 +#: gajim/gtk/add_contact.py:299 +msgid "Invalid User ID" +msgstr "ID de Usuario no válida" + +#: gajim/gtk/add_contact.py:295 +msgid "The user ID must not contain a resource." +msgstr "Esta ID de usuario no contiene un recurso." + +#: gajim/gtk/add_contact.py:300 +msgid "You cannot add yourself to your contact list." +msgstr "No puedes añadirte a ti mismo a tu roster." + +#: gajim/gtk/add_contact.py:305 +msgid "Account Offline" +msgstr "Cuenta desconectada" + +#: gajim/gtk/add_contact.py:306 +msgid "Your account must be online to add new contacts." +msgstr "Tu cuenta debe estar en línea para añadir nuevos contactos." + +#: gajim/gtk/add_contact.py:322 +msgid "Contact Already in Contact List" +msgstr "Contacto ya presente en el roster" + +#: gajim/gtk/add_contact.py:323 +msgid "This contact is already in your contact list." +msgstr "Este contacto ya está en tu roster." + +#: gajim/gtk/add_contact.py:381 gajim/gtk/add_contact.py:419 +msgid "User ID:" +msgstr "ID de usuario:" + +#: gajim/gtk/add_contact.py:486 +msgid "Error while adding transport contact" +msgstr "Error al agregar contacto de transporte" + +#: gajim/gtk/add_contact.py:487 +#, python-format +msgid "" +"This error occurred while adding a contact for transport %(transport)s:\n" +"\n" +"%(error)s" +msgstr "" +"Este error ocurrió al agregar un contacto para el transporte %(transport)s:\n" +"\n" +"%(error)s" + +#: gajim/gtk/account_wizard.py:61 gajim/data/gui/account_wizard.ui:631 +msgid "Sign Up" +msgstr "Regístrate" + +#: gajim/gtk/account_wizard.py:63 +msgid "Connect" +msgstr "Conectar" + +#: gajim/gtk/account_wizard.py:64 gajim/gtk/adhoc.py:102 +msgid "Next" +msgstr "Siguiente" + +#: gajim/gtk/account_wizard.py:65 +msgid "Log In" +msgstr "Iniciar sesión" + +#: gajim/gtk/account_wizard.py:67 gajim/gtk/remove_account.py:44 +#: gajim/gtk/change_password.py:45 gajim/gtk/accounts.py:384 +msgid "Back" +msgstr "Volver" + +#: gajim/gtk/account_wizard.py:80 +msgid "An error occurred during account creation" +msgstr "Ha ocurrido un error durante la creación de la cuenta" + +#: gajim/gtk/account_wizard.py:166 +msgid "Creating Account..." +msgstr "Creando cuenta..." + +#: gajim/gtk/account_wizard.py:167 +msgid "Trying to create account..." +msgstr "Intentando crear la cuenta..." + +#: gajim/gtk/account_wizard.py:277 gajim/gtk/account_wizard.py:296 +#: gajim/gtk/account_wizard.py:313 +msgid "Connecting to server..." +msgstr "Conectando al servidor..." + +#: gajim/gtk/account_wizard.py:367 gajim/gtk/account_wizard.py:368 +msgid "Anonymous login not supported" +msgstr "Inicio de sesión anónimo no soportado" + +#: gajim/gtk/account_wizard.py:369 +msgid "This server does not support anonymous login." +msgstr "Este servidor no soporta inicio de sesión anónimo." + +#: gajim/gtk/account_wizard.py:372 gajim/common/client.py:284 +#: gajim/common/const.py:958 gajim/common/const.py:959 +#: gajim/common/const.py:960 gajim/common/const.py:963 +msgid "Authentication failed" +msgstr "Falló la autentificación" + +#: gajim/gtk/account_wizard.py:384 gajim/gtk/account_wizard.py:385 +msgid "Signup not allowed" +msgstr "Registro no permitido" + +#: gajim/gtk/account_wizard.py:386 +msgid "This server does not allow signup." +msgstr "Este servidor no permite registro." + +#: gajim/gtk/account_wizard.py:395 gajim/gtk/account_wizard.py:432 +#: gajim/gtk/account_wizard.py:433 gajim/gtk/account_wizard.py:520 +#: gajim/gtk/groupchat_config.py:132 gajim/gtk/groupchat_config.py:399 +#: gajim/gtk/history.py:591 gajim/gtk/search.py:336 +msgid "Error" +msgstr "Error" + +#: gajim/gtk/account_wizard.py:402 gajim/gtk/account_wizard.py:403 +msgid "Connection failed" +msgstr "Conexión fallida" + +#: gajim/gtk/account_wizard.py:404 +msgid "" +"Gajim was not able to reach the server. Make sure your XMPP address is " +"correct." +msgstr "" +"Gajim no pudo alcanzar el servidor. Asegúrate de que tu dirección XMPP sea " +"correcta." + +#: gajim/gtk/account_wizard.py:459 +msgid "Account is being created" +msgstr "La cuenta se está creando" + +#: gajim/gtk/account_wizard.py:518 +msgid "The server rejected the registration without an error message" +msgstr "El servidor rechazó el registro sin mensaje de error" + +#: gajim/gtk/account_wizard.py:530 gajim/gtk/accounts.py:572 +msgid "Add Account" +msgstr "Añadir cuenta" + +#: gajim/gtk/account_wizard.py:612 gajim/gtk/groupchat_creation.py:138 +msgid "Invalid Address" +msgstr "Dirección no válida" + +#: gajim/gtk/account_wizard.py:636 +msgid "Create New Account" +msgstr "Crear nueva cuenta" + +#: gajim/gtk/account_wizard.py:712 +msgid "Advanced settings" +msgstr "Configuraciones avanzadas" + +#: gajim/gtk/account_wizard.py:774 +msgid "Invalid domain name" +msgstr "Nombre de dominio no válido" + +#: gajim/gtk/account_wizard.py:791 +msgid "Must be a port number" +msgstr "Debe ser un número de puerto" + +#: gajim/gtk/account_wizard.py:798 +msgid "Port must be a number between 0 and 65535" +msgstr "El número de puerto debe estar entre 0 y 65535" + +#: gajim/gtk/account_wizard.py:814 +msgid "Security Warning" +msgstr "Advertencia de seguridad" + +#: gajim/gtk/account_wizard.py:833 +#, python-format +msgid "Unknown TLS error '%s'" +msgstr "Error TLS desconocido '%s'" + +#: gajim/gtk/account_wizard.py:868 gajim/gtk/account_wizard.py:871 +msgid "Create Account" +msgstr "Crear cuenta" + +#: gajim/gtk/account_wizard.py:922 +msgid "Redirect" +msgstr "Redireccionar" + +#: gajim/gtk/account_wizard.py:932 +msgid "Register on the Website" +msgstr "Registrar en el sitio web" + +#: gajim/gtk/account_wizard.py:943 +msgid "Account Added" +msgstr "Cuenta añadida" + +#: gajim/gtk/account_wizard.py:944 +msgid "Account has been added successfully" +msgstr "La cuenta ha sido añadida con éxito" + +#: gajim/gtk/groupchat_invitation.py:57 +msgid "" +"has invited you to a group chat.\n" +"Do you want to join?" +msgstr "" +"Has sido invitado a un grupo de chat.\n" +"¿Quieres unirte?" + +#: gajim/gtk/groupchat_invitation.py:75 gajim/gtk/discovery.py:1706 +#: gajim/gtk/groupchat_join.py:68 gajim/data/gui/groupchat_control.ui:899 +#: gajim/data/gui/groupchat_control.ui:991 +#: gajim/data/gui/start_chat_dialog.ui:314 +msgid "_Join" +msgstr "_Entrar" + +#: gajim/gtk/tooltips.py:215 +#, python-format +msgid "%(owner_or_admin_or_member)s of this group chat" +msgstr "%(owner_or_admin_or_member)s de este grupo de conversación" + +#: gajim/gtk/tooltips.py:474 +msgid "Connected" +msgstr "Conectado" + +#: gajim/gtk/tooltips.py:476 +msgid "Disconnected" +msgstr "Desconectado" + +#: gajim/gtk/tooltips.py:530 +msgid "File Name: " +msgstr "Nombre de archivo: " + +#: gajim/gtk/tooltips.py:533 +msgid "?Noun:Download" +msgstr "?Noun:Descarga" + +#: gajim/gtk/tooltips.py:534 gajim/gtk/filetransfer.py:747 +msgid "Sender: " +msgstr "Remitente: " + +#: gajim/gtk/tooltips.py:539 +msgid "?Noun:Upload" +msgstr "?Noun:Carga" + +#: gajim/gtk/tooltips.py:540 gajim/gtk/filetransfer.py:240 +#: gajim/gtk/filetransfer.py:749 +msgid "Recipient: " +msgstr "Recipiente: " + +#: gajim/gtk/tooltips.py:546 +msgid "?transfer type:Type: " +msgstr "?transfer type:Tipo: " + +#: gajim/gtk/tooltips.py:552 +msgid "?transfer status:Transferred: " +msgstr "?transfer status:Transferido: " + +#: gajim/gtk/tooltips.py:555 +msgid "?transfer status:Status: " +msgstr "?transfer status:Estado: " + +#: gajim/gtk/tooltips.py:557 +msgid "Description: " +msgstr "Descripción: " + +#: gajim/gtk/tooltips.py:581 +msgid "?transfer status:Aborted" +msgstr "?transfer status:Abortado" + +#: gajim/gtk/tooltips.py:583 +msgid "?transfer status:Completed" +msgstr "?transfer status:Completado" + +#: gajim/gtk/tooltips.py:585 +msgid "?transfer status:Paused" +msgstr "?transfer status:Pausado" + +#: gajim/gtk/tooltips.py:588 +msgid "?transfer status:Stalled" +msgstr "?transfer status:Estancado" + +#: gajim/gtk/tooltips.py:592 +msgid "?transfer status:Transferring" +msgstr "?transfer status:Transfiriendo" + +#: gajim/gtk/tooltips.py:593 gajim/gtk/tooltips.py:594 +msgid "?transfer status:Not started" +msgstr "?transfer status:No comenzado" + +#: gajim/gtk/remove_account.py:42 gajim/gtk/accounts.py:341 +msgid "Remove" +msgstr "Eliminar" + +#: gajim/gtk/remove_account.py:49 +msgid "Removing Account..." +msgstr "Eliminando la cuenta..." + +#: gajim/gtk/remove_account.py:50 +msgid "Trying to remove account..." +msgstr "Intentando eliminar cuenta..." + +#: gajim/gtk/remove_account.py:53 gajim/gtk/remove_account.py:54 +msgid "Account Removed" +msgstr "Cuenta eliminada" + +#: gajim/gtk/remove_account.py:56 +msgid "Your account has has been removed successfully." +msgstr "Tu cuenta ha sido eliminada con éxito." + +#: gajim/gtk/remove_account.py:59 gajim/gtk/remove_account.py:60 +msgid "Account Removal Failed" +msgstr "La eliminación de cuenta ha fallado" + +#: gajim/gtk/remove_account.py:171 gajim/gtk/remove_account.py:173 +msgid "Remove Account" +msgstr "Eliminar cuenta" + +#: gajim/gtk/remove_account.py:180 +msgid "This will remove your account from Gajim." +msgstr "Esto eliminará tu cuenta de Gajim." + +#: gajim/gtk/remove_account.py:189 +#, python-format +msgid "Do you want to unregister your account on %s as well?" +msgstr "¿Quieres anular también el registro de tu cuenta en %s?" + +#: gajim/gtk/remove_account.py:198 +msgid "_Unregister account from service" +msgstr "Anular la cuenta del servicio" + +#: gajim/gtk/remove_account.py:217 +msgid "Account has to be connected" +msgstr "La cuenta tiene que estar conectada" + +#: gajim/gtk/filetransfer.py:91 +msgid "File" +msgstr "Archivo" + +#: gajim/gtk/filetransfer.py:108 +msgid "Time" +msgstr "Hora" + +#: gajim/gtk/filetransfer.py:121 gajim/data/gui/filetransfer_progress.ui:110 +msgid "Progress" +msgstr "Progreso" + +#: gajim/gtk/filetransfer.py:228 +#, python-format +msgid "File name: %s" +msgstr "Nombre de archivo: %s" + +#: gajim/gtk/filetransfer.py:229 gajim/gtk/filetransfer.py:470 +#, python-format +msgid "Size: %s" +msgstr "Tamaño: %s" + +#: gajim/gtk/filetransfer.py:239 +#, python-format +msgid "Sender: %s" +msgstr "Remitente: %s" + +#: gajim/gtk/filetransfer.py:251 +#, python-format +msgid "Saved in: %s" +msgstr "Guardado en: %s" + +#: gajim/gtk/filetransfer.py:256 +msgid "File transfer completed" +msgstr "Transferencia de archivo finalizada" + +#: gajim/gtk/filetransfer.py:276 gajim/gtk/filetransfer.py:285 +msgid "Connection with peer could not be established." +msgstr "No se pudo establecer la conexión con el compañero." + +#: gajim/gtk/filetransfer.py:293 +#, python-format +msgid "Filename: %s" +msgstr "Nombre de archivo: %s" + +#: gajim/gtk/filetransfer.py:294 +#, python-format +msgid "Recipient: %s" +msgstr "Recipiente: %s" + +#: gajim/gtk/filetransfer.py:296 +#, python-format +msgid "Error message: %s" +msgstr "Mensaje de error: %s" + +#: gajim/gtk/filetransfer.py:335 +#, python-format +msgid "" +"The file %s has been received, but it seems to have been damaged along the " +"way.\n" +"Do you want to download it again?" +msgstr "" +"Se ha recibido el archivo %s, pero parece haber sido dañado en el camino.\n" +"¿Quieres descargarlo de nuevo?" + +#: gajim/gtk/filetransfer.py:341 +msgid "_Download Again" +msgstr "_Descargar otra vez" + +#: gajim/gtk/filetransfer.py:356 +msgid "Gajim can not read this file" +msgstr "Gajim no puede leer este archivo" + +#: gajim/gtk/filetransfer.py:357 +msgid "Another process is using this file." +msgstr "Otro proceso es usar este archivo." + +#: gajim/gtk/filetransfer.py:399 +#, python-format +msgid "Cannot overwrite existing file '%s'" +msgstr "No se puede sobrescribir el archivo existente '%s'" + +#: gajim/gtk/filetransfer.py:400 +msgid "" +"A file with this name already exists and you do not have permission to " +"overwrite it." +msgstr "" +"Un archivo con este nombre ya existe y no tienes permisos para " +"sobrescribirlo." + +#: gajim/gtk/filetransfer.py:424 +msgid "File Transfer Conflict" +msgstr "Conflicto con transferencia de fichero" + +#: gajim/gtk/filetransfer.py:425 +msgid "File already exists" +msgstr "Este archivo ya existe" + +#: gajim/gtk/filetransfer.py:426 +msgid "Resume download or replace file?" +msgstr "¿Continuar descarga o sustituir el fichero?" + +#: gajim/gtk/filetransfer.py:430 +msgid "Resume _Download" +msgstr "Continuar _descarga" + +#: gajim/gtk/filetransfer.py:433 +msgid "Replace _File" +msgstr "Sustituir _fichero" + +#: gajim/gtk/filetransfer.py:443 +#, python-format +msgid "Directory '%s' is not writable" +msgstr "No se puede escribir en el directorio '%s'" + +#: gajim/gtk/filetransfer.py:444 +msgid "You do not have permissions to create files in this directory." +msgstr "No tienes permisos para crear ficheros en este directorio." + +#: gajim/gtk/filetransfer.py:467 +#, python-format +msgid "File: %s" +msgstr "Archivo: %s" + +#: gajim/gtk/filetransfer.py:473 +#, python-format +msgid "Type: %s" +msgstr "Tipo: %s" + +#: gajim/gtk/filetransfer.py:475 +#, python-format +msgid "Description: %s" +msgstr "Descripción: %s" + +#: gajim/gtk/filetransfer.py:486 +#, python-format +msgid "%s wants to send you a file" +msgstr "%s quiere enviarte un fichero" + +#: gajim/gtk/filetransfer.py:514 +msgid "Checking file…" +msgstr "Comprobando archivo…" + +#: gajim/gtk/filetransfer.py:529 +msgid "File error" +msgstr "Error de archivo" + +#: gajim/gtk/filetransfer.py:566 +#, python-format +msgid "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" +msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" + +#: gajim/gtk/filetransfer.py:663 +#, python-format +msgid "(%(filesize_unit)s/s)" +msgstr "(%(filesize_unit)s/s)" + +#: gajim/gtk/filetransfer.py:716 gajim/gtk/filetransfer.py:720 +msgid "Invalid File" +msgstr "Archivo no válido" + +#: gajim/gtk/filetransfer.py:716 +msgid "File: " +msgstr "Archivo: " + +#: gajim/gtk/filetransfer.py:721 +msgid "It is not possible to send empty files" +msgstr "No es posible enviar archivos vacíos" + +#: gajim/gtk/filetransfer.py:1043 +msgid "Choose a File to Send…" +msgstr "Elija un archivo para enviar…" + +#: gajim/gtk/roster_item_exchange.py:35 +#: gajim/data/gui/roster_item_exchange_window.ui:39 +msgid "Contact List Exchange" +msgstr "Intercambiar lista de contactos" + +#: gajim/gtk/roster_item_exchange.py:49 +#, python-format +msgid "%s would like to add some contacts to your contact list." +msgstr "" +"A %s le gustaría añadir algunos contactos a tu lista de contactos." + +#: gajim/gtk/roster_item_exchange.py:52 +#, python-format +msgid "%s would like to modify some contacts in your contact list." +msgstr "" +"A %s le gustaría modificar algunos contacto de tu lista de contactos." + +#: gajim/gtk/roster_item_exchange.py:55 +#, python-format +msgid "%s would like to delete some contacts from your contact list." +msgstr "" +"A %s le gustaría eliminar algunos contactos de tu lista de contactos." + +#: gajim/gtk/roster_item_exchange.py:71 gajim/gtk/roster_item_exchange.py:130 +msgid "Add" +msgstr "Dirección" + +#: gajim/gtk/roster_item_exchange.py:73 gajim/gtk/roster_item_exchange.py:161 +msgid "Modify" +msgstr "Modificar" + +#: gajim/gtk/roster_item_exchange.py:80 +msgid "JID" +msgstr "JID" + +#: gajim/gtk/roster_item_exchange.py:86 +msgid "Groups" +msgstr "Grupos" + +#: gajim/gtk/roster_item_exchange.py:196 +#, python-format +msgid "%s suggested me to add you to my contact list." +msgstr "%s me sugirió añadirte en mi roster." + +#: gajim/gtk/roster_item_exchange.py:211 +#, python-format +msgid "Added %d contact" +msgid_plural "Added %d contacts" +msgstr[0] "Añadir %d Contacto" +msgstr[1] "Añadir %d Contactos" + +#: gajim/gtk/roster_item_exchange.py:253 +#, python-format +msgid "Removed %d contact" +msgid_plural "Removed %d contacts" +msgstr[0] "Se eliminó %d contacto" +msgstr[1] "Se eliminó %d contactos" + +#: gajim/gtk/groupchat_creation.py:45 gajim/data/gui/groupchat_creation.ui:81 +msgid "Create Group Chat" +msgstr "Crear grupo de charla" + +#: gajim/gtk/groupchat_creation.py:101 gajim/gtk/groupchat_creation.py:103 +msgid " (optional)..." +msgstr " (opcional)..." + +#: gajim/gtk/groupchat_creation.py:186 +msgid "Not Connected" +msgstr "No conectado" + +#: gajim/gtk/groupchat_creation.py:187 +msgid "You have to be connected to create a group chat." +msgstr "Tienes que estar conectado para crear un grupo." + +#: gajim/gtk/status_selector.py:121 gajim/gtk/status_selector.py:127 +#, python-format +msgid "Status: %s" +msgstr "Estado: %s" + +#: gajim/gtk/status_selector.py:125 +#, python-format +msgid "%s (desynced)" +msgstr "%s (desincronizado)" + +#: gajim/gtk/subscription_request.py:35 +msgid "Subscription Request" +msgstr "Petición de adición" + +#: gajim/gtk/subscription_request.py:47 +#, python-format +msgid "Subscription request for account %(account)s from %(jid)s" +msgstr "Petición de adición para la cuenta %(account)s de %(jid)s" + +#: gajim/gtk/subscription_request.py:50 +#, python-format +msgid "Subscription request from %s" +msgstr "Petición de adición de %s" + +#: gajim/gtk/single_message.py:51 +msgid "Send Single Message" +msgstr "Enviar mensaje" + +#: gajim/gtk/single_message.py:101 +msgid "(No subject)" +msgstr "(Sin asunto)" + +#: gajim/gtk/single_message.py:157 +#, python-format +msgid "Single Message using account %s" +msgstr "Nuevo mensaje con la cuenta %s" + +#: gajim/gtk/single_message.py:159 +#, python-format +msgid "Single Message in account %s" +msgstr "Nuevo mensaje en la cuenta %s" + +#: gajim/gtk/single_message.py:161 +msgid "Single Message" +msgstr "Mensaje" + +#: gajim/gtk/single_message.py:164 +#, python-format +msgid "Send %s" +msgstr "Enviar %s" + +#: gajim/gtk/single_message.py:183 +#, python-format +msgid "Received %s" +msgstr "Recibido %s" + +#: gajim/gtk/single_message.py:205 +#, python-format +msgid "Characters typed: %s" +msgstr "Caracteres tecleados: %s" + +#: gajim/gtk/single_message.py:210 gajim/gtk/xml_console.py:169 +msgid "Connection not available" +msgstr "Conexión no disponible" + +#: gajim/gtk/single_message.py:211 +#, python-format +msgid "Please make sure you are connected with \"%s\"." +msgstr "Por favor, asegúrate de estar conectado con \"%s\"." + +#: gajim/gtk/single_message.py:239 +#, python-format +msgid "" +"It is not possible to send a message to %s, this XMPP Address is not valid." +msgstr "" +"No es posible enviar un mensaje a %s, esta dirección XMPP no es válida." + +#: gajim/gtk/single_message.py:316 +#, python-format +msgid "RE: %s" +msgstr "RE: %s" + +#: gajim/gtk/single_message.py:317 +#, python-format +msgid "%s wrote:\n" +msgstr "%s escribió:\n" + +#: gajim/gtk/change_password.py:42 +msgid "Change" +msgstr "Cambiar" + +#: gajim/gtk/change_password.py:51 +msgid "Changing Password..." +msgstr "Cambiando contraseña..." + +#: gajim/gtk/change_password.py:52 +msgid "Trying to change password..." +msgstr "Intentando cambiar la contraseña..." + +#: gajim/gtk/change_password.py:55 gajim/gtk/change_password.py:56 +msgid "Password Changed" +msgstr "Contraseña cambiada" + +#: gajim/gtk/change_password.py:57 +msgid "Your password has successfully been changed." +msgstr "Tu contraseña ha sido cambiado." + +#: gajim/gtk/change_password.py:60 gajim/gtk/change_password.py:61 +msgid "Password Change Failed" +msgstr "El cambio de contraseña ha fallado" + +#: gajim/gtk/change_password.py:63 +msgid "An error occurred while trying to change your password." +msgstr "Ha ocurrido un error mientras intentabas cambiar tu contraseña." + +#: gajim/gtk/change_password.py:145 gajim/gtk/change_password.py:147 +#: gajim/gtk/change_password.py:224 gajim/gtk/accounts.py:994 +msgid "Change Password" +msgstr "Cambiar contraseña" + +#: gajim/gtk/change_password.py:154 +msgid "Please enter your new password." +msgstr "Por favor, escribir una nueva contraseña." + +#: gajim/gtk/change_password.py:167 +msgid "Enter new password..." +msgstr "Introduce nueva contraseña..." + +#: gajim/gtk/change_password.py:176 +msgid "Confirm new password..." +msgstr "Confirmar nueva contraseña..." + +#: gajim/gtk/change_password.py:191 +msgid "Passwords do not match" +msgstr "Las contraseñas no coinciden" + +#: gajim/gtk/bookmarks.py:48 +#, python-format +msgid "Bookmarks for %s" +msgstr "Marcadores para %s" + +#: gajim/gtk/xml_console.py:95 gajim/gtk/xml_console.py:279 +msgid "All Accounts" +msgstr "Todas las cuentas" + +#: gajim/gtk/xml_console.py:170 +#, python-format +msgid "Please make sure you are connected with '%s'." +msgstr "Por favor, asegúrate de estar conectado con '%s'." + +#: gajim/gtk/xml_console.py:180 +msgid "Invalid Node" +msgstr "Nodo no válido" + +#: gajim/gtk/xml_console.py:282 +msgid "Account" +msgstr "Cuenta" + +#: gajim/gtk/xml_console.py:309 gajim/data/gui/xml_console.ui:241 +msgid "Filter" +msgstr "Filtro" + +#: gajim/gtk/dataform.py:252 gajim/gtk/dataform.py:290 +msgid "Required" +msgstr "Requerido" + +#: gajim/gtk/dataform.py:315 +msgid "Yes" +msgstr "Sí" + +#: gajim/gtk/dataform.py:315 +msgid "No" +msgstr "No" + +#: gajim/gtk/dataform.py:701 gajim/gtk/adhoc.py:86 +#: gajim/data/gui/profile.ui:396 +msgid "Cancel" +msgstr "Cancelar" + +#: gajim/gtk/dataform.py:703 +msgid "Submit" +msgstr "Enviar" + +#: gajim/gtk/discovery.py:69 +msgid "This service has not yet responded with detailed information" +msgstr "Este servicio no ha respondido todavía con información detallada" + +#: gajim/gtk/discovery.py:70 +msgid "" +"This service could not respond with detailed information.\n" +"It is most likely a legacy service or broken." +msgstr "" +"Este servicio no pudo responder con información detallada.\n" +"Es muy probable que sea un servicio heredado o roto." + +#: gajim/gtk/discovery.py:126 +msgid "Others" +msgstr "Otros" + +#: gajim/gtk/discovery.py:129 gajim/data/gui/shortcuts_window.ui:307 +msgid "Group Chat" +msgstr "Grupo de charla" + +#: gajim/gtk/discovery.py:523 +msgid "Without a connection, you can not browse available services" +msgstr "Sin una conexión no puedes navegar los servicios disponibles" + +#: gajim/gtk/discovery.py:610 +#, python-format +msgid "Service Discovery using account %s" +msgstr "Gestión de servicios usando la cuenta %s" + +#: gajim/gtk/discovery.py:612 +msgid "Service Discovery" +msgstr "Gestión de servicios" + +#: gajim/gtk/discovery.py:695 +msgid "The service could not be found" +msgstr "El servicio no fue encontrado" + +#: gajim/gtk/discovery.py:696 +msgid "" +"There is no service at the address you entered, or it is not responding. " +"Check the address and try again." +msgstr "" +"No hay servicio en la dirección introducida, o no está respondiendo. " +"Comprueba la dirección e inténtalo de nuevo." + +#: gajim/gtk/discovery.py:703 gajim/gtk/discovery.py:1046 +msgid "The service is not browsable" +msgstr "El servicio no es navegable" + +#: gajim/gtk/discovery.py:704 +msgid "This type of service does not contain any items to browse." +msgstr "Este tipo de servicio no contiene ningún elemento a navegar." + +#: gajim/gtk/discovery.py:742 gajim/gtk/discovery.py:751 +msgid "Invalid Server Name" +msgstr "Nombre de servidor no válido" + +#: gajim/gtk/discovery.py:810 +#, python-format +msgid "Browsing %(address)s using account %(account)s" +msgstr "Navegar por %(address)s usando la cuenta %(account)s" + +#: gajim/gtk/discovery.py:855 +msgid "Browse" +msgstr "Navegar" + +#: gajim/gtk/discovery.py:1047 +msgid "This service does not contain any items to browse." +msgstr "Este servicio no contiene elementos para navegar." + +#: gajim/gtk/discovery.py:1259 +msgid "_Command" +msgstr "_Comando" + +#: gajim/gtk/discovery.py:1268 gajim/gtk/discovery.py:1425 +msgid "Re_gister" +msgstr "_Suscribir" + +#: gajim/gtk/discovery.py:1275 +msgid "Join" +msgstr "Unirse" + +#: gajim/gtk/discovery.py:1281 +msgid "_Search" +msgstr "_Buscar" + +#: gajim/gtk/discovery.py:1423 gajim/data/gui/profile.ui:353 +msgid "_Edit" +msgstr "_Editar" + +#: gajim/gtk/discovery.py:1461 +#, python-format +msgid "Scanning %(current)d / %(total)d ..." +msgstr "Escaneando %(current)d / %(total)d ..." + +#: gajim/gtk/discovery.py:1660 +msgid "Users" +msgstr "Usuarios" + +#: gajim/gtk/discovery.py:1668 gajim/data/gui/groupchat_info_scrolled.ui:32 +#: gajim/data/gui/filetransfers_send_file_dialog.ui:15 +#: gajim/data/gui/advanced_configuration.ui:82 +msgid "Description" +msgstr "Descripción" + +#: gajim/gtk/discovery.py:1676 +msgid "Id" +msgstr "Id" + +#: gajim/gtk/discovery.py:1905 +msgid "Subscribed" +msgstr "Añadido" + +#: gajim/gtk/discovery.py:1914 +msgid "Node" +msgstr "Nodo" + +#: gajim/gtk/discovery.py:1983 +msgid "_New post" +msgstr "_Nuevo envío" + +#: gajim/gtk/discovery.py:1992 +msgid "_Subscribe" +msgstr "_Añadir" + +#: gajim/gtk/discovery.py:2000 +msgid "_Unsubscribe" +msgstr "_Eliminar" + +#: gajim/gtk/groupchat_settings.py:43 +msgid "Show Join/Leave" +msgstr "Mostrar unirse/abandonar" + +#: gajim/gtk/groupchat_settings.py:53 +msgid "Notify on all Messages" +msgstr "Notificar para todos los mensajes" + +#: gajim/gtk/groupchat_settings.py:58 +msgid "Minimize on Close" +msgstr "Minimizar al cerrar" + +#: gajim/gtk/groupchat_settings.py:63 +msgid "Minimize When Joining Automatically" +msgstr "Minimizar al unirse automáticamente" + +#: gajim/gtk/groupchat_settings.py:68 +msgid "Send Chat State" +msgstr "Enviar estado" + +#: gajim/gtk/groupchat_settings.py:74 +msgid "Send Chat Markers" +msgstr "Enviar marcadores de chat" + +#: gajim/gtk/groupchat_settings.py:77 +msgid "Let others know if you read up to this point" +msgstr "Permitir a otro saber si has leído hasta este punto" + +#: gajim/gtk/groupchat_settings.py:80 +msgid "Sync Threshold" +msgstr "Umbral de sincronización" + +#: gajim/gtk/proxies.py:33 +msgid "Manage Proxies" +msgstr "Gestionar Proxies" + +#: gajim/gtk/manage_sounds.py:40 +msgid "Manage Sounds" +msgstr "Gestionar sonidos" + +#: gajim/gtk/manage_sounds.py:51 +msgid "Wav Sounds" +msgstr "Sonidos Wav" + +#: gajim/gtk/manage_sounds.py:85 +msgid "Attention Message Received" +msgstr "Mensaje de atención recibido" + +#: gajim/gtk/manage_sounds.py:86 +msgid "First Message Received" +msgstr "Primer mensaje recibido" + +#: gajim/gtk/manage_sounds.py:87 +msgid "Next Message Received Focused" +msgstr "Primer mensaje recibido focalizado" + +#: gajim/gtk/manage_sounds.py:88 +msgid "Next Message Received Unfocused" +msgstr "Primer mensaje recibido desfocalizado" + +#: gajim/gtk/manage_sounds.py:89 +msgid "Contact Connected" +msgstr "Nombre de contacto" + +#: gajim/gtk/manage_sounds.py:90 +msgid "Contact Disconnected" +msgstr "Contacto desconectado" + +#: gajim/gtk/manage_sounds.py:91 +msgid "Message Sent" +msgstr "Mensaje enviado" + +#: gajim/gtk/manage_sounds.py:92 +msgid "Group Chat Message Highlight" +msgstr "Resaltado de mensaje de grupo de charla" + +#: gajim/gtk/manage_sounds.py:93 +msgid "Group Chat Message Received" +msgstr "Mensaje de grupo de charla recibido" + +#: gajim/gtk/groupchat_info.py:38 +msgid "?Group chat feature:Open" +msgstr "?Group chat feature:Abierto" + +#: gajim/gtk/groupchat_info.py:39 +msgid "Anyone can join this group chat" +msgstr "Cualquiera se puede unir a este grupo de charla" + +#: gajim/gtk/groupchat_info.py:42 +msgid "?Group chat feature:Members Only" +msgstr "?Group chat feature:Miembros únicamente" + +#: gajim/gtk/groupchat_info.py:43 +msgid "This group chat is restricted to members only" +msgstr "Este grupo es solo para miembros" + +#: gajim/gtk/groupchat_info.py:47 +msgid "?Group chat feature:Not Anonymous" +msgstr "?Group chat feature:No anónimo" + +#: gajim/gtk/groupchat_info.py:48 +msgid "All other group chat participants can see your XMPP address" +msgstr "Todos los otros participantes pueden ver tu dirección XMPP" + +#: gajim/gtk/groupchat_info.py:52 +msgid "?Group chat feature:Semi-Anonymous" +msgstr "?Group chat feature:Semi-anónimo" + +#: gajim/gtk/groupchat_info.py:53 +msgid "Only moderators can see your XMPP address" +msgstr "Solo los moderadores puede ver tu dirección XMPP" + +#: gajim/gtk/groupchat_info.py:56 +msgid "?Group chat feature:Moderated" +msgstr "?Group chat feature:Moderado" + +#: gajim/gtk/groupchat_info.py:57 +msgid "" +"Participants entering this group chat need to request permission to send " +"messages" +msgstr "" +"Los participantes que entren en este chat grupal deben solicitar permiso " +"para enviar mensajes" + +#: gajim/gtk/groupchat_info.py:61 +msgid "?Group chat feature:Not Moderated" +msgstr "?Group chat feature:No moderado" + +#: gajim/gtk/groupchat_info.py:62 +msgid "Participants entering this group chat are allowed to send messages" +msgstr "" +"Los participantes que entren en este grupo están autorizados a enviar " +"mensajes" + +#: gajim/gtk/groupchat_info.py:66 +msgid "?Group chat feature:Public" +msgstr "?Group chat feature:Público" + +#: gajim/gtk/groupchat_info.py:67 +msgid "Group chat can be found via search" +msgstr "El grupo puede ser encontrado vía búsqueda" + +#: gajim/gtk/groupchat_info.py:70 +msgid "?Group chat feature:Hidden" +msgstr "?Group chat feature:Oculto" + +#: gajim/gtk/groupchat_info.py:71 +msgid "This group chat can not be found via search" +msgstr "Este grupo de charla no puede ser encontrado vía búsqueda" + +#: gajim/gtk/groupchat_info.py:74 +msgid "?Group chat feature:Password Required" +msgstr "?Group chat feature:Contraseña requerida" + +#: gajim/gtk/groupchat_info.py:75 +msgid "This group chat does require a password upon entry" +msgstr "Este grupo requiere de una contraseña para entrar" + +#: gajim/gtk/groupchat_info.py:79 +msgid "?Group chat feature:No Password Required" +msgstr "?Group chat feature:No se requiere contraseña" + +#: gajim/gtk/groupchat_info.py:80 +msgid "This group chat does not require a password upon entry" +msgstr "Este grupo no requiere de una contraseña para entrar" + +#: gajim/gtk/groupchat_info.py:84 +msgid "?Group chat feature:Persistent" +msgstr "?Group chat feature:Persistente" + +#: gajim/gtk/groupchat_info.py:85 +msgid "This group chat persists even if there are no participants" +msgstr "Este grupo persiste incluso si no hay participantes" + +#: gajim/gtk/groupchat_info.py:89 +msgid "?Group chat feature:Temporary" +msgstr "?Group chat feature:Temporal" + +#: gajim/gtk/groupchat_info.py:90 +msgid "This group chat will be destroyed once the last participant left" +msgstr "Este grupo será destruido cuando lo abandone el último participante" + +#: gajim/gtk/groupchat_info.py:94 +msgid "?Group chat feature:Archiving" +msgstr "?Group chat feature:Archivado" + +#: gajim/gtk/groupchat_info.py:95 +msgid "Messages are archived on the server" +msgstr "Los mensajes están archivados en el servidor" + +#: gajim/gtk/groupchat_info.py:205 +msgid "Website" +msgstr "Página web" + +#: gajim/gtk/accounts.py:122 +msgid "Re-Login" +msgstr "Reconectar" + +#: gajim/gtk/accounts.py:123 +msgid "Re-Login now?" +msgstr "¿Reconectar ahora?" + +#: gajim/gtk/accounts.py:124 +msgid "To apply all changes instantly, you have to re-login." +msgstr "" +"Para aplicar todos los cambios al instante, debes volver a iniciar sesión." + +#: gajim/gtk/accounts.py:128 +msgid "_Re-Login" +msgstr "_Reiniciar sesión" + +#: gajim/gtk/accounts.py:311 gajim/data/gui/server_info.ui:386 +msgid "Connection" +msgstr "Conexión" + +#: gajim/gtk/accounts.py:496 +msgid "Please check if Bonjour is installed." +msgstr "Por favor, comprueba si Bonjour está instalado." + +#: gajim/gtk/accounts.py:498 +msgid "Please check if Avahi is installed." +msgstr "Por favor, comprueba si Avahi está instalado." + +#: gajim/gtk/accounts.py:537 +msgid "Disable Account" +msgstr "Deshabilitar cuenta" + +#: gajim/gtk/accounts.py:538 +#, python-format +msgid "Account %s is still connected" +msgstr "La cuenta %s está todavía conectada" + +#: gajim/gtk/accounts.py:539 +msgid "All chat and group chat windows will be closed." +msgstr "" +"Todas las ventanas de conversaciones y grupos de charla serán cerradas." + +#: gajim/gtk/accounts.py:543 +msgid "_Disable Account" +msgstr "_Deshabilitar cuenta" + +#: gajim/gtk/accounts.py:614 +msgid "Label" +msgstr "Etiqueta" + +#: gajim/gtk/accounts.py:618 gajim/data/gui/groupchat_control.ui:99 +#: gajim/data/gui/chat_control.ui:363 +msgid "Color" +msgstr "Color" + +#: gajim/gtk/accounts.py:620 +msgid "Recognize your account by color" +msgstr "Reconocer tu cuenta por color" + +#: gajim/gtk/accounts.py:622 +msgid "Login" +msgstr "Inicio de sesión" + +#: gajim/gtk/accounts.py:627 +msgid "Import Contacts" +msgstr "Importar contactos" + +#: gajim/gtk/accounts.py:636 gajim/gtk/accounts.py:865 +msgid "Connect on startup" +msgstr "Conectar al inicio" + +#: gajim/gtk/accounts.py:640 gajim/gtk/accounts.py:870 +msgid "Save conversations for all contacts" +msgstr "Guardar conversaciones para todos los contactos" + +#: gajim/gtk/accounts.py:642 gajim/gtk/accounts.py:872 +msgid "Store conversations on the harddrive" +msgstr "Almacenar conversaciones en el disco duro" + +#: gajim/gtk/accounts.py:644 gajim/gtk/accounts.py:874 +msgid "Global Status" +msgstr "Estado global" + +#: gajim/gtk/accounts.py:646 +msgid "Synchronise the status of all accounts" +msgstr "Sincronizar los estados de todas las cuentas" + +#: gajim/gtk/accounts.py:648 +msgid "Remember Last Status" +msgstr "Recordar el último estado" + +#: gajim/gtk/accounts.py:650 +msgid "Restore status and status message of your last session" +msgstr "Restaurar el estado y el mensaje de estado de tu última sesión" + +#: gajim/gtk/accounts.py:653 +msgid "Use file transfer proxies" +msgstr "Usar proxies para las transferencias de archivo" + +#: gajim/gtk/accounts.py:670 +msgid "Forever" +msgstr "Para siempre" + +#: gajim/gtk/accounts.py:671 gajim/common/const.py:1110 +msgid "1 Day" +msgstr "1 Día" + +#: gajim/gtk/accounts.py:672 gajim/common/const.py:1112 +msgid "1 Week" +msgstr "1 Semana" + +#: gajim/gtk/accounts.py:673 gajim/common/const.py:1113 +msgid "1 Month" +msgstr "1 mes" + +#: gajim/gtk/accounts.py:674 +msgid "3 Months" +msgstr "3 meses" + +#: gajim/gtk/accounts.py:675 +msgid "6 Months" +msgstr "6 meses" + +#: gajim/gtk/accounts.py:676 +msgid "1 Year" +msgstr "1 año" + +#: gajim/gtk/accounts.py:686 +msgid "Idle Time" +msgstr "Inactivo desde" + +#: gajim/gtk/accounts.py:688 +msgid "Disclose the time of your last activity" +msgstr "Revelar la hora de tu última actividad" + +#: gajim/gtk/accounts.py:690 +msgid "Local System Time" +msgstr "Hora local del sistema" + +#: gajim/gtk/accounts.py:692 +msgid "Disclose the local system time of the device Gajim runs on" +msgstr "" +"Revelar la hora del sistema local del dispositivo en el que se ejecuta Gajim" + +#: gajim/gtk/accounts.py:695 +msgid "Client / Operating System" +msgstr "Cliente / Sistema operativo" + +#: gajim/gtk/accounts.py:697 +msgid "" +"Disclose information about the client and operating system you currently use" +msgstr "" +"Revelar información sobre el cliente y el sistema operativo que usas " +"actualmente" + +#: gajim/gtk/accounts.py:700 +msgid "Ignore Unknown Contacts" +msgstr "Ignorar contactos desconocidos" + +#: gajim/gtk/accounts.py:702 +msgid "Ignore everything from contacts not in your Roster" +msgstr "Ignorar todo de los contactos que no están en tu lista de contactos" + +#: gajim/gtk/accounts.py:705 +msgid "Send Message Receipts" +msgstr "Enviar recibos de mensajes" + +#: gajim/gtk/accounts.py:707 +msgid "Tell your contacts if you received a message" +msgstr "Dile a tus contactos si recibiste un mensaje" + +#: gajim/gtk/accounts.py:713 +msgid "Default for chats" +msgstr "Predeterminado para chats" + +#: gajim/gtk/accounts.py:716 gajim/gtk/accounts.py:741 +msgid "Reset all chats to the current default value" +msgstr "Reiniciar todos los chats a los valores por defecto actuales" + +#: gajim/gtk/accounts.py:722 +msgid "Send Chatstate in Group Chats" +msgstr "Enviar estado en grupos" + +#: gajim/gtk/accounts.py:725 +msgid "Default for group chats" +msgstr "Predeterminado para grupos" + +#: gajim/gtk/accounts.py:739 +msgid "Default for chats and private group chats" +msgstr "Predeterminado para conversaciones y grupos privados" + +#: gajim/gtk/accounts.py:747 +msgid "Keep Chat History" +msgstr "Retener histórico de conversación" + +#: gajim/gtk/accounts.py:751 +msgid "How long Gajim should keep your chat history" +msgstr "Cuanto tiempo debería Gajim retener tu historial de conversación" + +#: gajim/gtk/accounts.py:787 gajim/data/gui/manage_proxies.ui:337 +msgid "Proxy" +msgstr "Proxy" + +#: gajim/gtk/accounts.py:794 gajim/gtk/accounts.py:949 +#: gajim/data/gui/server_info.ui:20 +msgid "Hostname" +msgstr "Nombre del host" + +#: gajim/gtk/accounts.py:795 +msgid "Manually set the hostname for the server" +msgstr "Establecer manualmente el nombre de host para el servidor" + +#: gajim/gtk/accounts.py:798 gajim/data/gui/vcard_information_window.ui:72 +msgid "Resource" +msgstr "Recurso" + +#: gajim/gtk/accounts.py:801 gajim/gtk/accounts.py:917 +#: gajim/gtk/accounts.py:925 +msgid "Priority" +msgstr "Prioridad" + +#: gajim/gtk/accounts.py:804 +msgid "Use Unencrypted Connection" +msgstr "Usar conexión no cifrada" + +#: gajim/gtk/accounts.py:806 gajim/common/config.py:273 +msgid "Use an unencrypted connection to the server" +msgstr "Usar una conexión al servidor no cifrada" + +#: gajim/gtk/accounts.py:808 +msgid "Confirm Unencrypted Connection" +msgstr "Confirmar conexión no cifrada" + +#: gajim/gtk/accounts.py:811 +msgid "Show a confirmation dialog before connecting unencrypted" +msgstr "Mostrar diálogo de confirmación antes de conectar sin cifrar" + +#: gajim/gtk/accounts.py:835 gajim/data/gui/zeroconf_information_window.ui:8 +#: gajim/data/gui/vcard_information_window.ui:8 +#: gajim/data/gui/subscription_request_window.ui:164 +msgid "Contact Information" +msgstr "Información" + +#: gajim/gtk/accounts.py:837 +msgid "Request contact information (Mood, Activity, Tune, Location)" +msgstr "" +"Petición de información de contacto (estado de ánimo, actividad, melodía, " +"ubicación)" + +#: gajim/gtk/accounts.py:840 +msgid "Accept all Contact Requests" +msgstr "Aceptar todas las peticiones de contacto" + +#: gajim/gtk/accounts.py:842 +msgid "Automatically accept all contact requests" +msgstr "Aceptar automáticamente todas las peticiones de contactos" + +#: gajim/gtk/accounts.py:844 +msgid "Filetransfer Preference" +msgstr "Preferencia de transferencia de fichero" + +#: gajim/gtk/accounts.py:846 +msgid "Upload Files" +msgstr "Subir ficheros" + +#: gajim/gtk/accounts.py:847 +msgid "Send Files Directly" +msgstr "Enviar ficheros directamente" + +#: gajim/gtk/accounts.py:848 +msgid "Preferred file transfer mechanism for file drag&drop on a chat window" +msgstr "" +"Mecanismo preferido de transferencia de ficheros para arrastrar&soltar en " +"una ventana de chat" + +#: gajim/gtk/accounts.py:867 +msgid "Use environment variable" +msgstr "Usar variable de entorno" + +#: gajim/gtk/accounts.py:876 +msgid "Synchronize the status of all accounts" +msgstr "Sincronizar el estado de todas las cuentas" + +#: gajim/gtk/accounts.py:886 +msgid "First Name" +msgstr "Nombre" + +#: gajim/gtk/accounts.py:889 +msgid "Last Name" +msgstr "Apellido" + +#: gajim/gtk/accounts.py:895 gajim/gtk/profile.py:32 gajim/gtk/vcard_grid.py:39 +msgid "Email" +msgstr "Correo electrónico" + +#: gajim/gtk/accounts.py:913 +msgid "Adjust to status" +msgstr "Ajustar al estado" + +#: gajim/gtk/accounts.py:945 +msgid "Enable" +msgstr "Activar" + +#: gajim/gtk/accounts.py:953 +msgid "Port" +msgstr "Puerto" + +#: gajim/gtk/accounts.py:957 gajim/data/gui/server_info.ui:250 +msgid "Type" +msgstr "Tipo" + +#: gajim/gtk/accounts.py:963 +msgid "Connection Settings" +msgstr "Configuración de la conexión" + +#: gajim/gtk/accounts.py:971 +msgid "Client Certificate" +msgstr "Certificado de cliente" + +#: gajim/gtk/accounts.py:973 +msgid "PKCS12 Files" +msgstr "Ficheros PKCS12" + +#: gajim/gtk/accounts.py:975 +msgid "Encrypted Certificate" +msgstr "Certificado cifrado" + +#: gajim/gtk/accounts.py:979 +msgid "Certificate Settings" +msgstr "Configuraciones de certificado" + +#: gajim/gtk/accounts.py:987 gajim/data/gui/account_wizard.ui:255 +#: gajim/data/gui/bookmarks.ui:102 +msgid "Password" +msgstr "Contraseña" + +#: gajim/gtk/accounts.py:991 +msgid "Save Password" +msgstr "Guardar contraseña" + +#: gajim/gtk/accounts.py:999 +msgid "Login Settings" +msgstr "Configuraciones de inicio de sesión" + +#: gajim/gtk/groupchat_config.py:39 +msgid "Group Chat Configuration" +msgstr "Configuración del grupo" + +#: gajim/gtk/groupchat_config.py:104 gajim/common/helpers.py:283 +#: gajim/data/gui/groupchat_config.ui:40 +msgid "Member" +msgstr "Miembro" + +#: gajim/gtk/groupchat_config.py:133 +msgid "A Group Chat needs at least one Owner" +msgstr "Un grupo necesita al menos un propietario" + +#: gajim/gtk/groupchat_config.py:241 +msgid "You are not allowed to modify the affiliation of Admins and Owners" +msgstr "" +"No estás autorizado para modificar la afiliación de Administradores y " +"Propietarios" + +#: gajim/gtk/groupchat_config.py:400 +msgid "An entry with this XMPP Address already exists" +msgstr "Ya existe una entrada con esta dirección XMPP" + +#: gajim/gtk/server_info.py:142 gajim/data/gui/vcard_information_window.ui:89 +#: gajim/data/gui/preferences.ui:359 +msgid "Status" +msgstr "Estado" + +#: gajim/gtk/server_info.py:143 +msgid "Support" +msgstr "Soporte" + +#: gajim/gtk/server_info.py:144 +msgid "Security" +msgstr "Seguridad" + +#: gajim/gtk/server_info.py:145 +msgid "Feedback" +msgstr "Sugerencias" + +#: gajim/gtk/server_info.py:146 +msgid "Abuse" +msgstr "Abuso" + +#: gajim/gtk/server_info.py:147 +msgid "Sales" +msgstr "Ventas" + +#: gajim/gtk/server_info.py:231 +#, python-format +msgid "%(days)s days, %(hours)s hours" +msgstr "%(days)s días, %(hours)s horas" + +#: gajim/gtk/server_info.py:239 gajim/gtk/vcard_grid.py:115 +#: gajim/common/helpers.py:224 +msgid "Unknown" +msgstr "Desconocido" + +#: gajim/gtk/server_info.py:360 +msgid "" +"\n" +"Disabled in preferences" +msgstr "" +"\n" +"Deshabilitado en las preferencias" + +#: gajim/gtk/history.py:79 +msgid "Conversation History" +msgstr "Histórico de conversaciones" + +#: gajim/gtk/history.py:411 gajim/gtk/history.py:465 +msgid "Disk Error" +msgstr "Error de disco" + +#: gajim/gtk/history.py:576 +#, python-format +msgid "%(nick)s is now %(status)s: %(status_msg)s" +msgstr "%(nick)s está ahora %(status)s: %(status_msg)s" + +#: gajim/gtk/history.py:581 gajim/common/connection_handlers_events.py:414 +#, python-format +msgid "%(nick)s is now %(status)s" +msgstr "%(nick)s está ahora %(status)s" + +#: gajim/gtk/history.py:589 +#, python-format +msgid "Error: %s" +msgstr "Error: %s" + +#: gajim/gtk/history.py:593 +#, python-format +msgid "Status is now: %(status)s: %(status_msg)s" +msgstr "El estado es ahora: %(status)s: %(status_msg)s" + +#: gajim/gtk/history.py:597 +#, python-format +msgid "Status is now: %(status)s" +msgstr "El estado es ahora: %(status)s" + +#: gajim/gtk/about.py:51 +msgid "A GTK XMPP client" +msgstr "Cliente XMPP en GTK" + +#: gajim/gtk/about.py:52 +#, python-format +msgid "GTK Version: %s" +msgstr "Versión GTK: %s" + +#: gajim/gtk/about.py:53 +#, python-format +msgid "GLib Version: %s" +msgstr "Versión GLib: %s" + +#: gajim/gtk/about.py:54 +#, python-format +msgid "PyGObject Version: %s" +msgstr "Versión de PyGObject: %s" + +#: gajim/gtk/about.py:55 +#, python-format +msgid "python-nbxmpp Version: %s" +msgstr "python-nbxmpp Versión: %s" + +#: gajim/gtk/about.py:59 +msgid "Current Developers" +msgstr "Desarrolladores actuales" + +#: gajim/gtk/about.py:60 +msgid "Past Developers" +msgstr "Desarrolladores anteriores" + +#: gajim/gtk/about.py:61 +msgid "Artists" +msgstr "Artistas" + +#: gajim/gtk/about.py:65 +msgid "Last but not least" +msgstr "Por último pero no menos importante" + +#: gajim/gtk/about.py:66 +msgid "we would like to thank all the package maintainers." +msgstr "queremos agradecer a todos los mantenedores de paquetes." + +#: gajim/gtk/about.py:67 +msgid "Thanks" +msgstr "Agradecimientos" + +#: gajim/gtk/about.py:69 +msgid "translator-credits" +msgstr "traductores" + +#: gajim/gtk/search.py:95 gajim/gtk/search.py:191 +msgid "Search" +msgstr "Buscar" + +#: gajim/gtk/search.py:101 +msgid "New Search" +msgstr "Nueva búsqueda" + +#: gajim/gtk/search.py:176 +msgid "Request Search Form" +msgstr "Formulario de petición de búsqueda" + +#: gajim/gtk/search.py:236 +msgid "Search…" +msgstr "Buscar…" + +#: gajim/gtk/search.py:243 +msgid "Search Result" +msgstr "Resultado de la busqueda" + +#: gajim/gtk/search.py:250 +msgid "No results found" +msgstr "No se han encontrado resultados" + +#: gajim/gtk/features.py:40 gajim/data/gui/server_info.ui:447 +msgid "Features" +msgstr "Características" + +#: gajim/gtk/features.py:90 +msgid "Audio / Video" +msgstr "Audio / Vídeo" + +#: gajim/gtk/features.py:92 +msgid "Enables Gajim to provide Audio and Video chats" +msgstr "Habilita a Gajim para proporcionar chats de audio y vídeo" + +#: gajim/gtk/features.py:93 +msgid "" +"Requires: gir1.2-farstream-0.2, gir1.2-gstreamer-1.0, gstreamer1.0-libav, " +"gstreamer1.0-plugins-ugly" +msgstr "" +"Requiere: gir1.2-farstream-0.2, gir1.2-gstreamer-1.0, gstreamer1.0-libav, " +"gstreamer1.0-plugins-ugly" + +#: gajim/gtk/features.py:95 gajim/gtk/features.py:145 +msgid "Feature not available under Windows" +msgstr "Característica no disponible en Windows" + +#: gajim/gtk/features.py:97 +msgid "Automatic Status" +msgstr "Estado automático" + +#: gajim/gtk/features.py:99 +msgid "" +"Enables Gajim to measure your computer's idle time in order to set your " +"Status automatically" +msgstr "" +"Habilita a Gajim para medir el tiempo de inactividad para definir tu estado " +"automáticamente" + +#: gajim/gtk/features.py:101 +msgid "Requires: libxss" +msgstr "Requiere: libxss" + +#: gajim/gtk/features.py:102 gajim/gtk/features.py:123 +msgid "No additional requirements" +msgstr "Sin requerimientos adicionales" + +#: gajim/gtk/features.py:104 +msgid "Bonjour / Zeroconf (Serverless Chat)" +msgstr "Bonjour / Zeroconf (Chat sin servidor)" + +#: gajim/gtk/features.py:106 +msgid "" +"Enables Gajim to automatically detected clients in a local network for " +"serverless chats" +msgstr "" +"Habilita a Gajim para detectar automáticamente clientes en una red local " +"para charla sin servidor" + +#: gajim/gtk/features.py:108 +msgid "Requires: gir1.2-avahi-0.6" +msgstr "Requiere: gir1.2-avahi-0.6" + +#: gajim/gtk/features.py:109 +#, python-format +msgid "Requires: pybonjour and bonjour SDK running (%(url)s)" +msgstr "Requiere: pybonjour y SDK bonjour ejecutándose (%(url)s)" + +#: gajim/gtk/features.py:112 +msgid "Location detection" +msgstr "Detección de ubicación" + +#: gajim/gtk/features.py:114 +msgid "" +"Enables Gajim to be location-aware, if the user decides to publish the " +"device’s location" +msgstr "" +"Permite a Gajim conocer la ubicación, si el usuario decide publicar la " +"ubicación del dispositivo" + +#: gajim/gtk/features.py:116 +msgid "Requires: geoclue" +msgstr "Requiere: geoclue" + +#: gajim/gtk/features.py:117 +msgid "Feature is not available under Windows" +msgstr "Característica no disponible en Windows" + +#: gajim/gtk/features.py:119 +msgid "Notification Sounds" +msgstr "Sonidos de notificaciones" + +#: gajim/gtk/features.py:121 +msgid "Enables Gajim to play sounds for various notifications" +msgstr "Habilita a Gajim para reproducir sonidos para varias notificaciones" + +#: gajim/gtk/features.py:122 +msgid "Requires: gsound" +msgstr "Requiere: gsound" + +#: gajim/gtk/features.py:125 +msgid "Secure Password Storage" +msgstr "Almacenamiento seguro de contraseña" + +#: gajim/gtk/features.py:127 +msgid "" +"Enables Gajim to store Passwords securely instead of storing them in " +"plaintext" +msgstr "" +"Habilita a Gajim para guardar las contraseñas de forma segura en lugar de " +"hacerlo en texto plano" + +#: gajim/gtk/features.py:129 +msgid "Requires: gnome-keyring or kwallet" +msgstr "Requiere: gnome-keyring o kwallet" + +#: gajim/gtk/features.py:130 +msgid "Windows Credential Vault is used for secure password storage" +msgstr "" +"Windows Credential Vault se usa para el almacenamiento seguro de contraseñas" + +#: gajim/gtk/features.py:133 +msgid "Spell Checker" +msgstr "Corrector ortográfico" + +#: gajim/gtk/features.py:135 +msgid "Enables Gajim to spell check your messages while composing" +msgstr "" +"Permite a Gajim revisar la ortografía de tus mensajes mientras redactas" + +#: gajim/gtk/features.py:137 gajim/gtk/features.py:138 +msgid "Requires: Gspell" +msgstr "Requiere: Gspell" + +#: gajim/gtk/features.py:140 +msgid "UPnP-IGD Port Forwarding" +msgstr "Desvío de puerto UPnP-IGD" + +#: gajim/gtk/features.py:142 +msgid "" +"Enables Gajim to request your router to forward ports for file transfers" +msgstr "" +"Habilita a Gajim para solicitar que tu router reenvíe puertos para la " +"transferencia de archivos" + +#: gajim/gtk/features.py:144 +msgid "Requires: gir1.2-gupnpigd-1.0" +msgstr "Requiere: gir1.2-gupnpigd-1.0" + +#: gajim/gtk/features.py:200 +msgid "Disabled in Preferences" +msgstr "Deshabilitado en preferencias" + +#: gajim/gtk/dialogs.py:55 gajim/gtk/filechoosers.py:179 +#: gajim/data/gui/groupchat_control.ui:674 +#: gajim/data/gui/groupchat_control.ui:766 +#: gajim/data/gui/groupchat_control.ui:882 +#: gajim/data/gui/groupchat_control.ui:974 +#: gajim/data/gui/groupchat_control.ui:1419 +#: gajim/data/gui/groupchat_control.ui:1545 +#: gajim/data/gui/groupchat_control.ui:1671 +#: gajim/data/gui/groupchat_control.ui:1842 +#: gajim/data/gui/groupchat_control.ui:1920 gajim/data/gui/filetransfers.ui:30 +#: gajim/data/gui/add_new_contact_window.ui:451 +#: gajim/data/gui/filetransfer_progress.ui:172 gajim/data/gui/profile.ui:260 +#: gajim/data/gui/passphrase_dialog.ui:29 +msgid "_Cancel" +msgstr "_Cancelar" + +#: gajim/gtk/dialogs.py:65 gajim/data/gui/history_manager.ui:20 +msgid "_Delete" +msgstr "Borrar" + +#: gajim/gtk/dialogs.py:216 +msgid "Certificate" +msgstr "Certificado" + +#: gajim/gtk/dialogs.py:230 +#, python-format +msgid "" +"Certificate for \n" +"%s" +msgstr "" +"Certificado para \n" +"%s" + +#: gajim/gtk/dialogs.py:279 +msgid "Issued to\n" +msgstr "Emitido a\n" + +#: gajim/gtk/dialogs.py:280 gajim/gtk/dialogs.py:285 +msgid "Common Name (CN): " +msgstr "Nombre común (CN): " + +#: gajim/gtk/dialogs.py:281 gajim/gtk/dialogs.py:286 +msgid "Organization (O): " +msgstr "Organización (O): " + +#: gajim/gtk/dialogs.py:282 gajim/gtk/dialogs.py:287 +msgid "Organizational Unit (OU): " +msgstr "Unidad organizativa (OU): " + +#: gajim/gtk/dialogs.py:283 +msgid "Serial Number: " +msgstr "Número de serie: " + +#: gajim/gtk/dialogs.py:284 +msgid "Issued by\n" +msgstr "Emitido por:\n" + +#: gajim/gtk/dialogs.py:288 +msgid "Validity\n" +msgstr "Validez\n" + +#: gajim/gtk/dialogs.py:289 +msgid "Issued on: " +msgstr "Emitido el: " + +#: gajim/gtk/dialogs.py:290 +msgid "Expires on: " +msgstr "Caduca el: " + +#: gajim/gtk/dialogs.py:291 +msgid "SHA-1:" +msgstr "SHA-1:" + +#: gajim/gtk/dialogs.py:293 +msgid "SHA-256:" +msgstr "SHA-256:" + +#: gajim/gtk/util.py:591 +msgid "Unknown Artist" +msgstr "Artista desconocido" + +#: gajim/gtk/util.py:592 +msgid "Unknown Title" +msgstr "Título desconocido" + +#: gajim/gtk/util.py:593 +msgid "Unknown Source" +msgstr "Recurso desconocido" + +#: gajim/gtk/util.py:595 +#, python-format +msgid "" +"\"%(title)s\" by %(artist)s\n" +"from %(source)s" +msgstr "" +"\"%(title)s\" por %(artist)s\n" +"de %(source)s" + +#: gajim/gtk/profile.py:28 gajim/gtk/vcard_grid.py:33 +#: gajim/data/gui/vcard_information_window.ui:411 +msgid "Full Name" +msgstr "Nombre completo" + +#: gajim/gtk/profile.py:29 gajim/gtk/vcard_grid.py:35 +#: gajim/data/gui/vcard_information_window.ui:770 +msgid "Birthday" +msgstr "Cumpleaños" + +#: gajim/gtk/profile.py:30 gajim/gtk/vcard_grid.py:36 +msgid "Gender" +msgstr "Género" + +#: gajim/gtk/profile.py:31 gajim/data/gui/groupchat_info_scrolled.ui:16 +msgid "Address" +msgstr "Dirección" + +#: gajim/gtk/profile.py:34 gajim/gtk/vcard_grid.py:38 +#: gajim/data/gui/vcard_information_window.ui:720 +#: gajim/data/gui/vcard_information_window.ui:1396 +msgid "Phone No." +msgstr "Teléfono." + +#: gajim/gtk/profile.py:35 +msgid "?profile:Organisation" +msgstr "?profile:Organización" + +#: gajim/gtk/profile.py:36 gajim/gtk/vcard_grid.py:41 +msgid "?profile:Title" +msgstr "?profile:Título" + +#: gajim/gtk/profile.py:37 gajim/gtk/vcard_grid.py:42 +msgid "?profile:Role" +msgstr "?profile:Oficio" + +#: gajim/gtk/profile.py:38 gajim/gtk/vcard_grid.py:45 +msgid "URL" +msgstr "URL" + +#: gajim/gtk/profile.py:39 gajim/gtk/vcard_grid.py:46 +msgid "?profile:Key" +msgstr "?profile:Clave" + +#: gajim/gtk/profile.py:299 gajim/gtk/profile.py:301 +#: gajim/data/gui/profile.ui:98 gajim/data/gui/profile.ui:110 +msgid "Everyone" +msgstr "Todos" + +#: gajim/gtk/profile.py:299 gajim/gtk/profile.py:301 +#: gajim/data/gui/shortcuts_window.ui:108 gajim/data/gui/groupchat_invite.ui:83 +msgid "Contacts" +msgstr "Contactos" + +#: gajim/gtk/filechoosers.py:88 +msgid "Choose File to Send…" +msgstr "Elige archivo a enviar…" + +#: gajim/gtk/filechoosers.py:94 +msgid "Choose Avatar…" +msgstr "Elegir Imagen…" + +#: gajim/gtk/filechoosers.py:98 +msgid "PNG files" +msgstr "Archivos PNG" + +#: gajim/gtk/filechoosers.py:99 +msgid "JPEG files" +msgstr "Archivos JPEG" + +#: gajim/gtk/filechoosers.py:100 +msgid "SVG files" +msgstr "Archivos SVG" + +#: gajim/gtk/filechoosers.py:102 +msgid "Images" +msgstr "Imágenes" + +#: gajim/gtk/filechoosers.py:139 +msgid "Choose Archive" +msgstr "Elegir Archivo" + +#: gajim/gtk/filechoosers.py:141 +msgid "ZIP files" +msgstr "Archivos ZIP" + +#: gajim/gtk/filechoosers.py:146 +msgid "Save File as…" +msgstr "Guardar fichero como…" + +#: gajim/gtk/filechoosers.py:180 +msgid "_Open" +msgstr "Abrir" + +#: gajim/gtk/blocking.py:38 +#, python-format +msgid "Blocking List for %s" +msgstr "Lista de bloqueo para %s" + +#: gajim/gtk/blocking.py:64 +msgid "Error!" +msgstr "¡Error!" + +#: gajim/gtk/service_registration.py:143 gajim/gtk/service_registration.py:157 +#: gajim/gtk/service_registration.py:164 +msgid "Register" +msgstr "Registrar" + +#: gajim/gtk/service_registration.py:193 gajim/gtk/service_registration.py:205 +msgid "Registration successful" +msgstr "Registro exitoso" + +#: gajim/gtk/service_registration.py:216 +msgid "Registration failed" +msgstr "Falló el registro" + +#: gajim/gtk/vcard_grid.py:37 +msgid "?profile:Address" +msgstr "?profile:Dirección" + +#: gajim/gtk/vcard_grid.py:40 +msgid "IM Address" +msgstr "Dirección MI" + +#: gajim/gtk/vcard_grid.py:43 +msgid "Organisation" +msgstr "Organización" + +#: gajim/gtk/vcard_grid.py:44 +msgid "?profile:Note" +msgstr "?profile:Nota" + +#: gajim/gtk/vcard_grid.py:51 +msgid "Your public key or authentication certificate" +msgstr "Tu clave pública o certificado de autenticación" + +#: gajim/gtk/vcard_grid.py:59 +msgid "Post Office Box" +msgstr "Apartado de correos" + +#: gajim/gtk/vcard_grid.py:60 gajim/data/gui/vcard_information_window.ui:489 +#: gajim/data/gui/vcard_information_window.ui:1179 +msgid "Street" +msgstr "Calle" + +#: gajim/gtk/vcard_grid.py:61 +msgid "Extended Address" +msgstr "Dirección Adicional" + +#: gajim/gtk/vcard_grid.py:62 gajim/data/gui/vcard_information_window.ui:505 +#: gajim/data/gui/vcard_information_window.ui:1195 +msgid "City" +msgstr "Ciudad" + +#: gajim/gtk/vcard_grid.py:63 gajim/data/gui/vcard_information_window.ui:521 +#: gajim/data/gui/vcard_information_window.ui:1211 +msgid "State" +msgstr "Estado" + +#: gajim/gtk/vcard_grid.py:64 gajim/data/gui/vcard_information_window.ui:595 +#: gajim/data/gui/vcard_information_window.ui:1244 +msgid "Postal Code" +msgstr "Código postal" + +#: gajim/gtk/vcard_grid.py:65 gajim/data/gui/vcard_information_window.ui:611 +#: gajim/data/gui/vcard_information_window.ui:1260 +msgid "Country" +msgstr "País" + +#: gajim/gtk/vcard_grid.py:111 +msgid "Male" +msgstr "Masculino" + +#: gajim/gtk/vcard_grid.py:112 +msgid "Female" +msgstr "Femenino" + +#: gajim/gtk/vcard_grid.py:113 +msgid "?Gender:Other" +msgstr "?Gender:Otro" + +#: gajim/gtk/vcard_grid.py:114 +msgid "?Gender:None" +msgstr "?Gender:Nada" + +#: gajim/gtk/vcard_grid.py:121 gajim/gtk/vcard_grid.py:428 +msgid "Home" +msgstr "Casa" + +#: gajim/gtk/vcard_grid.py:122 gajim/gtk/vcard_grid.py:429 +#: gajim/data/gui/vcard_information_window.ui:1452 +msgid "Work" +msgstr "Trabajo" + +#: gajim/gtk/vcard_grid.py:598 +msgid "YYYY-MM-DD" +msgstr "AAAA-MM-DD" + +#: gajim/gtk/adhoc.py:91 +msgid "Finish" +msgstr "_Finalizar" + +#: gajim/gtk/adhoc.py:96 gajim/gtk/adhoc.py:283 +msgid "Commands" +msgstr "Comandos" + +#: gajim/gtk/adhoc.py:107 +msgid "Previous" +msgstr "Anterior" + +#: gajim/gtk/adhoc.py:112 +msgid "Execute" +msgstr "Ejecutar" + +#: gajim/gtk/adhoc.py:196 +msgid "No commands available" +msgstr "No hay comandos disponibles" + +#: gajim/gtk/adhoc.py:244 +msgid "Request Command List" +msgstr "Petición de lista de comandos" + +#: gajim/gtk/adhoc.py:259 +msgid "Executing…" +msgstr "Ejecutando…" + +#: gajim/gtk/adhoc.py:266 +msgid "Command List" +msgstr "Lista de Comandos" + +#: gajim/gtk/adhoc.py:321 gajim/data/gui/manage_proxies.ui:255 +msgid "Settings" +msgstr "Configuraciones" + +#: gajim/gtk/adhoc.py:386 +msgid "Finished" +msgstr "Finalizado" + +#: gajim/gtk/adhoc.py:455 +msgid "Execution failed" +msgstr "Falló la ejecución" + +#: gajim/common/jingle_rtp.py:133 +#, python-format +msgid "%s configuration error" +msgstr "Error de configuración %s" + +#: gajim/common/jingle_rtp.py:134 +#, python-format +msgid "" +"Couldn’t set up %(text)s. Check your configuration.\n" +"Pipeline:\n" +"%(pipeline)s\n" +"Error:\n" +"%(error)s" +msgstr "" +"No se ha podido preparar %(text)s. Comprueba tu configuración.\n" +"Pipeline:\n" +"%(pipeline)s\n" +"Error:\n" +"%(error)s" + +#: gajim/common/jingle_rtp.py:416 +msgid "audio input" +msgstr "entrada de sonido" + +#: gajim/common/jingle_rtp.py:421 +msgid "audio output" +msgstr "salida de sonido" + +#: gajim/common/jingle_rtp.py:489 +msgid "video input" +msgstr "entrada de vídeo" + +#: gajim/common/setting_values.py:300 gajim/common/config.py:356 +#: gajim/common/const.py:387 +msgid "Sleeping" +msgstr "Durmiendo" + +#: gajim/common/setting_values.py:301 +msgid "ZZZZzzzzzZZZZZ" +msgstr "ZZZZzzzzzZZZZZ" + +#: gajim/common/setting_values.py:306 gajim/common/config.py:357 +msgid "Back soon" +msgstr "Vuelvo pronto" + +#: gajim/common/setting_values.py:307 gajim/common/config.py:357 +msgid "Back in some minutes." +msgstr "Vuelvo en unos minutos." + +#: gajim/common/setting_values.py:309 gajim/common/config.py:358 +#: gajim/common/const.py:353 +msgid "Eating" +msgstr "Comiendo" + +#: gajim/common/setting_values.py:310 +msgid "I’m eating." +msgstr "Estoy comiendo." + +#: gajim/common/setting_values.py:314 gajim/common/config.py:359 +msgid "Movie" +msgstr "Película" + +#: gajim/common/setting_values.py:315 +msgid "I’m watching a movie." +msgstr "Estoy viendo una película." + +#: gajim/common/setting_values.py:319 gajim/common/config.py:360 +#: gajim/common/const.py:420 +msgid "Working" +msgstr "Trabajando" + +#: gajim/common/setting_values.py:320 +msgid "I’m working." +msgstr "Estoy trabajando." + +#: gajim/common/setting_values.py:324 gajim/common/config.py:362 +msgid "Out" +msgstr "Fuera" + +#: gajim/common/setting_values.py:325 +msgid "I’m out enjoying life." +msgstr "Estoy fuera disfrutando la vida." + +#: gajim/common/setting_values.py:393 gajim/common/config.py:84 +msgid "" +"Allow to hide the contact list window even if the notification area icon is " +"not shown." +msgstr "" +"Permitir ocultar la ventana de la lista de contactos incluso si no se " +"muestra el icono del área de notificación." + +#: gajim/common/setting_values.py:394 gajim/common/config.py:95 +msgid "" +"'always' - print time for every message.\n" +"'sometimes' - print time every print_ichat_every_foo_minutes minute.\n" +"'never' - never print time." +msgstr "" +"'siempre' - muestra la hora en cada mensaje.\n" +"'a veces' - muestra la hora cada print_ichat_every_foo_minutes minutos.\n" +"'nunca' - nunca muestra la hora." + +#: gajim/common/setting_values.py:395 gajim/common/config.py:99 +msgid "Treat * / _ pairs as possible formatting characters." +msgstr "Tratar los pares de * / _ como posibles caracteres de formateo." + +#: gajim/common/setting_values.py:396 gajim/common/config.py:100 +msgid "" +"If enabled, do not remove */_ . So *abc* will be bold but with * * not " +"removed." +msgstr "" +"Si está habilitado, no elimina */_ . Entonces *abc* será negrita, pero sin " +"eliminar * *." + +#: gajim/common/setting_values.py:397 gajim/common/config.py:103 +msgid "" +"Character to add after nickname when using nickname completion (tab) in " +"group chat." +msgstr "" +"Carácter a añadir después del apodo cuando se usa el completado de apodos " +"(tab) en salas de chat." + +#: gajim/common/setting_values.py:398 gajim/common/config.py:125 +msgid "" +"If enabled, Gajim will save the contact list window position when hiding it, " +"and restore it when showing the contact list window again." +msgstr "" +"Si está habilitado, Gajim guardará la posición de la ventana de la lista de " +"contactos cuando la oculte, y la restaurará cuando la vuelva a mostrar." + +#: gajim/common/setting_values.py:399 gajim/common/config.py:131 +msgid "Place the contact list on the right in single window mode" +msgstr "Coloque la lista de contactos a la derecha en modo de ventana única" + +#: gajim/common/setting_values.py:400 gajim/common/config.py:137 +msgid "" +"This option lets you customize the timestamp that is printed in " +"conversation. For example '[%H:%M] ' will show '[hour:minute] '. See python " +"doc on strftime for full documentation (https://docs.python.org/3/library/" +"time.html#time.strftime)." +msgstr "" +"Esta opción te permite personalizar la marca horaria de las conversaciones. " +"Por ejemplo [%H:%M] mostrará '[hora:minuto]'. Mira la documentación de " +"Python acerca de strftime y para más detalles (https://docs.python.org/3/" +"library/time.html#time.strftime)." + +#: gajim/common/setting_values.py:401 gajim/common/config.py:138 +msgid "Characters that are printed before the nickname in conversations." +msgstr "Caracteres que se imprimen antes del alias en las conversaciones." + +#: gajim/common/setting_values.py:402 gajim/common/config.py:139 +msgid "Characters that are printed after the nickname in conversations." +msgstr "Caracteres que se imprimen después del alias en las conversaciones." + +#: gajim/common/setting_values.py:403 gajim/common/config.py:140 +msgid "If enabled, Gajim will add * and [n] in contact list window title." +msgstr "" +"Si está habilitado, Gajim agregará * y [n] en el título de la ventana de la " +"lista de contactos." + +#: gajim/common/setting_values.py:404 gajim/common/config.py:141 +msgid "" +"Number of messages from chat history to be restored when a chat tab/window " +"is reopened." +msgstr "" +"Cuántos mensajes a recuperar del historial se vuelve a abrir una pestaña/" +"ventana de conversación." + +#: gajim/common/setting_values.py:405 gajim/common/config.py:142 +msgid "" +"How far back in time (minutes) chat history is restored. -1 means no limit." +msgstr "" +"Cuantos minutos hacia atrás serán restaurados del historial de chat. -1 " +"significa que no hay límite." + +#: gajim/common/setting_values.py:406 gajim/common/config.py:143 +msgid "Send message on Ctrl+Enter and make a new line with Enter." +msgstr "Envía mensaje con Ctrl+Intro y con Intro hace un nuevo renglón." + +#: gajim/common/setting_values.py:407 gajim/common/config.py:145 +msgid "How many lines to store for Ctrl+KeyUP (previously sent messages)." +msgstr "" +"Cuántas líneas almacenar para Ctrl+Arriba (mensajes enviados previamente)." + +#: gajim/common/setting_values.py:409 gajim/common/config.py:148 +#, python-format +msgid "" +"Either a custom URL with %%s in it (where %%s is the word/phrase) or " +"'WIKTIONARY' (which means use Wikitionary)." +msgstr "" +"Ya sea una URL personalizada con %%s (donde %%s es la palabra/frase) o " +"'WIKTIONARY' (que significa usar Wikitionary)." + +#: gajim/common/setting_values.py:412 gajim/common/config.py:151 +msgid "If checked, Gajim can be controlled remotely using gajim-remote." +msgstr "" +"Si está marcado, Gajim puede ser controlado remotamente usando gajim-remote." + +#: gajim/common/setting_values.py:413 +msgid "" +"When not printing time for every message ('print_time'==sometimes, print it " +"every x minutes." +msgstr "" +"Cuando no imprimir la hora para cada mensaje ('print_time'==a veces, imprir " +"cada x minutos." + +#: gajim/common/setting_values.py:414 gajim/common/config.py:153 +msgid "Ask before pasting an image." +msgstr "Preguntar antes de pegar una imagen." + +#: gajim/common/setting_values.py:415 gajim/common/config.py:154 +msgid "Ask before closing a group chat tab/window." +msgstr "Preguntar antes de cerrar una ventana/petaña de salón de charla." + +#: gajim/common/setting_values.py:416 gajim/common/config.py:155 +msgid "" +"Ask before closing tabbed chat window if there are chats that can lose data " +"(chat, private chat, group chat that will not be minimized)." +msgstr "" +"Preguntar antes de cerrar la ventana de chat con pestañas si hay chats que " +"pueden perder datos (chat, chat privado, chat grupal que no se minimizarán)." + +#: gajim/common/setting_values.py:418 gajim/common/config.py:158 +msgid "" +"List of send hosts (comma separated) in addition to local interfaces for " +"file transfers (in case of address translation/port forwarding)." +msgstr "" +"Lista de hosts de envío (separados por comas) además de interfaces locales " +"para transferencias de archivos (en caso de traducción de direcciones/" +"reenvío de puertos)." + +#: gajim/common/setting_values.py:419 gajim/common/config.py:159 +msgid "IEC standard says KiB = 1024 bytes, KB = 1000 bytes." +msgstr "Según el estándar IEC, KiB = 1024 bytes, KB = 1000 bytes." + +#: gajim/common/setting_values.py:421 gajim/common/config.py:161 +msgid "Notify of events in the notification area." +msgstr "Notificar eventos en el área de notificación." + +#: gajim/common/setting_values.py:422 gajim/common/config.py:166 +msgid "Show tab when only one conversation?" +msgstr "¿Mostrar pestaña cuando sólo hay una conversación?" + +#: gajim/common/setting_values.py:423 gajim/common/config.py:167 +msgid "Show tabbed notebook border in chat windows?" +msgstr "¿Mostrar borde solapado de archivador en las ventanas de conversación?" + +#: gajim/common/setting_values.py:424 gajim/common/config.py:168 +msgid "Show close button in tab?" +msgstr "¿Mostrar botón de cerrar en la pestaña?" + +#: gajim/common/setting_values.py:425 gajim/common/config.py:169 +msgid "Preview new messages in notification popup?" +msgstr "¿Previsualizar nuevos mensajes en un mensaje emergente?" + +#: gajim/common/setting_values.py:426 gajim/common/config.py:172 +msgid "" +"A list of words (semicolon separated) that will be highlighted in group " +"chats." +msgstr "" +"Una lista de palabras separadas por ';' que serán resaltadas en los grupos " +"de charla." + +#: gajim/common/setting_values.py:427 gajim/common/config.py:174 +msgid "" +"If enabled, Gajim hides the contact list window when pressing the X button " +"instead of minimizing into the notification area." +msgstr "" +"Si está habilitado, Gajim oculta la ventana de la lista de contactos al " +"presionar el botón X en lugar de minimizar en el área de notificación." + +#: gajim/common/setting_values.py:432 gajim/common/config.py:181 +msgid "" +"Define the position of avatars in the contact list. Can be 'left' or 'right'." +msgstr "" +"Definir la posición del avatar en el roster. Puede ser izquierda o derecha." + +#: gajim/common/setting_values.py:433 gajim/common/config.py:186 +msgid "Don't show contact list window in the system taskbar." +msgstr "No mostrar roster en la barra de tareas." + +#: gajim/common/setting_values.py:434 gajim/common/config.py:187 +msgid "" +"If enabled, Gajim makes the window flash (the default behaviour in most " +"Window Managers) when holding pending events." +msgstr "" +"Si está habilitado, Gajim hace que la ventana parpadee (el comportamiento " +"predeterminado en la mayoría de los administradores de ventanas) cuando se " +"mantienen eventos pendientes." + +#: gajim/common/setting_values.py:436 gajim/common/config.py:193 +msgid "If enabled, pressing Esc closes a tab/window." +msgstr "" +"Si está habilitado, al presionar la tecla escape se cierra una ventana/" +"pestaña." + +#: gajim/common/setting_values.py:437 gajim/common/config.py:194 +msgid "Hides the banner in a group chat window." +msgstr "Oculta el banner en una ventana de grupo de charla." + +#: gajim/common/setting_values.py:438 gajim/common/config.py:195 +msgid "Hides the banner in a 1:1 chat window." +msgstr "Oculta el banner en una ventana de charla 1 a 1." + +#: gajim/common/setting_values.py:439 gajim/common/config.py:196 +msgid "Hides the group chat participants list in a group chat window." +msgstr "Oculta la lista de participantes en la ventana de grupo de charla." + +#: gajim/common/setting_values.py:440 gajim/common/config.py:197 +msgid "" +"In a chat, show the nickname at the beginning of a line only when it's not " +"the same person talking as in the previous message." +msgstr "" +"En una conversación, muestra el alias al principio de una línea sólo cuando " +"no es la misma persona que envió el último mensaje." + +#: gajim/common/setting_values.py:441 gajim/common/config.py:198 +msgid "Indentation when using merge consecutive nickname." +msgstr "Indentar cuando se use una combinación de alias consecutivos." + +#: gajim/common/setting_values.py:442 gajim/common/config.py:199 +msgid "" +"Ctrl+Tab switches to the next composing tab when there are no tabs with " +"messages pending." +msgstr "" +"Ctrl+Tab cambia a la siguiente pestaña de composición cuando no hay pestañas " +"con mensajes pendientes." + +#: gajim/common/setting_values.py:443 gajim/common/config.py:200 +msgid "" +"Show a confirmation dialog to create metacontacts? Empty string means never " +"show the dialog." +msgstr "" +"¿Mostrar un diálogo de confirmación para crear metacontactos? Vacío " +"significa que nunca se mostrará el cuadro de diálogo." + +#: gajim/common/setting_values.py:444 gajim/common/config.py:201 +msgid "" +"Show a confirmation dialog to block a contact? Empty string means never show " +"the dialog." +msgstr "" +"¿Mostrar diálogo de confirmación de bloqueo de contacto? Una cadena vacía " +"significa que nunca se mostrará." + +#: gajim/common/setting_values.py:445 gajim/common/config.py:202 +msgid "" +"If enabled, you will be able to set a negative priority to your account in " +"the Accounts window. BE CAREFUL, when you are logged in with a negative " +"priority, you will NOT receive any message from your server." +msgstr "" +"Si está habilitado, podrás establecer una prioridad negativa para tu cuenta " +"en la ventana Cuentas. TEN CUIDADO, cuando inicies sesión con una prioridad " +"negativa, NO recibirás ningún mensaje de tu servidor." + +#: gajim/common/setting_values.py:446 gajim/common/config.py:203 +msgid "" +"If enabled, Gajim will show both the number of online and total contacts in " +"account rows as well as in group rows." +msgstr "" +"Si está habilitado, Gajim mostrará tanto el número de contactos en línea " +"como los totales en las filas de la cuenta, así como en las filas del grupo." + +#: gajim/common/setting_values.py:447 gajim/common/config.py:204 +msgid "" +"If enabled, Gajim will scroll and select the contact who sent you the last " +"message, if the chat window is not already opened." +msgstr "" +"Si está habilitado, Gajim se desplazará y seleccionará el contacto que te " +"envió el último mensaje, si la ventana de chat aún no está abierta." + +#: gajim/common/setting_values.py:448 gajim/common/config.py:205 +msgid "Time of inactivity needed before the change status window closes down." +msgstr "Tiempo de inactividad necesario antes de cerrar la ventana de estado." + +#: gajim/common/setting_values.py:449 gajim/common/config.py:206 +msgid "" +"Maximum number of lines that are printed in conversations. Oldest lines are " +"cleared." +msgstr "" +"Número máximo de líneas mostradas en las conversaciones. Las más antiguas " +"serán limpiadas." + +#: gajim/common/setting_values.py:450 gajim/common/config.py:208 +msgid "" +"If enabled, completion in group chats will be like a shell auto-completion." +msgstr "" +"Si está habilitado, el completado en grupos será como una shell de auto " +"completado." + +#: gajim/common/setting_values.py:451 gajim/common/config.py:217 +msgid "" +"If enabled, Gajim will try to use a STUN server when using Jingle. The one " +"in 'stun_server' option, or the one given by the XMPP server." +msgstr "" +"Si está habilitado, Gajim intentará usar un servidor STUN cuando use Jingle. " +"El que está en la opción 'stun_server', o el dado por el servidor XMPP." + +#: gajim/common/setting_values.py:452 gajim/common/config.py:218 +msgid "STUN server to use when using Jingle" +msgstr "Servidor STUN cuando se use Jingle" + +#: gajim/common/setting_values.py:453 gajim/common/config.py:220 +msgid "If enabled, Gajim will ignore incoming attention requests ('wizz')." +msgstr "" +"Si está habilitado, Gajim ignorará las solicitudes de atención entrantes " +"('wizz')." + +#: gajim/common/setting_values.py:454 gajim/common/config.py:221 +msgid "" +"If enabled, Gajim will reopen chat windows that were opened last time Gajim " +"was closed." +msgstr "" +"Si está habilitado, Gajim volverá a abrir las ventanas de chat que se " +"abrieron la última vez que se cerró Gajim." + +#: gajim/common/setting_values.py:455 gajim/common/config.py:224 +msgid "If enabled, Gajim will execute XEP-0146 Commands." +msgstr "Si está habilitado, Gajim ejecutará comandos XEP-0146." + +#: gajim/common/setting_values.py:458 gajim/common/config.py:236 +msgid "API Preferences. Possible values: 'http', 'iq'" +msgstr "Preferencias de API. Valores posibles: 'http', 'iq'" + +#: gajim/common/setting_values.py:459 gajim/common/config.py:237 +msgid "If enabled, Gajim will execute commands (/show, /sh, /execute, /exec)." +msgstr "" +"Si está habilitado, Gajim ejecutará comandos (/show, /sh, /execute, /exec)." + +#: gajim/common/setting_values.py:460 gajim/common/config.py:238 +msgid "Width of group chat roster in pixel" +msgstr "Ancho del roster de un grupo en pixels" + +#: gajim/common/setting_values.py:461 gajim/common/config.py:239 +msgid "Force Bookmark 2 usage" +msgstr "Fuerza el uso del formato Bookmark 2" + +#: gajim/common/multimedia_helpers.py:51 +msgid "Default device" +msgstr "Dispositivo por defecto" + +#: gajim/common/multimedia_helpers.py:72 +msgid "Audio test" +msgstr "Prueba de audio" + +#: gajim/common/multimedia_helpers.py:75 gajim/common/multimedia_helpers.py:91 +#: gajim/common/multimedia_helpers.py:105 +msgid "Autodetect" +msgstr "Autodetectar" + +#: gajim/common/multimedia_helpers.py:78 gajim/common/multimedia_helpers.py:93 +#, python-format +msgid "ALSA: %s" +msgstr "ALSA: %s" + +#: gajim/common/multimedia_helpers.py:81 gajim/common/multimedia_helpers.py:95 +#, python-format +msgid "Pulse: %s" +msgstr "Pulse: %s" + +#: gajim/common/multimedia_helpers.py:89 +msgid "Fake audio output" +msgstr "Salida de audio falso" + +#: gajim/common/multimedia_helpers.py:102 +msgid "Video test" +msgstr "Prueba de vídeo" + +#: gajim/common/multimedia_helpers.py:107 +msgid "Pipewire" +msgstr "Tubería" + +#: gajim/common/multimedia_helpers.py:109 +#, python-format +msgid "V4L2: %s" +msgstr "V4L2: %s" + +#: gajim/common/multimedia_helpers.py:111 +msgid "X11" +msgstr "X11" + +#: gajim/common/multimedia_helpers.py:113 +msgid "Windows" +msgstr "Windows" + +#: gajim/common/multimedia_helpers.py:115 +msgid "macOS" +msgstr "macOS" + +#: gajim/common/helpers.py:176 +msgid "_Busy" +msgstr "_Ocupado" + +#: gajim/common/helpers.py:178 +msgid "Busy" +msgstr "Ocupado" + +#: gajim/common/helpers.py:181 +msgid "_Not Available" +msgstr "_No Disponible" + +#: gajim/common/helpers.py:183 +msgid "Not Available" +msgstr "No disponible" + +#: gajim/common/helpers.py:186 +msgid "_Free for Chat" +msgstr "_Libre para hablar" + +#: gajim/common/helpers.py:188 +msgid "Free for Chat" +msgstr "Libre para hablar" + +#: gajim/common/helpers.py:191 +msgid "?user status:_Available" +msgstr "?user status:Disponible" + +#: gajim/common/helpers.py:193 +msgid "?user status:Available" +msgstr "?user status:Disponible" + +#: gajim/common/helpers.py:195 +msgid "Connecting" +msgstr "Conectando" + +#: gajim/common/helpers.py:198 +msgid "A_way" +msgstr "A_usente" + +#: gajim/common/helpers.py:203 +msgid "_Offline" +msgstr "D_esconectado" + +#: gajim/common/helpers.py:205 +msgid "Offline" +msgstr "Desconectado" + +#: gajim/common/helpers.py:209 +msgid "?contact has status:Unknown" +msgstr "?contact has status:Desconocido" + +#: gajim/common/helpers.py:211 +msgid "?contact has status:Has errors" +msgstr "?contact has status:Tiene errores" + +#: gajim/common/helpers.py:216 +msgid "?Subscription we already have:None" +msgstr "?Subscription we already have:Ninguna" + +#: gajim/common/helpers.py:218 +msgid "To" +msgstr "A" + +#: gajim/common/helpers.py:220 gajim/data/gui/groups_post_window.ui:33 +msgid "From" +msgstr "De" + +#: gajim/common/helpers.py:222 +msgid "Both" +msgstr "Ambos" + +#: gajim/common/helpers.py:230 +msgid "?Ask (for Subscription):None" +msgstr "?Ask (for Subscription):Ninguna" + +#: gajim/common/helpers.py:232 +msgid "Subscribe" +msgstr "_Añadir" + +#: gajim/common/helpers.py:244 +msgid "?Group Chat Contact Role:None" +msgstr "?Group Chat Contact Role:Ninguno" + +#: gajim/common/helpers.py:247 +msgid "Moderators" +msgstr "Moderadores" + +#: gajim/common/helpers.py:249 +msgid "Moderator" +msgstr "Moderador" + +#: gajim/common/helpers.py:252 gajim/data/gui/groupchat_info_scrolled.ui:182 +msgid "Participants" +msgstr "Participantes" + +#: gajim/common/helpers.py:254 +msgid "Participant" +msgstr "Participante" + +#: gajim/common/helpers.py:257 +msgid "Visitors" +msgstr "Visitantes" + +#: gajim/common/helpers.py:259 +msgid "Visitor" +msgstr "Visitante" + +#: gajim/common/helpers.py:268 +msgid "?Group Chat Contact Affiliation:None" +msgstr "?Group Chat Contact Affiliation:Ninguno" + +#: gajim/common/helpers.py:271 +msgid "Owners" +msgstr "Propietarios" + +#: gajim/common/helpers.py:273 gajim/data/gui/groupchat_config.ui:32 +msgid "Owner" +msgstr "Propietario" + +#: gajim/common/helpers.py:276 +msgid "Administrators" +msgstr "Administradores" + +#: gajim/common/helpers.py:278 +msgid "Administrator" +msgstr "Administrador" + +#: gajim/common/helpers.py:281 +msgid "Members" +msgstr "Miembros" + +#: gajim/common/helpers.py:320 +msgid "is paying attention to the conversation" +msgstr "está prestando atención a la conversación" + +#: gajim/common/helpers.py:322 +msgid "is doing something else" +msgstr "está haciendo algo más" + +#: gajim/common/helpers.py:324 +msgid "is composing a message…" +msgstr "está escribiendo un mensaje…" + +#: gajim/common/helpers.py:327 +msgid "paused composing a message" +msgstr "ha parado de escribir" + +#: gajim/common/helpers.py:329 +msgid "has closed the chat window or tab" +msgstr "ha cerrado la ventana de chat" + +#: gajim/common/helpers.py:719 gajim/common/helpers.py:727 +#, python-format +msgid "%d message pending" +msgid_plural "%d messages pending" +msgstr[0] "%d mensaje pendiente" +msgstr[1] "%d mensajes pendientes" + +#: gajim/common/helpers.py:736 +#, python-format +msgid "from group chat %s" +msgstr "desde el grupo de charla %s" + +#: gajim/common/helpers.py:739 gajim/common/helpers.py:760 +#, python-format +msgid "from user %s" +msgstr "del usuario %s" + +#: gajim/common/helpers.py:741 +#, python-format +msgid "from %s" +msgstr "de %s" + +#: gajim/common/helpers.py:747 gajim/common/helpers.py:755 +#, python-format +msgid "%d event pending" +msgid_plural "%d events pending" +msgstr[0] "%d evento pendiente" +msgstr[1] "%d eventos pendientes" + +#: gajim/common/helpers.py:828 gajim/data/gui/add_new_contact_window.ui:20 +msgid "I would like to add you to my contact list." +msgstr "Me gustaría añadirte a mi lista de contactos." + +#: gajim/common/helpers.py:830 +msgid "Hello, I am $name." +msgstr "Hola, soy $name." + +#: gajim/common/config.py:71 +msgid "Play sound even when being busy." +msgstr "Reproducir sonido cuando esté ocupado." + +#: gajim/common/config.py:73 +msgid "Show only online and free for chat contacts in the contact list." +msgstr "Mostrar solo los contactos en línea o libres para hablar." + +#: gajim/common/config.py:76 +msgid "Time in minutes, after which your status changes to away." +msgstr "Tiempo en minutos, después del cual se cambia el estado a ausente." + +#: gajim/common/config.py:77 +msgid "$S (Away: Idle more than $T min)" +msgstr "$S (Ausente: inactivo más de $T minutos)" + +#: gajim/common/config.py:77 +msgid "" +"$S will be replaced by current status message, $T by the 'autoawaytime' " +"value." +msgstr "" +"$S será reemplazado por el mensaje de estado actual, $T por tiempo de auto-" +"ausencia." + +#: gajim/common/config.py:79 +msgid "Time in minutes, after which your status changes to not available." +msgstr "" +"Tiempo en minutos, después del cual se cambia el estado a no disponible." + +#: gajim/common/config.py:80 +msgid "$S (Not available: Idle more than $T min)" +msgstr "$S (No disponible: inactivo más de $T minutos)" + +#: gajim/common/config.py:80 +msgid "" +"$S will be replaced by current status message, $T by the 'autoxatime' value." +msgstr "" +"$S será reemplazado por el actual mensaje de estado, $T por tiempo de auto-" +"ausencia extendida." + +#: gajim/common/config.py:83 +msgid "" +"When to show the notification area icon. Can be 'never', 'on_event', and " +"'always'." +msgstr "" +"Cuándo mostrar el icono del área de notificación. Puede ser 'never', " +"'on_event', y 'always'." + +# duda sobre collapsed +#: gajim/common/config.py:87 +msgid "" +"List of rows (accounts and groups) that are collapsed (space separated)." +msgstr "" +"Lista de filas (cuentas y grupos) que están contraídas (separadas por " +"espacios)." + +#: gajim/common/config.py:94 gajim/common/config.py:335 +#: gajim/common/config.py:342 +msgid "Language used for spell checking." +msgstr "Idioma usado por el corrector." + +#: gajim/common/config.py:97 +msgid "When enabled, ASCII emojis will be converted to graphical emojis." +msgstr "" +"Cuando esté habilitado, los emoticonos ASCII serán convertidos en emoticonos " +"gráficos." + +#: gajim/common/config.py:152 +msgid "" +"When not printing time for every message ('print_time'==sometimes), print it " +"every x minutes." +msgstr "" +"Cuando no imprimir la hora para cada mensaje ('print_time'==a veces), imprir " +"cada x minutos." + +#: gajim/common/config.py:173 +msgid "" +"If enabled, Gajim quits when clicking the X button of your Window Manager. " +"This setting is taken into account only if the notification area icon is " +"used." +msgstr "" +"Si está habilitado, Gajim se cierra al hacer clic en el botón X de tu " +"Administrador de ventanas. Esta configuración solo se tiene en cuenta si se " +"utiliza el icono del área de notificación." + +#: gajim/common/config.py:175 +msgid "" +"If enabled, Gajim will display the status message (if not empty) underneath " +"the contact name in the contact list window." +msgstr "" +"Si está habilitado, Gajim mostrará el mensaje de estado (si no está vacío) " +"debajo del nombre del contacto en la ventana de la lista de contactos." + +#: gajim/common/config.py:182 +msgid "" +"If disabled, Gajim will no longer print status messages in chats when a " +"contact changes their status (and/or their status message)." +msgstr "" +"Si está deshabilitado, Gajim no mostrará más el mensaje de estado cuando un " +"contacto cambie su estado (y/o su mensaje de estado)." + +#: gajim/common/config.py:183 +msgid "" +"Default Setting: Show a status message for every join or leave in a group " +"chat." +msgstr "" +"Por defecto: Mostrar mensaje de estado por cada uno que se una o se vaya del " +"grupo." + +#: gajim/common/config.py:184 +msgid "" +"Default Setting: Show a status message for all status changes (away, dnd, " +"etc.) of users in a group chat." +msgstr "" +"Configuración predeterminada: muestra un mensaje de estado para todos los " +"cambios de estado (ausente, no molestar, etc.) de los usuarios en un grupo." + +#: gajim/common/config.py:191 +msgid "" +"Controls the window where new messages are placed.\n" +"'always' - All messages are sent to a single window.\n" +"'always_with_roster' - Like 'always' but the messages are in a single window " +"along with the contact list.\n" +"'never' - All messages get their own window.\n" +"'peracct' - Messages for each account are sent to a specific window.\n" +"'pertype' - Each message type (e.g. chats vs. group chats) is sent to a " +"specific window." +msgstr "" +"Controla la ventana donde se depositan los nuevos mensajes.\n" +"'always' - Todos los mensajes son enviados a una ventana única.\n" +"'always_with_roster' - Como 'always' pero en una ventana única a lo largo " +"del roster.\n" +"'never' - Todos los mensajes tienen su propia ventana\n" +"'peracct' - Los mensajes de cada cuenta se envían a una ventana específica.\n" +"'pertype' - Cada tipo de mensaje (p.ej. conversaciones vs. grupos de charla) " +"se envían a una ventana específica." + +#: gajim/common/config.py:192 +msgid "" +"Show contact list window on startup.\n" +"'always' - Always show contact list window.\n" +"'never' - Never show contact list window.\n" +"'last_state' - Restore last state of the contact list window." +msgstr "" +"Mostrar lista de contactos en el arranque.\n" +"'always' - Mostrar siempre la lista.\n" +"'never' - No mostrar nunca la lista.\n" +"'last_state' - Restaurar el último estado de la lista." + +#: gajim/common/config.py:207 +msgid "" +"Valid URI schemes. Only schemes in this list will be accepted as 'real' URI " +"(mailto and xmpp are handled separately)." +msgstr "" +"Esquemas válidos de URI. Solo los esquemas en esta lista serán aceptados " +"como URI 'real' (mailto y xmpp se manejan por separado)." + +#: gajim/common/config.py:212 +msgid "Optionally fix Jingle output video framerate. Example: 10/1 or 25/2." +msgstr "" +"Opcionalmente arregla la velocidad de fotogramas de salid de video de " +"Jingle. Ejemplo: 10/1 o 25/2." + +#: gajim/common/config.py:213 +msgid "Optionally resize Jingle output video. Example: 320x240." +msgstr "" +"Opcionalmente, cambia el tamaño del video de salida Jingle. Ejemplo: 320x240." + +#: gajim/common/config.py:214 +msgid "If enabled, you will see your webcam's video stream as well." +msgstr "" +"Si está habilitado, también verás la transmisión de video de tu cámara web." + +#: gajim/common/config.py:219 +msgid "" +"Proxy used for all outgoing connections if the account does not have a " +"specific proxy configured." +msgstr "" +"Proxy utilizado para todas las conexiones salientes si la cuenta no tiene un " +"proxy específico configurado." + +#: gajim/common/config.py:222 +msgid "" +"If enabled, Gajim will display an icon to show that sent messages have been " +"received by your contact." +msgstr "" +"Si está habilitado, Gajim mostrará un icono para indicar que los mensajes " +"envidados han sido recibido por tu contacto." + +#: gajim/common/config.py:223 +msgid "" +"If enabled, Gajim will use the System's Keyring to store account passwords." +msgstr "" +"Si está habilitado, Gajim usará el almacenamiento de claves (llavero) del " +"sistema para almacenar las contraseñas de las cuentas." + +#: gajim/common/config.py:225 +msgid "2: System, 1: Enabled, 0: Disabled" +msgstr "2:Sistema, 1:Habilitado, 0:Deshabilitado" + +#: gajim/common/config.py:226 +msgid "" +"Maximum history in days we request from a public group chat archive. 0: As " +"much as possible." +msgstr "" +"Historial máximo en días que solicitamos de un archivo de grupo público. 0: " +"tanto como sea posible." + +#: gajim/common/config.py:227 +msgid "" +"Maximum history in days we request from a private group chat archive. 0: As " +"much as possible." +msgstr "" +"Historial máximo en días que solicitamos de un archivo de grupo privado. 0: " +"tanto como sea posible." + +#: gajim/common/config.py:228 +msgid "" +"If enabled, Gajim shows the group chat subject in the chat window when " +"joining." +msgstr "" +"Si está habilitado, Gajim muestra el asunto del grupo en la ventana de chat " +"cuando se une." + +#: gajim/common/config.py:229 +msgid "" +"If enabled, the contact row is colored according to the current chat state " +"of the contact." +msgstr "" +"Si está habilitado, la fila del contacto se colorea de acuerdo con el estado " +"de chat actual del mismo." + +#: gajim/common/config.py:230 +msgid "" +"If enabled, the tab is colored according to the current chat state of the " +"contact." +msgstr "" +"Si está habilitado, la pestaña se colorea de acuerdo con el estado de chat " +"actual del contacto." + +#: gajim/common/config.py:231 +msgid "" +"Shows a text in the banner that describes the current chat state of the " +"contact." +msgstr "" +"Muestra un texto en el banner que describe el estado actual del contacto." + +#: gajim/common/config.py:232 +msgid "" +"Chat state notifications that are sent to contacts. Possible values: all, " +"composing_only, disabled" +msgstr "" +"Notificaciones de estado enviadas a los contactos. Valores posibles: all, " +"composing_only o disabled" + +#: gajim/common/config.py:233 +msgid "" +"Chat state notifications that are sent to the group chat. Possible values: " +"'all', 'composing_only', 'disabled'" +msgstr "" +"Notificaciones de estado enviadas al grupo. Valores posibles: 'all', " +"'composing_only' o 'disabled'" + +#: gajim/common/config.py:240 +msgid "Shows an info bar with helpful hints in the Start / Join Chat dialog" +msgstr "" +"Muestra una barra de información con consejos útiles en el cuadro de diálogo " +"Iniciar / Unirse al chat" + +#: gajim/common/config.py:242 +msgid "Date of the last update check" +msgstr "Fecha de la última verificación de actualización" + +#: gajim/common/config.py:260 +msgid "" +"Priority will change automatically according to your status. Priorities are " +"defined in 'autopriority_*' options." +msgstr "" +"La prioridad cambiará automáticamente según tu estado. Las prioridades se " +"definen en las opciones 'autopriority_ *'." + +#: gajim/common/config.py:267 +msgid "If enabled, the last status will be restored." +msgstr "Si está activado, se restaurará el último estado." + +#: gajim/common/config.py:268 +msgid "" +"If enabled, contacts requesting authorization will be accepted automatically." +msgstr "" +"Si está habilitado, los contactos pidiendo autorización serán aceptados " +"automáticamente." + +#: gajim/common/config.py:269 +msgid "" +"If disabled, this account will be disabled and will not appear in the " +"contact list window." +msgstr "" +"Si está deshabilitado, esta cuenta será deshabilitada y no parecerá en la " +"ventana de la lista de contactos." + +#: gajim/common/config.py:278 +msgid "ConnectionType: START TLS, DIRECT TLS or PLAIN" +msgstr "ConnectionType: START TLS, DIRECT TLS o PLAIN" + +#: gajim/common/config.py:280 +msgid "" +"List of XMPP Addresses (space separated) for which you do not want to store " +"chat history. You can also add the name of an account to disable storing " +"chat history for this account." +msgstr "" +"Lista de direcciones XMPP (separadas por espacios) para las que no deseas " +"almacenar el historial de chat. También puedes agregar el nombre de una " +"cuenta para deshabilitar el almacenamiento del historial de chat para la " +"misma." + +#: gajim/common/config.py:285 +msgid "" +"If enabled, Gajim will use your IP and proxies defined in " +"'file_transfer_proxies' option for file transfers." +msgstr "" +"Si está habilitado, Gajim usará tu IP y los proxies definidos en la opción " +"'file_transfer_proxies' para las transferencias de ficheros." + +#: gajim/common/config.py:286 +msgid "" +"If enabled, Gajim will test file transfer proxies on startup to be sure they " +"work. Openfire's proxies are known to fail this test even if they work." +msgstr "" +"Si está habilitado, Gajim probará los proxies de transferencia de archivos " +"al inicio para asegurarse de que funcionen. Se sabe que los proxys de " +"Openfire fallan en esta prueba incluso si funcionan." + +#: gajim/common/config.py:298 +msgid "If enabled, Gajim will answer to message receipt requests." +msgstr "" +"Si está habilitado, Gajim responderá a las solicitudes de recepción de " +"mensajes." + +#: gajim/common/config.py:303 +msgid "" +"Allow Gajim to send information about the operating system you are running." +msgstr "" +"Permitir a Gajim enviar información del sistema operativo que estás usando." + +#: gajim/common/config.py:304 +msgid "Allow Gajim to send your local time." +msgstr "Permita que Gajim envíe su hora local." + +#: gajim/common/config.py:307 +msgid "Message that is sent to contacts you want to add." +msgstr "Mensaje que se envía a los contactos que quieres añadir." + +#: gajim/common/config.py:308 +msgid "" +"If enabled, Gajim will send your local IP so your contact can connect to " +"your machine for file transfers." +msgstr "" +"Si está habilitado, Gajim enviará tu IP local para que tu contacto pueda " +"conectarse a tu máquina para transferencias de ficheros." + +#: gajim/common/config.py:309 +msgid "" +"List of XMPP Addresses (space separated) for which the chat window will be " +"re-opened on next startup." +msgstr "" +"Lista de direcciones XMPP (separadas por espacios) para las cuales la " +"ventana de chat se volverá a abrir en el próximo inicio." + +#: gajim/common/config.py:311 +msgid "" +"Preferred file transfer mechanism for file drag&drop on a chat window. Can " +"be 'httpupload' (default) or 'jingle'." +msgstr "" +"Mecanismo preferido de transferencia de archivos para arrastrar&soltar en " +"una ventana de chat. Puede ser 'httpupload' (por defecto) o 'jingle'." + +#: gajim/common/config.py:312 +msgid "Allow certificate verification with POSH." +msgstr "Permitir verificación de certificado con POSH." + +#: gajim/common/config.py:336 +msgid "" +"Chat state notifications that are sent to contacts. Possible values: 'all', " +"'composing_only', 'disabled'" +msgstr "" +"Notificaciones de estado enviadas a los contactos. Valores posibles: 'all', " +"'composing_only', 'disabled'" + +#: gajim/common/config.py:339 +msgid "The currently active encryption for that contact." +msgstr "Cifrado actual activo para ese contacto." + +#: gajim/common/config.py:343 +msgid "" +"If enabled, a notification is created for every message in this group chat." +msgstr "" +"Si está habilitado, se crea una notificación para cada mensaje en este grupo." + +#: gajim/common/config.py:344 +msgid "" +"Show a status message for all status changes (away, dnd, etc.) of users in a " +"group chat." +msgstr "" +"Muestra un mensaje de estado para todos los cambios de estado (ausente, no " +"molestar, etc.) de los usuarios en un grupo." + +#: gajim/common/config.py:345 +msgid "Show a status message for every join or leave in a group chat." +msgstr "" +"Mostrar un mensaje de estado por cada unión o abandono en un grupo de chat." + +#: gajim/common/config.py:346 +msgid "" +"If enabled, the group chat is minimized into the contact list when joining " +"automatically." +msgstr "" +"Si está habilitado, el grupo se minimiza en la lista de contactos al unirse " +"automáticamente." + +#: gajim/common/config.py:347 +msgid "" +"If enabled, the group chat is minimized into the contact list when closing " +"it." +msgstr "" +"Si está habilitado, el grupo se minimiza en la lista de contactos al " +"cerrarlo." + +#: gajim/common/config.py:348 +msgid "" +"Chat state notifications that are sent to the group chat. Possible values: " +"'all', 'composing_only' or 'disabled'." +msgstr "" +"Notificaciones de estado enviadas al grupo. Posibles valores: 'all', " +"'composing_only' o 'disabled'." + +#: gajim/common/config.py:351 +msgid "" +"If enabled, plugins will be activated on startup (this is saved when exiting " +"Gajim). This option SHOULD NOT be used to (de)activate plugins. Use the " +"plugin window instead." +msgstr "" +"Si está habilitado, los complementos se activarán al inicio (esto se guarda " +"al salir de Gajim). Esta opción NO DEBE usarse para (des)activar " +"complementos. Utilice la ventana del complemento en su lugar." + +#: gajim/common/config.py:358 +msgid "I'm eating." +msgstr "Estoy comiendo." + +#: gajim/common/config.py:359 +msgid "I'm watching a movie." +msgstr "Estoy viendo una película." + +#: gajim/common/config.py:360 +msgid "I'm working." +msgstr "Estoy trabajando." + +#: gajim/common/config.py:361 +msgid "Phone" +msgstr "Teléfono" + +#: gajim/common/config.py:361 +msgid "I'm on the phone." +msgstr "Estoy al teléfono." + +#: gajim/common/config.py:362 +msgid "I'm out enjoying life." +msgstr "Estoy fuera disfrutando la vida." + +#: gajim/common/config.py:373 +msgid "" +"Sound to play when a group chat message contains one of the words in " +"'muc_highlight_words' or your nickname is mentioned." +msgstr "" +"Sonido a reproducir cuando un mensaje de grupo de charla contiene una de las " +"palabras de 'muc_highlight_words', o cuando se menciona tu alias." + +#: gajim/common/config.py:374 +msgid "Sound to play when any group chat message arrives." +msgstr "Sonido a reproducir cuando llega cualquier mensaje a grupos de chat." + +#: gajim/common/config.py:378 +msgid "Tor" +msgstr "Tor" + +#: gajim/common/exceptions.py:45 +#, python-format +msgid "" +"The database file (%s) cannot be read. Try to repair it (see https://dev." +"gajim.org/gajim/gajim/wikis/help/DatabaseBackup) or remove it (all history " +"will be lost)." +msgstr "" +"No se puede leer el archivo de base de datos (%s). Intenta repararlo (mira " +"https://dev.gajim.org/gajim/gajim/wikis/help/DatabaseBackup) o elimínalo (se " +"perderá todo el histórico)." + +#: gajim/common/exceptions.py:59 +msgid "Service not available: Gajim is not running, or remote_control is False" +msgstr "" +"Servicio no disponible: Gajim no está ejecutándose, o remote_control está en " +"False" + +#: gajim/common/exceptions.py:81 +#, python-format +msgid "" +"Session bus is not available.\n" +"Try reading %(url)s" +msgstr "" +"El bus de sesión no está disponible.\n" +"Intenta leer %(url)s" + +#: gajim/common/exceptions.py:93 +#, python-format +msgid "" +"System bus is not available.\n" +"Try reading %(url)s" +msgstr "" +"El bus del sistema no está disponible.\n" +"Intenta leer %(url)s" + +#: gajim/common/optparser.py:54 +#, python-format +msgid "Error: cannot open %s for reading" +msgstr "Error: no se puede abrir %s para lectura" + +#: gajim/common/configpaths.py:84 +#, python-format +msgid "%s is a file but it should be a directory" +msgstr "%s es un archivo pero podría ser un directorio" + +#: gajim/common/configpaths.py:85 +msgid "Gajim will now exit" +msgstr "Gajim se cerrará ahora" + +#: gajim/common/connection_handlers_events.py:242 +#: gajim/common/connection_handlers_events.py:342 +#, python-format +msgid "New message from %(nickname)s" +msgid_plural "%(n_msgs)i unread messages from %(nickname)s" +msgstr[0] "Nuevo mensaje de %(nickname)s" +msgstr[1] "%(n_msgs)i mensajes sin leer de %(nickname)s" + +#: gajim/common/connection_handlers_events.py:412 +#, python-format +msgid "%(nick)s Changed Status" +msgstr "%(nick)s cambió su estado" + +#: gajim/common/const.py:287 +msgid "?Group chat name:Team" +msgstr "?Group chat name:Equipo" + +#: gajim/common/const.py:288 +msgid "?Group chat description:Project discussion" +msgstr "?Group chat description:Discusión de proyecto" + +#: gajim/common/const.py:289 +msgid "?Group chat address:team" +msgstr "?Group chat address:equipo" + +#: gajim/common/const.py:290 +msgid "?Group chat name:Family" +msgstr "?Group chat name:Familia" + +#: gajim/common/const.py:291 +msgid "?Group chat description:Spring gathering" +msgstr "?Group chat description:Reunión primaveral" + +#: gajim/common/const.py:292 +msgid "?Group chat address:family" +msgstr "?Group chat address:familia" + +#: gajim/common/const.py:293 +msgid "?Group chat name:Vacation" +msgstr "?Group chat name:Vacaciones" + +#: gajim/common/const.py:294 +msgid "?Group chat description:Trip planning" +msgstr "?Group chat description:Planificación de viaje" + +#: gajim/common/const.py:295 +msgid "?Group chat address:vacation" +msgstr "?Group chat address:vacaciones" + +#: gajim/common/const.py:296 +msgid "?Group chat name:Repairs" +msgstr "?Group chat name:Reparaciones" + +#: gajim/common/const.py:297 +msgid "?Group chat description:Local help group" +msgstr "?Group chat description:Grupo local de ayuda" + +#: gajim/common/const.py:298 +msgid "?Group chat address:repairs" +msgstr "?Group chat address:reparaciones" + +#: gajim/common/const.py:299 +msgid "?Group chat name:News" +msgstr "?Group chat name:Noticias" + +#: gajim/common/const.py:300 +msgid "?Group chat description:Local news and reports" +msgstr "?Group chat description:Noticias locales e informes" + +#: gajim/common/const.py:301 +msgid "?Group chat address:news" +msgstr "?Group chat address:noticias" + +#: gajim/common/const.py:306 +msgid "Remote server not found" +msgstr "Servidor remoto no encontrado" + +#: gajim/common/const.py:307 +msgid "Remote server timeout" +msgstr "Tiempo agotado en servidor remoto" + +#: gajim/common/const.py:308 gajim/common/const.py:309 +#: gajim/common/const.py:310 +msgid "Address does not belong to a group chat server" +msgstr "La dirección no pertenece a un servidor de grupo de conversación" + +#: gajim/common/const.py:311 +msgid "Group chat already exists" +msgstr "El grupo ya existe" + +#: gajim/common/const.py:312 +msgid "Group chat does not exist" +msgstr "El grupo de charla no existe" + +#: gajim/common/const.py:313 +msgid "Group chat is closed" +msgstr "El grupo está cerrado" + +#: gajim/common/const.py:319 +msgid "This message was encrypted with OTR and could not be decrypted." +msgstr "Este mensaje fue cifrado con OTR y no se pudo descifrar." + +#: gajim/common/const.py:322 +msgid "" +"This message was encrypted with Legacy OpenPGP and could not be decrypted. " +"You can install the PGP plugin to handle those messages." +msgstr "" +"Este mensaje fue cifrado con Legacy OpenPGP y no se pudo descifrar. Puedes " +"instalar la extensión PGP para gestionar esos mensajes." + +#: gajim/common/const.py:326 +msgid "" +"This message was encrypted with OpenPGP for XMPP and could not be decrypted. " +"You can install the OpenPGP plugin to handle those messages." +msgstr "" +"Este mensaje fue cifrado con OpenPGP para XMPP y no se pudo descifrar. " +"Puedes instalar la extensión OpenPGP para gestionar esos mensajes." + +#: gajim/common/const.py:330 +#, python-format +msgid "This message was encrypted with %s and could not be decrypted." +msgstr "Este mensaje fue cifrado con %s y no se pudo descifrar." + +#: gajim/common/const.py:337 +msgid "Doing Chores" +msgstr "Haciendo tareas" + +#: gajim/common/const.py:338 +msgid "Buying Groceries" +msgstr "Haciendo la compra" + +#: gajim/common/const.py:339 +msgid "Cleaning" +msgstr "Limpiando" + +#: gajim/common/const.py:340 +msgid "Cooking" +msgstr "Cocinando" + +#: gajim/common/const.py:341 +msgid "Doing Maintenance" +msgstr "Tareas de mantenimiento" + +#: gajim/common/const.py:342 +msgid "Doing the Dishes" +msgstr "Fregando los platos" + +#: gajim/common/const.py:343 +msgid "Doing the Laundry" +msgstr "Haciendo la colada" + +#: gajim/common/const.py:344 +msgid "Gardening" +msgstr "Arreglando el jardín" + +#: gajim/common/const.py:345 +msgid "Running an Errand" +msgstr "Haciendo un recado" + +#: gajim/common/const.py:346 +msgid "Walking the Dog" +msgstr "Paseando al perro" + +#: gajim/common/const.py:348 +msgid "Drinking" +msgstr "Bebiendo" + +#: gajim/common/const.py:349 +msgid "Having a Beer" +msgstr "Tomando una cerveza" + +#: gajim/common/const.py:350 +msgid "Having Coffee" +msgstr "Tomando café" + +#: gajim/common/const.py:351 +msgid "Having Tea" +msgstr "Tomando té" + +#: gajim/common/const.py:354 +msgid "Having a Snack" +msgstr "Tomando un tentempié" + +#: gajim/common/const.py:355 +msgid "Having Breakfast" +msgstr "Desayunando" + +#: gajim/common/const.py:356 +msgid "Having Dinner" +msgstr "Cenando" + +#: gajim/common/const.py:357 +msgid "Having Lunch" +msgstr "Almorzando" + +#: gajim/common/const.py:359 +msgid "Exercising" +msgstr "Haciendo ejercicio" + +#: gajim/common/const.py:360 gajim/common/const.py:411 +msgid "Cycling" +msgstr "Montando en bici" + +#: gajim/common/const.py:361 +msgid "Dancing" +msgstr "Bailando" + +#: gajim/common/const.py:362 +msgid "Hiking" +msgstr "Paseando" + +#: gajim/common/const.py:363 +msgid "Jogging" +msgstr "Corriendo" + +#: gajim/common/const.py:364 +msgid "Playing Sports" +msgstr "Haciendo deporte" + +#: gajim/common/const.py:365 +msgid "Running" +msgstr "Corriendo" + +#: gajim/common/const.py:366 +msgid "Skiing" +msgstr "Esquiando" + +#: gajim/common/const.py:367 +msgid "Swimming" +msgstr "Nadando" + +#: gajim/common/const.py:368 +msgid "Working out" +msgstr "Trabajando" + +#: gajim/common/const.py:370 +msgid "Grooming" +msgstr "Lavando" + +#: gajim/common/const.py:371 +msgid "At the Spa" +msgstr "En el spa" + +#: gajim/common/const.py:372 +msgid "Brushing Teeth" +msgstr "Lavando los dientes" + +#: gajim/common/const.py:373 +msgid "Getting a Haircut" +msgstr "Cortando el pelo" + +#: gajim/common/const.py:374 +msgid "Shaving" +msgstr "Afeitándome" + +#: gajim/common/const.py:375 +msgid "Taking a Bath" +msgstr "Tomando un baño" + +#: gajim/common/const.py:376 +msgid "Taking a Shower" +msgstr "Duchándome" + +#: gajim/common/const.py:378 +msgid "Having an Appointment" +msgstr "En una cita" + +#: gajim/common/const.py:380 +msgid "Inactive" +msgstr "Inactivo" + +#: gajim/common/const.py:381 +msgid "Day Off" +msgstr "Fin del día" + +#: gajim/common/const.py:382 +msgid "Hanging out" +msgstr "Saliendo por ahi" + +#: gajim/common/const.py:383 +msgid "Hiding" +msgstr "Escondiéndome" + +#: gajim/common/const.py:384 +msgid "On Vacation" +msgstr "De vacaciones" + +#: gajim/common/const.py:385 +msgid "Praying" +msgstr "Rezando" + +#: gajim/common/const.py:386 +msgid "Scheduled Holiday" +msgstr "Vacaciones planificadas" + +#: gajim/common/const.py:388 +msgid "Thinking" +msgstr "Pensando" + +#: gajim/common/const.py:390 +msgid "Relaxing" +msgstr "Relajándome" + +#: gajim/common/const.py:391 +msgid "Fishing" +msgstr "Pescando" + +#: gajim/common/const.py:392 +msgid "Gaming" +msgstr "Jugando" + +#: gajim/common/const.py:393 +msgid "Going out" +msgstr "Saliendo" + +#: gajim/common/const.py:394 +msgid "Partying" +msgstr "De fiesta" + +#: gajim/common/const.py:395 +msgid "Reading" +msgstr "Leyendo" + +#: gajim/common/const.py:396 +msgid "Rehearsing" +msgstr "Ensayando" + +#: gajim/common/const.py:397 +msgid "Shopping" +msgstr "Comprando" + +#: gajim/common/const.py:398 +msgid "Smoking" +msgstr "Fumando" + +#: gajim/common/const.py:399 +msgid "Socializing" +msgstr "Socializándome" + +#: gajim/common/const.py:400 +msgid "Sunbathing" +msgstr "En el solarium" + +#: gajim/common/const.py:401 +msgid "Watching TV" +msgstr "Viendo la TV" + +#: gajim/common/const.py:402 +msgid "Watching a Movie" +msgstr "Viendo una película" + +#: gajim/common/const.py:404 +msgid "Talking" +msgstr "Hablando" + +#: gajim/common/const.py:405 +msgid "In Real Life" +msgstr "En la vida real" + +#: gajim/common/const.py:406 +msgid "On the Phone" +msgstr "Al teléfono" + +#: gajim/common/const.py:407 +msgid "On Video Phone" +msgstr "Al videoteléfono" + +#: gajim/common/const.py:409 +msgid "Traveling" +msgstr "Viajando" + +#: gajim/common/const.py:410 +msgid "Commuting" +msgstr "Conmutar" + +#: gajim/common/const.py:412 +msgid "Driving" +msgstr "Conduciendo" + +#: gajim/common/const.py:413 +msgid "In a Car" +msgstr "En el coche" + +#: gajim/common/const.py:414 +msgid "On a Bus" +msgstr "En el bus" + +#: gajim/common/const.py:415 +msgid "On a Plane" +msgstr "En el avión" + +#: gajim/common/const.py:416 +msgid "On a Train" +msgstr "En el tren" + +#: gajim/common/const.py:417 +msgid "On a Trip" +msgstr "En un viaje" + +#: gajim/common/const.py:418 +msgid "Walking" +msgstr "Caminando" + +#: gajim/common/const.py:421 +msgid "Coding" +msgstr "Programando" + +#: gajim/common/const.py:422 +msgid "In a Meeting" +msgstr "En un encuentro" + +#: gajim/common/const.py:423 +msgid "Studying" +msgstr "Estudiando" + +#: gajim/common/const.py:424 +msgid "Writing" +msgstr "Escribiendo" + +#: gajim/common/const.py:427 +msgid "Afraid" +msgstr "Miedoso" + +#: gajim/common/const.py:428 +msgid "Amazed" +msgstr "Impresionado" + +#: gajim/common/const.py:429 +msgid "Amorous" +msgstr "Amoroso" + +#: gajim/common/const.py:430 +msgid "Angry" +msgstr "Enfadado" + +#: gajim/common/const.py:431 +msgid "Annoyed" +msgstr "Molesto" + +#: gajim/common/const.py:432 +msgid "Anxious" +msgstr "Ansioso" + +#: gajim/common/const.py:433 +msgid "Aroused" +msgstr "Despierto" + +#: gajim/common/const.py:434 +msgid "Ashamed" +msgstr "Avergonzado" + +#: gajim/common/const.py:435 +msgid "Bored" +msgstr "Aburrido" + +#: gajim/common/const.py:436 +msgid "Brave" +msgstr "Animado" + +#: gajim/common/const.py:437 +msgid "Calm" +msgstr "Calmado" + +#: gajim/common/const.py:438 +msgid "Cautious" +msgstr "Cauto" + +#: gajim/common/const.py:439 +msgid "Cold" +msgstr "Frío" + +#: gajim/common/const.py:440 +msgid "Confident" +msgstr "Confiado" + +#: gajim/common/const.py:441 +msgid "Confused" +msgstr "Confuso" + +#: gajim/common/const.py:442 +msgid "Contemplative" +msgstr "Contemplativo" + +#: gajim/common/const.py:443 +msgid "Contented" +msgstr "Contento" + +#: gajim/common/const.py:444 +msgid "Cranky" +msgstr "Irritable" + +#: gajim/common/const.py:445 +msgid "Crazy" +msgstr "Alocado" + +#: gajim/common/const.py:446 +msgid "Creative" +msgstr "Creativo" + +#: gajim/common/const.py:447 +msgid "Curious" +msgstr "Curioso" + +#: gajim/common/const.py:448 +msgid "Dejected" +msgstr "Desanimado" + +#: gajim/common/const.py:449 +msgid "Depressed" +msgstr "Deprimido" + +#: gajim/common/const.py:450 +msgid "Disappointed" +msgstr "Decepcionado" + +#: gajim/common/const.py:451 +msgid "Disgusted" +msgstr "Disgustado" + +#: gajim/common/const.py:452 +msgid "Dismayed" +msgstr "Consternado" + +#: gajim/common/const.py:453 +msgid "Distracted" +msgstr "Distraído" + +#: gajim/common/const.py:454 +msgid "Embarrassed" +msgstr "Vergonzoso" + +#: gajim/common/const.py:455 +msgid "Envious" +msgstr "Envidioso" + +#: gajim/common/const.py:456 +msgid "Excited" +msgstr "Excitado" + +#: gajim/common/const.py:457 +msgid "Flirtatious" +msgstr "Flirteador" + +#: gajim/common/const.py:458 +msgid "Frustrated" +msgstr "Frustrado" + +#: gajim/common/const.py:459 +msgid "Grateful" +msgstr "Agradecido" + +#: gajim/common/const.py:460 +msgid "Grieving" +msgstr "Dolido" + +#: gajim/common/const.py:461 +msgid "Grumpy" +msgstr "Malhumorado" + +#: gajim/common/const.py:462 +msgid "Guilty" +msgstr "Culpable" + +#: gajim/common/const.py:463 +msgid "Happy" +msgstr "Feliz" + +#: gajim/common/const.py:464 +msgid "Hopeful" +msgstr "Deseoso" + +#: gajim/common/const.py:465 +msgid "Hot" +msgstr "Caliente" + +#: gajim/common/const.py:466 +msgid "Humbled" +msgstr "Humilde" + +#: gajim/common/const.py:467 +msgid "Humiliated" +msgstr "Humillado" + +#: gajim/common/const.py:468 +msgid "Hungry" +msgstr "Hambriento" + +#: gajim/common/const.py:469 +msgid "Hurt" +msgstr "Dolido" + +#: gajim/common/const.py:470 +msgid "Impressed" +msgstr "Impresionado" + +#: gajim/common/const.py:471 +msgid "In Awe" +msgstr "Atemorizado" + +#: gajim/common/const.py:472 +msgid "In Love" +msgstr "Enamorado" + +#: gajim/common/const.py:473 +msgid "Indignant" +msgstr "Indignado" + +#: gajim/common/const.py:474 +msgid "Interested" +msgstr "Curioso" + +#: gajim/common/const.py:475 +msgid "Intoxicated" +msgstr "Intoxicado" + +#: gajim/common/const.py:476 +msgid "Invincible" +msgstr "Invencible" + +#: gajim/common/const.py:477 +msgid "Jealous" +msgstr "Celoso" + +#: gajim/common/const.py:478 +msgid "Lonely" +msgstr "Solitario" + +#: gajim/common/const.py:479 +msgid "Lost" +msgstr "Perdido" + +#: gajim/common/const.py:480 +msgid "Lucky" +msgstr "Afortunado" + +#: gajim/common/const.py:481 +msgid "Mean" +msgstr "Significante" + +#: gajim/common/const.py:482 +msgid "Moody" +msgstr "Malhumorado" + +#: gajim/common/const.py:483 +msgid "Nervous" +msgstr "Nervioso" + +#: gajim/common/const.py:484 +msgid "Neutral" +msgstr "Neutral" + +#: gajim/common/const.py:485 +msgid "Offended" +msgstr "Ofendido" + +#: gajim/common/const.py:486 +msgid "Outraged" +msgstr "Escandalizado" + +#: gajim/common/const.py:487 +msgid "Playful" +msgstr "Juguetón" + +#: gajim/common/const.py:488 +msgid "Proud" +msgstr "Orgulloso" + +#: gajim/common/const.py:489 +msgid "Relaxed" +msgstr "Relajado" + +#: gajim/common/const.py:490 +msgid "Relieved" +msgstr "Aliviado" + +#: gajim/common/const.py:491 +msgid "Remorseful" +msgstr "Arrepentido" + +#: gajim/common/const.py:492 +msgid "Restless" +msgstr "Inquieto" + +#: gajim/common/const.py:493 +msgid "Sad" +msgstr "Triste" + +#: gajim/common/const.py:494 +msgid "Sarcastic" +msgstr "Sarcástico" + +#: gajim/common/const.py:495 +msgid "Satisfied" +msgstr "Satisfecho" + +#: gajim/common/const.py:496 +msgid "Serious" +msgstr "Serio" + +#: gajim/common/const.py:497 +msgid "Shocked" +msgstr "Horrorizado" + +#: gajim/common/const.py:498 +msgid "Shy" +msgstr "Tímido" + +#: gajim/common/const.py:499 +msgid "Sick" +msgstr "Enfermo" + +#: gajim/common/const.py:500 +msgid "Sleepy" +msgstr "Adormilado" + +#: gajim/common/const.py:501 +msgid "Spontaneous" +msgstr "Espontáneo" + +#: gajim/common/const.py:502 +msgid "Stressed" +msgstr "Estresado" + +#: gajim/common/const.py:503 +msgid "Strong" +msgstr "Fuerte" + +#: gajim/common/const.py:504 +msgid "Surprised" +msgstr "Sorprendido" + +#: gajim/common/const.py:505 +msgid "Thankful" +msgstr "Agradecido" + +#: gajim/common/const.py:506 +msgid "Thirsty" +msgstr "Sediento" + +#: gajim/common/const.py:507 +msgid "Tired" +msgstr "Cansado" + +#: gajim/common/const.py:508 +msgid "Undefined" +msgstr "Indefinido" + +#: gajim/common/const.py:509 +msgid "Weak" +msgstr "Débil" + +#: gajim/common/const.py:510 +msgid "Worried" +msgstr "Preocupado" + +#: gajim/common/const.py:514 +msgid "accuracy" +msgstr "precisión" + +#: gajim/common/const.py:515 +msgid "alt" +msgstr "altitud" + +#: gajim/common/const.py:516 +msgid "area" +msgstr "área" + +#: gajim/common/const.py:517 +msgid "bearing" +msgstr "relevancia" + +#: gajim/common/const.py:518 +msgid "building" +msgstr "edificio" + +#: gajim/common/const.py:519 +msgid "country" +msgstr "país" + +#: gajim/common/const.py:520 +msgid "countrycode" +msgstr "código de país" + +#: gajim/common/const.py:521 +msgid "datum" +msgstr "referencia" + +#: gajim/common/const.py:522 +msgid "description" +msgstr "descripción" + +#: gajim/common/const.py:523 +msgid "error" +msgstr "error" + +#: gajim/common/const.py:524 +msgid "floor" +msgstr "planta" + +#: gajim/common/const.py:525 +msgid "lat" +msgstr "latitud" + +#: gajim/common/const.py:526 +msgid "locality" +msgstr "localidad" + +#: gajim/common/const.py:527 +msgid "lon" +msgstr "longitud" + +#: gajim/common/const.py:528 +msgid "postalcode" +msgstr "código postal" + +#: gajim/common/const.py:529 +msgid "region" +msgstr "región" + +#: gajim/common/const.py:530 +msgid "room" +msgstr "salón" + +#: gajim/common/const.py:531 +msgid "speed" +msgstr "velocidad" + +#: gajim/common/const.py:532 +msgid "street" +msgstr "calle" + +#: gajim/common/const.py:533 +msgid "text" +msgstr "texto" + +#: gajim/common/const.py:534 +msgid "timestamp" +msgstr "marca temporal" + +#: gajim/common/const.py:535 +msgid "URI" +msgstr "URI" + +#: gajim/common/const.py:540 +msgid "Unable to get issuer certificate" +msgstr "No se puede obtener el certificado del emisor" + +#: gajim/common/const.py:541 +msgid "Unable to get certificate CRL" +msgstr "No se puede obtener el certificado CRL" + +#: gajim/common/const.py:542 +msgid "Unable to decrypt certificate's signature" +msgstr "No se puede descifrar la firma del certificado" + +#: gajim/common/const.py:543 +msgid "Unable to decrypt CRL's signature" +msgstr "No se puede descifrar la firma del CRL" + +#: gajim/common/const.py:544 +msgid "Unable to decode issuer public key" +msgstr "No se puede decodificar la clave pública del emisor" + +#: gajim/common/const.py:545 +msgid "Certificate signature failure" +msgstr "Fallo en la firma del certificado" + +#: gajim/common/const.py:546 +msgid "CRL signature failure" +msgstr "Fallo en la firma CRL" + +#: gajim/common/const.py:547 +msgid "Certificate is not yet valid" +msgstr "El certificado todavía no es válido" + +#: gajim/common/const.py:548 +msgid "Certificate has expired" +msgstr "El certificado ha expirado" + +#: gajim/common/const.py:549 +msgid "CRL is not yet valid" +msgstr "El CRL todavía no es válido" + +#: gajim/common/const.py:550 +msgid "CRL has expired" +msgstr "El CRL ha expirado" + +#: gajim/common/const.py:551 +msgid "Format error in certificate's notBefore field" +msgstr "Error de formato en el campo notBefore del certificado" + +#: gajim/common/const.py:552 +msgid "Format error in certificate's notAfter field" +msgstr "Error de formato en el campo notAfter del certificado" + +#: gajim/common/const.py:553 +msgid "Format error in CRL's lastUpdate field" +msgstr "Error de formato en el campo lastUpdate del CRL" + +#: gajim/common/const.py:554 +msgid "Format error in CRL's nextUpdate field" +msgstr "Error de formato en el campo nextUpdate del CRL" + +#: gajim/common/const.py:555 +msgid "Out of memory" +msgstr "Memoria llena" + +#: gajim/common/const.py:556 +msgid "Self signed certificate" +msgstr "Certificado autofirmado" + +#: gajim/common/const.py:557 +msgid "Self signed certificate in certificate chain" +msgstr "Certificado autofirmado en la cadena del certificado" + +#: gajim/common/const.py:558 +msgid "Unable to get local issuer certificate" +msgstr "No se puede obtener el certificado del emisor local" + +#: gajim/common/const.py:559 +msgid "Unable to verify the first certificate" +msgstr "No se puede verificar el primer certificado" + +#: gajim/common/const.py:560 +msgid "Certificate chain too long" +msgstr "La cadena del certificado es demasiado larga" + +#: gajim/common/const.py:561 +msgid "Certificate revoked" +msgstr "Certificado revocado" + +#: gajim/common/const.py:562 +msgid "Invalid CA certificate" +msgstr "Certificado CA no válido" + +#: gajim/common/const.py:563 +msgid "Path length constraint exceeded" +msgstr "La longitud de la ruta excedió el límite" + +#: gajim/common/const.py:564 +msgid "Unsupported certificate purpose" +msgstr "Propósito de certificado no soportado" + +#: gajim/common/const.py:565 +msgid "Certificate not trusted" +msgstr "El certificado no es de confianza" + +#: gajim/common/const.py:566 +msgid "Certificate rejected" +msgstr "Certificado rechazado" + +#: gajim/common/const.py:567 +msgid "Subject issuer mismatch" +msgstr "El emisor del asunto no coincide" + +#: gajim/common/const.py:568 +msgid "Authority and subject key identifier mismatch" +msgstr "La autoridad y el asunto de la clave identificadora no coinciden" + +#: gajim/common/const.py:569 +msgid "Authority and issuer serial number mismatch" +msgstr "La autoridad y el número de serie del emisor no coinciden" + +#: gajim/common/const.py:570 +msgid "Key usage does not include certificate signing" +msgstr "El uso de la clave no incluye la firma de certificados" + +#: gajim/common/const.py:571 +msgid "Application verification failure" +msgstr "Falló la verificación de la aplicación" + +#: gajim/common/const.py:893 +msgid "The signing certificate authority is not known" +msgstr "La autoridad firmante del certificado es desconocida" + +#: gajim/common/const.py:894 +msgid "The certificate has been revoked" +msgstr "El certificado ha sido revocado" + +#: gajim/common/const.py:895 +msgid "The certificate does not match the expected identity of the site" +msgstr "El certificado no coincide con la identidad esperada del sitio" + +#: gajim/common/const.py:896 +msgid "The certificate’s algorithm is insecure" +msgstr "El algoritmo del certificado es inseguro" + +#: gajim/common/const.py:897 +msgid "The certificate’s activation time is in the future" +msgstr "La fecha de activación del certificado está en el futuro" + +#: gajim/common/const.py:898 +msgid "Unknown validation error" +msgstr "Error de validación desconocido" + +#: gajim/common/const.py:899 +msgid "The certificate has expired" +msgstr "El certificado ha expirado" + +#: gajim/common/const.py:954 +msgid "Authentication aborted" +msgstr "Autenticación abortada" + +#: gajim/common/const.py:955 +msgid "Account disabled" +msgstr "Cuenta deshabilitada" + +#: gajim/common/const.py:956 +msgid "Credentials expired" +msgstr "Las credenciales han expirado" + +#: gajim/common/const.py:957 +msgid "Encryption required" +msgstr "Cifrado requerido" + +#: gajim/common/const.py:961 +msgid "Authentication mechanism not supported" +msgstr "Mecanismo de autenticación no soportado" + +#: gajim/common/const.py:962 +msgid "Authentication mechanism too weak" +msgstr "Mecanismo de autenticación demasiado débil" + +#: gajim/common/const.py:964 +msgid "Authentication currently not possible" +msgstr "Autenticación actualmente no posible" + +#: gajim/common/const.py:1109 +msgid "No Sync" +msgstr "No sincronizado" + +#: gajim/common/const.py:1111 +msgid "2 Days" +msgstr "2 Días" + +#: gajim/common/const.py:1114 +msgid "No Threshold" +msgstr "Sin umbral" + +#: gajim/common/logging_helpers.py:31 +#, python-format +msgid "%s is not a valid loglevel" +msgstr "%s no es un nivel de registro válido" + +#: gajim/common/zeroconf/zeroconf_avahi.py:256 +#: gajim/common/zeroconf/zeroconf_bonjour.py:248 +#: gajim/common/zeroconf/zeroconf_bonjour.py:265 +#: gajim/common/zeroconf/zeroconf_bonjour.py:323 +#, python-format +msgid "Error while adding service. %s" +msgstr "Error añadiendo el servicio. %s" + +#: gajim/common/zeroconf/connection_zeroconf.py:252 +#, python-format +msgid "Could not connect to \"%s\"" +msgstr "No se puede conectar a \"%s\"" + +#: gajim/common/zeroconf/connection_zeroconf.py:253 +msgid "Please check if Avahi or Bonjour is installed." +msgstr "Por favor, comprueba si Avahi o Bonjour están instalados." + +#: gajim/common/zeroconf/connection_zeroconf.py:263 +#: gajim/common/zeroconf/connection_zeroconf.py:267 +msgid "Could not start local service" +msgstr "No se pudo iniciar servicio local" + +#: gajim/common/zeroconf/connection_zeroconf.py:264 +#, python-format +msgid "Unable to bind to port %d." +msgstr "No se pudo enlazar al puerto %d." + +#: gajim/common/zeroconf/connection_zeroconf.py:268 +msgid "Please check if avahi/bonjour-daemon is running." +msgstr "Por favor, comprueba si avahi/bonjour-daemon está en ejecución." + +#: gajim/common/zeroconf/connection_zeroconf.py:362 +#: gajim/common/zeroconf/connection_zeroconf.py:375 +#, python-format +msgid "Could not change status of account \"%s\"" +msgstr "No se pudo cambiar el estado de la cuenta \"%s\"" + +#: gajim/common/zeroconf/connection_zeroconf.py:363 +#: gajim/common/zeroconf/connection_zeroconf.py:376 +msgid "Please check if avahi-daemon is running." +msgstr "Por favor, comprueba si avahi-daemon se encuentra en ejecución." + +#: gajim/common/zeroconf/connection_zeroconf.py:404 +msgid "Your message could not be sent." +msgstr "Tu mensaje no pudo ser enviado." + +#: gajim/common/zeroconf/connection_zeroconf.py:419 +msgid "Contact is offline. Your message could not be sent." +msgstr "El contacto está desconectado. Tu mensaje no pudo ser enviado." + +#: gajim/common/zeroconf/connection_zeroconf.py:441 +msgid "" +"Connection to host could not be established: Timeout while sending data." +msgstr "" +"No se pudo establecer la conexión al host: Expiró enviando información." + +#: gajim/common/dbus/logind.py:73 +msgid "Machine is going to sleep" +msgstr "La máquina se va a dormir" + +#: gajim/common/dbus/logind.py:103 +msgid "Disconnect from the network" +msgstr "Desconectar de la red" + +#: gajim/common/modules/adhoc_commands.py:88 +msgid "Change status information" +msgstr "Cambiar información de estado" + +#: gajim/common/modules/adhoc_commands.py:112 +msgid "Change status" +msgstr "Cambiar estado" + +#: gajim/common/modules/adhoc_commands.py:113 +msgid "Set the presence type and description" +msgstr "Definir la presencia y una descripción" + +#: gajim/common/modules/adhoc_commands.py:120 +msgid "Free for chat" +msgstr "Libre para hablar" + +#: gajim/common/modules/adhoc_commands.py:121 +msgid "Online" +msgstr "En línea" + +#: gajim/common/modules/adhoc_commands.py:123 +msgid "Extended away" +msgstr "Ausencia extendida" + +#: gajim/common/modules/adhoc_commands.py:124 +msgid "Do not disturb" +msgstr "No molestar" + +#: gajim/common/modules/adhoc_commands.py:125 +msgid "Offline - disconnect" +msgstr "Desconectado" + +#: gajim/common/modules/adhoc_commands.py:131 +msgid "Presence description:" +msgstr "Descripción de la presencia:" + +#: gajim/common/modules/adhoc_commands.py:170 +msgid "The status has been changed." +msgstr "Se ha cambiado el estado." + +#: gajim/common/modules/presence.py:265 +msgid "I would like to add you to my roster." +msgstr "Me gustaría añadirte a mi lista de contactos." + +#: gajim/common/modules/roster_item_exchange.py:103 +#, python-format +msgid "Sent contact: \"%(jid)s\" (%(name)s)" +msgstr "Contacto enviado: \"%(jid)s\" (%(name)s)" + +#: gajim/common/modules/roster_item_exchange.py:107 +msgid "Sent contacts:" +msgstr "Contactos enviados:" + +#: gajim/common/modules/httpupload.py:99 +msgid "File is empty" +msgstr "El archivo está vacío" + +#: gajim/common/modules/httpupload.py:102 +msgid "File does not exist" +msgstr "El archivo no existe" + +#: gajim/common/modules/httpupload.py:109 +#: gajim/common/modules/httpupload.py:172 +#, python-format +msgid "File is too large, maximum allowed file size is: %s" +msgstr "El fichero es demasiado grande, el tamaño máximo permitido es: %s" + +#: gajim/common/modules/httpupload.py:279 +msgid "Encrypting file…" +msgstr "Cifrando fichero…" + +#: gajim/common/modules/httpupload.py:280 +msgid "Requesting HTTP File Upload Slot…" +msgstr "Solicitud de ranura de subida de archivos HTTP…" + +#: gajim/common/modules/httpupload.py:281 +msgid "Uploading via HTTP File Upload…" +msgstr "Subida a través de carga de archivos HTTP…" + +#: gajim/common/modules/httpupload.py:285 +msgid "The server returned an insecure transport (HTTP)." +msgstr "El servicio devolvió un transporte inseguro (HTTP)." + +#: gajim/common/modules/httpupload.py:286 +msgid "There is no encryption method available for the chosen encryption." +msgstr "No hay método de cifrado disponible para el cifrado elegido." + +#: gajim/plugins/pluginmanager.py:679 gajim/plugins/pluginmanager.py:685 +msgid "Archive corrupted" +msgstr "Archivo corrupto" + +#: gajim/plugins/pluginmanager.py:681 +msgid "Archive empty" +msgstr "Archivo vacío" + +#: gajim/plugins/pluginmanager.py:693 gajim/plugins/pluginmanager.py:701 +#: gajim/plugins/gui.py:273 +msgid "Archive is malformed" +msgstr "El archivo está malformado" + +#: gajim/plugins/pluginmanager.py:710 gajim/plugins/gui.py:288 +#: gajim/plugins/gui.py:301 +msgid "Plugin already exists" +msgstr "La extensión ya existe" + +#: gajim/plugins/pluginmanager.py:720 +msgid "Installation failed" +msgstr "Falló la instalación" + +#: gajim/plugins/gui.py:67 gajim/data/gui/shortcuts_window.ui:38 +msgid "Plugins" +msgstr "Extensiones" + +#: gajim/plugins/gui.py:75 +msgid "Click to view Gajim's wiki page on how to install plugins in Flatpak." +msgstr "" +"Haz clic para ver la página wiki de Gajim sobre cómo instalar complementos " +"en Flatpak." + +#: gajim/plugins/gui.py:84 +msgid "Plugin" +msgstr "Extensión" + +#: gajim/plugins/gui.py:95 gajim/data/gui/manage_sounds.ui:40 +msgid "Active" +msgstr "Activo" + +#: gajim/plugins/gui.py:159 +#, python-format +msgid "Warning: %s" +msgstr "Advertencia: %s" + +#: gajim/plugins/gui.py:216 +msgid "Plugin failed" +msgstr "La extensión falló" + +#: gajim/plugins/gui.py:249 +msgid "Unable to properly remove the plugin" +msgstr "No se puede eliminar correctamente el complemento" + +#: gajim/plugins/gui.py:287 +msgid "Overwrite Plugin?" +msgstr "¿Sobrescribir extensión?" + +#: gajim/plugins/gui.py:289 +msgid "Do you want to overwrite the currently installed version?" +msgstr "¿Quieres sobrescribir la versión actualmente instalada?" + +#: gajim/plugins/gui.py:317 gajim/data/gui/groupchat_config.ui:258 +msgid "Configuration" +msgstr "Configuración" + +#: gajim/data/gui/groupchat_nick_chooser.ui:47 +msgid "Join Group Chat as…" +msgstr "Unirse al grupo como…" + +#: gajim/data/gui/groupchat_nick_chooser.ui:66 +msgid "Your Nickname" +msgstr "Tu alias" + +#: gajim/data/gui/groupchat_control.ui:36 +msgid "Drop Files or Contacts" +msgstr "Soltar ficheros o contactos" + +#: gajim/data/gui/groupchat_control.ui:58 gajim/data/gui/chat_control.ui:322 +msgid "Bold" +msgstr "Negrita" + +#: gajim/data/gui/groupchat_control.ui:67 gajim/data/gui/chat_control.ui:331 +msgid "Italic" +msgstr "Cursiva" + +#: gajim/data/gui/groupchat_control.ui:76 gajim/data/gui/chat_control.ui:340 +msgid "Underline" +msgstr "Subrayado" + +#: gajim/data/gui/groupchat_control.ui:85 gajim/data/gui/chat_control.ui:349 +msgid "Strike" +msgstr "Tachado" + +#: gajim/data/gui/groupchat_control.ui:107 gajim/data/gui/chat_control.ui:371 +msgid "Font" +msgstr "Fuente" + +#: gajim/data/gui/groupchat_control.ui:121 gajim/data/gui/chat_control.ui:385 +msgid "Clear formatting" +msgstr "Limpiar formato" + +#: gajim/data/gui/groupchat_control.ui:383 gajim/data/gui/chat_control.ui:784 +msgid "Choose encryption" +msgstr "Elegir cifrado" + +#: gajim/data/gui/groupchat_control.ui:429 gajim/data/gui/chat_control.ui:667 +msgid "Show a list of emojis (Alt+M)" +msgstr "Mostrar una lista de emoticonos (Alt+M)" + +#: gajim/data/gui/groupchat_control.ui:454 gajim/data/gui/chat_control.ui:833 +msgid "Send Message" +msgstr "Enviar mensaje" + +#: gajim/data/gui/groupchat_control.ui:583 +msgid "Joining…" +msgstr "Uniéndose…" + +#: gajim/data/gui/groupchat_control.ui:641 +msgid "Enter Nickname" +msgstr "Ingresar alias" + +#: gajim/data/gui/groupchat_control.ui:691 +#: gajim/data/gui/groupchat_control.ui:783 +msgid "Ch_ange" +msgstr "Cambiar" + +#: gajim/data/gui/groupchat_control.ui:748 +#: gajim/data/gui/shortcuts_window.ui:319 +msgid "Change Subject" +msgstr "Cambiar asunto" + +#: gajim/data/gui/groupchat_control.ui:864 +msgid "Enter Password" +msgstr "Ingresar contraseña" + +#: gajim/data/gui/groupchat_control.ui:1081 +msgid "_Forget Group Chat" +msgstr "Olvidar grupo de chat" + +#: gajim/data/gui/groupchat_control.ui:1085 +msgid "Gajim will not try to join this group chat again" +msgstr "Gajim no intentará unirse a este grupo otra vez" + +#: gajim/data/gui/groupchat_control.ui:1102 +msgid "T_ry Again" +msgstr "Intenta_r otra vez" + +#: gajim/data/gui/groupchat_control.ui:1156 +msgid "An Error Occurred" +msgstr "Ha ocurrido un error" + +#: gajim/data/gui/groupchat_control.ui:1221 +msgid "_Try Again" +msgstr "Intentar otra vez" + +#: gajim/data/gui/groupchat_control.ui:1398 +msgid "Kick Participant" +msgstr "Expulsar participante" + +#: gajim/data/gui/groupchat_control.ui:1436 +msgid "_Kick" +msgstr "_Expulsar" + +#: gajim/data/gui/groupchat_control.ui:1469 +#: gajim/data/gui/groupchat_control.ui:1595 +#: gajim/data/gui/groupchat_control.ui:1721 +#: gajim/data/gui/groupchat_control.ui:1738 +#: gajim/data/gui/groupchat_control.ui:1827 +#: gajim/data/gui/groupchat_control.ui:1828 +msgid "Insert Emoji" +msgstr "Insertar emoticono" + +#: gajim/data/gui/groupchat_control.ui:1482 +#: gajim/data/gui/groupchat_control.ui:1608 +msgid "Reason (optional)" +msgstr "Razón (opcional)" + +#: gajim/data/gui/groupchat_control.ui:1524 +msgid "Ban Participant" +msgstr "Prohibir al participante" + +#: gajim/data/gui/groupchat_control.ui:1562 +msgid "_Ban" +msgstr "_Banear" + +#: gajim/data/gui/groupchat_control.ui:1650 +msgid "Destroy This Chat" +msgstr "Destruir este chat" + +#: gajim/data/gui/groupchat_control.ui:1688 +msgid "_Destroy" +msgstr "_Destruir" + +#: gajim/data/gui/groupchat_control.ui:1722 +msgid "Alternate venue (optional)..." +msgstr "Lugar alternativo (opcional)..." + +#: gajim/data/gui/groupchat_control.ui:1739 +msgid "Reason (optional)..." +msgstr "Motivo (opcional)..." + +#: gajim/data/gui/groupchat_control.ui:1752 +msgid "Reason for destruction" +msgstr "Motivo de la destrucción" + +#: gajim/data/gui/groupchat_control.ui:1767 +msgid "Where participants should go" +msgstr "Donde debería ir los participantes" + +#: gajim/data/gui/groupchat_control.ui:1808 +msgid "Rename This Chat" +msgstr "Renombrar este chat" + +#: gajim/data/gui/groupchat_control.ui:1935 +msgid "_Invite" +msgstr "_Invitar" + +#: gajim/data/gui/groupchat_control.ui:2020 +msgid "Settings for This Chat" +msgstr "Configuraciones para este chat" + +#: gajim/data/gui/filetransfers.ui:21 +msgid "Pa_use/Resume" +msgstr "Pa_usar/Reanudar" + +#: gajim/data/gui/filetransfers.ui:45 +msgid "_Open Folder" +msgstr "Abrir carpeta" + +#: gajim/data/gui/filetransfers.ui:56 gajim/data/gui/filetransfers.ui:206 +msgid "File Transfers" +msgstr "Transferencias" + +#: gajim/data/gui/filetransfers.ui:91 +msgid "_Show notification when file transfer is complete" +msgstr "Mostrar notificación cuando una transferencia finalice" + +#: gajim/data/gui/filetransfers.ui:131 +msgid "file transfers list" +msgstr "lista de transferencias" + +#: gajim/data/gui/filetransfers.ui:132 +msgid "A list of active, completed and stopped file transfers" +msgstr "Una lista de transferencias activas, finalizadas y detenidas" + +#: gajim/data/gui/filetransfers.ui:154 +msgid "Remove completed, cancelled and failed file transfers from the list" +msgstr "" +"Elimina de la lista las transferencias finalizadas, canceladas y fallidas" + +#: gajim/data/gui/filetransfers.ui:167 +msgid "Pause or resume file transfer" +msgstr "Pausar o reanudar la transferencia de fichero" + +#: gajim/data/gui/filetransfers.ui:180 +msgid "Cancel the selected file transfer and remove incomplete files" +msgstr "" +"Cancela la transferencia seleccionada de archivo y elimina los archivos " +"incompletos" + +#: gajim/data/gui/filetransfers.ui:207 +msgid "Shows a list of file transfers between you and your contacts" +msgstr "Muestra una lista de transferencias entre tú y tus contactos" + +#: gajim/data/gui/add_new_contact_window.ui:76 +msgid "_XMPP Address" +msgstr "Dirección _XMPP" + +#: gajim/data/gui/add_new_contact_window.ui:92 +msgid "_Nickname" +msgstr "Alias" + +#: gajim/data/gui/add_new_contact_window.ui:109 +msgid "_Group" +msgstr "_Grupo" + +#: gajim/data/gui/add_new_contact_window.ui:157 +msgid "Choose or type new group name" +msgstr "Elige o escribe un nuevo nombre de grupo" + +#: gajim/data/gui/add_new_contact_window.ui:173 +msgid "A_ccount" +msgstr "_Cuenta" + +#: gajim/data/gui/add_new_contact_window.ui:189 +msgid "_Protocol" +msgstr "_Protocolo" + +#: gajim/data/gui/add_new_contact_window.ui:287 +#: gajim/data/gui/single_message_window.ui:161 +msgid "Query Contact Info" +msgstr "Consulta de información de contacto" + +#: gajim/data/gui/add_new_contact_window.ui:312 +msgid "A_llow contact to view my status" +msgstr "Permitir al contacto ver mi estado" + +#: gajim/data/gui/add_new_contact_window.ui:363 +msgid "_Save subscription message" +msgstr "Guardar mensaje de _suscripción" + +#: gajim/data/gui/add_new_contact_window.ui:389 +msgid "" +"You have to register with this transport\n" +"to be able to add a contact from this\n" +"protocol. Click on Register button to\n" +"proceed." +msgstr "" +"Tienes que registrar este transporte\n" +"para poder añadir un contacto de este\n" +"protocolo. Pulsa el botón Registrar\n" +"para proceder." + +#: gajim/data/gui/add_new_contact_window.ui:404 +msgid "_Register" +msgstr "_Registrar" + +#: gajim/data/gui/add_new_contact_window.ui:433 +msgid "" +"You must be connected to the transport to be able\n" +"to add a contact from this protocol." +msgstr "" +"Debes estar conectado al transporte para poder\n" +"añadir un contacto de este protocolo." + +#: gajim/data/gui/add_new_contact_window.ui:467 +msgid "_Add" +msgstr "_Añadir" + +#: gajim/data/gui/account_wizard.ui:16 gajim/data/gui/manage_proxies.ui:206 +msgid "_Port" +msgstr "_Puerto" + +#: gajim/data/gui/account_wizard.ui:46 +msgid "_Hostname" +msgstr "Nombre del _host" + +#: gajim/data/gui/account_wizard.ui:62 gajim/data/gui/account_wizard.ui:689 +#: gajim/data/gui/manage_proxies.ui:223 +msgid "example.org" +msgstr "ejemplo.org" + +#: gajim/data/gui/account_wizard.ui:75 +msgid "Prox_y" +msgstr "Prox_y" + +#: gajim/data/gui/account_wizard.ui:110 +msgid "Manage Proxies..." +msgstr "Gestionar Proxies..." + +#: gajim/data/gui/account_wizard.ui:131 gajim/data/gui/preferences.ui:798 +msgid "Advanced Settings" +msgstr "Configuraciones avanzadas" + +#: gajim/data/gui/account_wizard.ui:163 gajim/data/gui/manage_proxies.ui:290 +msgid "_Type" +msgstr "_Tipo" + +#: gajim/data/gui/account_wizard.ui:203 +msgid "Welcome" +msgstr "Bienvenido" + +#: gajim/data/gui/account_wizard.ui:219 +msgid "Please enter your credentials or Sign Up" +msgstr "Por favor ingresa tus credenciales o regístrate" + +#: gajim/data/gui/account_wizard.ui:237 +msgid "Your XMPP address (e.g. user@example.org)" +msgstr "Tu dirección XMPP (ej. usuario@ejemplo.org)" + +#: gajim/data/gui/account_wizard.ui:239 +#: gajim/data/gui/single_message_window.ui:59 +msgid "user@example.org" +msgstr "usuario@ejemplo.org" + +#: gajim/data/gui/account_wizard.ui:252 +msgid "Your password" +msgstr "Tu contraseña" + +#: gajim/data/gui/account_wizard.ui:266 gajim/data/gui/account_wizard.ui:719 +msgid "_Advanced Settings" +msgstr "Configuraciones _avanzadas" + +#: gajim/data/gui/account_wizard.ui:270 gajim/data/gui/account_wizard.ui:723 +msgid "Proxy, custom hostname and port" +msgstr "Proxy, nombre de host y puerto" + +#: gajim/data/gui/account_wizard.ui:283 +msgid "_Log In" +msgstr "Iniciar sesión" + +#: gajim/data/gui/account_wizard.ui:288 +msgid "Log in with your credentials" +msgstr "Iniciar sesión con tus credenciales" + +#: gajim/data/gui/account_wizard.ui:304 +msgid "or" +msgstr "o" + +#: gajim/data/gui/account_wizard.ui:314 +msgid "_Sign Up" +msgstr "Regístrate" + +#: gajim/data/gui/account_wizard.ui:318 +msgid "Sign up for a new account on a server of your choice" +msgstr "Regístrate para obtener una nueva cuenta en un servidor de tu elección" + +#: gajim/data/gui/account_wizard.ui:369 +msgid "Visit Website" +msgstr "Visitar la página web" + +#: gajim/data/gui/account_wizard.ui:410 +msgid "Certificate Verification Failed" +msgstr "Fallo de verificación de certificado" + +#: gajim/data/gui/account_wizard.ui:428 +msgid "" +"The following warnings came up while trying to verify the server's " +"certificate" +msgstr "" +"Las siguientes advertencias llegaron mientras se intentaba verificar el " +"certificado del servidor" + +#: gajim/data/gui/account_wizard.ui:457 +msgid "_Show Certificate" +msgstr "Mostrar certificado" + +#: gajim/data/gui/account_wizard.ui:472 +msgid "_Add to Trusted Certificates" +msgstr "_Añadir a certificados de confianza" + +#: gajim/data/gui/account_wizard.ui:501 gajim/data/gui/account_wizard.ui:664 +msgid "Which server should I choose?" +msgstr "¿Qué servidor debería elegir?" + +#: gajim/data/gui/account_wizard.ui:516 +msgid "" +"There are plenty of servers to choose from.\n" +"Creating an account on one server allows you to communicate with contacts " +"from other servers as well." +msgstr "" +"Hay muchos servidores para elegir.\n" +"Crear una cuenta en un servidor también te permite comunicarte con contactos " +"de otros servidores." + +#: gajim/data/gui/account_wizard.ui:530 +msgid "Visit Server's Website" +msgstr "Visitar web del servidor" + +#: gajim/data/gui/account_wizard.ui:550 +msgid "Listing of Servers" +msgstr "Listado de servidores" + +#: gajim/data/gui/account_wizard.ui:568 +msgid "" +"xmpp.org/getting-started" +msgstr "" +"xmpp.org/getting-started" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "Comparativa de características de varios servidores" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" +"conversations.im/compliance" + +#: gajim/data/gui/account_wizard.ui:646 +msgid "_Please choose a server" +msgstr "_Por favor, elegir un servidor" + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "Regístrate anónimamente" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "Nota: las cuentas anónimas no son posibles en todos los servidores" + +#: gajim/data/gui/application_menu.ui:8 +msgid "_Start / Join Chat…" +msgstr "Iniciar / unirse a conversación…" + +#: gajim/data/gui/application_menu.ui:13 +msgid "Create _Group Chat…" +msgstr "Crear _grupo de conversación…" + +#: gajim/data/gui/application_menu.ui:18 +msgid "_History Manager" +msgstr "Gestor de _historial" + +#: gajim/data/gui/application_menu.ui:22 +msgid "Pl_ugins" +msgstr "Extensiones" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +msgid "_Preferences" +msgstr "_Preferencias" + +#: gajim/data/gui/application_menu.ui:36 +msgid "_Accounts" +msgstr "Cuentas" + +#: gajim/data/gui/application_menu.ui:39 +msgid "_View" +msgstr "_Ver" + +#: gajim/data/gui/application_menu.ui:46 +msgid "Show _Offline Contacts" +msgstr "Mostrar contactos desconectados" + +#: gajim/data/gui/application_menu.ui:50 +msgid "Show _Active Contacts" +msgstr "Mostrar contactos _activos" + +#: gajim/data/gui/application_menu.ui:54 +msgid "Show _Transports" +msgstr "Mostrar _transportes" + +#: gajim/data/gui/application_menu.ui:60 +msgid "_XML Console" +msgstr "Consola _XML" + +#: gajim/data/gui/application_menu.ui:64 +msgid "_File Transfer" +msgstr "Transferencia de _fichero" + +#: gajim/data/gui/application_menu.ui:74 +msgid "_Help" +msgstr "Ayuda" + +#: gajim/data/gui/application_menu.ui:77 +msgid "_Wiki (Online)" +msgstr "_Wiki (en línea)" + +#: gajim/data/gui/application_menu.ui:81 +msgid "FA_Q (Online)" +msgstr "FA_Q (en línea)" + +#: gajim/data/gui/application_menu.ui:85 +msgid "_Keyboard Shortcuts" +msgstr "Atajos de teclado" + +#: gajim/data/gui/application_menu.ui:89 +msgid "_Features" +msgstr "Características" + +#: gajim/data/gui/application_menu.ui:93 +msgid "_About" +msgstr "_Acerca de" + +#: gajim/data/gui/filetransfer_progress.ui:125 +msgid "Speed" +msgstr "Velocidad" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "Tiempo restante" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +msgid "OK" +msgstr "OK" + +#: gajim/data/gui/plugins_window.ui:55 +msgid "Install Plugin from ZIP-File" +msgstr "Instalar extensión desde archivo ZIP" + +#: gajim/data/gui/plugins_window.ui:56 +msgid "Install from File…" +msgstr "Instalar desde fichero…" + +#: gajim/data/gui/plugins_window.ui:70 +msgid "Uninstall Plugin" +msgstr "Desinstalar extensión" + +#: gajim/data/gui/plugins_window.ui:116 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:133 +msgid "Plugin Settings" +msgstr "Configuraciones de extensiones" + +#: gajim/data/gui/plugins_window.ui:215 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:239 +msgid "Version" +msgstr "Versión" + +#: gajim/data/gui/plugins_window.ui:271 +msgid "Authors" +msgstr "Autores" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +msgid "Homepage" +msgstr "Página web" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:349 +msgid "Installed" +msgstr "Instalado" + +#: gajim/data/gui/plugins_window.ui:363 +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "" +"La descripción de la extensión debería mostrarse aquí. Este texto se borrará " +"mientras se inicia PluginsWindow." + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +msgid "Synchronise contacts" +msgstr "Sincronizar contactos" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "Selecciona la cuenta con la que quieres sincronizar" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "¿Público o privado?" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" +"Privado: Si planeas chatear cifrado, normalmente querrás crear un " +"grupo privado. Tienes que invitar a personas para que puedan unirse." + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "Público: Cualquiera que conozca la dirección se puede unir." + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +msgid "_Name" +msgstr "_Nombre" + +#: gajim/data/gui/groupchat_creation.ui:122 +msgid "_Description" +msgstr "_Descripción" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "_Público" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +msgid "_Address" +msgstr "Dirección" + +#: gajim/data/gui/groupchat_creation.ui:278 +msgid "_Account" +msgstr "Cuenta" + +#: gajim/data/gui/profile.ui:33 +msgid "Contact Infos" +msgstr "Información de contacto" + +#: gajim/data/gui/profile.ui:45 +msgid "Picture and Name" +msgstr "Foto y nombre" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "Haz que tu perfil sea visible para todos o solo para tus contactos." + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "Quitar tu foto de perfil" + +#: gajim/data/gui/profile.ui:198 +msgid "Change your profile picture" +msgstr "Cambiar tu foto de perfil" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "Ingresa tu alias. Así es como se muestra tu nombre a tus contactos." + +#: gajim/data/gui/profile.ui:298 +msgid "Add Entry" +msgstr "Añadir entrada" + +#: gajim/data/gui/profile.ui:410 +msgid "Update" +msgstr "Actualizar" + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "HTTP" + +#: gajim/data/gui/manage_proxies.ui:15 +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "SOCKS5" + +#: gajim/data/gui/manage_proxies.ui:65 +msgid "Add Proxy" +msgstr "Añadir proxy" + +#: gajim/data/gui/manage_proxies.ui:79 +msgid "Remove Proxy" +msgstr "Eliminar Proxy" + +#: gajim/data/gui/manage_proxies.ui:131 +msgid "Pass_word" +msgstr "Contraseña" + +#: gajim/data/gui/manage_proxies.ui:156 +msgid "Use proxy auth_entication" +msgstr "Usar aut_entificación del proxy" + +#: gajim/data/gui/manage_proxies.ui:176 +msgid "_Username" +msgstr "_Usuario" + +#: gajim/data/gui/manage_proxies.ui:237 +msgid "_Host" +msgstr "_Host" + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "JID local:" + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "Recurso:" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "Estado:" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +msgid "_Store conversation history" +msgstr "Almacenar histórico de conversación" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +msgid "Contact" +msgstr "Contacto" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +msgid "First Name:" +msgstr "Nombre:" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +msgid "Last Name:" +msgstr "Apellido(s):" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +msgid "XMPP Address:" +msgstr "Dirección XMPP:" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "Correo-e:" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +msgid "Personal" +msgstr "Personal" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "_Estado" + +#: gajim/data/gui/account_context_menu.ui:20 +msgid "_Personal Events" +msgstr "Eventos _personales" + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "_Añadir contacto..." + +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "_Descubrir servicios" + +#: gajim/data/gui/account_context_menu.ui:57 +msgid "_Execute Command..." +msgstr "_Ejecutar comando..." + +#: gajim/data/gui/account_context_menu.ui:65 +msgid "_View Server Info" +msgstr "_Ver información de servidor" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" +"Inicia un nuevo chat, únete a un grupo o busca nuevos grupos a nivel " +"mundial. También puedes ingresar una dirección XMPP." + +#: gajim/data/gui/start_chat_dialog.ui:125 +msgid "Global Group Chat Search" +msgstr "Búsqueda global de grupos" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +msgid "_Back" +msgstr "Volver" + +#: gajim/data/gui/start_chat_dialog.ui:386 +msgid "Select Account" +msgstr "Seleccionar cuenta" + +#: gajim/data/gui/start_chat_dialog.ui:477 +msgid "_Select" +msgstr "_Seleccionar" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" +"No se han encontrado contactos\n" +"También puedes escribir una dirección XMPP" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +msgid "Configure" +msgstr "Configurar" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +msgid "Create new post" +msgstr "Crear nuevo post" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "Es_tado" + +#: gajim/data/gui/systray_context_menu.ui:20 +msgid "_Start Chat..." +msgstr "Iniciar conver_sación…" + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "Enviar mensaje..." + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "Mostrar todos los _eventos pendientes" + +#: gajim/data/gui/systray_context_menu.ui:52 +msgid "Mute Sounds" +msgstr "Silenciar sonidos" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +msgid "Contact List" +msgstr "Lista de contactos" + +#: gajim/data/gui/shortcuts_window.ui:24 +msgid "Create new group chat" +msgstr "Crear nuevo grupo de chat" + +#: gajim/data/gui/shortcuts_window.ui:45 +msgid "File transfers" +msgstr "Transferencias de ficheros" + +#: gajim/data/gui/shortcuts_window.ui:52 +msgid "Set the status message" +msgstr "Establecer el mensaje de estado" + +#: gajim/data/gui/shortcuts_window.ui:59 +msgid "Show XML console" +msgstr "Mostrar consola XML" + +#: gajim/data/gui/shortcuts_window.ui:74 +msgid "Appearance" +msgstr "Apariencia" + +#: gajim/data/gui/shortcuts_window.ui:79 +msgid "Show offline contacts" +msgstr "Mostrar contactos desconectados" + +#: gajim/data/gui/shortcuts_window.ui:86 +msgid "Show only active contacts" +msgstr "Mostrar sólo contactos activos" + +#: gajim/data/gui/shortcuts_window.ui:93 +msgid "Enable contact list filtering" +msgstr "Habilitar filtrado de la lista de contactos" + +#: gajim/data/gui/shortcuts_window.ui:100 +msgid "Show / hide contact list" +msgstr "Mostrar / ocultar lista de contactos" + +#: gajim/data/gui/shortcuts_window.ui:113 +msgid "Contact information" +msgstr "Información de contacto" + +#: gajim/data/gui/shortcuts_window.ui:120 +msgid "Rename contact" +msgstr "Renombrar contacto" + +#: gajim/data/gui/shortcuts_window.ui:127 +msgid "Delete contact" +msgstr "Borrar contacto" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +msgid "Chat" +msgstr "Charla" + +#: gajim/data/gui/shortcuts_window.ui:142 +msgid "Message composition" +msgstr "Composición del mensaje" + +#: gajim/data/gui/shortcuts_window.ui:147 +msgid "Send the message" +msgstr "Enviar el mensaje" + +#: gajim/data/gui/shortcuts_window.ui:154 +msgid "Add new line" +msgstr "Añadir nueva línea" + +#: gajim/data/gui/shortcuts_window.ui:161 +msgid "Select an emoji" +msgstr "Seleccionar un emoticono" + +#: gajim/data/gui/shortcuts_window.ui:168 +msgid "Complete a command or a nickname" +msgstr "Completa un comando o un alias" + +#: gajim/data/gui/shortcuts_window.ui:175 +msgid "Previously sent message" +msgstr "Mensaje enviado previamente" + +#: gajim/data/gui/shortcuts_window.ui:182 +msgid "Next sent messages" +msgstr "Siguientes mensajes enviados" + +#: gajim/data/gui/shortcuts_window.ui:189 +msgid "Quote previous message" +msgstr "Citar mensaje anterior" + +#: gajim/data/gui/shortcuts_window.ui:196 +msgid "Quote next message" +msgstr "Citar el siguiente mensaje" + +#: gajim/data/gui/shortcuts_window.ui:203 +msgid "Clear message entry" +msgstr "Limpiar entrada de mensaje" + +#: gajim/data/gui/shortcuts_window.ui:211 +msgid "Recent history" +msgstr "Historial reciente" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "Desplazar hacia arriba" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "Desplazar hacia abajo" + +#: gajim/data/gui/shortcuts_window.ui:230 +msgid "Clear chat window" +msgstr "Limpiar ventana de conversación" + +#: gajim/data/gui/shortcuts_window.ui:237 +msgid "Show chat history" +msgstr "Mostrar histórico de conversación" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "Petañas" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "Cambiar a la pestaña anterior" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "Cambiar a la pestaña siguiente" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "Cambiar a la primera - novena pestaña" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "Cambiar a la pestaña anterior no leída" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "Cambiar a la siguiente pestaña no leída" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "Mover pestaña a la izquierda" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "Mover pestaña a la derecha" + +#: gajim/data/gui/shortcuts_window.ui:299 +msgid "Close chat" +msgstr "Cerrar conversación" + +#: gajim/data/gui/shortcuts_window.ui:312 +msgid "Change Nickname" +msgstr "Cambiar alias" + +#: gajim/data/gui/chat_control.ui:48 +msgid "Drop files or contacts" +msgstr "Soltar ficheros o contactos" + +#: gajim/data/gui/chat_control.ui:80 +msgid "1" +msgstr "1" + +#: gajim/data/gui/chat_control.ui:101 +msgid "2 abc" +msgstr "2 abc" + +#: gajim/data/gui/chat_control.ui:121 +msgid "3 def" +msgstr "3 def" + +#: gajim/data/gui/chat_control.ui:141 +msgid "4 ghi" +msgstr "4 ghi" + +#: gajim/data/gui/chat_control.ui:161 +msgid "5 jkl" +msgstr "5 jkl" + +#: gajim/data/gui/chat_control.ui:181 +msgid "6 mno" +msgstr "6 mno" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "7 pqrs" + +#: gajim/data/gui/chat_control.ui:221 +msgid "8 tuv" +msgstr "8 tuv" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "9 wxyz" + +#: gajim/data/gui/chat_control.ui:261 +msgid "*" +msgstr "*" + +#: gajim/data/gui/chat_control.ui:281 +msgid "0" +msgstr "0" + +#: gajim/data/gui/chat_control.ui:301 +msgid "#" +msgstr "#" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "El último mensaje fue escrito en un cliente móvil" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "Con micrófono" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "Micrófono y cámara" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "Llamada finalizada" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "Iniciar conversación" + +#: gajim/data/gui/contact_context_menu.ui:28 +msgid "Send _File..." +msgstr "Enviar _fichero…" + +#: gajim/data/gui/contact_context_menu.ui:44 +msgid "Invite _Contacts" +msgstr "Invitar _Contactos" + +#: gajim/data/gui/contact_context_menu.ui:58 +msgid "E_xecute Command..." +msgstr "Ejecutar comando..." + +#: gajim/data/gui/contact_context_menu.ui:67 +msgid "M_anage Contact" +msgstr "Gestionar contacto" + +#: gajim/data/gui/contact_context_menu.ui:77 +msgid "_Rename..." +msgstr "_Renombrar..." + +#: gajim/data/gui/contact_context_menu.ui:84 +msgid "Edit _Groups..." +msgstr "Editar _grupos..." + +#: gajim/data/gui/contact_context_menu.ui:92 +msgid "Add Special _Notification..." +msgstr "Añadir _notificación especial..." + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "_Subscripción" + +#: gajim/data/gui/contact_context_menu.ui:115 +msgid "_Allow contact to see my status" +msgstr "Permitir al contacto ver mi estado" + +#: gajim/data/gui/contact_context_menu.ui:123 +msgid "A_sk to see contact status" +msgstr "Pregunta para ver el e_stado del contacto" + +#: gajim/data/gui/contact_context_menu.ui:131 +msgid "_Forbid contact to see my status" +msgstr "Prohibir al contacto ver mi estado" + +#: gajim/data/gui/contact_context_menu.ui:159 +msgid "_Unignore" +msgstr "_No ignorar" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "_Ignorar" + +#: gajim/data/gui/contact_context_menu.ui:174 +msgid "_Add to Contact List..." +msgstr "_Añadir a la lista de contactos..." + +#: gajim/data/gui/single_message_window.ui:42 +msgid "_To" +msgstr "A" + +#: gajim/data/gui/single_message_window.ui:71 +msgid "Su_bject" +msgstr "Asunto" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "Escribir el asunto aquí..." + +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "_Mensaje" + +#: gajim/data/gui/single_message_window.ui:144 +msgid "Characters typed: 0" +msgstr "Caracteres escritos: 0" + +#: gajim/data/gui/single_message_window.ui:189 +msgid "_From" +msgstr "De" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "Enviar" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "Enviar mensaje" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "_Responder" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "Responder a este mensaje" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "_Enviar y Cerrar" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "Enviar mensaje y cerrar ventana" + +#: gajim/data/gui/vcard_information_window.ui:106 +msgid "Client" +msgstr "Cliente" + +#: gajim/data/gui/vcard_information_window.ui:140 +msgid "Contact time" +msgstr "Hora del contacto" + +#: gajim/data/gui/vcard_information_window.ui:240 +msgid "User avatar" +msgstr "Avatar" + +#: gajim/data/gui/vcard_information_window.ui:255 +msgid "Configured avatar" +msgstr "Avatar configurado" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +msgid "Ask" +msgstr "Preguntar" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +msgid "Subscription" +msgstr "Suscripción" + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +msgid "Extra Address" +msgstr "Dirección Adicional" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +msgid "Address" +msgstr "Dirección" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +msgid "E-Mail" +msgstr "Correo electrónico" + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "Formato: AAAA-MM-DD" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +msgid "Family" +msgstr "Familia" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +msgid "Middle" +msgstr "Segundo nombre" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +msgid "Prefix" +msgstr "Prefijo" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +msgid "Given" +msgstr "Nombre de pila" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +msgid "Suffix" +msgstr "Sufijo" + +#: gajim/data/gui/vcard_information_window.ui:958 +msgid "Name Details" +msgstr "Detalles del nombre" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "botón" + +#: gajim/data/gui/vcard_information_window.ui:1017 +msgid "Personal Info" +msgstr "Información personal" + +#: gajim/data/gui/vcard_information_window.ui:1040 +msgid "Company" +msgstr "Compañía" + +#: gajim/data/gui/vcard_information_window.ui:1073 +msgid "Department" +msgstr "Departamento" + +#: gajim/data/gui/vcard_information_window.ui:1104 +msgid "Position" +msgstr "Cargo" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "Puesto" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "Acerca de" + +#: gajim/data/gui/vcard_information_window.ui:1514 +msgid "Comments" +msgstr "Comentarios" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "Editar grupos" + +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "Contraseña" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "Añade una configuración que te gustaría cambiar" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +msgid "Themes" +msgstr "Temas" + +#: gajim/data/gui/themes_window.ui:171 +msgid "Add Setting" +msgstr "Añadir configuración" + +#: gajim/data/gui/themes_window.ui:204 +msgid "Add new Theme" +msgstr "Añadir nuevo tema" + +#: gajim/data/gui/themes_window.ui:219 +msgid "Remove Theme" +msgstr "Eliminar tema" + +#: gajim/data/gui/bookmarks.ui:120 +msgid "Autojoin" +msgstr "Auto conectar" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "_Aplicar" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "Comportamiento de ventanas y pestañas" + +#: gajim/data/gui/preferences.ui:68 +msgid "Contact List Appearance" +msgstr "Aspecto de la lista de contactos" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +msgid "Chats" +msgstr "Charlas" + +#: gajim/data/gui/preferences.ui:215 +msgid "Visual Notifications" +msgstr "Notificaciones Visuales" + +#: gajim/data/gui/preferences.ui:243 +msgid "Sounds" +msgstr "Sonidos" + +#: gajim/data/gui/preferences.ui:303 +msgid "Ask For Status Message on…" +msgstr "Solicitar mensaje de estado en…" + +#: gajim/data/gui/preferences.ui:331 +msgid "Automatic Status Change" +msgstr "Cambio de estado automático" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "Emoticono" + +#: gajim/data/gui/preferences.ui:447 +msgid "Status Icon" +msgstr "Icono de estado" + +#: gajim/data/gui/preferences.ui:472 +msgid "Style" +msgstr "Estilo" + +#: gajim/data/gui/preferences.ui:511 +msgid "Show _Features" +msgstr "Mostrar características" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "Faltan dependencias para audio/video" + +#: gajim/data/gui/preferences.ui:632 +msgid "Audio" +msgstr "Audio" + +#: gajim/data/gui/preferences.ui:660 +msgid "Video" +msgstr "Vídeo" + +#: gajim/data/gui/preferences.ui:698 +msgid "Audio/Video" +msgstr "Audio/Vídeo" + +#: gajim/data/gui/preferences.ui:735 +msgid "Miscellaneous" +msgstr "Miscelánea" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "Reiniciar sugerencias" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "Esto restablecerá todas las sugerencias de introducción" + +#: gajim/data/gui/preferences.ui:821 +msgid "Advanced Configuration Editor… " +msgstr "Editor avanzado de configuración… " + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "¡ Por favor, use estas opciones con precaución!" + +#: gajim/data/gui/server_info.ui:50 +msgid "Server Software" +msgstr "Software de servidor" + +#: gajim/data/gui/server_info.ui:80 +msgid "Server Uptime" +msgstr "Tiempo de actividad del servidor" + +#: gajim/data/gui/server_info.ui:109 +msgid "Contact Addresses" +msgstr "Direcciones de contactos" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "No hay direcciones de contactos publicadas en este servidor." + +#: gajim/data/gui/server_info.ui:177 +msgid "Proxy Type" +msgstr "Tipo de proxy" + +#: gajim/data/gui/server_info.ui:192 +msgid "No proxy used" +msgstr "No se usa proxy" + +#: gajim/data/gui/server_info.ui:202 +msgid "View _Certificate" +msgstr "Ver _Certificado" + +#: gajim/data/gui/server_info.ui:222 +msgid "Proxy Host" +msgstr "Host del proxy" + +#: gajim/data/gui/server_info.ui:421 +msgid "Copy info to clipboard" +msgstr "Copiar información al portapapeles" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "Nombre común (CN)" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "Organización (O)" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "Unidad organizativa (OU)" + +#: gajim/data/gui/certificate_dialog.ui:153 +msgid "Serial Number" +msgstr "Número de Serie" + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "Emitido el" + +#: gajim/data/gui/certificate_dialog.ui:304 +msgid "Expires on" +msgstr "Caduca el" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "SHA-1" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "Emitido a" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "Emitido por" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "Validez" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "Huellas" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "SHA-256" + +#: gajim/data/gui/certificate_dialog.ui:465 +msgid "Copy Certificate Information" +msgstr "Copiar información de certificado" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "¡Invitar amigos!" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "" +"Ahora estás entrando en un chat grupal.\n" +"Selecciona los contactos que deseas invitar" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "columna" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +msgid "Please select a group chat server." +msgstr "Por favor, seleccionar un servidor de grupo." + +#: gajim/data/gui/chat_to_muc_window.ui:141 +msgid "Group chat server" +msgstr "Servidor del grupo" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +msgid "In_vite" +msgstr "In_vitar" + +#: gajim/data/gui/mam_preferences.ui:53 +msgid "_Default" +msgstr "Por _defecto" + +#: gajim/data/gui/mam_preferences.ui:136 +msgid "Archive" +msgstr "Archivo" + +#: gajim/data/gui/history_manager.ui:11 +msgid "_Export" +msgstr "_Exportar" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +msgid "Gajim History Logs Manager" +msgstr "Gestor de Histórico de Gajim" + +#: gajim/data/gui/history_manager.ui:104 +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" +"Este gestor de historial no está pensado para ver conversaciones. Si quieres " +"dicha funcionalidad usa la ventana del histórico en su lugar.\n" +"\n" +"Usa este programa para eliminar o exportar el historial. Puedes seleccionar " +"registros de la parte izquierda o buscar en la base de datos." + +#: gajim/data/gui/history_manager.ui:120 +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" +"ADVERTENCIA:\n" +"Si planeas realizar eliminaciones masivas, asegúrate de que Gajim no se esté " +"ejecutando. En general, evita las eliminaciones con los contactos con los " +"que actualmente chateas." + +#: gajim/data/gui/history_manager.ui:211 +msgid "Search database..." +msgstr "Buscar en la base de datos..." + +#: gajim/data/gui/history_manager.ui:226 +msgid "Search in database" +msgstr "Búsqueda en base de datos" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" +"No quedan contactos.\n" +"También puedes escribir una dirección XMPP." + +#: gajim/data/gui/groupchat_invite.ui:69 +msgid "Invitees" +msgstr "Invitados" + +#: gajim/data/gui/groupchat_invite.ui:153 +msgid "Search contacts..." +msgstr "Buscar contactos..." + +#: gajim/data/gui/groupchat_invite.ui:223 +msgid "Click on contacts you would like to invite to this group chat." +msgstr "Pincha en lo contactos que te gustaría invitar a este grupo." + +#: gajim/data/gui/service_discovery_window.ui:148 +msgid "Go" +msgstr "Ir" + +#: gajim/data/gui/status_change_window.ui:27 +msgid "Change Status" +msgstr "Cambiar estado" + +#: gajim/data/gui/status_change_window.ui:56 +msgid "Status Presets…" +msgstr "Estado predefinido…" + +#: gajim/data/gui/status_change_window.ui:72 +msgid "Save this message as a preset" +msgstr "Guardar este mensaje como predeterminado" + +#: gajim/data/gui/status_change_window.ui:130 +msgid "Ac_tivity" +msgstr "Ac_tividad" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "Estado de ánimo" + +#: gajim/data/gui/status_change_window.ui:278 +msgid "_Change Status" +msgstr "_Cambiar estado" + +#: gajim/data/gui/status_change_window.ui:313 +msgid "Activity" +msgstr "Actividad" + +#: gajim/data/gui/status_change_window.ui:326 +msgid "_No Activity" +msgstr "Sin actividad" + +#: gajim/data/gui/status_change_window.ui:729 +msgid "Mood" +msgstr "Estado de ánimo" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "Tema" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +msgid "Author" +msgstr "Autor" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "Registros de discusión" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +msgid "Group Chat Language" +msgstr "Idioma del grupo" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +msgid "Copy Address" +msgstr "Copiar dirección" + +#: gajim/data/gui/emoji_chooser.ui:98 +msgid "No Results Found" +msgstr "No se han encontrado resultados" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr "Consola XML" + +#: gajim/data/gui/xml_console.ui:131 +msgid "Start Search..." +msgstr "Comenzar búsqueda..." + +#: gajim/data/gui/xml_console.ui:260 +msgid "Clear" +msgstr "Limpiar" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "Pegar la última entrada" + +#: gajim/data/gui/xml_console.ui:316 +msgid "Presets" +msgstr "Preajustes" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "Sincronizar: seleccionar contactos" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +msgid "Select the contacts you want to synchronise" +msgstr "Selecciona los contactos que quieres sincronizar" + +#: gajim/data/gui/groupchat_config.ui:51 +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" +"Dirección XMPP\n" +"<usuario@dominio/recurso> (sólo ese recurso coincide)\n" +"<usuario@dominio> (cualquier recurso coincide)\n" +"<dominio/recurso> (sólo lo que coincida el recurso)\n" +"<dominio> (el dominio en sí coincide, tal como hace cualquier " +"usuario@dominio o dominio/recurso)\n" + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "Solo los Administradores y Propietarios pueden modificar la afiliación" + +#: gajim/data/gui/groupchat_config.ui:309 +msgid "Reserved Name" +msgstr "Nombre reservado" + +#: gajim/data/gui/groupchat_config.ui:346 +msgid "Affiliation" +msgstr "Afiliación" + +#: gajim/data/gui/groupchat_config.ui:377 +msgid "Affiliations" +msgstr "Afiliaciones" + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "Motivo" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "Lista de expulsión" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "_Denegar" + +#: gajim/data/gui/subscription_request_window.ui:34 +msgid "_Block User" +msgstr "_Bloquear usuario" + +#: gajim/data/gui/subscription_request_window.ui:49 +msgid "_Report as Spam" +msgstr "Informar como spam" + +#: gajim/data/gui/subscription_request_window.ui:212 +msgid "_Deny…" +msgstr "_Denegar…" + +#: gajim/data/gui/subscription_request_window.ui:225 +msgid "Ac_cept" +msgstr "A_ceptar" + +#: gajim/data/gui/subscription_request_window.ui:230 +msgid "Allows the contact to see your online status" +msgstr "Permitir al contacto ver tu estado en ĺinea" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "Lo siento, eso no debería haber pasado" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" +"Gajim encontró un error. A continuación se muestra un informe.\n" +"Al informar este error, puedes ayudar a la gente a solucionarlo." + +#: gajim/data/gui/exception_dialog.ui:115 +msgid "_Report Bug" +msgstr "Informe de fallo" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "Evento" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "Elegir sonido" + +#: gajim/data/gui/manage_sounds.ui:97 +msgid "Clear Sound" +msgstr "Sonido claro" + +#: gajim/data/gui/manage_sounds.ui:118 +msgid "Play Sound" +msgstr "Reproducir sonido" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +msgid "_Send Files" +msgstr "Enviar ficheros" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +msgid "Send" +msgstr "Enviar" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +msgid "Files to send" +msgstr "Ficheros a enviar" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +msgid "Add Files" +msgstr "Añadir ficheros" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +msgid "Remove Files" +msgstr "Eliminar ficheros" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +msgid "Idle since:" +msgstr "Inactivo desde:" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +msgid "Mood:" +msgstr "Estado de ánimo:" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +msgid "Activity:" +msgstr "Actividad:" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +msgid "Tune:" +msgstr "Melodía:" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +msgid "Location:" +msgstr "Ubicación:" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +msgid "Subscription:" +msgstr "Subscripción:" + +#: gajim/data/gui/advanced_configuration.ui:15 +msgid "A restart may be required for some settings to take effect" +msgstr "" +"Puede que se tenga que reiniciar para que algunas configuraciones tengan " +"efecto" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "Escribir para buscar por valores..." + +#: gajim/data/gui/advanced_configuration.ui:120 +msgid "_Reset Value" +msgstr "_Restablecer valor" + +#: gajim/data/gui/advanced_configuration.ui:125 +msgid "Resets value to default" +msgstr "Restablece valor por defecto" + +#: gajim/data/gui/history_window.ui:27 +msgid "Display status changes" +msgstr "Mostrar cambios de estado" + +#: gajim/data/gui/history_window.ui:57 +msgid "History Manager" +msgstr "Histórico" + +#: gajim/data/gui/history_window.ui:233 +msgid "Mode" +msgstr "Modo" + +#: gajim/data/gui/history_window.ui:246 +msgid "Search complete history" +msgstr "Buscar en todo el historial" + +#: gajim/data/gui/history_window.ui:263 +msgid "Search selected day only" +msgstr "Buscar solo en el día seleccionado" + +#: gajim/data/gui/history_window.ui:317 +msgid "Store history for this chat" +msgstr "Guardar historial de esta conversación" + +#: gajim/data/gui/history_window.ui:332 +msgid "Store History" +msgstr "Almacenar histórico" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +msgid "Identified Error" +msgstr "Error identificado" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +msgid "" +msgstr "" + +#: gajim/data/gui/ssl_error_dialog.ui:74 +msgid "Add this certificate to the list of _trusted certificates" +msgstr "Añadir este certificado a la lista de certificados de confianza" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +msgid "_View Certificate" +msgstr "_Ver certificado" + +#: gajim/data/gui/ssl_error_dialog.ui:120 +msgid "_Connect" +msgstr "_Conectar" + +#: data/org.gajim.Gajim.desktop.in:5 +msgid "XMPP Chat Client" +msgstr "Cliente de chat XMPP" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "Un cliente de chat XMPP con todas las caraterísticas" + +#: data/org.gajim.Gajim.desktop.in:8 +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "chat;messaging;im;xmpp;bonjour;voip;" + +#: data/org.gajim.Gajim.desktop.in:27 +msgid "Show next pending event" +msgstr "Mostrar siguiente evento pendiente" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" +"Gajim quiere ser un cliente XMPP fácil de usar y con todas las funciones. " +"Simplemente charla con tus amigos o familiares, comparte imágenes y " +"pensamientos fácilmente o discute las noticias con tus grupos." + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "" +"Chatea de forma segura con cifrado de extremo a extremo a través de OMEMO u " +"OpenPGP." + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" +"Gajim se integra bien con tus otros dispositivos: solo continúa las " +"conversaciones en tu dispositivo móvil." + +#: data/org.gajim.Gajim.appdata.xml.in:17 +msgid "Features:" +msgstr "Características:" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "" +"No te pierdas ni un mensaje, mantén todos tus clientes de chat sincronizados" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "Invita a amigos a grupos o únete a uno" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "Envía fácilmente fotos, videos u otros archivos a amigos y grupos" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "" +"Chatea de forma segura con cifrado de extremo a extremo a través de OMEMO u " +"OpenPGP" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "Usa tus emoticonos favoritos, configura tu propia foto de perfil" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "Mantén y gestiona todo su historial de chat" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "Organiza tus chats con pestañas" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +msgid "Automatic spell-checking for your messages" +msgstr "Corrección ortográfica automática de tus mensajes" + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "" +"Conéctate a otros mensajeros a través de transportes (Facebook, IRC, ...)" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" +"Busca cosas en Wikipedia, diccionarios u otros motores de búsqueda " +"directamente desde la ventana de chat" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" +"Establece tu actividad, melodía y estado de ánimo para mostrar a tus amigos " +"cómo te sientes" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "Soporte para múltiples cuentas" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "Agrupa múltiples contactos de un amigo a un solo Meta-Contacto" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "Consola XML para ver qué sucede en la capa de protocolo" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "Mensajería sin servidor (Bonjour/Zeroconf)" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +msgid "Support for service discovery including nodes and search for users" +msgstr "" +"Soporte para descubrimiento de servicios incluyendo nodos y búsqueda de " +"usuarios" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "Incluso más funciones a través de extensiones" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +msgid "Contact list" +msgstr "Lista de contactos" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "Ventana de conversación con pestañas" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +msgid "Group chat support" +msgstr "Soporte para grupos de conversación" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +msgid "Chat history" +msgstr "Histórico de conversación" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +msgid "Plugin manager" +msgstr "Administrador de extensiones" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +msgid "Gajim Team" +msgstr "Equipo Gajim" + +#~ msgid "org.gajim.Gajim" +#~ msgstr "org.gajim.Gajim" + +#~ msgid "Retrieving profile…" +#~ msgstr "Recuperando perfil…" + +#~ msgid "Could not load image" +#~ msgstr "No se pudo cargar la imagen" + +#~ msgid "Wrong date format" +#~ msgstr "Formato de fecha incorrecto" + +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "El formato de fecha debe ser: AAAA-MM-DD" + +#~ msgid "Information received" +#~ msgstr "Información recibida" + +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "Sin una conexión, no puedes publicar tu información de contacto." + +#~ msgid "Sending profile…" +#~ msgstr "Enviando perfil…" + +#~ msgid "Information NOT published" +#~ msgstr "Información NO publicada" + +#~ msgid "vCard publication failed" +#~ msgstr "falló la publicación de la vCard" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "" +#~ "Ocurrió un error mientras se publicaba tu información personal, inténtalo " +#~ "de nuevo más tarde." + +#~ msgid "Clear Avatar" +#~ msgstr "Borrar el avatar" + +#~ msgid "Set Avatar…" +#~ msgstr "Establecer avatar…" + +#~ msgid "Main" +#~ msgstr "Principal" + +#~ msgid "Contact" +#~ msgstr "Contacto" + +#~ msgid "Gajim aims to be an easy to use and fully-featured XMPP client." +#~ msgstr "" +#~ "Gajim pretende ser un cliente XMPP fácil de usar y con todas las " +#~ "funciones." + +#~ msgid "Could not request upload slot for HTTP File Upload" +#~ msgstr "" +#~ "No se pudo solicitar el espacio de carga para la carga de archivos HTTP" + +#~ msgid "Exception raised while trying to open file (see log)." +#~ msgstr "Excepción al intentar abrir el fichero (ver traza)." + +#~ msgid "Not Secure" +#~ msgstr "No seguro" + +#~ msgid "Could not Upload File" +#~ msgstr "No se pudo cargar el fichero" + +#~ msgid "HTTP response code from server: %s" +#~ msgstr "Código de respuesta HTTP desde el servidor: %s" + +#~ msgid "Upload Error" +#~ msgstr "Error al cargar" + +#~ msgid "Encryption Error" +#~ msgstr "Error de cifrado" + +#~ msgid "Error." +#~ msgstr "Error." + +#~ msgid "Metacontacts storage not supported by your server" +#~ msgstr "Tu servidor no soporta almacenamiento de metacontactos" + +#~ msgid "" +#~ "Your server does not support storing metacontacts information. So this " +#~ "information will not be saved on next reconnection." +#~ msgstr "" +#~ "Tu servidor no soporta almacenar información de metacontactos. Por tanto, " +#~ "esta información no se guardará para la próxima reconexión." + +#~ msgid "{contact_name} invited you to {event.info.muc_name}" +#~ msgstr "{contact_name} te ha invitado a {event.info.muc_name}" + +#~ msgid "{app.get_name_from_jid(account, event.jid)} is calling" +#~ msgstr "{app.get_name_from_jid(account, event.jid)} está llamando" + +#~ msgid "{text.capitalize()} configuration error" +#~ msgstr "{text.capitalize()} error de configuración" + +#~ msgid "an audio and video" +#~ msgstr "un audio con vídeo" + +#~ msgid "an audio" +#~ msgstr "un audio" + +#~ msgid "a video" +#~ msgstr "un vídeo" + +#~ msgid "" +#~ "%(contact)s wants to start a %(type)s chat with you. Do you want to " +#~ "answer the call?" +#~ msgstr "" +#~ "%(contact)s quiere comenzar una conversación de tipo %(type)s ¿Quieres " +#~ "contestar la llamada?" + +#~ msgid "%(type)s state : %(state)s, reason: %(reason)s" +#~ msgstr "Estado %(type)s: %(state)s, motivo: %(reason)s" + +#~ msgid "%s wants to start a voice chat." +#~ msgstr "%s quiere empezar un chat de voz." + +#~ msgid "Voice Chat Request" +#~ msgstr "Petición de chat de voz" + +#~ msgid "Incoming call" +#~ msgstr "Llamada entrante" + +#~ msgid "You are invited to {room} by {user}" +#~ msgstr "{user} te ha invitado al grupo de charla {room}" + +#~ msgid "Message..." +#~ msgstr "Mensaje..." + +#~ msgid "_Message if you decline (optional)" +#~ msgstr "_Mensaje si rechazas (opcional)" + +#~ msgid "Fill in the form." +#~ msgstr "Rellenar el formulario." + +#~ msgid "Group Chat Invitation " +#~ msgstr "Invitación a grupo de charla " + +#~ msgid "" +#~ "%(contact)s has invited you to the group chat %(room_jid)s" +#~ msgstr "" +#~ "%(contact)s te ha invitado al grupo de charla %(room_jid)s" + +#~ msgid "Comment: %s" +#~ msgstr "Comentario: %s" + +#~ msgid "Blocked Contacts" +#~ msgstr "Contactos bloqueados" + +#~ msgid "Join group chat every time Gajim is started" +#~ msgstr "Unirse al grupo cada vez que arranque Gajim" + +#~ msgid "Join Automatically" +#~ msgstr "Unirse automáticamente" + +#~ msgid "Group chat" +#~ msgstr "Grupo de chat" + +#~ msgid "Bookmark group chat" +#~ msgstr "Añadir salón a marcadores" + +#~ msgid "Bookmark" +#~ msgstr "Marcador" + +#~ msgid "Recently used group chats" +#~ msgstr "Grupos usados recientemente" + +#~ msgid "Search group chats on selected server" +#~ msgstr "Buscar grupos de conversación en el servidor seleccionado" + +#~ msgid "_Retry" +#~ msgstr "_Reintentar" + +#~ msgid "Destroy group chat" +#~ msgstr "Destruir grupo" + +#~ msgid "Enter a new name for this group chat" +#~ msgstr "Introduce un nuevo nombre para este grupo" + +#~ msgid "Chat Settings" +#~ msgstr "Preferencias de conversación" + +#~ msgid "Composing only" +#~ msgstr "Solo componiendo" + +#~ msgid "All chat states" +#~ msgstr "Todos los estados de chat" + +#~ msgid "Chat Shortcuts" +#~ msgstr "Atajos de conversaciones" + +#~ msgid "Contact List Shortcuts" +#~ msgstr "Atajos de la lista de contactos" + +#~ msgid "%i day" +#~ msgid_plural "%i days" +#~ msgstr[0] "hace %i día" +#~ msgstr[1] "hace %i días" + +#~ msgid "Options in days which can be chosen in the sync threshold menu" +#~ msgstr "" +#~ "Opciones en días que se pueden elegir en el menú de umbral de " +#~ "sincronización" + +#~ msgid "%s is a directory but should be a file" +#~ msgstr "%s es un directorio pero podría ser un archivo" + +#~ msgid "Creating %s" +#~ msgstr "Creando %s" + +#~ msgid "%(nickname)s Signed In" +#~ msgstr "%(nickname)s se ha conectado" + +#~ msgid "Contact Signed In" +#~ msgstr "Contacto conectado" + +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "%(nickname)s se ha desconectado" + +#~ msgid "Contact Signed Out" +#~ msgstr "Contacto desconectado" + +#~ msgid "" +#~ "Show desktop notification even when a chat window is opened for this " +#~ "contact and does not have focus." +#~ msgstr "" +#~ "Mostrar notificación de escritorio incluso cuando una ventana de chat " +#~ "está abierta para este contacto y no tiene el foco." + +#~ msgid "Pop it up" +#~ msgstr "Emerger" + +#~ msgid "Notify me about it" +#~ msgstr "Notificarme" + +#~ msgid "Show only in contact list" +#~ msgstr "Mostrar solo en lista de contactos" + +#~ msgid "Event Handling" +#~ msgstr "Gestión de eventos" + +#~ msgid "How Gajim notifies you about new events" +#~ msgstr "Cómo te notifica Gajim sobre nuevos eventos" + +#~ msgid "Always Show Notifications" +#~ msgstr "Mostrar siempre notificaciones" + +#~ msgid "Show notifications even if there is already a chat window opened" +#~ msgstr "" +#~ "Mostrar notificaciones incluso cuando una ventana de chat ya está abierta" + +#~ msgid "Contact Online Notification" +#~ msgstr "Notificación para contacto en línea" + +#~ msgid "Show a notification when a contact goes online" +#~ msgstr "Mostrar notificación cuando un contacto esté en línea" + +#~ msgid "Contact Offline Notification" +#~ msgstr "Notificación para contacto fuera de línea" + +#~ msgid "Show a notification when a contact goes offline" +#~ msgstr "Mostrar notificación cuando un contacto pase a fuera de línea" + +#~ msgid "No status messages" +#~ msgstr "No hay mensajes de estado" + +#~ msgid "All status messages" +#~ msgstr "Todos los mensajes de estado" + +#~ msgid "Only enter/leave messages" +#~ msgstr "Solo los mensaje de entrar/salir" + +#~ msgid "_Tabs placement" +#~ msgstr "Colocación de pestañas" + +#~ msgid "" +#~ "If enabled, Gajim will quit when closing the contact list window instead " +#~ "of minimizing to the system's notification area" +#~ msgstr "" +#~ "Si está habilitado, Gajim se cerrará al cerrar la ventana de la lista de " +#~ "contactos en lugar de minimizar el área de notificación del sistema" + +#~ msgid "Me_rge accounts" +#~ msgstr "Combina_r cuentas" + +#~ msgid "Displays all your accounts merged into a single one" +#~ msgstr "Mostrar tus cuentas combinadas en una sola" + +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "Mostrar en el roster los a_vatares de los contactos" + +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "" +#~ "Si está marcado, los avatares de los contactos se mostrarán en la ventana " +#~ "de la lista de contactos y en los grupos" + +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "Mostrar en el roster los _mensajes de estado de los contactos" + +#~ msgid "" +#~ "If checked, status messages of contacts will be shown under the contact's " +#~ "name, in the contact list window, and in group chats" +#~ msgstr "" +#~ "Si está marcado, los mensajes de estado de los contactos se mostrarán " +#~ "debajo del nombre del contacto, en la ventana de la lista de contactos y " +#~ "en los grupos" + +#~ msgid "" +#~ "Show e_xtra information of contacts in contact list (mood, activity, ...)" +#~ msgstr "" +#~ "Mostrar información e_xtra de contactos en la lista de contactos (estado " +#~ "de ánimo, actividad, ...)" + +#~ msgid "" +#~ "If checked, additional info published by the contact will be shown in the " +#~ "contact list. Additional infos (published via PEP) may include e.g. mood, " +#~ "activity, tune, location, ..." +#~ msgstr "" +#~ "Si está marcada, la información adicional publicada por el contacto se " +#~ "mostrará en la lista de contactos. La información adicional (publicada a " +#~ "través de PEP) puede incluir, p.ej. estado de ánimo, actividad, melodía, " +#~ "ubicación, ..." + +#~ msgid "in _contact list" +#~ msgstr "en lista de _contactos" + +#~ msgid "in _group chats" +#~ msgstr "en _grupos de charla" + +#~ msgid "Enable spell _checking" +#~ msgstr "Habilitar corrector ortográfico" + +#~ msgid "" +#~ "If checked, spelling errors in input fields of chat windows will be " +#~ "highlighted. If no language is explicitly set via right click on the " +#~ "input field, the default language will be used for this contact or group " +#~ "chat. Needs gspell to be installed." +#~ msgstr "" +#~ "Si está marcado, se resaltarán los errores ortográficos en los campos de " +#~ "entrada de las ventanas de chat. Si no se establece explícitamente ningún " +#~ "idioma haciendo clic derecho en el campo de entrada, se usará el idioma " +#~ "predeterminado para este contacto o grupo. Necesita gspell instalado." + +#~ msgid "" +#~ "If checked, a small checkmark will be shown after each message when it " +#~ "was received. Note that this is not supported by all clients and " +#~ "therefore could be misleading." +#~ msgstr "" +#~ "Si está marcado, se mostrará una pequeña marca de verificación después de " +#~ "cada mensaje cuando se recibió. Ten en cuenta que esto no es compatible " +#~ "con todos los clientes y, por lo tanto, podría ser engañoso." + +#~ msgid "Display status messages in _single chats" +#~ msgstr "Mostrar mensajes de e_stado en chats individuales" + +#~ msgid "" +#~ "If checked, status lines will be shown in 1 on 1 chats when a contact " +#~ "changes their status or status message" +#~ msgstr "" +#~ "Si está marcada, las líneas de estado se mostrarán en chats 1 a 1 cuando " +#~ "un contacto cambie su estado o mensaje de estado" + +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "Mostrar el asunto después de unirse a un grupo" + +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "Si está marcado, el asunto se mostrará al unirse a un grupo" + +#~ msgid "Show join/leave (Default)" +#~ msgstr "Mostrar unirse/salir (predeterminado)" + +#~ msgid "" +#~ "If join/leave status messages are shown in the group chat. This setting " +#~ "can be overridden in the group chat menu." +#~ msgstr "" +#~ "Si los mensajes de estado de unirse/salir se muestran en el grupo. Esta " +#~ "configuración se puede anular en el menú de grupo." + +#~ msgid "" +#~ "The default sync threshold for new public group chats. This setting can " +#~ "be overridden in the group chat menu." +#~ msgstr "" +#~ "Umbral de sincronización predeterminado para los grupos públicos nuevos. " +#~ "Esta configuración se puede anular en el menú de grupo." + +#~ msgid "Show status changes (Default)" +#~ msgstr "Mostrar cambios de estado (Por defecto)" + +#~ msgid "" +#~ "If status change messages are shown in the group chat. This setting can " +#~ "be overridden in the group chat menu." +#~ msgstr "" +#~ "Si se muestran mensajes de cambio de estado en el grupo. Esta " +#~ "configuración se puede anular en el menú de chat de grupo." + +#~ msgid "" +#~ "If checked, the tab will be colored according to the current chatstate of " +#~ "the contact" +#~ msgstr "" +#~ "Si está marcado, la pestaña se coloreará de acuerdo al estado del contacto" + +#~ msgid "" +#~ "If checked, the contact row will be colored according to the current " +#~ "chatstate of the contact" +#~ msgstr "" +#~ "Si está marcado, la fila del contacto se coloreará de acuerdo al estado " +#~ "actual del contacto" + +#~ msgid "" +#~ "If checked, a description of the contacts current chatstate is shown in " +#~ "the banner" +#~ msgstr "" +#~ "Si está marcado, se muestra una descripción del estado actual de los " +#~ "contacto banner" + +#~ msgid "Chatstate" +#~ msgstr "Estado del chat" + +#~ msgid "_When new event is received" +#~ msgstr "Cuando se recibe un nuevo evento" + +#~ msgid "Allow popups/notifications when I'm _away, not available or busy" +#~ msgstr "" +#~ "Permitir notificaciones emergentes cuando estoy _ausente, no disponible u " +#~ "ocupado" + +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "Notif_icarme de los contactos que se conecten" + +#~ msgid "" +#~ "A popup window about contacts that just signed in will be shown in the " +#~ "bottom right of the screen " +#~ msgstr "" +#~ "Se mostrará una ventana emergente sobre los contactos que acaban de " +#~ "iniciar sesión en la parte inferior derecha de la pantalla " + +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "Notificarme de los contactos que desconectan" + +#~ msgid "" +#~ "A popup window about contacts that just signed out will be shown in the " +#~ "bottom right of the screen " +#~ msgstr "" +#~ "Se mostrará una ventana emergente sobre los contactos que acaban de " +#~ "cerrar sesión en la parte inferior derecha de la pantalla " + +#~ msgid "Play _sounds" +#~ msgstr "Reproducir _sonidos" + +#~ msgid "Ma_nage..." +#~ msgstr "Gestio_nar..." + +#~ msgid "Allow playing sounds when I'm _busy" +#~ msgstr "Permitir sonido cuando estoy ocupado" + +#~ msgid "Show the status change dialog on Sign In" +#~ msgstr "Mostrar diálogo de cambio de estado al registrarse" + +#~ msgid "Show the status change dialog on Sign Out" +#~ msgstr "Mostrar diálogo de cambio de estado al desconectar" + +#~ msgid "Show the status change dialog on all status changes" +#~ msgstr "" +#~ "Mostrar el diálogo de cambio de estado para todos los cambios de estado" + +#~ msgid "No_t Available" +#~ msgstr "No disponible" + +#~ msgid "" +#~ "If checked, the status will be changed to Not Available when the computer " +#~ "has not been used for the specified time" +#~ msgstr "" +#~ "Si está marcado, el estado cambiará a no disponible cuando el ordenador " +#~ "no se use durante el tiempo especificado" + +#~ msgid "" +#~ "If checked, the status will be changed to Away when the computer has not " +#~ "been used for the specified time" +#~ msgstr "" +#~ "Si está marcado, el estado cambiará a ausente cuando el ordenador no se " +#~ "use durante el tiempo especificado" + +#~ msgid "" +#~ "The automatic away status message. If empty, the current status message " +#~ "will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-away timeout." +#~ msgstr "" +#~ "Mensaje automático de estado de ausencia. Si está vacío, el mensaje de " +#~ "estado actual no cambiará.\n" +#~ "$S será reemplazado por el mensaje de estado anterior.\n" +#~ "$T será reemplazado por tiempo de espera automático." + +#~ msgid "" +#~ "The automatic not available status message. If empty, the current status " +#~ "message will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-not-available timeout." +#~ msgstr "" +#~ "Mensaje automático de estado no disponible. Si está vacío, el mensaje de " +#~ "estado actual no cambiará.\n" +#~ "$S será reemplazado por un mensaje de estado anterior.\n" +#~ "$T será reemplazado por un tiempo de espera automático no disponible." + +#~ msgid "Minutes" +#~ msgstr "Minutos" + +#~ msgid "_Theme" +#~ msgstr "_Tema" + +#~ msgid "Configure color and font of the interface" +#~ msgstr "Configurar colores y fuentes de la interfaz" + +#~ msgid "Icons" +#~ msgstr "Iconos" + +#~ msgid "" +#~ "If checked, protocol-specific status icons will be used (e.g. a contact " +#~ "from ICQ will have the equivalent ICQ icon for status online, away, busy, " +#~ "etc...)" +#~ msgstr "" +#~ "Si está marcado, se usarán iconos específicos para el protocolo (p. ej. " +#~ "un contacto de ICQ tendrá el icono de ICQ para su estado en línea, " +#~ "ausente, ocupado, etc...)" + +#~ msgid "" +#~ "STUN server hostname. If no hostname was given, Gajim will try\n" +#~ "to discover one from the server. (Example: stun.iptel.org)" +#~ msgstr "" +#~ "Nombre del servidor STUN. Si no se proporciona, Gajim intentará\n" +#~ "encontrar uno en el servidor. (Ejemplo: stun.iptel.org)" + +#~ msgid "Vi_ew own video source" +#~ msgstr "V_er la propia fuente de vídeo" + +#~ msgid "Video si_ze" +#~ msgstr "Tamaño de vídeo" + +#~ msgid "Video output" +#~ msgstr "Salida de vídeo" + +#~ msgid "Show live _preview" +#~ msgstr "Mostrar vista _previa en vivo" + +#~ msgid "_Manage..." +#~ msgstr "_Gestionar..." + +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "Guardar cambios de estados de contactos en el historial" + +#~ msgid "_Check for Gajim updates periodically" +#~ msgstr "_Comprobar actualizaciones de Gajim periódicamente" + +#~ msgid "Enables a weekly update check" +#~ msgstr "Habilitar comprobación semanal de actualizaciones" + +#~ msgid "Enable _debug logging (restart required)" +#~ msgstr "Habilitado trazado de _depuración (se requiere reiniciar)" + +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "Si está marcado, Gajim guardará archivo de traza para depuración" + +#~ msgid "Opens folder containing debug logs" +#~ msgstr "Abre carpeta conteniendo trazas de depuración" + +#~ msgid "" +#~ "In order to introduce you to features, Gajim displays some hints. This " +#~ "button will reset all these hints." +#~ msgstr "" +#~ "Para presentarte las funciones, Gajim muestra algunos consejos. Este " +#~ "botón restablecerá todas estas sugerencias." + +#~ msgid "_Open..." +#~ msgstr "_Abrir..." + +#~ msgid "" +#~ "Unavailable, video " +#~ "support will be disabled" +#~ msgstr "" +#~ "No disponible, el soporte " +#~ "de vídeo se deshabilitará" + +#~ msgid "_Leave Group Chat" +#~ msgstr "Abandonar grupo" + +#~ msgid "On" +#~ msgstr "Conectado" + +#~ msgid "Off" +#~ msgstr "Desconectado" + +#~ msgid "If enabled, Gajim displays the avatar in the chat window." +#~ msgstr "" +#~ "Si está habilitado, Gajm mostrará el avatar en la ventana de conversación." + +#~ msgid "Selecting text will copy it to the clipboard" +#~ msgstr "Seleccionar texto lo copiará al portapapeles" + +#~ msgid "Enable auto copy" +#~ msgstr "Habilitar auto copia" + +#~ msgid "" +#~ "If enabled, selected text will automatically be copied to the clipboard, " +#~ "otherwise you can copy text with CTRL + SHIFT + C" +#~ msgstr "" +#~ "Si está habilitado, el texto seleccionado se copiará en el portapapeles, " +#~ "de lo contrario puedes copiar texto con CTRL + MAYÚS + C" + +#~ msgid "Could not save your settings and preferences" +#~ msgstr "No se pueden guardar las preferencias" + +#~ msgid "_Filter" +#~ msgstr "_Filtro" + +#~ msgid "?config type:Color" +#~ msgstr "?config type:Color" + +#~ msgid "?password:Hidden" +#~ msgstr "?password:Oculta" + +#~ msgid "" +#~ "Show a warning dialog before sending password on an plaintext connection. " +#~ "Can be 'warn', or 'none'." +#~ msgstr "" +#~ "Muestra un aviso antes de enviar la contraseña a través de una conexión " +#~ "de texto plano. Puede ser 'warn', o 'none'." + +#~ msgid "Use default applications" +#~ msgstr "Usar aplicaciones por defecto" + +#~ msgid "Custom" +#~ msgstr "Personalizado" + +#~ msgid "None" +#~ msgstr "Ninguno" + +#~ msgid "%s Status Message" +#~ msgstr "Mensaje de estado %s" + +#~ msgid "Lists all preferences and their values" +#~ msgstr "Lista todas las preferencias y sus valores" + +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "Define el valor de 'entrada' a 'valor'." + +#~ msgid "key=value" +#~ msgstr "entrada=valor" + +#~ msgid "'key' is the name of the preference, 'value' is what to set it to" +#~ msgstr "" +#~ "'clave' es el nombre de la preferencia, 'valor' es el valor a definir" + +#~ msgid "Deletes a preference item" +#~ msgstr "Elimina un elemento de preferencia" + +#~ msgid "key" +#~ msgstr "entrada" + +#~ msgid "name of the preference to be deleted" +#~ msgstr "nombre de la preferencia a eliminar" + +#~ msgid "Writes the current state of Gajim preferences to the .config file" +#~ msgstr "" +#~ "Escribe el estado actual de la preferencias de Gajim al archivo de " +#~ "configuración" + +#~ msgid "default" +#~ msgstr "por defecto" + +#~ msgid "" +#~ "Character to propose to add after desired nickname when nickname is " +#~ "already used in group chat." +#~ msgstr "" +#~ "Carácter a proponer para añadir tras el alias deseado cuando el alias ya " +#~ "está siendo usado por alguien en el grupo." + +#~ msgid "" +#~ "How many seconds to wait before trying to automatically rejoin a group " +#~ "chat you were disconnected from. Set to 0 to disable automatic rejoining." +#~ msgstr "" +#~ "Cuántos segundos esperar antes de intentar unirse automáticamente a un " +#~ "chat grupal del que te desconectaste. Establezca en 0 para deshabilitar " +#~ "la reincorporación automática." + +#~ msgid "" +#~ "If enabled, Gajim will show affiliation of group chat participants by " +#~ "adding a colored square to the status icon." +#~ msgstr "" +#~ "Si está habilitado, Gajim mostrará la afiliación de los participantes del " +#~ "grupo agregando un cuadrado de color al ícono de estado." + +#~ msgid "" +#~ "Status to be used automatically when connecting. Can be 'online', 'chat', " +#~ "'away', 'xa' or 'dnd'. NOTE: This option is used only if " +#~ "'restore_last_status' is disabled." +#~ msgstr "" +#~ "Estado que se utilizará automáticamente al conectarse. Puede ser 'en " +#~ "línea', 'chat', 'ausente', 'ocupado' o 'no molestar'. NOTA: Esta opción " +#~ "se usa solo si 'restore_last_status' está deshabilitado." + +#~ msgid "List of SSL errors to ignore (space separated)." +#~ msgstr "Lista de errores SSL a ignorar (separados por espacios)." + +#~ msgid "" +#~ "How many seconds to wait for the answer of a ping alive packet before " +#~ "trying to reconnect." +#~ msgstr "" +#~ "Cuántos segundos esperar una respuesta de paquetes de mantenimiento de " +#~ "actividad antes de intentar reconectar." + +#~ msgid "I’m available." +#~ msgstr "Estoy disponible." + +#~ msgid "Be right back." +#~ msgstr "Vuelvo pronto." + +#~ msgid "I’m not available." +#~ msgstr "No estoy disponible." + +#~ msgid "Do not disturb." +#~ msgstr "No molestar." + +#~ msgid "Bye!" +#~ msgstr "¡Adiós!" + +#~ msgid "Timeout loading image" +#~ msgstr "Expiró el tiempo para cargar la imagen" + +#~ msgid "Image is too big" +#~ msgstr "La imagen es demasiado grande" + +#~ msgid "PyCURL is not installed" +#~ msgstr "PyCURL no está instalado" + +#~ msgid "Error loading image" +#~ msgstr "Error cargando imagen" + +#~ msgid "_Remember and restore status of the last session" +#~ msgstr "_Recordar y restaurar estado de la última sesión" + +#~ msgid "" +#~ "If enabled, Gajim will not ask for a status message. The specified " +#~ "default message will be used instead." +#~ msgstr "" +#~ "Si está habilitado, Gajim no preguntará un mensaje de estado. Será usado " +#~ "el mensaje por defecto especificado." + +#~ msgid "Default Message" +#~ msgstr "Mensajes por defecto" + +#~ msgid "Status Messages" +#~ msgstr "Mensajes de estado" + +#~ msgid "Preset Status Messages" +#~ msgstr "Mensajes de estado predefinidos" + +#~ msgid "Protocol" +#~ msgstr "Protocolo" + +#~ msgid "_Ignore this error for this certificate" +#~ msgstr "_Ignorar este error para este certificado" + +#~ msgid "Preset _messages" +#~ msgstr "_Mensajes preestablecidos" + +#~ msgid "_Type your new status message" +#~ msgstr "Escribe tu nuevo mensaje de estado" + +#~ msgid "Mood:" +#~ msgstr "Estado de ánimo" + +#~ msgid "Message:" +#~ msgstr "Mensaje:" + +#~ msgid "Set Activity" +#~ msgstr "Definir Actividad" + +#~ msgid "Set an activity" +#~ msgstr "Define una actividad" + +#~ msgid "Message: " +#~ msgstr "Mensaje: " + +#~ msgid "Loading" +#~ msgstr "Cargando" + +#~ msgid "status message title" +#~ msgstr "título del mensaje de estado" + +#~ msgid "status message text" +#~ msgstr "texto del mensaje de estado" + +#~ msgid "I'm free for chat." +#~ msgstr "Estoy libre para hablar." + +#~ msgid "Privacy Lists:" +#~ msgstr "Listas de privacidad:" + +#~ msgid "none" +#~ msgstr "ninguno" + +#~ msgid "both" +#~ msgstr "ambos" + +#~ msgid "from" +#~ msgstr "de" + +#~ msgid "to" +#~ msgstr "a" + +#~ msgid "Privacy List" +#~ msgstr "Lista de privacidad" + +#~ msgid "Privacy List" +#~ msgstr "Lista de privacidad" + +#~ msgid "Active for this session" +#~ msgstr "Activo para esta sesión" + +#~ msgid "Active on each startup" +#~ msgstr "Activo en cada inicio" + +#~ msgid "List of rules" +#~ msgstr "Lista de reglas" + +#~ msgid "Add / Edit a rule" +#~ msgstr "Añadir / Editar una regla" + +#~ msgid "Allow" +#~ msgstr "Permitir" + +#~ msgid "Deny" +#~ msgstr "Denegar" + +#~ msgid "all in the group" +#~ msgstr "todos en el grupo" + +#~ msgid "all by subscription" +#~ msgstr "todos por suscripción" + +#~ msgid "All" +#~ msgstr "Todos" + +#~ msgid "to send me messages" +#~ msgstr "para enviarme mensajes" + +#~ msgid "to send me queries" +#~ msgstr "para enviarme consultas" + +#~ msgid "to view my status" +#~ msgstr "para ver mi estado" + +#~ msgid "to send me status" +#~ msgstr "para enviarme el estado" + +#~ msgid "All (including subscription)" +#~ msgstr "Todo (incluyendo suscripción)" + +#~ msgid "Order:" +#~ msgstr "Orden:" + +#~ msgid "No account available" +#~ msgstr "Cuenta no disponible" + +#~ msgid "You must create an account before you can chat with other contacts." +#~ msgstr "" +#~ "Debes crear una cuenta antes de poder conversar con otros contactos." + +#~ msgid "Change Status Message…" +#~ msgstr "Cambiar mensaje de estado…" + +#~ msgid "" +#~ "Gajim aims to be an easy to use and fully-featured XMPP client. With " +#~ "Gajim you can chat through various XMPP services of your choice (e.g. " +#~ "Jabber.org) as well as transports (e.g. Facebook, IRC)." +#~ msgstr "" +#~ "Gajim pretende ser un cliente XMPP fácil de usar y con todas las " +#~ "funciones. Con Gajim puedes chatear a través de varios servicios XMPP de " +#~ "tu elección (por ejemplo, Jabber.org), así como transportes (por ejemplo, " +#~ "Facebook, IRC)." + +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "%(jid)s invitado a %(room_jid)s" + +#~ msgid "Privacy Lists" +#~ msgstr "Listas de privacidad" + +#~ msgid "Unblock" +#~ msgstr "Desbloquear" + +#~ msgid "Block" +#~ msgstr "Bloquear" + +#~ msgid "" +#~ "This contact will see you offline and you will not receive any messages " +#~ "sent to you by this contact." +#~ msgstr "" +#~ "Este contacto te verá siempre desconectado y no recibirás ningún mensaje " +#~ "que te envíe." + +#~ msgid "_Block Contact" +#~ msgstr "_Bloquear contacto" + +#~ msgid "Block Group" +#~ msgstr "Bloquear grupo" + +#~ msgid "Really block this group?" +#~ msgstr "¿Bloquear realmente este grupo?" + +#~ msgid "" +#~ "All contacts of this group will see you as offline and you will not " +#~ "receive any messages sent to you by any one of these contacts." +#~ msgstr "" +#~ "Todos los contacto de este grupo te verán como desconectado y no " +#~ "recibirás ningún mensaje enviado por ninguno de ellos." + +#~ msgid "_Block Group" +#~ msgstr "_Bloquear grupo" + +#~ msgid "Error While Removing Privacy List" +#~ msgstr "Error eliminando la lista de privacidad" + +#~ msgid "" +#~ "Privacy list %s has not been removed. It is probably active in one of " +#~ "your connected resources. Please deactivate it and try again." +#~ msgstr "" +#~ "La lista de privacidad %s no se ha eliminado. Podría estar activa en uno " +#~ "de tus recursos conectados. Desactívalo y prueba de nuevo." + +#~ msgid "Invisibility Not Supported" +#~ msgstr "Invisibilidad no soportada" + +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "Esta cuenta %s no soporta invisibilidad." + +#~ msgid "Privacy List %s" +#~ msgstr "Lista de privacidad %s" + +#~ msgid "Privacy List for %s" +#~ msgstr "Lista de privacidad para %s" + +#~ msgid "" +#~ "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" +#~ msgstr "" +#~ "Orden: %(order)s, acción: %(action)s, tipo: %(type)s, valor: %(value)s" + +#~ msgid "Order: %(order)s, action: %(action)s" +#~ msgstr "Orden: %(order)s, acción: %(action)s" + +#~ msgid "Edit a rule" +#~ msgstr "Editar una regla" + +#~ msgid "Add a rule" +#~ msgstr "Añadir una regla" + +#~ msgid "Privacy Lists for %s" +#~ msgstr "Listas de privacidad para %s" + +#~ msgid "Invalid List Name" +#~ msgstr "Nombre de lista no válido" + +#~ msgid "You must enter a name to create a privacy list." +#~ msgstr "Debes introducir un nombre para crear una lista de privacidad." + +#~ msgid "" +#~ "Deny authorization from contact so the contact cannot know if you are " +#~ "connected" +#~ msgstr "" +#~ "Denegar autorización al contacto para que no pueda saber si estás " +#~ "conectado" + +#~ msgid "Authorize contact so the contact can know if you are connected" +#~ msgstr "Autorizar al contacto para que pueda saber si estás conectado" + +#~ msgid "Start New Conversation" +#~ msgstr "Comenzar nueva conversación" + +#~ msgid "Simulate loss of connectivity" +#~ msgstr "Simular pérdida de conectividad" + +#~ msgid "Simulate regaining connectivity" +#~ msgstr "Simular recuperación de conectividad" + +#~ msgid "Unknown SSL error: %d" +#~ msgstr "Error SSL desconocido: %d" + +#~ msgid "Gajim - %s" +#~ msgstr "Gajim - %s" + +#~ msgid "" +#~ "Requires: libsecret and a provider (such as GNOME Keyring and " +#~ "KSecretService)" +#~ msgstr "" +#~ "Requiere: libsecret y un proveedor (como GNOME Keyring y KSecretService)" + +#~ msgid "Choose interval between 2 checks of idleness." +#~ msgstr "Elige intervalo entre 2 comprobaciones de inactividad." + +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "No está disponible el diccionario para el idioma \"%s\"" + +#~ msgid "" +#~ "You have to install the dictionary \"%s\" to use spellchecking, or choose " +#~ "another language by setting the speller_language option.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "Tienes que instalar el diccionario \"%s\" para usar el corrector " +#~ "ortográfico o elegir otro idioma ajustando la opción speller_language.\n" +#~ "\n" +#~ "No se usará el resaltado de los errores de escritura" + +#~ msgid "_Reconnect" +#~ msgstr "_Reconectar" + +#~ msgid "Quit" +#~ msgstr "Salir" + +#~ msgid "Show Contact List" +#~ msgstr "Mostrar lista de contactos" + +#~ msgid "Add to Contact List" +#~ msgstr "Añadir a la lista de contactos" + +#~ msgid "Invite Contact" +#~ msgstr "Invitar contacto" + +#~ msgid "Configure Group Chat" +#~ msgstr "Configurar grupos de charla" + +#~ msgid "" +#~ "If enabled, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." +#~ msgstr "" +#~ "Si está habilitado, Gajim mostrará un icono en cada pestaña que contiene " +#~ "mensajes no leídos. Dependiendo del tema, este icono puede estar animado." + +#~ msgid "Show _avatar in chat tabs" +#~ msgstr "Mostrar _avatar en la pestañas de las conversaciones" + +#~ msgid "Invalid character in hostname." +#~ msgstr "Carácter no válido en el nombre del host." + +#~ msgid "Server address required." +#~ msgstr "Se requiere la dirección del servidor." + +#~ msgid "Invalid character in username." +#~ msgstr "Caracter no válido en el nombre de usuario." + +#~ msgid "Invalid character in resource." +#~ msgstr "Carácter no válido en el recurso." + +#~ msgid "Notification color for contacts signing in." +#~ msgstr "Color de la notificación de los contactos que se conecten." + +#~ msgid "Notification color for contacts signing out." +#~ msgstr "Color de notificación de los contactos que se desconecten." + +#~ msgid "Notification color for new message notification." +#~ msgstr "Color de la notificación para notificación de nuevo mensaje." + +#~ msgid "Notification color for file transfer request." +#~ msgstr "Color de la notificación de petición de transferencia de fichero." + +#~ msgid "Notification color for file transfer errors." +#~ msgstr "Color de notificación de errores en transferencia de fichero." + +#~ msgid "Notification color for stopped or completed file transfers." +#~ msgstr "" +#~ "Color de notificación para transferencia de ficheros terminadas o " +#~ "detenidas." + +#~ msgid "Notification color for group chat invitations." +#~ msgstr "Color de notificación para invitaciones a grupos." + +#~ msgid "Notification background color for changed status." +#~ msgstr "Color de fondo para la notificación de estado cambiado." + +#~ msgid "Notification color for other dialogs." +#~ msgstr "Color de notificación para otros diálogos." + +#~ msgid "Event Type" +#~ msgstr "Tipo de evento" + +#, fuzzy +#~ msgid "Event desc" +#~ msgstr "Eventos" + +#, fuzzy +#~ msgid "No response from the Server" +#~ msgstr "No estás conectado al servidor" + +#~ msgid "Resource Conflict" +#~ msgstr "Conflicto en el recurso" + +#~ msgid "" +#~ "You are already connected to this account with the same resource. Please " +#~ "enter a different one." +#~ msgstr "" +#~ "Ya estás conectado a esta cuenta con el mismo recurso. Por favor escribe " +#~ "uno diferente." + +#~ msgid "Unable to load image" +#~ msgstr "No se puede cargar la imagen" + +#~ msgid "Media type not supported: %s" +#~ msgstr "Tipo de medio no admitido: %s" + +#~ msgid "This field is required" +#~ msgstr "Este campo es requerido" + +#~ msgid "new@jabber.id" +#~ msgstr "nuevo@jabber.id" + +#~ msgid "new%d@jabber.id" +#~ msgstr "nuevo%d@jabber.id" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Gajim: Asistente para crear una cuenta" + +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "Necesitas tener una cuenta para conectarte\n" +#~ "a la red XMPP." + +#~ msgid "I already have an account I want to _use" +#~ msgstr "Ya tengo una cuenta y quiero usarla" + +#~ msgid "I want to _register for a new account" +#~ msgstr "Quiero _registrar una nueva cuenta de Jabber" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "Por favor, elige una de las siguientes opciones:" + +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "Por favor, introduce los datos de tu cuenta actual" + +#~ msgid "_XMPP Address:" +#~ msgstr "Dirección _XMPP:" + +#~ msgid "Anon_ymous authentication" +#~ msgstr "Autentificación a_nónima" + +#~ msgid "_Password:" +#~ msgstr "C_ontraseña:" + +#~ msgid "Save pass_word" +#~ msgstr "_Guardar contraseña" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "Si está marcado, Gajim recordará la contraseña para esta cuenta" + +#~ msgid "Please select a server" +#~ msgstr "Por favor, selecciona un servidor" + +#~ msgid "_Server:" +#~ msgstr "_Servidor:" + +#~ msgid "Manage..." +#~ msgstr "Gestionar..." + +#~ msgid "_Port:" +#~ msgstr "_Puerto:" + +#~ msgid "_Advanced" +#~ msgstr "_Avanzado" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA1 fingerprint of the certificate:\n" +#~ msgstr "" +#~ "Añadir este certificado a la lista de certificados de confianza.\n" +#~ "Huella SHA1 del certificado:\n" + +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "Conectando al servidor\n" +#~ "\n" +#~ "Por favor espera..." + +#~ msgid "Connect when I press Finish" +#~ msgstr "Conectar cuando presione Finalizar" + +#~ msgid "Set my profile when I connect" +#~ msgstr "Definir mi perfil cuando me conecte" + +#~ msgid "_Finish" +#~ msgstr "_Finalizar" + +#, fuzzy +#~ msgid "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." +#~ msgstr "" +#~ "Puedes configurar opciones avanzadas de la cuenta pulsando el botón " +#~ "Avanzado, o más tarde mediante el submenú Cuentas del menú Editar de la " +#~ "ventana principal." + +#~ msgid "Your new account has been created successfully" +#~ msgstr "Tu nueva cuenta ha sido creada con éxito" + +#~ msgid "Invalid username" +#~ msgstr "Nombre de usuario no válido" + +#~ msgid "You must provide a username to configure this account." +#~ msgstr "Debes proporcionar un nombre para configurar esta cuenta." + +#~ msgid "Invalid server" +#~ msgstr "Servidor no válido" + +#~ msgid "Please provide a server on which you want to register." +#~ msgstr "Por favor, especifica un servidor donde te quieras registrar." + +#~ msgid "Invalid entry" +#~ msgstr "Entrada no válida" + +#~ msgid "Certificate Already in File" +#~ msgstr "El certificado ya está en el archivo" + +#~ msgid "This certificate is already in file %s, so it's not added again." +#~ msgstr "Este certificado ya está en el archivo %s, no fue añadido de nuevo." + +#~ msgid "" +#~ "Security Warning\n" +#~ "\n" +#~ "The authenticity of the %(hostname)s SSL certificate could be invalid.\n" +#~ "SSL Error: %(error)s\n" +#~ "Do you still want to connect to this server?" +#~ msgstr "" +#~ "Aviso de seguridad\n" +#~ "\n" +#~ "La autenticidad del certificado SSL de %(hostname)s podría no ser " +#~ "válida.\n" +#~ "Error SSL: %(error)s\n" +#~ "¿Aún quieres conectar a este servidor?" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA-256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Agregue este certificado a la lista de certificados de confianza.\n" +#~ "Huella digital SHA-1 del certificado:\n" +#~ "%(sha1)s\n" +#~ "Huella digital SHA256 del certificado:\n" +#~ "%(sha256)s" + +#~ msgid "Account name is in use" +#~ msgstr "El nombre de la cuenta está en uso" + +#~ msgid "You already have an account using this name." +#~ msgstr "Ya tienes una cuenta usando este nombre" + +#~ msgid "Show a warning dialog before using standard SSL library." +#~ msgstr "Muestra un aviso antes de usar la librería SSL estándar" + +#, fuzzy +#~ msgid "If enabled, a whitespace is sent after inactivity (keep alive)." +#~ msgstr "Espacio en blanco enviado tras inactividad" + +#, fuzzy +#~ msgid "If enabled, an XMPP ping is sent after inactivity (ping alive)." +#~ msgstr "Ping XMPP enviado tras inactividad" + +#~ msgid "Connection with account \"%s\" has been lost" +#~ msgstr "Se ha perdido la conexión de la cuenta \"%s\"" + +#~ msgid "Reconnect manually." +#~ msgstr "Reconectar manualmente." + +#~ msgid "Server %(name)s answered wrongly to register request: %(error)s" +#~ msgstr "" +#~ "El servidor %(name)s contestó incorrectamente a la petición de registro: " +#~ "%(error)s" + +#~ msgid "Server %s provided a different registration form" +#~ msgstr "El servidor %s provee un formulario de registro diferente" + +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "No se pudo conectar a \"%(host)s\" a través del proxy \"%(proxy)s\"" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "No se puede conectar a \"%s\"" + +#~ msgid "Check your connection or try again later." +#~ msgstr "Comprueba tu conexión o reinténtalo más tarde." + +#~ msgid "Server replied: %s" +#~ msgstr "El servidor respondió: %s" + +#~ msgid "Connection to proxy failed" +#~ msgstr "Falló la conexión al proxy" + +#~ msgid "Could not connect to account %s" +#~ msgstr "No se puede conectar a la cuenta %s" + +#~ msgid "Connection with account %s has been lost. Retry connecting." +#~ msgstr "Se perdió la conexión con la cuenta %s. Reintentando la conexión." + +#~ msgid "Please check your login and password for correctness." +#~ msgstr "" +#~ "Por favor, comprueba que tu nombre de usuario y contraseña sean correctos." + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "Conectar HTTP" + +#~ msgctxt "proxy configuration" +#~ msgid "BOSH" +#~ msgstr "BOSH" + +#~ msgid "Use HTTP prox_y" +#~ msgstr "Usar prox_y HTTP" + +#, fuzzy +#~ msgid "_BOSH URL" +#~ msgstr "URL _BOSH:" + +#~ msgid "BOSH" +#~ msgstr "BOSH" + +#, fuzzy +#~ msgid "Warn on insecure connection" +#~ msgstr "_Advertir antes de usar una conexión no segura" + +#, fuzzy +#~ msgid "Contact list, list of contacts" +#~ msgstr "_Registrar cambios de estado de los contactos" + +#~ msgid "You are participating in one or more group chats" +#~ msgstr "Estás participando en uno o más grupos de charla" + +#, fuzzy +#~ msgid "" +#~ "Changing your status to invisible will result in you leaving those group " +#~ "chats.\n" +#~ "Are you sure you want to go invisible?" +#~ msgstr "" +#~ "Cambiar tu estado a invisible provocará tu desconexión de los grupos de " +#~ "charla.\n" +#~ "¿Estás seguro de querer ser invisible?" + +#~ msgid "_Disconnect" +#~ msgstr "_Desconectar" + +#~ msgid "You cannot join a group chat while you are invisible" +#~ msgstr "No puedes entrar a un grupo de charla estando invisible" + +#~ msgid "Invisible" +#~ msgstr "Invisible" + +#, fuzzy +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "No puedes entrar a un grupo de charla estando invisible" + +#~ msgid "_Invisible" +#~ msgstr "_Invisible" + +#~ msgid "Yesterday" +#~ msgid_plural "%(nb_days)i days ago" +#~ msgstr[0] "Ayer" +#~ msgstr[1] "Hace %(nb_days)i días" + +#, fuzzy +#~ msgid "_Cancel Upload" +#~ msgstr "_Cancelar" + +#~ msgid " [blocked]" +#~ msgstr " [bloqueado]" + +#~ msgid " [minimized]" +#~ msgstr " [minimizado]" + +#, fuzzy +#~ msgid "" +#~ "If you close this tab while having chat history disabled, this message " +#~ "will be lost." +#~ msgstr "" +#~ "Si cierras esta pestaña y tienes el regstro desactivado, este mensaje se " +#~ "perderá." + +#, fuzzy +#~ msgid "Unregister Failed" +#~ msgstr "Falló el registro" + +#, fuzzy +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "" +#~ "No se pudo cancelar el registro con el servidor %(server)s: %(error)s" + +#~ msgid "New Password" +#~ msgstr "Nueva contraseña" + +#~ msgid "What do you want to do?" +#~ msgstr "¿Qué quieres hacer?" + +#~ msgid "Remove account from Gajim and from _server" +#~ msgstr "Eliminar la cuenta de Gajim y del _servidor" + +#, fuzzy +#~ msgid "You must enter a password" +#~ msgstr "Debes introducir una contraseña." + +#, fuzzy +#~ msgid "You still have open chats in your account %s" +#~ msgstr "Has abierto una conversación con la cuenta %s" + +#, fuzzy +#~ msgid "To unregister from a server, the account must be enabled." +#~ msgstr "Para cambiar el nombre de la cuenta, debes estar desconectado" + +#, fuzzy +#~ msgid "Password required" +#~ msgstr "Contraseña requerida" + +#, fuzzy +#~ msgid "Still connected to the server" +#~ msgstr "No estás conectado al servidor" + +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "" +#~ "La cuenta '%s' está todavía conectada al servidor. Si la eliminas, se " +#~ "perderá la conexión." + +#~ msgid "Connection to server %s failed" +#~ msgstr "La conexión al servidor %s ha fallado." + +#, fuzzy +#~ msgid "What would you like to do?" +#~ msgstr "¿Qué quieres hacer?" + +#, fuzzy +#~ msgid "Remove only from Gajim" +#~ msgstr "Eliminar la _cuenta únicamente de Gajim" + +#, fuzzy +#~ msgid "Contents" +#~ msgstr "_Contenidos" + +#, fuzzy +#~ msgid "FAQ" +#~ msgstr "_FAQ" + +#~ msgid "Save as Preset Status Message" +#~ msgstr "Guardar como mensaje de estado predefinido" + +#~ msgid "Enter a new nickname for contact %s" +#~ msgstr "Introduce un nuevo alias para el contacto %s" + +#, fuzzy +#~ msgid "Join a group chat" +#~ msgstr "en _grupos de charla" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "Aceptar" + +#~ msgid "New entry received" +#~ msgstr "Nueva entrada recibida" + +#~ msgid "You have received new entry:" +#~ msgstr "Has recibido una nueva entrada:" + +#~ msgid "Feed name:" +#~ msgstr "Nombre del feed:" + +#~ msgid "Last modified:" +#~ msgstr "Última modificación:" + +#~ msgid "Next entry" +#~ msgstr "Siguiente entrada" + +#~ msgid "Send file?" +#~ msgstr "¿Enviar archivo?" + +#, fuzzy +#~ msgid "Mail _client" +#~ msgstr "_Cliente de correo:" + +#, fuzzy +#~ msgid "_Browser" +#~ msgstr "_Navegador:" + +#, fuzzy +#~ msgid "_File manager" +#~ msgstr "A_dministrador de archivos:" + +#, fuzzy +#~ msgid "Custom applications" +#~ msgstr "¿Usar siempre las aplicaciones por defecto de OS/X?" + +#~ msgid "Applications" +#~ msgstr "Aplicaciones" + +#, fuzzy +#~ msgid "" +#~ "Uses ReStructured text markup to send HTML, plus ASCII formatting if " +#~ "selected. Needs docutils installed (for syntax, see http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Usa marcado de texto ReStructured para enviar HTML, mas formateado ascii " +#~ "si está seleccionado. Para la sintaxis, mira http://docutils.sourceforge." +#~ "net/docs/ref/rst/restructuredtext.html (If you want to use this, install " +#~ "docutils)" + +#, fuzzy +#~ msgid "_Ignore formatting of incoming messages" +#~ msgstr "_Ignorar contenido enriquecido en mensajes entrantes" + +#, fuzzy +#~ msgid "" +#~ "Some messages may include rich content (xhtml formatting, colors etc). If " +#~ "checked, Gajim will just display the plain message text." +#~ msgstr "" +#~ "Algunos mensajes pueden incluir contenido enriquecido (formato, colores " +#~ "etc). Si está marcado, Gajim mostrará el mensaje en bruto." + +#, fuzzy +#~ msgid "RST XHTML Generator" +#~ msgstr "Generador RST" + +#, fuzzy +#~ msgid "Requires: python-docutils" +#~ msgstr "Requiere python-docutils" + +#~ msgid "New Single Message" +#~ msgstr "Nuevo mensaje" + +#, fuzzy +#~ msgid "" +#~ "Can be empty, 'chat' or 'normal'. If not empty, all incoming messages are " +#~ "treated as if they were of this type." +#~ msgstr "" +#~ "Puede estar vacío, 'chat' o 'normal. Si no está vacío, tratará todos los " +#~ "mensajes entrantes como si fueran de este tipo" + +#~ msgid "Error %(code)s: %(msg)s" +#~ msgstr "Error %(code)s: %(msg)s" + +#~ msgid "twelve" +#~ msgstr "doce" + +#~ msgid "one" +#~ msgstr "uno" + +#~ msgid "two" +#~ msgstr "dos" + +#~ msgid "three" +#~ msgstr "tres" + +#~ msgid "four" +#~ msgstr "cuatro" + +#~ msgid "five" +#~ msgstr "cinco" + +#~ msgid "six" +#~ msgstr "seis" + +#~ msgid "seven" +#~ msgstr "siete" + +#~ msgid "eight" +#~ msgstr "ocho" + +#~ msgid "nine" +#~ msgstr "nueve" + +#~ msgid "ten" +#~ msgstr "diez" + +#~ msgid "eleven" +#~ msgstr "once" + +#~ msgid "%(0)s o'clock" +#~ msgstr "%(0)s en punto" + +#~ msgid "five past %(0)s" +#~ msgstr "%(0)s y cinco" + +#~ msgid "ten past %(0)s" +#~ msgstr "%(0)s y diez" + +#~ msgid "quarter past %(0)s" +#~ msgstr "%(0)s y cuarto" + +#~ msgid "twenty past %(0)s" +#~ msgstr "%(0)s y veinte" + +#~ msgid "twenty five past %(0)s" +#~ msgstr "%(0)s y veinticinco" + +#~ msgid "half past %(0)s" +#~ msgstr "%(0)s y media" + +#~ msgid "twenty five to %(1)s" +#~ msgstr "%(1)s menos veinticinco" + +#~ msgid "twenty to %(1)s" +#~ msgstr "%(1)s menos veinte" + +#~ msgid "quarter to %(1)s" +#~ msgstr "%(1)s menos cuarto" + +#~ msgid "ten to %(1)s" +#~ msgstr "%(1)s menos diez" + +#~ msgid "five to %(1)s" +#~ msgstr "%(1)s menos cinco" + +#~ msgid "%(1)s o'clock" +#~ msgstr "%(1)s en punto" + +#~ msgid "Night" +#~ msgstr "Noche" + +#~ msgid "Early morning" +#~ msgstr "Madrugada" + +#~ msgid "Morning" +#~ msgstr "Mañana" + +#~ msgid "Almost noon" +#~ msgstr "Media mañana" + +#~ msgid "Noon" +#~ msgstr "Mediodía" + +#~ msgid "Afternoon" +#~ msgstr "Tarde" + +#~ msgid "Evening" +#~ msgstr "Noche" + +#~ msgid "Late evening" +#~ msgstr "Noche" + +#~ msgid "Start of week" +#~ msgstr "Inicio de semana" + +#~ msgid "Middle of week" +#~ msgstr "Mitad de semana" + +#~ msgid "End of week" +#~ msgstr "Final de semana" + +#~ msgid "Weekend!" +#~ msgstr "¡Fin de semana!" + +#, fuzzy +#~ msgid "" +#~ "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or " +#~ "0 to disable Fuzzy Clock. 1 is the most precise clock, 4 the least " +#~ "precise one. This is used only if 'print_time' is 'sometimes'." +#~ msgstr "" +#~ "Imprime la hora en las conversaciones usando reloj hablado. El valor va " +#~ "de 1 a 4, o 0 para deshabilitar el reloj hablado. 1 es el reloj más " +#~ "preciso, 4 el menos. Sólo se usa si print_time está definido como " +#~ "'sometimes'." + +#~ msgid "message" +#~ msgstr "mensaje" + +#, fuzzy +#~ msgid "error: %s" +#~ msgstr "Mensaje de error: %s" + +#, fuzzy +#~ msgid "Form: %s" +#~ msgstr "De %s" + +#~ msgid "XML Input" +#~ msgstr "Entrada de XML" + +#, fuzzy +#~ msgid "Ttitle" +#~ msgstr "Título:" + +#, fuzzy +#~ msgid "%(type)s encryption is active %(authenticated)s" +#~ msgstr "El cifrado %(type)s está activo %(authenticated)s." + +#~ msgid "Screen" +#~ msgstr "Pantalla" + +#~ msgid "" +#~ "\n" +#~ "Disabled in config" +#~ msgstr "" +#~ "\n" +#~ "Deshabilitado en la configuración" + +#~ msgid "Conversation with " +#~ msgstr "Conversación con " + +#~ msgid "Continued conversation" +#~ msgstr "Conversación continuada" + +#~ msgid "%s has invited you to join a discussion" +#~ msgstr "%s te ha invitado a entrar en una discusión" + +#~ msgid "_Send Private Message" +#~ msgstr "_Enviar mensaje privado" + +#, fuzzy +#~ msgid "Participant Actions" +#~ msgstr "Participantes" + +#~ msgid "_Voice" +#~ msgstr "_Voz" + +#~ msgid "Mo_derator" +#~ msgstr "Mo_derador" + +#~ msgid "_Member" +#~ msgstr "_Miembro" + +#~ msgid "_Admin" +#~ msgstr "_Administrar" + +#~ msgid "_Owner" +#~ msgstr "_Propietario" + +#, fuzzy +#~ msgid "_Add to Contact List" +#~ msgstr "_Añadir contacto..." + +#, fuzzy +#~ msgid "_Execute command" +#~ msgstr "_Ejecutar comando" + +#~ msgid "Change _Nickname..." +#~ msgstr "Cambiar _Alias" + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "_Nuevo grupo de charla" + +#~ msgid "Change _Subject..." +#~ msgstr "Cambiar el _tema" + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "Entrar a un grupo de charla" + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "_Nuevo grupo de charla" + +#~ msgid "_Minimize on close" +#~ msgstr "_Minimizar al cerrar" + +#, fuzzy +#~ msgid "_Request Voice" +#~ msgstr "_Voz" + +#~ msgid "_Bookmark" +#~ msgstr "_Marcador" + +#, fuzzy +#~ msgid "The authenticity of the %s certificate could be invalid" +#~ msgstr "La autenticidad del certificado %s podría no ser válida." + +#~ msgid "" +#~ "\n" +#~ "Unknown SSL error: %d" +#~ msgstr "" +#~ "\n" +#~ "Error SSL desconocido: %d" + +#~ msgid "" +#~ "\n" +#~ "SSL Error: %s" +#~ msgstr "" +#~ "\n" +#~ "Error SSL: %s" + +#~ msgid "Error verifying SSL certificate" +#~ msgstr "Error verificando el certificado SSL" + +#, fuzzy +#~ msgid "View certificate…" +#~ msgstr "Certificado autofirmado" + +#~ msgid "Continue" +#~ msgstr "Continuar" + +#~ msgid "" +#~ "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM " +#~ "IS RUNNING)" +#~ msgstr "" +#~ "¿Quieres limpiar la base de datos? (TOTALMENTE DESACONSEJADO SI GAJIM " +#~ "ESTÁ EN EJECUCIÓN)" + +#, fuzzy +#~ msgid "Authorization" +#~ msgstr "La autorización ha sido enviada" + +#, fuzzy +#~ msgid "" +#~ "All chat and group chat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Todas las conversaciones y grupos de charla serán cerrados. ¿Deseas " +#~ "continuar?" + +#, fuzzy +#~ msgid "Account '%s' is still connected to the server" +#~ msgstr "La cuenta \"%s\" está conectada al servidor" + +#~ msgid "Error While Saving" +#~ msgstr "Error al guardar" + +#~ msgid "" +#~ "Image cannot be saved in %(type)s format.\n" +#~ "Save as %(new_filename)s?" +#~ msgstr "" +#~ "La imagen no se pudo guardar en formato %(type)s.\n" +#~ "¿Guardar como %(new_filename)s?" + +#~ msgid "Save _As" +#~ msgstr "Guardar _Como" + +#~ msgid "Yes, I really want to connect insecurely" +#~ msgstr "Sí, quiero conectarme de forma no segura" + +#~ msgid "Gajim will NOT connect unless you check this box" +#~ msgstr "Gajim NO conectará si no está marcada esta caja" + +#, fuzzy +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "ID de Jabber no válida para el grupo de charla" + +#, fuzzy +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "" +#~ "La ID de Jabber para el grupo de charla tiene caracteres no permitidos." + +#~ msgid "You may specify a reason below:" +#~ msgstr "Debes especificar un motivo debajo:" + +#~ msgid "Banning %s" +#~ msgstr "Expulsando a %s" + +#, fuzzy +#~ msgid "" +#~ "Always ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Preguntar siempre antes de cerrar la ventana/pestaña de un grupo de " +#~ "charla en esta lista (separada por espacios) de ID de Jabber de grupos de " +#~ "charla." + +#, fuzzy +#~ msgid "" +#~ "Never ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Nunca preguntar antes de cerrar la ventana/pestaña de un grupo de " +#~ "conversación en esta lista (separada por espacios) de ID de Jabber de " +#~ "grupos de charla." + +#, fuzzy +#~ msgid "Leave Group Chats" +#~ msgstr "Abandonar grupos de charla" + +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "%(nickname)s en %(room_jid)s" + +#, fuzzy +#~ msgid "You have not joined a group chat." +#~ msgstr "No has entrado al grupo de charla" + +#, fuzzy +#~ msgid "Choose the group chats you want to leave" +#~ msgstr "Elige los grupos de conversación que quieres abandonar" + +#, fuzzy +#~ msgid "You left the following group chats:" +#~ msgstr "Abandonaste los siguientes grupos de charla:" + +#~ msgid "Don't show avatar for the transport itself." +#~ msgstr "No mostrar avatar para el transporte en sí mismo" + +#, fuzzy +#~ msgid "" +#~ "Show a confirmation dialog for a custom status? Empty string means never " +#~ "show the dialog." +#~ msgstr "" +#~ "¿Debemos mostrar la confirmación de la creación de metacontactos o no? " +#~ "Una secuencia vacía significa que nunca se mostrará." + +#, fuzzy +#~ msgid "" +#~ "If enabled, notification windows from notification-daemon will be " +#~ "attached to the notification area icon." +#~ msgstr "" +#~ "Si es True, las ventanas de notificación del deminio notificador serán " +#~ "adjuntadas al área de notificación." + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending PLAIN password over a plain " +#~ "connection." +#~ msgstr "" +#~ "Muestra un aviso antes de enviar la contraseña a través de una conexión " +#~ "de texto plano." + +#, fuzzy +#~ msgid "Jabberd2 workaround." +#~ msgstr "Corrección Jabberd2" + +#, fuzzy +#~ msgid "Configure Services…" +#~ msgstr "Configurar servicios..." + +#, fuzzy +#~ msgid "Group Chat Bookmarks" +#~ msgstr "Grupos de charla" + +#, fuzzy +#~ msgid "Add Bookmark" +#~ msgstr "_Marcador" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "_Marcador" + +#, fuzzy +#~ msgid "_Server" +#~ msgstr "_Servidor:" + +#, fuzzy +#~ msgid "_Password" +#~ msgstr "C_ontraseña:" + +#, fuzzy +#~ msgid "Join chat when connected" +#~ msgstr "Contacto desconectado" + +#~ msgid "New Group Chat" +#~ msgstr "Nuevo grupo de charla" + +#~ msgid "This bookmark has invalid data" +#~ msgstr "Este marcador tiene información no válida" + +#, fuzzy +#~ msgid "" +#~ "Please be sure to fill out server and group chat fields or remove this " +#~ "bookmark." +#~ msgstr "" +#~ "Por favor, asegúrate de rellenar los campos de servidor y salón o elimina " +#~ "este marcador." + +#~ msgid "Character not allowed" +#~ msgstr "Carácter no permitido" + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "ID de Jabber no válida para el grupo de charla" + +#~ msgid "Unable to join group chat" +#~ msgstr "No se pudo entrar al grupo de charla" + +#~ msgid "You are banned from group chat %s." +#~ msgstr "Estás baneado del grupo de charla %s-" + +#~ msgid "Remote server %s does not exist." +#~ msgstr "El servidor remoto %s no existe." + +#~ msgid "Group chat %s does not exist." +#~ msgstr "El grupo de charla %s no existe." + +#, fuzzy +#~ msgid "Group chat creation is not permitted." +#~ msgstr "La creación de grupos de charla está restringida." + +#~ msgid "You must use your registered nickname in %s." +#~ msgstr "Debe usar su alias registrado en %s." + +#, fuzzy +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "No estás en la lista de miembros del grupo de charla %s." + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "Esto no es un grupo de charla" + +#~ msgid "This is not a group chat" +#~ msgstr "Esto no es un grupo de charla" + +#, fuzzy +#~ msgid "Please choose a group chat" +#~ msgstr "Por favor crea un nuevo tema desde cero con el nombre deseado." + +#~ msgid "Invalid Nickname" +#~ msgstr "Alias no válido" + +#, fuzzy +#~ msgid "Wrong server" +#~ msgstr "Uri incorrecta" + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "%s no es un servidor de grupo de charla" + +#, fuzzy +#~ msgid "A Password is required to join the group chat %s. Please type it." +#~ msgstr "Se requiere una contraseña para entrar al salón %s. Introdúcela." + +#~ msgid "Not in Roster" +#~ msgstr "no está en el roster" + +#~ msgid "I would like to add you to my roster" +#~ msgstr "Me gustaría añadirte a mi lista de contactos" + +#, fuzzy +#~ msgid "Add to Roster" +#~ msgstr "_Añadir a la lista de contactos" + +#, fuzzy +#~ msgid "Manage Room" +#~ msgstr "_Gestionar salón" + +#, fuzzy +#~ msgid "Configure Room" +#~ msgstr "Configurar el salón" + +#, fuzzy +#~ msgid "Destroy Room" +#~ msgstr "_Desmantelar salón" + +#, fuzzy +#~ msgid "Change Nick" +#~ msgstr "Cambiar _Alias" + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "_Desconectar" + +#~ msgid "Copy JID" +#~ msgstr "Copiar JID" + +#, fuzzy +#~ msgid "Add to Roster…" +#~ msgstr "_Añadir a la lista de contactos" + +#~ msgid "Copy JID/Email" +#~ msgstr "Copiar JID/dirección de correo" + +#, fuzzy +#~ msgid "JID: %s" +#~ msgstr "ID de Jabber : %s" + +#~ msgid "Changing Subject" +#~ msgstr "Cambiando el tema" + +#~ msgid "Please specify the new subject:" +#~ msgstr "Especifica el nuevo tema:" + +#~ msgid "Room logging is now enabled" +#~ msgstr "Ha sido activado el registro del salón" + +#~ msgid "Room logging is now disabled" +#~ msgstr "El salón está ahora deshabilitado" + +#, fuzzy +#~ msgid "You (%s) joined the room" +#~ msgstr "%s ha entrado en el grupo de charla" + +#~ msgid "Room logging is enabled" +#~ msgstr "Registro del salón activado" + +#, fuzzy +#~ msgid "Unable to join groupchat" +#~ msgstr "No se pudo entrar al grupo de charla" + +#~ msgid "Groupchat Invitation" +#~ msgstr "Invitación a grupo de charla" + +#~ msgid "%(jid)s has been invited in this room" +#~ msgstr "%(jid)s ha sido invitado en esta sala" + +#, fuzzy +#~ msgid "JID is not a Groupchat" +#~ msgstr "Esto no es un grupo de charla" + +#~ msgid "Invalid JID" +#~ msgstr "ID de Jabber no válida" + +#~ msgid "A connection is not available" +#~ msgstr "No hay disponible una conexión" + +#, fuzzy +#~ msgid "JID already in list" +#~ msgstr "La ID de Jabber ya está en la lista" + +#~ msgid "Unsecure" +#~ msgstr "Inseguro" + +#, fuzzy +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "No hay disponible una conexión" + +#~ msgid "Removes contact from roster" +#~ msgstr "Elimina contacto del roster" + +#~ msgid "Not in roster" +#~ msgstr "No está en el roster" + +#, fuzzy +#~ msgid "Contact signed in notification color." +#~ msgstr "_Mostrar evento en roster" + +#, fuzzy +#~ msgid "File transfer request notification color." +#~ msgstr "Petición de transferencia de archivo" + +#, fuzzy +#~ msgid "File transfer error notification color." +#~ msgstr "Transferencia de archivo cancelada" + +#, fuzzy +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "" +#~ "Cuando una transferencia se completa, muestra una notificación emergente" + +#, fuzzy +#~ msgid "Groupchat invitation notification color" +#~ msgstr "Invitación a grupo de charla" + +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "¿Añadir * y [n] en el título del roster?" + +#~ msgid "Hides the banner in two persons chat window" +#~ msgstr "Oculta el banner en una ventana de conversación de dos personas." + +#, fuzzy +#~ msgid "" +#~ "Show the confirm metacontacts creation dialog or not? Empty string means " +#~ "never show the dialog." +#~ msgstr "" +#~ "¿Debemos mostrar la confirmación de la creación de metacontactos o no? " +#~ "Una secuencia vacía significa que nunca se mostrará." + +#~ msgid "Space separated list of ssl errors to ignore." +#~ msgstr "Lista separada por espacios de errores ssl a ignorar." + +#~ msgid "Answer to receipt requests" +#~ msgstr "Contestar peticiones recibidas" + +#, fuzzy +#~ msgid "Language for which misspelled words will be checked" +#~ msgstr "Lenguaje en el que queremos comprobar errores ortográficos" + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "Estoy comiendo, déjame un mensaje." + +#, fuzzy +#~ msgid "from room %s" +#~ msgstr " del salón %s" + +#~ msgid "Leave Groupchats" +#~ msgstr "Abandonar grupos de charla" + +#, fuzzy +#~ msgid "Auto Join" +#~ msgstr "Auto conectar" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "Salón:" + +#~ msgid "Jabber ID:" +#~ msgstr "ID de Jabber:" + +#~ msgid "Occupant Actions" +#~ msgstr "Acciones de ocupante" + +#~ msgid "_Add to Roster" +#~ msgstr "_Añadir a la lista de contactos" + +#~ msgid "_Manage Room" +#~ msgstr "_Gestionar salón" + +#~ msgid "Configure _Room..." +#~ msgstr "Configurar el salón" + +#~ msgid "_Destroy Room" +#~ msgstr "_Desmantelar salón" + +#~ msgid "Jabber ID" +#~ msgstr "ID de Jabber:" + +#, fuzzy +#~ msgid "account" +#~ msgstr "cuenta: " + +#, fuzzy +#~ msgid "Roster" +#~ msgstr "Mostrar _roster" + +#, fuzzy +#~ msgid "Show only in roster" +#~ msgstr "Sólo mostrar en la _lista de contactos" + +#~ msgid "in _roster" +#~ msgstr "en _roster" + +#~ msgid "Roster Appearance" +#~ msgstr "Aspecto del Roster" + +#, fuzzy +#~ msgid "Show chatstate in roster" +#~ msgstr "Mostrar en el roster los a_vatares de los contactos" + +#~ msgid "_Add to Roster..." +#~ msgstr "_Añadir al roster" + +#~ msgid "_Jabber ID:" +#~ msgstr "ID de _Jabber: " + +#, fuzzy +#~ msgid "_Jabber ID" +#~ msgstr "ID de _Jabber: " + +#~ msgid "JabberID" +#~ msgstr "ID de Jabber:" + +#, fuzzy +#~ msgid "Show Roster" +#~ msgstr "Mostrar _roster" + +#~ msgid "MUC server" +#~ msgstr "Servidor MUC" + +#~ msgid "Room Configuration" +#~ msgstr "Configuración del salón" + +#~ msgid "Join _Group Chat" +#~ msgstr "Entrar a un grupo de charla" + +#, fuzzy +#~ msgid "Audio sessions are not available" +#~ msgstr "El bus de la sesión no está disponible" + +#~ msgid "Conference" +#~ msgstr "Conferencia" + +#, fuzzy +#~ msgid "_Manage Bookmarks…" +#~ msgstr "Gestionar marcadores" + +#, fuzzy +#~ msgid "Hide _Roster" +#~ msgstr "en _roster" + +#~ msgid "Show _Roster" +#~ msgstr "Mostrar _roster" + +#, fuzzy +#~ msgid "Invalid Room" +#~ msgstr "Salón no válido" + +#~ msgid "Invalid room" +#~ msgstr "Salón no válido" + +#~ msgid "A GTK+ Jabber client" +#~ msgstr "Un cliente de Jabber en GTK" + +#~ msgid "Changing Nickname" +#~ msgstr "Cambiando alias" + +#~ msgid "Please specify the new nickname you want to use:" +#~ msgstr "Especifica el nuevo alias que quieres usar:" + +#~ msgid "Bookmark already set" +#~ msgstr "Marcador ya definido" + +#, fuzzy +#~ msgid "Group Chat '%s' is already in your bookmarks." +#~ msgstr "El salón \"%s\" ya se encuentra en tus marcadores." + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "Marcador añadido con éxito" + +#, fuzzy +#~ msgid "" +#~ "You can manage your bookmarks by clicking the Bookmarks menu item in your " +#~ "contact list." +#~ msgstr "" +#~ "Puedes gestionar tus marcadores mediante el menú Acciones de tu roster" + +#, fuzzy +#~ msgid "The nickname contains invalid characters." +#~ msgstr "El alias tiene caracteres no permitidos." + +#, fuzzy +#~ msgid "Bookmark Room" +#~ msgstr "Añadir este salón a marcadores (Ctrl+B)" + +#~ msgid "_Join New Group Chat" +#~ msgstr "_Entrar en nuevo grupo de charla" + +#~ msgid "Name:" +#~ msgstr "Nombre:" + +#, fuzzy +#~ msgid "Description:" +#~ msgstr "Descripción: " + +#, fuzzy +#~ msgid "Address:" +#~ msgstr "_Dirección:" + +#, fuzzy +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "No puedes entrar a un salón de chat hasta que no estés conectado." + +#, fuzzy +#~ msgid "Occupants" +#~ msgstr "Acciones de ocupante" + +#~ msgid "_Modify Account..." +#~ msgstr "_Modificar cuenta..." + +#~ msgid "Boolean" +#~ msgstr "Booleano" + +#~ msgid "Integer" +#~ msgstr "Entero" + +#~ msgid "Text" +#~ msgstr "Texto" + +#~ msgid "Value" +#~ msgstr "Valor" + +#~ msgid "(None)" +#~ msgstr "(Ninguno)" + +#~ msgid "Hidden" +#~ msgstr "Oculta" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "Gestionar perfiles del Proxy" + +#~ msgid "Properties" +#~ msgstr "Propiedades" + +#, fuzzy +#~ msgid "Proxy _Port" +#~ msgstr "_Puerto del Proxy:" + +#, fuzzy +#~ msgid "New Groupchat" +#~ msgstr "Nuevo grupo de charla" + +#, fuzzy +#~ msgid "New Contact" +#~ msgstr "Añadir un contacto" + +#, fuzzy +#~ msgid "File transfer" +#~ msgstr "Transferencias" + +#~ msgid "Open _Containing Folder" +#~ msgstr "Abrir la _carpeta contenedora" + +#, fuzzy +#~ msgid "Default:" +#~ msgstr "Por defecto" + +#, fuzzy +#~ msgid "toolbutton" +#~ msgstr "botón" + +#~ msgid "" +#~ "If you close this window, you will be disconnected from this group chat." +#~ msgstr "" +#~ "Si cierras esta ventana, serás desconectado de este grupo de charla." + +#~ msgid "Really quit Gajim?" +#~ msgstr "¿Cerrar realmente Gajim?" + +#~ msgid "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" +#~ msgstr "" +#~ "Ya no podrás enviar y recibir mensajes a contactos de estos transportes: " +#~ "%s" + +#~ msgid "Contact \"%s\" will be removed from your roster" +#~ msgstr "El contacto \"%s\" será eliminado de tu roster" + +#, fuzzy +#~ msgid "" +#~ "By removing this contact you also by default remove authorization " +#~ "resulting in them always seeing you as offline." +#~ msgstr "" +#~ "Eliminando este contacto también se está eliminando la autorización. Este " +#~ "contacto siempre te verá desconectado." + +#~ msgid "Contacts will be removed from your roster" +#~ msgstr "Los contactos serán eliminados de tu roster" + +#~ msgid "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorization resulting in them always seeing you as " +#~ "offline." +#~ msgstr "" +#~ "Eliminando estos contactos: %s\n" +#~ "también estás eliminando las autorizaciones resultantes y ellos siempre " +#~ "te verán desconectado." + +#, fuzzy +#~ msgid "Con_tinue" +#~ msgstr "_Continuar" + +#~ msgid "_Pause" +#~ msgstr "_Pausa" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "Eliminar transferencias de la lista" + +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "" +#~ "Esta acción elimina transferencias de la lista. Si la transferencia está " +#~ "activa, es primero detenida y luego eliminada" + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "Cancela la transferencia de archivo seleccionada" + +#, fuzzy +#~ msgid "Hide the window" +#~ msgstr "Oculta la ventana" + +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "" +#~ "Cuando una transferencia se completa, muestra una notificación emergente" + +#~ msgid "From:" +#~ msgstr "De:" + +#~ msgid "Subject:" +#~ msgstr "Tema:" + +#~ msgid "%s wants to send you a file:" +#~ msgstr "%s quiere enviarte un archivo:" + +#~ msgid "Name: " +#~ msgstr "Nombre: " + +#~ msgid "Pause" +#~ msgstr "Pausa" + +#, fuzzy +#~ msgid "Execute Command" +#~ msgstr "_Ejecutar comando" + +#~ msgid "Type: " +#~ msgstr "Tipo: " + +#~ msgid "Transferred: " +#~ msgstr "Transferido: " + +#~ msgid "Completed" +#~ msgstr "Completado" + +#~ msgid "Stalled" +#~ msgstr "Atascado" + +#~ msgid "Transferring" +#~ msgstr "Transfiriendo" + +#~ msgid "Not started" +#~ msgstr "No iniciado" + +#~ msgid "%s day" +#~ msgid_plural "%s days" +#~ msgstr[0] "%s día" +#~ msgstr[1] "%s días" + +#~ msgid "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Todas las conversaciones y grupos de charla serán cerrados. ¿Deseas " +#~ "continuar?" + +#~ msgid "" +#~ "Your desired nickname in group chat\n" +#~ "%s\n" +#~ "is in use or registered by another occupant.\n" +#~ "Please specify another nickname below:" +#~ msgstr "" +#~ "Su alias deseado en chat grupal\n" +#~ "%s\n" +#~ "está en uso o registrado por otro ocupante.\n" +#~ "Por favor, especifique otro alias a continuación:" + +#~ msgid "_Configure" +#~ msgstr "_Configurar" + +#, fuzzy +#~ msgid "Change the avatar" +#~ msgstr "Cambiar estado" + +#, fuzzy +#~ msgid "" +#~ "Account in which the avatar will be set; if not specified, the avatar " +#~ "will be set for all accounts" +#~ msgstr "" +#~ "Cuenta a la que el xml será enviado; si no se especifica nada, el xml " +#~ "será enviado a todas las cuentas" + +#~ msgid "add" +#~ msgstr "añadir" + +#, fuzzy +#~ msgid "modify" +#~ msgstr "Modificar" + +#, fuzzy +#~ msgid "remove" +#~ msgstr "_Eliminar" + +#, fuzzy +#~ msgid "" +#~ "If true, restored messages will use a smaller font than the default one." +#~ msgstr "" +#~ "Si es True, los mensajes restaurados usarán una fuente más pequeña que la " +#~ "predefinida." + +#, fuzzy +#~ msgid "Restored Message Color" +#~ msgstr "_Restablecer colores por defecto" + +#, fuzzy +#~ msgid "" +#~ "You are going to remove this room permanently.\n" +#~ "You may specify a reason below:" +#~ msgstr "" +#~ "Vas a destruir definitivamente este salón.\n" +#~ "Puedes especificar una razón abajo:" + +#~ msgid "Send Cus_tom Status" +#~ msgstr "Envía estado personalizado" + +#, fuzzy +#~ msgid "" +#~ "You are about to send a custom status. Are you sure you want to continue?" +#~ msgstr "Vas a crear un metacontacto. ¿Estás seguro de continuar?" + +#, fuzzy +#~ msgid "" +#~ msgstr "Tema" + +#~ msgid "#" +#~ msgstr "#" + +#~ msgid "You are about to block a contact. Are you sure you want to continue?" +#~ msgstr "Vas a bloquear un contacto. ¿Estás seguro de continuar?" + +#~ msgid "To:" +#~ msgstr "A:" + +#~ msgid "0" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Reconnect when connection is lost" +#~ msgstr "Autoreconectar si se pierde la conexión" + +#, fuzzy +#~ msgid "Server Message Archive" +#~ msgstr "_Enviar mensaje de servidor" + +#, fuzzy +#~ msgid "Message Carbons" +#~ msgstr "Mensajes" + +#~ msgid "" +#~ "Sent chat state notifications. Can be one of all, composing_only, " +#~ "disabled." +#~ msgstr "" +#~ "Notificaciones de estado enviadas. Puede ser all, composing_only o " +#~ "disabled." + +#, fuzzy +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "Permitir envío de información sobre el sistema operativo" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the idle time of your system" +#~ msgstr "" +#~ "Si está marcado, Gajim permitirá a otros detectar el sistema operativo " +#~ "que estás usando" + +#, fuzzy +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "Permitir envío de información sobre el sistema operativo" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the local time on your system" +#~ msgstr "" +#~ "Si está marcado, Gajim permitirá a otros detectar el sistema operativo " +#~ "que estás usando" + +#, fuzzy +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "Permitir envío de información sobre el sistema operativo" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the operating system you are " +#~ "using" +#~ msgstr "" +#~ "Si está marcado, Gajim permitirá a otros detectar el sistema operativo " +#~ "que estás usando" + +#, fuzzy +#~ msgid "" +#~ "If checked, incoming events from unauthorized contacts will be ignored. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster." +#~ msgstr "" +#~ "Si está marcado, Gajim ignorará eventos entrantes de contactos no " +#~ "autorizados. Úsalo con precaución ya que bloqueará todos los mensajes de " +#~ "cualquier contacto que no esté en tu lista de contactos." + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." +#~ msgstr "" +#~ "Gajim puede enviar y recibir meta-información relacionada con una " +#~ "conversación que puedas tener con un contacto. Aquí puedes especificar " +#~ "qué estados de conversación enviar a la potra parte." + +#, fuzzy +#~ msgid "S_end chat state notifications" +#~ msgstr "Enviar notificaciones del estado de la conversación:" + +#, fuzzy +#~ msgid "Login Options" +#~ msgstr "_Emoticonos:" + +#~ msgid "Please wait while retrieving search form..." +#~ msgstr "Por favor, espera mientras se solicita el formulario de búsqueda..." + +#~ msgid "_Add contact" +#~ msgstr "Añadir un _Contacto" + +#~ msgid "Ad-hoc Commands - Gajim" +#~ msgstr "Comandos Ad hoc - Gajim" + +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "Por favor, espera mientras se solicita la lista de comandos..." + +#~ msgid "Choose command to execute:" +#~ msgstr "Elige el comando a ejecutar:" + +#~ msgid "Check once more" +#~ msgstr "Comprobar de nuevo" + +#, fuzzy +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "Por favor, espera mientras se envía el comando..." + +#~ msgid "This jabber entity does not expose any commands." +#~ msgstr "Esta entidad de jabber no expone comandos." + +#, fuzzy +#~ msgid "F_inish" +#~ msgstr "_Finalizar" + +#~ msgid "Waiting for results" +#~ msgstr "Esperando resultados" + +#~ msgid "Error in received dataform" +#~ msgstr "Error en la información recibida del formulario" + +#~ msgid "No result" +#~ msgstr "Sin resultados" + +#~ msgid "Failed to get secret keys" +#~ msgstr "Error obteniendo las claves secretas" + +#, fuzzy +#~ msgid "There is no OpenPGP secret key available." +#~ msgstr "Ha habido un problema recuperando tus claves secretas OpenPGP" + +#~ msgid "OpenPGP Key Selection" +#~ msgstr "Selección de clave OpenPGP" + +#~ msgid "Choose your OpenPGP key" +#~ msgstr "Elige tu clave OpenPGP" + +#~ msgid "KeyID" +#~ msgstr "KeyID" + +#~ msgid "Contact name" +#~ msgstr "Nombre de contacto" + +#, fuzzy +#~ msgid "OpenPGP is not usable" +#~ msgstr "GPG no es usable" + +#~ msgid "" +#~ "Gajim needs python-gnupg >= 0.3.8\n" +#~ "Beware there is an incompatible Python package called gnupg.\n" +#~ "You will be connected to %s without OpenPGP." +#~ msgstr "" +#~ "Gajim necesita python-gnupg >= 0.3.8\n" +#~ "Se advierte de que hay un paquete Python incompatible llamado gnupg.\n" +#~ "Serás conectado con %s sin OpenPGP." + +#~ msgid "Assign OpenPGP Key" +#~ msgstr "Asignar clave OpenPGP" + +#~ msgid "Select a key to apply to the contact" +#~ msgstr "Selecciona una clave para ser aplicada al contacto" + +#, fuzzy +#~ msgid "" +#~ "You configured Gajim to use OpenPGP agent, but there is no OpenPGP agent " +#~ "running or it returned a wrong passphrase.\n" +#~ msgstr "" +#~ "Configuraste Gajim para usar un agente GPG, pero no hay ningún agente en " +#~ "ejecución o el mismo devolvió una contraseña errónea.\n" + +#~ msgid "You are currently connected without your OpenPGP key." +#~ msgstr "Estás actualmente conectado sin tu clave GPG" + +#, fuzzy +#~ msgid "Wrong passphrase" +#~ msgstr "Contraseña equivocada" + +#, fuzzy +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "Contraseña equivocada" + +#~ msgid "Passphrase Required" +#~ msgstr "Contraseña requerida" + +#, fuzzy +#~ msgid "" +#~ "Enter OpenPGP key passphrase for key %(keyid)s (account %(account)s)." +#~ msgstr "" +#~ "Introduce la contraseña GPG para la clave %(keyid)s (cuenta %(account)s)." + +#, fuzzy +#~ msgid "OpenPGP key expired" +#~ msgstr "La clave GPG expiró" + +#, fuzzy +#~ msgid "" +#~ "Your OpenPGP key has expired, you will be connected to %s without OpenPGP." +#~ msgstr "Tu clave GPG ha expirado, te conectarás a %s sin OpenPGP" + +#~ msgid "Wrong Passphrase" +#~ msgstr "Contraseña equivocada" + +#, fuzzy +#~ msgid "Please retype your OpenPGP passphrase or press Cancel." +#~ msgstr "Por favor, vuelve a escribir tu contraseña GPG o presiona Cancelar." + +#~ msgid "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Envía un nuevo mensaje de conversación a un contacto en el roster. Tanto " +#~ "la clave OpenPGP como la cuenta son opcionales. Si quieres definir sólo " +#~ "'cuenta' sin 'clave pgp', sólo define 'clave pgp' a ''." + +#~ msgid "if specified, the message will be encrypted using this public key" +#~ msgstr "si es especificado, el mensaje será cifrado usando su clave pública" + +#, fuzzy +#~ msgid "" +#~ "Sends a chat message to someone on your roster. Optionally with OpenPGP " +#~ "key and account. If you want to only set the latter, set OpenPGP key to " +#~ "\"\"." +#~ msgstr "" +#~ "Envía un nuevo mensaje de conversación a un contacto en el roster. Tanto " +#~ "la clave OpenPGP como la cuenta son opcionales. Si quieres definir sólo " +#~ "'cuenta' sin 'clave pgp', sólo define 'clave pgp' a ''." + +#~ msgid "" +#~ "If disabled, don't sign presences with GPG key, even if GPG is configured." +#~ msgstr "" +#~ "Si está desactivado, no firmar presencias con la clave GPG, incluso si " +#~ "GPG está configurado." + +#, fuzzy +#~ msgid "OpenPGP:" +#~ msgstr "OpenPGP: " + +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "Asignar clave Open_PGP..." + +#, fuzzy +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "Cifrado de mensajes OpenPGP" + +#, fuzzy +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "Posibilidad de cifrar mensajes de chat con OpenPGP." + +#, fuzzy +#~ msgid "Requires: gpg and python-gnupg (%(url)s)" +#~ msgstr "Requiere gpg y python-gnupg (%(url)s)." + +#, fuzzy +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "Requiere gpg.exe en PATH." + +#, fuzzy +#~ msgid "Use PGP Agent" +#~ msgstr "Usar agente G_PG" + +#, fuzzy +#~ msgid "OpenPGP Key" +#~ msgstr "Asignar clave OpenPGP" + +#~ msgid "Cancel confirmation" +#~ msgstr "Cancelar información" + +#~ msgid "" +#~ "You are in process of executing command. Do you really want to cancel it?" +#~ msgstr "Hay un comando en ejecución. ¿Realmente quieres cancelarlo?" + +#~ msgid "Service sent malformed data" +#~ msgstr "El servicio envió información malformada" + +#~ msgid "Service changed the session identifier." +#~ msgstr "El servicio cambió el identificador de la sesión" + +#~ msgid "%s - Ad-hoc Commands - Gajim" +#~ msgstr "%s - Comandos Ad-hoc - Gajim" + +#~ msgid "Service returned an error." +#~ msgstr "El servicio devolvió un error" + +#~ msgid "You are invited to a groupchat" +#~ msgstr "Has sido invitado a un grupo de charla" + +#~ msgid "_Start Chat" +#~ msgstr "Iniciar conversación" + +#~ msgid "Au_thorize" +#~ msgstr "Au_torizar" + +#~ msgid "Really send file?" +#~ msgstr "¿Enviar fichero?" + +#~ msgid "You are currently connected to the server" +#~ msgstr "Debes estar conectado para navegar los servicios" + +#, fuzzy +#~ msgid "To disable the account, you must be disconnected." +#~ msgstr "Para cambiar el nombre de la cuenta, debes estar desconectado" + +#~ msgid "Do you wish to delete all correspondence with %(jid)s?" +#~ msgstr "¿Desea eliminar toda la correspondencia con %(jid)s?" + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with the selected contacts?" +#~ msgstr "¿Realmente quieres eliminar el historial del contacto seleccionado?" + +#, fuzzy +#~ msgid "This can not be undone." +#~ msgstr "El servicio no fue encontrado" + +#~ msgid "What do you want to do?" +#~ msgstr "¿Qué quieres hacer?" + +#~ msgid "" +#~ "List of colors, separated by \":\", that will be used to color nicknames " +#~ "in group chats." +#~ msgstr "" +#~ "Lista de colores, separados por \":\", que serán usados para colorear " +#~ "alias en los grupos de charla." + +#~ msgid "You have received new entries (and %d not displayed):" +#~ msgid_plural "You have received new entries (and %d not displayed):" +#~ msgstr[0] "Ha recibido nuevas entradas (y %d no mostrada):" +#~ msgstr[1] "Has recibido nuevas entradas (y %d no mostradas):" + +#~ msgid "Stopped" +#~ msgstr "Detenido" + +#~ msgid "" +#~ "You are about to send your password on an insecure connection. You should " +#~ "install PyOpenSSL to prevent that. Are you sure you want to do that?" +#~ msgstr "" +#~ "Vas a enviar tu contraseña a través de una conexión no segura. Deberías " +#~ "instalar PyOpenSSL para prevenirlo. ¿Estás seguro de que quieres hacerlo?" + +#, fuzzy +#~ msgid "Status messages displayed in chat window" +#~ msgstr "Enviar mensaje y cerrar ventana" + +#~ msgid "?print_status:All" +#~ msgstr "Todos" + +#~ msgid "Enter and leave only" +#~ msgstr "Entrar y salir sólamente" + +#~ msgid "?print_status:None" +#~ msgstr "Ninguno" + +#, fuzzy +#~ msgid "Untrusted OpenPGP key" +#~ msgstr "Elige tu clave OpenPGP" + +#, fuzzy +#~ msgid "" +#~ "The OpenPGP key used to encrypt this chat is not trusted. Do you really " +#~ "want to encrypt this message?" +#~ msgstr "" +#~ "No se confía en la clave GPG usada para cifrar esta conversación. " +#~ "¿Realmente quieres cifrar este mensaje?" + +#~ msgid "D-Bus python bindings are missing in this computer" +#~ msgstr "Los enlaces D-Bus de python no se encuentran en este ordenador" + +#~ msgid "D-Bus capabilities of Gajim cannot be used" +#~ msgstr "Las capacidades D-Bus de Gajim no pueden ser usadas" + +#, fuzzy +#~ msgid "D-Bus does not run correctly on this machine: system bus not present" +#~ msgstr "D-Bus no está presente en esta máquina o falta el módulo python" + +#, fuzzy +#~ msgid "" +#~ "D-Bus does not run correctly on this machine: session bus not present" +#~ msgstr "D-Bus no está presente en esta máquina o falta el módulo python" + +#, fuzzy +#~ msgid "Command line Control" +#~ msgstr "Línea de comandos" + +#, fuzzy +#~ msgid "Enables you to control Gajim with via commandline" +#~ msgstr "Un script para controlar Gajim vía línea de comandos." + +#~ msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +#~ msgstr "%(nick)s ha sido expulsado por %(who)s: %(reason)s" + +#~ msgid "%(nick)s has been banned by %(who)s: %(reason)s" +#~ msgstr "%(nick)s ha sido expulsado por %(who)s: %(reason)s" + +#~ msgid "system shutdown" +#~ msgstr "apagado del sistema" + +#~ msgid "** Role of %(nick)s has been set to %(role)s" +#~ msgstr "** El rol de %(nick)s ha sido fijado a %(role)s" + +#~ msgid "%s has left" +#~ msgstr "%s ha salido" + +#~ msgid "%s is full" +#~ msgstr "%s está lleno" + +#, fuzzy +#~ msgid "" +#~ "Can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no " +#~ "longer print status line in groupchats when a member changes their status " +#~ "and/or their status message. If \"all\" Gajim will print all status " +#~ "messages. If \"in_and_out\", Gajim will only print FOO enters/leaves " +#~ "group chat." +#~ msgstr "" +#~ "puede ser \"none\", \"all\" o \"in_and_out\". Si es \"none\", Gajim no " +#~ "volverá a mostar la línea de estado en los grupos de charla cuando un " +#~ "miembro cambie su mensaje de estado. Si es \"all\" Gajim mostrará todos " +#~ "los mensajes de estado. Si es \"in_and_out\", Gajim sólo mostrará las " +#~ "entradas y salidas en el grupo de conversación." + +#, fuzzy +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "Mostrar en el roster los _mensajes de estado de los contactos" + +#, fuzzy +#~ msgid "" +#~ "You are about to send your password unencrypted on an insecure " +#~ "connection. Are you sure you want to do that?" +#~ msgstr "" +#~ "Vas a enviar tu contraseña en una conexión no cifrada- ¿Estás seguro de " +#~ "querer hacer esto?" + +#, fuzzy +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "Autentificación anónima" + +#, fuzzy +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "Autentificación a_nónima" + +#, fuzzy +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "Autentificación a_nónima" + +#~ msgid "" +#~ "Displayed chat state notifications in chat windows. Can be one of all, " +#~ "composing_only, disabled." +#~ msgstr "" +#~ "Las notificaciones de estado mostradas en las ventanas de conversación. " +#~ "Pueden ser all, composing_only o disabled." + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." +#~ msgstr "" +#~ "Gajim puede enviar y recibir meta-información relacionada con una " +#~ "conversación que puedas tener con un contacto. Aquí puedes especificar " +#~ "qué estados de conversación quieres que se muestren en las ventanas." + +#~ msgid "This is an irreversible operation." +#~ msgstr "Esta es una operación irreversible" + +#~ msgid "Settings" +#~ msgstr "Configuración" + +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "Bienvenido al gestor de históricos de Gajim" + +#, fuzzy +#~ msgid "Toggle full / compact view" +#~ msgstr "Siempre usar _vista compacta" + +#~ msgid "Member List" +#~ msgstr "Lista de miembros" + +#~ msgid "Owner List" +#~ msgstr "Lista de propietarios" + +#~ msgid "Administrator List" +#~ msgstr "Lista de administradores" + +#~ msgid "Nick" +#~ msgstr "Alias" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "¿A quién quieres expulsar?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Member…" +#~ msgstr "Añadiendo miembro..." + +#~ msgid "" +#~ "Whom do you want to make a member?\n" +#~ "\n" +#~ msgstr "" +#~ "¿A quién quieres hacer miembro?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Owner…" +#~ msgstr "Añadiendo propietario..." + +#~ msgid "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" +#~ msgstr "" +#~ "¿A quién quieres hacer propietario?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Administrator…" +#~ msgstr "Añadiendo administrador..." + +#~ msgid "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" +#~ msgstr "" +#~ "¿A quién quieres hacer administrador?\n" +#~ "\n" + +#~ msgid "Error reading file:" +#~ msgstr "Error leyendo el archivo:" + +#~ msgid "Error parsing file:" +#~ msgstr "Error analizando el archivo:" + +#~ msgid "List of possible features in Gajim:" +#~ msgstr "Lista de posibles características en Gajim" + +#~ msgid "Description" +#~ msgstr "Descripción" + +#~ msgid "Password encryption" +#~ msgstr "Cifrado de la contraseña" + +#~ msgid "On Windows the Windows Credential Vault is used." +#~ msgstr "En Windows, se usa Windows Credential Vault." + +#~ msgid "Spellchecking of composed messages." +#~ msgstr "Corrección ortográfica de los mensjes compuestos." + +#~ msgid "Automatic status" +#~ msgstr "Estado automático" + +#~ msgid "Requires python2.5." +#~ msgstr "Requiere python2.5." + +#~ msgid "" +#~ "Generate XHTML output from RST code (see http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Generar salida XHTML partiendo de un código RST (mira http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)." + +#~ msgid "UPnP-IGD" +#~ msgstr "UPnP-IGD" + +#~ msgid "?features:Available" +#~ msgstr "?features:Disponible" + +#~ msgid "Feature" +#~ msgstr "Característica" + +#~ msgid "Filter:" +#~ msgstr "Filtro:" + +#~ msgid "Chat Appearance" +#~ msgstr "Apariencia de la conversación" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed out" +#~ msgstr "" +#~ "Gajim notificará con un mensaje emergente en la parte inferior derecha de " +#~ "la pantalla cuando un contacto se desconecte" + +#~ msgid "Sounds" +#~ msgstr "Sonidos" + +#~ msgid "Chat state notifications" +#~ msgstr "Notificación del estado de la conversación" + +#, fuzzy +#~ msgid "_Away after" +#~ msgstr "_Ausente tras:" + +#~ msgid "" +#~ "If checked, Gajim will change status to Away when the computer is unused." +#~ msgstr "" +#~ "Si está marcado, Gajim cambiará el estado a Ausente cuando el ordenador " +#~ "no esté en uso" + +#, fuzzy +#~ msgid "_Not available after" +#~ msgstr "_No disponible tras:" + +#~ msgid "Auto Status" +#~ msgstr "Estado automático" + +#~ msgid "Status Messages" +#~ msgstr "Mensajes de estado" + +#, fuzzy +#~ msgid "Audio" +#~ msgstr "Acciones" + +#, fuzzy +#~ msgid "Video" +#~ msgstr "Medio:" + +#~ msgid "(example: stun.iptel.org)" +#~ msgstr "(ejemplo: stun.iptel.org)" + +#, fuzzy +#~ msgid "Connection" +#~ msgstr "Condiciones" + +#~ msgid "Custom" +#~ msgstr "Personalizado" + +#~ msgid "Privacy" +#~ msgstr "Privacidad" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "Editor de configuración avanzada" + +#, fuzzy +#~ msgid "File transfer, room bookmarks" +#~ msgstr "Error en la transferencia del archivo" + +#, fuzzy +#~ msgid "XML console interface" +#~ msgstr "Consola XML" + +#, fuzzy +#~ msgid "" +#~ "A programming error has been detected. It probably is not fatal, but " +#~ "should be reported to the developers nonetheless." +#~ msgstr "" +#~ "Probablemente no es crítico, pero no obstante debe ser informado a los " +#~ "desarrolladores." + +#~ msgid "" +#~ "A list of modp groups to use in a Diffie-Hellman, highest preference " +#~ "first, separated by commas. Valid groups are 1, 2, 5, 14, 15, 16, 17 and " +#~ "18. Higher numbers are more secure, but take longer to calculate when you " +#~ "start a session." +#~ msgstr "" +#~ "Una lista de grupos modp para usar en una lista de máxima preferencia " +#~ "Diffie-Hellman, separados por commas. 1, 2, 5, 14, 15, 16, 17 y 18 son " +#~ "grupos válidos. Los números más altos son los más seguros pero demoran " +#~ "más tiempo en el cálculo cuando inicias una sesión." + +#~ msgid "(ESession info)" +#~ msgstr "Información ESession" + +#~ msgid "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" +#~ msgstr "" +#~ "Si no está deshabilitado, Gajim reemplazará emoticonos ascii ':)' por su " +#~ "equivalente en iconos gráficos estáticos o animados" + +#, fuzzy +#~ msgid "_Emoticons" +#~ msgstr "_Emoticonos:" + +#~ msgid "_Highlight misspelled words" +#~ msgstr "_Resaltar errores ortográficos" + +#, fuzzy +#~ msgid "Notify by icon when your messages are received" +#~ msgstr "Sonido a reproducir cuando llega cualquier mensaje MUC" + +#, fuzzy +#~ msgid "T_heme" +#~ msgstr "Te_ma:" + +#~ msgid "Themes" +#~ msgstr "Temas" + +#~ msgid "Always use this nickname when there is a conflict" +#~ msgstr "Usar este alias siempre que exista un conflicto" + +#~ msgid "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." +#~ msgstr "" +#~ "A Jabberd1.4 no le gusta la información sha cuando se entra en un grupo " +#~ "de conversación protegido por contraseña. Cambia esta opción a False para " +#~ "para detener el envío de información sha en el grupo de conversación." + +#, fuzzy +#~ msgid "Presence" +#~ msgstr "_Presencia" + +#~ msgid "Emoticons disabled" +#~ msgstr "Emoticonos desactivados" + +#, fuzzy +#~ msgid "" +#~ "Your configured emoticons theme could not be loaded. See the log for more " +#~ "details." +#~ msgstr "" +#~ "No se pudo encontrar tu tema de emoticonos configurado, los emoticonos " +#~ "han sido desactivados." + +#~ msgid "You cannot make changes to the default theme" +#~ msgstr "No puedes realizar cambios en el tema por defecto" + +#~ msgid "theme name" +#~ msgstr "nombre del tema" + +#~ msgid "You cannot delete your current theme" +#~ msgstr "No puedes eliminar el tema actual" + +#~ msgid "New Single Message from %(nickname)s" +#~ msgstr "Nuevo mensaje de %(nickname)s" + +#~ msgid "New Private Message from group chat %s" +#~ msgstr "Nuevo mensaje privado desde el grupo de charla %s" + +#~ msgid "%(nickname)s: %(message)s" +#~ msgstr "%(nickname)s: %(message)s" + +#~ msgid "Messaged by %(nickname)s" +#~ msgstr "Enviado por %(nickname)s" + +#, fuzzy +#~ msgid "Status message text color." +#~ msgstr "texto del mensaje de estado" + +#, fuzzy +#~ msgid "Incoming nickname font." +#~ msgstr "Alias no válido" + +#, fuzzy +#~ msgid "Status message text font." +#~ msgstr "texto del mensaje de estado" + +#~ msgid "Background color of contacts when they just signed in." +#~ msgstr "Color de fondo para los contactos que acaban de conectar." + +#~ msgid "Background color of contacts when they just signed out." +#~ msgstr "Color de fondo para los contactos que acaban de desconectar." + +#~ msgid "green" +#~ msgstr "verde" + +#~ msgid "grocery" +#~ msgstr "grocery" + +#~ msgid "human" +#~ msgstr "human" + +#~ msgid "marine" +#~ msgstr "marino" + +#, fuzzy +#~ msgid "Contact row" +#~ msgstr "Contacto" + +#~ msgid "Chat Banner" +#~ msgstr "Banner de conversación" + +#~ msgid "Gajim Themes Customization" +#~ msgstr "Personalización de temas de Gajim" + +#~ msgid "Text _color:" +#~ msgstr "_Color del texto:" + +#~ msgid "_Background:" +#~ msgstr "_Fondo" + +#~ msgid "Text _font:" +#~ msgstr "_Fuente del texto:" + +#~ msgid "Font style:" +#~ msgstr "Estilo:" + +#~ msgid "Paused" +#~ msgstr "Pausado" + +#~ msgid "Gone" +#~ msgstr "Me fui" + +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "" +#~ "MUC\n" +#~ "Messages" + +#~ msgid "Chatstate Tab Colors" +#~ msgstr "Colores de la pestaña para los estados de conversación" + +#, fuzzy +#~ msgid "Chat message" +#~ msgstr "Mensaje de conversación:" + +#~ msgid "Use system _default" +#~ msgstr "Usar pre_definido del sistema" + +#~ msgid "Font" +#~ msgstr "Fuente" + +#, fuzzy +#~ msgid "Contact's nickname" +#~ msgstr "Nombre de contacto" + +#, fuzzy +#~ msgid "_Status message" +#~ msgstr "Men_saje de estado:" + +#, fuzzy +#~ msgid "Your message" +#~ msgstr "Tu mensaje:" + +#, fuzzy +#~ msgid "_URL highlight" +#~ msgstr "Resaltado de _URL:" + +#~ msgid "Chat Line Colors" +#~ msgstr "Color de las líneas de la conversación" + +#~ msgid "Jabber ID:" +#~ msgstr "ID de Jabber:" + +#~ msgid "Resource:" +#~ msgstr "Recurso:" + +#~ msgid "Status:" +#~ msgstr "Estado:" + +#~ msgid "Client:" +#~ msgstr "Cliente:" + +#~ msgid "Contact time:" +#~ msgstr "Hora del contacto:" + +#~ msgid "Ask:" +#~ msgstr "Pregunta:" + +#~ msgid "Subscription:" +#~ msgstr "Suscripción:" + +#~ msgid "Name:" +#~ msgstr "Nombre:" + +#~ msgid "Nickname:" +#~ msgstr "Alias:" + +#~ msgid "Street:" +#~ msgstr "Calle:" + +#~ msgid "City:" +#~ msgstr "Ciudad:Personalizado" + +#~ msgid "State:" +#~ msgstr "Estado:" + +#~ msgid "Extra Address:" +#~ msgstr "Segunda dirección:" + +#~ msgid "Postal Code:" +#~ msgstr "Código postal:" + +#~ msgid "Country:" +#~ msgstr "País:" + +#~ msgid "Homepage:" +#~ msgstr "Página web:" + +#~ msgid "E-Mail:" +#~ msgstr "Correo-e:" + +#~ msgid "Phone No.:" +#~ msgstr "Número de teléfono:" + +#~ msgid "Birthday:" +#~ msgstr "Cumpleaños:" + +#~ msgid "Family:" +#~ msgstr "Familia:" + +#~ msgid "Middle:" +#~ msgstr "Medio:" + +#~ msgid "Prefix:" +#~ msgstr "Prefijo:" + +#~ msgid "Given:" +#~ msgstr "Apodo:" + +#~ msgid "Suffix:" +#~ msgstr "Sufijo:" + +#~ msgid "Full Name" +#~ msgstr "Nombre completo" + +#~ msgid "Company:" +#~ msgstr "Compañía:" + +#~ msgid "Department:" +#~ msgstr "Departamento:" + +#~ msgid "Position:" +#~ msgstr "Posición:" + +#~ msgid "Role:" +#~ msgstr "Rol:" + +#~ msgid "- messages will be logged" +#~ msgstr "- los mensajes serán registrados" + +#~ msgid "- messages will not be logged" +#~ msgstr "- los mensajes no serán registrados" + +#~ msgid "Edit %s" +#~ msgstr "Editar %s" + +#~ msgid "Conversation History with %s" +#~ msgstr "Histórico de conversaciones con %s" + +#~ msgid "Contact with \"%s\" cannot be established" +#~ msgstr "No se ha podido establecer contacto con \"%s\"" + +#~ msgid "Registration information for transport %s has not arrived in time" +#~ msgstr "La información de registro para el transporte %s no llegó a tiempo" + +#~ msgid "Register to" +#~ msgstr "Registrar en" + +#, fuzzy +#~ msgid "Enter name / JID of contact or groupchat" +#~ msgstr "Nombre de contacto" + +#~ msgid "Search:" +#~ msgstr "Buscar" + +#~ msgid "_In date search" +#~ msgstr "_En la búsqueda de fecha" + +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "Sin una conexión, no puedes cambiar tu contraseña." + +#~ msgid "Invalid password" +#~ msgstr "Contraseña no válida" + +#~ msgid "The passwords typed in both fields must be identical." +#~ msgstr "Las contraseñas escritas en ambos campos deben ser idénticas." + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "Introdúcela de nuevo para confirmar:" + +#~ msgid "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" +#~ msgstr "" +#~ "La ID de Jabber %s no cumple la norma RFC. No será añadido a tu roster. " +#~ "Usa herramientas de gestión del roster como http://jru.jabberstudio.org/ " +#~ "para eliminarlo" + +#~ msgid "unsubscribe request from %s" +#~ msgstr "petición de eliminación de suscripción de %s" + +#~ msgid "<empty>" +#~ msgstr "<vacío>" + +#~ msgid "Homepage:" +#~ msgstr "Página web:" + +#~ msgid "Manage Bookmarks" +#~ msgstr "Gestionar marcadores" + +#~ msgid "_Nickname:" +#~ msgstr "_Alias:" + +#, fuzzy +#~ msgid "Pr_int status:" +#~ msgstr "Mostrar estado:" + +#, fuzzy +#~ msgid "Add JID" +#~ msgstr "ID de Jabber:" + +#, fuzzy +#~ msgid "Preference:" +#~ msgstr "Preferencias" + +#, fuzzy +#~ msgid "Preference" +#~ msgstr "Preferencias" + +#, fuzzy +#~ msgid "JID:" +#~ msgstr "Tu JID" + +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "" +#~ "Por favor, introduce la información del contacto que quieres añadir a la " +#~ "cuenta %s" + +#~ msgid "Please fill in the data of the contact you want to add" +#~ msgstr "Por favor, rellena la información del contacto que quieres añadir" + +#, fuzzy +#~ msgid "Recently" +#~ msgstr "Recientemente:" + +#~ msgid "Add New Contact" +#~ msgstr "Añadir un contacto" + +#~ msgid "_User ID:" +#~ msgstr "ID de _usuario:" + +#, fuzzy +#~ msgid "Type User ID" +#~ msgstr "Identificador:" + +#, fuzzy +#~ msgid "Type Nickname" +#~ msgstr "Alias" + +#~ msgid "Personal Information" +#~ msgstr "Información personal" + +#~ msgid "Avatar:" +#~ msgstr "Avatar:" + +#~ msgid "Click to set your avatar" +#~ msgstr "Click para definir tu avatar" + +#, fuzzy +#~ msgid "Remove Avatar" +#~ msgstr "Eliminar grupo" + +#~ msgid "Not fetched because of invisible status" +#~ msgstr "No conseguido debido al estado invisible" + +#~ msgid "Please wait..." +#~ msgstr "Por favor, espera..." + +#~ msgid "" +#~ "When negotiating an encrypted session, should Gajim assume you want your " +#~ "messages to be logged?" +#~ msgstr "" +#~ "Cuando se negocie una sesión cifrada, ¿Gajim debería asumir que quieres " +#~ "que tus mensajes sean registrados?" + +#~ msgid "Log _encrypted chat session" +#~ msgstr "R_egistrar conversación cifrada" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will keep logs for encrypted messages. Please note that " +#~ "when using end-to-end encryption the remote party has to agree on " +#~ "logging, else the messages will not be logged." +#~ msgstr "" +#~ "Si está marcado, Gajim guardará los registros de mensajes cifrados. Ten " +#~ "en cuenta que usando cifrado E2E, la parte remota tiene que aceptar al " +#~ "ingresar, o los mensajes no serán registrados." + +#~ msgid "Yahoo! Address:" +#~ msgstr "Dirección Yahoo!:" + +#~ msgid "Forward unread messages" +#~ msgstr "Reenviar mensajes sin leer" + +#~ msgid "All unread messages have been forwarded." +#~ msgstr "Todos los mensajes sin leer han sido reenviados" + +#, fuzzy +#~ msgid "Forward unread message then disconnect" +#~ msgstr "Reenviar mensajes sin leer" + +#~ msgid "MSN Address:" +#~ msgstr "Dirección MSN:" + +#~ msgid "Confirm these session options" +#~ msgstr "Confirma estas opciones de la sesión" + +#~ msgid "" +#~ "The remote client wants to negotiate a session with these features:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Are these options acceptable?" +#~ msgstr "" +#~ "El cliente remoto quiere negociar una sesión con estas características:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "¿Son aceptables estas opciones?" + +#~ msgid "" +#~ "The remote client selected these options:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Continue with the session?" +#~ msgstr "" +#~ "El cliente remoto seleccionó estas opciones:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "¿Continuar con la sesión?" + +#~ msgid "Always accept for this contact" +#~ msgstr "Aceptar siempre para este contacto" + +#~ msgid "End to End message encryption" +#~ msgstr "Cifrado de mensajes End to End" + +#~ msgid "Encrypting chat messages." +#~ msgstr "Cifrando conversaciones." + +#~ msgid "Requires python-crypto." +#~ msgstr "Requiere python-crypto" + +#~ msgid "Session negotiation cancelled" +#~ msgstr "La negociación de la sesión ha sido cancelada" + +#~ msgid "This session is encrypted" +#~ msgstr "Esta sesión está cifrada" + +#~ msgid " and WILL be logged" +#~ msgstr " y SERÁ registrada" + +#~ msgid " and WILL NOT be logged" +#~ msgstr " y NO SERÁ registrada" + +#~ msgid "" +#~ "Remote contact's identity not verified. Click the shield button for more " +#~ "details." +#~ msgstr "" +#~ "No se verificó la identidad del contacto remoto. Click en el botón del " +#~ "escudo para más detalles." + +#, fuzzy +#~ msgid "end-to-end encryption disabled" +#~ msgstr "Cifrado GPG deshabilitado" + +#~ msgid "" +#~ "Unable to decrypt message from %s\n" +#~ "It may have been tampered with." +#~ msgstr "" +#~ "No se puede descifrar el mensaje de %s\n" +#~ "Es posible que haya sido manipulado." + +#~ msgid "Unable to decrypt message" +#~ msgstr "No se puede descifrar el mensaje" + +#~ msgid "Enable ESessions encryption for this account." +#~ msgstr "Activar cifrado ESessions para esta cuenta." + +#~ msgid "Should Gajim automatically start an encrypted session when possible?" +#~ msgstr "" +#~ "¿Gajim debería iniciar automáticamente una sesión cifrada cuando sea " +#~ "posible?" + +#~ msgid "" +#~ "[This is part of an encrypted session. If you see this message, something " +#~ "went wrong.]" +#~ msgstr "" +#~ "[Esto es parte de una sesión cifrada. Si ves este mensaje, algo fue mal.]" + +#~ msgid "Requires python-avahi." +#~ msgstr "Requiere python-avahi." + +#, fuzzy +#~ msgid "Save Image as…" +#~ msgstr "Guardar imagen como..." + +#, fuzzy +#~ msgid "Exporting History Logs…" +#~ msgstr "Exportando historial..." + +#~ msgid "When %s becomes:" +#~ msgstr "Cuando %s esté:" + +#~ msgid "Adding Special Notification for %s" +#~ msgstr "Añadiendo notificación especial para %s" + +#~ msgid "" +#~ "It seems the SSL certificate of account %(account)s has changed and is " +#~ "not valid or your connection is being compromised.\n" +#~ "\n" +#~ "Old SHA-1 fingerprint: %(old_sha1)s\n" +#~ "Old SHA-256 fingerprint: %(old_sha256)s\n" +#~ "\n" +#~ "New SHA-1 fingerprint: %(new_sha1)s\n" +#~ "New SHA-256 fingerprint: %(new_sha256)s\n" +#~ "\n" +#~ "Do you still want to connect and update the fingerprint of the " +#~ "certificate?" +#~ msgstr "" +#~ "Parece que el certificado de cuenta SSL %(account)s ha cambiado y no es " +#~ "válido o su conexión se ve comprometida.\n" +#~ "\n" +#~ "Antigua huella digital SHA-1: %(old_sha1)s\n" +#~ "Antigua huella digital SHA-256: %(old_sha256)s\n" +#~ "\n" +#~ "Nueva huella digital SHA-1: %(new_sha1)s\n" +#~ "Nueva huella digital SHA-256: %(new_sha256)s\n" +#~ "\n" +#~ "¿Aún desea conectar y actualizar la huella digital del certificado?" + +#~ msgid "" +#~ "The authenticity of the %s certificate could be invalid.\n" +#~ "The certificate does not cover this domain." +#~ msgstr "" +#~ "La autenticidad del certificado %s podría no ser válida.\n" +#~ "El certificado no cubre este dominio." + +#~ msgid "Unable to load idle module" +#~ msgstr "No se puede cargar el módulo idle" + +#, fuzzy +#~ msgid "%s or %s is a directory but should be a file" +#~ msgstr "%s es un directorio pero podría ser un archivo" + +#~ msgid "creating logs database" +#~ msgstr "creando base de datos de registros" + +#, fuzzy +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "Enviar %s a %s" + +#, fuzzy +#~ msgid "Rename account label" +#~ msgstr "Renombrar cuenta" + +#, fuzzy +#~ msgid "Send Single Message..." +#~ msgstr "E_nviar mensaje..." + +#, fuzzy +#~ msgid "We received an error: {}" +#~ msgstr "El servicio devolvió un error" + +#~ msgid "E2E encryption disabled" +#~ msgstr "Cifrado E2E desactivado" + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Añadir este certificado a la lista de certificados de confianza.\n" +#~ "Huella SHA1 del certificado:\n" +#~ "%s" + +#~ msgid "uri" +#~ msgstr "uri" + +#, fuzzy +#~ msgid "" +#~ "Install /\n" +#~ "Upgrade" +#~ msgstr "Atascado" + +#, fuzzy +#~ msgid "Install/Upgrade" +#~ msgstr "Atascado" + +#, fuzzy +#~ msgid "Install and Upgrade Plugins" +#~ msgstr "Atascado" + +#, fuzzy +#~ msgid "Plugins updates" +#~ msgstr "Falló el registro" + +#~ msgid "cyan" +#~ msgstr "cyan" + +#~ msgid "migrating logs database to indices" +#~ msgstr "migrando la base de datos de registros a los índices" + +#, fuzzy +#~ msgid "Send File..." +#~ msgstr "Enviar _archivo" + +#, fuzzy +#~ msgid "HTTP File Upload not supported by your server" +#~ msgstr "Tu servidor no soporta almacenamiento de metacontactos" + +#, fuzzy +#~ msgid "Jingle File Transfer" +#~ msgstr "Transferencias" + +#~ msgid "" +#~ "Your configured emoticons theme has not been found, so emoticons have " +#~ "been disabled." +#~ msgstr "" +#~ "No se pudo encontrar tu tema de emoticonos configurado, los emoticonos " +#~ "han sido desactivados." + +#~ msgid "Shows or hides the roster window" +#~ msgstr "Muestra u oculta la ventana de la lista de contactos" + +#~ msgid "Shows or hides the ipython window" +#~ msgstr "Muestra u oculta la ventana ipython" + +#, fuzzy +#~ msgid "XMPP account %s" +#~ msgstr "Cuenta XMPP %s@%s" + +#, fuzzy +#~ msgid "Exception" +#~ msgstr "Descripción" + +#~ msgid "" +#~ "someone@somewhere.com would like you to add some contacts " +#~ "in your roster." +#~ msgstr "" +#~ "alguien@algunsitio.com quiere añadir algunos contactos a tu " +#~ "roster." + +#~ msgid "" +#~ "Ordered list (space separated) of connection type to try. Can contain " +#~ "tls, ssl or plain" +#~ msgstr "" +#~ "Lista ordenada (separada por espacios) de tipos de conexión para probar. " +#~ "Puede contener tls, ssl o plain" + +#~ msgid "_Actions" +#~ msgstr "_Acciones" + +#, fuzzy +#~ msgid "Requires upower and python-dbus." +#~ msgstr "Requiere python-dbus." + +#~ msgid "You are already in group chat %s" +#~ msgstr "Ya estás en el salón %s" + +#~ msgid "Join Group Chat with account %s" +#~ msgstr "Entrar a un grupo de charla con la cuenta %s" + +#, fuzzy +#~ msgid "" +#~ "You have to choose an account from which you want to join the groupchat." +#~ msgstr "La cuenta desde la que quieres entrar al salón" + +#, fuzzy +#~ msgid "Please enter the group chat JID as room@server." +#~ msgstr "" +#~ "La ID de Jabber para el grupo de charla tiene caracteres no permitidos." + +#, fuzzy +#~ msgid "The group chat JID contains invalid characters." +#~ msgstr "" +#~ "La ID de Jabber para el grupo de charla tiene caracteres no permitidos." + +#~ msgid "Start Chat with account %s" +#~ msgstr "Iniciar conversación con la cuenta %s" + +#, fuzzy +#~ msgid "" +#~ "Fill in the nickname or the JID of the contact you would like\n" +#~ "to send a chat message to:" +#~ msgstr "" +#~ "Introduce el alias o la ID de Jabber del contacto al que quieres\n" +#~ "enviar un mensaje de charla:" + +#, fuzzy +#~ msgid "Nickname / JID" +#~ msgstr "ID de Jabber duplicada" + +#~ msgid "Unable to parse \"%s\"." +#~ msgstr "No se puede analizar \"%s\"." + +#~ msgid "Shows the chat dialog so that you can send messages to a contact" +#~ msgstr "" +#~ "Muestra el diálogo de conversación para enviar mensajes a un contacto" + +#~ msgid "JID of the contact that you want to chat with" +#~ msgstr "JID del contacto con el que quieres conversar" + +#~ msgid "message content. The account must be specified or \"\"" +#~ msgstr "contenido del mensaje. Se debe especificar la cuenta o \"\"" + +#~ msgid "Adds contact to roster" +#~ msgstr "Añade contacto al roster" + +#~ msgid "jid" +#~ msgstr "jid" + +#~ msgid "Adds new contact to this account" +#~ msgstr "Añade nuevo contacto a esta cuenta." + +#~ msgid "Opens 'Start Chat' dialog" +#~ msgstr "Abre el diálogo de iniciar conversación" + +#~ msgid "Starts chat, using this account" +#~ msgstr "Iniciar conversación usando esta cuenta" + +#, fuzzy +#~ msgid "Handle a xmpp:/ URI" +#~ msgstr "Manejar una uri xmpp:/" + +#~ msgid "URI to handle" +#~ msgstr "URI a manejar" + +#~ msgid "Account in which you want to handle it" +#~ msgstr "La cuenta que quieres manejar" + +#~ msgid "Message content" +#~ msgstr "Contenido del mensaje" + +#~ msgid "Join a MUC room" +#~ msgstr "Entrar en un salón MUC" + +#~ msgid "Nickname to use" +#~ msgstr "Alias a usar" + +#~ msgid "Password to enter the room" +#~ msgstr "Contraseña para entrar al salón" + +#~ msgid "Account from which you want to enter the room" +#~ msgstr "La cuenta desde la que quieres entrar al salón" + +#, fuzzy +#~ msgid "Wrong URI" +#~ msgstr "Uri incorrecta" + +#~ msgid "Nickname:" +#~ msgstr "Alias:" + +#~ msgid "Server:" +#~ msgstr "Servidor:" + +#, fuzzy +#~ msgid "Join this room _automatically when I connect" +#~ msgstr "Entrar en este salón automáticamente al conectarme" + +#, fuzzy +#~ msgid "Bro_wse Rooms" +#~ msgstr "_Navegar" + +#, fuzzy +#~ msgid "Requires libgtkspell and libenchant." +#~ msgstr "Requiere libgtkspell." + +#, fuzzy +#~ msgid "Network-Watcher" +#~ msgstr "Network-manager" + +#~ msgid "Autodetection of network status." +#~ msgstr "Autodetección del estado de la red." + +#, fuzzy +#~ msgid "Requires gnome-network-manager" +#~ msgstr "Requiere gnome-network-manager y python-dbus." + +#, fuzzy +#~ msgid "Feature not available, see Help->Features" +#~ msgstr "Característica no disponible en Windows." + +#~ msgid "This contact does not support file transfer." +#~ msgstr "Este contacto no soporta transferencia de archivos" + +#, fuzzy +#~ msgid "You need to know the real JID of the contact to send them a file." +#~ msgstr "Necesitas conocer la ID de Jabber real para enviarle un archivo." + +#~ msgid "" +#~ "You have to install %s dictionary to use spellchecking, or choose another " +#~ "language by setting the speller_language option." +#~ msgstr "" +#~ "Tienes que instalar el diccionario %s para usar el corrector, o elegir " +#~ "otro lenguaje definiendo la opción speller_language." + +#~ msgid "Hides the buttons in chat windows." +#~ msgstr "Esconde los botones en las ventanas de conversación" + +#~ msgid "Change the room's subject (Alt+T)" +#~ msgstr "Cambiar el tema del salón (Alt+T)" + +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "Añadir este salón a marcadores (Ctrl+B)" + +#~ msgid "Browse the chat history (Ctrl+H)" +#~ msgstr "Navegar en el histórico de la conversación (Ctrl+H)" + +#, fuzzy +#~ msgid "Show advanced functions (Alt+D)" +#~ msgstr "Muestra un menú de funciones avanzadas (Alt+A)" + +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "Añade éste contacto al roster (Ctrl+D)" + +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "Invitar contactos a esta conversación (Ctrl+G)" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Muestra el perfil del contacto (Ctrl+I)" + +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Muestra el perfil del contacto (Ctrl+I)" + +#~ msgid "Ma_ke message windows compact" +#~ msgstr "Hacer compacta la ventana de mensajes" + +#~ msgid "Hide all buttons in chat windows" +#~ msgstr "Oculta los botones en las ventanas de conversación." + +#, fuzzy +#~ msgid "Hide the chat buttons" +#~ msgstr "Uso: /%s, oculta los botones de conversación." + +#~ msgid "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." +#~ msgstr "" +#~ "Si es True, Gajim pedirá un avatar a cada contacto que no tuvo un avatar " +#~ "la última vez o se tiene guardado uno demasiado antiguo." + +#~ msgid "Disk Write Error" +#~ msgstr "Error de escritura en disco" + +#~ msgid "Set Custom _Avatar..." +#~ msgstr "Definir _Avatar personalizado..." + +#, fuzzy +#~ msgid "SSL certificate validation" +#~ msgstr "Validación del certificado SSL" + +#~ msgid "" +#~ "A library used to validate server certificates to ensure a secure " +#~ "connection." +#~ msgstr "" +#~ "Una librería usada para validar certificados de servidor para asegurar " +#~ "conexiones seguras." + +#, fuzzy +#~ msgid "Requires python-pyopenssl > 0.12 and pyasn1." +#~ msgstr "Requiere python-pyopenssl." + +#, fuzzy +#~ msgid "?CLI:room" +#~ msgstr "salón" + +#, fuzzy +#~ msgid "?CLI:nick" +#~ msgstr "alias" + +#, fuzzy +#~ msgid "?CLI:password" +#~ msgstr "contraseña" + +#~ msgid "Use D-Bus and Notification-Daemon to show notifications" +#~ msgstr "Usar DBus y el demonio notificador para mostrar notificaciones" + +#~ msgid "Notification" +#~ msgstr "Notificaciones" + +#~ msgid "Passive popups notifying for new events." +#~ msgstr "Mensajes emergentes pasivas para nuevos eventos." + +#~ msgid "" +#~ "Requires python-notify or instead python-dbus in conjunction with " +#~ "notification-daemon." +#~ msgstr "" +#~ "Requiere python-notify o python-dbus en conjunción con notification-" +#~ "daemon en su lugar-" + +#~ msgid "Ignore" +#~ msgstr "Ignorar" + +#~ msgid "_Open Gmail Inbox" +#~ msgstr "_Abrir bandeja de entrada de GMail" + +#~ msgid "Notify on new _GMail email" +#~ msgstr "Notificar de nuevos correos de _GMail" + +#~ msgid "" +#~ "If checked, Gajim will show a notification when a new e-mail is received " +#~ "via GMail" +#~ msgstr "" +#~ "Si está marcado, Gajim mostrará una notificación cuando se reciba un " +#~ "nuevo correo vía GMail" + +#~ msgid "Display _extra email details" +#~ msgstr "Mostrar detalles _extra en los correos electrónicos" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will also include information about the sender of new " +#~ "emails" +#~ msgstr "" +#~ "Si está marcado, Gajim también incluirá información acerca del remitente " +#~ "de los nuevos correos electrónicos" + +#~ msgid "GMail Options" +#~ msgstr "Opciones de GMail" + +#, fuzzy +#~ msgid "20" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Invited %s to %s" +#~ msgstr "Enviar %s a %s" + +#~ msgid "GMail Email Received" +#~ msgstr "Correo de GMail recibido" + +#, fuzzy +#~ msgid "New e-mail on %(gmail_mail_address)s" +#~ msgstr "Correo nuevo en %(gmail_mail_address)s" + +#, fuzzy +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "Tienes %d nueva conversación de correo" +#~ msgstr[1] "Tienes %d nuevas conversaciones de correo" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "From: %(from_address)s\n" +#~ "Subject: %(subject)s\n" +#~ "%(snippet)s" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "De: %(from_address)s\n" +#~ "Asunto: %(subject)s\n" +#~ "%(snippet)s" + +#~ msgid "Resour_ce:" +#~ msgstr "Re_curso: " + +#~ msgid "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" +#~ msgstr "" +#~ "El recurso es enviado al servidor de Jabber para 'separar' el mismo " +#~ "identificador en dos o más partes dependiendo del número de clientes " +#~ "conectados en el mismo servidor con la misma cuenta. Así puedes estar " +#~ "conectado usando la misma cuenta con el recurso 'Casa' o 'Trabajo' al " +#~ "mismo tiempo. El recurso que tenga la prioridad más alta será el que " +#~ "reciba los eventos (mira más abajo)." + +#~ msgid "A_djust to status" +#~ msgstr "Ajustar al esta_do" + +#~ msgid "Priority will change automatically according to your status." +#~ msgstr "La prioridad cambiará automáticamente acorde a tu estado." + +#~ msgid "Anonymous authentication" +#~ msgstr "Autentificación anónima" + +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "La prioridad es usada por Jabber para determinar quién obtiene los " +#~ "eventos del servidor cuando dos o más clientes están conectados usando la " +#~ "misma cuenta. El cliente con mayor prioridad recibe los eventos." + +#, fuzzy +#~ msgid "Synchronize contacts" +#~ msgstr "Sincronizar contactos" + +#~ msgid "Click to request authorization to all contacts of another account" +#~ msgstr "" +#~ "Haz click para solicitar una autorización a todos los contactos para una " +#~ "nueva cuenta" + +#~ msgid "Chan_ge Password" +#~ msgstr "Cam_biar contraseña" + +#~ msgid "Administration operations" +#~ msgstr "Operaciones de administración" + +#, fuzzy +#~ msgid "Browse..." +#~ msgstr "_Navegar" + +#, fuzzy +#~ msgid "Certificate is e_ncrypted" +#~ msgstr "Certificado rechazado" + +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "" +#~ "Si está marcado, Gajim, cuando se inicie, conectará automáticamente a " +#~ "Jabber usando esta cuenta." + +#~ msgid "Synch_ronize account status with global status" +#~ msgstr "Sinc_ronizar el estado de la cuenta con el estado global" + +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "Si está marcado, cualquier cambio al estado global (manejado por el menú " +#~ "desplegable de la parte inferior de la lista de contactos) cambiará el " +#~ "estado de esta cuenta de forma acorde" + +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "Si está marcado, Gajim también emitirá algunas IPs más excepto desde tu " +#~ "IP, para que tu transferencia tengas más posibilidades de funcionar." + +#~ msgid "Proxy" +#~ msgstr "Proxy" + +#~ msgid "" +#~ "Check this so Gajim will ask you before sending your password over an " +#~ "insecure connection." +#~ msgstr "" +#~ "Marca esto para que Gajim te pregunte antes de enviar tu contraseña a " +#~ "través de una conexión no segura." + +#~ msgid "Send _keep-alive packets" +#~ msgstr "Enviar pa_quetes de mantenimiento de actividad" + +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "" +#~ "Si está marcado, Gajim enviará paquetes de mantenimiento de actividad " +#~ "para prevenir desconexiones por expiración" + +#~ msgid "Use cust_om hostname/port" +#~ msgstr "Usar nombre de h_ost y puerto personalizados" + +#~ msgid "_Hostname: " +#~ msgstr "Nombre del _host:" + +#~ msgid "_Port: " +#~ msgstr "_Puerto:" + +#~ msgid "Choose _Key..." +#~ msgstr "Elegir _clave..." + +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "" +#~ "Si está marcado, Gajim obtendrá la contraseña de un agente GPG como " +#~ "seahorse" + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#~ msgid "_Edit Personal Information..." +#~ msgstr "_Editar información personal..." + +#~ msgid "Personal Information" +#~ msgstr "Información personal" + +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "Co_nectar al inicio de Gajim" + +#~ msgid "Synchroni_ze account status with global status" +#~ msgstr "Sincroni_zar el estado de la cuenta con el estado global" + +#~ msgid "Use cust_om port:" +#~ msgstr "Usar puert_o personalizado:" + +#~ msgid "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." +#~ msgstr "" +#~ "Si el puerto por defecto para mensajes entrantes no es válido para tí, " +#~ "puedes seleccionar otro aquí.\n" +#~ "Podrías considerar cambiar aspectos posibles de la configuración del " +#~ "firewall." + +#~ msgid "OpenPGP is not usable on this computer" +#~ msgstr "OpenPGP no es usable en este ordenador" + +#~ msgid "To change the account name, you must be disconnected." +#~ msgstr "Para cambiar el nombre de la cuenta, debes estar desconectado" + +#~ msgid "To change the account name, you must read all pending events." +#~ msgstr "" +#~ "Para cambiar el nombre de la cuenta, debes leer el resto de\n" +#~ " eventos pendientes" + +#~ msgid "Account Name Already Used" +#~ msgstr "El nombre de la cuenta ya está en uso" + +#~ msgid "" +#~ "This name is already used by another of your accounts. Please choose " +#~ "another name." +#~ msgstr "" +#~ "Este nombre ya está en uso por otra de tus cuentas. Por favor, escoge " +#~ "otro nombre." + +#~ msgid "Account name cannot be empty." +#~ msgstr "El nombre de la cuenta no puede estar vacío." + +#~ msgid "Account name cannot contain spaces." +#~ msgstr "El nombre de la cuenta no puede contener espacios." + +#~ msgid "Enter a new name for account %s" +#~ msgstr "Introduce un nuevo nombre para la cuenta %s" + +#, fuzzy +#~ msgid "A JID must be in the form \"user@servername\"." +#~ msgstr "Una ID de Jabber debe estar en la forma \"usuario@nombreservidor\"." + +#~ msgid "No such account available" +#~ msgstr "No está disponible dicha cuenta" + +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "Debes crear una cuenta antes de editar tu información personal" + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "Sin una conexión, no puedes editar tu información personal" + +#~ msgid "Your server can't save your personal information." +#~ msgstr "Tu servidor no puede guardar tu información personal." + +#~ msgid "Please rename or remove it before enabling link-local messaging." +#~ msgstr "" +#~ "Por favor, renómbralo o elimínalo antes de habilitar la mensajería de " +#~ "enlace local." + +#~ msgid "THANKS:" +#~ msgstr "AGRADECIMIENTOS:" + +#~ msgid "Could not write to %s. Session Management support will not work" +#~ msgstr "" +#~ "No se puede escribir en %s. El soporte de manejo de sesión no funcionará" + +#~ msgid "Jabber Traffic" +#~ msgstr "Tráfico de Jabber" + +#~ msgid "_Enable" +#~ msgstr "Ha_bilitar" + +#, fuzzy +#~ msgid "Filter" +#~ msgstr "Fuente" + +#~ msgid "_IQ" +#~ msgstr "_IC" + +#~ msgid "Info/Query" +#~ msgstr "Info/Consulta" + +#~ msgid "XML Input" +#~ msgstr "Entrada de XML" + +#~ msgid "XML Console for %s" +#~ msgstr "Consola XML para %s" + +#, fuzzy +#~ msgid "Idle for:" +#~ msgstr "Consola XML para %s" + +#, fuzzy +#~ msgid "" +#~ "Request offline status messages from all contacts upon connecting. " +#~ "WARNING: This causes a lot of requests to be sent!" +#~ msgstr "" +#~ "Preguntar mensaje de estado desconectado a todos los contactos " +#~ "desconectados cuando se establezca conexión con una cuenta. ADVERTENCIA: " +#~ "¡Ésto puede causar el envío de muchas peticiones!" + +#~ msgid "Last status: %s" +#~ msgstr "Último estado: %s" + +#~ msgid " since %s" +#~ msgstr " desde %s" + +#~ msgid "since %s" +#~ msgstr "desde %s" + +#, fuzzy +#~ msgid "Prefer" +#~ msgstr "Preferencias" + +#, fuzzy +#~ msgid "Auto" +#~ msgstr "Auto conectar" + +#, fuzzy +#~ msgid "otr" +#~ msgstr "Caliente" + +#, fuzzy +#~ msgid "Invalid expire value" +#~ msgstr "Nombre de servidor no válido" + +#, fuzzy +#~ msgid "There is an error" +#~ msgstr "El servicio devolvió un error" + +#~ msgid "How many minutes should last lines from previous conversation last." +#~ msgstr "" +#~ "Cuántos minutos debe durar la última línea de la conversación anterior." + +#~ msgid "" +#~ "Your configured emoticons theme cannot been loaded. You maybe need to " +#~ "update the format of emoticons.py file. See http://trac.gajim.org/wiki/" +#~ "Emoticons for more details." +#~ msgstr "" +#~ "No se pudo cargar tu tema de emoticonos configurado. Podrías necesitar " +#~ "actualizar el formato del archivo emoticons.py. Mira http://trac.gajim." +#~ "org/wiki/Emoticons para más detalles." + +#~ msgid "You will be connected to %s without OpenPGP." +#~ msgstr "Te conectarás a %s sin OpenPGP" + +#~ msgid "The following message was NOT encrypted" +#~ msgstr "El siguiente mensaje NO fue cifrado" + +#~ msgid "Toggle Open_PGP Encryption" +#~ msgstr "Alternar cifrado OpenPGP" + +#~ msgid "Toggle End to End Encryption" +#~ msgstr "Alternar cifrado End to End" + +#, fuzzy +#~ msgid "OpenPGP encryption enabled" +#~ msgstr "Cifrado GPG habilitado" + +#, fuzzy +#~ msgid "No OpenPGP key assigned" +#~ msgstr "Ninguna clave GPG asignada" + +#, fuzzy +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages with OpenPGP." +#~ msgstr "" +#~ "No se ha asignado ninguna clave GPG a este contacto. Por tanto no podrás " +#~ "cifrar mensajes con GPG." + +#~ msgid "Session WILL be logged" +#~ msgstr "La sesión SERÁ registrada" + +#~ msgid "Session WILL NOT be logged" +#~ msgstr "La NO SERÁ registrada" + +#~ msgid "is" +#~ msgstr "es" + +#~ msgid "is NOT" +#~ msgstr "NO es" + +#~ msgid "will" +#~ msgstr "será" + +#~ msgid "will NOT" +#~ msgstr "no será" + +#~ msgid "The following message was encrypted" +#~ msgstr "El siguiente mensaje fue cifrado" + +#, fuzzy +#~ msgid "Toggle the OpenPGP encryption" +#~ msgstr "Alternar cifrado OpenPGP" + +#~ msgid "" +#~ "Should Gajim automatically start an encrypted session with this contact " +#~ "when possible?" +#~ msgstr "" +#~ "¿Debería Gajim iniciar automáticamente una sesión cifrada con este " +#~ "contacto cuando sea posible?" + +#~ msgid "Neither the remote presence is signed, nor a key was assigned." +#~ msgstr "Ni la presencia remota ha sido firmada, ni se ha asignado una clave" + +#~ msgid "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "" +#~ "La clave del contacto (%s) no coincide con la clave asignada en Gajim." + +#~ msgid "[This message is *encrypted* (See :XEP:`27`]" +#~ msgstr "[Este mensaje está *cifrado* (Mira :JEP:`27`]" + +#~ msgid "" +#~ "Your chat session with %(jid)s is encrypted.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "Tu conversación %(jid)s está cifrada.\n" +#~ "\n" +#~ "La cadena corta de autentificación de esta sesión es %(sas)s." + +#~ msgid "You have already verified this contact's identity." +#~ msgstr "Ya verificaste la identidad de este contacto." + +#~ msgid "Contact's identity verified" +#~ msgstr "Identidad del contacto verificada" + +#~ msgid "" +#~ "To be certain that only the expected person can read your messages " +#~ "or send you messages, you need to verify their identity by clicking the " +#~ "button below." +#~ msgstr "" +#~ "Para asegurar que sólo puede leer tus mensajes o enviarte mensajes " +#~ "la persona esperada, necesitas verificar su identidad haciendo click en " +#~ "el botón inferior." + +#~ msgid "Contact's identity NOT verified" +#~ msgstr "La identidad del contacto NO fue verificada" + +#, fuzzy +#~ msgid "Verify…" +#~ msgstr "_Verificar" + +#~ msgid "Have you verified the contact's identity?" +#~ msgstr "¿Has verificado la identidad del contacto?" + +#~ msgid "" +#~ "To prevent talking to an unknown person, you should speak to %(jid)s directly (in person or on the phone) and verify that they see the same " +#~ "Short Authentication String (SAS) as you.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "Para prevenir hablar a una persona desconocida, debes hablar a " +#~ "%(jid)s directamente (en persona o por teléfono) y verificar que " +#~ "ellos usan la misma Cadena Corta de Autentificación (CCA) que tú.\n" +#~ "\n" +#~ "La Cadena Corta de Autentificación (CCA) de esta sesión es %(sas)s." + +#~ msgid "Did you talk to the remote contact and verify the SAS?" +#~ msgstr "¿Se lo dijiste a tu contacto remoto y verificaste el CCA?" + +#~ msgid "" +#~ "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "" +#~ "La clave del contacto (%s) no coincide con la clave asignada en " +#~ "Gajim." + +#, fuzzy +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages." +#~ msgstr "" +#~ "No se ha asignado una clave GPG a este contacto. No podrás cifrar " +#~ "mensajes." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP key is assigned to this contact, but you do not trust their " +#~ "key, so message cannot be encrypted. Use your OpenPGP client " +#~ "to trust their key." +#~ msgstr "" +#~ "La clave GPG se asignó a este contacto, pero no confías en esta clave de modo que no será cifrado. Usa tu cliente GPG para otorgar " +#~ "confianza a esta clave." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP Key is assigned to this contact, and you trust their key, so " +#~ "messages will be encrypted." +#~ msgstr "" +#~ "La clave GPG se asignó a este contacto, y confías en esta clave, de modo " +#~ "que los mensajes serán cifrados." + +#~ msgid "" +#~ "This icon indicates that this message has not yet\n" +#~ "been received by the remote end. If this icon stays\n" +#~ "for a long time, it's likely the message got lost." +#~ msgstr "" +#~ "Este icono indica que este mensaje no ha sido todavía\n" +#~ "recibido por el extremo remoto. Si este icono permanece\n" +#~ "mucho tiempo, probablemente el mensaje se haya perdido." + +#~ msgid "" +#~ "If True, listen to D-Bus signals from NetworkManager and change the " +#~ "status of accounts (provided they do not have listen_to_network_manager " +#~ "set to False and they sync with global status) based upon the status of " +#~ "the network connection." +#~ msgstr "" +#~ "Si es True, escucha las señales D-Bus de NetworkManager y los cambios del " +#~ "estado de las cuentas (con tal de que no tengan listen_to_network_manager " +#~ "puesto en False y sincronicen con el estado global) basados en el estado " +#~ "de la conexión de la red." + +#~ msgid "" +#~ "The database file (%s) cannot be read. Try to repair it or remove it (all " +#~ "history will be lost)." +#~ msgstr "" +#~ "No se pudo leer el archivo de base de datos (%s). Intenta repararlo o " +#~ "elimínalo (se perderá todo el histórico)." + +#~ msgid "Database cannot be read." +#~ msgstr "No se pudo leer la base de datos." + +#~ msgid "A message from a non-valid JID arrived, it has been ignored." +#~ msgstr "Ha llegado un mensaje de una JID no válida, ha sido ignorado." + +#~ msgid "Smooth scroll message in conversation window" +#~ msgstr "Desplazamiento suave del mensaje en las ventanas de conversación" + +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "Listas de _privacidad" + +#~ msgid "_Administrator" +#~ msgstr "_Administrador" + +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "" +#~ "Envía un mensaje a los usuarios conectados en este momento al servidor" + +#~ msgid "Sets Message of the Day" +#~ msgstr "Define el mensaje del día" + +#~ msgid "Updates Message of the Day" +#~ msgstr "Actualiza el mensaje del día" + +#~ msgid "Deletes Message of the Day" +#~ msgstr "Elimiina mensaje del día" + +#~ msgid "Add _Contact..." +#~ msgstr "_Añadir contacto..." + +#~ msgid "Profile, A_vatar" +#~ msgstr "Perfil, A_vatar" + +#~ msgid "File _Transfers" +#~ msgstr "_Transferencias" + +#~ msgid "Help online" +#~ msgstr "Ayuda online" + +#~ msgid "Frequently Asked Questions (online)" +#~ msgstr "Preguntas frecuentes (en línea)" + +#~ msgid "Fea_tures" +#~ msgstr "Carac_terísticas" + +#~ msgid "to %s account" +#~ msgstr "a la cuenta %s" + +#~ msgid "using %s account" +#~ msgstr "usando la cuenta %s" + +#~ msgid "of account %s" +#~ msgstr "de la cuenta %s" + +#~ msgid "for account %s" +#~ msgstr "para la cuenta %s" + +#~ msgid "" +#~ "By removing this contact you also remove authorization resulting in him " +#~ "or her always seeing you as offline." +#~ msgstr "" +#~ "Eliminando este contacto también se está eliminando la autorización " +#~ "resultante y el/ella siempre te verán desconectado." + +#~ msgid "Message Body xmpp.org/getting-started" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:646 +#, fuzzy +msgid "_Please choose a server" +msgstr "Mezu berria sortu" + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "" + +#: gajim/data/gui/application_menu.ui:8 +#, fuzzy +msgid "_Start / Join Chat…" +msgstr "Elkarrizketa Hasi" + +#: gajim/data/gui/application_menu.ui:13 +#, fuzzy +msgid "Create _Group Chat…" +msgstr "Txat Taldea Berria" + +#: gajim/data/gui/application_menu.ui:18 +#, fuzzy +msgid "_History Manager" +msgstr "Historial Administratzailea" + +#: gajim/data/gui/application_menu.ui:22 +#, fuzzy +msgid "Pl_ugins" +msgstr "Konexioak huts egin du" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +#, fuzzy +msgid "_Preferences" +msgstr "Hobespenak" + +#: gajim/data/gui/application_menu.ui:36 +#, fuzzy +msgid "_Accounts" +msgstr "Kontuak" + +#: gajim/data/gui/application_menu.ui:39 +#, fuzzy +msgid "_View" +msgstr "_Ikusi" + +#: gajim/data/gui/application_menu.ui:46 +#, fuzzy +msgid "Show _Offline Contacts" +msgstr "Ikusi _Deskonektatutako Kontaktuak" + +#: gajim/data/gui/application_menu.ui:50 +#, fuzzy +msgid "Show _Active Contacts" +msgstr "Ikusi _Deskonektatutako Kontaktuak" + +#: gajim/data/gui/application_menu.ui:54 +#, fuzzy +msgid "Show _Transports" +msgstr "Trans_porteak Erakutsi" + +#: gajim/data/gui/application_menu.ui:60 +#, fuzzy +msgid "_XML Console" +msgstr " XML Konsola" + +#: gajim/data/gui/application_menu.ui:64 +#, fuzzy +msgid "_File Transfer" +msgstr "Fitxero Transferentzia" + +#: gajim/data/gui/application_menu.ui:74 +#, fuzzy +msgid "_Help" +msgstr "_Laguntza" + +#: gajim/data/gui/application_menu.ui:77 +#, fuzzy +msgid "_Wiki (Online)" +msgstr "bederatzi" + +#: gajim/data/gui/application_menu.ui:81 +#, fuzzy +msgid "FA_Q (Online)" +msgstr "bederatzi" + +#: gajim/data/gui/application_menu.ui:85 +msgid "_Keyboard Shortcuts" +msgstr "" + +#: gajim/data/gui/application_menu.ui:89 +#, fuzzy +msgid "_Features" +msgstr "Zerbitzariaren Ezaugarriak:" + +#: gajim/data/gui/application_menu.ui:93 +#, fuzzy +msgid "_About" +msgstr "About" + +#: gajim/data/gui/filetransfer_progress.ui:125 +msgid "Speed" +msgstr "" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +#, fuzzy +msgid "OK" +msgstr "_OK" + +#: gajim/data/gui/plugins_window.ui:55 +msgid "Install Plugin from ZIP-File" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:56 +msgid "Install from File…" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:70 +#, fuzzy +msgid "Uninstall Plugin" +msgstr "Stalled" + +#: gajim/data/gui/plugins_window.ui:116 +#, fuzzy +msgid "" +msgstr "Konexioak huts egin du" + +#: gajim/data/gui/plugins_window.ui:133 +#, fuzzy +msgid "Plugin Settings" +msgstr "Konexioak huts egin du" + +#: gajim/data/gui/plugins_window.ui:215 +#, fuzzy +msgid "" +msgstr "Deskribapena" + +#: gajim/data/gui/plugins_window.ui:239 +#, fuzzy +msgid "Version" +msgstr "GTK+ Bertsioa:" + +#: gajim/data/gui/plugins_window.ui:271 +#, fuzzy +msgid "Authors" +msgstr "_Autorizatu" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +#, fuzzy +msgid "Homepage" +msgstr "Web Pertsonala:" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:349 +#, fuzzy +msgid "Installed" +msgstr "Stalled" + +#: gajim/data/gui/plugins_window.ui:363 +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +#, fuzzy +msgid "Synchronise contacts" +msgstr "Ikusi _Deskonektatutako Kontaktuak" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +#, fuzzy +msgid "_Name" +msgstr "_Izena " + +#: gajim/data/gui/groupchat_creation.ui:122 +#, fuzzy +msgid "_Description" +msgstr "Deskribapena" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +#, fuzzy +msgid "_Address" +msgstr "_Helbidea:" + +#: gajim/data/gui/groupchat_creation.ui:278 +#, fuzzy +msgid "_Account" +msgstr "Kontuak" + +#: gajim/data/gui/profile.ui:33 +#, fuzzy +msgid "Contact Infos" +msgstr "Kontaturen _Informazioa" + +#: gajim/data/gui/profile.ui:45 +#, fuzzy +msgid "Picture and Name" +msgstr "Izengoitia aurkitugabea: %s" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "" + +#: gajim/data/gui/profile.ui:198 +#, fuzzy +msgid "Change your profile picture" +msgstr "Aldatu _Izengoitia" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:298 +#, fuzzy +msgid "Add Entry" +msgstr "Sarrera:" + +#: gajim/data/gui/profile.ui:410 +#, fuzzy +msgid "Update" +msgstr "MOTD Gaurkotu" + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:15 +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:65 +#, fuzzy +msgid "Add Proxy" +msgstr "Proxy:" + +#: gajim/data/gui/manage_proxies.ui:79 +#, fuzzy +msgid "Remove Proxy" +msgstr "Ezabatu Taldea" + +#: gajim/data/gui/manage_proxies.ui:131 +#, fuzzy +msgid "Pass_word" +msgstr "Pasa_hitza:" + +#: gajim/data/gui/manage_proxies.ui:156 +#, fuzzy +msgid "Use proxy auth_entication" +msgstr "Erabili autentifikazioa" + +#: gajim/data/gui/manage_proxies.ui:176 +#, fuzzy +msgid "_Username" +msgstr "_Izena" + +#: gajim/data/gui/manage_proxies.ui:237 +#, fuzzy +msgid "_Host" +msgstr "_Host-a" + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "Tokiko jid-a:" + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "Baliabidea:" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "Egoera:" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +#, fuzzy +msgid "_Store conversation history" +msgstr "Elkarrizketaren _historiala" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +msgid "Contact" +msgstr "Kontaktua" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +msgid "First Name:" +msgstr "Lehen Izena:" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +msgid "Last Name:" +msgstr "Azken Izena:" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +#, fuzzy +msgid "XMPP Address:" +msgstr "AIM Hebidea:" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "E-Posta:" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +msgid "Personal" +msgstr "Pertsonala" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "_Egoera" + +#: gajim/data/gui/account_context_menu.ui:20 +#, fuzzy +msgid "_Personal Events" +msgstr "Informazio Pertsonala " + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "_Kontaktua Gehitu..." + +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "_Zerbitzuak Aurkitu" + +#: gajim/data/gui/account_context_menu.ui:57 +msgid "_Execute Command..." +msgstr "_Komandoa Exekutatu..." + +#: gajim/data/gui/account_context_menu.ui:65 +#, fuzzy +msgid "_View Server Info" +msgstr "Zerbitzaria" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:125 +#, fuzzy +msgid "Global Group Chat Search" +msgstr "Txat Taldean Sartu" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +#, fuzzy +msgid "_Back" +msgstr "Laster etorriko naiz" + +#: gajim/data/gui/start_chat_dialog.ui:386 +#, fuzzy +msgid "Select Account" +msgstr "%s kontua ezabatzen" + +#: gajim/data/gui/start_chat_dialog.ui:477 +msgid "_Select" +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +#, fuzzy +msgid "Configure" +msgstr "_Jarraitu" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +msgid "Create new post" +msgstr "Mezu berria sortu" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "E_goera" + +#: gajim/data/gui/systray_context_menu.ui:20 +#, fuzzy +msgid "_Start Chat..." +msgstr "Elkarrizketa _Hasi" + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "Bidali _Mezu Bakarra..." + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "Ikusi Gabeko _Gertaerak" + +#: gajim/data/gui/systray_context_menu.ui:52 +msgid "Mute Sounds" +msgstr "Soinua Kendu" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +#, fuzzy +msgid "Contact List" +msgstr "Kontaktua" + +#: gajim/data/gui/shortcuts_window.ui:24 +#, fuzzy +msgid "Create new group chat" +msgstr "Txat Taldea Berria" + +#: gajim/data/gui/shortcuts_window.ui:45 +#, fuzzy +msgid "File transfers" +msgstr "Fitxero Transferentzia" + +#: gajim/data/gui/shortcuts_window.ui:52 +#, fuzzy +msgid "Set the status message" +msgstr "egoera mezua" + +#: gajim/data/gui/shortcuts_window.ui:59 +#, fuzzy +msgid "Show XML console" +msgstr "_XML Konsola Ikusarazi" + +#: gajim/data/gui/shortcuts_window.ui:74 +#, fuzzy +msgid "Appearance" +msgstr "Arau bat editatu" + +#: gajim/data/gui/shortcuts_window.ui:79 +#, fuzzy +msgid "Show offline contacts" +msgstr "Ikusi _Deskonektatutako Kontaktuak" + +#: gajim/data/gui/shortcuts_window.ui:86 +#, fuzzy +msgid "Show only active contacts" +msgstr "Ikusi _Deskonektatutako Kontaktuak" + +#: gajim/data/gui/shortcuts_window.ui:93 +msgid "Enable contact list filtering" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:100 +#, fuzzy +msgid "Show / hide contact list" +msgstr "Ikusi _Deskonektatutako Kontaktuak" + +#: gajim/data/gui/shortcuts_window.ui:113 +#, fuzzy +msgid "Contact information" +msgstr "Kontaktuaren Informazioa" + +#: gajim/data/gui/shortcuts_window.ui:120 +#, fuzzy +msgid "Rename contact" +msgstr "Berridatzi Kontaktua" + +#: gajim/data/gui/shortcuts_window.ui:127 +#, fuzzy +msgid "Delete contact" +msgstr "Kontaktua" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +msgid "Chat" +msgstr "Txat" + +#: gajim/data/gui/shortcuts_window.ui:142 +#, fuzzy +msgid "Message composition" +msgstr "mezuaren edukia" + +#: gajim/data/gui/shortcuts_window.ui:147 +#, fuzzy +msgid "Send the message" +msgstr "Bidali mezua" + +#: gajim/data/gui/shortcuts_window.ui:154 +#, fuzzy +msgid "Add new line" +msgstr "Mezu berria sortu" + +#: gajim/data/gui/shortcuts_window.ui:161 +msgid "Select an emoji" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:168 +#, fuzzy +msgid "Complete a command or a nickname" +msgstr "Mezu berria sortu" + +#: gajim/data/gui/shortcuts_window.ui:175 +#, fuzzy +msgid "Previously sent message" +msgstr "Ezarritako egoerak:" + +#: gajim/data/gui/shortcuts_window.ui:182 +#, fuzzy +msgid "Next sent messages" +msgstr "Ezarritako egoerak:" + +#: gajim/data/gui/shortcuts_window.ui:189 +#, fuzzy +msgid "Quote previous message" +msgstr "egoera mezua" + +#: gajim/data/gui/shortcuts_window.ui:196 +#, fuzzy +msgid "Quote next message" +msgstr "Bidali mezua" + +#: gajim/data/gui/shortcuts_window.ui:203 +#, fuzzy +msgid "Clear message entry" +msgstr "Mezua Bidaltzean" + +#: gajim/data/gui/shortcuts_window.ui:211 +#, fuzzy +msgid "Recent history" +msgstr "Berriki:" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:230 +#, fuzzy +msgid "Clear chat window" +msgstr "Erabilera: %s, testu leihoa itxi." + +#: gajim/data/gui/shortcuts_window.ui:237 +#, fuzzy +msgid "Show chat history" +msgstr "Berriki:" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:299 +msgid "Close chat" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:312 +#, fuzzy +msgid "Change Nickname" +msgstr "Aldatu _Izengoitia" + +#: gajim/data/gui/chat_control.ui:48 +#, fuzzy +msgid "Drop files or contacts" +msgstr "Fitxero bat bidali kontaktu bati" + +#: gajim/data/gui/chat_control.ui:80 +#, fuzzy +msgid "1" +msgstr "Soinuak" + +#: gajim/data/gui/chat_control.ui:101 +#, fuzzy +msgid "2 abc" +msgstr "Soinuak" + +#: gajim/data/gui/chat_control.ui:121 +#, fuzzy +msgid "3 def" +msgstr "Soinuak" + +#: gajim/data/gui/chat_control.ui:141 +#, fuzzy +msgid "4 ghi" +msgstr "Soinuak" + +#: gajim/data/gui/chat_control.ui:161 +#, fuzzy +msgid "5 jkl" +msgstr "Soinuak" + +#: gajim/data/gui/chat_control.ui:181 +#, fuzzy +msgid "6 mno" +msgstr "Soinuak" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "" + +#: gajim/data/gui/chat_control.ui:221 +#, fuzzy +msgid "8 tuv" +msgstr "Soinuak" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "" + +#: gajim/data/gui/chat_control.ui:261 +#, fuzzy +msgid "*" +msgstr "Soinuak" + +#: gajim/data/gui/chat_control.ui:281 +#, fuzzy +msgid "0" +msgstr "Soinuak" + +#: gajim/data/gui/chat_control.ui:301 +#, fuzzy +msgid "#" +msgstr "Soinuak" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "Elkarrizketa _Hasi" + +#: gajim/data/gui/contact_context_menu.ui:28 +#, fuzzy +msgid "Send _File..." +msgstr "Bidali _Fitxeroa" + +#: gajim/data/gui/contact_context_menu.ui:44 +#, fuzzy +msgid "Invite _Contacts" +msgstr "Kontaktua" + +#: gajim/data/gui/contact_context_menu.ui:58 +#, fuzzy +msgid "E_xecute Command..." +msgstr "Komandoa Exekutatu..." + +#: gajim/data/gui/contact_context_menu.ui:67 +#, fuzzy +msgid "M_anage Contact" +msgstr "Berridatzi Kontaktua" + +#: gajim/data/gui/contact_context_menu.ui:77 +#, fuzzy +msgid "_Rename..." +msgstr "_Berrrizenpetu" + +#: gajim/data/gui/contact_context_menu.ui:84 +#, fuzzy +msgid "Edit _Groups..." +msgstr "Editatu _Taldeak" + +#: gajim/data/gui/contact_context_menu.ui:92 +#, fuzzy +msgid "Add Special _Notification..." +msgstr "Gehitu _Noifikazio Berezia" + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "Har_pidetza" + +#: gajim/data/gui/contact_context_menu.ui:115 +#, fuzzy +msgid "_Allow contact to see my status" +msgstr "Baimendu kontaktu honi nire egoera ikustea" + +#: gajim/data/gui/contact_context_menu.ui:123 +#, fuzzy +msgid "A_sk to see contact status" +msgstr "Bere egoera ikusteko esan" + +#: gajim/data/gui/contact_context_menu.ui:131 +#, fuzzy +msgid "_Forbid contact to see my status" +msgstr "Debekatu nire egoera ikustea" + +#: gajim/data/gui/contact_context_menu.ui:159 +#, fuzzy +msgid "_Unignore" +msgstr "bederatzi" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:174 +#, fuzzy +msgid "_Add to Contact List..." +msgstr "_Kontaktua Gehitu..." + +#: gajim/data/gui/single_message_window.ui:42 +#, fuzzy +msgid "_To" +msgstr "Norentzat" + +#: gajim/data/gui/single_message_window.ui:71 +#, fuzzy +msgid "Su_bject" +msgstr "Gaia" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "" + +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "_Mezua" + +#: gajim/data/gui/single_message_window.ui:144 +#, fuzzy +msgid "Characters typed: 0" +msgstr "Baimenik gabeko izengoitia: %s" + +#: gajim/data/gui/single_message_window.ui:189 +#, fuzzy +msgid "_From" +msgstr "-etik" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "_Bidali" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "Bidali mezua" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "_Erantzun" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "Erantzun mezu honi" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "_Bidali eta Itxi" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "Bidali mezua eta itxi leihoa" + +#: gajim/data/gui/vcard_information_window.ui:106 +#, fuzzy +msgid "Client" +msgstr "Bezeroa:" + +#: gajim/data/gui/vcard_information_window.ui:140 +#, fuzzy +msgid "Contact time" +msgstr "Kontaturen izena" + +#: gajim/data/gui/vcard_information_window.ui:240 +#, fuzzy +msgid "User avatar" +msgstr "Abatarea:" + +#: gajim/data/gui/vcard_information_window.ui:255 +#, fuzzy +msgid "Configured avatar" +msgstr "Gela Konfigu_ratu" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +#, fuzzy +msgid "Ask" +msgstr "Eskatua:" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +#, fuzzy +msgid "Subscription" +msgstr "Harpidetza:" + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +#, fuzzy +msgid "Extra Address" +msgstr "Helbide Gehigarria:" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +#, fuzzy +msgid "Address" +msgstr "Ezarri Araua" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +#, fuzzy +msgid "E-Mail" +msgstr "E-Posta:" + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "Formatua: YYYY-MM-DD" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +#, fuzzy +msgid "Family" +msgstr "Familia:" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +#, fuzzy +msgid "Middle" +msgstr "Erdi izena:" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +#, fuzzy +msgid "Prefix" +msgstr "Aurreizkia izenean:" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +#, fuzzy +msgid "Given" +msgstr "Emandako izena:" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +#, fuzzy +msgid "Suffix" +msgstr "Atzizkia izenean:" + +#: gajim/data/gui/vcard_information_window.ui:958 +#, fuzzy +msgid "Name Details" +msgstr "Bezeroak" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "" + +#: gajim/data/gui/vcard_information_window.ui:1017 +msgid "Personal Info" +msgstr "Informazio Pertsonala " + +#: gajim/data/gui/vcard_information_window.ui:1040 +#, fuzzy +msgid "Company" +msgstr "Konpainia:" + +#: gajim/data/gui/vcard_information_window.ui:1073 +#, fuzzy +msgid "Department" +msgstr "Departamentua:" + +#: gajim/data/gui/vcard_information_window.ui:1104 +#, fuzzy +msgid "Position" +msgstr "Tokia:" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "Eginkizuna" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "About" + +#: gajim/data/gui/vcard_information_window.ui:1514 +msgid "Comments" +msgstr "Azalpenak" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "Taldeak Editatu" + +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "Pasa-esaldia" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +#, fuzzy +msgid "Themes" +msgstr "Gaia" + +#: gajim/data/gui/themes_window.ui:171 +#, fuzzy +msgid "Add Setting" +msgstr "Konexioak huts egin du" + +#: gajim/data/gui/themes_window.ui:204 +#, fuzzy +msgid "Add new Theme" +msgstr "Mezu berria sortu" + +#: gajim/data/gui/themes_window.ui:219 +#, fuzzy +msgid "Remove Theme" +msgstr "Aktibatuta" + +#: gajim/data/gui/bookmarks.ui:120 +#, fuzzy +msgid "Autojoin" +msgstr "Automatikoki sartu" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "" + +#: gajim/data/gui/preferences.ui:68 +#, fuzzy +msgid "Contact List Appearance" +msgstr "Kontaktua Deskonektatuta" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +msgid "Chats" +msgstr "Txat-ak" + +#: gajim/data/gui/preferences.ui:215 +#, fuzzy +msgid "Visual Notifications" +msgstr "Ikusizko Jakinarazketa" + +#: gajim/data/gui/preferences.ui:243 +#, fuzzy +msgid "Sounds" +msgstr "Wav Soinuak" + +#: gajim/data/gui/preferences.ui:303 +#, fuzzy +msgid "Ask For Status Message on…" +msgstr "Eskatu egoera mezua, nagoenean:" + +#: gajim/data/gui/preferences.ui:331 +#, fuzzy +msgid "Automatic Status Change" +msgstr "Egoerarekin b_at egin" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "" + +#: gajim/data/gui/preferences.ui:447 +#, fuzzy +msgid "Status Icon" +msgstr "Berezko egoera _ikurra:" + +#: gajim/data/gui/preferences.ui:472 +#, fuzzy +msgid "Style" +msgstr "Stalled" + +#: gajim/data/gui/preferences.ui:511 +#, fuzzy +msgid "Show _Features" +msgstr "Zerbitzariaren Ezaugarriak:" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:632 +msgid "Audio" +msgstr "" + +#: gajim/data/gui/preferences.ui:660 +msgid "Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:698 +msgid "Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:735 +#, fuzzy +msgid "Miscellaneous" +msgstr "Denetatik" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:821 +#, fuzzy +msgid "Advanced Configuration Editor… " +msgstr "Konfigurazio Aurreratuaren Editorea" + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "" + +#: gajim/data/gui/server_info.ui:50 +#, fuzzy +msgid "Server Software" +msgstr "Zerbitzariaren Ezaugarriak:" + +#: gajim/data/gui/server_info.ui:80 +#, fuzzy +msgid "Server Uptime" +msgstr "%s gordea" + +#: gajim/data/gui/server_info.ui:109 +#, fuzzy +msgid "Contact Addresses" +msgstr "Egoera mezua:" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "" + +#: gajim/data/gui/server_info.ui:177 +#, fuzzy +msgid "Proxy Type" +msgstr "Proxy:" + +#: gajim/data/gui/server_info.ui:192 +#, fuzzy +msgid "No proxy used" +msgstr "Proxy:" + +#: gajim/data/gui/server_info.ui:202 +#, fuzzy +msgid "View _Certificate" +msgstr "Baliogabeko izena" + +#: gajim/data/gui/server_info.ui:222 +#, fuzzy +msgid "Proxy Host" +msgstr "Proxy:" + +#: gajim/data/gui/server_info.ui:421 +#, fuzzy +msgid "Copy info to clipboard" +msgstr "_Lotura kokapena kopiatu" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:153 +#, fuzzy +msgid "Serial Number" +msgstr "GG zenbakia:" + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:304 +msgid "Expires on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:465 +#, fuzzy +msgid "Copy Certificate Information" +msgstr "Kontaktuaren Informazioa" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +#, fuzzy +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "Txateatu nahi duzun pertsonaren JID-a" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +#, fuzzy +msgid "Please select a group chat server." +msgstr "Hau ez da txat talde bat" + +#: gajim/data/gui/chat_to_muc_window.ui:141 +#, fuzzy +msgid "Group chat server" +msgstr "Txat Taldeak" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +#, fuzzy +msgid "In_vite" +msgstr "Honera gonbidatu" + +#: gajim/data/gui/mam_preferences.ui:53 +#, fuzzy +msgid "_Default" +msgstr "Berezkoa" + +#: gajim/data/gui/mam_preferences.ui:136 +#, fuzzy +msgid "Archive" +msgstr "Fitxeroaren tokia" + +#: gajim/data/gui/history_manager.ui:11 +#, fuzzy +msgid "_Export" +msgstr "Esportatu" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +msgid "Gajim History Logs Manager" +msgstr "Gajim Historialeko Log Administratzailea" + +#: gajim/data/gui/history_manager.ui:104 +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" + +#: gajim/data/gui/history_manager.ui:120 +#, fuzzy +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" +"Ongi Etorri Gajim Log Historial Administratzailera\n" +"\n" +"Eskubian log-ak hautatu ditzakezu edo/eta behean datu basean bilatu.\n" +"\n" +"OHARRA:\n" +"Ezabatze handia egin behar baduzu, Gajim abiarazita ez dagoela begira ezazu. " +"Normalean hitz egiten ari zaren kontaktuaen ezabaketak arbuilatzen ditu." + +#: gajim/data/gui/history_manager.ui:211 +#, fuzzy +msgid "Search database..." +msgstr "_Bilatu Datu Basean" + +#: gajim/data/gui/history_manager.ui:226 +#, fuzzy +msgid "Search in database" +msgstr "_Bilatu Datu Basean" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" + +#: gajim/data/gui/groupchat_invite.ui:69 +#, fuzzy +msgid "Invitees" +msgstr "Honera gonbidatu" + +#: gajim/data/gui/groupchat_invite.ui:153 +#, fuzzy +msgid "Search contacts..." +msgstr "_Bilatu Datu Basean" + +#: gajim/data/gui/groupchat_invite.ui:223 +#, fuzzy +msgid "Click on contacts you would like to invite to this group chat." +msgstr "%(nick)s botata izan da %(who)s -engatik: %(reason)s" + +#: gajim/data/gui/service_discovery_window.ui:148 +#, fuzzy +msgid "Go" +msgstr "J_oan" + +#: gajim/data/gui/status_change_window.ui:27 +#, fuzzy +msgid "Change Status" +msgstr "Kontaktu Egoera Aldaketa" + +#: gajim/data/gui/status_change_window.ui:56 +#, fuzzy +msgid "Status Presets…" +msgstr "Egoera Mezua" + +#: gajim/data/gui/status_change_window.ui:72 +msgid "Save this message as a preset" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:130 +#, fuzzy +msgid "Ac_tivity" +msgstr "Aktibatuta" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:278 +#, fuzzy +msgid "_Change Status" +msgstr "Kontaktu Egoera Aldaketa" + +#: gajim/data/gui/status_change_window.ui:313 +#, fuzzy +msgid "Activity" +msgstr "Aktibatuta" + +#: gajim/data/gui/status_change_window.ui:326 +#, fuzzy +msgid "_No Activity" +msgstr "Aktibatuta" + +#: gajim/data/gui/status_change_window.ui:729 +#, fuzzy +msgid "Mood" +msgstr "_Eraldatu" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +#, fuzzy +msgid "Author" +msgstr "_Autorizatu" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +#, fuzzy +msgid "Group Chat Language" +msgstr "Txat Taldeko Gonbidapena" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +#, fuzzy +msgid "Copy Address" +msgstr "_Kopiatu JID/Email-a" + +#: gajim/data/gui/emoji_chooser.ui:98 +msgid "No Results Found" +msgstr "" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr " XML Konsola" + +#: gajim/data/gui/xml_console.ui:131 +#, fuzzy +msgid "Start Search..." +msgstr "Elkarrizketa _Hasi" + +#: gajim/data/gui/xml_console.ui:260 +#, fuzzy +msgid "Clear" +msgstr "Arratsaldea" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "" + +#: gajim/data/gui/xml_console.ui:316 +#, fuzzy +msgid "Presets" +msgstr "_Egoera" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +#, fuzzy +msgid "Select the contacts you want to synchronise" +msgstr "Txateatu nahi duzun pertsonaren JID-a" + +#: gajim/data/gui/groupchat_config.ui:51 +#, fuzzy +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" +"Hauetako bat izan daiteke:\n" +"1. izena@zerbitzaria/lehentasuna (Lehentasun parekidea bakarrik).\n" +"2. izena@zerbitzaria (Edozien lehentasun parekide).\n" +"3. zerbitzaria/lehentasuna(Lehentasun parekidea bakarrik).\n" +"4. zerbitzaria (the domain itself matches, as does any user@domain,\n" +"domain/resource, or address containing a subdomain." + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:309 +#, fuzzy +msgid "Reserved Name" +msgstr "Izen Hautapena" + +#: gajim/data/gui/groupchat_config.ui:346 +#, fuzzy +msgid "Affiliation" +msgstr "Afizioak: " + +#: gajim/data/gui/groupchat_config.ui:377 +#, fuzzy +msgid "Affiliations" +msgstr "Afizioak: " + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "Arrazoia" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "Debekatutako Zerrenda" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "_Ukatu" + +#: gajim/data/gui/subscription_request_window.ui:34 +#, fuzzy +msgid "_Block User" +msgstr "Ta_ldea:" + +#: gajim/data/gui/subscription_request_window.ui:49 +#, fuzzy +msgid "_Report as Spam" +msgstr "_Report Bug" + +#: gajim/data/gui/subscription_request_window.ui:212 +#, fuzzy +msgid "_Deny…" +msgstr "_Ukatu" + +#: gajim/data/gui/subscription_request_window.ui:225 +#, fuzzy +msgid "Ac_cept" +msgstr "Onartu" + +#: gajim/data/gui/subscription_request_window.ui:230 +#, fuzzy +msgid "Allows the contact to see your online status" +msgstr "Baimendu kontaktu honi nire egoera ikustea" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:115 +#, fuzzy +msgid "_Report Bug" +msgstr "_Report Bug" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "Gertaera" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "Aukeratu Soinua" + +#: gajim/data/gui/manage_sounds.ui:97 +#, fuzzy +msgid "Clear Sound" +msgstr "Aukeratu Soinua" + +#: gajim/data/gui/manage_sounds.ui:118 +#, fuzzy +msgid "Play Sound" +msgstr "Soinuak _entzun" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +#, fuzzy +msgid "_Send Files" +msgstr "Bidali _Fitxeroa" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +#, fuzzy +msgid "Send" +msgstr "_Bidali" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +#, fuzzy +msgid "Files to send" +msgstr "Aukeratu Bidaltzeko Fitxeroa..." + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +#, fuzzy +msgid "Add Files" +msgstr "Fitxeroa:" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +#, fuzzy +msgid "Remove Files" +msgstr "_Ezabatu" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +#, fuzzy +msgid "Idle since:" +msgstr " %s-etik" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +#, fuzzy +msgid "Mood:" +msgstr "Gela:" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +#, fuzzy +msgid "Activity:" +msgstr "Aktibatuta" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +#, fuzzy +msgid "Tune:" +msgstr "Mota:" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +#, fuzzy +msgid "Location:" +msgstr "Kontu Eraldaketa" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +msgid "Subscription:" +msgstr "Harpidetza:" + +#: gajim/data/gui/advanced_configuration.ui:15 +#, fuzzy +msgid "A restart may be required for some settings to take effect" +msgstr "" +"OHARRA: Gajim berriro abiarazi beharko duzu aldagai batzuek efektua " +"sor dezaten" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "" + +#: gajim/data/gui/advanced_configuration.ui:120 +#, fuzzy +msgid "_Reset Value" +msgstr "Be_rezko Koloreak Ezarri" + +#: gajim/data/gui/advanced_configuration.ui:125 +#, fuzzy +msgid "Resets value to default" +msgstr "Be_rezko Koloreak Ezarri" + +#: gajim/data/gui/history_window.ui:27 +#, fuzzy +msgid "Display status changes" +msgstr "Kontaktuen egoera aldaketak gorde" + +#: gajim/data/gui/history_window.ui:57 +msgid "History Manager" +msgstr "Historial Administratzailea" + +#: gajim/data/gui/history_window.ui:233 +#, fuzzy +msgid "Mode" +msgstr "Moderatzailea" + +#: gajim/data/gui/history_window.ui:246 +#, fuzzy +msgid "Search complete history" +msgstr "Berriki:" + +#: gajim/data/gui/history_window.ui:263 +msgid "Search selected day only" +msgstr "" + +#: gajim/data/gui/history_window.ui:317 +msgid "Store history for this chat" +msgstr "" + +#: gajim/data/gui/history_window.ui:332 +#, fuzzy +msgid "Store History" +msgstr "Berriki:" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +#, fuzzy +msgid "Identified Error" +msgstr "Baliogabeko izena" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +#, fuzzy +msgid "" +msgstr "Avahi error" + +#: gajim/data/gui/ssl_error_dialog.ui:74 +msgid "Add this certificate to the list of _trusted certificates" +msgstr "" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +#, fuzzy +msgid "_View Certificate" +msgstr "Baliogabeko izena" + +#: gajim/data/gui/ssl_error_dialog.ui:120 +#, fuzzy +msgid "_Connect" +msgstr "Konektatu" + +#: data/org.gajim.Gajim.desktop.in:5 +#, fuzzy +msgid "XMPP Chat Client" +msgstr "IM Jabber Bezeroa" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:8 +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:27 +#, fuzzy +msgid "Show next pending event" +msgstr "Ikusi Gabeko _Gertaerak" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:17 +#, fuzzy +msgid "Features:" +msgstr "Zerbitzariaren Ezaugarriak:" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +msgid "Automatic spell-checking for your messages" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +#, fuzzy +msgid "Support for service discovery including nodes and search for users" +msgstr "Zerbitzaria Aurkitua %s kontua erabiliz" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +#, fuzzy +msgid "Contact list" +msgstr "Kontaktua" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +#, fuzzy +msgid "Group chat support" +msgstr "Txat Taldeak" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +#, fuzzy +msgid "Chat history" +msgstr "Berriki:" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +#, fuzzy +msgid "Plugin manager" +msgstr "Konexioak huts egin du" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +#, fuzzy +msgid "Gajim Team" +msgstr "Gajim - %s" + +#, fuzzy +#~ msgid "Chat Settings" +#~ msgstr "Konexioak huts egin du" + +#, fuzzy, python-format +#~ msgid "%i day" +#~ msgid_plural "%i days" +#~ msgstr[0] "%i egun lehenago" +#~ msgstr[1] "%i egun lehenago" + +#, fuzzy +#~ msgid "Composing only" +#~ msgstr "Sortzen" + +#, fuzzy +#~ msgid "All chat states" +#~ msgstr "Egoera Guztiak" + +#~ msgid "Privacy Lists" +#~ msgstr "Debekatze Zerrenda" + +#~ msgid "None" +#~ msgstr "Ezer ez" + +#, python-format +#~ msgid "%s Status Message" +#~ msgstr "%s Egoera Mezua" + +#~ msgid "Could not load image" +#~ msgstr "Ezin izan da irudia kargatu" + +#, fuzzy +#~ msgid "Error." +#~ msgstr "Avahi error" + +#, fuzzy +#~ msgid "_Block Contact" +#~ msgstr "Kontaktua" + +#, fuzzy +#~ msgid "Block Group" +#~ msgstr "Taldea" + +#, fuzzy +#~ msgid "Really block this group?" +#~ msgstr "OpenPGP aktibatu al dago kontu honetarako?" + +#~ msgid "No account available" +#~ msgstr "Ez dago konturik erabilgarri" + +#~ msgid "You must create an account before you can chat with other contacts." +#~ msgstr "" +#~ "Kontu bat sortu behar duzu norbaitekin txateatzeko aukera izan baino " +#~ "lehen." + +#~ msgid "Metacontacts storage not supported by your server" +#~ msgstr "Metacontacts storage not supported by your server" + +#, fuzzy +#~ msgid "" +#~ "Your server does not support storing metacontacts information. So this " +#~ "information will not be saved on next reconnection." +#~ msgstr "" +#~ "Your server does not support storing metacontacts information. So those " +#~ "information will not be save on next reconnection." + +#, fuzzy, python-brace-format +#~ msgid "You are invited to {room} by {user}" +#~ msgstr "Gela honetan ukatua izan zara." + +#, fuzzy, python-format +#~ msgid "%s wants to start a voice chat." +#~ msgstr "%s fitxero bat bidali nahi dizu" + +#~ msgid "Could not save your settings and preferences" +#~ msgstr "Ezin izan dira zure aldaketak eta hobespenak gorde" + +#, fuzzy +#~ msgid "Error While Removing Privacy List" +#~ msgstr "Errorea zerbitzarian sartzean.%s" + +#, fuzzy +#~ msgid "Invisibility Not Supported" +#~ msgstr "Gehigarriak ez eskuragarri" + +#, fuzzy, python-format +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "" +#~ "Fitxategi tranferentzia aktiboen, bukatutakoen eta gelditutakoen lista" + +#, fuzzy +#~ msgid "Could not request upload slot for HTTP File Upload" +#~ msgstr "Ezin izan da zerbitzu lokalak hasi" + +#, fuzzy +#~ msgid "Not Secure" +#~ msgstr "Hasigabea" + +#, fuzzy +#~ msgid "Could not Upload File" +#~ msgstr "Ezin izan da irudia kargatu" + +#, fuzzy +#~ msgid "Encryption Error" +#~ msgstr "Enkriptazioa aktibatuta" + +#~ msgid "Lists all preferences and their values" +#~ msgstr "Erakutsi preferentzia eta balio guztiak" + +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "Sets value of 'key' to 'value'." + +#~ msgid "key=value" +#~ msgstr "key=value" + +#, fuzzy +#~ msgid "'key' is the name of the preference, 'value' is what to set it to" +#~ msgstr "" +#~ "'key' is the name of the preference, 'value' is the value to set it to" + +#~ msgid "Deletes a preference item" +#~ msgstr "Preferentziako aukera ezabatu" + +#~ msgid "key" +#~ msgstr "giltza" + +#~ msgid "name of the preference to be deleted" +#~ msgstr "preferentziaren izena borratzeko" + +#~ msgid "Writes the current state of Gajim preferences to the .config file" +#~ msgstr "Gajim-en berezko preferentzien egoera .config fitxategian idatzi" + +#, fuzzy, python-format +#~ msgid "%s is a directory but should be a file" +#~ msgstr "%s direktorio bat da baina fitxero bat izan daiteke" + +#, fuzzy, python-format +#~ msgid "Creating %s" +#~ msgstr "Deskribapena: %s" + +#, python-format +#~ msgid "%(nickname)s Signed In" +#~ msgstr "%(nickname)s Konektatuta" + +#~ msgid "Contact Signed In" +#~ msgstr "Kontaktua konektatuta" + +#, python-format +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "%(nickname)s Deskonektatuta" + +#~ msgid "Contact Signed Out" +#~ msgstr "Kontaktua deskonektatuta" + +#, fuzzy +#~ msgid "" +#~ "Show desktop notification even when a chat window is opened for this " +#~ "contact and does not have focus." +#~ msgstr "" +#~ "Baimendu Popup/Jakinarazteak nagoenean: Kanpoan/Ez Erabilgarri/Lanpetuta/" +#~ "Ikusezin" + +#, fuzzy +#~ msgid "default" +#~ msgstr "Berezkoa" + +#, fuzzy +#~ msgid "" +#~ "Character to propose to add after desired nickname when nickname is " +#~ "already used in group chat." +#~ msgstr "" +#~ "Izengoitiaren ondoren jartzeko proposatzen den karakterea, txat taldean " +#~ "beste pertsona batek izengoiti berbera badu." + +#, fuzzy +#~ msgid "If enabled, Gajim displays the avatar in the chat window." +#~ msgstr "Gezurra bada, txat leihoan ez duzu abatererik ikusiko. " + +#~ msgid "I'm available." +#~ msgstr "Libre." + +#~ msgid "I'm free for chat." +#~ msgstr "Libre Hitz Egiteko." + +#~ msgid "Be right back." +#~ msgstr "Be right back." + +#~ msgid "I'm not available." +#~ msgstr "Ez Erabilgarri." + +#~ msgid "Do not disturb." +#~ msgstr "Ez nahasi." + +#~ msgid "Bye!" +#~ msgstr "Agur!" + +#, fuzzy +#~ msgid "Timeout loading image" +#~ msgstr "Ezin izan da irudia kargatu" + +#, fuzzy +#~ msgid "Error loading image" +#~ msgstr "Ezin izan da irudia kargatu" + +#, fuzzy +#~ msgid "Blocked Contacts" +#~ msgstr "Kontaktua" + +#, fuzzy +#~ msgid "Group chat" +#~ msgstr "Txat Taldeak" + +#, fuzzy +#~ msgid "Bookmark group chat" +#~ msgstr "_Talde Agendan Sartu Gela hau" + +#, fuzzy +#~ msgid "Bookmark" +#~ msgstr "_Talde Agendan Sartu Gela hau" + +#, fuzzy +#~ msgid "Recently used group chats" +#~ msgstr "Txat Taldean _Sartu" + +#, fuzzy +#~ msgid "Clear Avatar" +#~ msgstr "Abatarea:" + +#, fuzzy +#~ msgid "Set Avatar…" +#~ msgstr "Aukeratu Irudia" + +#, fuzzy +#~ msgid "Contact" +#~ msgstr "Aldaketak" + +#, fuzzy +#~ msgid "_Leave Group Chat" +#~ msgstr "Txat Taldea Berria" + +#, fuzzy +#~ msgid "Enter a new name for this group chat" +#~ msgstr "Sartu %s taldearentzat izen berri bat" + +#, fuzzy +#~ msgid "Custom" +#~ msgstr "Bezeroak" + +#, fuzzy +#~ msgid "Pop it up" +#~ msgstr "_Agertarazi" + +#, fuzzy +#~ msgid "Notify me about it" +#~ msgstr "_Jakinarazi horri buruz" + +#, fuzzy +#~ msgid "Show only in contact list" +#~ msgstr "Ikusi _Deskonektatutako Kontaktuak" + +#, fuzzy +#~ msgid "No status messages" +#~ msgstr "egoera mezua" + +#, fuzzy +#~ msgid "All status messages" +#~ msgstr "egoera mezua" + +#, fuzzy +#~ msgid "Only enter/leave messages" +#~ msgstr "Irakurri gabeko mezu bat duzu" + +#, fuzzy +#~ msgid "Me_rge accounts" +#~ msgstr "_Batu kontuak" + +#, fuzzy +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "Kontaktuen a_batereak erakutsi zerrendan" + +#, fuzzy +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "" +#~ "Hautatua badago, Gajim-ek zerrendan eta txat taldeetan kontaktuen " +#~ "abatereak azalaraziko ditu" + +#, fuzzy +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "Erakuts arazi kontaktuen egoera _mezua zerrendan" + +#, fuzzy +#~ msgid "" +#~ "If checked, status messages of contacts will be shown under the contact's " +#~ "name, in the contact list window, and in group chats" +#~ msgstr "" +#~ "Hautatua badago, Gajim-ek egoera mezua zerrendan erakutsaraziko du izenen " +#~ "azpian eta txat taldeetan" + +#, fuzzy +#~ msgid "" +#~ "Show e_xtra information of contacts in contact list (mood, activity, ...)" +#~ msgstr "Kontaktuen a_batereak erakutsi zerrendan" + +#, fuzzy +#~ msgid "in _contact list" +#~ msgstr "Kontaktua" + +#, fuzzy +#~ msgid "in _group chats" +#~ msgstr "Txat Taldean _Sartu" + +#, fuzzy +#~ msgid "Display status messages in _single chats" +#~ msgstr "Erakuts arazi kontaktuen egoera _mezua zerrendan" + +#, fuzzy +#~ msgid "" +#~ "If checked, status lines will be shown in 1 on 1 chats when a contact " +#~ "changes their status or status message" +#~ msgstr "" +#~ "Gezurra bada, ez da egoera lerroa inprimatuko kontaktu batek bere egoera " +#~ "aldaketa egiten duenean edo/eta bere egoera mezua." + +#, fuzzy +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "Ezin da gela honetara sartu" + +#, fuzzy +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "Ezin da gela honetara sartu" + +#, fuzzy +#~ msgid "Show status changes (Default)" +#~ msgstr "Kontaktuen egoera aldaketak gorde" + +#, fuzzy +#~ msgid "" +#~ "If checked, the tab will be colored according to the current chatstate of " +#~ "the contact" +#~ msgstr "" +#~ "Hautatua badago, Gajim-ek txat talde honetan sartuko da abiaraztean" + +#, fuzzy +#~ msgid "" +#~ "If checked, a description of the contacts current chatstate is shown in " +#~ "the banner" +#~ msgstr "" +#~ "Hautatua badago, Gajim-ek txat talde honetan sartuko da abiaraztean" + +#, fuzzy +#~ msgid "Chatstate" +#~ msgstr "Azken egoera: %s" + +#, fuzzy +#~ msgid "_When new event is received" +#~ msgstr "Ekintza berri bat jasotzean." + +#, fuzzy +#~ msgid "Show popups/notifications when a chat window is already _open" +#~ msgstr "" +#~ "Baimendu Popup/Jakinarazteak nagoenean: Kanpoan/Ez Erabilgarri/Lanpetuta/" +#~ "Ikusezin" + +#, fuzzy +#~ msgid "Allow popups/notifications when I'm _away, not available or busy" +#~ msgstr "" +#~ "Baimendu Popup/Jakinarazteak nagoenean: Kanpoan/Ez Erabilgarri/Lanpetuta/" +#~ "Ikusezin" + +#, fuzzy +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "Jakinarazi kontaktuek hau egitean: " + +#, fuzzy +#~ msgid "" +#~ "A popup window about contacts that just signed in will be shown in the " +#~ "bottom right of the screen " +#~ msgstr "" +#~ "Gajim-ek gertaera berriez jakinaraziko dizu popup bidez pantailaren " +#~ "beheko eskubiko aldean" + +#, fuzzy +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "Jakinarazi kontaktuek hau egitean: " + +#~ msgid "Play _sounds" +#~ msgstr "Soinuak _entzun" + +#~ msgid "Ma_nage..." +#~ msgstr "Mo_ldatu..." + +#, fuzzy +#~ msgid "No_t Available" +#~ msgstr "Ez Erabilgarri" + +#, fuzzy +#~ msgid "Minutes" +#~ msgstr "minutu" + +#, fuzzy +#~ msgid "Default Message" +#~ msgstr "Berezko Egoera Mezuak" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "Egoera Mezua" + +#, fuzzy +#~ msgid "Preset Status Messages" +#~ msgstr "Egoera Mezu Ezarriak" + +#, fuzzy +#~ msgid "_Theme" +#~ msgstr "Gaia" + +#~ msgid "Configure color and font of the interface" +#~ msgstr "Interfazeko kolorea eta letra konfiguratu" + +#, fuzzy +#~ msgid "" +#~ "If checked, protocol-specific status icons will be used (e.g. a contact " +#~ "from ICQ will have the equivalent ICQ icon for status online, away, busy, " +#~ "etc...)" +#~ msgstr "" +#~ "Hautatua badago, Gajim-ek protokolo bakoitzaren egoera ikurrak irabiliko " +#~ "ditu (Adibidez: MSN bada, protokolo honek erabiltzen dituen berezko " +#~ "ikurrak jarriko dira)" + +#, fuzzy +#~ msgid "_Manage..." +#~ msgstr "Moldatu..." + +#, fuzzy +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "Kontaktuen egoera aldaketak gorde" + +#, fuzzy +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "Hautatua badago, Gajim-ek kontu honen pasahitza gogoraraziko du" + +#~ msgid "_Open..." +#~ msgstr "_Ireki..." + +#, fuzzy +#~ msgid "_Filter" +#~ msgstr "_Filtroa:" + +#, fuzzy +#~ msgid "Protocol" +#~ msgstr "_Protokoloa:" + +#~ msgid "Privacy Lists:" +#~ msgstr "Debekatze Zerrendak:" + +#, fuzzy +#~ msgid "Message..." +#~ msgstr "Mezua" + +#, fuzzy +#~ msgid "Preset _messages" +#~ msgstr "Ezarritako egoerak:" + +#, fuzzy +#~ msgid "_Type your new status message" +#~ msgstr "Egoera mezu berria ezarri" + +#, fuzzy +#~ msgid "Change Status Message…" +#~ msgstr "_Egoera Mezua aldatu" + +#, fuzzy +#~ msgid "Mood:" +#~ msgstr "Soinuak" + +#, fuzzy +#~ msgid "Message:" +#~ msgstr "Egoera Mezu Ezarriak" + +#, fuzzy +#~ msgid "none" +#~ msgstr "bat" + +#, fuzzy +#~ msgid "both" +#~ msgstr "Biak" + +#, fuzzy +#~ msgid "from" +#~ msgstr "-etik" + +#, fuzzy +#~ msgid "to" +#~ msgstr "bi" + +#~ msgid "Privacy List" +#~ msgstr "Debekatze Zerrenda" + +#~ msgid "Privacy List" +#~ msgstr "Debekatze Zerrenda" + +#~ msgid "Active for this session" +#~ msgstr "Aktibatu saio honetarako" + +#~ msgid "Active on each startup" +#~ msgstr "Aktibatu hastean" + +#~ msgid "List of rules" +#~ msgstr "Arauen zerrenda" + +#~ msgid "Add / Edit a rule" +#~ msgstr "Ezarri / Editatu arau bat" + +#~ msgid "Allow" +#~ msgstr "Baimendu" + +#~ msgid "Deny" +#~ msgstr "Ukatu" + +#~ msgid "all in the group" +#~ msgstr "talde hontakoak" + +#~ msgid "all by subscription" +#~ msgstr "harpidetza honekin" + +#~ msgid "All" +#~ msgstr "Dena" + +#~ msgid "to send me messages" +#~ msgstr "niri mezuak bidaltzea" + +#~ msgid "to send me queries" +#~ msgstr "niri galderak bidaltzeko" + +#~ msgid "to view my status" +#~ msgstr "nire egoera ikustea" + +#~ msgid "to send me status" +#~ msgstr "niri egoera bidaltzeko" + +#, fuzzy +#~ msgid "All (including subscription)" +#~ msgstr "harpidetza honekin" + +#~ msgid "Order:" +#~ msgstr "Ordena:" + +#, fuzzy +#~ msgid "" +#~ "Deny authorization from contact so the contact cannot know if you are " +#~ "connected" +#~ msgstr "Autorizazioa ezeztatu, honela kontaktuak ezin du zure egoera ikusi" + +#, fuzzy +#~ msgid "Authorize contact so the contact can know if you are connected" +#~ msgstr "Kontaktu autorizatua beraz, zure egoera ikus dezake" + +#, fuzzy +#~ msgid "Contact List Shortcuts" +#~ msgstr "Kontaktua Deskonektatuta" + +#~ msgid "Fill in the form." +#~ msgstr "Formularioan bete" + +#, fuzzy +#~ msgid "Message: " +#~ msgstr "Egoera Mezu Ezarriak" + +#, fuzzy, python-format +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "Gonbidatu %(contact_jid)s %(room_jid)s. gelara." + +#, fuzzy +#~ msgid "Group Chat Invitation " +#~ msgstr "Txat Taldeko Gonbidapena" + +#, python-format +#~ msgid "Comment: %s" +#~ msgstr "Azalpenak: %s" + +#, fuzzy +#~ msgid "Off" +#~ msgstr "Deskonektatuta" + +#, fuzzy +#~ msgid "Retrieving profile…" +#~ msgstr "Profila jasotzen..." + +#, fuzzy +#~ msgid "Wrong date format" +#~ msgstr "Kontaktuaren Informazioa" + +#, fuzzy +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "Formatua: YYYY-MM-DD" + +#~ msgid "Information received" +#~ msgstr "Informazioa jasoa" + +#, fuzzy +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "Konexiorik gabe ezin duzu zure kontaktuaren informazioa ezarri." + +#, fuzzy +#~ msgid "Sending profile…" +#~ msgstr "Profila bidaltzen..." + +#~ msgid "Information NOT published" +#~ msgstr "Informazio EZ argitaratua" + +#~ msgid "vCard publication failed" +#~ msgstr "vCard argitarapenak hust egin du" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "" +#~ "Errore bat agertu da zure informazio pertsonala argitaratzen zen " +#~ "bitartean, saiatu berriro beranduago." + +#, fuzzy +#~ msgid "?password:Hidden" +#~ msgstr "Pasahitza:" + +#, python-format +#~ msgid "Privacy List %s" +#~ msgstr "Debekatze Zerrenda %s" + +#, python-format +#~ msgid "Privacy List for %s" +#~ msgstr "Debekatze Zerrenda %s-entzat" + +#, fuzzy, python-format +#~ msgid "" +#~ "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" +#~ msgstr "Agindua: %s, akzioa: %s, mota %s, balorea %s" + +#, fuzzy, python-format +#~ msgid "Order: %(order)s, action: %(action)s" +#~ msgstr "Agindu: %s, ekintza: %s" + +#~ msgid "Edit a rule" +#~ msgstr "Arau bat editatu" + +#~ msgid "Add a rule" +#~ msgstr "Ezarri Araua" + +#, python-format +#~ msgid "Privacy Lists for %s" +#~ msgstr "Debekatze Zerrenda %s-entzat" + +#~ msgid "Invalid List Name" +#~ msgstr "Baliogabeko izen zerrenda" + +#~ msgid "You must enter a name to create a privacy list." +#~ msgstr "Izen bat sartu beharra duzu debekatze zerrenda bat egiteko." + +#, fuzzy +#~ msgid "Loading" +#~ msgstr "Sortzen" + +#~ msgid "status message title" +#~ msgstr "egoera mezuaren izenburua" + +#~ msgid "status message text" +#~ msgstr "egoera mezuaren testua" + +#, fuzzy +#~ msgid "Start New Conversation" +#~ msgstr "Konektatu" + +#, fuzzy +#~ msgid "Unknown SSL error: %d" +#~ msgstr "D-Bus bertsioa aurkitugabea: %s" + +#~ msgid "Gajim - %s" +#~ msgstr "Gajim - %s" + +#, fuzzy +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "%s hizkuntzarako hiztegia ez dago erabilgarri" + +#, fuzzy +#~ msgid "" +#~ "You have to install the dictionary \"%s\" to use spellchecking, or choose " +#~ "another language by setting the speller_language option.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "%s hiztegia instalatu behar duzu zuzentzailea erabiltzeko, edota beste " +#~ "hizkuntz bat aukeratu speller_language aukera erabiliz." + +#, fuzzy +#~ msgid "_Reconnect" +#~ msgstr "Kontaktua Deskonektatuta" + +#, fuzzy +#~ msgid "Quit" +#~ msgstr "At_era" + +#, fuzzy +#~ msgid "Show Contact List" +#~ msgstr "Ikusi _Deskonektatutako Kontaktuak" + +#, fuzzy +#~ msgid "Add to Contact List" +#~ msgstr "_Kontaktua Gehitu..." + +#, fuzzy +#~ msgid "Invite Contact" +#~ msgstr "Kontaktua" + +#, fuzzy +#~ msgid "Configure Group Chat" +#~ msgstr "Txat Taldea Berria" + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." +#~ msgstr "" +#~ "Egia bada, Gajim-ek ikono bat azalaraziko du leiho horretan irakurri " +#~ "gabeko mezuak adieraziz. Gaiaren arabera ikonoa animatua izan daiteke." + +#~ msgid "Invalid character in hostname." +#~ msgstr "Baliogabeko karakterea hostname -ean." + +#~ msgid "Server address required." +#~ msgstr "Zerbitzariaren helbidea behar da." + +#~ msgid "Invalid character in username." +#~ msgstr "Baliogabeko karakterea izenean." + +#~ msgid "Invalid character in resource." +#~ msgstr "Invalid character in resource." + +#, fuzzy +#~ msgid "Notification color for contacts signing in." +#~ msgstr "Jakinarazi kontaktuek hau egitean: " + +#, fuzzy +#~ msgid "Notification color for contacts signing out." +#~ msgstr "Jakinarazi kontaktuek hau egitean: " + +#, fuzzy +#~ msgid "Notification color for new message notification." +#~ msgstr "_Ikusarazi gertaera zerrendan" + +#, fuzzy +#~ msgid "Notification color for file transfer request." +#~ msgstr "_Jakinarazi fitxeroa transferitu denean" + +#, fuzzy +#~ msgid "Notification color for file transfer errors." +#~ msgstr "_Jakinarazi fitxeroa transferitu denean" + +#, fuzzy +#~ msgid "Notification background color for changed status." +#~ msgstr "Kontaktuen atzealdeko kolorea momentuan konektatzen direnean." + +#, fuzzy +#~ msgid "Event Type" +#~ msgstr "Gertaera" + +#, fuzzy +#~ msgid "Event desc" +#~ msgstr "Gertaerak" + +#, fuzzy +#~ msgid "No response from the Server" +#~ msgstr "Ez zaude zerbitzarira konektatuta" + +#, fuzzy +#~ msgid "Resource Conflict" +#~ msgstr "Erabiltze izenarekin gatazka" + +#, fuzzy +#~ msgid "Unable to load image" +#~ msgstr "Ez izan da idle modulua kargatu" + +#, fuzzy +#~ msgid "Media type not supported: %s" +#~ msgstr "Gehigarriak ez eskuragarri" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Gajim: Kontu Sortzailearen Wizard-a" + +#, fuzzy +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "Kontu bat behar duzu\n" +#~ "Jabber sarera konektatzeko" + +#, fuzzy +#~ msgid "I already have an account I want to _use" +#~ msgstr "Dagoeneko badut kontu bat erabiltzeko" + +#~ msgid "I want to _register for a new account" +#~ msgstr "Kontu berri bat _erregistratu nahi dut" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "Mesedez aukeratu hemen beheko aukeretako bat:" + +#, fuzzy +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "Mesedez bete zure kontu berrirako informazioa" + +#, fuzzy +#~ msgid "_XMPP Address:" +#~ msgstr "AIM Hebidea:" + +#, fuzzy +#~ msgid "Anon_ymous authentication" +#~ msgstr "Erabili autentifikazioa" + +#~ msgid "_Password:" +#~ msgstr "_Pasahitza:" + +#~ msgid "Save pass_word" +#~ msgstr "Gorde pasa_hitza" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "Hautatua badago, Gajim-ek kontu honen pasahitza gogoraraziko du" + +#~ msgid "_Server:" +#~ msgstr "_Zerbitzaria" + +#~ msgid "Manage..." +#~ msgstr "Moldatu..." + +#~ msgid "_Port:" +#~ msgstr "_Portua:" + +#~ msgid "_Advanced" +#~ msgstr "A_urreratua" + +#, fuzzy +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "Kontua sortua izan da\n" +#~ "\n" +#~ "Mesedez itxoin..." + +#~ msgid "Connect when I press Finish" +#~ msgstr "Konektatu bukatu sakatzen dudanean." + +#~ msgid "Set my profile when I connect" +#~ msgstr "Ezarri nire profila konektatzen naizenean" + +#~ msgid "_Finish" +#~ msgstr "_Bukatu" + +#, fuzzy +#~ msgid "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." +#~ msgstr "" +#~ "Kontuko aukera aurreratuak ezarri ditzakezu Aurreratu botoila sakatuz." + +#~ msgid "Your new account has been created successfully" +#~ msgstr "Zure kontu berria egoki sortua izan da." + +#~ msgid "Invalid username" +#~ msgstr "Baliogabeko izena" + +#~ msgid "You must provide a username to configure this account." +#~ msgstr "Izen bat sartu behar duzu kontu bat sortzeko." + +#, fuzzy +#~ msgid "Invalid server" +#~ msgstr "Baliogabeko izena" + +#, fuzzy +#~ msgid "Please provide a server on which you want to register." +#~ msgstr "Mesedez zehaztu ezazu erabili nahi duzun izengoiti berria:" + +#~ msgid "Invalid entry" +#~ msgstr "Sarrera baliogabea" + +#, fuzzy +#~ msgid "Certificate Already in File" +#~ msgstr "Kontaktua jadanik badago zerrendan" + +#~ msgid "Account name is in use" +#~ msgstr "Kontu izena erabiltzen ari da" + +#~ msgid "You already have an account using this name." +#~ msgstr "Jadanik baduzu kontu izen hau erabilgarri." + +#~ msgid "Connection with account \"%s\" has been lost" +#~ msgstr "\"%s\" kontuarekin konexioa galdu da" + +#~ msgid "Reconnect manually." +#~ msgstr "Manualki konektatu berriro." + +#, fuzzy +#~ msgid "Server %(name)s answered wrongly to register request: %(error)s" +#~ msgstr "%s transporteak harpidetza baimenari errore batez erantzun dio: %s" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "Ezin izan da konektatu \"%s\" -rekin" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "Ezin izan da konektatu \"%s\" -rekin" + +#~ msgid "Check your connection or try again later." +#~ msgstr "Begiratu zure konexioa edo saiatu berriro beranduago." + +#, fuzzy +#~ msgid "Server replied: %s" +#~ msgstr "%s gordea" + +#, fuzzy +#~ msgid "Connection to proxy failed" +#~ msgstr "Konexioak huts egin du" + +#, fuzzy +#~ msgid "Could not connect to account %s" +#~ msgstr "Ezin izan da konektatu \"%s\" -rekin" + +#, fuzzy +#~ msgid "Connection with account %s has been lost. Retry connecting." +#~ msgstr "\"%s\" kontuarekin konexioa galdu da" + +#~ msgid "Please check your login and password for correctness." +#~ msgstr "Mesedez begira ezazu zure izena eta pasahitza xehetasun handiz." + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "HTTP konektatuta" + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "BOSH" +#~ msgstr "_URL:" + +#, fuzzy +#~ msgid "Use HTTP prox_y" +#~ msgstr "_Proxy erabili" + +#, fuzzy +#~ msgid "_BOSH URL" +#~ msgstr "_URL:" + +#, fuzzy +#~ msgid "BOSH" +#~ msgstr "_URL:" + +#, fuzzy +#~ msgid "Warn on insecure connection" +#~ msgstr "Konektatu" + +#, fuzzy +#~ msgid "Contact list, list of contacts" +#~ msgstr "Kontaktuen egoera aldaketak gorde" + +#~ msgid "You are participating in one or more group chats" +#~ msgstr "Txat talde bat baino gehiegotan parte hartzen ari zara." + +#, fuzzy +#~ msgid "" +#~ "Changing your status to invisible will result in you leaving those group " +#~ "chats.\n" +#~ "Are you sure you want to go invisible?" +#~ msgstr "" +#~ "Zure egoera ikusezinera pasatzen baduzu deskonektatu egingo zara txat " +#~ "talde honetatik. Ziur al zaude ikusezin jarri nahi duzula?" + +#, fuzzy +#~ msgid "_Disconnect" +#~ msgstr "Kontaktua Deskonektatuta" + +#~ msgid "You cannot join a group chat while you are invisible" +#~ msgstr "Ezin duzu txat talde batera sartu ikusezin zauden bitartean" + +#~ msgid "Invisible" +#~ msgstr "Ikusezin" + +#, fuzzy +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "Ezin duzu txat talde batera sartu ikusezin zauden bitartean" + +#~ msgid "_Invisible" +#~ msgstr "Ikuse_zin" + +#, fuzzy +#~ msgid "Yesterday" +#~ msgid_plural "%(nb_days)i days ago" +#~ msgstr[0] "Atzo" +#~ msgstr[1] "Atzo" + +#, fuzzy +#~ msgid "_Cancel Upload" +#~ msgstr "_kantzelatu" + +#, fuzzy +#~ msgid "" +#~ "If you close this tab while having chat history disabled, this message " +#~ "will be lost." +#~ msgstr "" +#~ "Leiho hau isten baduzu eta ez baduzu historiala aktibatua mezu hau " +#~ "galduko duzu." + +#, fuzzy +#~ msgid "Unregister Failed" +#~ msgstr "Konexioak huts egin du" + +#, fuzzy +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "Konexioak huts egin du" + +#, fuzzy +#~ msgid "New Password" +#~ msgstr "Gorde pasahitza" + +#~ msgid "What do you want to do?" +#~ msgstr "Zer nahi duzu egitea?" + +#~ msgid "Remove account from Gajim and from _server" +#~ msgstr "Ezabatu kontua Gajim-etik eta baita _zerbitzaritik" + +#, fuzzy +#~ msgid "You must enter a password" +#~ msgstr "Pasahitza sartu behar duzu." + +#, fuzzy +#~ msgid "You still have open chats in your account %s" +#~ msgstr "Txat-a %s kontuan ireki duzu" + +#, fuzzy +#~ msgid "To unregister from a server, the account must be enabled." +#~ msgstr "Kontuko izena aldatzeko deskonektatuta egon behar zara." + +#, fuzzy +#~ msgid "Password required" +#~ msgstr "Pasahitza behar da" + +#, fuzzy +#~ msgid "Still connected to the server" +#~ msgstr "Ez zaude zerbitzarira konektatuta" + +#, fuzzy +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "Hau ezabatzen baduzu, konexioa galdu egingo da." + +#, fuzzy +#~ msgid "Connection to server %s failed" +#~ msgstr "Konexioak huts egin du" + +#, fuzzy +#~ msgid "What would you like to do?" +#~ msgstr "Zer nahi duzu egitea?" + +#, fuzzy +#~ msgid "Remove only from Gajim" +#~ msgstr "Ezabatu k_ontua Gajim-etik bakarrik" + +#, fuzzy +#~ msgid "Contents" +#~ msgstr "_Edukiak" + +#, fuzzy +#~ msgid "FAQ" +#~ msgstr "_FAQ" + +#~ msgid "Save as Preset Status Message" +#~ msgstr "Aurrez Ezarritako Mezua Jarri" + +#~ msgid "Enter a new nickname for contact %s" +#~ msgstr "Sartu %s kontaktuarentzat nick berri bat" + +#, fuzzy +#~ msgid "Join a group chat" +#~ msgstr "Txat Taldean _Sartu" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "Onartu" + +#~ msgid "New entry received" +#~ msgstr "Ekintza berri bat jasoa" + +#~ msgid "You have received new entry:" +#~ msgstr "Sarrera berri bat jaso duzu:" + +#~ msgid "Feed name:" +#~ msgstr "Emandako izena:" + +#~ msgid "Last modified:" +#~ msgstr "Azken Eraldaketa:" + +#, fuzzy +#~ msgid "Send file?" +#~ msgstr "Bidali _Fitxeroa" + +#, fuzzy +#~ msgid "Mail _client" +#~ msgstr "_Email bezeroa" + +#, fuzzy +#~ msgid "_Browser" +#~ msgstr "_Bilatu:" + +#, fuzzy +#~ msgid "_File manager" +#~ msgstr "_Fitxero administratzaile:" + +#, fuzzy +#~ msgid "Applications" +#~ msgstr "Aplikazioak" + +#, fuzzy +#~ msgid "" +#~ "Uses ReStructured text markup to send HTML, plus ASCII formatting if " +#~ "selected. Needs docutils installed (for syntax, see http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Uses ReStructured text markup for HTML, plus ascii formatting if " +#~ "selected. (If you want to use this, install docutils)" + +#, fuzzy +#~ msgid "_Ignore formatting of incoming messages" +#~ msgstr "Ez kasu egin gehiegizko edukiari sarrera mezuetan" + +#, fuzzy +#~ msgid "" +#~ "Some messages may include rich content (xhtml formatting, colors etc). If " +#~ "checked, Gajim will just display the plain message text." +#~ msgstr "" +#~ "Mezu batzuk gehiegizko edukia izan dezakete(koloreak, tamaina...). " +#~ "Hautatua badago, Gajim-ek testua modu sinple batean erakutsiko du. " + +#, fuzzy +#~ msgid "RST XHTML Generator" +#~ msgstr "Orokorra" + +#~ msgid "New Single Message" +#~ msgstr "Mezu Berri Bat" + +#, fuzzy +#~ msgid "Error %(code)s: %(msg)s" +#~ msgstr "%(nickname)s: %(message)s" + +#~ msgid "twelve" +#~ msgstr "Hamabi" + +#~ msgid "one" +#~ msgstr "bat" + +#~ msgid "two" +#~ msgstr "bi" + +#~ msgid "three" +#~ msgstr "hiru" + +#~ msgid "four" +#~ msgstr "lau" + +#~ msgid "five" +#~ msgstr "bost" + +#~ msgid "six" +#~ msgstr "sei" + +#~ msgid "seven" +#~ msgstr "zazpi" + +#~ msgid "eight" +#~ msgstr "zortzi" + +#~ msgid "nine" +#~ msgstr "bederatzi" + +#~ msgid "ten" +#~ msgstr "Hamar" + +#~ msgid "eleven" +#~ msgstr "hamaika" + +#~ msgid "%(0)s o'clock" +#~ msgstr "%(0)s o'clock" + +#~ msgid "five past %(0)s" +#~ msgstr "%(0)s eta bost" + +#, fuzzy +#~ msgid "ten past %(0)s" +#~ msgstr "&0 eta hamar" + +#~ msgid "quarter past %(0)s" +#~ msgstr "%(0)s eta laurden" + +#~ msgid "twenty past %(0)s" +#~ msgstr "%(0)s eta hogei" + +#~ msgid "twenty five past %(0)s" +#~ msgstr "%(0)s eta hogeita bost" + +#~ msgid "half past %(0)s" +#~ msgstr "%(0)s eta erdiak" + +#~ msgid "twenty five to %(1)s" +#~ msgstr "%(1)s hogeita bost gutxi " + +#~ msgid "twenty to %(1)s" +#~ msgstr "%(1)s hogei gutxi" + +#~ msgid "quarter to %(1)s" +#~ msgstr "%(1)s laurden gutxi" + +#~ msgid "ten to %(1)s" +#~ msgstr "%(1)s -tik hamarrera" + +#~ msgid "five to %(1)s" +#~ msgstr "%(1)s bost gutxi" + +#~ msgid "%(1)s o'clock" +#~ msgstr "%(1)s ordu batak" + +#~ msgid "Night" +#~ msgstr "Gaua" + +#~ msgid "Early morning" +#~ msgstr "Goizaldea" + +#~ msgid "Morning" +#~ msgstr "Goiza" + +#~ msgid "Almost noon" +#~ msgstr "Eguerdia" + +#~ msgid "Noon" +#~ msgstr "Eguerdia" + +#~ msgid "Afternoon" +#~ msgstr "Arratsaldea" + +#~ msgid "Evening" +#~ msgstr "Arratsaldea" + +#~ msgid "Late evening" +#~ msgstr "Ilunabarra" + +#~ msgid "Start of week" +#~ msgstr "Aste hasiera" + +#~ msgid "Middle of week" +#~ msgstr "Aste erdia" + +#~ msgid "End of week" +#~ msgstr "Aste bukaera" + +#~ msgid "Weekend!" +#~ msgstr "Asteburua!" + +#, fuzzy +#~ msgid "" +#~ "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or " +#~ "0 to disable Fuzzy Clock. 1 is the most precise clock, 4 the least " +#~ "precise one. This is used only if 'print_time' is 'sometimes'." +#~ msgstr "" +#~ "Imprimatu ordua Fuzzy Clock erabiliz. 1-tik 4-rako baloreak eman " +#~ "fuzzyclocks-ri eta 0 fuzzyclock ezintzeko. 1 ordu zehatzena da, 4 berriz, " +#~ "zehaztasun gutxienekoa." + +#~ msgid "message" +#~ msgstr "mezua" + +#, fuzzy +#~ msgid "error: %s" +#~ msgstr "Errore mezua: %s" + +#, fuzzy +#~ msgid "Form: %s" +#~ msgstr "%s naiz" + +#, fuzzy +#~ msgid "XML Input" +#~ msgstr "XML Sarrera" + +#, fuzzy +#~ msgid "Ttitle" +#~ msgstr "Izenburua:" + +#, fuzzy +#~ msgid "Screen" +#~ msgstr "berdea" + +#, fuzzy +#~ msgid "Conversation with " +#~ msgstr "Elkarrizketaren Historiala" + +#, fuzzy +#~ msgid "Continued conversation" +#~ msgstr "Konektatu" + +#, fuzzy +#~ msgid "%s has invited you to join a discussion" +#~ msgstr "%(contact_jid)s -ek %(room_jid)s gelara gonbidatu zaitu" + +#~ msgid "_Send Private Message" +#~ msgstr "_Bidali Mezu Pribatu bat" + +#, fuzzy +#~ msgid "Participant Actions" +#~ msgstr "Partaideak" + +#~ msgid "_Voice" +#~ msgstr "_Ahotsa" + +#~ msgid "Mo_derator" +#~ msgstr "Mo_deratzailea" + +#~ msgid "_Member" +#~ msgstr "_Partaidea" + +#~ msgid "_Admin" +#~ msgstr "_Admin" + +#~ msgid "_Owner" +#~ msgstr "_Jabea" + +#, fuzzy +#~ msgid "_Add to Contact List" +#~ msgstr "_Kontaktua Gehitu..." + +#, fuzzy +#~ msgid "_Execute command" +#~ msgstr "_Komandoa Exekutatu..." + +#, fuzzy +#~ msgid "Change _Nickname..." +#~ msgstr "Aldatu _Izengoitia" + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "Txat Taldea Berria" + +#, fuzzy +#~ msgid "Change _Subject..." +#~ msgstr "Aldatu _Gaia" + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "Txat Taldean _Sartu" + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "Txat Taldea Berria" + +#, fuzzy +#~ msgid "_Request Voice" +#~ msgstr "_Ahotsa" + +#, fuzzy +#~ msgid "_Bookmark" +#~ msgstr "_Talde Agendan Sartu Gela hau" + +#, fuzzy +#~ msgid "" +#~ "\n" +#~ "Unknown SSL error: %d" +#~ msgstr "D-Bus bertsioa aurkitugabea: %s" + +#, fuzzy +#~ msgid "View certificate…" +#~ msgstr "Baliogabeko izena" + +#, fuzzy +#~ msgid "Continue" +#~ msgstr "_Jarraitu" + +#~ msgid "" +#~ "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM " +#~ "IS RUNNING)" +#~ msgstr "" +#~ "Garbitu nahi al duzu datu basea?(EZ DA GOMENDATZEN GAJIM ABIARAZIA BADAGO)" + +#, fuzzy +#~ msgid "Authorization" +#~ msgstr "Autorizazioa bidalia izan da" + +#, fuzzy +#~ msgid "" +#~ "All chat and group chat windows will be closed. Do you want to continue?" +#~ msgstr "Elkarrizketa guztiak itxiko dira. Jarraitu nahi al duzu?" + +#, fuzzy +#~ msgid "Account '%s' is still connected to the server" +#~ msgstr "\"%s\" kontua zerbitzarira konektatu da" + +#, fuzzy +#~ msgid "Error While Saving" +#~ msgstr "Errorea zerbitzarian sartzean.%s" + +#, fuzzy +#~ msgid "" +#~ "Image cannot be saved in %(type)s format.\n" +#~ "Save as %(new_filename)s?" +#~ msgstr "" +#~ "Irudia ezin izan da %(type)s formatuan gorde. Gorde %(new_filename)s " +#~ "bezala?" + +#, fuzzy +#~ msgid "Save _As" +#~ msgstr "daukadanean" + +#, fuzzy +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "Jabber ID gela baliogabea" + +#, fuzzy +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "ID Jabber gelak ez du onartzen karaktererik." + +#~ msgid "You may specify a reason below:" +#~ msgstr "Arrazoia zehaztu behar duzu behean:" + +#~ msgid "Banning %s" +#~ msgstr "Debekatzen %s" + +#, fuzzy +#~ msgid "" +#~ "Always ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Always ask before closing group chat tab/window in this space separated " +#~ "list of group chat jids." + +#, fuzzy +#~ msgid "" +#~ "Never ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Never ask before closing group chat tab/window in this space separated " +#~ "list of group chat jids." + +#, fuzzy +#~ msgid "Leave Group Chats" +#~ msgstr "Txat Taldea Berria" + +#, fuzzy +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "%(nickname)s %(room_name)s gelatik" + +#, fuzzy +#~ msgid "You have not joined a group chat." +#~ msgstr "%s gelan sartu da" + +#, fuzzy +#~ msgid "You left the following group chats:" +#~ msgstr "%s gelan zaude dagoeneko" + +#~ msgid "Don't show avatar for the transport itself." +#~ msgstr "Ez erakutsarazi transporteen ikurrak." + +#, fuzzy +#~ msgid "" +#~ "Show a confirmation dialog for a custom status? Empty string means never " +#~ "show the dialog." +#~ msgstr "" +#~ "Ikusi beharko da metakontaktuen baieztatze leihoa? Empty string means we " +#~ "never show the dialog." + +#, fuzzy +#~ msgid "Jabberd2 workaround." +#~ msgstr "Jabberd2 workaround" + +#, fuzzy +#~ msgid "Configure Services…" +#~ msgstr "_Zerbitzuak Aurkitu..." + +#, fuzzy +#~ msgid "Group Chat Bookmarks" +#~ msgstr "Txat Taldea" + +#, fuzzy +#~ msgid "Add Bookmark" +#~ msgstr "_Talde Agendan Sartu Gela hau" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "_Talde Agendan Sartu Gela hau" + +#, fuzzy +#~ msgid "_Server" +#~ msgstr "_Zerbitzaria" + +#, fuzzy +#~ msgid "_Password" +#~ msgstr "_Pasahitza:" + +#, fuzzy +#~ msgid "Join chat when connected" +#~ msgstr "Kontaktua Deskonektatuta" + +#~ msgid "New Group Chat" +#~ msgstr "Txat Taldea Berria" + +#~ msgid "This bookmark has invalid data" +#~ msgstr "Talde agenda honek datu-banku baliogabea du" + +#, fuzzy +#~ msgid "" +#~ "Please be sure to fill out server and group chat fields or remove this " +#~ "bookmark." +#~ msgstr "" +#~ "Mesedez ziurtatu ezazu zerbitzariaren eta gelaren informazioa betetzeaz " +#~ "edo talde agenda hau ezabatzeaz" + +#, fuzzy +#~ msgid "Character not allowed" +#~ msgstr "Baimenik gabeko izengoitia: %s" + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "Jabber ID gela baliogabea" + +#~ msgid "Unable to join group chat" +#~ msgstr "Ezin da gela honetara sartu" + +#, fuzzy +#~ msgid "You are banned from group chat %s." +#~ msgstr "Gela honetan ukatua izan zara." + +#, fuzzy +#~ msgid "Remote server %s does not exist." +#~ msgstr "Honako gela honek ez du existitzen." + +#, fuzzy +#~ msgid "Group chat %s does not exist." +#~ msgstr "Honako gela honek ez du existitzen." + +#, fuzzy +#~ msgid "Group chat creation is not permitted." +#~ msgstr "Gela sortzea mugatua dago." + +#, fuzzy +#~ msgid "You must use your registered nickname in %s." +#~ msgstr "Erregistratutako izengoitia erabilia izan behar da." + +#, fuzzy +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "Ez zaude kideen zerrendan." + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "Hau ez da txat talde bat" + +#~ msgid "This is not a group chat" +#~ msgstr "Hau ez da txat talde bat" + +#, fuzzy +#~ msgid "Please choose a group chat" +#~ msgstr "Mezu berria sortu" + +#, fuzzy +#~ msgid "Invalid Nickname" +#~ msgstr "Baliogabeko izena" + +#, fuzzy +#~ msgid "Wrong server" +#~ msgstr "Host okerra" + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "Hau ez da txat talde bat" + +#, fuzzy +#~ msgid "A Password is required to join the group chat %s. Please type it." +#~ msgstr "Pasahitza behar da gela honetan sartzeko." + +#~ msgid "Not in Roster" +#~ msgstr "Ez dago zerrendan" + +#~ msgid "I would like to add you to my roster" +#~ msgstr "Nire zerrendara nahi nizuke sartu" + +#, fuzzy +#~ msgid "Add to Roster" +#~ msgstr "_Zerrendara Sartu" + +#, fuzzy +#~ msgid "Manage Room" +#~ msgstr "Talde Agenda Moldatu" + +#, fuzzy +#~ msgid "Configure Room" +#~ msgstr "Gela Konfigu_ratu" + +#, fuzzy +#~ msgid "Destroy Room" +#~ msgstr "Deskribapena: %s" + +#, fuzzy +#~ msgid "Change Nick" +#~ msgstr "Aldatu _Izengoitia" + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "Kontaktua Deskonektatuta" + +#, fuzzy +#~ msgid "Copy JID" +#~ msgstr "Gela:" + +#, fuzzy +#~ msgid "Add to Roster…" +#~ msgstr "_Zerrendara Sartu" + +#, fuzzy +#~ msgid "Copy JID/Email" +#~ msgstr "_Kopiatu JID/Email-a" + +#, fuzzy +#~ msgid "JID: %s" +#~ msgstr "Jabber ID: %s" + +#~ msgid "Changing Subject" +#~ msgstr "Gaia Aldatu" + +#~ msgid "Please specify the new subject:" +#~ msgstr "Gai berria zehaztu:" + +#, fuzzy +#~ msgid "You (%s) joined the room" +#~ msgstr "%s gelan sartu da" + +#, fuzzy +#~ msgid "Unable to join groupchat" +#~ msgstr "Ezin da gela honetara sartu" + +#~ msgid "Groupchat Invitation" +#~ msgstr "Txat Taldeko Gonbidapena" + +#, fuzzy +#~ msgid "%(jid)s has been invited in this room" +#~ msgstr "%(nick)s botata izan da %(who)s -engatik: %(reason)s" + +#, fuzzy +#~ msgid "JID is not a Groupchat" +#~ msgstr "Hau ez da txat talde bat" + +#~ msgid "Invalid JID" +#~ msgstr "JID Baliogabea" + +#~ msgid "A connection is not available" +#~ msgstr "Konexioa ez dago erabilgarri" + +#, fuzzy +#~ msgid "JID already in list" +#~ msgstr "IM Jabber Bezeroa" + +#, fuzzy +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "Konexioa ez dago erabilgarri" + +#~ msgid "Removes contact from roster" +#~ msgstr "Zerrendatik kontaktua ezabatu" + +#, fuzzy +#~ msgid "Not in roster" +#~ msgstr "Ez dago zerrendan" + +#, fuzzy +#~ msgid "Contact signed in notification color." +#~ msgstr "_Ikusarazi gertaera zerrendan" + +#, fuzzy +#~ msgid "Contact signout notification color" +#~ msgstr "_Ikusarazi gertaera zerrendan" + +#, fuzzy +#~ msgid "File transfer request notification color." +#~ msgstr "Fitxeroa Transferitzeko Baimena" + +#, fuzzy +#~ msgid "File transfer error notification color." +#~ msgstr "Fitxero transferentzia ezeztatua" + +#, fuzzy +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "Fitxero transferentzia bukatzean erakutsi popup jakinarazte bat" + +#, fuzzy +#~ msgid "Groupchat invitation notification color" +#~ msgstr "Txat Taldeko Gonbidapena" + +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "Sartu * eta [n] zerrendako izenburuan?" + +#~ msgid "Hides the banner in two persons chat window" +#~ msgstr "Ezkutatu banner-a bi pertsonen txat leihoan " + +#, fuzzy +#~ msgid "" +#~ "Show the confirm metacontacts creation dialog or not? Empty string means " +#~ "never show the dialog." +#~ msgstr "" +#~ "Ikusi beharko da metakontaktuen baieztatze leihoa? Empty string means we " +#~ "never show the dialog." + +#, fuzzy +#~ msgid "Language for which misspelled words will be checked" +#~ msgstr "Zuzentzeko erabili nahi dugun hizkuntza" + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "Jaten ari naiz, utzi mezu bat beraz." + +#, fuzzy +#~ msgid "from room %s" +#~ msgstr "%s naiz" + +#, fuzzy +#~ msgid "Leave Groupchats" +#~ msgstr "Txat Taldea Berria" + +#, fuzzy +#~ msgid "Auto Join" +#~ msgstr "Automatikoki sartu" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "Gela:" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#, fuzzy +#~ msgid "Occupant Actions" +#~ msgstr "_Bete Beharreko Aukerak" + +#~ msgid "_Add to Roster" +#~ msgstr "_Zerrendara Sartu" + +#, fuzzy +#~ msgid "_Manage Room" +#~ msgstr "Talde Agenda Moldatu" + +#, fuzzy +#~ msgid "Configure _Room..." +#~ msgstr "Gela Konfigu_ratu" + +#, fuzzy +#~ msgid "_Destroy Room" +#~ msgstr "Deskribapena: %s" + +#, fuzzy +#~ msgid "Jabber ID" +#~ msgstr "Jabber ID:" + +#, fuzzy +#~ msgid "account" +#~ msgstr "Kontua" + +#, fuzzy +#~ msgid "Roster" +#~ msgstr "Ikusi _Zerrenda" + +#, fuzzy +#~ msgid "Show only in roster" +#~ msgstr "Ikusi _zerrendan bakarrik" + +#, fuzzy +#~ msgid "in _roster" +#~ msgstr "Ez dago zerrendan" + +#, fuzzy +#~ msgid "Roster Appearance" +#~ msgstr "Arau bat editatu" + +#, fuzzy +#~ msgid "_Add to Roster..." +#~ msgstr "_Zerrendara Sartu" + +#~ msgid "_Jabber ID:" +#~ msgstr "_Jabber ID:" + +#, fuzzy +#~ msgid "_Jabber ID" +#~ msgstr "_Jabber ID:" + +#~ msgid "JabberID" +#~ msgstr "JabberID" + +#, fuzzy +#~ msgid "Show Roster" +#~ msgstr "Ikusi _Zerrenda" + +#, fuzzy +#~ msgid "MUC server" +#~ msgstr "Begiratzaileak" + +#~ msgid "Room Configuration" +#~ msgstr "Gelaren Konfigurazioa" + +#~ msgid "Join _Group Chat" +#~ msgstr "Txat Taldean _Sartu" + +#, fuzzy +#~ msgid "Audio sessions are not available" +#~ msgstr "Konexioa ez dago erabilgarri" + +#~ msgid "Conference" +#~ msgstr "Solasaldiak" + +#, fuzzy +#~ msgid "_Manage Bookmarks…" +#~ msgstr "Talde Agenda Moldatu" + +#, fuzzy +#~ msgid "Hide _Roster" +#~ msgstr "Ez dago zerrendan" + +#~ msgid "Show _Roster" +#~ msgstr "Ikusi _Zerrenda" + +#, fuzzy +#~ msgid "Invalid Room" +#~ msgstr "Sarrera baliogabea" + +#, fuzzy +#~ msgid "Invalid room" +#~ msgstr "Sarrera baliogabea" + +#~ msgid "A GTK+ Jabber client" +#~ msgstr "GTK+ Jabber bezeroa" + +#~ msgid "Changing Nickname" +#~ msgstr "Izengoitia Aldatu" + +#~ msgid "Please specify the new nickname you want to use:" +#~ msgstr "Mesedez zehaztu ezazu erabili nahi duzun izengoiti berria:" + +#~ msgid "Bookmark already set" +#~ msgstr "Talde agenda ezarria" + +#, fuzzy +#~ msgid "Group Chat '%s' is already in your bookmarks." +#~ msgstr "\"%s\" gela zure talde agendan dago jadanik." + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "Talde agenda egoki sortu da" + +#, fuzzy +#~ msgid "" +#~ "You can manage your bookmarks by clicking the Bookmarks menu item in your " +#~ "contact list." +#~ msgstr "" +#~ "Zure talde agenda moldatu dezakezu zure zerrendako aukera menuaren bidez." + +#, fuzzy +#~ msgid "The nickname contains invalid characters." +#~ msgstr "ID Jabber gelak ez du onartzen karaktererik." + +#, fuzzy +#~ msgid "Bookmark Room" +#~ msgstr "_Talde Agendan Sartu Gela hau" + +#~ msgid "_Join New Group Chat" +#~ msgstr "T_xat Talde Berrian Sartu" + +#~ msgid "Name:" +#~ msgstr "Izena:" + +#, fuzzy +#~ msgid "Description:" +#~ msgstr "Deskribapena: %s" + +#, fuzzy +#~ msgid "Address:" +#~ msgstr "_Helbidea:" + +#, fuzzy +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "Ezin duzu txat talde batera sartu konektatuta ez zauden bitartean." + +#, fuzzy +#~ msgid "Occupants" +#~ msgstr "_Bete Beharreko Aukerak" + +#~ msgid "_Modify Account..." +#~ msgstr "Kontua E_ditatu" + +#, fuzzy +#~ msgid "Integer" +#~ msgstr "Taldean" + +#~ msgid "Value" +#~ msgstr "Balorea" + +#~ msgid "(None)" +#~ msgstr "(Ezer ez)" + +#~ msgid "Hidden" +#~ msgstr "Ikusezin" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "Proxy Profila Moldatu" + +#, fuzzy +#~ msgid "Properties" +#~ msgstr "Ezaugarriak" + +#, fuzzy +#~ msgid "Proxy _Port" +#~ msgstr "_Portua:" + +#, fuzzy +#~ msgid "New Groupchat" +#~ msgstr "Txat Taldea Berria" + +#, fuzzy +#~ msgid "New Contact" +#~ msgstr "Kontaktu Berri bat Sartu" + +#~ msgid "%s GiB" +#~ msgstr "%s Gib" + +#~ msgid "%s GB" +#~ msgstr "%s GB" + +#~ msgid "%s MiB" +#~ msgstr "%s MiB" + +#~ msgid "%s MB" +#~ msgstr "%s MB" + +#~ msgid "%s KiB" +#~ msgstr "%s KiB" + +#~ msgid "%s KB" +#~ msgstr "%s KB" + +#~ msgid "%s B" +#~ msgstr "%s B" + +#, fuzzy +#~ msgid "%s MiB/s" +#~ msgstr "%s MiB" + +#, fuzzy +#~ msgid "File transfer" +#~ msgstr "Fitxero Transferentzia" + +#, fuzzy +#~ msgid "Open _Containing Folder" +#~ msgstr "_Ireki Fitxeroaren Edukia" + +#, fuzzy +#~ msgid "Default:" +#~ msgstr "Berezkoa" + +#, fuzzy +#~ msgid "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" +#~ msgstr "" +#~ "Ezin izango duzu transporte hauetako kontaktuen mezuak jaso ezta bidali " +#~ "ere: %s" + +#~ msgid "Contact \"%s\" will be removed from your roster" +#~ msgstr "\"%s\" kontaktua ezabatua izango da zure zerrendatik" + +#, fuzzy +#~ msgid "" +#~ "By removing this contact you also by default remove authorization " +#~ "resulting in them always seeing you as offline." +#~ msgstr "" +#~ "Kontaktua ezabatuz bere autorizazioa ere borratzen duzu. Beraz, " +#~ "kontaktuak deskonektatuta ikusiko zaitu beti." + +#~ msgid "Contacts will be removed from your roster" +#~ msgstr "Kontaktuak ezabatuak izango dira zure zerrendatik" + +#~ msgid "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorization resulting in them always seeing you as " +#~ "offline." +#~ msgstr "" +#~ "Kontaktu hauek ezabatuz: %s\n" +#~ " bere autorizazioa ere ezabatzen duzu. Beraz, kontaktuak deskonektatuta " +#~ "ikusiko zaitu beti." + +#, fuzzy +#~ msgid "Con_tinue" +#~ msgstr "_Jarraitu" + +#~ msgid "_Pause" +#~ msgstr "_Eten" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "Listatik fitxero tranferentzia ezabatu." + +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "" +#~ "Aukera honek fitxero transferentzia bakar bat kantzelatzen du. " +#~ "Transferentzia martxan badago, lehenik gelditu egingo da eta ondoren " +#~ "ezabatu." + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "Kantzelatu aukeratutako fitxategi transferentzia" + +#, fuzzy +#~ msgid "Hide the window" +#~ msgstr "Leihoa ezkutatu" + +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "Fitxero transferentzia bukatzean erakutsi popup jakinarazte bat" + +#~ msgid "From:" +#~ msgstr "Norena:" + +#~ msgid "Subject:" +#~ msgstr "Gaia:" + +#~ msgid "%s wants to send you a file:" +#~ msgstr "%s fitxero bat bidali nahi dizu:" + +#~ msgid "Name: " +#~ msgstr "Izena: " + +#~ msgid "Pause" +#~ msgstr "Etena" + +#, fuzzy +#~ msgid "Execute Command" +#~ msgstr "_Komandoa Exekutatu..." + +#~ msgid "Type: " +#~ msgstr "Mota: " + +#~ msgid "Transferred: " +#~ msgstr "Transferitua:" + +#~ msgid "Completed" +#~ msgstr "Osatua" + +#~ msgid "Stalled" +#~ msgstr "Stalled" + +#~ msgid "Transferring" +#~ msgstr "Tranferitzen" + +#~ msgid "Not started" +#~ msgstr "Hasigabea" + +#, fuzzy +#~ msgid "%s day" +#~ msgid_plural "%s days" +#~ msgstr[0] "%i egun lehenago" +#~ msgstr[1] "%i egun lehenago" + +#~ msgid "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" +#~ msgstr "Elkarrizketa guztiak itxiko dira. Jarraitu nahi al duzu?" + +#, fuzzy +#~ msgid "" +#~ "Your desired nickname in group chat\n" +#~ "%s\n" +#~ "is in use or registered by another occupant.\n" +#~ "Please specify another nickname below:" +#~ msgstr "" +#~ "Zuk aukeratutako izengoitia erregistratuta dago jadanik.\n" +#~ "Mesedez ezarri beste izengoiti bat:" + +#, fuzzy +#~ msgid "_Configure" +#~ msgstr "_Jarraitu" + +#, fuzzy +#~ msgid "Change the avatar" +#~ msgstr "Kontaktu Egoera Aldaketa" + +#, fuzzy +#~ msgid "" +#~ "Account in which the avatar will be set; if not specified, the avatar " +#~ "will be set for all accounts" +#~ msgstr "" +#~ "Xml-a bidaliko den kontua ez badako zehaztuta, kontu guztietara bidaliko " +#~ "da" + +#, fuzzy +#~ msgid "add" +#~ msgstr "Stalled" + +#, fuzzy +#~ msgid "modify" +#~ msgstr "_Eraldatu" + +#, fuzzy +#~ msgid "remove" +#~ msgstr "_Ezabatu" + +#, fuzzy +#~ msgid "" +#~ "If true, restored messages will use a smaller font than the default one." +#~ msgstr "" +#~ "Egia bada, mezuen berrezartzea tamaia txikian egingo dira eta ez " +#~ "ezarritakoan." + +#, fuzzy +#~ msgid "Restored Message Color" +#~ msgstr "Be_rezko Koloreak Ezarri" + +#, fuzzy +#~ msgid "Send Cus_tom Status" +#~ msgstr "Sends custom XML" + +#, fuzzy +#~ msgid "" +#~ "You are about to send a custom status. Are you sure you want to continue?" +#~ msgstr "Metakontaktu bat sortuko duzu. Jarraitu nahi al duzu?" + +#, fuzzy +#~ msgid "" +#~ msgstr "Gaia" + +#~ msgid "#" +#~ msgstr "#" + +#, fuzzy +#~ msgid "You are about to block a contact. Are you sure you want to continue?" +#~ msgstr "Metakontaktu bat sortuko duzu. Jarraitu nahi al duzu?" + +#~ msgid "To:" +#~ msgstr "Norentzat:" + +#~ msgid "0" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Reconnect when connection is lost" +#~ msgstr "Konektatu berriro konexioa galtzean" + +#, fuzzy +#~ msgid "Server Message Archive" +#~ msgstr "_Bidali Zerbitzarira Mezua" + +#, fuzzy +#~ msgid "Message Carbons" +#~ msgstr "Mezuak" + +#~ msgid "" +#~ "Sent chat state notifications. Can be one of all, composing_only, " +#~ "disabled." +#~ msgstr "" +#~ "Bidali txat elkarrizketaren egoera. All, composing_only edo disabled izan " +#~ "daiteke. " + +#, fuzzy +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "Baimena _OS informazioa bidaltzeko" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the idle time of your system" +#~ msgstr "" +#~ "Hautatua badago, Gajim-ek txat talde honetan sartuko da abiaraztean" + +#, fuzzy +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "Baimena _OS informazioa bidaltzeko" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the local time on your system" +#~ msgstr "" +#~ "Hautatua badago, Gajim-ek txat talde honetan sartuko da abiaraztean" + +#, fuzzy +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "Baimena _OS informazioa bidaltzeko" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the operating system you are " +#~ "using" +#~ msgstr "" +#~ "Hautatua badago, Gajim-ek txat talde honetan sartuko da abiaraztean" + +#, fuzzy +#~ msgid "" +#~ "If checked, incoming events from unauthorized contacts will be ignored. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster." +#~ msgstr "" +#~ "Bakarrik hautatu aukera hau zerrendan ez duzun norbaitek zirikatzen " +#~ "bazaitu. Kontu handiz erabili, zerrendan ez dagoen edonoren mezuak " +#~ "blokeatzen ditu" + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." +#~ msgstr "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." + +#, fuzzy +#~ msgid "S_end chat state notifications" +#~ msgstr "Txat-eko egoeren jakinarazteak aza_l arazi:" + +#, fuzzy +#~ msgid "Login Options" +#~ msgstr "Emoticonoak:" + +#, fuzzy +#~ msgid "Please wait while retrieving search form..." +#~ msgstr "Mesedez itxoin komandoak jasotzen diren bitartean..." + +#, fuzzy +#~ msgid "_Add contact" +#~ msgstr "Kontaktua _Sartu" + +#~ msgid "Ad-hoc Commands - Gajim" +#~ msgstr "Ad-hoc Commands - Gajim" + +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "Mesedez itxoin komandoak jasotzen diren bitartean..." + +#~ msgid "Choose command to execute:" +#~ msgstr "Aukeratu betebeharreko komandoa:" + +#~ msgid "Check once more" +#~ msgstr "Berriro saiatu" + +#, fuzzy +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "Mesedez itxoin komandua bidaltzen den bitartean..." + +#~ msgid "This jabber entity does not expose any commands." +#~ msgstr "E Ez da komandurik aurkitu" + +#, fuzzy +#~ msgid "F_inish" +#~ msgstr "_Bukatu" + +#~ msgid "Failed to get secret keys" +#~ msgstr "Kode sekretua lortzeko huts egitea" + +#, fuzzy +#~ msgid "There is no OpenPGP secret key available." +#~ msgstr "Problema bat egon da zure OpenPGP-ko kode sekretua lortzeko." + +#~ msgid "OpenPGP Key Selection" +#~ msgstr "OpenPGP Giltzaren Aukera" + +#~ msgid "Choose your OpenPGP key" +#~ msgstr "Aukeratu zure OpenPGP kodea" + +#~ msgid "KeyID" +#~ msgstr "ID kodea" + +#~ msgid "Contact name" +#~ msgstr "Kontaturen izena" + +#, fuzzy +#~ msgid "OpenPGP is not usable" +#~ msgstr "OpenPGP ezin da ordenagailu honetan erabili" + +#~ msgid "Assign OpenPGP Key" +#~ msgstr "OpenPGP Kodea Izendatu" + +#~ msgid "Select a key to apply to the contact" +#~ msgstr "Kode bat aukeratu kontuari ezartzeko" + +#~ msgid "You are currently connected without your OpenPGP key." +#~ msgstr "Zure OpenPGP koderik gabe konektatu zara." + +#, fuzzy +#~ msgid "Wrong passphrase" +#~ msgstr "Pasa-esaldi okerra" + +#, fuzzy +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "Pasa-esaldi okerra" + +#~ msgid "Passphrase Required" +#~ msgstr "Pasa-esaldia Behar da" + +#, fuzzy +#~ msgid "" +#~ "Enter OpenPGP key passphrase for key %(keyid)s (account %(account)s)." +#~ msgstr "Sartu GPG kodearen pasa-esaldia %s konturako." + +#, fuzzy +#~ msgid "OpenPGP key expired" +#~ msgstr "OpenPGP Giltzaren Aukera" + +#, fuzzy +#~ msgid "" +#~ "Your OpenPGP key has expired, you will be connected to %s without OpenPGP." +#~ msgstr "%s konektatu behar zara OpenPGP-rik gabe." + +#~ msgid "Wrong Passphrase" +#~ msgstr "Pasa-esaldi okerra" + +#, fuzzy +#~ msgid "Please retype your OpenPGP passphrase or press Cancel." +#~ msgstr "Mesedez berridatzi zure GPG pasa-esaldia edo kantzelatu." + +#~ msgid "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Zerrendako kontaktu bati mezu berri bat bidali. Bai OpenPGP kodea eta " +#~ "baita kontua dira aukerazkoak. `Kontua` bakarrik zehaztu nahi baduzu, " +#~ "`OpenPGP koderik` gabe, bakarrik `OpenPGP kodea` -entzat zehaztu." + +#~ msgid "if specified, the message will be encrypted using this public key" +#~ msgstr "hautatua badago, kode publikoa erabiliz enkriptatuko da mezua" + +#, fuzzy +#~ msgid "" +#~ "Sends a chat message to someone on your roster. Optionally with OpenPGP " +#~ "key and account. If you want to only set the latter, set OpenPGP key to " +#~ "\"\"." +#~ msgstr "" +#~ "Zerrendako kontaktu bati mezu berri bat bidali. Bai OpenPGP kodea eta " +#~ "baita kontua dira aukerazkoak. `Kontua` bakarrik zehaztu nahi baduzu, " +#~ "`OpenPGP koderik` gabe, bakarrik `OpenPGP kodea` -entzat zehaztu." + +#, fuzzy +#~ msgid "OpenPGP:" +#~ msgstr "OpenPGP: " + +#, fuzzy +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "Open_PGP kodea zehaztu" + +#, fuzzy +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "Ireki OpenPGP Enkriptazioa" + +#, fuzzy +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "_Sarrerako mezua:" + +#, fuzzy +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "Konexioa ez erablgarri" + +#, fuzzy +#~ msgid "OpenPGP Key" +#~ msgstr "OpenPGP Kodea Izendatu" + +#, fuzzy +#~ msgid "Cancel confirmation" +#~ msgstr "Kontaktuaren Informazioa" + +#, fuzzy +#~ msgid "%s - Ad-hoc Commands - Gajim" +#~ msgstr "Ad-hoc Commands - Gajim" + +#, fuzzy +#~ msgid "You are invited to a groupchat" +#~ msgstr "Gela honetan ukatua izan zara." + +#~ msgid "_Start Chat" +#~ msgstr "Elkarrizketa _Hasi" + +#~ msgid "Au_thorize" +#~ msgstr "_Autorizatu" + +#~ msgid "You are currently connected to the server" +#~ msgstr "Zerbitzarira konektatu zaude dagoeneko" + +#, fuzzy +#~ msgid "To disable the account, you must be disconnected." +#~ msgstr "Kontuko izena aldatzeko deskonektatuta egon behar zara." + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with %(jid)s?" +#~ msgstr "Ziur al zaude hautaturiko mezua ezabatu nahi duzula?" + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with the selected contacts?" +#~ msgstr "Ziur al zaude hautaturiko kontaktuaren log-a ezabatu nahi duzula?" + +#, fuzzy +#~ msgid "This can not be undone." +#~ msgstr "Zerbitzua ezin izan da aurkitu" + +#~ msgid "What do you want to do?" +#~ msgstr "Zer nahi duzu egin?" + +#, fuzzy +#~ msgid "" +#~ "List of colors, separated by \":\", that will be used to color nicknames " +#~ "in group chats." +#~ msgstr "Txat taldeko izengoitietan erabiliko diren koloreen zerrenda" + +#, fuzzy +#~ msgid "You have received new entries (and %d not displayed):" +#~ msgid_plural "You have received new entries (and %d not displayed):" +#~ msgstr[0] "Sarrera berri bat jaso duzu:" +#~ msgstr[1] "Sarrera berri bat jaso duzu:" + +#~ msgid "Stopped" +#~ msgstr "Gelditua" + +#, fuzzy +#~ msgid "Status messages displayed in chat window" +#~ msgstr "Bidali mezua eta itxi leihoa" + +#~ msgid "?print_status:All" +#~ msgstr "Denak" + +#~ msgid "Enter and leave only" +#~ msgstr "Sarrerak eta irteerak bakarrik" + +#, fuzzy +#~ msgid "?print_status:None" +#~ msgstr "Denak" + +#~ msgid "D-Bus python bindings are missing in this computer" +#~ msgstr "D-Bus python bindings are missing in this computer" + +#~ msgid "D-Bus capabilities of Gajim cannot be used" +#~ msgstr "Gajim-en D-Bus gaitasun funtzioa ezin da erabili" + +#, fuzzy +#~ msgid "D-Bus does not run correctly on this machine: system bus not present" +#~ msgstr "" +#~ "D-bus ez dago ordenagailu honetan edo python moduloak ez daude erabilgarri" + +#, fuzzy +#~ msgid "" +#~ "D-Bus does not run correctly on this machine: session bus not present" +#~ msgstr "" +#~ "D-bus ez dago ordenagailu honetan edo python moduloak ez daude erabilgarri" + +#, fuzzy +#~ msgid "Command line Control" +#~ msgstr "Azalpenak: %s" + +#~ msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +#~ msgstr "%(nick)s botata izan da %(who)s -engatik: %(reason)s" + +#~ msgid "%(nick)s has been banned by %(who)s: %(reason)s" +#~ msgstr "%(nick)s debekatu da %(who)s: %(reason)s" + +#, fuzzy +#~ msgid "** Role of %(nick)s has been set to %(role)s" +#~ msgstr "%(nick)s botata izan da%(reason)s -engatik: " + +#~ msgid "%s has left" +#~ msgstr "%s deskonektatu da" + +#, fuzzy +#~ msgid "%s is full" +#~ msgstr "Soinuak" + +#, fuzzy +#~ msgid "" +#~ "Can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no " +#~ "longer print status line in groupchats when a member changes their status " +#~ "and/or their status message. If \"all\" Gajim will print all status " +#~ "messages. If \"in_and_out\", Gajim will only print FOO enters/leaves " +#~ "group chat." +#~ msgstr "" +#~ "izan daiteke \"none\", \"all\" edo \"in_and_out\". \"none\" bada, Gajim-" +#~ "ek ez du inprimatuko egoera lerroa txat talde batean partaide batek bere " +#~ "egoera edo egoera mezua aldatzean. \"all\" bada, Gajim-ek egoera guztiak " +#~ "inprimatuko ditu. \"in_and_out\" bada, Gajim-ek sarrera/irteerak " +#~ "inprimatuko ditu bakarrik." + +#, fuzzy +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "Erakuts arazi kontaktuen egoera _mezua zerrendan" + +#, fuzzy +#~ msgid "" +#~ "You are about to send your password unencrypted on an insecure " +#~ "connection. Are you sure you want to do that?" +#~ msgstr "Metakontaktu bat sortuko duzu. Jarraitu nahi al duzu?" + +#, fuzzy +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "Erabili autentifikazioa" + +#, fuzzy +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "Erabili autentifikazioa" + +#, fuzzy +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "Erabili autentifikazioa" + +#~ msgid "" +#~ "Displayed chat state notifications in chat windows. Can be one of all, " +#~ "composing_only, disabled." +#~ msgstr "" +#~ "Txat elkarrizketen goera mezua ikusarazi txat leihoan. All, " +#~ "composing_only edo disabled izan daiteke. " + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." +#~ msgstr "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." + +#~ msgid "This is an irreversible operation." +#~ msgstr "Itzulgaitza den operazio bat da hau." + +#~ msgid "Settings" +#~ msgstr "Aldaketak" + +#, fuzzy +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "Gajim Historialeko Log Administratzailea" + +#~ msgid "Member List" +#~ msgstr "Partaide Zerrenda" + +#~ msgid "Owner List" +#~ msgstr "Jabe Zerrenda" + +#~ msgid "Administrator List" +#~ msgstr "Administratzaile Zerrenda" + +#~ msgid "Nick" +#~ msgstr "Izengoitia" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "Zein nahi duzu debekatu?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Member…" +#~ msgstr "Kidea ezartzen..." + +#~ msgid "" +#~ "Whom do you want to make a member?\n" +#~ "\n" +#~ msgstr "" +#~ "Zein nahi duzu kide egitea?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Owner…" +#~ msgstr "Jabea ezartzen..." + +#, fuzzy +#~ msgid "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" +#~ msgstr "" +#~ "Zein nahi duzu jabe egitea?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Administrator…" +#~ msgstr "Administratzailea ezartzen..." + +#~ msgid "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" +#~ msgstr "" +#~ "Zein nahi duzu administratzaile egitea?\n" +#~ "\n" + +#~ msgid "Error reading file:" +#~ msgstr "Errorea fitxeroa irakurtzean:" + +#~ msgid "Error parsing file:" +#~ msgstr "Errorea fitxeroa analizatzean:" + +#~ msgid "Description" +#~ msgstr "Deskribapena" + +#, fuzzy +#~ msgid "Password encryption" +#~ msgstr "Pasahitzak desberdinak dira" + +#, fuzzy +#~ msgid "Automatic status" +#~ msgstr "Egoerarekin b_at egin" + +#, fuzzy +#~ msgid "?features:Available" +#~ msgstr "Libre" + +#, fuzzy +#~ msgid "Feature" +#~ msgstr "Zerbitzariaren Ezaugarriak:" + +#~ msgid "Filter:" +#~ msgstr "Filtroa:" + +#, fuzzy +#~ msgid "Chat Appearance" +#~ msgstr "Arau bat editatu" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed out" +#~ msgstr "" +#~ "Deskonektatu diren kontaktuez Gajim-ek jakinaraziko dizu popup bidez " +#~ "pantailako beheko eskubiko aldean" + +#~ msgid "Sounds" +#~ msgstr "Soinuak" + +#, fuzzy +#~ msgid "Chat state notifications" +#~ msgstr "Ikusizko Jakinarazketa" + +#, fuzzy +#~ msgid "_Away after" +#~ msgstr "Automatikoki _Kanpoan ondoren:" + +#, fuzzy +#~ msgid "_Not available after" +#~ msgstr "Automatikoki _Ez Erabilgarri ondoren:" + +#, fuzzy +#~ msgid "Auto Status" +#~ msgstr "Ekintzak" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "Egoera Mezu Ezarriak" + +#, fuzzy +#~ msgid "Audio" +#~ msgstr "Ekintzak" + +#, fuzzy +#~ msgid "Video" +#~ msgstr "Ezarri Araua" + +#, fuzzy +#~ msgid "Connection" +#~ msgstr "Baldintzak" + +#~ msgid "Custom" +#~ msgstr "Bezeroak" + +#, fuzzy +#~ msgid "Privacy" +#~ msgstr "Debekatze Zerrenda" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "Konfigurazio Aurreratuaren Editorea" + +#, fuzzy +#~ msgid "File transfer, room bookmarks" +#~ msgstr "Fitxero Transferitze Errorea" + +#, fuzzy +#~ msgid "XML console interface" +#~ msgstr " XML Konsola" + +#, fuzzy +#~ msgid "" +#~ "A programming error has been detected. It probably is not fatal, but " +#~ "should be reported to the developers nonetheless." +#~ msgstr "" +#~ "Seguraski ez da garrantzitsua, baina diseinatzailei abisatu beharko " +#~ "litzateke." + +#, fuzzy +#~ msgid "(ESession info)" +#~ msgstr "Deskribapena" + +#~ msgid "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" +#~ msgstr "" +#~ "Ez badago ezeztatuta, Gajim-ek ´:)´ ascii hauek bere irudi grafiko " +#~ "estatiko edo animatura eraldatuko ditu" + +#, fuzzy +#~ msgid "_Emoticons" +#~ msgstr "Emoticonoak:" + +#~ msgid "_Highlight misspelled words" +#~ msgstr "_Highlight misspelled words" + +#, fuzzy +#~ msgid "Notify by icon when your messages are received" +#~ msgstr "Soinu bat ezarri MUC-eko edozein mezu iristean." + +#, fuzzy +#~ msgid "T_heme" +#~ msgstr "G_aia:" + +#, fuzzy +#~ msgid "Themes" +#~ msgstr "Ezaugarriak" + +#~ msgid "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." +#~ msgstr "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." + +#, fuzzy +#~ msgid "Presence" +#~ msgstr "_Egoera" + +#, fuzzy +#~ msgid "Emoticons disabled" +#~ msgstr "Enkriptazioa desaktibatuta" + +#, fuzzy +#~ msgid "You cannot make changes to the default theme" +#~ msgstr "Ezin duzu zure berezko gaia ezabatu" + +#~ msgid "theme name" +#~ msgstr "gaiaren izena" + +#~ msgid "You cannot delete your current theme" +#~ msgstr "Ezin duzu zure berezko gaia ezabatu" + +#~ msgid "New Single Message from %(nickname)s" +#~ msgstr "Mezu Berria %(nickname)s -etik" + +#~ msgid "New Private Message from group chat %s" +#~ msgstr "Mezu Pribatu Berri Bat %s gelatik" + +#~ msgid "%(nickname)s: %(message)s" +#~ msgstr "%(nickname)s: %(message)s" + +#, fuzzy +#~ msgid "Messaged by %(nickname)s" +#~ msgstr "Mezu Berria %(nickname)s -etik" + +#, fuzzy +#~ msgid "Status message text color." +#~ msgstr "egoera mezuaren testua" + +#, fuzzy +#~ msgid "Incoming nickname font." +#~ msgstr "Baliogabeko izena" + +#, fuzzy +#~ msgid "Status message text font." +#~ msgstr "egoera mezuaren testua" + +#~ msgid "Background color of contacts when they just signed in." +#~ msgstr "Kontaktuen atzealdeko kolorea momentuan konektatzen direnean." + +#~ msgid "Background color of contacts when they just signed out." +#~ msgstr "Kontaktuen atzealdeko kolorea momentuan deskonektatzen direnean." + +#~ msgid "green" +#~ msgstr "berdea" + +#~ msgid "grocery" +#~ msgstr "grocery" + +#~ msgid "human" +#~ msgstr "gizakia" + +#~ msgid "marine" +#~ msgstr "arrantzale" + +#, fuzzy +#~ msgid "Contact row" +#~ msgstr "Kontaktua" + +#~ msgid "Gajim Themes Customization" +#~ msgstr "Gajim-en Gaien Kustomizatazailea" + +#~ msgid "Text _color:" +#~ msgstr "Testuaren _kolorea:" + +#~ msgid "_Background:" +#~ msgstr "A_tzealdeko kolorea:" + +#~ msgid "Text _font:" +#~ msgstr "Testu _mota:" + +#~ msgid "Font style:" +#~ msgstr "Iturburuaren estiloa:" + +#~ msgid "Paused" +#~ msgstr "Etena" + +#~ msgid "Gone" +#~ msgstr "Joanda" + +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "" +#~ "MUC\n" +#~ "Mezuak" + +#~ msgid "Chatstate Tab Colors" +#~ msgstr "Elkarrizketako Egoeren Koloreak" + +#, fuzzy +#~ msgid "Chat message" +#~ msgstr "Egoera mezua:" + +#~ msgid "Use system _default" +#~ msgstr "_Sistemaren berezkoa erabili" + +#, fuzzy +#~ msgid "Font" +#~ msgstr "Soinuak" + +#, fuzzy +#~ msgid "Contact's nickname" +#~ msgstr "Kontaturen izena" + +#, fuzzy +#~ msgid "_Status message" +#~ msgstr "Egoera mezua:" + +#, fuzzy +#~ msgid "Your message" +#~ msgstr "Errore mezua: %s" + +#, fuzzy +#~ msgid "Chat Line Colors" +#~ msgstr "Elkarrizketako Egoeren Koloreak" + +#, fuzzy +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#, fuzzy +#~ msgid "Resource:" +#~ msgstr "Baliabidea:" + +#, fuzzy +#~ msgid "Status:" +#~ msgstr "Aldaketak" + +#, fuzzy +#~ msgid "Client:" +#~ msgstr "Bezeroak" + +#, fuzzy +#~ msgid "Contact time:" +#~ msgstr "Aldaketak" + +#, fuzzy +#~ msgid "Ask:" +#~ msgstr "Ekintzak" + +#, fuzzy +#~ msgid "Subscription:" +#~ msgstr "Deskribapena" + +#, fuzzy +#~ msgid "Name:" +#~ msgstr "Bezeroak" + +#, fuzzy +#~ msgid "Nickname:" +#~ msgstr "Izengoitia:" + +#, fuzzy +#~ msgid "Street:" +#~ msgstr "Aldaketak" + +#, fuzzy +#~ msgid "City:" +#~ msgstr "Bezeroak" + +#, fuzzy +#~ msgid "State:" +#~ msgstr "Aldaketak" + +#, fuzzy +#~ msgid "Extra Address:" +#~ msgstr "Helbide Gehigarria:" + +#, fuzzy +#~ msgid "Postal Code:" +#~ msgstr "Posta Kodea:" + +#, fuzzy +#~ msgid "Country:" +#~ msgstr "Soinuak" + +#, fuzzy +#~ msgid "Homepage:" +#~ msgstr "Web Pertsonala:" + +#, fuzzy +#~ msgid "E-Mail:" +#~ msgstr "E-Posta:" + +#, fuzzy +#~ msgid "Phone No.:" +#~ msgstr "Telefono Zenbakia:" + +#, fuzzy +#~ msgid "Birthday:" +#~ msgstr "Urtebetetzea:" + +#, fuzzy +#~ msgid "Family:" +#~ msgstr "Familia:" + +#, fuzzy +#~ msgid "Middle:" +#~ msgstr "Ezarri Araua" + +#, fuzzy +#~ msgid "Prefix:" +#~ msgstr "Ezaugarriak" + +#, fuzzy +#~ msgid "Given:" +#~ msgstr "OpenPGP" + +#, fuzzy +#~ msgid "Suffix:" +#~ msgstr "Soinuak" + +#, fuzzy +#~ msgid "Full Name" +#~ msgstr "Bezeroak" + +#, fuzzy +#~ msgid "Company:" +#~ msgstr "Bezeroak" + +#, fuzzy +#~ msgid "Department:" +#~ msgstr "Departamentua:" + +#, fuzzy +#~ msgid "Position:" +#~ msgstr "Baldintzak" + +#, fuzzy +#~ msgid "Role:" +#~ msgstr "Soinuak" + +#~ msgid "Edit %s" +#~ msgstr "Editatu %s" + +#~ msgid "Conversation History with %s" +#~ msgstr "Elkarrizketa Historiala %s-rekin" + +#~ msgid "Contact with \"%s\" cannot be established" +#~ msgstr "\"%s\" ezin izan da kontaktuan jarri" + +#~ msgid "Registration information for transport %s has not arrived in time" +#~ msgstr "" +#~ "Erregistroaren informazioa transporteetarako %s ez da denboran iritsi" + +#~ msgid "Register to" +#~ msgstr "Erregistratu honetara" + +#, fuzzy +#~ msgid "Enter name / JID of contact or groupchat" +#~ msgstr "Kontaturen izena" + +#, fuzzy +#~ msgid "Search:" +#~ msgstr "Bilatu" + +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "Konexiorik gabe, ezin duzu zure pasahitza aldatu." + +#~ msgid "Invalid password" +#~ msgstr "Pasahitz baliogabea" + +#~ msgid "The passwords typed in both fields must be identical." +#~ msgstr "Bi lekuetan pasahitza berdina izan behar du." + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "Sartu berriro baieztatzeko:" + +#~ msgid "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" +#~ msgstr "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" + +#~ msgid "unsubscribe request from %s" +#~ msgstr "Harpidetza kentzekoa eskaera %s -tik" + +#, fuzzy +#~ msgid "Homepage:" +#~ msgstr "Web Pertsonala:" + +#~ msgid "Manage Bookmarks" +#~ msgstr "Talde Agenda Moldatu" + +#~ msgid "_Nickname:" +#~ msgstr "_Izengoitia:" + +#, fuzzy +#~ msgid "Pr_int status:" +#~ msgstr "Inprimatu egoera:" + +#, fuzzy +#~ msgid "Add JID" +#~ msgstr "Jabber ID:" + +#, fuzzy +#~ msgid "Preference:" +#~ msgstr "Hobespenak" + +#, fuzzy +#~ msgid "Preference" +#~ msgstr "Hobespenak" + +#, fuzzy +#~ msgid "JID:" +#~ msgstr "Zure JID-a:" + +#, fuzzy +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "" +#~ "Mesedez ezarri sartu nahi duzun kontaktuaren informazioa %s kontuarako" + +#~ msgid "Please fill in the data of the contact you want to add" +#~ msgstr "Mesedez bete sartu nahi duzun kontaktuaren informazioa" + +#, fuzzy +#~ msgid "Recently" +#~ msgstr "Berriki:" + +#~ msgid "Add New Contact" +#~ msgstr "Kontaktu Berri bat Sartu" + +#~ msgid "_User ID:" +#~ msgstr "E_rabiltzailearen ID:" + +#, fuzzy +#~ msgid "Type User ID" +#~ msgstr "Erabiltzailearen ID:" + +#, fuzzy +#~ msgid "Type Nickname" +#~ msgstr "Izengoitia" + +#~ msgid "Personal Information" +#~ msgstr "Informazio Pertsonala " + +#, fuzzy +#~ msgid "Avatar:" +#~ msgstr "Abatarea:" + +#~ msgid "Click to set your avatar" +#~ msgstr "Sakatu abatarea ezartzeko" + +#, fuzzy +#~ msgid "Remove Avatar" +#~ msgstr "Ezabatu Taldea" + +#~ msgid "Not fetched because of invisible status" +#~ msgstr "Ez bidali ikusezin egoerarengatik" + +#~ msgid "Please wait..." +#~ msgstr "Mesedez itxoin..." + +#~ msgid "Yahoo! Address:" +#~ msgstr "Yahoo! Helbide:" + +#, fuzzy +#~ msgid "Forward unread messages" +#~ msgstr "%d mezu irakurri gabe" + +#, fuzzy +#~ msgid "Forward unread message then disconnect" +#~ msgstr "%d mezu irakurri gabe" + +#~ msgid "MSN Address:" +#~ msgstr "MSN Helbidea:" + +#, fuzzy +#~ msgid "End to End message encryption" +#~ msgstr "Ireki OpenPGP Enkriptazioa" + +#, fuzzy +#~ msgid "Encrypting chat messages." +#~ msgstr "_Sarrerako mezua:" + +#, fuzzy +#~ msgid "This session is encrypted" +#~ msgstr "[Mezu hau enkriptatua dago]" + +#, fuzzy +#~ msgid "end-to-end encryption disabled" +#~ msgstr "Enkriptazioa desaktibatuta" + +#, fuzzy +#~ msgid "Unable to decrypt message" +#~ msgstr "Mezu _guztietan" + +#, fuzzy +#~ msgid "Save Image as…" +#~ msgstr "Gorde Irudia Bezala..." + +#, fuzzy +#~ msgid "Exporting History Logs…" +#~ msgstr "Historialeko Log-ak Esportatzen...." + +#~ msgid "When %s becomes:" +#~ msgstr "%s bihurtzen denean:" + +#~ msgid "Adding Special Notification for %s" +#~ msgstr "Jakinarazketa Berezia Gehitzen %s-entzat" + +#~ msgid "Unable to load idle module" +#~ msgstr "Ez izan da idle modulua kargatu" + +#, fuzzy +#~ msgid "%s or %s is a directory but should be a file" +#~ msgstr "%s direktorio bat da baina fitxero bat izan daiteke" + +#~ msgid "creating logs database" +#~ msgstr "logs-en datu basea sortzen" + +#, fuzzy +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "Bidali %s" + +#, fuzzy +#~ msgid "Rename account label" +#~ msgstr "Kontuak moldatu" + +#, fuzzy +#~ msgid "Send Single Message..." +#~ msgstr "Bidali _Mezu Bakarra..." + +#, fuzzy +#~ msgid "E2E encryption disabled" +#~ msgstr "Enkriptazioa desaktibatuta" + +#, fuzzy +#~ msgid "" +#~ "Install /\n" +#~ "Upgrade" +#~ msgstr "Stalled" + +#, fuzzy +#~ msgid "Install/Upgrade" +#~ msgstr "Stalled" + +#~ msgid "cyan" +#~ msgstr "cyan" + +#, fuzzy +#~ msgid "migrating logs database to indices" +#~ msgstr "migrating logs database to indeces" + +#, fuzzy +#~ msgid "Send File..." +#~ msgstr "Bidali _Fitxeroa" + +#, fuzzy +#~ msgid "HTTP File Upload not supported by your server" +#~ msgstr "Metacontacts storage not supported by your server" + +#, fuzzy +#~ msgid "Jingle File Transfer" +#~ msgstr "Fitxero Transferentzia" + +#~ msgid "Shows or hides the roster window" +#~ msgstr "Erakutsi edo ezkutatu zerrenda leihoa" + +#, fuzzy +#~ msgid "Shows or hides the ipython window" +#~ msgstr "Erakutsi edo ezkutatu zerrenda leihoa" + +#, fuzzy +#~ msgid "XMPP account %s" +#~ msgstr "%s kontukoa" + +#, fuzzy +#~ msgid "Exception" +#~ msgstr "Deskribapena" + +#, fuzzy +#~ msgid "" +#~ "someone@somewhere.com would like you to add some contacts " +#~ "in your roster." +#~ msgstr "Nire kontaktu zerrendara nahi zaitut sartu." + +#~ msgid "_Actions" +#~ msgstr "_Aukerak" + +#~ msgid "You are already in group chat %s" +#~ msgstr "%s gelan zaude dagoeneko" + +#~ msgid "Join Group Chat with account %s" +#~ msgstr "Txat Taldera Sartu %s kontuarekin" + +#, fuzzy +#~ msgid "" +#~ "You have to choose an account from which you want to join the groupchat." +#~ msgstr "" +#~ "Kontu bat sortu behar duzu norbaitekin txateatzeko aukera izan baino " +#~ "lehen." + +#, fuzzy +#~ msgid "Please enter the group chat JID as room@server." +#~ msgstr "ID Jabber gelak ez du onartzen karaktererik." + +#, fuzzy +#~ msgid "The group chat JID contains invalid characters." +#~ msgstr "ID Jabber gelak ez du onartzen karaktererik." + +#~ msgid "Start Chat with account %s" +#~ msgstr "Elkarrizketa Hasi %s kontuarekin" + +#, fuzzy +#~ msgid "" +#~ "Fill in the nickname or the JID of the contact you would like\n" +#~ "to send a chat message to:" +#~ msgstr "" +#~ "Idatzi mezua bidali nahi diozun\n" +#~ "kontaktuaren Jabber ID-a edota izengoitia:" + +#, fuzzy +#~ msgid "Nickname / JID" +#~ msgstr "Bikoiztutako Jabber ID " + +#~ msgid "Unable to parse \"%s\"." +#~ msgstr "Unable to parse \"%s\"." + +#~ msgid "Shows the chat dialog so that you can send messages to a contact" +#~ msgstr "Txat leihoa erakutsi, honela, kontaktuari mezua bidali diezaiokezu" + +#~ msgid "JID of the contact that you want to chat with" +#~ msgstr "Txateatu nahi duzun pertsonaren JID-a" + +#~ msgid "Adds contact to roster" +#~ msgstr "Zerrendara kontaktua sartu" + +#~ msgid "jid" +#~ msgstr "jid" + +#~ msgid "Adds new contact to this account" +#~ msgstr "Sartu kontaktu berria kontu honetara" + +#~ msgid "Opens 'Start Chat' dialog" +#~ msgstr "Ireki 'Txat-a Hasi' leiho" + +#~ msgid "Starts chat, using this account" +#~ msgstr "Elkarrizketa hasi, kontu hau rabiliz" + +#, fuzzy +#~ msgid "Message content" +#~ msgstr "mezuaren edukia" + +#, fuzzy +#~ msgid "Join a MUC room" +#~ msgstr "_Gela Berri Sartu" + +#, fuzzy +#~ msgid "Nickname to use" +#~ msgstr "Izengoitia aurkitugabea: %s" + +#, fuzzy +#~ msgid "Password to enter the room" +#~ msgstr "Pasahitzak desberdinak dira" + +#, fuzzy +#~ msgid "Wrong URI" +#~ msgstr "Host okerra" + +#~ msgid "Nickname:" +#~ msgstr "Izengoitia:" + +#~ msgid "Server:" +#~ msgstr "Zerbitzaria:" + +#, fuzzy +#~ msgid "Join this room _automatically when I connect" +#~ msgstr "Ezarri nire profila konektatzen naizenean" + +#, fuzzy +#~ msgid "Bro_wse Rooms" +#~ msgstr "_Bilatu" + +#, fuzzy +#~ msgid "Network-Watcher" +#~ msgstr "Historial Administratzailea" + +#~ msgid "" +#~ "You have to install %s dictionary to use spellchecking, or choose another " +#~ "language by setting the speller_language option." +#~ msgstr "" +#~ "%s hiztegia instalatu behar duzu zuzentzailea erabiltzeko, edota beste " +#~ "hizkuntz bat aukeratu speller_language aukera erabiliz." + +#, fuzzy +#~ msgid "Hides the buttons in chat windows." +#~ msgstr "Ezkutatu botoiak txat taldeko leihoan." + +#, fuzzy +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "_Talde Agendan Sartu Gela hau" + +#, fuzzy +#~ msgid "Show advanced functions (Alt+D)" +#~ msgstr "Sakatu emoticon bat ezartzeko (Alt+M)" + +#, fuzzy +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "Zerrendara kontaktua sartu" + +#, fuzzy +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "arreta jartzen ari da elkarrizketara" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Zerrendara kontaktua sartu" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Zerrendara kontaktua sartu" + +#, fuzzy +#~ msgid "Ma_ke message windows compact" +#~ msgstr "M_ezu leiho bat" + +#, fuzzy +#~ msgid "Hide all buttons in chat windows" +#~ msgstr "Ezkutatu botoiak txat taldeko leihoan." + +#, fuzzy +#~ msgid "Hide the chat buttons" +#~ msgstr "Erabilera:/%s, ezkutatu txat-eko botoilak." + +#~ msgid "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." +#~ msgstr "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." + +#, fuzzy +#~ msgid "?CLI:room" +#~ msgstr "-etik" + +#, fuzzy +#~ msgid "?CLI:nick" +#~ msgstr "Izengoitia" + +#, fuzzy +#~ msgid "?CLI:password" +#~ msgstr "Pasahitza:" + +#~ msgid "Use D-Bus and Notification-Daemon to show notifications" +#~ msgstr "Erabili D-Bus eta Notification-Daemon jakinarazketak erakusteko" + +#, fuzzy +#~ msgid "Notification" +#~ msgstr "Kontu Eraldaketa" + +#, fuzzy +#~ msgid "Ignore" +#~ msgstr "bederatzi" + +#~ msgid "_Open Gmail Inbox" +#~ msgstr "_Ireki Gmail posta" + +#~ msgid "Notify on new _GMail email" +#~ msgstr "_Gmail-eko E-posta berri batez jakinarazi" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will show a notification when a new e-mail is received " +#~ "via GMail" +#~ msgstr "" +#~ "Aukeratu baduzu, Gajim-ek e-postako mezu berrien bidaltzailearen " +#~ "informazioa ere jarriko du." + +#~ msgid "Display _extra email details" +#~ msgstr "Erakutsarazi epostaren g_ehigarrizko xehetasunak" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will also include information about the sender of new " +#~ "emails" +#~ msgstr "" +#~ "Aukeratu baduzu, Gajim-ek e-postako mezu berrien bidaltzailearen " +#~ "informazioa ere jarriko du." + +#~ msgid "GMail Options" +#~ msgstr "GMail Aukerak" + +#, fuzzy +#~ msgid "20" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Invited %s to %s" +#~ msgstr "Bidali %s" + +#~ msgid "GMail Email Received" +#~ msgstr "GMail posta jasoa" + +#, fuzzy +#~ msgid "New e-mail on %(gmail_mail_address)s" +#~ msgstr "E-posta Berria %(gmail_mail_address)s -en" + +#, fuzzy +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "%d e-posta elkarrizketa duzu" +#~ msgstr[1] "%d e-posta elkarrizketa dituzu" + +#, fuzzy +#~ msgid "Resour_ce:" +#~ msgstr "Baliabid_ea: " + +#~ msgid "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" +#~ msgstr "" +#~ "Baliabidea Jabber-eko zerbitzarira bidaltzen da JID berdineko eta " +#~ "zerbitzari berdinera konektatutako kontua bi zati desberdinetan edo " +#~ "gehiagotan banatzeko asmoarekin. Hau horrela dabil: kontu bat `Lana` " +#~ "baliabidearekin jarrita eta kontu berdera `etxea` baliabidearekin jarria " +#~ "baduzu, mezua lehentasun handiena duenera bidaliko da. (Behean ikusi) " + +#, fuzzy +#~ msgid "A_djust to status" +#~ msgstr "Egoerarekin b_at egin" + +#~ msgid "Priority will change automatically according to your status." +#~ msgstr "Lehentasuna automatikoki ezarriko da zure egoeraren arabera." + +#, fuzzy +#~ msgid "Anonymous authentication" +#~ msgstr "Erabili autentifikazioa" + +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "Jabber-en lehentasuna, bi bezero edo gehiago konektatuta daudenean kontu " +#~ "berdinarekin, zeinek jaso behar duen informazioa determinatzen du; " +#~ "Lehentasun handiena duen bezeroak jasotzen ditu mezuak" + +#, fuzzy +#~ msgid "Synchronize contacts" +#~ msgstr "Ikusi _Deskonektatutako Kontaktuak" + +#~ msgid "Chan_ge Password" +#~ msgstr "Al_datu Pasahitza" + +#, fuzzy +#~ msgid "Administration operations" +#~ msgstr "Administratzaile Zerrenda" + +#, fuzzy +#~ msgid "Browse..." +#~ msgstr "_Bilatu" + +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "" +#~ "Hautatua badago, abiaraztean, automatikoki jabber-era konektatuko da " +#~ "kontu hau erabiliz" + +#, fuzzy +#~ msgid "Synchronize logs with server" +#~ msgstr "Ikusi _Deskonektatutako Kontaktuak" + +#~ msgid "Synch_ronize account status with global status" +#~ msgstr "Egoera globalarekin kontaktuen egoera sinkro_nizatu " + +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" + +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." + +#, fuzzy +#~ msgid "Proxy" +#~ msgstr "Ezaugarriak" + +#, fuzzy +#~ msgid "Send _keep-alive packets" +#~ msgstr "Bidali keep-alive paketeak" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "" +#~ "Hautatua badago, Gajim-ek keep-alive paketeak bidaliko ditu deskonexioa " +#~ "gerta ez dadin" + +#, fuzzy +#~ msgid "Use cust_om hostname/port" +#~ msgstr "Erabili bezeroaren hostname/portua" + +#, fuzzy +#~ msgid "_Hostname: " +#~ msgstr "Hostname: " + +#, fuzzy +#~ msgid "_Port: " +#~ msgstr "_Portua:" + +#~ msgid "Choose _Key..." +#~ msgstr "Aukeratu _Kodea...." + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "Hautatua badago, Gajim-ek kontu honen pasahitza gogoraraziko du" + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#, fuzzy +#~ msgid "_Edit Personal Information..." +#~ msgstr "Informazio Pertsonala Editatu..." + +#~ msgid "Personal Information" +#~ msgstr "Informazio Pertsonala" + +#, fuzzy +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "K_onektatu Gajim irikitzean" + +#, fuzzy +#~ msgid "Synchroni_ze account status with global status" +#~ msgstr "Egoera globalarekin kontaktuen egoera sinkro_nizatu " + +#, fuzzy +#~ msgid "Use cust_om port:" +#~ msgstr "Erabili ezarritako portua:" + +#~ msgid "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." +#~ msgstr "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." + +#, fuzzy +#~ msgid "OpenPGP is not usable on this computer" +#~ msgstr "OpenPGP ezin da ordenagailu honetan erabili" + +#~ msgid "To change the account name, you must be disconnected." +#~ msgstr "Kontuko izena aldatzeko deskonektatuta egon behar zara." + +#~ msgid "To change the account name, you must read all pending events." +#~ msgstr "" +#~ "Kontuko izena aldatzeko, irakurri gabeko gertaera guztiak irakurri behar " +#~ "dituzu." + +#~ msgid "Account Name Already Used" +#~ msgstr "Kontu Izena Jadanik Erabilia" + +#~ msgid "Account name cannot be empty." +#~ msgstr "Kontu izena ezin da hustu." + +#~ msgid "Account name cannot contain spaces." +#~ msgstr "Kontuko izenak ezin du espaziorik izan." + +#, fuzzy +#~ msgid "Enter a new name for account %s" +#~ msgstr "Sartu %s taldearentzat izen berri bat" + +#, fuzzy +#~ msgid "A JID must be in the form \"user@servername\"." +#~ msgstr "\"izena@zerbitzaria\" Jabber ID-a horrela izan behar da." + +#~ msgid "No such account available" +#~ msgstr "Horrelako konturik ez erabilgarri" + +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "" +#~ "Kontu bat sortu behar duzu informazio petsonala editatu baino lehen." + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "Konektatzen ez bazara, ezin duzu zure informazio pertsonala aldatu." + +#~ msgid "Your server can't save your personal information." +#~ msgstr "Zerbitzariak ezin du zure informazio pertsonala gorde" + +#~ msgid "Please rename or remove it before enabling link-local messaging." +#~ msgstr "" +#~ "Mesedez berridatzi edo ezabatu hori link-local messaging martxan jarri " +#~ "baino lehen." + +#~ msgid "THANKS:" +#~ msgstr "ESKERRAK:" + +#~ msgid "Could not write to %s. Session Management support will not work" +#~ msgstr "" +#~ "ezin izan da %s-ri idatzi. Sesio administratzailea euskarria ez dago " +#~ "lanean." + +#~ msgid "Jabber Traffic" +#~ msgstr "Jabber Trafikoa" + +#, fuzzy +#~ msgid "_Enable" +#~ msgstr "Aktibatu" + +#, fuzzy +#~ msgid "Filter" +#~ msgstr "Soinuak" + +#~ msgid "_IQ" +#~ msgstr "_IG" + +#~ msgid "Info/Query" +#~ msgstr "Informatu/Galdetu" + +#~ msgid "XML Input" +#~ msgstr "XML Sarrera" + +#~ msgid "XML Console for %s" +#~ msgstr "XML Konsola %s-rena" + +#, fuzzy +#~ msgid "Idle for:" +#~ msgstr "XML Konsola %s-rena" + +#~ msgid "Last status: %s" +#~ msgstr "Azken egoera: %s" + +#~ msgid " since %s" +#~ msgstr " %s-etik" + +#~ msgid "since %s" +#~ msgstr "noiztik %s" + +#, fuzzy +#~ msgid "Prefer" +#~ msgstr "Hobespenak" + +#, fuzzy +#~ msgid "Auto" +#~ msgstr "Automatikoki sartu" + +#, fuzzy +#~ msgid "otr" +#~ msgstr "_Host-a" + +#, fuzzy +#~ msgid "Invalid expire value" +#~ msgstr "Baliogabeko izena" + +#~ msgid "How many minutes should last lines from previous conversation last." +#~ msgstr "" +#~ "Zenbat minutu izan behar ditu azken lerroak lehengo elkarrizketaren " +#~ "azkenetik." + +#~ msgid "You will be connected to %s without OpenPGP." +#~ msgstr "%s konektatu behar zara OpenPGP-rik gabe." + +#, fuzzy +#~ msgid "The following message was NOT encrypted" +#~ msgstr "[Mezu hau enkriptatua dago]" + +#~ msgid "Toggle Open_PGP Encryption" +#~ msgstr "Toggle Open_PGP Encryption" + +#, fuzzy +#~ msgid "Toggle End to End Encryption" +#~ msgstr "Toggle Open_PGP Encryption" + +#, fuzzy +#~ msgid "OpenPGP encryption enabled" +#~ msgstr "Enkriptazioa aktibatuta" + +#, fuzzy +#~ msgid "The following message was encrypted" +#~ msgstr "[Mezu hau enkriptatua dago]" + +#, fuzzy +#~ msgid "Toggle the OpenPGP encryption" +#~ msgstr "Toggle Open_PGP Encryption" + +#, fuzzy +#~ msgid "[This message is *encrypted* (See :XEP:`27`]" +#~ msgstr "[Mezu hau *enkriptatua\" dago (Ikusi: JEP:`27`]" + +#~ msgid "" +#~ "If True, listen to D-Bus signals from NetworkManager and change the " +#~ "status of accounts (provided they do not have listen_to_network_manager " +#~ "set to False and they sync with global status) based upon the status of " +#~ "the network connection." +#~ msgstr "" +#~ "If True, listen to D-Bus signals from NetworkManager and change the " +#~ "status of accounts (provided they do not have listen_to_network_manager " +#~ "set to False and they sync with global status) based upon the status of " +#~ "the network connection." + +#, fuzzy +#~ msgid "Database cannot be read." +#~ msgstr "Kontu izena ezin da hustu." + +#, fuzzy +#~ msgid "Smooth scroll message in conversation window" +#~ msgstr "Bidali mezua eta itxi leihoa" + +#, fuzzy +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "_Debekatze Zerrenda" + +#~ msgid "_Administrator" +#~ msgstr "_Administratzailea" + +#, fuzzy +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "" +#~ "Bidali mezu bat zerbitzari honetara orain konektatuta dauden kontaktuei" + +#~ msgid "Sets Message of the Day" +#~ msgstr "Ezarri Eguneko Mezua" + +#~ msgid "Updates Message of the Day" +#~ msgstr "Eguneko Mezua Gaurkotu" + +#~ msgid "Deletes Message of the Day" +#~ msgstr "Eguneko Mezuak Ezabatu" + +#, fuzzy +#~ msgid "Add _Contact..." +#~ msgstr "_Kontaktua Gehitu..." + +#~ msgid "Profile, A_vatar" +#~ msgstr "Profila, A_batarea" + +#~ msgid "File _Transfers" +#~ msgstr "Fitxero _Transferentzia" + +#~ msgid "Help online" +#~ msgstr "Online laguntza" + +#~ msgid "Frequently Asked Questions (online)" +#~ msgstr "Frequently Asked Questions (online)" + +#, fuzzy +#~ msgid "Fea_tures" +#~ msgstr "Zerbitzariaren Ezaugarriak:" + +#~ msgid "to %s account" +#~ msgstr "%s kontura" + +#~ msgid "using %s account" +#~ msgstr "%s kontua erabiliz" + +#~ msgid "of account %s" +#~ msgstr "%s kontukoa" + +#~ msgid "for account %s" +#~ msgstr "%s konturako" + +#~ msgid "" +#~ "By removing this contact you also remove authorization resulting in him " +#~ "or her always seeing you as offline." +#~ msgstr "" +#~ "Kontaktua ezabatuz bere autorizazioa ere ezabatzen duzu. Beraz, " +#~ "kontaktuak deskonektatuta ikusiko zaitu beti." + +#~ msgid "Invalid Jabber ID" +#~ msgstr "Jabber ID baliogabea" + +#~ msgid "This file is being used by another process." +#~ msgstr "Beste prozesu batek erabiltzen du orain fitxero hau." + +#~ msgid "pgp key" +#~ msgstr "pgp giltza" + +#~ msgid "" +#~ "Sends new single message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Zerrendako kontaktu bati mezu berri bat bidali. Bai OpenPGP kodea eta " +#~ "baita kontua dira aukerazkoak. `Kontua` bakarrik zehaztu nahi baduzu, " +#~ "`OpenPGP koderik` gabe, bakarrik `OpenPGP kodea` -entzat zehaztu." + +#, fuzzy +#~ msgid "Please first choose another theme as your current theme." +#~ msgstr "Please first choose another for your current theme." + +#~ msgid "Your passphrase is incorrect" +#~ msgstr "Zure pasa-esaldia ez da egokia" + +#, fuzzy +#~ msgid "OpenPGP Passphrase Incorrect" +#~ msgstr "Zure pasa-esaldia ez da egokia" + +#~ msgid "You successfully received %(filename)s from %(name)s." +#~ msgstr "Ondo jasoa izan da %(name)s-ren %(filename)s fitxeroa." + +#, fuzzy +#~ msgid "Set logs directory" +#~ msgstr "%s direktorioa sortzen" + +#~ msgid "_Manage Bookmarks..." +#~ msgstr "Talde Agenda _Moldatu..." + +#~ msgid "Change Status Message..." +#~ msgstr "Egoera Mezua Aldatu..." + +#~ msgid "_Change Status Message..." +#~ msgstr "_Egoera Mezua Aldatu..." + +#~ msgid "" +#~ "You are not interested in the contact's presence, and neither he/she is " +#~ "interested in yours" +#~ msgstr "" +#~ "Zu ez zaude haren egoera informazioan interesatuta, bera zugan interesa du" + +#~ msgid "Error description..." +#~ msgstr "Deskripzio errorea...." + +#, fuzzy +#~ msgid "View contact information (Ctrl+I)" +#~ msgstr "arreta jartzen ari da elkarrizketara" + +#, fuzzy +#~ msgid "All Chat Histories" +#~ msgstr "Old stories" + +#~ msgid "More" +#~ msgstr "Gehiago" + +#~ msgid "creating %s directory" +#~ msgstr "%s direktorioa sortzen" + +#~ msgid "%s is not the name of a group chat." +#~ msgstr "%s ez da txat gela baten izena." + +#, fuzzy +#~ msgid "Session Management" +#~ msgstr "Mezua Bidaltzean" + +#, fuzzy +#~ msgid "Gajim needs X server to run. Quiting..." +#~ msgstr "Gajim-ek Xserver behar du abiarazteko. Uzten..." + +#, fuzzy +#~ msgid "Gajim needs PyGTK 2.22 or above" +#~ msgstr "Gajim-ek PyGTK 2.6 edo handiagoa behar du " + +#, fuzzy +#~ msgid "Gajim needs PyGTK 2.22 or above to run. Quiting..." +#~ msgstr "Gajim-ek PyGTK 2.6 edo handiagoa behar du abiarazteko. Uzten..." + +#, fuzzy +#~ msgid "Gajim needs GTK 2.22 or above" +#~ msgstr "Gajim-ek GTK 2.6 edo handiagoa behar du " + +#, fuzzy +#~ msgid "Gajim needs GTK 2.22 or above to run. Quiting..." +#~ msgstr "Gajim-ek GTK 2.6 edo handiagoa behar du abiarazteko. Uzten..." + +#~ msgid "Gajim needs pywin32 to run" +#~ msgstr "Gajim-ek pywin32 behar du abiarazteko" + +#~ msgid "" +#~ "Please make sure that Pywin32 is installed on your system. You can get it " +#~ "at %s" +#~ msgstr "" +#~ "Mesedez begiratu Pywin32 instalatuta dagoela sisteman. %s-etin lortu " +#~ "dezakezu hau." + +#~ msgid "Gajim is already running" +#~ msgstr "Gajim dagoeneko abiarazi da" + +#~ msgid "" +#~ "Another instance of Gajim seems to be running\n" +#~ "Run anyway?" +#~ msgstr "" +#~ "Beste Gajim prozesu bat abiarazita dagoela dirudi\n" +#~ "Abiarazi dena den?" + +#~ msgid "A programming error has been detected" +#~ msgstr "Programazio errore bat detektatu da" + +#~ msgid "Details" +#~ msgstr "Zehaztapenak" + +#~ msgid "Jabber ID: " +#~ msgstr "Jabber ID: " + +#~ msgid "Resource: " +#~ msgstr "Baliabideak: " + +#~ msgid "Subscription: " +#~ msgstr "Harpidetza: " + +#, fuzzy +#~ msgid "Mood: " +#~ msgstr "Gela:" + +#, fuzzy +#~ msgid "Activity: " +#~ msgstr "Aktibatuta" + +#, fuzzy +#~ msgid "" +#~ "If True, Gajim will check if it's the default jabber client on each " +#~ "startup." +#~ msgstr "Egia bada, Gajim-ek erregistratuko du xmpp:/ abiaraztean." + +#~ msgid "Execute Command..." +#~ msgstr "Komandoa Exekutatu..." + +#~ msgid " a window/tab opened with that contact " +#~ msgstr "leiho/tab bat kontaktu batekin irekia" + +#~ msgid "Actions" +#~ msgstr "Ekintzak" + +#~ msgid "Conditions" +#~ msgstr "Baldintzak" + +#~ msgid "Advanced Notifications Control" +#~ msgstr "Notifikazio Aurreratuaren Kontrola" + +#~ msgid "Busy " +#~ msgstr "Lanpetuta" + +#, fuzzy +#~ msgid "Contact Change Status " +#~ msgstr "Kontaktu Egoera Aldaketa" + +#~ msgid "Don't have " +#~ msgstr "Ez daukadanean" + +#, fuzzy +#~ msgid "File Transfer Started " +#~ msgstr "Fitxero Transferentzia Gelditua" + +#, fuzzy +#~ msgid "Group Chat Message Highlight " +#~ msgstr "Txat Taldeko Mezu Nabarmendua" + +#, fuzzy +#~ msgid "Group Chat Message Received " +#~ msgstr "Txat Taldeko Mezua Jasotzean" + +#~ msgid "Launch a command" +#~ msgstr "Abiarazi agindua" + +#~ msgid "One or more special statuses..." +#~ msgstr "Egorera berezi bat edo gehiago..." + +#~ msgid "Online / Free For Chat" +#~ msgstr "Libre / Libre Hitz Egiteko" + +#~ msgid "Play a sound" +#~ msgstr "Soinua ezarri" + +#~ msgid "When " +#~ msgstr "Denean" + +#~ msgid "" +#~ "_Activate window manager's UrgencyHint to make chat window in taskbar " +#~ "flash" +#~ msgstr "" +#~ "_Activate window manager's UrgencyHint to make chat window in taskbar " +#~ "flash" + +#~ msgid "_Disable auto opening chat window" +#~ msgstr "_Ezindu automatikoki elkarrizketa leihoa irikitzea" + +#~ msgid "_Disable existing popup window" +#~ msgstr "_Kendu esistitzen den popup leihoa " + +#~ msgid "_Disable existing sound for this event" +#~ msgstr "_Ezindu esistitzen den soinua gertaera hontarako " + +#, fuzzy +#~ msgid "_Disable showing event in notification area" +#~ msgstr "_Ezindu gertaeran zerrendan ikustea" + +#~ msgid "_Disable showing event in roster" +#~ msgstr "_Ezindu gertaeran zerrendan ikustea" + +#~ msgid "_Inform me with a popup window" +#~ msgstr "_Jakinarazi popup leiho batekin" + +#~ msgid "_Open chat window with user" +#~ msgstr "_Ireki elkarrizketa leihoa erabiltzailearekin" + +#~ msgid "_Show event in roster" +#~ msgstr "_Ikusarazi gertaera zerrendan" + +#~ msgid "and I " +#~ msgstr "eta nik" + +#, fuzzy +#~ msgid "contact(s)" +#~ msgstr "Kontaktua" + +#~ msgid "for " +#~ msgstr "norentzat" + +#, fuzzy +#~ msgid "group(s)" +#~ msgstr "Taldea" + +#~ msgid "when I'm in" +#~ msgstr "Nagoenean" + +#~ msgid "_Allow him/her to see my status" +#~ msgstr "Baimendu nire egoera ikustea" + +#, fuzzy +#~ msgid "Descrition:" +#~ msgstr "Deskribapena: %s" + +#, fuzzy +#~ msgid "Advanced..." +#~ msgstr "Aurreratua" + +#, fuzzy +#~ msgid "Display _activity of contacts in roster" +#~ msgstr "Kontaktuen a_batereak erakutsi zerrendan" + +#, fuzzy +#~ msgid "Display _tunes of contacts in roster" +#~ msgstr "Kontaktuen a_batereak erakutsi zerrendan" + +#, fuzzy +#~ msgid "Display m_ood of contacts in roster" +#~ msgstr "Kontaktuen a_batereak erakutsi zerrendan" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will display the activity of contacts in the roster " +#~ "window" +#~ msgstr "" +#~ "Hautatua badago, Gajim-ek zerrendan eta txat taldeetan kontaktuen " +#~ "abatereak azalaraziko ditu" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will display the location of contacts in the roster " +#~ "window" +#~ msgstr "" +#~ "Hautatua badago, Gajim-ek zerrendan eta txat taldeetan kontaktuen " +#~ "abatereak azalaraziko ditu" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will display the tunes of contacts in the roster window" +#~ msgstr "" +#~ "Hautatua badago, Gajim-ek zerrendan eta txat taldeetan kontaktuen " +#~ "abatereak azalaraziko ditu" + +#~ msgid "Gajim Instant Messenger" +#~ msgstr "Gajim Behealako Mezularitza" + +#~ msgid "English" +#~ msgstr "Ingelesa" + +#, fuzzy +#~ msgid "Belarusian" +#~ msgstr "Bulgariera" + +#~ msgid "Bulgarian" +#~ msgstr "Bulgariera" + +#, fuzzy +#~ msgid "Breton" +#~ msgstr "Briton" + +#~ msgid "Czech" +#~ msgstr "Czech" + +#~ msgid "German" +#~ msgstr "Alemaniera" + +#~ msgid "Greek" +#~ msgstr "Greziera" + +#, fuzzy +#~ msgid "British" +#~ msgstr "Briton" + +#~ msgid "Esperanto" +#~ msgstr "Esperantoa" + +#~ msgid "Spanish" +#~ msgstr "Gaztelania" + +#, fuzzy +#~ msgid "Basque" +#~ msgstr "Basc" + +#~ msgid "French" +#~ msgstr "Frantsesa" + +#~ msgid "Croatian" +#~ msgstr "Kroaziera" + +#~ msgid "Italian" +#~ msgstr "Italiera" + +#, fuzzy +#~ msgid "Norwegian (b)" +#~ msgstr "Norvegian b" + +#~ msgid "Dutch" +#~ msgstr "Alemana" + +#, fuzzy +#~ msgid "Norwegian" +#~ msgstr "Norbegiera" + +#~ msgid "Polish" +#~ msgstr "Polakoa" + +#~ msgid "Portuguese" +#~ msgstr "Portugesa" + +#~ msgid "Brazilian Portuguese" +#~ msgstr "Brasileko Portugesa" + +#~ msgid "Russian" +#~ msgstr "Rusiera" + +#, fuzzy +#~ msgid "Serbian" +#~ msgstr "Alemaniera" + +#~ msgid "Slovak" +#~ msgstr "Eslovakoa" + +#~ msgid "Swedish" +#~ msgstr "Swedish" + +#~ msgid "Chinese (Ch)" +#~ msgstr "Txinera (Ch)" + +#~ msgid "Spelling language" +#~ msgstr "Ortografia hizkuntza" + +#~ msgid "all or space separated status" +#~ msgstr "dena edo espazio egoera banandua" + +#~ msgid "'yes', 'no', or 'both'" +#~ msgstr "'bai', 'ez', edo 'biak'" + +#~ msgid "'yes', 'no' or ''" +#~ msgstr "'bai', 'ez' edo ''" + +#~ msgid "Check your connection or try again later" +#~ msgstr "Begira ezazu zure konexioa edo saiatu berriro" + +#~ msgid "error: cannot open %s for reading" +#~ msgstr "errorea: ezin da %s ireki irakurtzeko" + +#~ msgid "Unable to bind to port %s." +#~ msgstr "Unable to bind to port %s." + +#, fuzzy +#~ msgid "" +#~ "Maybe you have another running instance of Gajim. File Transfer will be " +#~ "cancelled." +#~ msgstr "" +#~ "Beharbada beste Gajim prozesu bat abiarazita duzu. Fitxero transferentzia " +#~ "bertan behera utziko da." + +#~ msgid "A GTK+ jabber client" +#~ msgstr "GTK+ jabber bezeroa" + +#~ msgid "Condition" +#~ msgstr "Condition" + +#~ msgid "when I am " +#~ msgstr "nagoenean" + +#, fuzzy +#~ msgid "one of: offline, online, chat, away, xa, dnd, invisible " +#~ msgstr "hauetako bat: offline, online, chat, away, xa, dnd, invisible " + +#, fuzzy +#~ msgid "" +#~ "Returns current status message(the global one unless account is specified)" +#~ msgstr "" +#~ "Oraingo egoera mezua itzuli (Globala aukeratu ez badago kontu bat " +#~ "aukeratuta)" + +#~ msgid "" +#~ "Usage: %s %s %s \n" +#~ "\t %s" +#~ msgstr "" +#~ "Usage: %s %s %s \n" +#~ "\t %s" + +#, fuzzy +#~ msgid "" +#~ "Too many arguments. \n" +#~ "Type \"%s help %s\" for more info" +#~ msgstr "" +#~ "Argument \"%s\" is not specified. \n" +#~ "Type \"%s help %s\" for more info" + +#, fuzzy +#~ msgid "" +#~ "Argument \"%s\" is not specified. \n" +#~ "Type \"%s help %s\" for more info" +#~ msgstr "" +#~ "Argument \"%s\" is not specified. \n" +#~ "Type \"%s help %s\" for more info" + +#~ msgid "Subject: %s" +#~ msgstr "Gaia: %s" + +#, fuzzy +#~ msgid "Mood: %s" +#~ msgstr "Gela:" + +#, fuzzy +#~ msgid "Activity: %s" +#~ msgstr "Aktibatuta" + +#~ msgid "_Disable showing event in systray" +#~ msgstr "_Ezindu gertaerak systray-en ikustea" + +#~ msgid "_Show event in systray" +#~ msgstr "Iku_si gertaerak systray-ean" + +#, fuzzy +#~ msgid "Autodetect on every Gajim startup" +#~ msgstr "K_onektatu Gajim irikitzean" + +#, fuzzy +#~ msgid "Show systray:" +#~ msgstr "Iku_si gertaerak systray-ean" + +#~ msgid "Nickname not allowed: %s" +#~ msgstr "Baimenik gabeko izengoitia: %s" + +#~ msgid "we are now subscribed to %s" +#~ msgstr "%s -ra harpidetuak gaude orain" + +#~ msgid "we are now unsubscribed from %s" +#~ msgstr "%s -ren harpidetzatik kenduta gaude" + +#~ msgid "Account Modification" +#~ msgstr "Kontu Eraldaketa" + +#~ msgid "" +#~ "Check this so Gajim will connect in port 5223 where legacy servers are " +#~ "expected to have SSL capabilities. Note that Gajim uses TLS encryption by " +#~ "default if broadcasted by the server, and with this option enabled TLS " +#~ "will be disabled" +#~ msgstr "" +#~ "Check this so Gajim will connect in port 5223 where legacy servers are " +#~ "expected to have SSL capabilities. Note that Gajim uses TLS encryption by " +#~ "default if broadcasted by the server, and with this option enabled TLS " +#~ "will be disabled" + +#~ msgid "Edit Personal Information..." +#~ msgstr "Informazio Pertsonala Editatu..." + +#~ msgid "Hostname: " +#~ msgstr "Hostname: " + +#~ msgid "" +#~ "If checked, Gajim will store the password in ~/.gajim/config with 'read' " +#~ "permission only for you" +#~ msgstr "" +#~ "Hautatua badago, Gajim-ek pasahitzak ~/.gajim/config gordeko ditu " +#~ "irakurtzeko baimena zuk bakarrik izanik" + +#~ msgid "Port: " +#~ msgstr "Portua: " + +#~ msgid "Save _passphrase (insecure)" +#~ msgstr "Gorde _pasa-esaldia(ez trinkoa)" + +#~ msgid "Use _SSL (legacy)" +#~ msgstr "Erabili _SSL(Legacy)" + +#, fuzzy +#~ msgid "" +#~ "Receive a Message\n" +#~ "Contact Disconnected \n" +#~ "Contact Change Status \n" +#~ "Group Chat Message Highlight \n" +#~ "Group Chat Message Received \n" +#~ "File Transfer Request \n" +#~ "File Transfer Started \n" +#~ "File Transfer Finished" +#~ msgstr "" +#~ "Mezu bat Jasoa\n" +#~ "Kontaktua Konektatua\n" +#~ "Kontaktua Deskonektatua\n" +#~ "Kontaktuak Egoeraz Aldatua\n" +#~ "Txat Taldeko Mezu bat Bistaratua\n" +#~ "Txat Taldeko Mezu bat Jasoa\n" +#~ "Fitxero Transferentzia Eskatua\n" +#~ "Fitxero Transferentzia Hasia\n" +#~ "Fitxero Transferentzia Bukatua" + +#~ msgid "" +#~ "contact(s)\n" +#~ "group(s)\n" +#~ "everybody" +#~ msgstr "" +#~ "kontaktua(k)\n" +#~ "taldea(k)\n" +#~ "denak" + +#~ msgid "" +#~ "Account row\n" +#~ "Group row\n" +#~ "Contact row\n" +#~ "Chat Banner" +#~ msgstr "" +#~ "Kontu zerrenda\n" +#~ "Talde zerrenda\n" +#~ "Kontaktu zerrenda\n" +#~ "Banner Elkarrizketa " + +#, fuzzy +#~ msgid "gtk-delete" +#~ msgstr "Ezabatu" + +#~ msgid "" +#~ "All chat states\n" +#~ "Composing only\n" +#~ "Disabled" +#~ msgstr "" +#~ "Elkarrizketa guztien egoera\n" +#~ "Konposatzen bakarrik\n" +#~ "Desaktibatuta" + +#, fuzzy +#~ msgid "" +#~ "Autodetect on every Gajim startup\n" +#~ "Always use GNOME default applications\n" +#~ "Always use KDE default applications\n" +#~ "Always use Xfce default applications\n" +#~ "Custom" +#~ msgstr "" +#~ "Autodetektatu Gajim abiarazten den bakoitzean\n" +#~ "Beti GNOME-ren berezko aplikazioak erabili\n" +#~ "Beti KDE-ren berezko aplikazioak erabili\n" +#~ "Beti Xfce-ren berezko aplikazioak erabili\n" +#~ "Bezeroa" + +#~ msgid "" +#~ "none\n" +#~ "both\n" +#~ "from\n" +#~ "to" +#~ msgstr "" +#~ "ezer\n" +#~ "biak\n" +#~ "nondik\n" +#~ "norentzat" + +#, fuzzy +#~ msgid "gtk-cancel" +#~ msgstr "Ezabatu" + +#~ msgid "pysqlite2 (aka python-pysqlite2) dependency is missing. Exiting..." +#~ msgstr "pysqlite2 (aka python-pysqlite2) dependency is missing. Exiting..." + +#~ msgid "GTK+ runtime is missing libglade support" +#~ msgstr "GTK+ rutinak ez du libglade sostengatzen" + +#~ msgid "" +#~ "Please remove your current GTK+ runtime and install the latest stable " +#~ "version from %s" +#~ msgstr "" +#~ "GTK+ rutina ezabatu eta instalatu ezazu azken bertsio establea %s hemendik" + +#~ msgid "" +#~ "Please make sure that GTK+ and PyGTK have libglade support in your system." +#~ msgstr "" +#~ "Konproba ezazu GTK+ eta PyGTK libglade onartzen dutea zure sistemak." + +#~ msgid "Gajim needs PySQLite2 to run" +#~ msgstr "Gajim-ek PySQLite2 behar du abiarazteko" + +#, fuzzy +#~ msgid "gtk-ok" +#~ msgstr "gtk+" + +#, fuzzy +#~ msgid "" +#~ "The host %s you configured as the ft_add_hosts_to_send advanced option is " +#~ "not valid, so ignored." +#~ msgstr "" +#~ "The host you configured as the ft_override_host_to_send advanced option " +#~ "is not valid, so ignored." + +#~ msgid "OpenPGP passphrase was not given" +#~ msgstr "OpenPGP pasa-esaldia ez da eman" + +#~ msgid "" +#~ "To continue sending and receiving messages, you will need to reconnect." +#~ msgstr "" +#~ "Mezuak jasotzen eta bidaltzen jarraitzeko berriro konektatu beharko zara." + +#~ msgid "" +#~ "You are not connected or not visible to others. Your message could not be " +#~ "sent." +#~ msgstr "" +#~ "Ez zaude konektatuta edo ikusezin zaude. Ezin izan da zure mezua bidali." + +#~ msgid "Add Special _Notification" +#~ msgstr "Gehitu _Noifikazio Berezia" + +#~ msgid "Assign Open_PGP Key" +#~ msgstr "Open_PGP kodea zehaztu" + +#, fuzzy +#~ msgid "" +#~ "Usage: /%(command)s , sends action to the current group chat. Use " +#~ "third person. (e.g. /%(command)s explodes.)" +#~ msgstr "" +#~ "Erabilera: /%s , bidali aukeratutako ekintza daukazun oraingo " +#~ "gelara. Erabili 3. pertsona. (e.g. /%s explodes.)" + +#~ msgid "No help info for /%s" +#~ msgstr "Ez dago laguntza informazioa /%s -rentzat" + +#~ msgid "Enable link-local/zeroconf messaging" +#~ msgstr "Enable link-local/zeroconf messaging" + +#~ msgid "Nickname not found: %s" +#~ msgstr "Izengoitia aurkitugabea: %s" + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s [reason], bans the JID from the group chat. The " +#~ "nickname of an occupant may be substituted, but not if it contains \"@\". " +#~ "If the JID is currently in the group chat, he/she/it will also be kicked." +#~ msgstr "" +#~ "Erabilera: /%s [reason], debekatua JID-a gelatik. " +#~ "Erabiltzen ari den baten izengoitia aldatu egin beharko da, baina ez da " +#~ "aldatu beharko \"@\" -rik badu. JID-a jadanik gelan bada, bera " +#~ "botatata izango da ere. Izengoitiak EZ du onartzen tarterik. " + +#~ msgid "" +#~ "Usage: /%s [reason], closes the current window or tab, displaying reason " +#~ "if specified." +#~ msgstr "" +#~ "Erabilera: /%s [reason], itxi leihoa, zergatia erakutsiz behar bada." + +#~ msgid "" +#~ "Usage: /%s [reason], invites JID to the current group chat, " +#~ "optionally providing a reason." +#~ msgstr "" +#~ "Erabilera: /%s [reason], gonbidatu JID-a oraingo gelara, aukerazko " +#~ "arrazoi bat emanez. " + +#~ msgid "" +#~ "Usage: /%s @[/nickname], offers to join room@server " +#~ "optionally using specified nickname." +#~ msgstr "" +#~ "Erabilera: /%s @[/nickname], eskaini room@server-era " +#~ "sartzen aukeraz izengoiti bat ezarriz." + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s [reason], removes the occupant specified by " +#~ "nickname from the group chat and optionally displays a reason." +#~ msgstr "" +#~ "Erabilera: /%s [reason], ezabatu izengoitiaren bidez " +#~ "aukeratutako erabiltzailea gelatik eta nahi bada arrazoi bat adierazi. EZ " +#~ "da onartzen espazioak iznegoitian." + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s [message], opens a private message window and sends " +#~ "message to the occupant specified by nickname." +#~ msgstr "" +#~ "Erabilera: /%s [message], ireki mezu pribatuko leiho bat eta " +#~ "bidali zehaztutako izengoitiaren erabiltzailera." + +#~ msgid "Usage: /%s , changes your nickname in current group chat." +#~ msgstr "Erabilera: /%s , aldatu zure izengoitia gela hontan." + +#~ msgid "" +#~ "Usage: /%s [topic], displays or updates the current group chat topic." +#~ msgstr "" +#~ "Erabilera: /%s [topic], erakuts arazi edo aktualizatu oraingo gelako gaia." + +#~ msgid "" +#~ "Usage: /%s , sends a message without looking for other commands." +#~ msgstr "" +#~ "Erabilera: /%s , mezu bat bidali beste komandoak bilatu gabe." + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s , allow to send you messages and private " +#~ "messages." +#~ msgstr "Erabilera: /%s , aldatu zure izengoitia gela hontan." + +#~ msgid "Click to see features (like MSN, ICQ transports) of jabber servers" +#~ msgstr "" +#~ "Sakatu Jabber zerbitzariaren zenbait aukera(Msn ,ICQ, transport) ikusteko" + +#~ msgid "Modify Account" +#~ msgstr "Kontua E_raldatu" + +#, fuzzy +#~ msgid "" +#~ "%(title)s by %(artist)s\n" +#~ "from %(source)s" +#~ msgstr "\"%(title)s\" by %(artist)s" + +#~ msgid "Gajim account %s" +#~ msgstr "%s gajim kontua" + +#~ msgid "This account is already configured in Gajim." +#~ msgstr "Kontaktu hau dagoeneko Gajim-en konfiguratua dago." + +#, fuzzy +#~ msgid "Idle" +#~ msgstr "Id" + +#, fuzzy +#~ msgid "File transfer stopped by the contact at the other end" +#~ msgstr "Fitxero transferentzia gelditua beste kontaktuarengatik" + +#, fuzzy +#~ msgid "Generic" +#~ msgstr "Orokorra" + +#~ msgid "%s has not broadcast an OpenPGP key, nor has one been assigned" +#~ msgstr "%s-ak ez du trasmititu OpenPGP kode bat ez behintzat ezarritakorik" + +#~ msgid "No such command: /%s (if you want to send this, prefix it with /say)" +#~ msgstr "" +#~ "No such command: /%s (if you want to send this, prefix it with /say)" + +#~ msgid "" +#~ "Usage: /%s , sends action to the current group chat. Use third " +#~ "person. (e.g. /%s explodes.)" +#~ msgstr "" +#~ "Erabilera: /%s , bidali aukeratutako ekintza daukazun oraingo " +#~ "gelara. Erabili 3. pertsona. (e.g. /%s explodes.)" + +#~ msgid "_Retype Password:" +#~ msgstr "_Berridatzi Pasahitza" + +#~ msgid "" +#~ "If checked, all local contacts that use a Bonjour compatible chat client " +#~ "(like iChat, Trillian or Gaim) will be shown in roster. You don't need to " +#~ "be connected to a jabber server for it to work.\n" +#~ "This is only available if python-avahi is installed and avahi-daemon is " +#~ "running." +#~ msgstr "" +#~ "Aukeratuta badago, Bonnjour-ekin bateragarriak diren txat programak " +#~ "(iChat, Trillian edota Gaim bezalakoak) erabiltzen duten kontaktu guztiak " +#~ "azal araziko dira zerrendan. Ez duzu jabber zerbitzari batera konektatu " +#~ "egon beharrik funtziona dezan.\n" +#~ "Hau erabilgarri izango da python-avahi instalatuta baldin badago eta " +#~ "avahi-daemon funtzionamenduan badago. " + +#~ msgid "" +#~ "If you have 2 or more accounts and it is checked, Gajim will list all " +#~ "contacts as if you had one account" +#~ msgstr "" +#~ "Bi kontu edo gehiago badituzu eta aukera hau hautatua badago, Gajim-ek " +#~ "kontaktu guztiak kontu bat izango bazenu bezala jarriko lituzke zerrendan" + +#~ msgid "_Enable link-local messaging" +#~ msgstr "_Enable link-local messaging" + +#~ msgid "2003-12-13T18:30:02Z" +#~ msgstr "2003-12-13T18:30:02Z" + +#~ msgid "Romeo and Juliet" +#~ msgstr "Romeo eta Juliet" + +#~ msgid "Soliloquy" +#~ msgstr "Soliloquy" + +#~ msgid "_Compact View Alt+C" +#~ msgstr "_Bista trikoa Alt+C" + +#~ msgid "Click to see past conversation in this room" +#~ msgstr "Sakatu gela honetako elkarrizketa zaharrak ikusteko" + +#~ msgid "Build custom query" +#~ msgstr "Build custom query" + +#~ msgid "Query Builder..." +#~ msgstr "Query Builder..." + +#~ msgid "Invitation Received" +#~ msgstr "Gonbidapena Jasoa" + +#~ msgid "Format of a line" +#~ msgstr "Lerroaren Formatua" + +#~ msgid "Interface Customization" +#~ msgstr "Grafikoen Kontrola" + +#~ msgid "Also known as iChat style" +#~ msgstr "iChat estiloa bezala ere ezagutua" + +#~ msgid "" +#~ "An example: If you have enabled status message for away, Gajim won't ask " +#~ "you anymore for a status message when you change your status to away; it " +#~ "will use the default one set here" +#~ msgstr "" +#~ "Adibide bat: Egoera mezu kanpoan bezala ezarri baduzu, Gajim-ek ez dizu " +#~ "gehiago galdetuko egoera mezuaz kanpoan egoera ezartzean; ezarritako " +#~ "erabiliko da beti" + +#~ msgid "E_very 5 minutes" +#~ msgstr "5 _minuturo" + +#~ msgid "" +#~ "Gajim will automatically show new events by poping up the relative window" +#~ msgstr "" +#~ "Gajim-ek automatikoki gertaera berriak agertaraziko ditu hautatutako " +#~ "leihoan " + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed in" +#~ msgstr "Sartu berri diren kontaktuez jakinaraziko dizu Gajim-ek popup bidez" + +#~ msgid "" +#~ "Gajim will only change the icon of the contact that triggered the new " +#~ "event" +#~ msgstr "" +#~ "Gajim-ek bakarrik kontaktuaren ikonoa aldatuko du gertaera berri bat " +#~ "duenean" + +#~ msgid "" +#~ "If checked, Gajim will remember the roster and chat window positions in " +#~ "the screen and the sizes of them next time you run it" +#~ msgstr "" +#~ "Hautatua badago, Gajim-ek berriz abiarazten duzunean zerrendako eta baita " +#~ "txat leihoaren pantailako lekua eta tamaina gogoraraziko dizu" + +#~ msgid "" +#~ "Never\n" +#~ "Always\n" +#~ "Per account\n" +#~ "Per type" +#~ msgstr "" +#~ "Inoiz\n" +#~ "Beti\n" +#~ "Kontuko\n" +#~ "Gaiaz" + +#~ msgid "Outgoing Chat state noti_fications:" +#~ msgstr "Txat irteeren egoeren ja_kinarazteak:" + +#~ msgid "Print time:" +#~ msgstr "Imprimatu ordua:" + +#~ msgid "Save _position and size for roster and chat windows" +#~ msgstr "Gorde zerrendaren eta txat leihoaren _lekua eta tamaina" + +#~ msgid "Set status message to reflect currently playing _music track" +#~ msgstr "Orain duzun playing _music pista jarri egoera mezu bezala" + +#~ msgid "The auto away status message" +#~ msgstr "Automatikoki kanpoko egoera mezua" + +#~ msgid "" +#~ "When a new event (message, file transfer request etc..) is received, the " +#~ "following methods may be used to inform you about it. Please note that " +#~ "events about new messages only occur if it is a new message from a " +#~ "contact you are not already chatting with" +#~ msgstr "" +#~ "Metodo honekin, gertaera berri bat (mezu bat, fitxero trasferentzia " +#~ "eskaera...) jasotzean, horiei buruz jakinaraziko zaizu. Mezu berri baten " +#~ "jakinaraztea, bakarrik, dagoeneko hitz egiten ari zaren pertsona batekin " +#~ "izan ezik izango da" + +#~ msgid "" +#~ "Works for Rhythmbox and Muine players. For more players, please visit " +#~ "http://trac.gajim.org/wiki/GajimAndMusicPlayer" +#~ msgstr "" +#~ " Rhythmbox eta Muine erreprodukzio programekin bakarrik funtzionatzen du. " +#~ "Erreprodukzio programa gehiagotarako, bisitatu http://trac.gajim.org/wiki/" +#~ "GajimAndMusicPlayer" + +#~ msgid "_Advanced Notifications Control..." +#~ msgstr "Notifikazio _Aurreratuaren Kontrola..." + +#~ msgid "_After time:" +#~ msgstr "Ordu_aren ondoren:" + +#~ msgid "_Before time:" +#~ msgstr "Ordua _baino lehen:" + +#~ msgid "_Player:" +#~ msgstr "_Entzun" + +#~ msgid "Role:" +#~ msgstr "Eginkizuna:" + +#~ msgid "_Retrieve" +#~ msgstr "_Berridatzi" + +#~ msgid "_Remove from Roster" +#~ msgstr "_Zerrendatik Ezabatua" + +#~ msgid "A_ccounts" +#~ msgstr "K_ontua" + +#~ msgid "OS:" +#~ msgstr "OS:" + +#~ msgid "" +#~ "If that is not your language for which you want to highlight misspelled " +#~ "words, then please set your $LANG as appropriate. Eg. for French do " +#~ "export LANG=fr_FR or export LANG=fr_FR.UTF-8 in ~/.bash_profile or to " +#~ "make it global in /etc/profile.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "If that is not your language for which you want to highlight misspelled " +#~ "words, then please set your $LANG as appropriate. Eg. for French do " +#~ "export LANG=fr_FR or export LANG=fr_FR.UTF-8 in ~/.bash_profile or to " +#~ "make it global in /etc/profile.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" + +#~ msgid "Every %s _minutes" +#~ msgstr "%s _minuturo" + +#~ msgid "You will always see him or her as offline." +#~ msgstr "Beti deskonektatuta ikusiko duzu." + +#~ msgid "%s is now %s (%s)" +#~ msgstr "%s orain %s dago: (%s)" + +#~ msgid "" +#~ "\n" +#~ "From: %(from_address)s" +#~ msgstr "" +#~ "\n" +#~ "Norengandik: %(from_address)s" + +#~ msgid "Network Manager support not available" +#~ msgstr "Network Kudeatzailea ez dago erabilgarri" + +#~ msgid "Session Management support not available (missing gnome.ui module)" +#~ msgstr "Session Management support not available (missing gnome.ui module)" + +#~ msgid "%s is now %s" +#~ msgstr "%s orain %s da" + +#~ msgid "%s does not appear to be a valid JID" +#~ msgstr "%s ez du ematen baliozko JID bat denik" + +#~ msgid "%s - Gajim" +#~ msgstr "%s - Gajim" + +#~ msgid "Information published" +#~ msgstr "Informazio argitaratua" + +#~ msgid "Without a connection, you can not get your contact information." +#~ msgstr "Konexiorik gabe ezin duzu zure kontaktu informazioa lortu." + +#~ msgid "_New group chat" +#~ msgstr "T_xat Talde Berria" + +#~ msgid "Log _off" +#~ msgstr "Log _desaktibatua" + +#~ msgid "Save passphrase" +#~ msgstr "Gorde pasa-esaldia" + +#~ msgid "Drop %s in group %s" +#~ msgstr "Bidali %s taldea %s-era" + +#~ msgid "Hides the buttons in two persons chat window." +#~ msgstr "Ezkutatu botoilak bi pertsonen txat leihoan. " + +#~ msgid "Connected to server %s:%s with %s" +#~ msgstr "%s zerbitzarira konektatu: %s %s -ekin" + +#~ msgid "invisible" +#~ msgstr "ikusezin" + +#~ msgid "offline" +#~ msgstr "deskonektatuta" + +#~ msgid " %d unread single message" +#~ msgid_plural " %d unread single messages" +#~ msgstr[0] "%d mezu irakurri gabe" +#~ msgstr[1] "%d irakurri gabeko mezuak" + +#~ msgid " %d unread group chat message" +#~ msgid_plural " %d unread group chat messages" +#~ msgstr[0] "%d txat taldeko mezua irakurri gabe" +#~ msgstr[1] "%d txat taldeko mezuak irakurri gabe" + +#~ msgid " %d unread private message" +#~ msgid_plural " %d unread private messages" +#~ msgstr[0] "%d mezu pribatu irakurri gabe" +#~ msgstr[1] "%d mezu pribatu irakurri gabe" + +#~ msgid "" +#~ "Connection to host could not be established: Incorrect answer from server." +#~ msgstr "" +#~ "Host-era konexioa ezin izan da ezarri. Zerbitzariaren erantzuna ez da " +#~ "egokia izan. " + +#~ msgid "Connection to host could not be established" +#~ msgstr "Hots-eko konexioa ezin izan da ezarri" + +#~ msgid "This is result of query." +#~ msgstr "This is result of query." + +#~ msgid "Edit items on the list" +#~ msgstr "Editatu zerrendako atalak" + +#~ msgid "_New room" +#~ msgstr "_Gela Berria" + +#~ msgid "Role: " +#~ msgstr "Eginkizun:" + +#~ msgid "Merge consecutive nickname in chat window." +#~ msgstr "Elkartu hurren hurreneko izengoitia elkarrizketa leihoan." + +#~ msgid "" +#~ "Sound to play when any MUC message arrives. (This setting is taken into " +#~ "account only if notify_on_all_muc_messages is True)" +#~ msgstr "" +#~ "Soinu bat entzun MUC mezu bat jasotzean. (Aukera hau bakarrik kontuan " +#~ "hartzen da kontuaren notify_on_all_muc_messages True bada)" + +#~ msgid "Away " +#~ msgstr "Kanpoan" + +#~ msgid "Down" +#~ msgstr "Behean" + +#~ msgid "List of special notifications settings" +#~ msgstr "Jakinarazketa berezien zerrenden aukerak" + +#~ msgid "Not Available " +#~ msgstr "Ez Erabilgarri" + +#~ msgid "Up" +#~ msgstr "Gora" + +#~ msgid "Create your own Privacy Lists" +#~ msgstr "Zure Debekatze Zerrenda egin" + +#~ msgid "Server-based Privacy Lists" +#~ msgstr "Zerbitzariako Debekatze Zerrenda" + +#~ msgid "Jabber" +#~ msgstr "Jabber" + +#~ msgid "Invalid room or server name" +#~ msgstr "Baliogabeko gela edo zerbitzari izena" + +#~ msgid "Your personal information has been published successfully." +#~ msgstr "Zure informazio pertsonala argitaratua izan da." + +#~ msgid "Migrating Logs..." +#~ msgstr "Historialeko Log-ak Esportatzen...." + +#~ msgid "Gajim - %d unread message" +#~ msgid_plural "Gajim - %d unread messages" +#~ msgstr[0] "Gajim - %d mezu irakurri gabe" +#~ msgstr[1] "Gajim - %d mezu irakurri gabe" + +#~ msgid "Since %s" +#~ msgstr "Noiztik %s" diff --git a/po/fr.po b/po/fr.po new file mode 100644 index 0000000..34b64d2 --- /dev/null +++ b/po/fr.po @@ -0,0 +1,15456 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-01 17:44+0100\n" +"PO-Revision-Date: 2021-04-21 18:38+0000\n" +"Last-Translator: pitchum \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.1.1\n" +"X-Pootle-Path: /fr/gajim/fr.po\n" +"X-Pootle-Revision: 1011\n" + +#: gajim/history_manager.py:78 +msgid "Usage:" +msgstr "Utilisation :" + +#: gajim/history_manager.py:80 +msgid "Options:" +msgstr "Options :" + +#: gajim/history_manager.py:82 +msgid "Show this help message and exit" +msgstr "Afficher ce message d'aide et quitter" + +#: gajim/history_manager.py:83 +msgid "Choose folder for logfile" +msgstr "Indiquer un répertoire pour le fichier de log" + +#: gajim/history_manager.py:113 +msgid "Cannot find history logs database" +msgstr "Impossible de trouver la base de données de l’historique" + +#: gajim/history_manager.py:114 +#, python-format +msgid "%s does not exist." +msgstr "%s n'existe pas." + +#: gajim/history_manager.py:147 gajim/history_manager.py:201 +#: gajim/gtk/add_contact.py:31 gajim/gtk/discovery.py:833 +#: gajim/gtk/accounts.py:892 gajim/data/gui/vcard_information_window.ui:55 +#: gajim/data/gui/bookmarks.ui:45 gajim/data/gui/blocking_list.ui:43 +#: gajim/data/gui/mam_preferences.ui:117 +msgid "XMPP Address" +msgstr "Adresse XMPP" + +#: gajim/history_manager.py:160 gajim/history_manager.py:208 +#: gajim/gtk/history.py:108 gajim/data/gui/history_window.ui:89 +msgid "Date" +msgstr "Date" + +#: gajim/history_manager.py:167 gajim/history_manager.py:231 +#: gajim/data/gui/profile.ui:232 gajim/data/gui/vcard_information_window.ui:442 +#: gajim/data/gui/bookmarks.ui:84 +msgid "Nickname" +msgstr "Pseudonyme" + +#: gajim/history_manager.py:178 gajim/history_manager.py:217 +#: gajim/gtk/history.py:117 gajim/data/gui/single_message_window.ui:266 +msgid "Message" +msgstr "Message" + +#: gajim/history_manager.py:186 gajim/history_manager.py:224 +#: gajim/data/gui/groups_post_window.ui:49 +#: gajim/data/gui/single_message_window.ui:205 +msgid "Subject" +msgstr "Sujet" + +#: gajim/history_manager.py:254 +msgid "Database Cleanup" +msgstr "Nettoyage de la base de données" + +#: gajim/history_manager.py:255 +msgid "Clean up the database?" +msgstr "Nettoyer la base de données ?" + +#: gajim/history_manager.py:256 +msgid "" +"This is STRONGLY NOT RECOMMENDED IF GAJIM IS RUNNING.\n" +"Normally, the allocated database size will not be freed, it will just become " +"reusable. This operation may take a while." +msgstr "" +"Ceci est FORTEMENT DÉCONSEILLÉ SI GAJIM EST EN TRAIN DE FONCTIONNER.\n" +"Normalement la taille allouée à la base de donnée ne sera pas libérée, elle " +"sera simplement ré-utilisable. Cette action pourrait prendre un certain " +"temps." + +#: gajim/history_manager.py:262 +msgid "_Cleanup" +msgstr "_Nettoyer" + +#: gajim/history_manager.py:527 gajim/gtk/filetransfer.py:238 +#: gajim/gtk/filetransfer.py:248 +msgid "You" +msgstr "Vous" + +#: gajim/history_manager.py:539 +#, python-format +msgid "%(who)s on %(time)s said: %(message)s\n" +msgstr "%(who)s le %(time)s a dit : %(message)s\n" + +#: gajim/history_manager.py:576 gajim/history_manager.py:615 +#: gajim/gtk/themes.py:362 gajim/gtk/roster_item_exchange.py:75 +#: gajim/gtk/roster_item_exchange.py:185 +msgid "Delete" +msgstr "Supprimer" + +#: gajim/history_manager.py:577 +msgid "Delete Conversation" +msgid_plural "Delete Conversations" +msgstr[0] "Supprimer la conversation" +msgstr[1] "Supprimer les conversations" + +#: gajim/history_manager.py:578 +#, python-format +msgid "Do you want to permanently delete this conversation with %s?" +msgid_plural "Do you want to permanently delete these conversations?" +msgstr[0] "" +"Désirez-vous supprimer de façon définitive cette conversation avec %s ?" +msgstr[1] "Désirez-vous supprimer de façon définitive ces conversations ?" + +#: gajim/history_manager.py:616 +msgid "Delete Message" +msgid_plural "Delete Messages" +msgstr[0] "Supprimer le message" +msgstr[1] "Supprimer les messages" + +#: gajim/history_manager.py:617 +msgid "Do you want to permanently delete this message?" +msgid_plural "Do you want to permanently delete these messages?" +msgstr[0] "Voulez-vous supprimer définitivement ce message ?" +msgstr[1] "Voulez-vous supprimer définitivement ces messages ?" + +#: gajim/roster_window.py:268 gajim/roster_window.py:991 +msgid "Merged accounts" +msgstr "Comptes regroupés" + +#: gajim/roster_window.py:756 gajim/roster_window.py:1667 +#: gajim/roster_window.py:1669 gajim/roster_window.py:1986 +#: gajim/roster_window.py:3065 gajim/roster_window.py:3098 +#: gajim/roster_window.py:4026 gajim/gui_interface.py:338 +#: gajim/gui_menu_builder.py:254 gajim/gui_menu_builder.py:345 +#: gajim/chat_control.py:291 gajim/chat_control.py:421 +#: gajim/gtk/add_contact.py:320 gajim/gtk/roster_item_exchange.py:112 +#: gajim/gtk/subscription_request.py:77 gajim/gtk/subscription_request.py:126 +#: gajim/common/helpers.py:89 gajim/common/helpers.py:207 +#: gajim/common/contacts.py:243 gajim/common/contacts.py:382 +#: gajim/common/contacts.py:493 +msgid "Not in contact list" +msgstr "Absent de la liste de contacts" + +#: gajim/roster_window.py:823 gajim/roster_window.py:1579 +#: gajim/roster_window.py:1612 gajim/roster_window.py:1663 +#: gajim/roster_window.py:1665 gajim/roster_window.py:1820 +#: gajim/roster_window.py:2378 gajim/roster_window.py:3990 +#: gajim/roster_window.py:4638 gajim/gtk/discovery.py:127 +#: gajim/gtk/discovery.py:128 gajim/gtk/discovery.py:1419 +#: gajim/common/helpers.py:88 gajim/common/contacts.py:225 +#: gajim/common/contacts.py:485 +msgid "Transports" +msgstr "Passerelles" + +#: gajim/roster_window.py:1671 gajim/roster_window.py:1673 +#: gajim/roster_window.py:3990 gajim/roster_window.py:4603 +#: gajim/gui_interface.py:1425 gajim/common/helpers.py:91 +#: gajim/common/contacts.py:223 +msgid "Group chats" +msgstr "Salons de discussion" + +#: gajim/roster_window.py:1901 gajim/chat_control.py:1688 +msgid "Remote contact stopped transfer" +msgstr "Le contact a interrompu le transfert" + +#: gajim/roster_window.py:1903 gajim/chat_control.py:1690 +msgid "Error opening file" +msgstr "Erreur à l’ouverture du fichier" + +#: gajim/roster_window.py:1968 +msgid "Authorization sent" +msgstr "L’autorisation a été envoyée" + +#: gajim/roster_window.py:1969 +#, python-format +msgid "\"%s\" will now see your status." +msgstr "Désormais \"%s\" connaîtra votre état." + +#: gajim/roster_window.py:1987 +msgid "Subscription request has been sent" +msgstr "La demande d’inscription a été envoyée" + +#: gajim/roster_window.py:1988 +#, python-format +msgid "If \"%s\" accepts this request you will know their status." +msgstr "Si \"%s\" accepte cette demande vous connaîtrez son état." + +#: gajim/roster_window.py:2002 +msgid "Authorization removed" +msgstr "L’autorisation a été supprimée" + +#: gajim/roster_window.py:2003 +#, python-format +msgid "Now \"%s\" will always see you as offline." +msgstr "Dorénavant, \"%s\" vous verra toujours hors-ligne." + +#: gajim/roster_window.py:2198 gajim/data/gui/shortcuts_window.ui:66 +msgid "Quit Gajim" +msgstr "Quitter Gajim" + +#: gajim/roster_window.py:2199 +msgid "You are about to quit Gajim" +msgstr "Vous êtes sur le point de quitter Gajim" + +#: gajim/roster_window.py:2200 +msgid "Are you sure you want to quit Gajim?" +msgstr "Êtes-vous sûr de vouloir quitter Gajim ?" + +#: gajim/roster_window.py:2201 +msgid "_Always quit when closing Gajim" +msgstr "_Toujours quitter en fermant Gajim" + +#: gajim/roster_window.py:2204 gajim/roster_window.py:2299 +#: gajim/roster_window.py:2340 gajim/data/gui/application_menu.ui:30 +#: gajim/data/gui/systray_context_menu.ui:83 +msgid "_Quit" +msgstr "_Quitter" + +#: gajim/roster_window.py:2292 +msgid "Stop File Transfers" +msgstr "Arrêter les transferts de fichiers" + +#: gajim/roster_window.py:2293 +msgid "You still have running file transfers" +msgstr "Vous avez encore des transferts de fichiers en cours" + +#: gajim/roster_window.py:2294 +msgid "" +"If you quit now, the file(s) being transferred will be lost.\n" +"Do you still want to quit?" +msgstr "" +"Si vous quittez maintenant, le transfert de fichiers en cours sera " +"interrompu.\n" +"Voulez-vous toujours quitter ?" + +#: gajim/roster_window.py:2333 +msgid "Unread Messages" +msgstr "Messages non lus" + +#: gajim/roster_window.py:2334 +msgid "You still have unread messages" +msgstr "Vous avez encore des messages non lus" + +#: gajim/roster_window.py:2335 +msgid "" +"Messages will only be available for reading them later if storing chat " +"history is enabled and if the contact is in your contact list." +msgstr "" +"Les messages ne seront disponibles pour une lecture ultérieure que si l’" +"archivage de l'historique est actif et si le contact est dans votre liste de " +"contacts." + +#: gajim/roster_window.py:2590 +msgid "You have unread messages" +msgstr "Vous avez des messages non lus" + +#: gajim/roster_window.py:2591 +msgid "You must read them before removing this transport." +msgstr "Vous devez les lire avant de supprimer cette passerelle." + +#: gajim/roster_window.py:2594 +#, python-format +msgid "Transport '%s' will be removed" +msgstr "La passerelle '%s' sera supprimée" + +#: gajim/roster_window.py:2595 +msgid "" +"You will no longer be able to send and receive messages from and to contacts " +"using this transport." +msgstr "" +"Vous ne pourrez plus envoyer et recevoir de messages des contacts de cette " +"passerelle." + +#: gajim/roster_window.py:2598 +msgid "Transports will be removed" +msgstr "Les passerelles seront enlevées" + +#: gajim/roster_window.py:2603 +#, python-format +msgid "" +"You will no longer be able to send and receive messages from and to contacts " +"using these transports:\n" +"%s" +msgstr "" +"Vous ne pourrez plus envoyer et recevoir de messages des contacts de cette " +"passerelle :\n" +"%s" + +#: gajim/roster_window.py:2607 +msgid "Remove Transport" +msgstr "Supprimer la passerelle" + +#: gajim/roster_window.py:2662 gajim/chat_control.py:428 +msgid "Block Contact" +msgstr "Bloquer le contact" + +#: gajim/roster_window.py:2663 gajim/chat_control.py:429 +msgid "Really block this contact?" +msgstr "Êtes-vous sûr de vouloir bloquer ce contact ?" + +#: gajim/roster_window.py:2664 gajim/chat_control.py:430 +msgid "" +"You will appear offline for this contact and you will not receive further " +"messages." +msgstr "" +"Vous apparaîtrez déconnecté pour ce contact et vous ne recevrez plus de " +"messages." + +#: gajim/roster_window.py:2666 +msgid "_Do not ask again" +msgstr "_Ne plus me demander" + +#: gajim/roster_window.py:2669 gajim/chat_control.py:434 +msgid "_Report Spam" +msgstr "_Signaler comme Spam" + +#: gajim/roster_window.py:2673 gajim/roster_window.py:4778 +#: gajim/gui_menu_builder.py:485 gajim/chat_control.py:438 +#: gajim/data/gui/contact_context_menu.ui:151 +msgid "_Block" +msgstr "_Bloquer" + +#: gajim/roster_window.py:2706 +msgid "Rename Contact" +msgstr "Renommer le contact" + +#: gajim/roster_window.py:2707 +#, python-format +msgid "Rename contact %s?" +msgstr "Renommer le contact %s ?" + +#: gajim/roster_window.py:2708 +msgid "Please enter a new nickname" +msgstr "Veuillez saisir un nouveau pseudonyme" + +#: gajim/roster_window.py:2712 gajim/roster_window.py:3439 +#: gajim/roster_window.py:4679 gajim/dialogs.py:103 gajim/dialogs.py:116 +#: gajim/gtk/accounts.py:308 gajim/common/contacts.py:178 +#: gajim/common/contacts.py:227 gajim/data/gui/shortcuts_window.ui:12 +#: gajim/data/gui/preferences.ui:96 +msgid "General" +msgstr "Général" + +#: gajim/roster_window.py:2715 +msgid "Rename Group" +msgstr "_Renommer le groupe" + +#: gajim/roster_window.py:2716 +#, python-format +msgid "Rename group %s?" +msgstr "Renommer le groupe %s ?" + +#: gajim/roster_window.py:2717 +msgid "Please enter a new name" +msgstr "Veuillez saisir un nouveau nom" + +#: gajim/roster_window.py:2747 gajim/roster_window.py:2869 +#: gajim/data/gui/groupchat_control.ui:1859 +msgid "_Rename" +msgstr "_Renommer" + +#: gajim/roster_window.py:2769 gajim/roster_window.py:2770 +msgid "Remove Group" +msgstr "_Supprimer le groupe" + +#: gajim/roster_window.py:2771 +#, python-format +msgid "Do you want to remove %s from the contact list?" +msgstr "Voulez-vous enlever %s de la liste de contacts ?" + +#: gajim/roster_window.py:2772 +msgid "_Also remove all contacts of this group from contact list" +msgstr "" +"Supprimer également de la liste tous les contacts appartenant à ce groupe" + +#: gajim/roster_window.py:2864 gajim/roster_window.py:2865 +msgid "Rename Group Chat" +msgstr "Renommer le salon" + +#: gajim/roster_window.py:2866 +msgid "Please enter a new name for this group chat" +msgstr "Veuillez saisir un nouveau nom pour ce salon" + +#: gajim/roster_window.py:3082 +msgid "Remove Contact" +msgstr "Supprimer un contact" + +#: gajim/roster_window.py:3083 +msgid "Remove contact from contact list" +msgstr "Enlever le contact de la liste de contacts" + +#: gajim/roster_window.py:3084 +#, python-format +msgid "You are about to remove %(name)s (%(jid)s) from your contact list.\n" +msgstr "" +"Vous êtes sur le point de supprimer %(name)s (%(jid)s) de votre liste de " +"contacts.\n" + +#: gajim/roster_window.py:3093 gajim/roster_window.py:3113 +msgid "" +"By removing this contact you also remove authorization. This means the " +"contact will see you as offline." +msgstr "" +"En supprimant ce contact vous lui retirez aussi son autorisation. Ce contact " +"vous verra donc toujours hors-ligne." + +#: gajim/roster_window.py:3104 +msgid "Do you want to continue?" +msgstr "Voulez-vous continuer ?" + +#: gajim/roster_window.py:3115 +msgid "_I want this contact to know my status after removal" +msgstr "_Autoriser ce contact à connaître mon état après suppression" + +#: gajim/roster_window.py:3122 +msgid "Remove contacts from contact list" +msgstr "Enlever les contacts de la liste de contacts" + +#: gajim/roster_window.py:3128 +#, python-format +msgid "" +"By removing the following contacts, you will also remove authorization. This " +"means they will see you as offline:\n" +"\n" +"%s" +msgstr "" +"En supprimant ces contacts vous enlevez aussi leurs autorisations. Ces " +"contacts vous verront donc toujours comme étant hors-ligne.\n" +"\n" +"%s" + +#: gajim/roster_window.py:3132 +msgid "Remove Contacts" +msgstr "Supprimer les contacts" + +#: gajim/roster_window.py:3761 +msgid "You are about to create a metacontact" +msgstr "Vous êtes sur le point de créer un méta-contact" + +#: gajim/roster_window.py:3762 +msgid "" +"Metacontacts are a way to regroup several contacts in one single contact. " +"Generally it is used when the same person has several XMPP- or Transport-" +"Accounts." +msgstr "" +"Les métacontacts sont une façon de regrouper plusieurs contacts en un seul. " +"Généralement, cela est utile lorsqu'une même personne possède plusieurs " +"comptes XMPP ou de transport." + +#: gajim/roster_window.py:3766 +msgid "Create Metacontact" +msgstr "Créer un méta-contact" + +#: gajim/roster_window.py:3769 gajim/chat_control_base.py:771 +#: gajim/groupchat_control.py:1676 gajim/message_window.py:368 +msgid "_Do not ask me again" +msgstr "_Ne plus me poser la question" + +#: gajim/roster_window.py:3772 gajim/data/gui/groupchat_creation.ui:317 +msgid "_Create" +msgstr "_Créer" + +#: gajim/roster_window.py:3889 +msgid "Invalid file URI:" +msgstr "URI de fichier invalide :" + +#: gajim/roster_window.py:3901 +#, python-format +msgid "Send this file to %s:\n" +msgid_plural "Send these files to %s:\n" +msgstr[0] "Envoyer ce fichier à %s :\n" +msgstr[1] "Envoyer ces fichiers à %s :\n" + +#: gajim/roster_window.py:3909 gajim/roster_window.py:3910 +#: gajim/chat_control.py:1541 gajim/gtk/filetransfer_progress.py:36 +msgid "File Transfer" +msgstr "Transfert de fichiers" + +#: gajim/roster_window.py:3914 gajim/data/gui/xml_console.ui:334 +msgid "_Send" +msgstr "En_voyer" + +#: gajim/roster_window.py:4067 +#, python-format +msgid "Send %(from)s to %(to)s" +msgstr "Envoyer %(from)s à %(to)s" + +#: gajim/roster_window.py:4080 +#, python-format +msgid "Make %s first contact" +msgstr "Faire de %s le premier contact" + +#: gajim/roster_window.py:4085 +#, python-format +msgid "Make %(contact1)s and %(contact2)s metacontacts" +msgstr "Faire de %(contact1)s et %(contact2)s des métacontacts" + +#: gajim/roster_window.py:4436 gajim/roster_window.py:4523 +#: gajim/gtk/status_selector.py:76 +msgid "_Change Status Message" +msgstr "_Changer le message d'état" + +#: gajim/roster_window.py:4456 +msgid "Publish Tune" +msgstr "Publier ce que j'écoute" + +#: gajim/roster_window.py:4467 +msgid "Publish Location" +msgstr "Publier la géolocalisation" + +#: gajim/roster_window.py:4606 +msgid "_Maximize All" +msgstr "Tout _maximiser" + +#: gajim/roster_window.py:4615 gajim/roster_window.py:4743 +msgid "Send Group M_essage" +msgstr "_Envoyer un message de groupe" + +#: gajim/roster_window.py:4622 +msgid "To all users" +msgstr "À tous les utilisateurs" + +#: gajim/roster_window.py:4626 +msgid "To all online users" +msgstr "À tous les utilisateurs en ligne" + +#: gajim/roster_window.py:4637 gajim/roster_window.py:4749 +#: gajim/data/gui/contact_context_menu.ui:36 +msgid "In_vite to" +msgstr "In_viter à" + +#: gajim/roster_window.py:4663 gajim/gui_menu_builder.py:471 +msgid "_Rename…" +msgstr "Re_nommer…" + +#: gajim/roster_window.py:4669 gajim/gui_menu_builder.py:493 +#: gajim/data/gui/contact_context_menu.ui:181 +msgid "Remo_ve" +msgstr "Suppri_mer" + +#: gajim/roster_window.py:4759 +msgid "_Manage Contacts" +msgstr "_Gérer les contacts" + +#: gajim/roster_window.py:4765 +msgid "Edit _Groups…" +msgstr "Éditer les _groupes…" + +#: gajim/roster_window.py:4774 gajim/gui_menu_builder.py:482 +#: gajim/data/gui/contact_context_menu.ui:143 +msgid "_Unblock" +msgstr "_Débloquer" + +#: gajim/roster_window.py:4786 gajim/gtk/dialogs.py:70 +#: gajim/data/gui/filetransfers.ui:12 +msgid "_Remove" +msgstr "_Supprimer" + +#: gajim/roster_window.py:4823 +msgid "_Maximize" +msgstr "_Maximiser" + +#: gajim/roster_window.py:4828 +msgid "Re_name" +msgstr "Re_nommer" + +#: gajim/roster_window.py:4836 gajim/groupchat_control.py:1680 +msgid "_Leave" +msgstr "_Quitter" + +#: gajim/roster_window.py:4844 +msgid "Execute command" +msgstr "Exécuter une commande" + +#: gajim/roster_window.py:4852 gajim/data/gui/application_menu.ui:68 +#: gajim/data/gui/contact_context_menu.ui:205 +msgid "_History" +msgstr "_Historique" + +#: gajim/roster_window.py:4945 gajim/gui_interface.py:339 +#: gajim/common/helpers.py:90 gajim/common/contacts.py:221 +msgid "Observers" +msgstr "Observateurs" + +#: gajim/roster_window.py:4948 +msgid "Observers can see your status, but you are not allowed to see theirs" +msgstr "" +"Les observateurs peuvent voir votre état, mais vous n'êtes pas autorisé à " +"voir les leurs" + +#: gajim/privatechat_control.py:105 gajim/groupchat_control.py:1225 +#, python-format +msgid "You are now known as %s" +msgstr "Vous êtes désormais connu sous le nom de %s" + +#: gajim/privatechat_control.py:107 gajim/groupchat_control.py:1227 +#, python-brace-format +msgid "{nick} is now known as {new_nick}" +msgstr "{nick} est maintenant connu sous le nom de {new_nick}" + +#: gajim/privatechat_control.py:138 gajim/groupchat_control.py:1254 +#, python-brace-format +msgid "You are now {show}{status}" +msgstr "Vous êtes désormais {show}{status}" + +#: gajim/privatechat_control.py:142 gajim/groupchat_control.py:1258 +#, python-brace-format +msgid "{nick} is now {show}{status}" +msgstr "{nick} est maintenant {show}{status}" + +#: gajim/privatechat_control.py:199 +msgid "Sending private message failed" +msgstr "L’envoi du message privé a échoué" + +#: gajim/privatechat_control.py:201 +#, python-format +msgid "You are no longer in group chat \"%(room)s\" or \"%(nick)s\" has left." +msgstr "" +"Vous n’êtes plus dans le salon « %(room)s » ou « %(nick)s » l’a quitté." + +#: gajim/application.py:81 +msgid "Show the application's version" +msgstr "Afficher la version de l’application" + +#: gajim/application.py:88 +msgid "Show only critical errors" +msgstr "Ne montrer que les erreurs critiques" + +#: gajim/application.py:95 +msgid "Separate profile files completely (even history database and plugins)" +msgstr "" +"Séparer les fichiers de profil complètement (même la base de données de " +"l’historique et les extensions)" + +#: gajim/application.py:103 +msgid "Print XML stanzas and other debug information" +msgstr "Affiche le flux XML et autres informations de débogage" + +#: gajim/application.py:110 +msgid "Use defined profile in configuration directory" +msgstr "Utilise un profil défini dans le dossier de configuration" + +#: gajim/application.py:118 +msgid "Set configuration directory" +msgstr "Définir le répertoire de configuration" + +#: gajim/application.py:126 +msgid "Configure logging system" +msgstr "Configurer le système de log" + +#: gajim/application.py:134 +msgid "Show all warnings" +msgstr "Afficher tous les avertissements" + +#: gajim/application.py:141 +msgid "Open IPython shell" +msgstr "Ouvrir un shell IPython" + +#: gajim/application.py:148 +msgid "Pops up a window with the next pending event" +msgstr "Afficher une fenêtre avec le prochain message non lu" + +#: gajim/application.py:154 gajim/data/gui/shortcuts_window.ui:17 +#: data/org.gajim.Gajim.desktop.in:21 +msgid "Start a new chat" +msgstr "Commencer une nouvelle discussion" + +#: gajim/application.py:205 gajim/gui_interface.py:131 +msgid "Database Error" +msgstr "Erreur de base de données" + +#: gajim/gui_interface.py:168 +#, python-format +msgid "HTTP (%(method)s) Authorization for %(url)s (ID: %(id)s)" +msgstr "Autorisation HTTP (%(method)s) pour %(url)s (ID : %(id)s)" + +#: gajim/gui_interface.py:173 +msgid "Do you accept this request?" +msgstr "Acceptez-vous cette demande ?" + +#: gajim/gui_interface.py:175 +#, python-format +msgid "Do you accept this request (account: %s)?" +msgstr "Acceptez-vous cette demande (compte : %s) ?" + +#: gajim/gui_interface.py:181 +msgid "Authorization Request" +msgstr "Demande d'autorisation" + +#: gajim/gui_interface.py:182 +msgid "HTTP Authorization Request" +msgstr "Demande d'autorisation HTTP" + +#: gajim/gui_interface.py:185 gajim/gui_interface.py:376 +#: gajim/gui_interface.py:2002 gajim/gtk/filetransfer.py:339 +msgid "_No" +msgstr "_Non" + +#: gajim/gui_interface.py:203 gajim/gtk/notification.py:189 +#: gajim/gtk/notification.py:216 +msgid "Connection Failed" +msgstr "La connexion a échoué" + +#: gajim/gui_interface.py:299 +#, python-format +msgid "error while sending %(message)s ( %(error)s )" +msgstr "erreur en envoyant %(message)s ( %(error)s )" + +#: gajim/gui_interface.py:324 gajim/gtk/notification.py:189 +msgid "Subscription request" +msgstr "Demande d'inscription" + +#: gajim/gui_interface.py:359 +msgid "Authorization accepted" +msgstr "Autorisation acceptée" + +#: gajim/gui_interface.py:360 +#, python-format +msgid "The contact \"%(jid)s\" has authorized you to see their status." +msgstr "Le contact \"%(jid)s\" vous a autorisé à voir son état." + +#: gajim/gui_interface.py:370 +msgid "Subscription Removed" +msgstr "Inscription supprimée" + +#: gajim/gui_interface.py:371 +#, python-format +msgid "%(name)s (%(jid)s) has removed subscription from you" +msgstr "%(name)s (%(jid)s) ne vous permet plus de voir sa présence" + +#: gajim/gui_interface.py:373 +msgid "" +"You will always see this contact as offline.\n" +"Do you want to remove them from your contact list?" +msgstr "" +"Vous verrez toujours ce contact hors-ligne.\n" +"Voulez-vous le supprimer de votre liste de contacts ?" + +#: gajim/gui_interface.py:398 gajim/gtk/notification.py:190 +msgid "Unsubscribed" +msgstr "Désinscrit⋅e" + +#: gajim/gui_interface.py:410 +#, python-format +msgid "%(jid)s declined the invitation: %(reason)s" +msgstr "%(jid)s a refusé l'invitation : %(reason)s" + +#: gajim/gui_interface.py:414 +#, python-format +msgid "%(jid)s declined the invitation" +msgstr "%(jid)s a refusé l'invitation" + +#: gajim/gui_interface.py:431 gajim/chat_control.py:1606 +#: gajim/gtk/notification.py:188 gajim/gtk/notification.py:214 +#: gajim/gtk/notification.py:286 gajim/gtk/groupchat_invitation.py:33 +msgid "Group Chat Invitation" +msgstr "Invitation à un salon" + +#: gajim/gui_interface.py:432 +#, python-format +msgid "%(contact)s invited you to %(chat)s" +msgstr "%(contact)s vous a invité dans le salon %(chat)s" + +#: gajim/gui_interface.py:453 +msgid "Certificate Passphrase Required" +msgstr "Mot de passe du certificat requis" + +#: gajim/gui_interface.py:454 +#, python-format +msgid "Enter the certificate passphrase for account %s" +msgstr "Entrez le mot de passe du certificat pour le compte %s" + +#: gajim/gui_interface.py:463 +#, python-format +msgid "Enter your password for account %s" +msgstr "Entrez votre mot de passe pour le compte %s" + +#: gajim/gui_interface.py:475 +msgid "Password Required" +msgstr "Mot de passe requis" + +#: gajim/gui_interface.py:475 +msgid "Save password" +msgstr "Enregistrer le mot de passe" + +#: gajim/gui_interface.py:544 gajim/gui_interface.py:575 +#: gajim/gtk/notification.py:187 gajim/gtk/notification.py:279 +#: gajim/gtk/filetransfer.py:333 gajim/gtk/filetransfer.py:334 +msgid "File Transfer Error" +msgstr "Erreur de transfert de fichiers" + +#: gajim/gui_interface.py:609 +#, python-format +msgid "%s wants to send you a file." +msgstr "%s souhaite vous envoyer un fichier." + +#: gajim/gui_interface.py:611 gajim/gtk/notification.py:186 +#: gajim/gtk/notification.py:276 gajim/gtk/filetransfer.py:485 +msgid "File Transfer Request" +msgstr "Requête de transfert de fichiers" + +#: gajim/gui_interface.py:714 +msgid "Remote Contact Stopped Transfer" +msgstr "Le contact à arrêté le transfert" + +#: gajim/gui_interface.py:719 +msgid "Error Opening File" +msgstr "Erreur lors de l'ouverture du fichier" + +#: gajim/gui_interface.py:729 +msgid "SSL Certificate Error" +msgstr "Erreur de certificat SSL" + +#: gajim/gui_interface.py:738 gajim/gui_interface.py:768 +#: gajim/gui_interface.py:794 gajim/chat_control.py:1573 +#: gajim/gtk/notification.py:187 gajim/gtk/notification.py:282 +msgid "File Transfer Completed" +msgstr "Transfert de fichiers terminé" + +#: gajim/gui_interface.py:742 gajim/gui_interface.py:773 +#: gajim/gui_interface.py:800 gajim/gtk/notification.py:188 +#: gajim/gtk/notification.py:283 +msgid "File Transfer Stopped" +msgstr "Transfert de fichiers interrompu" + +#: gajim/gui_interface.py:746 +msgid "File Transfer Failed" +msgstr "Échec du transfert de fichiers" + +#: gajim/gui_interface.py:769 +#, python-format +msgid "%(filename)s received from %(name)s." +msgstr "%(filename)s reçu de %(name)s." + +#: gajim/gui_interface.py:774 +#, python-format +msgid "File transfer of %(filename)s from %(name)s stopped." +msgstr "" +"Le transfert du fichier %(filename)s de la part de %(name)s est arrêté." + +#: gajim/gui_interface.py:780 +#, python-format +msgid "File transfer of %(filename)s from %(name)s failed." +msgstr "Le transfert du fichier %(filename)s de la part de %(name)s a échoué." + +#: gajim/gui_interface.py:795 +#, python-format +msgid "You successfully sent %(filename)s to %(name)s." +msgstr "Vous avez bien envoyé %(filename)s à %(name)s." + +#: gajim/gui_interface.py:801 +#, python-format +msgid "File transfer of %(filename)s to %(name)s stopped." +msgstr "Le transfert du fichier %(filename)s à %(name)s est arrêté." + +#: gajim/gui_interface.py:807 +#, python-format +msgid "File transfer of %(filename)s to %(name)s failed." +msgstr "Le transfert du fichier %(filename)s à %(name)s a échoué." + +#: gajim/gui_interface.py:919 gajim/gui_interface.py:920 +msgid "Username Conflict" +msgstr "Conflit de nom d'utilisateur" + +#: gajim/gui_interface.py:921 +msgid "Please enter a new username for your local account" +msgstr "Veuillez entrer un nouveau nom d'utilisateur pour votre compte local" + +#: gajim/gui_interface.py:925 gajim/gtk/dialogs.py:51 +#: gajim/data/gui/passphrase_dialog.ui:44 +msgid "_OK" +msgstr "_OK" + +#: gajim/gui_interface.py:988 gajim/chat_control.py:763 +#: gajim/chat_control.py:1660 gajim/gtk/notification.py:190 +msgid "Incoming Call" +msgstr "Appel entrant" + +#: gajim/gui_interface.py:990 +#, python-format +msgid "%s is calling" +msgstr "%s vous appelle" + +#: gajim/gui_interface.py:1071 gajim/gui_interface.py:1072 +msgid "Insecure Connection" +msgstr "Connexion non-sécurisée" + +#: gajim/gui_interface.py:1073 +#, python-format +msgid "" +"You are about to connect to the account %(account)s (%(server)s) using an " +"insecure connection method. This means conversations will not be encrypted. " +"Connecting PLAIN is strongly discouraged." +msgstr "" +"Vous êtes sur le point de vous connecter au compte %(account)s (%(server)s) " +"de façon non-sécurisé. Cela signifie que vos conversations ne seront pas " +"chiffrées. Une connexion non chiffrée est vraiment déconseillée." + +#: gajim/gui_interface.py:1080 gajim/data/gui/groupchat_control.ui:595 +msgid "_Abort" +msgstr "_Abandonner" + +#: gajim/gui_interface.py:1083 +msgid "_Connect Anyway" +msgstr "Se _connexion quand même" + +#: gajim/gui_interface.py:1921 +msgid "Gajim: IPython Console" +msgstr "Gajim : Console IPython" + +#: gajim/gui_interface.py:1998 +msgid "Update Check" +msgstr "Vérification de mise à jour" + +#: gajim/gui_interface.py:1999 +msgid "Gajim Update Check" +msgstr "Vérification de mise à jour pour Gajim" + +#: gajim/gui_interface.py:2000 +msgid "Search for Gajim updates periodically?" +msgstr "Vérifier régulièrement les mises à jour pour Gajim ?" + +#: gajim/gui_interface.py:2005 +msgid "_Search Periodically" +msgstr "_Rechercher régulièrement" + +#: gajim/gui_interface.py:2045 +msgid "Update Available" +msgstr "Mise à jour disponible" + +#: gajim/gui_interface.py:2046 +msgid "Gajim Update Available" +msgstr "Une mise à jour de Gajim est disponible" + +#: gajim/gui_interface.py:2047 +#, python-format +msgid "There is an update available for Gajim (latest version: %s)" +msgstr "Il y a une mise à jour disponible pour Gajim (dernière version : %s)" + +#: gajim/gui_interface.py:2049 +msgid "_Do not show again" +msgstr "_Ne plus montrer" + +#: gajim/gui_interface.py:2051 gajim/gtk/accounts.py:126 +msgid "_Later" +msgstr "Plus _tard" + +#: gajim/gui_interface.py:2054 +msgid "_Update Now" +msgstr "_Mettre à jour maintenant" + +#: gajim/gui_menu_builder.py:358 +msgid "I would like to add you to my contact list" +msgstr "Je souhaiterais vous ajouter à ma liste de contacts" + +#: gajim/gui_menu_builder.py:435 +msgid "Send Single _Message…" +msgstr "Envoyer un _message simple…" + +#: gajim/gui_menu_builder.py:450 +msgid "E_xecute Command…" +msgstr "_Exécuter une commande…" + +#: gajim/gui_menu_builder.py:458 +msgid "_Manage Transport" +msgstr "_Gérer les Passerelles" + +#: gajim/gui_menu_builder.py:464 +msgid "_Modify Transport" +msgstr "_Modifier la Passerelle" + +#: gajim/gui_menu_builder.py:503 gajim/data/gui/contact_context_menu.ui:198 +msgid "_Information" +msgstr "Information" + +#: gajim/gui_menu_builder.py:516 +msgid "Send File" +msgstr "Envoyer un fichier" + +#: gajim/gui_menu_builder.py:517 +msgid "Upload File…" +msgstr "Envoyer un fichier…" + +#: gajim/gui_menu_builder.py:518 +msgid "Send File Directly…" +msgstr "Envoyer un fichier directement…" + +#: gajim/gui_menu_builder.py:520 gajim/gtk/accounts.py:734 +msgid "Send Read Markers" +msgstr "Envoyer les accusés de lecture" + +#: gajim/gui_menu_builder.py:521 gajim/gtk/accounts.py:710 +msgid "Send Chatstate" +msgstr "Envoyer l'état" + +#: gajim/gui_menu_builder.py:522 gajim/data/gui/groupchat_control.ui:307 +msgid "Invite Contacts…" +msgstr "Inviter des contacts…" + +#: gajim/gui_menu_builder.py:523 gajim/gui_menu_builder.py:741 +#: gajim/gui_menu_builder.py:768 gajim/gui_menu_builder.py:807 +msgid "Add to Contact List…" +msgstr "Ajouter à la liste de contacts…" + +#: gajim/gui_menu_builder.py:524 +msgid "Block Contact…" +msgstr "Bloquer le contact…" + +#: gajim/gui_menu_builder.py:525 gajim/data/gui/chat_control.ui:936 +msgid "Start Call…" +msgstr "Démarrer un appel…" + +#: gajim/gui_menu_builder.py:526 gajim/gui_menu_builder.py:576 +#: gajim/gui_menu_builder.py:802 gajim/data/gui/groupchat_control.ui:1334 +msgid "Information" +msgstr "Information" + +#: gajim/gui_menu_builder.py:527 gajim/gui_menu_builder.py:588 +msgid "History" +msgstr "Historique" + +#: gajim/gui_menu_builder.py:533 gajim/gui_menu_builder.py:710 +#: gajim/gtk/preferences.py:671 gajim/gtk/groupchat_settings.py:36 +#: gajim/gtk/accounts.py:682 +msgid "Disabled" +msgstr "Désactivé" + +#: gajim/gui_menu_builder.py:534 gajim/gtk/groupchat_settings.py:37 +#: gajim/gtk/accounts.py:681 +msgid "Composing Only" +msgstr "Seulement en train d’écrire" + +#: gajim/gui_menu_builder.py:535 gajim/gtk/groupchat_settings.py:38 +msgid "All Chat States" +msgstr "Tous les états" + +#: gajim/gui_menu_builder.py:577 +msgid "Settings…" +msgstr "Paramètres…" + +#: gajim/gui_menu_builder.py:578 +msgid "Manage Group Chat" +msgstr "Gérer le salon" + +#: gajim/gui_menu_builder.py:579 +msgid "Rename…" +msgstr "Renommer…" + +#: gajim/gui_menu_builder.py:580 +msgid "Change Subject…" +msgstr "Changer le sujet…" + +#: gajim/gui_menu_builder.py:581 +msgid "Upload Avatar…" +msgstr "Envoyer un avatar…" + +#: gajim/gui_menu_builder.py:582 +msgid "Configure…" +msgstr "Configurer…" + +#: gajim/gui_menu_builder.py:583 +msgid "Destroy…" +msgstr "Détruire…" + +#: gajim/gui_menu_builder.py:585 +msgid "Change Nickname…" +msgstr "Changer de pseudonyme…" + +#: gajim/gui_menu_builder.py:586 +msgid "Request Voice" +msgstr "Demander la parole" + +#: gajim/gui_menu_builder.py:587 gajim/gui_menu_builder.py:825 +msgid "Execute Command…" +msgstr "Exécuter la commande…" + +#: gajim/gui_menu_builder.py:589 +msgid "Leave" +msgstr "Quitter" + +#: gajim/gui_menu_builder.py:631 +msgid "Add Contact…" +msgstr "Ajouter un contact…" + +#: gajim/gui_menu_builder.py:632 gajim/gtk/accounts.py:861 +#: gajim/gtk/accounts.py:899 gajim/gtk/profile.py:53 +msgid "Profile" +msgstr "Profil" + +#: gajim/gui_menu_builder.py:633 +msgid "Send Single Message…" +msgstr "Envoyer un _message simple…" + +#: gajim/gui_menu_builder.py:634 +msgid "Discover Services…" +msgstr "Découvrir des services…" + +#: gajim/gui_menu_builder.py:635 gajim/gtk/server_info.py:47 +msgid "Server Info" +msgstr "Informations du serveur" + +#: gajim/gui_menu_builder.py:636 gajim/gtk/accounts.py:312 +#: gajim/data/gui/preferences.ui:853 +msgid "Advanced" +msgstr "Avancées" + +#: gajim/gui_menu_builder.py:637 gajim/gtk/mam_preferences.py:100 +msgid "Archiving Preferences" +msgstr "Éditer les préférences d’archivage" + +#: gajim/gui_menu_builder.py:638 +msgid "Blocking List" +msgstr "Liste des bannis" + +#: gajim/gui_menu_builder.py:639 +msgid "Bookmarks" +msgstr "Marques-pages" + +#: gajim/gui_menu_builder.py:640 +msgid "PEP Configuration" +msgstr "Configuration PEP" + +#: gajim/gui_menu_builder.py:641 +msgid "Synchronise History…" +msgstr "Synchroniser l’historique…" + +#: gajim/gui_menu_builder.py:643 gajim/gtk/server_info.py:141 +#: gajim/data/gui/groupchat_config.ui:36 +msgid "Admin" +msgstr "Admin" + +#: gajim/gui_menu_builder.py:644 +msgid "Send Server Message…" +msgstr "Envoyer un message au serveur…" + +#: gajim/gui_menu_builder.py:645 +msgid "Set MOTD…" +msgstr "Définir MOTD…" + +#: gajim/gui_menu_builder.py:646 +msgid "Update MOTD…" +msgstr "Mettre à jour MOTD…" + +#: gajim/gui_menu_builder.py:647 +msgid "Delete MOTD…" +msgstr "Supprimer MOTD…" + +#: gajim/gui_menu_builder.py:684 +msgid "_Add Account…" +msgstr "_Ajouter un compte…" + +#: gajim/gui_menu_builder.py:690 +msgid "_Modify Accounts…" +msgstr "_Modifier des comptes…" + +#: gajim/gui_menu_builder.py:700 gajim/data/gui/account_context_menu.ui:79 +#: gajim/data/gui/zeroconf_context_menu.ui:26 +msgid "_Modify Account…" +msgstr "_Modifier le compte…" + +#: gajim/gui_menu_builder.py:704 gajim/gtk/accounts.py:51 +msgid "Accounts" +msgstr "Comptes" + +#: gajim/gui_menu_builder.py:734 gajim/gui_menu_builder.py:739 +msgid "Copy XMPP Address" +msgstr "Copier l’adresse XMPP" + +#: gajim/gui_menu_builder.py:735 gajim/gui_menu_builder.py:767 +msgid "Join Groupchat" +msgstr "Rejoindre un salon de discussion" + +#: gajim/gui_menu_builder.py:740 gajim/gui_menu_builder.py:766 +#: gajim/gtk/start_chat.py:636 +#: gajim/data/gui/subscription_request_window.ui:149 +msgid "Start Chat" +msgstr "Commencer une discussion" + +#: gajim/gui_menu_builder.py:746 +msgid "Copy Link Location" +msgstr "Copier l'adresse du lien" + +#: gajim/gui_menu_builder.py:747 +msgid "Open Link in Browser" +msgstr "Ouvrir le lien dans le navigateur" + +#: gajim/gui_menu_builder.py:752 +msgid "Copy Email Address" +msgstr "Copier l’adresse électronique" + +#: gajim/gui_menu_builder.py:753 gajim/gui_menu_builder.py:765 +msgid "Open Email Composer" +msgstr "Ouvrir le logiciel de courriel" + +#: gajim/gui_menu_builder.py:758 +msgid "Copy Location" +msgstr "Copier la géolocalisation" + +#: gajim/gui_menu_builder.py:759 gajim/gtk/preferences.py:291 +msgid "Show Location" +msgstr "Afficher la géolocalisation" + +#: gajim/gui_menu_builder.py:764 +msgid "Copy XMPP Address/Email" +msgstr "Copier l’adresse XMPP/électronique" + +#: gajim/gui_menu_builder.py:816 +msgid "Invite" +msgstr "Inviter" + +#: gajim/gui_menu_builder.py:832 +msgid "Kick" +msgstr "Éjecter" + +#: gajim/gui_menu_builder.py:840 +msgid "Ban" +msgstr "Bannir" + +#: gajim/gui_menu_builder.py:850 +msgid "Make Owner" +msgstr "Rendre propriétaire" + +#: gajim/gui_menu_builder.py:859 +msgid "Make Admin" +msgstr "Rendre admin" + +#: gajim/gui_menu_builder.py:868 +msgid "Make Member" +msgstr "Rendre membre" + +#: gajim/gui_menu_builder.py:877 +msgid "Revoke Member" +msgstr "Révoquer membre" + +#: gajim/gui_menu_builder.py:887 +msgid "Grant Voice" +msgstr "Accorder la parole" + +#: gajim/gui_menu_builder.py:890 +msgid "Revoke Voice" +msgstr "Révoquer la parole" + +#: gajim/gui_menu_builder.py:910 +msgid "Copy" +msgstr "Copier" + +#: gajim/chat_control.py:346 gajim/groupchat_control.py:348 +msgid "Send File…" +msgstr "Envoyer un fichier…" + +#: gajim/chat_control.py:348 gajim/groupchat_control.py:354 +msgid "No File Transfer available" +msgstr "Pas de transfert de fichier disponible" + +#: gajim/chat_control.py:479 +msgid "Show a list of formattings" +msgstr "Afficher une liste de styles" + +#: gajim/chat_control.py:483 +msgid "This contact does not support HTML" +msgstr "Ce contact ne prend pas en charge le HTML" + +#: gajim/chat_control.py:684 +msgid "Ping?" +msgstr "Ping ?" + +#: gajim/chat_control.py:687 +#, python-format +msgid "Pong! (%s seconds)" +msgstr "Pong ! (%s secondes)" + +#: gajim/chat_control.py:758 +msgid "Calling…" +msgstr "Appel en cours…" + +#: gajim/chat_control.py:783 gajim/chat_control.py:870 +msgid "Connection Error" +msgstr "Erreur de connexion" + +#: gajim/chat_control.py:811 gajim/data/gui/chat_control.ui:1185 +msgid "Turn Camera on" +msgstr "Activer la caméra" + +#: gajim/chat_control.py:822 +msgid "Calling (Video)…" +msgstr "Appel en cours (vidéo)…" + +#: gajim/chat_control.py:826 gajim/chat_control.py:834 +#: gajim/chat_control.py:864 +msgid "Turn Camera off" +msgstr "Désactiver la caméra" + +#: gajim/chat_control.py:832 +msgid "Incoming Call (Video)" +msgstr "Appel entrant (vidéo)" + +#: gajim/chat_control.py:1020 +#, python-format +msgid "%(nickname)s from group chat %(room_name)s" +msgstr "%(nickname)s du salon de discussion %(room_name)s" + +#: gajim/chat_control.py:1257 +msgid "Note: Chat history is disabled for this contact." +msgstr "Note : l'historique de discussion est désactivé pour ce contact." + +#: gajim/chat_control.py:1259 +msgid "Note: Chat history is disabled for this account." +msgstr "Note : l'historique de discussion est désactivé pour ce compte." + +#: gajim/chat_control.py:1260 +#, python-format +msgid "" +"You just received a new message from %s.\n" +"Do you want to close this tab?" +msgstr "" +"Vous venez de recevoir un nouveau message de %s.\n" +"Voulez-vous fermer cet onglet ?" + +#: gajim/chat_control.py:1266 gajim/gtk/remove_account.py:43 +#: gajim/gtk/change_password.py:44 +msgid "Close" +msgstr "Fermer" + +#: gajim/chat_control.py:1267 gajim/gtk/notification.py:184 +#: gajim/gtk/notification.py:204 gajim/gtk/notification.py:218 +#: gajim/gtk/notification.py:271 gajim/common/connection_handlers_events.py:237 +msgid "New Message" +msgstr "Nouveau message" + +#: gajim/chat_control.py:1272 gajim/chat_control.py:1579 +#: gajim/chat_control.py:1588 gajim/message_window.py:371 +#: gajim/data/gui/groupchat_control.ui:1117 +#: gajim/data/gui/groupchat_control.ui:1203 +#: gajim/data/gui/groupchat_control.ui:1308 +#: gajim/data/gui/groupchat_control.ui:1997 +msgid "_Close" +msgstr "_Fermer" + +#: gajim/chat_control.py:1359 +#, python-format +msgid "" +"Subject: %(subject)s\n" +"%(message)s" +msgstr "" +"Sujet : %(subject)s\n" +"%(message)s" + +#: gajim/chat_control.py:1480 +#, python-format +msgid "%(name)s is now %(show)s %(status)s" +msgstr "%(name)s est maintenant %(show)s %(status)s" + +#: gajim/chat_control.py:1545 +msgid "Size" +msgstr "Taille" + +#: gajim/chat_control.py:1547 gajim/chat_control.py:1609 +#: gajim/gtk/groupchat_invitation.py:67 +msgid "_Decline" +msgstr "_Refuser" + +#: gajim/chat_control.py:1550 gajim/chat_control.py:1611 +#: gajim/chat_control.py:1668 gajim/gtk/dialogs.py:59 +msgid "_Accept" +msgstr "_Accepter" + +#: gajim/chat_control.py:1577 gajim/gtk/filetransfer.py:259 +msgid "Open _Folder" +msgstr "Ouvrir le _dossier" + +#: gajim/chat_control.py:1662 +msgid "" +"\n" +"Video Call" +msgstr "" +"\n" +"Visioconférence" + +#: gajim/chat_control.py:1664 +msgid "" +"\n" +"Voice Call" +msgstr "" +"\n" +"Audioconférence" + +#: gajim/chat_control.py:1666 +msgid "_Reject" +msgstr "_Rejeter" + +#: gajim/chat_control.py:1692 gajim/gtk/filetransfer.py:297 +msgid "File transfer stopped" +msgstr "Transfert de fichiers interrompu" + +#: gajim/chat_control.py:1697 gajim/gtk/filetransfer.py:275 +#: gajim/gtk/filetransfer.py:284 +msgid "File transfer cancelled" +msgstr "Transfert de fichiers annulé" + +#: gajim/chat_control.py:1698 +msgid "Connection with peer cannot be established." +msgstr "La connexion avec le contact ne peut être établie." + +#: gajim/chat_control_base.py:141 gajim/gtk/start_chat.py:649 +#: gajim/gtk/groupchat_invite.py:318 +#, python-format +msgid "Account: %s" +msgstr "Compte : %s" + +#: gajim/chat_control_base.py:592 +msgid "and authenticated" +msgstr "et authentifiée" + +#: gajim/chat_control_base.py:596 +msgid "and NOT authenticated" +msgstr "et NON authentifiée" + +#: gajim/chat_control_base.py:600 +#, python-format +msgid "%(type)s encryption is active %(authenticated)s." +msgstr "Chiffrement %(type)s actif %(authenticated)s." + +#: gajim/chat_control_base.py:715 +msgid "_Undo" +msgstr "A_nnuler" + +#: gajim/chat_control_base.py:723 gajim/conversation_textview.py:417 +msgid "_Clear" +msgstr "_Effacer" + +#: gajim/chat_control_base.py:728 +msgid "Paste as quote" +msgstr "Coller en tant que citation" + +#: gajim/chat_control_base.py:767 +msgid "Paste Image" +msgstr "Coller l'image" + +#: gajim/chat_control_base.py:768 +msgid "You are trying to paste an image" +msgstr "Vous essayez de coller une image" + +#: gajim/chat_control_base.py:769 +msgid "" +"Are you sure you want to paste your clipboard's image into the chat window?" +msgstr "" +"Êtes-vous sûr de vouloir coller l'image du presse-papier dans la " +"conversation ?" + +#: gajim/chat_control_base.py:775 +msgid "_Paste" +msgstr "Co_ller" + +#: gajim/chat_control_base.py:1361 gajim/gtk/accounts.py:310 +#: gajim/data/gui/profile.ui:17 gajim/data/gui/profile.ui:318 +msgid "Privacy" +msgstr "Confidentialité" + +#: gajim/chat_control_base.py:1362 +msgid "Warning" +msgstr "Avertissement" + +#: gajim/chat_control_base.py:1363 +#, python-format +msgid "" +"If you send a file to %s, your real XMPP address will be revealed." +msgstr "" +"Si vous envoyez un fichier à %s, votre adresse XMPP sera révélée." + +#: gajim/chat_control_base.py:1368 +msgid "_Continue" +msgstr "_Continuer" + +#: gajim/gajim_remote.py:55 gajim/common/exceptions.py:70 +msgid "D-Bus is not present on this machine or python module is missing" +msgstr "" +"D-Bus n’est pas présent sur cette machine ou le module python est manquant" + +#: gajim/gajim_remote.py:77 +msgid "Shows a help on specific command" +msgstr "Afficher l’aide pour une commande" + +#: gajim/gajim_remote.py:80 +msgid "command" +msgstr "commande" + +#: gajim/gajim_remote.py:81 +msgid "show help on command" +msgstr "montrer l’aide sur la commande" + +#: gajim/gajim_remote.py:85 +msgid "Lists all contacts in the contact list, one for each line" +msgstr "Liste tous les contacts de la liste de contacts, un par ligne" + +#: gajim/gajim_remote.py:87 gajim/gajim_remote.py:102 gajim/gajim_remote.py:112 +#: gajim/gajim_remote.py:122 gajim/gajim_remote.py:133 +#: gajim/gajim_remote.py:142 gajim/gajim_remote.py:163 +#: gajim/gajim_remote.py:171 gajim/gajim_remote.py:180 +#: gajim/gajim_remote.py:187 +msgid "?CLI:account" +msgstr "compte" + +#: gajim/gajim_remote.py:87 +msgid "show only contacts of the given account" +msgstr "montrer seulement les contacts du compte spécifié" + +#: gajim/gajim_remote.py:93 +msgid "Prints a list of registered accounts" +msgstr "Affiche la liste des comptes enregistrés" + +#: gajim/gajim_remote.py:97 +msgid "Changes the status of account(s)" +msgstr "Change l’état du ou des compte(s)" + +#: gajim/gajim_remote.py:100 +msgid "?CLI:status" +msgstr "état" + +#: gajim/gajim_remote.py:100 +msgid "" +"one of: offline, online, chat, away, xa, dnd. If not set, use account's " +"previous status" +msgstr "" +"un parmi : offline, online, chat, away, xa, dnd. Si non défini, utilise le " +"précédant statut du compte" + +#: gajim/gajim_remote.py:101 gajim/gajim_remote.py:121 +#: gajim/gajim_remote.py:132 gajim/gajim_remote.py:141 +msgid "?CLI:message" +msgstr "message" + +#: gajim/gajim_remote.py:101 +msgid "status message" +msgstr "Message d’état" + +#: gajim/gajim_remote.py:102 +msgid "" +"change status of account \"account\". If not specified, try to change status " +"of all accounts that have \"sync with global status\" option set" +msgstr "" +"Change l’état du compte « compte ». Si aucun n’est spécifié, essaie de " +"changer l’état de tous les comptes qui ont l’option « synchroniser avec l’" +"état global » activée" + +#: gajim/gajim_remote.py:108 +msgid "Changes the priority of account(s)" +msgstr "Change la priorité du ou des compte(s)" + +#: gajim/gajim_remote.py:110 +msgid "?CLI:priority" +msgstr "Priorité" + +#: gajim/gajim_remote.py:110 +msgid "priority you want to give to the account" +msgstr "priorité que vous voulez donner au compte" + +#: gajim/gajim_remote.py:112 +msgid "" +"change the priority of the given account. If not specified, change status of " +"all accounts that have \"sync with global status\" option set" +msgstr "" +"Change la priorité du compte spécifié. Si aucun compte n’est spécifié, " +"change la priorité de tous les comptes qui ont l’option « synchroniser avec " +"l'état global » activée" + +#: gajim/gajim_remote.py:118 +msgid "" +"Sends new chat message to a contact in the contact list. Account is optional." +msgstr "" +"Envoie un message à un contact de la liste de contacts. Le compte est " +"facultatif." + +#: gajim/gajim_remote.py:120 gajim/gajim_remote.py:130 +msgid "XMPP Address of the contact that will receive the message" +msgstr "L'adresse XMPP du contact qui recevra le message" + +#: gajim/gajim_remote.py:121 gajim/gajim_remote.py:132 +#: gajim/gajim_remote.py:141 +msgid "message contents" +msgstr "contenu du message" + +#: gajim/gajim_remote.py:122 gajim/gajim_remote.py:133 +#: gajim/gajim_remote.py:142 +msgid "if specified, the message will be sent using this account" +msgstr "Si spécifié, le message sera envoyé en utilisant ce compte" + +#: gajim/gajim_remote.py:127 +msgid "" +"Sends a chat message to someone on your contact list. Account is optional." +msgstr "" +"Envoie un message à quelqu'un de votre liste de contacts. Le compte est " +"optionnel." + +#: gajim/gajim_remote.py:131 +msgid "subject" +msgstr "sujet" + +#: gajim/gajim_remote.py:131 +msgid "message subject" +msgstr "sujet du message" + +#: gajim/gajim_remote.py:138 +msgid "Sends new message to a group chat you've joined." +msgstr "Envoie un nouveau message à un salon que vous avez rejoint." + +#: gajim/gajim_remote.py:140 +msgid "XMPP Address of the group chat that will receive the message" +msgstr "L'adresse XMPP du salon qui recevra le message" + +#: gajim/gajim_remote.py:147 +msgid "Gets detailed info on a contact" +msgstr "Récupère les informations détaillées d'un contact" + +#: gajim/gajim_remote.py:149 gajim/gajim_remote.py:162 +#: gajim/gajim_remote.py:170 +msgid "XMPP Address of the contact" +msgstr "Adresse XMPP du contact" + +#: gajim/gajim_remote.py:153 +msgid "Gets detailed info on a account" +msgstr "Récupère les informations détaillées d'un compte" + +#: gajim/gajim_remote.py:155 +msgid "Name of the account" +msgstr "Nom du compte" + +#: gajim/gajim_remote.py:159 +msgid "Sends file to a contact" +msgstr "Envoyer un fichier à un contact" + +#: gajim/gajim_remote.py:161 +msgid "file" +msgstr "fichier" + +#: gajim/gajim_remote.py:161 +msgid "File path" +msgstr "Chemin du fichier" + +#: gajim/gajim_remote.py:163 +msgid "if specified, file will be sent using this account" +msgstr "si spécifié, le message sera envoyé en utilisant ce compte" + +#: gajim/gajim_remote.py:168 +msgid "Removes contact from contact list" +msgstr "Enlever le contact de la liste" + +#: gajim/gajim_remote.py:171 +msgid "if specified, contact is taken from the contact list of this account" +msgstr "Si spécifié, le contact est pris dans la liste de contacts de ce compte" + +#: gajim/gajim_remote.py:178 +msgid "Returns current status (the global one unless account is specified)" +msgstr "Renvoie l'état actuel (global à moins qu'un compte ne soit spécifié)" + +#: gajim/gajim_remote.py:185 +msgid "" +"Returns current status message (the global one unless account is specified)" +msgstr "" +"Renvoie le message d'état actuel (global à moins qu'un compte ne soit " +"spécifié)" + +#: gajim/gajim_remote.py:192 +msgid "Returns number of unread messages" +msgstr "Renvoie le nombre de messages non-lus" + +#: gajim/gajim_remote.py:197 +msgid "Sends custom XML" +msgstr "Envoie du XML personnalisé" + +#: gajim/gajim_remote.py:199 +msgid "XML to send" +msgstr "XML à envoyer" + +#: gajim/gajim_remote.py:200 +msgid "" +"Account to which the XML will be sent; if not specified, XML will be sent to " +"all accounts" +msgstr "" +"Compte vers lequel le XML sera envoyé ; si non spécifié, le XML sera envoyé " +"à tous les comptes" + +#: gajim/gajim_remote.py:207 +msgid "Check if Gajim is running" +msgstr "Vérifie si Gajim est lancé" + +#: gajim/gajim_remote.py:233 +msgid "Missing argument \"contact_jid\"" +msgstr "Argument manquant \"contact_jid\"" + +#: gajim/gajim_remote.py:253 +#, python-format +msgid "" +"'%s' is not in your contact list.\n" +"Please specify account for sending the message." +msgstr "" +"'%s' n'est pas dans votre liste de contacts.\n" +"Veuillez précisez avec quel compte envoyer le message." + +#: gajim/gajim_remote.py:256 +msgid "You have no active account" +msgstr "Vous n'avez aucun compte actif" + +#: gajim/gajim_remote.py:304 +msgid "It seems Gajim is not running. So you can't use gajim-remote." +msgstr "" +"Il semble que Gajim ne soit pas lancé. Vous ne pouvez donc pas utiliser " +"gajim-remote." + +#: gajim/gajim_remote.py:331 +#, python-format +msgid "" +"Usage: %(basename)s %(command)s %(arguments)s \n" +"\t %(help)s" +msgstr "" +"Utilisation : %(basename)s %(command)s %(arguments)s \n" +"\t %(help)s" + +#: gajim/gajim_remote.py:335 +msgid "Arguments:" +msgstr "Arguments :" + +#: gajim/gajim_remote.py:339 +#, python-format +msgid "%s not found" +msgstr "%s non trouvé" + +#: gajim/gajim_remote.py:345 +#, python-format +msgid "" +"Usage:\n" +" %s command [arguments]\n" +"\n" +"Command is one of:\n" +msgstr "" +"Utilisation :\n" +" %s commande [arguments]\n" +"\n" +"commande est l'une de :\n" + +#: gajim/gajim_remote.py:415 +#, python-format +msgid "" +"Too many arguments. \n" +"Type \"%(basename)s help %(command)s\" for more info" +msgstr "" +"Trop d'arguments.\n" +"Tapez \"%(basename)s help %(command)s\" pour plus d'informations" + +#: gajim/gajim_remote.py:420 +#, python-format +msgid "" +"Argument \"%(arg)s\" is not specified. \n" +"Type \"%(basename)s help %(command)s\" for more info" +msgstr "" +"L'argument \"%(arg)s\" n'est pas précisé.\n" +"Tapez \"%(basename)s help %(command)s\" pour plus d'informations" + +#: gajim/dialogs.py:70 +#, python-format +msgid "Contact name: %s" +msgstr "Nom du contact : %s" + +#: gajim/dialogs.py:72 +#, python-format +msgid "XMPP Address: %s" +msgstr "Adresse XMPP : %s" + +#: gajim/dialogs.py:189 +msgid "Group" +msgstr "Groupe" + +#: gajim/dialogs.py:196 +msgid "In the group" +msgstr "Dans le groupe" + +#: gajim/dialogs.py:211 gajim/gtk/discovery.py:522 +msgid "You are not connected to the server" +msgstr "Vous n’êtes pas connecté au serveur" + +#: gajim/dialogs.py:212 +msgid "Without a connection, you can not synchronise your contacts." +msgstr "Sans connexion, vous ne pouvez pas synchroniser vos contacts." + +#: gajim/dialogs.py:223 gajim/dialogs.py:294 +#: gajim/gtk/roster_item_exchange.py:83 gajim/gtk/discovery.py:826 +#: gajim/gtk/discovery.py:1650 gajim/gtk/discovery.py:1896 +#: gajim/gtk/history.py:99 gajim/gtk/vcard_grid.py:34 +#: gajim/data/gui/bookmarks.ui:66 +msgid "Name" +msgstr "Nom" + +#: gajim/dialogs.py:226 gajim/data/gui/preferences.ui:604 +#: gajim/data/gui/server_info.ui:146 +msgid "Server" +msgstr "Serveur" + +#: gajim/dialogs.py:262 +msgid "This account is not connected to the server" +msgstr "Ce compte est connecté au serveur" + +#: gajim/dialogs.py:263 +msgid "You cannot synchronize with an account unless it is connected." +msgstr "" +"Vous ne pouvez pas vous synchroniser avec un compte sauf s’il est connecté." + +#: gajim/dialogs.py:292 +msgid "Synchronise" +msgstr "Synchroniser" + +#: gajim/vcard.py:284 +msgid "?Client:Unknown" +msgstr "Inconnu" + +#: gajim/vcard.py:289 +msgid "?OS:Unknown" +msgstr "Inconnu" + +#: gajim/vcard.py:319 gajim/vcard.py:322 +msgid "?Time:Unknown" +msgstr "?Date:Inconnue" + +#: gajim/vcard.py:373 +msgid "?Role in Group Chat:Role:" +msgstr "Rôle :" + +#: gajim/vcard.py:377 +msgid "Affiliation:" +msgstr "Affiliation :" + +#: gajim/vcard.py:384 +msgid "" +"This contact is interested in your presence information, but you are not " +"interested in their presence" +msgstr "" +"Ce contact s’intéresse à votre état, mais vous ne vous intéressez pas au sien" + +#: gajim/vcard.py:386 +msgid "" +"You are interested in the contact's presence information, but it is not " +"mutual" +msgstr "" +"Vous vous intéressez à l’état de ce contact, mais il ne s'intéresse pas au " +"vôtre" + +#: gajim/vcard.py:388 +msgid "The contact and you want to exchange presence information" +msgstr "Vous et ce contact vous intéressez à vos états réciproques" + +#: gajim/vcard.py:390 +msgid "" +"You and the contact have a mutual disinterest in each-others presence " +"information" +msgstr "Vous et ce contact ne vous intéressez pas à vos états réciproques" + +#: gajim/vcard.py:396 +msgid "You are waiting contact's answer about your subscription request" +msgstr "" +"Vous attendez la réponse de ce contact pour votre demande de voir son état" + +#: gajim/vcard.py:398 +msgid "There is no pending subscription request." +msgstr "Il n’y a aucune demande d’inscription en attente." + +#: gajim/vcard.py:403 gajim/vcard.py:453 gajim/vcard.py:549 +msgid " resource with priority " +msgstr " ressource prioritaire " + +#: gajim/conversation_textview.py:65 +msgid "Untrusted" +msgstr "Non approuvé" + +#: gajim/conversation_textview.py:68 +msgid "Trust Not Decided" +msgstr "Confiance non décidée" + +#: gajim/conversation_textview.py:71 +msgid "Unverified" +msgstr "Non vérifié" + +#: gajim/conversation_textview.py:74 +msgid "Verified" +msgstr "_Vérifié" + +#: gajim/conversation_textview.py:225 +msgid "" +"Text below this line is what has been said since the\n" +"last time you paid attention to this group chat" +msgstr "" +"Le texte sous cette règle correspond à ce qui a été dit depuis\n" +"la dernière fois que vous avez consulté ce salon de discussion" + +#: gajim/conversation_textview.py:428 +msgid "_Quote" +msgstr "_Citation" + +#: gajim/conversation_textview.py:436 +#, python-format +msgid "_Actions for \"%s\"" +msgstr "_Actions pour \"%s\"" + +#: gajim/conversation_textview.py:450 +msgid "Read _Wikipedia Article" +msgstr "Lire l'article _Wikipédia" + +#: gajim/conversation_textview.py:455 +msgid "Look it up in _Dictionary" +msgstr "Chercher dans le _Dictionnaire" + +#: gajim/conversation_textview.py:472 +#, python-format +msgid "Dictionary URL is missing an \"%s\" and it is not WIKTIONARY" +msgstr "" +"Il manque un \"%s\" dans l'URL du dictionnaire et ce n'est pas WIKTIONARY" + +#: gajim/conversation_textview.py:486 +#, python-format +msgid "Web Search URL is missing an \"%s\"" +msgstr "Il manque un \"%s\" dans l'URL de recherche sur Internet" + +#: gajim/conversation_textview.py:489 +msgid "Web _Search for it" +msgstr "_Rechercher sur Internet" + +#: gajim/conversation_textview.py:495 +msgid "Open as _Link" +msgstr "Ouvrir en tant que _lien" + +#: gajim/conversation_textview.py:770 +msgid "Invalid URL" +msgstr "URL non valide" + +#: gajim/conversation_textview.py:860 +msgid "" +"Message corrected. Original message:\n" +"{}" +msgstr "" +"Message corrigé. Message original :\n" +"{}" + +#: gajim/conversation_textview.py:1031 +msgid "Not encrypted" +msgstr "Non chiffré" + +#: gajim/conversation_textview.py:1034 +#, python-format +msgid "Encrypted (%s)" +msgstr "Chiffré (%s)" + +#: gajim/conversation_textview.py:1141 gajim/gtk/history.py:618 +#, python-format +msgid "Subject: %s\n" +msgstr "Sujet : %s\n" + +#: gajim/conversation_textview.py:1250 +msgid "Received" +msgstr "Reçu" + +#: gajim/conversation_textview.py:1272 +msgid "?Message state:Read" +msgstr "?Message state:Lu" + +#: gajim/groupchat_control.py:352 +#, python-format +msgid "Send File (max. %s MiB)…" +msgstr "Envoyer le fichier (max. %s MiB)…" + +#: gajim/groupchat_control.py:497 +#, python-format +msgid "%s has been invited to this group chat" +msgstr "%s a été invité dans ce salon" + +#: gajim/groupchat_control.py:512 gajim/dialog_messages.py:31 +#: gajim/dialog_messages.py:36 gajim/gtk/single_message.py:238 +msgid "Invalid XMPP Address" +msgstr "Adresse XMPP invalide" + +#: gajim/groupchat_control.py:575 +msgid "Loading avatar failed" +msgstr "Le chargement d'avatar a échoué" + +#: gajim/groupchat_control.py:595 +#, python-format +msgid "Avatar upload failed: %s" +msgstr "Le téléversement d'avatar a échoué : %s" + +#: gajim/groupchat_control.py:598 +msgid "Avatar upload successful" +msgstr "Téléversement d'avatar réussi" + +#: gajim/groupchat_control.py:616 +#, python-format +msgid "Kick %s" +msgstr "Expulse %s" + +#: gajim/groupchat_control.py:625 +#, python-format +msgid "Ban %s" +msgstr "Bannit %s" + +#: gajim/groupchat_control.py:684 +msgid "Insert Nickname" +msgstr "Insérer un pseudonyme" + +#: gajim/groupchat_control.py:775 gajim/groupchat_control.py:776 +msgid "Voice Request" +msgstr "Demande de la parole" + +#: gajim/groupchat_control.py:777 +#, python-format +msgid "%(nick)s from %(room_name)s requests voice" +msgstr "%(nick)s de %(room_name)s demande la parole" + +#: gajim/groupchat_control.py:781 +msgid "_Approve" +msgstr "_Approuver" + +#: gajim/groupchat_control.py:1007 +#, python-format +msgid "%(nick)s has set the subject to %(subject)s" +msgstr "%(nick)s a changé le sujet en %(subject)s" + +#: gajim/groupchat_control.py:1023 +msgid "Group chat now shows unavailable members" +msgstr "Le salon affiche dorénavant les membres non-disponibles" + +#: gajim/groupchat_control.py:1026 +msgid "Group chat now does not show unavailable members" +msgstr "Le salon n’affiche plus les membres non-disponibles" + +#: gajim/groupchat_control.py:1030 +msgid "A setting not related to privacy has been changed" +msgstr "Un paramètre non lié à la vie privée a été changé" + +#: gajim/groupchat_control.py:1037 gajim/groupchat_control.py:1197 +msgid "Conversations are stored on the server" +msgstr "Les conversations sont archivées sur le serveur" + +#: gajim/groupchat_control.py:1040 +msgid "Conversations are not stored on the server" +msgstr "Les conversations ne sont pas archivées sur le serveur" + +#: gajim/groupchat_control.py:1043 +msgid "Group chat is now non-anonymous" +msgstr "Le salon n’est plus anonyme" + +#: gajim/groupchat_control.py:1047 +msgid "Group chat is now semi-anonymous" +msgstr "Le salon est maintenant semi-anonyme" + +#: gajim/groupchat_control.py:1051 +msgid "Group chat is now fully anonymous" +msgstr "Le salon est maintenant totalement anonyme" + +#: gajim/groupchat_control.py:1101 +#, python-format +msgid "Ping? (%s)" +msgstr "Ping ? (%s)" + +#: gajim/groupchat_control.py:1104 +#, python-format +msgid "Pong! (%(nick)s %(delay)s s.)" +msgstr "Pong ! (%(nick)s %(delay)s s.)" + +#: gajim/groupchat_control.py:1188 +#, python-format +msgid "You (%s) joined the group chat" +msgstr "Vous (%s) avez rejoint le salon de discussion" + +#: gajim/groupchat_control.py:1193 +msgid "Any participant is allowed to see your full XMPP Address" +msgstr "" +"N’importe quel participant est autorisé à voir votre adresse XMPP complète" + +#: gajim/groupchat_control.py:1201 +msgid "The server has assigned or modified your nickname in this group chat" +msgstr "Le serveur à défini ou modifié votre pseudonyme dans ce salon" + +#: gajim/groupchat_control.py:1211 +msgid "A new group chat has been created" +msgstr "Un nouveau salon a été créé" + +#: gajim/groupchat_control.py:1215 +msgid "Failed to Configure Group Chat" +msgstr "Échec de la configuration du salon de discussion" + +#: gajim/groupchat_control.py:1274 gajim/groupchat_control.py:1304 +#: gajim/groupchat_control.py:1332 gajim/groupchat_control.py:1391 +#, python-brace-format +msgid " by {actor}" +msgstr " par {actor}" + +#: gajim/groupchat_control.py:1277 +#, python-brace-format +msgid "** Your Affiliation has been set to {affiliation}{actor}{reason}" +msgstr "** Votre affiliation a été définie à {affiliation} par {actor}{reason}" + +#: gajim/groupchat_control.py:1283 +#, python-brace-format +msgid "** Affiliation of {nick} has been set to {affiliation}{actor}{reason}" +msgstr "" +"** L’affiliation de {nick} a été définie à {affiliation}{actor}{reason}" + +#: gajim/groupchat_control.py:1307 +#, python-brace-format +msgid "** Your Role has been set to {role}{actor}{reason}" +msgstr "** Votre rôle de a été défini à {role}{actor}{reason}" + +#: gajim/groupchat_control.py:1312 +#, python-brace-format +msgid "** Role of {nick} has been set to {role}{actor}{reason}" +msgstr "** Le rôle de {nick} a été défini à {role}{actor}{reason}" + +#: gajim/groupchat_control.py:1335 +#, python-brace-format +msgid "You have been removed from the group chat{actor}{reason}" +msgstr "Vous avez été supprimé du salon{actor}{reason}" + +#: gajim/groupchat_control.py:1340 +#, python-brace-format +msgid "You have left due to an error{reason}" +msgstr "Vous êtes parti à cause d'une erreur{reason}" + +#: gajim/groupchat_control.py:1346 +#, python-brace-format +msgid "You have been kicked{actor}{reason}" +msgstr "Vous avez été éjecté{actor}{reason}" + +#: gajim/groupchat_control.py:1353 +#, python-brace-format +msgid "You have been banned{actor}{reason}" +msgstr "Vous avez été banni{actor}{reason}" + +#: gajim/groupchat_control.py:1360 gajim/groupchat_control.py:1423 +msgid ": Affiliation changed" +msgstr ": Affiliation modifiée" + +#: gajim/groupchat_control.py:1366 gajim/groupchat_control.py:1428 +msgid ": Group chat configuration changed to members-only" +msgstr ": La configuration du salon a changé pour « réservé aux membres »" + +#: gajim/groupchat_control.py:1394 +#, python-brace-format +msgid "{nick} has been removed from the group chat{by}{reason}" +msgstr "{nick} a été supprimé du salon{by}{reason}" + +#: gajim/groupchat_control.py:1402 +#, python-brace-format +msgid "{nick} has left due to an error{reason}" +msgstr "{nick} est parti à cause d’une erreur{reason}" + +#: gajim/groupchat_control.py:1408 +#, python-brace-format +msgid "{nick} has been kicked{actor}{reason}" +msgstr "{nick} a été éjecté{actor}{reason}" + +#: gajim/groupchat_control.py:1416 +#, python-brace-format +msgid "{nick} has been banned{actor}{reason}" +msgstr "{nick} a été banni{actor}{reason}" + +#: gajim/groupchat_control.py:1433 +#, python-brace-format +msgid "{nick} has left{reason}" +msgstr "{nick} est parti{reason}" + +#: gajim/groupchat_control.py:1451 +#, python-format +msgid "%s has joined the group chat" +msgstr "%s a rejoint le salon de discussion" + +#: gajim/groupchat_control.py:1463 +msgid "Failed to Join Group Chat" +msgstr "Impossible de rejoindre le salon de discussion" + +#: gajim/groupchat_control.py:1469 +msgid "Failed to Create Group Chat" +msgstr "Échec de la création du salon de discussion" + +#: gajim/groupchat_control.py:1485 +msgid "Group chat has been destroyed" +msgstr "Le salon de discussion a été détruit" + +#: gajim/groupchat_control.py:1490 +#, python-format +msgid "You can join this group chat instead: xmpp:%s?join" +msgstr "Vous pouvez rejoindre le salon xmpp:%s?join à la place" + +#: gajim/groupchat_control.py:1672 +msgid "Leave Group Chat" +msgstr "Quitter le salon de discussion" + +#: gajim/groupchat_control.py:1673 +msgid "Are you sure you want to leave this group chat?" +msgstr "Êtes-vous sûr de vouloir quitter le salon ?" + +#: gajim/groupchat_control.py:1674 +#, python-format +msgid "If you close this window, you will leave '%s'." +msgstr "Si vous fermez cette fenêtre, vous quitterez '%s'." + +#: gajim/message_window.py:365 +msgid "Close Tabs" +msgstr "Fermer les onglets" + +#: gajim/message_window.py:366 +msgid "You are about to close several tabs" +msgstr "Vous êtes sur le point de fermer plusieurs onglets" + +#: gajim/message_window.py:367 +msgid "Do you really want to close all of them?" +msgstr "Voulez-vous vraiment tous les fermer ?" + +#: gajim/message_window.py:526 +msgid "?Noun:Chats" +msgstr "Discussions" + +#: gajim/message_window.py:530 gajim/data/gui/preferences.ui:155 +msgid "Group Chats" +msgstr "Salons de discussion" + +#: gajim/message_window.py:534 +msgid "Private Chats" +msgstr "Conversations privées" + +#: gajim/message_window.py:540 +msgid "Messages" +msgstr "Messages" + +#: gajim/dialog_messages.py:37 +#, python-format +msgid "" +"It is not possible to send a message to %s. This XMPP Address is not valid." +msgstr "" +"Il n'est pas possible d'envoyer un message à %s. Cette adresse XMPP n'est " +"pas valide." + +#: gajim/dialog_messages.py:42 +msgid "Unread Events" +msgstr "Événements non lus" + +#: gajim/dialog_messages.py:43 +msgid "Read or acknowledge all pending events before removing this account." +msgstr "Lisez ou acquittez tous les événements avant de supprimer ce compte." + +#: gajim/dialog_messages.py:48 +msgid "Invalid Form" +msgstr "Formulaire invalide" + +#: gajim/dialog_messages.py:49 +msgid "The form is not filled correctly." +msgstr "Le formulaire n'est pas rempli correctement." + +#: gajim/dialog_messages.py:53 +msgid "No Connection Available" +msgstr "Aucune connexion disponible" + +#: gajim/dialog_messages.py:54 +msgid "Your message can not be sent until you are connected." +msgstr "" +"Votre message ne peut pas être envoyé tant que vous n'êtes pas connecté." + +#: gajim/dialog_messages.py:58 +msgid "XMPP Address Already in List" +msgstr "Adresse XMPP déjà dans la liste" + +#: gajim/dialog_messages.py:59 +msgid "" +"The XMPP Address you entered is already in the list. Please choose another " +"one." +msgstr "" +"L'adresse XMPP que vous avez entrée est déjà dans la liste. Veuillez en " +"choisir une autre." + +#: gajim/dialog_messages.py:64 +msgid "Invalid Answer" +msgstr "Réponse non valide" + +#: gajim/dialog_messages.py:65 +#, python-format +msgid "Transport %(name)s answered wrongly to register request: %(error)s" +msgstr "" +"La passerelle %(name)s a mal répondu à la requête d'enregistrement : " +"%(error)s" + +#: gajim/dialog_messages.py:70 +msgid "Wrong Custom Hostname" +msgstr "Nom d'hôte personnalisé invalide" + +#: gajim/dialog_messages.py:71 +#, python-format +msgid "Custom hostname \"%s\" is wrong. It will be ignored." +msgstr "Nom d'hôte personnalisé \"%s\" invalide. Il sera ignoré." + +#: gajim/dialog_messages.py:75 +msgid "Registration Succeeded" +msgstr "L'inscription a réussi" + +#: gajim/dialog_messages.py:76 +#, python-format +msgid "Registration with agent %s succeeded." +msgstr "Enregistrement avec l'agent %s réussi." + +#: gajim/dialog_messages.py:80 +msgid "Registration Failed" +msgstr "L'inscription a échoué" + +#: gajim/dialog_messages.py:81 +#, python-format +msgid "" +"Registration with agent %(agent)s failed with error %(error)s: %(error_msg)s" +msgstr "" +"L'enregistrement avec l'agent %(agent)s a échoué avec l'erreur %(error)s : " +"%(error_msg)s" + +#: gajim/dialog_messages.py:86 +msgid "GStreamer Error" +msgstr "Erreur GStreamer" + +#: gajim/dialog_messages.py:87 +#, python-format +msgid "" +"Error: %(error)s\n" +"Debug: %(debug)s" +msgstr "" +"Message d'erreur : %(error)s\n" +"Debug : %(debug)s" + +#: gajim/dialog_messages.py:91 +msgid "Wrong Host" +msgstr "Mauvais serveur" + +#: gajim/dialog_messages.py:92 +msgid "Invalid local address? :-O" +msgstr "Adresse locale non valide ? :-O" + +#: gajim/dialog_messages.py:96 +msgid "Avahi Error" +msgstr "Erreur d'Avahi" + +#: gajim/dialog_messages.py:97 +#, python-format +msgid "" +"%s\n" +"Link-local messaging might not work properly." +msgstr "" +"%s\n" +"La messagerie en « link-local » pourrait ne pas fonctionner correctement." + +#: gajim/dialog_messages.py:101 +msgid "Could not Open File" +msgstr "Impossible d’ouvrir le fichier" + +#: gajim/command_system/mapping.py:169 gajim/command_system/mapping.py:179 +#: gajim/command_system/mapping.py:199 +msgid "Missing arguments" +msgstr "Paramètres manquants" + +#: gajim/command_system/mapping.py:266 +msgid "Too many arguments" +msgstr "Trop de paramètres" + +#: gajim/command_system/implementation/middleware.py:76 +msgid "Error during command execution!" +msgstr "Erreur lors de l’exécution de la commande !" + +#: gajim/command_system/implementation/execute.py:60 +msgid "Execute expression inside a shell, show output" +msgstr "Exécute une expression dans un shell, montre la sortie" + +#: gajim/command_system/implementation/execute.py:74 +msgid "" +"Command disabled. This command can be enabled by setting " +"'command_system_execute' to True in ACE (Advanced Configuration Editor)." +msgstr "" +"Commande désactivée. Cette commande peut être activée en configurant le " +"paramètre \"command_system_execute\" à \"True\" dans l'éditeur de " +"configuration avancée (ACE, Advanced Configuration Editor)." + +#: gajim/command_system/implementation/execute.py:125 +msgid "Execute expression inside a shell, send output" +msgstr "Exécute une expression dans un shell, envoie la sortie" + +#: gajim/command_system/implementation/standard.py:52 +msgid "" +"Show help on a given command or a list of available commands if -a is given" +msgstr "" +"Affiche l'aide concernant une commande ou une liste de commandes si -a est " +"ajouté" + +#: gajim/command_system/implementation/standard.py:81 +msgid "Send a message to the contact" +msgstr "Envoie un message a un contact" + +#: gajim/command_system/implementation/standard.py:86 +msgid "Send action (in the third person) to the current chat" +msgstr "Envoie une action (à la troisième personne) à la conversation actuelle" + +#: gajim/command_system/implementation/standard.py:91 +msgid "Show logged messages which mention given text" +msgstr "Montre les messages enregistrés qui mentionnent le texte donné" + +#: gajim/command_system/implementation/standard.py:96 +#, python-format +msgid "%s: Nothing found" +msgstr "%s : aucun résultat" + +#: gajim/command_system/implementation/standard.py:102 +msgid "Limit must be an integer" +msgstr "La limite doit être un entier" + +#: gajim/command_system/implementation/standard.py:127 +msgid "" +"\n" +" Set the current status\n" +"\n" +" Status can be given as one of the following values:\n" +" online, away, chat, xa, dnd.\n" +" " +msgstr "" +"\n" +" Définit l'état actuel\n" +"\n" +" L'état doit être l'une des valeurs suivantes :\n" +" en-ligne (online), absent (away), discute (chat), xa, ne pas déranger " +"(dnd).\n" +" " + +#: gajim/command_system/implementation/standard.py:145 +msgid "Set the current status to away" +msgstr "Définit l'état actuel à \"Absent\"" + +#: gajim/command_system/implementation/standard.py:148 +#: gajim/common/helpers.py:200 gajim/common/modules/adhoc_commands.py:122 +msgid "Away" +msgstr "Absent⋅e" + +#: gajim/command_system/implementation/standard.py:159 +msgid "Set the current status to online" +msgstr "Définit l'état actuel à \"En ligne\"" + +#: gajim/command_system/implementation/standard.py:162 +msgid "Available" +msgstr "Disponible" + +#: gajim/command_system/implementation/standard.py:173 +msgid "Send a disco info request" +msgstr "Envoyer une requête \"disco info\"" + +#: gajim/command_system/implementation/standard.py:192 +#: gajim/command_system/implementation/standard.py:273 +msgid "Clear the text window" +msgstr "Vider la fenêtre de conversation" + +#: gajim/command_system/implementation/standard.py:197 +#: gajim/command_system/implementation/standard.py:425 +msgid "Send a ping to the contact" +msgstr "Envoie un ping au contact" + +#: gajim/command_system/implementation/standard.py:201 +#: gajim/command_system/implementation/standard.py:429 +msgid "Command is not supported for zeroconf accounts" +msgstr "Commande non prise en charge pour les comptes zeroconf" + +#: gajim/command_system/implementation/standard.py:205 +msgid "Send DTMF sequence through an open voice chat" +msgstr "Envoie une séquence DTMF dans une session audio ouverte" + +#: gajim/command_system/implementation/standard.py:208 +msgid "No open voice chats with the contact" +msgstr "Pas de session audio ouverte avec le contact" + +#: gajim/command_system/implementation/standard.py:211 +#, python-format +msgid "%s is not a valid tone" +msgstr "%s n'est pas un ton valide" + +#: gajim/command_system/implementation/standard.py:218 +msgid "Toggle Voice Chat" +msgstr "Activer/désactiver la discussion audio" + +#: gajim/command_system/implementation/standard.py:221 +msgid "Voice chats are not available" +msgstr "Les sessions vidéo ne sont pas disponibles" + +#: gajim/command_system/implementation/standard.py:228 +msgid "Toggle Video Chat" +msgstr "Démarrer/arrêter la discussion vidéo" + +#: gajim/command_system/implementation/standard.py:231 +msgid "Video chats are not available" +msgstr "Les sessions vidéo ne sont pas disponibles" + +#: gajim/command_system/implementation/standard.py:238 +msgid "Send a message to the contact that will attract their attention" +msgstr "Envoie un message à ce contact qui attirera son attention" + +#: gajim/command_system/implementation/standard.py:278 +msgid "Change your nickname in a group chat" +msgstr "Changer votre pseudonyme dans un salon de discussion" + +#: gajim/command_system/implementation/standard.py:283 +msgid "Invalid nickname" +msgstr "Pseudonyme invalide" + +#: gajim/command_system/implementation/standard.py:290 +msgid "Open a private chat window with a specified participant" +msgstr "Ouvrir une fenêtre de conversation privée avec le participant spécifié" + +#: gajim/command_system/implementation/standard.py:296 +#: gajim/command_system/implementation/standard.py:306 +#: gajim/command_system/implementation/standard.py:360 +#: gajim/command_system/implementation/standard.py:373 +#: gajim/command_system/implementation/standard.py:385 +msgid "Nickname not found" +msgstr "Pseudonyme introuvable" + +#: gajim/command_system/implementation/standard.py:299 +msgid "" +"Open a private chat window with a specified participant and send him a " +"message" +msgstr "" +"Ouvrir une fenêtre de conversation privée avec le participant spécifié et " +"lui envoyer un message" + +#: gajim/command_system/implementation/standard.py:309 +msgid "Display or change a group chat topic" +msgstr "Affiche ou modifie le sujet d'un salon de discussion" + +#: gajim/command_system/implementation/standard.py:318 +msgid "Invite a user to a group chat for a reason" +msgstr "Inviter un contact dans un salon de discussion pour un motif donné" + +#: gajim/command_system/implementation/standard.py:325 +msgid "Join a group chat given by an XMPP Address" +msgstr "Rejoindre un salon de discussion en donnant son adresse XMPP" + +#: gajim/command_system/implementation/standard.py:335 +msgid "" +"Leave the group chat, optionally giving a reason, and close tab or window" +msgstr "" +"Quitte le salon de discussion, éventuellement en donnant une raison et ferme " +"l’onglet ou la fenêtre" + +#: gajim/command_system/implementation/standard.py:341 +msgid "" +"\n" +" Ban user by a nick or a JID from a groupchat\n" +"\n" +" If given nickname is not found it will be treated as a JID.\n" +" " +msgstr "" +"\n" +" Bannir un utilisateur par son pseudo ou son JID d'un salon de " +"discussion\n" +"\n" +" Si le pseudonyme donné n'existe pas, il sera traité comme un JID.\n" +" " + +#: gajim/command_system/implementation/standard.py:357 +msgid "Kick user from group chat by nickname" +msgstr "Éjecter un utilisateur par son pseudonyme d'un salon de discussion" + +#: gajim/command_system/implementation/standard.py:366 +msgid "" +"Set participant role in group chat.\n" +" Role can be given as one of the following values:\n" +" moderator, participant, visitor, none" +msgstr "" +"Affecte un rôle à un occupant d'un salon de discussion.\n" +" Le rôle peut prendre l'une des valeurs suivantes :\n" +" moderator, participant, visitor, none" + +#: gajim/command_system/implementation/standard.py:371 +msgid "Invalid role given" +msgstr "Rôle non valide fourni" + +#: gajim/command_system/implementation/standard.py:378 +msgid "" +"Set participant affiliation in group chat.\n" +" Affiliation can be given as one of the following values:\n" +" owner, admin, member, outcast, none" +msgstr "" +"Spécifie une affiliation pour un occupant d'un salon de discussion.\n" +" L'affiliation peut prendre l'une des valeurs suivantes :\n" +" owner, admin, member, outcast, none" + +#: gajim/command_system/implementation/standard.py:383 +msgid "Invalid affiliation given" +msgstr "Affiliation non valide fournie" + +#: gajim/command_system/implementation/standard.py:393 +msgid "Display names of all group chat participants" +msgstr "Afficher les noms les tous les participants du salon" + +#: gajim/command_system/implementation/standard.py:415 +msgid "Forbid a participant to send you public or private messages" +msgstr "Interdire à un occupant de vous envoyer des messages publics ou privés" + +#: gajim/command_system/implementation/standard.py:420 +msgid "Allow a participant to send you public or private messages" +msgstr "Autoriser un occupant à vous envoyer des messages publics ou privés" + +#: gajim/command_system/implementation/standard.py:432 +msgid "Unknown nickname" +msgstr "Pseudonyme inconnu" + +#: gajim/command_system/implementation/custom.py:114 +msgid "The same as using a doc-string, except it supports translation" +msgstr "Identique à utiliser une doc-string, mais supporte la traduction" + +#: gajim/gtk/ssl_error_dialog.py:36 gajim/data/gui/ssl_error_dialog.ui:16 +msgid "SSL Certificate Verification Error" +msgstr "Erreur de validation de certificat SSL" + +#: gajim/gtk/ssl_error_dialog.py:55 +#, python-format +msgid "" +"There was an error while attempting to verify the SSL certificate of your " +"XMPP server (%s)." +msgstr "" +"Une erreur est survenue lors de la validation du certificat SSL de votre " +"serveur XMPP (%s)." + +#: gajim/gtk/ssl_error_dialog.py:58 +#, python-format +msgid "Unknown SSL error '%s'" +msgstr "Erreur SSL inconnue '%s'" + +#: gajim/gtk/avatar_selector.py:84 +msgid "Select a picture or drop it here" +msgstr "Sélectionnez une image ou déposez-là ici" + +#: gajim/gtk/status_change.py:62 gajim/gtk/preferences.py:627 +#: gajim/gtk/preferences.py:655 +msgid "Status Message" +msgstr "Message d’état" + +#: gajim/gtk/status_change.py:330 +msgid "No activity" +msgstr "Aucune activité" + +#: gajim/gtk/status_change.py:370 gajim/gtk/status_change.py:383 +#: gajim/gtk/status_change.py:488 +msgid "No mood selected" +msgstr "Aucune humeur sélectionnée" + +#: gajim/gtk/status_change.py:382 +msgid "No mood" +msgstr "Aucune humeur" + +#: gajim/gtk/status_change.py:439 +msgid "Overwrite" +msgstr "Remplacer" + +#: gajim/gtk/status_change.py:440 +msgid "Overwrite Status Message?" +msgstr "Remplacer le message de statut ?" + +#: gajim/gtk/status_change.py:441 +msgid "This name is already in use. Do you want to overwrite this preset?" +msgstr "" +"Ce nom pré-enregistré est déjà utilisé. Voulez vous remplacer cet " +"enregistrement ?" + +#: gajim/gtk/status_change.py:445 gajim/plugins/gui.py:292 +msgid "_Overwrite" +msgstr "É_craser" + +#: gajim/gtk/status_change.py:453 +msgid "Status Preset" +msgstr "État prédéfini" + +#: gajim/gtk/status_change.py:454 +msgid "Save status as preset" +msgstr "Enregistrer comme messages d'état prédéfini" + +#: gajim/gtk/status_change.py:455 +msgid "Please assign a name to this status message preset" +msgstr "Attribuez un nom à ce message d’état prédéfini" + +#: gajim/gtk/status_change.py:458 gajim/data/gui/profile.ui:336 +msgid "_Save" +msgstr "_Enregistrer" + +#: gajim/gtk/status_change.py:460 +msgid "New Status" +msgstr "Nouvel état" + +#: gajim/gtk/advanced_config.py:46 gajim/gtk/advanced_config.py:144 +msgid "Activated" +msgstr "Activé" + +#: gajim/gtk/advanced_config.py:47 +msgid "Deactivated" +msgstr "Désactivé" + +#: gajim/gtk/advanced_config.py:52 +msgid "?config type:Boolean" +msgstr "Booléen" + +#: gajim/gtk/advanced_config.py:53 +msgid "?config type:Integer" +msgstr "Nombre entier" + +#: gajim/gtk/advanced_config.py:54 +msgid "?config type:Text" +msgstr "Texte" + +#: gajim/gtk/advanced_config.py:65 +msgid "Advanced Configuration Editor (ACE)" +msgstr "Éditeur de configuration avancé (ACE, Advanced Configuration Editor)" + +#: gajim/gtk/advanced_config.py:80 +msgid "?config:Preference Name" +msgstr "Nom de la préférence" + +#: gajim/gtk/advanced_config.py:91 +msgid "?config:Value" +msgstr "Valeur" + +#: gajim/gtk/advanced_config.py:100 +msgid "?config:Type" +msgstr "Type" + +#: gajim/gtk/advanced_config.py:133 +msgid "?config description:None" +msgstr "Aucune" + +#: gajim/gtk/preferences.py:63 gajim/data/gui/shortcuts_window.ui:31 +msgid "Preferences" +msgstr "Préférences" + +#: gajim/gtk/preferences.py:185 +msgid "Detached contact list with detached chats" +msgstr "Liste des contacts détachée avec conversations détachées" + +#: gajim/gtk/preferences.py:186 +msgid "Detached contact list with single chat" +msgstr "Liste des contacts détachée avec conversations groupées" + +#: gajim/gtk/preferences.py:187 +msgid "Single window for everything" +msgstr "Une seule fenêtre pour tout" + +#: gajim/gtk/preferences.py:188 +msgid "Detached contact list with chats grouped by account" +msgstr "Liste de contacts détachée avec discussions groupées par compte" + +#: gajim/gtk/preferences.py:189 +msgid "Detached contact list with chats grouped by type" +msgstr "Liste de contacts détachée avec discussions groupées par type" + +#: gajim/gtk/preferences.py:193 gajim/data/gui/mam_preferences.ui:14 +msgid "Always" +msgstr "Toujours" + +#: gajim/gtk/preferences.py:194 gajim/data/gui/mam_preferences.ui:22 +msgid "Never" +msgstr "Jamais" + +#: gajim/gtk/preferences.py:195 +msgid "Restore last state" +msgstr "Rétablir le dernier état" + +#: gajim/gtk/preferences.py:199 +msgid "Top" +msgstr "Haut" + +#: gajim/gtk/preferences.py:200 +msgid "Bottom" +msgstr "Bas" + +#: gajim/gtk/preferences.py:201 +msgid "Left" +msgstr "Gauche" + +#: gajim/gtk/preferences.py:202 +msgid "Right" +msgstr "Droite" + +#: gajim/gtk/preferences.py:207 +msgid "Window Layout" +msgstr "Agencement de la fenêtre" + +#: gajim/gtk/preferences.py:214 +msgid "Contact List on Startup" +msgstr "Liste de contacts au démarrage" + +#: gajim/gtk/preferences.py:218 +msgid "Show contact list when starting Gajim" +msgstr "Montrer la liste de contacts lorsque Gajim démarre" + +#: gajim/gtk/preferences.py:221 +msgid "Quit on Close" +msgstr "Quitter à la fermeture" + +#: gajim/gtk/preferences.py:224 +msgid "Quit when closing contact list" +msgstr "Quitter lorsque la fenêtre de la liste de contacts est fermée" + +#: gajim/gtk/preferences.py:227 +msgid "Tab Position" +msgstr "Emplacement des onglets" + +#: gajim/gtk/preferences.py:231 +msgid "Placement of chat window tabs" +msgstr "Emplacement des onglets de discussion" + +#: gajim/gtk/preferences.py:247 +msgid "Merge Accounts" +msgstr "Fusionner les comptes" + +#: gajim/gtk/preferences.py:253 +msgid "Enable Metacontacts" +msgstr "Activer les méta-contacts" + +#: gajim/gtk/preferences.py:258 +msgid "Show Avatars" +msgstr "Afficher les avatars" + +#: gajim/gtk/preferences.py:264 gajim/gtk/preferences.py:353 +msgid "Show Status Message" +msgstr "Afficher le message d’état" + +#: gajim/gtk/preferences.py:270 gajim/gtk/preferences.py:411 +msgid "Sort Contacts by Status" +msgstr "Trier les contacts par état" + +#: gajim/gtk/preferences.py:276 +msgid "Show Mood" +msgstr "Afficher l’humeur" + +#: gajim/gtk/preferences.py:281 +msgid "Show Activity" +msgstr "Afficher l'activité" + +#: gajim/gtk/preferences.py:286 +msgid "Show Tune" +msgstr "Afficher le morceau écouté" + +#: gajim/gtk/preferences.py:323 +msgid "Needs gspell to be installed" +msgstr "Nécessite d'installer gspell" + +#: gajim/gtk/preferences.py:327 +msgid "Spell Checking" +msgstr "Vérification d'orthographe" + +#: gajim/gtk/preferences.py:335 +msgid "Message Receipts (✔)" +msgstr "Accusés de réception (✔)" + +#: gajim/gtk/preferences.py:338 +msgid "Add a checkmark to received messages" +msgstr "Ajouter une coche aux messages reçus" + +#: gajim/gtk/preferences.py:341 +msgid "XHTML Formatting" +msgstr "Formatage XHTML" + +#: gajim/gtk/preferences.py:344 +msgid "Render XHTML styles (colors, etc.) of incoming messages" +msgstr "Appliquer les styles XHTML (couleurs, etc.) des messages entrants" + +#: gajim/gtk/preferences.py:348 +msgid "Show Send Message Button" +msgstr "Afficher le bouton \"Envoyer\"" + +#: gajim/gtk/preferences.py:358 +msgid "Show Chat State In Tabs" +msgstr "Afficher l'état dans les onglets" + +#: gajim/gtk/preferences.py:361 +msgid "Show the contact’s chat state (e.g. typing) in the chat’s tab" +msgstr "" +"Afficher l'état du contact (ex. \"en train d'écrire\") dans l'onglet de la " +"discussion" + +#: gajim/gtk/preferences.py:365 +msgid "Show Chat State In Banner" +msgstr "Afficher l'état dans la bannière" + +#: gajim/gtk/preferences.py:368 +msgid "Show the contact’s chat state (e.g. typing) in the chats tab’s banner" +msgstr "" +"Afficher l'état du contact (ex. \"en train d'écrire\") dans la bannière de " +"la discussion" + +#: gajim/gtk/preferences.py:372 +msgid "Display Chat State In Contact List" +msgstr "Afficher l'état dans la liste de contacts" + +#: gajim/gtk/preferences.py:375 +msgid "Show the contact’s chat state (e.g. typing) in the contact list" +msgstr "" +"Afficher l'état du contact (ex. \"en train d'écrire\") dans la liste de " +"contacts" + +#: gajim/gtk/preferences.py:406 +msgid "Show Subject" +msgstr "Afficher le sujet" + +#: gajim/gtk/preferences.py:417 +msgid "Default Sync Threshold" +msgstr "Seuil de synchronisation par défaut" + +#: gajim/gtk/preferences.py:420 +msgid "Default for new public group chats" +msgstr "Valeur par défaut pour les nouveaux salons de discussion publics" + +#: gajim/gtk/preferences.py:424 +msgid "Show Joined / Left" +msgstr "Afficher connecté/parti" + +#: gajim/gtk/preferences.py:427 gajim/gtk/preferences.py:438 +msgid "Default for new group chats" +msgstr "Valeur par défaut pour les nouveaux salons de discussion" + +#: gajim/gtk/preferences.py:428 gajim/gtk/preferences.py:439 +#: gajim/gtk/accounts.py:715 gajim/gtk/accounts.py:727 +#: gajim/gtk/accounts.py:740 +msgid "Reset" +msgstr "Rétablir" + +#: gajim/gtk/preferences.py:429 gajim/gtk/preferences.py:440 +#: gajim/gtk/accounts.py:728 +msgid "Reset all group chats to the current default value" +msgstr "Rétablir tous les salons à la valeur par défaut actuelle" + +#: gajim/gtk/preferences.py:435 gajim/gtk/groupchat_settings.py:48 +msgid "Show Status Changes" +msgstr "Afficher les changements d’état" + +#: gajim/gtk/preferences.py:468 +msgid "Hide icon" +msgstr "Masquer l'icône" + +#: gajim/gtk/preferences.py:469 +msgid "Only show for pending events" +msgstr "Afficher uniquement pour les évènements en attente" + +#: gajim/gtk/preferences.py:470 +msgid "Always show icon" +msgstr "Toujours afficher l'icône" + +#: gajim/gtk/preferences.py:475 +msgid "Notification Area Icon" +msgstr "Icône de la zone de notification" + +#: gajim/gtk/preferences.py:482 +msgid "Open Events" +msgstr "Ouvrir les évènements" + +#: gajim/gtk/preferences.py:485 +msgid "Open events instead of showing a notification in the contact list" +msgstr "" +"Ouvrir les évènements plutôt que d'afficher une notification dans la liste " +"de contacts" + +#: gajim/gtk/preferences.py:489 gajim/gtk/preferences.py:512 +msgid "Show Notifications" +msgstr "Afficher les notifications" + +#: gajim/gtk/preferences.py:517 +msgid "Notifications When Away" +msgstr "Notifications en cas d'absence" + +#: gajim/gtk/preferences.py:520 +msgid "Show notifications even if you are Away, Busy, etc." +msgstr "Afficher les notifications même lorsque vous êtes absent, occupé, etc." + +#: gajim/gtk/preferences.py:525 gajim/data/gui/preferences.ui:271 +msgid "Notifications" +msgstr "Notifications" + +#: gajim/gtk/preferences.py:534 +msgid "Play Sounds" +msgstr "Jouer les sons" + +#: gajim/gtk/preferences.py:537 +msgid "Play sounds to notify about events" +msgstr "Jouer des sons pour notifier des évènements" + +#: gajim/gtk/preferences.py:542 +msgid "Sounds When Away" +msgstr "Sons en cas d'absence" + +#: gajim/gtk/preferences.py:545 +msgid "Play sounds even when you are Away, Busy, etc." +msgstr "Jouer les sons quand vous êtes absent, occupé, etc." + +#: gajim/gtk/preferences.py:560 +msgid "Sign In" +msgstr "À la connexion" + +#: gajim/gtk/preferences.py:565 +msgid "Sign Out" +msgstr "À la déconnexion" + +#: gajim/gtk/preferences.py:570 +msgid "Status Change" +msgstr "Lors d'un changement d’état" + +#: gajim/gtk/preferences.py:583 gajim/gtk/preferences.py:614 +msgid "Auto Away" +msgstr "Absence automatique" + +#: gajim/gtk/preferences.py:585 +msgid "Change your status to 'Away' after a certain amount of time" +msgstr "Changer votre état à \"Absent\" après un certain temps" + +#: gajim/gtk/preferences.py:590 gajim/gtk/preferences.py:642 +msgid "Auto Not Available" +msgstr "Non disponible automatique" + +#: gajim/gtk/preferences.py:592 +msgid "Change your status to 'Not Available' after a certain amount of time" +msgstr "Changer votre état à \"Non disponible\" après un certain temps" + +#: gajim/gtk/preferences.py:619 +msgid "Time Until Away" +msgstr "Délai avant absence" + +#: gajim/gtk/preferences.py:622 gajim/gtk/preferences.py:650 +msgid "Minutes until your status gets changed" +msgstr "Nombre de minutes pour que votre état soit changé" + +#: gajim/gtk/preferences.py:633 gajim/gtk/preferences.py:828 +msgid "Auto Away Settings" +msgstr "Paramètres d'absence automatique" + +#: gajim/gtk/preferences.py:647 +msgid "Time Until Not Available" +msgstr "Délai avant Non disponible" + +#: gajim/gtk/preferences.py:661 +msgid "Auto Extended Away Settings" +msgstr "Paramètres d'absence prolongée automatique" + +#: gajim/gtk/preferences.py:672 gajim/gtk/accounts.py:680 +msgid "Enabled" +msgstr "Activé" + +#: gajim/gtk/preferences.py:673 gajim/data/gui/vcard_information_window.ui:123 +msgid "System" +msgstr "Système" + +#: gajim/gtk/preferences.py:678 +msgid "Dark Theme" +msgstr "Thème foncé" + +#: gajim/gtk/preferences.py:685 +msgid "Theme" +msgstr "Thème" + +#: gajim/gtk/preferences.py:731 +msgid "Convert ASCII Emojis" +msgstr "Convertir les émojis ASCII" + +#: gajim/gtk/preferences.py:734 +msgid "Typing short codes like :-) will display emojis" +msgstr "Saisir des codes courts comme :-) affichera des émojis" + +#: gajim/gtk/preferences.py:741 +msgid "Emoji Theme" +msgstr "Thème d'émojis" + +#: gajim/gtk/preferences.py:744 +msgid "Choose from various emoji styles" +msgstr "Choisissez parmi divers styles d'émojis" + +#: gajim/gtk/preferences.py:774 +msgid "Status Icon Set" +msgstr "Icônes d'état" + +#: gajim/gtk/preferences.py:781 +msgid "Use Transport Icons" +msgstr "Utiliser les icônes des passerelles" + +#: gajim/gtk/preferences.py:784 +msgid "Display protocol-specific status icons (ICQ, ..)" +msgstr "Afficher les icônes d'état spécifiques des protocoles (ICQ, ...)" + +#: gajim/gtk/preferences.py:801 gajim/gtk/preferences.py:817 +msgid "Use Stun Server" +msgstr "Utiliser un serveur STUN" + +#: gajim/gtk/preferences.py:803 +msgid "Helps to establish calls through firewalls" +msgstr "Aide à passer des appels à travers les pare-feux" + +#: gajim/gtk/preferences.py:822 +msgid "STUN Server" +msgstr "Serveur STUN" + +#: gajim/gtk/preferences.py:848 +msgid "Audio Input Device" +msgstr "Périphérique audio d’entrée" + +#: gajim/gtk/preferences.py:851 +msgid "Select your audio input (e.g. microphone)" +msgstr "Sélectionnez votre source audio (ex : microphone)" + +#: gajim/gtk/preferences.py:855 +msgid "Audio Output Device" +msgstr "Périphérique audio de sortie" + +#: gajim/gtk/preferences.py:858 +msgid "Select an audio output (e.g. speakers, headphones)" +msgstr "" +"Sélectionnez un périphérique de sortie audio (ex : haut-parleurs, écouteurs)" + +#: gajim/gtk/preferences.py:890 gajim/gtk/preferences.py:898 +msgid "Default" +msgstr "Par défaut" + +#: gajim/gtk/preferences.py:906 +msgid "Video Input Device" +msgstr "Périphérique d'entrée vidéo" + +#: gajim/gtk/preferences.py:910 +msgid "Select your video input device (e.g. webcam, screen capture)" +msgstr "" +"Sélectionnez votre périphérique d'entrée vidéo (ex : webcam, capture d'écran)" + +#: gajim/gtk/preferences.py:915 +msgid "Video Framerate" +msgstr "Fréquence de rafraîchissement vidéo" + +#: gajim/gtk/preferences.py:921 +msgid "Video Resolution" +msgstr "Définition vidéo" + +#: gajim/gtk/preferences.py:927 +msgid "Show My Video Stream" +msgstr "Montrer mon flux vidéo" + +#: gajim/gtk/preferences.py:930 +msgid "Show your own video stream in calls" +msgstr "Montrer votre propre flux vidéo dans les appels" + +#: gajim/gtk/preferences.py:933 gajim/data/gui/video_preview.ui:51 +msgid "Live Preview" +msgstr "Aperçu en direct" + +#: gajim/gtk/preferences.py:935 +msgid "Show a live preview to test your video source" +msgstr "Afficher un aperçu en direct pour tester votre source vidéo" + +#: gajim/gtk/preferences.py:975 +msgid "Global Proxy" +msgstr "Serveur mandataire global" + +#: gajim/gtk/preferences.py:980 gajim/gtk/account_wizard.py:732 +#: gajim/gtk/accounts.py:790 +msgid "No Proxy" +msgstr "Pas de serveur mandataire" + +#: gajim/gtk/preferences.py:985 +msgid "Use System Keyring" +msgstr "Utiliser le trousseau de clefs système" + +#: gajim/gtk/preferences.py:988 +msgid "Use your system’s keyring to store passwords" +msgstr "" +"Utiliser le trousseau de clefs de votre système pour enregistrer les mots de " +"passe" + +#: gajim/gtk/preferences.py:994 +msgid "Check For Updates" +msgstr "Vérifier mises à jour" + +#: gajim/gtk/preferences.py:997 gajim/common/config.py:241 +msgid "Check for Gajim updates periodically" +msgstr "Vérifier régulièrement les mises à jour de Gajim" + +#: gajim/gtk/preferences.py:1033 +msgid "Debug Logging" +msgstr "Journalisation de debogage" + +#: gajim/gtk/message_input.py:48 +msgid "Write a message…" +msgstr "Écrire un message…" + +#: gajim/gtk/settings.py:400 gajim/gtk/settings.py:758 +#: gajim/gtk/settings.py:784 gajim/gtk/settings.py:793 +#: gajim/gtk/settings.py:802 gajim/gtk/settings.py:811 +msgid "?switch:On" +msgstr "?switch:Activé" + +#: gajim/gtk/settings.py:400 gajim/gtk/settings.py:758 +#: gajim/gtk/settings.py:784 gajim/gtk/settings.py:793 +#: gajim/gtk/settings.py:802 gajim/gtk/settings.py:811 +msgid "?switch:Off" +msgstr "?switch:Désactivé" + +#: gajim/gtk/settings.py:538 gajim/gtk/manage_sounds.py:46 +#: gajim/gtk/filechoosers.py:89 gajim/gtk/filechoosers.py:140 +#: gajim/gtk/filechoosers.py:147 +msgid "All files" +msgstr "Tous les fichiers" + +#: gajim/gtk/settings.py:547 +msgid "Clear File" +msgstr "Effacer le fichier" + +#: gajim/gtk/settings.py:745 +msgid "Adjust to Status" +msgstr "Ajuster selon l’état" + +#: gajim/gtk/history_sync.py:111 gajim/gtk/history_sync.py:193 +msgid "Synchronise History" +msgstr "Synchroniser l’historique" + +#: gajim/gtk/history_sync.py:205 +msgid "How far back should the chat history be synchronised?" +msgstr "" +"Jusqu'où voulez-vous remonter dans le temps pour la synchronisation " +"d'historique de discussion ?" + +#: gajim/gtk/history_sync.py:210 +msgid "One Month" +msgstr "Un mois" + +#: gajim/gtk/history_sync.py:211 +msgid "Three Months" +msgstr "Trois mois" + +#: gajim/gtk/history_sync.py:212 +msgid "One Year" +msgstr "Un an" + +#: gajim/gtk/history_sync.py:213 +msgid "Everything" +msgstr "Tout" + +#: gajim/gtk/history_sync.py:241 gajim/gtk/account_wizard.py:276 +#: gajim/gtk/account_wizard.py:295 gajim/gtk/account_wizard.py:312 +msgid "Connecting..." +msgstr "Connexion..." + +#: gajim/gtk/history_sync.py:253 +#, python-format +msgid "%(received)s of %(max)s" +msgstr "%(received)s sur %(max)s" + +#: gajim/gtk/history_sync.py:257 +#, python-format +msgid "Downloaded %s messages" +msgstr "%s messages téléchargés" + +#: gajim/gtk/history_sync.py:277 +#, python-format +msgid "" +"Finished synchronising chat history:\n" +"%s messages downloaded" +msgstr "" +"Synchronisation de l'historique terminée :\n" +"%s messages téléchargés" + +#: gajim/gtk/history_sync.py:281 +msgid "Gajim is fully synchronised with the archive." +msgstr "Gajim est entièrement synchronisé avec l'archive." + +#: gajim/gtk/history_sync.py:284 +msgid "There is already a synchronisation in progress. Please try again later." +msgstr "Une synchronisation est déjà en cours. Veuillez réessayer plus tard." + +#: gajim/gtk/pep_config.py:49 +#, python-format +msgid "PEP Service Configuration (%s)" +msgstr "Configuration du Service PEP (%s)" + +#: gajim/gtk/pep_config.py:74 +msgid "Service" +msgstr "Service" + +#: gajim/gtk/pep_config.py:105 +msgid "PEP node was not removed" +msgstr "Le nœud PEP n'a pas été supprimé" + +#: gajim/gtk/pep_config.py:106 +#, python-format +msgid "" +"PEP node %(node)s was not removed:\n" +"%(message)s" +msgstr "" +"Le nœud PEP %(node)s n’a pas été supprimé :\n" +"%(message)s" + +#: gajim/gtk/pep_config.py:153 +#, python-format +msgid "Configure %s" +msgstr "Configurer %s" + +#: gajim/gtk/mam_preferences.py:42 +#, python-format +msgid "Archiving Preferences for %s" +msgstr "Sauvegarde des préférences pour %s" + +#: gajim/gtk/mam_preferences.py:101 +msgid "Archiving Preferences Saved" +msgstr "Préférences d'archivage enregistrées" + +#: gajim/gtk/mam_preferences.py:102 +msgid "Your archiving preferences have successfully been saved." +msgstr "Vos préférences d'archivage ont été sauvegardées avec succès." + +#: gajim/gtk/mam_preferences.py:109 +msgid "Archiving Preferences Error" +msgstr "Erreur dans les préférences d'archivage" + +#: gajim/gtk/mam_preferences.py:110 +msgid "Error received: {}" +msgstr "Erreur reçue : {}" + +#: gajim/gtk/statusicon.py:198 +msgid "_Change Status Message…" +msgstr "_Changer le message d'état…" + +#: gajim/gtk/statusicon.py:250 +#, python-format +msgid "using account %s" +msgstr "du compte %s" + +#: gajim/gtk/statusicon.py:263 +msgid "Hide _Contact List" +msgstr "Masquer la liste de _contacts" + +#: gajim/gtk/statusicon.py:268 gajim/data/gui/application_menu.ui:42 +msgid "Show _Contact List" +msgstr "Affiche_r la liste des contacts" + +#: gajim/gtk/statusicon.py:276 +msgid "Hide this menu" +msgstr "Cacher ce menu" + +#: gajim/gtk/start_chat.py:57 +msgid "Start / Join Chat" +msgstr "Commencer/rejoindre une discussion" + +#: gajim/gtk/start_chat.py:285 gajim/gtk/start_chat.py:370 +msgid "You can not join a group chat unless you are connected." +msgstr "" +"Vous ne pouvez rejoindre un salon de discussion tant que vous n'êtes pas " +"connecté." + +#: gajim/gtk/start_chat.py:634 gajim/gtk/groupchat_join.py:40 +msgid "Join Group Chat" +msgstr "Rejoindre un salon de discussion" + +#: gajim/gtk/start_chat.py:715 +msgid "" +"Search for group chats globally\n" +"(press Return to start search)" +msgstr "" +"Rechercher un salon de discussion au niveau mondial\n" +"(appuyez sur Entrée pour lancer la recherche)" + +#: gajim/gtk/start_chat.py:808 +#, python-format +msgid "%s group chats found" +msgstr "%s salons de discussion trouvés" + +#: gajim/gtk/notification.py:184 gajim/gtk/notification.py:205 +#: gajim/gtk/notification.py:219 gajim/gtk/notification.py:272 +#: gajim/common/connection_handlers_events.py:234 +msgid "New Private Message" +msgstr "Nouveau message privé" + +#: gajim/gtk/notification.py:185 gajim/gtk/notification.py:206 +#: gajim/gtk/notification.py:220 gajim/common/connection_handlers_events.py:328 +msgid "New Group Chat Message" +msgstr "Créer un salon de discussion" + +#: gajim/gtk/notification.py:186 gajim/gtk/notification.py:212 +#: gajim/gtk/notification.py:289 gajim/common/connection_handlers_events.py:418 +msgid "Contact Changed Status" +msgstr "Le contact a changé d'état" + +#: gajim/gtk/notification.py:200 +msgid "Open" +msgstr "Ouvrir" + +#: gajim/gtk/notification.py:209 +msgid "Mark as Read" +msgstr "Marquer comme lu" + +#: gajim/gtk/notification.py:273 +msgid "New E-mail" +msgstr "Nouveau courrier électronique" + +#: gajim/gtk/video_preview.py:116 +msgid "OpenGL accelerated" +msgstr "" +"Accélération OpenGL activée" + +#: gajim/gtk/video_preview.py:120 +msgid "Not accelerated" +msgstr "Non accélérée" + +#: gajim/gtk/video_preview.py:127 +msgid "Something went wrong. Video feature disabled." +msgstr "Quelque chose s'est mal passé. La fonctionnalité vidéo est désactivée." + +#: gajim/gtk/groupchat_invite.py:304 +msgid "Invite New Contact" +msgstr "Inviter un nouveau contact" + +#: gajim/gtk/themes.py:37 +msgid "Chatstate Composing" +msgstr "État \"en train d'écrire\"" + +#: gajim/gtk/themes.py:41 +msgid "Chatstate Inactive" +msgstr "État \"inactif\"" + +#: gajim/gtk/themes.py:45 +msgid "Chatstate Gone" +msgstr "État \"absent\"" + +#: gajim/gtk/themes.py:49 +msgid "Chatstate Paused" +msgstr "État \"en pause\"" + +#: gajim/gtk/themes.py:53 +msgid "Group Chat Tab New Directed Message" +msgstr "Onglet de salon avec nouveau message dirigé" + +#: gajim/gtk/themes.py:57 +msgid "Group Chat Tab New Message" +msgstr "Onglet de salon lorsqu'il y a un nouveau message" + +#: gajim/gtk/themes.py:61 +msgid "Banner Foreground Color" +msgstr "Couleur de premier plan de la bannière" + +#: gajim/gtk/themes.py:65 +msgid "Banner Background Color" +msgstr "Couleur d'arrière plan de la bannière" + +#: gajim/gtk/themes.py:69 +msgid "Banner Font" +msgstr "Police de la bannière" + +#: gajim/gtk/themes.py:73 +msgid "Account Row Foreground Color" +msgstr "Couleur de premier plan des lignes de compte" + +#: gajim/gtk/themes.py:77 +msgid "Account Row Background Color" +msgstr "Couleur d'arrière plan des lignes de compte" + +#: gajim/gtk/themes.py:81 +msgid "Account Row Font" +msgstr "Police des lignes de compte" + +#: gajim/gtk/themes.py:85 +msgid "Group Row Foreground Color" +msgstr "Couleur de premier plan des lignes de groupe" + +#: gajim/gtk/themes.py:89 +msgid "Group Row Background Color" +msgstr "Couleur d'arrière plan des lignes de groupe" + +#: gajim/gtk/themes.py:93 +msgid "Group Row Font" +msgstr "Police des lignes de groupe" + +#: gajim/gtk/themes.py:97 +msgid "Contact Row Foreground Color" +msgstr "Couleur de premier plan des lignes de contact" + +#: gajim/gtk/themes.py:101 +msgid "Contact Row Background Color" +msgstr "Couleur d'arrière plan des lignes de contact" + +#: gajim/gtk/themes.py:105 +msgid "Contact Row Font" +msgstr "Police des lignes de contact" + +#: gajim/gtk/themes.py:109 +msgid "Conversation Font" +msgstr "Police des conversations" + +#: gajim/gtk/themes.py:113 +msgid "Incoming Nickname Color" +msgstr "Couleur du pseudo entrant" + +#: gajim/gtk/themes.py:117 +msgid "Outgoing Nickname Color" +msgstr "Couleur du pseudo sortant" + +#: gajim/gtk/themes.py:121 +msgid "Incoming Message Text Color" +msgstr "Couleur du message entrant" + +#: gajim/gtk/themes.py:125 +msgid "Incoming Message Text Font" +msgstr "Police du message entrant" + +#: gajim/gtk/themes.py:129 +msgid "Outgoing Message Text Color" +msgstr "Couleur du message sortant" + +#: gajim/gtk/themes.py:133 +msgid "Outgoing Message Text Font" +msgstr "Police du message sortant" + +#: gajim/gtk/themes.py:137 +msgid "Status Message Color" +msgstr "Couleur du message d'état" + +#: gajim/gtk/themes.py:141 +msgid "Status Message Font" +msgstr "Police du message d'état" + +#: gajim/gtk/themes.py:145 +msgid "URL Color" +msgstr "Couleur de l'URL" + +#: gajim/gtk/themes.py:149 +msgid "Highlight Message Color" +msgstr "Couleur du message mis en évidence" + +#: gajim/gtk/themes.py:153 +msgid "Message Correcting" +msgstr "Message en cours de correction" + +#: gajim/gtk/themes.py:157 +msgid "Contact Disconnected Background" +msgstr "Arrière plan d'un contact hors-ligne" + +#: gajim/gtk/themes.py:161 +msgid "Contact Connected Background " +msgstr "Arrière plan du contact connecté " + +#: gajim/gtk/themes.py:164 +msgid "Status Online Color" +msgstr "Couleur pour l'état \"En ligne\"" + +#: gajim/gtk/themes.py:167 +msgid "Status Away Color" +msgstr "Couleur pour l'état \"Absent\"" + +#: gajim/gtk/themes.py:170 +msgid "Status DND Color" +msgstr "Couleur pour l'état \"Ne pas déranger\"" + +#: gajim/gtk/themes.py:173 +msgid "Status Offline Color" +msgstr "Couleur pour l'état \"Hors-ligne\"" + +#: gajim/gtk/themes.py:187 +msgid "Gajim Themes" +msgstr "Thèmes de Gajim" + +#: gajim/gtk/themes.py:223 gajim/gtk/themes.py:230 +msgid "Invalid Name" +msgstr "Nom invalide" + +#: gajim/gtk/themes.py:224 +msgid "Name default is not allowed" +msgstr "Le nom default n'est pas autorisé" + +#: gajim/gtk/themes.py:231 +msgid "Spaces are not allowed" +msgstr "Les espaces ne sont pas autorisés" + +#: gajim/gtk/themes.py:356 +msgid "Do you want to delete this theme?" +msgstr "Voulez-vous supprimer ce thème ?" + +#: gajim/gtk/themes.py:358 +msgid "" +"This is the theme you are currently using.\n" +"Do you want to delete this theme?" +msgstr "" +"C'est le thème que vous utilisez actuellement.\n" +"Voulez-vous supprimer ce thème ?" + +#: gajim/gtk/themes.py:363 +msgid "Delete Theme" +msgstr "Supprimer le thème" + +#: gajim/gtk/themes.py:390 +msgid "Remove Setting" +msgstr "Supprimer paramètre" + +#: gajim/gtk/filetransfer_progress.py:62 +msgid "Upload Failed" +msgstr "Échec du téléversement" + +#: gajim/gtk/filetransfer_progress.py:113 +#, python-format +msgid "%(progress)s of %(total)s" +msgstr "%(progress)s sur %(total)s" + +#: gajim/gtk/filetransfer_progress.py:130 +#, python-format +msgid "%(minutes)s min %(seconds)s sec" +msgstr "%(minutes)s mn %(seconds)s sec" + +#: gajim/gtk/add_contact.py:32 +msgid "GG Number" +msgstr "Numéro GG" + +#: gajim/gtk/add_contact.py:33 +msgid "ICQ Number" +msgstr "Numéro ICQ" + +#: gajim/gtk/add_contact.py:42 +msgid "Add Contact" +msgstr "Ajouter un contact" + +#: gajim/gtk/add_contact.py:260 +#, python-format +msgid "%s Missing" +msgstr "%s manquant" + +#: gajim/gtk/add_contact.py:261 +#, python-format +msgid "You must supply the %s of the new contact." +msgstr "Vous devez fournir le %s du nouveau contact." + +#: gajim/gtk/add_contact.py:288 gajim/gtk/add_contact.py:294 +#: gajim/gtk/add_contact.py:299 +msgid "Invalid User ID" +msgstr "Identifiant utilisateur non valide" + +#: gajim/gtk/add_contact.py:295 +msgid "The user ID must not contain a resource." +msgstr "L'identifiant utilisateur ne doit pas contenir de ressource." + +#: gajim/gtk/add_contact.py:300 +msgid "You cannot add yourself to your contact list." +msgstr "Vous ne pouvez pas vous ajouter vous-même à votre liste de contacts." + +#: gajim/gtk/add_contact.py:305 +msgid "Account Offline" +msgstr "Compte hors-ligne" + +#: gajim/gtk/add_contact.py:306 +msgid "Your account must be online to add new contacts." +msgstr "Votre compte doit être en ligne pour ajouter de nouveaux contacts." + +#: gajim/gtk/add_contact.py:322 +msgid "Contact Already in Contact List" +msgstr "Contact déjà présent dans la liste" + +#: gajim/gtk/add_contact.py:323 +msgid "This contact is already in your contact list." +msgstr "Le contact est déjà dans votre liste." + +#: gajim/gtk/add_contact.py:381 gajim/gtk/add_contact.py:419 +msgid "User ID:" +msgstr "Identifiant utilisateur :" + +#: gajim/gtk/add_contact.py:486 +msgid "Error while adding transport contact" +msgstr "Erreur en ajoutant un contact d'un transport" + +#: gajim/gtk/add_contact.py:487 +#, python-format +msgid "" +"This error occurred while adding a contact for transport %(transport)s:\n" +"\n" +"%(error)s" +msgstr "" +"Cette erreur est intervenue lors de l'ajout d'un contact du transport " +"%(transport)s :\n" +"\n" +"%(error)s" + +#: gajim/gtk/account_wizard.py:61 gajim/data/gui/account_wizard.ui:631 +msgid "Sign Up" +msgstr "S'inscrire" + +#: gajim/gtk/account_wizard.py:63 +msgid "Connect" +msgstr "Connecter" + +#: gajim/gtk/account_wizard.py:64 gajim/gtk/adhoc.py:102 +msgid "Next" +msgstr "Suivant" + +#: gajim/gtk/account_wizard.py:65 +msgid "Log In" +msgstr "Se connecter" + +#: gajim/gtk/account_wizard.py:67 gajim/gtk/remove_account.py:44 +#: gajim/gtk/change_password.py:45 gajim/gtk/accounts.py:384 +msgid "Back" +msgstr "Précédent" + +#: gajim/gtk/account_wizard.py:80 +msgid "An error occurred during account creation" +msgstr "Une erreur est survenue lors de la création du compte" + +#: gajim/gtk/account_wizard.py:166 +msgid "Creating Account..." +msgstr "Création de compte..." + +#: gajim/gtk/account_wizard.py:167 +msgid "Trying to create account..." +msgstr "Tentative de création de compte..." + +#: gajim/gtk/account_wizard.py:277 gajim/gtk/account_wizard.py:296 +#: gajim/gtk/account_wizard.py:313 +msgid "Connecting to server..." +msgstr "Connexion au serveur..." + +#: gajim/gtk/account_wizard.py:367 gajim/gtk/account_wizard.py:368 +msgid "Anonymous login not supported" +msgstr "Connexion anonyme non supportée" + +#: gajim/gtk/account_wizard.py:369 +msgid "This server does not support anonymous login." +msgstr "Ce serveur ne supporte pas la connexion anonyme." + +#: gajim/gtk/account_wizard.py:372 gajim/common/client.py:284 +#: gajim/common/const.py:958 gajim/common/const.py:959 +#: gajim/common/const.py:960 gajim/common/const.py:963 +msgid "Authentication failed" +msgstr "Échec d'authentification" + +#: gajim/gtk/account_wizard.py:384 gajim/gtk/account_wizard.py:385 +msgid "Signup not allowed" +msgstr "L'inscription n'est pas autorisée" + +#: gajim/gtk/account_wizard.py:386 +msgid "This server does not allow signup." +msgstr "Ce serveur n'autorise pas les inscriptions." + +#: gajim/gtk/account_wizard.py:395 gajim/gtk/account_wizard.py:432 +#: gajim/gtk/account_wizard.py:433 gajim/gtk/account_wizard.py:520 +#: gajim/gtk/groupchat_config.py:132 gajim/gtk/groupchat_config.py:399 +#: gajim/gtk/history.py:591 gajim/gtk/search.py:336 +msgid "Error" +msgstr "Erreur" + +#: gajim/gtk/account_wizard.py:402 gajim/gtk/account_wizard.py:403 +msgid "Connection failed" +msgstr "La connexion a échoué" + +#: gajim/gtk/account_wizard.py:404 +msgid "" +"Gajim was not able to reach the server. Make sure your XMPP address is " +"correct." +msgstr "" +"Gajim n'est pas parvenu à joindre le serveur. Vérifiez que votre adresse " +"XMPP est correcte." + +#: gajim/gtk/account_wizard.py:459 +msgid "Account is being created" +msgstr "Le compte est en train d'être créé" + +#: gajim/gtk/account_wizard.py:518 +msgid "The server rejected the registration without an error message" +msgstr "Le serveur a refusé l'enregistrement sans fournir de message d'erreur" + +#: gajim/gtk/account_wizard.py:530 gajim/gtk/accounts.py:572 +msgid "Add Account" +msgstr "Ajouter un compte" + +#: gajim/gtk/account_wizard.py:612 gajim/gtk/groupchat_creation.py:138 +msgid "Invalid Address" +msgstr "Adresse non valide" + +#: gajim/gtk/account_wizard.py:636 +msgid "Create New Account" +msgstr "Créer un nouveau compte" + +#: gajim/gtk/account_wizard.py:712 +msgid "Advanced settings" +msgstr "Paramètres avancés" + +#: gajim/gtk/account_wizard.py:774 +msgid "Invalid domain name" +msgstr "Nom de domaine invalide" + +#: gajim/gtk/account_wizard.py:791 +msgid "Must be a port number" +msgstr "Doit être un numéro de port" + +#: gajim/gtk/account_wizard.py:798 +msgid "Port must be a number between 0 and 65535" +msgstr "Le port doit être un nombre entre 0 et 65535" + +#: gajim/gtk/account_wizard.py:814 +msgid "Security Warning" +msgstr "Avertissement de sécurité" + +#: gajim/gtk/account_wizard.py:833 +#, python-format +msgid "Unknown TLS error '%s'" +msgstr "Erreur TLS inconnue '%s'" + +#: gajim/gtk/account_wizard.py:868 gajim/gtk/account_wizard.py:871 +msgid "Create Account" +msgstr "Créer un compte" + +#: gajim/gtk/account_wizard.py:922 +msgid "Redirect" +msgstr "Redirection" + +#: gajim/gtk/account_wizard.py:932 +msgid "Register on the Website" +msgstr "S'enregistrer sur le site web" + +#: gajim/gtk/account_wizard.py:943 +msgid "Account Added" +msgstr "Compte ajouté" + +#: gajim/gtk/account_wizard.py:944 +msgid "Account has been added successfully" +msgstr "Compte ajouté avec succès" + +#: gajim/gtk/groupchat_invitation.py:57 +msgid "" +"has invited you to a group chat.\n" +"Do you want to join?" +msgstr "" +"vous a invité dans un salon de discussion.\n" +"Voulez-vous le rejoindre ?" + +#: gajim/gtk/groupchat_invitation.py:75 gajim/gtk/discovery.py:1706 +#: gajim/gtk/groupchat_join.py:68 gajim/data/gui/groupchat_control.ui:899 +#: gajim/data/gui/groupchat_control.ui:991 +#: gajim/data/gui/start_chat_dialog.ui:314 +msgid "_Join" +msgstr "Re_joindre" + +#: gajim/gtk/tooltips.py:215 +#, python-format +msgid "%(owner_or_admin_or_member)s of this group chat" +msgstr "%(owner_or_admin_or_member)s de ce salon" + +#: gajim/gtk/tooltips.py:474 +msgid "Connected" +msgstr "Connecté" + +#: gajim/gtk/tooltips.py:476 +msgid "Disconnected" +msgstr "Déconnecté⋅e" + +#: gajim/gtk/tooltips.py:530 +msgid "File Name: " +msgstr "Nom du fichier : " + +#: gajim/gtk/tooltips.py:533 +msgid "?Noun:Download" +msgstr "Téléchargement" + +#: gajim/gtk/tooltips.py:534 gajim/gtk/filetransfer.py:747 +msgid "Sender: " +msgstr "Expéditeur : " + +#: gajim/gtk/tooltips.py:539 +msgid "?Noun:Upload" +msgstr "Envoi" + +#: gajim/gtk/tooltips.py:540 gajim/gtk/filetransfer.py:240 +#: gajim/gtk/filetransfer.py:749 +msgid "Recipient: " +msgstr "Destinataire : " + +#: gajim/gtk/tooltips.py:546 +msgid "?transfer type:Type: " +msgstr "Type : " + +#: gajim/gtk/tooltips.py:552 +msgid "?transfer status:Transferred: " +msgstr "Transféré : " + +#: gajim/gtk/tooltips.py:555 +msgid "?transfer status:Status: " +msgstr "État d'avancement : " + +#: gajim/gtk/tooltips.py:557 +msgid "Description: " +msgstr "Description : " + +#: gajim/gtk/tooltips.py:581 +msgid "?transfer status:Aborted" +msgstr "Annulé" + +#: gajim/gtk/tooltips.py:583 +msgid "?transfer status:Completed" +msgstr "Terminé" + +#: gajim/gtk/tooltips.py:585 +msgid "?transfer status:Paused" +msgstr "?transfer status:En pause" + +#: gajim/gtk/tooltips.py:588 +msgid "?transfer status:Stalled" +msgstr "Bloqué" + +#: gajim/gtk/tooltips.py:592 +msgid "?transfer status:Transferring" +msgstr "Transfert en cours" + +#: gajim/gtk/tooltips.py:593 gajim/gtk/tooltips.py:594 +msgid "?transfer status:Not started" +msgstr "Non démarré" + +#: gajim/gtk/remove_account.py:42 gajim/gtk/accounts.py:341 +msgid "Remove" +msgstr "Supprimer" + +#: gajim/gtk/remove_account.py:49 +msgid "Removing Account..." +msgstr "Suppression du compte..." + +#: gajim/gtk/remove_account.py:50 +msgid "Trying to remove account..." +msgstr "Tentative de suppression de compte..." + +#: gajim/gtk/remove_account.py:53 gajim/gtk/remove_account.py:54 +msgid "Account Removed" +msgstr "Compte supprimé" + +#: gajim/gtk/remove_account.py:56 +msgid "Your account has has been removed successfully." +msgstr "Votre compte a été supprimé avec succès." + +#: gajim/gtk/remove_account.py:59 gajim/gtk/remove_account.py:60 +msgid "Account Removal Failed" +msgstr "La suppression du compte a échoué" + +#: gajim/gtk/remove_account.py:171 gajim/gtk/remove_account.py:173 +msgid "Remove Account" +msgstr "Supprimer le compte" + +#: gajim/gtk/remove_account.py:180 +msgid "This will remove your account from Gajim." +msgstr "Cela supprimera votre compte de Gajim." + +#: gajim/gtk/remove_account.py:189 +#, python-format +msgid "Do you want to unregister your account on %s as well?" +msgstr "Voulez-vous supprimer votre compte sur %s également ?" + +#: gajim/gtk/remove_account.py:198 +msgid "_Unregister account from service" +msgstr "_Désinscrire le compte auprès du service" + +#: gajim/gtk/remove_account.py:217 +msgid "Account has to be connected" +msgstr "Le compte doit être connecté" + +#: gajim/gtk/filetransfer.py:91 +msgid "File" +msgstr "Fichier" + +#: gajim/gtk/filetransfer.py:108 +msgid "Time" +msgstr "Durée" + +#: gajim/gtk/filetransfer.py:121 gajim/data/gui/filetransfer_progress.ui:110 +msgid "Progress" +msgstr "Progression" + +#: gajim/gtk/filetransfer.py:228 +#, python-format +msgid "File name: %s" +msgstr "Nom du fichier : %s" + +#: gajim/gtk/filetransfer.py:229 gajim/gtk/filetransfer.py:470 +#, python-format +msgid "Size: %s" +msgstr "Taille : %s" + +#: gajim/gtk/filetransfer.py:239 +#, python-format +msgid "Sender: %s" +msgstr "Expéditeur : %s" + +#: gajim/gtk/filetransfer.py:251 +#, python-format +msgid "Saved in: %s" +msgstr "Enregistré dans : %s" + +#: gajim/gtk/filetransfer.py:256 +msgid "File transfer completed" +msgstr "Transfert de fichier terminé" + +#: gajim/gtk/filetransfer.py:276 gajim/gtk/filetransfer.py:285 +msgid "Connection with peer could not be established." +msgstr "La connexion avec le contact n'a pas pu être établie." + +#: gajim/gtk/filetransfer.py:293 +#, python-format +msgid "Filename: %s" +msgstr "Nom du Fichier : %s" + +#: gajim/gtk/filetransfer.py:294 +#, python-format +msgid "Recipient: %s" +msgstr "Destinataire : %s" + +#: gajim/gtk/filetransfer.py:296 +#, python-format +msgid "Error message: %s" +msgstr "Message d'erreur : %s" + +#: gajim/gtk/filetransfer.py:335 +#, python-format +msgid "" +"The file %s has been received, but it seems to have been damaged along the " +"way.\n" +"Do you want to download it again?" +msgstr "" +"Le fichier %s a été reçu mais il semble avoir été endommagé lors du " +"transfert.\n" +"Voulez-vous le télécharger à nouveau ?" + +#: gajim/gtk/filetransfer.py:341 +msgid "_Download Again" +msgstr "_Télécharger à nouveau" + +#: gajim/gtk/filetransfer.py:356 +msgid "Gajim can not read this file" +msgstr "Gajim ne peut pas lire ce fichier" + +#: gajim/gtk/filetransfer.py:357 +msgid "Another process is using this file." +msgstr "Un autre processus utilise ce fichier." + +#: gajim/gtk/filetransfer.py:399 +#, python-format +msgid "Cannot overwrite existing file '%s'" +msgstr "Impossible de remplacer le fichier existant '%s'" + +#: gajim/gtk/filetransfer.py:400 +msgid "" +"A file with this name already exists and you do not have permission to " +"overwrite it." +msgstr "" +"Un fichier de même nom existe déjà et vous n’avez pas la permission de " +"l’écraser." + +#: gajim/gtk/filetransfer.py:424 +msgid "File Transfer Conflict" +msgstr "Conflit de transfert de fichiers" + +#: gajim/gtk/filetransfer.py:425 +msgid "File already exists" +msgstr "Ce fichier existe déjà" + +#: gajim/gtk/filetransfer.py:426 +msgid "Resume download or replace file?" +msgstr "Reprendre le téléchargement ou remplacer le fichier ?" + +#: gajim/gtk/filetransfer.py:430 +msgid "Resume _Download" +msgstr "Reprendre le _téléchargement" + +#: gajim/gtk/filetransfer.py:433 +msgid "Replace _File" +msgstr "Remplacer le _fichier" + +#: gajim/gtk/filetransfer.py:443 +#, python-format +msgid "Directory '%s' is not writable" +msgstr "Le dossier \"%s\" n'est pas accessible en écriture" + +#: gajim/gtk/filetransfer.py:444 +msgid "You do not have permissions to create files in this directory." +msgstr "" +"Vous n’avez pas les permissions pour pouvoir créer des fichiers dans ce " +"dossier." + +#: gajim/gtk/filetransfer.py:467 +#, python-format +msgid "File: %s" +msgstr "Fichier : %s" + +#: gajim/gtk/filetransfer.py:473 +#, python-format +msgid "Type: %s" +msgstr "Type : %s" + +#: gajim/gtk/filetransfer.py:475 +#, python-format +msgid "Description: %s" +msgstr "Description : %s" + +#: gajim/gtk/filetransfer.py:486 +#, python-format +msgid "%s wants to send you a file" +msgstr "%s souhaite vous envoyer un fichier" + +#: gajim/gtk/filetransfer.py:514 +msgid "Checking file…" +msgstr "Vérification du fichier…" + +#: gajim/gtk/filetransfer.py:529 +msgid "File error" +msgstr "Erreur de fichier" + +#: gajim/gtk/filetransfer.py:566 +#, python-format +msgid "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" +msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" + +#: gajim/gtk/filetransfer.py:663 +#, python-format +msgid "(%(filesize_unit)s/s)" +msgstr "(%(filesize_unit)s/s)" + +#: gajim/gtk/filetransfer.py:716 gajim/gtk/filetransfer.py:720 +msgid "Invalid File" +msgstr "Fichier non valide" + +#: gajim/gtk/filetransfer.py:716 +msgid "File: " +msgstr "Fichier : " + +#: gajim/gtk/filetransfer.py:721 +msgid "It is not possible to send empty files" +msgstr "Il n'est pas possible d'envoyer un fichier vide" + +#: gajim/gtk/filetransfer.py:1043 +msgid "Choose a File to Send…" +msgstr "Choisissez un fichier à envoyer…" + +#: gajim/gtk/roster_item_exchange.py:35 +#: gajim/data/gui/roster_item_exchange_window.ui:39 +msgid "Contact List Exchange" +msgstr "Échange d'éléments de la liste des contacts" + +#: gajim/gtk/roster_item_exchange.py:49 +#, python-format +msgid "%s would like to add some contacts to your contact list." +msgstr "" +"%s souhaiterait ajouter quelques contacts à votre liste de contacts." + +#: gajim/gtk/roster_item_exchange.py:52 +#, python-format +msgid "%s would like to modify some contacts in your contact list." +msgstr "" +"%s aimerait modifier quelques contacts dans votre liste de contacts." + +#: gajim/gtk/roster_item_exchange.py:55 +#, python-format +msgid "%s would like to delete some contacts from your contact list." +msgstr "" +"%s aimerait supprimer quelques contacts dans votre liste de contacts." + +#: gajim/gtk/roster_item_exchange.py:71 gajim/gtk/roster_item_exchange.py:130 +msgid "Add" +msgstr "Ajouter" + +#: gajim/gtk/roster_item_exchange.py:73 gajim/gtk/roster_item_exchange.py:161 +msgid "Modify" +msgstr "Modifier" + +#: gajim/gtk/roster_item_exchange.py:80 +msgid "JID" +msgstr "Identifiant XMPP" + +#: gajim/gtk/roster_item_exchange.py:86 +msgid "Groups" +msgstr "Groupes" + +#: gajim/gtk/roster_item_exchange.py:196 +#, python-format +msgid "%s suggested me to add you to my contact list." +msgstr "%s m’a suggéré de vous ajouter à ma liste de contacts." + +#: gajim/gtk/roster_item_exchange.py:211 +#, python-format +msgid "Added %d contact" +msgid_plural "Added %d contacts" +msgstr[0] "%d contact ajouté" +msgstr[1] "%d contacts ajoutés" + +#: gajim/gtk/roster_item_exchange.py:253 +#, python-format +msgid "Removed %d contact" +msgid_plural "Removed %d contacts" +msgstr[0] "%d contact supprimé" +msgstr[1] "%d contacts supprimés" + +#: gajim/gtk/groupchat_creation.py:45 gajim/data/gui/groupchat_creation.ui:81 +msgid "Create Group Chat" +msgstr "Créer un salon de discussion" + +#: gajim/gtk/groupchat_creation.py:101 gajim/gtk/groupchat_creation.py:103 +msgid " (optional)..." +msgstr " (facultatif)..." + +#: gajim/gtk/groupchat_creation.py:186 +msgid "Not Connected" +msgstr "Non connecté" + +#: gajim/gtk/groupchat_creation.py:187 +msgid "You have to be connected to create a group chat." +msgstr "Vous devez être connecté pour pouvoir créer un salon de discussion." + +#: gajim/gtk/status_selector.py:121 gajim/gtk/status_selector.py:127 +#, python-format +msgid "Status: %s" +msgstr "État : %s" + +#: gajim/gtk/status_selector.py:125 +#, python-format +msgid "%s (desynced)" +msgstr "%s (désynchronisé)" + +#: gajim/gtk/subscription_request.py:35 +msgid "Subscription Request" +msgstr "Requête d’Inscription" + +#: gajim/gtk/subscription_request.py:47 +#, python-format +msgid "Subscription request for account %(account)s from %(jid)s" +msgstr "Requête d’inscription pour le compte %(account)s de la part de %(jid)s" + +#: gajim/gtk/subscription_request.py:50 +#, python-format +msgid "Subscription request from %s" +msgstr "Requête d’inscription de la part de %s" + +#: gajim/gtk/single_message.py:51 +msgid "Send Single Message" +msgstr "Envoyer un _message simple" + +#: gajim/gtk/single_message.py:101 +msgid "(No subject)" +msgstr "(Aucun sujet)" + +#: gajim/gtk/single_message.py:157 +#, python-format +msgid "Single Message using account %s" +msgstr "Message simple en tant que %s" + +#: gajim/gtk/single_message.py:159 +#, python-format +msgid "Single Message in account %s" +msgstr "Message simple dans le compte %s" + +#: gajim/gtk/single_message.py:161 +msgid "Single Message" +msgstr "Message simple" + +#: gajim/gtk/single_message.py:164 +#, python-format +msgid "Send %s" +msgstr "Envoyer %s" + +#: gajim/gtk/single_message.py:183 +#, python-format +msgid "Received %s" +msgstr "%s reçu" + +#: gajim/gtk/single_message.py:205 +#, python-format +msgid "Characters typed: %s" +msgstr "Caractères saisis : %s" + +#: gajim/gtk/single_message.py:210 gajim/gtk/xml_console.py:169 +msgid "Connection not available" +msgstr "Connexion non disponible" + +#: gajim/gtk/single_message.py:211 +#, python-format +msgid "Please make sure you are connected with \"%s\"." +msgstr "Vérifiez que vous êtes connecté avec \"%s\"." + +#: gajim/gtk/single_message.py:239 +#, python-format +msgid "" +"It is not possible to send a message to %s, this XMPP Address is not valid." +msgstr "" +"Il n'est pas possible d'envoyer un message à %s, cette adresse XMPP n'est " +"pas valide." + +#: gajim/gtk/single_message.py:316 +#, python-format +msgid "RE: %s" +msgstr "RE : %s" + +#: gajim/gtk/single_message.py:317 +#, python-format +msgid "%s wrote:\n" +msgstr "%s a écrit :\n" + +#: gajim/gtk/change_password.py:42 +msgid "Change" +msgstr "Changer" + +#: gajim/gtk/change_password.py:51 +msgid "Changing Password..." +msgstr "Changer le mot de passe..." + +#: gajim/gtk/change_password.py:52 +msgid "Trying to change password..." +msgstr "Tentative de changement de mot de passe..." + +#: gajim/gtk/change_password.py:55 gajim/gtk/change_password.py:56 +msgid "Password Changed" +msgstr "Mot de passe modifié" + +#: gajim/gtk/change_password.py:57 +msgid "Your password has successfully been changed." +msgstr "Votre mot de passe a été modifié avec succès." + +#: gajim/gtk/change_password.py:60 gajim/gtk/change_password.py:61 +msgid "Password Change Failed" +msgstr "Le changement de mot de passe a échoué" + +#: gajim/gtk/change_password.py:63 +msgid "An error occurred while trying to change your password." +msgstr "" +"Une erreur est survenue lors de la tentative de changement de mot de passe." + +#: gajim/gtk/change_password.py:145 gajim/gtk/change_password.py:147 +#: gajim/gtk/change_password.py:224 gajim/gtk/accounts.py:994 +msgid "Change Password" +msgstr "Changer le mot de passe" + +#: gajim/gtk/change_password.py:154 +msgid "Please enter your new password." +msgstr "Veuillez saisir un nouveau mot de passe." + +#: gajim/gtk/change_password.py:167 +msgid "Enter new password..." +msgstr "Saisissez le nouveau mot de passe..." + +#: gajim/gtk/change_password.py:176 +msgid "Confirm new password..." +msgstr "Confirmer le nouveau mot de passe..." + +#: gajim/gtk/change_password.py:191 +msgid "Passwords do not match" +msgstr "Les mots de passe ne correspondent pas" + +#: gajim/gtk/bookmarks.py:48 +#, python-format +msgid "Bookmarks for %s" +msgstr "Marques-pages pour %s" + +#: gajim/gtk/xml_console.py:95 gajim/gtk/xml_console.py:279 +msgid "All Accounts" +msgstr "Tous les comptes" + +#: gajim/gtk/xml_console.py:170 +#, python-format +msgid "Please make sure you are connected with '%s'." +msgstr "Vérifiez que vous êtes connecté avec \"%s\"." + +#: gajim/gtk/xml_console.py:180 +msgid "Invalid Node" +msgstr "Nœud invalide" + +#: gajim/gtk/xml_console.py:282 +msgid "Account" +msgstr "Compte" + +#: gajim/gtk/xml_console.py:309 gajim/data/gui/xml_console.ui:241 +msgid "Filter" +msgstr "Filtre" + +#: gajim/gtk/dataform.py:252 gajim/gtk/dataform.py:290 +msgid "Required" +msgstr "Requis" + +#: gajim/gtk/dataform.py:315 +msgid "Yes" +msgstr "Oui" + +#: gajim/gtk/dataform.py:315 +msgid "No" +msgstr "Non" + +#: gajim/gtk/dataform.py:701 gajim/gtk/adhoc.py:86 +#: gajim/data/gui/profile.ui:396 +msgid "Cancel" +msgstr "Annuler" + +#: gajim/gtk/dataform.py:703 +msgid "Submit" +msgstr "Soumettre" + +#: gajim/gtk/discovery.py:69 +msgid "This service has not yet responded with detailed information" +msgstr "Ce service n'a pas encore renvoyé d'informations détaillées" + +#: gajim/gtk/discovery.py:70 +msgid "" +"This service could not respond with detailed information.\n" +"It is most likely a legacy service or broken." +msgstr "" +"Ce service n'a pas renvoyé d'informations détaillées.\n" +"Il est probablement obsolète ou en panne." + +#: gajim/gtk/discovery.py:126 +msgid "Others" +msgstr "Autres" + +#: gajim/gtk/discovery.py:129 gajim/data/gui/shortcuts_window.ui:307 +msgid "Group Chat" +msgstr "Salon de discussion" + +#: gajim/gtk/discovery.py:523 +msgid "Without a connection, you can not browse available services" +msgstr "Vous devez être connecté pour parcourir les services disponibles" + +#: gajim/gtk/discovery.py:610 +#, python-format +msgid "Service Discovery using account %s" +msgstr "Gestion des services du compte %s" + +#: gajim/gtk/discovery.py:612 +msgid "Service Discovery" +msgstr "Gestion des services" + +#: gajim/gtk/discovery.py:695 +msgid "The service could not be found" +msgstr "Le service n'a pu être trouvé" + +#: gajim/gtk/discovery.py:696 +msgid "" +"There is no service at the address you entered, or it is not responding. " +"Check the address and try again." +msgstr "" +"Il n'y a aucun service à l'adresse indiquée, ou bien il ne répond pas. " +"Veuillez vérifier l'adresse et réessayer." + +#: gajim/gtk/discovery.py:703 gajim/gtk/discovery.py:1046 +msgid "The service is not browsable" +msgstr "Le service ne peut pas être parcouru" + +#: gajim/gtk/discovery.py:704 +msgid "This type of service does not contain any items to browse." +msgstr "Ce type de service ne contient pas d'élément à parcourir." + +#: gajim/gtk/discovery.py:742 gajim/gtk/discovery.py:751 +msgid "Invalid Server Name" +msgstr "Nom de serveur invalide" + +#: gajim/gtk/discovery.py:810 +#, python-format +msgid "Browsing %(address)s using account %(account)s" +msgstr "Parcourt %(address)s en utilisant le compte %(account)s" + +#: gajim/gtk/discovery.py:855 +msgid "Browse" +msgstr "Parcourir" + +#: gajim/gtk/discovery.py:1047 +msgid "This service does not contain any items to browse." +msgstr "Ce service ne contient aucun élément à parcourir." + +#: gajim/gtk/discovery.py:1259 +msgid "_Command" +msgstr "_Commande" + +#: gajim/gtk/discovery.py:1268 gajim/gtk/discovery.py:1425 +msgid "Re_gister" +msgstr "_Souscrire" + +#: gajim/gtk/discovery.py:1275 +msgid "Join" +msgstr "Rejoindre" + +#: gajim/gtk/discovery.py:1281 +msgid "_Search" +msgstr "_Rechercher" + +#: gajim/gtk/discovery.py:1423 gajim/data/gui/profile.ui:353 +msgid "_Edit" +msgstr "É_dition" + +#: gajim/gtk/discovery.py:1461 +#, python-format +msgid "Scanning %(current)d / %(total)d ..." +msgstr "Analyse en cours %(current)d / %(total)d.." + +#: gajim/gtk/discovery.py:1660 +msgid "Users" +msgstr "Utilisateurs" + +# ccount). Description column +#: gajim/gtk/discovery.py:1668 gajim/data/gui/groupchat_info_scrolled.ui:32 +#: gajim/data/gui/filetransfers_send_file_dialog.ui:15 +#: gajim/data/gui/advanced_configuration.ui:82 +msgid "Description" +msgstr "Description" + +#: gajim/gtk/discovery.py:1676 +msgid "Id" +msgstr "Id" + +#: gajim/gtk/discovery.py:1905 +msgid "Subscribed" +msgstr "Inscrit" + +#: gajim/gtk/discovery.py:1914 +msgid "Node" +msgstr "Nœud" + +#: gajim/gtk/discovery.py:1983 +msgid "_New post" +msgstr "Nouvel article" + +#: gajim/gtk/discovery.py:1992 +msgid "_Subscribe" +msgstr "_Ajouter" + +#: gajim/gtk/discovery.py:2000 +msgid "_Unsubscribe" +msgstr "_Désinscrire" + +#: gajim/gtk/groupchat_settings.py:43 +msgid "Show Join/Leave" +msgstr "Montrer connecté/parti" + +#: gajim/gtk/groupchat_settings.py:53 +msgid "Notify on all Messages" +msgstr "Notifier pour tous les messages" + +#: gajim/gtk/groupchat_settings.py:58 +msgid "Minimize on Close" +msgstr "Minimiser à la fermeture" + +#: gajim/gtk/groupchat_settings.py:63 +msgid "Minimize When Joining Automatically" +msgstr "Minimiser à la connexion automatique" + +#: gajim/gtk/groupchat_settings.py:68 +msgid "Send Chat State" +msgstr "Envoyer l'état" + +#: gajim/gtk/groupchat_settings.py:74 +msgid "Send Chat Markers" +msgstr "Émettre les accusés de lecture" + +#: gajim/gtk/groupchat_settings.py:77 +msgid "Let others know if you read up to this point" +msgstr "Permet aux autres de savoir si vous avez tout lu jusqu'ici" + +#: gajim/gtk/groupchat_settings.py:80 +msgid "Sync Threshold" +msgstr "Seuil de synchronisation" + +#: gajim/gtk/proxies.py:33 +msgid "Manage Proxies" +msgstr "Gérer les serveurs mandataires" + +#: gajim/gtk/manage_sounds.py:40 +msgid "Manage Sounds" +msgstr "Gérer les sons" + +#: gajim/gtk/manage_sounds.py:51 +msgid "Wav Sounds" +msgstr "Sons wav" + +#: gajim/gtk/manage_sounds.py:85 +msgid "Attention Message Received" +msgstr "Message demandant attention reçu" + +#: gajim/gtk/manage_sounds.py:86 +msgid "First Message Received" +msgstr "Premier message reçu" + +#: gajim/gtk/manage_sounds.py:87 +msgid "Next Message Received Focused" +msgstr "Message Reçu Suivant Avec le Focus" + +#: gajim/gtk/manage_sounds.py:88 +msgid "Next Message Received Unfocused" +msgstr "Message Reçu Suivant Sans le Focus" + +#: gajim/gtk/manage_sounds.py:89 +msgid "Contact Connected" +msgstr "Contact connecté" + +#: gajim/gtk/manage_sounds.py:90 +msgid "Contact Disconnected" +msgstr "Contact déconnecté" + +#: gajim/gtk/manage_sounds.py:91 +msgid "Message Sent" +msgstr "Message envoyé" + +#: gajim/gtk/manage_sounds.py:92 +msgid "Group Chat Message Highlight" +msgstr "Message d'un salon mis en surbrillance" + +#: gajim/gtk/manage_sounds.py:93 +msgid "Group Chat Message Received" +msgstr "Message reçu dans un salon" + +#: gajim/gtk/groupchat_info.py:38 +msgid "?Group chat feature:Open" +msgstr "Ouvert" + +#: gajim/gtk/groupchat_info.py:39 +msgid "Anyone can join this group chat" +msgstr "N’importe qui pourra rejoindre ce salon de discussion" + +#: gajim/gtk/groupchat_info.py:42 +msgid "?Group chat feature:Members Only" +msgstr "Réservé aux membres" + +#: gajim/gtk/groupchat_info.py:43 +msgid "This group chat is restricted to members only" +msgstr "Ce salon est réservé aux membres uniquement" + +#: gajim/gtk/groupchat_info.py:47 +msgid "?Group chat feature:Not Anonymous" +msgstr "Non anonyme" + +#: gajim/gtk/groupchat_info.py:48 +msgid "All other group chat participants can see your XMPP address" +msgstr "" +"Tous les autres participants du salon de discussion peuvent voir votre " +"adresse XMPP" + +#: gajim/gtk/groupchat_info.py:52 +msgid "?Group chat feature:Semi-Anonymous" +msgstr "Semi-anonyme" + +#: gajim/gtk/groupchat_info.py:53 +msgid "Only moderators can see your XMPP address" +msgstr "Seuls les modérateurs peuvent voir votre adresse XMPP" + +#: gajim/gtk/groupchat_info.py:56 +msgid "?Group chat feature:Moderated" +msgstr "Modéré" + +#: gajim/gtk/groupchat_info.py:57 +msgid "" +"Participants entering this group chat need to request permission to send " +"messages" +msgstr "" +"Les participants entrants dans ce salon doivent demander la permission avant " +"de pouvoir écrire des messages" + +#: gajim/gtk/groupchat_info.py:61 +msgid "?Group chat feature:Not Moderated" +msgstr "Non modéré" + +#: gajim/gtk/groupchat_info.py:62 +msgid "Participants entering this group chat are allowed to send messages" +msgstr "" +"Les participants qui rejoignent ce salon sont autorisés à écrire des messages" + +#: gajim/gtk/groupchat_info.py:66 +msgid "?Group chat feature:Public" +msgstr "Public" + +#: gajim/gtk/groupchat_info.py:67 +msgid "Group chat can be found via search" +msgstr "Ce salon peut être trouvé via une recherche" + +#: gajim/gtk/groupchat_info.py:70 +msgid "?Group chat feature:Hidden" +msgstr "Caché" + +#: gajim/gtk/groupchat_info.py:71 +msgid "This group chat can not be found via search" +msgstr "Ce salon ne peut pas être trouvé via une recherche" + +#: gajim/gtk/groupchat_info.py:74 +msgid "?Group chat feature:Password Required" +msgstr "Mot de passe requis" + +#: gajim/gtk/groupchat_info.py:75 +msgid "This group chat does require a password upon entry" +msgstr "L'accès à ce salon nécessite un mot de passe" + +#: gajim/gtk/groupchat_info.py:79 +msgid "?Group chat feature:No Password Required" +msgstr "Pas besoin de mot de passe" + +#: gajim/gtk/groupchat_info.py:80 +msgid "This group chat does not require a password upon entry" +msgstr "L'accès à ce salon ne nécessite pas de mot de passe" + +#: gajim/gtk/groupchat_info.py:84 +msgid "?Group chat feature:Persistent" +msgstr "Persistant" + +#: gajim/gtk/groupchat_info.py:85 +msgid "This group chat persists even if there are no participants" +msgstr "Ce salon continue d'exister même s'il n'y a plus aucun participant" + +#: gajim/gtk/groupchat_info.py:89 +msgid "?Group chat feature:Temporary" +msgstr "Temporaire" + +#: gajim/gtk/groupchat_info.py:90 +msgid "This group chat will be destroyed once the last participant left" +msgstr "" +"Ce salon sera automatiquement détruit lorsque le dernier participant l'aura " +"quitté" + +#: gajim/gtk/groupchat_info.py:94 +msgid "?Group chat feature:Archiving" +msgstr "Archivage" + +#: gajim/gtk/groupchat_info.py:95 +msgid "Messages are archived on the server" +msgstr "Les messages sont archivés sur le serveur" + +#: gajim/gtk/groupchat_info.py:205 +msgid "Website" +msgstr "Site Web" + +#: gajim/gtk/accounts.py:122 +msgid "Re-Login" +msgstr "Reconnexion" + +#: gajim/gtk/accounts.py:123 +msgid "Re-Login now?" +msgstr "Se reconnecter maintenant ?" + +#: gajim/gtk/accounts.py:124 +msgid "To apply all changes instantly, you have to re-login." +msgstr "" +"Si vous voulez que vos changements soient appliqués immédiatement, vous " +"devez vous reconnecter." + +#: gajim/gtk/accounts.py:128 +msgid "_Re-Login" +msgstr "_Reconnexion" + +#: gajim/gtk/accounts.py:311 gajim/data/gui/server_info.ui:386 +msgid "Connection" +msgstr "Connexion" + +#: gajim/gtk/accounts.py:496 +msgid "Please check if Bonjour is installed." +msgstr "Veuillez vérifier si Bonjour est installé." + +#: gajim/gtk/accounts.py:498 +msgid "Please check if Avahi is installed." +msgstr "Veuillez vérifier si Avahi est installé." + +#: gajim/gtk/accounts.py:537 +msgid "Disable Account" +msgstr "Désactiver le compte" + +#: gajim/gtk/accounts.py:538 +#, python-format +msgid "Account %s is still connected" +msgstr "Le compte \"%s\" est toujours connecté" + +#: gajim/gtk/accounts.py:539 +msgid "All chat and group chat windows will be closed." +msgstr "" +"Toutes les fenêtres de conversation et des salons de discussion seront " +"fermées." + +#: gajim/gtk/accounts.py:543 +msgid "_Disable Account" +msgstr "_Désactiver le compte" + +#: gajim/gtk/accounts.py:614 +msgid "Label" +msgstr "Étiquette" + +#: gajim/gtk/accounts.py:618 gajim/data/gui/groupchat_control.ui:99 +#: gajim/data/gui/chat_control.ui:363 +msgid "Color" +msgstr "Couleur" + +#: gajim/gtk/accounts.py:620 +msgid "Recognize your account by color" +msgstr "Reconnaître votre compte par sa couleur" + +#: gajim/gtk/accounts.py:622 +msgid "Login" +msgstr "Identifiant" + +#: gajim/gtk/accounts.py:627 +msgid "Import Contacts" +msgstr "Importer des contacts" + +#: gajim/gtk/accounts.py:636 gajim/gtk/accounts.py:865 +msgid "Connect on startup" +msgstr "Se connecter au démarrage" + +#: gajim/gtk/accounts.py:640 gajim/gtk/accounts.py:870 +msgid "Save conversations for all contacts" +msgstr "Garder l'historique des conversations pour tous les contacts" + +#: gajim/gtk/accounts.py:642 gajim/gtk/accounts.py:872 +msgid "Store conversations on the harddrive" +msgstr "Enregistrer les conversations sur le disque dur" + +#: gajim/gtk/accounts.py:644 gajim/gtk/accounts.py:874 +msgid "Global Status" +msgstr "Statut Global" + +#: gajim/gtk/accounts.py:646 +msgid "Synchronise the status of all accounts" +msgstr "Synchroniser le statut de tous les comptes" + +#: gajim/gtk/accounts.py:648 +msgid "Remember Last Status" +msgstr "Se souvenir de l'état précédent" + +#: gajim/gtk/accounts.py:650 +msgid "Restore status and status message of your last session" +msgstr "Rétablit l'état et le message d'état de votre dernière session" + +#: gajim/gtk/accounts.py:653 +msgid "Use file transfer proxies" +msgstr "Utiliser les serveurs mandataires pour les transferts de fichiers" + +#: gajim/gtk/accounts.py:670 +msgid "Forever" +msgstr "Pour toujours" + +#: gajim/gtk/accounts.py:671 gajim/common/const.py:1110 +msgid "1 Day" +msgstr "1 jour" + +#: gajim/gtk/accounts.py:672 gajim/common/const.py:1112 +msgid "1 Week" +msgstr "1 semaine" + +#: gajim/gtk/accounts.py:673 gajim/common/const.py:1113 +msgid "1 Month" +msgstr "1 mois" + +#: gajim/gtk/accounts.py:674 +msgid "3 Months" +msgstr "3 mois" + +#: gajim/gtk/accounts.py:675 +msgid "6 Months" +msgstr "6 mois" + +#: gajim/gtk/accounts.py:676 +msgid "1 Year" +msgstr "1 an" + +#: gajim/gtk/accounts.py:686 +msgid "Idle Time" +msgstr "Durée d’inactivité" + +#: gajim/gtk/accounts.py:688 +msgid "Disclose the time of your last activity" +msgstr "Divulguer l’heure de votre dernière activité" + +#: gajim/gtk/accounts.py:690 +msgid "Local System Time" +msgstr "Heure locale du système" + +#: gajim/gtk/accounts.py:692 +msgid "Disclose the local system time of the device Gajim runs on" +msgstr "" +"Divulguer l’heure locale du système du périphérique sur lequel tourne Gajim" + +#: gajim/gtk/accounts.py:695 +msgid "Client / Operating System" +msgstr "Client / Système d’exploitation" + +#: gajim/gtk/accounts.py:697 +msgid "" +"Disclose information about the client and operating system you currently use" +msgstr "" +"Divulguer des informations à propos du client et du système d’exploitation " +"que vous utilisez actuellement" + +#: gajim/gtk/accounts.py:700 +msgid "Ignore Unknown Contacts" +msgstr "Ignorer les contacts inconnus" + +#: gajim/gtk/accounts.py:702 +msgid "Ignore everything from contacts not in your Roster" +msgstr "Ignorer les messages des contacts qui ne sont pas dans votre liste" + +#: gajim/gtk/accounts.py:705 +msgid "Send Message Receipts" +msgstr "Émettre les accusés de réception" + +#: gajim/gtk/accounts.py:707 +msgid "Tell your contacts if you received a message" +msgstr "Indiquer à vos contacts si vous avez reçu un message" + +#: gajim/gtk/accounts.py:713 +msgid "Default for chats" +msgstr "Valeur par défaut pour les discussions" + +#: gajim/gtk/accounts.py:716 gajim/gtk/accounts.py:741 +msgid "Reset all chats to the current default value" +msgstr "Rétablir toutes les discussions à la valeur par défaut actuelle" + +#: gajim/gtk/accounts.py:722 +msgid "Send Chatstate in Group Chats" +msgstr "Envoyer l'état dans les chats de groupe" + +#: gajim/gtk/accounts.py:725 +msgid "Default for group chats" +msgstr "Valeur par défaut pour les salons de discussion" + +#: gajim/gtk/accounts.py:739 +msgid "Default for chats and private group chats" +msgstr "Valeur par défaut pour les discussions simples et pour les salons" + +#: gajim/gtk/accounts.py:747 +msgid "Keep Chat History" +msgstr "Conserver l'historique de discussion" + +#: gajim/gtk/accounts.py:751 +msgid "How long Gajim should keep your chat history" +msgstr "Combien de temps Gajim doit conserver votre historique de discussion" + +#: gajim/gtk/accounts.py:787 gajim/data/gui/manage_proxies.ui:337 +msgid "Proxy" +msgstr "Serveur mandataire" + +#: gajim/gtk/accounts.py:794 gajim/gtk/accounts.py:949 +#: gajim/data/gui/server_info.ui:20 +msgid "Hostname" +msgstr "Nom d'hôte" + +#: gajim/gtk/accounts.py:795 +msgid "Manually set the hostname for the server" +msgstr "Définir le nom du serveur manuellement" + +#: gajim/gtk/accounts.py:798 gajim/data/gui/vcard_information_window.ui:72 +msgid "Resource" +msgstr "Ressource" + +#: gajim/gtk/accounts.py:801 gajim/gtk/accounts.py:917 +#: gajim/gtk/accounts.py:925 +msgid "Priority" +msgstr "Priorité" + +#: gajim/gtk/accounts.py:804 +msgid "Use Unencrypted Connection" +msgstr "Utiliser un connexion non-chiffrée" + +#: gajim/gtk/accounts.py:806 gajim/common/config.py:273 +msgid "Use an unencrypted connection to the server" +msgstr "Utiliser une connexion chiffrée avec le serveur" + +#: gajim/gtk/accounts.py:808 +msgid "Confirm Unencrypted Connection" +msgstr "Confirmer la connexion non-chiffrée" + +#: gajim/gtk/accounts.py:811 +msgid "Show a confirmation dialog before connecting unencrypted" +msgstr "" +"Afficher une fenêtre de confirmation avant d'établir une connexion non-" +"chiffrée" + +#: gajim/gtk/accounts.py:835 gajim/data/gui/zeroconf_information_window.ui:8 +#: gajim/data/gui/vcard_information_window.ui:8 +#: gajim/data/gui/subscription_request_window.ui:164 +msgid "Contact Information" +msgstr "Informations du Contact" + +#: gajim/gtk/accounts.py:837 +msgid "Request contact information (Mood, Activity, Tune, Location)" +msgstr "" +"Réclamer des informations du contact (Humeur, Activité, Morceau de musique, " +"Géolocalisation)" + +#: gajim/gtk/accounts.py:840 +msgid "Accept all Contact Requests" +msgstr "Accepter toutes les requêtes de mise en contact" + +#: gajim/gtk/accounts.py:842 +msgid "Automatically accept all contact requests" +msgstr "Accepter automatiquement toutes les requêtes de mise en contact" + +#: gajim/gtk/accounts.py:844 +msgid "Filetransfer Preference" +msgstr "Préférence de Transfert de fichier" + +#: gajim/gtk/accounts.py:846 +msgid "Upload Files" +msgstr "Téléverser (via HTTP Upload)" + +#: gajim/gtk/accounts.py:847 +msgid "Send Files Directly" +msgstr "Envoyer les fichiers directement (via Jingle)" + +#: gajim/gtk/accounts.py:848 +msgid "Preferred file transfer mechanism for file drag&drop on a chat window" +msgstr "" +"Mécanisme de transfert préféré lors d'un cliquer-déposer sur une fenêtre de " +"discussion" + +#: gajim/gtk/accounts.py:867 +msgid "Use environment variable" +msgstr "Utiliser la variable d'environnement" + +#: gajim/gtk/accounts.py:876 +msgid "Synchronize the status of all accounts" +msgstr "Synchroniser l'état de tous les comptes" + +#: gajim/gtk/accounts.py:886 +msgid "First Name" +msgstr "Prénom" + +#: gajim/gtk/accounts.py:889 +msgid "Last Name" +msgstr "Nom" + +#: gajim/gtk/accounts.py:895 gajim/gtk/profile.py:32 gajim/gtk/vcard_grid.py:39 +msgid "Email" +msgstr "Courrier électronique" + +#: gajim/gtk/accounts.py:913 +msgid "Adjust to status" +msgstr "Ajuster selon l'état" + +#: gajim/gtk/accounts.py:945 +msgid "Enable" +msgstr "Activer" + +#: gajim/gtk/accounts.py:953 +msgid "Port" +msgstr "Port" + +#: gajim/gtk/accounts.py:957 gajim/data/gui/server_info.ui:250 +msgid "Type" +msgstr "Type" + +#: gajim/gtk/accounts.py:963 +msgid "Connection Settings" +msgstr "Paramètres de connexion" + +#: gajim/gtk/accounts.py:971 +msgid "Client Certificate" +msgstr "Certificat client" + +#: gajim/gtk/accounts.py:973 +msgid "PKCS12 Files" +msgstr "Fichier PKCS12" + +#: gajim/gtk/accounts.py:975 +msgid "Encrypted Certificate" +msgstr "Certificat chiffré" + +#: gajim/gtk/accounts.py:979 +msgid "Certificate Settings" +msgstr "Configuration du certificat" + +#: gajim/gtk/accounts.py:987 gajim/data/gui/account_wizard.ui:255 +#: gajim/data/gui/bookmarks.ui:102 +msgid "Password" +msgstr "Mot de passe" + +#: gajim/gtk/accounts.py:991 +msgid "Save Password" +msgstr "Enregistrer le mot de passe" + +#: gajim/gtk/accounts.py:999 +msgid "Login Settings" +msgstr "Paramètres de connexion" + +#: gajim/gtk/groupchat_config.py:39 +msgid "Group Chat Configuration" +msgstr "Configuration du salon de discussion" + +#: gajim/gtk/groupchat_config.py:104 gajim/common/helpers.py:283 +#: gajim/data/gui/groupchat_config.ui:40 +msgid "Member" +msgstr "Membre" + +#: gajim/gtk/groupchat_config.py:133 +msgid "A Group Chat needs at least one Owner" +msgstr "Un salon de discussion a besoin d'au moins un propriétaire" + +#: gajim/gtk/groupchat_config.py:241 +msgid "You are not allowed to modify the affiliation of Admins and Owners" +msgstr "" +"Vous n'êtes pas autorisé à modifier l'affiliation des administrateurs et des " +"propriétaires" + +#: gajim/gtk/groupchat_config.py:400 +msgid "An entry with this XMPP Address already exists" +msgstr "Une entrée avec cet identifiant XMPP existe déjà" + +#: gajim/gtk/server_info.py:142 gajim/data/gui/vcard_information_window.ui:89 +#: gajim/data/gui/preferences.ui:359 +msgid "Status" +msgstr "État" + +#: gajim/gtk/server_info.py:143 +msgid "Support" +msgstr "Support" + +#: gajim/gtk/server_info.py:144 +msgid "Security" +msgstr "Sécurité" + +#: gajim/gtk/server_info.py:145 +msgid "Feedback" +msgstr "Votre avis" + +#: gajim/gtk/server_info.py:146 +msgid "Abuse" +msgstr "Abus" + +#: gajim/gtk/server_info.py:147 +msgid "Sales" +msgstr "Ventes" + +#: gajim/gtk/server_info.py:231 +#, python-format +msgid "%(days)s days, %(hours)s hours" +msgstr "%(days)s jours, %(hours)s heures" + +#: gajim/gtk/server_info.py:239 gajim/gtk/vcard_grid.py:115 +#: gajim/common/helpers.py:224 +msgid "Unknown" +msgstr "Inconnu" + +#: gajim/gtk/server_info.py:360 +msgid "" +"\n" +"Disabled in preferences" +msgstr "" +"\n" +"Désactivé dans les préférences" + +#: gajim/gtk/history.py:79 +msgid "Conversation History" +msgstr "Historique de conversation" + +#: gajim/gtk/history.py:411 gajim/gtk/history.py:465 +msgid "Disk Error" +msgstr "Erreur du disque" + +#: gajim/gtk/history.py:576 +#, python-format +msgid "%(nick)s is now %(status)s: %(status_msg)s" +msgstr "%(nick)s est maintenant %(status)s : %(status_msg)s" + +#: gajim/gtk/history.py:581 gajim/common/connection_handlers_events.py:414 +#, python-format +msgid "%(nick)s is now %(status)s" +msgstr "%(nick)s est maintenant %(status)s" + +#: gajim/gtk/history.py:589 +#, python-format +msgid "Error: %s" +msgstr "Erreur : %s" + +#: gajim/gtk/history.py:593 +#, python-format +msgid "Status is now: %(status)s: %(status_msg)s" +msgstr "L'état est maintenant : %(status)s : %(status_msg)s" + +#: gajim/gtk/history.py:597 +#, python-format +msgid "Status is now: %(status)s" +msgstr "L'état est maintenant : %(status)s" + +#: gajim/gtk/about.py:51 +msgid "A GTK XMPP client" +msgstr "Un client XMPP en GTK" + +#: gajim/gtk/about.py:52 +#, python-format +msgid "GTK Version: %s" +msgstr "Version de GTK+ : %s" + +#: gajim/gtk/about.py:53 +#, python-format +msgid "GLib Version: %s" +msgstr "Version de GLib : %s" + +#: gajim/gtk/about.py:54 +#, python-format +msgid "PyGObject Version: %s" +msgstr "Version de PyGObject : %s" + +#: gajim/gtk/about.py:55 +#, python-format +msgid "python-nbxmpp Version: %s" +msgstr "Version de python-nbxmpp : %s" + +#: gajim/gtk/about.py:59 +msgid "Current Developers" +msgstr "Développeurs actuels" + +#: gajim/gtk/about.py:60 +msgid "Past Developers" +msgstr "Anciens développeurs" + +#: gajim/gtk/about.py:61 +msgid "Artists" +msgstr "Artistes" + +#: gajim/gtk/about.py:65 +msgid "Last but not least" +msgstr "Enfin et surtout" + +#: gajim/gtk/about.py:66 +msgid "we would like to thank all the package maintainers." +msgstr "nous voudrions remercier tous les mainteneurs de paquets." + +#: gajim/gtk/about.py:67 +msgid "Thanks" +msgstr "Merci" + +#: gajim/gtk/about.py:69 +msgid "translator-credits" +msgstr "" +"Yann Leboulanger \n" +"Jonathan Ernst \n" +"Florent Le Coz \n" +"ButterflyOfFire " + +#: gajim/gtk/search.py:95 gajim/gtk/search.py:191 +msgid "Search" +msgstr "Chercher" + +#: gajim/gtk/search.py:101 +msgid "New Search" +msgstr "Nouvelle recherche" + +#: gajim/gtk/search.py:176 +msgid "Request Search Form" +msgstr "Formulaire de recherche" + +#: gajim/gtk/search.py:236 +msgid "Search…" +msgstr "Rechercher…" + +#: gajim/gtk/search.py:243 +msgid "Search Result" +msgstr "Résultat de la recherche" + +#: gajim/gtk/search.py:250 +msgid "No results found" +msgstr "Aucun résultat trouvé" + +#: gajim/gtk/features.py:40 gajim/data/gui/server_info.ui:447 +msgid "Features" +msgstr "Fonctionnalités" + +#: gajim/gtk/features.py:90 +msgid "Audio / Video" +msgstr "Audio / Vidéo" + +#: gajim/gtk/features.py:92 +msgid "Enables Gajim to provide Audio and Video chats" +msgstr "Active les conversations audio et vidéo dans Gajim" + +#: gajim/gtk/features.py:93 +msgid "" +"Requires: gir1.2-farstream-0.2, gir1.2-gstreamer-1.0, gstreamer1.0-libav, " +"gstreamer1.0-plugins-ugly" +msgstr "" +"Nécessite : gir1.2-farstream-0.2, gir1.2-gstreamer-1.0, gstreamer1.0-libav, " +"gstreamer1.0-plugins-ugly" + +#: gajim/gtk/features.py:95 gajim/gtk/features.py:145 +msgid "Feature not available under Windows" +msgstr "Fonctionnalité indisponible sous Windows" + +#: gajim/gtk/features.py:97 +msgid "Automatic Status" +msgstr "État automatique" + +#: gajim/gtk/features.py:99 +msgid "" +"Enables Gajim to measure your computer's idle time in order to set your " +"Status automatically" +msgstr "" +"Autorise Gajim à mesurer le temps d’inactivité, afin de définir un état " +"automatique" + +#: gajim/gtk/features.py:101 +msgid "Requires: libxss" +msgstr "Nécessite : libxss" + +#: gajim/gtk/features.py:102 gajim/gtk/features.py:123 +msgid "No additional requirements" +msgstr "Pas d'exigences additionnelles" + +#: gajim/gtk/features.py:104 +msgid "Bonjour / Zeroconf (Serverless Chat)" +msgstr "Bonjour / Zeroconf (Discussion sans serveur)" + +#: gajim/gtk/features.py:106 +msgid "" +"Enables Gajim to automatically detected clients in a local network for " +"serverless chats" +msgstr "" +"Autorise Gajim à détecter automatiquement les clients joignables sur le " +"réseau local pour les discussions sans serveur" + +#: gajim/gtk/features.py:108 +msgid "Requires: gir1.2-avahi-0.6" +msgstr "Nécessite : gir1.2-avahi-0.6" + +#: gajim/gtk/features.py:109 +#, python-format +msgid "Requires: pybonjour and bonjour SDK running (%(url)s)" +msgstr "Nécessite : pybonjour et le SDK de bonjour lancé (%(url)s)" + +#: gajim/gtk/features.py:112 +msgid "Location detection" +msgstr "Géolocalisation" + +#: gajim/gtk/features.py:114 +msgid "" +"Enables Gajim to be location-aware, if the user decides to publish the " +"device’s location" +msgstr "Autorise Gajim à publier la géolocalisation si l'utilisateur le décide" + +#: gajim/gtk/features.py:116 +msgid "Requires: geoclue" +msgstr "Nécessite : geoclue" + +#: gajim/gtk/features.py:117 +msgid "Feature is not available under Windows" +msgstr "Fonctionnalité indisponible sous Windows" + +#: gajim/gtk/features.py:119 +msgid "Notification Sounds" +msgstr "Notifications sonores" + +#: gajim/gtk/features.py:121 +msgid "Enables Gajim to play sounds for various notifications" +msgstr "Permet à Gajim de jouer des sons pour les différentes notifications" + +#: gajim/gtk/features.py:122 +msgid "Requires: gsound" +msgstr "Nécessite : gsound" + +#: gajim/gtk/features.py:125 +msgid "Secure Password Storage" +msgstr "Stockage de mots de passe sécurisé" + +#: gajim/gtk/features.py:127 +msgid "" +"Enables Gajim to store Passwords securely instead of storing them in " +"plaintext" +msgstr "" +"Permet à Gajim de stocker les mots de passe de façon sécurisée plutôt qu'en " +"texte clair" + +#: gajim/gtk/features.py:129 +msgid "Requires: gnome-keyring or kwallet" +msgstr "Nécessite gnome-keyring or kwallet" + +#: gajim/gtk/features.py:130 +msgid "Windows Credential Vault is used for secure password storage" +msgstr "" +"Le coffre fort de Windows est utilisé pour le stockage sécurisé des mots de " +"passe" + +#: gajim/gtk/features.py:133 +msgid "Spell Checker" +msgstr "Vérificateur d'orthographe" + +#: gajim/gtk/features.py:135 +msgid "Enables Gajim to spell check your messages while composing" +msgstr "" +"Autorise Gajim à vérifier l'orthographe de vos messages pendant la saisie" + +#: gajim/gtk/features.py:137 gajim/gtk/features.py:138 +msgid "Requires: Gspell" +msgstr "Nécessite : Gspell" + +#: gajim/gtk/features.py:140 +msgid "UPnP-IGD Port Forwarding" +msgstr "Redirection de port UPnP-IGD" + +#: gajim/gtk/features.py:142 +msgid "" +"Enables Gajim to request your router to forward ports for file transfers" +msgstr "" +"Autorise Gajim à demander à votre routeur de transférer les ports pour les " +"transferts de fichiers" + +#: gajim/gtk/features.py:144 +msgid "Requires: gir1.2-gupnpigd-1.0" +msgstr "Nécessite : gir1.2-gupnpigd-1.0" + +#: gajim/gtk/features.py:200 +msgid "Disabled in Preferences" +msgstr "Désactivé dans les préférences" + +#: gajim/gtk/dialogs.py:55 gajim/gtk/filechoosers.py:179 +#: gajim/data/gui/groupchat_control.ui:674 +#: gajim/data/gui/groupchat_control.ui:766 +#: gajim/data/gui/groupchat_control.ui:882 +#: gajim/data/gui/groupchat_control.ui:974 +#: gajim/data/gui/groupchat_control.ui:1419 +#: gajim/data/gui/groupchat_control.ui:1545 +#: gajim/data/gui/groupchat_control.ui:1671 +#: gajim/data/gui/groupchat_control.ui:1842 +#: gajim/data/gui/groupchat_control.ui:1920 gajim/data/gui/filetransfers.ui:30 +#: gajim/data/gui/add_new_contact_window.ui:451 +#: gajim/data/gui/filetransfer_progress.ui:172 gajim/data/gui/profile.ui:260 +#: gajim/data/gui/passphrase_dialog.ui:29 +msgid "_Cancel" +msgstr "_Annuler" + +#: gajim/gtk/dialogs.py:65 gajim/data/gui/history_manager.ui:20 +msgid "_Delete" +msgstr "_Supprimer" + +#: gajim/gtk/dialogs.py:216 +msgid "Certificate" +msgstr "Certificat" + +#: gajim/gtk/dialogs.py:230 +#, python-format +msgid "" +"Certificate for \n" +"%s" +msgstr "" +"Certificat pour\n" +"%s" + +#: gajim/gtk/dialogs.py:279 +msgid "Issued to\n" +msgstr "Émis à\n" + +#: gajim/gtk/dialogs.py:280 gajim/gtk/dialogs.py:285 +msgid "Common Name (CN): " +msgstr "Nom commun (CN) : " + +#: gajim/gtk/dialogs.py:281 gajim/gtk/dialogs.py:286 +msgid "Organization (O): " +msgstr "Organisation (O) : " + +#: gajim/gtk/dialogs.py:282 gajim/gtk/dialogs.py:287 +msgid "Organizational Unit (OU): " +msgstr "Unité d'organisation (OU) : " + +#: gajim/gtk/dialogs.py:283 +msgid "Serial Number: " +msgstr "Numéro de série : " + +#: gajim/gtk/dialogs.py:284 +msgid "Issued by\n" +msgstr "Émis par\n" + +#: gajim/gtk/dialogs.py:288 +msgid "Validity\n" +msgstr "Validité\n" + +#: gajim/gtk/dialogs.py:289 +msgid "Issued on: " +msgstr "Émis le : " + +#: gajim/gtk/dialogs.py:290 +msgid "Expires on: " +msgstr "Expire le : " + +#: gajim/gtk/dialogs.py:291 +msgid "SHA-1:" +msgstr "SHA-1 :" + +#: gajim/gtk/dialogs.py:293 +msgid "SHA-256:" +msgstr "SHA-256 :" + +#: gajim/gtk/util.py:591 +msgid "Unknown Artist" +msgstr "Artiste Inconnu" + +#: gajim/gtk/util.py:592 +msgid "Unknown Title" +msgstr "Titre Iconnu" + +#: gajim/gtk/util.py:593 +msgid "Unknown Source" +msgstr "Source Inconnue" + +#: gajim/gtk/util.py:595 +#, python-format +msgid "" +"\"%(title)s\" by %(artist)s\n" +"from %(source)s" +msgstr "" +"« %(title)s » par %(artist)s\n" +"de %(source)s" + +#: gajim/gtk/profile.py:28 gajim/gtk/vcard_grid.py:33 +#: gajim/data/gui/vcard_information_window.ui:411 +msgid "Full Name" +msgstr "Nom complet" + +#: gajim/gtk/profile.py:29 gajim/gtk/vcard_grid.py:35 +#: gajim/data/gui/vcard_information_window.ui:770 +msgid "Birthday" +msgstr "Date de naissance" + +#: gajim/gtk/profile.py:30 gajim/gtk/vcard_grid.py:36 +msgid "Gender" +msgstr "Genre" + +#: gajim/gtk/profile.py:31 gajim/data/gui/groupchat_info_scrolled.ui:16 +msgid "Address" +msgstr "Adresse" + +#: gajim/gtk/profile.py:34 gajim/gtk/vcard_grid.py:38 +#: gajim/data/gui/vcard_information_window.ui:720 +#: gajim/data/gui/vcard_information_window.ui:1396 +msgid "Phone No." +msgstr "Numéro de téléphone" + +#: gajim/gtk/profile.py:35 +msgid "?profile:Organisation" +msgstr "Organisation" + +#: gajim/gtk/profile.py:36 gajim/gtk/vcard_grid.py:41 +msgid "?profile:Title" +msgstr "Titre" + +#: gajim/gtk/profile.py:37 gajim/gtk/vcard_grid.py:42 +msgid "?profile:Role" +msgstr "Rôle" + +#: gajim/gtk/profile.py:38 gajim/gtk/vcard_grid.py:45 +msgid "URL" +msgstr "URL" + +#: gajim/gtk/profile.py:39 gajim/gtk/vcard_grid.py:46 +msgid "?profile:Key" +msgstr "Clef publique PGP" + +#: gajim/gtk/profile.py:299 gajim/gtk/profile.py:301 +#: gajim/data/gui/profile.ui:98 gajim/data/gui/profile.ui:110 +msgid "Everyone" +msgstr "Tout le monde" + +#: gajim/gtk/profile.py:299 gajim/gtk/profile.py:301 +#: gajim/data/gui/shortcuts_window.ui:108 gajim/data/gui/groupchat_invite.ui:83 +msgid "Contacts" +msgstr "Contacts" + +#: gajim/gtk/filechoosers.py:88 +msgid "Choose File to Send…" +msgstr "Choisissez un fichier à envoyer…" + +#: gajim/gtk/filechoosers.py:94 +msgid "Choose Avatar…" +msgstr "Choisissez un avatar…" + +#: gajim/gtk/filechoosers.py:98 +msgid "PNG files" +msgstr "Fichiers PNG" + +#: gajim/gtk/filechoosers.py:99 +msgid "JPEG files" +msgstr "Fichiers JPEG" + +#: gajim/gtk/filechoosers.py:100 +msgid "SVG files" +msgstr "Fichiers SVG" + +#: gajim/gtk/filechoosers.py:102 +msgid "Images" +msgstr "Images" + +#: gajim/gtk/filechoosers.py:139 +msgid "Choose Archive" +msgstr "Choisissez une archive" + +#: gajim/gtk/filechoosers.py:141 +msgid "ZIP files" +msgstr "Fichier ZIP" + +#: gajim/gtk/filechoosers.py:146 +msgid "Save File as…" +msgstr "Enregistrer le fichier sous…" + +#: gajim/gtk/filechoosers.py:180 +msgid "_Open" +msgstr "_Ouvrir" + +#: gajim/gtk/blocking.py:38 +#, python-format +msgid "Blocking List for %s" +msgstr "Liste de blocage pour %s" + +#: gajim/gtk/blocking.py:64 +msgid "Error!" +msgstr "Erreur !" + +#: gajim/gtk/service_registration.py:143 gajim/gtk/service_registration.py:157 +#: gajim/gtk/service_registration.py:164 +msgid "Register" +msgstr "Souscrire" + +#: gajim/gtk/service_registration.py:193 gajim/gtk/service_registration.py:205 +msgid "Registration successful" +msgstr "L'inscription a réussi" + +#: gajim/gtk/service_registration.py:216 +msgid "Registration failed" +msgstr "L'inscription a échoué" + +#: gajim/gtk/vcard_grid.py:37 +msgid "?profile:Address" +msgstr "Adresse" + +#: gajim/gtk/vcard_grid.py:40 +msgid "IM Address" +msgstr "Adresse de messagerie instantanée" + +#: gajim/gtk/vcard_grid.py:43 +msgid "Organisation" +msgstr "Organisation" + +#: gajim/gtk/vcard_grid.py:44 +msgid "?profile:Note" +msgstr "Note" + +#: gajim/gtk/vcard_grid.py:51 +msgid "Your public key or authentication certificate" +msgstr "Votre clef publique ou certificat d'authentification" + +#: gajim/gtk/vcard_grid.py:59 +msgid "Post Office Box" +msgstr "Boîte postale" + +#: gajim/gtk/vcard_grid.py:60 gajim/data/gui/vcard_information_window.ui:489 +#: gajim/data/gui/vcard_information_window.ui:1179 +msgid "Street" +msgstr "Rue" + +#: gajim/gtk/vcard_grid.py:61 +msgid "Extended Address" +msgstr "Complément d'adresse" + +#: gajim/gtk/vcard_grid.py:62 gajim/data/gui/vcard_information_window.ui:505 +#: gajim/data/gui/vcard_information_window.ui:1195 +msgid "City" +msgstr "Ville" + +#: gajim/gtk/vcard_grid.py:63 gajim/data/gui/vcard_information_window.ui:521 +#: gajim/data/gui/vcard_information_window.ui:1211 +msgid "State" +msgstr "État" + +#: gajim/gtk/vcard_grid.py:64 gajim/data/gui/vcard_information_window.ui:595 +#: gajim/data/gui/vcard_information_window.ui:1244 +msgid "Postal Code" +msgstr "Code postal" + +#: gajim/gtk/vcard_grid.py:65 gajim/data/gui/vcard_information_window.ui:611 +#: gajim/data/gui/vcard_information_window.ui:1260 +msgid "Country" +msgstr "Pays" + +#: gajim/gtk/vcard_grid.py:111 +msgid "Male" +msgstr "Homme" + +#: gajim/gtk/vcard_grid.py:112 +msgid "Female" +msgstr "Femme" + +#: gajim/gtk/vcard_grid.py:113 +msgid "?Gender:Other" +msgstr "Autre" + +#: gajim/gtk/vcard_grid.py:114 +msgid "?Gender:None" +msgstr "Aucun" + +#: gajim/gtk/vcard_grid.py:121 gajim/gtk/vcard_grid.py:428 +msgid "Home" +msgstr "Domicile" + +#: gajim/gtk/vcard_grid.py:122 gajim/gtk/vcard_grid.py:429 +#: gajim/data/gui/vcard_information_window.ui:1452 +msgid "Work" +msgstr "Emploi" + +#: gajim/gtk/vcard_grid.py:598 +msgid "YYYY-MM-DD" +msgstr "AAAA-MM-JJ" + +#: gajim/gtk/adhoc.py:91 +msgid "Finish" +msgstr "Finir" + +#: gajim/gtk/adhoc.py:96 gajim/gtk/adhoc.py:283 +msgid "Commands" +msgstr "Commandes" + +#: gajim/gtk/adhoc.py:107 +msgid "Previous" +msgstr "Précédent" + +#: gajim/gtk/adhoc.py:112 +msgid "Execute" +msgstr "Exécuter" + +#: gajim/gtk/adhoc.py:196 +msgid "No commands available" +msgstr "Aucune commande n'est disponible" + +#: gajim/gtk/adhoc.py:244 +msgid "Request Command List" +msgstr "Obtenir la liste des commandes" + +#: gajim/gtk/adhoc.py:259 +msgid "Executing…" +msgstr "Exécution…" + +#: gajim/gtk/adhoc.py:266 +msgid "Command List" +msgstr "Liste des commandes" + +#: gajim/gtk/adhoc.py:321 gajim/data/gui/manage_proxies.ui:255 +msgid "Settings" +msgstr "Paramètres" + +#: gajim/gtk/adhoc.py:386 +msgid "Finished" +msgstr "Fini" + +#: gajim/gtk/adhoc.py:455 +msgid "Execution failed" +msgstr "L'exécution a échoué" + +#: gajim/common/jingle_rtp.py:133 +#, python-format +msgid "%s configuration error" +msgstr "%s erreur de configuration" + +#: gajim/common/jingle_rtp.py:134 +#, python-format +msgid "" +"Couldn’t set up %(text)s. Check your configuration.\n" +"Pipeline:\n" +"%(pipeline)s\n" +"Error:\n" +"%(error)s" +msgstr "" +"Impossible de configurer %(text)s. Vérifiez votre configuration.\n" +"Le pipeline :\n" +"%(pipeline)s\n" +"L'erreur :\n" +"%(error)s" + +#: gajim/common/jingle_rtp.py:416 +msgid "audio input" +msgstr "Entrée audio" + +#: gajim/common/jingle_rtp.py:421 +msgid "audio output" +msgstr "Sortie audio" + +#: gajim/common/jingle_rtp.py:489 +msgid "video input" +msgstr "Entrée vidéo" + +#: gajim/common/setting_values.py:300 gajim/common/config.py:356 +#: gajim/common/const.py:387 +msgid "Sleeping" +msgstr "Dort" + +#: gajim/common/setting_values.py:301 +msgid "ZZZZzzzzzZZZZZ" +msgstr "ZZZzzzzz" + +#: gajim/common/setting_values.py:306 gajim/common/config.py:357 +msgid "Back soon" +msgstr "Bientôt de retour" + +#: gajim/common/setting_values.py:307 gajim/common/config.py:357 +msgid "Back in some minutes." +msgstr "De retour dans quelques minutes." + +#: gajim/common/setting_values.py:309 gajim/common/config.py:358 +#: gajim/common/const.py:353 +msgid "Eating" +msgstr "Mange" + +#: gajim/common/setting_values.py:310 +msgid "I’m eating." +msgstr "Je suis entrain de manger." + +#: gajim/common/setting_values.py:314 gajim/common/config.py:359 +msgid "Movie" +msgstr "Film" + +#: gajim/common/setting_values.py:315 +msgid "I’m watching a movie." +msgstr "Je regarde un film." + +#: gajim/common/setting_values.py:319 gajim/common/config.py:360 +#: gajim/common/const.py:420 +msgid "Working" +msgstr "Travaille" + +#: gajim/common/setting_values.py:320 +msgid "I’m working." +msgstr "Je travaille." + +#: gajim/common/setting_values.py:324 gajim/common/config.py:362 +msgid "Out" +msgstr "Dehors" + +#: gajim/common/setting_values.py:325 +msgid "I’m out enjoying life." +msgstr "Je suis sorti·e profiter de la vie." + +#: gajim/common/setting_values.py:393 gajim/common/config.py:84 +msgid "" +"Allow to hide the contact list window even if the notification area icon is " +"not shown." +msgstr "" +"Autoriser à cacher la liste des contacts même si l'icône de notification " +"n'est pas affichée." + +#: gajim/common/setting_values.py:394 gajim/common/config.py:95 +msgid "" +"'always' - print time for every message.\n" +"'sometimes' - print time every print_ichat_every_foo_minutes minute.\n" +"'never' - never print time." +msgstr "" +"'always' - afficher l'heure pour chaque message.\n" +"'sometimes' - afficher l'heure pour chaque print_ichat_every_foo_minutes " +"minute.\n" +"'never' - ne jamais afficher l'heure." + +#: gajim/common/setting_values.py:395 gajim/common/config.py:99 +msgid "Treat * / _ pairs as possible formatting characters." +msgstr "Traiter les paires de * / _ comme d'éventuels caractères de formatage." + +#: gajim/common/setting_values.py:396 gajim/common/config.py:100 +msgid "" +"If enabled, do not remove */_ . So *abc* will be bold but with * * not " +"removed." +msgstr "" +"Si activé, ne supprime pas */_ . Donc *abc* sera en gras mais sans supprimer " +"les * *." + +#: gajim/common/setting_values.py:397 gajim/common/config.py:103 +msgid "" +"Character to add after nickname when using nickname completion (tab) in " +"group chat." +msgstr "" +"Caractère à ajouter après le surnom en utilisant la complétion automatique " +"(tab) dans un salon de discussion." + +#: gajim/common/setting_values.py:398 gajim/common/config.py:125 +msgid "" +"If enabled, Gajim will save the contact list window position when hiding it, " +"and restore it when showing the contact list window again." +msgstr "" +"Si activé, Gajim sauvera la position de la liste de contacts avant de la " +"cacher, et la restaurera en la faisant réapparaître." + +#: gajim/common/setting_values.py:399 gajim/common/config.py:131 +msgid "Place the contact list on the right in single window mode" +msgstr "Placer la liste de contacts sur la droite dans le monde fenêtre unique" + +#: gajim/common/setting_values.py:400 gajim/common/config.py:137 +msgid "" +"This option lets you customize the timestamp that is printed in " +"conversation. For example '[%H:%M] ' will show '[hour:minute] '. See python " +"doc on strftime for full documentation (https://docs.python.org/3/library/" +"time.html#time.strftime)." +msgstr "" +"Cette option vous permet de configurer l’heure affichée dans les " +"conversations. Par exemple \"[%H:%M] \" affichera \"[heure:minute] \". " +"Consultez la documentation python à propos de strftime pour une " +"documentation complète : (https://docs.python.org/3/library/time.html#time." +"strftime)." + +#: gajim/common/setting_values.py:401 gajim/common/config.py:138 +msgid "Characters that are printed before the nickname in conversations." +msgstr "Caractères affichés avant le surnom dans les conversations." + +#: gajim/common/setting_values.py:402 gajim/common/config.py:139 +msgid "Characters that are printed after the nickname in conversations." +msgstr "Caractères affichés après le surnom dans les conversations." + +#: gajim/common/setting_values.py:403 gajim/common/config.py:140 +msgid "If enabled, Gajim will add * and [n] in contact list window title." +msgstr "" +"Si cette case est cochée, Gajim ajoutera * et [n] dans le titre de la " +"fenêtre de contacts." + +#: gajim/common/setting_values.py:404 gajim/common/config.py:141 +msgid "" +"Number of messages from chat history to be restored when a chat tab/window " +"is reopened." +msgstr "" +"Nombre de messages de l'historique à afficher lorsque l'onglet ou la fenêtre " +"de discussion est ouvert à nouveau." + +#: gajim/common/setting_values.py:405 gajim/common/config.py:142 +msgid "" +"How far back in time (minutes) chat history is restored. -1 means no limit." +msgstr "" +"De combien doit-on remonter dans le temps (en minutes) lors de la " +"restauration de l'historique. -1 signifie pas de limite." + +#: gajim/common/setting_values.py:406 gajim/common/config.py:143 +msgid "Send message on Ctrl+Enter and make a new line with Enter." +msgstr "Envoyer le message avec Ctrl+Entrée et aller à la ligne avec Entrée." + +#: gajim/common/setting_values.py:407 gajim/common/config.py:145 +msgid "How many lines to store for Ctrl+KeyUP (previously sent messages)." +msgstr "" +"Nombre de lignes à stocker pour Ctrl+flèche du haut (messages précédemment " +"envoyés)." + +#: gajim/common/setting_values.py:409 gajim/common/config.py:148 +#, python-format +msgid "" +"Either a custom URL with %%s in it (where %%s is the word/phrase) or " +"'WIKTIONARY' (which means use Wikitionary)." +msgstr "" +"Soit une URL personnalisée contenant %%s (où %%s est le mot/la phrase), soit " +"\"WIKITIONARY\" (ce qui signifie l'utilisation de Wikitionary)." + +#: gajim/common/setting_values.py:412 gajim/common/config.py:151 +msgid "If checked, Gajim can be controlled remotely using gajim-remote." +msgstr "" +"Si cette case est cochée, Gajim pourra être contrôlé à distance via gajim-" +"remote." + +#: gajim/common/setting_values.py:413 +msgid "" +"When not printing time for every message ('print_time'==sometimes, print it " +"every x minutes." +msgstr "" +"Au lieu d'afficher l'heure à chaque message ('print_time'==sometimes), " +"l'afficher toutes les x minutes." + +#: gajim/common/setting_values.py:414 gajim/common/config.py:153 +msgid "Ask before pasting an image." +msgstr "Demander avant de coller une image." + +#: gajim/common/setting_values.py:415 gajim/common/config.py:154 +msgid "Ask before closing a group chat tab/window." +msgstr "" +"Demander avant de fermer un onglet ou une fenêtre de discussion de salon." + +#: gajim/common/setting_values.py:416 gajim/common/config.py:155 +msgid "" +"Ask before closing tabbed chat window if there are chats that can lose data " +"(chat, private chat, group chat that will not be minimized)." +msgstr "" +"Demander avant de fermer une fenêtre contenant des onglets si des données " +"peuvent être perdues (conversations, conversations privées, salons qui se " +"seront pas minimisés)." + +#: gajim/common/setting_values.py:418 gajim/common/config.py:158 +msgid "" +"List of send hosts (comma separated) in addition to local interfaces for " +"file transfers (in case of address translation/port forwarding)." +msgstr "" +"Liste d'hôtes que nous envoyons (séparées par des espaces), en plus des " +"interfaces locales, pour les transferts de fichiers (dans le cas de " +"traduction d'adresse / redirection de port)." + +#: gajim/common/setting_values.py:419 gajim/common/config.py:159 +msgid "IEC standard says KiB = 1024 bytes, KB = 1000 bytes." +msgstr "D'après le standard IEC, KiB = 1024 octets, KB = 1000 octets." + +#: gajim/common/setting_values.py:421 gajim/common/config.py:161 +msgid "Notify of events in the notification area." +msgstr "M'alerter à l'aide de l'icône dans la zone de notifications." + +#: gajim/common/setting_values.py:422 gajim/common/config.py:166 +msgid "Show tab when only one conversation?" +msgstr "Montrer l'onglet quand il n'y a qu'une discussion ?" + +#: gajim/common/setting_values.py:423 gajim/common/config.py:167 +msgid "Show tabbed notebook border in chat windows?" +msgstr "Afficher la bordure des blocs à onglets, dans les fenêtres de chat ?" + +#: gajim/common/setting_values.py:424 gajim/common/config.py:168 +msgid "Show close button in tab?" +msgstr "Afficher le bouton fermer sur l'onglet ?" + +#: gajim/common/setting_values.py:425 gajim/common/config.py:169 +msgid "Preview new messages in notification popup?" +msgstr "Aperçu des nouveaux messages dans une popup ?" + +#: gajim/common/setting_values.py:426 gajim/common/config.py:172 +msgid "" +"A list of words (semicolon separated) that will be highlighted in group " +"chats." +msgstr "" +"Une liste de mots (séparés par des points-virgules) qui seront mis en " +"surbrillance dans les salons." + +#: gajim/common/setting_values.py:427 gajim/common/config.py:174 +msgid "" +"If enabled, Gajim hides the contact list window when pressing the X button " +"instead of minimizing into the notification area." +msgstr "" +"Si activé, Gajim cache la fenêtre de la liste des contacts lorsqu'on appuie " +"sur le bouton X au lieu de la minimiser dans la barre de notification." + +#: gajim/common/setting_values.py:432 gajim/common/config.py:181 +msgid "" +"Define the position of avatars in the contact list. Can be 'left' or 'right'." +msgstr "" +"Définir la position de l'avatar dans la liste des contacts. Peut être à " +"droite (« right ») ou à gauche (« left »)." + +#: gajim/common/setting_values.py:433 gajim/common/config.py:186 +msgid "Don't show contact list window in the system taskbar." +msgstr "" +"Ne pas afficher la fenêtre de la liste de contacts dans la barre des tâches." + +#: gajim/common/setting_values.py:434 gajim/common/config.py:187 +msgid "" +"If enabled, Gajim makes the window flash (the default behaviour in most " +"Window Managers) when holding pending events." +msgstr "" +"Si activé, Gajim fait clignoter (comportement par défaut dans la plupart des " +"gestionnaires de fenêtres) la fenêtre quand elle contient des événements non " +"lus." + +#: gajim/common/setting_values.py:436 gajim/common/config.py:193 +msgid "If enabled, pressing Esc closes a tab/window." +msgstr "" +"Si activé, appuyer sur la touche d'échappement fermera l'onglet ou la " +"fenêtre de conversation." + +#: gajim/common/setting_values.py:437 gajim/common/config.py:194 +msgid "Hides the banner in a group chat window." +msgstr "Cacher la bannière dans la fenêtre de salon de discussion." + +#: gajim/common/setting_values.py:438 gajim/common/config.py:195 +msgid "Hides the banner in a 1:1 chat window." +msgstr "Cacher la bannière dans la fenêtre de discussion 1:1." + +#: gajim/common/setting_values.py:439 gajim/common/config.py:196 +msgid "Hides the group chat participants list in a group chat window." +msgstr "" +"Cache la liste des participants du salon dans la fenêtres des salons de " +"discussion." + +#: gajim/common/setting_values.py:440 gajim/common/config.py:197 +msgid "" +"In a chat, show the nickname at the beginning of a line only when it's not " +"the same person talking as in the previous message." +msgstr "" +"Dans une conversation, affiche le surnom au début d'une ligne seulement " +"lorsque ce n'est pas la même personne qui a écrit le message précédent." + +#: gajim/common/setting_values.py:441 gajim/common/config.py:198 +msgid "Indentation when using merge consecutive nickname." +msgstr "Indentation lors du fusionnement d'un surnom répété." + +#: gajim/common/setting_values.py:442 gajim/common/config.py:199 +msgid "" +"Ctrl+Tab switches to the next composing tab when there are no tabs with " +"messages pending." +msgstr "" +"Ctrl+Tab bascule au prochain onglet en train d'écrire lorsqu'il n'y en a pas " +"d'autres avec des messages non lus." + +#: gajim/common/setting_values.py:443 gajim/common/config.py:200 +msgid "" +"Show a confirmation dialog to create metacontacts? Empty string means never " +"show the dialog." +msgstr "" +"Afficher une fenêtre de confirmation pour créer un méta-contact ? Une valeur " +"vide signifie ne jamais l'afficher." + +#: gajim/common/setting_values.py:444 gajim/common/config.py:201 +msgid "" +"Show a confirmation dialog to block a contact? Empty string means never show " +"the dialog." +msgstr "" +"Afficher une fenêtre de confirmation pour bloquer un contact ? Une valeur " +"vide signifie ne jamais l'afficher." + +#: gajim/common/setting_values.py:445 gajim/common/config.py:202 +msgid "" +"If enabled, you will be able to set a negative priority to your account in " +"the Accounts window. BE CAREFUL, when you are logged in with a negative " +"priority, you will NOT receive any message from your server." +msgstr "" +"Si activé, vous serez en mesure de spécifier une priorité négative à votre " +"compte dans la fenêtre de gestion de comptes. ATTENTION, lorsque vous êtes " +"connecté avec une priorité négative, vous ne recevrez AUCUN message de votre " +"serveur." + +#: gajim/common/setting_values.py:446 gajim/common/config.py:203 +msgid "" +"If enabled, Gajim will show both the number of online and total contacts in " +"account rows as well as in group rows." +msgstr "" +"Si cette option est activée, Gajim affichera à la fois le nombre de contacts " +"en ligne et le nombre total de contacts dans les lignes de compte ainsi que " +"dans les lignes de groupe." + +#: gajim/common/setting_values.py:447 gajim/common/config.py:204 +msgid "" +"If enabled, Gajim will scroll and select the contact who sent you the last " +"message, if the chat window is not already opened." +msgstr "" +"Si activé, Gajim défilera et sélectionnera le contact qui vous a envoyé le " +"dernier message, si la fenêtre de conversation n'est pas déjà ouverte." + +#: gajim/common/setting_values.py:448 gajim/common/config.py:205 +msgid "Time of inactivity needed before the change status window closes down." +msgstr "" +"Temps d'inactivité nécessaire pour que la fenêtre de changement de statut se " +"ferme." + +#: gajim/common/setting_values.py:449 gajim/common/config.py:206 +msgid "" +"Maximum number of lines that are printed in conversations. Oldest lines are " +"cleared." +msgstr "" +"Nombre maximum de lignes affichées dans les conversations. Les lignes les " +"plus vieilles sont effacées." + +#: gajim/common/setting_values.py:450 gajim/common/config.py:208 +msgid "" +"If enabled, completion in group chats will be like a shell auto-completion." +msgstr "" +"Si cette case est cochée, la complétion dans les salons sera similaire à " +"celle d'un shell." + +#: gajim/common/setting_values.py:451 gajim/common/config.py:217 +msgid "" +"If enabled, Gajim will try to use a STUN server when using Jingle. The one " +"in 'stun_server' option, or the one given by the XMPP server." +msgstr "" +"Si activé, Gajim essaiera d'utiliser un serveur STUN lors de l'utilisation " +"de Jingle. Celui défini dans l'option « stun_server », ou celui donné par le " +"serveur XMPP." + +#: gajim/common/setting_values.py:452 gajim/common/config.py:218 +msgid "STUN server to use when using Jingle" +msgstr "Serveur STUN à utiliser avec Jingle" + +#: gajim/common/setting_values.py:453 gajim/common/config.py:220 +msgid "If enabled, Gajim will ignore incoming attention requests ('wizz')." +msgstr "Si activé, Gajim ignorera les demandes d'attention (wizz)." + +#: gajim/common/setting_values.py:454 gajim/common/config.py:221 +msgid "" +"If enabled, Gajim will reopen chat windows that were opened last time Gajim " +"was closed." +msgstr "" +"Si activé, Gajim rouvrira les fenêtres de discussion ouvertes lors de la " +"dernière fermeture de Gajim." + +#: gajim/common/setting_values.py:455 gajim/common/config.py:224 +msgid "If enabled, Gajim will execute XEP-0146 Commands." +msgstr "Si activé, Gajim exécutera les commandes de XEP-0146." + +#: gajim/common/setting_values.py:458 gajim/common/config.py:236 +msgid "API Preferences. Possible values: 'http', 'iq'" +msgstr "Préférences de l'API. Valeurs possibles : 'http', 'iq'" + +#: gajim/common/setting_values.py:459 gajim/common/config.py:237 +msgid "If enabled, Gajim will execute commands (/show, /sh, /execute, /exec)." +msgstr "" +"Si activé, Gajim exécutera les commandes (/show, /sh, /execute, /exec)." + +#: gajim/common/setting_values.py:460 gajim/common/config.py:238 +msgid "Width of group chat roster in pixel" +msgstr "Largeur en pixels de la liste des participants des salons de discussion" + +#: gajim/common/setting_values.py:461 gajim/common/config.py:239 +msgid "Force Bookmark 2 usage" +msgstr "Forcer l'utilisation des marques-pages version 2" + +#: gajim/common/multimedia_helpers.py:51 +msgid "Default device" +msgstr "Périphérique par défaut" + +#: gajim/common/multimedia_helpers.py:72 +msgid "Audio test" +msgstr "Test audio" + +#: gajim/common/multimedia_helpers.py:75 gajim/common/multimedia_helpers.py:91 +#: gajim/common/multimedia_helpers.py:105 +msgid "Autodetect" +msgstr "Autodétection" + +#: gajim/common/multimedia_helpers.py:78 gajim/common/multimedia_helpers.py:93 +#, python-format +msgid "ALSA: %s" +msgstr "ALSA : %s" + +#: gajim/common/multimedia_helpers.py:81 gajim/common/multimedia_helpers.py:95 +#, python-format +msgid "Pulse: %s" +msgstr "Pulse : %s" + +#: gajim/common/multimedia_helpers.py:89 +msgid "Fake audio output" +msgstr "Sortie audio feinte" + +#: gajim/common/multimedia_helpers.py:102 +msgid "Video test" +msgstr "Test vidéo" + +#: gajim/common/multimedia_helpers.py:107 +msgid "Pipewire" +msgstr "Pipewire" + +#: gajim/common/multimedia_helpers.py:109 +#, python-format +msgid "V4L2: %s" +msgstr "V4L2 : %s" + +#: gajim/common/multimedia_helpers.py:111 +msgid "X11" +msgstr "X11" + +#: gajim/common/multimedia_helpers.py:113 +msgid "Windows" +msgstr "Windows" + +#: gajim/common/multimedia_helpers.py:115 +msgid "macOS" +msgstr "macOS" + +#: gajim/common/helpers.py:176 +msgid "_Busy" +msgstr "_Occupé⋅e" + +#: gajim/common/helpers.py:178 +msgid "Busy" +msgstr "Occupé⋅e" + +#: gajim/common/helpers.py:181 +msgid "_Not Available" +msgstr "_Non disponible" + +#: gajim/common/helpers.py:183 +msgid "Not Available" +msgstr "Non disponible" + +#: gajim/common/helpers.py:186 +msgid "_Free for Chat" +msgstr "Dis_ponible pour discuter" + +#: gajim/common/helpers.py:188 +msgid "Free for Chat" +msgstr "Disponible pour discuter" + +#: gajim/common/helpers.py:191 +msgid "?user status:_Available" +msgstr "?user status:_Disponible" + +#: gajim/common/helpers.py:193 +msgid "?user status:Available" +msgstr "?user status:Disponible" + +#: gajim/common/helpers.py:195 +msgid "Connecting" +msgstr "Connexion" + +#: gajim/common/helpers.py:198 +msgid "A_way" +msgstr "_Absent⋅e" + +#: gajim/common/helpers.py:203 +msgid "_Offline" +msgstr "_Hors-ligne" + +#: gajim/common/helpers.py:205 +msgid "Offline" +msgstr "Hors-ligne" + +#: gajim/common/helpers.py:209 +msgid "?contact has status:Unknown" +msgstr "Inconnu" + +#: gajim/common/helpers.py:211 +msgid "?contact has status:Has errors" +msgstr "en erreur" + +#: gajim/common/helpers.py:216 +msgid "?Subscription we already have:None" +msgstr "Aucune" + +#: gajim/common/helpers.py:218 +msgid "To" +msgstr "À" + +#: gajim/common/helpers.py:220 gajim/data/gui/groups_post_window.ui:33 +msgid "From" +msgstr "De" + +#: gajim/common/helpers.py:222 +msgid "Both" +msgstr "Les deux" + +#: gajim/common/helpers.py:230 +msgid "?Ask (for Subscription):None" +msgstr "Aucune" + +#: gajim/common/helpers.py:232 +msgid "Subscribe" +msgstr "S'inscrire" + +#: gajim/common/helpers.py:244 +msgid "?Group Chat Contact Role:None" +msgstr "Aucun" + +#: gajim/common/helpers.py:247 +msgid "Moderators" +msgstr "Modérateurs" + +#: gajim/common/helpers.py:249 +msgid "Moderator" +msgstr "Modérateur" + +#: gajim/common/helpers.py:252 gajim/data/gui/groupchat_info_scrolled.ui:182 +msgid "Participants" +msgstr "Participants" + +#: gajim/common/helpers.py:254 +msgid "Participant" +msgstr "Participant" + +#: gajim/common/helpers.py:257 +msgid "Visitors" +msgstr "Visiteurs" + +#: gajim/common/helpers.py:259 +msgid "Visitor" +msgstr "Visiteur" + +#: gajim/common/helpers.py:268 +msgid "?Group Chat Contact Affiliation:None" +msgstr "?Group Chat Contact Affiliation:Aucune" + +#: gajim/common/helpers.py:271 +msgid "Owners" +msgstr "Propriétaires" + +#: gajim/common/helpers.py:273 gajim/data/gui/groupchat_config.ui:32 +msgid "Owner" +msgstr "Propriétaire" + +#: gajim/common/helpers.py:276 +msgid "Administrators" +msgstr "Administrateurs" + +#: gajim/common/helpers.py:278 +msgid "Administrator" +msgstr "Administrateur" + +#: gajim/common/helpers.py:281 +msgid "Members" +msgstr "Membres" + +#: gajim/common/helpers.py:320 +msgid "is paying attention to the conversation" +msgstr "prête attention à la conversation" + +#: gajim/common/helpers.py:322 +msgid "is doing something else" +msgstr "fait quelque chose d'autre" + +#: gajim/common/helpers.py:324 +msgid "is composing a message…" +msgstr "écrit un message…" + +#: gajim/common/helpers.py:327 +msgid "paused composing a message" +msgstr "a arrêté d'écrire un message" + +#: gajim/common/helpers.py:329 +msgid "has closed the chat window or tab" +msgstr "a fermé la fenêtre ou l'onglet de discussion" + +#: gajim/common/helpers.py:719 gajim/common/helpers.py:727 +#, python-format +msgid "%d message pending" +msgid_plural "%d messages pending" +msgstr[0] "%d message en attente" +msgstr[1] "%d messages en attente" + +#: gajim/common/helpers.py:736 +#, python-format +msgid "from group chat %s" +msgstr "depuis le salon de discussion %s" + +#: gajim/common/helpers.py:739 gajim/common/helpers.py:760 +#, python-format +msgid "from user %s" +msgstr "de l'utilisateur %s" + +#: gajim/common/helpers.py:741 +#, python-format +msgid "from %s" +msgstr "de %s" + +#: gajim/common/helpers.py:747 gajim/common/helpers.py:755 +#, python-format +msgid "%d event pending" +msgid_plural "%d events pending" +msgstr[0] "%d évènement en attente" +msgstr[1] "%d événements en attente" + +#: gajim/common/helpers.py:828 gajim/data/gui/add_new_contact_window.ui:20 +msgid "I would like to add you to my contact list." +msgstr "Je souhaiterais vous ajouter à ma liste de contacts." + +#: gajim/common/helpers.py:830 +msgid "Hello, I am $name." +msgstr "Bonjour, je m'appelle $name." + +#: gajim/common/config.py:71 +msgid "Play sound even when being busy." +msgstr "Jouer les sons même quand vous êtes occupé⋅e." + +#: gajim/common/config.py:73 +msgid "Show only online and free for chat contacts in the contact list." +msgstr "" +"Afficher uniquement les contacts « En ligne » et « Disponible pour discuter " +"» dans la liste des contacts." + +#: gajim/common/config.py:76 +msgid "Time in minutes, after which your status changes to away." +msgstr "Temps en minutes, au bout duquel votre état basculera absent⋅e." + +#: gajim/common/config.py:77 +msgid "$S (Away: Idle more than $T min)" +msgstr "$S (Absent⋅e : inactif plus de $T min)" + +#: gajim/common/config.py:77 +msgid "" +"$S will be replaced by current status message, $T by the 'autoawaytime' " +"value." +msgstr "" +"$S sera remplacé par le message de statut, $T par la valeur de " +"'autoawaytime'." + +#: gajim/common/config.py:79 +msgid "Time in minutes, after which your status changes to not available." +msgstr "Temps en minutes après lequel votre état basculera à non disponible." + +#: gajim/common/config.py:80 +msgid "$S (Not available: Idle more than $T min)" +msgstr "$S (Non disponible : inactif plus de $T min)" + +#: gajim/common/config.py:80 +msgid "" +"$S will be replaced by current status message, $T by the 'autoxatime' value." +msgstr "" +"$S sera remplacé par le message de statut, $T par la valeur de 'autoxatime'." + +#: gajim/common/config.py:83 +msgid "" +"When to show the notification area icon. Can be 'never', 'on_event', and " +"'always'." +msgstr "" +"Quand afficher l'icône dans la zone de notifications. Peut être \"never" +"\" (jamais), \"on_event\" (lorsqu'il y a un évènement en attente) ou \"always" +"\" (toujours)." + +#: gajim/common/config.py:87 +msgid "" +"List of rows (accounts and groups) that are collapsed (space separated)." +msgstr "" +"Liste (séparée par des espaces) de lignes (comptes et groupes) qui sont " +"repliées." + +#: gajim/common/config.py:94 gajim/common/config.py:335 +#: gajim/common/config.py:342 +msgid "Language used for spell checking." +msgstr "Langue utilisée pour la vérificateur orthographique." + +#: gajim/common/config.py:97 +msgid "When enabled, ASCII emojis will be converted to graphical emojis." +msgstr "Si activé, les émojis ASCII seront transformés en émojis graphiques." + +#: gajim/common/config.py:152 +msgid "" +"When not printing time for every message ('print_time'==sometimes), print it " +"every x minutes." +msgstr "" +"Au lieu d'afficher l'heure à chaque message ('print_time'==sometimes), " +"l'afficher toutes les x minutes." + +#: gajim/common/config.py:173 +msgid "" +"If enabled, Gajim quits when clicking the X button of your Window Manager. " +"This setting is taken into account only if the notification area icon is " +"used." +msgstr "" +"Si activé, quitte Gajim quand on clique sur le bouton X du gestionnaire de " +"fenêtre. Cette option n'est prise en compte que si la barre de notification " +"est utilisée." + +#: gajim/common/config.py:175 +msgid "" +"If enabled, Gajim will display the status message (if not empty) underneath " +"the contact name in the contact list window." +msgstr "" +"Si activé, Gajim affichera le message d'état, s'il n'est pas vide, sous le " +"nom de chaque contact dans la liste des contacts." + +#: gajim/common/config.py:182 +msgid "" +"If disabled, Gajim will no longer print status messages in chats when a " +"contact changes their status (and/or their status message)." +msgstr "" +"Si désactivé, vous ne verrez plus les messages d'état dans les conversations " +"quand un contact modifie son état (et/ou son message d'état)." + +#: gajim/common/config.py:183 +msgid "" +"Default Setting: Show a status message for every join or leave in a group " +"chat." +msgstr "" +"Paramètres par défaut : Montrer le message d’état pour chaque connexion ou " +"déconnexion du salon de discussion." + +#: gajim/common/config.py:184 +msgid "" +"Default Setting: Show a status message for all status changes (away, dnd, " +"etc.) of users in a group chat." +msgstr "" +"Paramètres par défaut : montrer un message d'état pour chaque changement " +"d’état (absent, ne pas déranger, etc.) des utilisateurs dans un salon de " +"discussion." + +#: gajim/common/config.py:191 +msgid "" +"Controls the window where new messages are placed.\n" +"'always' - All messages are sent to a single window.\n" +"'always_with_roster' - Like 'always' but the messages are in a single window " +"along with the contact list.\n" +"'never' - All messages get their own window.\n" +"'peracct' - Messages for each account are sent to a specific window.\n" +"'pertype' - Each message type (e.g. chats vs. group chats) is sent to a " +"specific window." +msgstr "" +"Contrôle la fenêtre dans laquelle sont placées les nouvelles conversations.\n" +"« always » - Toutes les conversations dans une unique fenêtre.\n" +"« always_with_roster » - Comme « always » mais les conversations sont dans " +"une unique fenêtre avec la liste de contacts.\n" +"« never » - Toutes les conversations ont leur propre fenêtre.\n" +"« peracct » - Toutes les conversations d'un même compte dans la même " +"fenêtre.\n" +"« pertype » - Toutes les conversations d'un même type (discussion, salon) " +"dans la même fenêtre." + +#: gajim/common/config.py:192 +msgid "" +"Show contact list window on startup.\n" +"'always' - Always show contact list window.\n" +"'never' - Never show contact list window.\n" +"'last_state' - Restore last state of the contact list window." +msgstr "" +"Montrer la liste de contacts au démarrage.\n" +"« always » - Toujours montrer.\n" +"« never » - Jamais montrer.\n" +"« last_state » - Restaurer le dernier état." + +#: gajim/common/config.py:207 +msgid "" +"Valid URI schemes. Only schemes in this list will be accepted as 'real' URI " +"(mailto and xmpp are handled separately)." +msgstr "" +"Schémas d'URI valides. Seuls les schémas dans cette liste seront acceptés " +"comme « véritables » URI. (mailto et xmpp sont gérés séparément)." + +#: gajim/common/config.py:212 +msgid "Optionally fix Jingle output video framerate. Example: 10/1 or 25/2." +msgstr "" +"Fixe éventuellement le nombre d'images par seconde pour la sortie vidéo " +"Jingle. Exemple : 10/1 ou 25/2." + +#: gajim/common/config.py:213 +msgid "Optionally resize Jingle output video. Example: 320x240." +msgstr "Redimensionne éventuellement la sortie vidéo Jingle. Exemple : 320x240." + +#: gajim/common/config.py:214 +msgid "If enabled, you will see your webcam's video stream as well." +msgstr "Si activé, vous verrez également la vidéo de votre propre webcam." + +#: gajim/common/config.py:219 +msgid "" +"Proxy used for all outgoing connections if the account does not have a " +"specific proxy configured." +msgstr "" +"Serveur mandataire utilisé pour toutes les connexions sortantes si le compte " +"n'a pas de serveur mandataire spécifique configuré." + +#: gajim/common/config.py:222 +msgid "" +"If enabled, Gajim will display an icon to show that sent messages have been " +"received by your contact." +msgstr "" +"Si activé, Gajim affichera un icône indiquant si les messages envoyés ont " +"été reçus par votre contact." + +#: gajim/common/config.py:223 +msgid "" +"If enabled, Gajim will use the System's Keyring to store account passwords." +msgstr "" +"Si activé, Gajim utilisera le trousseau de clé du système pour stocker les " +"mots de passe des comptes." + +#: gajim/common/config.py:225 +msgid "2: System, 1: Enabled, 0: Disabled" +msgstr "2 : Système, 1 : Activé, 0 : Désactivé" + +#: gajim/common/config.py:226 +msgid "" +"Maximum history in days we request from a public group chat archive. 0: As " +"much as possible." +msgstr "" +"Nombre de jours d'historique demandé au serveur lorsque l'on rejoint un " +"salon publique. 0 : Autant que possible." + +#: gajim/common/config.py:227 +msgid "" +"Maximum history in days we request from a private group chat archive. 0: As " +"much as possible." +msgstr "" +"Nombre de jours d'historique demandé au serveur lorsque l'on rejoint un " +"salon privé. 0 : Autant que possible." + +#: gajim/common/config.py:228 +msgid "" +"If enabled, Gajim shows the group chat subject in the chat window when " +"joining." +msgstr "" +"Si activé, Gajim affiche le sujet du salon dans la fenêtre de discussion au " +"moment de la connexion." + +#: gajim/common/config.py:229 +msgid "" +"If enabled, the contact row is colored according to the current chat state " +"of the contact." +msgstr "Si activé, la ligne des contacts est colorée selon l’état du contact." + +#: gajim/common/config.py:230 +msgid "" +"If enabled, the tab is colored according to the current chat state of the " +"contact." +msgstr "Si activé, l’onglet est coloré selon l’état du contact." + +#: gajim/common/config.py:231 +msgid "" +"Shows a text in the banner that describes the current chat state of the " +"contact." +msgstr "Affiche un texte dans la bannière indiquant l’état du contact." + +#: gajim/common/config.py:232 +msgid "" +"Chat state notifications that are sent to contacts. Possible values: all, " +"composing_only, disabled" +msgstr "" +"Notifications d'état qui sont envoyées aux contacts. Peut être : \"tous\" " +"(all), \"seulement en train d'écrire\" (composing_only) ou \"désactivé\" " +"(disabled)" + +#: gajim/common/config.py:233 +msgid "" +"Chat state notifications that are sent to the group chat. Possible values: " +"'all', 'composing_only', 'disabled'" +msgstr "" +"Notifications d'état qui sont envoyées au salon de discussion. Peut être : " +"\"tous\" (all), \"seulement en train d'écrire\" (composing_only) ou " +"\"désactivé\" (disabled)" + +#: gajim/common/config.py:240 +msgid "Shows an info bar with helpful hints in the Start / Join Chat dialog" +msgstr "" +"Affiche un message informatif en haut de la fenêtre \"Commencer une " +"discussion\"" + +#: gajim/common/config.py:242 +msgid "Date of the last update check" +msgstr "Date de la dernière vérification des mises à jour" + +#: gajim/common/config.py:260 +msgid "" +"Priority will change automatically according to your status. Priorities are " +"defined in 'autopriority_*' options." +msgstr "" +"La priorité va changer automatiquement selon votre état. Les priorités sont " +"définies dans les options autopriority_*." + +#: gajim/common/config.py:267 +msgid "If enabled, the last status will be restored." +msgstr "Si cette case est cochée, le dernier statut utilisé sera restauré." + +#: gajim/common/config.py:268 +msgid "" +"If enabled, contacts requesting authorization will be accepted automatically." +msgstr "" +"Si cette case est cochée, les demandes d'autorisation des contacts seront " +"automatiquement acceptées." + +#: gajim/common/config.py:269 +msgid "" +"If disabled, this account will be disabled and will not appear in the " +"contact list window." +msgstr "" +"Si désactivé, ce compte sera désactivé et n'apparaîtra plus dans votre liste " +"de contacts." + +#: gajim/common/config.py:278 +msgid "ConnectionType: START TLS, DIRECT TLS or PLAIN" +msgstr "Type de connexion : STARTTLS, DIRECTTLS ou PLAIN" + +#: gajim/common/config.py:280 +msgid "" +"List of XMPP Addresses (space separated) for which you do not want to store " +"chat history. You can also add the name of an account to disable storing " +"chat history for this account." +msgstr "" +"Liste d'adresses XMPP séparées par des espaces, pour lesquelles vous ne " +"voulez pas archiver l'historique des conversations. Vous pouvez également " +"ajouter le nom d'un compte pour ne rien archiver pour ce compte." + +#: gajim/common/config.py:285 +msgid "" +"If enabled, Gajim will use your IP and proxies defined in " +"'file_transfer_proxies' option for file transfers." +msgstr "" +"Si cette case est cochée, Gajim utilisera votre IP et les serveurs " +"mandataires définis dans l'option file_transfer_proxies pour les transferts " +"de fichiers." + +#: gajim/common/config.py:286 +msgid "" +"If enabled, Gajim will test file transfer proxies on startup to be sure they " +"work. Openfire's proxies are known to fail this test even if they work." +msgstr "" +"Si cette case est cochée, Gajim testera les serveurs mandataires de " +"transfert de fichiers au démarrage pour être sûr qu'ils fonctionnent. Les " +"serveurs mandataires de Openfire sont connus pour échouer à ce test, même " +"s'ils fonctionnent." + +#: gajim/common/config.py:298 +msgid "If enabled, Gajim will answer to message receipt requests." +msgstr "" +"Si cette case est cochée, Gajim répondra aux demandes d'accusé de réception." + +#: gajim/common/config.py:303 +msgid "" +"Allow Gajim to send information about the operating system you are running." +msgstr "" +"Autorise Gajim à envoyer des informations sur le système d'exploitation que " +"vous utilisez." + +#: gajim/common/config.py:304 +msgid "Allow Gajim to send your local time." +msgstr "Autorise Gajim à envoyer votre heure locale." + +#: gajim/common/config.py:307 +msgid "Message that is sent to contacts you want to add." +msgstr "Message envoyé aux contacts que vous souhaitez ajouter." + +#: gajim/common/config.py:308 +msgid "" +"If enabled, Gajim will send your local IP so your contact can connect to " +"your machine for file transfers." +msgstr "" +"Si activé, Gajim enverra votre IP publique pour que vos contacts puissent se " +"connecter à votre machine pour les transferts de fichiers." + +#: gajim/common/config.py:309 +msgid "" +"List of XMPP Addresses (space separated) for which the chat window will be " +"re-opened on next startup." +msgstr "" +"Liste d'adresses XMPP séparées par des espaces, pour lesquelles vous voulez " +"ré-ouvrir la fenêtre de discussion au prochain démarrage." + +#: gajim/common/config.py:311 +msgid "" +"Preferred file transfer mechanism for file drag&drop on a chat window. Can " +"be 'httpupload' (default) or 'jingle'." +msgstr "" +"Mécanisme de transfert préféré lors d'un glisser-déposer sur une fenêtre de " +"discussion. Peut être 'httpupload' (par défault) ou 'jingle'." + +#: gajim/common/config.py:312 +msgid "Allow certificate verification with POSH." +msgstr "Autorise la vérification de certificat avec POSH." + +#: gajim/common/config.py:336 +msgid "" +"Chat state notifications that are sent to contacts. Possible values: 'all', " +"'composing_only', 'disabled'" +msgstr "" +"Notifications d'état qui sont envoyées aux contacts. Peut être \"tous\" (all)" +", \"seulement en train d'écrire\" (composing_only) ou \"désactivé\" " +"(disabled)" + +#: gajim/common/config.py:339 +msgid "The currently active encryption for that contact." +msgstr "Chiffrement actuellement actif pour ce contact." + +#: gajim/common/config.py:343 +msgid "" +"If enabled, a notification is created for every message in this group chat." +msgstr "Si activé, une notification est émise pour chaque message de ce salon." + +#: gajim/common/config.py:344 +msgid "" +"Show a status message for all status changes (away, dnd, etc.) of users in a " +"group chat." +msgstr "" +"Affiche un message pour chaque changement d’état (en ligne, ne pas " +"déranger, ...) des utilisateurs d'un salon de discussion." + +#: gajim/common/config.py:345 +msgid "Show a status message for every join or leave in a group chat." +msgstr "" +"Affiche un message d’état lors de chaque connexion ou déconnexion à un salon " +"de discussion." + +#: gajim/common/config.py:346 +msgid "" +"If enabled, the group chat is minimized into the contact list when joining " +"automatically." +msgstr "" +"Si activé, le salon de discussion est réduit dans la liste de contacts lors " +"d'une connexion automatique." + +#: gajim/common/config.py:347 +msgid "" +"If enabled, the group chat is minimized into the contact list when closing " +"it." +msgstr "" +"Si activé, le salon de discussion est réduit dans la liste de contacts à la " +"fermeture." + +#: gajim/common/config.py:348 +msgid "" +"Chat state notifications that are sent to the group chat. Possible values: " +"'all', 'composing_only' or 'disabled'." +msgstr "" +"Notifications d'état qui sont envoyées au salon de discussion. Peut être " +"\"tous\" (all), \"seulement en train d'écrire\" (composing_only) ou " +"\"désactivé\" (disabled)." + +#: gajim/common/config.py:351 +msgid "" +"If enabled, plugins will be activated on startup (this is saved when exiting " +"Gajim). This option SHOULD NOT be used to (de)activate plugins. Use the " +"plugin window instead." +msgstr "" +"Si cette case est cochée, les extensions seront activées au démarrage (prise " +"en compte en quittant Gajim). Cette option NE DOIT PAS être utilisée pour " +"(dés)activer les extensions. Utiliser la fenêtre des extensions pour cela." + +#: gajim/common/config.py:358 +msgid "I'm eating." +msgstr "Je suis entrain de manger." + +#: gajim/common/config.py:359 +msgid "I'm watching a movie." +msgstr "Je regarde un film." + +#: gajim/common/config.py:360 +msgid "I'm working." +msgstr "Je travaille." + +#: gajim/common/config.py:361 +msgid "Phone" +msgstr "Téléphone" + +#: gajim/common/config.py:361 +msgid "I'm on the phone." +msgstr "Je suis au téléphone." + +#: gajim/common/config.py:362 +msgid "I'm out enjoying life." +msgstr "Je suis sorti profiter de la vie." + +#: gajim/common/config.py:373 +msgid "" +"Sound to play when a group chat message contains one of the words in " +"'muc_highlight_words' or your nickname is mentioned." +msgstr "" +"Son émis lorsqu'un message de salon contient un des mots de " +"muc_highlight_words, ou lorsqu'un message de salon contient votre surnom." + +#: gajim/common/config.py:374 +msgid "Sound to play when any group chat message arrives." +msgstr "Son émis lors de l'arrivée d'un message dans un salon de discussion." + +#: gajim/common/config.py:378 +msgid "Tor" +msgstr "Tor" + +#: gajim/common/exceptions.py:45 +#, python-format +msgid "" +"The database file (%s) cannot be read. Try to repair it (see https://dev." +"gajim.org/gajim/gajim/wikis/help/DatabaseBackup) or remove it (all history " +"will be lost)." +msgstr "" +"Le fichier de base de données (%s) ne peut être lu. Essayez de le réparer " +"(voir https://dev.gajim.org/gajim/gajim/wikis/help/DatabaseBackup) ou " +"supprimez le (toutes les archives seront perdues)." + +#: gajim/common/exceptions.py:59 +msgid "Service not available: Gajim is not running, or remote_control is False" +msgstr "" +"Service indisponible : Gajim n'est pas lancé ou remote_control est False" + +#: gajim/common/exceptions.py:81 +#, python-format +msgid "" +"Session bus is not available.\n" +"Try reading %(url)s" +msgstr "" +"Le bus de session n'est pas disponible.\n" +"Essayer en lisant %(url)s" + +#: gajim/common/exceptions.py:93 +#, python-format +msgid "" +"System bus is not available.\n" +"Try reading %(url)s" +msgstr "" +"Le bus de session n'est pas disponible.\n" +"Essayer en lisant %(url)s" + +#: gajim/common/optparser.py:54 +#, python-format +msgid "Error: cannot open %s for reading" +msgstr "Erreur : impossible d'ouvrir %s en lecture" + +#: gajim/common/configpaths.py:84 +#, python-format +msgid "%s is a file but it should be a directory" +msgstr "%s est un fichier mais devrait être un répertoire" + +#: gajim/common/configpaths.py:85 +msgid "Gajim will now exit" +msgstr "Gajim va maintenant s'arrêter" + +#: gajim/common/connection_handlers_events.py:242 +#: gajim/common/connection_handlers_events.py:342 +#, python-format +msgid "New message from %(nickname)s" +msgid_plural "%(n_msgs)i unread messages from %(nickname)s" +msgstr[0] "Nouveau message de %(nickname)s" +msgstr[1] "%(n_msgs)i messages non lus de %(nickname)s" + +#: gajim/common/connection_handlers_events.py:412 +#, python-format +msgid "%(nick)s Changed Status" +msgstr "%(nick)s a changé d'état" + +#: gajim/common/const.py:287 +msgid "?Group chat name:Team" +msgstr "Collègues" + +#: gajim/common/const.py:288 +msgid "?Group chat description:Project discussion" +msgstr "Discussions autour du projet" + +#: gajim/common/const.py:289 +msgid "?Group chat address:team" +msgstr "collegues" + +#: gajim/common/const.py:290 +msgid "?Group chat name:Family" +msgstr "Famille" + +#: gajim/common/const.py:291 +msgid "?Group chat description:Spring gathering" +msgstr "Retrouvailles de printemps" + +#: gajim/common/const.py:292 +msgid "?Group chat address:family" +msgstr "famille" + +#: gajim/common/const.py:293 +msgid "?Group chat name:Vacation" +msgstr "Vacances" + +#: gajim/common/const.py:294 +msgid "?Group chat description:Trip planning" +msgstr "Planification du voyage" + +#: gajim/common/const.py:295 +msgid "?Group chat address:vacation" +msgstr "vacances" + +#: gajim/common/const.py:296 +msgid "?Group chat name:Repairs" +msgstr "Réparations" + +#: gajim/common/const.py:297 +msgid "?Group chat description:Local help group" +msgstr "Groupe d'aide local à la réparation" + +#: gajim/common/const.py:298 +msgid "?Group chat address:repairs" +msgstr "reparations" + +#: gajim/common/const.py:299 +msgid "?Group chat name:News" +msgstr "Nouvelles" + +#: gajim/common/const.py:300 +msgid "?Group chat description:Local news and reports" +msgstr "Nouvelles locales" + +#: gajim/common/const.py:301 +msgid "?Group chat address:news" +msgstr "nouvelles" + +#: gajim/common/const.py:306 +msgid "Remote server not found" +msgstr "Serveur distant non trouvé" + +#: gajim/common/const.py:307 +msgid "Remote server timeout" +msgstr "Pas de réponse du serveur distant" + +#: gajim/common/const.py:308 gajim/common/const.py:309 +#: gajim/common/const.py:310 +msgid "Address does not belong to a group chat server" +msgstr "L’adresse n’est pas un serveur de salons de discussion" + +#: gajim/common/const.py:311 +msgid "Group chat already exists" +msgstr "Ce salon de discussion existe déjà" + +#: gajim/common/const.py:312 +msgid "Group chat does not exist" +msgstr "Le salon n’existe pas" + +#: gajim/common/const.py:313 +msgid "Group chat is closed" +msgstr "Salon de discussion fermé" + +#: gajim/common/const.py:319 +msgid "This message was encrypted with OTR and could not be decrypted." +msgstr "Ce message a été chiffre avec OTR et ne peut pas être déchiffré." + +#: gajim/common/const.py:322 +msgid "" +"This message was encrypted with Legacy OpenPGP and could not be decrypted. " +"You can install the PGP plugin to handle those messages." +msgstr "" +"Ce message a été chiffré avec l'ancien OpenPGP et ne peut pas être " +"déchiffré. Vous pouvez installer l'extension PGP pour gérer ces messages." + +#: gajim/common/const.py:326 +msgid "" +"This message was encrypted with OpenPGP for XMPP and could not be decrypted. " +"You can install the OpenPGP plugin to handle those messages." +msgstr "" +"Ce message a été chiffré avec OpenPGP et ne peut pas être déchiffré. Vous " +"pouvez installer l'extension OpenPGP pour gérer ce genre de messages." + +#: gajim/common/const.py:330 +#, python-format +msgid "This message was encrypted with %s and could not be decrypted." +msgstr "Ce message a été chiffré avec %s et ne peut pas être déchiffré." + +#: gajim/common/const.py:337 +msgid "Doing Chores" +msgstr "Fait des corvées" + +#: gajim/common/const.py:338 +msgid "Buying Groceries" +msgstr "Achète des provisions" + +#: gajim/common/const.py:339 +msgid "Cleaning" +msgstr "Fait le ménage" + +#: gajim/common/const.py:340 +msgid "Cooking" +msgstr "Cuisine" + +#: gajim/common/const.py:341 +msgid "Doing Maintenance" +msgstr "Fait de la maintenance" + +#: gajim/common/const.py:342 +msgid "Doing the Dishes" +msgstr "Fait la vaisselle" + +#: gajim/common/const.py:343 +msgid "Doing the Laundry" +msgstr "Lave le linge" + +#: gajim/common/const.py:344 +msgid "Gardening" +msgstr "Jardine" + +#: gajim/common/const.py:345 +msgid "Running an Errand" +msgstr "Fait une course" + +#: gajim/common/const.py:346 +msgid "Walking the Dog" +msgstr "Promène le chien" + +#: gajim/common/const.py:348 +msgid "Drinking" +msgstr "Boit" + +#: gajim/common/const.py:349 +msgid "Having a Beer" +msgstr "Prend une bière" + +#: gajim/common/const.py:350 +msgid "Having Coffee" +msgstr "Prend un café" + +#: gajim/common/const.py:351 +msgid "Having Tea" +msgstr "Prend un thé" + +#: gajim/common/const.py:354 +msgid "Having a Snack" +msgstr "Prend un snack" + +#: gajim/common/const.py:355 +msgid "Having Breakfast" +msgstr "Prend le petit-déjeuner" + +#: gajim/common/const.py:356 +msgid "Having Dinner" +msgstr "Dîne" + +#: gajim/common/const.py:357 +msgid "Having Lunch" +msgstr "Déjeune" + +#: gajim/common/const.py:359 +msgid "Exercising" +msgstr "Fait de l'exercice" + +#: gajim/common/const.py:360 gajim/common/const.py:411 +msgid "Cycling" +msgstr "Fait du vélo" + +#: gajim/common/const.py:361 +msgid "Dancing" +msgstr "Danse" + +#: gajim/common/const.py:362 +msgid "Hiking" +msgstr "Fait de la randonnée" + +#: gajim/common/const.py:363 +msgid "Jogging" +msgstr "Fait un jogging" + +#: gajim/common/const.py:364 +msgid "Playing Sports" +msgstr "Fait du sport" + +#: gajim/common/const.py:365 +msgid "Running" +msgstr "Court" + +#: gajim/common/const.py:366 +msgid "Skiing" +msgstr "Skie" + +#: gajim/common/const.py:367 +msgid "Swimming" +msgstr "Nage" + +#: gajim/common/const.py:368 +msgid "Working out" +msgstr "S'entraine" + +#: gajim/common/const.py:370 +msgid "Grooming" +msgstr "Se toilette" + +#: gajim/common/const.py:371 +msgid "At the Spa" +msgstr "Au spa" + +#: gajim/common/const.py:372 +msgid "Brushing Teeth" +msgstr "Se brosse les dents" + +#: gajim/common/const.py:373 +msgid "Getting a Haircut" +msgstr "Se fait couper les cheveux" + +#: gajim/common/const.py:374 +msgid "Shaving" +msgstr "Se rase" + +#: gajim/common/const.py:375 +msgid "Taking a Bath" +msgstr "Prend un bain" + +#: gajim/common/const.py:376 +msgid "Taking a Shower" +msgstr "Prend une douche" + +#: gajim/common/const.py:378 +msgid "Having an Appointment" +msgstr "A un rendez-vous" + +#: gajim/common/const.py:380 +msgid "Inactive" +msgstr "Inactif" + +#: gajim/common/const.py:381 +msgid "Day Off" +msgstr "En congé" + +#: gajim/common/const.py:382 +msgid "Hanging out" +msgstr "Traîne" + +#: gajim/common/const.py:383 +msgid "Hiding" +msgstr "Se cache" + +#: gajim/common/const.py:384 +msgid "On Vacation" +msgstr "En vacances" + +#: gajim/common/const.py:385 +msgid "Praying" +msgstr "Fait une prière" + +#: gajim/common/const.py:386 +msgid "Scheduled Holiday" +msgstr "En vacances organisées" + +#: gajim/common/const.py:388 +msgid "Thinking" +msgstr "Réfléchit" + +#: gajim/common/const.py:390 +msgid "Relaxing" +msgstr "Se relaxe" + +#: gajim/common/const.py:391 +msgid "Fishing" +msgstr "Pêche" + +#: gajim/common/const.py:392 +msgid "Gaming" +msgstr "Joue" + +#: gajim/common/const.py:393 +msgid "Going out" +msgstr "Sort" + +#: gajim/common/const.py:394 +msgid "Partying" +msgstr "Fait la fête" + +#: gajim/common/const.py:395 +msgid "Reading" +msgstr "Lit" + +#: gajim/common/const.py:396 +msgid "Rehearsing" +msgstr "Se prépare" + +#: gajim/common/const.py:397 +msgid "Shopping" +msgstr "Fait les magasins" + +#: gajim/common/const.py:398 +msgid "Smoking" +msgstr "Fume" + +#: gajim/common/const.py:399 +msgid "Socializing" +msgstr "Socialise" + +#: gajim/common/const.py:400 +msgid "Sunbathing" +msgstr "Prend un bain de soleil" + +#: gajim/common/const.py:401 +msgid "Watching TV" +msgstr "Regarde la télé" + +#: gajim/common/const.py:402 +msgid "Watching a Movie" +msgstr "Regarde un film" + +#: gajim/common/const.py:404 +msgid "Talking" +msgstr "Discute" + +#: gajim/common/const.py:405 +msgid "In Real Life" +msgstr "Dans la vraie vie" + +#: gajim/common/const.py:406 +msgid "On the Phone" +msgstr "Au téléphone" + +#: gajim/common/const.py:407 +msgid "On Video Phone" +msgstr "En visioconférence" + +#: gajim/common/const.py:409 +msgid "Traveling" +msgstr "Voyage" + +#: gajim/common/const.py:410 +msgid "Commuting" +msgstr "Fait la navette" + +#: gajim/common/const.py:412 +msgid "Driving" +msgstr "Conduit" + +#: gajim/common/const.py:413 +msgid "In a Car" +msgstr "En voiture" + +#: gajim/common/const.py:414 +msgid "On a Bus" +msgstr "En bus" + +#: gajim/common/const.py:415 +msgid "On a Plane" +msgstr "En avion" + +#: gajim/common/const.py:416 +msgid "On a Train" +msgstr "En train" + +#: gajim/common/const.py:417 +msgid "On a Trip" +msgstr "En voyage" + +#: gajim/common/const.py:418 +msgid "Walking" +msgstr "Marche" + +#: gajim/common/const.py:421 +msgid "Coding" +msgstr "Code" + +#: gajim/common/const.py:422 +msgid "In a Meeting" +msgstr "En réunion" + +#: gajim/common/const.py:423 +msgid "Studying" +msgstr "Étudie" + +#: gajim/common/const.py:424 +msgid "Writing" +msgstr "Écrit" + +#: gajim/common/const.py:427 +msgid "Afraid" +msgstr "Effrayé⋅e" + +#: gajim/common/const.py:428 +msgid "Amazed" +msgstr "Épaté⋅e" + +#: gajim/common/const.py:429 +msgid "Amorous" +msgstr "Amoureux/se" + +#: gajim/common/const.py:430 +msgid "Angry" +msgstr "En colère" + +#: gajim/common/const.py:431 +msgid "Annoyed" +msgstr "Ennuyé⋅e" + +#: gajim/common/const.py:432 +msgid "Anxious" +msgstr "Anxieux/se" + +#: gajim/common/const.py:433 +msgid "Aroused" +msgstr "Excité⋅e" + +#: gajim/common/const.py:434 +msgid "Ashamed" +msgstr "Honteux/se" + +#: gajim/common/const.py:435 +msgid "Bored" +msgstr "Ennuyé⋅e" + +#: gajim/common/const.py:436 +msgid "Brave" +msgstr "Courageux/se" + +#: gajim/common/const.py:437 +msgid "Calm" +msgstr "Calme" + +#: gajim/common/const.py:438 +msgid "Cautious" +msgstr "Prudent⋅e" + +#: gajim/common/const.py:439 +msgid "Cold" +msgstr "Froid⋅e" + +#: gajim/common/const.py:440 +msgid "Confident" +msgstr "Confiant⋅e" + +#: gajim/common/const.py:441 +msgid "Confused" +msgstr "Confus⋅e" + +#: gajim/common/const.py:442 +msgid "Contemplative" +msgstr "Contemplatif/ve" + +#: gajim/common/const.py:443 +msgid "Contented" +msgstr "Satisfait⋅e" + +#: gajim/common/const.py:444 +msgid "Cranky" +msgstr "Grincheux/se" + +#: gajim/common/const.py:445 +msgid "Crazy" +msgstr "Cinglé⋅e" + +#: gajim/common/const.py:446 +msgid "Creative" +msgstr "Créatif/ve" + +#: gajim/common/const.py:447 +msgid "Curious" +msgstr "Curieux/se" + +#: gajim/common/const.py:448 +msgid "Dejected" +msgstr "Découragé⋅e" + +#: gajim/common/const.py:449 +msgid "Depressed" +msgstr "Déprimé⋅e" + +#: gajim/common/const.py:450 +msgid "Disappointed" +msgstr "Déçu⋅e" + +#: gajim/common/const.py:451 +msgid "Disgusted" +msgstr "Écœuré⋅e" + +#: gajim/common/const.py:452 +msgid "Dismayed" +msgstr "Estomaqué⋅e" + +#: gajim/common/const.py:453 +msgid "Distracted" +msgstr "Distrait⋅e" + +#: gajim/common/const.py:454 +msgid "Embarrassed" +msgstr "Embarrassé⋅e" + +#: gajim/common/const.py:455 +msgid "Envious" +msgstr "Envieux/se" + +#: gajim/common/const.py:456 +msgid "Excited" +msgstr "Excité⋅e" + +#: gajim/common/const.py:457 +msgid "Flirtatious" +msgstr "Dragueur/se" + +#: gajim/common/const.py:458 +msgid "Frustrated" +msgstr "Frustré⋅e" + +#: gajim/common/const.py:459 +msgid "Grateful" +msgstr "Reconnaissant⋅e" + +#: gajim/common/const.py:460 +msgid "Grieving" +msgstr "En deuil" + +#: gajim/common/const.py:461 +msgid "Grumpy" +msgstr "Grognon/ne" + +#: gajim/common/const.py:462 +msgid "Guilty" +msgstr "Coupable" + +#: gajim/common/const.py:463 +msgid "Happy" +msgstr "Heureux/se" + +#: gajim/common/const.py:464 +msgid "Hopeful" +msgstr "Optimiste" + +#: gajim/common/const.py:465 +msgid "Hot" +msgstr "Bouillant⋅e" + +#: gajim/common/const.py:466 +msgid "Humbled" +msgstr "Humble" + +#: gajim/common/const.py:467 +msgid "Humiliated" +msgstr "Humilié⋅e" + +#: gajim/common/const.py:468 +msgid "Hungry" +msgstr "Affamé⋅e" + +#: gajim/common/const.py:469 +msgid "Hurt" +msgstr "Blessé⋅e" + +#: gajim/common/const.py:470 +msgid "Impressed" +msgstr "Impressionné⋅e" + +#: gajim/common/const.py:471 +msgid "In Awe" +msgstr "Craintif/ve" + +#: gajim/common/const.py:472 +msgid "In Love" +msgstr "Amoureux/se" + +#: gajim/common/const.py:473 +msgid "Indignant" +msgstr "Indigné⋅e" + +#: gajim/common/const.py:474 +msgid "Interested" +msgstr "Intéressé⋅e" + +#: gajim/common/const.py:475 +msgid "Intoxicated" +msgstr "Intoxiqué⋅e" + +#: gajim/common/const.py:476 +msgid "Invincible" +msgstr "Invincible" + +#: gajim/common/const.py:477 +msgid "Jealous" +msgstr "Jaloux/se" + +#: gajim/common/const.py:478 +msgid "Lonely" +msgstr "Solitaire" + +#: gajim/common/const.py:479 +msgid "Lost" +msgstr "Perdu⋅e" + +#: gajim/common/const.py:480 +msgid "Lucky" +msgstr "Chanceux/se" + +#: gajim/common/const.py:481 +msgid "Mean" +msgstr "Méchant⋅e" + +#: gajim/common/const.py:482 +msgid "Moody" +msgstr "Morose" + +#: gajim/common/const.py:483 +msgid "Nervous" +msgstr "Nerveux/se" + +#: gajim/common/const.py:484 +msgid "Neutral" +msgstr "Neutre" + +#: gajim/common/const.py:485 +msgid "Offended" +msgstr "Outré⋅e" + +#: gajim/common/const.py:486 +msgid "Outraged" +msgstr "Scandalisé⋅e" + +#: gajim/common/const.py:487 +msgid "Playful" +msgstr "Enjoué⋅e" + +#: gajim/common/const.py:488 +msgid "Proud" +msgstr "Fier/Fière" + +#: gajim/common/const.py:489 +msgid "Relaxed" +msgstr "Détendu⋅e" + +#: gajim/common/const.py:490 +msgid "Relieved" +msgstr "Soulagé⋅e" + +#: gajim/common/const.py:491 +msgid "Remorseful" +msgstr "Plein⋅e de remords" + +#: gajim/common/const.py:492 +msgid "Restless" +msgstr "Impatient⋅e" + +#: gajim/common/const.py:493 +msgid "Sad" +msgstr "Triste" + +#: gajim/common/const.py:494 +msgid "Sarcastic" +msgstr "Sarcastique" + +#: gajim/common/const.py:495 +msgid "Satisfied" +msgstr "Satisfait⋅e" + +#: gajim/common/const.py:496 +msgid "Serious" +msgstr "Concentré⋅e" + +#: gajim/common/const.py:497 +msgid "Shocked" +msgstr "Choqué⋅e" + +#: gajim/common/const.py:498 +msgid "Shy" +msgstr "Timide" + +#: gajim/common/const.py:499 +msgid "Sick" +msgstr "Malade" + +#: gajim/common/const.py:500 +msgid "Sleepy" +msgstr "Endormi⋅e" + +#: gajim/common/const.py:501 +msgid "Spontaneous" +msgstr "Spontané⋅e" + +#: gajim/common/const.py:502 +msgid "Stressed" +msgstr "Stressé⋅e" + +#: gajim/common/const.py:503 +msgid "Strong" +msgstr "Fort⋅e" + +#: gajim/common/const.py:504 +msgid "Surprised" +msgstr "Surpris⋅e" + +#: gajim/common/const.py:505 +msgid "Thankful" +msgstr "Reconnaissant⋅e" + +#: gajim/common/const.py:506 +msgid "Thirsty" +msgstr "Assoiffé⋅e" + +#: gajim/common/const.py:507 +msgid "Tired" +msgstr "Fatigué⋅e" + +#: gajim/common/const.py:508 +msgid "Undefined" +msgstr "Indéfini" + +#: gajim/common/const.py:509 +msgid "Weak" +msgstr "Faible" + +#: gajim/common/const.py:510 +msgid "Worried" +msgstr "Inquiet⋅e" + +#: gajim/common/const.py:514 +msgid "accuracy" +msgstr "précision" + +#: gajim/common/const.py:515 +msgid "alt" +msgstr "alt" + +#: gajim/common/const.py:516 +msgid "area" +msgstr "zone" + +#: gajim/common/const.py:517 +msgid "bearing" +msgstr "position" + +#: gajim/common/const.py:518 +msgid "building" +msgstr "bâtiment" + +#: gajim/common/const.py:519 +msgid "country" +msgstr "pays" + +#: gajim/common/const.py:520 +msgid "countrycode" +msgstr "code du pays" + +#: gajim/common/const.py:521 +msgid "datum" +msgstr "donnée" + +#: gajim/common/const.py:522 +msgid "description" +msgstr "description" + +#: gajim/common/const.py:523 +msgid "error" +msgstr "erreur" + +#: gajim/common/const.py:524 +msgid "floor" +msgstr "étage" + +#: gajim/common/const.py:525 +msgid "lat" +msgstr "lat" + +#: gajim/common/const.py:526 +msgid "locality" +msgstr "ville" + +#: gajim/common/const.py:527 +msgid "lon" +msgstr "lon" + +#: gajim/common/const.py:528 +msgid "postalcode" +msgstr "code postal" + +#: gajim/common/const.py:529 +msgid "region" +msgstr "région" + +#: gajim/common/const.py:530 +msgid "room" +msgstr "salon de discussion" + +#: gajim/common/const.py:531 +msgid "speed" +msgstr "vitesse" + +#: gajim/common/const.py:532 +msgid "street" +msgstr "rue" + +#: gajim/common/const.py:533 +msgid "text" +msgstr "texte" + +#: gajim/common/const.py:534 +msgid "timestamp" +msgstr "horodatage" + +#: gajim/common/const.py:535 +msgid "URI" +msgstr "URI" + +#: gajim/common/const.py:540 +msgid "Unable to get issuer certificate" +msgstr "Impossible d'obtenir le certificat de l'émetteur" + +#: gajim/common/const.py:541 +msgid "Unable to get certificate CRL" +msgstr "Impossible d'obtenir la CRL" + +#: gajim/common/const.py:542 +msgid "Unable to decrypt certificate's signature" +msgstr "Impossible de déchiffrer la signature du certificat" + +#: gajim/common/const.py:543 +msgid "Unable to decrypt CRL's signature" +msgstr "Impossible de déchiffrer la signature de la CRL" + +#: gajim/common/const.py:544 +msgid "Unable to decode issuer public key" +msgstr "Impossible de déchiffrer la clef public de l'émetteur" + +#: gajim/common/const.py:545 +msgid "Certificate signature failure" +msgstr "Échec de la signature du certificat" + +#: gajim/common/const.py:546 +msgid "CRL signature failure" +msgstr "Échec de la signature de la CRL" + +#: gajim/common/const.py:547 +msgid "Certificate is not yet valid" +msgstr "Le certificat n'est pas encore valide" + +#: gajim/common/const.py:548 +msgid "Certificate has expired" +msgstr "Le certificat a expiré" + +#: gajim/common/const.py:549 +msgid "CRL is not yet valid" +msgstr "CRL n'est pas encore valide" + +#: gajim/common/const.py:550 +msgid "CRL has expired" +msgstr "CRL a expiré" + +#: gajim/common/const.py:551 +msgid "Format error in certificate's notBefore field" +msgstr "Erreur de format dans le champ notBefore du certificat" + +#: gajim/common/const.py:552 +msgid "Format error in certificate's notAfter field" +msgstr "Erreur de format dans le champ notAfter du certificat" + +#: gajim/common/const.py:553 +msgid "Format error in CRL's lastUpdate field" +msgstr "Erreur de format dans le champ lastUpdate de la CRL" + +#: gajim/common/const.py:554 +msgid "Format error in CRL's nextUpdate field" +msgstr "Erreur de format dans le champ nextUpdate de la CRL" + +#: gajim/common/const.py:555 +msgid "Out of memory" +msgstr "Mémoire insuffisante" + +#: gajim/common/const.py:556 +msgid "Self signed certificate" +msgstr "Certificat auto-signé" + +#: gajim/common/const.py:557 +msgid "Self signed certificate in certificate chain" +msgstr "Certificat auto-signé dans la chaîne de certificat" + +#: gajim/common/const.py:558 +msgid "Unable to get local issuer certificate" +msgstr "Impossible de récupérer le certificat de l’émetteur local" + +#: gajim/common/const.py:559 +msgid "Unable to verify the first certificate" +msgstr "Impossible de vérifier le premier certificat" + +#: gajim/common/const.py:560 +msgid "Certificate chain too long" +msgstr "Chaîne du certificat trop longue" + +#: gajim/common/const.py:561 +msgid "Certificate revoked" +msgstr "Certificat révoqué" + +#: gajim/common/const.py:562 +msgid "Invalid CA certificate" +msgstr "Invalide CA du certificat" + +#: gajim/common/const.py:563 +msgid "Path length constraint exceeded" +msgstr "Longueur du chemin dépassée" + +#: gajim/common/const.py:564 +msgid "Unsupported certificate purpose" +msgstr "Objet du certificat non-supporté" + +#: gajim/common/const.py:565 +msgid "Certificate not trusted" +msgstr "Certificat non approuvé" + +#: gajim/common/const.py:566 +msgid "Certificate rejected" +msgstr "Certificat refusé" + +#: gajim/common/const.py:567 +msgid "Subject issuer mismatch" +msgstr "Décalage du sujet de l'émetteur" + +#: gajim/common/const.py:568 +msgid "Authority and subject key identifier mismatch" +msgstr "Décalage dans les clés d'identification de l’autorité et du sujet" + +#: gajim/common/const.py:569 +msgid "Authority and issuer serial number mismatch" +msgstr "Décalage dans les numéros de série de l’autorité et du sujet" + +#: gajim/common/const.py:570 +msgid "Key usage does not include certificate signing" +msgstr "L'utilisation de la clé n'inclut pas la signature d'un certificat" + +#: gajim/common/const.py:571 +msgid "Application verification failure" +msgstr "Échec de la vérification de l'application" + +#: gajim/common/const.py:893 +msgid "The signing certificate authority is not known" +msgstr "L'autorité de certification est inconnue" + +#: gajim/common/const.py:894 +msgid "The certificate has been revoked" +msgstr "Le certificat a été révoqué" + +#: gajim/common/const.py:895 +msgid "The certificate does not match the expected identity of the site" +msgstr "Le certificat ne correspond pas à l'identité attendue du site" + +#: gajim/common/const.py:896 +msgid "The certificate’s algorithm is insecure" +msgstr "L'algorithme du certificat n'est pas sûr" + +#: gajim/common/const.py:897 +msgid "The certificate’s activation time is in the future" +msgstr "La date de début de validité du certificat est dans le futur" + +#: gajim/common/const.py:898 +msgid "Unknown validation error" +msgstr "Erreur de validation inconnue" + +#: gajim/common/const.py:899 +msgid "The certificate has expired" +msgstr "Le certificat a expiré" + +#: gajim/common/const.py:954 +msgid "Authentication aborted" +msgstr "Authentification annulée" + +#: gajim/common/const.py:955 +msgid "Account disabled" +msgstr "Compte désactivé" + +#: gajim/common/const.py:956 +msgid "Credentials expired" +msgstr "Informations d'identification expirées" + +#: gajim/common/const.py:957 +msgid "Encryption required" +msgstr "Chiffrement requis" + +#: gajim/common/const.py:961 +msgid "Authentication mechanism not supported" +msgstr "Mécanisme d'authentification non supporté" + +#: gajim/common/const.py:962 +msgid "Authentication mechanism too weak" +msgstr "Mécanisme d'authentification trop faible" + +#: gajim/common/const.py:964 +msgid "Authentication currently not possible" +msgstr "Authentification actuellement impossible" + +#: gajim/common/const.py:1109 +msgid "No Sync" +msgstr "Aucune synchronisation" + +#: gajim/common/const.py:1111 +msgid "2 Days" +msgstr "2 jours" + +#: gajim/common/const.py:1114 +msgid "No Threshold" +msgstr "Pas de seuil" + +#: gajim/common/logging_helpers.py:31 +#, python-format +msgid "%s is not a valid loglevel" +msgstr "%s n'est pas un loglevel valide" + +#: gajim/common/zeroconf/zeroconf_avahi.py:256 +#: gajim/common/zeroconf/zeroconf_bonjour.py:248 +#: gajim/common/zeroconf/zeroconf_bonjour.py:265 +#: gajim/common/zeroconf/zeroconf_bonjour.py:323 +#, python-format +msgid "Error while adding service. %s" +msgstr "Erreur en ajoutant le service. %s" + +#: gajim/common/zeroconf/connection_zeroconf.py:252 +#, python-format +msgid "Could not connect to \"%s\"" +msgstr "Impossible de se connecter à \"%s\"" + +#: gajim/common/zeroconf/connection_zeroconf.py:253 +msgid "Please check if Avahi or Bonjour is installed." +msgstr "Veuillez vérifier si Avahi ou Bonjour sont installés." + +#: gajim/common/zeroconf/connection_zeroconf.py:263 +#: gajim/common/zeroconf/connection_zeroconf.py:267 +msgid "Could not start local service" +msgstr "Impossible de lancer le service local" + +#: gajim/common/zeroconf/connection_zeroconf.py:264 +#, python-format +msgid "Unable to bind to port %d." +msgstr "Impossible de débloquer le port %d." + +#: gajim/common/zeroconf/connection_zeroconf.py:268 +msgid "Please check if avahi/bonjour-daemon is running." +msgstr "Vérifiez SVP si le démon avahi/bonjour est actif." + +#: gajim/common/zeroconf/connection_zeroconf.py:362 +#: gajim/common/zeroconf/connection_zeroconf.py:375 +#, python-format +msgid "Could not change status of account \"%s\"" +msgstr "Impossible de changer l'état du compte « %s »" + +#: gajim/common/zeroconf/connection_zeroconf.py:363 +#: gajim/common/zeroconf/connection_zeroconf.py:376 +msgid "Please check if avahi-daemon is running." +msgstr "Vérifiez si avahi-daemon est actif." + +#: gajim/common/zeroconf/connection_zeroconf.py:404 +msgid "Your message could not be sent." +msgstr "Votre message n'a pas pu être envoyé." + +#: gajim/common/zeroconf/connection_zeroconf.py:419 +msgid "Contact is offline. Your message could not be sent." +msgstr "Le destinataire est hors-ligne. Votre message n'a pas pu être envoyé." + +#: gajim/common/zeroconf/connection_zeroconf.py:441 +msgid "" +"Connection to host could not be established: Timeout while sending data." +msgstr "" +"La connexion à l'hôte n'a pas pu être établie : délai d'envoi des données " +"dépassé." + +#: gajim/common/dbus/logind.py:73 +msgid "Machine is going to sleep" +msgstr "La machine se met en veille" + +#: gajim/common/dbus/logind.py:103 +msgid "Disconnect from the network" +msgstr "Déconnecté du réseau" + +#: gajim/common/modules/adhoc_commands.py:88 +msgid "Change status information" +msgstr "Modifier les informations du statut" + +#: gajim/common/modules/adhoc_commands.py:112 +msgid "Change status" +msgstr "Modifier le statut" + +#: gajim/common/modules/adhoc_commands.py:113 +msgid "Set the presence type and description" +msgstr "Choisissez le type de présence et la description" + +#: gajim/common/modules/adhoc_commands.py:120 +msgid "Free for chat" +msgstr "Disponible pour discuter" + +#: gajim/common/modules/adhoc_commands.py:121 +msgid "Online" +msgstr "En ligne" + +#: gajim/common/modules/adhoc_commands.py:123 +msgid "Extended away" +msgstr "Longue absence" + +#: gajim/common/modules/adhoc_commands.py:124 +msgid "Do not disturb" +msgstr "Ne pas déranger" + +#: gajim/common/modules/adhoc_commands.py:125 +msgid "Offline - disconnect" +msgstr "Hors-ligne - Déconnecté⋅e" + +#: gajim/common/modules/adhoc_commands.py:131 +msgid "Presence description:" +msgstr "Description de la présence :" + +#: gajim/common/modules/adhoc_commands.py:170 +msgid "The status has been changed." +msgstr "L'état a été changé." + +#: gajim/common/modules/presence.py:265 +msgid "I would like to add you to my roster." +msgstr "Je souhaiterais vous ajouter à ma liste de contacts." + +#: gajim/common/modules/roster_item_exchange.py:103 +#, python-format +msgid "Sent contact: \"%(jid)s\" (%(name)s)" +msgstr "Contact envoyé : « %(jid)s » (%(name)s)" + +#: gajim/common/modules/roster_item_exchange.py:107 +msgid "Sent contacts:" +msgstr "Contacts envoyés :" + +#: gajim/common/modules/httpupload.py:99 +msgid "File is empty" +msgstr "Le fichier est vide" + +#: gajim/common/modules/httpupload.py:102 +msgid "File does not exist" +msgstr "Le fichier n'existe pas" + +#: gajim/common/modules/httpupload.py:109 +#: gajim/common/modules/httpupload.py:172 +#, python-format +msgid "File is too large, maximum allowed file size is: %s" +msgstr "Fichier trop gros, la taille maximum autorisée est : %s" + +#: gajim/common/modules/httpupload.py:279 +msgid "Encrypting file…" +msgstr "Chiffrement du fichier…" + +#: gajim/common/modules/httpupload.py:280 +msgid "Requesting HTTP File Upload Slot…" +msgstr "Demande d'envoi de fichier par HTTP…" + +#: gajim/common/modules/httpupload.py:281 +msgid "Uploading via HTTP File Upload…" +msgstr "Envoi du fichier via l’envoi de fichiers par HTTP…" + +#: gajim/common/modules/httpupload.py:285 +msgid "The server returned an insecure transport (HTTP)." +msgstr "Le serveur a retourné un transport non sécurisé (HTTP)." + +#: gajim/common/modules/httpupload.py:286 +msgid "There is no encryption method available for the chosen encryption." +msgstr "" +"Il n'y a pas de méthode de chiffrement disponible pour le chiffrement choisi." + +#: gajim/plugins/pluginmanager.py:679 gajim/plugins/pluginmanager.py:685 +msgid "Archive corrupted" +msgstr "Archive corrompue" + +#: gajim/plugins/pluginmanager.py:681 +msgid "Archive empty" +msgstr "L'archive est vide" + +#: gajim/plugins/pluginmanager.py:693 gajim/plugins/pluginmanager.py:701 +#: gajim/plugins/gui.py:273 +msgid "Archive is malformed" +msgstr "L'archive est mal-formée" + +#: gajim/plugins/pluginmanager.py:710 gajim/plugins/gui.py:288 +#: gajim/plugins/gui.py:301 +msgid "Plugin already exists" +msgstr "L'extension existe déjà" + +#: gajim/plugins/pluginmanager.py:720 +msgid "Installation failed" +msgstr "L'installation a échoué" + +#: gajim/plugins/gui.py:67 gajim/data/gui/shortcuts_window.ui:38 +msgid "Plugins" +msgstr "Extensions" + +#: gajim/plugins/gui.py:75 +msgid "Click to view Gajim's wiki page on how to install plugins in Flatpak." +msgstr "" +"Cliquer pour voir la page du wiki de Gajim sur l'installation des extensions " +"dans Flatpak." + +#: gajim/plugins/gui.py:84 +msgid "Plugin" +msgstr "Extension" + +#: gajim/plugins/gui.py:95 gajim/data/gui/manage_sounds.ui:40 +msgid "Active" +msgstr "Actif" + +#: gajim/plugins/gui.py:159 +#, python-format +msgid "Warning: %s" +msgstr "Avertissement : %s" + +#: gajim/plugins/gui.py:216 +msgid "Plugin failed" +msgstr "Extension en échec" + +#: gajim/plugins/gui.py:249 +msgid "Unable to properly remove the plugin" +msgstr "Impossible de supprimer l'extension proprement" + +#: gajim/plugins/gui.py:287 +msgid "Overwrite Plugin?" +msgstr "Écraser l'extension ?" + +#: gajim/plugins/gui.py:289 +msgid "Do you want to overwrite the currently installed version?" +msgstr "Voulez-vous remplacer la version actuellement installée ?" + +#: gajim/plugins/gui.py:317 gajim/data/gui/groupchat_config.ui:258 +msgid "Configuration" +msgstr "Configuration" + +#: gajim/data/gui/groupchat_nick_chooser.ui:47 +msgid "Join Group Chat as…" +msgstr "Rejoindre le salon en tant que…" + +#: gajim/data/gui/groupchat_nick_chooser.ui:66 +msgid "Your Nickname" +msgstr "Votre pseudonyme" + +#: gajim/data/gui/groupchat_control.ui:36 +msgid "Drop Files or Contacts" +msgstr "Déposer des fichiers ou des contacts" + +#: gajim/data/gui/groupchat_control.ui:58 gajim/data/gui/chat_control.ui:322 +msgid "Bold" +msgstr "Gras" + +#: gajim/data/gui/groupchat_control.ui:67 gajim/data/gui/chat_control.ui:331 +msgid "Italic" +msgstr "Italique" + +#: gajim/data/gui/groupchat_control.ui:76 gajim/data/gui/chat_control.ui:340 +msgid "Underline" +msgstr "Souligné" + +#: gajim/data/gui/groupchat_control.ui:85 gajim/data/gui/chat_control.ui:349 +msgid "Strike" +msgstr "Barré" + +#: gajim/data/gui/groupchat_control.ui:107 gajim/data/gui/chat_control.ui:371 +msgid "Font" +msgstr "Police" + +#: gajim/data/gui/groupchat_control.ui:121 gajim/data/gui/chat_control.ui:385 +msgid "Clear formatting" +msgstr "Effacer le formatage" + +#: gajim/data/gui/groupchat_control.ui:383 gajim/data/gui/chat_control.ui:784 +msgid "Choose encryption" +msgstr "Choisir un chiffrement" + +#: gajim/data/gui/groupchat_control.ui:429 gajim/data/gui/chat_control.ui:667 +msgid "Show a list of emojis (Alt+M)" +msgstr "Afficher une liste des émojis (Alt+M)" + +#: gajim/data/gui/groupchat_control.ui:454 gajim/data/gui/chat_control.ui:833 +msgid "Send Message" +msgstr "Envoyer le message" + +#: gajim/data/gui/groupchat_control.ui:583 +msgid "Joining…" +msgstr "Connexion…" + +#: gajim/data/gui/groupchat_control.ui:641 +msgid "Enter Nickname" +msgstr "Saisir un pseudonyme" + +#: gajim/data/gui/groupchat_control.ui:691 +#: gajim/data/gui/groupchat_control.ui:783 +msgid "Ch_ange" +msgstr "Ch_anger" + +#: gajim/data/gui/groupchat_control.ui:748 +#: gajim/data/gui/shortcuts_window.ui:319 +msgid "Change Subject" +msgstr "Changer le sujet" + +#: gajim/data/gui/groupchat_control.ui:864 +msgid "Enter Password" +msgstr "Saisir mot de passe" + +#: gajim/data/gui/groupchat_control.ui:1081 +msgid "_Forget Group Chat" +msgstr "_Oublier le salon de discussion" + +#: gajim/data/gui/groupchat_control.ui:1085 +msgid "Gajim will not try to join this group chat again" +msgstr "Gajim n'essayera plus de rejoindre ce salon de discussion" + +#: gajim/data/gui/groupchat_control.ui:1102 +msgid "T_ry Again" +msgstr "_Essayer à nouveau" + +#: gajim/data/gui/groupchat_control.ui:1156 +msgid "An Error Occurred" +msgstr "Une erreur est survenue" + +#: gajim/data/gui/groupchat_control.ui:1221 +msgid "_Try Again" +msgstr "_Essayer à nouveau" + +#: gajim/data/gui/groupchat_control.ui:1398 +msgid "Kick Participant" +msgstr "Éjecter participant" + +#: gajim/data/gui/groupchat_control.ui:1436 +msgid "_Kick" +msgstr "_Éjecter" + +#: gajim/data/gui/groupchat_control.ui:1469 +#: gajim/data/gui/groupchat_control.ui:1595 +#: gajim/data/gui/groupchat_control.ui:1721 +#: gajim/data/gui/groupchat_control.ui:1738 +#: gajim/data/gui/groupchat_control.ui:1827 +#: gajim/data/gui/groupchat_control.ui:1828 +msgid "Insert Emoji" +msgstr "Insérer un émoji" + +#: gajim/data/gui/groupchat_control.ui:1482 +#: gajim/data/gui/groupchat_control.ui:1608 +msgid "Reason (optional)" +msgstr "Motif (facultatif)" + +#: gajim/data/gui/groupchat_control.ui:1524 +msgid "Ban Participant" +msgstr "Bannir participant" + +#: gajim/data/gui/groupchat_control.ui:1562 +msgid "_Ban" +msgstr "_Bannir" + +#: gajim/data/gui/groupchat_control.ui:1650 +msgid "Destroy This Chat" +msgstr "Détruire ce salon" + +#: gajim/data/gui/groupchat_control.ui:1688 +msgid "_Destroy" +msgstr "_Détruire" + +#: gajim/data/gui/groupchat_control.ui:1722 +msgid "Alternate venue (optional)..." +msgstr "Lieu alternatif (facultatif)…" + +#: gajim/data/gui/groupchat_control.ui:1739 +msgid "Reason (optional)..." +msgstr "Motif (facultatif)..." + +#: gajim/data/gui/groupchat_control.ui:1752 +msgid "Reason for destruction" +msgstr "Raison de la destruction" + +#: gajim/data/gui/groupchat_control.ui:1767 +msgid "Where participants should go" +msgstr "Où est-ce que les participants devraient aller" + +#: gajim/data/gui/groupchat_control.ui:1808 +msgid "Rename This Chat" +msgstr "Renommer ce salon" + +#: gajim/data/gui/groupchat_control.ui:1935 +msgid "_Invite" +msgstr "_Inviter" + +#: gajim/data/gui/groupchat_control.ui:2020 +msgid "Settings for This Chat" +msgstr "Paramètres pour ce salon" + +#: gajim/data/gui/filetransfers.ui:21 +msgid "Pa_use/Resume" +msgstr "S_uspendre/Reprendre" + +#: gajim/data/gui/filetransfers.ui:45 +msgid "_Open Folder" +msgstr "_Ouvrir le répertoire de destination" + +#: gajim/data/gui/filetransfers.ui:56 gajim/data/gui/filetransfers.ui:206 +msgid "File Transfers" +msgstr "Transfert de fichiers" + +#: gajim/data/gui/filetransfers.ui:91 +msgid "_Show notification when file transfer is complete" +msgstr "Afficher une notification lorsque le tran_sfert de fichier est terminé" + +#: gajim/data/gui/filetransfers.ui:131 +msgid "file transfers list" +msgstr "liste des transferts de fichier" + +#: gajim/data/gui/filetransfers.ui:132 +msgid "A list of active, completed and stopped file transfers" +msgstr "Une liste des transferts de fichier actifs, terminés et arrêtés" + +#: gajim/data/gui/filetransfers.ui:154 +msgid "Remove completed, cancelled and failed file transfers from the list" +msgstr "" +"Supprimer les transferts de fichier terminés, annulés et échoués de la liste" + +#: gajim/data/gui/filetransfers.ui:167 +msgid "Pause or resume file transfer" +msgstr "Mettre en pause ou reprendre le transfert de fichier" + +#: gajim/data/gui/filetransfers.ui:180 +msgid "Cancel the selected file transfer and remove incomplete files" +msgstr "" +"Annule le transfert du fichier sélectionné et supprime les fichiers " +"incomplets" + +#: gajim/data/gui/filetransfers.ui:207 +msgid "Shows a list of file transfers between you and your contacts" +msgstr "Affiche une liste des transferts de fichiers entre vous et les autres" + +#: gajim/data/gui/add_new_contact_window.ui:76 +msgid "_XMPP Address" +msgstr "Adresse XMPP" + +#: gajim/data/gui/add_new_contact_window.ui:92 +msgid "_Nickname" +msgstr "_Surnom" + +#: gajim/data/gui/add_new_contact_window.ui:109 +msgid "_Group" +msgstr "_Groupe" + +#: gajim/data/gui/add_new_contact_window.ui:157 +msgid "Choose or type new group name" +msgstr "Choisissez ou tapez un nouveau nom de groupe" + +#: gajim/data/gui/add_new_contact_window.ui:173 +msgid "A_ccount" +msgstr "_Compte" + +#: gajim/data/gui/add_new_contact_window.ui:189 +msgid "_Protocol" +msgstr "_Protocole" + +#: gajim/data/gui/add_new_contact_window.ui:287 +#: gajim/data/gui/single_message_window.ui:161 +msgid "Query Contact Info" +msgstr "Obtenir les informations du contact" + +#: gajim/data/gui/add_new_contact_window.ui:312 +msgid "A_llow contact to view my status" +msgstr "_Autoriser ce contact à voir mon état" + +#: gajim/data/gui/add_new_contact_window.ui:363 +msgid "_Save subscription message" +msgstr "_Sauver le message d'abonnement" + +#: gajim/data/gui/add_new_contact_window.ui:389 +msgid "" +"You have to register with this transport\n" +"to be able to add a contact from this\n" +"protocol. Click on Register button to\n" +"proceed." +msgstr "" +"Vous devez souscrire à ce transport\n" +"pour pouvoir ajouter un contact de ce\n" +"protocole. Pour ce faire, cliquez sur le\n" +"bouton « souscrire »." + +#: gajim/data/gui/add_new_contact_window.ui:404 +msgid "_Register" +msgstr "_Souscrire" + +#: gajim/data/gui/add_new_contact_window.ui:433 +msgid "" +"You must be connected to the transport to be able\n" +"to add a contact from this protocol." +msgstr "" +"Vous devez être connecté à la passerelle pour\n" +"pouvoir ajouter un contact de ce protocole." + +#: gajim/data/gui/add_new_contact_window.ui:467 +msgid "_Add" +msgstr "_Ajouter" + +#: gajim/data/gui/account_wizard.ui:16 gajim/data/gui/manage_proxies.ui:206 +msgid "_Port" +msgstr "_Port" + +#: gajim/data/gui/account_wizard.ui:46 +msgid "_Hostname" +msgstr "Nom d'_Hôte" + +#: gajim/data/gui/account_wizard.ui:62 gajim/data/gui/account_wizard.ui:689 +#: gajim/data/gui/manage_proxies.ui:223 +msgid "example.org" +msgstr "exemple.org" + +#: gajim/data/gui/account_wizard.ui:75 +msgid "Prox_y" +msgstr "Serveur _mandataire" + +#: gajim/data/gui/account_wizard.ui:110 +msgid "Manage Proxies..." +msgstr "Gérer les serveurs mandataires..." + +#: gajim/data/gui/account_wizard.ui:131 gajim/data/gui/preferences.ui:798 +msgid "Advanced Settings" +msgstr "Paramètres avancées" + +#: gajim/data/gui/account_wizard.ui:163 gajim/data/gui/manage_proxies.ui:290 +msgid "_Type" +msgstr "_Type" + +#: gajim/data/gui/account_wizard.ui:203 +msgid "Welcome" +msgstr "Bienvenue" + +#: gajim/data/gui/account_wizard.ui:219 +msgid "Please enter your credentials or Sign Up" +msgstr "Veuillez saisir vos identifiants ou vous inscrire" + +#: gajim/data/gui/account_wizard.ui:237 +msgid "Your XMPP address (e.g. user@example.org)" +msgstr "Votre adresse XMPP (e.g. utilisateur@exemple.org)" + +#: gajim/data/gui/account_wizard.ui:239 +#: gajim/data/gui/single_message_window.ui:59 +msgid "user@example.org" +msgstr "utilisateur@exemple.org" + +#: gajim/data/gui/account_wizard.ui:252 +msgid "Your password" +msgstr "Votre mot de passe" + +#: gajim/data/gui/account_wizard.ui:266 gajim/data/gui/account_wizard.ui:719 +msgid "_Advanced Settings" +msgstr "Paramètres _avancés" + +#: gajim/data/gui/account_wizard.ui:270 gajim/data/gui/account_wizard.ui:723 +msgid "Proxy, custom hostname and port" +msgstr "Serveur mandataire, nom d'hôte et port personnalisés" + +#: gajim/data/gui/account_wizard.ui:283 +msgid "_Log In" +msgstr "_Connexion" + +#: gajim/data/gui/account_wizard.ui:288 +msgid "Log in with your credentials" +msgstr "Connectez-vous avec vos identifiants" + +#: gajim/data/gui/account_wizard.ui:304 +msgid "or" +msgstr "ou bien" + +#: gajim/data/gui/account_wizard.ui:314 +msgid "_Sign Up" +msgstr "_S'inscrire" + +#: gajim/data/gui/account_wizard.ui:318 +msgid "Sign up for a new account on a server of your choice" +msgstr "Créez un nouveau compte sur un serveur de votre choix" + +#: gajim/data/gui/account_wizard.ui:369 +msgid "Visit Website" +msgstr "Visitez le site Web" + +#: gajim/data/gui/account_wizard.ui:410 +msgid "Certificate Verification Failed" +msgstr "La vérification du certificat a échoué" + +#: gajim/data/gui/account_wizard.ui:428 +msgid "" +"The following warnings came up while trying to verify the server's " +"certificate" +msgstr "" +"Les avertissements suivants sont survenus en essayant de vérifier le " +"certificat du serveur" + +#: gajim/data/gui/account_wizard.ui:457 +msgid "_Show Certificate" +msgstr "Voir le _certificat" + +#: gajim/data/gui/account_wizard.ui:472 +msgid "_Add to Trusted Certificates" +msgstr "Ajouter aux certificats de _confiance" + +#: gajim/data/gui/account_wizard.ui:501 gajim/data/gui/account_wizard.ui:664 +msgid "Which server should I choose?" +msgstr "Quel serveur devrais-je choisir ?" + +#: gajim/data/gui/account_wizard.ui:516 +msgid "" +"There are plenty of servers to choose from.\n" +"Creating an account on one server allows you to communicate with contacts " +"from other servers as well." +msgstr "" +"Il y a de nombreux serveurs parmi lesquels choisir.\n" +"Créer un compte sur un serveur vous permettra de communiquer avec des " +"contacts même s'ils sont sur d'autres serveurs." + +#: gajim/data/gui/account_wizard.ui:530 +msgid "Visit Server's Website" +msgstr "Visiter le site Web du serveur" + +#: gajim/data/gui/account_wizard.ui:550 +msgid "Listing of Servers" +msgstr "Liste de serveurs" + +#: gajim/data/gui/account_wizard.ui:568 +msgid "" +"xmpp.org/getting-started" +msgstr "" +"xmpp.org/getting-started" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "Comparaison des fonctionnalités disponibles sur divers serveurs" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" +"conversations.im/compliance" + +#: gajim/data/gui/account_wizard.ui:646 +msgid "_Please choose a server" +msgstr "Veuillez choisir un _serveur" + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "Se connecter anonymement" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "" +"Remarque : la création de comptes anonymes n'est pas possible sur tous les " +"serveurs" + +#: gajim/data/gui/application_menu.ui:8 +msgid "_Start / Join Chat…" +msgstr "_Commencer/rejoindre une discussion…" + +#: gajim/data/gui/application_menu.ui:13 +msgid "Create _Group Chat…" +msgstr "Créer un _salon de discussion…" + +#: gajim/data/gui/application_menu.ui:18 +msgid "_History Manager" +msgstr "Gestionnaire d'_historique" + +#: gajim/data/gui/application_menu.ui:22 +msgid "Pl_ugins" +msgstr "E_xtensions" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +msgid "_Preferences" +msgstr "_Préférences" + +#: gajim/data/gui/application_menu.ui:36 +msgid "_Accounts" +msgstr "_Comptes" + +#: gajim/data/gui/application_menu.ui:39 +msgid "_View" +msgstr "A_ffichage" + +#: gajim/data/gui/application_menu.ui:46 +msgid "Show _Offline Contacts" +msgstr "Afficher les Contacts _hors-ligne" + +#: gajim/data/gui/application_menu.ui:50 +msgid "Show _Active Contacts" +msgstr "Afficher les contacts _actifs" + +#: gajim/data/gui/application_menu.ui:54 +msgid "Show _Transports" +msgstr "Afficher les _passerelles" + +#: gajim/data/gui/application_menu.ui:60 +msgid "_XML Console" +msgstr "Console _XML" + +#: gajim/data/gui/application_menu.ui:64 +msgid "_File Transfer" +msgstr "Transfert de _fichiers" + +#: gajim/data/gui/application_menu.ui:74 +msgid "_Help" +msgstr "_Aide" + +#: gajim/data/gui/application_menu.ui:77 +msgid "_Wiki (Online)" +msgstr "_Wiki (en ligne)" + +#: gajim/data/gui/application_menu.ui:81 +msgid "FA_Q (Online)" +msgstr "FA_Q (en ligne)" + +#: gajim/data/gui/application_menu.ui:85 +msgid "_Keyboard Shortcuts" +msgstr "Raccourcis _clavier" + +#: gajim/data/gui/application_menu.ui:89 +msgid "_Features" +msgstr "_Fonctionnalités" + +#: gajim/data/gui/application_menu.ui:93 +msgid "_About" +msgstr "À _propos" + +#: gajim/data/gui/filetransfer_progress.ui:125 +msgid "Speed" +msgstr "Vitesse" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "Temps restant" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +msgid "OK" +msgstr "OK" + +#: gajim/data/gui/plugins_window.ui:55 +msgid "Install Plugin from ZIP-File" +msgstr "Installer une extension depuis un fichier ZIP" + +#: gajim/data/gui/plugins_window.ui:56 +msgid "Install from File…" +msgstr "Installer depuis un fichier…" + +#: gajim/data/gui/plugins_window.ui:70 +msgid "Uninstall Plugin" +msgstr "Désinstaller l'extension" + +#: gajim/data/gui/plugins_window.ui:116 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:133 +msgid "Plugin Settings" +msgstr "Paramètres de l'extension" + +# ccount). Description column +#: gajim/data/gui/plugins_window.ui:215 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:239 +msgid "Version" +msgstr "Version" + +#: gajim/data/gui/plugins_window.ui:271 +msgid "Authors" +msgstr "Auteurs" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +msgid "Homepage" +msgstr "Site perso" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:349 +msgid "Installed" +msgstr "Installé" + +#: gajim/data/gui/plugins_window.ui:363 +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "" +"La description de l'extension devrait s'afficher ici. Ce texte sera effacé " +"lors de l'initialisation de la fenêtre des extensions." + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +msgid "Synchronise contacts" +msgstr "Synchroniser les contacts" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "Sélectionnez le compte avec lequel vous voulez vous synchroniser" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "Public ou privé ?" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" +"Privé : Si vous avez l'intention d'utiliser le chiffrement pour " +"discuter, vous voudrez typiquement créer un salon privé. Vous devrez alors y " +"inviter les personnes pour qu'elles puissent le rejoindre." + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "" +"Public : Toute personne qui connaît l'adresse peut rejoindre le salon." + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +msgid "_Name" +msgstr "_Nom" + +# ccount). Description column +#: gajim/data/gui/groupchat_creation.ui:122 +msgid "_Description" +msgstr "_Description" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "_Publique" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +msgid "_Address" +msgstr "_Adresse" + +#: gajim/data/gui/groupchat_creation.ui:278 +msgid "_Account" +msgstr "_Comptes" + +#: gajim/data/gui/profile.ui:33 +msgid "Contact Infos" +msgstr "Informations du contact" + +#: gajim/data/gui/profile.ui:45 +msgid "Picture and Name" +msgstr "Image et nom" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "" +"Rendre votre profil visible par tout le monde ou uniquement par vos contacts." + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "Retirer l'image de votre profil" + +#: gajim/data/gui/profile.ui:198 +msgid "Change your profile picture" +msgstr "Changer l'image de votre profil" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "" +"Saisissez votre pseudonyme. C'est votre nom tel qu'il sera présenté à vos " +"contacts." + +#: gajim/data/gui/profile.ui:298 +msgid "Add Entry" +msgstr "Ajouter une entrée" + +#: gajim/data/gui/profile.ui:410 +msgid "Update" +msgstr "Mettre à jour" + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "HTTP" + +#: gajim/data/gui/manage_proxies.ui:15 +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "SOCKS5" + +#: gajim/data/gui/manage_proxies.ui:65 +msgid "Add Proxy" +msgstr "Ajouter un serveur mandataire" + +#: gajim/data/gui/manage_proxies.ui:79 +msgid "Remove Proxy" +msgstr "Supprimer un serveur mandataire" + +#: gajim/data/gui/manage_proxies.ui:131 +msgid "Pass_word" +msgstr "_Mot de passe" + +#: gajim/data/gui/manage_proxies.ui:156 +msgid "Use proxy auth_entication" +msgstr "Utiliser l'auth_entification" + +#: gajim/data/gui/manage_proxies.ui:176 +msgid "_Username" +msgstr "_Nom d'utilisateur" + +#: gajim/data/gui/manage_proxies.ui:237 +msgid "_Host" +msgstr "Nom d'_Hôte" + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "Identifiant local :" + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "Ressource :" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "État :" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +msgid "_Store conversation history" +msgstr "_Stocker l'historique de conversation" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +msgid "Contact" +msgstr "Contact" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +msgid "First Name:" +msgstr "Prénom :" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +msgid "Last Name:" +msgstr "Nom :" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +msgid "XMPP Address:" +msgstr "Adresse XMPP :" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "Courriel :" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +msgid "Personal" +msgstr "Personnel" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "É_tat" + +#: gajim/data/gui/account_context_menu.ui:20 +msgid "_Personal Events" +msgstr "Évènements P_ersonnels" + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "_Ajouter un contact..." + +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "_Découvrir les services" + +#: gajim/data/gui/account_context_menu.ui:57 +msgid "_Execute Command..." +msgstr "_Exécuter une commande..." + +#: gajim/data/gui/account_context_menu.ui:65 +msgid "_View Server Info" +msgstr "_Voir les informations du serveur" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" +"Démarrer une nouvelle discussion, rejoindre un salon de discussion ou " +"rechercher des salons de discussion au niveau mondial. Vous pouvez également " +"saisir une adresse XMPP." + +#: gajim/data/gui/start_chat_dialog.ui:125 +msgid "Global Group Chat Search" +msgstr "Recherche de salon de discussion au niveau mondial" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +msgid "_Back" +msgstr "Retour" + +#: gajim/data/gui/start_chat_dialog.ui:386 +msgid "Select Account" +msgstr "Sélectionner un compte" + +#: gajim/data/gui/start_chat_dialog.ui:477 +msgid "_Select" +msgstr "_Sélectionner" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" +"Pas de contacts trouvés\n" +"Vous pouvez aussi écrire une adresse XMPP" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +msgid "Configure" +msgstr "Configurer" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +msgid "Create new post" +msgstr "Rédiger un article" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "É_tat" + +#: gajim/data/gui/systray_context_menu.ui:20 +msgid "_Start Chat..." +msgstr "Commencer une _discussion..." + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "Envoyer un _message simple..." + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "Montrer les _événements en attente" + +#: gajim/data/gui/systray_context_menu.ui:52 +msgid "Mute Sounds" +msgstr "Désactiver les sons" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +msgid "Contact List" +msgstr "Liste de contacts" + +#: gajim/data/gui/shortcuts_window.ui:24 +msgid "Create new group chat" +msgstr "Créer un salon de discussion" + +#: gajim/data/gui/shortcuts_window.ui:45 +msgid "File transfers" +msgstr "Transferts de fichiers" + +#: gajim/data/gui/shortcuts_window.ui:52 +msgid "Set the status message" +msgstr "Définir le message d'état" + +#: gajim/data/gui/shortcuts_window.ui:59 +msgid "Show XML console" +msgstr "Montrer la console _XML" + +#: gajim/data/gui/shortcuts_window.ui:74 +msgid "Appearance" +msgstr "Apparence" + +#: gajim/data/gui/shortcuts_window.ui:79 +msgid "Show offline contacts" +msgstr "Afficher les contacts hors-ligne" + +#: gajim/data/gui/shortcuts_window.ui:86 +msgid "Show only active contacts" +msgstr "Afficher seulement les contacts actifs" + +#: gajim/data/gui/shortcuts_window.ui:93 +msgid "Enable contact list filtering" +msgstr "Activer le filtrage de la liste de contacts" + +#: gajim/data/gui/shortcuts_window.ui:100 +msgid "Show / hide contact list" +msgstr "Afficher/masquer la liste de contacts" + +#: gajim/data/gui/shortcuts_window.ui:113 +msgid "Contact information" +msgstr "Informations sur le contact" + +#: gajim/data/gui/shortcuts_window.ui:120 +msgid "Rename contact" +msgstr "Renommer le contact" + +#: gajim/data/gui/shortcuts_window.ui:127 +msgid "Delete contact" +msgstr "Supprimer le contact" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +msgid "Chat" +msgstr "Discussion" + +#: gajim/data/gui/shortcuts_window.ui:142 +msgid "Message composition" +msgstr "Composition d'un message" + +#: gajim/data/gui/shortcuts_window.ui:147 +msgid "Send the message" +msgstr "Envoyer le message" + +#: gajim/data/gui/shortcuts_window.ui:154 +msgid "Add new line" +msgstr "Crée une nouvelle ligne" + +#: gajim/data/gui/shortcuts_window.ui:161 +msgid "Select an emoji" +msgstr "Sélectionnez un émoji" + +#: gajim/data/gui/shortcuts_window.ui:168 +msgid "Complete a command or a nickname" +msgstr "Complète une commande ou un surnom" + +#: gajim/data/gui/shortcuts_window.ui:175 +msgid "Previously sent message" +msgstr "Message envoyé précédant" + +#: gajim/data/gui/shortcuts_window.ui:182 +msgid "Next sent messages" +msgstr "Messages envoyés suivants" + +#: gajim/data/gui/shortcuts_window.ui:189 +msgid "Quote previous message" +msgstr "Cite le message précédent" + +#: gajim/data/gui/shortcuts_window.ui:196 +msgid "Quote next message" +msgstr "Cite le message suivant" + +#: gajim/data/gui/shortcuts_window.ui:203 +msgid "Clear message entry" +msgstr "Vide la boîte de saisie des messages" + +#: gajim/data/gui/shortcuts_window.ui:211 +msgid "Recent history" +msgstr "Historique récent" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "Défilement haut" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "Défilement bas" + +#: gajim/data/gui/shortcuts_window.ui:230 +msgid "Clear chat window" +msgstr "Vider la fenêtre de conversation" + +#: gajim/data/gui/shortcuts_window.ui:237 +msgid "Show chat history" +msgstr "Afficher l'historique de discussion" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "Onglets" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "Basculer vers l'onglet précédent" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "Basculer vers l'onglet suivant" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "Basculer vers le premier - neuvième onglet" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "Basculer vers l'onglet précédent non lu" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "Basculer vers l'onglet suivant non lu" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "Déplacer l'onglet à gauche" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "Déplacer l'onglet à droite" + +#: gajim/data/gui/shortcuts_window.ui:299 +msgid "Close chat" +msgstr "Clore la discussion" + +#: gajim/data/gui/shortcuts_window.ui:312 +msgid "Change Nickname" +msgstr "Changer de pseudonyme" + +#: gajim/data/gui/chat_control.ui:48 +msgid "Drop files or contacts" +msgstr "Déposer des fichiers ou des contacts" + +#: gajim/data/gui/chat_control.ui:80 +msgid "1" +msgstr "1" + +#: gajim/data/gui/chat_control.ui:101 +msgid "2 abc" +msgstr "2 abc" + +#: gajim/data/gui/chat_control.ui:121 +msgid "3 def" +msgstr "3 def" + +#: gajim/data/gui/chat_control.ui:141 +msgid "4 ghi" +msgstr "4 ghi" + +#: gajim/data/gui/chat_control.ui:161 +msgid "5 jkl" +msgstr "5 jkl" + +#: gajim/data/gui/chat_control.ui:181 +msgid "6 mno" +msgstr "6 mno" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "7 pqrs" + +#: gajim/data/gui/chat_control.ui:221 +msgid "8 tuv" +msgstr "8 tuv" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "9 wxyz" + +#: gajim/data/gui/chat_control.ui:261 +msgid "*" +msgstr "*" + +#: gajim/data/gui/chat_control.ui:281 +msgid "0" +msgstr "0" + +#: gajim/data/gui/chat_control.ui:301 +msgid "#" +msgstr "#" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "Le dernier message a été écrit sur un client mobile" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "Avec micro" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "Micro & Caméra" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "Terminer l'appel" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "Commencer une _discussion" + +#: gajim/data/gui/contact_context_menu.ui:28 +msgid "Send _File..." +msgstr "Envoyer un _fichier..." + +#: gajim/data/gui/contact_context_menu.ui:44 +msgid "Invite _Contacts" +msgstr "Inviter des _Contacts" + +#: gajim/data/gui/contact_context_menu.ui:58 +msgid "E_xecute Command..." +msgstr "E_xécuter une commande…" + +#: gajim/data/gui/contact_context_menu.ui:67 +msgid "M_anage Contact" +msgstr "_Gérer le contact" + +#: gajim/data/gui/contact_context_menu.ui:77 +msgid "_Rename..." +msgstr "_Renommer..." + +#: gajim/data/gui/contact_context_menu.ui:84 +msgid "Edit _Groups..." +msgstr "Éditer les _groupes..." + +#: gajim/data/gui/contact_context_menu.ui:92 +msgid "Add Special _Notification..." +msgstr "Ajouter une _Notification Spéciale..." + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "_Autorisation" + +#: gajim/data/gui/contact_context_menu.ui:115 +msgid "_Allow contact to see my status" +msgstr "_Autoriser ce contact à voir mon état" + +#: gajim/data/gui/contact_context_menu.ui:123 +msgid "A_sk to see contact status" +msgstr "Demander à voir _son état" + +#: gajim/data/gui/contact_context_menu.ui:131 +msgid "_Forbid contact to see my status" +msgstr "_Interdire le contacts de voir mon état" + +#: gajim/data/gui/contact_context_menu.ui:159 +msgid "_Unignore" +msgstr "_Ne plus ignorer" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "_Ignorer" + +#: gajim/data/gui/contact_context_menu.ui:174 +msgid "_Add to Contact List..." +msgstr "_Ajouter à la liste de contacts..." + +#: gajim/data/gui/single_message_window.ui:42 +msgid "_To" +msgstr "_À" + +#: gajim/data/gui/single_message_window.ui:71 +msgid "Su_bject" +msgstr "_Sujet" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "Entrez le sujet ici…" + +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "_Message" + +#: gajim/data/gui/single_message_window.ui:144 +msgid "Characters typed: 0" +msgstr "Caractères saisis : 0" + +#: gajim/data/gui/single_message_window.ui:189 +msgid "_From" +msgstr "_De" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "_Envoyer" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "Envoyer le message" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "_Répondre" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "Répondre à ce message" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "_Envoyer et Fermer" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "Envoyer un message et fermer la fenêtre" + +#: gajim/data/gui/vcard_information_window.ui:106 +msgid "Client" +msgstr "Client" + +#: gajim/data/gui/vcard_information_window.ui:140 +msgid "Contact time" +msgstr "Heure du contact" + +#: gajim/data/gui/vcard_information_window.ui:240 +msgid "User avatar" +msgstr "Avatar" + +#: gajim/data/gui/vcard_information_window.ui:255 +msgid "Configured avatar" +msgstr "Avatar configuré" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +msgid "Ask" +msgstr "Demander" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +msgid "Subscription" +msgstr "Souscription" + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +msgid "Extra Address" +msgstr "Adresse 2" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +msgid "Address" +msgstr "Adresse" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +msgid "E-Mail" +msgstr "Courriel" + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "Format : AAAA-MM-JJ" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +msgid "Family" +msgstr "Nom de Famille" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +msgid "Middle" +msgstr "Deuxième nom" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +msgid "Prefix" +msgstr "Préfixe" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +msgid "Given" +msgstr "Prénom" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +msgid "Suffix" +msgstr "Suffixe" + +#: gajim/data/gui/vcard_information_window.ui:958 +msgid "Name Details" +msgstr "Détails du nom" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "bouton" + +#: gajim/data/gui/vcard_information_window.ui:1017 +msgid "Personal Info" +msgstr "Informations personnelles" + +#: gajim/data/gui/vcard_information_window.ui:1040 +msgid "Company" +msgstr "Entreprise" + +#: gajim/data/gui/vcard_information_window.ui:1073 +msgid "Department" +msgstr "Département" + +#: gajim/data/gui/vcard_information_window.ui:1104 +msgid "Position" +msgstr "Poste" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "Rôle" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "À propos" + +#: gajim/data/gui/vcard_information_window.ui:1514 +msgid "Comments" +msgstr "Commentaires" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "Éditer les groupes" + +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "Mot de passe" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "Ajouter un paramètre que vous souhaiteriez modifier" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +msgid "Themes" +msgstr "Thèmes" + +#: gajim/data/gui/themes_window.ui:171 +msgid "Add Setting" +msgstr "Ajouter un paramètre" + +#: gajim/data/gui/themes_window.ui:204 +msgid "Add new Theme" +msgstr "Ajouter un nouveau thème" + +#: gajim/data/gui/themes_window.ui:219 +msgid "Remove Theme" +msgstr "Supprimer le thème" + +#: gajim/data/gui/bookmarks.ui:120 +msgid "Autojoin" +msgstr "Rejoindre automatiquement" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "_Appliquer" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "Comportement des fenêtres et des onglets" + +#: gajim/data/gui/preferences.ui:68 +msgid "Contact List Appearance" +msgstr "Apparence de la liste de contacts" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +msgid "Chats" +msgstr "Discussions" + +#: gajim/data/gui/preferences.ui:215 +msgid "Visual Notifications" +msgstr "Notifications visuelles" + +#: gajim/data/gui/preferences.ui:243 +msgid "Sounds" +msgstr "Sons" + +#: gajim/data/gui/preferences.ui:303 +msgid "Ask For Status Message on…" +msgstr "Demander un message d'état…" + +#: gajim/data/gui/preferences.ui:331 +msgid "Automatic Status Change" +msgstr "Changement automatique d'état" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "Émoji" + +#: gajim/data/gui/preferences.ui:447 +msgid "Status Icon" +msgstr "Icône d'état" + +#: gajim/data/gui/preferences.ui:472 +msgid "Style" +msgstr "Style" + +#: gajim/data/gui/preferences.ui:511 +msgid "Show _Features" +msgstr "Afficher les _fonctionnalités" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "Dépendances manquantes pour l'audio/vidéo" + +#: gajim/data/gui/preferences.ui:632 +msgid "Audio" +msgstr "Audio" + +#: gajim/data/gui/preferences.ui:660 +msgid "Video" +msgstr "Vidéo" + +#: gajim/data/gui/preferences.ui:698 +msgid "Audio/Video" +msgstr "Audio/Vidéo" + +#: gajim/data/gui/preferences.ui:735 +msgid "Miscellaneous" +msgstr "Divers" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "Rétablir les conseils" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "Cela va réinitialiser tous les conseils d'introduction" + +#: gajim/data/gui/preferences.ui:821 +msgid "Advanced Configuration Editor… " +msgstr "" +"Éditeur de configuration avancé (ACE, Advanced Configuration Editor)... " + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "Utilisez ces paramètres avec précaution !" + +#: gajim/data/gui/server_info.ui:50 +msgid "Server Software" +msgstr "Logiciel du serveur" + +#: gajim/data/gui/server_info.ui:80 +msgid "Server Uptime" +msgstr "Durée de disponibilité" + +#: gajim/data/gui/server_info.ui:109 +msgid "Contact Addresses" +msgstr "Adresses de contact" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "Ce serveur ne publie aucune adresse de contact." + +#: gajim/data/gui/server_info.ui:177 +msgid "Proxy Type" +msgstr "Type de serveur mandataire" + +#: gajim/data/gui/server_info.ui:192 +msgid "No proxy used" +msgstr "Pas de serveur mandataire" + +#: gajim/data/gui/server_info.ui:202 +msgid "View _Certificate" +msgstr "Voir le _certificat" + +#: gajim/data/gui/server_info.ui:222 +msgid "Proxy Host" +msgstr "Hôte du serveur mandataire" + +#: gajim/data/gui/server_info.ui:421 +msgid "Copy info to clipboard" +msgstr "Copier l'information dans le presse-papier" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "Nom commun (CN)" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "Organisation (O)" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "Unité d'organisation (OU)" + +#: gajim/data/gui/certificate_dialog.ui:153 +msgid "Serial Number" +msgstr "Numéro de série" + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "Émis le" + +#: gajim/data/gui/certificate_dialog.ui:304 +msgid "Expires on" +msgstr "Expire le" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "SHA-1" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "Émis à" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "Émis par" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "Validité" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "Empreintes" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "SHA-256" + +#: gajim/data/gui/certificate_dialog.ui:465 +msgid "Copy Certificate Information" +msgstr "Copier les informations du certificat" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "Inviter des Amis !" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "" +"Vous allez entrer dans un salon de discussion.\n" +"Sélectionnez les contacts que vous voulez inviter" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "colonne" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +msgid "Please select a group chat server." +msgstr "Veuillez choisir un serveur de salons de discussion." + +#: gajim/data/gui/chat_to_muc_window.ui:141 +msgid "Group chat server" +msgstr "Serveur de salons de discussion" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +msgid "In_vite" +msgstr "In_viter" + +#: gajim/data/gui/mam_preferences.ui:53 +msgid "_Default" +msgstr "Par _défaut" + +#: gajim/data/gui/mam_preferences.ui:136 +msgid "Archive" +msgstr "Archiver" + +#: gajim/data/gui/history_manager.ui:11 +msgid "_Export" +msgstr "_Exporter" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +msgid "Gajim History Logs Manager" +msgstr "Gestionnaire d'historique de Gajim" + +#: gajim/data/gui/history_manager.ui:104 +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" +"Ce gestionnaire d'historique n'est pas fait pour le visionnage des archives. " +"Si vous cherchez cette fonctionnalité, utilisez plutôt la fenêtre " +"d'historique de conversation.\n" +"\n" +"Utilisez ce programme pour supprimer ou exporter des archives. Vous pouvez " +"sélectionner les archives à droite et/ou chercher dans la base de donnée en " +"bas." + +#: gajim/data/gui/history_manager.ui:120 +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" +"ATTENTION :\n" +"Si vous comptez faire beaucoup de suppressions, vérifiez que Gajim n'est pas " +"lancé. Évitez les suppressions de contacts avec qui vous êtes en train de " +"parler." + +#: gajim/data/gui/history_manager.ui:211 +msgid "Search database..." +msgstr "Recherche dans la base de données..." + +#: gajim/data/gui/history_manager.ui:226 +msgid "Search in database" +msgstr "Rechercher dans la base de données" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" +"Aucun contact restant.\n" +"Vous pouvez également saisir une adresse XMPP." + +#: gajim/data/gui/groupchat_invite.ui:69 +msgid "Invitees" +msgstr "Invités" + +#: gajim/data/gui/groupchat_invite.ui:153 +msgid "Search contacts..." +msgstr "Rechercher des contacts..." + +#: gajim/data/gui/groupchat_invite.ui:223 +msgid "Click on contacts you would like to invite to this group chat." +msgstr "" +"Cliquez sur les contacts que vous souhaitez inviter dans ce salon de " +"discussion." + +#: gajim/data/gui/service_discovery_window.ui:148 +msgid "Go" +msgstr "Parc_ourir" + +#: gajim/data/gui/status_change_window.ui:27 +msgid "Change Status" +msgstr "Modifier l'état" + +#: gajim/data/gui/status_change_window.ui:56 +msgid "Status Presets…" +msgstr "États prédéfinis…" + +#: gajim/data/gui/status_change_window.ui:72 +msgid "Save this message as a preset" +msgstr "Enregistrer comme messages d'état prédéfini" + +#: gajim/data/gui/status_change_window.ui:130 +msgid "Ac_tivity" +msgstr "Ac_tivité" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "Humeur" + +#: gajim/data/gui/status_change_window.ui:278 +msgid "_Change Status" +msgstr "_Modifier l'état" + +#: gajim/data/gui/status_change_window.ui:313 +msgid "Activity" +msgstr "Activité" + +#: gajim/data/gui/status_change_window.ui:326 +msgid "_No Activity" +msgstr "_Pas d'activité" + +#: gajim/data/gui/status_change_window.ui:729 +msgid "Mood" +msgstr "Humeur" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "Sujet" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +msgid "Author" +msgstr "Auteur" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "Journaux de discussion" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +msgid "Group Chat Language" +msgstr "Langue parlée dans le salon de discussion" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +msgid "Copy Address" +msgstr "Copier l’adresse" + +#: gajim/data/gui/emoji_chooser.ui:98 +msgid "No Results Found" +msgstr "Aucun résultat trouvé" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr "Console XML" + +#: gajim/data/gui/xml_console.ui:131 +msgid "Start Search..." +msgstr "Lancer la recherche..." + +#: gajim/data/gui/xml_console.ui:260 +msgid "Clear" +msgstr "Effacer" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "Coller le dernier texte saisi" + +#: gajim/data/gui/xml_console.ui:316 +msgid "Presets" +msgstr "Préréglages" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "Synchroniser : choisissez des contacts" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +msgid "Select the contacts you want to synchronise" +msgstr "Sélectionnez les contacts que vous voulez synchroniser" + +#: gajim/data/gui/groupchat_config.ui:51 +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" +"Adresse XMPP\n" +"<pseudo@domaine/ressource> (seulement cette ressource correspond).\n" +"<pseudo@domaine> (toutes les ressources correspondent).\n" +"<domaine/ressources> (seulement cette ressource correspond).\n" +"<domaine> (le domaine complet correspond, incluant tous les " +"pseudo@domaine ou domaine/ressource)\n" + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "" +"Seulement les administrateurs et les propriétaires peuvent modifier " +"l'affiliation" + +#: gajim/data/gui/groupchat_config.ui:309 +msgid "Reserved Name" +msgstr "Nom réservé" + +#: gajim/data/gui/groupchat_config.ui:346 +msgid "Affiliation" +msgstr "Affiliation" + +#: gajim/data/gui/groupchat_config.ui:377 +msgid "Affiliations" +msgstr "Affiliations" + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "Raison" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "Liste des bannis" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "_Refuser" + +#: gajim/data/gui/subscription_request_window.ui:34 +msgid "_Block User" +msgstr "_Bloquer le contact" + +#: gajim/data/gui/subscription_request_window.ui:49 +msgid "_Report as Spam" +msgstr "_Signaler comme Spam" + +#: gajim/data/gui/subscription_request_window.ui:212 +msgid "_Deny…" +msgstr "_Refuser…" + +#: gajim/data/gui/subscription_request_window.ui:225 +msgid "Ac_cept" +msgstr "Ac_cepter" + +#: gajim/data/gui/subscription_request_window.ui:230 +msgid "Allows the contact to see your online status" +msgstr "Autoriser ce contact à voir votre état en ligne" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "Désolé, cela n'aurait pas dû arriver" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" +"Gajim à rencontré une erreur. Un rapport est présenté ci-dessous.\n" +"Vous pouvez aider à régler cette erreur en envoyant un rapport de bogue." + +#: gajim/data/gui/exception_dialog.ui:115 +msgid "_Report Bug" +msgstr "Rapport de bogue" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "Événement" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "Choisissez un son" + +#: gajim/data/gui/manage_sounds.ui:97 +msgid "Clear Sound" +msgstr "Effacer le son" + +#: gajim/data/gui/manage_sounds.ui:118 +msgid "Play Sound" +msgstr "Jouer les sons" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +msgid "_Send Files" +msgstr "Envoyer les _fichiers" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +msgid "Send" +msgstr "Envoyer" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +msgid "Files to send" +msgstr "Fichiers à envoyer" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +msgid "Add Files" +msgstr "Ajouter des fichiers" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +msgid "Remove Files" +msgstr "Retirer des fichiers" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +msgid "Idle since:" +msgstr "Inactif depuis :" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +msgid "Mood:" +msgstr "Humeur :" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +msgid "Activity:" +msgstr "Activité :" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +msgid "Tune:" +msgstr "Musique :" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +msgid "Location:" +msgstr "Géolocalisation :" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +msgid "Subscription:" +msgstr "Souscription :" + +#: gajim/data/gui/advanced_configuration.ui:15 +msgid "A restart may be required for some settings to take effect" +msgstr "" +"Un redémarrage de Gajim peut être nécessaire pour prendre en compte " +"certaines de vos modifications" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "Commencez à écrire pour chercher des valeurs..." + +#: gajim/data/gui/advanced_configuration.ui:120 +msgid "_Reset Value" +msgstr "_Rétablir la valeur" + +#: gajim/data/gui/advanced_configuration.ui:125 +msgid "Resets value to default" +msgstr "Rétablit la valeur par défaut" + +#: gajim/data/gui/history_window.ui:27 +msgid "Display status changes" +msgstr "Afficher les modifications d'état" + +#: gajim/data/gui/history_window.ui:57 +msgid "History Manager" +msgstr "Gestionnaire d'historique" + +#: gajim/data/gui/history_window.ui:233 +msgid "Mode" +msgstr "Mode" + +#: gajim/data/gui/history_window.ui:246 +msgid "Search complete history" +msgstr "Chercher dans l'historique complet" + +#: gajim/data/gui/history_window.ui:263 +msgid "Search selected day only" +msgstr "Chercher uniquement à la date sélectionnée" + +#: gajim/data/gui/history_window.ui:317 +msgid "Store history for this chat" +msgstr "Enregistrer l'historique pour cette discussion" + +#: gajim/data/gui/history_window.ui:332 +msgid "Store History" +msgstr "Enregistrer l'historique" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +msgid "Identified Error" +msgstr "Erreur identifiée" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +msgid "" +msgstr "" + +#: gajim/data/gui/ssl_error_dialog.ui:74 +msgid "Add this certificate to the list of _trusted certificates" +msgstr "Ajouter ce certificat à la liste des certificats de confiance" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +msgid "_View Certificate" +msgstr "_Voir le certificat" + +#: gajim/data/gui/ssl_error_dialog.ui:120 +msgid "_Connect" +msgstr "_Connecter" + +#: data/org.gajim.Gajim.desktop.in:5 +msgid "XMPP Chat Client" +msgstr "Client de chat XMPP" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "Un client de chat XMPP complet" + +#: data/org.gajim.Gajim.desktop.in:8 +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "chat;messaging;im;xmpp;bonjour;voip;" + +#: data/org.gajim.Gajim.desktop.in:27 +msgid "Show next pending event" +msgstr "Montrer le prochain événement en attente" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" +"Gajim se veut être un client XMPP facile à utiliser et complet. Discutez " +"simplement avec vos amis ou votre famille, partagez facilement des photos et " +"des pensées ou discutez des actualités avec vos groupes." + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "" +"Discutez de manière sécurisée avec un chiffrement de bout en bout au moyen " +"de OMEMO ou OpenPGP." + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" +"Gajim s'intègre bien avec vos autres appareils : continuez vos discussions " +"sur votre appareil mobile en toute simplicité." + +#: data/org.gajim.Gajim.appdata.xml.in:17 +msgid "Features:" +msgstr "Fonctionnalités :" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "" +"Ne ratez jamais un message, gardez tous vous clients de messagerie " +"synchronisés" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "Inviter des amis dans un salon de discussion ou en rejoindre un" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "" +"Envoyez facilement des photos, vidéos ou autres fichiers à des amis et des " +"groupes" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "" +"Discutez de manière sécurisée avec un chiffrement de bout en bout au moyen " +"de OMEMO ou OpenPGP" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "Utilisez vos émoticônes préférées, configurez votre photo de profil" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "Sauvegardez et gérez votre historique de conversation" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "Organisez vos discussions avec des onglets" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +msgid "Automatic spell-checking for your messages" +msgstr "Vérification orthographique automatique des messages composés" + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "" +"Connectez-vous à d'autres messageries avec des passerelles (Facebook, IRC, …)" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" +"Consultez Wikipédia, des dictionnaires ou utilisez des moteurs de recherche " +"directement depuis la fenêtre de discussion" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" +"Configurez votre activité, musique et humeur pour montrer à vos amis comment " +"vous vous sentez" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "Support pour plusieurs comptes" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "Grouper plusieurs contacts d'un même ami en un seul Meta-Contact" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "Console XML pour voir ce qui se passe sur la couche protocole" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "Messagerie instantanée sans serveur (Bonjour/Zeroconf)" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +msgid "Support for service discovery including nodes and search for users" +msgstr "" +"Support pour la découverte des services incluant les nœuds et la recherche " +"d'utilisateurs" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "Encore plus de fonctionnalités avec des greffons" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +msgid "Contact list" +msgstr "Liste de contacts" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "Fenêtre de discussion avec onglets" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +msgid "Group chat support" +msgstr "Support des salons de discussion" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +msgid "Chat history" +msgstr "Historique des discussions" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +msgid "Plugin manager" +msgstr "Gestionnaire d'extensions" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +msgid "Gajim Team" +msgstr "Thèmes de Gajim" + +#~ msgid "Could not request upload slot for HTTP File Upload" +#~ msgstr "Impossible de demander l’envoi de fichier via HTTP" + +#~ msgid "Exception raised while trying to open file (see log)." +#~ msgstr "Erreur lors de l’ouverture du fichier (voir log)." + +#~ msgid "Not Secure" +#~ msgstr "Insécure" + +#~ msgid "Could not Upload File" +#~ msgstr "Impossible d’envoyer le fichier" + +#, python-format +#~ msgid "HTTP response code from server: %s" +#~ msgstr "Code de réponse HTTP du serveur : %s" + +#~ msgid "Upload Error" +#~ msgstr "Erreur de l’envoi" + +#~ msgid "Encryption Error" +#~ msgstr "Erreur du chiffrement" + +#~ msgid "Retrieving profile…" +#~ msgstr "Récupération du profil…" + +#~ msgid "Could not load image" +#~ msgstr "Impossible de charger l’image" + +#~ msgid "Wrong date format" +#~ msgstr "Mauvais format de date" + +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "Format : AAAA-MM-JJ" + +#~ msgid "Information received" +#~ msgstr "Invitation reçue" + +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "Vous devez être connecté pour publier vos informations." + +#~ msgid "Sending profile…" +#~ msgstr "Envoi du profil…" + +#~ msgid "Information NOT published" +#~ msgstr "L'information n'a PAS été publiée" + +#~ msgid "vCard publication failed" +#~ msgstr "échec lors de la publication de votre vCard" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "" +#~ "Une erreur s'est produite lors de la publication de vos informations " +#~ "personnelles, veuillez réessayer plus tard." + +#~ msgid "Clear Avatar" +#~ msgstr "Effacer un avatar" + +#~ msgid "Set Avatar…" +#~ msgstr "Choisir un Avatar…" + +#~ msgid "Main" +#~ msgstr "Principal" + +#~ msgid "Contact" +#~ msgstr "Contact" + +#~ msgid "org.gajim.Gajim" +#~ msgstr "org.gajim.Gajim" + +#~ msgid "Gajim aims to be an easy to use and fully-featured XMPP client." +#~ msgstr "" +#~ "Gajim se veut être un client XMPP à la fois facile d'utilisation et " +#~ "complet." + +#~ msgid "an audio and video" +#~ msgstr "audio et vidéo" + +#~ msgid "an audio" +#~ msgstr "audio" + +#~ msgid "a video" +#~ msgstr "vidéo" + +#~ msgid "" +#~ "%(contact)s wants to start a %(type)s chat with you. Do you want to " +#~ "answer the call?" +#~ msgstr "" +#~ "%(contact)s veut démarrer un discussion %(type)s avec vous. Voulez-vous " +#~ "répondre à son appel ?" + +#~ msgid "Error." +#~ msgstr "Erreur." + +#~ msgid "%(type)s state : %(state)s, reason: %(reason)s" +#~ msgstr "État %(type)s : %(state)s, raison : %(reason)s" + +#~ msgid "Metacontacts storage not supported by your server" +#~ msgstr "Le stockage des métacontacts n'est pas supporté par votre serveur" + +#~ msgid "" +#~ "Your server does not support storing metacontacts information. So this " +#~ "information will not be saved on next reconnection." +#~ msgstr "" +#~ "Votre serveur ne supporte pas l'enregistrement des informations de " +#~ "métacontacts. Par conséquent, ces informations ne seront pas enregistrées " +#~ "lors de la prochaine connexion." + +#~ msgid "{contact_name} invited you to {event.info.muc_name}" +#~ msgstr "{contact_name} vous a invité sur {event.info.muc_name}" + +#~ msgid "%s wants to start a voice chat." +#~ msgstr "%s souhaite vous envoyer un fichier." + +#~ msgid "Voice Chat Request" +#~ msgstr "Requête d'appel" + +#~ msgid "Incoming call" +#~ msgstr "Appel entrant" + +#~ msgid "You are invited to {room} by {user}" +#~ msgstr "Vous êtes invité dans le salon de discussion {room} par {user}" + +#~ msgid "Blocked Contacts" +#~ msgstr "Contacts Bloqués" + +#~ msgid "Join group chat every time Gajim is started" +#~ msgstr "Rejoindre ce salon à chaque démarrage de Gajim" + +#~ msgid "Join Automatically" +#~ msgstr "Rejoindre automatiquement" + +#~ msgid "Group chat" +#~ msgstr "Salon de discussion" + +#~ msgid "Bookmark group chat" +#~ msgstr "Enregistrer ce salon dans les marque-pages" + +#~ msgid "Bookmark" +#~ msgstr "Marque-page" + +#~ msgid "Recently used group chats" +#~ msgstr "Salons de discussion récemment utilisés" + +#~ msgid "Search group chats on selected server" +#~ msgstr "Chercher les salons sur le serveur selectionné" + +#~ msgid "_Retry" +#~ msgstr "_Réessayer" + +#~ msgid "Destroy group chat" +#~ msgstr "Détruire le salon de discussion" + +#~ msgid "Enter a new name for this group chat" +#~ msgstr "Entrez un nouveau nom pour ce salon" + +#~ msgid "Message..." +#~ msgstr "Message…" + +#~ msgid "_Message if you decline (optional)" +#~ msgstr "_Message si vous refusez (optionnel)" + +#~ msgid "Fill in the form." +#~ msgstr "Remplissez le formulaire." + +#~ msgid "Group Chat Invitation " +#~ msgstr "Invitation à un salon " + +#~ msgid "" +#~ "%(contact)s has invited you to the group chat %(room_jid)s" +#~ msgstr "" +#~ "%(contact)s vous a invité dans le salon de discussion " +#~ "%(room_jid)s" + +#~ msgid "Comment: %s" +#~ msgstr "Commentaire : %s" + +#~ msgid "Chat Settings" +#~ msgstr "Paramètres de la fenêtre de discussion" + +#~ msgid "%i day" +#~ msgid_plural "%i days" +#~ msgstr[0] "%i jour" +#~ msgstr[1] "%i jours" + +#~ msgid "Composing only" +#~ msgstr "Seulement en train d’écrire" + +#~ msgid "All chat states" +#~ msgstr "Tous les états" + +#~ msgid "If enabled, Gajim displays the avatar in the chat window." +#~ msgstr "" +#~ "Si activé, Gajim affichera les avatars dans les fenêtres de conversation." + +#~ msgid "Options in days which can be chosen in the sync threshold menu" +#~ msgstr "" +#~ "Options possibles, en jours, dans le menu du seuil de synchronisation" + +#~ msgid "%s is a directory but should be a file" +#~ msgstr "%s est un répertoire mais devrait être un fichier" + +#~ msgid "Creating %s" +#~ msgstr "Création de %s" + +#~ msgid "%(nickname)s Signed In" +#~ msgstr "%(nickname)s s'est connecté⋅e" + +#~ msgid "Contact Signed In" +#~ msgstr "Contact connecté" + +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "%(nickname)s s'est déconnecté⋅e" + +#~ msgid "Contact Signed Out" +#~ msgstr "Contact déconnecté" + +#~ msgid "" +#~ "Show desktop notification even when a chat window is opened for this " +#~ "contact and does not have focus." +#~ msgstr "" +#~ "Montrer les notifications même lorsqu'une fenêtre de discussion est " +#~ "ouverte pour ce contact et n'a pas le focus." + +#~ msgid "_Leave Group Chat" +#~ msgstr "_Quitter le salon de discussion" + +#~ msgid "Pop it up" +#~ msgstr "Faire surgir un pop up" + +#~ msgid "Notify me about it" +#~ msgstr "Me le signaler" + +#~ msgid "Show only in contact list" +#~ msgstr "Montrer seulement dans la liste de contacts" + +#~ msgid "No status messages" +#~ msgstr "Pas de messages d'état" + +#~ msgid "All status messages" +#~ msgstr "Tous les messages d'état" + +#~ msgid "Only enter/leave messages" +#~ msgstr "Ne montrer que les messages entrer/partir" + +#~ msgid "_Tabs placement" +#~ msgstr "Emplacement des _onglets" + +#~ msgid "" +#~ "If enabled, Gajim will quit when closing the contact list window instead " +#~ "of minimizing to the system's notification area" +#~ msgstr "" +#~ "Si activé, Gajim se fermera quand la fenêtre de la liste des contacts est " +#~ "fermée, au lieu de se minimiser dans la zone des notifications du système" + +#~ msgid "Me_rge accounts" +#~ msgstr "_Regrouper les comptes" + +#~ msgid "Displays all your accounts merged into a single one" +#~ msgstr "Montrer tout vos comptes fusionnés en un seul" + +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "Afficher les a_vatars des contacts dans la liste des contacts" + +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "" +#~ "Si cette case est cochée, Gajim affichera l'avatar de chaque contact dans " +#~ "la fenêtre des contacts et les salons de discussion" + +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "" +#~ "Afficher les _messages d'état des contacts dans la liste des contacts" + +#~ msgid "" +#~ "If checked, status messages of contacts will be shown under the contact's " +#~ "name, in the contact list window, and in group chats" +#~ msgstr "" +#~ "Si cette case est cochée, Gajim affichera les messages d'état des " +#~ "contacts sous le nom du contact, dans la fenêtre de la liste des contacts " +#~ "et les salons de discussion" + +#~ msgid "" +#~ "Show e_xtra information of contacts in contact list (mood, activity, ...)" +#~ msgstr "" +#~ "Afficher les informations _supplémentaires des contacts dans la liste des " +#~ "contacts (humeur, activité, …)" + +#~ msgid "" +#~ "If checked, additional info published by the contact will be shown in the " +#~ "contact list. Additional infos (published via PEP) may include e.g. mood, " +#~ "activity, tune, location, ..." +#~ msgstr "" +#~ "Si cette case est cochée, des informations additionnelles publiées par le " +#~ "contact seront montrées dans la liste des contacts. Les informations " +#~ "additionnelles (publiées au moyen de PEP) peuvent être par exemple " +#~ "humeur, activité, musique, emplacement, …" + +#~ msgid "in _contact list" +#~ msgstr "dans la liste de _contacts" + +#~ msgid "in _group chats" +#~ msgstr "dans les _salons de discussion" + +#~ msgid "Enable spell _checking" +#~ msgstr "Activer la _vérification orthographique" + +#~ msgid "" +#~ "If checked, spelling errors in input fields of chat windows will be " +#~ "highlighted. If no language is explicitly set via right click on the " +#~ "input field, the default language will be used for this contact or group " +#~ "chat. Needs gspell to be installed." +#~ msgstr "" +#~ "Si cette case est cochée, Gajim soulignera les erreurs d'orthographe dans " +#~ "le champ de saisie des fenêtres de conversation. Si aucune langue n'a été " +#~ "définie explicitement par clique droit sur le champ de saisie, la langue " +#~ "par défaut sera utilisée pour ce contact ou ce salon. gspell doit être " +#~ "installé." + +#~ msgid "" +#~ "If checked, a small checkmark will be shown after each message when it " +#~ "was received. Note that this is not supported by all clients and " +#~ "therefore could be misleading." +#~ msgstr "" +#~ "Si cette case est cochée, une petite coche sera montrée à côté de chaque " +#~ "message quand il a été reçu. Notez que ceci n'est pas supporté par tous " +#~ "les clients et peut donc être trompeur." + +#~ msgid "Display status messages in _single chats" +#~ msgstr "Afficher les messages d'état dans les _discussions" + +#~ msgid "" +#~ "If checked, status lines will be shown in 1 on 1 chats when a contact " +#~ "changes their status or status message" +#~ msgstr "" +#~ "Si cette case est cochée, les lignes d'état seront affichées dans les " +#~ "conversations quand un contact modifie son état ou son message d'état" + +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "Montrer le sujet après avoir _rejoint un salon de discussion" + +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "" +#~ "Si cette case est cochée, le sujet du salon sera affiché à l'entrée dans " +#~ "un salon de discussion" + +#~ msgid "Show join/leave (Default)" +#~ msgstr "Montrer rejoindre/partir (par défaut)" + +#~ msgid "" +#~ "If join/leave status messages are shown in the group chat. This setting " +#~ "can be overridden in the group chat menu." +#~ msgstr "" +#~ "Si les messages connecté/parti sont montrés dans le salon de discussion. " +#~ "Ce paramètre peut être redéfini au cas par cas dans le menu de chaque " +#~ "salon." + +# supplanté, outrepassé, ignoré, écrasé ? +#~ msgid "" +#~ "The default sync threshold for new public group chats. This setting can " +#~ "be overridden in the group chat menu." +#~ msgstr "" +#~ "Le seuil de synchronisation par défaut pour les nouveaux salons de " +#~ "discussion publiques. Ce paramètre peut être redéfini au cas par cas dans " +#~ "le menu de chaque salon." + +#~ msgid "Show status changes (Default)" +#~ msgstr "Afficher les modifications d'état (par défaut)" + +#~ msgid "" +#~ "If status change messages are shown in the group chat. This setting can " +#~ "be overridden in the group chat menu." +#~ msgstr "" +#~ "Si les messages de changement d'état doivent être montrés sans les salons " +#~ "de discussion. Ce paramètre peut être redéfini au cas par cas dans le " +#~ "menu de chaque salon." + +#~ msgid "" +#~ "If checked, the tab will be colored according to the current chatstate of " +#~ "the contact" +#~ msgstr "" +#~ "Si cette case est cochée, l'onglet sera coloré suivant le statut actuel " +#~ "de votre contact" + +#~ msgid "" +#~ "If checked, the contact row will be colored according to the current " +#~ "chatstate of the contact" +#~ msgstr "" +#~ "Si cette case est cochée, la ligne d'un contact sera colorée en fonction " +#~ "de son statut" + +#~ msgid "" +#~ "If checked, a description of the contacts current chatstate is shown in " +#~ "the banner" +#~ msgstr "" +#~ "Si cette case est cochée, une description du statut des contacts sera " +#~ "montrée dans la bannière" + +#~ msgid "Chatstate" +#~ msgstr "Statut" + +#~ msgid "_When new event is received" +#~ msgstr "_Quand un nouvel événement est reçu" + +#~ msgid "Show popups/notifications when a chat window is already _open" +#~ msgstr "" +#~ "Montrer les notifications lorsqu'une fenêtre de discussion est déjà " +#~ "_ouverte" + +#~ msgid "Allow popups/notifications when I'm _away, not available or busy" +#~ msgstr "" +#~ "Autoriser les fenêtres de notifications lorsque je suis _absent⋅e/" +#~ "indisponible/occupé⋅e" + +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "Me signaler les contacts qui se _connectent" + +#~ msgid "" +#~ "A popup window about contacts that just signed in will be shown in the " +#~ "bottom right of the screen " +#~ msgstr "" +#~ "Une fenêtre de notification apparaîtra en bas à droite de l'écran quand " +#~ "un contact se connecte " + +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "Me signaler les contacts qui se _déconnectent" + +#~ msgid "" +#~ "A popup window about contacts that just signed out will be shown in the " +#~ "bottom right of the screen " +#~ msgstr "" +#~ "Une fenêtre de notification apparaîtra en bas à droite de l'écran quand " +#~ "un contact se déconnecte " + +#~ msgid "Play _sounds" +#~ msgstr "_Jouer les sons" + +#~ msgid "Ma_nage..." +#~ msgstr "_Gérer..." + +#~ msgid "Allow playing sounds when I'm _busy" +#~ msgstr "Autoriser les sons quand je suis _occupé⋅e" + +#~ msgid "Show the status change dialog on Sign In" +#~ msgstr "Montrer la fenêtre de changement d'état lors de la connexion" + +#~ msgid "Show the status change dialog on Sign Out" +#~ msgstr "Montrer la fenêtre de changement d'état lors de la déconnexion" + +#~ msgid "Show the status change dialog on all status changes" +#~ msgstr "" +#~ "Affiche la fenêtre de changement d'état pour tous les changements d'état" + +#~ msgid "No_t Available" +#~ msgstr "Non disponible" + +#~ msgid "" +#~ "If checked, the status will be changed to Not Available when the computer " +#~ "has not been used for the specified time" +#~ msgstr "" +#~ "Si cette case est cochée, Gajim changera votre statut en Non disponible " +#~ "quand l'ordinateur n'a pas été utilisé pendant la durée spécifiée" + +#~ msgid "" +#~ "If checked, the status will be changed to Away when the computer has not " +#~ "been used for the specified time" +#~ msgstr "" +#~ "Si cette case est cochée, Gajim changera votre statut en Non disponible " +#~ "quand l'ordinateur n'a pas été utilisé pendant la durée spécifiée" + +#~ msgid "" +#~ "The automatic away status message. If empty, the current status message " +#~ "will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-away timeout." +#~ msgstr "" +#~ "Le message de statut absent automatique. S'il est vide, le message actuel " +#~ "de statut sera changé.\n" +#~ "$S sera remplacé par l’ancien message de statut.\n" +#~ "$T sera remplacé par le temps d'absence." + +#~ msgid "" +#~ "The automatic not available status message. If empty, the current status " +#~ "message will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-not-available timeout." +#~ msgstr "" +#~ "Le message de statut non-disponible automatique. S'il est vide, le " +#~ "message de statut actuel sera changé.\n" +#~ "$S sera remplacé par l’ancien message de statut.\n" +#~ "$T sera remplacé par le temps de non-activité." + +#~ msgid "Minutes" +#~ msgstr "Minutes" + +#~ msgid "_Theme" +#~ msgstr "_Thème" + +#~ msgid "Configure color and font of the interface" +#~ msgstr "Paramétrer la couleur et la police de texte de l'interface" + +#~ msgid "Icons" +#~ msgstr "Icônes" + +#~ msgid "" +#~ "If checked, protocol-specific status icons will be used (e.g. a contact " +#~ "from ICQ will have the equivalent ICQ icon for status online, away, busy, " +#~ "etc...)" +#~ msgstr "" +#~ "Si cette case est cochée, Gajim utilisera des icônes d’état spécifiques " +#~ "aux protocoles. (Par ex. un contact ICQ aura les icônes de ICQ pour les " +#~ "états en ligne, absent, occupé, etc.)" + +#~ msgid "" +#~ "STUN server hostname. If no hostname was given, Gajim will try\n" +#~ "to discover one from the server. (Example: stun.iptel.org)" +#~ msgstr "" +#~ "Nom d’hôte du serveur STUN. Si aucun n’est spécifié, Gajim tentera\n" +#~ "d’en découvrir un à partir du serveur. (Exemple : stun.iptel.org)" + +#~ msgid "Vi_ew own video source" +#~ msgstr "Voir votre propre source vidéo" + +#~ msgid "Video si_ze" +#~ msgstr "Taille de la vidéo" + +#~ msgid "Video output" +#~ msgstr "Sortie vidéo" + +#~ msgid "Show live _preview" +#~ msgstr "Montrer un a_perçu en direct" + +#~ msgid "_Manage..." +#~ msgstr "_Gérer..." + +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "Inscrire dans l'_historique les changements d'état des contacts" + +#~ msgid "_Check for Gajim updates periodically" +#~ msgstr "_Vérifier régulièrement les mises à jour pour Gajim" + +#~ msgid "Enables a weekly update check" +#~ msgstr "Active la vérification hebdomadaire de mises à jour" + +#~ msgid "Enable _debug logging (restart required)" +#~ msgstr "Activer les logs de _débogage (nécessite un redémarrage)" + +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "" +#~ "Si cette case est cochée, Gajim stockera un fichier de log pour le " +#~ "débogage" + +#~ msgid "Opens folder containing debug logs" +#~ msgstr "Ouvrir le dossier contenant les logs de débogage" + +#~ msgid "" +#~ "In order to introduce you to features, Gajim displays some hints. This " +#~ "button will reset all these hints." +#~ msgstr "" +#~ "Pour vous initier aux fonctionnalités, Gajim affiche quelques conseils. " +#~ "Ce bouton va rétablir tous ces conseils." + +#~ msgid "_Open..." +#~ msgstr "_Ouvrir..." + +#~ msgid "Chat Shortcuts" +#~ msgstr "Raccourcis de la fenêtre de discussion" + +#~ msgid "Contact List Shortcuts" +#~ msgstr "Raccourcis de la fenêtre de discussion" + +#~ msgid "On" +#~ msgstr "Allumé" + +#~ msgid "Off" +#~ msgstr "Éteint" + +#~ msgid "" +#~ "Unavailable, video " +#~ "support will be disabled" +#~ msgstr "" +#~ "Indisponible, le support " +#~ "de la vidéo sera désactivé" + +#~ msgid "Selecting text will copy it to the clipboard" +#~ msgstr "Sélectionner du texte suffit à le copier dans le presse-papier" + +#~ msgid "Enable auto copy" +#~ msgstr "Activer la copie automatique" + +#~ msgid "" +#~ "If enabled, selected text will automatically be copied to the clipboard, " +#~ "otherwise you can copy text with CTRL + SHIFT + C" +#~ msgstr "" +#~ "Si cette case est cochée, le texte sélectionné sera copié dans le presse-" +#~ "papier, sinon vous pouvez copier le texte avec CTRL + SHIFT + C" + +#~ msgid "Could not save your settings and preferences" +#~ msgstr "Impossible d'enregistrer vos paramètres et préférences" + +#~ msgid "" +#~ "Show a warning dialog before sending password on an plaintext connection. " +#~ "Can be 'warn', or 'none'." +#~ msgstr "" +#~ "Afficher un message d'avertissement avant d'envoyer un mot de passe via " +#~ "une connexion non-chiffrée. Peut prendre les valeurs 'warn', 'connect', " +#~ "'disconnect'." + +#~ msgid "Use default applications" +#~ msgstr "Utiliser les applications par défaut" + +#~ msgid "Custom" +#~ msgstr "Personnalisé" + +#~ msgid "_Filter" +#~ msgstr "_Filtre" + +#~ msgid "?config type:Color" +#~ msgstr "Couleur" + +#~ msgid "?password:Hidden" +#~ msgstr "Masqué" + +#~ msgid "None" +#~ msgstr "Aucun" + +#~ msgid "%s Status Message" +#~ msgstr "Message d’état %s" + +#~ msgid "" +#~ "Status to be used automatically when connecting. Can be 'online', 'chat', " +#~ "'away', 'xa' or 'dnd'. NOTE: This option is used only if " +#~ "'restore_last_status' is disabled." +#~ msgstr "" +#~ "État sous lequel se connecter automatiquement. Peut être \"online\" (En " +#~ "ligne), \"chat\" (Disponible pour discuter), \"away\" (Absent), \"xa" +#~ "\" (Indisponible), \"dnd\" (Ne pas déranger). NOTE : cette option n'est " +#~ "utilisée que si l'option \"restore_last_status\" est désactivée." + +#~ msgid "List of SSL errors to ignore (space separated)." +#~ msgstr "Liste des erreurs SSL à ignorer (séparées par des espaces)." + +#~ msgid "_Remember and restore status of the last session" +#~ msgstr "_Se rappeler et restaurer le statut de la dernière session" + +#~ msgid "Status Messages" +#~ msgstr "Messages d'état" + +#~ msgid "Preset Status Messages" +#~ msgstr "Messages d'état prédéfinis" + +#~ msgid "Protocol" +#~ msgstr "Protocole" + +#~ msgid "_Ignore this error for this certificate" +#~ msgstr "_Ignorer cette erreur pour ce certificat" + +#~ msgid "Preset _messages" +#~ msgstr "_Messages prédéfinis" + +#~ msgid "_Type your new status message" +#~ msgstr "_Taper votre nouveau message d'état" + +#~ msgid "Mood:" +#~ msgstr "Humeur :" + +#~ msgid "Message:" +#~ msgstr "Message :" + +#~ msgid "Set Activity" +#~ msgstr "Définir l'Activité" + +#~ msgid "Set an activity" +#~ msgstr "Publier une activité" + +#~ msgid "Message: " +#~ msgstr "Message : " + +#~ msgid "status message title" +#~ msgstr "titre du message d'état" + +#~ msgid "status message text" +#~ msgstr "texte du message d'état" + +#~ msgid "Lists all preferences and their values" +#~ msgstr "Liste toutes les préférences et leurs valeurs" + +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "Définir la valeur de 'clé' à 'valeur'." + +#~ msgid "key=value" +#~ msgstr "clé=valeur" + +#~ msgid "'key' is the name of the preference, 'value' is what to set it to" +#~ msgstr "'clé' est le nom de l'option, 'valeur' est la valeur à assigner" + +#~ msgid "Deletes a preference item" +#~ msgstr "Supprime une option de préférence" + +#~ msgid "key" +#~ msgstr "touche" + +#~ msgid "name of the preference to be deleted" +#~ msgstr "nom de la préférence a supprimer" + +#~ msgid "Writes the current state of Gajim preferences to the .config file" +#~ msgstr "Écrit les préférences actuelles de Gajim dans le fichier .config" + +#~ msgid "default" +#~ msgstr "Par défaut" + +#~ msgid "" +#~ "Character to propose to add after desired nickname when nickname is " +#~ "already used in group chat." +#~ msgstr "" +#~ "Caractère ajouté automatiquement après un surnom si celui-ci est déjà " +#~ "utilisé dans le salon de discussion." + +#~ msgid "" +#~ "How many seconds to wait before trying to automatically rejoin a group " +#~ "chat you were disconnected from. Set to 0 to disable automatic rejoining." +#~ msgstr "" +#~ "Nombre de secondes à attendre avant de tenter de se reconnecter " +#~ "automatiquement à un salon dont vous avez été déconnecté. Mettre à 0 pour " +#~ "désactiver la reconnexion automatique." + +#~ msgid "" +#~ "If enabled, Gajim will show affiliation of group chat participants by " +#~ "adding a colored square to the status icon." +#~ msgstr "" +#~ "Si cette case est cochée, Gajim affichera l'affiliation des occupants des " +#~ "salons de discussions en ajoutant un carré coloré à l'icône d'état." + +#~ msgid "" +#~ "How many seconds to wait for the answer of a ping alive packet before " +#~ "trying to reconnect." +#~ msgstr "" +#~ "Combien de secondes à attendre la réponse au paquet de vérification de " +#~ "connexion avant de tenter une reconnexion." + +#~ msgid "Timeout loading image" +#~ msgstr "Délai du chargement de l'image dépassé" + +#~ msgid "Image is too big" +#~ msgstr "L'image est trop grande" + +#~ msgid "PyCURL is not installed" +#~ msgstr "PyCURL n'est pas installé" + +#~ msgid "Error loading image" +#~ msgstr "Erreur lors du chargement de l'image" + +#~ msgid "Loading" +#~ msgstr "Chargement" + +#~ msgid "No account available" +#~ msgstr "Aucun compte disponible" + +#~ msgid "You must create an account before you can chat with other contacts." +#~ msgstr "" +#~ "Vous devez créer un compte avant de pouvoir discuter avec d'autres " +#~ "contacts." + +#~ msgid "I'm available." +#~ msgstr "Je suis disponible." + +#~ msgid "I'm free for chat." +#~ msgstr "Je suis disponible pour discuter." + +#~ msgid "Be right back." +#~ msgstr "Revient de suite." + +#~ msgid "I'm not available." +#~ msgstr "Je ne suis pas disponible." + +#~ msgid "Do not disturb." +#~ msgstr "Ne pas déranger." + +#~ msgid "Bye!" +#~ msgstr "Au revoir !" + +#~ msgid "" +#~ "If enabled, Gajim will not ask for a status message. The specified " +#~ "default message will be used instead." +#~ msgstr "" +#~ "Si cette case est cochée, Gajim ne demandera pas de message de statut. Le " +#~ "message par défaut sera utilisé à la place." + +#~ msgid "Default Message" +#~ msgstr "Message par défaut" + +#~ msgid "Privacy Lists:" +#~ msgstr "Listes privées :" + +#~ msgid "Change Status Message…" +#~ msgstr "Changer le message d'état…" + +#~ msgid "none" +#~ msgstr "aucun" + +#~ msgid "both" +#~ msgstr "les deux" + +#~ msgid "from" +#~ msgstr "depuis" + +#~ msgid "to" +#~ msgstr "vers" + +#~ msgid "Privacy List" +#~ msgstr "Liste privée" + +#~ msgid "Privacy List" +#~ msgstr "Liste privée" + +#~ msgid "Active for this session" +#~ msgstr "Actif pour cette session" + +#~ msgid "Active on each startup" +#~ msgstr "Actif a chaque démarrage" + +#~ msgid "List of rules" +#~ msgstr "Liste des règles" + +#~ msgid "Add / Edit a rule" +#~ msgstr "Ajouter / modifier une règle" + +#~ msgid "Allow" +#~ msgstr "Permettre" + +#~ msgid "Deny" +#~ msgstr "Refuser" + +#~ msgid "all in the group" +#~ msgstr "tous ceux dans le groupe" + +#~ msgid "all by subscription" +#~ msgstr "tous par état d'inscription" + +#~ msgid "All" +#~ msgstr "Tous" + +#~ msgid "to send me messages" +#~ msgstr "à m'envoyer des messages" + +#~ msgid "to send me queries" +#~ msgstr "à m'envoyer des requêtes" + +#~ msgid "to view my status" +#~ msgstr "à voir mon état" + +#~ msgid "to send me status" +#~ msgstr "à m'envoyer son état" + +#~ msgid "All (including subscription)" +#~ msgstr "Tout (y compris les abonnements)" + +#~ msgid "Order:" +#~ msgstr "Ordre :" + +#~ msgid "" +#~ "Gajim aims to be an easy to use and fully-featured XMPP client. With " +#~ "Gajim you can chat through various XMPP services of your choice (e.g. " +#~ "Jabber.org) as well as transports (e.g. Facebook, IRC)." +#~ msgstr "" +#~ "L'objectif de Gajim est d'être un logiciel client facile à utiliser et " +#~ "respectant l'ensemble des fonctionnalité XMPP. Avec Gajim vous pouvez " +#~ "discuter à travers divers services XMPP (comme jabber.org) mais aussi " +#~ "avec des passerelles (comme Facebook, IRC)." + +#~ msgid "Privacy Lists" +#~ msgstr "Listes privées" + +#~ msgid "Unblock" +#~ msgstr "Débloquer" + +#~ msgid "Block" +#~ msgstr "Bloquer" + +#~ msgid "" +#~ "This contact will see you offline and you will not receive any messages " +#~ "sent to you by this contact." +#~ msgstr "" +#~ "Ce contact vous verra hors-ligne et vous ne recevrez pas les messages " +#~ "qu’il vous enverra." + +#~ msgid "_Block Contact" +#~ msgstr "_Bloquer le contact" + +#~ msgid "Block Group" +#~ msgstr "Bloquer le groupe" + +#~ msgid "Really block this group?" +#~ msgstr "Êtes-vous sûr de vouloir bloquer ce groupe ?" + +#~ msgid "" +#~ "All contacts of this group will see you as offline and you will not " +#~ "receive any messages sent to you by any one of these contacts." +#~ msgstr "" +#~ "Tous les contacts de ce groupe vous verront hors-ligne et vous ne " +#~ "recevrez pas les messages que vous envoyez ou qu’ils vous enverront." + +#~ msgid "_Block Group" +#~ msgstr "_Bloquer le groupe" + +#~ msgid "Error While Removing Privacy List" +#~ msgstr "Erreur pendant la suppression de la liste privée" + +#~ msgid "" +#~ "Privacy list %s has not been removed. It is probably active in one of " +#~ "your connected resources. Please deactivate it and try again." +#~ msgstr "" +#~ "La liste privée %s n'a pas été supprimée. Elle est sans doute active dans " +#~ "une des ressources connectées. Désactivez la et réessayez." + +#~ msgid "Invisibility Not Supported" +#~ msgstr "Invisibilité non supportée" + +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "Le compte %s ne supporte pas l'invisibilité." + +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "%(jid)s invité à %(room_jid)s" + +#~ msgid "Privacy List %s" +#~ msgstr "Liste privée %s" + +#~ msgid "Privacy List for %s" +#~ msgstr "Liste privée pour %s" + +#~ msgid "" +#~ "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" +#~ msgstr "" +#~ "Ordre : %(order)s, action : %(action)s, type : %(type)s, valeur : " +#~ "%(value)s" + +#~ msgid "Order: %(order)s, action: %(action)s" +#~ msgstr "Ordre : %(order)s, action : %(action)s" + +#~ msgid "Edit a rule" +#~ msgstr "Modifier une règle" + +#~ msgid "Add a rule" +#~ msgstr "Ajouter une règle" + +#~ msgid "Privacy Lists for %s" +#~ msgstr "Listes privées pour %s" + +#~ msgid "Invalid List Name" +#~ msgstr "Nom de liste invalide" + +#~ msgid "You must enter a name to create a privacy list." +#~ msgstr "Vous devez entrer un nom pour créer une liste privée." + +#~ msgid "" +#~ "Deny authorization from contact so the contact cannot know if you are " +#~ "connected" +#~ msgstr "" +#~ "Refuser l'autorisation au contact de sorte qu'il ne puisse pas savoir " +#~ "quand vous êtes connecté" + +#~ msgid "Authorize contact so the contact can know if you are connected" +#~ msgstr "Autoriser le contact à savoir quand vous êtes connecté" + +#, fuzzy +#~ msgid "Start New Conversation" +#~ msgstr "Démarrer une nouvelle conversation" + +#~ msgid "Simulate loss of connectivity" +#~ msgstr "Simule une perte de connexion" + +#~ msgid "Simulate regaining connectivity" +#~ msgstr "Simule le rétablissement de la connexion" + +#~ msgid "Unknown SSL error: %d" +#~ msgstr "Erreur SSL inconnue : %d" + +#~ msgid "Gajim - %s" +#~ msgstr "Gajim - %s" + +#~ msgid "" +#~ "Requires: libsecret and a provider (such as GNOME Keyring and " +#~ "KSecretService)" +#~ msgstr "" +#~ "Nécessite : libsecret et un fournisseur (comme GNOME Keyring ou " +#~ "KSecretService)" + +#~ msgid "Choose interval between 2 checks of idleness." +#~ msgstr "" +#~ "Choisissez l'intervalle en secondes entre deux vérifications de " +#~ "l'inactivité." + +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "Dictionnaire pour la langue \"%s\" indisponible" + +#~ msgid "" +#~ "You have to install the dictionary \"%s\" to use spellchecking, or choose " +#~ "another language by setting the speller_language option.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "Vous devez installer le dictionnaire \"%s\" pour la vérification " +#~ "orthographique, ou choisir un autre langage en paramétrant l'option " +#~ "speller_language.\n" +#~ "\n" +#~ "Le soulignement des fautes d'orthographe ne sera pas utilisé" + +#~ msgid "_Reconnect" +#~ msgstr "_Reconnecter" + +#~ msgid "Quit" +#~ msgstr "Quitter" + +#~ msgid "Show Contact List" +#~ msgstr "Afficher la liste des contacts" + +#~ msgid "Add to Contact List" +#~ msgstr "Ajouter à la liste de contacts" + +#, fuzzy +#~ msgid "Invite Contact" +#~ msgstr "Inviter des contacts" + +#~ msgid "Configure Group Chat" +#~ msgstr "Configure le Groupe de Discussion" + +#~ msgid "" +#~ "If enabled, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." +#~ msgstr "" +#~ "Si activé, Gajim affichera une icône dans chaque onglet contenant des " +#~ "messages non lus. En fonction du thème, cette icône peut être animée." + +#, fuzzy +#~ msgid "Show a mini avatar in chat window tabs and as the window's icon." +#~ msgstr "" +#~ "Montre un avatar miniature dans l'onglet de la fenêtre de discussion et " +#~ "dans l'icône de la fenêtre" + +#~ msgid "Show _avatar in chat tabs" +#~ msgstr "Montrer l'avatar dans les onglets de la fenêtre de discussion" + +#~ msgid "If checked, the contact's avatar will be shown in chat tabs" +#~ msgstr "" +#~ "Si vérifié, l'avatar du contact sera montré dans les onglets de " +#~ "discussions" + +#~ msgid "Server must be between 1 and 1023 bytes" +#~ msgstr "Le serveur doit comprendre entre 1 et 1023 octets" + +#~ msgid "Invalid character in hostname." +#~ msgstr "Caractère non valide dans le nom d'hôte." + +#~ msgid "Server address required." +#~ msgstr "Adresse du serveur requise." + +#~ msgid "Username must be between 1 and 1023 bytes" +#~ msgstr "Le nom d'utilisateur doit comprendre entre 1 et 1023 octets" + +#~ msgid "Invalid character in username." +#~ msgstr "Caractère non valide dans le nom d'utilisateur." + +#~ msgid "Resource must be between 1 and 1023 bytes" +#~ msgstr "La ressource doit comprendre entre 1 et 1023 octets" + +#~ msgid "Invalid character in resource." +#~ msgstr "Caractère non valide dans la ressource." + +#~ msgid "Notification color for contacts signing in." +#~ msgstr "Couleur des notifications lorsqu'un contact se connecte." + +#~ msgid "Notification color for contacts signing out." +#~ msgstr "Couleur des notifications lorsqu'un contact se déconnecte." + +#~ msgid "Notification color for new message notification." +#~ msgstr "Couleur des notifications de nouveau message." + +#~ msgid "Notification color for file transfer request." +#~ msgstr "Couleur des notifications de requête de transfert de fichier." + +#~ msgid "Notification color for file transfer errors." +#~ msgstr "Couleur des notifications d'erreur de transfert de fichier." + +#~ msgid "Notification color for stopped or completed file transfers." +#~ msgstr "" +#~ "Couleur des notifications lorsqu'un transfert de fichier s'arrête ou " +#~ "finit." + +#~ msgid "Notification color for group chat invitations." +#~ msgstr "" +#~ "Couleur des notifications d'invitation pour les salons de discussion" + +#~ msgid "Notification background color for changed status." +#~ msgstr "Couleur des notifications lors d'un changement d'état." + +#~ msgid "Notification color for other dialogs." +#~ msgstr "Couleur des notifications pour les autres événements." + +#~ msgid "Event Type" +#~ msgstr "Type d'événement" + +#~ msgid "Event desc" +#~ msgstr "Événement" + +#, fuzzy +#~ msgid "HTTP File Upload: Enable HTTPS Verification." +#~ msgstr "Envoie par HTTP : Activer la vérification HTTPS" + +#~ msgid "No response from the Server" +#~ msgstr "Aucune réponse du serveur" + +#~ msgid "Resource Conflict" +#~ msgstr "Conflit de ressource" + +#~ msgid "" +#~ "You are already connected to this account with the same resource. Please " +#~ "enter a different one." +#~ msgstr "" +#~ "Vous êtes déjà connecté à ce compte avec la même ressource. Veuillez en " +#~ "entrer une nouvelle." + +#~ msgid "Unable to load image" +#~ msgstr "Impossible de charger l'image" + +#~ msgid "Media type not supported: %s" +#~ msgstr "Type de média non-supportée : %s" + +#~ msgid "This field is required" +#~ msgstr "Le champ est requis" + +#~ msgid "new@jabber.id" +#~ msgstr "nouveau@jabber.id" + +#~ msgid "new%d@jabber.id" +#~ msgstr "nouveau%d@jabber.id" + +#~ msgid "video output" +#~ msgstr "Sortie audio" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Gajim : Assistant de création de compte" + +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "Vous devez avoir un compte pour vous connecter\n" +#~ "au réseau XMPP." + +#~ msgid "I already have an account I want to _use" +#~ msgstr "J'ai déjà un compte que je veux _utiliser" + +#~ msgid "I want to _register for a new account" +#~ msgstr "Je veux _créer un nouveau compte" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "Choisissez une des options suivantes :" + +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "Remplissez les informations pour votre compte" + +#~ msgid "_XMPP Address:" +#~ msgstr "Adresse XMPP :" + +#~ msgid "Anon_ymous authentication" +#~ msgstr "Authentification anon_yme" + +#~ msgid "_Password:" +#~ msgstr "Mot de _passe :" + +#~ msgid "Save pass_word" +#~ msgstr "Sauver le mot de _passe" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "" +#~ "Si cette case est cochée, Gajim va retenir le mot de passe pour ce compte" + +#~ msgid "Please select a server" +#~ msgstr "Veuillez choisir un serveur" + +#~ msgid "_Server:" +#~ msgstr "_Serveur :" + +#~ msgid "Manage..." +#~ msgstr "Gérer..." + +#~ msgid "_Port:" +#~ msgstr "_Port :" + +#~ msgid "_Advanced" +#~ msgstr "_Avancées" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA1 fingerprint of the certificate:\n" +#~ msgstr "" +#~ "Ajouter ce certificat à la liste des certificats de confiance.\n" +#~ "Empreinte digitale SHA1 du certificat :\n" + +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "Connexion au serveur\n" +#~ "\n" +#~ "Veuillez patienter..." + +#~ msgid "Connect when I press Finish" +#~ msgstr "Se connecter quand je clique sur Finir" + +#~ msgid "Set my profile when I connect" +#~ msgstr "Définir mon profil quand je me connecte" + +#~ msgid "_Finish" +#~ msgstr "_Finir" + +#~ msgid "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." +#~ msgstr "" +#~ "Vous pouvez configurer les options avancées en cliquant sur le bouton " +#~ "Avancé, ou plus tard en cliquant sur Comptes dans le menu Éditer de la " +#~ "fenêtre principale." + +#~ msgid "Your new account has been created successfully" +#~ msgstr "Votre nouveau compte a été créé avec succès" + +#~ msgid "Invalid username" +#~ msgstr "Nom d'utilisateur non valide" + +#~ msgid "You must provide a username to configure this account." +#~ msgstr "Vous devez entrer un nom d'utilisateur pour configurer ce compte." + +#~ msgid "Invalid server" +#~ msgstr "Serveur invalide" + +#~ msgid "Please provide a server on which you want to register." +#~ msgstr "Saisissez un serveur sur lequel vous voulez vous enregistrer." + +#~ msgid "Invalid entry" +#~ msgstr "Entrée invalide" + +#~ msgid "Certificate Already in File" +#~ msgstr "Certificat déjà dans un Fichier" + +#~ msgid "This certificate is already in file %s, so it's not added again." +#~ msgstr "" +#~ "Ce certificat est déjà dans le fichier %s, il n'a donc pas été ajouté." + +#~ msgid "" +#~ "Security Warning\n" +#~ "\n" +#~ "The authenticity of the %(hostname)s SSL certificate could be invalid.\n" +#~ "SSL Error: %(error)s\n" +#~ "Do you still want to connect to this server?" +#~ msgstr "" +#~ "Alarme de sécurité\n" +#~ "\n" +#~ "L'authentification du certificat SSL %(hostname)s peut être invalide.\n" +#~ "Erreur SSL  %(error)s\n" +#~ "Voulez vous toujours vous connecter au serveur ?" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA-256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Ajouter de certificat à la liste des certificat de confiance.\n" +#~ "Empreinte digitale SHA-1 du certificat :\n" +#~ "%(sha1)s\n" +#~ "Empreinte digitale SHA-256 du certificat :\n" +#~ "%(sha256)s" + +#~ msgid "Account name is in use" +#~ msgstr "Le nom du compte est utilisé" + +#~ msgid "You already have an account using this name." +#~ msgstr "Vous avez déjà un compte avec ce nom." + +#, fuzzy +#~ msgid "Allow plaintext connections." +#~ msgstr "Autoriser les connexions non chiffrées" + +#, fuzzy +#~ msgid "" +#~ "List of authentication mechanisms to try (space separated). Can contain " +#~ "'ANONYMOUS', 'EXTERNAL', 'GSSAPI', 'SCRAM-SHA-1-PLUS', 'SCRAM-SHA-1', " +#~ "'DIGEST-MD5', 'PLAIN', 'X-MESSENGER-OAUTH2' or 'XEP-0078'." +#~ msgstr "" +#~ "Liste séparée par des espaces des mécanismes d'authentification à " +#~ "essayer. Peut contenir ANONYMOUS, EXTERNAL, GSSAPI, SCRAM-SHA-1-PLUS, " +#~ "SCRAM-SHA-1, DIGEST-MD5, PLAIN, X-MESSENGER-OAUTH2 ou XEP-0078" + +#~ msgid "Show a warning dialog before using standard SSL library." +#~ msgstr "" +#~ "Afficher un message d'avertissement avant d'utiliser la librairie SSL " +#~ "standard." + +#, fuzzy +#~ msgid "If enabled, a whitespace is sent after inactivity (keep alive)." +#~ msgstr "Espace envoyée après inactivité" + +#, fuzzy +#~ msgid "If enabled, an XMPP ping is sent after inactivity (ping alive)." +#~ msgstr "ping XMPP envoyé après inactivité" + +#~ msgid "Connection with account \"%s\" has been lost" +#~ msgstr "La connexion du compte \"%s\" a été perdue" + +#~ msgid "Reconnect manually." +#~ msgstr "Reconnecter manuellement." + +#~ msgid "Server %(name)s answered wrongly to register request: %(error)s" +#~ msgstr "" +#~ "Le serveur %(name)s a mal répondu à la requête d'enregistrement : " +#~ "%(error)s" + +#~ msgid "Server %s provided a different registration form" +#~ msgstr "Le serveur %s a fourni une forme d'inscription différente" + +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "" +#~ "Impossible de se connecter à \"%(host)s\" via le serveur mandataire " +#~ "\"%(proxy)s\"" + +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "Impossible de se connecter à \"%(host)s\"" + +#~ msgid "Check your connection or try again later." +#~ msgstr "Vérifiez votre connexion ou réessayez plus tard." + +#~ msgid "Server replied: %s" +#~ msgstr "le serveur a répondu : %s" + +#~ msgid "Connection to proxy failed" +#~ msgstr "La connexion au serveur mandataire a échoué" + +#~ msgid "Could not connect to account %s" +#~ msgstr "Impossible de se connecter au compte %s" + +#~ msgid "Connection with account %s has been lost. Retry connecting." +#~ msgstr "" +#~ "La connexion avec le compte %s a été perdue. Essayez de vous connecter à " +#~ "nouveau." + +#~ msgid "Please check your login and password for correctness." +#~ msgstr "Vérifiez si votre identifiant et votre mot de passe sont corrects." + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "Connexion HTTP" + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "BOSH" +#~ msgstr "BOSH" + +#~ msgid "Use HTTP prox_y" +#~ msgstr "Utiliser un _serveur mandataire HTTP" + +#~ msgid "https://example.org/http-bind/" +#~ msgstr "https://example.org/http-bind/" + +#~ msgid "_BOSH URL" +#~ msgstr "_BOSH URL" + +#, fuzzy +#~ msgid "BOSH" +#~ msgstr "BOSH" + +#~ msgid "Warn on insecure connection" +#~ msgstr "Prévenir avant d'utiliser une connexion non sécurisée" + +#, fuzzy +#~ msgid "Contact list, list of contacts" +#~ msgstr "Liste de contacts" + +#~ msgid "Disconnect for Invisibility" +#~ msgstr "Déconnexion pour invisibilité" + +#~ msgid "You are participating in one or more group chats" +#~ msgstr "Vous participez à un ou plusieurs salons" + +#~ msgid "" +#~ "Changing your status to invisible will result in you leaving those group " +#~ "chats.\n" +#~ "Are you sure you want to go invisible?" +#~ msgstr "" +#~ "Basculer en état invisible entraînera votre déconnexion de ces salons de " +#~ "discussion.\n" +#~ "Êtes-vous sûr de vouloir passer en mode invisible ?" + +#~ msgid "_Disconnect" +#~ msgstr "_Déconnecter" + +#~ msgid "You cannot join a group chat while you are invisible" +#~ msgstr "" +#~ "Vous ne pouvez pas joindre un salon de discussion tant que vous êtes " +#~ "invisible." + +#~ msgid "Invisible" +#~ msgstr "Invisible" + +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "" +#~ "Vous ne pouvez pas joindre un salon de discussion tant que vous êtes " +#~ "invisible." + +#~ msgid "_Invisible" +#~ msgstr "_Invisible" + +#~ msgid "Yesterday" +#~ msgid_plural "%(nb_days)i days ago" +#~ msgstr[0] "Hier" +#~ msgstr[1] "il y a %(nb_days)i jours" + +#~ msgid "_Cancel Upload" +#~ msgstr "Annuler l’envoi" + +#~ msgid "Got unexpected response from server (see log)." +#~ msgstr "Réponse inattendue du serveur (voir log)." + +#~ msgid " [blocked]" +#~ msgstr " [bloqué]" + +#~ msgid " [minimized]" +#~ msgstr " [minimisé]" + +#~ msgid "" +#~ "If you close this tab while having chat history disabled, this message " +#~ "will be lost." +#~ msgstr "" +#~ "Si vous fermez cette fenêtre et que l’historique n’est pas activé, ce " +#~ "message sera perdu." + +#~ msgid "Unregister Failed" +#~ msgstr "La désinscription a échoué" + +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "Le désabonnement du serveur %(server)s a échoué : %(error)s" + +#~ msgid "New Password" +#~ msgstr "Nouveau mot de passe" + +#~ msgid "What do you want to do?" +#~ msgstr "Que voulez vous faire ?" + +#~ msgid "Remove account from Gajim and from _server" +#~ msgstr "Supprimer le compte de Gajim et du _serveur" + +#~ msgid "You must enter a password" +#~ msgstr "Vous devez entrer un mot de passe" + +#, fuzzy +#~ msgid "You still have open chats in your account %s" +#~ msgstr "Vous avez une conversation ouverte dans le compte %s" + +#~ msgid "To unregister from a server, the account must be enabled." +#~ msgstr "Pour se désinscrire d'un serveur, le compte doit être activé." + +#~ msgid "Password required" +#~ msgstr "Mot de passe requis" + +#, fuzzy +#~ msgid "Still connected to the server" +#~ msgstr "Vous n’êtes pas connecté au serveur" + +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "" +#~ "Le compte '%s' est toujours connecté au serveur. Si vous le supprimez, la " +#~ "connexion sera perdue." + +#~ msgid "Connection to server %s failed" +#~ msgstr "La connexion au serveur %s a échoué" + +#~ msgid "What would you like to do?" +#~ msgstr "Que voulez vous faire ?" + +#~ msgid "Remove only from Gajim" +#~ msgstr "Supprimer le compte de Gajim _uniquement" + +#~ msgid "Don't remove anything. I'll try again later" +#~ msgstr "Ne rien supprimer. Je réessaierai plus tard." + +#~ msgid "Contents" +#~ msgstr "Sommaire" + +#~ msgid "FAQ" +#~ msgstr "FAQ" + +#~ msgid "Save as Preset Status Message" +#~ msgstr "Enregistrer comme messages d’état prédéfini" + +#~ msgid "Enter a new nickname for contact %s" +#~ msgstr "Entrez un nouveau surnom pour le contact %s." + +#~ msgid "Join a group chat" +#~ msgstr "Rejoindre un salon de discussion" + +#~ msgid "Accept" +#~ msgstr "Accepter" + +#~ msgid "" +#~ "You tried to delete the currently active theme. Please switch to a " +#~ "different theme first." +#~ msgstr "" +#~ "Vous avez essayé de supprimé le thème actuellement actif. Veuillez " +#~ "choisir un autre thème avant." + +#~ msgid "New entry received" +#~ msgstr "Nouvel événement reçu" + +#~ msgid "You have received new entry:" +#~ msgstr "Vous avez publié l'article :" + +#~ msgid "Feed name:" +#~ msgstr "Nom du fil :" + +#~ msgid "Last modified:" +#~ msgstr "Dernière modification :" + +#~ msgid "Next entry" +#~ msgstr "Élément suivant" + +#~ msgid "Send file?" +#~ msgstr "Envoyer fichier ?" + +#~ msgid "Mail _client" +#~ msgstr "Logiciel de courriel" + +#~ msgid "_Browser" +#~ msgstr "_Navigateur" + +#~ msgid "_File manager" +#~ msgstr "Gestionnaire de _fichiers" + +#~ msgid "Custom applications" +#~ msgstr "Applications personnalisées" + +#~ msgid "Applications" +#~ msgstr "Applications" + +#~ msgid "" +#~ "Uses ReStructured text markup to send HTML, plus ASCII formatting if " +#~ "selected. Needs docutils installed (for syntax, see http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Utiliser la syntaxe ReStructured pour l'HTML, ainsi que du formattage " +#~ "ascii. Pour la syntaxe voir http://docutils.sourceforge.net/docs/ref/rst/" +#~ "restructuredtext.html (si vous voulez utiliser cela, installez docutils)." + +#, fuzzy +#~ msgid "Store XHTML messages in chat history instead of plain text messages." +#~ msgstr "" +#~ "Enregistrer les messages XHTML au lieu des messages en texte simple." + +#~ msgid "_Ignore formatting of incoming messages" +#~ msgstr "_Ignorer le formatage du texte dans les messages entrants" + +#~ msgid "" +#~ "Some messages may include rich content (xhtml formatting, colors etc). If " +#~ "checked, Gajim will just display the plain message text." +#~ msgstr "" +#~ "Certains messages peuvent contenir du texte enrichi (formatage xhtml, " +#~ "couleurs, etc.). Si cette case est cochée, Gajim affichera seulement le " +#~ "texte non formaté." + +#~ msgid "RST XHTML Generator" +#~ msgstr "Générateur RST XHTML" + +#~ msgid "Enables Gajim to generate XHTML output from RST code (%(url)s)" +#~ msgstr "" +#~ "Autorise Gajim à générer un fichier XHTML depuis du code RST (%(url)s)" + +#~ msgid "Requires: python-docutils" +#~ msgstr "Nécessite : python-docutils" + +#~ msgid "New Single Message" +#~ msgstr "Nouveau message simple" + +#, fuzzy +#~ msgid "" +#~ "Can be empty, 'chat' or 'normal'. If not empty, all incoming messages are " +#~ "treated as if they were of this type." +#~ msgstr "" +#~ "Peut être vide, 'chat' ou 'normal'. Si non vide, traite tous les messages " +#~ "entrant comme des messages de ce type" + +#~ msgid "Error %(code)s: %(msg)s" +#~ msgstr "Erreur %(code)s : %(msg)s" + +#~ msgid "twelve" +#~ msgstr "douze" + +#~ msgid "one" +#~ msgstr "un" + +#~ msgid "two" +#~ msgstr "deux" + +#~ msgid "three" +#~ msgstr "trois" + +#~ msgid "four" +#~ msgstr "quatre" + +#~ msgid "five" +#~ msgstr "cinq" + +#~ msgid "six" +#~ msgstr "six" + +#~ msgid "seven" +#~ msgstr "sept" + +#~ msgid "eight" +#~ msgstr "huit" + +#~ msgid "nine" +#~ msgstr "neuf" + +#~ msgid "ten" +#~ msgstr "dix" + +#~ msgid "eleven" +#~ msgstr "onze" + +#~ msgid "%(0)s o'clock" +#~ msgstr "%(0)s heure" + +#~ msgid "five past %(0)s" +#~ msgstr "%(0)s heure cinq" + +#~ msgid "ten past %(0)s" +#~ msgstr "%(0)s heure dix" + +#~ msgid "quarter past %(0)s" +#~ msgstr "%(0)s heure et quart" + +#~ msgid "twenty past %(0)s" +#~ msgstr "%(0)s heure vingt" + +#~ msgid "twenty five past %(0)s" +#~ msgstr "%(0)s heure vingt cinq" + +#~ msgid "half past %(0)s" +#~ msgstr "%(0)s heure et demi" + +#~ msgid "twenty five to %(1)s" +#~ msgstr "%(1)s heure moins vingt cinq" + +#~ msgid "twenty to %(1)s" +#~ msgstr "%(1)s heure moins vingt" + +#~ msgid "quarter to %(1)s" +#~ msgstr "%(1)s heure moins le quart" + +#~ msgid "ten to %(1)s" +#~ msgstr "%(1)s heure moins dix" + +#~ msgid "five to %(1)s" +#~ msgstr "%(1)s heure moins cinq" + +#~ msgid "%(1)s o'clock" +#~ msgstr "%(1)s heure" + +#~ msgid "Night" +#~ msgstr "Nuit" + +#~ msgid "Early morning" +#~ msgstr "Tôt le matin" + +#~ msgid "Morning" +#~ msgstr "Matin" + +#~ msgid "Almost noon" +#~ msgstr "Près de midi" + +#~ msgid "Noon" +#~ msgstr "Midi" + +#~ msgid "Afternoon" +#~ msgstr "Après-midi" + +#~ msgid "Evening" +#~ msgstr "Soir" + +#~ msgid "Late evening" +#~ msgstr "Tard en soirée" + +#~ msgid "Start of week" +#~ msgstr "Début de la semaine" + +#~ msgid "Middle of week" +#~ msgstr "Milieu de la semaine" + +#~ msgid "End of week" +#~ msgstr "Fin de la semaine" + +#~ msgid "Weekend!" +#~ msgstr "Fin de semaine !" + +#~ msgid "" +#~ "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or " +#~ "0 to disable Fuzzy Clock. 1 is the most precise clock, 4 the least " +#~ "precise one. This is used only if 'print_time' is 'sometimes'." +#~ msgstr "" +#~ "Afficher l'horodatage dans les conversations à l'aide de l'« horloge " +#~ "approximative ». L'approximation peut prendre des valeurs comprises entre " +#~ "1 (plus précis) et 4 (moins précis), ou peut être désactivée en utilisant " +#~ "la valeur 0. Ceci est utilisé seulement lorsque la valeur de 'print_time' " +#~ "est 'sometimes'." + +#~ msgid "message" +#~ msgstr "message" + +#~ msgid "error: %s" +#~ msgstr "erreur : %s" + +#, fuzzy +#~ msgid "Form: %s" +#~ msgstr "De %s" + +#~ msgid "XML Input" +#~ msgstr "Entrée XML" + +#~ msgid "If enabled, Gajim will send message receipt requests." +#~ msgstr "Si activé, Gajim enverra des messages d’accusés de réception." + +#~ msgid "Ttitle" +#~ msgstr "_Titre" + +#~ msgid "%(type)s encryption is active %(authenticated)s" +#~ msgstr "Chiffrement %(type)s actif %(authenticated)s" + +#~ msgid "Screen" +#~ msgstr "Écran" + +#~ msgid "Fake video output" +#~ msgstr "Sortie vidéo factice" + +#~ msgid "X Window System (X11/XShm/Xv): %s" +#~ msgstr "X Window System (X11/XShm/Xv): %s" + +#~ msgid "X Window System (without Xv)" +#~ msgstr "X Window System (without Xv)" + +#~ msgid "V_ideo output device" +#~ msgstr "Périphérique vidéo de sortie" + +#~ msgid "" +#~ "\n" +#~ "Disabled in config" +#~ msgstr "" +#~ "\n" +#~ "Désactivé dans la configuration" + +#~ msgid "Conversation with " +#~ msgstr "Conversation avec " + +#~ msgid "Continued conversation" +#~ msgstr "Conversation continuée" + +#~ msgid "%s has invited you to join a discussion" +#~ msgstr "%s vous a invité dans un salon de discussion" + +#~ msgid "_Send Private Message" +#~ msgstr "_Envoyer un message privé" + +#, fuzzy +#~ msgid "Participant Actions" +#~ msgstr "Participants" + +#~ msgid "_Voice" +#~ msgstr "_S'exprimer" + +#~ msgid "Mo_derator" +#~ msgstr "Mo_dérer" + +#~ msgid "_Member" +#~ msgstr "_Membre" + +#~ msgid "_Admin" +#~ msgstr "_Administrateur" + +#~ msgid "_Owner" +#~ msgstr "Pr_opriétaire" + +#~ msgid "_Add to Contact List" +#~ msgstr "_Ajouter à la liste de contacts" + +#~ msgid "_Execute command" +#~ msgstr "_Exécuter une commande" + +#~ msgid "Change _Nickname..." +#~ msgstr "Changer de Sur_nom..." + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "_Nouveau Salon de Discussion" + +#~ msgid "Change _Subject..." +#~ msgstr "Changer le _Sujet..." + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "Configurer le _Salon..." + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "_Nouveau Salon de Discussion" + +#~ msgid "_Minimize on close" +#~ msgstr "_Minimiser à la fermeture" + +#~ msgid "_Request Voice" +#~ msgstr "_Demander la parole" + +#~ msgid "_Bookmark" +#~ msgstr "_Marque-pages" + +#~ msgid "The authenticity of the %s certificate could be invalid" +#~ msgstr "L'authentification du certificat %s peut être invalide" + +#~ msgid "" +#~ "\n" +#~ "Unknown SSL error: %d" +#~ msgstr "" +#~ "\n" +#~ "Erreur SSL inconnue : %d" + +#~ msgid "" +#~ "\n" +#~ "SSL Error: %s" +#~ msgstr "" +#~ "\n" +#~ "Erreur SSL : %s" + +#~ msgid "Error verifying SSL certificate" +#~ msgstr "Erreur durant la vérification du certificat SSL" + +#~ msgid "View certificate…" +#~ msgstr "Voir le certificat…" + +#~ msgid "Continue" +#~ msgstr "Continuer" + +#~ msgid "" +#~ "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM " +#~ "IS RUNNING)" +#~ msgstr "" +#~ "Voulez vous nettoyer la base de donnée ? (TRÈS DÉCONSEILLÉ SI GAJIM EST " +#~ "LANCÉ)" + +#~ msgid "Authorization" +#~ msgstr "Autorisation" + +#, fuzzy +#~ msgid "" +#~ "All chat and group chat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Toutes les fenêtres de conversation et de salons de discussion seront " +#~ "fermées. Voulez-vous continuer ?" + +#, fuzzy +#~ msgid "Account '%s' is still connected to the server" +#~ msgstr "Le compte \"%s\" est connecté au serveur" + +#~ msgid "Error While Saving" +#~ msgstr "Erreur lors de l’enregistrement" + +#~ msgid "" +#~ "Image cannot be saved in %(type)s format.\n" +#~ "Save as %(new_filename)s?" +#~ msgstr "" +#~ "L’image ne peut être enregistrée en format %(type)s.\n" +#~ "Enregistrer en tant que %(new_filename)s ?" + +#~ msgid "Save _As" +#~ msgstr "Enregistrer _sous" + +#~ msgid "Yes, I really want to connect insecurely" +#~ msgstr "Oui, je veux vraiment me connecter de façon non-sécurisée" + +#~ msgid "Gajim will NOT connect unless you check this box" +#~ msgstr "Gajim ne se connectera pas si vous ne cochez pas cette case." + +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "Adresse XMPP de groupe de discussion non invalide" + +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "" +#~ "L'adresse XMPP du salon de discussion contient des caractères interdits." + +#~ msgid "You may specify a reason below:" +#~ msgstr "Vous pouvez saisir une raison ci-dessous :" + +#~ msgid "Banning %s" +#~ msgstr "Bannissement de %s" + +#~ msgid "Destroy this group chat permanently?" +#~ msgstr "Détruire ce salon de discussion de façon irréversible ?" + +#~ msgid "Reason..." +#~ msgstr "Raison ..." + +#, fuzzy +#~ msgid "" +#~ "Always ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Toujours demander confirmation avant de fermer les salons de discussion " +#~ "avec les JIDs de cette liste séparés par des espaces." + +#, fuzzy +#~ msgid "" +#~ "Never ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Ne jamais demander avant de fermer les salons de discussion avec les JIDs " +#~ "de cette liste séparées par des espaces." + +#~ msgid "Leave Group Chats" +#~ msgstr "Quitter des groupes de discussion" + +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "%(nickname)s dans %(room_jid)s" + +#, fuzzy +#~ msgid "You have not joined a group chat." +#~ msgstr "Vous n'avez pas joint de groupe de discussion." + +#~ msgid "Choose the group chats you want to leave" +#~ msgstr "Choisissez les groupes de discussion que vous désirez quitter" + +#, fuzzy +#~ msgid "You left the following group chats:" +#~ msgstr "Vous avez quitté les groupes de discussion suivants :" + +#, fuzzy +#~ msgid "" +#~ "Should automatic rejoin be activated when you were kicked from a group " +#~ "chat?" +#~ msgstr "" +#~ "La reconnexion automatique doit-elle être activée lorsque l'on est éjecté " +#~ "d'un salon de discussion ?" + +#, fuzzy +#~ msgid "" +#~ "If disabled, Gajim will display a static event icon instead of the " +#~ "blinking status icon in the notification area when notifying about an " +#~ "event." +#~ msgstr "" +#~ "Si désactivé, Gajim affichera une icône d'événement statique au lieu de " +#~ "l'icône clignotant dans la zone de notification lors de la notification " +#~ "d'un événement." + +#~ msgid "Don't show avatar for the transport itself." +#~ msgstr "Ne pas afficher d'avatars particuliers pour les passerelles." + +#, fuzzy +#~ msgid "" +#~ "Show a confirmation dialog for a custom status? Empty string means never " +#~ "show the dialog." +#~ msgstr "" +#~ "Afficher ou non la fenêtre de dialogue de confirmation de l'envoi de " +#~ "statut personnalisé ? Une valeur vide signifie ne jamais l'afficher." + +#, fuzzy +#~ msgid "" +#~ "If enabled, notification windows from notification-daemon will be " +#~ "attached to the notification area icon." +#~ msgstr "" +#~ "Si activé, les fenêtres de notification du notification-daemon seront " +#~ "attachées à l'icône du Tray." + +#~ msgid "" +#~ "Show a warning dialog before sending PLAIN password over a plain " +#~ "connection." +#~ msgstr "" +#~ "Afficher un message d'avertissement avant d'envoyer un mot de passe non-" +#~ "chiffré via une connexion non-chiffrée." + +#, fuzzy +#~ msgid "" +#~ "List of XMPP Addresses (space separated) for which you accept to not " +#~ "store chat history if your contact does not want to." +#~ msgstr "" +#~ "Liste de jid, séparée par un espace, pour lesquels vous accepter de ne " +#~ "pas enregistrer les conversations s'il ne veut pas." + +#, fuzzy +#~ msgid "Jabberd2 workaround." +#~ msgstr "Contournement de bug de jabberd2" + +#~ msgid "Configure Services…" +#~ msgstr "Configurer les Services…" + +#~ msgid "Group Chat Bookmarks" +#~ msgstr "Marque-pages des salons de discussion" + +#~ msgid "Add Bookmark" +#~ msgstr "Ajouter un signet" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "Marque-page" + +#~ msgid "N_ame" +#~ msgstr "N_om" + +#~ msgid "_Server" +#~ msgstr "_Serveur" + +#~ msgid "Roo_m" +#~ msgstr "_Salon" + +#~ msgid "_Password" +#~ msgstr "Mot de _passe" + +#~ msgid "Join chat when connected" +#~ msgstr "Rejoindre le salon à la connexion" + +#~ msgid "_Join Automatically" +#~ msgstr "_Rejoindre automatiquement" + +#~ msgid "New Group Chat" +#~ msgstr "Créer un salon de discussion" + +#~ msgid "This bookmark has invalid data" +#~ msgstr "Ce marque-page contient des données invalides" + +#, fuzzy +#~ msgid "" +#~ "Please be sure to fill out server and group chat fields or remove this " +#~ "bookmark." +#~ msgstr "" +#~ "Assurez-vous de remplir les champs serveur et salon ou enlevez ce marque-" +#~ "page" + +#~ msgid "Character not allowed" +#~ msgstr "Caractère non-autorisé" + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "JID de salon de discussion non invalide" + +#~ msgid "Unable to join group chat" +#~ msgstr "Impossible de rejoindre le salon" + +#~ msgid "You are banned from group chat %s." +#~ msgstr "Vous êtes banni du salon %s." + +#~ msgid "Remote server %s does not exist." +#~ msgstr "Le serveur distant %s n’existe pas." + +#~ msgid "Group chat %s does not exist." +#~ msgstr "Le salon %s n’existe pas." + +#~ msgid "Group chat creation is not permitted." +#~ msgstr "La création de salon n’est pas autorisée." + +#~ msgid "You must use your registered nickname in %s." +#~ msgstr "Vous devez utiliser votre pseudonyme enregistré dans %s." + +#, fuzzy +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "Vous n’êtes pas dans la liste des membres du salon %s." + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "Ceci n'est pas une conversation multi-utilisateurs" + +#~ msgid "This is not a group chat" +#~ msgstr "Ceci n'est pas une conversation multi-utilisateurs" + +#, fuzzy +#~ msgid "" +#~ "%(room_jid)s is already in your contact list. Please check if " +#~ "%(room_jid)s is a correct group chat name. If it is, delete it from your " +#~ "contact list and try joining the group chat again." +#~ msgstr "" +#~ "%(room_jid)s est déjà dans votre liste de contacts. Veuillez vérifier si " +#~ "%(room_jid)s est un JID de salon de discussion correcte. Dans ce cas, " +#~ "supprimez-le de votre liste de contacts et réessayez de joindre le salon." + +#, fuzzy +#~ msgid "Please choose a group chat" +#~ msgstr "Veuillez choisir un salon" + +#~ msgid "Invalid Nickname" +#~ msgstr "Nom d'utilisateur invalide" + +#~ msgid "Wrong server" +#~ msgstr "Mauvais serveur" + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "%s n'est pas un serveur de salons de discussion" + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit." +#~ msgstr "" +#~ "Le nombre de lignes d'archives qui seront demandées en entrant dans un " +#~ "salon. -1 signifie \"pas de limitation\"" + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit." +#~ msgstr "" +#~ "Le nombre de minutes d'archives qui seront demandées en entrant dans un " +#~ "salon. -1 signifie \"pas de limitation\"" + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit, -2 means global value." +#~ msgstr "" +#~ "Le nombre de lignes d'archives qui seront demandées en entrant dans un " +#~ "salon. -1 signifie \"pas de limitation\", -2 signifie \"valeur globale\"" + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit, -2 means global value." +#~ msgstr "" +#~ "Le nombre de minutes d'archives qui seront demandées en entrant dans un " +#~ "salon. -1 signifie \"pas de limitation\", -2 signifie \"valeur globale\"" + +#, fuzzy +#~ msgid "A Password is required to join the group chat %s. Please type it." +#~ msgstr "" +#~ "Un mot de passe est requis pour rejoindre le salon %s. Veuillez le taper." + +#~ msgid "Not in Roster" +#~ msgstr "Absent de la liste" + +#~ msgid "I would like to add you to my roster" +#~ msgstr "Je souhaiterais vous ajouter à ma liste de contacts" + +#~ msgid "Add to Roster" +#~ msgstr "Ajouter à la liste de contacts" + +#~ msgid "Audio Session" +#~ msgstr "Session audio" + +#~ msgid "Manage Room" +#~ msgstr "Gérer le salon" + +#~ msgid "Configure Room" +#~ msgstr "Configurer le salon" + +#~ msgid "Destroy Room" +#~ msgstr "Détruire le salon" + +#~ msgid "Change Nick" +#~ msgstr "Changer de surnom" + +#~ msgid "Disconnect" +#~ msgstr "Déconnecter" + +#~ msgid "Copy JID" +#~ msgstr "Copier le JID" + +#~ msgid "Add to Roster…" +#~ msgstr "Ajouter à la liste de contacts…" + +#~ msgid "Copy JID/Email" +#~ msgstr "Copier l'identifiant Jabber / l'adresse électronique" + +#~ msgid "JID: %s" +#~ msgstr "JID : %s" + +#~ msgid "Changing Subject" +#~ msgstr "Changement de Sujet" + +#~ msgid "Please specify the new subject:" +#~ msgstr "Saisissez le nouveau sujet :" + +#~ msgid "Room logging is now enabled" +#~ msgstr "L’enregistrement des conversations du salon est maintenant activé" + +#~ msgid "Room logging is now disabled" +#~ msgstr "" +#~ "L’enregistrement des conversations du salon est maintenant désactivé" + +#~ msgid "You (%s) joined the room" +#~ msgstr "Vous (%s) avez rejoint le salon de discussion" + +#~ msgid "Room logging is enabled" +#~ msgstr "L’enregistrement des conversations du salon est activé" + +#~ msgid "Unable to join groupchat" +#~ msgstr "Impossible de rejoindre le salon" + +#~ msgid "Groupchat Invitation" +#~ msgstr "Invitation à un salon" + +#~ msgid "%(jid)s has been invited in this room" +#~ msgstr "%(jid)s a été invité dans ce salon" + +#~ msgid "JID is not a Groupchat" +#~ msgstr "JID n'est pas un salon de discussion" + +#~ msgid "Invalid JID" +#~ msgstr "Identifiant Jabber invalide" + +#~ msgid "A connection is not available" +#~ msgstr "Aucune connexion disponible" + +#~ msgid "JID already in list" +#~ msgstr "JID déjà dans la liste" + +#~ msgid "Unsecure" +#~ msgstr "Non sécurisé" + +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "Aucune méthode disponible pour le chiffrement choisi" + +#~ msgid "Removes contact from roster" +#~ msgstr "Enlever le contact de la liste" + +#~ msgid "Not in roster" +#~ msgstr "Pas dans la liste" + +#~ msgid "Contact signed in notification color." +#~ msgstr "Couleur des notifications lorsqu'un contact se connecte." + +#~ msgid "Contact signout notification color" +#~ msgstr "Couleur des notifications lorsqu'un contact se déconnecte." + +#~ msgid "File transfer request notification color." +#~ msgstr "Couleur des notifications pour une demande de transfert de fichier" + +#~ msgid "File transfer error notification color." +#~ msgstr "Couleur des notifications pour une erreur de transfert de fichier" + +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "" +#~ "Couleur des notifications lorsqu'un transfert de fichier est terminé" + +#~ msgid "Groupchat invitation notification color" +#~ msgstr "" +#~ "Couleur des notifications pour une invitation dans un salon de discussion" + +#~ msgid "Other dialogs color." +#~ msgstr "Couleur des autres fenêtres." + +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "Ajouter * et [n] au titre de la liste des contacts ?" + +#~ msgid "Hides the banner in two persons chat window" +#~ msgstr "Cache la bannière dans les fenêtres de discussions" + +#~ msgid "" +#~ "Show the confirm metacontacts creation dialog or not? Empty string means " +#~ "never show the dialog." +#~ msgstr "" +#~ "Afficher ou non la fenêtre de dialogue de confirmation de la création de " +#~ "métacontacts ? Une valeur vide signifie ne jamais l'afficher." + +#~ msgid "If true, You will also see your webcam" +#~ msgstr "Si activé, vous verrez également votre webcam" + +#~ msgid "If the room subject is shown in chat on join" +#~ msgstr "" +#~ "Si le sujet du salon est affiche dans la conversation lorsqu'il est " +#~ "rejoint" + +#~ msgid "Space separated list of ssl errors to ignore." +#~ msgstr "Liste d'erreurs ssl, séparées par une virgule, à ignorer." + +#~ msgid "Answer to receipt requests" +#~ msgstr "Répondre aux demandes d'accusés de réception" + +#~ msgid "Language for which misspelled words will be checked" +#~ msgstr "Langue dans laquelle faire la vérification orthographique" + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "Je mange, donc laissez moi un message." + +#~ msgid "" +#~ "This message was encrypted with OpenPGP for XMPP and could not be " +#~ "decrypted." +#~ msgstr "" +#~ "Ce message a été chiffre avec OpenGPG pour XMPP et ne peux pas être " +#~ "déchiffré." + +#~ msgid "from room %s" +#~ msgstr "du salon %s" + +#~ msgid "Leave Groupchats" +#~ msgstr "Quitter des Groupes de Discussion" + +#~ msgid "Auto Join" +#~ msgstr "Rejoindre automatiquement" + +#~ msgid "Room" +#~ msgstr "Salon de discussion" + +#~ msgid "Jabber ID:" +#~ msgstr "Identifiant Jabber :" + +#~ msgid "Occupant Actions" +#~ msgstr "Actions des Occupants" + +#~ msgid "_Add to Roster" +#~ msgstr "_Ajouter à la liste de contacts" + +#~ msgid "_Manage Room" +#~ msgstr "_Gérer le Salon" + +#~ msgid "_Destroy Room" +#~ msgstr "_Détruire le Salon" + +#~ msgid "Jabber ID" +#~ msgstr "Identifiant Jabber" + +#, fuzzy +#~ msgid "account" +#~ msgstr "Compte" + +#~ msgid "Roster" +#~ msgstr "Liste de contacts" + +#~ msgid "Show only in roster" +#~ msgstr "Ne le montrer que dans la liste" + +#~ msgid "in _roster" +#~ msgstr "dans le _roster" + +#~ msgid "Roster Appearance" +#~ msgstr "Apparence de la fenêtre principale" + +#~ msgid "Show chatstate in roster" +#~ msgstr "Afficher l’état de discussion dans la liste des contacts" + +#~ msgid "_Add to Roster..." +#~ msgstr "_Ajouter à la liste de contacts..." + +#~ msgid "_Jabber ID:" +#~ msgstr "Identifiant _Jabber :" + +#~ msgid "_Jabber ID" +#~ msgstr "Identifiant _Jabber" + +#~ msgid "JabberID" +#~ msgstr "Identifiant Jabber :" + +#~ msgid "Show Roster" +#~ msgstr "Montrer la liste de contacts" + +#~ msgid "MUC server" +#~ msgstr "Serveur de salon" + +#~ msgid "Roster Shortcuts" +#~ msgstr "Raccourcis liste de contacts" + +#~ msgid "Room Configuration" +#~ msgstr "Configuration du salon de discussion" + +#~ msgid "Join _Group Chat" +#~ msgstr "Rejoindre un _salon de discussion" + +#~ msgid "Toggle audio session" +#~ msgstr "Démarrer/arrêter une session audio" + +#~ msgid "Audio sessions are not available" +#~ msgstr "Les sessions audio ne sont pas disponibles" + +#~ msgid "Conference" +#~ msgstr "Conférences" + +#~ msgid "_Manage Bookmarks…" +#~ msgstr "_Gérer les marque-pages…" + +#~ msgid "Hide _Roster" +#~ msgstr "Cacher la liste de contacts" + +#~ msgid "Show _Roster" +#~ msgstr "Montrer la _liste de contacts" + +#~ msgid "Invalid Room" +#~ msgstr "Salon invalide" + +#~ msgid "Invalid room" +#~ msgstr "Salon invalide" + +#~ msgid "A GTK+ Jabber client" +#~ msgstr "Un client Jabber en GTK+" + +#~ msgid "Changing Nickname" +#~ msgstr "Changement de Surnom" + +#~ msgid "Please specify the new nickname you want to use:" +#~ msgstr "Saisissez le nouveau surnom que vous souhaitez utiliser :" + +#~ msgid "Bookmark already set" +#~ msgstr "Marque-page déjà spécifié" + +#, fuzzy +#~ msgid "Group Chat '%s' is already in your bookmarks." +#~ msgstr "Le salon \"%s\" est déjà dans vos marque-pages." + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "Marque-page ajouté avec succès" + +#, fuzzy +#~ msgid "" +#~ "You can manage your bookmarks by clicking the Bookmarks menu item in your " +#~ "contact list." +#~ msgstr "" +#~ "Vous pouvez gérer vos marque-pages par le menu Actions de votre liste de " +#~ "contacts." + +#~ msgid "The nickname contains invalid characters." +#~ msgstr "Le pseudonyme contient des caractères non valides." + +#~ msgid "Bookmark Room" +#~ msgstr "Enregistrer ce salon dans les marque-pages" + +#~ msgid "_Join New Group Chat" +#~ msgstr "_Joindre un salon de discussion" + +#~ msgid "Name:" +#~ msgstr "Nom : " + +#~ msgid "Description:" +#~ msgstr "Description :" + +#~ msgid "Address:" +#~ msgstr "Adresse :" + +#~ msgid "" +#~ "Semi-Anonymous\n" +#~ "(Only moderators can see your XMPP-Address)" +#~ msgstr "" +#~ "Semi-anonyme\n" +#~ "(Les modérateurs seulement peuvent voir votre " +#~ "adresse XMPP)" + +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "" +#~ "Vous ne pouvez commencer une nouvelle conversation tant que vous n'êtes " +#~ "pas connecté." + +#, fuzzy +#~ msgid "Occupants" +#~ msgstr "Actions des Occupants" + +#~ msgid "Boolean" +#~ msgstr "Booléen" + +#~ msgid "Integer" +#~ msgstr "Entier" + +#~ msgid "Text" +#~ msgstr "Texte" + +#~ msgid "Value" +#~ msgstr "Valeur" + +#~ msgid "(None)" +#~ msgstr "(Aucune)" + +#~ msgid "Hidden" +#~ msgstr "Éléments masqués" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "Gérer les profils des serveurs mandataires" + +#~ msgid "Properties" +#~ msgstr "Propriétés" + +#~ msgid "Proxy _Port" +#~ msgstr "_Port du serveur mandataire" + +#~ msgid "New Groupchat" +#~ msgstr "Nouveau salon de discussion" + +#~ msgid "New Contact" +#~ msgstr "Nouveau contact" + +#~ msgid "%s GiB" +#~ msgstr "%s Gio" + +#~ msgid "%s GB" +#~ msgstr "%s Go" + +#~ msgid "%s MiB" +#~ msgstr "%s Mio" + +#~ msgid "%s MB" +#~ msgstr "%s Mo" + +#~ msgid "%s KiB" +#~ msgstr "%s Kio" + +#~ msgid "%s KB" +#~ msgstr "%s Ko" + +#~ msgid "%s B" +#~ msgstr "%s o" + +#, fuzzy +#~ msgid "%s MiB/s" +#~ msgstr "%s Mio" + +#~ msgid "File transfer" +#~ msgstr "Transfert de fichiers" + +#~ msgid "Open _Containing Folder" +#~ msgstr "Ouvrir le dossier de destination" + +#~ msgid "Default:" +#~ msgstr "Par défaut :" + +#~ msgid "Success!" +#~ msgstr "Succès !" + +#, fuzzy +#~ msgid "toolbutton" +#~ msgstr "bouton" + +#~ msgid "Really quit Gajim?" +#~ msgstr "Vraiment quitter Gajim ?" + +#~ msgid "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" +#~ msgstr "" +#~ "Vous ne pourrez plus envoyer et recevoir de messages aux contacts de ces " +#~ "passerelles : %s" + +#~ msgid "Contact \"%s\" will be removed from your roster" +#~ msgstr "Le contact \"%s\" sera enlevé de la liste de contacts" + +#~ msgid "" +#~ "By removing this contact you also by default remove authorization " +#~ "resulting in them always seeing you as offline." +#~ msgstr "" +#~ "En supprimant ce contact, vous supprimez également son autorisation. Il/" +#~ "Elle vous verra donc toujours déconnecté⋅e." + +#~ msgid "Contacts will be removed from your roster" +#~ msgstr "Les contacts seront enlevés de la liste de contacts" + +#~ msgid "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorization resulting in them always seeing you as " +#~ "offline." +#~ msgstr "" +#~ "En supprimant ces contacts : %s\n" +#~ "vous enlevez aussi leurs autorisations. Ces contacts vous verront donc " +#~ "toujours déconnecté⋅e." + +#~ msgid "Con_tinue" +#~ msgstr "Con_tinuer" + +#~ msgid "_Pause" +#~ msgstr "_Pause" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "Supprimer le transfert de fichier de la liste." + +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "" +#~ "Cette action supprime les transferts de fichier de la liste. Si le " +#~ "transfert est actif, il est d'abord arrêté puis supprimé" + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "Annule le transfert du fichier sélectionné" + +#~ msgid "Hide the window" +#~ msgstr "Cache la fenêtre" + +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "" +#~ "Quand le transfert de fichier est terminé, montrer une fenêtre de " +#~ "notification" + +#~ msgid "From:" +#~ msgstr "De :" + +#~ msgid "Subject:" +#~ msgstr "Sujet :" + +#~ msgid "%s wants to send you a file:" +#~ msgstr "%s souhaite vous envoyer un fichier :" + +#~ msgid "Name: " +#~ msgstr "Nom : " + +#~ msgid "Pause" +#~ msgstr "Pause" + +#~ msgid "Execute Command" +#~ msgstr "Exécuter une commande" + +#~ msgid "Type: " +#~ msgstr "Type : " + +#~ msgid "Transferred: " +#~ msgstr "Transféré : " + +#~ msgid "Completed" +#~ msgstr "Terminé" + +#~ msgid "Stalled" +#~ msgstr "Calé" + +#~ msgid "Transferring" +#~ msgstr "En train de transférer" + +#~ msgid "Not started" +#~ msgstr "Non commencé" + +#~ msgid "%s day" +#~ msgid_plural "%s days" +#~ msgstr[0] "%s jour" +#~ msgstr[1] "%s jours" + +#~ msgid "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Toutes les fenêtres de conversation et de salons de discussion seront " +#~ "fermées. Voulez-vous continuer ?" + +#~ msgid "" +#~ "Your desired nickname in group chat\n" +#~ "%s\n" +#~ "is in use or registered by another occupant.\n" +#~ "Please specify another nickname below:" +#~ msgstr "" +#~ "Le surnom que vous vouliez utiliser dans le salon\n" +#~ "%s\n" +#~ "est actuellement utilisé ou enregistré par un autre occupant.\n" +#~ "Veuillez entrer un autre surnom ci-dessous :" + +#~ msgid "_Configure" +#~ msgstr "_Configurer" + +#~ msgid "Change the avatar" +#~ msgstr "Modifier l'avatar" + +#~ msgid "" +#~ "Account in which the avatar will be set; if not specified, the avatar " +#~ "will be set for all accounts" +#~ msgstr "" +#~ "Compte dans lequel l'avatar sera envoyé ; si non spécifié, l'avatar sera " +#~ "envoyé à tous les comptes" + +#~ msgid "add" +#~ msgstr "Ajouter" + +#~ msgid "modify" +#~ msgstr "Modifier" + +#~ msgid "remove" +#~ msgstr "Supprimer" + +#~ msgid "" +#~ "If true, restored messages will use a smaller font than the default one." +#~ msgstr "" +#~ "Si activé, les messages restaurés utiliseront une police de texte plus " +#~ "petite que la normale." + +#~ msgid "Restored Message Color" +#~ msgstr "Couleur du message restauré" + +#~ msgid "" +#~ "You are going to remove this room permanently.\n" +#~ "You may specify a reason below:" +#~ msgstr "" +#~ "Vous êtes sur le point de supprimer définitivement ce salon.\n" +#~ "Vous pouvez spécifier une raison ci-dessous :" + +#~ msgid "Send Cus_tom Status" +#~ msgstr "Envoyer un Statut Personnalisé" + +#~ msgid "" +#~ "You are about to send a custom status. Are you sure you want to continue?" +#~ msgstr "" +#~ "Vous êtes sur le point d'envoyer un statut personnalisé. Êtes-vous sûr de " +#~ "vouloir continuer ?" + +#~ msgid "" +#~ "This contact will temporarily see you as %(status)s, but only until you " +#~ "change your status. Then they will see your global status." +#~ msgstr "" +#~ "Ce contact vous verra temporairement %(status)s, mais seulement jusqu'à " +#~ "ce que vous changiez votre état. Il verra alors votre état global." + +#, fuzzy +#~ msgid "" +#~ msgstr "Sujet" + +#~ msgid "#" +#~ msgstr "#" + +#~ msgid "You are about to block a contact. Are you sure you want to continue?" +#~ msgstr "" +#~ "Vous êtes sur le point de bloquer un contact. Êtes-vous sûr de vouloir " +#~ "continuer ?" + +#~ msgid "To:" +#~ msgstr "À :" + +#~ msgid "0" +#~ msgstr "0" + +#~ msgid "" +#~ "On startup, Gajim will download logs stored on server, provided the " +#~ "server supports XEP-0313" +#~ msgstr "" +#~ "Au démarrage, Gajim téléchargera l'historique stocké sur le serveur, si " +#~ "le serveur supporte la XEP-0313" + +#~ msgid "" +#~ "If enabled and if server supports this feature, Gajim will receive " +#~ "messages sent and received by other resources." +#~ msgstr "" +#~ "Si activé et si le serveur supporte cette fonctionnalité, Gajim recevra " +#~ "les messages envoyés et reçus par les autres resources." + +#~ msgid "Reconnect when connection is lost" +#~ msgstr "Se reconnecter lorsque la connexion est perdue" + +#~ msgid "Server Message Archive" +#~ msgstr "Archiver les messages sur le serveur" + +#, fuzzy +#~ msgid "" +#~ "Messages get stored on the server. The archive is used to sync messages " +#~ "between multiple devices. (XEP-0313)" +#~ msgstr "" +#~ "Les messages sont stockés sur le serveur.\n" +#~ "L'archive est utilisée pour synchroniser les\n" +#~ "messages entre plusieurs clients.\n" +#~ "XEP-0313" + +#~ msgid "Message Carbons" +#~ msgstr "Copie carbone des messages" + +#, fuzzy +#~ msgid "" +#~ "All your other online devices get copies of sent and received messages. " +#~ "XEP-0280" +#~ msgstr "" +#~ "Tous vos autre appareils connectés revoivent\n" +#~ "des copies des messages reçus et envoyés.\n" +#~ "XEP-0280" + +#~ msgid "" +#~ "Sent chat state notifications. Can be one of all, composing_only, " +#~ "disabled." +#~ msgstr "" +#~ "Notifications d'états envoyées. Peut être all, composing_only ou disabled." + +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "Envoyer mon temps d’inactivité" + +#~ msgid "" +#~ "If checked, others will be allowed to detect the idle time of your system" +#~ msgstr "" +#~ "Si cette case est cochée, Gajim autorisera les autres à détecter le temps " +#~ "d’inactivité de votre système" + +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "Envoyer des informations concernant l’heure de votre système" + +#~ msgid "" +#~ "If checked, others will be allowed to detect the local time on your system" +#~ msgstr "" +#~ "Si cette case est cochée, Gajim autorisera les autres à détecter l’heure " +#~ "de votre système" + +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "" +#~ "Envoyer des informations concernant votre client / _système d'exploitation" + +#~ msgid "" +#~ "If checked, others will be allowed to detect the operating system you are " +#~ "using" +#~ msgstr "" +#~ "Si cette case est cochée, Gajim autorisera les autres à détecter le " +#~ "système d’exploitation que vous utilisez" + +#~ msgid "" +#~ "If checked, incoming events from unauthorized contacts will be ignored. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster." +#~ msgstr "" +#~ "Si cette case est cochée, Gajim ignorera les événements en provenance des " +#~ "contacts non autorisés. Utilisez avec précaution car cela bloque tous les " +#~ "messages provenant des contacts qui ne sont pas dans votre liste" + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." +#~ msgstr "" +#~ "Gajim peut envoyer et recevoir des meta-informations concernant les " +#~ "conversations que vous pouvez avoir avec un contact. Vous pouvez ici " +#~ "spécifier quel état de conversation vous voulez envoyer à vos contacts." + +#~ msgid "S_end chat state notifications" +#~ msgstr "_Envoyer les notifications d’état" + +#~ msgid "Login Options" +#~ msgstr "Options de connexion" + +#~ msgid "Please wait while retrieving search form..." +#~ msgstr "Merci de patienter pendant la recherche..." + +#~ msgid "_Add contact" +#~ msgstr "_Ajouter un contact" + +#~ msgid "Ad-hoc Commands - Gajim" +#~ msgstr "Commandes Ad-hoc - Gajim" + +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "" +#~ "Merci de patienter pendant la récupération de la liste des commandes..." + +#~ msgid "Choose command to execute:" +#~ msgstr "Commande à exécuter :" + +#~ msgid "Check once more" +#~ msgstr "Revérifier" + +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "Merci de patienter pendant l'envoi de la commande..." + +#~ msgid "This jabber entity does not expose any commands." +#~ msgstr "Cette entité jabber n'affiche pas de commandes." + +#~ msgid "F_inish" +#~ msgstr "F_inir" + +#~ msgid "Waiting for results" +#~ msgstr "Attente de résultats." + +#~ msgid "Error in received dataform" +#~ msgstr "Erreur dans la forme des données reçues" + +#~ msgid "No result" +#~ msgstr "Aucun résultat." + +#~ msgid "Failed to get secret keys" +#~ msgstr "Erreur en récupérant les clés secrètes" + +#~ msgid "There is no OpenPGP secret key available." +#~ msgstr "Aucune clef OpenPGP disponible." + +#~ msgid "OpenPGP Key Selection" +#~ msgstr "Sélection d'une clé OpenPGP" + +#~ msgid "Choose your OpenPGP key" +#~ msgstr "Choisissez votre clé OpenPGP" + +#~ msgid "KeyID" +#~ msgstr "KeyID" + +#~ msgid "Contact name" +#~ msgstr "Nom du contact" + +#~ msgid "Formatting is not available so long as GPG is active" +#~ msgstr "Le formatage n’est pas disponible lorsque GPG est activé" + +#~ msgid "OpenPGP is not usable" +#~ msgstr "OpenPGP n’est pas utilisable" + +#~ msgid "" +#~ "Gajim needs python-gnupg >= 0.3.8\n" +#~ "Beware there is an incompatible Python package called gnupg.\n" +#~ "You will be connected to %s without OpenPGP." +#~ msgstr "" +#~ "Gajim a besoin de python-gnupg >= 0.3.8\n" +#~ "Attention il existe un paquet python appelé gnupg qui n’est pas " +#~ "compatible.\n" +#~ "Vous serez connecté à %s sans OpenPGP." + +#~ msgid "Assign OpenPGP Key" +#~ msgstr "Assigner une clé OpenPGP" + +#~ msgid "Select a key to apply to the contact" +#~ msgstr "Choisissez la clé correspondant au contact" + +#~ msgid "" +#~ "You configured Gajim to use OpenPGP agent, but there is no OpenPGP agent " +#~ "running or it returned a wrong passphrase.\n" +#~ msgstr "" +#~ "Vous avez configuré Gajim pour qu'il utilise un agent OpenPGP, mais aucun " +#~ "agent OpenPGP n'est lancé ou il a renvoyé un mauvais mot de passe.\n" + +#~ msgid "You are currently connected without your OpenPGP key." +#~ msgstr "Vous êtes actuellement connecté sans clé OpenPGP." + +#~ msgid "Wrong passphrase" +#~ msgstr "Mot de passe incorrecte" + +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "Mot de passe OpenPGP erroné" + +#~ msgid "Passphrase Required" +#~ msgstr "Mot de Passe Requis" + +#~ msgid "" +#~ "Enter OpenPGP key passphrase for key %(keyid)s (account %(account)s)." +#~ msgstr "" +#~ "Entrez votre mot de passe OpenPGP pour la clé %(keyid)s (compte " +#~ "%(account)s)." + +#~ msgid "OpenPGP key expired" +#~ msgstr "Clef OpenPGP expirée" + +#~ msgid "" +#~ "Your OpenPGP key has expired, you will be connected to %s without OpenPGP." +#~ msgstr "" +#~ "Votre clef OpenPGP a expiré, vous serez connecté⋅e à %s sans OpenPGP." + +#~ msgid "Wrong Passphrase" +#~ msgstr "Mot de passe erroné" + +#~ msgid "Please retype your OpenPGP passphrase or press Cancel." +#~ msgstr "" +#~ "Veuillez ressaisir votre mot de passe OpenPGP ou appuyez sur Annuler." + +#~ msgid "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Envoyer un nouveau message à un contact dans la liste. La clé OpenPGP et " +#~ "le compte sont facultatifs. Si vous voulez seulement renseigner le " +#~ "paramètre 'compte' sans 'clé pgp', mettez simple la valeur '' pour 'clé " +#~ "pgp'." + +#~ msgid "PGP key" +#~ msgstr "Clé PGP" + +#~ msgid "if specified, the message will be encrypted using this public key" +#~ msgstr "" +#~ "Si spécifié, le message sera chiffré en utilisant cette clé publique" + +#~ msgid "" +#~ "Sends a chat message to someone on your roster. Optionally with OpenPGP " +#~ "key and account. If you want to only set the latter, set OpenPGP key to " +#~ "\"\"." +#~ msgstr "" +#~ "Envoyer un message à un contact dans la liste. La clé OpenPGP et le " +#~ "compte sont facultatifs. Si vous voulez seulement renseigner le dernier " +#~ "paramètre, mettez simplement \"\" pour 'clé PGP'." + +#~ msgid "Sets the encoding used by python-gnupg" +#~ msgstr "Fixe le codage utilisé pat python-gnupg" + +#~ msgid "" +#~ "If disabled, don't sign presences with GPG key, even if GPG is configured." +#~ msgstr "" +#~ "Si désactivé, ne pas signaler les présences avec une clef GPG, même si " +#~ "GPG est configuré." + +#~ msgid "OpenPGP:" +#~ msgstr "OpenPGP : " + +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "Assigner une clé Open_PGP..." + +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "Chiffrement de message OpenPGP" + +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "Autorise Gajim à chiffrer les messages avec OpenPGP." + +#~ msgid "Requires: gpg and python-gnupg (%(url)s)" +#~ msgstr "Nécessite : gpg et python-gnupg (%(url)s)" + +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "gpg.exe doit être dans le PATH." + +#~ msgid "Use PGP Agent" +#~ msgstr "Utiliser un agent GPG" + +#~ msgid "OpenPGP Key" +#~ msgstr "Clé OpenPGP" + +#~ msgid "Cancel confirmation" +#~ msgstr "Annuler la confirmation" + +#~ msgid "" +#~ "You are in process of executing command. Do you really want to cancel it?" +#~ msgstr "" +#~ "Vous êtes en train d'éxecuter une commande. Êtes vous sûr de vouloir " +#~ "l'annuler ?" + +#~ msgid "Service sent malformed data" +#~ msgstr "Le service a envoyé des données mal-formées" + +#~ msgid "Service changed the session identifier." +#~ msgstr "Le service a modifié l'identifiant de la session." + +#~ msgid "%s - Ad-hoc Commands - Gajim" +#~ msgstr "%s - Commandes Ad-hoc - Gajim" + +#~ msgid "Service returned an error." +#~ msgstr "Le service a renvoyé une erreur." + +#~ msgid "You are invited to a groupchat" +#~ msgstr "Vous êtes invité dans un groupe de discussion" + +#~ msgid "" +#~ "Issued to:\n" +#~ "Common Name (CN): %(scn)s\n" +#~ "Organization (O): %(sorg)s\n" +#~ "Organizationl Unit (OU): %(sou)s\n" +#~ "Serial Number: %(sn)s\n" +#~ "\n" +#~ "Issued by:\n" +#~ "Common Name (CN): %(icn)s\n" +#~ "Organization (O): %(iorg)s\n" +#~ "Organizationl Unit (OU): %(iou)s\n" +#~ "\n" +#~ "Validity:\n" +#~ "Issued on: %(io)s\n" +#~ "Expires on: %(eo)s\n" +#~ "\n" +#~ "Fingerprint\n" +#~ "SHA-1 Fingerprint: %(sha1)s\n" +#~ "\n" +#~ "SHA-256 Fingerprint: %(sha256)s\n" +#~ msgstr "" +#~ "Délivré à :\n" +#~ "Nom commun (CN) : %(scn)s\n" +#~ "Organisation (O) : %(sorg)s\n" +#~ "Unité de l'organisation (OU) : %(sou)s\n" +#~ "Numéro de série : %(sn)s\n" +#~ "\n" +#~ "Délivré par :\n" +#~ "Nom commun (CN) : %(icn)s\n" +#~ "Organisation (O) : %(iorg)s\n" +#~ "Unité de l'organisation (OU) : %(iou)s\n" +#~ "\n" +#~ "Validité :\n" +#~ "Délivré le : %(io)s\n" +#~ "Éxpire le : %(eo)s\n" +#~ "\n" +#~ "Empreinte\n" +#~ "Empreinte SHA-1 : %(sha1)s\n" +#~ "\n" +#~ "Empreinte SHA-256 : %(sha256)s\n" + +#~ msgid "_Start Chat" +#~ msgstr "Commencer une _discussion" + +#~ msgid "Au_thorize" +#~ msgstr "Au_toriser" + +#~ msgid "Really send file?" +#~ msgstr "Envoyer vraiment le fichier ?" + +#~ msgid "You are currently connected to the server" +#~ msgstr "Vous êtes actuellement connecté au serveur" + +#~ msgid "To disable the account, you must be disconnected." +#~ msgstr "Afin de désactiver un compte vous devez être déconnecté." + +#~ msgid "Do you wish to delete all correspondence with %(jid)s?" +#~ msgstr "Voulez-vous vraiment supprimer les logs de %(jid)s ?" + +#~ msgid "Do you wish to delete all correspondence with the selected contacts?" +#~ msgstr "Voulez vous réellement supprimer l'historique de ces contacts ?" + +#~ msgid "What do you want to do?" +#~ msgstr "Que voulez vous faire ?" + +#~ msgid "" +#~ "List of colors, separated by \":\", that will be used to color nicknames " +#~ "in group chats." +#~ msgstr "" +#~ "Liste des couleurs, séparées par « : », qui seront utilisées pour " +#~ "colorier les surnoms dans les salons de discussion." + +#~ msgid "You have received new entries (and %d not displayed):" +#~ msgid_plural "You have received new entries (and %d not displayed):" +#~ msgstr[0] "Vous avez reçu de nouvelles entrées (et %d non-affichées) :" +#~ msgstr[1] "Vous avez reçu de nouvelles entrées (et %d non-affichées) :" + +#~ msgid "Stopped" +#~ msgstr "Arrêté" + +#~ msgid "" +#~ "You are about to send your password on an insecure connection. You should " +#~ "install PyOpenSSL to prevent that. Are you sure you want to do that?" +#~ msgstr "" +#~ "Vous êtes sur le point d'envoyer votre mot de passe sur une connexion non-" +#~ "sécurisée. Vous devriez installer PyOpenSSL pour empêcher cela. Êtes-vous " +#~ "sûr de vouloir le faire ?" + +#~ msgid "Status messages displayed in chat window" +#~ msgstr "Messages d'état affichés dans la fenêtre de discussion" + +#~ msgid "?print_status:All" +#~ msgstr "?print_status:Tout" + +#~ msgid "Enter and leave only" +#~ msgstr "Entrées et sorties seulement" + +#~ msgid "?print_status:None" +#~ msgstr "Aucun" + +#~ msgid "Untrusted OpenPGP key" +#~ msgstr "clé OpenPGP non approuvé" + +#~ msgid "" +#~ "The OpenPGP key used to encrypt this chat is not trusted. Do you really " +#~ "want to encrypt this message?" +#~ msgstr "" +#~ "La clef OpenPGP utilisé pour chiffrer cette conversation n'est pas " +#~ "approuvé. Voulez-vous vraiment chiffrer ce message ?" + +# Traduction moins mauvaise mais pas terrible: binding=lier, attacher +#~ msgid "D-Bus python bindings are missing in this computer" +#~ msgstr "La passerelle python - D-Bus n'est pas installée sur cet ordinateur" + +#~ msgid "D-Bus capabilities of Gajim cannot be used" +#~ msgstr "Les possibilités D-Bus de Gajim ne peuvent pas être utilisées" + +#~ msgid "D-Bus does not run correctly on this machine" +#~ msgstr "D-Bus n'est pas correctement lancé sur cette machine" + +#~ msgid "D-Bus does not run correctly on this machine: system bus not present" +#~ msgstr "" +#~ "D-Bus n'est pas correctement lancé sur cette machine : le bus de session " +#~ "n'est pas disponible" + +#~ msgid "" +#~ "D-Bus does not run correctly on this machine: session bus not present" +#~ msgstr "" +#~ "D-Bus n'est pas correctement lancé sur cette machine : le bus de session " +#~ "n'est pas disponible" + +#, fuzzy +#~ msgid "Command line Control" +#~ msgstr "Ligne de commandes" + +#, fuzzy +#~ msgid "Enables you to control Gajim with via commandline" +#~ msgstr "" +#~ "Un script permettant de contrôler Gajim avec des lignes de commande." + +#~ msgid "Non Anonymous Server" +#~ msgstr "Serveur non anonyme" + +#~ msgid "" +#~ "When is self contact row displayed. Can be \"always\", " +#~ "\"when_other_resource\" or \"never\"" +#~ msgstr "" +#~ "Quand doit-on s'afficher dans notre propre roster ? Peut être « always " +#~ "» (toujours), « when_other_resource » (quand d'autres ressources sont " +#~ "connectées) ou « never » (jamais)" + +#~ msgid "%s kicked us due to an error" +#~ msgstr "%s nous a éjecté à cause d'une erreur" + +#~ msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +#~ msgstr "%(nick)s a été éjecté par %(who)s : %(reason)s" + +#~ msgid "%(nick)s has been banned by %(who)s: %(reason)s" +#~ msgstr "%(nick)s a été banni par %(who)s : %(reason)s" + +#~ msgid "system shutdown" +#~ msgstr "Extinction du système" + +#~ msgid "** Role of %(nick)s has been set to %(role)s" +#~ msgstr "** Le rôle de %(nick)s a été défini à %(role)s" + +#~ msgid "%s has left" +#~ msgstr "%s est parti" + +#~ msgid "%s is full" +#~ msgstr "%s est rempli" + +#~ msgid "" +#~ "Can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no " +#~ "longer print status line in groupchats when a member changes their status " +#~ "and/or their status message. If \"all\" Gajim will print all status " +#~ "messages. If \"in_and_out\", Gajim will only print FOO enters/leaves " +#~ "group chat." +#~ msgstr "" +#~ "peut être \"none\", \"all\" ou \"in_and_out\". Si c'est \"none\", Gajim " +#~ "n'affichera plus les lignes d'état dans les salons de discussion " +#~ "lorsqu'un participant change son état et/ou son message d'état. Si c'est " +#~ "\"all\", Gajim affichera tous les messages d'état. Si c'est \"in_and_out" +#~ "\", Gajim affichera seulement « TRUC vient de rejoindre/quitter le groupe " +#~ "de discussion »." + +#, fuzzy +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "" +#~ "Afficher les _messages d'état des contacts dans la liste des contacts" + +#~ msgid "" +#~ "Please copy / paste the refresh token from the website that has just been " +#~ "opened." +#~ msgstr "" +#~ "Copiez / Collez le jeton de rafraichissement du site web qui vient d'être " +#~ "ouvert." + +#~ msgid "Oauth2 Credentials" +#~ msgstr "Certificat Oauth2" + +#~ msgid "" +#~ "You are about to send your password unencrypted on an insecure " +#~ "connection. Are you sure you want to do that?" +#~ msgstr "" +#~ "Vous êtes sur le point d'envoyer votre mot de passe sur une connexion non-" +#~ "chiffrée. Êtes vous sûr de vouloir le faire ?" + +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "Dernier jeton pour l'authentification OAuth 2.0." + +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "client_id pour l'authentification OAuth 2.0." + +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "redirect_url pour l'authentification OAuth 2.0." + +#~ msgid "" +#~ "Displayed chat state notifications in chat windows. Can be one of all, " +#~ "composing_only, disabled." +#~ msgstr "" +#~ "Notifications d'états affichées dans les fenêtres de conversations. Peut " +#~ "être all, composing_only ou disabled." + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." +#~ msgstr "" +#~ "Gajim peut envoyer et recevoir des méta-informations durant les " +#~ "conversations que vous pouvez avoir avec un contact. Vous pouvez ici " +#~ "spécifier quels états de conversation vous voulez envoyer à vos contacts." + +#~ msgid "This is an irreversible operation." +#~ msgstr "Ceci est une opération irréversible." + +#~ msgid "Settings" +#~ msgstr "Paramètres" + +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "Bienvenue dans le Gestionnaire d'Archives Gajim" + +#~ msgid "Toggle full / compact view" +#~ msgstr "Bascule entre vue complète / compacte" + +#~ msgid "Member List" +#~ msgstr "Liste des membres" + +#~ msgid "Owner List" +#~ msgstr "Liste des propriétaires" + +#~ msgid "Administrator List" +#~ msgstr "Liste des administrateurs" + +#~ msgid "Nick" +#~ msgstr "Pseudonyme" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "Qui voulez-vous bannir ?\n" +#~ "\n" + +#~ msgid "Adding Member…" +#~ msgstr "Ajout d'un Membre …" + +#~ msgid "" +#~ "Whom do you want to make a member?\n" +#~ "\n" +#~ msgstr "" +#~ "De qui voulez-vous faire un membre ?\n" +#~ "\n" + +#~ msgid "Adding Owner…" +#~ msgstr "Ajout d'un Propriétaire …" + +#~ msgid "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" +#~ msgstr "" +#~ "De qui voulez-vous faire un possesseur ?\n" +#~ "\n" + +#~ msgid "Adding Administrator…" +#~ msgstr "Ajout d'un Administrateur …" + +#~ msgid "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" +#~ msgstr "" +#~ "De qui voulez-vous faire un administrateur ?\n" +#~ "\n" + +#~ msgid "Error reading file:" +#~ msgstr "Erreur de lecture du fichier :" + +#~ msgid "Error parsing file:" +#~ msgstr "Erreur lors de l'analyse du fichier :" + +#~ msgid "List of possible features in Gajim:" +#~ msgstr "Liste des fonctionnalités disponibles dans Gajim :" + +#~ msgid "Description" +#~ msgstr "Description" + +#~ msgid "Password encryption" +#~ msgstr "Chiffrement du mot de passe" + +#~ msgid "On Windows the Windows Credential Vault is used." +#~ msgstr "Sous Windows, le coffre fort de Windows est utilisé." + +#~ msgid "Spellchecking of composed messages." +#~ msgstr "Vérification ortohgraphique des messages composés." + +#~ msgid "Automatic status" +#~ msgstr "Statut automatique" + +#~ msgid "Requires python2.5." +#~ msgstr "Nécessite python2.5" + +#~ msgid "" +#~ "Generate XHTML output from RST code (see http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Génère une sortie XHTML à partir d'un code RST (voir http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)." + +#~ msgid "UPnP-IGD" +#~ msgstr "UPnP-IGD" + +#~ msgid "?features:Available" +#~ msgstr "?features:Disponible" + +#~ msgid "Feature" +#~ msgstr "Fonctionnalité" + +#~ msgid "Filter:" +#~ msgstr "Filtre :" + +#~ msgid "Spell _checker" +#~ msgstr "Vérificateur d'orthographe" + +#~ msgid "Chat Appearance" +#~ msgstr "Apparence des conversations" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed out" +#~ msgstr "" +#~ "Gajim vous signalera par une fenêtre de notification en bas à droite de " +#~ "l'écran qu'un contact s'est déconnecté" + +#~ msgid "Sounds" +#~ msgstr "Sons" + +#~ msgid "Chat state notifications" +#~ msgstr "Notifications visuelles" + +#~ msgid "_Away after" +#~ msgstr "Passer _Absent⋅e après" + +#~ msgid "" +#~ "If checked, Gajim will change status to Away when the computer is unused." +#~ msgstr "" +#~ "Si cette case est cochée, Gajim changera votre statut en Absent⋅e quand " +#~ "l'ordinateur est inutilisé." + +#~ msgid "_Not available after" +#~ msgstr "Passer _indisponible après" + +#~ msgid "Auto Status" +#~ msgstr "Statut Automatique" + +#~ msgid "Status Messages" +#~ msgstr "Messages d'état prédéfinis" + +#~ msgid "Audio" +#~ msgstr "Audio" + +#~ msgid "Video" +#~ msgstr "Vidéo" + +#~ msgid "(example: stun.iptel.org)" +#~ msgstr "(exemple: stun.iptel.org)" + +#~ msgid "Connection" +#~ msgstr "Connexions" + +#~ msgid "Custom" +#~ msgstr "Paramètres personnalisés" + +#~ msgid "Privacy" +#~ msgstr "Vie privée" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "Éditeur de configuration avancée" + +#~ msgid "" +#~ "Gajim is a chat client to be used with Jabber.org, Live Journal Talk, " +#~ "Nimbuzz, Ovi, Talkonaut, and thousands of other services run by companies " +#~ "and ISPs, and volunteers around the world." +#~ msgstr "" +#~ "Gajim est un client de messagerie à utiliser avec jabber.org, Live " +#~ "Journal Talk, Nimbuzz, Ovi, Talkonaut et des milliers d'autres services " +#~ "utilisés par des entreprises, des fournisseur d'accès, et des bénévoles " +#~ "tout autour du globe." + +#~ msgid "" +#~ "If you have a few accounts on different servers, if you want to be in " +#~ "contact with your friends and family all the time, then Gajim is for you." +#~ msgstr "" +#~ "Si vous avez des comptes sur différents serveurs, si vous voulez être en " +#~ "contact avec vos amis et votre famille tout le temps, alors Gajim est " +#~ "fait pour vous." + +#~ msgid "Tabbed chat window and single window modes" +#~ msgstr "Fenêtre de discussion par onglets et mode fenêtre unique" + +#~ msgid "" +#~ "Group chat support (with Multi-User Chat protocol), invitation, chat to " +#~ "group chat transformation" +#~ msgstr "" +#~ "Support des salons de discussion (avec le protocole MUC), invitation, " +#~ "transformation d'une conversation en un salon" + +#~ msgid "Emojis, avatars, PEP (user activity, mood and tune)" +#~ msgstr "" +#~ "Émojis, avatars, PEP (activité, humeur, musique écoutée par l'utilisateur)" + +#~ msgid "Audio / video conferences" +#~ msgstr "conférences audio / vidéo" + +#~ msgid "File transfer, room bookmarks" +#~ msgstr "Transfert de fichier, marques-pages des salons" + +#~ msgid "Metacontacts support" +#~ msgstr "Support des méta-contacts" + +#~ msgid "Trayicon, speller, extended chat history functionalities" +#~ msgstr "" +#~ "Zone de notification, correction orthographique, fonctionnalités sur " +#~ "l'historique" + +#~ msgid "TLS, GPG and End-To-End encryption support" +#~ msgstr "TLS, OpenPGP, chiffrement de bout en bout" + +#~ msgid "Transport registration support" +#~ msgstr "Support de l'enregistrement avec des transports" + +#~ msgid "Wikipedia, dictionary and search engine lookup" +#~ msgstr "Recherche dans Wikipedia, dictionnaire et moteur de recherche" + +#~ msgid "Multiple accounts support" +#~ msgstr "Support de comptes multiples" + +#~ msgid "XML console interface" +#~ msgstr "Console XML" + +#~ msgid "" +#~ "A programming error has been detected. It probably is not fatal, but " +#~ "should be reported to the developers nonetheless." +#~ msgstr "" +#~ "Une erreur de programmation a été détectée. Ce n'est probablement pas " +#~ "fatal, mais devrait tout de même être reporté aux développeurs." + +#~ msgid "" +#~ "A list of modp groups to use in a Diffie-Hellman, highest preference " +#~ "first, separated by commas. Valid groups are 1, 2, 5, 14, 15, 16, 17 and " +#~ "18. Higher numbers are more secure, but take longer to calculate when you " +#~ "start a session." +#~ msgstr "" +#~ "Une list de groupe de modp à utiliser dans un Diffie-Hellman, préférence " +#~ "la plus haute en premier, séparée par des virgules. Les groupes valides " +#~ "sont 1, 2, 5, 14, 15, 16, 17 et 18. Les chiffres les plus grands sont " +#~ "plus sécurisés, mais prennent plus de temps pour le calcul quand vous " +#~ "commencez une session." + +#~ msgid "(ESession info)" +#~ msgstr "(Information sur l'ESession)" + +#~ msgid "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" +#~ msgstr "" +#~ "Si cette case n'est pas décochée, Gajim va remplacer les émoticônes ASCII " +#~ "comme « :) » par un équivalent graphique statique ou dynamique" + +#~ msgid "_Emoticons" +#~ msgstr "É_moticônes" + +#~ msgid "_Highlight misspelled words" +#~ msgstr "_Souligner les fautes d'orthographe" + +#~ msgid "Notify by icon when your messages are received" +#~ msgstr "Notifier par un icône lorsque vos messages sont reçus" + +#~ msgid "T_heme" +#~ msgstr "T_hème" + +#~ msgid "Themes" +#~ msgstr "Thèmes" + +#~ msgid "Always use this nickname when there is a conflict" +#~ msgstr "Toujours utiliser ce pseudo en cas de conflit" + +#~ msgid "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." +#~ msgstr "" +#~ "Jabberd1.4 n'aime pas l'information sha quand on rejoint un salon protégé " +#~ "par un mot de passe. Passez cette option à Faux pour ne plus envoyer " +#~ "l'information sha dans les salons." + +#~ msgid "Hello" +#~ msgstr "Bonjour" + +#~ msgid "Presence" +#~ msgstr "Présence" + +#~ msgid "Iq" +#~ msgstr "iq" + +#~ msgid "Emoticons disabled" +#~ msgstr "Émoticônes désactivées" + +#~ msgid "" +#~ "Your configured emoticons theme could not be loaded. See the log for more " +#~ "details." +#~ msgstr "" +#~ "Votre thème d'émoticônes n'a pu être chargé. Voir les logs pour plus " +#~ "d'informations." + +#~ msgid "You cannot make changes to the default theme" +#~ msgstr "Vous ne pouvez pas modifier le thème par défaut" + +#~ msgid "theme name" +#~ msgstr "nom du thème" + +#~ msgid "You cannot delete your current theme" +#~ msgstr "Vous ne pouvez pas supprimer le thème actuellement utilisé" + +#~ msgid "Pick another theme to use first." +#~ msgstr "Choisissez d'abord un autre thème à utiliser." + +#~ msgid "New Single Message from %(nickname)s" +#~ msgstr "Nouveau message simple de %(nickname)s" + +#~ msgid "New Private Message from group chat %s" +#~ msgstr "Nouveau message privé dans le salon %s" + +#~ msgid "%(nickname)s: %(message)s" +#~ msgstr "%(nickname)s : %(message)s" + +#~ msgid "Messaged by %(nickname)s" +#~ msgstr "Message de %(nickname)s" + +#~ msgid "Status message text color." +#~ msgstr "Colour des messages de statut" + +#~ msgid "Incoming nickname font." +#~ msgstr "Police des pseudos entrants." + +#~ msgid "Outgoing nickname font." +#~ msgstr "Police des pseudos sortants." + +#~ msgid "Status message text font." +#~ msgstr "Police du message de statut" + +#~ msgid "Background color of contacts when they just signed in." +#~ msgstr "" +#~ "Couleur d'arrière-plan des contacts lorsqu'ils viennent de se connecter." + +#~ msgid "Background color of contacts when they just signed out." +#~ msgstr "" +#~ "Couleur d'arrière-plan des contacts lorsqu'ils viennent de se déconnecter." + +#~ msgid "green" +#~ msgstr "vert" + +#~ msgid "grocery" +#~ msgstr "épicerie" + +#~ msgid "human" +#~ msgstr "Humain" + +#~ msgid "marine" +#~ msgstr "Marine" + +#~ msgid "Group row" +#~ msgstr "Ligne de groupe" + +#~ msgid "Contact row" +#~ msgstr "Ligne de contact" + +#~ msgid "Chat Banner" +#~ msgstr "Bannière" + +#~ msgid "Gajim Themes Customization" +#~ msgstr "Personnalisation des thèmes de Gajim" + +#~ msgid "Text _color:" +#~ msgstr "_Couleur du texte :" + +#~ msgid "_Background:" +#~ msgstr "_Arrière-plan :" + +#~ msgid "Text _font:" +#~ msgstr "_Police du texte :" + +#~ msgid "Font style:" +#~ msgstr "Style de la police :" + +#~ msgid "Paused" +#~ msgstr "Pause" + +#~ msgid "Gone" +#~ msgstr "Parti" + +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "" +#~ "Messages\n" +#~ "de salon" + +#~ msgid "Chatstate Tab Colors" +#~ msgstr "Couleurs des Onglets" + +#, fuzzy +#~ msgid "Chat message" +#~ msgstr "Message de conversation :" + +#~ msgid "Use system _default" +#~ msgstr "Utiliser la valeur par _défaut" + +#~ msgid "Font" +#~ msgstr "Police d'écriture" + +#, fuzzy +#~ msgid "Contact's nickname" +#~ msgstr "Le pseudo du contact :" + +#, fuzzy +#~ msgid "_Status message" +#~ msgstr "Message d'état :" + +#, fuzzy +#~ msgid "Your message" +#~ msgstr "Votre message :" + +#, fuzzy +#~ msgid "_URL highlight" +#~ msgstr "Mise à valeur des _URL :" + +#~ msgid "Chat Line Colors" +#~ msgstr "Couleurs des messages" + +#~ msgid "Jabber ID:" +#~ msgstr "Identifiant Jabber :" + +#~ msgid "Resource:" +#~ msgstr "Ressource :" + +#~ msgid "Status:" +#~ msgstr "Statut :" + +#~ msgid "Contact time:" +#~ msgstr "Heure du contact :" + +#~ msgid "Ask:" +#~ msgstr "Requête :" + +#~ msgid "Subscription:" +#~ msgstr "Abonnement :" + +#~ msgid "Name:" +#~ msgstr "Nom :" + +#~ msgid "Nickname:" +#~ msgstr "Surnom :" + +#~ msgid "Street:" +#~ msgstr "Rue :" + +#~ msgid "City:" +#~ msgstr "Ville :" + +#~ msgid "State:" +#~ msgstr "Région :" + +#~ msgid "Extra Address:" +#~ msgstr "Adresse 2 :" + +#~ msgid "Postal Code:" +#~ msgstr "Code postal :" + +#~ msgid "Country:" +#~ msgstr "Pays :" + +#~ msgid "Homepage:" +#~ msgstr "Site perso :" + +#~ msgid "E-Mail:" +#~ msgstr "Courriel :" + +#~ msgid "Phone No.:" +#~ msgstr "Téléphone :" + +#~ msgid "Birthday:" +#~ msgstr "Date de Naissance :" + +#~ msgid "Family:" +#~ msgstr "Nom de Famille :" + +#~ msgid "Middle:" +#~ msgstr "Deuxième :" + +#~ msgid "Prefix:" +#~ msgstr "Préfixe :" + +#~ msgid "Given:" +#~ msgstr "Prénom :" + +#~ msgid "Suffix:" +#~ msgstr "Suffixe :" + +#~ msgid "Full Name" +#~ msgstr "Nom complet" + +#~ msgid "Company:" +#~ msgstr "Entreprise :" + +#~ msgid "Department:" +#~ msgstr "Département :" + +#~ msgid "Position:" +#~ msgstr "Poste :" + +#~ msgid "Role:" +#~ msgstr "Rôle :" + +#~ msgid "- messages will be logged" +#~ msgstr "- les messages seront archivés" + +#~ msgid "- messages will not be logged" +#~ msgstr "- les messages ne seront pas archivés" + +#~ msgid "Edit %s" +#~ msgstr "_Éditer %s" + +#~ msgid "Conversation History with %s" +#~ msgstr "Historique de conversation avec %s" + +#~ msgid "Contact with \"%s\" cannot be established" +#~ msgstr "Le contact avec \"%s\" ne peut être établi" + +#~ msgid "Registration information for transport %s has not arrived in time" +#~ msgstr "" +#~ "L'information d'enregistrement pour la passerelle %s n'est pas arrivée à " +#~ "temps" + +#~ msgid "Register to" +#~ msgstr "S'enregistrer à" + +#~ msgid "Enter name / JID of contact or groupchat" +#~ msgstr "Entrer le nom / JID du contact ou du salon" + +#~ msgid "Search:" +#~ msgstr "Chercher :" + +#~ msgid "_In date search" +#~ msgstr "Chercher à cette date" + +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "Vous devez être connecté pour changer votre mot de passe." + +#~ msgid "Invalid password" +#~ msgstr "Mot de passe invalide" + +#~ msgid "The passwords typed in both fields must be identical." +#~ msgstr "Les mots de passe tapés dans chaque champs doivent être identiques." + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "Entrez le à nouveau pour confirmer :" + +#~ msgid "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" +#~ msgstr "" +#~ "L'identifiant Jabber %s ne respecte pas la norme RFC. Il ne sera pas " +#~ "ajouté à votre liste de contacts. Utilisez un outil de gestion de liste " +#~ "de contact tel que http://jru.jabberstudio.org/ pour le supprimer" + +#~ msgid "unsubscribe request from %s" +#~ msgstr "Requête de désinscription de la part de %s" + +#~ msgid "<empty>" +#~ msgstr "<vide>" + +#~ msgid "Homepage:" +#~ msgstr "Site perso :" + +#~ msgid "Manage Bookmarks" +#~ msgstr "Gérer les marque-pages" + +#~ msgid "_Nickname:" +#~ msgstr "_Surnom :" + +#~ msgid "Pr_int status:" +#~ msgstr "_Afficher l'état :" + +#~ msgid "Add JID" +#~ msgstr "Ajouter un JID" + +#~ msgid "All non-compliant MAM Groupchats" +#~ msgstr "Tous les salons de discussions ne respectant pas MAM" + +#~ msgid "Preference:" +#~ msgstr "Préférence :" + +#~ msgid "Preference" +#~ msgstr "Préférence" + +#~ msgid "JID:" +#~ msgstr "JID :" + +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "" +#~ "Remplissez les informations sur le contact à ajouter au compte %s" + +#~ msgid "Please fill in the data of the contact you want to add" +#~ msgstr "Remplissez les informations sur le contact à ajouter" + +#~ msgid "Recently" +#~ msgstr "Récemment" + +#~ msgid "Add New Contact" +#~ msgstr "Ajouter un nouveau contact" + +#~ msgid "_User ID:" +#~ msgstr "_Identifiant :" + +#~ msgid "Type User ID" +#~ msgstr "Taper l'identifiant" + +#~ msgid "Type Nickname" +#~ msgstr "Taper le pseudonyme" + +#~ msgid "Personal Information" +#~ msgstr "Informations personnelles" + +#~ msgid "Avatar:" +#~ msgstr "Avatar :" + +#~ msgid "Click to set your avatar" +#~ msgstr "Cliquez pour choisir votre avatar" + +#~ msgid "Remove Avatar" +#~ msgstr "Supprimer l'avatar" + +#~ msgid "Not fetched because of invisible status" +#~ msgstr "Non récupéré à cause du statut invisible" + +#~ msgid "Please wait..." +#~ msgstr "Veuillez patienter..." + +#~ msgid "" +#~ "When negotiating an encrypted session, should Gajim assume you want your " +#~ "messages to be logged?" +#~ msgstr "" +#~ "Durant la négociation d'une session chiffrée, Gajim doit-il partir du " +#~ "principe que vous voulez archiver vos conversations ?" + +#~ msgid "Log _encrypted chat session" +#~ msgstr "Archiver les conversations _chiffrées" + +#~ msgid "" +#~ "If checked, Gajim will keep logs for encrypted messages. Please note that " +#~ "when using end-to-end encryption the remote party has to agree on " +#~ "logging, else the messages will not be logged." +#~ msgstr "" +#~ "Si cette case est cochée, Gajim archivera les conversations chiffrées. " +#~ "Veuillez noter qu'en utilisant le chiffrement point à point, " +#~ "l'utilisateur distant doit l'accepter, sinon les messages ne seront pas " +#~ "archivés." + +#~ msgid "Yahoo! Address:" +#~ msgstr "Adresse Yahoo! :" + +#~ msgid "Forward unread messages" +#~ msgstr "Transférer les messages non-lus" + +#~ msgid "All unread messages have been forwarded." +#~ msgstr "Tous les messages non-lus ont été transmis." + +#~ msgid "Forward unread message then disconnect" +#~ msgstr "Transférer les messages non-lus et se déconnecter" + +#~ msgid "MSN Address:" +#~ msgstr "Adresse MSN :" + +#~ msgid "Confirm these session options" +#~ msgstr "Confirmer ces options de session" + +#~ msgid "" +#~ "The remote client wants to negotiate a session with these features:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Are these options acceptable?" +#~ msgstr "" +#~ "Le client distant veut négocier une session avec ces fonctionnalités :\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Ces options sont-elles acceptables ?" + +#~ msgid "" +#~ "The remote client selected these options:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Continue with the session?" +#~ msgstr "" +#~ "Le client distant a choisi ces options :\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Continuer la session ?" + +#~ msgid "Always accept for this contact" +#~ msgstr "Toujours accepter pour ce contact" + +#~ msgid "End to End message encryption" +#~ msgstr "Chiffrement des messages de bout en bout" + +#~ msgid "Encrypting chat messages." +#~ msgstr "Chiffrement des messages de la conversation." + +#~ msgid "Requires python-crypto." +#~ msgstr "Nécessite python-crypto." + +#~ msgid "Session negotiation cancelled" +#~ msgstr "Négociation annulée" + +#~ msgid "This session WILL NOT be archived on server" +#~ msgstr "La session ne sera PAS archivée sur le serveur" + +#~ msgid "This session is encrypted" +#~ msgstr "Cette session est chiffrée" + +#~ msgid " and WILL be logged" +#~ msgstr " et SERA archivée" + +#~ msgid " and WILL NOT be logged" +#~ msgstr " et NE SERA PAS archivée" + +#~ msgid "" +#~ "Remote contact's identity not verified. Click the shield button for more " +#~ "details." +#~ msgstr "" +#~ "Identité du contact non vérifiée. Cliquez sur le bouton bouclier pour " +#~ "plus de détails." + +#~ msgid "end-to-end encryption disabled" +#~ msgstr "Chiffrement point à point désactivé" + +#~ msgid "" +#~ "Unable to decrypt message from %s\n" +#~ "It may have been tampered with." +#~ msgstr "" +#~ "Impossible de déchiffrer le message de %s\n" +#~ "Il a peut-être été manipulé." + +#~ msgid "Unable to decrypt message" +#~ msgstr "Impossible de déchiffrer le message" + +#~ msgid "Enable ESessions encryption for this account." +#~ msgstr "Activer le chiffrage ESessions pour ce compte." + +#~ msgid "Should Gajim automatically start an encrypted session when possible?" +#~ msgstr "" +#~ "Gajim doit-il commencer automatiquement une discussion chiffrée quand " +#~ "cela est possible ?" + +#~ msgid "" +#~ "[This is part of an encrypted session. If you see this message, something " +#~ "went wrong.]" +#~ msgstr "" +#~ "[Ceci fait partie d'une session chiffrée. Si vous voyez ce message, un " +#~ "problème a eu lieu.]" + +#~ msgid "Requires python-avahi." +#~ msgstr "Nécessite python-avahi" + +#~ msgid "Save Image as…" +#~ msgstr "Enregistrer l'image sous…" + +#~ msgid "Exporting History Logs…" +#~ msgstr "Exportation de l'historique…" + +#~ msgid "Choose Client Cert #PCKS12" +#~ msgstr "Choisissez le certificat client #PCKS12" + +#~ msgid "When %s becomes:" +#~ msgstr "Quand %s devient :" + +#~ msgid "Adding Special Notification for %s" +#~ msgstr "Ajout de notifications spéciales pour %s" + +#~ msgid "" +#~ "It seems the SSL certificate of account %(account)s has changed and is " +#~ "not valid or your connection is being compromised.\n" +#~ "\n" +#~ "Old SHA-1 fingerprint: %(old_sha1)s\n" +#~ "Old SHA-256 fingerprint: %(old_sha256)s\n" +#~ "\n" +#~ "New SHA-1 fingerprint: %(new_sha1)s\n" +#~ "New SHA-256 fingerprint: %(new_sha256)s\n" +#~ "\n" +#~ "Do you still want to connect and update the fingerprint of the " +#~ "certificate?" +#~ msgstr "" +#~ "Le certificat SSL du compte %(account)s semble avoir changé et n'est pas " +#~ "valide, ou votre connexion est en train d'être compromise.\n" +#~ "\n" +#~ "Ancienne empreinte digitale SHA-1 : %(old_sha1)s\n" +#~ "Ancienne empreinte digitale SHA-256 : %(old_sha256)s\n" +#~ "\n" +#~ "Nouvelle empreinte digitale SHA-1 : %(new_sha1)s\n" +#~ "Nouvelle empreinte digitale SHA-256 : %(new_sha256)s\n" +#~ "\n" +#~ "Voulez vous toujours vous connecter et mettre à jour l'empreinte digitale " +#~ "du certificat ?" + +#~ msgid "" +#~ "The authenticity of the %s certificate could be invalid.\n" +#~ "The certificate does not cover this domain." +#~ msgstr "" +#~ "L'authentification du certificat %s peut être invalide.\n" +#~ "Le certificat ne couvre pas ce domaine." + +#~ msgid "Unable to load idle module" +#~ msgstr "Impossible de charger le module d'inactivité" + +#, fuzzy +#~ msgid "%s or %s is a directory but should be a file" +#~ msgstr "%s est un répertoire mais devrait être un fichier" + +#~ msgid "creating logs database" +#~ msgstr "création de la base de donnée de l'historique" + +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "Déplacement de %(src)s vers %(dst)s" + +#~ msgid "Rename account label" +#~ msgstr "Renommer le label du compte" + +#~ msgid "" +#~ "Requires gpg and python-gnupg (http://code.google.com/p/python-gnupg/)." +#~ msgstr "" +#~ "Nécessite gpg et python-gnupg (http://code.google.com/p/python-gnupg/)." + +#~ msgid "Send Single Message..." +#~ msgstr "Envoyer un message simple..." + +#~ msgid "We received an error: {}" +#~ msgstr "Nous avons reçu une erreur : {}" + +#~ msgid "E2E encryption disabled" +#~ msgstr "Chiffrement E2E désactivé" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Ajouter de certificat à la liste des certificat de confiance.\n" +#~ "Empreinte digitale SHA-1 du certificat :\n" +#~ "%(sha1)s\n" +#~ "Empreinte digitale SHA-256 du certificat :\n" +#~ "%(sha256)s" + +#~ msgid "uri" +#~ msgstr "URI" + +#~ msgid "Check update after start" +#~ msgstr "Vérifier les mises à jour après le démarrage" + +#~ msgid "" +#~ "Install /\n" +#~ "Upgrade" +#~ msgstr "" +#~ "Installer /\n" +#~ "Mettre à jour" + +#~ msgid "Install/Upgrade" +#~ msgstr "Installer/Mettre à jour" + +#~ msgid "Install and Upgrade Plugins" +#~ msgstr "Installer et mettre à jour les plugins" + +#~ msgid "Plugins updates" +#~ msgstr "Mises à jour des plugins" + +#~ msgid "" +#~ "Some updates are available for your installer plugins. Do you want to " +#~ "update those plugins:\n" +#~ "%s" +#~ msgstr "" +#~ "Des mises à jour sont disponibles pour vos plugins. Voulez-vous mettre à " +#~ "jour ces plugins :\n" +#~ "%s" + +#~ msgid "Security error during download" +#~ msgstr "Erreur de sécurité lors du téléchargement" + +#~ msgid "" +#~ "A security error occurred when downloading. The certificate of the plugin " +#~ "archive could not be verified. this might be a security attack. \n" +#~ "\n" +#~ "You can continue at your risk. Do you want to do so? (not recommended)" +#~ msgstr "" +#~ "Une erreur de sécurité est apparue lors du téléchargement. Le certificat " +#~ "de l'archive des plugins n'a pas pu être vérifié. Cela peut être une " +#~ "attaque de sécurité.\n" +#~ "\n" +#~ "Vous pouvez continuer à vos risques. Voulez-vous continuer ? (non " +#~ "recommandé)" + +#~ msgid "Error in download" +#~ msgstr "Erreur durant le téléchargement" + +#~ msgid "" +#~ "An error occurred when downloading\n" +#~ "\n" +#~ "[%s]" +#~ msgstr "" +#~ "Une erreur esr survenue lors du téléchargement\n" +#~ "\n" +#~ "[%s]" + +#~ msgid "All selected plugins downloaded" +#~ msgstr "Tous les plugins sélectionnés ont été téléchargés" + +#~ msgid "cyan" +#~ msgstr "cyan" + +#~ msgid "migrating logs database to indices" +#~ msgstr "migration de la base de données de l'historique vers des index" + +#~ msgid "Send File..." +#~ msgstr "Envoyer un fichier..." + +#~ msgid "HTTP File Upload" +#~ msgstr "Envoi de fichiers par HTTP" + +#~ msgid "HTTP File Upload not supported by your server" +#~ msgstr "L'envoi de fichiers par HTTP n'est pas supporté par votre serveur" + +#~ msgid "Jingle File Transfer" +#~ msgstr "Transfert de fichiers Jingle" + +#~ msgid "" +#~ "Your configured emoticons theme has not been found, so emoticons have " +#~ "been disabled." +#~ msgstr "" +#~ "Votre thème d'émoticônes n'a pu être trouvé, les émoticônes sont donc " +#~ "désactivées." + +#~ msgid "Shows or hides the roster window" +#~ msgstr "Montre ou cache la fenêtre principale" + +#~ msgid "Shows or hides the ipython window" +#~ msgstr "Montre ou cache la fenêtre ipython" + +#~ msgid "XMPP account %s" +#~ msgstr "Compte XMPP %s" + +# ccount). Description column +#~ msgid "Exception" +#~ msgstr "Exception" + +#, fuzzy +#~ msgid "" +#~ "someone@somewhere.com would like you to add some contacts " +#~ "in your roster." +#~ msgstr "" +#~ "%(jid)s aimerait que vous %(action)s quelques contacts dans " +#~ "votre liste." + +#~ msgid "" +#~ "Ordered list (space separated) of connection type to try. Can contain " +#~ "tls, ssl or plain" +#~ msgstr "" +#~ "Liste ordonnée de types de connexion, séparés par des virgules, à " +#~ "essayer. Peut contenir tls, ssl ou plain." + +#~ msgid "_Actions" +#~ msgstr "Act_ions" + +#~ msgid "Open URI using Gajim" +#~ msgstr "Ouvrir une URI avec Gajim" + +#~ msgid "chat;messaging;im;jabber;xmpp;bonjour;voip;" +#~ msgstr "" +#~ "discussion;messagerie;messagerie instantanée;jabber;xmpp;bonjour;voip;" + +#~ msgid "UPower" +#~ msgstr "UPower" + +#~ msgid "Ability to disconnect properly just before suspending the machine." +#~ msgstr "" +#~ "Possibilité de se déconnecter proprement juste avant de mettre votre " +#~ "machine en veille." + +#~ msgid "You are already in group chat %s" +#~ msgstr "Vous êtes déjà dans le salon %s" + +#~ msgid "Join Group Chat with account %s" +#~ msgstr "Rejoindre un salon de discussion en tant que %s" + +#~ msgid "" +#~ "You have to choose an account from which you want to join the groupchat." +#~ msgstr "" +#~ "Vous devez choisir un compte depuis lequel vous souhaitez rejoindre le " +#~ "salon de discussion." + +#~ msgid "Please enter the group chat JID as room@server." +#~ msgstr "Veuillez entrer le JID du salon comme salon@serveur." + +#~ msgid "The group chat JID contains invalid characters." +#~ msgstr "Le JID du salon de discussion contient des caractères non valides." + +#~ msgid "Start Chat with account %s" +#~ msgstr "Commencer une discussion avec le compte %s" + +#~ msgid "" +#~ "Fill in the nickname or the JID of the contact you would like\n" +#~ "to send a chat message to:" +#~ msgstr "" +#~ "Entrez le surnom ou le JID du contact à qui vous souhaitez\n" +#~ "envoyer un message :" + +#~ msgid "Nickname / JID" +#~ msgstr "Surnom / JID" + +#~ msgid "Unable to parse \"%s\"." +#~ msgstr "Impossible d'interpréter \"%s\"." + +#~ msgid "Shows the chat dialog so that you can send messages to a contact" +#~ msgstr "" +#~ "Montre la fenêtre de discussion pour que vous puissiez envoyer un message " +#~ "à un contact" + +#~ msgid "JID of the contact that you want to chat with" +#~ msgstr "L'identifiant Jabber du contact avec lequel vous voulez discuter" + +#~ msgid "message content. The account must be specified or \"\"" +#~ msgstr "contenu du message. Le compte doit être spécifié ou \"\"" + +#~ msgid "Adds contact to roster" +#~ msgstr "Ajouter le contact à la liste" + +#~ msgid "jid" +#~ msgstr "identifiant Jabber" + +#~ msgid "Adds new contact to this account" +#~ msgstr "Ajoute un nouveau contact à ce compte" + +#~ msgid "Opens 'Start Chat' dialog" +#~ msgstr "Ouvre la fenêtre « Commencer une discussion »" + +#~ msgid "Starts chat, using this account" +#~ msgstr "Commencer une discussion en utilisant ce compte" + +#~ msgid "Handle a xmpp:/ URI" +#~ msgstr "Gère une URI du type xmpp:/" + +#~ msgid "URI to handle" +#~ msgstr "URI à gérer" + +#~ msgid "Account in which you want to handle it" +#~ msgstr "Compte avec lequel vous voulez le gérer" + +#~ msgid "Message content" +#~ msgstr "Contenu du message" + +#~ msgid "Join a MUC room" +#~ msgstr "Joindre un groupe de discussions" + +#~ msgid "Nickname to use" +#~ msgstr "Surnom à utiliser" + +#~ msgid "Password to enter the room" +#~ msgstr "Mot de passe pour entrer dans le salon" + +#~ msgid "Account from which you want to enter the room" +#~ msgstr "Le compte avec lequel vous voulez entrer dans le salon" + +#~ msgid "No URI given" +#~ msgstr "Pas d'URI donnée" + +#~ msgid "Wrong URI" +#~ msgstr "Mauvais URI" + +#~ msgid "Nickname:" +#~ msgstr "Surnom :" + +#~ msgid "Server:" +#~ msgstr "Serveur :" + +#~ msgid "Join this room _automatically when I connect" +#~ msgstr "Joindre ce s_alon de discussion quand je me connecte" + +#~ msgid "Bro_wse Rooms" +#~ msgstr "_Parcourir les salons" + +#~ msgid "Join a group chat given by a jid, optionally using given nickname" +#~ msgstr "" +#~ "Rejoindre un salon de discussion donné par son jid, éventuellement en " +#~ "utilisant le surnom donné" + +#~ msgid "Requires libgtkspell and libenchant." +#~ msgstr "Nécessite libgtkspell et libenchant." + +#~ msgid "Last MAM id we are syncronized with" +#~ msgstr "Dernier identifiant MAM avec lequel Gajim est synchronisé" + +#~ msgid "The earliest date we requested MAM history for" +#~ msgstr "Date la plus ancienne avec laquelle Gajim demande l'historique MAM" + +#~ msgid "Network-Watcher" +#~ msgstr "Surveillance du réseau" + +#~ msgid "Autodetection of network status." +#~ msgstr "Auto-détection du statut de la connexion." + +#~ msgid "Feature not available, see Help->Features" +#~ msgstr "Fonctionnalité indisponible, voir Aide->Fonctionnalités" + +#~ msgid "Feature not supported by remote client" +#~ msgstr "Fonctionnalité non supporté par le client distant" + +#~ msgid "This contact does not support file transfer." +#~ msgstr "Ce contact ne prend pas en charge les transferts de fichier." + +#~ msgid "You need to know the real JID of the contact to send them a file." +#~ msgstr "" +#~ "Vous devez connaître le vrai JID du contact pour lui envoyer un fichier." + +#~ msgid "" +#~ "You have to install %s dictionary to use spellchecking, or choose another " +#~ "language by setting the speller_language option." +#~ msgstr "" +#~ "Vous devez installer le dictionnaire %s pour la vérification " +#~ "orthographique, ou choisir un autre langage en paramétrant l'option " +#~ "speller_language." + +#~ msgid "Hides the buttons in chat windows." +#~ msgstr "Cacher les boutons dans les fenêtres de conversations." + +#~ msgid "Change the room's subject (Alt+T)" +#~ msgstr "Changer le sujet du salon (Alt+T)" + +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "Enregistrer ce salon dans les marque-pages (Ctrl+B)" + +#~ msgid "Browse the chat history (Ctrl+H)" +#~ msgstr "Parcourir l'historique des conversations (Ctrl+H)" + +#~ msgid "Show advanced functions (Alt+D)" +#~ msgstr "Affiche les fonctions avancées (Alt+D)" + +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "Ajouter le contact à la liste de contacts (Ctrl+D)" + +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "Inviter des contacts dans la conversation (Ctrl+G)" + +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Afficher le profil du contact (Ctrl+I)" + +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Afficher le profil du contact (Ctrl+I)" + +#~ msgid "Ma_ke message windows compact" +#~ msgstr "Rendre les fenêtres de conversation _compactes" + +#~ msgid "Hide all buttons in chat windows" +#~ msgstr "Cacher tous les boutons dans les fenêtres de conversations" + +#~ msgid "Hide the chat buttons" +#~ msgstr "Cache les boutons de discussion." + +#~ msgid "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." +#~ msgstr "" +#~ "Si Vrai demandera son avatar à chaque contact qui n'en avait pas la fois " +#~ "précédente ou dont la version en cache a expiré." + +#~ msgid "Disk Write Error" +#~ msgstr "Erreur d'Écriture du disque" + +#~ msgid "Set Custom _Avatar..." +#~ msgstr "Définir un _Avatar personnalisé..." + +#~ msgid "Jingle video conference" +#~ msgstr "Conférence vidéo" + +#~ msgid "SSL certificate validation" +#~ msgstr "Validation de certificat SSL" + +#~ msgid "" +#~ "A library used to validate server certificates to ensure a secure " +#~ "connection." +#~ msgstr "" +#~ "Une librairie utilisée pour valider les certificats des serveurs afin " +#~ "d'assurer une connexion sécurisée." + +#~ msgid "Requires python-pyopenssl > 0.12 and pyasn1." +#~ msgstr "Nécessite python-pyopenssl > 0.12 et pyasn1." + +#, fuzzy +#~ msgid "?CLI:room" +#~ msgstr "groupe de discussion" + +#, fuzzy +#~ msgid "?CLI:nick" +#~ msgstr "pseudonyme" + +#, fuzzy +#~ msgid "?CLI:password" +#~ msgstr "mot de passe" + +#, fuzzy +#~ msgid "Credential Options" +#~ msgstr "Certificat Oauth2" + +#~ msgid "Use D-Bus and Notification-Daemon to show notifications" +#~ msgstr "" +#~ "Utiliser DBus et Notification-Daemon pour afficher les notifications" + +#~ msgid "Notification" +#~ msgstr "Notification" + +#~ msgid "Passive popups notifying for new events." +#~ msgstr "Notification de nouveaux événements via des popups." + +#~ msgid "" +#~ "Requires python-notify or instead python-dbus in conjunction with " +#~ "notification-daemon." +#~ msgstr "" +#~ "Nécessite python-notify ou python-dbus en conjonction avec notification-" +#~ "daemon." + +#~ msgid "Ignore" +#~ msgstr "Ignorer" + +#~ msgid "_Open Gmail Inbox" +#~ msgstr "_Accéder au compte Gmail" + +#~ msgid "Notify on new _GMail email" +#~ msgstr "M'avertir lors de l'arrivée d'un courrier électronique _Gmail" + +#~ msgid "" +#~ "If checked, Gajim will show a notification when a new e-mail is received " +#~ "via GMail" +#~ msgstr "" +#~ "Si cette case est cochée, Gajim affichera une notification quand un " +#~ "nouveau courriel GMail est reçu" + +#~ msgid "Display _extra email details" +#~ msgstr "Afficher des informations détaillées de courriels" + +#~ msgid "" +#~ "If checked, Gajim will also include information about the sender of new " +#~ "emails" +#~ msgstr "" +#~ "Si cette case est cochée, Gajim affichera également des informations à " +#~ "propos de l'expéditeur des nouveaux courriels" + +#~ msgid "GMail Options" +#~ msgstr "Paramètres Gmail" + +#, fuzzy +#~ msgid "12" +#~ msgstr "1" + +#, fuzzy +#~ msgid "20" +#~ msgstr "0" + +#~ msgid "" +#~ "Specify the command to run when new mail arrives, e.g.: /usr/bin/getmail -" +#~ "q" +#~ msgstr "" +#~ "Spécifie la commande a exécuter quand un nouveau courriel arrive, ex : /" +#~ "usr/bin/getmail -q" + +#~ msgid "GMail Email Received" +#~ msgstr "Courriel Gmail reçu" + +#, fuzzy +#~ msgid "New e-mail on %(gmail_mail_address)s" +#~ msgstr "Nouveau courriel sur %(gmail_mail_address)s" + +#, fuzzy +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "Vous avez %d nouveau courrier électronique" +#~ msgstr[1] "Vous avez %d nouveaux courriers électroniques" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "From: %(from_address)s\n" +#~ "Subject: %(subject)s\n" +#~ "%(snippet)s" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "De : %(from_address)s\n" +#~ "Sujet : %(subject)s\n" +#~ "%(snippet)s" + +#~ msgid "Resour_ce:" +#~ msgstr "Ressour_ce :" + +#~ msgid "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" +#~ msgstr "" +#~ "La ressource est envoyée au serveur Jabber pour différencier les clients " +#~ "connectés au même serveur avec le même compte. Vous pouvez donc être " +#~ "connecté avec le même compte avec les ressources « Maison » et « Travail " +#~ "» en même temps. La ressource avec la plus haute priorité recevra les " +#~ "messages (voir plus bas)." + +#~ msgid "Priority will change automatically according to your status." +#~ msgstr "La priorité va changer automatiquement selon votre état." + +#~ msgid "Anonymous authentication" +#~ msgstr "Authentification anonyme" + +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "La priorité est utilisée par Jabber pour déterminer qui reçoit les " +#~ "événements du serveur quand plusieurs clients sont connectés avec le même " +#~ "compte. Le client ayant la plus haute priorité recevra les messages" + +#~ msgid "Synchronize contacts" +#~ msgstr "Synchroniser les contacts" + +#~ msgid "Click to request authorization to all contacts of another account" +#~ msgstr "" +#~ "Cliquez pour demander l'autorisation à tous les contacts d'un autre compte" + +#~ msgid "Chan_ge Password" +#~ msgstr "Chan_ger le mot de passe" + +#~ msgid "Administration operations" +#~ msgstr "Opérations d'administration" + +#~ msgid "_Client Cert File:" +#~ msgstr "Fichier du _certificat client :" + +#~ msgid "Browse..." +#~ msgstr "_Parcourir..." + +#~ msgid "Certificate is e_ncrypted" +#~ msgstr "Le certificat est chiffré" + +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "" +#~ "Si cette case est cochée, au démarrage, Gajim se connectera " +#~ "automatiquement à jabber en utilisant ce compte" + +#, fuzzy +#~ msgid "Synchronize logs with server" +#~ msgstr "Synchroniser les contacts" + +#~ msgid "Synch_ronize account status with global status" +#~ msgstr "S_ynchroniser l'état du compte avec l'état global" + +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "Si cette case est cochée, toute modification de l'état global (accessible " +#~ "à l'aide du bouton en bas de la fenêtre principale) sera répercutée sur " +#~ "l'état de ce compte" + +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "Si cette case est cochée, Gajim va diffuser des adresses IP en plus de la " +#~ "vôtre, les transferts de fichiers ont ainsi plus de chance de fonctionner." + +#~ msgid "Proxy" +#~ msgstr "Proxy" + +#~ msgid "" +#~ "Check this so Gajim will ask you before sending your password over an " +#~ "insecure connection." +#~ msgstr "" +#~ "Cochez cette case pour que Gajim vous demande avant d'envoyer votre mot " +#~ "de passe via une connexion non-sécurisée" + +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "" +#~ "Si coché, Gajim enverra des paquets de maintien de connection pour " +#~ "prévenir des temps de latence pouvant entraîner des déconnexions" + +#~ msgid "Use cust_om hostname/port" +#~ msgstr "Utiliser un nom d'hôte/port personnalisé" + +#~ msgid "_Hostname: " +#~ msgstr "Nom d'_Hôte :" + +#~ msgid "_Port: " +#~ msgstr "_Port :" + +#~ msgid "Choose _Key..." +#~ msgstr "Choisissez une _clé..." + +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "" +#~ "Si cette case est cochée, Gajim obtiendra le mot de passe depuis un agent " +#~ "GPG comme seahorse" + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#~ msgid "_Edit Personal Information..." +#~ msgstr "_Éditer les informations personnelles…" + +#~ msgid "Personal Information" +#~ msgstr "Informations personnelles" + +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "C_onnexion au démarrage de Gajim" + +#~ msgid "Synchroni_ze account status with global status" +#~ msgstr "S_ynchroniser l'état du compte avec l'état global" + +#~ msgid "Use cust_om port:" +#~ msgstr "Utiliser un port pers_onnalisé :" + +#~ msgid "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." +#~ msgstr "" +#~ "Si le port par défaut utilisé pour les messages entrants n'est pas adapté " +#~ "à vos besoins, vous pouvez en spécifier un ici.\n" +#~ "Vous devriez considérer modifier les paramètres de votre pare-feu si vous " +#~ "en avez un." + +#~ msgid "OpenPGP is not usable on this computer" +#~ msgstr "OpenPGP n'est pas utilisable sur cet ordinateur" + +#~ msgid "To change the account name, you must be disconnected." +#~ msgstr "Pour changer le nom du compte, vous devez être déconnecté." + +#~ msgid "To change the account name, you must read all pending events." +#~ msgstr "Pour changer le nom du compte, vous devez lire tous ses événements." + +#~ msgid "Account Name Already Used" +#~ msgstr "Nom de Compte déjà utilisé" + +#~ msgid "" +#~ "This name is already used by another of your accounts. Please choose " +#~ "another name." +#~ msgstr "" +#~ "Ce nom est déjà utilisé par un autre de vos comptes. Choisissez un autre " +#~ "nom." + +#~ msgid "Account name cannot be empty." +#~ msgstr "Le nom du compte ne peut pas être vide." + +#~ msgid "Account name cannot contain spaces." +#~ msgstr "Le nom du compte ne peut pas contenir d'espaces." + +#~ msgid "Enter a new name for account %s" +#~ msgstr "Entrez un nouveau nom pour le compte %s" + +#, fuzzy +#~ msgid "A JID must be in the form \"user@servername\"." +#~ msgstr "Un Identifiant Jabber doit être de la forme \"user@servername\"." + +#~ msgid "No such account available" +#~ msgstr "Compte non disponible" + +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "" +#~ "Vous devez d'abord créer votre compte avant d'éditer vos informations." + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "Vous devez être connecté pour éditer vos informations." + +#~ msgid "Your server can't save your personal information." +#~ msgstr "Votre serveur ne peut enregistrer d'informations personnelles." + +#~ msgid "Please rename or remove it before enabling link-local messaging." +#~ msgstr "" +#~ "Veuillez le renommer et l'enlever avant d'activer la messagerie link-" +#~ "local." + +#~ msgid "THANKS:" +#~ msgstr "MERCI :" + +#~ msgid "Could not write to %s. Session Management support will not work" +#~ msgstr "" +#~ "N'a pas pu écrire dans %s. La gestion des sessions ne fonctionnera pas" + +#~ msgid "Jabber Traffic" +#~ msgstr "Trafic Jabber" + +#~ msgid "_Enable" +#~ msgstr "Activ_er" + +#~ msgid "Hide IN stanzas" +#~ msgstr "Cacher les stanzas entrantes" + +#~ msgid "Hide OUT stanzas" +#~ msgstr "Cacher les stanzas sortantes" + +#~ msgid "Hide Presence stanzas" +#~ msgstr "Cacher les stanzas de type presence" + +#~ msgid "Hide IQ stanzas" +#~ msgstr "Cacher les stanzas de type iq" + +#~ msgid "Filter" +#~ msgstr "Filtre" + +#~ msgid "_IQ" +#~ msgstr "_IQ" + +#~ msgid "Info/Query" +#~ msgstr "Information/Requête" + +#~ msgid "XML Input" +#~ msgstr "Entrée XML" + +#~ msgid "XML Console for %s" +#~ msgstr "Console XML pour %s" + +#~ msgid "Idle for:" +#~ msgstr "Inactif depuis :" + +#, fuzzy +#~ msgid "" +#~ "Request offline status messages from all contacts upon connecting. " +#~ "WARNING: This causes a lot of requests to be sent!" +#~ msgstr "" +#~ "Demander le message de statut à tous les contacts hors-ligne lorsque la " +#~ "connexion à un compte est établie. ATTENTION : cela provoque l'envoie de " +#~ "nombreuses requêtes !" + +#~ msgid "Last status: %s" +#~ msgstr "Dernier état : %s" + +#~ msgid " since %s" +#~ msgstr " depuis %s" + +#~ msgid "since %s" +#~ msgstr "depuis %s" + +#~ msgid "Concede" +#~ msgstr "Autoriser" + +#~ msgid "Forbid" +#~ msgstr "Interdire" + +#~ msgid "Auto" +#~ msgstr "Auto" + +#~ msgid "Method Auto" +#~ msgstr "Méthode Automatique" + +#~ msgid "Method Local" +#~ msgstr "Méthode locale" + +#~ msgid "Method Manual" +#~ msgstr "Méthode manuelle" + +#~ msgid "body" +#~ msgstr "corps" + +#~ msgid "false" +#~ msgstr "faux" + +#~ msgid "stream" +#~ msgstr "flux" + +#~ msgid "concede" +#~ msgstr "concéder" + +#~ msgid "forbid" +#~ msgstr "interdire" + +#~ msgid "oppose" +#~ msgstr "opposer" + +#~ msgid "prefer" +#~ msgstr "préfère" + +#~ msgid "otr" +#~ msgstr "otr" + +#~ msgid "save" +#~ msgstr "enregistrer" + +#~ msgid "Last time we syncronized with logs from server." +#~ msgstr "Date de la dernière synchronisation des logs avec le serveur." + +#~ msgid "Invalid expire value" +#~ msgstr "Valeur d'expiration non valide" + +#~ msgid "Expire must be a valid positive integer." +#~ msgstr "La valeur d'expiration doit être un nombre positif." + +#~ msgid "There is an error with the form" +#~ msgstr "Il y a une erreur dans le formulaire" + +#~ msgid "There is an error" +#~ msgstr "Le service a renvoyé une erreur." + +#~ msgid "How many minutes should last lines from previous conversation last." +#~ msgstr "" +#~ "Durée de vie en minutes des dernières lignes des conversations " +#~ "précédentes." + +#~ msgid "" +#~ "Your configured emoticons theme cannot been loaded. You maybe need to " +#~ "update the format of emoticons.py file. See http://trac.gajim.org/wiki/" +#~ "Emoticons for more details." +#~ msgstr "" +#~ "Votre thème d'émoticônes n'a pu être chargé. Vous avez peut-être besoin " +#~ "de mettre à jour le format du fichier emoticons.py. Voir http://trac." +#~ "gajim.org/wiki/Emoticons pour plus de détails." + +#~ msgid "You will be connected to %s without OpenPGP." +#~ msgstr "Vous serez connecté à %s sans OpenPGP." + +#~ msgid "The following message was NOT encrypted" +#~ msgstr "Le message suivant n'a PAS été chiffré" + +#~ msgid "Toggle Open_PGP Encryption" +#~ msgstr "Activer le chiffrement _GPG" + +#~ msgid "Toggle End to End Encryption" +#~ msgstr "Activer le chiffrement de bout en bout" + +#, fuzzy +#~ msgid "OpenPGP encryption enabled" +#~ msgstr "Chiffrement GPG activé" + +#, fuzzy +#~ msgid "No OpenPGP key assigned" +#~ msgstr "Aucune clef GPG assignée" + +#, fuzzy +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages with OpenPGP." +#~ msgstr "" +#~ "Aucune clef GPG n'est assignée à ce contact. Vous ne pouvez donc pas " +#~ "chiffrer les messages avec GPG." + +#~ msgid "Session WILL be logged" +#~ msgstr "La session SERA archivée" + +#~ msgid "Session WILL NOT be logged" +#~ msgstr "La session ne sera PAS archivée" + +#~ msgid "is" +#~ msgstr "est" + +#~ msgid "is NOT" +#~ msgstr "N'est PAS" + +#~ msgid "will" +#~ msgstr "sera" + +#~ msgid "will NOT" +#~ msgstr "NE sera PAS" + +#~ msgid "The following message was encrypted" +#~ msgstr "Le message suivant n'a été chiffré" + +#, fuzzy +#~ msgid "Toggle the OpenPGP encryption" +#~ msgstr "Basculer le chiffrement GPG" + +#~ msgid "" +#~ "Should Gajim automatically start an encrypted session with this contact " +#~ "when possible?" +#~ msgstr "" +#~ "Gajim doit-il commencer automatiquement une discussion chiffrée avec ce " +#~ "contact quand cela est possible ?" + +#~ msgid "Neither the remote presence is signed, nor a key was assigned." +#~ msgstr "" +#~ "Le présence distante n'est pas signée et aucune clef n'a été assignée." + +#~ msgid "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "" +#~ "La clef du contact (%s) ne correspond pas à la clef assignée dans Gajim." + +#~ msgid "[This message is *encrypted* (See :XEP:`27`]" +#~ msgstr "[Ce message est *chiffré* (Voir : XEP:`27`]" + +#~ msgid "" +#~ "Your chat session with %(jid)s is encrypted.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "Votre conversation avec %(jid)s est chiffrée.\n" +#~ "\n" +#~ "La Short Authentication String cette session est %(sas)s." + +#~ msgid "You have already verified this contact's identity." +#~ msgstr "Vous avez déjà vérifié l'identité de ce contact." + +#~ msgid "Contact's identity verified" +#~ msgstr "Identité du contact vérifiée" + +#~ msgid "" +#~ "To be certain that only the expected person can read your messages " +#~ "or send you messages, you need to verify their identity by clicking the " +#~ "button below." +#~ msgstr "" +#~ "Afin d'être certain que seule la personne prévue puisse lire vos " +#~ "messages et vous en envoyer, vous devez vérifier son identité en cliquant " +#~ "sur le bouton en-dessous." + +#~ msgid "Contact's identity NOT verified" +#~ msgstr "Identité du contact NON vérifiée" + +#, fuzzy +#~ msgid "Verify…" +#~ msgstr "_Vérifier" + +#~ msgid "Have you verified the contact's identity?" +#~ msgstr "Avez-vous vérifié l'identité du contact ?" + +#~ msgid "" +#~ "To prevent talking to an unknown person, you should speak to %(jid)s directly (in person or on the phone) and verify that they see the same " +#~ "Short Authentication String (SAS) as you.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "Afin d'éviter de parler à un inconnu, vous devriez parler à %(jid)s directement (en personne ou au téléphone) et vérifier qu'ils voient la " +#~ "même Short Authentication String (SAS) que vous.\n" +#~ "\n" +#~ "La Short Authentication String de cette session est : %(sas)s." + +#~ msgid "Did you talk to the remote contact and verify the SAS?" +#~ msgstr "Avec vous parlé au contact et vérifié la SAS ?" + +#~ msgid "" +#~ "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "" +#~ "La clef du contact (%s) ne correspond pas à la clef assignée dans " +#~ "Gajim." + +#, fuzzy +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages." +#~ msgstr "" +#~ "Aucune clef GPG n'est assignée à ce contact. Vous ne pouvez donc pas " +#~ "chiffrer les messages." + +#~ msgid "" +#~ "OpenPGP key is assigned to this contact, but you do not trust their " +#~ "key, so message cannot be encrypted. Use your OpenPGP client " +#~ "to trust their key." +#~ msgstr "" +#~ "Une clef OpenPGP est assignée à ce contact, mais vous n'avez pas " +#~ "confiance en sa clef, les messages ne peuvent donc pas être " +#~ "chiffrés. Utilisez votre client OpenPGP pour faire confiance en cette " +#~ "clef." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP Key is assigned to this contact, and you trust their key, so " +#~ "messages will be encrypted." +#~ msgstr "" +#~ "Une clef GPG est assignée à ce contact, et vous avez confiance en sa " +#~ "clef, les messages seront donc chiffrés." + +#~ msgid "" +#~ "This icon indicates that this message has not yet\n" +#~ "been received by the remote end. If this icon stays\n" +#~ "for a long time, it's likely the message got lost." +#~ msgstr "" +#~ "Cette icône indique que le message n'a pas encore\n" +#~ "été reçu par le contact distant. Si cette icône reste\n" +#~ "pendant un long moment, le message a probablement été perdu." + +#~ msgid "" +#~ "If True, listen to D-Bus signals from NetworkManager and change the " +#~ "status of accounts (provided they do not have listen_to_network_manager " +#~ "set to False and they sync with global status) based upon the status of " +#~ "the network connection." +#~ msgstr "" +#~ "Si Vrai, utiliser les signaux D-Bus de NetworkManager et modifier " +#~ "automatiquement l'état des comptes (en autant que " +#~ "listen_to_network_manager n'est pas désactivé et qu'ils soient " +#~ "synchronisés à l'état global)." + +#~ msgid "" +#~ "The database file (%s) cannot be read. Try to repair it or remove it (all " +#~ "history will be lost)." +#~ msgstr "" +#~ "Le fichier de base de données (%s) ne peut être lu. Essayez de le réparer " +#~ "ou supprimez le (toutes les archives seront perdues)." + +#~ msgid "Database cannot be read." +#~ msgstr "La base de donnée ne peut être lue." + +#~ msgid "A message from a non-valid JID arrived, it has been ignored." +#~ msgstr "Un message d'un JID invalide a été reçu, il a été ignoré." + +#~ msgid "Smooth scroll message in conversation window" +#~ msgstr "Défilement doux dans la fenêtre de conversation" + +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "Éditer les Listes _privées..." + +#~ msgid "_Administrator" +#~ msgstr "_Administrateur" + +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "" +#~ "Envoie un message aux utilisateurs actuellement connectés à ce serveur" + +#~ msgid "Sets Message of the Day" +#~ msgstr "Mets un message du jour" + +#~ msgid "Updates Message of the Day" +#~ msgstr "Mets à jour le message du jour" + +#~ msgid "Deletes Message of the Day" +#~ msgstr "Supprime le message du jour" + +#~ msgid "Add _Contact..." +#~ msgstr "_Ajouter un contact..." + +#~ msgid "P_lugins" +#~ msgstr "P_lugins" + +#~ msgid "File _Transfers" +#~ msgstr "_Transfert de fichiers" + +#~ msgid "Help online" +#~ msgstr "Aide en ligne" + +#~ msgid "Frequently Asked Questions (online)" +#~ msgstr "Foire Aux Questions (en ligne)" + +#~ msgid "Fea_tures" +#~ msgstr "Fonc_tionnalités" + +#~ msgid "to %s account" +#~ msgstr "au compte %s" + +#~ msgid "using %s account" +#~ msgstr "pour le compte %s" + +#~ msgid "of account %s" +#~ msgstr "du compte %s" + +#~ msgid "for account %s" +#~ msgstr "pour le compte %s" + +#~ msgid "" +#~ "By removing this contact you also remove authorization resulting in him " +#~ "or her always seeing you as offline." +#~ msgstr "" +#~ "En supprimant ce contact, vous enlevez aussi son autorisation. Il/Elle " +#~ "vous verra donc toujours déconnecté(e)." + +#~ msgid "Message Body xmpp.org/getting-started" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:646 +#, fuzzy +msgid "_Please choose a server" +msgstr "Crear unha publicación nova" + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "" + +#: gajim/data/gui/application_menu.ui:8 +#, fuzzy +msgid "_Start / Join Chat…" +msgstr "Iniciar a charla" + +#: gajim/data/gui/application_menu.ui:13 +#, fuzzy +msgid "Create _Group Chat…" +msgstr "Novo grupo de charla" + +#: gajim/data/gui/application_menu.ui:18 +#, fuzzy +msgid "_History Manager" +msgstr "Historial" + +#: gajim/data/gui/application_menu.ui:22 +#, fuzzy +msgid "Pl_ugins" +msgstr "Fallou a conexión" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +#, fuzzy +msgid "_Preferences" +msgstr "Preferencias" + +#: gajim/data/gui/application_menu.ui:36 +#, fuzzy +msgid "_Accounts" +msgstr "Contas" + +#: gajim/data/gui/application_menu.ui:39 +#, fuzzy +msgid "_View" +msgstr "_Ver" + +#: gajim/data/gui/application_menu.ui:46 +#, fuzzy +msgid "Show _Offline Contacts" +msgstr "Amosar os contactos desconectados" + +#: gajim/data/gui/application_menu.ui:50 +#, fuzzy +msgid "Show _Active Contacts" +msgstr "Amosar os contactos desconectados" + +#: gajim/data/gui/application_menu.ui:54 +#, fuzzy +msgid "Show _Transports" +msgstr "Amosar os trans_portes" + +#: gajim/data/gui/application_menu.ui:60 +#, fuzzy +msgid "_XML Console" +msgstr "Consola XML" + +#: gajim/data/gui/application_menu.ui:64 +#, fuzzy +msgid "_File Transfer" +msgstr "Transferencias" + +#: gajim/data/gui/application_menu.ui:74 +#, fuzzy +msgid "_Help" +msgstr "_Axuda" + +#: gajim/data/gui/application_menu.ui:77 +#, fuzzy +msgid "_Wiki (Online)" +msgstr "nove" + +#: gajim/data/gui/application_menu.ui:81 +#, fuzzy +msgid "FA_Q (Online)" +msgstr "nove" + +#: gajim/data/gui/application_menu.ui:85 +msgid "_Keyboard Shortcuts" +msgstr "" + +#: gajim/data/gui/application_menu.ui:89 +#, fuzzy +msgid "_Features" +msgstr "Características dos servidores" + +#: gajim/data/gui/application_menu.ui:93 +#, fuzzy +msgid "_About" +msgstr "Acerca de" + +#: gajim/data/gui/filetransfer_progress.ui:125 +msgid "Speed" +msgstr "" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +#, fuzzy +msgid "OK" +msgstr "_Aceptar" + +#: gajim/data/gui/plugins_window.ui:55 +msgid "Install Plugin from ZIP-File" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:56 +msgid "Install from File…" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:70 +#, fuzzy +msgid "Uninstall Plugin" +msgstr "Atascado" + +#: gajim/data/gui/plugins_window.ui:116 +#, fuzzy +msgid "" +msgstr "Fallou a conexión" + +#: gajim/data/gui/plugins_window.ui:133 +#, fuzzy +msgid "Plugin Settings" +msgstr "Fallou a conexión" + +#: gajim/data/gui/plugins_window.ui:215 +#, fuzzy +msgid "" +msgstr "Descrición" + +#: gajim/data/gui/plugins_window.ui:239 +#, fuzzy +msgid "Version" +msgstr "Versión de GTK+:" + +#: gajim/data/gui/plugins_window.ui:271 +#, fuzzy +msgid "Authors" +msgstr "Au_torizar" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +#, fuzzy +msgid "Homepage" +msgstr "Páxina web:" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:349 +#, fuzzy +msgid "Installed" +msgstr "Atascado" + +#: gajim/data/gui/plugins_window.ui:363 +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +#, fuzzy +msgid "Synchronise contacts" +msgstr "Amosar os contactos desconectados" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +#, fuzzy +msgid "_Name" +msgstr "_Nome: " + +#: gajim/data/gui/groupchat_creation.ui:122 +#, fuzzy +msgid "_Description" +msgstr "Descrición" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +#, fuzzy +msgid "_Address" +msgstr "_Enderezo:" + +#: gajim/data/gui/groupchat_creation.ui:278 +#, fuzzy +msgid "_Account" +msgstr "Contas" + +#: gajim/data/gui/profile.ui:33 +#, fuzzy +msgid "Contact Infos" +msgstr "Información" + +#: gajim/data/gui/profile.ui:45 +#, fuzzy +msgid "Picture and Name" +msgstr "Non se achou o alcume: %s" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "" + +#: gajim/data/gui/profile.ui:198 +#, fuzzy +msgid "Change your profile picture" +msgstr "Cambiar o _alcume" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:298 +#, fuzzy +msgid "Add Entry" +msgstr "Entrada:" + +#: gajim/data/gui/profile.ui:410 +#, fuzzy +msgid "Update" +msgstr "Actualizar a MDD" + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:15 +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:65 +#, fuzzy +msgid "Add Proxy" +msgstr "Proxy" + +#: gajim/data/gui/manage_proxies.ui:79 +#, fuzzy +msgid "Remove Proxy" +msgstr "Eliminar o grupo" + +#: gajim/data/gui/manage_proxies.ui:131 +#, fuzzy +msgid "Pass_word" +msgstr "_Contrasinal: " + +#: gajim/data/gui/manage_proxies.ui:156 +#, fuzzy +msgid "Use proxy auth_entication" +msgstr "Usar a autenticación" + +#: gajim/data/gui/manage_proxies.ui:176 +#, fuzzy +msgid "_Username" +msgstr "_Nome de usuario:" + +#: gajim/data/gui/manage_proxies.ui:237 +#, fuzzy +msgid "_Host" +msgstr "_Porto:" + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "JID local" + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "Recurso:" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "Estado:" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +#, fuzzy +msgid "_Store conversation history" +msgstr "Historial de conversas" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +msgid "Contact" +msgstr "Contacto" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +msgid "First Name:" +msgstr "Nome:" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +msgid "Last Name:" +msgstr "Apelido(s):" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +#, fuzzy +msgid "XMPP Address:" +msgstr "Enderezo de AIM:" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "Correo electrónico:" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +msgid "Personal" +msgstr "Persoal" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "E_stado" + +#: gajim/data/gui/account_context_menu.ui:20 +#, fuzzy +msgid "_Personal Events" +msgstr "Información persoal" + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "_Engadir un contacto..." + +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "_Descubrir os servizos" + +#: gajim/data/gui/account_context_menu.ui:57 +msgid "_Execute Command..." +msgstr "Executar o _comando..." + +#: gajim/data/gui/account_context_menu.ui:65 +#, fuzzy +msgid "_View Server Info" +msgstr "Servidor" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:125 +#, fuzzy +msgid "Global Group Chat Search" +msgstr "Entrar nunha sala de charlas" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +#, fuzzy +msgid "_Back" +msgstr "Volvo axiña" + +#: gajim/data/gui/start_chat_dialog.ui:386 +#, fuzzy +msgid "Select Account" +msgstr "A eliminar a conta %s" + +#: gajim/data/gui/start_chat_dialog.ui:477 +msgid "_Select" +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +#, fuzzy +msgid "Configure" +msgstr "_Continuar" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +msgid "Create new post" +msgstr "Crear unha publicación nova" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "Es_tado" + +#: gajim/data/gui/systray_context_menu.ui:20 +#, fuzzy +msgid "_Start Chat..." +msgstr "_Iniciar a charla" + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "Enviar unha _mensaxe..." + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "Amosar todos os _eventos pendentes" + +#: gajim/data/gui/systray_context_menu.ui:52 +msgid "Mute Sounds" +msgstr "Sen sons" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +#, fuzzy +msgid "Contact List" +msgstr "Contactos" + +#: gajim/data/gui/shortcuts_window.ui:24 +#, fuzzy +msgid "Create new group chat" +msgstr "Novo grupo de charla" + +#: gajim/data/gui/shortcuts_window.ui:45 +#, fuzzy +msgid "File transfers" +msgstr "Transferencias" + +#: gajim/data/gui/shortcuts_window.ui:52 +#, fuzzy +msgid "Set the status message" +msgstr "mensaxe de estado" + +#: gajim/data/gui/shortcuts_window.ui:59 +#, fuzzy +msgid "Show XML console" +msgstr "Amosar a consola de _XML" + +#: gajim/data/gui/shortcuts_window.ui:74 +#, fuzzy +msgid "Appearance" +msgstr "Editar unha regra" + +#: gajim/data/gui/shortcuts_window.ui:79 +#, fuzzy +msgid "Show offline contacts" +msgstr "Amosar os contactos desconectados" + +#: gajim/data/gui/shortcuts_window.ui:86 +#, fuzzy +msgid "Show only active contacts" +msgstr "Amosar os contactos desconectados" + +#: gajim/data/gui/shortcuts_window.ui:93 +msgid "Enable contact list filtering" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:100 +#, fuzzy +msgid "Show / hide contact list" +msgstr "Amosar os contactos desconectados" + +#: gajim/data/gui/shortcuts_window.ui:113 +#, fuzzy +msgid "Contact information" +msgstr "Información" + +#: gajim/data/gui/shortcuts_window.ui:120 +#, fuzzy +msgid "Rename contact" +msgstr "Renomear o contacto" + +#: gajim/data/gui/shortcuts_window.ui:127 +#, fuzzy +msgid "Delete contact" +msgstr "Contactos" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +msgid "Chat" +msgstr "Charla" + +#: gajim/data/gui/shortcuts_window.ui:142 +#, fuzzy +msgid "Message composition" +msgstr "contido da mensaxe" + +#: gajim/data/gui/shortcuts_window.ui:147 +#, fuzzy +msgid "Send the message" +msgstr "Enviar a mensaxe" + +#: gajim/data/gui/shortcuts_window.ui:154 +#, fuzzy +msgid "Add new line" +msgstr "Crear unha publicación nova" + +#: gajim/data/gui/shortcuts_window.ui:161 +msgid "Select an emoji" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:168 +#, fuzzy +msgid "Complete a command or a nickname" +msgstr "Crear unha publicación nova" + +#: gajim/data/gui/shortcuts_window.ui:175 +#, fuzzy +msgid "Previously sent message" +msgstr "Mensaxes predefinidas:" + +#: gajim/data/gui/shortcuts_window.ui:182 +#, fuzzy +msgid "Next sent messages" +msgstr "Mensaxes predefinidas:" + +#: gajim/data/gui/shortcuts_window.ui:189 +#, fuzzy +msgid "Quote previous message" +msgstr "mensaxe de estado" + +#: gajim/data/gui/shortcuts_window.ui:196 +#, fuzzy +msgid "Quote next message" +msgstr "Enviar a mensaxe" + +#: gajim/data/gui/shortcuts_window.ui:203 +#, fuzzy +msgid "Clear message entry" +msgstr "Enviouse a mensaxe" + +#: gajim/data/gui/shortcuts_window.ui:211 +#, fuzzy +msgid "Recent history" +msgstr "Recentemente:" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:230 +#, fuzzy +msgid "Clear chat window" +msgstr "Uso: /%s, limpa o texto da fiestra." + +#: gajim/data/gui/shortcuts_window.ui:237 +#, fuzzy +msgid "Show chat history" +msgstr "Recentemente:" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:299 +msgid "Close chat" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:312 +#, fuzzy +msgid "Change Nickname" +msgstr "Cambiar o _alcume" + +#: gajim/data/gui/chat_control.ui:48 +#, fuzzy +msgid "Drop files or contacts" +msgstr "Enviarlle un ficheiro a un contacto" + +#: gajim/data/gui/chat_control.ui:80 +#, fuzzy +msgid "1" +msgstr "Sons" + +#: gajim/data/gui/chat_control.ui:101 +#, fuzzy +msgid "2 abc" +msgstr "Sons" + +#: gajim/data/gui/chat_control.ui:121 +#, fuzzy +msgid "3 def" +msgstr "Sons" + +#: gajim/data/gui/chat_control.ui:141 +#, fuzzy +msgid "4 ghi" +msgstr "Sons" + +#: gajim/data/gui/chat_control.ui:161 +#, fuzzy +msgid "5 jkl" +msgstr "Sons" + +#: gajim/data/gui/chat_control.ui:181 +#, fuzzy +msgid "6 mno" +msgstr "Sons" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "" + +#: gajim/data/gui/chat_control.ui:221 +#, fuzzy +msgid "8 tuv" +msgstr "Sons" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "" + +#: gajim/data/gui/chat_control.ui:261 +#, fuzzy +msgid "*" +msgstr "Sons" + +#: gajim/data/gui/chat_control.ui:281 +#, fuzzy +msgid "0" +msgstr "Sons" + +#: gajim/data/gui/chat_control.ui:301 +#, fuzzy +msgid "#" +msgstr "Sons" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "Iniciar a charla" + +#: gajim/data/gui/contact_context_menu.ui:28 +#, fuzzy +msgid "Send _File..." +msgstr "Enviar ficheiro" + +#: gajim/data/gui/contact_context_menu.ui:44 +#, fuzzy +msgid "Invite _Contacts" +msgstr "Contactos" + +#: gajim/data/gui/contact_context_menu.ui:58 +#, fuzzy +msgid "E_xecute Command..." +msgstr "Executar o comando..." + +#: gajim/data/gui/contact_context_menu.ui:67 +#, fuzzy +msgid "M_anage Contact" +msgstr "Renomear o contacto" + +#: gajim/data/gui/contact_context_menu.ui:77 +#, fuzzy +msgid "_Rename..." +msgstr "Renomear" + +#: gajim/data/gui/contact_context_menu.ui:84 +#, fuzzy +msgid "Edit _Groups..." +msgstr "Editar os grupos" + +#: gajim/data/gui/contact_context_menu.ui:92 +#, fuzzy +msgid "Add Special _Notification..." +msgstr "Engadir unha _notificación especial" + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "_Subscrición" + +#: gajim/data/gui/contact_context_menu.ui:115 +#, fuzzy +msgid "_Allow contact to see my status" +msgstr "Permitirlle a este contacto que vexa o meu estado" + +#: gajim/data/gui/contact_context_menu.ui:123 +#, fuzzy +msgid "A_sk to see contact status" +msgstr "Pregunta para ver o _seu estado" + +#: gajim/data/gui/contact_context_menu.ui:131 +#, fuzzy +msgid "_Forbid contact to see my status" +msgstr "Prohibirlle ver o meu estado" + +#: gajim/data/gui/contact_context_menu.ui:159 +#, fuzzy +msgid "_Unignore" +msgstr "nove" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:174 +#, fuzzy +msgid "_Add to Contact List..." +msgstr "_Engadir un contacto..." + +#: gajim/data/gui/single_message_window.ui:42 +#, fuzzy +msgid "_To" +msgstr "A" + +#: gajim/data/gui/single_message_window.ui:71 +#, fuzzy +msgid "Su_bject" +msgstr "Asunto" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "" + +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "_Mensaxe" + +#: gajim/data/gui/single_message_window.ui:144 +#, fuzzy +msgid "Characters typed: 0" +msgstr "Alcume non permitido: %s" + +#: gajim/data/gui/single_message_window.ui:189 +#, fuzzy +msgid "_From" +msgstr "De" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "Enviar" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "Enviar a mensaxe" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "_Responder" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "Responder esta mensaxe:" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "_Enviar e pechar" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "Enviar a mensaxe e pechar a fiestra" + +#: gajim/data/gui/vcard_information_window.ui:106 +#, fuzzy +msgid "Client" +msgstr "Cliente:" + +#: gajim/data/gui/vcard_information_window.ui:140 +#, fuzzy +msgid "Contact time" +msgstr "Nome de contacto" + +#: gajim/data/gui/vcard_information_window.ui:240 +#, fuzzy +msgid "User avatar" +msgstr "Imaxe:" + +#: gajim/data/gui/vcard_information_window.ui:255 +#, fuzzy +msgid "Configured avatar" +msgstr "Configurar a sala" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +#, fuzzy +msgid "Ask" +msgstr "Pregunta:" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +#, fuzzy +msgid "Subscription" +msgstr "Subscrición:" + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +#, fuzzy +msgid "Extra Address" +msgstr "Segundo enderezo:" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +#, fuzzy +msgid "Address" +msgstr "Engadir unha regra" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +#, fuzzy +msgid "E-Mail" +msgstr "Correo electrónico:" + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "Formato: AAAA-MM-DD" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +#, fuzzy +msgid "Family" +msgstr "Familia:" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +#, fuzzy +msgid "Middle" +msgstr "Medio:" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +#, fuzzy +msgid "Prefix" +msgstr "Prefixo" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +#, fuzzy +msgid "Given" +msgstr "Nome:" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +#, fuzzy +msgid "Suffix" +msgstr "Sufixo:" + +#: gajim/data/gui/vcard_information_window.ui:958 +#, fuzzy +msgid "Name Details" +msgstr "Personalizado" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "" + +#: gajim/data/gui/vcard_information_window.ui:1017 +msgid "Personal Info" +msgstr "Información persoal" + +#: gajim/data/gui/vcard_information_window.ui:1040 +#, fuzzy +msgid "Company" +msgstr "Empresa:" + +#: gajim/data/gui/vcard_information_window.ui:1073 +#, fuzzy +msgid "Department" +msgstr "Departamento:" + +#: gajim/data/gui/vcard_information_window.ui:1104 +#, fuzzy +msgid "Position" +msgstr "Posición:" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "Posto" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "Acerca de" + +#: gajim/data/gui/vcard_information_window.ui:1514 +msgid "Comments" +msgstr "Comentarios" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "Editar grupos" + +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "Contrasinal" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +#, fuzzy +msgid "Themes" +msgstr "Tema" + +#: gajim/data/gui/themes_window.ui:171 +#, fuzzy +msgid "Add Setting" +msgstr "Fallou a conexión" + +#: gajim/data/gui/themes_window.ui:204 +#, fuzzy +msgid "Add new Theme" +msgstr "Crear unha publicación nova" + +#: gajim/data/gui/themes_window.ui:219 +#, fuzzy +msgid "Remove Theme" +msgstr "Activo" + +#: gajim/data/gui/bookmarks.ui:120 +#, fuzzy +msgid "Autojoin" +msgstr "Autoconectar" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "" + +#: gajim/data/gui/preferences.ui:68 +#, fuzzy +msgid "Contact List Appearance" +msgstr "Contacto desconectado" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +msgid "Chats" +msgstr "Charlas" + +#: gajim/data/gui/preferences.ui:215 +#, fuzzy +msgid "Visual Notifications" +msgstr "Notificacións visuais" + +#: gajim/data/gui/preferences.ui:243 +#, fuzzy +msgid "Sounds" +msgstr "Sons Wav" + +#: gajim/data/gui/preferences.ui:303 +#, fuzzy +msgid "Ask For Status Message on…" +msgstr "Preguntar a mensaxe de estado cando estea: " + +#: gajim/data/gui/preferences.ui:331 +#, fuzzy +msgid "Automatic Status Change" +msgstr "_Adaptar ao estado" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "" + +#: gajim/data/gui/preferences.ui:447 +#, fuzzy +msgid "Status Icon" +msgstr "Conxunto de _iconas de estado por defecto:" + +#: gajim/data/gui/preferences.ui:472 +#, fuzzy +msgid "Style" +msgstr "Atascado" + +#: gajim/data/gui/preferences.ui:511 +#, fuzzy +msgid "Show _Features" +msgstr "Características dos servidores" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:632 +msgid "Audio" +msgstr "" + +#: gajim/data/gui/preferences.ui:660 +msgid "Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:698 +msgid "Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:735 +#, fuzzy +msgid "Miscellaneous" +msgstr "Varios" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:821 +#, fuzzy +msgid "Advanced Configuration Editor… " +msgstr "Editor avanzado de configuración" + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "" + +#: gajim/data/gui/server_info.ui:50 +#, fuzzy +msgid "Server Software" +msgstr "Características dos servidores" + +#: gajim/data/gui/server_info.ui:80 +#, fuzzy +msgid "Server Uptime" +msgstr "Gardouse en: %s" + +#: gajim/data/gui/server_info.ui:109 +#, fuzzy +msgid "Contact Addresses" +msgstr "Men_saxe de estado:" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "" + +#: gajim/data/gui/server_info.ui:177 +#, fuzzy +msgid "Proxy Type" +msgstr "Proxy" + +#: gajim/data/gui/server_info.ui:192 +#, fuzzy +msgid "No proxy used" +msgstr "Proxy" + +#: gajim/data/gui/server_info.ui:202 +#, fuzzy +msgid "View _Certificate" +msgstr "O nome de usuario non é válido" + +#: gajim/data/gui/server_info.ui:222 +#, fuzzy +msgid "Proxy Host" +msgstr "Proxy" + +#: gajim/data/gui/server_info.ui:421 +#, fuzzy +msgid "Copy info to clipboard" +msgstr "_Copiar o enderezo da ligazón" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:153 +#, fuzzy +msgid "Serial Number" +msgstr "Número de GG:" + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:304 +msgid "Expires on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:465 +#, fuzzy +msgid "Copy Certificate Information" +msgstr "Información" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +#, fuzzy +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "JID do contacto co que quere conversar" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +#, fuzzy +msgid "Please select a group chat server." +msgstr "Isto non é un grupo de charla" + +#: gajim/data/gui/chat_to_muc_window.ui:141 +#, fuzzy +msgid "Group chat server" +msgstr "Grupos de charla" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +#, fuzzy +msgid "In_vite" +msgstr "Con_vidar" + +#: gajim/data/gui/mam_preferences.ui:53 +#, fuzzy +msgid "_Default" +msgstr "Por defecto" + +#: gajim/data/gui/mam_preferences.ui:136 +#, fuzzy +msgid "Archive" +msgstr "Camiño do ficheiro" + +#: gajim/data/gui/history_manager.ui:11 +#, fuzzy +msgid "_Export" +msgstr "Exportar" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +msgid "Gajim History Logs Manager" +msgstr "Xestor do Historial de Gajim" + +#: gajim/data/gui/history_manager.ui:104 +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" + +#: gajim/data/gui/history_manager.ui:120 +#, fuzzy +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" +"Benvido/a ao xestor do historial do Gajim\n" +"\n" +"Pode seleccionar logs da esquerda e/ou procurar na base de datos de abaixo.\n" +"\n" +"AVISO:\n" +"Se ten previsto facer eliminacións masivas, asegúrese de que o Gajim\n" +"non estea en execución. Xeralmente, evita eliminacións relativas a contactos " +"con que estiver\n" +"a falar neste momento." + +#: gajim/data/gui/history_manager.ui:211 +#, fuzzy +msgid "Search database..." +msgstr "_Buscar na base de datos" + +#: gajim/data/gui/history_manager.ui:226 +#, fuzzy +msgid "Search in database" +msgstr "_Buscar na base de datos" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" + +#: gajim/data/gui/groupchat_invite.ui:69 +#, fuzzy +msgid "Invitees" +msgstr "Con_vidar" + +#: gajim/data/gui/groupchat_invite.ui:153 +#, fuzzy +msgid "Search contacts..." +msgstr "_Buscar na base de datos" + +#: gajim/data/gui/groupchat_invite.ui:223 +#, fuzzy +msgid "Click on contacts you would like to invite to this group chat." +msgstr "%(nick)s foi expulsado por %(who)s: %(reason)s" + +#: gajim/data/gui/service_discovery_window.ui:148 +#, fuzzy +msgid "Go" +msgstr "I_r" + +#: gajim/data/gui/status_change_window.ui:27 +#, fuzzy +msgid "Change Status" +msgstr "Un contacto cambiou o seu estado" + +#: gajim/data/gui/status_change_window.ui:56 +#, fuzzy +msgid "Status Presets…" +msgstr "Mensaxe de estado" + +#: gajim/data/gui/status_change_window.ui:72 +msgid "Save this message as a preset" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:130 +#, fuzzy +msgid "Ac_tivity" +msgstr "Activo" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:278 +#, fuzzy +msgid "_Change Status" +msgstr "Un contacto cambiou o seu estado" + +#: gajim/data/gui/status_change_window.ui:313 +#, fuzzy +msgid "Activity" +msgstr "Activo" + +#: gajim/data/gui/status_change_window.ui:326 +#, fuzzy +msgid "_No Activity" +msgstr "Activo" + +#: gajim/data/gui/status_change_window.ui:729 +#, fuzzy +msgid "Mood" +msgstr "_Modificar" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +#, fuzzy +msgid "Author" +msgstr "Au_torizar" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +#, fuzzy +msgid "Group Chat Language" +msgstr "Convite a grupo de charla" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +#, fuzzy +msgid "Copy Address" +msgstr "_Copiar o enderezo" + +#: gajim/data/gui/emoji_chooser.ui:98 +msgid "No Results Found" +msgstr "" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr "Consola XML" + +#: gajim/data/gui/xml_console.ui:131 +#, fuzzy +msgid "Start Search..." +msgstr "_Iniciar a charla" + +#: gajim/data/gui/xml_console.ui:260 +#, fuzzy +msgid "Clear" +msgstr "Serán" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "" + +#: gajim/data/gui/xml_console.ui:316 +#, fuzzy +msgid "Presets" +msgstr "_Presenza" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +#, fuzzy +msgid "Select the contacts you want to synchronise" +msgstr "JID do contacto co que quere conversar" + +#: gajim/data/gui/groupchat_config.ui:51 +#, fuzzy +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" +"Pode ser un dos seguintes:\n" +"1. usuario@dominio/recurso (só ese recurso coincide)2. usuario@dominio " +"(calquera recurso coincide)3. dominio/recurso (só ese recurso coincide)4. " +"dominio (o dominio coincide, incluíndo calquera\n" +"usuario@dominio, dominio/recurso ou enderezo que contén\n" +"un subdominio." + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:309 +#, fuzzy +msgid "Reserved Name" +msgstr "Nome da opción" + +#: gajim/data/gui/groupchat_config.ui:346 +#, fuzzy +msgid "Affiliation" +msgstr "Programas" + +#: gajim/data/gui/groupchat_config.ui:377 +#, fuzzy +msgid "Affiliations" +msgstr "Programas" + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "Motivo" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "Listaxe de expulsión" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "_Denegar" + +#: gajim/data/gui/subscription_request_window.ui:34 +#, fuzzy +msgid "_Block User" +msgstr "_Grupo:" + +#: gajim/data/gui/subscription_request_window.ui:49 +#, fuzzy +msgid "_Report as Spam" +msgstr "_Informar do erro" + +#: gajim/data/gui/subscription_request_window.ui:212 +#, fuzzy +msgid "_Deny…" +msgstr "_Denegar" + +#: gajim/data/gui/subscription_request_window.ui:225 +#, fuzzy +msgid "Ac_cept" +msgstr "Aceptar" + +#: gajim/data/gui/subscription_request_window.ui:230 +#, fuzzy +msgid "Allows the contact to see your online status" +msgstr "Permitirlle a este contacto que vexa o meu estado" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:115 +#, fuzzy +msgid "_Report Bug" +msgstr "_Informar do erro" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "Acontecemento" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "Elixir un son" + +#: gajim/data/gui/manage_sounds.ui:97 +#, fuzzy +msgid "Clear Sound" +msgstr "Elixir un son" + +#: gajim/data/gui/manage_sounds.ui:118 +#, fuzzy +msgid "Play Sound" +msgstr "Reproducir _sons" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +#, fuzzy +msgid "_Send Files" +msgstr "Enviar ficheiro" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +#, fuzzy +msgid "Send" +msgstr "_Enviar" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +#, fuzzy +msgid "Files to send" +msgstr "Elixa un ficheiro para enviar..." + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +#, fuzzy +msgid "Add Files" +msgstr "Ficheiro: " + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +#, fuzzy +msgid "Remove Files" +msgstr "_Eliminar" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +#, fuzzy +msgid "Idle since:" +msgstr " desde %s" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +#, fuzzy +msgid "Mood:" +msgstr "Sala:" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +#, fuzzy +msgid "Activity:" +msgstr "Activo" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +#, fuzzy +msgid "Tune:" +msgstr "Tipo:" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +#, fuzzy +msgid "Location:" +msgstr "Modificar a conta" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +msgid "Subscription:" +msgstr "Subscrición:" + +#: gajim/data/gui/advanced_configuration.ui:15 +#, fuzzy +msgid "A restart may be required for some settings to take effect" +msgstr "" +"NOTA: Debe reiniciar o Gajim para que algúns cambios teñan efecto" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "" + +#: gajim/data/gui/advanced_configuration.ui:120 +#, fuzzy +msgid "_Reset Value" +msgstr "_Restabelecer as cores predeterminadas" + +#: gajim/data/gui/advanced_configuration.ui:125 +#, fuzzy +msgid "Resets value to default" +msgstr "_Restabelecer as cores predeterminadas" + +#: gajim/data/gui/history_window.ui:27 +#, fuzzy +msgid "Display status changes" +msgstr "_Rexistrar os cambios de estado dos contactos" + +#: gajim/data/gui/history_window.ui:57 +msgid "History Manager" +msgstr "Historial" + +#: gajim/data/gui/history_window.ui:233 +#, fuzzy +msgid "Mode" +msgstr "Moderador" + +#: gajim/data/gui/history_window.ui:246 +#, fuzzy +msgid "Search complete history" +msgstr "Recentemente:" + +#: gajim/data/gui/history_window.ui:263 +msgid "Search selected day only" +msgstr "" + +#: gajim/data/gui/history_window.ui:317 +msgid "Store history for this chat" +msgstr "" + +#: gajim/data/gui/history_window.ui:332 +#, fuzzy +msgid "Store History" +msgstr "Recentemente:" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +#, fuzzy +msgid "Identified Error" +msgstr "O nome de usuario non é válido" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +#, fuzzy +msgid "" +msgstr "Erro de Avahi" + +#: gajim/data/gui/ssl_error_dialog.ui:74 +msgid "Add this certificate to the list of _trusted certificates" +msgstr "" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +#, fuzzy +msgid "_View Certificate" +msgstr "O nome de usuario non é válido" + +#: gajim/data/gui/ssl_error_dialog.ui:120 +#, fuzzy +msgid "_Connect" +msgstr "Conexión" + +#: data/org.gajim.Gajim.desktop.in:5 +#, fuzzy +msgid "XMPP Chat Client" +msgstr "Cliente de MI de Jabber" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:8 +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:27 +#, fuzzy +msgid "Show next pending event" +msgstr "Amosar todos os _eventos pendentes" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:17 +#, fuzzy +msgid "Features:" +msgstr "Características dos servidores" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +msgid "Automatic spell-checking for your messages" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +#, fuzzy +msgid "Support for service discovery including nodes and search for users" +msgstr "Xestión de servizos coa conta %s" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +#, fuzzy +msgid "Contact list" +msgstr "Contactos" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +#, fuzzy +msgid "Group chat support" +msgstr "Grupos de charla" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +#, fuzzy +msgid "Chat history" +msgstr "Recentemente:" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +#, fuzzy +msgid "Plugin manager" +msgstr "Fallou a conexión" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +#, fuzzy +msgid "Gajim Team" +msgstr "Gajim - %s" + +#, fuzzy +#~ msgid "Chat Settings" +#~ msgstr "Fallou a conexión" + +#, fuzzy, python-format +#~ msgid "%i day" +#~ msgid_plural "%i days" +#~ msgstr[0] "hai %i días" +#~ msgstr[1] "hai %i días" + +#, fuzzy +#~ msgid "Composing only" +#~ msgstr "A compor" + +#, fuzzy +#~ msgid "All chat states" +#~ msgstr "Todos os estados" + +#~ msgid "Privacy Lists" +#~ msgstr "Listaxes de privacidade" + +#~ msgid "None" +#~ msgstr "Ningún" + +#, python-format +#~ msgid "%s Status Message" +#~ msgstr "Mensaxe de estado %s" + +#~ msgid "Could not load image" +#~ msgstr "Non foi posíbel cargar a imaxe" + +#, fuzzy +#~ msgid "Error." +#~ msgstr "Erro de Avahi" + +#, fuzzy +#~ msgid "_Block Contact" +#~ msgstr "Contactos" + +#, fuzzy +#~ msgid "Block Group" +#~ msgstr "Grupo" + +#, fuzzy +#~ msgid "Really block this group?" +#~ msgstr "Está o OpenPGP activado para este contacto?" + +#~ msgid "No account available" +#~ msgstr "A conta non está dispoñíbel" + +#~ msgid "You must create an account before you can chat with other contacts." +#~ msgstr "" +#~ "Debe crear unha conta antes de poder conversar con outros contactos." + +#~ msgid "Metacontacts storage not supported by your server" +#~ msgstr "O teu servidor non admite o almacenamento de metacontactos" + +#, fuzzy +#~ msgid "" +#~ "Your server does not support storing metacontacts information. So this " +#~ "information will not be saved on next reconnection." +#~ msgstr "" +#~ "O seu servidor non admite almacenar información de metacontactos. Por " +#~ "tanto, toda a información referente non se gardará na próxima reconexión." + +#, fuzzy, python-brace-format +#~ msgid "You are invited to {room} by {user}" +#~ msgstr "Está expulsado deste grupo de charla." + +#, fuzzy, python-format +#~ msgid "%s wants to start a voice chat." +#~ msgstr "%s quere enviarlle un ficheiro." + +#~ msgid "Could not save your settings and preferences" +#~ msgstr "Non se poden gardar as preferencias" + +#, fuzzy +#~ msgid "Error While Removing Privacy List" +#~ msgstr "Erro ao engadir o servizo. %s" + +#, fuzzy +#~ msgid "Invisibility Not Supported" +#~ msgstr "Extensión non admitida" + +#, fuzzy, python-format +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "Listaxe de transferencias activas, rematadas e detidas" + +#, fuzzy +#~ msgid "Could not request upload slot for HTTP File Upload" +#~ msgstr "Non foi posíbel iniciar o servizo local" + +#, fuzzy +#~ msgid "Not Secure" +#~ msgstr "Non iniciado" + +#, fuzzy +#~ msgid "Could not Upload File" +#~ msgstr "Non foi posíbel cargar a imaxe" + +#, fuzzy +#~ msgid "Encryption Error" +#~ msgstr "Cifrado activado" + +#~ msgid "Lists all preferences and their values" +#~ msgstr "Nomea todas as preferencias e os seus valores" + +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "Define o valor de 'entrada' a 'valor'." + +#~ msgid "key=value" +#~ msgstr "entrada=valor" + +#, fuzzy +#~ msgid "'key' is the name of the preference, 'value' is what to set it to" +#~ msgstr "" +#~ "a 'entrada' é o nome da preferencia, o 'valor' é o do valor para definir" + +#~ msgid "Deletes a preference item" +#~ msgstr "Elimina un elemento de preferencia" + +#~ msgid "key" +#~ msgstr "entrada" + +#~ msgid "name of the preference to be deleted" +#~ msgstr "nome da preferencia para eliminar" + +#~ msgid "Writes the current state of Gajim preferences to the .config file" +#~ msgstr "" +#~ "Escribe o estado actual da preferencias do Gajim para o ficheiro de " +#~ "configuración" + +#, fuzzy, python-format +#~ msgid "%s is a directory but should be a file" +#~ msgstr "%s é un directorio mais podería ser un ficheiro" + +#, fuzzy, python-format +#~ msgid "Creating %s" +#~ msgstr "Descrición: %s" + +#, python-format +#~ msgid "%(nickname)s Signed In" +#~ msgstr "%(nickname)s conectouse" + +#~ msgid "Contact Signed In" +#~ msgstr "Contacto conectado" + +#, python-format +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "%(nickname)s desconectouse" + +#~ msgid "Contact Signed Out" +#~ msgstr "Contacto desconectado" + +#, fuzzy +#~ msgid "" +#~ "Show desktop notification even when a chat window is opened for this " +#~ "contact and does not have focus." +#~ msgstr "" +#~ "Permitir as notificacións emerxentes cando estou _ausente, non " +#~ "dispoñíbel, ocupado ou invisíbel." + +#, fuzzy +#~ msgid "default" +#~ msgstr "Por defecto" + +#, fuzzy +#~ msgid "" +#~ "Character to propose to add after desired nickname when nickname is " +#~ "already used in group chat." +#~ msgstr "" +#~ "Carácter para propor para engadir logo do alcume desexado cando alguén " +#~ "está a empregalo no grupo de conversa." + +#, fuzzy +#~ msgid "If enabled, Gajim displays the avatar in the chat window." +#~ msgstr "Se é falso, non verá máis a circunstancia na fiestra de charla." + +#~ msgid "I'm available." +#~ msgstr "Estou dispoñíbel." + +#~ msgid "I'm free for chat." +#~ msgstr "Estou libre para falar." + +#~ msgid "Be right back." +#~ msgstr "Volvo axiña" + +#~ msgid "I'm not available." +#~ msgstr "Non estou dispoñíbel." + +#~ msgid "Do not disturb." +#~ msgstr "Non molestar." + +#~ msgid "Bye!" +#~ msgstr "Adeus!" + +#, fuzzy +#~ msgid "Timeout loading image" +#~ msgstr "Non foi posíbel cargar a imaxe" + +#, fuzzy +#~ msgid "Error loading image" +#~ msgstr "Non foi posíbel cargar a imaxe" + +#, fuzzy +#~ msgid "Blocked Contacts" +#~ msgstr "Contactos" + +#, fuzzy +#~ msgid "Group chat" +#~ msgstr "Grupos de charla" + +#, fuzzy +#~ msgid "Bookmark group chat" +#~ msgstr "Engadir esta sala aos marcadores" + +#, fuzzy +#~ msgid "Bookmark" +#~ msgstr "Engadir esta sala aos marcadores" + +#, fuzzy +#~ msgid "Recently used group chats" +#~ msgstr "Entrar nun grupo de charla" + +#, fuzzy +#~ msgid "Clear Avatar" +#~ msgstr "Imaxe:" + +#, fuzzy +#~ msgid "Set Avatar…" +#~ msgstr "Elixir unha imaxe" + +#, fuzzy +#~ msgid "Contact" +#~ msgstr "Configuración" + +#, fuzzy +#~ msgid "_Leave Group Chat" +#~ msgstr "Novo grupo de charla" + +#, fuzzy +#~ msgid "Enter a new name for this group chat" +#~ msgstr "Introduza un nome novo para o grupo %s" + +#, fuzzy +#~ msgid "Custom" +#~ msgstr "Personalizado" + +#, fuzzy +#~ msgid "Pop it up" +#~ msgstr "_Emerxer" + +#, fuzzy +#~ msgid "Notify me about it" +#~ msgstr "_Notificarmo" + +#, fuzzy +#~ msgid "Show only in contact list" +#~ msgstr "Amosar os contactos desconectados" + +#, fuzzy +#~ msgid "No status messages" +#~ msgstr "mensaxe de estado" + +#, fuzzy +#~ msgid "All status messages" +#~ msgstr "mensaxe de estado" + +#, fuzzy +#~ msgid "Only enter/leave messages" +#~ msgstr "Ten mensaxes sen ler" + +#, fuzzy +#~ msgid "Me_rge accounts" +#~ msgstr "_Combinar as contas" + +#, fuzzy +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "Amosar na listaxe os a_vatares dos contactos" + +#, fuzzy +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "" +#~ "Se isto está marcado, o Gajim amosará as circunstancias dos contactos na " +#~ "listaxe e nos grupos de charla" + +#, fuzzy +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "Amosar na listaxe as _mensaxes de estado dos contactos" + +#, fuzzy +#~ msgid "" +#~ "If checked, status messages of contacts will be shown under the contact's " +#~ "name, in the contact list window, and in group chats" +#~ msgstr "" +#~ "Se isto está marcado, o Gajim amosará as mensaxes de estado dos contactos " +#~ "debaixo do nome do contacto na listaxe e en grupos de charla" + +#, fuzzy +#~ msgid "" +#~ "Show e_xtra information of contacts in contact list (mood, activity, ...)" +#~ msgstr "Amosar na listaxe os a_vatares dos contactos" + +#, fuzzy +#~ msgid "in _contact list" +#~ msgstr "Contactos" + +#, fuzzy +#~ msgid "in _group chats" +#~ msgstr "Entrar nun grupo de charla" + +#, fuzzy +#~ msgid "Display status messages in _single chats" +#~ msgstr "Amosar na listaxe as _mensaxes de estado dos contactos" + +#, fuzzy +#~ msgid "" +#~ "If checked, status lines will be shown in 1 on 1 chats when a contact " +#~ "changes their status or status message" +#~ msgstr "" +#~ "Se é falso, o Gajim nunca máis amosará a liña de estado cando un contacto " +#~ "cambie o seu estado ou a súa mensaxe de estado" + +#, fuzzy +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "Non se puido entrar no grupo de charla" + +#, fuzzy +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "Non se puido entrar no grupo de charla" + +#, fuzzy +#~ msgid "Show status changes (Default)" +#~ msgstr "_Rexistrar os cambios de estado dos contactos" + +#, fuzzy +#~ msgid "" +#~ "If checked, the tab will be colored according to the current chatstate of " +#~ "the contact" +#~ msgstr "Se isto está marcado, o Gajim entrará a esta sala ao inicio" + +#, fuzzy +#~ msgid "" +#~ "If checked, a description of the contacts current chatstate is shown in " +#~ "the banner" +#~ msgstr "Se isto está marcado, o Gajim entrará a esta sala ao inicio" + +#, fuzzy +#~ msgid "Chatstate" +#~ msgstr "Último estado: %s" + +#, fuzzy +#~ msgid "_When new event is received" +#~ msgstr "Cando se reciba un acontecemento novo" + +#, fuzzy +#~ msgid "Show popups/notifications when a chat window is already _open" +#~ msgstr "" +#~ "Permitir as notificacións emerxentes cando estou _ausente, non " +#~ "dispoñíbel, ocupado ou invisíbel." + +#, fuzzy +#~ msgid "Allow popups/notifications when I'm _away, not available or busy" +#~ msgstr "" +#~ "Permitir as notificacións emerxentes cando estou _ausente, non " +#~ "dispoñíbel, ocupado ou invisíbel." + +#, fuzzy +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "Notificar cando un contacto: " + +#, fuzzy +#~ msgid "" +#~ "A popup window about contacts that just signed in will be shown in the " +#~ "bottom right of the screen " +#~ msgstr "" +#~ "O Gajim notificaralle novos acontecementos a través dunha mensaxe " +#~ "emerxente no bordo inferior dereito da pantalla" + +#, fuzzy +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "Notificar cando un contacto: " + +#~ msgid "Play _sounds" +#~ msgstr "Reproducir _sons" + +#~ msgid "Ma_nage..." +#~ msgstr "Xestio_nar..." + +#, fuzzy +#~ msgid "No_t Available" +#~ msgstr "Non dispoñíbel" + +#, fuzzy +#~ msgid "Minutes" +#~ msgstr "minutos" + +#, fuzzy +#~ msgid "Default Message" +#~ msgstr "Mensaxes de estado por defecto" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "Mensaxe de estado" + +#, fuzzy +#~ msgid "Preset Status Messages" +#~ msgstr "Mensaxes de estado predefinidas" + +#, fuzzy +#~ msgid "_Theme" +#~ msgstr "Tema" + +#~ msgid "Configure color and font of the interface" +#~ msgstr "Configurar as cores e as fontes da interface" + +#, fuzzy +#~ msgid "" +#~ "If checked, protocol-specific status icons will be used (e.g. a contact " +#~ "from ICQ will have the equivalent ICQ icon for status online, away, busy, " +#~ "etc...)" +#~ msgstr "" +#~ "Se isto está marcado, o Gajim empregará iconas específicas para o " +#~ "protocolo- (por exemplo, un contacto de MSN terá a icona de MSN " +#~ "equivalente para o seu estado en liña, ausente, ocupado etc.)" + +#, fuzzy +#~ msgid "_Manage..." +#~ msgstr "Xestionar..." + +#, fuzzy +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "_Rexistrar os cambios de estado dos contactos" + +#, fuzzy +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "" +#~ "Se isto está marcado, o Gajim lembrará o contrasinal para esta conta" + +#~ msgid "_Open..." +#~ msgstr "_Abrir..." + +#, fuzzy +#~ msgid "_Filter" +#~ msgstr "_Filtro:" + +#, fuzzy +#~ msgid "Protocol" +#~ msgstr "_Protocolo:" + +#~ msgid "Privacy Lists:" +#~ msgstr "Listaxes de privacidade:" + +#, fuzzy +#~ msgid "Message..." +#~ msgstr "Mensaxe" + +#, fuzzy +#~ msgid "Preset _messages" +#~ msgstr "Mensaxes predefinidas:" + +#, fuzzy +#~ msgid "_Type your new status message" +#~ msgstr "Escriba a súa mensaxe nova de estado" + +#, fuzzy +#~ msgid "Change Status Message…" +#~ msgstr "_Cambiar a mensaxe de estado" + +#, fuzzy +#~ msgid "Mood:" +#~ msgstr "Sons" + +#, fuzzy +#~ msgid "Message:" +#~ msgstr "Mensaxes de estado predefinidas" + +#, fuzzy +#~ msgid "none" +#~ msgstr "unha" + +#, fuzzy +#~ msgid "both" +#~ msgstr "Ambos" + +#, fuzzy +#~ msgid "from" +#~ msgstr "De" + +#, fuzzy +#~ msgid "to" +#~ msgstr "dúas" + +#~ msgid "Privacy List" +#~ msgstr "Listaxe de privacidade" + +#~ msgid "Privacy List" +#~ msgstr "Listaxe de privacidade" + +#~ msgid "Active for this session" +#~ msgstr "Activo para esta sesión" + +#~ msgid "Active on each startup" +#~ msgstr "Activo en cada inicio" + +#~ msgid "List of rules" +#~ msgstr "Listaxe de regras" + +#~ msgid "Add / Edit a rule" +#~ msgstr "Engadir / Editar unha regra" + +#~ msgid "Allow" +#~ msgstr "Permitir" + +#~ msgid "Deny" +#~ msgstr "Denegar" + +#~ msgid "all in the group" +#~ msgstr "todos no grupo" + +#~ msgid "all by subscription" +#~ msgstr "todos por subscrición" + +#~ msgid "All" +#~ msgstr "Todos" + +#~ msgid "to send me messages" +#~ msgstr "para me enviar mensaxes" + +#~ msgid "to send me queries" +#~ msgstr "para me enviar preguntas" + +#~ msgid "to view my status" +#~ msgstr "para ver o meu estado" + +#~ msgid "to send me status" +#~ msgstr "para me enviar o estado" + +#, fuzzy +#~ msgid "All (including subscription)" +#~ msgstr "todos por subscrición" + +#~ msgid "Order:" +#~ msgstr "Orde:" + +#, fuzzy +#~ msgid "" +#~ "Deny authorization from contact so the contact cannot know if you are " +#~ "connected" +#~ msgstr "" +#~ "Denegar a autorización do contacto para que non poida saber cando estou " +#~ "conectado" + +#, fuzzy +#~ msgid "Authorize contact so the contact can know if you are connected" +#~ msgstr "Autorizar o contacto para que poida saber cando estou conectado" + +#, fuzzy +#~ msgid "Contact List Shortcuts" +#~ msgstr "Contacto desconectado" + +#~ msgid "Fill in the form." +#~ msgstr "Cubrir o formulario." + +#, fuzzy +#~ msgid "Message: " +#~ msgstr "Mensaxes de estado predefinidas" + +#, fuzzy, python-format +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "%(contact_jid)s convidouse a %(room_jid)s." + +#, fuzzy +#~ msgid "Group Chat Invitation " +#~ msgstr "Convite a grupo de charla" + +#, python-format +#~ msgid "Comment: %s" +#~ msgstr "Comentario: %s" + +#, fuzzy +#~ msgid "Off" +#~ msgstr "Desconectado" + +#, fuzzy +#~ msgid "Retrieving profile…" +#~ msgstr "A recuperar o perfil..." + +#, fuzzy +#~ msgid "Wrong date format" +#~ msgstr "Información" + +#, fuzzy +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "Formato: AAAA-MM-DD" + +#~ msgid "Information received" +#~ msgstr "Información recibida" + +#, fuzzy +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "Sen unha conexión non pode publicar a súa información de contacto." + +#, fuzzy +#~ msgid "Sending profile…" +#~ msgstr "A enviar o perfil..." + +#~ msgid "Information NOT published" +#~ msgstr "Información NON publicada" + +#~ msgid "vCard publication failed" +#~ msgstr "Fallou a publicación da vCard" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "" +#~ "Produciuse un erro mentres se publicaba a súa información persoal, probe " +#~ "de novo máis tarde." + +#, fuzzy +#~ msgid "?password:Hidden" +#~ msgstr "Contrasinal: " + +#, python-format +#~ msgid "Privacy List %s" +#~ msgstr "Listaxe de privacidade %s" + +#, python-format +#~ msgid "Privacy List for %s" +#~ msgstr "Listaxe de privacidade para %s" + +#, fuzzy, python-format +#~ msgid "" +#~ "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" +#~ msgstr "Orde: %s, acción: %s, tipo: %s, valor: %s" + +#, fuzzy, python-format +#~ msgid "Order: %(order)s, action: %(action)s" +#~ msgstr "Orde: %s, acción: %s" + +#~ msgid "Edit a rule" +#~ msgstr "Editar unha regra" + +#~ msgid "Add a rule" +#~ msgstr "Engadir unha regra" + +#, python-format +#~ msgid "Privacy Lists for %s" +#~ msgstr "Listaxes de privacidade para %s" + +#~ msgid "Invalid List Name" +#~ msgstr "O nome de listaxe non é válido" + +#~ msgid "You must enter a name to create a privacy list." +#~ msgstr "Debe introducir un nome para crear unha listaxe de privacidade." + +#, fuzzy +#~ msgid "Loading" +#~ msgstr "A compor" + +#~ msgid "status message title" +#~ msgstr "título da mensaxe de estado" + +#~ msgid "status message text" +#~ msgstr "texto da mensaxe de estado" + +#, fuzzy +#~ msgid "Start New Conversation" +#~ msgstr "Conexión" + +#~ msgid "Gajim - %s" +#~ msgstr "Gajim - %s" + +#, fuzzy +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "Non está dispoñíbel o dicionario para o idioma %s" + +#, fuzzy +#~ msgid "" +#~ "You have to install the dictionary \"%s\" to use spellchecking, or choose " +#~ "another language by setting the speller_language option.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "Ten que instalar o dicionario %s para usar o corrector ou elixir outra " +#~ "lingua e logo definir a opción speller_language." + +#, fuzzy +#~ msgid "_Reconnect" +#~ msgstr "Contacto desconectado" + +#, fuzzy +#~ msgid "Quit" +#~ msgstr "_Saír" + +#, fuzzy +#~ msgid "Show Contact List" +#~ msgstr "Amosar os contactos desconectados" + +#, fuzzy +#~ msgid "Add to Contact List" +#~ msgstr "_Engadir un contacto..." + +#, fuzzy +#~ msgid "Invite Contact" +#~ msgstr "Contactos" + +#, fuzzy +#~ msgid "Configure Group Chat" +#~ msgstr "Novo grupo de charla" + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." +#~ msgstr "" +#~ "Se for verdadeiro, o Gajim amosará unha icona en cada separador que " +#~ "conteña mensaxes sen ler. A depender do tema, esta icona pode ser animada." + +#~ msgid "Invalid character in hostname." +#~ msgstr "Carácter non válido no nome do host." + +#~ msgid "Server address required." +#~ msgstr "É necesario o enderezo do servidor." + +#~ msgid "Invalid character in username." +#~ msgstr "Hai un caracter non válido no nome de usuario." + +#~ msgid "Invalid character in resource." +#~ msgstr "Carácter non válido no recurso." + +#, fuzzy +#~ msgid "Notification color for contacts signing in." +#~ msgstr "Notificar cando un contacto: " + +#, fuzzy +#~ msgid "Notification color for contacts signing out." +#~ msgstr "Notificar cando un contacto: " + +#, fuzzy +#~ msgid "Notification color for new message notification." +#~ msgstr "_Mostrar o evento na listaxe de contactos" + +#, fuzzy +#~ msgid "Notification color for file transfer request." +#~ msgstr "_Notificarme cando rematar unha transferencia" + +#, fuzzy +#~ msgid "Notification color for file transfer errors." +#~ msgstr "_Notificarme cando rematar unha transferencia" + +#, fuzzy +#~ msgid "Notification background color for changed status." +#~ msgstr "Cor de fondo para os contactos que acaban de se conectar." + +#, fuzzy +#~ msgid "Event Type" +#~ msgstr "Acontecemento" + +#, fuzzy +#~ msgid "Event desc" +#~ msgstr "Eventos" + +#, fuzzy +#~ msgid "No response from the Server" +#~ msgstr "Non está conectado ao servidor" + +#, fuzzy +#~ msgid "Resource Conflict" +#~ msgstr "Conflito co nome de usuario" + +#, fuzzy +#~ msgid "Unable to load image" +#~ msgstr "Non se pode cargar o módulo inactivo" + +#, fuzzy +#~ msgid "Media type not supported: %s" +#~ msgstr "Extensión non admitida" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Gajim: asistente para crear unha conta" + +#, fuzzy +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "Precisa unha conta para se conectar\n" +#~ "á rede Jabber" + +#, fuzzy +#~ msgid "I already have an account I want to _use" +#~ msgstr "Xa teño unha conta e quero empregala" + +#~ msgid "I want to _register for a new account" +#~ msgstr "Quero _rexistrar unha conta nova de Jabber" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "Por favor, elixa unha das opcións seguintes:" + +#, fuzzy +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "Por favor, introduza os datos para a súa conta nova" + +#, fuzzy +#~ msgid "_XMPP Address:" +#~ msgstr "Enderezo de AIM:" + +#, fuzzy +#~ msgid "Anon_ymous authentication" +#~ msgstr "Usar a autenticación" + +#~ msgid "_Password:" +#~ msgstr "C_ontrasinal:" + +#~ msgid "Save pass_word" +#~ msgstr "_Gardar o contrasinal" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "" +#~ "Se isto está marcado, o Gajim lembrará o contrasinal para esta conta" + +#~ msgid "_Server:" +#~ msgstr "_Servidor:" + +#~ msgid "Manage..." +#~ msgstr "Xestionar..." + +#~ msgid "_Port:" +#~ msgstr "_Porto:" + +#~ msgid "_Advanced" +#~ msgstr "_Avanzado" + +#, fuzzy +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "Estase a crear a conta\n" +#~ "\n" +#~ "Por favor, agarde..." + +#~ msgid "Connect when I press Finish" +#~ msgstr "Conectar cando prema Rematar" + +#~ msgid "Set my profile when I connect" +#~ msgstr "Configurar o meu perfil ao me conectar" + +#~ msgid "_Finish" +#~ msgstr "_Rematar" + +#, fuzzy +#~ msgid "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." +#~ msgstr "" +#~ "Pode configurar opcións avanzadas da conta se preme o botón Avanzado, ou " +#~ "máis tarde mediante o submenú Contas do menú Editar da fiestra principal." + +#~ msgid "Your new account has been created successfully" +#~ msgstr "A súa conta nova creouse con éxito" + +#~ msgid "Invalid username" +#~ msgstr "O nome de usuario non é válido" + +#~ msgid "You must provide a username to configure this account." +#~ msgstr "Debe pórlle un nome para configurar esta conta." + +#, fuzzy +#~ msgid "Invalid server" +#~ msgstr "O nome de usuario non é válido" + +#, fuzzy +#~ msgid "Please provide a server on which you want to register." +#~ msgstr "Especifique o novo alcume que quere usar:" + +#~ msgid "Invalid entry" +#~ msgstr "A entrada non é válida" + +#, fuzzy +#~ msgid "Certificate Already in File" +#~ msgstr "O contacto xa está na listaxe" + +#~ msgid "Account name is in use" +#~ msgstr "O nome da conta está en uso" + +#~ msgid "You already have an account using this name." +#~ msgstr "Xa ten unha conta en que emprega este nome" + +#~ msgid "Connection with account \"%s\" has been lost" +#~ msgstr "Perdeuse a conexión da conta \"%s\"" + +#~ msgid "Reconnect manually." +#~ msgstr "Reconectar manualmente." + +#, fuzzy +#~ msgid "Server %(name)s answered wrongly to register request: %(error)s" +#~ msgstr "" +#~ "O transporte %s respondeu incorrectamente á solicitude de rexistro: %s" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "Non se pode conectar a \"%s\"" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "Non se pode conectar a \"%s\"" + +#~ msgid "Check your connection or try again later." +#~ msgstr "Comprobe a súa conexión ou probe máis tarde." + +#, fuzzy +#~ msgid "Server replied: %s" +#~ msgstr "Gardouse en: %s" + +#, fuzzy +#~ msgid "Connection to proxy failed" +#~ msgstr "Fallou a conexión" + +#, fuzzy +#~ msgid "Could not connect to account %s" +#~ msgstr "Non se pode conectar a \"%s\"" + +#, fuzzy +#~ msgid "Connection with account %s has been lost. Retry connecting." +#~ msgstr "Perdeuse a conexión da conta \"%s\"" + +#~ msgid "Please check your login and password for correctness." +#~ msgstr "" +#~ "Por favor, comprobe que o seu nome de usuario e o seu contrasinal sexan " +#~ "os correctos." + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "Conectar con HTTP" + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "BOSH" +#~ msgstr "_URL" + +#, fuzzy +#~ msgid "Use HTTP prox_y" +#~ msgstr "_Usar proxy" + +#, fuzzy +#~ msgid "_BOSH URL" +#~ msgstr "_URL" + +#, fuzzy +#~ msgid "BOSH" +#~ msgstr "_URL" + +#, fuzzy +#~ msgid "Warn on insecure connection" +#~ msgstr "Conexión" + +#, fuzzy +#~ msgid "Contact list, list of contacts" +#~ msgstr "_Rexistrar os cambios de estado dos contactos" + +#~ msgid "You are participating in one or more group chats" +#~ msgstr "Está a participar nun ou máis grupos de charlas" + +#, fuzzy +#~ msgid "" +#~ "Changing your status to invisible will result in you leaving those group " +#~ "chats.\n" +#~ "Are you sure you want to go invisible?" +#~ msgstr "" +#~ "Ao cambiar o seu estado a invisíbel provocará a súa desconexión dos " +#~ "grupos de charla. Está seguro de que quere ser invisíbel?" + +#, fuzzy +#~ msgid "_Disconnect" +#~ msgstr "Contacto desconectado" + +#~ msgid "You cannot join a group chat while you are invisible" +#~ msgstr "Non pode entrar nun grupo de charlas se está invisíbel" + +#~ msgid "Invisible" +#~ msgstr "Invisíbel" + +#, fuzzy +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "Non pode entrar nun grupo de charlas se está invisíbel" + +#~ msgid "_Invisible" +#~ msgstr "_Invisíbel" + +#, fuzzy +#~ msgid "Yesterday" +#~ msgid_plural "%(nb_days)i days ago" +#~ msgstr[0] "Onte" +#~ msgstr[1] "Onte" + +#, fuzzy +#~ msgid "_Cancel Upload" +#~ msgstr "_Cancelar" + +#, fuzzy +#~ msgid "" +#~ "If you close this tab while having chat history disabled, this message " +#~ "will be lost." +#~ msgstr "" +#~ "Se pecha este separador e ten o historial desactivado, esta mensaxe " +#~ "perderase." + +#, fuzzy +#~ msgid "Unregister Failed" +#~ msgstr "Fallou a conexión" + +#, fuzzy +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "Fallou a conexión" + +#, fuzzy +#~ msgid "New Password" +#~ msgstr "Gardar o contrasinal" + +#~ msgid "What do you want to do?" +#~ msgstr "Que quere facer?" + +#~ msgid "Remove account from Gajim and from _server" +#~ msgstr "Eliminar a conta do Gajim e do _servidor" + +#, fuzzy +#~ msgid "You must enter a password" +#~ msgstr "Debe introducir un contrasinal." + +#, fuzzy +#~ msgid "You still have open chats in your account %s" +#~ msgstr "Comezou unha charla coa conta %s" + +#, fuzzy +#~ msgid "To unregister from a server, the account must be enabled." +#~ msgstr "Para cambiar o nome da conta, debe estar desconectado" + +#, fuzzy +#~ msgid "Password required" +#~ msgstr "É necesario o contrasinal" + +#, fuzzy +#~ msgid "Still connected to the server" +#~ msgstr "Non está conectado ao servidor" + +#, fuzzy +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "Se a elimina, perderase a conexión co servidor" + +#, fuzzy +#~ msgid "Connection to server %s failed" +#~ msgstr "Fallou a conexión" + +#, fuzzy +#~ msgid "What would you like to do?" +#~ msgstr "Que quere facer?" + +#, fuzzy +#~ msgid "Remove only from Gajim" +#~ msgstr "Eliminar a _conta unicamente do Gajim" + +#, fuzzy +#~ msgid "Contents" +#~ msgstr "_Contidos" + +#, fuzzy +#~ msgid "FAQ" +#~ msgstr "_FAQ" + +#~ msgid "Save as Preset Status Message" +#~ msgstr "Gardar como mensaxe de estado predefinido" + +#~ msgid "Enter a new nickname for contact %s" +#~ msgstr "Introduza un alcume novo para o contacto %s" + +#, fuzzy +#~ msgid "Join a group chat" +#~ msgstr "Entrar nun grupo de charla" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "Aceptar" + +#~ msgid "New entry received" +#~ msgstr "Recibiuse unha entrada nova" + +#~ msgid "You have received new entry:" +#~ msgstr "Recibiu unha entrada nova:" + +#~ msgid "Feed name:" +#~ msgstr "Nome do feed:" + +#~ msgid "Last modified:" +#~ msgstr "Última modificación:" + +#, fuzzy +#~ msgid "Send file?" +#~ msgstr "Enviar ficheiro" + +#, fuzzy +#~ msgid "Mail _client" +#~ msgstr "_Cliente de correo:" + +#, fuzzy +#~ msgid "_Browser" +#~ msgstr "_Navegador:" + +#, fuzzy +#~ msgid "_File manager" +#~ msgstr "A_dministrador de ficheiros:" + +#, fuzzy +#~ msgid "Applications" +#~ msgstr "Programas" + +#, fuzzy +#~ msgid "" +#~ "Uses ReStructured text markup to send HTML, plus ASCII formatting if " +#~ "selected. Needs docutils installed (for syntax, see http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Usa a sintaxe de ReStructured para HTML, mais o formato ascii se está " +#~ "seleccionado (se quere usalo, instale o docutils)" + +#, fuzzy +#~ msgid "_Ignore formatting of incoming messages" +#~ msgstr "Ignorar o contido adornado en mensaxes entrantes" + +#, fuzzy +#~ msgid "" +#~ "Some messages may include rich content (xhtml formatting, colors etc). If " +#~ "checked, Gajim will just display the plain message text." +#~ msgstr "" +#~ "Algunhas mensaxes poden incluír un contido adornado (formato, cores etc). " +#~ "Se isto está marcado, o Gajim amosará a mensaxe en bruto." + +#, fuzzy +#~ msgid "RST XHTML Generator" +#~ msgstr "Xeral" + +#~ msgid "New Single Message" +#~ msgstr "Mensaxe nova" + +#, fuzzy +#~ msgid "Error %(code)s: %(msg)s" +#~ msgstr "%(nickname)s: %(message)s" + +#~ msgid "twelve" +#~ msgstr "doce" + +#~ msgid "one" +#~ msgstr "unha" + +#~ msgid "two" +#~ msgstr "dúas" + +#~ msgid "three" +#~ msgstr "tres" + +#~ msgid "four" +#~ msgstr "catro" + +#~ msgid "five" +#~ msgstr "cinco" + +#~ msgid "six" +#~ msgstr "seis" + +#~ msgid "seven" +#~ msgstr "sete" + +#~ msgid "eight" +#~ msgstr "oito" + +#~ msgid "nine" +#~ msgstr "nove" + +#~ msgid "ten" +#~ msgstr "dez" + +#~ msgid "eleven" +#~ msgstr "once" + +#~ msgid "%(0)s o'clock" +#~ msgstr "%(0)s en punto" + +#~ msgid "five past %(0)s" +#~ msgstr "%(0)s e cinco" + +#~ msgid "ten past %(0)s" +#~ msgstr "%(0)s e dez" + +#~ msgid "quarter past %(0)s" +#~ msgstr "%(0)s e cuarto" + +#~ msgid "twenty past %(0)s" +#~ msgstr "%(0)s e vinte" + +#~ msgid "twenty five past %(0)s" +#~ msgstr "%(0)s e vinte e cinco" + +#~ msgid "half past %(0)s" +#~ msgstr "%(0)s e media" + +#~ msgid "twenty five to %(1)s" +#~ msgstr "%(1)s menos vinte e cinco" + +#~ msgid "twenty to %(1)s" +#~ msgstr "%(1)s menos vinte" + +#~ msgid "quarter to %(1)s" +#~ msgstr "%(1)s menos cuarto" + +#~ msgid "ten to %(1)s" +#~ msgstr "%(1)s menos dez" + +#~ msgid "five to %(1)s" +#~ msgstr "%(1)s menos cinco" + +#~ msgid "%(1)s o'clock" +#~ msgstr "%(1)s en punto" + +#~ msgid "Night" +#~ msgstr "Noite" + +#~ msgid "Early morning" +#~ msgstr "Madrugada" + +#~ msgid "Morning" +#~ msgstr "Mañá" + +#~ msgid "Almost noon" +#~ msgstr "Media mañá" + +#~ msgid "Noon" +#~ msgstr "Mediodía" + +#~ msgid "Afternoon" +#~ msgstr "Tarde" + +#~ msgid "Evening" +#~ msgstr "Serán" + +#~ msgid "Late evening" +#~ msgstr "Noite" + +#~ msgid "Start of week" +#~ msgstr "Comezo da semana" + +#~ msgid "Middle of week" +#~ msgstr "Metade de semana" + +#~ msgid "End of week" +#~ msgstr "Final de semana" + +#~ msgid "Weekend!" +#~ msgstr "Fin de semana!" + +#, fuzzy +#~ msgid "" +#~ "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or " +#~ "0 to disable Fuzzy Clock. 1 is the most precise clock, 4 the least " +#~ "precise one. This is used only if 'print_time' is 'sometimes'." +#~ msgstr "" +#~ "Amosar a hora nas charlas co Fuzzy Clock. Valor do fuzziness desde 1 a 4 " +#~ "ou 0 para desactivar o fuzzyclock. 1 é o reloxo máis preciso, 4 o menos " +#~ "preciso. So se emprega se está conectado print_time 'ás veces'" + +#~ msgid "message" +#~ msgstr "mensaxe" + +#, fuzzy +#~ msgid "error: %s" +#~ msgstr "Mensaxe de erro: %s" + +#, fuzzy +#~ msgid "Form: %s" +#~ msgstr "Estou %s" + +#, fuzzy +#~ msgid "XML Input" +#~ msgstr "Entrada de XML" + +#, fuzzy +#~ msgid "Ttitle" +#~ msgstr "Título:" + +#, fuzzy +#~ msgid "Screen" +#~ msgstr "verde" + +#, fuzzy +#~ msgid "Conversation with " +#~ msgstr "Historial de conversas" + +#, fuzzy +#~ msgid "Continued conversation" +#~ msgstr "Conexión" + +#, fuzzy +#~ msgid "%s has invited you to join a discussion" +#~ msgstr "%(contact_jid)s convidouno ao grupo de charla %(room_jid)s." + +#~ msgid "_Send Private Message" +#~ msgstr "_Enviar unha mensaxe privada" + +#, fuzzy +#~ msgid "Participant Actions" +#~ msgstr "Participantes" + +#~ msgid "_Voice" +#~ msgstr "_Voz" + +#~ msgid "Mo_derator" +#~ msgstr "Mo_derador" + +#~ msgid "_Member" +#~ msgstr "_Membro" + +#~ msgid "_Admin" +#~ msgstr "_Administrar" + +#~ msgid "_Owner" +#~ msgstr "_Propietario" + +#, fuzzy +#~ msgid "_Add to Contact List" +#~ msgstr "_Engadir un contacto..." + +#, fuzzy +#~ msgid "_Execute command" +#~ msgstr "Executar o _comando..." + +#, fuzzy +#~ msgid "Change _Nickname..." +#~ msgstr "Cambiar o _alcume" + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "Novo grupo de charla" + +#, fuzzy +#~ msgid "Change _Subject..." +#~ msgstr "Cambiar o _tema" + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "Entrar nun grupo de charla" + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "Novo grupo de charla" + +#, fuzzy +#~ msgid "_Request Voice" +#~ msgstr "_Voz" + +#, fuzzy +#~ msgid "_Bookmark" +#~ msgstr "Engadir esta sala aos marcadores" + +#, fuzzy +#~ msgid "View certificate…" +#~ msgstr "O nome de usuario non é válido" + +#, fuzzy +#~ msgid "Continue" +#~ msgstr "_Continuar" + +#~ msgid "" +#~ "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM " +#~ "IS RUNNING)" +#~ msgstr "" +#~ "Quere limpar a base de datos? (TOTALMENTE DESACONSELLADO SE GAJIM ESTÁ EN " +#~ "EXECUCIÓN)" + +#, fuzzy +#~ msgid "Authorization" +#~ msgstr "Enviouse a autorización" + +#, fuzzy +#~ msgid "" +#~ "All chat and group chat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Todas as charlas e os grupos de charlas pecharanse. Desexa continuar?" + +#, fuzzy +#~ msgid "Account '%s' is still connected to the server" +#~ msgstr "A conta \"%s\" está conectada ao servidor" + +#, fuzzy +#~ msgid "Error While Saving" +#~ msgstr "Erro ao engadir o servizo. %s" + +#, fuzzy +#~ msgid "" +#~ "Image cannot be saved in %(type)s format.\n" +#~ "Save as %(new_filename)s?" +#~ msgstr "" +#~ "A imaxe non se puido gardar no formato %(type)s. Desexa gardar como " +#~ "%(new_filename)s?" + +#, fuzzy +#~ msgid "Save _As" +#~ msgstr "Ten " + +#, fuzzy +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "A ID de Jabber non é válida para o grupo de charla" + +#, fuzzy +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "" +#~ "A ID de Jabber para o grupo de charla contén caracteres que non se " +#~ "permiten." + +#~ msgid "You may specify a reason below:" +#~ msgstr "Debe especificar un motivo debaixo:" + +#~ msgid "Banning %s" +#~ msgstr "A expulsar %s" + +#, fuzzy +#~ msgid "" +#~ "Always ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Preguntar sempre antes de pechar a fiestra/separador dun grupo de charla " +#~ "nesta listaxe (separada por espazos) de ID de Jabber de grupos de charla." + +#, fuzzy +#~ msgid "" +#~ "Never ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Non preguntar nunca antes de pechar a fiestra/separador dun grupo de " +#~ "charla nesta listaxe (separada por espazos) de ID de Jabber de grupos de " +#~ "charla." + +#, fuzzy +#~ msgid "Leave Group Chats" +#~ msgstr "Novo grupo de charla" + +#, fuzzy +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "%(nickname)s da sala %(room_name)s" + +#, fuzzy +#~ msgid "You have not joined a group chat." +#~ msgstr "%s entrou no grupo de charla" + +#, fuzzy +#~ msgid "You left the following group chats:" +#~ msgstr "Xa está na sala %s" + +#~ msgid "Don't show avatar for the transport itself." +#~ msgstr "Non amosar a circunstancia para o transporte en si mesmo" + +#, fuzzy +#~ msgid "" +#~ "Show a confirmation dialog for a custom status? Empty string means never " +#~ "show the dialog." +#~ msgstr "" +#~ "Débese amosar a confirmación da creación de metacontactos ou non? Unha " +#~ "secuencia baleira significa que nunca se amosará." + +#, fuzzy +#~ msgid "Jabberd2 workaround." +#~ msgstr "Corrección Jabberd2" + +#, fuzzy +#~ msgid "Configure Services…" +#~ msgstr "_Descubrir os servizos..." + +#, fuzzy +#~ msgid "Group Chat Bookmarks" +#~ msgstr "Grupos de charla" + +#, fuzzy +#~ msgid "Add Bookmark" +#~ msgstr "Engadir esta sala aos marcadores" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "Engadir esta sala aos marcadores" + +#, fuzzy +#~ msgid "_Server" +#~ msgstr "_Servidor:" + +#, fuzzy +#~ msgid "_Password" +#~ msgstr "C_ontrasinal:" + +#, fuzzy +#~ msgid "Join chat when connected" +#~ msgstr "Contacto desconectado" + +#~ msgid "New Group Chat" +#~ msgstr "Novo grupo de charla" + +#~ msgid "This bookmark has invalid data" +#~ msgstr "Este marcador ten información que non é válida" + +#, fuzzy +#~ msgid "" +#~ "Please be sure to fill out server and group chat fields or remove this " +#~ "bookmark." +#~ msgstr "" +#~ "Por favor, asegúrese de cubrir os campos de servidor e de sala ou elimine " +#~ "este marcador." + +#, fuzzy +#~ msgid "Character not allowed" +#~ msgstr "Alcume non permitido: %s" + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "A ID de Jabber non é válida para o grupo de charla" + +#~ msgid "Unable to join group chat" +#~ msgstr "Non se puido entrar no grupo de charla" + +#, fuzzy +#~ msgid "You are banned from group chat %s." +#~ msgstr "Está expulsado deste grupo de charla." + +#, fuzzy +#~ msgid "Remote server %s does not exist." +#~ msgstr "Non existe o grupo de charla." + +#, fuzzy +#~ msgid "Group chat %s does not exist." +#~ msgstr "Non existe o grupo de charla." + +#, fuzzy +#~ msgid "Group chat creation is not permitted." +#~ msgstr "A creación de grupos de charla está restrinxida." + +#, fuzzy +#~ msgid "You must use your registered nickname in %s." +#~ msgstr "É necesario usar o alcume rexistrado." + +#, fuzzy +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "Non está na listaxe de membros" + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "Isto non é un grupo de charla" + +#~ msgid "This is not a group chat" +#~ msgstr "Isto non é un grupo de charla" + +#, fuzzy +#~ msgid "Please choose a group chat" +#~ msgstr "Crear unha publicación nova" + +#, fuzzy +#~ msgid "Invalid Nickname" +#~ msgstr "O nome de usuario non é válido" + +#, fuzzy +#~ msgid "Wrong server" +#~ msgstr "Host errado" + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "Isto non é un grupo de charla" + +#, fuzzy +#~ msgid "A Password is required to join the group chat %s. Please type it." +#~ msgstr "É necesario un contrasinal para entrar a este grupo de charla." + +#~ msgid "Not in Roster" +#~ msgstr "Non está na listaxe" + +#~ msgid "I would like to add you to my roster" +#~ msgstr "Gustaríame engadilo á miña listaxe de contactos" + +#, fuzzy +#~ msgid "Add to Roster" +#~ msgstr "_Engadir á listaxe de contactos" + +#, fuzzy +#~ msgid "Manage Room" +#~ msgstr "Xestionar os marcadores" + +#, fuzzy +#~ msgid "Configure Room" +#~ msgstr "Configurar a sala" + +#, fuzzy +#~ msgid "Destroy Room" +#~ msgstr "Descrición: %s" + +#, fuzzy +#~ msgid "Change Nick" +#~ msgstr "Cambiar o _alcume" + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "Contacto desconectado" + +#, fuzzy +#~ msgid "Copy JID" +#~ msgstr "Sala:" + +#, fuzzy +#~ msgid "Add to Roster…" +#~ msgstr "_Engadir á listaxe de contactos" + +#, fuzzy +#~ msgid "Copy JID/Email" +#~ msgstr "_Copiar o enderezo" + +#, fuzzy +#~ msgid "JID: %s" +#~ msgstr "ID de Jabber : %s" + +#~ msgid "Changing Subject" +#~ msgstr "Cambiando o asunto" + +#~ msgid "Please specify the new subject:" +#~ msgstr "Especifique o asunto novo:" + +#, fuzzy +#~ msgid "You (%s) joined the room" +#~ msgstr "%s entrou no grupo de charla" + +#, fuzzy +#~ msgid "Unable to join groupchat" +#~ msgstr "Non se puido entrar no grupo de charla" + +#~ msgid "Groupchat Invitation" +#~ msgstr "Convite a grupo de charla" + +#, fuzzy +#~ msgid "%(jid)s has been invited in this room" +#~ msgstr "%(nick)s foi expulsado por %(who)s: %(reason)s" + +#, fuzzy +#~ msgid "JID is not a Groupchat" +#~ msgstr "Isto non é un grupo de charla" + +#~ msgid "Invalid JID" +#~ msgstr "A ID de Jabber non é válida" + +#~ msgid "A connection is not available" +#~ msgstr "Non está dispoñíbel ningunha conexión" + +#, fuzzy +#~ msgid "JID already in list" +#~ msgstr "Cliente de MI de Jabber" + +#, fuzzy +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "Non está dispoñíbel ningunha conexión" + +#~ msgid "Removes contact from roster" +#~ msgstr "Elimina o contacto da listaxe" + +#, fuzzy +#~ msgid "Not in roster" +#~ msgstr "Non está na listaxe" + +#, fuzzy +#~ msgid "Contact signed in notification color." +#~ msgstr "_Mostrar o evento na listaxe de contactos" + +#, fuzzy +#~ msgid "Contact signout notification color" +#~ msgstr "_Mostrar o evento na listaxe de contactos" + +#, fuzzy +#~ msgid "File transfer request notification color." +#~ msgstr "Solicitude de transferencia de ficheiro" + +#, fuzzy +#~ msgid "File transfer error notification color." +#~ msgstr "Cancelouse a transferencia do ficheiro" + +#, fuzzy +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "" +#~ "Cando unha transferencia se completar, amosa unha notificación emerxente" + +#, fuzzy +#~ msgid "Groupchat invitation notification color" +#~ msgstr "Convite a grupo de charla" + +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "Engadir * e [n] no título da listaxe?" + +#~ msgid "Hides the banner in two persons chat window" +#~ msgstr "Oculta o báner nunha fiestra de charla de dúas persoas." + +#, fuzzy +#~ msgid "" +#~ "Show the confirm metacontacts creation dialog or not? Empty string means " +#~ "never show the dialog." +#~ msgstr "" +#~ "Débese amosar a confirmación da creación de metacontactos ou non? Unha " +#~ "secuencia baleira significa que nunca se amosará." + +#, fuzzy +#~ msgid "Language for which misspelled words will be checked" +#~ msgstr "Lingua en que se comprobarán os erros ortográficos" + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "Estou a comer, déixeme unha mensaxe." + +#, fuzzy +#~ msgid "from room %s" +#~ msgstr "Estou %s" + +#, fuzzy +#~ msgid "Leave Groupchats" +#~ msgstr "Novo grupo de charla" + +#, fuzzy +#~ msgid "Auto Join" +#~ msgstr "Autoconectar" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "Sala:" + +#~ msgid "Jabber ID:" +#~ msgstr "ID de Jabber:" + +#, fuzzy +#~ msgid "Occupant Actions" +#~ msgstr "_Accións" + +#~ msgid "_Add to Roster" +#~ msgstr "_Engadir á listaxe de contactos" + +#, fuzzy +#~ msgid "_Manage Room" +#~ msgstr "Xestionar os marcadores" + +#, fuzzy +#~ msgid "Configure _Room..." +#~ msgstr "Configurar a sala" + +#, fuzzy +#~ msgid "_Destroy Room" +#~ msgstr "Descrición: %s" + +#, fuzzy +#~ msgid "Jabber ID" +#~ msgstr "ID de Jabber:" + +#, fuzzy +#~ msgid "account" +#~ msgstr "Conta" + +#, fuzzy +#~ msgid "Roster" +#~ msgstr "Amosar _listaxe" + +#, fuzzy +#~ msgid "Show only in roster" +#~ msgstr "Amosar só na _listaxe de contactos" + +#, fuzzy +#~ msgid "in _roster" +#~ msgstr "Non está na listaxe" + +#, fuzzy +#~ msgid "Roster Appearance" +#~ msgstr "Editar unha regra" + +#, fuzzy +#~ msgid "_Add to Roster..." +#~ msgstr "_Engadir á listaxe de contactos" + +#~ msgid "_Jabber ID:" +#~ msgstr "ID de _Jabber: " + +#, fuzzy +#~ msgid "_Jabber ID" +#~ msgstr "ID de _Jabber: " + +#~ msgid "JabberID" +#~ msgstr "ID de Jabber:" + +#, fuzzy +#~ msgid "Show Roster" +#~ msgstr "Amosar _listaxe" + +#, fuzzy +#~ msgid "MUC server" +#~ msgstr "Observadores" + +#~ msgid "Room Configuration" +#~ msgstr "Configuración da sala" + +#~ msgid "Join _Group Chat" +#~ msgstr "Entrar nun grupo de charla" + +#, fuzzy +#~ msgid "Audio sessions are not available" +#~ msgstr "Non está dispoñíbel ningunha conexión" + +#~ msgid "Conference" +#~ msgstr "Conferencia" + +#, fuzzy +#~ msgid "_Manage Bookmarks…" +#~ msgstr "Xestionar os marcadores" + +#, fuzzy +#~ msgid "Hide _Roster" +#~ msgstr "Non está na listaxe" + +#~ msgid "Show _Roster" +#~ msgstr "Amosar _listaxe" + +#, fuzzy +#~ msgid "Invalid Room" +#~ msgstr "A entrada non é válida" + +#, fuzzy +#~ msgid "Invalid room" +#~ msgstr "A entrada non é válida" + +#~ msgid "A GTK+ Jabber client" +#~ msgstr "Un cliente de Jabber de GTK" + +#~ msgid "Changing Nickname" +#~ msgstr "Cambiando o alcume" + +#~ msgid "Please specify the new nickname you want to use:" +#~ msgstr "Especifique o novo alcume que quere usar:" + +#~ msgid "Bookmark already set" +#~ msgstr "O marcador xa se definiu" + +#, fuzzy +#~ msgid "Group Chat '%s' is already in your bookmarks." +#~ msgstr "A sala \"%s\" xa está nos seus marcadores." + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "O marcador engadiuse con éxito" + +#, fuzzy +#~ msgid "" +#~ "You can manage your bookmarks by clicking the Bookmarks menu item in your " +#~ "contact list." +#~ msgstr "" +#~ "Pode xestionar os seus marcadores mediante o menú Accións da súa listaxe" + +#, fuzzy +#~ msgid "The nickname contains invalid characters." +#~ msgstr "" +#~ "A ID de Jabber para o grupo de charla contén caracteres que non se " +#~ "permiten." + +#, fuzzy +#~ msgid "Bookmark Room" +#~ msgstr "Engadir esta sala aos marcadores" + +#~ msgid "_Join New Group Chat" +#~ msgstr "_Entrar nun outro grupo de charla" + +#~ msgid "Name:" +#~ msgstr "Nome:" + +#, fuzzy +#~ msgid "Description:" +#~ msgstr "Descrición: %s" + +#, fuzzy +#~ msgid "Address:" +#~ msgstr "_Enderezo:" + +#, fuzzy +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "Non pode entrar nunha sala de charla até que non se conecte." + +#, fuzzy +#~ msgid "Occupants" +#~ msgstr "_Accións" + +#~ msgid "_Modify Account..." +#~ msgstr "_Modificar a conta..." + +#, fuzzy +#~ msgid "Integer" +#~ msgstr "No grupo" + +#~ msgid "Value" +#~ msgstr "Valor" + +#~ msgid "(None)" +#~ msgstr "(Ningún)" + +#~ msgid "Hidden" +#~ msgstr "Oculta" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "Xestionar os perfís do proxy" + +#, fuzzy +#~ msgid "Properties" +#~ msgstr "Propiedades" + +#, fuzzy +#~ msgid "Proxy _Port" +#~ msgstr "_Porto:" + +#, fuzzy +#~ msgid "New Groupchat" +#~ msgstr "Novo grupo de charla" + +#, fuzzy +#~ msgid "New Contact" +#~ msgstr "Engadir un contacto novo" + +#~ msgid "%s GiB" +#~ msgstr "%s GiB" + +#~ msgid "%s GB" +#~ msgstr "%s GB" + +#~ msgid "%s MiB" +#~ msgstr "%s MiB" + +#~ msgid "%s MB" +#~ msgstr "%s MB" + +#~ msgid "%s KiB" +#~ msgstr "%s KiB" + +#~ msgid "%s KB" +#~ msgstr "%s KB" + +#~ msgid "%s B" +#~ msgstr "%s B" + +#, fuzzy +#~ msgid "%s MiB/s" +#~ msgstr "%s MiB" + +#, fuzzy +#~ msgid "File transfer" +#~ msgstr "Transferencias" + +#, fuzzy +#~ msgid "Open _Containing Folder" +#~ msgstr "_Abrir un cartafol de contido" + +#, fuzzy +#~ msgid "Default:" +#~ msgstr "Por defecto" + +#, fuzzy +#~ msgid "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" +#~ msgstr "" +#~ "Xa non poderá enviar e recibir mensaxes a contactos desde estes " +#~ "transportes: %s" + +#~ msgid "Contact \"%s\" will be removed from your roster" +#~ msgstr "Eliminarase o contacto \"%s\" da súa listaxe" + +#, fuzzy +#~ msgid "" +#~ "By removing this contact you also by default remove authorization " +#~ "resulting in them always seeing you as offline." +#~ msgstr "" +#~ "Ao eliminar este contacto tamén se eliminará a autorización. Este " +#~ "contacto sempre o/a verá desconectado." + +#~ msgid "Contacts will be removed from your roster" +#~ msgstr "Os contactos eliminaranse da súa listaxe" + +#~ msgid "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorization resulting in them always seeing you as " +#~ "offline." +#~ msgstr "" +#~ "Ao eliminar estes contactos: %s\n" +#~ "tamén eliminará as autorizacións resultantes e eles/elas sempre o/a verán " +#~ "desconectado." + +#, fuzzy +#~ msgid "Con_tinue" +#~ msgstr "_Continuar" + +#~ msgid "_Pause" +#~ msgstr "_Pausa" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "Eliminar transferencias da listaxe" + +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "" +#~ "Esta acción elimina transferencias da listaxe. Se a transferencia estiver " +#~ "activa, detense primeiro e elimínase despois" + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "Cancela a transferencia seleccionada do ficheiro" + +#, fuzzy +#~ msgid "Hide the window" +#~ msgstr "Oculta a fiestra" + +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "" +#~ "Cando unha transferencia se completar, amosa unha notificación emerxente" + +#~ msgid "From:" +#~ msgstr "De:" + +#~ msgid "Subject:" +#~ msgstr "Tema:" + +#~ msgid "%s wants to send you a file:" +#~ msgstr "%s quere enviarlle un ficheiro:" + +#~ msgid "Name: " +#~ msgstr "Nome: " + +#~ msgid "Pause" +#~ msgstr "Pausa" + +#, fuzzy +#~ msgid "Execute Command" +#~ msgstr "Executar o _comando..." + +#~ msgid "Type: " +#~ msgstr "Tipo: " + +#~ msgid "Transferred: " +#~ msgstr "Transferido: " + +#~ msgid "Completed" +#~ msgstr "Completado" + +#~ msgid "Stalled" +#~ msgstr "Atascado" + +#~ msgid "Transferring" +#~ msgstr "A transferir" + +#~ msgid "Not started" +#~ msgstr "Non iniciado" + +#, fuzzy +#~ msgid "%s day" +#~ msgid_plural "%s days" +#~ msgstr[0] "hai %i días" +#~ msgstr[1] "hai %i días" + +#~ msgid "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Todas as charlas e os grupos de charlas pecharanse. Desexa continuar?" + +#, fuzzy +#~ msgid "" +#~ "Your desired nickname in group chat\n" +#~ "%s\n" +#~ "is in use or registered by another occupant.\n" +#~ "Please specify another nickname below:" +#~ msgstr "" +#~ "O seu alcume da súa preferencia está en uso ou rexistrado por outro " +#~ "ocupante. \n" +#~ "Por favor, especifique outro alcume abaixo:" + +#, fuzzy +#~ msgid "_Configure" +#~ msgstr "_Continuar" + +#, fuzzy +#~ msgid "Change the avatar" +#~ msgstr "Un contacto cambiou o seu estado" + +#, fuzzy +#~ msgid "" +#~ "Account in which the avatar will be set; if not specified, the avatar " +#~ "will be set for all accounts" +#~ msgstr "" +#~ "Conta a que se lle enviará; se non se especificar nada, o xml " +#~ "enviaráselles a todas as contas" + +#, fuzzy +#~ msgid "add" +#~ msgstr "Atascado" + +#, fuzzy +#~ msgid "modify" +#~ msgstr "_Modificar" + +#, fuzzy +#~ msgid "remove" +#~ msgstr "_Eliminar" + +#, fuzzy +#~ msgid "" +#~ "If true, restored messages will use a smaller font than the default one." +#~ msgstr "" +#~ "Se é verdadeiro, as mensaxes restauradas usarán unha fonte máis pequena " +#~ "que a predefinida." + +#, fuzzy +#~ msgid "Restored Message Color" +#~ msgstr "_Restabelecer as cores predeterminadas" + +#, fuzzy +#~ msgid "Send Cus_tom Status" +#~ msgstr "Envía XML personalizado" + +#, fuzzy +#~ msgid "" +#~ "You are about to send a custom status. Are you sure you want to continue?" +#~ msgstr "Vai crear un metacontacto. Está seguro de que quere continuar?" + +#, fuzzy +#~ msgid "" +#~ msgstr "Asunto" + +#~ msgid "#" +#~ msgstr "núm." + +#, fuzzy +#~ msgid "You are about to block a contact. Are you sure you want to continue?" +#~ msgstr "Vai crear un metacontacto. Está seguro de que quere continuar?" + +#~ msgid "To:" +#~ msgstr "A:" + +#~ msgid "0" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Reconnect when connection is lost" +#~ msgstr "Conectar automaticamente se se perde a conexión" + +#, fuzzy +#~ msgid "Server Message Archive" +#~ msgstr "_Enviar a mensaxe do servidor" + +#, fuzzy +#~ msgid "Message Carbons" +#~ msgstr "Mensaxes" + +#~ msgid "" +#~ "Sent chat state notifications. Can be one of all, composing_only, " +#~ "disabled." +#~ msgstr "" +#~ "Enviáronse as notificacións de estado. Pode ser all, composing_only o " +#~ "disabled." + +#, fuzzy +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "Permitir o envío de información sobre o sistema operativo" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the idle time of your system" +#~ msgstr "Se isto está marcado, o Gajim entrará a esta sala ao inicio" + +#, fuzzy +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "Permitir o envío de información sobre o sistema operativo" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the local time on your system" +#~ msgstr "Se isto está marcado, o Gajim entrará a esta sala ao inicio" + +#, fuzzy +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "Permitir o envío de información sobre o sistema operativo" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the operating system you are " +#~ "using" +#~ msgstr "Se isto está marcado, o Gajim entrará a esta sala ao inicio" + +#, fuzzy +#~ msgid "" +#~ "If checked, incoming events from unauthorized contacts will be ignored. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster." +#~ msgstr "" +#~ "Marque esta opción só se alguén que non ten na listaxe está a molestalo. " +#~ "Emprégueo con precaución xa que bloqueará todas as mensaxes de calquera " +#~ "contacto que non estiver na súa listaxe de contactos." + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." +#~ msgstr "" +#~ "O Gajim pode enviar e recibir metainformación relacionada cunha conversa " +#~ "que estiver a manter cun contacto. Pode especificar aquí que estados de " +#~ "charla quere enviarlle á outra persoa." + +#, fuzzy +#~ msgid "S_end chat state notifications" +#~ msgstr "Notificacións de estado nas charlas:" + +#, fuzzy +#~ msgid "Login Options" +#~ msgstr "Emoticonas:" + +#, fuzzy +#~ msgid "Please wait while retrieving search form..." +#~ msgstr "Por favor, agarde mentres se solicita a listaxe de comandos..." + +#, fuzzy +#~ msgid "_Add contact" +#~ msgstr "Engadir un _contacto" + +#~ msgid "Ad-hoc Commands - Gajim" +#~ msgstr "Comandos ad-hoc - Gajim" + +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "Por favor, agarde mentres se solicita a listaxe de comandos..." + +#~ msgid "Choose command to execute:" +#~ msgstr "Elixa o comando para executar:" + +#~ msgid "Check once more" +#~ msgstr "Comprobar mais unha vez" + +#, fuzzy +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "Por favor, agarde mentres se envía o comando..." + +#~ msgid "This jabber entity does not expose any commands." +#~ msgstr "Esta entidade de jabber non expón comandos." + +#, fuzzy +#~ msgid "F_inish" +#~ msgstr "_Rematar" + +#~ msgid "Failed to get secret keys" +#~ msgstr "Produciuse un erro ao obter as chaves secretas" + +#, fuzzy +#~ msgid "There is no OpenPGP secret key available." +#~ msgstr "Houbo un problema ao recuperar as súas chaves secretas de OpenPGP" + +#~ msgid "OpenPGP Key Selection" +#~ msgstr "Selección da chave de OpenPGP" + +#~ msgid "Choose your OpenPGP key" +#~ msgstr "Elixa a súa chave de OpenPGP" + +#~ msgid "KeyID" +#~ msgstr "Chave ID" + +#~ msgid "Contact name" +#~ msgstr "Nome de contacto" + +#, fuzzy +#~ msgid "OpenPGP is not usable" +#~ msgstr "OpenPGP non se pode usar neste ordenador" + +#~ msgid "Assign OpenPGP Key" +#~ msgstr "Asignar chave de OpenPGP" + +#~ msgid "Select a key to apply to the contact" +#~ msgstr "Seleccione unha chave para lle aplicar ao contacto" + +#~ msgid "You are currently connected without your OpenPGP key." +#~ msgstr "Está actualmente conectado sen a súa chave de GPG" + +#, fuzzy +#~ msgid "Wrong passphrase" +#~ msgstr "O contrasinal é incorrecto" + +#, fuzzy +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "O contrasinal é incorrecto" + +#~ msgid "Passphrase Required" +#~ msgstr "É necesario o contrasinal" + +#, fuzzy +#~ msgid "" +#~ "Enter OpenPGP key passphrase for key %(keyid)s (account %(account)s)." +#~ msgstr "Introduza o contrasinal GPG para a conta %s" + +#, fuzzy +#~ msgid "OpenPGP key expired" +#~ msgstr "Selección da chave de OpenPGP" + +#, fuzzy +#~ msgid "" +#~ "Your OpenPGP key has expired, you will be connected to %s without OpenPGP." +#~ msgstr "Conectarase a %s sen o OpenPGP" + +#~ msgid "Wrong Passphrase" +#~ msgstr "O contrasinal é incorrecto" + +#, fuzzy +#~ msgid "Please retype your OpenPGP passphrase or press Cancel." +#~ msgstr "" +#~ "Por favor, volva escribir o seu contrasinal de GPG ou prema Cancelar." + +#~ msgid "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Envía unha mensaxe nova de charla a un contacto na listaxe. Tanto a chave " +#~ "de OpenPGP como a conta son opcionais. Se quere definir só 'conta' sen " +#~ "'chave pgp', só defina 'chave pgp' a ''." + +#~ msgid "if specified, the message will be encrypted using this public key" +#~ msgstr "se se especifica, a mensaxe cifrarase mediante a súa chave pública" + +#, fuzzy +#~ msgid "" +#~ "Sends a chat message to someone on your roster. Optionally with OpenPGP " +#~ "key and account. If you want to only set the latter, set OpenPGP key to " +#~ "\"\"." +#~ msgstr "" +#~ "Envía unha mensaxe nova de charla a un contacto na listaxe. Tanto a chave " +#~ "de OpenPGP como a conta son opcionais. Se quere definir só 'conta' sen " +#~ "'chave pgp', só defina 'chave pgp' a ''." + +#, fuzzy +#~ msgid "OpenPGP:" +#~ msgstr "OpenPGP: " + +#, fuzzy +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "Asignar chave de OpenPGP" + +#, fuzzy +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "Cifrado OpenPGP" + +#, fuzzy +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "Mens_axe entrante:" + +#, fuzzy +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "Conexión non dispoñíbel" + +#, fuzzy +#~ msgid "OpenPGP Key" +#~ msgstr "Asignar chave de OpenPGP" + +#, fuzzy +#~ msgid "Cancel confirmation" +#~ msgstr "Información" + +#, fuzzy +#~ msgid "%s - Ad-hoc Commands - Gajim" +#~ msgstr "Comandos ad-hoc - Gajim" + +#, fuzzy +#~ msgid "You are invited to a groupchat" +#~ msgstr "Está expulsado deste grupo de charla." + +#~ msgid "_Start Chat" +#~ msgstr "_Iniciar a charla" + +#~ msgid "Au_thorize" +#~ msgstr "Au_torizar" + +#~ msgid "You are currently connected to the server" +#~ msgstr "Está actualmente conectado ao servidor" + +#, fuzzy +#~ msgid "To disable the account, you must be disconnected." +#~ msgstr "Para cambiar o nome da conta, debe estar desconectado" + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with %(jid)s?" +#~ msgstr "Está seguro de que quere eliminar a mensaxe que seleccionou?" + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with the selected contacts?" +#~ msgstr "" +#~ "Está seguro de que quere eliminar o historial do contacto que seleccionou?" + +#, fuzzy +#~ msgid "This can not be undone." +#~ msgstr "O servizo non se achou" + +#~ msgid "What do you want to do?" +#~ msgstr "Que quere facer?" + +#, fuzzy +#~ msgid "" +#~ "List of colors, separated by \":\", that will be used to color nicknames " +#~ "in group chats." +#~ msgstr "" +#~ "Listaxe de cores que se empregarán para colorear o alcume nos grupos de " +#~ "charla." + +#, fuzzy +#~ msgid "You have received new entries (and %d not displayed):" +#~ msgid_plural "You have received new entries (and %d not displayed):" +#~ msgstr[0] "Recibiu unha entrada nova:" +#~ msgstr[1] "Recibiu unha entrada nova:" + +#~ msgid "Stopped" +#~ msgstr "Detido" + +#, fuzzy +#~ msgid "Status messages displayed in chat window" +#~ msgstr "Enviar a mensaxe e pechar a fiestra" + +#~ msgid "?print_status:All" +#~ msgstr "Todos" + +#~ msgid "Enter and leave only" +#~ msgstr "Entrar e saír soamente" + +#, fuzzy +#~ msgid "?print_status:None" +#~ msgstr "Todos" + +#~ msgid "D-Bus python bindings are missing in this computer" +#~ msgstr "As ligazóns D-Bus de python non se achan neste computador" + +#~ msgid "D-Bus capabilities of Gajim cannot be used" +#~ msgstr "Non se poden empregar as capacidades D-Bus de Gajim" + +#, fuzzy +#~ msgid "D-Bus does not run correctly on this machine: system bus not present" +#~ msgstr "D-Bus non está presente nesta máquina ou falta o módulo python" + +#, fuzzy +#~ msgid "" +#~ "D-Bus does not run correctly on this machine: session bus not present" +#~ msgstr "D-Bus non está presente nesta máquina ou falta o módulo python" + +#, fuzzy +#~ msgid "Command line Control" +#~ msgstr "Comandos: %s" + +#~ msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +#~ msgstr "%(nick)s foi expulsado por %(who)s: %(reason)s" + +#~ msgid "%(nick)s has been banned by %(who)s: %(reason)s" +#~ msgstr "%(nick)s foi expulsado por %(who)s: %(reason)s" + +#, fuzzy +#~ msgid "** Role of %(nick)s has been set to %(role)s" +#~ msgstr "%(nick)s foi expulsado por %(reason)s" + +#~ msgid "%s has left" +#~ msgstr "%s saíu" + +#, fuzzy +#~ msgid "%s is full" +#~ msgstr "Sons" + +#, fuzzy +#~ msgid "" +#~ "Can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no " +#~ "longer print status line in groupchats when a member changes their status " +#~ "and/or their status message. If \"all\" Gajim will print all status " +#~ "messages. If \"in_and_out\", Gajim will only print FOO enters/leaves " +#~ "group chat." +#~ msgstr "" +#~ "pode ser \"none\", \"all\" ou \"in_and_out\". Se é \"none\", Gajim non " +#~ "volverá mostrar a liña de estado nos grupos de conversa cando un membro " +#~ "cambie a súa mensaxe de estado. Se é \"all\" o Gajim amosará todos as " +#~ "mensaxes de estado. Se é \"in_and_out\", o Gajim só amosará as entradas e " +#~ "as saídas no grupo de conversa." + +#, fuzzy +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "Amosar na listaxe as _mensaxes de estado dos contactos" + +#, fuzzy +#~ msgid "" +#~ "You are about to send your password unencrypted on an insecure " +#~ "connection. Are you sure you want to do that?" +#~ msgstr "Vai crear un metacontacto. Está seguro de que quere continuar?" + +#, fuzzy +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "Usar a autenticación" + +#, fuzzy +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "Usar a autenticación" + +#, fuzzy +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "Usar a autenticación" + +#~ msgid "" +#~ "Displayed chat state notifications in chat windows. Can be one of all, " +#~ "composing_only, disabled." +#~ msgstr "" +#~ "As notificacións de estado móstranse nas fiestras de conversa. Poden ser " +#~ "todo, só_compor ou desactivado." + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." +#~ msgstr "" +#~ "O Gajim pode enviar e recibir metainformación relacionada cunha charla " +#~ "que estiver a manter cun contacto. Pode especificar aquí que estados de " +#~ "charla quere que se amosen nas fiestras." + +#~ msgid "This is an irreversible operation." +#~ msgstr "Esta é unha operación irreversíbel" + +#~ msgid "Settings" +#~ msgstr "Configuración" + +#, fuzzy +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "Xestor do Historial de Gajim" + +#~ msgid "Member List" +#~ msgstr "Listaxe de membros" + +#~ msgid "Owner List" +#~ msgstr "Listaxe de propietarios" + +#~ msgid "Administrator List" +#~ msgstr "Listaxe de administradores" + +#~ msgid "Nick" +#~ msgstr "Alcume" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "A quen quere expulsar?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Member…" +#~ msgstr "A engadir o membro..." + +#~ msgid "" +#~ "Whom do you want to make a member?\n" +#~ "\n" +#~ msgstr "" +#~ "A quen quere facer membro?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Owner…" +#~ msgstr "A engadir un propietario..." + +#, fuzzy +#~ msgid "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" +#~ msgstr "" +#~ "A quen quere facer como propietario?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Administrator…" +#~ msgstr "A engadir administrador..." + +#~ msgid "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" +#~ msgstr "" +#~ "A quen quere facer como administrador?\n" +#~ "\n" + +#~ msgid "Error reading file:" +#~ msgstr "Erro ao ler o ficheiro:" + +#~ msgid "Error parsing file:" +#~ msgstr "Erro ao analizar o ficheiro:" + +#~ msgid "Description" +#~ msgstr "Descrición" + +#, fuzzy +#~ msgid "Password encryption" +#~ msgstr "Os contrasinais non coinciden" + +#, fuzzy +#~ msgid "Automatic status" +#~ msgstr "_Adaptar ao estado" + +#, fuzzy +#~ msgid "?features:Available" +#~ msgstr "En líña" + +#, fuzzy +#~ msgid "Feature" +#~ msgstr "Características dos servidores" + +#~ msgid "Filter:" +#~ msgstr "Filtro:" + +#, fuzzy +#~ msgid "Chat Appearance" +#~ msgstr "Editar unha regra" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed out" +#~ msgstr "" +#~ "O Gajim notificaralle cunha mensaxe emerxente na parte inferior dereita " +#~ "da pantalla cando un contacto se desconectar" + +#~ msgid "Sounds" +#~ msgstr "Sons" + +#, fuzzy +#~ msgid "Chat state notifications" +#~ msgstr "Notificacións visuais" + +#, fuzzy +#~ msgid "_Away after" +#~ msgstr "Pór _ausente despois de:" + +#, fuzzy +#~ msgid "_Not available after" +#~ msgstr "Pór _non dispoñíbel despois de:" + +#, fuzzy +#~ msgid "Auto Status" +#~ msgstr "Accións" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "Mensaxes de estado predefinidas" + +#, fuzzy +#~ msgid "Audio" +#~ msgstr "Accións" + +#, fuzzy +#~ msgid "Video" +#~ msgstr "Engadir unha regra" + +#, fuzzy +#~ msgid "Connection" +#~ msgstr "Condicións" + +#~ msgid "Custom" +#~ msgstr "Personalizado" + +#, fuzzy +#~ msgid "Privacy" +#~ msgstr "Listaxe de privacidade" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "Editor de configuración avanzada" + +#, fuzzy +#~ msgid "File transfer, room bookmarks" +#~ msgstr "Produciuse un erro na transferencia do ficheiro" + +#, fuzzy +#~ msgid "XML console interface" +#~ msgstr "Consola XML" + +#, fuzzy +#~ msgid "" +#~ "A programming error has been detected. It probably is not fatal, but " +#~ "should be reported to the developers nonetheless." +#~ msgstr "" +#~ "Probabelmente non é crítico mais, porén, debe informarse aos " +#~ "desenvolvedores." + +#, fuzzy +#~ msgid "(ESession info)" +#~ msgstr "Descrición" + +#~ msgid "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" +#~ msgstr "" +#~ "Se non está desactivado, o Gajim substituirá emoticonas ASCCI ':)' polo " +#~ "seu equivalente en iconas gráficas estáticas ou animadas" + +#, fuzzy +#~ msgid "_Emoticons" +#~ msgstr "Emoticonas:" + +#~ msgid "_Highlight misspelled words" +#~ msgstr "_Marcar os erros ortográficos" + +#, fuzzy +#~ msgid "Notify by icon when your messages are received" +#~ msgstr "Son para reproducir cando chega calquera mensaxe MUC" + +#, fuzzy +#~ msgid "T_heme" +#~ msgstr "Te_ma:" + +#, fuzzy +#~ msgid "Themes" +#~ msgstr "Propiedades" + +#~ msgid "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." +#~ msgstr "" +#~ "A Jabberd1.4 non lle gusta a información SHA cando se entra nun grupo de " +#~ "charla protexido por contrasinal. Cambie esta opción a Falso para deter o " +#~ "envío de información SHA no grupo de charla." + +#, fuzzy +#~ msgid "Presence" +#~ msgstr "_Presenza" + +#, fuzzy +#~ msgid "Emoticons disabled" +#~ msgstr "Cifrado desactivado" + +#, fuzzy +#~ msgid "You cannot make changes to the default theme" +#~ msgstr "Non pode eliminar o tema actual" + +#~ msgid "theme name" +#~ msgstr "nome do tema" + +#~ msgid "You cannot delete your current theme" +#~ msgstr "Non pode eliminar o tema actual" + +#~ msgid "New Single Message from %(nickname)s" +#~ msgstr "Mensaxe nova de %(nickname)s" + +#~ msgid "New Private Message from group chat %s" +#~ msgstr "Nova mensaxe privada desde o grupo de charlas %s" + +#~ msgid "%(nickname)s: %(message)s" +#~ msgstr "%(nickname)s: %(message)s" + +#, fuzzy +#~ msgid "Messaged by %(nickname)s" +#~ msgstr "Mensaxe nova de %(nickname)s" + +#, fuzzy +#~ msgid "Status message text color." +#~ msgstr "texto da mensaxe de estado" + +#, fuzzy +#~ msgid "Incoming nickname font." +#~ msgstr "O nome de usuario non é válido" + +#, fuzzy +#~ msgid "Status message text font." +#~ msgstr "texto da mensaxe de estado" + +#~ msgid "Background color of contacts when they just signed in." +#~ msgstr "Cor de fondo para os contactos que acaban de se conectar." + +#~ msgid "Background color of contacts when they just signed out." +#~ msgstr "Cor de fondo para os contactos que acaban de se desconectar." + +#~ msgid "green" +#~ msgstr "verde" + +#~ msgid "grocery" +#~ msgstr "ultramariño" + +#~ msgid "human" +#~ msgstr "humano" + +#~ msgid "marine" +#~ msgstr "mariño" + +#, fuzzy +#~ msgid "Contact row" +#~ msgstr "Contacto" + +#~ msgid "Gajim Themes Customization" +#~ msgstr "Personalización de temas do Gajim" + +#~ msgid "Text _color:" +#~ msgstr "_Cor do texto:" + +#~ msgid "_Background:" +#~ msgstr "_Fondo" + +#~ msgid "Text _font:" +#~ msgstr "_Letra do texto:" + +#~ msgid "Font style:" +#~ msgstr "Estilo:" + +#~ msgid "Paused" +#~ msgstr "Pausado" + +#~ msgid "Gone" +#~ msgstr "Marchei" + +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "" +#~ "MUC\n" +#~ "Mensaxes" + +#~ msgid "Chatstate Tab Colors" +#~ msgstr "Cores do separador para os estados da charla" + +#, fuzzy +#~ msgid "Chat message" +#~ msgstr "Men_saxe de estado:" + +#~ msgid "Use system _default" +#~ msgstr "Usar o pre_definido do sistema" + +#, fuzzy +#~ msgid "Font" +#~ msgstr "Sons" + +#, fuzzy +#~ msgid "Contact's nickname" +#~ msgstr "Nome de contacto" + +#, fuzzy +#~ msgid "_Status message" +#~ msgstr "Men_saxe de estado:" + +#, fuzzy +#~ msgid "Your message" +#~ msgstr "Mensaxe de erro: %s" + +#, fuzzy +#~ msgid "Chat Line Colors" +#~ msgstr "Cores do separador para os estados da charla" + +#, fuzzy +#~ msgid "Jabber ID:" +#~ msgstr "ID de Jabber:" + +#, fuzzy +#~ msgid "Resource:" +#~ msgstr "Recurso:" + +#, fuzzy +#~ msgid "Status:" +#~ msgstr "Configuración" + +#, fuzzy +#~ msgid "Client:" +#~ msgstr "Personalizado" + +#, fuzzy +#~ msgid "Contact time:" +#~ msgstr "Configuración" + +#, fuzzy +#~ msgid "Ask:" +#~ msgstr "Accións" + +#, fuzzy +#~ msgid "Subscription:" +#~ msgstr "Descrición" + +#, fuzzy +#~ msgid "Name:" +#~ msgstr "Personalizado" + +#, fuzzy +#~ msgid "Nickname:" +#~ msgstr "Alcume:" + +#, fuzzy +#~ msgid "Street:" +#~ msgstr "Configuración" + +#, fuzzy +#~ msgid "City:" +#~ msgstr "Personalizado" + +#, fuzzy +#~ msgid "State:" +#~ msgstr "Configuración" + +#, fuzzy +#~ msgid "Extra Address:" +#~ msgstr "Segundo enderezo:" + +#, fuzzy +#~ msgid "Postal Code:" +#~ msgstr "Código postal:" + +#, fuzzy +#~ msgid "Country:" +#~ msgstr "Sons" + +#, fuzzy +#~ msgid "Homepage:" +#~ msgstr "Páxina web:" + +#, fuzzy +#~ msgid "E-Mail:" +#~ msgstr "Correo electrónico:" + +#, fuzzy +#~ msgid "Phone No.:" +#~ msgstr "Teléfono:" + +#, fuzzy +#~ msgid "Birthday:" +#~ msgstr "Aniversario:" + +#, fuzzy +#~ msgid "Family:" +#~ msgstr "Familia:" + +#, fuzzy +#~ msgid "Middle:" +#~ msgstr "Engadir unha regra" + +#, fuzzy +#~ msgid "Prefix:" +#~ msgstr "Propiedades" + +#, fuzzy +#~ msgid "Given:" +#~ msgstr "OpenPGP" + +#, fuzzy +#~ msgid "Suffix:" +#~ msgstr "Sons" + +#, fuzzy +#~ msgid "Full Name" +#~ msgstr "Personalizado" + +#, fuzzy +#~ msgid "Company:" +#~ msgstr "Personalizado" + +#, fuzzy +#~ msgid "Department:" +#~ msgstr "Departamento:" + +#, fuzzy +#~ msgid "Position:" +#~ msgstr "Condicións" + +#, fuzzy +#~ msgid "Role:" +#~ msgstr "Sons" + +#~ msgid "Edit %s" +#~ msgstr "Editar %s" + +#~ msgid "Conversation History with %s" +#~ msgstr "Historial de conversas con %s" + +#~ msgid "Contact with \"%s\" cannot be established" +#~ msgstr "Non foi posíbel estabelecer o contacto con \"%s\"" + +#~ msgid "Registration information for transport %s has not arrived in time" +#~ msgstr "A información de rexistro para o transporte %s non chegou a tempo" + +#~ msgid "Register to" +#~ msgstr "Rexistrar en" + +#, fuzzy +#~ msgid "Enter name / JID of contact or groupchat" +#~ msgstr "Nome de contacto" + +#, fuzzy +#~ msgid "Search:" +#~ msgstr "Buscar" + +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "Sen unha conexión, non pode cambiar o seu contrasinal." + +#~ msgid "Invalid password" +#~ msgstr "O contrasinal non é válido" + +#~ msgid "The passwords typed in both fields must be identical." +#~ msgstr "Os contrasinais escritos nos dous campos deben ser idénticos." + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "Insírao mais unha vez para confirmar:" + +#~ msgid "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" +#~ msgstr "" +#~ "A ID de Jabber %s non cumpre a norma RFC. Non se engadirá á súa listaxe " +#~ "de contactos. Use as ferramentas de xestión de listaxe de contactos " +#~ "roster como http://jru.jabberstudio.org/ para o eliminar" + +#~ msgid "unsubscribe request from %s" +#~ msgstr "solicitude de eliminación de subscrición de %s" + +#, fuzzy +#~ msgid "Homepage:" +#~ msgstr "Páxina web:" + +#~ msgid "Manage Bookmarks" +#~ msgstr "Xestionar os marcadores" + +#~ msgid "_Nickname:" +#~ msgstr "_Alcume:" + +#, fuzzy +#~ msgid "Pr_int status:" +#~ msgstr "Amosar o estado:" + +#, fuzzy +#~ msgid "Add JID" +#~ msgstr "ID de Jabber:" + +#, fuzzy +#~ msgid "Preference:" +#~ msgstr "Preferencias" + +#, fuzzy +#~ msgid "Preference" +#~ msgstr "Preferencias" + +#, fuzzy +#~ msgid "JID:" +#~ msgstr "O seu identificador JID" + +#, fuzzy +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "" +#~ "Por favor, introduza a información do contacto que quere engadir á conta " +#~ "%s" + +#~ msgid "Please fill in the data of the contact you want to add" +#~ msgstr "Por favor, cubra a información do contacto que quere engadir" + +#, fuzzy +#~ msgid "Recently" +#~ msgstr "Recentemente:" + +#~ msgid "Add New Contact" +#~ msgstr "Engadir un contacto novo" + +#~ msgid "_User ID:" +#~ msgstr "ID de _usuario:" + +#, fuzzy +#~ msgid "Type User ID" +#~ msgstr "ID de usuario:" + +#, fuzzy +#~ msgid "Type Nickname" +#~ msgstr "Alcume" + +#~ msgid "Personal Information" +#~ msgstr "Información persoal" + +#, fuzzy +#~ msgid "Avatar:" +#~ msgstr "Imaxe:" + +#~ msgid "Click to set your avatar" +#~ msgstr "Prema para definir a súa circunstancia" + +#, fuzzy +#~ msgid "Remove Avatar" +#~ msgstr "Eliminar o grupo" + +#~ msgid "Not fetched because of invisible status" +#~ msgstr "Non se conseguiu debido ao estado invisíbel" + +#~ msgid "Please wait..." +#~ msgstr "Por favor, agarde..." + +#~ msgid "Yahoo! Address:" +#~ msgstr "Enderezo de Yahoo!:" + +#, fuzzy +#~ msgid "Forward unread messages" +#~ msgstr "%d mensaxe sen ler" + +#, fuzzy +#~ msgid "Forward unread message then disconnect" +#~ msgstr "%d mensaxe sen ler" + +#~ msgid "MSN Address:" +#~ msgstr "Enderezo de MSN:" + +#, fuzzy +#~ msgid "End to End message encryption" +#~ msgstr "Cifrado OpenPGP" + +#, fuzzy +#~ msgid "Encrypting chat messages." +#~ msgstr "Mens_axe entrante:" + +#, fuzzy +#~ msgid "This session is encrypted" +#~ msgstr "[Esta mensaxe está cifrada]" + +#, fuzzy +#~ msgid "end-to-end encryption disabled" +#~ msgstr "Cifrado desactivado" + +#, fuzzy +#~ msgid "Unable to decrypt message" +#~ msgstr "En cada _mensaxe" + +#, fuzzy +#~ msgid "Save Image as…" +#~ msgstr "Gardar a imaxe como..." + +#, fuzzy +#~ msgid "Exporting History Logs…" +#~ msgstr "A exportar o historial..." + +#~ msgid "When %s becomes:" +#~ msgstr "Cando %s estea:" + +#~ msgid "Adding Special Notification for %s" +#~ msgstr "Engadir unha notificación especial para %s" + +#~ msgid "Unable to load idle module" +#~ msgstr "Non se pode cargar o módulo inactivo" + +#, fuzzy +#~ msgid "%s or %s is a directory but should be a file" +#~ msgstr "%s é un directorio mais podería ser un ficheiro" + +#~ msgid "creating logs database" +#~ msgstr "a crear a base de datos de rexistros" + +#, fuzzy +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "Enviar %s" + +#, fuzzy +#~ msgid "Rename account label" +#~ msgstr "Xestionar as contas" + +#, fuzzy +#~ msgid "Send Single Message..." +#~ msgstr "Enviar unha _mensaxe..." + +#, fuzzy +#~ msgid "E2E encryption disabled" +#~ msgstr "Cifrado desactivado" + +#, fuzzy +#~ msgid "" +#~ "Install /\n" +#~ "Upgrade" +#~ msgstr "Atascado" + +#, fuzzy +#~ msgid "Install/Upgrade" +#~ msgstr "Atascado" + +#~ msgid "cyan" +#~ msgstr "ciano" + +#, fuzzy +#~ msgid "migrating logs database to indices" +#~ msgstr "migrando os rexistros da base de datos aos índices" + +#, fuzzy +#~ msgid "Send File..." +#~ msgstr "Enviar ficheiro" + +#, fuzzy +#~ msgid "HTTP File Upload not supported by your server" +#~ msgstr "O teu servidor non admite o almacenamento de metacontactos" + +#, fuzzy +#~ msgid "Jingle File Transfer" +#~ msgstr "Transferencias" + +#~ msgid "Shows or hides the roster window" +#~ msgstr "Amosa ou oculta a fiestra da listaxe de contactos" + +#, fuzzy +#~ msgid "Shows or hides the ipython window" +#~ msgstr "Amosa ou oculta a fiestra da listaxe de contactos" + +#, fuzzy +#~ msgid "XMPP account %s" +#~ msgstr "da conta %s" + +#, fuzzy +#~ msgid "Exception" +#~ msgstr "Descrición" + +#, fuzzy +#~ msgid "" +#~ "someone@somewhere.com would like you to add some contacts " +#~ "in your roster." +#~ msgstr "Gustaríame engadilo á miña listaxe de contactos." + +#~ msgid "_Actions" +#~ msgstr "_Accións" + +#~ msgid "You are already in group chat %s" +#~ msgstr "Xa está na sala %s" + +#~ msgid "Join Group Chat with account %s" +#~ msgstr "Entrar nun grupo de charla coa conta %s" + +#, fuzzy +#~ msgid "" +#~ "You have to choose an account from which you want to join the groupchat." +#~ msgstr "" +#~ "Debe crear unha conta antes de poder conversar con outros contactos." + +#, fuzzy +#~ msgid "Please enter the group chat JID as room@server." +#~ msgstr "" +#~ "A ID de Jabber para o grupo de charla contén caracteres que non se " +#~ "permiten." + +#, fuzzy +#~ msgid "The group chat JID contains invalid characters." +#~ msgstr "" +#~ "A ID de Jabber para o grupo de charla contén caracteres que non se " +#~ "permiten." + +#~ msgid "Start Chat with account %s" +#~ msgstr "Iniciar a charla coa conta %s" + +#, fuzzy +#~ msgid "" +#~ "Fill in the nickname or the JID of the contact you would like\n" +#~ "to send a chat message to:" +#~ msgstr "" +#~ "Introduza o alcume ou a ID de Jabber do contacto a que quere\n" +#~ "enviar unha mensaxe de charla:" + +#, fuzzy +#~ msgid "Nickname / JID" +#~ msgstr "ID de Jabber duplicada" + +#~ msgid "Unable to parse \"%s\"." +#~ msgstr "Non se pode analizar \"%s\"." + +#~ msgid "Shows the chat dialog so that you can send messages to a contact" +#~ msgstr "Amosa o diálogo de charla para enviarlle mensaxes a un contacto" + +#~ msgid "JID of the contact that you want to chat with" +#~ msgstr "JID do contacto co que quere conversar" + +#~ msgid "Adds contact to roster" +#~ msgstr "Engade o contacto á listaxe" + +#~ msgid "jid" +#~ msgstr "jid" + +#~ msgid "Adds new contact to this account" +#~ msgstr "Engade un contacto novo a esta conta." + +#~ msgid "Opens 'Start Chat' dialog" +#~ msgstr "Abre o diálogo de iniciar charla" + +#~ msgid "Starts chat, using this account" +#~ msgstr "Iniciar unha charla con esta conta" + +#, fuzzy +#~ msgid "Message content" +#~ msgstr "contido da mensaxe" + +#, fuzzy +#~ msgid "Nickname to use" +#~ msgstr "Non se achou o alcume: %s" + +#, fuzzy +#~ msgid "Password to enter the room" +#~ msgstr "Os contrasinais non coinciden" + +#, fuzzy +#~ msgid "Wrong URI" +#~ msgstr "Host errado" + +#~ msgid "Nickname:" +#~ msgstr "Alcume:" + +#~ msgid "Server:" +#~ msgstr "Servidor:" + +#, fuzzy +#~ msgid "Join this room _automatically when I connect" +#~ msgstr "Configurar o meu perfil ao me conectar" + +#, fuzzy +#~ msgid "Bro_wse Rooms" +#~ msgstr "_Navegar" + +#, fuzzy +#~ msgid "Network-Watcher" +#~ msgstr "Historial" + +#~ msgid "" +#~ "You have to install %s dictionary to use spellchecking, or choose another " +#~ "language by setting the speller_language option." +#~ msgstr "" +#~ "Ten que instalar o dicionario %s para usar o corrector ou elixir outra " +#~ "lingua e logo definir a opción speller_language." + +#, fuzzy +#~ msgid "Hides the buttons in chat windows." +#~ msgstr "Oculta os botóns nas fiestras de grupo de charla." + +#, fuzzy +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "Engadir esta sala aos marcadores" + +#, fuzzy +#~ msgid "Show advanced functions (Alt+D)" +#~ msgstr "Prema aquí para inserir unha emoticona (Alt+M)" + +#, fuzzy +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "Engade o contacto á listaxe" + +#, fuzzy +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "está a prestar atención á conversa" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Engade o contacto á listaxe" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Engade o contacto á listaxe" + +#, fuzzy +#~ msgid "Ma_ke message windows compact" +#~ msgstr "Unha soa fiestra de conversa" + +#, fuzzy +#~ msgid "Hide all buttons in chat windows" +#~ msgstr "Oculta os botóns nas fiestras de grupo de charla." + +#, fuzzy +#~ msgid "Hide the chat buttons" +#~ msgstr "Uso: /%s, oculta os botóns de charla." + +#~ msgid "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." +#~ msgstr "" +#~ "Se é verdadeiro, o Gajim pediralle unha circunstancia a cada contacto que " +#~ "non tivo unha circunstancia a última vez ou se ten gardada unha demasiada " +#~ "antiga." + +#, fuzzy +#~ msgid "?CLI:room" +#~ msgstr "De" + +#, fuzzy +#~ msgid "?CLI:nick" +#~ msgstr "Alcume" + +#, fuzzy +#~ msgid "?CLI:password" +#~ msgstr "Contrasinal: " + +#~ msgid "Use D-Bus and Notification-Daemon to show notifications" +#~ msgstr "Usar DBus e o notificador Daemon para amosar as notificacións" + +#, fuzzy +#~ msgid "Notification" +#~ msgstr "Modificar a conta" + +#, fuzzy +#~ msgid "Ignore" +#~ msgstr "nove" + +#~ msgid "_Open Gmail Inbox" +#~ msgstr "_Abrir a caixa de entrada de GMail" + +#~ msgid "Notify on new _GMail email" +#~ msgstr "Notificar de novos correos de _GMail" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will show a notification when a new e-mail is received " +#~ "via GMail" +#~ msgstr "" +#~ "Se isto está marcado, o Gajim tamén incluirá información sobre o " +#~ "remitente de correos electrónicos novos" + +#~ msgid "Display _extra email details" +#~ msgstr "Amosar os detalles _extra nos correos electrónicos" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will also include information about the sender of new " +#~ "emails" +#~ msgstr "" +#~ "Se isto está marcado, o Gajim tamén incluirá información sobre o " +#~ "remitente de correos electrónicos novos" + +#~ msgid "GMail Options" +#~ msgstr "Opcións de GMail" + +#, fuzzy +#~ msgid "20" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Invited %s to %s" +#~ msgstr "Enviar %s" + +#~ msgid "GMail Email Received" +#~ msgstr "Recibiuse un correo de GMail" + +#, fuzzy +#~ msgid "New e-mail on %(gmail_mail_address)s" +#~ msgstr "Hai un correo novo en %(gmail_mail_address)s" + +#, fuzzy +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "Ten %d nova conversa de correo" +#~ msgstr[1] "Ten %d novas conversas de correo" + +#, fuzzy +#~ msgid "Resour_ce:" +#~ msgstr "Re_curso: " + +#~ msgid "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" +#~ msgstr "" +#~ "O recurso envíaselle ao servidor de Jabber para 'separar' o mesmo " +#~ "identificador en dous ou máis partes a depender do número de clientes que " +#~ "estiveren conectados no servidor coa mesma conta. Así pode estar " +#~ "conectado e empregar a mesma conta co recurso 'Casa' ou 'Traballo' ao " +#~ "mesmo tempo. O recurso que teña a prioridade máis alta será o que reciba " +#~ "os eventos (mire máis abaixo)." + +#, fuzzy +#~ msgid "A_djust to status" +#~ msgstr "_Adaptar ao estado" + +#~ msgid "Priority will change automatically according to your status." +#~ msgstr "A prioridade mudará automaticamente segundo o seu estado." + +#, fuzzy +#~ msgid "Anonymous authentication" +#~ msgstr "Usar a autenticación" + +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "Jabber emprega a prioridade para determinar quen obtén os acontecementos " +#~ "do servidor cando dous ou máis clientes están conectados e usan a mesma " +#~ "conta. O cliente con maior prioridade recibe os acontecementos." + +#, fuzzy +#~ msgid "Synchronize contacts" +#~ msgstr "Amosar os contactos desconectados" + +#~ msgid "Chan_ge Password" +#~ msgstr "Cam_biar o contrasinal" + +#, fuzzy +#~ msgid "Administration operations" +#~ msgstr "Listaxe de administradores" + +#, fuzzy +#~ msgid "Browse..." +#~ msgstr "_Navegar" + +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "" +#~ "Se isto está marcado, o Gajim, ao se iniciar, conectarase automaticamente " +#~ "a Jabber con esta conta." + +#, fuzzy +#~ msgid "Synchronize logs with server" +#~ msgstr "Amosar os contactos desconectados" + +#~ msgid "Synch_ronize account status with global status" +#~ msgstr "Sinc_ronizar o estado da conta co estado global" + +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "Se isto está marcado, calquera mudanza do estado global (manexado polo " +#~ "caixa de combinación da parte inferior da listaxe de contactos) cambiará " +#~ "o estado desta conta en consecuencia" + +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "Se isto está marcado, o Gajim tamén emitirá algúns IP máis agás desde o " +#~ "seu IP, para que a súa transferencia teña máis posibilidades de funcionar." + +#, fuzzy +#~ msgid "Proxy" +#~ msgstr "Propiedades" + +#, fuzzy +#~ msgid "Send _keep-alive packets" +#~ msgstr "Enviar paquetes de mantemento de actividade" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "" +#~ "Se isto está marcado, o Gajim enviará paquetes de mantemento de " +#~ "actividade para previr que expire a conexión" + +#, fuzzy +#~ msgid "Use cust_om hostname/port" +#~ msgstr "Usa un nome de host e un porto personalizados" + +#, fuzzy +#~ msgid "_Hostname: " +#~ msgstr "Nome do host:" + +#, fuzzy +#~ msgid "_Port: " +#~ msgstr "_Porto:" + +#~ msgid "Choose _Key..." +#~ msgstr "Elixir a _chave..." + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "" +#~ "Se isto está marcado, o Gajim lembrará o contrasinal para esta conta" + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#, fuzzy +#~ msgid "_Edit Personal Information..." +#~ msgstr "_Editar a información persoal..." + +#~ msgid "Personal Information" +#~ msgstr "Información persoal" + +#, fuzzy +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "C_onectar ao inicio de Gajim" + +#, fuzzy +#~ msgid "Synchroni_ze account status with global status" +#~ msgstr "Sinc_ronizar o estado da conta co estado global" + +#, fuzzy +#~ msgid "Use cust_om port:" +#~ msgstr "Usar o porto personalizado:" + +#~ msgid "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." +#~ msgstr "" +#~ "Se o porto por defecto para as mensaxes entrantes non é válido, pode " +#~ "seleccionar outro aquí.\n" +#~ "Podería considerar mudar algúns aspectos da configuración da protección." + +#, fuzzy +#~ msgid "OpenPGP is not usable on this computer" +#~ msgstr "OpenPGP non se pode usar neste ordenador" + +#~ msgid "To change the account name, you must be disconnected." +#~ msgstr "Para cambiar o nome da conta, debe estar desconectado" + +#~ msgid "To change the account name, you must read all pending events." +#~ msgstr "" +#~ "Para cambiar o nome da conta, debe ler o resto de\n" +#~ "acontecementos pendentes" + +#~ msgid "Account Name Already Used" +#~ msgstr "O nome da conta xa está en uso" + +#~ msgid "Account name cannot be empty." +#~ msgstr "O nome da conta non pode estar baleiro." + +#~ msgid "Account name cannot contain spaces." +#~ msgstr "O nome da conta non pode conter espazos." + +#, fuzzy +#~ msgid "Enter a new name for account %s" +#~ msgstr "Introduza un nome novo para o grupo %s" + +#, fuzzy +#~ msgid "A JID must be in the form \"user@servername\"." +#~ msgstr "Unha ID de Jabber debe estar na forma \"usuario@nomeservidor\"." + +#~ msgid "No such account available" +#~ msgstr "Non está dispoñíbel esta conta" + +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "Debe crear unha conta antes de editar a súa información persoal" + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "Sen unha conexión, non pode editar a súa información persoal" + +#~ msgid "Your server can't save your personal information." +#~ msgstr "O seu servidor non pode gardar a súa información persoal." + +#~ msgid "Please rename or remove it before enabling link-local messaging." +#~ msgstr "" +#~ "Por favor, volva darlle nome ou elimíneo antes de habilitar a mensaxaría " +#~ "de ligazón local." + +#~ msgid "THANKS:" +#~ msgstr "AGRADECEMENTOS:" + +#~ msgid "Could not write to %s. Session Management support will not work" +#~ msgstr "" +#~ "Non se pode escribir en %s. O soporte de manexo de sesión non funcionará" + +#~ msgid "Jabber Traffic" +#~ msgstr "Tráfico de Jabber" + +#, fuzzy +#~ msgid "_Enable" +#~ msgstr "Activar" + +#, fuzzy +#~ msgid "Filter" +#~ msgstr "Sons" + +#~ msgid "_IQ" +#~ msgstr "_IC" + +#~ msgid "Info/Query" +#~ msgstr "Info/Consulta" + +#~ msgid "XML Input" +#~ msgstr "Entrada de XML" + +#~ msgid "XML Console for %s" +#~ msgstr "Consola XML para %s" + +#, fuzzy +#~ msgid "Idle for:" +#~ msgstr "Consola XML para %s" + +#~ msgid "Last status: %s" +#~ msgstr "Último estado: %s" + +#~ msgid " since %s" +#~ msgstr " desde %s" + +#~ msgid "since %s" +#~ msgstr "desde %s" + +#, fuzzy +#~ msgid "Prefer" +#~ msgstr "Preferencias" + +#, fuzzy +#~ msgid "Auto" +#~ msgstr "Autoconectar" + +#, fuzzy +#~ msgid "Invalid expire value" +#~ msgstr "O nome de usuario non é válido" + +#~ msgid "How many minutes should last lines from previous conversation last." +#~ msgstr "Cantos minutos debe durar a última liña da conversa anterior." + +#~ msgid "You will be connected to %s without OpenPGP." +#~ msgstr "Conectarase a %s sen o OpenPGP" + +#, fuzzy +#~ msgid "The following message was NOT encrypted" +#~ msgstr "[Esta mensaxe está cifrada]" + +#~ msgid "Toggle Open_PGP Encryption" +#~ msgstr "Alternar a codificación OpenPGP" + +#, fuzzy +#~ msgid "Toggle End to End Encryption" +#~ msgstr "Alternar a codificación OpenPGP" + +#, fuzzy +#~ msgid "OpenPGP encryption enabled" +#~ msgstr "Cifrado activado" + +#, fuzzy +#~ msgid "The following message was encrypted" +#~ msgstr "[Esta mensaxe está cifrada]" + +#, fuzzy +#~ msgid "Toggle the OpenPGP encryption" +#~ msgstr "Alternar a codificación OpenPGP" + +#, fuzzy +#~ msgid "[This message is *encrypted* (See :XEP:`27`]" +#~ msgstr "[Esta mensaxe está *cifrada* (Mira :JEP:`27`]" + +#~ msgid "" +#~ "If True, listen to D-Bus signals from NetworkManager and change the " +#~ "status of accounts (provided they do not have listen_to_network_manager " +#~ "set to False and they sync with global status) based upon the status of " +#~ "the network connection." +#~ msgstr "" +#~ "Se é verdadeiro, escoite os sinais D-Bus de NetworkManager e os cambios " +#~ "do estado das contas (con tal de que non teñan o " +#~ "listen_to_network_manager posto en Falso e sincronicen co estado global) " +#~ "baseados no estado daconexión da rede." + +#, fuzzy +#~ msgid "Database cannot be read." +#~ msgstr "O nome da conta non pode estar baleiro." + +#, fuzzy +#~ msgid "Smooth scroll message in conversation window" +#~ msgstr "Enviar a mensaxe e pechar a fiestra" + +#, fuzzy +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "Listaxes de _privacidade" + +#~ msgid "_Administrator" +#~ msgstr "_Administrador" + +#, fuzzy +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "" +#~ "Envíalles unha mensaxe aos usuarios conectados neste momento ao servidor" + +#~ msgid "Sets Message of the Day" +#~ msgstr "Define a mensaxe do día" + +#~ msgid "Updates Message of the Day" +#~ msgstr "Actualiza a mensaxe do día" + +#~ msgid "Deletes Message of the Day" +#~ msgstr "Elimina a mensaxe do día (MDD)" + +#, fuzzy +#~ msgid "Add _Contact..." +#~ msgstr "_Engadir un contacto..." + +#~ msgid "Profile, A_vatar" +#~ msgstr "Perfil, Ima_xe" + +#~ msgid "File _Transfers" +#~ msgstr "_Transferencias" + +#~ msgid "Help online" +#~ msgstr "Axuda en liña" + +#~ msgid "Frequently Asked Questions (online)" +#~ msgstr "Preguntas frecuentes (en liña)" + +#, fuzzy +#~ msgid "Fea_tures" +#~ msgstr "Características dos servidores" + +#~ msgid "to %s account" +#~ msgstr "á conta %s" + +#~ msgid "using %s account" +#~ msgstr "a usar a conta %s" + +#~ msgid "of account %s" +#~ msgstr "da conta %s" + +#~ msgid "for account %s" +#~ msgstr "para a conta %s" + +#~ msgid "" +#~ "By removing this contact you also remove authorization resulting in him " +#~ "or her always seeing you as offline." +#~ msgstr "" +#~ "Ao eliminar este contacto tamén se eliminará a autorización resultante e " +#~ "el/ela sempre o/a verá desconectado." + +#~ msgid "Invalid Jabber ID" +#~ msgstr "A ID de Jabber non é válida" + +#~ msgid "This file is being used by another process." +#~ msgstr "Outro proceso está a usar este ficheiro." + +#~ msgid "pgp key" +#~ msgstr "chave pgp" + +#~ msgid "" +#~ "Sends new single message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Envíalle unha mensaxe nova a un contacto na listaxe. Tanto a chave de " +#~ "OpenPGP como a conta son optativas. Se quere definir só 'conta' sen " +#~ "'chave pgp', só defina 'chave pgp' a ''." + +#, fuzzy +#~ msgid "Please first choose another theme as your current theme." +#~ msgstr "Por favor, primeiro elixa outro distinto como tema actual." + +#~ msgid "Your passphrase is incorrect" +#~ msgstr "O contrasinal é incorrecto" + +#, fuzzy +#~ msgid "OpenPGP Passphrase Incorrect" +#~ msgstr "O contrasinal é incorrecto" + +#~ msgid "You successfully received %(filename)s from %(name)s." +#~ msgstr "Recibiu con éxito o ficheiro %(filename)s de %(name)s." + +#, fuzzy +#~ msgid "Set logs directory" +#~ msgstr "a crear un directorio %s" + +#~ msgid "_Manage Bookmarks..." +#~ msgstr "Xestionar _marcadores..." + +#~ msgid "Change Status Message..." +#~ msgstr "Cambiar a mensaxe de estado..." + +#~ msgid "_Change Status Message..." +#~ msgstr "_Cambiar a mensaxe de estado..." + +#~ msgid "" +#~ "You are not interested in the contact's presence, and neither he/she is " +#~ "interested in yours" +#~ msgstr "" +#~ "Non está interesado na presenza do contacto e el/ela tampouco o está en " +#~ "vostede" + +#~ msgid "Error description..." +#~ msgstr "Descrición do erro..." + +#, fuzzy +#~ msgid "View contact information (Ctrl+I)" +#~ msgstr "está a prestar atención á conversa" + +#, fuzzy +#~ msgid "All Chat Histories" +#~ msgstr "Historias antigas" + +#~ msgid "More" +#~ msgstr "Máis" + +#~ msgid "creating %s directory" +#~ msgstr "a crear un directorio %s" + +#~ msgid "%s is not the name of a group chat." +#~ msgstr "%s non é o nome dun grupo de charla." + +#, fuzzy +#~ msgid "Session Management" +#~ msgstr "Enviouse a mensaxe" + +#, fuzzy +#~ msgid "Gajim needs X server to run. Quiting..." +#~ msgstr "O Gajim precisa o Xserver para funcionar. A abortar..." + +#, fuzzy +#~ msgid "Gajim needs PyGTK 2.22 or above" +#~ msgstr "O Gajim precisa un PyGTK 2.6 ou superior" + +#, fuzzy +#~ msgid "Gajim needs PyGTK 2.22 or above to run. Quiting..." +#~ msgstr "" +#~ "O Gajim precisa un PyGTK 2.6 ou superior para funcionar. A abortar..." + +#, fuzzy +#~ msgid "Gajim needs GTK 2.22 or above" +#~ msgstr "O Gajim precisa un GTK 2.6 ou superior" + +#, fuzzy +#~ msgid "Gajim needs GTK 2.22 or above to run. Quiting..." +#~ msgstr "O Gajim precisa un GTK 2.6 ou superior para funcionar. A abortar..." + +#~ msgid "Gajim needs pywin32 to run" +#~ msgstr "O Gajim precisa un pywin32 para funcionar" + +#~ msgid "" +#~ "Please make sure that Pywin32 is installed on your system. You can get it " +#~ "at %s" +#~ msgstr "" +#~ "Por favor, asegúrese de que Pywin32 está instalado no seu sistema. Pode " +#~ "obtelo en %s" + +#~ msgid "Gajim is already running" +#~ msgstr "O Gajim xa está a se executar" + +#~ msgid "" +#~ "Another instance of Gajim seems to be running\n" +#~ "Run anyway?" +#~ msgstr "" +#~ "Outra instancia dO Gajim semella estar xa en execución\n" +#~ "Quere executar unha outra?" + +#~ msgid "A programming error has been detected" +#~ msgstr "Detectouse un erro de programación" + +#~ msgid "Details" +#~ msgstr "Detalles" + +#~ msgid "Jabber ID: " +#~ msgstr "ID de Jabber:" + +#~ msgid "Resource: " +#~ msgstr "Recurso: " + +#~ msgid "Subscription: " +#~ msgstr "Subscrición: " + +#, fuzzy +#~ msgid "Mood: " +#~ msgstr "Sala:" + +#, fuzzy +#~ msgid "Activity: " +#~ msgstr "Activo" + +#, fuzzy +#~ msgid "" +#~ "If True, Gajim will check if it's the default jabber client on each " +#~ "startup." +#~ msgstr "Se é verdadeiro, o Gajim rexistra xmpp:// en cada inicio." + +#~ msgid "Execute Command..." +#~ msgstr "Executar o comando..." + +#~ msgid " a window/tab opened with that contact " +#~ msgstr " hai unha fiestra/separador aberto con este contacto " + +#~ msgid "Actions" +#~ msgstr "Accións" + +#~ msgid "Conditions" +#~ msgstr "Condicións" + +#~ msgid "Advanced Notifications Control" +#~ msgstr "Control de notificacións avanzadas" + +#~ msgid "Busy " +#~ msgstr "Ocupado " + +#, fuzzy +#~ msgid "Contact Change Status " +#~ msgstr "Un contacto cambiou o seu estado" + +#~ msgid "Don't have " +#~ msgstr "Non ten " + +#, fuzzy +#~ msgid "File Transfer Started " +#~ msgstr "Detívose a transferencia do ficheiro" + +#, fuzzy +#~ msgid "Group Chat Message Highlight " +#~ msgstr "Remarcado da mensaxe de grupo de charla" + +#, fuzzy +#~ msgid "Group Chat Message Received " +#~ msgstr "Recibiuse unha mensaxe de grupo de charla" + +#~ msgid "Launch a command" +#~ msgstr "Enviar un comando" + +#~ msgid "One or more special statuses..." +#~ msgstr "Un ou máis estados especiais..." + +#~ msgid "Online / Free For Chat" +#~ msgstr "En liña / Libre para falar" + +#~ msgid "Play a sound" +#~ msgstr "Reproducir un _son" + +#~ msgid "When " +#~ msgstr "Cando" + +#~ msgid "" +#~ "_Activate window manager's UrgencyHint to make chat window in taskbar " +#~ "flash" +#~ msgstr "" +#~ "_Activar o índice de urxencia do xestor de fiestras na barra de tarefas " +#~ "para realzar a fiestra de charla" + +#~ msgid "_Disable auto opening chat window" +#~ msgstr "_Desactivar a apertura automática de fiestras de charla" + +#~ msgid "_Disable existing popup window" +#~ msgstr "_Desactivar as fiestras emerxentes existentes" + +#~ msgid "_Disable existing sound for this event" +#~ msgstr "_Desactivar os sons existentes para este acontecemento" + +#, fuzzy +#~ msgid "_Disable showing event in notification area" +#~ msgstr "_Desactivar mostrar os eventos no roster" + +#~ msgid "_Disable showing event in roster" +#~ msgstr "_Desactivar mostrar os eventos no roster" + +#~ msgid "_Inform me with a popup window" +#~ msgstr "_Informarme cunha fiestra emerxente" + +#~ msgid "_Open chat window with user" +#~ msgstr "_Abrir unha fiestra de charla con este usuario" + +#~ msgid "_Show event in roster" +#~ msgstr "_Mostrar o evento na listaxe de contactos" + +#~ msgid "and I " +#~ msgstr "e eu " + +#, fuzzy +#~ msgid "contact(s)" +#~ msgstr "Contactos" + +#~ msgid "for " +#~ msgstr "para " + +#, fuzzy +#~ msgid "group(s)" +#~ msgstr "Grupo" + +#~ msgid "when I'm in" +#~ msgstr "cando eu estea en" + +#~ msgid "_Allow him/her to see my status" +#~ msgstr "Permitirlle ver o meu estado" + +#, fuzzy +#~ msgid "Descrition:" +#~ msgstr "Descrición: %s" + +#, fuzzy +#~ msgid "Advanced..." +#~ msgstr "Avanzado" + +#, fuzzy +#~ msgid "Display _activity of contacts in roster" +#~ msgstr "Amosar na listaxe os a_vatares dos contactos" + +#, fuzzy +#~ msgid "Display _tunes of contacts in roster" +#~ msgstr "Amosar na listaxe os a_vatares dos contactos" + +#, fuzzy +#~ msgid "Display m_ood of contacts in roster" +#~ msgstr "Amosar na listaxe os a_vatares dos contactos" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will display the activity of contacts in the roster " +#~ "window" +#~ msgstr "" +#~ "Se isto está marcado, o Gajim amosará as circunstancias dos contactos na " +#~ "listaxe e nos grupos de charla" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will display the location of contacts in the roster " +#~ "window" +#~ msgstr "" +#~ "Se isto está marcado, o Gajim amosará as circunstancias dos contactos na " +#~ "listaxe e nos grupos de charla" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will display the tunes of contacts in the roster window" +#~ msgstr "" +#~ "Se isto está marcado, o Gajim amosará as circunstancias dos contactos na " +#~ "listaxe e nos grupos de charla" + +#~ msgid "Gajim Instant Messenger" +#~ msgstr "Mensaxaría Instantánea Gajim" + +#~ msgid "English" +#~ msgstr "Inglés" + +#, fuzzy +#~ msgid "Belarusian" +#~ msgstr "Búlgaro" + +#~ msgid "Bulgarian" +#~ msgstr "Búlgaro" + +#, fuzzy +#~ msgid "Breton" +#~ msgstr "Bretón" + +#~ msgid "Czech" +#~ msgstr "Checo" + +#~ msgid "German" +#~ msgstr "Alemán" + +#~ msgid "Greek" +#~ msgstr "Grego" + +#, fuzzy +#~ msgid "British" +#~ msgstr "Bretón" + +#~ msgid "Esperanto" +#~ msgstr "Esperanto" + +#~ msgid "Spanish" +#~ msgstr "Español" + +#, fuzzy +#~ msgid "Basque" +#~ msgstr "Éuscaro" + +#~ msgid "French" +#~ msgstr "Francés" + +#~ msgid "Croatian" +#~ msgstr "Croata" + +#~ msgid "Italian" +#~ msgstr "Italiano" + +#, fuzzy +#~ msgid "Norwegian (b)" +#~ msgstr "Noruegués b" + +#~ msgid "Dutch" +#~ msgstr "Holandés" + +#, fuzzy +#~ msgid "Norwegian" +#~ msgstr "Noruegués" + +#~ msgid "Polish" +#~ msgstr "Polaco" + +#~ msgid "Portuguese" +#~ msgstr "Portugués" + +#~ msgid "Brazilian Portuguese" +#~ msgstr "Portugués do Brasil" + +#~ msgid "Russian" +#~ msgstr "Ruso" + +#, fuzzy +#~ msgid "Serbian" +#~ msgstr "Alemán" + +#~ msgid "Slovak" +#~ msgstr "Eslovaco" + +#~ msgid "Swedish" +#~ msgstr "Sueco" + +#~ msgid "Chinese (Ch)" +#~ msgstr "Chinés (Ch)" + +#~ msgid "Spelling language" +#~ msgstr "Idioma do corrector" + +#~ msgid "all or space separated status" +#~ msgstr "estado separado por espazos ou all" + +#~ msgid "'yes', 'no', or 'both'" +#~ msgstr "'si', 'non' ou 'ambos'" + +#~ msgid "'yes', 'no' or ''" +#~ msgstr "'si', 'non' ou ''" + +#~ msgid "Check your connection or try again later" +#~ msgstr "Comprobe a súa conexión ou probe máis tarde" + +#~ msgid "error: cannot open %s for reading" +#~ msgstr "erro: non se pode abrir %s para lectura" + +#~ msgid "Unable to bind to port %s." +#~ msgstr "Non se pode conectar ao porto %s." + +#, fuzzy +#~ msgid "" +#~ "Maybe you have another running instance of Gajim. File Transfer will be " +#~ "cancelled." +#~ msgstr "" +#~ "É posíbel que outra instancia do Gajim estea a se executar. A " +#~ "transferencia cancelarase." + +#~ msgid "A GTK+ jabber client" +#~ msgstr "Un cliente de Jabber en GTK" + +#~ msgid "Condition" +#~ msgstr "Condición" + +#~ msgid "when I am " +#~ msgstr "cando estea " + +#, fuzzy +#~ msgid "one of: offline, online, chat, away, xa, dnd, invisible " +#~ msgstr "" +#~ "un de: desconectado, en liña, libre para falar, ausente, non dispoñíbel, " +#~ "ocupado, invisíbel" + +#, fuzzy +#~ msgid "" +#~ "Returns current status message(the global one unless account is specified)" +#~ msgstr "" +#~ "Devolve a mensaxe de estado actual (o global se non se especificar unha " +#~ "conta)" + +#~ msgid "" +#~ "Usage: %s %s %s \n" +#~ "\t %s" +#~ msgstr "" +#~ "Modo de uso: %s %s %s \n" +#~ "\t %s" + +#, fuzzy +#~ msgid "" +#~ "Too many arguments. \n" +#~ "Type \"%s help %s\" for more info" +#~ msgstr "" +#~ "O argumento \"%s\" non se especificou. \n" +#~ "Escriba \"%s help %s\" para máis información" + +#, fuzzy +#~ msgid "" +#~ "Argument \"%s\" is not specified. \n" +#~ "Type \"%s help %s\" for more info" +#~ msgstr "" +#~ "O argumento \"%s\" non se especificou. \n" +#~ "Escriba \"%s help %s\" para máis información" + +#~ msgid "Subject: %s" +#~ msgstr "Asunto: %s" + +#, fuzzy +#~ msgid "Mood: %s" +#~ msgstr "Sala:" + +#, fuzzy +#~ msgid "Activity: %s" +#~ msgstr "Activo" + +#~ msgid "_Disable showing event in systray" +#~ msgstr "_Desactivar mostrar os eventos na área de notificación" + +#~ msgid "_Show event in systray" +#~ msgstr "_Mostrar o evento na área de notificación" + +#, fuzzy +#~ msgid "Autodetect on every Gajim startup" +#~ msgstr "C_onectar ao inicio de Gajim" + +#, fuzzy +#~ msgid "Show systray:" +#~ msgstr "_Mostrar o evento na área de notificación" + +#~ msgid "Nickname not allowed: %s" +#~ msgstr "Alcume non permitido: %s" + +#~ msgid "we are now subscribed to %s" +#~ msgstr "estamos agora subscritos a %s" + +#~ msgid "we are now unsubscribed from %s" +#~ msgstr "xa non estamos subscritos a %s" + +#~ msgid "Account Modification" +#~ msgstr "Modificar a conta" + +#~ msgid "" +#~ "Check this so Gajim will connect in port 5223 where legacy servers are " +#~ "expected to have SSL capabilities. Note that Gajim uses TLS encryption by " +#~ "default if broadcasted by the server, and with this option enabled TLS " +#~ "will be disabled" +#~ msgstr "" +#~ "Ao marcar esta opción, o Gajim conectará o porto 5223 cando un servidor " +#~ "antigo use SSL. Cómpre ter en conta que o Gajim usa un cifrado TLS por " +#~ "defecto se está dispoñíbel no servidor e que con esta opción se desactiva " +#~ "o TLS" + +#~ msgid "Edit Personal Information..." +#~ msgstr "_Editar a información persoal..." + +#~ msgid "Hostname: " +#~ msgstr "Nome do host:" + +#~ msgid "" +#~ "If checked, Gajim will store the password in ~/.gajim/config with 'read' " +#~ "permission only for you" +#~ msgstr "" +#~ "Se isto está marcado, o Gajim gardará o contrasinal en ~/.gajim/config " +#~ "para o que unicamente vostede terá acceso de só lectura" + +#~ msgid "Port: " +#~ msgstr "Porto: " + +#~ msgid "Save _passphrase (insecure)" +#~ msgstr "Gardar o contrasinal (inseguro)" + +#~ msgid "Use _SSL (legacy)" +#~ msgstr "Usar _SSL (o antigo)" + +#, fuzzy +#~ msgid "" +#~ "Receive a Message\n" +#~ "Contact Disconnected \n" +#~ "Contact Change Status \n" +#~ "Group Chat Message Highlight \n" +#~ "Group Chat Message Received \n" +#~ "File Transfer Request \n" +#~ "File Transfer Started \n" +#~ "File Transfer Finished" +#~ msgstr "" +#~ "Recibir unha mensaxe\n" +#~ "O contacto está conectado \n" +#~ "O contacto está desconectado \n" +#~ "O contacto mudou de estado \n" +#~ "Mensaxe de grupo de charla realzado \n" +#~ "Mensaxe de grupo de charla recibida \n" +#~ "Solicitude de transferencia \n" +#~ "Transferencia iniciada \n" +#~ "Transferencia rematada" + +#~ msgid "" +#~ "contact(s)\n" +#~ "group(s)\n" +#~ "everybody" +#~ msgstr "" +#~ "contacto(s)\n" +#~ "grupo(s)\n" +#~ "todo o mundo" + +#~ msgid "" +#~ "Account row\n" +#~ "Group row\n" +#~ "Contact row\n" +#~ "Chat Banner" +#~ msgstr "" +#~ "Conta\n" +#~ "Grupo\n" +#~ "Contacto\n" +#~ "Báner" + +#, fuzzy +#~ msgid "gtk-delete" +#~ msgstr "Eliminar" + +#~ msgid "" +#~ "All chat states\n" +#~ "Composing only\n" +#~ "Disabled" +#~ msgstr "" +#~ "Todos os estados da charla\n" +#~ "Só escribindo\n" +#~ "Desactivado" + +#, fuzzy +#~ msgid "" +#~ "Autodetect on every Gajim startup\n" +#~ "Always use GNOME default applications\n" +#~ "Always use KDE default applications\n" +#~ "Always use Xfce default applications\n" +#~ "Custom" +#~ msgstr "" +#~ "Detectar automaticamente en cada inicio do Gajim\n" +#~ "Usar sempre as aplicacións por defecto do GNOME\n" +#~ "Usar sempre as aplicacións por defecto do KDE\n" +#~ "Usar sempre as aplicacións por defecto do Xfce\n" +#~ "Personalizado" + +#~ msgid "" +#~ "none\n" +#~ "both\n" +#~ "from\n" +#~ "to" +#~ msgstr "" +#~ "ningún\n" +#~ "ambos\n" +#~ "de\n" +#~ "a" + +#, fuzzy +#~ msgid "gtk-cancel" +#~ msgstr "Eliminar" + +#~ msgid "GTK+ runtime is missing libglade support" +#~ msgstr "A biblioteca GTK+ precisa un soporte de libglade" + +#~ msgid "" +#~ "Please remove your current GTK+ runtime and install the latest stable " +#~ "version from %s" +#~ msgstr "" +#~ "Por favor, elimine a súa biblioteca GTK+ actual e instale a última " +#~ "versión estábel desde %s" + +#~ msgid "" +#~ "Please make sure that GTK+ and PyGTK have libglade support in your system." +#~ msgstr "" +#~ "Por favor, asegúrese de que GTK+ e PyGTK teñen un soporte libglade no seu " +#~ "sistema." + +#~ msgid "Gajim needs PySQLite2 to run" +#~ msgstr "O Gajim precisa un PySQLite2 para funcionar" + +#, fuzzy +#~ msgid "gtk-ok" +#~ msgstr "gtk+" + +#~ msgid "pysqlite2 (aka python-pysqlite2) dependency is missing. Exiting..." +#~ msgstr "falta a dependencia pysqlite2 (tcc python-pysqlite2). A saír..." + +#, fuzzy +#~ msgid "" +#~ "The host %s you configured as the ft_add_hosts_to_send advanced option is " +#~ "not valid, so ignored." +#~ msgstr "" +#~ "O host que configurou como a opción avanzada ft_override_host_to_send non " +#~ "é valido e ignorarase." + +#~ msgid "OpenPGP passphrase was not given" +#~ msgstr "Non se facilitou a chave de OpenPGP" + +#~ msgid "" +#~ "To continue sending and receiving messages, you will need to reconnect." +#~ msgstr "" +#~ "Para continuar a enviar e recibir mensaxes, precisa volver conectarse." + +#~ msgid "" +#~ "You are not connected or not visible to others. Your message could not be " +#~ "sent." +#~ msgstr "" +#~ "Non está conectado ou está invisíbel aos máis. A súa mensaxe non se puido " +#~ "enviar " + +#~ msgid "Add Special _Notification" +#~ msgstr "Engadir unha _notificación especial" + +#~ msgid "Assign Open_PGP Key" +#~ msgstr "Asignar chave de OpenPGP" + +#, fuzzy +#~ msgid "" +#~ "Usage: /%(command)s , sends action to the current group chat. Use " +#~ "third person. (e.g. /%(command)s explodes.)" +#~ msgstr "" +#~ "Uso: /%s , envíalle unha acción ao grupo de charla actual. Usa a " +#~ "terceira persoa. (por exemplo /%s berra.)" + +#~ msgid "No help info for /%s" +#~ msgstr "Non hai información de axuda para /%s" + +#~ msgid "Enable link-local/zeroconf messaging" +#~ msgstr "Activar a mensaxaría de ligazón local / zeroconf" + +#~ msgid "Nickname not found: %s" +#~ msgstr "Non se achou o alcume: %s" + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s [reason], bans the JID from the group chat. The " +#~ "nickname of an occupant may be substituted, but not if it contains \"@\". " +#~ "If the JID is currently in the group chat, he/she/it will also be kicked." +#~ msgstr "" +#~ "Uso: /%s [motivo], expulsa o JID do grupo de charla. O " +#~ "alcume dun ocupante pode ser substituído, mais non se contén \"@\". Se o " +#~ "JID está actualmente no grupo de charla, el/ela será tamén expulsado. NON " +#~ "se admiten espazos no alcume." + +#~ msgid "" +#~ "Usage: /%s [reason], closes the current window or tab, displaying reason " +#~ "if specified." +#~ msgstr "" +#~ "Uso: /%s [motivo], pecha a fiestra ou o separador actual e amosa o motivo " +#~ "se se especificar." + +#~ msgid "" +#~ "Usage: /%s [reason], invites JID to the current group chat, " +#~ "optionally providing a reason." +#~ msgstr "" +#~ "Uso: /%s [reason], convida o JID ao grupo de charla actual, e " +#~ "opcionalmente especifica un motivo." + +#~ msgid "" +#~ "Usage: /%s @[/nickname], offers to join room@server " +#~ "optionally using specified nickname." +#~ msgstr "" +#~ "Uso: /%s @[/alcume], ofrece a entrada a sala@servidor e " +#~ "usa opcionalmente o alcume especificado" + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s [reason], removes the occupant specified by " +#~ "nickname from the group chat and optionally displays a reason." +#~ msgstr "" +#~ "Uso: /%s [motivo], elimina da sala o ocupante que especificao " +#~ "alcume e opcionalmente especifica un motivo. NON se admiten espazos no " +#~ "alcume." + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s [message], opens a private message window and sends " +#~ "message to the occupant specified by nickname." +#~ msgstr "" +#~ "Uso: /%s [message], abre unha fiestra de charla privada e " +#~ "envíalle unha mensaxe ao ocupante que especifica o alcume." + +#~ msgid "Usage: /%s , changes your nickname in current group chat." +#~ msgstr "Uso: /%s , cambia o seu alcume na sala actual." + +#~ msgid "" +#~ "Usage: /%s [topic], displays or updates the current group chat topic." +#~ msgstr "Uso: /%s [tema], amosa ou actualiza o asunto actual da sala." + +#~ msgid "" +#~ "Usage: /%s , sends a message without looking for other commands." +#~ msgstr "Uso: /%s , envía unha mensaxe sen buscar outros comandos." + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s , allow to send you messages and private " +#~ "messages." +#~ msgstr "Uso: /%s , cambia o seu alcume na sala actual." + +#~ msgid "Click to see features (like MSN, ICQ transports) of jabber servers" +#~ msgstr "" +#~ "Prema para ver as características (como transportes de MSN e ICQ) dos " +#~ "servidores de Jabber" + +#~ msgid "Modify Account" +#~ msgstr "Modificar conta" + +#, fuzzy +#~ msgid "" +#~ "%(title)s by %(artist)s\n" +#~ "from %(source)s" +#~ msgstr "\"%(title)s\" por %(artist)s" + +#~ msgid "Gajim account %s" +#~ msgstr "Conta de Gajim %s" + +#~ msgid "This account is already configured in Gajim." +#~ msgstr "Esta conta xa está configurada no Gajim." + +#, fuzzy +#~ msgid "Idle" +#~ msgstr "Id" + +#, fuzzy +#~ msgid "File transfer stopped by the contact at the other end" +#~ msgstr "O contacto detivo a transferencia do ficheiro" + +#, fuzzy +#~ msgid "Generic" +#~ msgstr "Xeral" + +#~ msgid "%s has not broadcast an OpenPGP key, nor has one been assigned" +#~ msgstr "%s non difundiu a súa chave de OpenPGP nin vostede lle asignou unha" + +#~ msgid "No such command: /%s (if you want to send this, prefix it with /say)" +#~ msgstr "" +#~ "Non existe este comando: /%s (se quere enviar isto, use o prefixo /say)" + +#~ msgid "" +#~ "Usage: /%s , sends action to the current group chat. Use third " +#~ "person. (e.g. /%s explodes.)" +#~ msgstr "" +#~ "Uso: /%s , envíalle unha acción ao grupo de charla actual. Usa a " +#~ "terceira persoa. (por exemplo /%s berra.)" + +#~ msgid "_Servidor:" +#~ msgstr "_Host:" + +#~ msgid "_Retype Password:" +#~ msgstr "_Introduza, mais unha vez, o contrasinal:" + +#~ msgid "" +#~ "If checked, all local contacts that use a Bonjour compatible chat client " +#~ "(like iChat, Trillian or Gaim) will be shown in roster. You don't need to " +#~ "be connected to a jabber server for it to work.\n" +#~ "This is only available if python-avahi is installed and avahi-daemon is " +#~ "running." +#~ msgstr "" +#~ "Se isto está marcado, todos os contactos locais que empregaren un cliente " +#~ "Bonjour compatíbel (como iChat, Trillian ou Gaim) apareceran na listaxe " +#~ "de contactos. Non precisa estar conectado a un servidor de Jabber para o " +#~ "seu funcionamento.\n" +#~ "Isto só está dispoñíbel se o python-avahi está instalado e o avahi-daemon " +#~ "está en execución." + +#~ msgid "" +#~ "If you have 2 or more accounts and it is checked, Gajim will list all " +#~ "contacts as if you had one account" +#~ msgstr "" +#~ "Se ten dúas ou máis contas e isto está marcado, o Gajim relacionará todos " +#~ "os contactos de forma mixta" + +#~ msgid "_Enable link-local messaging" +#~ msgstr "Habilitar m_ensaxaría de ligazón local" + +#~ msgid "Romeo and Juliet" +#~ msgstr "Romeo e Xulieta" + +#~ msgid "Soliloquy" +#~ msgstr "Soliloquio" + +#~ msgid "_Compact View Alt+C" +#~ msgstr "Vista _compacta Alt+C" + +#~ msgid "Click to see past conversation in this room" +#~ msgstr "Prema para ver as anteriores conversas nesta sala" + +#~ msgid "Build custom query" +#~ msgstr "Construír unha consulta personalizada" + +#~ msgid "Query Builder..." +#~ msgstr "Construtor de consultas..." + +#~ msgid "Invitation Received" +#~ msgstr "Recibiuse un convite" + +#~ msgid "Format of a line" +#~ msgstr "Formato da liña" + +#~ msgid "Interface Customization" +#~ msgstr "Personalización da interface" + +#~ msgid "Also known as iChat style" +#~ msgstr "Tamén coñecido como estilo iChat" + +#~ msgid "" +#~ "An example: If you have enabled status message for away, Gajim won't ask " +#~ "you anymore for a status message when you change your status to away; it " +#~ "will use the default one set here" +#~ msgstr "" +#~ "Como exemplo, se ten activado a mensaxe de estado en ausente, o Gajim non " +#~ "lle preguntará máis por unha mensaxe de estado cando mude o seu estado a " +#~ "ausente; simplemente aplicará a mensaxe predefinida para ausente" + +#~ msgid "E_very 5 minutes" +#~ msgstr "Cada 5 _minutos" + +#~ msgid "" +#~ "Gajim will automatically show new events by poping up the relative window" +#~ msgstr "" +#~ "O Gajim amosará automaticamente novos acontecementos a emerxeren na " +#~ "fiestra relativa" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed in" +#~ msgstr "" +#~ "O Gajim notificaralle cunha mensaxe emerxente na parte inferior dereita " +#~ "da pantalla cando un contacto se conectar" + +#~ msgid "" +#~ "Gajim will only change the icon of the contact that triggered the new " +#~ "event" +#~ msgstr "" +#~ "O Gajim só lle amosará a icona do contacto que provocou o novo " +#~ "acontecemento" + +#~ msgid "" +#~ "If checked, Gajim will remember the roster and chat window positions in " +#~ "the screen and the sizes of them next time you run it" +#~ msgstr "" +#~ "Se isto está marcado, o Gajim lembrará a posición da listaxe e das " +#~ "fiestras de conversa na pantalla e os seus tamaños para a próxima vez que " +#~ "aparezan" + +#~ msgid "" +#~ "Never\n" +#~ "Always\n" +#~ "Per account\n" +#~ "Per type" +#~ msgstr "" +#~ "Nunca\n" +#~ "Sempre\n" +#~ "Por conta\n" +#~ "Por tipo" + +#~ msgid "Outgoing Chat state noti_fications:" +#~ msgstr "Notificacións saíntes do estado de charla:" + +#~ msgid "Print time:" +#~ msgstr "Inserir a hora:" + +#~ msgid "Save _position and size for roster and chat windows" +#~ msgstr "" +#~ "Gardar a _posición e o tamaño para as fiestras de charla e a listaxe de " +#~ "contactos" + +#~ msgid "Set status message to reflect currently playing _music track" +#~ msgstr "" +#~ "Cambiar a mensaxe de estado para reflectir a pista_musical en reprodución" + +#~ msgid "The auto away status message" +#~ msgstr "A mensaxe de estado de autoausencia" + +#~ msgid "" +#~ "When a new event (message, file transfer request etc..) is received, the " +#~ "following methods may be used to inform you about it. Please note that " +#~ "events about new messages only occur if it is a new message from a " +#~ "contact you are not already chatting with" +#~ msgstr "" +#~ "Cando se recibe un novo acontecemento (mensaxe, envío de ficheiros etc.), " +#~ "poden usarse os seguintes métodos para o informar. Cómpre salientar que " +#~ "os acontecementos das mensaxes novas só ocorren se proceden dun contacto " +#~ "con que non estaba xa a conversar" + +#~ msgid "" +#~ "Works for Rhythmbox and Muine players. For more players, please visit " +#~ "http://trac.gajim.org/wiki/GajimAndMusicPlayer" +#~ msgstr "" +#~ "Funciona para os reprodutores Rythmbox e Muine. Para máis reprodutores, " +#~ "pode visitar http://trac.gajim.org/wiki/GajimAndMusicPlayer" + +#~ msgid "_Advanced Notifications Control..." +#~ msgstr "Control de notificacións _avanzadas..." + +#~ msgid "_After time:" +#~ msgstr "_Despois da hora:" + +#~ msgid "_Before time:" +#~ msgstr "_Antes da hora:" + +#~ msgid "_Player:" +#~ msgstr "_Reprodutor:" + +#~ msgid "Role:" +#~ msgstr "Papel:" + +#~ msgid "_Retrieve" +#~ msgstr "_Recuperar" + +#~ msgid "_Remove from Roster" +#~ msgstr "_Eliminar da listaxe" + +#~ msgid "A_ccounts" +#~ msgstr "_Contas" + +#~ msgid "OS:" +#~ msgstr "SO:" + +#~ msgid "" +#~ "If that is not your language for which you want to highlight misspelled " +#~ "words, then please set your $LANG as appropriate. Eg. for French do " +#~ "export LANG=fr_FR or export LANG=fr_FR.UTF-8 in ~/.bash_profile or to " +#~ "make it global in /etc/profile.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "Se esta non é a súa lingua para a quere marcar os erros ortográficos, " +#~ "debe definir a variábel $LANG co valor apropiado. Por exemplo, para o " +#~ "Francés debe exportar LANG=fr_FR ou exportar LANG=fr_FR.UTF-8 en ~/." +#~ "bash_profile ou facelo globalmente en /etc/profile.\n" +#~ "\n" +#~ "A marcación de erros ortográficos non se empregará" + +#~ msgid "Every %s _minutes" +#~ msgstr "Cada %s _minutos" + +#~ msgid "You will always see him or her as offline." +#~ msgstr "Sempre o verá desconectado." + +#~ msgid "%s is now %s (%s)" +#~ msgstr "%s está agora %s (%s)" + +#~ msgid "" +#~ "\n" +#~ "From: %(from_address)s" +#~ msgstr "" +#~ "\n" +#~ "De: %(from_address)s" + +#~ msgid "Network Manager support not available" +#~ msgstr "O soporte para o xestor de rede non está dispoñíbel" + +#~ msgid "Session Management support not available (missing gnome.ui module)" +#~ msgstr "" +#~ "O soporte de manexo de sesión non está dispoñíbel (falta o módulo gnome." +#~ "ui)" + +#~ msgid "%s is now %s" +#~ msgstr "%s está agora %s" + +#~ msgid "%s does not appear to be a valid JID" +#~ msgstr "%s non semella ser un JID válido" + +#~ msgid "%s - Gajim" +#~ msgstr "%s - Gajim" + +#~ msgid "Information published" +#~ msgstr "Información publicada" + +#~ msgid "Without a connection, you can not get your contact information." +#~ msgstr "Sen unha conexión non pode obter a súa información de contacto." + +#~ msgid "_New group chat" +#~ msgstr "_Grupo de charla novo" + +#~ msgid "Log _off" +#~ msgstr "_Desconectar" + +#~ msgid "Save passphrase" +#~ msgstr "Gardar o contrasinal" + +#~ msgid "Drop %s in group %s" +#~ msgstr "Deixar %s no grupo %s" + +#~ msgid "Hides the buttons in two persons chat window." +#~ msgstr "Oculta os botóns nas fiestras de charla de dúas persoas." + +#~ msgid "Connected to server %s:%s with %s" +#~ msgstr "Conectado ao servidor %s:%s con %s" + +#~ msgid "invisible" +#~ msgstr "invisíbel" + +#~ msgid "offline" +#~ msgstr "desconectado" + +#~ msgid " %d unread single message" +#~ msgid_plural " %d unread single messages" +#~ msgstr[0] "%d mensaxe único sen ler" +#~ msgstr[1] "%d mensaxes únicas sen ler" + +#~ msgid " %d unread group chat message" +#~ msgid_plural " %d unread group chat messages" +#~ msgstr[0] "%d mensaxe de grupo de charla sen ler" +#~ msgstr[1] "%d mensaxes de grupo de charla sen ler" + +#~ msgid " %d unread private message" +#~ msgid_plural " %d unread private messages" +#~ msgstr[0] "%d mensaxe privada sen ler" +#~ msgstr[1] "%d mensaxes privadas sen ler" + +#~ msgid "" +#~ "Connection to host could not be established: Incorrect answer from server." +#~ msgstr "" +#~ "Non foi posíbel estabelecer a conexión ao host: resposta incorrecta do " +#~ "servidor." + +#~ msgid "Connection to host could not be established" +#~ msgstr "Non foi posíbel estabelecer a conexión ao host" diff --git a/po/he.po b/po/he.po new file mode 100644 index 0000000..630fff3 --- /dev/null +++ b/po/he.po @@ -0,0 +1,16338 @@ +# Hebrew translations for gajim +# Copyright (C) Copyright © 2003-2013 Gajim Team +# This file is distributed under the same license as the gajim package. +# Darlan , 2012 - 2013. +# Isratine Citizen , 2012 - 2015. +# +msgid "" +msgstr "" +"Project-Id-Version: gajim 0.15\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-01 17:44+0100\n" +"PO-Revision-Date: 2014-06-21 16:23+0200\n" +"Last-Translator: Isratine Citizen \n" +"Language-Team: Rahut\n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 1.5.4\n" +"X-Language: he\n" +"X-Source-Language: en\n" + +#: gajim/history_manager.py:78 +#, fuzzy +msgid "Usage:" +msgstr "cli" + +#: gajim/history_manager.py:80 +#, fuzzy +msgid "Options:" +msgstr "cli" + +#: gajim/history_manager.py:82 +#, fuzzy +msgid "Show this help message and exit" +msgstr "cli" + +#: gajim/history_manager.py:83 +msgid "Choose folder for logfile" +msgstr "" + +#: gajim/history_manager.py:113 +msgid "Cannot find history logs database" +msgstr "אין אפשרות למצוא מסד נתונים של רשומות היסטוריה" + +#: gajim/history_manager.py:114 +#, fuzzy, python-format +msgid "%s does not exist." +msgstr "קובץ לא קיים" + +#: gajim/history_manager.py:147 gajim/history_manager.py:201 +#: gajim/gtk/add_contact.py:31 gajim/gtk/discovery.py:833 +#: gajim/gtk/accounts.py:892 gajim/data/gui/vcard_information_window.ui:55 +#: gajim/data/gui/bookmarks.ui:45 gajim/data/gui/blocking_list.ui:43 +#: gajim/data/gui/mam_preferences.ui:117 +#, fuzzy +msgid "XMPP Address" +msgstr "כתובת AIM:" + +#: gajim/history_manager.py:160 gajim/history_manager.py:208 +#: gajim/gtk/history.py:108 gajim/data/gui/history_window.ui:89 +msgid "Date" +msgstr "תאריך" + +#: gajim/history_manager.py:167 gajim/history_manager.py:231 +#: gajim/data/gui/profile.ui:232 gajim/data/gui/vcard_information_window.ui:442 +#: gajim/data/gui/bookmarks.ui:84 +msgid "Nickname" +msgstr "שם כינוי" + +#: gajim/history_manager.py:178 gajim/history_manager.py:217 +#: gajim/gtk/history.py:117 gajim/data/gui/single_message_window.ui:266 +msgid "Message" +msgstr "הודעה" + +#: gajim/history_manager.py:186 gajim/history_manager.py:224 +#: gajim/data/gui/groups_post_window.ui:49 +#: gajim/data/gui/single_message_window.ui:205 +msgid "Subject" +msgstr "נושא" + +#: gajim/history_manager.py:254 +msgid "Database Cleanup" +msgstr "ניקוי מסד נתונים" + +#: gajim/history_manager.py:255 +#, fuzzy +msgid "Clean up the database?" +msgstr "כעת יוצר מטמון מסד נתונים" + +#: gajim/history_manager.py:256 +#, fuzzy +msgid "" +"This is STRONGLY NOT RECOMMENDED IF GAJIM IS RUNNING.\n" +"Normally, the allocated database size will not be freed, it will just become " +"reusable. This operation may take a while." +msgstr "" +"בדרך כלל גודל מסד נתונים מוקצה לא יהיה חופשי, אלא הוא רק יהפוך לכזה אשר ניתן " +"לשימוש חוזר. אם באמת ברצונך להקטין את הגודל של קובץ מסד הנתונים, עליך להקיש " +"כן, אחרת עליך להקיש לא.\n" +"\n" +"במידה ותבחר להקיש כן, אנא המתן..." + +#: gajim/history_manager.py:262 +#, fuzzy +msgid "_Cleanup" +msgstr "_נקה" + +# Can this be changed to: Me? +# את/ה +#: gajim/history_manager.py:527 gajim/gtk/filetransfer.py:238 +#: gajim/gtk/filetransfer.py:248 +msgid "You" +msgstr "עצמך" + +# BUG: said > wrote? +# Needs to be tested +#: gajim/history_manager.py:539 +#, python-format +msgid "%(who)s on %(time)s said: %(message)s\n" +msgstr "‏%(who)s בשעה %(time)s אמר/ה: %(message)s\n" + +#: gajim/history_manager.py:576 gajim/history_manager.py:615 +#: gajim/gtk/themes.py:362 gajim/gtk/roster_item_exchange.py:75 +#: gajim/gtk/roster_item_exchange.py:185 +msgid "Delete" +msgstr "מחק" + +#: gajim/history_manager.py:577 +#, fuzzy +msgid "Delete Conversation" +msgid_plural "Delete Conversations" +msgstr[0] "אימות מחיקה" +msgstr[1] "אימות מחיקה" + +#: gajim/history_manager.py:578 +#, fuzzy, python-format +msgid "Do you want to permanently delete this conversation with %s?" +msgid_plural "Do you want to permanently delete these conversations?" +msgstr[0] "האם אתה בטוח כי ברצונך למחוק את ההודעה הנבחרת?" +msgstr[1] "האם אתה בטוח כי ברצונך למחוק את ההודעה הנבחרת?" + +#: gajim/history_manager.py:616 +#, fuzzy +msgid "Delete Message" +msgid_plural "Delete Messages" +msgstr[0] "הודעה שגרתית" +msgstr[1] "הודעה שגרתית" + +#: gajim/history_manager.py:617 +#, fuzzy +msgid "Do you want to permanently delete this message?" +msgid_plural "Do you want to permanently delete these messages?" +msgstr[0] "האם אתה בטוח כי ברצונך למחוק את ההודעה הנבחרת?" +msgstr[1] "האם אתה בטוח כי ברצונך למחוק את ההודעות הנבחרות?" + +#: gajim/roster_window.py:268 gajim/roster_window.py:991 +msgid "Merged accounts" +msgstr "חשבונות ממוזגים" + +#: gajim/roster_window.py:756 gajim/roster_window.py:1667 +#: gajim/roster_window.py:1669 gajim/roster_window.py:1986 +#: gajim/roster_window.py:3065 gajim/roster_window.py:3098 +#: gajim/roster_window.py:4026 gajim/gui_interface.py:338 +#: gajim/gui_menu_builder.py:254 gajim/gui_menu_builder.py:345 +#: gajim/chat_control.py:291 gajim/chat_control.py:421 +#: gajim/gtk/add_contact.py:320 gajim/gtk/roster_item_exchange.py:112 +#: gajim/gtk/subscription_request.py:77 gajim/gtk/subscription_request.py:126 +#: gajim/common/helpers.py:89 gajim/common/helpers.py:207 +#: gajim/common/contacts.py:243 gajim/common/contacts.py:382 +#: gajim/common/contacts.py:493 +#, fuzzy +msgid "Not in contact list" +msgstr "הצג אנשי קשר _לא מקוונים" + +#: gajim/roster_window.py:823 gajim/roster_window.py:1579 +#: gajim/roster_window.py:1612 gajim/roster_window.py:1663 +#: gajim/roster_window.py:1665 gajim/roster_window.py:1820 +#: gajim/roster_window.py:2378 gajim/roster_window.py:3990 +#: gajim/roster_window.py:4638 gajim/gtk/discovery.py:127 +#: gajim/gtk/discovery.py:128 gajim/gtk/discovery.py:1419 +#: gajim/common/helpers.py:88 gajim/common/contacts.py:225 +#: gajim/common/contacts.py:485 +msgid "Transports" +msgstr "מובילים" + +#: gajim/roster_window.py:1671 gajim/roster_window.py:1673 +#: gajim/roster_window.py:3990 gajim/roster_window.py:4603 +#: gajim/gui_interface.py:1425 gajim/common/helpers.py:91 +#: gajim/common/contacts.py:223 +#, fuzzy +msgid "Group chats" +msgstr "שיחות קבוצה" + +#: gajim/roster_window.py:1901 gajim/chat_control.py:1688 +msgid "Remote contact stopped transfer" +msgstr "איש קשר מרוחק הפסיק העברה" + +#: gajim/roster_window.py:1903 gajim/chat_control.py:1690 +msgid "Error opening file" +msgstr "שגיאה בפתיחת קובץ" + +#: gajim/roster_window.py:1968 +#, fuzzy +msgid "Authorization sent" +msgstr "הרשאה נשלחה" + +#: gajim/roster_window.py:1969 +#, fuzzy, python-format +msgid "\"%s\" will now see your status." +msgstr "מעתה המצב שלך יהיה גלוי בפני \"%s\"." + +#: gajim/roster_window.py:1987 +msgid "Subscription request has been sent" +msgstr "בקשת הרשמה נשלחה" + +#: gajim/roster_window.py:1988 +#, fuzzy, python-format +msgid "If \"%s\" accepts this request you will know their status." +msgstr "אם בקשתך תתקבל על ידי \"%s\" המצב שלו או שלה יהיה גלוי בפניך." + +#: gajim/roster_window.py:2002 +#, fuzzy +msgid "Authorization removed" +msgstr "הרשאה הוסרה" + +#: gajim/roster_window.py:2003 +#, python-format +msgid "Now \"%s\" will always see you as offline." +msgstr "מעתה המצב שלך יראה בתור לא מקוון עבור \"%s\"." + +# In Hebrew: גאג'ים +#: gajim/roster_window.py:2198 gajim/data/gui/shortcuts_window.ui:66 +#, fuzzy +msgid "Quit Gajim" +msgstr "‫Gajim" + +#: gajim/roster_window.py:2199 +#, fuzzy +msgid "You are about to quit Gajim" +msgstr "האם אתה בטוח כי ברצונך לסגור את Gajim?" + +#: gajim/roster_window.py:2200 +msgid "Are you sure you want to quit Gajim?" +msgstr "האם אתה בטוח כי ברצונך לסגור את Gajim?" + +#: gajim/roster_window.py:2201 +#, fuzzy +msgid "_Always quit when closing Gajim" +msgstr "סגור את Gajim תמיד" + +#: gajim/roster_window.py:2204 gajim/roster_window.py:2299 +#: gajim/roster_window.py:2340 gajim/data/gui/application_menu.ui:30 +#: gajim/data/gui/systray_context_menu.ui:83 +msgid "_Quit" +msgstr "" + +#: gajim/roster_window.py:2292 +#, fuzzy +msgid "Stop File Transfers" +msgstr "העברות קבצים" + +#: gajim/roster_window.py:2293 +#, fuzzy +msgid "You still have running file transfers" +msgstr "נותרו העברות קבצים פעילות" + +#: gajim/roster_window.py:2294 +#, fuzzy +msgid "" +"If you quit now, the file(s) being transferred will be lost.\n" +"Do you still want to quit?" +msgstr "אם תצא עכשיו, הקבצים אשר מועברים כעת יופסקו. האם עדיין ברצונך לצאת?" + +#: gajim/roster_window.py:2333 +#, fuzzy +msgid "Unread Messages" +msgstr "אירועים אשר לא נקראו" + +#: gajim/roster_window.py:2334 +#, fuzzy +msgid "You still have unread messages" +msgstr "נותרו הודעות אשר לא נקראו" + +# BUG: and (A or THE) contact +# קיימת לרשותך +# היסטוריה מאופשרת +#: gajim/roster_window.py:2335 +#, fuzzy +msgid "" +"Messages will only be available for reading them later if storing chat " +"history is enabled and if the contact is in your contact list." +msgstr "" +"הודעות יהיו זמינות לקריאה מאוחרת רק אם אפשרת רישום היסטוריה ואיש הקשר מצוי " +"ברשימה שלך." + +#: gajim/roster_window.py:2590 +msgid "You have unread messages" +msgstr "נותרו הודעות אשר לא נקראו" + +#: gajim/roster_window.py:2591 +msgid "You must read them before removing this transport." +msgstr "עליך לקרוא אותן בטרם הסרת מוביל זה." + +#: gajim/roster_window.py:2594 +#, fuzzy, python-format +msgid "Transport '%s' will be removed" +msgstr "מוביל \"%s\" יוסר" + +#: gajim/roster_window.py:2595 +#, fuzzy +msgid "" +"You will no longer be able to send and receive messages from and to contacts " +"using this transport." +msgstr "" +"לא תעמוד עוד לרשותך האפשרות לקבל וגם לשלוח הודעות מאנשי קשר באמצעות מוביל זה." + +#: gajim/roster_window.py:2598 +msgid "Transports will be removed" +msgstr "מובילים יוסרו" + +#: gajim/roster_window.py:2603 +#, fuzzy, python-format +msgid "" +"You will no longer be able to send and receive messages from and to contacts " +"using these transports:\n" +"%s" +msgstr "" +"לא תעמוד עוד לרשותך האפשרות לקבל וגם לשלוח הודעות מאנשי קשר באמצעות מוביל זה." + +#: gajim/roster_window.py:2607 +#, fuzzy +msgid "Remove Transport" +msgstr "הצג מו_בילים" + +#: gajim/roster_window.py:2662 gajim/chat_control.py:428 +#, fuzzy +msgid "Block Contact" +msgstr "אנשי קשר חסומים" + +#: gajim/roster_window.py:2663 gajim/chat_control.py:429 +#, fuzzy +msgid "Really block this contact?" +msgstr "האם OpenPGP מאופשרת עבור איש קשר זה?" + +#: gajim/roster_window.py:2664 gajim/chat_control.py:430 +#, fuzzy +msgid "" +"You will appear offline for this contact and you will not receive further " +"messages." +msgstr "cli" + +#: gajim/roster_window.py:2666 +#, fuzzy +msgid "_Do not ask again" +msgstr "אל ת_שאל אותי שוב" + +#: gajim/roster_window.py:2669 gajim/chat_control.py:434 +#, fuzzy +msgid "_Report Spam" +msgstr "_דווחו על בעיה" + +#: gajim/roster_window.py:2673 gajim/roster_window.py:4778 +#: gajim/gui_menu_builder.py:485 gajim/chat_control.py:438 +#: gajim/data/gui/contact_context_menu.ui:151 +msgid "_Block" +msgstr "_חסום" + +#: gajim/roster_window.py:2706 +msgid "Rename Contact" +msgstr "שינוי שם איש קשר" + +#: gajim/roster_window.py:2707 +#, fuzzy, python-format +msgid "Rename contact %s?" +msgstr "שינוי שם איש קשר" + +#: gajim/roster_window.py:2708 +#, fuzzy +msgid "Please enter a new nickname" +msgstr "הזן שם כינוי חדש עבור איש קשר %s" + +# (קבוצה כללית) +#: gajim/roster_window.py:2712 gajim/roster_window.py:3439 +#: gajim/roster_window.py:4679 gajim/dialogs.py:103 gajim/dialogs.py:116 +#: gajim/gtk/accounts.py:308 gajim/common/contacts.py:178 +#: gajim/common/contacts.py:227 gajim/data/gui/shortcuts_window.ui:12 +#: gajim/data/gui/preferences.ui:96 +msgid "General" +msgstr "כללית" + +#: gajim/roster_window.py:2715 +msgid "Rename Group" +msgstr "שינוי שם קבוצה" + +#: gajim/roster_window.py:2716 +#, fuzzy, python-format +msgid "Rename group %s?" +msgstr "שינוי שם קבוצה" + +#: gajim/roster_window.py:2717 +#, fuzzy +msgid "Please enter a new name" +msgstr "אנא צור מוטיב חדש עם השם הרצוי עליך." + +#: gajim/roster_window.py:2747 gajim/roster_window.py:2869 +#: gajim/data/gui/groupchat_control.ui:1859 +#, fuzzy +msgid "_Rename" +msgstr "_שנה שם" + +#: gajim/roster_window.py:2769 gajim/roster_window.py:2770 +msgid "Remove Group" +msgstr "הסרת קבוצה" + +#: gajim/roster_window.py:2771 +#, fuzzy, python-format +msgid "Do you want to remove %s from the contact list?" +msgstr "האם ברצונך להסיר את קבוצת %s מתוך הרשימה?" + +#: gajim/roster_window.py:2772 +#, fuzzy +msgid "_Also remove all contacts of this group from contact list" +msgstr "הסר גם את כל אנשי הקשר שבקבוצה זו מתוך הרשימה שלי" + +#: gajim/roster_window.py:2864 gajim/roster_window.py:2865 +#, fuzzy +msgid "Rename Group Chat" +msgstr "עזוב שיחות קבוצה" + +#: gajim/roster_window.py:2866 +#, fuzzy +msgid "Please enter a new name for this group chat" +msgstr "אנא הקלד שם משתמש חדש עבור חשבונך המקומי" + +#: gajim/roster_window.py:3082 +#, fuzzy +msgid "Remove Contact" +msgstr "שינוי שם איש קשר" + +#: gajim/roster_window.py:3083 +#, fuzzy +msgid "Remove contact from contact list" +msgstr "cli" + +#: gajim/roster_window.py:3084 +#, fuzzy, python-format +msgid "You are about to remove %(name)s (%(jid)s) from your contact list.\n" +msgstr "בחרת להסיר את \"%(name)s\" (%(jid)s) מתוך הרשימה שלך.\n" + +#: gajim/roster_window.py:3093 gajim/roster_window.py:3113 +#, fuzzy +msgid "" +"By removing this contact you also remove authorization. This means the " +"contact will see you as offline." +msgstr "" +"בהסירך את אנשי קשר אלו:%s\n" +"אתה גם תסיר הרשאה דבר אשר יגרום למצב בו אנשי קשר אלה תמיד יראו אותך במצב לא " +"מקוון." + +#: gajim/roster_window.py:3104 +msgid "Do you want to continue?" +msgstr "האם ברצונך להמשיך?" + +# לאחר כעבור +#: gajim/roster_window.py:3115 +#, fuzzy +msgid "_I want this contact to know my status after removal" +msgstr "ברצוני כי איש קשר זה יהיה מיודע באשר למצב שלי עובר הסרה" + +#: gajim/roster_window.py:3122 +#, fuzzy +msgid "Remove contacts from contact list" +msgstr "cli" + +#: gajim/roster_window.py:3128 +#, fuzzy, python-format +msgid "" +"By removing the following contacts, you will also remove authorization. This " +"means they will see you as offline:\n" +"\n" +"%s" +msgstr "" +"בהסירך את אנשי קשר אלו:%s\n" +"אתה גם תסיר הרשאה דבר אשר יגרום למצב בו אנשי קשר אלה תמיד יראו אותך במצב לא " +"מקוון." + +#: gajim/roster_window.py:3132 +#, fuzzy +msgid "Remove Contacts" +msgstr "שינוי שם איש קשר" + +#: gajim/roster_window.py:3761 +#, fuzzy +msgid "You are about to create a metacontact" +msgstr "בחרת ליצור איש קשר מוצמד. האם אתה בטוח כי ברצונך להמשיך?" + +#: gajim/roster_window.py:3762 +#, fuzzy +msgid "" +"Metacontacts are a way to regroup several contacts in one single contact. " +"Generally it is used when the same person has several XMPP- or Transport-" +"Accounts." +msgstr "" +"אנשי קשר מוצמדים (Metacontacts) הם דרך לאחד מספר אנשי קשר בשורה אחת. באופן " +"כללי זו בשימוש כאשר אותה האישיות מחזיקה במספר חשבונות Jabber או חשבונות " +"מוביל." + +#: gajim/roster_window.py:3766 +#, fuzzy +msgid "Create Metacontact" +msgstr "שינוי שם איש קשר" + +#: gajim/roster_window.py:3769 gajim/chat_control_base.py:771 +#: gajim/groupchat_control.py:1676 gajim/message_window.py:368 +msgid "_Do not ask me again" +msgstr "אל ת_שאל אותי שוב" + +#: gajim/roster_window.py:3772 gajim/data/gui/groupchat_creation.ui:317 +#, fuzzy +msgid "_Create" +msgstr "יצירתי" + +#: gajim/roster_window.py:3889 +msgid "Invalid file URI:" +msgstr "כתובת URI של קובץ שגויה:" + +#: gajim/roster_window.py:3901 +#, fuzzy, python-format +msgid "Send this file to %s:\n" +msgid_plural "Send these files to %s:\n" +msgstr[0] "האם ברצונך לשלוח קובץ זה אל %s:" +msgstr[1] "האם ברצונך לשלוח קבצים אלו אל %s:" + +#: gajim/roster_window.py:3909 gajim/roster_window.py:3910 +#: gajim/chat_control.py:1541 gajim/gtk/filetransfer_progress.py:36 +#, fuzzy +msgid "File Transfer" +msgstr "העברות קבצים" + +#: gajim/roster_window.py:3914 gajim/data/gui/xml_console.ui:334 +msgid "_Send" +msgstr "_שלח" + +#: gajim/roster_window.py:4067 +#, fuzzy, python-format +msgid "Send %(from)s to %(to)s" +msgstr "שלח את %s אל %s" + +#: gajim/roster_window.py:4080 +#, python-format +msgid "Make %s first contact" +msgstr "הפוך את %s לאיש קשר ראשון" + +#: gajim/roster_window.py:4085 +#, fuzzy, python-format +msgid "Make %(contact1)s and %(contact2)s metacontacts" +msgstr "הפוך את %s ואת %s לאנשי קשר מוצמדים" + +#: gajim/roster_window.py:4436 gajim/roster_window.py:4523 +#: gajim/gtk/status_selector.py:76 +msgid "_Change Status Message" +msgstr "_שנה הודעת מצב" + +#: gajim/roster_window.py:4456 +msgid "Publish Tune" +msgstr "פרסם לחן" + +#: gajim/roster_window.py:4467 +msgid "Publish Location" +msgstr "פרסם מיקום" + +# restore +#: gajim/roster_window.py:4606 +msgid "_Maximize All" +msgstr "ה_גדל את כולם" + +#: gajim/roster_window.py:4615 gajim/roster_window.py:4743 +msgid "Send Group M_essage" +msgstr "שלח הודעת _אשכול" + +#: gajim/roster_window.py:4622 +msgid "To all users" +msgstr "אל כל המשתמשים" + +#: gajim/roster_window.py:4626 +msgid "To all online users" +msgstr "אל כל המשתמשים המקוונים" + +#: gajim/roster_window.py:4637 gajim/roster_window.py:4749 +#: gajim/data/gui/contact_context_menu.ui:36 +msgid "In_vite to" +msgstr "ה_זמן אל" + +#: gajim/roster_window.py:4663 gajim/gui_menu_builder.py:471 +#, fuzzy +msgid "_Rename…" +msgstr "_שנה שם" + +#: gajim/roster_window.py:4669 gajim/gui_menu_builder.py:493 +#: gajim/data/gui/contact_context_menu.ui:181 +msgid "Remo_ve" +msgstr "הס_ר" + +#: gajim/roster_window.py:4759 +msgid "_Manage Contacts" +msgstr "_נהל אנשי קשר" + +#: gajim/roster_window.py:4765 +#, fuzzy +msgid "Edit _Groups…" +msgstr "ערוך _קבוצות" + +#: gajim/roster_window.py:4774 gajim/gui_menu_builder.py:482 +#: gajim/data/gui/contact_context_menu.ui:143 +msgid "_Unblock" +msgstr "_בטל חסימה" + +#: gajim/roster_window.py:4786 gajim/gtk/dialogs.py:70 +#: gajim/data/gui/filetransfers.ui:12 +msgid "_Remove" +msgstr "הס_ר" + +# Restore שחזר +#: gajim/roster_window.py:4823 +msgid "_Maximize" +msgstr "ה_גדל" + +#: gajim/roster_window.py:4828 +#, fuzzy +msgid "Re_name" +msgstr "_שנה שם" + +#: gajim/roster_window.py:4836 gajim/groupchat_control.py:1680 +msgid "_Leave" +msgstr "" + +#: gajim/roster_window.py:4844 +#, fuzzy +msgid "Execute command" +msgstr "הרץ _פקודה" + +#: gajim/roster_window.py:4852 gajim/data/gui/application_menu.ui:68 +#: gajim/data/gui/contact_context_menu.ui:205 +msgid "_History" +msgstr "_היסטוריה" + +#: gajim/roster_window.py:4945 gajim/gui_interface.py:339 +#: gajim/common/helpers.py:90 gajim/common/contacts.py:221 +msgid "Observers" +msgstr "משקיפים" + +#: gajim/roster_window.py:4948 +msgid "Observers can see your status, but you are not allowed to see theirs" +msgstr "" + +# את/ה ידוע/ה כעת בתור +#: gajim/privatechat_control.py:105 gajim/groupchat_control.py:1225 +#, python-format +msgid "You are now known as %s" +msgstr "הכינוי החדש שלך הוא %s" + +# בכינוי +#: gajim/privatechat_control.py:107 gajim/groupchat_control.py:1227 +#, fuzzy, python-brace-format +msgid "{nick} is now known as {new_nick}" +msgstr "%(nick)s ידוע/ה כעת בתור %(new_nick)s" + +# את/ה ידוע/ה כעת בתור +#: gajim/privatechat_control.py:138 gajim/groupchat_control.py:1254 +#, fuzzy, python-brace-format +msgid "You are now {show}{status}" +msgstr "הכינוי החדש שלך הוא %s" + +#: gajim/privatechat_control.py:142 gajim/groupchat_control.py:1258 +#, fuzzy, python-brace-format +msgid "{nick} is now {show}{status}" +msgstr "%(nick)s מצוי/ה כעת במצב %(status)s " + +#: gajim/privatechat_control.py:199 +msgid "Sending private message failed" +msgstr "מסירת הודעה פרטית נכשלה" + +# אינך עוד בשיחת קבוצה או שהמשתמש עזב +#: gajim/privatechat_control.py:201 +#, python-format +msgid "You are no longer in group chat \"%(room)s\" or \"%(nick)s\" has left." +msgstr "אינך נוכח בשיחת קבוצה \"%(room)s\" או שהמשתמש \"%(nick)s\" עזב." + +#: gajim/application.py:81 +#, fuzzy +msgid "Show the application's version" +msgstr "הצג סמל אזור התראה:" + +#: gajim/application.py:88 +#, fuzzy +msgid "Show only critical errors" +msgstr "cli" + +#: gajim/application.py:95 +msgid "Separate profile files completely (even history database and plugins)" +msgstr "" + +#: gajim/application.py:103 +#, fuzzy +msgid "Print XML stanzas and other debug information" +msgstr "cli" + +#: gajim/application.py:110 +#, fuzzy +msgid "Use defined profile in configuration directory" +msgstr "cli" + +#: gajim/application.py:118 +#, fuzzy +msgid "Set configuration directory" +msgstr "cli" + +#: gajim/application.py:126 +#, fuzzy +msgid "Configure logging system" +msgstr "cli" + +#: gajim/application.py:134 +#, fuzzy +msgid "Show all warnings" +msgstr "הצג _אירועים ממתינים" + +#: gajim/application.py:141 +msgid "Open IPython shell" +msgstr "" + +#: gajim/application.py:148 +#, fuzzy +msgid "Pops up a window with the next pending event" +msgstr "cli" + +#: gajim/application.py:154 gajim/data/gui/shortcuts_window.ui:17 +#: data/org.gajim.Gajim.desktop.in:21 +#, fuzzy +msgid "Start a new chat" +msgstr "התחלת שיחה" + +#: gajim/application.py:205 gajim/gui_interface.py:131 +msgid "Database Error" +msgstr "שגיאת מסד נתונים" + +#: gajim/gui_interface.py:168 +#, fuzzy, python-format +msgid "HTTP (%(method)s) Authorization for %(url)s (ID: %(id)s)" +msgstr "הרשאת HTTP (%(method)s) עבור %(url)s (מזהה: %(id)s)" + +#: gajim/gui_interface.py:173 +msgid "Do you accept this request?" +msgstr "האם לקבל את בקשה זו?" + +#: gajim/gui_interface.py:175 +#, fuzzy, python-format +msgid "Do you accept this request (account: %s)?" +msgstr "האם לקבל את בקשה זו בחשבון %s?" + +#: gajim/gui_interface.py:181 +#, fuzzy +msgid "Authorization Request" +msgstr "הרשאה נשלחה" + +#: gajim/gui_interface.py:182 +#, fuzzy +msgid "HTTP Authorization Request" +msgstr "הרשאה נשלחה" + +#: gajim/gui_interface.py:185 gajim/gui_interface.py:376 +#: gajim/gui_interface.py:2002 gajim/gtk/filetransfer.py:339 +#, fuzzy +msgid "_No" +msgstr "לא" + +#: gajim/gui_interface.py:203 gajim/gtk/notification.py:189 +#: gajim/gtk/notification.py:216 +msgid "Connection Failed" +msgstr "התחברות נכשלה" + +#: gajim/gui_interface.py:299 +#, python-format +msgid "error while sending %(message)s ( %(error)s )" +msgstr "שגיאה בעת מסירת %(message)s ‏( %(error)s )" + +#: gajim/gui_interface.py:324 gajim/gtk/notification.py:189 +msgid "Subscription request" +msgstr "בקשת הרשמה" + +#: gajim/gui_interface.py:359 +msgid "Authorization accepted" +msgstr "התקבלה הרשאה" + +#: gajim/gui_interface.py:360 +#, fuzzy, python-format +msgid "The contact \"%(jid)s\" has authorized you to see their status." +msgstr "הוענקה לך הרשאה מאת \"%s\" לראות את המצב שלו או שלה." + +#: gajim/gui_interface.py:370 +#, fuzzy +msgid "Subscription Removed" +msgstr "בקשת הרשמה" + +#: gajim/gui_interface.py:371 +#, fuzzy, python-format +msgid "%(name)s (%(jid)s) has removed subscription from you" +msgstr "איש קשר \"%s\" הסיר הרשמה ממך" + +#: gajim/gui_interface.py:373 +#, fuzzy +msgid "" +"You will always see this contact as offline.\n" +"Do you want to remove them from your contact list?" +msgstr "" +"איש קשר זה תמיד ייראה עבורך במצב לא מקוון.\n" +"האם ברצונך להסיר אותו מתוך הרשימת קשר שלך?" + +#: gajim/gui_interface.py:398 gajim/gtk/notification.py:190 +msgid "Unsubscribed" +msgstr "הרשמה בוטלה" + +#: gajim/gui_interface.py:410 +#, python-format +msgid "%(jid)s declined the invitation: %(reason)s" +msgstr "%(jid)s סרב/ה את ההזמנה: %(reason)s" + +#: gajim/gui_interface.py:414 +#, python-format +msgid "%(jid)s declined the invitation" +msgstr "%(jid)s סרב/ה את ההזמנה" + +#: gajim/gui_interface.py:431 gajim/chat_control.py:1606 +#: gajim/gtk/notification.py:188 gajim/gtk/notification.py:214 +#: gajim/gtk/notification.py:286 gajim/gtk/groupchat_invitation.py:33 +#, fuzzy +msgid "Group Chat Invitation" +msgstr "הזמנת שיחת קבוצה" + +#: gajim/gui_interface.py:432 +#, fuzzy, python-format +msgid "%(contact)s invited you to %(chat)s" +msgstr "$Contact הזמינך לשיחת קבוצה %(room_jid)s" + +#: gajim/gui_interface.py:453 +msgid "Certificate Passphrase Required" +msgstr "נדרשת מימרת סיסמה של תעודת" + +#: gajim/gui_interface.py:454 +#, fuzzy, python-format +msgid "Enter the certificate passphrase for account %s" +msgstr "הזן מימרת סיסמה עבור התעודה עבור חשבון %s" + +#: gajim/gui_interface.py:463 +#, python-format +msgid "Enter your password for account %s" +msgstr "הזן סיסמה עבור חשבון %s" + +#: gajim/gui_interface.py:475 +msgid "Password Required" +msgstr "נדרשת מילת מעבר" + +#: gajim/gui_interface.py:475 +msgid "Save password" +msgstr "שמור סיסמה" + +#: gajim/gui_interface.py:544 gajim/gui_interface.py:575 +#: gajim/gtk/notification.py:187 gajim/gtk/notification.py:279 +#: gajim/gtk/filetransfer.py:333 gajim/gtk/filetransfer.py:334 +msgid "File Transfer Error" +msgstr "שגיאת העברת קובץ" + +#: gajim/gui_interface.py:609 +#, python-format +msgid "%s wants to send you a file." +msgstr "‏%s רוצה לשלוח לך קובץ." + +#: gajim/gui_interface.py:611 gajim/gtk/notification.py:186 +#: gajim/gtk/notification.py:276 gajim/gtk/filetransfer.py:485 +msgid "File Transfer Request" +msgstr "בקשת העברת קובץ" + +#: gajim/gui_interface.py:714 +#, fuzzy +msgid "Remote Contact Stopped Transfer" +msgstr "איש קשר מרוחק הפסיק העברה" + +#: gajim/gui_interface.py:719 +#, fuzzy +msgid "Error Opening File" +msgstr "שגיאה בפתיחת קובץ" + +#: gajim/gui_interface.py:729 +#, fuzzy +msgid "SSL Certificate Error" +msgstr "שגיאת תעודת SSL" + +#: gajim/gui_interface.py:738 gajim/gui_interface.py:768 +#: gajim/gui_interface.py:794 gajim/chat_control.py:1573 +#: gajim/gtk/notification.py:187 gajim/gtk/notification.py:282 +msgid "File Transfer Completed" +msgstr "העברת קובץ הושלמה" + +#: gajim/gui_interface.py:742 gajim/gui_interface.py:773 +#: gajim/gui_interface.py:800 gajim/gtk/notification.py:188 +#: gajim/gtk/notification.py:283 +msgid "File Transfer Stopped" +msgstr "העברת קובץ נעצרה" + +#: gajim/gui_interface.py:746 +msgid "File Transfer Failed" +msgstr "העברת קובץ נכשלה" + +#: gajim/gui_interface.py:769 +#, fuzzy, python-format +msgid "%(filename)s received from %(name)s." +msgstr "העברת קובץ %(filename)s מן %(name)s נכשלה." + +#: gajim/gui_interface.py:774 +#, python-format +msgid "File transfer of %(filename)s from %(name)s stopped." +msgstr "העברת קובץ %(filename)s מן %(name)s נעצרה." + +#: gajim/gui_interface.py:780 +#, python-format +msgid "File transfer of %(filename)s from %(name)s failed." +msgstr "העברת קובץ %(filename)s מן %(name)s נכשלה." + +#: gajim/gui_interface.py:795 +#, python-format +msgid "You successfully sent %(filename)s to %(name)s." +msgstr "שלחת בהצלחה את %(filename)s אל %(name)s." + +#: gajim/gui_interface.py:801 +#, python-format +msgid "File transfer of %(filename)s to %(name)s stopped." +msgstr "העברת קובץ %(filename)s אל %(name)s נעצרה." + +#: gajim/gui_interface.py:807 +#, python-format +msgid "File transfer of %(filename)s to %(name)s failed." +msgstr "העברת הקובץ %(filename)s אל %(name)s נכשלה." + +# התנגשויות, ניגודים, קונפליקט +#: gajim/gui_interface.py:919 gajim/gui_interface.py:920 +msgid "Username Conflict" +msgstr "התנגשות שם משתמש" + +#: gajim/gui_interface.py:921 +#, fuzzy +msgid "Please enter a new username for your local account" +msgstr "אנא הקלד שם משתמש חדש עבור חשבונך המקומי" + +#: gajim/gui_interface.py:925 gajim/gtk/dialogs.py:51 +#: gajim/data/gui/passphrase_dialog.ui:44 +msgid "_OK" +msgstr "_אישור" + +#: gajim/gui_interface.py:988 gajim/chat_control.py:763 +#: gajim/chat_control.py:1660 gajim/gtk/notification.py:190 +#, fuzzy +msgid "Incoming Call" +msgstr "צבע שם כינוי נכנס." + +#: gajim/gui_interface.py:990 +#, python-format +msgid "%s is calling" +msgstr "" + +#: gajim/gui_interface.py:1071 gajim/gui_interface.py:1072 +#, fuzzy +msgid "Insecure Connection" +msgstr "חיבור לא מאובטח" + +# BUG: to the server > to a serverr > to server +# Added: will be exchanged with the other end will not be encrypted +# הינך על סף התחברות אל שרת עם חיבור לא מאובטח. משמעות הדבר היא שכל השיחות שלך שיוחלפו עם הקצה השני לא יהיו מוצפנות. האם עדיין ברצונך להתחבר? +# discouraged: +# > deprived > לקוי בחסר +# > dissuade > dissuade from > להניא מ- +#: gajim/gui_interface.py:1073 +#, fuzzy, python-format +msgid "" +"You are about to connect to the account %(account)s (%(server)s) using an " +"insecure connection method. This means conversations will not be encrypted. " +"Connecting PLAIN is strongly discouraged." +msgstr "" +"אתה על סף התחברות לחשבון %(account)s ‏(%(server)s) באמצעות חיבור לא מאובטח. " +"משמעות הדבר היא כי כל השיחות אשר יוחלפו עם הקצה השני לא יהיו מוצפנות. רצוי " +"להימנע מחיבורים מטיפוס זה.\n" +"האם אתה בטוח כי ברצונך להתחבר?" + +#: gajim/gui_interface.py:1080 gajim/data/gui/groupchat_control.ui:595 +msgid "_Abort" +msgstr "" + +#: gajim/gui_interface.py:1083 +#, fuzzy +msgid "_Connect Anyway" +msgstr "מתחבר כעת" + +#: gajim/gui_interface.py:1921 +msgid "Gajim: IPython Console" +msgstr "" + +#: gajim/gui_interface.py:1998 +#, fuzzy +msgid "Update Check" +msgstr "בדיקת איות" + +#: gajim/gui_interface.py:1999 +msgid "Gajim Update Check" +msgstr "" + +#: gajim/gui_interface.py:2000 +msgid "Search for Gajim updates periodically?" +msgstr "" + +#: gajim/gui_interface.py:2005 +msgid "_Search Periodically" +msgstr "" + +#: gajim/gui_interface.py:2045 +#, fuzzy +msgid "Update Available" +msgstr "לא זמין" + +#: gajim/gui_interface.py:2046 +#, fuzzy +msgid "Gajim Update Available" +msgstr "לא זמין" + +#: gajim/gui_interface.py:2047 +#, python-format +msgid "There is an update available for Gajim (latest version: %s)" +msgstr "" + +#: gajim/gui_interface.py:2049 +#, fuzzy +msgid "_Do not show again" +msgstr "אל ת_שאל אותי שוב" + +#: gajim/gui_interface.py:2051 gajim/gtk/accounts.py:126 +msgid "_Later" +msgstr "" + +#: gajim/gui_interface.py:2054 +msgid "_Update Now" +msgstr "" + +#: gajim/gui_menu_builder.py:358 +#, fuzzy +msgid "I would like to add you to my contact list" +msgstr "ברצוני להוסיף אותך לרשימת הקשר שלי." + +#: gajim/gui_menu_builder.py:435 +#, fuzzy +msgid "Send Single _Message…" +msgstr "שלח הודעה _בודדת..." + +#: gajim/gui_menu_builder.py:450 +#, fuzzy +msgid "E_xecute Command…" +msgstr "הרץ _פקודה" + +#: gajim/gui_menu_builder.py:458 +msgid "_Manage Transport" +msgstr "_נהל מוביל" + +#: gajim/gui_menu_builder.py:464 +msgid "_Modify Transport" +msgstr "ה_תאם מוביל" + +#: gajim/gui_menu_builder.py:503 gajim/data/gui/contact_context_menu.ui:198 +msgid "_Information" +msgstr "_מידע" + +#: gajim/gui_menu_builder.py:516 +#, fuzzy +msgid "Send File" +msgstr "שלח _קובץ" + +#: gajim/gui_menu_builder.py:517 +#, fuzzy +msgid "Upload File…" +msgstr "שמור קובץ בשם..." + +#: gajim/gui_menu_builder.py:518 +#, fuzzy +msgid "Send File Directly…" +msgstr "שמור קובץ בשם..." + +#: gajim/gui_menu_builder.py:520 gajim/gtk/accounts.py:734 +#, fuzzy +msgid "Send Read Markers" +msgstr "ש_לח חבילות keep-alive" + +# By last state +#: gajim/gui_menu_builder.py:521 gajim/gtk/accounts.py:710 +#, fuzzy +msgid "Send Chatstate" +msgstr "לפי מצב אחרון" + +#: gajim/gui_menu_builder.py:522 gajim/data/gui/groupchat_control.ui:307 +#, fuzzy +msgid "Invite Contacts…" +msgstr "הזמן _אנשי קשר" + +#: gajim/gui_menu_builder.py:523 gajim/gui_menu_builder.py:741 +#: gajim/gui_menu_builder.py:768 gajim/gui_menu_builder.py:807 +#, fuzzy +msgid "Add to Contact List…" +msgstr "הוסף _איש קשר..." + +#: gajim/gui_menu_builder.py:524 +#, fuzzy +msgid "Block Contact…" +msgstr "אנשי קשר חסומים" + +#: gajim/gui_menu_builder.py:525 gajim/data/gui/chat_control.ui:936 +#, fuzzy +msgid "Start Call…" +msgstr "התחלת שיחה" + +#: gajim/gui_menu_builder.py:526 gajim/gui_menu_builder.py:576 +#: gajim/gui_menu_builder.py:802 gajim/data/gui/groupchat_control.ui:1334 +#, fuzzy +msgid "Information" +msgstr "_מידע" + +#: gajim/gui_menu_builder.py:527 gajim/gui_menu_builder.py:588 +#, fuzzy +msgid "History" +msgstr "_היסטוריה" + +#: gajim/gui_menu_builder.py:533 gajim/gui_menu_builder.py:710 +#: gajim/gtk/preferences.py:671 gajim/gtk/groupchat_settings.py:36 +#: gajim/gtk/accounts.py:682 +msgid "Disabled" +msgstr "מנוטרלת" + +#: gajim/gui_menu_builder.py:534 gajim/gtk/groupchat_settings.py:37 +#: gajim/gtk/accounts.py:681 +#, fuzzy +msgid "Composing Only" +msgstr "הלחנה בלבד" + +#: gajim/gui_menu_builder.py:535 gajim/gtk/groupchat_settings.py:38 +#, fuzzy +msgid "All Chat States" +msgstr "בכל מצב שיחה" + +#: gajim/gui_menu_builder.py:577 +#, fuzzy +msgid "Settings…" +msgstr "קיצורי מקש" + +#: gajim/gui_menu_builder.py:578 +#, fuzzy +msgid "Manage Group Chat" +msgstr "עזוב שיחות קבוצה" + +#: gajim/gui_menu_builder.py:579 +#, fuzzy +msgid "Rename…" +msgstr "_שנה שם" + +#: gajim/gui_menu_builder.py:580 +#, fuzzy +msgid "Change Subject…" +msgstr "שנה _נושא..." + +#: gajim/gui_menu_builder.py:581 +#, fuzzy +msgid "Upload Avatar…" +msgstr "בחירת ארכיון" + +#: gajim/gui_menu_builder.py:582 +#, fuzzy +msgid "Configure…" +msgstr "תצורה" + +# Destroying is "at this moment". It should be Destroy without ing +#: gajim/gui_menu_builder.py:583 +#, fuzzy +msgid "Destroy…" +msgstr "החרבת ‫%s" + +#: gajim/gui_menu_builder.py:585 +#, fuzzy +msgid "Change Nickname…" +msgstr "שנה שם _כינוי..." + +#: gajim/gui_menu_builder.py:586 +#, fuzzy +msgid "Request Voice" +msgstr "_בקש ביטוי" + +#: gajim/gui_menu_builder.py:587 gajim/gui_menu_builder.py:825 +#, fuzzy +msgid "Execute Command…" +msgstr "הרץ _פקודה" + +#: gajim/gui_menu_builder.py:589 +msgid "Leave" +msgstr "" + +#: gajim/gui_menu_builder.py:631 +#, fuzzy +msgid "Add Contact…" +msgstr "הוסף _איש קשר..." + +#: gajim/gui_menu_builder.py:632 gajim/gtk/accounts.py:861 +#: gajim/gtk/accounts.py:899 gajim/gtk/profile.py:53 +#, fuzzy +msgid "Profile" +msgstr "cli" + +#: gajim/gui_menu_builder.py:633 +#, fuzzy +msgid "Send Single Message…" +msgstr "שלח הודעה _בודדת..." + +# איתור +#: gajim/gui_menu_builder.py:634 +#, fuzzy +msgid "Discover Services…" +msgstr "מצא _שירותים" + +#: gajim/gui_menu_builder.py:635 gajim/gtk/server_info.py:47 +#, fuzzy +msgid "Server Info" +msgstr "שרת" + +#: gajim/gui_menu_builder.py:636 gajim/gtk/accounts.py:312 +#: gajim/data/gui/preferences.ui:853 +msgid "Advanced" +msgstr "מתקדם" + +#: gajim/gui_menu_builder.py:637 gajim/gtk/mam_preferences.py:100 +#, fuzzy +msgid "Archiving Preferences" +msgstr "ערוך העדפות _ארכיונאות" + +#: gajim/gui_menu_builder.py:638 +#, fuzzy +msgid "Blocking List" +msgstr "רשימת אסירה" + +#: gajim/gui_menu_builder.py:639 +#, fuzzy +msgid "Bookmarks" +msgstr "_סמן" + +#: gajim/gui_menu_builder.py:640 +#, fuzzy +msgid "PEP Configuration" +msgstr "תצורה" + +#: gajim/gui_menu_builder.py:641 +#, fuzzy +msgid "Synchronise History…" +msgstr "סנכרון" + +#: gajim/gui_menu_builder.py:643 gajim/gtk/server_info.py:141 +#: gajim/data/gui/groupchat_config.ui:36 +#, fuzzy +msgid "Admin" +msgstr "_מנהל" + +# בשורה מסר +#: gajim/gui_menu_builder.py:644 +#, fuzzy +msgid "Send Server Message…" +msgstr "_שלח הודעת שרת..." + +#: gajim/gui_menu_builder.py:645 +#, fuzzy +msgid "Set MOTD…" +msgstr "הגדר MOTD..." + +#: gajim/gui_menu_builder.py:646 +#, fuzzy +msgid "Update MOTD…" +msgstr "עדכן MOTD..." + +#: gajim/gui_menu_builder.py:647 +#, fuzzy +msgid "Delete MOTD…" +msgstr "מחק MOTD" + +#: gajim/gui_menu_builder.py:684 +#, fuzzy +msgid "_Add Account…" +msgstr "הוסף _איש קשר..." + +#: gajim/gui_menu_builder.py:690 +#, fuzzy +msgid "_Modify Accounts…" +msgstr "ה_תאם חשבון..." + +#: gajim/gui_menu_builder.py:700 gajim/data/gui/account_context_menu.ui:79 +#: gajim/data/gui/zeroconf_context_menu.ui:26 +#, fuzzy +msgid "_Modify Account…" +msgstr "ה_תאם חשבון..." + +#: gajim/gui_menu_builder.py:704 gajim/gtk/accounts.py:51 +msgid "Accounts" +msgstr "חשבונות" + +#: gajim/gui_menu_builder.py:734 gajim/gui_menu_builder.py:739 +#, fuzzy +msgid "Copy XMPP Address" +msgstr "ה_עתק כתובת JID/דוא״ל" + +#: gajim/gui_menu_builder.py:735 gajim/gui_menu_builder.py:767 +#, fuzzy +msgid "Join Groupchat" +msgstr "הצטרף לשיחת קבוצה" + +#: gajim/gui_menu_builder.py:740 gajim/gui_menu_builder.py:766 +#: gajim/gtk/start_chat.py:636 +#: gajim/data/gui/subscription_request_window.ui:149 +msgid "Start Chat" +msgstr "התחלת שיחה" + +#: gajim/gui_menu_builder.py:746 +#, fuzzy +msgid "Copy Link Location" +msgstr "ה_עתק מיקום קישור" + +#: gajim/gui_menu_builder.py:747 +#, fuzzy +msgid "Open Link in Browser" +msgstr "_פתח קישור בתוך דפדפן" + +#: gajim/gui_menu_builder.py:752 +#, fuzzy +msgid "Copy Email Address" +msgstr "ה_עתק כתובת JID/דוא״ל" + +#: gajim/gui_menu_builder.py:753 gajim/gui_menu_builder.py:765 +#, fuzzy +msgid "Open Email Composer" +msgstr "_פתח מלחין דוא״ל" + +#: gajim/gui_menu_builder.py:758 +#, fuzzy +msgid "Copy Location" +msgstr "ה_עתק מיקום קישור" + +#: gajim/gui_menu_builder.py:759 gajim/gtk/preferences.py:291 +#, fuzzy +msgid "Show Location" +msgstr "מיקום: " + +#: gajim/gui_menu_builder.py:764 +#, fuzzy +msgid "Copy XMPP Address/Email" +msgstr "ה_עתק כתובת JID/דוא״ל" + +#: gajim/gui_menu_builder.py:816 +#, fuzzy +msgid "Invite" +msgstr "ה_זמן" + +#: gajim/gui_menu_builder.py:832 +#, fuzzy +msgid "Kick" +msgstr "ב_עט" + +#: gajim/gui_menu_builder.py:840 +#, fuzzy +msgid "Ban" +msgstr "א_סור" + +#: gajim/gui_menu_builder.py:850 +#, fuzzy +msgid "Make Owner" +msgstr "בעלים" + +#: gajim/gui_menu_builder.py:859 +#, fuzzy +msgid "Make Admin" +msgstr "_מנהל" + +#: gajim/gui_menu_builder.py:868 +#, fuzzy +msgid "Make Member" +msgstr "חבר" + +#: gajim/gui_menu_builder.py:877 +#, fuzzy +msgid "Revoke Member" +msgstr "חבר" + +#: gajim/gui_menu_builder.py:887 +msgid "Grant Voice" +msgstr "" + +#: gajim/gui_menu_builder.py:890 +#, fuzzy +msgid "Revoke Voice" +msgstr "_בקש ביטוי" + +#: gajim/gui_menu_builder.py:910 +#, fuzzy +msgid "Copy" +msgstr "cli" + +#: gajim/chat_control.py:346 gajim/groupchat_control.py:348 +#, fuzzy +msgid "Send File…" +msgstr "שלח _קובץ" + +#: gajim/chat_control.py:348 gajim/groupchat_control.py:354 +#, fuzzy +msgid "No File Transfer available" +msgstr "העברת קובץ נכשלה" + +#: gajim/chat_control.py:479 +msgid "Show a list of formattings" +msgstr "הצגת רשימת עיצובים" + +#: gajim/chat_control.py:483 +msgid "This contact does not support HTML" +msgstr "איש קשר זה לא תומך HTML" + +#: gajim/chat_control.py:684 +msgid "Ping?" +msgstr "פינג?" + +#: gajim/chat_control.py:687 +#, fuzzy, python-format +msgid "Pong! (%s seconds)" +msgstr "פונג! (%s ש.)" + +#: gajim/chat_control.py:758 +#, fuzzy +msgid "Calling…" +msgstr "אסירה..." + +#: gajim/chat_control.py:783 gajim/chat_control.py:870 +#, fuzzy +msgid "Connection Error" +msgstr "חיבור" + +#: gajim/chat_control.py:811 gajim/data/gui/chat_control.ui:1185 +msgid "Turn Camera on" +msgstr "" + +#: gajim/chat_control.py:822 +msgid "Calling (Video)…" +msgstr "" + +#: gajim/chat_control.py:826 gajim/chat_control.py:834 +#: gajim/chat_control.py:864 +msgid "Turn Camera off" +msgstr "" + +#: gajim/chat_control.py:832 +msgid "Incoming Call (Video)" +msgstr "" + +#: gajim/chat_control.py:1020 +#, python-format +msgid "%(nickname)s from group chat %(room_name)s" +msgstr "%(nickname)s מתוך שיחת קבוצה %(room_name)s" + +#: gajim/chat_control.py:1257 +#, fuzzy +msgid "Note: Chat history is disabled for this contact." +msgstr "התעלם משגיאה זו עבור תעודה זו." + +#: gajim/chat_control.py:1259 +msgid "Note: Chat history is disabled for this account." +msgstr "" + +#: gajim/chat_control.py:1260 +#, fuzzy, python-format +msgid "" +"You just received a new message from %s.\n" +"Do you want to close this tab?" +msgstr "זה עתה קיבלת הודעה חדשה מן \"%s\"" + +#: gajim/chat_control.py:1266 gajim/gtk/remove_account.py:43 +#: gajim/gtk/change_password.py:44 +#, fuzzy +msgid "Close" +msgstr "_שלח וסגור" + +#: gajim/chat_control.py:1267 gajim/gtk/notification.py:184 +#: gajim/gtk/notification.py:204 gajim/gtk/notification.py:218 +#: gajim/gtk/notification.py:271 gajim/common/connection_handlers_events.py:237 +msgid "New Message" +msgstr "הודעה חדשה" + +#: gajim/chat_control.py:1272 gajim/chat_control.py:1579 +#: gajim/chat_control.py:1588 gajim/message_window.py:371 +#: gajim/data/gui/groupchat_control.ui:1117 +#: gajim/data/gui/groupchat_control.ui:1203 +#: gajim/data/gui/groupchat_control.ui:1308 +#: gajim/data/gui/groupchat_control.ui:1997 +#, fuzzy +msgid "_Close" +msgstr "_שלח וסגור" + +#: gajim/chat_control.py:1359 +#, python-format +msgid "" +"Subject: %(subject)s\n" +"%(message)s" +msgstr "" +"נושא: %(subject)s\n" +"%(message)s" + +#: gajim/chat_control.py:1480 +#, fuzzy, python-format +msgid "%(name)s is now %(show)s %(status)s" +msgstr "%(name)s מצוי/ה כעת במצב %(status)s" + +#: gajim/chat_control.py:1545 +msgid "Size" +msgstr "גודל" + +#: gajim/chat_control.py:1547 gajim/chat_control.py:1609 +#: gajim/gtk/groupchat_invitation.py:67 +#, fuzzy +msgid "_Decline" +msgstr "לא מ_קוון" + +#: gajim/chat_control.py:1550 gajim/chat_control.py:1611 +#: gajim/chat_control.py:1668 gajim/gtk/dialogs.py:59 +#, fuzzy +msgid "_Accept" +msgstr "_קבל" + +#: gajim/chat_control.py:1577 gajim/gtk/filetransfer.py:259 +#, fuzzy +msgid "Open _Folder" +msgstr "_פתח תיקיה מכילה" + +#: gajim/chat_control.py:1662 +#, fuzzy +msgid "" +"\n" +"Video Call" +msgstr "בדיקת וידאו" + +#: gajim/chat_control.py:1664 +#, fuzzy +msgid "" +"\n" +"Voice Call" +msgstr "בקשה לשיחה קולית" + +#: gajim/chat_control.py:1666 +#, fuzzy +msgid "_Reject" +msgstr "מיואש" + +#: gajim/chat_control.py:1692 gajim/gtk/filetransfer.py:297 +msgid "File transfer stopped" +msgstr "העברת קובץ נעצרה" + +#: gajim/chat_control.py:1697 gajim/gtk/filetransfer.py:275 +#: gajim/gtk/filetransfer.py:284 +msgid "File transfer cancelled" +msgstr "העברת קובץ בוטלה" + +#: gajim/chat_control.py:1698 +msgid "Connection with peer cannot be established." +msgstr "חיבור עם עמית לא היה אפשרי לביסוס." + +#: gajim/chat_control_base.py:141 gajim/gtk/start_chat.py:649 +#: gajim/gtk/groupchat_invite.py:318 +#, fuzzy, python-format +msgid "Account: %s" +msgstr "חשבונות" + +#: gajim/chat_control_base.py:592 +msgid "and authenticated" +msgstr "והינה מאומתת" + +#: gajim/chat_control_base.py:596 +msgid "and NOT authenticated" +msgstr "ואינה מאומתת" + +#: gajim/chat_control_base.py:600 +#, fuzzy, python-format +msgid "%(type)s encryption is active %(authenticated)s." +msgstr "" +"הצפנת %(type)s %(status)s מופעלת %(authenticated)s.\n" +"סשן שיחתך %(logged)s ברשומות ההיסטוריה." + +#: gajim/chat_control_base.py:715 +msgid "_Undo" +msgstr "" + +#: gajim/chat_control_base.py:723 gajim/conversation_textview.py:417 +msgid "_Clear" +msgstr "" + +#: gajim/chat_control_base.py:728 +msgid "Paste as quote" +msgstr "" + +#: gajim/chat_control_base.py:767 +#, fuzzy +msgid "Paste Image" +msgstr "בחירת תמונה" + +#: gajim/chat_control_base.py:768 +#, fuzzy +msgid "You are trying to paste an image" +msgstr "בחרת לסגור מספר כרטיסיות" + +#: gajim/chat_control_base.py:769 +#, fuzzy +msgid "" +"Are you sure you want to paste your clipboard's image into the chat window?" +msgstr "האם אתה בטוח כי ברצונך לעזוב את שיחת קבוצה \"%s\"?" + +#: gajim/chat_control_base.py:775 +msgid "_Paste" +msgstr "" + +#: gajim/chat_control_base.py:1361 gajim/gtk/accounts.py:310 +#: gajim/data/gui/profile.ui:17 gajim/data/gui/profile.ui:318 +#, fuzzy +msgid "Privacy" +msgstr "רשימת פרטיות" + +#: gajim/chat_control_base.py:1362 +#, fuzzy +msgid "Warning" +msgstr "אזהרה: %s" + +#: gajim/chat_control_base.py:1363 +#, fuzzy, python-format +msgid "" +"If you send a file to %s, your real XMPP address will be revealed." +msgstr "אם תשלח קובץ אל %s, הוא/היא ידעו את המזהה Jabber שלך במלואו." + +#: gajim/chat_control_base.py:1368 +msgid "_Continue" +msgstr "ה_משך" + +#: gajim/gajim_remote.py:55 gajim/common/exceptions.py:70 +msgid "D-Bus is not present on this machine or python module is missing" +msgstr "" + +#: gajim/gajim_remote.py:77 +#, fuzzy +msgid "Shows a help on specific command" +msgstr "cli" + +#: gajim/gajim_remote.py:80 +#, fuzzy +msgid "command" +msgstr "cli" + +#: gajim/gajim_remote.py:81 +#, fuzzy +msgid "show help on command" +msgstr "cli" + +#: gajim/gajim_remote.py:85 +#, fuzzy +msgid "Lists all contacts in the contact list, one for each line" +msgstr "cli" + +#: gajim/gajim_remote.py:87 gajim/gajim_remote.py:102 gajim/gajim_remote.py:112 +#: gajim/gajim_remote.py:122 gajim/gajim_remote.py:133 +#: gajim/gajim_remote.py:142 gajim/gajim_remote.py:163 +#: gajim/gajim_remote.py:171 gajim/gajim_remote.py:180 +#: gajim/gajim_remote.py:187 +#, fuzzy +msgid "?CLI:account" +msgstr "חשבון" + +#: gajim/gajim_remote.py:87 +#, fuzzy +msgid "show only contacts of the given account" +msgstr "cli" + +#: gajim/gajim_remote.py:93 +#, fuzzy +msgid "Prints a list of registered accounts" +msgstr "cli" + +#: gajim/gajim_remote.py:97 +#, fuzzy +msgid "Changes the status of account(s)" +msgstr "cli" + +#: gajim/gajim_remote.py:100 +msgid "?CLI:status" +msgstr "" + +#: gajim/gajim_remote.py:100 +#, fuzzy +msgid "" +"one of: offline, online, chat, away, xa, dnd. If not set, use account's " +"previous status" +msgstr "cli" + +#: gajim/gajim_remote.py:101 gajim/gajim_remote.py:121 +#: gajim/gajim_remote.py:132 gajim/gajim_remote.py:141 +#, fuzzy +msgid "?CLI:message" +msgstr "הודעה" + +#: gajim/gajim_remote.py:101 +#, fuzzy +msgid "status message" +msgstr "cli" + +#: gajim/gajim_remote.py:102 +#, fuzzy +msgid "" +"change status of account \"account\". If not specified, try to change status " +"of all accounts that have \"sync with global status\" option set" +msgstr "cli" + +#: gajim/gajim_remote.py:108 +#, fuzzy +msgid "Changes the priority of account(s)" +msgstr "cli" + +#: gajim/gajim_remote.py:110 +#, fuzzy +msgid "?CLI:priority" +msgstr "_עדיפות:" + +#: gajim/gajim_remote.py:110 +#, fuzzy +msgid "priority you want to give to the account" +msgstr "cli" + +#: gajim/gajim_remote.py:112 +#, fuzzy +msgid "" +"change the priority of the given account. If not specified, change status of " +"all accounts that have \"sync with global status\" option set" +msgstr "cli" + +# BUG: him or her or they +# he she +#: gajim/gajim_remote.py:118 +#, fuzzy +msgid "" +"Sends new chat message to a contact in the contact list. Account is optional." +msgstr "מסירת הודעה לאיש קשר אשר תסב את תשומת ליבו" + +#: gajim/gajim_remote.py:120 gajim/gajim_remote.py:130 +#, fuzzy +msgid "XMPP Address of the contact that will receive the message" +msgstr "cli" + +#: gajim/gajim_remote.py:121 gajim/gajim_remote.py:132 +#: gajim/gajim_remote.py:141 +#, fuzzy +msgid "message contents" +msgstr "cli" + +#: gajim/gajim_remote.py:122 gajim/gajim_remote.py:133 +#: gajim/gajim_remote.py:142 +#, fuzzy +msgid "if specified, the message will be sent using this account" +msgstr "cli" + +# BUG: him or her or they +# he she +#: gajim/gajim_remote.py:127 +#, fuzzy +msgid "" +"Sends a chat message to someone on your contact list. Account is optional." +msgstr "מסירת הודעה לאיש קשר אשר תסב את תשומת ליבו" + +#: gajim/gajim_remote.py:131 +#, fuzzy +msgid "subject" +msgstr "cli" + +#: gajim/gajim_remote.py:131 +#, fuzzy +msgid "message subject" +msgstr "cli" + +#: gajim/gajim_remote.py:138 +#, fuzzy +msgid "Sends new message to a group chat you've joined." +msgstr "cli" + +#: gajim/gajim_remote.py:140 +#, fuzzy +msgid "XMPP Address of the group chat that will receive the message" +msgstr "cli" + +#: gajim/gajim_remote.py:147 +#, fuzzy +msgid "Gets detailed info on a contact" +msgstr "cli" + +#: gajim/gajim_remote.py:149 gajim/gajim_remote.py:162 +#: gajim/gajim_remote.py:170 +#, fuzzy +msgid "XMPP Address of the contact" +msgstr "cli" + +# BUG: on an account +#: gajim/gajim_remote.py:153 +#, fuzzy +msgid "Gets detailed info on a account" +msgstr "cli" + +#: gajim/gajim_remote.py:155 +#, fuzzy +msgid "Name of the account" +msgstr "cli" + +#: gajim/gajim_remote.py:159 +#, fuzzy +msgid "Sends file to a contact" +msgstr "cli" + +#: gajim/gajim_remote.py:161 +#, fuzzy +msgid "file" +msgstr "cli" + +#: gajim/gajim_remote.py:161 +#, fuzzy +msgid "File path" +msgstr "cli" + +#: gajim/gajim_remote.py:163 +#, fuzzy +msgid "if specified, file will be sent using this account" +msgstr "cli" + +#: gajim/gajim_remote.py:168 +#, fuzzy +msgid "Removes contact from contact list" +msgstr "cli" + +#: gajim/gajim_remote.py:171 +#, fuzzy +msgid "if specified, contact is taken from the contact list of this account" +msgstr "cli" + +#: gajim/gajim_remote.py:178 +#, fuzzy +msgid "Returns current status (the global one unless account is specified)" +msgstr "cli" + +#: gajim/gajim_remote.py:185 +#, fuzzy +msgid "" +"Returns current status message (the global one unless account is specified)" +msgstr "cli" + +#: gajim/gajim_remote.py:192 +#, fuzzy +msgid "Returns number of unread messages" +msgstr "cli" + +#: gajim/gajim_remote.py:197 +#, fuzzy +msgid "Sends custom XML" +msgstr "cli" + +#: gajim/gajim_remote.py:199 +#, fuzzy +msgid "XML to send" +msgstr "cli" + +#: gajim/gajim_remote.py:200 +#, fuzzy +msgid "" +"Account to which the XML will be sent; if not specified, XML will be sent to " +"all accounts" +msgstr "cli" + +#: gajim/gajim_remote.py:207 +#, fuzzy +msgid "Check if Gajim is running" +msgstr "cli" + +#: gajim/gajim_remote.py:233 +#, fuzzy +msgid "Missing argument \"contact_jid\"" +msgstr "cli" + +#: gajim/gajim_remote.py:253 +#, fuzzy, python-format +msgid "" +"'%s' is not in your contact list.\n" +"Please specify account for sending the message." +msgstr "cli" + +#: gajim/gajim_remote.py:256 +#, fuzzy +msgid "You have no active account" +msgstr "cli" + +# נראה כי Gajim לא מורץ. משכך אין באפשרותך לעשות שימוש ביישום gajim-remote. +#: gajim/gajim_remote.py:304 +#, fuzzy +msgid "It seems Gajim is not running. So you can't use gajim-remote." +msgstr "cli" + +#: gajim/gajim_remote.py:331 +#, fuzzy, python-format +msgid "" +"Usage: %(basename)s %(command)s %(arguments)s \n" +"\t %(help)s" +msgstr "cli" + +#: gajim/gajim_remote.py:335 +#, fuzzy +msgid "Arguments:" +msgstr "cli" + +#: gajim/gajim_remote.py:339 +#, fuzzy, python-format +msgid "%s not found" +msgstr "cli" + +#: gajim/gajim_remote.py:345 +#, fuzzy, python-format +msgid "" +"Usage:\n" +" %s command [arguments]\n" +"\n" +"Command is one of:\n" +msgstr "cli" + +#: gajim/gajim_remote.py:415 +#, fuzzy, python-format +msgid "" +"Too many arguments. \n" +"Type \"%(basename)s help %(command)s\" for more info" +msgstr "cli" + +#: gajim/gajim_remote.py:420 +#, fuzzy, python-format +msgid "" +"Argument \"%(arg)s\" is not specified. \n" +"Type \"%(basename)s help %(command)s\" for more info" +msgstr "cli" + +#: gajim/dialogs.py:70 +#, python-format +msgid "Contact name: %s" +msgstr "שם איש קשר: %s" + +#: gajim/dialogs.py:72 +#, python-format +msgid "XMPP Address: %s" +msgstr "" + +#: gajim/dialogs.py:189 +msgid "Group" +msgstr "קבוצה" + +#: gajim/dialogs.py:196 +msgid "In the group" +msgstr "בקבוצה" + +#: gajim/dialogs.py:211 gajim/gtk/discovery.py:522 +msgid "You are not connected to the server" +msgstr "אינך מחובר לשרת" + +#: gajim/dialogs.py:212 +msgid "Without a connection, you can not synchronise your contacts." +msgstr "ללא חיבור, אין באפשרותך לסנכרן את אנשי הקשר שלך." + +#: gajim/dialogs.py:223 gajim/dialogs.py:294 +#: gajim/gtk/roster_item_exchange.py:83 gajim/gtk/discovery.py:826 +#: gajim/gtk/discovery.py:1650 gajim/gtk/discovery.py:1896 +#: gajim/gtk/history.py:99 gajim/gtk/vcard_grid.py:34 +#: gajim/data/gui/bookmarks.ui:66 +msgid "Name" +msgstr "שם" + +#: gajim/dialogs.py:226 gajim/data/gui/preferences.ui:604 +#: gajim/data/gui/server_info.ui:146 +msgid "Server" +msgstr "שרת" + +# Sync account > Unlogged account > Error +# Should this be "to its server" OR "to a server"? +#: gajim/dialogs.py:262 +msgid "This account is not connected to the server" +msgstr "חשבון זה אינו מחובר כעת לשרת" + +# BUG: synchronise with *another* account +# עד אשר זה לא יחובר +#: gajim/dialogs.py:263 +msgid "You cannot synchronize with an account unless it is connected." +msgstr "אין באפשרותך להסתנכרן עם חשבון אלא אם כן החשבון הינו מחובר." + +#: gajim/dialogs.py:292 +msgid "Synchronise" +msgstr "סנכרון" + +#: gajim/vcard.py:284 +msgid "?Client:Unknown" +msgstr "לא ידוע" + +#: gajim/vcard.py:289 +msgid "?OS:Unknown" +msgstr "לא ידועה" + +#: gajim/vcard.py:319 gajim/vcard.py:322 +msgid "?Time:Unknown" +msgstr "לא ידוע" + +#: gajim/vcard.py:373 +msgid "?Role in Group Chat:Role:" +msgstr "תפקיד:" + +# שיוך, סיפוח +#: gajim/vcard.py:377 +msgid "Affiliation:" +msgstr "השתייכות:" + +# אין לך עניין +# BUG:? +# interested at his/her presence +# interested in his/her presence information +#: gajim/vcard.py:384 +#, fuzzy +msgid "" +"This contact is interested in your presence information, but you are not " +"interested in their presence" +msgstr "" +"איש קשר זה מעוניין במידע נוכחותך, אולם אין לך עניין בנוכחותו של איש קשר זה" + +#: gajim/vcard.py:386 +#, fuzzy +msgid "" +"You are interested in the contact's presence information, but it is not " +"mutual" +msgstr "" +"הינך מגלה עניין במידע הנוכחות איש קשר זה, אולם איש קשר זה אינו מעוניין " +"בנוכחותך" + +# אחד את השני +#: gajim/vcard.py:388 +#, fuzzy +msgid "The contact and you want to exchange presence information" +msgstr "הינך וגם איש הקשר מעוניינים במידע הנוכחות של זה את זה" + +# אחד את השני +#: gajim/vcard.py:390 +#, fuzzy +msgid "" +"You and the contact have a mutual disinterest in each-others presence " +"information" +msgstr "הינך וגם איש הקשר מעוניינים במידע הנוכחות של זה את זה" + +#: gajim/vcard.py:396 +msgid "You are waiting contact's answer about your subscription request" +msgstr "הינך מחכה למענה איש קשר בנוגע לבקשת רישומך" + +#: gajim/vcard.py:398 +msgid "There is no pending subscription request." +msgstr "לא קיימת שום בקשת הרשמה ממתינה." + +#: gajim/vcard.py:403 gajim/vcard.py:453 gajim/vcard.py:549 +msgid " resource with priority " +msgstr " משאב עם עדיפות " + +# מעוניין, מגלה עניין, מתעניין +#: gajim/conversation_textview.py:65 +#, fuzzy +msgid "Untrusted" +msgstr "מגלה עניין" + +#: gajim/conversation_textview.py:68 +msgid "Trust Not Decided" +msgstr "" + +#: gajim/conversation_textview.py:71 +msgid "Unverified" +msgstr "" + +#: gajim/conversation_textview.py:74 +#, fuzzy +msgid "Verified" +msgstr "_אמת" + +#: gajim/conversation_textview.py:225 +msgid "" +"Text below this line is what has been said since the\n" +"last time you paid attention to this group chat" +msgstr "" +"תמליל תחת שורה זו הוא דברים אשר נרשמו מאז הפעם\n" +"האחרונה בה הסבת את תשומת לבך לשיחת קבוצה זו" + +#: gajim/conversation_textview.py:428 +msgid "_Quote" +msgstr "_צטט" + +#: gajim/conversation_textview.py:436 +#, python-format +msgid "_Actions for \"%s\"" +msgstr "_פעולות עבור \"%s\"" + +#: gajim/conversation_textview.py:450 +msgid "Read _Wikipedia Article" +msgstr "עיין ערך _ויקיפדיה" + +#: gajim/conversation_textview.py:455 +msgid "Look it up in _Dictionary" +msgstr "חפש בתוך _מילון" + +#: gajim/conversation_textview.py:472 +#, python-format +msgid "Dictionary URL is missing an \"%s\" and it is not WIKTIONARY" +msgstr "לכתובת URL של המילון חסר \"%s\" וזו לא WIKTIONARY" + +#: gajim/conversation_textview.py:486 +#, python-format +msgid "Web Search URL is missing an \"%s\"" +msgstr "לכתובת URL של חיפוש ברשת חסר \"%s\"" + +#: gajim/conversation_textview.py:489 +msgid "Web _Search for it" +msgstr "_חפש ברשת" + +#: gajim/conversation_textview.py:495 +msgid "Open as _Link" +msgstr "פתח בתור _קישור" + +#: gajim/conversation_textview.py:770 +#, fuzzy +msgid "Invalid URL" +msgstr "כתובת JID שגויה" + +#: gajim/conversation_textview.py:860 +#, fuzzy +msgid "" +"Message corrected. Original message:\n" +"{}" +msgstr "" +"הודעה תוקנה. הודעה אחרונה היתה:\n" +" %s" + +#: gajim/conversation_textview.py:1031 +#, fuzzy +msgid "Not encrypted" +msgstr "לא הותחלה" + +#: gajim/conversation_textview.py:1034 +#, python-format +msgid "Encrypted (%s)" +msgstr "" + +#: gajim/conversation_textview.py:1141 gajim/gtk/history.py:618 +#, python-format +msgid "Subject: %s\n" +msgstr "נושא: %s\n" + +#: gajim/conversation_textview.py:1250 +#, fuzzy +msgid "Received" +msgstr "התקבלה %s" + +#: gajim/conversation_textview.py:1272 +#, fuzzy +msgid "?Message state:Read" +msgstr "הסתר סטנזות הודעה" + +#: gajim/groupchat_control.py:352 +#, fuzzy, python-format +msgid "Send File (max. %s MiB)…" +msgstr "שמור קובץ בשם..." + +# in or to? +#: gajim/groupchat_control.py:497 +#, fuzzy, python-format +msgid "%s has been invited to this group chat" +msgstr "%(jid)s הוזמן/ה לחדר זה" + +#: gajim/groupchat_control.py:512 gajim/dialog_messages.py:31 +#: gajim/dialog_messages.py:36 gajim/gtk/single_message.py:238 +#, fuzzy +msgid "Invalid XMPP Address" +msgstr "קובץ שגוי" + +#: gajim/groupchat_control.py:575 +#, fuzzy +msgid "Loading avatar failed" +msgstr "מסירת הודעה פרטית נכשלה" + +#: gajim/groupchat_control.py:595 +#, fuzzy, python-format +msgid "Avatar upload failed: %s" +msgstr "פרסום vCard נכשל" + +#: gajim/groupchat_control.py:598 +#, fuzzy +msgid "Avatar upload successful" +msgstr "פרסום vCard נכשל" + +#: gajim/groupchat_control.py:616 +#, fuzzy, python-format +msgid "Kick %s" +msgstr "בעיטת ‫%s" + +#: gajim/groupchat_control.py:625 +#, fuzzy, python-format +msgid "Ban %s" +msgstr "רשימת אסירה" + +# להכניס/להזין +#: gajim/groupchat_control.py:684 +msgid "Insert Nickname" +msgstr "שבץ שם כינוי" + +#: gajim/groupchat_control.py:775 gajim/groupchat_control.py:776 +#, fuzzy +msgid "Voice Request" +msgstr "בקשה לשיחה קולית" + +#: gajim/groupchat_control.py:777 +#, python-format +msgid "%(nick)s from %(room_name)s requests voice" +msgstr "" + +#: gajim/groupchat_control.py:781 +#, fuzzy +msgid "_Approve" +msgstr "אשר" + +# ‏%(jid)s הגדיר/ה את הנושא אל %(subject)s +#: gajim/groupchat_control.py:1007 +#, python-format +msgid "%(nick)s has set the subject to %(subject)s" +msgstr "הנושא הוגדר על ידי %(nick)s אל %(subject)s" + +#: gajim/groupchat_control.py:1023 +#, fuzzy +msgid "Group chat now shows unavailable members" +msgstr "כרגע החדר מציג חברים אשר אינם זמינים" + +#: gajim/groupchat_control.py:1026 +#, fuzzy +msgid "Group chat now does not show unavailable members" +msgstr "כרגע החדר לא מציג חברים אשר אינם זמינים" + +#: gajim/groupchat_control.py:1030 +msgid "A setting not related to privacy has been changed" +msgstr "" + +#: gajim/groupchat_control.py:1037 gajim/groupchat_control.py:1197 +#, fuzzy +msgid "Conversations are stored on the server" +msgstr "סשן זה יושם בארכיון על שרת" + +#: gajim/groupchat_control.py:1040 +#, fuzzy +msgid "Conversations are not stored on the server" +msgstr "מידע אודותייך, כפי שמאוחסן בשרת" + +# This room is not anonymous +# חדר לא אנונימי +#: gajim/groupchat_control.py:1043 +#, fuzzy +msgid "Group chat is now non-anonymous" +msgstr "החדר אינו אנונימי" + +#: gajim/groupchat_control.py:1047 +#, fuzzy +msgid "Group chat is now semi-anonymous" +msgstr "החדר הינו אנונימי למחצה" + +#: gajim/groupchat_control.py:1051 +#, fuzzy +msgid "Group chat is now fully anonymous" +msgstr "החדר הינו אנונימי לחלוטין" + +#: gajim/groupchat_control.py:1101 +#, fuzzy, python-format +msgid "Ping? (%s)" +msgstr "פונג! (%s ש.)" + +#: gajim/groupchat_control.py:1104 +#, fuzzy, python-format +msgid "Pong! (%(nick)s %(delay)s s.)" +msgstr "פונג! (%s ש.)" + +# הצטרף +#: gajim/groupchat_control.py:1188 +#, fuzzy, python-format +msgid "You (%s) joined the group chat" +msgstr "%s נכנס/ה לשיחת קבוצה" + +#: gajim/groupchat_control.py:1193 +#, fuzzy +msgid "Any participant is allowed to see your full XMPP Address" +msgstr "כל נוכח רשאי לראות את המזהה Jabber שלך במלואו" + +# BUG: room nick +# הקצה +#: gajim/groupchat_control.py:1201 +#, fuzzy +msgid "The server has assigned or modified your nickname in this group chat" +msgstr "השרת הסב או שינה את כינוי החדר שלך" + +#: gajim/groupchat_control.py:1211 +#, fuzzy +msgid "A new group chat has been created" +msgstr "חדר חדש נוצר" + +#: gajim/groupchat_control.py:1215 +#, fuzzy +msgid "Failed to Configure Group Chat" +msgstr "עזוב שיחות קבוצה" + +#: gajim/groupchat_control.py:1274 gajim/groupchat_control.py:1304 +#: gajim/groupchat_control.py:1332 gajim/groupchat_control.py:1391 +#, python-brace-format +msgid " by {actor}" +msgstr "" + +# נקבע +#: gajim/groupchat_control.py:1277 +#, fuzzy, python-brace-format +msgid "** Your Affiliation has been set to {affiliation}{actor}{reason}" +msgstr "** השיוך של %(nick)s הוגדר אל %(affiliation)s על ידי %(actor)s" + +#: gajim/groupchat_control.py:1283 +#, fuzzy, python-brace-format +msgid "** Affiliation of {nick} has been set to {affiliation}{actor}{reason}" +msgstr "** השיוך של %(nick)s הוגדר אל %(affiliation)s" + +#: gajim/groupchat_control.py:1307 +#, fuzzy, python-brace-format +msgid "** Your Role has been set to {role}{actor}{reason}" +msgstr "** התפקיד של %(nick)s הוגדר אל %(role)s על ידי %(actor)s" + +#: gajim/groupchat_control.py:1312 +#, fuzzy, python-brace-format +msgid "** Role of {nick} has been set to {role}{actor}{reason}" +msgstr "** התפקיד של %(nick)s הוגדר אל %(role)s על ידי %(actor)s" + +#: gajim/groupchat_control.py:1335 +#, fuzzy, python-brace-format +msgid "You have been removed from the group chat{actor}{reason}" +msgstr "%(nick)s הוסר/ה מתוך החדר (%(reason)s)" + +#: gajim/groupchat_control.py:1340 +#, python-brace-format +msgid "You have left due to an error{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1346 +#, python-brace-format +msgid "You have been kicked{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1353 +#, python-brace-format +msgid "You have been banned{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1360 gajim/groupchat_control.py:1423 +#, fuzzy +msgid ": Affiliation changed" +msgstr "שיוך שונה" + +#: gajim/groupchat_control.py:1366 gajim/groupchat_control.py:1428 +#, fuzzy +msgid ": Group chat configuration changed to members-only" +msgstr "תצורת חדר שונתה אל חברים-בלבד" + +#: gajim/groupchat_control.py:1394 +#, fuzzy, python-brace-format +msgid "{nick} has been removed from the group chat{by}{reason}" +msgstr "%(nick)s הוסר/ה מתוך החדר (%(reason)s)" + +#: gajim/groupchat_control.py:1402 +#, python-brace-format +msgid "{nick} has left due to an error{reason}" +msgstr "" + +# סולק +#: gajim/groupchat_control.py:1408 +#, fuzzy, python-brace-format +msgid "{nick} has been kicked{actor}{reason}" +msgstr "%(nick)s נבעט/ה: %(reason)s" + +#: gajim/groupchat_control.py:1416 +#, fuzzy, python-brace-format +msgid "{nick} has been banned{actor}{reason}" +msgstr "%(nick)s נאסר/ה: %(reason)s" + +#: gajim/groupchat_control.py:1433 +#, python-brace-format +msgid "{nick} has left{reason}" +msgstr "" + +# הצטרף +#: gajim/groupchat_control.py:1451 +#, python-format +msgid "%s has joined the group chat" +msgstr "%s נכנס/ה לשיחת קבוצה" + +#: gajim/groupchat_control.py:1463 +#, fuzzy +msgid "Failed to Join Group Chat" +msgstr "אין אפשרות להצטרף לשיחת קבוצה" + +#: gajim/groupchat_control.py:1469 +#, fuzzy +msgid "Failed to Create Group Chat" +msgstr "עזוב שיחות קבוצה" + +#: gajim/groupchat_control.py:1485 +#, fuzzy +msgid "Group chat has been destroyed" +msgstr "החדר הוחרב" + +#: gajim/groupchat_control.py:1490 +#, fuzzy, python-format +msgid "You can join this group chat instead: xmpp:%s?join" +msgstr "באפשרותך להצטרף לחדר זה במקום: %s" + +#: gajim/groupchat_control.py:1672 +#, fuzzy +msgid "Leave Group Chat" +msgstr "עזוב שיחות קבוצה" + +#: gajim/groupchat_control.py:1673 +#, fuzzy +msgid "Are you sure you want to leave this group chat?" +msgstr "האם אתה בטוח כי ברצונך לעזוב את שיחת קבוצה \"%s\"?" + +#: gajim/groupchat_control.py:1674 +#, fuzzy, python-format +msgid "If you close this window, you will leave '%s'." +msgstr "כאשר תסגור את חלון זה, אתה תנותק מתוך שיחת קבוצה זו." + +#: gajim/message_window.py:365 +#, fuzzy +msgid "Close Tabs" +msgstr "_שלח וסגור" + +#: gajim/message_window.py:366 +#, fuzzy +msgid "You are about to close several tabs" +msgstr "בחרת לסגור מספר כרטיסיות" + +#: gajim/message_window.py:367 +#, fuzzy +msgid "Do you really want to close all of them?" +msgstr "האם אתה בטוח כי ברצונך לסגור את כולן?" + +#: gajim/message_window.py:526 +#, fuzzy +msgid "?Noun:Chats" +msgstr "שיחות קבוצה" + +#: gajim/message_window.py:530 gajim/data/gui/preferences.ui:155 +#, fuzzy +msgid "Group Chats" +msgstr "שיחות קבוצה" + +#: gajim/message_window.py:534 +msgid "Private Chats" +msgstr "שיחות פרטיות" + +#: gajim/message_window.py:540 +msgid "Messages" +msgstr "הודעות" + +#: gajim/dialog_messages.py:37 +#, fuzzy, python-format +msgid "" +"It is not possible to send a message to %s. This XMPP Address is not valid." +msgstr "אין אפשרות לשלוח הודעה אל %s, כתובת JID זו אינה תקפה." + +#: gajim/dialog_messages.py:42 +#, fuzzy +msgid "Unread Events" +msgstr "אירועים אשר לא נקראו" + +#: gajim/dialog_messages.py:43 +#, fuzzy +msgid "Read or acknowledge all pending events before removing this account." +msgstr "קרא את כל האירועים אשר ממתינים בטרם הסרת חשבון זה." + +#: gajim/dialog_messages.py:48 +msgid "Invalid Form" +msgstr "טופס שגוי" + +#: gajim/dialog_messages.py:49 +msgid "The form is not filled correctly." +msgstr "הטופס אינו ממולא כראוי." + +#: gajim/dialog_messages.py:53 +#, fuzzy +msgid "No Connection Available" +msgstr "חיבור לא זמין" + +#: gajim/dialog_messages.py:54 +msgid "Your message can not be sent until you are connected." +msgstr "הודעתך לא יכולה להישלח עד אשר תהיה מחובר." + +#: gajim/dialog_messages.py:58 +msgid "XMPP Address Already in List" +msgstr "" + +#: gajim/dialog_messages.py:59 +#, fuzzy +msgid "" +"The XMPP Address you entered is already in the list. Please choose another " +"one." +msgstr "מזהה Jabber אשר הזנת כבר מצוי בתוך הרשימה. בחר מזהה אחר." + +#: gajim/dialog_messages.py:64 +#, fuzzy +msgid "Invalid Answer" +msgstr "תשובה שגויה" + +#: gajim/dialog_messages.py:65 +#, python-format +msgid "Transport %(name)s answered wrongly to register request: %(error)s" +msgstr "מוביל %(name)s ענה באופן שגוי לבקשת רישום: %(error)s" + +#: gajim/dialog_messages.py:70 +msgid "Wrong Custom Hostname" +msgstr "שם מארח מותאם שגוי" + +#: gajim/dialog_messages.py:71 +#, fuzzy, python-format +msgid "Custom hostname \"%s\" is wrong. It will be ignored." +msgstr "שם מארח מותאם שגוי" + +#: gajim/dialog_messages.py:75 +#, fuzzy +msgid "Registration Succeeded" +msgstr "רישום בוצע בהצלחה" + +#: gajim/dialog_messages.py:76 +#, fuzzy, python-format +msgid "Registration with agent %s succeeded." +msgstr "רישום עם סוכן %s בוצע בהצלחה" + +#: gajim/dialog_messages.py:80 +#, fuzzy +msgid "Registration Failed" +msgstr "רישום נכשל" + +# BUG: with errors +# BUG: with an error +# Needs to be tested +#: gajim/dialog_messages.py:81 +#, python-format +msgid "" +"Registration with agent %(agent)s failed with error %(error)s: %(error_msg)s" +msgstr "רישום עם סוכן %(agent)s נכשל בליווי שגיאה %(error)s: ‏%(error_msg)s" + +#: gajim/dialog_messages.py:86 +#, fuzzy +msgid "GStreamer Error" +msgstr "שגיאת ‫GStreamer" + +#: gajim/dialog_messages.py:87 +#, fuzzy, python-format +msgid "" +"Error: %(error)s\n" +"Debug: %(debug)s" +msgstr "" +"שגיאה: %s\n" +"ניפוי שגיאות: %s" + +#: gajim/dialog_messages.py:91 +#, fuzzy +msgid "Wrong Host" +msgstr "שרת שגוי" + +#: gajim/dialog_messages.py:92 +msgid "Invalid local address? :-O" +msgstr "" + +#: gajim/dialog_messages.py:96 +#, fuzzy +msgid "Avahi Error" +msgstr "שגיאת Avahi" + +#: gajim/dialog_messages.py:97 +#, python-format +msgid "" +"%s\n" +"Link-local messaging might not work properly." +msgstr "" +"%s\n" +"ייתכן כי קישוריות מסרים מקומית לא תעבוד כראוי." + +#: gajim/dialog_messages.py:101 +#, fuzzy +msgid "Could not Open File" +msgstr "לא היתה אפשרות להטעין תמונה" + +#: gajim/command_system/mapping.py:169 gajim/command_system/mapping.py:179 +#: gajim/command_system/mapping.py:199 +msgid "Missing arguments" +msgstr "ארגומנטים חסרים" + +#: gajim/command_system/mapping.py:266 +#, fuzzy +msgid "Too many arguments" +msgstr "ארגומנטים חסרים" + +#: gajim/command_system/implementation/middleware.py:76 +msgid "Error during command execution!" +msgstr "שגיאה במהלך הוצאה לפועל של פקודה!" + +#: gajim/command_system/implementation/execute.py:60 +msgid "Execute expression inside a shell, show output" +msgstr "הרצת ביטוי בתוך מעטפת, הצגת פלט" + +#: gajim/command_system/implementation/execute.py:74 +msgid "" +"Command disabled. This command can be enabled by setting " +"'command_system_execute' to True in ACE (Advanced Configuration Editor)." +msgstr "" + +#: gajim/command_system/implementation/execute.py:125 +msgid "Execute expression inside a shell, send output" +msgstr "הרצת ביטוי בתוך מעטפת, מסירת פלט" + +#: gajim/command_system/implementation/standard.py:52 +msgid "" +"Show help on a given command or a list of available commands if -a is given" +msgstr "" +"הצגת עזרה על פקודה נתונה או רשימה של פקודות זמינות כאשר הארגומנט ‎-a ניתן" + +#: gajim/command_system/implementation/standard.py:81 +msgid "Send a message to the contact" +msgstr "מסירת הודעה לאיש קשר" + +#: gajim/command_system/implementation/standard.py:86 +msgid "Send action (in the third person) to the current chat" +msgstr "מסירת פעולה (בגוף השלישי) לשיחה הנוכחית" + +#: gajim/command_system/implementation/standard.py:91 +msgid "Show logged messages which mention given text" +msgstr "הצגת הודעות רשומות אשר מאזכרות תמליל נתון" + +# gajim-remote? +#: gajim/command_system/implementation/standard.py:96 +#, python-format +msgid "%s: Nothing found" +msgstr "‏%s: לא נמצא דבר" + +#: gajim/command_system/implementation/standard.py:102 +msgid "Limit must be an integer" +msgstr "תחום מוכרח להיות ספרה" + +#: gajim/command_system/implementation/standard.py:127 +msgid "" +"\n" +" Set the current status\n" +"\n" +" Status can be given as one of the following values:\n" +" online, away, chat, xa, dnd.\n" +" " +msgstr "" +"\n" +" קביעת מצב נוכחי\n" +"\n" +" מצב יכול להיות נתון בתור אחד מתוך הערכים הבאים:\n" +" ‏online, away, chat, xa, dnd.\n" +" " + +#: gajim/command_system/implementation/standard.py:145 +msgid "Set the current status to away" +msgstr "קביעת מצב נוכחי אל נעדר" + +#: gajim/command_system/implementation/standard.py:148 +#: gajim/common/helpers.py:200 gajim/common/modules/adhoc_commands.py:122 +msgid "Away" +msgstr "נעדר" + +#: gajim/command_system/implementation/standard.py:159 +msgid "Set the current status to online" +msgstr "קביעת מצב נוכחי אל מקוון" + +#: gajim/command_system/implementation/standard.py:162 +msgid "Available" +msgstr "זמין" + +#: gajim/command_system/implementation/standard.py:173 +#, fuzzy +msgid "Send a disco info request" +msgstr "בקשות קבלה אשר נשלחו" + +#: gajim/command_system/implementation/standard.py:192 +#: gajim/command_system/implementation/standard.py:273 +msgid "Clear the text window" +msgstr "טיהור תמליל חלון" + +#: gajim/command_system/implementation/standard.py:197 +#: gajim/command_system/implementation/standard.py:425 +msgid "Send a ping to the contact" +msgstr "מסירת פינג לאיש קשר" + +#: gajim/command_system/implementation/standard.py:201 +#: gajim/command_system/implementation/standard.py:429 +msgid "Command is not supported for zeroconf accounts" +msgstr "פקודה לא נתמכת עבור חשבונות zeroconf" + +#: gajim/command_system/implementation/standard.py:205 +#, fuzzy +msgid "Send DTMF sequence through an open voice chat" +msgstr "מסירת רצף טזמ״ת (DTMF) מבעד לסשן קולי פתוח" + +# הפעלות +#: gajim/command_system/implementation/standard.py:208 +#, fuzzy +msgid "No open voice chats with the contact" +msgstr "לא קיימים סשנים קוליים פתוחים עם האיש קשר" + +#: gajim/command_system/implementation/standard.py:211 +#, python-format +msgid "%s is not a valid tone" +msgstr "‏%s אינו טון (tone) תקף" + +#: gajim/command_system/implementation/standard.py:218 +msgid "Toggle Voice Chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:221 +#, fuzzy +msgid "Voice chats are not available" +msgstr "סשנים חזותיים אינם זמינים" + +#: gajim/command_system/implementation/standard.py:228 +#, fuzzy +msgid "Toggle Video Chat" +msgstr "הפעלת סשן וידאו" + +#: gajim/command_system/implementation/standard.py:231 +#, fuzzy +msgid "Video chats are not available" +msgstr "סשנים חזותיים אינם זמינים" + +# BUG: him or her or they +# he she +#: gajim/command_system/implementation/standard.py:238 +#, fuzzy +msgid "Send a message to the contact that will attract their attention" +msgstr "מסירת הודעה לאיש קשר אשר תסב את תשומת ליבו" + +#: gajim/command_system/implementation/standard.py:278 +msgid "Change your nickname in a group chat" +msgstr "שינוי שם הכינוי שלך בתוך שיחת קבוצה" + +#: gajim/command_system/implementation/standard.py:283 +msgid "Invalid nickname" +msgstr "שם כינוי שגוי" + +#: gajim/command_system/implementation/standard.py:290 +#, fuzzy +msgid "Open a private chat window with a specified participant" +msgstr "פתיחת חלון שיחה פרטית עם נוכח מצוין" + +#: gajim/command_system/implementation/standard.py:296 +#: gajim/command_system/implementation/standard.py:306 +#: gajim/command_system/implementation/standard.py:360 +#: gajim/command_system/implementation/standard.py:373 +#: gajim/command_system/implementation/standard.py:385 +msgid "Nickname not found" +msgstr "שם כינוי לא נמצא" + +# BUG: him or her or they +# he she +#: gajim/command_system/implementation/standard.py:299 +#, fuzzy +msgid "" +"Open a private chat window with a specified participant and send him a " +"message" +msgstr "פתיחת חלון שיחה פרטית עם נוכח מצוין ומסירת הודעה אליו" + +#: gajim/command_system/implementation/standard.py:309 +msgid "Display or change a group chat topic" +msgstr "הצגה או שינוי נושא של שיחת קבוצה" + +# בליווי תכלית +#: gajim/command_system/implementation/standard.py:318 +#, fuzzy +msgid "Invite a user to a group chat for a reason" +msgstr "הזמנת משתמש לחדר עם ציון סיבה" + +#: gajim/command_system/implementation/standard.py:325 +#, fuzzy +msgid "Join a group chat given by an XMPP Address" +msgstr "בתוך _שיחות קבוצה" + +#: gajim/command_system/implementation/standard.py:335 +#, fuzzy +msgid "" +"Leave the group chat, optionally giving a reason, and close tab or window" +msgstr "עזיבת שיחת קבוצה, אפשרי לתת סיבה, ולסגור את הכרטיסייה או את החלון" + +#: gajim/command_system/implementation/standard.py:341 +#, fuzzy +msgid "" +"\n" +" Ban user by a nick or a JID from a groupchat\n" +"\n" +" If given nickname is not found it will be treated as a JID.\n" +" " +msgstr "" +"\n" +" חסימת משתמש מתוך שיחת קבוצה לפי כינוי או לפי jid\n" +"\n" +" כאשר שם כינוי נתון לא נמצא זה ייוחס בתור jid.\n" +" " + +#: gajim/command_system/implementation/standard.py:357 +#, fuzzy +msgid "Kick user from group chat by nickname" +msgstr "בעיטת משתמש מתוך שיחת קבוצה לפי כינוי" + +#: gajim/command_system/implementation/standard.py:366 +#, fuzzy +msgid "" +"Set participant role in group chat.\n" +" Role can be given as one of the following values:\n" +" moderator, participant, visitor, none" +msgstr "" +"קביעת תפקיד נוכח בתוך שיחת קבוצה.\n" +" תפקיד יכול להיות נתון בתור אחד מתוך הערכים הבאים:\n" +" ‏moderator, participant, visitor, none" + +#: gajim/command_system/implementation/standard.py:371 +msgid "Invalid role given" +msgstr "ניתן תפקיד שגוי" + +#: gajim/command_system/implementation/standard.py:378 +#, fuzzy +msgid "" +"Set participant affiliation in group chat.\n" +" Affiliation can be given as one of the following values:\n" +" owner, admin, member, outcast, none" +msgstr "" +"קביעת שיוך נוכח בתוך שיחת קבוצה.\n" +" שיוך יכול להיות נתון בתור אחד מתוך הערכים הבאים:\n" +" ‏owner, admin, member, outcast, none" + +#: gajim/command_system/implementation/standard.py:383 +msgid "Invalid affiliation given" +msgstr "ניתן שיוך שגוי" + +#: gajim/command_system/implementation/standard.py:393 +#, fuzzy +msgid "Display names of all group chat participants" +msgstr "הצגת שמות של כל הנוכחים בתוך שיחת קבוצה" + +#: gajim/command_system/implementation/standard.py:415 +#, fuzzy +msgid "Forbid a participant to send you public or private messages" +msgstr "אסירה על נוכח לשלוח אליך הודעות פומביות או פרטיות" + +#: gajim/command_system/implementation/standard.py:420 +#, fuzzy +msgid "Allow a participant to send you public or private messages" +msgstr "התרה לנוכח לשלוח לך הודעות פומביות או פרטיות" + +#: gajim/command_system/implementation/standard.py:432 +#, fuzzy +msgid "Unknown nickname" +msgstr "הזן שם כינוי חדש עבור איש קשר %s" + +#: gajim/command_system/implementation/custom.py:114 +msgid "The same as using a doc-string, except it supports translation" +msgstr "" + +#: gajim/gtk/ssl_error_dialog.py:36 gajim/data/gui/ssl_error_dialog.ui:16 +#, fuzzy +msgid "SSL Certificate Verification Error" +msgstr "אימות תעודת SSL עבור %s" + +#: gajim/gtk/ssl_error_dialog.py:55 +#, fuzzy, python-format +msgid "" +"There was an error while attempting to verify the SSL certificate of your " +"XMPP server (%s)." +msgstr "" +"אירעה שגיאה תוך כדי אימות תעודת SSL של שרת Jabber זה: %(error)s\n" +"האם עדיין יש ברצונך להתחבר לשרת זה?" + +#: gajim/gtk/ssl_error_dialog.py:58 +#, fuzzy, python-format +msgid "Unknown SSL error '%s'" +msgstr "שגיאת SSL לא מוכרת: %d" + +#: gajim/gtk/avatar_selector.py:84 +msgid "Select a picture or drop it here" +msgstr "" + +#: gajim/gtk/status_change.py:62 gajim/gtk/preferences.py:627 +#: gajim/gtk/preferences.py:655 +msgid "Status Message" +msgstr "הודעת מצב" + +#: gajim/gtk/status_change.py:330 +#, fuzzy +msgid "No activity" +msgstr "פעילות:" + +#: gajim/gtk/status_change.py:370 gajim/gtk/status_change.py:383 +#: gajim/gtk/status_change.py:488 +#, fuzzy +msgid "No mood selected" +msgstr "לא נבחר מפתח" + +#: gajim/gtk/status_change.py:382 +msgid "No mood" +msgstr "" + +#: gajim/gtk/status_change.py:439 +#, fuzzy +msgid "Overwrite" +msgstr "להחליף?" + +#: gajim/gtk/status_change.py:440 +msgid "Overwrite Status Message?" +msgstr "החלף הודעת מצב?" + +#: gajim/gtk/status_change.py:441 +#, fuzzy +msgid "This name is already in use. Do you want to overwrite this preset?" +msgstr "שם זה כבר מצוי בשימוש. האם ברצונך להחליף את הודעת המצב הקיימת?" + +#: gajim/gtk/status_change.py:445 gajim/plugins/gui.py:292 +#, fuzzy +msgid "_Overwrite" +msgstr "להחליף?" + +#: gajim/gtk/status_change.py:453 +#, fuzzy +msgid "Status Preset" +msgstr "הודעת מצב" + +# ערוך מראש +#: gajim/gtk/status_change.py:454 +#, fuzzy +msgid "Save status as preset" +msgstr "שמור בתור מצב מותאם..." + +#: gajim/gtk/status_change.py:455 +#, fuzzy +msgid "Please assign a name to this status message preset" +msgstr "אנא הקלד שם עבור הודעת מצב זו" + +#: gajim/gtk/status_change.py:458 gajim/data/gui/profile.ui:336 +#, fuzzy +msgid "_Save" +msgstr "נשמר בתוך: ‎%s" + +#: gajim/gtk/status_change.py:460 +#, fuzzy +msgid "New Status" +msgstr "מצב" + +#: gajim/gtk/advanced_config.py:46 gajim/gtk/advanced_config.py:144 +msgid "Activated" +msgstr "מופעלת" + +#: gajim/gtk/advanced_config.py:47 +msgid "Deactivated" +msgstr "מנוטרלת" + +#: gajim/gtk/advanced_config.py:52 +msgid "?config type:Boolean" +msgstr "" + +#: gajim/gtk/advanced_config.py:53 +msgid "?config type:Integer" +msgstr "" + +#: gajim/gtk/advanced_config.py:54 +msgid "?config type:Text" +msgstr "" + +#: gajim/gtk/advanced_config.py:65 +#, fuzzy +msgid "Advanced Configuration Editor (ACE)" +msgstr "עורך תצורה מתקדם" + +#: gajim/gtk/advanced_config.py:80 +#, fuzzy +msgid "?config:Preference Name" +msgstr "שם העדפה" + +#: gajim/gtk/advanced_config.py:91 +#, fuzzy +msgid "?config:Value" +msgstr "תצורה" + +#: gajim/gtk/advanced_config.py:100 +msgid "?config:Type" +msgstr "" + +#: gajim/gtk/advanced_config.py:133 +#, fuzzy +msgid "?config description:None" +msgstr "אין" + +#: gajim/gtk/preferences.py:63 gajim/data/gui/shortcuts_window.ui:31 +msgid "Preferences" +msgstr "העדפות" + +#: gajim/gtk/preferences.py:185 +#, fuzzy +msgid "Detached contact list with detached chats" +msgstr "רשימה מנותקת עם שיחות מופרדות" + +#: gajim/gtk/preferences.py:186 +#, fuzzy +msgid "Detached contact list with single chat" +msgstr "רשימה מנותקת עם שיחה יחידה" + +#: gajim/gtk/preferences.py:187 +msgid "Single window for everything" +msgstr "חלון מאוגד עבור כל החלונות" + +#: gajim/gtk/preferences.py:188 +#, fuzzy +msgid "Detached contact list with chats grouped by account" +msgstr "רשימה מנותקת עם שיחות מאוגדות לפי חשבון" + +#: gajim/gtk/preferences.py:189 +#, fuzzy +msgid "Detached contact list with chats grouped by type" +msgstr "רשימה מנותקת עם שיחות מאוגדות לפי טיפוס" + +#: gajim/gtk/preferences.py:193 gajim/data/gui/mam_preferences.ui:14 +msgid "Always" +msgstr "תמיד" + +#: gajim/gtk/preferences.py:194 gajim/data/gui/mam_preferences.ui:22 +msgid "Never" +msgstr "אף פעם" + +# By last state +#: gajim/gtk/preferences.py:195 +#, fuzzy +msgid "Restore last state" +msgstr "לפי מצב אחרון" + +#: gajim/gtk/preferences.py:199 +#, fuzzy +msgid "Top" +msgstr "אל" + +#: gajim/gtk/preferences.py:200 +msgid "Bottom" +msgstr "" + +#: gajim/gtk/preferences.py:201 +msgid "Left" +msgstr "" + +#: gajim/gtk/preferences.py:202 +#, fuzzy +msgid "Right" +msgstr "שמונה" + +#: gajim/gtk/preferences.py:207 +#, fuzzy +msgid "Window Layout" +msgstr "התנהגות _חלון:" + +#: gajim/gtk/preferences.py:214 +#, fuzzy +msgid "Contact List on Startup" +msgstr "ה_צג רשימה בעת הפעלה:" + +#: gajim/gtk/preferences.py:218 +#, fuzzy +msgid "Show contact list when starting Gajim" +msgstr "ה_צג רשימה בעת הפעלה:" + +#: gajim/gtk/preferences.py:221 +#, fuzzy +msgid "Quit on Close" +msgstr "_מזער בעת סגירה" + +#: gajim/gtk/preferences.py:224 +#, fuzzy +msgid "Quit when closing contact list" +msgstr "הצג אנשי קשר _לא מקוונים" + +#: gajim/gtk/preferences.py:227 +#, fuzzy +msgid "Tab Position" +msgstr "משרה:" + +#: gajim/gtk/preferences.py:231 +#, fuzzy +msgid "Placement of chat window tabs" +msgstr "סגר/ה את כרטיסיית או חלון השיחה" + +#: gajim/gtk/preferences.py:247 +#, fuzzy +msgid "Merge Accounts" +msgstr "חשבונות ממוזגים" + +#: gajim/gtk/preferences.py:253 +#, fuzzy +msgid "Enable Metacontacts" +msgstr "שינוי שם איש קשר" + +#: gajim/gtk/preferences.py:258 +#, fuzzy +msgid "Show Avatars" +msgstr "תכונות" + +#: gajim/gtk/preferences.py:264 gajim/gtk/preferences.py:353 +#, fuzzy +msgid "Show Status Message" +msgstr "הודעת מצב" + +#: gajim/gtk/preferences.py:270 gajim/gtk/preferences.py:411 +#, fuzzy +msgid "Sort Contacts by Status" +msgstr "מיין אנשי קשר לפי מצב" + +#: gajim/gtk/preferences.py:276 +#, fuzzy +msgid "Show Mood" +msgstr "קביעת מצב רוח" + +#: gajim/gtk/preferences.py:281 +#, fuzzy +msgid "Show Activity" +msgstr "קביעת פעילות" + +#: gajim/gtk/preferences.py:286 +#, fuzzy +msgid "Show Tune" +msgstr "תכונות" + +#: gajim/gtk/preferences.py:323 +msgid "Needs gspell to be installed" +msgstr "" + +#: gajim/gtk/preferences.py:327 +#, fuzzy +msgid "Spell Checking" +msgstr "בדיקת איות" + +#: gajim/gtk/preferences.py:335 +#, fuzzy +msgid "Message Receipts (✔)" +msgstr "cli" + +#: gajim/gtk/preferences.py:338 +msgid "Add a checkmark to received messages" +msgstr "" + +#: gajim/gtk/preferences.py:341 +#, fuzzy +msgid "XHTML Formatting" +msgstr "הצגת רשימת עיצובים" + +#: gajim/gtk/preferences.py:344 +msgid "Render XHTML styles (colors, etc.) of incoming messages" +msgstr "" + +#: gajim/gtk/preferences.py:348 +#, fuzzy +msgid "Show Send Message Button" +msgstr "מסירת הודעה" + +#: gajim/gtk/preferences.py:358 +#, fuzzy +msgid "Show Chat State In Tabs" +msgstr "האם להציג לחצן סגירה בתוך כרטיסייה?" + +#: gajim/gtk/preferences.py:361 +msgid "Show the contact’s chat state (e.g. typing) in the chat’s tab" +msgstr "" + +#: gajim/gtk/preferences.py:365 +#, fuzzy +msgid "Show Chat State In Banner" +msgstr "הצג _אווטארים של אנשי קשר ברשימה" + +#: gajim/gtk/preferences.py:368 +msgid "Show the contact’s chat state (e.g. typing) in the chats tab’s banner" +msgstr "" + +#: gajim/gtk/preferences.py:372 +#, fuzzy +msgid "Display Chat State In Contact List" +msgstr "ה_צג התראות מצב שיחה:" + +#: gajim/gtk/preferences.py:375 +#, fuzzy +msgid "Show the contact’s chat state (e.g. typing) in the contact list" +msgstr "האם להציג לחצן סגירה בתוך כרטיסייה?" + +#: gajim/gtk/preferences.py:406 +#, fuzzy +msgid "Show Subject" +msgstr "נושא" + +#: gajim/gtk/preferences.py:417 +msgid "Default Sync Threshold" +msgstr "" + +#: gajim/gtk/preferences.py:420 +#, fuzzy +msgid "Default for new public group chats" +msgstr "עזוב שיחות קבוצה" + +#: gajim/gtk/preferences.py:424 +msgid "Show Joined / Left" +msgstr "" + +#: gajim/gtk/preferences.py:427 gajim/gtk/preferences.py:438 +#, fuzzy +msgid "Default for new group chats" +msgstr "עזוב שיחות קבוצה" + +#: gajim/gtk/preferences.py:428 gajim/gtk/preferences.py:439 +#: gajim/gtk/accounts.py:715 gajim/gtk/accounts.py:727 +#: gajim/gtk/accounts.py:740 +#, fuzzy +msgid "Reset" +msgstr "_נוכחות" + +#: gajim/gtk/preferences.py:429 gajim/gtk/preferences.py:440 +#: gajim/gtk/accounts.py:728 +msgid "Reset all group chats to the current default value" +msgstr "" + +#: gajim/gtk/preferences.py:435 gajim/gtk/groupchat_settings.py:48 +#, fuzzy +msgid "Show Status Changes" +msgstr "הצג _הודעות מצב" + +#: gajim/gtk/preferences.py:468 +#, fuzzy +msgid "Hide icon" +msgstr "הסתר תפריט זה" + +#: gajim/gtk/preferences.py:469 +#, fuzzy +msgid "Only show for pending events" +msgstr "רק כאשר ישנם אירועים ממתינים" + +#: gajim/gtk/preferences.py:470 +msgid "Always show icon" +msgstr "" + +#: gajim/gtk/preferences.py:475 +#, fuzzy +msgid "Notification Area Icon" +msgstr "הצג סמל אזור התראה:" + +#: gajim/gtk/preferences.py:482 +#, fuzzy +msgid "Open Events" +msgstr "אירועים אישיים" + +#: gajim/gtk/preferences.py:485 +#, fuzzy +msgid "Open events instead of showing a notification in the contact list" +msgstr "הצגה בלעדית של אנשי קשר מקוונים וחופשיים לשיחה ברשימה." + +#: gajim/gtk/preferences.py:489 gajim/gtk/preferences.py:512 +#, fuzzy +msgid "Show Notifications" +msgstr "התראות" + +#: gajim/gtk/preferences.py:517 +#, fuzzy +msgid "Notifications When Away" +msgstr "התראות" + +#: gajim/gtk/preferences.py:520 +#, fuzzy +msgid "Show notifications even if you are Away, Busy, etc." +msgstr "הצג סמל אזור התראה:" + +#: gajim/gtk/preferences.py:525 gajim/data/gui/preferences.ui:271 +msgid "Notifications" +msgstr "התראות" + +#: gajim/gtk/preferences.py:534 +#, fuzzy +msgid "Play Sounds" +msgstr "נגן _צלילים" + +#: gajim/gtk/preferences.py:537 +msgid "Play sounds to notify about events" +msgstr "" + +#: gajim/gtk/preferences.py:542 +msgid "Sounds When Away" +msgstr "" + +#: gajim/gtk/preferences.py:545 +#, fuzzy +msgid "Play sounds even when you are Away, Busy, etc." +msgstr "נגן צלילים כאשר משתמש הינו עסוק" + +#: gajim/gtk/preferences.py:560 +#, fuzzy +msgid "Sign In" +msgstr "התח_ברות" + +#: gajim/gtk/preferences.py:565 +#, fuzzy +msgid "Sign Out" +msgstr "הת_נתקות" + +#: gajim/gtk/preferences.py:570 +#, fuzzy +msgid "Status Change" +msgstr "הצג _הודעות מצב" + +#: gajim/gtk/preferences.py:583 gajim/gtk/preferences.py:614 +#, fuzzy +msgid "Auto Away" +msgstr "נעדר" + +#: gajim/gtk/preferences.py:585 +msgid "Change your status to 'Away' after a certain amount of time" +msgstr "" + +#: gajim/gtk/preferences.py:590 gajim/gtk/preferences.py:642 +#, fuzzy +msgid "Auto Not Available" +msgstr "לא זמין" + +#: gajim/gtk/preferences.py:592 +msgid "Change your status to 'Not Available' after a certain amount of time" +msgstr "" + +#: gajim/gtk/preferences.py:619 +msgid "Time Until Away" +msgstr "" + +#: gajim/gtk/preferences.py:622 gajim/gtk/preferences.py:650 +#, fuzzy +msgid "Minutes until your status gets changed" +msgstr "הצג _הודעות מצב" + +#: gajim/gtk/preferences.py:633 gajim/gtk/preferences.py:828 +#, fuzzy +msgid "Auto Away Settings" +msgstr "קיצורי מקש" + +#: gajim/gtk/preferences.py:647 +#, fuzzy +msgid "Time Until Not Available" +msgstr "לא זמין" + +#: gajim/gtk/preferences.py:661 +#, fuzzy +msgid "Auto Extended Away Settings" +msgstr "נעדר לזמן ארוך" + +#: gajim/gtk/preferences.py:672 gajim/gtk/accounts.py:680 +msgid "Enabled" +msgstr "מאופשר" + +#: gajim/gtk/preferences.py:673 gajim/data/gui/vcard_information_window.ui:123 +#, fuzzy +msgid "System" +msgstr "מערכת:" + +#: gajim/gtk/preferences.py:678 +#, fuzzy +msgid "Dark Theme" +msgstr "‏Gajim מרחוק" + +#: gajim/gtk/preferences.py:685 +#, fuzzy +msgid "Theme" +msgstr "ערכת נושא" + +#: gajim/gtk/preferences.py:731 +msgid "Convert ASCII Emojis" +msgstr "" + +#: gajim/gtk/preferences.py:734 +msgid "Typing short codes like :-) will display emojis" +msgstr "" + +#: gajim/gtk/preferences.py:741 +#, fuzzy +msgid "Emoji Theme" +msgstr "‏Gajim מרחוק" + +#: gajim/gtk/preferences.py:744 +msgid "Choose from various emoji styles" +msgstr "" + +#: gajim/gtk/preferences.py:774 +#, fuzzy +msgid "Status Icon Set" +msgstr "_צלמיות:" + +#: gajim/gtk/preferences.py:781 +#, fuzzy +msgid "Use Transport Icons" +msgstr "השתמש בצלמיות של מו_בילים" + +#: gajim/gtk/preferences.py:784 +msgid "Display protocol-specific status icons (ICQ, ..)" +msgstr "" + +#: gajim/gtk/preferences.py:801 gajim/gtk/preferences.py:817 +msgid "Use Stun Server" +msgstr "" + +#: gajim/gtk/preferences.py:803 +msgid "Helps to establish calls through firewalls" +msgstr "" + +#: gajim/gtk/preferences.py:822 +#, fuzzy +msgid "STUN Server" +msgstr "שרת STUN:" + +#: gajim/gtk/preferences.py:848 +#, fuzzy +msgid "Audio Input Device" +msgstr "התקן קלט שמע" + +#: gajim/gtk/preferences.py:851 +msgid "Select your audio input (e.g. microphone)" +msgstr "" + +#: gajim/gtk/preferences.py:855 +#, fuzzy +msgid "Audio Output Device" +msgstr "התקן פלט שמע" + +#: gajim/gtk/preferences.py:858 +msgid "Select an audio output (e.g. speakers, headphones)" +msgstr "" + +#: gajim/gtk/preferences.py:890 gajim/gtk/preferences.py:898 +msgid "Default" +msgstr "ברירת מחדל" + +#: gajim/gtk/preferences.py:906 +#, fuzzy +msgid "Video Input Device" +msgstr "התקן קלט וידאו" + +#: gajim/gtk/preferences.py:910 +msgid "Select your video input device (e.g. webcam, screen capture)" +msgstr "" + +#: gajim/gtk/preferences.py:915 +#, fuzzy +msgid "Video Framerate" +msgstr "תדר וידאו" + +#: gajim/gtk/preferences.py:921 +#, fuzzy +msgid "Video Resolution" +msgstr "בדיקת וידאו" + +#: gajim/gtk/preferences.py:927 +msgid "Show My Video Stream" +msgstr "" + +#: gajim/gtk/preferences.py:930 +msgid "Show your own video stream in calls" +msgstr "" + +#: gajim/gtk/preferences.py:933 gajim/data/gui/video_preview.ui:51 +msgid "Live Preview" +msgstr "" + +#: gajim/gtk/preferences.py:935 +msgid "Show a live preview to test your video source" +msgstr "" + +#: gajim/gtk/preferences.py:975 +#, fuzzy +msgid "Global Proxy" +msgstr "‏Proxy גלובלי:" + +#: gajim/gtk/preferences.py:980 gajim/gtk/account_wizard.py:732 +#: gajim/gtk/accounts.py:790 +#, fuzzy +msgid "No Proxy" +msgstr "_פרוקסי:" + +#: gajim/gtk/preferences.py:985 +msgid "Use System Keyring" +msgstr "" + +#: gajim/gtk/preferences.py:988 +msgid "Use your system’s keyring to store passwords" +msgstr "" + +#: gajim/gtk/preferences.py:994 +msgid "Check For Updates" +msgstr "" + +#: gajim/gtk/preferences.py:997 gajim/common/config.py:241 +msgid "Check for Gajim updates periodically" +msgstr "" + +#: gajim/gtk/preferences.py:1033 +#, fuzzy +msgid "Debug Logging" +msgstr "ג׳וגינג" + +#: gajim/gtk/message_input.py:48 +#, fuzzy +msgid "Write a message…" +msgstr "cli" + +#: gajim/gtk/settings.py:400 gajim/gtk/settings.py:758 +#: gajim/gtk/settings.py:784 gajim/gtk/settings.py:793 +#: gajim/gtk/settings.py:802 gajim/gtk/settings.py:811 +msgid "?switch:On" +msgstr "" + +#: gajim/gtk/settings.py:400 gajim/gtk/settings.py:758 +#: gajim/gtk/settings.py:784 gajim/gtk/settings.py:793 +#: gajim/gtk/settings.py:802 gajim/gtk/settings.py:811 +msgid "?switch:Off" +msgstr "" + +#: gajim/gtk/settings.py:538 gajim/gtk/manage_sounds.py:46 +#: gajim/gtk/filechoosers.py:89 gajim/gtk/filechoosers.py:140 +#: gajim/gtk/filechoosers.py:147 +msgid "All files" +msgstr "כל הקבצים" + +#: gajim/gtk/settings.py:547 +#, fuzzy +msgid "Clear File" +msgstr "מנקה" + +#: gajim/gtk/settings.py:745 +#, fuzzy +msgid "Adjust to Status" +msgstr "_התאם למצב" + +#: gajim/gtk/history_sync.py:111 gajim/gtk/history_sync.py:193 +#, fuzzy +msgid "Synchronise History" +msgstr "סנכרון" + +#: gajim/gtk/history_sync.py:205 +#, fuzzy +msgid "How far back should the chat history be synchronised?" +msgstr "מה ברצונך לעשות?" + +#: gajim/gtk/history_sync.py:210 +msgid "One Month" +msgstr "" + +#: gajim/gtk/history_sync.py:211 +msgid "Three Months" +msgstr "" + +#: gajim/gtk/history_sync.py:212 +msgid "One Year" +msgstr "" + +#: gajim/gtk/history_sync.py:213 +msgid "Everything" +msgstr "" + +#: gajim/gtk/history_sync.py:241 gajim/gtk/account_wizard.py:276 +#: gajim/gtk/account_wizard.py:295 gajim/gtk/account_wizard.py:312 +#, fuzzy +msgid "Connecting..." +msgstr "מתחבר כעת" + +#: gajim/gtk/history_sync.py:253 +#, fuzzy, python-format +msgid "%(received)s of %(max)s" +msgstr "העברת קובץ %(filename)s מן %(name)s נכשלה." + +#: gajim/gtk/history_sync.py:257 +#, fuzzy, python-format +msgid "Downloaded %s messages" +msgstr "קדם הודעות אשר לא נקראו" + +#: gajim/gtk/history_sync.py:277 +#, python-format +msgid "" +"Finished synchronising chat history:\n" +"%s messages downloaded" +msgstr "" + +#: gajim/gtk/history_sync.py:281 +msgid "Gajim is fully synchronised with the archive." +msgstr "" + +#: gajim/gtk/history_sync.py:284 +msgid "There is already a synchronisation in progress. Please try again later." +msgstr "" + +#: gajim/gtk/pep_config.py:49 +#, fuzzy, python-format +msgid "PEP Service Configuration (%s)" +msgstr "תצורת שירות ‫PEP" + +#: gajim/gtk/pep_config.py:74 +#, fuzzy +msgid "Service" +msgstr "שרת" + +#: gajim/gtk/pep_config.py:105 +msgid "PEP node was not removed" +msgstr "צומת PEP לא הוסר" + +#: gajim/gtk/pep_config.py:106 +#, fuzzy, python-format +msgid "" +"PEP node %(node)s was not removed:\n" +"%(message)s" +msgstr "צומת PEP ‏%(node)s לא הוסר: %(message)s" + +#: gajim/gtk/pep_config.py:153 +#, python-format +msgid "Configure %s" +msgstr "תצורת ‫%s" + +# ארכיונאות +#: gajim/gtk/mam_preferences.py:42 +#, python-format +msgid "Archiving Preferences for %s" +msgstr "העדפות גנזך עבור ‫%s" + +#: gajim/gtk/mam_preferences.py:101 +#, fuzzy +msgid "Archiving Preferences Saved" +msgstr "ערוך העדפות _ארכיונאות" + +# ארכיונאות +#: gajim/gtk/mam_preferences.py:102 +#, fuzzy +msgid "Your archiving preferences have successfully been saved." +msgstr "העדפות גנזך עבור ‫%s" + +#: gajim/gtk/mam_preferences.py:109 +#, fuzzy +msgid "Archiving Preferences Error" +msgstr "ערוך העדפות _ארכיונאות" + +#: gajim/gtk/mam_preferences.py:110 +#, fuzzy +msgid "Error received: {}" +msgstr "שגיאה בקבלת dataform" + +#: gajim/gtk/statusicon.py:198 +#, fuzzy +msgid "_Change Status Message…" +msgstr "_שנה הודעת מצב" + +#: gajim/gtk/statusicon.py:250 +#, python-format +msgid "using account %s" +msgstr "באמצעות חשבון %s" + +#: gajim/gtk/statusicon.py:263 +#, fuzzy +msgid "Hide _Contact List" +msgstr "הזמן _אנשי קשר" + +#: gajim/gtk/statusicon.py:268 gajim/data/gui/application_menu.ui:42 +#, fuzzy +msgid "Show _Contact List" +msgstr "הצג אנשי קשר _פעילים בלבד" + +#: gajim/gtk/statusicon.py:276 +msgid "Hide this menu" +msgstr "הסתר תפריט זה" + +#: gajim/gtk/start_chat.py:57 +#, fuzzy +msgid "Start / Join Chat" +msgstr "התחלת שיחה" + +#: gajim/gtk/start_chat.py:285 gajim/gtk/start_chat.py:370 +msgid "You can not join a group chat unless you are connected." +msgstr "אין באפשרותך להצטרף לשיחת קבוצה אלא כאשר תחובר." + +#: gajim/gtk/start_chat.py:634 gajim/gtk/groupchat_join.py:40 +msgid "Join Group Chat" +msgstr "הצטרף לשיחת קבוצה" + +#: gajim/gtk/start_chat.py:715 +msgid "" +"Search for group chats globally\n" +"(press Return to start search)" +msgstr "" + +#: gajim/gtk/start_chat.py:808 +#, fuzzy, python-format +msgid "%s group chats found" +msgstr "cli" + +#: gajim/gtk/notification.py:184 gajim/gtk/notification.py:205 +#: gajim/gtk/notification.py:219 gajim/gtk/notification.py:272 +#: gajim/common/connection_handlers_events.py:234 +msgid "New Private Message" +msgstr "הודעה פרטית חדשה" + +#: gajim/gtk/notification.py:185 gajim/gtk/notification.py:206 +#: gajim/gtk/notification.py:220 gajim/common/connection_handlers_events.py:328 +#, fuzzy +msgid "New Group Chat Message" +msgstr "שיחת קבוצה חדשה" + +#: gajim/gtk/notification.py:186 gajim/gtk/notification.py:212 +#: gajim/gtk/notification.py:289 gajim/common/connection_handlers_events.py:418 +msgid "Contact Changed Status" +msgstr "איש קשר שינה מצב" + +#: gajim/gtk/notification.py:200 +#, fuzzy +msgid "Open" +msgstr "‏OpenPGP: " + +#: gajim/gtk/notification.py:209 +msgid "Mark as Read" +msgstr "" + +#: gajim/gtk/notification.py:273 +msgid "New E-mail" +msgstr "דוא״ל חדש" + +#: gajim/gtk/video_preview.py:116 +msgid "OpenGL accelerated" +msgstr "" + +#: gajim/gtk/video_preview.py:120 +msgid "Not accelerated" +msgstr "" + +#: gajim/gtk/video_preview.py:127 +msgid "Something went wrong. Video feature disabled." +msgstr "" + +#: gajim/gtk/groupchat_invite.py:304 +#, fuzzy +msgid "Invite New Contact" +msgstr "הזמן _אנשי קשר" + +#: gajim/gtk/themes.py:37 +#, fuzzy +msgid "Chatstate Composing" +msgstr "הלחנה" + +#: gajim/gtk/themes.py:41 +#, fuzzy +msgid "Chatstate Inactive" +msgstr "לא פעיל" + +#: gajim/gtk/themes.py:45 +msgid "Chatstate Gone" +msgstr "" + +#: gajim/gtk/themes.py:49 +#, fuzzy +msgid "Chatstate Paused" +msgstr "שנה מצב" + +#: gajim/gtk/themes.py:53 +#, fuzzy +msgid "Group Chat Tab New Directed Message" +msgstr "" +"הודעות שמ״מ\n" +"ישירות" + +#: gajim/gtk/themes.py:57 +#, fuzzy +msgid "Group Chat Tab New Message" +msgstr "הודעה חדשה" + +#: gajim/gtk/themes.py:61 +msgid "Banner Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:65 +msgid "Banner Background Color" +msgstr "" + +#: gajim/gtk/themes.py:69 +msgid "Banner Font" +msgstr "" + +#: gajim/gtk/themes.py:73 +msgid "Account Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:77 +msgid "Account Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:81 +#, fuzzy +msgid "Account Row Font" +msgstr "שורת חשבון" + +#: gajim/gtk/themes.py:85 +msgid "Group Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:89 +msgid "Group Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:93 +#, fuzzy +msgid "Group Row Font" +msgstr "שורת קבוצה" + +#: gajim/gtk/themes.py:97 +msgid "Contact Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:101 +msgid "Contact Row Background Color" +msgstr "" + +# BUG: no Dot +#: gajim/gtk/themes.py:105 +#, fuzzy +msgid "Contact Row Font" +msgstr "צבע התראה של התנתקות איש קשר" + +# direction_mark needed +#: gajim/gtk/themes.py:109 +#, fuzzy +msgid "Conversation Font" +msgstr "שיחה עם " + +#: gajim/gtk/themes.py:113 +#, fuzzy +msgid "Incoming Nickname Color" +msgstr "צבע שם כינוי נכנס." + +#: gajim/gtk/themes.py:117 +#, fuzzy +msgid "Outgoing Nickname Color" +msgstr "צבע שם כינוי יוצא." + +#: gajim/gtk/themes.py:121 +#, fuzzy +msgid "Incoming Message Text Color" +msgstr "צבע תמליל נכנס." + +#: gajim/gtk/themes.py:125 +#, fuzzy +msgid "Incoming Message Text Font" +msgstr "גופן תמליל נכנס." + +#: gajim/gtk/themes.py:129 +#, fuzzy +msgid "Outgoing Message Text Color" +msgstr "צבע תמליל יוצא." + +#: gajim/gtk/themes.py:133 +#, fuzzy +msgid "Outgoing Message Text Font" +msgstr "גופן תמליל יוצא." + +#: gajim/gtk/themes.py:137 +#, fuzzy +msgid "Status Message Color" +msgstr "הודעת מצב" + +#: gajim/gtk/themes.py:141 +#, fuzzy +msgid "Status Message Font" +msgstr "הודעת מצב" + +#: gajim/gtk/themes.py:145 +#, fuzzy +msgid "URL Color" +msgstr "צבע" + +#: gajim/gtk/themes.py:149 +#, fuzzy +msgid "Highlight Message Color" +msgstr "הדגש שגיאות _כתיב" + +#: gajim/gtk/themes.py:153 +#, fuzzy +msgid "Message Correcting" +msgstr "הודעות" + +#: gajim/gtk/themes.py:157 +#, fuzzy +msgid "Contact Disconnected Background" +msgstr "איש קשר מנותק" + +#: gajim/gtk/themes.py:161 +#, fuzzy +msgid "Contact Connected Background " +msgstr "איש קשר מחובר" + +#: gajim/gtk/themes.py:164 +#, fuzzy +msgid "Status Online Color" +msgstr "הודעת מצב" + +#: gajim/gtk/themes.py:167 +#, fuzzy +msgid "Status Away Color" +msgstr "הודעת מצב" + +#: gajim/gtk/themes.py:170 +#, fuzzy +msgid "Status DND Color" +msgstr "הודעת מצב" + +#: gajim/gtk/themes.py:173 +#, fuzzy +msgid "Status Offline Color" +msgstr "הודעת מצב" + +#: gajim/gtk/themes.py:187 +#, fuzzy +msgid "Gajim Themes" +msgstr "‏Gajim מרחוק" + +#: gajim/gtk/themes.py:223 gajim/gtk/themes.py:230 +#, fuzzy +msgid "Invalid Name" +msgstr "שם כינוי שגוי" + +#: gajim/gtk/themes.py:224 +msgid "Name default is not allowed" +msgstr "" + +#: gajim/gtk/themes.py:231 +#, fuzzy +msgid "Spaces are not allowed" +msgstr "תו לא מורשה" + +#: gajim/gtk/themes.py:356 +#, fuzzy +msgid "Do you want to delete this theme?" +msgstr "האם אתה בטוח כי ברצונך למחוק את ההודעה הנבחרת?" + +#: gajim/gtk/themes.py:358 +#, fuzzy +msgid "" +"This is the theme you are currently using.\n" +"Do you want to delete this theme?" +msgstr "שם זה כבר מצוי בשימוש. האם ברצונך להחליף את הודעת המצב הקיימת?" + +#: gajim/gtk/themes.py:363 +#, fuzzy +msgid "Delete Theme" +msgstr "פעיל" + +#: gajim/gtk/themes.py:390 +#, fuzzy +msgid "Remove Setting" +msgstr "תוספים" + +#: gajim/gtk/filetransfer_progress.py:62 +#, fuzzy +msgid "Upload Failed" +msgstr "שמור קובץ בשם..." + +#: gajim/gtk/filetransfer_progress.py:113 +#, fuzzy, python-format +msgid "%(progress)s of %(total)s" +msgstr "העברת קובץ %(filename)s מן %(name)s נכשלה." + +#: gajim/gtk/filetransfer_progress.py:130 +#, python-format +msgid "%(minutes)s min %(seconds)s sec" +msgstr "" + +#: gajim/gtk/add_contact.py:32 +#, fuzzy +msgid "GG Number" +msgstr "מספר GG:" + +#: gajim/gtk/add_contact.py:33 +#, fuzzy +msgid "ICQ Number" +msgstr "מספר ICQ:" + +#: gajim/gtk/add_contact.py:42 +#, fuzzy +msgid "Add Contact" +msgstr "הוסף _איש קשר..." + +# מיבי בתים +#: gajim/gtk/add_contact.py:260 +#, fuzzy, python-format +msgid "%s Missing" +msgstr "%s מי״ב" + +#: gajim/gtk/add_contact.py:261 +#, python-format +msgid "You must supply the %s of the new contact." +msgstr "" + +#: gajim/gtk/add_contact.py:288 gajim/gtk/add_contact.py:294 +#: gajim/gtk/add_contact.py:299 +msgid "Invalid User ID" +msgstr "מזהה משתמש שגוי" + +# אסור להכיל +# אסור ש +# מוכרחה שלא +#: gajim/gtk/add_contact.py:295 +msgid "The user ID must not contain a resource." +msgstr "מזהה משתמש לא יכול להכיל משאב." + +#: gajim/gtk/add_contact.py:300 +#, fuzzy +msgid "You cannot add yourself to your contact list." +msgstr "אין באפשרותך להוסיף את עצמך לרשימה שלך." + +#: gajim/gtk/add_contact.py:305 +#, fuzzy +msgid "Account Offline" +msgstr "לא מקוון" + +#: gajim/gtk/add_contact.py:306 +msgid "Your account must be online to add new contacts." +msgstr "" + +#: gajim/gtk/add_contact.py:322 +#, fuzzy +msgid "Contact Already in Contact List" +msgstr "איש קשר כבר מצוי ברשימה" + +#: gajim/gtk/add_contact.py:323 +#, fuzzy +msgid "This contact is already in your contact list." +msgstr "איש קשר זה כבר מצוי ברשימה שלך." + +#: gajim/gtk/add_contact.py:381 gajim/gtk/add_contact.py:419 +msgid "User ID:" +msgstr "מזהה משתמש:" + +#: gajim/gtk/add_contact.py:486 +#, fuzzy +msgid "Error while adding transport contact" +msgstr "שגיאה בעת הוספת שירות. %s" + +#: gajim/gtk/add_contact.py:487 +#, python-format +msgid "" +"This error occurred while adding a contact for transport %(transport)s:\n" +"\n" +"%(error)s" +msgstr "" + +#: gajim/gtk/account_wizard.py:61 gajim/data/gui/account_wizard.ui:631 +#, fuzzy +msgid "Sign Up" +msgstr "התח_ברות" + +#: gajim/gtk/account_wizard.py:63 +#, fuzzy +msgid "Connect" +msgstr "מחובר" + +#: gajim/gtk/account_wizard.py:64 gajim/gtk/adhoc.py:102 +msgid "Next" +msgstr "" + +#: gajim/gtk/account_wizard.py:65 +msgid "Log In" +msgstr "" + +#: gajim/gtk/account_wizard.py:67 gajim/gtk/remove_account.py:44 +#: gajim/gtk/change_password.py:45 gajim/gtk/accounts.py:384 +#, fuzzy +msgid "Back" +msgstr "אשוב בקרוב" + +#: gajim/gtk/account_wizard.py:80 +msgid "An error occurred during account creation" +msgstr "אירעה שגיאה בעת מהלך יצירת חשבון" + +#: gajim/gtk/account_wizard.py:166 +#, fuzzy +msgid "Creating Account..." +msgstr "הסרת חשבון ‫%s" + +#: gajim/gtk/account_wizard.py:167 +#, fuzzy +msgid "Trying to create account..." +msgstr "שנה סיסמת חשבון" + +#: gajim/gtk/account_wizard.py:277 gajim/gtk/account_wizard.py:296 +#: gajim/gtk/account_wizard.py:313 +#, fuzzy +msgid "Connecting to server..." +msgstr "מתחבר כעת" + +#: gajim/gtk/account_wizard.py:367 gajim/gtk/account_wizard.py:368 +msgid "Anonymous login not supported" +msgstr "" + +#: gajim/gtk/account_wizard.py:369 +#, fuzzy +msgid "This server does not support anonymous login." +msgstr "השרת שלך לא תומך vCard" + +#: gajim/gtk/account_wizard.py:372 gajim/common/client.py:284 +#: gajim/common/const.py:958 gajim/common/const.py:959 +#: gajim/common/const.py:960 gajim/common/const.py:963 +#, fuzzy +msgid "Authentication failed" +msgstr "אימות עם \"%s\" נכשל" + +#: gajim/gtk/account_wizard.py:384 gajim/gtk/account_wizard.py:385 +#, fuzzy +msgid "Signup not allowed" +msgstr "תו לא מורשה" + +#: gajim/gtk/account_wizard.py:386 +#, fuzzy +msgid "This server does not allow signup." +msgstr "השרת שלך לא תומך vCard" + +#: gajim/gtk/account_wizard.py:395 gajim/gtk/account_wizard.py:432 +#: gajim/gtk/account_wizard.py:433 gajim/gtk/account_wizard.py:520 +#: gajim/gtk/groupchat_config.py:132 gajim/gtk/groupchat_config.py:399 +#: gajim/gtk/history.py:591 gajim/gtk/search.py:336 +msgid "Error" +msgstr "שגיאה" + +#: gajim/gtk/account_wizard.py:402 gajim/gtk/account_wizard.py:403 +#, fuzzy +msgid "Connection failed" +msgstr "התחברות נכשלה" + +#: gajim/gtk/account_wizard.py:404 +msgid "" +"Gajim was not able to reach the server. Make sure your XMPP address is " +"correct." +msgstr "" + +#: gajim/gtk/account_wizard.py:459 +#, fuzzy +msgid "Account is being created" +msgstr "חשבון \"%s\" מחובר כעת לשרת" + +#: gajim/gtk/account_wizard.py:518 +msgid "The server rejected the registration without an error message" +msgstr "" + +#: gajim/gtk/account_wizard.py:530 gajim/gtk/accounts.py:572 +#, fuzzy +msgid "Add Account" +msgstr "הוסף _איש קשר..." + +#: gajim/gtk/account_wizard.py:612 gajim/gtk/groupchat_creation.py:138 +#, fuzzy +msgid "Invalid Address" +msgstr "קובץ שגוי" + +#: gajim/gtk/account_wizard.py:636 +#, fuzzy +msgid "Create New Account" +msgstr "יצירת פוסט חדש" + +#: gajim/gtk/account_wizard.py:712 +#, fuzzy +msgid "Advanced settings" +msgstr "קיצורי מקש" + +#: gajim/gtk/account_wizard.py:774 +#, fuzzy +msgid "Invalid domain name" +msgstr "שם חשבון שגוי" + +#: gajim/gtk/account_wizard.py:791 +#, fuzzy +msgid "Must be a port number" +msgstr "פורט מותאם מוכרח להיות מספר פורט." + +#: gajim/gtk/account_wizard.py:798 +#, fuzzy +msgid "Port must be a number between 0 and 65535" +msgstr "משאב מוכרח להיות בין 1 עד 1023 תווים" + +#: gajim/gtk/account_wizard.py:814 +#, fuzzy +msgid "Security Warning" +msgstr "אזהרה: %s" + +#: gajim/gtk/account_wizard.py:833 +#, fuzzy, python-format +msgid "Unknown TLS error '%s'" +msgstr "שגיאת SSL לא מוכרת: %d" + +#: gajim/gtk/account_wizard.py:868 gajim/gtk/account_wizard.py:871 +#, fuzzy +msgid "Create Account" +msgstr "הסרת חשבון ‫%s" + +#: gajim/gtk/account_wizard.py:922 +msgid "Redirect" +msgstr "" + +# רישום +#: gajim/gtk/account_wizard.py:932 +#, fuzzy +msgid "Register on the Website" +msgstr "הירשם אל ‫%s" + +#: gajim/gtk/account_wizard.py:943 +#, fuzzy +msgid "Account Added" +msgstr "שורת חשבון" + +#: gajim/gtk/account_wizard.py:944 +msgid "Account has been added successfully" +msgstr "חשבון הוסף בהצלחה" + +# בליווי תכלית +#: gajim/gtk/groupchat_invitation.py:57 +#, fuzzy +msgid "" +"has invited you to a group chat.\n" +"Do you want to join?" +msgstr "הזמנת משתמש לחדר עם ציון סיבה" + +#: gajim/gtk/groupchat_invitation.py:75 gajim/gtk/discovery.py:1706 +#: gajim/gtk/groupchat_join.py:68 gajim/data/gui/groupchat_control.ui:899 +#: gajim/data/gui/groupchat_control.ui:991 +#: gajim/data/gui/start_chat_dialog.ui:314 +msgid "_Join" +msgstr "ה_צטרף" + +#: gajim/gtk/tooltips.py:215 +#, python-format +msgid "%(owner_or_admin_or_member)s of this group chat" +msgstr "‏%(owner_or_admin_or_member)s בשיחת קבוצה זו" + +#: gajim/gtk/tooltips.py:474 +msgid "Connected" +msgstr "מחובר" + +#: gajim/gtk/tooltips.py:476 +msgid "Disconnected" +msgstr "מנותק" + +#: gajim/gtk/tooltips.py:530 +#, fuzzy +msgid "File Name: " +msgstr "שם קובץ: %s" + +#: gajim/gtk/tooltips.py:533 +#, fuzzy +msgid "?Noun:Download" +msgstr "הורדה" + +#: gajim/gtk/tooltips.py:534 gajim/gtk/filetransfer.py:747 +msgid "Sender: " +msgstr "ממען: " + +#: gajim/gtk/tooltips.py:539 +#, fuzzy +msgid "?Noun:Upload" +msgstr "העלאה" + +#: gajim/gtk/tooltips.py:540 gajim/gtk/filetransfer.py:240 +#: gajim/gtk/filetransfer.py:749 +msgid "Recipient: " +msgstr "נמען: " + +#: gajim/gtk/tooltips.py:546 +#, fuzzy +msgid "?transfer type:Type: " +msgstr "העברת קובץ נעצרה" + +#: gajim/gtk/tooltips.py:552 +#, fuzzy +msgid "?transfer status:Transferred: " +msgstr "הושהתה" + +#: gajim/gtk/tooltips.py:555 +#, fuzzy +msgid "?transfer status:Status: " +msgstr "הושהתה" + +#: gajim/gtk/tooltips.py:557 +msgid "Description: " +msgstr "תיאור: " + +#: gajim/gtk/tooltips.py:581 +#, fuzzy +msgid "?transfer status:Aborted" +msgstr "הושהתה" + +#: gajim/gtk/tooltips.py:583 +#, fuzzy +msgid "?transfer status:Completed" +msgstr "הושהתה" + +#: gajim/gtk/tooltips.py:585 +msgid "?transfer status:Paused" +msgstr "הושהתה" + +#: gajim/gtk/tooltips.py:588 +#, fuzzy +msgid "?transfer status:Stalled" +msgstr "הושהתה" + +#: gajim/gtk/tooltips.py:592 +#, fuzzy +msgid "?transfer status:Transferring" +msgstr "הושהתה" + +#: gajim/gtk/tooltips.py:593 gajim/gtk/tooltips.py:594 +#, fuzzy +msgid "?transfer status:Not started" +msgstr "הושהתה" + +#: gajim/gtk/remove_account.py:42 gajim/gtk/accounts.py:341 +#, fuzzy +msgid "Remove" +msgstr "הס_ר" + +#: gajim/gtk/remove_account.py:49 +#, fuzzy +msgid "Removing Account..." +msgstr "הסרת חשבון ‫%s" + +#: gajim/gtk/remove_account.py:50 +msgid "Trying to remove account..." +msgstr "" + +#: gajim/gtk/remove_account.py:53 gajim/gtk/remove_account.py:54 +#, fuzzy +msgid "Account Removed" +msgstr "שורת חשבון" + +#: gajim/gtk/remove_account.py:56 +#, fuzzy +msgid "Your account has has been removed successfully." +msgstr "חשבונך החדש נוצר בהצלחה" + +#: gajim/gtk/remove_account.py:59 gajim/gtk/remove_account.py:60 +#, fuzzy +msgid "Account Removal Failed" +msgstr "אין חשבון זמין" + +#: gajim/gtk/remove_account.py:171 gajim/gtk/remove_account.py:173 +#, fuzzy +msgid "Remove Account" +msgstr "הסרת חשבון ‫%s" + +#: gajim/gtk/remove_account.py:180 +#, fuzzy +msgid "This will remove your account from Gajim." +msgstr "להסיר חשבון מתוך _Gajim בלבד" + +#: gajim/gtk/remove_account.py:189 +#, python-format +msgid "Do you want to unregister your account on %s as well?" +msgstr "" + +#: gajim/gtk/remove_account.py:198 +msgid "_Unregister account from service" +msgstr "" + +#: gajim/gtk/remove_account.py:217 +#, fuzzy +msgid "Account has to be connected" +msgstr "חשבון \"%s\" מחובר כעת לשרת" + +#: gajim/gtk/filetransfer.py:91 +msgid "File" +msgstr "קובץ" + +#: gajim/gtk/filetransfer.py:108 +msgid "Time" +msgstr "זמן" + +#: gajim/gtk/filetransfer.py:121 gajim/data/gui/filetransfer_progress.ui:110 +msgid "Progress" +msgstr "התקדמות" + +#: gajim/gtk/filetransfer.py:228 +#, fuzzy, python-format +msgid "File name: %s" +msgstr "שם קובץ: %s" + +#: gajim/gtk/filetransfer.py:229 gajim/gtk/filetransfer.py:470 +#, python-format +msgid "Size: %s" +msgstr "גודל: %s" + +#: gajim/gtk/filetransfer.py:239 +#, python-format +msgid "Sender: %s" +msgstr "ממען: %s" + +#: gajim/gtk/filetransfer.py:251 +#, python-format +msgid "Saved in: %s" +msgstr "נשמר בתוך: ‎%s" + +#: gajim/gtk/filetransfer.py:256 +msgid "File transfer completed" +msgstr "העברת קובץ הושלמה" + +#: gajim/gtk/filetransfer.py:276 gajim/gtk/filetransfer.py:285 +#, fuzzy +msgid "Connection with peer could not be established." +msgstr "חיבור עם עמית לא היה אפשרי לביסוס." + +#: gajim/gtk/filetransfer.py:293 +#, python-format +msgid "Filename: %s" +msgstr "שם קובץ: %s" + +#: gajim/gtk/filetransfer.py:294 +#, python-format +msgid "Recipient: %s" +msgstr "נמען: %s" + +#: gajim/gtk/filetransfer.py:296 +#, python-format +msgid "Error message: %s" +msgstr "הודעת שגיאה: %s" + +# אופן מסולף +#: gajim/gtk/filetransfer.py:335 +#, fuzzy, python-format +msgid "" +"The file %s has been received, but it seems to have been damaged along the " +"way.\n" +"Do you want to download it again?" +msgstr "" +"הקובץ %(file)s התקבל בהצלחה, אך נראה כי הוא התקבל באופן לא תקין.\n" +"האם ברצונך להטעינו מחדש?" + +#: gajim/gtk/filetransfer.py:341 +#, fuzzy +msgid "_Download Again" +msgstr "אל ת_שאל אותי שוב" + +# להשיג גישה +#: gajim/gtk/filetransfer.py:356 +#, fuzzy +msgid "Gajim can not read this file" +msgstr "‏Gajim לא מסוגל לגשת לקובץ זה" + +#: gajim/gtk/filetransfer.py:357 +msgid "Another process is using this file." +msgstr "" + +# להחליף +#: gajim/gtk/filetransfer.py:399 +#, fuzzy, python-format +msgid "Cannot overwrite existing file '%s'" +msgstr "אין אפשרות לכתוב על קובץ קיים \"%s\"" + +#: gajim/gtk/filetransfer.py:400 +msgid "" +"A file with this name already exists and you do not have permission to " +"overwrite it." +msgstr "קובץ בשם זה כבר ישנו ואין לך הרשאה לכתוב עליו." + +#: gajim/gtk/filetransfer.py:424 +#, fuzzy +msgid "File Transfer Conflict" +msgstr "העברת קובץ הושלמה" + +#: gajim/gtk/filetransfer.py:425 +#, fuzzy +msgid "File already exists" +msgstr "קובץ זה כבר ישנו" + +#: gajim/gtk/filetransfer.py:426 +msgid "Resume download or replace file?" +msgstr "" + +#: gajim/gtk/filetransfer.py:430 +#, fuzzy +msgid "Resume _Download" +msgstr "הורדה" + +#: gajim/gtk/filetransfer.py:433 +#, fuzzy +msgid "Replace _File" +msgstr "ה_חלף" + +# זמין לכתיבה +#: gajim/gtk/filetransfer.py:443 +#, fuzzy, python-format +msgid "Directory '%s' is not writable" +msgstr "המדור \"%s\" אינו נתון לכתיבה" + +#: gajim/gtk/filetransfer.py:444 +#, fuzzy +msgid "You do not have permissions to create files in this directory." +msgstr "אין לך הרשאות ליצור קבצים במדור זה." + +#: gajim/gtk/filetransfer.py:467 +#, python-format +msgid "File: %s" +msgstr "קובץ: %s" + +#: gajim/gtk/filetransfer.py:473 +#, python-format +msgid "Type: %s" +msgstr "טיפוס: %s" + +#: gajim/gtk/filetransfer.py:475 +#, python-format +msgid "Description: %s" +msgstr "תיאור: %s" + +#: gajim/gtk/filetransfer.py:486 +#, fuzzy, python-format +msgid "%s wants to send you a file" +msgstr "‏%s רוצה לשלוח לך קובץ." + +#: gajim/gtk/filetransfer.py:514 +#, fuzzy +msgid "Checking file…" +msgstr "כעת בודק קובץ..." + +#: gajim/gtk/filetransfer.py:529 +msgid "File error" +msgstr "שגיאת קובץ" + +#: gajim/gtk/filetransfer.py:566 +#, python-format +msgid "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" +msgstr "" + +#: gajim/gtk/filetransfer.py:663 +#, python-format +msgid "(%(filesize_unit)s/s)" +msgstr "(%(filesize_unit)s/ש)" + +#: gajim/gtk/filetransfer.py:716 gajim/gtk/filetransfer.py:720 +msgid "Invalid File" +msgstr "קובץ שגוי" + +#: gajim/gtk/filetransfer.py:716 +msgid "File: " +msgstr "קובץ: " + +# לא קיימת אפשרות +# אין אפשרות +#: gajim/gtk/filetransfer.py:721 +msgid "It is not possible to send empty files" +msgstr "אין זה אפשרי לשלוח קבצים ריקים" + +#: gajim/gtk/filetransfer.py:1043 +#, fuzzy +msgid "Choose a File to Send…" +msgstr "בחירת קובץ לשליחה..." + +#: gajim/gtk/roster_item_exchange.py:35 +#: gajim/data/gui/roster_item_exchange_window.ui:39 +#, fuzzy +msgid "Contact List Exchange" +msgstr "המרת פריט רשימה" + +#: gajim/gtk/roster_item_exchange.py:49 +#, fuzzy, python-format +msgid "%s would like to add some contacts to your contact list." +msgstr "ברצוני להוסיף אותך לרשימת הקשר שלי." + +# שתבצע/י %(action)s של +# שיותאמו על ידך מספר x שברשימה +# רוצה שתוסיף מספר אנשי קשר ברשימה +# כי תוסיף +# ממך להוסיף +#: gajim/gtk/roster_item_exchange.py:52 +#, fuzzy, python-format +msgid "%s would like to modify some contacts in your contact list." +msgstr "" +"‏%(jid)s מעוניין %(action)s מספר אנשי קשר בתוך הרשימה שלך." + +# שתבצע/י %(action)s של +# שיותאמו על ידך מספר x שברשימה +# רוצה שתוסיף מספר אנשי קשר ברשימה +# כי תוסיף +# ממך להוסיף +#: gajim/gtk/roster_item_exchange.py:55 +#, fuzzy, python-format +msgid "%s would like to delete some contacts from your contact list." +msgstr "" +"‏%(jid)s מעוניין %(action)s מספר אנשי קשר בתוך הרשימה שלך." + +#: gajim/gtk/roster_item_exchange.py:71 gajim/gtk/roster_item_exchange.py:130 +msgid "Add" +msgstr "הוסף" + +#: gajim/gtk/roster_item_exchange.py:73 gajim/gtk/roster_item_exchange.py:161 +msgid "Modify" +msgstr "התאמה" + +#: gajim/gtk/roster_item_exchange.py:80 +msgid "JID" +msgstr "‏JID" + +#: gajim/gtk/roster_item_exchange.py:86 +msgid "Groups" +msgstr "קבוצות" + +#: gajim/gtk/roster_item_exchange.py:196 +#, fuzzy, python-format +msgid "%s suggested me to add you to my contact list." +msgstr "‏%s הציע לי להוסיף אותך לרשימה שלי." + +# נוספו +#: gajim/gtk/roster_item_exchange.py:211 +#, python-format +msgid "Added %d contact" +msgid_plural "Added %d contacts" +msgstr[0] "הוסף איש קשר %d" +msgstr[1] "הוספו %d אנשי קשר" + +#: gajim/gtk/roster_item_exchange.py:253 +#, python-format +msgid "Removed %d contact" +msgid_plural "Removed %d contacts" +msgstr[0] "הוסר איש קשר %d" +msgstr[1] "הוסרו %d אנשי קשר" + +#: gajim/gtk/groupchat_creation.py:45 gajim/data/gui/groupchat_creation.ui:81 +#, fuzzy +msgid "Create Group Chat" +msgstr "עזוב שיחות קבוצה" + +#: gajim/gtk/groupchat_creation.py:101 gajim/gtk/groupchat_creation.py:103 +msgid " (optional)..." +msgstr "" + +#: gajim/gtk/groupchat_creation.py:186 +#, fuzzy +msgid "Not Connected" +msgstr "מחובר" + +#: gajim/gtk/groupchat_creation.py:187 +#, fuzzy +msgid "You have to be connected to create a group chat." +msgstr "לא הצטרפת לשיחת קבוצה." + +#: gajim/gtk/status_selector.py:121 gajim/gtk/status_selector.py:127 +#, fuzzy, python-format +msgid "Status: %s" +msgstr "מצב: " + +#: gajim/gtk/status_selector.py:125 +#, fuzzy, python-format +msgid "%s (desynced)" +msgstr "לא מסונכרן" + +#: gajim/gtk/subscription_request.py:35 +msgid "Subscription Request" +msgstr "בקשת הרשמה" + +#: gajim/gtk/subscription_request.py:47 +#, python-format +msgid "Subscription request for account %(account)s from %(jid)s" +msgstr "בקשת הרשמה עבור חשבון %(account)s מאת %(jid)s" + +#: gajim/gtk/subscription_request.py:50 +#, python-format +msgid "Subscription request from %s" +msgstr "בקשת הרשמה מאת %s" + +#: gajim/gtk/single_message.py:51 +#, fuzzy +msgid "Send Single Message" +msgstr "שלח הודעה _בודדת..." + +#: gajim/gtk/single_message.py:101 +#, fuzzy +msgid "(No subject)" +msgstr "cli" + +#: gajim/gtk/single_message.py:157 +#, python-format +msgid "Single Message using account %s" +msgstr "הודעה בודדת באמצעות חשבון ‫%s" + +#: gajim/gtk/single_message.py:159 +#, python-format +msgid "Single Message in account %s" +msgstr "הודעה בודדת בתוך חשבון ‫%s" + +#: gajim/gtk/single_message.py:161 +msgid "Single Message" +msgstr "הודעה בודדת" + +#: gajim/gtk/single_message.py:164 +#, python-format +msgid "Send %s" +msgstr "שליחת %s" + +#: gajim/gtk/single_message.py:183 +#, python-format +msgid "Received %s" +msgstr "התקבלה %s" + +#: gajim/gtk/single_message.py:205 +#, fuzzy, python-format +msgid "Characters typed: %s" +msgstr "תו לא מורשה" + +#: gajim/gtk/single_message.py:210 gajim/gtk/xml_console.py:169 +msgid "Connection not available" +msgstr "חיבור לא זמין" + +#: gajim/gtk/single_message.py:211 +#, python-format +msgid "Please make sure you are connected with \"%s\"." +msgstr "אנא ודא כי אתה מחובר בעזרת \"%s\"." + +#: gajim/gtk/single_message.py:239 +#, fuzzy, python-format +msgid "" +"It is not possible to send a message to %s, this XMPP Address is not valid." +msgstr "אין אפשרות לשלוח הודעה אל %s, כתובת JID זו אינה תקפה." + +# Is there RE for Hebrew? +#: gajim/gtk/single_message.py:316 +#, python-format +msgid "RE: %s" +msgstr "" + +#: gajim/gtk/single_message.py:317 +#, python-format +msgid "%s wrote:\n" +msgstr "‏%s כתב/ה:\n" + +#: gajim/gtk/change_password.py:42 +#, fuzzy +msgid "Change" +msgstr "שנה שם _כינוי..." + +#: gajim/gtk/change_password.py:51 +#, fuzzy +msgid "Changing Password..." +msgstr "שינוי סיסמה" + +#: gajim/gtk/change_password.py:52 +#, fuzzy +msgid "Trying to change password..." +msgstr "שנה סיסמת חשבון" + +#: gajim/gtk/change_password.py:55 gajim/gtk/change_password.py:56 +#, fuzzy +msgid "Password Changed" +msgstr "נדרשת מילת מעבר" + +# ארכיונאות +#: gajim/gtk/change_password.py:57 +#, fuzzy +msgid "Your password has successfully been changed." +msgstr "העדפות גנזך עבור ‫%s" + +#: gajim/gtk/change_password.py:60 gajim/gtk/change_password.py:61 +#, fuzzy +msgid "Password Change Failed" +msgstr "נדרשת מילת מעבר" + +#: gajim/gtk/change_password.py:63 +#, fuzzy +msgid "An error occurred while trying to change your password." +msgstr "אירעה שגיאה בעת מהלך יצירת חשבון" + +#: gajim/gtk/change_password.py:145 gajim/gtk/change_password.py:147 +#: gajim/gtk/change_password.py:224 gajim/gtk/accounts.py:994 +msgid "Change Password" +msgstr "שינוי סיסמה" + +#: gajim/gtk/change_password.py:154 +#, fuzzy +msgid "Please enter your new password." +msgstr "אנא צור מוטיב חדש עם השם הרצוי עליך." + +#: gajim/gtk/change_password.py:167 +#, fuzzy +msgid "Enter new password..." +msgstr "הזן סיסמה חדשה:" + +#: gajim/gtk/change_password.py:176 +#, fuzzy +msgid "Confirm new password..." +msgstr "שינוי סיסמה" + +#: gajim/gtk/change_password.py:191 +msgid "Passwords do not match" +msgstr "סיסמאות לא תואמות" + +#: gajim/gtk/bookmarks.py:48 +#, fuzzy, python-format +msgid "Bookmarks for %s" +msgstr "_סמן" + +#: gajim/gtk/xml_console.py:95 gajim/gtk/xml_console.py:279 +#, fuzzy +msgid "All Accounts" +msgstr "חשבונות" + +#: gajim/gtk/xml_console.py:170 +#, fuzzy, python-format +msgid "Please make sure you are connected with '%s'." +msgstr "אנא ודא כי אתה מחובר בעזרת \"%s\"." + +#: gajim/gtk/xml_console.py:180 +#, fuzzy +msgid "Invalid Node" +msgstr "קובץ שגוי" + +#: gajim/gtk/xml_console.py:282 +msgid "Account" +msgstr "חשבון" + +#: gajim/gtk/xml_console.py:309 gajim/data/gui/xml_console.ui:241 +#, fuzzy +msgid "Filter" +msgstr "סינון:" + +#: gajim/gtk/dataform.py:252 gajim/gtk/dataform.py:290 +#, fuzzy +msgid "Required" +msgstr "דרוש" + +#: gajim/gtk/dataform.py:315 +msgid "Yes" +msgstr "כן" + +#: gajim/gtk/dataform.py:315 +msgid "No" +msgstr "לא" + +#: gajim/gtk/dataform.py:701 gajim/gtk/adhoc.py:86 +#: gajim/data/gui/profile.ui:396 +#, fuzzy +msgid "Cancel" +msgstr "_ביטול" + +#: gajim/gtk/dataform.py:703 +msgid "Submit" +msgstr "" + +# השיב +#: gajim/gtk/discovery.py:69 +msgid "This service has not yet responded with detailed information" +msgstr "שירות זה טרם הגיב עם מידע מפורט" + +# שבור, פגום +#: gajim/gtk/discovery.py:70 +#, fuzzy +msgid "" +"This service could not respond with detailed information.\n" +"It is most likely a legacy service or broken." +msgstr "" +"לא היה ביכולתו של שירות זה להגיב עם מידע מפורט.\n" +"נראה כי שירות זה הינו מיושן או מקוטע" + +#: gajim/gtk/discovery.py:126 +msgid "Others" +msgstr "אחרים" + +#: gajim/gtk/discovery.py:129 gajim/data/gui/shortcuts_window.ui:307 +#, fuzzy +msgid "Group Chat" +msgstr "שיחות קבוצה" + +# BUG: Dot +#: gajim/gtk/discovery.py:523 +msgid "Without a connection, you can not browse available services" +msgstr "ללא חיבור, אין באפשרותך לעיין בשירותים זמינים" + +#: gajim/gtk/discovery.py:610 +#, python-format +msgid "Service Discovery using account %s" +msgstr "מציאת שירות באמצעות חשבון ‫%s" + +#: gajim/gtk/discovery.py:612 +msgid "Service Discovery" +msgstr "מציאת שירות" + +# BUG: general title without "the" +#: gajim/gtk/discovery.py:695 +msgid "The service could not be found" +msgstr "השירות לא היה יכול להימצא" + +#: gajim/gtk/discovery.py:696 +msgid "" +"There is no service at the address you entered, or it is not responding. " +"Check the address and try again." +msgstr "אין שירות בכתובת אשר הזנת, או שזה אינו מגיב. בדוק את הכתובת ונסה שוב." + +#: gajim/gtk/discovery.py:703 gajim/gtk/discovery.py:1046 +msgid "The service is not browsable" +msgstr "השירות אינו בר עיון" + +#: gajim/gtk/discovery.py:704 +msgid "This type of service does not contain any items to browse." +msgstr "טיפוס זה של שירות לא מכיל פריטים לעיון." + +#: gajim/gtk/discovery.py:742 gajim/gtk/discovery.py:751 +msgid "Invalid Server Name" +msgstr "שם שרת שגוי" + +#: gajim/gtk/discovery.py:810 +#, python-format +msgid "Browsing %(address)s using account %(account)s" +msgstr "עיון בשירותים בכתובת ‫%(address)s באמצעות חשבון ‫%(account)s" + +#: gajim/gtk/discovery.py:855 +#, fuzzy +msgid "Browse" +msgstr "_עיין" + +#: gajim/gtk/discovery.py:1047 +msgid "This service does not contain any items to browse." +msgstr "שירות זה לא מכיל פריטים לעיון." + +#: gajim/gtk/discovery.py:1259 +#, fuzzy +msgid "_Command" +msgstr "cli" + +#: gajim/gtk/discovery.py:1268 gajim/gtk/discovery.py:1425 +msgid "Re_gister" +msgstr "ה_רשמה" + +#: gajim/gtk/discovery.py:1275 +#, fuzzy +msgid "Join" +msgstr "ה_צטרף" + +#: gajim/gtk/discovery.py:1281 +msgid "_Search" +msgstr "_חפש" + +#: gajim/gtk/discovery.py:1423 gajim/data/gui/profile.ui:353 +msgid "_Edit" +msgstr "ע_ריכה" + +# Scanned/Identified/Detected/Discovered/Found %(current)d out of %(total)d.. +# אותרו, זוהו, נמצאו +#: gajim/gtk/discovery.py:1461 +#, fuzzy, python-format +msgid "Scanning %(current)d / %(total)d ..." +msgstr "נסרקו %(current)d שירותים מתוך %(total)d.." + +#: gajim/gtk/discovery.py:1660 +msgid "Users" +msgstr "משתמשים" + +#: gajim/gtk/discovery.py:1668 gajim/data/gui/groupchat_info_scrolled.ui:32 +#: gajim/data/gui/filetransfers_send_file_dialog.ui:15 +#: gajim/data/gui/advanced_configuration.ui:82 +msgid "Description" +msgstr "תיאור" + +#: gajim/gtk/discovery.py:1676 +msgid "Id" +msgstr "מזהה" + +#: gajim/gtk/discovery.py:1905 +msgid "Subscribed" +msgstr "רשום" + +#: gajim/gtk/discovery.py:1914 +msgid "Node" +msgstr "צומת" + +# פרסום +#: gajim/gtk/discovery.py:1983 +#, fuzzy +msgid "_New post" +msgstr "פוסט חדש" + +#: gajim/gtk/discovery.py:1992 +msgid "_Subscribe" +msgstr "הי_רשם" + +#: gajim/gtk/discovery.py:2000 +msgid "_Unsubscribe" +msgstr "_בטל הרשמה" + +#: gajim/gtk/groupchat_settings.py:43 +msgid "Show Join/Leave" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:53 +#, fuzzy +msgid "Notify on all Messages" +msgstr "הודעות מותאמות:" + +#: gajim/gtk/groupchat_settings.py:58 +#, fuzzy +msgid "Minimize on Close" +msgstr "_מזער בעת סגירה" + +#: gajim/gtk/groupchat_settings.py:63 +#, fuzzy +msgid "Minimize When Joining Automatically" +msgstr "מ_זער בעת הצטרפות אוטומטית" + +# By last state +#: gajim/gtk/groupchat_settings.py:68 +#, fuzzy +msgid "Send Chat State" +msgstr "לפי מצב אחרון" + +# By last state +#: gajim/gtk/groupchat_settings.py:74 +#, fuzzy +msgid "Send Chat Markers" +msgstr "לפי מצב אחרון" + +#: gajim/gtk/groupchat_settings.py:77 +msgid "Let others know if you read up to this point" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:80 +msgid "Sync Threshold" +msgstr "" + +#: gajim/gtk/proxies.py:33 +#, fuzzy +msgid "Manage Proxies" +msgstr "ניהול דיוקני Proxy" + +#: gajim/gtk/manage_sounds.py:40 +#, fuzzy +msgid "Manage Sounds" +msgstr "ניהול צלילים" + +#: gajim/gtk/manage_sounds.py:51 +msgid "Wav Sounds" +msgstr "צלילי Wav" + +#: gajim/gtk/manage_sounds.py:85 +msgid "Attention Message Received" +msgstr "התקבלה הודעת הקשב" + +#: gajim/gtk/manage_sounds.py:86 +msgid "First Message Received" +msgstr "הודעה ראשונה אשר התקבלה" + +#: gajim/gtk/manage_sounds.py:87 +msgid "Next Message Received Focused" +msgstr "הודעה הבאה אשר התקבלה (ממוקד)" + +#: gajim/gtk/manage_sounds.py:88 +msgid "Next Message Received Unfocused" +msgstr "הודעה הבאה אשר התקבלה (לא ממוקד)" + +#: gajim/gtk/manage_sounds.py:89 +msgid "Contact Connected" +msgstr "איש קשר מחובר" + +#: gajim/gtk/manage_sounds.py:90 +msgid "Contact Disconnected" +msgstr "איש קשר מנותק" + +#: gajim/gtk/manage_sounds.py:91 +msgid "Message Sent" +msgstr "הודעה נשלחה" + +#: gajim/gtk/manage_sounds.py:92 +msgid "Group Chat Message Highlight" +msgstr "הודעת שיחת קבוצה מודגשת" + +#: gajim/gtk/manage_sounds.py:93 +msgid "Group Chat Message Received" +msgstr "הודעת שיחת קבוצה אשר התקבלה" + +#: gajim/gtk/groupchat_info.py:38 +#, fuzzy +msgid "?Group chat feature:Open" +msgstr "אין" + +# הצטרף +#: gajim/gtk/groupchat_info.py:39 +#, fuzzy +msgid "Anyone can join this group chat" +msgstr "%s נכנס/ה לשיחת קבוצה" + +#: gajim/gtk/groupchat_info.py:42 +#, fuzzy +msgid "?Group chat feature:Members Only" +msgstr "הבלטת שיחת קבוצה:" + +#: gajim/gtk/groupchat_info.py:43 +msgid "This group chat is restricted to members only" +msgstr "" + +#: gajim/gtk/groupchat_info.py:47 +#, fuzzy +msgid "?Group chat feature:Not Anonymous" +msgstr "שיחות קבוצה" + +#: gajim/gtk/groupchat_info.py:48 +msgid "All other group chat participants can see your XMPP address" +msgstr "" + +#: gajim/gtk/groupchat_info.py:52 +#, fuzzy +msgid "?Group chat feature:Semi-Anonymous" +msgstr "הבלטת שיחת קבוצה:" + +#: gajim/gtk/groupchat_info.py:53 +msgid "Only moderators can see your XMPP address" +msgstr "" + +#: gajim/gtk/groupchat_info.py:56 +#, fuzzy +msgid "?Group chat feature:Moderated" +msgstr "אין" + +#: gajim/gtk/groupchat_info.py:57 +msgid "" +"Participants entering this group chat need to request permission to send " +"messages" +msgstr "" + +#: gajim/gtk/groupchat_info.py:61 +#, fuzzy +msgid "?Group chat feature:Not Moderated" +msgstr "שיחות קבוצה" + +#: gajim/gtk/groupchat_info.py:62 +msgid "Participants entering this group chat are allowed to send messages" +msgstr "" + +#: gajim/gtk/groupchat_info.py:66 +#, fuzzy +msgid "?Group chat feature:Public" +msgstr "הבלטת שיחת קבוצה:" + +#: gajim/gtk/groupchat_info.py:67 +msgid "Group chat can be found via search" +msgstr "" + +#: gajim/gtk/groupchat_info.py:70 +#, fuzzy +msgid "?Group chat feature:Hidden" +msgstr "אין" + +# BUG: general title without "the" +#: gajim/gtk/groupchat_info.py:71 +#, fuzzy +msgid "This group chat can not be found via search" +msgstr "השירות לא היה יכול להימצא" + +#: gajim/gtk/groupchat_info.py:74 +#, fuzzy +msgid "?Group chat feature:Password Required" +msgstr "שיחות קבוצה" + +#: gajim/gtk/groupchat_info.py:75 +msgid "This group chat does require a password upon entry" +msgstr "" + +#: gajim/gtk/groupchat_info.py:79 +#, fuzzy +msgid "?Group chat feature:No Password Required" +msgstr "שיחות קבוצה" + +#: gajim/gtk/groupchat_info.py:80 +msgid "This group chat does not require a password upon entry" +msgstr "" + +#: gajim/gtk/groupchat_info.py:84 +#, fuzzy +msgid "?Group chat feature:Persistent" +msgstr "שיחות קבוצה" + +#: gajim/gtk/groupchat_info.py:85 +msgid "This group chat persists even if there are no participants" +msgstr "" + +#: gajim/gtk/groupchat_info.py:89 +#, fuzzy +msgid "?Group chat feature:Temporary" +msgstr "אין" + +#: gajim/gtk/groupchat_info.py:90 +msgid "This group chat will be destroyed once the last participant left" +msgstr "" + +#: gajim/gtk/groupchat_info.py:94 +#, fuzzy +msgid "?Group chat feature:Archiving" +msgstr "הזמנת שיחת קבוצה" + +#: gajim/gtk/groupchat_info.py:95 +#, fuzzy +msgid "Messages are archived on the server" +msgstr "סשן זה יושם בארכיון על שרת" + +#: gajim/gtk/groupchat_info.py:205 +msgid "Website" +msgstr "" + +#: gajim/gtk/accounts.py:122 +#, fuzzy +msgid "Re-Login" +msgstr "להתחבר מחדש עכשיו?" + +#: gajim/gtk/accounts.py:123 +#, fuzzy +msgid "Re-Login now?" +msgstr "להתחבר מחדש עכשיו?" + +#: gajim/gtk/accounts.py:124 +#, fuzzy +msgid "To apply all changes instantly, you have to re-login." +msgstr "אם ברצונך כי השינויים יחולו באופן מידי, עליך להתחבר מחדש." + +#: gajim/gtk/accounts.py:128 +msgid "_Re-Login" +msgstr "" + +#: gajim/gtk/accounts.py:311 gajim/data/gui/server_info.ui:386 +msgid "Connection" +msgstr "חיבור" + +#: gajim/gtk/accounts.py:496 +#, fuzzy +msgid "Please check if Bonjour is installed." +msgstr "אנא בדוק כי Avahi או Bonjour מותקן במערכת." + +#: gajim/gtk/accounts.py:498 +#, fuzzy +msgid "Please check if Avahi is installed." +msgstr "אנא בדוק כי Avahi או Bonjour מותקן במערכת." + +#: gajim/gtk/accounts.py:537 +#, fuzzy +msgid "Disable Account" +msgstr "חשבון שגוי" + +#: gajim/gtk/accounts.py:538 +#, fuzzy, python-format +msgid "Account %s is still connected" +msgstr "חשבון \"%s\" מחובר כעת לשרת" + +#: gajim/gtk/accounts.py:539 +#, fuzzy +msgid "All chat and group chat windows will be closed." +msgstr "כל חלונות שיחה וחלונות שיחת קבוצה ייסגרו. האם ברצונך להמשיך?" + +#: gajim/gtk/accounts.py:543 +#, fuzzy +msgid "_Disable Account" +msgstr "חשבון שגוי" + +#: gajim/gtk/accounts.py:614 +msgid "Label" +msgstr "" + +#: gajim/gtk/accounts.py:618 gajim/data/gui/groupchat_control.ui:99 +#: gajim/data/gui/chat_control.ui:363 +msgid "Color" +msgstr "צבע" + +#: gajim/gtk/accounts.py:620 +msgid "Recognize your account by color" +msgstr "" + +#: gajim/gtk/accounts.py:622 +msgid "Login" +msgstr "" + +#: gajim/gtk/accounts.py:627 +#, fuzzy +msgid "Import Contacts" +msgstr "הזמן _אנשי קשר" + +#: gajim/gtk/accounts.py:636 gajim/gtk/accounts.py:865 +#, fuzzy +msgid "Connect on startup" +msgstr "התחבר בעת ה_פעלת Gajim" + +#: gajim/gtk/accounts.py:640 gajim/gtk/accounts.py:870 +#, fuzzy +msgid "Save conversations for all contacts" +msgstr "שמור רשו_מות שיחה עבור כל איש קשר" + +#: gajim/gtk/accounts.py:642 gajim/gtk/accounts.py:872 +msgid "Store conversations on the harddrive" +msgstr "" + +#: gajim/gtk/accounts.py:644 gajim/gtk/accounts.py:874 +#, fuzzy +msgid "Global Status" +msgstr "מצב" + +#: gajim/gtk/accounts.py:646 +#, fuzzy +msgid "Synchronise the status of all accounts" +msgstr "cli" + +#: gajim/gtk/accounts.py:648 +msgid "Remember Last Status" +msgstr "" + +#: gajim/gtk/accounts.py:650 +msgid "Restore status and status message of your last session" +msgstr "" + +# BUG: _underline +#: gajim/gtk/accounts.py:653 +msgid "Use file transfer proxies" +msgstr "השתמש בצירי (proxy) העברת קובץ" + +#: gajim/gtk/accounts.py:670 +#, fuzzy +msgid "Forever" +msgstr "אף פעם" + +#: gajim/gtk/accounts.py:671 gajim/common/const.py:1110 +msgid "1 Day" +msgstr "" + +#: gajim/gtk/accounts.py:672 gajim/common/const.py:1112 +msgid "1 Week" +msgstr "" + +#: gajim/gtk/accounts.py:673 gajim/common/const.py:1113 +msgid "1 Month" +msgstr "" + +#: gajim/gtk/accounts.py:674 +msgid "3 Months" +msgstr "" + +#: gajim/gtk/accounts.py:675 +msgid "6 Months" +msgstr "" + +#: gajim/gtk/accounts.py:676 +msgid "1 Year" +msgstr "" + +# מצוי/ה בחוסר פעילות +#: gajim/gtk/accounts.py:686 +#, fuzzy +msgid "Idle Time" +msgstr "בחוסר פעילות מאז %s" + +#: gajim/gtk/accounts.py:688 +msgid "Disclose the time of your last activity" +msgstr "" + +#: gajim/gtk/accounts.py:690 +msgid "Local System Time" +msgstr "" + +#: gajim/gtk/accounts.py:692 +msgid "Disclose the local system time of the device Gajim runs on" +msgstr "" + +#: gajim/gtk/accounts.py:695 +#, fuzzy +msgid "Client / Operating System" +msgstr "תעודת לקוח" + +#: gajim/gtk/accounts.py:697 +#, fuzzy +msgid "" +"Disclose information about the client and operating system you currently use" +msgstr "התר ל־Gajim לשלוח מידע אודות מערכת ההפעלה אשר בשימושך." + +#: gajim/gtk/accounts.py:700 +#, fuzzy +msgid "Ignore Unknown Contacts" +msgstr "הזמן _אנשי קשר" + +#: gajim/gtk/accounts.py:702 +#, fuzzy +msgid "Ignore everything from contacts not in your Roster" +msgstr "הת_עלם מאירועים מאת אנשי קשר שלא ברשימה" + +#: gajim/gtk/accounts.py:705 +#, fuzzy +msgid "Send Message Receipts" +msgstr "התקבלה הודעת הקשב" + +#: gajim/gtk/accounts.py:707 +msgid "Tell your contacts if you received a message" +msgstr "" + +# BUG: Free for Chat +# BUG: x2 +#: gajim/gtk/accounts.py:713 +#, fuzzy +msgid "Default for chats" +msgstr "חופשי לשיחה" + +#: gajim/gtk/accounts.py:716 gajim/gtk/accounts.py:741 +msgid "Reset all chats to the current default value" +msgstr "" + +#: gajim/gtk/accounts.py:722 +#, fuzzy +msgid "Send Chatstate in Group Chats" +msgstr "אין אפשרות להצטרף לשיחת קבוצה" + +#: gajim/gtk/accounts.py:725 +#, fuzzy +msgid "Default for group chats" +msgstr "שיחת קבוצה חדשה" + +# הצטרף +#: gajim/gtk/accounts.py:739 +#, fuzzy +msgid "Default for chats and private group chats" +msgstr "%s נכנס/ה לשיחת קבוצה" + +# (שנפתחו) לאחרונה +# (חדרים/ערוצים) אחרונים +# (כתובות) אחרונות +#: gajim/gtk/accounts.py:747 +#, fuzzy +msgid "Keep Chat History" +msgstr "אחרונים:" + +#: gajim/gtk/accounts.py:751 +msgid "How long Gajim should keep your chat history" +msgstr "" + +#: gajim/gtk/accounts.py:787 gajim/data/gui/manage_proxies.ui:337 +#, fuzzy +msgid "Proxy" +msgstr "_פרוקסי:" + +#: gajim/gtk/accounts.py:794 gajim/gtk/accounts.py:949 +#: gajim/data/gui/server_info.ui:20 +#, fuzzy +msgid "Hostname" +msgstr "שם מ_ארח:" + +#: gajim/gtk/accounts.py:795 +msgid "Manually set the hostname for the server" +msgstr "" + +#: gajim/gtk/accounts.py:798 gajim/data/gui/vcard_information_window.ui:72 +#, fuzzy +msgid "Resource" +msgstr "משאב:" + +#: gajim/gtk/accounts.py:801 gajim/gtk/accounts.py:917 +#: gajim/gtk/accounts.py:925 +#, fuzzy +msgid "Priority" +msgstr "_עדיפות:" + +#: gajim/gtk/accounts.py:804 +#, fuzzy +msgid "Use Unencrypted Connection" +msgstr "חיבור לא מאובטח" + +#: gajim/gtk/accounts.py:806 gajim/common/config.py:273 +#, fuzzy +msgid "Use an unencrypted connection to the server" +msgstr "אינך מחובר לשרת" + +#: gajim/gtk/accounts.py:808 +#, fuzzy +msgid "Confirm Unencrypted Connection" +msgstr "חיבור לא מאובטח" + +#: gajim/gtk/accounts.py:811 +#, fuzzy +msgid "Show a confirmation dialog before connecting unencrypted" +msgstr "" +"האם עלינו להציג דו שיח וידוא חסימת איש קשר? המשמעות של מחרוזת ריקה תהיה " +"שאנחנו לא נציג את הדו שיח בכלל." + +#: gajim/gtk/accounts.py:835 gajim/data/gui/zeroconf_information_window.ui:8 +#: gajim/data/gui/vcard_information_window.ui:8 +#: gajim/data/gui/subscription_request_window.ui:164 +msgid "Contact Information" +msgstr "מידע איש קשר" + +#: gajim/gtk/accounts.py:837 +msgid "Request contact information (Mood, Activity, Tune, Location)" +msgstr "" + +#: gajim/gtk/accounts.py:840 +#, fuzzy +msgid "Accept all Contact Requests" +msgstr "בקשה לשיחה קולית" + +#: gajim/gtk/accounts.py:842 +msgid "Automatically accept all contact requests" +msgstr "" + +#: gajim/gtk/accounts.py:844 +#, fuzzy +msgid "Filetransfer Preference" +msgstr "שגיאת העברת קובץ" + +#: gajim/gtk/accounts.py:846 +#, fuzzy +msgid "Upload Files" +msgstr "שמור קובץ בשם..." + +#: gajim/gtk/accounts.py:847 +#, fuzzy +msgid "Send Files Directly" +msgstr "שמור קובץ בשם..." + +#: gajim/gtk/accounts.py:848 +msgid "Preferred file transfer mechanism for file drag&drop on a chat window" +msgstr "" + +#: gajim/gtk/accounts.py:867 +#, fuzzy +msgid "Use environment variable" +msgstr "השתמש במשת_ני סביבת HTTP__PROXY" + +#: gajim/gtk/accounts.py:876 +#, fuzzy +msgid "Synchronize the status of all accounts" +msgstr "cli" + +#: gajim/gtk/accounts.py:886 +#, fuzzy +msgid "First Name" +msgstr "שם פרטי:" + +#: gajim/gtk/accounts.py:889 +#, fuzzy +msgid "Last Name" +msgstr "שם משפחה:" + +#: gajim/gtk/accounts.py:895 gajim/gtk/profile.py:32 gajim/gtk/vcard_grid.py:39 +#, fuzzy +msgid "Email" +msgstr "דוא״ל חדש" + +#: gajim/gtk/accounts.py:913 +#, fuzzy +msgid "Adjust to status" +msgstr "_התאם למצב" + +#: gajim/gtk/accounts.py:945 +#, fuzzy +msgid "Enable" +msgstr "מאופשר" + +#: gajim/gtk/accounts.py:953 +#, fuzzy +msgid "Port" +msgstr "_פורט:" + +#: gajim/gtk/accounts.py:957 gajim/data/gui/server_info.ui:250 +msgid "Type" +msgstr "טיפוס" + +#: gajim/gtk/accounts.py:963 +#, fuzzy +msgid "Connection Settings" +msgstr "חיבור" + +#: gajim/gtk/accounts.py:971 +#, fuzzy +msgid "Client Certificate" +msgstr "תעודת לקוח" + +#: gajim/gtk/accounts.py:973 +msgid "PKCS12 Files" +msgstr "קבצי PKCS12" + +#: gajim/gtk/accounts.py:975 +#, fuzzy +msgid "Encrypted Certificate" +msgstr "תעודת לקוח" + +#: gajim/gtk/accounts.py:979 +#, fuzzy +msgid "Certificate Settings" +msgstr "התראות" + +#: gajim/gtk/accounts.py:987 gajim/data/gui/account_wizard.ui:255 +#: gajim/data/gui/bookmarks.ui:102 +#, fuzzy +msgid "Password" +msgstr "סיסמה:" + +#: gajim/gtk/accounts.py:991 +#, fuzzy +msgid "Save Password" +msgstr "שמור סיסמה" + +#: gajim/gtk/accounts.py:999 +#, fuzzy +msgid "Login Settings" +msgstr "תוספים" + +#: gajim/gtk/groupchat_config.py:39 +#, fuzzy +msgid "Group Chat Configuration" +msgstr "הזמנת שיחת קבוצה" + +#: gajim/gtk/groupchat_config.py:104 gajim/common/helpers.py:283 +#: gajim/data/gui/groupchat_config.ui:40 +msgid "Member" +msgstr "חבר" + +#: gajim/gtk/groupchat_config.py:133 +#, fuzzy +msgid "A Group Chat needs at least one Owner" +msgstr "אין" + +#: gajim/gtk/groupchat_config.py:241 +msgid "You are not allowed to modify the affiliation of Admins and Owners" +msgstr "" + +#: gajim/gtk/groupchat_config.py:400 +msgid "An entry with this XMPP Address already exists" +msgstr "" + +#: gajim/gtk/server_info.py:142 gajim/data/gui/vcard_information_window.ui:89 +#: gajim/data/gui/preferences.ui:359 +msgid "Status" +msgstr "מצב" + +#: gajim/gtk/server_info.py:143 +msgid "Support" +msgstr "" + +#: gajim/gtk/server_info.py:144 +msgid "Security" +msgstr "" + +#: gajim/gtk/server_info.py:145 +msgid "Feedback" +msgstr "" + +#: gajim/gtk/server_info.py:146 +msgid "Abuse" +msgstr "" + +#: gajim/gtk/server_info.py:147 +msgid "Sales" +msgstr "" + +#: gajim/gtk/server_info.py:231 +#, python-format +msgid "%(days)s days, %(hours)s hours" +msgstr "" + +#: gajim/gtk/server_info.py:239 gajim/gtk/vcard_grid.py:115 +#: gajim/common/helpers.py:224 +#, fuzzy +msgid "Unknown" +msgstr "לא ידועה" + +#: gajim/gtk/server_info.py:360 +#, fuzzy +msgid "" +"\n" +"Disabled in preferences" +msgstr "ערוך העדפות _ארכיונאות" + +#: gajim/gtk/history.py:79 +msgid "Conversation History" +msgstr "היסטוריית שיחה" + +#: gajim/gtk/history.py:411 gajim/gtk/history.py:465 +msgid "Disk Error" +msgstr "שגיאת כונן" + +# Fix Psi status with brackets in Psi with LTR at its end - see realisation below +# ‏Auto Status (idle) +# ‏Auto Status (idle)‎ +#: gajim/gtk/history.py:576 +#, python-format +msgid "%(nick)s is now %(status)s: %(status_msg)s" +msgstr "%(nick)s מצוי/ה כעת במצב %(status)s: %(status_msg)s" + +#: gajim/gtk/history.py:581 gajim/common/connection_handlers_events.py:414 +#, python-format +msgid "%(nick)s is now %(status)s" +msgstr "%(nick)s מצוי/ה כעת במצב %(status)s " + +#: gajim/gtk/history.py:589 +#, python-format +msgid "Error: %s" +msgstr "שגיאה: %s" + +#: gajim/gtk/history.py:593 +#, python-format +msgid "Status is now: %(status)s: %(status_msg)s" +msgstr "מצב נוכחי: %(status)s: %(status_msg)s" + +#: gajim/gtk/history.py:597 +#, python-format +msgid "Status is now: %(status)s" +msgstr "מצב נוכחי: %(status)s" + +#: gajim/gtk/about.py:51 +#, fuzzy +msgid "A GTK XMPP client" +msgstr "לקוח Jabber/XMPP מבוסס GTK+‎" + +#: gajim/gtk/about.py:52 +#, fuzzy, python-format +msgid "GTK Version: %s" +msgstr "גרסא:" + +#: gajim/gtk/about.py:53 +#, fuzzy, python-format +msgid "GLib Version: %s" +msgstr "גרסא:" + +#: gajim/gtk/about.py:54 +#, fuzzy, python-format +msgid "PyGObject Version: %s" +msgstr "גרסא:" + +#: gajim/gtk/about.py:55 +#, python-format +msgid "python-nbxmpp Version: %s" +msgstr "" + +#: gajim/gtk/about.py:59 +#, fuzzy +msgid "Current Developers" +msgstr "‎מפתחים נוכחיים:" + +#: gajim/gtk/about.py:60 +#, fuzzy +msgid "Past Developers" +msgstr "‎מפתחים מן העבר:" + +#: gajim/gtk/about.py:61 +msgid "Artists" +msgstr "" + +#: gajim/gtk/about.py:65 +msgid "Last but not least" +msgstr "" + +#: gajim/gtk/about.py:66 +#, fuzzy +msgid "we would like to thank all the package maintainers." +msgstr "‎.ואחרון אחרון חביב, ברצוננו להודות לכל מתחזקי החבילות" + +# מביע הערכה, מביע תודה +#: gajim/gtk/about.py:67 +#, fuzzy +msgid "Thanks" +msgstr "אסיר תודה" + +#: gajim/gtk/about.py:69 +msgid "translator-credits" +msgstr "" +"Lead Translator:\n" +" Darlan (xmpp:israeli AT failar.nu)\n" +"\n" +"Instructors:\n" +" Eli Zaretskii (eliz AT gnu.org)\n" +" Rodensky (https://atheisms.wordpress.com)\n" +"\n" +"Rahut Contributors:\n" +" Isratine Citizen (genghiskhan AT gmx.ca)" + +#: gajim/gtk/search.py:95 gajim/gtk/search.py:191 +msgid "Search" +msgstr "חיפוש" + +#: gajim/gtk/search.py:101 +#, fuzzy +msgid "New Search" +msgstr "חיפוש" + +#: gajim/gtk/search.py:176 +msgid "Request Search Form" +msgstr "" + +#: gajim/gtk/search.py:236 +#, fuzzy +msgid "Search…" +msgstr "חיפוש" + +#: gajim/gtk/search.py:243 +#, fuzzy +msgid "Search Result" +msgstr "חיפוש" + +#: gajim/gtk/search.py:250 +#, fuzzy +msgid "No results found" +msgstr "אין תנובה" + +#: gajim/gtk/features.py:40 gajim/data/gui/server_info.ui:447 +msgid "Features" +msgstr "תכונות" + +#: gajim/gtk/features.py:90 +msgid "Audio / Video" +msgstr "קול / וידאו" + +#: gajim/gtk/features.py:92 +#, fuzzy +msgid "Enables Gajim to provide Audio and Video chats" +msgstr "יכולת לערוך שיחות קוליות וחזותיות." + +#: gajim/gtk/features.py:93 +msgid "" +"Requires: gir1.2-farstream-0.2, gir1.2-gstreamer-1.0, gstreamer1.0-libav, " +"gstreamer1.0-plugins-ugly" +msgstr "" + +#: gajim/gtk/features.py:95 gajim/gtk/features.py:145 +#, fuzzy +msgid "Feature not available under Windows" +msgstr "תכונה זו לא זמינה תחת Windows." + +#: gajim/gtk/features.py:97 +#, fuzzy +msgid "Automatic Status" +msgstr "מצב אוטומטי" + +# על מנת להגדיר +#: gajim/gtk/features.py:99 +#, fuzzy +msgid "" +"Enables Gajim to measure your computer's idle time in order to set your " +"Status automatically" +msgstr "" +"יכולת למדוד את הזמן אשר בו המערכת מצויה בחוסר פעילות, בכדי לקבוע מצב חיבור " +"אוטומטי." + +#: gajim/gtk/features.py:101 +#, fuzzy +msgid "Requires: libxss" +msgstr "יש צורך בהתקנת ספריית libxss." + +#: gajim/gtk/features.py:102 gajim/gtk/features.py:123 +msgid "No additional requirements" +msgstr "" + +#: gajim/gtk/features.py:104 +msgid "Bonjour / Zeroconf (Serverless Chat)" +msgstr "" + +#: gajim/gtk/features.py:106 +#, fuzzy +msgid "" +"Enables Gajim to automatically detected clients in a local network for " +"serverless chats" +msgstr "" +"עריכת שיחות ברשת התקשורת המקומית, ללא שרת כלל, באמצעות איתור אוטומטי של " +"לקוחות אחרים אשר מחוברים לאותה רשת." + +#: gajim/gtk/features.py:108 +#, fuzzy +msgid "Requires: gir1.2-avahi-0.6" +msgstr "יש צורך בהתקנת python-gupnp-igd." + +#: gajim/gtk/features.py:109 +#, fuzzy, python-format +msgid "Requires: pybonjour and bonjour SDK running (%(url)s)" +msgstr "" +"יש צורך בהתקנת ובהרצת pybonjour וגם bonjour SDK ‏(https://developer.apple.com/" +"opensource)." + +#: gajim/gtk/features.py:112 +#, fuzzy +msgid "Location detection" +msgstr "חיבור" + +#: gajim/gtk/features.py:114 +msgid "" +"Enables Gajim to be location-aware, if the user decides to publish the " +"device’s location" +msgstr "" + +#: gajim/gtk/features.py:116 +#, fuzzy +msgid "Requires: geoclue" +msgstr "יש צורך בהתקנת libgtkspell." + +#: gajim/gtk/features.py:117 +#, fuzzy +msgid "Feature is not available under Windows" +msgstr "תכונה זו לא זמינה תחת Windows." + +#: gajim/gtk/features.py:119 +#, fuzzy +msgid "Notification Sounds" +msgstr "התראות" + +#: gajim/gtk/features.py:121 +#, fuzzy +msgid "Enables Gajim to play sounds for various notifications" +msgstr "יכולת לערוך שיחות קוליות וחזותיות." + +#: gajim/gtk/features.py:122 +#, fuzzy +msgid "Requires: gsound" +msgstr "יש צורך בהתקנת python-dbus." + +#: gajim/gtk/features.py:125 +#, fuzzy +msgid "Secure Password Storage" +msgstr "שמור סיסמה" + +#: gajim/gtk/features.py:127 +#, fuzzy +msgid "" +"Enables Gajim to store Passwords securely instead of storing them in " +"plaintext" +msgstr "" +"סיסמאות יכולות להיות מאוחסנות בשיטה מאובטחת ולא רק בתור טקסט-גלוי " +"(plaintext)." + +#: gajim/gtk/features.py:129 +#, fuzzy +msgid "Requires: gnome-keyring or kwallet" +msgstr "יש צורך בהתקנת gnome-keyring וגם python-gnome2-desktop, או kwalletcli." + +#: gajim/gtk/features.py:130 +msgid "Windows Credential Vault is used for secure password storage" +msgstr "" + +#: gajim/gtk/features.py:133 +msgid "Spell Checker" +msgstr "בדיקת איות" + +#: gajim/gtk/features.py:135 +msgid "Enables Gajim to spell check your messages while composing" +msgstr "" + +#: gajim/gtk/features.py:137 gajim/gtk/features.py:138 +#, fuzzy +msgid "Requires: Gspell" +msgstr "יש צורך בהתקנת libgtkspell." + +#: gajim/gtk/features.py:140 +msgid "UPnP-IGD Port Forwarding" +msgstr "" + +# העברת שערים +#: gajim/gtk/features.py:142 +#, fuzzy +msgid "" +"Enables Gajim to request your router to forward ports for file transfers" +msgstr "" +"יכולת לבקש מנתב הרשת שלך (ראוטר) לעשות שימוש בתיעול שערים (Port forwarding) " +"לשם העברת קובץ." + +#: gajim/gtk/features.py:144 +#, fuzzy +msgid "Requires: gir1.2-gupnpigd-1.0" +msgstr "יש צורך בהתקנת python-gupnp-igd." + +#: gajim/gtk/features.py:200 +#, fuzzy +msgid "Disabled in Preferences" +msgstr "ערוך העדפות _ארכיונאות" + +#: gajim/gtk/dialogs.py:55 gajim/gtk/filechoosers.py:179 +#: gajim/data/gui/groupchat_control.ui:674 +#: gajim/data/gui/groupchat_control.ui:766 +#: gajim/data/gui/groupchat_control.ui:882 +#: gajim/data/gui/groupchat_control.ui:974 +#: gajim/data/gui/groupchat_control.ui:1419 +#: gajim/data/gui/groupchat_control.ui:1545 +#: gajim/data/gui/groupchat_control.ui:1671 +#: gajim/data/gui/groupchat_control.ui:1842 +#: gajim/data/gui/groupchat_control.ui:1920 gajim/data/gui/filetransfers.ui:30 +#: gajim/data/gui/add_new_contact_window.ui:451 +#: gajim/data/gui/filetransfer_progress.ui:172 gajim/data/gui/profile.ui:260 +#: gajim/data/gui/passphrase_dialog.ui:29 +msgid "_Cancel" +msgstr "_ביטול" + +#: gajim/gtk/dialogs.py:65 gajim/data/gui/history_manager.ui:20 +#, fuzzy +msgid "_Delete" +msgstr "מחק" + +#: gajim/gtk/dialogs.py:216 +#, fuzzy +msgid "Certificate" +msgstr "תעודת לקוח" + +#: gajim/gtk/dialogs.py:230 +#, fuzzy, python-format +msgid "" +"Certificate for \n" +"%s" +msgstr "תעודה עבור חשבון ‫%s" + +#: gajim/gtk/dialogs.py:279 +msgid "Issued to\n" +msgstr "" + +#: gajim/gtk/dialogs.py:280 gajim/gtk/dialogs.py:285 +msgid "Common Name (CN): " +msgstr "" + +#: gajim/gtk/dialogs.py:281 gajim/gtk/dialogs.py:286 +msgid "Organization (O): " +msgstr "" + +#: gajim/gtk/dialogs.py:282 gajim/gtk/dialogs.py:287 +msgid "Organizational Unit (OU): " +msgstr "" + +#: gajim/gtk/dialogs.py:283 +#, fuzzy +msgid "Serial Number: " +msgstr "מספר GG:" + +#: gajim/gtk/dialogs.py:284 +msgid "Issued by\n" +msgstr "" + +#: gajim/gtk/dialogs.py:288 +msgid "Validity\n" +msgstr "" + +#: gajim/gtk/dialogs.py:289 +msgid "Issued on: " +msgstr "" + +#: gajim/gtk/dialogs.py:290 +#, fuzzy +msgid "Expires on: " +msgstr "פוקעת" + +#: gajim/gtk/dialogs.py:291 +msgid "SHA-1:" +msgstr "" + +#: gajim/gtk/dialogs.py:293 +msgid "SHA-256:" +msgstr "" + +#: gajim/gtk/util.py:591 +msgid "Unknown Artist" +msgstr "אמן לא ידוע" + +#: gajim/gtk/util.py:592 +msgid "Unknown Title" +msgstr "כותרת לא ידועה" + +#: gajim/gtk/util.py:593 +msgid "Unknown Source" +msgstr "מקור לא ידוע" + +#: gajim/gtk/util.py:595 +#, python-format +msgid "" +"\"%(title)s\" by %(artist)s\n" +"from %(source)s" +msgstr "" +"‏\"%(title)s\" מאת %(artist)s\n" +"מתוך %(source)s" + +#: gajim/gtk/profile.py:28 gajim/gtk/vcard_grid.py:33 +#: gajim/data/gui/vcard_information_window.ui:411 +#, fuzzy +msgid "Full Name" +msgstr "שם מלא" + +#: gajim/gtk/profile.py:29 gajim/gtk/vcard_grid.py:35 +#: gajim/data/gui/vcard_information_window.ui:770 +#, fuzzy +msgid "Birthday" +msgstr "יום הולדת:" + +#: gajim/gtk/profile.py:30 gajim/gtk/vcard_grid.py:36 +#, fuzzy +msgid "Gender" +msgstr "ממען: " + +#: gajim/gtk/profile.py:31 gajim/data/gui/groupchat_info_scrolled.ui:16 +#, fuzzy +msgid "Address" +msgstr "_כתובת:" + +#: gajim/gtk/profile.py:34 gajim/gtk/vcard_grid.py:38 +#: gajim/data/gui/vcard_information_window.ui:720 +#: gajim/data/gui/vcard_information_window.ui:1396 +#, fuzzy +msgid "Phone No." +msgstr "טלפון" + +#: gajim/gtk/profile.py:35 +msgid "?profile:Organisation" +msgstr "" + +#: gajim/gtk/profile.py:36 gajim/gtk/vcard_grid.py:41 +msgid "?profile:Title" +msgstr "" + +#: gajim/gtk/profile.py:37 gajim/gtk/vcard_grid.py:42 +#, fuzzy +msgid "?profile:Role" +msgstr "cli" + +#: gajim/gtk/profile.py:38 gajim/gtk/vcard_grid.py:45 +#, fuzzy +msgid "URL" +msgstr "‏URL:" + +#: gajim/gtk/profile.py:39 gajim/gtk/vcard_grid.py:46 +#, fuzzy +msgid "?profile:Key" +msgstr "cli" + +#: gajim/gtk/profile.py:299 gajim/gtk/profile.py:301 +#: gajim/data/gui/profile.ui:98 gajim/data/gui/profile.ui:110 +msgid "Everyone" +msgstr "" + +#: gajim/gtk/profile.py:299 gajim/gtk/profile.py:301 +#: gajim/data/gui/shortcuts_window.ui:108 gajim/data/gui/groupchat_invite.ui:83 +#, fuzzy +msgid "Contacts" +msgstr "איש קשר" + +#: gajim/gtk/filechoosers.py:88 +#, fuzzy +msgid "Choose File to Send…" +msgstr "בחירת קובץ לשליחה..." + +#: gajim/gtk/filechoosers.py:94 +#, fuzzy +msgid "Choose Avatar…" +msgstr "בחירת ארכיון" + +#: gajim/gtk/filechoosers.py:98 +#, fuzzy +msgid "PNG files" +msgstr "כל הקבצים" + +#: gajim/gtk/filechoosers.py:99 +#, fuzzy +msgid "JPEG files" +msgstr "כל הקבצים" + +#: gajim/gtk/filechoosers.py:100 +#, fuzzy +msgid "SVG files" +msgstr "שליחת קבצים" + +#: gajim/gtk/filechoosers.py:102 +msgid "Images" +msgstr "תמונות" + +#: gajim/gtk/filechoosers.py:139 +msgid "Choose Archive" +msgstr "בחירת ארכיון" + +#: gajim/gtk/filechoosers.py:141 +#, fuzzy +msgid "ZIP files" +msgstr "קבצי Zip" + +#: gajim/gtk/filechoosers.py:146 +#, fuzzy +msgid "Save File as…" +msgstr "שמור קובץ בשם..." + +#: gajim/gtk/filechoosers.py:180 +#, fuzzy +msgid "_Open" +msgstr "‏OpenPGP: " + +#: gajim/gtk/blocking.py:38 +#, fuzzy, python-format +msgid "Blocking List for %s" +msgstr "רשימת פרטיות עבור ‫%s" + +#: gajim/gtk/blocking.py:64 +#, fuzzy +msgid "Error!" +msgstr "שגיאה" + +#: gajim/gtk/service_registration.py:143 gajim/gtk/service_registration.py:157 +#: gajim/gtk/service_registration.py:164 +#, fuzzy +msgid "Register" +msgstr "_רישום" + +#: gajim/gtk/service_registration.py:193 gajim/gtk/service_registration.py:205 +#, fuzzy +msgid "Registration successful" +msgstr "רישום בוצע בהצלחה" + +#: gajim/gtk/service_registration.py:216 +msgid "Registration failed" +msgstr "רישום נכשל" + +#: gajim/gtk/vcard_grid.py:37 +#, fuzzy +msgid "?profile:Address" +msgstr "_כתובת:" + +#: gajim/gtk/vcard_grid.py:40 +#, fuzzy +msgid "IM Address" +msgstr "_כתובת:" + +#: gajim/gtk/vcard_grid.py:43 +#, fuzzy +msgid "Organisation" +msgstr "בחופשה" + +#: gajim/gtk/vcard_grid.py:44 +#, fuzzy +msgid "?profile:Note" +msgstr "cli" + +#: gajim/gtk/vcard_grid.py:51 +msgid "Your public key or authentication certificate" +msgstr "" + +#: gajim/gtk/vcard_grid.py:59 +msgid "Post Office Box" +msgstr "" + +#: gajim/gtk/vcard_grid.py:60 gajim/data/gui/vcard_information_window.ui:489 +#: gajim/data/gui/vcard_information_window.ui:1179 +#, fuzzy +msgid "Street" +msgstr "רחוב" + +#: gajim/gtk/vcard_grid.py:61 +#, fuzzy +msgid "Extended Address" +msgstr "כתובת נוספת:" + +#: gajim/gtk/vcard_grid.py:62 gajim/data/gui/vcard_information_window.ui:505 +#: gajim/data/gui/vcard_information_window.ui:1195 +msgid "City" +msgstr "" + +#: gajim/gtk/vcard_grid.py:63 gajim/data/gui/vcard_information_window.ui:521 +#: gajim/data/gui/vcard_information_window.ui:1211 +#, fuzzy +msgid "State" +msgstr "מצב" + +#: gajim/gtk/vcard_grid.py:64 gajim/data/gui/vcard_information_window.ui:595 +#: gajim/data/gui/vcard_information_window.ui:1244 +#, fuzzy +msgid "Postal Code" +msgstr "מיקוד דואר" + +#: gajim/gtk/vcard_grid.py:65 gajim/data/gui/vcard_information_window.ui:611 +#: gajim/data/gui/vcard_information_window.ui:1260 +#, fuzzy +msgid "Country" +msgstr "ארץ" + +#: gajim/gtk/vcard_grid.py:111 +msgid "Male" +msgstr "" + +#: gajim/gtk/vcard_grid.py:112 +msgid "Female" +msgstr "" + +#: gajim/gtk/vcard_grid.py:113 +msgid "?Gender:Other" +msgstr "" + +#: gajim/gtk/vcard_grid.py:114 +#, fuzzy +msgid "?Gender:None" +msgstr "ממען: " + +#: gajim/gtk/vcard_grid.py:121 gajim/gtk/vcard_grid.py:428 +#, fuzzy +msgid "Home" +msgstr "עמוד בית:" + +#: gajim/gtk/vcard_grid.py:122 gajim/gtk/vcard_grid.py:429 +#: gajim/data/gui/vcard_information_window.ui:1452 +msgid "Work" +msgstr "עבודה" + +#: gajim/gtk/vcard_grid.py:598 +#, fuzzy +msgid "YYYY-MM-DD" +msgstr "תבנית: YYYY-MM-DD" + +#: gajim/gtk/adhoc.py:91 +#, fuzzy +msgid "Finish" +msgstr "_סיים" + +#: gajim/gtk/adhoc.py:96 gajim/gtk/adhoc.py:283 +#, fuzzy +msgid "Commands" +msgstr "cli" + +#: gajim/gtk/adhoc.py:107 +#, fuzzy +msgid "Previous" +msgstr "מקנא" + +#: gajim/gtk/adhoc.py:112 +#, fuzzy +msgid "Execute" +msgstr "הרץ _פקודה" + +#: gajim/gtk/adhoc.py:196 +#, fuzzy +msgid "No commands available" +msgstr "אין חשבון זמין" + +#: gajim/gtk/adhoc.py:244 +#, fuzzy +msgid "Request Command List" +msgstr "הרץ _פקודה" + +#: gajim/gtk/adhoc.py:259 +#, fuzzy +msgid "Executing…" +msgstr "הרץ _פקודה" + +#: gajim/gtk/adhoc.py:266 +#, fuzzy +msgid "Command List" +msgstr "רשימת אסירה" + +#: gajim/gtk/adhoc.py:321 gajim/data/gui/manage_proxies.ui:255 +#, fuzzy +msgid "Settings" +msgstr "קיצורי מקש" + +#: gajim/gtk/adhoc.py:386 +#, fuzzy +msgid "Finished" +msgstr "_סיים" + +#: gajim/gtk/adhoc.py:455 +#, fuzzy +msgid "Execution failed" +msgstr "התחברות נכשלה" + +# Needs to be tested +#: gajim/common/jingle_rtp.py:133 +#, python-format +msgid "%s configuration error" +msgstr "שגיאת תצורת %s" + +# ההתקנה +# הצינור (Pipeline) היה +# השגיאה היתה +#: gajim/common/jingle_rtp.py:134 +#, fuzzy, python-format +msgid "" +"Couldn’t set up %(text)s. Check your configuration.\n" +"Pipeline:\n" +"%(pipeline)s\n" +"Error:\n" +"%(error)s" +msgstr "" +"לא היתה אפשרות להגדיר %s. בדוק את הגדרת התצורה שלך.\n" +"\n" +"Pipeline was:\n" +"%s\n" +"\n" +"Error was:\n" +"%s" + +#: gajim/common/jingle_rtp.py:416 +msgid "audio input" +msgstr "קלט שמע" + +#: gajim/common/jingle_rtp.py:421 +msgid "audio output" +msgstr "פלט שמע" + +#: gajim/common/jingle_rtp.py:489 +msgid "video input" +msgstr "קלט וידאו" + +# יושן +#: gajim/common/setting_values.py:300 gajim/common/config.py:356 +#: gajim/common/const.py:387 +msgid "Sleeping" +msgstr "ישן" + +#: gajim/common/setting_values.py:301 +msgid "ZZZZzzzzzZZZZZ" +msgstr "" + +#: gajim/common/setting_values.py:306 gajim/common/config.py:357 +msgid "Back soon" +msgstr "אשוב בקרוב" + +#: gajim/common/setting_values.py:307 gajim/common/config.py:357 +msgid "Back in some minutes." +msgstr "אני אחזור בעוד כמה דקות." + +#: gajim/common/setting_values.py:309 gajim/common/config.py:358 +#: gajim/common/const.py:353 +msgid "Eating" +msgstr "אוכל" + +#: gajim/common/setting_values.py:310 +#, fuzzy +msgid "I’m eating." +msgstr "אני בעבודה." + +#: gajim/common/setting_values.py:314 gajim/common/config.py:359 +msgid "Movie" +msgstr "סרט" + +#: gajim/common/setting_values.py:315 +#, fuzzy +msgid "I’m watching a movie." +msgstr "אני צופה בסרט." + +#: gajim/common/setting_values.py:319 gajim/common/config.py:360 +#: gajim/common/const.py:420 +msgid "Working" +msgstr "עובד" + +#: gajim/common/setting_values.py:320 +#, fuzzy +msgid "I’m working." +msgstr "אני בעבודה." + +#: gajim/common/setting_values.py:324 gajim/common/config.py:362 +msgid "Out" +msgstr "בחוץ" + +#: gajim/common/setting_values.py:325 +#, fuzzy +msgid "I’m out enjoying life." +msgstr "יצאתי החוצה ליהנות מן החיים." + +#: gajim/common/setting_values.py:393 gajim/common/config.py:84 +#, fuzzy +msgid "" +"Allow to hide the contact list window even if the notification area icon is " +"not shown." +msgstr "אפשר הסתרת הרשימה אפילו כאשר סמל מגש איננו מוצג." + +#: gajim/common/setting_values.py:394 gajim/common/config.py:95 +msgid "" +"'always' - print time for every message.\n" +"'sometimes' - print time every print_ichat_every_foo_minutes minute.\n" +"'never' - never print time." +msgstr "" +"‏'always' - הדפסת זמן עבור כל הודעה.\n" +"‏'sometimes' - הדפסת זמן כל print_ichat_every_foo_minutes דקות.\n" +"‏'never' - לא להדפיס זמן בכלל." + +#: gajim/common/setting_values.py:395 gajim/common/config.py:99 +msgid "Treat * / _ pairs as possible formatting characters." +msgstr "התייחסות לצמדים של * / _ בתור תווי עיצוב אפשריים." + +#: gajim/common/setting_values.py:396 gajim/common/config.py:100 +#, fuzzy +msgid "" +"If enabled, do not remove */_ . So *abc* will be bold but with * * not " +"removed." +msgstr "" +"כאשר מופעלת, אל תסיר */_ . כך שמחרוזת כגון *אבג* תהיה מובלטת כאשר * * לא " +"מוסרים." + +#: gajim/common/setting_values.py:397 gajim/common/config.py:103 +#, fuzzy +msgid "" +"Character to add after nickname when using nickname completion (tab) in " +"group chat." +msgstr "" +"תו להוספה לאחר שם כינוי כאשר משתמשים בהשלמת כינוי (tab) בתוך שיחת קבוצה." + +#: gajim/common/setting_values.py:398 gajim/common/config.py:125 +#, fuzzy +msgid "" +"If enabled, Gajim will save the contact list window position when hiding it, " +"and restore it when showing the contact list window again." +msgstr "" +"כאשר מופעלת, Gajim ישמור את מיקום הרשימה כאשר הרשימה מוסתרת, וישחזרה כאשר " +"הרשימה מוצגת." + +#: gajim/common/setting_values.py:399 gajim/common/config.py:131 +msgid "Place the contact list on the right in single window mode" +msgstr "" + +# ראה +#: gajim/common/setting_values.py:400 gajim/common/config.py:137 +#, fuzzy +msgid "" +"This option lets you customize the timestamp that is printed in " +"conversation. For example '[%H:%M] ' will show '[hour:minute] '. See python " +"doc on strftime for full documentation (https://docs.python.org/3/library/" +"time.html#time.strftime)." +msgstr "" +"אפשרות זו מאפשרת לך להתאים את חותמת הזמן המודפסת בתוך דיון. למשל \"[%H:%M] " +"\" תציג \"[שעה:דקה] \". לרשותך קיים מסמך Python אודות strftime לשם תיעוד מלא " +"בכתובת: http://docs.python.org/lib/module-time.html" + +#: gajim/common/setting_values.py:401 gajim/common/config.py:138 +#, fuzzy +msgid "Characters that are printed before the nickname in conversations." +msgstr "תווים אשר מודפסים לפני שם כינוי בתוך דיונים" + +#: gajim/common/setting_values.py:402 gajim/common/config.py:139 +#, fuzzy +msgid "Characters that are printed after the nickname in conversations." +msgstr "תווים אשר מודפסים אחרי שם כינוי בתוך דיונים" + +# BUG: a dot at the end +#: gajim/common/setting_values.py:403 gajim/common/config.py:140 +#, fuzzy +msgid "If enabled, Gajim will add * and [n] in contact list window title." +msgstr "כאשר מסומן, Gajim יציג את מצבי הרוח של אנשי קשר בחלון הרשימה" + +# נפתחת שוב +#: gajim/common/setting_values.py:404 gajim/common/config.py:141 +#, fuzzy +msgid "" +"Number of messages from chat history to be restored when a chat tab/window " +"is reopened." +msgstr "כמה שורות לזכור מתוך דיון קודם כאשר חלון/כרטיסייה שיחה נפתחים מחדש?" + +#: gajim/common/setting_values.py:405 gajim/common/config.py:142 +msgid "" +"How far back in time (minutes) chat history is restored. -1 means no limit." +msgstr "" + +#: gajim/common/setting_values.py:406 gajim/common/config.py:143 +#, fuzzy +msgid "Send message on Ctrl+Enter and make a new line with Enter." +msgstr "" +"מסירת הודעה בלחיצת Ctrl+Enter ויצירת שורה חדשה באמצעות המקש Enter (התנהגות " +"שגרתית של Mirabilis לקוח ICQ)." + +# Ctrl+מעלה +#: gajim/common/setting_values.py:407 gajim/common/config.py:145 +#, fuzzy +msgid "How many lines to store for Ctrl+KeyUP (previously sent messages)." +msgstr "כמה שורות לאחסן עבור Ctrl+KeyUP." + +#: gajim/common/setting_values.py:409 gajim/common/config.py:148 +#, fuzzy, python-format +msgid "" +"Either a custom URL with %%s in it (where %%s is the word/phrase) or " +"'WIKTIONARY' (which means use Wikitionary)." +msgstr "" +"או כתובת url מותאמת עם %s בתוכה כאשר הסימן %s הינו המילה/הצירוף או " +"'WIKTIONARY' אשר משמעותו היא להשתמש בויקימילון." + +#: gajim/common/setting_values.py:412 gajim/common/config.py:151 +msgid "If checked, Gajim can be controlled remotely using gajim-remote." +msgstr "כאשר מסומן, Gajim יכול לפעול באופן מרוחק באמצעות gajim-remote." + +#: gajim/common/setting_values.py:413 +#, fuzzy +msgid "" +"When not printing time for every message ('print_time'==sometimes, print it " +"every x minutes." +msgstr "" +"כאשר זמן לא מודפס עבור כל הודעה (print_time==sometimes), הזמן יודפס כל x " +"דקות." + +#: gajim/common/setting_values.py:414 gajim/common/config.py:153 +msgid "Ask before pasting an image." +msgstr "" + +#: gajim/common/setting_values.py:415 gajim/common/config.py:154 +msgid "Ask before closing a group chat tab/window." +msgstr "שאל בטרם סגירת חלון/כרטיסייה של שיחת קבוצה." + +#: gajim/common/setting_values.py:416 gajim/common/config.py:155 +#, fuzzy +msgid "" +"Ask before closing tabbed chat window if there are chats that can lose data " +"(chat, private chat, group chat that will not be minimized)." +msgstr "" +"שאל בטרם סגירת חלון שיחה בעל סימניות כאשר ישנם בקרים אשר עלולים לאבד מידע " +"(שיחה, שיחה פרטית, שיחת קבוצה אשר לא תמוזער)" + +# תרגום כתובת/תיעול שערים +#: gajim/common/setting_values.py:418 gajim/common/config.py:158 +#, fuzzy +msgid "" +"List of send hosts (comma separated) in addition to local interfaces for " +"file transfers (in case of address translation/port forwarding)." +msgstr "" +"רשימה אשר מופרדת על ידי פסיק, של מארחים אותם אנו שולחים, בנוסף לממשק מקומי, " +"לשם העברת קובץ במקרה של address translation/port forwarding." + +# לפי תקן IEC +#: gajim/common/setting_values.py:419 gajim/common/config.py:159 +msgid "IEC standard says KiB = 1024 bytes, KB = 1000 bytes." +msgstr "תקן IEC אומר KiB‏ = 1024 ביתים, KB‏ = 1000 ביתים." + +#: gajim/common/setting_values.py:421 gajim/common/config.py:161 +msgid "Notify of events in the notification area." +msgstr "הודע על אירועים באזור ההתראה." + +#: gajim/common/setting_values.py:422 gajim/common/config.py:166 +msgid "Show tab when only one conversation?" +msgstr "האם להציג כרטיסייה כאשר ישנו רק דיון אחד?" + +# help translate +#: gajim/common/setting_values.py:423 gajim/common/config.py:167 +msgid "Show tabbed notebook border in chat windows?" +msgstr "להציג מסגרת פנקס מתויג בתוך חלונות שיחה?" + +#: gajim/common/setting_values.py:424 gajim/common/config.py:168 +msgid "Show close button in tab?" +msgstr "האם להציג לחצן סגירה בתוך כרטיסייה?" + +#: gajim/common/setting_values.py:425 gajim/common/config.py:169 +msgid "Preview new messages in notification popup?" +msgstr "האם להראות תצוגה מוקדמת של הודעות חדשות בהתראה מוקפצת?" + +# (יש לעשות שימוש בנקודה ופסיק ; כדי להפריד בין מילים) +#: gajim/common/setting_values.py:426 gajim/common/config.py:172 +#, fuzzy +msgid "" +"A list of words (semicolon separated) that will be highlighted in group " +"chats." +msgstr "" +"רשימה אשר מופרדת על ידי נקודה ופסיק, של מילים שיובלטו בתוך שיחות קבוצה." + +#: gajim/common/setting_values.py:427 gajim/common/config.py:174 +msgid "" +"If enabled, Gajim hides the contact list window when pressing the X button " +"instead of minimizing into the notification area." +msgstr "" + +# right is left and left is right +#: gajim/common/setting_values.py:432 gajim/common/config.py:181 +#, fuzzy +msgid "" +"Define the position of avatars in the contact list. Can be 'left' or 'right'." +msgstr "" +"הגדרת המיקום של האווטאר ברשימה. המיקום יכול להיות בצד ימין (left) או בצד " +"שמאל (right)" + +#: gajim/common/setting_values.py:433 gajim/common/config.py:186 +#, fuzzy +msgid "Don't show contact list window in the system taskbar." +msgstr "אל תציג את הרשימה בתוך שורת המשימות של המערכת." + +# להבהב +#: gajim/common/setting_values.py:434 gajim/common/config.py:187 +#, fuzzy +msgid "" +"If enabled, Gajim makes the window flash (the default behaviour in most " +"Window Managers) when holding pending events." +msgstr "" +"כאשר מופעלת, והגרסאות המותקנות של ‭GTK+‬ ושל PyGTK הן לפחות 2.8, גרום לחלון " +"להבזיק (לרוב זוהי ההתנהגות השגרתית אצל מנהלי חלונות) כאשר ישנם אירועים " +"ממתינים." + +#: gajim/common/setting_values.py:436 gajim/common/config.py:193 +#, fuzzy +msgid "If enabled, pressing Esc closes a tab/window." +msgstr "כאשר מופעלת, לחיצה על המקש Esc תוביל לסגירת חלון/כרטיסייה." + +#: gajim/common/setting_values.py:437 gajim/common/config.py:194 +#, fuzzy +msgid "Hides the banner in a group chat window." +msgstr "הסתרת הכרזה בחלון שיחת קבוצה" + +#: gajim/common/setting_values.py:438 gajim/common/config.py:195 +#, fuzzy +msgid "Hides the banner in a 1:1 chat window." +msgstr "הסתרת הכרזה בחלון שיחת קבוצה" + +# הסתרת רשימת הנוכחים בשיחת קבוצה בתוך חלון שיחת קבוצה +#: gajim/common/setting_values.py:439 gajim/common/config.py:196 +#, fuzzy +msgid "Hides the group chat participants list in a group chat window." +msgstr "הסתרת רשימת הנוכחים בחלון שיחת קבוצה." + +# What does "than" mean? +#: gajim/common/setting_values.py:440 gajim/common/config.py:197 +#, fuzzy +msgid "" +"In a chat, show the nickname at the beginning of a line only when it's not " +"the same person talking as in the previous message." +msgstr "" +"בשיחה, הצג את שם הכינוי בתחילת שורה רק כאשר אין זו אותה האישיות אשר מדברת " +"מבהודעה קודמת." + +#: gajim/common/setting_values.py:441 gajim/common/config.py:198 +msgid "Indentation when using merge consecutive nickname." +msgstr "הזחה בעת שימוש בשם כינוי עוקב מובלע." + +#: gajim/common/setting_values.py:442 gajim/common/config.py:199 +#, fuzzy +msgid "" +"Ctrl+Tab switches to the next composing tab when there are no tabs with " +"messages pending." +msgstr "" +"‏Ctrl-Tab כדי לעבור להכרטיסייה המלחינה הבאה כאשר אין כרטיסיות שלא נקראו." + +#: gajim/common/setting_values.py:443 gajim/common/config.py:200 +#, fuzzy +msgid "" +"Show a confirmation dialog to create metacontacts? Empty string means never " +"show the dialog." +msgstr "" +"האם עלינו להציג דו שיח וידוא חסימת איש קשר? המשמעות של מחרוזת ריקה תהיה " +"שאנחנו לא נציג את הדו שיח בכלל." + +#: gajim/common/setting_values.py:444 gajim/common/config.py:201 +#, fuzzy +msgid "" +"Show a confirmation dialog to block a contact? Empty string means never show " +"the dialog." +msgstr "" +"האם עלינו להציג דו שיח וידוא חסימת איש קשר? המשמעות של מחרוזת ריקה תהיה " +"שאנחנו לא נציג את הדו שיח בכלל." + +#: gajim/common/setting_values.py:445 gajim/common/config.py:202 +#, fuzzy +msgid "" +"If enabled, you will be able to set a negative priority to your account in " +"the Accounts window. BE CAREFUL, when you are logged in with a negative " +"priority, you will NOT receive any message from your server." +msgstr "" +"כאשר מופעלת, תהיה באפשרותך להגדיר עדיפות שלילית עבור חשבונך בתוך חלון התאמת " +"חשבון. יש להיזהר, בעת התחברותך יחד עם עדיפות שלילית, לא תתקבלנה שום הודעה " +"מתוך השרת שלך." + +#: gajim/common/setting_values.py:446 gajim/common/config.py:203 +#, fuzzy +msgid "" +"If enabled, Gajim will show both the number of online and total contacts in " +"account rows as well as in group rows." +msgstr "כאשר מופעלת, Gajim יציג מספר של אנשי קשר מקוונים בשורות חשבון וקבוצה." + +# שממנו נשלחה +#: gajim/common/setting_values.py:447 gajim/common/config.py:204 +#, fuzzy +msgid "" +"If enabled, Gajim will scroll and select the contact who sent you the last " +"message, if the chat window is not already opened." +msgstr "" +"כאשר מופעלת, Gajim יגולל ויבחר את האיש קשר אשר שלח לך את ההודעה האחרונה, אם " +"וכאשר חלון שיחה אינו פתוח כבר." + +#: gajim/common/setting_values.py:448 gajim/common/config.py:205 +msgid "Time of inactivity needed before the change status window closes down." +msgstr "זמן חוסר פעילות אשר נחוץ לפני שחלון שינוי מצב נסגר." + +#: gajim/common/setting_values.py:449 gajim/common/config.py:206 +msgid "" +"Maximum number of lines that are printed in conversations. Oldest lines are " +"cleared." +msgstr "מספר מרבי של שורות אשר יודפסו בתוך דיונים. השורות הכי ישנות יטוהרו." + +# BUG: Dot at end +#: gajim/common/setting_values.py:450 gajim/common/config.py:208 +#, fuzzy +msgid "" +"If enabled, completion in group chats will be like a shell auto-completion." +msgstr "" +"כאשר מופעלת, השלמה בתוך שיחות קבוצה תיעשה בדומה להשלמה אוטומטית במעטפת " +"(shell) של מסוף" + +#: gajim/common/setting_values.py:451 gajim/common/config.py:217 +#, fuzzy +msgid "" +"If enabled, Gajim will try to use a STUN server when using Jingle. The one " +"in 'stun_server' option, or the one given by the XMPP server." +msgstr "" +"כאשר מופעלת, Gajim ינסה לעשות שימש בשרת STUN כאשר jingle הינו מצוי בשימוש. " +"זה אשר הוגדר בתוך אפשרות \"stun_server\", או בזה אשר ניתן על ידי שרת jabber " +"נתון." + +#: gajim/common/setting_values.py:452 gajim/common/config.py:218 +#, fuzzy +msgid "STUN server to use when using Jingle" +msgstr "שרת STUN אשר ישמש אותך בעת שימוש בטכנולוגיית jingle" + +#: gajim/common/setting_values.py:453 gajim/common/config.py:220 +#, fuzzy +msgid "If enabled, Gajim will ignore incoming attention requests ('wizz')." +msgstr "כאשר מופעלת, Gajim יתעלם מבקשות הקשב נכנסות (\"wizz\")." + +#: gajim/common/setting_values.py:454 gajim/common/config.py:221 +msgid "" +"If enabled, Gajim will reopen chat windows that were opened last time Gajim " +"was closed." +msgstr "" +"כאשר מופעלת, Gajim יפתח מחדש חלונות שיחה שהיו פתוחים בפעם האחרונה בה Gajim " +"נסגר." + +#: gajim/common/setting_values.py:455 gajim/common/config.py:224 +msgid "If enabled, Gajim will execute XEP-0146 Commands." +msgstr "" + +#: gajim/common/setting_values.py:458 gajim/common/config.py:236 +msgid "API Preferences. Possible values: 'http', 'iq'" +msgstr "" + +#: gajim/common/setting_values.py:459 gajim/common/config.py:237 +msgid "If enabled, Gajim will execute commands (/show, /sh, /execute, /exec)." +msgstr "" + +#: gajim/common/setting_values.py:460 gajim/common/config.py:238 +msgid "Width of group chat roster in pixel" +msgstr "" + +#: gajim/common/setting_values.py:461 gajim/common/config.py:239 +#, fuzzy +msgid "Force Bookmark 2 usage" +msgstr "_סמן את חדר זה" + +#: gajim/common/multimedia_helpers.py:51 +#, fuzzy +msgid "Default device" +msgstr "התקן שגרתי" + +#: gajim/common/multimedia_helpers.py:72 +msgid "Audio test" +msgstr "בדיקת קול" + +#: gajim/common/multimedia_helpers.py:75 gajim/common/multimedia_helpers.py:91 +#: gajim/common/multimedia_helpers.py:105 +msgid "Autodetect" +msgstr "איתור אוטומטי" + +#: gajim/common/multimedia_helpers.py:78 gajim/common/multimedia_helpers.py:93 +#, python-format +msgid "ALSA: %s" +msgstr "‏ALSA: ‏%s" + +#: gajim/common/multimedia_helpers.py:81 gajim/common/multimedia_helpers.py:95 +#, python-format +msgid "Pulse: %s" +msgstr "‏Pulse: ‏%s" + +# מעושה, מלאכותי +#: gajim/common/multimedia_helpers.py:89 +msgid "Fake audio output" +msgstr "פלט שמע מזויף" + +#: gajim/common/multimedia_helpers.py:102 +msgid "Video test" +msgstr "בדיקת וידאו" + +#: gajim/common/multimedia_helpers.py:107 +msgid "Pipewire" +msgstr "" + +#: gajim/common/multimedia_helpers.py:109 +#, python-format +msgid "V4L2: %s" +msgstr "‏V4L2: ‏%s" + +#: gajim/common/multimedia_helpers.py:111 +msgid "X11" +msgstr "" + +#: gajim/common/multimedia_helpers.py:113 +msgid "Windows" +msgstr "" + +#: gajim/common/multimedia_helpers.py:115 +msgid "macOS" +msgstr "" + +#: gajim/common/helpers.py:176 +msgid "_Busy" +msgstr "_עסוק" + +#: gajim/common/helpers.py:178 +msgid "Busy" +msgstr "עסוק" + +#: gajim/common/helpers.py:181 +msgid "_Not Available" +msgstr "_לא זמין" + +#: gajim/common/helpers.py:183 +msgid "Not Available" +msgstr "לא זמין" + +#: gajim/common/helpers.py:186 +msgid "_Free for Chat" +msgstr "_חופשי לשיחה" + +# BUG: x2 +#: gajim/common/helpers.py:188 +msgid "Free for Chat" +msgstr "חופשי לשיחה" + +#: gajim/common/helpers.py:191 +msgid "?user status:_Available" +msgstr "_זמין" + +#: gajim/common/helpers.py:193 +msgid "?user status:Available" +msgstr "זמין" + +#: gajim/common/helpers.py:195 +msgid "Connecting" +msgstr "מתחבר כעת" + +#: gajim/common/helpers.py:198 +msgid "A_way" +msgstr "_נעדר" + +#: gajim/common/helpers.py:203 +msgid "_Offline" +msgstr "לא מ_קוון" + +#: gajim/common/helpers.py:205 +msgid "Offline" +msgstr "לא מקוון" + +#: gajim/common/helpers.py:209 +msgid "?contact has status:Unknown" +msgstr "לא ידוע" + +# Has>Contain +#: gajim/common/helpers.py:211 +msgid "?contact has status:Has errors" +msgstr "מכיל שגיאות" + +#: gajim/common/helpers.py:216 +msgid "?Subscription we already have:None" +msgstr "ללא" + +#: gajim/common/helpers.py:218 +msgid "To" +msgstr "אל" + +#: gajim/common/helpers.py:220 gajim/data/gui/groups_post_window.ui:33 +msgid "From" +msgstr "מן" + +#: gajim/common/helpers.py:222 +msgid "Both" +msgstr "הדדית" + +#: gajim/common/helpers.py:230 +msgid "?Ask (for Subscription):None" +msgstr "אין" + +#: gajim/common/helpers.py:232 +msgid "Subscribe" +msgstr "הרשמה" + +#: gajim/common/helpers.py:244 +msgid "?Group Chat Contact Role:None" +msgstr "אין" + +#: gajim/common/helpers.py:247 +msgid "Moderators" +msgstr "אחראים" + +#: gajim/common/helpers.py:249 +msgid "Moderator" +msgstr "אחראי" + +#: gajim/common/helpers.py:252 gajim/data/gui/groupchat_info_scrolled.ui:182 +msgid "Participants" +msgstr "משתתפים" + +#: gajim/common/helpers.py:254 +msgid "Participant" +msgstr "משתתף" + +#: gajim/common/helpers.py:257 +msgid "Visitors" +msgstr "מבקרים" + +#: gajim/common/helpers.py:259 +msgid "Visitor" +msgstr "מבקר" + +#: gajim/common/helpers.py:268 +msgid "?Group Chat Contact Affiliation:None" +msgstr "ללא" + +#: gajim/common/helpers.py:271 +#, fuzzy +msgid "Owners" +msgstr "בעלים" + +#: gajim/common/helpers.py:273 gajim/data/gui/groupchat_config.ui:32 +msgid "Owner" +msgstr "בעלים" + +#: gajim/common/helpers.py:276 +#, fuzzy +msgid "Administrators" +msgstr "מנהל" + +#: gajim/common/helpers.py:278 +msgid "Administrator" +msgstr "מנהל" + +#: gajim/common/helpers.py:281 +#, fuzzy +msgid "Members" +msgstr "חבר" + +#: gajim/common/helpers.py:320 +msgid "is paying attention to the conversation" +msgstr "קשוב/ה כעת לשיחה" + +#: gajim/common/helpers.py:322 +msgid "is doing something else" +msgstr "עושה כעת משהו אחר" + +#: gajim/common/helpers.py:324 +#, fuzzy +msgid "is composing a message…" +msgstr "כותב/ת כעת הודעה..." + +#: gajim/common/helpers.py:327 +msgid "paused composing a message" +msgstr "חדל/ה מלהלחין הודעה" + +#: gajim/common/helpers.py:329 +msgid "has closed the chat window or tab" +msgstr "סגר/ה את כרטיסיית או חלון השיחה" + +#: gajim/common/helpers.py:719 gajim/common/helpers.py:727 +#, python-format +msgid "%d message pending" +msgid_plural "%d messages pending" +msgstr[0] "ממתינה לך הודעה %d" +msgstr[1] "ממתינות לך %d הודעות" + +#: gajim/common/helpers.py:736 +#, fuzzy, python-format +msgid "from group chat %s" +msgstr "בתוך _שיחות קבוצה" + +#: gajim/common/helpers.py:739 gajim/common/helpers.py:760 +#, fuzzy, python-format +msgid "from user %s" +msgstr " מאת המשתמש %s" + +#: gajim/common/helpers.py:741 +#, fuzzy, python-format +msgid "from %s" +msgstr " מאת %s" + +#: gajim/common/helpers.py:747 gajim/common/helpers.py:755 +#, python-format +msgid "%d event pending" +msgid_plural "%d events pending" +msgstr[0] "אירוע %d תלוי ועומד" +msgstr[1] "%d אירועים תלויים ועומדים" + +#: gajim/common/helpers.py:828 gajim/data/gui/add_new_contact_window.ui:20 +msgid "I would like to add you to my contact list." +msgstr "ברצוני להוסיף אותך לרשימת הקשר שלי." + +#: gajim/common/helpers.py:830 +msgid "Hello, I am $name." +msgstr "שלום, שמי $name." + +#: gajim/common/config.py:71 +#, fuzzy +msgid "Play sound even when being busy." +msgstr "נגן צלילים כאשר משתמש הינו עסוק" + +#: gajim/common/config.py:73 +#, fuzzy +msgid "Show only online and free for chat contacts in the contact list." +msgstr "הצגה בלעדית של אנשי קשר מקוונים וחופשיים לשיחה ברשימה." + +#: gajim/common/config.py:76 +msgid "Time in minutes, after which your status changes to away." +msgstr "זמן בדקות, אשר לאחריו המצב שלך ישונה אל נעדר." + +# בשל היותי במצב סרק +#: gajim/common/config.py:77 +#, fuzzy +msgid "$S (Away: Idle more than $T min)" +msgstr "$S (נעדר כתוצאה מהיותי בחוסר פעילות למשך של יותר מ־$T דקות)" + +#: gajim/common/config.py:77 +#, fuzzy +msgid "" +"$S will be replaced by current status message, $T by the 'autoawaytime' " +"value." +msgstr "" +"התווים $S יוחלפו על ידי הודעת מצב נוכחית, והתווים $T יוחלפו בערך הנקוב " +"ברשומה autoawaytime." + +#: gajim/common/config.py:79 +msgid "Time in minutes, after which your status changes to not available." +msgstr "זמן בדקות, אשר לאחריו המצב שלך ישתנה אל לא זמין." + +#: gajim/common/config.py:80 +#, fuzzy +msgid "$S (Not available: Idle more than $T min)" +msgstr "$S (לא זמין כתוצאה מהיותי בחוסר פעילות למשך של יותר מ־$T דקות)" + +#: gajim/common/config.py:80 +#, fuzzy +msgid "" +"$S will be replaced by current status message, $T by the 'autoxatime' value." +msgstr "" +"התווים $S יוחלפו על ידי הודעת מצב נוכחית, והתווים $T יוחלפו בערך הנקוב " +"ברשומה autoxatime." + +# מגש המערכת +#: gajim/common/config.py:83 +#, fuzzy +msgid "" +"When to show the notification area icon. Can be 'never', 'on_event', and " +"'always'." +msgstr "" +"מתי להציג סמל אזור התראה. יכול להיות 'never' (בכלל לא), 'on_event' (בעת " +"אירוע), 'always' (תמיד)." + +#: gajim/common/config.py:87 +#, fuzzy +msgid "" +"List of rows (accounts and groups) that are collapsed (space separated)." +msgstr "" +"רשימה (מופרדת על ידי רווח) של שורות (חשבונות וקבוצות) אשר הינן מכווצות." + +#: gajim/common/config.py:94 gajim/common/config.py:335 +#: gajim/common/config.py:342 +#, fuzzy +msgid "Language used for spell checking." +msgstr "שפה אשר מצויה בשימוש על ידי מאיית" + +#: gajim/common/config.py:97 +msgid "When enabled, ASCII emojis will be converted to graphical emojis." +msgstr "" + +#: gajim/common/config.py:152 +#, fuzzy +msgid "" +"When not printing time for every message ('print_time'==sometimes), print it " +"every x minutes." +msgstr "" +"כאשר זמן לא מודפס עבור כל הודעה (print_time==sometimes), הזמן יודפס כל x " +"דקות." + +#: gajim/common/config.py:173 +#, fuzzy +msgid "" +"If enabled, Gajim quits when clicking the X button of your Window Manager. " +"This setting is taken into account only if the notification area icon is " +"used." +msgstr "" +"כאשר מופעלת, Gajim יצא כאשר לחצן X של מנהל חלונות נלחץ. הגדרה זו נלקחת " +"בחשבון רק כאשר סמל התראה מצוי בשימוש." + +#: gajim/common/config.py:175 +#, fuzzy +msgid "" +"If enabled, Gajim will display the status message (if not empty) underneath " +"the contact name in the contact list window." +msgstr "" +"כאשר מופעלת, Gajim יציג הודעת מצב, בתנאי שזו לא ריקה, עבור כל איש קשר תחת שם " +"איש קשר בחלון הרשימה." + +# BUG: or is better than and/or +#: gajim/common/config.py:182 +#, fuzzy +msgid "" +"If disabled, Gajim will no longer print status messages in chats when a " +"contact changes their status (and/or their status message)." +msgstr "" +"כאשר מנוטרלת, Gajim לא ידפיס שורות מצב בתוך שיחות כאשר איש קשר משנה מצב או " +"הודעת מצב." + +#: gajim/common/config.py:183 +#, fuzzy +msgid "" +"Default Setting: Show a status message for every join or leave in a group " +"chat." +msgstr "אין אפשרות להצטרף לשיחת קבוצה" + +#: gajim/common/config.py:184 +#, fuzzy +msgid "" +"Default Setting: Show a status message for all status changes (away, dnd, " +"etc.) of users in a group chat." +msgstr "אין אפשרות להצטרף לשיחת קבוצה" + +#: gajim/common/config.py:191 +#, fuzzy +msgid "" +"Controls the window where new messages are placed.\n" +"'always' - All messages are sent to a single window.\n" +"'always_with_roster' - Like 'always' but the messages are in a single window " +"along with the contact list.\n" +"'never' - All messages get their own window.\n" +"'peracct' - Messages for each account are sent to a specific window.\n" +"'pertype' - Each message type (e.g. chats vs. group chats) is sent to a " +"specific window." +msgstr "" +"בקרה על החלון בו הודעות חדשות מושמות.\n" +"‏'always' - כל ההודעות נשלחות לחלון בודד.\n" +"‏'always_with_roster' - כמו 'always' אך ההודעות נמצאות בחלון בודד יחד עם " +"הרשימה.\n" +"‏'never' - לכל ההודעות חלון נפרד משלהן.\n" +"‏'peracct' - הודעות עבור כל חשבון נשלחות לחלון מסוים.\n" +"‏'pertype' - כל טיפוס הודעה (למשל, שיחות כנגד שיחות קבוצה) נשלח לחלון מסוים." + +#: gajim/common/config.py:192 +#, fuzzy +msgid "" +"Show contact list window on startup.\n" +"'always' - Always show contact list window.\n" +"'never' - Never show contact list window.\n" +"'last_state' - Restore last state of the contact list window." +msgstr "" +"הצגת רשימה בעת הפעלה.\n" +"‏'always' - תמיד להציג את הרשימה.\n" +"‏'never' - לא להציג רשימה בכלל.\n" +"‏'last_state' - שחזור המצב האחרון של הרשימה." + +#: gajim/common/config.py:207 +#, fuzzy +msgid "" +"Valid URI schemes. Only schemes in this list will be accepted as 'real' URI " +"(mailto and xmpp are handled separately)." +msgstr "" +"תרשים uri תקף. תרשימים המצויים בתוך הרשימה בלבד יתקבלו בתור תרשים uri \"אמיתי" +"\". (mailto וגם xmpp מטופלים בנפרד)" + +#: gajim/common/config.py:212 +#, fuzzy +msgid "Optionally fix Jingle output video framerate. Example: 10/1 or 25/2." +msgstr "אפשרות קיבוע פלט תדר וידאו של jingle. דוגמא: 10/1 או 25/2" + +#: gajim/common/config.py:213 +#, fuzzy +msgid "Optionally resize Jingle output video. Example: 320x240." +msgstr "אפשרות שינוי מידת פלט הוידאו של jingle. דוגמא: 320x240" + +#: gajim/common/config.py:214 +msgid "If enabled, you will see your webcam's video stream as well." +msgstr "" + +#: gajim/common/config.py:219 +#, fuzzy +msgid "" +"Proxy used for all outgoing connections if the account does not have a " +"specific proxy configured." +msgstr "" +"ציר (proxy) אשר בשימוש עבור כל החיבורים היוצאים במידה ולחשבון אין ציר מסוים " +"מוגדר" + +#: gajim/common/config.py:222 +#, fuzzy +msgid "" +"If enabled, Gajim will display an icon to show that sent messages have been " +"received by your contact." +msgstr "" +"כאשר מופעלת, Gajim יציג סמל המעיד על כך שהודעה אשר נשלחה התקבלה על ידי איש " +"הקשר שלך" + +#: gajim/common/config.py:223 +#, fuzzy +msgid "" +"If enabled, Gajim will use the System's Keyring to store account passwords." +msgstr "" +"כאשר מופעלת, Gajim יעשה שימוש ביישום Gnome Keyring (אם זמין) כדי לאחסן " +"סיסמאות חשבון." + +#: gajim/common/config.py:225 +msgid "2: System, 1: Enabled, 0: Disabled" +msgstr "" + +#: gajim/common/config.py:226 +msgid "" +"Maximum history in days we request from a public group chat archive. 0: As " +"much as possible." +msgstr "" + +#: gajim/common/config.py:227 +msgid "" +"Maximum history in days we request from a private group chat archive. 0: As " +"much as possible." +msgstr "" + +#: gajim/common/config.py:228 +msgid "" +"If enabled, Gajim shows the group chat subject in the chat window when " +"joining." +msgstr "" + +# BUG: a dot at the end +#: gajim/common/config.py:229 +#, fuzzy +msgid "" +"If enabled, the contact row is colored according to the current chat state " +"of the contact." +msgstr "כאשר מסומן, Gajim יתיר לאחרים לאתר את הזמן של המערכת שלך" + +# BUG: a dot at the end +#: gajim/common/config.py:230 +#, fuzzy +msgid "" +"If enabled, the tab is colored according to the current chat state of the " +"contact." +msgstr "כאשר מסומן, Gajim יתיר לאחרים לאתר את הזמן של המערכת שלך" + +# BUG: a dot at the end +#: gajim/common/config.py:231 +#, fuzzy +msgid "" +"Shows a text in the banner that describes the current chat state of the " +"contact." +msgstr "כאשר מסומן, Gajim יתיר לאחרים לאתר את הזמן של המערכת שלך" + +#: gajim/common/config.py:232 +#, fuzzy +msgid "" +"Chat state notifications that are sent to contacts. Possible values: all, " +"composing_only, disabled" +msgstr "" +"התראות מצב שיחה שנשלחות. יכול להיות אחד מאלו all, composing_only, disabled." + +#: gajim/common/config.py:233 +#, fuzzy +msgid "" +"Chat state notifications that are sent to the group chat. Possible values: " +"'all', 'composing_only', 'disabled'" +msgstr "" +"התראות מצב שיחה שנשלחות. יכול להיות אחד מאלו all, composing_only, disabled." + +#: gajim/common/config.py:240 +msgid "Shows an info bar with helpful hints in the Start / Join Chat dialog" +msgstr "" + +#: gajim/common/config.py:242 +msgid "Date of the last update check" +msgstr "" + +#: gajim/common/config.py:260 +#, fuzzy +msgid "" +"Priority will change automatically according to your status. Priorities are " +"defined in 'autopriority_*' options." +msgstr "" +"עדיפות תשונה אוטומטית בהתאם למצב שלך. עדיפויות מוגדרות בתוך האפשרות " +"autopriority_*." + +#: gajim/common/config.py:267 +#, fuzzy +msgid "If enabled, the last status will be restored." +msgstr "כאשר מופעלת, המצב האחרון אשר היה בשימוש ישוחזר." + +# BUG: typo: the authorization of the contacts will get accepted, not the contacts themselves +# הרשאות שיתבקשו על ידי אנשי קשר יתקבלו אוטומטית +#: gajim/common/config.py:268 +#, fuzzy +msgid "" +"If enabled, contacts requesting authorization will be accepted automatically." +msgstr "כאשר מופעלת, אנשי קשר אשר מבקשים הרשאה יתקבלו אוטומטית." + +#: gajim/common/config.py:269 +#, fuzzy +msgid "" +"If disabled, this account will be disabled and will not appear in the " +"contact list window." +msgstr "כאשר מנוטרלת, חשבון זה ינוטרל ולא יופיע בחלון רשימה." + +#: gajim/common/config.py:278 +msgid "ConnectionType: START TLS, DIRECT TLS or PLAIN" +msgstr "" + +#: gajim/common/config.py:280 +#, fuzzy +msgid "" +"List of XMPP Addresses (space separated) for which you do not want to store " +"chat history. You can also add the name of an account to disable storing " +"chat history for this account." +msgstr "" +"רשימה אשר מופרדת על ידי רווח, של כתובות JID עבורן אין ברצונך לאחסן רשומות. " +"באפשרותך גם להוסיף שם חשבון כדי לא לרשום דבר עבור חשבון זה." + +# INTERESTING! +# option (אפשרות), not entry (רשומה) +#: gajim/common/config.py:285 +#, fuzzy +msgid "" +"If enabled, Gajim will use your IP and proxies defined in " +"'file_transfer_proxies' option for file transfers." +msgstr "" +"כאשר מסומן, Gajim יעשה שימוש בכתובת IP ובצירים (proxy) שהוגדרו על ידך " +"באפשרות file_transfer_proxies לשם העברת קובץ." + +#: gajim/common/config.py:286 +#, fuzzy +msgid "" +"If enabled, Gajim will test file transfer proxies on startup to be sure they " +"work. Openfire's proxies are known to fail this test even if they work." +msgstr "" +"כאשר מופעלת, Gajim יבחן צירי (proxy) העברת קובץ בעת הפעלה כדי לוודא כי זו " +"אכן פועלת. ידוע כי מתווכי Openfire נכשלים בבחינה זו אפילו אם אלו עובדים." + +#: gajim/common/config.py:298 +#, fuzzy +msgid "If enabled, Gajim will answer to message receipt requests." +msgstr "" +"כאשר מופעלת, Gajim יציג סמל המעיד על כך שהודעה אשר נשלחה התקבלה על ידי איש " +"הקשר שלך" + +#: gajim/common/config.py:303 +msgid "" +"Allow Gajim to send information about the operating system you are running." +msgstr "התר ל־Gajim לשלוח מידע אודות מערכת ההפעלה אשר בשימושך." + +#: gajim/common/config.py:304 +msgid "Allow Gajim to send your local time." +msgstr "התר ל־Gajim לשלוח את הזמן המקומי שלך." + +#: gajim/common/config.py:307 +#, fuzzy +msgid "Message that is sent to contacts you want to add." +msgstr "הודעה אשר תישלח לאנשי קשר אותם ברצונך להוסיף" + +# BUG: can directly connect to +#: gajim/common/config.py:308 +#, fuzzy +msgid "" +"If enabled, Gajim will send your local IP so your contact can connect to " +"your machine for file transfers." +msgstr "" +"כאשר מופעלת, Gajim ישלח את כתובות IP מקומיות שלך, כך שהאיש קשר שלך יוכל " +"להתחבר ישירות למחשב שלך כדי להעביר קבצים." + +#: gajim/common/config.py:309 +#, fuzzy +msgid "" +"List of XMPP Addresses (space separated) for which the chat window will be " +"re-opened on next startup." +msgstr "" +"רשימה אשר מופרדת על ידי רווח, של כתובות JID עבורן אנו רוצים לפתוח מחדש חלון " +"שיחה בהפעלה הבאה." + +#: gajim/common/config.py:311 +msgid "" +"Preferred file transfer mechanism for file drag&drop on a chat window. Can " +"be 'httpupload' (default) or 'jingle'." +msgstr "" + +#: gajim/common/config.py:312 +#, fuzzy +msgid "Allow certificate verification with POSH." +msgstr "אימות תעודת SSL עבור %s" + +#: gajim/common/config.py:336 +#, fuzzy +msgid "" +"Chat state notifications that are sent to contacts. Possible values: 'all', " +"'composing_only', 'disabled'" +msgstr "" +"התראות מצב שיחה שנשלחות. יכול להיות אחד מאלו all, composing_only, disabled." + +#: gajim/common/config.py:339 +#, fuzzy +msgid "The currently active encryption for that contact." +msgstr "אפשור הצפנת ESessions עבור חשבון זה." + +#: gajim/common/config.py:343 +msgid "" +"If enabled, a notification is created for every message in this group chat." +msgstr "" + +#: gajim/common/config.py:344 +#, fuzzy +msgid "" +"Show a status message for all status changes (away, dnd, etc.) of users in a " +"group chat." +msgstr "אין אפשרות להצטרף לשיחת קבוצה" + +#: gajim/common/config.py:345 +#, fuzzy +msgid "Show a status message for every join or leave in a group chat." +msgstr "אין אפשרות להצטרף לשיחת קבוצה" + +#: gajim/common/config.py:346 +msgid "" +"If enabled, the group chat is minimized into the contact list when joining " +"automatically." +msgstr "" + +#: gajim/common/config.py:347 +msgid "" +"If enabled, the group chat is minimized into the contact list when closing " +"it." +msgstr "" + +#: gajim/common/config.py:348 +#, fuzzy +msgid "" +"Chat state notifications that are sent to the group chat. Possible values: " +"'all', 'composing_only' or 'disabled'." +msgstr "" +"התראות מצב שיחה שנשלחות. יכול להיות אחד מאלו all, composing_only, disabled." + +#: gajim/common/config.py:351 +#, fuzzy +msgid "" +"If enabled, plugins will be activated on startup (this is saved when exiting " +"Gajim). This option SHOULD NOT be used to (de)activate plugins. Use the " +"plugin window instead." +msgstr "" +"קבע האם על תוספים להיות מתופעלים בעת הפעלה (זוהי נשמרת בעת יציאה מתוך " +"Gajim). אין להשתמש באפשרות זו כדי לשפעל או לנטרל תוספים. עליך להשתמש בממשק " +"משתמש גרפי במקום." + +#: gajim/common/config.py:358 +#, fuzzy +msgid "I'm eating." +msgstr "אני בעבודה." + +#: gajim/common/config.py:359 +msgid "I'm watching a movie." +msgstr "אני צופה בסרט." + +#: gajim/common/config.py:360 +msgid "I'm working." +msgstr "אני בעבודה." + +#: gajim/common/config.py:361 +msgid "Phone" +msgstr "טלפון" + +#: gajim/common/config.py:361 +msgid "I'm on the phone." +msgstr "אני בטלפון." + +#: gajim/common/config.py:362 +msgid "I'm out enjoying life." +msgstr "יצאתי החוצה ליהנות מן החיים." + +#: gajim/common/config.py:373 +#, fuzzy +msgid "" +"Sound to play when a group chat message contains one of the words in " +"'muc_highlight_words' or your nickname is mentioned." +msgstr "" +"צליל לניגון כאשר הודעת שיחת קבוצה מכילה אחת מתוך המילים אשר מצוינות בתוך " +"muc_highlight_words, או כאשר הודעת שיחת קבוצה מכילה את השם כינוי שלך." + +#: gajim/common/config.py:374 +#, fuzzy +msgid "Sound to play when any group chat message arrives." +msgstr "צליל לניגון כאשר הודעת שמ״מ מגיעה." + +#: gajim/common/config.py:378 +msgid "Tor" +msgstr "" + +#: gajim/common/exceptions.py:45 +#, fuzzy, python-format +msgid "" +"The database file (%s) cannot be read. Try to repair it (see https://dev." +"gajim.org/gajim/gajim/wikis/help/DatabaseBackup) or remove it (all history " +"will be lost)." +msgstr "" +"קובץ מסד הנתונים (%s) לא ניתן לקריאה. נסו לתקנו (ראו http://trac.gajim.org/" +"wiki/DatabaseBackup) או להסירו (כל ההיסטוריה תאבד)." + +#: gajim/common/exceptions.py:59 +msgid "Service not available: Gajim is not running, or remote_control is False" +msgstr "שירות לא זמין: Gajim לא מורץ, או שההעדפה remote_control הינה מנוטרלת" + +# Who tries? +#: gajim/common/exceptions.py:81 +#, python-format +msgid "" +"Session bus is not available.\n" +"Try reading %(url)s" +msgstr "" +"אפיק סשן אינו זמין.\n" +"נסה לקרוא את %(url)s" + +# Who tries? +#: gajim/common/exceptions.py:93 +#, python-format +msgid "" +"System bus is not available.\n" +"Try reading %(url)s" +msgstr "" +"אפיק מערכת אינו זמין.\n" +"נסה לקרוא את %(url)s" + +# cli +#: gajim/common/optparser.py:54 +#, fuzzy, python-format +msgid "Error: cannot open %s for reading" +msgstr "שגיאה: אין אפשרות לפתוח את %s לקריאה" + +#: gajim/common/configpaths.py:84 +#, python-format +msgid "%s is a file but it should be a directory" +msgstr "‏%s הינו קובץ אך אמור להיות מדור" + +#: gajim/common/configpaths.py:85 +#, fuzzy +msgid "Gajim will now exit" +msgstr "cli" + +#: gajim/common/connection_handlers_events.py:242 +#: gajim/common/connection_handlers_events.py:342 +#, fuzzy, python-format +msgid "New message from %(nickname)s" +msgid_plural "%(n_msgs)i unread messages from %(nickname)s" +msgstr[0] "הודעה חדשה מאת %(nickname)s" +msgstr[1] "הודעה חדשה מאת %(nickname)s" + +#: gajim/common/connection_handlers_events.py:412 +#, python-format +msgid "%(nick)s Changed Status" +msgstr "המצב של %(nick)s שונה" + +#: gajim/common/const.py:287 +#, fuzzy +msgid "?Group chat name:Team" +msgstr "אין" + +#: gajim/common/const.py:288 +msgid "?Group chat description:Project discussion" +msgstr "" + +#: gajim/common/const.py:289 +#, fuzzy +msgid "?Group chat address:team" +msgstr "שיחות קבוצה" + +#: gajim/common/const.py:290 +#, fuzzy +msgid "?Group chat name:Family" +msgstr "הבלטת שיחת קבוצה:" + +#: gajim/common/const.py:291 +msgid "?Group chat description:Spring gathering" +msgstr "" + +#: gajim/common/const.py:292 +msgid "?Group chat address:family" +msgstr "" + +#: gajim/common/const.py:293 +#, fuzzy +msgid "?Group chat name:Vacation" +msgstr "הזמנת שיחת קבוצה" + +#: gajim/common/const.py:294 +msgid "?Group chat description:Trip planning" +msgstr "" + +#: gajim/common/const.py:295 +#, fuzzy +msgid "?Group chat address:vacation" +msgstr "הזמנת שיחת קבוצה" + +#: gajim/common/const.py:296 +#, fuzzy +msgid "?Group chat name:Repairs" +msgstr "שיחות קבוצה" + +#: gajim/common/const.py:297 +msgid "?Group chat description:Local help group" +msgstr "" + +#: gajim/common/const.py:298 +#, fuzzy +msgid "?Group chat address:repairs" +msgstr "שיחות קבוצה" + +#: gajim/common/const.py:299 +#, fuzzy +msgid "?Group chat name:News" +msgstr "אין" + +#: gajim/common/const.py:300 +#, fuzzy +msgid "?Group chat description:Local news and reports" +msgstr "יצירת שיחות קבוצה הינה מוגבלת." + +#: gajim/common/const.py:301 +#, fuzzy +msgid "?Group chat address:news" +msgstr "שיחת קבוצה חדשה" + +# BUG: general title without "the" +#: gajim/common/const.py:306 +#, fuzzy +msgid "Remote server not found" +msgstr "השירות לא היה יכול להימצא" + +#: gajim/common/const.py:307 +msgid "Remote server timeout" +msgstr "" + +#: gajim/common/const.py:308 gajim/common/const.py:309 +#: gajim/common/const.py:310 +#, fuzzy +msgid "Address does not belong to a group chat server" +msgstr "‏%s אינו שרת שיחת קבוצה" + +#: gajim/common/const.py:311 +#, fuzzy +msgid "Group chat already exists" +msgstr "חשבון Local כבר ישנו." + +#: gajim/common/const.py:312 +#, fuzzy +msgid "Group chat does not exist" +msgstr "שיחת קבוצה %s לא קיימת." + +#: gajim/common/const.py:313 +#, fuzzy +msgid "Group chat is closed" +msgstr "היסטוריות שיחת קבוצה" + +#: gajim/common/const.py:319 +msgid "This message was encrypted with OTR and could not be decrypted." +msgstr "" + +#: gajim/common/const.py:322 +msgid "" +"This message was encrypted with Legacy OpenPGP and could not be decrypted. " +"You can install the PGP plugin to handle those messages." +msgstr "" + +#: gajim/common/const.py:326 +msgid "" +"This message was encrypted with OpenPGP for XMPP and could not be decrypted. " +"You can install the OpenPGP plugin to handle those messages." +msgstr "" + +#: gajim/common/const.py:330 +#, python-format +msgid "This message was encrypted with %s and could not be decrypted." +msgstr "" + +# עושה +#: gajim/common/const.py:337 +msgid "Doing Chores" +msgstr "מבצע מטלות" + +#: gajim/common/const.py:338 +msgid "Buying Groceries" +msgstr "קונה מצרכים" + +#: gajim/common/const.py:339 +msgid "Cleaning" +msgstr "מנקה" + +#: gajim/common/const.py:340 +msgid "Cooking" +msgstr "מבשל" + +#: gajim/common/const.py:341 +msgid "Doing Maintenance" +msgstr "עושה תחזוקה" + +#: gajim/common/const.py:342 +msgid "Doing the Dishes" +msgstr "עושה כלים" + +#: gajim/common/const.py:343 +msgid "Doing the Laundry" +msgstr "עושה כביסה" + +#: gajim/common/const.py:344 +msgid "Gardening" +msgstr "מגנן" + +#: gajim/common/const.py:345 +msgid "Running an Errand" +msgstr "עושה שליחות קצרה" + +#: gajim/common/const.py:346 +msgid "Walking the Dog" +msgstr "מוליך את הכלב" + +#: gajim/common/const.py:348 +msgid "Drinking" +msgstr "שותה" + +#: gajim/common/const.py:349 +msgid "Having a Beer" +msgstr "שותה בירה" + +#: gajim/common/const.py:350 +msgid "Having Coffee" +msgstr "שותה קפה" + +#: gajim/common/const.py:351 +msgid "Having Tea" +msgstr "שותה תה" + +#: gajim/common/const.py:354 +msgid "Having a Snack" +msgstr "אוכל חטיף" + +#: gajim/common/const.py:355 +msgid "Having Breakfast" +msgstr "אוכל ארוחת בוקר" + +#: gajim/common/const.py:356 +msgid "Having Dinner" +msgstr "אוכל ארוחת ערב" + +#: gajim/common/const.py:357 +msgid "Having Lunch" +msgstr "אוכל ארוחת צהריים" + +#: gajim/common/const.py:359 +msgid "Exercising" +msgstr "מתאמן" + +#: gajim/common/const.py:360 gajim/common/const.py:411 +msgid "Cycling" +msgstr "ברכיבה על אופניים" + +#: gajim/common/const.py:361 +msgid "Dancing" +msgstr "רוקד" + +# הליכה, צעידה +#: gajim/common/const.py:362 +msgid "Hiking" +msgstr "הייקינג" + +#: gajim/common/const.py:363 +msgid "Jogging" +msgstr "ג׳וגינג" + +#: gajim/common/const.py:364 +msgid "Playing Sports" +msgstr "משחק בספורט" + +#: gajim/common/const.py:365 +msgid "Running" +msgstr "ריצה" + +#: gajim/common/const.py:366 +msgid "Skiing" +msgstr "סקי" + +#: gajim/common/const.py:367 +msgid "Swimming" +msgstr "שחייה" + +#: gajim/common/const.py:368 +msgid "Working out" +msgstr "מתעמל" + +# decorate oneself +# beautification יפייף +# משפר הופעה +# מטפח +# מתקשטת +#: gajim/common/const.py:370 +msgid "Grooming" +msgstr "טיפוח" + +#: gajim/common/const.py:371 +msgid "At the Spa" +msgstr "בספא" + +#: gajim/common/const.py:372 +msgid "Brushing Teeth" +msgstr "מצחצח שיניים" + +#: gajim/common/const.py:373 +msgid "Getting a Haircut" +msgstr "עושה תספורת" + +#: gajim/common/const.py:374 +msgid "Shaving" +msgstr "מתגלח" + +#: gajim/common/const.py:375 +msgid "Taking a Bath" +msgstr "מתרחץ" + +#: gajim/common/const.py:376 +msgid "Taking a Shower" +msgstr "מתקלח" + +# יש לי תור +#: gajim/common/const.py:378 +msgid "Having an Appointment" +msgstr "יש לי פגישה" + +#: gajim/common/const.py:380 +msgid "Inactive" +msgstr "לא פעיל" + +#: gajim/common/const.py:381 +msgid "Day Off" +msgstr "יום חופשה" + +#: gajim/common/const.py:382 +msgid "Hanging out" +msgstr "מבלה" + +#: gajim/common/const.py:383 +msgid "Hiding" +msgstr "מסתתר" + +#: gajim/common/const.py:384 +msgid "On Vacation" +msgstr "בחופשה" + +#: gajim/common/const.py:385 +msgid "Praying" +msgstr "מתפלל" + +# חג, חופשה, נופש מתוזמן +#: gajim/common/const.py:386 +msgid "Scheduled Holiday" +msgstr "בפגרה מתוכננת" + +#: gajim/common/const.py:388 +msgid "Thinking" +msgstr "חושב" + +#: gajim/common/const.py:390 +msgid "Relaxing" +msgstr "נרגע" + +#: gajim/common/const.py:391 +msgid "Fishing" +msgstr "דג" + +#: gajim/common/const.py:392 +msgid "Gaming" +msgstr "משחק" + +# any better word? +# יוצאים קבוע going steady +# יוצא +#: gajim/common/const.py:393 +msgid "Going out" +msgstr "מסתובב בחוץ" + +#: gajim/common/const.py:394 +msgid "Partying" +msgstr "חוגג" + +#: gajim/common/const.py:395 +msgid "Reading" +msgstr "קורא" + +# מתאמן +#: gajim/common/const.py:396 +msgid "Rehearsing" +msgstr "מתרגל" + +#: gajim/common/const.py:397 +msgid "Shopping" +msgstr "בקניות" + +#: gajim/common/const.py:398 +msgid "Smoking" +msgstr "מעשן" + +# Be aware of brainwashing terms! +# בגיבוש, מתגבש +#: gajim/common/const.py:399 +msgid "Socializing" +msgstr "מתחבר" + +#: gajim/common/const.py:400 +msgid "Sunbathing" +msgstr "משתזף" + +#: gajim/common/const.py:401 +msgid "Watching TV" +msgstr "צופה בטלוויזיה" + +#: gajim/common/const.py:402 +msgid "Watching a Movie" +msgstr "צופה בסרט" + +#: gajim/common/const.py:404 +msgid "Talking" +msgstr "משוחח" + +#: gajim/common/const.py:405 +msgid "In Real Life" +msgstr "בחיים האמיתיים" + +#: gajim/common/const.py:406 +msgid "On the Phone" +msgstr "בטלפון" + +#: gajim/common/const.py:407 +msgid "On Video Phone" +msgstr "בוידאו־פון" + +#: gajim/common/const.py:409 +msgid "Traveling" +msgstr "במסע" + +#: gajim/common/const.py:410 +msgid "Commuting" +msgstr "ביוממות" + +#: gajim/common/const.py:412 +msgid "Driving" +msgstr "בנהיגה" + +#: gajim/common/const.py:413 +msgid "In a Car" +msgstr "במכונית" + +#: gajim/common/const.py:414 +msgid "On a Bus" +msgstr "באוטובוס" + +#: gajim/common/const.py:415 +msgid "On a Plane" +msgstr "במטוס" + +#: gajim/common/const.py:416 +msgid "On a Train" +msgstr "ברכבת" + +#: gajim/common/const.py:417 +msgid "On a Trip" +msgstr "בטיול" + +#: gajim/common/const.py:418 +msgid "Walking" +msgstr "הולך" + +#: gajim/common/const.py:421 +msgid "Coding" +msgstr "מקודד" + +#: gajim/common/const.py:422 +msgid "In a Meeting" +msgstr "בפגישה" + +#: gajim/common/const.py:423 +msgid "Studying" +msgstr "לומד" + +#: gajim/common/const.py:424 +msgid "Writing" +msgstr "כותב" + +#: gajim/common/const.py:427 +msgid "Afraid" +msgstr "מפחד" + +#: gajim/common/const.py:428 +msgid "Amazed" +msgstr "נדהם" + +#: gajim/common/const.py:429 +msgid "Amorous" +msgstr "חושק" + +#: gajim/common/const.py:430 +msgid "Angry" +msgstr "זועם" + +#: gajim/common/const.py:431 +msgid "Annoyed" +msgstr "נרגז" + +#: gajim/common/const.py:432 +msgid "Anxious" +msgstr "חרד" + +# מגורה +#: gajim/common/const.py:433 +msgid "Aroused" +msgstr "מרוגש" + +#: gajim/common/const.py:434 +msgid "Ashamed" +msgstr "מתבייש" + +#: gajim/common/const.py:435 +msgid "Bored" +msgstr "משועמם" + +#: gajim/common/const.py:436 +msgid "Brave" +msgstr "אמיץ" + +#: gajim/common/const.py:437 +msgid "Calm" +msgstr "רגוע" + +#: gajim/common/const.py:438 +msgid "Cautious" +msgstr "זהיר" + +#: gajim/common/const.py:439 +msgid "Cold" +msgstr "קר" + +#: gajim/common/const.py:440 +msgid "Confident" +msgstr "סמוך ובטוח" + +#: gajim/common/const.py:441 +msgid "Confused" +msgstr "מבולבל" + +# מעורר מחשבה, שקוע במחשבות, ספקולטיבי, תיאורטי, עיוני, מחשבתי, מהורהר +#: gajim/common/const.py:442 +msgid "Contemplative" +msgstr "ספקולטיבי" + +#: gajim/common/const.py:443 +msgid "Contented" +msgstr "מסופק" + +#: gajim/common/const.py:444 +msgid "Cranky" +msgstr "רעוע" + +#: gajim/common/const.py:445 +msgid "Crazy" +msgstr "מטורף" + +#: gajim/common/const.py:446 +msgid "Creative" +msgstr "יצירתי" + +#: gajim/common/const.py:447 +msgid "Curious" +msgstr "סקרן" + +#: gajim/common/const.py:448 +msgid "Dejected" +msgstr "מיואש" + +#: gajim/common/const.py:449 +msgid "Depressed" +msgstr "מדוכא" + +#: gajim/common/const.py:450 +msgid "Disappointed" +msgstr "מאוכזב" + +# תחושת גועל +#: gajim/common/const.py:451 +msgid "Disgusted" +msgstr "נגעל" + +# מופחד מובהל מוחרד מודהם +# מפוחד מבוהל נחרד נדהם +#: gajim/common/const.py:452 +msgid "Dismayed" +msgstr "נחרד" + +# טרוד +#: gajim/common/const.py:453 +msgid "Distracted" +msgstr "מוטרד" + +#: gajim/common/const.py:454 +msgid "Embarrassed" +msgstr "נבוך" + +#: gajim/common/const.py:455 +msgid "Envious" +msgstr "מקנא" + +#: gajim/common/const.py:456 +msgid "Excited" +msgstr "נרגש" + +# עגבני +#: gajim/common/const.py:457 +msgid "Flirtatious" +msgstr "פלרטטני" + +#: gajim/common/const.py:458 +msgid "Frustrated" +msgstr "מתוסכל" + +#: gajim/common/const.py:459 +msgid "Grateful" +msgstr "נעים" + +#: gajim/common/const.py:460 +msgid "Grieving" +msgstr "מתאבל" + +#: gajim/common/const.py:461 +msgid "Grumpy" +msgstr "זועף" + +#: gajim/common/const.py:462 +msgid "Guilty" +msgstr "אשם" + +#: gajim/common/const.py:463 +msgid "Happy" +msgstr "שמח" + +# מלא תקווה, מבטיח +#: gajim/common/const.py:464 +msgid "Hopeful" +msgstr "אופטימי" + +#: gajim/common/const.py:465 +msgid "Hot" +msgstr "לוהט" + +#: gajim/common/const.py:466 +msgid "Humbled" +msgstr "מוכנע" + +#: gajim/common/const.py:467 +msgid "Humiliated" +msgstr "מושפל" + +#: gajim/common/const.py:468 +msgid "Hungry" +msgstr "רעב" + +#: gajim/common/const.py:469 +msgid "Hurt" +msgstr "פגוע" + +# מורשם, מרוגש, מלא פליאה +#: gajim/common/const.py:470 +msgid "Impressed" +msgstr "מתפעל" + +#: gajim/common/const.py:471 +msgid "In Awe" +msgstr "מפוחד" + +#: gajim/common/const.py:472 +msgid "In Love" +msgstr "מאוהב" + +#: gajim/common/const.py:473 +msgid "Indignant" +msgstr "ממורמר" + +# מעוניין, מגלה עניין, מתעניין +#: gajim/common/const.py:474 +msgid "Interested" +msgstr "מגלה עניין" + +# שתוי, מסוחרר +#: gajim/common/const.py:475 +msgid "Intoxicated" +msgstr "שיכור" + +#: gajim/common/const.py:476 +msgid "Invincible" +msgstr "בלתי מנוצח" + +#: gajim/common/const.py:477 +msgid "Jealous" +msgstr "מקנא" + +#: gajim/common/const.py:478 +msgid "Lonely" +msgstr "בודד" + +#: gajim/common/const.py:479 +msgid "Lost" +msgstr "אבוד" + +#: gajim/common/const.py:480 +msgid "Lucky" +msgstr "בר מזל" + +#: gajim/common/const.py:481 +msgid "Mean" +msgstr "דל" + +#: gajim/common/const.py:482 +msgid "Moody" +msgstr "מדוכדך" + +#: gajim/common/const.py:483 +msgid "Nervous" +msgstr "עצבני" + +#: gajim/common/const.py:484 +msgid "Neutral" +msgstr "אדיש" + +#: gajim/common/const.py:485 +msgid "Offended" +msgstr "נעלב" + +#: gajim/common/const.py:486 +msgid "Outraged" +msgstr "מזועזע" + +#: gajim/common/const.py:487 +msgid "Playful" +msgstr "שובב" + +#: gajim/common/const.py:488 +msgid "Proud" +msgstr "יהיר" + +#: gajim/common/const.py:489 +msgid "Relaxed" +msgstr "רגוע" + +# הקלה, מורגע +#: gajim/common/const.py:490 +msgid "Relieved" +msgstr "משוחרר" + +# מלא חרטה +#: gajim/common/const.py:491 +msgid "Remorseful" +msgstr "מתייסר" + +#: gajim/common/const.py:492 +msgid "Restless" +msgstr "חסר מנוחה" + +#: gajim/common/const.py:493 +msgid "Sad" +msgstr "עצוב" + +#: gajim/common/const.py:494 +msgid "Sarcastic" +msgstr "עוקצני" + +#: gajim/common/const.py:495 +msgid "Satisfied" +msgstr "מרוצה" + +#: gajim/common/const.py:496 +msgid "Serious" +msgstr "רציני" + +#: gajim/common/const.py:497 +msgid "Shocked" +msgstr "הלום" + +#: gajim/common/const.py:498 +msgid "Shy" +msgstr "ביישן" + +#: gajim/common/const.py:499 +msgid "Sick" +msgstr "חולה" + +#: gajim/common/const.py:500 +msgid "Sleepy" +msgstr "ישנוני" + +# טבעי, עצמוני +#: gajim/common/const.py:501 +msgid "Spontaneous" +msgstr "ספונטני" + +#: gajim/common/const.py:502 +msgid "Stressed" +msgstr "לחוץ" + +#: gajim/common/const.py:503 +msgid "Strong" +msgstr "חזק" + +#: gajim/common/const.py:504 +msgid "Surprised" +msgstr "מופתע" + +# מביע הערכה, מביע תודה +#: gajim/common/const.py:505 +msgid "Thankful" +msgstr "אסיר תודה" + +#: gajim/common/const.py:506 +msgid "Thirsty" +msgstr "צמא" + +#: gajim/common/const.py:507 +msgid "Tired" +msgstr "עייף" + +# בלתי מוגדר, לא ברור +# לא צלול (unclear) +# מטושטש, חבוי, קודר +#: gajim/common/const.py:508 +msgid "Undefined" +msgstr "מעורפל" + +#: gajim/common/const.py:509 +msgid "Weak" +msgstr "חלש" + +#: gajim/common/const.py:510 +msgid "Worried" +msgstr "מודאג" + +#: gajim/common/const.py:514 +msgid "accuracy" +msgstr "דיוק" + +#: gajim/common/const.py:515 +msgid "alt" +msgstr "גובה" + +#: gajim/common/const.py:516 +msgid "area" +msgstr "אזור" + +# GPS bearing +#: gajim/common/const.py:517 +msgid "bearing" +msgstr "הסבה" + +#: gajim/common/const.py:518 +msgid "building" +msgstr "בניין" + +#: gajim/common/const.py:519 +msgid "country" +msgstr "ארץ" + +#: gajim/common/const.py:520 +msgid "countrycode" +msgstr "מיקוד מדינה" + +# GPS datum +#: gajim/common/const.py:521 +msgid "datum" +msgstr "נתון" + +#: gajim/common/const.py:522 +msgid "description" +msgstr "תיאור" + +#: gajim/common/const.py:523 +msgid "error" +msgstr "שגיאה" + +#: gajim/common/const.py:524 +msgid "floor" +msgstr "קומה" + +#: gajim/common/const.py:525 +msgid "lat" +msgstr "קו רוחב" + +#: gajim/common/const.py:526 +msgid "locality" +msgstr "מקומיות" + +#: gajim/common/const.py:527 +msgid "lon" +msgstr "קו אורך" + +#: gajim/common/const.py:528 +msgid "postalcode" +msgstr "מיקוד דואר" + +#: gajim/common/const.py:529 +msgid "region" +msgstr "תחום" + +#: gajim/common/const.py:530 +msgid "room" +msgstr "חדר" + +#: gajim/common/const.py:531 +msgid "speed" +msgstr "מהירות" + +#: gajim/common/const.py:532 +msgid "street" +msgstr "רחוב" + +#: gajim/common/const.py:533 +msgid "text" +msgstr "תמליל" + +#: gajim/common/const.py:534 +msgid "timestamp" +msgstr "חותמת זמן" + +#: gajim/common/const.py:535 +msgid "URI" +msgstr "" + +#: gajim/common/const.py:540 +msgid "Unable to get issuer certificate" +msgstr "אין אפשרות לקבל תעודת מנפיק" + +#: gajim/common/const.py:541 +msgid "Unable to get certificate CRL" +msgstr "אין אפשרות לקבל תעודת CRL" + +#: gajim/common/const.py:542 +msgid "Unable to decrypt certificate's signature" +msgstr "אין אפשרות לפענח חתימת תעודה" + +#: gajim/common/const.py:543 +msgid "Unable to decrypt CRL's signature" +msgstr "אין אפשרות לפענח חתימת CRL" + +#: gajim/common/const.py:544 +msgid "Unable to decode issuer public key" +msgstr "אין אפשרות לפענח מפתח ציבורי של מנפיק" + +#: gajim/common/const.py:545 +msgid "Certificate signature failure" +msgstr "כשל תעודת חתימה" + +#: gajim/common/const.py:546 +msgid "CRL signature failure" +msgstr "כשל חתימת CRL" + +#: gajim/common/const.py:547 +msgid "Certificate is not yet valid" +msgstr "התעודה אינה תקפה עדיין" + +#: gajim/common/const.py:548 +msgid "Certificate has expired" +msgstr "התעודה פקעה" + +# CRL what? (Certificate?) +#: gajim/common/const.py:549 +msgid "CRL is not yet valid" +msgstr "‏CRL אינה תקפה עדיין" + +# CRL what? (Certificate?) +#: gajim/common/const.py:550 +msgid "CRL has expired" +msgstr "‏CRL פקעה" + +#: gajim/common/const.py:551 +msgid "Format error in certificate's notBefore field" +msgstr "שגיאת תסדיר בשדה notBefore של התעודה" + +#: gajim/common/const.py:552 +msgid "Format error in certificate's notAfter field" +msgstr "שגיאת תסדיר בשדה notAfter של התעודה" + +#: gajim/common/const.py:553 +msgid "Format error in CRL's lastUpdate field" +msgstr "שגיאת תסדיר בשדה lastUpdate של CRL" + +#: gajim/common/const.py:554 +msgid "Format error in CRL's nextUpdate field" +msgstr "שגיאת תסדיר בשדה nextUpdate של CRL" + +# זיכרון אזל +#: gajim/common/const.py:555 +msgid "Out of memory" +msgstr "לא נותר זיכרון" + +#: gajim/common/const.py:556 +msgid "Self signed certificate" +msgstr "תעודה חתומה באופן עצמי" + +#: gajim/common/const.py:557 +msgid "Self signed certificate in certificate chain" +msgstr "תעודה חתומה באופן עצמי בתוך שרשרת תעודה" + +#: gajim/common/const.py:558 +msgid "Unable to get local issuer certificate" +msgstr "אין אפשרות לקבל תעודת מנפיק מקומית" + +#: gajim/common/const.py:559 +msgid "Unable to verify the first certificate" +msgstr "אין אפשרות לאמת את התעודה הראשונה" + +#: gajim/common/const.py:560 +msgid "Certificate chain too long" +msgstr "שרשרת תעודה ארוכה מדי" + +#: gajim/common/const.py:561 +msgid "Certificate revoked" +msgstr "התעודה בוטלה" + +#: gajim/common/const.py:562 +msgid "Invalid CA certificate" +msgstr "תעודת CA חסרת תוקף" + +#: gajim/common/const.py:563 +msgid "Path length constraint exceeded" +msgstr "מגבלת אורך נתיב מוצתה" + +#: gajim/common/const.py:564 +msgid "Unsupported certificate purpose" +msgstr "תכלית תעודה לא נתמכת" + +#: gajim/common/const.py:565 +msgid "Certificate not trusted" +msgstr "התעודה אינה מהימנה" + +#: gajim/common/const.py:566 +msgid "Certificate rejected" +msgstr "התעודה נדחתה" + +# התניית המנפיק אינה תואמת +# תוכן/נושא מנפיק אינו תואם +# קיימת אי תיאום עם/ב +#: gajim/common/const.py:567 +msgid "Subject issuer mismatch" +msgstr "נושא מנפיק לא תואם" + +#: gajim/common/const.py:568 +msgid "Authority and subject key identifier mismatch" +msgstr "רשות ונושא מזהה מפתח לא תואמים" + +# ומספר מנפיק סידורי +#: gajim/common/const.py:569 +msgid "Authority and issuer serial number mismatch" +msgstr "רשות ומספר סידורי של מנפיק לא תואמים" + +#: gajim/common/const.py:570 +msgid "Key usage does not include certificate signing" +msgstr "שימוש מפתח לא כולל חתימת תעודה" + +#: gajim/common/const.py:571 +msgid "Application verification failure" +msgstr "כשל אימות פניה" + +#: gajim/common/const.py:893 +msgid "The signing certificate authority is not known" +msgstr "" + +#: gajim/common/const.py:894 +#, fuzzy +msgid "The certificate has been revoked" +msgstr "התעודה בוטלה" + +#: gajim/common/const.py:895 +msgid "The certificate does not match the expected identity of the site" +msgstr "" + +#: gajim/common/const.py:896 +msgid "The certificate’s algorithm is insecure" +msgstr "" + +#: gajim/common/const.py:897 +msgid "The certificate’s activation time is in the future" +msgstr "" + +#: gajim/common/const.py:898 +#, fuzzy +msgid "Unknown validation error" +msgstr "שגיאת SSL לא מוכרת: %d" + +#: gajim/common/const.py:899 +#, fuzzy +msgid "The certificate has expired" +msgstr "התעודה פקעה" + +#: gajim/common/const.py:954 +#, fuzzy +msgid "Authentication aborted" +msgstr "התקבלה הרשאה" + +#: gajim/common/const.py:955 +#, fuzzy +msgid "Account disabled" +msgstr "חשבון מנוטרל" + +#: gajim/common/const.py:956 +#, fuzzy +msgid "Credentials expired" +msgstr "אישורי Oauth2" + +#: gajim/common/const.py:957 +#, fuzzy +msgid "Encryption required" +msgstr "בקשת הרשמה" + +#: gajim/common/const.py:961 +#, fuzzy +msgid "Authentication mechanism not supported" +msgstr "הרחבה לא נתמכת" + +#: gajim/common/const.py:962 +#, fuzzy +msgid "Authentication mechanism too weak" +msgstr "אימות עם \"%s\" נכשל" + +#: gajim/common/const.py:964 +msgid "Authentication currently not possible" +msgstr "" + +#: gajim/common/const.py:1109 +msgid "No Sync" +msgstr "" + +#: gajim/common/const.py:1111 +msgid "2 Days" +msgstr "" + +#: gajim/common/const.py:1114 +msgid "No Threshold" +msgstr "" + +#: gajim/common/logging_helpers.py:31 +#, fuzzy, python-format +msgid "%s is not a valid loglevel" +msgstr "cli" + +#: gajim/common/zeroconf/zeroconf_avahi.py:256 +#: gajim/common/zeroconf/zeroconf_bonjour.py:248 +#: gajim/common/zeroconf/zeroconf_bonjour.py:265 +#: gajim/common/zeroconf/zeroconf_bonjour.py:323 +#, python-format +msgid "Error while adding service. %s" +msgstr "שגיאה בעת הוספת שירות. %s" + +#: gajim/common/zeroconf/connection_zeroconf.py:252 +#, python-format +msgid "Could not connect to \"%s\"" +msgstr "לא היתה אפשרות להתחבר אל \"%s\"" + +#: gajim/common/zeroconf/connection_zeroconf.py:253 +msgid "Please check if Avahi or Bonjour is installed." +msgstr "אנא בדוק כי Avahi או Bonjour מותקן במערכת." + +#: gajim/common/zeroconf/connection_zeroconf.py:263 +#: gajim/common/zeroconf/connection_zeroconf.py:267 +msgid "Could not start local service" +msgstr "לא היתה אפשרות להתחיל שירות מקומי" + +#: gajim/common/zeroconf/connection_zeroconf.py:264 +#, python-format +msgid "Unable to bind to port %d." +msgstr "אין אפשרות לכרוך לפורט %d." + +#: gajim/common/zeroconf/connection_zeroconf.py:268 +#, fuzzy +msgid "Please check if avahi/bonjour-daemon is running." +msgstr "אנא בדוק כי avahi-daemon מורץ כעת." + +#: gajim/common/zeroconf/connection_zeroconf.py:362 +#: gajim/common/zeroconf/connection_zeroconf.py:375 +#, python-format +msgid "Could not change status of account \"%s\"" +msgstr "לא היתה אפשרות לשנות מצב של חשבון \"%s\"" + +#: gajim/common/zeroconf/connection_zeroconf.py:363 +#: gajim/common/zeroconf/connection_zeroconf.py:376 +msgid "Please check if avahi-daemon is running." +msgstr "אנא בדוק כי avahi-daemon מורץ כעת." + +# הודעתך לא יכולה להישלח. +#: gajim/common/zeroconf/connection_zeroconf.py:404 +msgid "Your message could not be sent." +msgstr "לא היתה אפשרות לשלוח את הודעתך זו." + +# לא מחובר +#: gajim/common/zeroconf/connection_zeroconf.py:419 +msgid "Contact is offline. Your message could not be sent." +msgstr "איש קשר לא מקוון. לא היתה אפשרות לשלוח את הודעתך זו." + +#: gajim/common/zeroconf/connection_zeroconf.py:441 +msgid "" +"Connection to host could not be established: Timeout while sending data." +msgstr "לא היתה אפשרות לבסס חיבור למארח: תם הזמן בעת שליחת מידע." + +#: gajim/common/dbus/logind.py:73 +#, fuzzy +msgid "Machine is going to sleep" +msgstr "מחשב על סף שינה‫" + +#: gajim/common/dbus/logind.py:103 +msgid "Disconnect from the network" +msgstr "" + +#: gajim/common/modules/adhoc_commands.py:88 +msgid "Change status information" +msgstr "שנה מידע מצב" + +#: gajim/common/modules/adhoc_commands.py:112 +msgid "Change status" +msgstr "שנה מצב" + +#: gajim/common/modules/adhoc_commands.py:113 +msgid "Set the presence type and description" +msgstr "קביעת טיפוס ותיאור הנוכחות" + +# BUG: Free for Chat +# BUG: x2 +#: gajim/common/modules/adhoc_commands.py:120 +msgid "Free for chat" +msgstr "חופשי לשיחה" + +#: gajim/common/modules/adhoc_commands.py:121 +msgid "Online" +msgstr "מקוון" + +#: gajim/common/modules/adhoc_commands.py:123 +msgid "Extended away" +msgstr "נעדר לזמן ארוך" + +#: gajim/common/modules/adhoc_commands.py:124 +msgid "Do not disturb" +msgstr "נא לא להפריע" + +# Needs to be tested +#: gajim/common/modules/adhoc_commands.py:125 +msgid "Offline - disconnect" +msgstr "לא מקוון - מנותק" + +# BUG: Remove colon because it is appearing in Psi with two colons +# תיאור נוכחות:: +#: gajim/common/modules/adhoc_commands.py:131 +msgid "Presence description:" +msgstr "תיאור נוכחות:" + +# BUG: remove "the" +#: gajim/common/modules/adhoc_commands.py:170 +msgid "The status has been changed." +msgstr "המצב השתנה." + +#: gajim/common/modules/presence.py:265 +msgid "I would like to add you to my roster." +msgstr "ברצוני להוסיף אותך לרשימה שלי." + +#: gajim/common/modules/roster_item_exchange.py:103 +#, fuzzy, python-format +msgid "Sent contact: \"%(jid)s\" (%(name)s)" +msgstr "איש קשר אשר נשלח: \"%s\" ‏(%s)" + +#: gajim/common/modules/roster_item_exchange.py:107 +msgid "Sent contacts:" +msgstr "אנשי קשר אשר נשלחו:" + +#: gajim/common/modules/httpupload.py:99 +msgid "File is empty" +msgstr "קובץ ריק" + +#: gajim/common/modules/httpupload.py:102 +msgid "File does not exist" +msgstr "קובץ לא קיים" + +#: gajim/common/modules/httpupload.py:109 +#: gajim/common/modules/httpupload.py:172 +#, python-format +msgid "File is too large, maximum allowed file size is: %s" +msgstr "" + +#: gajim/common/modules/httpupload.py:279 +#, fuzzy +msgid "Encrypting file…" +msgstr "הצפנת E2E מנוטרלת כעת" + +#: gajim/common/modules/httpupload.py:280 +msgid "Requesting HTTP File Upload Slot…" +msgstr "" + +#: gajim/common/modules/httpupload.py:281 +msgid "Uploading via HTTP File Upload…" +msgstr "" + +#: gajim/common/modules/httpupload.py:285 +#, fuzzy +msgid "The server returned an insecure transport (HTTP)." +msgstr "שירות החזיר שגיאה." + +#: gajim/common/modules/httpupload.py:286 +msgid "There is no encryption method available for the chosen encryption." +msgstr "" + +#: gajim/plugins/pluginmanager.py:679 gajim/plugins/pluginmanager.py:685 +msgid "Archive corrupted" +msgstr "ארכיון מושחת" + +#: gajim/plugins/pluginmanager.py:681 +msgid "Archive empty" +msgstr "ארכיון ריק" + +#: gajim/plugins/pluginmanager.py:693 gajim/plugins/pluginmanager.py:701 +#: gajim/plugins/gui.py:273 +msgid "Archive is malformed" +msgstr "ארכיון הינו פגום" + +#: gajim/plugins/pluginmanager.py:710 gajim/plugins/gui.py:288 +#: gajim/plugins/gui.py:301 +msgid "Plugin already exists" +msgstr "תוסף כבר ישנו" + +#: gajim/plugins/pluginmanager.py:720 +#, fuzzy +msgid "Installation failed" +msgstr "רישום נכשל" + +#: gajim/plugins/gui.py:67 gajim/data/gui/shortcuts_window.ui:38 +msgid "Plugins" +msgstr "תוספים" + +#: gajim/plugins/gui.py:75 +msgid "Click to view Gajim's wiki page on how to install plugins in Flatpak." +msgstr "" + +#: gajim/plugins/gui.py:84 +msgid "Plugin" +msgstr "תוסף" + +#: gajim/plugins/gui.py:95 gajim/data/gui/manage_sounds.ui:40 +msgid "Active" +msgstr "פעיל" + +#: gajim/plugins/gui.py:159 +#, python-format +msgid "Warning: %s" +msgstr "אזהרה: %s" + +#: gajim/plugins/gui.py:216 +msgid "Plugin failed" +msgstr "כשל תוסף" + +#: gajim/plugins/gui.py:249 +msgid "Unable to properly remove the plugin" +msgstr "אין אפשרות להסיר כהוגן את התוסף" + +#: gajim/plugins/gui.py:287 +#, fuzzy +msgid "Overwrite Plugin?" +msgstr "להחליף?" + +#: gajim/plugins/gui.py:289 +#, fuzzy +msgid "Do you want to overwrite the currently installed version?" +msgstr "האם ברצונך לקבל את ההזמנה?" + +#: gajim/plugins/gui.py:317 gajim/data/gui/groupchat_config.ui:258 +msgid "Configuration" +msgstr "תצורה" + +#: gajim/data/gui/groupchat_nick_chooser.ui:47 +#, fuzzy +msgid "Join Group Chat as…" +msgstr "הצטרף לשיחת קבוצה" + +#: gajim/data/gui/groupchat_nick_chooser.ui:66 +#, fuzzy +msgid "Your Nickname" +msgstr "שם כינוי:" + +#: gajim/data/gui/groupchat_control.ui:36 +#, fuzzy +msgid "Drop Files or Contacts" +msgstr "הזמן _אנשי קשר" + +#: gajim/data/gui/groupchat_control.ui:58 gajim/data/gui/chat_control.ui:322 +msgid "Bold" +msgstr "מובלט" + +#: gajim/data/gui/groupchat_control.ui:67 gajim/data/gui/chat_control.ui:331 +msgid "Italic" +msgstr "נטוי" + +#: gajim/data/gui/groupchat_control.ui:76 gajim/data/gui/chat_control.ui:340 +msgid "Underline" +msgstr "קו תחתון" + +#: gajim/data/gui/groupchat_control.ui:85 gajim/data/gui/chat_control.ui:349 +msgid "Strike" +msgstr "קו חוצה" + +#: gajim/data/gui/groupchat_control.ui:107 gajim/data/gui/chat_control.ui:371 +msgid "Font" +msgstr "גופן" + +# Reset +#: gajim/data/gui/groupchat_control.ui:121 gajim/data/gui/chat_control.ui:385 +#, fuzzy +msgid "Clear formatting" +msgstr "איפוס עיצוב" + +#: gajim/data/gui/groupchat_control.ui:383 gajim/data/gui/chat_control.ui:784 +#, fuzzy +msgid "Choose encryption" +msgstr "הצפנת סיסמה" + +#: gajim/data/gui/groupchat_control.ui:429 gajim/data/gui/chat_control.ui:667 +#, fuzzy +msgid "Show a list of emojis (Alt+M)" +msgstr "הצגת רשימת רגשונים (Alt+M)" + +#: gajim/data/gui/groupchat_control.ui:454 gajim/data/gui/chat_control.ui:833 +#, fuzzy +msgid "Send Message" +msgstr "מסירת הודעה" + +#: gajim/data/gui/groupchat_control.ui:583 +#, fuzzy +msgid "Joining…" +msgstr "אסירה..." + +# להכניס/להזין +#: gajim/data/gui/groupchat_control.ui:641 +#, fuzzy +msgid "Enter Nickname" +msgstr "שבץ שם כינוי" + +#: gajim/data/gui/groupchat_control.ui:691 +#: gajim/data/gui/groupchat_control.ui:783 +#, fuzzy +msgid "Ch_ange" +msgstr "שנה שם _כינוי..." + +#: gajim/data/gui/groupchat_control.ui:748 +#: gajim/data/gui/shortcuts_window.ui:319 +#, fuzzy +msgid "Change Subject" +msgstr "שנה _נושא..." + +#: gajim/data/gui/groupchat_control.ui:864 +#, fuzzy +msgid "Enter Password" +msgstr "הזן סיסמה חדשה:" + +#: gajim/data/gui/groupchat_control.ui:1081 +#, fuzzy +msgid "_Forget Group Chat" +msgstr "עזוב שיחות קבוצה" + +# BUG: a dot at the end +#: gajim/data/gui/groupchat_control.ui:1085 +#, fuzzy +msgid "Gajim will not try to join this group chat again" +msgstr "כאשר מסומן, Gajim יצטרף לשיחת קבוצה זו בעת הפעלה" + +# מאמת +#: gajim/data/gui/groupchat_control.ui:1102 +#, fuzzy +msgid "T_ry Again" +msgstr "אמת שוב..." + +#: gajim/data/gui/groupchat_control.ui:1156 +#, fuzzy +msgid "An Error Occurred" +msgstr "אירעה שגיאה:" + +# מאמת +#: gajim/data/gui/groupchat_control.ui:1221 +#, fuzzy +msgid "_Try Again" +msgstr "אמת שוב..." + +#: gajim/data/gui/groupchat_control.ui:1398 +#, fuzzy +msgid "Kick Participant" +msgstr "משתתף" + +#: gajim/data/gui/groupchat_control.ui:1436 +msgid "_Kick" +msgstr "ב_עט" + +#: gajim/data/gui/groupchat_control.ui:1469 +#: gajim/data/gui/groupchat_control.ui:1595 +#: gajim/data/gui/groupchat_control.ui:1721 +#: gajim/data/gui/groupchat_control.ui:1738 +#: gajim/data/gui/groupchat_control.ui:1827 +#: gajim/data/gui/groupchat_control.ui:1828 +msgid "Insert Emoji" +msgstr "" + +# מקום מפגש חלופי +#: gajim/data/gui/groupchat_control.ui:1482 +#: gajim/data/gui/groupchat_control.ui:1608 +#, fuzzy +msgid "Reason (optional)" +msgstr "באפשרותך להזין זירה אלטרנטיבית:" + +#: gajim/data/gui/groupchat_control.ui:1524 +#, fuzzy +msgid "Ban Participant" +msgstr "משתתף" + +#: gajim/data/gui/groupchat_control.ui:1562 +msgid "_Ban" +msgstr "א_סור" + +#: gajim/data/gui/groupchat_control.ui:1650 +#, fuzzy +msgid "Destroy This Chat" +msgstr "שיחת קבוצה חדשה" + +# Destroying is "at this moment". It should be Destroy without ing +#: gajim/data/gui/groupchat_control.ui:1688 +#, fuzzy +msgid "_Destroy" +msgstr "החרבת ‫%s" + +# מקום מפגש חלופי +#: gajim/data/gui/groupchat_control.ui:1722 +#, fuzzy +msgid "Alternate venue (optional)..." +msgstr "באפשרותך להזין זירה אלטרנטיבית:" + +#: gajim/data/gui/groupchat_control.ui:1739 +#, fuzzy +msgid "Reason (optional)..." +msgstr "סיבה" + +#: gajim/data/gui/groupchat_control.ui:1752 +msgid "Reason for destruction" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1767 +msgid "Where participants should go" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1808 +#, fuzzy +msgid "Rename This Chat" +msgstr "עזוב שיחות קבוצה" + +#: gajim/data/gui/groupchat_control.ui:1935 +#, fuzzy +msgid "_Invite" +msgstr "ה_זמן" + +#: gajim/data/gui/groupchat_control.ui:2020 +#, fuzzy +msgid "Settings for This Chat" +msgstr "התעלם משגיאה זו עבור תעודה זו." + +#: gajim/data/gui/filetransfers.ui:21 +#, fuzzy +msgid "Pa_use/Resume" +msgstr "_חזור" + +#: gajim/data/gui/filetransfers.ui:45 +#, fuzzy +msgid "_Open Folder" +msgstr "_פתח תיקיה מכילה" + +#: gajim/data/gui/filetransfers.ui:56 gajim/data/gui/filetransfers.ui:206 +msgid "File Transfers" +msgstr "העברות קבצים" + +#: gajim/data/gui/filetransfers.ui:91 +#, fuzzy +msgid "_Show notification when file transfer is complete" +msgstr "הו_דע לי כאשר העברת קובץ הושלמה" + +#: gajim/data/gui/filetransfers.ui:131 +msgid "file transfers list" +msgstr "רשימת העברת קבצים" + +#: gajim/data/gui/filetransfers.ui:132 +msgid "A list of active, completed and stopped file transfers" +msgstr "רשימה של העברות קבצים מושהות, מושלמות ופעילות" + +#: gajim/data/gui/filetransfers.ui:154 +#, fuzzy +msgid "Remove completed, cancelled and failed file transfers from the list" +msgstr "הסרת העברות קבצים שלמות, מבוטלות וכושלות מתוך הרשימה" + +#: gajim/data/gui/filetransfers.ui:167 +#, fuzzy +msgid "Pause or resume file transfer" +msgstr "ביטול העברת קובץ" + +#: gajim/data/gui/filetransfers.ui:180 +#, fuzzy +msgid "Cancel the selected file transfer and remove incomplete files" +msgstr "ביטול העברת קובץ נבחר והסרת קבצים לא שלמים" + +#: gajim/data/gui/filetransfers.ui:207 +#, fuzzy +msgid "Shows a list of file transfers between you and your contacts" +msgstr "הצגת רשימה של העברות קבצים בינך לבין אחרים" + +#: gajim/data/gui/add_new_contact_window.ui:76 +#, fuzzy +msgid "_XMPP Address" +msgstr "_כתובת:" + +#: gajim/data/gui/add_new_contact_window.ui:92 +#, fuzzy +msgid "_Nickname" +msgstr "שם כי_נוי:" + +#: gajim/data/gui/add_new_contact_window.ui:109 +#, fuzzy +msgid "_Group" +msgstr "_קבוצה:" + +#: gajim/data/gui/add_new_contact_window.ui:157 +msgid "Choose or type new group name" +msgstr "" + +#: gajim/data/gui/add_new_contact_window.ui:173 +#, fuzzy +msgid "A_ccount" +msgstr "_חשבון:" + +#: gajim/data/gui/add_new_contact_window.ui:189 +#, fuzzy +msgid "_Protocol" +msgstr "_פרוטוקול:" + +#: gajim/data/gui/add_new_contact_window.ui:287 +#: gajim/data/gui/single_message_window.ui:161 +#, fuzzy +msgid "Query Contact Info" +msgstr "מידע איש קשר" + +#: gajim/data/gui/add_new_contact_window.ui:312 +#, fuzzy +msgid "A_llow contact to view my status" +msgstr "הת_ר לאיש קשר זה לראות את המצב שלי" + +# BUG: Request or Subscription Request instead of Subscription +# בקשת +#: gajim/data/gui/add_new_contact_window.ui:363 +msgid "_Save subscription message" +msgstr "_שמור הודעת הרשמה" + +# טרנספורט +#: gajim/data/gui/add_new_contact_window.ui:389 +#, fuzzy +msgid "" +"You have to register with this transport\n" +"to be able to add a contact from this\n" +"protocol. Click on Register button to\n" +"proceed." +msgstr "" +"עליך להירשם באמצעות מוביל זה\n" +"כדי שתהיה באפשרותך להוסיף איש\n" +"קשר מתוך פרוטוקול זה. הקלק על\n" +"לחצן רישום כדי להמשיך." + +#: gajim/data/gui/add_new_contact_window.ui:404 +msgid "_Register" +msgstr "_רישום" + +# הוספת איש קשר מפרוטוקול זה מותנית בכך כי תהא מחובר למוביל +#: gajim/data/gui/add_new_contact_window.ui:433 +msgid "" +"You must be connected to the transport to be able\n" +"to add a contact from this protocol." +msgstr "" +"עליך להתחבר למוביל בכדי שתעמוד לרשותך\n" +"האפשרות להוסיף איש קשר מתוך פרוטוקול זה." + +#: gajim/data/gui/add_new_contact_window.ui:467 +#, fuzzy +msgid "_Add" +msgstr "_כתובת:" + +#: gajim/data/gui/account_wizard.ui:16 gajim/data/gui/manage_proxies.ui:206 +#, fuzzy +msgid "_Port" +msgstr "_פורט:" + +#: gajim/data/gui/account_wizard.ui:46 +#, fuzzy +msgid "_Hostname" +msgstr "שם מ_ארח:" + +#: gajim/data/gui/account_wizard.ui:62 gajim/data/gui/account_wizard.ui:689 +#: gajim/data/gui/manage_proxies.ui:223 +msgid "example.org" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:75 +#, fuzzy +msgid "Prox_y" +msgstr "_פרוקסי:" + +#: gajim/data/gui/account_wizard.ui:110 +#, fuzzy +msgid "Manage Proxies..." +msgstr "ניהול דיוקני Proxy" + +#: gajim/data/gui/account_wizard.ui:131 gajim/data/gui/preferences.ui:798 +#, fuzzy +msgid "Advanced Settings" +msgstr "קיצורי מקש" + +#: gajim/data/gui/account_wizard.ui:163 gajim/data/gui/manage_proxies.ui:290 +#, fuzzy +msgid "_Type" +msgstr "_טיפוס:" + +#: gajim/data/gui/account_wizard.ui:203 +msgid "Welcome" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:219 +#, fuzzy +msgid "Please enter your credentials or Sign Up" +msgstr "אנא צור מוטיב חדש עם השם הרצוי עליך." + +#: gajim/data/gui/account_wizard.ui:237 +msgid "Your XMPP address (e.g. user@example.org)" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:239 +#: gajim/data/gui/single_message_window.ui:59 +msgid "user@example.org" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:252 +#, fuzzy +msgid "Your password" +msgstr "הזן סיסמה חדשה:" + +#: gajim/data/gui/account_wizard.ui:266 gajim/data/gui/account_wizard.ui:719 +#, fuzzy +msgid "_Advanced Settings" +msgstr "קיצורי מקש" + +# BUG: _underline +#: gajim/data/gui/account_wizard.ui:270 gajim/data/gui/account_wizard.ui:723 +#, fuzzy +msgid "Proxy, custom hostname and port" +msgstr "התאם שם מארח\\פורט" + +#: gajim/data/gui/account_wizard.ui:283 +msgid "_Log In" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:288 +msgid "Log in with your credentials" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:304 +#, fuzzy +msgid "or" +msgstr "עבודה" + +#: gajim/data/gui/account_wizard.ui:314 +#, fuzzy +msgid "_Sign Up" +msgstr "התח_ברות" + +#: gajim/data/gui/account_wizard.ui:318 +msgid "Sign up for a new account on a server of your choice" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:369 +msgid "Visit Website" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:410 +#, fuzzy +msgid "Certificate Verification Failed" +msgstr "אימות תעודת SSL עבור %s" + +#: gajim/data/gui/account_wizard.ui:428 +msgid "" +"The following warnings came up while trying to verify the server's " +"certificate" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:457 +#, fuzzy +msgid "_Show Certificate" +msgstr "הצג תעודה..." + +#: gajim/data/gui/account_wizard.ui:472 +#, fuzzy +msgid "_Add to Trusted Certificates" +msgstr "תעודת לקוח" + +#: gajim/data/gui/account_wizard.ui:501 gajim/data/gui/account_wizard.ui:664 +msgid "Which server should I choose?" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:516 +msgid "" +"There are plenty of servers to choose from.\n" +"Creating an account on one server allows you to communicate with contacts " +"from other servers as well." +msgstr "" + +#: gajim/data/gui/account_wizard.ui:530 +msgid "Visit Server's Website" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:550 +msgid "Listing of Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:568 +msgid "" +"xmpp.org/getting-started" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:646 +#, fuzzy +msgid "_Please choose a server" +msgstr "אנא צור מוטיב חדש עם השם הרצוי עליך." + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "" + +#: gajim/data/gui/application_menu.ui:8 +#, fuzzy +msgid "_Start / Join Chat…" +msgstr "התחלת שיחה" + +#: gajim/data/gui/application_menu.ui:13 +#, fuzzy +msgid "Create _Group Chat…" +msgstr "עזוב שיחות קבוצה" + +#: gajim/data/gui/application_menu.ui:18 +#, fuzzy +msgid "_History Manager" +msgstr "מנהל היסטוריה" + +#: gajim/data/gui/application_menu.ui:22 +#, fuzzy +msgid "Pl_ugins" +msgstr "תוספים" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +#, fuzzy +msgid "_Preferences" +msgstr "העדפות" + +#: gajim/data/gui/application_menu.ui:36 +#, fuzzy +msgid "_Accounts" +msgstr "חשבונות" + +#: gajim/data/gui/application_menu.ui:39 +#, fuzzy +msgid "_View" +msgstr "_תצוגה" + +#: gajim/data/gui/application_menu.ui:46 +#, fuzzy +msgid "Show _Offline Contacts" +msgstr "הצג אנשי קשר _לא מקוונים" + +#: gajim/data/gui/application_menu.ui:50 +#, fuzzy +msgid "Show _Active Contacts" +msgstr "הצג אנשי קשר _פעילים בלבד" + +#: gajim/data/gui/application_menu.ui:54 +#, fuzzy +msgid "Show _Transports" +msgstr "הצג מו_בילים" + +#: gajim/data/gui/application_menu.ui:60 +#, fuzzy +msgid "_XML Console" +msgstr "מסוף XML" + +#: gajim/data/gui/application_menu.ui:64 +#, fuzzy +msgid "_File Transfer" +msgstr "העברות קבצים" + +#: gajim/data/gui/application_menu.ui:74 +#, fuzzy +msgid "_Help" +msgstr "_עזרה" + +#: gajim/data/gui/application_menu.ui:77 +#, fuzzy +msgid "_Wiki (Online)" +msgstr "מקוון" + +#: gajim/data/gui/application_menu.ui:81 +#, fuzzy +msgid "FA_Q (Online)" +msgstr "מקוון" + +#: gajim/data/gui/application_menu.ui:85 +#, fuzzy +msgid "_Keyboard Shortcuts" +msgstr "קיצורי מקש" + +#: gajim/data/gui/application_menu.ui:89 +#, fuzzy +msgid "_Features" +msgstr "תכונות" + +#: gajim/data/gui/application_menu.ui:93 +#, fuzzy +msgid "_About" +msgstr "אודות" + +#: gajim/data/gui/filetransfer_progress.ui:125 +#, fuzzy +msgid "Speed" +msgstr "מהירות" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +#, fuzzy +msgid "OK" +msgstr "_אישור" + +#: gajim/data/gui/plugins_window.ui:55 +#, fuzzy +msgid "Install Plugin from ZIP-File" +msgstr "התקן מתוך zip" + +#: gajim/data/gui/plugins_window.ui:56 +#, fuzzy +msgid "Install from File…" +msgstr "התקן מתוך zip" + +#: gajim/data/gui/plugins_window.ui:70 +#, fuzzy +msgid "Uninstall Plugin" +msgstr "הסר" + +#: gajim/data/gui/plugins_window.ui:116 +#, fuzzy +msgid "" +msgstr "כשל תוסף" + +#: gajim/data/gui/plugins_window.ui:133 +#, fuzzy +msgid "Plugin Settings" +msgstr "תוספים" + +#: gajim/data/gui/plugins_window.ui:215 +#, fuzzy +msgid "" +msgstr "תיאור" + +#: gajim/data/gui/plugins_window.ui:239 +#, fuzzy +msgid "Version" +msgstr "גרסא:" + +#: gajim/data/gui/plugins_window.ui:271 +#, fuzzy +msgid "Authors" +msgstr "מחברים:" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +#, fuzzy +msgid "Homepage" +msgstr "עמוד בית:" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "<ריק>" + +#: gajim/data/gui/plugins_window.ui:349 +msgid "Installed" +msgstr "מותקנים" + +# בעת התחלת +#: gajim/data/gui/plugins_window.ui:363 +#, fuzzy +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "תיאור תוסף צריך להיות מוצג כאן. תמליל זה ימחק בעת אתחול PluginsWindow." + +# BUG: SynchroniZe +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +msgid "Synchronise contacts" +msgstr "סנכרון אנשי קשר" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "בחר את החשבון אשר עמו ברצונך לסנכרן" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +#, fuzzy +msgid "_Name" +msgstr "_שם:" + +#: gajim/data/gui/groupchat_creation.ui:122 +#, fuzzy +msgid "_Description" +msgstr "תיאור" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +#, fuzzy +msgid "_Address" +msgstr "_כתובת:" + +#: gajim/data/gui/groupchat_creation.ui:278 +#, fuzzy +msgid "_Account" +msgstr "_חשבונות" + +#: gajim/data/gui/profile.ui:33 +#, fuzzy +msgid "Contact Infos" +msgstr "מידע איש קשר" + +#: gajim/data/gui/profile.ui:45 +#, fuzzy +msgid "Picture and Name" +msgstr "cli" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "" + +#: gajim/data/gui/profile.ui:198 +#, fuzzy +msgid "Change your profile picture" +msgstr "שינוי שם כינוי (Ctrl+N)" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:298 +#, fuzzy +msgid "Add Entry" +msgstr "רשומה:" + +#: gajim/data/gui/profile.ui:410 +#, fuzzy +msgid "Update" +msgstr "עדכן MOTD..." + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:15 +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:65 +#, fuzzy +msgid "Add Proxy" +msgstr "_פרוקסי:" + +#: gajim/data/gui/manage_proxies.ui:79 +#, fuzzy +msgid "Remove Proxy" +msgstr "הסרת קבוצה" + +#: gajim/data/gui/manage_proxies.ui:131 +#, fuzzy +msgid "Pass_word" +msgstr "ס_יסמה:" + +#: gajim/data/gui/manage_proxies.ui:156 +msgid "Use proxy auth_entication" +msgstr "השתמש באימות _proxy" + +#: gajim/data/gui/manage_proxies.ui:176 +#, fuzzy +msgid "_Username" +msgstr "שם _משתמש:" + +#: gajim/data/gui/manage_proxies.ui:237 +#, fuzzy +msgid "_Host" +msgstr "שם מ_ארח:" + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "‏JID מקומית:" + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "משאב:" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "מצב:" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +#, fuzzy +msgid "_Store conversation history" +msgstr "_רשום היסטוריית שיחה" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +msgid "Contact" +msgstr "איש קשר" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +msgid "First Name:" +msgstr "שם פרטי:" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +msgid "Last Name:" +msgstr "שם משפחה:" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +#, fuzzy +msgid "XMPP Address:" +msgstr "כתובת AIM:" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "דוא״ל:" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +msgid "Personal" +msgstr "אישי" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "_מצב" + +#: gajim/data/gui/account_context_menu.ui:20 +msgid "_Personal Events" +msgstr "_אירועים אישיים" + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "הוסף _איש קשר..." + +# איתור +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "מצא _שירותים" + +#: gajim/data/gui/account_context_menu.ui:57 +msgid "_Execute Command..." +msgstr "הרץ _פקודה..." + +#: gajim/data/gui/account_context_menu.ui:65 +#, fuzzy +msgid "_View Server Info" +msgstr "שרת" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:125 +#, fuzzy +msgid "Global Group Chat Search" +msgstr "הצטרף לשיחת קבוצה" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +#, fuzzy +msgid "_Back" +msgstr "אשוב בקרוב" + +#: gajim/data/gui/start_chat_dialog.ui:386 +#, fuzzy +msgid "Select Account" +msgstr "הסרת חשבון ‫%s" + +#: gajim/data/gui/start_chat_dialog.ui:477 +#, fuzzy +msgid "_Select" +msgstr "מנקה" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +msgid "Configure" +msgstr "תצורה" + +# In Hebrew: גאג'ים +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "‫Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +msgid "Create new post" +msgstr "יצירת פוסט חדש" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "_מצב" + +#: gajim/data/gui/systray_context_menu.ui:20 +msgid "_Start Chat..." +msgstr "התחל _שיחה..." + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "שלח הודעה _בודדת..." + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "הצג _אירועים ממתינים" + +#: gajim/data/gui/systray_context_menu.ui:52 +msgid "Mute Sounds" +msgstr "דומם _צלילים" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +#, fuzzy +msgid "Contact List" +msgstr "איש קשר" + +#: gajim/data/gui/shortcuts_window.ui:24 +#, fuzzy +msgid "Create new group chat" +msgstr "עזוב שיחות קבוצה" + +#: gajim/data/gui/shortcuts_window.ui:45 +#, fuzzy +msgid "File transfers" +msgstr "העברת קובץ" + +#: gajim/data/gui/shortcuts_window.ui:52 +#, fuzzy +msgid "Set the status message" +msgstr "cli" + +#: gajim/data/gui/shortcuts_window.ui:59 +#, fuzzy +msgid "Show XML console" +msgstr "הצג _מסוף XML" + +#: gajim/data/gui/shortcuts_window.ui:74 +#, fuzzy +msgid "Appearance" +msgstr "הופעת שיחה" + +#: gajim/data/gui/shortcuts_window.ui:79 +#, fuzzy +msgid "Show offline contacts" +msgstr "הצג אנשי קשר _לא מקוונים" + +#: gajim/data/gui/shortcuts_window.ui:86 +#, fuzzy +msgid "Show only active contacts" +msgstr "הצג אנשי קשר _פעילים בלבד" + +#: gajim/data/gui/shortcuts_window.ui:93 +msgid "Enable contact list filtering" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:100 +#, fuzzy +msgid "Show / hide contact list" +msgstr "הצג אנשי קשר _פעילים בלבד" + +#: gajim/data/gui/shortcuts_window.ui:113 +#, fuzzy +msgid "Contact information" +msgstr "מידע איש קשר" + +#: gajim/data/gui/shortcuts_window.ui:120 +#, fuzzy +msgid "Rename contact" +msgstr "שינוי שם איש קשר" + +#: gajim/data/gui/shortcuts_window.ui:127 +#, fuzzy +msgid "Delete contact" +msgstr "אנשי קשר אשר נשלחו:" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +#, fuzzy +msgid "Chat" +msgstr "שיחות" + +#: gajim/data/gui/shortcuts_window.ui:142 +#, fuzzy +msgid "Message composition" +msgstr "cli" + +#: gajim/data/gui/shortcuts_window.ui:147 +#, fuzzy +msgid "Send the message" +msgstr "מסירת הודעה" + +#: gajim/data/gui/shortcuts_window.ui:154 +#, fuzzy +msgid "Add new line" +msgstr "יצירת פוסט חדש" + +#: gajim/data/gui/shortcuts_window.ui:161 +msgid "Select an emoji" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:168 +#, fuzzy +msgid "Complete a command or a nickname" +msgstr "אנא צור מוטיב חדש עם השם הרצוי עליך." + +#: gajim/data/gui/shortcuts_window.ui:175 +#, fuzzy +msgid "Previously sent message" +msgstr "הודעות מותאמות:" + +#: gajim/data/gui/shortcuts_window.ui:182 +#, fuzzy +msgid "Next sent messages" +msgstr "הודעות מותאמות:" + +#: gajim/data/gui/shortcuts_window.ui:189 +#, fuzzy +msgid "Quote previous message" +msgstr "cli" + +#: gajim/data/gui/shortcuts_window.ui:196 +#, fuzzy +msgid "Quote next message" +msgstr "מסירת הודעה" + +#: gajim/data/gui/shortcuts_window.ui:203 +#, fuzzy +msgid "Clear message entry" +msgstr "הודעה נשלחה" + +# (שנפתחו) לאחרונה +# (חדרים/ערוצים) אחרונים +# (כתובות) אחרונות +#: gajim/data/gui/shortcuts_window.ui:211 +#, fuzzy +msgid "Recent history" +msgstr "אחרונים:" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:230 +#, fuzzy +msgid "Clear chat window" +msgstr "טיהור תמליל חלון" + +# (שנפתחו) לאחרונה +# (חדרים/ערוצים) אחרונים +# (כתובות) אחרונות +#: gajim/data/gui/shortcuts_window.ui:237 +#, fuzzy +msgid "Show chat history" +msgstr "אחרונים:" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:299 +msgid "Close chat" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:312 +#, fuzzy +msgid "Change Nickname" +msgstr "שנה שם _כינוי..." + +#: gajim/data/gui/chat_control.ui:48 +#, fuzzy +msgid "Drop files or contacts" +msgstr "cli" + +#: gajim/data/gui/chat_control.ui:80 +#, fuzzy +msgid "1" +msgstr "גופן" + +#: gajim/data/gui/chat_control.ui:101 +#, fuzzy +msgid "2 abc" +msgstr "גופן" + +#: gajim/data/gui/chat_control.ui:121 +#, fuzzy +msgid "3 def" +msgstr "גופן" + +#: gajim/data/gui/chat_control.ui:141 +#, fuzzy +msgid "4 ghi" +msgstr "גופן" + +#: gajim/data/gui/chat_control.ui:161 +#, fuzzy +msgid "5 jkl" +msgstr "גופן" + +#: gajim/data/gui/chat_control.ui:181 +#, fuzzy +msgid "6 mno" +msgstr "גופן" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "" + +#: gajim/data/gui/chat_control.ui:221 +#, fuzzy +msgid "8 tuv" +msgstr "גופן" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "" + +#: gajim/data/gui/chat_control.ui:261 +#, fuzzy +msgid "*" +msgstr "גופן" + +#: gajim/data/gui/chat_control.ui:281 +#, fuzzy +msgid "0" +msgstr "גופן" + +#: gajim/data/gui/chat_control.ui:301 +#, fuzzy +msgid "#" +msgstr "גופן" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "התחל _שיחה" + +#: gajim/data/gui/contact_context_menu.ui:28 +msgid "Send _File..." +msgstr "שלח _קובץ..." + +#: gajim/data/gui/contact_context_menu.ui:44 +msgid "Invite _Contacts" +msgstr "הזמן _אנשי קשר" + +#: gajim/data/gui/contact_context_menu.ui:58 +msgid "E_xecute Command..." +msgstr "הרץ _פקודה..." + +#: gajim/data/gui/contact_context_menu.ui:67 +msgid "M_anage Contact" +msgstr "_נהל איש קשר" + +#: gajim/data/gui/contact_context_menu.ui:77 +msgid "_Rename..." +msgstr "_שנה שם..." + +#: gajim/data/gui/contact_context_menu.ui:84 +msgid "Edit _Groups..." +msgstr "ערוך _קבוצות..." + +#: gajim/data/gui/contact_context_menu.ui:92 +msgid "Add Special _Notification..." +msgstr "הוסף ה_תראה מיוחדת..." + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "ה_רשמה" + +#: gajim/data/gui/contact_context_menu.ui:115 +msgid "_Allow contact to see my status" +msgstr "הת_ר לאיש קשר לראות את המצב שלי" + +#: gajim/data/gui/contact_context_menu.ui:123 +msgid "A_sk to see contact status" +msgstr "_בקש להציג מצב איש קשר" + +#: gajim/data/gui/contact_context_menu.ui:131 +msgid "_Forbid contact to see my status" +msgstr "_מנע מאיש קשר מלראות את המצב שלי" + +#: gajim/data/gui/contact_context_menu.ui:159 +msgid "_Unignore" +msgstr "_בטל התעלמות" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "הת_עלם" + +#: gajim/data/gui/contact_context_menu.ui:174 +#, fuzzy +msgid "_Add to Contact List..." +msgstr "הוסף _איש קשר..." + +#: gajim/data/gui/single_message_window.ui:42 +#, fuzzy +msgid "_To" +msgstr "אל" + +#: gajim/data/gui/single_message_window.ui:71 +#, fuzzy +msgid "Su_bject" +msgstr "נושא" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "" + +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "הו_דעה" + +#: gajim/data/gui/single_message_window.ui:144 +#, fuzzy +msgid "Characters typed: 0" +msgstr "תו לא מורשה" + +#: gajim/data/gui/single_message_window.ui:189 +#, fuzzy +msgid "_From" +msgstr "מן" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "של_ח" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "מסירת הודעה" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "_השב" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "מענה להודעה" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "_שלח וסגור" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "מסירת הודעה וסגירת החלון" + +#: gajim/data/gui/vcard_information_window.ui:106 +#, fuzzy +msgid "Client" +msgstr "לקוח:" + +#: gajim/data/gui/vcard_information_window.ui:140 +#, fuzzy +msgid "Contact time" +msgstr "שם איש קשר" + +#: gajim/data/gui/vcard_information_window.ui:240 +#, fuzzy +msgid "User avatar" +msgstr "אווטאר משתמש:" + +#: gajim/data/gui/vcard_information_window.ui:255 +#, fuzzy +msgid "Configured avatar" +msgstr "אווטאר מוגדר:" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +msgid "Ask" +msgstr "" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +#, fuzzy +msgid "Subscription" +msgstr "הרשמה: " + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +#, fuzzy +msgid "Extra Address" +msgstr "כתובת נוספת:" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +msgid "Address" +msgstr "כתובת" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +#, fuzzy +msgid "E-Mail" +msgstr "דוא״ל:" + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "תבנית: YYYY-MM-DD" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +#, fuzzy +msgid "Family" +msgstr "משפחה:" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +#, fuzzy +msgid "Middle" +msgstr "אמצע השבוע" + +# מועדפת +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +#, fuzzy +msgid "Prefix" +msgstr "העדף" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +msgid "Given" +msgstr "" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +#, fuzzy +msgid "Suffix" +msgstr "סיומת:" + +#: gajim/data/gui/vcard_information_window.ui:958 +#, fuzzy +msgid "Name Details" +msgstr "שם:" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "" + +#: gajim/data/gui/vcard_information_window.ui:1017 +msgid "Personal Info" +msgstr "מידע אישי" + +#: gajim/data/gui/vcard_information_window.ui:1040 +#, fuzzy +msgid "Company" +msgstr "תאגיד:" + +#: gajim/data/gui/vcard_information_window.ui:1073 +#, fuzzy +msgid "Department" +msgstr "מחלקה:" + +#: gajim/data/gui/vcard_information_window.ui:1104 +#, fuzzy +msgid "Position" +msgstr "משרה:" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "תפקיד" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "אודות" + +#: gajim/data/gui/vcard_information_window.ui:1514 +msgid "Comments" +msgstr "הערות" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "עריכת קבוצות" + +# צירוף־מעבר +# משפט/צירוף +# אישור/מעבר/מפתח +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "מימרת סיסמה" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +#, fuzzy +msgid "Themes" +msgstr "ערכת נושא" + +#: gajim/data/gui/themes_window.ui:171 +#, fuzzy +msgid "Add Setting" +msgstr "קיצורי מקש" + +#: gajim/data/gui/themes_window.ui:204 +#, fuzzy +msgid "Add new Theme" +msgstr "יצירת פוסט חדש" + +#: gajim/data/gui/themes_window.ui:219 +#, fuzzy +msgid "Remove Theme" +msgstr "פעיל" + +#: gajim/data/gui/bookmarks.ui:120 +#, fuzzy +msgid "Autojoin" +msgstr "ה_צטרף אוטומטית" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "" + +#: gajim/data/gui/preferences.ui:68 +#, fuzzy +msgid "Contact List Appearance" +msgstr "המרת פריט רשימה" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +#, fuzzy +msgid "Chats" +msgstr "שיחות" + +#: gajim/data/gui/preferences.ui:215 +#, fuzzy +msgid "Visual Notifications" +msgstr "התראות חזותיות" + +#: gajim/data/gui/preferences.ui:243 +#, fuzzy +msgid "Sounds" +msgstr "צלילי Wav" + +# Sign in +# Sign out +#: gajim/data/gui/preferences.ui:303 +#, fuzzy +msgid "Ask For Status Message on…" +msgstr "שאל אותי עבור הודעת מצב בעת:" + +#: gajim/data/gui/preferences.ui:331 +#, fuzzy +msgid "Automatic Status Change" +msgstr "מצב אוטומטי" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "" + +#: gajim/data/gui/preferences.ui:447 +#, fuzzy +msgid "Status Icon" +msgstr "_צלמיות:" + +#: gajim/data/gui/preferences.ui:472 +msgid "Style" +msgstr "סגנון" + +#: gajim/data/gui/preferences.ui:511 +#, fuzzy +msgid "Show _Features" +msgstr "תכונות" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:632 +#, fuzzy +msgid "Audio" +msgstr "בדיקת קול" + +#: gajim/data/gui/preferences.ui:660 +#, fuzzy +msgid "Video" +msgstr "בדיקת וידאו" + +#: gajim/data/gui/preferences.ui:698 +#, fuzzy +msgid "Audio/Video" +msgstr "קול / וידאו" + +#: gajim/data/gui/preferences.ui:735 +#, fuzzy +msgid "Miscellaneous" +msgstr "שונות" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:821 +#, fuzzy +msgid "Advanced Configuration Editor… " +msgstr "עורך תצורה מתקדם" + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "" + +#: gajim/data/gui/server_info.ui:50 +msgid "Server Software" +msgstr "" + +#: gajim/data/gui/server_info.ui:80 +#, fuzzy +msgid "Server Uptime" +msgstr "תגובת שרת: %s" + +#: gajim/data/gui/server_info.ui:109 +#, fuzzy +msgid "Contact Addresses" +msgstr "הודעת איש קשר:" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "" + +#: gajim/data/gui/server_info.ui:177 +#, fuzzy +msgid "Proxy Type" +msgstr "_פרוקסי:" + +#: gajim/data/gui/server_info.ui:192 +#, fuzzy +msgid "No proxy used" +msgstr "_פרוקסי:" + +#: gajim/data/gui/server_info.ui:202 +#, fuzzy +msgid "View _Certificate" +msgstr "הצג תעודה..." + +#: gajim/data/gui/server_info.ui:222 +#, fuzzy +msgid "Proxy Host" +msgstr "מ_ארח proxy:" + +#: gajim/data/gui/server_info.ui:421 +#, fuzzy +msgid "Copy info to clipboard" +msgstr "ה_עתק מיקום קישור" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:153 +#, fuzzy +msgid "Serial Number" +msgstr "מספר GG:" + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:304 +#, fuzzy +msgid "Expires on" +msgstr "פוקעת" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:465 +#, fuzzy +msgid "Copy Certificate Information" +msgstr "מידע איש קשר" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "הזמנת ידידים!" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +#, fuzzy +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "" +"בחרת להתחיל שיחה מרובת משתתפים.\n" +"בחר את אנשי הקשר אותם ברצונך להזמין" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +#, fuzzy +msgid "Please select a group chat server." +msgstr "אנא בחר שרת שמ״מ." + +#: gajim/data/gui/chat_to_muc_window.ui:141 +#, fuzzy +msgid "Group chat server" +msgstr "שיחות קבוצה" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +msgid "In_vite" +msgstr "ה_זמן" + +#: gajim/data/gui/mam_preferences.ui:53 +#, fuzzy +msgid "_Default" +msgstr "ברירת מחדל" + +#: gajim/data/gui/mam_preferences.ui:136 +#, fuzzy +msgid "Archive" +msgstr "ארכיון ריק" + +#: gajim/data/gui/history_manager.ui:11 +#, fuzzy +msgid "_Export" +msgstr "יצא" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +msgid "Gajim History Logs Manager" +msgstr "מנהל רשומות היסטוריה של ‫Gajim" + +# BUG: or is better than and/or +# אינו מהווה כלי לשם/לצורך צפיה +#: gajim/data/gui/history_manager.ui:104 +#, fuzzy +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" +"מנהל רשומות זה אינו מיועד לצורך צפייה ברשומות. אם רצונך בתפקודיות שכזו, " +"לרשותך עומד חלון ההיסטוריה במקום.\n" +"\n" +"באפשרותך לעשות שימוש בתוכנית זו למחיקה ו/או לייצוא רשומות. באפשרותך לבחור " +"רשומות מימין ו/או לחפש בתוך מסד הנתונים למטה." + +#: gajim/data/gui/history_manager.ui:120 +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" +"אזהרה:\n" +"אם בכוונתך לבצע מחיקה בקנה מידה גדול, אנא ודא כי Gajim אינו מורץ. באופן כללי " +"מוטב להימנע ממחיקות עם אנשי קשר אשר משוחחים עמך כעת." + +#: gajim/data/gui/history_manager.ui:211 +#, fuzzy +msgid "Search database..." +msgstr "_חפש בתוך מסד נתונים" + +#: gajim/data/gui/history_manager.ui:226 +#, fuzzy +msgid "Search in database" +msgstr "_חפש בתוך מסד נתונים" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" + +#: gajim/data/gui/groupchat_invite.ui:69 +#, fuzzy +msgid "Invitees" +msgstr "ה_זמן" + +#: gajim/data/gui/groupchat_invite.ui:153 +#, fuzzy +msgid "Search contacts..." +msgstr "_חפש בתוך מסד נתונים" + +# in or to? +#: gajim/data/gui/groupchat_invite.ui:223 +#, fuzzy +msgid "Click on contacts you would like to invite to this group chat." +msgstr "%(jid)s הוזמן/ה לחדר זה" + +#: gajim/data/gui/service_discovery_window.ui:148 +#, fuzzy +msgid "Go" +msgstr "ה_משך" + +#: gajim/data/gui/status_change_window.ui:27 +#, fuzzy +msgid "Change Status" +msgstr "שנה מצב" + +#: gajim/data/gui/status_change_window.ui:56 +#, fuzzy +msgid "Status Presets…" +msgstr "הודעת מצב" + +#: gajim/data/gui/status_change_window.ui:72 +#, fuzzy +msgid "Save this message as a preset" +msgstr "cli" + +#: gajim/data/gui/status_change_window.ui:130 +#, fuzzy +msgid "Ac_tivity" +msgstr "פעילות:" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:278 +#, fuzzy +msgid "_Change Status" +msgstr "שנה מצב" + +#: gajim/data/gui/status_change_window.ui:313 +#, fuzzy +msgid "Activity" +msgstr "פעילות:" + +#: gajim/data/gui/status_change_window.ui:326 +#, fuzzy +msgid "_No Activity" +msgstr "פעילות:" + +#: gajim/data/gui/status_change_window.ui:729 +#, fuzzy +msgid "Mood" +msgstr "מדוכדך" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +#, fuzzy +msgid "Author" +msgstr "מחברים:" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +#, fuzzy +msgid "Group Chat Language" +msgstr "הזמנת שיחת קבוצה" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +#, fuzzy +msgid "Copy Address" +msgstr "ה_עתק כתובת JID/דוא״ל" + +#: gajim/data/gui/emoji_chooser.ui:98 +#, fuzzy +msgid "No Results Found" +msgstr "אין תנובה" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr "מסוף XML" + +#: gajim/data/gui/xml_console.ui:131 +#, fuzzy +msgid "Start Search..." +msgstr "התחל _שיחה..." + +#: gajim/data/gui/xml_console.ui:260 +#, fuzzy +msgid "Clear" +msgstr "מנקה" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "" + +#: gajim/data/gui/xml_console.ui:316 +#, fuzzy +msgid "Presets" +msgstr "_נוכחות" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "סנכרון : בחירת אנשי קשר" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +msgid "Select the contacts you want to synchronise" +msgstr "בחירת אנשי הקשר אותם ברצונך לסנכרן" + +# \n +# ‏‏domain = מתחם\n +# ‏‏user = משתמש\n +# ‏‏resource = משאב\n +# +#: gajim/data/gui/groupchat_config.ui:51 +#, fuzzy +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" +"הקלט יכול להיות אחד מתוך הבאים:\n" +"1. ‏user@domain/resource (רק משאב זה תואם).\n" +"2. ‏user@domain (כל משאב תואם).\n" +"3. ‏domain/resource (רק משאב זה תואם).\n" +"4. ‏domain (המתחם עצמו מתאים, עבור כל user@domain,\n" +"‏domain/resource, או כתובת אשר מכילים מתחם משני)." + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:309 +#, fuzzy +msgid "Reserved Name" +msgstr "שם העדפה" + +# שיוך, סיפוח +#: gajim/data/gui/groupchat_config.ui:346 +#, fuzzy +msgid "Affiliation" +msgstr "השתייכות:" + +#: gajim/data/gui/groupchat_config.ui:377 +#, fuzzy +msgid "Affiliations" +msgstr "יישומים" + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "סיבה" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "רשימת אסירה" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "_אסור" + +#: gajim/data/gui/subscription_request_window.ui:34 +#, fuzzy +msgid "_Block User" +msgstr "_חסום" + +#: gajim/data/gui/subscription_request_window.ui:49 +#, fuzzy +msgid "_Report as Spam" +msgstr "_דווחו על בעיה" + +#: gajim/data/gui/subscription_request_window.ui:212 +#, fuzzy +msgid "_Deny…" +msgstr "_אסור" + +#: gajim/data/gui/subscription_request_window.ui:225 +#, fuzzy +msgid "Ac_cept" +msgstr "_קבל" + +#: gajim/data/gui/subscription_request_window.ui:230 +#, fuzzy +msgid "Allows the contact to see your online status" +msgstr "הת_ר לאיש קשר לראות את המצב שלי" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:115 +#, fuzzy +msgid "_Report Bug" +msgstr "_דווחו על בעיה" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "אירוע" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "בחירת צליל" + +#: gajim/data/gui/manage_sounds.ui:97 +#, fuzzy +msgid "Clear Sound" +msgstr "בחירת צליל" + +#: gajim/data/gui/manage_sounds.ui:118 +#, fuzzy +msgid "Play Sound" +msgstr "נגן _צלילים" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +#, fuzzy +msgid "_Send Files" +msgstr "שלח _קובץ" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +#, fuzzy +msgid "Send" +msgstr "_שלח" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +#, fuzzy +msgid "Files to send" +msgstr "בחירת קובץ לשליחה..." + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +#, fuzzy +msgid "Add Files" +msgstr "קובץ: " + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +#, fuzzy +msgid "Remove Files" +msgstr "הס_ר" + +# מצוי/ה בחוסר פעילות +#: gajim/data/gui/tooltip_roster_contact.ui:62 +#, fuzzy +msgid "Idle since:" +msgstr "בחוסר פעילות מאז %s" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +msgid "Mood:" +msgstr "מצב רוח:" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +msgid "Activity:" +msgstr "פעילות:" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +#, fuzzy +msgid "Tune:" +msgstr "לחן: " + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +#, fuzzy +msgid "Location:" +msgstr "מיקום: " + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +#, fuzzy +msgid "Subscription:" +msgstr "הרשמה: " + +#: gajim/data/gui/advanced_configuration.ui:15 +#, fuzzy +msgid "A restart may be required for some settings to take effect" +msgstr "הערה: עליך לאתחל את Gajim כדי שהגדרות מסוימות ייכנסו לתוקף" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "" + +#: gajim/data/gui/advanced_configuration.ui:120 +#, fuzzy +msgid "_Reset Value" +msgstr "_אפס לברירת מחדל" + +#: gajim/data/gui/advanced_configuration.ui:125 +#, fuzzy +msgid "Resets value to default" +msgstr "_אפס לברירת מחדל" + +#: gajim/data/gui/history_window.ui:27 +#, fuzzy +msgid "Display status changes" +msgstr "הצג _הודעות מצב" + +#: gajim/data/gui/history_window.ui:57 +msgid "History Manager" +msgstr "מנהל היסטוריה" + +#: gajim/data/gui/history_window.ui:233 +#, fuzzy +msgid "Mode" +msgstr "אחראי" + +# (שנפתחו) לאחרונה +# (חדרים/ערוצים) אחרונים +# (כתובות) אחרונות +#: gajim/data/gui/history_window.ui:246 +#, fuzzy +msgid "Search complete history" +msgstr "אחרונים:" + +#: gajim/data/gui/history_window.ui:263 +#, fuzzy +msgid "Search selected day only" +msgstr "חיפוש בתוך היום הנבחר בלבד" + +#: gajim/data/gui/history_window.ui:317 +#, fuzzy +msgid "Store history for this chat" +msgstr "התעלם משגיאה זו עבור תעודה זו." + +# (שנפתחו) לאחרונה +# (חדרים/ערוצים) אחרונים +# (כתובות) אחרונות +#: gajim/data/gui/history_window.ui:332 +#, fuzzy +msgid "Store History" +msgstr "אחרונים:" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +#, fuzzy +msgid "Identified Error" +msgstr "שגיאת תעודת SSL" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +#, fuzzy +msgid "" +msgstr "שגיאה" + +#: gajim/data/gui/ssl_error_dialog.ui:74 +#, fuzzy +msgid "Add this certificate to the list of _trusted certificates" +msgstr "" +"הוסף את תעודה זו לרשימת התעודות המהימנות.\n" +"טביעת אצבע SHA1 של התעודה:\n" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +#, fuzzy +msgid "_View Certificate" +msgstr "הצג תעודה..." + +#: gajim/data/gui/ssl_error_dialog.ui:120 +#, fuzzy +msgid "_Connect" +msgstr "מחובר" + +#: data/org.gajim.Gajim.desktop.in:5 +#, fuzzy +msgid "XMPP Chat Client" +msgstr "לקוח מסרים מידיים Jabber" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:8 +#, fuzzy +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "צ'אט;מסרים;מסנג'ר;jabber;xmpp;bonjour;voip" + +#: data/org.gajim.Gajim.desktop.in:27 +#, fuzzy +msgid "Show next pending event" +msgstr "הצג _אירועים ממתינים" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:17 +#, fuzzy +msgid "Features:" +msgstr "תכונות" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "" + +# Changed to: Spellchecking while writing. +#: data/org.gajim.Gajim.appdata.xml.in:26 +#, fuzzy +msgid "Automatic spell-checking for your messages" +msgstr "בדיקת איות בעת הלחנת הודעות." + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +#, fuzzy +msgid "Support for service discovery including nodes and search for users" +msgstr "מציאת שירות באמצעות חשבון ‫%s" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +#, fuzzy +msgid "Contact list" +msgstr "איש קשר" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +#, fuzzy +msgid "Group chat support" +msgstr "שיחות קבוצה" + +# (שנפתחו) לאחרונה +# (חדרים/ערוצים) אחרונים +# (כתובות) אחרונות +#: data/org.gajim.Gajim.appdata.xml.in:53 +#, fuzzy +msgid "Chat history" +msgstr "אחרונים:" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +#, fuzzy +msgid "Plugin manager" +msgstr "כשל תוסף" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +#, fuzzy +msgid "Gajim Team" +msgstr "‏Gajim מרחוק" + +#, fuzzy +#~ msgid "Chat Settings" +#~ msgstr "קיצורי מקש" + +#~ msgid "Composing only" +#~ msgstr "הלחנה בלבד" + +#~ msgid "All chat states" +#~ msgstr "בכל מצב שיחה" + +#~ msgid "Privacy Lists" +#~ msgstr "רשימות פרטיות" + +#, fuzzy +#~ msgid "Unblock" +#~ msgstr "_בטל חסימה" + +#, fuzzy +#~ msgid "Block" +#~ msgstr "_חסום" + +#~ msgid "None" +#~ msgstr "ללא" + +#, python-format +#~ msgid "%s Status Message" +#~ msgstr "‫%s הודעת מצב" + +#~ msgid "an audio and video" +#~ msgstr "קול וגם וידאו" + +#~ msgid "an audio" +#~ msgstr "קול" + +#~ msgid "a video" +#~ msgstr "וידאו" + +#, fuzzy, python-format +#~ msgid "" +#~ "%(contact)s wants to start a %(type)s chat with you. Do you want to " +#~ "answer the call?" +#~ msgstr "" +#~ "‏%(contact)s רוצה להתחיל עמך בסשן %(type)s. האם יש ברצונך לענות לקריאה?" + +#~ msgid "Could not load image" +#~ msgstr "לא היתה אפשרות להטעין תמונה" + +#~ msgid "Error." +#~ msgstr "שגיאה." + +# This status message is not aligned by Gajim +# Should a bug be reported? +#, python-format +#~ msgid "%(type)s state : %(state)s, reason: %(reason)s" +#~ msgstr "מצב : %(type)s :‏ %(state)s, סיבה: %(reason)s" + +# BUG: HE and SHE +# על ידו או על ידה +#, fuzzy +#~ msgid "" +#~ "This contact will see you offline and you will not receive any messages " +#~ "sent to you by this contact." +#~ msgstr "" +#~ "איש קשר זה תמיד יראה אותך במצב לא מקוון ולא תהיה באפשרותך לקבל הודעות אשר " +#~ "יישלחו אליך ממנו." + +#, fuzzy +#~ msgid "_Block Contact" +#~ msgstr "אנשי קשר חסומים" + +#, fuzzy +#~ msgid "Block Group" +#~ msgstr "_חסום" + +#, fuzzy +#~ msgid "Really block this group?" +#~ msgstr "האם OpenPGP מאופשרת עבור איש קשר זה?" + +# BUG: HE and SHE +# על ידו או על ידה +#, fuzzy +#~ msgid "" +#~ "All contacts of this group will see you as offline and you will not " +#~ "receive any messages sent to you by any one of these contacts." +#~ msgstr "" +#~ "איש קשר זה תמיד יראה אותך במצב לא מקוון ולא תהיה באפשרותך לקבל הודעות אשר " +#~ "יישלחו אליך ממנו." + +#, fuzzy +#~ msgid "_Block Group" +#~ msgstr "_חסום" + +#~ msgid "No account available" +#~ msgstr "אין חשבון זמין" + +# לפני שתעמוד לרשותך האפשרות לשוחח +#~ msgid "You must create an account before you can chat with other contacts." +#~ msgstr "עליך ליצור חשבון בטרם תהיה באפשרותך לשוחח עם אנשי קשר אחרים." + +#~ msgid "Metacontacts storage not supported by your server" +#~ msgstr "אחסון אנשי קשר מוצמדים לא נתמך על ידי השרת שלך" + +#~ msgid "" +#~ "Your server does not support storing metacontacts information. So this " +#~ "information will not be saved on next reconnection." +#~ msgstr "" +#~ "השרת שלך לא תומך באחסון מידע אנשי קשר מוצמדים. לכן מידע זה לא יישמר " +#~ "בהתחברות הבאה." + +# Changed to: You have been invited to a groupchat +#, fuzzy, python-brace-format +#~ msgid "You are invited to {room} by {user}" +#~ msgstr "הוזמנת לשיחת קבוצה" + +#, python-format +#~ msgid "%s wants to start a voice chat." +#~ msgstr "‏%s רוצה להתחיל שיחה קולית." + +#~ msgid "Could not save your settings and preferences" +#~ msgstr "לא היתה אפשרות לשמור את ההגדרות וההעדפות שלך" + +#, fuzzy +#~ msgid "Error While Removing Privacy List" +#~ msgstr "שגיאה בעת הסרת רשימת פרטיות" + +# Deactivate privacy list or resource? +#, fuzzy, python-format +#~ msgid "" +#~ "Privacy list %s has not been removed. It is probably active in one of " +#~ "your connected resources. Please deactivate it and try again." +#~ msgstr "" +#~ "רשימת הפרטיות %s לא הוסרה. ייתכן כי זו פעילה באחד ממשאביך אשר מחוברים " +#~ "כעת. נטרל את פעילותו ונסה שוב." + +#, fuzzy +#~ msgid "Invisibility Not Supported" +#~ msgstr "מצב בלתי נראה אינו נתמך" + +#, fuzzy, python-format +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "חשבון %s לא תומך במצב בלתי נראה." + +#, fuzzy +#~ msgid "Could not request upload slot for HTTP File Upload" +#~ msgstr "לא היתה אפשרות להתחיל שירות מקומי" + +#, fuzzy +#~ msgid "Not Secure" +#~ msgstr "לא הותחלה" + +#, fuzzy +#~ msgid "Could not Upload File" +#~ msgstr "לא היתה אפשרות להטעין תמונה" + +#, fuzzy +#~ msgid "Lists all preferences and their values" +#~ msgstr "cli" + +#, fuzzy +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "cli" + +#, fuzzy +#~ msgid "key=value" +#~ msgstr "cli" + +#, fuzzy +#~ msgid "'key' is the name of the preference, 'value' is what to set it to" +#~ msgstr "cli" + +#, fuzzy +#~ msgid "Deletes a preference item" +#~ msgstr "cli" + +#, fuzzy +#~ msgid "key" +#~ msgstr "cli" + +#, fuzzy +#~ msgid "name of the preference to be deleted" +#~ msgstr "cli" + +#, fuzzy +#~ msgid "Writes the current state of Gajim preferences to the .config file" +#~ msgstr "cli" + +#, python-format +#~ msgid "%s is a directory but should be a file" +#~ msgstr "‏%s הינו מדור אך אמור להיות קובץ" + +# Destroying is "at this moment". It should be Destroy without ing +#, fuzzy, python-format +#~ msgid "Creating %s" +#~ msgstr "החרבת ‫%s" + +#, python-format +#~ msgid "%(nickname)s Signed In" +#~ msgstr "%(nickname)s התחבר/ה" + +#~ msgid "Contact Signed In" +#~ msgstr "איש קשר התחבר" + +#, python-format +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "%(nickname)s התנתק/ה" + +#~ msgid "Contact Signed Out" +#~ msgstr "איש קשר התנתק" + +#, fuzzy +#~ msgid "" +#~ "Show desktop notification even when a chat window is opened for this " +#~ "contact and does not have focus." +#~ msgstr "התר התראות מוקפצות כאשר אני במצב נעדר/_לא זמין/עסוק/בלתי נראה" + +#~ msgid "default" +#~ msgstr "ברירת מחדל" + +# after *a* desired +#, fuzzy +#~ msgid "" +#~ "Character to propose to add after desired nickname when nickname is " +#~ "already used in group chat." +#~ msgstr "" +#~ "תו להציע להוספה לאחר שם כינוי רצוי כאשר זה בשימוש על ידי מישהו אחר בתוך " +#~ "שיחת קבוצה." + +#, fuzzy +#~ msgid "" +#~ "How many seconds to wait before trying to automatically rejoin a group " +#~ "chat you were disconnected from. Set to 0 to disable automatic rejoining." +#~ msgstr "" +#~ "כמה שניות להמתין לפני ניסיון הצטרפות חוזרת אוטומטית לועידה אשר ממנה אנחנו " +#~ "מתנתקים. הגדר אל 0 כדי לנטרל הצטרפות חוזרת אוטומטית." + +#, fuzzy +#~ msgid "If enabled, Gajim displays the avatar in the chat window." +#~ msgstr "כאשר מנוטרלת, לא תהיה לך האפשרות לראות את האווטאר בחלון השיחה." + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will show affiliation of group chat participants by " +#~ "adding a colored square to the status icon." +#~ msgstr "" +#~ "כאשר מופעלת, Gajim יציג שיוך של נוכחים של שיחת קבוצה על ידי הוספת מרובע " +#~ "צבעוני לסמל מצב" + +#, fuzzy +#~ msgid "" +#~ "Status to be used automatically when connecting. Can be 'online', 'chat', " +#~ "'away', 'xa' or 'dnd'. NOTE: This option is used only if " +#~ "'restore_last_status' is disabled." +#~ msgstr "" +#~ "מצב בשימוש להתחברות אוטומטית בתור . יכול להיות online (מקוון), chat (פנוי " +#~ "לשיחה), away (נעדר), xa (לא זמין), dnd (עסוק), invisible (בלתי נראה). " +#~ "הערה: אפשרות זו נכנסת לשימוש רק אם ההעדפה restore_last_status מנוטרלת" + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending password on an plaintext connection. " +#~ "Can be 'warn', or 'none'." +#~ msgstr "" +#~ "הצגת דו שיח אזהרה בטרם שליחת סיסמה על פני חיבור גלוי. יכול להיות " +#~ "'warn' (הזהר), 'connect' (התחבר), 'disconnect' (התנתק)" + +#, fuzzy +#~ msgid "" +#~ "How many seconds to wait for the answer of a ping alive packet before " +#~ "trying to reconnect." +#~ msgstr "" +#~ "כמה שניות להמתין עבור תשובת חבילת פינג חי לפני שאנחנו מנסים להתחבר מחדש?" + +#~ msgid "I'm available." +#~ msgstr "אני זמין/ה." + +#~ msgid "I'm free for chat." +#~ msgstr "אני פנוי/ה לשיחה." + +#~ msgid "Be right back." +#~ msgstr "מיד אשוב." + +#~ msgid "I'm not available." +#~ msgstr "אני לא זמין/ה." + +#~ msgid "Do not disturb." +#~ msgstr "נא לא להפריע." + +#~ msgid "Bye!" +#~ msgstr "להתראות!" + +#~ msgid "Timeout loading image" +#~ msgstr "תם הזמן אשר הוקצב לטעינת תמונה" + +# BUG: File too big +#~ msgid "Image is too big" +#~ msgstr "התמונה הינה גדולה מדי" + +#~ msgid "PyCURL is not installed" +#~ msgstr "‏PyCURL אינה מותקנת" + +#~ msgid "Error loading image" +#~ msgstr "שגיאה בטעינת תמונה" + +#~ msgid "Blocked Contacts" +#~ msgstr "אנשי קשר חסומים" + +#, fuzzy +#~ msgid "Group chat" +#~ msgstr "שיחות קבוצה" + +#, fuzzy +#~ msgid "Bookmark group chat" +#~ msgstr "_סמן את חדר זה" + +#, fuzzy +#~ msgid "Bookmark" +#~ msgstr "_סמן" + +#, fuzzy +#~ msgid "Recently used group chats" +#~ msgstr "בתוך _שיחות קבוצה" + +#, fuzzy +#~ msgid "Clear Avatar" +#~ msgstr "_דיוקן, אווטאר" + +#, fuzzy +#~ msgid "Set Avatar…" +#~ msgstr "בחירת ארכיון" + +#, fuzzy +#~ msgid "Contact" +#~ msgstr "זמן:" + +#, fuzzy +#~ msgid "_Leave Group Chat" +#~ msgstr "עזוב שיחות קבוצה" + +#, fuzzy +#~ msgid "Enter a new name for this group chat" +#~ msgstr "הזן שם חדש עבור קבוצת %s" + +#~ msgid "Use default applications" +#~ msgstr "השתמש ביישומים שגרתיים" + +#~ msgid "Custom" +#~ msgstr "מותאם" + +#~ msgid "Pop it up" +#~ msgstr "הקפץ אותו" + +#~ msgid "Notify me about it" +#~ msgstr "הודע לי על כך" + +#, fuzzy +#~ msgid "Show only in contact list" +#~ msgstr "הצג אנשי קשר _פעילים בלבד" + +#, fuzzy +#~ msgid "No status messages" +#~ msgstr "cli" + +#, fuzzy +#~ msgid "All status messages" +#~ msgstr "cli" + +#, fuzzy +#~ msgid "Only enter/leave messages" +#~ msgstr "נותרו הודעות אשר לא נקראו" + +#, fuzzy +#~ msgid "Me_rge accounts" +#~ msgstr "מזג _חשבונות" + +#, fuzzy +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "הצג _אווטארים של אנשי קשר ברשימה" + +# BUG: a dot at the end +#, fuzzy +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "" +#~ "כאשר מסומן, Gajim יציג אווטארים של אנשי קשר בחלון הרשימה ובתוך שיחות קבוצה" + +#, fuzzy +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "הצג הו_דעות מצב של אנשי קשר ברשימה" + +# BUG: a dot at the end +# BUG: under [the] contact - remove "the" +#, fuzzy +#~ msgid "" +#~ "If checked, status messages of contacts will be shown under the contact's " +#~ "name, in the contact list window, and in group chats" +#~ msgstr "" +#~ "כאשר מסומן, Gajim יציג את הודעות המצב של אנשי קשר תחת שם איש קשר בתוך " +#~ "חלון הרשימה וגם בתוך שיחות קבוצה" + +#, fuzzy +#~ msgid "" +#~ "Show e_xtra information of contacts in contact list (mood, activity, ...)" +#~ msgstr "הצג _מידע נוסף של אנשי קשר ברשימה (מצב רוח, פעילות, ...)" + +#, fuzzy +#~ msgid "in _contact list" +#~ msgstr "אנשי קשר אשר נשלחו:" + +#~ msgid "in _group chats" +#~ msgstr "בתוך _שיחות קבוצה" + +#, fuzzy +#~ msgid "Enable spell _checking" +#~ msgstr "בדיקת איות" + +#, fuzzy +#~ msgid "" +#~ "If checked, spelling errors in input fields of chat windows will be " +#~ "highlighted. If no language is explicitly set via right click on the " +#~ "input field, the default language will be used for this contact or group " +#~ "chat. Needs gspell to be installed." +#~ msgstr "" +#~ "כאשר מסומן, Gajim יבליט שגיאות כתיב בשדות קלט של חלונות שיחה. כאשר לא " +#~ "מצוינת במפורש באמצעות מקש ימני על שדה הקלט, השפה השגרתית תהיה בשימוש עבור " +#~ "איש קשר זה או שיחת קבוצה." + +#, fuzzy +#~ msgid "Display status messages in _single chats" +#~ msgstr "הצג הו_דעות מצב של אנשי קשר ברשימה" + +# BUG: or is better than and/or +#, fuzzy +#~ msgid "" +#~ "If checked, status lines will be shown in 1 on 1 chats when a contact " +#~ "changes their status or status message" +#~ msgstr "" +#~ "כאשר מנוטרלת, Gajim לא ידפיס שורות מצב בתוך שיחות כאשר איש קשר משנה מצב " +#~ "או הודעת מצב." + +#, fuzzy +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "אין אפשרות להצטרף לשיחת קבוצה" + +#, fuzzy +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "אין אפשרות להצטרף לשיחת קבוצה" + +#, fuzzy +#~ msgid "Show status changes (Default)" +#~ msgstr "הצג _הודעות מצב" + +# BUG: a dot at the end +#, fuzzy +#~ msgid "" +#~ "If checked, the tab will be colored according to the current chatstate of " +#~ "the contact" +#~ msgstr "כאשר מסומן, Gajim יתיר לאחרים לאתר את הזמן של המערכת שלך" + +# BUG: a dot at the end +#, fuzzy +#~ msgid "" +#~ "If checked, a description of the contacts current chatstate is shown in " +#~ "the banner" +#~ msgstr "כאשר מסומן, Gajim יתיר לאחרים לאתר את הזמן של המערכת שלך" + +# By last state +#, fuzzy +#~ msgid "Chatstate" +#~ msgstr "לפי מצב אחרון" + +#, fuzzy +#~ msgid "_When new event is received" +#~ msgstr "כאשר אירוע חדש מתקבל:" + +#, fuzzy +#~ msgid "Show popups/notifications when a chat window is already _open" +#~ msgstr "התר התראות מוקפצות כאשר אני במצב נעדר/_לא זמין/עסוק/בלתי נראה" + +#, fuzzy +#~ msgid "Allow popups/notifications when I'm _away, not available or busy" +#~ msgstr "התר התראות מוקפצות כאשר אני במצב נעדר/_לא זמין/עסוק/בלתי נראה" + +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "הודע לי אודות אנשי קשר אשר מת_חברים" + +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "הודע לי אודות אנשי קשר אשר מת_נתקים" + +#~ msgid "Play _sounds" +#~ msgstr "נגן _צלילים" + +#~ msgid "Ma_nage..." +#~ msgstr " נה_ל... " + +# בהיותי +#, fuzzy +#~ msgid "Allow playing sounds when I'm _busy" +#~ msgstr "התר צלילים כאשר אני במצב _עסוק" + +#, fuzzy +#~ msgid "No_t Available" +#~ msgstr "לא זמין" + +# BUG: a dot at the end +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Not Available when the computer " +#~ "has not been used for the specified time" +#~ msgstr "" +#~ "כאשר מסומן, Gajim ישנה מצב אל לא זמין כאשר המחשב לא מצוי בשימוש לזמן " +#~ "ממושך עוד יותר" + +# BUG: a dot at the end +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Away when the computer has not " +#~ "been used for the specified time" +#~ msgstr "" +#~ "כאשר מסומן, Gajim ישנה מצב אל לא זמין כאשר המחשב לא מצוי בשימוש לזמן " +#~ "ממושך עוד יותר" + +#, fuzzy +#~ msgid "" +#~ "The automatic away status message. If empty, the current status message " +#~ "will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-away timeout." +#~ msgstr "" +#~ "הודעת מצב נעדרות אוטומטית. אם שדה זה ריק, Gajim לא ישנה את הודעת המצב " +#~ "הנוכחית\n" +#~ "התווים $S יוחלפו בהודעת מצב קודמת\n" +#~ "התווים $T יוחלפו על פי זמן תפוגה אשר מצוין עבור autoaway" + +#, fuzzy +#~ msgid "" +#~ "The automatic not available status message. If empty, the current status " +#~ "message will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-not-available timeout." +#~ msgstr "" +#~ "הודעת מצב אי הזמינות האוטומטית. כאשר שדה זה ריק, Gajim לא ישנה את הודעת " +#~ "המצב הנוכחית\n" +#~ "התווים $S יוחלפו בהודעת מצב קודמת\n" +#~ "התווים $T יוחלפו על פי זמן תפוגה של autoxa" + +#, fuzzy +#~ msgid "Minutes" +#~ msgstr "דקות" + +#~ msgid "" +#~ "If enabled, Gajim will not ask for a status message. The specified " +#~ "default message will be used instead." +#~ msgstr "" +#~ "כאשר מופעלת, Gajim לא ישאל עבור הודעת מצב. ההודעה השגרתית אשר תצוין תהיה " +#~ "זו שתיכנס לתוקף במקום." + +#~ msgid "Default Message" +#~ msgstr "הודעה שגרתית" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "הודעת מצב" + +#, fuzzy +#~ msgid "Preset Status Messages" +#~ msgstr "הודעות מצב מותאמות" + +#, fuzzy +#~ msgid "_Theme" +#~ msgstr "ערכת נושא" + +#~ msgid "Configure color and font of the interface" +#~ msgstr "עיצוב גופן וצבע של הממשק" + +#, fuzzy +#~ msgid "" +#~ "If checked, protocol-specific status icons will be used (e.g. a contact " +#~ "from ICQ will have the equivalent ICQ icon for status online, away, busy, " +#~ "etc...)" +#~ msgstr "" +#~ "כאשר מסומן, Gajim יעשה שימוש בצלמיות מצב אשר אופייניות לכל פרוטוקול " +#~ "בהתאמה (למשל: עבור איש קשר אשר מצוי אצל MSN יהיה סמל מצב msn שקול עבור " +#~ "מצב מקוון, נעדר, עסוק, וכו׳)" + +#, fuzzy +#~ msgid "Video output" +#~ msgstr "פלט וידאו" + +#, fuzzy +#~ msgid "Video si_ze" +#~ msgstr "גודל וידאו" + +#, fuzzy +#~ msgid "Vi_ew own video source" +#~ msgstr "הצג מקור וידאו עצמי" + +# BUG: from a given server +#, fuzzy +#~ msgid "" +#~ "STUN server hostname. If no hostname was given, Gajim will try\n" +#~ "to discover one from the server. (Example: stun.iptel.org)" +#~ msgstr "" +#~ "שם מארח של שרת STUN. כאשר לא ניתן, Gajim ינסה\n" +#~ "למצוא אחד מתוך שרת נתון." + +#~ msgid "_Manage..." +#~ msgstr " נה_ל... " + +#, fuzzy +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "רשום _שינויים של מצב אנשי קשר" + +# BUG: a dot at the end +#, fuzzy +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "כאשר מסומן, Gajim יזכור את הסיסמה עבור חשבון זה" + +#~ msgid "_Open..." +#~ msgstr "_פתח..." + +#, fuzzy +#~ msgid "_Filter" +#~ msgstr "סינון:" + +#, fuzzy +#~ msgid "Protocol" +#~ msgstr "_פרוטוקול:" + +#~ msgid "Privacy Lists:" +#~ msgstr "רשימות פרטיות:" + +#, fuzzy +#~ msgid "_Ignore this error for this certificate" +#~ msgstr "התעלם משגיאה זו עבור תעודה זו." + +#, fuzzy +#~ msgid "Message..." +#~ msgstr "הודעה" + +#, fuzzy +#~ msgid "_Message if you decline (optional)" +#~ msgstr "סיבה (באם רצונך בדחיית ההזמנה):" + +#, fuzzy +#~ msgid "Preset _messages" +#~ msgstr "הודעות מותאמות:" + +#, fuzzy +#~ msgid "_Type your new status message" +#~ msgstr "הקלד הודעת מצב חדשה" + +#, fuzzy +#~ msgid "Change Status Message…" +#~ msgstr "_שנה הודעת מצב" + +#~ msgid "Mood:" +#~ msgstr "מצב רוח:" + +#~ msgid "Message:" +#~ msgstr "הודעה:" + +#~ msgid "none" +#~ msgstr "ללא" + +#~ msgid "both" +#~ msgstr "הדדית" + +#~ msgid "from" +#~ msgstr "מן" + +#~ msgid "to" +#~ msgstr "אל" + +#~ msgid "Privacy List" +#~ msgstr "רשימת פרטיות" + +#~ msgid "Privacy List" +#~ msgstr "רשימת פרטיות" + +#~ msgid "Active for this session" +#~ msgstr "פעילה עבור סשן זה" + +#~ msgid "Active on each startup" +#~ msgstr "פעילה בכל אתחול" + +#~ msgid "List of rules" +#~ msgstr "רשימת כללים" + +#~ msgid "Add / Edit a rule" +#~ msgstr "הוספת / הסרת כלל" + +# להתיר +#~ msgid "Allow" +#~ msgstr "לאפשר" + +#~ msgid "Deny" +#~ msgstr "לאסור" + +# אשר +#~ msgid "all in the group" +#~ msgstr "כל מי שבקבוצה" + +#~ msgid "all by subscription" +#~ msgstr "לפי הרשמה" + +#~ msgid "All" +#~ msgstr "הכל" + +#~ msgid "to send me messages" +#~ msgstr "לשלוח אלי הודעות" + +#~ msgid "to send me queries" +#~ msgstr "לשלוח אלי שאילתות" + +#~ msgid "to view my status" +#~ msgstr "לצפות במצב שלי" + +#~ msgid "to send me status" +#~ msgstr "לשלוח אלי מצב" + +#~ msgid "All (including subscription)" +#~ msgstr "הכל (כולל הרשמה)" + +#~ msgid "Order:" +#~ msgstr "סדר:" + +#, fuzzy +#~ msgid "" +#~ "Deny authorization from contact so the contact cannot know if you are " +#~ "connected" +#~ msgstr "איסור הרשאות מאיש קשר כך שזה לא יוכל לדעת מתי אתה מחובר" + +#, fuzzy +#~ msgid "Authorize contact so the contact can know if you are connected" +#~ msgstr "הענקת הרשאה לאיש קשר כדי שזה ידע מתי אתה מחובר" + +#, fuzzy +#~ msgid "Chat Shortcuts" +#~ msgstr "קיצורי מקש" + +#, fuzzy +#~ msgid "Contact List Shortcuts" +#~ msgstr "קיצורי מקש" + +#~ msgid "Fill in the form." +#~ msgstr "מלא את הטופס." + +#~ msgid "Set an activity" +#~ msgstr "קבע פעילות" + +#~ msgid "Message: " +#~ msgstr "הודעה: " + +#, fuzzy, python-format +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "הזמנת %s אל %s" + +#, fuzzy +#~ msgid "Group Chat Invitation " +#~ msgstr "הזמנת שיחת קבוצה" + +#, python-format +#~ msgid "Comment: %s" +#~ msgstr "הערה: %s" + +#, fuzzy +#~ msgid "Off" +#~ msgstr "לא מקוון" + +#, fuzzy +#~ msgid "Retrieving profile…" +#~ msgstr "כעת מאחזר דיוקן..." + +#~ msgid "Wrong date format" +#~ msgstr "תסדיר תאריך שגוי" + +# חייב +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "הפורמט של התאריך מוכרח להיות YYYY-MM-DD" + +#~ msgid "Information received" +#~ msgstr "מידע התקבל" + +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "ללא חיבור, אין באפשרותך לפרסם את מידע איש הקשר שלך." + +#, fuzzy +#~ msgid "Sending profile…" +#~ msgstr "כעת שולח דיוקן..." + +#~ msgid "Information NOT published" +#~ msgstr "מידע לא פורסם" + +#~ msgid "vCard publication failed" +#~ msgstr "פרסום vCard נכשל" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "אירעה שגיאה במהלך פרסום המידע האישי שלך, נסה שוב מאוחר יותר." + +#, fuzzy +#~ msgid "?password:Hidden" +#~ msgstr "סיסמה:" + +#, python-format +#~ msgid "Privacy List %s" +#~ msgstr "רשימת פרטיות ‫%s" + +#, python-format +#~ msgid "Privacy List for %s" +#~ msgstr "רשימת פרטיות עבור ‫%s" + +#, python-format +#~ msgid "" +#~ "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" +#~ msgstr "סדר: %(order)s, פעולה: %(action)s, טיפוס: %(type)s, ערך: %(value)s" + +#, python-format +#~ msgid "Order: %(order)s, action: %(action)s" +#~ msgstr "סדר: %(order)s, פעולה: %(action)s" + +#~ msgid "Edit a rule" +#~ msgstr "עריכת כלל" + +#~ msgid "Add a rule" +#~ msgstr "הוספת כלל" + +#, python-format +#~ msgid "Privacy Lists for %s" +#~ msgstr "רשימות פרטיות עבור ‫%s" + +#~ msgid "Invalid List Name" +#~ msgstr "שם רשימה שגוי" + +#~ msgid "You must enter a name to create a privacy list." +#~ msgstr "עליך להזין שם כדי ליצור רשימת פרטיות." + +#~ msgid "Loading" +#~ msgstr "כעת טוען" + +#~ msgid "status message title" +#~ msgstr "כותרת הודעת מצב" + +#~ msgid "status message text" +#~ msgstr "תמליל הודעת מצב" + +# שבר משולב continued fraction +# שיחה נמשכת +#, fuzzy +#~ msgid "Start New Conversation" +#~ msgstr "שיחה משולבת" + +#~ msgid "Unknown SSL error: %d" +#~ msgstr "שגיאת SSL לא מוכרת: %d" + +#~ msgid "Gajim - %s" +#~ msgstr "‫Gajim - ‫%s" + +# חוסר +#~ msgid "Choose interval between 2 checks of idleness." +#~ msgstr "בחר תדירות עדכון בין 2 בדיקות של העדר פעילות." + +#, fuzzy +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "מילון עבור שפה %s לא זמין" + +#, fuzzy +#~ msgid "" +#~ "You have to install the dictionary \"%s\" to use spellchecking, or choose " +#~ "another language by setting the speller_language option.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "עליך להתקין מילון %s כדי לעשות שימוש בבדיקת איות, או בחר בשפה שונה על ידי " +#~ "הגדרת האפשרות speller_language.\n" +#~ "\n" +#~ "הדגשת מילים אשר לא אויתו כראוי לא תנוצל" + +#~ msgid "_Reconnect" +#~ msgstr "הת_חבר מחדש" + +#, fuzzy +#~ msgid "Show Contact List" +#~ msgstr "הצג אנשי קשר _פעילים בלבד" + +#, fuzzy +#~ msgid "Add to Contact List" +#~ msgstr "הוסף _איש קשר..." + +#, fuzzy +#~ msgid "Invite Contact" +#~ msgstr "הזמן _אנשי קשר" + +#, fuzzy +#~ msgid "Configure Group Chat" +#~ msgstr "עזוב שיחות קבוצה" + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." +#~ msgstr "" +#~ "כאשר מופעלת, Gajim יציג סמל על כל כרטיסייה המכילה הודעות אשר לא נקראו. " +#~ "תלוי במוטיב אשר מצוי בשימוש, סמל זה יכול להיות מונפש." + +#, fuzzy +#~ msgid "Server must be between 1 and 1023 bytes" +#~ msgstr "שרת מוכרח להיות בין 1 עד 1023 תווים" + +#~ msgid "Invalid character in hostname." +#~ msgstr "תו שגוי בשם מארח." + +#~ msgid "Server address required." +#~ msgstr "נדרשת כתובת שרת." + +#, fuzzy +#~ msgid "Username must be between 1 and 1023 bytes" +#~ msgstr "שם משתמש מוכרח להיות בין 1 עד 1023 תווים" + +#~ msgid "Invalid character in username." +#~ msgstr "תו שגוי בתוך שם משתמש." + +#, fuzzy +#~ msgid "Resource must be between 1 and 1023 bytes" +#~ msgstr "משאב מוכרח להיות בין 1 עד 1023 תווים" + +#~ msgid "Invalid character in resource." +#~ msgstr "תו שגוי במשאב." + +#, fuzzy +#~ msgid "Notification color for contacts signing in." +#~ msgstr "הודע לי אודות אנשי קשר אשר מת_חברים" + +#, fuzzy +#~ msgid "Notification color for contacts signing out." +#~ msgstr "הודע לי אודות אנשי קשר אשר מת_נתקים" + +#, fuzzy +#~ msgid "Notification color for new message notification." +#~ msgstr "צבע התראה של הודעה/דוא״ל חדש/ה." + +#, fuzzy +#~ msgid "Notification color for file transfer request." +#~ msgstr "הו_דע לי כאשר העברת קובץ הושלמה" + +#, fuzzy +#~ msgid "Notification color for file transfer errors." +#~ msgstr "הו_דע לי כאשר העברת קובץ הושלמה" + +# בזמן שהם מתחברים +# שזה עתה +# בעת שהם +#, fuzzy +#~ msgid "Notification background color for changed status." +#~ msgstr "צבע רקע אחורי של אנשי קשר כאשר הם מתחברים." + +#~ msgid "Event Type" +#~ msgstr "טיפוס אירוע" + +#~ msgid "Event desc" +#~ msgstr "תיאור אירוע" + +#, fuzzy +#~ msgid "No response from the Server" +#~ msgstr "אינך מחובר לשרת" + +#~ msgid "Resource Conflict" +#~ msgstr "התנגשות משאב" + +#, fuzzy +#~ msgid "" +#~ "You are already connected to this account with the same resource. Please " +#~ "enter a different one." +#~ msgstr "אתה כבר מחובר לחשבון זה באמצעות אותו משאב. אנא הקלד אחד חדש" + +#~ msgid "Unable to load image" +#~ msgstr "אין אפשרות לטעון תמונה" + +#~ msgid "Media type not supported: %s" +#~ msgstr "טיפוס מדיה לא נתמך: %s" + +#~ msgid "This field is required" +#~ msgstr "שדה זה הינו נדרש" + +#~ msgid "video output" +#~ msgstr "פלט וידאו" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "‫Gajim: אשף יצירת חשבון" + +#, fuzzy +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "יש צורך בחשבון בכדי להתחבר\n" +#~ "לרשת Jabber." + +#~ msgid "I already have an account I want to _use" +#~ msgstr "כבר יש ברשותי _חשבון אשר ברצוני להשתמש" + +#~ msgid "I want to _register for a new account" +#~ msgstr "ברצוני ל_רשום חשבון חדש" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "אנא בחר באחת מתוך האפשרויות מטה:" + +# credentials +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "אנא מלא נתוני התחברות בשביל חשבונך הקיים" + +#, fuzzy +#~ msgid "_XMPP Address:" +#~ msgstr "כתובת AIM:" + +#~ msgid "Anon_ymous authentication" +#~ msgstr "אימות _אלמוני" + +#~ msgid "_Password:" +#~ msgstr "סיס_מה:" + +#~ msgid "Save pass_word" +#~ msgstr "שמו_ר סיסמה" + +# BUG: a dot at the end +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "כאשר מסומן, Gajim יזכור את הסיסמה עבור חשבון זה" + +#~ msgid "Please select a server" +#~ msgstr "אנא בחר שרת" + +#~ msgid "_Server:" +#~ msgstr "_שרת:" + +# BUG: _underline +#~ msgid "Manage..." +#~ msgstr " נהל... " + +#~ msgid "_Port:" +#~ msgstr "_פורט:" + +#~ msgid "_Advanced" +#~ msgstr "_מתקדם" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA1 fingerprint of the certificate:\n" +#~ msgstr "" +#~ "הוסף את תעודה זו לרשימת התעודות המהימנות.\n" +#~ "טביעת אצבע SHA1 של התעודה:\n" + +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "כעת מתחבר לשרת\n" +#~ "\n" +#~ "אנא המתן..." + +#~ msgid "Connect when I press Finish" +#~ msgstr "התחבר כאשר אני אלחץ על סיים" + +#~ msgid "Set my profile when I connect" +#~ msgstr "הגדר את הדיוקן שלי בעת התחברותי" + +#~ msgid "_Finish" +#~ msgstr "_סיים" + +# מאוחר יותר +#~ msgid "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." +#~ msgstr "" +#~ "באפשרותך להגדיר אפשרויות חשבון מתקדמות על ידי לחיצה על הלחצן מתקדם, או " +#~ "לאחר מכן בבוחרך בתפריט חשבונות תחת התפריט עריכה מתוך החלון הראשי." + +#~ msgid "Your new account has been created successfully" +#~ msgstr "חשבונך החדש נוצר בהצלחה" + +#~ msgid "Invalid username" +#~ msgstr "שם משתמש שגוי" + +#~ msgid "You must provide a username to configure this account." +#~ msgstr "עליך לספק שם משתמש כדי להגדיר את חשבון זה." + +#~ msgid "Invalid server" +#~ msgstr "שרת שגוי" + +#~ msgid "Please provide a server on which you want to register." +#~ msgstr "אנא ספק שרת אליו ברצונך להירשם." + +#~ msgid "Invalid entry" +#~ msgstr "רשומה שגויה" + +# BUG: גודל אותיות באנגלית? +#~ msgid "Certificate Already in File" +#~ msgstr "התעודה כבר מצויה בקובץ" + +# חריג לכלל: עשיתי שימוש במילה שנית במקום שוב מכיוון שתמיד יהיה 'ראשון' ולאחריו שני +#~ msgid "This certificate is already in file %s, so it's not added again." +#~ msgstr "תעודה זו כבר מצויה בקובץ %s, ולכן היא לא תוסף בשנית." + +#~ msgid "" +#~ "Security Warning\n" +#~ "\n" +#~ "The authenticity of the %(hostname)s SSL certificate could be invalid.\n" +#~ "SSL Error: %(error)s\n" +#~ "Do you still want to connect to this server?" +#~ msgstr "" +#~ "אזהרת אבטחה\n" +#~ "\n" +#~ "אמינותה של תעודת SSL של %(hostname)s עלולה להיות רעועה.\n" +#~ "שגיאת SSL: ‏%(error)s\n" +#~ "האם עדיין יש ברצונך להתחבר לשרת זה?" + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA-256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "הוסף את תעודה זו לרשימת תעודות מהימנות.\n" +#~ "טביעת אצבע SHA1 של התעודה:\n" +#~ "%s" + +#~ msgid "Account name is in use" +#~ msgstr "שם חשבון הינו בשימוש" + +#~ msgid "You already have an account using this name." +#~ msgstr "כבר יש ברשותך חשבון אשר עושה שימוש בשם זה." + +#, fuzzy +#~ msgid "" +#~ "List of authentication mechanisms to try (space separated). Can contain " +#~ "'ANONYMOUS', 'EXTERNAL', 'GSSAPI', 'SCRAM-SHA-1-PLUS', 'SCRAM-SHA-1', " +#~ "'DIGEST-MD5', 'PLAIN', 'X-MESSENGER-OAUTH2' or 'XEP-0078'." +#~ msgstr "" +#~ "רשימה (מופרדת על ידי רווח) של מנגנוני אימות לנסות. יכולה להכיל ANONYMOUS,‏ " +#~ "EXTERNAL,‏ GSSAPI,‏ SCRAM-SHA-1-PLUS,‏ SCRAM-SHA-1,‏ DIGEST-MD5,‏ PLAIN, X-" +#~ "MESSENGER-OAUTH2 או XEP-0078" + +#~ msgid "Show a warning dialog before using standard SSL library." +#~ msgstr "הצג דו שיח אזהרה בטרם שימוש בספריית SSL סטנדרטית." + +# חלל לבן, עקב +#, fuzzy +#~ msgid "If enabled, a whitespace is sent after inactivity (keep alive)." +#~ msgstr "סימן לבן נשלח לאחר חוסר פעילות" + +#, fuzzy +#~ msgid "If enabled, an XMPP ping is sent after inactivity (ping alive)." +#~ msgstr "פינג XMPP נשלח לאחר חוסר פעילות" + +#~ msgid "Connection with account \"%s\" has been lost" +#~ msgstr "החיבור עם חשבון \"%s\" אבד" + +#~ msgid "Reconnect manually." +#~ msgstr "התחבר ידנית." + +#~ msgid "Server %(name)s answered wrongly to register request: %(error)s" +#~ msgstr "שרת %(name)s ענה באופן שגוי לבקשת rhauo: %(error)s" + +#~ msgid "Server %s provided a different registration form" +#~ msgstr "שרת %s סיפק טופס רישום שונה" + +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "לא היתה אפשרות להתחבר למארח \"%(host)s\" דרך ציר \"%(proxy)s\"" + +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "לא היתה אפשרות להתחבר אל \"%(host)s\"" + +#~ msgid "Check your connection or try again later." +#~ msgstr "בדוק את החיבור שלך או נסה שוב מאוחר יותר." + +#~ msgid "Server replied: %s" +#~ msgstr "תגובת שרת: %s" + +#~ msgid "Connection to proxy failed" +#~ msgstr "התחברות אל proxy נכשלה" + +#~ msgid "Could not connect to account %s" +#~ msgstr "לא היתה אפשרות להתחבר לחשבון %s" + +#~ msgid "Connection with account %s has been lost. Retry connecting." +#~ msgstr "החיבור עם חשבון %s אבד. כעת מנסה להתחבר מחדש." + +# נכונות +#~ msgid "Please check your login and password for correctness." +#~ msgstr "אנא בדוק תקינות התחברות וסיסמה." + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "מחובר" + +# כתובת _BOSH: +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "BOSH" +#~ msgstr "‏_BOSH URL:" + +#~ msgid "Use HTTP prox_y" +#~ msgstr "אפשר _HTTP proxy" + +# כתובת _BOSH: +#, fuzzy +#~ msgid "_BOSH URL" +#~ msgstr "‏_BOSH URL:" + +# כתובת _BOSH: +#, fuzzy +#~ msgid "BOSH" +#~ msgstr "‏_BOSH URL:" + +#, fuzzy +#~ msgid "Warn on insecure connection" +#~ msgstr "ה_זהר אותי לפני שימוש בחיבור לא מאובטח" + +#, fuzzy +#~ msgid "Contact list, list of contacts" +#~ msgstr "רשום _שינויים של מצב אנשי קשר" + +#~ msgid "You are participating in one or more group chats" +#~ msgstr "אתה משתתף בשיחת קבוצה אחת או יותר" + +#, fuzzy +#~ msgid "" +#~ "Changing your status to invisible will result in you leaving those group " +#~ "chats.\n" +#~ "Are you sure you want to go invisible?" +#~ msgstr "" +#~ "שינוי המצב שלך אל בלתי נראה יגרום לניתוק מתוך שיחות קבוצה אלו. האם אתה " +#~ "בטוח כי ברצונך להפוך את המצב שלך אל בלתי נראה?" + +#~ msgid "_Disconnect" +#~ msgstr "הת_נתק" + +#~ msgid "You cannot join a group chat while you are invisible" +#~ msgstr "אין באפשרותך להשתתף בשיחת קבוצה כאשר הינך במצב בלתי נראה" + +#~ msgid "Invisible" +#~ msgstr "בלתי נראה" + +#, fuzzy +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "אין באפשרותך להשתתף בשיחת קבוצה כאשר הינך במצב בלתי נראה" + +#~ msgid "_Invisible" +#~ msgstr "_בלתי נראה" + +#~ msgid "Yesterday" +#~ msgid_plural "%(nb_days)i days ago" +#~ msgstr[0] "אתמול" +#~ msgstr[1] "לפני %(nb_days)i ימים" + +#, fuzzy +#~ msgid "_Cancel Upload" +#~ msgstr "_ביטול" + +#~ msgid " [blocked]" +#~ msgstr " [חסומה]" + +#~ msgid " [minimized]" +#~ msgstr " [ממוזערת]" + +#, fuzzy +#~ msgid "" +#~ "If you close this tab while having chat history disabled, this message " +#~ "will be lost." +#~ msgstr "" +#~ "אם כרטיסייה זו תיסגר וכאשר רשימת היסטוריה מנוטרלת אצלך. הודעה זו תאבד." + +#, fuzzy +#~ msgid "Unregister Failed" +#~ msgstr "ביטול רישום נכשל" + +#, fuzzy +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "אי רישום בתוך שרת %(server)s נכשל: %(error)s" + +#, fuzzy +#~ msgid "New Password" +#~ msgstr "שמור סיסמה" + +#~ msgid "What do you want to do?" +#~ msgstr "מה ברצונך לעשות?" + +#~ msgid "Remove account from Gajim and from _server" +#~ msgstr "להסיר חשבון מתוך Gajim וגם מתוך _שרת" + +#, fuzzy +#~ msgid "You must enter a password" +#~ msgstr "עליך להזין סיסמה." + +#, fuzzy +#~ msgid "You still have open chats in your account %s" +#~ msgstr "פתחת שיחה בחשבון %s" + +#, fuzzy +#~ msgid "To unregister from a server, the account must be enabled." +#~ msgstr "כדי לבטל רישום מתוך שרת, על חשבון נתון להיות מאופשר." + +#, fuzzy +#~ msgid "Password required" +#~ msgstr "נדרשת מילת מעבר" + +#, fuzzy +#~ msgid "Still connected to the server" +#~ msgstr "אינך מחובר לשרת" + +# it = account? +# תסיר/י אותו +#, fuzzy +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "אם תסירו, החיבור יאבד." + +#~ msgid "Connection to server %s failed" +#~ msgstr "התחברות לשרת %s נכשלה" + +#~ msgid "What would you like to do?" +#~ msgstr "מה ברצונך לעשות?" + +# BUG: USE: Remove account _only from Gajim +#~ msgid "Remove only from Gajim" +#~ msgstr "להסיר מתוך Gajim בלבד" + +# BUG: Underline +#~ msgid "Don't remove anything. I'll try again later" +#~ msgstr "לא להסיר דבר. אני אנסה שוב מאוחר יותר" + +#, fuzzy +#~ msgid "Contents" +#~ msgstr "_תכנים" + +#, fuzzy +#~ msgid "FAQ" +#~ msgstr "_שו״ת" + +#~ msgid "Save as Preset Status Message" +#~ msgstr "שמירה בתור הודעת מצב מותאמת" + +#~ msgid "Enter a new nickname for contact %s" +#~ msgstr "הזן שם כינוי חדש עבור איש קשר %s" + +#, fuzzy +#~ msgid "Join a group chat" +#~ msgstr "בתוך _שיחות קבוצה" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "_קבל" + +#~ msgid "New entry received" +#~ msgstr "התקבלה רשומה חדשה" + +#~ msgid "You have received new entry:" +#~ msgstr "קיבלת רשומה חדשה:" + +#~ msgid "Feed name:" +#~ msgstr "שם הזנה:" + +#~ msgid "Last modified:" +#~ msgstr "שונתה לאחרונה:" + +#~ msgid "Next entry" +#~ msgstr "רשומה באה" + +#, fuzzy +#~ msgid "Send file?" +#~ msgstr "שלח _קובץ" + +#, fuzzy +#~ msgid "Mail _client" +#~ msgstr "לקוח דו_אר:" + +#, fuzzy +#~ msgid "_Browser" +#~ msgstr "_דפדפן:" + +#, fuzzy +#~ msgid "_File manager" +#~ msgstr "מנהל _קבצים:" + +#, fuzzy +#~ msgid "Custom applications" +#~ msgstr "השתמש ביישומים שגרתיים" + +#, fuzzy +#~ msgid "Applications" +#~ msgstr "יישומים" + +#, fuzzy +#~ msgid "" +#~ "Uses ReStructured text markup to send HTML, plus ASCII formatting if " +#~ "selected. Needs docutils installed (for syntax, see http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "השתמש בשיטת קידוד ReStructured כדי לשלוח HTML, בנוסף גם עיצוב ascii במידה " +#~ "ונבחר. לתחביר, ראו http://docutils.sourceforge.net/docs/ref/rst/" +#~ "restructuredtext.html (אם רצונך להפיק מזה שימוש, יש להתקין docutils)" + +#, fuzzy +#~ msgid "Store XHTML messages in chat history instead of plain text messages." +#~ msgstr "רישום הודעות בתסדיר XHTML במקום הודעות בתמליל רגיל." + +#, fuzzy +#~ msgid "_Ignore formatting of incoming messages" +#~ msgstr "הת_עלם מתוכן עשיר בהודעות נכנסות" + +# הודעות מסוימות עשויות להכיל +#, fuzzy +#~ msgid "" +#~ "Some messages may include rich content (xhtml formatting, colors etc). If " +#~ "checked, Gajim will just display the plain message text." +#~ msgstr "" +#~ "ייתכן כי הודעות מסוימות יכילו תוכן עשיר (עיצוב, צבעים וכו׳). כאשר מסומן, " +#~ "Gajim יציג רק את התמליל הגולמי אשר מצוי בהודעה." + +#, fuzzy +#~ msgid "RST XHTML Generator" +#~ msgstr "מחולל RST" + +#, fuzzy +#~ msgid "Requires: python-docutils" +#~ msgstr "יש צורך בהתקנת python-docutils." + +#~ msgid "New Single Message" +#~ msgstr "הודעה בודדת חדשה" + +#, fuzzy +#~ msgid "" +#~ "Can be empty, 'chat' or 'normal'. If not empty, all incoming messages are " +#~ "treated as if they were of this type." +#~ msgstr "" +#~ "יכול להיות ריק, 'chat' (שיחה) או 'normal' (רגיל). כאשר ערך זה לא ריק, " +#~ "התייחס לכל ההודעות הנכנסות כאילו היו מטיפוס זה" + +#~ msgid "Error %(code)s: %(msg)s" +#~ msgstr "שגיאה %(code)s: ‏%(msg)s" + +#~ msgid "twelve" +#~ msgstr "שתיים עשרה" + +#~ msgid "one" +#~ msgstr "אחת" + +#~ msgid "two" +#~ msgstr "שתיים" + +#~ msgid "three" +#~ msgstr "שלוש" + +#~ msgid "four" +#~ msgstr "ארבע" + +#~ msgid "five" +#~ msgstr "חמש" + +#~ msgid "six" +#~ msgstr "שש" + +#~ msgid "seven" +#~ msgstr "שבע" + +#~ msgid "eight" +#~ msgstr "שמונה" + +#~ msgid "nine" +#~ msgstr "תשע" + +#~ msgid "ten" +#~ msgstr "עשר" + +#~ msgid "eleven" +#~ msgstr "אחת עשרה" + +#~ msgid "%(0)s o'clock" +#~ msgstr "השעה %(0)s" + +#~ msgid "five past %(0)s" +#~ msgstr "%(0)s וחמישה" + +#~ msgid "ten past %(0)s" +#~ msgstr "%(0)s ועשרה" + +#~ msgid "quarter past %(0)s" +#~ msgstr "%(0)s ורבע" + +#~ msgid "twenty past %(0)s" +#~ msgstr "%(0)s ועשרים" + +#~ msgid "twenty five past %(0)s" +#~ msgstr "%(0)s עשרים וחמישה" + +#~ msgid "half past %(0)s" +#~ msgstr "%(0)s וחצי" + +#~ msgid "twenty five to %(1)s" +#~ msgstr "עשרים וחמישה ל%(1)s" + +#~ msgid "twenty to %(1)s" +#~ msgstr "עשרים ל%(1)s" + +#~ msgid "quarter to %(1)s" +#~ msgstr "רבע ל%(1)s" + +#~ msgid "ten to %(1)s" +#~ msgstr "עשרה ל%(1)s" + +#~ msgid "five to %(1)s" +#~ msgstr "חמישה ל%(1)s" + +#~ msgid "%(1)s o'clock" +#~ msgstr "השעה %(1)s" + +#~ msgid "Night" +#~ msgstr "לילה" + +#~ msgid "Early morning" +#~ msgstr "לפנות בוקר" + +#~ msgid "Morning" +#~ msgstr "בוקר" + +#~ msgid "Almost noon" +#~ msgstr "כמעת צהריים" + +#~ msgid "Noon" +#~ msgstr "צהריים" + +#~ msgid "Afternoon" +#~ msgstr "אחר הצהריים" + +#~ msgid "Evening" +#~ msgstr "ערב" + +#~ msgid "Late evening" +#~ msgstr "מאוחר בערב" + +#~ msgid "Start of week" +#~ msgstr "תחילת השבוע" + +#~ msgid "Middle of week" +#~ msgstr "אמצע השבוע" + +#~ msgid "End of week" +#~ msgstr "סוף השבוע" + +#~ msgid "Weekend!" +#~ msgstr "סופשבוע!" + +# while the value 1 will +#, fuzzy +#~ msgid "" +#~ "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or " +#~ "0 to disable Fuzzy Clock. 1 is the most precise clock, 4 the least " +#~ "precise one. This is used only if 'print_time' is 'sometimes'." +#~ msgstr "" +#~ "הדפסת זמן בתוך שיחות באמצעות שעון מעורפל. ערך הערפול נע בין 1 עד 4, או 0 " +#~ "לנטרול שעון מעורפל. בעוד שהערך 1 יספק את השעה המדויקת ביותר, הערך 4 יספק " +#~ "את השעה הכי פחות מדויקת. אפשרות זו ניתנת לשימוש רק כאשר print_time מוגדר " +#~ "אל 'sometimes'." + +#~ msgid "message" +#~ msgstr "הודעה" + +#, fuzzy +#~ msgid "error: %s" +#~ msgstr "שגיאה: %s" + +#, fuzzy +#~ msgid "Form: %s" +#~ msgstr "טופס %s" + +#, fuzzy +#~ msgid "XML Input" +#~ msgstr "קלט XML" + +#, fuzzy +#~ msgid "Ttitle" +#~ msgstr "_כותרת:" + +#, fuzzy +#~ msgid "%(type)s encryption is active %(authenticated)s" +#~ msgstr "" +#~ "הצפנת %(type)s %(status)s מופעלת %(authenticated)s.\n" +#~ "סשן שיחתך %(logged)s ברשומות ההיסטוריה." + +#~ msgid "Screen" +#~ msgstr "מסך" + +#~ msgid "Fake video output" +#~ msgstr "פלט וידאו מזויף" + +#~ msgid "X Window System (X11/XShm/Xv): %s" +#~ msgstr "מערכת חלונות X ‏(X11/XShm/Xv): ‏%s" + +#~ msgid "X Window System (without Xv)" +#~ msgstr "מערכת חלונות X (ללא Xv)" + +#, fuzzy +#~ msgid "V_ideo output device" +#~ msgstr "התקן פלט וידאו" + +# direction_mark needed +#~ msgid "Conversation with " +#~ msgstr "שיחה עם " + +# שבר משולב continued fraction +# שיחה נמשכת +#~ msgid "Continued conversation" +#~ msgstr "שיחה משולבת" + +#, fuzzy +#~ msgid "%s has invited you to join a discussion" +#~ msgstr "$Contact הזמינך להצטרף לדיון" + +#~ msgid "_Send Private Message" +#~ msgstr "_שלח הודעה פרטית" + +#, fuzzy +#~ msgid "Participant Actions" +#~ msgstr "משתתפים" + +#~ msgid "_Voice" +#~ msgstr "ה_שמע" + +#~ msgid "Mo_derator" +#~ msgstr "_אחראי" + +#~ msgid "_Member" +#~ msgstr "_חבר" + +#~ msgid "_Admin" +#~ msgstr "_מנהל" + +#~ msgid "_Owner" +#~ msgstr "_בעלים" + +#, fuzzy +#~ msgid "_Add to Contact List" +#~ msgstr "הוסף _איש קשר..." + +#, fuzzy +#~ msgid "_Execute command" +#~ msgstr "הרץ _פקודה" + +#~ msgid "Change _Nickname..." +#~ msgstr "שנה שם _כינוי..." + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "שיחת קבוצה _חדשה" + +#~ msgid "Change _Subject..." +#~ msgstr "שנה _נושא..." + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "ה_גדר חדר..." + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "שיחת קבוצה _חדשה" + +#~ msgid "_Minimize on close" +#~ msgstr "_מזער בעת סגירה" + +#~ msgid "_Request Voice" +#~ msgstr "_בקש ביטוי" + +#~ msgid "_Bookmark" +#~ msgstr "_סמן" + +# חסרת תוקף +#~ msgid "The authenticity of the %s certificate could be invalid" +#~ msgstr "אמינותה של התעודה %s עלולה להיות רעועה" + +#~ msgid "" +#~ "\n" +#~ "Unknown SSL error: %d" +#~ msgstr "" +#~ "\n" +#~ "שגיאת SSL לא מוכרת: %d" + +#~ msgid "" +#~ "\n" +#~ "SSL Error: %s" +#~ msgstr "" +#~ "\n" +#~ "שגיאת SSL: ‏%s" + +#~ msgid "Error verifying SSL certificate" +#~ msgstr "שגיאה באימות תעודת SSL" + +#, fuzzy +#~ msgid "View certificate…" +#~ msgstr "הצג תעודה..." + +#, fuzzy +#~ msgid "Continue" +#~ msgstr "ה_משך" + +#~ msgid "" +#~ "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM " +#~ "IS RUNNING)" +#~ msgstr "" +#~ "האם ברצונך לנקות את מסד הנתונים? (פעולה זו בהחלט לא מומלצת כאשר Gajim " +#~ "מורץ)" + +#, fuzzy +#~ msgid "Authorization" +#~ msgstr "הרשאה נשלחה" + +#, fuzzy +#~ msgid "" +#~ "All chat and group chat windows will be closed. Do you want to continue?" +#~ msgstr "כל חלונות שיחה וחלונות שיחת קבוצה ייסגרו. האם ברצונך להמשיך?" + +#, fuzzy +#~ msgid "Account '%s' is still connected to the server" +#~ msgstr "חשבון \"%s\" מחובר כעת לשרת" + +#, fuzzy +#~ msgid "Error While Saving" +#~ msgstr "שגיאה בעת הוספת שירות. %s" + +#, fuzzy +#~ msgid "" +#~ "Image cannot be saved in %(type)s format.\n" +#~ "Save as %(new_filename)s?" +#~ msgstr "" +#~ "אין אפשרות לשמור תמונה בפורמט %(type)s. לשמור בתור %(new_filename)s?" + +#, fuzzy +#~ msgid "Save _As" +#~ msgstr "נשמר בתוך: ‎%s" + +#~ msgid "Yes, I really want to connect insecurely" +#~ msgstr "כן, אני באמת רוצה להתחבר בשיטה לא בטוחה" + +#~ msgid "Gajim will NOT connect unless you check this box" +#~ msgstr "‏Gajim לא יתחבר אלא אם כן תיבה זו תסומן" + +#, fuzzy +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "מזהה Jabber של שיחת קבוצה שגוי" + +#, fuzzy +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "מזהה Jabber של שיחת קבוצה מכילה תווים אסורים." + +#~ msgid "You may specify a reason below:" +#~ msgstr "באפשרותך לציין סיבה למטה:" + +#~ msgid "Banning %s" +#~ msgstr "אסירת ‫%s" + +#, fuzzy +#~ msgid "" +#~ "Always ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "שאל תמיד בטרם סגירת חלון/כרטיסייה של שיחת קבוצה ברשימה זו אשר מופרדת על " +#~ "ידי רווח, של כתובות JID של שיחות קבוצה." + +#, fuzzy +#~ msgid "" +#~ "Never ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "לעולם אל תשאל בטרם סגירת חלון/כרטיסייה של שיחת קבוצה ברשימה זו אשר מופרדת " +#~ "על ידי רווח, של כתובות JID של שיחות קבוצה." + +#, fuzzy +#~ msgid "Leave Group Chats" +#~ msgstr "עזוב שיחות קבוצה" + +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "%(nickname)s בחדר %(room_jid)s" + +#, fuzzy +#~ msgid "You have not joined a group chat." +#~ msgstr "לא הצטרפת לשיחת קבוצה." + +#, fuzzy +#~ msgid "Choose the group chats you want to leave" +#~ msgstr "בחר שיחות קבוצה אשר ברצונך לעזוב" + +#, fuzzy +#~ msgid "You left the following group chats:" +#~ msgstr "עזבת את שיחות הקבוצה הבאות:" + +#, fuzzy +#~ msgid "" +#~ "Should automatic rejoin be activated when you were kicked from a group " +#~ "chat?" +#~ msgstr "" +#~ "האם על הצטרפות חוזרת אוטומטית להיות מופעלת כאשר אנחנו נבעטים מתוך שיחת " +#~ "ועידה?" + +# המהבהבת +# כאשר זה מתריע על אירוע +#, fuzzy +#~ msgid "" +#~ "If disabled, Gajim will display a static event icon instead of the " +#~ "blinking status icon in the notification area when notifying about an " +#~ "event." +#~ msgstr "" +#~ "כאשר מנוטרלת, Gajim יציג סמל אירוע סטטי במקום סמל מצב אשר ממצמץ באזור " +#~ "התראה בעת יידוע על אירוע." + +#~ msgid "Don't show avatar for the transport itself." +#~ msgstr "אל תציג אווטאר עבור המוביל עצמו." + +#, fuzzy +#~ msgid "" +#~ "Show a confirmation dialog for a custom status? Empty string means never " +#~ "show the dialog." +#~ msgstr "" +#~ "האם עלינו להציג דו שיח וידוא מצב מותאם? המשמעות של מחרוזת ריקה תהיה " +#~ "שאנחנו לא נציג את הדו שיח בכלל." + +# יכרכו +# BUG: the notification icon? +#, fuzzy +#~ msgid "" +#~ "If enabled, notification windows from notification-daemon will be " +#~ "attached to the notification area icon." +#~ msgstr "" +#~ "כאשר מופעלת, חלונות התראה מתוך notification-daemon יסופחו לסמל התראה." + +#~ msgid "" +#~ "Show a warning dialog before sending PLAIN password over a plain " +#~ "connection." +#~ msgstr "הצגת דו שיח אזהרה בטרם שליחת סיסמה חשופה (PLAIN) על פני חיבור גלוי." + +# BUG: he or she +#, fuzzy +#~ msgid "" +#~ "List of XMPP Addresses (space separated) for which you accept to not " +#~ "store chat history if your contact does not want to." +#~ msgstr "" +#~ "רשימה אשר מופרדת על ידי רווח, של כתובות JID עבורן אתה מביע הסכמה שלא " +#~ "לרשום דיונים כאשר הקצה השני לא מעוניין בכך." + +#, fuzzy +#~ msgid "Jabberd2 workaround." +#~ msgstr "מעקף Jabberd2" + +#, fuzzy +#~ msgid "Configure Services…" +#~ msgstr "הגדר שירותים..." + +#, fuzzy +#~ msgid "Group Chat Bookmarks" +#~ msgstr "שיחות קבוצה" + +#, fuzzy +#~ msgid "Add Bookmark" +#~ msgstr "_סמן" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "_סמן" + +#, fuzzy +#~ msgid "_Server" +#~ msgstr "_שרת:" + +#, fuzzy +#~ msgid "Roo_m" +#~ msgstr "_חדר:" + +#, fuzzy +#~ msgid "_Password" +#~ msgstr "סיס_מה:" + +#, fuzzy +#~ msgid "Join chat when connected" +#~ msgstr "איש קשר מנותק" + +#~ msgid "New Group Chat" +#~ msgstr "שיחת קבוצה חדשה" + +#~ msgid "This bookmark has invalid data" +#~ msgstr "סימנייה זו מכילה מידע שגוי" + +#, fuzzy +#~ msgid "" +#~ "Please be sure to fill out server and group chat fields or remove this " +#~ "bookmark." +#~ msgstr "אנא דאג למלא שדות חדר ושרת או הסר את סימנייה זו." + +#~ msgid "Character not allowed" +#~ msgstr "תו לא מורשה" + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "מזהה Jabber של שיחת קבוצה שגוי" + +#~ msgid "Unable to join group chat" +#~ msgstr "אין אפשרות להצטרף לשיחת קבוצה" + +# בכתובת +#~ msgid "You are banned from group chat %s." +#~ msgstr "נאסרת מתוך שיחת קבוצה בכתובת %s." + +#, fuzzy +#~ msgid "Remote server %s does not exist." +#~ msgstr "שיחת קבוצה %s לא קיימת." + +#~ msgid "Group chat %s does not exist." +#~ msgstr "שיחת קבוצה %s לא קיימת." + +#, fuzzy +#~ msgid "Group chat creation is not permitted." +#~ msgstr "יצירת שיחות קבוצה הינה מוגבלת." + +#, fuzzy +#~ msgid "You must use your registered nickname in %s." +#~ msgstr "שם הכינוי הרשום שלך מוכרח להיות בשימוש בתוך שיחת קבוצה %s." + +#, fuzzy +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "אינך ברשימת החברים בתוך שיחות קבוצה %s." + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "זוהי אינה שיחת קבוצה" + +#~ msgid "This is not a group chat" +#~ msgstr "זוהי אינה שיחת קבוצה" + +#, fuzzy +#~ msgid "Please choose a group chat" +#~ msgstr "אנא צור מוטיב חדש עם השם הרצוי עליך." + +#~ msgid "Invalid Nickname" +#~ msgstr "שם כינוי שגוי" + +#~ msgid "Wrong server" +#~ msgstr "שרת שגוי" + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "‏%s אינו שרת שיחת קבוצה" + +# ללא גבול/סייג +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit." +#~ msgstr "כמה שורות לבקש מתוך שרת בעת כניסה לשיחת קבוצה. 1- מסמל אי הגבלה" + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit." +#~ msgstr "" +#~ "כמה דקות לאחור לבקש רשומות בעת התחברות לשיחת קבוצה. 1- מסמל אי הגבלה" + +# ללא +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit, -2 means global value." +#~ msgstr "" +#~ "כמה שורות לבקש מתוך שרת בעת כניסה לשיחת קבוצה. 1- מסמל אי הגבלה, 2- מסמל " +#~ "ערך גלובלי" + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit, -2 means global value." +#~ msgstr "" +#~ "כמה דקות לאחור לבקש רשומות בעת התחברות לשיחת קבוצה. 1- מסמל אי הגבלה, 2- " +#~ "מסמל ערך גלובלי" + +#, fuzzy +#~ msgid "A Password is required to join the group chat %s. Please type it." +#~ msgstr "נדרשת מילת מעבר כדי להצטרף לחדר %s. אנא הקלד אותה." + +#~ msgid "Not in Roster" +#~ msgstr "לא ברשימה" + +#~ msgid "I would like to add you to my roster" +#~ msgstr "ברצוני להוסיף אותך לרשימה שלי" + +#, fuzzy +#~ msgid "Add to Roster" +#~ msgstr "הו_סף לרשימה" + +#, fuzzy +#~ msgid "Audio Session" +#~ msgstr "בדיקת קול" + +#, fuzzy +#~ msgid "Manage Room" +#~ msgstr "נהל _חדר" + +#, fuzzy +#~ msgid "Configure Room" +#~ msgstr "ה_גדר חדר..." + +#, fuzzy +#~ msgid "Destroy Room" +#~ msgstr "ה_חרב חדר" + +#, fuzzy +#~ msgid "Change Nick" +#~ msgstr "שנה שם _כינוי..." + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "הת_נתק" + +#, fuzzy +#~ msgid "Copy JID" +#~ msgstr "cli" + +#, fuzzy +#~ msgid "Add to Roster…" +#~ msgstr "הו_סף לרשימה" + +#, fuzzy +#~ msgid "Copy JID/Email" +#~ msgstr "ה_עתק כתובת JID/דוא״ל" + +#, fuzzy +#~ msgid "JID: %s" +#~ msgstr "מזהה Jabber: ‏%s" + +#~ msgid "Changing Subject" +#~ msgstr "שינוי נושא" + +#~ msgid "Please specify the new subject:" +#~ msgstr "אנא ציין את נושא חדש:" + +#~ msgid "Room logging is now enabled" +#~ msgstr "רישום פעילות חדר מאופשר כעת" + +#~ msgid "Room logging is now disabled" +#~ msgstr "רישום פעילות חדר מנוטרל כעת" + +# הצטרף +#, fuzzy +#~ msgid "You (%s) joined the room" +#~ msgstr "%s נכנס/ה לשיחת קבוצה" + +#~ msgid "Room logging is enabled" +#~ msgstr "רישום של פעילות חדר הינו מאופשר" + +#, fuzzy +#~ msgid "Unable to join groupchat" +#~ msgstr "אין אפשרות להצטרף לשיחת קבוצה" + +#~ msgid "Groupchat Invitation" +#~ msgstr "הזמנת שיחת קבוצה" + +# in or to? +#~ msgid "%(jid)s has been invited in this room" +#~ msgstr "%(jid)s הוזמן/ה לחדר זה" + +#, fuzzy +#~ msgid "JID is not a Groupchat" +#~ msgstr "זוהי אינה שיחת קבוצה" + +#~ msgid "Invalid JID" +#~ msgstr "כתובת JID שגויה" + +#~ msgid "A connection is not available" +#~ msgstr "חיבור אינו זמין" + +#, fuzzy +#~ msgid "JID already in list" +#~ msgstr "מזהה Jabber כבר מצוי בתוך הרשימה" + +#, fuzzy +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "חיבור אינו זמין" + +#, fuzzy +#~ msgid "Removes contact from roster" +#~ msgstr "cli" + +#~ msgid "Not in roster" +#~ msgstr "לא ברשימה" + +#~ msgid "Contact signed in notification color." +#~ msgstr "צבע התראה של התחברות איש קשר." + +# BUG: no Dot +#~ msgid "Contact signout notification color" +#~ msgstr "צבע התראה של התנתקות איש קשר" + +#~ msgid "File transfer request notification color." +#~ msgstr "צבע התראה של בקשת העברת קובץ." + +#~ msgid "File transfer error notification color." +#~ msgstr "צבע התראה של שגיאת העברת קובץ." + +# תושלם, מושלמת, סוימה +# השלמת או הפסקת +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "צבע התראה של העברת קובץ שהושלמה או שהופסקה." + +# BUG: no Dot +#~ msgid "Groupchat invitation notification color" +#~ msgstr "צבע התראה של הזמנת שיחת קבוצה" + +#~ msgid "Other dialogs color." +#~ msgstr "צבע תיבות דו שיח אחרות." + +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "להוסיף * וגם [n] בתוך כותרת רשימה?" + +# עם שתי אישויות +#~ msgid "Hides the banner in two persons chat window" +#~ msgstr "הסתרת הכרזה בחלון שיחה עם שני נוכחים" + +# אנשי־קשר-מוצמדים +# Meta- (from the Greek preposition μετά = "after", "beyond", "adjacent", "self", +# adjacent = adjoining = צמוד +#, fuzzy +#~ msgid "" +#~ "Show the confirm metacontacts creation dialog or not? Empty string means " +#~ "never show the dialog." +#~ msgstr "" +#~ "האם עלינו להציג דו שיח וידוא יצירת אנשי קשר מוצמדים או לא? המשמעות של " +#~ "מחרוזת ריקה תהיה שאנחנו לא נציג את הדו שיח בכלל." + +#, fuzzy +#~ msgid "If true, You will also see your webcam" +#~ msgstr "כאשר מופעלת, תהיה באפשרותך לראות גם את מצלמת הרשת שלך" + +#~ msgid "Space separated list of ssl errors to ignore." +#~ msgstr "רשימה אשר מופרדת על ידי רווח, של שגיאות ssl שיש להתעלם מהן." + +#~ msgid "Answer to receipt requests" +#~ msgstr "מענה לבקשות קבלה" + +# אשר ברצוננו +#, fuzzy +#~ msgid "Language for which misspelled words will be checked" +#~ msgstr "שפה עבורה אנחנו רוצים לבדוק מילים אשר לא מאויתות כראוי" + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "אני בהפסקת אוכל, אז תשאירו לי הודעה." + +#, fuzzy +#~ msgid "from room %s" +#~ msgstr " בחדר %s" + +#~ msgid "Leave Groupchats" +#~ msgstr "עזוב שיחות קבוצה" + +#, fuzzy +#~ msgid "Auto Join" +#~ msgstr "ה_צטרף אוטומטית" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "חדר:" + +#~ msgid "Jabber ID:" +#~ msgstr "מזהה Jabber:" + +#~ msgid "Occupant Actions" +#~ msgstr "פעולות נוכח" + +#~ msgid "_Add to Roster" +#~ msgstr "הו_סף לרשימה" + +#~ msgid "_Manage Room" +#~ msgstr "נהל _חדר" + +#~ msgid "_Destroy Room" +#~ msgstr "ה_חרב חדר" + +#~ msgid "Jabber ID" +#~ msgstr "מזהה Jabber" + +#, fuzzy +#~ msgid "account" +#~ msgstr "חשבון" + +#, fuzzy +#~ msgid "Roster" +#~ msgstr "הצג _רשימה" + +#~ msgid "Show only in roster" +#~ msgstr "הצג ברשימה בלבד" + +#~ msgid "in _roster" +#~ msgstr "בתוך _רשימה" + +#, fuzzy +#~ msgid "Roster Appearance" +#~ msgstr "הופעת רשימה" + +#~ msgid "_Add to Roster..." +#~ msgstr "הו_סף לרשימה..." + +#~ msgid "_Jabber ID:" +#~ msgstr "מזהה _Jabber:" + +#, fuzzy +#~ msgid "_Jabber ID" +#~ msgstr "מזהה _Jabber:" + +#~ msgid "JabberID" +#~ msgstr "מזהה Jabber" + +#, fuzzy +#~ msgid "Show Roster" +#~ msgstr "הצג _רשימה" + +#~ msgid "MUC server" +#~ msgstr "שרת MUC (שיחה מרובת משתתפים)" + +#, fuzzy +#~ msgid "Roster Shortcuts" +#~ msgstr "קיצורי מקש" + +#~ msgid "Room Configuration" +#~ msgstr "תצורת חדר" + +#~ msgid "Join _Group Chat" +#~ msgstr "הצטרף לשיחת _קבוצה" + +#~ msgid "Toggle audio session" +#~ msgstr "הפעלת סשן קולי" + +#~ msgid "Audio sessions are not available" +#~ msgstr "סשנים קוליים אינם זמינים" + +#~ msgid "Conference" +#~ msgstr "ועידה" + +#, fuzzy +#~ msgid "_Manage Bookmarks…" +#~ msgstr "ניהול סימניות" + +#~ msgid "Hide _Roster" +#~ msgstr "הסתר _רשימה" + +#~ msgid "Show _Roster" +#~ msgstr "הצג _רשימה" + +#, fuzzy +#~ msgid "Invalid Room" +#~ msgstr "חדר שגוי" + +#~ msgid "Invalid room" +#~ msgstr "חדר שגוי" + +#~ msgid "A GTK+ Jabber client" +#~ msgstr "לקוח ג׳אבּר GTK+‎" + +#~ msgid "Changing Nickname" +#~ msgstr "שינוי שם כינוי" + +#~ msgid "Please specify the new nickname you want to use:" +#~ msgstr "אנא ציין שם כינוי חדש אשר ברצונך לעשות בו שימוש:" + +#~ msgid "Bookmark already set" +#~ msgstr "סימנייה כבר הוגדרה" + +#, fuzzy +#~ msgid "Group Chat '%s' is already in your bookmarks." +#~ msgstr "שיחת קבוצה \"%s\" כבר קיימת בסימניות שלך." + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "סימנייה הוספה בהצלחה" + +#, fuzzy +#~ msgid "" +#~ "You can manage your bookmarks by clicking the Bookmarks menu item in your " +#~ "contact list." +#~ msgstr "" +#~ "באפשרותך לנהל את הסימניות שלך דרך תפריט 'פעולות' אשר מצוי בתוך הרשימה שלך." + +#~ msgid "The nickname contains invalid characters." +#~ msgstr "שם הכינוי מכיל תווים אסורים." + +#, fuzzy +#~ msgid "Bookmark Room" +#~ msgstr "_סמן את חדר זה" + +#~ msgid "_Join New Group Chat" +#~ msgstr "ה_צטרף לשיחת קבוצה חדשה" + +#, fuzzy +#~ msgid "Name:" +#~ msgstr "שם: " + +#~ msgid "Description:" +#~ msgstr "תיאור:" + +#, fuzzy +#~ msgid "Address:" +#~ msgstr "_כתובת:" + +#, fuzzy +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "אין באפשרותך להצטרף לשיחת קבוצה אלא כאשר תחובר." + +#, fuzzy +#~ msgid "Occupants" +#~ msgstr "פעולות נוכח" + +#~ msgid "Boolean" +#~ msgstr "בוליאני" + +#~ msgid "Integer" +#~ msgstr "ספרה" + +#~ msgid "Text" +#~ msgstr "תמליל" + +#~ msgid "Value" +#~ msgstr "ערך" + +#~ msgid "(None)" +#~ msgstr "(אין)" + +# Needs to be tested +#~ msgid "Hidden" +#~ msgstr "מוסתר" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "ניהול דיוקני Proxy" + +#, fuzzy +#~ msgid "Properties" +#~ msgstr "מאפיינים" + +#, fuzzy +#~ msgid "Proxy _Port" +#~ msgstr "פו_רט proxy:" + +#, fuzzy +#~ msgid "New Groupchat" +#~ msgstr "שיחת קבוצה חדשה" + +#, fuzzy +#~ msgid "New Contact" +#~ msgstr "הוספת איש קשר חדש" + +# גיבי בתים +#~ msgid "%s GiB" +#~ msgstr "%s גי״ב" + +# גיגה בתים +#~ msgid "%s GB" +#~ msgstr "%s ג״ב" + +# מיבי בתים +#~ msgid "%s MiB" +#~ msgstr "%s מי״ב" + +# מגה בתים +#~ msgid "%s MB" +#~ msgstr "%s מ״ב" + +# קיבי בתים +#~ msgid "%s KiB" +#~ msgstr "%s קי״ב" + +# קילו בתים +#~ msgid "%s KB" +#~ msgstr "%s ק״ב" + +# בתים +#~ msgid "%s B" +#~ msgstr "%s ב" + +# מיבי בתים +#, fuzzy +#~ msgid "%s MiB/s" +#~ msgstr "%s מי״ב" + +#~ msgid "File transfer" +#~ msgstr "העברת קובץ" + +#, fuzzy +#~ msgid "Open _Containing Folder" +#~ msgstr "_פתח תיקיה מכילה" + +#, fuzzy +#~ msgid "Default:" +#~ msgstr "ברירת מחדל" + +#~ msgid "Really quit Gajim?" +#~ msgstr "באמת לצאת מתוך Gajim?" + +#~ msgid "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" +#~ msgstr "" +#~ "לא תעמוד עוד לרשותך האפשרות לקבל וגם לשלוח הודעות לאנשי קשר מתוך מובילים " +#~ "אלו: %s" + +#~ msgid "Contact \"%s\" will be removed from your roster" +#~ msgstr "איש קשר \"%s\" יוסר מתוך הרשימה שלך" + +#, fuzzy +#~ msgid "" +#~ "By removing this contact you also by default remove authorization " +#~ "resulting in them always seeing you as offline." +#~ msgstr "" +#~ "בהסירך את איש קשר זה תוסר גם, באופן משתמט, הרשאה דבר אשר יגרום למצב בו " +#~ "איש קשר זה תמיד יראה אותך במצב לא מקוון." + +#~ msgid "Contacts will be removed from your roster" +#~ msgstr "אנשי קשר יוסרו מתוך הרשימה שלך" + +#~ msgid "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorization resulting in them always seeing you as " +#~ "offline." +#~ msgstr "" +#~ "בהסירך את אנשי קשר אלו:%s\n" +#~ "אתה גם תסיר הרשאה דבר אשר יגרום למצב בו אנשי קשר אלה תמיד יראו אותך במצב " +#~ "לא מקוון." + +#~ msgid "Con_tinue" +#~ msgstr "ה_משך" + +#~ msgid "_Pause" +#~ msgstr "ה_שהה" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "הסר העברת קובץ מתוך הרשימה." + +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "" +#~ "פעולה זו מסירה העברת קובץ בודדת מתוך הרשימה. כאשר ההעברה פעילה, היא תיעצר " +#~ "תחילה ולאחר מכן היא תוסר" + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "ביטול העברת קובץ נבחרת" + +#, fuzzy +#~ msgid "Hide the window" +#~ msgstr "הסתרת חלון" + +# תושלם, מושלמת +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "הצג התראה מוקפצת כאשר העברת קובץ הושלמה" + +#~ msgid "From:" +#~ msgstr "מאת:" + +#~ msgid "Subject:" +#~ msgstr "נושא:" + +# direction_mark +#~ msgid "%s wants to send you a file:" +#~ msgstr "‏%s רוצה לשלוח אליך קובץ:" + +#~ msgid "Name: " +#~ msgstr "שם: " + +#~ msgid "Pause" +#~ msgstr "השהה" + +#, fuzzy +#~ msgid "Execute Command" +#~ msgstr "הרץ _פקודה" + +#~ msgid "Type: " +#~ msgstr "טיפוס: " + +#~ msgid "Transferred: " +#~ msgstr "הועברו: " + +#~ msgid "Completed" +#~ msgstr "הושלמה" + +#~ msgid "Stalled" +#~ msgstr "מוקפאת" + +#~ msgid "Transferring" +#~ msgstr "כעת מעביר" + +#~ msgid "Not started" +#~ msgstr "לא הותחלה" + +#~ msgid "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" +#~ msgstr "כל חלונות שיחה וחלונות שיחת קבוצה ייסגרו. האם ברצונך להמשיך?" + +#, fuzzy +#~ msgid "" +#~ "Your desired nickname in group chat\n" +#~ "%s\n" +#~ "is in use or registered by another occupant.\n" +#~ "Please specify another nickname below:" +#~ msgstr "" +#~ "שם הכינוי אשר מבוקש על ידך בתוך שיחות הקבוצה %s מצוי בשימוש או רשום בידי " +#~ "נוכח אחר.\n" +#~ "אנא ציין שם כינוי אחר למטה:" + +#~ msgid "_Configure" +#~ msgstr "_תצורה" + +#, fuzzy +#~ msgid "Change the avatar" +#~ msgstr "cli" + +#, fuzzy +#~ msgid "" +#~ "Account in which the avatar will be set; if not specified, the avatar " +#~ "will be set for all accounts" +#~ msgstr "cli" + +# רוצה לה +#~ msgid "add" +#~ msgstr "להוסיף" + +# Is this Change or Adjust? +# לשנות +# תתאים +#~ msgid "modify" +#~ msgstr "להתאים" + +#~ msgid "remove" +#~ msgstr "להסיר" + +#, fuzzy +#~ msgid "" +#~ "If true, restored messages will use a smaller font than the default one." +#~ msgstr "" +#~ "כאשר מופעלת, הודעות משוחזרות יעשו שימוש בגופנים קטנים יותר מהגופן השגרתי." + +#, fuzzy +#~ msgid "Restored Message Color" +#~ msgstr "_אפס לצבעים ברירת מחדל" + +# בחרת להחריב באופן מוחלט את חדר זה +#, fuzzy +#~ msgid "" +#~ "You are going to remove this room permanently.\n" +#~ "You may specify a reason below:" +#~ msgstr "" +#~ "בחרת להחריב את חדר זה.\n" +#~ "באפשרותך לציין סיבה למטה:" + +#~ msgid "Send Cus_tom Status" +#~ msgstr "שלח מצב מו_תאם" + +#~ msgid "" +#~ "You are about to send a custom status. Are you sure you want to continue?" +#~ msgstr "בחרת לשלוח מצב מותאם. האם אתה בטוח כי ברצונך להמשיך?" + +#, fuzzy +#~ msgid "" +#~ "This contact will temporarily see you as %(status)s, but only until you " +#~ "change your status. Then they will see your global status." +#~ msgstr "" +#~ "איש קשר זה יראה אותך באופן זמני במצב %(status)s, אך רק עד אשר תשנה את " +#~ "המצב שלך. אחרי כן זה יראה את המצב הגלובלי שלך." + +#, fuzzy +#~ msgid "" +#~ msgstr "נושא" + +#~ msgid "You are about to block a contact. Are you sure you want to continue?" +#~ msgstr "בחרת לחסום איש קשר. האם אתה בטוח כי ברצונך להמשיך?" + +#~ msgid "To:" +#~ msgstr "לכבוד:" + +#, fuzzy +#~ msgid "" +#~ "On startup, Gajim will download logs stored on server, provided the " +#~ "server supports XEP-0313" +#~ msgstr "" +#~ "הורד רשומות המאוחסנות על שרת בעת הפעלת Gajim אם שרת תומך XEP-0136 או " +#~ "XEP-0313" + +#~ msgid "" +#~ "If enabled and if server supports this feature, Gajim will receive " +#~ "messages sent and received by other resources." +#~ msgstr "" +#~ "כאשר מופעלת ושרת נתון תומך בתכונה זו, Gajim יקבל הודעות אשר מתקבלות " +#~ "ונשלחות על ידי משאבים אחרים." + +# BUG: _underline +#, fuzzy +#~ msgid "Reconnect when connection is lost" +#~ msgstr "התחבר אוטומטית כאשר החיבור אובד" + +# בשורה מסר +#, fuzzy +#~ msgid "Server Message Archive" +#~ msgstr "_שלח הודעת שרת..." + +#, fuzzy +#~ msgid "Message Carbons" +#~ msgstr "הודעות" + +#~ msgid "" +#~ "Sent chat state notifications. Can be one of all, composing_only, " +#~ "disabled." +#~ msgstr "" +#~ "התראות מצב שיחה שנשלחות. יכול להיות אחד מאלו all, composing_only, " +#~ "disabled." + +# חוסר מעש +#, fuzzy +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "התר שליחת משך זמן _חוסר פעילות" + +# BUG: a dot at the end +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the idle time of your system" +#~ msgstr "כאשר מסומן, Gajim יתיר לאחרים לאתר את הזמן של המערכת שלך" + +#, fuzzy +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "התר שליחת _זמן מערכת מקומי" + +# BUG: a dot at the end +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the local time on your system" +#~ msgstr "כאשר מסומן, Gajim יתיר לאחרים לאתר את הזמן של המערכת שלך" + +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "התר שליחת _מידע לקוח / מערכת הפעלה" + +# BUG: a dot at the end +# BUG: add Client too +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the operating system you are " +#~ "using" +#~ msgstr "כאשר מסומן, Gajim יתיר לאחרים לאתר את מערכת ההפעלה אשר מצויה בשימוש" + +# BUG: a dot at the end +#, fuzzy +#~ msgid "" +#~ "If checked, incoming events from unauthorized contacts will be ignored. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster." +#~ msgstr "" +#~ "כאשר מסומן, Gajim יתעלם מאירועים נכנסים מאת אנשי קשר לא מורשים. יש לעשות " +#~ "שימוש זהיר באפשרות זו, משום שזו חוסמת את כל ההודעות מכל איש קשר אשר לא " +#~ "מצוי ברשימה" + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." +#~ msgstr "" +#~ "ביכולתו של Gajim לשלוח ולקבל מידע-מוצמד (meta-information) הקשור לדיון " +#~ "אשר עשוי להיות לך עם איש קשר. כאן נתונה לך האפשרות לציין אילו מצבי שיחה " +#~ "ברצונך לשלוח לקצה האחר." + +#, fuzzy +#~ msgid "S_end chat state notifications" +#~ msgstr "_שלח התראות מצב שיחה:" + +#, fuzzy +#~ msgid "Login Options" +#~ msgstr "cli" + +# אחזור +#~ msgid "Please wait while retrieving search form..." +#~ msgstr "אנא המתן בעת אחזרת טופס חיפוש..." + +#~ msgid "_Add contact" +#~ msgstr "הוסף _איש קשר" + +#~ msgid "Ad-hoc Commands - Gajim" +#~ msgstr "פקודות ייעודיות (‫Ad-hoc) - ‫Gajim" + +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "אנא המתן בעת אחזרת רשימת פקודה..." + +#~ msgid "Choose command to execute:" +#~ msgstr "בחר פקודה להרצה:" + +#~ msgid "Check once more" +#~ msgstr "בדוק פעם נוספת" + +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "אנא המתן בעת שהפקודה נשלחת..." + +# BUG: commands or command +#~ msgid "This jabber entity does not expose any commands." +#~ msgstr "ישות jabber זו לא חושפת שום פקודה." + +#~ msgid "F_inish" +#~ msgstr "_סיים" + +#~ msgid "Waiting for results" +#~ msgstr "ממתין לתוצאות" + +#~ msgid "Error in received dataform" +#~ msgstr "שגיאה בקבלת dataform" + +#~ msgid "No result" +#~ msgstr "אין תנובה" + +#~ msgid "Failed to get secret keys" +#~ msgstr "כשל בקבלת מפתחות סודיים" + +#~ msgid "There is no OpenPGP secret key available." +#~ msgstr "לא קיים מפתח OpenPGP סודי זמין." + +#~ msgid "OpenPGP Key Selection" +#~ msgstr "בחירת מפתח ‫OpenPGP" + +#~ msgid "Choose your OpenPGP key" +#~ msgstr "בחר מפתח OpenPGP" + +#~ msgid "KeyID" +#~ msgstr "מזהה מפתח" + +#~ msgid "Contact name" +#~ msgstr "שם איש קשר" + +#, fuzzy +#~ msgid "Formatting is not available so long as GPG is active" +#~ msgstr "עיצובים אינם נתמכים כאשר GPG הינו פעיל" + +#~ msgid "OpenPGP is not usable" +#~ msgstr "הצפנת OpenPGP אינה שמישה" + +#~ msgid "Assign OpenPGP Key" +#~ msgstr "הקצאת מפתח OpenPGP" + +# BUG: Select a key to apply to contact "JID" +#~ msgid "Select a key to apply to the contact" +#~ msgstr "בחר מפתח ליישום עבור איש הקשר" + +#~ msgid "" +#~ "You configured Gajim to use OpenPGP agent, but there is no OpenPGP agent " +#~ "running or it returned a wrong passphrase.\n" +#~ msgstr "" +#~ "הגדרת את Gajim לעשות שימוש בסוכן OpenPGP, אך אין כעת סוכן OpenPGP אשר " +#~ "מופעל או שזה החזיר מימרת-סיסמה שגויה.\n" + +#~ msgid "You are currently connected without your OpenPGP key." +#~ msgstr "התחברותך בוצעה ללא מפתח OpenPGP." + +#, fuzzy +#~ msgid "Wrong passphrase" +#~ msgstr "מימרת סיסמה שגויה" + +#, fuzzy +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "מימרת סיסמה שגויה" + +#~ msgid "Passphrase Required" +#~ msgstr "נדרשת מימרת סיסמה" + +#~ msgid "" +#~ "Enter OpenPGP key passphrase for key %(keyid)s (account %(account)s)." +#~ msgstr "" +#~ "הזן מימרת סיסמה של מפתח OpenPGP עבור מפתח %(keyid)s (חשבון %(account)s)." + +#~ msgid "OpenPGP key expired" +#~ msgstr "מפתח OpenPGP פקע" + +#~ msgid "" +#~ "Your OpenPGP key has expired, you will be connected to %s without OpenPGP." +#~ msgstr "מפתח OpenPGP פקע, התחברותך אל %s תתקיים בלי OpenPGP." + +#~ msgid "Wrong Passphrase" +#~ msgstr "מימרת סיסמה שגויה" + +#~ msgid "Please retype your OpenPGP passphrase or press Cancel." +#~ msgstr "אנא הקלד מחדש מימרת סיסמה OpenPGP או לחץ על ביטול." + +#, fuzzy +#~ msgid "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "cli" + +#, fuzzy +#~ msgid "if specified, the message will be encrypted using this public key" +#~ msgstr "cli" + +#, fuzzy +#~ msgid "" +#~ "Sends a chat message to someone on your roster. Optionally with OpenPGP " +#~ "key and account. If you want to only set the latter, set OpenPGP key to " +#~ "\"\"." +#~ msgstr "cli" + +#~ msgid "" +#~ "If disabled, don't sign presences with GPG key, even if GPG is configured." +#~ msgstr "כאשר מנוטרלת, אל תחתום נוכחות באמצעות מפתח GPG, אפילו אם GPG מוגדר." + +#, fuzzy +#~ msgid "OpenPGP:" +#~ msgstr "‏OpenPGP: " + +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "הקצה מפתח Open_PGP..." + +# ‏OpenPGP הצפנת הודעות +#, fuzzy +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "הצפנת הודעות באמצעות OpenPGP" + +#, fuzzy +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "הצפנת הודעות שיחה באמצעות מפתחות OpenPGP." + +#, fuzzy +#~ msgid "Requires: gpg and python-gnupg (%(url)s)" +#~ msgstr "יש צורך בהתקנת upower וגם python-dbus." + +#, fuzzy +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "יש צורך בהתקנת gpg.exe בתוך PATH." + +#, fuzzy +#~ msgid "Use PGP Agent" +#~ msgstr "השתמש בסוכן G_PG" + +#, fuzzy +#~ msgid "OpenPGP Key" +#~ msgstr "הקצאת מפתח OpenPGP" + +#~ msgid "Cancel confirmation" +#~ msgstr "אימות ביטול" + +#~ msgid "" +#~ "You are in process of executing command. Do you really want to cancel it?" +#~ msgstr "אתה נמצא בתוך עיצומו של תהליך הרצת פקודה. האם ברצונך לבטלו?" + +#~ msgid "Service sent malformed data" +#~ msgstr "שירות שלח מידע פגום" + +#~ msgid "Service changed the session identifier." +#~ msgstr "שירות שינה את מזהה הסשן." + +#~ msgid "%s - Ad-hoc Commands - Gajim" +#~ msgstr "‫%s - פקודות ייעודיות (‫Ad-hoc) - ‫Gajim" + +#~ msgid "Service returned an error." +#~ msgstr "שירות החזיר שגיאה." + +# Changed to: You have been invited to a groupchat +#~ msgid "You are invited to a groupchat" +#~ msgstr "הוזמנת לשיחת קבוצה" + +#, fuzzy +#~ msgid "" +#~ "Issued to:\n" +#~ "Common Name (CN): %(scn)s\n" +#~ "Organization (O): %(sorg)s\n" +#~ "Organizationl Unit (OU): %(sou)s\n" +#~ "Serial Number: %(sn)s\n" +#~ "\n" +#~ "Issued by:\n" +#~ "Common Name (CN): %(icn)s\n" +#~ "Organization (O): %(iorg)s\n" +#~ "Organizationl Unit (OU): %(iou)s\n" +#~ "\n" +#~ "Validity:\n" +#~ "Issued on: %(io)s\n" +#~ "Expires on: %(eo)s\n" +#~ "\n" +#~ "Fingerprint\n" +#~ "SHA-1 Fingerprint: %(sha1)s\n" +#~ "\n" +#~ "SHA-256 Fingerprint: %(sha256)s\n" +#~ msgstr "" +#~ "הונפקה למען:\n" +#~ "שם כללי (CN): ‏%(scn)s\n" +#~ "ארגון (O): ‏%(sorg)s\n" +#~ "יחידת איגוד (OU): ‏%(sou)s\n" +#~ "מספר סידורי: %(sn)s\n" +#~ "\n" +#~ "הונפקה על ידי:\n" +#~ "שם כללי (CN): ‏%(icn)s\n" +#~ "ארגון (O): ‏%(iorg)s\n" +#~ "יחידת איגוד (OU): ‏%(iou)s\n" +#~ "\n" +#~ "תקפות:\n" +#~ "הונפקה בתאריך: %(io)s\n" +#~ "פוקעת בתאריך: %(eo)s\n" +#~ "\n" +#~ "טביעת אצבע\n" +#~ "טביעת אצבע SHA1: ‏%(sha1)s" + +#~ msgid "_Start Chat" +#~ msgstr "התחל _שיחה" + +# הס_מך +#~ msgid "Au_thorize" +#~ msgstr "אש_ר" + +#~ msgid "Really send file?" +#~ msgstr "האם באמת לשלוח קובץ?" + +#~ msgid "You are currently connected to the server" +#~ msgstr "אתה מחובר כעת לשרת" + +#~ msgid "To disable the account, you must be disconnected." +#~ msgstr "כדי לנטרל את החשבון, עליך להתנתק." + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with %(jid)s?" +#~ msgstr "האם אתה בטוח כי ברצונך למחוק את הרשומות של %(jid)s?" + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with the selected contacts?" +#~ msgstr "האם אתה בטוח כי ברצונך למחוק את הרשומות של אנשי קשר נבחרים?" + +#~ msgid "What do you want to do?" +#~ msgstr "מה ברצונך לעשות?" + +#~ msgid "" +#~ "List of colors, separated by \":\", that will be used to color nicknames " +#~ "in group chats." +#~ msgstr "" +#~ "רשימה של צבעים, מופרדת על ידי \":\", אשר תשמש לצביעת שמות כינוי בתוך " +#~ "שיחות קבוצה." + +#~ msgid "You have received new entries (and %d not displayed):" +#~ msgid_plural "You have received new entries (and %d not displayed):" +#~ msgstr[0] "קיבלת רשומות חדשות (ועוד %d אשר לא מוצגת):" +#~ msgstr[1] "קיבלת רשומות חדשות (ועוד %d אשר לא מוצגות):" + +#~ msgid "Stopped" +#~ msgstr "נעצרה" + +#~ msgid "" +#~ "You are about to send your password on an insecure connection. You should " +#~ "install PyOpenSSL to prevent that. Are you sure you want to do that?" +#~ msgstr "" +#~ "אתה על סף שליחת סיסמה על פני חיבור לא מאובטח. עליך להתקין PyOpenSSL בכדי " +#~ "למנוע זאת. האם אתה בטוח כי ברצונך להתחבר?" + +#, fuzzy +#~ msgid "Status messages displayed in chat window" +#~ msgstr "מסירת הודעה וסגירת החלון" + +#~ msgid "?print_status:All" +#~ msgstr "הכל" + +#~ msgid "Enter and leave only" +#~ msgstr "כניסה ועזיבה בלבד" + +#~ msgid "?print_status:None" +#~ msgstr "אל תדפיס" + +#, fuzzy +#~ msgid "Untrusted OpenPGP key" +#~ msgstr "בחר מפתח OpenPGP" + +# Changed really with still +# Sure = בטוח +# Really = באמת +# Still = עדיין +#~ msgid "" +#~ "The OpenPGP key used to encrypt this chat is not trusted. Do you really " +#~ "want to encrypt this message?" +#~ msgstr "" +#~ "מפתח OpenPGP המשמש להצפנת שיחה זו אינו מהימן. האם באמת יש ברצונך להצפין " +#~ "את הודעה זו?" + +#, fuzzy +#~ msgid "Command line Control" +#~ msgstr "שורת פקודה" + +#, fuzzy +#~ msgid "Enables you to control Gajim with via commandline" +#~ msgstr "תסריט לשם שליטה על Gajim באמצעות שורת פקודה." + +#~ msgid "Non Anonymous Server" +#~ msgstr "שרת לא אנונימי" + +#~ msgid "" +#~ "When is self contact row displayed. Can be \"always\", " +#~ "\"when_other_resource\" or \"never\"" +#~ msgstr "" +#~ "מתי שורת איש קשר עצמי תוצג. יכול להיות \"always\" (תמיד), " +#~ "\"when_other_resource\" (כאשר משאב אחר מחובר) או \"never\" (בכלל לא)" + +# סולק +#~ msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +#~ msgstr "%(nick)s נבעט/ה על ידי %(who)s: %(reason)s" + +#~ msgid "%(nick)s has been banned by %(who)s: %(reason)s" +#~ msgstr "%(nick)s נאסר/ה על ידי %(who)s: %(reason)s" + +# הדממת, דימום +#~ msgid "system shutdown" +#~ msgstr "סגירת מערכת" + +#~ msgid "** Role of %(nick)s has been set to %(role)s" +#~ msgstr "** התפקיד של %(nick)s הוגדר אל %(role)s" + +#~ msgid "%s has left" +#~ msgstr "%s עזב/ה" + +#, fuzzy +#~ msgid "%s is full" +#~ msgstr "גופן" + +# BUG: or is better than and/or +# יוזן > ישובץ +#, fuzzy +#~ msgid "" +#~ "Can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no " +#~ "longer print status line in groupchats when a member changes their status " +#~ "and/or their status message. If \"all\" Gajim will print all status " +#~ "messages. If \"in_and_out\", Gajim will only print FOO enters/leaves " +#~ "group chat." +#~ msgstr "" +#~ "יכול להיות \"none\" (כלל לא), \"all\" (הכל) או \"in_and_out\" (כניסה " +#~ "ויציאה). כאשר \"none\", ‏Gajim לא ידפיס שורות מצב בתוך שיחות קבוצה כאשר " +#~ "חברים בשיחת קבוצה משנים את המצב שלהם או את הודעת המצב שלהם. כאשר \"all\" ‏" +#~ "Gajim ידפיס את כל הודעות המצב. כאשר \"in_and_out\", ‏Gajim ידפיס FOO " +#~ "כניסות/עזיבות של שיחות קבוצה בלבד." + +#, fuzzy +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "הצג הו_דעות מצב של אנשי קשר ברשימה" + +# BUG: refreshed +# אסימון +#~ msgid "" +#~ "Please copy / paste the refresh token from the website that has just been " +#~ "opened." +#~ msgstr "אנא העתק / הדבק את האות הרענן מתוך האתר רשת אשר זה עתה נפתח." + +#~ msgid "Oauth2 Credentials" +#~ msgstr "אישורי Oauth2" + +#~ msgid "" +#~ "You are about to send your password unencrypted on an insecure " +#~ "connection. Are you sure you want to do that?" +#~ msgstr "" +#~ "אתה על סף שליחת סיסמה באופן לא מוצפן על פני חיבור לא מאובטח. האם אתה בטוח " +#~ "כי ברצונך לעשות זאת?" + +#, fuzzy +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "האות האחרון עבור אימות Oauth2." + +#, fuzzy +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "‏client_id עבור אימות Oauth2." + +#, fuzzy +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "‏redirect_url עבור אימות Oauth2." + +#~ msgid "" +#~ "Displayed chat state notifications in chat windows. Can be one of all, " +#~ "composing_only, disabled." +#~ msgstr "" +#~ "הצגת התראות מצב שיחה בחלונות שיחה. יכול להיות אחד מאלו all, " +#~ "composing_only, disabled." + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." +#~ msgstr "" +#~ "ביכולתו של Gajim לשלוח ולקבל מידע-מוצמד (meta-information) הקשור לדיון " +#~ "אשר עשוי להיות לך עם איש קשר. כאן נתונה לך האפשרות לציין אילו מצבי שיחה " +#~ "ברצונך להציג בתוך חלונות שיחה." + +#~ msgid "This is an irreversible operation." +#~ msgstr "פעולה זו הינה בלתי הפיכה." + +#~ msgid "Settings" +#~ msgstr "הגדרות" + +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "מנהל רשומות היסטוריה של Gajim" + +#~ msgid "Member List" +#~ msgstr "רשימת חברים" + +#~ msgid "Owner List" +#~ msgstr "רשימת בעלים" + +#~ msgid "Administrator List" +#~ msgstr "רשימת מנהלים" + +#~ msgid "Nick" +#~ msgstr "כינוי" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "את מי ברצונך לאסור?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Member…" +#~ msgstr "הוספת חבר..." + +#~ msgid "" +#~ "Whom do you want to make a member?\n" +#~ "\n" +#~ msgstr "" +#~ "את מי ברצונך להפוך לחבר?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Owner…" +#~ msgstr "הוספת בעלים..." + +#~ msgid "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" +#~ msgstr "" +#~ "את מי ברצונך להפוך לבעלים?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Administrator…" +#~ msgstr "הוספת מנהל..." + +#~ msgid "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" +#~ msgstr "" +#~ "את מי ברצונך להפוך למנהל?\n" +#~ "\n" + +#~ msgid "Error reading file:" +#~ msgstr "שגיאה בקריאת קובץ:" + +#~ msgid "Error parsing file:" +#~ msgstr "שגיאה בניתוח קובץ:" + +#~ msgid "List of possible features in Gajim:" +#~ msgstr "רשימה של תכונות אפשריות בתוך Gajim:" + +#~ msgid "Description" +#~ msgstr "תיאור" + +#~ msgid "Password encryption" +#~ msgstr "הצפנת סיסמה" + +# Changed to: Spellchecking while writing. +#~ msgid "Spellchecking of composed messages." +#~ msgstr "בדיקת איות בעת הלחנת הודעות." + +#~ msgid "Automatic status" +#~ msgstr "מצב אוטומטי" + +#~ msgid "Requires python2.5." +#~ msgstr "יש צורך בהתקנת python2.5." + +#~ msgid "" +#~ "Generate XHTML output from RST code (see http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "מחולל פלט XHTML מתוך קוד RST ‏(ראו http://docutils.sourceforge.net/docs/" +#~ "ref/rst/restructuredtext.html)." + +#~ msgid "?features:Available" +#~ msgstr "זמינות" + +#~ msgid "Feature" +#~ msgstr "תכונה" + +#~ msgid "Filter:" +#~ msgstr "סינון:" + +#~ msgid "Chat Appearance" +#~ msgstr "הופעת שיחה" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed out" +#~ msgstr "" +#~ "‏Gajim יידע אותך באמצעות חלון מוקפץ בצד הימני התחתון של המסך, אודות אנשי " +#~ "קשר אשר התנתקו זה עתה" + +#~ msgid "Sounds" +#~ msgstr "צלילים" + +#~ msgid "Chat state notifications" +#~ msgstr "התראות מצב שיחה" + +#, fuzzy +#~ msgid "_Away after" +#~ msgstr "נ_עדר כעבור:" + +#~ msgid "" +#~ "If checked, Gajim will change status to Away when the computer is unused." +#~ msgstr "כאשר מסומן, Gajim ישנה מצב אל נעדר כאשר המחשב לא מצוי בשימוש." + +#, fuzzy +#~ msgid "_Not available after" +#~ msgstr "לא _זמין כעבור:" + +#~ msgid "Auto Status" +#~ msgstr "מצב אוטומטי" + +#~ msgid "Status Messages" +#~ msgstr "הודעות מצב" + +#~ msgid "Audio" +#~ msgstr "קול" + +#~ msgid "Video" +#~ msgstr "וידאו" + +#, fuzzy +#~ msgid "(example: stun.iptel.org)" +#~ msgstr "(דוגמא: stunserver.org)" + +#~ msgid "Connection" +#~ msgstr "חיבור" + +#~ msgid "Custom" +#~ msgstr "התאמה אישית" + +#~ msgid "Privacy" +#~ msgstr "פרטיות" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "עורך תצורה מתקדם" + +#, fuzzy +#~ msgid "Audio / video conferences" +#~ msgstr "קול / וידאו" + +#, fuzzy +#~ msgid "File transfer, room bookmarks" +#~ msgstr "שגיאת העברת קובץ" + +#, fuzzy +#~ msgid "XML console interface" +#~ msgstr "מסוף XML" + +#, fuzzy +#~ msgid "" +#~ "A programming error has been detected. It probably is not fatal, but " +#~ "should be reported to the developers nonetheless." +#~ msgstr "שגיאה זו אינה חמורה ככל הנראה, אך בכל זאת צריך לדווחה למפתחים." + +#~ msgid "" +#~ "A list of modp groups to use in a Diffie-Hellman, highest preference " +#~ "first, separated by commas. Valid groups are 1, 2, 5, 14, 15, 16, 17 and " +#~ "18. Higher numbers are more secure, but take longer to calculate when you " +#~ "start a session." +#~ msgstr "" +#~ "רשימה של קבוצות modp לשימוש בתוך Diffie-Hellman, ההעדפה הרמה ביותר " +#~ "ראשונה, מופרדת על ידי פסיקים. קבוצות תקפות הינן 1, 2, 5, 14, 15, 16, 17 " +#~ "וגם 18. ספרות גבוהות יותר הינן יותר מאובטחות, אולם לוקחות משך זמן ארוך " +#~ "יותר לחישוב בהתחילך סשן חדש." + +#~ msgid "(ESession info)" +#~ msgstr "(מידע ESession)" + +# תרשימיים, נייחים +#~ msgid "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" +#~ msgstr "" +#~ "כאשר לא מנוטרלת, Gajim יחליף סמיילים אשר מורכבים מתווי ascii כגון ':)' עם " +#~ "רגשונים ציוריים תואמים (מונפשים או סטטיים)" + +#, fuzzy +#~ msgid "_Emoticons" +#~ msgstr "_רגשונים:" + +#~ msgid "_Highlight misspelled words" +#~ msgstr "הדגש שגיאות _כתיב" + +#, fuzzy +#~ msgid "Notify by icon when your messages are received" +#~ msgstr "הצג סמל כאשר ההודעות שלי מתקבלות" + +#, fuzzy +#~ msgid "T_heme" +#~ msgstr "מו_טיב:" + +#~ msgid "Themes" +#~ msgstr "ערכאות נושא" + +#~ msgid "Always use this nickname when there is a conflict" +#~ msgstr "השתמש תמיד בשם כינוי זה כאשר ישנה התנגשות" + +#~ msgid "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." +#~ msgstr "" +#~ "‏Jabberd1.4 לא חפץ במידע sha כאשר מישהו מצטרף לשיחת קבוצה המוגנת בעזרת " +#~ "סיסמה. כדי להפסיק לשלוח מידע sha בנוכחויות שיחת קבוצה יש לנטרל את אפשרות " +#~ "זו." + +#, fuzzy +#~ msgid "Presence" +#~ msgstr "_נוכחות" + +#~ msgid "Emoticons disabled" +#~ msgstr "רגשונים נוטרלו" + +#, fuzzy +#~ msgid "" +#~ "Your configured emoticons theme could not be loaded. See the log for more " +#~ "details." +#~ msgstr "מוטיב הרגשונים אשר הגדרת לא נמצא, ומשכך רגשונים נוטרלו." + +#~ msgid "You cannot make changes to the default theme" +#~ msgstr "אין באפשרותך לערוך שינויים למוטיב השגרתי" + +#~ msgid "theme name" +#~ msgstr "שם מוטיב" + +#~ msgid "You cannot delete your current theme" +#~ msgstr "אין ביכולתך למחוק את המוטיב הנוכחי שלך" + +#~ msgid "New Single Message from %(nickname)s" +#~ msgstr "התקבלה הודעה בודדת חדשה מאת %(nickname)s" + +#~ msgid "New Private Message from group chat %s" +#~ msgstr "הודעה פרטית חדשה מתוך שיחת קבוצה %s" + +# [09:02:34 PM] Rodensky: "התקבלה הודעה מ" +# [09:08:28 PM] Myself: אני חושב שזה: המסר נשלח על-ידי... +# [09:08:39 PM] Rodensky: לא +# [09:08:46 PM] Rodensky: זה "התקבלה הודעה מ" +#~ msgid "Messaged by %(nickname)s" +#~ msgstr "התקבלה הודעה מאת %(nickname)s" + +#~ msgid "Status message text color." +#~ msgstr "צבע תמליל הודעת מצב." + +#~ msgid "Incoming nickname font." +#~ msgstr "גופן שם כינוי נכנס." + +#~ msgid "Outgoing nickname font." +#~ msgstr "גופן שם כינוי יוצא." + +#~ msgid "Status message text font." +#~ msgstr "גופן תמליל הודעת מצב." + +# בזמן שהם מתחברים +# שזה עתה +# בעת שהם +#~ msgid "Background color of contacts when they just signed in." +#~ msgstr "צבע רקע אחורי של אנשי קשר כאשר הם מתחברים." + +#~ msgid "Background color of contacts when they just signed out." +#~ msgstr "צבע רקע אחורי של אנשי קשר כאשר הם מתנתקים." + +#~ msgid "green" +#~ msgstr "ירוק" + +# מכולת +#~ msgid "grocery" +#~ msgstr "מצרכים" + +#~ msgid "human" +#~ msgstr "אנושי" + +#~ msgid "marine" +#~ msgstr "ימי" + +#~ msgid "Contact row" +#~ msgstr "שורת איש קשר" + +#~ msgid "Chat Banner" +#~ msgstr "כרזת שיחה" + +#~ msgid "Gajim Themes Customization" +#~ msgstr "התאמת מוטיבים של ‫Gajim" + +#~ msgid "Text _color:" +#~ msgstr "_צבע תמליל:" + +#~ msgid "_Background:" +#~ msgstr "_רקע אחורי:" + +#~ msgid "Text _font:" +#~ msgstr "_גופן תמליל:" + +#~ msgid "Font style:" +#~ msgstr "סגנון גופן:" + +#~ msgid "Paused" +#~ msgstr "השהיה" + +#~ msgid "Gone" +#~ msgstr "נטישה" + +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "" +#~ "הודעות\n" +#~ "שמ״מ" + +# Chat-state? +#~ msgid "Chatstate Tab Colors" +#~ msgstr "צבעי כרטיסיית מצב שיחה" + +#, fuzzy +#~ msgid "Chat message" +#~ msgstr "הודעת שיחה:" + +#~ msgid "Use system _default" +#~ msgstr "השתמש בברירת מ_חדל מערכת" + +#~ msgid "Font" +#~ msgstr "גופן" + +#, fuzzy +#~ msgid "Contact's nickname" +#~ msgstr "שם כינוי איש קשר:" + +#, fuzzy +#~ msgid "_Status message" +#~ msgstr "הודעת _מצב:" + +#, fuzzy +#~ msgid "Your message" +#~ msgstr "הודעתך:" + +#, fuzzy +#~ msgid "_URL highlight" +#~ msgstr "הבלטת _URL:" + +#~ msgid "Chat Line Colors" +#~ msgstr "צבעי שורות שיחה" + +#~ msgid "Jabber ID:" +#~ msgstr "מזהה Jabber:" + +#~ msgid "Resource:" +#~ msgstr "משאב:" + +#~ msgid "Status:" +#~ msgstr "מצב:" + +#~ msgid "Contact time:" +#~ msgstr "זמן:" + +# What ask? +# it means "have w asked his subscription?" +#~ msgid "Ask:" +#~ msgstr "בקשה:" + +#~ msgid "Subscription:" +#~ msgstr "הרשמה:" + +#~ msgid "Name:" +#~ msgstr "שם:" + +#~ msgid "Nickname:" +#~ msgstr "שם כינוי:" + +#~ msgid "Street:" +#~ msgstr "רחוב:" + +#~ msgid "City:" +#~ msgstr "עיר:" + +#~ msgid "State:" +#~ msgstr "מחוז:" + +#~ msgid "Extra Address:" +#~ msgstr "כתובת נוספת:" + +#~ msgid "Postal Code:" +#~ msgstr "מיקוד דואר:" + +#~ msgid "Country:" +#~ msgstr "ארץ:" + +#~ msgid "Homepage:" +#~ msgstr "עמוד בית:" + +#~ msgid "E-Mail:" +#~ msgstr "דוא״ל:" + +#~ msgid "Phone No.:" +#~ msgstr "מס׳ טלפון:" + +#~ msgid "Birthday:" +#~ msgstr "יום הולדת:" + +#~ msgid "Family:" +#~ msgstr "משפחה:" + +# If no space before "Middle" then the writing "Family" will be truncated +#~ msgid "Middle:" +#~ msgstr " אמצעי:" + +#~ msgid "Prefix:" +#~ msgstr "קידומת:" + +#~ msgid "Given:" +#~ msgstr "פרטי:" + +#~ msgid "Suffix:" +#~ msgstr "סיומת:" + +#~ msgid "Full Name" +#~ msgstr "שם מלא" + +#~ msgid "Company:" +#~ msgstr "תאגיד:" + +#~ msgid "Department:" +#~ msgstr "מחלקה:" + +#~ msgid "Position:" +#~ msgstr "משרה:" + +#~ msgid "Role:" +#~ msgstr "תפקיד:" + +#~ msgid "- messages will be logged" +#~ msgstr "- הודעות יירשמו" + +#~ msgid "- messages will not be logged" +#~ msgstr "- הודעות לא יירשמו" + +#~ msgid "Edit %s" +#~ msgstr "ערוך ‫%s" + +#~ msgid "Conversation History with %s" +#~ msgstr "היסטוריית שיחה עם ‫%s" + +#~ msgid "Contact with \"%s\" cannot be established" +#~ msgstr "יצירת קשר עם \"%s\" לא היתה ניתנת לביסוס" + +#~ msgid "Registration information for transport %s has not arrived in time" +#~ msgstr "מידע רישום עבור המוביל %s לא הגיע בזמן" + +# Register = רישום +# Subscribe = הרשמה +#~ msgid "Register to" +#~ msgstr "רישום אל" + +#, fuzzy +#~ msgid "Enter name / JID of contact or groupchat" +#~ msgstr "כתובת JID או שם איש קשר" + +#~ msgid "Search:" +#~ msgstr "חיפוש:" + +# יום _נבחר +#~ msgid "_In date search" +#~ msgstr "חפש בתוך _תאריך" + +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "ללא חיבור, אין באפשרותך לשנות סיסמה." + +#~ msgid "Invalid password" +#~ msgstr "סיסמה שגויה" + +# על הסיסמאות +#~ msgid "The passwords typed in both fields must be identical." +#~ msgstr "הסיסמאות אשר מוקלדות בשני השדות מוכרחות להיות זהות." + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "הזן את הסיסמה, פעם נוספת, לצורך אימות:" + +#~ msgid "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" +#~ msgstr "" +#~ "‏JID ‏%s אינה תואמת RFC. זו לא תוסף לרשימה שלך. השתמש בכלי ניהול רשימה " +#~ "(roster management tools) כגון http://jru.jabberstudio.org כדי להסירה" + +#~ msgid "unsubscribe request from %s" +#~ msgstr "בקשת ביטול הרשמה מאת %s" + +#~ msgid "<empty>" +#~ msgstr "<ריק>" + +#~ msgid "Homepage:" +#~ msgstr "עמוד בית:" + +#~ msgid "Manage Bookmarks" +#~ msgstr "ניהול סימניות" + +#~ msgid "_Nickname:" +#~ msgstr "שם כי_נוי:" + +# שגיאה: מצב הדפסה +#~ msgid "Pr_int status:" +#~ msgstr "ה_דפס מצב:" + +#, fuzzy +#~ msgid "Add JID" +#~ msgstr "מזהה Jabber" + +#, fuzzy +#~ msgid "Preference:" +#~ msgstr "העדפות" + +#, fuzzy +#~ msgid "Preference" +#~ msgstr "העדפות" + +#, fuzzy +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "אנא מלא את המידע של איש הקשר אשר ברצונך להוסיף בחשבון %s" + +#~ msgid "Please fill in the data of the contact you want to add" +#~ msgstr "אנא מלא את המידע של איש הקשר אשר ברצונך להוסיף" + +# (שנפתחו) לאחרונה +# (חדרים/ערוצים) אחרונים +# (כתובות) אחרונות +#, fuzzy +#~ msgid "Recently" +#~ msgstr "אחרונים:" + +#~ msgid "Add New Contact" +#~ msgstr "הוספת איש קשר חדש" + +#~ msgid "_User ID:" +#~ msgstr "מזהה _משתמש:" + +#, fuzzy +#~ msgid "Type User ID" +#~ msgstr "מזהה משתמש:" + +#, fuzzy +#~ msgid "Type Nickname" +#~ msgstr "שם כינוי" + +#~ msgid "Personal Information" +#~ msgstr "מידע אישי" + +#~ msgid "Avatar:" +#~ msgstr "אווטאר:" + +#~ msgid "Click to set your avatar" +#~ msgstr "לחץ כדי לקבוע אווטאר" + +#, fuzzy +#~ msgid "Remove Avatar" +#~ msgstr "הסרת קבוצה" + +# נתון להשגה/לביצוע/בהישג יד +#~ msgid "Not fetched because of invisible status" +#~ msgstr "לא מובא בשל מצב בלתי נראה" + +#~ msgid "Please wait..." +#~ msgstr "אנא המתן..." + +# negotiating for an encrypted? +# מתקיימת הסדרה לסשן +# מתקיימת הסדרת סשן +# שרצונך הוא +#~ msgid "" +#~ "When negotiating an encrypted session, should Gajim assume you want your " +#~ "messages to be logged?" +#~ msgstr "" +#~ "כאשר מתקיים משא ומתן עבור סשן מוצפן, האם על Gajim להניח כי ברצונך " +#~ "שההודעות שלך יירשמו?" + +#~ msgid "Log _encrypted chat session" +#~ msgstr "רשום סשן שיחה מו_צפן ברשומות ההיסטוריה" + +# BUG: encryption, the +# אלמלא כן +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will keep logs for encrypted messages. Please note that " +#~ "when using end-to-end encryption the remote party has to agree on " +#~ "logging, else the messages will not be logged." +#~ msgstr "" +#~ "כאשר מסומן, Gajim ישמור רשומות עבור הודעות מוצפנות. אנא קח לתשומת לבך כי " +#~ "כאשר הצפנת E2E (קצה אל קצה) נמצאת בשימוש, הצד המרוחק מוכרח להסכים לרישום " +#~ "השיחה, אחרת ההודעות לא יירשמו." + +#~ msgid "Yahoo! Address:" +#~ msgstr "כתובת !Yahoo:" + +#~ msgid "Forward unread messages" +#~ msgstr "קדם הודעות אשר לא נקראו" + +#~ msgid "All unread messages have been forwarded." +#~ msgstr "כל ההודעות אשר לא נקראו קודמו." + +#~ msgid "Forward unread message then disconnect" +#~ msgstr "קדם הודעות אשר לא נקראו והתנתק לאחר מכן" + +#~ msgid "MSN Address:" +#~ msgstr "כתובת MSN:" + +# נא לאשר +#~ msgid "Confirm these session options" +#~ msgstr "אשר את אפשרויות סשן אלו" + +#~ msgid "" +#~ "The remote client wants to negotiate a session with these features:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Are these options acceptable?" +#~ msgstr "" +#~ "הלקוח המרוחק מעוניין להסדיר סשן בעזרת תכונות אלו:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "האם אפשרויות אלו מקובלות על דעתך?" + +#~ msgid "" +#~ "The remote client selected these options:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Continue with the session?" +#~ msgstr "" +#~ "הלקוח המרוחק בחר באפשרויות אלו:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "האם להמשיך עם הסשן?" + +# לאיש קשר +#~ msgid "Always accept for this contact" +#~ msgstr "הסכם תמיד עבור איש קשר זה" + +#~ msgid "End to End message encryption" +#~ msgstr "הצפנת הודעות מקצה לקצה" + +#~ msgid "Encrypting chat messages." +#~ msgstr "הצפנת הודעות שיחה." + +#~ msgid "Requires python-crypto." +#~ msgstr "יש צורך בהתקנת python-crypto." + +# משא ומתן +#~ msgid "Session negotiation cancelled" +#~ msgstr "הסדרת סשן בוטלה" + +#~ msgid "This session WILL NOT be archived on server" +#~ msgstr "סשן זה לא יושם בארכיון על שרת" + +#~ msgid "This session is encrypted" +#~ msgstr "סשן זה הינו מוצפן" + +#~ msgid " and WILL be logged" +#~ msgstr " ויירשם" + +#~ msgid " and WILL NOT be logged" +#~ msgstr " ולא יירשם" + +#~ msgid "" +#~ "Remote contact's identity not verified. Click the shield button for more " +#~ "details." +#~ msgstr "זהות איש קשר מרוחק לא מאומתת. לחץ על לחצן המגן לשם פרטים נוספים." + +#, fuzzy +#~ msgid "end-to-end encryption disabled" +#~ msgstr "הצפנת OpenPGP מנוטרלת" + +# כי משהו שיבש אותה +#~ msgid "" +#~ "Unable to decrypt message from %s\n" +#~ "It may have been tampered with." +#~ msgstr "" +#~ "אין אפשרות לפענח הודעה מאת %s\n" +#~ "ייתכן כי הודעה זו נפגמה." + +#~ msgid "Unable to decrypt message" +#~ msgstr "אין אפשרות לפענח הודעה" + +#~ msgid "Enable ESessions encryption for this account." +#~ msgstr "אפשור הצפנת ESessions עבור חשבון זה." + +# באם/כאשר ניתן +#~ msgid "Should Gajim automatically start an encrypted session when possible?" +#~ msgstr "האם על Gajim להתחיל אוטומטית סשן מוצפן במידת האפשר?" + +#~ msgid "" +#~ "[This is part of an encrypted session. If you see this message, something " +#~ "went wrong.]" +#~ msgstr "[זהו חלק מתוך סשן מוצפן. אם הינך רואה את הודעה זאת, משהו השתבש.]" + +#~ msgid "Requires python-avahi." +#~ msgstr "יש צורך בהתקנת python-avahi." + +# בתור +#, fuzzy +#~ msgid "Save Image as…" +#~ msgstr "שמירת תמונה בשם..." + +#, fuzzy +#~ msgid "Exporting History Logs…" +#~ msgstr "יצוא רשומות היסטוריה..." + +#~ msgid "Choose Client Cert #PCKS12" +#~ msgstr "בחירת תעודת לקוח ‎#PCKS12" + +# הופך ל +#~ msgid "When %s becomes:" +#~ msgstr "כאשר %s נהיה:" + +#~ msgid "Adding Special Notification for %s" +#~ msgstr "הוספת התראה מיוחדת עבור ‫%s" + +# ישנה +#, fuzzy +#~ msgid "" +#~ "It seems the SSL certificate of account %(account)s has changed and is " +#~ "not valid or your connection is being compromised.\n" +#~ "\n" +#~ "Old SHA-1 fingerprint: %(old_sha1)s\n" +#~ "Old SHA-256 fingerprint: %(old_sha256)s\n" +#~ "\n" +#~ "New SHA-1 fingerprint: %(new_sha1)s\n" +#~ "New SHA-256 fingerprint: %(new_sha256)s\n" +#~ "\n" +#~ "Do you still want to connect and update the fingerprint of the " +#~ "certificate?" +#~ msgstr "" +#~ "נראה כי תעודת SSL של חשבון %(account)s שונתה או שהחיבור שלך נפרץ כעת.\n" +#~ "טביעת אצבע קודמת: %(old)s\n" +#~ "טביעת אצבע חדשה: %(new)s\n" +#~ "\n" +#~ "האם עדיין יש ברצונך להתחבר ולעדכן את טביעת האצבע של התעודה?" + +# שם תחום +#~ msgid "" +#~ "The authenticity of the %s certificate could be invalid.\n" +#~ "The certificate does not cover this domain." +#~ msgstr "" +#~ "אמינותה של התעודה %s עלולה להיות רעועה.\n" +#~ "תעודה זו לא מכסה את מתחם זה." + +#~ msgid "Unable to load idle module" +#~ msgstr "אין אפשרות לטעון מודוּל חוסר פעילות" + +#, fuzzy +#~ msgid "%s or %s is a directory but should be a file" +#~ msgstr "‏%s הינו מדור אך אמור להיות קובץ" + +#~ msgid "creating logs database" +#~ msgstr "כעת יוצר רשומות מסד נתונים" + +#, fuzzy +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "שלח את %s אל %s" + +#, fuzzy +#~ msgid "Rename account label" +#~ msgstr "שינוי שם חשבון" + +#~ msgid "" +#~ "Requires gpg and python-gnupg (http://code.google.com/p/python-gnupg/)." +#~ msgstr "" +#~ "יש צורך בהתקנת gpg וגם python-gnupg ‏(https://code.google.com/p/python-" +#~ "gnupg)." + +#, fuzzy +#~ msgid "Send Single Message..." +#~ msgstr "שלח הודעה _בודדת..." + +#, fuzzy +#~ msgid "We received an error: {}" +#~ msgstr "ישנה שגיאה" + +#~ msgid "E2E encryption disabled" +#~ msgstr "הצפנת E2E מנוטרלת כעת" + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "הוסף את תעודה זו לרשימת תעודות מהימנות.\n" +#~ "טביעת אצבע SHA1 של התעודה:\n" +#~ "%s" + +#~ msgid "uri" +#~ msgstr "‏uri‏" + +#, fuzzy +#~ msgid "" +#~ "Install /\n" +#~ "Upgrade" +#~ msgstr "מותקנים" + +#, fuzzy +#~ msgid "Install/Upgrade" +#~ msgstr "מותקנים" + +#, fuzzy +#~ msgid "Install and Upgrade Plugins" +#~ msgstr "מותקנים" + +#, fuzzy +#~ msgid "Plugins updates" +#~ msgstr "כשל תוסף" + +#, fuzzy +#~ msgid "migrating logs database to indices" +#~ msgstr "cli" + +#, fuzzy +#~ msgid "Send File..." +#~ msgstr "שלח _קובץ..." + +#, fuzzy +#~ msgid "HTTP File Upload not supported by your server" +#~ msgstr "אחסון אנשי קשר מוצמדים לא נתמך על ידי השרת שלך" + +#, fuzzy +#~ msgid "Jingle File Transfer" +#~ msgstr "העברות קבצים" + +#~ msgid "" +#~ "Your configured emoticons theme has not been found, so emoticons have " +#~ "been disabled." +#~ msgstr "מוטיב הרגשונים אשר הגדרת לא נמצא, ומשכך רגשונים נוטרלו." + +#, fuzzy +#~ msgid "Shows or hides the roster window" +#~ msgstr "cli" + +#, fuzzy +#~ msgid "Shows or hides the ipython window" +#~ msgstr "cli" + +# Maybe an RTL issue would show up +# Needs to be tested +#, fuzzy +#~ msgid "XMPP account %s" +#~ msgstr "חשבון XMPP ‫%s@%s" + +#, fuzzy +#~ msgid "Exception" +#~ msgstr "תיאור" + +#~ msgid "" +#~ "someone@somewhere.com would like you to add some contacts " +#~ "in your roster." +#~ msgstr "" +#~ "מישהו@איפשהו.קום מעוניין להוסיף כמה אנשי קשר חדשים לרשימה " +#~ "שלך." + +#~ msgid "" +#~ "Ordered list (space separated) of connection type to try. Can contain " +#~ "tls, ssl or plain" +#~ msgstr "" +#~ "רשימה סדורה (מופרדת על ידי רווח) של טיפוס חיבור לנסות. יכול להכיל tls, " +#~ "ssl או plain" + +#~ msgid "_Actions" +#~ msgstr "_פעולות" + +#, fuzzy +#~ msgid "chat;messaging;im;jabber;xmpp;bonjour;voip;" +#~ msgstr "צ'אט;מסרים;מסנג'ר;jabber;xmpp;bonjour;voip" + +# השעיית התליית +#~ msgid "Ability to disconnect properly just before suspending the machine." +#~ msgstr "יכולת להתנתק באופן מוסדר בטרם השהיית המחשב." + +#~ msgid "You are already in group chat %s" +#~ msgstr "הינך כבר בתוך שיחת קבוצה %s" + +#~ msgid "Join Group Chat with account %s" +#~ msgstr "הצטרפות לשיחת קבוצה באמצעות חשבון ‫%s" + +#~ msgid "" +#~ "You have to choose an account from which you want to join the groupchat." +#~ msgstr "עליך לבחור חשבון אשר ממנו ברצונך להצטרף לשיחת הקבוצה." + +#, fuzzy +#~ msgid "Please enter the group chat JID as room@server." +#~ msgstr "אנא הזן מזהה Jabber של שיחת הקבוצה בתור חדר@שרת." + +#, fuzzy +#~ msgid "The group chat JID contains invalid characters." +#~ msgstr "מזהה Jabber של שיחת קבוצה מכילה תווים אסורים." + +#~ msgid "Start Chat with account %s" +#~ msgstr "התחלת שיחה באמצעות חשבון ‫%s" + +# לו, אליו +#, fuzzy +#~ msgid "" +#~ "Fill in the nickname or the JID of the contact you would like\n" +#~ "to send a chat message to:" +#~ msgstr "" +#~ "מלא שם כינוי או מזהה Jabber של איש הקשר\n" +#~ "אשר ברצונך לשלוח אליו או אליה הודעה:" + +#, fuzzy +#~ msgid "Nickname / JID" +#~ msgstr "מזהה Jabber שגוי" + +#~ msgid "Unable to parse \"%s\"." +#~ msgstr "אין אפשרות לנתח את \"%s\"." + +#, fuzzy +#~ msgid "Shows the chat dialog so that you can send messages to a contact" +#~ msgstr "cli" + +#, fuzzy +#~ msgid "JID of the contact that you want to chat with" +#~ msgstr "cli" + +#, fuzzy +#~ msgid "message content. The account must be specified or \"\"" +#~ msgstr "cli" + +#, fuzzy +#~ msgid "Adds contact to roster" +#~ msgstr "cli" + +#, fuzzy +#~ msgid "Adds new contact to this account" +#~ msgstr "cli" + +#, fuzzy +#~ msgid "Opens 'Start Chat' dialog" +#~ msgstr "cli" + +#, fuzzy +#~ msgid "Starts chat, using this account" +#~ msgstr "cli" + +#, fuzzy +#~ msgid "Handle a xmpp:/ URI" +#~ msgstr "cli" + +#, fuzzy +#~ msgid "URI to handle" +#~ msgstr "cli" + +#, fuzzy +#~ msgid "Account in which you want to handle it" +#~ msgstr "cli" + +#, fuzzy +#~ msgid "Message content" +#~ msgstr "cli" + +#, fuzzy +#~ msgid "Join a MUC room" +#~ msgstr "cli" + +#, fuzzy +#~ msgid "Nickname to use" +#~ msgstr "cli" + +#, fuzzy +#~ msgid "Password to enter the room" +#~ msgstr "cli" + +#, fuzzy +#~ msgid "Account from which you want to enter the room" +#~ msgstr "cli" + +# לא ניתן uri +#, fuzzy +#~ msgid "No URI given" +#~ msgstr "cli" + +#, fuzzy +#~ msgid "Wrong URI" +#~ msgstr "cli" + +#~ msgid "Nickname:" +#~ msgstr "שם כינוי:" + +#~ msgid "Server:" +#~ msgstr "שרת:" + +#~ msgid "Join this room _automatically when I connect" +#~ msgstr "הצטרף לחדר זה באופן _אוטומטי בעת התחברותי" + +#~ msgid "Bro_wse Rooms" +#~ msgstr "_עיין ברשימת חדרים" + +#~ msgid "Join a group chat given by a jid, optionally using given nickname" +#~ msgstr "הצטרפות לשיחת קבוצה לפי jid, אפשרי להשתמש בשם כינוי נתון" + +#~ msgid "Requires libgtkspell and libenchant." +#~ msgstr "יש צורך בהתקנת libgtkspell וגם libenchant." + +#~ msgid "Last MAM id we are syncronized with" +#~ msgstr "מזהה MAM אחרון עמו אנו מסונכרנים" + +#, fuzzy +#~ msgid "Network-Watcher" +#~ msgstr "מנהל רשת" + +#~ msgid "Autodetection of network status." +#~ msgstr "איתור אוטומטי של מצב רשת התקשורת." + +#, fuzzy +#~ msgid "Requires gnome-network-manager" +#~ msgstr "יש צורך בהתקנת gnome-network-manager וגם python-dbus." + +#~ msgid "Feature not available, see Help->Features" +#~ msgstr "תכונה זו לא זמינה, ראו עזרה->תכונות" + +#~ msgid "Feature not supported by remote client" +#~ msgstr "תכונה אינה נתמכת על ידי לקוח מרוחק" + +#~ msgid "This contact does not support file transfer." +#~ msgstr "איש קשר זה אינו תומך בהעברת קבצים." + +#, fuzzy +#~ msgid "You need to know the real JID of the contact to send them a file." +#~ msgstr "עליך לדעת את הכתובת (JID) של איש הקשר כדי לשלוח אליו או אליה קובץ." + +# להפיק תועלת +#~ msgid "" +#~ "You have to install %s dictionary to use spellchecking, or choose another " +#~ "language by setting the speller_language option." +#~ msgstr "" +#~ "עליך להתקין מילון %s כדי לעשות שימוש בבדיקת איות, או בחר בשפה שונה על ידי " +#~ "הגדרת האפשרות speller_language." + +#~ msgid "Hides the buttons in chat windows." +#~ msgstr "הסתרת הלחצנים בחלונות שיחה." + +#~ msgid "Change the room's subject (Alt+T)" +#~ msgstr "שינוי נושא חדר זה (Alt+T)" + +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "סימון חדר זה (Ctrl+B)" + +#~ msgid "Browse the chat history (Ctrl+H)" +#~ msgstr "עיון בהיסטוריית השיחה (Ctrl+H)" + +#~ msgid "Show advanced functions (Alt+D)" +#~ msgstr "הצגת פקדים מתקדמים (Alt+D)" + +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "הוספת איש קשר זה לרשימה (Ctrl+D)" + +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "הזמנת אנשי קשר לדיון (Ctrl+G)" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "הוספת איש קשר זה לרשימה (Ctrl+D)" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "הוספת איש קשר זה לרשימה (Ctrl+D)" + +#~ msgid "Ma_ke message windows compact" +#~ msgstr "הפוך חלונות שיחה לצ_פופים" + +#~ msgid "Hide all buttons in chat windows" +#~ msgstr "הסתרת כל הלחצנים בחלונות שיחה" + +#~ msgid "Hide the chat buttons" +#~ msgstr "הסתרת לחצני שיחה" + +# הטמון +#~ msgid "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." +#~ msgstr "" +#~ "כאשר מופעלת, Gajim יבקש עבור אווטאר מכל איש קשר אשר לא היה ברשותו אווטאר " +#~ "בפעם אחרונה או כאשר האווטאר המוטמן עבורו הינו ישן מדי." + +# BUG: spawning dialog +#~ msgid "Disk Write Error" +#~ msgstr "שגיאת כתיבת כונן" + +#~ msgid "Set Custom _Avatar..." +#~ msgstr "הגדר _אווטאר מותאם..." + +#~ msgid "SSL certificate validation" +#~ msgstr "הוכחת תקפות של תעודת SSL" + +#~ msgid "" +#~ "A library used to validate server certificates to ensure a secure " +#~ "connection." +#~ msgstr "ספרייה המשמשת להוכחת תקפות של תעודות שרת כדי להבטיח חיבור מאובטח." + +#~ msgid "Requires python-pyopenssl > 0.12 and pyasn1." +#~ msgstr "יש צורך בהתקנת python-pyopenssl > 0.12 וגם pyasn1." + +#, fuzzy +#~ msgid "Credential Options" +#~ msgstr "אישורי Oauth2" + +#~ msgid "Use D-Bus and Notification-Daemon to show notifications" +#~ msgstr "השתמש באפיק D-Bus וגם Notification-Daemon כדי להציג התראות" + +#~ msgid "Notification" +#~ msgstr "התראה" + +#~ msgid "Passive popups notifying for new events." +#~ msgstr "התראות מוקפצות פסיביות המיידעות על אירועים חדשים." + +#~ msgid "" +#~ "Requires python-notify or instead python-dbus in conjunction with " +#~ "notification-daemon." +#~ msgstr "" +#~ "יש צורך בהתקנת python-notify או בהתקנת python-dbus בצירוף עם notification-" +#~ "daemon." + +#~ msgid "Ignore" +#~ msgstr "התעלמות" + +#~ msgid "_Open Gmail Inbox" +#~ msgstr "_פתח תיבת דואר נכנס של GMail" + +#~ msgid "Notify on new _GMail email" +#~ msgstr "הודע על _דוא״ל GMail חדש" + +# BUG: a dot at the end +# דרך +#~ msgid "" +#~ "If checked, Gajim will show a notification when a new e-mail is received " +#~ "via GMail" +#~ msgstr "כאשר מסומן, Gajim יציג התראה כאשר דוא״ל חדש מתקבל דרך GMail" + +#~ msgid "Display _extra email details" +#~ msgstr "הצג _פרטי דוא״ל נוספים" + +# BUG: a dot at the end +#~ msgid "" +#~ "If checked, Gajim will also include information about the sender of new " +#~ "emails" +#~ msgstr "" +#~ "כאשר מסומן, Gajim יכיל גם מידע אודות הממען של ההודעות האלקטרוניות החדשות" + +#~ msgid "GMail Options" +#~ msgstr "אפשרויות GMail" + +#~ msgid "" +#~ "Specify the command to run when new mail arrives, e.g.: /usr/bin/getmail -" +#~ "q" +#~ msgstr "" +#~ "ציון הפקודה אשר ברצונך להריץ כאשר דואר חדש מגיעה, למשל: ‎/usr/bin/getmail -" +#~ "q" + +#~ msgid "GMail Email Received" +#~ msgstr "דוא״ל GMail אשר התקבל" + +#, fuzzy +#~ msgid "New e-mail on %(gmail_mail_address)s" +#~ msgstr "דוא״ל חדש אצל %(gmail_mail_address)s" + +#, fuzzy +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "יש לך שיחת דואר חדשה %d" +#~ msgstr[1] "יש לך %d שיחות דואר חדשות" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "From: %(from_address)s\n" +#~ "Subject: %(subject)s\n" +#~ "%(snippet)s" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "מאת: %(from_address)s\n" +#~ "נושא: %(subject)s\n" +#~ "%(snippet)s" + +#~ msgid "Resour_ce:" +#~ msgstr "מש_אב:" + +#~ msgid "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" +#~ msgstr "" +#~ "משאב נשלח לשרת Jabber בכדי להפריד את אותה כתובת JID בשני חלקים או יותר, " +#~ "בהסתמך על מספר הלקוחות שמחוברים לאותו השרת עם אותו החשבון. כך שייתכן כי " +#~ "תהיה מחובר לאותו החשבון עם משאב 'בית' וגם 'עבודה' בו זמנית. המשאב לו " +#~ "ניתנה העדיפות הגבוהה ביותר יקבל את האירועים. (ראה למטה)" + +#~ msgid "Priority will change automatically according to your status." +#~ msgstr "העדיפות תשתנה אוטומטית בהתאם למצב שלך." + +#~ msgid "Anonymous authentication" +#~ msgstr "אימות אלמוני" + +# BUG: from a jabber "the" +# שני לקוחות ומעלה +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "עדיפת משמשת את Jabber כדי לקבוע מי מקבל אירועים מתוך שרת jabber כאשר שני " +#~ "לקוחות או יותר מחוברים באמצעות אותו החשבון; הלקוח בעל העדיפות הגבוהה " +#~ "ביותר יקבל אירועים" + +# BUG: _underline +# אישי קשר +#~ msgid "Synchronize contacts" +#~ msgstr "סנכרן אנשי קשר" + +#~ msgid "Click to request authorization to all contacts of another account" +#~ msgstr "לחץ בכדי לבקש הרשאות מכל איש קשר של חשבון אחר" + +#~ msgid "Chan_ge Password" +#~ msgstr "ש_נה סיסמה" + +# מנהל, ניהול +#~ msgid "Administration operations" +#~ msgstr "פעולות הנהלת מערכת" + +#~ msgid "_Client Cert File:" +#~ msgstr "קובץ תעודת _לקוח:" + +#~ msgid "Browse..." +#~ msgstr " עיין... " + +#~ msgid "Certificate is e_ncrypted" +#~ msgstr "תעודה הינה מו_צפנת" + +# BUG: a dot at the end +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "" +#~ "כאשר מסומן, Gajim, בעת שיגור, יתחבר אוטומטית אל jabber באמצעות חשבון זה" + +#~ msgid "Synchronize logs with server" +#~ msgstr "סנכרן רשומות עם שרת" + +#~ msgid "Synch_ronize account status with global status" +#~ msgstr "סנכרן מצב חשבון עם מצב _גלובלי" + +# BUG: a dot at the end +# תיבת אפשרויות +# תיבת הרכבה +# תיבה משולבת +# תיבת קומבינה (קומבינציה) +# תיבת שיח +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "כאשר מסומן, כל שינוי למצב גלובלי (מטופל על ידי תיבת בחירה אשר מצויה " +#~ "בתחתית חלון הרשימה) ישנה את המצב של חשבון זה בהתאמה" + +#, fuzzy +#~ msgid "" +#~ "Receive conversations from other resources (provided the server has " +#~ "support for it)" +#~ msgstr "קבל דיונים מתוך מקורות אחרים (אם שרת תומך זאת)" + +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "כאשר מסומן, Gajim ישדר, בנוסף לכתובת IP שלך, מספר כתובות IP נוספות, כך " +#~ "שלהעברת קובץ יהיו סיכויים גדולים יותר לעבוד." + +#~ msgid "Proxy" +#~ msgstr "פרוקסי" + +#~ msgid "" +#~ "Check this so Gajim will ask you before sending your password over an " +#~ "insecure connection." +#~ msgstr "" +#~ "סמן את אפשרות זו כדי ש־Gajim ישאל אותך בטרם שליחת סיסמה על פני חיבור לא " +#~ "מאובטח." + +# BUG: a dot at the end +# נובעת בניתוק +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "" +#~ "כאשר מסומן, Gajim ישלח חבילות keep-alive כדי למנוע פקיעת זמן של חיבור " +#~ "(connection timeout) אשר מביאה לידי ניתוק" + +#~ msgid "Use cust_om hostname/port" +#~ msgstr "השתמש בשם מארח\\פורט מו_תאמים" + +#~ msgid "_Hostname: " +#~ msgstr "שם מ_ארח: " + +# יציאה מסוף +#~ msgid "_Port: " +#~ msgstr "_פורט: " + +#~ msgid "Choose _Key..." +#~ msgstr "בחר _מפתח..." + +# BUG: a dot at the end +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "כאשר מסומן, Gajim יאחזר את הסיסמה מתוך סוכן GPG כגון seahorse" + +#~ msgid "OpenPGP" +#~ msgstr "‏OpenPGP" + +#~ msgid "_Edit Personal Information..." +#~ msgstr "_ערוך מידע אישי..." + +#~ msgid "Personal Information" +#~ msgstr "מידע אישי" + +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "התחבר בעת ה_פעלת Gajim" + +#~ msgid "Synchroni_ze account status with global status" +#~ msgstr "סנכרן מצב חשבון עם מצב חיבור _גלובלי" + +#~ msgid "Use cust_om port:" +#~ msgstr "השתמש בפורט מו_תאם:" + +# BUG: setup, you +#~ msgid "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." +#~ msgstr "" +#~ "כאשר הפורט המשתמט אשר מצוי בשימוש עבור הודעות נכנסות איננו מתאים עבור " +#~ "התקנתך באפשרותך לבחור פורט אחר כאן.\n" +#~ "ייתכן כי יהיה ברצונך לשקול לשנות הגדרות חומת אש אפשריות." + +# הצפנת OpenPGP +#~ msgid "OpenPGP is not usable on this computer" +#~ msgstr "‏OpenPGP אינה שמישה על מחשב זה" + +#~ msgid "To change the account name, you must be disconnected." +#~ msgstr "כדי לשנות את שם החשבון, עליך להתנתק." + +#~ msgid "To change the account name, you must read all pending events." +#~ msgstr "כדי לשנות את שם החשבון, עליך לקרוא את כל האירועים אשר ממתינים." + +#~ msgid "Account Name Already Used" +#~ msgstr "שם חשבון כבר מצוי בשימוש" + +#~ msgid "" +#~ "This name is already used by another of your accounts. Please choose " +#~ "another name." +#~ msgstr "שם זה כבר מצוי בשימוש על ידי חשבון אחר מחשבונותיך. אנא בחר שם אחר." + +#~ msgid "Account name cannot be empty." +#~ msgstr "שם חשבון לא יכול להיות ריק." + +#~ msgid "Account name cannot contain spaces." +#~ msgstr "שם חשבון לא יכול להכיל רווחים." + +#~ msgid "Enter a new name for account %s" +#~ msgstr "הזן שם חדש עבור חשבון %s" + +#, fuzzy +#~ msgid "A JID must be in the form \"user@servername\"." +#~ msgstr "על מזהה Jabber להיות בצורה הזו \"user@servername\"." + +#~ msgid "No such account available" +#~ msgstr "לא קיים חשבון כזה" + +# עוד בטרם +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "עליך ליצור חשבון בטרם עריכת המידע האישי שלך." + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "ללא חיבור, אין באפשרותך לערוך את המידע האישי שלך." + +#~ msgid "Your server can't save your personal information." +#~ msgstr "השרת שלך לא יכול לשמור את המידע האישי שלך." + +#~ msgid "Please rename or remove it before enabling link-local messaging." +#~ msgstr "אנא שנה את שמו או הסר אותו בטרם אפשור קישוריות מסרים מקומית." + +#~ msgid "THANKS:" +#~ msgstr "‎תודות:" + +#~ msgid "Could not write to %s. Session Management support will not work" +#~ msgstr "לא היתה אפשרות לכתוב אל %s. תמיכה עבור ניהול סשן לא תעבוד" + +#~ msgid "Jabber Traffic" +#~ msgstr "תעבורת Jabber" + +#~ msgid "_Enable" +#~ msgstr "א_פשר" + +#~ msgid "Hide IN stanzas" +#~ msgstr "הסתר סטנזות IN" + +#~ msgid "Hide OUT stanzas" +#~ msgstr "הסתר סטנזות OUT" + +#~ msgid "Hide Presence stanzas" +#~ msgstr "הסתר סטנזות נוכחות" + +#~ msgid "Hide IQ stanzas" +#~ msgstr "הסתר סטנזות IQ" + +#~ msgid "Filter" +#~ msgstr "מסננת" + +#~ msgid "Info/Query" +#~ msgstr "מידע/שאילתא" + +#~ msgid "XML Input" +#~ msgstr "קלט XML" + +#~ msgid "XML Console for %s" +#~ msgstr "מסוף ‫XML עבור ‫%s" + +#, fuzzy +#~ msgid "Idle for:" +#~ msgstr "בחוסר פעילות במשך %s" + +# שידור בקשות +# עלולה לגרום could +#, fuzzy +#~ msgid "" +#~ "Request offline status messages from all contacts upon connecting. " +#~ "WARNING: This causes a lot of requests to be sent!" +#~ msgstr "" +#~ "בקש הודעות מצב לא מקוונות מכל איש קשר בלתי מקוון כאשר חיבור לחשבון הינו " +#~ "מבוסס. אזהרה: זו גורמת לשליחת מספר רב של בקשות!" + +#~ msgid "Last status: %s" +#~ msgstr "מצב אחרון: %s" + +#~ msgid " since %s" +#~ msgstr " מאז %s" + +#~ msgid "since %s" +#~ msgstr "מאז %s" + +# Concession/Waive = ויתור +#~ msgid "Concede" +#~ msgstr "וותר" + +#~ msgid "Forbid" +#~ msgstr "אסור" + +# fe/male +#~ msgid "Auto" +#~ msgstr "אוטומטית" + +#~ msgid "Method Auto" +#~ msgstr "שיטה אוטומטית" + +#~ msgid "Method Local" +#~ msgstr "שיטה מקומית" + +#~ msgid "Method Manual" +#~ msgstr "שיטה ידנית" + +#~ msgid "body" +#~ msgstr "גוף" + +#~ msgid "false" +#~ msgstr "שווא" + +#~ msgid "stream" +#~ msgstr "זרם" + +#~ msgid "concede" +#~ msgstr "וותר" + +#~ msgid "forbid" +#~ msgstr "אסור" + +# להימנע +# conflict? +#~ msgid "oppose" +#~ msgstr "התנגד" + +#~ msgid "prefer" +#~ msgstr "העדף" + +#~ msgid "save" +#~ msgstr "שמור" + +#~ msgid "Last time we syncronized with logs from server." +#~ msgstr "פעם אחרונה בה סנכרנו רשומות מתוך שרת." + +#~ msgid "Invalid expire value" +#~ msgstr "ערך תפוגה שגוי" + +#~ msgid "Expire must be a valid positive integer." +#~ msgstr "תפוגה מוכרחה להיות ספרה חיובית תקפה." + +#~ msgid "There is an error with the form" +#~ msgstr "ישנה שגיאה עם הטופס" + +#~ msgid "There is an error" +#~ msgstr "ישנה שגיאה" + +#~ msgid "How many minutes should last lines from previous conversation last." +#~ msgstr "כמה דקות על שורות אחרונות מתוך דיון קודם להישאר." + +#~ msgid "" +#~ "Your configured emoticons theme cannot been loaded. You maybe need to " +#~ "update the format of emoticons.py file. See http://trac.gajim.org/wiki/" +#~ "Emoticons for more details." +#~ msgstr "" +#~ "מוטיב הרגשונים אשר הגדרת לא ניתן לטעינה. ייתכן ויש צורך לעדכן את התסדיר " +#~ "של הקובץ emoticons.py. לפרטים נוספים, ראו http://trac.gajim.org/wiki/" +#~ "Emoticons." + +#~ msgid "You will be connected to %s without OpenPGP." +#~ msgstr "התחברותך אל %s תתבצע ללא OpenPGP." + +#~ msgid "The following message was NOT encrypted" +#~ msgstr "ההודעה הבאה לא הוצפנה" + +#~ msgid "Toggle Open_PGP Encryption" +#~ msgstr "הפעל הצפנת Open_PGP" + +# BUG: No _underline +#~ msgid "Toggle End to End Encryption" +#~ msgstr "הפעל הצפנת קצה אל קצה" + +#~ msgid "OpenPGP encryption enabled" +#~ msgstr "הצפנת OpenPGP מאופשרת" + +#~ msgid "No OpenPGP key assigned" +#~ msgstr "לא הוקצה מפתח OpenPGP" + +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages with OpenPGP." +#~ msgstr "" +#~ "אין מפתח OpenPGP אשר מוקצה לאיש קשר זה. כך שאין אין באפשרותך להצפין " +#~ "הודעות באמצעות OpenPGP." + +#~ msgid "Session WILL be logged" +#~ msgstr "הסשן יירשם" + +#~ msgid "Session WILL NOT be logged" +#~ msgstr "הסשן לא יירשם" + +#~ msgid "is" +#~ msgstr "הינה" + +#~ msgid "is NOT" +#~ msgstr "אינה" + +#~ msgid "will" +#~ msgstr "יירשם" + +#~ msgid "will NOT" +#~ msgstr "לא יירשם" + +#~ msgid "The following message was encrypted" +#~ msgstr "ההודעה הבאה הוצפנה" + +#~ msgid "Toggle the OpenPGP encryption" +#~ msgstr "הפעלת הצפנת OpenPGP" + +# thank you, rodensky +#~ msgid "" +#~ "Should Gajim automatically start an encrypted session with this contact " +#~ "when possible?" +#~ msgstr "האם על Gajim להתחיל אוטומטית סשן מוצפן עם איש קשר זה במידת האפשר?" + +#~ msgid "Neither the remote presence is signed, nor a key was assigned." +#~ msgstr "אף לא הנוכחות המרוחקת חתומה, וגם לא הוקצה מפתח." + +#~ msgid "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "המפתח של איש קשר (%s) לא תואם את המפתח שמוקצה בתוך Gajim." + +# Needs to be tested +#~ msgid "[This message is *encrypted* (See :XEP:`27`]" +#~ msgstr "[הודעה זו הינה *מוצפנת* (ראו :XEP:`27‪`‬]" + +#~ msgid "" +#~ "Your chat session with %(jid)s is encrypted.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "סשן שיחה עם %(jid)s הינו מוצפן.\n" +#~ "\n" +#~ "מחרוזת האימות הקצרה (SAS) של סשן זה היא %(sas)s." + +#~ msgid "You have already verified this contact's identity." +#~ msgstr "כבר אימתת את הזהות של איש קשר זה." + +#~ msgid "Contact's identity verified" +#~ msgstr "זהות איש קשר אומתה" + +# הודעותיך +# GOOD! their identity, not his or her ("he or she") identity [not a BUG:] +#~ msgid "" +#~ "To be certain that only the expected person can read your messages " +#~ "or send you messages, you need to verify their identity by clicking the " +#~ "button below." +#~ msgstr "" +#~ "כדי להסיר ספק כי האישיות הצפויה בלבד מסוגלת לקרוא את ההודעות שלך " +#~ "או לשלוח לך הודעות, עליך לאמת את זהותה על ידי הקלקה על הלחצן מטה." + +#~ msgid "Contact's identity NOT verified" +#~ msgstr "זהות איש קשר אינה מאומתת" + +#, fuzzy +#~ msgid "Verify…" +#~ msgstr "_אמת" + +#~ msgid "Have you verified the contact's identity?" +#~ msgstr "האם אימתת את הזהות של איש הקשר?" + +#~ msgid "" +#~ "To prevent talking to an unknown person, you should speak to %(jid)s directly (in person or on the phone) and verify that they see the same " +#~ "Short Authentication String (SAS) as you.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "בכדי להימנע משיחה עם אישיות לא מוכרת, עליך לשוחח עם %(jid)s באופן " +#~ "ישיר (אישית או טלפונית) ולוודא כי הם רואים את אותה מחרוזת אימות קצרה " +#~ "(SAS) כפי שעינייך רואות.\n" +#~ "\n" +#~ "מחרוזת אימות קצרה של סשן זה הינה %(sas)s." + +#~ msgid "Did you talk to the remote contact and verify the SAS?" +#~ msgstr "האם שוחחת עם האיש קשר המרוחק ודאגת לוודא הצפנת SAS?" + +#~ msgid "" +#~ "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "המפתח של איש קשר (%s) לא תואם את המפתח אשר מוקצה בתוך Gajim." + +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages." +#~ msgstr "" +#~ "לא הוקצה מפתח OpenPGP לאיש קשר זה. כך שאין אין באפשרותך להצפין הודעות." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP key is assigned to this contact, but you do not trust their " +#~ "key, so message cannot be encrypted. Use your OpenPGP client " +#~ "to trust their key." +#~ msgstr "" +#~ "מפתח OpenPGP מוקצה לאיש קשר זה, אך אינך סומך על מפתח זה, אי לכך " +#~ "הודעות לא יכולות להיות מוצפנות. יש לעשות שימוש בלקוח OpenPGP בכדי " +#~ "לבטוח במפתח זה." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP Key is assigned to this contact, and you trust their key, so " +#~ "messages will be encrypted." +#~ msgstr "" +#~ "מפתח OpenPGP מוקצה לאיש קשר זה, ואתה סומך על המפתח שלו, אי לכך הודעות " +#~ "יוצפנו." + +#~ msgid "" +#~ "This icon indicates that this message has not yet\n" +#~ "been received by the remote end. If this icon stays\n" +#~ "for a long time, it's likely the message got lost." +#~ msgstr "" +#~ "סמל זה מצביע על כך שהודעה זו טרם התקבלה\n" +#~ "על ידי הקצה המרוחק. אם סמל זה נותר למשך\n" +#~ "זמן ממושך, סביר להניח כי ההודעה אבדה." + +# they = signals? +# מוגדרת אל מנוטרלת +#~ msgid "" +#~ "If True, listen to D-Bus signals from NetworkManager and change the " +#~ "status of accounts (provided they do not have listen_to_network_manager " +#~ "set to False and they sync with global status) based upon the status of " +#~ "the network connection." +#~ msgstr "" +#~ "כאשר מופעלת, האזן לאותות D-Bus המשודרים מתוך NetworkManager ושנה את המצב " +#~ "של חשבונות (בתנאי שאין להם את ההעדפה listen_to_network_manager מנוטרלת " +#~ "והם מסונכרנים עם מצב חיבור גלובלי) על סמך המצב של חיבור רשת העבודה." + +#~ msgid "" +#~ "The database file (%s) cannot be read. Try to repair it or remove it (all " +#~ "history will be lost)." +#~ msgstr "" +#~ "קובץ מסד הנתונים (%s) לא ניתן לקריאה. נסה לתקנו או להסירו (כל ההיסטוריה " +#~ "תאבד)." + +#~ msgid "Database cannot be read." +#~ msgstr "מסד נתונים לא יכול להיקרא." + +#~ msgid "A message from a non-valid JID arrived, it has been ignored." +#~ msgstr "התקבלה הודעה מכתובת JID אשר איננה תקפה, Gajim התעלם מהודעה זו." + +#~ msgid "Smooth scroll message in conversation window" +#~ msgstr "גלילה חלקה של הודעות בחלון דיון" + +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "ערוך _רשימות פרטיות..." + +# Administration +#~ msgid "_Administrator" +#~ msgstr "ה_נהלה" + +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "מסירת הודעה למשתמשים המחוברים כעת לשרת זה" + +#~ msgid "Sets Message of the Day" +#~ msgstr "הגדרת בשורת היום" + +#~ msgid "Updates Message of the Day" +#~ msgstr "עדכון בשורת היום" + +#~ msgid "Deletes Message of the Day" +#~ msgstr "מחיקת בשורת היום" + +#~ msgid "Add _Contact..." +#~ msgstr "הוסף _איש קשר..." + +#~ msgid "P_lugins" +#~ msgstr "_תוספות" + +#~ msgid "File _Transfers" +#~ msgstr "ה_עברות קבצים" + +#~ msgid "Help online" +#~ msgstr "עזרה מקוונת" + +# שאלות הנשאלות באופן תכוף (מקוון) +#~ msgid "Frequently Asked Questions (online)" +#~ msgstr "שאלות ותשובות שכיחות (מקוון)" + +#~ msgid "Fea_tures" +#~ msgstr "ת_כונות" + +#~ msgid "to %s account" +#~ msgstr "אל חשבון %s" + +#~ msgid "using %s account" +#~ msgstr "באמצעות חשבון %s" + +#~ msgid "of account %s" +#~ msgstr "של חשבון %s" + +#~ msgid "for account %s" +#~ msgstr "עבור חשבון %s" + +#~ msgid "" +#~ "By removing this contact you also remove authorization resulting in him " +#~ "or her always seeing you as offline." +#~ msgstr "" +#~ "בהסירך את איש קשר זה תוסר גם הרשאה דבר אשר יגרום למצב בו איש קשר זה תמיד " +#~ "יראה אותך במצב לא מקוון." + +#~ msgid "Message Body xmpp.org/getting-started" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:646 +#, fuzzy +msgid "_Please choose a server" +msgstr "Molim napravite novu temu sa vašim željenim imenom." + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "" + +#: gajim/data/gui/application_menu.ui:8 +#, fuzzy +msgid "_Start / Join Chat…" +msgstr "Započeti Razgovor" + +#: gajim/data/gui/application_menu.ui:13 +#, fuzzy +msgid "Create _Group Chat…" +msgstr "Novi Grupni Razgovor" + +#: gajim/data/gui/application_menu.ui:18 +#, fuzzy +msgid "_History Manager" +msgstr "Upravitelj Zapisima" + +#: gajim/data/gui/application_menu.ui:22 +#, fuzzy +msgid "Pl_ugins" +msgstr "Registracija nije uspijela" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +#, fuzzy +msgid "_Preferences" +msgstr "Postavke" + +#: gajim/data/gui/application_menu.ui:36 +#, fuzzy +msgid "_Accounts" +msgstr "Korisnički Račun" + +#: gajim/data/gui/application_menu.ui:39 +#, fuzzy +msgid "_View" +msgstr "_Prikaz" + +#: gajim/data/gui/application_menu.ui:46 +#, fuzzy +msgid "Show _Offline Contacts" +msgstr "Prikaži _Odspojene Kontakte" + +#: gajim/data/gui/application_menu.ui:50 +#, fuzzy +msgid "Show _Active Contacts" +msgstr "Prikaži Samo _Aktivne Kontakte" + +#: gajim/data/gui/application_menu.ui:54 +#, fuzzy +msgid "Show _Transports" +msgstr "Prikaži _Prijenose" + +#: gajim/data/gui/application_menu.ui:60 +#, fuzzy +msgid "_XML Console" +msgstr "XML Konzola" + +#: gajim/data/gui/application_menu.ui:64 +#, fuzzy +msgid "_File Transfer" +msgstr "Prijenosi Datoteka" + +#: gajim/data/gui/application_menu.ui:74 +#, fuzzy +msgid "_Help" +msgstr "_Pomoć" + +#: gajim/data/gui/application_menu.ui:77 +#, fuzzy +msgid "_Wiki (Online)" +msgstr "Spojen" + +#: gajim/data/gui/application_menu.ui:81 +#, fuzzy +msgid "FA_Q (Online)" +msgstr "Spojen" + +#: gajim/data/gui/application_menu.ui:85 +msgid "_Keyboard Shortcuts" +msgstr "" + +#: gajim/data/gui/application_menu.ui:89 +#, fuzzy +msgid "_Features" +msgstr "Mogućnosti" + +#: gajim/data/gui/application_menu.ui:93 +#, fuzzy +msgid "_About" +msgstr "O meni" + +#: gajim/data/gui/filetransfer_progress.ui:125 +msgid "Speed" +msgstr "" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +#, fuzzy +msgid "OK" +msgstr "_Uredu" + +#: gajim/data/gui/plugins_window.ui:55 +msgid "Install Plugin from ZIP-File" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:56 +msgid "Install from File…" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:70 +#, fuzzy +msgid "Uninstall Plugin" +msgstr "Zaustavljeno" + +#: gajim/data/gui/plugins_window.ui:116 +#, fuzzy +msgid "" +msgstr "Registracija nije uspijela" + +#: gajim/data/gui/plugins_window.ui:133 +#, fuzzy +msgid "Plugin Settings" +msgstr "Registracija nije uspijela" + +#: gajim/data/gui/plugins_window.ui:215 +#, fuzzy +msgid "" +msgstr "Opis" + +#: gajim/data/gui/plugins_window.ui:239 +#, fuzzy +msgid "Version" +msgstr "GTK+ Verzija:" + +#: gajim/data/gui/plugins_window.ui:271 +#, fuzzy +msgid "Authors" +msgstr "_Odobri" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +#, fuzzy +msgid "Homepage" +msgstr "Osobna Stranica:" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:349 +#, fuzzy +msgid "Installed" +msgstr "Zaustavljeno" + +#: gajim/data/gui/plugins_window.ui:363 +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +msgid "Synchronise contacts" +msgstr "Sinkroniziraj kontakte" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "Označite račun sa kojim želite sinkronizirati" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +#, fuzzy +msgid "_Name" +msgstr "_Ime:" + +#: gajim/data/gui/groupchat_creation.ui:122 +#, fuzzy +msgid "_Description" +msgstr "Opis" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +#, fuzzy +msgid "_Address" +msgstr "_Adresa:" + +#: gajim/data/gui/groupchat_creation.ui:278 +#, fuzzy +msgid "_Account" +msgstr "_Korisnički Računi" + +#: gajim/data/gui/profile.ui:33 +#, fuzzy +msgid "Contact Infos" +msgstr "Informacije Kontakta" + +#: gajim/data/gui/profile.ui:45 +#, fuzzy +msgid "Picture and Name" +msgstr "Nadimak koji će se koristiti" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "" + +#: gajim/data/gui/profile.ui:198 +#, fuzzy +msgid "Change your profile picture" +msgstr "Promijeni nadimak (Ctrl+N)" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:298 +#, fuzzy +msgid "Add Entry" +msgstr "Unos:" + +#: gajim/data/gui/profile.ui:410 +#, fuzzy +msgid "Update" +msgstr "Osvježi MOTD..." + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:15 +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:65 +#, fuzzy +msgid "Add Proxy" +msgstr "Proxy:" + +#: gajim/data/gui/manage_proxies.ui:79 +#, fuzzy +msgid "Remove Proxy" +msgstr "Ukloni Grupu" + +#: gajim/data/gui/manage_proxies.ui:131 +#, fuzzy +msgid "Pass_word" +msgstr "Lo_zinka:" + +#: gajim/data/gui/manage_proxies.ui:156 +msgid "Use proxy auth_entication" +msgstr "Koristi proxy aut_entifikaciju" + +#: gajim/data/gui/manage_proxies.ui:176 +#, fuzzy +msgid "_Username" +msgstr "_Korisničko ime:" + +#: gajim/data/gui/manage_proxies.ui:237 +#, fuzzy +msgid "_Host" +msgstr "_Poslužitelj:" + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "Lokalni jid:" + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "Resurs" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "Status:" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +#, fuzzy +msgid "_Store conversation history" +msgstr "_Pamti povijest razgovora" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +msgid "Contact" +msgstr "Kontakt" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +msgid "First Name:" +msgstr "Ime:" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +msgid "Last Name:" +msgstr "Prezime:" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +#, fuzzy +msgid "XMPP Address:" +msgstr "AIM Adresa:" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "E-Mail:" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +msgid "Personal" +msgstr "Osobno" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "_Status" + +#: gajim/data/gui/account_context_menu.ui:20 +msgid "_Personal Events" +msgstr "_Osobni Događaji" + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "_Dodaj Kontakt..." + +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "_Otkrivanje Usluga" + +#: gajim/data/gui/account_context_menu.ui:57 +msgid "_Execute Command..." +msgstr "_Izvrši Naredbu..." + +#: gajim/data/gui/account_context_menu.ui:65 +#, fuzzy +msgid "_View Server Info" +msgstr "Poslužitelj" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:125 +#, fuzzy +msgid "Global Group Chat Search" +msgstr "Pridružiti se Grupnom Razgovoru" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +#, fuzzy +msgid "_Back" +msgstr "Vraćam se ubrzo" + +#: gajim/data/gui/start_chat_dialog.ui:386 +#, fuzzy +msgid "Select Account" +msgstr "Uklanjanje %s računa" + +#: gajim/data/gui/start_chat_dialog.ui:477 +msgid "_Select" +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +#, fuzzy +msgid "Configure" +msgstr "_Postavi" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +msgid "Create new post" +msgstr "Stvorite novi dopis" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "Sta_tus" + +#: gajim/data/gui/systray_context_menu.ui:20 +msgid "_Start Chat..." +msgstr "_Novi Razgovor..." + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "Pošalji Jednu _Poruku..." + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "Prikaži Sve _Događaje na Čekanju" + +#: gajim/data/gui/systray_context_menu.ui:52 +msgid "Mute Sounds" +msgstr "Onemogući Zvukove" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +#, fuzzy +msgid "Contact List" +msgstr "Kontakti" + +#: gajim/data/gui/shortcuts_window.ui:24 +#, fuzzy +msgid "Create new group chat" +msgstr "Novi Grupni Razgovor" + +#: gajim/data/gui/shortcuts_window.ui:45 +#, fuzzy +msgid "File transfers" +msgstr "Prijenosi Datoteka" + +#: gajim/data/gui/shortcuts_window.ui:52 +#, fuzzy +msgid "Set the status message" +msgstr "statusna poruka" + +#: gajim/data/gui/shortcuts_window.ui:59 +#, fuzzy +msgid "Show XML console" +msgstr "Prikaži _XML Konzolu" + +#: gajim/data/gui/shortcuts_window.ui:74 +#, fuzzy +msgid "Appearance" +msgstr "Izgled Razgovora" + +#: gajim/data/gui/shortcuts_window.ui:79 +#, fuzzy +msgid "Show offline contacts" +msgstr "Prikaži _Odspojene Kontakte" + +#: gajim/data/gui/shortcuts_window.ui:86 +#, fuzzy +msgid "Show only active contacts" +msgstr "Prikaži Samo _Aktivne Kontakte" + +#: gajim/data/gui/shortcuts_window.ui:93 +msgid "Enable contact list filtering" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:100 +#, fuzzy +msgid "Show / hide contact list" +msgstr "Prikaži Samo _Aktivne Kontakte" + +#: gajim/data/gui/shortcuts_window.ui:113 +#, fuzzy +msgid "Contact information" +msgstr "Informacije Kontakta" + +#: gajim/data/gui/shortcuts_window.ui:120 +#, fuzzy +msgid "Rename contact" +msgstr "Preimenuj Kontakt" + +#: gajim/data/gui/shortcuts_window.ui:127 +#, fuzzy +msgid "Delete contact" +msgstr "Poslani kontakti:" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +msgid "Chat" +msgstr "Razgovor" + +#: gajim/data/gui/shortcuts_window.ui:142 +#, fuzzy +msgid "Message composition" +msgstr "Sadržaj poruke" + +#: gajim/data/gui/shortcuts_window.ui:147 +#, fuzzy +msgid "Send the message" +msgstr "Pošalji poruku" + +#: gajim/data/gui/shortcuts_window.ui:154 +#, fuzzy +msgid "Add new line" +msgstr "Stvorite novi dopis" + +#: gajim/data/gui/shortcuts_window.ui:161 +msgid "Select an emoji" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:168 +#, fuzzy +msgid "Complete a command or a nickname" +msgstr "Molim napravite novu temu sa vašim željenim imenom." + +#: gajim/data/gui/shortcuts_window.ui:175 +#, fuzzy +msgid "Previously sent message" +msgstr "Predefinirane poruke:" + +#: gajim/data/gui/shortcuts_window.ui:182 +#, fuzzy +msgid "Next sent messages" +msgstr "Predefinirane poruke:" + +#: gajim/data/gui/shortcuts_window.ui:189 +#, fuzzy +msgid "Quote previous message" +msgstr "statusna poruka" + +#: gajim/data/gui/shortcuts_window.ui:196 +#, fuzzy +msgid "Quote next message" +msgstr "Pošalji poruku" + +#: gajim/data/gui/shortcuts_window.ui:203 +#, fuzzy +msgid "Clear message entry" +msgstr "Poruka Poslana" + +#: gajim/data/gui/shortcuts_window.ui:211 +#, fuzzy +msgid "Recent history" +msgstr "Nedavno:" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:230 +#, fuzzy +msgid "Clear chat window" +msgstr "Uporaba: /%s, prazni tekstualni prozor" + +#: gajim/data/gui/shortcuts_window.ui:237 +#, fuzzy +msgid "Show chat history" +msgstr "Nedavno:" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:299 +msgid "Close chat" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:312 +#, fuzzy +msgid "Change Nickname" +msgstr "Promijeni _Nadimak..." + +#: gajim/data/gui/chat_control.ui:48 +#, fuzzy +msgid "Drop files or contacts" +msgstr "Å alje datoteku kontaktu" + +#: gajim/data/gui/chat_control.ui:80 +#, fuzzy +msgid "1" +msgstr "Font" + +#: gajim/data/gui/chat_control.ui:101 +#, fuzzy +msgid "2 abc" +msgstr "Font" + +#: gajim/data/gui/chat_control.ui:121 +#, fuzzy +msgid "3 def" +msgstr "Font" + +#: gajim/data/gui/chat_control.ui:141 +#, fuzzy +msgid "4 ghi" +msgstr "Font" + +#: gajim/data/gui/chat_control.ui:161 +#, fuzzy +msgid "5 jkl" +msgstr "Font" + +#: gajim/data/gui/chat_control.ui:181 +#, fuzzy +msgid "6 mno" +msgstr "Font" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "" + +#: gajim/data/gui/chat_control.ui:221 +#, fuzzy +msgid "8 tuv" +msgstr "Font" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "" + +#: gajim/data/gui/chat_control.ui:261 +#, fuzzy +msgid "*" +msgstr "Font" + +#: gajim/data/gui/chat_control.ui:281 +#, fuzzy +msgid "0" +msgstr "Font" + +#: gajim/data/gui/chat_control.ui:301 +#, fuzzy +msgid "#" +msgstr "Font" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "Započni _Razgovor" + +#: gajim/data/gui/contact_context_menu.ui:28 +msgid "Send _File..." +msgstr "Pošalji _Datoteku..." + +#: gajim/data/gui/contact_context_menu.ui:44 +msgid "Invite _Contacts" +msgstr "Pozovi _Kontakte" + +#: gajim/data/gui/contact_context_menu.ui:58 +msgid "E_xecute Command..." +msgstr "I_zvrši Naredbu..." + +#: gajim/data/gui/contact_context_menu.ui:67 +#, fuzzy +msgid "M_anage Contact" +msgstr "_Uredi Kontakt" + +#: gajim/data/gui/contact_context_menu.ui:77 +msgid "_Rename..." +msgstr "_Preimenuj..." + +#: gajim/data/gui/contact_context_menu.ui:84 +msgid "Edit _Groups..." +msgstr "Uredi _Grupe..." + +#: gajim/data/gui/contact_context_menu.ui:92 +msgid "Add Special _Notification..." +msgstr "Dodaj Posebnu _Obavijest..." + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "_Pretplata" + +#: gajim/data/gui/contact_context_menu.ui:115 +#, fuzzy +msgid "_Allow contact to see my status" +msgstr "D_ozvoli njemu/njoj da vidi moj status" + +#: gajim/data/gui/contact_context_menu.ui:123 +#, fuzzy +msgid "A_sk to see contact status" +msgstr "Traži njegov/njezin status" + +#: gajim/data/gui/contact_context_menu.ui:131 +#, fuzzy +msgid "_Forbid contact to see my status" +msgstr "_Zabrani mu/joj da vidi moj status" + +#: gajim/data/gui/contact_context_menu.ui:159 +msgid "_Unignore" +msgstr "_Prestani Ignorirati" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "_Ignoriraj" + +#: gajim/data/gui/contact_context_menu.ui:174 +#, fuzzy +msgid "_Add to Contact List..." +msgstr "_Dodaj Kontakt..." + +#: gajim/data/gui/single_message_window.ui:42 +#, fuzzy +msgid "_To" +msgstr "Za" + +#: gajim/data/gui/single_message_window.ui:71 +#, fuzzy +msgid "Su_bject" +msgstr "Tema" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "" + +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "_Poruka" + +#: gajim/data/gui/single_message_window.ui:144 +#, fuzzy +msgid "Characters typed: 0" +msgstr "Znak nije dozvoljen" + +#: gajim/data/gui/single_message_window.ui:189 +#, fuzzy +msgid "_From" +msgstr "Od" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "P_ošalji" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "Pošalji poruku" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "_Odgovor" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "Odgovori na ovu poruku" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "_Pošalji i Zatvori" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "Pošalji poruku i zatvori prozor" + +#: gajim/data/gui/vcard_information_window.ui:106 +#, fuzzy +msgid "Client" +msgstr "Klijent:" + +#: gajim/data/gui/vcard_information_window.ui:140 +#, fuzzy +msgid "Contact time" +msgstr "Ime kontakta" + +#: gajim/data/gui/vcard_information_window.ui:240 +#, fuzzy +msgid "User avatar" +msgstr "Avatar:" + +#: gajim/data/gui/vcard_information_window.ui:255 +#, fuzzy +msgid "Configured avatar" +msgstr "Podešeni avatar:" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +#, fuzzy +msgid "Ask" +msgstr "Pitaj:" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +#, fuzzy +msgid "Subscription" +msgstr "Pretplata:" + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +#, fuzzy +msgid "Extra Address" +msgstr "Dodatna Adresa:" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +msgid "Address" +msgstr "Adresa" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +#, fuzzy +msgid "E-Mail" +msgstr "E-Mail:" + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "Format: GGGG-MM-DD" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +#, fuzzy +msgid "Family" +msgstr "Prezime:" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +#, fuzzy +msgid "Middle" +msgstr "Srednje" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +#, fuzzy +msgid "Prefix" +msgstr "Prefiks:" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +#, fuzzy +msgid "Given" +msgstr "Dano:" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +#, fuzzy +msgid "Suffix" +msgstr "Sufiks:" + +#: gajim/data/gui/vcard_information_window.ui:958 +#, fuzzy +msgid "Name Details" +msgstr "Ime:" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "" + +#: gajim/data/gui/vcard_information_window.ui:1017 +msgid "Personal Info" +msgstr "Osobne Informacije" + +#: gajim/data/gui/vcard_information_window.ui:1040 +#, fuzzy +msgid "Company" +msgstr "Poduzeće:" + +#: gajim/data/gui/vcard_information_window.ui:1073 +#, fuzzy +msgid "Department" +msgstr "Odjel:" + +#: gajim/data/gui/vcard_information_window.ui:1104 +#, fuzzy +msgid "Position" +msgstr "Pozicija:" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "Uloga" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "O meni" + +#: gajim/data/gui/vcard_information_window.ui:1514 +msgid "Comments" +msgstr "Komentar" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "Izmjeni Grupe" + +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "Lozinka" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +#, fuzzy +msgid "Themes" +msgstr "Tema" + +#: gajim/data/gui/themes_window.ui:171 +#, fuzzy +msgid "Add Setting" +msgstr "Registracija nije uspijela" + +#: gajim/data/gui/themes_window.ui:204 +#, fuzzy +msgid "Add new Theme" +msgstr "Stvorite novi dopis" + +#: gajim/data/gui/themes_window.ui:219 +#, fuzzy +msgid "Remove Theme" +msgstr "Aktivno" + +#: gajim/data/gui/bookmarks.ui:120 +#, fuzzy +msgid "Autojoin" +msgstr "Automatsko spajanje" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "" + +#: gajim/data/gui/preferences.ui:68 +#, fuzzy +msgid "Contact List Appearance" +msgstr "Razmjena Artikla Sa Liste Kontakata" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +msgid "Chats" +msgstr "Razgovori" + +#: gajim/data/gui/preferences.ui:215 +#, fuzzy +msgid "Visual Notifications" +msgstr "Vizualne Obavijesti" + +#: gajim/data/gui/preferences.ui:243 +#, fuzzy +msgid "Sounds" +msgstr "Wav Zvuci" + +#: gajim/data/gui/preferences.ui:303 +#, fuzzy +msgid "Ask For Status Message on…" +msgstr "Zatraži statusnu poruku kada se:" + +#: gajim/data/gui/preferences.ui:331 +#, fuzzy +msgid "Automatic Status Change" +msgstr "Automatski status" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "" + +#: gajim/data/gui/preferences.ui:447 +#, fuzzy +msgid "Status Icon" +msgstr "Statusne _ikone:" + +#: gajim/data/gui/preferences.ui:472 +msgid "Style" +msgstr "Izgled" + +#: gajim/data/gui/preferences.ui:511 +#, fuzzy +msgid "Show _Features" +msgstr "Mogućnosti" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:632 +msgid "Audio" +msgstr "" + +#: gajim/data/gui/preferences.ui:660 +msgid "Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:698 +msgid "Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:735 +#, fuzzy +msgid "Miscellaneous" +msgstr "Ostalo" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:821 +#, fuzzy +msgid "Advanced Configuration Editor… " +msgstr "Napredni Uređivač Postavki" + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "" + +#: gajim/data/gui/server_info.ui:50 +#, fuzzy +msgid "Server Software" +msgstr "Mogućnosti Poslužitelja" + +#: gajim/data/gui/server_info.ui:80 +#, fuzzy +msgid "Server Uptime" +msgstr "Odgovor poslužitelja: %s" + +#: gajim/data/gui/server_info.ui:109 +#, fuzzy +msgid "Contact Addresses" +msgstr "Poruka:" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "" + +#: gajim/data/gui/server_info.ui:177 +#, fuzzy +msgid "Proxy Type" +msgstr "Proxy:" + +#: gajim/data/gui/server_info.ui:192 +#, fuzzy +msgid "No proxy used" +msgstr "Proxy:" + +#: gajim/data/gui/server_info.ui:202 +#, fuzzy +msgid "View _Certificate" +msgstr "Osobno potpisan certifikat" + +#: gajim/data/gui/server_info.ui:222 +#, fuzzy +msgid "Proxy Host" +msgstr "Proxy _Računalo:" + +#: gajim/data/gui/server_info.ui:421 +#, fuzzy +msgid "Copy info to clipboard" +msgstr "_Kopiraj Lokaciju Linka" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:153 +#, fuzzy +msgid "Serial Number" +msgstr "GG Broj:" + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:304 +msgid "Expires on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:465 +#, fuzzy +msgid "Copy Certificate Information" +msgstr "Informacije Kontakta" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "Pozovi Prijatelje!" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +#, fuzzy +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "" +"Započeti će te MUC razgovor.\n" +"Odaberite kontakte koje želite pozvati" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +#, fuzzy +msgid "Please select a group chat server." +msgstr "Molim odaberite MUC poslužitelj." + +#: gajim/data/gui/chat_to_muc_window.ui:141 +#, fuzzy +msgid "Group chat server" +msgstr "Grupni Razgovori" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +msgid "In_vite" +msgstr "Po_zovi" + +#: gajim/data/gui/mam_preferences.ui:53 +#, fuzzy +msgid "_Default" +msgstr "Predefinirano" + +#: gajim/data/gui/mam_preferences.ui:136 +#, fuzzy +msgid "Archive" +msgstr "Datoteka je prazna" + +#: gajim/data/gui/history_manager.ui:11 +#, fuzzy +msgid "_Export" +msgstr "Izvoz" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +msgid "Gajim History Logs Manager" +msgstr "Gajim Upravitelj Zapisima" + +#: gajim/data/gui/history_manager.ui:104 +#, fuzzy +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" +"Ovaj upravitelj spremljenih zapisa nije namjenjen za čitanje istih. Ukoliko " +"tražite takvu mogućnost koristite prozor za povijest razgovora (po " +"kontaktu).\n" +"\n" +"Koristite ovaj program za brisanje ili izvoz zapisa. Zapise izaberite u " +"lijevom stupcu a bazu možete pretraživati u formi ispod." + +#: gajim/data/gui/history_manager.ui:120 +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" +"UPOZORENJE:\n" +"Ako planirate raditi veća uklanjanja, osigurajte da Gajim nije pokrenut. " +"Općenito izbjegavajte uklanjanja vezana uz kontakte sa kojima trenutno " +"razgovarate." + +#: gajim/data/gui/history_manager.ui:211 +#, fuzzy +msgid "Search database..." +msgstr "_Pretraži Bazu Podataka" + +#: gajim/data/gui/history_manager.ui:226 +#, fuzzy +msgid "Search in database" +msgstr "_Pretraži Bazu Podataka" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" + +#: gajim/data/gui/groupchat_invite.ui:69 +#, fuzzy +msgid "Invitees" +msgstr "Po_zovi" + +#: gajim/data/gui/groupchat_invite.ui:153 +#, fuzzy +msgid "Search contacts..." +msgstr "_Pretraži Bazu Podataka" + +#: gajim/data/gui/groupchat_invite.ui:223 +#, fuzzy +msgid "Click on contacts you would like to invite to this group chat." +msgstr "%(nick)s je izbačen iz sobe (%(reason)s)" + +#: gajim/data/gui/service_discovery_window.ui:148 +#, fuzzy +msgid "Go" +msgstr "K_reni" + +#: gajim/data/gui/status_change_window.ui:27 +#, fuzzy +msgid "Change Status" +msgstr "Promjeni status" + +#: gajim/data/gui/status_change_window.ui:56 +#, fuzzy +msgid "Status Presets…" +msgstr "Statusna Poruka" + +#: gajim/data/gui/status_change_window.ui:72 +msgid "Save this message as a preset" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:130 +#, fuzzy +msgid "Ac_tivity" +msgstr "Aktivnost" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:278 +#, fuzzy +msgid "_Change Status" +msgstr "Promjeni status" + +#: gajim/data/gui/status_change_window.ui:313 +#, fuzzy +msgid "Activity" +msgstr "Aktivnost:" + +#: gajim/data/gui/status_change_window.ui:326 +#, fuzzy +msgid "_No Activity" +msgstr "Aktivnost:" + +#: gajim/data/gui/status_change_window.ui:729 +msgid "Mood" +msgstr "Raspoloženje" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +#, fuzzy +msgid "Author" +msgstr "_Odobri" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +#, fuzzy +msgid "Group Chat Language" +msgstr "Poziv na Grupni Razgovor" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +#, fuzzy +msgid "Copy Address" +msgstr "_Kopiraj JID/Email Adresu" + +#: gajim/data/gui/emoji_chooser.ui:98 +#, fuzzy +msgid "No Results Found" +msgstr "Nema rezultata" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr "XML Konzola" + +#: gajim/data/gui/xml_console.ui:131 +#, fuzzy +msgid "Start Search..." +msgstr "_Novi Razgovor..." + +#: gajim/data/gui/xml_console.ui:260 +#, fuzzy +msgid "Clear" +msgstr "Čistim" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "" + +#: gajim/data/gui/xml_console.ui:316 +#, fuzzy +msgid "Presets" +msgstr "_Prisutnost" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "Sinkroniziraj : označi kontakte" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +msgid "Select the contacts you want to synchronise" +msgstr "Označite kontakte sa kojima želite sinkronizirati" + +#: gajim/data/gui/groupchat_config.ui:51 +#, fuzzy +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" +"Može biti jedno od sljedećeg:\n" +"1. korisnik@domena/resurs (poklapa se samo sa tim resursom).\n" +"2. korisnik@domena (bilo koji resurs se poklapa).\n" +"3. domena/resurs (poklapa se samo sa tim resursom).\n" +"4. domena (sama domena se poklapa, kao i bilo koji korisnik@domena,\n" +"domena/resurs, ili adresa koja sadrži poddomenu)." + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:309 +#, fuzzy +msgid "Reserved Name" +msgstr "Ime Postavke" + +#: gajim/data/gui/groupchat_config.ui:346 +#, fuzzy +msgid "Affiliation" +msgstr "Pripadnost:" + +#: gajim/data/gui/groupchat_config.ui:377 +#, fuzzy +msgid "Affiliations" +msgstr "Aplikacije" + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "Razlog" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "Ban Lista" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "_Odbij" + +#: gajim/data/gui/subscription_request_window.ui:34 +#, fuzzy +msgid "_Block User" +msgstr "_Blokiraj" + +#: gajim/data/gui/subscription_request_window.ui:49 +#, fuzzy +msgid "_Report as Spam" +msgstr "_Prijavi Grešku" + +#: gajim/data/gui/subscription_request_window.ui:212 +#, fuzzy +msgid "_Deny…" +msgstr "_Odbij" + +#: gajim/data/gui/subscription_request_window.ui:225 +#, fuzzy +msgid "Ac_cept" +msgstr "Prihvati" + +#: gajim/data/gui/subscription_request_window.ui:230 +#, fuzzy +msgid "Allows the contact to see your online status" +msgstr "D_ozvoli njemu/njoj da vidi moj status" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:115 +#, fuzzy +msgid "_Report Bug" +msgstr "_Prijavi Grešku" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "Događaj" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "Odabir Zvuka" + +#: gajim/data/gui/manage_sounds.ui:97 +#, fuzzy +msgid "Clear Sound" +msgstr "Odabir Zvuka" + +#: gajim/data/gui/manage_sounds.ui:118 +#, fuzzy +msgid "Play Sound" +msgstr "Dozvoli _zvukove" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +#, fuzzy +msgid "_Send Files" +msgstr "Pošalji _Datoteku" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +#, fuzzy +msgid "Send" +msgstr "_Pošalji" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +#, fuzzy +msgid "Files to send" +msgstr "Odabir Datoteke za Slanje..." + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +#, fuzzy +msgid "Add Files" +msgstr "Datoteka: " + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +#, fuzzy +msgid "Remove Files" +msgstr "_Ukloni" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +#, fuzzy +msgid "Idle since:" +msgstr " od %s" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +msgid "Mood:" +msgstr "Raspoloženje:" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +msgid "Activity:" +msgstr "Aktivnost:" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +#, fuzzy +msgid "Tune:" +msgstr "Glazba:" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +#, fuzzy +msgid "Location:" +msgstr "Obavijest" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +msgid "Subscription:" +msgstr "Pretplata:" + +#: gajim/data/gui/advanced_configuration.ui:15 +#, fuzzy +msgid "A restart may be required for some settings to take effect" +msgstr "" +"NAPOMENA: Trebali bi ste ponovno pokrenuti gajim da bi neke postavke " +"postale aktivne" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "" + +#: gajim/data/gui/advanced_configuration.ui:120 +#, fuzzy +msgid "_Reset Value" +msgstr "_Vrati predefinirane boje" + +#: gajim/data/gui/advanced_configuration.ui:125 +#, fuzzy +msgid "Resets value to default" +msgstr "_Vrati predefinirane boje" + +#: gajim/data/gui/history_window.ui:27 +#, fuzzy +msgid "Display status changes" +msgstr "_Pamti promjene statusa kontakata" + +#: gajim/data/gui/history_window.ui:57 +msgid "History Manager" +msgstr "Upravitelj Zapisima" + +#: gajim/data/gui/history_window.ui:233 +#, fuzzy +msgid "Mode" +msgstr "Moderator" + +#: gajim/data/gui/history_window.ui:246 +#, fuzzy +msgid "Search complete history" +msgstr "Nedavno:" + +#: gajim/data/gui/history_window.ui:263 +msgid "Search selected day only" +msgstr "" + +#: gajim/data/gui/history_window.ui:317 +#, fuzzy +msgid "Store history for this chat" +msgstr "Ignoriraj ovu grešku za ovaj certifikat." + +#: gajim/data/gui/history_window.ui:332 +#, fuzzy +msgid "Store History" +msgstr "Nedavno:" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +#, fuzzy +msgid "Identified Error" +msgstr "Greška SSL certifikata" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +#, fuzzy +msgid "" +msgstr "Greška" + +#: gajim/data/gui/ssl_error_dialog.ui:74 +#, fuzzy +msgid "Add this certificate to the list of _trusted certificates" +msgstr "" +"Dodaj ovaj certifikat na listu povjerljivih certifikata.\n" +"SHA1 potpis certifikata:\n" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +#, fuzzy +msgid "_View Certificate" +msgstr "Osobno potpisan certifikat" + +#: gajim/data/gui/ssl_error_dialog.ui:120 +#, fuzzy +msgid "_Connect" +msgstr "Spojen" + +#: data/org.gajim.Gajim.desktop.in:5 +#, fuzzy +msgid "XMPP Chat Client" +msgstr "Jabber IM Klijent" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:8 +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:27 +#, fuzzy +msgid "Show next pending event" +msgstr "Prikaži Sve _Događaje na Čekanju" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:17 +#, fuzzy +msgid "Features:" +msgstr "Mogućnosti" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +#, fuzzy +msgid "Automatic spell-checking for your messages" +msgstr "Provjera pravopisa napisanih poruka." + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +#, fuzzy +msgid "Support for service discovery including nodes and search for users" +msgstr "Otkrivanje Usluga koristeći račun %s" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +#, fuzzy +msgid "Contact list" +msgstr "Kontakti" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +#, fuzzy +msgid "Group chat support" +msgstr "Grupni Razgovori" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +#, fuzzy +msgid "Chat history" +msgstr "Nedavno:" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +#, fuzzy +msgid "Plugin manager" +msgstr "Registracija nije uspijela" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +#, fuzzy +msgid "Gajim Team" +msgstr "gajim-remote" + +#, fuzzy +#~ msgid "Chat Settings" +#~ msgstr "Registracija nije uspijela" + +#, fuzzy, python-format +#~ msgid "%i day" +#~ msgid_plural "%i days" +#~ msgstr[0] "Prije %i dana" +#~ msgstr[1] "Prije %i dana" +#~ msgstr[2] "Prije %i dana" + +#, fuzzy +#~ msgid "Composing only" +#~ msgstr "Pisanje" + +#, fuzzy +#~ msgid "All chat states" +#~ msgstr "Svi statusi" + +#~ msgid "Privacy Lists" +#~ msgstr "Liste Privatnosti" + +#, fuzzy +#~ msgid "Unblock" +#~ msgstr "_Odblokiraj" + +#, fuzzy +#~ msgid "Block" +#~ msgstr "_Blokiraj" + +#~ msgid "None" +#~ msgstr "Ništa" + +#, python-format +#~ msgid "%s Status Message" +#~ msgstr "%s Statusna Poruka" + +#~ msgid "Could not load image" +#~ msgstr "Nemogu učitati sliku" + +#~ msgid "Error." +#~ msgstr "Greška." + +#, fuzzy +#~ msgid "" +#~ "This contact will see you offline and you will not receive any messages " +#~ "sent to you by this contact." +#~ msgstr "" +#~ "Uvijek će te biti nedostupni za ovaj kontakt, i poruke koje pošalje " +#~ "nećete primiti." + +#, fuzzy +#~ msgid "_Block Contact" +#~ msgstr "Blokirani Kontakti" + +#, fuzzy +#~ msgid "Block Group" +#~ msgstr "_Blokiraj" + +#, fuzzy +#~ msgid "Really block this group?" +#~ msgstr "Je li OpenPGP omogućen za ovog kontakta?" + +#, fuzzy +#~ msgid "" +#~ "All contacts of this group will see you as offline and you will not " +#~ "receive any messages sent to you by any one of these contacts." +#~ msgstr "" +#~ "Uvijek će te biti nedostupni za ovaj kontakt, i poruke koje pošalje " +#~ "nećete primiti." + +#, fuzzy +#~ msgid "_Block Group" +#~ msgstr "_Blokiraj" + +#~ msgid "No account available" +#~ msgstr "Nema dostupnih računa" + +#~ msgid "You must create an account before you can chat with other contacts." +#~ msgstr "" +#~ "Morate stvoriti račun prije nego što možete razgovarati sa drugim " +#~ "kontaktima." + +#~ msgid "Metacontacts storage not supported by your server" +#~ msgstr "Spremanje metakontakata nije podržano na vašem poslužitelju" + +#, fuzzy +#~ msgid "" +#~ "Your server does not support storing metacontacts information. So this " +#~ "information will not be saved on next reconnection." +#~ msgstr "" +#~ "Vaš poslužitelj ne podržava spremanje informacija metakontakata. Te " +#~ "informacije neće biti spremljene kod sljedećeg spajanja." + +#, fuzzy, python-brace-format +#~ msgid "You are invited to {room} by {user}" +#~ msgstr "Pozvani ste na grupni razgovor" + +#, fuzzy, python-format +#~ msgid "%s wants to start a voice chat." +#~ msgstr "%s vam želi poslati datoteku." + +#~ msgid "Could not save your settings and preferences" +#~ msgstr "Nije moguće spremanje vaših postavki" + +#, fuzzy +#~ msgid "Error While Removing Privacy List" +#~ msgstr "Greška prilikom brisanja liste privatnosti" + +#, fuzzy, python-format +#~ msgid "" +#~ "Privacy list %s has not been removed. It is probably active in one of " +#~ "your connected resources. Please deactivate it and try again." +#~ msgstr "" +#~ "Lista privatnosti %s nije uklonjena. Možda je aktivna u nekom od vaših " +#~ "spojenih resursa. Obustavite ju i pokušajte ponovno." + +#, fuzzy +#~ msgid "Invisibility Not Supported" +#~ msgstr "Nevidljivost nije podržana" + +#, fuzzy, python-format +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "Račun %s ne podržava nevidljivost." + +#, fuzzy +#~ msgid "Could not request upload slot for HTTP File Upload" +#~ msgstr "Nije moguće pokrenuti lokalnu uslugu" + +#, fuzzy +#~ msgid "Not Secure" +#~ msgstr "Nije početo" + +#, fuzzy +#~ msgid "Could not Upload File" +#~ msgstr "Nemogu učitati sliku" + +#, fuzzy +#~ msgid "Encryption Error" +#~ msgstr "Enkripcija omogućena" + +#~ msgid "Lists all preferences and their values" +#~ msgstr "Prikatuje sve postavke i njihove vrijednosti" + +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "Postavlja vrijednost 'ključa' na 'vrijednost'." + +#~ msgid "key=value" +#~ msgstr "ključ=vrijednost" + +#, fuzzy +#~ msgid "'key' is the name of the preference, 'value' is what to set it to" +#~ msgstr "" +#~ "'ključ' je ime postavke, 'vrijednost' je vrijednost na koju će se " +#~ "postaviti" + +#~ msgid "Deletes a preference item" +#~ msgstr "Briše element postavke" + +#~ msgid "key" +#~ msgstr "ključ" + +#~ msgid "name of the preference to be deleted" +#~ msgstr "ime postavke koja će se brisati" + +#~ msgid "Writes the current state of Gajim preferences to the .config file" +#~ msgstr "Zapisuje trenutno stanje Gajim postavku u .config datoteku" + +#, python-format +#~ msgid "%s is a directory but should be a file" +#~ msgstr "%s je direktorij ali bi trebao biti datoteka" + +#, fuzzy, python-format +#~ msgid "Creating %s" +#~ msgstr "Uništavam %s" + +#, python-format +#~ msgid "%(nickname)s Signed In" +#~ msgstr "%(nickname)s Se Prijavio" + +#~ msgid "Contact Signed In" +#~ msgstr "Kontakt Se Prijavio" + +#, python-format +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "%(nickname)s Se Odjavio" + +#~ msgid "Contact Signed Out" +#~ msgstr "Kontakt Se Odjavio" + +#, fuzzy +#~ msgid "" +#~ "Show desktop notification even when a chat window is opened for this " +#~ "contact and does not have focus." +#~ msgstr "Dozvoli obavijesti kada sam _odsutan/nedostupan/zauzet/nevidljiv" + +#~ msgid "default" +#~ msgstr "predefinirano" + +#, fuzzy +#~ msgid "" +#~ "Character to propose to add after desired nickname when nickname is " +#~ "already used in group chat." +#~ msgstr "" +#~ "Znak koji treba pokušati dodati željenom nadimku ukoliko netko u grupnom " +#~ "razgovoru već koristi željeni nadimak" + +#, fuzzy +#~ msgid "" +#~ "How many seconds to wait before trying to automatically rejoin a group " +#~ "chat you were disconnected from. Set to 0 to disable automatic rejoining." +#~ msgstr "" +#~ "Koliko sekundi čekati za ponovni pokušaj pridruživanja konferenciji sa " +#~ "koje ste isključeni. Postavite na 0 da bi onemogućili automatsko " +#~ "pridruživanje." + +#, fuzzy +#~ msgid "If enabled, Gajim displays the avatar in the chat window." +#~ msgstr "Ako je Neaktivno, nećete više vidjeti avatar u prozoru razgovora." + +#, fuzzy +#~ msgid "" +#~ "Status to be used automatically when connecting. Can be 'online', 'chat', " +#~ "'away', 'xa' or 'dnd'. NOTE: This option is used only if " +#~ "'restore_last_status' is disabled." +#~ msgstr "" +#~ "Status koji se koristi za automatsko spajanje. Može biti povezan, " +#~ "razgovor, odsutan, produženo nedostupan, ne uznemiravaj, nevidljivd. " +#~ "PRIMJEDBA: ova postavka se koristi samo ako je restore_last_status " +#~ "onemogućen." + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending password on an plaintext connection. " +#~ "Can be 'warn', or 'none'." +#~ msgstr "" +#~ "Prikaži dijalog sa upozorenjem prije slanja lozinke preko nezaštićene " +#~ "veze." + +#, fuzzy +#~ msgid "" +#~ "How many seconds to wait for the answer of a ping alive packet before " +#~ "trying to reconnect." +#~ msgstr "" +#~ "Koliko sekundi čekati odgovor ping alive paketa prije nego pokušamo " +#~ "ponovno spajanje." + +#~ msgid "I'm available." +#~ msgstr "Dostupan sam." + +#~ msgid "I'm free for chat." +#~ msgstr "Slobodan sam za razgovor." + +#~ msgid "Be right back." +#~ msgstr "Odmah se vraćam." + +#~ msgid "I'm not available." +#~ msgstr "Nedostupan sam." + +#~ msgid "Do not disturb." +#~ msgstr "Ne uznemiravaj." + +#~ msgid "Bye!" +#~ msgstr "Pozdrav!" + +#~ msgid "Timeout loading image" +#~ msgstr "Vrijeme isteklo kod učitavanja slike" + +#~ msgid "Image is too big" +#~ msgstr "Slika je prevelika" + +#, fuzzy +#~ msgid "PyCURL is not installed" +#~ msgstr "CRL nije još ispravan" + +#, fuzzy +#~ msgid "Error loading image" +#~ msgstr "Vrijeme isteklo kod učitavanja slike" + +#~ msgid "Blocked Contacts" +#~ msgstr "Blokirani Kontakti" + +#, fuzzy +#~ msgid "Group chat" +#~ msgstr "Grupni Razgovori" + +#, fuzzy +#~ msgid "Bookmark group chat" +#~ msgstr "Postavi knjižnu oznaku za sobu" + +#, fuzzy +#~ msgid "Bookmark" +#~ msgstr "_Postavi Oznaku" + +#, fuzzy +#~ msgid "Recently used group chats" +#~ msgstr "u _grupnim razgovorima" + +#, fuzzy +#~ msgid "Clear Avatar" +#~ msgstr "Korisnički Avatar:" + +#, fuzzy +#~ msgid "Set Avatar…" +#~ msgstr "Odabir Slike" + +#, fuzzy +#~ msgid "Contact" +#~ msgstr "Vrijeme kontakta:" + +#, fuzzy +#~ msgid "_Leave Group Chat" +#~ msgstr "Novi Grupni Razgovor" + +#, fuzzy +#~ msgid "Enter a new name for this group chat" +#~ msgstr "Unesite novo ime za grupu %s" + +#, fuzzy +#~ msgid "Use default applications" +#~ msgstr "Uvijek koristi OS/X predefinirane aplikacije" + +#~ msgid "Custom" +#~ msgstr "Osobni" + +#, fuzzy +#~ msgid "Pop it up" +#~ msgstr "_Iskoči ga" + +#, fuzzy +#~ msgid "Notify me about it" +#~ msgstr "_Obavijesti me o tome" + +#, fuzzy +#~ msgid "Show only in contact list" +#~ msgstr "Prikaži Samo _Aktivne Kontakte" + +#, fuzzy +#~ msgid "No status messages" +#~ msgstr "statusna poruka" + +#, fuzzy +#~ msgid "All status messages" +#~ msgstr "statusna poruka" + +#, fuzzy +#~ msgid "Only enter/leave messages" +#~ msgstr "Imte nepročitane poruke" + +#, fuzzy +#~ msgid "Me_rge accounts" +#~ msgstr "_Spoji račune" + +#, fuzzy +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "Prikaži a_vatare kontakata na listi" + +#, fuzzy +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "" +#~ "Ako je označeno, Gajim će prikazivati avatare kontakata u listi kontakata " +#~ "i u grupnim razgovorima" + +#, fuzzy +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "Prikaži statusne _poruke kontakata na listi" + +#, fuzzy +#~ msgid "" +#~ "If checked, status messages of contacts will be shown under the contact's " +#~ "name, in the contact list window, and in group chats" +#~ msgstr "" +#~ "Ako je označeno, Gajim će prikazivati statusne poruke kontakata ispod " +#~ "imena kontakta u listi kontakata i u grupnim razgovorima" + +#, fuzzy +#~ msgid "" +#~ "Show e_xtra information of contacts in contact list (mood, activity, ...)" +#~ msgstr "Prikaži _raspoloženje kontakata na listi" + +#, fuzzy +#~ msgid "in _contact list" +#~ msgstr "Poslani kontakti:" + +#~ msgid "in _group chats" +#~ msgstr "u _grupnim razgovorima" + +#, fuzzy +#~ msgid "Enable spell _checking" +#~ msgstr "Provjera Pravopisa" + +#, fuzzy +#~ msgid "" +#~ "If checked, spelling errors in input fields of chat windows will be " +#~ "highlighted. If no language is explicitly set via right click on the " +#~ "input field, the default language will be used for this contact or group " +#~ "chat. Needs gspell to be installed." +#~ msgstr "" +#~ "Ako je označeno, Gajim će označavati pravopisne pogreške u poljima za " +#~ "unos teksta prozora za razgovor. Ako niti jedan jezik nije izričito " +#~ "naveden desnim klikom miša na polje za unos teksta, zadani jezik će se " +#~ "koristiti za dani kontakt ili grupni razgovor." + +#, fuzzy +#~ msgid "Display status messages in _single chats" +#~ msgstr "Prikaži statusne _poruke kontakata na listi" + +#, fuzzy +#~ msgid "" +#~ "If checked, status lines will be shown in 1 on 1 chats when a contact " +#~ "changes their status or status message" +#~ msgstr "" +#~ "Ako je Neaktivno, više nećete vidjeti statusnu poruku u razgovorima, kada " +#~ "kontakt promjeni svoj status i/ili statusnu poruku." + +#, fuzzy +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "Nije moguće pridružiti se grupnom razgovoru" + +#, fuzzy +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "Nije moguće pridružiti se grupnom razgovoru" + +#, fuzzy +#~ msgid "Show status changes (Default)" +#~ msgstr "_Pamti promjene statusa kontakata" + +#, fuzzy +#~ msgid "" +#~ "If checked, the tab will be colored according to the current chatstate of " +#~ "the contact" +#~ msgstr "" +#~ "Ako je označeno, Gajim će dopustiti drugima da vide koji operativni " +#~ "sustav koristite" + +#, fuzzy +#~ msgid "" +#~ "If checked, a description of the contacts current chatstate is shown in " +#~ "the banner" +#~ msgstr "" +#~ "Ako je označeno, Gajim će dopustiti drugima da vide koji operativni " +#~ "sustav koristite" + +#, fuzzy +#~ msgid "Chatstate" +#~ msgstr "Zadnji status: %s" + +#, fuzzy +#~ msgid "_When new event is received" +#~ msgstr "Kod novih događaja:" + +#, fuzzy +#~ msgid "Show popups/notifications when a chat window is already _open" +#~ msgstr "Dozvoli obavijesti kada sam _odsutan/nedostupan/zauzet/nevidljiv" + +#, fuzzy +#~ msgid "Allow popups/notifications when I'm _away, not available or busy" +#~ msgstr "Dozvoli obavijesti kada sam _odsutan/nedostupan/zauzet/nevidljiv" + +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "Obavijesti me o kontaktima koji se _prijave" + +#, fuzzy +#~ msgid "" +#~ "A popup window about contacts that just signed in will be shown in the " +#~ "bottom right of the screen " +#~ msgstr "" +#~ "Gajim će vas obavijestiti o novim događajima sa popup prozorom u donjem " +#~ "desnom kutu ekrana" + +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "Obavijesti me o kontaktima koji se _odjave" + +#~ msgid "Play _sounds" +#~ msgstr "Dozvoli _zvukove" + +#~ msgid "Ma_nage..." +#~ msgstr "Izmje_ni..." + +#, fuzzy +#~ msgid "Allow playing sounds when I'm _busy" +#~ msgstr "Dozvoli zvuk kada sam _zauzet" + +#, fuzzy +#~ msgid "No_t Available" +#~ msgstr "Nedostupan" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Not Available when the computer " +#~ "has not been used for the specified time" +#~ msgstr "" +#~ "Ako je označeno, Gajim će promjeniti status u Nedostupan kad se računalo " +#~ "ne koristi još duže." + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Away when the computer has not " +#~ "been used for the specified time" +#~ msgstr "" +#~ "Ako je označeno, Gajim će promjeniti status u Nedostupan kad se računalo " +#~ "ne koristi još duže." + +#, fuzzy +#~ msgid "" +#~ "The automatic away status message. If empty, the current status message " +#~ "will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-away timeout." +#~ msgstr "" +#~ "Statusna poruka kod automatske odsutnosti. Ukoliko je prazno Gajim neće " +#~ "promjeniti trenutnu statusnu poruku\n" +#~ "$S će biti zamjenjen sa prijašnjom porukom$T će biti zamjenjen sa auto-" +#~ "away vremenskim ograničenjem" + +#, fuzzy +#~ msgid "" +#~ "The automatic not available status message. If empty, the current status " +#~ "message will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-not-available timeout." +#~ msgstr "" +#~ "Statusna poruka kod automatske nedostupnosti. Ukoliko je prazno Gajim " +#~ "neće promjeniti trenutnu statusnu poruku\n" +#~ "$S će biti zamjenjen sa prijašnjom porukom\n" +#~ "$T će biti zamjenjen sa auto-not-available vremenskim ograničenjem" + +#, fuzzy +#~ msgid "Minutes" +#~ msgstr "minuta" + +#~ msgid "" +#~ "If enabled, Gajim will not ask for a status message. The specified " +#~ "default message will be used instead." +#~ msgstr "" +#~ "Ako je označeno, Gajim neće pitati za statusnu poruku. Koristit će se " +#~ "odabrana predefinirana poruka." + +#~ msgid "Default Message" +#~ msgstr "Predefinirana Poruka" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "Statusna Poruka" + +#, fuzzy +#~ msgid "Preset Status Messages" +#~ msgstr "Predefinirane Statusne Poruke" + +#, fuzzy +#~ msgid "_Theme" +#~ msgstr "Tema" + +#~ msgid "Configure color and font of the interface" +#~ msgstr "Postavi boje i font sučelja" + +#, fuzzy +#~ msgid "" +#~ "If checked, protocol-specific status icons will be used (e.g. a contact " +#~ "from ICQ will have the equivalent ICQ icon for status online, away, busy, " +#~ "etc...)" +#~ msgstr "" +#~ "Ako je označeno, Gajim će koristiti statusne ikone specifične za " +#~ "protokol. (npr. kontakt sa MSN-a će imati msn statusne ikone)" + +#~ msgid "_Manage..." +#~ msgstr "_Uredi..." + +#, fuzzy +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "_Pamti promjene statusa kontakata" + +#, fuzzy +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "Ako je označeno, Gajim će pamtiti lozinku za ovaj račun" + +#~ msgid "_Open..." +#~ msgstr "_Otvori..." + +#, fuzzy +#~ msgid "_Filter" +#~ msgstr "_Filter:" + +#, fuzzy +#~ msgid "Protocol" +#~ msgstr "_Protokol:" + +#~ msgid "Privacy Lists:" +#~ msgstr "Liste Privatnosti:" + +#, fuzzy +#~ msgid "_Ignore this error for this certificate" +#~ msgstr "Ignoriraj ovu grešku za ovaj certifikat." + +#, fuzzy +#~ msgid "Message..." +#~ msgstr "Poruka" + +#, fuzzy +#~ msgid "Preset _messages" +#~ msgstr "Predefinirane poruke:" + +#, fuzzy +#~ msgid "_Type your new status message" +#~ msgstr "Upišite vašu novu statusnu poruku" + +#, fuzzy +#~ msgid "Change Status Message…" +#~ msgstr "_Izmjena Statusne Poruke" + +#~ msgid "Mood:" +#~ msgstr "Raspoloženje:" + +#~ msgid "Message:" +#~ msgstr "Poruka:" + +#, fuzzy +#~ msgid "none" +#~ msgstr "jedan" + +#, fuzzy +#~ msgid "both" +#~ msgstr "Oboje" + +#, fuzzy +#~ msgid "from" +#~ msgstr "Od" + +#, fuzzy +#~ msgid "to" +#~ msgstr "dva" + +#~ msgid "Privacy List" +#~ msgstr "Lista Privatnosti" + +#~ msgid "Privacy List" +#~ msgstr "Lista Privatnosti" + +#~ msgid "Active for this session" +#~ msgstr "Aktivno za ovu sesiju" + +#~ msgid "Active on each startup" +#~ msgstr "Aktivno pri svakom pokretanju" + +#~ msgid "List of rules" +#~ msgstr "Lista pravila" + +#~ msgid "Add / Edit a rule" +#~ msgstr "Dodaj / Izmjeni pravilo" + +#~ msgid "Allow" +#~ msgstr "Dozvoli" + +#~ msgid "Deny" +#~ msgstr "Odbij" + +#~ msgid "all in the group" +#~ msgstr "sve u grupi" + +#~ msgid "all by subscription" +#~ msgstr "sve prema pretplati" + +#~ msgid "All" +#~ msgstr "Svi" + +#~ msgid "to send me messages" +#~ msgstr "da mi šalje poruke" + +#~ msgid "to send me queries" +#~ msgstr "da mi šalje upite" + +#~ msgid "to view my status" +#~ msgstr "da vidi moj status" + +#~ msgid "to send me status" +#~ msgstr "da mi prikaže status" + +#~ msgid "All (including subscription)" +#~ msgstr "Sve (uključujući pretplatu)" + +#~ msgid "Order:" +#~ msgstr "Poredak:" + +#, fuzzy +#~ msgid "" +#~ "Deny authorization from contact so the contact cannot know if you are " +#~ "connected" +#~ msgstr "" +#~ "Odbija autorizaciju kontaktu kako nebi mogao vidjeti kada ste spojeni" + +#, fuzzy +#~ msgid "Authorize contact so the contact can know if you are connected" +#~ msgstr "Dozvoli kontaktu da može vidjeti kada sam spojen" + +#, fuzzy +#~ msgid "Contact List Shortcuts" +#~ msgstr "Razmjena Artikla Sa Liste Kontakata" + +#~ msgid "Fill in the form." +#~ msgstr "Ispunite formular." + +#~ msgid "Set an activity" +#~ msgstr "Postavi aktivnost" + +#~ msgid "Message: " +#~ msgstr "Poruka:" + +#, fuzzy, python-format +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "Pozvali ste %(contact_jid)s na %(room_jid)s" + +#, fuzzy +#~ msgid "Group Chat Invitation " +#~ msgstr "Poziv na Grupni Razgovor" + +#, python-format +#~ msgid "Comment: %s" +#~ msgstr "Komentar: %s" + +#, fuzzy +#~ msgid "Off" +#~ msgstr "Odspojen" + +#, fuzzy +#~ msgid "Retrieving profile…" +#~ msgstr "Dohvaćam profil..." + +#, fuzzy +#~ msgid "Wrong date format" +#~ msgstr "Informacije Kontakta" + +#, fuzzy +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "Format: GGGG-MM-DD" + +#~ msgid "Information received" +#~ msgstr "Primljene informacije" + +#, fuzzy +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "Bez veze ne možete objaviti informacije o sebi" + +#, fuzzy +#~ msgid "Sending profile…" +#~ msgstr "Šaljem profil..." + +#~ msgid "Information NOT published" +#~ msgstr "Informacije NISU objavljene" + +#~ msgid "vCard publication failed" +#~ msgstr "Objava vCard neuspješna" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "" +#~ "Nastala je greška prilikom objavljivanja vaših osobnih podataka, " +#~ "pokušajte ponovno kasnije." + +#, fuzzy +#~ msgid "?password:Hidden" +#~ msgstr "Lozinka:" + +#, python-format +#~ msgid "Privacy List %s" +#~ msgstr "Lista Privatnosti %s" + +#, python-format +#~ msgid "Privacy List for %s" +#~ msgstr "Lista Privatnosti za %s" + +#, python-format +#~ msgid "" +#~ "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" +#~ msgstr "" +#~ "Redoslijed: %(order)s, akcija: %(action)s, tip: %(type)s, vrijednost: " +#~ "%(value)s" + +#, python-format +#~ msgid "Order: %(order)s, action: %(action)s" +#~ msgstr "Redosljed: %(order)s, akcija: %(action)s" + +#~ msgid "Edit a rule" +#~ msgstr "Izmjena pravila" + +#~ msgid "Add a rule" +#~ msgstr "Dodaj pravilo" + +#, python-format +#~ msgid "Privacy Lists for %s" +#~ msgstr "Liste Privatnosti za %s" + +#~ msgid "Invalid List Name" +#~ msgstr "Neispravno Ime Liste" + +#~ msgid "You must enter a name to create a privacy list." +#~ msgstr "Morate unesti ime za stvaranje liste privatnosti." + +#, fuzzy +#~ msgid "Loading" +#~ msgstr "Programiram" + +#~ msgid "status message title" +#~ msgstr "naslov statusne poruke" + +#~ msgid "status message text" +#~ msgstr "tekst statusne poruke" + +#, fuzzy +#~ msgid "Start New Conversation" +#~ msgstr "Nastavljeni razgovor" + +#~ msgid "Unknown SSL error: %d" +#~ msgstr "Nepoznata SSL greška: %d" + +#~ msgid "Gajim - %s" +#~ msgstr "Gajim - %s" + +#~ msgid "Choose interval between 2 checks of idleness." +#~ msgstr "Izaberi interval između dvije provjere nezaposlenosti." + +#, fuzzy +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "Riječnik za jezik %s nije dostupan" + +#, fuzzy +#~ msgid "" +#~ "You have to install the dictionary \"%s\" to use spellchecking, or choose " +#~ "another language by setting the speller_language option.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "Morate instalirati %s rječnik kako bi ste mogli koristiti provjeru " +#~ "pravopisa, ili odaberite drugi jezik postavkom odabira speller_language " +#~ "opcije." + +#~ msgid "_Reconnect" +#~ msgstr "_Ponovno spajanje" + +#, fuzzy +#~ msgid "Quit" +#~ msgstr "_Izlaz" + +#, fuzzy +#~ msgid "Show Contact List" +#~ msgstr "Prikaži Samo _Aktivne Kontakte" + +#, fuzzy +#~ msgid "Add to Contact List" +#~ msgstr "_Dodaj Kontakt..." + +#, fuzzy +#~ msgid "Invite Contact" +#~ msgstr "Pozovi _Kontakte" + +#, fuzzy +#~ msgid "Configure Group Chat" +#~ msgstr "Novi Grupni Razgovor" + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." +#~ msgstr "" +#~ "Ako je Aktivno, Gajim će prikazvati ikonu na svakoj kartici koja sadrži " +#~ "nepročitane poruke. Ovisno o temi, ikona može biti i animirana." + +#~ msgid "Invalid character in hostname." +#~ msgstr "Neispravan znak u imenu računala." + +#~ msgid "Server address required." +#~ msgstr "Potrebna je adresa poslužitelja." + +#~ msgid "Invalid character in username." +#~ msgstr "Neispravan znak u korisničkom imenu." + +#~ msgid "Invalid character in resource." +#~ msgstr "Neispravan znak u resursu." + +#, fuzzy +#~ msgid "Notification color for contacts signing in." +#~ msgstr "Obavijesti me o kontaktima koji se _prijave" + +#, fuzzy +#~ msgid "Notification color for contacts signing out." +#~ msgstr "Obavijesti me o kontaktima koji se _odjave" + +#, fuzzy +#~ msgid "Notification color for new message notification." +#~ msgstr "Pregled novih poruka kao obavijest u iskočnom prozoru?" + +#, fuzzy +#~ msgid "Notification color for file transfer request." +#~ msgstr "_Obavijesti me kada se završi prijenos datoteka" + +#, fuzzy +#~ msgid "Notification color for file transfer errors." +#~ msgstr "_Obavijesti me kada se završi prijenos datoteka" + +#, fuzzy +#~ msgid "Notification background color for changed status." +#~ msgstr "Boja pozadine kontakata u trenu prijave." + +#, fuzzy +#~ msgid "Event Type" +#~ msgstr "Događaj" + +#, fuzzy +#~ msgid "Event desc" +#~ msgstr "Događaji" + +#, fuzzy +#~ msgid "No response from the Server" +#~ msgstr "Niste spojeni na poslužitelj." + +#~ msgid "Resource Conflict" +#~ msgstr "Konflikt Resursa" + +#, fuzzy +#~ msgid "" +#~ "You are already connected to this account with the same resource. Please " +#~ "enter a different one." +#~ msgstr "" +#~ "Već ste spojeni na ovaj račun sa istim resursom. Molim unesite novi." + +#, fuzzy +#~ msgid "Unable to load image" +#~ msgstr "Nije moguće učitati modul idle" + +#, fuzzy +#~ msgid "Media type not supported: %s" +#~ msgstr "Nevidljivost nije podržana" + +#~ msgid "new@jabber.id" +#~ msgstr "novi@jabber.id" + +#~ msgid "new%d@jabber.id" +#~ msgstr "novi%d@jabber.id" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Gajim: Čarobnjak za Stvaranje Računa" + +#, fuzzy +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "Morate imati račun kako bi se mogli spojiti\n" +#~ "na Jabber mrežu." + +#~ msgid "I already have an account I want to _use" +#~ msgstr "Već imam račun koji želim _koristiti" + +#~ msgid "I want to _register for a new account" +#~ msgstr "Želim se _registrirati novi račun" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "Molim odaberite jednu od opcija ispod:" + +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "Molim popunite podatke za vaš postojeći korisnički račun" + +#, fuzzy +#~ msgid "_XMPP Address:" +#~ msgstr "AIM Adresa:" + +#~ msgid "Anon_ymous authentication" +#~ msgstr "Anon_imna autentifikacija" + +#~ msgid "_Password:" +#~ msgstr "_Lozinka:" + +#~ msgid "Save pass_word" +#~ msgstr "Snimi lo_zinku" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "Ako je označeno, Gajim će pamtiti lozinku za ovaj račun" + +#~ msgid "Please select a server" +#~ msgstr "Molim odaberite poslužitelj" + +#~ msgid "_Server:" +#~ msgstr "_Poslužitelj:" + +#~ msgid "Manage..." +#~ msgstr "Uredi..." + +#~ msgid "_Port:" +#~ msgstr "_Port:" + +#~ msgid "_Advanced" +#~ msgstr "_Napredno" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA1 fingerprint of the certificate:\n" +#~ msgstr "" +#~ "Dodaj ovaj certifikat na listu povjerljivih certifikata.\n" +#~ "SHA1 potpis certifikata:\n" + +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "Povezivanje na poslužitelj\n" +#~ "\n" +#~ "Molim pričekajte..." + +#~ msgid "Connect when I press Finish" +#~ msgstr "Spoji se kada pritisnem Završi" + +#~ msgid "Set my profile when I connect" +#~ msgstr "Postavi moj profil pri spajanju" + +#~ msgid "_Finish" +#~ msgstr "_Završi" + +#~ msgid "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." +#~ msgstr "" +#~ "Napredne opcije računa možete urediti pritiskom na gumb Napredno, ili " +#~ "kasnije klikom na Korisnički Računi u izborniku Uredi glavnog prozora." + +#~ msgid "Your new account has been created successfully" +#~ msgstr "Vaš novi račun je uspješno stvoren" + +#~ msgid "Invalid username" +#~ msgstr "Neispravno korisničko ime" + +#~ msgid "You must provide a username to configure this account." +#~ msgstr "Morate ponuditi korisničko ime za postavke ovog računa." + +#~ msgid "Invalid server" +#~ msgstr "Neispravan poslužitelj" + +#~ msgid "Please provide a server on which you want to register." +#~ msgstr "Molimo specificirajte poslužitelj na koji se želite registrirati." + +#~ msgid "Invalid entry" +#~ msgstr "Neispravan unos" + +#~ msgid "Certificate Already in File" +#~ msgstr "Certifikat je već na listi" + +#~ msgid "This certificate is already in file %s, so it's not added again." +#~ msgstr "Ovaj certifikat je već u datoteci %s, neće biti ponovno dodan." + +#~ msgid "" +#~ "Security Warning\n" +#~ "\n" +#~ "The authenticity of the %(hostname)s SSL certificate could be invalid.\n" +#~ "SSL Error: %(error)s\n" +#~ "Do you still want to connect to this server?" +#~ msgstr "" +#~ "Sigurnosno Upozorenje\n" +#~ "\n" +#~ "Autentičnost %(hostname)s SSL certifikata može biti neispravna.\n" +#~ "SSL Greška: %(error)s\n" +#~ "Još uvijek se želite povezati na ovaj poslužitelj?" + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA-256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Dodaj ovaj certifikat na popis vjerodostojnih certifikata.\n" +#~ "SHA1 otisak certifikata:\n" +#~ "%s" + +#~ msgid "Account name is in use" +#~ msgstr "Ime računa se već koristi" + +#~ msgid "You already have an account using this name." +#~ msgstr "Već imate račun pod tim imenom." + +#~ msgid "Show a warning dialog before using standard SSL library." +#~ msgstr "" +#~ "Prikaži dijalog sa upozorenjem prije korištenja standardne SSL biblioteke." + +#, fuzzy +#~ msgid "If enabled, a whitespace is sent after inactivity (keep alive)." +#~ msgstr "Razmak poslan nakon neaktivnosti" + +#, fuzzy +#~ msgid "If enabled, an XMPP ping is sent after inactivity (ping alive)." +#~ msgstr "XMPP ping poslan nakon neaktivnosti" + +#~ msgid "Connection with account \"%s\" has been lost" +#~ msgstr "Veza sa računom \"%s\" je izgubljena" + +#~ msgid "Reconnect manually." +#~ msgstr "Ponovo se spojite ručno." + +#~ msgid "Server %(name)s answered wrongly to register request: %(error)s" +#~ msgstr "" +#~ "Poslužitelj %(name)s je krivo odgovorio na zahtjev za registraciju: " +#~ "%(error)s" + +#~ msgid "Server %s provided a different registration form" +#~ msgstr "Poslužitelj %s je pružio drugačiju formu za registraciju" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "Nije moguća veza sa \"%s\"" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "Nije moguća veza sa \"%s\"" + +#~ msgid "Check your connection or try again later." +#~ msgstr "Provjerite svoju vezu ili pokušajte kasnije." + +#~ msgid "Server replied: %s" +#~ msgstr "Odgovor poslužitelja: %s" + +#~ msgid "Connection to proxy failed" +#~ msgstr "Veza na proxy nije uspjela" + +#~ msgid "Could not connect to account %s" +#~ msgstr "Neuspješno povezivanje na račun %s" + +#~ msgid "Connection with account %s has been lost. Retry connecting." +#~ msgstr "Veza sa računom %s je izgubljena. Pokušajte ponovno spajanje." + +#~ msgid "Please check your login and password for correctness." +#~ msgstr "Molim vas da provjerite korisničko ime i lozinku za greške." + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "" +#~ "HTTP Spoj\n" +#~ "SOCKS5\n" +#~ "BOSH" + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "BOSH" +#~ msgstr "_BOSH URL:" + +#~ msgid "Use HTTP prox_y" +#~ msgstr "Koristi HTTP prox_y" + +#, fuzzy +#~ msgid "_BOSH URL" +#~ msgstr "_BOSH URL:" + +#, fuzzy +#~ msgid "BOSH" +#~ msgstr "_BOSH URL:" + +#, fuzzy +#~ msgid "Warn on insecure connection" +#~ msgstr "_Upozori prije korištenja nesigurne veze" + +#, fuzzy +#~ msgid "Contact list, list of contacts" +#~ msgstr "_Pamti promjene statusa kontakata" + +#~ msgid "You are participating in one or more group chats" +#~ msgstr "Sudjelujete u jednom ili više grupnih razovora" + +#, fuzzy +#~ msgid "" +#~ "Changing your status to invisible will result in you leaving those group " +#~ "chats.\n" +#~ "Are you sure you want to go invisible?" +#~ msgstr "" +#~ "Promjena vašeg statusa u nevidljivo rezultirati će odspajanjem sa tih " +#~ "grupnih razgovora. Jeste li sigurni da želite ići na nevidljivo?" + +#~ msgid "_Disconnect" +#~ msgstr "_Odspoji" + +#~ msgid "You cannot join a group chat while you are invisible" +#~ msgstr "Nije moguće pridruživanje grupnom razgovoru dok ste nevidljivi" + +#~ msgid "Invisible" +#~ msgstr "Nevidljiv" + +#, fuzzy +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "Nije moguće pridruživanje grupnom razgovoru dok ste nevidljivi" + +#~ msgid "_Invisible" +#~ msgstr "_Nevidljiv" + +#, fuzzy +#~ msgid "Yesterday" +#~ msgid_plural "%(nb_days)i days ago" +#~ msgstr[0] "Jučer" +#~ msgstr[1] "Jučer" +#~ msgstr[2] "Jučer" + +#, fuzzy +#~ msgid "_Cancel Upload" +#~ msgstr "_Odustani" + +#~ msgid " [blocked]" +#~ msgstr "[blokirano]" + +#~ msgid " [minimized]" +#~ msgstr "[minimizirano]" + +#, fuzzy +#~ msgid "" +#~ "If you close this tab while having chat history disabled, this message " +#~ "will be lost." +#~ msgstr "" +#~ "Ako zatvorite ovu karticu, a imate povijest onemogućenu, ova poruka biti " +#~ "će izgubljena." + +#, fuzzy +#~ msgid "Unregister Failed" +#~ msgstr "Brisanje registracije nije uspijelo" + +#, fuzzy +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "" +#~ "Brisanje registracije na poslužitelju %(server)s nije uspjelo: %(error)s" + +#, fuzzy +#~ msgid "New Password" +#~ msgstr "Spremiti lozinku" + +#~ msgid "What do you want to do?" +#~ msgstr "Å to želite učiniti?" + +#~ msgid "Remove account from Gajim and from _server" +#~ msgstr "Ukloni račun iz Gajima i sa po_služitelja" + +#, fuzzy +#~ msgid "You must enter a password" +#~ msgstr "Morate unesti lozinku." + +#, fuzzy +#~ msgid "You still have open chats in your account %s" +#~ msgstr "Otvorili ste razgovor u računu %s" + +#, fuzzy +#~ msgid "To unregister from a server, the account must be enabled." +#~ msgstr "Za deaktivaciju računa morate biti odspojeni." + +#, fuzzy +#~ msgid "Password required" +#~ msgstr "Potrebna Lozinka" + +#, fuzzy +#~ msgid "Still connected to the server" +#~ msgstr "Niste spojeni na poslužitelj." + +#, fuzzy +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "Ukoliko ga uklonite, veza će biti izgubljena." + +#, fuzzy +#~ msgid "Connection to server %s failed" +#~ msgstr "Veza na proxy nije uspjela" + +#, fuzzy +#~ msgid "What would you like to do?" +#~ msgstr "Å to želite učiniti?" + +#, fuzzy +#~ msgid "Remove only from Gajim" +#~ msgstr "Ukloni račun sam_o iz Gajima" + +#, fuzzy +#~ msgid "Contents" +#~ msgstr "_Sadržaj" + +#, fuzzy +#~ msgid "FAQ" +#~ msgstr "_Česta pitanja" + +#~ msgid "Save as Preset Status Message" +#~ msgstr "Snimiti kao Unaprijed Postavljenu Statusnu Poruku" + +#~ msgid "Enter a new nickname for contact %s" +#~ msgstr "Unesite novi nadimak za kontakt %s" + +#, fuzzy +#~ msgid "Join a group chat" +#~ msgstr "u _grupnim razgovorima" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "Prihvati" + +#~ msgid "New entry received" +#~ msgstr "Primljen novi unos" + +#~ msgid "You have received new entry:" +#~ msgstr "Primili ste novi unos:" + +#~ msgid "Feed name:" +#~ msgstr "Ime članaka:" + +#~ msgid "Last modified:" +#~ msgstr "Posljednja izmjena:" + +#, fuzzy +#~ msgid "Send file?" +#~ msgstr "Pošalji _Datoteku" + +#, fuzzy +#~ msgid "Mail _client" +#~ msgstr "_Mail klijent:" + +#, fuzzy +#~ msgid "_Browser" +#~ msgstr "_Preglednik:" + +#, fuzzy +#~ msgid "_File manager" +#~ msgstr "_Upravitelj datotekama:" + +#, fuzzy +#~ msgid "Custom applications" +#~ msgstr "Uvijek koristi OS/X predefinirane aplikacije" + +#, fuzzy +#~ msgid "Applications" +#~ msgstr "Aplikacije" + +#, fuzzy +#~ msgid "" +#~ "Uses ReStructured text markup to send HTML, plus ASCII formatting if " +#~ "selected. Needs docutils installed (for syntax, see http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Koristi ReStructured tekst markup za HTML i ascii formatiranje ako je " +#~ "odabrano. Za sintaksu, pogledajte http://docutils.sourceforge.net/docs/" +#~ "ref/rst/restructuredtext.html (Ako ovo želite koristiti, instalirajte " +#~ "docutils)" + +#, fuzzy +#~ msgid "_Ignore formatting of incoming messages" +#~ msgstr "_Ignoriraj bogati sadržaj u dolaznim porukama" + +#, fuzzy +#~ msgid "" +#~ "Some messages may include rich content (xhtml formatting, colors etc). If " +#~ "checked, Gajim will just display the plain message text." +#~ msgstr "" +#~ "Neke poruke mogu uključivati bogati sadržaj (formatiranje, boje itd.) Ako " +#~ "je označeno, Gajim će prikazati samo čisti tekst poruke." + +#, fuzzy +#~ msgid "RST XHTML Generator" +#~ msgstr "RST Generator" + +#, fuzzy +#~ msgid "Requires: python-docutils" +#~ msgstr "Potreban je python-docutils." + +#~ msgid "New Single Message" +#~ msgstr "Nova Jedna Poruka" + +#, fuzzy +#~ msgid "" +#~ "Can be empty, 'chat' or 'normal'. If not empty, all incoming messages are " +#~ "treated as if they were of this type." +#~ msgstr "" +#~ "Može biti prazno, 'chat' ili 'normal'. Ako nije prazno, tretiraj sve " +#~ "dolazne poruke kao da su izabrane vrste" + +#~ msgid "Error %(code)s: %(msg)s" +#~ msgstr "Greška %(code)s: %(msg)s" + +#~ msgid "twelve" +#~ msgstr "dvanaest" + +#~ msgid "one" +#~ msgstr "jedan" + +#~ msgid "two" +#~ msgstr "dva" + +#~ msgid "three" +#~ msgstr "tri" + +#~ msgid "four" +#~ msgstr "četiri" + +#~ msgid "five" +#~ msgstr "pet" + +#~ msgid "six" +#~ msgstr "šest" + +#~ msgid "seven" +#~ msgstr "sedam" + +#~ msgid "eight" +#~ msgstr "osam" + +#~ msgid "nine" +#~ msgstr "devet" + +#~ msgid "ten" +#~ msgstr "deset" + +#~ msgid "eleven" +#~ msgstr "jedanaest" + +#~ msgid "%(0)s o'clock" +#~ msgstr "%(0)s sati" + +#~ msgid "five past %(0)s" +#~ msgstr "pet poslije %(0)s" + +#~ msgid "ten past %(0)s" +#~ msgstr "deset poslije %(0)s" + +#~ msgid "quarter past %(0)s" +#~ msgstr "četvrt poslije %(0)s" + +#~ msgid "twenty past %(0)s" +#~ msgstr "dvadeset poslije %(0)s" + +#~ msgid "twenty five past %(0)s" +#~ msgstr "dvadeset pet poslije %(0)s" + +#~ msgid "half past %(0)s" +#~ msgstr "%(0)s i pola" + +#~ msgid "twenty five to %(1)s" +#~ msgstr "dvadeset i pet do %(1)s" + +#~ msgid "twenty to %(1)s" +#~ msgstr "dvadeset do %(1)s" + +#~ msgid "quarter to %(1)s" +#~ msgstr "četvrt do %(1)s" + +#~ msgid "ten to %(1)s" +#~ msgstr "deset do %(1)s" + +#~ msgid "five to %(1)s" +#~ msgstr "pet do %(1)s" + +#~ msgid "%(1)s o'clock" +#~ msgstr "%(1)s sati" + +#~ msgid "Night" +#~ msgstr "Noć" + +#~ msgid "Early morning" +#~ msgstr "Rano jutro" + +#~ msgid "Morning" +#~ msgstr "Jutro" + +#~ msgid "Almost noon" +#~ msgstr "Skoro podne" + +#~ msgid "Noon" +#~ msgstr "Podne" + +#~ msgid "Afternoon" +#~ msgstr "Poslijepodne" + +#~ msgid "Evening" +#~ msgstr "Večer" + +#~ msgid "Late evening" +#~ msgstr "Kasna večer" + +#~ msgid "Start of week" +#~ msgstr "Početak tjedna" + +#~ msgid "Middle of week" +#~ msgstr "Sredina tjedna" + +#~ msgid "End of week" +#~ msgstr "Kraj tjedna" + +#~ msgid "Weekend!" +#~ msgstr "Vikend!" + +#, fuzzy +#~ msgid "" +#~ "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or " +#~ "0 to disable Fuzzy Clock. 1 is the most precise clock, 4 the least " +#~ "precise one. This is used only if 'print_time' is 'sometimes'." +#~ msgstr "" +#~ "Ispisuj vrijeme u razgovorima koristeći Nejasni Sat. Vrijednost nejasnoće " +#~ "od 1 do 4 ili 0 za onemogućavanje nejasnog sata. 1 je najprecizniji sat, " +#~ "4 najneprecizniji. Ovo se koristi samo ukoliko je prikazivanje _vremena " +#~ "na 'ponekad'." + +#~ msgid "message" +#~ msgstr "poruka" + +#, fuzzy +#~ msgid "error: %s" +#~ msgstr "Greška: %s" + +#, fuzzy +#~ msgid "Form: %s" +#~ msgstr "Forma %s" + +#, fuzzy +#~ msgid "XML Input" +#~ msgstr "XML Unos" + +#, fuzzy +#~ msgid "Ttitle" +#~ msgstr "Naslov:" + +#, fuzzy +#~ msgid "%(type)s encryption is active %(authenticated)s" +#~ msgstr "" +#~ "%(type)s enkripcija %(status)s aktivna %(authenticated)s.\n" +#~ "Vaš razgovor %(logged)s biti zapisan." + +#, fuzzy +#~ msgid "Screen" +#~ msgstr "zelena" + +#~ msgid "Conversation with " +#~ msgstr "Razgovor sa" + +#~ msgid "Continued conversation" +#~ msgstr "Nastavljeni razgovor" + +#, fuzzy +#~ msgid "%s has invited you to join a discussion" +#~ msgstr "$Contact vas je pozvao da se uključite u raspravu." + +#~ msgid "_Send Private Message" +#~ msgstr "_Pošalji Privatnu Poruku" + +#, fuzzy +#~ msgid "Participant Actions" +#~ msgstr "Sudionici" + +#~ msgid "_Voice" +#~ msgstr "_Glas" + +#~ msgid "Mo_derator" +#~ msgstr "Mo_derator" + +#~ msgid "_Member" +#~ msgstr "_Član" + +#~ msgid "_Admin" +#~ msgstr "_Admin" + +#~ msgid "_Owner" +#~ msgstr "_Vlasnik" + +#, fuzzy +#~ msgid "_Add to Contact List" +#~ msgstr "_Dodaj Kontakt..." + +#, fuzzy +#~ msgid "_Execute command" +#~ msgstr "_Izvrši Naredbu..." + +#~ msgid "Change _Nickname..." +#~ msgstr "Promijeni _Nadimak..." + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "_Novi Grupni Razgovor" + +#~ msgid "Change _Subject..." +#~ msgstr "Promijeni _Temu..." + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "_Grupni Razgovori..." + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "_Novi Grupni Razgovor" + +#~ msgid "_Minimize on close" +#~ msgstr "_Minimiziraj kod izlaza" + +#, fuzzy +#~ msgid "_Request Voice" +#~ msgstr "_Glas" + +#~ msgid "_Bookmark" +#~ msgstr "_Postavi Oznaku" + +#, fuzzy +#~ msgid "The authenticity of the %s certificate could be invalid" +#~ msgstr "Autentičnost certifikata %s bi mogla biti neispravna." + +#~ msgid "" +#~ "\n" +#~ "Unknown SSL error: %d" +#~ msgstr "" +#~ "\n" +#~ "Nepoznata SSL greška: %d" + +#~ msgid "" +#~ "\n" +#~ "SSL Error: %s" +#~ msgstr "" +#~ "\n" +#~ "SSL Greška: %s" + +#~ msgid "Error verifying SSL certificate" +#~ msgstr "Greška kod ovjere SSL certifikata" + +#, fuzzy +#~ msgid "View certificate…" +#~ msgstr "Osobno potpisan certifikat" + +#, fuzzy +#~ msgid "Continue" +#~ msgstr "_Nastaviti" + +#~ msgid "" +#~ "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM " +#~ "IS RUNNING)" +#~ msgstr "" +#~ "Želite li očistiti bazu podataka? (NE PREPORUČUJEMO UKOLIKO JE GAJIM " +#~ "POKRENUT)" + +#, fuzzy +#~ msgid "Authorization" +#~ msgstr "Odobrenje je poslano" + +#, fuzzy +#~ msgid "" +#~ "All chat and group chat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Prozori svih razgovora i grupnih razgovora biti će zatvoreni. Želite li " +#~ "nastaviti?" + +#, fuzzy +#~ msgid "Account '%s' is still connected to the server" +#~ msgstr "Račun \"%s\" je spojen na poslužitelj" + +#, fuzzy +#~ msgid "Error While Saving" +#~ msgstr "Greška prilikom dodavanja usluge. %s" + +#, fuzzy +#~ msgid "" +#~ "Image cannot be saved in %(type)s format.\n" +#~ "Save as %(new_filename)s?" +#~ msgstr "" +#~ "Sliku nije moguće spremiti u %(type)s formatu. Spremiti kao " +#~ "%(new_filename)s?" + +#, fuzzy +#~ msgid "Save _As" +#~ msgstr "Imam " + +#~ msgid "Yes, I really want to connect insecurely" +#~ msgstr "Da, stvarno želim nesigurno povezivanje" + +#, fuzzy +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "Neispravan Jabber ID grupnog razgovora" + +#, fuzzy +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "Jabber ID grupnog razgovora ima nedozvoljene znakove." + +#~ msgid "You may specify a reason below:" +#~ msgstr "Možete specificirati razlog ispod:" + +#~ msgid "Banning %s" +#~ msgstr "Zabranjujem pristup %s" + +#, fuzzy +#~ msgid "" +#~ "Always ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Uvijek pitaj prije zatvaranja kartice/prozora grupnog razgovora u ovoj " +#~ "razmakom odjeljenoj listi jid-ova grupnog razgovora." + +#, fuzzy +#~ msgid "" +#~ "Never ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Nikad ne pitaj prije zatvaranja kartice/prozora grupnog razgovora u ovoj " +#~ "razmacima podjeljenoj listi jid-ova grupnog razgovora." + +#, fuzzy +#~ msgid "Leave Group Chats" +#~ msgstr "Novi Grupni Razgovor" + +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "%(nickname)s u %(room_jid)s" + +#, fuzzy +#~ msgid "You have not joined a group chat." +#~ msgstr "Niste se pridružili grupnom razgovoru" + +#, fuzzy +#~ msgid "You left the following group chats:" +#~ msgstr "Napustili ste sljedeći grupni razgovor:" + +#~ msgid "Don't show avatar for the transport itself." +#~ msgstr "Ne prikazuj avatar za sam transport." + +#, fuzzy +#~ msgid "" +#~ "Show a confirmation dialog for a custom status? Empty string means never " +#~ "show the dialog." +#~ msgstr "" +#~ "Treba li prikazati upit za potvrdu osobnog statusa ili ne? Prazan niz " +#~ "znači da nikada ne prikazujemo upit." + +#, fuzzy +#~ msgid "" +#~ "If enabled, notification windows from notification-daemon will be " +#~ "attached to the notification area icon." +#~ msgstr "" +#~ "Ako je Aktivno, prozori sa obavijestima notification-daemon-a će biti " +#~ "prikačeni uz ikonu u traci radne površine." + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending PLAIN password over a plain " +#~ "connection." +#~ msgstr "" +#~ "Prikaži dijalog sa upozorenjem prije slanja lozinke preko nezaštićene " +#~ "veze." + +#, fuzzy +#~ msgid "Jabberd2 workaround." +#~ msgstr "Jabberd2 workaround" + +#, fuzzy +#~ msgid "Configure Services…" +#~ msgstr "Postavi Usluge..." + +#, fuzzy +#~ msgid "Group Chat Bookmarks" +#~ msgstr "_Grupni Razgovor" + +#, fuzzy +#~ msgid "Add Bookmark" +#~ msgstr "_Postavi Oznaku" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "_Postavi Oznaku" + +#, fuzzy +#~ msgid "_Server" +#~ msgstr "_Poslužitelj:" + +#, fuzzy +#~ msgid "_Password" +#~ msgstr "_Lozinka:" + +#, fuzzy +#~ msgid "Join chat when connected" +#~ msgstr "Kontakt Odspojen" + +#~ msgid "New Group Chat" +#~ msgstr "Novi Grupni Razgovor" + +#~ msgid "This bookmark has invalid data" +#~ msgstr "Ova knjižna oznaka ima neispravne podatke" + +#, fuzzy +#~ msgid "" +#~ "Please be sure to fill out server and group chat fields or remove this " +#~ "bookmark." +#~ msgstr "" +#~ "Molim obavezno ispunite polja poslužitelja i sobe ili uklonite ovu " +#~ "kljižnu oznaku." + +#~ msgid "Character not allowed" +#~ msgstr "Znak nije dozvoljen" + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "Neispravan Jabber ID grupnog razgovora" + +#~ msgid "Unable to join group chat" +#~ msgstr "Nije moguće pridružiti se grupnom razgovoru" + +#, fuzzy +#~ msgid "You are banned from group chat %s." +#~ msgstr "Zabranjen vam je pristup grupnom razgovoru %s." + +#, fuzzy +#~ msgid "Remote server %s does not exist." +#~ msgstr "Grupni razgovor %s ne postoji." + +#, fuzzy +#~ msgid "Group chat %s does not exist." +#~ msgstr "Grupni razgovor %s ne postoji." + +#, fuzzy +#~ msgid "Group chat creation is not permitted." +#~ msgstr "Stvaranje grupnih razgovora je ograničeno." + +#, fuzzy +#~ msgid "You must use your registered nickname in %s." +#~ msgstr "Morate koristiti vaš registrirani nadimak u grupnom razgovoru %s." + +#, fuzzy +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "Niste u listi članova grupnog razgovora %s." + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "Ovo nije grupni razgovor" + +#~ msgid "This is not a group chat" +#~ msgstr "Ovo nije grupni razgovor" + +#, fuzzy +#~ msgid "Please choose a group chat" +#~ msgstr "Molim napravite novu temu sa vašim željenim imenom." + +#~ msgid "Invalid Nickname" +#~ msgstr "Neispravan Nadimak" + +#, fuzzy +#~ msgid "Wrong server" +#~ msgstr "Krivi uri" + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "Ovo nije grupni razgovor" + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit." +#~ msgstr "" +#~ "Koliko linija teksta zatražiti od poslužitelja kod pridruživanja grupnom " +#~ "razgovoru." + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit." +#~ msgstr "" +#~ "Koliko minuta prijašnjeg razgovora zatražiti kod pridruživanja grupnom " +#~ "razgovoru." + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit, -2 means global value." +#~ msgstr "" +#~ "Koliko linija teksta zatražiti od poslužitelja kod pridruživanja grupnom " +#~ "razgovoru." + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit, -2 means global value." +#~ msgstr "" +#~ "Koliko minuta prijašnjeg razgovora zatražiti kod pridruživanja grupnom " +#~ "razgovoru." + +#, fuzzy +#~ msgid "A Password is required to join the group chat %s. Please type it." +#~ msgstr "" +#~ "Potrebna je lozinka za pridruživanje grupnom razgovoru %s. Molim unesite " +#~ "je." + +#~ msgid "Not in Roster" +#~ msgstr "Nije na Listi Kontakata" + +#~ msgid "I would like to add you to my roster" +#~ msgstr "Želio bih vas dodati na svoju listu kontakata" + +#, fuzzy +#~ msgid "Add to Roster" +#~ msgstr "_Dodaj na Listu" + +#, fuzzy +#~ msgid "Manage Room" +#~ msgstr "_Upravljanje sobom" + +#, fuzzy +#~ msgid "Configure Room" +#~ msgstr "Podešavanje _Sobe..." + +#, fuzzy +#~ msgid "Destroy Room" +#~ msgstr "_Uništi Sobu" + +#, fuzzy +#~ msgid "Change Nick" +#~ msgstr "Promijeni _Nadimak..." + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "_Odspoji" + +#, fuzzy +#~ msgid "Copy JID" +#~ msgstr "JID Sobe" + +#, fuzzy +#~ msgid "Add to Roster…" +#~ msgstr "_Dodaj na Listu" + +#, fuzzy +#~ msgid "Copy JID/Email" +#~ msgstr "_Kopiraj JID/Email Adresu" + +#, fuzzy +#~ msgid "JID: %s" +#~ msgstr "Jabber ID: %s" + +#~ msgid "Changing Subject" +#~ msgstr "Mijenjanje Teme" + +#~ msgid "Please specify the new subject:" +#~ msgstr "Molim specificirajte novu temu:" + +#~ msgid "Room logging is now enabled" +#~ msgstr "Zapisivanje razgovora u sobi je sada omogućeno" + +#~ msgid "Room logging is now disabled" +#~ msgstr "Zapisivanje razgovora u sobi je sada onemogućeno" + +#, fuzzy +#~ msgid "You (%s) joined the room" +#~ msgstr "%s se pridružio grupnom razgovoru" + +#~ msgid "Room logging is enabled" +#~ msgstr "Zapisivanje razgovora u sobi je omogućeno" + +#, fuzzy +#~ msgid "Unable to join groupchat" +#~ msgstr "Nije moguće pridružiti se grupnom razgovoru" + +#~ msgid "Groupchat Invitation" +#~ msgstr "Poziv na Grupni Razgovor" + +#, fuzzy +#~ msgid "%(jid)s has been invited in this room" +#~ msgstr "%(nick)s je izbačen iz sobe (%(reason)s)" + +#, fuzzy +#~ msgid "JID is not a Groupchat" +#~ msgstr "Ovo nije grupni razgovor" + +#~ msgid "Invalid JID" +#~ msgstr "Neispravan JID" + +#~ msgid "A connection is not available" +#~ msgstr "Veza nije dostupna" + +#, fuzzy +#~ msgid "JID already in list" +#~ msgstr "Jabber ID je već na listi" + +#, fuzzy +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "Veza nije dostupna" + +#~ msgid "Removes contact from roster" +#~ msgstr "Uklanja kontakt sa liste" + +#~ msgid "Not in roster" +#~ msgstr "Nije na Listi Kontakata" + +#, fuzzy +#~ msgid "Contact signed in notification color." +#~ msgstr "Prikaži događaj u _listi kontakata" + +#, fuzzy +#~ msgid "Contact signout notification color" +#~ msgstr "Prikaži događaj u _listi kontakata" + +#, fuzzy +#~ msgid "File transfer request notification color." +#~ msgstr "Zahtjev Razmjene Datoteka" + +#, fuzzy +#~ msgid "File transfer error notification color." +#~ msgstr "Prijenos datoteka otkazan" + +#, fuzzy +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "Prikaži obavijest kada završi prijenos datoteka" + +#, fuzzy +#~ msgid "Groupchat invitation notification color" +#~ msgstr "Poziv na Grupni Razgovor" + +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "Dodaj * i [n] u naslov liste?" + +#~ msgid "Hides the banner in two persons chat window" +#~ msgstr "Skriva baner u prozoru razgovora dviju osoba" + +#, fuzzy +#~ msgid "" +#~ "Show the confirm metacontacts creation dialog or not? Empty string means " +#~ "never show the dialog." +#~ msgstr "" +#~ "Trebamo li prikazati upit za potvrdu stvaranja metakontakata ili ne? " +#~ "Prazan niz znači da nikada ne prikazujemo upit." + +#~ msgid "Space separated list of ssl errors to ignore." +#~ msgstr "Popis ssl grešaka koje će se ignorirati, odjeljene razmakom." + +#~ msgid "Answer to receipt requests" +#~ msgstr "Odgovor na zahtjev za potvrdom o primitku" + +#, fuzzy +#~ msgid "Language for which misspelled words will be checked" +#~ msgstr "Jezik koji se koristi za provjeru pravopisa" + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "Jedem, ostavite mi poruku." + +#, fuzzy +#~ msgid "from room %s" +#~ msgstr "iz sobe %s" + +#~ msgid "Leave Groupchats" +#~ msgstr "Novi Grupni Razgovor" + +#, fuzzy +#~ msgid "Auto Join" +#~ msgstr "Automatsko spajanje" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "Soba:" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#~ msgid "Occupant Actions" +#~ msgstr "Akcije Prisutnih" + +#~ msgid "_Add to Roster" +#~ msgstr "_Dodaj na Listu" + +#~ msgid "_Manage Room" +#~ msgstr "_Upravljanje sobom" + +#~ msgid "Configure _Room..." +#~ msgstr "Podešavanje _Sobe..." + +#~ msgid "_Destroy Room" +#~ msgstr "_Uništi Sobu" + +#~ msgid "Jabber ID" +#~ msgstr "Jabber ID" + +#, fuzzy +#~ msgid "account" +#~ msgstr "Korisnički račun" + +#, fuzzy +#~ msgid "Roster" +#~ msgstr "Prikaži _Listu Kontakata" + +#, fuzzy +#~ msgid "Show only in roster" +#~ msgstr "Prikaži samo u _listi kontakata" + +#~ msgid "in _roster" +#~ msgstr "na _listi" + +#, fuzzy +#~ msgid "Roster Appearance" +#~ msgstr "Izgled Liste Kontakata" + +#~ msgid "_Add to Roster..." +#~ msgstr "_Dodaj na Listu..." + +#~ msgid "_Jabber ID:" +#~ msgstr "_Jabber ID:" + +#, fuzzy +#~ msgid "_Jabber ID" +#~ msgstr "_Jabber ID:" + +#~ msgid "JabberID" +#~ msgstr "JabberID" + +#, fuzzy +#~ msgid "Show Roster" +#~ msgstr "Prikaži _Listu Kontakata" + +#~ msgid "MUC server" +#~ msgstr "MUC poslužitelj" + +#~ msgid "Room Configuration" +#~ msgstr "Konfiguracija Sobe" + +#~ msgid "Join _Group Chat" +#~ msgstr "_Grupni Razgovori" + +#, fuzzy +#~ msgid "Audio sessions are not available" +#~ msgstr "Veza nije dostupna" + +#~ msgid "Conference" +#~ msgstr "Konferencija" + +#, fuzzy +#~ msgid "_Manage Bookmarks…" +#~ msgstr "Podešavanje Knjižnih Oznaka" + +#, fuzzy +#~ msgid "Hide _Roster" +#~ msgstr "na _listi" + +#~ msgid "Show _Roster" +#~ msgstr "Prikaži _Listu Kontakata" + +#, fuzzy +#~ msgid "Invalid Room" +#~ msgstr "Neispravna soba" + +#~ msgid "Invalid room" +#~ msgstr "Neispravna soba" + +#~ msgid "A GTK+ Jabber client" +#~ msgstr "GTK+ Jabber klijent" + +#~ msgid "Changing Nickname" +#~ msgstr "Mijenjam Nadimak" + +#~ msgid "Please specify the new nickname you want to use:" +#~ msgstr "Molim specificirajte novi nadimak ako ga želite koristiti:" + +#~ msgid "Bookmark already set" +#~ msgstr "Knjižna oznaka je već postavljena" + +#, fuzzy +#~ msgid "Group Chat '%s' is already in your bookmarks." +#~ msgstr "Grupni Razgovor \"%s\" je već u vašim knjižnim oznakama." + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "Knjižna oznaka je bez uspješno dodana" + +#, fuzzy +#~ msgid "" +#~ "You can manage your bookmarks by clicking the Bookmarks menu item in your " +#~ "contact list." +#~ msgstr "" +#~ "Možete upravljati vašim knjižnim oznakama pomoću izbornika Akcije u vašem " +#~ "spisku." + +#, fuzzy +#~ msgid "The nickname contains invalid characters." +#~ msgstr "Nadimak sadrži nedozvoljene znakove." + +#, fuzzy +#~ msgid "Bookmark Room" +#~ msgstr "Postavi knjižnu oznaku za sobu" + +#~ msgid "_Join New Group Chat" +#~ msgstr "_Pridruži se Novom Grupnom Razgovoru" + +#~ msgid "Name:" +#~ msgstr "Ime:" + +#, fuzzy +#~ msgid "Description:" +#~ msgstr "Opis: " + +#, fuzzy +#~ msgid "Address:" +#~ msgstr "_Adresa:" + +#, fuzzy +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "Ne možete se pridružiti grupnom razgovoru ukoliko niste spojeni." + +#, fuzzy +#~ msgid "Occupants" +#~ msgstr "Akcije Prisutnih" + +#~ msgid "_Modify Account..." +#~ msgstr "_Izmjeni Račun..." + +#~ msgid "Boolean" +#~ msgstr "Boolean" + +#~ msgid "Integer" +#~ msgstr "Cijeli broj" + +#~ msgid "Text" +#~ msgstr "Tekst" + +#~ msgid "Value" +#~ msgstr "Vrijednost" + +#~ msgid "(None)" +#~ msgstr "(Nema)" + +#~ msgid "Hidden" +#~ msgstr "Skrivena" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "Podešavanje Proxy Profila" + +#, fuzzy +#~ msgid "Properties" +#~ msgstr "Karakteristike" + +#, fuzzy +#~ msgid "Proxy _Port" +#~ msgstr "Proxy _Port:" + +#, fuzzy +#~ msgid "New Groupchat" +#~ msgstr "Novi Grupni Razgovor" + +#, fuzzy +#~ msgid "New Contact" +#~ msgstr "Dodaj Novi Kontakt" + +#~ msgid "%s GiB" +#~ msgstr "%s GiB" + +#~ msgid "%s GB" +#~ msgstr "%s GB" + +#~ msgid "%s MiB" +#~ msgstr "%s MiB" + +#~ msgid "%s MB" +#~ msgstr "%s MB" + +#~ msgid "%s KiB" +#~ msgstr "%s KiB" + +#~ msgid "%s KB" +#~ msgstr "%s KB" + +#~ msgid "%s B" +#~ msgstr "%s B" + +#, fuzzy +#~ msgid "%s MiB/s" +#~ msgstr "%s MiB" + +#, fuzzy +#~ msgid "File transfer" +#~ msgstr "Prijenosi Datoteka" + +#, fuzzy +#~ msgid "Open _Containing Folder" +#~ msgstr "_Otvaranje Mape Sadržaja" + +#, fuzzy +#~ msgid "Default:" +#~ msgstr "Predefinirano" + +#~ msgid "Really quit Gajim?" +#~ msgstr "Zaista zatvori Gajim?" + +#~ msgid "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" +#~ msgstr "" +#~ "Više nećete biti u mogućnosti razmjenjivati poruka sa kontaktima ovih " +#~ "prijenosa: %s" + +#~ msgid "Contact \"%s\" will be removed from your roster" +#~ msgstr "Kontakt \"%s\" biti će uklonjen sa vaše liste kontakata" + +#, fuzzy +#~ msgid "" +#~ "By removing this contact you also by default remove authorization " +#~ "resulting in them always seeing you as offline." +#~ msgstr "" +#~ "Uklanjanjem ovog kontakta ujedno po pretpostavljenom uklanjate i " +#~ "odobrenje što konačno znači da će vas ta osoba uvijek vidjeti kao da ste " +#~ "odspojeni." + +#~ msgid "Contacts will be removed from your roster" +#~ msgstr "Kontakti će biti uklonjeni sa vaše liste kontakata" + +#~ msgid "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorization resulting in them always seeing you as " +#~ "offline." +#~ msgstr "" +#~ "Uklanjanjem ovih kontakata:%s\n" +#~ "ujedno uklanjate i odobrenje što konačno znači da će vas ta osoba uvijek " +#~ "vidjeti kao da ste odspojeni." + +#, fuzzy +#~ msgid "Con_tinue" +#~ msgstr "_Nastaviti" + +#~ msgid "_Pause" +#~ msgstr "_Stanka" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "Ukloni prijenos datoteka sa liste" + +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "" +#~ "Ova akcija uklanja prijenos datoteke sa liste. Ako je prijenos aktivan, " +#~ "prvo se zaustavlja i onda uklanja" + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "Prekini transfer odabrane datoteke" + +#, fuzzy +#~ msgid "Hide the window" +#~ msgstr "Skriva prozor" + +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "Prikaži obavijest kada završi prijenos datoteka" + +#~ msgid "From:" +#~ msgstr "Od:" + +#~ msgid "Subject:" +#~ msgstr "Tema:" + +#~ msgid "%s wants to send you a file:" +#~ msgstr "%s vam želi poslati datoteku:" + +#~ msgid "Name: " +#~ msgstr "Ime: " + +#~ msgid "Pause" +#~ msgstr "Pauza" + +#, fuzzy +#~ msgid "Execute Command" +#~ msgstr "_Izvrši Naredbu..." + +#~ msgid "Type: " +#~ msgstr "Tip: " + +#~ msgid "Transferred: " +#~ msgstr "Prenešeno: " + +#~ msgid "Completed" +#~ msgstr "Završeno" + +#~ msgid "Stalled" +#~ msgstr "Zaustavljeno" + +#~ msgid "Transferring" +#~ msgstr "Prenosim" + +#~ msgid "Not started" +#~ msgstr "Nije početo" + +#, fuzzy +#~ msgid "%s day" +#~ msgid_plural "%s days" +#~ msgstr[0] "Prije %i dana" +#~ msgstr[1] "Prije %i dana" +#~ msgstr[2] "Prije %i dana" + +#~ msgid "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Prozori svih razgovora i grupnih razgovora biti će zatvoreni. Želite li " +#~ "nastaviti?" + +#, fuzzy +#~ msgid "" +#~ "Your desired nickname in group chat\n" +#~ "%s\n" +#~ "is in use or registered by another occupant.\n" +#~ "Please specify another nickname below:" +#~ msgstr "" +#~ "Vaš željeni nadimak za grupni razgovor %s se trenutno koristi ili je " +#~ "registriran od strane drugog učesnika.\n" +#~ "Molimo unesite drugi nadimak ispod:" + +#~ msgid "_Configure" +#~ msgstr "_Postavi" + +#, fuzzy +#~ msgid "Change the avatar" +#~ msgstr "Promjeni status" + +#, fuzzy +#~ msgid "" +#~ "Account in which the avatar will be set; if not specified, the avatar " +#~ "will be set for all accounts" +#~ msgstr "" +#~ "Račun u kojem će xml biti poslan; ako nije specificirano, xml će biti " +#~ "poslan na sve račune" + +#, fuzzy +#~ msgid "add" +#~ msgstr "Tužan" + +#, fuzzy +#~ msgid "modify" +#~ msgstr "Uredi" + +#, fuzzy +#~ msgid "remove" +#~ msgstr "Uklo_ni" + +#, fuzzy +#~ msgid "" +#~ "If true, restored messages will use a smaller font than the default one." +#~ msgstr "" +#~ "Ako je Aktivno, vraćene poruke će koristiti manji font od predefiniranog." + +#, fuzzy +#~ msgid "Restored Message Color" +#~ msgstr "_Vrati predefinirane boje" + +#, fuzzy +#~ msgid "" +#~ "You are going to remove this room permanently.\n" +#~ "You may specify a reason below:" +#~ msgstr "" +#~ "Definitivno će te uništiti ovu sobu.\n" +#~ "Ispod možete navesti razlog:" + +#~ msgid "Send Cus_tom Status" +#~ msgstr "Postavi Prila_gođeni Status" + +#, fuzzy +#~ msgid "" +#~ "You are about to send a custom status. Are you sure you want to continue?" +#~ msgstr "" +#~ "Spremate se poslati osobni status. Jeste li sigurni da želite nastaviti?" + +#, fuzzy +#~ msgid "" +#~ "This contact will temporarily see you as %(status)s, but only until you " +#~ "change your status. Then they will see your global status." +#~ msgstr "" +#~ "Privremeno će te za ovaj kontakt imati status %(status)s, sve dok ne " +#~ "promijenite vaš status. Tada će vidjeti vaš globalni status." + +#, fuzzy +#~ msgid "" +#~ msgstr "Tema" + +#~ msgid "#" +#~ msgstr "#" + +#~ msgid "You are about to block a contact. Are you sure you want to continue?" +#~ msgstr "" +#~ "Spremate se blokirati kontakt. Jeste li sigurni da želite nastaviti?" + +#~ msgid "To:" +#~ msgstr "Za:" + +#~ msgid "0" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Reconnect when connection is lost" +#~ msgstr "Automatsko ponovno spajanje kada je veza izgubljena" + +#, fuzzy +#~ msgid "Server Message Archive" +#~ msgstr "_Pošalji Poslužiteljsku Poruku..." + +#, fuzzy +#~ msgid "Message Carbons" +#~ msgstr "Poruke" + +#~ msgid "" +#~ "Sent chat state notifications. Can be one of all, composing_only, " +#~ "disabled." +#~ msgstr "" +#~ "Poslane obavijesti o statusu u razgovoru. Može biti jedno od svi," +#~ "samo_sastavljanje, onemogućeno." + +#, fuzzy +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "Dozvoli slanje podataka o _OS-u" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the idle time of your system" +#~ msgstr "" +#~ "Ako je označeno, Gajim će dopustiti drugima da vide koji operativni " +#~ "sustav koristite" + +#, fuzzy +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "Dozvoli slanje podataka o _OS-u" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the local time on your system" +#~ msgstr "" +#~ "Ako je označeno, Gajim će dopustiti drugima da vide koji operativni " +#~ "sustav koristite" + +#, fuzzy +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "Dozvoli slanje podataka o _OS-u" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the operating system you are " +#~ "using" +#~ msgstr "" +#~ "Ako je označeno, Gajim će dopustiti drugima da vide koji operativni " +#~ "sustav koristite" + +#, fuzzy +#~ msgid "" +#~ "If checked, incoming events from unauthorized contacts will be ignored. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster." +#~ msgstr "" +#~ "Ako je označeno, Gajim će ignorirati sve poruke koje vam šalje netko van " +#~ "vaše liste. Koristite sa oprezom, blokira sve poruke koje dolaze od ljudi " +#~ "van vaše liste kontakata" + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." +#~ msgstr "" +#~ "Gajim može primati i slati meta-informacije vezane za razgovor koji " +#~ "vodite sa kontaktom. Ovdje možete odrediti koji statusi razgovora će se " +#~ "slati drugoj osobi." + +#, fuzzy +#~ msgid "S_end chat state notifications" +#~ msgstr "_Šalji obavijesti o statusu razgovora" + +#, fuzzy +#~ msgid "Login Options" +#~ msgstr "_Emotikoni:" + +#~ msgid "Please wait while retrieving search form..." +#~ msgstr "Pričekajte dok se odvija primanje forme za pretragu..." + +#~ msgid "_Add contact" +#~ msgstr "_Dodaj kontakt" + +#~ msgid "Ad-hoc Commands - Gajim" +#~ msgstr "Ad-hoc Naredbe - Gajim" + +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "Pričekajte dok se odvija primanje liste naredbi..." + +#~ msgid "Choose command to execute:" +#~ msgstr "Izaberite naredbu za izvršiti:" + +#~ msgid "Check once more" +#~ msgstr "Provjeri još jednom" + +#, fuzzy +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "Pričekajte dok se odvija slanje naredbe..." + +#~ msgid "This jabber entity does not expose any commands." +#~ msgstr "Ovaj jabber entitet ne izlaže nikakve naredbe." + +#, fuzzy +#~ msgid "F_inish" +#~ msgstr "_Završi" + +#~ msgid "Waiting for results" +#~ msgstr "Čekanje na rezultate" + +#~ msgid "Error in received dataform" +#~ msgstr "Greška u primljenom podatkovnom obrascu" + +#~ msgid "No result" +#~ msgstr "Nema rezultata" + +#~ msgid "Failed to get secret keys" +#~ msgstr "Neuspješno dohvaćanje tajnih ključeva" + +#~ msgid "There is no OpenPGP secret key available." +#~ msgstr "OpenPGP tajni ključ nije dostupan." + +#~ msgid "OpenPGP Key Selection" +#~ msgstr "Odabir OpenPGP Ključeva" + +#~ msgid "Choose your OpenPGP key" +#~ msgstr "Odaberite svoj OpenPGP ključ" + +#~ msgid "KeyID" +#~ msgstr "ID ključa" + +#~ msgid "Contact name" +#~ msgstr "Ime kontakta" + +#, fuzzy +#~ msgid "OpenPGP is not usable" +#~ msgstr "GPG nije upotrebljiv" + +#~ msgid "Assign OpenPGP Key" +#~ msgstr "Dodjeli OpenPGP Ključ" + +#~ msgid "Select a key to apply to the contact" +#~ msgstr "Odaberite ključ za dodavanje kontaktu" + +#, fuzzy +#~ msgid "" +#~ "You configured Gajim to use OpenPGP agent, but there is no OpenPGP agent " +#~ "running or it returned a wrong passphrase.\n" +#~ msgstr "" +#~ "Postavili ste Gajim da koristi GPG agent, ali GPG agent nije pokrenut ili " +#~ "je odgovorio sa krivom lozinkom.\n" + +#~ msgid "You are currently connected without your OpenPGP key." +#~ msgstr "Trenutno ste spojeni bez OpenPGP ključa." + +#, fuzzy +#~ msgid "Wrong passphrase" +#~ msgstr "Kriva Lozinka" + +#, fuzzy +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "Kriva Lozinka" + +#~ msgid "Passphrase Required" +#~ msgstr "Potrebna Lozinka" + +#, fuzzy +#~ msgid "" +#~ "Enter OpenPGP key passphrase for key %(keyid)s (account %(account)s)." +#~ msgstr "Unesite GPG lozinku za ključ %(keyid)s (račun %(account)s)." + +#, fuzzy +#~ msgid "OpenPGP key expired" +#~ msgstr "GPG ključ istekao" + +#, fuzzy +#~ msgid "" +#~ "Your OpenPGP key has expired, you will be connected to %s without OpenPGP." +#~ msgstr "Vaš GPG ključ je istekao, biti će te spojeni na %s bez OpenPGP-a." + +#~ msgid "Wrong Passphrase" +#~ msgstr "Kriva Lozinka" + +#, fuzzy +#~ msgid "Please retype your OpenPGP passphrase or press Cancel." +#~ msgstr "Molim ponovo utipkajte svoju GPG lozinku ili pritisnite Odustani" + +#~ msgid "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Šalje novu poruku kontaktu na listi, OpenPGP ključ i račun su opcionalni. " +#~ "Ako želite postaviti samo 'račun', bez 'OpenPGP ključa', samo postavite " +#~ "'OpenPGP ključ' kao ''." + +#~ msgid "if specified, the message will be encrypted using this public key" +#~ msgstr "" +#~ "ako je označeno, poruka će biti kriptirana koristeći ovaj javni ključ" + +#, fuzzy +#~ msgid "" +#~ "Sends a chat message to someone on your roster. Optionally with OpenPGP " +#~ "key and account. If you want to only set the latter, set OpenPGP key to " +#~ "\"\"." +#~ msgstr "" +#~ "Šalje novu poruku kontaktu na listi, OpenPGP ključ i račun su opcionalni. " +#~ "Ako želite postaviti samo 'račun', bez 'OpenPGP ključa', samo postavite " +#~ "'OpenPGP ključ' kao ''." + +#~ msgid "" +#~ "If disabled, don't sign presences with GPG key, even if GPG is configured." +#~ msgstr "" +#~ "Ako nije uključeno, ne potpisuj prisutnost GPG ključem, čak i kada je GPG " +#~ "postavljen." + +#, fuzzy +#~ msgid "OpenPGP:" +#~ msgstr "OpenPGP: " + +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "Pridruži Open_PGP Ključ..." + +#, fuzzy +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "OpenPGP enkripcija poruka" + +#, fuzzy +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "Kriptiranje poruka sa gpg ključevima." + +#, fuzzy +#~ msgid "Requires: gpg and python-gnupg (%(url)s)" +#~ msgstr "Potrebni su gpg i python-GnuPGInterface." + +#, fuzzy +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "_koristi HTTP__PROXY varijablu okruženja" + +#, fuzzy +#~ msgid "Use PGP Agent" +#~ msgstr "Koristi G_PG Agent" + +#, fuzzy +#~ msgid "OpenPGP Key" +#~ msgstr "Dodjeli OpenPGP Ključ" + +#~ msgid "Cancel confirmation" +#~ msgstr "Otkaži potvrdu" + +#~ msgid "" +#~ "You are in process of executing command. Do you really want to cancel it?" +#~ msgstr "Izvršavanje naredbe u tijeku. Zaista želite odustati?" + +#~ msgid "Service sent malformed data" +#~ msgstr "Servis je poslao neispravne podatke" + +#~ msgid "Service changed the session identifier." +#~ msgstr "Servis je promjenio identifikator sesije." + +#, fuzzy +#~ msgid "%s - Ad-hoc Commands - Gajim" +#~ msgstr "Ad-hoc Naredbe - Gajim" + +#~ msgid "Service returned an error." +#~ msgstr "Servis je odgovorio sa greškom." + +#~ msgid "You are invited to a groupchat" +#~ msgstr "Pozvani ste na grupni razgovor" + +#~ msgid "_Start Chat" +#~ msgstr "_Započni Razgovor" + +#~ msgid "Au_thorize" +#~ msgstr "_Odobri" + +#~ msgid "Really send file?" +#~ msgstr "Zaista pošalji datoteku?" + +#~ msgid "You are currently connected to the server" +#~ msgstr "Trenutno ste spojeni na poslužitelj" + +#~ msgid "To disable the account, you must be disconnected." +#~ msgstr "Za deaktivaciju računa morate biti odspojeni." + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with %(jid)s?" +#~ msgstr "Da li zaista želite ukloniti odabranu poruku?" + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with the selected contacts?" +#~ msgstr "Da li zaista želite ukloniti zabilješke odabranog kontakta?" + +#, fuzzy +#~ msgid "This can not be undone." +#~ msgstr "Usluga nije pronađena" + +#~ msgid "What do you want to do?" +#~ msgstr "Što želite učiniti?" + +#~ msgid "" +#~ "List of colors, separated by \":\", that will be used to color nicknames " +#~ "in group chats." +#~ msgstr "" +#~ "Lista boja, odvojenih sa \":\", koje će biti korištene za bojanje " +#~ "nadimaka u grupnim razgovorima." + +#, fuzzy +#~ msgid "You have received new entries (and %d not displayed):" +#~ msgid_plural "You have received new entries (and %d not displayed):" +#~ msgstr[0] "Primili ste nove unose (i %(count)d nije prikazano):" +#~ msgstr[1] "Primili ste nove unose (i %(count)d nije prikazano):" +#~ msgstr[2] "Primili ste nove unose (i %(count)d nije prikazano):" + +#~ msgid "Stopped" +#~ msgstr "Zaustavljeno" + +#~ msgid "" +#~ "You are about to send your password on an insecure connection. You should " +#~ "install PyOpenSSL to prevent that. Are you sure you want to do that?" +#~ msgstr "" +#~ "Spremate se poslati vašu lozinku preko nesigurne veze. Trebali bi " +#~ "instalirati PyOpenSSL da bi to izbjegli. Sigurni ste da želite nastaviti?" + +#, fuzzy +#~ msgid "Status messages displayed in chat window" +#~ msgstr "Pošalji poruku i zatvori prozor" + +#~ msgid "?print_status:All" +#~ msgstr "?ispis_statusa:Sve" + +#~ msgid "Enter and leave only" +#~ msgstr "Samo ulasci i izlasci" + +#~ msgid "?print_status:None" +#~ msgstr "?ispis_statusa:Ništa" + +#, fuzzy +#~ msgid "Untrusted OpenPGP key" +#~ msgstr "Odaberite svoj OpenPGP ključ" + +#, fuzzy +#~ msgid "" +#~ "The OpenPGP key used to encrypt this chat is not trusted. Do you really " +#~ "want to encrypt this message?" +#~ msgstr "" +#~ "GPG ključ koji se koristi za kriptiranje ovog razgovora nije pouzdan. " +#~ "Zaista želite kriptirati ovu poruku?" + +#~ msgid "D-Bus python bindings are missing in this computer" +#~ msgstr "Ovom računalu nedostaju D-Bus python poveznice" + +#~ msgid "D-Bus capabilities of Gajim cannot be used" +#~ msgstr "D-Bus mogućnosti Gajima ne mogu se koristiti" + +#~ msgid "D-Bus does not run correctly on this machine" +#~ msgstr "D-Bus trenutno nije ispravno pokrenut na ovom računalu" + +#, fuzzy +#~ msgid "D-Bus does not run correctly on this machine: system bus not present" +#~ msgstr "D-Bus trenutno nije ispravno pokrenut na ovom računalu" + +#, fuzzy +#~ msgid "" +#~ "D-Bus does not run correctly on this machine: session bus not present" +#~ msgstr "D-Bus trenutno nije ispravno pokrenut na ovom računalu" + +#, fuzzy +#~ msgid "Command line Control" +#~ msgstr "Naredbena linija" + +#, fuzzy +#~ msgid "Enables you to control Gajim with via commandline" +#~ msgstr "Skripta koja kontrolira Gajim iz naredbene linije." + +#~ msgid "" +#~ "When is self contact row displayed. Can be \"always\", " +#~ "\"when_other_resource\" or \"never\"" +#~ msgstr "" +#~ "Kada prikazati red osobnih kontakata. Može biti \"always\", " +#~ "\"when_other_resource\" ili \"never\"" + +#~ msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +#~ msgstr "%(nick)s je izbačen od strane %(who)s: %(reason)s" + +#~ msgid "%(nick)s has been banned by %(who)s: %(reason)s" +#~ msgstr "%(nick)s ima zabranjen pristup od strane %(who)s: %(reason)s" + +#~ msgid "system shutdown" +#~ msgstr "zaustavljanje sustava" + +#~ msgid "** Role of %(nick)s has been set to %(role)s" +#~ msgstr "** Uloga %(nick)s je postavljena na %(role)s" + +#~ msgid "%s has left" +#~ msgstr "%s je napustio" + +#, fuzzy +#~ msgid "%s is full" +#~ msgstr "Font" + +#, fuzzy +#~ msgid "" +#~ "Can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no " +#~ "longer print status line in groupchats when a member changes their status " +#~ "and/or their status message. If \"all\" Gajim will print all status " +#~ "messages. If \"in_and_out\", Gajim will only print FOO enters/leaves " +#~ "group chat." +#~ msgstr "" +#~ "može biti \"none\", \"all\" ili \"in_and_out\". Ako je \"none\", Gajim " +#~ "više neće ispisivati statusnu liniju u grupnim razgovorima kada član " +#~ "promjeni svoj status i/ili izmjeni statusnu poruku. Ako je \"all\", Gajim " +#~ "će prikazivati sve statusne poruke. Ako je \"in_and_out\" Gajim će " +#~ "prikazivati samo poruke tipa FOO je ušao/izašao u/iz sobe." + +#, fuzzy +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "Prikaži statusne _poruke kontakata na listi" + +#, fuzzy +#~ msgid "" +#~ "You are about to send your password unencrypted on an insecure " +#~ "connection. Are you sure you want to do that?" +#~ msgstr "" +#~ "Spremate se poslati vašu lozinku preko nekriptirane veze. Jeste li " +#~ "sigurni da želite nastaviti?" + +#, fuzzy +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "Anonimna autentifikacija" + +#, fuzzy +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "Anon_imna autentifikacija" + +#, fuzzy +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "Anon_imna autentifikacija" + +#~ msgid "" +#~ "Displayed chat state notifications in chat windows. Can be one of all, " +#~ "composing_only, disabled." +#~ msgstr "" +#~ "Prikazane obavijesti o statusu u prozoru razgovora. Može biti jedno od " +#~ "svi, samo_sastavljanje, onemogućeno." + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." +#~ msgstr "" +#~ "Gajim može primati i slati meta-informacije vezane za razgovor koji " +#~ "vodite sa kontaktom. Ovdje možete odrediti koji statusi razgovora će se " +#~ "prikazati u prozorima razgovora." + +#~ msgid "This is an irreversible operation." +#~ msgstr "Ovo je nepovratna operacija." + +#~ msgid "Settings" +#~ msgstr "Postavke" + +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "Dobrodošli u Gajim Upravitelj Zapisima" + +#~ msgid "Member List" +#~ msgstr "Lista Članova" + +#~ msgid "Owner List" +#~ msgstr "Lista Vasnika" + +#~ msgid "Administrator List" +#~ msgstr "Lista Administratora" + +#~ msgid "Nick" +#~ msgstr "Nadimak" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "Koga želite zabraniti?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Member…" +#~ msgstr "Dodaja Člana..." + +#~ msgid "" +#~ "Whom do you want to make a member?\n" +#~ "\n" +#~ msgstr "" +#~ "Koga želite učiniti članom?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Owner…" +#~ msgstr "Dodavanje Vlasnika..." + +#~ msgid "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" +#~ msgstr "" +#~ "Koga želite učiniti vlasnikom?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Administrator…" +#~ msgstr "Dodajem Administratora..." + +#~ msgid "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" +#~ msgstr "" +#~ "Koga želite učiniti administratorom?\n" +#~ "\n" + +#~ msgid "Error reading file:" +#~ msgstr "Greška pri čitanju datoteke:" + +#~ msgid "Error parsing file:" +#~ msgstr "Greška pri učitavanju datoteke:" + +#~ msgid "List of possible features in Gajim:" +#~ msgstr "Popis eventualnih Gajim mogućnosti:" + +#~ msgid "Description" +#~ msgstr "Opis" + +#~ msgid "Password encryption" +#~ msgstr "Kriptiranje lozinke" + +#~ msgid "Spellchecking of composed messages." +#~ msgstr "Provjera pravopisa napisanih poruka." + +#~ msgid "Automatic status" +#~ msgstr "Automatski status" + +#~ msgid "Requires python2.5." +#~ msgstr "Potreban je python2.5." + +#~ msgid "" +#~ "Generate XHTML output from RST code (see http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Generira XHTML izlaz iz RST koda (pogledati http://docutils.sourceforge." +#~ "net/docs/ref/rst/restructuredtext.html)." + +#, fuzzy +#~ msgid "?features:Available" +#~ msgstr "Dostupan" + +#~ msgid "Feature" +#~ msgstr "Funkcija" + +#~ msgid "Filter:" +#~ msgstr "Filter:" + +#~ msgid "Chat Appearance" +#~ msgstr "Izgled Razgovora" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed out" +#~ msgstr "" +#~ "Gajim će vas obavijestiti o kontaktima koji su se upravo odjavili sa " +#~ "malim prozorom u donjem desnom kutu ekrana" + +#~ msgid "Sounds" +#~ msgstr "Zvuci" + +#~ msgid "Chat state notifications" +#~ msgstr "Vizualne Obavijesti o Statusu" + +#, fuzzy +#~ msgid "_Away after" +#~ msgstr "_Odsutan automatski nakon:" + +#~ msgid "" +#~ "If checked, Gajim will change status to Away when the computer is unused." +#~ msgstr "" +#~ "Ako je označeno, Gajim će promjeniti status u Odsutan kad se računalo ne " +#~ "koristi." + +#, fuzzy +#~ msgid "_Not available after" +#~ msgstr "_Nedostupan automatski nakon:" + +#~ msgid "Auto Status" +#~ msgstr "Automatski Status" + +#~ msgid "Status Messages" +#~ msgstr "Statusne Poruke" + +#, fuzzy +#~ msgid "Audio" +#~ msgstr "Akcije" + +#, fuzzy +#~ msgid "Video" +#~ msgstr "Srednje:" + +#, fuzzy +#~ msgid "Connection" +#~ msgstr "Uvjeti" + +#~ msgid "Custom" +#~ msgstr "Osobne" + +#~ msgid "Privacy" +#~ msgstr "Privatnost" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "Napredni Uređivač Postavki" + +#, fuzzy +#~ msgid "File transfer, room bookmarks" +#~ msgstr "Greška u Razmjeni Datoteka" + +#, fuzzy +#~ msgid "XML console interface" +#~ msgstr "XML Konzola" + +#, fuzzy +#~ msgid "" +#~ "A programming error has been detected. It probably is not fatal, but " +#~ "should be reported to the developers nonetheless." +#~ msgstr "" +#~ "Najvjerojatnije nije kobna, ali ipak preporučamo, da ju javite " +#~ "programerima." + +#~ msgid "" +#~ "A list of modp groups to use in a Diffie-Hellman, highest preference " +#~ "first, separated by commas. Valid groups are 1, 2, 5, 14, 15, 16, 17 and " +#~ "18. Higher numbers are more secure, but take longer to calculate when you " +#~ "start a session." +#~ msgstr "" +#~ "Popis modp grupa za korištenje sa Diffie-Hellman, one s najvećim " +#~ "prednostima ispred, odvojene zarezima. Ispravne grupe su 1, 2, 5, 14, 15, " +#~ "16, 17 i 18. Veći brojevi su sigurniji, ali im treba duže vremena za " +#~ "izračunavanje kod pokretanja sesije." + +#~ msgid "(ESession info)" +#~ msgstr "(ESession informacije)" + +#~ msgid "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" +#~ msgstr "" +#~ "Ako nije onemogućeno, Gajim će zamjeniti ascii smajliće poput ':)' sa " +#~ "ekvivalentnim animiranim ili statičnim grafičkim emotikonama" + +#, fuzzy +#~ msgid "_Emoticons" +#~ msgstr "_Emotikoni:" + +#~ msgid "_Highlight misspelled words" +#~ msgstr "_Istakni pogrešno napisane riječi" + +#, fuzzy +#~ msgid "Notify by icon when your messages are received" +#~ msgstr "Zvuk koji će svirati kada stigne neka MUC poruka." + +#, fuzzy +#~ msgid "T_heme" +#~ msgstr "_Tema:" + +#~ msgid "Themes" +#~ msgstr "Teme" + +#~ msgid "Always use this nickname when there is a conflict" +#~ msgstr "U slučaju konflikta uvijek koristi ovaj nadimak" + +#~ msgid "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." +#~ msgstr "" +#~ "Jabberd1.4 ne podržava sha informacije kada netko uđe u grupni razgovor " +#~ "zaštićen lozinkom. Isključite ovu opciju da prestanete slati sha " +#~ "informacije u grupnim razgovorima." + +#, fuzzy +#~ msgid "Presence" +#~ msgstr "_Prisutnost" + +#~ msgid "Emoticons disabled" +#~ msgstr "Emotikoni onemogućeni" + +#, fuzzy +#~ msgid "" +#~ "Your configured emoticons theme could not be loaded. See the log for more " +#~ "details." +#~ msgstr "" +#~ "Postavljena tema emotikona nije pronađena, emotikoni su onemogućeni." + +#~ msgid "You cannot make changes to the default theme" +#~ msgstr "Ne možete napraviti izmjene na predefiniranoj temi" + +#~ msgid "theme name" +#~ msgstr "ime teme" + +#~ msgid "You cannot delete your current theme" +#~ msgstr "Ne možete izbrisati svoju trenutnu temu" + +#~ msgid "New Single Message from %(nickname)s" +#~ msgstr "Nova Jedna Poruka od %(nickname)s" + +#~ msgid "New Private Message from group chat %s" +#~ msgstr "Nova Privatna Poruka iz privatnog razgovora %s" + +#~ msgid "%(nickname)s: %(message)s" +#~ msgstr "%(nickname)s: %(message)s" + +#~ msgid "Messaged by %(nickname)s" +#~ msgstr "Nova poruka od %(nickname)s" + +#~ msgid "Status message text color." +#~ msgstr "Boja teksta statusne poruke." + +#~ msgid "Incoming nickname font." +#~ msgstr "Font dolaznog nadimka." + +#~ msgid "Outgoing nickname font." +#~ msgstr "Boja odlaznog nadimka." + +#~ msgid "Status message text font." +#~ msgstr "Font teksta statusne poruke." + +#~ msgid "Background color of contacts when they just signed in." +#~ msgstr "Boja pozadine kontakata u trenu prijave." + +#~ msgid "Background color of contacts when they just signed out." +#~ msgstr "Boja pozadine kontakata u trenu odjave." + +#~ msgid "green" +#~ msgstr "zelena" + +#~ msgid "grocery" +#~ msgstr "namirnice" + +#~ msgid "human" +#~ msgstr "ljudska" + +#~ msgid "marine" +#~ msgstr "morska" + +#, fuzzy +#~ msgid "Contact row" +#~ msgstr "Kontakt" + +#~ msgid "Gajim Themes Customization" +#~ msgstr "Personalizacija Gajim Tema" + +#~ msgid "Text _color:" +#~ msgstr "Boj_a teksta:" + +#~ msgid "_Background:" +#~ msgstr "_Pozadina:" + +#~ msgid "Text _font:" +#~ msgstr "_Font Teksta:" + +#~ msgid "Font style:" +#~ msgstr "Stil fonta:" + +#~ msgid "Paused" +#~ msgstr "Pauza" + +#~ msgid "Gone" +#~ msgstr "Otišao" + +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "" +#~ "MUC\n" +#~ "Poruke" + +#~ msgid "Chatstate Tab Colors" +#~ msgstr "Boje Statusa (kartice)" + +#, fuzzy +#~ msgid "Chat message" +#~ msgstr "Poruka:" + +#~ msgid "Use system _default" +#~ msgstr "Definirano _sustavom" + +#~ msgid "Font" +#~ msgstr "Font" + +#, fuzzy +#~ msgid "Contact's nickname" +#~ msgstr "Ime kontakta" + +#, fuzzy +#~ msgid "_Status message" +#~ msgstr "_Statusna poruka:" + +#, fuzzy +#~ msgid "Your message" +#~ msgstr "Poruka Greške: %s" + +#, fuzzy +#~ msgid "_URL highlight" +#~ msgstr "_URL isticanje:" + +#~ msgid "Chat Line Colors" +#~ msgstr "Boja Razlomaka Razgovora" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#~ msgid "Resource:" +#~ msgstr "Resurs:" + +#~ msgid "Status:" +#~ msgstr "Status:" + +#~ msgid "Client:" +#~ msgstr "Klijent:" + +#~ msgid "Contact time:" +#~ msgstr "Vrijeme kontakta:" + +#~ msgid "Ask:" +#~ msgstr "Pitaj:" + +#~ msgid "Subscription:" +#~ msgstr "Pretplata:" + +#~ msgid "Name:" +#~ msgstr "Ime:" + +#~ msgid "Nickname:" +#~ msgstr "Nadimak:" + +#~ msgid "Street:" +#~ msgstr "Ulica:" + +#~ msgid "City:" +#~ msgstr "Grad:" + +#~ msgid "State:" +#~ msgstr "Država:" + +#~ msgid "Extra Address:" +#~ msgstr "Dodatna Adresa:" + +#~ msgid "Postal Code:" +#~ msgstr "Poštanski broj:" + +#~ msgid "Country:" +#~ msgstr "Zemlja:" + +#~ msgid "Homepage:" +#~ msgstr "Osobna Stranica:" + +#~ msgid "E-Mail:" +#~ msgstr "E-Mail:" + +#~ msgid "Phone No.:" +#~ msgstr "Broj Telefona:" + +#~ msgid "Birthday:" +#~ msgstr "Rođendan:" + +#~ msgid "Family:" +#~ msgstr "Prezime:" + +#~ msgid "Middle:" +#~ msgstr "Srednje:" + +#~ msgid "Prefix:" +#~ msgstr "Prefiks:" + +#~ msgid "Given:" +#~ msgstr "Djevojačko:" + +#~ msgid "Suffix:" +#~ msgstr "Dodatak:" + +#~ msgid "Full Name" +#~ msgstr "Puno Ime" + +#~ msgid "Company:" +#~ msgstr "Tvrtka:" + +#~ msgid "Department:" +#~ msgstr "Odjel:" + +#~ msgid "Position:" +#~ msgstr "Pozicija:" + +#~ msgid "Role:" +#~ msgstr "Uloga:" + +#~ msgid "- messages will be logged" +#~ msgstr "- poruke će biti zapisane" + +#~ msgid "- messages will not be logged" +#~ msgstr "- poruke neće biti zapisane" + +#~ msgid "Edit %s" +#~ msgstr "Izmjena %s" + +#~ msgid "Conversation History with %s" +#~ msgstr "Povijest Razgovora sa %s" + +#~ msgid "Contact with \"%s\" cannot be established" +#~ msgstr "Kontakt sa \"%s\" ne može biti uspostavljen" + +#~ msgid "Registration information for transport %s has not arrived in time" +#~ msgstr "Registracijske informacije za transport %s nisu došle na vrijeme" + +#~ msgid "Register to" +#~ msgstr "Registriraj na" + +#, fuzzy +#~ msgid "Enter name / JID of contact or groupchat" +#~ msgstr "Ime kontakta" + +#~ msgid "Search:" +#~ msgstr "Pretraga:" + +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "Bez veze nije moguća promjena lozinke." + +#~ msgid "Invalid password" +#~ msgstr "Neispravna lozinka" + +#~ msgid "The passwords typed in both fields must be identical." +#~ msgstr "Lozinke upisane u oba polja moraju biti identične." + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "Ponovite unos za potvrdu:" + +#~ msgid "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" +#~ msgstr "" +#~ "JID %s ne poštuje RFC pravila. Neće biti dodan na vašu listu kontakata. " +#~ "Upotrijebite alate za upravljanje listom kontakata kao što je http://jru." +#~ "jabberstudio.org/ za uklanjanje" + +#~ msgid "unsubscribe request from %s" +#~ msgstr "Zahtjev za ukidanjem pretplate od %s" + +#, fuzzy +#~ msgid "Homepage:" +#~ msgstr "Osobna Stranica:" + +#~ msgid "Manage Bookmarks" +#~ msgstr "Podešavanje Knjižnih Oznaka" + +#~ msgid "_Nickname:" +#~ msgstr "_Nadimak:" + +#, fuzzy +#~ msgid "Pr_int status:" +#~ msgstr "Ispis statusa:" + +#, fuzzy +#~ msgid "Add JID" +#~ msgstr "Jabber ID" + +#, fuzzy +#~ msgid "Preference:" +#~ msgstr "Postavke" + +#, fuzzy +#~ msgid "Preference" +#~ msgstr "Postavke" + +#, fuzzy +#~ msgid "JID:" +#~ msgstr "Vaš JID:" + +#, fuzzy +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "Molim ispunite podatke kontakta kojeg želite dodati za račun %s" + +#~ msgid "Please fill in the data of the contact you want to add" +#~ msgstr "Molim ispunite podatke kontakta kojeg želite dodati" + +#, fuzzy +#~ msgid "Recently" +#~ msgstr "Nedavno:" + +#~ msgid "Add New Contact" +#~ msgstr "Dodaj Novi Kontakt" + +#~ msgid "_User ID:" +#~ msgstr "_ID Korisnika:" + +#, fuzzy +#~ msgid "Type User ID" +#~ msgstr "ID Korisnika:" + +#, fuzzy +#~ msgid "Type Nickname" +#~ msgstr "Nadimak" + +#~ msgid "Personal Information" +#~ msgstr "Osobne Informacije" + +#~ msgid "Avatar:" +#~ msgstr "Avatar:" + +#~ msgid "Click to set your avatar" +#~ msgstr "Kliknite za postavljanje avatara" + +#, fuzzy +#~ msgid "Remove Avatar" +#~ msgstr "Ukloni Grupu" + +#~ msgid "Not fetched because of invisible status" +#~ msgstr "Nije dohvaćeno zbog statusa nevidljivosti" + +#~ msgid "Please wait..." +#~ msgstr "Molim pričekajte..." + +#~ msgid "" +#~ "When negotiating an encrypted session, should Gajim assume you want your " +#~ "messages to be logged?" +#~ msgstr "" +#~ "Prilikom pregovaranja o kriptiranoj sesiji, treba li Gajim pretpostaviti " +#~ "da želite zapisati vaš razgovor?" + +#~ msgid "Log _encrypted chat session" +#~ msgstr "Spremaj _kriptirane razgovore" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will keep logs for encrypted messages. Please note that " +#~ "when using end-to-end encryption the remote party has to agree on " +#~ "logging, else the messages will not be logged." +#~ msgstr "" +#~ "Ako je označeno, Gajim će spremati zapise kriptiranih poruka. Imajte na " +#~ "umu da se kod E2E enkripcije druga strana mora složiti s time, inače " +#~ "poruke neće biti zapisane." + +#~ msgid "Yahoo! Address:" +#~ msgstr "Yahoo! Adresa:" + +#~ msgid "Forward unread messages" +#~ msgstr "Proslijedi nepročitane poruke" + +#~ msgid "All unread messages have been forwarded." +#~ msgstr "Sve nepročitane poruke su proslijeđene." + +#, fuzzy +#~ msgid "Forward unread message then disconnect" +#~ msgstr "Proslijedi nepročitane poruke" + +#~ msgid "MSN Address:" +#~ msgstr "MSN Adresa:" + +#~ msgid "Confirm these session options" +#~ msgstr "Potvrdi ove sesijske postavke" + +#, fuzzy +#~ msgid "" +#~ "The remote client wants to negotiate a session with these features:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Are these options acceptable?" +#~ msgstr "" +#~ "Druga strana želi dogovoriti sesiju sa ovim značajkama:\n" +#~ "\n" +#~ "\t%s\n" +#~ "\n" +#~ "\tJesu li te postavke prihvatljive?" + +#~ msgid "" +#~ "The remote client selected these options:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Continue with the session?" +#~ msgstr "" +#~ "Druga strana je izabrala ove postavke:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Nastavi sesiju?" + +#, fuzzy +#~ msgid "Always accept for this contact" +#~ msgstr "Je li OpenPGP omogućen za ovog kontakta?" + +#~ msgid "End to End message encryption" +#~ msgstr "End to End kriptiranje poruka" + +#~ msgid "Encrypting chat messages." +#~ msgstr "Kriptiranje poruka." + +#~ msgid "Requires python-crypto." +#~ msgstr "Potreban je python-crypto." + +#~ msgid "Session negotiation cancelled" +#~ msgstr "Pregovaranje o sesiji neuspješno" + +#~ msgid "This session is encrypted" +#~ msgstr "Ova razgovor je kriptiran" + +#~ msgid " and WILL be logged" +#~ msgstr "i biti ĆE sačuvana" + +#~ msgid " and WILL NOT be logged" +#~ msgstr "i NEĆE biti sačuvana" + +#~ msgid "" +#~ "Remote contact's identity not verified. Click the shield button for more " +#~ "details." +#~ msgstr "" +#~ "Identitet druge strane nije potvrđen. Kliknite na ikonu štita za detalje." + +#, fuzzy +#~ msgid "end-to-end encryption disabled" +#~ msgstr "GPG enkripcija onemogućena" + +#~ msgid "" +#~ "Unable to decrypt message from %s\n" +#~ "It may have been tampered with." +#~ msgstr "" +#~ "Nemoguće dekriptirati poruke od %s\n" +#~ "Možda ih je netko izmjenio." + +#~ msgid "Unable to decrypt message" +#~ msgstr "Nemoguće dekriptirati poruku" + +#~ msgid "Enable ESessions encryption for this account." +#~ msgstr "Omogući ESessions enkripciju za ovaj račun." + +#~ msgid "Should Gajim automatically start an encrypted session when possible?" +#~ msgstr "" +#~ "Treba li Gajim automatski započeti kriptiranu sesiju, ako je to moguće?" + +#~ msgid "" +#~ "[This is part of an encrypted session. If you see this message, something " +#~ "went wrong.]" +#~ msgstr "" +#~ "[Ovo je dio kriptirane poruke. Ukoliko vidite ovu poruku nešto je pošlo " +#~ "po zlu.]" + +#~ msgid "Requires python-avahi." +#~ msgstr "Potreban je python-avahi." + +#, fuzzy +#~ msgid "Save Image as…" +#~ msgstr "Snimiti Sliku kao..." + +#, fuzzy +#~ msgid "Exporting History Logs…" +#~ msgstr "Izvozim Zapise..." + +#~ msgid "When %s becomes:" +#~ msgstr "Kad %s postane:" + +#~ msgid "Adding Special Notification for %s" +#~ msgstr "Dodavanje Posebne Obavijesti za %s" + +#, fuzzy +#~ msgid "" +#~ "It seems the SSL certificate of account %(account)s has changed and is " +#~ "not valid or your connection is being compromised.\n" +#~ "\n" +#~ "Old SHA-1 fingerprint: %(old_sha1)s\n" +#~ "Old SHA-256 fingerprint: %(old_sha256)s\n" +#~ "\n" +#~ "New SHA-1 fingerprint: %(new_sha1)s\n" +#~ "New SHA-256 fingerprint: %(new_sha256)s\n" +#~ "\n" +#~ "Do you still want to connect and update the fingerprint of the " +#~ "certificate?" +#~ msgstr "" +#~ "Čini se da je SSL certifikat računa %(account)s promjenjen ili je vaša " +#~ "veza provaljena.\n" +#~ "Stari otisak: %(old)s\n" +#~ "Novi otisak: %(new)s\n" +#~ "\n" +#~ "Još uvijek se želite povezati i korigirati otisak certifikata?" + +#, fuzzy +#~ msgid "" +#~ "The authenticity of the %s certificate could be invalid.\n" +#~ "The certificate does not cover this domain." +#~ msgstr "Autentičnost certifikata %s bi mogla biti neispravna." + +#~ msgid "Unable to load idle module" +#~ msgstr "Nije moguće učitati modul idle" + +#, fuzzy +#~ msgid "%s or %s is a directory but should be a file" +#~ msgstr "%s je direktorij ali bi trebao biti datoteka" + +#~ msgid "creating logs database" +#~ msgstr "kreiram bazu zabilješki" + +#, fuzzy +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "Poslati %s prema %s" + +#, fuzzy +#~ msgid "Rename account label" +#~ msgstr "Preimenuj Račun" + +#, fuzzy +#~ msgid "Send Single Message..." +#~ msgstr "_Slanje Jedne Poruke..." + +#, fuzzy +#~ msgid "We received an error: {}" +#~ msgstr "Servis je odgovorio sa greškom." + +#~ msgid "E2E encryption disabled" +#~ msgstr "E2E enkripcija onemogućena" + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Dodaj ovaj certifikat na popis vjerodostojnih certifikata.\n" +#~ "SHA1 otisak certifikata:\n" +#~ "%s" + +#~ msgid "uri" +#~ msgstr "uri" + +#, fuzzy +#~ msgid "" +#~ "Install /\n" +#~ "Upgrade" +#~ msgstr "Zaustavljeno" + +#, fuzzy +#~ msgid "Install/Upgrade" +#~ msgstr "Zaustavljeno" + +#, fuzzy +#~ msgid "Security error during download" +#~ msgstr "Sigurnosna greška prilikom spajanja na \"%s\"" + +#, fuzzy +#~ msgid "Error in download" +#~ msgstr "Sigurnosna greška prilikom spajanja na \"%s\"" + +#~ msgid "cyan" +#~ msgstr "cijan" + +#~ msgid "migrating logs database to indices" +#~ msgstr "migriram bazu zabilješki u indekse" + +#, fuzzy +#~ msgid "Send File..." +#~ msgstr "Pošalji _Datoteku..." + +#, fuzzy +#~ msgid "HTTP File Upload not supported by your server" +#~ msgstr "Spremanje metakontakata nije podržano na vašem poslužitelju" + +#, fuzzy +#~ msgid "Jingle File Transfer" +#~ msgstr "Prijenosi Datoteka" + +#~ msgid "" +#~ "Your configured emoticons theme has not been found, so emoticons have " +#~ "been disabled." +#~ msgstr "" +#~ "Postavljena tema emotikona nije pronađena, emotikoni su onemogućeni." + +#~ msgid "Shows or hides the roster window" +#~ msgstr "Prikazuje ili skriva prozor liste" + +#~ msgid "Shows or hides the ipython window" +#~ msgstr "Prikazuje ili skriva ipython prozor" + +#, fuzzy +#~ msgid "XMPP account %s" +#~ msgstr "XMPP račun %s@%s" + +#, fuzzy +#~ msgid "Exception" +#~ msgstr "Opis" + +#~ msgid "" +#~ "someone@somewhere.com would like you to add some contacts " +#~ "in your roster." +#~ msgstr "" +#~ "netko@negdje.com želi da dodate neke kontakte na vašu listu." + +#~ msgid "" +#~ "Ordered list (space separated) of connection type to try. Can contain " +#~ "tls, ssl or plain" +#~ msgstr "" +#~ "Poredani popis (odjeljen razmakom) vrsta povezivanja za probati. Može " +#~ "sadržavati tls, ssl ili plain" + +#~ msgid "_Actions" +#~ msgstr "_Akcije" + +#, fuzzy +#~ msgid "Requires upower and python-dbus." +#~ msgstr "Potreban je python-dbus." + +#~ msgid "You are already in group chat %s" +#~ msgstr "Već ste u grupnom razgovoru %s" + +#~ msgid "Join Group Chat with account %s" +#~ msgstr "Pridružiti se Grupnom Razgovoru sa računom %s" + +#~ msgid "" +#~ "You have to choose an account from which you want to join the groupchat." +#~ msgstr "Morate izabrati račun sa kojeg želite ući u sobu." + +#, fuzzy +#~ msgid "Please enter the group chat JID as room@server." +#~ msgstr "Jabber ID grupnog razgovora ima nedozvoljene znakove." + +#, fuzzy +#~ msgid "The group chat JID contains invalid characters." +#~ msgstr "Jabber ID grupnog razgovora ima nedozvoljene znakove." + +#~ msgid "Start Chat with account %s" +#~ msgstr "Započeti Razgovor sa računom %s" + +#, fuzzy +#~ msgid "" +#~ "Fill in the nickname or the JID of the contact you would like\n" +#~ "to send a chat message to:" +#~ msgstr "" +#~ "Unesite JID ili nadimak kontakta kojem želite\n" +#~ "poslati poruku:" + +#, fuzzy +#~ msgid "Nickname / JID" +#~ msgstr "Dvostruki Jabber ID" + +#~ msgid "Unable to parse \"%s\"." +#~ msgstr "Nije moguće učitati \"%s\"." + +#~ msgid "Shows the chat dialog so that you can send messages to a contact" +#~ msgstr "Prikazuje dialog razgovora kako bi mogli slati poruke kontaktu" + +#~ msgid "JID of the contact that you want to chat with" +#~ msgstr "JID kontakta sa kojim želite razgovarati" + +#~ msgid "message content. The account must be specified or \"\"" +#~ msgstr "sadržaj poruke. Korisnički račun mora biti naveden ili \"\"" + +#~ msgid "Adds contact to roster" +#~ msgstr "Dodaje kontakt na listu" + +#~ msgid "jid" +#~ msgstr "jid" + +#~ msgid "Adds new contact to this account" +#~ msgstr "Dodaje novi kontakt ovom računu" + +#~ msgid "Opens 'Start Chat' dialog" +#~ msgstr "Otvaranje dialoga 'Započeti Razgovor'" + +#~ msgid "Starts chat, using this account" +#~ msgstr "Započinje razgovor, koristeći ovaj račun" + +#, fuzzy +#~ msgid "Handle a xmpp:/ URI" +#~ msgstr "Rukuj xmpp:/ adresama" + +#~ msgid "URI to handle" +#~ msgstr "URI za obraditi" + +#~ msgid "Account in which you want to handle it" +#~ msgstr "Račun sa kojim želite obraditi" + +#~ msgid "Message content" +#~ msgstr "Sadržaj poruke" + +#~ msgid "Join a MUC room" +#~ msgstr "Pridruživanje Novoj Sobi" + +#~ msgid "Nickname to use" +#~ msgstr "Nadimak koji će se koristiti" + +#~ msgid "Password to enter the room" +#~ msgstr "Lozinka za ulaz u sobu" + +#~ msgid "Account from which you want to enter the room" +#~ msgstr "Račun sa kojeg želite ući u sobu" + +#, fuzzy +#~ msgid "Wrong URI" +#~ msgstr "Krivi uri" + +#~ msgid "Nickname:" +#~ msgstr "Nadimak:" + +#~ msgid "Server:" +#~ msgstr "Poslužitelj:" + +#, fuzzy +#~ msgid "Join this room _automatically when I connect" +#~ msgstr "Pridruži se ovoj sobi automatski kada se povežem" + +#, fuzzy +#~ msgid "Bro_wse Rooms" +#~ msgstr "_Pregled" + +#, fuzzy +#~ msgid "Requires libgtkspell and libenchant." +#~ msgstr "Potreban je libgtkspell." + +#, fuzzy +#~ msgid "Network-Watcher" +#~ msgstr "Network-manager" + +#~ msgid "Autodetection of network status." +#~ msgstr "Automatsko otkrivanje mrežnog statusa." + +#, fuzzy +#~ msgid "Requires gnome-network-manager" +#~ msgstr "Potreban je gnome-network-manager i python-dbus." + +#, fuzzy +#~ msgid "Feature not available, see Help->Features" +#~ msgstr "Mogućnost nije dostupna za Windows." + +#~ msgid "This contact does not support file transfer." +#~ msgstr "Ovaj kontakt ne podržava prijenosa datoteka." + +#, fuzzy +#~ msgid "You need to know the real JID of the contact to send them a file." +#~ msgstr "Trebate znati pravi JID kontakta za slanje datoteke." + +#~ msgid "" +#~ "You have to install %s dictionary to use spellchecking, or choose another " +#~ "language by setting the speller_language option." +#~ msgstr "" +#~ "Morate instalirati %s rječnik kako bi ste mogli koristiti provjeru " +#~ "pravopisa, ili odaberite drugi jezik postavkom odabira speller_language " +#~ "opcije." + +#~ msgid "Hides the buttons in chat windows." +#~ msgstr "Skriva dugmad u prozorima razgovora." + +#~ msgid "Change the room's subject (Alt+T)" +#~ msgstr "Promjeni predmet razgovora u sobi (Alt+T)" + +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "Postavi knjižnu oznaku za sobu (Ctrl+B)" + +#~ msgid "Browse the chat history (Ctrl+H)" +#~ msgstr "Pregledaj povijest razgovora (Ctrl+H)" + +#, fuzzy +#~ msgid "Show advanced functions (Alt+D)" +#~ msgstr "Prikaži izbornik naprednih mogućnosti (Alt+A)" + +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "Dodaj kontakt na listu (Ctrl+D)" + +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "Pozovi kontakte na razgovor (Ctrl+G)" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Prikaži profil kontakta (Ctrl+I)" + +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Prikaži profil kontakta (Ctrl+I)" + +#~ msgid "Ma_ke message windows compact" +#~ msgstr "Na_pravi prozore sa razgovorom kompaktnim" + +#~ msgid "Hide all buttons in chat windows" +#~ msgstr "Sakrij dugmad u prozoru razgovora." + +#, fuzzy +#~ msgid "Hide the chat buttons" +#~ msgstr "Uporaba: /%s, sakriva dugmadi." + +#~ msgid "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." +#~ msgstr "" +#~ "Ako je Aktivno, će Gajim poslati upit za avatar svaki kontakt, koji nije " +#~ "imao avatar ili je onaj u memoriji prestar" + +#~ msgid "Disk Write Error" +#~ msgstr "Disk Write Error" + +#~ msgid "Set Custom _Avatar..." +#~ msgstr "Postavi Prilagođeni _Avatar..." + +#, fuzzy +#~ msgid "SSL certificate validation" +#~ msgstr "Provjera valjanosti SSL certifikata" + +#~ msgid "" +#~ "A library used to validate server certificates to ensure a secure " +#~ "connection." +#~ msgstr "" +#~ "Biblioteka koja se koristi za ovjeru certifikata poslužitelja da bi se " +#~ "osigurala sigurna veza." + +#, fuzzy +#~ msgid "Requires python-pyopenssl > 0.12 and pyasn1." +#~ msgstr "Potreban je python-pyopenssl." + +#, fuzzy +#~ msgid "?CLI:room" +#~ msgstr "soba" + +#, fuzzy +#~ msgid "?CLI:nick" +#~ msgstr "nadimak" + +#, fuzzy +#~ msgid "?CLI:password" +#~ msgstr "lozinka" + +#~ msgid "Use D-Bus and Notification-Daemon to show notifications" +#~ msgstr "Koristi DBus i Notification-Daemon za prikazivanje obavijesti" + +#~ msgid "Notification" +#~ msgstr "Obavijest" + +#~ msgid "Passive popups notifying for new events." +#~ msgstr "Neaktivni prozori sa obavijestima o novim događajima." + +#~ msgid "" +#~ "Requires python-notify or instead python-dbus in conjunction with " +#~ "notification-daemon." +#~ msgstr "" +#~ "Potreban je python-notify ili umjesto toga python-dbus u kombinaciji sa " +#~ "notification-daemon." + +#~ msgid "Ignore" +#~ msgstr "Ignoriraj" + +#~ msgid "_Open Gmail Inbox" +#~ msgstr "_Otvori Gmail Sandučić" + +#~ msgid "Notify on new _GMail email" +#~ msgstr "Obavijesti o novoj _Gmail e-pošti" + +#~ msgid "" +#~ "If checked, Gajim will show a notification when a new e-mail is received " +#~ "via GMail" +#~ msgstr "" +#~ "Ako je označeno, Gajim će obavještavati o novim e-mail porukama " +#~ "primljenim preko GMail" + +#~ msgid "Display _extra email details" +#~ msgstr "Prikaži dodatne email _detalje" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will also include information about the sender of new " +#~ "emails" +#~ msgstr "" +#~ "Ako je označeno, Gajim će ujedno uključiti i informacije o pošiljatelju" + +#~ msgid "GMail Options" +#~ msgstr "GMail Mogućnosti" + +#, fuzzy +#~ msgid "20" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Invited %s to %s" +#~ msgstr "Poslati %s prema %s" + +#~ msgid "GMail Email Received" +#~ msgstr "Primljen Gmail Email" + +#, fuzzy +#~ msgid "New e-mail on %(gmail_mail_address)s" +#~ msgstr "Novi E-mail na %(gmail_mail_address)s" + +#, fuzzy +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "Imate %d novi E-mail razgovor" +#~ msgstr[1] "Imate %d nova E-mail razovora" +#~ msgstr[2] "Imate %d novih E-mail razgovora" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "From: %(from_address)s\n" +#~ "Subject: %(subject)s\n" +#~ "%(snippet)s" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "Od: %(from_address)s\n" +#~ "Tema: %(subject)s\n" +#~ "%(snippet)s" + +#~ msgid "Resour_ce:" +#~ msgstr "Resur_s:" + +#~ msgid "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" +#~ msgstr "" +#~ "Resurs se šalje Jabber poslužitelju kako bi se razlikovao isti JID kod 2 " +#~ "ili više klijenata spojena u isto vrijeme na isti server sa istim " +#~ "računom. Dakle, možete biti spojeni sa resursom 'Posao' ili 'Kuća', " +#~ "klijent sa najvišim prioritetom dobivat će obavijesti o događajima" + +#~ msgid "A_djust to status" +#~ msgstr "Ure_di prema statusu" + +#~ msgid "Priority will change automatically according to your status." +#~ msgstr "Prioritet će biti automatski promijenjen prema vašem statusu." + +#~ msgid "Anonymous authentication" +#~ msgstr "Anonimna autentifikacija" + +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "Prioritet se u Jabberu koristi kako bi se odredilo tko dobiva događaje sa " +#~ "jabber poslužitelja kada su spojena 2 ili više klijenta koristeći isti " +#~ "račun; klijent sa najvišim prioritetom dobiva te događaje" + +#, fuzzy +#~ msgid "Synchronize contacts" +#~ msgstr "Sinkroniziraj kontakte" + +#~ msgid "Click to request authorization to all contacts of another account" +#~ msgstr "Kliknite da zatražite autorizaciju svih kontakata drugog računa" + +#~ msgid "Chan_ge Password" +#~ msgstr "P_romijeni Lozinku" + +#~ msgid "Administration operations" +#~ msgstr "Administratorski postupci" + +#, fuzzy +#~ msgid "Browse..." +#~ msgstr "_Pregled" + +#, fuzzy +#~ msgid "Certificate is e_ncrypted" +#~ msgstr "Certifikat odbijen" + +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "" +#~ "Ako je označeno, Gajim će se pri pokretanju automatski spojiti na jabber " +#~ "koristeći ovaj račun" + +#, fuzzy +#~ msgid "Synchronize logs with server" +#~ msgstr "Sinkroniziraj kontakte" + +#~ msgid "Synch_ronize account status with global status" +#~ msgstr "Sink_roniziraj status računa sa globalnim statusom" + +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "Ako je označeno, svaka promjena globalnog statusa (koji se mjenja " +#~ "padajućim izbornikom na dnu prozora kontaktne liste) promjenit će status " +#~ "i ovog računa" + +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "Ako je označeno, Gajim će odašiljati još neke IP adrese osim vaše, kako " +#~ "bi prijenosi datoteka imali veću šansu uspjeha." + +#~ msgid "Proxy" +#~ msgstr "Proxy" + +#~ msgid "" +#~ "Check this so Gajim will ask you before sending your password over an " +#~ "insecure connection." +#~ msgstr "" +#~ "Označite ovo kako bi vas Gajim obavijestio prije slanja vaše lozinke " +#~ "preko nesigurne veze." + +#~ msgid "Send _keep-alive packets" +#~ msgstr "Šalji _keep-alive pakete" + +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "" +#~ "Ako je označeno, Gajim će slati \"keep-alive\" pakete kako bi održao " +#~ "konekciju i spriječio prekid veze." + +#~ msgid "Use cust_om hostname/port" +#~ msgstr "Koristi vlastit_o ime poslužitelja/port" + +#~ msgid "_Hostname: " +#~ msgstr "_Ime poslužitelja:" + +#~ msgid "_Port: " +#~ msgstr "_Port: " + +#~ msgid "Choose _Key..." +#~ msgstr "Odaberi _Ključ" + +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "" +#~ "Ako je označeno, Gajim će preuzeti lozinku od GPG agenta kao seahorse" + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#~ msgid "_Edit Personal Information..." +#~ msgstr "_Izmjeni Osobne Informacije..." + +#~ msgid "Personal Information" +#~ msgstr "Osobne informacije" + +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "Sp_oji se prilikom pokretanja Gajima" + +#~ msgid "Synchroni_ze account status with global status" +#~ msgstr "Sinkroni_ziraj status računa sa globalnim statusom" + +#~ msgid "Use cust_om port:" +#~ msgstr "Koristi vlas_titi port:" + +#~ msgid "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." +#~ msgstr "" +#~ "Ako je pretpostavljeni port koji se koristi za dolazne poruke neprikladan " +#~ "za vaše postavke, ovdje možete odabrati neki drugi.\n" +#~ "Mogli bi ste uzeti u obzir mogućnost izmjene postavki vatrozida." + +#~ msgid "OpenPGP is not usable on this computer" +#~ msgstr "OpenPGP nije upotrebljiv na ovom računalu" + +#~ msgid "To change the account name, you must be disconnected." +#~ msgstr "Za promjenu imena računa morate se odspojiti." + +#~ msgid "To change the account name, you must read all pending events." +#~ msgstr "" +#~ "Da bi ste mogli promjeniti ime računa, morate pročitati sve čekajuće " +#~ "događaje" + +#~ msgid "Account Name Already Used" +#~ msgstr "Ime Računa Već Upotrebljeno" + +#~ msgid "" +#~ "This name is already used by another of your accounts. Please choose " +#~ "another name." +#~ msgstr "Ovo ime već koristi vaš drugi račun. Molim odaberite drugo ime." + +#~ msgid "Account name cannot be empty." +#~ msgstr "Ime računa ne može biti prazno." + +#~ msgid "Account name cannot contain spaces." +#~ msgstr "Ime računa ne može sadržavati razmake." + +#~ msgid "Enter a new name for account %s" +#~ msgstr "Unesite novo ime za račun %s" + +#, fuzzy +#~ msgid "A JID must be in the form \"user@servername\"." +#~ msgstr "Jabber ID mora biti forme \"korisnik@poslužitelj\"." + +#~ msgid "No such account available" +#~ msgstr "Takav račun nije dostupan" + +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "Morate napravit svoj račun prije izmjena osobnih informacija." + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "Bez veze sa poslužiteljom nije moguća izmjena osobnih informacija." + +#~ msgid "Your server can't save your personal information." +#~ msgstr "Vaš poslužitelj nije u mogućnosti spremiti vaše osobne informacije." + +#~ msgid "Please rename or remove it before enabling link-local messaging." +#~ msgstr "" +#~ "Molim uklonite ili preimenujte prije omogućivanja poruka lokalne veze." + +#~ msgid "THANKS:" +#~ msgstr "ZAHVALE:" + +#~ msgid "Could not write to %s. Session Management support will not work" +#~ msgstr "Nije moguće pisati u %s. Rukovanje sesijama neće biti moguće" + +#~ msgid "Jabber Traffic" +#~ msgstr "Jabber Promet" + +#~ msgid "_Enable" +#~ msgstr "_Omogući" + +#, fuzzy +#~ msgid "Filter" +#~ msgstr "Font" + +#~ msgid "_IQ" +#~ msgstr "_IU" + +#~ msgid "Info/Query" +#~ msgstr "Info/Upit" + +#~ msgid "XML Input" +#~ msgstr "XML Unos" + +#~ msgid "XML Console for %s" +#~ msgstr "XML Konzola za %s" + +#, fuzzy +#~ msgid "Idle for:" +#~ msgstr "XML Konzola za %s" + +#, fuzzy +#~ msgid "" +#~ "Request offline status messages from all contacts upon connecting. " +#~ "WARNING: This causes a lot of requests to be sent!" +#~ msgstr "" +#~ "Zatraži statusnu poruku odspojenih kontakata nakon spajanja na osobni " +#~ "račun. UPOZORENJE: To će uzrokovati mnogo poslanih zahtjeva!" + +#~ msgid "Last status: %s" +#~ msgstr "Zadnji status: %s" + +#~ msgid " since %s" +#~ msgstr " od %s" + +#~ msgid "since %s" +#~ msgstr "od %s" + +#, fuzzy +#~ msgid "Prefer" +#~ msgstr "Postavke" + +#, fuzzy +#~ msgid "Auto" +#~ msgstr "Automatsko spajanje" + +#, fuzzy +#~ msgid "otr" +#~ msgstr "Vruć" + +#, fuzzy +#~ msgid "Invalid expire value" +#~ msgstr "Neispravno Ime Poslužitelja" + +#, fuzzy +#~ msgid "There is an error" +#~ msgstr "Servis je odgovorio sa greškom." + +#~ msgid "How many minutes should last lines from previous conversation last." +#~ msgstr "Koliko minuta trebaju trajati linije iz prošlog razgovora." + +#~ msgid "" +#~ "Your configured emoticons theme cannot been loaded. You maybe need to " +#~ "update the format of emoticons.py file. See http://trac.gajim.org/wiki/" +#~ "Emoticons for more details." +#~ msgstr "" +#~ "Nije moguće učitati postavljenu temu emotikona. Možda morate ažurirati " +#~ "format emoticons.py datoteke. Pogledajte http://trac.gajim.org/wiki/" +#~ "Emoticons za više detalja." + +#~ msgid "You will be connected to %s without OpenPGP." +#~ msgstr "Biti će te spojeni na %s bez OpenPGP-a." + +#~ msgid "The following message was NOT encrypted" +#~ msgstr "Ova poruka NIJE kriptirana" + +#~ msgid "Toggle Open_PGP Encryption" +#~ msgstr "Uključi/Isključi Open_PGP Enkripciju" + +#~ msgid "Toggle End to End Encryption" +#~ msgstr "Uključi/Isključi End to End Enkripciju" + +#, fuzzy +#~ msgid "OpenPGP encryption enabled" +#~ msgstr "GPG enkripcija omogućena" + +#, fuzzy +#~ msgid "No OpenPGP key assigned" +#~ msgstr "GPG ključ nije dodjeljen" + +#, fuzzy +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages with OpenPGP." +#~ msgstr "" +#~ "Niti jedan GPG ključ nije dodjeljen ovom kontaktu. Nije moguće kriptirati " +#~ "poruke sa GPG." + +#~ msgid "Session WILL be logged" +#~ msgstr "Sesija ĆE biti sačuvana" + +#~ msgid "Session WILL NOT be logged" +#~ msgstr "Sesija NEĆE biti sačuvana" + +#~ msgid "is" +#~ msgstr "je" + +#~ msgid "is NOT" +#~ msgstr "NIJE" + +#~ msgid "will" +#~ msgstr "će" + +#~ msgid "will NOT" +#~ msgstr "NEĆE" + +#~ msgid "The following message was encrypted" +#~ msgstr "Ova poruka je kriptirana" + +#, fuzzy +#~ msgid "Toggle the OpenPGP encryption" +#~ msgstr "Uključi/Isključi Open_PGP Enkripciju" + +#~ msgid "" +#~ "Should Gajim automatically start an encrypted session with this contact " +#~ "when possible?" +#~ msgstr "" +#~ "Treba li Gajim automatski započeti kriptiranu sesiju sa ovim kontaktom, " +#~ "ako je to moguće?" + +#~ msgid "Neither the remote presence is signed, nor a key was assigned." +#~ msgstr "Niti je udaljena prisutnost potpisana, niti je dodijeljen ključ." + +#~ msgid "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "Kontaktov ključ (%s) se ne podudara s ključem dodjeljenim u Gajim." + +#~ msgid "[This message is *encrypted* (See :XEP:`27`]" +#~ msgstr "[Ova poruka je *kriptirana* (Vidi :XEP:`27`]" + +#~ msgid "" +#~ "Your chat session with %(jid)s is encrypted.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "Vaša sesija sa %(jid)s je kriptirana.\n" +#~ "\n" +#~ "Short Authentication String ove sesije je %(sas)s." + +#~ msgid "You have already verified this contact's identity." +#~ msgstr "Već ste potvrdili identitet ovog kontakta." + +#~ msgid "Contact's identity verified" +#~ msgstr "Kontaktov identitet potvrđen" + +#~ msgid "" +#~ "To be certain that only the expected person can read your messages " +#~ "or send you messages, you need to verify their identity by clicking the " +#~ "button below." +#~ msgstr "" +#~ "Da bi bili sigurni da će samo očekivane osobe moći čitati vaše " +#~ "poruke ili slati vama poruke, morate potvrditi njihov identitet klikom na " +#~ "dugme ispod." + +#~ msgid "Contact's identity NOT verified" +#~ msgstr "Kontaktov identitet NIJE potvrđen" + +#, fuzzy +#~ msgid "Verify…" +#~ msgstr "_Provjeri" + +#~ msgid "Have you verified the contact's identity?" +#~ msgstr "Jeste li potvrdili kontaktov identitet?" + +#~ msgid "" +#~ "To prevent talking to an unknown person, you should speak to %(jid)s directly (in person or on the phone) and verify that they see the same " +#~ "Short Authentication String (SAS) as you.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "Da bi spriječili razgovore sa nepoznatim osobama trebali bi razgovarati " +#~ "sa %(jid)s izravno (osobno ili preko telefona) i potvrditi da oni " +#~ "vide isti Short Authentication String (SAS) kao i vi.\n" +#~ "\n" +#~ "Short Authentication String ove sesije je %(sas)s." + +#~ msgid "Did you talk to the remote contact and verify the SAS?" +#~ msgstr "Jeste li razgovarali sa drugom stranom i potvrdili SAS?" + +#~ msgid "" +#~ "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "" +#~ "Kontaktov ključ (%s) se ne podudara sa ključem dodijeljenim u " +#~ "Gajim." + +#, fuzzy +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages." +#~ msgstr "" +#~ "Ovaj kontakt nema dodijeljeni GPG ključ. Nije moguće kriptirati poruke." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP key is assigned to this contact, but you do not trust their " +#~ "key, so message cannot be encrypted. Use your OpenPGP client " +#~ "to trust their key." +#~ msgstr "" +#~ "GPG ključ je dodijeljen ovom kontaktu, ali vi ne vjerujete njegovom " +#~ "ključu, tako da poruke nemogu biti kriptirane. Promjenite " +#~ "razinu povjerenja u njegov ključ sa GPG klijentom." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP Key is assigned to this contact, and you trust their key, so " +#~ "messages will be encrypted." +#~ msgstr "" +#~ "GPG ključ je dodijeljen ovom kontaktu, i vi vjerujete njegovom ključu, " +#~ "tako da će poruke biti kriptirane." + +#~ msgid "" +#~ "This icon indicates that this message has not yet\n" +#~ "been received by the remote end. If this icon stays\n" +#~ "for a long time, it's likely the message got lost." +#~ msgstr "" +#~ "Ova ikona ukazuje da ova poruka još nije\n" +#~ "primljena sa druge strane. Ukoliko se ova ikona zadrži\n" +#~ "duže vremena moguće je da je poruka izgubljena." + +#~ msgid "" +#~ "If True, listen to D-Bus signals from NetworkManager and change the " +#~ "status of accounts (provided they do not have listen_to_network_manager " +#~ "set to False and they sync with global status) based upon the status of " +#~ "the network connection." +#~ msgstr "" +#~ "Ako je Aktivno, osluškuj D-Bus signale NetworkManager-a i promjeni status " +#~ "računa (ako nemaju listen_to_network_manager postavljen na Neaktivno i " +#~ "sinkroniziraju se sa globalnim statusom) ovisno o statusu mrežnog spoja." + +#~ msgid "" +#~ "The database file (%s) cannot be read. Try to repair it or remove it (all " +#~ "history will be lost)." +#~ msgstr "" +#~ "Datoteku baze podataka (%s) nije moguće pročitati. Pokušajte je popraviti " +#~ "ili obrisati (svi zapisi razgovora će biti izgubljeni)." + +#~ msgid "Database cannot be read." +#~ msgstr "Nemoguće pročitati bazu podataka." + +#~ msgid "A message from a non-valid JID arrived, it has been ignored." +#~ msgstr "Primljena poruka nevažećeg JID-a, automatski je ignorirana." + +#~ msgid "Smooth scroll message in conversation window" +#~ msgstr "Glatko pomicanje kroz poruke u prozorima razgovora." + +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "Izmjeni Liste _Privatnosti..." + +#~ msgid "_Administrator" +#~ msgstr "_Administrator" + +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "Šalje poruku trenutno spojenim korisnicima na ovom poslužitelju" + +#~ msgid "Sets Message of the Day" +#~ msgstr "Postavlja Poruku Dana (Message of the Day)" + +#~ msgid "Updates Message of the Day" +#~ msgstr "Osvježava Poruku Dana" + +#~ msgid "Deletes Message of the Day" +#~ msgstr "Briše Poruku Dana" + +#~ msgid "Add _Contact..." +#~ msgstr "Dodaj _Kontakt..." + +#~ msgid "Profile, A_vatar" +#~ msgstr "Profil, A_vatar" + +#~ msgid "File _Transfers" +#~ msgstr "Prijenosi _Datoteka" + +#~ msgid "Help online" +#~ msgstr "Online Pomoć" + +#~ msgid "Frequently Asked Questions (online)" +#~ msgstr "Često Postavljana Pitanja (online)" + +#~ msgid "Fea_tures" +#~ msgstr "Mogućnos_ti Poslužitelja" + +#~ msgid "to %s account" +#~ msgstr "na %s račun" + +#~ msgid "using %s account" +#~ msgstr "koristeći %s račun" + +#~ msgid "of account %s" +#~ msgstr "računa %s" + +#~ msgid "for account %s" +#~ msgstr "za račun %s" + +#~ msgid "" +#~ "By removing this contact you also remove authorization resulting in him " +#~ "or her always seeing you as offline." +#~ msgstr "" +#~ "Uklanjanjem ovog kontakta ujedno i uklanjate odobrenje što konačno znači " +#~ "da će vas ta osoba uvijek vidjeti kao da ste odspojeni." + +#~ msgid "Message Body xmpp.org/getting-started" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:646 +#, fuzzy +msgid "_Please choose a server" +msgstr "Kérlek készíts egy tiszta új témát a kívánt névvel." + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "" + +#: gajim/data/gui/application_menu.ui:8 +#, fuzzy +msgid "_Start / Join Chat…" +msgstr "Beszélgetés kezdeményezése" + +#: gajim/data/gui/application_menu.ui:13 +#, fuzzy +msgid "Create _Group Chat…" +msgstr "Csoportos beszélgetések elhagyása" + +#: gajim/data/gui/application_menu.ui:18 +#, fuzzy +msgid "_History Manager" +msgstr "Előzménykezelő" + +#: gajim/data/gui/application_menu.ui:22 +#, fuzzy +msgid "Pl_ugins" +msgstr "Regisztráció nem sikerült" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +msgid "_Preferences" +msgstr "_Beállítások" + +#: gajim/data/gui/application_menu.ui:36 +#, fuzzy +msgid "_Accounts" +msgstr "Fiókok" + +#: gajim/data/gui/application_menu.ui:39 +#, fuzzy +msgid "_View" +msgstr "_Nézet" + +#: gajim/data/gui/application_menu.ui:46 +#, fuzzy +msgid "Show _Offline Contacts" +msgstr "Mutassa a kijelentkezett partnereket" + +#: gajim/data/gui/application_menu.ui:50 +#, fuzzy +msgid "Show _Active Contacts" +msgstr "Csak az _aktív partnereket mutassa" + +#: gajim/data/gui/application_menu.ui:54 +#, fuzzy +msgid "Show _Transports" +msgstr "Mutassa a transzportokat" + +#: gajim/data/gui/application_menu.ui:60 +#, fuzzy +msgid "_XML Console" +msgstr "XML parancssor" + +#: gajim/data/gui/application_menu.ui:64 +#, fuzzy +msgid "_File Transfer" +msgstr "Fileátvitelek" + +#: gajim/data/gui/application_menu.ui:74 +#, fuzzy +msgid "_Help" +msgstr "_Súgó" + +#: gajim/data/gui/application_menu.ui:77 +#, fuzzy +msgid "_Wiki (Online)" +msgstr "Online" + +#: gajim/data/gui/application_menu.ui:81 +#, fuzzy +msgid "FA_Q (Online)" +msgstr "Online" + +#: gajim/data/gui/application_menu.ui:85 +msgid "_Keyboard Shortcuts" +msgstr "" + +#: gajim/data/gui/application_menu.ui:89 +#, fuzzy +msgid "_Features" +msgstr "Funkciók" + +#: gajim/data/gui/application_menu.ui:93 +#, fuzzy +msgid "_About" +msgstr "Magamról" + +#: gajim/data/gui/filetransfer_progress.ui:125 +msgid "Speed" +msgstr "" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +#, fuzzy +msgid "OK" +msgstr "_OK" + +#: gajim/data/gui/plugins_window.ui:55 +msgid "Install Plugin from ZIP-File" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:56 +msgid "Install from File…" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:70 +#, fuzzy +msgid "Uninstall Plugin" +msgstr "" +"Telepítés /\n" +"Frissítés" + +#: gajim/data/gui/plugins_window.ui:116 +#, fuzzy +msgid "" +msgstr "Regisztráció nem sikerült" + +#: gajim/data/gui/plugins_window.ui:133 +#, fuzzy +msgid "Plugin Settings" +msgstr "Regisztráció nem sikerült" + +#: gajim/data/gui/plugins_window.ui:215 +#, fuzzy +msgid "" +msgstr "Leírás" + +#: gajim/data/gui/plugins_window.ui:239 +#, fuzzy +msgid "Version" +msgstr "GTK+ Verzió:" + +#: gajim/data/gui/plugins_window.ui:271 +#, fuzzy +msgid "Authors" +msgstr "_Engedélyez" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +#, fuzzy +msgid "Homepage" +msgstr "Weboldal:" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:349 +#, fuzzy +msgid "Installed" +msgstr "Várakozás" + +#: gajim/data/gui/plugins_window.ui:363 +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +msgid "Synchronise contacts" +msgstr "Partnerek szinkronizálása" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "Válaszd ki a fiókot amellyel szinkronizálni szeretnél" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +#, fuzzy +msgid "_Name" +msgstr "_Név:" + +#: gajim/data/gui/groupchat_creation.ui:122 +#, fuzzy +msgid "_Description" +msgstr "Leírás" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +#, fuzzy +msgid "_Address" +msgstr "_Cím:" + +#: gajim/data/gui/groupchat_creation.ui:278 +#, fuzzy +msgid "_Account" +msgstr "_Fiókok" + +#: gajim/data/gui/profile.ui:33 +#, fuzzy +msgid "Contact Infos" +msgstr "Személyes információk" + +#: gajim/data/gui/profile.ui:45 +#, fuzzy +msgid "Picture and Name" +msgstr "Használni kívánt kép" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "" + +#: gajim/data/gui/profile.ui:198 +msgid "Change your profile picture" +msgstr "" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:298 +#, fuzzy +msgid "Add Entry" +msgstr "Bejegyzés:" + +#: gajim/data/gui/profile.ui:410 +#, fuzzy +msgid "Update" +msgstr "MOTD Frissítése..." + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:15 +#, fuzzy +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "SOCKS5" + +#: gajim/data/gui/manage_proxies.ui:65 +#, fuzzy +msgid "Add Proxy" +msgstr "Prox_y:" + +#: gajim/data/gui/manage_proxies.ui:79 +#, fuzzy +msgid "Remove Proxy" +msgstr "Remove Group" + +#: gajim/data/gui/manage_proxies.ui:131 +#, fuzzy +msgid "Pass_word" +msgstr "Jel_szó:" + +#: gajim/data/gui/manage_proxies.ui:156 +#, fuzzy +msgid "Use proxy auth_entication" +msgstr "Use proxy auth_entication" + +#: gajim/data/gui/manage_proxies.ui:176 +#, fuzzy +msgid "_Username" +msgstr "_Felhasználónév:" + +#: gajim/data/gui/manage_proxies.ui:237 +#, fuzzy +msgid "_Host" +msgstr "_Hostnév:" + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "Helyi Jabber Azonosító:" + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "Erőforrás:" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "Állapot:" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +#, fuzzy +msgid "_Store conversation history" +msgstr "Beszélgetés _naplózása" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +msgid "Contact" +msgstr "Partner" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +msgid "First Name:" +msgstr "Vezetéknév:" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +msgid "Last Name:" +msgstr "Keresztnév:" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +#, fuzzy +msgid "XMPP Address:" +msgstr "AIM cím:" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "E-Mail:" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +msgid "Personal" +msgstr "Személyes" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "_Állapot" + +#: gajim/data/gui/account_context_menu.ui:20 +msgid "_Personal Events" +msgstr "Személyes _események" + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "_Ismerős hozzáadása..." + +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "_Szolgáltatások felderítése" + +#: gajim/data/gui/account_context_menu.ui:57 +msgid "_Execute Command..." +msgstr "_Parancs futtatása..." + +#: gajim/data/gui/account_context_menu.ui:65 +#, fuzzy +msgid "_View Server Info" +msgstr "Szerver" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:125 +#, fuzzy +msgid "Global Group Chat Search" +msgstr "Csatlakozás Csoportos Beszélgetéshez" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +#, fuzzy +msgid "_Back" +msgstr "Nemsokára vagyok" + +#: gajim/data/gui/start_chat_dialog.ui:386 +#, fuzzy +msgid "Select Account" +msgstr "%s fiók törlése" + +#: gajim/data/gui/start_chat_dialog.ui:477 +msgid "_Select" +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +#, fuzzy +msgid "Configure" +msgstr "_Beállítás" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +msgid "Create new post" +msgstr "Új bejegyzés létrehozása" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "Á_llapot" + +#: gajim/data/gui/systray_context_menu.ui:20 +msgid "_Start Chat..." +msgstr "Csevegés _kezdeményezése..." + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "_Levél Küldése..." + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "Összes függő esemény mutatása" + +#: gajim/data/gui/systray_context_menu.ui:52 +msgid "Mute Sounds" +msgstr "Hangok némítása" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +#, fuzzy +msgid "Contact List" +msgstr "Partnerek" + +#: gajim/data/gui/shortcuts_window.ui:24 +#, fuzzy +msgid "Create new group chat" +msgstr "Csoportos beszélgetések elhagyása" + +#: gajim/data/gui/shortcuts_window.ui:45 +#, fuzzy +msgid "File transfers" +msgstr "Fileátvitelek" + +#: gajim/data/gui/shortcuts_window.ui:52 +#, fuzzy +msgid "Set the status message" +msgstr "állapotüzenet" + +#: gajim/data/gui/shortcuts_window.ui:59 +#, fuzzy +msgid "Show XML console" +msgstr "_XML Parancssor Mutatása" + +#: gajim/data/gui/shortcuts_window.ui:74 +#, fuzzy +msgid "Appearance" +msgstr "Beszélgetés kinézete" + +#: gajim/data/gui/shortcuts_window.ui:79 +#, fuzzy +msgid "Show offline contacts" +msgstr "Mutassa a kijelentkezett partnereket" + +#: gajim/data/gui/shortcuts_window.ui:86 +#, fuzzy +msgid "Show only active contacts" +msgstr "Csak az _aktív partnereket mutassa" + +#: gajim/data/gui/shortcuts_window.ui:93 +msgid "Enable contact list filtering" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:100 +#, fuzzy +msgid "Show / hide contact list" +msgstr "Csak az _aktív partnereket mutassa" + +#: gajim/data/gui/shortcuts_window.ui:113 +#, fuzzy +msgid "Contact information" +msgstr "Személyes információk" + +#: gajim/data/gui/shortcuts_window.ui:120 +#, fuzzy +msgid "Rename contact" +msgstr "Rename Contact" + +#: gajim/data/gui/shortcuts_window.ui:127 +#, fuzzy +msgid "Delete contact" +msgstr "Elküldött partnerek:" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +#, fuzzy +msgid "Chat" +msgstr "Beszélgetések" + +#: gajim/data/gui/shortcuts_window.ui:142 +#, fuzzy +msgid "Message composition" +msgstr "Üzenet tartalma" + +#: gajim/data/gui/shortcuts_window.ui:147 +#, fuzzy +msgid "Send the message" +msgstr "Üzenet küldése" + +#: gajim/data/gui/shortcuts_window.ui:154 +#, fuzzy +msgid "Add new line" +msgstr "Új bejegyzés létrehozása" + +#: gajim/data/gui/shortcuts_window.ui:161 +msgid "Select an emoji" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:168 +#, fuzzy +msgid "Complete a command or a nickname" +msgstr "Kérlek készíts egy tiszta új témát a kívánt névvel." + +#: gajim/data/gui/shortcuts_window.ui:175 +#, fuzzy +msgid "Previously sent message" +msgstr "Sablonüzenetek:" + +#: gajim/data/gui/shortcuts_window.ui:182 +#, fuzzy +msgid "Next sent messages" +msgstr "Sablonüzenetek:" + +#: gajim/data/gui/shortcuts_window.ui:189 +#, fuzzy +msgid "Quote previous message" +msgstr "állapotüzenet" + +#: gajim/data/gui/shortcuts_window.ui:196 +#, fuzzy +msgid "Quote next message" +msgstr "Üzenet küldése" + +#: gajim/data/gui/shortcuts_window.ui:203 +#, fuzzy +msgid "Clear message entry" +msgstr "Üzenet elküldve" + +#: gajim/data/gui/shortcuts_window.ui:211 +#, fuzzy +msgid "Recent history" +msgstr "Legutóbbi:" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:230 +#, fuzzy +msgid "Clear chat window" +msgstr "Elrejti az ablakot" + +#: gajim/data/gui/shortcuts_window.ui:237 +#, fuzzy +msgid "Show chat history" +msgstr "Legutóbbi:" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:299 +msgid "Close chat" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:312 +#, fuzzy +msgid "Change Nickname" +msgstr "Becenév _megváltoztatása..." + +#: gajim/data/gui/chat_control.ui:48 +#, fuzzy +msgid "Drop files or contacts" +msgstr "Filet küld egy partnernek" + +#: gajim/data/gui/chat_control.ui:80 +#, fuzzy +msgid "1" +msgstr "Betűtípus" + +#: gajim/data/gui/chat_control.ui:101 +#, fuzzy +msgid "2 abc" +msgstr "Betűtípus" + +#: gajim/data/gui/chat_control.ui:121 +#, fuzzy +msgid "3 def" +msgstr "Betűtípus" + +#: gajim/data/gui/chat_control.ui:141 +#, fuzzy +msgid "4 ghi" +msgstr "Betűtípus" + +#: gajim/data/gui/chat_control.ui:161 +#, fuzzy +msgid "5 jkl" +msgstr "Betűtípus" + +#: gajim/data/gui/chat_control.ui:181 +#, fuzzy +msgid "6 mno" +msgstr "Betűtípus" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "" + +#: gajim/data/gui/chat_control.ui:221 +#, fuzzy +msgid "8 tuv" +msgstr "Betűtípus" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "" + +#: gajim/data/gui/chat_control.ui:261 +#, fuzzy +msgid "*" +msgstr "Betűtípus" + +#: gajim/data/gui/chat_control.ui:281 +#, fuzzy +msgid "0" +msgstr "Betűtípus" + +#: gajim/data/gui/chat_control.ui:301 +#, fuzzy +msgid "#" +msgstr "Betűtípus" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "_Beszélgetés Indítása" + +#: gajim/data/gui/contact_context_menu.ui:28 +msgid "Send _File..." +msgstr "_File Küldése..." + +#: gajim/data/gui/contact_context_menu.ui:44 +msgid "Invite _Contacts" +msgstr "_Partnerek Meghívása " + +#: gajim/data/gui/contact_context_menu.ui:58 +msgid "E_xecute Command..." +msgstr "Parancs _Futtatása..." + +#: gajim/data/gui/contact_context_menu.ui:67 +#, fuzzy +msgid "M_anage Contact" +msgstr "_Partner Kezelése" + +#: gajim/data/gui/contact_context_menu.ui:77 +msgid "_Rename..." +msgstr "Át_nevez..." + +#: gajim/data/gui/contact_context_menu.ui:84 +msgid "Edit _Groups..." +msgstr "Csoportok _Szerkesztése..." + +#: gajim/data/gui/contact_context_menu.ui:92 +#, fuzzy +msgid "Add Special _Notification..." +msgstr "Add Special _Notification..." + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "_Feliratkozás" + +#: gajim/data/gui/contact_context_menu.ui:115 +#, fuzzy +msgid "_Allow contact to see my status" +msgstr "Engedélyezem ennek a partnernek, hogy láthassa az állapotomat" + +#: gajim/data/gui/contact_context_menu.ui:123 +#, fuzzy +msgid "A_sk to see contact status" +msgstr "A_sk to see his/her status" + +#: gajim/data/gui/contact_context_menu.ui:131 +#, fuzzy +msgid "_Forbid contact to see my status" +msgstr "_Nem engedélyezem neki, hogy lássa az állapotom" + +#: gajim/data/gui/contact_context_menu.ui:159 +msgid "_Unignore" +msgstr "_Figyelmen kívül hagyás kikapcsolása" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "_Figyelmen kívül hagy" + +#: gajim/data/gui/contact_context_menu.ui:174 +#, fuzzy +msgid "_Add to Contact List..." +msgstr "_Ismerős hozzáadása..." + +#: gajim/data/gui/single_message_window.ui:42 +#, fuzzy +msgid "_To" +msgstr "neki" + +#: gajim/data/gui/single_message_window.ui:71 +#, fuzzy +msgid "Su_bject" +msgstr "Tárgy" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "" + +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "Ü_zenet" + +#: gajim/data/gui/single_message_window.ui:144 +#, fuzzy +msgid "Characters typed: 0" +msgstr "Nem megengedett karakter" + +#: gajim/data/gui/single_message_window.ui:189 +#, fuzzy +msgid "_From" +msgstr "Feladó" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "_Küldés" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "Üzenet küldése" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "_Válasz" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "Válasz erre az üzenetre" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "_Küld & Bezár" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "Üzenet küldése és az ablak bezárása" + +#: gajim/data/gui/vcard_information_window.ui:106 +#, fuzzy +msgid "Client" +msgstr "Kliens:" + +#: gajim/data/gui/vcard_information_window.ui:140 +#, fuzzy +msgid "Contact time" +msgstr "Partner neve" + +#: gajim/data/gui/vcard_information_window.ui:240 +#, fuzzy +msgid "User avatar" +msgstr "Avatar:" + +#: gajim/data/gui/vcard_information_window.ui:255 +#, fuzzy +msgid "Configured avatar" +msgstr "Beállított avatar:" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +msgid "Ask" +msgstr "" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +#, fuzzy +msgid "Subscription" +msgstr "Feliratkozás:" + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +#, fuzzy +msgid "Extra Address" +msgstr "Extra Cím:" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +msgid "Address" +msgstr "Cím" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +#, fuzzy +msgid "E-Mail" +msgstr "E-Mail:" + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "Formátum: ÉÉÉÉ-HH-NN" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +#, fuzzy +msgid "Family" +msgstr "Család:" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +#, fuzzy +msgid "Middle" +msgstr "A hét közepe" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +#, fuzzy +msgid "Prefix" +msgstr "Tulajdonságok" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +msgid "Given" +msgstr "" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +#, fuzzy +msgid "Suffix" +msgstr "Szuffixum:" + +#: gajim/data/gui/vcard_information_window.ui:958 +#, fuzzy +msgid "Name Details" +msgstr "Név:" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "" + +#: gajim/data/gui/vcard_information_window.ui:1017 +msgid "Personal Info" +msgstr "Személyes információk" + +#: gajim/data/gui/vcard_information_window.ui:1040 +#, fuzzy +msgid "Company" +msgstr "Cég:" + +#: gajim/data/gui/vcard_information_window.ui:1073 +#, fuzzy +msgid "Department" +msgstr "Részleg:" + +#: gajim/data/gui/vcard_information_window.ui:1104 +#, fuzzy +msgid "Position" +msgstr "Kondíció" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "Szerep" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "Magamról" + +#: gajim/data/gui/vcard_information_window.ui:1514 +msgid "Comments" +msgstr "Megjegyzések" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "Csoportok Szerkesztése" + +#: gajim/data/gui/passphrase_dialog.ui:8 +#, fuzzy +msgid "Passphrase" +msgstr "Passphrase" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +#, fuzzy +msgid "Themes" +msgstr "Téma" + +#: gajim/data/gui/themes_window.ui:171 +#, fuzzy +msgid "Add Setting" +msgstr "Regisztráció nem sikerült" + +#: gajim/data/gui/themes_window.ui:204 +#, fuzzy +msgid "Add new Theme" +msgstr "Új bejegyzés létrehozása" + +#: gajim/data/gui/themes_window.ui:219 +#, fuzzy +msgid "Remove Theme" +msgstr "Aktív" + +#: gajim/data/gui/bookmarks.ui:120 +#, fuzzy +msgid "Autojoin" +msgstr "Automatikus csatlakozás" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "" + +#: gajim/data/gui/preferences.ui:68 +#, fuzzy +msgid "Contact List Appearance" +msgstr "Névsor elem cseréje" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +#, fuzzy +msgid "Chats" +msgstr "Beszélgetések" + +#: gajim/data/gui/preferences.ui:215 +#, fuzzy +msgid "Visual Notifications" +msgstr "Képi értesítések" + +#: gajim/data/gui/preferences.ui:243 +#, fuzzy +msgid "Sounds" +msgstr "Wav hangok" + +#: gajim/data/gui/preferences.ui:303 +#, fuzzy +msgid "Ask For Status Message on…" +msgstr "Ask status message when I:" + +#: gajim/data/gui/preferences.ui:331 +#, fuzzy +msgid "Automatic Status Change" +msgstr "Automatikus állapot" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "" + +#: gajim/data/gui/preferences.ui:447 +#, fuzzy +msgid "Status Icon" +msgstr "Állapo _ikonkészlet:" + +#: gajim/data/gui/preferences.ui:472 +msgid "Style" +msgstr "Stílus" + +#: gajim/data/gui/preferences.ui:511 +#, fuzzy +msgid "Show _Features" +msgstr "Funkciók" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:632 +#, fuzzy +msgid "Audio" +msgstr "Hang teszt" + +#: gajim/data/gui/preferences.ui:660 +#, fuzzy +msgid "Video" +msgstr "Videó teszt" + +#: gajim/data/gui/preferences.ui:698 +#, fuzzy +msgid "Audio/Video" +msgstr "Hang / Videó" + +#: gajim/data/gui/preferences.ui:735 +#, fuzzy +msgid "Miscellaneous" +msgstr "Vegyes" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:821 +#, fuzzy +msgid "Advanced Configuration Editor… " +msgstr "Bővített Konfiguráció Szerkesztő" + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "" + +#: gajim/data/gui/server_info.ui:50 +msgid "Server Software" +msgstr "" + +#: gajim/data/gui/server_info.ui:80 +#, fuzzy +msgid "Server Uptime" +msgstr "Szerver válaszolt: %s" + +#: gajim/data/gui/server_info.ui:109 +#, fuzzy +msgid "Contact Addresses" +msgstr "Partner üzenete:" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "" + +#: gajim/data/gui/server_info.ui:177 +#, fuzzy +msgid "Proxy Type" +msgstr "Prox_y:" + +#: gajim/data/gui/server_info.ui:192 +#, fuzzy +msgid "No proxy used" +msgstr "Prox_y:" + +#: gajim/data/gui/server_info.ui:202 +#, fuzzy +msgid "View _Certificate" +msgstr "Kliens tanusítvány" + +#: gajim/data/gui/server_info.ui:222 +#, fuzzy +msgid "Proxy Host" +msgstr "Proxy _Hoszt:" + +#: gajim/data/gui/server_info.ui:421 +#, fuzzy +msgid "Copy info to clipboard" +msgstr "Link Helyének _Másolása" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:153 +#, fuzzy +msgid "Serial Number" +msgstr "GG szám:" + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:304 +msgid "Expires on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:465 +#, fuzzy +msgid "Copy Certificate Information" +msgstr "Személyes információk" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "Barátok Meghívása!" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +#, fuzzy +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "" +"You are going to begin a Multi-User Chat.\n" +"Select the contacts you want to invite" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +#, fuzzy +msgid "Please select a group chat server." +msgstr "Kérem válasszon MUC szervert." + +#: gajim/data/gui/chat_to_muc_window.ui:141 +#, fuzzy +msgid "Group chat server" +msgstr "Csoportos beszélgetések" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +msgid "In_vite" +msgstr "Meg_hív" + +#: gajim/data/gui/mam_preferences.ui:53 +#, fuzzy +msgid "_Default" +msgstr "Alapértelmezett" + +#: gajim/data/gui/mam_preferences.ui:136 +#, fuzzy +msgid "Archive" +msgstr "A file üres" + +#: gajim/data/gui/history_manager.ui:11 +#, fuzzy +msgid "_Export" +msgstr "Exportálás" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +#, fuzzy +msgid "Gajim History Logs Manager" +msgstr "Gajim History Logs Manager" + +#: gajim/data/gui/history_manager.ui:104 +#, fuzzy +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" +"This log manager is not intended for log viewing. If you are looking for " +"such functionality, use the history window instead.\n" +"\n" +"Use this program to delete or export logs. You can select logs from the left " +"and/or search database from below." + +#: gajim/data/gui/history_manager.ui:120 +#, fuzzy +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." + +#: gajim/data/gui/history_manager.ui:211 +#, fuzzy +msgid "Search database..." +msgstr "_Keresés az Adatbázisban" + +#: gajim/data/gui/history_manager.ui:226 +#, fuzzy +msgid "Search in database" +msgstr "_Keresés az Adatbázisban" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" + +#: gajim/data/gui/groupchat_invite.ui:69 +#, fuzzy +msgid "Invitees" +msgstr "Meg_hív" + +#: gajim/data/gui/groupchat_invite.ui:153 +#, fuzzy +msgid "Search contacts..." +msgstr "_Keresés az Adatbázisban" + +#: gajim/data/gui/groupchat_invite.ui:223 +#, fuzzy +msgid "Click on contacts you would like to invite to this group chat." +msgstr "%(nick)s el lettek távolítva a szobából (%(reason)s)" + +#: gajim/data/gui/service_discovery_window.ui:148 +#, fuzzy +msgid "Go" +msgstr "M_enj" + +#: gajim/data/gui/status_change_window.ui:27 +#, fuzzy +msgid "Change Status" +msgstr "Állapot megváltoztatása" + +#: gajim/data/gui/status_change_window.ui:56 +#, fuzzy +msgid "Status Presets…" +msgstr "Állapot üzenet" + +#: gajim/data/gui/status_change_window.ui:72 +msgid "Save this message as a preset" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:130 +#, fuzzy +msgid "Ac_tivity" +msgstr "Tevékenység:" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:278 +#, fuzzy +msgid "_Change Status" +msgstr "Állapot megváltoztatása" + +#: gajim/data/gui/status_change_window.ui:313 +#, fuzzy +msgid "Activity" +msgstr "Tevékenység:" + +#: gajim/data/gui/status_change_window.ui:326 +#, fuzzy +msgid "_No Activity" +msgstr "Tevékenység:" + +#: gajim/data/gui/status_change_window.ui:729 +#, fuzzy +msgid "Mood" +msgstr "Rosszkedvű" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +#, fuzzy +msgid "Author" +msgstr "_Engedélyez" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +#, fuzzy +msgid "Group Chat Language" +msgstr "Meghívó közös társalgásba" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +#, fuzzy +msgid "Copy Address" +msgstr "JID/E-mail Cím _Másolása" + +#: gajim/data/gui/emoji_chooser.ui:98 +#, fuzzy +msgid "No Results Found" +msgstr "Nincs eredmény" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr "XML parancssor" + +#: gajim/data/gui/xml_console.ui:131 +#, fuzzy +msgid "Start Search..." +msgstr "Csevegés _kezdeményezése..." + +#: gajim/data/gui/xml_console.ui:260 +#, fuzzy +msgid "Clear" +msgstr "Takarít" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "" + +#: gajim/data/gui/xml_console.ui:316 +#, fuzzy +msgid "Presets" +msgstr "_Jelenlét" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "Szonkronizálás : válassz partnereket" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +msgid "Select the contacts you want to synchronise" +msgstr "Válaszd ki a partnereket akikkel szinkronizálni akarsz" + +#: gajim/data/gui/groupchat_config.ui:51 +#, fuzzy +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" +"Egyik lehet a következőkből:\n" +"1. felhasznalo@domain/erőforrás (csak ez az erőforrás egyezhet).\n" +"2. felhasznalo@domain (bármely erőforrás egyezhet).\n" +"3. domain/erőforrás (csak ez az erőforrás egyezhet).\n" +"4. domain (a domain maga egyezik, mint bármely felhasznalo@domain,\n" +"domain/erőforrás, vagy cím tartalmaz aldomaint)." + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:309 +#, fuzzy +msgid "Reserved Name" +msgstr "Beállítás neve" + +#: gajim/data/gui/groupchat_config.ui:346 +#, fuzzy +msgid "Affiliation" +msgstr "Hovatartozás:" + +#: gajim/data/gui/groupchat_config.ui:377 +#, fuzzy +msgid "Affiliations" +msgstr "Alkalmazások" + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "Indok" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "Ban lista" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "_Elutasít" + +#: gajim/data/gui/subscription_request_window.ui:34 +#, fuzzy +msgid "_Block User" +msgstr "_Tiltás" + +#: gajim/data/gui/subscription_request_window.ui:49 +#, fuzzy +msgid "_Report as Spam" +msgstr "Hiba _jelentése" + +#: gajim/data/gui/subscription_request_window.ui:212 +#, fuzzy +msgid "_Deny…" +msgstr "_Elutasít" + +#: gajim/data/gui/subscription_request_window.ui:225 +#, fuzzy +msgid "Ac_cept" +msgstr "_Fiókok" + +#: gajim/data/gui/subscription_request_window.ui:230 +#, fuzzy +msgid "Allows the contact to see your online status" +msgstr "Engedélyezem ennek a partnernek, hogy láthassa az állapotomat" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:115 +#, fuzzy +msgid "_Report Bug" +msgstr "Hiba _jelentése" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "Esemény" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "Válassz hangot" + +#: gajim/data/gui/manage_sounds.ui:97 +#, fuzzy +msgid "Clear Sound" +msgstr "Válassz hangot" + +#: gajim/data/gui/manage_sounds.ui:118 +#, fuzzy +msgid "Play Sound" +msgstr "_Hangok lejátszása" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +#, fuzzy +msgid "_Send Files" +msgstr "_File Küldése" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +#, fuzzy +msgid "Send" +msgstr "_Küld" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +#, fuzzy +msgid "Files to send" +msgstr "Válaszd ki az elküldendő filet..." + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +#, fuzzy +msgid "Add Files" +msgstr "File: " + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +#, fuzzy +msgid "Remove Files" +msgstr "_Eltávolítás" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +#, fuzzy +msgid "Idle since:" +msgstr "%s óta tétlen" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +msgid "Mood:" +msgstr "Hangulat:" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +msgid "Activity:" +msgstr "Tevékenység:" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +#, fuzzy +msgid "Tune:" +msgstr "Zene: %s" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +#, fuzzy +msgid "Location:" +msgstr "Tartózkodási hely: %s" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +#, fuzzy +msgid "Subscription:" +msgstr "Feliratkozás:" + +#: gajim/data/gui/advanced_configuration.ui:15 +#, fuzzy +msgid "A restart may be required for some settings to take effect" +msgstr "" +"MEGJEGYZÉS: Ahhoz hogy minden módosítás életbeléphessen, újra kell " +"indítani a Gajim-ot" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "" + +#: gajim/data/gui/advanced_configuration.ui:120 +#, fuzzy +msgid "_Reset Value" +msgstr "_Alapértelmezett színek visszaállítása" + +#: gajim/data/gui/advanced_configuration.ui:125 +#, fuzzy +msgid "Resets value to default" +msgstr "_Alapértelmezett színek visszaállítása" + +#: gajim/data/gui/history_window.ui:27 +#, fuzzy +msgid "Display status changes" +msgstr "_Log status changes of contacts" + +#: gajim/data/gui/history_window.ui:57 +msgid "History Manager" +msgstr "Előzménykezelő" + +#: gajim/data/gui/history_window.ui:233 +#, fuzzy +msgid "Mode" +msgstr "Moderátor" + +#: gajim/data/gui/history_window.ui:246 +#, fuzzy +msgid "Search complete history" +msgstr "Legutóbbi:" + +#: gajim/data/gui/history_window.ui:263 +msgid "Search selected day only" +msgstr "" + +#: gajim/data/gui/history_window.ui:317 +#, fuzzy +msgid "Store history for this chat" +msgstr "Mellőzd ezt a hibát ehhez a tanusítványhoz." + +#: gajim/data/gui/history_window.ui:332 +#, fuzzy +msgid "Store History" +msgstr "Legutóbbi:" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +#, fuzzy +msgid "Identified Error" +msgstr "SSL tanusítvány hiba" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +#, fuzzy +msgid "" +msgstr "Hiba" + +#: gajim/data/gui/ssl_error_dialog.ui:74 +#, fuzzy +msgid "Add this certificate to the list of _trusted certificates" +msgstr "" +"Tanusítvány hozzáadása a megbízható tanusítványok listájához.\n" +"A tanusítvány SHA1 ujjlenyomata:\n" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +#, fuzzy +msgid "_View Certificate" +msgstr "Kliens tanusítvány" + +#: gajim/data/gui/ssl_error_dialog.ui:120 +#, fuzzy +msgid "_Connect" +msgstr "Csatlakozva" + +#: data/org.gajim.Gajim.desktop.in:5 +#, fuzzy +msgid "XMPP Chat Client" +msgstr "Jabber Azonnali üzenetküldő kliens" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:8 +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:27 +#, fuzzy +msgid "Show next pending event" +msgstr "Összes függő esemény mutatása" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:17 +#, fuzzy +msgid "Features:" +msgstr "Funkciók" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +#, fuzzy +msgid "Automatic spell-checking for your messages" +msgstr "A fogalmazott üzenetek helyesírás ellenőrzése" + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +#, fuzzy +msgid "Support for service discovery including nodes and search for users" +msgstr "Szolgáltatás felderítés ennek a fióknak a használatával: %s" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +#, fuzzy +msgid "Contact list" +msgstr "Partnerek" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +#, fuzzy +msgid "Group chat support" +msgstr "Csoportos beszélgetések" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +#, fuzzy +msgid "Chat history" +msgstr "Legutóbbi:" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +#, fuzzy +msgid "Plugin manager" +msgstr "Regisztráció nem sikerült" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +#, fuzzy +msgid "Gajim Team" +msgstr "Gajim - %s" + +#, fuzzy +#~ msgid "Chat Settings" +#~ msgstr "Regisztráció nem sikerült" + +#~ msgid "Composing only" +#~ msgstr "Csak fogalmazás" + +#~ msgid "All chat states" +#~ msgstr "Minden beszélgetésállapot" + +#~ msgid "Privacy Lists" +#~ msgstr "Magánéleti listák" + +#, fuzzy +#~ msgid "Unblock" +#~ msgstr "Tiltás _Feloldása" + +#, fuzzy +#~ msgid "Block" +#~ msgstr "_Tiltás" + +#~ msgid "None" +#~ msgstr "Egyik sem" + +#, python-format +#~ msgid "%s Status Message" +#~ msgstr "%s Állapot üzenet" + +#~ msgid "an audio and video" +#~ msgstr "egy hang és videó" + +#~ msgid "an audio" +#~ msgstr "egy hang" + +#~ msgid "a video" +#~ msgstr "egy videó" + +#, fuzzy, python-format +#~ msgid "" +#~ "%(contact)s wants to start a %(type)s chat with you. Do you want to " +#~ "answer the call?" +#~ msgstr "" +#~ "%(contact)s wants to start %(type)s session with you. Do you want to " +#~ "answer the call?" + +#~ msgid "Could not load image" +#~ msgstr "Nem lehet a képet betölteni" + +#~ msgid "Error." +#~ msgstr "Hiba." + +#, fuzzy, python-format +#~ msgid "%(type)s state : %(state)s, reason: %(reason)s" +#~ msgstr "%(type)ok állapot : %(state)ok, indok: %(reason)s" + +#, fuzzy +#~ msgid "" +#~ "This contact will see you offline and you will not receive any messages " +#~ "sent to you by this contact." +#~ msgstr "" +#~ "This contact will see you offline and you will not receive messages he " +#~ "will send you." + +#, fuzzy +#~ msgid "_Block Contact" +#~ msgstr "Letiltott Partnerek" + +#, fuzzy +#~ msgid "Block Group" +#~ msgstr "_Tiltás" + +#, fuzzy +#~ msgid "Really block this group?" +#~ msgstr "Is OpenPGP enabled for this contact?" + +#, fuzzy +#~ msgid "" +#~ "All contacts of this group will see you as offline and you will not " +#~ "receive any messages sent to you by any one of these contacts." +#~ msgstr "" +#~ "This contact will see you offline and you will not receive messages he " +#~ "will send you." + +#, fuzzy +#~ msgid "_Block Group" +#~ msgstr "_Tiltás" + +#, fuzzy +#~ msgid "No account available" +#~ msgstr "No account available" + +#, fuzzy +#~ msgid "You must create an account before you can chat with other contacts." +#~ msgstr "You must create an account before you can chat with other contacts." + +#, fuzzy +#~ msgid "Metacontacts storage not supported by your server" +#~ msgstr "Metacontacts storage not supported by your server" + +#, fuzzy +#~ msgid "" +#~ "Your server does not support storing metacontacts information. So this " +#~ "information will not be saved on next reconnection." +#~ msgstr "" +#~ "Your server does not support storing metacontacts information. So those " +#~ "information will not be saved on next reconnection." + +#, fuzzy, python-brace-format +#~ msgid "You are invited to {room} by {user}" +#~ msgstr "Meghívtak közös társalgásba" + +#, python-format +#~ msgid "%s wants to start a voice chat." +#~ msgstr "%s szeretne élőszóban beszélni veled." + +#~ msgid "Could not save your settings and preferences" +#~ msgstr "Nem lehet elmenteni a beállításaid." + +#, fuzzy +#~ msgid "Error While Removing Privacy List" +#~ msgstr "Hiba a magánéleti lista eltávolításakor" + +#, fuzzy, python-format +#~ msgid "" +#~ "Privacy list %s has not been removed. It is probably active in one of " +#~ "your connected resources. Please deactivate it and try again." +#~ msgstr "" +#~ "Privacy list %s has not been removed. It is maybe active in one of your " +#~ "connected resources. Deactivate it and try again." + +#, fuzzy +#~ msgid "Invisibility Not Supported" +#~ msgstr "A láthatatlanság nem támogatott" + +#, fuzzy, python-format +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "Account %s doesn't support invisibility." + +#, fuzzy +#~ msgid "Could not request upload slot for HTTP File Upload" +#~ msgstr "Nem lehet elindítani a helyi szolgáltatást" + +#, fuzzy +#~ msgid "Not Secure" +#~ msgstr "Nincs elkezdve" + +#, fuzzy +#~ msgid "Could not Upload File" +#~ msgstr "Nem lehet a képet betölteni" + +#~ msgid "Lists all preferences and their values" +#~ msgstr "Kilistáz minden beállítást és azok értékeit" + +#, fuzzy +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "Sets value of 'key' to 'value'." + +#~ msgid "key=value" +#~ msgstr "kulcs=érték" + +#, fuzzy +#~ msgid "'key' is the name of the preference, 'value' is what to set it to" +#~ msgstr "" +#~ "'key' is the name of the preference, 'value' is the value to set it to" + +#~ msgid "Deletes a preference item" +#~ msgstr "Töröl egy beállítási elemet" + +#~ msgid "key" +#~ msgstr "kulcs" + +#~ msgid "name of the preference to be deleted" +#~ msgstr "a beállítás neve ami törlődni fog" + +#~ msgid "Writes the current state of Gajim preferences to the .config file" +#~ msgstr "" +#~ "Kiírja a Gajim beállításainak jelenlegi állapotát egy .config fileba" + +#, python-format +#~ msgid "%s is a directory but should be a file" +#~ msgstr "%s egy könyvtár de lehetne egy file is" + +#, fuzzy, python-format +#~ msgid "Creating %s" +#~ msgstr "%s törlése" + +#, python-format +#~ msgid "%(nickname)s Signed In" +#~ msgstr "%(nickname)s bejelentkezett" + +#~ msgid "Contact Signed In" +#~ msgstr "Partner bejelentkezett" + +#, python-format +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "%(nickname)s kijelentkezett" + +#~ msgid "Contact Signed Out" +#~ msgstr "Partner kijelentkezett" + +#, fuzzy +#~ msgid "" +#~ "Show desktop notification even when a chat window is opened for this " +#~ "contact and does not have focus." +#~ msgstr "Allow pop-up/notifications when I'm _away/na/busy/invisible" + +#~ msgid "default" +#~ msgstr "alapértelmezett" + +#, fuzzy +#~ msgid "" +#~ "Character to propose to add after desired nickname when nickname is " +#~ "already used in group chat." +#~ msgstr "" +#~ "Character to propose to add after desired nickname when desired nickname " +#~ "is used by someone else in group chat." + +#, fuzzy +#~ msgid "" +#~ "How many seconds to wait before trying to automatically rejoin a group " +#~ "chat you were disconnected from. Set to 0 to disable automatic rejoining." +#~ msgstr "" +#~ "How many seconds to wait before trying to autorejoin to a conference you " +#~ "are being disconnected from. Set to 0 to disable autorejoining." + +#, fuzzy +#~ msgid "If enabled, Gajim displays the avatar in the chat window." +#~ msgstr "If False, you will no longer see the avatar in the chat window." + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will show affiliation of group chat participants by " +#~ "adding a colored square to the status icon." +#~ msgstr "" +#~ "If True, Gajim will show affiliation of groupchat occupants by adding a " +#~ "coloured square to the status icon" + +#, fuzzy +#~ msgid "" +#~ "Status to be used automatically when connecting. Can be 'online', 'chat', " +#~ "'away', 'xa' or 'dnd'. NOTE: This option is used only if " +#~ "'restore_last_status' is disabled." +#~ msgstr "" +#~ "Status used to autoconnect as. Can be online, chat, away, xa, dnd, " +#~ "invisible. NOTE: this option is used only if restore_last_status is " +#~ "disabled" + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending password on an plaintext connection. " +#~ "Can be 'warn', or 'none'." +#~ msgstr "" +#~ "Show a warning dialogue before sending password on an plaintext " +#~ "connection." + +#, fuzzy +#~ msgid "" +#~ "How many seconds to wait for the answer of a ping alive packet before " +#~ "trying to reconnect." +#~ msgstr "" +#~ "How many seconds to wait for the answer of ping alive packet before we " +#~ "try to reconnect." + +#~ msgid "I'm available." +#~ msgstr "Elérhető vagyok." + +#~ msgid "I'm free for chat." +#~ msgstr "Ráérek beszélgetni." + +#~ msgid "Be right back." +#~ msgstr "Nemsokára vagyok." + +#~ msgid "I'm not available." +#~ msgstr "Nem vagyok elérhető." + +#~ msgid "Do not disturb." +#~ msgstr "Ne zavarjanak." + +#~ msgid "Bye!" +#~ msgstr "Bye!" + +#~ msgid "Timeout loading image" +#~ msgstr "Időtúllépés a kép betöltése közben" + +#~ msgid "Image is too big" +#~ msgstr "Túl nagy a kép" + +#, fuzzy +#~ msgid "PyCURL is not installed" +#~ msgstr "CRL még nem érvényes" + +#, fuzzy +#~ msgid "Error loading image" +#~ msgstr "Időtúllépés a kép betöltése közben" + +#~ msgid "Blocked Contacts" +#~ msgstr "Letiltott Partnerek" + +#, fuzzy +#~ msgid "Group chat" +#~ msgstr "Csoportos beszélgetések" + +#, fuzzy +#~ msgid "Bookmark group chat" +#~ msgstr "Szoba felvétele a _könyvjelzők közé" + +#, fuzzy +#~ msgid "Bookmark" +#~ msgstr "_Könyvjelző" + +#, fuzzy +#~ msgid "Recently used group chats" +#~ msgstr "_csoportos beszélgetésekben" + +#, fuzzy +#~ msgid "Clear Avatar" +#~ msgstr "Felhasználói avatar:" + +#, fuzzy +#~ msgid "Set Avatar…" +#~ msgstr "Válassz képet" + +#, fuzzy +#~ msgid "Contact" +#~ msgstr "Kapcsolat ideje:" + +#, fuzzy +#~ msgid "_Leave Group Chat" +#~ msgstr "Csoportos beszélgetések elhagyása" + +#, fuzzy +#~ msgid "Enter a new name for this group chat" +#~ msgstr "Enter a new name for group %s" + +#, fuzzy +#~ msgid "Use default applications" +#~ msgstr "Always use KDE default applications" + +#~ msgid "Custom" +#~ msgstr "Egyéni" + +#~ msgid "Pop it up" +#~ msgstr "Ugorjon fel" + +#~ msgid "Notify me about it" +#~ msgstr "Figyelmeztessen róla" + +#, fuzzy +#~ msgid "Show only in contact list" +#~ msgstr "Csak az _aktív partnereket mutassa" + +#, fuzzy +#~ msgid "No status messages" +#~ msgstr "állapotüzenet" + +#, fuzzy +#~ msgid "All status messages" +#~ msgstr "állapotüzenet" + +#, fuzzy +#~ msgid "Only enter/leave messages" +#~ msgstr "You have unread messages" + +#, fuzzy +#~ msgid "Me_rge accounts" +#~ msgstr "Fiókok _egyesítése" + +#, fuzzy +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "Partnerek a_vatarjainak megjelenítése a főablakban" + +#, fuzzy +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "" +#~ "If ticked, Gajim will display avatars of contacts in roster window and in " +#~ "group chats" + +#, fuzzy +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "Partnerek állapotüz_eneteinek megjelenítése a főablakban" + +#, fuzzy +#~ msgid "" +#~ "If checked, status messages of contacts will be shown under the contact's " +#~ "name, in the contact list window, and in group chats" +#~ msgstr "" +#~ "If ticked, Gajim will display status messages of contacts under the " +#~ "contact name in roster window and in group chats" + +#, fuzzy +#~ msgid "" +#~ "Show e_xtra information of contacts in contact list (mood, activity, ...)" +#~ msgstr "Partnerek tartózkodási _helyének megjelenítése a főablakban" + +#, fuzzy +#~ msgid "in _contact list" +#~ msgstr "Elküldött partnerek:" + +#~ msgid "in _group chats" +#~ msgstr "_csoportos beszélgetésekben" + +#, fuzzy +#~ msgid "Enable spell _checking" +#~ msgstr "Helyesírás-ellenőrző" + +#, fuzzy +#~ msgid "" +#~ "If checked, spelling errors in input fields of chat windows will be " +#~ "highlighted. If no language is explicitly set via right click on the " +#~ "input field, the default language will be used for this contact or group " +#~ "chat. Needs gspell to be installed." +#~ msgstr "" +#~ "If ticked, Gajim will highlight spelling errors in input fields of chat " +#~ "windows. If no language is explicitly set via right click on the input " +#~ "field, the default language will be used for this contact or group chat." + +#, fuzzy +#~ msgid "Display status messages in _single chats" +#~ msgstr "Partnerek állapotüz_eneteinek megjelenítése a főablakban" + +#, fuzzy +#~ msgid "" +#~ "If checked, status lines will be shown in 1 on 1 chats when a contact " +#~ "changes their status or status message" +#~ msgstr "" +#~ "If False, Gajim will no longer print status line in chats when a contact " +#~ "changes his or her status and/or status message." + +#, fuzzy +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "Nem sikerült csatlakozni közös beszélgetéshez" + +#, fuzzy +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "Nem sikerült csatlakozni közös beszélgetéshez" + +#, fuzzy +#~ msgid "Show status changes (Default)" +#~ msgstr "_Log status changes of contacts" + +#, fuzzy +#~ msgid "" +#~ "If checked, the tab will be colored according to the current chatstate of " +#~ "the contact" +#~ msgstr "" +#~ "If ticked, Gajim will allow others to detect the operation system you are " +#~ "using" + +#, fuzzy +#~ msgid "" +#~ "If checked, a description of the contacts current chatstate is shown in " +#~ "the banner" +#~ msgstr "" +#~ "If ticked, Gajim will allow others to detect the operation system you are " +#~ "using" + +#, fuzzy +#~ msgid "Chatstate" +#~ msgstr "Legutóbbi állapot: %s" + +#, fuzzy +#~ msgid "_When new event is received" +#~ msgstr "Ha új esemény érkezik:" + +#, fuzzy +#~ msgid "Show popups/notifications when a chat window is already _open" +#~ msgstr "Allow pop-up/notifications when I'm _away/na/busy/invisible" + +#, fuzzy +#~ msgid "Allow popups/notifications when I'm _away, not available or busy" +#~ msgstr "Allow pop-up/notifications when I'm _away/na/busy/invisible" + +#, fuzzy +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "Notify me about contacts that sign _in" + +#, fuzzy +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "Notify me about contacts that sign _out" + +#~ msgid "Play _sounds" +#~ msgstr "_Hangok lejátszása" + +#~ msgid "Ma_nage..." +#~ msgstr "Ke_zelés..." + +#, fuzzy +#~ msgid "Allow playing sounds when I'm _busy" +#~ msgstr "Engedélyezze a hangokat _elfoglalt állapotban" + +#, fuzzy +#~ msgid "No_t Available" +#~ msgstr "Nem elérhető" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Not Available when the computer " +#~ "has not been used for the specified time" +#~ msgstr "" +#~ "If ticked, Gajim will change status to Not Available when the computer " +#~ "has not been used even longer" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Away when the computer has not " +#~ "been used for the specified time" +#~ msgstr "" +#~ "If ticked, Gajim will change status to Not Available when the computer " +#~ "has not been used even longer" + +#, fuzzy +#~ msgid "" +#~ "The automatic away status message. If empty, the current status message " +#~ "will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-away timeout." +#~ msgstr "" +#~ "The auto away status message. If empty, Gajim will not change the current " +#~ "status message\n" +#~ "$S will be replaced by previous status message\n" +#~ "$T will be replaced by auto-away timeout" + +#, fuzzy +#~ msgid "" +#~ "The automatic not available status message. If empty, the current status " +#~ "message will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-not-available timeout." +#~ msgstr "" +#~ "The auto not available status message. If empty, Gajim will not change " +#~ "the current status message\n" +#~ "$S will be replaced by previous status message\n" +#~ "$T will be replaced by auto-not-available timeout" + +#, fuzzy +#~ msgid "Minutes" +#~ msgstr "perc" + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will not ask for a status message. The specified " +#~ "default message will be used instead." +#~ msgstr "" +#~ "If enabled, Gajim will not ask for a status message. The specified " +#~ "default message will be used instead." + +#~ msgid "Default Message" +#~ msgstr "Alapértelmezett üzenet" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "Állapot üzenet" + +#, fuzzy +#~ msgid "Preset Status Messages" +#~ msgstr "Preset Status Messages" + +#, fuzzy +#~ msgid "_Theme" +#~ msgstr "Téma" + +#~ msgid "Configure color and font of the interface" +#~ msgstr "A felhasználói felület színének és betűtípusának beállítása" + +#, fuzzy +#~ msgid "" +#~ "If checked, protocol-specific status icons will be used (e.g. a contact " +#~ "from ICQ will have the equivalent ICQ icon for status online, away, busy, " +#~ "etc...)" +#~ msgstr "" +#~ "If ticked, Gajim will use protocol-specific status icons. (eg. A contact " +#~ "from MSN will have the equivalent MSN icon for status online, away, busy, " +#~ "etc...)" + +#, fuzzy +#~ msgid "Video output" +#~ msgstr "videó kimenet" + +#, fuzzy +#~ msgid "Video si_ze" +#~ msgstr "Videó mérete" + +#, fuzzy +#~ msgid "" +#~ "STUN server hostname. If no hostname was given, Gajim will try\n" +#~ "to discover one from the server. (Example: stun.iptel.org)" +#~ msgstr "" +#~ "STUN server hostname. If none given, Gajim will try\n" +#~ "to discover one from server." + +#~ msgid "_Manage..." +#~ msgstr "_Kezelés..." + +#, fuzzy +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "_Log status changes of contacts" + +#, fuzzy +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "" +#~ "Ha be van pipálva, akkor a Gajim emlékezni fog a jelszavamra ehhez a " +#~ "fiókhoz" + +#~ msgid "_Open..." +#~ msgstr "_Megnyitás..." + +#, fuzzy +#~ msgid "_Filter" +#~ msgstr "Szűrés:" + +#, fuzzy +#~ msgid "Protocol" +#~ msgstr "_Protokoll:" + +#~ msgid "Privacy Lists:" +#~ msgstr "Magánéleti listák:" + +#, fuzzy +#~ msgid "_Ignore this error for this certificate" +#~ msgstr "Mellőzd ezt a hibát ehhez a tanusítványhoz." + +#, fuzzy +#~ msgid "Message..." +#~ msgstr "Üzenet" + +#, fuzzy +#~ msgid "Preset _messages" +#~ msgstr "Sablonüzenetek:" + +#, fuzzy +#~ msgid "_Type your new status message" +#~ msgstr "Írja be az új állapotüzenetét" + +#, fuzzy +#~ msgid "Change Status Message…" +#~ msgstr "Állapot üzenet _megváltoztatása" + +#~ msgid "Mood:" +#~ msgstr "Hangulat:" + +#~ msgid "Message:" +#~ msgstr "Üzenet:" + +#~ msgid "none" +#~ msgstr "egyik sem" + +#~ msgid "both" +#~ msgstr "minkettő" + +#~ msgid "from" +#~ msgstr "tól/től" + +#~ msgid "to" +#~ msgstr "nak/nek" + +#~ msgid "Privacy List" +#~ msgstr "Magánéleti lista" + +#~ msgid "Privacy List" +#~ msgstr "Magánéleti lista" + +#~ msgid "Active for this session" +#~ msgstr "Aktív ebben a munkamenetben" + +#~ msgid "Active on each startup" +#~ msgstr "Aktív minden induláskor" + +#~ msgid "List of rules" +#~ msgstr "Szabályok listája" + +#~ msgid "Add / Edit a rule" +#~ msgstr "Szabály Hozzáadása / Szerkesztése" + +#~ msgid "Allow" +#~ msgstr "Engedélyez" + +#~ msgid "Deny" +#~ msgstr "Elutasít" + +#~ msgid "all in the group" +#~ msgstr "összes a csoportban" + +#~ msgid "all by subscription" +#~ msgstr "összes feliratkozás szerint" + +#~ msgid "All" +#~ msgstr "Összes" + +#~ msgid "to send me messages" +#~ msgstr "hogy üzeneteket küldjön nekem" + +#~ msgid "to send me queries" +#~ msgstr "hogy kéréseket küldjön nekem" + +#~ msgid "to view my status" +#~ msgstr "hogy láthassa az állapotomat" + +#~ msgid "to send me status" +#~ msgstr "hogy állapotokat küldjön nekem" + +#~ msgid "All (including subscription)" +#~ msgstr "Összes (beleértve a feliratkozást)" + +#~ msgid "Order:" +#~ msgstr "Sorrend:" + +#, fuzzy +#~ msgid "" +#~ "Deny authorization from contact so the contact cannot know if you are " +#~ "connected" +#~ msgstr "" +#~ "Engedélyezés elutasítása a partnertől, tehát nem fogja tudni hogy " +#~ "csatlakozva vagy-e" + +#, fuzzy +#~ msgid "Authorize contact so the contact can know if you are connected" +#~ msgstr "Partner engedélyezése, hogy lássa a csatlakozásod" + +#, fuzzy +#~ msgid "Contact List Shortcuts" +#~ msgstr "Névsor elem cseréje" + +#~ msgid "Fill in the form." +#~ msgstr "Töltse ki az ívet." + +#~ msgid "Set an activity" +#~ msgstr "Egy Tevékenység Beállítása" + +#~ msgid "Message: " +#~ msgstr "Üzenet: " + +#, fuzzy, python-format +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "Send %s to %s" + +#, fuzzy +#~ msgid "Group Chat Invitation " +#~ msgstr "Meghívó közös társalgásba" + +#, python-format +#~ msgid "Comment: %s" +#~ msgstr "Megjegyzés: %s" + +#, fuzzy +#~ msgid "Off" +#~ msgstr "Kijelentkezett" + +#, fuzzy +#~ msgid "Retrieving profile…" +#~ msgstr "Profil lekérése..." + +#~ msgid "Wrong date format" +#~ msgstr "Rossz dátumformátum" + +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "A dátumformátumnak ilyennek kell lenni: ÉÉÉÉ-HH-NN (Év-Hó-Nap)" + +#~ msgid "Information received" +#~ msgstr "Információ érkezett" + +#, fuzzy +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "Kapcsolat nélkül nem tudod közzétenni a partnerinformációd" + +#, fuzzy +#~ msgid "Sending profile…" +#~ msgstr "Profil küldése..." + +#~ msgid "Information NOT published" +#~ msgstr "Az információ NEM LETT közzétéve" + +#~ msgid "vCard publication failed" +#~ msgstr "vCard közzététel nem sikerült" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "" +#~ "Hiba lépett fel a személyes információid közzététele közben. Próbáld meg " +#~ "később." + +#, fuzzy +#~ msgid "?password:Hidden" +#~ msgstr "Jelszó:" + +#, python-format +#~ msgid "Privacy List %s" +#~ msgstr "Magánéleti lista %s" + +#, python-format +#~ msgid "Privacy List for %s" +#~ msgstr "Magánéleti lista ehhez: %s" + +#, python-format +#~ msgid "" +#~ "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" +#~ msgstr "" +#~ "Sorrend: %(order)s, művelet: %(action)s, típus: %(type)s, érték: %(value)s" + +#, python-format +#~ msgid "Order: %(order)s, action: %(action)s" +#~ msgstr "Sorrend: %(order)s, művelet: %(action)s" + +#~ msgid "Edit a rule" +#~ msgstr "Szabály szerkesztése" + +#~ msgid "Add a rule" +#~ msgstr "Szabály hozzáadása" + +#, python-format +#~ msgid "Privacy Lists for %s" +#~ msgstr "Magánéleti listák ehhez: %s" + +#~ msgid "Invalid List Name" +#~ msgstr "Érvénytelen listanév" + +#~ msgid "You must enter a name to create a privacy list." +#~ msgstr "Be kell írnod egy nevet hogy magánéleti listát készíthess." + +#, fuzzy +#~ msgid "Loading" +#~ msgstr "Programozik" + +#~ msgid "status message title" +#~ msgstr "állapotüzenet címe" + +#~ msgid "status message text" +#~ msgstr "állapotüzenet szövege" + +#, fuzzy +#~ msgid "Start New Conversation" +#~ msgstr "Folytatott beszélgetés" + +#~ msgid "Unknown SSL error: %d" +#~ msgstr "Ismeretlen SSL hiba: %d" + +#~ msgid "Gajim - %s" +#~ msgstr "Gajim - %s" + +#, fuzzy +#~ msgid "Choose interval between 2 checks of idleness." +#~ msgstr "Choose interval between 2 checks of idleness." + +#, fuzzy +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "Nem érhető el szótár a(z) %s nyelvhez" + +#, fuzzy +#~ msgid "" +#~ "You have to install the dictionary \"%s\" to use spellchecking, or choose " +#~ "another language by setting the speller_language option.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "Fel kell telepítened a(z) %s szótárat hogy használhasd a helyesírás-" +#~ "ellenőrzést, vagy válassz egy másik nyelvet a beszélő_nyelv opció " +#~ "beállításával.\n" +#~ "\n" +#~ "A félregépelt szövegek kiemelése funkció nem lesz használva" + +#~ msgid "_Reconnect" +#~ msgstr "Újracsatlakozás" + +#, fuzzy +#~ msgid "Show Contact List" +#~ msgstr "Csak az _aktív partnereket mutassa" + +#, fuzzy +#~ msgid "Add to Contact List" +#~ msgstr "_Ismerős hozzáadása..." + +#, fuzzy +#~ msgid "Invite Contact" +#~ msgstr "_Partnerek Meghívása " + +#, fuzzy +#~ msgid "Configure Group Chat" +#~ msgstr "Csoportos beszélgetések elhagyása" + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." +#~ msgstr "" +#~ "If True, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." + +#~ msgid "Invalid character in hostname." +#~ msgstr "Nem megfelelő karakter van a hosztnévben." + +#~ msgid "Server address required." +#~ msgstr "Szerver cím szükséges." + +#~ msgid "Invalid character in username." +#~ msgstr "Nem megfelelő karakter van a felhasználónévben." + +#~ msgid "Invalid character in resource." +#~ msgstr "Nem megfelelő karakter van az erőforrásban." + +#, fuzzy +#~ msgid "Notification color for contacts signing in." +#~ msgstr "Notify me about contacts that sign _in" + +#, fuzzy +#~ msgid "Notification color for contacts signing out." +#~ msgstr "Notify me about contacts that sign _out" + +#, fuzzy +#~ msgid "Notification color for new message notification." +#~ msgstr "Preview new messages in notification popup?" + +#, fuzzy +#~ msgid "Notification color for file transfer request." +#~ msgstr "_Notify me when a file transfer is complete" + +#, fuzzy +#~ msgid "Notification color for file transfer errors." +#~ msgstr "_Notify me when a file transfer is complete" + +#, fuzzy +#~ msgid "Notification background color for changed status." +#~ msgstr "Background colour of contacts when they just signed in." + +#~ msgid "Event Type" +#~ msgstr "Esemény típusa" + +#~ msgid "Event desc" +#~ msgstr "Esemény leírása" + +#, fuzzy +#~ msgid "No response from the Server" +#~ msgstr "Nem csatlakozol a szerverhez" + +#~ msgid "Resource Conflict" +#~ msgstr "Erőforrás összeférhetetlenség" + +#, fuzzy +#~ msgid "" +#~ "You are already connected to this account with the same resource. Please " +#~ "enter a different one." +#~ msgstr "" +#~ "Már csatlakozva vagy ehhez a fiókhoz ugyanazzal az erőforrással. Kérlek " +#~ "írj be egy másikat" + +#~ msgid "Unable to load image" +#~ msgstr "Nem lehet betölteni a képet" + +#~ msgid "Media type not supported: %s" +#~ msgstr "Média típus nem támogatott: %s" + +#~ msgid "new@jabber.id" +#~ msgstr "uj@jabber.id" + +#~ msgid "new%d@jabber.id" +#~ msgstr "uj%d@jabber.id" + +#~ msgid "video output" +#~ msgstr "videó kimenet" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Gajim: Fiók Létrehozása Varázsló" + +#, fuzzy +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "Szüksége van egy fiókra, hogy csatlakozhasson\n" +#~ "a Jabber hálózatra." + +#~ msgid "I already have an account I want to _use" +#~ msgstr "Már van egy fiókom amit _használni szeretnék" + +#~ msgid "I want to _register for a new account" +#~ msgstr "_Regisztrálni szeretnék egy új fiókért" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "Kérem válasszon az alábbi lehetőségek közül:" + +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "Kérem töltse ki az adatokat a már létező fiókjához" + +#, fuzzy +#~ msgid "_XMPP Address:" +#~ msgstr "AIM cím:" + +#~ msgid "Anon_ymous authentication" +#~ msgstr "Anon_ymous hitelesítés" + +#~ msgid "_Password:" +#~ msgstr "_Jelszó:" + +#~ msgid "Save pass_word" +#~ msgstr "Jelszó _mentése" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "" +#~ "Ha be van pipálva, akkor a Gajim emlékezni fog a jelszavamra ehhez a " +#~ "fiókhoz" + +#~ msgid "Please select a server" +#~ msgstr "Kérem válasszon szervert" + +#~ msgid "_Server:" +#~ msgstr "_Szerver:" + +#~ msgid "Manage..." +#~ msgstr "Kezelés..." + +#~ msgid "_Port:" +#~ msgstr "_Port:" + +#~ msgid "_Advanced" +#~ msgstr "_Haladó" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA1 fingerprint of the certificate:\n" +#~ msgstr "" +#~ "Tanusítvány hozzáadása a megbízható tanusítványok listájához.\n" +#~ "A tanusítvány SHA1 ujjlenyomata:\n" + +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "Csatlakozás a szerverhez\n" +#~ "\n" +#~ "Kérem várjon..." + +#~ msgid "Connect when I press Finish" +#~ msgstr "Csatlakozás ha a Befejezésre kattintok" + +#~ msgid "Set my profile when I connect" +#~ msgstr "Profilom beállítása csatlakozáskor" + +#~ msgid "_Finish" +#~ msgstr "_Kész" + +#, fuzzy +#~ msgid "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." +#~ msgstr "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." + +#~ msgid "Your new account has been created successfully" +#~ msgstr "Az új fiók sikeresen elkészült" + +#~ msgid "Invalid username" +#~ msgstr "Érvénytelen felhasználónév" + +#~ msgid "You must provide a username to configure this account." +#~ msgstr "Meg kell adnod egy felhasználónevet hogy beállíthasd ezt a fiókot." + +#~ msgid "Invalid server" +#~ msgstr "Érvénytelen szerver" + +#~ msgid "Please provide a server on which you want to register." +#~ msgstr "Kérlek adj meg egy szervert amelyre regisztrálni szeretnél." + +#~ msgid "Invalid entry" +#~ msgstr "Érvénytelen bejegyzés" + +#~ msgid "Certificate Already in File" +#~ msgstr "Tanusítvány már a fileban van" + +#~ msgid "This certificate is already in file %s, so it's not added again." +#~ msgstr "" +#~ "Ez a tanusítvány már a %s fileban van, ezért nem lett ismét hozzáadva." + +#~ msgid "" +#~ "Security Warning\n" +#~ "\n" +#~ "The authenticity of the %(hostname)s SSL certificate could be invalid.\n" +#~ "SSL Error: %(error)s\n" +#~ "Do you still want to connect to this server?" +#~ msgstr "" +#~ "Biztonsági figyelmeztetés\n" +#~ "\n" +#~ "A %(hostname)s SSL hitelessége érvénytelen lehet.\n" +#~ "SSL hiba: %(error)s\n" +#~ "Ennek ellenére szeretnél csatlakozni a szerverhez?" + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA-256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Add hozzá ezt a tanusítványt a megbízható tanusítványok listájához.\n" +#~ "A tanusítvány SHA1 ujjlenyomata:\n" +#~ "%s" + +#~ msgid "Account name is in use" +#~ msgstr "Fióknév használatban van" + +#~ msgid "You already have an account using this name." +#~ msgstr "Már van egy fiókod ezzel a névvel." + +#, fuzzy +#~ msgid "Show a warning dialog before using standard SSL library." +#~ msgstr "Show a warning dialogue before using standard SSL library." + +#, fuzzy +#~ msgid "If enabled, a whitespace is sent after inactivity (keep alive)." +#~ msgstr "Whitespace sent after inactivity" + +#, fuzzy +#~ msgid "If enabled, an XMPP ping is sent after inactivity (ping alive)." +#~ msgstr "XMPP ping sent after inactivity" + +#~ msgid "Connection with account \"%s\" has been lost" +#~ msgstr "A kapcsolat a következő fiókkal megszakadt: \"%s\"" + +#~ msgid "Reconnect manually." +#~ msgstr "Manuális újracsatlakozás." + +#~ msgid "Server %(name)s answered wrongly to register request: %(error)s" +#~ msgstr "Szerver %(name)s answered wrongly to register request: %(error)s" + +#, fuzzy +#~ msgid "Server %s provided a different registration form" +#~ msgstr "Server %s provided a different registration form" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "Nem lehet csatlakozni ide: \"%s\"" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "Nem lehet csatlakozni ide: \"%s\"" + +#~ msgid "Check your connection or try again later." +#~ msgstr "Ellenőrizd a kapcsolatod és később próbáld meg újra." + +#~ msgid "Server replied: %s" +#~ msgstr "Szerver válaszolt: %s" + +#~ msgid "Connection to proxy failed" +#~ msgstr "Nem sikerült a csatlakozás a proxyhoz" + +#~ msgid "Could not connect to account %s" +#~ msgstr "Nem lehet csatlakozni a fiókhoz %s" + +#~ msgid "Connection with account %s has been lost. Retry connecting." +#~ msgstr "" +#~ "A kapcsolat megszakadt a következő fiókkal: %s. Próbálj meg " +#~ "újracsatlakozni." + +#~ msgid "Please check your login and password for correctness." +#~ msgstr "Kérlek ellenőrizd a felhasználóneved és jelszavad helyességét." + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "HTTP Csatlakozás" + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "BOSH" +#~ msgstr "BOSH" + +#~ msgid "Use HTTP prox_y" +#~ msgstr "HTTP prox_y használata" + +#, fuzzy +#~ msgid "_BOSH URL" +#~ msgstr "_BOSH URL:" + +#, fuzzy +#~ msgid "BOSH" +#~ msgstr "BOSH" + +#, fuzzy +#~ msgid "Warn on insecure connection" +#~ msgstr "_Figyelmeztetés nem biztonságos kapcsolat használata előtt" + +#, fuzzy +#~ msgid "Contact list, list of contacts" +#~ msgstr "_Log status changes of contacts" + +#~ msgid "You are participating in one or more group chats" +#~ msgstr "Egy vagy több közös beszélgetésben veszel részt" + +#, fuzzy +#~ msgid "" +#~ "Changing your status to invisible will result in you leaving those group " +#~ "chats.\n" +#~ "Are you sure you want to go invisible?" +#~ msgstr "" +#~ "Changing your status to invisible will result in disconnection from those " +#~ "group chats. Are you sure you want to go invisible?" + +#~ msgid "_Disconnect" +#~ msgstr "_Lecsatlakozás" + +#~ msgid "You cannot join a group chat while you are invisible" +#~ msgstr "Amíg láthatatlan vagy nem csatlakozhatsz közös beszélgetéshez" + +#~ msgid "Invisible" +#~ msgstr "Láthatatlan" + +#, fuzzy +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "Amíg láthatatlan vagy nem csatlakozhatsz közös beszélgetéshez" + +#~ msgid "_Invisible" +#~ msgstr "_Láthatatlan" + +#, fuzzy +#~ msgid "Yesterday" +#~ msgid_plural "%(nb_days)i days ago" +#~ msgstr[0] "Tegnap" +#~ msgstr[1] "%i nappal ezelőtt" + +#, fuzzy +#~ msgid "_Cancel Upload" +#~ msgstr "_Mégse" + +#~ msgid " [blocked]" +#~ msgstr " [tiltva]" + +#~ msgid " [minimized]" +#~ msgstr " [tálcára helyezve]" + +#, fuzzy +#~ msgid "" +#~ "If you close this tab while having chat history disabled, this message " +#~ "will be lost." +#~ msgstr "" +#~ "Ha bezárod ezt a fület és a beszélgetésnaplózás funkció ki van kapcsolva, " +#~ "akkor ez az üzenet el fog veszni." + +#, fuzzy +#~ msgid "Unregister Failed" +#~ msgstr "Regisztráció megszűntetése nem sikerült" + +#, fuzzy +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "" +#~ "A szerverrel való regisztráció megszűntetése %(server)s nem sikerült: " +#~ "%(error)s" + +#, fuzzy +#~ msgid "New Password" +#~ msgstr "Jelszó megjegyzése" + +#~ msgid "What do you want to do?" +#~ msgstr "Mit szeretnél csinálni?" + +#~ msgid "Remove account from Gajim and from _server" +#~ msgstr "Fiók eltávolítása a Gajim-ból és a _szerverről is" + +#, fuzzy +#~ msgid "You must enter a password" +#~ msgstr "Be kell írnod egy jelszót." + +#, fuzzy +#~ msgid "You still have open chats in your account %s" +#~ msgstr "Megnyitotál egy beszélgetést a következő fiókban: %s" + +#, fuzzy +#~ msgid "To unregister from a server, the account must be enabled." +#~ msgstr "" +#~ "Ahhoz hogy töröld a regisztrációd egy szerverről, a fiókodnak " +#~ "engedélyezve kell lenni." + +#, fuzzy +#~ msgid "Password required" +#~ msgstr "Jelszó szükséges" + +#, fuzzy +#~ msgid "Still connected to the server" +#~ msgstr "Nem csatlakozol a szerverhez" + +#, fuzzy +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "Ha eltávolítod, akkor a kapcsolat megszakad." + +#~ msgid "Connection to server %s failed" +#~ msgstr "A kapcsolat a %s szerverrel megszakadt" + +#~ msgid "What would you like to do?" +#~ msgstr "Mit szeretnél tenni?" + +#~ msgid "Remove only from Gajim" +#~ msgstr "Eltávolítás csak a Gajim-ból" + +#~ msgid "Don't remove anything. I'll try again later" +#~ msgstr "Ne távolíts el semmit. Később újból megpróbálom" + +#, fuzzy +#~ msgid "Contents" +#~ msgstr "_Tartalomjegyzék" + +#, fuzzy +#~ msgid "FAQ" +#~ msgstr "_GyIK" + +#~ msgid "Save as Preset Status Message" +#~ msgstr "Mentés sablon állapotüzenetként" + +#, fuzzy +#~ msgid "Enter a new nickname for contact %s" +#~ msgstr "Enter a new nickname for contact %s" + +#, fuzzy +#~ msgid "Join a group chat" +#~ msgstr "_csoportos beszélgetésekben" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "_Fiókok" + +#~ msgid "New entry received" +#~ msgstr "Új bejegyzés érkezett" + +#~ msgid "You have received new entry:" +#~ msgstr "Új bejegyzésed érkezett:" + +#~ msgid "Feed name:" +#~ msgstr "Feed name:" + +#~ msgid "Last modified:" +#~ msgstr "Utoljára módosítva:" + +#, fuzzy +#~ msgid "Send file?" +#~ msgstr "_File Küldése" + +#, fuzzy +#~ msgid "Mail _client" +#~ msgstr "_Levelezőkliens:" + +#, fuzzy +#~ msgid "_Browser" +#~ msgstr "_Böngésző:" + +#, fuzzy +#~ msgid "_File manager" +#~ msgstr "_Filekezelő:" + +#, fuzzy +#~ msgid "Custom applications" +#~ msgstr "Always use KDE default applications" + +#, fuzzy +#~ msgid "Applications" +#~ msgstr "Alkalmazások" + +#, fuzzy +#~ msgid "" +#~ "Uses ReStructured text markup to send HTML, plus ASCII formatting if " +#~ "selected. Needs docutils installed (for syntax, see http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Uses ReStructured text markup to send HTML, plus ascii formatting if " +#~ "selected. For syntax, see http://docutils.sourceforge.net/docs/ref/rst/" +#~ "restructuredtext.html (If you want to use this, install docutils)" + +#, fuzzy +#~ msgid "_Ignore formatting of incoming messages" +#~ msgstr "_Ignore rich content in incoming messages" + +#, fuzzy +#~ msgid "" +#~ "Some messages may include rich content (xhtml formatting, colors etc). If " +#~ "checked, Gajim will just display the plain message text." +#~ msgstr "" +#~ "Some messages may include rich content (formatting, colours etc). If " +#~ "ticked, Gajim will just display the raw message text." + +#, fuzzy +#~ msgid "RST XHTML Generator" +#~ msgstr "RST Generátor" + +#, fuzzy +#~ msgid "Requires: python-docutils" +#~ msgstr "python-docutils szükséges hozzá." + +#~ msgid "New Single Message" +#~ msgstr "Új levél" + +#, fuzzy +#~ msgid "" +#~ "Can be empty, 'chat' or 'normal'. If not empty, all incoming messages are " +#~ "treated as if they were of this type." +#~ msgstr "" +#~ "Can be empty, 'chat' or 'normal'. If not empty, treat all incoming " +#~ "messages as if they were of this type" + +#, fuzzy +#~ msgid "Error %(code)s: %(msg)s" +#~ msgstr "Error %(code)s: %(msg)s" + +#~ msgid "twelve" +#~ msgstr "tizenkettő" + +#~ msgid "one" +#~ msgstr "egy" + +#~ msgid "two" +#~ msgstr "kettő" + +#~ msgid "three" +#~ msgstr "három" + +#~ msgid "four" +#~ msgstr "négy" + +#~ msgid "five" +#~ msgstr "öt" + +#~ msgid "six" +#~ msgstr "hat" + +#~ msgid "seven" +#~ msgstr "hét" + +#~ msgid "eight" +#~ msgstr "nyolc" + +#~ msgid "nine" +#~ msgstr "kilenc" + +#~ msgid "ten" +#~ msgstr "tíz" + +#~ msgid "eleven" +#~ msgstr "tizenegy" + +#~ msgid "%(0)s o'clock" +#~ msgstr "%(0)s óra" + +#~ msgid "five past %(0)s" +#~ msgstr "öt múlt %(0)s" + +#~ msgid "ten past %(0)s" +#~ msgstr "tíz múlt %(0)s" + +#~ msgid "quarter past %(0)s" +#~ msgstr "negyed órával múlt %(0)s" + +#~ msgid "twenty past %(0)s" +#~ msgstr "tizenkettő múlt %(0)s" + +#~ msgid "twenty five past %(0)s" +#~ msgstr "huszonöt múlt %(0)s" + +#~ msgid "half past %(0)s" +#~ msgstr "fél múlt %(0)s" + +#~ msgid "twenty five to %(1)s" +#~ msgstr "huszonöt %(1)s" + +#~ msgid "twenty to %(1)s" +#~ msgstr "húz %(1)s" + +#~ msgid "quarter to %(1)s" +#~ msgstr "negyed %(1)s" + +#~ msgid "ten to %(1)s" +#~ msgstr "tíz %(1)s" + +#~ msgid "five to %(1)s" +#~ msgstr "öt %(1)s" + +#~ msgid "%(1)s o'clock" +#~ msgstr "%(1)s óra" + +#~ msgid "Night" +#~ msgstr "Éjjel" + +#~ msgid "Early morning" +#~ msgstr "Kora reggel" + +#~ msgid "Morning" +#~ msgstr "Reggel" + +#~ msgid "Almost noon" +#~ msgstr "Majdnem dél" + +#~ msgid "Noon" +#~ msgstr "Dél" + +#~ msgid "Afternoon" +#~ msgstr "Délután" + +#~ msgid "Evening" +#~ msgstr "Este" + +#~ msgid "Late evening" +#~ msgstr "Késő este" + +#~ msgid "Start of week" +#~ msgstr "A hét eleje" + +#~ msgid "Middle of week" +#~ msgstr "A hét közepe" + +#~ msgid "End of week" +#~ msgstr "A hét vége" + +#~ msgid "Weekend!" +#~ msgstr "Hétvége!" + +#, fuzzy +#~ msgid "" +#~ "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or " +#~ "0 to disable Fuzzy Clock. 1 is the most precise clock, 4 the least " +#~ "precise one. This is used only if 'print_time' is 'sometimes'." +#~ msgstr "" +#~ "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or " +#~ "0 to disable fuzzyclock. 1 is the most precise clock, 4 the least precise " +#~ "one. This is used only if print_time is 'sometimes'." + +#~ msgid "message" +#~ msgstr "üzenet" + +#, fuzzy +#~ msgid "error: %s" +#~ msgstr "Hiba: %s" + +#, fuzzy +#~ msgid "Form: %s" +#~ msgstr "Feladó %s" + +#, fuzzy +#~ msgid "XML Input" +#~ msgstr "XML bemenet" + +#, fuzzy +#~ msgid "Ttitle" +#~ msgstr "Cím:" + +#, fuzzy +#~ msgid "%(type)s encryption is active %(authenticated)s" +#~ msgstr "" +#~ "%(type)ok titkosítás %(status)ok aktív %(authenticated)s.\n" +#~ "A beszélgetési munkamenet %(logged)k naplózot(ak)." + +#, fuzzy +#~ msgid "Screen" +#~ msgstr "zöld" + +#, fuzzy +#~ msgid "Fake video output" +#~ msgstr "videó kimenet" + +#~ msgid "X Window System (X11/XShm/Xv): %s" +#~ msgstr "X ablakkezelő rendszer (X11/XShm/Xv): %s" + +#~ msgid "X Window System (without Xv)" +#~ msgstr "X ablakkezelő rendszer (without Xv)" + +#, fuzzy +#~ msgid "V_ideo output device" +#~ msgstr "Videó kimeneti eszköz" + +#~ msgid "Conversation with " +#~ msgstr "Beszélgetés vele: " + +#~ msgid "Continued conversation" +#~ msgstr "Folytatott beszélgetés" + +#, fuzzy +#~ msgid "%s has invited you to join a discussion" +#~ msgstr "$Partner meghívott téged hogy csatlakozz egy beszélgetéshez" + +#~ msgid "_Send Private Message" +#~ msgstr "Privát Üzenet _Küldése" + +#, fuzzy +#~ msgid "Participant Actions" +#~ msgstr "Résztvevők" + +#~ msgid "_Voice" +#~ msgstr "_Hang" + +#~ msgid "Mo_derator" +#~ msgstr "Mo_derátor" + +#~ msgid "_Member" +#~ msgstr "_Tag" + +#~ msgid "_Admin" +#~ msgstr "_Admin" + +#~ msgid "_Owner" +#~ msgstr "_Tulajdonos" + +#, fuzzy +#~ msgid "_Add to Contact List" +#~ msgstr "_Ismerős hozzáadása..." + +#, fuzzy +#~ msgid "_Execute command" +#~ msgstr "Parancs _futtatása" + +#~ msgid "Change _Nickname..." +#~ msgstr "Becenév _megváltoztatása..." + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "Ú_j közös társalgás" + +#~ msgid "Change _Subject..." +#~ msgstr "_Beszélgetőtéma megváltoztatása..." + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "_Csatlakozás közös beszélgetéshez..." + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "Ú_j közös társalgás" + +#~ msgid "_Minimize on close" +#~ msgstr "_Tálcára helyezés bezáráskor" + +#, fuzzy +#~ msgid "_Request Voice" +#~ msgstr "_Hang" + +#~ msgid "_Bookmark" +#~ msgstr "_Könyvjelző" + +#, fuzzy +#~ msgid "The authenticity of the %s certificate could be invalid" +#~ msgstr "The authenticity of the %s certificate could be invalid." + +#~ msgid "" +#~ "\n" +#~ "Unknown SSL error: %d" +#~ msgstr "" +#~ "\n" +#~ "Ismeretlen SSL hiba: %d" + +#~ msgid "" +#~ "\n" +#~ "SSL Error: %s" +#~ msgstr "" +#~ "\n" +#~ "SSL hiba: %s" + +#~ msgid "Error verifying SSL certificate" +#~ msgstr "Hiba az SSL tanusítvány ellenőrzése közben" + +#, fuzzy +#~ msgid "View certificate…" +#~ msgstr "Kliens tanusítvány" + +#, fuzzy +#~ msgid "Continue" +#~ msgstr "_Continue" + +#~ msgid "" +#~ "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM " +#~ "IS RUNNING)" +#~ msgstr "" +#~ "Biztosan ki szeretnéd takarítani az adatbázist? (ERŐSEN NEM AJÁNLOTT, HA " +#~ "FUT A GAJIM)" + +#, fuzzy +#~ msgid "Authorization" +#~ msgstr "Engedély elküldve" + +#, fuzzy +#~ msgid "" +#~ "All chat and group chat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Minden beszélgető és közös beszélgetőablak be lesz zárva. Szeretnéd " +#~ "folytatni?" + +#, fuzzy +#~ msgid "Account '%s' is still connected to the server" +#~ msgstr "A \"%s\" fiók csatlakozva van a szerverhez" + +#, fuzzy +#~ msgid "Error While Saving" +#~ msgstr "Hiba a szolgáltatás hozzáadása közben. %s" + +#, fuzzy +#~ msgid "" +#~ "Image cannot be saved in %(type)s format.\n" +#~ "Save as %(new_filename)s?" +#~ msgstr "Image cannot be saved in %(type)s format. Save as %(new_filename)s?" + +#, fuzzy +#~ msgid "Save _As" +#~ msgstr "Van " + +#~ msgid "Yes, I really want to connect insecurely" +#~ msgstr "Igen, ennek ellenére szeretnék csatlakozni" + +#, fuzzy +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "Érvénytelen közös társalgási Jabber Azonosító" + +#, fuzzy +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "" +#~ "A közös társalgás Jabber Azonosítójában nem megengedett karakterek vannak." + +#~ msgid "You may specify a reason below:" +#~ msgstr "Ha szeretnél, beírhatsz egy indokot:" + +#~ msgid "Banning %s" +#~ msgstr "%s bannolása" + +#, fuzzy +#~ msgid "" +#~ "Always ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Always ask before closing group chat tab/window in this space separated " +#~ "list of group chat jids." + +#, fuzzy +#~ msgid "" +#~ "Never ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Never ask before closing group chat tab/window in this space separated " +#~ "list of group chat jids." + +#, fuzzy +#~ msgid "Leave Group Chats" +#~ msgstr "Csoportos beszélgetések elhagyása" + +#, fuzzy +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "%(nickname)s on %(room_jid)s" + +#, fuzzy +#~ msgid "You have not joined a group chat." +#~ msgstr "Nem csatlakoztál a csoportos beszélgetéshez." + +#, fuzzy +#~ msgid "You left the following group chats:" +#~ msgstr "Elhagytad a következő csoportos beszélgetéseket:" + +#, fuzzy +#~ msgid "Don't show avatar for the transport itself." +#~ msgstr "Don't show avatar for the transport itself." + +#, fuzzy +#~ msgid "" +#~ "Show a confirmation dialog for a custom status? Empty string means never " +#~ "show the dialog." +#~ msgstr "" +#~ "Should we show the confirm custom status dialogue or not? Empty string " +#~ "means we never show the dialogue." + +#, fuzzy +#~ msgid "" +#~ "If enabled, notification windows from notification-daemon will be " +#~ "attached to the notification area icon." +#~ msgstr "" +#~ "If True, notification windows from notification-daemon will be attached " +#~ "to systray icon." + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending PLAIN password over a plain " +#~ "connection." +#~ msgstr "" +#~ "Show a warning dialogue before sending PLAIN password over a plain " +#~ "conenction." + +#, fuzzy +#~ msgid "Jabberd2 workaround." +#~ msgstr "Jabberd2 workaround" + +#, fuzzy +#~ msgid "Configure Services…" +#~ msgstr "Szolgáltatások beállítása..." + +#, fuzzy +#~ msgid "Group Chat Bookmarks" +#~ msgstr "_Csoportos beszélgetés" + +#, fuzzy +#~ msgid "Add Bookmark" +#~ msgstr "_Könyvjelző" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "_Könyvjelző" + +#, fuzzy +#~ msgid "_Server" +#~ msgstr "_Szerver:" + +#, fuzzy +#~ msgid "_Password" +#~ msgstr "_Jelszó:" + +#, fuzzy +#~ msgid "Join chat when connected" +#~ msgstr "Partner lecsatlakozott" + +#~ msgid "New Group Chat" +#~ msgstr "Új közös beszélgetés" + +#~ msgid "This bookmark has invalid data" +#~ msgstr "Ennek a könyvjelzőnek érvénytelen adatai vanak" + +#, fuzzy +#~ msgid "" +#~ "Please be sure to fill out server and group chat fields or remove this " +#~ "bookmark." +#~ msgstr "" +#~ "Kérlek töltsd ki a szerver és a szoba mezőket vagy töröld ezt a " +#~ "könyvjelzőt." + +#~ msgid "Character not allowed" +#~ msgstr "Nem megengedett karakter" + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "Érvénytelen közös társalgási Jabber Azonosító" + +#~ msgid "Unable to join group chat" +#~ msgstr "Nem sikerült csatlakozni közös beszélgetéshez" + +#, fuzzy +#~ msgid "You are banned from group chat %s." +#~ msgstr "Bannolva lettél a közös beszélgetésekből %s." + +#, fuzzy +#~ msgid "Remote server %s does not exist." +#~ msgstr "Group chat %s does not exist." + +#, fuzzy +#~ msgid "Group chat %s does not exist." +#~ msgstr "Group chat %s does not exist." + +#, fuzzy +#~ msgid "Group chat creation is not permitted." +#~ msgstr "Közös beszélgetés létrehozása korlátozva van." + +#, fuzzy +#~ msgid "You must use your registered nickname in %s." +#~ msgstr "" +#~ "A regisztrált becenevedet kell használnod a közös beszélgetésben %s." + +#, fuzzy +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "Nem vagy ennek a közös beszélgetésnek a taglistáján %s." + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "Ez nem egy közös társalgás" + +#~ msgid "This is not a group chat" +#~ msgstr "Ez nem egy közös társalgás" + +#, fuzzy +#~ msgid "Please choose a group chat" +#~ msgstr "Kérlek készíts egy tiszta új témát a kívánt névvel." + +#~ msgid "Invalid Nickname" +#~ msgstr "Érvénytelen becenév" + +#, fuzzy +#~ msgid "Wrong server" +#~ msgstr "Rossz URI" + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "Ez nem egy közös társalgás" + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit." +#~ msgstr "How many lines to request to server when entering a groupchat." + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit." +#~ msgstr "How many minutes back to request logs when a entering a groupchat." + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit, -2 means global value." +#~ msgstr "How many lines to request to server when entering a groupchat." + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit, -2 means global value." +#~ msgstr "How many minutes back to request logs when a entering a groupchat." + +#, fuzzy +#~ msgid "A Password is required to join the group chat %s. Please type it." +#~ msgstr "A Password is required to join the room %s. Please type it." + +#~ msgid "Not in Roster" +#~ msgstr "Nincs a névsorban" + +#~ msgid "I would like to add you to my roster" +#~ msgstr "Hozzá szeretnélek adni a névsoromhoz" + +#, fuzzy +#~ msgid "Add to Roster" +#~ msgstr "_Hozzáadás a Főablakhoz" + +#, fuzzy +#~ msgid "Audio Session" +#~ msgstr "Hang teszt" + +#, fuzzy +#~ msgid "Manage Room" +#~ msgstr "Szoba _Kezelése" + +#, fuzzy +#~ msgid "Configure Room" +#~ msgstr "_Szoba Beállítása..." + +#, fuzzy +#~ msgid "Destroy Room" +#~ msgstr "Szoba _törlése" + +#, fuzzy +#~ msgid "Change Nick" +#~ msgstr "Becenév _megváltoztatása..." + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "_Lecsatlakozás" + +#, fuzzy +#~ msgid "Copy JID" +#~ msgstr "Szoba Jabber Azonosítója" + +#, fuzzy +#~ msgid "Add to Roster…" +#~ msgstr "_Hozzáadás a Főablakhoz" + +#, fuzzy +#~ msgid "Copy JID/Email" +#~ msgstr "JID/E-mail Cím _Másolása" + +#, fuzzy +#~ msgid "JID: %s" +#~ msgstr "Jabber Azonosító: %s" + +#~ msgid "Changing Subject" +#~ msgstr "Téma váltása" + +#~ msgid "Please specify the new subject:" +#~ msgstr "Kérlek add meg az új témát:" + +#~ msgid "Room logging is now enabled" +#~ msgstr "A szoba naplózása mostantól engedélyezve van" + +#~ msgid "Room logging is now disabled" +#~ msgstr "A szoba naplózása mostantól nincs engedélyezve" + +#, fuzzy +#~ msgid "You (%s) joined the room" +#~ msgstr "%s csatlakozott a közös beszélgetéshez" + +#~ msgid "Room logging is enabled" +#~ msgstr "Szoba naplózása engedélyezve" + +#, fuzzy +#~ msgid "Unable to join groupchat" +#~ msgstr "Nem sikerült csatlakozni közös beszélgetéshez" + +#~ msgid "Groupchat Invitation" +#~ msgstr "Meghívó közös társalgásba" + +#, fuzzy +#~ msgid "%(jid)s has been invited in this room" +#~ msgstr "%(nick)s el lettek távolítva a szobából (%(reason)s)" + +#, fuzzy +#~ msgid "JID is not a Groupchat" +#~ msgstr "Ez nem egy közös társalgás" + +#~ msgid "Invalid JID" +#~ msgstr "Érvénytelen Jabber Azonosító" + +#~ msgid "A connection is not available" +#~ msgstr "Egy kapcsolat nem elérhető" + +#, fuzzy +#~ msgid "JID already in list" +#~ msgstr "Ez a Jabber Azonosító már a listán van" + +#, fuzzy +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "Egy kapcsolat nem elérhető" + +#~ msgid "Removes contact from roster" +#~ msgstr "Eltávolítja a partnert a névsorról" + +#~ msgid "Not in roster" +#~ msgstr "Nincs a névsoron" + +#, fuzzy +#~ msgid "File transfer request notification color." +#~ msgstr "Fileküldési Kérelem " + +#, fuzzy +#~ msgid "File transfer error notification color." +#~ msgstr "Fileátvitel megszakítva" + +#, fuzzy +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "Show a pop-up notification when a file transfer is complete " + +#, fuzzy +#~ msgid "Groupchat invitation notification color" +#~ msgstr "Meghívó közös társalgásba" + +#, fuzzy +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "Add * and [n] in roster title?" + +#, fuzzy +#~ msgid "Hides the banner in two persons chat window" +#~ msgstr "Hides the banner in two persons chat window" + +#, fuzzy +#~ msgid "" +#~ "Show the confirm metacontacts creation dialog or not? Empty string means " +#~ "never show the dialog." +#~ msgstr "" +#~ "Should we show the confirm metacontacts creation dialogue or not? Empty " +#~ "string means we never show the dialogue." + +#, fuzzy +#~ msgid "Space separated list of ssl errors to ignore." +#~ msgstr "Space separated list of SSL errors to ignore." + +#, fuzzy +#~ msgid "Answer to receipt requests" +#~ msgstr "Answer to receipt requests" + +#, fuzzy +#~ msgid "Language for which misspelled words will be checked" +#~ msgstr "Language for which we want to check misspelt words" + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "Eszek, hagyj üzenetet." + +#, fuzzy +#~ msgid "from room %s" +#~ msgstr " szobából %s" + +#~ msgid "Leave Groupchats" +#~ msgstr "Csoportos beszélgetések elhagyása" + +#, fuzzy +#~ msgid "Auto Join" +#~ msgstr "Automatikus csatlakozás" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "Szoba:" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber Azonosító:" + +#, fuzzy +#~ msgid "Occupant Actions" +#~ msgstr "Occupant Actions" + +#~ msgid "_Add to Roster" +#~ msgstr "_Hozzáadás a Főablakhoz" + +#~ msgid "_Manage Room" +#~ msgstr "Szoba _Kezelése" + +#~ msgid "Configure _Room..." +#~ msgstr "_Szoba Beállítása..." + +#~ msgid "_Destroy Room" +#~ msgstr "Szoba _törlése" + +#~ msgid "Jabber ID" +#~ msgstr "Jabber Azonosító" + +#, fuzzy +#~ msgid "account" +#~ msgstr "Fiók" + +#, fuzzy +#~ msgid "Roster" +#~ msgstr "Névsor mutatása" + +#~ msgid "Show only in roster" +#~ msgstr "Csak a főablakban jelenítse meg" + +#~ msgid "in _roster" +#~ msgstr "_főablakban" + +#, fuzzy +#~ msgid "Roster Appearance" +#~ msgstr "Főablak kinézete" + +#~ msgid "_Add to Roster..." +#~ msgstr "_Hozzáad a Partnerlistához..." + +#~ msgid "_Jabber ID:" +#~ msgstr "_Jabber ID:" + +#, fuzzy +#~ msgid "_Jabber ID" +#~ msgstr "_Jabber ID:" + +#~ msgid "JabberID" +#~ msgstr "Jabber Azonosító" + +#, fuzzy +#~ msgid "Show Roster" +#~ msgstr "Névsor mutatása" + +#~ msgid "MUC server" +#~ msgstr "MUC szerver" + +#~ msgid "Room Configuration" +#~ msgstr "Szoba Konfiguráció" + +#~ msgid "Join _Group Chat" +#~ msgstr "Csatlakozás _Csoportos Társalgáshoz" + +#, fuzzy +#~ msgid "Audio sessions are not available" +#~ msgstr "Egy kapcsolat nem elérhető" + +#~ msgid "Conference" +#~ msgstr "Konferencia" + +#, fuzzy +#~ msgid "_Manage Bookmarks…" +#~ msgstr "Könyvjelzők kezelése" + +#~ msgid "Hide _Roster" +#~ msgstr "Névsor el_rejtése" + +#~ msgid "Show _Roster" +#~ msgstr "Névsor mutatása" + +#, fuzzy +#~ msgid "Invalid Room" +#~ msgstr "Érvénytelen szoba" + +#~ msgid "Invalid room" +#~ msgstr "Érvénytelen szoba" + +#~ msgid "A GTK+ Jabber client" +#~ msgstr "Egy GTK+ Jabber kliens" + +#~ msgid "Changing Nickname" +#~ msgstr "Becenév megváltoztatása" + +#~ msgid "Please specify the new nickname you want to use:" +#~ msgstr "Kérlek határozd meg az új becenevet amelyet használni szerenél:" + +#~ msgid "Bookmark already set" +#~ msgstr "Ez a könyvjelző már fel van véve" + +#, fuzzy +#~ msgid "Group Chat '%s' is already in your bookmarks." +#~ msgstr "Group Chat \"%s\" is already in your bookmarks." + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "A könyvjelző sikeresen hozzá lett adva" + +#, fuzzy +#~ msgid "" +#~ "You can manage your bookmarks by clicking the Bookmarks menu item in your " +#~ "contact list." +#~ msgstr "" +#~ "A könyvjelzőkezelőt a névsor tetején lévő \"Műveletek\" menüben éred el" + +#, fuzzy +#~ msgid "The nickname contains invalid characters." +#~ msgstr "A becenévben nem megengedett karakterek vannak." + +#, fuzzy +#~ msgid "Bookmark Room" +#~ msgstr "Szoba felvétele a _könyvjelzők közé" + +#~ msgid "_Join New Group Chat" +#~ msgstr "_Csatlakozás új közös beszélgetéshez" + +#, fuzzy +#~ msgid "Name:" +#~ msgstr "Név: " + +#, fuzzy +#~ msgid "Description:" +#~ msgstr "Leírás: " + +#, fuzzy +#~ msgid "Address:" +#~ msgstr "_Cím:" + +#, fuzzy +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "Addig nem léphetsz be közös társalgásba amíg csatlakozva vagy." + +#, fuzzy +#~ msgid "Occupants" +#~ msgstr "Occupant Actions" + +#~ msgid "_Modify Account..." +#~ msgstr "Fiók _módosítása..." + +#~ msgid "Boolean" +#~ msgstr "Eldöntendő" + +#~ msgid "Integer" +#~ msgstr "Egész szám" + +#~ msgid "Text" +#~ msgstr "Szöveg" + +#~ msgid "Value" +#~ msgstr "Érték" + +#~ msgid "(None)" +#~ msgstr "(Nincs)" + +#~ msgid "Hidden" +#~ msgstr "Rejtett" + +#, fuzzy +#~ msgid "Manage Proxy Profiles" +#~ msgstr "Manage Proxy Profiles" + +#, fuzzy +#~ msgid "Properties" +#~ msgstr "Tulajdonságok" + +#, fuzzy +#~ msgid "Proxy _Port" +#~ msgstr "Proxy _Port:" + +#, fuzzy +#~ msgid "New Groupchat" +#~ msgstr "Új közös beszélgetés" + +#, fuzzy +#~ msgid "New Contact" +#~ msgstr "Új partner felvétele" + +#~ msgid "%s GiB" +#~ msgstr "%s GiB" + +#~ msgid "%s GB" +#~ msgstr "%s GB" + +#~ msgid "%s MiB" +#~ msgstr "%s MiB" + +#~ msgid "%s MB" +#~ msgstr "%s MB" + +#~ msgid "%s KiB" +#~ msgstr "%s KiB" + +#~ msgid "%s KB" +#~ msgstr "%s KB" + +#~ msgid "%s B" +#~ msgstr "%s B" + +#, fuzzy +#~ msgid "%s MiB/s" +#~ msgstr "%s MiB" + +#, fuzzy +#~ msgid "File transfer" +#~ msgstr "Fileátvitelek" + +#, fuzzy +#~ msgid "Open _Containing Folder" +#~ msgstr "_Open Containing Folder" + +#, fuzzy +#~ msgid "Default:" +#~ msgstr "Alapértelmezett" + +#, fuzzy +#~ msgid "Really quit Gajim?" +#~ msgstr "Really quit Gajim?" + +#, fuzzy +#~ msgid "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" +#~ msgstr "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" + +#, fuzzy +#~ msgid "Contact \"%s\" will be removed from your roster" +#~ msgstr "Contact \"%s\" will be removed from your roster" + +#, fuzzy +#~ msgid "" +#~ "By removing this contact you also by default remove authorization " +#~ "resulting in them always seeing you as offline." +#~ msgstr "" +#~ "By removing this contact you also by default remove authorisation " +#~ "resulting in him or her always seeing you as offline." + +#, fuzzy +#~ msgid "Contacts will be removed from your roster" +#~ msgstr "Contacts will be removed from your roster" + +#, fuzzy +#~ msgid "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorization resulting in them always seeing you as " +#~ "offline." +#~ msgstr "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorisation resulting in them always seeing you as " +#~ "offline." + +#, fuzzy +#~ msgid "Con_tinue" +#~ msgstr "_Continue" + +#~ msgid "_Pause" +#~ msgstr "_Szünet" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "Fileátvitel eltávolítása a listáról." + +#, fuzzy +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "Megszakítja a kiválasztott fileátvitelt" + +#, fuzzy +#~ msgid "Hide the window" +#~ msgstr "Elrejti az ablakot" + +#, fuzzy +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "Show a pop-up notification when a file transfer is complete " + +#~ msgid "From:" +#~ msgstr "Feladó:" + +#~ msgid "Subject:" +#~ msgstr "Tárgy:" + +#~ msgid "%s wants to send you a file:" +#~ msgstr "%s egy filet szeretne küldeni neked:" + +#~ msgid "Name: " +#~ msgstr "Név: " + +#~ msgid "Pause" +#~ msgstr "Szünet" + +#, fuzzy +#~ msgid "Execute Command" +#~ msgstr "Parancs _futtatása" + +#~ msgid "Type: " +#~ msgstr "Típus: " + +#~ msgid "Transferred: " +#~ msgstr "Továbbítva: " + +#~ msgid "Completed" +#~ msgstr "Befejezve" + +#~ msgid "Stalled" +#~ msgstr "Várakozás" + +#~ msgid "Transferring" +#~ msgstr "Továbbítás" + +#~ msgid "Not started" +#~ msgstr "Nincs elkezdve" + +#~ msgid "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Minden beszélgető és közös beszélgetőablak be lesz zárva. Szeretnéd " +#~ "folytatni?" + +#, fuzzy +#~ msgid "" +#~ "Your desired nickname in group chat\n" +#~ "%s\n" +#~ "is in use or registered by another occupant.\n" +#~ "Please specify another nickname below:" +#~ msgstr "" +#~ "Your desired nickname in group chat %s is in use or registered by another " +#~ "occupant.\n" +#~ "Please specify another nickname below:" + +#~ msgid "_Configure" +#~ msgstr "_Beállítás" + +#~ msgid "Change the avatar" +#~ msgstr "Avatar megváltoztatása" + +#, fuzzy +#~ msgid "" +#~ "Account in which the avatar will be set; if not specified, the avatar " +#~ "will be set for all accounts" +#~ msgstr "" +#~ "Account in which the avatar will be set; if not specified, the avatar " +#~ "will be set for all accounts" + +#~ msgid "add" +#~ msgstr "hozzáad" + +#~ msgid "modify" +#~ msgstr "módosít" + +#~ msgid "remove" +#~ msgstr "eltávolít" + +#, fuzzy +#~ msgid "" +#~ "If true, restored messages will use a smaller font than the default one." +#~ msgstr "" +#~ "If True, restored messages will use a smaller font than the default one." + +#, fuzzy +#~ msgid "Restored Message Color" +#~ msgstr "_Alapértelmezett színek visszaállítása" + +#, fuzzy +#~ msgid "" +#~ "You are going to remove this room permanently.\n" +#~ "You may specify a reason below:" +#~ msgstr "" +#~ "Véglegesen törölni szeretnéd ezt a szobát.\n" +#~ "Ha szeretnél, beírhatsz egy indokot:" + +#~ msgid "Send Cus_tom Status" +#~ msgstr "E_gyedi Állapot Beállítása" + +#, fuzzy +#~ msgid "" +#~ "You are about to send a custom status. Are you sure you want to continue?" +#~ msgstr "" +#~ "You are about to send a custom status. Are you sure you want to continue?" + +#, fuzzy +#~ msgid "" +#~ "This contact will temporarily see you as %(status)s, but only until you " +#~ "change your status. Then they will see your global status." +#~ msgstr "" +#~ "This contact will temporarily see you as %(status)s, but only until you " +#~ "change your status. Then he or she will see your global status." + +#, fuzzy +#~ msgid "" +#~ msgstr "Tárgy" + +#~ msgid "#" +#~ msgstr "#" + +#, fuzzy +#~ msgid "You are about to block a contact. Are you sure you want to continue?" +#~ msgstr "" +#~ "You are about to block a contact. Are you sure you want to continue?" + +#~ msgid "To:" +#~ msgstr "Címzett:" + +#~ msgid "0" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Reconnect when connection is lost" +#~ msgstr "Automatikus újracsatlakozás, ha a kapcsolat megszakad" + +#, fuzzy +#~ msgid "Server Message Archive" +#~ msgstr "_Szerverüzenet küldése..." + +#, fuzzy +#~ msgid "Message Carbons" +#~ msgstr "Üzenetek" + +#, fuzzy +#~ msgid "" +#~ "Sent chat state notifications. Can be one of all, composing_only, " +#~ "disabled." +#~ msgstr "" +#~ "Sent chat state notifications. Can be one of all, composing_only, " +#~ "disabled." + +#, fuzzy +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "Engedélyezi a -tétlen idő küldését" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the idle time of your system" +#~ msgstr "" +#~ "If ticked, Gajim will allow others to detect the operation system you are " +#~ "using" + +#, fuzzy +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "Engedélyezi az _Operációs rendszer típusának küldését" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the local time on your system" +#~ msgstr "" +#~ "If ticked, Gajim will allow others to detect the operation system you are " +#~ "using" + +#, fuzzy +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "Engedélyezi az _Operációs rendszer típusának küldését" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the operating system you are " +#~ "using" +#~ msgstr "" +#~ "If ticked, Gajim will allow others to detect the operation system you are " +#~ "using" + +#, fuzzy +#~ msgid "" +#~ "If checked, incoming events from unauthorized contacts will be ignored. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster." +#~ msgstr "" +#~ "If ticked, Gajim will ignore incoming events from unauthorised contacts. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster" + +#, fuzzy +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." +#~ msgstr "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." + +#, fuzzy +#~ msgid "S_end chat state notifications" +#~ msgstr "_Send chat state notifications:" + +#, fuzzy +#~ msgid "Login Options" +#~ msgstr "_Hangulatjelek:" + +#~ msgid "Please wait while retrieving search form..." +#~ msgstr "Kérlek várj amíg a kereső űrlapot lekérem..." + +#~ msgid "_Add contact" +#~ msgstr "Partner _hozzáadása" + +#, fuzzy +#~ msgid "Ad-hoc Commands - Gajim" +#~ msgstr "Ad-hoc Commands - Gajim" + +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "Kérem várjon amíg a parancslista lekérdezése megtörténik..." + +#~ msgid "Choose command to execute:" +#~ msgstr "Válassz parancsot futtatáshoz:" + +#~ msgid "Check once more" +#~ msgstr "Ellenőrizze újra" + +#, fuzzy +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "Kérem várjon amíg a parancs küldése folyamatban van..." + +#, fuzzy +#~ msgid "This jabber entity does not expose any commands." +#~ msgstr "This jabber entity does not expose any commands." + +#~ msgid "F_inish" +#~ msgstr "B_efejezés" + +#~ msgid "Waiting for results" +#~ msgstr "Várakozás eredményekre" + +#~ msgid "Error in received dataform" +#~ msgstr "Hiba a fogadott adatformában" + +#~ msgid "No result" +#~ msgstr "Nincs eredmény" + +#~ msgid "Failed to get secret keys" +#~ msgstr "Hiba a titkos kulcsok lekérdezése közben" + +#~ msgid "There is no OpenPGP secret key available." +#~ msgstr "Nincs elérhető titkos OpenPGP kulcs." + +#~ msgid "OpenPGP Key Selection" +#~ msgstr "OpenPGP kulcs választás" + +#~ msgid "Choose your OpenPGP key" +#~ msgstr "Válaszd ki az OpenPGP kulcsod" + +#~ msgid "KeyID" +#~ msgstr "Kulcs azonosító" + +#~ msgid "Contact name" +#~ msgstr "Partner neve" + +#, fuzzy +#~ msgid "OpenPGP is not usable" +#~ msgstr "A GPG nem használható" + +#, fuzzy +#~ msgid "Assign OpenPGP Key" +#~ msgstr "Assign OpenPGP Key" + +#, fuzzy +#~ msgid "Select a key to apply to the contact" +#~ msgstr "Select a key to apply to the contact" + +#, fuzzy +#~ msgid "" +#~ "You configured Gajim to use OpenPGP agent, but there is no OpenPGP agent " +#~ "running or it returned a wrong passphrase.\n" +#~ msgstr "" +#~ "You configured Gajim to use GPG agent, but there is no GPG agent running " +#~ "or it returned a wrong passphrase.\n" + +#~ msgid "You are currently connected without your OpenPGP key." +#~ msgstr "Jelenleg az OpenPGP kulcsod nélkül csatlakozol" + +#, fuzzy +#~ msgid "Wrong passphrase" +#~ msgstr "Rossz jelszó" + +#, fuzzy +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "Rossz jelszó" + +#, fuzzy +#~ msgid "Passphrase Required" +#~ msgstr "Jelszó szükséges (vagy jelmondat?)" + +#, fuzzy +#~ msgid "" +#~ "Enter OpenPGP key passphrase for key %(keyid)s (account %(account)s)." +#~ msgstr "Enter GPG key passphrase for key %(keyid)s (account %(account)s)." + +#, fuzzy +#~ msgid "OpenPGP key expired" +#~ msgstr "GPG kulcs lejárt" + +#, fuzzy +#~ msgid "" +#~ "Your OpenPGP key has expired, you will be connected to %s without OpenPGP." +#~ msgstr "" +#~ "A GPG kulcsod lejárt, csatlakoztatva leszel ide: %s Open PGP nélkül." + +#~ msgid "Wrong Passphrase" +#~ msgstr "Rossz jelszó" + +#, fuzzy +#~ msgid "Please retype your OpenPGP passphrase or press Cancel." +#~ msgstr "Kérlek írd be újra a GPG jelszavad, vagy kattints a mégsére" + +#, fuzzy +#~ msgid "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." + +#~ msgid "if specified, the message will be encrypted using this public key" +#~ msgstr "" +#~ "ha be van állítva, az üzenet ezzel a publikus kulccsal lesz titkosítva" + +#, fuzzy +#~ msgid "" +#~ "Sends a chat message to someone on your roster. Optionally with OpenPGP " +#~ "key and account. If you want to only set the latter, set OpenPGP key to " +#~ "\"\"." +#~ msgstr "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." + +#, fuzzy +#~ msgid "" +#~ "If disabled, don't sign presences with GPG key, even if GPG is configured." +#~ msgstr "" +#~ "If disabled, don't sign presences with GPG key, even if GPG is configured." + +#, fuzzy +#~ msgid "OpenPGP:" +#~ msgstr "OpenPGP: " + +#, fuzzy +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "Assign Open_PGP Key..." + +#, fuzzy +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "OpenPGP üzenettitkosítás" + +#, fuzzy +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "Üzenetek titkosítása GPG kulcsokkal" + +#, fuzzy +#~ msgid "Requires: gpg and python-gnupg (%(url)s)" +#~ msgstr "gpg és python-GnuPGInterface szükséges hozzá." + +#, fuzzy +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "HTTP__PROXY környezeti változójának _használata" + +#, fuzzy +#~ msgid "Use PGP Agent" +#~ msgstr "G_PG kezelő használata" + +#, fuzzy +#~ msgid "OpenPGP Key" +#~ msgstr "Assign OpenPGP Key" + +#~ msgid "Cancel confirmation" +#~ msgstr "Megerősítés megszakítása" + +#~ msgid "" +#~ "You are in process of executing command. Do you really want to cancel it?" +#~ msgstr "" +#~ "Folyamatban van egy futó parancs. Biztos, hogy meg szeretnéd szakítani?" + +#, fuzzy +#~ msgid "Service sent malformed data" +#~ msgstr "Service sent malformed data" + +#~ msgid "Service changed the session identifier." +#~ msgstr "A szolgáltatás megváltoztatta a munkamenet azonosítóját." + +#, fuzzy +#~ msgid "%s - Ad-hoc Commands - Gajim" +#~ msgstr "Ad-hoc Commands - Gajim" + +#~ msgid "Service returned an error." +#~ msgstr "A szolgáltatás hibát jelzett." + +#~ msgid "You are invited to a groupchat" +#~ msgstr "Meghívtak közös társalgásba" + +#~ msgid "_Start Chat" +#~ msgstr "Beszélgetés _Indítása" + +#~ msgid "Au_thorize" +#~ msgstr "_Engedélyez" + +#~ msgid "Really send file?" +#~ msgstr "Biztosan elküldöd a file-t?" + +#~ msgid "You are currently connected to the server" +#~ msgstr "Csatlakozva vagy a szerverhez" + +#~ msgid "To disable the account, you must be disconnected." +#~ msgstr "Ahhoz hogy kikapcsold a fiókod, előbb le kell csatlakoznod." + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with %(jid)s?" +#~ msgstr "Biztosan szeretnéd törölni a kiválasztott üzenetet?" + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with the selected contacts?" +#~ msgstr "Biztosan szeretnéd törölni a kiválasztott partner naplóit?" + +#~ msgid "What do you want to do?" +#~ msgstr "Mit szeretnél csinálni?" + +#, fuzzy +#~ msgid "" +#~ "List of colors, separated by \":\", that will be used to color nicknames " +#~ "in group chats." +#~ msgstr "" +#~ "List of colours, separated by \":\", that will be used to colour " +#~ "nicknames in group chats." + +#~ msgid "You have received new entries (and %d not displayed):" +#~ msgid_plural "You have received new entries (and %d not displayed):" +#~ msgstr[0] "Új bejegyzések érkeztek (ebből %d nem jelent meg):" +#~ msgstr[1] "Új bejegyzések érkeztek (ebből %d nem jelent meg):" + +#~ msgid "Stopped" +#~ msgstr "Megállítva" + +#~ msgid "" +#~ "You are about to send your password on an insecure connection. You should " +#~ "install PyOpenSSL to prevent that. Are you sure you want to do that?" +#~ msgstr "" +#~ "A jelszavad nem biztonságos kapcsolaton keresztül történő elküldése előtt " +#~ "állsz. Hogy ezt megakadályozd, feltelepítheted a PyOpenSSL-t. Biztosan " +#~ "szeretnéd folytatni ennek ellenére?" + +#, fuzzy +#~ msgid "Status messages displayed in chat window" +#~ msgstr "Üzenet küldése és az ablak bezárása" + +#~ msgid "?print_status:All" +#~ msgstr "Minden" + +#~ msgid "Enter and leave only" +#~ msgstr "Csak belépés és elhagyás" + +#~ msgid "?print_status:None" +#~ msgstr "Egyik sem" + +#, fuzzy +#~ msgid "Untrusted OpenPGP key" +#~ msgstr "Válaszd ki az OpenPGP kulcsod" + +#, fuzzy +#~ msgid "" +#~ "The OpenPGP key used to encrypt this chat is not trusted. Do you really " +#~ "want to encrypt this message?" +#~ msgstr "" +#~ "A GPG kulcs amivel ez a beszélgetés lesz titkosítva nem megbízható. " +#~ "Biztosan szeretnéd titkosítani az üzenetet?" + +#~ msgid "D-Bus python bindings are missing in this computer" +#~ msgstr "D-Bus python bindings are missing in this computer" + +#~ msgid "D-Bus capabilities of Gajim cannot be used" +#~ msgstr "A Gajim D-Bus képességeit nem lehet használni" + +#~ msgid "D-Bus does not run correctly on this machine" +#~ msgstr "A D-Bus nem fut megfelelően ezen a számítógépen" + +#~ msgid "D-Bus does not run correctly on this machine: system bus not present" +#~ msgstr "" +#~ "A D-Bus nem fut megfelelően ezen a számítógépen: nincs jelen a " +#~ "rendszerbusz" + +#~ msgid "" +#~ "D-Bus does not run correctly on this machine: session bus not present" +#~ msgstr "" +#~ "A D-Bus nem fut megfelelően ezen a számítógépen: munkamenet busz nincs " +#~ "jelen" + +#, fuzzy +#~ msgid "Command line Control" +#~ msgstr "Parancssor" + +#, fuzzy +#~ msgid "Enables you to control Gajim with via commandline" +#~ msgstr "Egy szkript a Gajim parancssorból történő vezérlésére" + +#, fuzzy +#~ msgid "" +#~ "When is self contact row displayed. Can be \"always\", " +#~ "\"when_other_resource\" or \"never\"" +#~ msgstr "" +#~ "When is self contact row displayed. Can be \"always\", " +#~ "\"when_other_resource\" or \"never\"" + +#, fuzzy +#~ msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +#~ msgstr "%(nick)s has been kicked by %(who)s: %(reason)s" + +#, fuzzy +#~ msgid "%(nick)s has been banned by %(who)s: %(reason)s" +#~ msgstr "%(nick)s has been banned by %(who)s: %(reason)s" + +#~ msgid "system shutdown" +#~ msgstr "a rendszer leáll" + +#, fuzzy +#~ msgid "** Role of %(nick)s has been set to %(role)s" +#~ msgstr "** Role of %(nick)s has been set to %(role)s" + +#~ msgid "%s has left" +#~ msgstr "%s távozott" + +#, fuzzy +#~ msgid "%s is full" +#~ msgstr "Betűtípus" + +#, fuzzy +#~ msgid "" +#~ "Can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no " +#~ "longer print status line in groupchats when a member changes their status " +#~ "and/or their status message. If \"all\" Gajim will print all status " +#~ "messages. If \"in_and_out\", Gajim will only print FOO enters/leaves " +#~ "group chat." +#~ msgstr "" +#~ "can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no " +#~ "longer print status line in groupchats when a member changes his or her " +#~ "status and/or his or her status message. If \"all\" Gajim will print all " +#~ "status messages. If \"in_and_out\", Gajim will only print FOO enters/" +#~ "leaves group chat." + +#, fuzzy +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "Partnerek állapotüz_eneteinek megjelenítése a főablakban" + +#~ msgid "" +#~ "You are about to send your password unencrypted on an insecure " +#~ "connection. Are you sure you want to do that?" +#~ msgstr "" +#~ "A jelszavad nem biztonságos kapcsolaton keresztül történő titkosítatlan " +#~ "továbbítása előtt állsz. Biztosan szeretnéd folytatni?" + +#, fuzzy +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "Anonymous hitelesítés" + +#, fuzzy +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "Anon_ymous hitelesítés" + +#, fuzzy +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "Anon_ymous hitelesítés" + +#, fuzzy +#~ msgid "" +#~ "Displayed chat state notifications in chat windows. Can be one of all, " +#~ "composing_only, disabled." +#~ msgstr "" +#~ "Displayed chat state notifications in chat windows. Can be one of all, " +#~ "composing_only, disabled." + +#, fuzzy +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." +#~ msgstr "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." + +#~ msgid "This is an irreversible operation." +#~ msgstr "Ez egy visszafordíthatatlan művelet" + +#~ msgid "Settings" +#~ msgstr "Beállítások" + +#, fuzzy +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "Welcome to Gajim History Logs Manager" + +#~ msgid "Member List" +#~ msgstr "Taglista" + +#~ msgid "Owner List" +#~ msgstr "Tulajdonosi lista" + +#~ msgid "Administrator List" +#~ msgstr "Adminisztrátor lista" + +#~ msgid "Nick" +#~ msgstr "Becenév" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "Kit szeretnél bannolni?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Member…" +#~ msgstr "Tag hozzáadása..." + +#~ msgid "" +#~ "Whom do you want to make a member?\n" +#~ "\n" +#~ msgstr "" +#~ "Kit szeretnél taggá tenni?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Owner…" +#~ msgstr "Tulajdonos hozzáadása..." + +#~ msgid "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" +#~ msgstr "" +#~ "Kit szeretnél tulajdonossá tenni??\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Administrator…" +#~ msgstr "Adminisztrátor hozzáadása..." + +#~ msgid "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" +#~ msgstr "" +#~ "Kit szeretnél adminisztrátorrá tenni?\n" +#~ "\n" + +#~ msgid "Error reading file:" +#~ msgstr "Hiba a file olvasása közben:" + +#~ msgid "Error parsing file:" +#~ msgstr "Hiba a file értelmezése közben:" + +#~ msgid "List of possible features in Gajim:" +#~ msgstr "A Gajimban lehetséges funkciók listája:" + +#~ msgid "Description" +#~ msgstr "Leírás" + +#~ msgid "Password encryption" +#~ msgstr "Jelszó titkosítás" + +#~ msgid "Spellchecking of composed messages." +#~ msgstr "A fogalmazott üzenetek helyesírás ellenőrzése" + +#~ msgid "Automatic status" +#~ msgstr "Automatikus állapot" + +#~ msgid "Requires python2.5." +#~ msgstr "python2.5 szükséges." + +#, fuzzy +#~ msgid "" +#~ "Generate XHTML output from RST code (see http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Generate XHTML output from RST code (see http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html)." + +#~ msgid "?features:Available" +#~ msgstr "Elérhető" + +#~ msgid "Feature" +#~ msgstr "Funkció" + +#~ msgid "Filter:" +#~ msgstr "Szűrés:" + +#~ msgid "Chat Appearance" +#~ msgstr "Beszélgetés kinézete" + +#, fuzzy +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed out" +#~ msgstr "" +#~ "Gajim will notify you via a pop-up window in the bottom right of the " +#~ "screen about contacts that just signed out" + +#~ msgid "Sounds" +#~ msgstr "Hangok" + +#~ msgid "Chat state notifications" +#~ msgstr "Chat state notifications" + +#, fuzzy +#~ msgid "_Away after" +#~ msgstr "_Távol miután:" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will change status to Away when the computer is unused." +#~ msgstr "" +#~ "If ticked, Gajim will change status to Away when the computer is unused." + +#, fuzzy +#~ msgid "_Not available after" +#~ msgstr "_Nem elérhető miután:" + +#~ msgid "Auto Status" +#~ msgstr "Automatikus állapot" + +#~ msgid "Status Messages" +#~ msgstr "Állapotüzenetek" + +#~ msgid "Audio" +#~ msgstr "Hang" + +#~ msgid "Video" +#~ msgstr "Videó" + +#, fuzzy +#~ msgid "(example: stun.iptel.org)" +#~ msgstr "(példa: stunserver.org)" + +#~ msgid "Connection" +#~ msgstr "Kapcsolat" + +#~ msgid "Custom" +#~ msgstr "Egyéni" + +#~ msgid "Privacy" +#~ msgstr "Magánélet" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "Bővített konfigurációszerkesztő" + +#, fuzzy +#~ msgid "Audio / video conferences" +#~ msgstr "Hang / Videó" + +#, fuzzy +#~ msgid "File transfer, room bookmarks" +#~ msgstr "Fileátvitel hiba" + +#, fuzzy +#~ msgid "XML console interface" +#~ msgstr "XML parancssor" + +#, fuzzy +#~ msgid "" +#~ "A programming error has been detected. It probably is not fatal, but " +#~ "should be reported to the developers nonetheless." +#~ msgstr "" +#~ "Minden bizonnyal nem kritikus, de ha szeretnéd, jelezheted a " +#~ "fejlesztőknek." + +#, fuzzy +#~ msgid "" +#~ "A list of modp groups to use in a Diffie-Hellman, highest preference " +#~ "first, separated by commas. Valid groups are 1, 2, 5, 14, 15, 16, 17 and " +#~ "18. Higher numbers are more secure, but take longer to calculate when you " +#~ "start a session." +#~ msgstr "" +#~ "A list of modp groups to use in a Diffie-Hellman, highest preference " +#~ "first, separated by commas. Valid groups are 1, 2, 5, 14, 15, 16, 17 and " +#~ "18. Higher numbers are more secure, but take longer to calculate when you " +#~ "start a session." + +#~ msgid "(ESession info)" +#~ msgstr "(EMunkamenet információ)" + +#, fuzzy +#~ msgid "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" +#~ msgstr "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" + +#, fuzzy +#~ msgid "_Emoticons" +#~ msgstr "_Hangulatjelek:" + +#~ msgid "_Highlight misspelled words" +#~ msgstr "_Félregépelt szavak kiemelése" + +#, fuzzy +#~ msgid "Notify by icon when your messages are received" +#~ msgstr "Sound to play when any MUC message arrives." + +#, fuzzy +#~ msgid "T_heme" +#~ msgstr "Té_ma:" + +#~ msgid "Themes" +#~ msgstr "Témák" + +#, fuzzy +#~ msgid "Always use this nickname when there is a conflict" +#~ msgstr "Always use this nickname when there is a conflict" + +#, fuzzy +#~ msgid "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." +#~ msgstr "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." + +#, fuzzy +#~ msgid "Presence" +#~ msgstr "_Jelenlét" + +#~ msgid "Emoticons disabled" +#~ msgstr "Hangulatjelek letiltva" + +#, fuzzy +#~ msgid "" +#~ "Your configured emoticons theme could not be loaded. See the log for more " +#~ "details." +#~ msgstr "" +#~ "A beállított hangulatjel témád nem található, ezért a hangulatjelek le " +#~ "lesznek tiltva." + +#~ msgid "You cannot make changes to the default theme" +#~ msgstr "Nem végezhetsz módosításokat az alapértelmezett témán" + +#~ msgid "theme name" +#~ msgstr "téma neve" + +#~ msgid "You cannot delete your current theme" +#~ msgstr "Nem törölheted a jelenlegi témád" + +#~ msgid "New Single Message from %(nickname)s" +#~ msgstr "Új levél tőle: %(nickname)s" + +#~ msgid "New Private Message from group chat %s" +#~ msgstr "Új privát üzenet ebből a közös beszélgetésből: %s" + +#, fuzzy +#~ msgid "%(nickname)s: %(message)s" +#~ msgstr "%(nickname)s: %(message)s" + +#~ msgid "Messaged by %(nickname)s" +#~ msgstr "Üzenetet írta: %(nickname)s" + +#~ msgid "Status message text color." +#~ msgstr "Állapotüzenet színe." + +#~ msgid "Incoming nickname font." +#~ msgstr "Bejövő becenév betűtípusa." + +#~ msgid "Outgoing nickname font." +#~ msgstr "Kimenő becenév betűtípusa." + +#~ msgid "Status message text font." +#~ msgstr "Állapotüzenet betűtípusa." + +#, fuzzy +#~ msgid "Background color of contacts when they just signed in." +#~ msgstr "Background colour of contacts when they just signed in." + +#, fuzzy +#~ msgid "Background color of contacts when they just signed out." +#~ msgstr "Background colour of contacts when they just signed out." + +#~ msgid "green" +#~ msgstr "zöld" + +#~ msgid "grocery" +#~ msgstr "fűszeres" + +#~ msgid "human" +#~ msgstr "emberi" + +#~ msgid "marine" +#~ msgstr "tengerész" + +#~ msgid "Chat Banner" +#~ msgstr "Beszélgetés Banner" + +#, fuzzy +#~ msgid "Gajim Themes Customization" +#~ msgstr "Gajim Themes Customisation" + +#~ msgid "Text _color:" +#~ msgstr "Szöveg _színe:" + +#~ msgid "_Background:" +#~ msgstr "_Háttér:" + +#~ msgid "Text _font:" +#~ msgstr "Szöveg _betűtípusa:" + +#~ msgid "Font style:" +#~ msgstr "Betűtípus stílusa:" + +#~ msgid "Paused" +#~ msgstr "Szüneteltetve" + +#~ msgid "Gone" +#~ msgstr "Elment" + +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "" +#~ "MUC\n" +#~ "Üzenetek" + +#~ msgid "Chatstate Tab Colors" +#~ msgstr "Chatstate Tab Colours" + +#, fuzzy +#~ msgid "Chat message" +#~ msgstr "Beszélgetés üzenet:" + +#~ msgid "Use system _default" +#~ msgstr "Rendszer _alapértelmezésének hanszálata" + +#~ msgid "Font" +#~ msgstr "Betűtípus" + +#, fuzzy +#~ msgid "Contact's nickname" +#~ msgstr "Partner beceneve:" + +#, fuzzy +#~ msgid "_Status message" +#~ msgstr "_Állapot üzenet:" + +#, fuzzy +#~ msgid "Your message" +#~ msgstr "Üzeneted:" + +#, fuzzy +#~ msgid "_URL highlight" +#~ msgstr "_URL kiemelés:" + +#~ msgid "Chat Line Colors" +#~ msgstr "Chat Line Colours" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber Azonosító:" + +#~ msgid "Resource:" +#~ msgstr "Erőforrás:" + +#~ msgid "Status:" +#~ msgstr "Status:" + +#~ msgid "Contact time:" +#~ msgstr "Kapcsolat ideje:" + +#~ msgid "Ask:" +#~ msgstr "Kérdez:" + +#~ msgid "Subscription:" +#~ msgstr "Feliratkozás:" + +#~ msgid "Name:" +#~ msgstr "Név:" + +#~ msgid "Nickname:" +#~ msgstr "Becenév:" + +#~ msgid "Street:" +#~ msgstr "Utca:" + +#~ msgid "City:" +#~ msgstr "Város:" + +#~ msgid "State:" +#~ msgstr "Megye:" + +#~ msgid "Extra Address:" +#~ msgstr "Extra Cím:" + +#~ msgid "Postal Code:" +#~ msgstr "Irányítószám:" + +#~ msgid "Country:" +#~ msgstr "Ország:" + +#~ msgid "Homepage:" +#~ msgstr "Weboldal:" + +#~ msgid "E-Mail:" +#~ msgstr "E-Mail:" + +#~ msgid "Phone No.:" +#~ msgstr "Telefonszám:" + +#~ msgid "Birthday:" +#~ msgstr "Születésnap:" + +#~ msgid "Family:" +#~ msgstr "Család:" + +#~ msgid "Middle:" +#~ msgstr "Középső név:" + +#~ msgid "Prefix:" +#~ msgstr "Előtag:" + +#~ msgid "Given:" +#~ msgstr "Keresztnév:" + +#~ msgid "Suffix:" +#~ msgstr "Szuffixum:" + +#~ msgid "Full Name" +#~ msgstr "Teljes Név" + +#~ msgid "Company:" +#~ msgstr "Cég:" + +#~ msgid "Department:" +#~ msgstr "Részleg:" + +#~ msgid "Position:" +#~ msgstr "Beosztás:" + +#~ msgid "Role:" +#~ msgstr "Szerep:" + +#~ msgid "- messages will be logged" +#~ msgstr "- üzenetek naplózva lesznek" + +#~ msgid "- messages will not be logged" +#~ msgstr "- üzenetek nem lesznek naplózva" + +#~ msgid "Edit %s" +#~ msgstr "Szerkeszt: %s" + +#~ msgid "Conversation History with %s" +#~ msgstr "Beszélgetésnapló vele: %s" + +#, fuzzy +#~ msgid "Contact with \"%s\" cannot be established" +#~ msgstr "Contact with \"%s\" cannot be established" + +#~ msgid "Registration information for transport %s has not arrived in time" +#~ msgstr "Registration information for transport %s has not arrived in time" + +#~ msgid "Register to" +#~ msgstr "Regisztráció ide: " + +#, fuzzy +#~ msgid "Enter name / JID of contact or groupchat" +#~ msgstr "Írja be a Jabber azonosítót, vagy a partner nevét" + +#~ msgid "Search:" +#~ msgstr "Keresés:" + +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "Kapcsolat nélkül nem változtathatod meg a jelszavad." + +#~ msgid "Invalid password" +#~ msgstr "Érvénytelen jelszó" + +#~ msgid "The passwords typed in both fields must be identical." +#~ msgstr "A jelszavaknak egyezniük kell egymással mindkét mezőben." + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "Írja be újra megerősítésképp:" + +#, fuzzy +#~ msgid "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" +#~ msgstr "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" + +#~ msgid "unsubscribe request from %s" +#~ msgstr "liratkozási kérelem tőle: %s" + +#, fuzzy +#~ msgid "Homepage:" +#~ msgstr "Weboldal:" + +#~ msgid "Manage Bookmarks" +#~ msgstr "Könyvjelzők kezelése" + +#~ msgid "_Nickname:" +#~ msgstr "_Becenév:" + +#, fuzzy +#~ msgid "Pr_int status:" +#~ msgstr "Print status:" + +#, fuzzy +#~ msgid "Add JID" +#~ msgstr "Jabber Azonosító" + +#, fuzzy +#~ msgid "Preference:" +#~ msgstr "Tulajdonságok" + +#, fuzzy +#~ msgid "Preference" +#~ msgstr "Tulajdonságok" + +#, fuzzy +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "" +#~ "Kérlek töltsd ki annak a partnernek az adatait akit hozzá szeretnél adni " +#~ "%s" + +#~ msgid "Please fill in the data of the contact you want to add" +#~ msgstr "" +#~ "Kérlek töltsd ki annak a partnernek az adatait akit hozzá szeretnél adni" + +#, fuzzy +#~ msgid "Recently" +#~ msgstr "Legutóbbi:" + +#~ msgid "Add New Contact" +#~ msgstr "Új partner felvétele" + +#~ msgid "_User ID:" +#~ msgstr "_Felhasználói azonosító:" + +#, fuzzy +#~ msgid "Type User ID" +#~ msgstr "Felhasználói azonosító:" + +#, fuzzy +#~ msgid "Type Nickname" +#~ msgstr "Becenév" + +#~ msgid "Personal Information" +#~ msgstr "Személyes információ" + +#~ msgid "Avatar:" +#~ msgstr "Avatar:" + +#~ msgid "Click to set your avatar" +#~ msgstr "Kattints az avatarod beállításához" + +#, fuzzy +#~ msgid "Remove Avatar" +#~ msgstr "Remove Group" + +#~ msgid "Not fetched because of invisible status" +#~ msgstr "Nem lett lekérve mert az állapot láthatatlan" + +#~ msgid "Please wait..." +#~ msgstr "Kérem várjon..." + +#, fuzzy +#~ msgid "" +#~ "When negotiating an encrypted session, should Gajim assume you want your " +#~ "messages to be logged?" +#~ msgstr "" +#~ "When negotiating an encrypted session, should Gajim assume you want your " +#~ "messages to be logged?" + +#, fuzzy +#~ msgid "Log _encrypted chat session" +#~ msgstr "Log _encrypted chat session" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will keep logs for encrypted messages. Please note that " +#~ "when using end-to-end encryption the remote party has to agree on " +#~ "logging, else the messages will not be logged." +#~ msgstr "" +#~ "If ticked, Gajim will keep logs for encrypted messages. Please note that " +#~ "when using E2E encryption the remote party has to agree on logging, else " +#~ "the messages will not be logged." + +#~ msgid "Yahoo! Address:" +#~ msgstr "Yahoo! cím:" + +#~ msgid "Forward unread messages" +#~ msgstr "Olvasatlan üzenetek továbbítása" + +#~ msgid "All unread messages have been forwarded." +#~ msgstr "Az összes olvasatlan üzenet továbbítva lett." + +#~ msgid "Forward unread message then disconnect" +#~ msgstr "Továbbítsd az olvasatlan üzeneteket, majd kapcsolódj le" + +#~ msgid "MSN Address:" +#~ msgstr "MSN cím:" + +#~ msgid "Confirm these session options" +#~ msgstr "Munkamenet opciók megerősítése" + +#, fuzzy +#~ msgid "" +#~ "The remote client wants to negotiate a session with these features:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Are these options acceptable?" +#~ msgstr "" +#~ "The remote client wants to negotiate a session with these features:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Are these options acceptable?" + +#, fuzzy +#~ msgid "" +#~ "The remote client selected these options:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Continue with the session?" +#~ msgstr "" +#~ "The remote client selected these options:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Continue with the session?" + +#, fuzzy +#~ msgid "Always accept for this contact" +#~ msgstr "Is OpenPGP enabled for this contact?" + +#~ msgid "End to End message encryption" +#~ msgstr "End to End üzenettitkosítás" + +#~ msgid "Encrypting chat messages." +#~ msgstr "Chat üzenetek titkosítása." + +#~ msgid "Requires python-crypto." +#~ msgstr "python-crypto szükséges hozzá." + +#~ msgid "Session negotiation cancelled" +#~ msgstr "Munkamenet létrehozása megszakítva" + +#~ msgid "This session is encrypted" +#~ msgstr "Ez a munkamenet titkosított" + +#~ msgid " and WILL be logged" +#~ msgstr " és NAPLÓZVA LESZ" + +#~ msgid " and WILL NOT be logged" +#~ msgstr " és NEM LESZ naplózva" + +#~ msgid "" +#~ "Remote contact's identity not verified. Click the shield button for more " +#~ "details." +#~ msgstr "" +#~ "A beszélgetőpartner személyazonossága nem visszaigazolt. Kattints a pajzs " +#~ "gombra a részletekért." + +#, fuzzy +#~ msgid "end-to-end encryption disabled" +#~ msgstr "GPG titkosítás kikapcsolva" + +#~ msgid "" +#~ "Unable to decrypt message from %s\n" +#~ "It may have been tampered with." +#~ msgstr "" +#~ "Nem lehet tőle visszafejteni az üzenetet: %s\n" +#~ "Elképzelhető, hogy szabotázs történt." + +#~ msgid "Unable to decrypt message" +#~ msgstr "Nem lehet visszafejteni az üzenetet" + +#, fuzzy +#~ msgid "Enable ESessions encryption for this account." +#~ msgstr "Enable ESessions encryption for this account." + +#, fuzzy +#~ msgid "Should Gajim automatically start an encrypted session when possible?" +#~ msgstr "" +#~ "Should Gajim automatically start an encrypted session when possible?" + +#~ msgid "" +#~ "[This is part of an encrypted session. If you see this message, something " +#~ "went wrong.]" +#~ msgstr "" +#~ "[Ez a része egy titkosított munkamenetnek. Ha ezt látod, valami hiba " +#~ "történt.]" + +#~ msgid "Requires python-avahi." +#~ msgstr "python-avahi szükséges hozzá." + +#, fuzzy +#~ msgid "Save Image as…" +#~ msgstr "Kép mentése másként..." + +#, fuzzy +#~ msgid "Exporting History Logs…" +#~ msgstr "Előzménynaplók exportálása..." + +#~ msgid "Choose Client Cert #PCKS12" +#~ msgstr "Válassz kliens tanusítványt #PCKS12" + +#~ msgid "When %s becomes:" +#~ msgstr "Amint %s válik:" + +#~ msgid "Adding Special Notification for %s" +#~ msgstr "Egyedi figylemeztetés hozzáadása hozzá: %s" + +#, fuzzy +#~ msgid "" +#~ "It seems the SSL certificate of account %(account)s has changed and is " +#~ "not valid or your connection is being compromised.\n" +#~ "\n" +#~ "Old SHA-1 fingerprint: %(old_sha1)s\n" +#~ "Old SHA-256 fingerprint: %(old_sha256)s\n" +#~ "\n" +#~ "New SHA-1 fingerprint: %(new_sha1)s\n" +#~ "New SHA-256 fingerprint: %(new_sha256)s\n" +#~ "\n" +#~ "Do you still want to connect and update the fingerprint of the " +#~ "certificate?" +#~ msgstr "" +#~ "It seems the SSL certificate of account %(account)s has changed or your " +#~ "connection is being hacked.\n" +#~ "Old fingerprint: %(old)s\n" +#~ "New fingerprint: %(new)s\n" +#~ "\n" +#~ "Do you still want to connect and update the fingerprint of the " +#~ "certificate?" + +#, fuzzy +#~ msgid "" +#~ "The authenticity of the %s certificate could be invalid.\n" +#~ "The certificate does not cover this domain." +#~ msgstr "The authenticity of the %s certificate could be invalid." + +#~ msgid "Unable to load idle module" +#~ msgstr "Nem sikerült betölteni a tétlen modult" + +#, fuzzy +#~ msgid "%s or %s is a directory but should be a file" +#~ msgstr "%s egy könyvtár de lehetne egy file is" + +#~ msgid "creating logs database" +#~ msgstr "beszélgetésnapló adatbázis létrehozása" + +#, fuzzy +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "Send %s to %s" + +#, fuzzy +#~ msgid "Rename account label" +#~ msgstr "Fiók átnevezése" + +#, fuzzy +#~ msgid "Send Single Message..." +#~ msgstr "_Levél küldése..." + +#~ msgid "We received an error: {}" +#~ msgstr "A szolgáltatás hibát jelzett: {}" + +#~ msgid "E2E encryption disabled" +#~ msgstr "E2E titkosítás kikapcsolva" + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Add hozzá ezt a tanusítványt a megbízható tanusítványok listájához.\n" +#~ "A tanusítvány SHA1 ujjlenyomata:\n" +#~ "%s" + +#~ msgid "uri" +#~ msgstr "uri" + +#~ msgid "" +#~ "Install /\n" +#~ "Upgrade" +#~ msgstr "" +#~ "Telepítés /\n" +#~ "Frissítés" + +#~ msgid "Install/Upgrade" +#~ msgstr "Telepítés/Frissítés" + +#~ msgid "cyan" +#~ msgstr "cián" + +#~ msgid "migrating logs database to indices" +#~ msgstr "migrating logs database to indices" + +#, fuzzy +#~ msgid "Send File..." +#~ msgstr "_File Küldése..." + +#, fuzzy +#~ msgid "HTTP File Upload not supported by your server" +#~ msgstr "Metacontacts storage not supported by your server" + +#, fuzzy +#~ msgid "Jingle File Transfer" +#~ msgstr "Fileátvitelek" + +#~ msgid "" +#~ "Your configured emoticons theme has not been found, so emoticons have " +#~ "been disabled." +#~ msgstr "" +#~ "A beállított hangulatjel témád nem található, ezért a hangulatjelek le " +#~ "lesznek tiltva." + +#~ msgid "Shows or hides the roster window" +#~ msgstr "Megjeleníti vagy elrejti a névsor ablakot" + +#~ msgid "Shows or hides the ipython window" +#~ msgstr "Elrejti vagy megjeleníti az ipython ablakot" + +#, fuzzy +#~ msgid "XMPP account %s" +#~ msgstr "XMPP fiók %s@%s" + +#, fuzzy +#~ msgid "Exception" +#~ msgstr "Leírás" + +#~ msgid "" +#~ "someone@somewhere.com would like you to add some contacts " +#~ "in your roster." +#~ msgstr "" +#~ "valaki@valahol.hu azt szeretné, hogy vegyél fel néhány " +#~ "ismerőst a névsorodba." + +#, fuzzy +#~ msgid "" +#~ "Ordered list (space separated) of connection type to try. Can contain " +#~ "tls, ssl or plain" +#~ msgstr "" +#~ "Ordered list (space separated) of connection type to try. Can contain " +#~ "tls, ssl or plain" + +#~ msgid "_Actions" +#~ msgstr "Mű_veletek" + +#, fuzzy +#~ msgid "Requires upower and python-dbus." +#~ msgstr "python-dbus szükséges hozzá." + +#~ msgid "You are already in group chat %s" +#~ msgstr "Már benne vagy a közös beszélgetésben %s" + +#~ msgid "Join Group Chat with account %s" +#~ msgstr "Csatlakozás közös társalgáshoz ezzel a fiókkal: %s" + +#, fuzzy +#~ msgid "" +#~ "You have to choose an account from which you want to join the groupchat." +#~ msgstr "" +#~ "You have to choose an account from which you want to join the groupchat." + +#, fuzzy +#~ msgid "Please enter the group chat JID as room@server." +#~ msgstr "" +#~ "Kérlek írd be a közös társalgás Jabber Azonosítóját úgy mint: " +#~ "szoba@szerver." + +#, fuzzy +#~ msgid "The group chat JID contains invalid characters." +#~ msgstr "" +#~ "A közös társalgás Jabber Azonosítójában nem megengedett karakterek vannak." + +#~ msgid "Start Chat with account %s" +#~ msgstr "Beszélgetés kezdeményezése ezzel a fiókkal: %s" + +#, fuzzy +#~ msgid "" +#~ "Fill in the nickname or the JID of the contact you would like\n" +#~ "to send a chat message to:" +#~ msgstr "" +#~ "Írd be annak a partnernek a Jabber Azonosítóját vagy becenevét, akinek " +#~ "üzenetet szeretnél küldeni." + +#, fuzzy +#~ msgid "Nickname / JID" +#~ msgstr "Érvénytelen Jabber Azonosító" + +#~ msgid "Unable to parse \"%s\"." +#~ msgstr "Nem értelmezhező \"%s\"." + +#~ msgid "Shows the chat dialog so that you can send messages to a contact" +#~ msgstr "" +#~ "Megmutatja a beszélgetőablakot, tehát tudsz üzenetet küldeni a partnernek" + +#~ msgid "JID of the contact that you want to chat with" +#~ msgstr "" +#~ "Annak a partnernek a Jabber Azonosítója, amelyikkel beszélgetni szeretnél" + +#, fuzzy +#~ msgid "message content. The account must be specified or \"\"" +#~ msgstr "message content. The account must be specified or \"\"" + +#~ msgid "Adds contact to roster" +#~ msgstr "Hozzáad egy partnert a névsorhoz" + +#~ msgid "jid" +#~ msgstr "Jabber Azonosító" + +#~ msgid "Adds new contact to this account" +#~ msgstr "Új partnert vesz fel ehhez a fiókhoz" + +#~ msgid "Opens 'Start Chat' dialog" +#~ msgstr "Megnyitja a \"Beszélgetés kezdeményezése\" párbeszédet" + +#~ msgid "Starts chat, using this account" +#~ msgstr "Beszélgetés kezdeményezése ennek a fióknak a használatával" + +#, fuzzy +#~ msgid "Handle a xmpp:/ URI" +#~ msgstr "Egy xmpp:/ uri kezelése" + +#~ msgid "URI to handle" +#~ msgstr "Kezelésre szánt URI" + +#, fuzzy +#~ msgid "Account in which you want to handle it" +#~ msgstr "Account in which you want to handle it" + +#~ msgid "Message content" +#~ msgstr "Üzenet tartalma" + +#~ msgid "Join a MUC room" +#~ msgstr "Csatlakozás egy MUC szobához" + +#~ msgid "Nickname to use" +#~ msgstr "Használandó becenév" + +#~ msgid "Password to enter the room" +#~ msgstr "Szoba belépési jelszava" + +#, fuzzy +#~ msgid "Account from which you want to enter the room" +#~ msgstr "Account from which you want to enter the room" + +#, fuzzy +#~ msgid "No URI given" +#~ msgstr "Nincs megadva URI" + +#, fuzzy +#~ msgid "Wrong URI" +#~ msgstr "Rossz URI" + +#~ msgid "Nickname:" +#~ msgstr "Becenév:" + +#~ msgid "Server:" +#~ msgstr "Szerver:" + +#, fuzzy +#~ msgid "Join this room _automatically when I connect" +#~ msgstr "Join this room _automatically when I connect" + +#~ msgid "Bro_wse Rooms" +#~ msgstr "Szobák Bön_gészése" + +#, fuzzy +#~ msgid "Requires libgtkspell and libenchant." +#~ msgstr "libgtkspell szükséges hozzá." + +#, fuzzy +#~ msgid "Network-Watcher" +#~ msgstr "Hálózat kezelő" + +#~ msgid "Autodetection of network status." +#~ msgstr "Hálózati kapcsolat automatikus észlelése" + +#, fuzzy +#~ msgid "Requires gnome-network-manager" +#~ msgstr "gnome-network-manager és python-dbus szükséges hozzá." + +#, fuzzy +#~ msgid "Feature not available, see Help->Features" +#~ msgstr "Ez a funkció nem elérhető Windowson." + +#~ msgid "This contact does not support file transfer." +#~ msgstr "Ez a partner nem támogatja a fileátvitelt." + +#, fuzzy +#~ msgid "You need to know the real JID of the contact to send them a file." +#~ msgstr "" +#~ "Tudnod kell a partner valós Jabber Azonosítóját, hogy filet küldhess neki." + +#~ msgid "" +#~ "You have to install %s dictionary to use spellchecking, or choose another " +#~ "language by setting the speller_language option." +#~ msgstr "" +#~ "Fel kell telepítened a %s szótárt, hogy használhasd a helyesírás-" +#~ "ellenőrzést, vagy válassz egy másik nyelvet úgy hogy beállítod a " +#~ "beszélő_nyelve opciót." + +#~ msgid "Hides the buttons in chat windows." +#~ msgstr "Elrejti a beszélgetőablakok gombjait." + +#, fuzzy +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "Szoba felvétele a _könyvjelzők közé" + +#, fuzzy +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "Hozzáad egy partnert a névsorhoz" + +#, fuzzy +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "figyeli a beszélgetést" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Hozzáad egy partnert a névsorhoz" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Hozzáad egy partnert a névsorhoz" + +#, fuzzy +#~ msgid "Ma_ke message windows compact" +#~ msgstr "Ma_ke message windows compact" + +#~ msgid "Hide all buttons in chat windows" +#~ msgstr "Összes gomb elrejtése a beszélgetőablakokban" + +#, fuzzy +#~ msgid "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." +#~ msgstr "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." + +#~ msgid "Disk Write Error" +#~ msgstr "Lemez írási hiba" + +#~ msgid "Set Custom _Avatar..." +#~ msgstr "Egyedi _Avatar beállítása..." + +#, fuzzy +#~ msgid "SSL certificate validation" +#~ msgstr "SSL tanusítvány hitelesítés" + +#, fuzzy +#~ msgid "" +#~ "A library used to validate server certificates to ensure a secure " +#~ "connection." +#~ msgstr "" +#~ "A library used to validate server certificates to ensure a secure " +#~ "connection." + +#, fuzzy +#~ msgid "Requires python-pyopenssl > 0.12 and pyasn1." +#~ msgstr "python-pyopenssl szükséges hozzá." + +#, fuzzy +#~ msgid "?CLI:room" +#~ msgstr "room" + +#, fuzzy +#~ msgid "?CLI:nick" +#~ msgstr "becenév" + +#, fuzzy +#~ msgid "?CLI:password" +#~ msgstr "jelszó" + +#~ msgid "Use D-Bus and Notification-Daemon to show notifications" +#~ msgstr "" +#~ "Használd a D-Bus-t és a Figyelmeztető-daemon-t a figyelmeztetések " +#~ "megjelenítésére" + +#~ msgid "Notification" +#~ msgstr "Értesítés" + +#~ msgid "Passive popups notifying for new events." +#~ msgstr "Passzív felugró ablakok figyelmeztetnek az új eseményekről." + +#~ msgid "Ignore" +#~ msgstr "Mellőz" + +#~ msgid "_Open Gmail Inbox" +#~ msgstr "_Gmail beérkezett üzenetek megnyitása" + +#, fuzzy +#~ msgid "Notify on new _GMail email" +#~ msgstr "Notify on new _GMail email" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will show a notification when a new e-mail is received " +#~ "via GMail" +#~ msgstr "" +#~ "If ticked, Gajim will show a notification when a new e-mail is received " +#~ "via GMail" + +#~ msgid "Display _extra email details" +#~ msgstr "_Extra email részletek megjelenítése" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will also include information about the sender of new " +#~ "emails" +#~ msgstr "" +#~ "If ticked, Gajim will also include information about the sender of the " +#~ "new e-mails" + +#~ msgid "GMail Options" +#~ msgstr "GMail Opciók" + +#, fuzzy +#~ msgid "12" +#~ msgstr "1" + +#, fuzzy +#~ msgid "20" +#~ msgstr "2" + +#, fuzzy +#~ msgid "" +#~ "Specify the command to run when new mail arrives, e.g.: /usr/bin/getmail -" +#~ "q" +#~ msgstr "" +#~ "Specify the command to run when new mail arrives, e.g.: /usr/bin/getmail -" +#~ "q" + +#~ msgid "GMail Email Received" +#~ msgstr "GMail E-mail érkezett" + +#, fuzzy +#~ msgid "New e-mail on %(gmail_mail_address)s" +#~ msgstr "New mail on %(gmail_mail_address)s" + +#, fuzzy +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "You have %d new mail conversation" +#~ msgstr[1] "You have %d new mail conversations" + +#, fuzzy +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "From: %(from_address)s\n" +#~ "Subject: %(subject)s\n" +#~ "%(snippet)s" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "From: %(from_address)s\n" +#~ "Subject: %(subject)s\n" +#~ "%(snippet)s" + +#~ msgid "Resour_ce:" +#~ msgstr "_Erőforrás:" + +#, fuzzy +#~ msgid "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" +#~ msgstr "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" + +#, fuzzy +#~ msgid "Priority will change automatically according to your status." +#~ msgstr "Priority will change automatically according to your status." + +#~ msgid "Anonymous authentication" +#~ msgstr "Anonymous hitelesítés" + +#, fuzzy +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" + +#, fuzzy +#~ msgid "Synchronize contacts" +#~ msgstr "Partnerek szinkronizálása" + +#~ msgid "Click to request authorization to all contacts of another account" +#~ msgstr "" +#~ "Kattintson ide ahhoz, hogy a program hitelesítést kérjen minden egyéb " +#~ "fiókhoz tartozó partnertől" + +#~ msgid "Chan_ge Password" +#~ msgstr "Jelszó meg_változtatása" + +#~ msgid "Administration operations" +#~ msgstr "Adminisztrációs műveletek" + +#~ msgid "Browse..." +#~ msgstr "Tallózás..." + +#, fuzzy +#~ msgid "Certificate is e_ncrypted" +#~ msgstr "Tanusítvány visszautasítva" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "" +#~ "If ticked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" + +#, fuzzy +#~ msgid "Synchronize logs with server" +#~ msgstr "Partnerek szinkronizálása" + +#~ msgid "Synch_ronize account status with global status" +#~ msgstr "Fiókhoz tartozó állapot szink_ronizálása a globális állapottal" + +#, fuzzy +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "If ticked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" + +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "Ha be van pipálva, akkor a GajimIP, so file transfer has higher chances " +#~ "of working." + +#~ msgid "Proxy" +#~ msgstr "Proxy" + +#~ msgid "" +#~ "Check this so Gajim will ask you before sending your password over an " +#~ "insecure connection." +#~ msgstr "" +#~ "Pipálja be, ha azt szeretné, hogy a Gajim kérdezzen mielőtt a jelszava " +#~ "nem biztonságos kapcsolaton kereszül lenne elküldve." + +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "" +#~ "Ha be van pipálva, akkor a Gajim kapcsolat megtartó csomagokat fog " +#~ "küldeni, hogy elkerülje a kapcsolati időtúllépést ami a kapcsolat " +#~ "megszünését eredményezi" + +#~ msgid "Use cust_om hostname/port" +#~ msgstr "E_gyedi hostnév/port használata" + +#~ msgid "_Hostname: " +#~ msgstr "_Hostnév: " + +#~ msgid "_Port: " +#~ msgstr "_Port: " + +#~ msgid "Choose _Key..." +#~ msgstr "Válasszon _Kulcsot..." + +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "" +#~ "Ha be van pipálva, a Gajim le fogja kérni a jelszavakat egy GPG " +#~ "kezelőtől, mint a seahorse" + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#~ msgid "_Edit Personal Information..." +#~ msgstr "_Személyes adatok szerkesztése..." + +#~ msgid "Personal Information" +#~ msgstr "Személyes információ" + +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "Csatlakozás Gajim i_ndulásakor" + +#~ msgid "Synchroni_ze account status with global status" +#~ msgstr "Fiókhoz tartozó állapot _szinkronizálása a globális állapottal" + +#~ msgid "Use cust_om port:" +#~ msgstr "Egye_di port használata:" + +#, fuzzy +#~ msgid "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." +#~ msgstr "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." + +#~ msgid "OpenPGP is not usable on this computer" +#~ msgstr "OpenPGP nem használható ezen a számítógépen" + +#~ msgid "To change the account name, you must be disconnected." +#~ msgstr "Ahhoz, hogy megváltoztathasd a fiók nevét, ki kell jelentkezned." + +#~ msgid "To change the account name, you must read all pending events." +#~ msgstr "" +#~ "Ahhoz, hogy megváltoztathasd a fiók nevét, az összes függő eseményt el " +#~ "kell olvasnod." + +#~ msgid "Account Name Already Used" +#~ msgstr "Ez a fióknév már használatban van" + +#~ msgid "" +#~ "This name is already used by another of your accounts. Please choose " +#~ "another name." +#~ msgstr "" +#~ "Ez a név már használatban van egy másik fiókodhoz. Kérlek válassz másikat." + +#~ msgid "Account name cannot be empty." +#~ msgstr "Fióknév nem lehet üres." + +#~ msgid "Account name cannot contain spaces." +#~ msgstr "fióknév nem tartalmazhat szóközöket." + +#~ msgid "Enter a new name for account %s" +#~ msgstr "Írja be az új nevet ehhez a fiókhoz: %s" + +#, fuzzy +#~ msgid "A JID must be in the form \"user@servername\"." +#~ msgstr "" +#~ "A Jabber azonosítónak ilyen formátumúnak kell lennie " +#~ "\"felhasznalo@szervernev\"." + +#~ msgid "No such account available" +#~ msgstr "Nem elérhető ilyen fiók" + +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "" +#~ "El kell készítened a fiókodat mielőtt szerkesztenéd a szeméyes adataid." + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "Kapcsolat nélkül nem tudod szerkeszteni a személyes adataid." + +#~ msgid "Your server can't save your personal information." +#~ msgstr "A szervered nem menti el a személyes adataid." + +#~ msgid "Please rename or remove it before enabling link-local messaging." +#~ msgstr "" +#~ "Kérlek nevezd át vagy töröld mielőtt engedélyezed a link-local " +#~ "üzenetküldést." + +#~ msgid "THANKS:" +#~ msgstr "KÖSZÖNET:" + +#, fuzzy +#~ msgid "Could not write to %s. Session Management support will not work" +#~ msgstr "Could not write to %s. Session Management support will not work" + +#~ msgid "Jabber Traffic" +#~ msgstr "Jabber forgalom" + +#~ msgid "_Enable" +#~ msgstr "_Engedélyez" + +#~ msgid "Hide IN stanzas" +#~ msgstr "Bejövő stanzák elrejtése" + +#~ msgid "Hide OUT stanzas" +#~ msgstr "Kimenő stanzák elrejtése" + +#~ msgid "Hide Presence stanzas" +#~ msgstr "Jelenléti stanzák elrejtése" + +#~ msgid "Hide IQ stanzas" +#~ msgstr "IQ stanzák elrejtése" + +#~ msgid "Filter" +#~ msgstr "Szűrő" + +#~ msgid "_IQ" +#~ msgstr "_IQ" + +#~ msgid "Info/Query" +#~ msgstr "Info/Lekérdezés" + +#~ msgid "XML Input" +#~ msgstr "XML bemenet" + +#~ msgid "XML Console for %s" +#~ msgstr "XML parancssor ehhez: %s" + +#, fuzzy +#~ msgid "Idle for:" +#~ msgstr "Idle for %s" + +#, fuzzy +#~ msgid "" +#~ "Request offline status messages from all contacts upon connecting. " +#~ "WARNING: This causes a lot of requests to be sent!" +#~ msgstr "" +#~ "Ask offline status message to all offline contacts when connection to an " +#~ "account is established. WARNING: This causes a lot of requests to be sent!" + +#~ msgid "Last status: %s" +#~ msgstr "Legutóbbi állapot: %s" + +#~ msgid " since %s" +#~ msgstr " %s óta" + +#~ msgid "since %s" +#~ msgstr "%s óta" + +#, fuzzy +#~ msgid "Auto" +#~ msgstr "Automatikus csatlakozás" + +#, fuzzy +#~ msgid "body" +#~ msgstr "mindkenki" + +#, fuzzy +#~ msgid "otr" +#~ msgstr "Hot" + +#, fuzzy +#~ msgid "Invalid expire value" +#~ msgstr "Érvénytelen szervernév" + +#, fuzzy +#~ msgid "There is an error" +#~ msgstr "A szolgáltatás hibát jelzett." + +#, fuzzy +#~ msgid "How many minutes should last lines from previous conversation last." +#~ msgstr "How many minutes should last lines from previous conversation last." + +#, fuzzy +#~ msgid "" +#~ "Your configured emoticons theme cannot been loaded. You maybe need to " +#~ "update the format of emoticons.py file. See http://trac.gajim.org/wiki/" +#~ "Emoticons for more details." +#~ msgstr "" +#~ "Your configured emoticons theme cannot been loaded. You maybe need to " +#~ "update the format of emoticons.py file. See http://trac.gajim.org/wiki/" +#~ "Emoticons for more details." + +#~ msgid "You will be connected to %s without OpenPGP." +#~ msgstr "Csatlakoztatva leszel hozzá: %s, OpenPGP nélkül." + +#~ msgid "The following message was NOT encrypted" +#~ msgstr "A következő szöveg NEM VOLT titkosítva" + +#~ msgid "Toggle Open_PGP Encryption" +#~ msgstr "Open_PGP titkosítás Be/Kikapcsolása" + +#~ msgid "Toggle End to End Encryption" +#~ msgstr "End to End titkosítás Be/Kikapcsolás" + +#, fuzzy +#~ msgid "OpenPGP encryption enabled" +#~ msgstr "GPG titkosítás engedélyezve" + +#, fuzzy +#~ msgid "No OpenPGP key assigned" +#~ msgstr "Nincs GPG kulcs hozzárendelve" + +#, fuzzy +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages with OpenPGP." +#~ msgstr "" +#~ "Nincs GPG kulcs hozzárendelve ehhez a partnerhez, így nem lehet GPG " +#~ "titkosítással kódolni az üzeneteket." + +#~ msgid "Session WILL be logged" +#~ msgstr "A munkamenet NAPLÓZVA LESZ" + +#~ msgid "Session WILL NOT be logged" +#~ msgstr "A munkamenet NEM LESZ naplózva" + +#~ msgid "is" +#~ msgstr "van" + +#~ msgid "is NOT" +#~ msgstr "nincs" + +#~ msgid "will" +#~ msgstr "fog" + +#~ msgid "will NOT" +#~ msgstr "NEM fog" + +#~ msgid "The following message was encrypted" +#~ msgstr "A következő üzenet titkosítva volt" + +#, fuzzy +#~ msgid "Toggle the OpenPGP encryption" +#~ msgstr "Open_PGP titkosítás Be/Kikapcsolása" + +#, fuzzy +#~ msgid "" +#~ "Should Gajim automatically start an encrypted session with this contact " +#~ "when possible?" +#~ msgstr "" +#~ "Should Gajim automatically start an encrypted session with this contact " +#~ "when possible?" + +#~ msgid "Neither the remote presence is signed, nor a key was assigned." +#~ msgstr "Se a távoli jelenlét nincs aláírva, se a kulcs nincs hozzárendelve." + +#~ msgid "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "A partner kulcsa (%s) nem egyezik a Gajimban hozzárendelt kulccsal." + +#~ msgid "[This message is *encrypted* (See :XEP:`27`]" +#~ msgstr "[Ez az üzenet *titkosított* (See :XEP:`27`]" + +#~ msgid "" +#~ "Your chat session with %(jid)s is encrypted.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "A beszélgetésed titkosítva van vele: %(jid)s.\n" +#~ "\n" +#~ "Ennek a munkamenetnek a rövid hitelesítési jele a következő: %(sas)s." + +#~ msgid "You have already verified this contact's identity." +#~ msgstr "Már hitelesítetted ennek a partnernek a kilétét." + +#~ msgid "Contact's identity verified" +#~ msgstr "Partner kiléte hitelesítve" + +#~ msgid "" +#~ "To be certain that only the expected person can read your messages " +#~ "or send you messages, you need to verify their identity by clicking the " +#~ "button below." +#~ msgstr "" +#~ "Azért hogy biztos lehess benne csak az a személy tudja olvasni az " +#~ "üzeneteid akit szeretnél, hitelesítened kell az ő személyazonosságát " +#~ "azzal hogy a gombra kattintasz alább." + +#~ msgid "Contact's identity NOT verified" +#~ msgstr "A partner személyazonossága NINCS hitelesítve" + +#, fuzzy +#~ msgid "Verify…" +#~ msgstr "_Igazol" + +#~ msgid "Have you verified the contact's identity?" +#~ msgstr "Hitelesítetted már a partnered személyazonosságát?" + +#, fuzzy +#~ msgid "" +#~ "To prevent talking to an unknown person, you should speak to %(jid)s directly (in person or on the phone) and verify that they see the same " +#~ "Short Authentication String (SAS) as you.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "To prevent talking to an unknown person, you should speak to %(jid)s directly (in person or on the phone) and verify that they see the same " +#~ "Short Authentication String (SAS) as you.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." + +#, fuzzy +#~ msgid "Did you talk to the remote contact and verify the SAS?" +#~ msgstr "Did you talk to the remote contact and verify the SAS?" + +#, fuzzy +#~ msgid "" +#~ "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "" +#~ "The contact's key (%s) does not match the key assigned in Gajim." + +#, fuzzy +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages." +#~ msgstr "" +#~ "Nincs GPG kulcs hozzárendelve ehhez a partnerhez, így nem tudod " +#~ "titkosítani az üzeneteket" + +#, fuzzy +#~ msgid "" +#~ "OpenPGP key is assigned to this contact, but you do not trust their " +#~ "key, so message cannot be encrypted. Use your OpenPGP client " +#~ "to trust their key." +#~ msgstr "" +#~ "GPG key is assigned to this contact, but you do not trust his key, " +#~ "so message cannot be encrypted. Use your GPG client to trust this " +#~ "key." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP Key is assigned to this contact, and you trust their key, so " +#~ "messages will be encrypted." +#~ msgstr "" +#~ "Hozzá van rendelve GPG kulcs ehhez a partnerhez és meg is bízol a " +#~ "kulccsában, tehát az üzenetek titkosítva lesznek." + +#, fuzzy +#~ msgid "" +#~ "This icon indicates that this message has not yet\n" +#~ "been received by the remote end. If this icon stays\n" +#~ "for a long time, it's likely the message got lost." +#~ msgstr "" +#~ "This icon indicates that this message has not yet\n" +#~ "been received by the remote end. If this icon stays\n" +#~ "for a long time, it's likely the message got lost." + +#, fuzzy +#~ msgid "" +#~ "If True, listen to D-Bus signals from NetworkManager and change the " +#~ "status of accounts (provided they do not have listen_to_network_manager " +#~ "set to False and they sync with global status) based upon the status of " +#~ "the network connection." +#~ msgstr "" +#~ "If True, listen to D-Bus signals from NetworkManager and change the " +#~ "status of accounts (provided they do not have listen_to_network_manager " +#~ "set to False and they sync with global status) based upon the status of " +#~ "the network connection." + +#~ msgid "" +#~ "The database file (%s) cannot be read. Try to repair it or remove it (all " +#~ "history will be lost)." +#~ msgstr "" +#~ "Az adatbázis file (%s) nem olvasható. Próbáld meg kijavítani vagy " +#~ "eltávolítani (az összes naplózott beszélgetés el fog veszni)." + +#~ msgid "Database cannot be read." +#~ msgstr "Nem olvasható az adatbázis." + +#~ msgid "A message from a non-valid JID arrived, it has been ignored." +#~ msgstr "" +#~ "Érvénytelen Jabber Azonosítóval érkezett egy üzenet, ezért figyelmen " +#~ "kívül lett hagyva." + +#, fuzzy +#~ msgid "Smooth scroll message in conversation window" +#~ msgstr "Smooth scroll message in conversation window" + +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "Edit _Privacy Lists..." + +#~ msgid "_Administrator" +#~ msgstr "_Adminisztrátor" + +#, fuzzy +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "Sends a message to users currently connected to this server" + +#~ msgid "Sets Message of the Day" +#~ msgstr "Beállítja a Nap Üzenetét" + +#~ msgid "Updates Message of the Day" +#~ msgstr "Frissíti a Nap Üzenetét" + +#~ msgid "Deletes Message of the Day" +#~ msgstr "A Nap Üzenetének törlése" + +#~ msgid "Add _Contact..." +#~ msgstr "_Partner felvétele..." + +#~ msgid "Profile, A_vatar" +#~ msgstr "Profil, A_vatar" + +#~ msgid "File _Transfers" +#~ msgstr "Fileá_tvitelek" + +#~ msgid "Help online" +#~ msgstr "Online segítség" + +#~ msgid "Frequently Asked Questions (online)" +#~ msgstr "Gyakran Ismételt Kérdések (online)" + +#~ msgid "Fea_tures" +#~ msgstr "_Fuckciók" + +#, fuzzy +#~ msgid "to %s account" +#~ msgstr "to %s account" + +#, fuzzy +#~ msgid "using %s account" +#~ msgstr "using %s account" + +#, fuzzy +#~ msgid "of account %s" +#~ msgstr "of account %s" + +#, fuzzy +#~ msgid "for account %s" +#~ msgstr "for account %s" + +#, fuzzy +#~ msgid "" +#~ "By removing this contact you also remove authorization resulting in him " +#~ "or her always seeing you as offline." +#~ msgstr "" +#~ "By removing this contact you also remove authorisation resulting in him " +#~ "or her always seeing you as offline." + +#~ msgid "Message Body xmpp.org/getting-started" +msgstr "" +"xmpp.org/getting-started" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "Confronto Funzionalità dei Vari Server" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" +"conversations.im/compliance" + +#: gajim/data/gui/account_wizard.ui:646 +msgid "_Please choose a server" +msgstr "_Scegli un server" + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "Accesso Anonimo" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "Nota: Non tutti i server consentono gli account anonimi" + +#: gajim/data/gui/application_menu.ui:8 +msgid "_Start / Join Chat…" +msgstr "_Inizia / Unisciti a una Conversazione…" + +#: gajim/data/gui/application_menu.ui:13 +msgid "Create _Group Chat…" +msgstr "Crea Conversazione di Gruppo…" + +#: gajim/data/gui/application_menu.ui:18 +msgid "_History Manager" +msgstr "Gestione _Cronologia" + +#: gajim/data/gui/application_menu.ui:22 +msgid "Pl_ugins" +msgstr "_Estensioni" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +msgid "_Preferences" +msgstr "_Preferenze" + +#: gajim/data/gui/application_menu.ui:36 +msgid "_Accounts" +msgstr "_Account" + +#: gajim/data/gui/application_menu.ui:39 +msgid "_View" +msgstr "_Visualizza" + +#: gajim/data/gui/application_menu.ui:46 +msgid "Show _Offline Contacts" +msgstr "Mostra Contatti _Non in Linea" + +#: gajim/data/gui/application_menu.ui:50 +msgid "Show _Active Contacts" +msgstr "Mostra Contatti _Attivi" + +#: gajim/data/gui/application_menu.ui:54 +msgid "Show _Transports" +msgstr "Mostra Transport" + +#: gajim/data/gui/application_menu.ui:60 +msgid "_XML Console" +msgstr "Console _XML" + +#: gajim/data/gui/application_menu.ui:64 +msgid "_File Transfer" +msgstr "_Trasferimento File" + +#: gajim/data/gui/application_menu.ui:74 +msgid "_Help" +msgstr "_Aiuto" + +#: gajim/data/gui/application_menu.ui:77 +msgid "_Wiki (Online)" +msgstr "_Wiki (Online)" + +#: gajim/data/gui/application_menu.ui:81 +msgid "FA_Q (Online)" +msgstr "FA_Q (Online)" + +#: gajim/data/gui/application_menu.ui:85 +msgid "_Keyboard Shortcuts" +msgstr "_Scorciatoie da Tastiera" + +#: gajim/data/gui/application_menu.ui:89 +msgid "_Features" +msgstr "_Funzionalità" + +#: gajim/data/gui/application_menu.ui:93 +msgid "_About" +msgstr "_Informazioni" + +#: gajim/data/gui/filetransfer_progress.ui:125 +msgid "Speed" +msgstr "Velocità" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "Tempo rimanente" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +msgid "OK" +msgstr "OK" + +#: gajim/data/gui/plugins_window.ui:55 +msgid "Install Plugin from ZIP-File" +msgstr "Installa Estensione da File ZIP" + +#: gajim/data/gui/plugins_window.ui:56 +msgid "Install from File…" +msgstr "Installa da File…" + +#: gajim/data/gui/plugins_window.ui:70 +msgid "Uninstall Plugin" +msgstr "Disinstalla Estensione" + +#: gajim/data/gui/plugins_window.ui:116 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:133 +msgid "Plugin Settings" +msgstr "Impostazioni Estensioni" + +#: gajim/data/gui/plugins_window.ui:215 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:239 +msgid "Version" +msgstr "Versione" + +#: gajim/data/gui/plugins_window.ui:271 +msgid "Authors" +msgstr "Autori" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +msgid "Homepage" +msgstr "Sito" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:349 +msgid "Installed" +msgstr "Installate" + +#: gajim/data/gui/plugins_window.ui:363 +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "" +"La descrizione dell'estensione dovrebbe essere visualizzata qui. Questo " +"testo sarà cancellato durante l'inizializzazione di PluginsWindow." + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +msgid "Synchronise contacts" +msgstr "Sincronizzazione Contatti" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "Seleziona l'account con il quale vuoi effettuare la sincronizzazione" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "Pubblica o Privata?" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" +"Privata: Se hai intenzione di cifrare la conversazione, dovresti " +"creare una conversazione di gruppo privata. Devi invitare le persone per " +"fare in modo che possano unirsi." + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "Pubblica: Può unirsi chiunque conosca l'indirizzo." + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +msgid "_Name" +msgstr "_Nome" + +#: gajim/data/gui/groupchat_creation.ui:122 +msgid "_Description" +msgstr "_Descrizione" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "_Pubblica" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +msgid "_Address" +msgstr "_Indirizzo" + +#: gajim/data/gui/groupchat_creation.ui:278 +msgid "_Account" +msgstr "_Account" + +#: gajim/data/gui/profile.ui:33 +msgid "Contact Infos" +msgstr "Informazioni Contatto" + +#: gajim/data/gui/profile.ui:45 +msgid "Picture and Name" +msgstr "Immagine e Nome" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "Il tuo profilo sarà visibile a tutti oppure solo ai tuoi contatti." + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "Elimina l'immagine del profilo" + +#: gajim/data/gui/profile.ui:198 +msgid "Change your profile picture" +msgstr "Cambia l'immagine del profilo" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "" +"Inserisci il tuo soprannome. I tuoi contatti ti visualizzeranno con questo " +"nome." + +#: gajim/data/gui/profile.ui:298 +msgid "Add Entry" +msgstr "Aggiungi Voce" + +#: gajim/data/gui/profile.ui:410 +msgid "Update" +msgstr "Aggiorna" + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "HTTP" + +#: gajim/data/gui/manage_proxies.ui:15 +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "SOCKS5" + +#: gajim/data/gui/manage_proxies.ui:65 +msgid "Add Proxy" +msgstr "Aggiungi Proxy" + +#: gajim/data/gui/manage_proxies.ui:79 +msgid "Remove Proxy" +msgstr "Rimuovi Proxy" + +#: gajim/data/gui/manage_proxies.ui:131 +msgid "Pass_word" +msgstr "Pass_word" + +#: gajim/data/gui/manage_proxies.ui:156 +msgid "Use proxy auth_entication" +msgstr "Usa aut_enticazione proxy" + +#: gajim/data/gui/manage_proxies.ui:176 +msgid "_Username" +msgstr "_Nome Utente" + +#: gajim/data/gui/manage_proxies.ui:237 +msgid "_Host" +msgstr "_Host" + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "JID locale:" + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "Risorsa:" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "Stato:" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +msgid "_Store conversation history" +msgstr "_Archivia cronologia della conversazione" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +msgid "Contact" +msgstr "Contatto" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +msgid "First Name:" +msgstr "Nome:" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +msgid "Last Name:" +msgstr "Cognome:" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +msgid "XMPP Address:" +msgstr "Indirizzo XMPP:" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "Email:" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +msgid "Personal" +msgstr "Informazioni Personali" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "_Stato" + +#: gajim/data/gui/account_context_menu.ui:20 +msgid "_Personal Events" +msgstr "Eventi _Personali" + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "_Aggiungi Contatto..." + +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "_Ricerca Servizi" + +#: gajim/data/gui/account_context_menu.ui:57 +msgid "_Execute Command..." +msgstr "_Esegui Comando..." + +#: gajim/data/gui/account_context_menu.ui:65 +msgid "_View Server Info" +msgstr "_Visualizza Informazioni Server" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" +"Inizia una conversazioni, unisciti ad una conversazione di gruppo o cerca " +"nuove conversazioni di gruppo globalmente. È anche possibile inserire un " +"indirizzo XMPP." + +#: gajim/data/gui/start_chat_dialog.ui:125 +msgid "Global Group Chat Search" +msgstr "Ricerca Conversazione di Gruppo Globale" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +msgid "_Back" +msgstr "_Indietro" + +#: gajim/data/gui/start_chat_dialog.ui:386 +msgid "Select Account" +msgstr "Seleziona Account" + +#: gajim/data/gui/start_chat_dialog.ui:477 +msgid "_Select" +msgstr "_Seleziona" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" +"Nessun contatto trovato\n" +"È possibile digitare anche un indirizzo XMPP" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +msgid "Configure" +msgstr "Configura" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +msgid "Create new post" +msgstr "Crea nuovo post" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "S_tato" + +#: gajim/data/gui/systray_context_menu.ui:20 +msgid "_Start Chat..." +msgstr "_Inizia Conversazione..." + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "Invia _Messaggio Singolo..." + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "Mostra _Eventi in Attesa" + +#: gajim/data/gui/systray_context_menu.ui:52 +msgid "Mute Sounds" +msgstr "Disattiva Suoni" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +msgid "Contact List" +msgstr "Lista Contatti" + +#: gajim/data/gui/shortcuts_window.ui:24 +msgid "Create new group chat" +msgstr "Crea conversazione di gruppo" + +#: gajim/data/gui/shortcuts_window.ui:45 +msgid "File transfers" +msgstr "Trasferimento file" + +#: gajim/data/gui/shortcuts_window.ui:52 +msgid "Set the status message" +msgstr "Imposta messaggio di stato" + +#: gajim/data/gui/shortcuts_window.ui:59 +msgid "Show XML console" +msgstr "Mostra console XML" + +#: gajim/data/gui/shortcuts_window.ui:74 +msgid "Appearance" +msgstr "Aspetto" + +#: gajim/data/gui/shortcuts_window.ui:79 +msgid "Show offline contacts" +msgstr "Mostra contatti non in linea" + +#: gajim/data/gui/shortcuts_window.ui:86 +msgid "Show only active contacts" +msgstr "Mostra solo contatti attivi" + +#: gajim/data/gui/shortcuts_window.ui:93 +msgid "Enable contact list filtering" +msgstr "Attiva filtro lista contatti" + +#: gajim/data/gui/shortcuts_window.ui:100 +msgid "Show / hide contact list" +msgstr "Mostra/nascondi lista contatti" + +#: gajim/data/gui/shortcuts_window.ui:113 +msgid "Contact information" +msgstr "Informazioni contatto" + +#: gajim/data/gui/shortcuts_window.ui:120 +msgid "Rename contact" +msgstr "Rinomina contatto" + +#: gajim/data/gui/shortcuts_window.ui:127 +msgid "Delete contact" +msgstr "Elimina contatto" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +msgid "Chat" +msgstr "Conversazioni" + +#: gajim/data/gui/shortcuts_window.ui:142 +msgid "Message composition" +msgstr "Composizione Messaggi" + +#: gajim/data/gui/shortcuts_window.ui:147 +msgid "Send the message" +msgstr "Invia messaggio" + +#: gajim/data/gui/shortcuts_window.ui:154 +msgid "Add new line" +msgstr "Ritorna a capo" + +#: gajim/data/gui/shortcuts_window.ui:161 +msgid "Select an emoji" +msgstr "Seleziona emoji" + +#: gajim/data/gui/shortcuts_window.ui:168 +msgid "Complete a command or a nickname" +msgstr "Completa comando o soprannome" + +#: gajim/data/gui/shortcuts_window.ui:175 +msgid "Previously sent message" +msgstr "Messaggio inviato precedentemente" + +#: gajim/data/gui/shortcuts_window.ui:182 +msgid "Next sent messages" +msgstr "Messaggi inviati successivi" + +#: gajim/data/gui/shortcuts_window.ui:189 +msgid "Quote previous message" +msgstr "Cita il messaggio precedente" + +#: gajim/data/gui/shortcuts_window.ui:196 +msgid "Quote next message" +msgstr "Cita il messaggio successivo" + +#: gajim/data/gui/shortcuts_window.ui:203 +msgid "Clear message entry" +msgstr "Pulisci campo di testo" + +#: gajim/data/gui/shortcuts_window.ui:211 +msgid "Recent history" +msgstr "Cronologia Recente" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "Scorri verso l'alto" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "Scorri verso il basso" + +#: gajim/data/gui/shortcuts_window.ui:230 +msgid "Clear chat window" +msgstr "Pulisci finestra di conversazione" + +#: gajim/data/gui/shortcuts_window.ui:237 +msgid "Show chat history" +msgstr "Mostra cronologia della conversazione" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "Schede" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "Passa alla scheda precedente" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "Passa alla scheda successiva" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "Passa alla prima/.../nona scheda" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "Passa alla scheda precedente con messaggi non letti" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "Passa alla scheda successiva con messaggi non letti" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "Sposta scheda a sinistra" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "Sposta scheda a destra" + +#: gajim/data/gui/shortcuts_window.ui:299 +msgid "Close chat" +msgstr "Chiudi conversazione" + +#: gajim/data/gui/shortcuts_window.ui:312 +msgid "Change Nickname" +msgstr "Cambia Soprannome" + +#: gajim/data/gui/chat_control.ui:48 +msgid "Drop files or contacts" +msgstr "Trascina file o contatti" + +#: gajim/data/gui/chat_control.ui:80 +msgid "1" +msgstr "1" + +#: gajim/data/gui/chat_control.ui:101 +msgid "2 abc" +msgstr "2 abc" + +#: gajim/data/gui/chat_control.ui:121 +msgid "3 def" +msgstr "3 def" + +#: gajim/data/gui/chat_control.ui:141 +msgid "4 ghi" +msgstr "4 ghi" + +#: gajim/data/gui/chat_control.ui:161 +msgid "5 jkl" +msgstr "5 jkl" + +#: gajim/data/gui/chat_control.ui:181 +msgid "6 mno" +msgstr "6 mno" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "7 pqrs" + +#: gajim/data/gui/chat_control.ui:221 +msgid "8 tuv" +msgstr "8 tuv" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "9 wxyz" + +#: gajim/data/gui/chat_control.ui:261 +msgid "*" +msgstr "*" + +#: gajim/data/gui/chat_control.ui:281 +msgid "0" +msgstr "0" + +#: gajim/data/gui/chat_control.ui:301 +msgid "#" +msgstr "#" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "L'ultimo messaggio è stato scritto su un client mobile" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "Con Microfono" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "Microfono e Fotocamera" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "Termina Chiamata" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "Inizia _Conversazione" + +#: gajim/data/gui/contact_context_menu.ui:28 +msgid "Send _File..." +msgstr "Invia _File..." + +#: gajim/data/gui/contact_context_menu.ui:44 +msgid "Invite _Contacts" +msgstr "Invita _Contatti" + +#: gajim/data/gui/contact_context_menu.ui:58 +msgid "E_xecute Command..." +msgstr "E_segui Comando..." + +#: gajim/data/gui/contact_context_menu.ui:67 +msgid "M_anage Contact" +msgstr "_Gestisci Contatto" + +#: gajim/data/gui/contact_context_menu.ui:77 +msgid "_Rename..." +msgstr "_Rinomina..." + +#: gajim/data/gui/contact_context_menu.ui:84 +msgid "Edit _Groups..." +msgstr "Modifica _Gruppi..." + +#: gajim/data/gui/contact_context_menu.ui:92 +msgid "Add Special _Notification..." +msgstr "Aggiungi _Notifica Speciale..." + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "_Iscrizione" + +#: gajim/data/gui/contact_context_menu.ui:115 +msgid "_Allow contact to see my status" +msgstr "_Permetti al contatto di vedere il mio stato" + +#: gajim/data/gui/contact_context_menu.ui:123 +msgid "A_sk to see contact status" +msgstr "_Chiedi al contatto di poter vedere il suo stato" + +#: gajim/data/gui/contact_context_menu.ui:131 +msgid "_Forbid contact to see my status" +msgstr "_Proibisci al contatto di vedere il mio stato" + +#: gajim/data/gui/contact_context_menu.ui:159 +msgid "_Unignore" +msgstr "_Non Ignorare" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "_Ignora" + +#: gajim/data/gui/contact_context_menu.ui:174 +msgid "_Add to Contact List..." +msgstr "_Aggiungi alla Lista Contatti..." + +#: gajim/data/gui/single_message_window.ui:42 +msgid "_To" +msgstr "_A" + +#: gajim/data/gui/single_message_window.ui:71 +msgid "Su_bject" +msgstr "Ar_gomento" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "Inserisci l'argomento..." + +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "_Messaggio" + +#: gajim/data/gui/single_message_window.ui:144 +msgid "Characters typed: 0" +msgstr "Caratteri digitati: 0" + +#: gajim/data/gui/single_message_window.ui:189 +msgid "_From" +msgstr "_Da" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "I_nvia" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "Invia messaggio" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "_Rispondi" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "Rispondi a questo messaggio" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "_Invia e Chiudi" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "Invia messaggio e chiudi la finestra" + +#: gajim/data/gui/vcard_information_window.ui:106 +msgid "Client" +msgstr "Client" + +#: gajim/data/gui/vcard_information_window.ui:140 +msgid "Contact time" +msgstr "Orario contatto" + +#: gajim/data/gui/vcard_information_window.ui:240 +msgid "User avatar" +msgstr "Avatar utente" + +#: gajim/data/gui/vcard_information_window.ui:255 +msgid "Configured avatar" +msgstr "Avatar impostato" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +msgid "Ask" +msgstr "Chiedi" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +msgid "Subscription" +msgstr "Iscrizione" + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +msgid "Extra Address" +msgstr "Indirizzo Secondario" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +msgid "Address" +msgstr "Indirizzo" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +msgid "E-Mail" +msgstr "Email" + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "Formato: YYYY-MM-DD" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +msgid "Family" +msgstr "Cognome" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +msgid "Middle" +msgstr "Secondo Nome" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +msgid "Prefix" +msgstr "Prefisso" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +msgid "Given" +msgstr "Nome" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +msgid "Suffix" +msgstr "Suffisso" + +#: gajim/data/gui/vcard_information_window.ui:958 +msgid "Name Details" +msgstr "Dettagli Nome" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "pulsante" + +#: gajim/data/gui/vcard_information_window.ui:1017 +msgid "Personal Info" +msgstr "Informazioni Personali" + +#: gajim/data/gui/vcard_information_window.ui:1040 +msgid "Company" +msgstr "Azienda" + +#: gajim/data/gui/vcard_information_window.ui:1073 +msgid "Department" +msgstr "Dipartimento" + +#: gajim/data/gui/vcard_information_window.ui:1104 +msgid "Position" +msgstr "Posizione" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "Ruolo" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "Informazioni" + +#: gajim/data/gui/vcard_information_window.ui:1514 +msgid "Comments" +msgstr "Commenti" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "Modifica Gruppi" + +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "Frase di accesso" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "Aggiungi un'opzione che vorresti cambiare" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +msgid "Themes" +msgstr "Temi" + +#: gajim/data/gui/themes_window.ui:171 +msgid "Add Setting" +msgstr "Aggiungi Opzione" + +#: gajim/data/gui/themes_window.ui:204 +msgid "Add new Theme" +msgstr "Aggiungi Tema" + +#: gajim/data/gui/themes_window.ui:219 +msgid "Remove Theme" +msgstr "Rimuovi Tema" + +#: gajim/data/gui/bookmarks.ui:120 +msgid "Autojoin" +msgstr "Unisciti Automaticamente" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "_Applica" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "Comportamento di Finestre e Schede" + +#: gajim/data/gui/preferences.ui:68 +msgid "Contact List Appearance" +msgstr "Aspetto Lista Contatti" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +msgid "Chats" +msgstr "Conversazioni" + +#: gajim/data/gui/preferences.ui:215 +msgid "Visual Notifications" +msgstr "Notifiche Visive" + +#: gajim/data/gui/preferences.ui:243 +msgid "Sounds" +msgstr "Suoni" + +#: gajim/data/gui/preferences.ui:303 +msgid "Ask For Status Message on…" +msgstr "Chiedi Messaggio di Stato in fase di…" + +#: gajim/data/gui/preferences.ui:331 +msgid "Automatic Status Change" +msgstr "Cambio Stato Automatico" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "Emoji" + +#: gajim/data/gui/preferences.ui:447 +msgid "Status Icon" +msgstr "Icona Stato" + +#: gajim/data/gui/preferences.ui:472 +msgid "Style" +msgstr "Stile" + +#: gajim/data/gui/preferences.ui:511 +msgid "Show _Features" +msgstr "Mostra _Funzionalità" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "Dipendenze mancanti per Audio/Video" + +#: gajim/data/gui/preferences.ui:632 +msgid "Audio" +msgstr "Audio" + +#: gajim/data/gui/preferences.ui:660 +msgid "Video" +msgstr "Video" + +#: gajim/data/gui/preferences.ui:698 +msgid "Audio/Video" +msgstr "Audio/Video" + +#: gajim/data/gui/preferences.ui:735 +msgid "Miscellaneous" +msgstr "Varie" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "Ripristina Suggerimenti" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "Ripristinerà tutti i suggerimenti iniziali" + +#: gajim/data/gui/preferences.ui:821 +msgid "Advanced Configuration Editor… " +msgstr "Editor Configurazione Avanzata… " + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "Usare queste impostazioni con cautela!" + +#: gajim/data/gui/server_info.ui:50 +msgid "Server Software" +msgstr "Software Server" + +#: gajim/data/gui/server_info.ui:80 +msgid "Server Uptime" +msgstr "Tempo di Attività Server" + +#: gajim/data/gui/server_info.ui:109 +msgid "Contact Addresses" +msgstr "Indirizzi Contatti" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "Nessun contatto pubblicato per questo server." + +#: gajim/data/gui/server_info.ui:177 +msgid "Proxy Type" +msgstr "Tipo Proxy" + +#: gajim/data/gui/server_info.ui:192 +msgid "No proxy used" +msgstr "Nessun proxy utilizzato" + +#: gajim/data/gui/server_info.ui:202 +msgid "View _Certificate" +msgstr "Visualizza _Certificato" + +#: gajim/data/gui/server_info.ui:222 +msgid "Proxy Host" +msgstr "_Host Proxy" + +#: gajim/data/gui/server_info.ui:421 +msgid "Copy info to clipboard" +msgstr "Copia informazioni negli appunti" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "Nome Comune (CN)" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "Organizzazione (O)" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "Unità Organizzativa (OU)" + +#: gajim/data/gui/certificate_dialog.ui:153 +msgid "Serial Number" +msgstr "Numero di Serie" + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "Rilasciato il" + +#: gajim/data/gui/certificate_dialog.ui:304 +msgid "Expires on" +msgstr "Scade il" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "SHA-1" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "Rilasciato a" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "Rilasciato da" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "Validità" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "Impronte digitali" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "SHA-256" + +#: gajim/data/gui/certificate_dialog.ui:465 +msgid "Copy Certificate Information" +msgstr "Copia Informazioni Certificato" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "Invita degli Amici!" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "" +"Stai per iniziare una conversazione di gruppo.\n" +"Scegli i contatti che vuoi invitare" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "colonna" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +msgid "Please select a group chat server." +msgstr "Selezionare un server per la conversazione di gruppo." + +#: gajim/data/gui/chat_to_muc_window.ui:141 +msgid "Group chat server" +msgstr "Server conversazione di gruppo" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +msgid "In_vite" +msgstr "In_vita" + +#: gajim/data/gui/mam_preferences.ui:53 +msgid "_Default" +msgstr "_Predefinito" + +#: gajim/data/gui/mam_preferences.ui:136 +msgid "Archive" +msgstr "Archivio" + +#: gajim/data/gui/history_manager.ui:11 +msgid "_Export" +msgstr "_Esporta" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +msgid "Gajim History Logs Manager" +msgstr "Gestione Cronologia" + +#: gajim/data/gui/history_manager.ui:104 +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" +"Questo strumento non è stato realizzato per visualizzare la cronologia delle " +"conversazioni. Per fare ciò, utilizzare la finestra della cronologia.\n" +"\n" +"Usare questo strumento solo per eliminare o esportare la cronologia. È " +"possibile selezionare i registri sulla sinistra o utilizzare la barra di " +"ricerca." + +#: gajim/data/gui/history_manager.ui:120 +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" +"ATTENZIONE:\n" +"Se si intende eliminare una gran quantità di elementi, verificare che Gajim " +"non sia in esecuzione. Non è consigliabile eliminare le conversazioni dei " +"contatti con cui si sta conversando." + +#: gajim/data/gui/history_manager.ui:211 +msgid "Search database..." +msgstr "Cerca nel database..." + +#: gajim/data/gui/history_manager.ui:226 +msgid "Search in database" +msgstr "Cerca nel database" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" +"Nessun contatto rimasto.\n" +"È possibile digitare anche un indirizzo XMPP." + +#: gajim/data/gui/groupchat_invite.ui:69 +msgid "Invitees" +msgstr "Invitati" + +#: gajim/data/gui/groupchat_invite.ui:153 +msgid "Search contacts..." +msgstr "Cerca contatti..." + +#: gajim/data/gui/groupchat_invite.ui:223 +msgid "Click on contacts you would like to invite to this group chat." +msgstr "Clicca sui contatti da invitare alla conversazione di gruppo." + +#: gajim/data/gui/service_discovery_window.ui:148 +msgid "Go" +msgstr "Vai" + +#: gajim/data/gui/status_change_window.ui:27 +msgid "Change Status" +msgstr "Modifica Stato" + +#: gajim/data/gui/status_change_window.ui:56 +msgid "Status Presets…" +msgstr "Stati Personalizzati…" + +#: gajim/data/gui/status_change_window.ui:72 +msgid "Save this message as a preset" +msgstr "Salva questo messaggio tra quelli personalizzati" + +#: gajim/data/gui/status_change_window.ui:130 +msgid "Ac_tivity" +msgstr "A_ttività" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "Um_ore" + +#: gajim/data/gui/status_change_window.ui:278 +msgid "_Change Status" +msgstr "_Modifica Stato" + +#: gajim/data/gui/status_change_window.ui:313 +msgid "Activity" +msgstr "Attività" + +#: gajim/data/gui/status_change_window.ui:326 +msgid "_No Activity" +msgstr "_Nessuna Attività" + +#: gajim/data/gui/status_change_window.ui:729 +msgid "Mood" +msgstr "Umore" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "Argomento" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +msgid "Author" +msgstr "Autore" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "Cronologia Discussioni" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +msgid "Group Chat Language" +msgstr "Lingua Conversazione di Gruppo" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +msgid "Copy Address" +msgstr "Copia Indirizzo" + +#: gajim/data/gui/emoji_chooser.ui:98 +msgid "No Results Found" +msgstr "Nessun Risultato Trovato" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr "Console XML" + +#: gajim/data/gui/xml_console.ui:131 +msgid "Start Search..." +msgstr "Avvia Ricerca..." + +#: gajim/data/gui/xml_console.ui:260 +msgid "Clear" +msgstr "Pulisci" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "Incolla Ultimo Input" + +#: gajim/data/gui/xml_console.ui:316 +msgid "Presets" +msgstr "Preset" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "Sincronizzazione : seleziona contatti" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +msgid "Select the contacts you want to synchronise" +msgstr "Seleziona i contatti che vuoi sincronizzare" + +#: gajim/data/gui/groupchat_config.ui:51 +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" +"Indirizzo XMPP\n" +"<utente@dominio/risorsa> (corrisponde solo agli indirizzi con la " +"risorsa data).\n" +"<utente@dominio> (corrisponde a qualsiasi risorsa).\n" +"<dominio/risorsa> (corrisponde solo agli indirizzi con la risorsa " +"data).\n" +"<dominio> (il dominio corrisponde, così come qualsiasi utente@dominio " +"o dominio/risorsa).\n" + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "" +"Il tipo di affiliazione può essere modificato solo da Amministratori e " +"Proprietari" + +#: gajim/data/gui/groupchat_config.ui:309 +msgid "Reserved Name" +msgstr "Nome Riservato" + +#: gajim/data/gui/groupchat_config.ui:346 +msgid "Affiliation" +msgstr "Affiliazione" + +#: gajim/data/gui/groupchat_config.ui:377 +msgid "Affiliations" +msgstr "Affiliazioni" + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "Motivo" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "Utenti Banditi" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "_Nega" + +#: gajim/data/gui/subscription_request_window.ui:34 +msgid "_Block User" +msgstr "_Blocca Utente" + +#: gajim/data/gui/subscription_request_window.ui:49 +msgid "_Report as Spam" +msgstr "_Segnala come Spam" + +#: gajim/data/gui/subscription_request_window.ui:212 +msgid "_Deny…" +msgstr "_Nega…" + +#: gajim/data/gui/subscription_request_window.ui:225 +msgid "Ac_cept" +msgstr "Ac_cetta" + +#: gajim/data/gui/subscription_request_window.ui:230 +msgid "Allows the contact to see your online status" +msgstr "Permetti al contatto di vedere il mio stato" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "Spiacente, non sarebbe dovuto capitare" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" +"Si è verificato un errore, i dettagli sono disponibili qua sotto.\n" +"Segnalando questo bug potresti aiutare gli sviluppatori a risolverlo." + +#: gajim/data/gui/exception_dialog.ui:115 +msgid "_Report Bug" +msgstr "_Segnala Bug" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "Evento" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "Scegli Suono" + +#: gajim/data/gui/manage_sounds.ui:97 +msgid "Clear Sound" +msgstr "Rimuovi Suono" + +#: gajim/data/gui/manage_sounds.ui:118 +msgid "Play Sound" +msgstr "Riproduci Suono" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +msgid "_Send Files" +msgstr "_Invia File" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +msgid "Send" +msgstr "Invia" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +msgid "Files to send" +msgstr "File da inviare" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +msgid "Add Files" +msgstr "Aggiungi File" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +msgid "Remove Files" +msgstr "Rimuovi File" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +msgid "Idle since:" +msgstr "Inattivo da:" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +msgid "Mood:" +msgstr "Umore:" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +msgid "Activity:" +msgstr "Attività:" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +msgid "Tune:" +msgstr "Brano Musicale:" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +msgid "Location:" +msgstr "Posizione:" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +msgid "Subscription:" +msgstr "Iscrizione:" + +#: gajim/data/gui/advanced_configuration.ui:15 +msgid "A restart may be required for some settings to take effect" +msgstr "Alcune modifiche avranno effetto solo dopo aver riavviato il programma" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "Scrivi per cercare tra i valori..." + +#: gajim/data/gui/advanced_configuration.ui:120 +msgid "_Reset Value" +msgstr "Valore _Predefinito" + +#: gajim/data/gui/advanced_configuration.ui:125 +msgid "Resets value to default" +msgstr "Ripristina il valore predefinito" + +#: gajim/data/gui/history_window.ui:27 +msgid "Display status changes" +msgstr "Mostra cambiamenti di stato" + +#: gajim/data/gui/history_window.ui:57 +msgid "History Manager" +msgstr "Gestione Cronologia" + +#: gajim/data/gui/history_window.ui:233 +msgid "Mode" +msgstr "Modalità" + +#: gajim/data/gui/history_window.ui:246 +msgid "Search complete history" +msgstr "Cerca in tutta la cronologia" + +#: gajim/data/gui/history_window.ui:263 +msgid "Search selected day only" +msgstr "Cerca solo nel giorno selezionato" + +#: gajim/data/gui/history_window.ui:317 +msgid "Store history for this chat" +msgstr "Archivia cronologia per questa conversazione" + +#: gajim/data/gui/history_window.ui:332 +msgid "Store History" +msgstr "Archivia Cronologia" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +msgid "Identified Error" +msgstr "Errore Identificato" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +msgid "" +msgstr "" + +#: gajim/data/gui/ssl_error_dialog.ui:74 +msgid "Add this certificate to the list of _trusted certificates" +msgstr "Aggiungi questo certificato alla lista di quelli _affidabili" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +msgid "_View Certificate" +msgstr "_Visualizza Certificato" + +#: gajim/data/gui/ssl_error_dialog.ui:120 +msgid "_Connect" +msgstr "_Connetti" + +#: data/org.gajim.Gajim.desktop.in:5 +msgid "XMPP Chat Client" +msgstr "Client di Messaggistica XMPP" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "Un client di messaggistica XMPP completo" + +#: data/org.gajim.Gajim.desktop.in:8 +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "chat;messaging;im;xmpp;bonjour;voip;" + +#: data/org.gajim.Gajim.desktop.in:27 +msgid "Show next pending event" +msgstr "Mostra prossimo evento in attesa" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" +"Gajim mira a essere un client XMPP completo e facile da usare. Chiacchiera " +"con amici e familiari, condividi facilmente immagini e pensieri oppure " +"discuti delle ultime notizie all'interno dei gruppi." + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "Conversazioni sicure, cifrate End-to-End tramite OMEMO o OpenPGP." + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" +"Grazie all'integrazione, le conversazioni di Gajim saranno disponibili anche " +"suoi tuoi dispositivi mobili." + +#: data/org.gajim.Gajim.appdata.xml.in:17 +msgid "Features:" +msgstr "Caratteristiche:" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "" +"Non perdere alcun messaggio, mantenendo sincronizzati tutti i tuoi client" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "Invita gli amici alle conversazioni di gruppo oppure unisciti ad una" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "Invia facilmente immagini, video o altri file ad amici e gruppi" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "Conversazioni sicure, cifrate End-to-End tramite OMEMO o OpenPGP" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "Usa le tue emoticon preferite e imposta la tua immagine di profilo" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "Archivia e gestisci la cronologia delle tue conversazioni" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "Organizza le conversazioni tramite schede" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +msgid "Automatic spell-checking for your messages" +msgstr "Supporto per il controllo ortografico dei messaggi" + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "" +"Connettiti ad altre piattaforme di messaggistica utilizzando i Transport " +"(Facebook, IRC, …)" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" +"Cerca su Wikipedia, dizionario o altri motori di ricerca direttamente dalla " +"finestra di conversazione" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" +"Imposta un'attività, un brano musicale e un umore per far sapere ai tuoi " +"amici come ti senti" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "Supporto per account multipli" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "Raggruppa diversi contatti in uno solo utilizzando i Meta-Contatti" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "Console XML per controllare cosa succede a livello di protocollo" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "Messaggistica senza server (Bonjour/Zeroconf)" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +msgid "Support for service discovery including nodes and search for users" +msgstr "" +"Supporto per la ricerca di nuovi servizi, inclusi nodi e ricerca degli utenti" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "Ulteriori funzionalità attraverso le estensioni" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +msgid "Contact list" +msgstr "Lista contatti" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "Finestra delle conversazioni dotata di schede" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +msgid "Group chat support" +msgstr "Supporto per le conversazioni di gruppo" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +msgid "Chat history" +msgstr "Cronologia delle conversazioni" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +msgid "Plugin manager" +msgstr "Gestione delle estensioni" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +msgid "Gajim Team" +msgstr "Team di Gajim" + +#~ msgid "Retrieving profile…" +#~ msgstr "Recupero profilo…" + +#~ msgid "Could not load image" +#~ msgstr "Impossibile caricare l'immagine" + +#~ msgid "Wrong date format" +#~ msgstr "Formato data errato" + +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "Il formato della data deve essere YYYY-MM-DD" + +#~ msgid "Information received" +#~ msgstr "Informazioni ricevute" + +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "" +#~ "Senza una connessione, non è possibile pubblicare i propri dati personali." + +#~ msgid "Sending profile…" +#~ msgstr "Invio profilo…" + +#~ msgid "Information NOT published" +#~ msgstr "Informazioni NON pubblicate" + +#~ msgid "vCard publication failed" +#~ msgstr "Pubblicazione vCard fallita" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "" +#~ "C'è stato un errore nella pubblicazione delle informazioni personali, " +#~ "riprova più tardi." + +#~ msgid "Clear Avatar" +#~ msgstr "Cancella Avatar" + +#~ msgid "Set Avatar…" +#~ msgstr "Imposta Avatar…" + +#~ msgid "Main" +#~ msgstr "Principale" + +#~ msgid "Contact" +#~ msgstr "Contatto" + +#~ msgid "org.gajim.Gajim" +#~ msgstr "org.gajim.Gajim" + +#~ msgid "Gajim aims to be an easy to use and fully-featured XMPP client." +#~ msgstr "Gajim mira ad essere un client XMPP completo e facile da usare." + +#~ msgid "Could not request upload slot for HTTP File Upload" +#~ msgstr "Impossibile richiedere lo spazio per il Caricamento File HTTP" + +#~ msgid "Exception raised while trying to open file (see log)." +#~ msgstr "" +#~ "Si è verificata un'eccezione durante l'apertura del file (vedi log)." + +#~ msgid "Not Secure" +#~ msgstr "Non Sicuro" + +#~ msgid "Could not Upload File" +#~ msgstr "Impossibile Caricare File" + +#~ msgid "HTTP response code from server: %s" +#~ msgstr "Codice di risposta HTTP dal server: %s" + +#~ msgid "Upload Error" +#~ msgstr "Errore Caricamento" + +#~ msgid "Encryption Error" +#~ msgstr "Errore Cifratura" + +#~ msgid "Error." +#~ msgstr "Errore." + +# it's one of the types which can replace %(type)s in the following: +# %(contact)s wants to start %(type)s session with you. Do you want to answer the call? +# Look at the translation of this string to better understand. +# In italian translation, i just put "audio-video" because it will result in "iniziare una sessione audio-video". +#~ msgid "an audio and video" +#~ msgstr "audio-video" + +# it's one of the types which can replace %(type)s in the following: +# %(contact)s wants to start %(type)s session with you. Do you want to answer the call? +# Look at the translation of this string to better understand. +# In italian translation, i just put "audio" because it will result in "iniziare una sessione audio". +#~ msgid "an audio" +#~ msgstr "audio" + +# it's one of the types which can replace %(type)s in the following: +# %(contact)s wants to start %(type)s session with you. Do you want to answer the call? +# Look at the translation of this string to better understand. +# In italian translation, i just put "video" because it will result in "iniziare una sessione video". +#~ msgid "a video" +#~ msgstr "video" + +# in italian translation, %(type)s will be one of: audio, video, audio-video. +#~ msgid "" +#~ "%(contact)s wants to start a %(type)s chat with you. Do you want to " +#~ "answer the call?" +#~ msgstr "%(contact)s vuole iniziare una conversazione %(type)s. Rispondere?" + +#~ msgid "%(type)s state : %(state)s, reason: %(reason)s" +#~ msgstr "%(type)s stato : %(state)s, motivo : %(reason)s" + +#~ msgid "Metacontacts storage not supported by your server" +#~ msgstr "L'archiviazione dei metacontatti non è supportata dal tuo server" + +#~ msgid "" +#~ "Your server does not support storing metacontacts information. So this " +#~ "information will not be saved on next reconnection." +#~ msgstr "" +#~ "Il tuo server non supporta l'archiviazione dei metacontatti. Quindi " +#~ "queste informazioni non saranno salvate alla prossima riconnessione." + +#~ msgid "{contact_name} invited you to {event.info.muc_name}" +#~ msgstr "{contact_name} ti ha invitato a {event.info.muc_name}" + +#~ msgid "%s wants to start a voice chat." +#~ msgstr "%s vuole iniziare una conversazione vocale." + +#~ msgid "Voice Chat Request" +#~ msgstr "Richiesta Conversazione Vocale" + +#~ msgid "Incoming call" +#~ msgstr "Chiamata in entrata" + +#~ msgid "You are invited to {room} by {user}" +#~ msgstr "Sei stato invitato a {room} da {user}" + +#~ msgid "Message..." +#~ msgstr "Messaggio..." + +#~ msgid "_Message if you decline (optional)" +#~ msgstr "_Messaggio di rifiuto (facoltativo)" + +#~ msgid "Fill in the form." +#~ msgstr "Compila il modulo." + +#~ msgid "Group Chat Invitation " +#~ msgstr "Invito a una Conversazione di Gruppo " + +#~ msgid "" +#~ "%(contact)s has invited you to the group chat %(room_jid)s" +#~ msgstr "" +#~ "%(contact)s ti ha invitato alla conversazione di gruppo " +#~ "%(room_jid)s" + +#~ msgid "Comment: %s" +#~ msgstr "Commento: %s" + +#~ msgid "Chat Settings" +#~ msgstr "Impostazioni Conversazioni" + +#~ msgid "%i day" +#~ msgid_plural "%i days" +#~ msgstr[0] "%i giorno fa" +#~ msgstr[1] "%i giorni fa" + +#~ msgid "Composing only" +#~ msgstr "Solo scrittura" + +#~ msgid "All chat states" +#~ msgstr "Tutti gli stati di conversazione" + +#~ msgid "Options in days which can be chosen in the sync threshold menu" +#~ msgstr "" +#~ "Opzioni (in giorni) tra le quali sarà possibile scegliere nel menu " +#~ "\"Soglia Sincronizzazione\"" + +#~ msgid "%s is a directory but should be a file" +#~ msgstr "%s è una cartella ma dovrebbe essere un file" + +#~ msgid "Creating %s" +#~ msgstr "Creazione %s" + +#~ msgid "%(nickname)s Signed In" +#~ msgstr "%(nickname)s si è Connesso" + +#~ msgid "Contact Signed In" +#~ msgstr "Contatto Connesso" + +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "%(nickname)s si è Disconnesso" + +#~ msgid "Contact Signed Out" +#~ msgstr "Contatto Disconnesso" + +#~ msgid "" +#~ "Show desktop notification even when a chat window is opened for this " +#~ "contact and does not have focus." +#~ msgstr "" +#~ "Consentire notifiche desktop per questo contatto anche quando la finestra " +#~ "di conversazione è aperta, ma non attiva." + +#~ msgid "Blocked Contacts" +#~ msgstr "Contatti Bloccati" + +#~ msgid "Join group chat every time Gajim is started" +#~ msgstr "Unisciti automaticamente alla conversazione di gruppo ad ogni avvio" + +#~ msgid "Join Automatically" +#~ msgstr "Unisciti Automaticamente" + +#~ msgid "Group chat" +#~ msgstr "Conversazione di gruppo" + +#~ msgid "Bookmark group chat" +#~ msgstr "Aggiungi conversazione di gruppo ai segnalibri" + +#~ msgid "Bookmark" +#~ msgstr "Aggiungi ai segnalibri" + +#~ msgid "Recently used group chats" +#~ msgstr "Conversazioni di gruppo recenti" + +#~ msgid "Search group chats on selected server" +#~ msgstr "Cerca conversazioni di gruppo sul server selezionato" + +#~ msgid "_Leave Group Chat" +#~ msgstr "_Abbandona Conversazione di Gruppo" + +#~ msgid "Enter a new name for this group chat" +#~ msgstr "Inserisci un nuovo nome per questa conversazione di gruppo" + +#~ msgid "Pop it up" +#~ msgstr "Mostralo" + +#~ msgid "Notify me about it" +#~ msgstr "Inviami una notifica" + +#~ msgid "Show only in contact list" +#~ msgstr "Mostra solo nella lista contatti" + +#~ msgid "No status messages" +#~ msgstr "Nessun messaggio di stato" + +#~ msgid "All status messages" +#~ msgstr "Tutti i messaggi di stato" + +#~ msgid "Only enter/leave messages" +#~ msgstr "Solo messaggi di unione/abbandono" + +#~ msgid "_Tabs placement" +#~ msgstr "Posizione _schede" + +#~ msgid "" +#~ "If enabled, Gajim will quit when closing the contact list window instead " +#~ "of minimizing to the system's notification area" +#~ msgstr "" +#~ "Se attiva, il programma terminerà alla chiusura della finestra della " +#~ "lista contatti, invece di minimizzarsi nell'area di notifica di sistema" + +#~ msgid "Me_rge accounts" +#~ msgstr "_Unisci account" + +#~ msgid "Displays all your accounts merged into a single one" +#~ msgstr "Mostrerà tutti i tuoi account uniti in uno solo" + +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "Mostra a_vatar contatti nella lista contatti" + +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "" +#~ "Se attiva, gli avatar dei contatti verranno mostrati nella finestra della " +#~ "lista contatti e nelle conversazioni di gruppo" + +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "Mostra _messaggi di stato dei contatti nella lista contatti" + +#~ msgid "" +#~ "If checked, status messages of contacts will be shown under the contact's " +#~ "name, in the contact list window, and in group chats" +#~ msgstr "" +#~ "Se attiva, sotto il nome di ogni contatto verrà mostrato il suo messaggio " +#~ "di stato, sia nella finestra della lista contatti che nelle conversazioni " +#~ "di gruppo" + +#~ msgid "" +#~ "Show e_xtra information of contacts in contact list (mood, activity, ...)" +#~ msgstr "" +#~ "Mostra informazioni a_ggiuntive per i contatti della lista contatti " +#~ "(umore, attività, …)" + +#~ msgid "" +#~ "If checked, additional info published by the contact will be shown in the " +#~ "contact list. Additional infos (published via PEP) may include e.g. mood, " +#~ "activity, tune, location, ..." +#~ msgstr "" +#~ "Se attiva, nella lista contatti verranno mostrate le informazioni " +#~ "aggiuntive pubblicate (tramite PEP) dai contatti. Es.: umore, brano " +#~ "musicale, posizione, …" + +#~ msgid "in _contact list" +#~ msgstr "nella _lista contatti" + +#~ msgid "in _group chats" +#~ msgstr "nelle conversazioni di _gruppo" + +#~ msgid "Enable spell _checking" +#~ msgstr "Attiva _controllo ortografico" + +#~ msgid "" +#~ "If checked, spelling errors in input fields of chat windows will be " +#~ "highlighted. If no language is explicitly set via right click on the " +#~ "input field, the default language will be used for this contact or group " +#~ "chat. Needs gspell to be installed." +#~ msgstr "" +#~ "Se attiva, verranno evidenziati gli errori ortografici nei campi di testo " +#~ "delle finestre di conversazione. È possibile impostare esplicitamente una " +#~ "lingua tramite il menu contestuale del campo di testo, altrimenti verrà " +#~ "usata la lingua predefinita del contatto o della conversazione di gruppo. " +#~ "Richiede l'installazione di gspell." + +#~ msgid "" +#~ "If checked, a small checkmark will be shown after each message when it " +#~ "was received. Note that this is not supported by all clients and " +#~ "therefore could be misleading." +#~ msgstr "" +#~ "Se attiva, verrà mostrata una spunta alla fine di ogni messaggio, quando " +#~ "sarà ricevuto dal destinatario. Questa funzione non è supportata da tutti " +#~ "i client, quindi potrebbe essere fuorviante." + +#~ msgid "Display status messages in _single chats" +#~ msgstr "Mostra messaggi di stato nelle conversazioni _singole" + +#~ msgid "" +#~ "If checked, status lines will be shown in 1 on 1 chats when a contact " +#~ "changes their status or status message" +#~ msgstr "" +#~ "Se attiva, nelle conversazioni 1:1, verrà mostrato quando un contatto " +#~ "cambia stato o messaggio di stato" + +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "" +#~ "Mostra argomento quando ci si _unisce ad una conversazione di gruppo" + +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "" +#~ "Se attiva, quando ci si unisce a una conversazione di gruppo, sarà " +#~ "mostrato l'argomento" + +#~ msgid "Show join/leave (Default)" +#~ msgstr "Mostra chi si unisce/abbandona (Comportamento Predefinito)" + +#~ msgid "" +#~ "If join/leave status messages are shown in the group chat. This setting " +#~ "can be overridden in the group chat menu." +#~ msgstr "" +#~ "Se attiva, quando qualcuno si unisce o abbandona le conversazioni di " +#~ "gruppo, verranno mostrati dei messaggi di stato. Questa impostazione può " +#~ "essere sovrascritta dal menu delle singole conversazioni di gruppo." + +#~ msgid "" +#~ "The default sync threshold for new public group chats. This setting can " +#~ "be overridden in the group chat menu." +#~ msgstr "" +#~ "La soglia di sincronizzazione predefinira per le nuove conversazioni di " +#~ "gruppo pubbliche. Questa impostazione può essere sovrascritta dal menu " +#~ "delle singole conversazioni di gruppo." + +#~ msgid "Show status changes (Default)" +#~ msgstr "Mostra cambiamenti di stato (Comportamento Predefinito)" + +#~ msgid "" +#~ "If status change messages are shown in the group chat. This setting can " +#~ "be overridden in the group chat menu." +#~ msgstr "" +#~ "Se attiva, verranno mostrati dei messaggi per i cambiamenti di stato " +#~ "nelle conversazioni di gruppo. Questa impostazione può essere " +#~ "sovrascritta dal menu delle singole conversazioni di gruppo." + +#~ msgid "" +#~ "If checked, the tab will be colored according to the current chatstate of " +#~ "the contact" +#~ msgstr "" +#~ "Se attiva, la scheda di ogni contatto sarà colorata secondo il suo stato " +#~ "di conversazione attuale" + +#~ msgid "" +#~ "If checked, the contact row will be colored according to the current " +#~ "chatstate of the contact" +#~ msgstr "" +#~ "Se attiva, la riga di ogni contatto sarà colorata secondo il suo stato di " +#~ "conversazione attuale" + +#~ msgid "" +#~ "If checked, a description of the contacts current chatstate is shown in " +#~ "the banner" +#~ msgstr "" +#~ "Se attiva, verrà mostrata nel banner la descrizione dello stato di " +#~ "conversazione attuale del contatto" + +#~ msgid "Chatstate" +#~ msgstr "Stato Conversazione" + +#~ msgid "_When new event is received" +#~ msgstr "Alla _ricezione di un nuovo evento" + +#~ msgid "Show popups/notifications when a chat window is already _open" +#~ msgstr "" +#~ "Mostra popup/notifiche anche se è già _aperta una finestra di " +#~ "conversazione" + +#~ msgid "Allow popups/notifications when I'm _away, not available or busy" +#~ msgstr "" +#~ "Consentire popup/notifiche anche quando sono _assente, non disponibile od " +#~ "occupato" + +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "Mostra notifica alla _connessione di ogni contatto" + +#~ msgid "" +#~ "A popup window about contacts that just signed in will be shown in the " +#~ "bottom right of the screen " +#~ msgstr "" +#~ "Se attiva, ogni volta che si connette un contatto verrà mostrato un popup " +#~ "nell'angolo in basso a destra dello schermo " + +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "Mostra notifica alla _disconnessione di ogni contatto" + +#~ msgid "" +#~ "A popup window about contacts that just signed out will be shown in the " +#~ "bottom right of the screen " +#~ msgstr "" +#~ "Se attiva, ogni volta che si disconnette un contatto verrà mostrato un " +#~ "popup nell'angolo in basso a destra dello schermo " + +#~ msgid "Play _sounds" +#~ msgstr "Riproduci _suoni" + +#~ msgid "Ma_nage..." +#~ msgstr "Ge_stisci..." + +#~ msgid "Allow playing sounds when I'm _busy" +#~ msgstr "Riproduci suoni anche quando sono _occupato" + +#~ msgid "Show the status change dialog on Sign In" +#~ msgstr "Mostra la finestra di cambio di stato durante la Connessione" + +#~ msgid "Show the status change dialog on Sign Out" +#~ msgstr "Mostra la finestra di cambio di stato durante la Disconnessione" + +#~ msgid "Show the status change dialog on all status changes" +#~ msgstr "" +#~ "Mostra la finestra di cambio di stato durante tutti i Cambi di Stato" + +#~ msgid "No_t Available" +#~ msgstr "_Non Disponibile" + +#~ msgid "" +#~ "If checked, the status will be changed to Not Available when the computer " +#~ "has not been used for the specified time" +#~ msgstr "" +#~ "Se attiva, lo stato verrà impostato a Non Disponibile quando il computer " +#~ "rimane inutilizzato per un periodo specificato" + +#~ msgid "" +#~ "If checked, the status will be changed to Away when the computer has not " +#~ "been used for the specified time" +#~ msgstr "" +#~ "Se attiva, lo stato verrà impostato ad Assente quando il computer rimane " +#~ "inutilizzato per un periodo specificato" + +#~ msgid "" +#~ "The automatic away status message. If empty, the current status message " +#~ "will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-away timeout." +#~ msgstr "" +#~ "Messaggio di stato per l'assenza automatica. Se vuoto, rimarrà quello " +#~ "attuale.\n" +#~ "$S sarà sostituito dal messaggio di stato precedente.\n" +#~ "$T sarà sostituito dal tempo impostato per l'assenza automatica." + +#~ msgid "" +#~ "The automatic not available status message. If empty, the current status " +#~ "message will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-not-available timeout." +#~ msgstr "" +#~ "Messaggio di stato per la non disponibilità automatica. Se vuoto, rimarrà " +#~ "quello attuale.\n" +#~ "$S sarà sostituito dal messaggio di stato precedente.\n" +#~ "$T sarà sostituito dal tempo impostato per la non disponibilità " +#~ "automatica." + +#~ msgid "Minutes" +#~ msgstr "Minuti" + +#~ msgid "_Theme" +#~ msgstr "_Tema" + +#~ msgid "Configure color and font of the interface" +#~ msgstr "Configura colore e carattere dell'interfaccia" + +#~ msgid "Icons" +#~ msgstr "Icone" + +#~ msgid "" +#~ "If checked, protocol-specific status icons will be used (e.g. a contact " +#~ "from ICQ will have the equivalent ICQ icon for status online, away, busy, " +#~ "etc...)" +#~ msgstr "" +#~ "Se attiva, saranno usate delle icone di stato specifiche a seconda il " +#~ "protocollo usato (es. un contatto ICQ avrà le icone di stato ICQ: in " +#~ "linea, assente, occupato, ecc…)" + +#~ msgid "" +#~ "STUN server hostname. If no hostname was given, Gajim will try\n" +#~ "to discover one from the server. (Example: stun.iptel.org)" +#~ msgstr "" +#~ "Nome host del server STUN. Se non specificato, Gajim proverà\n" +#~ "a cercarne uno sul server. (Es.: stun.iptel.org)" + +#~ msgid "Vi_ew own video source" +#~ msgstr "Vi_sualizza anche la mia sorgente video" + +#~ msgid "Video si_ze" +#~ msgstr "Dimen_sione video" + +#~ msgid "Video output" +#~ msgstr "Uscita video" + +#~ msgid "Show live _preview" +#~ msgstr "Mostra ante_prima" + +#~ msgid "_Manage..." +#~ msgstr "_Gestisci..." + +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "_Archivia la cronologia dei cambiamenti di stato dei contatti" + +#~ msgid "_Check for Gajim updates periodically" +#~ msgstr "_Controllo periodico degli aggiornamenti di Gajim" + +#~ msgid "Enables a weekly update check" +#~ msgstr "Attiva il controllo settimanale degli aggiornamenti" + +#~ msgid "Enable _debug logging (restart required)" +#~ msgstr "Attiva log per il debug (riavvio richesto)" + +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "Se attiva, verrà salvato un file di log per effettuare il debug" + +#~ msgid "Opens folder containing debug logs" +#~ msgstr "Apri cartella dei log per il debug" + +#~ msgid "" +#~ "In order to introduce you to features, Gajim displays some hints. This " +#~ "button will reset all these hints." +#~ msgstr "" +#~ "Gajim mostra qualche suggerimento al fine di presentare le sue " +#~ "funzionalità. Questo pulsante ripristinerà tutti i suggerimenti." + +#~ msgid "_Open..." +#~ msgstr "_Apri..." + +#~ msgid "Chat Shortcuts" +#~ msgstr "Scorciatoie Conversazioni" + +#~ msgid "Contact List Shortcuts" +#~ msgstr "Scorciatoie Lista Contatti" + +#~ msgid "On" +#~ msgstr "Acceso" + +#~ msgid "Off" +#~ msgstr "Spento" + +#~ msgid "" +#~ "Unavailable, video " +#~ "support will be disabled" +#~ msgstr "" +#~ "Non disponibile, il " +#~ "supporto video sarà disattivato" + +#~ msgid "Could not save your settings and preferences" +#~ msgstr "Impossibile salvare impostazioni e preferenze" + +#~ msgid "If enabled, Gajim displays the avatar in the chat window." +#~ msgstr "" +#~ "Se attiva, sarà mostrato l'avatar nella finestra della conversazione." + +#~ msgid "Selecting text will copy it to the clipboard" +#~ msgstr "Selezionare il testo per copiarlo negli appunti" + +#~ msgid "" +#~ "Show a warning dialog before sending password on an plaintext connection. " +#~ "Can be 'warn', or 'none'." +#~ msgstr "" +#~ "Mostrare un avvertimento prima di inviare una password attraverso una " +#~ "connessione non cifrata. Valori: 'warn' o 'none'." + +#~ msgid "Use default applications" +#~ msgstr "Usa le applicazioni predefinite" + +#~ msgid "Custom" +#~ msgstr "Personalizzato" + +#~ msgid "Enable auto copy" +#~ msgstr "Attiva copia automatica" + +#~ msgid "" +#~ "If enabled, selected text will automatically be copied to the clipboard, " +#~ "otherwise you can copy text with CTRL + SHIFT + C" +#~ msgstr "" +#~ "Se attiva, il testo selezionato sarà copiato automaticamente negli " +#~ "appunti, altrimenti portà essere copiato con CTRL + MAIUSC + C" + +#~ msgid "_Filter" +#~ msgstr "_Filtro" + +#~ msgid "?config type:Color" +#~ msgstr "?config type:Colore" + +#~ msgid "?password:Hidden" +#~ msgstr "?password:Nascosta" + +#~ msgid "None" +#~ msgstr "Nessuno" + +#~ msgid "%s Status Message" +#~ msgstr "%s Messaggio di Stato" + +#~ msgid "Lists all preferences and their values" +#~ msgstr "Crea un elenco delle preferenze e relativi valori" + +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "Imposta il valore di 'chiave' a 'valore'." + +#~ msgid "key=value" +#~ msgstr "chiave=valore" + +#~ msgid "'key' is the name of the preference, 'value' is what to set it to" +#~ msgstr "" +#~ "'chiave' è il nome della preferenza, 'valore' è il valore da impostare" + +#~ msgid "Deletes a preference item" +#~ msgstr "Elimina un elemento dalle preferenze" + +#~ msgid "key" +#~ msgstr "chiave" + +#~ msgid "name of the preference to be deleted" +#~ msgstr "nome della preferenza da eliminare" + +#~ msgid "Writes the current state of Gajim preferences to the .config file" +#~ msgstr "Scrive lo stato corrente delle preferenze di Gajim nel file .config" + +#~ msgid "default" +#~ msgstr "predefinito" + +#~ msgid "" +#~ "Character to propose to add after desired nickname when nickname is " +#~ "already used in group chat." +#~ msgstr "" +#~ "Carattere da proporre dopo il soprannome scelto, quando è già usato da " +#~ "qualcun'altro nella conversazione di gruppo." + +#~ msgid "" +#~ "How many seconds to wait before trying to automatically rejoin a group " +#~ "chat you were disconnected from. Set to 0 to disable automatic rejoining." +#~ msgstr "" +#~ "Quanti secondi di aspettare prima di riprovare ad unirsi a una " +#~ "conversazione dalla quale sei stato disconnesso. 0 disattiva questa " +#~ "funzione." + +#~ msgid "" +#~ "If enabled, Gajim will show affiliation of group chat participants by " +#~ "adding a colored square to the status icon." +#~ msgstr "" +#~ "Se attiva, verrà mostrato il tipo di affiliazione dei partecipanti della " +#~ "conversazione di gruppo, aggiungendo un quadratino colorato all'icona di " +#~ "stato." + +#~ msgid "" +#~ "Status to be used automatically when connecting. Can be 'online', 'chat', " +#~ "'away', 'xa' or 'dnd'. NOTE: This option is used only if " +#~ "'restore_last_status' is disabled." +#~ msgstr "" +#~ "Stato da usare per la connessione automatica. Può essere 'online', " +#~ "'chat', 'away', 'xa', 'dnd', 'invisible'. NOTA: è usata solo quando " +#~ "l'opzione 'restore_last_status' è disattivata." + +#~ msgid "List of SSL errors to ignore (space separated)." +#~ msgstr "Lista (separata da spazi) di errori SSL da ignorare." + +#~ msgid "" +#~ "How many seconds to wait for the answer of a ping alive packet before " +#~ "trying to reconnect." +#~ msgstr "" +#~ "Per quanti secondi attendere la risposta ad un ping prima di ritentare la " +#~ "connessione." + +#~ msgid "I’m available." +#~ msgstr "Sono disponibile." + +#~ msgid "Be right back." +#~ msgstr "Torno subito." + +#~ msgid "I’m not available." +#~ msgstr "Non sono disponibile." + +#~ msgid "Do not disturb." +#~ msgstr "Non disturbare." + +#~ msgid "Bye!" +#~ msgstr "Ci vediamo!" + +#~ msgid "Timeout loading image" +#~ msgstr "Tempo scaduto durante il caricamento dell'immagine" + +#~ msgid "Image is too big" +#~ msgstr "L'immagine è troppo grande" + +#~ msgid "PyCURL is not installed" +#~ msgstr "PyCURL non è installato" + +#~ msgid "Error loading image" +#~ msgstr "Errore caricamento immagine" + +#~ msgid "_Remember and restore status of the last session" +#~ msgstr "_Ripristina stato dell'ultima sessione" + +#~ msgid "" +#~ "If enabled, Gajim will not ask for a status message. The specified " +#~ "default message will be used instead." +#~ msgstr "" +#~ "Se attiva, non verrà chiesto alcun messaggio di stato. Sarà usato il " +#~ "messaggio predefinito specificato." + +#~ msgid "Default Message" +#~ msgstr "Messaggio Predefinito" + +#~ msgid "Status Messages" +#~ msgstr "Messaggi di Stato" + +#~ msgid "Preset Status Messages" +#~ msgstr "Messaggi di Stato Predefiniti" + +#~ msgid "Protocol" +#~ msgstr "_Protocollo" + +#~ msgid "_Ignore this error for this certificate" +#~ msgstr "_Ignora questo errore per questo certificato" + +#~ msgid "Preset _messages" +#~ msgstr "Messaggi _personalizzati" + +#~ msgid "_Type your new status message" +#~ msgstr "_Inserisci il tuo nuovo messaggio di stato" + +#~ msgid "Mood:" +#~ msgstr "Umore:" + +#~ msgid "Message:" +#~ msgstr "Messaggio:" + +#~ msgid "Set Activity" +#~ msgstr "Imposta Attività" + +#~ msgid "Set an activity" +#~ msgstr "Imposta un'attività" + +#~ msgid "Message: " +#~ msgstr "Messaggio: " + +#~ msgid "Loading" +#~ msgstr "Caricamento" + +#~ msgid "status message title" +#~ msgstr "titolo messaggio di stato" + +#~ msgid "status message text" +#~ msgstr "testo messaggio di stato" + +#~ msgid "No account available" +#~ msgstr "Nessun account disponibile" + +#~ msgid "You must create an account before you can chat with other contacts." +#~ msgstr "" +#~ "È necessario creare un account prima di poter conversare con altri " +#~ "contatti." + +#~ msgid "I'm free for chat." +#~ msgstr "Sono disponibile per conversare." + +#~ msgid "Privacy Lists:" +#~ msgstr "Liste Privacy:" + +#~ msgid "Change Status Message…" +#~ msgstr "Cambia Messaggio di Stato…" + +#~ msgid "none" +#~ msgstr "nessuno" + +#~ msgid "both" +#~ msgstr "entrambi" + +#~ msgid "from" +#~ msgstr "da" + +#~ msgid "to" +#~ msgstr "a" + +#~ msgid "Privacy List" +#~ msgstr "Lista Privacy" + +#~ msgid "Privacy List" +#~ msgstr "Lista Privacy" + +#~ msgid "Active for this session" +#~ msgstr "Attiva per questa sessione" + +#~ msgid "Active on each startup" +#~ msgstr "Attiva ad ogni avvio" + +#~ msgid "List of rules" +#~ msgstr "Elenco delle regole" + +#~ msgid "Add / Edit a rule" +#~ msgstr "Aggiungi / Modifica una regola" + +#~ msgid "Allow" +#~ msgstr "Consenti" + +#~ msgid "Deny" +#~ msgstr "Nega" + +#~ msgid "all in the group" +#~ msgstr "tutti nel gruppo" + +#~ msgid "all by subscription" +#~ msgstr "tutti per iscrizione" + +#~ msgid "All" +#~ msgstr "Tutti" + +#~ msgid "to send me messages" +#~ msgstr "di inviarmi messaggi" + +#~ msgid "to send me queries" +#~ msgstr "di inviarmi richieste (info contatto)" + +#~ msgid "to view my status" +#~ msgstr "di vedere il mio stato" + +#~ msgid "to send me status" +#~ msgstr "di inviarmi uno stato" + +#~ msgid "All (including subscription)" +#~ msgstr "Tutti (incluse le iscrizioni)" + +#~ msgid "Order:" +#~ msgstr "Ordine:" + +#~ msgid "" +#~ "Gajim aims to be an easy to use and fully-featured XMPP client. With " +#~ "Gajim you can chat through various XMPP services of your choice (e.g. " +#~ "Jabber.org) as well as transports (e.g. Facebook, IRC)." +#~ msgstr "" +#~ "Gajim punta ad essere un client XMPP completo e facile da usare. È " +#~ "possibile conversare utilizzando dei servizi XMPP a propria scelta (es. " +#~ "Jabber.org) oppure dei transport (es. Facebook, IRC)." + +#~ msgid "Privacy Lists" +#~ msgstr "Elenchi della privacy" + +#~ msgid "Unblock" +#~ msgstr "Sblocca" + +#~ msgid "Block" +#~ msgstr "Blocca" + +#~ msgid "" +#~ "This contact will see you offline and you will not receive any messages " +#~ "sent to you by this contact." +#~ msgstr "" +#~ "Questo contatto ti vedrà non in linea e non riceverai i messaggi che ti " +#~ "invierà." + +#~ msgid "_Block Contact" +#~ msgstr "_Blocca il contatto" + +#~ msgid "Block Group" +#~ msgstr "Blocca il gruppo" + +#~ msgid "Really block this group?" +#~ msgstr "Bloccare davvero questo gruppo?" + +#~ msgid "" +#~ "All contacts of this group will see you as offline and you will not " +#~ "receive any messages sent to you by any one of these contacts." +#~ msgstr "" +#~ "I contatti di questo gruppo ti vedranno non in linea e non riceverai i " +#~ "messaggi che ti invieranno." + +#~ msgid "_Block Group" +#~ msgstr "_Blocca il gruppo" + +#~ msgid "Error While Removing Privacy List" +#~ msgstr "Errore durante la rimozione dell'elenco della privacy" + +#, fuzzy +#~ msgid "" +#~ "Privacy list %s has not been removed. It is probably active in one of " +#~ "your connected resources. Please deactivate it and try again." +#~ msgstr "" +#~ "L'elenco della privacy %s non è stato rimosso. Potrebbe essere attivo in " +#~ "una delle risorse connesse. Disattivalo e riprova." + +#~ msgid "Invisibility Not Supported" +#~ msgstr "Invisibilità non supportata" + +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "Questo account %s non supporta l'invisibilità." + +#, fuzzy +#~ msgid "" +#~ "Deny authorization from contact so the contact cannot know if you are " +#~ "connected" +#~ msgstr "" +#~ "Nega l'autorizzazione al contatto cosicché non sappia quando sei connesso" + +#, fuzzy +#~ msgid "Authorize contact so the contact can know if you are connected" +#~ msgstr "Autorizza il contatto affinché sappia quando sei connesso" + +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "È stato invitato %(jid)s in %(room_jid)s" + +#~ msgid "Privacy List %s" +#~ msgstr "Elenco della privacy %s" + +#~ msgid "Privacy List for %s" +#~ msgstr "Elenco della privacy per %s" + +#~ msgid "" +#~ "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" +#~ msgstr "" +#~ "Ordine: %(order)s, azione: %(action)s, tipo: %(type)s, valore: %(value)s" + +#~ msgid "Order: %(order)s, action: %(action)s" +#~ msgstr "Ordine: %(order)s, azione: %(action)s" + +#~ msgid "Edit a rule" +#~ msgstr "Modifica una regola" + +#~ msgid "Add a rule" +#~ msgstr "Aggiungi una regola" + +#~ msgid "Privacy Lists for %s" +#~ msgstr "Elenco della privacy per %s" + +#~ msgid "Invalid List Name" +#~ msgstr "Nome dell'elenco non valido" + +#~ msgid "You must enter a name to create a privacy list." +#~ msgstr "È necessario inserire una nome per creare una lista privacy" + +#~ msgid "Start New Conversation" +#~ msgstr "Avvia una nuova conversazione" + +#~ msgid "Simulate loss of connectivity" +#~ msgstr "Simula perdita di connettività" + +#~ msgid "Simulate regaining connectivity" +#~ msgstr "Simula il recupero di connettività" + +#~ msgid "Unknown SSL error: %d" +#~ msgstr "Errore SSL sconosciuto: %d" + +#~ msgid "Gajim - %s" +#~ msgstr "Gajim - %s" + +#~ msgid "Choose interval between 2 checks of idleness." +#~ msgstr "Selezione l'intervallo tra 2 controlli di inattività." + +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "Dizionario per la lingua \"%s\" non disponibile" + +#, fuzzy +#~ msgid "" +#~ "You have to install the dictionary \"%s\" to use spellchecking, or choose " +#~ "another language by setting the speller_language option.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "È necessario installare il dizionario %s per usare il controllo " +#~ "ortografico, o configurare un'altra lingua nelle opzioni " +#~ "speller_language.\n" +#~ "\n" +#~ "La funzionalità di evidenziatura delle parole errate non verrà usata" + +#~ msgid "_Reconnect" +#~ msgstr "_Riconnetti" + +#~ msgid "Quit" +#~ msgstr "Esci" + +#~ msgid "Show Contact List" +#~ msgstr "Mostra la lista dei contatti" + +#~ msgid "Add to Contact List" +#~ msgstr "Aggiungi alla lista dei contatti" + +#, fuzzy +#~ msgid "Invite Contact" +#~ msgstr "Invita contatti" + +#~ msgid "Configure Group Chat" +#~ msgstr "Configura la conversazione di gruppo" + +#~ msgid "" +#~ "If enabled, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." +#~ msgstr "" +#~ "Se abilitato, Gajim mostrerà un'icona su ogni scheda contenente dei " +#~ "messaggi non letti. A seconda del tema, questa icona può essere animata." + +#~ msgid "Show _avatar in chat tabs" +#~ msgstr "Mostra l'_avatar nelle schede delle chat" + +#, fuzzy +#~ msgid "Server must be between 1 and 1023 bytes" +#~ msgstr "Il server deve essere tra 1 e 1023 caratteri" + +#~ msgid "Invalid character in hostname." +#~ msgstr "Carattere non valido nell'hostname." + +#~ msgid "Server address required." +#~ msgstr "Indirizzo del server richiesto." + +#, fuzzy +#~ msgid "Username must be between 1 and 1023 bytes" +#~ msgstr "Il nome utente deve essere tra 1 e 1023 caratteri" + +#~ msgid "Invalid character in username." +#~ msgstr "Carattere non valido nel nome utente." + +#, fuzzy +#~ msgid "Resource must be between 1 and 1023 bytes" +#~ msgstr "La risorsa deve essere tra 1 e 1023 caratteri" + +#~ msgid "Invalid character in resource." +#~ msgstr "Carattere non valido nella risorsa." + +#, fuzzy +#~ msgid "Notification color for contacts signing in." +#~ msgstr "Mostra una notifica per i contatti che si _connettono" + +#, fuzzy +#~ msgid "Notification color for contacts signing out." +#~ msgstr "Mostra una notifica per i contatti che si _disconnettono" + +#, fuzzy +#~ msgid "Notification color for new message notification." +#~ msgstr "Colore della notifica di un nuovo messaggio/email." + +#, fuzzy +#~ msgid "Notification color for file transfer request." +#~ msgstr "_Notifica quando un trasferimento file viene completato" + +#, fuzzy +#~ msgid "Notification color for file transfer errors." +#~ msgstr "_Notifica quando un trasferimento file viene completato" + +#~ msgid "Notification color for group chat invitations." +#~ msgstr "Colore della notifica per gli inviti alle conversazioni di gruppo." + +#~ msgid "Notification background color for changed status." +#~ msgstr "Colore di sfondo delle notifiche per i cambi di stato." + +#~ msgid "Notification color for other dialogs." +#~ msgstr "Colore delle notifiche per gli altri dialoghi." + +#~ msgid "Event Type" +#~ msgstr "Tipo di evento" + +#~ msgid "Event desc" +#~ msgstr "Descrizione dell'evento" + +#~ msgid "No response from the Server" +#~ msgstr "Nessuna risposta dal server" + +#~ msgid "Resource Conflict" +#~ msgstr "Conflitto tra risorse" + +#, fuzzy +#~ msgid "" +#~ "You are already connected to this account with the same resource. Please " +#~ "enter a different one." +#~ msgstr "" +#~ "Sei già connesso a questo account con la stessa risorsa. Inseriscine " +#~ "un'altra" + +#~ msgid "Unable to load image" +#~ msgstr "Impossibile caricare l'immagine" + +#~ msgid "Media type not supported: %s" +#~ msgstr "Formato multimediale non supportato: %s" + +#~ msgid "This field is required" +#~ msgstr "Questo campo è richiesto" + +#~ msgid "new@jabber.id" +#~ msgstr "nuovo@jabber.id" + +#~ msgid "new%d@jabber.id" +#~ msgstr "nuovo%d@jabber.id" + +#~ msgid "video output" +#~ msgstr "uscita video" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Gajim: Assistente alla creazione di un account" + +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "Devi avere un account per poterti connettere\n" +#~ "alla rete XMPP." + +#~ msgid "I already have an account I want to _use" +#~ msgstr "Ho già un account che voglio _utilizzare" + +#~ msgid "I want to _register for a new account" +#~ msgstr "Voglio _registrare un nuovo account" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "Per piacere, scegli una delle seguenti opzioni:" + +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "Per piacere, inserisci i dati per l'account esistente" + +#~ msgid "_XMPP Address:" +#~ msgstr "Indirizzo _XMPP:" + +#~ msgid "Anon_ymous authentication" +#~ msgstr "Autenticazione anon_ima" + +#~ msgid "_Password:" +#~ msgstr "_Password:" + +#~ msgid "Save pass_word" +#~ msgstr "Salva la pass_word" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "Se marcato, Gajim ricorderà la password per questo account" + +#~ msgid "Please select a server" +#~ msgstr "Per piacere, seleziona un server" + +#~ msgid "_Server:" +#~ msgstr "_Server:" + +#~ msgid "Manage..." +#~ msgstr "Gestisci..." + +#~ msgid "_Port:" +#~ msgstr "_Porta:" + +#~ msgid "_Advanced" +#~ msgstr "_Avanzate" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA1 fingerprint of the certificate:\n" +#~ msgstr "" +#~ "Aggiungi questo certificato alla lista dei certificati attendibili.\n" +#~ "Impronta digitale SHA1 del certificato:\n" + +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "Connessione al server in corso\n" +#~ "\n" +#~ "Attendere prego..." + +#~ msgid "Connect when I press Finish" +#~ msgstr "Connettiti alla pressione di Fine" + +#~ msgid "Set my profile when I connect" +#~ msgstr "Configura il mio profilo appena effettuata la connessione" + +#~ msgid "_Finish" +#~ msgstr "_Fine" + +#~ msgid "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." +#~ msgstr "" +#~ "È possibile impostare ora le opzioni avanzate premendo il pulsante " +#~ "Avanzate, o farlo più tardi scegliendo la voce Account nel menu Modifica " +#~ "della finestra principale." + +#~ msgid "Your new account has been created successfully" +#~ msgstr "Il nuovo account è stato creato con successo" + +#~ msgid "Invalid username" +#~ msgstr "Nome utente non valido" + +#~ msgid "You must provide a username to configure this account." +#~ msgstr "" +#~ "È necessario inserire un nome utente per configurare questo account." + +#~ msgid "Invalid server" +#~ msgstr "Server non valido" + +#~ msgid "Please provide a server on which you want to register." +#~ msgstr "Per piacere, fornisci un server su cui vuoi registrarti." + +#~ msgid "Invalid entry" +#~ msgstr "Voce non valida" + +#~ msgid "Certificate Already in File" +#~ msgstr "Certificato già nel file" + +#~ msgid "This certificate is already in file %s, so it's not added again." +#~ msgstr "" +#~ "Questo certificato è già nel file %s, quindi non verrà aggiunto di nuovo." + +#~ msgid "" +#~ "Security Warning\n" +#~ "\n" +#~ "The authenticity of the %(hostname)s SSL certificate could be invalid.\n" +#~ "SSL Error: %(error)s\n" +#~ "Do you still want to connect to this server?" +#~ msgstr "" +#~ "Avviso di sicurezza\n" +#~ "\n" +#~ "L'autenticità del certificato SSL di %(hostname)s potrebbe non essere " +#~ "valida.\n" +#~ "Errore SSL: %(error)s\n" +#~ "Vuoi ancora connetterti a questo server?" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA-256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Aggiungi questo certificato alla lista dei certificati attendibili.\n" +#~ "Impronta digitale SHA1 del certificato:\n" +#~ "%(sha1)s\n" +#~ "Impronta digitale SHA-256 del certificato:\n" +#~ "%(sha256)s" + +#~ msgid "Account name is in use" +#~ msgstr "Il nome dell'account è già in uso" + +#~ msgid "You already have an account using this name." +#~ msgstr "Esiste già un account con lo stesso nome." + +#~ msgid "Cipher" +#~ msgstr "Cifratura" + +#~ msgid "Show a warning dialog before using standard SSL library." +#~ msgstr "Mostra un avvertimento prima di usare una libreria SSL standard." + +#, fuzzy +#~ msgid "If enabled, a whitespace is sent after inactivity (keep alive)." +#~ msgstr "Spazio bianco inviato dopo inattività" + +#, fuzzy +#~ msgid "If enabled, an XMPP ping is sent after inactivity (ping alive)." +#~ msgstr "Ping XMPP inviato dopo inattività" + +#~ msgid "Connection with account \"%s\" has been lost" +#~ msgstr "Connessione con l'account \"%s\" persa" + +#~ msgid "Reconnect manually." +#~ msgstr "Riconnetti manualmente." + +#~ msgid "Server %(name)s answered wrongly to register request: %(error)s" +#~ msgstr "" +#~ "Il server %(name)s ha risposto in maniera errata alla richiesta di " +#~ "registrazione: %(error)s" + +#~ msgid "Server %s provided a different registration form" +#~ msgstr "Il server %s ha fornito un modulo di registrazione differente" + +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "" +#~ "Impossibile connettersi a \"%(host)s\" tramite il proxy \"%(proxy)s\"" + +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "Impossibile connettersi a \"%(host)s\"" + +#~ msgid "Check your connection or try again later." +#~ msgstr "Controlla la connessione o riprova più tardi." + +#~ msgid "Server replied: %s" +#~ msgstr "Il server ha risposto: %s" + +#~ msgid "Connection to proxy failed" +#~ msgstr "Connessione al proxy fallita" + +#~ msgid "Could not connect to account %s" +#~ msgstr "Impossibile connettersi all'account %s" + +#~ msgid "Connection with account %s has been lost. Retry connecting." +#~ msgstr "Connessione con l'account %s persa. Riprova la connessione." + +#~ msgid "Please check your login and password for correctness." +#~ msgstr "Verificare la correttezza di login e password." + +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "Connessione HTTP" + +#~ msgctxt "proxy configuration" +#~ msgid "BOSH" +#~ msgstr "BOSH" + +#~ msgid "Use HTTP prox_y" +#~ msgstr "Usa prox_y HTTP" + +#~ msgid "https://example.org/http-bind/" +#~ msgstr "https://esempio.org/http-bind/" + +#~ msgid "_BOSH URL" +#~ msgstr "URL _BOSH" + +#~ msgid "BOSH" +#~ msgstr "BOSH" + +#, fuzzy +#~ msgid "Warn on insecure connection" +#~ msgstr "_Avvisa prima di utilizzare una connessione non sicura" + +#, fuzzy +#~ msgid "Contact list, list of contacts" +#~ msgstr "_Registra i cambiamenti di stato dei contatti" + +#~ msgid "Disconnect for Invisibility" +#~ msgstr "Disconnettiti per essere invisibile" + +#~ msgid "You are participating in one or more group chats" +#~ msgstr "Si sta partecipando ad una o più conversazioni di gruppo" + +#~ msgid "" +#~ "Changing your status to invisible will result in you leaving those group " +#~ "chats.\n" +#~ "Are you sure you want to go invisible?" +#~ msgstr "" +#~ "Cambiare il tuo stato a invisibile ti farà abbandonare quelle " +#~ "conversazioni di gruppo.\n" +#~ "Sei sicuro di voler diventare invisibile?" + +#~ msgid "_Disconnect" +#~ msgstr "_Disconnetti" + +#~ msgid "You cannot join a group chat while you are invisible" +#~ msgstr "Non è possibile unirsi ad una stanza quando si è invisibili" + +#~ msgid "Invisible" +#~ msgstr "Invisibile" + +#, fuzzy +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "Non è possibile unirsi ad una stanza quando si è invisibili" + +#~ msgid "_Invisible" +#~ msgstr "_Invisibile" + +#~ msgid "Yesterday" +#~ msgid_plural "%(nb_days)i days ago" +#~ msgstr[0] "Ieri" +#~ msgstr[1] "%(nb_days)i giorni fa" + +#~ msgid "_Cancel Upload" +#~ msgstr "_Annulla l'upload" + +#~ msgid "Got unexpected response from server (see log)." +#~ msgstr "" +#~ "Ricevuta una risposta inaspettata dal server (consulta il registro)." + +#~ msgid " [blocked]" +#~ msgstr " [bloccato]" + +#~ msgid " [minimized]" +#~ msgstr " [minimizzata]" + +#, fuzzy +#~ msgid "" +#~ "If you close this tab while having chat history disabled, this message " +#~ "will be lost." +#~ msgstr "" +#~ "Se chiudi questa scheda e la cronologia è disabilitata, questo messaggio " +#~ "verrà perso." + +#~ msgid "Unregister Failed" +#~ msgstr "Rimozione dell'iscrizione fallita" + +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "Rimozione dell'iscrizione sul server %(server)s fallita: %(error)s" + +#~ msgid "New Password" +#~ msgstr "Nuova password" + +#~ msgid "What do you want to do?" +#~ msgstr "Cosa vuoi fare?" + +#~ msgid "Remove account from Gajim and from _server" +#~ msgstr "Rimuovi l'account da Gajim e dal _server" + +#, fuzzy +#~ msgid "You must enter a password" +#~ msgstr "È necessario inserire una password." + +#, fuzzy +#~ msgid "You still have open chats in your account %s" +#~ msgstr "Hai aperto una conversazione con l'account %s" + +#, fuzzy +#~ msgid "To unregister from a server, the account must be enabled." +#~ msgstr "Per de-registrarsi da un server, l'account deve essere abilitato." + +#, fuzzy +#~ msgid "Password required" +#~ msgstr "È richiesta una password" + +#, fuzzy +#~ msgid "Still connected to the server" +#~ msgstr "Non sei connesso al server" + +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "" +#~ "L'account '%s' è ancora connesso al server. Se lo rimuovi, la connessione " +#~ "sarà persa." + +#~ msgid "Connection to server %s failed" +#~ msgstr "Connessione al server %s fallita" + +#~ msgid "What would you like to do?" +#~ msgstr "Cosa vorresti fare?" + +#~ msgid "Remove only from Gajim" +#~ msgstr "Rimuovi solo da Gajim" + +#~ msgid "Don't remove anything. I'll try again later" +#~ msgstr "Non rimuovere nulla. Riproverò più tardi" + +#~ msgid "Contents" +#~ msgstr "Contenuti" + +#~ msgid "FAQ" +#~ msgstr "Domande frequenti" + +#~ msgid "Save as Preset Status Message" +#~ msgstr "Salva come messaggio di stato predefinito" + +#~ msgid "Enter a new nickname for contact %s" +#~ msgstr "Inserisci un nuovo soprannome per il contatto %s" + +#~ msgid "Join a group chat" +#~ msgstr "Unisciti a una conversazione di gruppo" + +#~ msgid "Accept" +#~ msgstr "Accetta" + +#~ msgid "New entry received" +#~ msgstr "Nuova voce ricevuta" + +#~ msgid "You have received new entry:" +#~ msgstr "Hai ricevuto una nuova voce:" + +#~ msgid "Feed name:" +#~ msgstr "Nome feed:" + +#~ msgid "Last modified:" +#~ msgstr "Ultima modifica:" + +#~ msgid "Next entry" +#~ msgstr "Voce successiva" + +#~ msgid "Send file?" +#~ msgstr "Inviare il file?" + +#~ msgid "Mail _client" +#~ msgstr "_Client di posta" + +#~ msgid "_Browser" +#~ msgstr "_Browser" + +#~ msgid "_File manager" +#~ msgstr "Gestore dei _file" + +#~ msgid "Custom applications" +#~ msgstr "Applicazioni personalizzate" + +#~ msgid "Applications" +#~ msgstr "Applicazioni" + +#, fuzzy +#~ msgid "" +#~ "Uses ReStructured text markup to send HTML, plus ASCII formatting if " +#~ "selected. Needs docutils installed (for syntax, see http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Usa il testo annotato ReStructured per inviare HTML, più la formattazione " +#~ "ascii se selezionata. Per la sintassi, vedere http://docutils.sourceforge." +#~ "net/docs/ref/rst/restructuredtext.html (se si vuole usare questa opzione, " +#~ "installare docutils)" + +#, fuzzy +#~ msgid "Store XHTML messages in chat history instead of plain text messages." +#~ msgstr "Registra messaggi XHTML invece di messaggi in testo semplice." + +#, fuzzy +#~ msgid "_Ignore formatting of incoming messages" +#~ msgstr "_Ignora il contenuto ricco nei messaggi in arrivo" + +#, fuzzy +#~ msgid "" +#~ "Some messages may include rich content (xhtml formatting, colors etc). If " +#~ "checked, Gajim will just display the plain message text." +#~ msgstr "" +#~ "Alcuni messaggi potrebbero includere contenuto ricco (formattazione, " +#~ "colori, ecc.). Se selezionato, Gajim li mostrerà come messaggi semplici." + +#, fuzzy +#~ msgid "RST XHTML Generator" +#~ msgstr "Generatore RST" + +#, fuzzy +#~ msgid "Requires: python-docutils" +#~ msgstr "Richiede python-docutils." + +#~ msgid "New Single Message" +#~ msgstr "Nuovo messaggio singolo" + +#, fuzzy +#~ msgid "" +#~ "Can be empty, 'chat' or 'normal'. If not empty, all incoming messages are " +#~ "treated as if they were of this type." +#~ msgstr "" +#~ "Può essere vuoto, 'chat' o 'normal'. Se non vuoto, tratta tutti i " +#~ "messaggi in arrivo come se fossero di questo tipo" + +#~ msgid "Error %(code)s: %(msg)s" +#~ msgstr "Errore %(code)s: %(msg)s" + +#~ msgid "twelve" +#~ msgstr "dodici" + +#~ msgid "one" +#~ msgstr "uno" + +#~ msgid "two" +#~ msgstr "due" + +#~ msgid "three" +#~ msgstr "tre" + +#~ msgid "four" +#~ msgstr "quattro" + +#~ msgid "five" +#~ msgstr "cinque" + +#~ msgid "six" +#~ msgstr "sei" + +#~ msgid "seven" +#~ msgstr "sette" + +#~ msgid "eight" +#~ msgstr "otto" + +#~ msgid "nine" +#~ msgstr "nove" + +#~ msgid "ten" +#~ msgstr "dieci" + +#~ msgid "eleven" +#~ msgstr "undici" + +#~ msgid "%(0)s o'clock" +#~ msgstr "%(0)s in punto" + +#~ msgid "five past %(0)s" +#~ msgstr "%(0)s e cinque" + +#~ msgid "ten past %(0)s" +#~ msgstr "%(0)s e dieci" + +#~ msgid "quarter past %(0)s" +#~ msgstr "%(0)s e un quarto" + +#~ msgid "twenty past %(0)s" +#~ msgstr "%(0)s e venti" + +#~ msgid "twenty five past %(0)s" +#~ msgstr "%(0)s e venticinque" + +#~ msgid "half past %(0)s" +#~ msgstr "%(0)s e mezza" + +#~ msgid "twenty five to %(1)s" +#~ msgstr "venticinque minuti alle %(1)s" + +#~ msgid "twenty to %(1)s" +#~ msgstr "%(1)s meno venti" + +#~ msgid "quarter to %(1)s" +#~ msgstr "%(1)s meno un quarto" + +#~ msgid "ten to %(1)s" +#~ msgstr "%(1)s meno dieci" + +#~ msgid "five to %(1)s" +#~ msgstr "%(1)s meno cinque" + +#~ msgid "%(1)s o'clock" +#~ msgstr "%(1)s in punto" + +#~ msgid "Night" +#~ msgstr "Notte" + +#~ msgid "Early morning" +#~ msgstr "Mattino presto" + +#~ msgid "Morning" +#~ msgstr "Mattino" + +#~ msgid "Almost noon" +#~ msgstr "Quasi mezzogiorno" + +#~ msgid "Noon" +#~ msgstr "Mezzogiorno" + +#~ msgid "Afternoon" +#~ msgstr "Pomeriggio" + +#~ msgid "Evening" +#~ msgstr "Sera" + +#~ msgid "Late evening" +#~ msgstr "Tarda sera" + +#~ msgid "Start of week" +#~ msgstr "Inizio settimana" + +#~ msgid "Middle of week" +#~ msgstr "Metà settimana" + +#~ msgid "End of week" +#~ msgstr "Fine della settimana" + +#~ msgid "Weekend!" +#~ msgstr "Fine-settimana!" + +#, fuzzy +#~ msgid "" +#~ "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or " +#~ "0 to disable Fuzzy Clock. 1 is the most precise clock, 4 the least " +#~ "precise one. This is used only if 'print_time' is 'sometimes'." +#~ msgstr "" +#~ "Scrive l'ora nelle conversazioni usando l'orologio vago. Valore di " +#~ "vaghezza da 1 a 4, o 0 per disabilitarlo. 1 è l'orologio più preciso, 4 è " +#~ "il meno preciso. Viene usato solo se print_time è 'sometimes'." + +#~ msgid "message" +#~ msgstr "messaggio" + +#~ msgid "error: %s" +#~ msgstr "errore: %s" + +#~ msgid "Form: %s" +#~ msgstr "Modulo: %s" + +#~ msgid "XML Input" +#~ msgstr "Input XML" + +#, fuzzy +#~ msgid "Ttitle" +#~ msgstr "_Titolo:" + +#, fuzzy +#~ msgid "%(type)s encryption is active %(authenticated)s" +#~ msgstr "cifratura %(type)s è attiva %(authenticated)s." + +#~ msgid "Screen" +#~ msgstr "Schermo" + +#~ msgid "Fake video output" +#~ msgstr "Uscita video fasulla" + +#~ msgid "X Window System (X11/XShm/Xv): %s" +#~ msgstr "X Window System (X11/XShm/Xv): %s" + +#~ msgid "X Window System (without Xv)" +#~ msgstr "X Window System (senza Xv)" + +#, fuzzy +#~ msgid "V_ideo output device" +#~ msgstr "Dispositivo di output video" + +#~ msgid "" +#~ "\n" +#~ "Disabled in config" +#~ msgstr "" +#~ "\n" +#~ "Disabilitato nella configurazione" + +#~ msgid "Conversation with " +#~ msgstr "Conversazione con " + +#~ msgid "Continued conversation" +#~ msgstr "Conversazione continuata" + +#~ msgid "%s has invited you to join a discussion" +#~ msgstr "%s ti ha invitato a unirti a una discussione" + +#~ msgid "_Send Private Message" +#~ msgstr "_Invia un messaggio privato" + +#, fuzzy +#~ msgid "Participant Actions" +#~ msgstr "Partecipanti" + +#~ msgid "_Voice" +#~ msgstr "_Voce" + +#~ msgid "Mo_derator" +#~ msgstr "Mo_deratore" + +#~ msgid "_Member" +#~ msgstr "_Membro" + +#~ msgid "_Admin" +#~ msgstr "_Amministratore" + +#~ msgid "_Owner" +#~ msgstr "_Proprietario" + +#, fuzzy +#~ msgid "_Add to Contact List" +#~ msgstr "Aggiungi un _contatto" + +#, fuzzy +#~ msgid "_Execute command" +#~ msgstr "Esegui comando" + +#~ msgid "Change _Nickname..." +#~ msgstr "Cambia il _soprannome..." + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "_Nuova conversazione di gruppo" + +#~ msgid "Change _Subject..." +#~ msgstr "Cambia il _soggetto..." + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "Entra in una conversazione di _gruppo..." + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "_Nuova conversazione di gruppo" + +#~ msgid "_Minimize on close" +#~ msgstr "_Minimizza alla chiusura" + +#~ msgid "_Request Voice" +#~ msgstr "_Richiedi la voce" + +#~ msgid "_Bookmark" +#~ msgstr "Aggiungi ai _segnalibri" + +#~ msgid "The authenticity of the %s certificate could be invalid" +#~ msgstr "L'autenticazione del certificato %s potrebbe non essere valida." + +#~ msgid "" +#~ "\n" +#~ "Unknown SSL error: %d" +#~ msgstr "" +#~ "\n" +#~ "Errore SSL sconosciuto: %d" + +#~ msgid "" +#~ "\n" +#~ "SSL Error: %s" +#~ msgstr "" +#~ "\n" +#~ "Errore SSL: %s" + +#~ msgid "Error verifying SSL certificate" +#~ msgstr "Errore nel verificare il certificato SSL" + +#~ msgid "View certificate…" +#~ msgstr "Visualizza il certificato..." + +#~ msgid "Continue" +#~ msgstr "Continua" + +#~ msgid "" +#~ "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM " +#~ "IS RUNNING)" +#~ msgstr "" +#~ "Vuoi ripulire il database? (FORTEMENTE SCONSIGLIATO SE GAJIM È IN " +#~ "ESECUZIONE)" + +#, fuzzy +#~ msgid "Authorization" +#~ msgstr "Autorizzazione inviata" + +#, fuzzy +#~ msgid "" +#~ "All chat and group chat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Tutte le finestre di conversazione e le conversazioni di gruppo saranno " +#~ "chiuse. Si desidera continuare?" + +#, fuzzy +#~ msgid "Account '%s' is still connected to the server" +#~ msgstr "L'account \"%s\" è connesso al server" + +#, fuzzy +#~ msgid "Error While Saving" +#~ msgstr "Errore durante la creazione del servizio. %s" + +#, fuzzy +#~ msgid "" +#~ "Image cannot be saved in %(type)s format.\n" +#~ "Save as %(new_filename)s?" +#~ msgstr "" +#~ "L'immagine non può essere salvata in formato %(type)s. Salvarla come " +#~ "%(new_filename)s?" + +#~ msgid "Save _As" +#~ msgstr "Salv_a come " + +#~ msgid "Yes, I really want to connect insecurely" +#~ msgstr "Sì, voglio davvero connettermi in modo non sicuro" + +#~ msgid "Gajim will NOT connect unless you check this box" +#~ msgstr "Gajim NON si connetterà a meno che non viene marcata questa casella" + +#, fuzzy +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "JID della conversazione di gruppo non valido" + +#, fuzzy +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "" +#~ "Il JID della conversazione di gruppo contiene dei caratteri non permessi." + +#~ msgid "You may specify a reason below:" +#~ msgstr "Specifica un motivo qui sotto:" + +#~ msgid "Banning %s" +#~ msgstr "Sto bloccando %s" + +#, fuzzy +#~ msgid "" +#~ "Always ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Chiedere sempre prima di chiudere una finestra/scheda di conversazione di " +#~ "gruppo presente in questa lista separata da spazi di JID di stanze." + +#, fuzzy +#~ msgid "" +#~ "Never ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Non chiedere mai prima di chiudere una scheda/finestra di conversazione " +#~ "presente in questo elenco separata da spazi di JID di stanze." + +#, fuzzy +#~ msgid "Leave Group Chats" +#~ msgstr "Esci dalle conversazioni di gruppo" + +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "%(nickname)s su %(room_jid)s" + +#, fuzzy +#~ msgid "You have not joined a group chat." +#~ msgstr "Non si è entrati in una conversazione di gruppo." + +#, fuzzy +#~ msgid "Choose the group chats you want to leave" +#~ msgstr "Scegliere le conversazioni di gruppo da cui vuoi uscire" + +#, fuzzy +#~ msgid "You left the following group chats:" +#~ msgstr "Sei uscito dalle seguenti conversazioni di gruppo:" + +#, fuzzy +#~ msgid "" +#~ "Should automatic rejoin be activated when you were kicked from a group " +#~ "chat?" +#~ msgstr "" +#~ "Abilitare il rientro automatico quando si viene espulsi da una " +#~ "conversazione?" + +#, fuzzy +#~ msgid "" +#~ "If disabled, Gajim will display a static event icon instead of the " +#~ "blinking status icon in the notification area when notifying about an " +#~ "event." +#~ msgstr "" +#~ "Se Falso, Gajim mostrerà un'icona di eventi statica invece dell'icona di " +#~ "stato lampeggiante nell'area di notifica quando viene notificato un " +#~ "evento." + +#~ msgid "Don't show avatar for the transport itself." +#~ msgstr "Non mostrare l'avatar per il trasporto stesso." + +#, fuzzy +#~ msgid "" +#~ "Show a confirmation dialog for a custom status? Empty string means never " +#~ "show the dialog." +#~ msgstr "" +#~ "Mostrare la richiesta di conferma per lo stato personalizzato o meno? Una " +#~ "stringa vuota significa che non verrà mai mostrata." + +#, fuzzy +#~ msgid "" +#~ "If enabled, notification windows from notification-daemon will be " +#~ "attached to the notification area icon." +#~ msgstr "" +#~ "Se Vero, le finestre di notifica del demone-notifiche saranno attaccate " +#~ "all'icona di notifica." + +#~ msgid "" +#~ "Show a warning dialog before sending PLAIN password over a plain " +#~ "connection." +#~ msgstr "" +#~ "Mostra un avvertimento prima di inviare una password IN CHIARO su una " +#~ "connessione in chiaro." + +#, fuzzy +#~ msgid "" +#~ "List of XMPP Addresses (space separated) for which you accept to not " +#~ "store chat history if your contact does not want to." +#~ msgstr "" +#~ "Elenco dei JID separati da spazi per i quali accetti di non registrare le " +#~ "conversazioni se loro non vogliono. " + +#, fuzzy +#~ msgid "Jabberd2 workaround." +#~ msgstr "Workaround Jabberd2" + +#~ msgid "Configure Services…" +#~ msgstr "Configura i servizi..." + +#, fuzzy +#~ msgid "Group Chat Bookmarks" +#~ msgstr "Conversazione di gruppo" + +#, fuzzy +#~ msgid "Add Bookmark" +#~ msgstr "Aggiungi ai _segnalibri" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "Aggiungi ai _segnalibri" + +#~ msgid "N_ame" +#~ msgstr "N_ome" + +#, fuzzy +#~ msgid "_Server" +#~ msgstr "_Server:" + +#, fuzzy +#~ msgid "Roo_m" +#~ msgstr "Stanza:" + +#, fuzzy +#~ msgid "_Password" +#~ msgstr "_Password:" + +#, fuzzy +#~ msgid "Join chat when connected" +#~ msgstr "Contatto disconnesso" + +#~ msgid "_Join Automatically" +#~ msgstr "_Unisciti automaticamente" + +#~ msgid "New Group Chat" +#~ msgstr "Nuova conversazione di gruppo" + +#~ msgid "This bookmark has invalid data" +#~ msgstr "Questo segnalibro contiene dati non validi" + +#, fuzzy +#~ msgid "" +#~ "Please be sure to fill out server and group chat fields or remove this " +#~ "bookmark." +#~ msgstr "" +#~ "Controlla di avere compilato i campi server e stanza, o elimina questo " +#~ "segnalibro." + +#~ msgid "Character not allowed" +#~ msgstr "Carattere non ammesso" + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "JID della conversazione di gruppo non valido" + +#~ msgid "Unable to join group chat" +#~ msgstr "Non si è in grado di unirsi alla conversazione di gruppo" + +#~ msgid "You are banned from group chat %s." +#~ msgstr "Sei stato bloccato dalla stanza %s." + +#~ msgid "Remote server %s does not exist." +#~ msgstr "Il server remoto %s non esiste." + +#~ msgid "Group chat %s does not exist." +#~ msgstr "La conversazione di gruppo %s non esiste." + +#~ msgid "Group chat creation is not permitted." +#~ msgstr "La creazione di conversazioni di gruppo non è permessa." + +#~ msgid "You must use your registered nickname in %s." +#~ msgstr "Devi utilizzare il tuo soprannome registrato in %s." + +#, fuzzy +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "Non sei nella lista dei membri nella conversazione di gruppo %s." + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "Questa non è una conversazione di gruppo" + +#~ msgid "This is not a group chat" +#~ msgstr "Questa non è una conversazione di gruppo" + +#, fuzzy +#~ msgid "Please choose a group chat" +#~ msgstr "Scegliere una stanza" + +#~ msgid "Invalid Nickname" +#~ msgstr "Soprannome non valido" + +#~ msgid "Wrong server" +#~ msgstr "Server errato" + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "%s non è un server di conversazione di gruppo" + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit." +#~ msgstr "" +#~ "Quante linee richiedere al server entrando in una conversazione di " +#~ "gruppo. -1 indica nessun limite" + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit." +#~ msgstr "" +#~ "Di quanti minuti indietro richiedere i log entrando in una conversazione " +#~ "di gruppo. -1 indica nessun limite" + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit, -2 means global value." +#~ msgstr "" +#~ "Quante linee richiedere al server entrando in una conversazione di " +#~ "gruppo. -1 indica nessun limite, -2 indica il valore globale" + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit, -2 means global value." +#~ msgstr "" +#~ "Di quanti minuti prima richiedere i log entrando in una conversazione di " +#~ "gruppo. -1 indica nessun limite, -2 indica il valore globale" + +#, fuzzy +#~ msgid "A Password is required to join the group chat %s. Please type it." +#~ msgstr "" +#~ "È necessaria una password per entrare nella stanza %s. Digitala, per " +#~ "piacere." + +#~ msgid "Not in Roster" +#~ msgstr "Non nei tuoi contatti" + +#~ msgid "I would like to add you to my roster" +#~ msgstr "Vorrei aggiungerti ai miei contatti" + +#~ msgid "Add to Roster" +#~ msgstr "Aggiungi all'elenco contatti" + +#~ msgid "Audio Session" +#~ msgstr "Sessione audio" + +#~ msgid "Manage Room" +#~ msgstr "Gestisci la stanza" + +#~ msgid "Configure Room" +#~ msgstr "Configura la stanza" + +#~ msgid "Destroy Room" +#~ msgstr "Elimina la stanza" + +#~ msgid "Change Nick" +#~ msgstr "Cambia soprannome" + +#~ msgid "Disconnect" +#~ msgstr "Disconnetti" + +#~ msgid "Copy JID" +#~ msgstr "Copia JID" + +#~ msgid "Add to Roster…" +#~ msgstr "Aggiungi all'elenco contatti…" + +#~ msgid "Copy JID/Email" +#~ msgstr "Copia JID/indirizzo e-mail" + +#~ msgid "JID: %s" +#~ msgstr "JID: %s" + +#~ msgid "Changing Subject" +#~ msgstr "Cambio oggetto" + +#~ msgid "Please specify the new subject:" +#~ msgstr "Per piacere, specifica il nuovo soggetto:" + +#~ msgid "Room logging is now enabled" +#~ msgstr "La registrazione dei messaggi della stanza è stata attivata" + +#~ msgid "Room logging is now disabled" +#~ msgstr "La registrazione dei messaggi della stanza è stata disattivata" + +#~ msgid "You (%s) joined the room" +#~ msgstr "Tu (%s) ti sei unito alla stanza" + +#~ msgid "Room logging is enabled" +#~ msgstr "La registrazione dei messaggi della stanza è stata attivata" + +#~ msgid "Unable to join groupchat" +#~ msgstr "Non si è in grado di unirsi alla conversazione di gruppo" + +#~ msgid "Groupchat Invitation" +#~ msgstr "Invito in una conversazione di gruppo" + +#~ msgid "%(jid)s has been invited in this room" +#~ msgstr "%(jid)s è stato invitato in questa stanza" + +#~ msgid "JID is not a Groupchat" +#~ msgstr "Il JID non è una conversazione di gruppo" + +#~ msgid "Invalid JID" +#~ msgstr "JID non valido" + +#~ msgid "A connection is not available" +#~ msgstr "Nessuna connessione disponibile" + +#~ msgid "JID already in list" +#~ msgstr "JID già nella lista" + +#, fuzzy +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "Nessuna connessione disponibile" + +#~ msgid "Removes contact from roster" +#~ msgstr "Rimuove il contatto dal tuo elenco" + +#~ msgid "Not in roster" +#~ msgstr "Non nell'elenco dei tuoi contatti" + +#~ msgid "Contact signed in notification color." +#~ msgstr "Colore della notifica di contatto che effettua l'accesso." + +#~ msgid "Contact signout notification color" +#~ msgstr "Colore della notifica di un contatto che si disconnette." + +#~ msgid "File transfer request notification color." +#~ msgstr "Colore della notifica di un trasferimento file." + +#~ msgid "File transfer error notification color." +#~ msgstr "Colore della notifica di un errore nel trasferimento file." + +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "" +#~ "Colore della notifica di un trasferimento file completato o interrotto." + +#~ msgid "Groupchat invitation notification color" +#~ msgstr "Colore della notifica di un invito ad una conversazione di gruppo." + +#~ msgid "Other dialogs color." +#~ msgstr "Colore delle altre finestre di dialogo." + +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "Aggiungere * e [n] al titolo dell'elenco dei tuoi contatti?" + +#~ msgid "Hides the banner in two persons chat window" +#~ msgstr "Nasconde il banner nella finestra di conversazione a due persone" + +#, fuzzy +#~ msgid "" +#~ "Show the confirm metacontacts creation dialog or not? Empty string means " +#~ "never show the dialog." +#~ msgstr "" +#~ "Mostrare la richiesta di conferma creazione metacontatti o meno? Una " +#~ "stringa vuota significa che non verrà mai mostrata." + +#, fuzzy +#~ msgid "If true, You will also see your webcam" +#~ msgstr "Se Vero, anche la tua webcam sarà visibile" + +#~ msgid "Space separated list of ssl errors to ignore." +#~ msgstr "Elenco degli errori ssl da ignorare separati da spazi." + +#~ msgid "Answer to receipt requests" +#~ msgstr "Rispondi alle richieste di ricevuta" + +#, fuzzy +#~ msgid "Language for which misspelled words will be checked" +#~ msgstr "Linguaggio per il quale vogliamo controllare le parole sbagliate" + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "Sto mangiando, lascia pure un messaggio." + +#, fuzzy +#~ msgid "from room %s" +#~ msgstr " dalla stanza %s" + +#~ msgid "Leave Groupchats" +#~ msgstr "Esci dalle conversazioni di gruppo" + +#, fuzzy +#~ msgid "Auto Join" +#~ msgstr "Unisciti _automaticamente" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "Stanza:" + +#~ msgid "Jabber ID:" +#~ msgstr "ID Jabber: " + +#~ msgid "Occupant Actions" +#~ msgstr "Azioni partecipante" + +#~ msgid "_Add to Roster" +#~ msgstr "_Aggiungi all'elenco dei tuoi contatti" + +#~ msgid "_Manage Room" +#~ msgstr "_Gestisci la stanza" + +#~ msgid "Configure _Room..." +#~ msgstr "Configura la _stanza..." + +#~ msgid "_Destroy Room" +#~ msgstr "_Elimina la stanza" + +#~ msgid "Jabber ID" +#~ msgstr "ID Jabber" + +#, fuzzy +#~ msgid "account" +#~ msgstr "account: " + +#, fuzzy +#~ msgid "Roster" +#~ msgstr "Mostra l'elenco dei tuoi _contatti" + +#~ msgid "Show only in roster" +#~ msgstr "Mostra solo nell'elenco dei tuoi contatti" + +#~ msgid "in _roster" +#~ msgstr "nell'elenco dei tuoi _contatti" + +#~ msgid "Roster Appearance" +#~ msgstr "Aspetto dell'elenco dei tuoi contatti" + +#, fuzzy +#~ msgid "Show chatstate in roster" +#~ msgstr "Mostra gli a_vatar dei contatti nell'elenco dei tuoi contatti" + +#~ msgid "_Add to Roster..." +#~ msgstr "_Aggiungi all'elenco dei tuoi contatti..." + +#~ msgid "_Jabber ID:" +#~ msgstr "ID _Jabber:" + +#, fuzzy +#~ msgid "_Jabber ID" +#~ msgstr "ID _Jabber:" + +#~ msgid "JabberID" +#~ msgstr "ID Jabber" + +#, fuzzy +#~ msgid "Show Roster" +#~ msgstr "Mostra l'elenco dei tuoi _contatti" + +#~ msgid "MUC server" +#~ msgstr "Server MUC" + +#, fuzzy +#~ msgid "Roster Shortcuts" +#~ msgstr "Scorciatoie da tastiera" + +#~ msgid "Room Configuration" +#~ msgstr "Configurazione della stanza" + +#~ msgid "Join _Group Chat" +#~ msgstr "Entra in una conversazione di _gruppo" + +#~ msgid "Toggle audio session" +#~ msgstr "Attiva sessione audio" + +#~ msgid "Audio sessions are not available" +#~ msgstr "Le sessioni audio non sono disponibili" + +#~ msgid "Conference" +#~ msgstr "Conferenze" + +#~ msgid "_Manage Bookmarks…" +#~ msgstr "_Gestisci i segnalibri…" + +#~ msgid "Hide _Roster" +#~ msgstr "Nascondi l'elenco dei tuoi _contatti" + +#~ msgid "Show _Roster" +#~ msgstr "Mostra l'elenco dei tuoi _contatti" + +#~ msgid "Invalid Room" +#~ msgstr "Stanza non valida" + +#~ msgid "Invalid room" +#~ msgstr "Stanza non valida" + +#~ msgid "A GTK+ Jabber client" +#~ msgstr "Un client Jabber GTK+" + +#~ msgid "Changing Nickname" +#~ msgstr "Cambiamento del soprannome in corso" + +#~ msgid "Please specify the new nickname you want to use:" +#~ msgstr "Specifica il nuovo soprannome che vuoi usare:" + +#~ msgid "Bookmark already set" +#~ msgstr "Segnalibro già impostato" + +#, fuzzy +#~ msgid "Group Chat '%s' is already in your bookmarks." +#~ msgstr "La stanza \"%s\" è già tra i segnalibri." + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "Il segnalibro è stato aggiunto con successo" + +#, fuzzy +#~ msgid "" +#~ "You can manage your bookmarks by clicking the Bookmarks menu item in your " +#~ "contact list." +#~ msgstr "" +#~ "È possibile gestire i segnalibri attraverso il menu Azioni nella finestra " +#~ "della lista contatti." + +#~ msgid "The nickname contains invalid characters." +#~ msgstr "Il soprannome contiene dei caratteri non consentiti." + +#~ msgid "Bookmark Room" +#~ msgstr "Aggiungi stanza ai segnalibri" + +#~ msgid "_Join New Group Chat" +#~ msgstr "_Unisciti a una nuova conversazione di gruppo" + +#~ msgid "Name:" +#~ msgstr "Nome:" + +#~ msgid "Description:" +#~ msgstr "Descrizione: " + +#, fuzzy +#~ msgid "Address:" +#~ msgstr "_Indirizzo:" + +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "" +#~ "Non è possibile unirsi a una nuova conversazione finché non si è connessi." + +#, fuzzy +#~ msgid "Occupants" +#~ msgstr "Azioni partecipante" + +#~ msgid "_Modify Account..." +#~ msgstr "_Modifica l'account..." + +#~ msgid "Boolean" +#~ msgstr "Booleano" + +#~ msgid "Integer" +#~ msgstr "Intero" + +#~ msgid "Text" +#~ msgstr "Testo" + +#~ msgid "Value" +#~ msgstr "Valore" + +#~ msgid "(None)" +#~ msgstr "(Nessuna)" + +#~ msgid "Hidden" +#~ msgstr "Nascosta" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "Gestisci i profili proxy" + +#~ msgid "Properties" +#~ msgstr "Proprietà" + +#, fuzzy +#~ msgid "Proxy _Port" +#~ msgstr "_Porta del proxy:" + +#, fuzzy +#~ msgid "New Groupchat" +#~ msgstr "Nuova Conversazione di Gruppo" + +#, fuzzy +#~ msgid "New Contact" +#~ msgstr "Aggiungi un nuovo contatto" + +#~ msgid "%s GiB" +#~ msgstr "%s GiB" + +#~ msgid "%s GB" +#~ msgstr "%s GB" + +#~ msgid "%s MiB" +#~ msgstr "%s MiB" + +#~ msgid "%s MB" +#~ msgstr "%s MB" + +#~ msgid "%s KiB" +#~ msgstr "%s KiB" + +#~ msgid "%s KB" +#~ msgstr "%s KB" + +#~ msgid "%s B" +#~ msgstr "%s B" + +#, fuzzy +#~ msgid "%s MiB/s" +#~ msgstr "%s MiB" + +#~ msgid "File transfer" +#~ msgstr "Trasferimento del file" + +#~ msgid "Open _Containing Folder" +#~ msgstr "Apri la cartella _contenitrice" + +#, fuzzy +#~ msgid "Default:" +#~ msgstr "Predefinito" + +#~ msgid "Success!" +#~ msgstr "Successo!" + +#~ msgid "" +#~ "If you close this window, you will be disconnected from this group chat." +#~ msgstr "Chiudendo questa finestra, si verrà disconnessi da questa stanza." + +#~ msgid "Really quit Gajim?" +#~ msgstr "Vuoi uscire davvero da Gajim?" + +#~ msgid "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" +#~ msgstr "" +#~ "Non si potranno inviare e ricevere messaggi verso i contatti di questi " +#~ "trasporti: %s" + +#~ msgid "Contact \"%s\" will be removed from your roster" +#~ msgstr "Il contatto \"%s\" verrà rimosso dal tuo elenco" + +#~ msgid "" +#~ "By removing this contact you also by default remove authorization " +#~ "resulting in them always seeing you as offline." +#~ msgstr "" +#~ "Eliminando questo contatto ne rimuoverai automaticamente anche " +#~ "l'autorizzazione, e ti vedrà sempre non in linea." + +#~ msgid "Contacts will be removed from your roster" +#~ msgstr "Il contatto verrà rimosso dall'elenco dei tuoi contatti" + +#~ msgid "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorization resulting in them always seeing you as " +#~ "offline." +#~ msgstr "" +#~ "Eliminando questi contatti:%s\n" +#~ "ne verrà rimossa anche l'autorizzazione. Questi ti vedranno sempre non in " +#~ "linea." + +#, fuzzy +#~ msgid "Con_tinue" +#~ msgstr "_Continua" + +#~ msgid "_Pause" +#~ msgstr "_Pausa" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "Rimuove il trasferimento file dalla lista." + +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "" +#~ "Questa azione elimina un singolo trasferimento file dalla lista. Se il " +#~ "trasferimento è attivo, viene prima interrotto e poi rimosso" + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "Annulla il trasferimento file selezionato" + +#, fuzzy +#~ msgid "Hide the window" +#~ msgstr "Nasconde la finestra" + +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "" +#~ "Mostra una notifica popup quando un trasferimento file viene completato" + +#~ msgid "From:" +#~ msgstr "Da:" + +#~ msgid "Subject:" +#~ msgstr "Soggetto:" + +#~ msgid "%s wants to send you a file:" +#~ msgstr "%s vuole inviarti un file:" + +#~ msgid "Name: " +#~ msgstr "Nome: " + +#~ msgid "Pause" +#~ msgstr "Pausa" + +#~ msgid "Execute Command" +#~ msgstr "Esegui comando" + +#~ msgid "Type: " +#~ msgstr "Tipo: " + +#~ msgid "Transferred: " +#~ msgstr "Trasferito: " + +#~ msgid "Completed" +#~ msgstr "Completato" + +#~ msgid "Stalled" +#~ msgstr "In stallo" + +#~ msgid "Transferring" +#~ msgstr "Trasferimento in corso" + +#~ msgid "Not started" +#~ msgstr "Non iniziato" + +#~ msgid "%s day" +#~ msgid_plural "%s days" +#~ msgstr[0] "%s giorno" +#~ msgstr[1] "%s giorni" + +#~ msgid "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Tutte le finestre di conversazione e le conversazioni di gruppo saranno " +#~ "chiuse. Si desidera continuare?" + +#~ msgid "" +#~ "Your desired nickname in group chat\n" +#~ "%s\n" +#~ "is in use or registered by another occupant.\n" +#~ "Please specify another nickname below:" +#~ msgstr "" +#~ "Il soprannome desiderato per il gruppo di conversazione\n" +#~ "%s\n" +#~ "è in uso o registrato da un altro partecipante del gruppo.\n" +#~ "Specificare un altro soprannome sotto:" + +#~ msgid "_Configure" +#~ msgstr "_Configura" + +#~ msgid "Change the avatar" +#~ msgstr "Cambia l'avatar" + +#~ msgid "" +#~ "Account in which the avatar will be set; if not specified, the avatar " +#~ "will be set for all accounts" +#~ msgstr "" +#~ "L'account per il quale sarà impostato l'avatar; se non specificato, " +#~ "l'avatar verrà impostato per tutti gli account" + +# sostituisce %(action)s in: +# %(jid)s vorrebbe che tu %(action)s alcuni contatti nel tuo elenco. +#~ msgid "add" +#~ msgstr "aggiungessi" + +# sostituisce %(action)s in: +# %(jid)s vorrebbe che tu %(action)s alcuni contatti nel tuo elenco. +#~ msgid "modify" +#~ msgstr "modificassi" + +# sostituisce %(action)s in: +# %(jid)s vorrebbe che tu %(action)s alcuni contatti nel tuo elenco. +#~ msgid "remove" +#~ msgstr "eliminassi" + +#, fuzzy +#~ msgid "" +#~ "If true, restored messages will use a smaller font than the default one." +#~ msgstr "" +#~ "Se Vero, i messaggi recuperati useranno un carattere più piccolo di " +#~ "quello predefinito." + +#, fuzzy +#~ msgid "Restored Message Color" +#~ msgstr "_Reimposta ai colori predefiniti" + +#, fuzzy +#~ msgid "" +#~ "You are going to remove this room permanently.\n" +#~ "You may specify a reason below:" +#~ msgstr "" +#~ "Stai per cancellare definitivamente questa stanza.\n" +#~ "Puoi specificare il motivo qui sotto:" + +#~ msgid "Send Cus_tom Status" +#~ msgstr "Invia uno s_tato personalizzato" + +#~ msgid "" +#~ "You are about to send a custom status. Are you sure you want to continue?" +#~ msgstr "" +#~ "Stai per inviare uno stato personalizzato. Sei sicuro di voler continuare?" + +#, fuzzy +#~ msgid "" +#~ "This contact will temporarily see you as %(status)s, but only until you " +#~ "change your status. Then they will see your global status." +#~ msgstr "" +#~ "Questo contatto ti vedrà temporaneamente come %(status)s, ma solo finché " +#~ "cambi di nuovo il tuo stato. Dopo lui/lei vedrà il tuo stato globale." + +#, fuzzy +#~ msgid "" +#~ msgstr "Soggetto" + +#~ msgid "#" +#~ msgstr "#" + +#~ msgid "You are about to block a contact. Are you sure you want to continue?" +#~ msgstr "Stai per bloccare un contatto. Sei sicuro di voler continuare?" + +#~ msgid "To:" +#~ msgstr "A:" + +#~ msgid "0" +#~ msgstr "0" + +#~ msgid "" +#~ "If enabled and if server supports this feature, Gajim will receive " +#~ "messages sent and received by other resources." +#~ msgstr "" +#~ "Se abilitato e se il server supporta questa funzionalità, Gajim riceverà " +#~ "messaggi inviati e ricevuti da altre risorse." + +#, fuzzy +#~ msgid "Reconnect when connection is lost" +#~ msgstr "Riconnetti automaticamente quando si perde la connessione" + +#, fuzzy +#~ msgid "Server Message Archive" +#~ msgstr "_Invia un messaggio del server..." + +#, fuzzy +#~ msgid "Message Carbons" +#~ msgstr "Messaggi" + +#~ msgid "" +#~ "Sent chat state notifications. Can be one of all, composing_only, " +#~ "disabled." +#~ msgstr "" +#~ "Notifiche di stato inviate. Può essere una tra all, composing_only, " +#~ "disabled." + +#, fuzzy +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "Consenti l'invio del proprio tempo di _inattività" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the idle time of your system" +#~ msgstr "" +#~ "Se marcato, Gajim permetterà agli altri di conoscere l'ora del tuo sistema" + +#, fuzzy +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "Consenti l'invio di informazioni sull'ora locale del sistema" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the local time on your system" +#~ msgstr "" +#~ "Se marcato, Gajim permetterà agli altri di conoscere l'ora del tuo sistema" + +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "" +#~ "Consenti l'invio di informazioni sul client e sul sistema _operativo" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the operating system you are " +#~ "using" +#~ msgstr "" +#~ "Se marcato, Gajim permetterà agli altri di conoscere il sistema operativo " +#~ "in uso" + +#, fuzzy +#~ msgid "" +#~ "If checked, incoming events from unauthorized contacts will be ignored. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster." +#~ msgstr "" +#~ "Se marcato, Gajim ignorerà gli eventi in arrivo da parte dei contatti non " +#~ "autorizzati. Usalo con cautela, perché blocca tutti i messaggi da parte " +#~ "dei contatti che non sono nel tuo elenco" + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." +#~ msgstr "" +#~ "Gajim può ricevere ed inviare meta-informazioni relative ad una " +#~ "conversazione con un contatto. Qui è possibile specificare quali stati di " +#~ "chat si vogliono inviare al contatto." + +#, fuzzy +#~ msgid "S_end chat state notifications" +#~ msgstr "_Invia le notifiche di stato delle conversazioni:" + +#, fuzzy +#~ msgid "Login Options" +#~ msgstr "Opzioni:" + +#~ msgid "Please wait while retrieving search form..." +#~ msgstr "Attendere durante il recupero dei campi di ricerca..." + +#~ msgid "_Add contact" +#~ msgstr "_Aggiungi un contatto" + +#~ msgid "Ad-hoc Commands - Gajim" +#~ msgstr "Comandi ad-hoc - Gajim" + +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "Attendere durante il recupero dell'elenco dei comandi..." + +#~ msgid "Choose command to execute:" +#~ msgstr "Scegli il comando da eseguire:" + +#~ msgid "Check once more" +#~ msgstr "Controlla ancora" + +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "Attendi durante l'invio del comando, per piacere..." + +#~ msgid "This jabber entity does not expose any commands." +#~ msgstr "Questa entità Jabber non mostra alcun comando." + +#~ msgid "F_inish" +#~ msgstr "_Finisci" + +#~ msgid "Waiting for results" +#~ msgstr "In attesa dei risultati" + +#~ msgid "Error in received dataform" +#~ msgstr "Errore nella ricezione dei dati" + +#~ msgid "No result" +#~ msgstr "Nessun risultato" + +#~ msgid "Failed to get secret keys" +#~ msgstr "Fallimento nella ricezione delle chiavi segrete" + +#~ msgid "There is no OpenPGP secret key available." +#~ msgstr "Nessuna chiave segreta OpenPGP disponibile." + +#~ msgid "OpenPGP Key Selection" +#~ msgstr "Scelta della chiave OpenPGP" + +#~ msgid "Choose your OpenPGP key" +#~ msgstr "Scegli la tua chiave OpenPGP" + +#~ msgid "KeyID" +#~ msgstr "KeyID" + +#~ msgid "Contact name" +#~ msgstr "Nome del contatto" + +#, fuzzy +#~ msgid "Formatting is not available so long as GPG is active" +#~ msgstr "Formattazione non disponibile quando GPG è attivo" + +#~ msgid "OpenPGP is not usable" +#~ msgstr "Non è possibile utilizzare OpenPGP" + +#, fuzzy +#~ msgid "" +#~ "Gajim needs python-gnupg >= 0.3.8\n" +#~ "Beware there is an incompatible Python package called gnupg.\n" +#~ "You will be connected to %s without OpenPGP." +#~ msgstr "" +#~ "Gajim necessita di python-gnupg >= 0.3.8\n" +#~ "Attenzione al fatto che esiste un pacchetto python incompatibile di nome " +#~ "gnupg.\n" +#~ "Verrete connessi a %s senza OpenPGP." + +#~ msgid "Assign OpenPGP Key" +#~ msgstr "Assegna chiave OpenPGP" + +#~ msgid "Select a key to apply to the contact" +#~ msgstr "Seleziona una chiave da applicare al contatto" + +#~ msgid "" +#~ "You configured Gajim to use OpenPGP agent, but there is no OpenPGP agent " +#~ "running or it returned a wrong passphrase.\n" +#~ msgstr "" +#~ "Gajim è stato configurato per usare un agente OpenPGP, ma non c'è nessun " +#~ "agente OpenPGP in esecuzione oppure ha restituito un passphrase errata.\n" + +#~ msgid "You are currently connected without your OpenPGP key." +#~ msgstr "Sei connesso senza la chiave OpenPGP." + +#~ msgid "Wrong passphrase" +#~ msgstr "Passphrase non corretta" + +#, fuzzy +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "Frase di accesso errata" + +#~ msgid "Passphrase Required" +#~ msgstr "Frase di accesso richiesta" + +#~ msgid "" +#~ "Enter OpenPGP key passphrase for key %(keyid)s (account %(account)s)." +#~ msgstr "" +#~ "Inserire la frase di accesso della chiave OpenPGP %(keyid)s (account " +#~ "%(account)s)." + +#~ msgid "OpenPGP key expired" +#~ msgstr "Chiave OpenPGP scaduta" + +#~ msgid "" +#~ "Your OpenPGP key has expired, you will be connected to %s without OpenPGP." +#~ msgstr "" +#~ "La tua chiave OpenPGP è scaduta, verrai connesso a %s senza OpenPGP." + +#~ msgid "Wrong Passphrase" +#~ msgstr "Frase di accesso errata" + +#~ msgid "Please retype your OpenPGP passphrase or press Cancel." +#~ msgstr "" +#~ "Per piacere, reinserisci la frase di accesso per OpenPGP o premi Annulla." + +#~ msgid "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Invia un nuovo messaggio ad un membro della lista contatti. Sia la chiave " +#~ "OpenPGP che l'account sono opzionali. Se si vuole impostare solo " +#~ "'account', senza 'chiave OpenPGP', impostare 'chiave OpenPGP' a ''." + +#~ msgid "if specified, the message will be encrypted using this public key" +#~ msgstr "" +#~ "se specificato, il messaggio verrà cifrato usando questa chiave pubblica" + +#, fuzzy +#~ msgid "" +#~ "Sends a chat message to someone on your roster. Optionally with OpenPGP " +#~ "key and account. If you want to only set the latter, set OpenPGP key to " +#~ "\"\"." +#~ msgstr "" +#~ "Invia un nuovo messaggio ad un membro della lista contatti. Sia la chiave " +#~ "OpenPGP che l'account sono opzionali. Se si vuole impostare solo " +#~ "'account', senza 'chiave OpenPGP', impostare 'chiave OpenPGP' a ''." + +#~ msgid "" +#~ "If disabled, don't sign presences with GPG key, even if GPG is configured." +#~ msgstr "" +#~ "Se disabilitato, non firmare le presenze con la chiave GPG, anche se GPG " +#~ "è configurato." + +#, fuzzy +#~ msgid "OpenPGP:" +#~ msgstr "OpenPGP: " + +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "Assegna una chiave Open_PGP..." + +#, fuzzy +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "Cifratura del messaggio OpenPGP" + +#, fuzzy +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "Cifratura dei messaggi con le chiavi OpenPGP." + +#, fuzzy +#~ msgid "Requires: gpg and python-gnupg (%(url)s)" +#~ msgstr "Richiede gpg e python-gnupg (%(url)s)." + +#, fuzzy +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "Richiede gpg.exe in PATH." + +#, fuzzy +#~ msgid "Use PGP Agent" +#~ msgstr "Utilizza un agente G_PG" + +#, fuzzy +#~ msgid "OpenPGP Key" +#~ msgstr "Assegna chiave OpenPGP" + +#~ msgid "Cancel confirmation" +#~ msgstr "Annulla la conferma" + +#~ msgid "" +#~ "You are in process of executing command. Do you really want to cancel it?" +#~ msgstr "È in corso l'esecuzione di un comando. Vuoi davvero annullarla?" + +#~ msgid "Service sent malformed data" +#~ msgstr "Il servizio ha inviato dei dati corrotti" + +#~ msgid "Service changed the session identifier." +#~ msgstr "Il servizio ha cambiato l'identificatore della sessione." + +#~ msgid "%s - Ad-hoc Commands - Gajim" +#~ msgstr "%s - Comandi Ad-hoc - Gajim" + +#~ msgid "Service returned an error." +#~ msgstr "Il servizio ha riportato un errore." + +#~ msgid "You are invited to a groupchat" +#~ msgstr "Sei stato invitato ad un conversazione di gruppo" + +#, fuzzy +#~ msgid "" +#~ "Issued to:\n" +#~ "Common Name (CN): %(scn)s\n" +#~ "Organization (O): %(sorg)s\n" +#~ "Organizationl Unit (OU): %(sou)s\n" +#~ "Serial Number: %(sn)s\n" +#~ "\n" +#~ "Issued by:\n" +#~ "Common Name (CN): %(icn)s\n" +#~ "Organization (O): %(iorg)s\n" +#~ "Organizationl Unit (OU): %(iou)s\n" +#~ "\n" +#~ "Validity:\n" +#~ "Issued on: %(io)s\n" +#~ "Expires on: %(eo)s\n" +#~ "\n" +#~ "Fingerprint\n" +#~ "SHA-1 Fingerprint: %(sha1)s\n" +#~ "\n" +#~ "SHA-256 Fingerprint: %(sha256)s\n" +#~ msgstr "" +#~ "Emesso per:\n" +#~ "Nome comune (CN): %(scn)s\n" +#~ "Organizzazione (O): %(sorg)s\n" +#~ "Unità organizzativa (OU): %(sou)s\n" +#~ "Numero seriale: %(sn)s\n" +#~ "\n" +#~ "Emesso da:\n" +#~ "Nome comune (CN): %(icn)s\n" +#~ "Organizzazione (O): %(iorg)s\n" +#~ "Unità organizzativa (OU): %(iou)s\n" +#~ "\n" +#~ "Validità:\n" +#~ "Emesso il: %(io)s\n" +#~ "Scade il: %(eo)s\n" +#~ "\n" +#~ "Impronta digitale\n" +#~ "Impronta digitale SHA1: %(sha1)s\n" +#~ "\n" +#~ "Impronta digitale SHA256: %(sha256)s\n" + +#~ msgid "_Start Chat" +#~ msgstr "_Inizia una conversazione" + +#~ msgid "Au_thorize" +#~ msgstr "_Autorizza" + +#~ msgid "Really send file?" +#~ msgstr "Inviare davvero il file?" + +#~ msgid "You are currently connected to the server" +#~ msgstr "Sei attualmente connesso al server" + +#~ msgid "To disable the account, you must be disconnected." +#~ msgstr "Per disabilitare l'account è necessario disconnettersi." + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with %(jid)s?" +#~ msgstr "Vuoi davvero eliminare i registri di %(jid)s?" + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with the selected contacts?" +#~ msgstr "Vuoi davvero eliminare i registri dei contatti selezionati?" + +#~ msgid "This can not be undone." +#~ msgstr "Questa azione non può essere annullata." + +#~ msgid "What do you want to do?" +#~ msgstr "Cosa vuoi fare?" + +#~ msgid "" +#~ "List of colors, separated by \":\", that will be used to color nicknames " +#~ "in group chats." +#~ msgstr "" +#~ "Elenco di colori, separati da \":\", che saranno usati per colorare i " +#~ "soprannomi nelle conversazioni di gruppo." + +#~ msgid "You have received new entries (and %d not displayed):" +#~ msgid_plural "You have received new entries (and %d not displayed):" +#~ msgstr[0] "Hai ricevuto nuove voci (e %d non mostrate):" +#~ msgstr[1] "Hai ricevuto nuove voci (e %d non mostrate):" + +#~ msgid "Stopped" +#~ msgstr "Interrotto" + +#~ msgid "" +#~ "You are about to send your password on an insecure connection. You should " +#~ "install PyOpenSSL to prevent that. Are you sure you want to do that?" +#~ msgstr "" +#~ "Stai per inviare la tua password attraverso una connessione non sicura. " +#~ "Dovresti installare PyOpenSSL per evitarlo. Si è sicuri di volerlo fare?" + +#, fuzzy +#~ msgid "Status messages displayed in chat window" +#~ msgstr "Invia messaggio e chiudi la finestra" + +#~ msgid "?print_status:All" +#~ msgstr "?print_status:Tutti" + +#~ msgid "Enter and leave only" +#~ msgstr "Solo ingresso ed uscita" + +#~ msgid "?print_status:None" +#~ msgstr "?print_status:Nessuno" + +#, fuzzy +#~ msgid "Untrusted OpenPGP key" +#~ msgstr "Scegli la tua chiave OpenPGP" + +#~ msgid "" +#~ "The OpenPGP key used to encrypt this chat is not trusted. Do you really " +#~ "want to encrypt this message?" +#~ msgstr "" +#~ "La chiave OpenPGP usata per cifrare questa conversazione non è " +#~ "attendibile. Vuoi davvero cifrare questo messaggio?" + +#~ msgid "D-Bus python bindings are missing in this computer" +#~ msgstr "I binding python per D-Bus sono mancanti su questo computer" + +#~ msgid "D-Bus capabilities of Gajim cannot be used" +#~ msgstr "Le potenzialità D-Bus di Gajim non possono essere usate" + +#~ msgid "D-Bus does not run correctly on this machine" +#~ msgstr "D-Bus non funziona correttamente su questo computer" + +#~ msgid "D-Bus does not run correctly on this machine: system bus not present" +#~ msgstr "" +#~ "D-Bus non funziona correttamente su questo computer: bus di sistema non " +#~ "presente" + +#~ msgid "" +#~ "D-Bus does not run correctly on this machine: session bus not present" +#~ msgstr "" +#~ "D-Bus non funziona correttamente su questo computer: bus di sessione non " +#~ "presente" + +#, fuzzy +#~ msgid "Command line Control" +#~ msgstr "Linea di comando" + +#, fuzzy +#~ msgid "Enables you to control Gajim with via commandline" +#~ msgstr "Uno script per controllare Gajim tramite linea di comando." + +#~ msgid "Non Anonymous Server" +#~ msgstr "Server non anonimo" + +#~ msgid "" +#~ "When is self contact row displayed. Can be \"always\", " +#~ "\"when_other_resource\" or \"never\"" +#~ msgstr "" +#~ "Quando mostrare il proprio contatto nella lista contatti. Può essere " +#~ "\"always\", \"when_other_resource\" o \"never\"" + +#~ msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +#~ msgstr "%(nick)s è stato cacciato da %(who)s : %(reason)s" + +#~ msgid "%(nick)s has been banned by %(who)s: %(reason)s" +#~ msgstr "%(nick)s è stato bloccato da %(who)s : %(reason)s" + +#~ msgid "system shutdown" +#~ msgstr "spegnimento del sistema" + +#~ msgid "** Role of %(nick)s has been set to %(role)s" +#~ msgstr "** Il ruolo di %(nick)s è stato impostato a %(role)s" + +#~ msgid "%s has left" +#~ msgstr "%s se n'è andato" + +#~ msgid "%s is full" +#~ msgstr "%s è pieno" + +#, fuzzy +#~ msgid "" +#~ "Can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no " +#~ "longer print status line in groupchats when a member changes their status " +#~ "and/or their status message. If \"all\" Gajim will print all status " +#~ "messages. If \"in_and_out\", Gajim will only print FOO enters/leaves " +#~ "group chat." +#~ msgstr "" +#~ "Può essere \"none\", \"all\" o \"in_and_out\". Se \"none\", Gajim non " +#~ "scriverà più la riga di stato nelle conversazioni di gruppo quando un " +#~ "membro cambia il suo stato e/o il suo messaggio di stato. Se \"all\" " +#~ "Gajim scriverà tutti i messaggi di stato. Se \"in_and_out\", gajim " +#~ "scriverà solo quando qualcuno entra od esce dalla conversazione di gruppo." + +#, fuzzy +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "" +#~ "Mostra i _messaggi di stato dei contatti nell'elenco dei tuoi contatti" + +#~ msgid "" +#~ "Please copy / paste the refresh token from the website that has just been " +#~ "opened." +#~ msgstr "" +#~ "Copiare / incollare il token di aggiornamento dal sito web appena aperto." + +#~ msgid "Oauth2 Credentials" +#~ msgstr "Credenziali Oauth2" + +#~ msgid "" +#~ "You are about to send your password unencrypted on an insecure " +#~ "connection. Are you sure you want to do that?" +#~ msgstr "" +#~ "Stai per inviare la tua password non cifrata attraverso una connessione " +#~ "non sicura. Sei sicuro di volerlo fare?" + +#, fuzzy +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "Token più recente per autenticazione Oauth2." + +#, fuzzy +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "client_id per autenticazione Oauth2." + +#, fuzzy +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "redirect_url per autenticazione Oauth2." + +#~ msgid "" +#~ "Displayed chat state notifications in chat windows. Can be one of all, " +#~ "composing_only, disabled." +#~ msgstr "" +#~ "Le notifiche di stato mostrate nella finestra di conversazione. Possono " +#~ "essere una tra all, composing_only, disabled." + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." +#~ msgstr "" +#~ "Gajim può ricevere ed inviare meta-informazioni relative ad una " +#~ "conversazione con un contatto. Qui è possibile specificare quali stati di " +#~ "chat si vogliono visualizzare nella finestra di conversazione." + +#~ msgid "This is an irreversible operation." +#~ msgstr "Questa è un'operazione irreversibile." + +#~ msgid "Settings" +#~ msgstr "Impostazioni" + +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "Benvenuto nel gestore della cronologia di Gajim" + +#, fuzzy +#~ msgid "Toggle full / compact view" +#~ msgstr "Usare sempre la _vista compatta" + +#~ msgid "Member List" +#~ msgstr "Elenco dei membri" + +#~ msgid "Owner List" +#~ msgstr "Elenco dei proprietari" + +#~ msgid "Administrator List" +#~ msgstr "Elenco degli amministratori" + +#~ msgid "Nick" +#~ msgstr "Soprannome" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "Chi si vuole bloccare?\n" +#~ "\n" + +#~ msgid "Adding Member…" +#~ msgstr "Aggiunta di un membro..." + +#~ msgid "" +#~ "Whom do you want to make a member?\n" +#~ "\n" +#~ msgstr "" +#~ "Chi vuoi rendere membro?\n" +#~ "\n" + +#~ msgid "Adding Owner…" +#~ msgstr "Aggiunta proprietario..." + +#~ msgid "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" +#~ msgstr "" +#~ "Chi vuoi rendere proprietario?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Administrator…" +#~ msgstr "Aggiunta di un amministratore in corso..." + +#~ msgid "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" +#~ msgstr "" +#~ "Chi vuoi rendere amministratore?\n" +#~ "\n" + +#~ msgid "Error reading file:" +#~ msgstr "Errore durante la lettura del file:" + +#~ msgid "Error parsing file:" +#~ msgstr "Errore processando il file:" + +#~ msgid "List of possible features in Gajim:" +#~ msgstr "Lista delle funzionalità disponibili in Gajim:" + +#~ msgid "Description" +#~ msgstr "Descrizione" + +#~ msgid "Password encryption" +#~ msgstr "Password di cifratura" + +#~ msgid "On Windows the Windows Credential Vault is used." +#~ msgstr "Su Windows viene usato il portafoglio credenziali di Windows." + +#~ msgid "Spellchecking of composed messages." +#~ msgstr "Correzione ortografica dei messaggi." + +#~ msgid "Automatic status" +#~ msgstr "Stato automatico" + +#~ msgid "Requires python2.5." +#~ msgstr "Richiede python2.5." + +#~ msgid "" +#~ "Generate XHTML output from RST code (see http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Genera output XHTML a partire da codice RST (vedi http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)." + +#~ msgid "UPnP-IGD" +#~ msgstr "UPnP-IGD" + +#~ msgid "?features:Available" +#~ msgstr "?features:Disponibile" + +#~ msgid "Feature" +#~ msgstr "Funzionalità" + +#~ msgid "Filter:" +#~ msgstr "Filtro:" + +#~ msgid "Chat Appearance" +#~ msgstr "Aspetto della chat" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed out" +#~ msgstr "" +#~ "Gajim notificherà tramite popup nell'angolo in fondo a destra dello " +#~ "schermo quando un contatto si disconnette" + +#~ msgid "Sounds" +#~ msgstr "Suoni" + +#~ msgid "Chat state notifications" +#~ msgstr "Notifiche di stato delle conversazioni" + +#, fuzzy +#~ msgid "_Away after" +#~ msgstr "_Assente dopo:" + +#~ msgid "" +#~ "If checked, Gajim will change status to Away when the computer is unused." +#~ msgstr "" +#~ "Se marcato, Gajim cambierà lo stato in Assente quando il computer non è " +#~ "in uso." + +#, fuzzy +#~ msgid "_Not available after" +#~ msgstr "_Non disponibile dopo:" + +#~ msgid "Auto Status" +#~ msgstr "Stato automatico" + +#~ msgid "Status Messages" +#~ msgstr "Messaggi di stato" + +#~ msgid "Audio" +#~ msgstr "Audio" + +#~ msgid "Video" +#~ msgstr "Video" + +#, fuzzy +#~ msgid "(example: stun.iptel.org)" +#~ msgstr "(esempio: stunserver.org)" + +#~ msgid "Connection" +#~ msgstr "Connessione" + +#~ msgid "Custom" +#~ msgstr "Personalizzato" + +#~ msgid "Privacy" +#~ msgstr "Privacy" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "Editor di configurazione avanzata" + +#, fuzzy +#~ msgid "Audio / video conferences" +#~ msgstr "Audio / Video" + +#, fuzzy +#~ msgid "File transfer, room bookmarks" +#~ msgstr "Errore durante il trasferimento del file" + +#, fuzzy +#~ msgid "XML console interface" +#~ msgstr "Console XML" + +#~ msgid "" +#~ "A programming error has been detected. It probably is not fatal, but " +#~ "should be reported to the developers nonetheless." +#~ msgstr "" +#~ "È stato rilevato un errore di programmazione. Probabilmente non è fatale, " +#~ "ma dovrebbe comunque essere segnalato in ogni caso agli sviluppatori." + +#~ msgid "" +#~ "A list of modp groups to use in a Diffie-Hellman, highest preference " +#~ "first, separated by commas. Valid groups are 1, 2, 5, 14, 15, 16, 17 and " +#~ "18. Higher numbers are more secure, but take longer to calculate when you " +#~ "start a session." +#~ msgstr "" +#~ "Elenco di gruppi di modp da usare in Diffie-Hellman, in ordine di " +#~ "preferenza decrescente, separati da virgole. Dei gruppi validi sono 1, 2, " +#~ "5, 14, 15, 16, 17 e 18. Dei numeri più alti sono più sicuri, ma " +#~ "richiedono più tempo di elaborazione ad inizio sessione." + +#~ msgid "(ESession info)" +#~ msgstr "(info ESession)" + +#~ msgid "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" +#~ msgstr "" +#~ "Se marcato, Gajim sostituirà gli smiley ASCII come ':)' con gli " +#~ "equivalenti emoticon grafici animati o statici" + +#, fuzzy +#~ msgid "_Emoticons" +#~ msgstr "_Emoticon:" + +#~ msgid "_Highlight misspelled words" +#~ msgstr "_Evidenzia le parole errate" + +#, fuzzy +#~ msgid "Notify by icon when your messages are received" +#~ msgstr "Mostra un'icona quando i tuoi messaggi vengono ricevuti" + +#, fuzzy +#~ msgid "T_heme" +#~ msgstr "T_ema:" + +#~ msgid "Themes" +#~ msgstr "Temi" + +#~ msgid "Always use this nickname when there is a conflict" +#~ msgstr "Usa sempre questo soprannome quando c'è un conflitto" + +#~ msgid "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." +#~ msgstr "" +#~ "Jabberd1.4 non vuole informazioni SHA quando ci si unisce ad una stanza " +#~ "protetta da password. Impostare a Falso per smettere di inviare " +#~ "informazioni SHA nella presenza sulle conversazioni di gruppo." + +#, fuzzy +#~ msgid "Presence" +#~ msgstr "_Presenza" + +#~ msgid "Emoticons disabled" +#~ msgstr "Emoticon disabilitate" + +#, fuzzy +#~ msgid "" +#~ "Your configured emoticons theme could not be loaded. See the log for more " +#~ "details." +#~ msgstr "" +#~ "Il tema configurato per gli emoticon non è stato trovato, quindi gli " +#~ "emoticon sono stati disabilitati." + +#~ msgid "You cannot make changes to the default theme" +#~ msgstr "Non è possibile modificare il tema di default" + +#~ msgid "theme name" +#~ msgstr "nome del tema" + +#~ msgid "You cannot delete your current theme" +#~ msgstr "Non è possibile eliminare il tema corrente" + +#~ msgid "New Single Message from %(nickname)s" +#~ msgstr "Nuovo messaggio singolo da %(nickname)s" + +#~ msgid "New Private Message from group chat %s" +#~ msgstr "Nuovo messaggio privato dalla conversazione di gruppo %s" + +#~ msgid "%(nickname)s: %(message)s" +#~ msgstr "%(nickname)s: %(message)s" + +#~ msgid "Messaged by %(nickname)s" +#~ msgstr "Messaggio inviato da %(nickname)s" + +#~ msgid "Status message text color." +#~ msgstr "Colore del testo del messaggio di stato" + +#~ msgid "Incoming nickname font." +#~ msgstr "Carattere del soprannome in arrivo." + +#~ msgid "Outgoing nickname font." +#~ msgstr "Carattere del soprannome in uscita." + +#~ msgid "Status message text font." +#~ msgstr "Carattere del testo del messaggio di stato" + +#~ msgid "Background color of contacts when they just signed in." +#~ msgstr "Colore di sfondo dei contatti appena connessi." + +#~ msgid "Background color of contacts when they just signed out." +#~ msgstr "Colore di sfondo dei contatti appena disconnessi." + +#~ msgid "green" +#~ msgstr "green" + +#~ msgid "grocery" +#~ msgstr "grocery" + +#~ msgid "human" +#~ msgstr "human" + +#~ msgid "marine" +#~ msgstr "marine" + +#~ msgid "Contact row" +#~ msgstr "Riga del contatto" + +#~ msgid "Chat Banner" +#~ msgstr "Banner della conversazione" + +#~ msgid "Gajim Themes Customization" +#~ msgstr "Personalizzazione dei temi di Gajim" + +#~ msgid "Text _color:" +#~ msgstr "_Colore del testo:" + +#~ msgid "_Background:" +#~ msgstr "_Sfondo:" + +#~ msgid "Text _font:" +#~ msgstr "Carattere del _testo:" + +#~ msgid "Font style:" +#~ msgstr "Stile carattere:" + +#~ msgid "Paused" +#~ msgstr "In pausa" + +#~ msgid "Gone" +#~ msgstr "Andato/a via" + +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "" +#~ "Messaggi di una\n" +#~ "conversazione di gruppo" + +#~ msgid "Chatstate Tab Colors" +#~ msgstr "Colori per l'attività delle schede" + +#, fuzzy +#~ msgid "Chat message" +#~ msgstr "Messaggio delle conversazioni:" + +#~ msgid "Use system _default" +#~ msgstr "Usa il _predefinito di sistema" + +#~ msgid "Font" +#~ msgstr "Carattere" + +#, fuzzy +#~ msgid "Contact's nickname" +#~ msgstr "Soprannome del contatto:" + +#, fuzzy +#~ msgid "_Status message" +#~ msgstr "Messaggio di _stato:" + +#, fuzzy +#~ msgid "Your message" +#~ msgstr "Il tuo messaggio:" + +#, fuzzy +#~ msgid "_URL highlight" +#~ msgstr "Evidenziatura dell'_URL:" + +#~ msgid "Chat Line Colors" +#~ msgstr "Colori per le linee della conversazione" + +#~ msgid "Jabber ID:" +#~ msgstr "ID Jabber:" + +#~ msgid "Resource:" +#~ msgstr "Risorsa:" + +#~ msgid "Status:" +#~ msgstr "Stato:" + +#~ msgid "Client:" +#~ msgstr "Client:" + +#~ msgid "Contact time:" +#~ msgstr "Orario del contatto:" + +#~ msgid "Ask:" +#~ msgstr "Chiedi:" + +#~ msgid "Subscription:" +#~ msgstr "Sottoscrizione:" + +#~ msgid "Name:" +#~ msgstr "Nome:" + +#~ msgid "Nickname:" +#~ msgstr "Soprannome:" + +#~ msgid "Street:" +#~ msgstr "Via:" + +#~ msgid "City:" +#~ msgstr "Città:" + +#~ msgid "State:" +#~ msgstr "Stato:" + +#~ msgid "Extra Address:" +#~ msgstr "Indirizzo aggiuntivo:" + +#~ msgid "Postal Code:" +#~ msgstr "Codice postale:" + +#~ msgid "Country:" +#~ msgstr "Paese:" + +#~ msgid "Homepage:" +#~ msgstr "Pagina iniziale:" + +#~ msgid "E-Mail:" +#~ msgstr "E-mail:" + +#~ msgid "Phone No.:" +#~ msgstr "Numero di telefono:" + +#~ msgid "Birthday:" +#~ msgstr "Compleanno:" + +#~ msgid "Family:" +#~ msgstr "Famiglia:" + +#~ msgid "Middle:" +#~ msgstr "Nome centrale:" + +#~ msgid "Prefix:" +#~ msgstr "Prefisso:" + +#~ msgid "Given:" +#~ msgstr "Dato:" + +#~ msgid "Suffix:" +#~ msgstr "Suffisso:" + +#~ msgid "Full Name" +#~ msgstr "Nome completo" + +#~ msgid "Company:" +#~ msgstr "Ditta:" + +#~ msgid "Department:" +#~ msgstr "Dipartimento:" + +#~ msgid "Position:" +#~ msgstr "Posizione:" + +#~ msgid "Role:" +#~ msgstr "Ruolo" + +#~ msgid "- messages will be logged" +#~ msgstr "- i messaggi verranno registrati" + +#~ msgid "- messages will not be logged" +#~ msgstr "- i messaggi non verranno registrati" + +#~ msgid "Edit %s" +#~ msgstr "Modifica %s" + +#~ msgid "Conversation History with %s" +#~ msgstr "Cronologia delle conversazioni con %s" + +#~ msgid "Contact with \"%s\" cannot be established" +#~ msgstr "Non si può contattare \"%s\"" + +#~ msgid "Registration information for transport %s has not arrived in time" +#~ msgstr "" +#~ "Le informazioni di registrazione per il transport %s non sono arrivate in " +#~ "tempo" + +#~ msgid "Register to" +#~ msgstr "Registra a" + +#, fuzzy +#~ msgid "Enter name / JID of contact or groupchat" +#~ msgstr "Inserire il JID o il nome del contatto" + +#~ msgid "Search:" +#~ msgstr "Cerca:" + +#~ msgid "_In date search" +#~ msgstr "Ricerca nella data" + +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "Senza una connessione, non è possibile cambiare la password." + +#~ msgid "Invalid password" +#~ msgstr "Password non valida" + +#~ msgid "The passwords typed in both fields must be identical." +#~ msgstr "Le password immesse nei due campi devono essere identiche." + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "Inseriscila nuovamente per conferma:" + +#~ msgid "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" +#~ msgstr "" +#~ "Il JID %s non rispetta la RFC. Non verrà aggiunto ai contatti. Usare " +#~ "strumenti di gestione dei contatti come http://jru.jabberstudio.org/ per " +#~ "rimuoverlo" + +#~ msgid "unsubscribe request from %s" +#~ msgstr "richiesta di cancellazione abbonamento da %s" + +#~ msgid "<empty>" +#~ msgstr "<vuoto>" + +#~ msgid "Homepage:" +#~ msgstr "Pagina iniziale:" + +#~ msgid "Manage Bookmarks" +#~ msgstr "Gestisci i segnalibri" + +#~ msgid "_Nickname:" +#~ msgstr "_Soprannome:" + +#~ msgid "Pr_int status:" +#~ msgstr "St_ampa lo stato:" + +#~ msgid "Add JID" +#~ msgstr "Aggiungi JID" + +#, fuzzy +#~ msgid "Preference:" +#~ msgstr "Preferenze" + +#, fuzzy +#~ msgid "Preference" +#~ msgstr "Preferenze" + +#~ msgid "JID:" +#~ msgstr "JID:" + +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "" +#~ "Inserire i dati del contatto che si vuole aggiungere al proprio account " +#~ "%s" + +#~ msgid "Please fill in the data of the contact you want to add" +#~ msgstr "Per piacere, inserisci i dati del contatto che vuoi aggiungere" + +#, fuzzy +#~ msgid "Recently" +#~ msgstr "Recentemente:" + +#~ msgid "Add New Contact" +#~ msgstr "Aggiungi un nuovo contatto" + +#~ msgid "_User ID:" +#~ msgstr "_ID utente:" + +#, fuzzy +#~ msgid "Type User ID" +#~ msgstr "ID utente:" + +#, fuzzy +#~ msgid "Type Nickname" +#~ msgstr "Soprannome" + +#~ msgid "Personal Information" +#~ msgstr "Informazioni personali" + +#~ msgid "Avatar:" +#~ msgstr "Avatar:" + +#~ msgid "Click to set your avatar" +#~ msgstr "Clicca per impostare il tuo avatar" + +#, fuzzy +#~ msgid "Remove Avatar" +#~ msgstr "Elimina il gruppo" + +#~ msgid "Not fetched because of invisible status" +#~ msgstr "Non ottenuto a causa di stato invisibile" + +#~ msgid "Please wait..." +#~ msgstr "Attendi, per paicere..." + +#~ msgid "" +#~ "When negotiating an encrypted session, should Gajim assume you want your " +#~ "messages to be logged?" +#~ msgstr "" +#~ "Durante la negoziazione di una sessione cifrata, Gajim deve abilitare la " +#~ "registrazione dei messaggi?" + +#~ msgid "Log _encrypted chat session" +#~ msgstr "Registra la sessione di conversazione cifrat_a" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will keep logs for encrypted messages. Please note that " +#~ "when using end-to-end encryption the remote party has to agree on " +#~ "logging, else the messages will not be logged." +#~ msgstr "" +#~ "Se marcato, Gajim salverà i messaggi cifrati nei log. Nota che con l'uso " +#~ "di cifratura E2E il contatto deve essere d'accordo sulla registrazione, " +#~ "altrimenti i messaggi non saranno salvati." + +#~ msgid "Yahoo! Address:" +#~ msgstr "Indirizzo Yahoo!:" + +#~ msgid "Forward unread messages" +#~ msgstr "Inoltra messaggi non letti" + +#~ msgid "All unread messages have been forwarded." +#~ msgstr "Tutti i messaggi non letti sono stati inoltrati." + +#~ msgid "Forward unread message then disconnect" +#~ msgstr "Inoltra messaggi non letti e disconnetti" + +#~ msgid "MSN Address:" +#~ msgstr "Indirizzo MSN:" + +#~ msgid "Confirm these session options" +#~ msgstr "Conferma queste opzioni di sessione" + +#~ msgid "" +#~ "The remote client wants to negotiate a session with these features:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Are these options acceptable?" +#~ msgstr "" +#~ "Il client remoto vuole negoziare una sessione con queste " +#~ "caratteristiche:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Queste opzioni sono accettabili?" + +#~ msgid "" +#~ "The remote client selected these options:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Continue with the session?" +#~ msgstr "" +#~ "Il client remoto ha selezionato queste opzioni:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Continuare la sessione?" + +#~ msgid "Always accept for this contact" +#~ msgstr "Accetta sempre per questo contatto" + +#~ msgid "End to End message encryption" +#~ msgstr "Cifratura end-to-end" + +#~ msgid "Encrypting chat messages." +#~ msgstr "Cifratura dei messaggi di chat." + +#~ msgid "Requires python-crypto." +#~ msgstr "Richiede python-crypto." + +#~ msgid "Session negotiation cancelled" +#~ msgstr "Negoziazione della sessione annullata" + +#~ msgid "This session WILL NOT be archived on server" +#~ msgstr "Questa sessione NON SARÀ registrata sul server" + +#~ msgid "This session is encrypted" +#~ msgstr "Questa sessione è cifrata" + +#~ msgid " and WILL be logged" +#~ msgstr " e SARÀ registrata" + +#~ msgid " and WILL NOT be logged" +#~ msgstr " e NON SARÀ registrata" + +#~ msgid "" +#~ "Remote contact's identity not verified. Click the shield button for more " +#~ "details." +#~ msgstr "" +#~ "Identità del contatto remoto non verificata. Clicca il pulsante a forma " +#~ "di scudo per maggiori dettagli." + +#, fuzzy +#~ msgid "end-to-end encryption disabled" +#~ msgstr "Cifratura OpenPGP disabilitata" + +#~ msgid "" +#~ "Unable to decrypt message from %s\n" +#~ "It may have been tampered with." +#~ msgstr "" +#~ "Impossibile decifrare il messaggio da %s\n" +#~ "Potrebbe essere stato manomesso." + +#~ msgid "Unable to decrypt message" +#~ msgstr "Non si è in grado di decifrare il messaggio" + +#~ msgid "Enable ESessions encryption for this account." +#~ msgstr "Abilita la cifratura ESessions per questo account." + +#~ msgid "Should Gajim automatically start an encrypted session when possible?" +#~ msgstr "" +#~ "Gajim dovrebbe avviare automaticamente una sessione cifrata quando " +#~ "possibile?" + +#~ msgid "" +#~ "[This is part of an encrypted session. If you see this message, something " +#~ "went wrong.]" +#~ msgstr "" +#~ "[Questo è parte di una sessione cifrata. Se vedi questo messaggio, " +#~ "qualcosa è andato storto.]" + +#~ msgid "Requires python-avahi." +#~ msgstr "Richiede python-avahi." + +#~ msgid "Save Image as…" +#~ msgstr "Salva immagine come..." + +#~ msgid "Exporting History Logs…" +#~ msgstr "Esportazione dei registri delle cronologie..." + +#~ msgid "Choose Client Cert #PCKS12" +#~ msgstr "Selezionare #PCKS12 del Certificato Cliente" + +#~ msgid "When %s becomes:" +#~ msgstr "Quando %s diventa:" + +#~ msgid "Adding Special Notification for %s" +#~ msgstr "Aggiunta di una notifica speciale per %s in corso" + +#~ msgid "" +#~ "It seems the SSL certificate of account %(account)s has changed and is " +#~ "not valid or your connection is being compromised.\n" +#~ "\n" +#~ "Old SHA-1 fingerprint: %(old_sha1)s\n" +#~ "Old SHA-256 fingerprint: %(old_sha256)s\n" +#~ "\n" +#~ "New SHA-1 fingerprint: %(new_sha1)s\n" +#~ "New SHA-256 fingerprint: %(new_sha256)s\n" +#~ "\n" +#~ "Do you still want to connect and update the fingerprint of the " +#~ "certificate?" +#~ msgstr "" +#~ "Sembra che il certificato SSL dell'account %(account)s è cambiato e non è " +#~ "valido oppure la tua connessione è stata compromessa.\n" +#~ "\n" +#~ "Vecchia impronta digitale SHA-1: %(old_sha1)s\n" +#~ "Vecchia impronta digitale SHA-256: %(old_sha256)s\n" +#~ "\n" +#~ "Nuova impronta digitale SHA-1: %(new_sha1)s\n" +#~ "Nuova impronta digitale SHA-256: %(new_sha256)s\n" +#~ "\n" +#~ "Procedere comunque con la connessione e aggiornare l'impronta digitale " +#~ "del certificato?" + +#~ msgid "" +#~ "The authenticity of the %s certificate could be invalid.\n" +#~ "The certificate does not cover this domain." +#~ msgstr "" +#~ "L'autenticità del certificato %s potrebbe non essere valida.\n" +#~ "Il certificato non copre questo dominio." + +#~ msgid "Unable to load idle module" +#~ msgstr "Impossibile caricare il modulo idle" + +#, fuzzy +#~ msgid "%s or %s is a directory but should be a file" +#~ msgstr "%s è una cartella ma dovrebbe essere un file" + +#~ msgid "creating logs database" +#~ msgstr "creazione del database dei registri in corso" + +#, fuzzy +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "Invia %s a %s" + +#, fuzzy +#~ msgid "Rename account label" +#~ msgstr "Rinomina l'account" + +#~ msgid "" +#~ "Requires gpg and python-gnupg (http://code.google.com/p/python-gnupg/)." +#~ msgstr "" +#~ "Richiede gpg e python-gnupg (http://code.google.com/p/python-gnupg/)." + +#~ msgid "Add Contact..." +#~ msgstr "Aggiungi contatto..." + +#~ msgid "Send Single Message..." +#~ msgstr "Invia un messaggio singolo..." + +#~ msgid "We received an error: {}" +#~ msgstr "È stato ricevuto un errore: {}" + +#~ msgid "E2E encryption disabled" +#~ msgstr "Cifratura E2E disabilitata" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Aggiungi questo certificato alla lista dei certificati attendibili.\n" +#~ "Impronta digitale SHA1 del certificato:\n" +#~ "%(sha1)s\n" +#~ "Impronta digitale SHA256 del certificato:\n" +#~ "%(sha256)s" + +#~ msgid "uri" +#~ msgstr "uri" + +#~ msgid "" +#~ "Install /\n" +#~ "Upgrade" +#~ msgstr "" +#~ "Installa /\n" +#~ "Aggiorna" + +#, fuzzy +#~ msgid "Install/Upgrade" +#~ msgstr "Installato" + +#, fuzzy +#~ msgid "Install and Upgrade Plugins" +#~ msgstr "" +#~ "Installa /\n" +#~ "Aggiorna" + +#, fuzzy +#~ msgid "Plugins updates" +#~ msgstr "Plugin fallito" + +#~ msgid "Security error during download" +#~ msgstr "Errore di sicurezza durante lo scaricamento" + +#, fuzzy +#~ msgid "Error in download" +#~ msgstr "Errore di sicurezza durante lo scaricamento" + +#~ msgid "cyan" +#~ msgstr "cyan" + +#~ msgid "migrating logs database to indices" +#~ msgstr "Migrazione del database delle cronologie negli indici" + +#~ msgid "Send File..." +#~ msgstr "Invia file..." + +#, fuzzy +#~ msgid "HTTP File Upload not supported by your server" +#~ msgstr "Il supporto metacontatti non è supportato dal tuo server" + +#, fuzzy +#~ msgid "Jingle File Transfer" +#~ msgstr "Trasferimenti di file" + +#~ msgid "" +#~ "Your configured emoticons theme has not been found, so emoticons have " +#~ "been disabled." +#~ msgstr "" +#~ "Il tema configurato per gli emoticon non è stato trovato, quindi gli " +#~ "emoticon sono stati disabilitati." + +#~ msgid "Shows or hides the roster window" +#~ msgstr "Mostra o nascondi la finestra dei contatti" + +#~ msgid "Shows or hides the ipython window" +#~ msgstr "Mostra o nasconde la finestra di ipython" + +#~ msgid "XMPP account %s" +#~ msgstr "Account XMPP %s" + +#, fuzzy +#~ msgid "Exception" +#~ msgstr "descrizione" + +#~ msgid "" +#~ "someone@somewhere.com would like you to add some contacts " +#~ "in your roster." +#~ msgstr "" +#~ "qualcuno@da_qualche_parte.com vorrebbe che tu aggiungessi " +#~ "dei contatti al tuo elenco." + +#~ msgid "" +#~ "Ordered list (space separated) of connection type to try. Can contain " +#~ "tls, ssl or plain" +#~ msgstr "" +#~ "Elenco ordinato (separato da spazi) dei tipi di connessione da provare. " +#~ "Può contenere tls, ssl o plain" + +#~ msgid "_Actions" +#~ msgstr "_Azioni" + +#, fuzzy +#~ msgid "chat;messaging;im;jabber;xmpp;bonjour;voip;" +#~ msgstr "chat;messaging;im;jabber;xmpp;bonjour;voip" + +#~ msgid "UPower" +#~ msgstr "UPower" + +#~ msgid "Ability to disconnect properly just before suspending the machine." +#~ msgstr "" +#~ "Possibilità di disconnettersi correttamente poco prima della sospensione " +#~ "del computer." + +#~ msgid "Requires upower and python-dbus." +#~ msgstr "Richiede upower e python-dbus." + +#~ msgid "You are already in group chat %s" +#~ msgstr "Sei già nella stanza %s" + +#~ msgid "Join Group Chat with account %s" +#~ msgstr "Unisciti a una conversazione di gruppo con l'account %s" + +#~ msgid "" +#~ "You have to choose an account from which you want to join the groupchat." +#~ msgstr "" +#~ "Devi scegliere un account con cui vuoi unirti alla conversazione di gruppo" + +#, fuzzy +#~ msgid "Please enter the group chat JID as room@server." +#~ msgstr "" +#~ "Inserire l'ID Jabber della conversazione di gruppo nel formato " +#~ "stanza@server." + +#, fuzzy +#~ msgid "The group chat JID contains invalid characters." +#~ msgstr "" +#~ "Il JID della conversazione di gruppo contiene caratteri non permessi." + +#~ msgid "Start Chat with account %s" +#~ msgstr "Inizia una conversazione con l'account %s" + +#, fuzzy +#~ msgid "" +#~ "Fill in the nickname or the JID of the contact you would like\n" +#~ "to send a chat message to:" +#~ msgstr "" +#~ "Introdurre il soprannome o l'ID Jabber del contatto al quale si desidera\n" +#~ "inviare un messaggio di chat:" + +#, fuzzy +#~ msgid "Nickname / JID" +#~ msgstr "ID Jabber duplicato" + +#~ msgid "Unable to parse \"%s\"." +#~ msgstr "Impossibile processare \"%s\"." + +#~ msgid "Shows the chat dialog so that you can send messages to a contact" +#~ msgstr "" +#~ "Mostra la finestra di conversazione per mandare messaggi ad un contatto" + +#~ msgid "JID of the contact that you want to chat with" +#~ msgstr "JID del contatto con cui si vuole conversare" + +#~ msgid "message content. The account must be specified or \"\"" +#~ msgstr "" +#~ "contenuto del messaggio. L'account deve essere specificato oppure \"\"" + +#~ msgid "Adds contact to roster" +#~ msgstr "Aggiunge il contatto al tuo elenco" + +#~ msgid "jid" +#~ msgstr "jid" + +#~ msgid "Adds new contact to this account" +#~ msgstr "Aggiunge un nuovo contatto a questo account" + +#~ msgid "Opens 'Start Chat' dialog" +#~ msgstr "Apre la finestra di inizio conversazione" + +#~ msgid "Starts chat, using this account" +#~ msgstr "Inizia conversazione usando questo account" + +#, fuzzy +#~ msgid "Handle a xmpp:/ URI" +#~ msgstr "Gestisci un uri xmpp:/" + +#~ msgid "URI to handle" +#~ msgstr "URI da gestire" + +#~ msgid "Account in which you want to handle it" +#~ msgstr "Account nel quale deve essere gestito" + +#~ msgid "Message content" +#~ msgstr "Contenuto del messaggio" + +#~ msgid "Join a MUC room" +#~ msgstr "Entra in una stanza MUC" + +#~ msgid "Nickname to use" +#~ msgstr "Soprannome da usare" + +#~ msgid "Password to enter the room" +#~ msgstr "Password per entrare nella stanza" + +#~ msgid "Account from which you want to enter the room" +#~ msgstr "Account con il quale entrare nella stanza" + +#, fuzzy +#~ msgid "No URI given" +#~ msgstr "Nessun uri fornito" + +#, fuzzy +#~ msgid "Wrong URI" +#~ msgstr "URI errato" + +#~ msgid "Nickname:" +#~ msgstr "Soprannome:" + +#~ msgid "Server:" +#~ msgstr "Server:" + +#~ msgid "Join this room _automatically when I connect" +#~ msgstr "Entra _automaticamente in questa stanza alla connessione" + +#~ msgid "Bro_wse Rooms" +#~ msgstr "Esp_lora le stanze" + +#~ msgid "Join a group chat given by a jid, optionally using given nickname" +#~ msgstr "" +#~ "Entra in una conversazione di gruppo specificata da un JID, opzionalmente " +#~ "usando il soprannome fornito" + +#~ msgid "Requires libgtkspell and libenchant." +#~ msgstr "Richiede libgtkspell e libenchant." + +#, fuzzy +#~ msgid "Last MAM id we are syncronized with" +#~ msgstr "Ultima sincronizzazione con i log dal server." + +#, fuzzy +#~ msgid "Network-Watcher" +#~ msgstr "Network-manager" + +#~ msgid "Autodetection of network status." +#~ msgstr "Rilevamento automatico dello stato della rete." + +#, fuzzy +#~ msgid "Requires gnome-network-manager" +#~ msgstr "Richiede gnome-network-manager e python-dbus." + +#~ msgid "Feature not available, see Help->Features" +#~ msgstr "Funzionalità non disponibile, consulta Aiuto->Funzionalità" + +#~ msgid "Feature not supported by remote client" +#~ msgstr "Funzionalità non supportata dal client remoto" + +#~ msgid "This contact does not support file transfer." +#~ msgstr "Questo contatto non supporta il trasferimento dei file." + +#, fuzzy +#~ msgid "You need to know the real JID of the contact to send them a file." +#~ msgstr "" +#~ "È necessario conoscere il vero JID del contatto per inviare ad esso un " +#~ "file." + +#~ msgid "" +#~ "You have to install %s dictionary to use spellchecking, or choose another " +#~ "language by setting the speller_language option." +#~ msgstr "" +#~ "È necessario installare il dizionario %s per usare il controllo " +#~ "ortografico, o configurare un'altra lingua nelle opzioni speller_language" + +#~ msgid "Hides the buttons in chat windows." +#~ msgstr "Nascondi i pulsanti nella finestra di conversazione di gruppo." + +#~ msgid "Change the room's subject (Alt+T)" +#~ msgstr "Cambia l'argomento di questa stanza (Alt+T)" + +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "Aggiungi questa stanza ai segnalibri (Ctrl+B)" + +#~ msgid "Browse the chat history (Ctrl+H)" +#~ msgstr "Sfoglia la cronologia delle conversazioni (Ctrl+H)" + +#~ msgid "Show advanced functions (Alt+D)" +#~ msgstr "Mostra le funzioni avanzate (Alt+D)" + +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "Aggiungi questo contatto all'elenco dei tuoi contatti (Ctrl+D)" + +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "Invita dei contatti nella conversazione (Ctrl+G)" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Mostra il profilo del contatto (Ctrl+I)" + +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Mostra il profilo del contatto (Ctrl+I)" + +#~ msgid "Ma_ke message windows compact" +#~ msgstr "Rendi compatte le finestre dei _messaggi" + +#~ msgid "Hide all buttons in chat windows" +#~ msgstr "Nascondi tutti i pulsanti nelle finestre delle conversazioni" + +#~ msgid "Hide the chat buttons" +#~ msgstr "Nascondi i pulsanti della chat" + +#~ msgid "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." +#~ msgstr "" +#~ "Se Vero, Gajim chiederà un avatar ad ogni contatto che non aveva un " +#~ "avatar l'ultima volta o ne ha uno troppo vecchio in cache." + +#~ msgid "Disk Write Error" +#~ msgstr "Errore di scrittura su disco" + +#~ msgid "Set Custom _Avatar..." +#~ msgstr "Imposta un _avatar personalizzato..." + +#~ msgid "SSL certificate validation" +#~ msgstr "Validazione del certificato SSL" + +#~ msgid "" +#~ "A library used to validate server certificates to ensure a secure " +#~ "connection." +#~ msgstr "" +#~ "Una libreria usata per validare i certificati del server per assicurare " +#~ "una connessione sicura." + +#~ msgid "Requires python-pyopenssl > 0.12 and pyasn1." +#~ msgstr "Richiede python-pyopenssl > 0.12 e pyasn1." + +#~ msgid "?CLI:uri" +#~ msgstr "?CLI:uri" + +#~ msgid "?CLI:room" +#~ msgstr "?CLI:stanza" + +#~ msgid "?CLI:nick" +#~ msgstr "?CLI:nick" + +#~ msgid "?CLI:password" +#~ msgstr "?CLI:password" + +#, fuzzy +#~ msgid "Credential Options" +#~ msgstr "Credenziali Oauth2" + +#~ msgid "Use D-Bus and Notification-Daemon to show notifications" +#~ msgstr "Usa D-Bus e Notification-Daemon per mostrare le notifiche" + +#~ msgid "Notification" +#~ msgstr "Notifiche" + +#~ msgid "Passive popups notifying for new events." +#~ msgstr "Popup passivi che notificano nuovi eventi." + +#~ msgid "" +#~ "Requires python-notify or instead python-dbus in conjunction with " +#~ "notification-daemon." +#~ msgstr "Richiede python-notify, oppure python-dbus e notification-daemon." + +#~ msgid "Ignore" +#~ msgstr "Ignora" + +#~ msgid "_Open Gmail Inbox" +#~ msgstr "_Apri la posta ricevuta di Gmail" + +#~ msgid "Notify on new _GMail email" +#~ msgstr "Notifica le nuove e-mail su _Gmail" + +#~ msgid "" +#~ "If checked, Gajim will show a notification when a new e-mail is received " +#~ "via GMail" +#~ msgstr "" +#~ "Se marcato, Gajim mostrerà una notifica quando viene ricevuta una nuova e-" +#~ "mail tramite GMail" + +#~ msgid "Display _extra email details" +#~ msgstr "Mostra dei dettagli e-mail _aggiuntivi" + +#~ msgid "" +#~ "If checked, Gajim will also include information about the sender of new " +#~ "emails" +#~ msgstr "" +#~ "Se marcato, Gajim includerà anche informazioni riguardo al mittente delle " +#~ "nuove email" + +#~ msgid "GMail Options" +#~ msgstr "Opzioni di GMail" + +#, fuzzy +#~ msgid "12" +#~ msgstr "1" + +#, fuzzy +#~ msgid "20" +#~ msgstr "2" + +#~ msgid "Invited %s to %s" +#~ msgstr "Invitato %s a %s" + +#~ msgid "" +#~ "Specify the command to run when new mail arrives, e.g.: /usr/bin/getmail -" +#~ "q" +#~ msgstr "" +#~ "Specifica il comando da eseguire all'arrivo di una nuova mail, es.:/usr/" +#~ "bin/getmail -q" + +#~ msgid "GMail Email Received" +#~ msgstr "E-mail di GMail ricevuta" + +#, fuzzy +#~ msgid "New e-mail on %(gmail_mail_address)s" +#~ msgstr "Nuova e-mail su %(gmail_mail_address)s" + +#, fuzzy +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "C'è %d nuova conversazione nella tua e-mail" +#~ msgstr[1] "Ci sono %d nuove conversazioni nella tua e-mail" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "From: %(from_address)s\n" +#~ "Subject: %(subject)s\n" +#~ "%(snippet)s" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "Da: %(from_address)s\n" +#~ "Oggetto: %(subject)s\n" +#~ "%(snippet)s" + +#~ msgid "Resour_ce:" +#~ msgstr "_Risorsa: " + +#~ msgid "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" +#~ msgstr "" +#~ "La risorsa viene inviata al server Jabber per distinguere tra due o più " +#~ "client connessi allo stesso account. In questa maniera, è possibile " +#~ "connettersi allo stesso account con risorse 'Casa' e 'Lavoro' " +#~ "contemporaneamente. La risorsa con la priorità maggiore riceverà gli " +#~ "eventi. (vedi sotto)" + +#~ msgid "A_djust to status" +#~ msgstr "A_degua allo stato" + +#~ msgid "Priority will change automatically according to your status." +#~ msgstr "La priorità cambierà automaticamente in funzione del tuo stato." + +#~ msgid "Anonymous authentication" +#~ msgstr "Autenticazione anonima" + +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "La priorità si usa in Jabber per determinare chi riceve gli eventi dal " +#~ "server Jabber quando due o più client sono connessi usando lo stesso " +#~ "account; il client con la maggiore priorità riceverà gli eventi" + +#~ msgid "Synchronize contacts" +#~ msgstr "Sincronizza i contatti" + +#~ msgid "Click to request authorization to all contacts of another account" +#~ msgstr "" +#~ "Clicca per richiedere l'autorizzazione a tutti i contatti di un altro " +#~ "account" + +#~ msgid "Chan_ge Password" +#~ msgstr "_Cambia la password" + +#~ msgid "Administration operations" +#~ msgstr "Operazioni amministrative" + +#~ msgid "_Client Cert File:" +#~ msgstr "File del certificato del _client" + +#~ msgid "Browse..." +#~ msgstr "Sfoglia..." + +#~ msgid "Certificate is e_ncrypted" +#~ msgstr "Il certificato è ci_frato" + +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "" +#~ "Se marcato, Gajim, quando lanciato, si connetterà automaticamente a " +#~ "Jabber usando questo account" + +#, fuzzy +#~ msgid "Synchronize logs with server" +#~ msgstr "Sincronizza i contatti" + +#~ msgid "Synch_ronize account status with global status" +#~ msgstr "Sinc_ronizza lo stato dell'account con lo stato globale" + +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "Se marcato, ogni cambio allo stato globale (gestito dal menu a tendina " +#~ "sotto la finestra contatti) cambierà anche lo stato di questo account" + +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "Se marcato, Gajim annuncerà alcuni IP in più oltre a quello della " +#~ "macchina su cui viene eseguito, di modo che il trasferimento file abbia " +#~ "maggiori possibilità di funzionare correttamente." + +#~ msgid "Proxy" +#~ msgstr "Proxy" + +#~ msgid "" +#~ "Check this so Gajim will ask you before sending your password over an " +#~ "insecure connection." +#~ msgstr "" +#~ "Se marcato, Gajim chiederà conferma prima di inviare la tua password " +#~ "attraverso una connessione non sicura." + +#~ msgid "Send _keep-alive packets" +#~ msgstr "Invia dei pacchetti di _keep-alive" + +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "" +#~ "Se marcato, Gajim invierà dei pacchetti di keep-alive per prevenire il " +#~ "timeout che provoca una disconnessione" + +#~ msgid "Use cust_om hostname/port" +#~ msgstr "Usa nome host/porta personalizzati" + +#~ msgid "_Hostname: " +#~ msgstr "Nome dell'_host: " + +#~ msgid "_Port: " +#~ msgstr "_Porta:" + +#~ msgid "Choose _Key..." +#~ msgstr "Scegli la _chiave..." + +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "" +#~ "Se marcato, Gajim otterrà la password da un agente GPG come seahorse" + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#~ msgid "_Edit Personal Information..." +#~ msgstr "_Modifica le informazioni personali..." + +#~ msgid "Personal Information" +#~ msgstr "Informazioni personali" + +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "Co_nnetti all'avvio di Gajim" + +#~ msgid "Synchroni_ze account status with global status" +#~ msgstr "Sincroni_zza lo stato dell'account con lo stato globale" + +#~ msgid "Use cust_om port:" +#~ msgstr "Utilizza una porta personalizzata:" + +#~ msgid "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." +#~ msgstr "" +#~ "Se la porta predefinita usata per i messaggi in entrata non si adatta " +#~ "alle tue configurazioni puoi selezionarne un'altra qui.\n" +#~ "Potresti considerare di cambiare la configurazione del firewall" + +#~ msgid "OpenPGP is not usable on this computer" +#~ msgstr "Non è possibile usare OpenPGP su questo computer" + +#~ msgid "To change the account name, you must be disconnected." +#~ msgstr "Per cambiare nome account, è necessario disconnettersi." + +#~ msgid "To change the account name, you must read all pending events." +#~ msgstr "" +#~ "Per cambiare nome account, è necessario leggere tutti gli eventi in " +#~ "attesa." + +#~ msgid "Account Name Already Used" +#~ msgstr "Il nome dell'account è già in uso" + +#~ msgid "" +#~ "This name is already used by another of your accounts. Please choose " +#~ "another name." +#~ msgstr "" +#~ "Questo nome è già usato da un altro account. Scegliere un altro nome." + +#~ msgid "Account name cannot be empty." +#~ msgstr "Il nome dell'account non può essere vuoto." + +#~ msgid "Account name cannot contain spaces." +#~ msgstr "Il nome account non può contenere spazi." + +#~ msgid "Enter a new name for account %s" +#~ msgstr "Inserisci un nuovo nome per l'account %s" + +#, fuzzy +#~ msgid "A JID must be in the form \"user@servername\"." +#~ msgstr "Un ID Jabber deve essere nella forma \"utente@nomeserver\"." + +#~ msgid "No such account available" +#~ msgstr "Questo account non è disponibile" + +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "" +#~ "È necessario creare un nuovo account prima di poter modificare le " +#~ "informazioni personali." + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "" +#~ "Senza una connessione, non è possibile modificare le informazioni " +#~ "personali." + +#~ msgid "Your server can't save your personal information." +#~ msgstr "Il server non può salvare le informazioni personali." + +#~ msgid "Please rename or remove it before enabling link-local messaging." +#~ msgstr "" +#~ "Rinominalo o rimuovilo prima di abilitare la messaggistica sulla rete " +#~ "locale." + +#~ msgid "THANKS:" +#~ msgstr "GRAZIE:" + +#~ msgid "Could not write to %s. Session Management support will not work" +#~ msgstr "" +#~ "Non si è potuto scrivere su %s. Il supporto gestione sessioni non " +#~ "funzionerà" + +#~ msgid "Jabber Traffic" +#~ msgstr "Traffico di Jabber" + +#~ msgid "_Enable" +#~ msgstr "_Abilita" + +#~ msgid "Hide IN stanzas" +#~ msgstr "Nascondi IN stanza" + +#~ msgid "Hide OUT stanzas" +#~ msgstr "Nascondi OUT stanza" + +#~ msgid "Hide Presence stanzas" +#~ msgstr "Nascondi Presence stanza" + +#~ msgid "Hide IQ stanzas" +#~ msgstr "Nascondi IQ stanza" + +#~ msgid "Filter" +#~ msgstr "Filtro" + +#~ msgid "_IQ" +#~ msgstr "_IQ" + +#~ msgid "Info/Query" +#~ msgstr "Informazioni/Richiesta" + +#~ msgid "XML Input" +#~ msgstr "Inserimento XML" + +#~ msgid "XML Console for %s" +#~ msgstr "Console XML per %s" + +#, fuzzy +#~ msgid "Idle for:" +#~ msgstr "Inattivo per %s" + +#, fuzzy +#~ msgid "" +#~ "Request offline status messages from all contacts upon connecting. " +#~ "WARNING: This causes a lot of requests to be sent!" +#~ msgstr "" +#~ "Chiedere il messaggio di stato non in linea a tutti i contatti non in " +#~ "linea quando viene stabilita una connessione ad un account. ATTENZIONE: " +#~ "Questo provoca l'invio di molte richieste!" + +#~ msgid "Last status: %s" +#~ msgstr "Ultimo stato: %s" + +#~ msgid " since %s" +#~ msgstr " dalle %s" + +#~ msgid "since %s" +#~ msgstr "dalle %s" + +#~ msgid "Prefer" +#~ msgstr "Preferisci" + +#~ msgid "Concede" +#~ msgstr "Concedi" + +#~ msgid "Forbid" +#~ msgstr "Vieta" + +#~ msgid "Auto" +#~ msgstr "Automatico" + +#~ msgid "Method Auto" +#~ msgstr "Metodo automatico" + +#~ msgid "Method Local" +#~ msgstr "Metodo locale" + +#~ msgid "Method Manual" +#~ msgstr "Metodo manuale" + +#~ msgid "body" +#~ msgstr "corpo" + +#~ msgid "false" +#~ msgstr "falso" + +#~ msgid "stream" +#~ msgstr "flusso" + +#~ msgid "concede" +#~ msgstr "concedi" + +#~ msgid "forbid" +#~ msgstr "proibisci" + +#~ msgid "oppose" +#~ msgstr "opponi" + +#~ msgid "prefer" +#~ msgstr "preferisci" + +#~ msgid "otr" +#~ msgstr "otr" + +#~ msgid "save" +#~ msgstr "salva" + +#~ msgid "Last time we syncronized with logs from server." +#~ msgstr "Ultima sincronizzazione con i log dal server." + +#~ msgid "Invalid expire value" +#~ msgstr "Valore di scadenza non valido" + +#~ msgid "Expire must be a valid positive integer." +#~ msgstr "Scadenza deve essere un intero positivo valido." + +#~ msgid "There is an error with the form" +#~ msgstr "C'è un errore con il modulo" + +#~ msgid "There is an error" +#~ msgstr "C'è un errore" + +#~ msgid "How many minutes should last lines from previous conversation last." +#~ msgstr "" +#~ "Quanti minuti devono durare le ultime linee dalla conversazione " +#~ "precedente." + +#~ msgid "" +#~ "Your configured emoticons theme cannot been loaded. You maybe need to " +#~ "update the format of emoticons.py file. See http://trac.gajim.org/wiki/" +#~ "Emoticons for more details." +#~ msgstr "" +#~ "Il tema configurato per gli emoticon non può essere caricato. Forse è " +#~ "necessario aggiornare il formato del file emoticons.py. Leggi http://trac." +#~ "gajim.org/wiki/Emoticons per ulteriori dettagli." + +#~ msgid "You will be connected to %s without OpenPGP." +#~ msgstr "Ti connetterai a %s senza OpenPGP." + +#~ msgid "The following message was NOT encrypted" +#~ msgstr "Il seguente messaggio NON è stato cifrato" + +#~ msgid "Toggle Open_PGP Encryption" +#~ msgstr "Attiva/disattiva la cifratura Open_PGP" + +#~ msgid "Toggle End to End Encryption" +#~ msgstr "Attiva la cifratura End-to-End" + +#~ msgid "OpenPGP encryption enabled" +#~ msgstr "Cifratura OpenPGP abilitata" + +#~ msgid "No OpenPGP key assigned" +#~ msgstr "Nessuna chiave OpenPGP assegnata" + +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages with OpenPGP." +#~ msgstr "" +#~ "Nessuna chiave OpenPGP assegnata a questo contatto. Impossibile cifrare " +#~ "il messaggio con OpenPGP." + +#~ msgid "Session WILL be logged" +#~ msgstr "La sessione SARÀ registrata" + +#~ msgid "Session WILL NOT be logged" +#~ msgstr "La sessione NON SARÀ registrata" + +#~ msgid "is" +#~ msgstr "è" + +#~ msgid "is NOT" +#~ msgstr "NON è" + +#~ msgid "will" +#~ msgstr "sarà" + +#~ msgid "will NOT" +#~ msgstr "NON sarà" + +#~ msgid "The following message was encrypted" +#~ msgstr "Il seguente messaggio è stato cifrato" + +#~ msgid "Toggle the OpenPGP encryption" +#~ msgstr "Attiva cifratura OpenPGP" + +#~ msgid "" +#~ "Should Gajim automatically start an encrypted session with this contact " +#~ "when possible?" +#~ msgstr "" +#~ "Iniziare automaticamente una sessione cifrata con questo contatto quando " +#~ "possibile?" + +#~ msgid "Neither the remote presence is signed, nor a key was assigned." +#~ msgstr "La presenza remota non è né firmata, né ha una chiave assegnata." + +#~ msgid "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "" +#~ "La chiave (%s) del contatto non coincide con la chiave assegnata in Gajim." + +#~ msgid "[This message is *encrypted* (See :XEP:`27`]" +#~ msgstr "[Questo messaggio è *cifrato* (vedi :XEP:`27`]" + +#~ msgid "" +#~ "Your chat session with %(jid)s is encrypted.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "La tua sessione di chat con %(jid)s è cifrata.\n" +#~ "\n" +#~ "La Short Authentication String della sessione è %(sas)s." + +#~ msgid "You have already verified this contact's identity." +#~ msgstr "L'identità di questo contatto è già stata verificata." + +#~ msgid "Contact's identity verified" +#~ msgstr "Identità del contatto verificata" + +#~ msgid "" +#~ "To be certain that only the expected person can read your messages " +#~ "or send you messages, you need to verify their identity by clicking the " +#~ "button below." +#~ msgstr "" +#~ "Per essere sicuri che solo la persona prevista possa leggere i " +#~ "tuoi messaggi o inviarti messaggi, è necessario verificare la sua " +#~ "identità cliccando il pulsante sottostante." + +#~ msgid "Contact's identity NOT verified" +#~ msgstr "Identità del contatto NON verificata" + +#, fuzzy +#~ msgid "Verify…" +#~ msgstr "_Verifica" + +#~ msgid "Have you verified the contact's identity?" +#~ msgstr "Hai verificato l'identità del contatto?" + +#~ msgid "" +#~ "To prevent talking to an unknown person, you should speak to %(jid)s directly (in person or on the phone) and verify that they see the same " +#~ "Short Authentication String (SAS) as you.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "Per evitare di conversare con una persona sconosciuta, si dovrebbe " +#~ "contattare %(jid)s direttamente (di persona o al telefono) e " +#~ "verificare che abbia la tua stessa Short Authentication String (SAS).\n" +#~ "\n" +#~ "La Short Authentication String di questa sessione è %(sas)s." + +#~ msgid "Did you talk to the remote contact and verify the SAS?" +#~ msgstr "Hai parlato al contatto remoto e verificato il SAS?" + +#~ msgid "" +#~ "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "" +#~ "La chiave del contatto (%s) non coincide con quella assegnata in " +#~ "Gajim." + +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages." +#~ msgstr "" +#~ "Nessuna chiave OpenPGP è assegnata a questo contatto. Impossibile cifrare " +#~ "i messaggi." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP key is assigned to this contact, but you do not trust their " +#~ "key, so message cannot be encrypted. Use your OpenPGP client " +#~ "to trust their key." +#~ msgstr "" +#~ "Una chiave OpenPGP è assegnata al contatto, ma non è considerata " +#~ "attendibile, quindi il messaggio non può essere cifrato. Usare " +#~ "il proprio client OpenPGP per rendere attendibile questa chiave." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP Key is assigned to this contact, and you trust their key, so " +#~ "messages will be encrypted." +#~ msgstr "" +#~ "Una chiave OpenPGP è assegnata al contatto, ed è considerata attendibile, " +#~ "quindi i messaggi verranno cifrati." + +#~ msgid "" +#~ "This icon indicates that this message has not yet\n" +#~ "been received by the remote end. If this icon stays\n" +#~ "for a long time, it's likely the message got lost." +#~ msgstr "" +#~ "Questa icona indica che questo messaggio non è ancora\n" +#~ "stato ricevuto dall'altra estremità. Se questa icona permane\n" +#~ "per molto tempo, è probabile che il messaggio sia andato perduto." + +#~ msgid "" +#~ "If True, listen to D-Bus signals from NetworkManager and change the " +#~ "status of accounts (provided they do not have listen_to_network_manager " +#~ "set to False and they sync with global status) based upon the status of " +#~ "the network connection." +#~ msgstr "" +#~ "Se Vero, resta in ascolto di segnali D-Bus dal NetworkManager e cambia lo " +#~ "stato dell'account (a patto che listen_to_network_manager non sia False " +#~ "e che sia sincronizzato con lo stato globale) basandosi sullo stato della " +#~ "connessione di rete." + +#~ msgid "" +#~ "The database file (%s) cannot be read. Try to repair it or remove it (all " +#~ "history will be lost)." +#~ msgstr "" +#~ "Impossibile leggere il file database (%s). Provare a ripararlo oppure " +#~ "rimuoverlo (tutta la cronologia andrà persa)." + +#~ msgid "Database cannot be read." +#~ msgstr "Impossibile leggere il database." + +#~ msgid "A message from a non-valid JID arrived, it has been ignored." +#~ msgstr "Ricevuto un messaggio da un JID non valido, è stato ignorato." + +#~ msgid "Smooth scroll message in conversation window" +#~ msgstr "Scorrimento fluido dei messaggi nella finestra di continuazione" + +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "Modifica gli elenchi della _privacy..." + +#~ msgid "_Administrator" +#~ msgstr "_Amministratore" + +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "Invia un messaggio agli utenti attualmente connessi a questo server" + +#~ msgid "Sets Message of the Day" +#~ msgstr "Imposta il messaggio del giorno" + +#~ msgid "Updates Message of the Day" +#~ msgstr "Aggiorna il messaggio del giorno" + +#~ msgid "Deletes Message of the Day" +#~ msgstr "Elimina il messaggio del giorno" + +#~ msgid "Add _Contact..." +#~ msgstr "Aggiungi un _contatto..." + +#~ msgid "Profile, A_vatar" +#~ msgstr "Profilo, a_vatar" + +#~ msgid "P_lugins" +#~ msgstr "P_lugin" + +#~ msgid "File _Transfers" +#~ msgstr "_Trasferimenti di file" + +#~ msgid "Help online" +#~ msgstr "Aiuto online" + +#~ msgid "Frequently Asked Questions (online)" +#~ msgstr "Domande frequenti (online)" + +#~ msgid "Fea_tures" +#~ msgstr "Fun_zionalità" + +#~ msgid "to %s account" +#~ msgstr "all'account %s" + +#~ msgid "using %s account" +#~ msgstr "usando l'account %s" + +#~ msgid "of account %s" +#~ msgstr "dell'account %s" + +#~ msgid "for account %s" +#~ msgstr "per l'account %s" + +#~ msgid "" +#~ "By removing this contact you also remove authorization resulting in him " +#~ "or her always seeing you as offline." +#~ msgstr "" +#~ "Eliminando questo contatto ne verrà rimossa anche l'autorizzazione. " +#~ "Questi ti vedrà sempre non in linea." + +#~ msgid "Message Body xmpp.org/getting-started" +msgstr "" +"xmpp.org/getting-started" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "サーバーの特徴の比較" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" +"conversations.im/compliance" + +#: gajim/data/gui/account_wizard.ui:646 +msgid "_Please choose a server" +msgstr "サーバーを選択してください (_P)" + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "匿名で登録" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "注意: 匿名アカウントはすべてのサーバーで可能というわけではありません" + +#: gajim/data/gui/application_menu.ui:8 +msgid "_Start / Join Chat…" +msgstr "チャットを開始… (_S)" + +#: gajim/data/gui/application_menu.ui:13 +msgid "Create _Group Chat…" +msgstr "談話室を作成… (_G)" + +#: gajim/data/gui/application_menu.ui:18 +msgid "_History Manager" +msgstr "履歴管理 (_H)" + +#: gajim/data/gui/application_menu.ui:22 +msgid "Pl_ugins" +msgstr "プラグイン (_U)" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +msgid "_Preferences" +msgstr "設定 (_P)" + +#: gajim/data/gui/application_menu.ui:36 +msgid "_Accounts" +msgstr "アカウント (_A)" + +#: gajim/data/gui/application_menu.ui:39 +msgid "_View" +msgstr "表示 (_V)" + +#: gajim/data/gui/application_menu.ui:46 +msgid "Show _Offline Contacts" +msgstr "オフラインの相手先を表示 (_O)" + +#: gajim/data/gui/application_menu.ui:50 +msgid "Show _Active Contacts" +msgstr "アクティブな相手先のみ表示 (_A)" + +#: gajim/data/gui/application_menu.ui:54 +msgid "Show _Transports" +msgstr "中継先を表示 (_T)" + +#: gajim/data/gui/application_menu.ui:60 +msgid "_XML Console" +msgstr "XML コンソール (_X)" + +#: gajim/data/gui/application_menu.ui:64 +msgid "_File Transfer" +msgstr "ファイル転送 (_F)" + +#: gajim/data/gui/application_menu.ui:74 +msgid "_Help" +msgstr "ヘルプ (_H)" + +#: gajim/data/gui/application_menu.ui:77 +msgid "_Wiki (Online)" +msgstr "Wiki (オンライン) (_W)" + +#: gajim/data/gui/application_menu.ui:81 +msgid "FA_Q (Online)" +msgstr "FAQ (オンライン) (_Q)" + +#: gajim/data/gui/application_menu.ui:85 +msgid "_Keyboard Shortcuts" +msgstr "キーボードショートカット (_K)" + +#: gajim/data/gui/application_menu.ui:89 +msgid "_Features" +msgstr "特徴 (_F)" + +#: gajim/data/gui/application_menu.ui:93 +msgid "_About" +msgstr "概略 (_A)" + +#: gajim/data/gui/filetransfer_progress.ui:125 +msgid "Speed" +msgstr "速度" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "残り時間" + +# (Mako)ほかの項目との並びで、バランスを考えてあえてカッコでつけ加えている +#: gajim/data/gui/roster_item_exchange_window.ui:144 +msgid "OK" +msgstr "OK" + +#: gajim/data/gui/plugins_window.ui:55 +msgid "Install Plugin from ZIP-File" +msgstr "プラグインを ZIP ファイルからインストール" + +#: gajim/data/gui/plugins_window.ui:56 +msgid "Install from File…" +msgstr "ファイルからインストール…" + +#: gajim/data/gui/plugins_window.ui:70 +msgid "Uninstall Plugin" +msgstr "プラグインをアンインストール" + +#: gajim/data/gui/plugins_window.ui:116 +msgid "" +msgstr "<プラグイン名>" + +#: gajim/data/gui/plugins_window.ui:133 +msgid "Plugin Settings" +msgstr "プラグインの設定" + +#: gajim/data/gui/plugins_window.ui:215 +msgid "" +msgstr "<説明>" + +#: gajim/data/gui/plugins_window.ui:239 +msgid "Version" +msgstr "バージョン" + +#: gajim/data/gui/plugins_window.ui:271 +msgid "Authors" +msgstr "作者" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +msgid "Homepage" +msgstr "ホームページ" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "<なし>" + +#: gajim/data/gui/plugins_window.ui:349 +msgid "Installed" +msgstr "インストール済" + +#: gajim/data/gui/plugins_window.ui:363 +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "" +"プラグインの説明がここに表示されます。この文はプラグインウィンドウの初期化の" +"際に消去されます。" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +msgid "Synchronise contacts" +msgstr "相手先を合わせる" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "合わせたいアカウントを選択してください" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "公開か非公開か ?" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" +"非公開: 暗号化されたチャットをしない場合などには、非公開談話室を作成し" +"ます。参加するには招待が必要です。" + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "公開: アドレスを知っていれば誰でも参加できます。" + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +msgid "_Name" +msgstr "名前 (_N)" + +#: gajim/data/gui/groupchat_creation.ui:122 +msgid "_Description" +msgstr "説明 (_D)" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "公開 (_P)" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +msgid "_Address" +msgstr "アドレス (_A)" + +#: gajim/data/gui/groupchat_creation.ui:278 +msgid "_Account" +msgstr "アカウント (_A)" + +#: gajim/data/gui/profile.ui:33 +msgid "Contact Infos" +msgstr "相手先情報" + +#: gajim/data/gui/profile.ui:45 +msgid "Picture and Name" +msgstr "画像と名前" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "プロフィールを誰にでもまたは相手先のみに公表します。" + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "プロフィール画像を削除" + +#: gajim/data/gui/profile.ui:198 +msgid "Change your profile picture" +msgstr "プロフィールの画像を変更" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "ニックネームを入力してください。相手先にあなたの名前として表示されます。" + +#: gajim/data/gui/profile.ui:298 +msgid "Add Entry" +msgstr "エントリーを追加" + +#: gajim/data/gui/profile.ui:410 +msgid "Update" +msgstr "更新" + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "HTTP" + +#: gajim/data/gui/manage_proxies.ui:15 +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "SOCKS5" + +#: gajim/data/gui/manage_proxies.ui:65 +msgid "Add Proxy" +msgstr "プロキシを追加" + +#: gajim/data/gui/manage_proxies.ui:79 +msgid "Remove Proxy" +msgstr "プロキシの削除" + +#: gajim/data/gui/manage_proxies.ui:131 +msgid "Pass_word" +msgstr "パスワード (_W)" + +#: gajim/data/gui/manage_proxies.ui:156 +msgid "Use proxy auth_entication" +msgstr "プロキシの認証を使用する (_E)" + +#: gajim/data/gui/manage_proxies.ui:176 +msgid "_Username" +msgstr "ユーザー名 (_U)" + +#: gajim/data/gui/manage_proxies.ui:237 +msgid "_Host" +msgstr "ホスト名 (_H)" + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "ローカル jid:" + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "リソース:" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "在席状況:" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +msgid "_Store conversation history" +msgstr "会話の履歴を記録 (_S)" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +msgid "Contact" +msgstr "相手先" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +msgid "First Name:" +msgstr "名:" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +msgid "Last Name:" +msgstr "姓:" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +msgid "XMPP Address:" +msgstr "XMPP アドレス:" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "E-メール:" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +msgid "Personal" +msgstr "個人" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "在席状況 (_S)" + +#: gajim/data/gui/account_context_menu.ui:20 +msgid "_Personal Events" +msgstr "個人イベント (_P)" + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "相手先リストに追加...(_A)" + +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "サービスを探索 (_D)" + +#: gajim/data/gui/account_context_menu.ui:57 +msgid "_Execute Command..." +msgstr "コマンドを実行...(_E)" + +#: gajim/data/gui/account_context_menu.ui:65 +msgid "_View Server Info" +msgstr "サーバー情報を表示 (_V)" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" +"チャットを開始、談話室に参加または新しい談話室を広域に検索します。XMPP アドレ" +"スを入力することもできます。" + +#: gajim/data/gui/start_chat_dialog.ui:125 +msgid "Global Group Chat Search" +msgstr "全体的な談話室検索" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +msgid "_Back" +msgstr "戻る (_B)" + +#: gajim/data/gui/start_chat_dialog.ui:386 +msgid "Select Account" +msgstr "アカウントを選択" + +#: gajim/data/gui/start_chat_dialog.ui:477 +msgid "_Select" +msgstr "選択 (_S)" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" +"相手先が見つかりませんでした。\n" +"XMPP アドレスを入力できます" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +msgid "Configure" +msgstr "調整" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +msgid "Create new post" +msgstr "新しい投稿を作成" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "状態 (_T)" + +#: gajim/data/gui/systray_context_menu.ui:20 +msgid "_Start Chat..." +msgstr "チャットを開始...(_S)" + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "単発メッセージを送信...(_M)" + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "すべての保留イベントの表示 (_E)" + +#: gajim/data/gui/systray_context_menu.ui:52 +msgid "Mute Sounds" +msgstr "サウンドのミュート" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +msgid "Contact List" +msgstr "相手先一覧" + +#: gajim/data/gui/shortcuts_window.ui:24 +msgid "Create new group chat" +msgstr "新しい談話室を作成" + +#: gajim/data/gui/shortcuts_window.ui:45 +msgid "File transfers" +msgstr "ファイル転送" + +#: gajim/data/gui/shortcuts_window.ui:52 +msgid "Set the status message" +msgstr "状況メッセージを設定" + +#: gajim/data/gui/shortcuts_window.ui:59 +msgid "Show XML console" +msgstr "XML コンソールを表示" + +#: gajim/data/gui/shortcuts_window.ui:74 +msgid "Appearance" +msgstr "外観" + +#: gajim/data/gui/shortcuts_window.ui:79 +msgid "Show offline contacts" +msgstr "オフラインの相手先を表示" + +#: gajim/data/gui/shortcuts_window.ui:86 +msgid "Show only active contacts" +msgstr "アクティブな相手先のみ表示" + +#: gajim/data/gui/shortcuts_window.ui:93 +msgid "Enable contact list filtering" +msgstr "相手先一覧を絞り込み" + +#: gajim/data/gui/shortcuts_window.ui:100 +msgid "Show / hide contact list" +msgstr "相手先一覧を表示/非表示" + +#: gajim/data/gui/shortcuts_window.ui:113 +msgid "Contact information" +msgstr "相手先の情報" + +#: gajim/data/gui/shortcuts_window.ui:120 +msgid "Rename contact" +msgstr "相手先の名前を変更" + +#: gajim/data/gui/shortcuts_window.ui:127 +msgid "Delete contact" +msgstr "相手先を削除" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +msgid "Chat" +msgstr "チャット" + +#: gajim/data/gui/shortcuts_window.ui:142 +msgid "Message composition" +msgstr "メッセージ作成" + +#: gajim/data/gui/shortcuts_window.ui:147 +msgid "Send the message" +msgstr "メッセージを送信" + +#: gajim/data/gui/shortcuts_window.ui:154 +msgid "Add new line" +msgstr "改行を追加" + +#: gajim/data/gui/shortcuts_window.ui:161 +msgid "Select an emoji" +msgstr "絵文字を選択" + +#: gajim/data/gui/shortcuts_window.ui:168 +msgid "Complete a command or a nickname" +msgstr "コマンドやニックネームを補完" + +#: gajim/data/gui/shortcuts_window.ui:175 +msgid "Previously sent message" +msgstr "前の送信済メッセージ" + +#: gajim/data/gui/shortcuts_window.ui:182 +msgid "Next sent messages" +msgstr "次の送信済メッセージ" + +#: gajim/data/gui/shortcuts_window.ui:189 +msgid "Quote previous message" +msgstr "前のメッセージを引用" + +#: gajim/data/gui/shortcuts_window.ui:196 +msgid "Quote next message" +msgstr "次のメッセージを引用" + +#: gajim/data/gui/shortcuts_window.ui:203 +msgid "Clear message entry" +msgstr "メッセージ入力欄を消去" + +#: gajim/data/gui/shortcuts_window.ui:211 +msgid "Recent history" +msgstr "最近の履歴" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "スクロールアップ" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "スクロールダウン" + +#: gajim/data/gui/shortcuts_window.ui:230 +msgid "Clear chat window" +msgstr "ウィンドウ内を消去" + +#: gajim/data/gui/shortcuts_window.ui:237 +msgid "Show chat history" +msgstr "会話の履歴を表示" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "タブ" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "前のタブへ切替" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "次のタブへ切替" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "1--9番目のタブへ切替" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "前の未読タブへ切替" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "次の未読タブへ切替" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "タブを左へ移動" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "タブを右へ移動" + +#: gajim/data/gui/shortcuts_window.ui:299 +msgid "Close chat" +msgstr "チャットを閉じる" + +#: gajim/data/gui/shortcuts_window.ui:312 +msgid "Change Nickname" +msgstr "ニックネームを変更" + +#: gajim/data/gui/chat_control.ui:48 +msgid "Drop files or contacts" +msgstr "ファイルまたは相手先をドロップ" + +#: gajim/data/gui/chat_control.ui:80 +msgid "1" +msgstr "1" + +#: gajim/data/gui/chat_control.ui:101 +msgid "2 abc" +msgstr "2 abc" + +#: gajim/data/gui/chat_control.ui:121 +msgid "3 def" +msgstr "3 def" + +#: gajim/data/gui/chat_control.ui:141 +msgid "4 ghi" +msgstr "4 ghi" + +#: gajim/data/gui/chat_control.ui:161 +msgid "5 jkl" +msgstr "5 jkl" + +#: gajim/data/gui/chat_control.ui:181 +msgid "6 mno" +msgstr "6 mno" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "7 pqrs" + +#: gajim/data/gui/chat_control.ui:221 +msgid "8 tuv" +msgstr "8 tuv" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "9 wxyz" + +#: gajim/data/gui/chat_control.ui:261 +msgid "*" +msgstr "*" + +#: gajim/data/gui/chat_control.ui:281 +msgid "0" +msgstr "0" + +#: gajim/data/gui/chat_control.ui:301 +msgid "#" +msgstr "#" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "最新のメッセージはモバイルクライアントで書かれました" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "マイクも" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "マイクとカメラ" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "通話を終了" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "チャットを開始 (_C)" + +#: gajim/data/gui/contact_context_menu.ui:28 +msgid "Send _File..." +msgstr "ファイルを送信...(_S)" + +#: gajim/data/gui/contact_context_menu.ui:44 +msgid "Invite _Contacts" +msgstr "相手先を招待 (_C)" + +#: gajim/data/gui/contact_context_menu.ui:58 +msgid "E_xecute Command..." +msgstr "コマンドを実行...(_X)" + +#: gajim/data/gui/contact_context_menu.ui:67 +msgid "M_anage Contact" +msgstr "相手先を管理 (_A)" + +#: gajim/data/gui/contact_context_menu.ui:77 +msgid "_Rename..." +msgstr "名前を変更...(_R)" + +#: gajim/data/gui/contact_context_menu.ui:84 +msgid "Edit _Groups..." +msgstr "グループを変更...(_G)" + +#: gajim/data/gui/contact_context_menu.ui:92 +msgid "Add Special _Notification..." +msgstr "特別な状態通知を追加する...(_N)" + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "在席通知の申し込み (_S)" + +#: gajim/data/gui/contact_context_menu.ui:115 +msgid "_Allow contact to see my status" +msgstr "この相手先に自分の在席状況を見ることを許可する (_A)" + +#: gajim/data/gui/contact_context_menu.ui:123 +msgid "A_sk to see contact status" +msgstr "相手先の在席状況を見ることを申し込む (_S)" + +#: gajim/data/gui/contact_context_menu.ui:131 +msgid "_Forbid contact to see my status" +msgstr "自分の在席状況を見られることを禁止する (_F)" + +#: gajim/data/gui/contact_context_menu.ui:159 +msgid "_Unignore" +msgstr "無視しない (_U)" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "無視 (_I)" + +#: gajim/data/gui/contact_context_menu.ui:174 +msgid "_Add to Contact List..." +msgstr "相手先一覧に追加...(_A)" + +# (Mako)subscription +#: gajim/data/gui/single_message_window.ui:42 +msgid "_To" +msgstr "宛先 (_T)" + +#: gajim/data/gui/single_message_window.ui:71 +msgid "Su_bject" +msgstr "題 (_B)" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "ここに題を入力してください…" + +# (Mako)あえて訳さない +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "メッセージ (_M)" + +#: gajim/data/gui/single_message_window.ui:144 +msgid "Characters typed: 0" +msgstr "入力文字数: 0" + +# (Mako)groups_post_window.ui は、メールの「差出人」に相当 +# helpers.pyは、 +# 相手先の情報で、subscriptionの有無なので、「こちらが承認」としたい +#: gajim/data/gui/single_message_window.ui:189 +msgid "_From" +msgstr "差出人 (_F)" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "送信 (_D)" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "メッセージを送信する" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "返信 (_R)" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "このメッセージへの返信" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "送信 & 閉じる (_S)" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "メッセージを送信してウィンドウを閉じます" + +#: gajim/data/gui/vcard_information_window.ui:106 +msgid "Client" +msgstr "クライアント" + +#: gajim/data/gui/vcard_information_window.ui:140 +msgid "Contact time" +msgstr "会話時間" + +#: gajim/data/gui/vcard_information_window.ui:240 +msgid "User avatar" +msgstr "ユーザーのアバター" + +#: gajim/data/gui/vcard_information_window.ui:255 +msgid "Configured avatar" +msgstr "設定したアバター" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +msgid "Ask" +msgstr "要求" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +msgid "Subscription" +msgstr "在席通知申込" + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +msgid "Extra Address" +msgstr "建物名など" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +msgid "Address" +msgstr "住所" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +msgid "E-Mail" +msgstr "E-メール" + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "書式: YYYY-MM-DD" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +msgid "Family" +msgstr "氏(名字)" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +msgid "Middle" +msgstr "Middle" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +msgid "Prefix" +msgstr "Prefix" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +msgid "Given" +msgstr "名" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +msgid "Suffix" +msgstr "Suffix" + +#: gajim/data/gui/vcard_information_window.ui:958 +msgid "Name Details" +msgstr "名前" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "ボタン" + +#: gajim/data/gui/vcard_information_window.ui:1017 +msgid "Personal Info" +msgstr "個人情報" + +#: gajim/data/gui/vcard_information_window.ui:1040 +msgid "Company" +msgstr "会社" + +#: gajim/data/gui/vcard_information_window.ui:1073 +msgid "Department" +msgstr "部署" + +#: gajim/data/gui/vcard_information_window.ui:1104 +msgid "Position" +msgstr "役職" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "役" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "概略" + +#: gajim/data/gui/vcard_information_window.ui:1514 +msgid "Comments" +msgstr "備考" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "グループを編集" + +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "パスフレーズ" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "変更したい設定を追加してください" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +msgid "Themes" +msgstr "テーマ" + +#: gajim/data/gui/themes_window.ui:171 +msgid "Add Setting" +msgstr "設定を追加" + +#: gajim/data/gui/themes_window.ui:204 +msgid "Add new Theme" +msgstr "新しいテーマを追加" + +#: gajim/data/gui/themes_window.ui:219 +msgid "Remove Theme" +msgstr "テーマを削除" + +#: gajim/data/gui/bookmarks.ui:120 +msgid "Autojoin" +msgstr "自動参加" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "適用 (_A)" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "ウィンドウとタブの挙動" + +#: gajim/data/gui/preferences.ui:68 +msgid "Contact List Appearance" +msgstr "相手先一覧の外観" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +msgid "Chats" +msgstr "チャット" + +#: gajim/data/gui/preferences.ui:215 +msgid "Visual Notifications" +msgstr "目への通知" + +#: gajim/data/gui/preferences.ui:243 +msgid "Sounds" +msgstr "サウンド" + +# (Mako)語順が難しい +#: gajim/data/gui/preferences.ui:303 +msgid "Ask For Status Message on…" +msgstr "状況メッセージを求めるのは…" + +#: gajim/data/gui/preferences.ui:331 +msgid "Automatic Status Change" +msgstr "在席状況の自動変更" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "絵文字" + +#: gajim/data/gui/preferences.ui:447 +msgid "Status Icon" +msgstr "状況アイコン" + +#: gajim/data/gui/preferences.ui:472 +msgid "Style" +msgstr "スタイル" + +#: gajim/data/gui/preferences.ui:511 +msgid "Show _Features" +msgstr "特徴を表示 (_U)" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "音声/ビデオの依存がありません" + +#: gajim/data/gui/preferences.ui:632 +msgid "Audio" +msgstr "音声" + +#: gajim/data/gui/preferences.ui:660 +msgid "Video" +msgstr "ビデオ" + +#: gajim/data/gui/preferences.ui:698 +msgid "Audio/Video" +msgstr "音声/ビデオ" + +#: gajim/data/gui/preferences.ui:735 +msgid "Miscellaneous" +msgstr "その他の設定" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "ヒントをリセット" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "導入時のヒントをリセットします" + +#: gajim/data/gui/preferences.ui:821 +msgid "Advanced Configuration Editor… " +msgstr "詳細設定エディタ (ACE)… " + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "これらのオプションの取扱には注意してください。" + +#: gajim/data/gui/server_info.ui:50 +msgid "Server Software" +msgstr "サーバーソフトウェア" + +#: gajim/data/gui/server_info.ui:80 +msgid "Server Uptime" +msgstr "サーバーの稼働時間" + +#: gajim/data/gui/server_info.ui:109 +msgid "Contact Addresses" +msgstr "連絡先アドレス" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "このサーバーで公開されている連絡先はありません。" + +#: gajim/data/gui/server_info.ui:177 +msgid "Proxy Type" +msgstr "プロキシの種類" + +#: gajim/data/gui/server_info.ui:192 +msgid "No proxy used" +msgstr "プロキシを使用しない" + +#: gajim/data/gui/server_info.ui:202 +msgid "View _Certificate" +msgstr "証明書を表示 (_C)" + +#: gajim/data/gui/server_info.ui:222 +msgid "Proxy Host" +msgstr "プロキシのホスト" + +#: gajim/data/gui/server_info.ui:421 +msgid "Copy info to clipboard" +msgstr "情報をクリップボードにコピー" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "一般名 (CN)" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "組織 (O)" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "部門 (OU)" + +#: gajim/data/gui/certificate_dialog.ui:153 +msgid "Serial Number" +msgstr "シリアル番号" + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "自" + +#: gajim/data/gui/certificate_dialog.ui:304 +msgid "Expires on" +msgstr "至" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "SHA-1" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "証明対象" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "証明者" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "有効期間" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "指紋" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "SHA-256" + +#: gajim/data/gui/certificate_dialog.ui:465 +msgid "Copy Certificate Information" +msgstr "証明書の情報をコピー" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "友だちを招待 !" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "" +"談話室に入ろうとしています。\n" +"招待する相手先を選択してください" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "カラム" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +msgid "Please select a group chat server." +msgstr "談話室のサーバーを選択してください。" + +#: gajim/data/gui/chat_to_muc_window.ui:141 +msgid "Group chat server" +msgstr "談話室のサーバー" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +msgid "In_vite" +msgstr "招待 (_V)" + +#: gajim/data/gui/mam_preferences.ui:53 +msgid "_Default" +msgstr "デフォルト (_D)" + +#: gajim/data/gui/mam_preferences.ui:136 +msgid "Archive" +msgstr "書庫" + +#: gajim/data/gui/history_manager.ui:11 +msgid "_Export" +msgstr "書き出し (_E)" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +msgid "Gajim History Logs Manager" +msgstr "Gajim 履歴記録管理" + +#: gajim/data/gui/history_manager.ui:104 +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" +"この履歴マネージャーはチャットの履歴を見るためのものではありません。そのよう" +"な機能のためには、かわりに履歴ウィンドウを使ってください。\n" +"\n" +"このプログラムは履歴の削除や書き出しのために使ってください。左の一覧から記録" +"を選択するか、または下の欄でデータベースを検索できます。" + +#: gajim/data/gui/history_manager.ui:120 +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" +"警告:\n" +"大幅な削除を考えているなら、Gajim が起動していないときに実行してください。一" +"般に、チャットしている最中の相手先の削除は避けてください。" + +#: gajim/data/gui/history_manager.ui:211 +msgid "Search database..." +msgstr "データベースを検索…" + +#: gajim/data/gui/history_manager.ui:226 +msgid "Search in database" +msgstr "データベースを検索" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" +"相手先がありません。\n" +"XMPP アドレスを入力できます。" + +#: gajim/data/gui/groupchat_invite.ui:69 +msgid "Invitees" +msgstr "招待者" + +#: gajim/data/gui/groupchat_invite.ui:153 +msgid "Search contacts..." +msgstr "相手先を検索…" + +#: gajim/data/gui/groupchat_invite.ui:223 +msgid "Click on contacts you would like to invite to this group chat." +msgstr "この談話室に招待したい相手先をクリックしてください。" + +#: gajim/data/gui/service_discovery_window.ui:148 +msgid "Go" +msgstr "移動" + +#: gajim/data/gui/status_change_window.ui:27 +msgid "Change Status" +msgstr "在席状況を変更する" + +#: gajim/data/gui/status_change_window.ui:56 +msgid "Status Presets…" +msgstr "状況の事前設定…" + +#: gajim/data/gui/status_change_window.ui:72 +msgid "Save this message as a preset" +msgstr "このメッセージを事前設定として保存します" + +#: gajim/data/gui/status_change_window.ui:130 +msgid "Ac_tivity" +msgstr "動向 (_T)" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "気分 (_O)" + +#: gajim/data/gui/status_change_window.ui:278 +msgid "_Change Status" +msgstr "在席状況を変更 (_C)" + +#: gajim/data/gui/status_change_window.ui:313 +msgid "Activity" +msgstr "動向" + +#: gajim/data/gui/status_change_window.ui:326 +msgid "_No Activity" +msgstr "動向なし (_N)" + +#: gajim/data/gui/status_change_window.ui:729 +msgid "Mood" +msgstr "気分" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "話題" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +msgid "Author" +msgstr "作者" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "議論の記録" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +msgid "Group Chat Language" +msgstr "談話室の言語" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +msgid "Copy Address" +msgstr "アドレスをコピー" + +#: gajim/data/gui/emoji_chooser.ui:98 +msgid "No Results Found" +msgstr "見つかりませんでした" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr "XML コンソール" + +#: gajim/data/gui/xml_console.ui:131 +msgid "Start Search..." +msgstr "検索を開始..." + +#: gajim/data/gui/xml_console.ui:260 +msgid "Clear" +msgstr "消去" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "最後の入力を貼り付け" + +# (Mako)あえて訳さない +#: gajim/data/gui/xml_console.ui:316 +msgid "Presets" +msgstr "Presets" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "同期: 相手先の選択" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +msgid "Select the contacts you want to synchronise" +msgstr "合わせたい相手先を選択してください" + +#: gajim/data/gui/groupchat_config.ui:51 +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" +"XMPP アドレス\n" +"<ユーザー@ドメイン/リソース> (リソースが合致する場合のみ)\n" +"<ユーザー@ドメイン> (リソースが何であれ合致)\n" +"<ドメイン/リソース> (リソースが合致する場合のみ)\n" +"<ドメイン> (ドメインの合致。どんな user@domain や domain/resource でも" +"可)\n" + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "管理人と主宰者だけが分掌を変更できます" + +#: gajim/data/gui/groupchat_config.ui:309 +msgid "Reserved Name" +msgstr "予約名" + +#: gajim/data/gui/groupchat_config.ui:346 +msgid "Affiliation" +msgstr "分掌" + +#: gajim/data/gui/groupchat_config.ui:377 +msgid "Affiliations" +msgstr "分掌" + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "理由" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "追放者の一覧" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "拒否する (_D)" + +#: gajim/data/gui/subscription_request_window.ui:34 +msgid "_Block User" +msgstr "ユーザーを遮断 (_B)" + +#: gajim/data/gui/subscription_request_window.ui:49 +msgid "_Report as Spam" +msgstr "スパムとして報告 (_R)" + +#: gajim/data/gui/subscription_request_window.ui:212 +msgid "_Deny…" +msgstr "拒否… (_D)" + +#: gajim/data/gui/subscription_request_window.ui:225 +msgid "Ac_cept" +msgstr "承認する (_C)" + +#: gajim/data/gui/subscription_request_window.ui:230 +msgid "Allows the contact to see your online status" +msgstr "この相手先に自分の在席状況を見ることを許可する" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "想定外のことが起きました" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" +"Gajimでエラーが発生しました。レポートは以下のとおりです。\n" +"このバグを報告すると、これを修正するのに役立つかもしれません。" + +#: gajim/data/gui/exception_dialog.ui:115 +msgid "_Report Bug" +msgstr "バグを報告する (_R)" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "イベント" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "サウンドの選択" + +#: gajim/data/gui/manage_sounds.ui:97 +msgid "Clear Sound" +msgstr "サウンドを消去" + +#: gajim/data/gui/manage_sounds.ui:118 +msgid "Play Sound" +msgstr "サウンドを鳴らす" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +msgid "_Send Files" +msgstr "ファイルを送信 (_S)" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +msgid "Send" +msgstr "送信" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +msgid "Files to send" +msgstr "送信するファイル" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +msgid "Add Files" +msgstr "ファイルを追加" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +msgid "Remove Files" +msgstr "ファイルを削除" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +msgid "Idle since:" +msgstr "操作のない状態(いつから):" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +msgid "Mood:" +msgstr "気分:" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +msgid "Activity:" +msgstr "動向:" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +msgid "Tune:" +msgstr "楽曲:" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +msgid "Location:" +msgstr "位置:" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +msgid "Subscription:" +msgstr "在席通知の承認:" + +#: gajim/data/gui/advanced_configuration.ui:15 +msgid "A restart may be required for some settings to take effect" +msgstr "設定を有効にするには再起動が必要です" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "検索する語を入力してください…" + +#: gajim/data/gui/advanced_configuration.ui:120 +msgid "_Reset Value" +msgstr "値をリセット (_R)" + +#: gajim/data/gui/advanced_configuration.ui:125 +msgid "Resets value to default" +msgstr "値をデフォルトに戻します" + +#: gajim/data/gui/history_window.ui:27 +msgid "Display status changes" +msgstr "状況変更を表示" + +#: gajim/data/gui/history_window.ui:57 +msgid "History Manager" +msgstr "履歴管理" + +#: gajim/data/gui/history_window.ui:233 +msgid "Mode" +msgstr "モード" + +#: gajim/data/gui/history_window.ui:246 +msgid "Search complete history" +msgstr "全履歴を検索" + +#: gajim/data/gui/history_window.ui:263 +msgid "Search selected day only" +msgstr "選択した日の中だけでの検索" + +#: gajim/data/gui/history_window.ui:317 +msgid "Store history for this chat" +msgstr "このチャットの履歴を記録" + +#: gajim/data/gui/history_window.ui:332 +msgid "Store History" +msgstr "履歴を記録" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +#, fuzzy +msgid "Identified Error" +msgstr "SSL 証明書エラー" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +msgid "" +msgstr "<エラー>" + +#: gajim/data/gui/ssl_error_dialog.ui:74 +msgid "Add this certificate to the list of _trusted certificates" +msgstr "この証明書を、信用された証明書一覧に加えます (_T)" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +msgid "_View Certificate" +msgstr "証明書を表示 (_V)" + +#: gajim/data/gui/ssl_error_dialog.ui:120 +msgid "_Connect" +msgstr "接続 (_C)" + +#: data/org.gajim.Gajim.desktop.in:5 +msgid "XMPP Chat Client" +msgstr "XMPP チャットクライアント" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "機能満載の XMPP チャットクライアント" + +#: data/org.gajim.Gajim.desktop.in:8 +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "chat;messaging;im;xmpp;bonjour;voip;" + +#: data/org.gajim.Gajim.desktop.in:27 +msgid "Show next pending event" +msgstr "次のの保留イベントを表示" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" +"Gajim は使いやすい機能満載の XMPP " +"クライアントとなることを目指しています。友人や家族とチャットはもちろん、画像を送ったりグループで議論したりもできます。" + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "OMEMO または OpenPGP での端末間暗号化による安全なチャット。" + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "Gajimは他のデバイスとよく連携します。モバイル端末でも会話が続きます。" + +#: data/org.gajim.Gajim.appdata.xml.in:17 +msgid "Features:" +msgstr "機能:" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "他のクライアントと同期し、メッセージを取りこぼしません" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "談話室への招待と参加" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "友人やグループへの画像・動画やその他のファイルの簡単な送信" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "OMEMO または OpenPGP での端末間暗号化による安全なチャット" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "お好みの絵文字の利用、プロフィール画像の設定" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "すべての会話記録の保存と管理" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "チャットウィンドウをタブでまとめ" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +msgid "Automatic spell-checking for your messages" +msgstr "入力メッセージの自動スペルチェック" + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "中継による他のメッセンジャー(Facebook, IRC, ...)への接続" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "チャットウィンドウから直接 Wikipedia や辞書その他の検索エンジンの利用" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "どうしているかを友人に知らせるため、動向・聴いている楽曲・気分を設定" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "複数アカウントに対応" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "一人の相手の複数の連絡先をグループ化(メタ相手先)" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "プロトコル層で何が起こったか確認できる XML コンソール" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "サーバーなしのメッセージング (bonjour / zeroconf)" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +msgid "Support for service discovery including nodes and search for users" +msgstr "ノードやユーザー検索などのサービス探索に対応" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "プラグインによる機能拡張" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +msgid "Contact list" +msgstr "相手先一覧" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "タブ化チャットウィンドウ" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +msgid "Group chat support" +msgstr "談話室に対応" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +msgid "Chat history" +msgstr "会話の履歴" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +msgid "Plugin manager" +msgstr "プラグイン管理" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +msgid "Gajim Team" +msgstr "Gajim チーム" + +#~ msgid "Chat Settings" +#~ msgstr "チャットの設定" + +#, python-format +#~ msgid "%i day" +#~ msgid_plural "%i days" +#~ msgstr[0] "%i日" +#~ msgstr[1] "%i日" + +#~ msgid "Composing only" +#~ msgstr "入力中のみ" + +#~ msgid "All chat states" +#~ msgstr "すべてのチャット状態" + +#~ msgid "None" +#~ msgstr "なし" + +#, python-format +#~ msgid "%s Status Message" +#~ msgstr "%s の状況メッセージ" + +#~ msgid "an audio and video" +#~ msgstr "音声とビデオ" + +#~ msgid "an audio" +#~ msgstr "音声" + +#~ msgid "a video" +#~ msgstr "ビデオ" + +#, python-format +#~ msgid "" +#~ "%(contact)s wants to start a %(type)s chat with you. Do you want to " +#~ "answer the call?" +#~ msgstr "" +#~ "%(contact)s さんは、%(type)s でチャットを始めようとしています。呼び出しに" +#~ "応じますか ?" + +#~ msgid "Could not load image" +#~ msgstr "画像を読み込めませんでした" + +#~ msgid "Error." +#~ msgstr "エラーです。" + +#, python-format +#~ msgid "%(type)s state : %(state)s, reason: %(reason)s" +#~ msgstr "%(type)s の状態: %(state)s 理由: %(reason)s" + +#~ msgid "No account available" +#~ msgstr "アカウントがありません" + +#~ msgid "You must create an account before you can chat with other contacts." +#~ msgstr "相手先とチャットを開始する前に、アカウントを作成してください。" + +#~ msgid "Metacontacts storage not supported by your server" +#~ msgstr "サーバーはメタ相手先の保存に対応していません" + +#~ msgid "" +#~ "Your server does not support storing metacontacts information. So this " +#~ "information will not be saved on next reconnection." +#~ msgstr "" +#~ "サーバーはメタ相手先の情報の保存に対応していません。したがってその情報は次" +#~ "の接続の際には失われています。" + +#, python-brace-format +#~ msgid "You are invited to {room} by {user}" +#~ msgstr "{user} さんより、{room} へ招待されました" + +#, python-format +#~ msgid "%s wants to start a voice chat." +#~ msgstr "%s さんがファイルを音声チャットを始めたがっています。" + +#~ msgid "Could not save your settings and preferences" +#~ msgstr "設定を保存できませんでした" + +#~ msgid "Could not request upload slot for HTTP File Upload" +#~ msgstr "HTTP ファイルアップロード枠を要求できませんでした" + +#~ msgid "Exception raised while trying to open file (see log)." +#~ msgstr "ファイルを開く際に例外が発生しました (ログを参照してください)。" + +#~ msgid "Not Secure" +#~ msgstr "安全ではない" + +#~ msgid "Could not Upload File" +#~ msgstr "ファイルをアップロードできませんでした" + +#, python-format +#~ msgid "HTTP response code from server: %s" +#~ msgstr "サーバーからの HTTP 応答コード: %s" + +#~ msgid "Upload Error" +#~ msgstr "アップロードエラー" + +#~ msgid "Encryption Error" +#~ msgstr "暗号化のエラー" + +#~ msgid "Lists all preferences and their values" +#~ msgstr "すべての設定項目とその値の一覧を表示します" + +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "項目 'key' の値に 'value' を設定します。" + +# (Mako)訳さずにそのままにしよう +#~ msgid "key=value" +#~ msgstr "key=value" + +#~ msgid "'key' is the name of the preference, 'value' is what to set it to" +#~ msgstr "'key' は設定項目の名前、'value' はそれに設定したい値" + +#~ msgid "Deletes a preference item" +#~ msgstr "設定項目を削除します" + +# (Mako)訳さずにそのままにしよう +#~ msgid "key" +#~ msgstr "key" + +#~ msgid "name of the preference to be deleted" +#~ msgstr "削除する設定項目の名前" + +#~ msgid "Writes the current state of Gajim preferences to the .config file" +#~ msgstr "Gajim の設定の現在の状態を .config ファイルに書き出します" + +#, python-format +#~ msgid "%s is a directory but should be a file" +#~ msgstr "%s はディレクトリです。ファイルでなければなりません" + +#, python-format +#~ msgid "Creating %s" +#~ msgstr "%s を作成中" + +#, python-format +#~ msgid "%(nickname)s Signed In" +#~ msgstr "%(nickname)s さんがサインインしました" + +#~ msgid "Contact Signed In" +#~ msgstr "相手先がサインインしました" + +#, python-format +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "%(nickname)s さんがサインアウトしました" + +#~ msgid "Contact Signed Out" +#~ msgstr "相手先がサインアウトしました" + +#~ msgid "" +#~ "Show desktop notification even when a chat window is opened for this " +#~ "contact and does not have focus." +#~ msgstr "" +#~ "この相手先のチャットウィンドウが開いていてフォーカスが当たっていない場合で" +#~ "もデスクトップ通知を表示します。" + +#~ msgid "default" +#~ msgstr "デフォルト" + +#~ msgid "" +#~ "Character to propose to add after desired nickname when nickname is " +#~ "already used in group chat." +#~ msgstr "" +#~ "談話室で、希望したニックネームが他の誰かに使われていた場合、希望したニック" +#~ "ネームの後ろにつけ加えられる文字。" + +#~ msgid "" +#~ "How many seconds to wait before trying to automatically rejoin a group " +#~ "chat you were disconnected from. Set to 0 to disable automatic rejoining." +#~ msgstr "" +#~ "切断されてから談話室に自動で再参加を試みるまでの待機時間 (単位は秒)。0 は" +#~ "再参加しません。" + +#~ msgid "If enabled, Gajim displays the avatar in the chat window." +#~ msgstr "有効の場合、チャットウィンドウにアバターを表示します。" + +#~ msgid "" +#~ "If enabled, Gajim will show affiliation of group chat participants by " +#~ "adding a colored square to the status icon." +#~ msgstr "" +#~ "有効の場合、Gajim は談話室の参加者の分掌をステータスアイコンに色付き四角を" +#~ "つけて表示します。" + +#~ msgid "Options in days which can be chosen in the sync threshold menu" +#~ msgstr "「同期の制限」メニューの、1日あたりの制限値の選択肢" + +#~ msgid "Selecting text will copy it to the clipboard" +#~ msgstr "選択したテキストはクリップボードにコピーされます" + +#~ msgid "" +#~ "Status to be used automatically when connecting. Can be 'online', 'chat', " +#~ "'away', 'xa' or 'dnd'. NOTE: This option is used only if " +#~ "'restore_last_status' is disabled." +#~ msgstr "" +#~ "自動接続の際に使われる在席状況。'online'(オンライン)、'chat'(チャット" +#~ "可)、'away'(離席中)、'xa'(不在)、'dnd'(取り込み中) のいずれか。注意: この" +#~ "オプションは 'restore_last_status' が無効のときのみ使われます。" + +#~ msgid "" +#~ "Show a warning dialog before sending password on an plaintext connection. " +#~ "Can be 'warn', or 'none'." +#~ msgstr "" +#~ "暗号化されない接続の場合、パスワードを送る前に警告のダイアログを表示しま" +#~ "す。'warn'(警告する)、または 'none'(警告しない)。" + +#~ msgid "List of SSL errors to ignore (space separated)." +#~ msgstr "無視する SSL エラーの一覧(スペースで区切る)。" + +#~ msgid "" +#~ "How many seconds to wait for the answer of a ping alive packet before " +#~ "trying to reconnect." +#~ msgstr "生存パケットを送ってから再接続を試みるまで待機する時間 (単位は秒)。" + +#~ msgid "I'm available." +#~ msgstr "在席しています。" + +#~ msgid "I'm free for chat." +#~ msgstr "チャットできます。" + +#~ msgid "Be right back." +#~ msgstr "すぐ戻ります。" + +#~ msgid "I'm not available." +#~ msgstr "不在です。" + +#~ msgid "Do not disturb." +#~ msgstr "邪魔しないでください。" + +#~ msgid "Bye!" +#~ msgstr "バイバイ !" + +#~ msgid "Timeout loading image" +#~ msgstr "画像の読み込みに失敗しました" + +#~ msgid "Image is too big" +#~ msgstr "画像が大きすぎます" + +#~ msgid "PyCURL is not installed" +#~ msgstr "pyCURL がインストールされていません" + +#~ msgid "Error loading image" +#~ msgstr "画像読み込みエラー" + +#~ msgid "Blocked Contacts" +#~ msgstr "遮断している相手先" + +#~ msgid "Join group chat every time Gajim is started" +#~ msgstr "Gajim 起動時にこの談話室に参加する" + +#~ msgid "Join Automatically" +#~ msgstr "自動で参加" + +#~ msgid "Group chat" +#~ msgstr "談話室" + +#~ msgid "Bookmark group chat" +#~ msgstr "この談話室をブックマークする" + +#~ msgid "Bookmark" +#~ msgstr "ブックマーク" + +#~ msgid "Recently used group chats" +#~ msgstr "最近使った談話室" + +#~ msgid "Search group chats on selected server" +#~ msgstr "選択したサーバーで談話室を検索" + +#~ msgid "Clear Avatar" +#~ msgstr "アバターを消去" + +#~ msgid "Set Avatar…" +#~ msgstr "アバターを設定…" + +#~ msgid "Main" +#~ msgstr "主要部" + +#~ msgid "Contact" +#~ msgstr "相手先" + +#~ msgid "_Leave Group Chat" +#~ msgstr "談話室から退出 (_L)" + +#~ msgid "Enter a new name for this group chat" +#~ msgstr "談話室の新しい名前を入力してください" + +#~ msgid "Use default applications" +#~ msgstr "デフォルトのアプリケーションを使う" + +#~ msgid "Custom" +#~ msgstr "カスタム" + +#~ msgid "Pop it up" +#~ msgstr "ポップアップする" + +#~ msgid "Notify me about it" +#~ msgstr "それについて通知する" + +#~ msgid "Show only in contact list" +#~ msgstr "相手先一覧にのみ表示" + +#~ msgid "No status messages" +#~ msgstr "状況メッセージがありません" + +#~ msgid "All status messages" +#~ msgstr "すべての状況メッセージ" + +#~ msgid "Only enter/leave messages" +#~ msgstr "入退室のメッセージのみ" + +#~ msgid "_Tabs placement" +#~ msgstr "タブの位置 (_T)" + +#~ msgid "" +#~ "If enabled, Gajim will quit when closing the contact list window instead " +#~ "of minimizing to the system's notification area" +#~ msgstr "" +#~ "有効の場合、相手先一覧ウィンドウが閉じられた際、システム通知エリアに最小化" +#~ "せずに、Gajim を終了します。" + +#~ msgid "Me_rge accounts" +#~ msgstr "アカウントを統合 (_R)" + +#~ msgid "Displays all your accounts merged into a single one" +#~ msgstr "すべてのアカウントを一つに統合して表示します" + +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "相手先一覧に相手先のアバターを表示する (_V)" + +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "" +#~ "チェックをつけると、Gajim は相手先一覧ウィンドウと談話室に相手先のアバター" +#~ "を表示します" + +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "相手先一覧に相手先の状況メッセージを表示する (_M)" + +#~ msgid "" +#~ "If checked, status messages of contacts will be shown under the contact's " +#~ "name, in the contact list window, and in group chats" +#~ msgstr "" +#~ "チェックをつけると、Gajim は相手先一覧ウィンドウと談話室の相手先名の下に状" +#~ "況メッセージを表示します" + +#~ msgid "" +#~ "Show e_xtra information of contacts in contact list (mood, activity, ...)" +#~ msgstr "相手先の詳細情報(気分、動向…)を相手先一覧に表示する (_X)" + +#~ msgid "" +#~ "If checked, additional info published by the contact will be shown in the " +#~ "contact list. Additional infos (published via PEP) may include e.g. mood, " +#~ "activity, tune, location, ..." +#~ msgstr "" +#~ "チェックをつけると、相手先が公表する詳細情報を相手先一覧に表示します。(PEP" +#~ "によって公表される)詳細情報とはたとえば気分、動向、楽曲、位置……です。" + +#~ msgid "in _contact list" +#~ msgstr "相手先一覧で (_C)" + +#~ msgid "in _group chats" +#~ msgstr "談話室で (_G)" + +#~ msgid "Enable auto copy" +#~ msgstr "自動コピーを有効化する" + +#~ msgid "" +#~ "If enabled, selected text will automatically be copied to the clipboard, " +#~ "otherwise you can copy text with CTRL + SHIFT + C" +#~ msgstr "" +#~ "有効の場合、選択したテキストは自動的にクリップボードにコピーされます。そう" +#~ "でない場合、CTRL + SHIFT + C でコピーできます。" + +#~ msgid "Enable spell _checking" +#~ msgstr "スペルチェックを有効化する (_C)" + +#~ msgid "" +#~ "If checked, spelling errors in input fields of chat windows will be " +#~ "highlighted. If no language is explicitly set via right click on the " +#~ "input field, the default language will be used for this contact or group " +#~ "chat. Needs gspell to be installed." +#~ msgstr "" +#~ "チェックをつけると、Gajim はチャットウィンドウの入力欄でスペルの間違いを強" +#~ "調して表示します。入力欄での右クリックで言語を明示的に指定できますが、それ" +#~ "がない場合は、この相手先や談話室にはデフォルトの言語が適用されます。" +#~ "gspell のインストールが必要です。" + +#~ msgid "" +#~ "If checked, a small checkmark will be shown after each message when it " +#~ "was received. Note that this is not supported by all clients and " +#~ "therefore could be misleading." +#~ msgstr "" +#~ "チェックをつけると、個々のメッセージの後に、それが受け取られた際に小さな" +#~ "チェックマークを付けます。ただし、すべてのクライアントがこれに対応している" +#~ "わけではなく、そのため誤解を生じることがあることに注意してください。" + +#~ msgid "Display status messages in _single chats" +#~ msgstr "1対1チャットで相手先の状況メッセージを表示する (_S)" + +#~ msgid "" +#~ "If checked, status lines will be shown in 1 on 1 chats when a contact " +#~ "changes their status or status message" +#~ msgstr "" +#~ "チェックをつけると、相手先が在席状況や状況メッセージを変更した際、1対1" +#~ "チャットに在席状況を表示します" + +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "談話室に参加したとき、題を表示する (_J)" + +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "チェックをつけると、談話室に参加する際に題を表示します" + +#~ msgid "Show join/leave (Default)" +#~ msgstr "入室/退室を表示 (デフォルト)" + +#~ msgid "" +#~ "If join/leave status messages are shown in the group chat. This setting " +#~ "can be overridden in the group chat menu." +#~ msgstr "" +#~ "談話室で入室/退室メッセージを表示するか。この設定は談話室メニューで上書き" +#~ "されることがあります。" + +#~ msgid "" +#~ "The default sync threshold for new public group chats. This setting can " +#~ "be overridden in the group chat menu." +#~ msgstr "" +#~ "新しい談話室での同期の制限のデフォルト値。この設定は談話室メニューで上書き" +#~ "されることがあります。" + +#~ msgid "Show status changes (Default)" +#~ msgstr "状況変更を表示 (デフォルト)" + +#~ msgid "" +#~ "If status change messages are shown in the group chat. This setting can " +#~ "be overridden in the group chat menu." +#~ msgstr "" +#~ "談話室で状況変更メッセージを表示するか。この設定は談話室メニューで上書きさ" +#~ "れることがあります。" + +#~ msgid "" +#~ "If checked, the tab will be colored according to the current chatstate of " +#~ "the contact" +#~ msgstr "" +#~ "チェックをつけると、相手先の現在のチャット状態に応じてタブに色を付けます" + +#~ msgid "" +#~ "If checked, the contact row will be colored according to the current " +#~ "chatstate of the contact" +#~ msgstr "" +#~ "チェックをつけると、相手先の現在のチャット状態に応じて、相手先の行に色を付" +#~ "けます" + +#~ msgid "" +#~ "If checked, a description of the contacts current chatstate is shown in " +#~ "the banner" +#~ msgstr "" +#~ "チェックをつけると、相手先の現在のチャット状態の説明をバナーに表示します" + +# 起動時に名簿を表示するか +#~ msgid "Chatstate" +#~ msgstr "チャット状態" + +#~ msgid "_When new event is received" +#~ msgstr "新しいイベントを受信したとき (_W)" + +#~ msgid "Show popups/notifications when a chat window is already _open" +#~ msgstr "" +#~ "チャットウィンドウが開いているときでも、ポップアップや通知を表示する" + +#~ msgid "Allow popups/notifications when I'm _away, not available or busy" +#~ msgstr "離席中/不在/取り込み中のとき、ポップアップや通知を許可する (_A)" + +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "相手先のサインインを通知する (_I)" + +#~ msgid "" +#~ "A popup window about contacts that just signed in will be shown in the " +#~ "bottom right of the screen " +#~ msgstr "" +#~ "相手先のサインインについて画面の右下にポップアップウィンドウを表示します " + +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "相手先のサインアウトを通知する (_O)" + +#~ msgid "" +#~ "A popup window about contacts that just signed out will be shown in the " +#~ "bottom right of the screen " +#~ msgstr "" +#~ "相手先のサインアウトについて画面の右下にポップアップウィンドウを表示しま" +#~ "す " + +#~ msgid "Play _sounds" +#~ msgstr "サウンドを鳴らす (_S)" + +#~ msgid "Ma_nage..." +#~ msgstr "設定...(_N)" + +#~ msgid "Allow playing sounds when I'm _busy" +#~ msgstr "取り込み中でもサウンドを鳴らす (_B)" + +#~ msgid "No_t Available" +#~ msgstr "不在 (_T)" + +#~ msgid "" +#~ "If checked, the status will be changed to Not Available when the computer " +#~ "has not been used for the specified time" +#~ msgstr "" +#~ "チェックをつけると、Gajim はコンピューターが一定時間使われていないとき、在" +#~ "席状況を「不在」に変更します" + +#~ msgid "" +#~ "If checked, the status will be changed to Away when the computer has not " +#~ "been used for the specified time" +#~ msgstr "" +#~ "チェックをつけると、Gajim はコンピューターが一定時間使われていないとき、在" +#~ "席状況を「離席中」に変更します" + +#~ msgid "" +#~ "The automatic away status message. If empty, the current status message " +#~ "will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-away timeout." +#~ msgstr "" +#~ "自動「離席中」メッセージ。空にすると、Gajim は現在の状況メッセージを変更し" +#~ "ません。\n" +#~ "$S は前の状況メッセージに置き換えられます。\n" +#~ "$T は自動離席の設定時間に置き換えられます。" + +#~ msgid "" +#~ "The automatic not available status message. If empty, the current status " +#~ "message will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-not-available timeout." +#~ msgstr "" +#~ "自動「不在」メッセージ。空にすると、Gajim は現在の状況メッセージを変更しま" +#~ "せん。\n" +#~ "$S は前の状況メッセージに置き換えられます。\n" +#~ "$T は自動不在の設定時間に置き換えられます。" + +#~ msgid "Minutes" +#~ msgstr "時間(分)" + +#~ msgid "_Remember and restore status of the last session" +#~ msgstr "最後の状況を記憶し復元する (_R)" + +#~ msgid "" +#~ "If enabled, Gajim will not ask for a status message. The specified " +#~ "default message will be used instead." +#~ msgstr "" +#~ "有効の場合、Gajim は状況メッセージを要求しません。かわりに対応するデフォル" +#~ "トのメッセージが使われます。" + +#~ msgid "Default Message" +#~ msgstr "デフォルトのメッセージ" + +#~ msgid "Status Messages" +#~ msgstr "状況メッセージ" + +#~ msgid "Preset Status Messages" +#~ msgstr "状況メッセージを事前設定" + +#~ msgid "_Theme" +#~ msgstr "テーマ (_T)" + +#~ msgid "Configure color and font of the interface" +#~ msgstr "色とフォントの調整" + +#~ msgid "Icons" +#~ msgstr "アイコン" + +#~ msgid "" +#~ "If checked, protocol-specific status icons will be used (e.g. a contact " +#~ "from ICQ will have the equivalent ICQ icon for status online, away, busy, " +#~ "etc...)" +#~ msgstr "" +#~ "チェックをつけると、Gajim はプロトコル特有の在席状況アイコンを使用します " +#~ "(例: ICQ からの相手先にはオンライン、離席中、取り込み中...などの対応する " +#~ "ICQ のアイコンがあります)" + +#~ msgid "" +#~ "STUN server hostname. If no hostname was given, Gajim will try\n" +#~ "to discover one from the server. (Example: stun.iptel.org)" +#~ msgstr "" +#~ "STUN サーバー名。空なら、Gajim はサーバーから探索\n" +#~ "しようとします。(例: stun.iptel.org)" + +#~ msgid "Vi_ew own video source" +#~ msgstr "自分の画像入力を見る (_E)" + +#~ msgid "Video si_ze" +#~ msgstr "ビデオの大きさ (_Z)" + +#~ msgid "Video output" +#~ msgstr "ビデオ出力" + +#~ msgid "Show live _preview" +#~ msgstr "ライブプレビューを表示 (_P)" + +#~ msgid "_Manage..." +#~ msgstr "管理...(_M)" + +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "相手先の状況変更を履歴に記録する (_S)" + +#~ msgid "Enable _debug logging (restart required)" +#~ msgstr "デバッグのログを有効化(再起動が必要) (_D)" + +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "チェックをつけると、Gajim はデバッグのためにログファイルを残します" + +#~ msgid "Opens folder containing debug logs" +#~ msgstr "デバッグのログを置くフォルダを開きます" + +#~ msgid "" +#~ "In order to introduce you to features, Gajim displays some hints. This " +#~ "button will reset all these hints." +#~ msgstr "" +#~ "特徴を紹介する目的で Gajim はヒントを表示します。このボタンはこれらのヒン" +#~ "トをリセットします。" + +#~ msgid "_Open..." +#~ msgstr "開く...(_O)" + +#~ msgid "_Filter" +#~ msgstr "フィルター (_F)" + +#~ msgid "Protocol" +#~ msgstr "プロトコル" + +#~ msgid "Privacy Lists:" +#~ msgstr "プライバシーリスト:" + +#~ msgid "_Ignore this error for this certificate" +#~ msgstr "この証明書のこのエラーを無視します (_I)" + +#~ msgid "Message..." +#~ msgstr "メッセージ…" + +#~ msgid "_Message if you decline (optional)" +#~ msgstr "断る場合の理由(省略可) (_M)" + +#~ msgid "Preset _messages" +#~ msgstr "メッセージを事前設定 (M)" + +#~ msgid "_Type your new status message" +#~ msgstr "新しい状況メッセージを入力してください (_T)" + +#~ msgid "Incoming call" +#~ msgstr "着信" + +#~ msgid "Change Status Message…" +#~ msgstr "状況メッセージを変更…" + +#~ msgid "Mood:" +#~ msgstr "気分:" + +#~ msgid "Message:" +#~ msgstr "メッセージ:" + +#~ msgid "none" +#~ msgstr "なし" + +#~ msgid "both" +#~ msgstr "相互に承認" + +# (Mako)相手先の情報で、subscriptionの有無なので、「こちらが承認」としたい +#~ msgid "from" +#~ msgstr "こちらが承認" + +# (Mako)相手先の情報で、subscriptionの有無なので、「相手先が承認」としたい +#~ msgid "to" +#~ msgstr "相手先が承認" + +#~ msgid "Privacy List" +#~ msgstr "プライバシーリスト" + +#~ msgid "Privacy List" +#~ msgstr "プライバシーリスト" + +#~ msgid "Active for this session" +#~ msgstr "このセッションで有効" + +#~ msgid "Active on each startup" +#~ msgstr "起動ごとに有効" + +#~ msgid "List of rules" +#~ msgstr "規則の一覧" + +#~ msgid "Add / Edit a rule" +#~ msgstr "規則の追加/編集" + +#~ msgid "Allow" +#~ msgstr "許可する" + +#~ msgid "Deny" +#~ msgstr "拒否する" + +#~ msgid "all in the group" +#~ msgstr "グループが" + +#~ msgid "all by subscription" +#~ msgstr "在席通知の状態が" + +#~ msgid "All" +#~ msgstr "すべて" + +#~ msgid "to send me messages" +#~ msgstr "メッセージを私に送信すること" + +#~ msgid "to send me queries" +#~ msgstr "クエリーを私に送信すること" + +#~ msgid "to view my status" +#~ msgstr "私の状況を見ること" + +#~ msgid "to send me status" +#~ msgstr "状況を私に送信すること" + +#~ msgid "All (including subscription)" +#~ msgstr "すべて (在席通知を含む)" + +#~ msgid "Order:" +#~ msgstr "順位:" + +#~ msgid "Chat Shortcuts" +#~ msgstr "チャットのショートカット" + +#~ msgid "Contact List Shortcuts" +#~ msgstr "相手先一覧のショートカット" + +#~ msgid "Fill in the form." +#~ msgstr "次の欄を埋めてください。" + +#~ msgid "Set an activity" +#~ msgstr "動向の設定" + +#~ msgid "Message: " +#~ msgstr "メッセージ: " + +#~ msgid "Group Chat Invitation " +#~ msgstr "談話室への招待 " + +#, python-format +#~ msgid "" +#~ "%(contact)s has invited you to the group chat %(room_jid)s" +#~ msgstr "" +#~ "%(contact)s さんがあなたを談話室 %(room_jid)s へ招待していま" +#~ "す" + +#, python-format +#~ msgid "Comment: %s" +#~ msgstr "コメント: %s" + +#~ msgid "On" +#~ msgstr "オン" + +#~ msgid "Off" +#~ msgstr "オフ" + +#~ msgid "Retrieving profile…" +#~ msgstr "プロフィールを取得中…" + +#~ msgid "Wrong date format" +#~ msgstr "日付の書式が正しくありません" + +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "日付の書式は YYYY-MM-DD としてください" + +#~ msgid "Information received" +#~ msgstr "情報を受信しました" + +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "接続しないと、情報を公開できません。" + +#~ msgid "Sending profile…" +#~ msgstr "プロフィールを送信しています…" + +#~ msgid "Information NOT published" +#~ msgstr "情報は公開されません" + +#~ msgid "vCard publication failed" +#~ msgstr "vCard の公開に失敗しました" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "個人情報の公開する際にエラーが発生しました。あとで試してください。" + +#~ msgid "?config type:Color" +#~ msgstr "色" + +#~ msgid "?password:Hidden" +#~ msgstr "非表示" + +#~ msgid "Loading" +#~ msgstr "読み込み" + +#~ msgid "status message title" +#~ msgstr "状況メッセージのタイトル" + +#~ msgid "status message text" +#~ msgstr "状況メッセージの文" + +#~ msgid "" +#~ "Unavailable, video " +#~ "support will be disabled" +#~ msgstr "" +#~ "無効です。ビデオに対応して" +#~ "いないようです" + +#~ msgid "org.gajim.Gajim" +#~ msgstr "org.gajim.Gajim" + +#~ msgid "" +#~ "Gajim aims to be an easy to use and fully-featured XMPP client. With " +#~ "Gajim you can chat through various XMPP services of your choice (e.g. " +#~ "Jabber.org) as well as transports (e.g. Facebook, IRC)." +#~ msgstr "" +#~ "Gajim は簡単に使える万能 XMPP クライアントです。Gajim を使えば、様々な " +#~ "XMPP サーバー(たとえば Jabber.org など) や中継(たとえばFacebook や IRC な" +#~ "ど)をとおしてチャットできます。" + +#~ msgid "Privacy Lists" +#~ msgstr "プライバシーリスト" + +#~ msgid "Unblock" +#~ msgstr "遮断の解除" + +#~ msgid "Block" +#~ msgstr "遮断" + +#~ msgid "" +#~ "This contact will see you offline and you will not receive any messages " +#~ "sent to you by this contact." +#~ msgstr "" +#~ "この相手先はあなたをオフラインと認識します。相手先が送るメッセージは受信し" +#~ "ません。" + +#~ msgid "_Block Contact" +#~ msgstr "相手先を遮断 (_B)" + +#~ msgid "Block Group" +#~ msgstr "グループを遮断" + +#~ msgid "Really block this group?" +#~ msgstr "本当にこのグループを遮断しますか ?" + +#~ msgid "" +#~ "All contacts of this group will see you as offline and you will not " +#~ "receive any messages sent to you by any one of these contacts." +#~ msgstr "" +#~ "このグループの相手先はあなたをオフラインと認識します。これらの相手先が送る" +#~ "メッセージは受信しません。" + +#~ msgid "_Block Group" +#~ msgstr "グループを遮断 (_B)" + +#~ msgid "Error While Removing Privacy List" +#~ msgstr "プライバシーリストを削除する際のエラー" + +#~ msgid "" +#~ "Privacy list %s has not been removed. It is probably active in one of " +#~ "your connected resources. Please deactivate it and try again." +#~ msgstr "" +#~ "プライバシーリスト %s は削除されませんでした。現在の接続に使用されているよ" +#~ "うです。使用をやめて、もういちど試してください。" + +#~ msgid "Invisibility Not Supported" +#~ msgstr "「居ないふり」はサポートされていません" + +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "このアカウント %s は「居ないふり」に対応していません。" + +#~ msgid "" +#~ "Deny authorization from contact so the contact cannot know if you are " +#~ "connected" +#~ msgstr "" +#~ "拒否すると、あなたが接続したときに相手先はそのことを知ることができません" + +#~ msgid "Authorize contact so the contact can know if you are connected" +#~ msgstr "" +#~ "承認すると、あなたが接続したときに相手先はそのことを知ることができます" + +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "%(jid)s を %(room_jid)s に招待しました" + +#~ msgid "Privacy List %s" +#~ msgstr "プライバシーリスト %s" + +#~ msgid "Privacy List for %s" +#~ msgstr "%s のプライバシーリスト" + +#~ msgid "" +#~ "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" +#~ msgstr "順位: %(order)s, 操作: %(action)s, 型: %(type)s, 値: %(value)s" + +#~ msgid "Order: %(order)s, action: %(action)s" +#~ msgstr "順位: %(order)s, 操作: %(action)s" + +#~ msgid "Edit a rule" +#~ msgstr "規則の編集" + +#~ msgid "Add a rule" +#~ msgstr "規則の追加" + +#~ msgid "Privacy Lists for %s" +#~ msgstr "%s のプライバシーリスト" + +#~ msgid "Invalid List Name" +#~ msgstr "リスト名が正しくありません" + +#~ msgid "You must enter a name to create a privacy list." +#~ msgstr "プライバシーリストを作成するには、名前を入力してください。" + +#~ msgid "Start New Conversation" +#~ msgstr "新しく会話を開始" + +#~ msgid "Simulate loss of connectivity" +#~ msgstr "接続の喪失を模する" + +#~ msgid "Simulate regaining connectivity" +#~ msgstr "接続の回復を模する" + +#~ msgid "Unknown SSL error: %d" +#~ msgstr "未知の SSL エラー: %d" + +#~ msgid "Gajim - %s" +#~ msgstr "Gajim - %s" + +#~ msgid "" +#~ "Requires: libsecret and a provider (such as GNOME Keyring and " +#~ "KSecretService)" +#~ msgstr "" +#~ "libsecret と、GNOME Keyring や KSecretService のようなプロバイダーが必要で" +#~ "す" + +#~ msgid "Choose interval between 2 checks of idleness." +#~ msgstr "操作しない状態をチェックする時間間隔。" + +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "言語 \"%s\" の辞書はありません" + +#~ msgid "" +#~ "You have to install the dictionary \"%s\" to use spellchecking, or choose " +#~ "another language by setting the speller_language option.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "スペルチェックを使うには、\"%s\" の辞書をインストールしてください。あるい" +#~ "は、speller_language オプションで別の言語を選択してください。\n" +#~ "\n" +#~ "スペル間違いの強調表示は使われません" + +#~ msgid "_Reconnect" +#~ msgstr "再接続 (_R)" + +#~ msgid "Quit" +#~ msgstr "終了" + +#~ msgid "Show Contact List" +#~ msgstr "相手先一覧を表示" + +#~ msgid "Add to Contact List" +#~ msgstr "相手先一覧に追加" + +#~ msgid "Invite Contact" +#~ msgstr "相手先を招待" + +#~ msgid "Configure Group Chat" +#~ msgstr "グループチャットを調整" + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." +#~ msgstr "" +#~ "真なら、Gajim は未読メッセージのあるタブにアイコンを表示します。テーマに依" +#~ "存し、アイコンが動画のものもあります。" + +#~ msgid "Show a mini avatar in chat window tabs and as the window's icon." +#~ msgstr "" +#~ "チャットウィンドウとウィンドウアイコンに小さなアバターを表示します。" + +#~ msgid "Show _avatar in chat tabs" +#~ msgstr "チャットのタブにアバターを表示する" + +#~ msgid "If checked, the contact's avatar will be shown in chat tabs" +#~ msgstr "チェックをつけると、チャットのタブに相手先のアバターを表示します" + +#~ msgid "Server must be between 1 and 1023 bytes" +#~ msgstr "サーバー名は1文字以上1023文字以下にしてください" + +#~ msgid "Invalid character in hostname." +#~ msgstr "ホスト名に不正な文字が含まれています。" + +#~ msgid "Server address required." +#~ msgstr "サーバーのアドレスが必要です。" + +#~ msgid "Username must be between 1 and 1023 bytes" +#~ msgstr "ユーザー名は1文字以上1023文字以下にしてください" + +#~ msgid "Invalid character in username." +#~ msgstr "ユーザー名に不正な文字が含まれています。" + +#~ msgid "Resource must be between 1 and 1023 bytes" +#~ msgstr "リソースは1文字以上1023文字以下にしてください" + +#~ msgid "Invalid character in resource." +#~ msgstr "リソースに不正な文字が含まれています。" + +#~ msgid "Notification color for contacts signing in." +#~ msgstr "相手先のサインインの通知の色" + +#~ msgid "Notification color for contacts signing out." +#~ msgstr "相手先のサインアウトの通知の色" + +#~ msgid "Notification color for new message notification." +#~ msgstr "新着メッセージ通知の色。" + +#~ msgid "Notification color for file transfer request." +#~ msgstr "ファイル転送要求の通知の色。" + +#~ msgid "Notification color for file transfer errors." +#~ msgstr "ファイル転送エラーの通知の色。" + +#~ msgid "Notification color for stopped or completed file transfers." +#~ msgstr "ファイル転送の中止または完了の通知の色" + +#~ msgid "Notification color for group chat invitations." +#~ msgstr "談話室への招待の通知の色" + +#~ msgid "Notification background color for changed status." +#~ msgstr "在席状況変更の通知の背景色" + +#~ msgid "Event Type" +#~ msgstr "イベントの種類" + +#~ msgid "Event desc" +#~ msgstr "イベントの説明" + +#~ msgid "HTTP File Upload: Enable HTTPS Verification." +#~ msgstr "HTTP ファイルアップロード: HTTPS 検証を有効化。" + +#~ msgid "No response from the Server" +#~ msgstr "サーバーからの応答がありません" + +#~ msgid "Resource Conflict" +#~ msgstr "リソースの衝突" + +#~ msgid "" +#~ "You are already connected to this account with the same resource. Please " +#~ "enter a different one." +#~ msgstr "" +#~ "このアカウントの同じリソースで既に接続しています。別のものを入力してくださ" +#~ "い" + +#~ msgid "Unable to load image" +#~ msgstr "画像をロードできません" + +#~ msgid "Media type not supported: %s" +#~ msgstr "メディアタイプはサポートされていません: %s" + +#~ msgid "This field is required" +#~ msgstr "この欄は必須項目です" + +#~ msgid "new@jabber.id" +#~ msgstr "new@jabber.id" + +#~ msgid "new%d@jabber.id" +#~ msgstr "new%d@jabber.id" + +#~ msgid "video output" +#~ msgstr "ビデオ出力" + +#~ msgid "5222" +#~ msgstr "5222" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Gajim: アカウント作成ウィザード" + +#, fuzzy +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "Jabber ネットワークに接続するには、\n" +#~ "アカウントが必要です。" + +#~ msgid "I already have an account I want to _use" +#~ msgstr "既にアカウントを持っているのでそれを使う (_U)" + +#~ msgid "I want to _register for a new account" +#~ msgstr "新しいアカウントを作成する (_R)" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "下の選択肢から1つ選んでください:" + +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "既にお持ちのアカウントの情報を入力してください" + +#, fuzzy +#~ msgid "_XMPP Address:" +#~ msgstr "AIM アドレス:" + +#~ msgid "Anon_ymous authentication" +#~ msgstr "匿名の認証 (_Y)" + +#~ msgid "_Password:" +#~ msgstr "パスワード (_P):" + +#~ msgid "Save pass_word" +#~ msgstr "パスワードを保存する (_W)" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "チェックをつけると、Gajim はこのアカウントのパスワードを記憶します" + +#~ msgid "Please select a server" +#~ msgstr "サーバーを選択してください" + +#~ msgid "_Server:" +#~ msgstr "サーバー (_S):" + +#~ msgid "Manage..." +#~ msgstr "管理..." + +#~ msgid "_Port:" +#~ msgstr "ポート番号 (_P):" + +#~ msgid "_Advanced" +#~ msgstr "拡張 (_A)" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA1 fingerprint of the certificate:\n" +#~ msgstr "" +#~ "この証明書を、信頼できる証明書一覧に加えます。\n" +#~ "この証明書の SHA1 指紋:\n" + +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "サーバに接続しています\n" +#~ "\n" +#~ "しばらくお待ちください..." + +#~ msgid "Connect when I press Finish" +#~ msgstr "「完了」を押したらすぐに接続する" + +#~ msgid "Set my profile when I connect" +#~ msgstr "接続時に自分のプロフィールを設定する" + +#~ msgid "_Finish" +#~ msgstr "完了 (_F)" + +#~ msgid "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." +#~ msgstr "" +#~ "「拡張」ボタンで、詳細なオプションを設定できます。また後で、メインウィンド" +#~ "ウの「編集」メニューの「アカウント」を選択して設定できます。" + +#~ msgid "Your new account has been created successfully" +#~ msgstr "新しいアカウントを無事に作成しました" + +#~ msgid "Invalid username" +#~ msgstr "ユーザー名が正しくありません" + +#~ msgid "You must provide a username to configure this account." +#~ msgstr "このアカウントを編集するには、ユーザー名を指定してください。" + +#~ msgid "Invalid server" +#~ msgstr "サーバー名が正しくありません" + +#~ msgid "Please provide a server on which you want to register." +#~ msgstr "登録するサーバーを指定してください。" + +#~ msgid "Invalid entry" +#~ msgstr "入力内容が正しくありません" + +#~ msgid "Certificate Already in File" +#~ msgstr "証明書はファイルにあります" + +#~ msgid "This certificate is already in file %s, so it's not added again." +#~ msgstr "この証明書は既にファイル %s にあります。再び追加しません。" + +#~ msgid "" +#~ "Security Warning\n" +#~ "\n" +#~ "The authenticity of the %(hostname)s SSL certificate could be invalid.\n" +#~ "SSL Error: %(error)s\n" +#~ "Do you still want to connect to this server?" +#~ msgstr "" +#~ "セキュリティ警告\n" +#~ "\n" +#~ "サーバー %(hostname)s の SSL 証明書の真正性は検証できませんでした。\n" +#~ "SSL エラー: %(error)s\n" +#~ "それでもこのサーバーに接続しますか ?" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA-256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "この証明書を、信頼できる証明書の一覧に追加します。\n" +#~ "この証明書の SHA-1 指紋:\n" +#~ "%(sha1)s\n" +#~ "この証明書の SHA-256 指紋:\n" +#~ "%(sha256)s" + +#~ msgid "Account name is in use" +#~ msgstr "アカウント名は使われています" + +#~ msgid "You already have an account using this name." +#~ msgstr "この名前のアカウントは既に存在しています。" + +#, fuzzy +#~ msgid "Allow plaintext connections." +#~ msgstr "暗号化されない接続を許可します" + +#, fuzzy +#~ msgid "" +#~ "List of authentication mechanisms to try (space separated). Can contain " +#~ "'ANONYMOUS', 'EXTERNAL', 'GSSAPI', 'SCRAM-SHA-1-PLUS', 'SCRAM-SHA-1', " +#~ "'DIGEST-MD5', 'PLAIN', 'X-MESSENGER-OAUTH2' or 'XEP-0078'." +#~ msgstr "" +#~ "試みる認証の種類 (空白で区切る)。 ANONYMOUS, EXTERNAL, GSSAPI, SCRAM-" +#~ "SHA-1-PLUS, SCRAM-SHA-1, DIGEST-MD5, PLAIN, X-MESSENGER-OAUTH2 または " +#~ "XEP-0078" + +#~ msgid "Show a warning dialog before using standard SSL library." +#~ msgstr "標準の SSL ライブラリを使う前に警告のダイアログを表示します。" + +#, fuzzy +#~ msgid "If enabled, a whitespace is sent after inactivity (keep alive)." +#~ msgstr "活動停止状態の後に送られる空白" + +#, fuzzy +#~ msgid "If enabled, an XMPP ping is sent after inactivity (ping alive)." +#~ msgstr "活動停止状態の後に XMPP ping を送ります" + +#~ msgid "Connection with account \"%s\" has been lost" +#~ msgstr "アカウント \"%s\" での接続が切れました" + +#~ msgid "Reconnect manually." +#~ msgstr "手動で再接続してください。" + +#~ msgid "Server %(name)s answered wrongly to register request: %(error)s" +#~ msgstr "サーバー %(name)s は登録要求に対してエラーを返しました: %(error)s" + +#~ msgid "Server %s provided a different registration form" +#~ msgstr "サーバー %s は異なる登録フォームを提供しています" + +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "\"%(proxy)s\" 経由で \"%(host)s\" に接続できませんでした" + +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "\"%(host)s\" に接続できませんでした" + +#~ msgid "Check your connection or try again later." +#~ msgstr "設定を確認するか、あとで試してください。" + +#~ msgid "Server replied: %s" +#~ msgstr "サーバーの応答: %s" + +#~ msgid "Connection to proxy failed" +#~ msgstr "プロキシへの接続に失敗" + +#~ msgid "Could not connect to account %s" +#~ msgstr "アカウント %s に接続できませんでした" + +#~ msgid "Connection with account %s has been lost. Retry connecting." +#~ msgstr "アカウント %s での接続が切れました。再接続を試みます。" + +#~ msgid "Please check your login and password for correctness." +#~ msgstr "整合性のために、ログインとパスワードを確認してください。" + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "HTTP 接続" + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "BOSH" +#~ msgstr "BOSH" + +#~ msgid "Use HTTP prox_y" +#~ msgstr "HTTP プロキシを利用する (_Y)" + +#, fuzzy +#~ msgid "_BOSH URL" +#~ msgstr "BOSH の URL (_B):" + +#, fuzzy +#~ msgid "BOSH" +#~ msgstr "BOSH" + +#~ msgid "Warn on insecure connection" +#~ msgstr "安全でない接続の前には警告する" + +#, fuzzy +#~ msgid "Contact list, list of contacts" +#~ msgstr "名簿 (相手先の一覧)" + +#~ msgid "You are participating in one or more group chats" +#~ msgstr "1つ以上のグループチャットに参加中です。" + +#, fuzzy +#~ msgid "" +#~ "Changing your status to invisible will result in you leaving those group " +#~ "chats.\n" +#~ "Are you sure you want to go invisible?" +#~ msgstr "" +#~ "在席状況を「居ないふり」にすると、グループチャットから退出することになりま" +#~ "す。本当に「居ないふり」にしますか ?" + +#~ msgid "_Disconnect" +#~ msgstr "切断 (_D)" + +#~ msgid "You cannot join a group chat while you are invisible" +#~ msgstr "「居ないふり」のあいだはグループチャットに参加できません" + +#~ msgid "Invisible" +#~ msgstr "居ないふり" + +#, fuzzy +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "「居ないふり」のあいだはグループチャットに参加できません" + +#~ msgid "_Invisible" +#~ msgstr "居ないふり (_I)" + +#~ msgid "Yesterday" +#~ msgid_plural "%(nb_days)i days ago" +#~ msgstr[0] "昨日" +#~ msgstr[1] "%(nb_days)i日前" + +#, fuzzy +#~ msgid "_Cancel Upload" +#~ msgstr "中止 (_C)" + +#, fuzzy +#~ msgid "Got unexpected response from server (see log)." +#~ msgstr "サーバーから予期しない応答がありました (ログを参照してください)" + +#~ msgid " [blocked]" +#~ msgstr " [遮断しています]" + +#~ msgid " [minimized]" +#~ msgstr " [最小化しています]" + +#, fuzzy +#~ msgid "" +#~ "If you close this tab while having chat history disabled, this message " +#~ "will be lost." +#~ msgstr "" +#~ "このタブを閉じると、記録を残さない設定の場合、このメッセージは失われます。" + +#, fuzzy +#~ msgid "Unregister Failed" +#~ msgstr "登録解除に失敗" + +#, fuzzy +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "サーバー %(server)s での登録解除に失敗しました: %(error)s" + +#~ msgid "New Password" +#~ msgstr "新しいパスワード" + +#~ msgid "What do you want to do?" +#~ msgstr "何をしたいですか ?" + +#~ msgid "Remove account from Gajim and from _server" +#~ msgstr "アカウントを Gajim とサーバーからも削除 (_S)" + +#~ msgid "You must enter a password" +#~ msgstr "パスワードを入力してください" + +#, fuzzy +#~ msgid "You still have open chats in your account %s" +#~ msgstr "アカウント %s でチャット中です" + +#, fuzzy +#~ msgid "To unregister from a server, the account must be enabled." +#~ msgstr "サーバーから登録を解除するには、アカウントを有効にしてください。" + +#, fuzzy +#~ msgid "Password required" +#~ msgstr "パスワードが必要です" + +#, fuzzy +#~ msgid "Still connected to the server" +#~ msgstr "サーバーに接続していません" + +#, fuzzy +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "削除すると、接続が失われます。" + +#~ msgid "Connection to server %s failed" +#~ msgstr "サーバー %s への接続に失敗しました" + +#~ msgid "What would you like to do?" +#~ msgstr "何をしたいですか ?" + +#~ msgid "Remove only from Gajim" +#~ msgstr "アカウントを Gajim からのみ削除" + +#~ msgid "Don't remove anything. I'll try again later" +#~ msgstr "何も削除できません。あとで試みます" + +#~ msgid "Contents" +#~ msgstr "目次" + +#~ msgid "FAQ" +#~ msgstr "FAQ" + +#~ msgid "Save as Preset Status Message" +#~ msgstr "用意しておく状況メッセージとして保存" + +#~ msgid "Enter a new nickname for contact %s" +#~ msgstr "相手先 %s さんの新しいニックネームを入力してください" + +#~ msgid "Join a group chat" +#~ msgstr "グループチャットに参加" + +#~ msgid "Accept" +#~ msgstr "承諾する" + +#~ msgid "New entry received" +#~ msgstr "新しいエントリーを受け取りました" + +#~ msgid "You have received new entry:" +#~ msgstr "新しいエントリーを受け取りました:" + +#~ msgid "Feed name:" +#~ msgstr "フィード名:" + +#~ msgid "Last modified:" +#~ msgstr "更新日時:" + +#~ msgid "Next entry" +#~ msgstr "次のエントリー" + +#, fuzzy +#~ msgid "Send file?" +#~ msgstr "ファイルを送信 (_F)" + +#, fuzzy +#~ msgid "Mail _client" +#~ msgstr "メールクライアント (_M)" + +#~ msgid "_Browser" +#~ msgstr "ブラウザー (_B)" + +#~ msgid "_File manager" +#~ msgstr "ファイルマネージャー (_F)" + +#, fuzzy +#~ msgid "Custom applications" +#~ msgstr "デフォルトのアプリケーションを使う" + +#, fuzzy +#~ msgid "Applications" +#~ msgstr "アプリケーション" + +#, fuzzy +#~ msgid "" +#~ "Uses ReStructured text markup to send HTML, plus ASCII formatting if " +#~ "selected. Needs docutils installed (for syntax, see http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "HTML を送信するために構造化テキスト (ReStructured text markup) を使う (選" +#~ "択すればアスキーフォーマットも)。文法は http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html を参照してください (これを使うには " +#~ "docutils をインストールしてください)。" + +#, fuzzy +#~ msgid "Store XHTML messages in chat history instead of plain text messages." +#~ msgstr "" +#~ "プレーンテキストのメッセージではなく XHTML のメッセージを記録します。" + +#, fuzzy +#~ msgid "_Ignore formatting of incoming messages" +#~ msgstr "受信したメッセージの装飾を無視する (_I)" + +#, fuzzy +#~ msgid "" +#~ "Some messages may include rich content (xhtml formatting, colors etc). If " +#~ "checked, Gajim will just display the plain message text." +#~ msgstr "" +#~ "メッセージが装飾 (書式や色など) を含んでいる場合があります。チェックをつけ" +#~ "ると、Gajim はそのままのメッセージ文を表示します。" + +#, fuzzy +#~ msgid "RST XHTML Generator" +#~ msgstr "RST 生成器" + +#, fuzzy +#~ msgid "Requires: python-docutils" +#~ msgstr "python-docutils が必要です。" + +#~ msgid "New Single Message" +#~ msgstr "新着の単発メッセージ" + +#, fuzzy +#~ msgid "" +#~ "Can be empty, 'chat' or 'normal'. If not empty, all incoming messages are " +#~ "treated as if they were of this type." +#~ msgstr "" +#~ "空白、'chat'(チャット)、'normal'(普通) のいずれか。もし空でなければ、すべ" +#~ "ての受信メッセージをこのタイプとして扱います" + +#~ msgid "Error %(code)s: %(msg)s" +#~ msgstr "エラー %(code)s: %(msg)s" + +#~ msgid "twelve" +#~ msgstr "12" + +#~ msgid "one" +#~ msgstr "1" + +#~ msgid "two" +#~ msgstr "2" + +#~ msgid "three" +#~ msgstr "3" + +#~ msgid "four" +#~ msgstr "4" + +#~ msgid "five" +#~ msgstr "5" + +#~ msgid "six" +#~ msgstr "6" + +#~ msgid "seven" +#~ msgstr "7" + +#~ msgid "eight" +#~ msgstr "8" + +#~ msgid "nine" +#~ msgstr "9" + +#~ msgid "ten" +#~ msgstr "10" + +#~ msgid "eleven" +#~ msgstr "11" + +#~ msgid "%(0)s o'clock" +#~ msgstr "%(0)s 時" + +#~ msgid "five past %(0)s" +#~ msgstr "%(0)s 時 5 分" + +#~ msgid "ten past %(0)s" +#~ msgstr "%(0)s 時 10 分" + +#~ msgid "quarter past %(0)s" +#~ msgstr "%(0)s 時 15 分" + +#~ msgid "twenty past %(0)s" +#~ msgstr "%(0)s 時 20 分" + +#~ msgid "twenty five past %(0)s" +#~ msgstr "%(0)s 時 25 分" + +#~ msgid "half past %(0)s" +#~ msgstr "%(0)s 時 30 分" + +#~ msgid "twenty five to %(1)s" +#~ msgstr "%(1)s 時 25 分前" + +#~ msgid "twenty to %(1)s" +#~ msgstr "%(1)s 時 20 分前" + +#~ msgid "quarter to %(1)s" +#~ msgstr "%(1)s 時 15 分前" + +#~ msgid "ten to %(1)s" +#~ msgstr "%(1)s 時 10 分前" + +#~ msgid "five to %(1)s" +#~ msgstr "%(1)s 時 5 分前" + +#~ msgid "%(1)s o'clock" +#~ msgstr "%(1)s 時" + +#~ msgid "Night" +#~ msgstr "深夜" + +#~ msgid "Early morning" +#~ msgstr "早朝" + +#~ msgid "Morning" +#~ msgstr "朝" + +#~ msgid "Almost noon" +#~ msgstr "だいたい昼" + +#~ msgid "Noon" +#~ msgstr "正午" + +#~ msgid "Afternoon" +#~ msgstr "午後" + +#~ msgid "Evening" +#~ msgstr "夕方" + +#~ msgid "Late evening" +#~ msgstr "夜" + +#~ msgid "Start of week" +#~ msgstr "週の始め" + +#~ msgid "Middle of week" +#~ msgstr "週の中ごろ" + +#~ msgid "End of week" +#~ msgstr "週の終わり" + +#~ msgid "Weekend!" +#~ msgstr "週末 !" + +#, fuzzy +#~ msgid "" +#~ "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or " +#~ "0 to disable Fuzzy Clock. 1 is the most precise clock, 4 the least " +#~ "precise one. This is used only if 'print_time' is 'sometimes'." +#~ msgstr "" +#~ "あいまい時計を使って、チャットに時刻を印します。曖昧さは 1 から 4です。0 " +#~ "ならあいまい時計を使いません。1 が最も正確な時計で、4 が最も正確ではありま" +#~ "せん。print_time が 'sometimes'(時々) の場合のみ使われます。" + +#~ msgid "message" +#~ msgstr "message" + +#, fuzzy +#~ msgid "error: %s" +#~ msgstr "エラー: %s" + +#, fuzzy +#~ msgid "Form: %s" +#~ msgstr "フォーム %s" + +#~ msgid "XML Input" +#~ msgstr "XML 入力" + +#~ msgid "Ttitle" +#~ msgstr "タイトル" + +#, fuzzy +#~ msgid "%(type)s encryption is active %(authenticated)s" +#~ msgstr "%(type)s の暗号化は有効 %(authenticated)s。" + +#~ msgid "Screen" +#~ msgstr "画面" + +#~ msgid "Fake video output" +#~ msgstr "擬似ビデオ出力" + +#~ msgid "X Window System (X11/XShm/Xv): %s" +#~ msgstr "X ウィンドウシステム (X11/XShm/Xv): %s" + +#~ msgid "X Window System (without Xv)" +#~ msgstr "X ウィンドウシステム (without Xv)" + +#, fuzzy +#~ msgid "V_ideo output device" +#~ msgstr "ビデオ出力デバイス" + +#~ msgid "" +#~ "\n" +#~ "Disabled in config" +#~ msgstr "" +#~ "\n" +#~ "設定で無効化されています" + +# (Mako) 語順が問題。コロンでごまかしてみる +#~ msgid "Conversation with " +#~ msgstr "会話中: " + +#~ msgid "Continued conversation" +#~ msgstr "会話中" + +#, fuzzy +#~ msgid "%s has invited you to join a discussion" +#~ msgstr "$Contact さんがあなたを議論に参加するよう招待しています" + +#~ msgid "_Send Private Message" +#~ msgstr "私信を送る (_S)" + +#, fuzzy +#~ msgid "Participant Actions" +#~ msgstr "参加者" + +# (Mako)moderated room での発言する権利 +#~ msgid "_Voice" +#~ msgstr "発言権 (_V)" + +#~ msgid "Mo_derator" +#~ msgstr "司会者 (_D)" + +#~ msgid "_Member" +#~ msgstr "メンバー (_M)" + +#~ msgid "_Admin" +#~ msgstr "管理人 (_A)" + +#~ msgid "_Owner" +#~ msgstr "主宰者 (_O)" + +#, fuzzy +#~ msgid "_Add to Contact List" +#~ msgstr "相手先を追加" + +#~ msgid "_Execute command" +#~ msgstr "コマンドを実行 (_E)" + +#~ msgid "Change _Nickname..." +#~ msgstr "ニックネームを変更...(_N)" + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "新しいグループチャット (_N)" + +#~ msgid "Change _Subject..." +#~ msgstr "談話室の題を変更...(_S)" + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "談話室を調整...(_R)" + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "新しいグループチャット (_N)" + +#~ msgid "_Minimize on close" +#~ msgstr "閉じるボタンで最小化 (_M)" + +#~ msgid "_Request Voice" +#~ msgstr "発言権を要求 (_R)" + +#~ msgid "_Bookmark" +#~ msgstr "ブックマーク (_B)" + +#~ msgid "The authenticity of the %s certificate could be invalid" +#~ msgstr "%s の証明書の真正性は検証できませんでした。" + +#~ msgid "" +#~ "\n" +#~ "Unknown SSL error: %d" +#~ msgstr "" +#~ "\n" +#~ "未知の SSL エラー: %d" + +#~ msgid "" +#~ "\n" +#~ "SSL Error: %s" +#~ msgstr "" +#~ "\n" +#~ "SSL エラー: %s" + +#~ msgid "Error verifying SSL certificate" +#~ msgstr "SSL 証明書の検証エラー" + +#, fuzzy +#~ msgid "View certificate…" +#~ msgstr "証明書を表示…" + +#, fuzzy +#~ msgid "Continue" +#~ msgstr "続ける (_C)" + +#~ msgid "" +#~ "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM " +#~ "IS RUNNING)" +#~ msgstr "" +#~ "データベースを消去しますか ? (Gajim が起動している場合、まったくお勧めでき" +#~ "ません)" + +#, fuzzy +#~ msgid "Authorization" +#~ msgstr "承認が送信されました" + +#, fuzzy +#~ msgid "" +#~ "All chat and group chat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "すべてのチャットとグループチャットのウィンドウを閉じます。続けますか ?" + +#, fuzzy +#~ msgid "Account '%s' is still connected to the server" +#~ msgstr "アカウント \"%s\" はサーバーに接続しています" + +#, fuzzy +#~ msgid "Error While Saving" +#~ msgstr "サービスの追加中のエラーです。%s" + +#, fuzzy +#~ msgid "" +#~ "Image cannot be saved in %(type)s format.\n" +#~ "Save as %(new_filename)s?" +#~ msgstr "" +#~ "画像を %(type)s 形式で保存できません。%(new_filename)s として保存します" +#~ "か ?" + +#~ msgid "Save _As" +#~ msgstr "名前を付けて保存 (_A)" + +#~ msgid "Yes, I really want to connect insecurely" +#~ msgstr "はい。安全でないまま接続します" + +#~ msgid "Gajim will NOT connect unless you check this box" +#~ msgstr "このボックスにチェックしなければ、Gajim は接続しません" + +#, fuzzy +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "グループチャットの JID が正しくありません" + +#, fuzzy +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "グループチャットの JID に使えない文字が含まれています。" + +#~ msgid "You may specify a reason below:" +#~ msgstr "下に理由を書けます:" + +#~ msgid "Banning %s" +#~ msgstr "%s を締め出し" + +#, fuzzy +#~ msgid "" +#~ "Always ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "JID の一覧 (空白で区切る) にあるグループチャットのタブまたはウィンドウを閉" +#~ "じる前には、必ず確認を求めます。" + +#, fuzzy +#~ msgid "" +#~ "Never ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "JID の一覧 (空白で区切る) にあるグループチャットのタブまたはウィンドウを閉" +#~ "じる前には、決して確認を求めません。" + +#, fuzzy +#~ msgid "Leave Group Chats" +#~ msgstr "グループチャットから退出" + +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "%(room_jid)s の %(nickname)s さん" + +#, fuzzy +#~ msgid "You have not joined a group chat." +#~ msgstr "グループチャットに参加していません。" + +#, fuzzy +#~ msgid "Choose the group chats you want to leave" +#~ msgstr "退出するグループチャットを選択してください" + +#, fuzzy +#~ msgid "You left the following group chats:" +#~ msgstr "次のグループチャットから退出しました:" + +#, fuzzy +#~ msgid "" +#~ "Should automatic rejoin be activated when you were kicked from a group " +#~ "chat?" +#~ msgstr "談話室から蹴り出された場合、自動で再参加するかどうか。" + +#, fuzzy +#~ msgid "" +#~ "If disabled, Gajim will display a static event icon instead of the " +#~ "blinking status icon in the notification area when notifying about an " +#~ "event." +#~ msgstr "" +#~ "偽なら、通知エリアでイベントを通知する際に、状態アイコンを点滅させず固定の" +#~ "アイコンを表示します。" + +#~ msgid "Don't show avatar for the transport itself." +#~ msgstr "中継先そのもののアバターを表示しません。" + +#, fuzzy +#~ msgid "" +#~ "Show a confirmation dialog for a custom status? Empty string means never " +#~ "show the dialog." +#~ msgstr "" +#~ "個別の在席状況の確認のダイアログを表示するかどうか。空文字ならダイアログを" +#~ "表示しません。" + +#, fuzzy +#~ msgid "" +#~ "If enabled, notification windows from notification-daemon will be " +#~ "attached to the notification area icon." +#~ msgstr "" +#~ "真なら、notification-daemon からの通知は通知アイコンの脇に表示されます。" + +#~ msgid "" +#~ "Show a warning dialog before sending PLAIN password over a plain " +#~ "connection." +#~ msgstr "" +#~ "暗号化されない接続で平文でパスワードを送る前に、警告のダイアログを表示しま" +#~ "す。" + +#, fuzzy +#~ msgid "" +#~ "List of XMPP Addresses (space separated) for which you accept to not " +#~ "store chat history if your contact does not want to." +#~ msgstr "" +#~ "相手が記録しないことを望む場合、記録しない会話を受け入れる JID の一覧 (空" +#~ "白で区切る)。" + +#, fuzzy +#~ msgid "Jabberd2 workaround." +#~ msgstr "Jabberd2 対策" + +#~ msgid "Configure Services…" +#~ msgstr "サービスの調整…" + +#~ msgid "Group Chat Bookmarks" +#~ msgstr "グループチャットのブックマーク" + +#, fuzzy +#~ msgid "Add Bookmark" +#~ msgstr "ブックマーク" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "ブックマーク" + +#~ msgid "_Server" +#~ msgstr "サーバー (_S)" + +#~ msgid "Roo_m" +#~ msgstr "談話室 (_M)" + +#~ msgid "_Password" +#~ msgstr "パスワード (_P)" + +#~ msgid "Join chat when connected" +#~ msgstr "接続したらチャットに参加" + +#~ msgid "New Group Chat" +#~ msgstr "新しいグループチャット" + +#~ msgid "This bookmark has invalid data" +#~ msgstr "このブックマークは不正なデータを含んでいます" + +#, fuzzy +#~ msgid "" +#~ "Please be sure to fill out server and group chat fields or remove this " +#~ "bookmark." +#~ msgstr "" +#~ "サーバーと談話室の欄を正しく入力するか、このブックマークを削除してくださ" +#~ "い。" + +#~ msgid "Character not allowed" +#~ msgstr "使えない文字です" + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "グループチャットの JID が正しくありません" + +#~ msgid "Unable to join group chat" +#~ msgstr "グループに参加できません" + +#~ msgid "You are banned from group chat %s." +#~ msgstr "グループチャット %s から締め出されています。" + +#~ msgid "Remote server %s does not exist." +#~ msgstr "リモートサーバー %s は存在しません。" + +#~ msgid "Group chat %s does not exist." +#~ msgstr "グループチャット %s は存在しません。" + +#~ msgid "Group chat creation is not permitted." +#~ msgstr "グループチャットの作成は制限されています。" + +#~ msgid "You must use your registered nickname in %s." +#~ msgstr "%s では登録したニックネームを使う必要があります。" + +#, fuzzy +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "あなたはグループチャット %s のメンバー一覧にありません。" + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "グループチャットではありません" + +#~ msgid "This is not a group chat" +#~ msgstr "グループチャットではありません" + +#, fuzzy +#~ msgid "" +#~ "%(room_jid)s is already in your contact list. Please check if " +#~ "%(room_jid)s is a correct group chat name. If it is, delete it from your " +#~ "contact list and try joining the group chat again." +#~ msgstr "" +#~ "%(room_jid)s は既に名簿にあります。%(room_jid)s が正しいグループチャット名" +#~ "かどうか確認してください。もし正しければ、それを名簿から削除して、もう一度" +#~ "そのグループチャットに参加してみてください。" + +#, fuzzy +#~ msgid "Please choose a group chat" +#~ msgstr "談話室を選択してください" + +#~ msgid "Invalid Nickname" +#~ msgstr "ニックネームが正しくありません" + +#~ msgid "Wrong server" +#~ msgstr "サーバーが正しくありません" + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "%s はグループチャットのサーバーではありません" + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit." +#~ msgstr "" +#~ "グループチャットに参加するとき、サーバーに要求する行数。-1 は制限なし。" + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit." +#~ msgstr "" +#~ "グループチャットに参加するとき、記録を遡る時間 (単位は分)。-1 は制限なし" + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit, -2 means global value." +#~ msgstr "" +#~ "グループチャットに参加するとき、サーバーに要求する行数。-1 は制限なし、-2 " +#~ "は大域値" + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit, -2 means global value." +#~ msgstr "" +#~ "グループチャットに参加するとき、記録を遡る時間 (単位は分)。-1 は制限な" +#~ "し、-2 は大域値" + +#, fuzzy +#~ msgid "A Password is required to join the group chat %s. Please type it." +#~ msgstr "談話室 %s に参加するにはパスワードが必要です。入力してください。" + +#~ msgid "Not in Roster" +#~ msgstr "名簿にありません" + +#~ msgid "I would like to add you to my roster" +#~ msgstr "私はあなたを名簿に追加したいと思っています" + +#~ msgid "Add to Roster" +#~ msgstr "名簿に追加" + +#~ msgid "Audio Session" +#~ msgstr "音声会話" + +#~ msgid "Manage Room" +#~ msgstr "談話室を管理" + +#~ msgid "Configure Room" +#~ msgstr "談話室を調整" + +#~ msgid "Destroy Room" +#~ msgstr "談話室を閉鎖" + +#~ msgid "Change Nick" +#~ msgstr "ニックネームを変更" + +#~ msgid "Disconnect" +#~ msgstr "切断" + +#~ msgid "Copy JID" +#~ msgstr "JID をコピー" + +#, fuzzy +#~ msgid "Add to Roster…" +#~ msgstr "名簿に追加" + +#, fuzzy +#~ msgid "Copy JID/Email" +#~ msgstr "JID/Eメールアドレスをコピー (_C)" + +#~ msgid "JID: %s" +#~ msgstr "JID: %s" + +#~ msgid "Changing Subject" +#~ msgstr "題の変更" + +#~ msgid "Please specify the new subject:" +#~ msgstr "新しい題を入力してください:" + +#~ msgid "Room logging is now enabled" +#~ msgstr "談話室の記録を取りはじめます" + +#~ msgid "Room logging is now disabled" +#~ msgstr "談話室の記録を止めます" + +#, fuzzy +#~ msgid "You (%s) joined the room" +#~ msgstr "%s さんが参加しました" + +#~ msgid "Room logging is enabled" +#~ msgstr "談話室の会話は記録されています" + +#~ msgid "Unable to join groupchat" +#~ msgstr "グループに参加できません" + +#~ msgid "Groupchat Invitation" +#~ msgstr "グループチャットへの招待" + +#~ msgid "%(jid)s has been invited in this room" +#~ msgstr "%(jid)s は既にこの談話室に招待されています" + +#~ msgid "JID is not a Groupchat" +#~ msgstr "JID はグループチャットではありません" + +#~ msgid "Invalid JID" +#~ msgstr "JID が正しくありません" + +#~ msgid "A connection is not available" +#~ msgstr "接続は有効ではありません" + +#~ msgid "JID already in list" +#~ msgstr "JID は一覧にあります" + +#~ msgid "Unsecure" +#~ msgstr "安全ではありません" + +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "その暗号化は有効な暗号化方式ではありません" + +#~ msgid "Removes contact from roster" +#~ msgstr "相手先を名簿から削除します" + +#~ msgid "Not in roster" +#~ msgstr "名簿にありません" + +#~ msgid "Contact signed in notification color." +#~ msgstr "相手先のサインインの通知の色。" + +#~ msgid "Contact signout notification color" +#~ msgstr "相手先のサインアウトの通知の色" + +#~ msgid "File transfer request notification color." +#~ msgstr "ファイル転送要求の通知の色。" + +#~ msgid "File transfer error notification color." +#~ msgstr "ファイル転送エラーの通知の色。" + +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "ファイル転送の完了または中止の通知の色。" + +#~ msgid "Groupchat invitation notification color" +#~ msgstr "グループチャットへの招待の通知の色" + +#~ msgid "Other dialogs color." +#~ msgstr "その他のダイアログの色。" + +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "* と [n] を名簿の題に追加するかどうか。" + +#~ msgid "Hides the banner in two persons chat window" +#~ msgstr "1対1チャットのウィンドウのバナーを表示しません" + +#~ msgid "" +#~ "Show the confirm metacontacts creation dialog or not? Empty string means " +#~ "never show the dialog." +#~ msgstr "" +#~ "メタ相手先の作成の確認のダイアログを表示するかどうか。空文字ならダイアログ" +#~ "を表示しません。" + +#~ msgid "If true, You will also see your webcam" +#~ msgstr "真なら、自分のウェブカメラも表示します。" + +#~ msgid "Space separated list of ssl errors to ignore." +#~ msgstr "無視すべき SSL のエラーの一覧 (空白で区切る)。" + +#~ msgid "Answer to receipt requests" +#~ msgstr "受領確認に応じます" + +#~ msgid "Language for which misspelled words will be checked" +#~ msgstr "スペル間違いを調べる言語" + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "食事のため、しばらく離れます。" + +#~ msgid "" +#~ "This message was encrypted with OpenPGP for XMPP and could not be " +#~ "decrypted." +#~ msgstr "" +#~ "このメッセージは OpenPGP for XMPP で暗号化されており、復号することができま" +#~ "せん。" + +#~ msgid "from room %s" +#~ msgstr " - 談話室 \"%s\"" + +#~ msgid "Leave Groupchats" +#~ msgstr "グループチャットから退出" + +#~ msgid "Auto Join" +#~ msgstr "自動参加" + +#~ msgid "Room" +#~ msgstr "談話室" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#~ msgid "Occupant Actions" +#~ msgstr "在室者の操作" + +#~ msgid "_Add to Roster" +#~ msgstr "名簿に追加 (A)" + +#~ msgid "_Manage Room" +#~ msgstr "談話室を管理 (_M)" + +#~ msgid "_Destroy Room" +#~ msgstr "談話室を閉鎖 (_D)" + +#~ msgid "Jabber ID" +#~ msgstr "Jabber ID" + +#, fuzzy +#~ msgid "account" +#~ msgstr "アカウント" + +#~ msgid "Roster" +#~ msgstr "名簿" + +#~ msgid "Show only in roster" +#~ msgstr "名簿にのみ表示する" + +#~ msgid "in _roster" +#~ msgstr "名簿で (_R)" + +#, fuzzy +#~ msgid "Roster Appearance" +#~ msgstr "名簿の外観" + +#, fuzzy +#~ msgid "Show chatstate in roster" +#~ msgstr "名簿に相手先のアバターを表示する (_V)" + +#~ msgid "_Add to Roster..." +#~ msgstr "名簿に追加...(_A)" + +#~ msgid "_Jabber ID:" +#~ msgstr "Jabber ID (_J):" + +#~ msgid "_Jabber ID" +#~ msgstr "Jabber ID (_J)" + +#~ msgid "JabberID" +#~ msgstr "JabberID" + +#~ msgid "Show Roster" +#~ msgstr "名簿を表示" + +#~ msgid "MUC server" +#~ msgstr "グループチャットのサーバー" + +#~ msgid "Roster Shortcuts" +#~ msgstr "名簿のショートカット" + +#~ msgid "Room Configuration" +#~ msgstr "談話室の調整" + +#~ msgid "Join _Group Chat" +#~ msgstr "グループチャットに参加 (_G)" + +#~ msgid "Toggle audio session" +#~ msgstr "音声セッションにする/しない" + +#~ msgid "Audio sessions are not available" +#~ msgstr "音声セッションは有効ではありません" + +#~ msgid "Conference" +#~ msgstr "会議室 (グループチャット)" + +#~ msgid "_Manage Bookmarks…" +#~ msgstr "ブックマークを管理…(_M)" + +#~ msgid "Hide _Roster" +#~ msgstr "名簿を閉じる (_R)" + +#~ msgid "Show _Roster" +#~ msgstr "名簿を表示 (_R)" + +#~ msgid "Invalid Room" +#~ msgstr "談話室が正しくありません" + +#~ msgid "Invalid room" +#~ msgstr "談話室名が正しくありません" + +#~ msgid "A GTK+ Jabber client" +#~ msgstr "GTK+ Jabber クライアント" + +#~ msgid "Changing Nickname" +#~ msgstr "ニックネームの変更" + +#~ msgid "Please specify the new nickname you want to use:" +#~ msgstr "使用する新しいニックネームを入力してください:" + +#~ msgid "Bookmark already set" +#~ msgstr "既にブックマーク" + +#, fuzzy +#~ msgid "Group Chat '%s' is already in your bookmarks." +#~ msgstr "グループチャット \"%s\" は既にブックマークにあります。" + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "ブックマークが追加されました" + +#, fuzzy +#~ msgid "" +#~ "You can manage your bookmarks by clicking the Bookmarks menu item in your " +#~ "contact list." +#~ msgstr "ブックマークは、名簿の「アクション」メニューから管理できます。" + +#~ msgid "The nickname contains invalid characters." +#~ msgstr "ニックネームに使用できない文字が含まれています。" + +#~ msgid "Bookmark Room" +#~ msgstr "この談話室をブックマークする" + +#~ msgid "_Join New Group Chat" +#~ msgstr "新しいグループチャットに参加 (_J)" + +#, fuzzy +#~ msgid "Name:" +#~ msgstr "名前: " + +#~ msgid "Description:" +#~ msgstr "説明:" + +#, fuzzy +#~ msgid "Address:" +#~ msgstr "アドレス (_A):" + +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "接続しないと、新しい会話を開始できません。" + +#, fuzzy +#~ msgid "Occupants" +#~ msgstr "在室者の操作" + +#~ msgid "Boolean" +#~ msgstr "真偽型" + +#~ msgid "Integer" +#~ msgstr "整数型" + +#~ msgid "Text" +#~ msgstr "文字列型" + +#~ msgid "Value" +#~ msgstr "値" + +#~ msgid "(None)" +#~ msgstr "(なし)" + +#~ msgid "Hidden" +#~ msgstr "(非表示)" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "プロキシの設定" + +#, fuzzy +#~ msgid "Properties" +#~ msgstr "プロパティ" + +#, fuzzy +#~ msgid "Proxy _Port" +#~ msgstr "プロキシのポート (_P):" + +#~ msgid "New Groupchat" +#~ msgstr "新しいグループチャット" + +#~ msgid "New Contact" +#~ msgstr "新しい相手先" + +#~ msgid "%s GiB" +#~ msgstr "%s GiB" + +#~ msgid "%s GB" +#~ msgstr "%s GB" + +#~ msgid "%s MiB" +#~ msgstr "%s MiB" + +#~ msgid "%s MB" +#~ msgstr "%s MB" + +#~ msgid "%s KiB" +#~ msgstr "%s KiB" + +#~ msgid "%s KB" +#~ msgstr "%s KB" + +#~ msgid "%s B" +#~ msgstr "%s B" + +#, fuzzy +#~ msgid "%s MiB/s" +#~ msgstr "%s MiB" + +#~ msgid "File transfer" +#~ msgstr "ファイルの転送" + +# #(Mako)Containing をどうする +#~ msgid "Open _Containing Folder" +#~ msgstr "フォルダを開く (_C)" + +#~ msgid "Default:" +#~ msgstr "デフォルト:" + +#~ msgid "Success!" +#~ msgstr "成功 !" + +#, fuzzy +#~ msgid "toolbutton" +#~ msgstr "ボタン" + +#~ msgid "Really quit Gajim?" +#~ msgstr "本当に Gajim を終了しますか ?" + +#~ msgid "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" +#~ msgstr "" +#~ "もうこれらの中継先 %s をとおして相手先にメッセージを送受信することはできま" +#~ "せん。" + +#~ msgid "Contact \"%s\" will be removed from your roster" +#~ msgstr "相手先 \"%s\" さんを名簿から削除します" + +#~ msgid "" +#~ "By removing this contact you also by default remove authorization " +#~ "resulting in them always seeing you as offline." +#~ msgstr "" +#~ "この相手先を名簿から削除すると、デフォルトで在席通知の承認も取り消します。" +#~ "相手先はあなたを常にオフラインとして見ることになります。" + +#~ msgid "Contacts will be removed from your roster" +#~ msgstr "相手先は名簿から削除されました" + +#~ msgid "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorization resulting in them always seeing you as " +#~ "offline." +#~ msgstr "" +#~ "これらの相手先: %s\n" +#~ "を名簿から削除すると、在席通知の承認も取り消します。相手先はあなたを常にオ" +#~ "フラインとして見ることになります。" + +#~ msgid "Con_tinue" +#~ msgstr "続ける (_T)" + +#~ msgid "_Pause" +#~ msgstr "一時停止 (_P)" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "ファイル転送を一覧から削除します。" + +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "" +#~ "一覧からひとつのファイル転送を削除します。転送中の場合、まず転送を中止し、" +#~ "それから削除します" + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "選択されたファイルの転送を中止します" + +# (Mako)この場合は「閉じる」 +#~ msgid "Hide the window" +#~ msgstr "ウィンドウを閉じる" + +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "ファイル転送が完了したら、ポップアップで知らせる" + +#~ msgid "From:" +#~ msgstr "差出人:" + +#~ msgid "Subject:" +#~ msgstr "件名:" + +#~ msgid "%s wants to send you a file:" +#~ msgstr "%s さんがファイルを転送したがっています:" + +#~ msgid "Name: " +#~ msgstr "名前: " + +#~ msgid "Pause" +#~ msgstr "一時停止" + +#~ msgid "Execute Command" +#~ msgstr "コマンド実行" + +#~ msgid "Type: " +#~ msgstr "種類: " + +#~ msgid "Transferred: " +#~ msgstr "転送: " + +#~ msgid "Completed" +#~ msgstr "完了しました" + +#~ msgid "Stalled" +#~ msgstr "滞っています" + +#~ msgid "Transferring" +#~ msgstr "転送しています" + +#~ msgid "Not started" +#~ msgstr "開始していません" + +#~ msgid "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "すべてのチャットとグループチャットのウィンドウを閉じます。続けますか ?" + +#~ msgid "" +#~ "Your desired nickname in group chat\n" +#~ "%s\n" +#~ "is in use or registered by another occupant.\n" +#~ "Please specify another nickname below:" +#~ msgstr "" +#~ "グループチャット\n" +#~ "%s\n" +#~ "で、ご希望のニックネームは既に他の在室者に使われています。\n" +#~ "別のニックネームを下に入力してください:" + +#~ msgid "_Configure" +#~ msgstr "調整 (_C)" + +#~ msgid "Change the avatar" +#~ msgstr "アバターを変更する" + +#~ msgid "" +#~ "Account in which the avatar will be set; if not specified, the avatar " +#~ "will be set for all accounts" +#~ msgstr "" +#~ "アバターを設定するアカウント。指定されない場合、アバターはすべてのアカウン" +#~ "トに設定されます" + +#~ msgid "add" +#~ msgstr "追加" + +#~ msgid "modify" +#~ msgstr "変更" + +#~ msgid "remove" +#~ msgstr "削除" + +#~ msgid "" +#~ "If true, restored messages will use a smaller font than the default one." +#~ msgstr "" +#~ "真なら、復元されたメッセージはデフォルトのフォントより小さいフォントを使い" +#~ "ます。" + +#, fuzzy +#~ msgid "Restored Message Color" +#~ msgstr "デフォルトの色に戻す (_R)" + +#~ msgid "" +#~ "You are going to remove this room permanently.\n" +#~ "You may specify a reason below:" +#~ msgstr "" +#~ "この談話室を閉鎖しようとしています。\n" +#~ "下に理由を入力できます:" + +#~ msgid "Send Cus_tom Status" +#~ msgstr "個別の在席状況を送信 (_T)" + +#~ msgid "" +#~ "You are about to send a custom status. Are you sure you want to continue?" +#~ msgstr "独自の在席状況を送信しようとしています。本当に続けますか ?" + +#~ msgid "" +#~ "This contact will temporarily see you as %(status)s, but only until you " +#~ "change your status. Then they will see your global status." +#~ msgstr "" +#~ "この相手先は、一時的にあなたを %(status)s と見ることになります。しかしそれ" +#~ "はあなたが在席状況を変更するまでの間です。その後はあなたの全体の在席状況を" +#~ "見ることになります。" + +#, fuzzy +#~ msgid "" +#~ msgstr "user@example.org" + +#, fuzzy +#~ msgid "" +#~ msgstr "題" + +#~ msgid "#" +#~ msgstr "#" + +#~ msgid "You are about to block a contact. Are you sure you want to continue?" +#~ msgstr "相手先を遮断しようとしています。本当に続けますか ?" + +#~ msgid "To:" +#~ msgstr "宛先:" + +#~ msgid "0" +#~ msgstr "0" + +#~ msgid "" +#~ "On startup, Gajim will download logs stored on server, provided the " +#~ "server supports XEP-0313" +#~ msgstr "" +#~ "Gajim 起動時にサーバーに保存されている記録をダウンロードします(サーバーが " +#~ "XEP-0313 に対応している場合)" + +#~ msgid "" +#~ "If enabled and if server supports this feature, Gajim will receive " +#~ "messages sent and received by other resources." +#~ msgstr "" +#~ "真にすると (かつサーバーがこの機能に対応している場合)、Gajim はほかのリ" +#~ "ソースによって送受されたメッセージを受信します。" + +#~ msgid "Reconnect when connection is lost" +#~ msgstr "切断したら自動で再接続する" + +#~ msgid "Server Message Archive" +#~ msgstr "サーバーでのメッセージ保管" + +#, fuzzy +#~ msgid "" +#~ "Messages get stored on the server. The archive is used to sync messages " +#~ "between multiple devices. (XEP-0313)" +#~ msgstr "" +#~ "メッセージをサーバーで保管します。\n" +#~ "保存は複数のデバイスでの同期に\n" +#~ "使用されます。\n" +#~ "XEP-0313" + +#~ msgid "Message Carbons" +#~ msgstr "メッセージ複写" + +#, fuzzy +#~ msgid "" +#~ "All your other online devices get copies of sent and received messages. " +#~ "XEP-0280" +#~ msgstr "" +#~ "送受信するメッセージのコピーを、自分の別の\n" +#~ "オンラインのデバイスすべてで受け取ります。\n" +#~ "XEP-0280" + +#~ msgid "" +#~ "Sent chat state notifications. Can be one of all, composing_only, " +#~ "disabled." +#~ msgstr "" +#~ "チャット状態通知の送信。all (すべての状態)、composing_only (入力中のみ)、" +#~ "disabled (通知しない) のいずれか。" + +#, fuzzy +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "操作しない時間の送信を許可する (_I)" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the idle time of your system" +#~ msgstr "" +#~ "チェックをつけると、Gajim はシステムの時刻を知られることを許可します" + +#, fuzzy +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "ローカルのシステムの時刻情報の送信を許可する" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the local time on your system" +#~ msgstr "" +#~ "チェックをつけると、Gajim はシステムの時刻を知られることを許可します" + +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "クライアントや OS 情報の送信を許可する (_O)" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the operating system you are " +#~ "using" +#~ msgstr "チェックをつけると、Gajim は使用中の OS を知られることを許可します" + +#, fuzzy +#~ msgid "" +#~ "If checked, incoming events from unauthorized contacts will be ignored. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster." +#~ msgstr "" +#~ "チェックをつけると、Gajim は承認していない相手先からのイベントを無視しま" +#~ "す。名簿にない相手先からのすべてのメッセージを遮断しますので、注意してくだ" +#~ "さい。" + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." +#~ msgstr "" +#~ "Gajim は、相手先との会話に関連するメタ情報の送受信ができます。ここでは、" +#~ "チャット状態の他人への送信について指定します。" + +#, fuzzy +#~ msgid "S_end chat state notifications" +#~ msgstr "チャット状態通知を送信する (_S)" + +#~ msgid "Login Options" +#~ msgstr "ログインオプション" + +#~ msgid "Please wait while retrieving search form..." +#~ msgstr "しばらくお待ちください…" + +#~ msgid "_Add contact" +#~ msgstr "相手先リストに追加 (_A)" + +#~ msgid "Ad-hoc Commands - Gajim" +#~ msgstr "Ad-hoc コマンド - Gajim" + +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "コマンド一覧を取得しています。しばらくお待ちください..." + +#~ msgid "Choose command to execute:" +#~ msgstr "実行するコマンドを選択してください:" + +#~ msgid "Check once more" +#~ msgstr "やり直す" + +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "コマンドを送信しています。しばらくお待ちください..." + +# (Mako)entity はしかたなくカタカナで +#~ msgid "This jabber entity does not expose any commands." +#~ msgstr "このエンティティはコマンドを受け付けません。" + +#~ msgid "F_inish" +#~ msgstr "完了 (_I)" + +#~ msgid "Waiting for results" +#~ msgstr "検索しています" + +#~ msgid "Error in received dataform" +#~ msgstr "データフォームを受ける際のエラー" + +#~ msgid "No result" +#~ msgstr "見つかりません" + +#~ msgid "Failed to get secret keys" +#~ msgstr "秘密鍵が見つかりません" + +#~ msgid "There is no OpenPGP secret key available." +#~ msgstr "利用できる OpenPGP の秘密鍵がありません。" + +#~ msgid "OpenPGP Key Selection" +#~ msgstr "OpenPGP キーの選択" + +#~ msgid "Choose your OpenPGP key" +#~ msgstr "OpenPGP の鍵を選択してください" + +#~ msgid "KeyID" +#~ msgstr "鍵 ID" + +#~ msgid "Contact name" +#~ msgstr "名前" + +#~ msgid "Formatting is not available so long as GPG is active" +#~ msgstr "GPG が有効の場合、書式設定は利用できません。" + +#~ msgid "OpenPGP is not usable" +#~ msgstr "OpenPGP は使用できません" + +#~ msgid "" +#~ "Gajim needs python-gnupg >= 0.3.8\n" +#~ "Beware there is an incompatible Python package called gnupg.\n" +#~ "You will be connected to %s without OpenPGP." +#~ msgstr "" +#~ "Gajim には python-gnupg (0.3.8 以上) が必要です。\n" +#~ "gnupg という python パッケージと互換性がないことに気をつけてください。\n" +#~ "OpenPGP なしに %s に接続されます。" + +#~ msgid "Assign OpenPGP Key" +#~ msgstr "OpenPGP 鍵の割り当て" + +#~ msgid "Select a key to apply to the contact" +#~ msgstr "相手先に適用する鍵を選択してください" + +#~ msgid "" +#~ "You configured Gajim to use OpenPGP agent, but there is no OpenPGP agent " +#~ "running or it returned a wrong passphrase.\n" +#~ msgstr "" +#~ "Gajim は OpenPGP エージェントを使用するよう設定されました。しかし、" +#~ "OpenPGP エージェントが起動していないか、あるいはパスフレーズが間違っていま" +#~ "す。\n" + +#~ msgid "You are currently connected without your OpenPGP key." +#~ msgstr "現在、OpenPGP 鍵を使わずに接続しています。" + +#~ msgid "Wrong passphrase" +#~ msgstr "パスフレーズが間違っています" + +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "OpenPGP のパスフレーズが間違っています" + +#~ msgid "Passphrase Required" +#~ msgstr "パスフレーズが必要です" + +#~ msgid "" +#~ "Enter OpenPGP key passphrase for key %(keyid)s (account %(account)s)." +#~ msgstr "" +#~ "鍵ID %(keyid)s (アカウント %(account)s) の OpenPGP 鍵のパスフレーズを入力" +#~ "してください。" + +#~ msgid "OpenPGP key expired" +#~ msgstr "OpenPGP 鍵は期限切れです" + +#~ msgid "" +#~ "Your OpenPGP key has expired, you will be connected to %s without OpenPGP." +#~ msgstr "" +#~ "OpenPGP 鍵は有効期限が切れています。OpenPGP なしに %s に接続します。" + +#~ msgid "Wrong Passphrase" +#~ msgstr "パスフレーズが間違っています" + +#~ msgid "Please retype your OpenPGP passphrase or press Cancel." +#~ msgstr "" +#~ "OpenPGP のパスフレーズをもういちど入力するか、または「中止」を押してくださ" +#~ "い。" + +#~ msgid "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "名簿の相手先にチャットのメッセージを送ります。OpenPGP 鍵とアカウントは、ど" +#~ "ちらも指定しなくてもかまいません。 'アカウント'(account) だけを設定して " +#~ "'OpenPGP 鍵' を設定したくない場合、'OpenPGP 鍵' は単に '' としてください。" + +#~ msgid "PGP key" +#~ msgstr "PGP 鍵" + +#~ msgid "if specified, the message will be encrypted using this public key" +#~ msgstr "指定した場合、メッセージはこの公開鍵で暗号化されます" + +#~ msgid "" +#~ "Sends a chat message to someone on your roster. Optionally with OpenPGP " +#~ "key and account. If you want to only set the latter, set OpenPGP key to " +#~ "\"\"." +#~ msgstr "" +#~ "名簿の相手先にチャットのメッセージを送ります。OpenPGP 鍵とアカウントは、指" +#~ "定しなくてもかまいません。 'アカウント'(account) だけを設定したい場" +#~ "合、'OpenPGP 鍵' は単に \"\" としてください。" + +#~ msgid "Sets the encoding used by python-gnupg" +#~ msgstr "python-gnupg による暗号化を行います" + +#~ msgid "" +#~ "If disabled, don't sign presences with GPG key, even if GPG is configured." +#~ msgstr "" +#~ "偽なら、たとえ GPG が設定されていても、GPG 鍵による署名を行いません。" + +#~ msgid "OpenPGP:" +#~ msgstr "OpenPGP:" + +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "OpenPGP 鍵を割り当て...(_P)" + +#, fuzzy +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "OpenPGP メッセージ暗号化" + +#, fuzzy +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "チャットメッセージを OpenPGP 鍵で暗号化できます。" + +#, fuzzy +#~ msgid "Requires: gpg and python-gnupg (%(url)s)" +#~ msgstr "upower と python-dbus が必要です(%(url)s)。" + +#, fuzzy +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "gpg.exe が PATH に必要です。" + +#~ msgid "Use PGP Agent" +#~ msgstr "PGP エージェントを使う" + +#~ msgid "OpenPGP Key" +#~ msgstr "OpenPGP 鍵" + +#~ msgid "Cancel confirmation" +#~ msgstr "中止の確認" + +#~ msgid "" +#~ "You are in process of executing command. Do you really want to cancel it?" +#~ msgstr "コマンドの実行中です。本当に中止しますか ?" + +#~ msgid "Service sent malformed data" +#~ msgstr "サービスは不正なデータを送信しました" + +#~ msgid "Service changed the session identifier." +#~ msgstr "サービスはセッション ID を変更しました。" + +#~ msgid "%s - Ad-hoc Commands - Gajim" +#~ msgstr "%s - Ad-hoc コマンド - Gajim" + +#~ msgid "Service returned an error." +#~ msgstr "サービスはエラーを返しました。" + +#~ msgid "You are invited to a groupchat" +#~ msgstr "グループチャットへの招待を受けました" + +#~ msgid "" +#~ "Issued to:\n" +#~ "Common Name (CN): %(scn)s\n" +#~ "Organization (O): %(sorg)s\n" +#~ "Organizationl Unit (OU): %(sou)s\n" +#~ "Serial Number: %(sn)s\n" +#~ "\n" +#~ "Issued by:\n" +#~ "Common Name (CN): %(icn)s\n" +#~ "Organization (O): %(iorg)s\n" +#~ "Organizationl Unit (OU): %(iou)s\n" +#~ "\n" +#~ "Validity:\n" +#~ "Issued on: %(io)s\n" +#~ "Expires on: %(eo)s\n" +#~ "\n" +#~ "Fingerprint\n" +#~ "SHA-1 Fingerprint: %(sha1)s\n" +#~ "\n" +#~ "SHA-256 Fingerprint: %(sha256)s\n" +#~ msgstr "" +#~ "発行先:\n" +#~ "共通名 (CN): %(scn)s\n" +#~ "組織 (O): %(sorg)s\n" +#~ "部門 (OU): %(sou)s\n" +#~ "シリアル番号: %(sn)s\n" +#~ "\n" +#~ "発行者:\n" +#~ "共通名 (CN): %(icn)s\n" +#~ "組織 (O): %(iorg)s\n" +#~ "部門 (OU): %(iou)s\n" +#~ "\n" +#~ "妥当性:\n" +#~ "発行日: %(io)s\n" +#~ "有効期限: %(eo)s\n" +#~ "\n" +#~ "指紋\n" +#~ "SHA-1 指紋: %(sha1)s\n" +#~ "\n" +#~ "SHA256 指紋: %(sha256)s\n" + +#~ msgid "_Start Chat" +#~ msgstr "チャットを開始 (_S)" + +#~ msgid "Au_thorize" +#~ msgstr "承認する (_T)" + +#~ msgid "Really send file?" +#~ msgstr "ファイルを送信しますか ?" + +#~ msgid "You are currently connected to the server" +#~ msgstr "現在サーバーに接続している状態です" + +#~ msgid "To disable the account, you must be disconnected." +#~ msgstr "アカウントを無効にするには、接続を切ってください。" + +#~ msgid "Do you wish to delete all correspondence with %(jid)s?" +#~ msgstr "本当に、%(jid)s の記録を削除しますか ?" + +#~ msgid "Do you wish to delete all correspondence with the selected contacts?" +#~ msgstr "本当に、選択した相手先の記録を削除しますか ?" + +#~ msgid "What do you want to do?" +#~ msgstr "あなたがやりたいことは ?" + +#~ msgid "" +#~ "List of colors, separated by \":\", that will be used to color nicknames " +#~ "in group chats." +#~ msgstr "グループチャットのニックネームに使われる色 (\":\"で区切る)。" + +#~ msgid "You have received new entries (and %d not displayed):" +#~ msgid_plural "You have received new entries (and %d not displayed):" +#~ msgstr[0] "新しいエントリーを受け取りました (%d 件が表示されません):" +#~ msgstr[1] "新しいエントリーを受け取りました (%d 件が表示されません):" + +#~ msgid "Stopped" +#~ msgstr "停止しています" + +#~ msgid "" +#~ "You are about to send your password on an insecure connection. You should " +#~ "install PyOpenSSL to prevent that. Are you sure you want to do that?" +#~ msgstr "" +#~ "安全でない接続でパスワードを送ろうとしています。それを避けるには " +#~ "PyOpenSSL をインストールする必要があります。それでも続けますか ?" + +#, fuzzy +#~ msgid "Status messages displayed in chat window" +#~ msgstr "メッセージを送信してウィンドウを閉じる" + +#~ msgid "?print_status:All" +#~ msgstr "すべて" + +#~ msgid "Enter and leave only" +#~ msgstr "入退室のみ" + +#~ msgid "?print_status:None" +#~ msgstr "なし" + +#~ msgid "Untrusted OpenPGP key" +#~ msgstr "信用のない OpenPGP 鍵" + +#~ msgid "" +#~ "The OpenPGP key used to encrypt this chat is not trusted. Do you really " +#~ "want to encrypt this message?" +#~ msgstr "" +#~ "このチャットの暗号化に使った OpenPGP 鍵には信用がありません。本当にこの" +#~ "メッセージを暗号化しますか ?" + +#~ msgid "D-Bus python bindings are missing in this computer" +#~ msgstr "このコンピューターには D-Bus python 結合がありません" + +#~ msgid "D-Bus capabilities of Gajim cannot be used" +#~ msgstr "Gajim の D-Bus に関する性能を使用できません。" + +#~ msgid "D-Bus does not run correctly on this machine" +#~ msgstr "このコンピューターでは D-Bus が正しく機能していません" + +#~ msgid "D-Bus does not run correctly on this machine: system bus not present" +#~ msgstr "" +#~ "このコンピューターでは D-Bus が正しく機能していません: システムバスがあり" +#~ "ません" + +#~ msgid "" +#~ "D-Bus does not run correctly on this machine: session bus not present" +#~ msgstr "" +#~ "このコンピューターでは D-Bus が正しく機能していません: セッションバスがあ" +#~ "りません" + +#, fuzzy +#~ msgid "Command line Control" +#~ msgstr "コマンド行" + +#, fuzzy +#~ msgid "Enables you to control Gajim with via commandline" +#~ msgstr "コマンド行から Gajim を制御するスクリプトです。" + +#~ msgid "Non Anonymous Server" +#~ msgstr "非匿名サーバー" + +#~ msgid "" +#~ "When is self contact row displayed. Can be \"always\", " +#~ "\"when_other_resource\" or \"never\"" +#~ msgstr "" +#~ "自分自身を相手先として表示するかどうか。\"always\"(常" +#~ "に)、\"when_other_resource\"(リソースが異なる場合)、\"never\"(表示しない)" +#~ "のいずれか。" + +#~ msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +#~ msgstr "%(nick)s は %(who)s によって蹴り出されました: %(reason)s" + +#~ msgid "%(nick)s has been banned by %(who)s: %(reason)s" +#~ msgstr "%(nick)s は %(who)s: によって締め出されました: %(reason)s" + +#~ msgid "system shutdown" +#~ msgstr "システムのシャットダウン" + +#~ msgid "** Role of %(nick)s has been set to %(role)s" +#~ msgstr "** %(nick)s さんの役は %(role)s に設定されました" + +#~ msgid "%s has left" +#~ msgstr "%s さんが退出しました" + +#~ msgid "%s is full" +#~ msgstr "%s は満室です" + +#~ msgid "" +#~ "Can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no " +#~ "longer print status line in groupchats when a member changes their status " +#~ "and/or their status message. If \"all\" Gajim will print all status " +#~ "messages. If \"in_and_out\", Gajim will only print FOO enters/leaves " +#~ "group chat." +#~ msgstr "" +#~ "\"none\"(なし), \"all\"(すべて) または \"in_and_out\"(入退室のみ)。\"none" +#~ "\"(なし)なら、Gajim はグループチャットに参加者が在席状況を変えた場合でもそ" +#~ "れを表示しません。\"all\"(すべて)なら、すべての状況メッセージを表示しま" +#~ "す。\"in_and_out\"(入退室のみ)なら、Gajim はグループチャットへの参加/退出" +#~ "のみを表示します。" + +#, fuzzy +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "名簿に相手先の状況メッセージを表示する (_M)" + +#~ msgid "" +#~ "Please copy / paste the refresh token from the website that has just been " +#~ "opened." +#~ msgstr "" +#~ "表示された web サイトから新しいトークンをコピー/ペーストしてください。" + +#~ msgid "Oauth2 Credentials" +#~ msgstr "Oauth2 信任状" + +#~ msgid "" +#~ "You are about to send your password unencrypted on an insecure " +#~ "connection. Are you sure you want to do that?" +#~ msgstr "" +#~ "安全でない接続で暗号化されていないパスワードを送ろうとしています。それでも" +#~ "続けますか ?" + +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "最近の Oauth 2.0 認証のトークン" + +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "Oauth 2.0 認証の client_id" + +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "Oauth 2.0 認証の redirect_url" + +# (Mako)この場合 Disabled は「表示しない」とするべきか +#~ msgid "" +#~ "Displayed chat state notifications in chat windows. Can be one of all, " +#~ "composing_only, disabled." +#~ msgstr "" +#~ "チャットウィンドウに表示されるチャット状態通知。all (すべての状態)、" +#~ "composing_only (入力中のみ)、disabled (通知しない) のいずれか。" + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." +#~ msgstr "" +#~ "Gajim は、相手先との会話に関連するメタ情報の送受信ができます。ここでは、" +#~ "チャットウィンドウへのチャット状態の表示について指定します。" + +#~ msgid "This is an irreversible operation." +#~ msgstr "これは不可逆的な操作です。" + +#~ msgid "Settings" +#~ msgstr "設定" + +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "Gajim 履歴記録マネージャー" + +#~ msgid "Toggle full / compact view" +#~ msgstr "全表示/簡易表示を切替" + +#~ msgid "Member List" +#~ msgstr "メンバーの一覧" + +#~ msgid "Owner List" +#~ msgstr "主宰者の一覧" + +#~ msgid "Administrator List" +#~ msgstr "管理人の一覧" + +#~ msgid "Nick" +#~ msgstr "ニックネーム" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "誰を締め出しますか ?\n" +#~ "\n" + +#~ msgid "Adding Member…" +#~ msgstr "メンバーを追加…" + +#~ msgid "" +#~ "Whom do you want to make a member?\n" +#~ "\n" +#~ msgstr "" +#~ "誰をメンバーにしますか ?\n" +#~ "\n" + +#~ msgid "Adding Owner…" +#~ msgstr "主宰者を追加…" + +#~ msgid "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" +#~ msgstr "" +#~ "誰を主宰者にしますか ?\n" +#~ "\n" + +#~ msgid "Adding Administrator…" +#~ msgstr "管理人を追加…" + +#~ msgid "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" +#~ msgstr "" +#~ "誰を管理人にしますか ?\n" +#~ "\n" + +#~ msgid "Error reading file:" +#~ msgstr "ファイル読み込みエラー:" + +#~ msgid "Error parsing file:" +#~ msgstr "ファイル解析エラー:" + +#~ msgid "List of possible features in Gajim:" +#~ msgstr "Gajim の現在有効な機能の一覧:" + +#~ msgid "Description" +#~ msgstr "説明" + +#~ msgid "Password encryption" +#~ msgstr "パスワード暗号化" + +#~ msgid "On Windows the Windows Credential Vault is used." +#~ msgstr "Windows では資格情報保存庫 (Windows Credential Vault) を使います。" + +#~ msgid "Spellchecking of composed messages." +#~ msgstr "入力するメッセージのスペルチェックをします。" + +#~ msgid "Automatic status" +#~ msgstr "在席状況の自動変更" + +#~ msgid "Requires python2.5." +#~ msgstr "python2.5 が必要です。" + +#~ msgid "" +#~ "Generate XHTML output from RST code (see http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "RST コードから XHTML 出力を生成します (http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html を参照してください)。" + +#~ msgid "UPnP-IGD" +#~ msgstr "UPnP-IGD" + +#~ msgid "?features:Available" +#~ msgstr "有効" + +#~ msgid "Feature" +#~ msgstr "機能" + +#~ msgid "Filter:" +#~ msgstr "フィルター:" + +#, fuzzy +#~ msgid "Spell _checker" +#~ msgstr "スペルチェッカー" + +#~ msgid "Chat Appearance" +#~ msgstr "チャットの外観" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed out" +#~ msgstr "" +#~ "画面の右下のポップアップウィンドウで、相手先がサインアウトしたときに通知し" +#~ "ます" + +#~ msgid "Sounds" +#~ msgstr "耳への通知" + +#~ msgid "Chat state notifications" +#~ msgstr "チャット状態の通知" + +#~ msgid "_Away after" +#~ msgstr "「離席中」にする (_A)" + +#~ msgid "" +#~ "If checked, Gajim will change status to Away when the computer is unused." +#~ msgstr "" +#~ "チェックをつけると、Gajim はコンピューターが使われていないとき、在席状況を" +#~ "「離席中」に変更します" + +#~ msgid "_Not available after" +#~ msgstr "「不在」にする (_N)" + +#~ msgid "Auto Status" +#~ msgstr "在席状況の自動変更" + +#~ msgid "Status Messages" +#~ msgstr "在席状況のメッセージ" + +#~ msgid "Audio" +#~ msgstr "音声" + +#~ msgid "Video" +#~ msgstr "ビデオ" + +#~ msgid "(example: stun.iptel.org)" +#~ msgstr "(例: stun.iptel.org)" + +#~ msgid "Connection" +#~ msgstr "接続" + +#~ msgid "Custom" +#~ msgstr "カスタム" + +#~ msgid "Privacy" +#~ msgstr "プライバシー" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "詳細設定エディター" + +#~ msgid "" +#~ "Gajim is a chat client to be used with Jabber.org, Live Journal Talk, " +#~ "Nimbuzz, Ovi, Talkonaut, and thousands of other services run by companies " +#~ "and ISPs, and volunteers around the world." +#~ msgstr "" +#~ "Gajim は、Jabber.org, Live Journal Talk, Nimbuzz, Ovi, Talkonaut やそのほ" +#~ "か世界中の会社、ISP、ボランティアによる数多のサービスで使うことのできる" +#~ "チャットクライアントです。" + +#~ msgid "" +#~ "If you have a few accounts on different servers, if you want to be in " +#~ "contact with your friends and family all the time, then Gajim is for you." +#~ msgstr "" +#~ "もし複数のサーバーのアカウントを持っていて、いつも友人や家族と連絡をとりた" +#~ "いと思っているなら、Gajim はそれにもってこいです。" + +#~ msgid "Tabbed chat window and single window modes" +#~ msgstr "タブ化チャットウィンドウと単一ウィンドウのモード" + +#~ msgid "" +#~ "Group chat support (with Multi-User Chat protocol), invitation, chat to " +#~ "group chat transformation" +#~ msgstr "" +#~ "グループチャットに対応 (Multi-User Chat プロトコル)、招待、グループチャッ" +#~ "ト中継先とのチャット" + +#, fuzzy +#~ msgid "Emojis, avatars, PEP (user activity, mood and tune)" +#~ msgstr "感情アイコン、アバター、PEP (ユーザーの動向、気分、聴いている楽曲)" + +#~ msgid "Audio / video conferences" +#~ msgstr "音声/ビデオ会議" + +#~ msgid "File transfer, room bookmarks" +#~ msgstr "ファイル転送、談話室のブックマーク" + +#~ msgid "Metacontacts support" +#~ msgstr "メタ相手先に対応" + +#~ msgid "Trayicon, speller, extended chat history functionalities" +#~ msgstr "タスクトレイアイコン、スペルチェッカー、豊富なチャット履歴の機能" + +#~ msgid "TLS, GPG and End-To-End encryption support" +#~ msgstr "TLS, GPG, 終端間暗号化に対応" + +#~ msgid "Transport registration support" +#~ msgstr "中継先登録に対応" + +#~ msgid "Wikipedia, dictionary and search engine lookup" +#~ msgstr "Wikipedia や辞書、サーチエンジンの検索" + +#~ msgid "Multiple accounts support" +#~ msgstr "複数アカウントに対応" + +#~ msgid "XML console interface" +#~ msgstr "XML コンソールインターフェース" + +#~ msgid "" +#~ "A programming error has been detected. It probably is not fatal, but " +#~ "should be reported to the developers nonetheless." +#~ msgstr "" +#~ "プログラミングのエラーを検出しました。これは致命的ではありません。しかし、" +#~ "開発者に報告してください。" + +#~ msgid "" +#~ "A list of modp groups to use in a Diffie-Hellman, highest preference " +#~ "first, separated by commas. Valid groups are 1, 2, 5, 14, 15, 16, 17 and " +#~ "18. Higher numbers are more secure, but take longer to calculate when you " +#~ "start a session." +#~ msgstr "" +#~ "Diffie-Hellman 鍵の生成に使用される modp グループの一覧。コンマで区切り、" +#~ "はじめほど使われやすくなります。グループの正しい値は 1, 2, 5, 14, 15, 16, " +#~ "17, 18 です。大きな数値ほど安全ですが、セッションを始める際に計算に時間が" +#~ "かかります。" + +#~ msgid "(ESession info)" +#~ msgstr "(ESession 情報)" + +#~ msgid "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" +#~ msgstr "" +#~ "「無効」でなければ、Gajim は ':)' のようなスマイリーを対応する画像に置き換" +#~ "えます" + +#~ msgid "_Emoticons" +#~ msgstr "感情アイコン (_E)" + +#~ msgid "_Highlight misspelled words" +#~ msgstr "スペル間違いを強調表示する (_H)" + +#~ msgid "Notify by icon when your messages are received" +#~ msgstr "メッセージが相手先に届いたらアイコンで通知する" + +#~ msgid "T_heme" +#~ msgstr "テーマ (_H)" + +#~ msgid "Themes" +#~ msgstr "テーマ" + +#~ msgid "Always use this nickname when there is a conflict" +#~ msgstr "衝突が生じたときはいつもこのニックネームを使う" + +# (Mako) sha がよくわからない。とりあえずそのままで。presence はとりあえず「相手先」 +#~ msgid "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." +#~ msgstr "" +#~ "Jabberd1.4 は、パスワードで保護されたグループチャットに誰かが参加する際 " +#~ "sha のような情報を好みません。このオプションを偽にすると、グループチャット" +#~ "の相手先に sha を送るのをやめます。" + +# (Mako)あえて訳さない +#~ msgid "Presence" +#~ msgstr "Presence" + +# (Mako)あえて訳さない +#~ msgid "Iq" +#~ msgstr "Iq" + +#~ msgid "Emoticons disabled" +#~ msgstr "感情アイコンは無効" + +#~ msgid "" +#~ "Your configured emoticons theme could not be loaded. See the log for more " +#~ "details." +#~ msgstr "" +#~ "指定された感情アイコンのテーマを読み込めませんでした。詳細はログを参照して" +#~ "ください。" + +#~ msgid "You cannot make changes to the default theme" +#~ msgstr "デフォルトテーマは変更できません。" + +#~ msgid "theme name" +#~ msgstr "テーマ名" + +#~ msgid "You cannot delete your current theme" +#~ msgstr "現在のテーマは削除できません" + +#~ msgid "Pick another theme to use first." +#~ msgstr "最初に使う別のテーマを選ぶ" + +#~ msgid "New Single Message from %(nickname)s" +#~ msgstr "%(nickname)s からの新しい単発メッセージ" + +#~ msgid "New Private Message from group chat %s" +#~ msgstr "グループチャット %s からの新着の私信" + +#~ msgid "%(nickname)s: %(message)s" +#~ msgstr "%(nickname)s さん: %(message)s" + +#~ msgid "Messaged by %(nickname)s" +#~ msgstr "%(nickname)s さんからのメッセージ" + +#~ msgid "Status message text color." +#~ msgstr "状況メッセージ文の色。" + +#~ msgid "Incoming nickname font." +#~ msgstr "受信のニックネームのフォント。" + +#~ msgid "Outgoing nickname font." +#~ msgstr "送信のニックネームのフォント。" + +#~ msgid "Status message text font." +#~ msgstr "状況メッセージの文のフォント。" + +#~ msgid "Background color of contacts when they just signed in." +#~ msgstr "相手先がちょうどサインインしたときの背景色。" + +#~ msgid "Background color of contacts when they just signed out." +#~ msgstr "相手先がちょうどサインアウトしたときの背景色。" + +#~ msgid "green" +#~ msgstr "green" + +#~ msgid "grocery" +#~ msgstr "grocery" + +#~ msgid "human" +#~ msgstr "human" + +#~ msgid "marine" +#~ msgstr "marine" + +#~ msgid "Contact row" +#~ msgstr "相手先の行" + +#~ msgid "Chat Banner" +#~ msgstr "チャットのバナー" + +#~ msgid "Gajim Themes Customization" +#~ msgstr "Gajim テーマのカスタマイズ" + +#~ msgid "Text _color:" +#~ msgstr "文字の色 (_C):" + +#~ msgid "_Background:" +#~ msgstr "背景色 (_B):" + +#~ msgid "Text _font:" +#~ msgstr "フォント (_F):" + +#~ msgid "Font style:" +#~ msgstr "フォントのスタイル:" + +#~ msgid "Paused" +#~ msgstr "休止中" + +#~ msgid "Gone" +#~ msgstr "終了" + +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "" +#~ "グループチャット\n" +#~ "メッセージ" + +#~ msgid "Chatstate Tab Colors" +#~ msgstr "チャット状態のタブの色" + +#, fuzzy +#~ msgid "Chat message" +#~ msgstr "チャットメッセージ:" + +#~ msgid "Use system _default" +#~ msgstr "システムのデフォルトを使う (_D)" + +#~ msgid "Font" +#~ msgstr "フォント" + +#, fuzzy +#~ msgid "Contact's nickname" +#~ msgstr "相手先のニックネーム:" + +#, fuzzy +#~ msgid "_Status message" +#~ msgstr "状況メッセージ (_S):" + +#, fuzzy +#~ msgid "Your message" +#~ msgstr "あなたのメッセージ:" + +# (Mako)あえてカッコ書き +#, fuzzy +#~ msgid "_URL highlight" +#~ msgstr "URL 強調表示 (_U):" + +#~ msgid "Chat Line Colors" +#~ msgstr "チャット行の色" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#~ msgid "Resource:" +#~ msgstr "リソース:" + +#~ msgid "Status:" +#~ msgstr "在席状況:" + +#~ msgid "Contact time:" +#~ msgstr "通話時間:" + +# (Mako)pending の意味か +#~ msgid "Ask:" +#~ msgstr "保留中の申し込み:" + +#~ msgid "Subscription:" +#~ msgstr "在席通知:" + +#~ msgid "Name:" +#~ msgstr "名前:" + +#~ msgid "Nickname:" +#~ msgstr "ニックネーム:" + +#~ msgid "Street:" +#~ msgstr "町丁名・番地:" + +#~ msgid "City:" +#~ msgstr "市(町村):" + +#~ msgid "State:" +#~ msgstr "州(県):" + +#~ msgid "Extra Address:" +#~ msgstr "建物名など:" + +#~ msgid "Postal Code:" +#~ msgstr "郵便番号:" + +#~ msgid "Country:" +#~ msgstr "国:" + +#~ msgid "Homepage:" +#~ msgstr "ホームページ:" + +#~ msgid "E-Mail:" +#~ msgstr "メールアドレス:" + +#~ msgid "Phone No.:" +#~ msgstr "電話番号:" + +#~ msgid "Birthday:" +#~ msgstr "誕生日:" + +#~ msgid "Family:" +#~ msgstr "姓:" + +#~ msgid "Middle:" +#~ msgstr "Middle:" + +#~ msgid "Prefix:" +#~ msgstr "Prefix:" + +#~ msgid "Given:" +#~ msgstr "名:" + +#~ msgid "Suffix:" +#~ msgstr "Suffix:" + +#~ msgid "Full Name" +#~ msgstr "名前(フルネーム)" + +#~ msgid "Company:" +#~ msgstr "会社:" + +#~ msgid "Department:" +#~ msgstr "部署:" + +#~ msgid "Position:" +#~ msgstr "役職:" + +# (Mako)vcard では「職種」が適切 +#~ msgid "Role:" +#~ msgstr "職種:" + +#~ msgid "- messages will be logged" +#~ msgstr "- メッセージは記録されます" + +#~ msgid "- messages will not be logged" +#~ msgstr "- メッセージは記録されません" + +#~ msgid "Edit %s" +#~ msgstr "%s を編集" + +#~ msgid "Conversation History with %s" +#~ msgstr "%s さんとの会話の履歴" + +#~ msgid "Contact with \"%s\" cannot be established" +#~ msgstr "\"%s\" との接続は確立できません" + +#~ msgid "Registration information for transport %s has not arrived in time" +#~ msgstr "中継先 %s の登録情報が一定時間内に到達しませんでした" + +#~ msgid "Register to" +#~ msgstr "登録 " + +#~ msgid "Enter name / JID of contact or groupchat" +#~ msgstr "相手先またはグループチャットの名前 / JID を入力してください" + +#~ msgid "Search:" +#~ msgstr "検索:" + +#~ msgid "_In date search" +#~ msgstr "ある日の中で検索 (_I)" + +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "接続しないと、パスワードは変更できません。" + +#~ msgid "Invalid password" +#~ msgstr "パスワードが正しくありません。" + +#~ msgid "The passwords typed in both fields must be identical." +#~ msgstr "ふたつの欄のパスワードは同じにしてください。" + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "確認のためもう一度入力してください:" + +#~ msgid "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" +#~ msgstr "" +#~ "JID %s は規格 (RFC) に合っていません。名簿には追加されません。これを削除す" +#~ "るには、http://jru.jabberstudio.org/ のような名簿管理ツールを使ってくださ" +#~ "い。" + +# (Mako) 実際に使われている場所を確認していないが、強引に訳す +#~ msgid "unsubscribe request from %s" +#~ msgstr "%s から継読中止の要求" + +#~ msgid "<empty>" +#~ msgstr "<空>" + +#~ msgid "Homepage:" +#~ msgstr "ホームページ:" + +#~ msgid "Manage Bookmarks" +#~ msgstr "ブックマークを管理" + +#~ msgid "_Nickname:" +#~ msgstr "ニックネーム (_N):" + +#~ msgid "Pr_int status:" +#~ msgstr "状況の表示 (_I):" + +#~ msgid "Add JID" +#~ msgstr "JID を追加" + +#~ msgid "All non-compliant MAM Groupchats" +#~ msgstr "すべての MAM 非対応のグループチャット" + +#~ msgid "Preference:" +#~ msgstr "設定:" + +#~ msgid "Preference" +#~ msgstr "設定" + +#~ msgid "JID:" +#~ msgstr "JID:" + +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "アカウント %s に追加する相手先の情報を入力してください" + +#~ msgid "Please fill in the data of the contact you want to add" +#~ msgstr "追加する相手先の情報を入力してください" + +#~ msgid "Recently" +#~ msgstr "最近使った" + +#~ msgid "Add New Contact" +#~ msgstr "新しい相手先を追加する" + +#~ msgid "_User ID:" +#~ msgstr "ユーザー ID (_U):" + +#~ msgid "Type User ID" +#~ msgstr "ユーザー ID を入力" + +#~ msgid "Type Nickname" +#~ msgstr "ニックネーム を入力" + +#~ msgid "Personal Information" +#~ msgstr "個人情報" + +#~ msgid "Avatar:" +#~ msgstr "アバター:" + +#~ msgid "Click to set your avatar" +#~ msgstr "アバターの設定" + +#~ msgid "Remove Avatar" +#~ msgstr "アバターを削除" + +#~ msgid "Not fetched because of invisible status" +#~ msgstr "在席状況が「居ないふり」のため取得できません" + +#~ msgid "Please wait..." +#~ msgstr "しばらくお待ちください..." + +#~ msgid "" +#~ "When negotiating an encrypted session, should Gajim assume you want your " +#~ "messages to be logged?" +#~ msgstr "" +#~ "暗号化セッションを確立しようとする際、メッセージの記録をとりたいと仮定する" +#~ "かどうか" + +#~ msgid "Log _encrypted chat session" +#~ msgstr "暗号化チャットを記録する (_E)" + +#~ msgid "" +#~ "If checked, Gajim will keep logs for encrypted messages. Please note that " +#~ "when using end-to-end encryption the remote party has to agree on " +#~ "logging, else the messages will not be logged." +#~ msgstr "" +#~ "チェックをつけると、Gajim は暗号化されたメッセージを記録に残します。終端間" +#~ "暗号化 (E2EE) の場合は相手先が記録に同意してなければなりません。そうでなけ" +#~ "れば記録しないでください。" + +#~ msgid "Yahoo! Address:" +#~ msgstr "Yahoo! アドレス:" + +#~ msgid "Forward unread messages" +#~ msgstr "未読メッセージの転送" + +#~ msgid "All unread messages have been forwarded." +#~ msgstr "すべての未読メッセージが転送されました。" + +#~ msgid "Forward unread message then disconnect" +#~ msgstr "未読メッセージを転送してから切断" + +#~ msgid "MSN Address:" +#~ msgstr "MSN アドレス:" + +#~ msgid "Confirm these session options" +#~ msgstr "セッションのオプションを確認する" + +#~ msgid "" +#~ "The remote client wants to negotiate a session with these features:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Are these options acceptable?" +#~ msgstr "" +#~ "遠くのクライアントが次の機能とともにセッションを確立しようとしています:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "これらのオプションを受け付けますか ?" + +#~ msgid "" +#~ "The remote client selected these options:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Continue with the session?" +#~ msgstr "" +#~ "遠くのクライアントが次のオプションを選択しました:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "セッションを続けますか ?" + +#~ msgid "Always accept for this contact" +#~ msgstr "この相手先を常に受け入れるかどうか" + +#~ msgid "End to End message encryption" +#~ msgstr "全線暗号化" + +#~ msgid "Encrypting chat messages." +#~ msgstr "チャットのメッセージを終端間で暗号化します (E2EE)。" + +#~ msgid "Requires python-crypto." +#~ msgstr "python-crypto が必要です。" + +#~ msgid "Session negotiation cancelled" +#~ msgstr "セッションの確立を中止しました" + +#~ msgid "This session WILL NOT be archived on server" +#~ msgstr "セッションはサーバーに記録されません" + +#~ msgid "This session is encrypted" +#~ msgstr "このセッションは暗号化されています" + +#~ msgid " and WILL be logged" +#~ msgstr " かつ、記録されます" + +#~ msgid " and WILL NOT be logged" +#~ msgstr " かつ、記録されません" + +#~ msgid "" +#~ "Remote contact's identity not verified. Click the shield button for more " +#~ "details." +#~ msgstr "" +#~ "遠くの相手先の同一性は検証されませんでした。詳しくは盾ボタンをクリックして" +#~ "ください。" + +#~ msgid "end-to-end encryption disabled" +#~ msgstr "終端間暗号化は無効" + +#~ msgid "" +#~ "Unable to decrypt message from %s\n" +#~ "It may have been tampered with." +#~ msgstr "" +#~ "%s さんからのメッセージを復号できません\n" +#~ "改竄の可能性があります。" + +#~ msgid "Unable to decrypt message" +#~ msgstr "メッセージを復号できません" + +#~ msgid "Enable ESessions encryption for this account." +#~ msgstr "このアカウントの暗号化セッションを有効にします。" + +#~ msgid "Should Gajim automatically start an encrypted session when possible?" +#~ msgstr "Gajim は (可能なら) 自動的に暗号化セッションを始めるべきかどうか。" + +#~ msgid "" +#~ "[This is part of an encrypted session. If you see this message, something " +#~ "went wrong.]" +#~ msgstr "" +#~ "[暗号化セッションの途中です。このメッセージを見ているということは、何か失" +#~ "敗しています。]" + +#~ msgid "Requires python-avahi." +#~ msgstr "python-avahi が必要です。" + +#~ msgid "Save Image as…" +#~ msgstr "画像の保存…" + +#~ msgid "Exporting History Logs…" +#~ msgstr "履歴記録を書き出しています…" + +#~ msgid "Choose Client Cert #PCKS12" +#~ msgstr "#PCKS12 形式のクライアント証明書の選択" + +#~ msgid "When %s becomes:" +#~ msgstr "%s が次のようになったとき:" + +#~ msgid "Adding Special Notification for %s" +#~ msgstr "%s の特別通知の追加" + +#~ msgid "" +#~ "It seems the SSL certificate of account %(account)s has changed and is " +#~ "not valid or your connection is being compromised.\n" +#~ "\n" +#~ "Old SHA-1 fingerprint: %(old_sha1)s\n" +#~ "Old SHA-256 fingerprint: %(old_sha256)s\n" +#~ "\n" +#~ "New SHA-1 fingerprint: %(new_sha1)s\n" +#~ "New SHA-256 fingerprint: %(new_sha256)s\n" +#~ "\n" +#~ "Do you still want to connect and update the fingerprint of the " +#~ "certificate?" +#~ msgstr "" +#~ "アカウント %(account)s の SSL 証明書が変更され、それが正しくないか、あるい" +#~ "は接続が乗っ取られています。\n" +#~ "\n" +#~ "古い SHA-1 指紋: %(old_sha1)s\n" +#~ "古い SHA-256 指紋: %(old_sha256)s\n" +#~ "\n" +#~ "新しい SHA-1 指紋: %(new_sha1)s\n" +#~ "新しい SHA-256 指紋: %(new_sha256)s\n" +#~ "\n" +#~ "それでも接続して、証明書の指紋を更新しますか ?" + +#~ msgid "" +#~ "The authenticity of the %s certificate could be invalid.\n" +#~ "The certificate does not cover this domain." +#~ msgstr "" +#~ "%s の証明書の真正性は検証できませんでした。\n" +#~ "この証明書はこのドメインをカバーしていません。" + +# (Mako) idle をどうする +#~ msgid "Unable to load idle module" +#~ msgstr "アイドルモジュールをロードできません" + +#, fuzzy +#~ msgid "%s or %s is a directory but should be a file" +#~ msgstr "%s はディレクトリです。ファイルでなければなりません" + +#~ msgid "creating logs database" +#~ msgstr "記録データベースを作ります" + +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "%(src)s を %(dst)s に送信" + +#~ msgid "Rename account label" +#~ msgstr "アカウントのラベルを変更" + +#~ msgid "" +#~ "Requires gpg and python-gnupg (http://code.google.com/p/python-gnupg/)." +#~ msgstr "" +#~ "gpg と python-gnupg (http://code.google.com/p/python-gnupg/ ) が必要です。" + +#~ msgid "Send Single Message..." +#~ msgstr "単発メッセージを送信..." + +#~ msgid "We received an error: {}" +#~ msgstr "エラーを受け取りました: {}" + +#~ msgid "E2E encryption disabled" +#~ msgstr "終端間暗号化 (E2EE) は無効" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "この証明書を、信用する証明書の一覧に追加します。\n" +#~ "この証明書の SHA-1 指紋:\n" +#~ "%(sha1)s\n" +#~ "この証明書の SHA-256 指紋:\n" +#~ "%(sha256)s" + +#~ msgid "uri" +#~ msgstr "URI" + +#~ msgid "Check update after start" +#~ msgstr "起動時に更新をチェック" + +#~ msgid "" +#~ "Install /\n" +#~ "Upgrade" +#~ msgstr "" +#~ "インストール /\n" +#~ "更新" + +#~ msgid "Install/Upgrade" +#~ msgstr "インストール/更新" + +#~ msgid "Install and Upgrade Plugins" +#~ msgstr "プラグインのインストール/更新を行います" + +#~ msgid "Plugins updates" +#~ msgstr "プラグインの更新" + +#~ msgid "" +#~ "Some updates are available for your installer plugins. Do you want to " +#~ "update those plugins:\n" +#~ "%s" +#~ msgstr "" +#~ "インストールしているプラグインのいくつかに更新があります。これらを更新しま" +#~ "すか:\n" +#~ "%s" + +#~ msgid "Security error during download" +#~ msgstr "ダウンロード中にセキュリティのエラー" + +#~ msgid "" +#~ "A security error occurred when downloading. The certificate of the plugin " +#~ "archive could not be verified. this might be a security attack. \n" +#~ "\n" +#~ "You can continue at your risk. Do you want to do so? (not recommended)" +#~ msgstr "" +#~ "ダウンロード中にセキュリティエラーが起こりました。プラグイン書庫の認証が正" +#~ "しく行えませんでした。これはセキュリティ攻撃かもしれません。\n" +#~ "\n" +#~ "危険を承知で続行できます。そうしますか ? (非推奨)" + +#~ msgid "Error in download" +#~ msgstr "ダウンロード時のエラー" + +#~ msgid "" +#~ "An error occurred when downloading\n" +#~ "\n" +#~ "[%s]" +#~ msgstr "" +#~ "ダウンロードの際にエラーが起こりました\n" +#~ "\n" +#~ "[%s]" + +#~ msgid "All selected plugins downloaded" +#~ msgstr "選択したすべてのプラグインをダウンロード" + +#~ msgid "cyan" +#~ msgstr "cyan" + +# (Mako) create index のこと +#~ msgid "migrating logs database to indices" +#~ msgstr "記録データベースからインデックスを作成します" + +#~ msgid "Send File..." +#~ msgstr "ファイルを送信..." + +#~ msgid "HTTP File Upload" +#~ msgstr "HTTP ファイルアップロード" + +#~ msgid "HTTP File Upload not supported by your server" +#~ msgstr "サーバーは HTTP ファイルアップロードに対応していません" + +#~ msgid "Jingle File Transfer" +#~ msgstr "Jingle ファイル転送" + +#~ msgid "" +#~ "Your configured emoticons theme has not been found, so emoticons have " +#~ "been disabled." +#~ msgstr "" +#~ "指定された感情アイコンのテーマは見つかりません。そのため、感情アイコンは無" +#~ "効です。" + +#~ msgid "Shows or hides the roster window" +#~ msgstr "名簿ウィンドウの表示/非表示" + +#~ msgid "Shows or hides the ipython window" +#~ msgstr "ipython ウィンドウの表示/非表示" + +#~ msgid "XMPP account %s" +#~ msgstr "XMPP アカウント %s" + +#~ msgid "Exception" +#~ msgstr "説明" + +#, fuzzy +#~ msgid "" +#~ "someone@somewhere.com would like you to add some contacts " +#~ "in your roster." +#~ msgstr "" +#~ "%(jid)s さんは、あなたの名簿にあるいくつかの相手先に " +#~ "%(action)s を行うよう、求めています。" + +#~ msgid "" +#~ "Ordered list (space separated) of connection type to try. Can contain " +#~ "tls, ssl or plain" +#~ msgstr "試みる接続の種類の順番 (空白で区切る)。tls, ssl または plain" + +#~ msgid "_Actions" +#~ msgstr "操作 (_A)" + +#~ msgid "Open URI using Gajim" +#~ msgstr "URI を Gajim で開く" + +#~ msgid "chat;messaging;im;jabber;xmpp;bonjour;voip;" +#~ msgstr "chat;messaging;im;jabber;xmpp;bonjour;voip;" + +#~ msgid "UPower" +#~ msgstr "UPower" + +#~ msgid "Ability to disconnect properly just before suspending the machine." +#~ msgstr "コンピューターをサスペンドする直前に適切に切断するか。" + +#~ msgid "You are already in group chat %s" +#~ msgstr "既にグループチャット %s に参加しています" + +#~ msgid "Join Group Chat with account %s" +#~ msgstr "アカウント %s でグループチャットに参加" + +#~ msgid "" +#~ "You have to choose an account from which you want to join the groupchat." +#~ msgstr "グループチャット参加に使用するアカウントを選択してください。" + +#, fuzzy +#~ msgid "Please enter the group chat JID as room@server." +#~ msgstr "グループチャットの JID を、room@server のように、入力してください。" + +#, fuzzy +#~ msgid "The group chat JID contains invalid characters." +#~ msgstr "グループチャットの JID に使えない文字が含まれています。" + +#~ msgid "Start Chat with account %s" +#~ msgstr "アカウント %s でチャットを開始" + +#, fuzzy +#~ msgid "" +#~ "Fill in the nickname or the JID of the contact you would like\n" +#~ "to send a chat message to:" +#~ msgstr "" +#~ "チャットのメッセージを送る相手先のニックネームまたは Jabber ID を入力して" +#~ "ください:" + +#, fuzzy +#~ msgid "Nickname / JID" +#~ msgstr "ニックネーム / Jabber ID が正しくありません" + +#~ msgid "Unable to parse \"%s\"." +#~ msgstr "\"%s\" を解析できません。" + +#~ msgid "Shows the chat dialog so that you can send messages to a contact" +#~ msgstr "チャットのダイアログを表示し、相手先にメッセージを送信できます" + +#~ msgid "JID of the contact that you want to chat with" +#~ msgstr "チャットを始める相手先の JID" + +#~ msgid "message content. The account must be specified or \"\"" +#~ msgstr "" +#~ "メッセージの内容。アカウントを指定してください。そうでない場合は \"\" とし" +#~ "てください" + +#~ msgid "Adds contact to roster" +#~ msgstr "相手先を名簿に追加します" + +#~ msgid "jid" +#~ msgstr "jid" + +#~ msgid "Adds new contact to this account" +#~ msgstr "このアカウントに新しい相手先を追加します" + +#~ msgid "Opens 'Start Chat' dialog" +#~ msgstr "'チャットを開始する' のダイアログを開きます" + +#~ msgid "Starts chat, using this account" +#~ msgstr "このアカウントでチャットを開始します" + +#, fuzzy +#~ msgid "Handle a xmpp:/ URI" +#~ msgstr "xmpp:/ の URI を取り扱います" + +#~ msgid "URI to handle" +#~ msgstr "取り扱う URI" + +#~ msgid "Account in which you want to handle it" +#~ msgstr "URI を取り扱うアカウント" + +#~ msgid "Message content" +#~ msgstr "メッセージの内容" + +#~ msgid "Join a MUC room" +#~ msgstr "談話室に参加します" + +#~ msgid "Nickname to use" +#~ msgstr "使いたいニックネーム" + +#~ msgid "Password to enter the room" +#~ msgstr "談話室のパスワード" + +#~ msgid "Account from which you want to enter the room" +#~ msgstr "談話室の参加に使うアカウント" + +#, fuzzy +#~ msgid "No URI given" +#~ msgstr "uri がありません" + +#, fuzzy +#~ msgid "Wrong URI" +#~ msgstr "uri が間違っています" + +#~ msgid "Nickname:" +#~ msgstr "ニックネーム:" + +#~ msgid "Server:" +#~ msgstr "サーバー:" + +#~ msgid "Join this room _automatically when I connect" +#~ msgstr "接続時に自動的にこの談話室に参加する (_A)" + +#~ msgid "Bro_wse Rooms" +#~ msgstr "談話室を一覧 (_W)" + +#~ msgid "Join a group chat given by a jid, optionally using given nickname" +#~ msgstr "" +#~ "指定する JID のグループチャットに参加します (ニックネームが指定されていれ" +#~ "ばそれを使って)" + +#~ msgid "Requires libgtkspell and libenchant." +#~ msgstr "libgtkspell と libenchant が必要です。" + +#~ msgid "Last MAM id we are syncronized with" +#~ msgstr "最後に同期させた MAM ID" + +#, fuzzy +#~ msgid "Network-Watcher" +#~ msgstr "ネットワークマネージャー" + +#~ msgid "Autodetection of network status." +#~ msgstr "ネットワークの状態を自動検出します。" + +#~ msgid "Feature not available, see Help->Features" +#~ msgstr "この機能は無効です。ヘルプ->機能を見てください。" + +#~ msgid "Feature not supported by remote client" +#~ msgstr "相手先のクライアントはこの機能をサポートしていません。" + +#~ msgid "This contact does not support file transfer." +#~ msgstr "この相手先はファイル転送をサポートしていません。" + +#, fuzzy +#~ msgid "You need to know the real JID of the contact to send them a file." +#~ msgstr "ファイル転送を行なうには、本当の JID を知っている必要があります。" + +#~ msgid "" +#~ "You have to install %s dictionary to use spellchecking, or choose another " +#~ "language by setting the speller_language option." +#~ msgstr "" +#~ "スペルチェックを行なうには、%s の辞書をインストールしてください。あるい" +#~ "は、speller_language オプションで別の言語を選択してください。" + +#~ msgid "Hides the buttons in chat windows." +#~ msgstr "チャットウィンドウのボタンを表示しません。" + +#~ msgid "Change the room's subject (Alt+T)" +#~ msgstr "談話室の題を変更する (Alt+T)" + +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "この談話室をブックマークする (Ctrl+B)" + +#~ msgid "Browse the chat history (Ctrl+H)" +#~ msgstr "チャットの履歴を表示する (Ctrl+H)" + +#~ msgid "Show advanced functions (Alt+D)" +#~ msgstr "拡張機能を表示する (Alt+D)" + +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "相手先を名簿に追加する (Ctrl+D)" + +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "相手先を会話に招待する (Ctrl+G)" + +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "相手先のプロフィールを表示する (Ctrl+I)" + +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "相手先のプロフィールを表示する (Ctrl+I)" + +#~ msgid "Ma_ke message windows compact" +#~ msgstr "メッセージウィンドウを簡潔にする (_K)" + +#~ msgid "Hide all buttons in chat windows" +#~ msgstr "チャットウィンドウのすべてのボタンを隠します" + +#~ msgid "Hide the chat buttons" +#~ msgstr "チャットボタンを隠します" + +#~ msgid "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." +#~ msgstr "" +#~ "真なら、前回アバターのない相手先または受け取ってから時間の経ち過ぎている相" +#~ "手先に対して、 Gajim はアバターを要求します。" + +#~ msgid "Disk Write Error" +#~ msgstr "ディスクへの書き出しエラー" + +#~ msgid "Set Custom _Avatar..." +#~ msgstr "独自アバターを設定...(_A)" + +#~ msgid "SSL certificate validation" +#~ msgstr "SSL 証明書の検証" + +#~ msgid "" +#~ "A library used to validate server certificates to ensure a secure " +#~ "connection." +#~ msgstr "" +#~ "安全な接続を確実にするために、サーバー証明書の検証に使われるライブラリ。" + +#~ msgid "Requires python-pyopenssl > 0.12 and pyasn1." +#~ msgstr "python-pyopenssl (0.12 より上) と pyasn1 が必要です。" + +#~ msgid "?CLI:uri" +#~ msgstr "?CLI:uri" + +#~ msgid "?CLI:room" +#~ msgstr "?CLI:談話室" + +#~ msgid "?CLI:nick" +#~ msgstr "?CLI:ニックネーム" + +#~ msgid "?CLI:password" +#~ msgstr "?CLI:パスワード" + +#, fuzzy +#~ msgid "Credential Options" +#~ msgstr "Oauth2 信任状" + +#~ msgid "Use D-Bus and Notification-Daemon to show notifications" +#~ msgstr "通知を表示するために D-Bus と Notification-Daemon を使います" + +#~ msgid "Notification" +#~ msgstr "通知" + +#~ msgid "Passive popups notifying for new events." +#~ msgstr "イベントをポップアップ通知に渡します。" + +#~ msgid "" +#~ "Requires python-notify or instead python-dbus in conjunction with " +#~ "notification-daemon." +#~ msgstr "" +#~ "python-notify , または notification-daemon と組み合わせた python-dbus が必" +#~ "要です。" + +#~ msgid "Ignore" +#~ msgstr "無視する" + +#~ msgid "_Open Gmail Inbox" +#~ msgstr "Gmail の受信箱を開く (_O)" + +#~ msgid "Notify on new _GMail email" +#~ msgstr "新しい GMail メールを通知する (_G)" + +#~ msgid "" +#~ "If checked, Gajim will show a notification when a new e-mail is received " +#~ "via GMail" +#~ msgstr "" +#~ "チェックをつけると、Gajim は GMail 経由で新しいメールを受け取ったとき、通" +#~ "知します" + +#~ msgid "Display _extra email details" +#~ msgstr "メールの詳細を表示する (_E)" + +#~ msgid "" +#~ "If checked, Gajim will also include information about the sender of new " +#~ "emails" +#~ msgstr "" +#~ "チェックをつけると、Gajim は新しい電子メールの送信者の情報を含めます" + +#~ msgid "GMail Options" +#~ msgstr "GMail オプション" + +#~ msgid "12" +#~ msgstr "12" + +#~ msgid "20" +#~ msgstr "20" + +#~ msgid "" +#~ "Specify the command to run when new mail arrives, e.g.: /usr/bin/getmail -" +#~ "q" +#~ msgstr "新たにメールが届いた際に起動するコマンド。例: /usr/bin/getmail -q" + +#~ msgid "GMail Email Received" +#~ msgstr "GMail メールを受信した" + +#, fuzzy +#~ msgid "New e-mail on %(gmail_mail_address)s" +#~ msgstr "%(gmail_mail_address)s に新着メール" + +#, fuzzy +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "新着メールが %d 件あります" +#~ msgstr[1] "新着メールが %d 件あります" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "From: %(from_address)s\n" +#~ "Subject: %(subject)s\n" +#~ "%(snippet)s" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "差出人: %(from_address)s\n" +#~ "件名: %(subject)s\n" +#~ "%(snippet)s" + +#~ msgid "Resour_ce:" +#~ msgstr "リソース (_C):" + +#~ msgid "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" +#~ msgstr "" +#~ "リソースは、同じサーバーに同じアカウントで複数のクライアントからの接続があ" +#~ "る場合に、同じ JID を区別するために送信されます。たとえば、同じアカウント" +#~ "でリソースを 'Home' と 'Work' として同時に接続します。最も優先順位の高いリ" +#~ "ソースがイベントを受け取ります (下記参照)。" + +#~ msgid "Priority will change automatically according to your status." +#~ msgstr "優先順位は、在席状況に応じて自動的に変わります。" + +#~ msgid "Anonymous authentication" +#~ msgstr "匿名の認証" + +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "優先順位は、同じアカウントで2つ以上のクライアントから接続しているときに " +#~ "jabber サーバーからのイベントの受け取り先を決定するのに使われます。最も高" +#~ "い優先順位のクライアントがイベントを受け取ります" + +#~ msgid "Synchronize contacts" +#~ msgstr "相手先を合わせる" + +#~ msgid "Click to request authorization to all contacts of another account" +#~ msgstr "別アカウントのすべての相手先に承認を求めるにはクリック" + +#~ msgid "Chan_ge Password" +#~ msgstr "パスワードを変更する (_G)" + +#~ msgid "Administration operations" +#~ msgstr "管理の操作" + +#~ msgid "_Client Cert File:" +#~ msgstr "クライアント証明書ファイル (_C):" + +#~ msgid "Browse..." +#~ msgstr "参照..." + +#~ msgid "Certificate is e_ncrypted" +#~ msgstr "証明書は暗号化されている (_N)" + +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "" +#~ "チェックをつけると、Gajim は起動時に、このアカウントを使って jabber に自動" +#~ "的に接続します" + +#~ msgid "Synchronize logs with server" +#~ msgstr "記録をサーバーに合わせる" + +#~ msgid "Synch_ronize account status with global status" +#~ msgstr "アカウントの在席状況を全体の在席状況に合わせる (_R)" + +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "チェックをつけると、(名簿ウィンドウの最下段の選択肢による)全体の在席状況の" +#~ "変更がこのアカウントの在席状況の変更に反映されます" + +#, fuzzy +#~ msgid "" +#~ "Receive conversations from other resources (provided the server has " +#~ "support for it)" +#~ msgstr "他のリソースの会話を受信する(サーバーがサポートしている場合)" + +# (Mako)broadcast 困った。ここは「同報」で +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "チェックをつけると、Gajim はあなたの IP を除くいくつかの IP を同報します。" +#~ "それによってファイル転送はうまくいく可能性が高くなります。" + +#~ msgid "Proxy" +#~ msgstr "プロキシ" + +#~ msgid "" +#~ "Check this so Gajim will ask you before sending your password over an " +#~ "insecure connection." +#~ msgstr "" +#~ "チェックをつけると、Gajim は安全でない接続でパスワードを送信する前に確認を" +#~ "求めてきます。" + +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "" +#~ "チェックをつけると、Gajim はタイムアウトで接続が切れてしまうのを防ぐために" +#~ "生存パケットを流すようになります" + +#~ msgid "Use cust_om hostname/port" +#~ msgstr "別のホスト名/ポート番号を使う (_O)" + +#~ msgid "_Hostname: " +#~ msgstr "ホスト名 (_H): " + +#~ msgid "_Port: " +#~ msgstr "ポート番号 (_P): " + +#~ msgid "Choose _Key..." +#~ msgstr "鍵の選択...(_K)" + +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "" +#~ "チェックをつけると、Gajim は seahorse など GPG エージェントからパスワード" +#~ "を受け取ります" + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#~ msgid "_Edit Personal Information..." +#~ msgstr "個人情報を編集する...(_E)" + +#~ msgid "Personal Information" +#~ msgstr "個人情報" + +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "Gajim 起動時に接続する (_N)" + +#~ msgid "Synchroni_ze account status with global status" +#~ msgstr "アカウントの在席状況を全体の在席状況に合わせる (_Z)" + +#~ msgid "Use cust_om port:" +#~ msgstr "別のポート番号を使う (_O):" + +#~ msgid "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." +#~ msgstr "" +#~ "受信メッセージに使われるデフォルトのポートが設定に合わない場合、ここで別の" +#~ "ポートを指定できます。\n" +#~ "ファイアーウォールの設定を考慮してください。" + +#~ msgid "OpenPGP is not usable on this computer" +#~ msgstr "OpenPGP はこのコンピュータでは使えません。" + +#~ msgid "To change the account name, you must be disconnected." +#~ msgstr "アカウント名を変更するには、接続を切ってください。" + +#~ msgid "To change the account name, you must read all pending events." +#~ msgstr "" +#~ "アカウント名を変更するには、保留されているすべてのイベントを読んでくださ" +#~ "い。" + +#~ msgid "Account Name Already Used" +#~ msgstr "アカウン名は既に使われています" + +#~ msgid "" +#~ "This name is already used by another of your accounts. Please choose " +#~ "another name." +#~ msgstr "" +#~ "この名前は別のアカウントで既に使われています。別の名前にしてください。" + +#~ msgid "Account name cannot be empty." +#~ msgstr "アカウント名は空白にできません。" + +#~ msgid "Account name cannot contain spaces." +#~ msgstr "アカウント名にスペースを含めることはできません。" + +#~ msgid "Enter a new name for account %s" +#~ msgstr "%s さんの新しい名前を入力してください" + +#, fuzzy +#~ msgid "A JID must be in the form \"user@servername\"." +#~ msgstr "Jabber ID は \"user@サーバー名\" の形にしてください。" + +#~ msgid "No such account available" +#~ msgstr "そのアカウントは無効です" + +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "個人情報を編集する前に、アカウントを作成してください。" + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "接続していない状態では、個人情報は編集できません。" + +#~ msgid "Your server can't save your personal information." +#~ msgstr "このサーバーは個人情報を保持できません。" + +#~ msgid "Please rename or remove it before enabling link-local messaging." +#~ msgstr "" +#~ "ローカルの伝送を有効にするには、名前の変更または削除を行ってください。" + +#~ msgid "THANKS:" +#~ msgstr "謝意:" + +#~ msgid "Could not write to %s. Session Management support will not work" +#~ msgstr "%s に書き込めませんでした。セッション管理サポートは機能しません" + +#~ msgid "Jabber Traffic" +#~ msgstr "Jabber トラヒック" + +#~ msgid "_Enable" +#~ msgstr "有効 (_E)" + +#~ msgid "Hide IN stanzas" +#~ msgstr "IN スタンザを表示しない" + +#~ msgid "Hide OUT stanzas" +#~ msgstr "OUT スタンザを表示しない" + +#~ msgid "Hide Presence stanzas" +#~ msgstr "Presence スタンザを表示しない" + +#~ msgid "Hide IQ stanzas" +#~ msgstr "IQ スタンザを表示しない" + +#~ msgid "Filter" +#~ msgstr "フィルター" + +#~ msgid "_IQ" +#~ msgstr "_IQ" + +#~ msgid "Info/Query" +#~ msgstr "情報/クエリー (Info/Query)" + +#~ msgid "XML Input" +#~ msgstr "XML 入力" + +#~ msgid "XML Console for %s" +#~ msgstr "%s の XML コンソール" + +#~ msgid "Idle for:" +#~ msgstr "操作のない状態(期間):" + +#, fuzzy +#~ msgid "" +#~ "Request offline status messages from all contacts upon connecting. " +#~ "WARNING: This causes a lot of requests to be sent!" +#~ msgstr "" +#~ "アカウントの接続が確立した際、すべてのオフラインの相手先にオフラインの状況" +#~ "メッセージを求めます。注意: 大量の送信すべきリクエストを発生させることがあ" +#~ "ります !" + +#~ msgid "Last status: %s" +#~ msgstr "最近の在席状況: %s" + +#~ msgid " since %s" +#~ msgstr " %s から" + +#~ msgid "since %s" +#~ msgstr "%s から" + +#~ msgid "Concede" +#~ msgstr "追認" + +#~ msgid "Forbid" +#~ msgstr "禁止" + +#~ msgid "Auto" +#~ msgstr "自動" + +#~ msgid "Method Auto" +#~ msgstr "自動保管" + +#~ msgid "Method Local" +#~ msgstr "ローカル保管" + +#~ msgid "Method Manual" +#~ msgstr "手動保管" + +#~ msgid "body" +#~ msgstr "body" + +#~ msgid "false" +#~ msgstr "false" + +#~ msgid "stream" +#~ msgstr "stream" + +#~ msgid "concede" +#~ msgstr "concede(追認)" + +#~ msgid "forbid" +#~ msgstr "forbid(禁止)" + +#~ msgid "oppose" +#~ msgstr "oppose(反対)" + +#~ msgid "prefer" +#~ msgstr "prefer(賛成)" + +#~ msgid "otr" +#~ msgstr "オフレコ" + +#~ msgid "save" +#~ msgstr "保存" + +#~ msgid "Last time we syncronized with logs from server." +#~ msgstr "サーバーの履歴に同期した最後の時刻" + +#~ msgid "Invalid expire value" +#~ msgstr "期限の値が正しくありません" + +#~ msgid "Expire must be a valid positive integer." +#~ msgstr "期限は正の整数にしてください。" + +#~ msgid "There is an error with the form" +#~ msgstr "書式に誤りがあります" + +#~ msgid "There is an error" +#~ msgstr "誤りがあります" + +#~ msgid "How many minutes should last lines from previous conversation last." +#~ msgstr "前の会話の最後から持続しておく時間 (単位は分)。" + +#~ msgid "" +#~ "Your configured emoticons theme cannot been loaded. You maybe need to " +#~ "update the format of emoticons.py file. See http://trac.gajim.org/wiki/" +#~ "Emoticons for more details." +#~ msgstr "" +#~ "指定された感情アイコンのテーマを読み込めません。emoticons.py ファイルの書" +#~ "式を更新する必要があるかもしれません。詳しくは http://trac.gajim.org/wiki/" +#~ "Emoticons を参照してください。" + +#~ msgid "You will be connected to %s without OpenPGP." +#~ msgstr "OpenPGP なしに、%s さんに接続します。" + +#~ msgid "The following message was NOT encrypted" +#~ msgstr "次のメッセージは暗号化されませんでした" + +#~ msgid "Toggle Open_PGP Encryption" +#~ msgstr "Open_PGP 暗号化する/しない" + +#~ msgid "Toggle End to End Encryption" +#~ msgstr "全線暗号化(E2EE)する/しない" + +#~ msgid "OpenPGP encryption enabled" +#~ msgstr "OpenPGP 暗号化は有効" + +#~ msgid "No OpenPGP key assigned" +#~ msgstr "OpenPGP 鍵が割り当てられていません" + +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages with OpenPGP." +#~ msgstr "" +#~ "この相手先に OpenPGP 鍵が割り当てられていないため、メッセージを OpenPGP で" +#~ "暗号化できません。" + +#~ msgid "Session WILL be logged" +#~ msgstr "セッションは記録されます" + +#~ msgid "Session WILL NOT be logged" +#~ msgstr "セッションは記録されません" + +# (Mako)暗号化は有効 %s、 +#~ msgid "is" +#~ msgstr "で" + +#~ msgid "is NOT" +#~ msgstr "でなく" + +# #. チャットは記録 %s。 +#~ msgid "will" +#~ msgstr "記録されます" + +#~ msgid "will NOT" +#~ msgstr "記録されません" + +#~ msgid "The following message was encrypted" +#~ msgstr "次のメッセージは暗号化されました" + +#~ msgid "Toggle the OpenPGP encryption" +#~ msgstr "OpenPGP 暗号化します/しません" + +#~ msgid "" +#~ "Should Gajim automatically start an encrypted session with this contact " +#~ "when possible?" +#~ msgstr "" +#~ "Gajim はこの相手先について自動的に (可能なら) 暗号化セッションを始めるべき" +#~ "かどうか" + +# (Mako) ここでは presence を「相手先」と訳す +#~ msgid "Neither the remote presence is signed, nor a key was assigned." +#~ msgstr "相手先が署名していないか、鍵が割り当てられていません。" + +#~ msgid "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "相手先の鍵 (%s) は、Gajim で割り当てられている鍵と合致しません。" + +#~ msgid "[This message is *encrypted* (See :XEP:`27`]" +#~ msgstr "[このメッセージは *暗号化されています* (XEP:`27` を参照のこと]" + +#~ msgid "" +#~ "Your chat session with %(jid)s is encrypted.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "%(jid)s さんとのチャットは暗号化されます。\n" +#~ "\n" +#~ "このチャットの認証文字列 (SAS)は %(sas)s です。" + +#~ msgid "You have already verified this contact's identity." +#~ msgstr "相手先の同一性を既に確認しています。" + +#~ msgid "Contact's identity verified" +#~ msgstr "相手先の同一性を確認しました" + +#~ msgid "" +#~ "To be certain that only the expected person can read your messages " +#~ "or send you messages, you need to verify their identity by clicking the " +#~ "button below." +#~ msgstr "" +#~ "特定の人だけが、あなたのメッセージを読んだり、あなたにメッセージを" +#~ "送ることができることを確実にするため、その人が本人であることを検証する必要" +#~ "があります。次のボタンをクリックしてください。" + +#~ msgid "Contact's identity NOT verified" +#~ msgstr "相手先の同一性を確認していません" + +#, fuzzy +#~ msgid "Verify…" +#~ msgstr "検査 (_V)" + +#~ msgid "Have you verified the contact's identity?" +#~ msgstr "相手先の同一性を確認しましたか ?" + +#~ msgid "" +#~ "To prevent talking to an unknown person, you should speak to %(jid)s directly (in person or on the phone) and verify that they see the same " +#~ "Short Authentication String (SAS) as you.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "見知らぬ人と話すことになるのを防ぐため、%(jid)s と直接 (対面するか" +#~ "電話で) 話し、同じ認証文字列 (SAS) 見て確認してください。\n" +#~ "\n" +#~ "この接続の認証文字列は %(sas)s です。" + +#~ msgid "Did you talk to the remote contact and verify the SAS?" +#~ msgstr "遠くの相手先と話して、認証文字列 (SAS) を確認しましたか ?" + +#~ msgid "" +#~ "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "" +#~ "この相手先の鍵 (%s) は、Gajim で割り当てられた鍵と 一致しません。" + +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages." +#~ msgstr "" +#~ "この相手先に対して OpenPGP 鍵は割り当てられていません。そのため、メッセー" +#~ "ジは暗号化されません。" + +#, fuzzy +#~ msgid "" +#~ "OpenPGP key is assigned to this contact, but you do not trust their " +#~ "key, so message cannot be encrypted. Use your OpenPGP client " +#~ "to trust their key." +#~ msgstr "" +#~ "この相手先に対して OpenPGP 鍵が割り当てられています。しかし、この鍵を信" +#~ "頼していません。メッセージは暗号化されません。鍵に信頼を与える" +#~ "には OpenPGP クライアントを使ってください。" + +#, fuzzy +#~ msgid "" +#~ "OpenPGP Key is assigned to this contact, and you trust their key, so " +#~ "messages will be encrypted." +#~ msgstr "" +#~ "この相手先に対して OpenPGP 鍵が割り当てられています。その鍵を信頼して、" +#~ "メッセージは暗号化されます。" + +#~ msgid "" +#~ "This icon indicates that this message has not yet\n" +#~ "been received by the remote end. If this icon stays\n" +#~ "for a long time, it's likely the message got lost." +#~ msgstr "" +#~ "このアイコンは、メッセージの受信が完了していないことを\n" +#~ "示すものです。もし長時間表示されたままなら、メッセージは\n" +#~ "失われたと考えられます。" + +#~ msgid "" +#~ "If True, listen to D-Bus signals from NetworkManager and change the " +#~ "status of accounts (provided they do not have listen_to_network_manager " +#~ "set to False and they sync with global status) based upon the status of " +#~ "the network connection." +#~ msgstr "" +#~ "真なら、NetworkManager からの D-Bus 信号を監視して、ネットワーク接続の状態" +#~ "をもとに、相手先の在席状況を更新します (相手先が " +#~ "listen_to_network_manager を「偽」にしておらず、全体の在席状況に同調させて" +#~ "いる場合)。" + +#~ msgid "" +#~ "The database file (%s) cannot be read. Try to repair it or remove it (all " +#~ "history will be lost)." +#~ msgstr "" +#~ "データベースファイル (%s) を読めません。修復するか、あるいは削除 (すべての" +#~ "履歴は失われます) してください。" + +#~ msgid "Database cannot be read." +#~ msgstr "データベースを読めません。" + +#~ msgid "A message from a non-valid JID arrived, it has been ignored." +#~ msgstr "有効でない JID からメッセージが届きました。無視します。" + +#~ msgid "Smooth scroll message in conversation window" +#~ msgstr "会話ウィンドウのスクロールをなめらかにします" + +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "プライバシーリストを編集...(_P)" + +#~ msgid "_Administrator" +#~ msgstr "管理人 (_A)" + +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "現在このサーバーに接続しているユーザーにメッセージを送信します" + +#~ msgid "Sets Message of the Day" +#~ msgstr "今日のメッセージを設定します" + +#~ msgid "Updates Message of the Day" +#~ msgstr "今日のメッセージを更新します" + +#~ msgid "Deletes Message of the Day" +#~ msgstr "今日のメッセージを削除します" + +#~ msgid "Add _Contact..." +#~ msgstr "相手先リストに追加...(_C)" + +#~ msgid "P_lugins" +#~ msgstr "プラグイン (_L)" + +#~ msgid "File _Transfers" +#~ msgstr "ファイルの転送 (_T)" + +#~ msgid "Help online" +#~ msgstr "ヘルプ (オンライン)" + +#~ msgid "Frequently Asked Questions (online)" +#~ msgstr "よくある質問 (オンライン)" + +#~ msgid "Fea_tures" +#~ msgstr "機能 (_T)" + +#~ msgid "to %s account" +#~ msgstr "アカウント %s に対して" + +#~ msgid "using %s account" +#~ msgstr "アカウント %s で" + +#~ msgid "of account %s" +#~ msgstr "アカウント %s の" + +#~ msgid "for account %s" +#~ msgstr "アカウント %s について" + +#~ msgid "" +#~ "By removing this contact you also remove authorization resulting in him " +#~ "or her always seeing you as offline." +#~ msgstr "" +#~ "この相手先を名簿から削除すると、在席通知の承認も取り消します。相手先はあな" +#~ "たを常にオフラインとして見ることになります。" + +#~ msgid "Message Body xmpp.org/getting-started" +msgstr "" +"xmpp.org/getting-started" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "Әр түрлі серверлердің ерекшеліктерін салыстыру" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" +"conversations.im/compliance" + +#: gajim/data/gui/account_wizard.ui:646 +#, fuzzy +msgid "_Please choose a server" +msgstr "Өзіңіз таңдаған аты бар жаңа теманы жасаңыз." + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "" + +#: gajim/data/gui/application_menu.ui:8 +msgid "_Start / Join Chat…" +msgstr "Чатты бастау/қосылу…" + +#: gajim/data/gui/application_menu.ui:13 +msgid "Create _Group Chat…" +msgstr "_Топтық чатты жасау…" + +#: gajim/data/gui/application_menu.ui:18 +msgid "_History Manager" +msgstr "_Тарихты басқару" + +#: gajim/data/gui/application_menu.ui:22 +msgid "Pl_ugins" +msgstr "Плаг_индер" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +msgid "_Preferences" +msgstr "Ба_птаулар" + +#: gajim/data/gui/application_menu.ui:36 +msgid "_Accounts" +msgstr "Ті_ркелгілер" + +#: gajim/data/gui/application_menu.ui:39 +msgid "_View" +msgstr "_Түрі" + +#: gajim/data/gui/application_menu.ui:46 +msgid "Show _Offline Contacts" +msgstr "Желіде _еместерді көрсету" + +#: gajim/data/gui/application_menu.ui:50 +msgid "Show _Active Contacts" +msgstr "Б_елсенді контакттарды көрсету" + +#: gajim/data/gui/application_menu.ui:54 +msgid "Show _Transports" +msgstr "Транс_порттарды көрсету" + +#: gajim/data/gui/application_menu.ui:60 +msgid "_XML Console" +msgstr "XML ко_нсолі" + +#: gajim/data/gui/application_menu.ui:64 +msgid "_File Transfer" +msgstr "_Файлдармен алмасу" + +#: gajim/data/gui/application_menu.ui:74 +msgid "_Help" +msgstr "_Көмек" + +#: gajim/data/gui/application_menu.ui:77 +msgid "_Wiki (Online)" +msgstr "_Вики (Онлайн)" + +#: gajim/data/gui/application_menu.ui:81 +msgid "FA_Q (Online)" +msgstr "ЖҚ_С (Онлайн)" + +#: gajim/data/gui/application_menu.ui:85 +msgid "_Keyboard Shortcuts" +msgstr "_Пернетақта жарлықтары" + +#: gajim/data/gui/application_menu.ui:89 +msgid "_Features" +msgstr "_Мүміндіктері" + +#: gajim/data/gui/application_menu.ui:93 +msgid "_About" +msgstr "Осы тур_алы" + +#: gajim/data/gui/filetransfer_progress.ui:125 +msgid "Speed" +msgstr "Жылдамдық" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "Қалған уақыт" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +#, fuzzy +msgid "OK" +msgstr "_ОК" + +#: gajim/data/gui/plugins_window.ui:55 +msgid "Install Plugin from ZIP-File" +msgstr "Плагинді ZIP-файлдан орнату" + +#: gajim/data/gui/plugins_window.ui:56 +msgid "Install from File…" +msgstr "Файлдан орнату…" + +#: gajim/data/gui/plugins_window.ui:70 +msgid "Uninstall Plugin" +msgstr "Плагинді өшіру" + +#: gajim/data/gui/plugins_window.ui:116 +msgid "" +msgstr "<Плагин атауы>" + +#: gajim/data/gui/plugins_window.ui:133 +msgid "Plugin Settings" +msgstr "Плагин баптаулары" + +#: gajim/data/gui/plugins_window.ui:215 +msgid "" +msgstr "<Сипаттамасы>" + +#: gajim/data/gui/plugins_window.ui:239 +msgid "Version" +msgstr "Нұсқасы" + +#: gajim/data/gui/plugins_window.ui:271 +msgid "Authors" +msgstr "Авторлар" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +msgid "Homepage" +msgstr "Үй парағы" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "<бос>" + +#: gajim/data/gui/plugins_window.ui:349 +msgid "Installed" +msgstr "Орнатылған" + +#: gajim/data/gui/plugins_window.ui:363 +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "" +"Плагин анықтамасы осында болу керек. PluginsWindow іске қосылған кезде бұл " +"мәтін өшірілетін болады." + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +msgid "Synchronise contacts" +msgstr "Контакттарды синхрондау" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "Синхрондау үшін тіркелгіні таңдаңыз" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "Ашық немесе жеке?" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +msgid "_Name" +msgstr "_Аты" + +#: gajim/data/gui/groupchat_creation.ui:122 +#, fuzzy +msgid "_Description" +msgstr "Сипаттамасы" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +#, fuzzy +msgid "_Address" +msgstr "_Адресі:" + +#: gajim/data/gui/groupchat_creation.ui:278 +#, fuzzy +msgid "_Account" +msgstr "_Тіркелгілер" + +#: gajim/data/gui/profile.ui:33 +#, fuzzy +msgid "Contact Infos" +msgstr "Контакт ақпаратын сұрау" + +#: gajim/data/gui/profile.ui:45 +#, fuzzy +msgid "Picture and Name" +msgstr "Қолдану үшін сурет" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "" + +#: gajim/data/gui/profile.ui:198 +#, fuzzy +msgid "Change your profile picture" +msgstr "Сіздің ник атыңызды өзгерту (Ctrl+N)" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:298 +#, fuzzy +msgid "Add Entry" +msgstr "Жазба:" + +#: gajim/data/gui/profile.ui:410 +#, fuzzy +msgid "Update" +msgstr "MOTD жаңарту…" + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "HTTP" + +#: gajim/data/gui/manage_proxies.ui:15 +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "SOCKS5" + +#: gajim/data/gui/manage_proxies.ui:65 +msgid "Add Proxy" +msgstr "Проксиді қосу" + +#: gajim/data/gui/manage_proxies.ui:79 +msgid "Remove Proxy" +msgstr "Проксиді өшіру" + +#: gajim/data/gui/manage_proxies.ui:131 +msgid "Pass_word" +msgstr "Па_роль" + +#: gajim/data/gui/manage_proxies.ui:156 +msgid "Use proxy auth_entication" +msgstr "Прокси _аутентификациясын қолдану" + +#: gajim/data/gui/manage_proxies.ui:176 +msgid "_Username" +msgstr "_Пайдаланушы аты" + +#: gajim/data/gui/manage_proxies.ui:237 +msgid "_Host" +msgstr "_Хост" + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "Жергілікті jid:" + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "Ресурс:" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "Күйі:" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +#, fuzzy +msgid "_Store conversation history" +msgstr "Чат тарихын _логқа сақтау" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +msgid "Contact" +msgstr "Контакт" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +msgid "First Name:" +msgstr "Аты:" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +msgid "Last Name:" +msgstr "Фамилиясы:" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +#, fuzzy +msgid "XMPP Address:" +msgstr "AIM адресі:" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "E-Mail:" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +msgid "Personal" +msgstr "Жеке" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "Қа_лып-күй" + +#: gajim/data/gui/account_context_menu.ui:20 +msgid "_Personal Events" +msgstr "_Жеке әрекеттер" + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "_Контакт қосу..." + +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "Қы_зметтерді қарап шығу" + +#: gajim/data/gui/account_context_menu.ui:57 +msgid "_Execute Command..." +msgstr "К_оманда орындау..." + +#: gajim/data/gui/account_context_menu.ui:65 +msgid "_View Server Info" +msgstr "Сервер ақпаратын қ_арау" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" +"Жаңа сөйлесуді бастау, топтық чатқа қосылу немесе бүкіл әлем бойынша жаңа " +"топтық сөйлесулерді іздеу. XMPP адресін де енгізуге болады." + +#: gajim/data/gui/start_chat_dialog.ui:125 +#, fuzzy +msgid "Global Group Chat Search" +msgstr "Бөлмеге кіру" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +#, fuzzy +msgid "_Back" +msgstr "Жақында ораламын" + +#: gajim/data/gui/start_chat_dialog.ui:386 +msgid "Select Account" +msgstr "Тіркелгіні таңдау" + +#: gajim/data/gui/start_chat_dialog.ui:477 +msgid "_Select" +msgstr "_Таңдау" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" +"Контакттар табылмады\n" +"XMPP адресін де енгізуге болады" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +msgid "Configure" +msgstr "Баптау" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +msgid "Create new post" +msgstr "Жаңа хабарламаны жасау" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "Қалы_п-күй" + +#: gajim/data/gui/systray_context_menu.ui:20 +msgid "_Start Chat..." +msgstr "_Чатты бастау..." + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "Бі_р хабарламаны жіберу..." + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "Қат_ыспаған оқиғаларды көрсету" + +#: gajim/data/gui/systray_context_menu.ui:52 +msgid "Mute Sounds" +msgstr "Дыбыстарды сөндіру" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +#, fuzzy +msgid "Contact List" +msgstr "Контакттар" + +#: gajim/data/gui/shortcuts_window.ui:24 +#, fuzzy +msgid "Create new group chat" +msgstr "Топ чаттардан шығу" + +#: gajim/data/gui/shortcuts_window.ui:45 +#, fuzzy +msgid "File transfers" +msgstr "Файлдармен алмасу" + +#: gajim/data/gui/shortcuts_window.ui:52 +#, fuzzy +msgid "Set the status message" +msgstr "қалып-күй хабарламасы" + +#: gajim/data/gui/shortcuts_window.ui:59 +#, fuzzy +msgid "Show XML console" +msgstr "XML _консолін көрсету" + +#: gajim/data/gui/shortcuts_window.ui:74 +#, fuzzy +msgid "Appearance" +msgstr "Чаттың сыртқы түрі" + +#: gajim/data/gui/shortcuts_window.ui:79 +#, fuzzy +msgid "Show offline contacts" +msgstr "Желіде _еместерді көрсету" + +#: gajim/data/gui/shortcuts_window.ui:86 +#, fuzzy +msgid "Show only active contacts" +msgstr "Те_к белсенді контакттарды көрсету" + +#: gajim/data/gui/shortcuts_window.ui:93 +msgid "Enable contact list filtering" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:100 +#, fuzzy +msgid "Show / hide contact list" +msgstr "Те_к белсенді контакттарды көрсету" + +#: gajim/data/gui/shortcuts_window.ui:113 +#, fuzzy +msgid "Contact information" +msgstr "Контакт ақпараты" + +#: gajim/data/gui/shortcuts_window.ui:120 +#, fuzzy +msgid "Rename contact" +msgstr "Контакт атын ауыстыру" + +#: gajim/data/gui/shortcuts_window.ui:127 +#, fuzzy +msgid "Delete contact" +msgstr "Жіберілген контакттар:" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +#, fuzzy +msgid "Chat" +msgstr "Чаттар" + +#: gajim/data/gui/shortcuts_window.ui:142 +#, fuzzy +msgid "Message composition" +msgstr "Хабарлама құрамасы" + +#: gajim/data/gui/shortcuts_window.ui:147 +#, fuzzy +msgid "Send the message" +msgstr "Хабарламаны жіберу" + +#: gajim/data/gui/shortcuts_window.ui:154 +#, fuzzy +msgid "Add new line" +msgstr "Жаңа хабарламаны жасау" + +#: gajim/data/gui/shortcuts_window.ui:161 +msgid "Select an emoji" +msgstr "Эмодзи таңдаңыз" + +#: gajim/data/gui/shortcuts_window.ui:168 +#, fuzzy +msgid "Complete a command or a nickname" +msgstr "Өзіңіз таңдаған аты бар жаңа теманы жасаңыз." + +#: gajim/data/gui/shortcuts_window.ui:175 +#, fuzzy +msgid "Previously sent message" +msgstr "Орнатылған хабарламалар:" + +#: gajim/data/gui/shortcuts_window.ui:182 +#, fuzzy +msgid "Next sent messages" +msgstr "Орнатылған хабарламалар:" + +#: gajim/data/gui/shortcuts_window.ui:189 +#, fuzzy +msgid "Quote previous message" +msgstr "қалып-күй хабарламасы" + +#: gajim/data/gui/shortcuts_window.ui:196 +#, fuzzy +msgid "Quote next message" +msgstr "Хабарламаны жіберу" + +#: gajim/data/gui/shortcuts_window.ui:203 +#, fuzzy +msgid "Clear message entry" +msgstr "Хабарлама жіберілді" + +#: gajim/data/gui/shortcuts_window.ui:211 +#, fuzzy +msgid "Recent history" +msgstr "Соңғылар:" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "Жоғары айналдыру" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "Төмен айналдыру" + +#: gajim/data/gui/shortcuts_window.ui:230 +#, fuzzy +msgid "Clear chat window" +msgstr "Терезені жасырады" + +#: gajim/data/gui/shortcuts_window.ui:237 +#, fuzzy +msgid "Show chat history" +msgstr "Соңғылар:" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "Беттер" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:299 +msgid "Close chat" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:312 +#, fuzzy +msgid "Change Nickname" +msgstr "Никті өзгерту…" + +#: gajim/data/gui/chat_control.ui:48 +#, fuzzy +msgid "Drop files or contacts" +msgstr "Контактқа файлды жібереді" + +#: gajim/data/gui/chat_control.ui:80 +msgid "1" +msgstr "1" + +#: gajim/data/gui/chat_control.ui:101 +#, fuzzy +msgid "2 abc" +msgstr "2 abc" + +#: gajim/data/gui/chat_control.ui:121 +#, fuzzy +msgid "3 def" +msgstr "Қаріп" + +#: gajim/data/gui/chat_control.ui:141 +#, fuzzy +msgid "4 ghi" +msgstr "Қаріп" + +#: gajim/data/gui/chat_control.ui:161 +#, fuzzy +msgid "5 jkl" +msgstr "Қаріп" + +#: gajim/data/gui/chat_control.ui:181 +#, fuzzy +msgid "6 mno" +msgstr "Қаріп" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "" + +#: gajim/data/gui/chat_control.ui:221 +#, fuzzy +msgid "8 tuv" +msgstr "Қаріп" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "" + +#: gajim/data/gui/chat_control.ui:261 +#, fuzzy +msgid "*" +msgstr "Қаріп" + +#: gajim/data/gui/chat_control.ui:281 +#, fuzzy +msgid "0" +msgstr "Қаріп" + +#: gajim/data/gui/chat_control.ui:301 +#, fuzzy +msgid "#" +msgstr "Қаріп" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "_Чатты бастау" + +#: gajim/data/gui/contact_context_menu.ui:28 +msgid "Send _File..." +msgstr "_Файлды жіберу..." + +#: gajim/data/gui/contact_context_menu.ui:44 +msgid "Invite _Contacts" +msgstr "Контакттарды _шақыру" + +#: gajim/data/gui/contact_context_menu.ui:58 +msgid "E_xecute Command..." +msgstr "Команда_ны орындау..." + +#: gajim/data/gui/contact_context_menu.ui:67 +#, fuzzy +msgid "M_anage Contact" +msgstr "_Контактты басқару" + +#: gajim/data/gui/contact_context_menu.ui:77 +msgid "_Rename..." +msgstr "_Атын ауыстыру..." + +#: gajim/data/gui/contact_context_menu.ui:84 +msgid "Edit _Groups..." +msgstr "_Топтарды түзету..." + +#: gajim/data/gui/contact_context_menu.ui:92 +msgid "Add Special _Notification..." +msgstr "Арна_йы хабарламаны орнату" + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "_Жазылу" + +#: gajim/data/gui/contact_context_menu.ui:115 +#, fuzzy +msgid "_Allow contact to see my status" +msgstr "Бұ_л контактқа менің күйімді көруге рұқсат ету" + +#: gajim/data/gui/contact_context_menu.ui:123 +#, fuzzy +msgid "A_sk to see contact status" +msgstr "_Оның қалып-күйін көруді сұрау" + +#: gajim/data/gui/contact_context_menu.ui:131 +#, fuzzy +msgid "_Forbid contact to see my status" +msgstr "Оған _менің қалып-күйімді көруді рұқсат етпеу" + +#: gajim/data/gui/contact_context_menu.ui:159 +msgid "_Unignore" +msgstr "Е_лемеу емес" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "_Елемеу" + +#: gajim/data/gui/contact_context_menu.ui:174 +#, fuzzy +msgid "_Add to Contact List..." +msgstr "_Контакт қосу..." + +#: gajim/data/gui/single_message_window.ui:42 +#, fuzzy +msgid "_To" +msgstr "Оған" + +#: gajim/data/gui/single_message_window.ui:71 +#, fuzzy +msgid "Su_bject" +msgstr "Тақырып" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "" + +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "Хаб_арлама" + +#: gajim/data/gui/single_message_window.ui:144 +#, fuzzy +msgid "Characters typed: 0" +msgstr "Таңба рұқсат етілмеген" + +#: gajim/data/gui/single_message_window.ui:189 +#, fuzzy +msgid "_From" +msgstr "Одан" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "Жібер_у" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "Хабарламаны жіберу" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "Жауап бе_ру" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "Бұл хабарламаға жауап беру" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "_Жіберу мен жабу" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "Хабарламаны жіберу мен терезені жабу" + +#: gajim/data/gui/vcard_information_window.ui:106 +#, fuzzy +msgid "Client" +msgstr "Клиент:" + +#: gajim/data/gui/vcard_information_window.ui:140 +#, fuzzy +msgid "Contact time" +msgstr "Контакт аты" + +#: gajim/data/gui/vcard_information_window.ui:240 +#, fuzzy +msgid "User avatar" +msgstr "Аватар:" + +#: gajim/data/gui/vcard_information_window.ui:255 +msgid "Configured avatar" +msgstr "Бапталған аватар" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +msgid "Ask" +msgstr "" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +msgid "Subscription" +msgstr "Жазылу" + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +msgid "Extra Address" +msgstr "Қосымша адрес" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +msgid "Address" +msgstr "Адрес" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +msgid "E-Mail" +msgstr "Эл. пошта" + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "Пішімі: ЖЖЖЖ-АА-КК" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +msgid "Family" +msgstr "Тегі" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +msgid "Middle" +msgstr "Екінші аты" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +msgid "Prefix" +msgstr "Префикс" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +msgid "Given" +msgstr "" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +msgid "Suffix" +msgstr "Суффикс" + +#: gajim/data/gui/vcard_information_window.ui:958 +msgid "Name Details" +msgstr "" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "батырма" + +#: gajim/data/gui/vcard_information_window.ui:1017 +msgid "Personal Info" +msgstr "Жеке ақпарат" + +#: gajim/data/gui/vcard_information_window.ui:1040 +msgid "Company" +msgstr "Компания" + +#: gajim/data/gui/vcard_information_window.ui:1073 +msgid "Department" +msgstr "Бөлім" + +#: gajim/data/gui/vcard_information_window.ui:1104 +msgid "Position" +msgstr "Лауазымы" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "Ролі" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "Өзім туралы" + +#: gajim/data/gui/vcard_information_window.ui:1514 +msgid "Comments" +msgstr "Түсініктемелер" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "Топтарды түзету" + +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "Пароль" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "Өзгерткіңіз келетін баптауды қосыңыз" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +#, fuzzy +msgid "Themes" +msgstr "Тақырыбы" + +#: gajim/data/gui/themes_window.ui:171 +msgid "Add Setting" +msgstr "Баптауды қосу" + +#: gajim/data/gui/themes_window.ui:204 +msgid "Add new Theme" +msgstr "Жаңа теманы қосу" + +#: gajim/data/gui/themes_window.ui:219 +msgid "Remove Theme" +msgstr "Теманы өшіру" + +#: gajim/data/gui/bookmarks.ui:120 +#, fuzzy +msgid "Autojoin" +msgstr "А_втокіру" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "Іске _асыру" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "" + +#: gajim/data/gui/preferences.ui:68 +#, fuzzy +msgid "Contact List Appearance" +msgstr "Ростер элементтерімен алмасу" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +#, fuzzy +msgid "Chats" +msgstr "Чаттар" + +#: gajim/data/gui/preferences.ui:215 +#, fuzzy +msgid "Visual Notifications" +msgstr "Хабарламалар" + +#: gajim/data/gui/preferences.ui:243 +#, fuzzy +msgid "Sounds" +msgstr "Wav дыбыстары" + +#: gajim/data/gui/preferences.ui:303 +#, fuzzy +msgid "Ask For Status Message on…" +msgstr "Күй хабарламасын сұрау:" + +#: gajim/data/gui/preferences.ui:331 +#, fuzzy +msgid "Automatic Status Change" +msgstr "Өздігінен қалып-күйді орнату" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "" + +#: gajim/data/gui/preferences.ui:447 +#, fuzzy +msgid "Status Icon" +msgstr "Кү_й таңбашалары:" + +#: gajim/data/gui/preferences.ui:472 +msgid "Style" +msgstr "Стиль" + +#: gajim/data/gui/preferences.ui:511 +#, fuzzy +msgid "Show _Features" +msgstr "Мүміндіктері" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:632 +#, fuzzy +msgid "Audio" +msgstr "Аудио сынау" + +#: gajim/data/gui/preferences.ui:660 +#, fuzzy +msgid "Video" +msgstr "Видео сынау" + +#: gajim/data/gui/preferences.ui:698 +#, fuzzy +msgid "Audio/Video" +msgstr "Аудио / Видео" + +#: gajim/data/gui/preferences.ui:735 +#, fuzzy +msgid "Miscellaneous" +msgstr "Таңдамалы" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:821 +#, fuzzy +msgid "Advanced Configuration Editor… " +msgstr "Кеңейтілген баптаулар түзетушісі" + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "" + +#: gajim/data/gui/server_info.ui:50 +msgid "Server Software" +msgstr "" + +#: gajim/data/gui/server_info.ui:80 +#, fuzzy +msgid "Server Uptime" +msgstr "Сервер жауабы: %s" + +#: gajim/data/gui/server_info.ui:109 +#, fuzzy +msgid "Contact Addresses" +msgstr "Контакт хабарламасы:" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "" + +#: gajim/data/gui/server_info.ui:177 +#, fuzzy +msgid "Proxy Type" +msgstr "Прокси:" + +#: gajim/data/gui/server_info.ui:192 +#, fuzzy +msgid "No proxy used" +msgstr "Прокси:" + +#: gajim/data/gui/server_info.ui:202 +#, fuzzy +msgid "View _Certificate" +msgstr "Клиент сертификаты" + +#: gajim/data/gui/server_info.ui:222 +#, fuzzy +msgid "Proxy Host" +msgstr "Прокси _хосты:" + +#: gajim/data/gui/server_info.ui:421 +#, fuzzy +msgid "Copy info to clipboard" +msgstr "_Сілтеме адресін көшіру" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "Ұйым (O)" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "Ұйым бөлімі (OU)" + +#: gajim/data/gui/certificate_dialog.ui:153 +msgid "Serial Number" +msgstr "Сериялық нөмір" + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "Берілген күні" + +#: gajim/data/gui/certificate_dialog.ui:304 +msgid "Expires on" +msgstr "Аяқталу мерзімі" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "SHA-1" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "Кімге берілген" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "Кім берген" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "Жарамдылығы" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "Баспалар" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "SHA-256" + +#: gajim/data/gui/certificate_dialog.ui:465 +msgid "Copy Certificate Information" +msgstr "Сертификат ақпаратын көшіріп алу" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "Достарды шақыру!" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +#, fuzzy +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "" +"Сіз көп пайдаланушы чатын бастауға дайынсыз.\n" +"Шақырғыңыз келетін контакттарды таңдаңыз" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "баған" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +#, fuzzy +msgid "Please select a group chat server." +msgstr "MUC серверін таңдаңыз" + +#: gajim/data/gui/chat_to_muc_window.ui:141 +#, fuzzy +msgid "Group chat server" +msgstr "Топтық чаттар" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +msgid "In_vite" +msgstr "_Шақыру" + +#: gajim/data/gui/mam_preferences.ui:53 +#, fuzzy +msgid "_Default" +msgstr "Бастапқысы" + +#: gajim/data/gui/mam_preferences.ui:136 +#, fuzzy +msgid "Archive" +msgstr "Архив бос" + +#: gajim/data/gui/history_manager.ui:11 +#, fuzzy +msgid "_Export" +msgstr "Экспорт" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +msgid "Gajim History Logs Manager" +msgstr "Gajim тарихы логтар менеджері" + +#: gajim/data/gui/history_manager.ui:104 +#, fuzzy +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" +"Бұл логтар басқарушысы логтарды қарау үшін арналмаған. Ол үшін тарих " +"терезесін қолданыңыз.\n" +"\n" +"Осыны логтарды өшіру не экспорттау үшін қолданыңыз. Логтарды сол жақтан " +"таңдауға болады, және/немесе дерекқордан іздеуге болады." + +#: gajim/data/gui/history_manager.ui:120 +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" +"ЕСКЕРТУ:\n" +"Топтап өшіруді жоспарласаңыз, Gajim-ның қосылмай тұрғанына көз жеткізіңіз. " +"Жалпы айтқанда, ағымда сөйлесіп жатқан контакттар тарихын өшіруден бас " +"тартыңыз." + +#: gajim/data/gui/history_manager.ui:211 +#, fuzzy +msgid "Search database..." +msgstr "Д_ереққордан іздеу" + +#: gajim/data/gui/history_manager.ui:226 +#, fuzzy +msgid "Search in database" +msgstr "Д_ереққордан іздеу" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" + +#: gajim/data/gui/groupchat_invite.ui:69 +#, fuzzy +msgid "Invitees" +msgstr "_Шақыру" + +#: gajim/data/gui/groupchat_invite.ui:153 +#, fuzzy +msgid "Search contacts..." +msgstr "Д_ереққордан іздеу" + +#: gajim/data/gui/groupchat_invite.ui:223 +#, fuzzy +msgid "Click on contacts you would like to invite to this group chat." +msgstr "%(nick)s бөлімнен шығарылған (%(reason)s)" + +#: gajim/data/gui/service_discovery_window.ui:148 +#, fuzzy +msgid "Go" +msgstr "Ө_ту" + +#: gajim/data/gui/status_change_window.ui:27 +#, fuzzy +msgid "Change Status" +msgstr "Қалып-күйді өзгерту" + +#: gajim/data/gui/status_change_window.ui:56 +#, fuzzy +msgid "Status Presets…" +msgstr "Күй хабарламасы" + +#: gajim/data/gui/status_change_window.ui:72 +msgid "Save this message as a preset" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:130 +#, fuzzy +msgid "Ac_tivity" +msgstr "Әрекеті:" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:278 +#, fuzzy +msgid "_Change Status" +msgstr "Қалып-күйді өзгерту" + +#: gajim/data/gui/status_change_window.ui:313 +#, fuzzy +msgid "Activity" +msgstr "Әрекеті:" + +#: gajim/data/gui/status_change_window.ui:326 +#, fuzzy +msgid "_No Activity" +msgstr "Әрекеті:" + +#: gajim/data/gui/status_change_window.ui:729 +#, fuzzy +msgid "Mood" +msgstr "Түнерген" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "Тақырып" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +#, fuzzy +msgid "Author" +msgstr "Авторлары:" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "Талқылау журналдары" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +#, fuzzy +msgid "Group Chat Language" +msgstr "Топ чатына шақыру" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +#, fuzzy +msgid "Copy Address" +msgstr "XMPP адресін көшіру" + +#: gajim/data/gui/emoji_chooser.ui:98 +#, fuzzy +msgid "No Results Found" +msgstr "Нәтижесі жоқ" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr "XML консолі" + +#: gajim/data/gui/xml_console.ui:131 +#, fuzzy +msgid "Start Search..." +msgstr "_Чатты бастау..." + +#: gajim/data/gui/xml_console.ui:260 +#, fuzzy +msgid "Clear" +msgstr "Тазалау" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "" + +#: gajim/data/gui/xml_console.ui:316 +#, fuzzy +msgid "Presets" +msgstr "_Бар болу" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "Синхрондау : контакттарды таңдау" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +msgid "Select the contacts you want to synchronise" +msgstr "Синхрондау үшін контакттарды таңдаңыз" + +#: gajim/data/gui/groupchat_config.ui:51 +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" +"Келесілерден біреу болуы мүмкін:\n" +"<user@domain/resource> (тек ол ресурс сәйкес келеді).\n" +"<user@domain> (кез-келген ресурс сәйкес).\n" +"<domain/resource> (тек ол ресурс сәйкес келеді).\n" +"<domain> (доменнің өзі сәйкес, және әр user@domain, domain/resource)\n" + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:309 +#, fuzzy +msgid "Reserved Name" +msgstr "Баптау аты" + +#: gajim/data/gui/groupchat_config.ui:346 +#, fuzzy +msgid "Affiliation" +msgstr "Қатысуы:" + +#: gajim/data/gui/groupchat_config.ui:377 +#, fuzzy +msgid "Affiliations" +msgstr "Қолданбалар" + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "Себебі" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "Блок тізім" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "_Блоктау" + +#: gajim/data/gui/subscription_request_window.ui:34 +#, fuzzy +msgid "_Block User" +msgstr "_Блоктау" + +#: gajim/data/gui/subscription_request_window.ui:49 +#, fuzzy +msgid "_Report as Spam" +msgstr "Ақаулық жөнінде хаба_рлау" + +#: gajim/data/gui/subscription_request_window.ui:212 +#, fuzzy +msgid "_Deny…" +msgstr "_Блоктау" + +#: gajim/data/gui/subscription_request_window.ui:225 +#, fuzzy +msgid "Ac_cept" +msgstr "_Тіркелгілер" + +#: gajim/data/gui/subscription_request_window.ui:230 +#, fuzzy +msgid "Allows the contact to see your online status" +msgstr "Бұ_л контактқа менің күйімді көруге рұқсат ету" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:115 +#, fuzzy +msgid "_Report Bug" +msgstr "Ақаулық жөнінде хаба_рлау" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "Оқиға" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "Дыбысты таңдаңыз" + +#: gajim/data/gui/manage_sounds.ui:97 +msgid "Clear Sound" +msgstr "Дыбысты тазарту" + +#: gajim/data/gui/manage_sounds.ui:118 +msgid "Play Sound" +msgstr "Дыбысты ойнату" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +msgid "_Send Files" +msgstr "_Файлдарды жіберу" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +msgid "Send" +msgstr "Жіберу" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +msgid "Files to send" +msgstr "Жіберілетін файлдар" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +msgid "Add Files" +msgstr "Файлдарды қосу" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +msgid "Remove Files" +msgstr "Файлдарды өшіру" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +msgid "Idle since:" +msgstr "Белсенді емес уақытының басы:" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +msgid "Mood:" +msgstr "Көңіл-күй:" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +msgid "Activity:" +msgstr "Әрекеті:" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +msgid "Tune:" +msgstr "Өлең:" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +msgid "Location:" +msgstr "Орналасу:" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +msgid "Subscription:" +msgstr "Жазылу:" + +#: gajim/data/gui/advanced_configuration.ui:15 +#, fuzzy +msgid "A restart may be required for some settings to take effect" +msgstr "" +"ЕСКЕРТУ: Кейбір баптаулар іске асу үшін, Gajim-ді қайта қосуыңыз керек" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "" + +#: gajim/data/gui/advanced_configuration.ui:120 +#, fuzzy +msgid "_Reset Value" +msgstr "Бас_тапқы түстерге тастау" + +#: gajim/data/gui/advanced_configuration.ui:125 +#, fuzzy +msgid "Resets value to default" +msgstr "Бас_тапқы түстерге тастау" + +#: gajim/data/gui/history_window.ui:27 +#, fuzzy +msgid "Display status changes" +msgstr "К_онтакттардың күй өзгерісін тарихқа жазу" + +#: gajim/data/gui/history_window.ui:57 +msgid "History Manager" +msgstr "Тарихты басқару" + +#: gajim/data/gui/history_window.ui:233 +#, fuzzy +msgid "Mode" +msgstr "Модератор" + +#: gajim/data/gui/history_window.ui:246 +#, fuzzy +msgid "Search complete history" +msgstr "Соңғылар:" + +#: gajim/data/gui/history_window.ui:263 +msgid "Search selected day only" +msgstr "" + +#: gajim/data/gui/history_window.ui:317 +#, fuzzy +msgid "Store history for this chat" +msgstr "Бұл сертификат үшін осы қатені елемеу." + +#: gajim/data/gui/history_window.ui:332 +#, fuzzy +msgid "Store History" +msgstr "Соңғылар:" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +#, fuzzy +msgid "Identified Error" +msgstr "SSL сертификат қатесі" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +#, fuzzy +msgid "" +msgstr "Қате" + +#: gajim/data/gui/ssl_error_dialog.ui:74 +msgid "Add this certificate to the list of _trusted certificates" +msgstr "Бұл сертификатты сені_мділер тізіміне қосу" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +#, fuzzy +msgid "_View Certificate" +msgstr "Клиент сертификаты" + +#: gajim/data/gui/ssl_error_dialog.ui:120 +#, fuzzy +msgid "_Connect" +msgstr "Байланысқан" + +#: data/org.gajim.Gajim.desktop.in:5 +#, fuzzy +msgid "XMPP Chat Client" +msgstr "Jabber IM Клиенті" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:8 +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:27 +#, fuzzy +msgid "Show next pending event" +msgstr "Қат_ыспаған оқиғаларды көрсету" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:17 +#, fuzzy +msgid "Features:" +msgstr "Мүміндіктері" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +#, fuzzy +msgid "Automatic spell-checking for your messages" +msgstr "Жазылған хабарламаларды емлеге тексеру." + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +#, fuzzy +msgid "Support for service discovery including nodes and search for users" +msgstr "%s тіркелгісі үшін қызметтерді қарап шығу" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +#, fuzzy +msgid "Contact list" +msgstr "Контакттар" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +#, fuzzy +msgid "Group chat support" +msgstr "Топтық чаттар" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +#, fuzzy +msgid "Chat history" +msgstr "Соңғылар:" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +#, fuzzy +msgid "Plugin manager" +msgstr "Плагин сәтсіз" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +#, fuzzy +msgid "Gajim Team" +msgstr "Gajim - %s" + +#~ msgid "Chat Settings" +#~ msgstr "Чат баптаулары" + +#, python-format +#~ msgid "%i day" +#~ msgid_plural "%i days" +#~ msgstr[0] "%i күн" +#~ msgstr[1] "%i күн" + +#~ msgid "Composing only" +#~ msgstr "Тек жазу" + +#~ msgid "All chat states" +#~ msgstr "Барлық чат күйлері" + +#~ msgid "None" +#~ msgstr "Ешнәрсе" + +#, python-format +#~ msgid "%s Status Message" +#~ msgstr "%s күй хабарламасы" + +#~ msgid "an audio and video" +#~ msgstr "аудио мен видео" + +#~ msgid "an audio" +#~ msgstr "аудио" + +#~ msgid "a video" +#~ msgstr "видео" + +#, python-format +#~ msgid "" +#~ "%(contact)s wants to start a %(type)s chat with you. Do you want to " +#~ "answer the call?" +#~ msgstr "" +#~ "%(contact)s сізбен %(type)s чатын бастағысы келеді. Қоңырауға жауап " +#~ "бересіз бе?" + +#~ msgid "Could not load image" +#~ msgstr "Суретті жүктеу мүмкін емес" + +#~ msgid "Error." +#~ msgstr "Қате." + +#, python-format +#~ msgid "%(type)s state : %(state)s, reason: %(reason)s" +#~ msgstr "%(type)s қалып-күйі : %(state)s, себебі: %(reason)s" + +#~ msgid "No account available" +#~ msgstr "Бірде-бір тіркелгі қолжетерсіз" + +#~ msgid "You must create an account before you can chat with other contacts." +#~ msgstr "" +#~ "Басқа контакттармен сөйлесу үшін алдымен тіркелгіні жасауыңыз қажет." + +#~ msgid "Metacontacts storage not supported by your server" +#~ msgstr "Метаконтакттарды сақтау серверіңіз қолдамайды" + +#, fuzzy +#~ msgid "" +#~ "Your server does not support storing metacontacts information. So this " +#~ "information will not be saved on next reconnection." +#~ msgstr "" +#~ "Серверінің метаконтакттар ақпаратын сақтауды қолдамайды. Сол үшін, бұл " +#~ "ақпарат келесі рет қосылғаны үшін сақталмайды." + +#, fuzzy, python-brace-format +#~ msgid "You are invited to {room} by {user}" +#~ msgstr "Сізді топтық чатқа шақырған" + +#, python-format +#~ msgid "%s wants to start a voice chat." +#~ msgstr "%s сізбен дауыс чатын бастағысы келеді." + +#~ msgid "Could not save your settings and preferences" +#~ msgstr "Баптауларыңызды сақтау мүмкін емес" + +#, fuzzy +#~ msgid "Could not request upload slot for HTTP File Upload" +#~ msgstr "Жергілікті қызметті қосу мүмкін емес" + +#, fuzzy +#~ msgid "Not Secure" +#~ msgstr "Басталмаған" + +#, fuzzy +#~ msgid "Could not Upload File" +#~ msgstr "Суретті жүктеу мүмкін емес" + +#~ msgid "Lists all preferences and their values" +#~ msgstr "Барлық баптаулар мен олардың мәндерін тізіп шығу" + +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "'key' мәнін 'value' етіп орнатады." + +#~ msgid "key=value" +#~ msgstr "кілт=мәні" + +#, fuzzy +#~ msgid "'key' is the name of the preference, 'value' is what to set it to" +#~ msgstr "'key' - баптаудың аты, 'value' - орнатылатын мәні" + +#~ msgid "Deletes a preference item" +#~ msgstr "Баптау элементін өшіру" + +#~ msgid "key" +#~ msgstr "кілт" + +#~ msgid "name of the preference to be deleted" +#~ msgstr "өшірілетін баптау аты" + +#~ msgid "Writes the current state of Gajim preferences to the .config file" +#~ msgstr "Gajim ағымдағы баптауларын .config файлына жазу" + +#, python-format +#~ msgid "%s is a directory but should be a file" +#~ msgstr "%s бума екен, алайда файл болуы керек еді" + +#, fuzzy, python-format +#~ msgid "Creating %s" +#~ msgstr "Өшірілуде %s" + +#, python-format +#~ msgid "%(nickname)s Signed In" +#~ msgstr "%(nickname)s желіге кірді" + +#~ msgid "Contact Signed In" +#~ msgstr "Контакт кірді" + +#, python-format +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "%(nickname)s желіден шықты" + +#~ msgid "Contact Signed Out" +#~ msgstr "Контакт шықты" + +#, fuzzy +#~ msgid "" +#~ "Show desktop notification even when a chat window is opened for this " +#~ "contact and does not have focus." +#~ msgstr "Қалқыма/хабарлауды мен _кқ/қж/бе/жасырын болғанда рұқсат ету" + +#~ msgid "default" +#~ msgstr "бастапқысы" + +#, fuzzy +#~ msgid "" +#~ "Character to propose to add after desired nickname when nickname is " +#~ "already used in group chat." +#~ msgstr "" +#~ "Таңдалған ник атын чатта біреу қолданып тұрса, ол ник аты артына қосуға " +#~ "ұсынылатын таңба." + +#, fuzzy +#~ msgid "" +#~ "How many seconds to wait before trying to automatically rejoin a group " +#~ "chat you were disconnected from. Set to 0 to disable automatic rejoining." +#~ msgstr "" +#~ "Конференциядан шыққан кезде қанша минуттан кейін оған авто түрде кіру " +#~ "талабын жасау. Өздігінен кіруді сөндіру үшін 0-ге орнатыңыз." + +#, fuzzy +#~ msgid "If enabled, Gajim displays the avatar in the chat window." +#~ msgstr "Сөндірілеген болса, сіз чат терезесінде аватарды көрмейтін боласыз." + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will show affiliation of group chat participants by " +#~ "adding a colored square to the status icon." +#~ msgstr "" +#~ "Қосулы тұрса, топ чаттарындағы қатысушылардың қатысу деңгейін көрсету " +#~ "үшін, Gajim күй таңбашаларына кішкене ғана түсті шаршы қосады" + +#, fuzzy +#~ msgid "" +#~ "Status to be used automatically when connecting. Can be 'online', 'chat', " +#~ "'away', 'xa' or 'dnd'. NOTE: This option is used only if " +#~ "'restore_last_status' is disabled." +#~ msgstr "" +#~ "Қайта автоқосылу үшін қолданылатын күйі. Келесіден біреу: желіде, чатқа " +#~ "дайын, кетіп қалған, кеңейтілген кетіп қалған, мазамды алмаңыз, жасырын. " +#~ "ЕСКЕРТУ: бұл опция тек restore_last_status опциясы сөндірілген болса ғана " +#~ "қолданылады" + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending password on an plaintext connection. " +#~ "Can be 'warn', or 'none'." +#~ msgstr "" +#~ "Парольдерді шифрленбеген байланыс арқылы беру алдында ескерту сұхбатын " +#~ "көрсету." + +#, fuzzy +#~ msgid "" +#~ "How many seconds to wait for the answer of a ping alive packet before " +#~ "trying to reconnect." +#~ msgstr "" +#~ "Байланысты қайта орнатпас бұрын, ping alive дестесіне жауапты қанша " +#~ "секунд күту керек." + +#~ msgid "I'm available." +#~ msgstr "Мен бармын." + +#~ msgid "I'm free for chat." +#~ msgstr "Мен чат үшін дайынмын." + +#~ msgid "Be right back." +#~ msgstr "Жақында боламын." + +#~ msgid "I'm not available." +#~ msgstr "Мен жоқпын." + +#~ msgid "Do not disturb." +#~ msgstr "Мазамды алмаңыз." + +#~ msgid "Bye!" +#~ msgstr "Қош!" + +#~ msgid "Timeout loading image" +#~ msgstr "Суретті жүктеу уақыты бітті" + +#~ msgid "Image is too big" +#~ msgstr "Сурет тым үлкен" + +#, fuzzy +#~ msgid "PyCURL is not installed" +#~ msgstr "CRL мерзімі әлі басталмаған" + +#, fuzzy +#~ msgid "Error loading image" +#~ msgstr "Суретті жүктеу уақыты бітті" + +#~ msgid "Blocked Contacts" +#~ msgstr "Блокталған контакттар" + +#~ msgid "Join group chat every time Gajim is started" +#~ msgstr "Gajim әр рет іске қосылған кезде, топтық чатқа қосылу" + +#~ msgid "Join Automatically" +#~ msgstr "Автоматты түрде қосылу" + +#~ msgid "Group chat" +#~ msgstr "Топтық чат" + +#~ msgid "Bookmark group chat" +#~ msgstr "Топтық чатты бетбелгілерге қосу" + +#~ msgid "Bookmark" +#~ msgstr "Бетбелгі" + +#~ msgid "Recently used group chats" +#~ msgstr "Жуырда қолданылған топтық чаттар" + +#~ msgid "Clear Avatar" +#~ msgstr "Аватарды тазарту" + +#~ msgid "Set Avatar…" +#~ msgstr "Аватарды орнату…" + +#~ msgid "Main" +#~ msgstr "Негізгі" + +#~ msgid "Contact" +#~ msgstr "Контакт" + +#, fuzzy +#~ msgid "_Leave Group Chat" +#~ msgstr "Топ чаттардан шығу" + +#~ msgid "Enter a new name for this group chat" +#~ msgstr "Топтық чат үшін жаңа атын енгізіңіз" + +#~ msgid "Use default applications" +#~ msgstr "Негізгі қолданбаларды қолдану" + +#~ msgid "Custom" +#~ msgstr "Таңдауыңызша" + +#~ msgid "Pop it up" +#~ msgstr "Оны қалқымалы хабарламада шығару" + +#~ msgid "Notify me about it" +#~ msgstr "Ол туралы маған хабарлау" + +#, fuzzy +#~ msgid "Show only in contact list" +#~ msgstr "Те_к белсенді контакттарды көрсету" + +#, fuzzy +#~ msgid "No status messages" +#~ msgstr "қалып-күй хабарламасы" + +#, fuzzy +#~ msgid "All status messages" +#~ msgstr "қалып-күй хабарламасы" + +#, fuzzy +#~ msgid "Only enter/leave messages" +#~ msgstr "Сізде оқылмаған хабарламалар бар" + +#, fuzzy +#~ msgid "Me_rge accounts" +#~ msgstr "Тіркел_гілерді біріктіру" + +#, fuzzy +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "Ростердегі контакттардың а_ватарларын көрсету" + +#, fuzzy +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "" +#~ "Белгіленген болса, Gajim ростердегі мен топ чаттағы контакттар үшін " +#~ "аватарларын көрсетеді" + +#, fuzzy +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "Ростердегі _контакттардың қалып-күй хабарламаларын көрсету" + +#, fuzzy +#~ msgid "" +#~ "If checked, status messages of contacts will be shown under the contact's " +#~ "name, in the contact list window, and in group chats" +#~ msgstr "" +#~ "Белгіленген болса, Gajim ростердегі мен топ чаттағы контакттар үшін қалып-" +#~ "күй хабарламаларын көрсетеді" + +#, fuzzy +#~ msgid "" +#~ "Show e_xtra information of contacts in contact list (mood, activity, ...)" +#~ msgstr "Ростерде_гі контакттардың орналасуын көрсету" + +#~ msgid "in _contact list" +#~ msgstr "_контакттар тізімінде" + +#~ msgid "in _group chats" +#~ msgstr "_чат бөлмелерінде" + +#, fuzzy +#~ msgid "Enable spell _checking" +#~ msgstr "Емлені тексеру" + +#, fuzzy +#~ msgid "" +#~ "If checked, spelling errors in input fields of chat windows will be " +#~ "highlighted. If no language is explicitly set via right click on the " +#~ "input field, the default language will be used for this contact or group " +#~ "chat. Needs gspell to be installed." +#~ msgstr "" +#~ "Белгіленген болса, Gajim чат терезелерінің енгізу өрістеріндегі емле " +#~ "қателерін түспен ерекшелейді. Егер өрісте оң жақ шерту арқылы тіл ерекше " +#~ "көрсетілмесе, сол контакт не топ чаты үшін бастапқы тіл қолданылады." + +#, fuzzy +#~ msgid "Display status messages in _single chats" +#~ msgstr "Ростердегі _контакттардың қалып-күй хабарламаларын көрсету" + +#, fuzzy +#~ msgid "" +#~ "If checked, status lines will be shown in 1 on 1 chats when a contact " +#~ "changes their status or status message" +#~ msgstr "" +#~ "Сөндірілген болса, Gajim чаттарда контакт өз күйін не күй хабарламасын " +#~ "өзгертсе, күй жолын енді жазбайды." + +#, fuzzy +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "Чат бөлмесіне кіру мүмкін емес" + +#, fuzzy +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "Чат бөлмесіне кіру мүмкін емес" + +#, fuzzy +#~ msgid "Show status changes (Default)" +#~ msgstr "К_онтакттардың күй өзгерісін тарихқа жазу" + +#, fuzzy +#~ msgid "" +#~ "If checked, the tab will be colored according to the current chatstate of " +#~ "the contact" +#~ msgstr "" +#~ "Белгіленген болса, Gajim басқаларға сіздің операциялық жүйеңізді " +#~ "анықтауға рұқсат етеді" + +#, fuzzy +#~ msgid "" +#~ "If checked, a description of the contacts current chatstate is shown in " +#~ "the banner" +#~ msgstr "" +#~ "Белгіленген болса, Gajim басқаларға сіздің операциялық жүйеңізді " +#~ "анықтауға рұқсат етеді" + +#, fuzzy +#~ msgid "Chatstate" +#~ msgstr "Соңғы қалып-күйі: %s" + +#~ msgid "_When new event is received" +#~ msgstr "Жаңа оқ_иға алынған кезінде" + +#, fuzzy +#~ msgid "Show popups/notifications when a chat window is already _open" +#~ msgstr "Қалқыма/хабарлауды мен _кқ/қж/бе/жасырын болғанда рұқсат ету" + +#, fuzzy +#~ msgid "Allow popups/notifications when I'm _away, not available or busy" +#~ msgstr "Қалқыма/хабарлауды мен _кқ/қж/бе/жасырын болғанда рұқсат ету" + +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "Жаңа кір_гендер туралы хабарлау" + +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "Жаңа _шыққандар туралы хабарлау" + +#~ msgid "Play _sounds" +#~ msgstr "Дыбы_старды ойнату" + +#~ msgid "Ma_nage..." +#~ msgstr "Б_асқару..." + +#, fuzzy +#~ msgid "Allow playing sounds when I'm _busy" +#~ msgstr "Мен бос емес _болғанда дыбыстарға рұқсат ету" + +#, fuzzy +#~ msgid "No_t Available" +#~ msgstr "Қол жетерсіз" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Not Available when the computer " +#~ "has not been used for the specified time" +#~ msgstr "" +#~ "Белгіленген болса, Gajim компьютеріңіз одан да көп қолданылмаса, қалып-" +#~ "күйіңізді Қолжетерсізге ауыстырады." + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Away when the computer has not " +#~ "been used for the specified time" +#~ msgstr "" +#~ "Белгіленген болса, Gajim компьютеріңіз одан да көп қолданылмаса, қалып-" +#~ "күйіңізді Қолжетерсізге ауыстырады." + +#, fuzzy +#~ msgid "" +#~ "The automatic away status message. If empty, the current status message " +#~ "will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-away timeout." +#~ msgstr "" +#~ "Авто Кетіп қалған қалып-күй хабарламасы. Бос болса, Gajim ағымдағы күй " +#~ "хабарламасын өзгертпейді\n" +#~ "$S алдыңғы күй хабарласымен, ал\n" +#~ "$T авто кетіп қалған уақыт шамасымен алмастырылады" + +#, fuzzy +#~ msgid "" +#~ "The automatic not available status message. If empty, the current status " +#~ "message will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-not-available timeout." +#~ msgstr "" +#~ "Авто Қолжетерсіз қалып-күй хабарламасы. Бос болса, Gajim ағымдағы күй " +#~ "хабарламасын өзгертпейді\n" +#~ "$S алдыңғы күй хабарласымен, ал\n" +#~ "$T авто қолжетерсіз уақыт шамасымен алмастырылады" + +#, fuzzy +#~ msgid "Minutes" +#~ msgstr "минуттан кейін" + +#~ msgid "" +#~ "If enabled, Gajim will not ask for a status message. The specified " +#~ "default message will be used instead." +#~ msgstr "" +#~ "Қосулы тұрса, Gajim қалып-күй хабарламасын сұрамайды, бастапқы мәндері " +#~ "қолданылады." + +#~ msgid "Default Message" +#~ msgstr "Хабарлама" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "Күй хабарламасы" + +#, fuzzy +#~ msgid "Preset Status Messages" +#~ msgstr "Алдын-ала орнатылған қалып-күй хабарламалары" + +#, fuzzy +#~ msgid "_Theme" +#~ msgstr "Тақырыбы" + +#~ msgid "Configure color and font of the interface" +#~ msgstr "Интерфейстің түстерін мен қарібін баптау" + +#, fuzzy +#~ msgid "" +#~ "If checked, protocol-specific status icons will be used (e.g. a contact " +#~ "from ICQ will have the equivalent ICQ icon for status online, away, busy, " +#~ "etc...)" +#~ msgstr "" +#~ "Белгіленген болса, Gajim хаттамаға тән қалып-күй таңбашаларын қолданады. " +#~ "(Мыс. Mail.ru пайдаланушылары үшін сәйкес Mail.ru Agent таңбашалары " +#~ "көрсетіледі)" + +#, fuzzy +#~ msgid "" +#~ "STUN server hostname. If no hostname was given, Gajim will try\n" +#~ "to discover one from the server. (Example: stun.iptel.org)" +#~ msgstr "" +#~ "STUN серверінің хост аты. Көрсетілмеген болса, Gajim серверден\n" +#~ "оны іздеп көреді." + +#, fuzzy +#~ msgid "Video si_ze" +#~ msgstr "Видео өлшемі" + +#, fuzzy +#~ msgid "Video output" +#~ msgstr "видео шығысы" + +#~ msgid "_Manage..." +#~ msgstr "_Басқару..." + +#, fuzzy +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "К_онтакттардың күй өзгерісін тарихқа жазу" + +#, fuzzy +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "Белгіленген болса, Gajim бұл тіркелгі үшін парольді сақтап отырады" + +#~ msgid "_Open..." +#~ msgstr "А_шу..." + +#, fuzzy +#~ msgid "_Filter" +#~ msgstr "Фильтр:" + +#, fuzzy +#~ msgid "Protocol" +#~ msgstr "_Хаттама:" + +#~ msgid "Privacy Lists:" +#~ msgstr "Жекелік тізімдер:" + +#, fuzzy +#~ msgid "_Ignore this error for this certificate" +#~ msgstr "Бұл сертификат үшін осы қатені елемеу." + +#, fuzzy +#~ msgid "Message..." +#~ msgstr "Хабарлама" + +#, fuzzy +#~ msgid "Preset _messages" +#~ msgstr "Орнатылған хабарламалар:" + +#, fuzzy +#~ msgid "_Type your new status message" +#~ msgstr "Жаңа қалып-күй хабарламаңызды енгізіңіз" + +#~ msgid "Change Status Message…" +#~ msgstr "Қалып-күй хабарламасын өзгерту…" + +#~ msgid "Mood:" +#~ msgstr "Көңіл-күй:" + +#~ msgid "Message:" +#~ msgstr "Хабарлама:" + +#~ msgid "none" +#~ msgstr "жоқ" + +#~ msgid "both" +#~ msgstr "екі жақты" + +#~ msgid "from" +#~ msgstr "одан" + +#~ msgid "to" +#~ msgstr "оған" + +#~ msgid "Privacy List" +#~ msgstr "Жекелік тізімі" + +#~ msgid "Privacy List" +#~ msgstr "Жекелік тізімі" + +#~ msgid "Active for this session" +#~ msgstr "Бұл сессия үшін белсенді" + +#~ msgid "Active on each startup" +#~ msgstr "Әр қосылуда белсенді" + +#~ msgid "List of rules" +#~ msgstr "Ережелер тізімі" + +#~ msgid "Add / Edit a rule" +#~ msgstr "Ережені қосу / түзету" + +#~ msgid "Allow" +#~ msgstr "Рұқсат ету" + +#~ msgid "Deny" +#~ msgstr "Болдырмау" + +#~ msgid "all in the group" +#~ msgstr "топтағы барлығы" + +#~ msgid "all by subscription" +#~ msgstr "барлығы жазылуы бойынша" + +#~ msgid "All" +#~ msgstr "Барлығы" + +#~ msgid "to send me messages" +#~ msgstr "маған хабарлама жіберуге" + +#~ msgid "to send me queries" +#~ msgstr "маған сұранымдар жіберуге" + +#~ msgid "to view my status" +#~ msgstr "менің қалып-күйімді көруге" + +#~ msgid "to send me status" +#~ msgstr "маған қалып-күйлерін жіберуге" + +#~ msgid "All (including subscription)" +#~ msgstr "Барлық (жазылуларды қоса)" + +#~ msgid "Order:" +#~ msgstr "Реті:" + +#~ msgid "Chat Shortcuts" +#~ msgstr "Чаттағы пернетақта жарлықтары" + +#, fuzzy +#~ msgid "Contact List Shortcuts" +#~ msgstr "Ростер элементтерімен алмасу" + +#~ msgid "Fill in the form." +#~ msgstr "Форманы толтырыңыз." + +#~ msgid "Set an activity" +#~ msgstr "Айналысқан ісіңізді көрсету" + +#~ msgid "Message: " +#~ msgstr "Хабарлама: " + +#~ msgid "Group Chat Invitation " +#~ msgstr "Топ чатына шақыру " + +#, python-format +#~ msgid "" +#~ "%(contact)s has invited you to the group chat %(room_jid)s" +#~ msgstr "" +#~ "%(contact)s сізді %(room_jid)s топ чатына қатысуға шақырған" + +#, python-format +#~ msgid "Comment: %s" +#~ msgstr "Түсіндірме: %s" + +#, fuzzy +#~ msgid "Off" +#~ msgstr "Желіде емес" + +#~ msgid "Retrieving profile…" +#~ msgstr "Профайлды алу…" + +#~ msgid "Wrong date format" +#~ msgstr "Уақыт пішімі қате" + +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "Уақыт пішімі ЖЖЖЖ-АА-КК түрінде болуы керек" + +#~ msgid "Information received" +#~ msgstr "Ақпарат алынды" + +#, fuzzy +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "" +#~ "Байланыс жоқ кезде сіз өзіңіздің контакт ақпаратын жариялай алмайсыз." + +#~ msgid "Sending profile…" +#~ msgstr "Профайлды жіберу…" + +#~ msgid "Information NOT published" +#~ msgstr "Ақпарат жарияланған ЖОҚ" + +#~ msgid "vCard publication failed" +#~ msgstr "vCard жариялануы қатемен аяқталды" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "" +#~ "Сіз өзіңіздің жеке ақпаратыңызды жариялау кезінде қате кетті, кейін " +#~ "қайталап көріңіз." + +#, fuzzy +#~ msgid "?password:Hidden" +#~ msgstr "Пароль:" + +#, fuzzy +#~ msgid "Loading" +#~ msgstr "Код жазуда" + +#~ msgid "status message title" +#~ msgstr "қалып-күй хабарлама атауы" + +#~ msgid "status message text" +#~ msgstr "қалып-күй хабарлама мәтіні" + +#~ msgid "Privacy Lists" +#~ msgstr "Жекелік тізімдер" + +#~ msgid "Unblock" +#~ msgstr "Блоктаудан босату" + +#~ msgid "Block" +#~ msgstr "Блоктау" + +#, fuzzy +#~ msgid "" +#~ "This contact will see you offline and you will not receive any messages " +#~ "sent to you by this contact." +#~ msgstr "" +#~ "Контакт бұдан былай сізді желіде емес сияқты көреді және сіз ол сізге " +#~ "жібергісі келетін хабарламаларды ала алмайтын боласыз." + +#, fuzzy +#~ msgid "_Block Contact" +#~ msgstr "Блокталған контакттар" + +#, fuzzy +#~ msgid "Block Group" +#~ msgstr "_Блоктау" + +#, fuzzy +#~ msgid "Really block this group?" +#~ msgstr "Бұл контакт үшін OpenPGP қосулы тұр ма?" + +#, fuzzy +#~ msgid "" +#~ "All contacts of this group will see you as offline and you will not " +#~ "receive any messages sent to you by any one of these contacts." +#~ msgstr "" +#~ "Контакт бұдан былай сізді желіде емес сияқты көреді және сіз ол сізге " +#~ "жібергісі келетін хабарламаларды ала алмайтын боласыз." + +#, fuzzy +#~ msgid "_Block Group" +#~ msgstr "_Блоктау" + +#, fuzzy +#~ msgid "Error While Removing Privacy List" +#~ msgstr "Жекелік тізімін өшіру кезінде қате кетті" + +#, fuzzy +#~ msgid "" +#~ "Privacy list %s has not been removed. It is probably active in one of " +#~ "your connected resources. Please deactivate it and try again." +#~ msgstr "" +#~ "%s жекелік тізімі өшірілмеген. Байланысқан ресурстарыңыздың біреу үшін " +#~ "болуы мүмкін. Оны сөндіріп, қайталар көріңіз." + +#, fuzzy +#~ msgid "Invisibility Not Supported" +#~ msgstr "Жасырын болуға қолдау жоқ" + +#, fuzzy +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "%s тіркелгісі жасырын болуды қолдамайды." + +#, fuzzy +#~ msgid "" +#~ "Deny authorization from contact so the contact cannot know if you are " +#~ "connected" +#~ msgstr "" +#~ "Контакт сіздің желіде бар болуын білмеуі үшін оның авторизацияға " +#~ "сұранымын блоктаңыз" + +#, fuzzy +#~ msgid "Authorize contact so the contact can know if you are connected" +#~ msgstr "Контакт сіздің желіде бар болуын білуі үшін оны авторизациялаңыз" + +#, fuzzy +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "%s қазір %s үшін жіберу" + +#~ msgid "Privacy List %s" +#~ msgstr "Жекелік тізімі %s" + +#~ msgid "Privacy List for %s" +#~ msgstr "%s үшін жекелік тізімі" + +#~ msgid "" +#~ "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" +#~ msgstr "" +#~ "Реті: %(order)s, әрекеті: %(action)s, түрі: %(type)s, мәні: %(value)s" + +#~ msgid "Order: %(order)s, action: %(action)s" +#~ msgstr "Реті: %(order)s, әрекеті: %(action)s" + +#~ msgid "Edit a rule" +#~ msgstr "Ережені түзету" + +#~ msgid "Add a rule" +#~ msgstr "Ережені қосу" + +#~ msgid "Privacy Lists for %s" +#~ msgstr "%s үшін жекелік тізімдері" + +#~ msgid "Invalid List Name" +#~ msgstr "Тізім аты қате" + +#~ msgid "You must enter a name to create a privacy list." +#~ msgstr "Жекелік тізімін жасау үшін оның атын енгізуіңіз керек." + +#, fuzzy +#~ msgid "Start New Conversation" +#~ msgstr "Жалғастырылған сөйлесу" + +#~ msgid "Unknown SSL error: %d" +#~ msgstr "Белгісіз SSL қатесі: %d" + +#~ msgid "Gajim - %s" +#~ msgstr "Gajim - %s" + +#~ msgid "Choose interval between 2 checks of idleness." +#~ msgstr "Белсенді еместігіне екі тексеру арасындағы уақыт." + +#, fuzzy +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "%s тілі үшін сөздік қолжетерсіз" + +#, fuzzy +#~ msgid "" +#~ "You have to install the dictionary \"%s\" to use spellchecking, or choose " +#~ "another language by setting the speller_language option.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "Емлені тексеру үшін сізге %s сөздігін орнату керек, не speller_language " +#~ "опциясы көмегімен басқа тілді таңдаңыз.\n" +#~ "\n" +#~ "Қате жазылған сөздерді түспен ерекшелеу мүмкіндігі енді қолданылмайды" + +#~ msgid "_Reconnect" +#~ msgstr "Қа_йта байланысу" + +#, fuzzy +#~ msgid "Quit" +#~ msgstr "_Шығу" + +#, fuzzy +#~ msgid "Show Contact List" +#~ msgstr "Те_к белсенді контакттарды көрсету" + +#, fuzzy +#~ msgid "Add to Contact List" +#~ msgstr "_Контакт қосу..." + +#, fuzzy +#~ msgid "Invite Contact" +#~ msgstr "Контакттарды _шақыру" + +#, fuzzy +#~ msgid "Configure Group Chat" +#~ msgstr "Топ чаттардан шығу" + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." +#~ msgstr "" +#~ "Белгіленген болса, Gajim оқылмаған хабарламалар бар әр бетте таңбашаны " +#~ "көрсетеді. Темаға байланысты, таңбашаның анимациясы болуы мүмкін." + +#, fuzzy +#~ msgid "Server must be between 1 and 1023 bytes" +#~ msgstr "Сервер 1 мен 1023 таңба арасында болуы керек" + +#~ msgid "Invalid character in hostname." +#~ msgstr "Хост атындағы қате таңба." + +#~ msgid "Server address required." +#~ msgstr "Сервер адресі керек." + +#, fuzzy +#~ msgid "Username must be between 1 and 1023 bytes" +#~ msgstr "Пайдаланушы аты 1 мен 1023 таңба арасында болуы керек" + +#~ msgid "Invalid character in username." +#~ msgstr "Пайдаланушы атындағы қате таңба." + +#, fuzzy +#~ msgid "Resource must be between 1 and 1023 bytes" +#~ msgstr "Сервер 1 мен 1023 таңба арасында болуы керек" + +#~ msgid "Invalid character in resource." +#~ msgstr "Ресурс атындағы қате таңба." + +#, fuzzy +#~ msgid "Notification color for contacts signing in." +#~ msgstr "Жаңа кір_гендер туралы хабарлау" + +#, fuzzy +#~ msgid "Notification color for contacts signing out." +#~ msgstr "Жаңа _шыққандар туралы хабарлау" + +#, fuzzy +#~ msgid "Notification color for new message notification." +#~ msgstr "Жаңа хабарламаларды қалқымалы терезеде көрсету керек пе?" + +#, fuzzy +#~ msgid "Notification color for file transfer request." +#~ msgstr "Файлдармен алмасу аяқталға_нда, мені ескерту" + +#, fuzzy +#~ msgid "Notification color for file transfer errors." +#~ msgstr "Файлдармен алмасу аяқталға_нда, мені ескерту" + +#, fuzzy +#~ msgid "Notification background color for changed status." +#~ msgstr "Жаңа кірген контакт аты үшін фон түсі." + +#~ msgid "Event Type" +#~ msgstr "Оқиға түрі" + +#~ msgid "Event desc" +#~ msgstr "Оқиға анықтамасы" + +#, fuzzy +#~ msgid "No response from the Server" +#~ msgstr "Сервермен байланысты орнатқан жоқсыз" + +#~ msgid "Resource Conflict" +#~ msgstr "Ресурстар ерегісуі" + +#, fuzzy +#~ msgid "" +#~ "You are already connected to this account with the same resource. Please " +#~ "enter a different one." +#~ msgstr "Сіз осы тіркелгіге осы ресурспен қосулы тұрсыз. Жаңасын көрсетіңіз" + +#~ msgid "Unable to load image" +#~ msgstr "Суретті жүктеу мүмкін емес" + +#~ msgid "Media type not supported: %s" +#~ msgstr "Медиаға қолдау жоқ: %s" + +#~ msgid "This field is required" +#~ msgstr "Бұр өріс міндетті" + +#~ msgid "new@jabber.id" +#~ msgstr "жаңа@jabber.id" + +#~ msgid "new%d@jabber.id" +#~ msgstr "жаңа%d@jabber.id" + +#~ msgid "video output" +#~ msgstr "видео шығысы" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Gajim: Тіркелгілерді жасау шебері" + +#, fuzzy +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "Jabber желісіне байланыс орнату үшін сізде\n" +#~ "тіркелгіңіз болуы керек." + +#~ msgid "I already have an account I want to _use" +#~ msgstr "Менде қолданғ_ым келетін тіркелгім бар" + +#~ msgid "I want to _register for a new account" +#~ msgstr "Жаңа ті_ркелгіні жасауды қалаймын" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "Төмендегі нұсқалардың біреуін таңдаңыз:" + +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "Сізде бар тіркелгі үшін ақпаратты толтырыңыз" + +#, fuzzy +#~ msgid "_XMPP Address:" +#~ msgstr "AIM адресі:" + +#~ msgid "Anon_ymous authentication" +#~ msgstr "Анони_мды аутентификация" + +#~ msgid "_Password:" +#~ msgstr "_Пароль:" + +#~ msgid "Save pass_word" +#~ msgstr "Пар_ольді сақтау" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "Белгіленген болса, Gajim бұл тіркелгі үшін парольді сақтап отырады" + +#~ msgid "Please select a server" +#~ msgstr "Серверді таңдаңыз" + +#~ msgid "_Server:" +#~ msgstr "_Сервер:" + +#~ msgid "Manage..." +#~ msgstr "Басқару..." + +#~ msgid "_Port:" +#~ msgstr "_Порт:" + +#~ msgid "_Advanced" +#~ msgstr "Кеңейтіл_ген" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA1 fingerprint of the certificate:\n" +#~ msgstr "" +#~ "Бұл сертификатты сенімділер тізіміне қосу.\n" +#~ "Сертификаттың SHA1 баспасы:\n" + +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "Сервермен байланыс орнату\n" +#~ "\n" +#~ "Күте тұрыңыз..." + +#~ msgid "Connect when I press Finish" +#~ msgstr "Аяқтау басқан кезде, байланыс орнату" + +#~ msgid "Set my profile when I connect" +#~ msgstr "Мен қосылғанда, профайлымды орнату" + +#~ msgid "_Finish" +#~ msgstr "_Аяқтау" + +#~ msgid "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." +#~ msgstr "" +#~ "Тіркелгінің кеңейтілген баптауларын орнату үшін Кеңейтілген батырмасын " +#~ "қолданыңыз, немесе бас терезесіндегі Түзету мәзіріндегі Тіркелгілер " +#~ "нұсқасын таңдап, кейін де жасай аласыз." + +#~ msgid "Your new account has been created successfully" +#~ msgstr "Сіздің жаңа тіркелгіңіз сәтті жасалды" + +#~ msgid "Invalid username" +#~ msgstr "Пайдаланушы аты қате" + +#~ msgid "You must provide a username to configure this account." +#~ msgstr "Бұл тіркелгіні баптау үшін пайдаланушы атын көрсетуіңіз керек." + +#~ msgid "Invalid server" +#~ msgstr "Сервер қате" + +#~ msgid "Please provide a server on which you want to register." +#~ msgstr "Тіркелгіңіз келетін серверді көрсетіңіз." + +#~ msgid "Invalid entry" +#~ msgstr "Қате мән" + +#~ msgid "Certificate Already in File" +#~ msgstr "Сертификат файлда бар болып тұр" + +#~ msgid "This certificate is already in file %s, so it's not added again." +#~ msgstr "Сертификат %s файлында бар болып тұр, сол үшін қайта қосылмайды." + +#~ msgid "" +#~ "Security Warning\n" +#~ "\n" +#~ "The authenticity of the %(hostname)s SSL certificate could be invalid.\n" +#~ "SSL Error: %(error)s\n" +#~ "Do you still want to connect to this server?" +#~ msgstr "" +#~ "Қауіпсіздік ескертуі\n" +#~ "\n" +#~ "%(hostname)s ие болған SSL сертификаты қате болуы мүмкін.\n" +#~ "SSL қатесі: %(error)s\n" +#~ "Сонда да серверге байланысты орнатуды қалайсыз ба?" + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA-256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Бұл сертификатты сенімділер тізіміне қосу.\n" +#~ "Сертификаттың SHA1 баспасы:\n" +#~ "%s" + +#~ msgid "Account name is in use" +#~ msgstr "Тіркелгі аты қолдануда" + +#~ msgid "You already have an account using this name." +#~ msgstr "Сізде осы атын қолданып тұрған тіркелгі бар болып тұр." + +#~ msgid "Show a warning dialog before using standard SSL library." +#~ msgstr "Қалыпты SSL жинығын қолдану алдында ескерту сұхбатын көрсету." + +#, fuzzy +#~ msgid "If enabled, a whitespace is sent after inactivity (keep alive)." +#~ msgstr "Белсенді еместіктен кейін бос аралық жіберліген" + +#, fuzzy +#~ msgid "If enabled, an XMPP ping is sent after inactivity (ping alive)." +#~ msgstr "Белсенді еместіктен кейін XMPP ping жіберліген" + +#~ msgid "Connection with account \"%s\" has been lost" +#~ msgstr "\"%s\" тіркелгісімен байланыс үзілді" + +#~ msgid "Reconnect manually." +#~ msgstr "Қолмен қайта байланысты орнату." + +#~ msgid "Server %(name)s answered wrongly to register request: %(error)s" +#~ msgstr "%(name)s сервері тіркелу сұранымына қате жауап берген: %(error)s" + +#~ msgid "Server %s provided a different registration form" +#~ msgstr "%s сервері басқа тіркелу формасын ұсынды" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "\"%s\" үшін байланыс орнату мүмкін емес" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "\"%s\" үшін байланыс орнату мүмкін емес" + +#~ msgid "Check your connection or try again later." +#~ msgstr "Байланысты тексеріңіз не кейін қайталап көріңіз." + +#~ msgid "Server replied: %s" +#~ msgstr "Сервер жауабы: %s" + +#~ msgid "Connection to proxy failed" +#~ msgstr "Проксиге байланыс орнату сәтсіз аяқталды" + +#~ msgid "Could not connect to account %s" +#~ msgstr "%s тіркелгісіне байланыс орнату сәтсіз аяқталды" + +#~ msgid "Connection with account %s has been lost. Retry connecting." +#~ msgstr "%s тіркелгісімен байланыс үзілген. Қайтадан орнатып көреміз." + +#~ msgid "Please check your login and password for correctness." +#~ msgstr "Тіркелгі атын мен пароліңізді тексеріңіз." + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "HTTP Connect" + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "BOSH" +#~ msgstr "BOSH" + +#~ msgid "Use HTTP prox_y" +#~ msgstr "HTTP прокс_и қолдану" + +#, fuzzy +#~ msgid "_BOSH URL" +#~ msgstr "BOSH URL-_ы:" + +#, fuzzy +#~ msgid "BOSH" +#~ msgstr "BOSH" + +#, fuzzy +#~ msgid "Warn on insecure connection" +#~ msgstr "Қ_ауіпсіз емес байланыс орнату алдында ескерту" + +#, fuzzy +#~ msgid "Contact list, list of contacts" +#~ msgstr "К_онтакттардың күй өзгерісін тарихқа жазу" + +#~ msgid "You are participating in one or more group chats" +#~ msgstr "Сіз бір не бірнеше чат бөлмесіне қатысушы болып тұрсыз" + +#, fuzzy +#~ msgid "" +#~ "Changing your status to invisible will result in you leaving those group " +#~ "chats.\n" +#~ "Are you sure you want to go invisible?" +#~ msgstr "" +#~ "Қалып-күйіңізді жасырын етіп орнатсаңыз, келесі топ чаттарынан байланысты " +#~ "үзесіз. Жасырын етуді қалайсыз ба?" + +#~ msgid "_Disconnect" +#~ msgstr "Ба_йланысты үзу" + +#~ msgid "You cannot join a group chat while you are invisible" +#~ msgstr "Жасырын болған кезде топ чатқа кіре алмайсыз" + +#~ msgid "Invisible" +#~ msgstr "Жасырын" + +#, fuzzy +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "Жасырын болған кезде топ чатқа кіре алмайсыз" + +#~ msgid "_Invisible" +#~ msgstr "_Жасырын" + +#, fuzzy +#~ msgid "Yesterday" +#~ msgid_plural "%(nb_days)i days ago" +#~ msgstr[0] "Кеше" +#~ msgstr[1] "%i күн бұрын" + +#, fuzzy +#~ msgid "_Cancel Upload" +#~ msgstr "_Бас тарту" + +#~ msgid " [blocked]" +#~ msgstr " [блокталған]" + +#~ msgid " [minimized]" +#~ msgstr " [қайырылған]" + +#, fuzzy +#~ msgid "" +#~ "If you close this tab while having chat history disabled, this message " +#~ "will be lost." +#~ msgstr "" +#~ "Егер сіз бұл бетті жауып, тарихты сақтау сөндірілген болса, бұл хабарлама " +#~ "жоғалтылады." + +#, fuzzy +#~ msgid "Unregister Failed" +#~ msgstr "Тіркелгіні өшіру сәтсіз" + +#, fuzzy +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "%(server)s серверінен тіркелгіні өшіру сәтсіз: %(error)s" + +#, fuzzy +#~ msgid "New Password" +#~ msgstr "Парольді сақтау" + +#~ msgid "What do you want to do?" +#~ msgstr "Сіздің не істегіңіз келеді?" + +#~ msgid "Remove account from Gajim and from _server" +#~ msgstr "Тіркелгіні Gajim _мен серверден өшіру" + +#, fuzzy +#~ msgid "You must enter a password" +#~ msgstr "Парольді енгізуіңіз керек." + +#, fuzzy +#~ msgid "You still have open chats in your account %s" +#~ msgstr "Сізде %s тіркелгісінен чаттар ашулы тұр" + +#, fuzzy +#~ msgid "To unregister from a server, the account must be enabled." +#~ msgstr "Серверден тіркелуді өшіру үшін тіркелгі қосулы тқұру керек." + +#, fuzzy +#~ msgid "Password required" +#~ msgstr "Пароль керек" + +#, fuzzy +#~ msgid "Still connected to the server" +#~ msgstr "Сервермен байланысты орнатқан жоқсыз" + +#, fuzzy +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "Оны өшірсеңіз, байланыс жойылады." + +#~ msgid "Connection to server %s failed" +#~ msgstr "%s серверімен байланыс орнату сәтсіз" + +#~ msgid "What would you like to do?" +#~ msgstr "Сіз не істегіңіз келеді?" + +#~ msgid "Remove only from Gajim" +#~ msgstr "Тіркелгіні тек Gajim ішінен өшіру" + +#~ msgid "Don't remove anything. I'll try again later" +#~ msgstr "Ешнәрсе өшірмеу. Кейін қайталап көремін" + +#, fuzzy +#~ msgid "Contents" +#~ msgstr "Құра_масы" + +#, fuzzy +#~ msgid "FAQ" +#~ msgstr "_FAQ" + +#~ msgid "Save as Preset Status Message" +#~ msgstr "Орнатылған хабарлама ретінде сақтау" + +#~ msgid "Enter a new nickname for contact %s" +#~ msgstr "%s контакты үшін жаңа ник атын енгізіңіз" + +#, fuzzy +#~ msgid "Join a group chat" +#~ msgstr "_чат бөлмелерінде" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "_Тіркелгілер" + +#~ msgid "New entry received" +#~ msgstr "Жаңа жазба алынды" + +#~ msgid "You have received new entry:" +#~ msgstr "Сіз жаңа жазбаны алдыңыз:" + +#~ msgid "Feed name:" +#~ msgstr "Таспа аты:" + +#~ msgid "Last modified:" +#~ msgstr "Соңғы рет өзгертілген:" + +#, fuzzy +#~ msgid "Send file?" +#~ msgstr "_Файлды жіберу" + +#, fuzzy +#~ msgid "Mail _client" +#~ msgstr "_Пошта қолданбасы:" + +#, fuzzy +#~ msgid "_Browser" +#~ msgstr "_Браузер:" + +#, fuzzy +#~ msgid "_File manager" +#~ msgstr "Фай_лдар басқарушысы:" + +#, fuzzy +#~ msgid "Custom applications" +#~ msgstr "Негізгі қолданбаларды қолдану" + +#, fuzzy +#~ msgid "Applications" +#~ msgstr "Қолданбалар" + +#, fuzzy +#~ msgid "" +#~ "Uses ReStructured text markup to send HTML, plus ASCII formatting if " +#~ "selected. Needs docutils installed (for syntax, see http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "HTML жіберу үшін ReStructured text markup қолдану, және таңдалған болса, " +#~ "ascii пішімдеу. Синтаксисі үшін, http://docutils.sourceforge.net/docs/ref/" +#~ "rst/restructuredtext.html қараңыз (Осыны қолданам десеңіз, docutils " +#~ "орнатыңыз)" + +#, fuzzy +#~ msgid "_Ignore formatting of incoming messages" +#~ msgstr "Ке_лген хабарламада кеңейтілген құраманы елемеу" + +#, fuzzy +#~ msgid "" +#~ "Some messages may include rich content (xhtml formatting, colors etc). If " +#~ "checked, Gajim will just display the plain message text." +#~ msgstr "" +#~ "Кейбір хабарламаларда кеңейтілген құрама болуы мүмкін (пішімдеу, түстер, " +#~ "т.б.). Белгіленген болса, Gajim тек таза мәтінді көрсетеді." + +#, fuzzy +#~ msgid "RST XHTML Generator" +#~ msgstr "RST генераторы" + +#, fuzzy +#~ msgid "Requires: python-docutils" +#~ msgstr "Талап етеді: python-docutils." + +#~ msgid "New Single Message" +#~ msgstr "Жаңа бір хабарлама" + +#, fuzzy +#~ msgid "" +#~ "Can be empty, 'chat' or 'normal'. If not empty, all incoming messages are " +#~ "treated as if they were of this type." +#~ msgstr "" +#~ "Бос, 'chat' не 'normal' түрде бола алады. Бос емес болса, кірген " +#~ "хабарламалардың барлығын осы түрде деп есептеу" + +#~ msgid "Error %(code)s: %(msg)s" +#~ msgstr "Қате %(code)s: %(msg)s" + +#~ msgid "twelve" +#~ msgstr "он екі" + +#~ msgid "one" +#~ msgstr "бір" + +#~ msgid "two" +#~ msgstr "екі" + +#~ msgid "three" +#~ msgstr "үш" + +#~ msgid "four" +#~ msgstr "төрт" + +#~ msgid "five" +#~ msgstr "бес" + +#~ msgid "six" +#~ msgstr "алты" + +#~ msgid "seven" +#~ msgstr "жеті" + +#~ msgid "eight" +#~ msgstr "сегіз" + +#~ msgid "nine" +#~ msgstr "тоғыз" + +#~ msgid "ten" +#~ msgstr "он" + +#~ msgid "eleven" +#~ msgstr "он бір" + +#~ msgid "%(0)s o'clock" +#~ msgstr "сағат %(0)s" + +#~ msgid "five past %(0)s" +#~ msgstr "%(0)s-н бес кетті" + +#~ msgid "ten past %(0)s" +#~ msgstr "%(0)s-н он кетті" + +#~ msgid "quarter past %(0)s" +#~ msgstr "%(0)s-н он бес кетті" + +#~ msgid "twenty past %(0)s" +#~ msgstr "%(0)s-н жиырма кетті" + +#~ msgid "twenty five past %(0)s" +#~ msgstr "%(0)s-н жиырма бес кетті" + +#~ msgid "half past %(0)s" +#~ msgstr "%(0)s жарым" + +#~ msgid "twenty five to %(1)s" +#~ msgstr "жиырма бес минутсыз %(1)s" + +#~ msgid "twenty to %(1)s" +#~ msgstr "жиырма минутсыз %(1)s" + +#~ msgid "quarter to %(1)s" +#~ msgstr "он бес минутсыз %(1)s" + +#~ msgid "ten to %(1)s" +#~ msgstr "он минутсыз %(1)s" + +#~ msgid "five to %(1)s" +#~ msgstr "бес минутсыз %(1)s" + +#~ msgid "%(1)s o'clock" +#~ msgstr "сағат %(1)s" + +#~ msgid "Night" +#~ msgstr "Түн" + +#~ msgid "Early morning" +#~ msgstr "Өте ерте" + +#~ msgid "Morning" +#~ msgstr "Таңертең" + +#~ msgid "Almost noon" +#~ msgstr "Түске жақын" + +#~ msgid "Noon" +#~ msgstr "Күндіз" + +#~ msgid "Afternoon" +#~ msgstr "Түстен кейін" + +#~ msgid "Evening" +#~ msgstr "Кеш" + +#~ msgid "Late evening" +#~ msgstr "Өте кеш" + +#~ msgid "Start of week" +#~ msgstr "Апта басы" + +#~ msgid "Middle of week" +#~ msgstr "Апта ортасы" + +#~ msgid "End of week" +#~ msgstr "Апта аяғы" + +#~ msgid "Weekend!" +#~ msgstr "Демалыс!" + +#, fuzzy +#~ msgid "" +#~ "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or " +#~ "0 to disable Fuzzy Clock. 1 is the most precise clock, 4 the least " +#~ "precise one. This is used only if 'print_time' is 'sometimes'." +#~ msgstr "" +#~ "Чаттарда уақытты Қызық Сағат көмегімен шығару. Қызықтылық мәні 1 мен 4 " +#~ "арасында, 0 ол сағатты сөндіреді. 1 тура сағат үшін, 4 ең тура емес үшін. " +#~ "Бұл тек print_time опциясы 'sometimes' мәнінде болса ғана қолданылады." + +#~ msgid "message" +#~ msgstr "хабарлама" + +#, fuzzy +#~ msgid "error: %s" +#~ msgstr "Қате: %s" + +#, fuzzy +#~ msgid "Form: %s" +#~ msgstr "Пішім %s" + +#, fuzzy +#~ msgid "XML Input" +#~ msgstr "XML енгізу" + +#, fuzzy +#~ msgid "Ttitle" +#~ msgstr "А_тауы:" + +#, fuzzy +#~ msgid "%(type)s encryption is active %(authenticated)s" +#~ msgstr "" +#~ "%(type)s түрдегі шифрлену %(status)s және %(authenticated)s.\n" +#~ "Сөйлесу сессия тарихыңыз %(logged)s." + +#, fuzzy +#~ msgid "Screen" +#~ msgstr "green" + +#, fuzzy +#~ msgid "Fake video output" +#~ msgstr "видео шығысы" + +#~ msgid "X Window System (X11/XShm/Xv): %s" +#~ msgstr "X Window System (X11/XShm/Xv): %s" + +#~ msgid "X Window System (without Xv)" +#~ msgstr "X Window System (Xv жоқ)" + +#, fuzzy +#~ msgid "V_ideo output device" +#~ msgstr "Видео шығару құрылғысы" + +#~ msgid "Conversation with " +#~ msgstr "Сөйлесу - " + +#~ msgid "Continued conversation" +#~ msgstr "Жалғастырылған сөйлесу" + +#, fuzzy +#~ msgid "%s has invited you to join a discussion" +#~ msgstr "$Contact сізді талқылауға қатысуға шақырған" + +#~ msgid "_Send Private Message" +#~ msgstr "_Жеке хабарламаны жіберу..." + +#, fuzzy +#~ msgid "Participant Actions" +#~ msgstr "Қатысушылар" + +#~ msgid "_Voice" +#~ msgstr "_Даусы бар" + +#~ msgid "Mo_derator" +#~ msgstr "Мод_ератор" + +#~ msgid "_Member" +#~ msgstr "_Мүше" + +#~ msgid "_Admin" +#~ msgstr "Ә_кімші" + +#~ msgid "_Owner" +#~ msgstr "_Ие" + +#, fuzzy +#~ msgid "_Add to Contact List" +#~ msgstr "_Контакт қосу..." + +#, fuzzy +#~ msgid "_Execute command" +#~ msgstr "К_оманда орындау" + +#~ msgid "Change _Nickname..." +#~ msgstr "_Никті өзгерту..." + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "_Жаңа чат бөлмесі" + +#~ msgid "Change _Subject..." +#~ msgstr "_Тақырыпты өзгерту..." + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "Чат _бөлмесіне кіру..." + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "_Жаңа чат бөлмесі" + +#~ msgid "_Minimize on close" +#~ msgstr "_Жабылғанда, ростерге орналастыру" + +#, fuzzy +#~ msgid "_Request Voice" +#~ msgstr "_Даусы бар" + +#~ msgid "_Bookmark" +#~ msgstr "_Бетбелгі" + +#, fuzzy +#~ msgid "The authenticity of the %s certificate could be invalid" +#~ msgstr "%s сертификатының нақтылығы қате болуы мүмкін." + +#~ msgid "" +#~ "\n" +#~ "Unknown SSL error: %d" +#~ msgstr "" +#~ "\n" +#~ "Белгісіз SSL қатесі: %d" + +#~ msgid "" +#~ "\n" +#~ "SSL Error: %s" +#~ msgstr "" +#~ "\n" +#~ "SSL Қатесі: %s" + +#~ msgid "Error verifying SSL certificate" +#~ msgstr "SSL сертификатын растау қатесі" + +#, fuzzy +#~ msgid "View certificate…" +#~ msgstr "Клиент сертификаты" + +#, fuzzy +#~ msgid "Continue" +#~ msgstr "Жалға_стыру" + +#~ msgid "" +#~ "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM " +#~ "IS RUNNING)" +#~ msgstr "" +#~ "Дерекқорды тазалауды қалайсыз ба? (GAJIM ҚОСУЛЫ ТҰРСА ОСЫНЫ ҚОЛДАНУ ҚАТАҢ " +#~ "ҰСЫНЫЛМАЙДЫ)" + +#, fuzzy +#~ msgid "Authorization" +#~ msgstr "Авторизация жіберілді" + +#, fuzzy +#~ msgid "" +#~ "All chat and group chat windows will be closed. Do you want to continue?" +#~ msgstr "Барлық чаттар мен топ чаттары жабылады. Жалғастыруды қалайсыз ба?" + +#, fuzzy +#~ msgid "Account '%s' is still connected to the server" +#~ msgstr "\"%s\" тіркелгісі серверге қосылған" + +#, fuzzy +#~ msgid "Error While Saving" +#~ msgstr "Қызметті қосу қатесі. %s" + +#, fuzzy +#~ msgid "" +#~ "Image cannot be saved in %(type)s format.\n" +#~ "Save as %(new_filename)s?" +#~ msgstr "" +#~ "Суретті %(type)s пішімінде сақтау мүмкін емес. %(new_filename)s ретінде " +#~ "сақтау керек пе?" + +#, fuzzy +#~ msgid "Save _As" +#~ msgstr "Бар " + +#~ msgid "Yes, I really want to connect insecurely" +#~ msgstr "Иә, қауіпсіз емес байланысты орнатқым келеді" + +#, fuzzy +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "Топтық чаттың Jabber ID-і зате" + +#, fuzzy +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "Топ чат Jabber ID ішінде рұқсат етілмеген таңбалар бар." + +#~ msgid "You may specify a reason below:" +#~ msgstr "Төменде оның себебін көрсете аласыз:" + +#~ msgid "Banning %s" +#~ msgstr "%s банға жіберу" + +#, fuzzy +#~ msgid "" +#~ "Always ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Бұл тізімдегі бөлмелерді жабу алдында әрқашан сұрау. Бөлмелер бос " +#~ "аралықпен ажыратылсын." + +#, fuzzy +#~ msgid "" +#~ "Never ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Бұл тізімдегі бөлмелерді жабу алдында ешқашан сұрамау. Бөлмелер бос " +#~ "аралықпен ажыратылсын." + +#, fuzzy +#~ msgid "Leave Group Chats" +#~ msgstr "Топ чаттардан шығу" + +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "%(nickname)s, қайда: %(room_jid)s" + +#, fuzzy +#~ msgid "You have not joined a group chat." +#~ msgstr "Сіз топтық чатқа кірген жоқсыз." + +#, fuzzy +#~ msgid "You left the following group chats:" +#~ msgstr "Келесі топ чаттарынан шығасыз:" + +#, fuzzy +#~ msgid "" +#~ "Should automatic rejoin be activated when you were kicked from a group " +#~ "chat?" +#~ msgstr "" +#~ "Сізді чат бөлмесінен тепкен кезде қайта автокіруді іске қосу керек пе?" + +#~ msgid "Don't show avatar for the transport itself." +#~ msgstr "Транспорттың өзі үшін аватарды көрсетпеу." + +#, fuzzy +#~ msgid "" +#~ "Show a confirmation dialog for a custom status? Empty string means never " +#~ "show the dialog." +#~ msgstr "" +#~ "Таңдауыңызша күйді растау сұхбатын көрсету керек пе? Бос жол терезені " +#~ "ешқашан көрсетпеуді белгілейді." + +#, fuzzy +#~ msgid "" +#~ "If enabled, notification windows from notification-daemon will be " +#~ "attached to the notification area icon." +#~ msgstr "" +#~ "Қосулы болса, notification-daemon жіберген хабарламалар терезелері " +#~ "жүйелік сөреден көрсетіледі." + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending PLAIN password over a plain " +#~ "connection." +#~ msgstr "" +#~ "ШИФРЛЕНБЕГЕН парольдерді шифрленбеген байланыс арқылы беру алдында " +#~ "ескерту сұхбатын көрсету." + +#, fuzzy +#~ msgid "Jabberd2 workaround." +#~ msgstr "Jabberd2 жұмысы" + +#, fuzzy +#~ msgid "Configure Services…" +#~ msgstr "Қызметтерді баптау..." + +#, fuzzy +#~ msgid "Group Chat Bookmarks" +#~ msgstr "_Чат бөлмесі" + +#, fuzzy +#~ msgid "Add Bookmark" +#~ msgstr "_Бетбелгі" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "_Бетбелгі" + +#, fuzzy +#~ msgid "_Server" +#~ msgstr "_Сервер:" + +#, fuzzy +#~ msgid "Roo_m" +#~ msgstr "Бө_лме:" + +#, fuzzy +#~ msgid "_Password" +#~ msgstr "_Пароль:" + +#, fuzzy +#~ msgid "Join chat when connected" +#~ msgstr "Контакт байланыспаған" + +#~ msgid "New Group Chat" +#~ msgstr "Жаңа чат бөлмесі" + +#~ msgid "This bookmark has invalid data" +#~ msgstr "Бұл бетбелгінің ақпараты қате" + +#, fuzzy +#~ msgid "" +#~ "Please be sure to fill out server and group chat fields or remove this " +#~ "bookmark." +#~ msgstr "Сервер мен бөлме өрістерін толтырыңыз немесе бетбелгіні өшіріңіз." + +#~ msgid "Character not allowed" +#~ msgstr "Таңба рұқсат етілмеген" + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "Топтық чаттың Jabber ID-і зате" + +#~ msgid "Unable to join group chat" +#~ msgstr "Чат бөлмесіне кіру мүмкін емес" + +#, fuzzy +#~ msgid "You are banned from group chat %s." +#~ msgstr "Сізді %s топ чатынан бандаған." + +#, fuzzy +#~ msgid "Remote server %s does not exist." +#~ msgstr "%s топтық чаты жоқ." + +#, fuzzy +#~ msgid "Group chat %s does not exist." +#~ msgstr "%s топтық чаты жоқ." + +#, fuzzy +#~ msgid "Group chat creation is not permitted." +#~ msgstr "Топтық чаттарды жасау рұқсат етілмеген." + +#, fuzzy +#~ msgid "You must use your registered nickname in %s." +#~ msgstr "Сіздің тіркелген ник атыңыз %s топ чатында қолданылуы керек." + +#, fuzzy +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "Сіз %s топ чат мүшелері тізімінде емессіз." + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "Бұл топтық чат" + +#~ msgid "This is not a group chat" +#~ msgstr "Бұл топтық чат" + +#, fuzzy +#~ msgid "Please choose a group chat" +#~ msgstr "Өзіңіз таңдаған аты бар жаңа теманы жасаңыз." + +#~ msgid "Invalid Nickname" +#~ msgstr "Ник аты қате" + +#, fuzzy +#~ msgid "Wrong server" +#~ msgstr "Қате uri" + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "Бұл топтық чат" + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit." +#~ msgstr "Топ чатына кірген кезде серверден қанша тарих жолын сұрау керек." + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit." +#~ msgstr "" +#~ "Топ чатына кірген кезде қанша минут бұрынғы сөйлесулердің тарих жолдарын " +#~ "сұрау керек." + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit, -2 means global value." +#~ msgstr "Топ чатына кірген кезде серверден қанша тарих жолын сұрау керек." + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit, -2 means global value." +#~ msgstr "" +#~ "Топ чатына кірген кезде қанша минут бұрынғы сөйлесулердің тарих жолдарын " +#~ "сұрау керек." + +#, fuzzy +#~ msgid "A Password is required to join the group chat %s. Please type it." +#~ msgstr "%s бөлмесіне кіру үшін пароль керек. Оны көрсетіңіз." + +#~ msgid "Not in Roster" +#~ msgstr "Ростерде емес" + +#~ msgid "I would like to add you to my roster" +#~ msgstr "Мен өз ростеріме сізді қосқым келеді" + +#, fuzzy +#~ msgid "Add to Roster" +#~ msgstr "Р_остерге қосу" + +#, fuzzy +#~ msgid "Audio Session" +#~ msgstr "Аудио сынау" + +#, fuzzy +#~ msgid "Manage Room" +#~ msgstr "_Бөлмені басқару" + +#, fuzzy +#~ msgid "Configure Room" +#~ msgstr "_Бөлмені баптау..." + +#, fuzzy +#~ msgid "Destroy Room" +#~ msgstr "Бөлме_ні жою" + +#, fuzzy +#~ msgid "Change Nick" +#~ msgstr "_Никті өзгерту..." + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "Ба_йланысты үзу" + +#, fuzzy +#~ msgid "Copy JID" +#~ msgstr "Бөлме JID-і" + +#, fuzzy +#~ msgid "Add to Roster…" +#~ msgstr "Р_остерге қосу" + +#, fuzzy +#~ msgid "Copy JID/Email" +#~ msgstr "JID/Email _адресін көшіру" + +#, fuzzy +#~ msgid "JID: %s" +#~ msgstr "Jabber ID: %s" + +#~ msgid "Changing Subject" +#~ msgstr "Тақырыпты өзгерту" + +#~ msgid "Please specify the new subject:" +#~ msgstr "Жаңа тақырыпты көрсетіңіз:" + +#~ msgid "Room logging is now enabled" +#~ msgstr "Бөлме тарихын сақтау енді қосулы" + +#~ msgid "Room logging is now disabled" +#~ msgstr "Бөлме тарихын сақтау енді сөндірулі" + +#, fuzzy +#~ msgid "You (%s) joined the room" +#~ msgstr "%s чат бөлмесіне кірді" + +#~ msgid "Room logging is enabled" +#~ msgstr "Бөлме тарихын сақтау қосулы" + +#, fuzzy +#~ msgid "Unable to join groupchat" +#~ msgstr "Чат бөлмесіне кіру мүмкін емес" + +#~ msgid "Groupchat Invitation" +#~ msgstr "Топ чатына шақыру" + +#, fuzzy +#~ msgid "%(jid)s has been invited in this room" +#~ msgstr "%(nick)s бөлімнен шығарылған (%(reason)s)" + +#, fuzzy +#~ msgid "JID is not a Groupchat" +#~ msgstr "Бұл топтық чат" + +#~ msgid "Invalid JID" +#~ msgstr "Қате JID" + +#~ msgid "A connection is not available" +#~ msgstr "Байланыс қолжетерсіз" + +#, fuzzy +#~ msgid "JID already in list" +#~ msgstr "Jabber ID тізімде бар болып тұр" + +#, fuzzy +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "Байланыс қолжетерсіз" + +#~ msgid "Removes contact from roster" +#~ msgstr "Ростерден контактты өшіреді" + +#~ msgid "Not in roster" +#~ msgstr "Ростерде емес" + +#, fuzzy +#~ msgid "Contact signed in notification color." +#~ msgstr "Оқиға_ны жүйелік сөреде көрсету" + +#, fuzzy +#~ msgid "Contact signout notification color" +#~ msgstr "Оқиға_ны жүйелік сөреде көрсету" + +#, fuzzy +#~ msgid "File transfer request notification color." +#~ msgstr "Файлдармен алмасуға сұраным" + +#, fuzzy +#~ msgid "File transfer error notification color." +#~ msgstr "Файлдармен алмасу тоқтатылды" + +#, fuzzy +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "Файлдармен алмасу аяқталған кезде қалқымалы хабарламаны көрсету" + +#, fuzzy +#~ msgid "Groupchat invitation notification color" +#~ msgstr "Топ чатына шақыру" + +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "Ростер атауына * мен [n] қосу керек пе?" + +#~ msgid "Hides the banner in two persons chat window" +#~ msgstr "Екі адам чат терезесінде тақырыпты жасырады" + +#, fuzzy +#~ msgid "" +#~ "Show the confirm metacontacts creation dialog or not? Empty string means " +#~ "never show the dialog." +#~ msgstr "" +#~ "Метаконтакттарды жасауды растау сұхбатын көрсету керек пе? Бос жол " +#~ "терезені ешқашан көрсетпеуді белгілейді." + +#~ msgid "Space separated list of ssl errors to ignore." +#~ msgstr "Елемеу үшін ssl қателер тізімі, бос аралықпен ажыратылсын." + +#~ msgid "Answer to receipt requests" +#~ msgstr "Алу сұранымдарына жауап" + +#, fuzzy +#~ msgid "Language for which misspelled words will be checked" +#~ msgstr "Қай тілде емлені тексеру керек" + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "Мен тамақ ішудемін, хабарламаңызды қалдырыңыз." + +#, fuzzy +#~ msgid "from room %s" +#~ msgstr " %s бөлмесінен" + +#~ msgid "Leave Groupchats" +#~ msgstr "Топ чаттардан шығу" + +#, fuzzy +#~ msgid "Auto Join" +#~ msgstr "А_втокіру" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "Бөлме:" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#~ msgid "Occupant Actions" +#~ msgstr "Қатысушы әрекеттері" + +#~ msgid "_Add to Roster" +#~ msgstr "Р_остерге қосу" + +#~ msgid "_Manage Room" +#~ msgstr "_Бөлмені басқару" + +#~ msgid "Configure _Room..." +#~ msgstr "_Бөлмені баптау..." + +#~ msgid "_Destroy Room" +#~ msgstr "Бөлме_ні жою" + +#~ msgid "Jabber ID" +#~ msgstr "Jabber ID" + +#, fuzzy +#~ msgid "account" +#~ msgstr "Тіркелгі" + +#, fuzzy +#~ msgid "Roster" +#~ msgstr "_Ростерді көрсету" + +#~ msgid "Show only in roster" +#~ msgstr "Тек ростерде көрсету" + +#~ msgid "in _roster" +#~ msgstr "р_остерде" + +#, fuzzy +#~ msgid "Roster Appearance" +#~ msgstr "Ростердің сыртқы түрі" + +#~ msgid "_Add to Roster..." +#~ msgstr "Р_остерге қосу..." + +#~ msgid "_Jabber ID:" +#~ msgstr "_Jabber ID:" + +#, fuzzy +#~ msgid "_Jabber ID" +#~ msgstr "_Jabber ID:" + +#~ msgid "JabberID" +#~ msgstr "JabberID" + +#, fuzzy +#~ msgid "Show Roster" +#~ msgstr "_Ростерді көрсету" + +#~ msgid "MUC server" +#~ msgstr "MUC сервері" + +#~ msgid "Room Configuration" +#~ msgstr "Бөлме баптаулары" + +#~ msgid "Join _Group Chat" +#~ msgstr "Чат _бөлмесіне кіру..." + +#~ msgid "Toggle audio session" +#~ msgstr "Аудио сессияны ауыстыру" + +#, fuzzy +#~ msgid "Audio sessions are not available" +#~ msgstr "Байланыс қолжетерсіз" + +#~ msgid "Conference" +#~ msgstr "Конференция" + +#, fuzzy +#~ msgid "_Manage Bookmarks…" +#~ msgstr "Бетбелгілерді басқару" + +#~ msgid "Hide _Roster" +#~ msgstr "Р_остерді жасыру" + +#~ msgid "Show _Roster" +#~ msgstr "_Ростерді көрсету" + +#, fuzzy +#~ msgid "Invalid Room" +#~ msgstr "Қате бөлме" + +#~ msgid "Invalid room" +#~ msgstr "Қате бөлме" + +#~ msgid "A GTK+ Jabber client" +#~ msgstr "GTK+ Jabber қолданбасы" + +#~ msgid "Changing Nickname" +#~ msgstr "Ник атын өзгерту" + +#~ msgid "Please specify the new nickname you want to use:" +#~ msgstr "Жаңа ник атыңызды енгізіңіз:" + +#~ msgid "Bookmark already set" +#~ msgstr "Бетбелгі орнатылған болып тұр" + +#, fuzzy +#~ msgid "Group Chat '%s' is already in your bookmarks." +#~ msgstr "\"%s\" чат бөлмесі бетбелгілеріңізде бар болып тұр." + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "Бетбелгі сәтті қосылды" + +#, fuzzy +#~ msgid "" +#~ "You can manage your bookmarks by clicking the Bookmarks menu item in your " +#~ "contact list." +#~ msgstr "" +#~ "Өзіңіздің бетбелгілеріңізді ростердегі Әрекеттер мәзірінен басқара аласыз." + +#, fuzzy +#~ msgid "The nickname contains invalid characters." +#~ msgstr "Ник аты ішінде рұқсат етілмеген таңбалар бар." + +#, fuzzy +#~ msgid "Bookmark Room" +#~ msgstr "_Бөлмені бетбелгілерге қосу" + +#~ msgid "_Join New Group Chat" +#~ msgstr "Жаңа _чат бөлмесіне кіру" + +#, fuzzy +#~ msgid "Name:" +#~ msgstr "Аты:" + +#~ msgid "Description:" +#~ msgstr "Анықтамасы:" + +#, fuzzy +#~ msgid "Address:" +#~ msgstr "_Адресі:" + +#, fuzzy +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "Байланыс орнатпасаңыз, топтық чатқа кіре алмайсыз." + +#, fuzzy +#~ msgid "Occupants" +#~ msgstr "Қатысушы әрекеттері" + +#~ msgid "_Modify Account..." +#~ msgstr "Тіркелгіні тү_зету..." + +#~ msgid "Boolean" +#~ msgstr "Boolean" + +#~ msgid "Integer" +#~ msgstr "Бүтін сан" + +#~ msgid "Text" +#~ msgstr "Мәтін" + +#~ msgid "Value" +#~ msgstr "Мәні" + +#~ msgid "(None)" +#~ msgstr "(Ешнәрсе)" + +#~ msgid "Hidden" +#~ msgstr "Жасырын" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "Прокси профайлдарын басқару" + +#, fuzzy +#~ msgid "Properties" +#~ msgstr "Қасиеттер" + +#, fuzzy +#~ msgid "Proxy _Port" +#~ msgstr "Прокс_и порты:" + +#, fuzzy +#~ msgid "New Groupchat" +#~ msgstr "Жаңа чат бөлмесі" + +#, fuzzy +#~ msgid "New Contact" +#~ msgstr "Жаңа контакт қосу" + +#~ msgid "%s GiB" +#~ msgstr "%s Гиб" + +#~ msgid "%s GB" +#~ msgstr "%s ГБ" + +#~ msgid "%s MiB" +#~ msgstr "%s МиБ" + +#~ msgid "%s MB" +#~ msgstr "%s МБ" + +#~ msgid "%s KiB" +#~ msgstr "%s КиБ" + +#~ msgid "%s KB" +#~ msgstr "%s КБ" + +#~ msgid "%s B" +#~ msgstr "%s Б" + +#, fuzzy +#~ msgid "%s MiB/s" +#~ msgstr "%s МиБ" + +#, fuzzy +#~ msgid "File transfer" +#~ msgstr "Файлдармен алмасу" + +#, fuzzy +#~ msgid "Open _Containing Folder" +#~ msgstr "_Орналасқан буманы ашу" + +#, fuzzy +#~ msgid "Default:" +#~ msgstr "Бастапқысы" + +#, fuzzy +#~ msgid "toolbutton" +#~ msgstr "батырма" + +#~ msgid "Really quit Gajim?" +#~ msgstr "Gajim-нан шығу керек пе?" + +#~ msgid "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" +#~ msgstr "" +#~ "Келесі транспорттарды қолданатын барлық контакттарға бұдан былай " +#~ "хабарламаларды жібере не ала алмайтын боласыз: %s" + +#~ msgid "Contact \"%s\" will be removed from your roster" +#~ msgstr "\"%s\" контакты ростеріңізден өшіріледі" + +#, fuzzy +#~ msgid "" +#~ "By removing this contact you also by default remove authorization " +#~ "resulting in them always seeing you as offline." +#~ msgstr "" +#~ "Контактты өшірумен қатар негізінде сіз оларға берген авторизацияны да " +#~ "өшіресіз, ол енді сізді әрқашан желіде емес сияқты көреді." + +#~ msgid "Contacts will be removed from your roster" +#~ msgstr "Контакттар ростеріңізден өшіріледі" + +#~ msgid "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorization resulting in them always seeing you as " +#~ "offline." +#~ msgstr "" +#~ "Бұл контакттарды өшіру нәтижесінде:%s\n" +#~ "оларға берген авторизацияны да өшіресіз, ол енді сізді әрқашан желіде " +#~ "емес сияқты көреді." + +#, fuzzy +#~ msgid "Con_tinue" +#~ msgstr "Жалға_стыру" + +#~ msgid "_Pause" +#~ msgstr "_Аялдату" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "Тізімнен файлдармен алмасуды өшіру." + +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "" +#~ "Бұл әрекет тізімнен бір файлдармен алмасуды өшіреді. Ол алмасу белсенді " +#~ "болса, алдымен тоқтатылады, содан кейін өшіріледі" + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "Бұл файлдармен алмасудан бас тарту" + +#, fuzzy +#~ msgid "Hide the window" +#~ msgstr "Терезені жасырады" + +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "Файлдармен алмасу аяқталған кезде қалқымалы хабарламаны көрсету" + +#~ msgid "From:" +#~ msgstr "Кімнен:" + +#~ msgid "Subject:" +#~ msgstr "Тақырыбы:" + +#~ msgid "%s wants to send you a file:" +#~ msgstr "%s сізге файлды жібергісі келеді:" + +#~ msgid "Name: " +#~ msgstr "Аты:" + +#~ msgid "Pause" +#~ msgstr "Аялдату" + +#, fuzzy +#~ msgid "Execute Command" +#~ msgstr "К_оманда орындау" + +#~ msgid "Type: " +#~ msgstr "Түрі: " + +#~ msgid "Transferred: " +#~ msgstr "Берілген: " + +#~ msgid "Completed" +#~ msgstr "Аяқталған" + +#~ msgid "Stalled" +#~ msgstr "Тежеліп қалған" + +#~ msgid "Transferring" +#~ msgstr "Алмасуда" + +#~ msgid "Not started" +#~ msgstr "Басталмаған" + +#, fuzzy +#~ msgid "%s day" +#~ msgid_plural "%s days" +#~ msgstr[0] "%i күн бұрын" +#~ msgstr[1] "%i күн бұрын" + +#~ msgid "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" +#~ msgstr "Барлық чаттар мен топ чаттары жабылады. Жалғастыруды қалайсыз ба?" + +#, fuzzy +#~ msgid "" +#~ "Your desired nickname in group chat\n" +#~ "%s\n" +#~ "is in use or registered by another occupant.\n" +#~ "Please specify another nickname below:" +#~ msgstr "" +#~ "Сіз %s топ чаты үшін таңдаған ник атыңызды басқа қатысушы тіркелген болса " +#~ "керек.\n" +#~ "Басқа никты төменде көрсетіңіз:" + +#~ msgid "_Configure" +#~ msgstr "Бап_тау" + +#~ msgid "Change the avatar" +#~ msgstr "Аватарды өзгерту" + +#~ msgid "" +#~ "Account in which the avatar will be set; if not specified, the avatar " +#~ "will be set for all accounts" +#~ msgstr "" +#~ "Аватар орнатылатын тіркелгі; көрсетілмесе, аватар барлық тіркелгілерге " +#~ "орнатылады" + +#~ msgid "add" +#~ msgstr "қосу" + +#~ msgid "modify" +#~ msgstr "түзету" + +#~ msgid "remove" +#~ msgstr "өшіру" + +#, fuzzy +#~ msgid "" +#~ "If true, restored messages will use a smaller font than the default one." +#~ msgstr "" +#~ "Белсенді болса, тарихтан алынған хабарламалар қаріпі қалыптыдан кішірек " +#~ "болады." + +#, fuzzy +#~ msgid "Restored Message Color" +#~ msgstr "Бас_тапқы түстерге тастау" + +#, fuzzy +#~ msgid "" +#~ "You are going to remove this room permanently.\n" +#~ "You may specify a reason below:" +#~ msgstr "" +#~ "Сіз бұл бөлмені жоюды қалағансыз.\n" +#~ "Төменде оның себебін көрсете аласыз:" + +#~ msgid "Send Cus_tom Status" +#~ msgstr "_Ол үшін қалып-күйді орнату" + +#, fuzzy +#~ msgid "" +#~ "You are about to send a custom status. Are you sure you want to continue?" +#~ msgstr "Сіз таңдауыңызша қалып-күйді жіберуді қалағансыз. Жалғастырамыз ба?" + +#, fuzzy +#~ msgid "" +#~ "This contact will temporarily see you as %(status)s, but only until you " +#~ "change your status. Then they will see your global status." +#~ msgstr "" +#~ "Бұл контакт уақытша сізді %(status)s сияқты көреді, бірақ тек сіз өз " +#~ "қалып-күйіңізді өзгерткенге дейін. Одан кейін ол сіздің негізгі қалып-" +#~ "күйіңізді көретін болады." + +#, fuzzy +#~ msgid "" +#~ msgstr "Тақырып" + +#~ msgid "#" +#~ msgstr "#" + +#~ msgid "You are about to block a contact. Are you sure you want to continue?" +#~ msgstr "Контактты блоктауды қалағансыз. Жалғастыруды қалайсыз ба?" + +#~ msgid "To:" +#~ msgstr "Кімге:" + +#~ msgid "0" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Reconnect when connection is lost" +#~ msgstr "Байланыс үзілсе, оны қалпына келтіру" + +#, fuzzy +#~ msgid "Server Message Archive" +#~ msgstr "_Сервер хабарламасын жіберу..." + +#, fuzzy +#~ msgid "Message Carbons" +#~ msgstr "Хабарламалар" + +#~ msgid "" +#~ "Sent chat state notifications. Can be one of all, composing_only, " +#~ "disabled." +#~ msgstr "" +#~ "Сөйлесудің күйі туралы хабарлау. Мүмкін нұсқалары: all (барлығы), " +#~ "composing_only (тек жазу туралы), disabled (сөндірілген)." + +#, fuzzy +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "_Белсенді емес уақытымды жіберуге рұқсат ету" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the idle time of your system" +#~ msgstr "" +#~ "Белгіленген болса, Gajim басқаларға сіздің операциялық жүйеңізді " +#~ "анықтауға рұқсат етеді" + +#, fuzzy +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "_ОЖ ақпаратын жіберуге рұқсат ету" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the local time on your system" +#~ msgstr "" +#~ "Белгіленген болса, Gajim басқаларға сіздің операциялық жүйеңізді " +#~ "анықтауға рұқсат етеді" + +#, fuzzy +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "_ОЖ ақпаратын жіберуге рұқсат ету" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the operating system you are " +#~ "using" +#~ msgstr "" +#~ "Белгіленген болса, Gajim басқаларға сіздің операциялық жүйеңізді " +#~ "анықтауға рұқсат етеді" + +#, fuzzy +#~ msgid "" +#~ "If checked, incoming events from unauthorized contacts will be ignored. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster." +#~ msgstr "" +#~ "Белгіленген болса, Gajim авторизацияланбаған контакттар жіберген " +#~ "хабарламаларды елемейді. Байқап қолданыңыз, өйткені ростерде емес " +#~ "контакттардың барлығы блокталады" + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." +#~ msgstr "" +#~ "Контактпен сөйлесу кезінде Gajim ол сөйлесуге қатысты мета-ақпаратты " +#~ "жібере мен қабылдай алады. Екінші жаққа қай чат күйлерін жіберуді осында " +#~ "таңдай аласыз." + +#, fuzzy +#~ msgid "S_end chat state notifications" +#~ msgstr "_Чат күй өзгеруін жіберу:" + +#, fuzzy +#~ msgid "Login Options" +#~ msgstr "Сма_йликтер:" + +#~ msgid "Please wait while retrieving search form..." +#~ msgstr "Тіркелу формасын алғанша күте тұрыңыз..." + +#~ msgid "_Add contact" +#~ msgstr "_Контакт қосу" + +#~ msgid "Ad-hoc Commands - Gajim" +#~ msgstr "Ad-hoc командалары - Gajim" + +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "Командалар тізімін алғанша күте тұрыңыз..." + +#~ msgid "Choose command to execute:" +#~ msgstr "Орындау үшін команда таңдаңыз:" + +#~ msgid "Check once more" +#~ msgstr "Тағы бір рет тексеру" + +#, fuzzy +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "Команда жіберілгенше күте тұрыңыз..." + +#~ msgid "This jabber entity does not expose any commands." +#~ msgstr "Бұл jabber нәрсесі ешбір команданы ұсынбай тұр." + +#~ msgid "F_inish" +#~ msgstr "А_яқтау" + +#~ msgid "Waiting for results" +#~ msgstr "Нәтижелерді күту" + +#~ msgid "Error in received dataform" +#~ msgstr "Алынған ақпарат формасындағы қате" + +#~ msgid "No result" +#~ msgstr "Нәтижесі жоқ" + +#~ msgid "Failed to get secret keys" +#~ msgstr "Құпия кілттерді алу сәтсіз" + +#~ msgid "There is no OpenPGP secret key available." +#~ msgstr "Қолжетерлік OpenPGP құпия кілті жоқ." + +#~ msgid "OpenPGP Key Selection" +#~ msgstr "OpenPGP кілтін таңдау" + +#~ msgid "Choose your OpenPGP key" +#~ msgstr "Өзіңіздің OpenPGP кілтіңізді таңдаңыз" + +#~ msgid "KeyID" +#~ msgstr "KeyID" + +#~ msgid "Contact name" +#~ msgstr "Контакт аты" + +#, fuzzy +#~ msgid "OpenPGP is not usable" +#~ msgstr "GPG қолдануға мүмкін емес" + +#~ msgid "Assign OpenPGP Key" +#~ msgstr "OpenPGP кілтін орнату" + +#~ msgid "Select a key to apply to the contact" +#~ msgstr "Контактқа ілу үшін кілт таңдаңыз" + +#, fuzzy +#~ msgid "" +#~ "You configured Gajim to use OpenPGP agent, but there is no OpenPGP agent " +#~ "running or it returned a wrong passphrase.\n" +#~ msgstr "" +#~ "Сіз Gajim-ды GPG агентін қолдануға баптағансыз, бірақ, қосулы тұрған GPG " +#~ "агенті жоқ немесе ол қате кілтсөзді қайтарған.\n" + +#~ msgid "You are currently connected without your OpenPGP key." +#~ msgstr "Сіз қазір өзіңіздің OpenPGP кілтсіз-ақ қосулы тұрсыз." + +#, fuzzy +#~ msgid "Wrong passphrase" +#~ msgstr "Кілтсөз қате" + +#, fuzzy +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "Кілтсөз қате" + +#~ msgid "Passphrase Required" +#~ msgstr "Кілтсөз керек" + +#, fuzzy +#~ msgid "" +#~ "Enter OpenPGP key passphrase for key %(keyid)s (account %(account)s)." +#~ msgstr "" +#~ "%(keyid)s кілті үшін GPG кілт құпия сөзін енгізіңіз (%(account)s " +#~ "тіркелгісі)." + +#, fuzzy +#~ msgid "OpenPGP key expired" +#~ msgstr "GPG кілтінің мерзімі біткен" + +#, fuzzy +#~ msgid "" +#~ "Your OpenPGP key has expired, you will be connected to %s without OpenPGP." +#~ msgstr "" +#~ "Сіздің GPG кілтіңіздің мерзімі біткен, сол үшін сіз %s үшін байланысыңыз " +#~ "OpenPGP-сіз іске асырылады." + +#~ msgid "Wrong Passphrase" +#~ msgstr "Кілтсөз қате" + +#, fuzzy +#~ msgid "Please retype your OpenPGP passphrase or press Cancel." +#~ msgstr "Өзіңіздің GPG кілтсөзіңізді қайта енгізіңіз не Бас тартуды қалаңыз." + +#~ msgid "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Ростердегі контактқа жаңа чат хабарламасын жіберу. OpenPGP кілті мен " +#~ "тіркелгіні көрсету міндетті емес. Егер сіз 'OpenPGP key'-сіз тек " +#~ "'account'-ты орнатқыңыз келсе, 'OpenPGP key' мәнін '' етіп орнатыңыз." + +#~ msgid "if specified, the message will be encrypted using this public key" +#~ msgstr "көрсетілсе, хабарлама бұл ортақ кілтпен шифрленеді" + +#, fuzzy +#~ msgid "" +#~ "Sends a chat message to someone on your roster. Optionally with OpenPGP " +#~ "key and account. If you want to only set the latter, set OpenPGP key to " +#~ "\"\"." +#~ msgstr "" +#~ "Ростердегі контактқа жаңа чат хабарламасын жіберу. OpenPGP кілті мен " +#~ "тіркелгіні көрсету міндетті емес. Егер сіз 'OpenPGP key'-сіз тек " +#~ "'account'-ты орнатқыңыз келсе, 'OpenPGP key' мәнін '' етіп орнатыңыз." + +#~ msgid "" +#~ "If disabled, don't sign presences with GPG key, even if GPG is configured." +#~ msgstr "" +#~ "Сөндірілген болса, бар болу хабарламаларды GPG кілтімен жазбау, GPG " +#~ "бапталған болса да." + +#, fuzzy +#~ msgid "OpenPGP:" +#~ msgstr "OpenPGP: " + +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "OpenPGP _кілтін орнату..." + +#, fuzzy +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "Хабарламаларды OpenGPG-мен шифрлеу" + +#, fuzzy +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "Чат хабарламаларын gpg кілттермен шифрлеу." + +#, fuzzy +#~ msgid "Requires: gpg and python-gnupg (%(url)s)" +#~ msgstr "Талап етеді: gpg мен python-GnuPGInterface." + +#, fuzzy +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "PATH ішінен gpg.exe талап етеді." + +#, fuzzy +#~ msgid "Use PGP Agent" +#~ msgstr "G_PG агентін қолдану" + +#, fuzzy +#~ msgid "OpenPGP Key" +#~ msgstr "OpenPGP кілтін орнату" + +#~ msgid "Cancel confirmation" +#~ msgstr "Растауды тайдыру" + +#~ msgid "" +#~ "You are in process of executing command. Do you really want to cancel it?" +#~ msgstr "" +#~ "Сіз қазір команданы орындаудасыз. Одан баст тартуды шынымен қалайсыз ба?" + +#~ msgid "Service sent malformed data" +#~ msgstr "Қызмет қате ақпаратты жіберген" + +#~ msgid "Service changed the session identifier." +#~ msgstr "Қызмет сессия анықтағышын өзгерткен." + +#, fuzzy +#~ msgid "%s - Ad-hoc Commands - Gajim" +#~ msgstr "Ad-hoc командалары - Gajim" + +#~ msgid "Service returned an error." +#~ msgstr "Қызмет қатені қайтарған." + +#~ msgid "You are invited to a groupchat" +#~ msgstr "Сізді топтық чатқа шақырған" + +#~ msgid "_Start Chat" +#~ msgstr "Чатты ба_стау" + +#~ msgid "Au_thorize" +#~ msgstr "А_вторизация беру" + +#~ msgid "Really send file?" +#~ msgstr "Файлды шынымен жіберу керек пе?" + +#~ msgid "You are currently connected to the server" +#~ msgstr "Қазір серверге қосулы тұрсыз" + +#~ msgid "To disable the account, you must be disconnected." +#~ msgstr "Тіркелгіні сөндіру үшін, оның желімен байланысын аяқтаңыз." + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with %(jid)s?" +#~ msgstr "Ерекшеленген хабарламаны өшіруді шынымен қалайсыз ба?" + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with the selected contacts?" +#~ msgstr "" +#~ "Ерекшеленген контактпен барлық сөйлесулер тарихын өшіруді қалайсыз ба?" + +#~ msgid "What do you want to do?" +#~ msgstr "Сіз не істеуді қалайсыз?" + +#~ msgid "" +#~ "List of colors, separated by \":\", that will be used to color nicknames " +#~ "in group chats." +#~ msgstr "" +#~ "\":\" арқылы бөлінген түстер тізімі, топ чатында никтер түстері ретінде " +#~ "пайдалану үшін." + +#~ msgid "You have received new entries (and %d not displayed):" +#~ msgid_plural "You have received new entries (and %d not displayed):" +#~ msgstr[0] "Сізде жаңа мәліметтер бар (және %d көрсетілмеген)" +#~ msgstr[1] "Сізде жаңа мәліметтер бар (және %d көрсетілмеген)" + +#~ msgid "Stopped" +#~ msgstr "Тоқтатылған" + +#~ msgid "" +#~ "You are about to send your password on an insecure connection. You should " +#~ "install PyOpenSSL to prevent that. Are you sure you want to do that?" +#~ msgstr "" +#~ "Қауіпсіз емес байланыс арқылы пароліңізді жібересіз. Осыған жол бермеу " +#~ "үшін PyOpenSSL орнатуыңыз керек. Осыны жасауды шынымен қалайсыз ба?" + +#, fuzzy +#~ msgid "Status messages displayed in chat window" +#~ msgstr "Хабарламаны жіберу мен терезені жабу" + +#~ msgid "?print_status:All" +#~ msgstr "?print_status:Барлық" + +#~ msgid "Enter and leave only" +#~ msgstr "Тек кіру мен шығу" + +#~ msgid "?print_status:None" +#~ msgstr "?print_status:Жоқ" + +#, fuzzy +#~ msgid "Untrusted OpenPGP key" +#~ msgstr "Өзіңіздің OpenPGP кілтіңізді таңдаңыз" + +#, fuzzy +#~ msgid "" +#~ "The OpenPGP key used to encrypt this chat is not trusted. Do you really " +#~ "want to encrypt this message?" +#~ msgstr "" +#~ "Бұл чатты шифрлеу үшін қолданылатын GPG кілті сенімді емес. Бұл " +#~ "хабарламаны шифрлеуді шынымен қалайсыз ба?" + +#~ msgid "D-Bus python bindings are missing in this computer" +#~ msgstr "D-Bus python байланыстары бұл компьютерде жоқ" + +#~ msgid "D-Bus capabilities of Gajim cannot be used" +#~ msgstr "Gajim-нің D-Bus мүмкіндіктерін қолдану мүмкін емес" + +#~ msgid "D-Bus does not run correctly on this machine" +#~ msgstr "D-Bus бұл компьютерде дұрыс істемейді" + +#~ msgid "D-Bus does not run correctly on this machine: system bus not present" +#~ msgstr "D-Bus бұл компьютерде дұрыс істемейді: жүйе шинасы жоқ" + +#~ msgid "" +#~ "D-Bus does not run correctly on this machine: session bus not present" +#~ msgstr "D-Bus бұл компьютерде дұрыс істемейді: сессия шинасы жоқ" + +#, fuzzy +#~ msgid "Command line Control" +#~ msgstr "Командалық жол" + +#, fuzzy +#~ msgid "Enables you to control Gajim with via commandline" +#~ msgstr "Gajim-ді командалық жолдан басқаратын скрипт." + +#~ msgid "" +#~ "When is self contact row displayed. Can be \"always\", " +#~ "\"when_other_resource\" or \"never\"" +#~ msgstr "" +#~ "Өз контакт жолы қашан көрсетіледі. Келесіден біреу болсын: \"always\", " +#~ "\"when_other_resource\" немесе \"never\"" + +#~ msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +#~ msgstr "%(who)s қазір %(nick)s қатысушысын тепкен: %(reason)s" + +#~ msgid "%(nick)s has been banned by %(who)s: %(reason)s" +#~ msgstr "%(who)s қазір %(nick)s қатысушысын бандаған: %(reason)s" + +#~ msgid "system shutdown" +#~ msgstr "жүйе сөндірілуі" + +#~ msgid "** Role of %(nick)s has been set to %(role)s" +#~ msgstr "** %(nick)s ролі %(role)s етіп орнатылған" + +#~ msgid "%s has left" +#~ msgstr "%s шықты" + +#, fuzzy +#~ msgid "%s is full" +#~ msgstr "Қаріп" + +#, fuzzy +#~ msgid "" +#~ "Can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no " +#~ "longer print status line in groupchats when a member changes their status " +#~ "and/or their status message. If \"all\" Gajim will print all status " +#~ "messages. If \"in_and_out\", Gajim will only print FOO enters/leaves " +#~ "group chat." +#~ msgstr "" +#~ "\"none\", \"all\" не \"in_and_out\" бола алады. Егер \"none\" болса, " +#~ "Gajim топтық чаттарда мүше өз күйін не күй хабарламасын өзгертсе, күй " +#~ "хабарламасы жолын шығармайды. Егер \"all\" болса, Gajim барлық күй " +#~ "хабарламаларын көрсетеді. Егер \"in_and_out\" болса, Gajim тек БІРЕУ " +#~ "топтық чатқа кірді/шықты хабарламаларын көрсетеді." + +#, fuzzy +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "Ростердегі _контакттардың қалып-күй хабарламаларын көрсету" + +#~ msgid "" +#~ "You are about to send your password unencrypted on an insecure " +#~ "connection. Are you sure you want to do that?" +#~ msgstr "" +#~ "Қауіпсіз емес байланыс арқылы шифрленбеген пароліңізді жібересіз. Осыны " +#~ "жасауды шынымен қалайсыз ба?" + +#, fuzzy +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "Анонимды аутентификация" + +#, fuzzy +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "Анони_мды аутентификация" + +#, fuzzy +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "Анони_мды аутентификация" + +#~ msgid "" +#~ "Displayed chat state notifications in chat windows. Can be one of all, " +#~ "composing_only, disabled." +#~ msgstr "" +#~ "Чат терезесінде сөйлесудің күйін көрсету. Мүмкін нұсқалары: all " +#~ "(барлығы), composing_only (тек жазу туралы), disabled (сөндірілген)." + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." +#~ msgstr "" +#~ "Контактпен сөйлесу кезінде Gajim ол сөйлесуге қатысты мета-ақпаратты " +#~ "жібере мен қабылдай алады. Чат терезелерінде қай чат күйлерін көрсетуді " +#~ "осында таңдай аласыз." + +#~ msgid "This is an irreversible operation." +#~ msgstr "Бұл қайтарылмайтын әрекет." + +#~ msgid "Settings" +#~ msgstr "Баптаулар" + +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "Gajim тарихы логтар менеджеріне қош келдіңіз" + +#~ msgid "Member List" +#~ msgstr "Қатысушылар тізімі" + +#~ msgid "Owner List" +#~ msgstr "Иелер тізімі" + +#~ msgid "Administrator List" +#~ msgstr "Әкімшілер тізімі" + +#~ msgid "Nick" +#~ msgstr "Ник" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "Кімді банға жібергіңіз келеді?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Member…" +#~ msgstr "Қатысушыны қосу..." + +#~ msgid "" +#~ "Whom do you want to make a member?\n" +#~ "\n" +#~ msgstr "" +#~ "Кімді мүше қылғыңыз келеді?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Owner…" +#~ msgstr "Иені қосу..." + +#~ msgid "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" +#~ msgstr "" +#~ "Кімді ие қылғыңыз келеді?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Administrator…" +#~ msgstr "Әкімшіні қосу..." + +#~ msgid "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" +#~ msgstr "" +#~ "Кімді әкімші қылғыңыз келеді?\n" +#~ "\n" + +#~ msgid "Error reading file:" +#~ msgstr "Файлды оқу қатесі:" + +#~ msgid "Error parsing file:" +#~ msgstr "Файлды өңдеу қатесі:" + +#~ msgid "List of possible features in Gajim:" +#~ msgstr "Gajim мүмкіндіктер тізімі:" + +#~ msgid "Description" +#~ msgstr "Анықтамасы" + +#~ msgid "Password encryption" +#~ msgstr "Парольдерді шифрлеу" + +#~ msgid "Spellchecking of composed messages." +#~ msgstr "Жазылған хабарламаларды емлеге тексеру." + +#~ msgid "Automatic status" +#~ msgstr "Өздігінен қалып-күйді орнату" + +#~ msgid "Requires python2.5." +#~ msgstr "Талап етеді: python2.5." + +#~ msgid "" +#~ "Generate XHTML output from RST code (see http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "RST кодынан XHTML шығысын жасайды (http://docutils.sourceforge.net/docs/" +#~ "ref/rst/restructuredtext.html қараңыз)." + +#~ msgid "?features:Available" +#~ msgstr "?features:Осында" + +#~ msgid "Feature" +#~ msgstr "Мүмкіндік" + +#~ msgid "Filter:" +#~ msgstr "Фильтр:" + +#~ msgid "Chat Appearance" +#~ msgstr "Чаттың сыртқы түрі" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed out" +#~ msgstr "" +#~ "Gajim сізді жаңа кірген контакттар туралы экранның төменгі оң жақта " +#~ "шығатын қалқымалы терезеде ескертеді" + +#~ msgid "Sounds" +#~ msgstr "Дыбыстар" + +#~ msgid "Chat state notifications" +#~ msgstr "Чат қалып-күй хабарламалары" + +#, fuzzy +#~ msgid "_Away after" +#~ msgstr "_Кетіп қалған:" + +#~ msgid "" +#~ "If checked, Gajim will change status to Away when the computer is unused." +#~ msgstr "" +#~ "Белгіленген болса, Gajim компьютеріңіз қолданылмаса, қалып-күйіңізді " +#~ "Кетіп қалғанға ауыстырады." + +#, fuzzy +#~ msgid "_Not available after" +#~ msgstr "Қ_ол жетерсіз:" + +#~ msgid "Auto Status" +#~ msgstr "Авто қалып-күй" + +#~ msgid "Status Messages" +#~ msgstr "Қалып-күй хабарламалары" + +#~ msgid "Audio" +#~ msgstr "Аудио" + +#~ msgid "Video" +#~ msgstr "Видео" + +#, fuzzy +#~ msgid "(example: stun.iptel.org)" +#~ msgstr "(мысалы: stunserver.org)" + +#~ msgid "Connection" +#~ msgstr "Байланыс" + +#~ msgid "Custom" +#~ msgstr "Таңдауыңызша" + +#~ msgid "Privacy" +#~ msgstr "Жекелік" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "Кеңейтілген баптаулар түзеткіші" + +#, fuzzy +#~ msgid "Audio / video conferences" +#~ msgstr "Аудио / Видео" + +#, fuzzy +#~ msgid "File transfer, room bookmarks" +#~ msgstr "Файл алмасу қатесі" + +#, fuzzy +#~ msgid "XML console interface" +#~ msgstr "XML консолі" + +#, fuzzy +#~ msgid "" +#~ "A programming error has been detected. It probably is not fatal, but " +#~ "should be reported to the developers nonetheless." +#~ msgstr "" +#~ "Ол қатаң қате болмауы да мүмкін, бірақ сонда да жасаушыларға хабарлануы " +#~ "керек." + +#~ msgid "" +#~ "A list of modp groups to use in a Diffie-Hellman, highest preference " +#~ "first, separated by commas. Valid groups are 1, 2, 5, 14, 15, 16, 17 and " +#~ "18. Higher numbers are more secure, but take longer to calculate when you " +#~ "start a session." +#~ msgstr "" +#~ "Diffie-Hellman қолдану үшін modp топтар тізімі, үлкенірек баптау бірінші " +#~ "болсын, үтірмен ажыратылсын. Дұрыс топтар 1, 2, 5, 14, 15, 16, 17 және " +#~ "18. Үлкенірек нөмірлер қауіпсіздігі жоғарырақ, бірақ сессияны бастау " +#~ "кезінде оны есептеу үшін көбірек уақыт кетеді." + +#~ msgid "(ESession info)" +#~ msgstr "(ESession ақпараты)" + +#~ msgid "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" +#~ msgstr "" +#~ "Сөндірілмеген болса, Gajim барлық ascii ':)' түрдегі смайликтерді сәйкес " +#~ "сурет смайликтерімен алмастырады" + +#, fuzzy +#~ msgid "_Emoticons" +#~ msgstr "Сма_йликтер:" + +#~ msgid "_Highlight misspelled words" +#~ msgstr "Қа_те сөздерді түспен ерекшелеу" + +#, fuzzy +#~ msgid "Notify by icon when your messages are received" +#~ msgstr "MUC хабарламасы келген кезде ойналатын дыбыс." + +#, fuzzy +#~ msgid "T_heme" +#~ msgstr "Т_емасы:" + +#~ msgid "Themes" +#~ msgstr "Темалар" + +#~ msgid "Always use this nickname when there is a conflict" +#~ msgstr "Осындай қолайсыздық болса әрқашан осы никты қолдану" + +#~ msgid "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." +#~ msgstr "" +#~ "Jabberd1.4 парольмен қорғалған топтық чатқа біреу кірген кезде sha " +#~ "ақпаратын ұнатпайды. Топтық чаттың бар болу хабарламаларында sha " +#~ "ақпаратын көрсетпеу үшін бұл опцияны сөндіріңіз." + +#, fuzzy +#~ msgid "Presence" +#~ msgstr "_Бар болу" + +#~ msgid "Emoticons disabled" +#~ msgstr "Смайликтер сөндірулі" + +#, fuzzy +#~ msgid "" +#~ "Your configured emoticons theme could not be loaded. See the log for more " +#~ "details." +#~ msgstr "" +#~ "Сіз баптаған смайликтер темасы табылмады, сол үшін смайликтер сөндірілген." + +#~ msgid "You cannot make changes to the default theme" +#~ msgstr "Бастапқы темаға өзгерістерді енгізе алмайсыз." + +#~ msgid "theme name" +#~ msgstr "тема аты" + +#~ msgid "You cannot delete your current theme" +#~ msgstr "Ағымдағы теманы өшіре алмайсыз" + +#~ msgid "New Single Message from %(nickname)s" +#~ msgstr "%(nickname)s жіберген бір жаңа хабарлама" + +#~ msgid "New Private Message from group chat %s" +#~ msgstr "%s топ чатынан жаңа жеке хабарлама" + +#~ msgid "%(nickname)s: %(message)s" +#~ msgstr "%(nickname)s: %(message)s" + +#~ msgid "Messaged by %(nickname)s" +#~ msgstr "%(nickname)s жазған" + +#~ msgid "Status message text color." +#~ msgstr "Күй хабарламасы мәтін түсі." + +#~ msgid "Incoming nickname font." +#~ msgstr "Кіріс ник аты мәтін қарібі." + +#~ msgid "Outgoing nickname font." +#~ msgstr "Шығыс ник аты мәтін қарібі." + +#~ msgid "Status message text font." +#~ msgstr "Күй хабарламасы мәтін қарібі." + +#~ msgid "Background color of contacts when they just signed in." +#~ msgstr "Жаңа кірген контакт аты үшін фон түсі." + +#~ msgid "Background color of contacts when they just signed out." +#~ msgstr "Жаңа шыққан контакт аты үшін фон түсі." + +#~ msgid "green" +#~ msgstr "green" + +#~ msgid "grocery" +#~ msgstr "grocery" + +#~ msgid "human" +#~ msgstr "human" + +#~ msgid "marine" +#~ msgstr "marine" + +#~ msgid "Contact row" +#~ msgstr "Контакт бағаны" + +#~ msgid "Chat Banner" +#~ msgstr "Баннер" + +#~ msgid "Gajim Themes Customization" +#~ msgstr "Gajim темаларын басқару" + +#~ msgid "Text _color:" +#~ msgstr "Мәтін тү_сі:" + +#~ msgid "_Background:" +#~ msgstr "_Фон:" + +#~ msgid "Text _font:" +#~ msgstr "Мәтін қарі_пі:" + +#~ msgid "Font style:" +#~ msgstr "Қаріп стилі:" + +#~ msgid "Paused" +#~ msgstr "Аялдатылған" + +#~ msgid "Gone" +#~ msgstr "Кетіп қалды" + +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "" +#~ "MUC\n" +#~ "Хабарламалар" + +#~ msgid "Chatstate Tab Colors" +#~ msgstr "Чаттары бар беттер түсі" + +#, fuzzy +#~ msgid "Chat message" +#~ msgstr "Чат хабарламасы:" + +#~ msgid "Use system _default" +#~ msgstr "Жүйе _негізгілерін қолдану" + +#~ msgid "Font" +#~ msgstr "Қаріп" + +#, fuzzy +#~ msgid "Contact's nickname" +#~ msgstr "Контакт аты:" + +#, fuzzy +#~ msgid "_Status message" +#~ msgstr "_Күй хабарламасы:" + +#, fuzzy +#~ msgid "Your message" +#~ msgstr "Хабарламаңыз:" + +#, fuzzy +#~ msgid "_URL highlight" +#~ msgstr "URL ерек_шелеу:" + +#~ msgid "Chat Line Colors" +#~ msgstr "Чаттағы түстер" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID-і:" + +#~ msgid "Resource:" +#~ msgstr "Ресурс:" + +#~ msgid "Status:" +#~ msgstr "Күйі:" + +#~ msgid "Contact time:" +#~ msgstr "Контакт уақыты:" + +#~ msgid "Ask:" +#~ msgstr "Сұрау:" + +#~ msgid "Subscription:" +#~ msgstr "Жазылу:" + +#~ msgid "Name:" +#~ msgstr "Аты:" + +#~ msgid "Nickname:" +#~ msgstr "Ник аты:" + +#~ msgid "Street:" +#~ msgstr "Көше:" + +#~ msgid "City:" +#~ msgstr "Қала:" + +#~ msgid "State:" +#~ msgstr "Ел:" + +#~ msgid "Extra Address:" +#~ msgstr "Қосымша адрес:" + +#~ msgid "Postal Code:" +#~ msgstr "Пошта индексі:" + +#~ msgid "Country:" +#~ msgstr "Ел:" + +#~ msgid "Homepage:" +#~ msgstr "Үй парағы:" + +#~ msgid "E-Mail:" +#~ msgstr "E-Mail:" + +#~ msgid "Phone No.:" +#~ msgstr "Телефон.:" + +#~ msgid "Birthday:" +#~ msgstr "Туған күні:" + +#~ msgid "Family:" +#~ msgstr "Тегі:" + +#~ msgid "Middle:" +#~ msgstr "Әкесінің аты:" + +#~ msgid "Prefix:" +#~ msgstr "Префикс:" + +#~ msgid "Given:" +#~ msgstr "Аты:" + +#~ msgid "Suffix:" +#~ msgstr "Суффикс:" + +#~ msgid "Full Name" +#~ msgstr "Толық аты" + +#~ msgid "Company:" +#~ msgstr "Компания:" + +#~ msgid "Department:" +#~ msgstr "Бөлім:" + +#~ msgid "Position:" +#~ msgstr "Орны:" + +#~ msgid "Role:" +#~ msgstr "Ролі:" + +#~ msgid "- messages will be logged" +#~ msgstr "- хабарламалар логқа сақталады" + +#~ msgid "- messages will not be logged" +#~ msgstr "- хабарламалар логқа сақталмайды" + +#~ msgid "Edit %s" +#~ msgstr "Түзету %s" + +#~ msgid "Conversation History with %s" +#~ msgstr "Сіз бен %s сөйлесулер тарихы" + +#~ msgid "Contact with \"%s\" cannot be established" +#~ msgstr "\"%s\" үшін байланысты орнату мүмкін емес" + +#~ msgid "Registration information for transport %s has not arrived in time" +#~ msgstr "%s транспорты үшін тіркелу ақпараты уақытында келмеген" + +#~ msgid "Register to" +#~ msgstr "Қайда тіркелу:" + +#, fuzzy +#~ msgid "Enter name / JID of contact or groupchat" +#~ msgstr "JID не контакт атын енгізіңіз" + +#~ msgid "Search:" +#~ msgstr "Іздеу:" + +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "Байланыс орнатылмаса, пароліңізді өзгерте алмайсыз." + +#~ msgid "Invalid password" +#~ msgstr "Пароль қате" + +#~ msgid "The passwords typed in both fields must be identical." +#~ msgstr "Екі өрістегі де парольдер өзара сәйкес болуы тиіс." + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "Растау үшін қайта енгізіңіз:" + +#~ msgid "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" +#~ msgstr "" +#~ "%s JID-і RFC-мен үйлесімді емес. Ол сіздің ростеріңізге қосылмайды. Оны " +#~ "өшіру үшін http://jru.jabberstudio.org/ сияқты ростерді басқару " +#~ "құралдарын қолданыңыз" + +#~ msgid "unsubscribe request from %s" +#~ msgstr "%s жіберген жазылудан бас тарту сұранымы" + +#~ msgid "<empty>" +#~ msgstr "<бос>" + +#~ msgid "Homepage:" +#~ msgstr "Үй парағы:" + +#~ msgid "Manage Bookmarks" +#~ msgstr "Бетбелгілерді басқару" + +#~ msgid "_Nickname:" +#~ msgstr "_Ник аты:" + +#~ msgid "Pr_int status:" +#~ msgstr "Кү_йін шығару:" + +#, fuzzy +#~ msgid "Add JID" +#~ msgstr "Jabber ID" + +#, fuzzy +#~ msgid "Preference:" +#~ msgstr "Баптаулар" + +#, fuzzy +#~ msgid "Preference" +#~ msgstr "Баптаулар" + +#, fuzzy +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "%s тіркелгісіне қосқыңыз келетін контакт ақпаратын енгізіңіз" + +#~ msgid "Please fill in the data of the contact you want to add" +#~ msgstr "Қосықыңыз келетін контакт ақпаратын енгізіңіз" + +#, fuzzy +#~ msgid "Recently" +#~ msgstr "Соңғылар:" + +#~ msgid "Add New Contact" +#~ msgstr "Жаңа контакт қосу" + +#~ msgid "_User ID:" +#~ msgstr "П_айдаланушы ID-і:" + +#, fuzzy +#~ msgid "Type User ID" +#~ msgstr "Пайдаланушы ID-і:" + +#, fuzzy +#~ msgid "Type Nickname" +#~ msgstr "Ник аты" + +#~ msgid "Personal Information" +#~ msgstr "Жеке ақпарат" + +#~ msgid "Avatar:" +#~ msgstr "Аватар:" + +#~ msgid "Click to set your avatar" +#~ msgstr "Аватарыңызды орнату үшін шертіңіз" + +#, fuzzy +#~ msgid "Remove Avatar" +#~ msgstr "Топты өшіру" + +#~ msgid "Not fetched because of invisible status" +#~ msgstr "Жасырын қалып-күй нәтижесінде алынбаған" + +#~ msgid "Please wait..." +#~ msgstr "Күте тұрыңыз..." + +#~ msgid "" +#~ "When negotiating an encrypted session, should Gajim assume you want your " +#~ "messages to be logged?" +#~ msgstr "" +#~ "Шифрленген сессия кезінде Gajim хабарламаларыңызды тарихқа сақтауы керек " +#~ "пе?" + +#~ msgid "Log _encrypted chat session" +#~ msgstr "_Шифрленген чат тарихын жазу" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will keep logs for encrypted messages. Please note that " +#~ "when using end-to-end encryption the remote party has to agree on " +#~ "logging, else the messages will not be logged." +#~ msgstr "" +#~ "Белгіленген болса, Gajim шифрленген хабарламаларды тарихқа сақтайды. E2E " +#~ "шифрленуі қолданылса, тарихқа сақтау үшін қашықтағы жақ өз рұқсатын беруі " +#~ "керек екендігін ескеріңіз." + +#~ msgid "Yahoo! Address:" +#~ msgstr "Yahoo! адресі:" + +#~ msgid "Forward unread messages" +#~ msgstr "Оқылмаған хабарламаларды бағдарлау" + +#~ msgid "All unread messages have been forwarded." +#~ msgstr "Барлық оқылмаған хабарламалар бағдарланды." + +#~ msgid "Forward unread message then disconnect" +#~ msgstr "Оқылмаған хабарламаны бағдарлау мен шығу" + +#~ msgid "MSN Address:" +#~ msgstr "MSN адресі:" + +#~ msgid "Confirm these session options" +#~ msgstr "Бұл сессия опцияларын растау" + +#, fuzzy +#~ msgid "" +#~ "The remote client wants to negotiate a session with these features:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Are these options acceptable?" +#~ msgstr "" +#~ "Қашықтағы контакт сессияны '\n" +#~ " келесі мүмкіндіктермен бастағысы келеді:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Бұл опцияларды қабылдайсыз ба?" + +#~ msgid "" +#~ "The remote client selected these options:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Continue with the session?" +#~ msgstr "" +#~ "Қашықтағы контакт бұл опцияларды таңдаған:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Сессияны жалғастыру керек пе?" + +#, fuzzy +#~ msgid "Always accept for this contact" +#~ msgstr "Бұл контакт үшін OpenPGP қосулы тұр ма?" + +#~ msgid "End to End message encryption" +#~ msgstr "End to End хабарламаларды шифрлеу" + +#~ msgid "Encrypting chat messages." +#~ msgstr "Хабарламаларды шифрлеу." + +#~ msgid "Requires python-crypto." +#~ msgstr "Талап етеді: python-crypto." + +#~ msgid "Session negotiation cancelled" +#~ msgstr "Сессияны бастаудан бас тартылды" + +#~ msgid "This session WILL NOT be archived on server" +#~ msgstr "Сессия тарихы серверде АРХИВТЕЛМЕЙДІ" + +#~ msgid "This session is encrypted" +#~ msgstr "Бұл сессия шифрленген" + +#~ msgid " and WILL be logged" +#~ msgstr " және оның тарихы САҚТАЛАДЫ" + +#~ msgid " and WILL NOT be logged" +#~ msgstr " және оның тарихы САҚТАЛМАЙАДЫ" + +#~ msgid "" +#~ "Remote contact's identity not verified. Click the shield button for more " +#~ "details." +#~ msgstr "" +#~ "Қашықтағы контакттың шындылығы расталмаған. Көбірек білу үшін таңбашаға " +#~ "шертіңіз." + +#, fuzzy +#~ msgid "end-to-end encryption disabled" +#~ msgstr "GPG шифрлеуі сөндірулі" + +#~ msgid "" +#~ "Unable to decrypt message from %s\n" +#~ "It may have been tampered with." +#~ msgstr "" +#~ "%s жіберген хабарламаны декодалау мүмкін емес\n" +#~ "Ол зақымдалған шығар." + +#~ msgid "Unable to decrypt message" +#~ msgstr "Хабарламаны декодалау мүмкін емес" + +#~ msgid "Enable ESessions encryption for this account." +#~ msgstr "Бұл тіркелгі үшін ESessions шифрлеуді іске қосу." + +#~ msgid "Should Gajim automatically start an encrypted session when possible?" +#~ msgstr "Қолжетерлік болса, Gajim шифрленген сессияны бастау керек пе?" + +#~ msgid "" +#~ "[This is part of an encrypted session. If you see this message, something " +#~ "went wrong.]" +#~ msgstr "" +#~ "[Бұл - шифрленген сессияның бір бөлігі. Осы хабарламаны көріп тұрсаңыз, " +#~ "бір нәрсе қате болып тұр.]" + +#~ msgid "Requires python-avahi." +#~ msgstr "python-avahi талап етеді." + +#, fuzzy +#~ msgid "Save Image as…" +#~ msgstr "Суретті қалайша сақтау..." + +#, fuzzy +#~ msgid "Exporting History Logs…" +#~ msgstr "Тарих логтарын экспорттау..." + +#~ msgid "Choose Client Cert #PCKS12" +#~ msgstr "Клиент сертификатын таңдау #PCKS12" + +#~ msgid "When %s becomes:" +#~ msgstr "%s келесідей болғанда:" + +#~ msgid "Adding Special Notification for %s" +#~ msgstr "%s үшін арнайы ескертуді орнату" + +#, fuzzy +#~ msgid "" +#~ "It seems the SSL certificate of account %(account)s has changed and is " +#~ "not valid or your connection is being compromised.\n" +#~ "\n" +#~ "Old SHA-1 fingerprint: %(old_sha1)s\n" +#~ "Old SHA-256 fingerprint: %(old_sha256)s\n" +#~ "\n" +#~ "New SHA-1 fingerprint: %(new_sha1)s\n" +#~ "New SHA-256 fingerprint: %(new_sha256)s\n" +#~ "\n" +#~ "Do you still want to connect and update the fingerprint of the " +#~ "certificate?" +#~ msgstr "" +#~ "%(account)s тіркелгісінің SSL сертификаты өзгерген сияқты не сіздің " +#~ "байланысызды біреу сындырған.\n" +#~ "Ескі баспасы: %(old)s\n" +#~ "Жаңа баспасы: %(new)s\n" +#~ "\n" +#~ "Сонда да байланыс орнату мен сертификат баспасын жаңартуды қалайсыз ба?" + +#, fuzzy +#~ msgid "" +#~ "The authenticity of the %s certificate could be invalid.\n" +#~ "The certificate does not cover this domain." +#~ msgstr "%s сертификатының нақтылығы қате болуы мүмкін." + +#~ msgid "Unable to load idle module" +#~ msgstr "Қолданыстағы емес модульді жүктеу сәтсіз" + +#, fuzzy +#~ msgid "%s or %s is a directory but should be a file" +#~ msgstr "%s бума екен, алайда файл болуы керек еді" + +#~ msgid "creating logs database" +#~ msgstr "логтар дерекқорын жасау" + +#, fuzzy +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "%s қазір %s үшін жіберу" + +#, fuzzy +#~ msgid "Rename account label" +#~ msgstr "Тіркелгі атын ауыстыру" + +#~ msgid "" +#~ "Requires gpg and python-gnupg (http://code.google.com/p/python-gnupg/)." +#~ msgstr "" +#~ "Талап етеді: gpg мен python-gnupg (http://code.google.com/p/python-" +#~ "gnupg/)." + +#, fuzzy +#~ msgid "Send Single Message..." +#~ msgstr "Бі_р хабарламаны жіберу..." + +#, fuzzy +#~ msgid "We received an error: {}" +#~ msgstr "Қате орын алған" + +#~ msgid "E2E encryption disabled" +#~ msgstr "E2E шифрлену сөндірулі" + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Бұл сертификатты сенімділер тізіміне қосу.\n" +#~ "Сертификаттың SHA1 баспасы:\n" +#~ "%s" + +#~ msgid "uri" +#~ msgstr "uri" + +#, fuzzy +#~ msgid "" +#~ "Install /\n" +#~ "Upgrade" +#~ msgstr "Орнатылған" + +#, fuzzy +#~ msgid "Install/Upgrade" +#~ msgstr "Орнатылған" + +#, fuzzy +#~ msgid "Install and Upgrade Plugins" +#~ msgstr "Орнатылған" + +#, fuzzy +#~ msgid "Plugins updates" +#~ msgstr "Плагин сәтсіз" + +#~ msgid "cyan" +#~ msgstr "көгілдір" + +#~ msgid "migrating logs database to indices" +#~ msgstr "тарих дерекқорын индекстарға көшірту" + +#, fuzzy +#~ msgid "Send File..." +#~ msgstr "_Файлды жіберу..." + +#, fuzzy +#~ msgid "HTTP File Upload not supported by your server" +#~ msgstr "Метаконтакттарды сақтау серверіңіз қолдамайды" + +#, fuzzy +#~ msgid "Jingle File Transfer" +#~ msgstr "Файлдармен алмасу" + +#~ msgid "" +#~ "Your configured emoticons theme has not been found, so emoticons have " +#~ "been disabled." +#~ msgstr "" +#~ "Сіз баптаған смайликтер темасы табылмады, сол үшін смайликтер сөндірілген." + +#~ msgid "Shows or hides the roster window" +#~ msgstr "Ростер терезесін көрсетеді не жасырады" + +#~ msgid "Shows or hides the ipython window" +#~ msgstr "ipython терезесін көрсетеді не жасырады" + +#, fuzzy +#~ msgid "XMPP account %s" +#~ msgstr "XMPP тіркелгісі %s@%s" + +#, fuzzy +#~ msgid "Exception" +#~ msgstr "Сипаттамасы" + +#~ msgid "" +#~ "someone@somewhere.com would like you to add some contacts " +#~ "in your roster." +#~ msgstr "" +#~ "someone@somewhere.com сіздің ростеріңізге бірнеше " +#~ "контакттықосқысы келеді." + +#~ msgid "" +#~ "Ordered list (space separated) of connection type to try. Can contain " +#~ "tls, ssl or plain" +#~ msgstr "" +#~ "Көру үшін байланыс түрлерінің реттелген тізімі (арасы бос аралық). " +#~ "Құрамында tls, ssl не plain бола алады" + +#~ msgid "_Actions" +#~ msgstr "Әрек_ет" + +#, fuzzy +#~ msgid "Requires upower and python-dbus." +#~ msgstr "python-dbus талап етеді." + +#~ msgid "You are already in group chat %s" +#~ msgstr "Сіз %s топтық чатына қатысудасыз" + +#~ msgid "Join Group Chat with account %s" +#~ msgstr "%s тіркелгісімен топтық чатқа кіру" + +#~ msgid "" +#~ "You have to choose an account from which you want to join the groupchat." +#~ msgstr "Топ чатына кіруге қолданылатын тіркелгіні көрсетіңіз." + +#, fuzzy +#~ msgid "Please enter the group chat JID as room@server." +#~ msgstr "Jabber ID-ін as бөлме@сервер түрінде көрсетіңіз." + +#, fuzzy +#~ msgid "The group chat JID contains invalid characters." +#~ msgstr "Топ чат Jabber ID ішінде рұқсат етілмеген таңбалар бар." + +#~ msgid "Start Chat with account %s" +#~ msgstr "%s тіркелгісін қолданып чатты бастау" + +#, fuzzy +#~ msgid "" +#~ "Fill in the nickname or the JID of the contact you would like\n" +#~ "to send a chat message to:" +#~ msgstr "" +#~ "Хабарламаны жіберу керек адамның ник атын не Jabber ID-ін\n" +#~ "төмендегі өріске жазыңыз:" + +#, fuzzy +#~ msgid "Nickname / JID" +#~ msgstr "Қате Jabber ID" + +#~ msgid "Unable to parse \"%s\"." +#~ msgstr "\"%s\" өңдеу мүмкін емес." + +#~ msgid "Shows the chat dialog so that you can send messages to a contact" +#~ msgstr "Контактқа хабарлама жібере алатыныңыздай чат сұхбатын көрсетеді" + +#~ msgid "JID of the contact that you want to chat with" +#~ msgstr "Сөйлесуді бастағыңыз келетін контакттың JID-і" + +#~ msgid "message content. The account must be specified or \"\"" +#~ msgstr "хабарлама құрамасы. Тіркелгі көрсетілуі не \"\" болуы керек" + +#~ msgid "Adds contact to roster" +#~ msgstr "Ростерге контактты қосады" + +#~ msgid "jid" +#~ msgstr "jid" + +#~ msgid "Adds new contact to this account" +#~ msgstr "Бұл тіркелгіге жаңа контактты қосады" + +#~ msgid "Opens 'Start Chat' dialog" +#~ msgstr "'Чатты бастау' сұхбат терезесін ашады" + +#~ msgid "Starts chat, using this account" +#~ msgstr "Бұл тіркелгіні пайдаланып чатты бастау" + +#, fuzzy +#~ msgid "Handle a xmpp:/ URI" +#~ msgstr "\"xmpp:/\" түріндегі сілтемені өңдеу" + +#~ msgid "URI to handle" +#~ msgstr "Өнделетін сілтеме" + +#~ msgid "Account in which you want to handle it" +#~ msgstr "Өндеу үшін тіркелгі" + +#~ msgid "Message content" +#~ msgstr "Хабарлама құрамасы" + +#~ msgid "Join a MUC room" +#~ msgstr "Чат бөлмесіне кіру" + +#~ msgid "Nickname to use" +#~ msgstr "Қолданылатын ник" + +#~ msgid "Password to enter the room" +#~ msgstr "Бөлмеге кіру үшін керек пароль" + +#~ msgid "Account from which you want to enter the room" +#~ msgstr "Бөлмеге кіру үшін қолданылатын тіркелгі" + +#, fuzzy +#~ msgid "No URI given" +#~ msgstr "Ешбір uri берілмеген" + +#, fuzzy +#~ msgid "Wrong URI" +#~ msgstr "Қате uri" + +#~ msgid "Nickname:" +#~ msgstr "Ник:" + +#~ msgid "Server:" +#~ msgstr "Сервер:" + +#~ msgid "Join this room _automatically when I connect" +#~ msgstr "Желіге қосылғанда, осы бөлмеге _автокіру" + +#~ msgid "Bro_wse Rooms" +#~ msgstr "Бөлмелерді қара_п шығу" + +#, fuzzy +#~ msgid "Requires libgtkspell and libenchant." +#~ msgstr "Талап етеді: libgtkspell." + +#, fuzzy +#~ msgid "Last MAM id we are syncronized with" +#~ msgstr "Сервердегі логтармен соңғы синхрондау уақыты." + +#, fuzzy +#~ msgid "Network-Watcher" +#~ msgstr "Network-manager" + +#~ msgid "Autodetection of network status." +#~ msgstr "Желі қалып-күйін авто анықтау." + +#, fuzzy +#~ msgid "Requires gnome-network-manager" +#~ msgstr "Талап етеді: gnome-network-manager мен python-dbus." + +#, fuzzy +#~ msgid "Feature not available, see Help->Features" +#~ msgstr "Бұл мүмкіндік Windows-та қолжетерсіз." + +#~ msgid "This contact does not support file transfer." +#~ msgstr "Контакт файлдармен алмасуды қолдамайды." + +#, fuzzy +#~ msgid "You need to know the real JID of the contact to send them a file." +#~ msgstr "Контактқа файлды жіберу үшін сізге оның шын JID-н білу керек." + +#~ msgid "" +#~ "You have to install %s dictionary to use spellchecking, or choose another " +#~ "language by setting the speller_language option." +#~ msgstr "" +#~ "Емлені тексеру үшін сізге %s сөздігін орнату керек, не speller_language " +#~ "опциясы көмегімен басқа тілді таңдаңыз." + +#~ msgid "Hides the buttons in chat windows." +#~ msgstr "Чат терезелерінде батырмаларды жасырады." + +#~ msgid "Change the room's subject (Alt+T)" +#~ msgstr "Бөлме тақырыбын өзгерту (Alt+T)" + +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "Бұл бөлмені бетбелгілерге қосу (Ctrl+B)" + +#~ msgid "Browse the chat history (Ctrl+H)" +#~ msgstr "Чат тарихын қарап шығу (Ctrl+H)" + +#, fuzzy +#~ msgid "Show advanced functions (Alt+D)" +#~ msgstr "Кеңейтілген әрекеттер мәзірін көрсету (Alt+D)" + +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "Бұл контактты ростерге қосу (Ctrl+D)" + +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "Контактты сөйлесуге шақыру (Ctrl+G)" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Контакт профайлын көрсету (Ctrl+I)" + +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Контакт профайлын көрсету (Ctrl+I)" + +#~ msgid "Ma_ke message windows compact" +#~ msgstr "Ха_барламалар терезесін ықшам қылу" + +#~ msgid "Hide all buttons in chat windows" +#~ msgstr "Чат терезесіндегі барлық батырмаларды жасыру" + +#~ msgid "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." +#~ msgstr "" +#~ "Белгіленген болса, Gajim әр контакттан аватарды сұрайды, егер оның соңғы " +#~ "рет аватары болмаса, не кэштегі аватар тым ескі болса." + +#~ msgid "Disk Write Error" +#~ msgstr "Дискке жазу қатесі" + +#~ msgid "Set Custom _Avatar..." +#~ msgstr "Ол үшін а_ватарды орнату" + +#, fuzzy +#~ msgid "SSL certificate validation" +#~ msgstr "SSL сертификатын растау" + +#~ msgid "" +#~ "A library used to validate server certificates to ensure a secure " +#~ "connection." +#~ msgstr "" +#~ "Қауіпсіз байланыстарды орнату үшін сервер сертификатын растауда " +#~ "қолданылатын жинақ." + +#, fuzzy +#~ msgid "Requires python-pyopenssl > 0.12 and pyasn1." +#~ msgstr "Python-pyopenssl талап етеді." + +#, fuzzy +#~ msgid "?CLI:room" +#~ msgstr "бөлме" + +#, fuzzy +#~ msgid "?CLI:nick" +#~ msgstr "ник" + +#, fuzzy +#~ msgid "?CLI:password" +#~ msgstr "пароль" + +#~ msgid "Use D-Bus and Notification-Daemon to show notifications" +#~ msgstr "Хабарламаларды көрсету үшін D-Bus пен Notification-Daemon қолдану" + +#~ msgid "Notification" +#~ msgstr "Ескерту" + +#~ msgid "Passive popups notifying for new events." +#~ msgstr "Жаңа оқиғалар жөнінде қалқымалы хабарламаларды көрсету." + +#~ msgid "" +#~ "Requires python-notify or instead python-dbus in conjunction with " +#~ "notification-daemon." +#~ msgstr "" +#~ "Талап етеді: python-notify не бірге python-dbus пен notification-daemon." + +#~ msgid "Ignore" +#~ msgstr "Елемеу" + +#~ msgid "_Open Gmail Inbox" +#~ msgstr "Gmail е-жәшігін а_шу" + +#~ msgid "Notify on new _GMail email" +#~ msgstr "Жаңа GMail по_штасы туралы хабарлау" + +#~ msgid "" +#~ "If checked, Gajim will show a notification when a new e-mail is received " +#~ "via GMail" +#~ msgstr "" +#~ "Белгіленген болса, жаңа GMail эл. поштасы алынған кезде Gajim қалқымалы " +#~ "хабарламаны көрсетеді" + +#~ msgid "Display _extra email details" +#~ msgstr "_Пошта ақпаратын толығырақ көрсету" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will also include information about the sender of new " +#~ "emails" +#~ msgstr "" +#~ "Белгіленген болса, Gajim жаңа эл. пошталар туралы хабарға жіберуші туралы " +#~ "ақпаратын қосады" + +#~ msgid "GMail Options" +#~ msgstr "GMail опциялары" + +#, fuzzy +#~ msgid "12" +#~ msgstr "1" + +#, fuzzy +#~ msgid "20" +#~ msgstr "2" + +#~ msgid "" +#~ "Specify the command to run when new mail arrives, e.g.: /usr/bin/getmail -" +#~ "q" +#~ msgstr "" +#~ "Жаңа эл. пошта келген кезде жөнелтілетін команданы көрсетіңіз, мыс.: /usr/" +#~ "bin/getmail -q" + +#~ msgid "GMail Email Received" +#~ msgstr "GMail Email алынды" + +#, fuzzy +#~ msgid "New e-mail on %(gmail_mail_address)s" +#~ msgstr "%(gmail_mail_address)s үшін жаңа пошта бар" + +#, fuzzy +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "Сізде %d жаңа поштамен алмасу бар" +#~ msgstr[1] "Сізде %d жаңа поштамен алмасу бар" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "From: %(from_address)s\n" +#~ "Subject: %(subject)s\n" +#~ "%(snippet)s" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "Кімнен: %(from_address)s\n" +#~ "Тақырыбы: %(subject)s\n" +#~ "%(snippet)s" + +#~ msgid "Resour_ce:" +#~ msgstr "Ресур_с:" + +#~ msgid "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" +#~ msgstr "" +#~ "Ресурс - Jabber желісіндегі бір тіркелгіден бірнеше жерден серверге " +#~ "қосулы тұрса, бір JID-ті ажырату үшін серверге жіберілетін жол. Мысалы, " +#~ "сіз бір тіркелгіге бір уақытта 'Үй' мен 'Жұмыс' ресурстарымен қосыла " +#~ "аласыз. Приоритеті жоғарырақ ресурс хабарламаларды алады. (төменнен " +#~ "қараңыз)" + +#~ msgid "Priority will change automatically according to your status." +#~ msgstr "Приоритет сіздің қалып-күйіңізге байланысты автоөзгертіледі." + +#~ msgid "Anonymous authentication" +#~ msgstr "Анонимды аутентификация" + +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "Приоритет - Jabber желісіндегі бір тіркелгіден бірнеше жерден серверге " +#~ "қосулы тұрса, қай клиент хабарламаны алатындығын анықтауда қолданылады; " +#~ "Приоритеті жоғарырақ клиент хабарламаны алады" + +#, fuzzy +#~ msgid "Synchronize contacts" +#~ msgstr "Контакттарды синхрондау" + +#~ msgid "Click to request authorization to all contacts of another account" +#~ msgstr "" +#~ "Басқа тіркелгінің барлық контакттарынан авторизация сұрау үшін шертіңіз" + +#~ msgid "Chan_ge Password" +#~ msgstr "Парольді өз_герту" + +#~ msgid "Administration operations" +#~ msgstr "Әкімшілік әрекеттер" + +#~ msgid "_Client Cert File:" +#~ msgstr "_Клиент сертификат файлы:" + +#~ msgid "Browse..." +#~ msgstr "Қарап шығу..." + +#, fuzzy +#~ msgid "Certificate is e_ncrypted" +#~ msgstr "Сертификат тайдырылған" + +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "" +#~ "Белгіленген болса, Gajim қосылған кезде бұл тіркелгі үшін байланысты " +#~ "автоорнатады" + +#, fuzzy +#~ msgid "Synchronize logs with server" +#~ msgstr "Контакттарды синхрондау" + +#~ msgid "Synch_ronize account status with global status" +#~ msgstr "Тіркелгі күйі_н ортақ күймен тең ұстау" + +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "Белгіленген болса, глобалды қалып-күйіңіздің өзгеруі (ростер терезесі " +#~ "астындағы мәзір) осы тіркелгінің қалып-күйін сәйкес өзгертеді" + +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "Белгіленген болса, Gajim сіздің IP-ден басқа көбірек IP-ді таратады, " +#~ "файлдармен алмасудың істеп кетудің шансы көбірек болады." + +#~ msgid "Proxy" +#~ msgstr "Прокси" + +#~ msgid "" +#~ "Check this so Gajim will ask you before sending your password over an " +#~ "insecure connection." +#~ msgstr "" +#~ "Қауіпсіз емес байланыс арқылы парольді жіберу алдында Gajim сізді сұрау " +#~ "үшін осыны белгілеңіз." + +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "" +#~ "Белгіленген болса, байланыс үзуіне әкелетін күту уақытының бітуін алдын-" +#~ "алу үшін Gajim keep-alive дестелерін жіберіп отырады" + +#~ msgid "Use cust_om hostname/port" +#~ msgstr "Таңдауыңызша _хост аты/порт қолдану" + +#~ msgid "_Hostname: " +#~ msgstr "_Хост аты: " + +#~ msgid "_Port: " +#~ msgstr "_Порт: " + +#~ msgid "Choose _Key..." +#~ msgstr "_Кілтті таңдау..." + +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "" +#~ "Белгіленген болса, Gajim парольді seahorse сияқты GPG агентінен алып " +#~ "отырады" + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#~ msgid "_Edit Personal Information..." +#~ msgstr "Ж_еке ақпаратты түзету..." + +#~ msgid "Personal Information" +#~ msgstr "Жеке ақпарат" + +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "Gajim қо_сылғанда байланыс орнату" + +#~ msgid "Synchroni_ze account status with global status" +#~ msgstr "Тіркел_гі күйін ортақ күймен тең ұстау" + +#~ msgid "Use cust_om port:" +#~ msgstr "Таңдауыңызша _портты қолдану" + +#~ msgid "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." +#~ msgstr "" +#~ "Кіріс хабарламалары үшін бастапқы порт сізге келмесе, басқа портты осында " +#~ "таңдай аласыз.\n" +#~ "Сонымен қатар файрвол баптауларын өзгертсеңіз де болады." + +#~ msgid "OpenPGP is not usable on this computer" +#~ msgstr "OpenPGP бұл компьютерде қолдануға болмайды" + +#~ msgid "To change the account name, you must be disconnected." +#~ msgstr "Тіркелгі атын ауыстыру үшін, сервермен байланысты тоқтату керек" + +#~ msgid "To change the account name, you must read all pending events." +#~ msgstr "Тіркелгі атын ауыстыру алдында оқылмаған оқиғаларды қарап шығыңыз." + +#~ msgid "Account Name Already Used" +#~ msgstr "Тіркелгі осы аты қолданылуда" + +#~ msgid "" +#~ "This name is already used by another of your accounts. Please choose " +#~ "another name." +#~ msgstr "Бұл тіркелгі аты қазір қолданылуда. Басқасын таңдаңыз." + +#~ msgid "Account name cannot be empty." +#~ msgstr "Тіркелгі аты бос болмауы керек" + +#~ msgid "Account name cannot contain spaces." +#~ msgstr "Тіркелгі атында бос орындар болмауы керек." + +#~ msgid "Enter a new name for account %s" +#~ msgstr "%s тіркелгісі үшін жаңа атын енгізіңіз" + +#, fuzzy +#~ msgid "A JID must be in the form \"user@servername\"." +#~ msgstr "Jabber ID келесідей \"user@servername\" түрінде болуы керек." + +#~ msgid "No such account available" +#~ msgstr "Ондай тіркелгі жоқ" + +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "Жеке ақпаратыңызды түзету алдында сізге тіркелгі жасау керек." + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "Байланысты орнатпасаңыз, жеке ақпаратыңызды түзете алмайсыз." + +#~ msgid "Your server can't save your personal information." +#~ msgstr "Серверіңіз сіздің жеке ақпаратыңызды сақтай алмайды." + +#~ msgid "Please rename or remove it before enabling link-local messaging." +#~ msgstr "" +#~ "Link-local хабарламаларды іске қосу алдында оның атын ауыстырыңыз не " +#~ "өшіріңіз." + +#~ msgid "THANKS:" +#~ msgstr "Алғыс сөз:" + +#~ msgid "Could not write to %s. Session Management support will not work" +#~ msgstr "%s ішіне жазу мүмкін емес. Сессияларды басқару енді жұмыс істемейді" + +#~ msgid "Jabber Traffic" +#~ msgstr "Jabber трафигі" + +#~ msgid "_Enable" +#~ msgstr "Іске қ_осу" + +#~ msgid "Hide IN stanzas" +#~ msgstr "IN stanzas жасыру" + +#~ msgid "Hide OUT stanzas" +#~ msgstr "OUT stanzas жасыру" + +#~ msgid "Hide Presence stanzas" +#~ msgstr "Бар болу stanzas жасыру" + +#~ msgid "Hide IQ stanzas" +#~ msgstr "IQ stanzas жасыру" + +#~ msgid "Filter" +#~ msgstr "Сүзгі" + +#~ msgid "_IQ" +#~ msgstr "_IQ" + +#~ msgid "Info/Query" +#~ msgstr "Ақпарат/Сұрау" + +#~ msgid "XML Input" +#~ msgstr "XML енгізу" + +#~ msgid "XML Console for %s" +#~ msgstr "%s үшін XML консолі" + +#, fuzzy +#~ msgid "Idle for:" +#~ msgstr "Белсенді еместік уақыты - %s" + +#, fuzzy +#~ msgid "" +#~ "Request offline status messages from all contacts upon connecting. " +#~ "WARNING: This causes a lot of requests to be sent!" +#~ msgstr "" +#~ "Тіркелгіге байланыс орнатылған кезде барлық желіде емес контакттардан " +#~ "желіде емес күй хабарламасын сұрау. ЕСКЕРТУ: Бұл көп сұранымдардың " +#~ "жіберілуіне әкеп соғады!" + +#~ msgid "Last status: %s" +#~ msgstr "Соңғы қалып-күйі: %s" + +#~ msgid " since %s" +#~ msgstr " %s бастап" + +#~ msgid "since %s" +#~ msgstr "%s бастап" + +#~ msgid "Concede" +#~ msgstr "Орын беру" + +#~ msgid "Forbid" +#~ msgstr "Тыйым салу" + +#~ msgid "Auto" +#~ msgstr "Авто" + +#~ msgid "Method Auto" +#~ msgstr "Автотәсіл" + +#~ msgid "Method Local" +#~ msgstr "Жергілікті тәсіл" + +#~ msgid "Method Manual" +#~ msgstr "Қолмен тәсіл" + +#~ msgid "body" +#~ msgstr "әркім" + +#~ msgid "false" +#~ msgstr "false" + +#~ msgid "stream" +#~ msgstr "stream" + +#~ msgid "concede" +#~ msgstr "concede" + +#~ msgid "forbid" +#~ msgstr "forbid" + +#~ msgid "oppose" +#~ msgstr "oppose" + +#~ msgid "prefer" +#~ msgstr "қалау" + +#~ msgid "otr" +#~ msgstr "otr" + +#~ msgid "save" +#~ msgstr "save" + +#~ msgid "Last time we syncronized with logs from server." +#~ msgstr "Сервердегі логтармен соңғы синхрондау уақыты." + +#~ msgid "Invalid expire value" +#~ msgstr "Аяқталу мерзімі қате" + +#~ msgid "Expire must be a valid positive integer." +#~ msgstr "Аяқталу мерзімі дұрыс бүтін оң сан болуы керек." + +#~ msgid "There is an error with the form" +#~ msgstr "Формамен қате бар" + +#~ msgid "There is an error" +#~ msgstr "Қате орын алған" + +#~ msgid "How many minutes should last lines from previous conversation last." +#~ msgstr "" +#~ "Алдыңғы сөйлесуден қалған соңғы жолдар қанша минут бойы қалуы керек." + +#~ msgid "" +#~ "Your configured emoticons theme cannot been loaded. You maybe need to " +#~ "update the format of emoticons.py file. See http://trac.gajim.org/wiki/" +#~ "Emoticons for more details." +#~ msgstr "" +#~ "Сіз баптаған смайликтер темасын жүктеу мүмкін емес. Мүмкін, сізге " +#~ "emoticons.py файл пішімін жаңарту керек. Көбірек білу үшін http://trac." +#~ "gajim.org/wiki/Emoticons қараңыз." + +#~ msgid "You will be connected to %s without OpenPGP." +#~ msgstr "Сіз %s үшін OpenPGP-сіз байланыс орнатасыз." + +#~ msgid "The following message was NOT encrypted" +#~ msgstr "Келесі хабарлама шифрленген ЕМЕС болған" + +#~ msgid "Toggle Open_PGP Encryption" +#~ msgstr "OpenPGP _шифрлеуін қосу/сөндіру" + +#~ msgid "Toggle End to End Encryption" +#~ msgstr "End to End шифрлеуін қосу/сөндіру" + +#, fuzzy +#~ msgid "OpenPGP encryption enabled" +#~ msgstr "GPG шифрлеу қосулы" + +#, fuzzy +#~ msgid "No OpenPGP key assigned" +#~ msgstr "GPG кілті көрсетілмеген" + +#, fuzzy +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages with OpenPGP." +#~ msgstr "" +#~ "Бұл конттактқа ешбір GPG кілті көрсетілмеген. Сол үшін хабарламаларды GPG " +#~ "көмегімен шифрлей алмайсыз." + +#~ msgid "Session WILL be logged" +#~ msgstr "Сессия тарихы САҚТАЛАДЫ" + +#~ msgid "Session WILL NOT be logged" +#~ msgstr "Сессия тарихы САҚТАЛАМАЙДЫ" + +#~ msgid "is" +#~ msgstr "белсенді" + +#~ msgid "is NOT" +#~ msgstr "белсенді ЕМЕС" + +#~ msgid "will" +#~ msgstr "сақталады" + +#~ msgid "will NOT" +#~ msgstr "сақталМАЙды" + +#~ msgid "The following message was encrypted" +#~ msgstr "Келесі хабарлама шифрленген болған" + +#, fuzzy +#~ msgid "Toggle the OpenPGP encryption" +#~ msgstr "OpenPGP _шифрлеуін қосу/сөндіру" + +#~ msgid "" +#~ "Should Gajim automatically start an encrypted session with this contact " +#~ "when possible?" +#~ msgstr "Қолжетерлік болса, Gajim шифрленген сессияны жасау керек пе?" + +#~ msgid "Neither the remote presence is signed, nor a key was assigned." +#~ msgstr "" +#~ "Қашықтағы бар болу хабарламасында қолтаңба жоқ және кілт көрсетілмеген." + +#~ msgid "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "" +#~ "Контакт кілті (%s) оған Gajim-дағы көрсетілген кілтке сәйкес келмейді." + +#~ msgid "[This message is *encrypted* (See :XEP:`27`]" +#~ msgstr "[Бұл хабарлама *шифрленген* (Қараңыз :XEP:`27`]" + +#~ msgid "" +#~ "Your chat session with %(jid)s is encrypted.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "Сіздің %(jid)s контактымен чат сессиясы шифрленген.\n" +#~ "\n" +#~ "Бұл сессияның Short Authentication String келесі: %(sas)s." + +#~ msgid "You have already verified this contact's identity." +#~ msgstr "Бұл контакт шынайылығын растағансыз." + +#~ msgid "Contact's identity verified" +#~ msgstr "Контакт шынайылығы расталған" + +#~ msgid "" +#~ "To be certain that only the expected person can read your messages " +#~ "or send you messages, you need to verify their identity by clicking the " +#~ "button below." +#~ msgstr "" +#~ "Хабарламаларыңызды тек тиісті адам оқи алатынына толығымен сенімді " +#~ "болу үшін, оның идентификациясын төмендегі батырмаға шерту арқылы " +#~ "растаңыз." + +#~ msgid "Contact's identity NOT verified" +#~ msgstr "Контакт шынайылығы РАСТАЛМАҒАН" + +#, fuzzy +#~ msgid "Verify…" +#~ msgstr "_Салыстыру" + +#~ msgid "Have you verified the contact's identity?" +#~ msgstr "Контакт шынайылығын тексеріп көргенсіз бе?" + +#~ msgid "" +#~ "To prevent talking to an unknown person, you should speak to %(jid)s directly (in person or on the phone) and verify that they see the same " +#~ "Short Authentication String (SAS) as you.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "Белгісіз адаммен сөйлесуге жол бермеу үшін, сізге %(jid)s " +#~ "контактымен тура сөйлесіп (кездесіп не телефон арқылы), екеуіңіз де " +#~ "бірдей Short Authentication String (SAS) көретініңізге көз жеткізу " +#~ "керек.\n" +#~ "\n" +#~ "Бұл сессияның Short Authentication String келесі: %(sas)s." + +#~ msgid "Did you talk to the remote contact and verify the SAS?" +#~ msgstr "Қашықтағы адаммен тура сөйлесіп, SAS-ты растағансыз ба?" + +#~ msgid "" +#~ "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "" +#~ "Контакт кілті (%s) Gajim ішінде көрсетілгенге сәйкес келмейді." + +#, fuzzy +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages." +#~ msgstr "" +#~ "Бұл контактқа ешбір GPG кілті көрсетілмеген. Сол үшін хабарламаларды " +#~ "шифрлей алмайсыз." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP key is assigned to this contact, but you do not trust their " +#~ "key, so message cannot be encrypted. Use your OpenPGP client " +#~ "to trust their key." +#~ msgstr "" +#~ "Бұл контактқа GPG кілті көрсетілген, бірақ сіз ол кілтке сенбейсіз, сол үшін хабарламаларды шифрлеу мүмкін емес. Бұл кілтті растау " +#~ "үшін өзіңіздің GPG клиентін қолданыңыз." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP Key is assigned to this contact, and you trust their key, so " +#~ "messages will be encrypted." +#~ msgstr "" +#~ "Бұл контактқа GPG кілті көрсетілген, және сіз ол кілтке сенесіз, сол үшін " +#~ "хабарламалар шифрленеді." + +#~ msgid "" +#~ "This icon indicates that this message has not yet\n" +#~ "been received by the remote end. If this icon stays\n" +#~ "for a long time, it's likely the message got lost." +#~ msgstr "" +#~ "Бұл таңбаша осы хабарламаны қашықтағы\n" +#~ "жақ алмағанын көрсетеді. Бұл таңбаша ұзақ\n" +#~ "уақыт бойы тұрса, хабарлама жоғалған сияқты." + +#~ msgid "" +#~ "If True, listen to D-Bus signals from NetworkManager and change the " +#~ "status of accounts (provided they do not have listen_to_network_manager " +#~ "set to False and they sync with global status) based upon the status of " +#~ "the network connection." +#~ msgstr "" +#~ "Белсенді болса, NetworkManager жіберген D-Bus сигналдарын тыңдау мен " +#~ "тіркелгілердің қалып-күйлерін желілік байланыс күйіне сәйкес орнату (тек " +#~ "оларда listen_to_network_manager сөндірілмеген және олар глобалды қалып-" +#~ "күймен сихрондалса)." + +#~ msgid "" +#~ "The database file (%s) cannot be read. Try to repair it or remove it (all " +#~ "history will be lost)." +#~ msgstr "" +#~ "Дерекқор файлын (%s) оқу мүмкін емес. Оны қалпына келтіріп көріңіз не " +#~ "өшіріңіз (бар тарих жоғалады)." + +#~ msgid "Database cannot be read." +#~ msgstr "Дерекқорды оқу мүмкін емес." + +#~ msgid "A message from a non-valid JID arrived, it has been ignored." +#~ msgstr "Қате JID жіберген хабарлама алынды, оны елемейміз." + +#~ msgid "Smooth scroll message in conversation window" +#~ msgstr "Сөйлесу терезесінде хабарламаны жай айналдыру" + +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "_Жекелік тізімдерін түзету..." + +#~ msgid "_Administrator" +#~ msgstr "Ә_кімші" + +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "" +#~ "Бұл серверге қазір қосулы тұрған барлық пайдаланушыларға хабарлама " +#~ "жібереді" + +#~ msgid "Sets Message of the Day" +#~ msgstr "Осы күннің хабарламасын орнатады" + +#~ msgid "Updates Message of the Day" +#~ msgstr "Осы күннің хабарламасын жаңартады" + +#~ msgid "Deletes Message of the Day" +#~ msgstr "Осы күннің хабарламасын өшіреді" + +#~ msgid "Add _Contact..." +#~ msgstr "_Контакт қосу..." + +#~ msgid "Profile, A_vatar" +#~ msgstr "Профайл, а_ватар" + +#~ msgid "P_lugins" +#~ msgstr "П_лагиндер" + +#~ msgid "File _Transfers" +#~ msgstr "Фа_йлдармен алмасу" + +#~ msgid "Help online" +#~ msgstr "Интернеттен көмекті қарау" + +#~ msgid "Frequently Asked Questions (online)" +#~ msgstr "Жиі қойылатын сұрақтар (интернеттен қарау)" + +#~ msgid "Fea_tures" +#~ msgstr "Мүмкіндік_тері" + +#~ msgid "to %s account" +#~ msgstr "%s тіркелгісіне" + +#~ msgid "using %s account" +#~ msgstr "%s тіркелгісін қолданып" + +#~ msgid "of account %s" +#~ msgstr "%s тіркелгісі үшін" + +#~ msgid "for account %s" +#~ msgstr "%s тіркелгісі үшін" + +#~ msgid "" +#~ "By removing this contact you also remove authorization resulting in him " +#~ "or her always seeing you as offline." +#~ msgstr "" +#~ "Контактты өшірумен қатар сіз оларға берген авторизацияны да өшіресіз, ол " +#~ "енді сізді әрқашан желіде емес сияқты көреді." + +#~ msgid "Message Body xmpp.org/getting-started" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:646 +#, fuzzy +msgid "_Please choose a server" +msgstr "Kurti naują pranešimą" + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "" + +#: gajim/data/gui/application_menu.ui:8 +#, fuzzy +msgid "_Start / Join Chat…" +msgstr "Start Chat" + +#: gajim/data/gui/application_menu.ui:13 +#, fuzzy +msgid "Create _Group Chat…" +msgstr "Leave Groupchats" + +#: gajim/data/gui/application_menu.ui:18 +#, fuzzy +msgid "_History Manager" +msgstr "History Manager" + +#: gajim/data/gui/application_menu.ui:22 +#, fuzzy +msgid "Pl_ugins" +msgstr "Registracija nesėkminga" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +#, fuzzy +msgid "_Preferences" +msgstr "Parinktys" + +#: gajim/data/gui/application_menu.ui:36 +#, fuzzy +msgid "_Accounts" +msgstr "Prieiga" + +#: gajim/data/gui/application_menu.ui:39 +#, fuzzy +msgid "_View" +msgstr "_Rodinys" + +#: gajim/data/gui/application_menu.ui:46 +#, fuzzy +msgid "Show _Offline Contacts" +msgstr "Rodyti _Atsijungusius Asmenis" + +#: gajim/data/gui/application_menu.ui:50 +#, fuzzy +msgid "Show _Active Contacts" +msgstr "Rodyti Tik _Aktyvius Kontaktus" + +#: gajim/data/gui/application_menu.ui:54 +#, fuzzy +msgid "Show _Transports" +msgstr "Rodyti _Pernašas" + +#: gajim/data/gui/application_menu.ui:60 +#, fuzzy +msgid "_XML Console" +msgstr "XML Console" + +#: gajim/data/gui/application_menu.ui:64 +#, fuzzy +msgid "_File Transfer" +msgstr "Failų siuntimai" + +#: gajim/data/gui/application_menu.ui:74 +#, fuzzy +msgid "_Help" +msgstr "_Pagalba" + +#: gajim/data/gui/application_menu.ui:77 +#, fuzzy +msgid "_Wiki (Online)" +msgstr "Online" + +#: gajim/data/gui/application_menu.ui:81 +#, fuzzy +msgid "FA_Q (Online)" +msgstr "Online" + +#: gajim/data/gui/application_menu.ui:85 +msgid "_Keyboard Shortcuts" +msgstr "" + +#: gajim/data/gui/application_menu.ui:89 +#, fuzzy +msgid "_Features" +msgstr "Savybės" + +#: gajim/data/gui/application_menu.ui:93 +#, fuzzy +msgid "_About" +msgstr "Apie" + +#: gajim/data/gui/filetransfer_progress.ui:125 +msgid "Speed" +msgstr "" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +#, fuzzy +msgid "OK" +msgstr "_OK" + +#: gajim/data/gui/plugins_window.ui:55 +msgid "Install Plugin from ZIP-File" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:56 +msgid "Install from File…" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:70 +msgid "Uninstall Plugin" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:116 +#, fuzzy +msgid "" +msgstr "Registracija nesėkminga" + +#: gajim/data/gui/plugins_window.ui:133 +#, fuzzy +msgid "Plugin Settings" +msgstr "Registracija nesėkminga" + +#: gajim/data/gui/plugins_window.ui:215 +#, fuzzy +msgid "" +msgstr "Description" + +#: gajim/data/gui/plugins_window.ui:239 +#, fuzzy +msgid "Version" +msgstr "GTK+ Version:" + +#: gajim/data/gui/plugins_window.ui:271 +#, fuzzy +msgid "Authors" +msgstr "Au_torizuoti" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +#, fuzzy +msgid "Homepage" +msgstr "Asmeninė svetainė:" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:349 +msgid "Installed" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:363 +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +msgid "Synchronise contacts" +msgstr "Sinchronizuoti kontaktus" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +#, fuzzy +msgid "_Name" +msgstr "_Pavadinimas:" + +#: gajim/data/gui/groupchat_creation.ui:122 +#, fuzzy +msgid "_Description" +msgstr "Description" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +#, fuzzy +msgid "_Address" +msgstr "_Adresas:" + +#: gajim/data/gui/groupchat_creation.ui:278 +#, fuzzy +msgid "_Account" +msgstr "_Prieigos" + +#: gajim/data/gui/profile.ui:33 +#, fuzzy +msgid "Contact Infos" +msgstr "Asmens Informacija" + +#: gajim/data/gui/profile.ui:45 +msgid "Picture and Name" +msgstr "" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "" + +#: gajim/data/gui/profile.ui:198 +msgid "Change your profile picture" +msgstr "" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:298 +#, fuzzy +msgid "Add Entry" +msgstr "Įrašas:" + +#: gajim/data/gui/profile.ui:410 +#, fuzzy +msgid "Update" +msgstr "Atnaujinti MOTD..." + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:15 +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:65 +#, fuzzy +msgid "Add Proxy" +msgstr "Proksis:" + +#: gajim/data/gui/manage_proxies.ui:79 +#, fuzzy +msgid "Remove Proxy" +msgstr "_Trinti" + +#: gajim/data/gui/manage_proxies.ui:131 +#, fuzzy +msgid "Pass_word" +msgstr "_Slaptažodis:" + +#: gajim/data/gui/manage_proxies.ui:156 +msgid "Use proxy auth_entication" +msgstr "Naudoti proksi _autentikaciją" + +#: gajim/data/gui/manage_proxies.ui:176 +#, fuzzy +msgid "_Username" +msgstr "_Naudotojo vardas:" + +#: gajim/data/gui/manage_proxies.ui:237 +#, fuzzy +msgid "_Host" +msgstr "_Hostas:" + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "Vietinis jid:" + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "Šaltinis:" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "Būklė:" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +#, fuzzy +msgid "_Store conversation history" +msgstr "_Registruoti pokalbio istoriją" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +msgid "Contact" +msgstr "Asmuo" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +msgid "First Name:" +msgstr "Vardas:" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +msgid "Last Name:" +msgstr "Pavardė:" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +#, fuzzy +msgid "XMPP Address:" +msgstr "AIM Address:" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "El. paštas:" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +msgid "Personal" +msgstr "Asmeninis" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "_Būklė" + +#: gajim/data/gui/account_context_menu.ui:20 +msgid "_Personal Events" +msgstr "_Asmeniniai Įvykiai" + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "_Įtraukti asmenį..." + +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "_Ieškoti Paslaugų" + +#: gajim/data/gui/account_context_menu.ui:57 +msgid "_Execute Command..." +msgstr "_Vykdyti komandą..." + +#: gajim/data/gui/account_context_menu.ui:65 +#, fuzzy +msgid "_View Server Info" +msgstr "Server" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:125 +#, fuzzy +msgid "Global Group Chat Search" +msgstr "Prisijungti prie pokalbio grupėje" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +#, fuzzy +msgid "_Back" +msgstr "Back soon" + +#: gajim/data/gui/start_chat_dialog.ui:386 +#, fuzzy +msgid "Select Account" +msgstr "Gajim account %s" + +#: gajim/data/gui/start_chat_dialog.ui:477 +msgid "_Select" +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +#, fuzzy +msgid "Configure" +msgstr "_Konfigūruoti" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +msgid "Create new post" +msgstr "Kurti naują pranešimą" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "_Būklė" + +#: gajim/data/gui/systray_context_menu.ui:20 +msgid "_Start Chat..." +msgstr "_Pradėti pokalbį..." + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "Siųsti ži_nutę..." + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "Rodyti Visus Laukiančius Į_vykius" + +#: gajim/data/gui/systray_context_menu.ui:52 +msgid "Mute Sounds" +msgstr "Išjungti Garsus" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +#, fuzzy +msgid "Contact List" +msgstr "Asmuo" + +#: gajim/data/gui/shortcuts_window.ui:24 +#, fuzzy +msgid "Create new group chat" +msgstr "Leave Groupchats" + +#: gajim/data/gui/shortcuts_window.ui:45 +#, fuzzy +msgid "File transfers" +msgstr "Failų siuntimai" + +#: gajim/data/gui/shortcuts_window.ui:52 +#, fuzzy +msgid "Set the status message" +msgstr "status message" + +#: gajim/data/gui/shortcuts_window.ui:59 +#, fuzzy +msgid "Show XML console" +msgstr "Rodyti _XML konsolę" + +#: gajim/data/gui/shortcuts_window.ui:74 +#, fuzzy +msgid "Appearance" +msgstr "Pokalbio Išvaizda" + +#: gajim/data/gui/shortcuts_window.ui:79 +#, fuzzy +msgid "Show offline contacts" +msgstr "Rodyti _Atsijungusius Asmenis" + +#: gajim/data/gui/shortcuts_window.ui:86 +#, fuzzy +msgid "Show only active contacts" +msgstr "Rodyti Tik _Aktyvius Kontaktus" + +#: gajim/data/gui/shortcuts_window.ui:93 +msgid "Enable contact list filtering" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:100 +#, fuzzy +msgid "Show / hide contact list" +msgstr "Rodyti Tik _Aktyvius Kontaktus" + +#: gajim/data/gui/shortcuts_window.ui:113 +#, fuzzy +msgid "Contact information" +msgstr "Asmens Informacija" + +#: gajim/data/gui/shortcuts_window.ui:120 +#, fuzzy +msgid "Rename contact" +msgstr "Pervadinti Prieigą" + +#: gajim/data/gui/shortcuts_window.ui:127 +#, fuzzy +msgid "Delete contact" +msgstr "Siųsti kontaktus:" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +msgid "Chat" +msgstr "Pokalbis" + +#: gajim/data/gui/shortcuts_window.ui:142 +#, fuzzy +msgid "Message composition" +msgstr "message contents" + +#: gajim/data/gui/shortcuts_window.ui:147 +#, fuzzy +msgid "Send the message" +msgstr "Siųsti žinutę" + +#: gajim/data/gui/shortcuts_window.ui:154 +#, fuzzy +msgid "Add new line" +msgstr "Kurti naują pranešimą" + +#: gajim/data/gui/shortcuts_window.ui:161 +msgid "Select an emoji" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:168 +#, fuzzy +msgid "Complete a command or a nickname" +msgstr "Kurti naują pranešimą" + +#: gajim/data/gui/shortcuts_window.ui:175 +#, fuzzy +msgid "Previously sent message" +msgstr "Nustatytos žinutės:" + +#: gajim/data/gui/shortcuts_window.ui:182 +#, fuzzy +msgid "Next sent messages" +msgstr "Nustatytos žinutės:" + +#: gajim/data/gui/shortcuts_window.ui:189 +#, fuzzy +msgid "Quote previous message" +msgstr "status message" + +#: gajim/data/gui/shortcuts_window.ui:196 +#, fuzzy +msgid "Quote next message" +msgstr "Siųsti žinutę" + +#: gajim/data/gui/shortcuts_window.ui:203 +#, fuzzy +msgid "Clear message entry" +msgstr "Message Sent" + +#: gajim/data/gui/shortcuts_window.ui:211 +#, fuzzy +msgid "Recent history" +msgstr "Nesenai:" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:230 +#, fuzzy +msgid "Clear chat window" +msgstr "Usage: /%s, clears the text window." + +#: gajim/data/gui/shortcuts_window.ui:237 +#, fuzzy +msgid "Show chat history" +msgstr "Nesenai:" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:299 +msgid "Close chat" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:312 +#, fuzzy +msgid "Change Nickname" +msgstr "Keisti _Slapyvardį..." + +#: gajim/data/gui/chat_control.ui:48 +#, fuzzy +msgid "Drop files or contacts" +msgstr "Sends file to a contact" + +#: gajim/data/gui/chat_control.ui:80 +#, fuzzy +msgid "1" +msgstr "Šriftas" + +#: gajim/data/gui/chat_control.ui:101 +#, fuzzy +msgid "2 abc" +msgstr "Šriftas" + +#: gajim/data/gui/chat_control.ui:121 +#, fuzzy +msgid "3 def" +msgstr "Šriftas" + +#: gajim/data/gui/chat_control.ui:141 +#, fuzzy +msgid "4 ghi" +msgstr "Šriftas" + +#: gajim/data/gui/chat_control.ui:161 +#, fuzzy +msgid "5 jkl" +msgstr "Šriftas" + +#: gajim/data/gui/chat_control.ui:181 +#, fuzzy +msgid "6 mno" +msgstr "Šriftas" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "" + +#: gajim/data/gui/chat_control.ui:221 +#, fuzzy +msgid "8 tuv" +msgstr "Šriftas" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "" + +#: gajim/data/gui/chat_control.ui:261 +#, fuzzy +msgid "*" +msgstr "Šriftas" + +#: gajim/data/gui/chat_control.ui:281 +#, fuzzy +msgid "0" +msgstr "Šriftas" + +#: gajim/data/gui/chat_control.ui:301 +#, fuzzy +msgid "#" +msgstr "Šriftas" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "Pradėti _Pokalbį" + +#: gajim/data/gui/contact_context_menu.ui:28 +msgid "Send _File..." +msgstr "Siųsti _Failą..." + +#: gajim/data/gui/contact_context_menu.ui:44 +msgid "Invite _Contacts" +msgstr "Kviesti Kontaktus" + +#: gajim/data/gui/contact_context_menu.ui:58 +msgid "E_xecute Command..." +msgstr "_Vykdyti Komandą..." + +#: gajim/data/gui/contact_context_menu.ui:67 +#, fuzzy +msgid "M_anage Contact" +msgstr "_Valdyti Kontaktus" + +#: gajim/data/gui/contact_context_menu.ui:77 +msgid "_Rename..." +msgstr "_Pervadinti..." + +#: gajim/data/gui/contact_context_menu.ui:84 +msgid "Edit _Groups..." +msgstr "Keisti _Grupes..." + +#: gajim/data/gui/contact_context_menu.ui:92 +msgid "Add Special _Notification..." +msgstr "Įtraukti Specialų Pranešimą..." + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "_Sutikimas" + +#: gajim/data/gui/contact_context_menu.ui:115 +#, fuzzy +msgid "_Allow contact to see my status" +msgstr "Leisti šiam asmeniui matyti mano būklę" + +#: gajim/data/gui/contact_context_menu.ui:123 +#, fuzzy +msgid "A_sk to see contact status" +msgstr "Siųsti užklausimą, kad galėtumėte matyti jo/jos būklę" + +#: gajim/data/gui/contact_context_menu.ui:131 +#, fuzzy +msgid "_Forbid contact to see my status" +msgstr "_Drausti jam/jai matyti mano būklę" + +#: gajim/data/gui/contact_context_menu.ui:159 +msgid "_Unignore" +msgstr "_Nebeignoruoti" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:174 +#, fuzzy +msgid "_Add to Contact List..." +msgstr "_Įtraukti asmenį..." + +#: gajim/data/gui/single_message_window.ui:42 +#, fuzzy +msgid "_To" +msgstr "Kam" + +#: gajim/data/gui/single_message_window.ui:71 +#, fuzzy +msgid "Su_bject" +msgstr "Tema" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "" + +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "Ži_nutė" + +#: gajim/data/gui/single_message_window.ui:144 +msgid "Characters typed: 0" +msgstr "" + +#: gajim/data/gui/single_message_window.ui:189 +#, fuzzy +msgid "_From" +msgstr "Nuo" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "_Siųsti" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "Siųsti žinutę" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "_Atsakyti" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "Atsakyti šiai žinutei" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "_Išsiųsti " + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "Išsiųsti žinutę ir uždaryti langą" + +#: gajim/data/gui/vcard_information_window.ui:106 +#, fuzzy +msgid "Client" +msgstr "Klientas:" + +#: gajim/data/gui/vcard_information_window.ui:140 +#, fuzzy +msgid "Contact time" +msgstr "Contact name" + +#: gajim/data/gui/vcard_information_window.ui:240 +#, fuzzy +msgid "User avatar" +msgstr "Atvaizdas:" + +#: gajim/data/gui/vcard_information_window.ui:255 +#, fuzzy +msgid "Configured avatar" +msgstr "Nustatytas atvaizdas:" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +#, fuzzy +msgid "Ask" +msgstr "Klausti:" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +#, fuzzy +msgid "Subscription" +msgstr "Sutikimas:" + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +#, fuzzy +msgid "Extra Address" +msgstr "Papildomas adresas:" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +msgid "Address" +msgstr "Adresas" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +#, fuzzy +msgid "E-Mail" +msgstr "El. paštas:" + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "Formatas: YYYY-MM-DD" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +#, fuzzy +msgid "Family" +msgstr "Pavardė:" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +#, fuzzy +msgid "Middle" +msgstr "Antras vardas:" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +#, fuzzy +msgid "Prefix" +msgstr "Kreipinys:" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +#, fuzzy +msgid "Given" +msgstr "Vardas:" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +#, fuzzy +msgid "Suffix" +msgstr "Vardo sufiksas:" + +#: gajim/data/gui/vcard_information_window.ui:958 +#, fuzzy +msgid "Name Details" +msgstr "Vardas:" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "" + +#: gajim/data/gui/vcard_information_window.ui:1017 +msgid "Personal Info" +msgstr "Asmeninė Informacija" + +#: gajim/data/gui/vcard_information_window.ui:1040 +#, fuzzy +msgid "Company" +msgstr "Kompanija:" + +#: gajim/data/gui/vcard_information_window.ui:1073 +#, fuzzy +msgid "Department" +msgstr "Skyrius:" + +#: gajim/data/gui/vcard_information_window.ui:1104 +#, fuzzy +msgid "Position" +msgstr "Condition" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "Role" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "Apie" + +#: gajim/data/gui/vcard_information_window.ui:1514 +msgid "Comments" +msgstr "Komentarai" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "Keisti grupę" + +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "Slapta frazė" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +#, fuzzy +msgid "Themes" +msgstr "Theme" + +#: gajim/data/gui/themes_window.ui:171 +#, fuzzy +msgid "Add Setting" +msgstr "Registracija nesėkminga" + +#: gajim/data/gui/themes_window.ui:204 +#, fuzzy +msgid "Add new Theme" +msgstr "Kurti naują pranešimą" + +#: gajim/data/gui/themes_window.ui:219 +#, fuzzy +msgid "Remove Theme" +msgstr "Active" + +#: gajim/data/gui/bookmarks.ui:120 +#, fuzzy +msgid "Autojoin" +msgstr "Automatinis prsijungimas" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "" + +#: gajim/data/gui/preferences.ui:68 +#, fuzzy +msgid "Contact List Appearance" +msgstr "Contact Disconnected" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +msgid "Chats" +msgstr "Chats" + +#: gajim/data/gui/preferences.ui:215 +#, fuzzy +msgid "Visual Notifications" +msgstr "Vizualinis informavimas" + +#: gajim/data/gui/preferences.ui:243 +#, fuzzy +msgid "Sounds" +msgstr "Wav Sounds" + +#: gajim/data/gui/preferences.ui:303 +#, fuzzy +msgid "Ask For Status Message on…" +msgstr "Prašyti įvesti būklės žinutę, kai aš:" + +#: gajim/data/gui/preferences.ui:331 +#, fuzzy +msgid "Automatic Status Change" +msgstr "_Nustatyti būklei" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "" + +#: gajim/data/gui/preferences.ui:447 +#, fuzzy +msgid "Status Icon" +msgstr "Būklės _piktogramų rinkinys:" + +#: gajim/data/gui/preferences.ui:472 +msgid "Style" +msgstr "Stilius" + +#: gajim/data/gui/preferences.ui:511 +#, fuzzy +msgid "Show _Features" +msgstr "Savybės" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:632 +msgid "Audio" +msgstr "" + +#: gajim/data/gui/preferences.ui:660 +msgid "Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:698 +msgid "Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:735 +#, fuzzy +msgid "Miscellaneous" +msgstr "Įvairūs" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:821 +#, fuzzy +msgid "Advanced Configuration Editor… " +msgstr "Išplėstinis konfigūracijos redaktorius" + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "" + +#: gajim/data/gui/server_info.ui:50 +#, fuzzy +msgid "Server Software" +msgstr "Serverio teikiamos paslaugos" + +#: gajim/data/gui/server_info.ui:80 +#, fuzzy +msgid "Server Uptime" +msgstr "Serveris atsakė: %s" + +#: gajim/data/gui/server_info.ui:109 +#, fuzzy +msgid "Contact Addresses" +msgstr "Būklės pranešimas:" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "" + +#: gajim/data/gui/server_info.ui:177 +#, fuzzy +msgid "Proxy Type" +msgstr "Proksis:" + +#: gajim/data/gui/server_info.ui:192 +#, fuzzy +msgid "No proxy used" +msgstr "Proksis:" + +#: gajim/data/gui/server_info.ui:202 +#, fuzzy +msgid "View _Certificate" +msgstr "Blogas CA sertifikatas" + +#: gajim/data/gui/server_info.ui:222 +#, fuzzy +msgid "Proxy Host" +msgstr "Proksi _Serveris:" + +#: gajim/data/gui/server_info.ui:421 +#, fuzzy +msgid "Copy info to clipboard" +msgstr "_Kopijuoti nuorodos adresą" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:153 +#, fuzzy +msgid "Serial Number" +msgstr "GG Number:" + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:304 +msgid "Expires on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:465 +#, fuzzy +msgid "Copy Certificate Information" +msgstr "Asmens Informacija" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +#, fuzzy +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "Pažymėkite kontaktus kuriuos norėsite sinchronizuoti" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +#, fuzzy +msgid "Please select a group chat server." +msgstr "This is not a group chat" + +#: gajim/data/gui/chat_to_muc_window.ui:141 +#, fuzzy +msgid "Group chat server" +msgstr "Groupchats" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +msgid "In_vite" +msgstr "Pak_viesti" + +#: gajim/data/gui/mam_preferences.ui:53 +#, fuzzy +msgid "_Default" +msgstr "Default" + +#: gajim/data/gui/mam_preferences.ui:136 +#, fuzzy +msgid "Archive" +msgstr "Choose Image" + +#: gajim/data/gui/history_manager.ui:11 +#, fuzzy +msgid "_Export" +msgstr "Eksportuoti" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +msgid "Gajim History Logs Manager" +msgstr "Gajim Istorijos Žurnalų Valdymas" + +#: gajim/data/gui/history_manager.ui:104 +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" + +#: gajim/data/gui/history_manager.ui:120 +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" +"ĮSPĖJIMAS:\n" +"Jei planuojate daryti masinius trynimus, įsitikinkite, kad Gajim yra " +"išjungtas. Stenkitės netrinti kontaktų su kuriais dabar bendraujate." + +#: gajim/data/gui/history_manager.ui:211 +#, fuzzy +msgid "Search database..." +msgstr "_Paieška duomenų bazėje" + +#: gajim/data/gui/history_manager.ui:226 +#, fuzzy +msgid "Search in database" +msgstr "_Paieška duomenų bazėje" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" + +#: gajim/data/gui/groupchat_invite.ui:69 +#, fuzzy +msgid "Invitees" +msgstr "Pak_viesti" + +#: gajim/data/gui/groupchat_invite.ui:153 +#, fuzzy +msgid "Search contacts..." +msgstr "_Paieška duomenų bazėje" + +#: gajim/data/gui/groupchat_invite.ui:223 +msgid "Click on contacts you would like to invite to this group chat." +msgstr "" + +#: gajim/data/gui/service_discovery_window.ui:148 +#, fuzzy +msgid "Go" +msgstr "_Eik" + +#: gajim/data/gui/status_change_window.ui:27 +#, fuzzy +msgid "Change Status" +msgstr "Change status" + +#: gajim/data/gui/status_change_window.ui:56 +#, fuzzy +msgid "Status Presets…" +msgstr "Status Message" + +#: gajim/data/gui/status_change_window.ui:72 +msgid "Save this message as a preset" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:130 +#, fuzzy +msgid "Ac_tivity" +msgstr "Active" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:278 +#, fuzzy +msgid "_Change Status" +msgstr "Change status" + +#: gajim/data/gui/status_change_window.ui:313 +#, fuzzy +msgid "Activity" +msgstr "Aktyvumas:" + +#: gajim/data/gui/status_change_window.ui:326 +#, fuzzy +msgid "_No Activity" +msgstr "Aktyvumas:" + +#: gajim/data/gui/status_change_window.ui:729 +#, fuzzy +msgid "Mood" +msgstr "Nuotaika:" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +#, fuzzy +msgid "Author" +msgstr "Au_torizuoti" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +#, fuzzy +msgid "Group Chat Language" +msgstr "Groupchat Invitation" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +#, fuzzy +msgid "Copy Address" +msgstr "_Kopijuoti JID/El. pašto adresą" + +#: gajim/data/gui/emoji_chooser.ui:98 +msgid "No Results Found" +msgstr "" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr "XML Console" + +#: gajim/data/gui/xml_console.ui:131 +#, fuzzy +msgid "Start Search..." +msgstr "_Pradėti pokalbį..." + +#: gajim/data/gui/xml_console.ui:260 +msgid "Clear" +msgstr "" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "" + +#: gajim/data/gui/xml_console.ui:316 +#, fuzzy +msgid "Presets" +msgstr "_Buvimas" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "Sinchronizuoti : pažymėkite kontaktus" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +msgid "Select the contacts you want to synchronise" +msgstr "Pažymėkite kontaktus kuriuos norėsite sinchronizuoti" + +#: gajim/data/gui/groupchat_config.ui:51 +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:309 +#, fuzzy +msgid "Reserved Name" +msgstr "Preference Name" + +#: gajim/data/gui/groupchat_config.ui:346 +#, fuzzy +msgid "Affiliation" +msgstr "Affiliation:" + +#: gajim/data/gui/groupchat_config.ui:377 +#, fuzzy +msgid "Affiliations" +msgstr "Affiliation:" + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "Reason" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "Ban List" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "_Drausti" + +#: gajim/data/gui/subscription_request_window.ui:34 +#, fuzzy +msgid "_Block User" +msgstr "_Grupė:" + +#: gajim/data/gui/subscription_request_window.ui:49 +msgid "_Report as Spam" +msgstr "" + +#: gajim/data/gui/subscription_request_window.ui:212 +#, fuzzy +msgid "_Deny…" +msgstr "_Drausti" + +#: gajim/data/gui/subscription_request_window.ui:225 +#, fuzzy +msgid "Ac_cept" +msgstr "Priimti" + +#: gajim/data/gui/subscription_request_window.ui:230 +#, fuzzy +msgid "Allows the contact to see your online status" +msgstr "Leisti šiam asmeniui matyti mano būklę" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:115 +msgid "_Report Bug" +msgstr "" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "Event" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "Choose Sound" + +#: gajim/data/gui/manage_sounds.ui:97 +#, fuzzy +msgid "Clear Sound" +msgstr "Choose Sound" + +#: gajim/data/gui/manage_sounds.ui:118 +#, fuzzy +msgid "Play Sound" +msgstr "Groti _garsus" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +#, fuzzy +msgid "_Send Files" +msgstr "Siųsti _Failą" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +#, fuzzy +msgid "Send" +msgstr "_Siųsti" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +#, fuzzy +msgid "Files to send" +msgstr "Choose File to Send..." + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +#, fuzzy +msgid "Add Files" +msgstr "File: " + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +#, fuzzy +msgid "Remove Files" +msgstr "_Trinti" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +#, fuzzy +msgid "Idle since:" +msgstr " since %s" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +msgid "Mood:" +msgstr "Nuotaika:" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +msgid "Activity:" +msgstr "Aktyvumas:" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +#, fuzzy +msgid "Tune:" +msgstr "Type: %s" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +#, fuzzy +msgid "Location:" +msgstr "Padėtis:" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +msgid "Subscription:" +msgstr "Sutikimas:" + +#: gajim/data/gui/advanced_configuration.ui:15 +#, fuzzy +msgid "A restart may be required for some settings to take effect" +msgstr "" +"PASTABA: Kad įsigaliotų tam tikri nustatymai turite perkrauti Gajim" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "" + +#: gajim/data/gui/advanced_configuration.ui:120 +#, fuzzy +msgid "_Reset Value" +msgstr "_Grąžinti buvusias spalvas pagal nutylėjimą" + +#: gajim/data/gui/advanced_configuration.ui:125 +#, fuzzy +msgid "Resets value to default" +msgstr "_Grąžinti buvusias spalvas pagal nutylėjimą" + +#: gajim/data/gui/history_window.ui:27 +#, fuzzy +msgid "Display status changes" +msgstr "_Registruoti asmenų būklės pakitimus" + +#: gajim/data/gui/history_window.ui:57 +msgid "History Manager" +msgstr "History Manager" + +#: gajim/data/gui/history_window.ui:233 +#, fuzzy +msgid "Mode" +msgstr "Moderator" + +#: gajim/data/gui/history_window.ui:246 +#, fuzzy +msgid "Search complete history" +msgstr "Nesenai:" + +#: gajim/data/gui/history_window.ui:263 +msgid "Search selected day only" +msgstr "" + +#: gajim/data/gui/history_window.ui:317 +msgid "Store history for this chat" +msgstr "" + +#: gajim/data/gui/history_window.ui:332 +#, fuzzy +msgid "Store History" +msgstr "Nesenai:" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +#, fuzzy +msgid "Identified Error" +msgstr "Blogas CA sertifikatas" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +#, fuzzy +msgid "" +msgstr "Avahi error" + +#: gajim/data/gui/ssl_error_dialog.ui:74 +msgid "Add this certificate to the list of _trusted certificates" +msgstr "" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +#, fuzzy +msgid "_View Certificate" +msgstr "Blogas CA sertifikatas" + +#: gajim/data/gui/ssl_error_dialog.ui:120 +#, fuzzy +msgid "_Connect" +msgstr "Prisijungta" + +#: data/org.gajim.Gajim.desktop.in:5 +#, fuzzy +msgid "XMPP Chat Client" +msgstr "Jabber IM Klientas" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:8 +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:27 +#, fuzzy +msgid "Show next pending event" +msgstr "Rodyti Visus Laukiančius Į_vykius" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:17 +#, fuzzy +msgid "Features:" +msgstr "Savybės" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +msgid "Automatic spell-checking for your messages" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +#, fuzzy +msgid "Support for service discovery including nodes and search for users" +msgstr "Service Discovery using account %s" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +#, fuzzy +msgid "Contact list" +msgstr "Asmuo" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +#, fuzzy +msgid "Group chat support" +msgstr "Groupchats" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +#, fuzzy +msgid "Chat history" +msgstr "Nesenai:" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +#, fuzzy +msgid "Plugin manager" +msgstr "Registracija nesėkminga" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +#, fuzzy +msgid "Gajim Team" +msgstr "Gajim - %s" + +#, fuzzy +#~ msgid "Chat Settings" +#~ msgstr "Registracija nesėkminga" + +#, fuzzy, python-format +#~ msgid "%i day" +#~ msgid_plural "%i days" +#~ msgstr[0] "%i days ago" +#~ msgstr[1] "%i days ago" + +#, fuzzy +#~ msgid "Composing only" +#~ msgstr "Kuriama" + +#, fuzzy +#~ msgid "All chat states" +#~ msgstr "Visos būklės" + +#~ msgid "None" +#~ msgstr "Joks" + +#, python-format +#~ msgid "%s Status Message" +#~ msgstr "%s Status Message" + +#~ msgid "Could not load image" +#~ msgstr "Could not load image" + +#, fuzzy +#~ msgid "Error." +#~ msgstr "Avahi error" + +#, fuzzy +#~ msgid "_Block Contact" +#~ msgstr "Užblokuoti Kontaktai" + +#, fuzzy +#~ msgid "Block Group" +#~ msgstr "Group" + +#, fuzzy +#~ msgid "Really block this group?" +#~ msgstr "Is OpenPGP enabled for this contact?" + +#, fuzzy, python-format +#~ msgid "%s wants to start a voice chat." +#~ msgstr "%s wants to send you a file." + +#~ msgid "Could not save your settings and preferences" +#~ msgstr "Could not save your settings and preferences" + +#, fuzzy +#~ msgid "Error While Removing Privacy List" +#~ msgstr "Error while removing privacy list" + +#, fuzzy +#~ msgid "Invisibility Not Supported" +#~ msgstr "Nematomumo funkcijos nėra" + +#, fuzzy, python-format +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "Šis kontaktas neturi failų siuntimo funkcijos." + +#, fuzzy +#~ msgid "Could not request upload slot for HTTP File Upload" +#~ msgstr "Could not start local service" + +#, fuzzy +#~ msgid "Not Secure" +#~ msgstr "Not in roster" + +#, fuzzy +#~ msgid "Could not Upload File" +#~ msgstr "Could not load image" + +#, fuzzy +#~ msgid "Encryption Error" +#~ msgstr "Encryption enabled" + +#~ msgid "Lists all preferences and their values" +#~ msgstr "Lists all preferences and their values" + +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "Sets value of 'key' to 'value'." + +#~ msgid "key=value" +#~ msgstr "key=value" + +#, fuzzy +#~ msgid "'key' is the name of the preference, 'value' is what to set it to" +#~ msgstr "" +#~ "'key' is the name of the preference, 'value' is the value to set it to" + +#~ msgid "Deletes a preference item" +#~ msgstr "Deletes a preference item" + +#~ msgid "key" +#~ msgstr "key" + +#~ msgid "name of the preference to be deleted" +#~ msgstr "name of the preference to be deleted" + +#~ msgid "Writes the current state of Gajim preferences to the .config file" +#~ msgstr "Writes the current state of Gajim preferences to the .config file" + +#, python-format +#~ msgid "%s is a directory but should be a file" +#~ msgstr "%s is a directory but should be a file" + +#, fuzzy, python-format +#~ msgid "Creating %s" +#~ msgstr "creating %s directory" + +#, python-format +#~ msgid "%(nickname)s Signed In" +#~ msgstr "%(nickname)s Signed In" + +#~ msgid "Contact Signed In" +#~ msgstr "Contact Signed In" + +#, python-format +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "%(nickname)s Signed Out" + +#~ msgid "Contact Signed Out" +#~ msgstr "Contact Signed Out" + +#, fuzzy +#~ msgid "" +#~ "Show desktop notification even when a chat window is opened for this " +#~ "contact and does not have focus." +#~ msgstr "" +#~ "Leisti pop-up/informavimą, kai esu _nuėjęs/nepasiekamas/užimtas/namatomas" + +#~ msgid "default" +#~ msgstr "įprastas" + +#, fuzzy +#~ msgid "" +#~ "Character to propose to add after desired nickname when nickname is " +#~ "already used in group chat." +#~ msgstr "" +#~ "Character to propose to add after desired nickname when desired nickname " +#~ "is used by someone else in group chat." + +#, fuzzy +#~ msgid "If enabled, Gajim displays the avatar in the chat window." +#~ msgstr "If False, you will no longer see the avatar in the chat window." + +#~ msgid "I'm available." +#~ msgstr "I'm available." + +#~ msgid "I'm free for chat." +#~ msgstr "I'm free for chat." + +#~ msgid "Be right back." +#~ msgstr "Be right back." + +#~ msgid "I'm not available." +#~ msgstr "I'm not available." + +#~ msgid "Do not disturb." +#~ msgstr "Do not disturb." + +#~ msgid "Bye!" +#~ msgstr "Bye!" + +#, fuzzy +#~ msgid "Error loading image" +#~ msgstr "Unable to load idle module" + +#~ msgid "Blocked Contacts" +#~ msgstr "Užblokuoti Kontaktai" + +#, fuzzy +#~ msgid "Group chat" +#~ msgstr "Groupchats" + +#, fuzzy +#~ msgid "Bookmark group chat" +#~ msgstr "Žy_mės" + +#, fuzzy +#~ msgid "Bookmark" +#~ msgstr "Žy_mės" + +#, fuzzy +#~ msgid "Recently used group chats" +#~ msgstr "pokalbiuose _grupėje" + +#, fuzzy +#~ msgid "Clear Avatar" +#~ msgstr "Naudotojo atvaizdas:" + +#, fuzzy +#~ msgid "Set Avatar…" +#~ msgstr "Choose Image" + +#, fuzzy +#~ msgid "Contact" +#~ msgstr "Kontakto laikas:" + +#, fuzzy +#~ msgid "_Leave Group Chat" +#~ msgstr "Leave Groupchats" + +#, fuzzy +#~ msgid "Custom" +#~ msgstr "Kitaip" + +#, fuzzy +#~ msgid "Pop it up" +#~ msgstr "_Rodyk" + +#, fuzzy +#~ msgid "Notify me about it" +#~ msgstr "_Pranešti man apie tai" + +#, fuzzy +#~ msgid "Show only in contact list" +#~ msgstr "Rodyti Tik _Aktyvius Kontaktus" + +#, fuzzy +#~ msgid "No status messages" +#~ msgstr "status message" + +#, fuzzy +#~ msgid "All status messages" +#~ msgstr "status message" + +#, fuzzy +#~ msgid "Only enter/leave messages" +#~ msgstr "You have unread messages" + +#, fuzzy +#~ msgid "Me_rge accounts" +#~ msgstr "Apjun_gti prieigas" + +#, fuzzy +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "Rodyti asmenų _paveiksliukus kontaktų sąraše" + +#, fuzzy +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "" +#~ "Jei pažymėta, Gajim rodys asmens paveiksliuką kontaktų sąraše ir pokalbio " +#~ "lange" + +#, fuzzy +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "Rodyti asmenų _būklės žinutes kontaktų sąraše" + +#, fuzzy +#~ msgid "" +#~ "If checked, status messages of contacts will be shown under the contact's " +#~ "name, in the contact list window, and in group chats" +#~ msgstr "" +#~ "Jei pažymėta, Gajim rodys žiničių būkles žemiau kontaktinio asmens vardo, " +#~ "kontaktų sąraše ir pokalbių grupėse" + +#, fuzzy +#~ msgid "" +#~ "Show e_xtra information of contacts in contact list (mood, activity, ...)" +#~ msgstr "Rodyti kontaktų nuotaikas sąraše" + +#, fuzzy +#~ msgid "in _contact list" +#~ msgstr "Siųsti kontaktus:" + +#~ msgid "in _group chats" +#~ msgstr "pokalbiuose _grupėje" + +#, fuzzy +#~ msgid "Display status messages in _single chats" +#~ msgstr "Rodyti asmenų _būklės žinutes kontaktų sąraše" + +#, fuzzy +#~ msgid "" +#~ "If checked, status lines will be shown in 1 on 1 chats when a contact " +#~ "changes their status or status message" +#~ msgstr "" +#~ "If False, Gajim will no longer print status line in chats when a contact " +#~ "changes his or her status and/or status message." + +#, fuzzy +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "Unable to join group chat" + +#, fuzzy +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "Unable to join group chat" + +#, fuzzy +#~ msgid "Show status changes (Default)" +#~ msgstr "_Registruoti asmenų būklės pakitimus" + +#, fuzzy +#~ msgid "" +#~ "If checked, the tab will be colored according to the current chatstate of " +#~ "the contact" +#~ msgstr "" +#~ "Jei pažymėta, Gajim leis kitiems matyti kokią operacijų sistemą naudojate" + +#, fuzzy +#~ msgid "" +#~ "If checked, a description of the contacts current chatstate is shown in " +#~ "the banner" +#~ msgstr "" +#~ "Jei pažymėta, Gajim leis kitiems matyti kokią operacijų sistemą naudojate" + +#, fuzzy +#~ msgid "Chatstate" +#~ msgstr "Last status: %s" + +#, fuzzy +#~ msgid "_When new event is received" +#~ msgstr "Naujam įvykiui įvykus:" + +#, fuzzy +#~ msgid "Show popups/notifications when a chat window is already _open" +#~ msgstr "" +#~ "Leisti pop-up/informavimą, kai esu _nuėjęs/nepasiekamas/užimtas/namatomas" + +#, fuzzy +#~ msgid "Allow popups/notifications when I'm _away, not available or busy" +#~ msgstr "" +#~ "Leisti pop-up/informavimą, kai esu _nuėjęs/nepasiekamas/užimtas/namatomas" + +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "Pranešti apie _prisijungusius kontaktus" + +#, fuzzy +#~ msgid "" +#~ "A popup window about contacts that just signed in will be shown in the " +#~ "bottom right of the screen " +#~ msgstr "" +#~ "Gajim praneš apie naujus įvykius iššokančiame langelyje, kuris pasirodys " +#~ "dešiniajame apatiniame ekrano kampe" + +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "Pranešti apie _atsijungusius kontaktus" + +#~ msgid "Play _sounds" +#~ msgstr "Groti _garsus" + +#~ msgid "Ma_nage..." +#~ msgstr "Val_dyti..." + +#, fuzzy +#~ msgid "No_t Available" +#~ msgstr "Esu išėjęs" + +#, fuzzy +#~ msgid "Minutes" +#~ msgstr "minutės" + +#, fuzzy +#~ msgid "Default Message" +#~ msgstr "Žinutė pagal nutylėjimą" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "Status Message" + +#, fuzzy +#~ msgid "Preset Status Messages" +#~ msgstr "Nustatytosios būklės žinutės" + +#, fuzzy +#~ msgid "_Theme" +#~ msgstr "Theme" + +#~ msgid "Configure color and font of the interface" +#~ msgstr "Nustatyti sąsajos spalvą ir šriftą" + +#, fuzzy +#~ msgid "" +#~ "If checked, protocol-specific status icons will be used (e.g. a contact " +#~ "from ICQ will have the equivalent ICQ icon for status online, away, busy, " +#~ "etc...)" +#~ msgstr "" +#~ "Jei pažymėta, Gajim naudos specifinius protokolo būklės paveiksliukus. " +#~ "(pvz.: asmuo iš MSN protokolo turės atitinkamą MSN paveiksliuką būklei " +#~ "„prisijungęs“, „nuėjęs“, „užimtas“ atvaizduoti... )" + +#~ msgid "_Manage..." +#~ msgstr "_Valdyti..." + +#, fuzzy +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "_Registruoti asmenų būklės pakitimus" + +#, fuzzy +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "Jei pažymėta, Gajim prisimins šios prieigos slaptažodį" + +#~ msgid "_Open..." +#~ msgstr "_Atidaryti..." + +#, fuzzy +#~ msgid "_Filter" +#~ msgstr "_Filtras:" + +#, fuzzy +#~ msgid "Protocol" +#~ msgstr "_Protokolas:" + +#~ msgid "Privacy Lists:" +#~ msgstr "Privatūs Sąrašai:" + +#, fuzzy +#~ msgid "Message..." +#~ msgstr "Messages" + +#, fuzzy +#~ msgid "Preset _messages" +#~ msgstr "Nustatytos žinutės:" + +#, fuzzy +#~ msgid "_Type your new status message" +#~ msgstr "Įveskite naują būklės žinutę" + +#, fuzzy +#~ msgid "Change Status Message…" +#~ msgstr "_Keisti Būklės Žinutę" + +#~ msgid "Mood:" +#~ msgstr "Nuotaika:" + +#~ msgid "Message:" +#~ msgstr "Žinutė:" + +#, fuzzy +#~ msgid "none" +#~ msgstr "vienas" + +#, fuzzy +#~ msgid "both" +#~ msgstr "Abu" + +#, fuzzy +#~ msgid "from" +#~ msgstr "Nuo" + +#, fuzzy +#~ msgid "to" +#~ msgstr "du" + +#~ msgid "Privacy List" +#~ msgstr "Privatus sąrašas" + +#~ msgid "Privacy List" +#~ msgstr "Privatus Sąrašas" + +#~ msgid "Active for this session" +#~ msgstr "Aktyvus šiai sesijai" + +#~ msgid "Active on each startup" +#~ msgstr "Aktyvus kiekvieno paleidimo metu" + +#~ msgid "List of rules" +#~ msgstr "Taisyklių sąrašas" + +#~ msgid "Add / Edit a rule" +#~ msgstr "Pridėti / Keisti taisyklę" + +#~ msgid "Allow" +#~ msgstr "Leisti" + +#~ msgid "Deny" +#~ msgstr "Atmesti" + +#~ msgid "all in the group" +#~ msgstr "visus grupėje" + +#~ msgid "all by subscription" +#~ msgstr "visus pagal užsisakymą" + +#~ msgid "All" +#~ msgstr "Visi" + +#~ msgid "to send me messages" +#~ msgstr "žinučių siuntimui" + +#~ msgid "to send me queries" +#~ msgstr "užklausimų siuntimui" + +#~ msgid "to view my status" +#~ msgstr "mano būklės peržiūrai" + +#~ msgid "to send me status" +#~ msgstr "informavimui mane, apie būklę" + +#~ msgid "All (including subscription)" +#~ msgstr "Visi (įskaitant prenumeratas)" + +#~ msgid "Order:" +#~ msgstr "Tvarka:" + +#, fuzzy +#~ msgid "" +#~ "Deny authorization from contact so the contact cannot know if you are " +#~ "connected" +#~ msgstr "" +#~ "Drausti autorizacija šiam asmeniui, jis arba ji negalės matyti ar esate " +#~ "prisijungęs" + +#, fuzzy +#~ msgid "Authorize contact so the contact can know if you are connected" +#~ msgstr "Autorizuoti asmenį, kad jis arba ji žinotu kada esate prisijungęs" + +#, fuzzy +#~ msgid "Contact List Shortcuts" +#~ msgstr "Contact Disconnected" + +#~ msgid "Fill in the form." +#~ msgstr "Užpildykite formą." + +#~ msgid "Message: " +#~ msgstr "Žinutė: " + +#, fuzzy, python-format +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "Invited %(contact_jid)s to %(room_jid)s." + +#, fuzzy +#~ msgid "Group Chat Invitation " +#~ msgstr "Groupchat Invitation" + +#, fuzzy +#~ msgid "Off" +#~ msgstr "Atsijungęs" + +#, fuzzy +#~ msgid "Retrieving profile…" +#~ msgstr "Retrieving profile..." + +#, fuzzy +#~ msgid "Wrong date format" +#~ msgstr "Asmens Informacija" + +#, fuzzy +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "Formatas: YYYY-MM-DD" + +#~ msgid "Information received" +#~ msgstr "Information received" + +#, fuzzy +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "Without a connection you can not publish your contact information." + +#, fuzzy +#~ msgid "Sending profile…" +#~ msgstr "Sending profile..." + +#~ msgid "Information NOT published" +#~ msgstr "Information NOT published" + +#~ msgid "vCard publication failed" +#~ msgstr "vCard publication failed" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." + +#, fuzzy +#~ msgid "?password:Hidden" +#~ msgstr "Slaptažodis:" + +#, python-format +#~ msgid "Privacy List %s" +#~ msgstr "Privacy List %s" + +#, python-format +#~ msgid "Privacy List for %s" +#~ msgstr "Privacy List for %s" + +#~ msgid "status message title" +#~ msgstr "status message title" + +#~ msgid "status message text" +#~ msgstr "status message text" + +#, fuzzy +#~ msgid "Start New Conversation" +#~ msgstr "Pokalbio tęsinys" + +#~ msgid "Gajim - %s" +#~ msgstr "Gajim - %s" + +#, fuzzy +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "Dictionary for lang %s not available" + +#, fuzzy +#~ msgid "" +#~ "You have to install the dictionary \"%s\" to use spellchecking, or choose " +#~ "another language by setting the speller_language option.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "You have to install %s dictionary to use spellchecking, or choose another " +#~ "language by setting the speller_language option." + +#, fuzzy +#~ msgid "Quit" +#~ msgstr "_Išjungti" + +#, fuzzy +#~ msgid "Show Contact List" +#~ msgstr "Rodyti Tik _Aktyvius Kontaktus" + +#, fuzzy +#~ msgid "Add to Contact List" +#~ msgstr "_Įtraukti asmenį..." + +#, fuzzy +#~ msgid "Invite Contact" +#~ msgstr "Kviesti Kontaktus" + +#, fuzzy +#~ msgid "Configure Group Chat" +#~ msgstr "Leave Groupchats" + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." +#~ msgstr "" +#~ "If True, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." + +#, fuzzy +#~ msgid "Notification color for contacts signing in." +#~ msgstr "Pranešti apie _prisijungusius kontaktus" + +#, fuzzy +#~ msgid "Notification color for contacts signing out." +#~ msgstr "Pranešti apie _atsijungusius kontaktus" + +#, fuzzy +#~ msgid "Notification color for new message notification." +#~ msgstr "_Rodyti įvykį kontaktų sąraše" + +#, fuzzy +#~ msgid "Notification color for file transfer request." +#~ msgstr "_Pranešti, kai failo siuntimas bus baigtas" + +#, fuzzy +#~ msgid "Notification color for file transfer errors." +#~ msgstr "_Pranešti, kai failo siuntimas bus baigtas" + +#, fuzzy +#~ msgid "Notification background color for changed status." +#~ msgstr "Background colour of contacts when they just signed in." + +#, fuzzy +#~ msgid "Event Type" +#~ msgstr "Event" + +#, fuzzy +#~ msgid "Event desc" +#~ msgstr "Įvykiai" + +#, fuzzy +#~ msgid "No response from the Server" +#~ msgstr "You are not connected to the server" + +#, fuzzy +#~ msgid "Unable to load image" +#~ msgstr "Unable to load idle module" + +#, fuzzy +#~ msgid "Media type not supported: %s" +#~ msgstr "Nematomumo funkcijos nėra" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Gajim: Prieigos kūrimo vedlys" + +#, fuzzy +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "Kad prisijungtumėte privalote turėti prieigą\n" +#~ "Jabber tinkle." + +#~ msgid "I already have an account I want to _use" +#~ msgstr "Jau turiu prieigą, kurią noriu _naudoti" + +#~ msgid "I want to _register for a new account" +#~ msgstr "Noriu už_registruoti naują prieigą" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "Prašome pasirinkti vieną iš variantų žemiau:" + +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "Įveskite jūsų turimos prieigos duomenis" + +#, fuzzy +#~ msgid "_XMPP Address:" +#~ msgstr "AIM Address:" + +#~ msgid "Anon_ymous authentication" +#~ msgstr "Anoniminė autentikacija" + +#~ msgid "_Password:" +#~ msgstr "_Slaptažodis:" + +#~ msgid "Save pass_word" +#~ msgstr "Išsaugoti _slaptažodį" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "Jei pažymėta, Gajim prisimins šios prieigos slaptažodį" + +#~ msgid "_Server:" +#~ msgstr "_Serveris:" + +#~ msgid "Manage..." +#~ msgstr "Valdyti..." + +#~ msgid "_Port:" +#~ msgstr "_Portas:" + +#~ msgid "_Advanced" +#~ msgstr "_Papildomas" + +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "Jungiamasi prie serverio\n" +#~ "\n" +#~ "Prašome palaukti..." + +#~ msgid "Connect when I press Finish" +#~ msgstr "Prisijungti, kai paspausiu Baigti" + +#~ msgid "Set my profile when I connect" +#~ msgstr "Nustatyti mano profilį, kai prisijungsiu" + +#~ msgid "_Finish" +#~ msgstr "_Baigti" + +#~ msgid "Your new account has been created successfully" +#~ msgstr "Your new account has been successfully created" + +#~ msgid "Invalid username" +#~ msgstr "Invalid username" + +#~ msgid "You must provide a username to configure this account." +#~ msgstr "You must provide a username to configure this account." + +#~ msgid "Invalid entry" +#~ msgstr "Invalid entry" + +#~ msgid "Account name is in use" +#~ msgstr "Account name is in use" + +#~ msgid "You already have an account using this name." +#~ msgstr "You already have an account using this name." + +#~ msgid "Connection with account \"%s\" has been lost" +#~ msgstr "Connection with account \"%s\" has been lost" + +#~ msgid "Reconnect manually." +#~ msgstr "Reconnect manually." + +#~ msgid "Server %(name)s answered wrongly to register request: %(error)s" +#~ msgstr "" +#~ "Serveris %(name)s atsiuntė blogą atsakymą į registravimo užklausą: " +#~ "%(error)s" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "Could not connect to \"%s\"" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "Could not connect to \"%s\"" + +#~ msgid "Check your connection or try again later." +#~ msgstr "Check your connection or try again later." + +#~ msgid "Server replied: %s" +#~ msgstr "Serveris atsakė: %s" + +#~ msgid "Could not connect to account %s" +#~ msgstr "Nepavyko prisijungti prie %s" + +#~ msgid "Connection with account %s has been lost. Retry connecting." +#~ msgstr "Prarastas ryšys su %s. Jungiamasi iš naujo." + +#~ msgid "Please check your login and password for correctness." +#~ msgstr "Please check your login and password for correctness." + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "Prisijungta" + +#~ msgid "Use HTTP prox_y" +#~ msgstr "_Naudoti HTTP proksi" + +#, fuzzy +#~ msgid "Warn on insecure connection" +#~ msgstr "Nesaugus ryšys" + +#, fuzzy +#~ msgid "Contact list, list of contacts" +#~ msgstr "_Registruoti asmenų būklės pakitimus" + +#~ msgid "You are participating in one or more group chats" +#~ msgstr "You are participating in one or more group chats" + +#, fuzzy +#~ msgid "" +#~ "Changing your status to invisible will result in you leaving those group " +#~ "chats.\n" +#~ "Are you sure you want to go invisible?" +#~ msgstr "" +#~ "Changing your status to invisible will result in disconnection from those " +#~ "group chats. Are you sure you want to go invisible?" + +#~ msgid "You cannot join a group chat while you are invisible" +#~ msgstr "You cannot join a group chat while you are invisible" + +#~ msgid "Invisible" +#~ msgstr "Nematomas" + +#, fuzzy +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "You cannot join a group chat while you are invisible" + +#~ msgid "_Invisible" +#~ msgstr "N_ematomas" + +#, fuzzy +#~ msgid "Yesterday" +#~ msgid_plural "%(nb_days)i days ago" +#~ msgstr[0] "Yesterday" +#~ msgstr[1] "Yesterday" + +#, fuzzy +#~ msgid "_Cancel Upload" +#~ msgstr "_Atšaukti" + +#, fuzzy +#~ msgid "" +#~ "If you close this tab while having chat history disabled, this message " +#~ "will be lost." +#~ msgstr "" +#~ "If you close this tab and you have history disabled, this message will be " +#~ "lost." + +#, fuzzy +#~ msgid "Unregister Failed" +#~ msgstr "Išsiregistruoti nepavyko" + +#, fuzzy +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "Nepavyko prisijungti prie proksi" + +#, fuzzy +#~ msgid "New Password" +#~ msgstr "Save password" + +#~ msgid "What do you want to do?" +#~ msgstr "What do you want to do?" + +#~ msgid "Remove account from Gajim and from _server" +#~ msgstr "Pašalinti prieigą ir iš Gajim ir iš _serverio" + +#, fuzzy +#~ msgid "You must enter a password" +#~ msgstr "You must enter a password." + +#, fuzzy +#~ msgid "You still have open chats in your account %s" +#~ msgstr "You have opened chat in account %s" + +#, fuzzy +#~ msgid "Password required" +#~ msgstr "Password Required" + +#, fuzzy +#~ msgid "Still connected to the server" +#~ msgstr "You are not connected to the server" + +#, fuzzy +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "If you remove it, the connection will be lost." + +#, fuzzy +#~ msgid "Connection to server %s failed" +#~ msgstr "Nepavyko prisijungti prie proksi" + +#, fuzzy +#~ msgid "What would you like to do?" +#~ msgstr "What do you want to do?" + +#, fuzzy +#~ msgid "Remove only from Gajim" +#~ msgstr "Pašalinti prieigą, _tik iš Gajim" + +#, fuzzy +#~ msgid "Contents" +#~ msgstr "_Turinys" + +#, fuzzy +#~ msgid "FAQ" +#~ msgstr "_DUK" + +#~ msgid "Save as Preset Status Message" +#~ msgstr "Save as Preset Status Message" + +#, fuzzy +#~ msgid "Join a group chat" +#~ msgstr "pokalbiuose _grupėje" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "Priimti" + +#~ msgid "New entry received" +#~ msgstr "Gautas naujas įrašas" + +#~ msgid "You have received new entry:" +#~ msgstr "Jūs gavote naują įrašą:" + +#~ msgid "Feed name:" +#~ msgstr "Kanalo pavadinimas:" + +#~ msgid "Last modified:" +#~ msgstr "Paskutinį kartą keista:" + +#, fuzzy +#~ msgid "Send file?" +#~ msgstr "Siųsti _Failą" + +#, fuzzy +#~ msgid "Mail _client" +#~ msgstr "_El. pašto programa:" + +#, fuzzy +#~ msgid "_Browser" +#~ msgstr "_Naršyklė:" + +#, fuzzy +#~ msgid "_File manager" +#~ msgstr "_Failų menedžeris:" + +#, fuzzy +#~ msgid "Applications" +#~ msgstr "Programos" + +#, fuzzy +#~ msgid "" +#~ "Uses ReStructured text markup to send HTML, plus ASCII formatting if " +#~ "selected. Needs docutils installed (for syntax, see http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Uses ReStructured text markup to send HTML, plus ascii formatting if " +#~ "selected. For syntax, see http://docutils.sourceforge.net/docs/ref/rst/" +#~ "restructuredtext.html (If you want to use this, install docutils)" + +#, fuzzy +#~ msgid "_Ignore formatting of incoming messages" +#~ msgstr "_Ignoruoti formatuotą turinį įeinančioms žinutėms" + +#, fuzzy +#~ msgid "" +#~ "Some messages may include rich content (xhtml formatting, colors etc). If " +#~ "checked, Gajim will just display the plain message text." +#~ msgstr "" +#~ "Kai kurios žinutės gali turėti formatuotą turinį (pastorinimai, spalvos " +#~ "ir pan.). Jei pažymėsite, Gajim rodys tiesiog tekstą, be jokių " +#~ "formatavimų." + +#, fuzzy +#~ msgid "RST XHTML Generator" +#~ msgstr "RST Generatorius" + +#~ msgid "New Single Message" +#~ msgstr "New Single Message" + +#, fuzzy +#~ msgid "" +#~ "Can be empty, 'chat' or 'normal'. If not empty, all incoming messages are " +#~ "treated as if they were of this type." +#~ msgstr "" +#~ "Can be empty, 'chat' or 'normal'. If not empty, treat all incoming " +#~ "messages as if they were of this type" + +#~ msgid "twelve" +#~ msgstr "dvylika" + +#~ msgid "one" +#~ msgstr "vienas" + +#~ msgid "two" +#~ msgstr "du" + +#~ msgid "three" +#~ msgstr "trys" + +#~ msgid "four" +#~ msgstr "keturi" + +#~ msgid "five" +#~ msgstr "penki" + +#~ msgid "six" +#~ msgstr "šeši" + +#~ msgid "seven" +#~ msgstr "septyni" + +#~ msgid "eight" +#~ msgstr "aštuoni" + +#~ msgid "nine" +#~ msgstr "devyni" + +#~ msgid "ten" +#~ msgstr "dešimt" + +#~ msgid "eleven" +#~ msgstr "vienuolika" + +#~ msgid "%(0)s o'clock" +#~ msgstr "%(0)s" + +#~ msgid "five past %(0)s" +#~ msgstr "penkios po %(0)s" + +#~ msgid "ten past %(0)s" +#~ msgstr "dešimt po %(0)s" + +#~ msgid "quarter past %(0)s" +#~ msgstr "ketvirtis po %(0)s" + +#~ msgid "twenty past %(0)s" +#~ msgstr "dvylika po %(0)s" + +#~ msgid "twenty five past %(0)s" +#~ msgstr "dvidešimt penkios po %(0)s" + +#~ msgid "half past %(0)s" +#~ msgstr "pusė %(0)s" + +#~ msgid "twenty five to %(1)s" +#~ msgstr "be dvidešimt penkių %(1)s" + +#~ msgid "twenty to %(1)s" +#~ msgstr "be dvylikos %(1)s" + +#~ msgid "quarter to %(1)s" +#~ msgstr "be penkiolikos %(1)s" + +#~ msgid "ten to %(1)s" +#~ msgstr "be dešimt %(1)s" + +#~ msgid "five to %(1)s" +#~ msgstr "be penkių %(1)s" + +#~ msgid "%(1)s o'clock" +#~ msgstr "%(1)s" + +#~ msgid "Night" +#~ msgstr "Naktis" + +#~ msgid "Morning" +#~ msgstr "Rytas" + +#~ msgid "Evening" +#~ msgstr "Vakaras" + +#~ msgid "message" +#~ msgstr "message" + +#, fuzzy +#~ msgid "error: %s" +#~ msgstr "Avahi error" + +#, fuzzy +#~ msgid "Form: %s" +#~ msgstr "Avahi error" + +#, fuzzy +#~ msgid "XML Input" +#~ msgstr "XML Įvestis" + +#, fuzzy +#~ msgid "Ttitle" +#~ msgstr "Antraštė:" + +#, fuzzy +#~ msgid "Screen" +#~ msgstr "green" + +#~ msgid "Conversation with " +#~ msgstr "Pokalbis su " + +#~ msgid "Continued conversation" +#~ msgstr "Pokalbio tęsinys" + +#~ msgid "_Send Private Message" +#~ msgstr "_Siųsti privačią žinutę" + +#, fuzzy +#~ msgid "Participant Actions" +#~ msgstr "Participants" + +#~ msgid "_Voice" +#~ msgstr "_Balsas" + +#~ msgid "Mo_derator" +#~ msgstr "Mo_deratorius" + +#~ msgid "_Member" +#~ msgstr "_Dalyvis" + +#~ msgid "_Admin" +#~ msgstr "_Adminas" + +#~ msgid "_Owner" +#~ msgstr "_Savininkas" + +#, fuzzy +#~ msgid "_Add to Contact List" +#~ msgstr "_Įtraukti asmenį..." + +#, fuzzy +#~ msgid "_Execute command" +#~ msgstr "_Vykdyti komandą" + +#~ msgid "Change _Nickname..." +#~ msgstr "Keisti _Slapyvardį..." + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "Leave Groupchats" + +#~ msgid "Change _Subject..." +#~ msgstr "Keisti _Temą..." + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "Jungtis į _Grupės Pokalbį..." + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "Leave Groupchats" + +#, fuzzy +#~ msgid "_Request Voice" +#~ msgstr "_Balsas" + +#~ msgid "_Bookmark" +#~ msgstr "Žy_mės" + +#, fuzzy +#~ msgid "View certificate…" +#~ msgstr "Blogas CA sertifikatas" + +#, fuzzy +#~ msgid "Continue" +#~ msgstr "_Tęsti" + +#, fuzzy +#~ msgid "Authorization" +#~ msgstr "Authorisation has been sent" + +#, fuzzy +#~ msgid "" +#~ "All chat and group chat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" + +#, fuzzy +#~ msgid "Account '%s' is still connected to the server" +#~ msgstr "Account \"%s\" is connected to the server" + +#, fuzzy +#~ msgid "Error While Saving" +#~ msgstr "Error while adding service. %s" + +#, fuzzy +#~ msgid "Save _As" +#~ msgstr "Turiu " + +#, fuzzy +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "Invalid group chat Jabber ID" + +#, fuzzy +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "The group chat Jabber ID has invalid characters." + +#, fuzzy +#~ msgid "" +#~ "Always ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Always ask before closing group chat tab/window in this space separated " +#~ "list of group chat jids." + +#, fuzzy +#~ msgid "" +#~ "Never ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Never ask before closing group chat tab/window in this space separated " +#~ "list of group chat jids." + +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "%(nickname)s on %(room_jid)s" + +#, fuzzy +#~ msgid "You have not joined a group chat." +#~ msgstr "You have not joined a groupchat." + +#, fuzzy +#~ msgid "You left the following group chats:" +#~ msgstr "Jūs palikote šių grupių pokalbius:" + +#~ msgid "Don't show avatar for the transport itself." +#~ msgstr "Don't show avatar for the transport itself." + +#, fuzzy +#~ msgid "" +#~ "Show a confirmation dialog for a custom status? Empty string means never " +#~ "show the dialog." +#~ msgstr "" +#~ "Should we show the confirm metacontacts creation dialogue or not? Empty " +#~ "string means we never show the dialogue." + +#, fuzzy +#~ msgid "Jabberd2 workaround." +#~ msgstr "Jabberd2 workaround" + +#, fuzzy +#~ msgid "Configure Services…" +#~ msgstr "Konfigūruoti Paslaugas..." + +#, fuzzy +#~ msgid "Group Chat Bookmarks" +#~ msgstr "Group Chat" + +#, fuzzy +#~ msgid "Add Bookmark" +#~ msgstr "Žy_mės" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "Žy_mės" + +#, fuzzy +#~ msgid "_Server" +#~ msgstr "_Serveris:" + +#, fuzzy +#~ msgid "_Password" +#~ msgstr "_Slaptažodis:" + +#, fuzzy +#~ msgid "Join chat when connected" +#~ msgstr "Contact Disconnected" + +#~ msgid "New Group Chat" +#~ msgstr "New Group Chat" + +#~ msgid "This bookmark has invalid data" +#~ msgstr "This bookmark has invalid data" + +#, fuzzy +#~ msgid "" +#~ "Please be sure to fill out server and group chat fields or remove this " +#~ "bookmark." +#~ msgstr "" +#~ "Please be sure to fill out server and room fields or remove this bookmark." + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "Invalid group chat Jabber ID" + +#~ msgid "Unable to join group chat" +#~ msgstr "Unable to join group chat" + +#, fuzzy +#~ msgid "You are banned from group chat %s." +#~ msgstr "Jūs esate išmestas iš grupės pokalbio %s." + +#, fuzzy +#~ msgid "Remote server %s does not exist." +#~ msgstr "Tokios grupės pokalbis %s neegzistuoja." + +#, fuzzy +#~ msgid "Group chat %s does not exist." +#~ msgstr "Tokios grupės pokalbis %s neegzistuoja." + +#, fuzzy +#~ msgid "Group chat creation is not permitted." +#~ msgstr "Group chat creation is restricted." + +#, fuzzy +#~ msgid "You must use your registered nickname in %s." +#~ msgstr "" +#~ "Jūsų užregistruotas slapyvardis turi būti naudojamas grupės pokalbyje %s." + +#, fuzzy +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "Jūs estate grupės pokalbio %s narių sąraše." + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "This is not a group chat" + +#~ msgid "This is not a group chat" +#~ msgstr "This is not a group chat" + +#, fuzzy +#~ msgid "Please choose a group chat" +#~ msgstr "Kurti naują pranešimą" + +#, fuzzy +#~ msgid "Wrong server" +#~ msgstr "MUC serveris" + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "This is not a group chat" + +#~ msgid "Not in Roster" +#~ msgstr "Ne Sąraše" + +#, fuzzy +#~ msgid "Add to Roster" +#~ msgstr "Įtr_aukti į kontaktų sąrašą" + +#, fuzzy +#~ msgid "Manage Room" +#~ msgstr "_Valdyti Kambarį" + +#, fuzzy +#~ msgid "Configure Room" +#~ msgstr "Keisti Kambario Nustatymus..." + +#, fuzzy +#~ msgid "Change Nick" +#~ msgstr "Keisti _Slapyvardį..." + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "Atsijungta" + +#, fuzzy +#~ msgid "Copy JID" +#~ msgstr "Kambario JID" + +#, fuzzy +#~ msgid "Add to Roster…" +#~ msgstr "Įtr_aukti į kontaktų sąrašą" + +#, fuzzy +#~ msgid "Copy JID/Email" +#~ msgstr "_Kopijuoti JID/El. pašto adresą" + +#, fuzzy +#~ msgid "JID: %s" +#~ msgstr "Jabber ID: %s" + +#, fuzzy +#~ msgid "Unable to join groupchat" +#~ msgstr "Unable to join group chat" + +#~ msgid "Groupchat Invitation" +#~ msgstr "Groupchat Invitation" + +#, fuzzy +#~ msgid "JID is not a Groupchat" +#~ msgstr "This is not a group chat" + +#~ msgid "Invalid JID" +#~ msgstr "Invalid JID" + +#, fuzzy +#~ msgid "A connection is not available" +#~ msgstr "Connection not available" + +#, fuzzy +#~ msgid "JID already in list" +#~ msgstr "Contact already in roster" + +#, fuzzy +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "Connection not available" + +#~ msgid "Removes contact from roster" +#~ msgstr "Removes contact from roster" + +#~ msgid "Not in roster" +#~ msgstr "Not in roster" + +#, fuzzy +#~ msgid "Contact signed in notification color." +#~ msgstr "_Rodyti įvykį kontaktų sąraše" + +#, fuzzy +#~ msgid "Contact signout notification color" +#~ msgstr "_Rodyti įvykį kontaktų sąraše" + +#, fuzzy +#~ msgid "File transfer request notification color." +#~ msgstr "File Transfer Request" + +#, fuzzy +#~ msgid "File transfer error notification color." +#~ msgstr "File transfer cancelled" + +#, fuzzy +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "" +#~ "Rodyti pranešimą iššokstančiame lange, kai failo siuntimas baigsis " + +#, fuzzy +#~ msgid "Groupchat invitation notification color" +#~ msgstr "Groupchat Invitation" + +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "Add * and [n] in roster title?" + +#~ msgid "Hides the banner in two persons chat window" +#~ msgstr "Hides the banner in two persons chat window" + +#, fuzzy +#~ msgid "" +#~ "Show the confirm metacontacts creation dialog or not? Empty string means " +#~ "never show the dialog." +#~ msgstr "" +#~ "Should we show the confirm metacontacts creation dialogue or not? Empty " +#~ "string means we never show the dialogue." + +#, fuzzy +#~ msgid "Language for which misspelled words will be checked" +#~ msgstr "Language for which we want to check misspelt words" + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "I'm eating, so leave me a message." + +#~ msgid "Leave Groupchats" +#~ msgstr "Leave Groupchats" + +#, fuzzy +#~ msgid "Auto Join" +#~ msgstr "Automatinis prsijungimas" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "Kambarys:" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#~ msgid "Occupant Actions" +#~ msgstr "Valdytojo Veiksmai" + +#~ msgid "_Add to Roster" +#~ msgstr "Įtr_aukti į kontaktų sąrašą" + +#~ msgid "_Manage Room" +#~ msgstr "_Valdyti Kambarį" + +#~ msgid "Configure _Room..." +#~ msgstr "Keisti Kambario Nustatymus..." + +#, fuzzy +#~ msgid "account" +#~ msgstr "Prieiga" + +#, fuzzy +#~ msgid "Roster" +#~ msgstr "Rodyk _Kontaktų Sąrašą" + +#, fuzzy +#~ msgid "Show only in roster" +#~ msgstr "Rodyti tik kontaktų _sąrašą" + +#~ msgid "in _roster" +#~ msgstr "_sąraše" + +#, fuzzy +#~ msgid "Roster Appearance" +#~ msgstr "Pokalbio Išvaizda" + +#~ msgid "_Add to Roster..." +#~ msgstr "Įtr_aukti į kontaktų sąrašą..." + +#~ msgid "_Jabber ID:" +#~ msgstr "_Jabber ID:" + +#, fuzzy +#~ msgid "_Jabber ID" +#~ msgstr "_Jabber ID:" + +#~ msgid "JabberID" +#~ msgstr "JabberID" + +#, fuzzy +#~ msgid "Show Roster" +#~ msgstr "Rodyk _Kontaktų Sąrašą" + +#~ msgid "MUC server" +#~ msgstr "MUC serveris" + +#~ msgid "Room Configuration" +#~ msgstr "Kambario nustatymai" + +#~ msgid "Join _Group Chat" +#~ msgstr "Prisijungti prie pokalbio grupėje" + +#, fuzzy +#~ msgid "Audio sessions are not available" +#~ msgstr "Connection not available" + +#~ msgid "Conference" +#~ msgstr "Conference" + +#, fuzzy +#~ msgid "_Manage Bookmarks…" +#~ msgstr "Žymių valdymas" + +#, fuzzy +#~ msgid "Hide _Roster" +#~ msgstr "_sąraše" + +#~ msgid "Show _Roster" +#~ msgstr "Rodyk _Kontaktų Sąrašą" + +#, fuzzy +#~ msgid "Invalid Room" +#~ msgstr "Invalid File" + +#~ msgid "A GTK+ Jabber client" +#~ msgstr "GTK+ Jabber klientas" + +#~ msgid "Bookmark already set" +#~ msgstr "Bookmark already set" + +#, fuzzy +#~ msgid "Group Chat '%s' is already in your bookmarks." +#~ msgstr "Group Chat \"%s\" is already in your bookmarks." + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "Bookmark has been added successfully" + +#, fuzzy +#~ msgid "" +#~ "You can manage your bookmarks by clicking the Bookmarks menu item in your " +#~ "contact list." +#~ msgstr "You can manage your bookmarks via Actions menu in your roster." + +#, fuzzy +#~ msgid "Bookmark Room" +#~ msgstr "Žy_mės" + +#~ msgid "_Join New Group Chat" +#~ msgstr "_Join New Group Chat" + +#~ msgid "Name:" +#~ msgstr "Pavadinimas:" + +#, fuzzy +#~ msgid "Description:" +#~ msgstr "Aprašymas: " + +#, fuzzy +#~ msgid "Address:" +#~ msgstr "_Adresas:" + +#, fuzzy +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "You can not join a group chat unless you are connected." + +#, fuzzy +#~ msgid "Occupants" +#~ msgstr "Valdytojo Veiksmai" + +#~ msgid "_Modify Account..." +#~ msgstr "_Keisti Prieigą..." + +#~ msgid "Boolean" +#~ msgstr "Boolean" + +#~ msgid "Integer" +#~ msgstr "Integer" + +#~ msgid "Text" +#~ msgstr "Text" + +#~ msgid "Value" +#~ msgstr "Value" + +#~ msgid "(None)" +#~ msgstr "(None)" + +#~ msgid "Hidden" +#~ msgstr "Hidden" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "Proxi profilių valdymas" + +#, fuzzy +#~ msgid "Properties" +#~ msgstr "Savybės" + +#, fuzzy +#~ msgid "Proxy _Port" +#~ msgstr "Proksi _Prievadas:" + +#, fuzzy +#~ msgid "New Groupchat" +#~ msgstr "New Group Chat" + +#, fuzzy +#~ msgid "New Contact" +#~ msgstr "Prijungti naują asmenį" + +#~ msgid "%s GiB" +#~ msgstr "%s GiB" + +#~ msgid "%s GB" +#~ msgstr "%s GB" + +#~ msgid "%s MiB" +#~ msgstr "%s MiB" + +#~ msgid "%s MB" +#~ msgstr "%s MB" + +#~ msgid "%s KiB" +#~ msgstr "%s KiB" + +#~ msgid "%s KB" +#~ msgstr "%s KB" + +#~ msgid "%s B" +#~ msgstr "%s B" + +#, fuzzy +#~ msgid "%s MiB/s" +#~ msgstr "%s MiB" + +#, fuzzy +#~ msgid "File transfer" +#~ msgstr "Failų siuntimai" + +#, fuzzy +#~ msgid "Open _Containing Folder" +#~ msgstr "_Atidaryti katalogą, kuriame yra failas" + +#, fuzzy +#~ msgid "Default:" +#~ msgstr "Default" + +#, fuzzy +#~ msgid "Con_tinue" +#~ msgstr "_Tęsti" + +#~ msgid "_Pause" +#~ msgstr "_Pauzė" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "Pašalinti failo siuntimą iš sąrašo." + +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "" +#~ "Šis veiksmas pašalins vieną failo siuntimą iš sąrašo. Jei failo siuntimas " +#~ "yra aktyvus, jis iš pradžių bus sustabdytas ir tada ištrintas" + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "Atšaukti pažymėtų failų siuntimą" + +#, fuzzy +#~ msgid "Hide the window" +#~ msgstr "Slėpti langą" + +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "" +#~ "Rodyti pranešimą iššokstančiame lange, kai failo siuntimas baigsis " + +#~ msgid "From:" +#~ msgstr "Nuo:" + +#~ msgid "Subject:" +#~ msgstr "Tema:" + +#~ msgid "%s wants to send you a file:" +#~ msgstr "%s wants to send you a file:" + +#~ msgid "Name: " +#~ msgstr "Name: " + +#~ msgid "Pause" +#~ msgstr "Pause" + +#, fuzzy +#~ msgid "Execute Command" +#~ msgstr "_Vykdyti komandą" + +#, fuzzy +#~ msgid "%s day" +#~ msgid_plural "%s days" +#~ msgstr[0] "%i days ago" +#~ msgstr[1] "%i days ago" + +#~ msgid "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" + +#~ msgid "_Configure" +#~ msgstr "_Konfigūruoti" + +#, fuzzy +#~ msgid "Change the avatar" +#~ msgstr "Change status" + +#, fuzzy +#~ msgid "" +#~ "Account in which the avatar will be set; if not specified, the avatar " +#~ "will be set for all accounts" +#~ msgstr "" +#~ "Account in which the xml will be sent; if not specified, xml will be sent " +#~ "to all accounts" + +#, fuzzy +#~ msgid "add" +#~ msgstr "Įtraukti" + +#, fuzzy +#~ msgid "modify" +#~ msgstr "Keisti" + +#, fuzzy +#~ msgid "remove" +#~ msgstr "_Trinti" + +#, fuzzy +#~ msgid "" +#~ "If true, restored messages will use a smaller font than the default one." +#~ msgstr "" +#~ "If True, restored messages will use a smaller font than the default one." + +#, fuzzy +#~ msgid "Restored Message Color" +#~ msgstr "_Grąžinti buvusias spalvas pagal nutylėjimą" + +#~ msgid "Send Cus_tom Status" +#~ msgstr "Siųsti _Parinktą Būklę" + +#, fuzzy +#~ msgid "" +#~ msgstr "Tema" + +#~ msgid "#" +#~ msgstr "#" + +#~ msgid "To:" +#~ msgstr "Kam:" + +#~ msgid "0" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Reconnect when connection is lost" +#~ msgstr "Automatiškai bandyti prisijungti, kai prarandamas ryšys" + +#, fuzzy +#~ msgid "Server Message Archive" +#~ msgstr "_Siųsti Žinutę Serveriui..." + +#, fuzzy +#~ msgid "Message Carbons" +#~ msgstr "Messages" + +#~ msgid "" +#~ "Sent chat state notifications. Can be one of all, composing_only, " +#~ "disabled." +#~ msgstr "" +#~ "Sent chat state notifications. Can be one of all, composing_only, " +#~ "disabled." + +#, fuzzy +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "Leisti siųsti informaciją apie _OS" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the idle time of your system" +#~ msgstr "" +#~ "Jei pažymėta, Gajim leis kitiems matyti kokią operacijų sistemą naudojate" + +#, fuzzy +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "Leisti siųsti informaciją apie _OS" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the local time on your system" +#~ msgstr "" +#~ "Jei pažymėta, Gajim leis kitiems matyti kokią operacijų sistemą naudojate" + +#, fuzzy +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "Leisti siųsti informaciją apie _OS" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the operating system you are " +#~ "using" +#~ msgstr "" +#~ "Jei pažymėta, Gajim leis kitiems matyti kokią operacijų sistemą naudojate" + +#, fuzzy +#~ msgid "" +#~ "If checked, incoming events from unauthorized contacts will be ignored. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster." +#~ msgstr "" +#~ "Jei pažymėta, Gajim ignoruos visas įeinančias žinutes iš kontaktų, kurie " +#~ "neįtraukti į jūsų kontaktų sąrašą. Naudokite šią funkciją atsargiai, " +#~ "todėl, kad negausite jokių žinučių iš žmonių, kurie neįtraukti į jūsų " +#~ "kontaktų sąrašą." + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." +#~ msgstr "" +#~ "Gajim gali išsiųsti ir parsisiųsti meta-informaciją, susijusią su " +#~ "pokalbiu, kurį galite turėti su kokiu nors asmeniu. Čia jūs galite " +#~ "nurodyti kokią koduotę išsiųsti kitai šaliai." + +#, fuzzy +#~ msgid "S_end chat state notifications" +#~ msgstr "_Siųsti pokalbio būklės pranešimus:" + +#, fuzzy +#~ msgid "Login Options" +#~ msgstr "Šyp_senėlės:" + +#~ msgid "Please wait while retrieving search form..." +#~ msgstr "Palaukite, kol atsisiųs paieškos forma..." + +#~ msgid "_Add contact" +#~ msgstr "Įtr_aukti Kontaktą" + +#~ msgid "Ad-hoc Commands - Gajim" +#~ msgstr "Ad-hoc Komandos - Gajim" + +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "Prašome luktelti, kol atsisiųs komandų sąrašas..." + +#~ msgid "Choose command to execute:" +#~ msgstr "Pasirinktie komandą vykdymui:" + +#~ msgid "Check once more" +#~ msgstr "Patikrinti dar kartą" + +#, fuzzy +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "Prašome luktelti, kol siunčiama komanda..." + +#~ msgid "This jabber entity does not expose any commands." +#~ msgstr "Ši jabber esybė nepateikė jokių komando." + +#, fuzzy +#~ msgid "F_inish" +#~ msgstr "_Baigti" + +#~ msgid "Failed to get secret keys" +#~ msgstr "Failed to get secret keys" + +#~ msgid "OpenPGP Key Selection" +#~ msgstr "OpenPGP Key Selection" + +#~ msgid "Choose your OpenPGP key" +#~ msgstr "Choose your OpenPGP key" + +#~ msgid "KeyID" +#~ msgstr "KeyID" + +#~ msgid "Contact name" +#~ msgstr "Contact name" + +#~ msgid "You are currently connected without your OpenPGP key." +#~ msgstr "You are currently connected without your OpenPGP key." + +#, fuzzy +#~ msgid "Wrong passphrase" +#~ msgstr "Save passphrase" + +#, fuzzy +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "OpenPGP passphrase was not given" + +#~ msgid "Passphrase Required" +#~ msgstr "Passphrase Required" + +#, fuzzy +#~ msgid "OpenPGP key expired" +#~ msgstr "OpenPGP Key Selection" + +#, fuzzy +#~ msgid "" +#~ "Your OpenPGP key has expired, you will be connected to %s without OpenPGP." +#~ msgstr "You will be connected to %s without OpenPGP." + +#, fuzzy +#~ msgid "Please retype your OpenPGP passphrase or press Cancel." +#~ msgstr "Please retype your GPG passphrase or press Cancel." + +#~ msgid "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." + +#~ msgid "if specified, the message will be encrypted using this public key" +#~ msgstr "if specified, the message will be encrypted using this public key" + +#, fuzzy +#~ msgid "" +#~ "Sends a chat message to someone on your roster. Optionally with OpenPGP " +#~ "key and account. If you want to only set the latter, set OpenPGP key to " +#~ "\"\"." +#~ msgstr "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." + +#, fuzzy +#~ msgid "OpenPGP:" +#~ msgstr "OpenPGP: " + +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "Priskirti Open_PGP Raktą..." + +#, fuzzy +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "OpenPGP Key Selection" + +#, fuzzy +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "Šifruojamos pokalbio žinutės." + +#, fuzzy +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "Connection not available" + +#, fuzzy +#~ msgid "OpenPGP Key" +#~ msgstr "OpenPGP: " + +#~ msgid "Cancel confirmation" +#~ msgstr "Atšaukti sutikimą" + +#, fuzzy +#~ msgid "%s - Ad-hoc Commands - Gajim" +#~ msgstr "Ad-hoc Komandos - Gajim" + +#~ msgid "_Start Chat" +#~ msgstr "_Pradėti pokalbį" + +#~ msgid "Au_thorize" +#~ msgstr "Au_torizuoti" + +#~ msgid "Really send file?" +#~ msgstr "Tikrai siųsti failą?" + +#~ msgid "You are currently connected to the server" +#~ msgstr "You are currently connected to the server" + +#, fuzzy +#~ msgid "This can not be undone." +#~ msgstr "The service could not be found" + +#~ msgid "What do you want to do?" +#~ msgstr "Ką norėtumėte veikti?" + +#~ msgid "You have received new entries (and %d not displayed):" +#~ msgid_plural "You have received new entries (and %d not displayed):" +#~ msgstr[0] "Jūs gavote naujų įrašų (ir %d nerodomi):" +#~ msgstr[1] "Jūs gavote naujų įrašų (ir %d nerodomi):" + +#, fuzzy +#~ msgid "Status messages displayed in chat window" +#~ msgstr "Išsiųsti žinutę ir uždaryti langą" + +#~ msgid "?print_status:All" +#~ msgstr "All" + +#~ msgid "Enter and leave only" +#~ msgstr "Enter and leave only" + +#~ msgid "?print_status:None" +#~ msgstr "None" + +#~ msgid "D-Bus python bindings are missing in this computer" +#~ msgstr "D-Bus python bindings are missing in this computer" + +#~ msgid "D-Bus capabilities of Gajim cannot be used" +#~ msgstr "D-Bus capabilities of Gajim cannot be used" + +#, fuzzy +#~ msgid "D-Bus does not run correctly on this machine: system bus not present" +#~ msgstr "D-Bus is not present on this machine or python module is missing" + +#, fuzzy +#~ msgid "" +#~ "D-Bus does not run correctly on this machine: session bus not present" +#~ msgstr "D-Bus is not present on this machine or python module is missing" + +#~ msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +#~ msgstr "%(nick)s has been kicked by %(who)s: %(reason)s" + +#~ msgid "%(nick)s has been banned by %(who)s: %(reason)s" +#~ msgstr "%(nick)s has been banned by %(who)s: %(reason)s" + +#, fuzzy +#~ msgid "%s is full" +#~ msgstr "Šriftas" + +#, fuzzy +#~ msgid "" +#~ "Can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no " +#~ "longer print status line in groupchats when a member changes their status " +#~ "and/or their status message. If \"all\" Gajim will print all status " +#~ "messages. If \"in_and_out\", Gajim will only print FOO enters/leaves " +#~ "group chat." +#~ msgstr "" +#~ "can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no " +#~ "longer print status line in groupchats when a member changes his or her " +#~ "status and/or his or her status message. If \"all\" Gajim will print all " +#~ "status messages. If \"in_and_out\", Gajim will only print FOO enters/" +#~ "leaves group chat." + +#, fuzzy +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "Rodyti asmenų _būklės žinutes kontaktų sąraše" + +#, fuzzy +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "Anoniminė autentikaciją" + +#, fuzzy +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "Anoniminė autentikacija" + +#, fuzzy +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "Anoniminė autentikacija" + +#~ msgid "" +#~ "Displayed chat state notifications in chat windows. Can be one of all, " +#~ "composing_only, disabled." +#~ msgstr "" +#~ "Displayed chat state notifications in chat windows. Can be one of all, " +#~ "composing_only, disabled." + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." +#~ msgstr "" +#~ "Gajim gali išsiųsti ir parsisiųsti meta-informaciją, susijusią su " +#~ "pokalbiu, kurį galite turėti su kokiu nors asmeniu. Čia jūs galite " +#~ "nurodyti kokią koduotę rodyti pokalbių languose." + +#~ msgid "This is an irreversible operation." +#~ msgstr "This is an irreversible operation." + +#~ msgid "Settings" +#~ msgstr "Nustatymai" + +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "Gajim Istorijos Žurnalų Valdymas" + +#~ msgid "Member List" +#~ msgstr "Member List" + +#~ msgid "Owner List" +#~ msgstr "Owner List" + +#~ msgid "Administrator List" +#~ msgstr "Administrator List" + +#~ msgid "Nick" +#~ msgstr "Nick" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "Whom do you want to ban?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Member…" +#~ msgstr "Adding Member..." + +#~ msgid "" +#~ "Whom do you want to make a member?\n" +#~ "\n" +#~ msgstr "" +#~ "Whom do you want to make a member?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Owner…" +#~ msgstr "Adding Owner..." + +#~ msgid "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" +#~ msgstr "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Administrator…" +#~ msgstr "Adding Administrator..." + +#~ msgid "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" +#~ msgstr "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" + +#~ msgid "Description" +#~ msgstr "Aprašymas" + +#, fuzzy +#~ msgid "?features:Available" +#~ msgstr "Prisijungęs" + +#~ msgid "Feature" +#~ msgstr "Savybė" + +#~ msgid "Filter:" +#~ msgstr "Filtras:" + +#~ msgid "Chat Appearance" +#~ msgstr "Pokalbio Išvaizda" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed out" +#~ msgstr "" +#~ "Gajim rodys pranešimus apie ką tik atsijungusius asmenis iššokančiame " +#~ "langelyje, dešiniajame apatiniame ekrano kampe" + +#~ msgid "Sounds" +#~ msgstr "Garsai" + +#~ msgid "Chat state notifications" +#~ msgstr "Pokalbio būklės pranešimai" + +#, fuzzy +#~ msgid "_Away after" +#~ msgstr "_Nuėjęs po:" + +#, fuzzy +#~ msgid "_Not available after" +#~ msgstr "_Nepasiekiamas po:" + +#~ msgid "Auto Status" +#~ msgstr "Automatinė Būklė" + +#~ msgid "Status Messages" +#~ msgstr "Būklės Žinutės" + +#, fuzzy +#~ msgid "Audio" +#~ msgstr "Veiksmai" + +#, fuzzy +#~ msgid "Video" +#~ msgstr "Antras:" + +#, fuzzy +#~ msgid "Connection" +#~ msgstr "Sąlygos" + +#~ msgid "Custom" +#~ msgstr "Kitaip" + +#~ msgid "Privacy" +#~ msgstr "Privatumas" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "Išplėstinis konfigūracijos redaktorius" + +#, fuzzy +#~ msgid "File transfer, room bookmarks" +#~ msgstr "File Transfer Error" + +#, fuzzy +#~ msgid "XML console interface" +#~ msgstr "XML Console" + +#, fuzzy +#~ msgid "(ESession info)" +#~ msgstr "Aprašymas" + +#~ msgid "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" +#~ msgstr "" +#~ "Jei neišjungtas, Gajim automatiškai pakeis tekstines šypsenėles tokias " +#~ "kaip ':)', į atitinkamus animuotus arba statinius paveiksliukus „rožiukus“" + +#, fuzzy +#~ msgid "_Emoticons" +#~ msgstr "Šyp_senėlės:" + +#~ msgid "_Highlight misspelled words" +#~ msgstr "Žymėti žodžius su _gramatine klaida" + +#, fuzzy +#~ msgid "Notify by icon when your messages are received" +#~ msgstr "Sound to play when any MUC message arrives." + +#, fuzzy +#~ msgid "T_heme" +#~ msgstr "_Tema:" + +#~ msgid "Themes" +#~ msgstr "Temos" + +#~ msgid "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." +#~ msgstr "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." + +#, fuzzy +#~ msgid "Presence" +#~ msgstr "_Buvimas" + +#~ msgid "theme name" +#~ msgstr "theme name" + +#~ msgid "You cannot delete your current theme" +#~ msgstr "You cannot delete your current theme" + +#~ msgid "New Private Message from group chat %s" +#~ msgstr "New Private Message from group chat %s" + +#~ msgid "%(nickname)s: %(message)s" +#~ msgstr "%(nickname)s: %(message)s" + +#~ msgid "Status message text color." +#~ msgstr "Būklės žinutės teksto spalva." + +#~ msgid "Incoming nickname font." +#~ msgstr "Įeinančio slapyvardžio šriftas." + +#~ msgid "Status message text font." +#~ msgstr "Būklės žinutės teksto šriftas." + +#~ msgid "Background color of contacts when they just signed in." +#~ msgstr "Background colour of contacts when they just signed in." + +#~ msgid "Background color of contacts when they just signed out." +#~ msgstr "Background colour of contacts when they just signed out." + +#~ msgid "green" +#~ msgstr "green" + +#~ msgid "grocery" +#~ msgstr "grocery" + +#~ msgid "human" +#~ msgstr "human" + +#~ msgid "marine" +#~ msgstr "marine" + +#, fuzzy +#~ msgid "Contact row" +#~ msgstr "Asmuo" + +#~ msgid "Gajim Themes Customization" +#~ msgstr "Gajim temų keitimas" + +#~ msgid "Text _color:" +#~ msgstr "Teksto _spalva:" + +#~ msgid "_Background:" +#~ msgstr "_Fonas:" + +#~ msgid "Text _font:" +#~ msgstr "Teksto šri_ftas:" + +#~ msgid "Font style:" +#~ msgstr "Šrifto stilius:" + +#~ msgid "Paused" +#~ msgstr "sustabdytas" + +#~ msgid "Gone" +#~ msgstr "Dingo" + +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "" +#~ "MUC\n" +#~ "Žinutės" + +#~ msgid "Chatstate Tab Colors" +#~ msgstr "Pokalbių būklės žymių spalvos" + +#, fuzzy +#~ msgid "Chat message" +#~ msgstr "Būklės pranešimas:" + +#~ msgid "Use system _default" +#~ msgstr "Naudoti sisteminius nustatymus" + +#~ msgid "Font" +#~ msgstr "Šriftas" + +#, fuzzy +#~ msgid "Contact's nickname" +#~ msgstr "Contact name" + +#, fuzzy +#~ msgid "_Status message" +#~ msgstr "_Būklės pranešimas:" + +#, fuzzy +#~ msgid "Your message" +#~ msgstr "Error message: %s" + +#~ msgid "Chat Line Colors" +#~ msgstr "Pokalbio Eilutės Spalvos" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#~ msgid "Resource:" +#~ msgstr "Šaltinis:" + +#~ msgid "Status:" +#~ msgstr "Būklė:" + +#~ msgid "Contact time:" +#~ msgstr "Kontakto laikas:" + +#~ msgid "Ask:" +#~ msgstr "Klausk:" + +#~ msgid "Subscription:" +#~ msgstr "Prenumerata:" + +#~ msgid "Name:" +#~ msgstr "Vardas:" + +#~ msgid "Nickname:" +#~ msgstr "Slapyvardis:" + +#~ msgid "Street:" +#~ msgstr "Gatvė:" + +#~ msgid "City:" +#~ msgstr "Miestas:" + +#~ msgid "State:" +#~ msgstr "Valstija:" + +#~ msgid "Extra Address:" +#~ msgstr "Papildomas adresas:" + +#~ msgid "Postal Code:" +#~ msgstr "Pašto Kodas:" + +#~ msgid "Country:" +#~ msgstr "Šalis:" + +#~ msgid "Homepage:" +#~ msgstr "Asmeninė svetainė:" + +#~ msgid "E-Mail:" +#~ msgstr "El. paštas:" + +#~ msgid "Phone No.:" +#~ msgstr "Tel. Nr.:" + +#~ msgid "Birthday:" +#~ msgstr "Gimtadienis:" + +#~ msgid "Family:" +#~ msgstr "Pavardė:" + +#~ msgid "Middle:" +#~ msgstr "Antras:" + +#~ msgid "Prefix:" +#~ msgstr "Titulas:" + +#~ msgid "Given:" +#~ msgstr "Duotas:" + +#~ msgid "Suffix:" +#~ msgstr "Sufiksas:" + +#~ msgid "Full Name" +#~ msgstr "Pilnas Vardas" + +#~ msgid "Company:" +#~ msgstr "Kompanija:" + +#~ msgid "Department:" +#~ msgstr "Skyrius:" + +#~ msgid "Position:" +#~ msgstr "Pareigos:" + +#~ msgid "Role:" +#~ msgstr "Vaidmuo:" + +#~ msgid "Edit %s" +#~ msgstr "Edit %s" + +#~ msgid "Contact with \"%s\" cannot be established" +#~ msgstr "Contact with \"%s\" cannot be established" + +#~ msgid "Registration information for transport %s has not arrived in time" +#~ msgstr "Registration information for transport %s has not arrived in time" + +#~ msgid "Register to" +#~ msgstr "Registruotis prie" + +#, fuzzy +#~ msgid "Enter name / JID of contact or groupchat" +#~ msgstr "Contact name" + +#~ msgid "Search:" +#~ msgstr "Ieškoti:" + +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "Without a connection, you can not change your password." + +#~ msgid "Invalid password" +#~ msgstr "Invalid password" + +#~ msgid "The passwords typed in both fields must be identical." +#~ msgstr "The passwords typed in both fields must be identical." + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "Įveskite jį dar kartą, dėl patvirtinimo:" + +#~ msgid "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" +#~ msgstr "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" + +#~ msgid "unsubscribe request from %s" +#~ msgstr "unsubscribe request from %s" + +#, fuzzy +#~ msgid "Homepage:" +#~ msgstr "Asmeninė svetainė:" + +#~ msgid "Manage Bookmarks" +#~ msgstr "Žymių valdymas" + +#~ msgid "_Nickname:" +#~ msgstr "_Slapyvardis:" + +#, fuzzy +#~ msgid "Pr_int status:" +#~ msgstr "Rodyti būklę:" + +#, fuzzy +#~ msgid "Add JID" +#~ msgstr "Jabber ID:" + +#, fuzzy +#~ msgid "Preference:" +#~ msgstr "Parinktys" + +#, fuzzy +#~ msgid "Preference" +#~ msgstr "Parinktys" + +#, fuzzy +#~ msgid "JID:" +#~ msgstr "Jūsų JID:" + +#, fuzzy +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "" +#~ "Please fill in the data of the contact you want to add in account %s" + +#~ msgid "Please fill in the data of the contact you want to add" +#~ msgstr "Please fill in the data of the contact you want to add" + +#, fuzzy +#~ msgid "Recently" +#~ msgstr "Nesenai:" + +#~ msgid "Add New Contact" +#~ msgstr "Prijungti naują asmenį" + +#~ msgid "_User ID:" +#~ msgstr "_Naudotojo ID:" + +#, fuzzy +#~ msgid "Type User ID" +#~ msgstr "User ID:" + +#, fuzzy +#~ msgid "Type Nickname" +#~ msgstr "Slapyvardis:" + +#~ msgid "Personal Information" +#~ msgstr "Asmeninė informacija" + +#~ msgid "Avatar:" +#~ msgstr "Atvaizdas:" + +#~ msgid "Click to set your avatar" +#~ msgstr "Spauskia čia, kad įkeltum savo atvaizdą" + +#, fuzzy +#~ msgid "Remove Avatar" +#~ msgstr "_Trinti" + +#~ msgid "Not fetched because of invisible status" +#~ msgstr "Not fetched because of invisible status" + +#~ msgid "Please wait..." +#~ msgstr "Prašome palaukti..." + +#~ msgid "Yahoo! Address:" +#~ msgstr "Yahoo! Address:" + +#~ msgid "Forward unread messages" +#~ msgstr "Persiųsti neskaitytas žinutes" + +#, fuzzy +#~ msgid "Forward unread message then disconnect" +#~ msgstr "Persiųsti neskaitytas žinutes" + +#~ msgid "MSN Address:" +#~ msgstr "MSN Address:" + +#~ msgid "Encrypting chat messages." +#~ msgstr "Šifruojamos pokalbio žinutės." + +#~ msgid "This session is encrypted" +#~ msgstr "Ši žinutė šifruota" + +#, fuzzy +#~ msgid "end-to-end encryption disabled" +#~ msgstr "GPG šifravimas išjungtas" + +#~ msgid "Unable to decrypt message" +#~ msgstr "Nepavyko iškoduoti žinutės" + +#~ msgid "When %s becomes:" +#~ msgstr "When %s becomes:" + +#~ msgid "Adding Special Notification for %s" +#~ msgstr "Adding Special Notification for %s" + +#~ msgid "Unable to load idle module" +#~ msgstr "Unable to load idle module" + +#, fuzzy +#~ msgid "%s or %s is a directory but should be a file" +#~ msgstr "%s is a directory but should be a file" + +#~ msgid "creating logs database" +#~ msgstr "creating logs database" + +#, fuzzy +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "Pak_viesti į" + +#, fuzzy +#~ msgid "Rename account label" +#~ msgstr "Pervadinti Prieigą" + +#, fuzzy +#~ msgid "Send Single Message..." +#~ msgstr "_Siųsti Žinutę..." + +#~ msgid "E2E encryption disabled" +#~ msgstr "E2E šifravimas išjungtas" + +#~ msgid "uri" +#~ msgstr "uri" + +#~ msgid "cyan" +#~ msgstr "cyan" + +#~ msgid "migrating logs database to indices" +#~ msgstr "migrating logs database to indices" + +#, fuzzy +#~ msgid "Send File..." +#~ msgstr "Siųsti _Failą..." + +#, fuzzy +#~ msgid "Jingle File Transfer" +#~ msgstr "Failų siuntimai" + +#~ msgid "Shows or hides the roster window" +#~ msgstr "Shows or hides the roster window" + +#, fuzzy +#~ msgid "XMPP account %s" +#~ msgstr "XMPP prieiga %s@%s" + +#, fuzzy +#~ msgid "Exception" +#~ msgstr "Description" + +#~ msgid "_Actions" +#~ msgstr "_Veiksmai" + +#~ msgid "You are already in group chat %s" +#~ msgstr "You are already in group chat %s" + +#~ msgid "Join Group Chat with account %s" +#~ msgstr "Join Group Chat with account %s" + +#, fuzzy +#~ msgid "Please enter the group chat JID as room@server." +#~ msgstr "The group chat Jabber ID has invalid characters." + +#, fuzzy +#~ msgid "The group chat JID contains invalid characters." +#~ msgstr "The group chat Jabber ID has invalid characters." + +#~ msgid "Start Chat with account %s" +#~ msgstr "Start Chat with account %s" + +#, fuzzy +#~ msgid "" +#~ "Fill in the nickname or the JID of the contact you would like\n" +#~ "to send a chat message to:" +#~ msgstr "" +#~ "Fill in the nickname or the Jabber ID of the contact you would like\n" +#~ "to send a chat message to:" + +#, fuzzy +#~ msgid "Nickname / JID" +#~ msgstr "Duplicate Jabber ID" + +#~ msgid "Unable to parse \"%s\"." +#~ msgstr "Unable to parse \"%s\"." + +#~ msgid "Shows the chat dialog so that you can send messages to a contact" +#~ msgstr "Shows the chat dialogue so that you can send messages to a contact" + +#~ msgid "JID of the contact that you want to chat with" +#~ msgstr "JID of the contact that you want to chat with" + +#~ msgid "Adds contact to roster" +#~ msgstr "Adds contact to roster" + +#~ msgid "jid" +#~ msgstr "jid" + +#~ msgid "Adds new contact to this account" +#~ msgstr "Adds new contact to this account" + +#~ msgid "Opens 'Start Chat' dialog" +#~ msgstr "Opens 'Start Chat' dialogue" + +#~ msgid "Starts chat, using this account" +#~ msgstr "Starts chat, using this account" + +#, fuzzy +#~ msgid "Handle a xmpp:/ URI" +#~ msgstr "Handle a xmpp: uri" + +#~ msgid "Join a MUC room" +#~ msgstr "Join a MUC room" + +#, fuzzy +#~ msgid "Wrong URI" +#~ msgstr "Wrong host" + +#~ msgid "Server:" +#~ msgstr "Serveris:" + +#, fuzzy +#~ msgid "Join this room _automatically when I connect" +#~ msgstr "Prisijungti prie šio kambario automatiškai." + +#, fuzzy +#~ msgid "Bro_wse Rooms" +#~ msgstr "_Browse" + +#~ msgid "Hides the buttons in chat windows." +#~ msgstr "Paslėps mygtukus pokalbių languose." + +#, fuzzy +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "Žy_mės" + +#, fuzzy +#~ msgid "Show advanced functions (Alt+D)" +#~ msgstr "Rodyti šypsenėlių sąrašą (Alt+M)" + +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "Įtraukti šį kontaktą į sąrašą (Ctrl+D)" + +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "Pakviesti kontaktus į pokalbį (Ctrl+G)" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Įtraukti šį kontaktą į sąrašą (Ctrl+D)" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Įtraukti šį kontaktą į sąrašą (Ctrl+D)" + +#~ msgid "Ma_ke message windows compact" +#~ msgstr "_Padaryti žinučių langus kompaktiškus" + +#~ msgid "Hide all buttons in chat windows" +#~ msgstr "Slėpti visus mygtukus pokalbio languose" + +#, fuzzy +#~ msgid "Hide the chat buttons" +#~ msgstr "Usage: /%s, hide the chat buttons." + +#~ msgid "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." +#~ msgstr "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." + +#, fuzzy +#~ msgid "?CLI:room" +#~ msgstr "room" + +#, fuzzy +#~ msgid "?CLI:nick" +#~ msgstr "nick" + +#, fuzzy +#~ msgid "?CLI:password" +#~ msgstr "password" + +#~ msgid "Use D-Bus and Notification-Daemon to show notifications" +#~ msgstr "Use D-Bus and Notification-Daemon to show notifications" + +#~ msgid "_Open Gmail Inbox" +#~ msgstr "_Atidaryti Gmail paštą" + +#~ msgid "Notify on new _GMail email" +#~ msgstr "Pranešk apie naujus _GMail laiškus" + +#~ msgid "" +#~ "If checked, Gajim will show a notification when a new e-mail is received " +#~ "via GMail" +#~ msgstr "" +#~ "Jei pažymėsite, Gajim parodys pranešimą, kai gausite naują laišką į GMail" + +#~ msgid "Display _extra email details" +#~ msgstr "Rodyti papildomus _el. pašto duomenis" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will also include information about the sender of new " +#~ "emails" +#~ msgstr "" +#~ "Jei pažymėsite, Gajim taip pat įtrauks informaciją apie naujo laiško " +#~ "siuntėją" + +#~ msgid "GMail Options" +#~ msgstr "GMail nustatymai" + +#, fuzzy +#~ msgid "20" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Invited %s to %s" +#~ msgstr "Pak_viesti į" + +#~ msgid "GMail Email Received" +#~ msgstr "GMail E-mail Received" + +#, fuzzy +#~ msgid "New e-mail on %(gmail_mail_address)s" +#~ msgstr "New mail on %(gmail_mail_address)s" + +#, fuzzy +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "You have %d new mail conversation" +#~ msgstr[1] "You have %d new mail conversations" + +#~ msgid "Resour_ce:" +#~ msgstr "Šal_tinis:" + +#~ msgid "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" +#~ msgstr "" +#~ "Šaltinis siunčiamas į Jabber serverį, tam, kad būtų atskirti JID, kai yra " +#~ "prisijungę du ar daugiau klientų tuo pačiu metu, tame pačiame serveryje " +#~ "ir prie tos pačios prieigos. Jūs galite būti prisijungę prie tos pačios " +#~ "prieigos su šaltiniu 'Namai' ir 'Darbas', tuo pačiu metu. Šaltinis, kuris " +#~ "turi didžiausią prioritetą gaus visus pranešimus. (žiūrėkite žemiau)" + +#~ msgid "A_djust to status" +#~ msgstr "_Nustatyti būklei" + +#~ msgid "Priority will change automatically according to your status." +#~ msgstr "Prioritetas keisis automatiškai, priklausomai nuo jūsų būklės." + +#~ msgid "Anonymous authentication" +#~ msgstr "Anoniminė autentikaciją" + +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "Prioritetas, Jabber'yje naudojamas, kad nustatyti, kas turi gauti " +#~ "pranešimus iš jabber serverio, kai du ar daugiau klientų yra prisijungę " +#~ "prie tos pačios prieigos; Klientas, turintis aukščiausią prioritetą gaus " +#~ "pranešimus" + +#, fuzzy +#~ msgid "Synchronize contacts" +#~ msgstr "Sinchronizuoti kontaktus" + +#~ msgid "Chan_ge Password" +#~ msgstr "_Keisti slaptažodį" + +#~ msgid "Administration operations" +#~ msgstr "Administravimo operacijos" + +#, fuzzy +#~ msgid "Browse..." +#~ msgstr "_Browse" + +#, fuzzy +#~ msgid "Certificate is e_ncrypted" +#~ msgstr "[This message is encrypted]" + +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "" +#~ "Jei pažymėta, po pasileidimo Gajim automatiškai jungsis prie jabber " +#~ "naudodamas šią prieigą" + +#, fuzzy +#~ msgid "Synchronize logs with server" +#~ msgstr "Sinchronizuoti kontaktus" + +#~ msgid "Synch_ronize account status with global status" +#~ msgstr "Sinchronizuoti prieigos būklę su globalia būkle" + +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "Jei pažymėta, bet koks globalus būklės pakeitimas (įvykdytas iš sąrašo, " +#~ "pagrindinio lango apačioje) įtakos ir šios prieigos būklę accordingly" + +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "Jei pažymėta, Gajim siųs užklausimą į kelis IP išskyrus Jūsų IP, tokiu " +#~ "būdu pagerės bylos siuntimas." + +#~ msgid "Proxy" +#~ msgstr "Proksis" + +#~ msgid "Send _keep-alive packets" +#~ msgstr "Siųsti „aš-gyvas“ paketus" + +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "" +#~ "Jei pažymėta, Gajim siuntinės „aš-gyvas“ paketus, kad nebūtų prarastas " +#~ "ryšys, dėl ko gali įvyksta savaiminiai atsijungimai" + +#~ msgid "Use cust_om hostname/port" +#~ msgstr "Naudoti parinktą serverio adresą/prievadą" + +#~ msgid "_Hostname: " +#~ msgstr "_Serverio adresas: " + +#~ msgid "_Port: " +#~ msgstr "_Prievadas:" + +#~ msgid "Choose _Key..." +#~ msgstr "Pasirinkite _Raktą..." + +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "" +#~ "Jei pažymėta, Gajim ims slaptažodį iš GPG agento, tokio kaip seahorse" + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#~ msgid "_Edit Personal Information..." +#~ msgstr "_Keisti Asmeninę Informaciją..." + +#~ msgid "Personal Information" +#~ msgstr "Asmeninė informacija" + +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "_Prisijungti, kai Gajim pasileis" + +#~ msgid "Synchroni_ze account status with global status" +#~ msgstr "Sinchronizuoti prieigos būklę su globalia būkle" + +#~ msgid "Use cust_om port:" +#~ msgstr "Naudoti parinktą prievadą:" + +#~ msgid "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." +#~ msgstr "" +#~ "Jei prievadas, pagal nutylėjimą, kuris naudojamas įeinančioms žinutėms " +#~ "neatitinka jūsų nustatymų, čia galite pasirinkti kitą.\n" +#~ "Turėtumėte pakeisti leistinus ugniasienės nustatymus." + +#~ msgid "To change the account name, you must be disconnected." +#~ msgstr "To change the account name, you must be disconnected." + +#~ msgid "To change the account name, you must read all pending events." +#~ msgstr "To change the account name, you must read all pending events." + +#~ msgid "Account Name Already Used" +#~ msgstr "Account Name Already Used" + +#~ msgid "Account name cannot be empty." +#~ msgstr "Account name cannot be empty." + +#~ msgid "Account name cannot contain spaces." +#~ msgstr "Account name cannot contain spaces." + +#, fuzzy +#~ msgid "A JID must be in the form \"user@servername\"." +#~ msgstr "A Jabber ID must be in the form \"user@servername\"." + +#~ msgid "No such account available" +#~ msgstr "No such account available" + +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "" +#~ "You must create your account before editing your personal information." + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "Without a connection, you can not edit your personal information." + +#~ msgid "Your server can't save your personal information." +#~ msgstr "Your server can't save your personal information." + +#~ msgid "Please rename or remove it before enabling link-local messaging." +#~ msgstr "Please rename or remove it before enabling link-local messaging." + +#~ msgid "THANKS:" +#~ msgstr "THANKS:" + +#~ msgid "Jabber Traffic" +#~ msgstr "Jabber Srautas" + +#~ msgid "_Enable" +#~ msgstr "Į_jungti" + +#, fuzzy +#~ msgid "Filter" +#~ msgstr "Šriftas" + +#~ msgid "_IQ" +#~ msgstr "_IQ" + +#~ msgid "Info/Query" +#~ msgstr "Informacija/Užklausa" + +#~ msgid "XML Input" +#~ msgstr "XML Įvestis" + +#~ msgid "XML Console for %s" +#~ msgstr "XML Console for %s" + +#, fuzzy +#~ msgid "Idle for:" +#~ msgstr "XML Console for %s" + +#~ msgid "Last status: %s" +#~ msgstr "Last status: %s" + +#~ msgid " since %s" +#~ msgstr " since %s" + +#~ msgid "since %s" +#~ msgstr "since %s" + +#, fuzzy +#~ msgid "Prefer" +#~ msgstr "Parinktys" + +#, fuzzy +#~ msgid "Auto" +#~ msgstr "Automatinis prsijungimas" + +#, fuzzy +#~ msgid "Invalid expire value" +#~ msgstr "Invalid File" + +#~ msgid "How many minutes should last lines from previous conversation last." +#~ msgstr "How many minutes should last lines from previous conversation last." + +#~ msgid "You will be connected to %s without OpenPGP." +#~ msgstr "You will be connected to %s without OpenPGP." + +#~ msgid "The following message was NOT encrypted" +#~ msgstr "Ši žinutė NEBUVO šifruota" + +#~ msgid "Toggle Open_PGP Encryption" +#~ msgstr "Įjungti Open_PGP kodavimą" + +#~ msgid "Toggle End to End Encryption" +#~ msgstr "Įjungti Abipusį Šifravimą" + +#, fuzzy +#~ msgid "OpenPGP encryption enabled" +#~ msgstr "GPG šifravimas įjungtas" + +#~ msgid "The following message was encrypted" +#~ msgstr "Ši žinutė buvo šifruota" + +#, fuzzy +#~ msgid "Toggle the OpenPGP encryption" +#~ msgstr "Įjungti Open_PGP kodavimą" + +#~ msgid "" +#~ "If True, listen to D-Bus signals from NetworkManager and change the " +#~ "status of accounts (provided they do not have listen_to_network_manager " +#~ "set to False and they sync with global status) based upon the status of " +#~ "the network connection." +#~ msgstr "" +#~ "If True, listen to D-Bus signals from NetworkManager and change the " +#~ "status of accounts (provided they do not have listen_to_network_manager " +#~ "set to False and they sync with global status) based upon the status of " +#~ "the network connection." + +#~ msgid "Database cannot be read." +#~ msgstr "Negalima nuskaityti duomenų bazės." + +#~ msgid "Smooth scroll message in conversation window" +#~ msgstr "Lygus žinutės slinkimas pokalbio lange" + +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "Keisti _Privačiuosius Sąrašus..." + +#~ msgid "_Administrator" +#~ msgstr "_Administratorius" + +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "" +#~ "Bus išsiųstos žinutės naudotojams, prisijungusiems prie šio serverio" + +#~ msgid "Sets Message of the Day" +#~ msgstr "Nustatyti dienos žinutę" + +#~ msgid "Updates Message of the Day" +#~ msgstr "Atnaujinti dienos žinutę" + +#~ msgid "Deletes Message of the Day" +#~ msgstr "Ištrins dienos žinutę" + +#~ msgid "Add _Contact..." +#~ msgstr "Įtraukti _Kontaktą..." + +#~ msgid "Profile, A_vatar" +#~ msgstr "Profilis, At_vaizdas" + +#~ msgid "File _Transfers" +#~ msgstr "Failų _Siuntimai" + +#~ msgid "Help online" +#~ msgstr "Pagalba tinkle" + +#~ msgid "Frequently Asked Questions (online)" +#~ msgstr "Dažniausiai Užduodami Klausimai (prisijungus)" + +#~ msgid "Fea_tures" +#~ msgstr "_Savybės" + +#~ msgid "Invalid Jabber ID" +#~ msgstr "Invalid Jabber ID" + +#~ msgid "This file is being used by another process." +#~ msgstr "This file is being used by another process." + +#~ msgid "pgp key" +#~ msgstr "pgp key" + +#~ msgid "" +#~ "Sends new single message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Sends new single message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." + +#, fuzzy +#~ msgid "Please first choose another theme as your current theme." +#~ msgstr "Please first choose another for your current theme." + +#~ msgid "Your passphrase is incorrect" +#~ msgstr "Your passphrase is incorrect" + +#~ msgid "You successfully received %(filename)s from %(name)s." +#~ msgstr "You successfully received %(filename)s from %(name)s." + +#, fuzzy +#~ msgid "Set logs directory" +#~ msgstr "creating %s directory" + +#~ msgid "Change Status Message..." +#~ msgstr "Change Status Message..." + +#~ msgid "_Change Status Message..." +#~ msgstr "_Change Status Message..." + +#~ msgid "" +#~ "You are not interested in the contact's presence, and neither he/she is " +#~ "interested in yours" +#~ msgstr "" +#~ "You are not interested in the contact's presence, and neither he/she is " +#~ "interested in yours" + +#~ msgid "Error description..." +#~ msgstr "Klaidos aprašymas..." + +#, fuzzy +#~ msgid "View contact information (Ctrl+I)" +#~ msgstr "Pakviesti kontaktus į pokalbį (Ctrl+G)" + +#, fuzzy +#~ msgid "All Chat Histories" +#~ msgstr "Old stories" + +#~ msgid "More" +#~ msgstr "Daugiau" + +#~ msgid "%s is not the name of a group chat." +#~ msgstr "%s is not the name of a group chat." + +#~ msgid "Gajim needs X server to run. Quiting..." +#~ msgstr "Gajim needs X server to run. Quiting..." + +#, fuzzy +#~ msgid "Gajim needs PyGTK 2.22 or above" +#~ msgstr "Gajim needs PySQLite2 to run" + +#, fuzzy +#~ msgid "Gajim needs PyGTK 2.22 or above to run. Quiting..." +#~ msgstr "Gajim needs X server to run. Quiting..." + +#, fuzzy +#~ msgid "Gajim needs GTK 2.22 or above" +#~ msgstr "Gajim needs PySQLite2 to run" + +#, fuzzy +#~ msgid "Gajim needs GTK 2.22 or above to run. Quiting..." +#~ msgstr "Gajim needs X server to run. Quiting..." + +#~ msgid "Gajim needs pywin32 to run" +#~ msgstr "Gajim needs pywin32 to run" + +#~ msgid "" +#~ "Please make sure that Pywin32 is installed on your system. You can get it " +#~ "at %s" +#~ msgstr "" +#~ "Please make sure that Pywin32 is installed on your system. You can get it " +#~ "at %s" + +#~ msgid "Gajim is already running" +#~ msgstr "Gajim is already running" + +#~ msgid "" +#~ "Another instance of Gajim seems to be running\n" +#~ "Run anyway?" +#~ msgstr "" +#~ "Another instance of Gajim seems to be running\n" +#~ "Run anyway?" + +#~ msgid "Jabber ID: " +#~ msgstr "Jabber ID: " + +#~ msgid "Resource: " +#~ msgstr "Resource: " + +#, fuzzy +#~ msgid "Mood: " +#~ msgstr "Nuotaika:" + +#, fuzzy +#~ msgid "Activity: " +#~ msgstr "Aktyvumas:" + +#~ msgid "Check on startup if Gajim is the _default Jabber client" +#~ msgstr "Startuojant tikrinti ar Gajim yra pagrindinis Jabber klientas" + +#~ msgid "" +#~ "If True, Gajim will check if it's the default jabber client on each " +#~ "startup." +#~ msgstr "" +#~ "If True, Gajim will check if it's the default jabber client on each " +#~ "startup." + +#~ msgid "Execute Command..." +#~ msgstr "Vykdyti Komandą..." + +#~ msgid " a window/tab opened with that contact " +#~ msgstr " atidarytas langas/žymė su šiuo asmeniu " + +#~ msgid "Actions" +#~ msgstr "Veiksmai" + +#~ msgid "Conditions" +#~ msgstr "Sąlygos" + +#~ msgid "Advanced Notifications Control" +#~ msgstr "Išplėstinis pranešimų valdymas" + +#~ msgid "Busy " +#~ msgstr "Užsiėmęs " + +#, fuzzy +#~ msgid "Contact Change Status " +#~ msgstr "Contact Changed Status" + +#~ msgid "Don't have " +#~ msgstr "Neturiu " + +#, fuzzy +#~ msgid "File Transfer Started " +#~ msgstr "File Transfer Stopped" + +#, fuzzy +#~ msgid "Group Chat Message Highlight " +#~ msgstr "Group Chat Message Highlight" + +#, fuzzy +#~ msgid "Group Chat Message Received " +#~ msgstr "Group Chat Message Received" + +#~ msgid "Launch a command" +#~ msgstr "Paleisti komandą" + +#~ msgid "One or more special statuses..." +#~ msgstr "Viena ar daugiau specialių būklių..." + +#~ msgid "Online / Free For Chat" +#~ msgstr "Prisijungęs / Laisvas susirašinėti" + +#~ msgid "Play a sound" +#~ msgstr "Groti garsą" + +#~ msgid "When " +#~ msgstr "Kai " + +#~ msgid "" +#~ "_Activate window manager's UrgencyHint to make chat window in taskbar " +#~ "flash" +#~ msgstr "" +#~ "_Aktyvuoti langų tvarkyklės UrgencyHint, kad pokalbio langas mirksėtų " +#~ "užduočių juostoje" + +#~ msgid "_Disable auto opening chat window" +#~ msgstr "_Padaryti, kad pokalbių langas automatiškai neiššoktu" + +#~ msgid "_Disable existing popup window" +#~ msgstr "_Uždrausti esančius iššokstančius (pop-up) langus" + +#~ msgid "_Disable existing sound for this event" +#~ msgstr "_Uždrausti esmą garsą šiam įvykiui" + +#, fuzzy +#~ msgid "_Disable showing event in notification area" +#~ msgstr "_Uždrausti įvykių rodyma kantaktų sąraše" + +#~ msgid "_Disable showing event in roster" +#~ msgstr "_Uždrausti įvykių rodyma kantaktų sąraše" + +#~ msgid "_Inform me with a popup window" +#~ msgstr "_Informuok mane su iššokstančiu langu" + +#~ msgid "_Open chat window with user" +#~ msgstr "_Atidaryti pokalbio langą su šiuo naudotoju" + +#~ msgid "_Show event in roster" +#~ msgstr "_Rodyti įvykį kontaktų sąraše" + +#~ msgid "and I " +#~ msgstr "ir aš " + +#, fuzzy +#~ msgid "contact(s)" +#~ msgstr "Asmuo" + +#~ msgid "for " +#~ msgstr "dėl " + +#, fuzzy +#~ msgid "group(s)" +#~ msgstr "Grupės" + +#~ msgid "when I'm in" +#~ msgstr "kai būsiu" + +#~ msgid "_Allow him/her to see my status" +#~ msgstr "_Leisti jam/jai matyti mano būklę" + +#, fuzzy +#~ msgid "Descrition:" +#~ msgstr "Aprašymas: " + +#~ msgid "Advanced..." +#~ msgstr "Išplėstinis..." + +#~ msgid "Display _activity of contacts in roster" +#~ msgstr "Rodyti kontaktų _aktyvumą sąraše" + +#~ msgid "Display m_ood of contacts in roster" +#~ msgstr "Rodyti kontaktų nuotaikas sąraše" + +#~ msgid "" +#~ "If checked, Gajim will display the activity of contacts in the roster " +#~ "window" +#~ msgstr "Jei pažymėta, Gajim rodys kontaktų aktyvumą sąrašo lange" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will display the location of contacts in the roster " +#~ "window" +#~ msgstr "Jei pažymėta, Gajim rodys kontaktų nuotaiką sąrašo lange" + +#~ msgid "Gajim Instant Messenger" +#~ msgstr "Gajim Greitųjų žinučių programa" + +#~ msgid "English" +#~ msgstr "English" + +#~ msgid "Belarusian" +#~ msgstr "Belarusian" + +#~ msgid "Bulgarian" +#~ msgstr "Bulgarian" + +#~ msgid "Spelling language" +#~ msgstr "Rašybos tikrinimo kalba" + +#~ msgid "all or space separated status" +#~ msgstr "all or space separated status" + +#~ msgid "'yes', 'no', or 'both'" +#~ msgstr "'yes', 'no', or 'both'" + +#~ msgid "'yes', 'no' or ''" +#~ msgstr "'yes', 'no' or ''" + +#~ msgid "Check your connection or try again later" +#~ msgstr "Check your connection or try again later" + +#~ msgid "error: cannot open %s for reading" +#~ msgstr "error: cannot open %s for reading" + +#~ msgid "Unable to bind to port %s." +#~ msgstr "Unable to bind to port %s." + +#~ msgid "" +#~ "Maybe you have another running instance of Gajim. File Transfer will be " +#~ "cancelled." +#~ msgstr "" +#~ "Maybe you have another running instance of Gajim. File Transfer will be " +#~ "cancelled." + +#~ msgid "A GTK+ jabber client" +#~ msgstr "A GTK+ jabber client" + +#~ msgid "when I am " +#~ msgstr "when I am " + +#, fuzzy +#~ msgid "one of: offline, online, chat, away, xa, dnd, invisible " +#~ msgstr "one of: offline, online, chat, away, xa, dnd, invisible " + +#, fuzzy +#~ msgid "" +#~ "Returns current status message(the global one unless account is specified)" +#~ msgstr "" +#~ "Returns current status message (the global one unless account is " +#~ "specified)" + +#~ msgid "" +#~ "Usage: %s %s %s \n" +#~ "\t %s" +#~ msgstr "" +#~ "Usage: %s %s %s \n" +#~ "\t %s" + +#~ msgid "Subject: %s" +#~ msgstr "Subject: %s" + +#, fuzzy +#~ msgid "Mood: %s" +#~ msgstr "Nuotaika:" + +#, fuzzy +#~ msgid "Activity: %s" +#~ msgstr "Aktyvumas:" + +#~ msgid "_Disable showing event in systray" +#~ msgstr "_Uždrausti įvykių rodyma sistemos dėkle" + +#~ msgid "_Show event in systray" +#~ msgstr "_Rodyti įvykį sistemos dėkle" + +#, fuzzy +#~ msgid "Autodetect on every Gajim startup" +#~ msgstr "_Prisijungti, kai Gajim pasileis" + +#~ msgid "Show systray:" +#~ msgstr "Rodyti sisteminį dėklą:" + +#~ msgid "we are now subscribed to %s" +#~ msgstr "we are now subscribed to %s" + +#~ msgid "we are now unsubscribed from %s" +#~ msgstr "we are now unsubscribed from %s" + +#~ msgid "Account Modification" +#~ msgstr "Prieigos keitimas" + +#~ msgid "" +#~ "Check this so Gajim will connect in port 5223 where legacy servers are " +#~ "expected to have SSL capabilities. Note that Gajim uses TLS encryption by " +#~ "default if broadcasted by the server, and with this option enabled TLS " +#~ "will be disabled" +#~ msgstr "" +#~ "Jei pažymėsite, Gajim jungsis prie 5223 porto, kur tikimasi, kad " +#~ "serveriai turi SSL galimybes. Gajim, pagal nutylėjimą naudoja TLS " +#~ "šifravimą jei serveris užklausia ir jei ši parinktis yra aktyvi, TLS bus " +#~ "deaktyvuotas" + +#~ msgid "Edit Personal Information..." +#~ msgstr "Keisti asmeninę informaciją..." + +#~ msgid "Hostname: " +#~ msgstr "Serverio adresas: " + +#~ msgid "" +#~ "If checked, Gajim will store the password in ~/.gajim/config with 'read' " +#~ "permission only for you" +#~ msgstr "" +#~ "Jei pažymėta, Gajim saugos slaptažodį faile ~/.gajim/config su 'tik-" +#~ "skaitymui' teisėmis, tik Jums" + +#~ msgid "Port: " +#~ msgstr "Prievadas: " + +#~ msgid "Save _passphrase (insecure)" +#~ msgstr "Išsaugoti _slaptafrazę (nesaugu)" + +#~ msgid "Use _SSL (legacy)" +#~ msgstr "Naudoti _SSL (legacy)" + +#~ msgid "" +#~ "Receive a Message\n" +#~ "Contact Disconnected \n" +#~ "Contact Change Status \n" +#~ "Group Chat Message Highlight \n" +#~ "Group Chat Message Received \n" +#~ "File Transfer Request \n" +#~ "File Transfer Started \n" +#~ "File Transfer Finished" +#~ msgstr "" +#~ "Atsiųsti žinutę\n" +#~ "Asmuo atsijungė \n" +#~ "Asmuo pakeitė būklę \n" +#~ "Paryškinta žinutė grupės pokalbyje \n" +#~ "Gauta žinutė grupės pokalbyje \n" +#~ "Failo atsisiuntimo užklausimas \n" +#~ "Failo siuntimas pradėtas \n" +#~ "Failo siuntimas baigtas" + +#~ msgid "" +#~ "contact(s)\n" +#~ "group(s)\n" +#~ "everybody" +#~ msgstr "" +#~ "asmuo(nys)\n" +#~ "grupė(s)\n" +#~ "visi" + +#~ msgid "" +#~ "Account row\n" +#~ "Group row\n" +#~ "Contact row\n" +#~ "Chat Banner" +#~ msgstr "" +#~ "Prieigos eilutė\n" +#~ "Grupės eilutė\n" +#~ "Asmens eilutė\n" +#~ "Pokalbio paveiksliukas" + +#~ msgid "" +#~ "All chat states\n" +#~ "Composing only\n" +#~ "Disabled" +#~ msgstr "" +#~ "Visos pokalbių būklės\n" +#~ "Tik rąšant\n" +#~ "Uždrausta" + +#~ msgid "" +#~ "Autodetect on every Gajim startup\n" +#~ "Always use GNOME default applications\n" +#~ "Always use KDE default applications\n" +#~ "Always use Xfce default applications\n" +#~ "Custom" +#~ msgstr "" +#~ "Automatiškai aptikti, startuojant Gajim\n" +#~ "Visada naudoti GNOME programas pagal nutylėjimą\n" +#~ "Visada naudoti KDĘ programas pagal nutylėjimą\n" +#~ "Visada naudoti Xfce programas pagal nutylėjimą\n" +#~ "Pasirinktinis" + +#~ msgid "" +#~ "none\n" +#~ "both\n" +#~ "from\n" +#~ "to" +#~ msgstr "" +#~ "joks\n" +#~ "abu\n" +#~ "nuo\n" +#~ "kam" + +#~ msgid "pysqlite2 (aka python-pysqlite2) dependency is missing. Exiting..." +#~ msgstr "pysqlite2 (aka python-pysqlite2) dependency is missing. Exiting..." + +#~ msgid "GTK+ runtime is missing libglade support" +#~ msgstr "GTK+ runtime is missing libglade support" + +#~ msgid "" +#~ "Please remove your current GTK+ runtime and install the latest stable " +#~ "version from %s" +#~ msgstr "" +#~ "Please remove your current GTK+ runtime and install the latest stable " +#~ "version from %s" + +#~ msgid "" +#~ "Please make sure that GTK+ and PyGTK have libglade support in your system." +#~ msgstr "" +#~ "Please make sure that GTK+ and PyGTK have libglade support in your system." + +#~ msgid "" +#~ "To continue sending and receiving messages, you will need to reconnect." +#~ msgstr "" +#~ "To continue sending and receiving messages, you will need to reconnect." + +#~ msgid "" +#~ "You are not connected or not visible to others. Your message could not be " +#~ "sent." +#~ msgstr "" +#~ "You are not connected or not visible to others. Your message could not be " +#~ "sent." + +#~ msgid "Add Special _Notification" +#~ msgstr "Add Special _Notification" + +#~ msgid "Assign Open_PGP Key" +#~ msgstr "Priskirti Open_PGP Raktą" + +#, fuzzy +#~ msgid "" +#~ "Usage: /%(command)s , sends action to the current group chat. Use " +#~ "third person. (e.g. /%(command)s explodes.)" +#~ msgstr "" +#~ "Usage: /%s , sends action to the current group chat. Use third " +#~ "person. (e.g. /%s explodes.)" + +#~ msgid "No help info for /%s" +#~ msgstr "No help info for /%s" + +#~ msgid "Enable link-local/zeroconf messaging" +#~ msgstr "Enable link-local/zeroconf messaging" + +#~ msgid "Nickname not found: %s" +#~ msgstr "Nickname not found: %s" + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s [reason], bans the JID from the group chat. The " +#~ "nickname of an occupant may be substituted, but not if it contains \"@\". " +#~ "If the JID is currently in the group chat, he/she/it will also be kicked." +#~ msgstr "" +#~ "Usage: /%s [reason], bans the JID from the group chat. The " +#~ "nickname of an occupant may be substituted, but not if it contains \"@\". " +#~ "If the JID is currently in the group chat, he/she/it will also be kicked. " +#~ "Does NOT support spaces in nickname." + +#~ msgid "" +#~ "Usage: /%s [reason], closes the current window or tab, displaying reason " +#~ "if specified." +#~ msgstr "" +#~ "Usage: /%s [reason], closes the current window or tab, displaying reason " +#~ "if specified." + +#~ msgid "" +#~ "Usage: /%s [reason], invites JID to the current group chat, " +#~ "optionally providing a reason." +#~ msgstr "" +#~ "Usage: /%s [reason], invites JID to the current group chat, " +#~ "optionally providing a reason." + +#~ msgid "" +#~ "Usage: /%s @[/nickname], offers to join room@server " +#~ "optionally using specified nickname." +#~ msgstr "" +#~ "Usage: /%s @[/nickname], offers to join room@server " +#~ "optionally using specified nickname." + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s [reason], removes the occupant specified by " +#~ "nickname from the group chat and optionally displays a reason." +#~ msgstr "" +#~ "Usage: /%s [reason], removes the occupant specified by " +#~ "nickname from the group chat and optionally displays a reason. Does NOT " +#~ "support spaces in nickname." + +#~ msgid "" +#~ "Usage: /%s [message], opens a private message window and sends " +#~ "message to the occupant specified by nickname." +#~ msgstr "" +#~ "Usage: /%s [message], opens a private message window and sends " +#~ "message to the occupant specified by nickname." + +#~ msgid "" +#~ "Usage: /%s [topic], displays or updates the current group chat topic." +#~ msgstr "" +#~ "Usage: /%s [topic], displays or updates the current group chat topic." + +#~ msgid "" +#~ "Usage: /%s , sends a message without looking for other commands." +#~ msgstr "" +#~ "Usage: /%s , sends a message without looking for other commands." + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s , allow to send you messages and private " +#~ "messages." +#~ msgstr "Usage: /%s , changes your nickname in current group chat." + +#~ msgid "Click to see features (like MSN, ICQ transports) of jabber servers" +#~ msgstr "Jabber serverių paslaugų sąrašas (tokių, kaip: MSN, ICQ pernašos)" + +#~ msgid "Modify Account" +#~ msgstr "Keisti Prieigą" + +#, fuzzy +#~ msgid "" +#~ "%(title)s by %(artist)s\n" +#~ "from %(source)s" +#~ msgstr "\"%(title)s\" by %(artist)s" + +#~ msgid "This account is already configured in Gajim." +#~ msgstr "This account is already configured in Gajim." + +#, fuzzy +#~ msgid "Idle" +#~ msgstr "Id" + +#~ msgid "File transfer stopped by the contact at the other end" +#~ msgstr "File transfer stopped by the contact at the other end" + +#, fuzzy +#~ msgid "Generic" +#~ msgstr "Bendros parinktys" + +#~ msgid "%s has not broadcast an OpenPGP key, nor has one been assigned" +#~ msgstr "%s has not broadcast an OpenPGP key, nor has one been assigned" + +#~ msgid "No such command: /%s (if you want to send this, prefix it with /say)" +#~ msgstr "" +#~ "No such command: /%s (if you want to send this, prefix it with /say)" + +#~ msgid "" +#~ "Usage: /%s , sends action to the current group chat. Use third " +#~ "person. (e.g. /%s explodes.)" +#~ msgstr "" +#~ "Usage: /%s , sends action to the current group chat. Use third " +#~ "person. (e.g. /%s explodes.)" + +#~ msgid "Click to see past conversation in this room" +#~ msgstr "Spauskite, kad pamatytumėte buvusius pokalbius šiame kambaryje" + +#, fuzzy +#~ msgid "History Viewer" +#~ msgstr "Taisyklių sąrašas" + +#, fuzzy +#~ msgid "JID Selection" +#~ msgstr "Aprašymas" + +#~ msgid "Build custom query" +#~ msgstr "Kurti kitokią užklausą" + +#~ msgid "Query Builder..." +#~ msgstr "Užklasų kūrimas..." + +#~ msgid "Invitation Received" +#~ msgstr "Gautas pakvietimas" + +#~ msgid "Format of a line" +#~ msgstr "Eilutės formatas" + +#~ msgid "" +#~ "An example: If you have enabled status message for away, Gajim won't ask " +#~ "you anymore for a status message when you change your status to away; it " +#~ "will use the default one set here" +#~ msgstr "" +#~ "Pavyzdys: Jei esate nustatęs žinutę būklei - nuėjęs, Gajim daugiau " +#~ "neklaus kokią žinutę naudoti, kai nustatoma būklė - nuėjęs; bus naudojama " +#~ "standartinė arba čia nustatyta žinutė" + +#~ msgid "" +#~ "Determined by sender\n" +#~ "Chat message\n" +#~ "Single message" +#~ msgstr "" +#~ "Aptinkamas pagal siuntėją\n" +#~ "Pokalbio žinutė\n" +#~ "Atskira žinutė" + +#, fuzzy +#~ msgid "Hides buttons in chatwindows to " +#~ msgstr "Hides the buttons in group chat window." + +#~ msgid "" +#~ "Never\n" +#~ "Always\n" +#~ "Per account\n" +#~ "Per type" +#~ msgstr "" +#~ "Niekada\n" +#~ "Visada\n" +#~ "Kiekvienam asmeniui\n" +#~ "Kiekvienam tipui" + +#~ msgid "Set status message to reflect currently playing _music track" +#~ msgstr "Nustatyti būklės žinutę, atspindinčią grojamą _muzikinį takelį" + +#~ msgid "The auto away status message" +#~ msgstr "Automatinio nuėjimo būklės pranešimas" + +#~ msgid "Treat all incoming messages as:" +#~ msgstr "Laikyti visas įeinančias žinutes kaip:" + +#, fuzzy +#~ msgid "Use only one message _window:" +#~ msgstr "Vienas žinučių langas:" + +#~ msgid "" +#~ "Works for Rhythmbox and Muine players. For more players, please visit " +#~ "http://trac.gajim.org/wiki/GajimAndMusicPlayer" +#~ msgstr "" +#~ "Veikia su Thythmbox ir Muine grotuvais. Dėl informacijos apie kitus " +#~ "grotuvus apsilankykite svetainėje: http://trac.gajim.org/wiki/" +#~ "GajimAndMusicPlayer" + +#~ msgid "_Advanced Notifications Control..." +#~ msgstr "_Išplėstinis Pranešimų Valdymas..." + +#~ msgid "_Player:" +#~ msgstr "_Grotuvas:" + +#~ msgid "Role:" +#~ msgstr "Funkcija:" + +#~ msgid "A_ccounts" +#~ msgstr "P_rieigos" + +#~ msgid "OS:" +#~ msgstr "OS:" + +#~ msgid "You will always see him or her as offline." +#~ msgstr "You will always see him or her as offline." + +#~ msgid "%s is now %s (%s)" +#~ msgstr "%s is now %s (%s)" + +#~ msgid "%s is now %s" +#~ msgstr "%s is now %s" + +#~ msgid "" +#~ "\n" +#~ "From: %(from_address)s" +#~ msgstr "" +#~ "\n" +#~ "From: %(from_address)s" + +#~ msgid "Network Manager support not available" +#~ msgstr "Network Manager support not available" + +#~ msgid "Session Management support not available (missing gnome.ui module)" +#~ msgstr "Session Management support not available (missing gnome.ui module)" + +#~ msgid "%s - Gajim" +#~ msgstr "%s - Gajim" + +#~ msgid "_New group chat" +#~ msgstr "_New group chat" + +#, fuzzy +#~ msgid "_Log off" +#~ msgstr "_Atsijungti" + +#~ msgid "Connected to server %s:%s with %s" +#~ msgstr "Connected to server %s:%s with %s" + +#~ msgid "Connection to host could not be established" +#~ msgstr "Connection to host could not be established" + +#~ msgid "" +#~ "Connection to host could not be established: Incorrect answer from server." +#~ msgstr "" +#~ "Connection to host could not be established: Incorrect answer from server." + +#~ msgid "_Discover Services..." +#~ msgstr "_Ieškoti paslaugų..." + +#~ msgid "_Retype Password:" +#~ msgstr "_Pakartokite slaptažodį:" + +#~ msgid "" +#~ "If checked, all local contacts that use a Bonjour compatible chat client " +#~ "(like iChat, Trillian or Gaim) will be shown in roster. You don't need to " +#~ "be connected to a jabber server for it to work.\n" +#~ "This is only available if python-avahi is installed and avahi-daemon is " +#~ "running." +#~ msgstr "" +#~ "Jei pažymėta, visi lokalūs asmenys, kurie naudoja pokalbių programas, " +#~ "palaikančias Bonjour (tokias kaip: iChat, Trillian ar Gaim) bus rodomi " +#~ "asmenų sąraše. Jums nereikia būti prisijungusiam prie jabber serverio, " +#~ "kad tai veiktų.\n" +#~ "Tai veikia, tik tuo atveju, jei python-avahi yra įdiegtas ir avahi-deamon " +#~ "yra paleistas." + +#~ msgid "" +#~ "If you have 2 or more accounts and this is checked, Gajim will list all " +#~ "contacts as if you had one account" +#~ msgstr "" +#~ "Jei jūs turite kelias prieigas ir ši žymė yra pažymėta, Gajim pateiks " +#~ "visų asmenų sąrašą taip, lyg jie visi priklausytų vienai prieigai" + +#~ msgid "_Enable link-local messaging" +#~ msgstr "Įjungti lokalūjį pokalbių r_ežimą" + +#~ msgid "_Compact View Alt+C" +#~ msgstr "_Kompaktiška išvaizda Alt+C" + +#~ msgid "Interface Customization" +#~ msgstr "Išvaizdos keitimas" + +#~ msgid "Also known as iChat style" +#~ msgstr "Taip pat žinomas, kaip iChat stilius" + +#~ msgid "E_very 5 minutes" +#~ msgstr "_Kas 5 minutes" + +#~ msgid "" +#~ "Gajim will automatically show new events by popping up the relative window" +#~ msgstr "Gajim automatiškai rodys naujus įvykius iššokančiame langelyje." + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed in" +#~ msgstr "" +#~ "Gajim rodys pranešimus apie ką tik prisijungusius asmenis iššokančiame " +#~ "langelyje, dešiniajame apatiniame ekrano kampe" + +#~ msgid "" +#~ "Gajim will only change the icon of the contact that triggered the new " +#~ "event" +#~ msgstr "Gajim keis tik tų asmenų piktogramas, kurie atliko naują įvykį" + +#~ msgid "" +#~ "If checked, Gajim will remember the roster and chat window positions in " +#~ "the screen and the sizes of them next time you run it" +#~ msgstr "" +#~ "Jei pažymėta, Gajim atsimins kontaktų sąrašo ir pokalbių lango pozicijas " +#~ "ir dydžius ekrane sekančio paleidimo metu" + +#~ msgid "Outgoing Chat state noti_fications:" +#~ msgstr "Išeinančių pokalbių būklės pranešimai:" + +#~ msgid "Print time:" +#~ msgstr "Spausdinimo laikas:" + +#~ msgid "Save _position and size for roster and chat windows" +#~ msgstr "Įsiminti kontakų sąrašo ir pokalbių langų pozicijas ir dydžius" + +#~ msgid "" +#~ "When a new event (message, file transfer request etc..) is received, the " +#~ "following methods may be used to inform you about it. Please note that " +#~ "events about new messages only occur if it is a new message from a " +#~ "contact you are not already chatting with" +#~ msgstr "" +#~ "Naujam įvykiui ivykus (atėjus žinutei, failui ir pan.), sekantys būdai " +#~ "gali būti naudojami jums informuoti apie tai. Pastaba: naujų žinučių " +#~ "įvykiai pasirodys tik jei tai bus nauja žinutė nuo kurio nors asmens, su " +#~ "kuriuo jūs dar nebuvote pradėjęs pokalbio" + +#~ msgid "_Remove from Roster" +#~ msgstr "Ša_linti iš Kontaktų Sąrašo" + +#~ msgid "" +#~ "If that is not your language for which you want to highlight misspelled " +#~ "words, then please set your $LANG as appropriate. Eg. for French do " +#~ "export LANG=fr_FR or export LANG=fr_FR.UTF-8 in ~/.bash_profile or to " +#~ "make it global in /etc/profile.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "If that is not your language for which you want to highlight misspelt " +#~ "words, then please set your $LANG as appropriate. Eg. for French do " +#~ "export LANG=fr_FR or export LANG=fr_FR.UTF-8 in ~/.bash_profile or to " +#~ "make it global in /etc/profile.\n" +#~ "\n" +#~ "Highlighting misspelt words feature will not be used" + +#~ msgid "Every %s _minutes" +#~ msgstr "Every %s _minutes" + +#~ msgid "%s does not appear to be a valid JID" +#~ msgstr "%s does not appear to be a valid JID" + +#~ msgid "Drop %s in group %s" +#~ msgstr "Drop %s in group %s" + +#~ msgid "Hides the buttons in two persons chat window." +#~ msgstr "Hides the buttons in two persons chat window." + +#~ msgid " %d unread single message" +#~ msgid_plural " %d unread single messages" +#~ msgstr[0] " %d unread single message" +#~ msgstr[1] " %d unread single messages" + +#~ msgid " %d unread group chat message" +#~ msgid_plural " %d unread group chat messages" +#~ msgstr[0] " %d unread group chat message" +#~ msgstr[1] " %d unread group chat messages" + +#~ msgid " %d unread private message" +#~ msgid_plural " %d unread private messages" +#~ msgstr[0] " %d unread private message" +#~ msgstr[1] " %d unread private messages" + +#~ msgid "invisible" +#~ msgstr "invisible" + +#~ msgid "offline" +#~ msgstr "offline" + +#~ msgid "2003-12-13T18:30:02Z" +#~ msgstr "2003-12-13T18:30:02Z" + +#~ msgid "Romeo and Juliet" +#~ msgstr "Romeo and Juliet" + +#~ msgid "Soliloquy" +#~ msgstr "Soliloquy" + +#~ msgid "_After time:" +#~ msgstr "_After time:" + +#~ msgid "_Before time:" +#~ msgstr "_Before time:" + +#~ msgid "_Retrieve" +#~ msgstr "_Retrieve" + +#~ msgid "Information published" +#~ msgstr "Information published" + +#~ msgid "Without a connection, you can not get your contact information." +#~ msgstr "Without a connection, you can not get your contact information." + +#~ msgid "This is result of query." +#~ msgstr "This is result of query." + +#~ msgid "Edit items on the list" +#~ msgstr "Edit items on the list" diff --git a/po/nb_NO.po b/po/nb_NO.po new file mode 100644 index 0000000..5bb3701 --- /dev/null +++ b/po/nb_NO.po @@ -0,0 +1,17276 @@ +# Copyright (C) 2005 THE Gajim's'S COPYRIGHT HOLDER +# This file is distributed under the same license as the Gajim package. +# Stian B. Barmen , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: Gajim 0.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-01 17:44+0100\n" +"PO-Revision-Date: 2009-11-18 15:50+0100\n" +"Last-Translator: Stian B. Barmen \n" +"Language-Team: <>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Poedit-Bookmarks: -1,775,-1,-1,-1,-1,-1,-1,-1,-1\n" + +#: gajim/history_manager.py:78 +msgid "Usage:" +msgstr "Bruk:" + +#: gajim/history_manager.py:80 +msgid "Options:" +msgstr "Valg:" + +#: gajim/history_manager.py:82 +msgid "Show this help message and exit" +msgstr "Vis denne hjelpemeldingen og avslutt" + +#: gajim/history_manager.py:83 +msgid "Choose folder for logfile" +msgstr "Velg mappe for loggføring" + +#: gajim/history_manager.py:113 +msgid "Cannot find history logs database" +msgstr "Finner ikke loggføringsdatabasen for historikk" + +#: gajim/history_manager.py:114 +#, fuzzy, python-format +msgid "%s does not exist." +msgstr "Fila finnes ikke" + +#: gajim/history_manager.py:147 gajim/history_manager.py:201 +#: gajim/gtk/add_contact.py:31 gajim/gtk/discovery.py:833 +#: gajim/gtk/accounts.py:892 gajim/data/gui/vcard_information_window.ui:55 +#: gajim/data/gui/bookmarks.ui:45 gajim/data/gui/blocking_list.ui:43 +#: gajim/data/gui/mam_preferences.ui:117 +#, fuzzy +msgid "XMPP Address" +msgstr "AIM-adresse:" + +#: gajim/history_manager.py:160 gajim/history_manager.py:208 +#: gajim/gtk/history.py:108 gajim/data/gui/history_window.ui:89 +msgid "Date" +msgstr "Dato" + +#: gajim/history_manager.py:167 gajim/history_manager.py:231 +#: gajim/data/gui/profile.ui:232 gajim/data/gui/vcard_information_window.ui:442 +#: gajim/data/gui/bookmarks.ui:84 +msgid "Nickname" +msgstr "Kallenavn" + +#: gajim/history_manager.py:178 gajim/history_manager.py:217 +#: gajim/gtk/history.py:117 gajim/data/gui/single_message_window.ui:266 +msgid "Message" +msgstr "Melding" + +#: gajim/history_manager.py:186 gajim/history_manager.py:224 +#: gajim/data/gui/groups_post_window.ui:49 +#: gajim/data/gui/single_message_window.ui:205 +msgid "Subject" +msgstr "Tema" + +#: gajim/history_manager.py:254 +msgid "Database Cleanup" +msgstr "Opprenskning av database" + +#: gajim/history_manager.py:255 +#, fuzzy +msgid "Clean up the database?" +msgstr "oppretter mellomlager for logg-database" + +#: gajim/history_manager.py:256 +#, fuzzy +msgid "" +"This is STRONGLY NOT RECOMMENDED IF GAJIM IS RUNNING.\n" +"Normally, the allocated database size will not be freed, it will just become " +"reusable. This operation may take a while." +msgstr "" +"Normalt vil tildelt databaseplass ikke frigjøres, den vil bare be merket som " +"ledig. Dersom du virkelig ønsker å redusere filstørrelsen klikker du JA, " +"ellers klikker du NEI.\n" +"\n" +"I tilfelle du klikker JA, vent..." + +#: gajim/history_manager.py:262 +#, fuzzy +msgid "_Cleanup" +msgstr "Rydd _opp" + +#: gajim/history_manager.py:527 gajim/gtk/filetransfer.py:238 +#: gajim/gtk/filetransfer.py:248 +msgid "You" +msgstr "Du" + +#: gajim/history_manager.py:539 +#, python-format +msgid "%(who)s on %(time)s said: %(message)s\n" +msgstr "%(who)s sa: %(message)s %(time)s\n" + +#: gajim/history_manager.py:576 gajim/history_manager.py:615 +#: gajim/gtk/themes.py:362 gajim/gtk/roster_item_exchange.py:75 +#: gajim/gtk/roster_item_exchange.py:185 +msgid "Delete" +msgstr "Slett" + +#: gajim/history_manager.py:577 +#, fuzzy +msgid "Delete Conversation" +msgid_plural "Delete Conversations" +msgstr[0] "Bekreftelse av sletting" +msgstr[1] "Bekreftelse av sletting" + +#: gajim/history_manager.py:578 +#, fuzzy, python-format +msgid "Do you want to permanently delete this conversation with %s?" +msgid_plural "Do you want to permanently delete these conversations?" +msgstr[0] "Ønsker du å slette valgt melding?" +msgstr[1] "Ønsker du å slette valgt melding?" + +#: gajim/history_manager.py:616 +#, fuzzy +msgid "Delete Message" +msgid_plural "Delete Messages" +msgstr[0] "Forvalgt melding" +msgstr[1] "Forvalgt melding" + +#: gajim/history_manager.py:617 +#, fuzzy +msgid "Do you want to permanently delete this message?" +msgid_plural "Do you want to permanently delete these messages?" +msgstr[0] "Ønsker du å slette valgt melding?" +msgstr[1] "Ønsker du å slette valgte meldinger?" + +#: gajim/roster_window.py:268 gajim/roster_window.py:991 +msgid "Merged accounts" +msgstr "Flettede kontoer" + +#: gajim/roster_window.py:756 gajim/roster_window.py:1667 +#: gajim/roster_window.py:1669 gajim/roster_window.py:1986 +#: gajim/roster_window.py:3065 gajim/roster_window.py:3098 +#: gajim/roster_window.py:4026 gajim/gui_interface.py:338 +#: gajim/gui_menu_builder.py:254 gajim/gui_menu_builder.py:345 +#: gajim/chat_control.py:291 gajim/chat_control.py:421 +#: gajim/gtk/add_contact.py:320 gajim/gtk/roster_item_exchange.py:112 +#: gajim/gtk/subscription_request.py:77 gajim/gtk/subscription_request.py:126 +#: gajim/common/helpers.py:89 gajim/common/helpers.py:207 +#: gajim/common/contacts.py:243 gajim/common/contacts.py:382 +#: gajim/common/contacts.py:493 +#, fuzzy +msgid "Not in contact list" +msgstr "Vis _frakoblede kontakter" + +#: gajim/roster_window.py:823 gajim/roster_window.py:1579 +#: gajim/roster_window.py:1612 gajim/roster_window.py:1663 +#: gajim/roster_window.py:1665 gajim/roster_window.py:1820 +#: gajim/roster_window.py:2378 gajim/roster_window.py:3990 +#: gajim/roster_window.py:4638 gajim/gtk/discovery.py:127 +#: gajim/gtk/discovery.py:128 gajim/gtk/discovery.py:1419 +#: gajim/common/helpers.py:88 gajim/common/contacts.py:225 +#: gajim/common/contacts.py:485 +msgid "Transports" +msgstr "Transporter" + +#: gajim/roster_window.py:1671 gajim/roster_window.py:1673 +#: gajim/roster_window.py:3990 gajim/roster_window.py:4603 +#: gajim/gui_interface.py:1425 gajim/common/helpers.py:91 +#: gajim/common/contacts.py:223 +#, fuzzy +msgid "Group chats" +msgstr "Gruppesamtaler" + +#: gajim/roster_window.py:1901 gajim/chat_control.py:1688 +msgid "Remote contact stopped transfer" +msgstr "Kontakten stoppet overføringen" + +#: gajim/roster_window.py:1903 gajim/chat_control.py:1690 +msgid "Error opening file" +msgstr "Feil under åpning av fil" + +#: gajim/roster_window.py:1968 +msgid "Authorization sent" +msgstr "Godkjenning sendt" + +#: gajim/roster_window.py:1969 +#, python-format +msgid "\"%s\" will now see your status." +msgstr "\"%s\" vil nå kunne se din status." + +#: gajim/roster_window.py:1987 +msgid "Subscription request has been sent" +msgstr "Abonnementsforespørselen har blitt sendt" + +#: gajim/roster_window.py:1988 +#, fuzzy, python-format +msgid "If \"%s\" accepts this request you will know their status." +msgstr "" +"Hvis \"%s\" godtar denne forespørselen vil du få kjennskap til vedkommendes " +"status." + +#: gajim/roster_window.py:2002 +msgid "Authorization removed" +msgstr "Godkjenning fjernet" + +#: gajim/roster_window.py:2003 +#, python-format +msgid "Now \"%s\" will always see you as offline." +msgstr "Nå vil \"%s\" se deg som frakoblet." + +#: gajim/roster_window.py:2198 gajim/data/gui/shortcuts_window.ui:66 +msgid "Quit Gajim" +msgstr "Avslutt Gajim" + +#: gajim/roster_window.py:2199 +#, fuzzy +msgid "You are about to quit Gajim" +msgstr "Bekreft lukking av Gajim." + +#: gajim/roster_window.py:2200 +msgid "Are you sure you want to quit Gajim?" +msgstr "Bekreft lukking av Gajim." + +#: gajim/roster_window.py:2201 +#, fuzzy +msgid "_Always quit when closing Gajim" +msgstr "Alltid lukk Gajim" + +#: gajim/roster_window.py:2204 gajim/roster_window.py:2299 +#: gajim/roster_window.py:2340 gajim/data/gui/application_menu.ui:30 +#: gajim/data/gui/systray_context_menu.ui:83 +msgid "_Quit" +msgstr "_Avslutt" + +#: gajim/roster_window.py:2292 +#, fuzzy +msgid "Stop File Transfers" +msgstr "Filoverføringer" + +#: gajim/roster_window.py:2293 +#, fuzzy +msgid "You still have running file transfers" +msgstr "Du har filoverføringer underveis" + +#: gajim/roster_window.py:2294 +#, fuzzy +msgid "" +"If you quit now, the file(s) being transferred will be lost.\n" +"Do you still want to quit?" +msgstr "" +"Hvis du avslutter nå, vil fil(ene) som er underveis bli stoppet. Ønsker du " +"fremdeles å avslutte?" + +#: gajim/roster_window.py:2333 +#, fuzzy +msgid "Unread Messages" +msgstr "Uleste hendelser" + +#: gajim/roster_window.py:2334 +#, fuzzy +msgid "You still have unread messages" +msgstr "Du har uleste meldinger" + +#: gajim/roster_window.py:2335 +#, fuzzy +msgid "" +"Messages will only be available for reading them later if storing chat " +"history is enabled and if the contact is in your contact list." +msgstr "" +"Meldinger vil kun være tilgjengelig for senere lesning hvis du har historikk " +"påskrudd og kontakten er å finne på din kontaktliste." + +#: gajim/roster_window.py:2590 +msgid "You have unread messages" +msgstr "Du har uleste meldinger" + +#: gajim/roster_window.py:2591 +msgid "You must read them before removing this transport." +msgstr "Du må lese dem før du fjerner denne transporten." + +#: gajim/roster_window.py:2594 +#, fuzzy, python-format +msgid "Transport '%s' will be removed" +msgstr "Transporten \"%s\" vil bli fjernet" + +#: gajim/roster_window.py:2595 +#, fuzzy +msgid "" +"You will no longer be able to send and receive messages from and to contacts " +"using this transport." +msgstr "" +"Du vil ikke lenger kunne sende og motta meldinger fra kontakter som bruker " +"denne transporten." + +#: gajim/roster_window.py:2598 +msgid "Transports will be removed" +msgstr "Transporter vil bli fjernet" + +#: gajim/roster_window.py:2603 +#, fuzzy, python-format +msgid "" +"You will no longer be able to send and receive messages from and to contacts " +"using these transports:\n" +"%s" +msgstr "" +"Du vil ikke lenger kunne sende og motta meldinger fra kontakter som bruker " +"denne transporten." + +#: gajim/roster_window.py:2607 +#, fuzzy +msgid "Remove Transport" +msgstr "Vis transporter" + +#: gajim/roster_window.py:2662 gajim/chat_control.py:428 +#, fuzzy +msgid "Block Contact" +msgstr "Blokkerte kontakter" + +#: gajim/roster_window.py:2663 gajim/chat_control.py:429 +#, fuzzy +msgid "Really block this contact?" +msgstr "Er OpenPGP tilgjengelig for denne kontakten?" + +#: gajim/roster_window.py:2664 gajim/chat_control.py:430 +#, fuzzy +msgid "" +"You will appear offline for this contact and you will not receive further " +"messages." +msgstr "JID-en til kontakten som vil motta meldingen" + +#: gajim/roster_window.py:2666 +#, fuzzy +msgid "_Do not ask again" +msgstr "_Ikke spør meg igjen" + +#: gajim/roster_window.py:2669 gajim/chat_control.py:434 +#, fuzzy +msgid "_Report Spam" +msgstr "Rapporter feil" + +#: gajim/roster_window.py:2673 gajim/roster_window.py:4778 +#: gajim/gui_menu_builder.py:485 gajim/chat_control.py:438 +#: gajim/data/gui/contact_context_menu.ui:151 +msgid "_Block" +msgstr "_Blokker" + +#: gajim/roster_window.py:2706 +msgid "Rename Contact" +msgstr "Gi kontakt nytt navn" + +#: gajim/roster_window.py:2707 +#, fuzzy, python-format +msgid "Rename contact %s?" +msgstr "Gi kontakt nytt navn" + +#: gajim/roster_window.py:2708 +#, fuzzy +msgid "Please enter a new nickname" +msgstr "E_tter kallenavn:" + +#: gajim/roster_window.py:2712 gajim/roster_window.py:3439 +#: gajim/roster_window.py:4679 gajim/dialogs.py:103 gajim/dialogs.py:116 +#: gajim/gtk/accounts.py:308 gajim/common/contacts.py:178 +#: gajim/common/contacts.py:227 gajim/data/gui/shortcuts_window.ui:12 +#: gajim/data/gui/preferences.ui:96 +msgid "General" +msgstr "Generelt" + +#: gajim/roster_window.py:2715 +msgid "Rename Group" +msgstr "Gi gruppe nytt navn" + +#: gajim/roster_window.py:2716 +#, fuzzy, python-format +msgid "Rename group %s?" +msgstr "Gi gruppe nytt navn" + +#: gajim/roster_window.py:2717 +#, fuzzy +msgid "Please enter a new name" +msgstr "Velg en ny og ren drakt." + +#: gajim/roster_window.py:2747 gajim/roster_window.py:2869 +#: gajim/data/gui/groupchat_control.ui:1859 +#, fuzzy +msgid "_Rename" +msgstr "Gi _nytt navn" + +#: gajim/roster_window.py:2769 gajim/roster_window.py:2770 +msgid "Remove Group" +msgstr "Fjern gruppe" + +#: gajim/roster_window.py:2771 +#, fuzzy, python-format +msgid "Do you want to remove %s from the contact list?" +msgstr "Ønsker du å fjerne gruppen %s fra kontaktlista?" + +#: gajim/roster_window.py:2772 +#, fuzzy +msgid "_Also remove all contacts of this group from contact list" +msgstr "Fjern også alle kontaktene i denne gruppa fra kontaktlista di" + +#: gajim/roster_window.py:2864 gajim/roster_window.py:2865 +#, fuzzy +msgid "Rename Group Chat" +msgstr "Forlat gruppesamtaler" + +#: gajim/roster_window.py:2866 +#, fuzzy +msgid "Please enter a new name for this group chat" +msgstr "Skriv inn nytt brukernavn for din lokale konto" + +#: gajim/roster_window.py:3082 +#, fuzzy +msgid "Remove Contact" +msgstr "Gi kontakt nytt navn" + +#: gajim/roster_window.py:3083 +#, fuzzy +msgid "Remove contact from contact list" +msgstr "Fjerner kontakt fra kontaktliste" + +#: gajim/roster_window.py:3084 +#, fuzzy, python-format +msgid "You are about to remove %(name)s (%(jid)s) from your contact list.\n" +msgstr "" +"Du er i ferd med å fjerne \"%(name)s\" (%(jid)s) fra kontaktlista di.\n" + +#: gajim/roster_window.py:3093 gajim/roster_window.py:3113 +#, fuzzy +msgid "" +"By removing this contact you also remove authorization. This means the " +"contact will see you as offline." +msgstr "" +"Ved å fjerne disse kontaktene fjerner du også autorisasjonen, noe som gjør " +"at de alltid vil se deg som frakoblet." + +#: gajim/roster_window.py:3104 +msgid "Do you want to continue?" +msgstr "Ønsker du å fortsette?" + +#: gajim/roster_window.py:3115 +#, fuzzy +msgid "_I want this contact to know my status after removal" +msgstr "Jeg ønsker at kontakten skal kunne se min status etter fjerning" + +#: gajim/roster_window.py:3122 +#, fuzzy +msgid "Remove contacts from contact list" +msgstr "Fjerner kontakt fra kontaktliste" + +#: gajim/roster_window.py:3128 +#, fuzzy, python-format +msgid "" +"By removing the following contacts, you will also remove authorization. This " +"means they will see you as offline:\n" +"\n" +"%s" +msgstr "" +"Ved å fjerne disse kontaktene fjerner du også autorisasjonen, noe som gjør " +"at de alltid vil se deg som frakoblet." + +#: gajim/roster_window.py:3132 +#, fuzzy +msgid "Remove Contacts" +msgstr "Gi kontakt nytt navn" + +#: gajim/roster_window.py:3761 +#, fuzzy +msgid "You are about to create a metacontact" +msgstr "" +"Du er i ferd med å opprette en metakontakt. Er du sikker på at du vil " +"fortsette?" + +#: gajim/roster_window.py:3762 +#, fuzzy +msgid "" +"Metacontacts are a way to regroup several contacts in one single contact. " +"Generally it is used when the same person has several XMPP- or Transport-" +"Accounts." +msgstr "" +"Metakontakter er en måte å omgruppere flere kontakter på én linje. Generelt " +"brukes dette når samme person har flere XMPP- eller transport-kontoer." + +#: gajim/roster_window.py:3766 +#, fuzzy +msgid "Create Metacontact" +msgstr "Gi kontakt nytt navn" + +#: gajim/roster_window.py:3769 gajim/chat_control_base.py:771 +#: gajim/groupchat_control.py:1676 gajim/message_window.py:368 +msgid "_Do not ask me again" +msgstr "_Ikke spør meg igjen" + +#: gajim/roster_window.py:3772 gajim/data/gui/groupchat_creation.ui:317 +#, fuzzy +msgid "_Create" +msgstr "Kreativ" + +#: gajim/roster_window.py:3889 +msgid "Invalid file URI:" +msgstr "Ugyldig fil-URI:" + +#: gajim/roster_window.py:3901 +#, fuzzy, python-format +msgid "Send this file to %s:\n" +msgid_plural "Send these files to %s:\n" +msgstr[0] "Ønsker du å sende denne fila til %s:" +msgstr[1] "Ønsker du å sende disse filene til %s:" + +#: gajim/roster_window.py:3909 gajim/roster_window.py:3910 +#: gajim/chat_control.py:1541 gajim/gtk/filetransfer_progress.py:36 +msgid "File Transfer" +msgstr "Filoverføring" + +#: gajim/roster_window.py:3914 gajim/data/gui/xml_console.ui:334 +msgid "_Send" +msgstr "_Send" + +#: gajim/roster_window.py:4067 +#, python-format +msgid "Send %(from)s to %(to)s" +msgstr "Send %(from)s til %(to)s" + +#: gajim/roster_window.py:4080 +#, python-format +msgid "Make %s first contact" +msgstr "Gjør %s til første kontakt" + +#: gajim/roster_window.py:4085 +#, python-format +msgid "Make %(contact1)s and %(contact2)s metacontacts" +msgstr "Gjør %(contact1)s og %(contact2)s til metakontakter" + +#: gajim/roster_window.py:4436 gajim/roster_window.py:4523 +#: gajim/gtk/status_selector.py:76 +msgid "_Change Status Message" +msgstr "_Endre statusmelding" + +#: gajim/roster_window.py:4456 +msgid "Publish Tune" +msgstr "Offentliggjør melodi" + +#: gajim/roster_window.py:4467 +msgid "Publish Location" +msgstr "Offentliggjør plassering" + +#: gajim/roster_window.py:4606 +msgid "_Maximize All" +msgstr "_Maksimer alle" + +#: gajim/roster_window.py:4615 gajim/roster_window.py:4743 +msgid "Send Group M_essage" +msgstr "Send gruppe_melding" + +#: gajim/roster_window.py:4622 +msgid "To all users" +msgstr "Til alle brukere" + +#: gajim/roster_window.py:4626 +msgid "To all online users" +msgstr "Til alle påloggede brukere" + +#: gajim/roster_window.py:4637 gajim/roster_window.py:4749 +#: gajim/data/gui/contact_context_menu.ui:36 +msgid "In_vite to" +msgstr "In_viter til" + +#: gajim/roster_window.py:4663 gajim/gui_menu_builder.py:471 +msgid "_Rename…" +msgstr "_Gi nytt navn…" + +#: gajim/roster_window.py:4669 gajim/gui_menu_builder.py:493 +#: gajim/data/gui/contact_context_menu.ui:181 +msgid "Remo_ve" +msgstr "_Fjern" + +#: gajim/roster_window.py:4759 +msgid "_Manage Contacts" +msgstr "_Behandle kontakter" + +#: gajim/roster_window.py:4765 +msgid "Edit _Groups…" +msgstr "Rediger _grupper…" + +#: gajim/roster_window.py:4774 gajim/gui_menu_builder.py:482 +#: gajim/data/gui/contact_context_menu.ui:143 +msgid "_Unblock" +msgstr "_Frigi" + +#: gajim/roster_window.py:4786 gajim/gtk/dialogs.py:70 +#: gajim/data/gui/filetransfers.ui:12 +msgid "_Remove" +msgstr "_Fjern" + +#: gajim/roster_window.py:4823 +msgid "_Maximize" +msgstr "__Maksimer" + +#: gajim/roster_window.py:4828 +#, fuzzy +msgid "Re_name" +msgstr "Gi _nytt navn" + +#: gajim/roster_window.py:4836 gajim/groupchat_control.py:1680 +msgid "_Leave" +msgstr "" + +#: gajim/roster_window.py:4844 +msgid "Execute command" +msgstr "Kjør kommando" + +#: gajim/roster_window.py:4852 gajim/data/gui/application_menu.ui:68 +#: gajim/data/gui/contact_context_menu.ui:205 +msgid "_History" +msgstr "_Historikk" + +#: gajim/roster_window.py:4945 gajim/gui_interface.py:339 +#: gajim/common/helpers.py:90 gajim/common/contacts.py:221 +msgid "Observers" +msgstr "Observatører" + +#: gajim/roster_window.py:4948 +msgid "Observers can see your status, but you are not allowed to see theirs" +msgstr "" + +#: gajim/privatechat_control.py:105 gajim/groupchat_control.py:1225 +#, python-format +msgid "You are now known as %s" +msgstr "Du går nå under navnet %s" + +#: gajim/privatechat_control.py:107 gajim/groupchat_control.py:1227 +#, fuzzy, python-brace-format +msgid "{nick} is now known as {new_nick}" +msgstr "%(nick)s går nå under navnet %(new_nick)s" + +#: gajim/privatechat_control.py:138 gajim/groupchat_control.py:1254 +#, fuzzy, python-brace-format +msgid "You are now {show}{status}" +msgstr "Du går nå under navnet %s" + +#: gajim/privatechat_control.py:142 gajim/groupchat_control.py:1258 +#, fuzzy, python-brace-format +msgid "{nick} is now {show}{status}" +msgstr "%(nick)s er nå %(status)s" + +#: gajim/privatechat_control.py:199 +msgid "Sending private message failed" +msgstr "Forsendelse av privat melding mislyktes" + +#: gajim/privatechat_control.py:201 +#, python-format +msgid "You are no longer in group chat \"%(room)s\" or \"%(nick)s\" has left." +msgstr "" +"Du er ikke lenger i gruppesamtalen \"%(room)s\", eller så har \"%(nick)s\" " +"forlatt den." + +#: gajim/application.py:81 +msgid "Show the application's version" +msgstr "Vis programversjon" + +#: gajim/application.py:88 +msgid "Show only critical errors" +msgstr "Bare vis kritiske feil" + +#: gajim/application.py:95 +#, fuzzy +msgid "Separate profile files completely (even history database and plugins)" +msgstr "Del profilene helt (selv historikkdatabase og programtillegg)" + +#: gajim/application.py:103 +msgid "Print XML stanzas and other debug information" +msgstr "Skriv ut XML-stanza-er og annen feilrettingsinformasjon" + +#: gajim/application.py:110 +msgid "Use defined profile in configuration directory" +msgstr "Bruk definert profil i oppsettsmappe" + +#: gajim/application.py:118 +msgid "Set configuration directory" +msgstr "Velg oppsettsmappe" + +#: gajim/application.py:126 +msgid "Configure logging system" +msgstr "Sett opp loggføringssystem" + +#: gajim/application.py:134 +msgid "Show all warnings" +msgstr "Vis alle advarsler" + +#: gajim/application.py:141 +msgid "Open IPython shell" +msgstr "" + +#: gajim/application.py:148 +msgid "Pops up a window with the next pending event" +msgstr "Viser et oppsprettsvindu med neste ventende hendelse" + +#: gajim/application.py:154 gajim/data/gui/shortcuts_window.ui:17 +#: data/org.gajim.Gajim.desktop.in:21 +msgid "Start a new chat" +msgstr "Start ny samtale" + +#: gajim/application.py:205 gajim/gui_interface.py:131 +msgid "Database Error" +msgstr "Database-feil" + +#: gajim/gui_interface.py:168 +#, python-format +msgid "HTTP (%(method)s) Authorization for %(url)s (ID: %(id)s)" +msgstr "HTTP (%(method)s)-gjodkjenning for %(url)s (ID: %(id)s)" + +#: gajim/gui_interface.py:173 +msgid "Do you accept this request?" +msgstr "Godtar du denne forespørselen?" + +#: gajim/gui_interface.py:175 +#, fuzzy, python-format +msgid "Do you accept this request (account: %s)?" +msgstr "Godtar du denne forespørselen på %s-kontoen?" + +#: gajim/gui_interface.py:181 +#, fuzzy +msgid "Authorization Request" +msgstr "Godkjenning sendt" + +#: gajim/gui_interface.py:182 +#, fuzzy +msgid "HTTP Authorization Request" +msgstr "Godkjenning sendt" + +#: gajim/gui_interface.py:185 gajim/gui_interface.py:376 +#: gajim/gui_interface.py:2002 gajim/gtk/filetransfer.py:339 +#, fuzzy +msgid "_No" +msgstr "Ingen" + +#: gajim/gui_interface.py:203 gajim/gtk/notification.py:189 +#: gajim/gtk/notification.py:216 +msgid "Connection Failed" +msgstr "Tilkobling mislyktes" + +#: gajim/gui_interface.py:299 +#, python-format +msgid "error while sending %(message)s ( %(error)s )" +msgstr "feil ved forsendelse av %(message)s ( %(error)s )" + +#: gajim/gui_interface.py:324 gajim/gtk/notification.py:189 +msgid "Subscription request" +msgstr "Abonnementsforespørsel" + +#: gajim/gui_interface.py:359 +msgid "Authorization accepted" +msgstr "Godkjenning godtatt" + +#: gajim/gui_interface.py:360 +#, fuzzy, python-format +msgid "The contact \"%(jid)s\" has authorized you to see their status." +msgstr "Kontakten \"%s\" har godkjent at du kan se vedkommendes status." + +#: gajim/gui_interface.py:370 +#, fuzzy +msgid "Subscription Removed" +msgstr "Abonnements-forespørsel" + +#: gajim/gui_interface.py:371 +#, fuzzy, python-format +msgid "%(name)s (%(jid)s) has removed subscription from you" +msgstr "Kontakten \"%s\" abonnerer ikke lengre på deg" + +#: gajim/gui_interface.py:373 +#, fuzzy +msgid "" +"You will always see this contact as offline.\n" +"Do you want to remove them from your contact list?" +msgstr "" +"Du vil alltid se dem som frakoblet.\n" +"Ønsker du å fjerne dem fra kontaktlisten din?" + +#: gajim/gui_interface.py:398 gajim/gtk/notification.py:190 +msgid "Unsubscribed" +msgstr "Abonnement opphevet" + +#: gajim/gui_interface.py:410 +#, python-format +msgid "%(jid)s declined the invitation: %(reason)s" +msgstr "%(jid)s avslo invitasjonen: %(reason)s" + +#: gajim/gui_interface.py:414 +#, python-format +msgid "%(jid)s declined the invitation" +msgstr "%(jid)s avslo invitasjonen" + +#: gajim/gui_interface.py:431 gajim/chat_control.py:1606 +#: gajim/gtk/notification.py:188 gajim/gtk/notification.py:214 +#: gajim/gtk/notification.py:286 gajim/gtk/groupchat_invitation.py:33 +#, fuzzy +msgid "Group Chat Invitation" +msgstr "Invitasjon til gruppesamtale" + +#: gajim/gui_interface.py:432 +#, fuzzy, python-format +msgid "%(contact)s invited you to %(chat)s" +msgstr "$Contact har invitert deg til gruppesamtalen %(room_jid)s" + +#: gajim/gui_interface.py:453 +msgid "Certificate Passphrase Required" +msgstr "Sertifikat-passord kreves" + +#: gajim/gui_interface.py:454 +#, python-format +msgid "Enter the certificate passphrase for account %s" +msgstr "Skriv in sertifikatspassordet for kontoen %s" + +#: gajim/gui_interface.py:463 +#, python-format +msgid "Enter your password for account %s" +msgstr "Skriv inn passord for kontoen %s" + +#: gajim/gui_interface.py:475 +msgid "Password Required" +msgstr "Passord påkrevd" + +#: gajim/gui_interface.py:475 +msgid "Save password" +msgstr "Lagre passord" + +#: gajim/gui_interface.py:544 gajim/gui_interface.py:575 +#: gajim/gtk/notification.py:187 gajim/gtk/notification.py:279 +#: gajim/gtk/filetransfer.py:333 gajim/gtk/filetransfer.py:334 +msgid "File Transfer Error" +msgstr "Filoverføring feilet" + +#: gajim/gui_interface.py:609 +#, python-format +msgid "%s wants to send you a file." +msgstr "%s ønsker å sende deg ei fil." + +#: gajim/gui_interface.py:611 gajim/gtk/notification.py:186 +#: gajim/gtk/notification.py:276 gajim/gtk/filetransfer.py:485 +msgid "File Transfer Request" +msgstr "Filoverføringsforespørsel" + +#: gajim/gui_interface.py:714 +#, fuzzy +msgid "Remote Contact Stopped Transfer" +msgstr "Kontakten stoppet overføringen" + +#: gajim/gui_interface.py:719 +#, fuzzy +msgid "Error Opening File" +msgstr "Feil under åpning av fil" + +#: gajim/gui_interface.py:729 +#, fuzzy +msgid "SSL Certificate Error" +msgstr "Feil med SSL-sertifikat" + +#: gajim/gui_interface.py:738 gajim/gui_interface.py:768 +#: gajim/gui_interface.py:794 gajim/chat_control.py:1573 +#: gajim/gtk/notification.py:187 gajim/gtk/notification.py:282 +msgid "File Transfer Completed" +msgstr "Filoverføring fullført" + +#: gajim/gui_interface.py:742 gajim/gui_interface.py:773 +#: gajim/gui_interface.py:800 gajim/gtk/notification.py:188 +#: gajim/gtk/notification.py:283 +msgid "File Transfer Stopped" +msgstr "Filoverføring stoppet" + +#: gajim/gui_interface.py:746 +msgid "File Transfer Failed" +msgstr "Filoverføring mislyktes" + +#: gajim/gui_interface.py:769 +#, python-format +msgid "%(filename)s received from %(name)s." +msgstr "%(filename)s mottatt fra %(name)s." + +#: gajim/gui_interface.py:774 +#, python-format +msgid "File transfer of %(filename)s from %(name)s stopped." +msgstr "Filoverføringen %(filename)s fra %(name)s stoppet." + +#: gajim/gui_interface.py:780 +#, python-format +msgid "File transfer of %(filename)s from %(name)s failed." +msgstr "Filoverføringen %(filename)s fra %(name)s mislyktes." + +#: gajim/gui_interface.py:795 +#, python-format +msgid "You successfully sent %(filename)s to %(name)s." +msgstr "Du har sendt %(filename)s til %(name)s." + +#: gajim/gui_interface.py:801 +#, python-format +msgid "File transfer of %(filename)s to %(name)s stopped." +msgstr "Filoverføringen %(filename)s til %(name)s har stoppet." + +#: gajim/gui_interface.py:807 +#, python-format +msgid "File transfer of %(filename)s to %(name)s failed." +msgstr "Filoverføringen %(filename)s til %(name)s mislyktes." + +#: gajim/gui_interface.py:919 gajim/gui_interface.py:920 +msgid "Username Conflict" +msgstr "Brukernavn-konflikt" + +#: gajim/gui_interface.py:921 +#, fuzzy +msgid "Please enter a new username for your local account" +msgstr "Skriv inn nytt brukernavn for din lokale konto" + +#: gajim/gui_interface.py:925 gajim/gtk/dialogs.py:51 +#: gajim/data/gui/passphrase_dialog.ui:44 +msgid "_OK" +msgstr "_OK" + +#: gajim/gui_interface.py:988 gajim/chat_control.py:763 +#: gajim/chat_control.py:1660 gajim/gtk/notification.py:190 +#, fuzzy +msgid "Incoming Call" +msgstr "_Innkommende melding:" + +#: gajim/gui_interface.py:990 +#, python-format +msgid "%s is calling" +msgstr "" + +#: gajim/gui_interface.py:1071 gajim/gui_interface.py:1072 +#, fuzzy +msgid "Insecure Connection" +msgstr "Usikker tilkobling" + +#: gajim/gui_interface.py:1073 +#, fuzzy, python-format +msgid "" +"You are about to connect to the account %(account)s (%(server)s) using an " +"insecure connection method. This means conversations will not be encrypted. " +"Connecting PLAIN is strongly discouraged." +msgstr "" +"Du er i ferd med å koble til kontoen %(account)s (%(server)s) på usikkert " +"vis. Dette betyr at samtaler vil foregå ukryptert, hvilket frarådes sterkt.\n" +"Er du sikker på at du ønsker å gjøre dette?" + +#: gajim/gui_interface.py:1080 gajim/data/gui/groupchat_control.ui:595 +msgid "_Abort" +msgstr "" + +#: gajim/gui_interface.py:1083 +#, fuzzy +msgid "_Connect Anyway" +msgstr "Kobler til" + +#: gajim/gui_interface.py:1921 +msgid "Gajim: IPython Console" +msgstr "" + +#: gajim/gui_interface.py:1998 +#, fuzzy +msgid "Update Check" +msgstr "Stavekontroll" + +#: gajim/gui_interface.py:1999 +msgid "Gajim Update Check" +msgstr "" + +#: gajim/gui_interface.py:2000 +msgid "Search for Gajim updates periodically?" +msgstr "" + +#: gajim/gui_interface.py:2005 +msgid "_Search Periodically" +msgstr "" + +#: gajim/gui_interface.py:2045 +#, fuzzy +msgid "Update Available" +msgstr "Ikke tilgjengelig" + +#: gajim/gui_interface.py:2046 +#, fuzzy +msgid "Gajim Update Available" +msgstr "Ikke tilgjengelig" + +#: gajim/gui_interface.py:2047 +#, python-format +msgid "There is an update available for Gajim (latest version: %s)" +msgstr "" + +#: gajim/gui_interface.py:2049 +#, fuzzy +msgid "_Do not show again" +msgstr "_Ikke spør meg igjen" + +#: gajim/gui_interface.py:2051 gajim/gtk/accounts.py:126 +msgid "_Later" +msgstr "" + +#: gajim/gui_interface.py:2054 +msgid "_Update Now" +msgstr "" + +#: gajim/gui_menu_builder.py:358 +#, fuzzy +msgid "I would like to add you to my contact list" +msgstr "Jeg vil legge deg til i kontaktlisten min." + +#: gajim/gui_menu_builder.py:435 +msgid "Send Single _Message…" +msgstr "Send enkelt_melding…" + +#: gajim/gui_menu_builder.py:450 +msgid "E_xecute Command…" +msgstr "K_jør Kommando…" + +#: gajim/gui_menu_builder.py:458 +msgid "_Manage Transport" +msgstr "_Behandle transport" + +#: gajim/gui_menu_builder.py:464 +msgid "_Modify Transport" +msgstr "_Endre transport" + +#: gajim/gui_menu_builder.py:503 gajim/data/gui/contact_context_menu.ui:198 +msgid "_Information" +msgstr "_Informasjon" + +#: gajim/gui_menu_builder.py:516 +#, fuzzy +msgid "Send File" +msgstr "Send _fil" + +#: gajim/gui_menu_builder.py:517 +#, fuzzy +msgid "Upload File…" +msgstr "Lagre fil som…" + +#: gajim/gui_menu_builder.py:518 +#, fuzzy +msgid "Send File Directly…" +msgstr "Lagre fil som…" + +#: gajim/gui_menu_builder.py:520 gajim/gtk/accounts.py:734 +#, fuzzy +msgid "Send Read Markers" +msgstr "Send hold-i-live meldinger" + +#: gajim/gui_menu_builder.py:521 gajim/gtk/accounts.py:710 +#, fuzzy +msgid "Send Chatstate" +msgstr "Siste tilstand" + +#: gajim/gui_menu_builder.py:522 gajim/data/gui/groupchat_control.ui:307 +#, fuzzy +msgid "Invite Contacts…" +msgstr "Inviter _kontakter" + +#: gajim/gui_menu_builder.py:523 gajim/gui_menu_builder.py:741 +#: gajim/gui_menu_builder.py:768 gajim/gui_menu_builder.py:807 +#, fuzzy +msgid "Add to Contact List…" +msgstr "Legg til kontakt…" + +#: gajim/gui_menu_builder.py:524 +#, fuzzy +msgid "Block Contact…" +msgstr "Blokkerte kontakter" + +#: gajim/gui_menu_builder.py:525 gajim/data/gui/chat_control.ui:936 +#, fuzzy +msgid "Start Call…" +msgstr "Start samtale" + +#: gajim/gui_menu_builder.py:526 gajim/gui_menu_builder.py:576 +#: gajim/gui_menu_builder.py:802 gajim/data/gui/groupchat_control.ui:1334 +msgid "Information" +msgstr "Informasjon" + +#: gajim/gui_menu_builder.py:527 gajim/gui_menu_builder.py:588 +msgid "History" +msgstr "Historikk" + +#: gajim/gui_menu_builder.py:533 gajim/gui_menu_builder.py:710 +#: gajim/gtk/preferences.py:671 gajim/gtk/groupchat_settings.py:36 +#: gajim/gtk/accounts.py:682 +msgid "Disabled" +msgstr "Avskrudd" + +#: gajim/gui_menu_builder.py:534 gajim/gtk/groupchat_settings.py:37 +#: gajim/gtk/accounts.py:681 +#, fuzzy +msgid "Composing Only" +msgstr "Bare skrivning" + +#: gajim/gui_menu_builder.py:535 gajim/gtk/groupchat_settings.py:38 +#, fuzzy +msgid "All Chat States" +msgstr "Alle samtalestatuser" + +#: gajim/gui_menu_builder.py:577 +#, fuzzy +msgid "Settings…" +msgstr "Sludresnarveier" + +#: gajim/gui_menu_builder.py:578 +#, fuzzy +msgid "Manage Group Chat" +msgstr "Forlat gruppesamtaler" + +#: gajim/gui_menu_builder.py:579 +#, fuzzy +msgid "Rename…" +msgstr "_Gi nytt navn…" + +#: gajim/gui_menu_builder.py:580 +#, fuzzy +msgid "Change Subject…" +msgstr "Endre emne" + +#: gajim/gui_menu_builder.py:581 +#, fuzzy +msgid "Upload Avatar…" +msgstr "Velg arkiv" + +#: gajim/gui_menu_builder.py:582 +#, fuzzy +msgid "Configure…" +msgstr "_Sett opp" + +#: gajim/gui_menu_builder.py:583 +#, fuzzy +msgid "Destroy…" +msgstr "Ødelegger %s" + +#: gajim/gui_menu_builder.py:585 +#, fuzzy +msgid "Change Nickname…" +msgstr "Endre _kallenavn…" + +#: gajim/gui_menu_builder.py:586 +msgid "Request Voice" +msgstr "Forespør stemme" + +#: gajim/gui_menu_builder.py:587 gajim/gui_menu_builder.py:825 +#, fuzzy +msgid "Execute Command…" +msgstr "K_jør Kommando…" + +#: gajim/gui_menu_builder.py:589 +msgid "Leave" +msgstr "" + +#: gajim/gui_menu_builder.py:631 +#, fuzzy +msgid "Add Contact…" +msgstr "Legg til kontakt…" + +#: gajim/gui_menu_builder.py:632 gajim/gtk/accounts.py:861 +#: gajim/gtk/accounts.py:899 gajim/gtk/profile.py:53 +msgid "Profile" +msgstr "Profil" + +#: gajim/gui_menu_builder.py:633 +#, fuzzy +msgid "Send Single Message…" +msgstr "Send enkelt_melding…" + +#: gajim/gui_menu_builder.py:634 +#, fuzzy +msgid "Discover Services…" +msgstr "Oppdag tjenester" + +#: gajim/gui_menu_builder.py:635 gajim/gtk/server_info.py:47 +msgid "Server Info" +msgstr "Tjenerinfo" + +#: gajim/gui_menu_builder.py:636 gajim/gtk/accounts.py:312 +#: gajim/data/gui/preferences.ui:853 +msgid "Advanced" +msgstr "Avansert" + +#: gajim/gui_menu_builder.py:637 gajim/gtk/mam_preferences.py:100 +msgid "Archiving Preferences" +msgstr "Arkiveringsinnstillinger" + +#: gajim/gui_menu_builder.py:638 +#, fuzzy +msgid "Blocking List" +msgstr "Liste over bannlyste" + +#: gajim/gui_menu_builder.py:639 +msgid "Bookmarks" +msgstr "Bokmerker" + +#: gajim/gui_menu_builder.py:640 +#, fuzzy +msgid "PEP Configuration" +msgstr "Oppsett" + +#: gajim/gui_menu_builder.py:641 +#, fuzzy +msgid "Synchronise History…" +msgstr "Synkroniser historikk" + +#: gajim/gui_menu_builder.py:643 gajim/gtk/server_info.py:141 +#: gajim/data/gui/groupchat_config.ui:36 +msgid "Admin" +msgstr "Admin" + +#: gajim/gui_menu_builder.py:644 +#, fuzzy +msgid "Send Server Message…" +msgstr "_Send tjenermelding…" + +#: gajim/gui_menu_builder.py:645 +#, fuzzy +msgid "Set MOTD…" +msgstr "Sett MOTD…" + +#: gajim/gui_menu_builder.py:646 +#, fuzzy +msgid "Update MOTD…" +msgstr "Oppdater MOTD…" + +#: gajim/gui_menu_builder.py:647 +#, fuzzy +msgid "Delete MOTD…" +msgstr "Slett MFD (MOTD)…" + +#: gajim/gui_menu_builder.py:684 +#, fuzzy +msgid "_Add Account…" +msgstr "Legg til kontakt…" + +#: gajim/gui_menu_builder.py:690 +#, fuzzy +msgid "_Modify Accounts…" +msgstr "_Rediger Konto" + +#: gajim/gui_menu_builder.py:700 gajim/data/gui/account_context_menu.ui:79 +#: gajim/data/gui/zeroconf_context_menu.ui:26 +#, fuzzy +msgid "_Modify Account…" +msgstr "_Rediger Konto" + +#: gajim/gui_menu_builder.py:704 gajim/gtk/accounts.py:51 +msgid "Accounts" +msgstr "Kontoer" + +#: gajim/gui_menu_builder.py:734 gajim/gui_menu_builder.py:739 +#, fuzzy +msgid "Copy XMPP Address" +msgstr "_Kopier JID/E-postadresse" + +#: gajim/gui_menu_builder.py:735 gajim/gui_menu_builder.py:767 +msgid "Join Groupchat" +msgstr "Ta del i gruppesludring" + +#: gajim/gui_menu_builder.py:740 gajim/gui_menu_builder.py:766 +#: gajim/gtk/start_chat.py:636 +#: gajim/data/gui/subscription_request_window.ui:149 +msgid "Start Chat" +msgstr "Start samtale" + +#: gajim/gui_menu_builder.py:746 +#, fuzzy +msgid "Copy Link Location" +msgstr "_Kopier lenke-plassering" + +#: gajim/gui_menu_builder.py:747 +#, fuzzy +msgid "Open Link in Browser" +msgstr "_Åpne lenke i nettleser" + +#: gajim/gui_menu_builder.py:752 +#, fuzzy +msgid "Copy Email Address" +msgstr "_Kopier JID/E-postadresse" + +#: gajim/gui_menu_builder.py:753 gajim/gui_menu_builder.py:765 +#, fuzzy +msgid "Open Email Composer" +msgstr "_Åpne E-post-behandler" + +#: gajim/gui_menu_builder.py:758 +#, fuzzy +msgid "Copy Location" +msgstr "_Kopier lenke-plassering" + +#: gajim/gui_menu_builder.py:759 gajim/gtk/preferences.py:291 +#, fuzzy +msgid "Show Location" +msgstr "Plassering:" + +#: gajim/gui_menu_builder.py:764 +#, fuzzy +msgid "Copy XMPP Address/Email" +msgstr "_Kopier JID/E-postadresse" + +#: gajim/gui_menu_builder.py:816 +#, fuzzy +msgid "Invite" +msgstr "In_viter" + +#: gajim/gui_menu_builder.py:832 +#, fuzzy +msgid "Kick" +msgstr "_Kast ut" + +#: gajim/gui_menu_builder.py:840 +#, fuzzy +msgid "Ban" +msgstr "_Bannlys" + +#: gajim/gui_menu_builder.py:850 +#, fuzzy +msgid "Make Owner" +msgstr "Eier" + +#: gajim/gui_menu_builder.py:859 +#, fuzzy +msgid "Make Admin" +msgstr "Admin" + +#: gajim/gui_menu_builder.py:868 +#, fuzzy +msgid "Make Member" +msgstr "Medlem" + +#: gajim/gui_menu_builder.py:877 +#, fuzzy +msgid "Revoke Member" +msgstr "Medlem" + +#: gajim/gui_menu_builder.py:887 +msgid "Grant Voice" +msgstr "" + +#: gajim/gui_menu_builder.py:890 +#, fuzzy +msgid "Revoke Voice" +msgstr "Forespør stemme" + +#: gajim/gui_menu_builder.py:910 +#, fuzzy +msgid "Copy" +msgstr "Rom-JID" + +#: gajim/chat_control.py:346 gajim/groupchat_control.py:348 +#, fuzzy +msgid "Send File…" +msgstr "Send _fil" + +#: gajim/chat_control.py:348 gajim/groupchat_control.py:354 +msgid "No File Transfer available" +msgstr "Ingen filoverføringer tilgjengelig" + +#: gajim/chat_control.py:479 +msgid "Show a list of formattings" +msgstr "Vis formateringsliste" + +#: gajim/chat_control.py:483 +msgid "This contact does not support HTML" +msgstr "Denne kontakten støtter ikke HTML" + +#: gajim/chat_control.py:684 +msgid "Ping?" +msgstr "Ping?" + +#: gajim/chat_control.py:687 +#, fuzzy, python-format +msgid "Pong! (%s seconds)" +msgstr "Pong! (%s s.)" + +#: gajim/chat_control.py:758 +#, fuzzy +msgid "Calling…" +msgstr "Bannlyser…" + +#: gajim/chat_control.py:783 gajim/chat_control.py:870 +#, fuzzy +msgid "Connection Error" +msgstr "Tilkobling" + +#: gajim/chat_control.py:811 gajim/data/gui/chat_control.ui:1185 +msgid "Turn Camera on" +msgstr "" + +#: gajim/chat_control.py:822 +msgid "Calling (Video)…" +msgstr "" + +#: gajim/chat_control.py:826 gajim/chat_control.py:834 +#: gajim/chat_control.py:864 +msgid "Turn Camera off" +msgstr "" + +#: gajim/chat_control.py:832 +msgid "Incoming Call (Video)" +msgstr "" + +#: gajim/chat_control.py:1020 +#, python-format +msgid "%(nickname)s from group chat %(room_name)s" +msgstr "%(nickname)s fra gruppesamtale %(room_name)s" + +#: gajim/chat_control.py:1257 +#, fuzzy +msgid "Note: Chat history is disabled for this contact." +msgstr "Se bort fra denne feilen for dette sertifikatet." + +#: gajim/chat_control.py:1259 +msgid "Note: Chat history is disabled for this account." +msgstr "" + +#: gajim/chat_control.py:1260 +#, fuzzy, python-format +msgid "" +"You just received a new message from %s.\n" +"Do you want to close this tab?" +msgstr "Du fikk akkurat en ny melding fra \"%s\"" + +#: gajim/chat_control.py:1266 gajim/gtk/remove_account.py:43 +#: gajim/gtk/change_password.py:44 +#, fuzzy +msgid "Close" +msgstr "_Lukk" + +#: gajim/chat_control.py:1267 gajim/gtk/notification.py:184 +#: gajim/gtk/notification.py:204 gajim/gtk/notification.py:218 +#: gajim/gtk/notification.py:271 gajim/common/connection_handlers_events.py:237 +msgid "New Message" +msgstr "Ny melding" + +#: gajim/chat_control.py:1272 gajim/chat_control.py:1579 +#: gajim/chat_control.py:1588 gajim/message_window.py:371 +#: gajim/data/gui/groupchat_control.ui:1117 +#: gajim/data/gui/groupchat_control.ui:1203 +#: gajim/data/gui/groupchat_control.ui:1308 +#: gajim/data/gui/groupchat_control.ui:1997 +msgid "_Close" +msgstr "_Lukk" + +#: gajim/chat_control.py:1359 +#, python-format +msgid "" +"Subject: %(subject)s\n" +"%(message)s" +msgstr "" +"Emne: %(subject)s\n" +"%(message)s" + +#: gajim/chat_control.py:1480 +#, python-format +msgid "%(name)s is now %(show)s %(status)s" +msgstr "%(name)s er nå %(show)s %(status)s" + +#: gajim/chat_control.py:1545 +msgid "Size" +msgstr "Størrelse" + +#: gajim/chat_control.py:1547 gajim/chat_control.py:1609 +#: gajim/gtk/groupchat_invitation.py:67 +#, fuzzy +msgid "_Decline" +msgstr "_Frakoblet" + +#: gajim/chat_control.py:1550 gajim/chat_control.py:1611 +#: gajim/chat_control.py:1668 gajim/gtk/dialogs.py:59 +#, fuzzy +msgid "_Accept" +msgstr "_Godkjenn" + +#: gajim/chat_control.py:1577 gajim/gtk/filetransfer.py:259 +#, fuzzy +msgid "Open _Folder" +msgstr "Åpne _inneholdende mappe" + +#: gajim/chat_control.py:1662 +#, fuzzy +msgid "" +"\n" +"Video Call" +msgstr "Videotest" + +#: gajim/chat_control.py:1664 +#, fuzzy +msgid "" +"\n" +"Voice Call" +msgstr "Forespørsel om lydsamtale" + +#: gajim/chat_control.py:1666 +#, fuzzy +msgid "_Reject" +msgstr "Nedslått" + +#: gajim/chat_control.py:1692 gajim/gtk/filetransfer.py:297 +msgid "File transfer stopped" +msgstr "Filoverføring stoppet" + +#: gajim/chat_control.py:1697 gajim/gtk/filetransfer.py:275 +#: gajim/gtk/filetransfer.py:284 +msgid "File transfer cancelled" +msgstr "Filoverføring avbrutt" + +#: gajim/chat_control.py:1698 +msgid "Connection with peer cannot be established." +msgstr "Tilkoblingen med likemann kan ikke opprettes." + +#: gajim/chat_control_base.py:141 gajim/gtk/start_chat.py:649 +#: gajim/gtk/groupchat_invite.py:318 +#, fuzzy, python-format +msgid "Account: %s" +msgstr "Kontoer" + +#: gajim/chat_control_base.py:592 +msgid "and authenticated" +msgstr "og identitetsbekreftet" + +#: gajim/chat_control_base.py:596 +msgid "and NOT authenticated" +msgstr "og IKKE identitetsbekreftet" + +#: gajim/chat_control_base.py:600 +#, python-format +msgid "%(type)s encryption is active %(authenticated)s." +msgstr "%(type)s kryptering er aktiv %(authenticated)s." + +#: gajim/chat_control_base.py:715 +msgid "_Undo" +msgstr "_Angre" + +#: gajim/chat_control_base.py:723 gajim/conversation_textview.py:417 +msgid "_Clear" +msgstr "_Tøm" + +#: gajim/chat_control_base.py:728 +msgid "Paste as quote" +msgstr "" + +#: gajim/chat_control_base.py:767 +#, fuzzy +msgid "Paste Image" +msgstr "Velg bilde" + +#: gajim/chat_control_base.py:768 +#, fuzzy +msgid "You are trying to paste an image" +msgstr "Du er i ferd med å lokke flerfoldige faner" + +#: gajim/chat_control_base.py:769 +#, fuzzy +msgid "" +"Are you sure you want to paste your clipboard's image into the chat window?" +msgstr "Er du sikker på at du vil forlate gruppesamtalen \"%s\"?" + +#: gajim/chat_control_base.py:775 +msgid "_Paste" +msgstr "" + +#: gajim/chat_control_base.py:1361 gajim/gtk/accounts.py:310 +#: gajim/data/gui/profile.ui:17 gajim/data/gui/profile.ui:318 +#, fuzzy +msgid "Privacy" +msgstr "Personverns-liste" + +#: gajim/chat_control_base.py:1362 +#, fuzzy +msgid "Warning" +msgstr "Advarsel: %s" + +#: gajim/chat_control_base.py:1363 +#, fuzzy, python-format +msgid "" +"If you send a file to %s, your real XMPP address will be revealed." +msgstr "Dersom du sender en fil til %s, vil vedkommende kjenne din ekte JID." + +#: gajim/chat_control_base.py:1368 +msgid "_Continue" +msgstr "_Fortsett" + +#: gajim/gajim_remote.py:55 gajim/common/exceptions.py:70 +msgid "D-Bus is not present on this machine or python module is missing" +msgstr "D-Bus finnes ikke på denne maskinen eller python-modulen mangler" + +#: gajim/gajim_remote.py:77 +msgid "Shows a help on specific command" +msgstr "Viser hjelp vedrørende en gitt kommando" + +#: gajim/gajim_remote.py:80 +msgid "command" +msgstr "kommando" + +#: gajim/gajim_remote.py:81 +msgid "show help on command" +msgstr "vis hjelp på kommando" + +#: gajim/gajim_remote.py:85 +#, fuzzy +msgid "Lists all contacts in the contact list, one for each line" +msgstr "Lister opp alle kontakter i kontaktliste, én på hver linje" + +#: gajim/gajim_remote.py:87 gajim/gajim_remote.py:102 gajim/gajim_remote.py:112 +#: gajim/gajim_remote.py:122 gajim/gajim_remote.py:133 +#: gajim/gajim_remote.py:142 gajim/gajim_remote.py:163 +#: gajim/gajim_remote.py:171 gajim/gajim_remote.py:180 +#: gajim/gajim_remote.py:187 +msgid "?CLI:account" +msgstr "?CLI:konto" + +#: gajim/gajim_remote.py:87 +msgid "show only contacts of the given account" +msgstr "bare vis kontakter tilhørende gitt konto" + +#: gajim/gajim_remote.py:93 +msgid "Prints a list of registered accounts" +msgstr "Skriver en liste over registrerte kontoer" + +#: gajim/gajim_remote.py:97 +msgid "Changes the status of account(s)" +msgstr "Endrer status for alle konti" + +#: gajim/gajim_remote.py:100 +msgid "?CLI:status" +msgstr "?CLI:status" + +#: gajim/gajim_remote.py:100 +#, fuzzy +msgid "" +"one of: offline, online, chat, away, xa, dnd. If not set, use account's " +"previous status" +msgstr "" +"en av: frakoblet, tilkoblet, samtale, borte, mer borte, ikke forstyrr, " +"usynlig. Hvis ikke satt, bruk kontoens foregående status" + +#: gajim/gajim_remote.py:101 gajim/gajim_remote.py:121 +#: gajim/gajim_remote.py:132 gajim/gajim_remote.py:141 +msgid "?CLI:message" +msgstr "?CLI:melding" + +#: gajim/gajim_remote.py:101 +msgid "status message" +msgstr "statusmelding" + +#: gajim/gajim_remote.py:102 +msgid "" +"change status of account \"account\". If not specified, try to change status " +"of all accounts that have \"sync with global status\" option set" +msgstr "" +"Endre status for kontoen \"konto\". Hvis ikke oppgitt, prøv å endre status " +"for alle kontoer som har \"synkroniser med global status\" påslått" + +#: gajim/gajim_remote.py:108 +msgid "Changes the priority of account(s)" +msgstr "Endrer prioritet for alle konti" + +#: gajim/gajim_remote.py:110 +msgid "?CLI:priority" +msgstr "?CLI:prioritet" + +#: gajim/gajim_remote.py:110 +msgid "priority you want to give to the account" +msgstr "prioriteten du ønsker å gi kontoen" + +#: gajim/gajim_remote.py:112 +msgid "" +"change the priority of the given account. If not specified, change status of " +"all accounts that have \"sync with global status\" option set" +msgstr "" +"endre prioriteten til den angitte kontoen. Hvis ikke oppgitt, endre status " +"for alle kontoer som har \"synkroniser med global status\" påslått" + +#: gajim/gajim_remote.py:118 +#, fuzzy +msgid "" +"Sends new chat message to a contact in the contact list. Account is optional." +msgstr "Send en melding til kontakten som påkaller vedkommendes oppmerksomhet" + +#: gajim/gajim_remote.py:120 gajim/gajim_remote.py:130 +#, fuzzy +msgid "XMPP Address of the contact that will receive the message" +msgstr "JID-en til kontakten som vil motta meldingen" + +#: gajim/gajim_remote.py:121 gajim/gajim_remote.py:132 +#: gajim/gajim_remote.py:141 +msgid "message contents" +msgstr "meldingsinnhold" + +#: gajim/gajim_remote.py:122 gajim/gajim_remote.py:133 +#: gajim/gajim_remote.py:142 +msgid "if specified, the message will be sent using this account" +msgstr "hvis oppgitt, vil meldingen bli sendt ved bruk av denne kontoen" + +#: gajim/gajim_remote.py:127 +#, fuzzy +msgid "" +"Sends a chat message to someone on your contact list. Account is optional." +msgstr "Send en melding til kontakten som påkaller vedkommendes oppmerksomhet" + +#: gajim/gajim_remote.py:131 +msgid "subject" +msgstr "tema" + +#: gajim/gajim_remote.py:131 +msgid "message subject" +msgstr "meldingstema" + +#: gajim/gajim_remote.py:138 +#, fuzzy +msgid "Sends new message to a group chat you've joined." +msgstr "Sender en ny melding til en gruppesamtale du er i." + +#: gajim/gajim_remote.py:140 +#, fuzzy +msgid "XMPP Address of the group chat that will receive the message" +msgstr "JID-en til rommet som mottar meldingen" + +#: gajim/gajim_remote.py:147 +msgid "Gets detailed info on a contact" +msgstr "Henter detaljert info om en kontakt" + +#: gajim/gajim_remote.py:149 gajim/gajim_remote.py:162 +#: gajim/gajim_remote.py:170 +#, fuzzy +msgid "XMPP Address of the contact" +msgstr "JID-en til kontakten" + +#: gajim/gajim_remote.py:153 +msgid "Gets detailed info on a account" +msgstr "Henter detaljert info om en konto" + +#: gajim/gajim_remote.py:155 +msgid "Name of the account" +msgstr "Navn på kontoen" + +#: gajim/gajim_remote.py:159 +msgid "Sends file to a contact" +msgstr "Sender fil til en kontakt" + +#: gajim/gajim_remote.py:161 +msgid "file" +msgstr "fil" + +#: gajim/gajim_remote.py:161 +msgid "File path" +msgstr "Mappe" + +#: gajim/gajim_remote.py:163 +msgid "if specified, file will be sent using this account" +msgstr "hvis oppgitt vil fila bli sendt ved bruk av denne kontoen" + +#: gajim/gajim_remote.py:168 +#, fuzzy +msgid "Removes contact from contact list" +msgstr "Fjerner kontakt fra kontaktliste" + +#: gajim/gajim_remote.py:171 +msgid "if specified, contact is taken from the contact list of this account" +msgstr "hvis oppgitt tas kontakten fra kontaktlista tilhørende denne kontoen" + +#: gajim/gajim_remote.py:178 +msgid "Returns current status (the global one unless account is specified)" +msgstr "" +"Viser nåværende status (for alt, med mindre konto-spesifikk er oppgitt)" + +#: gajim/gajim_remote.py:185 +msgid "" +"Returns current status message (the global one unless account is specified)" +msgstr "" +"Viser gjeldende statusmelding (for alt, med mindre konto-spesifikk er " +"oppgitt)" + +#: gajim/gajim_remote.py:192 +msgid "Returns number of unread messages" +msgstr "Viser antall uleste meldinger" + +#: gajim/gajim_remote.py:197 +msgid "Sends custom XML" +msgstr "Sender egendefinert XML" + +#: gajim/gajim_remote.py:199 +msgid "XML to send" +msgstr "XML å sende" + +#: gajim/gajim_remote.py:200 +msgid "" +"Account to which the XML will be sent; if not specified, XML will be sent to " +"all accounts" +msgstr "" +"Kontoen XML-en vil bli sendt til; hvis ikke angitt, vil XML-en sendes til " +"alle kontoer" + +#: gajim/gajim_remote.py:207 +msgid "Check if Gajim is running" +msgstr "Sjekk om Gajim kjører" + +#: gajim/gajim_remote.py:233 +msgid "Missing argument \"contact_jid\"" +msgstr "Mangler argumentet \"contact_jid\"" + +#: gajim/gajim_remote.py:253 +#, fuzzy, python-format +msgid "" +"'%s' is not in your contact list.\n" +"Please specify account for sending the message." +msgstr "" +"'%s' er ikke å finne på din kontaktliste.\n" +"Oppgi konto for forsendelse av melding." + +#: gajim/gajim_remote.py:256 +msgid "You have no active account" +msgstr "Du har ingen aktiv konto" + +#: gajim/gajim_remote.py:304 +msgid "It seems Gajim is not running. So you can't use gajim-remote." +msgstr "Det later til at Gajim ikke kjører. Så du kan ikke bruke gajim-remote." + +#: gajim/gajim_remote.py:331 +#, python-format +msgid "" +"Usage: %(basename)s %(command)s %(arguments)s \n" +"\t %(help)s" +msgstr "" +"Bruk: %(basename)s %(command)s %(arguments)s \n" +"\t %(help)s" + +#: gajim/gajim_remote.py:335 +msgid "Arguments:" +msgstr "Argumenter:" + +#: gajim/gajim_remote.py:339 +#, python-format +msgid "%s not found" +msgstr "%s ikke funnet" + +#: gajim/gajim_remote.py:345 +#, python-format +msgid "" +"Usage:\n" +" %s command [arguments]\n" +"\n" +"Command is one of:\n" +msgstr "" +"Bruk:\n" +" %s command [arguments]\n" +"\n" +"Kommandoen er en av følgende:\n" + +#: gajim/gajim_remote.py:415 +#, python-format +msgid "" +"Too many arguments. \n" +"Type \"%(basename)s help %(command)s\" for more info" +msgstr "" +"For mange argumenter. \n" +"Skriv \"%(basename)s help %(command)s\" for mer informasjon" + +#: gajim/gajim_remote.py:420 +#, python-format +msgid "" +"Argument \"%(arg)s\" is not specified. \n" +"Type \"%(basename)s help %(command)s\" for more info" +msgstr "" +"Argumentet \"%(arg)s\" er ikke oppgitt. \n" +"Skriv \"%(basename)s help %(command)s\" for mer info" + +#: gajim/dialogs.py:70 +#, python-format +msgid "Contact name: %s" +msgstr "Kontaktnavn: %s" + +#: gajim/dialogs.py:72 +#, python-format +msgid "XMPP Address: %s" +msgstr "" + +#: gajim/dialogs.py:189 +msgid "Group" +msgstr "Gruppe" + +#: gajim/dialogs.py:196 +msgid "In the group" +msgstr "I gruppen" + +#: gajim/dialogs.py:211 gajim/gtk/discovery.py:522 +msgid "You are not connected to the server" +msgstr "Du er ikke tilkoblet tjeneren" + +#: gajim/dialogs.py:212 +msgid "Without a connection, you can not synchronise your contacts." +msgstr "Du kan ikke flette kontakter uten å være tilkoblet." + +#: gajim/dialogs.py:223 gajim/dialogs.py:294 +#: gajim/gtk/roster_item_exchange.py:83 gajim/gtk/discovery.py:826 +#: gajim/gtk/discovery.py:1650 gajim/gtk/discovery.py:1896 +#: gajim/gtk/history.py:99 gajim/gtk/vcard_grid.py:34 +#: gajim/data/gui/bookmarks.ui:66 +msgid "Name" +msgstr "Navn" + +#: gajim/dialogs.py:226 gajim/data/gui/preferences.ui:604 +#: gajim/data/gui/server_info.ui:146 +msgid "Server" +msgstr "Tjener" + +#: gajim/dialogs.py:262 +msgid "This account is not connected to the server" +msgstr "Denne kontoen er ikke tilkoblet tjeneren" + +#: gajim/dialogs.py:263 +msgid "You cannot synchronize with an account unless it is connected." +msgstr "Du kan ikke flette med en konto uten å være tilkoblet." + +#: gajim/dialogs.py:292 +msgid "Synchronise" +msgstr "Flett" + +#: gajim/vcard.py:284 +msgid "?Client:Unknown" +msgstr "?Klient:Ukjent" + +#: gajim/vcard.py:289 +msgid "?OS:Unknown" +msgstr "?OS:Ukjent" + +#: gajim/vcard.py:319 gajim/vcard.py:322 +msgid "?Time:Unknown" +msgstr "?Tid:Ukjent" + +#: gajim/vcard.py:373 +msgid "?Role in Group Chat:Role:" +msgstr "?Rolle i gruppesamtale:Rolle:" + +#: gajim/vcard.py:377 +msgid "Affiliation:" +msgstr "Tilhørighet:" + +#: gajim/vcard.py:384 +msgid "" +"This contact is interested in your presence information, but you are not " +"interested in their presence" +msgstr "" +"Denne kontakten er interessert i din tilstedeværelsesinformasjon, men du er " +"ikke interessert i deres" + +#: gajim/vcard.py:386 +msgid "" +"You are interested in the contact's presence information, but it is not " +"mutual" +msgstr "" +"Du er interessert i denne kontaktens tilstedeværelsesinformasjon, men det er " +"ikke gjensidig" + +#: gajim/vcard.py:388 +msgid "The contact and you want to exchange presence information" +msgstr "" +"Dere er interessert i å utveksle hverandres tilstedeværelsesinformasjon" + +#: gajim/vcard.py:390 +msgid "" +"You and the contact have a mutual disinterest in each-others presence " +"information" +msgstr "" +"Dere er gjensidig uinteressert i hverandres tilstedeværelsesinformasjon" + +#: gajim/vcard.py:396 +msgid "You are waiting contact's answer about your subscription request" +msgstr "" +"Du venter på at kontakten skal svare deg vedrørende forespørsel og abonnement" + +#: gajim/vcard.py:398 +msgid "There is no pending subscription request." +msgstr "Ingen ventende abonnementsforespørsel." + +#: gajim/vcard.py:403 gajim/vcard.py:453 gajim/vcard.py:549 +msgid " resource with priority " +msgstr " ressurs med prioritet " + +#: gajim/conversation_textview.py:65 +#, fuzzy +msgid "Untrusted" +msgstr "Interessert" + +#: gajim/conversation_textview.py:68 +msgid "Trust Not Decided" +msgstr "" + +#: gajim/conversation_textview.py:71 +msgid "Unverified" +msgstr "" + +#: gajim/conversation_textview.py:74 +#, fuzzy +msgid "Verified" +msgstr "_Bekreft" + +#: gajim/conversation_textview.py:225 +msgid "" +"Text below this line is what has been said since the\n" +"last time you paid attention to this group chat" +msgstr "" +"Teksten under denne linjen er det som har blitt sagt\n" +"siden sist du fulgte med i denne gruppesamtalen" + +#: gajim/conversation_textview.py:428 +msgid "_Quote" +msgstr "_Sitat" + +#: gajim/conversation_textview.py:436 +#, python-format +msgid "_Actions for \"%s\"" +msgstr "_Handlinger for \"%s\"" + +#: gajim/conversation_textview.py:450 +msgid "Read _Wikipedia Article" +msgstr "Les_Wikipedia-artikkel" + +#: gajim/conversation_textview.py:455 +msgid "Look it up in _Dictionary" +msgstr "Slå det opp i _ordboka" + +#: gajim/conversation_textview.py:472 +#, python-format +msgid "Dictionary URL is missing an \"%s\" and it is not WIKTIONARY" +msgstr "Ordboks-URL-en mangler en \"%s\" og er ikke WIKTIONARY" + +#: gajim/conversation_textview.py:486 +#, python-format +msgid "Web Search URL is missing an \"%s\"" +msgstr "Nettsøks-URL-en mangler en \"%s\"" + +#: gajim/conversation_textview.py:489 +msgid "Web _Search for it" +msgstr "_Søk på nettet etter den" + +#: gajim/conversation_textview.py:495 +msgid "Open as _Link" +msgstr "Åpne som _lenke" + +#: gajim/conversation_textview.py:770 +msgid "Invalid URL" +msgstr "Ugyldig nettadresse" + +#: gajim/conversation_textview.py:860 +msgid "" +"Message corrected. Original message:\n" +"{}" +msgstr "" +"Korrigert melding. Opprinnelig melding:\n" +"{}" + +#: gajim/conversation_textview.py:1031 +#, fuzzy +msgid "Not encrypted" +msgstr "Ikke startet" + +#: gajim/conversation_textview.py:1034 +#, python-format +msgid "Encrypted (%s)" +msgstr "" + +#: gajim/conversation_textview.py:1141 gajim/gtk/history.py:618 +#, python-format +msgid "Subject: %s\n" +msgstr "Tema: %s\n" + +#: gajim/conversation_textview.py:1250 +#, fuzzy +msgid "Received" +msgstr "Mottatt %s" + +#: gajim/conversation_textview.py:1272 +msgid "?Message state:Read" +msgstr "" + +#: gajim/groupchat_control.py:352 +#, fuzzy, python-format +msgid "Send File (max. %s MiB)…" +msgstr "Lagre fil som…" + +#: gajim/groupchat_control.py:497 +#, fuzzy, python-format +msgid "%s has been invited to this group chat" +msgstr "%(jid)s har blitt invitert til dette rommet" + +#: gajim/groupchat_control.py:512 gajim/dialog_messages.py:31 +#: gajim/dialog_messages.py:36 gajim/gtk/single_message.py:238 +#, fuzzy +msgid "Invalid XMPP Address" +msgstr "Ugyldig fil" + +#: gajim/groupchat_control.py:575 +#, fuzzy +msgid "Loading avatar failed" +msgstr "Forsendelse av privat melding mislyktes" + +#: gajim/groupchat_control.py:595 +#, fuzzy, python-format +msgid "Avatar upload failed: %s" +msgstr "vCard-publisering mislyktes" + +#: gajim/groupchat_control.py:598 +#, fuzzy +msgid "Avatar upload successful" +msgstr "vCard-publisering mislyktes" + +#: gajim/groupchat_control.py:616 +#, fuzzy, python-format +msgid "Kick %s" +msgstr "Kaster ut %s" + +#: gajim/groupchat_control.py:625 +#, fuzzy, python-format +msgid "Ban %s" +msgstr "Liste over bannlyste" + +#: gajim/groupchat_control.py:684 +msgid "Insert Nickname" +msgstr "Skriv inn kallenavn" + +#: gajim/groupchat_control.py:775 gajim/groupchat_control.py:776 +#, fuzzy +msgid "Voice Request" +msgstr "Forespørsel om lydsamtale" + +#: gajim/groupchat_control.py:777 +#, python-format +msgid "%(nick)s from %(room_name)s requests voice" +msgstr "" + +#: gajim/groupchat_control.py:781 +msgid "_Approve" +msgstr "" + +#: gajim/groupchat_control.py:1007 +#, python-format +msgid "%(nick)s has set the subject to %(subject)s" +msgstr "%(nick)s satt temaet til %(subject)s" + +#: gajim/groupchat_control.py:1023 +#, fuzzy +msgid "Group chat now shows unavailable members" +msgstr "Rommet viser nå utilgjengelige medlemmer" + +#: gajim/groupchat_control.py:1026 +#, fuzzy +msgid "Group chat now does not show unavailable members" +msgstr "Rommet viser nå utilgjengelige medlemmer" + +#: gajim/groupchat_control.py:1030 +msgid "A setting not related to privacy has been changed" +msgstr "En innstilling som ikke har med personvern å gjøre har blitt endret" + +#: gajim/groupchat_control.py:1037 gajim/groupchat_control.py:1197 +#, fuzzy +msgid "Conversations are stored on the server" +msgstr "Denne økta VIL bli arkivert på tjeneren" + +#: gajim/groupchat_control.py:1040 +#, fuzzy +msgid "Conversations are not stored on the server" +msgstr "Informasjon om deg, slik som den er lagret på tjeneren" + +#: gajim/groupchat_control.py:1043 +#, fuzzy +msgid "Group chat is now non-anonymous" +msgstr "Rommet er nå ikke-anonymt" + +#: gajim/groupchat_control.py:1047 +#, fuzzy +msgid "Group chat is now semi-anonymous" +msgstr "Rommet er nå semi-anonymt" + +#: gajim/groupchat_control.py:1051 +#, fuzzy +msgid "Group chat is now fully anonymous" +msgstr "Rommet er nå helt anonymt" + +#: gajim/groupchat_control.py:1101 +#, fuzzy, python-format +msgid "Ping? (%s)" +msgstr "Pong! (%s s.)" + +#: gajim/groupchat_control.py:1104 +#, python-format +msgid "Pong! (%(nick)s %(delay)s s.)" +msgstr "Pong! (%(nick)s %(delay)s s.)" + +#: gajim/groupchat_control.py:1188 +#, fuzzy, python-format +msgid "You (%s) joined the group chat" +msgstr "%s har tatt del i gruppesamtalen" + +#: gajim/groupchat_control.py:1193 +#, fuzzy +msgid "Any participant is allowed to see your full XMPP Address" +msgstr "Enhver samtaledeltager kan se hele JID-en din" + +#: gajim/groupchat_control.py:1201 +#, fuzzy +msgid "The server has assigned or modified your nickname in this group chat" +msgstr "Tjeneren har tildelt eller endret ditt kallenavn i dette rommet" + +#: gajim/groupchat_control.py:1211 +#, fuzzy +msgid "A new group chat has been created" +msgstr "Et nytt rom har blitt opprettet" + +#: gajim/groupchat_control.py:1215 +#, fuzzy +msgid "Failed to Configure Group Chat" +msgstr "Forlat gruppesamtaler" + +#: gajim/groupchat_control.py:1274 gajim/groupchat_control.py:1304 +#: gajim/groupchat_control.py:1332 gajim/groupchat_control.py:1391 +#, python-brace-format +msgid " by {actor}" +msgstr "" + +#: gajim/groupchat_control.py:1277 +#, fuzzy, python-brace-format +msgid "** Your Affiliation has been set to {affiliation}{actor}{reason}" +msgstr "" +"** Tilhørighet for %(nick)s har blitt satt til %(affiliation)s av %(actor)s" + +#: gajim/groupchat_control.py:1283 +#, fuzzy, python-brace-format +msgid "** Affiliation of {nick} has been set to {affiliation}{actor}{reason}" +msgstr "** Tilhørigheten til %(nick)s har blitt satt til %(affiliation)s" + +#: gajim/groupchat_control.py:1307 +#, fuzzy, python-brace-format +msgid "** Your Role has been set to {role}{actor}{reason}" +msgstr "** Rollen til %(nick)s har blitt satt til %(role)s av %(actor)s" + +#: gajim/groupchat_control.py:1312 +#, fuzzy, python-brace-format +msgid "** Role of {nick} has been set to {role}{actor}{reason}" +msgstr "** Rollen til %(nick)s har blitt satt til %(role)s av %(actor)s" + +#: gajim/groupchat_control.py:1335 +#, fuzzy, python-brace-format +msgid "You have been removed from the group chat{actor}{reason}" +msgstr "%(nick)s har blitt fjernet fra rommet (%(reason)s)" + +#: gajim/groupchat_control.py:1340 +#, python-brace-format +msgid "You have left due to an error{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1346 +#, python-brace-format +msgid "You have been kicked{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1353 +#, python-brace-format +msgid "You have been banned{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1360 gajim/groupchat_control.py:1423 +#, fuzzy +msgid ": Affiliation changed" +msgstr "tilhørighet endret" + +#: gajim/groupchat_control.py:1366 gajim/groupchat_control.py:1428 +#, fuzzy +msgid ": Group chat configuration changed to members-only" +msgstr "romoppsett endret til kun medlemmer" + +#: gajim/groupchat_control.py:1394 +#, fuzzy, python-brace-format +msgid "{nick} has been removed from the group chat{by}{reason}" +msgstr "%(nick)s har blitt fjernet fra rommet (%(reason)s)" + +#: gajim/groupchat_control.py:1402 +#, python-brace-format +msgid "{nick} has left due to an error{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1408 +#, fuzzy, python-brace-format +msgid "{nick} has been kicked{actor}{reason}" +msgstr "%(nick)s har blitt kastet ut: %(reason)s" + +#: gajim/groupchat_control.py:1416 +#, fuzzy, python-brace-format +msgid "{nick} has been banned{actor}{reason}" +msgstr "%(nick)s har blitt bannlyst: %(reason)s" + +#: gajim/groupchat_control.py:1433 +#, python-brace-format +msgid "{nick} has left{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1451 +#, python-format +msgid "%s has joined the group chat" +msgstr "%s har tatt del i gruppesamtalen" + +#: gajim/groupchat_control.py:1463 +#, fuzzy +msgid "Failed to Join Group Chat" +msgstr "Klarte ikke å ta del i gruppesludring" + +#: gajim/groupchat_control.py:1469 +#, fuzzy +msgid "Failed to Create Group Chat" +msgstr "Forlat gruppesamtaler" + +#: gajim/groupchat_control.py:1485 +#, fuzzy +msgid "Group chat has been destroyed" +msgstr "Rommet har blitt kansellert" + +#: gajim/groupchat_control.py:1490 +#, fuzzy, python-format +msgid "You can join this group chat instead: xmpp:%s?join" +msgstr "Du kan bli med i dette rommet i steden for: %s" + +#: gajim/groupchat_control.py:1672 +#, fuzzy +msgid "Leave Group Chat" +msgstr "Forlat gruppesamtaler" + +#: gajim/groupchat_control.py:1673 +#, fuzzy +msgid "Are you sure you want to leave this group chat?" +msgstr "Er du sikker på at du vil forlate gruppesamtalen \"%s\"?" + +#: gajim/groupchat_control.py:1674 +#, fuzzy, python-format +msgid "If you close this window, you will leave '%s'." +msgstr "" +"Dersom du lukker dette vinduet, så vil du bli frakoblet fra disse rommene." + +#: gajim/message_window.py:365 +#, fuzzy +msgid "Close Tabs" +msgstr "Lukk sludring" + +#: gajim/message_window.py:366 +#, fuzzy +msgid "You are about to close several tabs" +msgstr "Du er i ferd med å lokke flerfoldige faner" + +#: gajim/message_window.py:367 +#, fuzzy +msgid "Do you really want to close all of them?" +msgstr "Ønsker du å lukke alle sammen?" + +#: gajim/message_window.py:526 +msgid "?Noun:Chats" +msgstr "?Noun:Sludringer" + +#: gajim/message_window.py:530 gajim/data/gui/preferences.ui:155 +#, fuzzy +msgid "Group Chats" +msgstr "_Gruppe Samtale" + +#: gajim/message_window.py:534 +msgid "Private Chats" +msgstr "Private samtaler" + +#: gajim/message_window.py:540 +msgid "Messages" +msgstr "Meldinger" + +#: gajim/dialog_messages.py:37 +#, fuzzy, python-format +msgid "" +"It is not possible to send a message to %s. This XMPP Address is not valid." +msgstr "Det er ikke mulig å sende en melding til %s, JID-en er ikke gyldig." + +#: gajim/dialog_messages.py:42 +#, fuzzy +msgid "Unread Events" +msgstr "Uleste hendelser" + +#: gajim/dialog_messages.py:43 +#, fuzzy +msgid "Read or acknowledge all pending events before removing this account." +msgstr "Les alle ventende meldinger før du fjerner denne kontoen." + +#: gajim/dialog_messages.py:48 +msgid "Invalid Form" +msgstr "Ugyldig skjema" + +#: gajim/dialog_messages.py:49 +msgid "The form is not filled correctly." +msgstr "Skjemaet ble ikke fylt ut rett." + +#: gajim/dialog_messages.py:53 +#, fuzzy +msgid "No Connection Available" +msgstr "Tilkobling ikke tilgjengelig" + +#: gajim/dialog_messages.py:54 +msgid "Your message can not be sent until you are connected." +msgstr "Meldingen din kan ikke sendes før du er tilkoblet." + +#: gajim/dialog_messages.py:58 +msgid "XMPP Address Already in List" +msgstr "" + +#: gajim/dialog_messages.py:59 +#, fuzzy +msgid "" +"The XMPP Address you entered is already in the list. Please choose another " +"one." +msgstr "JID-en du skrev inn er allerede i listen. Velg en annen." + +#: gajim/dialog_messages.py:64 +#, fuzzy +msgid "Invalid Answer" +msgstr "Ugyldig svar" + +#: gajim/dialog_messages.py:65 +#, python-format +msgid "Transport %(name)s answered wrongly to register request: %(error)s" +msgstr "" +"Transporten %(name)s svarte feil på registreringsforespørselen: %(error)s" + +#: gajim/dialog_messages.py:70 +msgid "Wrong Custom Hostname" +msgstr "Feil egendefinert vertsnavn" + +#: gajim/dialog_messages.py:71 +#, fuzzy, python-format +msgid "Custom hostname \"%s\" is wrong. It will be ignored." +msgstr "Feil egendefinert vertsnavn \"%s\". Ignorerer." + +#: gajim/dialog_messages.py:75 +#, fuzzy +msgid "Registration Succeeded" +msgstr "Registrert" + +#: gajim/dialog_messages.py:76 +#, fuzzy, python-format +msgid "Registration with agent %s succeeded." +msgstr "Vellykket registrering med agenten %s" + +#: gajim/dialog_messages.py:80 +#, fuzzy +msgid "Registration Failed" +msgstr "Registrering feilet" + +#: gajim/dialog_messages.py:81 +#, python-format +msgid "" +"Registration with agent %(agent)s failed with error %(error)s: %(error_msg)s" +msgstr "" +"Registrering med agenten %(agent)s feilet med meldingen %(error)s: " +"%(error_msg)s" + +#: gajim/dialog_messages.py:86 +#, fuzzy +msgid "GStreamer Error" +msgstr "GStreamer-feil" + +#: gajim/dialog_messages.py:87 +#, python-format +msgid "" +"Error: %(error)s\n" +"Debug: %(debug)s" +msgstr "" +"Feil: %(error)s\n" +"Feilretting: %(debug)s" + +#: gajim/dialog_messages.py:91 +#, fuzzy +msgid "Wrong Host" +msgstr "Feil maskinnavn" + +#: gajim/dialog_messages.py:92 +msgid "Invalid local address? :-O" +msgstr "Ugyldig lokal adresse? :-O" + +#: gajim/dialog_messages.py:96 +#, fuzzy +msgid "Avahi Error" +msgstr "Avahi-feil" + +#: gajim/dialog_messages.py:97 +#, python-format +msgid "" +"%s\n" +"Link-local messaging might not work properly." +msgstr "" +"%s\n" +"Link-lokal -meldinger fungerer muligens ikke riktig." + +#: gajim/dialog_messages.py:101 +#, fuzzy +msgid "Could not Open File" +msgstr "Kunne ikke åpne fil" + +#: gajim/command_system/mapping.py:169 gajim/command_system/mapping.py:179 +#: gajim/command_system/mapping.py:199 +msgid "Missing arguments" +msgstr "Manglende argumenter" + +#: gajim/command_system/mapping.py:266 +msgid "Too many arguments" +msgstr "For mange argumenter" + +#: gajim/command_system/implementation/middleware.py:76 +msgid "Error during command execution!" +msgstr "Feil under kjøring av kommando!" + +#: gajim/command_system/implementation/execute.py:60 +msgid "Execute expression inside a shell, show output" +msgstr "Kjør uttrykk i et skall, vis utdata" + +#: gajim/command_system/implementation/execute.py:74 +msgid "" +"Command disabled. This command can be enabled by setting " +"'command_system_execute' to True in ACE (Advanced Configuration Editor)." +msgstr "" + +#: gajim/command_system/implementation/execute.py:125 +msgid "Execute expression inside a shell, send output" +msgstr "Kjør uttrykk i et skall, send utdata" + +#: gajim/command_system/implementation/standard.py:52 +msgid "" +"Show help on a given command or a list of available commands if -a is given" +msgstr "" +"Viser hjelp for en gitt kommando eller en liste over tilgjengelige " +"kommandoer hvis -a blir lagt til" + +#: gajim/command_system/implementation/standard.py:81 +msgid "Send a message to the contact" +msgstr "Send en melding til kontakten" + +#: gajim/command_system/implementation/standard.py:86 +msgid "Send action (in the third person) to the current chat" +msgstr "Send handling (i tredjeperson) til gjeldende samtale" + +#: gajim/command_system/implementation/standard.py:91 +msgid "Show logged messages which mention given text" +msgstr "Vis loggførte meldinger som siterer angitt tekst" + +#: gajim/command_system/implementation/standard.py:96 +#, python-format +msgid "%s: Nothing found" +msgstr "%s: Fant ikke noe" + +#: gajim/command_system/implementation/standard.py:102 +msgid "Limit must be an integer" +msgstr "Avgrensningen må være et heltall" + +#: gajim/command_system/implementation/standard.py:127 +msgid "" +"\n" +" Set the current status\n" +"\n" +" Status can be given as one of the following values:\n" +" online, away, chat, xa, dnd.\n" +" " +msgstr "" +"\n" +" Sett gjeldende status\n" +"\n" +" Status kan oppgis som én av følgende verdier:\n" +" 'Pålogget', 'Borte', 'Prater', 'Ikke tilgjengelig', Ikke forstyrr'.\n" +" " + +#: gajim/command_system/implementation/standard.py:145 +msgid "Set the current status to away" +msgstr "Sett gjeldende status til 'Borte'" + +#: gajim/command_system/implementation/standard.py:148 +#: gajim/common/helpers.py:200 gajim/common/modules/adhoc_commands.py:122 +msgid "Away" +msgstr "Borte" + +#: gajim/command_system/implementation/standard.py:159 +msgid "Set the current status to online" +msgstr "Sett gjeldende status til 'Pålogget'" + +#: gajim/command_system/implementation/standard.py:162 +msgid "Available" +msgstr "Tilgjengelig" + +#: gajim/command_system/implementation/standard.py:173 +#, fuzzy +msgid "Send a disco info request" +msgstr "Sendte kvitteringsforespørsler" + +#: gajim/command_system/implementation/standard.py:192 +#: gajim/command_system/implementation/standard.py:273 +msgid "Clear the text window" +msgstr "Tøm tekstvinduet" + +#: gajim/command_system/implementation/standard.py:197 +#: gajim/command_system/implementation/standard.py:425 +msgid "Send a ping to the contact" +msgstr "Send et ping til kontakten" + +#: gajim/command_system/implementation/standard.py:201 +#: gajim/command_system/implementation/standard.py:429 +msgid "Command is not supported for zeroconf accounts" +msgstr "Kommando støttes ikke for zeroconf-kontoer" + +#: gajim/command_system/implementation/standard.py:205 +#, fuzzy +msgid "Send DTMF sequence through an open voice chat" +msgstr "Send DTMF-sekvens gjennom en åpen lydøkt" + +#: gajim/command_system/implementation/standard.py:208 +#, fuzzy +msgid "No open voice chats with the contact" +msgstr "Ingen åpne lydsamtaler med denne kontakten" + +#: gajim/command_system/implementation/standard.py:211 +#, python-format +msgid "%s is not a valid tone" +msgstr "%s er ikke en gyldig tone" + +#: gajim/command_system/implementation/standard.py:218 +msgid "Toggle Voice Chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:221 +#, fuzzy +msgid "Voice chats are not available" +msgstr "Videoøkter er ikke tilgjengelige" + +#: gajim/command_system/implementation/standard.py:228 +#, fuzzy +msgid "Toggle Video Chat" +msgstr "Veksle videoøkt" + +#: gajim/command_system/implementation/standard.py:231 +#, fuzzy +msgid "Video chats are not available" +msgstr "Videoøkter er ikke tilgjengelige" + +#: gajim/command_system/implementation/standard.py:238 +#, fuzzy +msgid "Send a message to the contact that will attract their attention" +msgstr "Send en melding til kontakten som påkaller vedkommendes oppmerksomhet" + +#: gajim/command_system/implementation/standard.py:278 +msgid "Change your nickname in a group chat" +msgstr "Endre kallenavnet ditt i en gruppesamtale" + +#: gajim/command_system/implementation/standard.py:283 +msgid "Invalid nickname" +msgstr "Ugyldig kallenavn" + +#: gajim/command_system/implementation/standard.py:290 +#, fuzzy +msgid "Open a private chat window with a specified participant" +msgstr "Åpne privat samtalevindu med gitt deltager" + +#: gajim/command_system/implementation/standard.py:296 +#: gajim/command_system/implementation/standard.py:306 +#: gajim/command_system/implementation/standard.py:360 +#: gajim/command_system/implementation/standard.py:373 +#: gajim/command_system/implementation/standard.py:385 +msgid "Nickname not found" +msgstr "Fant ikke kallenavnet" + +#: gajim/command_system/implementation/standard.py:299 +#, fuzzy +msgid "" +"Open a private chat window with a specified participant and send him a " +"message" +msgstr "" +"Åpne privat samtalevindu med en gitt deltager og send vedkommende en melding" + +#: gajim/command_system/implementation/standard.py:309 +msgid "Display or change a group chat topic" +msgstr "Vis eller endre gruppens samtaletema" + +#: gajim/command_system/implementation/standard.py:318 +#, fuzzy +msgid "Invite a user to a group chat for a reason" +msgstr "Inviter en bruker til et rom av en grunn" + +#: gajim/command_system/implementation/standard.py:325 +#, fuzzy +msgid "Join a group chat given by an XMPP Address" +msgstr "Ta del i gruppesludring gitt av JID" + +#: gajim/command_system/implementation/standard.py:335 +#, fuzzy +msgid "" +"Leave the group chat, optionally giving a reason, and close tab or window" +msgstr "" +"Forlat gruppesamtalen, alternativt ved å oppgi en grunn, og lukk fanen eller " +"vinduet" + +#: gajim/command_system/implementation/standard.py:341 +#, fuzzy +msgid "" +"\n" +" Ban user by a nick or a JID from a groupchat\n" +"\n" +" If given nickname is not found it will be treated as a JID.\n" +" " +msgstr "" +"\n" +" Bannlys en bruker fra gruppesamtale etter kallenavn eller JID\n" +"\n" +" Hvis oppgitt kallenavn finnes vil det bli behandlet som en JID.\n" +" " + +#: gajim/command_system/implementation/standard.py:357 +#, fuzzy +msgid "Kick user from group chat by nickname" +msgstr "Kast ut bruker fra gruppesamtale etter kallenavn" + +#: gajim/command_system/implementation/standard.py:366 +#, fuzzy +msgid "" +"Set participant role in group chat.\n" +" Role can be given as one of the following values:\n" +" moderator, participant, visitor, none" +msgstr "" +"Sett deltagerrolle i gruppesamtale.\n" +" Rolle kan være en av følgende verdier:\n" +" 'moderator','deltager','besøkende' eller 'ingen'" + +#: gajim/command_system/implementation/standard.py:371 +msgid "Invalid role given" +msgstr "Ugyldig rolle oppgitt" + +#: gajim/command_system/implementation/standard.py:378 +#, fuzzy +msgid "" +"Set participant affiliation in group chat.\n" +" Affiliation can be given as one of the following values:\n" +" owner, admin, member, outcast, none" +msgstr "" +"Sett deltager-tilhøriget i gruppesamtale.\n" +" Tilhørighet kan oppgis som én av følgende verdier:\n" +" 'eier', 'admin', 'medlem', 'einstøing', 'ingen'" + +#: gajim/command_system/implementation/standard.py:383 +msgid "Invalid affiliation given" +msgstr "Ugyldig tilhørighet angitt" + +#: gajim/command_system/implementation/standard.py:393 +#, fuzzy +msgid "Display names of all group chat participants" +msgstr "Vis navnene til hele gruppens samtaledeltagere" + +#: gajim/command_system/implementation/standard.py:415 +#, fuzzy +msgid "Forbid a participant to send you public or private messages" +msgstr "Forby en deltager fra å sende deg offentlige eller private meldinger" + +#: gajim/command_system/implementation/standard.py:420 +#, fuzzy +msgid "Allow a participant to send you public or private messages" +msgstr "Tillat en deltager å sende deg offentlige eller private meldinger" + +#: gajim/command_system/implementation/standard.py:432 +#, fuzzy +msgid "Unknown nickname" +msgstr "E_tter kallenavn:" + +#: gajim/command_system/implementation/custom.py:114 +msgid "The same as using a doc-string, except it supports translation" +msgstr "" +"Det samme som å bruke en doc-streng, bortsett fra at det støtter oversetting" + +#: gajim/gtk/ssl_error_dialog.py:36 gajim/data/gui/ssl_error_dialog.ui:16 +#, fuzzy +msgid "SSL Certificate Verification Error" +msgstr "Bekreftelse av SSL-sertifikat for %s" + +#: gajim/gtk/ssl_error_dialog.py:55 +#, fuzzy, python-format +msgid "" +"There was an error while attempting to verify the SSL certificate of your " +"XMPP server (%s)." +msgstr "" +"Det skjedde en feil ved bekrefting av SSL-sertifikatet for din XMPP-tjener: " +"%(error)s\n" +"Ønsker du fortsatt å koble til denne tjeneren?" + +#: gajim/gtk/ssl_error_dialog.py:58 +#, fuzzy, python-format +msgid "Unknown SSL error '%s'" +msgstr "Ukjent SSL-feil: %d" + +#: gajim/gtk/avatar_selector.py:84 +msgid "Select a picture or drop it here" +msgstr "" + +#: gajim/gtk/status_change.py:62 gajim/gtk/preferences.py:627 +#: gajim/gtk/preferences.py:655 +msgid "Status Message" +msgstr "Statusmelding" + +#: gajim/gtk/status_change.py:330 +#, fuzzy +msgid "No activity" +msgstr "Aktivitet:" + +#: gajim/gtk/status_change.py:370 gajim/gtk/status_change.py:383 +#: gajim/gtk/status_change.py:488 +#, fuzzy +msgid "No mood selected" +msgstr "Ingen nøkkel valgt" + +#: gajim/gtk/status_change.py:382 +msgid "No mood" +msgstr "" + +#: gajim/gtk/status_change.py:439 +#, fuzzy +msgid "Overwrite" +msgstr "Overskriv?" + +#: gajim/gtk/status_change.py:440 +msgid "Overwrite Status Message?" +msgstr "Overskriv statusmelding?" + +#: gajim/gtk/status_change.py:441 +#, fuzzy +msgid "This name is already in use. Do you want to overwrite this preset?" +msgstr "" +"Dette navnet er allerede i bruk. Ønsker du å overskrive denne " +"statusmeldingen?" + +#: gajim/gtk/status_change.py:445 gajim/plugins/gui.py:292 +#, fuzzy +msgid "_Overwrite" +msgstr "Overskriv?" + +#: gajim/gtk/status_change.py:453 +#, fuzzy +msgid "Status Preset" +msgstr "Statusmelding" + +#: gajim/gtk/status_change.py:454 +#, fuzzy +msgid "Save status as preset" +msgstr "Lagre som forvalg…" + +#: gajim/gtk/status_change.py:455 +#, fuzzy +msgid "Please assign a name to this status message preset" +msgstr "Skriv inn et navn for denne statusmeldingen" + +#: gajim/gtk/status_change.py:458 gajim/data/gui/profile.ui:336 +#, fuzzy +msgid "_Save" +msgstr "Lagre _som" + +#: gajim/gtk/status_change.py:460 +#, fuzzy +msgid "New Status" +msgstr "Status" + +#: gajim/gtk/advanced_config.py:46 gajim/gtk/advanced_config.py:144 +msgid "Activated" +msgstr "Påskrudd" + +#: gajim/gtk/advanced_config.py:47 +msgid "Deactivated" +msgstr "Avskrudd" + +#: gajim/gtk/advanced_config.py:52 +msgid "?config type:Boolean" +msgstr "" + +#: gajim/gtk/advanced_config.py:53 +msgid "?config type:Integer" +msgstr "" + +#: gajim/gtk/advanced_config.py:54 +msgid "?config type:Text" +msgstr "" + +#: gajim/gtk/advanced_config.py:65 +#, fuzzy +msgid "Advanced Configuration Editor (ACE)" +msgstr "Avansert oppsettsbehandlder" + +#: gajim/gtk/advanced_config.py:80 +#, fuzzy +msgid "?config:Preference Name" +msgstr "Foretrukket navn" + +#: gajim/gtk/advanced_config.py:91 +#, fuzzy +msgid "?config:Value" +msgstr "_Sett opp" + +#: gajim/gtk/advanced_config.py:100 +msgid "?config:Type" +msgstr "" + +#: gajim/gtk/advanced_config.py:133 +#, fuzzy +msgid "?config description:None" +msgstr "?Ask (for Subscription):Ingen" + +#: gajim/gtk/preferences.py:63 gajim/data/gui/shortcuts_window.ui:31 +msgid "Preferences" +msgstr "Tilstedeværelse" + +#: gajim/gtk/preferences.py:185 +#, fuzzy +msgid "Detached contact list with detached chats" +msgstr "Avhektet kontaktliste med avhektede samtaler" + +#: gajim/gtk/preferences.py:186 +#, fuzzy +msgid "Detached contact list with single chat" +msgstr "Avhektet kontaktliste med enkeltsående samtale" + +#: gajim/gtk/preferences.py:187 +msgid "Single window for everything" +msgstr "Ett enkelt vindu for alt" + +#: gajim/gtk/preferences.py:188 +#, fuzzy +msgid "Detached contact list with chats grouped by account" +msgstr "Avhektet kontaktliste med samtaler gruppert etter konto" + +#: gajim/gtk/preferences.py:189 +#, fuzzy +msgid "Detached contact list with chats grouped by type" +msgstr "Avhektet kontaktliste med samtaler gruppert etter type" + +#: gajim/gtk/preferences.py:193 gajim/data/gui/mam_preferences.ui:14 +msgid "Always" +msgstr "Alltid" + +#: gajim/gtk/preferences.py:194 gajim/data/gui/mam_preferences.ui:22 +msgid "Never" +msgstr "Aldri" + +#: gajim/gtk/preferences.py:195 +#, fuzzy +msgid "Restore last state" +msgstr "Siste tilstand" + +#: gajim/gtk/preferences.py:199 +#, fuzzy +msgid "Top" +msgstr "Til" + +#: gajim/gtk/preferences.py:200 +msgid "Bottom" +msgstr "" + +#: gajim/gtk/preferences.py:201 +msgid "Left" +msgstr "" + +#: gajim/gtk/preferences.py:202 +#, fuzzy +msgid "Right" +msgstr "åtte" + +#: gajim/gtk/preferences.py:207 +#, fuzzy +msgid "Window Layout" +msgstr "_Vindusoppførsel:" + +#: gajim/gtk/preferences.py:214 +#, fuzzy +msgid "Contact List on Startup" +msgstr "_Vis kontaktliste ved oppstart:" + +#: gajim/gtk/preferences.py:218 +#, fuzzy +msgid "Show contact list when starting Gajim" +msgstr "_Vis kontaktliste ved oppstart:" + +#: gajim/gtk/preferences.py:221 +#, fuzzy +msgid "Quit on Close" +msgstr "Minimer ved lukking" + +#: gajim/gtk/preferences.py:224 +#, fuzzy +msgid "Quit when closing contact list" +msgstr "Vis _frakoblede kontakter" + +#: gajim/gtk/preferences.py:227 +#, fuzzy +msgid "Tab Position" +msgstr "Plassering:" + +#: gajim/gtk/preferences.py:231 +#, fuzzy +msgid "Placement of chat window tabs" +msgstr "har lukket samtalevinduet eller fanen" + +#: gajim/gtk/preferences.py:247 +msgid "Merge Accounts" +msgstr "Flett kontoer" + +#: gajim/gtk/preferences.py:253 +#, fuzzy +msgid "Enable Metacontacts" +msgstr "Gi kontakt nytt navn" + +#: gajim/gtk/preferences.py:258 +#, fuzzy +msgid "Show Avatars" +msgstr "Funksjonalitet" + +#: gajim/gtk/preferences.py:264 gajim/gtk/preferences.py:353 +#, fuzzy +msgid "Show Status Message" +msgstr "Statusmelding" + +#: gajim/gtk/preferences.py:270 gajim/gtk/preferences.py:411 +#, fuzzy +msgid "Sort Contacts by Status" +msgstr "Sorter kontakter etter status" + +#: gajim/gtk/preferences.py:276 +#, fuzzy +msgid "Show Mood" +msgstr "Angi humør" + +#: gajim/gtk/preferences.py:281 +#, fuzzy +msgid "Show Activity" +msgstr "Sett aktivitet" + +#: gajim/gtk/preferences.py:286 +#, fuzzy +msgid "Show Tune" +msgstr "Funksjonalitet" + +#: gajim/gtk/preferences.py:323 +msgid "Needs gspell to be installed" +msgstr "" + +#: gajim/gtk/preferences.py:327 +#, fuzzy +msgid "Spell Checking" +msgstr "Stavekontroll" + +#: gajim/gtk/preferences.py:335 +#, fuzzy +msgid "Message Receipts (✔)" +msgstr "meldingsinnhold" + +#: gajim/gtk/preferences.py:338 +msgid "Add a checkmark to received messages" +msgstr "" + +#: gajim/gtk/preferences.py:341 +#, fuzzy +msgid "XHTML Formatting" +msgstr "Vis formateringsliste" + +#: gajim/gtk/preferences.py:344 +msgid "Render XHTML styles (colors, etc.) of incoming messages" +msgstr "" + +#: gajim/gtk/preferences.py:348 +#, fuzzy +msgid "Show Send Message Button" +msgstr "Send melding" + +#: gajim/gtk/preferences.py:358 +#, fuzzy +msgid "Show Chat State In Tabs" +msgstr "Vis lukkingsknapp på fanen?" + +#: gajim/gtk/preferences.py:361 +msgid "Show the contact’s chat state (e.g. typing) in the chat’s tab" +msgstr "" + +#: gajim/gtk/preferences.py:365 +#, fuzzy +msgid "Show Chat State In Banner" +msgstr "Viser a_vatarer for kontakter i kontaktlisten" + +#: gajim/gtk/preferences.py:368 +msgid "Show the contact’s chat state (e.g. typing) in the chats tab’s banner" +msgstr "" + +#: gajim/gtk/preferences.py:372 +#, fuzzy +msgid "Display Chat State In Contact List" +msgstr "_Vis opplysninger for samtalestatus:" + +#: gajim/gtk/preferences.py:375 +#, fuzzy +msgid "Show the contact’s chat state (e.g. typing) in the contact list" +msgstr "Vis lukkingsknapp på fanen?" + +#: gajim/gtk/preferences.py:406 +#, fuzzy +msgid "Show Subject" +msgstr "Tema" + +#: gajim/gtk/preferences.py:417 +msgid "Default Sync Threshold" +msgstr "" + +#: gajim/gtk/preferences.py:420 +#, fuzzy +msgid "Default for new public group chats" +msgstr "Forlat gruppesamtaler" + +#: gajim/gtk/preferences.py:424 +msgid "Show Joined / Left" +msgstr "" + +#: gajim/gtk/preferences.py:427 gajim/gtk/preferences.py:438 +#, fuzzy +msgid "Default for new group chats" +msgstr "Forlat gruppesamtaler" + +#: gajim/gtk/preferences.py:428 gajim/gtk/preferences.py:439 +#: gajim/gtk/accounts.py:715 gajim/gtk/accounts.py:727 +#: gajim/gtk/accounts.py:740 +#, fuzzy +msgid "Reset" +msgstr "Forvalg" + +#: gajim/gtk/preferences.py:429 gajim/gtk/preferences.py:440 +#: gajim/gtk/accounts.py:728 +msgid "Reset all group chats to the current default value" +msgstr "" + +#: gajim/gtk/preferences.py:435 gajim/gtk/groupchat_settings.py:48 +#, fuzzy +msgid "Show Status Changes" +msgstr "_Vis statusendringer" + +#: gajim/gtk/preferences.py:468 +#, fuzzy +msgid "Hide icon" +msgstr "Trayicon" + +#: gajim/gtk/preferences.py:469 +#, fuzzy +msgid "Only show for pending events" +msgstr "Bare ved utestående hendelser" + +#: gajim/gtk/preferences.py:470 +msgid "Always show icon" +msgstr "" + +#: gajim/gtk/preferences.py:475 +#, fuzzy +msgid "Notification Area Icon" +msgstr "Vis merknad i systemstatusfeltet (systray):" + +#: gajim/gtk/preferences.py:482 +#, fuzzy +msgid "Open Events" +msgstr "Personlige hendelser" + +#: gajim/gtk/preferences.py:485 +#, fuzzy +msgid "Open events instead of showing a notification in the contact list" +msgstr "Vis bare tilkoblede og kontakter ledig for prat i kontaktlisten." + +#: gajim/gtk/preferences.py:489 gajim/gtk/preferences.py:512 +#, fuzzy +msgid "Show Notifications" +msgstr "Merknader" + +#: gajim/gtk/preferences.py:517 +#, fuzzy +msgid "Notifications When Away" +msgstr "Merknader" + +#: gajim/gtk/preferences.py:520 +#, fuzzy +msgid "Show notifications even if you are Away, Busy, etc." +msgstr "Vis merknad i systemstatusfeltet (systray):" + +#: gajim/gtk/preferences.py:525 gajim/data/gui/preferences.ui:271 +msgid "Notifications" +msgstr "Merknader" + +#: gajim/gtk/preferences.py:534 +#, fuzzy +msgid "Play Sounds" +msgstr "Spill av _lyder" + +#: gajim/gtk/preferences.py:537 +msgid "Play sounds to notify about events" +msgstr "" + +#: gajim/gtk/preferences.py:542 +msgid "Sounds When Away" +msgstr "" + +#: gajim/gtk/preferences.py:545 +#, fuzzy +msgid "Play sounds even when you are Away, Busy, etc." +msgstr "Lag lyd når brukeren er opptatt" + +#: gajim/gtk/preferences.py:560 +#, fuzzy +msgid "Sign In" +msgstr "Logg _inn" + +#: gajim/gtk/preferences.py:565 +#, fuzzy +msgid "Sign Out" +msgstr "Logg _ut" + +#: gajim/gtk/preferences.py:570 +#, fuzzy +msgid "Status Change" +msgstr "_Vis statusendringer" + +#: gajim/gtk/preferences.py:583 gajim/gtk/preferences.py:614 +#, fuzzy +msgid "Auto Away" +msgstr "Borte" + +#: gajim/gtk/preferences.py:585 +msgid "Change your status to 'Away' after a certain amount of time" +msgstr "" + +#: gajim/gtk/preferences.py:590 gajim/gtk/preferences.py:642 +#, fuzzy +msgid "Auto Not Available" +msgstr "Ikke tilgjengelig" + +#: gajim/gtk/preferences.py:592 +msgid "Change your status to 'Not Available' after a certain amount of time" +msgstr "" + +#: gajim/gtk/preferences.py:619 +msgid "Time Until Away" +msgstr "" + +#: gajim/gtk/preferences.py:622 gajim/gtk/preferences.py:650 +#, fuzzy +msgid "Minutes until your status gets changed" +msgstr "_Vis statusendringer" + +#: gajim/gtk/preferences.py:633 gajim/gtk/preferences.py:828 +#, fuzzy +msgid "Auto Away Settings" +msgstr "Sludresnarveier" + +#: gajim/gtk/preferences.py:647 +#, fuzzy +msgid "Time Until Not Available" +msgstr "Ikke tilgjengelig" + +#: gajim/gtk/preferences.py:661 +#, fuzzy +msgid "Auto Extended Away Settings" +msgstr "Utvidet fravær" + +#: gajim/gtk/preferences.py:672 gajim/gtk/accounts.py:680 +msgid "Enabled" +msgstr "Påslått" + +#: gajim/gtk/preferences.py:673 gajim/data/gui/vcard_information_window.ui:123 +msgid "System" +msgstr "System" + +#: gajim/gtk/preferences.py:678 +#, fuzzy +msgid "Dark Theme" +msgstr "gajim-remote" + +#: gajim/gtk/preferences.py:685 +#, fuzzy +msgid "Theme" +msgstr "Drakt" + +#: gajim/gtk/preferences.py:731 +#, fuzzy +msgid "Convert ASCII Emojis" +msgstr "Skru på ASCII-smilefjes" + +#: gajim/gtk/preferences.py:734 +msgid "Typing short codes like :-) will display emojis" +msgstr "" + +#: gajim/gtk/preferences.py:741 +#, fuzzy +msgid "Emoji Theme" +msgstr "gajim-remote" + +#: gajim/gtk/preferences.py:744 +msgid "Choose from various emoji styles" +msgstr "" + +#: gajim/gtk/preferences.py:774 +#, fuzzy +msgid "Status Icon Set" +msgstr "Standard _miniatyrbildesamling:" + +#: gajim/gtk/preferences.py:781 +#, fuzzy +msgid "Use Transport Icons" +msgstr "Bruk _transportens miniatyrbilder" + +#: gajim/gtk/preferences.py:784 +msgid "Display protocol-specific status icons (ICQ, ..)" +msgstr "" + +#: gajim/gtk/preferences.py:801 gajim/gtk/preferences.py:817 +msgid "Use Stun Server" +msgstr "" + +#: gajim/gtk/preferences.py:803 +msgid "Helps to establish calls through firewalls" +msgstr "" + +#: gajim/gtk/preferences.py:822 +#, fuzzy +msgid "STUN Server" +msgstr "STUN-tjener:" + +#: gajim/gtk/preferences.py:848 +#, fuzzy +msgid "Audio Input Device" +msgstr "Lydenhet for mikrofon" + +#: gajim/gtk/preferences.py:851 +msgid "Select your audio input (e.g. microphone)" +msgstr "" + +#: gajim/gtk/preferences.py:855 +#, fuzzy +msgid "Audio Output Device" +msgstr "Lydenhet for avspilling" + +#: gajim/gtk/preferences.py:858 +msgid "Select an audio output (e.g. speakers, headphones)" +msgstr "" + +#: gajim/gtk/preferences.py:890 gajim/gtk/preferences.py:898 +msgid "Default" +msgstr "Forvalg" + +#: gajim/gtk/preferences.py:906 +#, fuzzy +msgid "Video Input Device" +msgstr "Videokamera-enhet" + +#: gajim/gtk/preferences.py:910 +msgid "Select your video input device (e.g. webcam, screen capture)" +msgstr "" + +#: gajim/gtk/preferences.py:915 +#, fuzzy +msgid "Video Framerate" +msgstr "Bildetakt for video" + +#: gajim/gtk/preferences.py:921 +#, fuzzy +msgid "Video Resolution" +msgstr "Videoøkt" + +#: gajim/gtk/preferences.py:927 +msgid "Show My Video Stream" +msgstr "" + +#: gajim/gtk/preferences.py:930 +msgid "Show your own video stream in calls" +msgstr "" + +#: gajim/gtk/preferences.py:933 gajim/data/gui/video_preview.ui:51 +msgid "Live Preview" +msgstr "" + +#: gajim/gtk/preferences.py:935 +msgid "Show a live preview to test your video source" +msgstr "" + +#: gajim/gtk/preferences.py:975 +#, fuzzy +msgid "Global Proxy" +msgstr "Global mellomtjener:" + +#: gajim/gtk/preferences.py:980 gajim/gtk/account_wizard.py:732 +#: gajim/gtk/accounts.py:790 +#, fuzzy +msgid "No Proxy" +msgstr "Mellomtjener" + +#: gajim/gtk/preferences.py:985 +msgid "Use System Keyring" +msgstr "" + +#: gajim/gtk/preferences.py:988 +msgid "Use your system’s keyring to store passwords" +msgstr "" + +#: gajim/gtk/preferences.py:994 +msgid "Check For Updates" +msgstr "" + +#: gajim/gtk/preferences.py:997 gajim/common/config.py:241 +msgid "Check for Gajim updates periodically" +msgstr "" + +#: gajim/gtk/preferences.py:1033 +#, fuzzy +msgid "Debug Logging" +msgstr "Jogger" + +#: gajim/gtk/message_input.py:48 +#, fuzzy +msgid "Write a message…" +msgstr "Skriv en melding…" + +#: gajim/gtk/settings.py:400 gajim/gtk/settings.py:758 +#: gajim/gtk/settings.py:784 gajim/gtk/settings.py:793 +#: gajim/gtk/settings.py:802 gajim/gtk/settings.py:811 +msgid "?switch:On" +msgstr "" + +#: gajim/gtk/settings.py:400 gajim/gtk/settings.py:758 +#: gajim/gtk/settings.py:784 gajim/gtk/settings.py:793 +#: gajim/gtk/settings.py:802 gajim/gtk/settings.py:811 +msgid "?switch:Off" +msgstr "" + +#: gajim/gtk/settings.py:538 gajim/gtk/manage_sounds.py:46 +#: gajim/gtk/filechoosers.py:89 gajim/gtk/filechoosers.py:140 +#: gajim/gtk/filechoosers.py:147 +msgid "All files" +msgstr "Alle filer" + +#: gajim/gtk/settings.py:547 +msgid "Clear File" +msgstr "Tøm fil" + +#: gajim/gtk/settings.py:745 +msgid "Adjust to Status" +msgstr "Juster til status" + +#: gajim/gtk/history_sync.py:111 gajim/gtk/history_sync.py:193 +msgid "Synchronise History" +msgstr "Synkroniser historikk" + +#: gajim/gtk/history_sync.py:205 +#, fuzzy +msgid "How far back should the chat history be synchronised?" +msgstr "Hvor langt tilbake ønsker du å gå?" + +#: gajim/gtk/history_sync.py:210 +msgid "One Month" +msgstr "Én måned" + +#: gajim/gtk/history_sync.py:211 +msgid "Three Months" +msgstr "Tre måneder" + +#: gajim/gtk/history_sync.py:212 +msgid "One Year" +msgstr "Ett år" + +#: gajim/gtk/history_sync.py:213 +msgid "Everything" +msgstr "Alt" + +#: gajim/gtk/history_sync.py:241 gajim/gtk/account_wizard.py:276 +#: gajim/gtk/account_wizard.py:295 gajim/gtk/account_wizard.py:312 +msgid "Connecting..." +msgstr "Kobler til…" + +#: gajim/gtk/history_sync.py:253 +#, python-format +msgid "%(received)s of %(max)s" +msgstr "%(received)s av %(max)s" + +#: gajim/gtk/history_sync.py:257 +#, fuzzy, python-format +msgid "Downloaded %s messages" +msgstr "Lastet ned %s meldinger" + +#: gajim/gtk/history_sync.py:277 +#, fuzzy, python-format +msgid "" +"Finished synchronising chat history:\n" +"%s messages downloaded" +msgstr "" +"\n" +" Fullførte synkronisering av historikk.\n" +" {received} meldinger lastet ned.\n" +" " + +#: gajim/gtk/history_sync.py:281 +#, fuzzy +msgid "Gajim is fully synchronised with the archive." +msgstr "" +"\n" +" Gajim er synkronisert\n" +" med arkivet.\n" +" " + +#: gajim/gtk/history_sync.py:284 +#, fuzzy +msgid "There is already a synchronisation in progress. Please try again later." +msgstr "" +"\n" +" Det er allerede én synkronisering\n" +" underveis. Prøv igjen senere.\n" +" " + +#: gajim/gtk/pep_config.py:49 +#, fuzzy, python-format +msgid "PEP Service Configuration (%s)" +msgstr "PEP-tjenesteoppsett" + +#: gajim/gtk/pep_config.py:74 +#, fuzzy +msgid "Service" +msgstr "Tjener" + +#: gajim/gtk/pep_config.py:105 +msgid "PEP node was not removed" +msgstr "PEP-noden ble ikke fjernet" + +#: gajim/gtk/pep_config.py:106 +#, fuzzy, python-format +msgid "" +"PEP node %(node)s was not removed:\n" +"%(message)s" +msgstr "PEP-noden %(node)s ble ikke fjernet: %(message)s" + +#: gajim/gtk/pep_config.py:153 +#, python-format +msgid "Configure %s" +msgstr "Sett opp %s" + +#: gajim/gtk/mam_preferences.py:42 +#, python-format +msgid "Archiving Preferences for %s" +msgstr "Arkiveringsinnstillinger for %s" + +#: gajim/gtk/mam_preferences.py:101 +#, fuzzy +msgid "Archiving Preferences Saved" +msgstr "Arkiveringsinnstillinger" + +#: gajim/gtk/mam_preferences.py:102 +#, fuzzy +msgid "Your archiving preferences have successfully been saved." +msgstr "Dine arkiveringsinnstillinger har blitt lagret." + +#: gajim/gtk/mam_preferences.py:109 +#, fuzzy +msgid "Archiving Preferences Error" +msgstr "Arkiveringsinnstillinger" + +#: gajim/gtk/mam_preferences.py:110 +msgid "Error received: {}" +msgstr "Feil i mottatt: {}" + +#: gajim/gtk/statusicon.py:198 +msgid "_Change Status Message…" +msgstr "_Endre statusmelding…" + +#: gajim/gtk/statusicon.py:250 +#, python-format +msgid "using account %s" +msgstr "bruker kontoen %s" + +#: gajim/gtk/statusicon.py:263 +#, fuzzy +msgid "Hide _Contact List" +msgstr "Inviter _kontakter" + +#: gajim/gtk/statusicon.py:268 gajim/data/gui/application_menu.ui:42 +#, fuzzy +msgid "Show _Contact List" +msgstr "Vis aktive kontakter" + +#: gajim/gtk/statusicon.py:276 +msgid "Hide this menu" +msgstr "Skjul denne menyen" + +#: gajim/gtk/start_chat.py:57 +#, fuzzy +msgid "Start / Join Chat" +msgstr "Start samtale" + +#: gajim/gtk/start_chat.py:285 gajim/gtk/start_chat.py:370 +msgid "You can not join a group chat unless you are connected." +msgstr "Du kan ikke gå inn i en gruppesamtale uten å være tilkoblet." + +#: gajim/gtk/start_chat.py:634 gajim/gtk/groupchat_join.py:40 +msgid "Join Group Chat" +msgstr "Ta del i gruppesamtale" + +#: gajim/gtk/start_chat.py:715 +msgid "" +"Search for group chats globally\n" +"(press Return to start search)" +msgstr "" + +#: gajim/gtk/start_chat.py:808 +#, fuzzy, python-format +msgid "%s group chats found" +msgstr "%s ikke funnet" + +#: gajim/gtk/notification.py:184 gajim/gtk/notification.py:205 +#: gajim/gtk/notification.py:219 gajim/gtk/notification.py:272 +#: gajim/common/connection_handlers_events.py:234 +msgid "New Private Message" +msgstr "Ny privat melding" + +#: gajim/gtk/notification.py:185 gajim/gtk/notification.py:206 +#: gajim/gtk/notification.py:220 gajim/common/connection_handlers_events.py:328 +#, fuzzy +msgid "New Group Chat Message" +msgstr "Ny gruppesamtale" + +#: gajim/gtk/notification.py:186 gajim/gtk/notification.py:212 +#: gajim/gtk/notification.py:289 gajim/common/connection_handlers_events.py:418 +msgid "Contact Changed Status" +msgstr "En kontakt endret status" + +#: gajim/gtk/notification.py:200 +msgid "Open" +msgstr "Åpne" + +#: gajim/gtk/notification.py:209 +msgid "Mark as Read" +msgstr "" + +#: gajim/gtk/notification.py:273 +msgid "New E-mail" +msgstr "Ny E-post" + +#: gajim/gtk/video_preview.py:116 +msgid "OpenGL accelerated" +msgstr "" + +#: gajim/gtk/video_preview.py:120 +msgid "Not accelerated" +msgstr "" + +#: gajim/gtk/video_preview.py:127 +msgid "Something went wrong. Video feature disabled." +msgstr "" + +#: gajim/gtk/groupchat_invite.py:304 +#, fuzzy +msgid "Invite New Contact" +msgstr "Inviter _kontakter" + +#: gajim/gtk/themes.py:37 +#, fuzzy +msgid "Chatstate Composing" +msgstr "Skriver" + +#: gajim/gtk/themes.py:41 +#, fuzzy +msgid "Chatstate Inactive" +msgstr "Inaktiv" + +#: gajim/gtk/themes.py:45 +msgid "Chatstate Gone" +msgstr "" + +#: gajim/gtk/themes.py:49 +#, fuzzy +msgid "Chatstate Paused" +msgstr "Endre status" + +#: gajim/gtk/themes.py:53 +#, fuzzy +msgid "Group Chat Tab New Directed Message" +msgstr "MUC-fane ny dirigert melding" + +#: gajim/gtk/themes.py:57 +#, fuzzy +msgid "Group Chat Tab New Message" +msgstr "Ny melding" + +#: gajim/gtk/themes.py:61 +msgid "Banner Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:65 +msgid "Banner Background Color" +msgstr "" + +#: gajim/gtk/themes.py:69 +msgid "Banner Font" +msgstr "" + +#: gajim/gtk/themes.py:73 +msgid "Account Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:77 +msgid "Account Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:81 +#, fuzzy +msgid "Account Row Font" +msgstr "Konto-rad" + +#: gajim/gtk/themes.py:85 +msgid "Group Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:89 +msgid "Group Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:93 +#, fuzzy +msgid "Group Row Font" +msgstr "Gruppe-rad" + +#: gajim/gtk/themes.py:97 +msgid "Contact Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:101 +msgid "Contact Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:105 +#, fuzzy +msgid "Contact Row Font" +msgstr "Merknadsfarge for kontaktavlogging" + +#: gajim/gtk/themes.py:109 +#, fuzzy +msgid "Conversation Font" +msgstr "Samtale med " + +#: gajim/gtk/themes.py:113 +#, fuzzy +msgid "Incoming Nickname Color" +msgstr "Innkommende kallenavnsfarge." + +#: gajim/gtk/themes.py:117 +#, fuzzy +msgid "Outgoing Nickname Color" +msgstr "Utgående kallenavnfarge." + +#: gajim/gtk/themes.py:121 +#, fuzzy +msgid "Incoming Message Text Color" +msgstr "Innkommende tekstfarge." + +#: gajim/gtk/themes.py:125 +#, fuzzy +msgid "Incoming Message Text Font" +msgstr "Innkommende tekstskrift." + +#: gajim/gtk/themes.py:129 +#, fuzzy +msgid "Outgoing Message Text Color" +msgstr "Utgående tekstfarge." + +#: gajim/gtk/themes.py:133 +#, fuzzy +msgid "Outgoing Message Text Font" +msgstr "Utgående tekstskrift." + +#: gajim/gtk/themes.py:137 +#, fuzzy +msgid "Status Message Color" +msgstr "Statusmelding" + +#: gajim/gtk/themes.py:141 +#, fuzzy +msgid "Status Message Font" +msgstr "Statusmelding" + +#: gajim/gtk/themes.py:145 +#, fuzzy +msgid "URL Color" +msgstr "Farge" + +#: gajim/gtk/themes.py:149 +#, fuzzy +msgid "Highlight Message Color" +msgstr "_Uthev feilstavede ord" + +#: gajim/gtk/themes.py:153 +#, fuzzy +msgid "Message Correcting" +msgstr "Meldinger" + +#: gajim/gtk/themes.py:157 +#, fuzzy +msgid "Contact Disconnected Background" +msgstr "Kontakt Frakoblet" + +#: gajim/gtk/themes.py:161 +#, fuzzy +msgid "Contact Connected Background " +msgstr "Kontakt tilkoblet" + +#: gajim/gtk/themes.py:164 +#, fuzzy +msgid "Status Online Color" +msgstr "Statusmelding" + +#: gajim/gtk/themes.py:167 +#, fuzzy +msgid "Status Away Color" +msgstr "Statusmelding" + +#: gajim/gtk/themes.py:170 +#, fuzzy +msgid "Status DND Color" +msgstr "Statusmelding" + +#: gajim/gtk/themes.py:173 +#, fuzzy +msgid "Status Offline Color" +msgstr "Statusmelding" + +#: gajim/gtk/themes.py:187 +#, fuzzy +msgid "Gajim Themes" +msgstr "gajim-remote" + +#: gajim/gtk/themes.py:223 gajim/gtk/themes.py:230 +#, fuzzy +msgid "Invalid Name" +msgstr "Ugyldig kallenavn" + +#: gajim/gtk/themes.py:224 +msgid "Name default is not allowed" +msgstr "" + +#: gajim/gtk/themes.py:231 +#, fuzzy +msgid "Spaces are not allowed" +msgstr "Ulovlig tegn" + +#: gajim/gtk/themes.py:356 +#, fuzzy +msgid "Do you want to delete this theme?" +msgstr "Ønsker du å slette valgt melding?" + +#: gajim/gtk/themes.py:358 +#, fuzzy +msgid "" +"This is the theme you are currently using.\n" +"Do you want to delete this theme?" +msgstr "" +"Dette navnet er allerede i bruk. Ønsker du å overskrive denne " +"statusmeldingen?" + +#: gajim/gtk/themes.py:363 +#, fuzzy +msgid "Delete Theme" +msgstr "Påslått" + +#: gajim/gtk/themes.py:390 +#, fuzzy +msgid "Remove Setting" +msgstr "Tillegg" + +#: gajim/gtk/filetransfer_progress.py:62 +#, fuzzy +msgid "Upload Failed" +msgstr "Lagre fil som…" + +#: gajim/gtk/filetransfer_progress.py:113 +#, fuzzy, python-format +msgid "%(progress)s of %(total)s" +msgstr "%(received)s av %(max)s" + +#: gajim/gtk/filetransfer_progress.py:130 +#, python-format +msgid "%(minutes)s min %(seconds)s sec" +msgstr "" + +#: gajim/gtk/add_contact.py:32 +#, fuzzy +msgid "GG Number" +msgstr "GG-nummer:" + +#: gajim/gtk/add_contact.py:33 +#, fuzzy +msgid "ICQ Number" +msgstr "ICQ-nummer:" + +#: gajim/gtk/add_contact.py:42 +#, fuzzy +msgid "Add Contact" +msgstr "Legg til kontakt…" + +#: gajim/gtk/add_contact.py:260 +#, fuzzy, python-format +msgid "%s Missing" +msgstr "%s MiB" + +#: gajim/gtk/add_contact.py:261 +#, python-format +msgid "You must supply the %s of the new contact." +msgstr "Du må skrive inn %s for den nye kontoen" + +#: gajim/gtk/add_contact.py:288 gajim/gtk/add_contact.py:294 +#: gajim/gtk/add_contact.py:299 +msgid "Invalid User ID" +msgstr "Ugyldig bruker-ID" + +#: gajim/gtk/add_contact.py:295 +msgid "The user ID must not contain a resource." +msgstr "Bruker-ID-en kan ikke inneholde en ressurs." + +#: gajim/gtk/add_contact.py:300 +#, fuzzy +msgid "You cannot add yourself to your contact list." +msgstr "Du kan ikke legge til deg selv i egen kontaktliste." + +#: gajim/gtk/add_contact.py:305 +#, fuzzy +msgid "Account Offline" +msgstr "Frakoblet" + +#: gajim/gtk/add_contact.py:306 +msgid "Your account must be online to add new contacts." +msgstr "" + +#: gajim/gtk/add_contact.py:322 +#, fuzzy +msgid "Contact Already in Contact List" +msgstr "Kontakt allerede i kontaktliste" + +#: gajim/gtk/add_contact.py:323 +#, fuzzy +msgid "This contact is already in your contact list." +msgstr "Kontakten er allerede opplistet i din kontaktliste." + +#: gajim/gtk/add_contact.py:381 gajim/gtk/add_contact.py:419 +msgid "User ID:" +msgstr "Bruker-ID:" + +#: gajim/gtk/add_contact.py:486 +msgid "Error while adding transport contact" +msgstr "Feil ved tilføying av transportkontakt" + +#: gajim/gtk/add_contact.py:487 +#, fuzzy, python-format +msgid "" +"This error occurred while adding a contact for transport %(transport)s:\n" +"\n" +"%(error)s" +msgstr "" +"En feil inntraff under tillegg av kontakt for transporten %(transport)s:\n" +"\n" +"%(error)s" + +#: gajim/gtk/account_wizard.py:61 gajim/data/gui/account_wizard.ui:631 +#, fuzzy +msgid "Sign Up" +msgstr "Logg _inn" + +#: gajim/gtk/account_wizard.py:63 +#, fuzzy +msgid "Connect" +msgstr "Tilkoblet" + +#: gajim/gtk/account_wizard.py:64 gajim/gtk/adhoc.py:102 +msgid "Next" +msgstr "" + +#: gajim/gtk/account_wizard.py:65 +#, fuzzy +msgid "Log In" +msgstr "_Logg på" + +#: gajim/gtk/account_wizard.py:67 gajim/gtk/remove_account.py:44 +#: gajim/gtk/change_password.py:45 gajim/gtk/accounts.py:384 +#, fuzzy +msgid "Back" +msgstr "Straks tilbake" + +#: gajim/gtk/account_wizard.py:80 +msgid "An error occurred during account creation" +msgstr "Det skjedde en feil under oppretting av kontoen" + +#: gajim/gtk/account_wizard.py:166 +#, fuzzy +msgid "Creating Account..." +msgstr "Fjerner kontoen %s" + +#: gajim/gtk/account_wizard.py:167 +#, fuzzy +msgid "Trying to create account..." +msgstr "Klikk for å endre kontoens passord" + +#: gajim/gtk/account_wizard.py:277 gajim/gtk/account_wizard.py:296 +#: gajim/gtk/account_wizard.py:313 +#, fuzzy +msgid "Connecting to server..." +msgstr "Kobler til…" + +#: gajim/gtk/account_wizard.py:367 gajim/gtk/account_wizard.py:368 +msgid "Anonymous login not supported" +msgstr "" + +#: gajim/gtk/account_wizard.py:369 +#, fuzzy +msgid "This server does not support anonymous login." +msgstr "Din server støtter ikke Vcard" + +#: gajim/gtk/account_wizard.py:372 gajim/common/client.py:284 +#: gajim/common/const.py:958 gajim/common/const.py:959 +#: gajim/common/const.py:960 gajim/common/const.py:963 +#, fuzzy +msgid "Authentication failed" +msgstr "Identitetsbekreftelse feilet med følgende, \"%s\"" + +#: gajim/gtk/account_wizard.py:384 gajim/gtk/account_wizard.py:385 +#, fuzzy +msgid "Signup not allowed" +msgstr "Ulovlig tegn" + +#: gajim/gtk/account_wizard.py:386 +#, fuzzy +msgid "This server does not allow signup." +msgstr "Din server støtter ikke Vcard" + +#: gajim/gtk/account_wizard.py:395 gajim/gtk/account_wizard.py:432 +#: gajim/gtk/account_wizard.py:433 gajim/gtk/account_wizard.py:520 +#: gajim/gtk/groupchat_config.py:132 gajim/gtk/groupchat_config.py:399 +#: gajim/gtk/history.py:591 gajim/gtk/search.py:336 +msgid "Error" +msgstr "Feil" + +#: gajim/gtk/account_wizard.py:402 gajim/gtk/account_wizard.py:403 +#, fuzzy +msgid "Connection failed" +msgstr "Tilkobling mislyktes" + +#: gajim/gtk/account_wizard.py:404 +msgid "" +"Gajim was not able to reach the server. Make sure your XMPP address is " +"correct." +msgstr "" + +#: gajim/gtk/account_wizard.py:459 +#, fuzzy +msgid "Account is being created" +msgstr "Kontoen \"%s\" er tilkoblet tjeneren" + +#: gajim/gtk/account_wizard.py:518 +msgid "The server rejected the registration without an error message" +msgstr "" + +#: gajim/gtk/account_wizard.py:530 gajim/gtk/accounts.py:572 +#, fuzzy +msgid "Add Account" +msgstr "Legg til kontakt…" + +#: gajim/gtk/account_wizard.py:612 gajim/gtk/groupchat_creation.py:138 +#, fuzzy +msgid "Invalid Address" +msgstr "Ugyldig fil" + +#: gajim/gtk/account_wizard.py:636 +#, fuzzy +msgid "Create New Account" +msgstr "Lag en ny post" + +#: gajim/gtk/account_wizard.py:712 +#, fuzzy +msgid "Advanced settings" +msgstr "Avanserte Handlinger" + +#: gajim/gtk/account_wizard.py:774 +#, fuzzy +msgid "Invalid domain name" +msgstr "Ugyldig kontonavn" + +#: gajim/gtk/account_wizard.py:791 +#, fuzzy +msgid "Must be a port number" +msgstr "Egendefinert port må være et portnummer" + +#: gajim/gtk/account_wizard.py:798 +#, fuzzy +msgid "Port must be a number between 0 and 65535" +msgstr "Ressursen må være mellom 1 og 1023 byte" + +#: gajim/gtk/account_wizard.py:814 +#, fuzzy +msgid "Security Warning" +msgstr "Advarsel: %s" + +#: gajim/gtk/account_wizard.py:833 +#, fuzzy, python-format +msgid "Unknown TLS error '%s'" +msgstr "Ukjent SSL-feil: %d" + +#: gajim/gtk/account_wizard.py:868 gajim/gtk/account_wizard.py:871 +#, fuzzy +msgid "Create Account" +msgstr "Fjerner kontoen %s" + +#: gajim/gtk/account_wizard.py:922 +msgid "Redirect" +msgstr "" + +#: gajim/gtk/account_wizard.py:932 +#, fuzzy +msgid "Register on the Website" +msgstr "Registrer til %s" + +#: gajim/gtk/account_wizard.py:943 +#, fuzzy +msgid "Account Added" +msgstr "Konto-rad" + +#: gajim/gtk/account_wizard.py:944 +msgid "Account has been added successfully" +msgstr "Kontoen har blitt lagt til uten feilmeldinger" + +#: gajim/gtk/groupchat_invitation.py:57 +#, fuzzy +msgid "" +"has invited you to a group chat.\n" +"Do you want to join?" +msgstr "Inviter en bruker til et rom av en grunn" + +#: gajim/gtk/groupchat_invitation.py:75 gajim/gtk/discovery.py:1706 +#: gajim/gtk/groupchat_join.py:68 gajim/data/gui/groupchat_control.ui:899 +#: gajim/data/gui/groupchat_control.ui:991 +#: gajim/data/gui/start_chat_dialog.ui:314 +msgid "_Join" +msgstr "_Delta" + +#: gajim/gtk/tooltips.py:215 +#, python-format +msgid "%(owner_or_admin_or_member)s of this group chat" +msgstr "%(owner_or_admin_or_member)s av denne gruppesamtalen" + +#: gajim/gtk/tooltips.py:474 +msgid "Connected" +msgstr "Tilkoblet" + +#: gajim/gtk/tooltips.py:476 +msgid "Disconnected" +msgstr "Frakoblet" + +#: gajim/gtk/tooltips.py:530 +#, fuzzy +msgid "File Name: " +msgstr "Filnavn: %s" + +#: gajim/gtk/tooltips.py:533 +msgid "?Noun:Download" +msgstr "?Noun:Nedlasting" + +#: gajim/gtk/tooltips.py:534 gajim/gtk/filetransfer.py:747 +msgid "Sender: " +msgstr "Avsender: " + +#: gajim/gtk/tooltips.py:539 +msgid "?Noun:Upload" +msgstr "?Noun:Opplasting" + +#: gajim/gtk/tooltips.py:540 gajim/gtk/filetransfer.py:240 +#: gajim/gtk/filetransfer.py:749 +msgid "Recipient: " +msgstr "Mottaker: " + +#: gajim/gtk/tooltips.py:546 +#, fuzzy +msgid "?transfer type:Type: " +msgstr "Filoverføring stoppet" + +#: gajim/gtk/tooltips.py:552 +#, fuzzy +msgid "?transfer status:Transferred: " +msgstr "?transfer status:Pauset" + +#: gajim/gtk/tooltips.py:555 +#, fuzzy +msgid "?transfer status:Status: " +msgstr "?transfer status:Pauset" + +#: gajim/gtk/tooltips.py:557 +msgid "Description: " +msgstr "Beskrivelse: " + +#: gajim/gtk/tooltips.py:581 +#, fuzzy +msgid "?transfer status:Aborted" +msgstr "?transfer status:Pauset" + +#: gajim/gtk/tooltips.py:583 +#, fuzzy +msgid "?transfer status:Completed" +msgstr "?transfer status:Pauset" + +#: gajim/gtk/tooltips.py:585 +msgid "?transfer status:Paused" +msgstr "?transfer status:Pauset" + +#: gajim/gtk/tooltips.py:588 +#, fuzzy +msgid "?transfer status:Stalled" +msgstr "?transfer status:Pauset" + +#: gajim/gtk/tooltips.py:592 +#, fuzzy +msgid "?transfer status:Transferring" +msgstr "?transfer status:Pauset" + +#: gajim/gtk/tooltips.py:593 gajim/gtk/tooltips.py:594 +#, fuzzy +msgid "?transfer status:Not started" +msgstr "?transfer status:Pauset" + +#: gajim/gtk/remove_account.py:42 gajim/gtk/accounts.py:341 +msgid "Remove" +msgstr "Fjern" + +#: gajim/gtk/remove_account.py:49 +#, fuzzy +msgid "Removing Account..." +msgstr "Fjerner kontoen %s" + +#: gajim/gtk/remove_account.py:50 +msgid "Trying to remove account..." +msgstr "" + +#: gajim/gtk/remove_account.py:53 gajim/gtk/remove_account.py:54 +#, fuzzy +msgid "Account Removed" +msgstr "Konto-rad" + +#: gajim/gtk/remove_account.py:56 +#, fuzzy +msgid "Your account has has been removed successfully." +msgstr "Din nye konto har blitt opprettet uten feilmeldinger" + +#: gajim/gtk/remove_account.py:59 gajim/gtk/remove_account.py:60 +#, fuzzy +msgid "Account Removal Failed" +msgstr "Ingen kontoer tilgjengelig" + +#: gajim/gtk/remove_account.py:171 gajim/gtk/remove_account.py:173 +#, fuzzy +msgid "Remove Account" +msgstr "Fjerner kontoen %s" + +#: gajim/gtk/remove_account.py:180 +#, fuzzy +msgid "This will remove your account from Gajim." +msgstr "Fjern kontoen _bare fra Gajim" + +#: gajim/gtk/remove_account.py:189 +#, python-format +msgid "Do you want to unregister your account on %s as well?" +msgstr "" + +#: gajim/gtk/remove_account.py:198 +msgid "_Unregister account from service" +msgstr "" + +#: gajim/gtk/remove_account.py:217 +#, fuzzy +msgid "Account has to be connected" +msgstr "Kontoen \"%s\" er tilkoblet tjeneren" + +#: gajim/gtk/filetransfer.py:91 +msgid "File" +msgstr "Fil" + +#: gajim/gtk/filetransfer.py:108 +msgid "Time" +msgstr "Tid" + +#: gajim/gtk/filetransfer.py:121 gajim/data/gui/filetransfer_progress.ui:110 +msgid "Progress" +msgstr "Fremdrift" + +#: gajim/gtk/filetransfer.py:228 +#, fuzzy, python-format +msgid "File name: %s" +msgstr "Filnavn: %s" + +#: gajim/gtk/filetransfer.py:229 gajim/gtk/filetransfer.py:470 +#, python-format +msgid "Size: %s" +msgstr "Størrelse: %s" + +#: gajim/gtk/filetransfer.py:239 +#, python-format +msgid "Sender: %s" +msgstr "Avsender: %s" + +#: gajim/gtk/filetransfer.py:251 +#, python-format +msgid "Saved in: %s" +msgstr "Lagret i: %s" + +#: gajim/gtk/filetransfer.py:256 +msgid "File transfer completed" +msgstr "Filoverføring fullført" + +#: gajim/gtk/filetransfer.py:276 gajim/gtk/filetransfer.py:285 +#, fuzzy +msgid "Connection with peer could not be established." +msgstr "Tilkoblingen med likemann kan ikke opprettes." + +#: gajim/gtk/filetransfer.py:293 +#, python-format +msgid "Filename: %s" +msgstr "Filnavn: %s" + +#: gajim/gtk/filetransfer.py:294 +#, python-format +msgid "Recipient: %s" +msgstr "Mottaker: %s" + +#: gajim/gtk/filetransfer.py:296 +#, python-format +msgid "Error message: %s" +msgstr "Feilmelding: %s" + +#: gajim/gtk/filetransfer.py:335 +#, fuzzy, python-format +msgid "" +"The file %s has been received, but it seems to have been damaged along the " +"way.\n" +"Do you want to download it again?" +msgstr "" +"Fila %(file)s har blitt mottatt, men den later til å ha blitt skadet på " +"veien.\n" +"Ønsker du å laste den ned igjen?" + +#: gajim/gtk/filetransfer.py:341 +#, fuzzy +msgid "_Download Again" +msgstr "_Ikke spør meg igjen" + +#: gajim/gtk/filetransfer.py:356 +msgid "Gajim can not read this file" +msgstr "Gajim kan ikke lese denne filen" + +#: gajim/gtk/filetransfer.py:357 +msgid "Another process is using this file." +msgstr "En annen prosess bruker denne fila." + +#: gajim/gtk/filetransfer.py:399 +#, fuzzy, python-format +msgid "Cannot overwrite existing file '%s'" +msgstr "Kan ikke overskrive eksisterende fil \"%s\"" + +#: gajim/gtk/filetransfer.py:400 +msgid "" +"A file with this name already exists and you do not have permission to " +"overwrite it." +msgstr "" +"Ei fil med dette navnet finnes allerede og du har ikke tilgang til å " +"overskrive den." + +#: gajim/gtk/filetransfer.py:424 +#, fuzzy +msgid "File Transfer Conflict" +msgstr "Filoverføring fullført" + +#: gajim/gtk/filetransfer.py:425 +#, fuzzy +msgid "File already exists" +msgstr "Denne fila finnes allerede" + +#: gajim/gtk/filetransfer.py:426 +msgid "Resume download or replace file?" +msgstr "" + +#: gajim/gtk/filetransfer.py:430 +#, fuzzy +msgid "Resume _Download" +msgstr "?Noun:Nedlasting" + +#: gajim/gtk/filetransfer.py:433 +#, fuzzy +msgid "Replace _File" +msgstr "Ers_tatt" + +#: gajim/gtk/filetransfer.py:443 +#, fuzzy, python-format +msgid "Directory '%s' is not writable" +msgstr "Mappa \"%s\" er ikke skrivbar" + +#: gajim/gtk/filetransfer.py:444 +#, fuzzy +msgid "You do not have permissions to create files in this directory." +msgstr "Du har ikke tilgang til å opprette filer i denne mappa." + +#: gajim/gtk/filetransfer.py:467 +#, python-format +msgid "File: %s" +msgstr "Fil: %s" + +#: gajim/gtk/filetransfer.py:473 +#, python-format +msgid "Type: %s" +msgstr "Type: %s" + +#: gajim/gtk/filetransfer.py:475 +#, python-format +msgid "Description: %s" +msgstr "Beskrivelse: %s" + +#: gajim/gtk/filetransfer.py:486 +#, fuzzy, python-format +msgid "%s wants to send you a file" +msgstr "%s ønsker å sende deg ei fil." + +#: gajim/gtk/filetransfer.py:514 +msgid "Checking file…" +msgstr "Sjekker fil…" + +#: gajim/gtk/filetransfer.py:529 +msgid "File error" +msgstr "Feil med fil" + +#: gajim/gtk/filetransfer.py:566 +#, python-format +msgid "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" +msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" + +#: gajim/gtk/filetransfer.py:663 +#, python-format +msgid "(%(filesize_unit)s/s)" +msgstr "(%(filesize_unit)s/s)" + +#: gajim/gtk/filetransfer.py:716 gajim/gtk/filetransfer.py:720 +msgid "Invalid File" +msgstr "Ugyldig fil" + +#: gajim/gtk/filetransfer.py:716 +msgid "File: " +msgstr "Fil: " + +#: gajim/gtk/filetransfer.py:721 +msgid "It is not possible to send empty files" +msgstr "Det er ikke mulig å sende tomme filer" + +#: gajim/gtk/filetransfer.py:1043 +#, fuzzy +msgid "Choose a File to Send…" +msgstr "Velg fil å sende…" + +#: gajim/gtk/roster_item_exchange.py:35 +#: gajim/data/gui/roster_item_exchange_window.ui:39 +#, fuzzy +msgid "Contact List Exchange" +msgstr "Utveksling av kontaktlisteelement" + +#: gajim/gtk/roster_item_exchange.py:49 +#, fuzzy, python-format +msgid "%s would like to add some contacts to your contact list." +msgstr "Jeg vil legge deg til i kontaktlisten min." + +#: gajim/gtk/roster_item_exchange.py:52 +#, fuzzy, python-format +msgid "%s would like to modify some contacts in your contact list." +msgstr "" +"%(jid)s ønsker at du %(action)s noen kontakter i kontaktlisten " +"din." + +#: gajim/gtk/roster_item_exchange.py:55 +#, fuzzy, python-format +msgid "%s would like to delete some contacts from your contact list." +msgstr "" +"%(jid)s ønsker at du %(action)s noen kontakter i kontaktlisten " +"din." + +#: gajim/gtk/roster_item_exchange.py:71 gajim/gtk/roster_item_exchange.py:130 +msgid "Add" +msgstr "Legg til" + +#: gajim/gtk/roster_item_exchange.py:73 gajim/gtk/roster_item_exchange.py:161 +msgid "Modify" +msgstr "Endre" + +#: gajim/gtk/roster_item_exchange.py:80 +msgid "JID" +msgstr "JID" + +#: gajim/gtk/roster_item_exchange.py:86 +msgid "Groups" +msgstr "Grupper" + +#: gajim/gtk/roster_item_exchange.py:196 +#, fuzzy, python-format +msgid "%s suggested me to add you to my contact list." +msgstr "%s anbefalte meg å legge deg til på min kontaktliste." + +#: gajim/gtk/roster_item_exchange.py:211 +#, python-format +msgid "Added %d contact" +msgid_plural "Added %d contacts" +msgstr[0] "La til %d kontakt" +msgstr[1] "La til %d kontakter" + +#: gajim/gtk/roster_item_exchange.py:253 +#, python-format +msgid "Removed %d contact" +msgid_plural "Removed %d contacts" +msgstr[0] "Fjernet %d kontakt" +msgstr[1] "Fjernet %d kontakter" + +#: gajim/gtk/groupchat_creation.py:45 gajim/data/gui/groupchat_creation.ui:81 +#, fuzzy +msgid "Create Group Chat" +msgstr "Forlat gruppesamtaler" + +#: gajim/gtk/groupchat_creation.py:101 gajim/gtk/groupchat_creation.py:103 +msgid " (optional)..." +msgstr "" + +#: gajim/gtk/groupchat_creation.py:186 +#, fuzzy +msgid "Not Connected" +msgstr "Tilkoblet" + +#: gajim/gtk/groupchat_creation.py:187 +#, fuzzy +msgid "You have to be connected to create a group chat." +msgstr "Du har ikke tatt del i en gruppesamtale." + +#: gajim/gtk/status_selector.py:121 gajim/gtk/status_selector.py:127 +#, fuzzy, python-format +msgid "Status: %s" +msgstr "Status: " + +#: gajim/gtk/status_selector.py:125 +#, fuzzy, python-format +msgid "%s (desynced)" +msgstr "usynkronisert" + +#: gajim/gtk/subscription_request.py:35 +msgid "Subscription Request" +msgstr "Abonnements-forespørsel" + +#: gajim/gtk/subscription_request.py:47 +#, python-format +msgid "Subscription request for account %(account)s from %(jid)s" +msgstr "Abonnementsforespørsel for konto %(account)s fra %(jid)s" + +#: gajim/gtk/subscription_request.py:50 +#, python-format +msgid "Subscription request from %s" +msgstr "Abonneringsønske fra %s" + +#: gajim/gtk/single_message.py:51 +msgid "Send Single Message" +msgstr "Send en Melding" + +#: gajim/gtk/single_message.py:101 +#, fuzzy +msgid "(No subject)" +msgstr "tema" + +#: gajim/gtk/single_message.py:157 +#, python-format +msgid "Single Message using account %s" +msgstr "Enkeltmelding ved bruk av kontoen %s" + +#: gajim/gtk/single_message.py:159 +#, python-format +msgid "Single Message in account %s" +msgstr "Enkeltmelding i kontoen %s" + +#: gajim/gtk/single_message.py:161 +msgid "Single Message" +msgstr "Enkeltmelding" + +#: gajim/gtk/single_message.py:164 +#, python-format +msgid "Send %s" +msgstr "Send %s" + +#: gajim/gtk/single_message.py:183 +#, python-format +msgid "Received %s" +msgstr "Mottatt %s" + +#: gajim/gtk/single_message.py:205 +#, fuzzy, python-format +msgid "Characters typed: %s" +msgstr "Ulovlig tegn" + +#: gajim/gtk/single_message.py:210 gajim/gtk/xml_console.py:169 +msgid "Connection not available" +msgstr "Tilkobling ikke tilgjengelig" + +#: gajim/gtk/single_message.py:211 +#, python-format +msgid "Please make sure you are connected with \"%s\"." +msgstr "Sjekk at du er tilkoblet \"%s\"." + +#: gajim/gtk/single_message.py:239 +#, fuzzy, python-format +msgid "" +"It is not possible to send a message to %s, this XMPP Address is not valid." +msgstr "Det er ikke mulig å sende en melding til %s, JID-en er ikke gyldig." + +#: gajim/gtk/single_message.py:316 +#, python-format +msgid "RE: %s" +msgstr "SV: %s" + +#: gajim/gtk/single_message.py:317 +#, python-format +msgid "%s wrote:\n" +msgstr "%s skrev:\n" + +#: gajim/gtk/change_password.py:42 +#, fuzzy +msgid "Change" +msgstr "Endre kallenavn" + +#: gajim/gtk/change_password.py:51 +#, fuzzy +msgid "Changing Password..." +msgstr "Endre passord" + +#: gajim/gtk/change_password.py:52 +#, fuzzy +msgid "Trying to change password..." +msgstr "Klikk for å endre kontoens passord" + +#: gajim/gtk/change_password.py:55 gajim/gtk/change_password.py:56 +#, fuzzy +msgid "Password Changed" +msgstr "Passord påkrevd" + +#: gajim/gtk/change_password.py:57 +#, fuzzy +msgid "Your password has successfully been changed." +msgstr "Dine arkiveringsinnstillinger har blitt lagret." + +#: gajim/gtk/change_password.py:60 gajim/gtk/change_password.py:61 +#, fuzzy +msgid "Password Change Failed" +msgstr "Passord påkrevd" + +#: gajim/gtk/change_password.py:63 +#, fuzzy +msgid "An error occurred while trying to change your password." +msgstr "Det skjedde en feil under oppretting av kontoen" + +#: gajim/gtk/change_password.py:145 gajim/gtk/change_password.py:147 +#: gajim/gtk/change_password.py:224 gajim/gtk/accounts.py:994 +msgid "Change Password" +msgstr "Endre passord" + +#: gajim/gtk/change_password.py:154 +#, fuzzy +msgid "Please enter your new password." +msgstr "Velg en ny og ren drakt." + +#: gajim/gtk/change_password.py:167 +#, fuzzy +msgid "Enter new password..." +msgstr "Skriv inn nytt passord:" + +#: gajim/gtk/change_password.py:176 +#, fuzzy +msgid "Confirm new password..." +msgstr "Endre passord" + +#: gajim/gtk/change_password.py:191 +msgid "Passwords do not match" +msgstr "Passordene samsvarer ikke" + +#: gajim/gtk/bookmarks.py:48 +#, fuzzy, python-format +msgid "Bookmarks for %s" +msgstr "Bokmerker" + +#: gajim/gtk/xml_console.py:95 gajim/gtk/xml_console.py:279 +#, fuzzy +msgid "All Accounts" +msgstr "Kontoer" + +#: gajim/gtk/xml_console.py:170 +#, fuzzy, python-format +msgid "Please make sure you are connected with '%s'." +msgstr "Sjekk at du er tilkoblet \"%s\"." + +#: gajim/gtk/xml_console.py:180 +#, fuzzy +msgid "Invalid Node" +msgstr "Ugyldig fil" + +#: gajim/gtk/xml_console.py:282 +msgid "Account" +msgstr "Konto" + +#: gajim/gtk/xml_console.py:309 gajim/data/gui/xml_console.ui:241 +msgid "Filter" +msgstr "Filter" + +#: gajim/gtk/dataform.py:252 gajim/gtk/dataform.py:290 +#, fuzzy +msgid "Required" +msgstr "Passord påkrevd" + +#: gajim/gtk/dataform.py:315 +msgid "Yes" +msgstr "" + +#: gajim/gtk/dataform.py:315 +msgid "No" +msgstr "Ingen" + +#: gajim/gtk/dataform.py:701 gajim/gtk/adhoc.py:86 +#: gajim/data/gui/profile.ui:396 +#, fuzzy +msgid "Cancel" +msgstr "_Avbryt" + +#: gajim/gtk/dataform.py:703 +msgid "Submit" +msgstr "" + +#: gajim/gtk/discovery.py:69 +msgid "This service has not yet responded with detailed information" +msgstr "Denne tjenesten har ikke svart med detaljert informasjon" + +#: gajim/gtk/discovery.py:70 +#, fuzzy +msgid "" +"This service could not respond with detailed information.\n" +"It is most likely a legacy service or broken." +msgstr "" +"Denne tjenesten kunne ikke svare med detaljert informasjon.\n" +"Den er mest sannsynlig foreldet eller på en snurr." + +#: gajim/gtk/discovery.py:126 +msgid "Others" +msgstr "Andre" + +#: gajim/gtk/discovery.py:129 gajim/data/gui/shortcuts_window.ui:307 +#, fuzzy +msgid "Group Chat" +msgstr "_Gruppe Samtale" + +#: gajim/gtk/discovery.py:523 +msgid "Without a connection, you can not browse available services" +msgstr "Uten en tilkobling kan du ikke liste opp tilgjengelige tjenester" + +#: gajim/gtk/discovery.py:610 +#, python-format +msgid "Service Discovery using account %s" +msgstr "Se etter tjenester med %s-kontoen" + +#: gajim/gtk/discovery.py:612 +msgid "Service Discovery" +msgstr "Se etter tjenester" + +#: gajim/gtk/discovery.py:695 +msgid "The service could not be found" +msgstr "Tjenesten ble ikke funnet" + +#: gajim/gtk/discovery.py:696 +msgid "" +"There is no service at the address you entered, or it is not responding. " +"Check the address and try again." +msgstr "" +"Det er ingen tjenestetilbud på adressen du oppgav, eller den svarer ikke. " +"Sjekk adressen og prøv igjen." + +#: gajim/gtk/discovery.py:703 gajim/gtk/discovery.py:1046 +msgid "The service is not browsable" +msgstr "Ikke mulig å utforske tjeneste" + +#: gajim/gtk/discovery.py:704 +msgid "This type of service does not contain any items to browse." +msgstr "Denne typen tjeneste inneholder ingen elementer å utforske." + +#: gajim/gtk/discovery.py:742 gajim/gtk/discovery.py:751 +msgid "Invalid Server Name" +msgstr "Ugyldig tjenernavn" + +#: gajim/gtk/discovery.py:810 +#, python-format +msgid "Browsing %(address)s using account %(account)s" +msgstr "Utforsker %(address)s med kontoen %(account)s" + +#: gajim/gtk/discovery.py:855 +msgid "Browse" +msgstr "Utforsk" + +#: gajim/gtk/discovery.py:1047 +msgid "This service does not contain any items to browse." +msgstr "Denne tjenesten innholder ingen elementer å utforske." + +#: gajim/gtk/discovery.py:1259 +#, fuzzy +msgid "_Command" +msgstr "Kommandoer: %s" + +#: gajim/gtk/discovery.py:1268 gajim/gtk/discovery.py:1425 +msgid "Re_gister" +msgstr "Re_gistrer" + +#: gajim/gtk/discovery.py:1275 +msgid "Join" +msgstr "Ta del" + +#: gajim/gtk/discovery.py:1281 +msgid "_Search" +msgstr "_Søk" + +#: gajim/gtk/discovery.py:1423 gajim/data/gui/profile.ui:353 +msgid "_Edit" +msgstr "_Rediger" + +#: gajim/gtk/discovery.py:1461 +#, fuzzy, python-format +msgid "Scanning %(current)d / %(total)d ..." +msgstr "Skanner %(current)d / %(total)d.." + +#: gajim/gtk/discovery.py:1660 +msgid "Users" +msgstr "Brukere" + +#: gajim/gtk/discovery.py:1668 gajim/data/gui/groupchat_info_scrolled.ui:32 +#: gajim/data/gui/filetransfers_send_file_dialog.ui:15 +#: gajim/data/gui/advanced_configuration.ui:82 +msgid "Description" +msgstr "Beskrivelse" + +#: gajim/gtk/discovery.py:1676 +msgid "Id" +msgstr "ID" + +#: gajim/gtk/discovery.py:1905 +msgid "Subscribed" +msgstr "Abonnerte" + +#: gajim/gtk/discovery.py:1914 +msgid "Node" +msgstr "Node" + +#: gajim/gtk/discovery.py:1983 +#, fuzzy +msgid "_New post" +msgstr "Ny post" + +#: gajim/gtk/discovery.py:1992 +msgid "_Subscribe" +msgstr "_Abonner" + +#: gajim/gtk/discovery.py:2000 +msgid "_Unsubscribe" +msgstr "_Fjern abonnement" + +#: gajim/gtk/groupchat_settings.py:43 +msgid "Show Join/Leave" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:53 +#, fuzzy +msgid "Notify on all Messages" +msgstr "Merknad ved alle meldinger" + +#: gajim/gtk/groupchat_settings.py:58 +#, fuzzy +msgid "Minimize on Close" +msgstr "Minimer ved lukking" + +#: gajim/gtk/groupchat_settings.py:63 +#, fuzzy +msgid "Minimize When Joining Automatically" +msgstr "Mini_mer ved automatisk deltakelse" + +#: gajim/gtk/groupchat_settings.py:68 +#, fuzzy +msgid "Send Chat State" +msgstr "Siste tilstand" + +#: gajim/gtk/groupchat_settings.py:74 +#, fuzzy +msgid "Send Chat Markers" +msgstr "Siste tilstand" + +#: gajim/gtk/groupchat_settings.py:77 +msgid "Let others know if you read up to this point" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:80 +msgid "Sync Threshold" +msgstr "" + +#: gajim/gtk/proxies.py:33 +msgid "Manage Proxies" +msgstr "Behandle mellomtjenere" + +#: gajim/gtk/manage_sounds.py:40 +#, fuzzy +msgid "Manage Sounds" +msgstr "Behandle lyder" + +#: gajim/gtk/manage_sounds.py:51 +msgid "Wav Sounds" +msgstr "Wav-lyder" + +#: gajim/gtk/manage_sounds.py:85 +msgid "Attention Message Received" +msgstr "Oppmerksomhetsmelding mottatt" + +#: gajim/gtk/manage_sounds.py:86 +msgid "First Message Received" +msgstr "Første melding motatt" + +#: gajim/gtk/manage_sounds.py:87 +msgid "Next Message Received Focused" +msgstr "Neste melding motatt i fokus" + +#: gajim/gtk/manage_sounds.py:88 +msgid "Next Message Received Unfocused" +msgstr "Neste melding motatt ikke i fokus" + +#: gajim/gtk/manage_sounds.py:89 +msgid "Contact Connected" +msgstr "Kontakt tilkoblet" + +#: gajim/gtk/manage_sounds.py:90 +msgid "Contact Disconnected" +msgstr "Kontakt frakoblet" + +#: gajim/gtk/manage_sounds.py:91 +msgid "Message Sent" +msgstr "Melding sendt" + +#: gajim/gtk/manage_sounds.py:92 +msgid "Group Chat Message Highlight" +msgstr "Utheving av Gruppesamtale-melding" + +#: gajim/gtk/manage_sounds.py:93 +msgid "Group Chat Message Received" +msgstr "Gruppesamtale-melding motatt" + +#: gajim/gtk/groupchat_info.py:38 +#, fuzzy +msgid "?Group chat feature:Open" +msgstr "?Group Chat Contact Role:Ingen" + +#: gajim/gtk/groupchat_info.py:39 +#, fuzzy +msgid "Anyone can join this group chat" +msgstr "%s har tatt del i gruppesamtalen" + +#: gajim/gtk/groupchat_info.py:42 +#, fuzzy +msgid "?Group chat feature:Members Only" +msgstr "Fremheving av gruppesamtale:" + +#: gajim/gtk/groupchat_info.py:43 +msgid "This group chat is restricted to members only" +msgstr "" + +#: gajim/gtk/groupchat_info.py:47 +#, fuzzy +msgid "?Group chat feature:Not Anonymous" +msgstr "Gruppesludringsstøtte" + +#: gajim/gtk/groupchat_info.py:48 +msgid "All other group chat participants can see your XMPP address" +msgstr "" + +#: gajim/gtk/groupchat_info.py:52 +#, fuzzy +msgid "?Group chat feature:Semi-Anonymous" +msgstr "Fremheving av gruppesamtale:" + +#: gajim/gtk/groupchat_info.py:53 +msgid "Only moderators can see your XMPP address" +msgstr "" + +#: gajim/gtk/groupchat_info.py:56 +#, fuzzy +msgid "?Group chat feature:Moderated" +msgstr "?Group Chat Contact Role:Ingen" + +#: gajim/gtk/groupchat_info.py:57 +msgid "" +"Participants entering this group chat need to request permission to send " +"messages" +msgstr "" + +#: gajim/gtk/groupchat_info.py:61 +#, fuzzy +msgid "?Group chat feature:Not Moderated" +msgstr "Gruppesludringsstøtte" + +#: gajim/gtk/groupchat_info.py:62 +msgid "Participants entering this group chat are allowed to send messages" +msgstr "" + +#: gajim/gtk/groupchat_info.py:66 +#, fuzzy +msgid "?Group chat feature:Public" +msgstr "Fremheving av gruppesamtale:" + +#: gajim/gtk/groupchat_info.py:67 +msgid "Group chat can be found via search" +msgstr "" + +#: gajim/gtk/groupchat_info.py:70 +#, fuzzy +msgid "?Group chat feature:Hidden" +msgstr "?Group Chat Contact Role:Ingen" + +#: gajim/gtk/groupchat_info.py:71 +#, fuzzy +msgid "This group chat can not be found via search" +msgstr "Dette gruppesamtalerommet har ikke tittel" + +#: gajim/gtk/groupchat_info.py:74 +#, fuzzy +msgid "?Group chat feature:Password Required" +msgstr "Gruppesludringsstøtte" + +#: gajim/gtk/groupchat_info.py:75 +msgid "This group chat does require a password upon entry" +msgstr "" + +#: gajim/gtk/groupchat_info.py:79 +#, fuzzy +msgid "?Group chat feature:No Password Required" +msgstr "Gruppesludringsstøtte" + +#: gajim/gtk/groupchat_info.py:80 +msgid "This group chat does not require a password upon entry" +msgstr "" + +#: gajim/gtk/groupchat_info.py:84 +#, fuzzy +msgid "?Group chat feature:Persistent" +msgstr "Gruppesludringsstøtte" + +#: gajim/gtk/groupchat_info.py:85 +msgid "This group chat persists even if there are no participants" +msgstr "" + +#: gajim/gtk/groupchat_info.py:89 +#, fuzzy +msgid "?Group chat feature:Temporary" +msgstr "?Group Chat Contact Role:Ingen" + +#: gajim/gtk/groupchat_info.py:90 +msgid "This group chat will be destroyed once the last participant left" +msgstr "" + +#: gajim/gtk/groupchat_info.py:94 +#, fuzzy +msgid "?Group chat feature:Archiving" +msgstr "Invitasjon til gruppesamtale" + +#: gajim/gtk/groupchat_info.py:95 +#, fuzzy +msgid "Messages are archived on the server" +msgstr "Denne økta VIL bli arkivert på tjeneren" + +#: gajim/gtk/groupchat_info.py:205 +msgid "Website" +msgstr "" + +#: gajim/gtk/accounts.py:122 +#, fuzzy +msgid "Re-Login" +msgstr "Innlogging" + +#: gajim/gtk/accounts.py:123 +#, fuzzy +msgid "Re-Login now?" +msgstr "Logge inn på nytt nå?" + +#: gajim/gtk/accounts.py:124 +#, fuzzy +msgid "To apply all changes instantly, you have to re-login." +msgstr "" +"Dersom du ønsker at endringene skal trå i kraft umiddelbart, må du logge inn " +"på nytt." + +#: gajim/gtk/accounts.py:128 +#, fuzzy +msgid "_Re-Login" +msgstr "Innlogging" + +#: gajim/gtk/accounts.py:311 gajim/data/gui/server_info.ui:386 +msgid "Connection" +msgstr "Tilkobling" + +#: gajim/gtk/accounts.py:496 +#, fuzzy +msgid "Please check if Bonjour is installed." +msgstr "Sjekk om Avahi eller Bonjour er installert." + +#: gajim/gtk/accounts.py:498 +#, fuzzy +msgid "Please check if Avahi is installed." +msgstr "Sjekk om Avahi eller Bonjour er installert." + +#: gajim/gtk/accounts.py:537 +#, fuzzy +msgid "Disable Account" +msgstr "Ugyldig konto" + +#: gajim/gtk/accounts.py:538 +#, fuzzy, python-format +msgid "Account %s is still connected" +msgstr "Kontoen \"%s\" er tilkoblet tjeneren" + +#: gajim/gtk/accounts.py:539 +#, fuzzy +msgid "All chat and group chat windows will be closed." +msgstr "Alle samtaler og gruppesamtaler vil bli lukket. Ønsker du å fortsette?" + +#: gajim/gtk/accounts.py:543 +#, fuzzy +msgid "_Disable Account" +msgstr "Ugyldig konto" + +#: gajim/gtk/accounts.py:614 +msgid "Label" +msgstr "" + +#: gajim/gtk/accounts.py:618 gajim/data/gui/groupchat_control.ui:99 +#: gajim/data/gui/chat_control.ui:363 +msgid "Color" +msgstr "Farge" + +#: gajim/gtk/accounts.py:620 +msgid "Recognize your account by color" +msgstr "" + +#: gajim/gtk/accounts.py:622 +msgid "Login" +msgstr "Innlogging" + +#: gajim/gtk/accounts.py:627 +msgid "Import Contacts" +msgstr "Importer kontakter" + +#: gajim/gtk/accounts.py:636 gajim/gtk/accounts.py:865 +msgid "Connect on startup" +msgstr "Koble til ved oppstart" + +#: gajim/gtk/accounts.py:640 gajim/gtk/accounts.py:870 +msgid "Save conversations for all contacts" +msgstr "Lagre alle samtaler ført med kontakter" + +#: gajim/gtk/accounts.py:642 gajim/gtk/accounts.py:872 +msgid "Store conversations on the harddrive" +msgstr "Lagre samtaler på harddisken" + +#: gajim/gtk/accounts.py:644 gajim/gtk/accounts.py:874 +msgid "Global Status" +msgstr "Global status" + +#: gajim/gtk/accounts.py:646 +msgid "Synchronise the status of all accounts" +msgstr "Synkroniser statusen for alle kontoer" + +#: gajim/gtk/accounts.py:648 +msgid "Remember Last Status" +msgstr "" + +#: gajim/gtk/accounts.py:650 +msgid "Restore status and status message of your last session" +msgstr "" + +#: gajim/gtk/accounts.py:653 +msgid "Use file transfer proxies" +msgstr "Bruk filoverførings-mellomtjenere" + +#: gajim/gtk/accounts.py:670 +#, fuzzy +msgid "Forever" +msgstr "Aldri" + +#: gajim/gtk/accounts.py:671 gajim/common/const.py:1110 +msgid "1 Day" +msgstr "" + +#: gajim/gtk/accounts.py:672 gajim/common/const.py:1112 +msgid "1 Week" +msgstr "" + +#: gajim/gtk/accounts.py:673 gajim/common/const.py:1113 +#, fuzzy +msgid "1 Month" +msgstr "Én måned" + +#: gajim/gtk/accounts.py:674 +#, fuzzy +msgid "3 Months" +msgstr "Én måned" + +#: gajim/gtk/accounts.py:675 +#, fuzzy +msgid "6 Months" +msgstr "Én måned" + +#: gajim/gtk/accounts.py:676 +#, fuzzy +msgid "1 Year" +msgstr "Ett år" + +#: gajim/gtk/accounts.py:686 +#, fuzzy +msgid "Idle Time" +msgstr "Uvirksom siden:" + +#: gajim/gtk/accounts.py:688 +msgid "Disclose the time of your last activity" +msgstr "" + +#: gajim/gtk/accounts.py:690 +msgid "Local System Time" +msgstr "" + +#: gajim/gtk/accounts.py:692 +msgid "Disclose the local system time of the device Gajim runs on" +msgstr "" + +#: gajim/gtk/accounts.py:695 +#, fuzzy +msgid "Client / Operating System" +msgstr "Klientsertifikat" + +#: gajim/gtk/accounts.py:697 +#, fuzzy +msgid "" +"Disclose information about the client and operating system you currently use" +msgstr "Tillat Gajim å sende informasjon om hvilket operativsystem du bruker." + +#: gajim/gtk/accounts.py:700 +#, fuzzy +msgid "Ignore Unknown Contacts" +msgstr "Inviter _kontakter" + +#: gajim/gtk/accounts.py:702 +#, fuzzy +msgid "Ignore everything from contacts not in your Roster" +msgstr "_Ignorer hendelser fra kontakter som ikke er i kontaktlisten" + +#: gajim/gtk/accounts.py:705 +#, fuzzy +msgid "Send Message Receipts" +msgstr "Oppmerksomhetsmelding mottatt" + +#: gajim/gtk/accounts.py:707 +msgid "Tell your contacts if you received a message" +msgstr "" + +#: gajim/gtk/accounts.py:713 +#, fuzzy +msgid "Default for chats" +msgstr "Ledig for samtale" + +#: gajim/gtk/accounts.py:716 gajim/gtk/accounts.py:741 +msgid "Reset all chats to the current default value" +msgstr "" + +#: gajim/gtk/accounts.py:722 +#, fuzzy +msgid "Send Chatstate in Group Chats" +msgstr "Klarte ikke å ta del i gruppesludring" + +#: gajim/gtk/accounts.py:725 +#, fuzzy +msgid "Default for group chats" +msgstr "Ny gruppesamtale" + +#: gajim/gtk/accounts.py:739 +#, fuzzy +msgid "Default for chats and private group chats" +msgstr "%s har tatt del i gruppesamtalen" + +#: gajim/gtk/accounts.py:747 +#, fuzzy +msgid "Keep Chat History" +msgstr "Sludrehistorikk" + +#: gajim/gtk/accounts.py:751 +msgid "How long Gajim should keep your chat history" +msgstr "" + +#: gajim/gtk/accounts.py:787 gajim/data/gui/manage_proxies.ui:337 +msgid "Proxy" +msgstr "Mellomtjener" + +#: gajim/gtk/accounts.py:794 gajim/gtk/accounts.py:949 +#: gajim/data/gui/server_info.ui:20 +msgid "Hostname" +msgstr "Vertsnavn" + +#: gajim/gtk/accounts.py:795 +msgid "Manually set the hostname for the server" +msgstr "Sett vertsnavnet for tjeneren manuelt" + +#: gajim/gtk/accounts.py:798 gajim/data/gui/vcard_information_window.ui:72 +msgid "Resource" +msgstr "Ressurs" + +#: gajim/gtk/accounts.py:801 gajim/gtk/accounts.py:917 +#: gajim/gtk/accounts.py:925 +msgid "Priority" +msgstr "Prioritet" + +#: gajim/gtk/accounts.py:804 +#, fuzzy +msgid "Use Unencrypted Connection" +msgstr "Usikker tilkobling" + +#: gajim/gtk/accounts.py:806 gajim/common/config.py:273 +#, fuzzy +msgid "Use an unencrypted connection to the server" +msgstr "Du er ikke tilkoblet tjeneren" + +#: gajim/gtk/accounts.py:808 +#, fuzzy +msgid "Confirm Unencrypted Connection" +msgstr "Usikker tilkobling" + +#: gajim/gtk/accounts.py:811 +#, fuzzy +msgid "Show a confirmation dialog before connecting unencrypted" +msgstr "" +"Skal bekreftelse av kontaktblokkering vises eller ei? Tomt innhold betyr at " +"dialogen aldri vises." + +#: gajim/gtk/accounts.py:835 gajim/data/gui/zeroconf_information_window.ui:8 +#: gajim/data/gui/vcard_information_window.ui:8 +#: gajim/data/gui/subscription_request_window.ui:164 +msgid "Contact Information" +msgstr "Kontaktinformasjon" + +#: gajim/gtk/accounts.py:837 +msgid "Request contact information (Mood, Activity, Tune, Location)" +msgstr "" + +#: gajim/gtk/accounts.py:840 +#, fuzzy +msgid "Accept all Contact Requests" +msgstr "Forespørsel om lydsamtale" + +#: gajim/gtk/accounts.py:842 +#, fuzzy +msgid "Automatically accept all contact requests" +msgstr "Automatisk godkjenn kontakt" + +#: gajim/gtk/accounts.py:844 +#, fuzzy +msgid "Filetransfer Preference" +msgstr "Filoverføring feilet" + +#: gajim/gtk/accounts.py:846 +#, fuzzy +msgid "Upload Files" +msgstr "Lagre fil som…" + +#: gajim/gtk/accounts.py:847 +#, fuzzy +msgid "Send Files Directly" +msgstr "Lagre fil som…" + +#: gajim/gtk/accounts.py:848 +#, fuzzy +msgid "Preferred file transfer mechanism for file drag&drop on a chat window" +msgstr "" +"Foretrukket filoverføringsmekanisme for dra-og-slipp -funksjonalitet i " +"sludrevinduet. Kan være 'httpupload' (forvalg) eller 'jingle'" + +#: gajim/gtk/accounts.py:867 +msgid "Use environment variable" +msgstr "Bruk miljøvariabel" + +#: gajim/gtk/accounts.py:876 +msgid "Synchronize the status of all accounts" +msgstr "Synkroniser statusen for alle kontoer" + +#: gajim/gtk/accounts.py:886 +msgid "First Name" +msgstr "Fornavn" + +#: gajim/gtk/accounts.py:889 +msgid "Last Name" +msgstr "Etternavn" + +#: gajim/gtk/accounts.py:895 gajim/gtk/profile.py:32 gajim/gtk/vcard_grid.py:39 +msgid "Email" +msgstr "E-post" + +#: gajim/gtk/accounts.py:913 +msgid "Adjust to status" +msgstr "Juster til status" + +#: gajim/gtk/accounts.py:945 +msgid "Enable" +msgstr "Slå på" + +#: gajim/gtk/accounts.py:953 +msgid "Port" +msgstr "Port" + +#: gajim/gtk/accounts.py:957 gajim/data/gui/server_info.ui:250 +msgid "Type" +msgstr "Skriv" + +#: gajim/gtk/accounts.py:963 +#, fuzzy +msgid "Connection Settings" +msgstr "Tilkoblingsvalg" + +#: gajim/gtk/accounts.py:971 +msgid "Client Certificate" +msgstr "Klientsertifikat" + +#: gajim/gtk/accounts.py:973 +msgid "PKCS12 Files" +msgstr "PCKS12-filer" + +#: gajim/gtk/accounts.py:975 +msgid "Encrypted Certificate" +msgstr "Kryptert sertifikat" + +#: gajim/gtk/accounts.py:979 +#, fuzzy +msgid "Certificate Settings" +msgstr "Sertifikatsvalg" + +#: gajim/gtk/accounts.py:987 gajim/data/gui/account_wizard.ui:255 +#: gajim/data/gui/bookmarks.ui:102 +msgid "Password" +msgstr "Passord" + +#: gajim/gtk/accounts.py:991 +msgid "Save Password" +msgstr "Lagre passord" + +#: gajim/gtk/accounts.py:999 +#, fuzzy +msgid "Login Settings" +msgstr "Tillegg" + +#: gajim/gtk/groupchat_config.py:39 +#, fuzzy +msgid "Group Chat Configuration" +msgstr "Invitasjon til gruppesamtale" + +#: gajim/gtk/groupchat_config.py:104 gajim/common/helpers.py:283 +#: gajim/data/gui/groupchat_config.ui:40 +msgid "Member" +msgstr "Medlem" + +#: gajim/gtk/groupchat_config.py:133 +#, fuzzy +msgid "A Group Chat needs at least one Owner" +msgstr "?Group Chat Contact Role:Ingen" + +#: gajim/gtk/groupchat_config.py:241 +msgid "You are not allowed to modify the affiliation of Admins and Owners" +msgstr "" + +#: gajim/gtk/groupchat_config.py:400 +msgid "An entry with this XMPP Address already exists" +msgstr "" + +#: gajim/gtk/server_info.py:142 gajim/data/gui/vcard_information_window.ui:89 +#: gajim/data/gui/preferences.ui:359 +msgid "Status" +msgstr "Status" + +#: gajim/gtk/server_info.py:143 +msgid "Support" +msgstr "" + +#: gajim/gtk/server_info.py:144 +msgid "Security" +msgstr "" + +#: gajim/gtk/server_info.py:145 +msgid "Feedback" +msgstr "" + +#: gajim/gtk/server_info.py:146 +msgid "Abuse" +msgstr "" + +#: gajim/gtk/server_info.py:147 +msgid "Sales" +msgstr "" + +#: gajim/gtk/server_info.py:231 +#, python-format +msgid "%(days)s days, %(hours)s hours" +msgstr "%(days)s dager, %(hours)s timer" + +#: gajim/gtk/server_info.py:239 gajim/gtk/vcard_grid.py:115 +#: gajim/common/helpers.py:224 +#, fuzzy +msgid "Unknown" +msgstr "?OS:Ukjent" + +#: gajim/gtk/server_info.py:360 +#, fuzzy +msgid "" +"\n" +"Disabled in preferences" +msgstr "Arkiveringsinnstillinger" + +#: gajim/gtk/history.py:79 +msgid "Conversation History" +msgstr "Samtalehistorikk" + +#: gajim/gtk/history.py:411 gajim/gtk/history.py:465 +msgid "Disk Error" +msgstr "Diskfeil" + +#: gajim/gtk/history.py:576 +#, python-format +msgid "%(nick)s is now %(status)s: %(status_msg)s" +msgstr "%(nick)s er %(status)s nå: %(status_msg)s" + +#: gajim/gtk/history.py:581 gajim/common/connection_handlers_events.py:414 +#, python-format +msgid "%(nick)s is now %(status)s" +msgstr "%(nick)s er nå %(status)s" + +#: gajim/gtk/history.py:589 +#, python-format +msgid "Error: %s" +msgstr "Feil: %s" + +#: gajim/gtk/history.py:593 +#, python-format +msgid "Status is now: %(status)s: %(status_msg)s" +msgstr "Statusen er nå: %(status)s: %(status_msg)s" + +#: gajim/gtk/history.py:597 +#, python-format +msgid "Status is now: %(status)s" +msgstr "Statusen er nå: %(status)s" + +#: gajim/gtk/about.py:51 +#, fuzzy +msgid "A GTK XMPP client" +msgstr "En GTK+ -XMPP-klient" + +#: gajim/gtk/about.py:52 +#, fuzzy, python-format +msgid "GTK Version: %s" +msgstr "GTK+versjon: %s" + +#: gajim/gtk/about.py:53 +#, fuzzy, python-format +msgid "GLib Version: %s" +msgstr "GTK+versjon: %s" + +#: gajim/gtk/about.py:54 +#, python-format +msgid "PyGObject Version: %s" +msgstr "PyGTK-versjon: %s" + +#: gajim/gtk/about.py:55 +#, python-format +msgid "python-nbxmpp Version: %s" +msgstr "python-nbxmpp-version: %s" + +#: gajim/gtk/about.py:59 +msgid "Current Developers" +msgstr "Nåværende utviklere" + +#: gajim/gtk/about.py:60 +msgid "Past Developers" +msgstr "Tidligere utviklere" + +#: gajim/gtk/about.py:61 +msgid "Artists" +msgstr "Artister" + +#: gajim/gtk/about.py:65 +msgid "Last but not least" +msgstr "Sist men ikke minst" + +#: gajim/gtk/about.py:66 +msgid "we would like to thank all the package maintainers." +msgstr "vi vil rette en takk til alle dem som lager installasjonspakker." + +#: gajim/gtk/about.py:67 +#, fuzzy +msgid "Thanks" +msgstr "Takknemlig" + +#: gajim/gtk/about.py:69 +msgid "translator-credits" +msgstr "" +"Allan Nordhøy \n" +"Stian B. Barmen " + +#: gajim/gtk/search.py:95 gajim/gtk/search.py:191 +msgid "Search" +msgstr "Søk" + +#: gajim/gtk/search.py:101 +#, fuzzy +msgid "New Search" +msgstr "Søk" + +#: gajim/gtk/search.py:176 +msgid "Request Search Form" +msgstr "" + +#: gajim/gtk/search.py:236 +#, fuzzy +msgid "Search…" +msgstr "Søk" + +#: gajim/gtk/search.py:243 +#, fuzzy +msgid "Search Result" +msgstr "Søk" + +#: gajim/gtk/search.py:250 +#, fuzzy +msgid "No results found" +msgstr "Inget resultat" + +#: gajim/gtk/features.py:40 gajim/data/gui/server_info.ui:447 +msgid "Features" +msgstr "Funksjonalitet" + +#: gajim/gtk/features.py:90 +msgid "Audio / Video" +msgstr "Lyd / Video" + +#: gajim/gtk/features.py:92 +#, fuzzy +msgid "Enables Gajim to provide Audio and Video chats" +msgstr "Evne til å starte lyd- og video-samtaler." + +#: gajim/gtk/features.py:93 +#, fuzzy +msgid "" +"Requires: gir1.2-farstream-0.2, gir1.2-gstreamer-1.0, gstreamer1.0-libav, " +"gstreamer1.0-plugins-ugly" +msgstr "" +"Krever gir1.2-farstream-0.2, gir1.2-gstreamer-1.0, gstreamer1.0-libav og " +"gstreamer1.0-plugins-ugly." + +#: gajim/gtk/features.py:95 gajim/gtk/features.py:145 +#, fuzzy +msgid "Feature not available under Windows" +msgstr "Funksjonen er ikke tilgjengelig på Windows." + +#: gajim/gtk/features.py:97 +#, fuzzy +msgid "Automatic Status" +msgstr "Automatisk status" + +#: gajim/gtk/features.py:99 +#, fuzzy +msgid "" +"Enables Gajim to measure your computer's idle time in order to set your " +"Status automatically" +msgstr "Evnen til å måle uvirksom tid for å kunne sette auto-status." + +#: gajim/gtk/features.py:101 +#, fuzzy +msgid "Requires: libxss" +msgstr "Krever libxss-biblioteket." + +#: gajim/gtk/features.py:102 gajim/gtk/features.py:123 +msgid "No additional requirements" +msgstr "" + +#: gajim/gtk/features.py:104 +#, fuzzy +msgid "Bonjour / Zeroconf (Serverless Chat)" +msgstr "Bonjour / Zeroconf" + +#: gajim/gtk/features.py:106 +#, fuzzy +msgid "" +"Enables Gajim to automatically detected clients in a local network for " +"serverless chats" +msgstr "" +"Tjenerløs samtale med automatisk oppdagede klienter på lokalt nettverk." + +#: gajim/gtk/features.py:108 +#, fuzzy +msgid "Requires: gir1.2-avahi-0.6" +msgstr "Krever gir1.2-gupnpigd-1.0." + +#: gajim/gtk/features.py:109 +#, fuzzy, python-format +msgid "Requires: pybonjour and bonjour SDK running (%(url)s)" +msgstr "Krever at pybonjour og bonjour-SDK kjører (%(url)s)" + +#: gajim/gtk/features.py:112 +#, fuzzy +msgid "Location detection" +msgstr "Tilkoblingsvalg" + +#: gajim/gtk/features.py:114 +msgid "" +"Enables Gajim to be location-aware, if the user decides to publish the " +"device’s location" +msgstr "" + +#: gajim/gtk/features.py:116 +#, fuzzy +msgid "Requires: geoclue" +msgstr "Krever Gspell" + +#: gajim/gtk/features.py:117 +#, fuzzy +msgid "Feature is not available under Windows" +msgstr "Funksjonen er ikke tilgjengelig på Windows." + +#: gajim/gtk/features.py:119 +#, fuzzy +msgid "Notification Sounds" +msgstr "Merknader" + +#: gajim/gtk/features.py:121 +#, fuzzy +msgid "Enables Gajim to play sounds for various notifications" +msgstr "Evne til å starte lyd- og video-samtaler." + +#: gajim/gtk/features.py:122 +#, fuzzy +msgid "Requires: gsound" +msgstr "Krever python-dbus." + +#: gajim/gtk/features.py:125 +#, fuzzy +msgid "Secure Password Storage" +msgstr "Lagre passord" + +#: gajim/gtk/features.py:127 +#, fuzzy +msgid "" +"Enables Gajim to store Passwords securely instead of storing them in " +"plaintext" +msgstr "Passord kan lagres sikkert og ikke bare i klartekst." + +#: gajim/gtk/features.py:129 +#, fuzzy +msgid "Requires: gnome-keyring or kwallet" +msgstr "Krever gnome-keyring og python-gnome2-desktop, eller kwalletcli." + +#: gajim/gtk/features.py:130 +msgid "Windows Credential Vault is used for secure password storage" +msgstr "" + +#: gajim/gtk/features.py:133 +msgid "Spell Checker" +msgstr "Stavekontroll" + +#: gajim/gtk/features.py:135 +msgid "Enables Gajim to spell check your messages while composing" +msgstr "" + +#: gajim/gtk/features.py:137 gajim/gtk/features.py:138 +#, fuzzy +msgid "Requires: Gspell" +msgstr "Krever Gspell" + +#: gajim/gtk/features.py:140 +msgid "UPnP-IGD Port Forwarding" +msgstr "" + +#: gajim/gtk/features.py:142 +#, fuzzy +msgid "" +"Enables Gajim to request your router to forward ports for file transfers" +msgstr "" +"Evnen til å forespørre din ruter etter åpning av port for filoverføring." + +#: gajim/gtk/features.py:144 +#, fuzzy +msgid "Requires: gir1.2-gupnpigd-1.0" +msgstr "Krever gir1.2-gupnpigd-1.0." + +#: gajim/gtk/features.py:200 +#, fuzzy +msgid "Disabled in Preferences" +msgstr "Arkiveringsinnstillinger" + +#: gajim/gtk/dialogs.py:55 gajim/gtk/filechoosers.py:179 +#: gajim/data/gui/groupchat_control.ui:674 +#: gajim/data/gui/groupchat_control.ui:766 +#: gajim/data/gui/groupchat_control.ui:882 +#: gajim/data/gui/groupchat_control.ui:974 +#: gajim/data/gui/groupchat_control.ui:1419 +#: gajim/data/gui/groupchat_control.ui:1545 +#: gajim/data/gui/groupchat_control.ui:1671 +#: gajim/data/gui/groupchat_control.ui:1842 +#: gajim/data/gui/groupchat_control.ui:1920 gajim/data/gui/filetransfers.ui:30 +#: gajim/data/gui/add_new_contact_window.ui:451 +#: gajim/data/gui/filetransfer_progress.ui:172 gajim/data/gui/profile.ui:260 +#: gajim/data/gui/passphrase_dialog.ui:29 +msgid "_Cancel" +msgstr "_Avbryt" + +#: gajim/gtk/dialogs.py:65 gajim/data/gui/history_manager.ui:20 +#, fuzzy +msgid "_Delete" +msgstr "Slett" + +#: gajim/gtk/dialogs.py:216 +#, fuzzy +msgid "Certificate" +msgstr "Klientsertifikat" + +#: gajim/gtk/dialogs.py:230 +#, fuzzy, python-format +msgid "" +"Certificate for \n" +"%s" +msgstr "Sertifikat for kontoen %s" + +#: gajim/gtk/dialogs.py:279 +msgid "Issued to\n" +msgstr "" + +#: gajim/gtk/dialogs.py:280 gajim/gtk/dialogs.py:285 +msgid "Common Name (CN): " +msgstr "" + +#: gajim/gtk/dialogs.py:281 gajim/gtk/dialogs.py:286 +msgid "Organization (O): " +msgstr "" + +#: gajim/gtk/dialogs.py:282 gajim/gtk/dialogs.py:287 +msgid "Organizational Unit (OU): " +msgstr "" + +#: gajim/gtk/dialogs.py:283 +#, fuzzy +msgid "Serial Number: " +msgstr "GG-nummer:" + +#: gajim/gtk/dialogs.py:284 +msgid "Issued by\n" +msgstr "" + +#: gajim/gtk/dialogs.py:288 +msgid "Validity\n" +msgstr "" + +#: gajim/gtk/dialogs.py:289 +msgid "Issued on: " +msgstr "" + +#: gajim/gtk/dialogs.py:290 +msgid "Expires on: " +msgstr "" + +#: gajim/gtk/dialogs.py:291 +msgid "SHA-1:" +msgstr "" + +#: gajim/gtk/dialogs.py:293 +msgid "SHA-256:" +msgstr "" + +#: gajim/gtk/util.py:591 +msgid "Unknown Artist" +msgstr "Ukjent artist" + +#: gajim/gtk/util.py:592 +msgid "Unknown Title" +msgstr "Ukjent tittel" + +#: gajim/gtk/util.py:593 +msgid "Unknown Source" +msgstr "Ukjent kilde" + +#: gajim/gtk/util.py:595 +#, python-format +msgid "" +"\"%(title)s\" by %(artist)s\n" +"from %(source)s" +msgstr "" +"\"%(title)s\" etter %(artist)s\n" +"fra %(source)s" + +#: gajim/gtk/profile.py:28 gajim/gtk/vcard_grid.py:33 +#: gajim/data/gui/vcard_information_window.ui:411 +msgid "Full Name" +msgstr "Fullt navn" + +#: gajim/gtk/profile.py:29 gajim/gtk/vcard_grid.py:35 +#: gajim/data/gui/vcard_information_window.ui:770 +msgid "Birthday" +msgstr "Fødselsdag" + +#: gajim/gtk/profile.py:30 gajim/gtk/vcard_grid.py:36 +#, fuzzy +msgid "Gender" +msgstr "Avsender: " + +#: gajim/gtk/profile.py:31 gajim/data/gui/groupchat_info_scrolled.ui:16 +msgid "Address" +msgstr "Adresse" + +#: gajim/gtk/profile.py:34 gajim/gtk/vcard_grid.py:38 +#: gajim/data/gui/vcard_information_window.ui:720 +#: gajim/data/gui/vcard_information_window.ui:1396 +#, fuzzy +msgid "Phone No." +msgstr "Telefon" + +#: gajim/gtk/profile.py:35 +msgid "?profile:Organisation" +msgstr "" + +#: gajim/gtk/profile.py:36 gajim/gtk/vcard_grid.py:41 +msgid "?profile:Title" +msgstr "" + +#: gajim/gtk/profile.py:37 gajim/gtk/vcard_grid.py:42 +#, fuzzy +msgid "?profile:Role" +msgstr "Profil" + +#: gajim/gtk/profile.py:38 gajim/gtk/vcard_grid.py:45 +#, fuzzy +msgid "URL" +msgstr "Nettadresse:" + +#: gajim/gtk/profile.py:39 gajim/gtk/vcard_grid.py:46 +#, fuzzy +msgid "?profile:Key" +msgstr "Profil" + +#: gajim/gtk/profile.py:299 gajim/gtk/profile.py:301 +#: gajim/data/gui/profile.ui:98 gajim/data/gui/profile.ui:110 +#, fuzzy +msgid "Everyone" +msgstr "Alt" + +#: gajim/gtk/profile.py:299 gajim/gtk/profile.py:301 +#: gajim/data/gui/shortcuts_window.ui:108 gajim/data/gui/groupchat_invite.ui:83 +msgid "Contacts" +msgstr "Kontakter" + +#: gajim/gtk/filechoosers.py:88 +msgid "Choose File to Send…" +msgstr "Velg fil å sende…" + +#: gajim/gtk/filechoosers.py:94 +#, fuzzy +msgid "Choose Avatar…" +msgstr "Velg arkiv" + +#: gajim/gtk/filechoosers.py:98 +#, fuzzy +msgid "PNG files" +msgstr "Alle filer" + +#: gajim/gtk/filechoosers.py:99 +#, fuzzy +msgid "JPEG files" +msgstr "Alle filer" + +#: gajim/gtk/filechoosers.py:100 +#, fuzzy +msgid "SVG files" +msgstr "Send filer" + +#: gajim/gtk/filechoosers.py:102 +msgid "Images" +msgstr "Bilder" + +#: gajim/gtk/filechoosers.py:139 +msgid "Choose Archive" +msgstr "Velg arkiv" + +#: gajim/gtk/filechoosers.py:141 +#, fuzzy +msgid "ZIP files" +msgstr "Zip-filer" + +#: gajim/gtk/filechoosers.py:146 +msgid "Save File as…" +msgstr "Lagre fil som…" + +#: gajim/gtk/filechoosers.py:180 +#, fuzzy +msgid "_Open" +msgstr "Åpne" + +#: gajim/gtk/blocking.py:38 +#, fuzzy, python-format +msgid "Blocking List for %s" +msgstr "Personvernsliste for %s" + +#: gajim/gtk/blocking.py:64 +msgid "Error!" +msgstr "Feil!" + +#: gajim/gtk/service_registration.py:143 gajim/gtk/service_registration.py:157 +#: gajim/gtk/service_registration.py:164 +#, fuzzy +msgid "Register" +msgstr "_Registrer" + +#: gajim/gtk/service_registration.py:193 gajim/gtk/service_registration.py:205 +#, fuzzy +msgid "Registration successful" +msgstr "Registrert" + +#: gajim/gtk/service_registration.py:216 +msgid "Registration failed" +msgstr "Registrering feilet" + +#: gajim/gtk/vcard_grid.py:37 +#, fuzzy +msgid "?profile:Address" +msgstr "Adresse" + +#: gajim/gtk/vcard_grid.py:40 +#, fuzzy +msgid "IM Address" +msgstr "Adresse" + +#: gajim/gtk/vcard_grid.py:43 +#, fuzzy +msgid "Organisation" +msgstr "På ferie" + +#: gajim/gtk/vcard_grid.py:44 +#, fuzzy +msgid "?profile:Note" +msgstr "Profil" + +#: gajim/gtk/vcard_grid.py:51 +msgid "Your public key or authentication certificate" +msgstr "" + +#: gajim/gtk/vcard_grid.py:59 +msgid "Post Office Box" +msgstr "" + +#: gajim/gtk/vcard_grid.py:60 gajim/data/gui/vcard_information_window.ui:489 +#: gajim/data/gui/vcard_information_window.ui:1179 +#, fuzzy +msgid "Street" +msgstr "gate" + +#: gajim/gtk/vcard_grid.py:61 +#, fuzzy +msgid "Extended Address" +msgstr "Ekstra adresse" + +#: gajim/gtk/vcard_grid.py:62 gajim/data/gui/vcard_information_window.ui:505 +#: gajim/data/gui/vcard_information_window.ui:1195 +#, fuzzy +msgid "City" +msgstr "By:" + +#: gajim/gtk/vcard_grid.py:63 gajim/data/gui/vcard_information_window.ui:521 +#: gajim/data/gui/vcard_information_window.ui:1211 +#, fuzzy +msgid "State" +msgstr "Fylke:" + +#: gajim/gtk/vcard_grid.py:64 gajim/data/gui/vcard_information_window.ui:595 +#: gajim/data/gui/vcard_information_window.ui:1244 +#, fuzzy +msgid "Postal Code" +msgstr "postnummer" + +#: gajim/gtk/vcard_grid.py:65 gajim/data/gui/vcard_information_window.ui:611 +#: gajim/data/gui/vcard_information_window.ui:1260 +#, fuzzy +msgid "Country" +msgstr "land" + +#: gajim/gtk/vcard_grid.py:111 +msgid "Male" +msgstr "" + +#: gajim/gtk/vcard_grid.py:112 +msgid "Female" +msgstr "" + +#: gajim/gtk/vcard_grid.py:113 +msgid "?Gender:Other" +msgstr "" + +#: gajim/gtk/vcard_grid.py:114 +#, fuzzy +msgid "?Gender:None" +msgstr "Avsender: " + +#: gajim/gtk/vcard_grid.py:121 gajim/gtk/vcard_grid.py:428 +#, fuzzy +msgid "Home" +msgstr "Hjemmeside:" + +#: gajim/gtk/vcard_grid.py:122 gajim/gtk/vcard_grid.py:429 +#: gajim/data/gui/vcard_information_window.ui:1452 +msgid "Work" +msgstr "Jobb" + +#: gajim/gtk/vcard_grid.py:598 +#, fuzzy +msgid "YYYY-MM-DD" +msgstr "Format: ÅÅÅÅ-MM-DD" + +#: gajim/gtk/adhoc.py:91 +#, fuzzy +msgid "Finish" +msgstr "_Avslutt" + +#: gajim/gtk/adhoc.py:96 gajim/gtk/adhoc.py:283 +#, fuzzy +msgid "Commands" +msgstr "Kommandoer: %s" + +#: gajim/gtk/adhoc.py:107 +#, fuzzy +msgid "Previous" +msgstr "Misunnelig" + +#: gajim/gtk/adhoc.py:112 +#, fuzzy +msgid "Execute" +msgstr "Kjør kommando" + +#: gajim/gtk/adhoc.py:196 +#, fuzzy +msgid "No commands available" +msgstr "Ingen kontoer tilgjengelig" + +#: gajim/gtk/adhoc.py:244 +#, fuzzy +msgid "Request Command List" +msgstr "Kjør kommando" + +#: gajim/gtk/adhoc.py:259 +#, fuzzy +msgid "Executing…" +msgstr "K_jør Kommando…" + +#: gajim/gtk/adhoc.py:266 +#, fuzzy +msgid "Command List" +msgstr "Kommandoer: %s" + +#: gajim/gtk/adhoc.py:321 gajim/data/gui/manage_proxies.ui:255 +#, fuzzy +msgid "Settings" +msgstr "Sludresnarveier" + +#: gajim/gtk/adhoc.py:386 +#, fuzzy +msgid "Finished" +msgstr "_Avslutt" + +#: gajim/gtk/adhoc.py:455 +#, fuzzy +msgid "Execution failed" +msgstr "Tilkobling mislyktes" + +#: gajim/common/jingle_rtp.py:133 +#, python-format +msgid "%s configuration error" +msgstr "%s oppsettsfeil" + +#: gajim/common/jingle_rtp.py:134 +#, fuzzy, python-format +msgid "" +"Couldn’t set up %(text)s. Check your configuration.\n" +"Pipeline:\n" +"%(pipeline)s\n" +"Error:\n" +"%(error)s" +msgstr "" +"Kunne ikke sette opp %(text)s. Sjekk oppsettet ditt.\n" +"\n" +"Kommandokøen var:\n" +"%(pipeline)s\n" +"\n" +"Feilen var:\n" +"%(error)s" + +#: gajim/common/jingle_rtp.py:416 +msgid "audio input" +msgstr "lydinndata" + +#: gajim/common/jingle_rtp.py:421 +msgid "audio output" +msgstr "lydutdata" + +#: gajim/common/jingle_rtp.py:489 +msgid "video input" +msgstr "videoinndata" + +#: gajim/common/setting_values.py:300 gajim/common/config.py:356 +#: gajim/common/const.py:387 +msgid "Sleeping" +msgstr "Sover" + +#: gajim/common/setting_values.py:301 +msgid "ZZZZzzzzzZZZZZ" +msgstr "" + +#: gajim/common/setting_values.py:306 gajim/common/config.py:357 +msgid "Back soon" +msgstr "Straks tilbake" + +#: gajim/common/setting_values.py:307 gajim/common/config.py:357 +msgid "Back in some minutes." +msgstr "Tilbake om noen minutter." + +#: gajim/common/setting_values.py:309 gajim/common/config.py:358 +#: gajim/common/const.py:353 +msgid "Eating" +msgstr "Spiser" + +#: gajim/common/setting_values.py:310 +#, fuzzy +msgid "I’m eating." +msgstr "Jeg jobber." + +#: gajim/common/setting_values.py:314 gajim/common/config.py:359 +msgid "Movie" +msgstr "Film" + +#: gajim/common/setting_values.py:315 +#, fuzzy +msgid "I’m watching a movie." +msgstr "Ser på en film." + +#: gajim/common/setting_values.py:319 gajim/common/config.py:360 +#: gajim/common/const.py:420 +msgid "Working" +msgstr "Jobber" + +#: gajim/common/setting_values.py:320 +#, fuzzy +msgid "I’m working." +msgstr "Jeg jobber." + +#: gajim/common/setting_values.py:324 gajim/common/config.py:362 +msgid "Out" +msgstr "Ute" + +#: gajim/common/setting_values.py:325 +#, fuzzy +msgid "I’m out enjoying life." +msgstr "Ute og lever livet." + +#: gajim/common/setting_values.py:393 gajim/common/config.py:84 +#, fuzzy +msgid "" +"Allow to hide the contact list window even if the notification area icon is " +"not shown." +msgstr "" +"Tillat skjuling av kontaktvindu selv når systemkurv-miniatyrbildet ikke " +"vises." + +#: gajim/common/setting_values.py:394 gajim/common/config.py:95 +msgid "" +"'always' - print time for every message.\n" +"'sometimes' - print time every print_ichat_every_foo_minutes minute.\n" +"'never' - never print time." +msgstr "" +"'alltid' - vis klokkeslett for hver melding.\n" +"'noen ganger' - vis klokkeslett hvert print_ichat_every_foo_minutes minutt.\n" +"'aldri' - aldri vis klokkeslett." + +#: gajim/common/setting_values.py:395 gajim/common/config.py:99 +msgid "Treat * / _ pairs as possible formatting characters." +msgstr "Behandle * / _-par som mulig inndeling av formateringstegn." + +#: gajim/common/setting_values.py:396 gajim/common/config.py:100 +#, fuzzy +msgid "" +"If enabled, do not remove */_ . So *abc* will be bold but with * * not " +"removed." +msgstr "" +"Dersom sant, ikke fjern */_ . Slik at *abc* vil bli uthevet men * * ikke " +"fjernet." + +#: gajim/common/setting_values.py:397 gajim/common/config.py:103 +#, fuzzy +msgid "" +"Character to add after nickname when using nickname completion (tab) in " +"group chat." +msgstr "" +"Tegn å legge til etter kallenavn ved bruk av kallenavns-fullføring (tab) i " +"gruppesamtaler." + +#: gajim/common/setting_values.py:398 gajim/common/config.py:125 +#, fuzzy +msgid "" +"If enabled, Gajim will save the contact list window position when hiding it, " +"and restore it when showing the contact list window again." +msgstr "" +"Hvis sant vil Gajim lagre kontaktlisteposisjon når den blir skjult, og " +"gjennoprette den når den vises." + +#: gajim/common/setting_values.py:399 gajim/common/config.py:131 +#, fuzzy +msgid "Place the contact list on the right in single window mode" +msgstr "Plasser kontaktlisten til høyre i enkeltvindusmodus" + +#: gajim/common/setting_values.py:400 gajim/common/config.py:137 +#, fuzzy +msgid "" +"This option lets you customize the timestamp that is printed in " +"conversation. For example '[%H:%M] ' will show '[hour:minute] '. See python " +"doc on strftime for full documentation (https://docs.python.org/3/library/" +"time.html#time.strftime)." +msgstr "" +"Dette valget lar deg endre tidsformatet som stemples i samtaler. For " +"eksempel \"[%H:%M] \" vil vise \"[time:minutt] \". Se python-dokumentasjon " +"på strftime for å en fullstendig beskrivelse: http://docs.python.org/lib/" +"module-time.html" + +#: gajim/common/setting_values.py:401 gajim/common/config.py:138 +#, fuzzy +msgid "Characters that are printed before the nickname in conversations." +msgstr "Tegn som skrives før kallenavnet i samtaler" + +#: gajim/common/setting_values.py:402 gajim/common/config.py:139 +#, fuzzy +msgid "Characters that are printed after the nickname in conversations." +msgstr "Tegn som skrives etter kallenavnet i samtaler" + +#: gajim/common/setting_values.py:403 gajim/common/config.py:140 +#, fuzzy +msgid "If enabled, Gajim will add * and [n] in contact list window title." +msgstr "Dersom valgt vil Gajim vise humør for kontakter i kontaktlistevinduet" + +#: gajim/common/setting_values.py:404 gajim/common/config.py:141 +#, fuzzy +msgid "" +"Number of messages from chat history to be restored when a chat tab/window " +"is reopened." +msgstr "" +"Hvor mange meldinger skal gjenopprettes fra historikk når en samtale " +"gjenåpnes?" + +#: gajim/common/setting_values.py:405 gajim/common/config.py:142 +#, fuzzy +msgid "" +"How far back in time (minutes) chat history is restored. -1 means no limit." +msgstr "" +"Hvor langt tilbake (i minutter) historikk skal gjenopprettes. -1 betyr ingen " +"grense." + +#: gajim/common/setting_values.py:406 gajim/common/config.py:143 +#, fuzzy +msgid "Send message on Ctrl+Enter and make a new line with Enter." +msgstr "" +"Send meldinger med Ctrl+Enter og lag ny linje med Enter (ICQ-klientens " +"Mirabilis standardoppførsel)." + +#: gajim/common/setting_values.py:407 gajim/common/config.py:145 +#, fuzzy +msgid "How many lines to store for Ctrl+KeyUP (previously sent messages)." +msgstr "Hvor mange linjer skal lagres for Ctrl+PilOPP." + +#: gajim/common/setting_values.py:409 gajim/common/config.py:148 +#, fuzzy, python-format +msgid "" +"Either a custom URL with %%s in it (where %%s is the word/phrase) or " +"'WIKTIONARY' (which means use Wikitionary)." +msgstr "" +"Enten bruk egendefinert nettadresse med %s i seg, hvor %s er ordet/frasen " +"eller 'WIKTIONARY' som betyr bruk Wiktionary." + +#: gajim/common/setting_values.py:412 gajim/common/config.py:151 +msgid "If checked, Gajim can be controlled remotely using gajim-remote." +msgstr "Dersom valgt vil Gajim kunne fjernstyres med gajim-remote." + +#: gajim/common/setting_values.py:413 +#, fuzzy +msgid "" +"When not printing time for every message ('print_time'==sometimes, print it " +"every x minutes." +msgstr "" +"Når man ikke viser klokkeslett for hver melding (print_time==av-og-til), vis " +"det hvert x minutt." + +#: gajim/common/setting_values.py:414 gajim/common/config.py:153 +msgid "Ask before pasting an image." +msgstr "" + +#: gajim/common/setting_values.py:415 gajim/common/config.py:154 +msgid "Ask before closing a group chat tab/window." +msgstr "Spør før lukking av gruppesamtale fane/vindu." + +#: gajim/common/setting_values.py:416 gajim/common/config.py:155 +#, fuzzy +msgid "" +"Ask before closing tabbed chat window if there are chats that can lose data " +"(chat, private chat, group chat that will not be minimized)." +msgstr "" +"Spør før samtalefaner lukkes hvis data kan gå tapt (samtaler, private " +"samtaler, gruppesamtaler som ikke minimeres)" + +#: gajim/common/setting_values.py:418 gajim/common/config.py:158 +#, fuzzy +msgid "" +"List of send hosts (comma separated) in addition to local interfaces for " +"file transfers (in case of address translation/port forwarding)." +msgstr "" +"Komma-inndelt liste over maskiner som vi sender, i tillegg til lokale " +"grensesnitt, for filoverføring i tilfelle adresseoversetting/port-" +"videresending." + +#: gajim/common/setting_values.py:419 gajim/common/config.py:159 +msgid "IEC standard says KiB = 1024 bytes, KB = 1000 bytes." +msgstr "IEC-standarden tilsier at KiB = 1024 bytes, KB = 1000 bytes." + +#: gajim/common/setting_values.py:421 gajim/common/config.py:161 +msgid "Notify of events in the notification area." +msgstr "Varsle om hendelser i system-statusfeltområdet." + +#: gajim/common/setting_values.py:422 gajim/common/config.py:166 +msgid "Show tab when only one conversation?" +msgstr "Vis fane når du har bare én samtale?" + +#: gajim/common/setting_values.py:423 gajim/common/config.py:167 +msgid "Show tabbed notebook border in chat windows?" +msgstr "Vis fanet notatblokk i samtalevinduer?" + +#: gajim/common/setting_values.py:424 gajim/common/config.py:168 +msgid "Show close button in tab?" +msgstr "Vis lukkingsknapp på fanen?" + +#: gajim/common/setting_values.py:425 gajim/common/config.py:169 +msgid "Preview new messages in notification popup?" +msgstr "Forhåndsvis nye meldinger i oppsprettsvindu?" + +#: gajim/common/setting_values.py:426 gajim/common/config.py:172 +#, fuzzy +msgid "" +"A list of words (semicolon separated) that will be highlighted in group " +"chats." +msgstr "" +"En semikoloninndelt liste over ord som vil bli uthevet i gruppesamtaler." + +#: gajim/common/setting_values.py:427 gajim/common/config.py:174 +#, fuzzy +msgid "" +"If enabled, Gajim hides the contact list window when pressing the X button " +"instead of minimizing into the notification area." +msgstr "" +"Skjuler kontaktlistevinduet i Gajim ved å trykke på X-knappen istedenfor " +"minimering til dokken." + +#: gajim/common/setting_values.py:432 gajim/common/config.py:181 +#, fuzzy +msgid "" +"Define the position of avatars in the contact list. Can be 'left' or 'right'." +msgstr "" +"Bestemmer posisjon for avataren i kontaktlisten. Kan være til venste eller " +"høyre" + +#: gajim/common/setting_values.py:433 gajim/common/config.py:186 +#, fuzzy +msgid "Don't show contact list window in the system taskbar." +msgstr "Ikke vis kontaktlisten i systemstatus-feltet." + +#: gajim/common/setting_values.py:434 gajim/common/config.py:187 +#, fuzzy +msgid "" +"If enabled, Gajim makes the window flash (the default behaviour in most " +"Window Managers) when holding pending events." +msgstr "" +"Hvis sant og de installerte GTK+ og PyGTK-versjonene er minst 2.8, vil " +"vindusbehandleren blinke (vanlig oppførsel i de fleste vindusbehandlere) når " +"det er hendelser på vent." + +#: gajim/common/setting_values.py:436 gajim/common/config.py:193 +#, fuzzy +msgid "If enabled, pressing Esc closes a tab/window." +msgstr "Hvis sant vil man kunne lukke fane/vindu med Esc-knappen." + +#: gajim/common/setting_values.py:437 gajim/common/config.py:194 +#, fuzzy +msgid "Hides the banner in a group chat window." +msgstr "Gjemmer tittelbanneret i gruppesamtalevinduer" + +#: gajim/common/setting_values.py:438 gajim/common/config.py:195 +#, fuzzy +msgid "Hides the banner in a 1:1 chat window." +msgstr "Gjemmer tittelbanneret i gruppesamtalevinduer" + +#: gajim/common/setting_values.py:439 gajim/common/config.py:196 +#, fuzzy +msgid "Hides the group chat participants list in a group chat window." +msgstr "Gjemmer rommets deltagerliste i gruppesamtalevinduet." + +#: gajim/common/setting_values.py:440 gajim/common/config.py:197 +#, fuzzy +msgid "" +"In a chat, show the nickname at the beginning of a line only when it's not " +"the same person talking as in the previous message." +msgstr "" +"I en samtale, vis kallenavnet i starten av linjen bare når det ikke er samme " +"person som snakker som i foregående melding." + +#: gajim/common/setting_values.py:441 gajim/common/config.py:198 +msgid "Indentation when using merge consecutive nickname." +msgstr "Innrykk når man bruker sammenslåing av påfallende kallenavn." + +#: gajim/common/setting_values.py:442 gajim/common/config.py:199 +#, fuzzy +msgid "" +"Ctrl+Tab switches to the next composing tab when there are no tabs with " +"messages pending." +msgstr "Ctrl-Tab går til neste skrivefane når ingenting er ulest." + +#: gajim/common/setting_values.py:443 gajim/common/config.py:200 +#, fuzzy +msgid "" +"Show a confirmation dialog to create metacontacts? Empty string means never " +"show the dialog." +msgstr "" +"Skal bekreftelse av kontaktblokkering vises eller ei? Tomt innhold betyr at " +"dialogen aldri vises." + +#: gajim/common/setting_values.py:444 gajim/common/config.py:201 +#, fuzzy +msgid "" +"Show a confirmation dialog to block a contact? Empty string means never show " +"the dialog." +msgstr "" +"Skal bekreftelse av kontaktblokkering vises eller ei? Tomt innhold betyr at " +"dialogen aldri vises." + +#: gajim/common/setting_values.py:445 gajim/common/config.py:202 +#, fuzzy +msgid "" +"If enabled, you will be able to set a negative priority to your account in " +"the Accounts window. BE CAREFUL, when you are logged in with a negative " +"priority, you will NOT receive any message from your server." +msgstr "" +"Hvis sant vil du kunne sette negativ prioritet for din konto i " +"kontoinnstillingene. VÆR FORSIKTIG, når du er logget inn med en negativ " +"prioritet vil du ikke motta noen meldinger fra din tjener." + +#: gajim/common/setting_values.py:446 gajim/common/config.py:203 +#, fuzzy +msgid "" +"If enabled, Gajim will show both the number of online and total contacts in " +"account rows as well as in group rows." +msgstr "" +"Hvis sant vil Gajim vise antall tilgjengelige og totalt antall kontakter og " +"grupperader." + +#: gajim/common/setting_values.py:447 gajim/common/config.py:204 +#, fuzzy +msgid "" +"If enabled, Gajim will scroll and select the contact who sent you the last " +"message, if the chat window is not already opened." +msgstr "" +"Hvis sant vil Gajim rulle og velge kontakten som sist sendte deg en melding, " +"om ikke samtalevinduet allerede er åpnet." + +#: gajim/common/setting_values.py:448 gajim/common/config.py:205 +msgid "Time of inactivity needed before the change status window closes down." +msgstr "Tid med inaktivitet før vinduet for endring av status lukkes." + +#: gajim/common/setting_values.py:449 gajim/common/config.py:206 +msgid "" +"Maximum number of lines that are printed in conversations. Oldest lines are " +"cleared." +msgstr "" +"Maksimalt antall linjer som vises i samtaler. De eldste linjene fjernes." + +#: gajim/common/setting_values.py:450 gajim/common/config.py:208 +#, fuzzy +msgid "" +"If enabled, completion in group chats will be like a shell auto-completion." +msgstr "" +"Hvis sant vil komplettering i samtalerom gjøres slik som i skallbasert " +"variant" + +#: gajim/common/setting_values.py:451 gajim/common/config.py:217 +#, fuzzy +msgid "" +"If enabled, Gajim will try to use a STUN server when using Jingle. The one " +"in 'stun_server' option, or the one given by the XMPP server." +msgstr "" +"Gajim vil forsøke å bruke STUN-tjener ved bruk av Jingle. Valget er i " +"\"stun_server\", eller det gitt av XMPP-tjeneren." + +#: gajim/common/setting_values.py:452 gajim/common/config.py:218 +msgid "STUN server to use when using Jingle" +msgstr "STUN-tjener til bruk med Jingle" + +#: gajim/common/setting_values.py:453 gajim/common/config.py:220 +#, fuzzy +msgid "If enabled, Gajim will ignore incoming attention requests ('wizz')." +msgstr "" +"Hvis sant vil Gajim ignorere innkommende forespørsler om oppmerksomhet " +"(\"wizz\")." + +#: gajim/common/setting_values.py:454 gajim/common/config.py:221 +msgid "" +"If enabled, Gajim will reopen chat windows that were opened last time Gajim " +"was closed." +msgstr "" +"Hvis påskrudd vil Gajim presentere viduene fra sist gang Gajim ble lukket." + +#: gajim/common/setting_values.py:455 gajim/common/config.py:224 +#, fuzzy +msgid "If enabled, Gajim will execute XEP-0146 Commands." +msgstr "Kjøring av XEP-0146-kommandoer i Gajim." + +#: gajim/common/setting_values.py:458 gajim/common/config.py:236 +msgid "API Preferences. Possible values: 'http', 'iq'" +msgstr "" + +#: gajim/common/setting_values.py:459 gajim/common/config.py:237 +#, fuzzy +msgid "If enabled, Gajim will execute commands (/show, /sh, /execute, /exec)." +msgstr "Kjøring av XEP-0146-kommandoer i Gajim." + +#: gajim/common/setting_values.py:460 gajim/common/config.py:238 +msgid "Width of group chat roster in pixel" +msgstr "" + +#: gajim/common/setting_values.py:461 gajim/common/config.py:239 +#, fuzzy +msgid "Force Bookmark 2 usage" +msgstr "Bokmerk rommet" + +#: gajim/common/multimedia_helpers.py:51 +msgid "Default device" +msgstr "Forvalgt enhet" + +#: gajim/common/multimedia_helpers.py:72 +msgid "Audio test" +msgstr "Lydtest" + +#: gajim/common/multimedia_helpers.py:75 gajim/common/multimedia_helpers.py:91 +#: gajim/common/multimedia_helpers.py:105 +msgid "Autodetect" +msgstr "Automatisk oppdaging" + +#: gajim/common/multimedia_helpers.py:78 gajim/common/multimedia_helpers.py:93 +#, python-format +msgid "ALSA: %s" +msgstr "ALSA: %s" + +#: gajim/common/multimedia_helpers.py:81 gajim/common/multimedia_helpers.py:95 +#, python-format +msgid "Pulse: %s" +msgstr "Pulse: %s" + +#: gajim/common/multimedia_helpers.py:89 +msgid "Fake audio output" +msgstr "Falsk lydutdata" + +#: gajim/common/multimedia_helpers.py:102 +msgid "Video test" +msgstr "Videotest" + +#: gajim/common/multimedia_helpers.py:107 +msgid "Pipewire" +msgstr "" + +#: gajim/common/multimedia_helpers.py:109 +#, python-format +msgid "V4L2: %s" +msgstr "V4L2: %s" + +#: gajim/common/multimedia_helpers.py:111 +msgid "X11" +msgstr "" + +#: gajim/common/multimedia_helpers.py:113 +msgid "Windows" +msgstr "" + +#: gajim/common/multimedia_helpers.py:115 +msgid "macOS" +msgstr "" + +#: gajim/common/helpers.py:176 +msgid "_Busy" +msgstr "_Opptatt" + +#: gajim/common/helpers.py:178 +msgid "Busy" +msgstr "Opptatt" + +#: gajim/common/helpers.py:181 +msgid "_Not Available" +msgstr "_Ikke tilgjengelig" + +#: gajim/common/helpers.py:183 +msgid "Not Available" +msgstr "Ikke tilgjengelig" + +#: gajim/common/helpers.py:186 +msgid "_Free for Chat" +msgstr "_Ledig for prat" + +#: gajim/common/helpers.py:188 +msgid "Free for Chat" +msgstr "Ledig for prat" + +#: gajim/common/helpers.py:191 +msgid "?user status:_Available" +msgstr "?user status:_Tilgjengelig" + +#: gajim/common/helpers.py:193 +msgid "?user status:Available" +msgstr "?user status:Tilgjengelig" + +#: gajim/common/helpers.py:195 +msgid "Connecting" +msgstr "Kobler til" + +#: gajim/common/helpers.py:198 +msgid "A_way" +msgstr "B_orte" + +#: gajim/common/helpers.py:203 +msgid "_Offline" +msgstr "_Frakoblet" + +#: gajim/common/helpers.py:205 +msgid "Offline" +msgstr "Frakoblet" + +#: gajim/common/helpers.py:209 +msgid "?contact has status:Unknown" +msgstr "?contact has status:Ukjent" + +#: gajim/common/helpers.py:211 +msgid "?contact has status:Has errors" +msgstr "?contact has status:Har feil" + +#: gajim/common/helpers.py:216 +msgid "?Subscription we already have:None" +msgstr "?Subscription we already have:Ingen" + +#: gajim/common/helpers.py:218 +msgid "To" +msgstr "Til" + +#: gajim/common/helpers.py:220 gajim/data/gui/groups_post_window.ui:33 +msgid "From" +msgstr "Fra" + +#: gajim/common/helpers.py:222 +msgid "Both" +msgstr "Begge" + +#: gajim/common/helpers.py:230 +msgid "?Ask (for Subscription):None" +msgstr "?Ask (for Subscription):Ingen" + +#: gajim/common/helpers.py:232 +msgid "Subscribe" +msgstr "Abonner" + +#: gajim/common/helpers.py:244 +msgid "?Group Chat Contact Role:None" +msgstr "?Group Chat Contact Role:Ingen" + +#: gajim/common/helpers.py:247 +msgid "Moderators" +msgstr "Moderatorer" + +#: gajim/common/helpers.py:249 +msgid "Moderator" +msgstr "Moderator" + +#: gajim/common/helpers.py:252 gajim/data/gui/groupchat_info_scrolled.ui:182 +msgid "Participants" +msgstr "Deltakere" + +#: gajim/common/helpers.py:254 +msgid "Participant" +msgstr "Deltaker" + +#: gajim/common/helpers.py:257 +msgid "Visitors" +msgstr "Besøkende" + +#: gajim/common/helpers.py:259 +msgid "Visitor" +msgstr "Besøk" + +#: gajim/common/helpers.py:268 +msgid "?Group Chat Contact Affiliation:None" +msgstr "?Group Chat Contact Affiliation:Ingen" + +#: gajim/common/helpers.py:271 +#, fuzzy +msgid "Owners" +msgstr "Eier" + +#: gajim/common/helpers.py:273 gajim/data/gui/groupchat_config.ui:32 +msgid "Owner" +msgstr "Eier" + +#: gajim/common/helpers.py:276 +#, fuzzy +msgid "Administrators" +msgstr "Administrator" + +#: gajim/common/helpers.py:278 +msgid "Administrator" +msgstr "Administrator" + +#: gajim/common/helpers.py:281 +#, fuzzy +msgid "Members" +msgstr "Medlem" + +#: gajim/common/helpers.py:320 +msgid "is paying attention to the conversation" +msgstr "fokuserer på samtalen" + +#: gajim/common/helpers.py:322 +msgid "is doing something else" +msgstr "gjør noe annet" + +#: gajim/common/helpers.py:324 +msgid "is composing a message…" +msgstr "" +"tilkjennegir blodets hvisken og benpipernes bøn fra det ubevisste sjeleliv…" + +#: gajim/common/helpers.py:327 +msgid "paused composing a message" +msgstr "tok pause i meldingsskrivingen" + +#: gajim/common/helpers.py:329 +msgid "has closed the chat window or tab" +msgstr "har lukket samtalevinduet eller fanen" + +#: gajim/common/helpers.py:719 gajim/common/helpers.py:727 +#, python-format +msgid "%d message pending" +msgid_plural "%d messages pending" +msgstr[0] "%d melding venter" +msgstr[1] "%d meldinger venter" + +#: gajim/common/helpers.py:736 +#, fuzzy, python-format +msgid "from group chat %s" +msgstr "i _gruppesamtaler" + +#: gajim/common/helpers.py:739 gajim/common/helpers.py:760 +#, python-format +msgid "from user %s" +msgstr "fra brukeren %s" + +#: gajim/common/helpers.py:741 +#, python-format +msgid "from %s" +msgstr "fra %s" + +#: gajim/common/helpers.py:747 gajim/common/helpers.py:755 +#, python-format +msgid "%d event pending" +msgid_plural "%d events pending" +msgstr[0] "%d hendelse venter" +msgstr[1] "%d hendelser venter" + +#: gajim/common/helpers.py:828 gajim/data/gui/add_new_contact_window.ui:20 +msgid "I would like to add you to my contact list." +msgstr "Jeg vil legge deg til i kontaktlisten min." + +#: gajim/common/helpers.py:830 +msgid "Hello, I am $name." +msgstr "Hei, jeg er $name." + +#: gajim/common/config.py:71 +#, fuzzy +msgid "Play sound even when being busy." +msgstr "Lag lyd når brukeren er opptatt" + +#: gajim/common/config.py:73 +#, fuzzy +msgid "Show only online and free for chat contacts in the contact list." +msgstr "Vis bare tilkoblede og kontakter ledig for prat i kontaktlisten." + +#: gajim/common/config.py:76 +msgid "Time in minutes, after which your status changes to away." +msgstr "Tid i minutter før status endres til borte." + +#: gajim/common/config.py:77 +#, fuzzy +msgid "$S (Away: Idle more than $T min)" +msgstr "$S (Borte på grunn av uvirksomhet i mer enn $T min)" + +#: gajim/common/config.py:77 +#, fuzzy +msgid "" +"$S will be replaced by current status message, $T by the 'autoawaytime' " +"value." +msgstr "" +"$S vil bli erstattet av gjeldende statusmelding, $T av automatisk borte-tid." + +#: gajim/common/config.py:79 +msgid "Time in minutes, after which your status changes to not available." +msgstr "Tid i minutter før status endres til 'Ikke tilgjengelig'." + +#: gajim/common/config.py:80 +#, fuzzy +msgid "$S (Not available: Idle more than $T min)" +msgstr "$S (Ikke tilgjengelig på grunn av uvirksomhet i mer enn $T min)" + +#: gajim/common/config.py:80 +#, fuzzy +msgid "" +"$S will be replaced by current status message, $T by the 'autoxatime' value." +msgstr "$S vil erstattes av gjeldende statusmelding, $T av lengre tids fravær." + +#: gajim/common/config.py:83 +#, fuzzy +msgid "" +"When to show the notification area icon. Can be 'never', 'on_event', and " +"'always'." +msgstr "" +"Når skal merknad i merknadsfelt vises. Kan være 'aldri', 'ved_hendelse', " +"'alltid'." + +#: gajim/common/config.py:87 +#, fuzzy +msgid "" +"List of rows (accounts and groups) that are collapsed (space separated)." +msgstr "" +"Liste (inndelt med mellomrom) av rader (kontoer og grupper) som er foldet " +"sammen." + +#: gajim/common/config.py:94 gajim/common/config.py:335 +#: gajim/common/config.py:342 +#, fuzzy +msgid "Language used for spell checking." +msgstr "Språk brukt av staveren" + +#: gajim/common/config.py:97 +msgid "When enabled, ASCII emojis will be converted to graphical emojis." +msgstr "" + +#: gajim/common/config.py:152 +#, fuzzy +msgid "" +"When not printing time for every message ('print_time'==sometimes), print it " +"every x minutes." +msgstr "" +"Når man ikke viser klokkeslett for hver melding (print_time==av-og-til), vis " +"det hvert x minutt." + +#: gajim/common/config.py:173 +#, fuzzy +msgid "" +"If enabled, Gajim quits when clicking the X button of your Window Manager. " +"This setting is taken into account only if the notification area icon is " +"used." +msgstr "" +"Dersom sant vil Gajim avslutte når X-knappen i vindusbehandleren blir " +"trykket. Det blir kun tatt hensyn til dette dersom systemstatus-" +"miniatyrbilde er i bruk." + +#: gajim/common/config.py:175 +#, fuzzy +msgid "" +"If enabled, Gajim will display the status message (if not empty) underneath " +"the contact name in the contact list window." +msgstr "" +"Hvis sant vil Gajim vise statusmeldingen, om den ikke er tom, for hver " +"kontakt under kontaktens navn i kontaktlistevinduet." + +#: gajim/common/config.py:182 +#, fuzzy +msgid "" +"If disabled, Gajim will no longer print status messages in chats when a " +"contact changes their status (and/or their status message)." +msgstr "" +"Hvis usant vil du ikke lenger kunne se statuslinjer i samtaler når en " +"kontakt endrer status og/eller statusmelding." + +#: gajim/common/config.py:183 +#, fuzzy +msgid "" +"Default Setting: Show a status message for every join or leave in a group " +"chat." +msgstr "Kunne ikke ta del i gruppesamtale" + +#: gajim/common/config.py:184 +#, fuzzy +msgid "" +"Default Setting: Show a status message for all status changes (away, dnd, " +"etc.) of users in a group chat." +msgstr "Kunne ikke ta del i gruppesamtale" + +#: gajim/common/config.py:191 +#, fuzzy +msgid "" +"Controls the window where new messages are placed.\n" +"'always' - All messages are sent to a single window.\n" +"'always_with_roster' - Like 'always' but the messages are in a single window " +"along with the contact list.\n" +"'never' - All messages get their own window.\n" +"'peracct' - Messages for each account are sent to a specific window.\n" +"'pertype' - Each message type (e.g. chats vs. group chats) is sent to a " +"specific window." +msgstr "" +"Kontrollerer vinduet der nye meldinger plasseres.\n" +"'always' - Alle meldinger blir sendt til ett enkelt vindu.\n" +"'always_with_roster' - Som 'always', men meldingene er i ett enkelt vindu, " +"sammen med kontaktlista.\n" +"'never' - Alle meldinger i eget vindu.\n" +"'peracct' - Meldinger for hver konto sendes til et spesifikt vindu.\n" +"'pertype' - Hver meldingstype (f.eks. sludreøkter, men ikke " +"gruppesludringsøkter) blir sendt til et spesifikt vindu." + +#: gajim/common/config.py:192 +#, fuzzy +msgid "" +"Show contact list window on startup.\n" +"'always' - Always show contact list window.\n" +"'never' - Never show contact list window.\n" +"'last_state' - Restore last state of the contact list window." +msgstr "" +"Vis kontaktliste ved oppstart.\n" +"'alltid' - Aldri vis kontaktliste.\n" +"'aldri' - Never show roster.\n" +"'siste_tilstand' - Gjenopprett kontaktlisten i siste tilstand." + +#: gajim/common/config.py:207 +#, fuzzy +msgid "" +"Valid URI schemes. Only schemes in this list will be accepted as 'real' URI " +"(mailto and xmpp are handled separately)." +msgstr "" +"Lovlige URI-handlesett. Bare skjema i denne listen vil bli akseptert som en " +"\"ekte\" URI. (mailto og xmpp håndteres separat)" + +#: gajim/common/config.py:212 +#, fuzzy +msgid "Optionally fix Jingle output video framerate. Example: 10/1 or 25/2." +msgstr "" +"Alternativ fiksering av jingle-utdataens videoskuddtakt. Eksempelvis: 10/1 " +"eller 25/2" + +#: gajim/common/config.py:213 +#, fuzzy +msgid "Optionally resize Jingle output video. Example: 320x240." +msgstr "" +"Alternativ justering av oppløsning for utdata-video. Eksempelvis: 320x240" + +#: gajim/common/config.py:214 +msgid "If enabled, you will see your webcam's video stream as well." +msgstr "" + +#: gajim/common/config.py:219 +#, fuzzy +msgid "" +"Proxy used for all outgoing connections if the account does not have a " +"specific proxy configured." +msgstr "" +"Mellomtjenere brukt for utgående tilkoblinger, hvis kontoen ikke har satt " +"opp en spesifikk mellomtjener" + +#: gajim/common/config.py:222 +#, fuzzy +msgid "" +"If enabled, Gajim will display an icon to show that sent messages have been " +"received by your contact." +msgstr "" +"Hvis valgt vil Gajim vise et ikon for å gjøre oppmerksom på at sendt melding " +"har ankommet kontakt" + +#: gajim/common/config.py:223 +#, fuzzy +msgid "" +"If enabled, Gajim will use the System's Keyring to store account passwords." +msgstr "" +"Dersom sant vil Gajim bruke Gnome-nøkkelringen (dersom tilgjengelig) til å " +"lagre kontopassord." + +#: gajim/common/config.py:225 +msgid "2: System, 1: Enabled, 0: Disabled" +msgstr "" + +#: gajim/common/config.py:226 +msgid "" +"Maximum history in days we request from a public group chat archive. 0: As " +"much as possible." +msgstr "" + +#: gajim/common/config.py:227 +msgid "" +"Maximum history in days we request from a private group chat archive. 0: As " +"much as possible." +msgstr "" + +#: gajim/common/config.py:228 +msgid "" +"If enabled, Gajim shows the group chat subject in the chat window when " +"joining." +msgstr "" + +#: gajim/common/config.py:229 +#, fuzzy +msgid "" +"If enabled, the contact row is colored according to the current chat state " +"of the contact." +msgstr "" +"Hvis avkrysset vil Gajim tillate at andre ser hvilket operativsystem du " +"bruker" + +#: gajim/common/config.py:230 +#, fuzzy +msgid "" +"If enabled, the tab is colored according to the current chat state of the " +"contact." +msgstr "" +"Hvis avkrysset vil Gajim tillate at andre ser hvilket operativsystem du " +"bruker" + +#: gajim/common/config.py:231 +#, fuzzy +msgid "" +"Shows a text in the banner that describes the current chat state of the " +"contact." +msgstr "" +"Hvis avkrysset vil Gajim tillate at andre ser hvilket operativsystem du " +"bruker" + +#: gajim/common/config.py:232 +#, fuzzy +msgid "" +"Chat state notifications that are sent to contacts. Possible values: all, " +"composing_only, disabled" +msgstr "" +"Sendt merknad for samtalestatus. Kan være 'alle', 'bare_skriving' eller " +"'avslått'." + +#: gajim/common/config.py:233 +#, fuzzy +msgid "" +"Chat state notifications that are sent to the group chat. Possible values: " +"'all', 'composing_only', 'disabled'" +msgstr "" +"Sendt merknad for samtalestatus. Kan være 'alle', 'bare_skriving' eller " +"'avslått'." + +#: gajim/common/config.py:240 +msgid "Shows an info bar with helpful hints in the Start / Join Chat dialog" +msgstr "" + +#: gajim/common/config.py:242 +msgid "Date of the last update check" +msgstr "" + +#: gajim/common/config.py:260 +#, fuzzy +msgid "" +"Priority will change automatically according to your status. Priorities are " +"defined in 'autopriority_*' options." +msgstr "" +"Prioritet vil endres automatisk i følge med din status. Prioritet bestemmes " +"i autopriority_*-valgene." + +#: gajim/common/config.py:267 +#, fuzzy +msgid "If enabled, the last status will be restored." +msgstr "Dersom valgt, gjenopprett sist brukte status." + +#: gajim/common/config.py:268 +#, fuzzy +msgid "" +"If enabled, contacts requesting authorization will be accepted automatically." +msgstr "" +"Hvis sant vil kontakter som ber om godkjenning bli akseptert automatisk." + +#: gajim/common/config.py:269 +#, fuzzy +msgid "" +"If disabled, this account will be disabled and will not appear in the " +"contact list window." +msgstr "" +"Dersom usant vil bildeikoner bli slått av og ikke vises i " +"kontaktlistevinduet." + +#: gajim/common/config.py:278 +msgid "ConnectionType: START TLS, DIRECT TLS or PLAIN" +msgstr "" + +#: gajim/common/config.py:280 +#, fuzzy +msgid "" +"List of XMPP Addresses (space separated) for which you do not want to store " +"chat history. You can also add the name of an account to disable storing " +"chat history for this account." +msgstr "" +"Mellomromsinndelt liste over JID-er du ikke ønsker å logge. Du kan også " +"legge til kontonavn for å ikke logge denne kontoen." + +#: gajim/common/config.py:285 +#, fuzzy +msgid "" +"If enabled, Gajim will use your IP and proxies defined in " +"'file_transfer_proxies' option for file transfers." +msgstr "" +"Dersom valgt vil Gajim bruke din IP og mellomtjenere bestemt i " +"file_transfer_proxies-valget for filoverføring." + +#: gajim/common/config.py:286 +#, fuzzy +msgid "" +"If enabled, Gajim will test file transfer proxies on startup to be sure they " +"work. Openfire's proxies are known to fail this test even if they work." +msgstr "" +"Hvis sant, vil Gajim teste filoverførings-mellomtjenere ved oppstart for å " +"forsikre seg om at de virker. Openfire sine mellomtjenere feiler denne " +"testen selv om de virker." + +#: gajim/common/config.py:298 +#, fuzzy +msgid "If enabled, Gajim will answer to message receipt requests." +msgstr "" +"Hvis valgt vil Gajim vise et ikon for å gjøre oppmerksom på at sendt melding " +"har ankommet kontakt" + +#: gajim/common/config.py:303 +msgid "" +"Allow Gajim to send information about the operating system you are running." +msgstr "Tillat Gajim å sende informasjon om hvilket operativsystem du bruker." + +#: gajim/common/config.py:304 +msgid "Allow Gajim to send your local time." +msgstr "Tillat Gajim å sende din lokale tid." + +#: gajim/common/config.py:307 +#, fuzzy +msgid "Message that is sent to contacts you want to add." +msgstr "Melding sendt til kontakter du ønsker å legge til" + +#: gajim/common/config.py:308 +#, fuzzy +msgid "" +"If enabled, Gajim will send your local IP so your contact can connect to " +"your machine for file transfers." +msgstr "" +"Hvis påskrudd vil Gajim sende dine lokale IP-er slik at din kontakt kan " +"koble til din maskin for å overføre filer." + +#: gajim/common/config.py:309 +#, fuzzy +msgid "" +"List of XMPP Addresses (space separated) for which the chat window will be " +"re-opened on next startup." +msgstr "" +"Mellomromsinndelt liste over JID-er du vil gjenåpne samtalevindu med ved " +"neste oppstart." + +#: gajim/common/config.py:311 +#, fuzzy +msgid "" +"Preferred file transfer mechanism for file drag&drop on a chat window. Can " +"be 'httpupload' (default) or 'jingle'." +msgstr "" +"Foretrukket filoverføringsmekanisme for dra-og-slipp -funksjonalitet i " +"sludrevinduet. Kan være 'httpupload' (forvalg) eller 'jingle'" + +#: gajim/common/config.py:312 +#, fuzzy +msgid "Allow certificate verification with POSH." +msgstr "Bekreftelse av SSL-sertifikat for %s" + +#: gajim/common/config.py:336 +#, fuzzy +msgid "" +"Chat state notifications that are sent to contacts. Possible values: 'all', " +"'composing_only', 'disabled'" +msgstr "" +"Sendt merknad for samtalestatus. Kan være 'alle', 'bare_skriving' eller " +"'avslått'." + +#: gajim/common/config.py:339 +#, fuzzy +msgid "The currently active encryption for that contact." +msgstr "Nåværende aktiv kryptering for nevnte kontakt" + +#: gajim/common/config.py:343 +#, fuzzy +msgid "" +"If enabled, a notification is created for every message in this group chat." +msgstr "" +"Hvorvidt det er ønskelig med en merknad for hver melding i dette rommet" + +#: gajim/common/config.py:344 +#, fuzzy +msgid "" +"Show a status message for all status changes (away, dnd, etc.) of users in a " +"group chat." +msgstr "Kunne ikke ta del i gruppesamtale" + +#: gajim/common/config.py:345 +#, fuzzy +msgid "Show a status message for every join or leave in a group chat." +msgstr "Kunne ikke ta del i gruppesamtale" + +#: gajim/common/config.py:346 +msgid "" +"If enabled, the group chat is minimized into the contact list when joining " +"automatically." +msgstr "" + +#: gajim/common/config.py:347 +msgid "" +"If enabled, the group chat is minimized into the contact list when closing " +"it." +msgstr "" + +#: gajim/common/config.py:348 +#, fuzzy +msgid "" +"Chat state notifications that are sent to the group chat. Possible values: " +"'all', 'composing_only' or 'disabled'." +msgstr "" +"Sendt merknad for samtalestatus. Kan være 'alle', 'bare_skriving' eller " +"'avslått'." + +#: gajim/common/config.py:351 +#, fuzzy +msgid "" +"If enabled, plugins will be activated on startup (this is saved when exiting " +"Gajim). This option SHOULD NOT be used to (de)activate plugins. Use the " +"plugin window instead." +msgstr "" +"Bestem hvorvidt tillegg skal skrus på ved oppstart (dette lagres når Gajim " +"skrus av). Dette valget SKAL IKKE brukes til å (de)aktivere tillegg. Bruk " +"GUI i steden for." + +#: gajim/common/config.py:358 +#, fuzzy +msgid "I'm eating." +msgstr "Jeg jobber." + +#: gajim/common/config.py:359 +msgid "I'm watching a movie." +msgstr "Ser på en film." + +#: gajim/common/config.py:360 +msgid "I'm working." +msgstr "Jeg jobber." + +#: gajim/common/config.py:361 +msgid "Phone" +msgstr "Telefon" + +#: gajim/common/config.py:361 +msgid "I'm on the phone." +msgstr "Sitter i telefonen." + +#: gajim/common/config.py:362 +msgid "I'm out enjoying life." +msgstr "Ute og lever livet." + +#: gajim/common/config.py:373 +#, fuzzy +msgid "" +"Sound to play when a group chat message contains one of the words in " +"'muc_highlight_words' or your nickname is mentioned." +msgstr "" +"Lyd som spilles når en melding i et samtalerom inneholder et av ordene i " +"muc_highlight_words, eller når en melding i et samtalerom inneholder " +"kallenavnet ditt." + +#: gajim/common/config.py:374 +#, fuzzy +msgid "Sound to play when any group chat message arrives." +msgstr "Lyd som spilles når en MUC-melding ankommer." + +#: gajim/common/config.py:378 +msgid "Tor" +msgstr "Tor" + +#: gajim/common/exceptions.py:45 +#, python-format +msgid "" +"The database file (%s) cannot be read. Try to repair it (see https://dev." +"gajim.org/gajim/gajim/wikis/help/DatabaseBackup) or remove it (all history " +"will be lost)." +msgstr "" +"Databasefilen (%s) kan ikke leses. Prøv å reparer den (se https://dev.gajim." +"org/gajim/gajim/wikis/help/DatabaseBackup) eller fjern den (all historikk " +"vil bli borte)." + +#: gajim/common/exceptions.py:59 +msgid "Service not available: Gajim is not running, or remote_control is False" +msgstr "" +"Tjeneste ikke tilgjengelig: Gajim kjører ikke, eller remote_control er satt " +"til usant" + +#: gajim/common/exceptions.py:81 +#, python-format +msgid "" +"Session bus is not available.\n" +"Try reading %(url)s" +msgstr "" +"Økt-bussen er ikke tilgjengelig.\n" +"Prøv å lese %(url)s" + +#: gajim/common/exceptions.py:93 +#, python-format +msgid "" +"System bus is not available.\n" +"Try reading %(url)s" +msgstr "" +"Økt-bussen er ikke tilgjengelig.\n" +"Prøv å lese %(url)s" + +#: gajim/common/optparser.py:54 +#, python-format +msgid "Error: cannot open %s for reading" +msgstr "Feil: kan ikke åpne %s for lesing" + +#: gajim/common/configpaths.py:84 +#, python-format +msgid "%s is a file but it should be a directory" +msgstr "%s er ei fil men skulle ha vært en katalog" + +#: gajim/common/configpaths.py:85 +msgid "Gajim will now exit" +msgstr "Gajim vill nå lukkes" + +#: gajim/common/connection_handlers_events.py:242 +#: gajim/common/connection_handlers_events.py:342 +#, fuzzy, python-format +msgid "New message from %(nickname)s" +msgid_plural "%(n_msgs)i unread messages from %(nickname)s" +msgstr[0] "Ny melding fra %(nickname)s" +msgstr[1] "Ny melding fra %(nickname)s" + +#: gajim/common/connection_handlers_events.py:412 +#, python-format +msgid "%(nick)s Changed Status" +msgstr "%(nick)s endret status" + +#: gajim/common/const.py:287 +#, fuzzy +msgid "?Group chat name:Team" +msgstr "?Group Chat Contact Role:Ingen" + +#: gajim/common/const.py:288 +msgid "?Group chat description:Project discussion" +msgstr "" + +#: gajim/common/const.py:289 +#, fuzzy +msgid "?Group chat address:team" +msgstr "Gruppesludringsstøtte" + +#: gajim/common/const.py:290 +#, fuzzy +msgid "?Group chat name:Family" +msgstr "Fremheving av gruppesamtale:" + +#: gajim/common/const.py:291 +msgid "?Group chat description:Spring gathering" +msgstr "" + +#: gajim/common/const.py:292 +msgid "?Group chat address:family" +msgstr "" + +#: gajim/common/const.py:293 +#, fuzzy +msgid "?Group chat name:Vacation" +msgstr "Invitasjon til gruppesamtale" + +#: gajim/common/const.py:294 +msgid "?Group chat description:Trip planning" +msgstr "" + +#: gajim/common/const.py:295 +#, fuzzy +msgid "?Group chat address:vacation" +msgstr "Invitasjon til gruppesamtale" + +#: gajim/common/const.py:296 +#, fuzzy +msgid "?Group chat name:Repairs" +msgstr "Gruppe Samtale" + +#: gajim/common/const.py:297 +msgid "?Group chat description:Local help group" +msgstr "" + +#: gajim/common/const.py:298 +#, fuzzy +msgid "?Group chat address:repairs" +msgstr "Gruppesludringsstøtte" + +#: gajim/common/const.py:299 +#, fuzzy +msgid "?Group chat name:News" +msgstr "?Group Chat Contact Role:Ingen" + +#: gajim/common/const.py:300 +#, fuzzy +msgid "?Group chat description:Local news and reports" +msgstr "Oppretting av gruppesludring tillates ikke." + +#: gajim/common/const.py:301 +#, fuzzy +msgid "?Group chat address:news" +msgstr "Ny gruppesamtale" + +#: gajim/common/const.py:306 +#, fuzzy +msgid "Remote server not found" +msgstr "Tjenesten ble ikke funnet" + +#: gajim/common/const.py:307 +msgid "Remote server timeout" +msgstr "" + +#: gajim/common/const.py:308 gajim/common/const.py:309 +#: gajim/common/const.py:310 +#, fuzzy +msgid "Address does not belong to a group chat server" +msgstr "%s er ikke en gruppesamtale-tjener" + +#: gajim/common/const.py:311 +#, fuzzy +msgid "Group chat already exists" +msgstr "Lokal konto eksisterer allerede." + +#: gajim/common/const.py:312 +#, fuzzy +msgid "Group chat does not exist" +msgstr "Gruppesamtalen %s finnes ikke." + +#: gajim/common/const.py:313 +#, fuzzy +msgid "Group chat is closed" +msgstr "Historikk for gruppesamtaler" + +#: gajim/common/const.py:319 +msgid "This message was encrypted with OTR and could not be decrypted." +msgstr "Meldingen har blitt kryptert med OTR og kunne ikke dekrypteres." + +#: gajim/common/const.py:322 +msgid "" +"This message was encrypted with Legacy OpenPGP and could not be decrypted. " +"You can install the PGP plugin to handle those messages." +msgstr "" +"Meldingen har blitt kryptert med foreldet OpenPGP, og kunne ikke " +"dekrypteres. Du kan installere PGP-programtillegget for å håndtere de " +"meldingene." + +#: gajim/common/const.py:326 +#, fuzzy +msgid "" +"This message was encrypted with OpenPGP for XMPP and could not be decrypted. " +"You can install the OpenPGP plugin to handle those messages." +msgstr "" +"Meldingen har blitt kryptert med foreldet OpenPGP, og kunne ikke " +"dekrypteres. Du kan installere PGP-programtillegget for å håndtere de " +"meldingene." + +#: gajim/common/const.py:330 +#, python-format +msgid "This message was encrypted with %s and could not be decrypted." +msgstr "Meldingen har blitt kryptert med %s og kunne ikke dekrypteres." + +#: gajim/common/const.py:337 +msgid "Doing Chores" +msgstr "Utfører gjøremål" + +#: gajim/common/const.py:338 +msgid "Buying Groceries" +msgstr "Kjøper mat" + +#: gajim/common/const.py:339 +msgid "Cleaning" +msgstr "Vasker" + +#: gajim/common/const.py:340 +msgid "Cooking" +msgstr "Lager mat" + +#: gajim/common/const.py:341 +msgid "Doing Maintenance" +msgstr "Driver vedlikehold" + +#: gajim/common/const.py:342 +msgid "Doing the Dishes" +msgstr "Tar oppvasken" + +#: gajim/common/const.py:343 +msgid "Doing the Laundry" +msgstr "Vasker klær" + +#: gajim/common/const.py:344 +msgid "Gardening" +msgstr "Gjør hagearbeid" + +#: gajim/common/const.py:345 +msgid "Running an Errand" +msgstr "Løper et ærend" + +#: gajim/common/const.py:346 +msgid "Walking the Dog" +msgstr "Går tur med hunden" + +#: gajim/common/const.py:348 +msgid "Drinking" +msgstr "Drikker" + +#: gajim/common/const.py:349 +msgid "Having a Beer" +msgstr "Tar seg en øl" + +#: gajim/common/const.py:350 +msgid "Having Coffee" +msgstr "Tar seg en kaffe" + +#: gajim/common/const.py:351 +msgid "Having Tea" +msgstr "Tar seg en kopp té" + +#: gajim/common/const.py:354 +msgid "Having a Snack" +msgstr "Tar seg en matbit" + +#: gajim/common/const.py:355 +msgid "Having Breakfast" +msgstr "Spiser frokost" + +#: gajim/common/const.py:356 +msgid "Having Dinner" +msgstr "Spiser middag" + +#: gajim/common/const.py:357 +msgid "Having Lunch" +msgstr "Spiser lunsj" + +#: gajim/common/const.py:359 +msgid "Exercising" +msgstr "Trimmer" + +#: gajim/common/const.py:360 gajim/common/const.py:411 +msgid "Cycling" +msgstr "Sykler" + +#: gajim/common/const.py:361 +msgid "Dancing" +msgstr "Danser" + +#: gajim/common/const.py:362 +msgid "Hiking" +msgstr "På tursti" + +#: gajim/common/const.py:363 +msgid "Jogging" +msgstr "Jogger" + +#: gajim/common/const.py:364 +msgid "Playing Sports" +msgstr "Bedriver sport" + +#: gajim/common/const.py:365 +msgid "Running" +msgstr "Løper" + +#: gajim/common/const.py:366 +msgid "Skiing" +msgstr "Går på ski" + +#: gajim/common/const.py:367 +msgid "Swimming" +msgstr "Svømmer" + +#: gajim/common/const.py:368 +msgid "Working out" +msgstr "Trener" + +#: gajim/common/const.py:370 +msgid "Grooming" +msgstr "Steller seg" + +#: gajim/common/const.py:371 +msgid "At the Spa" +msgstr "Er på spa" + +#: gajim/common/const.py:372 +msgid "Brushing Teeth" +msgstr "Pusser tenner" + +#: gajim/common/const.py:373 +msgid "Getting a Haircut" +msgstr "Klipper håret" + +#: gajim/common/const.py:374 +msgid "Shaving" +msgstr "Barberer seg" + +#: gajim/common/const.py:375 +msgid "Taking a Bath" +msgstr "Tar et bad" + +#: gajim/common/const.py:376 +msgid "Taking a Shower" +msgstr "Tar seg en dusj" + +#: gajim/common/const.py:378 +msgid "Having an Appointment" +msgstr "Har en avtale" + +#: gajim/common/const.py:380 +msgid "Inactive" +msgstr "Inaktiv" + +#: gajim/common/const.py:381 +msgid "Day Off" +msgstr "Fridag" + +#: gajim/common/const.py:382 +msgid "Hanging out" +msgstr "Slapper av" + +#: gajim/common/const.py:383 +msgid "Hiding" +msgstr "Gjemmer seg" + +#: gajim/common/const.py:384 +msgid "On Vacation" +msgstr "På ferie" + +#: gajim/common/const.py:385 +msgid "Praying" +msgstr "Ber" + +#: gajim/common/const.py:386 +msgid "Scheduled Holiday" +msgstr "Planlagt ferie" + +#: gajim/common/const.py:388 +msgid "Thinking" +msgstr "Tenker" + +#: gajim/common/const.py:390 +msgid "Relaxing" +msgstr "Slapper av" + +#: gajim/common/const.py:391 +msgid "Fishing" +msgstr "Fisker" + +#: gajim/common/const.py:392 +msgid "Gaming" +msgstr "Spiller" + +#: gajim/common/const.py:393 +msgid "Going out" +msgstr "Går ut" + +#: gajim/common/const.py:394 +msgid "Partying" +msgstr "Fester" + +#: gajim/common/const.py:395 +msgid "Reading" +msgstr "Leser" + +#: gajim/common/const.py:396 +msgid "Rehearsing" +msgstr "Øver" + +#: gajim/common/const.py:397 +msgid "Shopping" +msgstr "Sover" + +#: gajim/common/const.py:398 +msgid "Smoking" +msgstr "Røyker" + +#: gajim/common/const.py:399 +msgid "Socializing" +msgstr "Sosialiserer" + +#: gajim/common/const.py:400 +msgid "Sunbathing" +msgstr "Soler seg" + +#: gajim/common/const.py:401 +msgid "Watching TV" +msgstr "Ser på TV" + +#: gajim/common/const.py:402 +msgid "Watching a Movie" +msgstr "Ser på film" + +#: gajim/common/const.py:404 +msgid "Talking" +msgstr "Snakker" + +#: gajim/common/const.py:405 +msgid "In Real Life" +msgstr "I det virkelige liv" + +#: gajim/common/const.py:406 +msgid "On the Phone" +msgstr "Sitter i telefonen" + +#: gajim/common/const.py:407 +msgid "On Video Phone" +msgstr "På videotelefon" + +#: gajim/common/const.py:409 +msgid "Traveling" +msgstr "Reiser" + +#: gajim/common/const.py:410 +msgid "Commuting" +msgstr "Pendler" + +#: gajim/common/const.py:412 +msgid "Driving" +msgstr "Kjører" + +#: gajim/common/const.py:413 +msgid "In a Car" +msgstr "I en bil" + +#: gajim/common/const.py:414 +msgid "On a Bus" +msgstr "På bussen" + +#: gajim/common/const.py:415 +msgid "On a Plane" +msgstr "Flyr" + +#: gajim/common/const.py:416 +msgid "On a Train" +msgstr "På toget" + +#: gajim/common/const.py:417 +msgid "On a Trip" +msgstr "På reise" + +#: gajim/common/const.py:418 +msgid "Walking" +msgstr "Spaserer" + +#: gajim/common/const.py:421 +msgid "Coding" +msgstr "Koder" + +#: gajim/common/const.py:422 +msgid "In a Meeting" +msgstr "I et møte" + +#: gajim/common/const.py:423 +msgid "Studying" +msgstr "Studerer" + +#: gajim/common/const.py:424 +msgid "Writing" +msgstr "Skriver" + +#: gajim/common/const.py:427 +msgid "Afraid" +msgstr "Redd" + +#: gajim/common/const.py:428 +msgid "Amazed" +msgstr "Forbløffet" + +#: gajim/common/const.py:429 +msgid "Amorous" +msgstr "Amorøs" + +#: gajim/common/const.py:430 +msgid "Angry" +msgstr "Er Bjørn Sundquist" + +#: gajim/common/const.py:431 +msgid "Annoyed" +msgstr "Irritert" + +#: gajim/common/const.py:432 +msgid "Anxious" +msgstr "Engstelig" + +#: gajim/common/const.py:433 +msgid "Aroused" +msgstr "Opphisset" + +#: gajim/common/const.py:434 +msgid "Ashamed" +msgstr "Skamfull" + +#: gajim/common/const.py:435 +msgid "Bored" +msgstr "Kjeder seg" + +#: gajim/common/const.py:436 +msgid "Brave" +msgstr "Modig" + +#: gajim/common/const.py:437 +msgid "Calm" +msgstr "Rolig" + +#: gajim/common/const.py:438 +msgid "Cautious" +msgstr "Forsiktig" + +#: gajim/common/const.py:439 +msgid "Cold" +msgstr "Kald" + +#: gajim/common/const.py:440 +msgid "Confident" +msgstr "Selvsikker" + +#: gajim/common/const.py:441 +msgid "Confused" +msgstr "Forvirret" + +#: gajim/common/const.py:442 +msgid "Contemplative" +msgstr "Overveiende" + +#: gajim/common/const.py:443 +msgid "Contented" +msgstr "Utfordrende" + +#: gajim/common/const.py:444 +msgid "Cranky" +msgstr "Gretten" + +#: gajim/common/const.py:445 +msgid "Crazy" +msgstr "Gal" + +#: gajim/common/const.py:446 +msgid "Creative" +msgstr "Kreativ" + +#: gajim/common/const.py:447 +msgid "Curious" +msgstr "Nysgjerrig" + +#: gajim/common/const.py:448 +msgid "Dejected" +msgstr "Nedslått" + +#: gajim/common/const.py:449 +msgid "Depressed" +msgstr "Deprimert" + +#: gajim/common/const.py:450 +msgid "Disappointed" +msgstr "Skuffet" + +#: gajim/common/const.py:451 +msgid "Disgusted" +msgstr "Vemmes" + +#: gajim/common/const.py:452 +msgid "Dismayed" +msgstr "Forferdet" + +#: gajim/common/const.py:453 +msgid "Distracted" +msgstr "Distrahert" + +#: gajim/common/const.py:454 +msgid "Embarrassed" +msgstr "Forlegen" + +#: gajim/common/const.py:455 +msgid "Envious" +msgstr "Misunnelig" + +#: gajim/common/const.py:456 +msgid "Excited" +msgstr "Begeistret" + +#: gajim/common/const.py:457 +msgid "Flirtatious" +msgstr "Flørtende" + +#: gajim/common/const.py:458 +msgid "Frustrated" +msgstr "Frustrert" + +#: gajim/common/const.py:459 +msgid "Grateful" +msgstr "Takknemlig" + +#: gajim/common/const.py:460 +msgid "Grieving" +msgstr "Sørgende" + +#: gajim/common/const.py:461 +msgid "Grumpy" +msgstr "Gretten" + +#: gajim/common/const.py:462 +msgid "Guilty" +msgstr "Skyldig" + +#: gajim/common/const.py:463 +msgid "Happy" +msgstr "Glad" + +#: gajim/common/const.py:464 +msgid "Hopeful" +msgstr "Håpefull" + +#: gajim/common/const.py:465 +msgid "Hot" +msgstr "Varm" + +#: gajim/common/const.py:466 +msgid "Humbled" +msgstr "Ydmyk" + +#: gajim/common/const.py:467 +msgid "Humiliated" +msgstr "Ydmyket" + +#: gajim/common/const.py:468 +msgid "Hungry" +msgstr "Sulten" + +#: gajim/common/const.py:469 +msgid "Hurt" +msgstr "Såret" + +#: gajim/common/const.py:470 +msgid "Impressed" +msgstr "Imponert" + +#: gajim/common/const.py:471 +msgid "In Awe" +msgstr "Ærefrykt" + +#: gajim/common/const.py:472 +msgid "In Love" +msgstr "Forelsket" + +#: gajim/common/const.py:473 +msgid "Indignant" +msgstr "Indignert" + +#: gajim/common/const.py:474 +msgid "Interested" +msgstr "Interessert" + +#: gajim/common/const.py:475 +msgid "Intoxicated" +msgstr "Beruset" + +#: gajim/common/const.py:476 +msgid "Invincible" +msgstr "Uovervinnelig" + +#: gajim/common/const.py:477 +msgid "Jealous" +msgstr "Sjalu" + +#: gajim/common/const.py:478 +msgid "Lonely" +msgstr "Ensom" + +#: gajim/common/const.py:479 +msgid "Lost" +msgstr "Bortkommet" + +#: gajim/common/const.py:480 +msgid "Lucky" +msgstr "Heldig" + +#: gajim/common/const.py:481 +msgid "Mean" +msgstr "Slem" + +#: gajim/common/const.py:482 +msgid "Moody" +msgstr "Humørsyk" + +#: gajim/common/const.py:483 +msgid "Nervous" +msgstr "Nervøs" + +#: gajim/common/const.py:484 +msgid "Neutral" +msgstr "Nøytral" + +#: gajim/common/const.py:485 +msgid "Offended" +msgstr "Fornærmet" + +#: gajim/common/const.py:486 +msgid "Outraged" +msgstr "Opprørt" + +#: gajim/common/const.py:487 +msgid "Playful" +msgstr "Leken" + +#: gajim/common/const.py:488 +msgid "Proud" +msgstr "Stolt" + +#: gajim/common/const.py:489 +msgid "Relaxed" +msgstr "Avslappet" + +#: gajim/common/const.py:490 +msgid "Relieved" +msgstr "Lettet" + +#: gajim/common/const.py:491 +msgid "Remorseful" +msgstr "Angrende" + +#: gajim/common/const.py:492 +msgid "Restless" +msgstr "Rastløs" + +#: gajim/common/const.py:493 +msgid "Sad" +msgstr "Lei seg" + +#: gajim/common/const.py:494 +msgid "Sarcastic" +msgstr "Sarkastisk" + +#: gajim/common/const.py:495 +msgid "Satisfied" +msgstr "Tilfreds" + +#: gajim/common/const.py:496 +msgid "Serious" +msgstr "Seriøs" + +#: gajim/common/const.py:497 +msgid "Shocked" +msgstr "Sjokkert" + +#: gajim/common/const.py:498 +msgid "Shy" +msgstr "Blyg" + +#: gajim/common/const.py:499 +msgid "Sick" +msgstr "Syk" + +#: gajim/common/const.py:500 +msgid "Sleepy" +msgstr "Søvnig" + +#: gajim/common/const.py:501 +msgid "Spontaneous" +msgstr "Spontan" + +#: gajim/common/const.py:502 +msgid "Stressed" +msgstr "Stresset" + +#: gajim/common/const.py:503 +msgid "Strong" +msgstr "Sterk" + +#: gajim/common/const.py:504 +msgid "Surprised" +msgstr "Overrasket" + +#: gajim/common/const.py:505 +msgid "Thankful" +msgstr "Takknemlig" + +#: gajim/common/const.py:506 +msgid "Thirsty" +msgstr "Tørst" + +#: gajim/common/const.py:507 +msgid "Tired" +msgstr "Trøtt" + +#: gajim/common/const.py:508 +msgid "Undefined" +msgstr "Udefinert" + +#: gajim/common/const.py:509 +msgid "Weak" +msgstr "Svak" + +#: gajim/common/const.py:510 +msgid "Worried" +msgstr "Bekymret" + +#: gajim/common/const.py:514 +msgid "accuracy" +msgstr "nøyaktighet" + +#: gajim/common/const.py:515 +msgid "alt" +msgstr "alt" + +#: gajim/common/const.py:516 +msgid "area" +msgstr "område" + +#: gajim/common/const.py:517 +msgid "bearing" +msgstr "kurs" + +#: gajim/common/const.py:518 +msgid "building" +msgstr "bygning" + +#: gajim/common/const.py:519 +msgid "country" +msgstr "land" + +#: gajim/common/const.py:520 +msgid "countrycode" +msgstr "landskode" + +#: gajim/common/const.py:521 +msgid "datum" +msgstr "dato" + +#: gajim/common/const.py:522 +msgid "description" +msgstr "Beskrivelse" + +#: gajim/common/const.py:523 +msgid "error" +msgstr "feil" + +#: gajim/common/const.py:524 +msgid "floor" +msgstr "etasje" + +#: gajim/common/const.py:525 +msgid "lat" +msgstr "breddegrad" + +#: gajim/common/const.py:526 +msgid "locality" +msgstr "samhold" + +#: gajim/common/const.py:527 +msgid "lon" +msgstr "lengdegrad" + +#: gajim/common/const.py:528 +msgid "postalcode" +msgstr "postnummer" + +#: gajim/common/const.py:529 +msgid "region" +msgstr "fylke" + +#: gajim/common/const.py:530 +msgid "room" +msgstr "rom" + +#: gajim/common/const.py:531 +msgid "speed" +msgstr "hastighet" + +#: gajim/common/const.py:532 +msgid "street" +msgstr "gate" + +#: gajim/common/const.py:533 +msgid "text" +msgstr "tekst" + +#: gajim/common/const.py:534 +msgid "timestamp" +msgstr "tidsstempel" + +#: gajim/common/const.py:535 +msgid "URI" +msgstr "" + +#: gajim/common/const.py:540 +msgid "Unable to get issuer certificate" +msgstr "Ikke i stand til innhente utsteders sertifikat" + +#: gajim/common/const.py:541 +msgid "Unable to get certificate CRL" +msgstr "Ikke i stand til å skaffe sertifikatets CRL" + +#: gajim/common/const.py:542 +msgid "Unable to decrypt certificate's signature" +msgstr "Ikke i stand til å dekryptere sertifikatets signatur" + +#: gajim/common/const.py:543 +msgid "Unable to decrypt CRL's signature" +msgstr "Ikke i stand til å dekryptere CRL-ens signatur" + +#: gajim/common/const.py:544 +msgid "Unable to decode issuer public key" +msgstr "Klarer ikke å dekode usteders offentlige nøkkel" + +#: gajim/common/const.py:545 +msgid "Certificate signature failure" +msgstr "Sertifikat-signaturfeil" + +#: gajim/common/const.py:546 +msgid "CRL signature failure" +msgstr "CRL-signaturfeil" + +#: gajim/common/const.py:547 +msgid "Certificate is not yet valid" +msgstr "Sertifikatet er ikke gylig enda" + +#: gajim/common/const.py:548 +msgid "Certificate has expired" +msgstr "Sertifikatet har utløpt" + +#: gajim/common/const.py:549 +msgid "CRL is not yet valid" +msgstr "CRL er ikke gyldig enda" + +#: gajim/common/const.py:550 +msgid "CRL has expired" +msgstr "CRL har utgått" + +#: gajim/common/const.py:551 +msgid "Format error in certificate's notBefore field" +msgstr "Formateringsfeil i sertifkatets ikkeFør-felt" + +#: gajim/common/const.py:552 +msgid "Format error in certificate's notAfter field" +msgstr "Formateringsfeil i sertifikatets ikkeEtter-felt" + +#: gajim/common/const.py:553 +msgid "Format error in CRL's lastUpdate field" +msgstr "Formateringsfeil i CRL-ens sisteOppdatering-s-felt" + +#: gajim/common/const.py:554 +msgid "Format error in CRL's nextUpdate field" +msgstr "Formateringsfeil i CRL-ens nesteOppdatering-s-felt" + +#: gajim/common/const.py:555 +msgid "Out of memory" +msgstr "Tom for minne" + +#: gajim/common/const.py:556 +msgid "Self signed certificate" +msgstr "Selvsignert sertifikat" + +#: gajim/common/const.py:557 +msgid "Self signed certificate in certificate chain" +msgstr "Selvsignert sertifikat i sertifikatkjeden" + +#: gajim/common/const.py:558 +msgid "Unable to get local issuer certificate" +msgstr "Ute av stand til å få tak i lokal utsteders sertifikat" + +#: gajim/common/const.py:559 +msgid "Unable to verify the first certificate" +msgstr "Ute av stand til å bekrefte det første sertifikatet" + +#: gajim/common/const.py:560 +msgid "Certificate chain too long" +msgstr "Sertifikatskjeden er for lang" + +#: gajim/common/const.py:561 +msgid "Certificate revoked" +msgstr "Sertifikat tilbakekallt" + +#: gajim/common/const.py:562 +msgid "Invalid CA certificate" +msgstr "Ugyldig CA-sertifikat" + +#: gajim/common/const.py:563 +msgid "Path length constraint exceeded" +msgstr "Stilengde-begrensning overskredet" + +#: gajim/common/const.py:564 +msgid "Unsupported certificate purpose" +msgstr "Ikke støttet sertifkats-hensikt" + +#: gajim/common/const.py:565 +msgid "Certificate not trusted" +msgstr "Sertifikatet er ikke tiltrodd" + +#: gajim/common/const.py:566 +msgid "Certificate rejected" +msgstr "Sertifikat avvist" + +#: gajim/common/const.py:567 +msgid "Subject issuer mismatch" +msgstr "Emne-utsteder samsvarer ikke" + +#: gajim/common/const.py:568 +msgid "Authority and subject key identifier mismatch" +msgstr "Autoritet og emne-nøkkel-identifikator samsvarer ikke" + +#: gajim/common/const.py:569 +msgid "Authority and issuer serial number mismatch" +msgstr "Autoritet og utsteders seriernummer samsvarer ikke" + +#: gajim/common/const.py:570 +msgid "Key usage does not include certificate signing" +msgstr "Nøkkelbruk inkluderer ikke sertifikatssignering" + +#: gajim/common/const.py:571 +msgid "Application verification failure" +msgstr "Programbekreftelsesfeil" + +#: gajim/common/const.py:893 +msgid "The signing certificate authority is not known" +msgstr "" + +#: gajim/common/const.py:894 +#, fuzzy +msgid "The certificate has been revoked" +msgstr "Sertifikat tilbakekallt" + +#: gajim/common/const.py:895 +msgid "The certificate does not match the expected identity of the site" +msgstr "" + +#: gajim/common/const.py:896 +msgid "The certificate’s algorithm is insecure" +msgstr "" + +#: gajim/common/const.py:897 +msgid "The certificate’s activation time is in the future" +msgstr "" + +#: gajim/common/const.py:898 +#, fuzzy +msgid "Unknown validation error" +msgstr "Ukjent SSL-feil: %d" + +#: gajim/common/const.py:899 +#, fuzzy +msgid "The certificate has expired" +msgstr "Sertifikatet har utløpt" + +#: gajim/common/const.py:954 +#, fuzzy +msgid "Authentication aborted" +msgstr "Godkjenning godtatt" + +#: gajim/common/const.py:955 +#, fuzzy +msgid "Account disabled" +msgstr "Konto avskrudd" + +#: gajim/common/const.py:956 +#, fuzzy +msgid "Credentials expired" +msgstr "Sertifikatet har utløpt" + +#: gajim/common/const.py:957 +#, fuzzy +msgid "Encryption required" +msgstr "Krypteringsfeil" + +#: gajim/common/const.py:961 +#, fuzzy +msgid "Authentication mechanism not supported" +msgstr "Tillegget støttes ikke" + +#: gajim/common/const.py:962 +#, fuzzy +msgid "Authentication mechanism too weak" +msgstr "Identitetsbekreftelse feilet med følgende, \"%s\"" + +#: gajim/common/const.py:964 +msgid "Authentication currently not possible" +msgstr "" + +#: gajim/common/const.py:1109 +msgid "No Sync" +msgstr "" + +#: gajim/common/const.py:1111 +msgid "2 Days" +msgstr "" + +#: gajim/common/const.py:1114 +msgid "No Threshold" +msgstr "" + +#: gajim/common/logging_helpers.py:31 +#, python-format +msgid "%s is not a valid loglevel" +msgstr "%s er ikke et gyldig loggnivå" + +#: gajim/common/zeroconf/zeroconf_avahi.py:256 +#: gajim/common/zeroconf/zeroconf_bonjour.py:248 +#: gajim/common/zeroconf/zeroconf_bonjour.py:265 +#: gajim/common/zeroconf/zeroconf_bonjour.py:323 +#, python-format +msgid "Error while adding service. %s" +msgstr "Feil ved tilføying av tjeneste. %s" + +#: gajim/common/zeroconf/connection_zeroconf.py:252 +#, python-format +msgid "Could not connect to \"%s\"" +msgstr "Kunne ikke koble til \"%s\"" + +#: gajim/common/zeroconf/connection_zeroconf.py:253 +msgid "Please check if Avahi or Bonjour is installed." +msgstr "Sjekk om Avahi eller Bonjour er installert." + +#: gajim/common/zeroconf/connection_zeroconf.py:263 +#: gajim/common/zeroconf/connection_zeroconf.py:267 +msgid "Could not start local service" +msgstr "Kunne ikke starte lokal tjeneste" + +#: gajim/common/zeroconf/connection_zeroconf.py:264 +#, python-format +msgid "Unable to bind to port %d." +msgstr "Klarer ikke å binde til port %d." + +#: gajim/common/zeroconf/connection_zeroconf.py:268 +msgid "Please check if avahi/bonjour-daemon is running." +msgstr "Sjekk om avahi/bonjour-nissen kjører." + +#: gajim/common/zeroconf/connection_zeroconf.py:362 +#: gajim/common/zeroconf/connection_zeroconf.py:375 +#, python-format +msgid "Could not change status of account \"%s\"" +msgstr "Kunne ikke endre statusen tilhørende kontoen \"%s\"" + +#: gajim/common/zeroconf/connection_zeroconf.py:363 +#: gajim/common/zeroconf/connection_zeroconf.py:376 +msgid "Please check if avahi-daemon is running." +msgstr "Sjekk om Avahi-nissen kjører." + +#: gajim/common/zeroconf/connection_zeroconf.py:404 +msgid "Your message could not be sent." +msgstr "Din melding kunne ikke sendes." + +#: gajim/common/zeroconf/connection_zeroconf.py:419 +msgid "Contact is offline. Your message could not be sent." +msgstr "Kontakten er frakoblet. Din melding kunne ikke sendes." + +#: gajim/common/zeroconf/connection_zeroconf.py:441 +msgid "" +"Connection to host could not be established: Timeout while sending data." +msgstr "" +"Tilkobling til maskinen kunne ikke opprettes: Tidsutløp under forsenelse av " +"data." + +#: gajim/common/dbus/logind.py:73 +#, fuzzy +msgid "Machine is going to sleep" +msgstr "Maskinen går i dvale" + +#: gajim/common/dbus/logind.py:103 +msgid "Disconnect from the network" +msgstr "Koble fra nettverket" + +#: gajim/common/modules/adhoc_commands.py:88 +msgid "Change status information" +msgstr "Endre statusinformasjon" + +#: gajim/common/modules/adhoc_commands.py:112 +msgid "Change status" +msgstr "Endre status" + +#: gajim/common/modules/adhoc_commands.py:113 +msgid "Set the presence type and description" +msgstr "Sett tilstedeværelses-type og beskrivelse" + +#: gajim/common/modules/adhoc_commands.py:120 +msgid "Free for chat" +msgstr "Ledig for samtale" + +#: gajim/common/modules/adhoc_commands.py:121 +msgid "Online" +msgstr "Pålogget" + +#: gajim/common/modules/adhoc_commands.py:123 +msgid "Extended away" +msgstr "Utvidet fravær" + +#: gajim/common/modules/adhoc_commands.py:124 +msgid "Do not disturb" +msgstr "Ikke forstyrr" + +#: gajim/common/modules/adhoc_commands.py:125 +msgid "Offline - disconnect" +msgstr "Frakoblet - koblet fra" + +#: gajim/common/modules/adhoc_commands.py:131 +msgid "Presence description:" +msgstr "Tilstedeværelsesbeskrivelse:" + +#: gajim/common/modules/adhoc_commands.py:170 +msgid "The status has been changed." +msgstr "Statusen har blitt endret." + +#: gajim/common/modules/presence.py:265 +msgid "I would like to add you to my roster." +msgstr "Jeg vil legge deg til min kontaktliste." + +#: gajim/common/modules/roster_item_exchange.py:103 +#, python-format +msgid "Sent contact: \"%(jid)s\" (%(name)s)" +msgstr "Sendt kontakt: \"%(jid)s\" (%(name)s)" + +#: gajim/common/modules/roster_item_exchange.py:107 +msgid "Sent contacts:" +msgstr "Sendte kontakter:" + +#: gajim/common/modules/httpupload.py:99 +msgid "File is empty" +msgstr "Fila er tom" + +#: gajim/common/modules/httpupload.py:102 +msgid "File does not exist" +msgstr "Fila finnes ikke" + +#: gajim/common/modules/httpupload.py:109 +#: gajim/common/modules/httpupload.py:172 +#, python-format +msgid "File is too large, maximum allowed file size is: %s" +msgstr "Filen er for stor, maksimal tillatt filstørrelse er: %s" + +#: gajim/common/modules/httpupload.py:279 +#, fuzzy +msgid "Encrypting file…" +msgstr "Krypterer fil…" + +#: gajim/common/modules/httpupload.py:280 +#, fuzzy +msgid "Requesting HTTP File Upload Slot…" +msgstr "Forespør HTTP-opplastingsplass…" + +#: gajim/common/modules/httpupload.py:281 +#, fuzzy +msgid "Uploading via HTTP File Upload…" +msgstr "Laster opp fil via HTTP-filopplasting…" + +#: gajim/common/modules/httpupload.py:285 +#, fuzzy +msgid "The server returned an insecure transport (HTTP)." +msgstr "Tjenesten returnerte en usikker transport (HTTP)" + +#: gajim/common/modules/httpupload.py:286 +msgid "There is no encryption method available for the chosen encryption." +msgstr "" + +#: gajim/plugins/pluginmanager.py:679 gajim/plugins/pluginmanager.py:685 +msgid "Archive corrupted" +msgstr "Arkiv skadet" + +#: gajim/plugins/pluginmanager.py:681 +msgid "Archive empty" +msgstr "Arkiv tomt" + +#: gajim/plugins/pluginmanager.py:693 gajim/plugins/pluginmanager.py:701 +#: gajim/plugins/gui.py:273 +msgid "Archive is malformed" +msgstr "Arkivet er skadet" + +#: gajim/plugins/pluginmanager.py:710 gajim/plugins/gui.py:288 +#: gajim/plugins/gui.py:301 +msgid "Plugin already exists" +msgstr "Programtillegget finnes allerede" + +#: gajim/plugins/pluginmanager.py:720 +#, fuzzy +msgid "Installation failed" +msgstr "Registrering feilet" + +#: gajim/plugins/gui.py:67 gajim/data/gui/shortcuts_window.ui:38 +msgid "Plugins" +msgstr "Tillegg" + +#: gajim/plugins/gui.py:75 +msgid "Click to view Gajim's wiki page on how to install plugins in Flatpak." +msgstr "" + +#: gajim/plugins/gui.py:84 +msgid "Plugin" +msgstr "Programtillegg" + +#: gajim/plugins/gui.py:95 gajim/data/gui/manage_sounds.ui:40 +msgid "Active" +msgstr "Påslått" + +#: gajim/plugins/gui.py:159 +#, python-format +msgid "Warning: %s" +msgstr "Advarsel: %s" + +#: gajim/plugins/gui.py:216 +msgid "Plugin failed" +msgstr "Programtillegg kræsjet" + +#: gajim/plugins/gui.py:249 +msgid "Unable to properly remove the plugin" +msgstr "Fikk ikke til å fjerne programtillegget på rett måte" + +#: gajim/plugins/gui.py:287 +#, fuzzy +msgid "Overwrite Plugin?" +msgstr "Overskriv?" + +#: gajim/plugins/gui.py:289 +#, fuzzy +msgid "Do you want to overwrite the currently installed version?" +msgstr "Ønsker du å akseptere invitasjonen?" + +#: gajim/plugins/gui.py:317 gajim/data/gui/groupchat_config.ui:258 +msgid "Configuration" +msgstr "Oppsett" + +#: gajim/data/gui/groupchat_nick_chooser.ui:47 +#, fuzzy +msgid "Join Group Chat as…" +msgstr "Ta del i gruppesamtale" + +#: gajim/data/gui/groupchat_nick_chooser.ui:66 +#, fuzzy +msgid "Your Nickname" +msgstr "Ditt kallenavn:" + +#: gajim/data/gui/groupchat_control.ui:36 +#, fuzzy +msgid "Drop Files or Contacts" +msgstr "Importer kontakter" + +#: gajim/data/gui/groupchat_control.ui:58 gajim/data/gui/chat_control.ui:322 +msgid "Bold" +msgstr "Fet" + +#: gajim/data/gui/groupchat_control.ui:67 gajim/data/gui/chat_control.ui:331 +msgid "Italic" +msgstr "Kursiv" + +#: gajim/data/gui/groupchat_control.ui:76 gajim/data/gui/chat_control.ui:340 +msgid "Underline" +msgstr "Understrek" + +#: gajim/data/gui/groupchat_control.ui:85 gajim/data/gui/chat_control.ui:349 +msgid "Strike" +msgstr "Gjennomstrek" + +#: gajim/data/gui/groupchat_control.ui:107 gajim/data/gui/chat_control.ui:371 +msgid "Font" +msgstr "Skrift" + +#: gajim/data/gui/groupchat_control.ui:121 gajim/data/gui/chat_control.ui:385 +msgid "Clear formatting" +msgstr "Fjern formatering" + +#: gajim/data/gui/groupchat_control.ui:383 gajim/data/gui/chat_control.ui:784 +#, fuzzy +msgid "Choose encryption" +msgstr "Velg kryptering" + +#: gajim/data/gui/groupchat_control.ui:429 gajim/data/gui/chat_control.ui:667 +#, fuzzy +msgid "Show a list of emojis (Alt+M)" +msgstr "Vis en liste over smilefjes (Alt+M)" + +#: gajim/data/gui/groupchat_control.ui:454 gajim/data/gui/chat_control.ui:833 +#, fuzzy +msgid "Send Message" +msgstr "Send melding" + +#: gajim/data/gui/groupchat_control.ui:583 +#, fuzzy +msgid "Joining…" +msgstr "Bannlyser…" + +#: gajim/data/gui/groupchat_control.ui:641 +#, fuzzy +msgid "Enter Nickname" +msgstr "Skriv inn kallenavn" + +#: gajim/data/gui/groupchat_control.ui:691 +#: gajim/data/gui/groupchat_control.ui:783 +#, fuzzy +msgid "Ch_ange" +msgstr "Endre kallenavn" + +#: gajim/data/gui/groupchat_control.ui:748 +#: gajim/data/gui/shortcuts_window.ui:319 +msgid "Change Subject" +msgstr "Endre emne" + +#: gajim/data/gui/groupchat_control.ui:864 +#, fuzzy +msgid "Enter Password" +msgstr "Skriv inn nytt passord:" + +#: gajim/data/gui/groupchat_control.ui:1081 +#, fuzzy +msgid "_Forget Group Chat" +msgstr "Forlat gruppesamtaler" + +#: gajim/data/gui/groupchat_control.ui:1085 +#, fuzzy +msgid "Gajim will not try to join this group chat again" +msgstr "Dersom valgt vil Gajim automatisk ta del i gruppesamtalen ved oppstart" + +#: gajim/data/gui/groupchat_control.ui:1102 +#, fuzzy +msgid "T_ry Again" +msgstr "Bekreft igjen…" + +#: gajim/data/gui/groupchat_control.ui:1156 +#, fuzzy +msgid "An Error Occurred" +msgstr "En feil har inntruffet:" + +#: gajim/data/gui/groupchat_control.ui:1221 +#, fuzzy +msgid "_Try Again" +msgstr "Bekreft igjen…" + +#: gajim/data/gui/groupchat_control.ui:1398 +#, fuzzy +msgid "Kick Participant" +msgstr "Deltaker" + +#: gajim/data/gui/groupchat_control.ui:1436 +msgid "_Kick" +msgstr "_Kast ut" + +#: gajim/data/gui/groupchat_control.ui:1469 +#: gajim/data/gui/groupchat_control.ui:1595 +#: gajim/data/gui/groupchat_control.ui:1721 +#: gajim/data/gui/groupchat_control.ui:1738 +#: gajim/data/gui/groupchat_control.ui:1827 +#: gajim/data/gui/groupchat_control.ui:1828 +#, fuzzy +msgid "Insert Emoji" +msgstr "Skru på ASCII-smilefjes" + +#: gajim/data/gui/groupchat_control.ui:1482 +#: gajim/data/gui/groupchat_control.ui:1608 +#, fuzzy +msgid "Reason (optional)" +msgstr "Du kan også skrive inn et alternativt møtested:" + +#: gajim/data/gui/groupchat_control.ui:1524 +#, fuzzy +msgid "Ban Participant" +msgstr "Deltaker" + +#: gajim/data/gui/groupchat_control.ui:1562 +msgid "_Ban" +msgstr "_Bannlys" + +#: gajim/data/gui/groupchat_control.ui:1650 +#, fuzzy +msgid "Destroy This Chat" +msgstr "Ny gruppesamtale" + +#: gajim/data/gui/groupchat_control.ui:1688 +#, fuzzy +msgid "_Destroy" +msgstr "Ødelegger %s" + +#: gajim/data/gui/groupchat_control.ui:1722 +#, fuzzy +msgid "Alternate venue (optional)..." +msgstr "Du kan også skrive inn et alternativt møtested:" + +#: gajim/data/gui/groupchat_control.ui:1739 +#, fuzzy +msgid "Reason (optional)..." +msgstr "Grunn" + +#: gajim/data/gui/groupchat_control.ui:1752 +msgid "Reason for destruction" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1767 +msgid "Where participants should go" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1808 +#, fuzzy +msgid "Rename This Chat" +msgstr "Forlat gruppesamtaler" + +#: gajim/data/gui/groupchat_control.ui:1935 +#, fuzzy +msgid "_Invite" +msgstr "In_viter" + +#: gajim/data/gui/groupchat_control.ui:2020 +#, fuzzy +msgid "Settings for This Chat" +msgstr "Se bort fra denne feilen for dette sertifikatet." + +#: gajim/data/gui/filetransfers.ui:21 +#, fuzzy +msgid "Pa_use/Resume" +msgstr "_Fortsett" + +#: gajim/data/gui/filetransfers.ui:45 +#, fuzzy +msgid "_Open Folder" +msgstr "_Åpne inneholdende katalog" + +#: gajim/data/gui/filetransfers.ui:56 gajim/data/gui/filetransfers.ui:206 +msgid "File Transfers" +msgstr "Filoverføringer" + +#: gajim/data/gui/filetransfers.ui:91 +#, fuzzy +msgid "_Show notification when file transfer is complete" +msgstr "_Gi meg beskjed når ei filoverføring er fullført" + +#: gajim/data/gui/filetransfers.ui:131 +msgid "file transfers list" +msgstr "filoverføringsliste" + +#: gajim/data/gui/filetransfers.ui:132 +msgid "A list of active, completed and stopped file transfers" +msgstr "En liste over aktive, fullførte og stoppede filoverføringer" + +#: gajim/data/gui/filetransfers.ui:154 +#, fuzzy +msgid "Remove completed, cancelled and failed file transfers from the list" +msgstr "Fjerner fullførte, avbrutte og feilede filoverføringer fra listen" + +#: gajim/data/gui/filetransfers.ui:167 +#, fuzzy +msgid "Pause or resume file transfer" +msgstr "Avbryt filoverføring" + +#: gajim/data/gui/filetransfers.ui:180 +#, fuzzy +msgid "Cancel the selected file transfer and remove incomplete files" +msgstr "Avbryter valgte overføringer og fjerner uferdige filer" + +#: gajim/data/gui/filetransfers.ui:207 +#, fuzzy +msgid "Shows a list of file transfers between you and your contacts" +msgstr "Viser en liste over filoverføringer mellom deg og andre" + +#: gajim/data/gui/add_new_contact_window.ui:76 +#, fuzzy +msgid "_XMPP Address" +msgstr "_Adresse:" + +#: gajim/data/gui/add_new_contact_window.ui:92 +#, fuzzy +msgid "_Nickname" +msgstr "_Kallenavn:" + +#: gajim/data/gui/add_new_contact_window.ui:109 +#, fuzzy +msgid "_Group" +msgstr "_Gruppe:" + +#: gajim/data/gui/add_new_contact_window.ui:157 +#, fuzzy +msgid "Choose or type new group name" +msgstr "Velg en gruppe eller skriv inn en ny gruppe" + +#: gajim/data/gui/add_new_contact_window.ui:173 +#, fuzzy +msgid "A_ccount" +msgstr "_Konto:" + +#: gajim/data/gui/add_new_contact_window.ui:189 +#, fuzzy +msgid "_Protocol" +msgstr "_Protokoll:" + +#: gajim/data/gui/add_new_contact_window.ui:287 +#: gajim/data/gui/single_message_window.ui:161 +#, fuzzy +msgid "Query Contact Info" +msgstr "Kontakt_Info" + +#: gajim/data/gui/add_new_contact_window.ui:312 +#, fuzzy +msgid "A_llow contact to view my status" +msgstr "Ti_llat denne kontakten å se min status" + +#: gajim/data/gui/add_new_contact_window.ui:363 +msgid "_Save subscription message" +msgstr "_Lagre abonnementsmelding" + +#: gajim/data/gui/add_new_contact_window.ui:389 +msgid "" +"You have to register with this transport\n" +"to be able to add a contact from this\n" +"protocol. Click on Register button to\n" +"proceed." +msgstr "" +"Du må registrere deg med denne transporten\n" +"for å kunne legge til en kontakt fra denne\n" +"protokollen. Klikk på \"Registrer\"-knappen for\n" +"å fortsette." + +#: gajim/data/gui/add_new_contact_window.ui:404 +msgid "_Register" +msgstr "_Registrer" + +#: gajim/data/gui/add_new_contact_window.ui:433 +msgid "" +"You must be connected to the transport to be able\n" +"to add a contact from this protocol." +msgstr "" +"Du må være tilkoblet transporten for å kunne\n" +"legge til en kontakt fra denne protokollen." + +#: gajim/data/gui/add_new_contact_window.ui:467 +#, fuzzy +msgid "_Add" +msgstr "_Adresse:" + +#: gajim/data/gui/account_wizard.ui:16 gajim/data/gui/manage_proxies.ui:206 +#, fuzzy +msgid "_Port" +msgstr "_Port:" + +#: gajim/data/gui/account_wizard.ui:46 +#, fuzzy +msgid "_Hostname" +msgstr "_Maskinnavn:" + +#: gajim/data/gui/account_wizard.ui:62 gajim/data/gui/account_wizard.ui:689 +#: gajim/data/gui/manage_proxies.ui:223 +msgid "example.org" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:75 +#, fuzzy +msgid "Prox_y" +msgstr "Mellomtjene_r:" + +#: gajim/data/gui/account_wizard.ui:110 +#, fuzzy +msgid "Manage Proxies..." +msgstr "Behandle mellomtjenere" + +#: gajim/data/gui/account_wizard.ui:131 gajim/data/gui/preferences.ui:798 +#, fuzzy +msgid "Advanced Settings" +msgstr "Avanserte Handlinger" + +#: gajim/data/gui/account_wizard.ui:163 gajim/data/gui/manage_proxies.ui:290 +#, fuzzy +msgid "_Type" +msgstr "_Skriv:" + +#: gajim/data/gui/account_wizard.ui:203 +msgid "Welcome" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:219 +#, fuzzy +msgid "Please enter your credentials or Sign Up" +msgstr "Velg en ny og ren drakt." + +#: gajim/data/gui/account_wizard.ui:237 +msgid "Your XMPP address (e.g. user@example.org)" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:239 +#: gajim/data/gui/single_message_window.ui:59 +msgid "user@example.org" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:252 +#, fuzzy +msgid "Your password" +msgstr "Skriv inn nytt passord:" + +#: gajim/data/gui/account_wizard.ui:266 gajim/data/gui/account_wizard.ui:719 +#, fuzzy +msgid "_Advanced Settings" +msgstr "Avanserte Handlinger" + +#: gajim/data/gui/account_wizard.ui:270 gajim/data/gui/account_wizard.ui:723 +#, fuzzy +msgid "Proxy, custom hostname and port" +msgstr "Bruk egendefinert maskinnavn/port" + +#: gajim/data/gui/account_wizard.ui:283 +#, fuzzy +msgid "_Log In" +msgstr "_Logg på" + +#: gajim/data/gui/account_wizard.ui:288 +msgid "Log in with your credentials" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:304 +#, fuzzy +msgid "or" +msgstr "Tor" + +#: gajim/data/gui/account_wizard.ui:314 +#, fuzzy +msgid "_Sign Up" +msgstr "Logg _inn" + +#: gajim/data/gui/account_wizard.ui:318 +msgid "Sign up for a new account on a server of your choice" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:369 +msgid "Visit Website" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:410 +#, fuzzy +msgid "Certificate Verification Failed" +msgstr "Bekreftelse av SSL-sertifikat for %s" + +#: gajim/data/gui/account_wizard.ui:428 +msgid "" +"The following warnings came up while trying to verify the server's " +"certificate" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:457 +#, fuzzy +msgid "_Show Certificate" +msgstr "Vis sertifikat…" + +#: gajim/data/gui/account_wizard.ui:472 +#, fuzzy +msgid "_Add to Trusted Certificates" +msgstr "Kryptert sertifikat" + +#: gajim/data/gui/account_wizard.ui:501 gajim/data/gui/account_wizard.ui:664 +msgid "Which server should I choose?" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:516 +msgid "" +"There are plenty of servers to choose from.\n" +"Creating an account on one server allows you to communicate with contacts " +"from other servers as well." +msgstr "" + +#: gajim/data/gui/account_wizard.ui:530 +msgid "Visit Server's Website" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:550 +msgid "Listing of Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:568 +msgid "" +"xmpp.org/getting-started" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:646 +#, fuzzy +msgid "_Please choose a server" +msgstr "Velg et kallenavn" + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "" + +#: gajim/data/gui/application_menu.ui:8 +#, fuzzy +msgid "_Start / Join Chat…" +msgstr "Start samtale" + +#: gajim/data/gui/application_menu.ui:13 +#, fuzzy +msgid "Create _Group Chat…" +msgstr "Forlat gruppesamtaler" + +#: gajim/data/gui/application_menu.ui:18 +#, fuzzy +msgid "_History Manager" +msgstr "Historikk-behandler" + +#: gajim/data/gui/application_menu.ui:22 +#, fuzzy +msgid "Pl_ugins" +msgstr "Tillegg" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +msgid "_Preferences" +msgstr "_Innstillinger" + +#: gajim/data/gui/application_menu.ui:36 +#, fuzzy +msgid "_Accounts" +msgstr "Kontoer" + +#: gajim/data/gui/application_menu.ui:39 +#, fuzzy +msgid "_View" +msgstr "Vis" + +#: gajim/data/gui/application_menu.ui:46 +#, fuzzy +msgid "Show _Offline Contacts" +msgstr "Vis _frakoblede kontakter" + +#: gajim/data/gui/application_menu.ui:50 +#, fuzzy +msgid "Show _Active Contacts" +msgstr "Vis aktive kontakter" + +#: gajim/data/gui/application_menu.ui:54 +#, fuzzy +msgid "Show _Transports" +msgstr "Vis transporter" + +#: gajim/data/gui/application_menu.ui:60 +#, fuzzy +msgid "_XML Console" +msgstr "XML-konsoll" + +#: gajim/data/gui/application_menu.ui:64 +#, fuzzy +msgid "_File Transfer" +msgstr "Filoverføring" + +#: gajim/data/gui/application_menu.ui:74 +#, fuzzy +msgid "_Help" +msgstr "Hjelp" + +#: gajim/data/gui/application_menu.ui:77 +#, fuzzy +msgid "_Wiki (Online)" +msgstr "Pålogget" + +#: gajim/data/gui/application_menu.ui:81 +#, fuzzy +msgid "FA_Q (Online)" +msgstr "Pålogget" + +#: gajim/data/gui/application_menu.ui:85 +#, fuzzy +msgid "_Keyboard Shortcuts" +msgstr "Tastatursnarveier" + +#: gajim/data/gui/application_menu.ui:89 +#, fuzzy +msgid "_Features" +msgstr "Funksjonalitet" + +#: gajim/data/gui/application_menu.ui:93 +#, fuzzy +msgid "_About" +msgstr "Om" + +#: gajim/data/gui/filetransfer_progress.ui:125 +#, fuzzy +msgid "Speed" +msgstr "hastighet" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +#, fuzzy +msgid "OK" +msgstr "_OK" + +#: gajim/data/gui/plugins_window.ui:55 +#, fuzzy +msgid "Install Plugin from ZIP-File" +msgstr "Installer fra zip-fil" + +#: gajim/data/gui/plugins_window.ui:56 +#, fuzzy +msgid "Install from File…" +msgstr "Installer fra zip-fil" + +#: gajim/data/gui/plugins_window.ui:70 +#, fuzzy +msgid "Uninstall Plugin" +msgstr "Avinstaller" + +#: gajim/data/gui/plugins_window.ui:116 +#, fuzzy +msgid "" +msgstr "Programtillegg kræsjet" + +#: gajim/data/gui/plugins_window.ui:133 +#, fuzzy +msgid "Plugin Settings" +msgstr "Tillegg" + +#: gajim/data/gui/plugins_window.ui:215 +#, fuzzy +msgid "" +msgstr "Beskrivelse" + +#: gajim/data/gui/plugins_window.ui:239 +#, fuzzy +msgid "Version" +msgstr "Versjon:" + +#: gajim/data/gui/plugins_window.ui:271 +#, fuzzy +msgid "Authors" +msgstr "Utviklere:" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +#, fuzzy +msgid "Homepage" +msgstr "Hjemmeside:" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:349 +msgid "Installed" +msgstr "Innstallert" + +#: gajim/data/gui/plugins_window.ui:363 +#, fuzzy +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "" +"Tilleggets beskrivelse bør vises her. Denne teksten vil bli slettet under " +"igangsetting av PluginsWindow." + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +msgid "Synchronise contacts" +msgstr "_Flett sammen kontakter" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "Velg hvilken konto du ønsker å flette sammen med" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +#, fuzzy +msgid "_Name" +msgstr "_Navn:" + +#: gajim/data/gui/groupchat_creation.ui:122 +#, fuzzy +msgid "_Description" +msgstr "Beskrivelse" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +#, fuzzy +msgid "_Address" +msgstr "_Adresse:" + +#: gajim/data/gui/groupchat_creation.ui:278 +#, fuzzy +msgid "_Account" +msgstr "_Kontoer" + +#: gajim/data/gui/profile.ui:33 +#, fuzzy +msgid "Contact Infos" +msgstr "Kontakt_Info" + +#: gajim/data/gui/profile.ui:45 +#, fuzzy +msgid "Picture and Name" +msgstr "Bilde å bruke" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "" + +#: gajim/data/gui/profile.ui:198 +#, fuzzy +msgid "Change your profile picture" +msgstr "Endre _kallenavnet ditt (Ctrl+N)" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:298 +#, fuzzy +msgid "Add Entry" +msgstr "Oppføring:" + +#: gajim/data/gui/profile.ui:410 +#, fuzzy +msgid "Update" +msgstr "Oppdater MOTD…" + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:15 +#, fuzzy +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "SOCKS5" + +#: gajim/data/gui/manage_proxies.ui:65 +#, fuzzy +msgid "Add Proxy" +msgstr "Mellomtjener" + +#: gajim/data/gui/manage_proxies.ui:79 +#, fuzzy +msgid "Remove Proxy" +msgstr "Fjern gruppe" + +#: gajim/data/gui/manage_proxies.ui:131 +#, fuzzy +msgid "Pass_word" +msgstr "Pass_ord:" + +#: gajim/data/gui/manage_proxies.ui:156 +msgid "Use proxy auth_entication" +msgstr "Bruk bekreft_else av mellomtjener" + +#: gajim/data/gui/manage_proxies.ui:176 +#, fuzzy +msgid "_Username" +msgstr "_Brukernavn:" + +#: gajim/data/gui/manage_proxies.ui:237 +#, fuzzy +msgid "_Host" +msgstr "_Maskin:" + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "Lokal JID:" + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "Ressurs:" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "Status:" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +#, fuzzy +msgid "_Store conversation history" +msgstr "_Loggfør samtalehistorikk" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +msgid "Contact" +msgstr "Kontakt" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +msgid "First Name:" +msgstr "Fornavn:" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +msgid "Last Name:" +msgstr "Etternavn:" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +#, fuzzy +msgid "XMPP Address:" +msgstr "AIM-adresse:" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "E-post:" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +msgid "Personal" +msgstr "Personlige" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "_Status" + +#: gajim/data/gui/account_context_menu.ui:20 +msgid "_Personal Events" +msgstr "_Personlige hendelser" + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "_Legg til kontakt…" + +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "_Oppdag tjenester" + +#: gajim/data/gui/account_context_menu.ui:57 +msgid "_Execute Command..." +msgstr "_Kjør kommando…" + +#: gajim/data/gui/account_context_menu.ui:65 +#, fuzzy +msgid "_View Server Info" +msgstr "Tjenerinfo" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:125 +#, fuzzy +msgid "Global Group Chat Search" +msgstr "Ta del i gruppesamtale" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +#, fuzzy +msgid "_Back" +msgstr "Straks tilbake" + +#: gajim/data/gui/start_chat_dialog.ui:386 +#, fuzzy +msgid "Select Account" +msgstr "Fjerner kontoen %s" + +#: gajim/data/gui/start_chat_dialog.ui:477 +#, fuzzy +msgid "_Select" +msgstr "Tøm fil" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +msgid "Configure" +msgstr "_Sett opp" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +msgid "Create new post" +msgstr "Lag en ny post" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "Sta_tus" + +#: gajim/data/gui/systray_context_menu.ui:20 +msgid "_Start Chat..." +msgstr "_Start samtale…" + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "Send enkeltstående _melding…" + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "Vis alle _handlinger på vent" + +#: gajim/data/gui/systray_context_menu.ui:52 +msgid "Mute Sounds" +msgstr "Slå av lyder" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +#, fuzzy +msgid "Contact List" +msgstr "Kontakter" + +#: gajim/data/gui/shortcuts_window.ui:24 +#, fuzzy +msgid "Create new group chat" +msgstr "Forlat gruppesamtaler" + +#: gajim/data/gui/shortcuts_window.ui:45 +msgid "File transfers" +msgstr "Filoverføringer" + +#: gajim/data/gui/shortcuts_window.ui:52 +msgid "Set the status message" +msgstr "Sett statusmelding" + +#: gajim/data/gui/shortcuts_window.ui:59 +#, fuzzy +msgid "Show XML console" +msgstr "Vis _XML-konsoll" + +#: gajim/data/gui/shortcuts_window.ui:74 +msgid "Appearance" +msgstr "Utseende" + +#: gajim/data/gui/shortcuts_window.ui:79 +msgid "Show offline contacts" +msgstr "Vis _frakoblede kontakter" + +#: gajim/data/gui/shortcuts_window.ui:86 +msgid "Show only active contacts" +msgstr "Kun vis aktive kontakter" + +#: gajim/data/gui/shortcuts_window.ui:93 +#, fuzzy +msgid "Enable contact list filtering" +msgstr "Skru på kontaktlistefiltrering" + +#: gajim/data/gui/shortcuts_window.ui:100 +#, fuzzy +msgid "Show / hide contact list" +msgstr "Kun vis aktive kontakter" + +#: gajim/data/gui/shortcuts_window.ui:113 +msgid "Contact information" +msgstr "Kontaktinformasjon" + +#: gajim/data/gui/shortcuts_window.ui:120 +msgid "Rename contact" +msgstr "Gi kontakt nytt navn" + +#: gajim/data/gui/shortcuts_window.ui:127 +msgid "Delete contact" +msgstr "Slett kontakt" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +msgid "Chat" +msgstr "Samtale" + +#: gajim/data/gui/shortcuts_window.ui:142 +msgid "Message composition" +msgstr "Meldingsforfatting" + +#: gajim/data/gui/shortcuts_window.ui:147 +msgid "Send the message" +msgstr "Send meldingen" + +#: gajim/data/gui/shortcuts_window.ui:154 +#, fuzzy +msgid "Add new line" +msgstr "Legg til ny linje" + +#: gajim/data/gui/shortcuts_window.ui:161 +#, fuzzy +msgid "Select an emoji" +msgstr "Velg et humørfjes" + +#: gajim/data/gui/shortcuts_window.ui:168 +#, fuzzy +msgid "Complete a command or a nickname" +msgstr "Fullfør en kommando eller et kallenavn" + +#: gajim/data/gui/shortcuts_window.ui:175 +#, fuzzy +msgid "Previously sent message" +msgstr "Tidligere sendt melding" + +#: gajim/data/gui/shortcuts_window.ui:182 +msgid "Next sent messages" +msgstr "Neste sendte meldinger:" + +#: gajim/data/gui/shortcuts_window.ui:189 +msgid "Quote previous message" +msgstr "Siter forrige melding" + +#: gajim/data/gui/shortcuts_window.ui:196 +msgid "Quote next message" +msgstr "Siter neste melding" + +#: gajim/data/gui/shortcuts_window.ui:203 +msgid "Clear message entry" +msgstr "Tøm meldingsoppføring" + +#: gajim/data/gui/shortcuts_window.ui:211 +msgid "Recent history" +msgstr "Nylig historikk" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "Rull oppover" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "Rull nedover" + +#: gajim/data/gui/shortcuts_window.ui:230 +#, fuzzy +msgid "Clear chat window" +msgstr "Tøm tekstvinduet" + +#: gajim/data/gui/shortcuts_window.ui:237 +#, fuzzy +msgid "Show chat history" +msgstr "Sludrehistorikk" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "Faner" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "Bytt til forrige fane" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "Bytt til neste fane" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "Bytt til første - niende fane" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "Bytt til forrige uleste fane" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "Bytt til neste uleste fane" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:299 +msgid "Close chat" +msgstr "Lukk sludring" + +#: gajim/data/gui/shortcuts_window.ui:312 +#, fuzzy +msgid "Change Nickname" +msgstr "Endre _kallenavn…" + +#: gajim/data/gui/chat_control.ui:48 +#, fuzzy +msgid "Drop files or contacts" +msgstr "Sender fil til en kontakt" + +#: gajim/data/gui/chat_control.ui:80 +msgid "1" +msgstr "1" + +#: gajim/data/gui/chat_control.ui:101 +msgid "2 abc" +msgstr "2 abc" + +#: gajim/data/gui/chat_control.ui:121 +msgid "3 def" +msgstr "3 def" + +#: gajim/data/gui/chat_control.ui:141 +msgid "4 ghi" +msgstr "4 ghi" + +#: gajim/data/gui/chat_control.ui:161 +msgid "5 jkl" +msgstr "5 jkl" + +#: gajim/data/gui/chat_control.ui:181 +msgid "6 mno" +msgstr "6 mno" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "7 pqrs" + +#: gajim/data/gui/chat_control.ui:221 +msgid "8 tuv" +msgstr "8 tuv" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "9 wxyz" + +#: gajim/data/gui/chat_control.ui:261 +msgid "*" +msgstr "*" + +#: gajim/data/gui/chat_control.ui:281 +msgid "0" +msgstr "0" + +#: gajim/data/gui/chat_control.ui:301 +msgid "#" +msgstr "#" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "Start _samtale" + +#: gajim/data/gui/contact_context_menu.ui:28 +msgid "Send _File..." +msgstr "Send _fil…" + +#: gajim/data/gui/contact_context_menu.ui:44 +msgid "Invite _Contacts" +msgstr "Inviter _kontakter" + +#: gajim/data/gui/contact_context_menu.ui:58 +msgid "E_xecute Command..." +msgstr "K_jør kommando…" + +#: gajim/data/gui/contact_context_menu.ui:67 +msgid "M_anage Contact" +msgstr "B_ehandle kontakt" + +#: gajim/data/gui/contact_context_menu.ui:77 +msgid "_Rename..." +msgstr "_Gi nytt navn…" + +#: gajim/data/gui/contact_context_menu.ui:84 +msgid "Edit _Groups..." +msgstr "Endre _grupper…" + +#: gajim/data/gui/contact_context_menu.ui:92 +msgid "Add Special _Notification..." +msgstr "Legg til spesielt _varsel…" + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "_Abonnement" + +#: gajim/data/gui/contact_context_menu.ui:115 +msgid "_Allow contact to see my status" +msgstr "_Tillat kontakt å se min status" + +#: gajim/data/gui/contact_context_menu.ui:123 +msgid "A_sk to see contact status" +msgstr "S_pør om å få se kontaktstatus" + +#: gajim/data/gui/contact_context_menu.ui:131 +msgid "_Forbid contact to see my status" +msgstr "_Forby kontakten fra å se min status" + +#: gajim/data/gui/contact_context_menu.ui:159 +msgid "_Unignore" +msgstr "_Ikke ignorer" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "_Ignorer" + +#: gajim/data/gui/contact_context_menu.ui:174 +#, fuzzy +msgid "_Add to Contact List..." +msgstr "_Legg til kontakt…" + +#: gajim/data/gui/single_message_window.ui:42 +#, fuzzy +msgid "_To" +msgstr "Til" + +#: gajim/data/gui/single_message_window.ui:71 +#, fuzzy +msgid "Su_bject" +msgstr "Tema" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "" + +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "_Melding" + +#: gajim/data/gui/single_message_window.ui:144 +#, fuzzy +msgid "Characters typed: 0" +msgstr "Ulovlig tegn" + +#: gajim/data/gui/single_message_window.ui:189 +#, fuzzy +msgid "_From" +msgstr "Fra" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "Sen_d" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "Send melding" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "_Svar" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "Svar på denne meldingen" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "_Send og lukk" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "Send melding for så å lukke vinduet" + +#: gajim/data/gui/vcard_information_window.ui:106 +#, fuzzy +msgid "Client" +msgstr "Klient:" + +#: gajim/data/gui/vcard_information_window.ui:140 +#, fuzzy +msgid "Contact time" +msgstr "Kontaktnavn" + +#: gajim/data/gui/vcard_information_window.ui:240 +msgid "User avatar" +msgstr "Bruker-avatar" + +#: gajim/data/gui/vcard_information_window.ui:255 +msgid "Configured avatar" +msgstr "Oppsatt avatar" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +#, fuzzy +msgid "Ask" +msgstr "Spør:" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +#, fuzzy +msgid "Subscription" +msgstr "Abonnement:" + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +msgid "Extra Address" +msgstr "Ekstra adresse" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +msgid "Address" +msgstr "Adresse" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +#, fuzzy +msgid "E-Mail" +msgstr "E-post:" + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "Format: ÅÅÅÅ-MM-DD" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +msgid "Family" +msgstr "Etternavn" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +#, fuzzy +msgid "Middle" +msgstr "Mellomnavn:" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +#, fuzzy +msgid "Prefix" +msgstr "Tittel:" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +#, fuzzy +msgid "Given" +msgstr "Fornavn:" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +#, fuzzy +msgid "Suffix" +msgstr "Suffix:" + +#: gajim/data/gui/vcard_information_window.ui:958 +#, fuzzy +msgid "Name Details" +msgstr "Navn:" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "knapp" + +#: gajim/data/gui/vcard_information_window.ui:1017 +msgid "Personal Info" +msgstr "Personalia" + +#: gajim/data/gui/vcard_information_window.ui:1040 +#, fuzzy +msgid "Company" +msgstr "Bedrift:" + +#: gajim/data/gui/vcard_information_window.ui:1073 +msgid "Department" +msgstr "Avdeling" + +#: gajim/data/gui/vcard_information_window.ui:1104 +#, fuzzy +msgid "Position" +msgstr "Plassering:" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "Rolle" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "Om" + +#: gajim/data/gui/vcard_information_window.ui:1514 +msgid "Comments" +msgstr "Kommentarer" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "Rediger grupper" + +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "Passordssetning" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +#, fuzzy +msgid "Themes" +msgstr "Drakt" + +#: gajim/data/gui/themes_window.ui:171 +#, fuzzy +msgid "Add Setting" +msgstr "Sludresnarveier" + +#: gajim/data/gui/themes_window.ui:204 +#, fuzzy +msgid "Add new Theme" +msgstr "Legg til ny linje" + +#: gajim/data/gui/themes_window.ui:219 +#, fuzzy +msgid "Remove Theme" +msgstr "Påslått" + +#: gajim/data/gui/bookmarks.ui:120 +msgid "Autojoin" +msgstr "Bli med automatisk" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "" + +#: gajim/data/gui/preferences.ui:68 +#, fuzzy +msgid "Contact List Appearance" +msgstr "Utveksling av kontaktlisteelement" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +msgid "Chats" +msgstr "Samtaler" + +#: gajim/data/gui/preferences.ui:215 +#, fuzzy +msgid "Visual Notifications" +msgstr "Visuelle merknader" + +#: gajim/data/gui/preferences.ui:243 +#, fuzzy +msgid "Sounds" +msgstr "Lyd" + +#: gajim/data/gui/preferences.ui:303 +#, fuzzy +msgid "Ask For Status Message on…" +msgstr "Spør etter statusmelding når jeg:" + +#: gajim/data/gui/preferences.ui:331 +#, fuzzy +msgid "Automatic Status Change" +msgstr "Automatisk status" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "" + +#: gajim/data/gui/preferences.ui:447 +#, fuzzy +msgid "Status Icon" +msgstr "Standard _miniatyrbildesamling:" + +#: gajim/data/gui/preferences.ui:472 +msgid "Style" +msgstr "Stil" + +#: gajim/data/gui/preferences.ui:511 +#, fuzzy +msgid "Show _Features" +msgstr "Funksjonalitet" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:632 +#, fuzzy +msgid "Audio" +msgstr "Lydtest" + +#: gajim/data/gui/preferences.ui:660 +#, fuzzy +msgid "Video" +msgstr "Videotest" + +#: gajim/data/gui/preferences.ui:698 +#, fuzzy +msgid "Audio/Video" +msgstr "Lyd / Video" + +#: gajim/data/gui/preferences.ui:735 +#, fuzzy +msgid "Miscellaneous" +msgstr "Diverse" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:821 +#, fuzzy +msgid "Advanced Configuration Editor… " +msgstr "Avansert oppsettsbehandlder" + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "" + +#: gajim/data/gui/server_info.ui:50 +msgid "Server Software" +msgstr "Tjenerprogramvare" + +#: gajim/data/gui/server_info.ui:80 +msgid "Server Uptime" +msgstr "Tjeneroppetid" + +#: gajim/data/gui/server_info.ui:109 +#, fuzzy +msgid "Contact Addresses" +msgstr "Kontaktens melding:" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "" + +#: gajim/data/gui/server_info.ui:177 +#, fuzzy +msgid "Proxy Type" +msgstr "Mellomtjener" + +#: gajim/data/gui/server_info.ui:192 +#, fuzzy +msgid "No proxy used" +msgstr "Mellomtjener" + +#: gajim/data/gui/server_info.ui:202 +#, fuzzy +msgid "View _Certificate" +msgstr "Vis sertifikat…" + +#: gajim/data/gui/server_info.ui:222 +#, fuzzy +msgid "Proxy Host" +msgstr "_Vert for mellomtjener:" + +#: gajim/data/gui/server_info.ui:421 +#, fuzzy +msgid "Copy info to clipboard" +msgstr "_Kopier lenke-plassering" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:153 +#, fuzzy +msgid "Serial Number" +msgstr "GG-nummer:" + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:304 +msgid "Expires on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:465 +#, fuzzy +msgid "Copy Certificate Information" +msgstr "Kontaktinformasjon" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "Inviter venner!" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +#, fuzzy +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "" +"Du tar nå del i en gruppesludring.\n" +"Velg kontaktene du ønsker å invitere" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "kolonne" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +#, fuzzy +msgid "Please select a group chat server." +msgstr "Velg en MUC-tjener." + +#: gajim/data/gui/chat_to_muc_window.ui:141 +#, fuzzy +msgid "Group chat server" +msgstr "Gruppesludringsstøtte" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +msgid "In_vite" +msgstr "In_viter" + +#: gajim/data/gui/mam_preferences.ui:53 +#, fuzzy +msgid "_Default" +msgstr "Forvalg" + +#: gajim/data/gui/mam_preferences.ui:136 +#, fuzzy +msgid "Archive" +msgstr "Arkiv tomt" + +#: gajim/data/gui/history_manager.ui:11 +msgid "_Export" +msgstr "_Eksporter" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +msgid "Gajim History Logs Manager" +msgstr "Behandling av logghistorikk i Gajim" + +#: gajim/data/gui/history_manager.ui:104 +#, fuzzy +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" +"Denne logg-behandleren er ikke ment for logg-visning. Dersom du er på utkikk " +"etter slik funksjonalitet må du bruke historikk-vinduet.\n" +"\n" +"Bruk dette programmet til å slette eller eksportere logger. Du kan velge " +"logger fra venstre og/eller søke i databasen nedenfor." + +#: gajim/data/gui/history_manager.ui:120 +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" +"ADVARSEL:\n" +"Dersom du planlegger å slette mye, pass på at Gajim ikke kjører. Generelt " +"bør man unngå å slette fra kontakter du er i samtale med." + +#: gajim/data/gui/history_manager.ui:211 +#, fuzzy +msgid "Search database..." +msgstr "_Søk i databasen" + +#: gajim/data/gui/history_manager.ui:226 +#, fuzzy +msgid "Search in database" +msgstr "_Søk i databasen" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" + +#: gajim/data/gui/groupchat_invite.ui:69 +#, fuzzy +msgid "Invitees" +msgstr "In_viter" + +#: gajim/data/gui/groupchat_invite.ui:153 +#, fuzzy +msgid "Search contacts..." +msgstr "_Søk i databasen" + +#: gajim/data/gui/groupchat_invite.ui:223 +#, fuzzy +msgid "Click on contacts you would like to invite to this group chat." +msgstr "%(jid)s har blitt invitert til dette rommet" + +#: gajim/data/gui/service_discovery_window.ui:148 +#, fuzzy +msgid "Go" +msgstr "G_å" + +#: gajim/data/gui/status_change_window.ui:27 +#, fuzzy +msgid "Change Status" +msgstr "Endre status" + +#: gajim/data/gui/status_change_window.ui:56 +#, fuzzy +msgid "Status Presets…" +msgstr "Statusmelding" + +#: gajim/data/gui/status_change_window.ui:72 +#, fuzzy +msgid "Save this message as a preset" +msgstr "Vis denne hjelpemeldingen og avslutt" + +#: gajim/data/gui/status_change_window.ui:130 +#, fuzzy +msgid "Ac_tivity" +msgstr "Aktivitet" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:278 +#, fuzzy +msgid "_Change Status" +msgstr "Endre status" + +#: gajim/data/gui/status_change_window.ui:313 +#, fuzzy +msgid "Activity" +msgstr "Aktivitet:" + +#: gajim/data/gui/status_change_window.ui:326 +#, fuzzy +msgid "_No Activity" +msgstr "Aktivitet:" + +#: gajim/data/gui/status_change_window.ui:729 +msgid "Mood" +msgstr "Stemning" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +#, fuzzy +msgid "Author" +msgstr "Utviklere:" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +#, fuzzy +msgid "Group Chat Language" +msgstr "Invitasjon til gruppesamtale" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +#, fuzzy +msgid "Copy Address" +msgstr "_Kopier JID/E-postadresse" + +#: gajim/data/gui/emoji_chooser.ui:98 +#, fuzzy +msgid "No Results Found" +msgstr "Inget resultat" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr "XML-konsoll" + +#: gajim/data/gui/xml_console.ui:131 +#, fuzzy +msgid "Start Search..." +msgstr "_Start Samtale..." + +#: gajim/data/gui/xml_console.ui:260 +msgid "Clear" +msgstr "Tøm" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "" + +#: gajim/data/gui/xml_console.ui:316 +msgid "Presets" +msgstr "Forvalg" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "Samkjøring : velg kontakter" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +msgid "Select the contacts you want to synchronise" +msgstr "Velg kontaktene du ønsker å flette" + +#: gajim/data/gui/groupchat_config.ui:51 +#, fuzzy +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" +"Kan være en av følgende:\n" +"1. bruker@domene/ressurs (bare den ressursen samsvarer).\n" +"2. bruker@domene (enhver ressurs samsvarer).\n" +"3. domene/ressurs (bare den ressursen samsvarer).\n" +"4. domene (selve domenet samsvarer, sågar også enhver bruker@domene,\n" +"domene/ressurs, eller adresser som inneholder et underdomene)." + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:309 +#, fuzzy +msgid "Reserved Name" +msgstr "Foretrukket navn" + +#: gajim/data/gui/groupchat_config.ui:346 +#, fuzzy +msgid "Affiliation" +msgstr "Tilhørighet: " + +#: gajim/data/gui/groupchat_config.ui:377 +#, fuzzy +msgid "Affiliations" +msgstr "Tilhørighet: " + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "Grunn" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "Liste over bannlyste" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "_Nekt" + +#: gajim/data/gui/subscription_request_window.ui:34 +#, fuzzy +msgid "_Block User" +msgstr "_Blokker" + +#: gajim/data/gui/subscription_request_window.ui:49 +#, fuzzy +msgid "_Report as Spam" +msgstr "Rapporter feil" + +#: gajim/data/gui/subscription_request_window.ui:212 +#, fuzzy +msgid "_Deny…" +msgstr "_Nekt" + +#: gajim/data/gui/subscription_request_window.ui:225 +#, fuzzy +msgid "Ac_cept" +msgstr "_Godkjenn" + +#: gajim/data/gui/subscription_request_window.ui:230 +#, fuzzy +msgid "Allows the contact to see your online status" +msgstr "_Tillat kontakt å se min status" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:115 +#, fuzzy +msgid "_Report Bug" +msgstr "Rapporter feil" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "Hendelse" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "Velg Lyd" + +#: gajim/data/gui/manage_sounds.ui:97 +#, fuzzy +msgid "Clear Sound" +msgstr "Velg Lyd" + +#: gajim/data/gui/manage_sounds.ui:118 +#, fuzzy +msgid "Play Sound" +msgstr "Spill av _lyder" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +#, fuzzy +msgid "_Send Files" +msgstr "Send _fil" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +msgid "Send" +msgstr "Send" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +#, fuzzy +msgid "Files to send" +msgstr "Velg fil å sende" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +#, fuzzy +msgid "Add Files" +msgstr "Fil: " + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +#, fuzzy +msgid "Remove Files" +msgstr "Fjern" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +msgid "Idle since:" +msgstr "Uvirksom siden:" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +msgid "Mood:" +msgstr "Humør:" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +msgid "Activity:" +msgstr "Aktivitet:" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +msgid "Tune:" +msgstr "Sang:" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +msgid "Location:" +msgstr "Plassering:" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +msgid "Subscription:" +msgstr "Abonnement:" + +#: gajim/data/gui/advanced_configuration.ui:15 +#, fuzzy +msgid "A restart may be required for some settings to take effect" +msgstr "" +"MERK: Du bør starte Gajim på nytt for at noen instillinger skal " +"aktiveres" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "" + +#: gajim/data/gui/advanced_configuration.ui:120 +#, fuzzy +msgid "_Reset Value" +msgstr "_Tilbakestill til forvalg" + +#: gajim/data/gui/advanced_configuration.ui:125 +#, fuzzy +msgid "Resets value to default" +msgstr "_Tilbakestill til forvalg" + +#: gajim/data/gui/history_window.ui:27 +#, fuzzy +msgid "Display status changes" +msgstr "_Vis statusendringer" + +#: gajim/data/gui/history_window.ui:57 +msgid "History Manager" +msgstr "Historikk-behandler" + +#: gajim/data/gui/history_window.ui:233 +#, fuzzy +msgid "Mode" +msgstr "Moderator" + +#: gajim/data/gui/history_window.ui:246 +#, fuzzy +msgid "Search complete history" +msgstr "Nylig historikk" + +#: gajim/data/gui/history_window.ui:263 +#, fuzzy +msgid "Search selected day only" +msgstr "Søker kun innen valgt dag" + +#: gajim/data/gui/history_window.ui:317 +#, fuzzy +msgid "Store history for this chat" +msgstr "Se bort fra denne feilen for dette sertifikatet." + +#: gajim/data/gui/history_window.ui:332 +#, fuzzy +msgid "Store History" +msgstr "Nylig historikk" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +#, fuzzy +msgid "Identified Error" +msgstr "Feil med SSL-sertifikat" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +#, fuzzy +msgid "" +msgstr "feil" + +#: gajim/data/gui/ssl_error_dialog.ui:74 +#, fuzzy +msgid "Add this certificate to the list of _trusted certificates" +msgstr "" +"Legg dette sertifikatet til i listen over tiltrodde leverandører.\n" +"SHA1-fingeravtrykk tilhørende sertifikat:\n" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +#, fuzzy +msgid "_View Certificate" +msgstr "Vis sertifikat…" + +#: gajim/data/gui/ssl_error_dialog.ui:120 +#, fuzzy +msgid "_Connect" +msgstr "Tilkoblet" + +#: data/org.gajim.Gajim.desktop.in:5 +#, fuzzy +msgid "XMPP Chat Client" +msgstr "XMPP-lynmeldingsklient" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:8 +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "sludring;meldingsforsendelse;lynmeldinger;xmpp;bonjour;voip;" + +#: data/org.gajim.Gajim.desktop.in:27 +#, fuzzy +msgid "Show next pending event" +msgstr "Vis alle _handlinger på vent" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:17 +msgid "Features:" +msgstr "Funksjonalitet:" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +#, fuzzy +msgid "Automatic spell-checking for your messages" +msgstr "Stavekontroll av skrevne meldinger." + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +#, fuzzy +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "Link-local (bonjour / zeroconf), BOSH" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +#, fuzzy +msgid "Support for service discovery including nodes and search for users" +msgstr "Tjenesteoppdagelse med noder, brukersøk" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +#, fuzzy +msgid "Even more features via plugins" +msgstr "Andre funksjoner via programtillegg" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +#, fuzzy +msgid "Contact list" +msgstr "Kontakter" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "Fanebasert sludrevindu" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +msgid "Group chat support" +msgstr "Gruppesludringsstøtte" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +msgid "Chat history" +msgstr "Sludrehistorikk" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +msgid "Plugin manager" +msgstr "Programtilleggsbehandler" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +#, fuzzy +msgid "Gajim Team" +msgstr "gajim-remote" + +#, fuzzy +#~ msgid "Chat Settings" +#~ msgstr "Sludresnarveier" + +#, fuzzy, python-format +#~ msgid "%i day" +#~ msgid_plural "%i days" +#~ msgstr[0] "%i dager siden" +#~ msgstr[1] "%i dager siden" + +#~ msgid "Composing only" +#~ msgstr "Bare skrivning" + +#~ msgid "All chat states" +#~ msgstr "Alle samtalestatuser" + +#~ msgid "Privacy Lists" +#~ msgstr "Personvernslister" + +#, fuzzy +#~ msgid "Unblock" +#~ msgstr "_Frigi" + +#, fuzzy +#~ msgid "Block" +#~ msgstr "_Blokker" + +#~ msgid "None" +#~ msgstr "Ingen" + +#, python-format +#~ msgid "%s Status Message" +#~ msgstr "%s Statusmelding" + +#~ msgid "an audio and video" +#~ msgstr "en lyd og video" + +#~ msgid "an audio" +#~ msgstr "en lyd" + +#~ msgid "a video" +#~ msgstr "en video" + +#, fuzzy, python-format +#~ msgid "" +#~ "%(contact)s wants to start a %(type)s chat with you. Do you want to " +#~ "answer the call?" +#~ msgstr "" +#~ "%(contact)s ønsker å starte %(type)s økt med deg. Ønsker du å besvare " +#~ "denne forespørselen?" + +#~ msgid "Could not load image" +#~ msgstr "Kunne ikke laste inn bilde" + +#~ msgid "Error." +#~ msgstr "Feil." + +#, python-format +#~ msgid "%(type)s state : %(state)s, reason: %(reason)s" +#~ msgstr "%(type)s tilstand : %(state)s, grunn: %(reason)s" + +#, fuzzy +#~ msgid "" +#~ "This contact will see you offline and you will not receive any messages " +#~ "sent to you by this contact." +#~ msgstr "" +#~ "Denne kontakten vil se deg som frakoblet og du vil ikke motta meldinger " +#~ "vedkommende sender deg." + +#, fuzzy +#~ msgid "_Block Contact" +#~ msgstr "Blokkerte kontakter" + +#, fuzzy +#~ msgid "Block Group" +#~ msgstr "_Blokker" + +#, fuzzy +#~ msgid "Really block this group?" +#~ msgstr "Er OpenPGP tilgjengelig for denne kontakten?" + +#, fuzzy +#~ msgid "" +#~ "All contacts of this group will see you as offline and you will not " +#~ "receive any messages sent to you by any one of these contacts." +#~ msgstr "" +#~ "Denne kontakten vil se deg som frakoblet og du vil ikke motta meldinger " +#~ "vedkommende sender deg." + +#, fuzzy +#~ msgid "_Block Group" +#~ msgstr "_Blokker" + +#~ msgid "No account available" +#~ msgstr "Ingen konto tilgjengelig" + +#~ msgid "You must create an account before you can chat with other contacts." +#~ msgstr "" +#~ "Du må opprette en konto før du kan føre samtaler med andre kontakter." + +#~ msgid "Metacontacts storage not supported by your server" +#~ msgstr "Du mangler støtte for lagring av metakontakter på tjeneren din" + +#~ msgid "" +#~ "Your server does not support storing metacontacts information. So this " +#~ "information will not be saved on next reconnection." +#~ msgstr "" +#~ "Tjeneren din støtter ikke lagring av metakontaktinformasjon. Denne " +#~ "informasjonen vil ikke være lagret neste gang du kobler til." + +#, python-brace-format +#~ msgid "You are invited to {room} by {user}" +#~ msgstr "Du er invitert {room} av {user}" + +#, python-format +#~ msgid "%s wants to start a voice chat." +#~ msgstr "%s ønsker å starte en lydsamtale." + +#~ msgid "Could not save your settings and preferences" +#~ msgstr "Kunne ikke lagre innstillinger" + +#, fuzzy +#~ msgid "Error While Removing Privacy List" +#~ msgstr "Feil ved fjerning av personvernsliste" + +#, fuzzy, python-format +#~ msgid "" +#~ "Privacy list %s has not been removed. It is probably active in one of " +#~ "your connected resources. Please deactivate it and try again." +#~ msgstr "" +#~ "Personvernslisten %s har ikke blitt fjernet. Den er kanskje i bruk i en " +#~ "av dine tilkoblede ressurser. Skru den av og prøv igjen." + +#, fuzzy +#~ msgid "Invisibility Not Supported" +#~ msgstr "Usynlighet støttes ikke" + +#, fuzzy, python-format +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "%s-kontoen støtter ikke usynlighet." + +#, fuzzy +#~ msgid "Could not request upload slot for HTTP File Upload" +#~ msgstr "Kunne ikke forespørre opplastingsplass" + +#, fuzzy +#~ msgid "Exception raised while trying to open file (see log)." +#~ msgstr "Unntak oppsto under åpning av fil (sjekk loggføring)" + +#, fuzzy +#~ msgid "Not Secure" +#~ msgstr "Ikke startet" + +#, fuzzy +#~ msgid "Could not Upload File" +#~ msgstr "Kunne ikke laste opp fil" + +#, python-format +#~ msgid "HTTP response code from server: %s" +#~ msgstr "HTTP-svarkode fra tjener: %s" + +#~ msgid "Upload Error" +#~ msgstr "Opplastingsfeil" + +#~ msgid "Encryption Error" +#~ msgstr "Krypteringsfeil" + +#~ msgid "Lists all preferences and their values" +#~ msgstr "Lister alle innstillinger og deres verdier" + +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "Setter verdien av 'nøkkel' til 'verdi'." + +#~ msgid "key=value" +#~ msgstr "nøkkel=verdi" + +#~ msgid "'key' is the name of the preference, 'value' is what to set it to" +#~ msgstr "" +#~ "'nøkkel' er navnet på innstillingen, 'verdi' er gjeldende innstilling" + +#~ msgid "Deletes a preference item" +#~ msgstr "Sletter et element fra egenskaper" + +#~ msgid "key" +#~ msgstr "nøkkel" + +#~ msgid "name of the preference to be deleted" +#~ msgstr "navnet på innstillingen som skal slettes" + +#~ msgid "Writes the current state of Gajim preferences to the .config file" +#~ msgstr "Skriver nåværende tilstand for Gajim-egenskaper til .config-fila" + +#, python-format +#~ msgid "%s is a directory but should be a file" +#~ msgstr "%s er en katalog men skulle vært ei fil" + +#, fuzzy, python-format +#~ msgid "Creating %s" +#~ msgstr "Ødelegger %s" + +#, python-format +#~ msgid "%(nickname)s Signed In" +#~ msgstr "%(nickname)s logget inn" + +#~ msgid "Contact Signed In" +#~ msgstr "En kontakt logget inn" + +#, python-format +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "%(nickname)s logget ut" + +#~ msgid "Contact Signed Out" +#~ msgstr "En kontakt logget ut" + +#, fuzzy +#~ msgid "" +#~ "Show desktop notification even when a chat window is opened for this " +#~ "contact and does not have focus." +#~ msgstr "" +#~ "Vis skrivebordsmerknad selv når et sludrevindu åpnes for denne kontakten " +#~ "og ikke har fokus" + +#~ msgid "default" +#~ msgstr "forvalg" + +#, fuzzy +#~ msgid "" +#~ "Character to propose to add after desired nickname when nickname is " +#~ "already used in group chat." +#~ msgstr "" +#~ "Tegnforslag å legge til etter ønsket kallenavn når det ønskede " +#~ "kallenavnet brukes av noen andre i samtalegruppen." + +#, fuzzy +#~ msgid "" +#~ "How many seconds to wait before trying to automatically rejoin a group " +#~ "chat you were disconnected from. Set to 0 to disable automatic rejoining." +#~ msgstr "" +#~ "Hvor mange sekunder skal man vente før automatisk ny tilkobling til en " +#~ "samtale som du har blitt koblet fra forsøkes. Sett til 0 for å skru av " +#~ "automatisk ny tilkobling." + +#, fuzzy +#~ msgid "If enabled, Gajim displays the avatar in the chat window." +#~ msgstr "Hvis usant vil du ikke lenger se avataren i samtalevinduet." + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will show affiliation of group chat participants by " +#~ "adding a colored square to the status icon." +#~ msgstr "" +#~ "Hvis sant vil Gajim vise tilhørighet for deltagere i gruppesamtale ved å " +#~ "legge til en farget firkant i status-miniatyrbildet" + +#, fuzzy +#~ msgid "" +#~ "Status to be used automatically when connecting. Can be 'online', 'chat', " +#~ "'away', 'xa' or 'dnd'. NOTE: This option is used only if " +#~ "'restore_last_status' is disabled." +#~ msgstr "" +#~ "Status man automatisk tilkobles som. Kan være 'pålogget', 'i samtale', " +#~ "'borte', 'lengre tids fravær', 'ikke forstyrr' eller 'usynlig'. MERK: " +#~ "dette valget brukes bare dersom restore_last_status er avskrudd" + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending password on an plaintext connection. " +#~ "Can be 'warn', or 'none'." +#~ msgstr "" +#~ "Vis en advarselsdialog før forsendelse av passord over ukryptert " +#~ "tilkobling. Kan være 'advar', 'koble til' eller 'koble fra'" + +#, fuzzy +#~ msgid "" +#~ "How many seconds to wait for the answer of a ping alive packet before " +#~ "trying to reconnect." +#~ msgstr "" +#~ "Hvor mange sekunder skal det ventes på svar fra livstegns-ping før " +#~ "gjentilkobling?" + +#~ msgid "I'm available." +#~ msgstr "Jeg er tilgjengelig." + +#~ msgid "I'm free for chat." +#~ msgstr "Ledig for prat." + +#~ msgid "Be right back." +#~ msgstr "Snart tilbake." + +#~ msgid "I'm not available." +#~ msgstr "Jeg er ikke tilgjengelig." + +#~ msgid "Do not disturb." +#~ msgstr "Ikke forstyrr." + +#~ msgid "Bye!" +#~ msgstr "Adjø!" + +#~ msgid "Timeout loading image" +#~ msgstr "Tidsavbrudd ved innlasting av bilde" + +#~ msgid "Image is too big" +#~ msgstr "Bildet er for stort" + +#~ msgid "PyCURL is not installed" +#~ msgstr "PyCURL er ikke intallert" + +#~ msgid "Error loading image" +#~ msgstr "Feil ved innlasting av bilde" + +#~ msgid "Blocked Contacts" +#~ msgstr "Blokkerte kontakter" + +#, fuzzy +#~ msgid "Join group chat every time Gajim is started" +#~ msgstr "Ta del i denne gruppesludringen hver gang Gajim startes" + +#, fuzzy +#~ msgid "Group chat" +#~ msgstr "Gruppesamtaler" + +#, fuzzy +#~ msgid "Bookmark group chat" +#~ msgstr "Bokmerk denne gruppesludringen" + +#~ msgid "Bookmark" +#~ msgstr "Bokmerke" + +#, fuzzy +#~ msgid "Recently used group chats" +#~ msgstr "i _gruppesamtaler" + +#, fuzzy +#~ msgid "Search group chats on selected server" +#~ msgstr "Søk i rommene på denne tjeneren" + +#, fuzzy +#~ msgid "Clear Avatar" +#~ msgstr "Bruker avatar:" + +#, fuzzy +#~ msgid "Set Avatar…" +#~ msgstr "Velg arkiv" + +#, fuzzy +#~ msgid "Contact" +#~ msgstr "Kontakttid:" + +#, fuzzy +#~ msgid "_Leave Group Chat" +#~ msgstr "Forlat gruppesamtaler" + +#, fuzzy +#~ msgid "Enter a new name for this group chat" +#~ msgstr "Skriv inn nytt navn på gruppen %s" + +#~ msgid "Use default applications" +#~ msgstr "Alltid bruk forvalgte programmer" + +#~ msgid "Custom" +#~ msgstr "Egendefinert" + +#~ msgid "Pop it up" +#~ msgstr "I oppsprett" + +#~ msgid "Notify me about it" +#~ msgstr "Gi meg beskjed om det" + +#, fuzzy +#~ msgid "Show only in contact list" +#~ msgstr "Kun vis aktive kontakter" + +#, fuzzy +#~ msgid "No status messages" +#~ msgstr "statusmelding" + +#, fuzzy +#~ msgid "All status messages" +#~ msgstr "statusmelding" + +#, fuzzy +#~ msgid "Only enter/leave messages" +#~ msgstr "Du har uleste meldinger" + +#, fuzzy +#~ msgid "Me_rge accounts" +#~ msgstr "Sammenslåin_g av kontoer" + +#, fuzzy +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "Viser a_vatarer for kontakter i kontaktlisten" + +#, fuzzy +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "" +#~ "Dersom valgt vil Gajim vise avatarer for kontakter i kontaktlistevinduet " +#~ "og i gruppesamtaler" + +#, fuzzy +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "Viser status_meldinger for kontakter i kontaktlisten" + +#, fuzzy +#~ msgid "" +#~ "If checked, status messages of contacts will be shown under the contact's " +#~ "name, in the contact list window, and in group chats" +#~ msgstr "" +#~ "Dersom valgt vil Gajim vise statusmelding tilhørende kontakter under " +#~ "kontaktnavnet i kontaktlistevinduet og i gruppesludringer" + +#, fuzzy +#~ msgid "" +#~ "Show e_xtra information of contacts in contact list (mood, activity, ...)" +#~ msgstr "" +#~ "Vis e_kstra informasjon om kontakter i kontaktlista (humør, aktivitet, …)" + +#, fuzzy +#~ msgid "in _contact list" +#~ msgstr "Sendte kontakter:" + +#~ msgid "in _group chats" +#~ msgstr "i _gruppesamtaler" + +#, fuzzy +#~ msgid "Enable spell _checking" +#~ msgstr "Skru på kontaktlistefiltrering" + +#, fuzzy +#~ msgid "" +#~ "If checked, spelling errors in input fields of chat windows will be " +#~ "highlighted. If no language is explicitly set via right click on the " +#~ "input field, the default language will be used for this contact or group " +#~ "chat. Needs gspell to be installed." +#~ msgstr "" +#~ "Dersom valgt vil Gajim utheve skrivefeil i skrivefeltet i samtalevinduer. " +#~ "Dersom språk ikke er valgt ved høyreklikking i feltet, vil forvalgt " +#~ "språkvalg brukes for denne kontakten, eller gruppesamtalen." + +#, fuzzy +#~ msgid "Display status messages in _single chats" +#~ msgstr "Viser status_meldinger for kontakter i kontaktlisten" + +#, fuzzy +#~ msgid "" +#~ "If checked, status lines will be shown in 1 on 1 chats when a contact " +#~ "changes their status or status message" +#~ msgstr "" +#~ "Hvis usant vil du ikke lenger kunne se statuslinjer i samtaler når en " +#~ "kontakt endrer status og/eller statusmelding." + +#, fuzzy +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "Kunne ikke ta del i gruppesamtale" + +#, fuzzy +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "Kunne ikke ta del i gruppesamtale" + +#, fuzzy +#~ msgid "Show status changes (Default)" +#~ msgstr "_Vis statusendringer" + +#, fuzzy +#~ msgid "" +#~ "If checked, the tab will be colored according to the current chatstate of " +#~ "the contact" +#~ msgstr "" +#~ "Hvis avkrysset vil Gajim tillate at andre ser hvilket operativsystem du " +#~ "bruker" + +#, fuzzy +#~ msgid "" +#~ "If checked, a description of the contacts current chatstate is shown in " +#~ "the banner" +#~ msgstr "" +#~ "Hvis avkrysset vil Gajim tillate at andre ser hvilket operativsystem du " +#~ "bruker" + +#, fuzzy +#~ msgid "Chatstate" +#~ msgstr "Siste tilstand" + +#, fuzzy +#~ msgid "_When new event is received" +#~ msgstr "Ved mottak av ny hendelse:" + +#, fuzzy +#~ msgid "Show popups/notifications when a chat window is already _open" +#~ msgstr "Tillat oppsprett/merknader når et sludrevindu åpnes" + +#, fuzzy +#~ msgid "Allow popups/notifications when I'm _away, not available or busy" +#~ msgstr "" +#~ "Tillat oppspretts/merknader når jeg er _borte/ikke tilgjengelig/opptatt/" +#~ "usynlig" + +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "Varsle meg om kontakter som logger _inn" + +#, fuzzy +#~ msgid "" +#~ "A popup window about contacts that just signed in will be shown in the " +#~ "bottom right of the screen " +#~ msgstr "" +#~ "Gajim vil alarmere deg med sprett-opp vindu i bunnen til høyre på skjermen" + +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "Varsle meg om kontakter som logger _ut" + +#~ msgid "Play _sounds" +#~ msgstr "Spill av _lyder" + +#~ msgid "Ma_nage..." +#~ msgstr "Be_handle…" + +#, fuzzy +#~ msgid "Allow playing sounds when I'm _busy" +#~ msgstr "Tillat lyd når jeg er _opptatt" + +#, fuzzy +#~ msgid "No_t Available" +#~ msgstr "Ikke tilgjengelig" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Not Available when the computer " +#~ "has not been used for the specified time" +#~ msgstr "" +#~ "Dersom valgt vil Gajim endre status til Ikke Tilgjengelig når maskinen " +#~ "ikke har vert i bruk enda lenger" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Away when the computer has not " +#~ "been used for the specified time" +#~ msgstr "" +#~ "Dersom valgt vil Gajim endre status til Ikke Tilgjengelig når maskinen " +#~ "ikke har vert i bruk enda lenger" + +#, fuzzy +#~ msgid "" +#~ "The automatic away status message. If empty, the current status message " +#~ "will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-away timeout." +#~ msgstr "" +#~ "'Automatisk borte'-statusmelding. Dersom tom vil Gajim ikke endre " +#~ "gjeldende statusmelding\n" +#~ "$S byttes ut av tidligere brukt statusmelding\n" +#~ "$T byttest ut av 'Automatisk-borte'-tidsavbrudd" + +#, fuzzy +#~ msgid "" +#~ "The automatic not available status message. If empty, the current status " +#~ "message will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-not-available timeout." +#~ msgstr "" +#~ "Automatisk 'Ikke tilgjengelig'-melding. Dersom tom vil Gajim ikke endre " +#~ "gjeldende statusmelding\n" +#~ "$S vil byttes ut av forrige status melding\n" +#~ "$T vil byttes ut av automatisk 'Ikke-tilgjengelig'-tidsavbrudd" + +#, fuzzy +#~ msgid "Minutes" +#~ msgstr "minutter" + +#~ msgid "" +#~ "If enabled, Gajim will not ask for a status message. The specified " +#~ "default message will be used instead." +#~ msgstr "" +#~ "Dersom valgt vil Gajim ikke spørre etter statusmelding. Oppgitt forvalg " +#~ "for meldingen vil benyttes i steden for." + +#~ msgid "Default Message" +#~ msgstr "Forvalgt melding" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "Statusmelding" + +#, fuzzy +#~ msgid "Preset Status Messages" +#~ msgstr "Forvalgt statusmelding" + +#, fuzzy +#~ msgid "_Theme" +#~ msgstr "Drakt" + +#~ msgid "Configure color and font of the interface" +#~ msgstr "Sett opp farge og skrift for grensesnittet" + +#, fuzzy +#~ msgid "" +#~ "If checked, protocol-specific status icons will be used (e.g. a contact " +#~ "from ICQ will have the equivalent ICQ icon for status online, away, busy, " +#~ "etc...)" +#~ msgstr "" +#~ "Dersom valgt vil Gajim bruke protkoll-spesifikke ikoner. (En kontakt fra " +#~ "ICQ vil ha tilsvarende ICQ-ikon for pålogget stastus, borte, opptatt, " +#~ "osv…)" + +#, fuzzy +#~ msgid "Video output" +#~ msgstr "videoutdata" + +#, fuzzy +#~ msgid "Video si_ze" +#~ msgstr "Videostørrelse" + +#, fuzzy +#~ msgid "Vi_ew own video source" +#~ msgstr "Vis egen videokilde" + +#, fuzzy +#~ msgid "" +#~ "STUN server hostname. If no hostname was given, Gajim will try\n" +#~ "to discover one from the server. (Example: stun.iptel.org)" +#~ msgstr "" +#~ "STUN-tjenerens vertsnavn. Hvis ikke noe er oppgitt, vil Gajim\n" +#~ "prøve å lete opp ett fra tjeneren." + +#~ msgid "_Manage..." +#~ msgstr "_Behandle…" + +#, fuzzy +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "_Loggfør statusendringer tilhørende kontakter" + +#, fuzzy +#~ msgid "Enable _debug logging (restart required)" +#~ msgstr "Skru på kontaktlistefiltrering" + +#, fuzzy +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "Dersom valgt vil Gajim huske passordet for kontoen" + +#~ msgid "_Open..." +#~ msgstr "_Åpne…" + +#, fuzzy +#~ msgid "_Filter" +#~ msgstr "_Filter:" + +#, fuzzy +#~ msgid "Protocol" +#~ msgstr "_Protokoll:" + +#~ msgid "Privacy Lists:" +#~ msgstr "Personverns-lister:" + +#, fuzzy +#~ msgid "_Ignore this error for this certificate" +#~ msgstr "Se bort fra denne feilen for dette sertifikatet." + +#, fuzzy +#~ msgid "Message..." +#~ msgstr "Melding" + +#, fuzzy +#~ msgid "_Message if you decline (optional)" +#~ msgstr "Grunn (hvis du avslår)" + +#, fuzzy +#~ msgid "Preset _messages" +#~ msgstr "Forvalgte meldinger:" + +#, fuzzy +#~ msgid "_Type your new status message" +#~ msgstr "Skriv inn din nye statusmelding:" + +#~ msgid "Incoming call" +#~ msgstr "Innkommende samtale" + +#~ msgid "Change Status Message…" +#~ msgstr "Endre statusmelding…" + +#~ msgid "Mood:" +#~ msgstr "Humør:" + +#~ msgid "Message:" +#~ msgstr "Melding:" + +#~ msgid "none" +#~ msgstr "ingen" + +#~ msgid "both" +#~ msgstr "begge" + +#~ msgid "from" +#~ msgstr "fra" + +#~ msgid "to" +#~ msgstr "til" + +#~ msgid "Privacy List" +#~ msgstr "Personverns-liste" + +#~ msgid "Privacy List" +#~ msgstr "Personverns-liste" + +#~ msgid "Active for this session" +#~ msgstr "I bruk for denne økta" + +#~ msgid "Active on each startup" +#~ msgstr "I bruk ved hver oppstart" + +#~ msgid "List of rules" +#~ msgstr "Regelliste" + +#~ msgid "Add / Edit a rule" +#~ msgstr "Legg til / endre regel" + +#~ msgid "Allow" +#~ msgstr "Tillat" + +#~ msgid "Deny" +#~ msgstr "Nekt" + +#~ msgid "all in the group" +#~ msgstr "alle i gruppen" + +#~ msgid "all by subscription" +#~ msgstr "alle etter abonnement" + +#~ msgid "All" +#~ msgstr "Alle" + +#~ msgid "to send me messages" +#~ msgstr "å sende meg meldinger" + +#~ msgid "to send me queries" +#~ msgstr "å sende meg forespørsler" + +#~ msgid "to view my status" +#~ msgstr "å se min status" + +#~ msgid "to send me status" +#~ msgstr "å sende meg status" + +#~ msgid "All (including subscription)" +#~ msgstr "Alle (inkludert abonnement)" + +#~ msgid "Order:" +#~ msgstr "Rekkefølge:" + +#, fuzzy +#~ msgid "" +#~ "Deny authorization from contact so the contact cannot know if you are " +#~ "connected" +#~ msgstr "" +#~ "Avslå godkjenning fra kontakt slik at vedkommende ikke kan se når du er " +#~ "tilkoblet" + +#, fuzzy +#~ msgid "Authorize contact so the contact can know if you are connected" +#~ msgstr "Godkjenn kontakt slik at vedkommende kan vite når du er tilkoblet" + +#~ msgid "Chat Shortcuts" +#~ msgstr "Sludresnarveier" + +#, fuzzy +#~ msgid "Contact List Shortcuts" +#~ msgstr "Sludresnarveier" + +#~ msgid "Fill in the form." +#~ msgstr "Fyll inn skjemaet." + +#~ msgid "Set an activity" +#~ msgstr "Sett en aktivitet" + +#~ msgid "Message: " +#~ msgstr "Melding: " + +#, python-format +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "Inviterte %(jid)s til %(room_jid)s" + +#, fuzzy +#~ msgid "Group Chat Invitation " +#~ msgstr "Invitasjon til gruppesamtale" + +#, python-format +#~ msgid "Comment: %s" +#~ msgstr "Kommentar: %s" + +#~ msgid "On" +#~ msgstr "På" + +#~ msgid "Off" +#~ msgstr "Av" + +#~ msgid "Retrieving profile…" +#~ msgstr "Henter profil…" + +#~ msgid "Wrong date format" +#~ msgstr "Feil datoformat" + +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "Datoformatet må være YYYY-MM-DD" + +#~ msgid "Information received" +#~ msgstr "Informasjon mottatt" + +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "" +#~ "Uten en tilkobling, kan du ikke offentliggjøre din kontaktinformasjon." + +#~ msgid "Sending profile…" +#~ msgstr "Sender profil…" + +#~ msgid "Information NOT published" +#~ msgstr "Informasjon IKKE offentliggjort" + +#~ msgid "vCard publication failed" +#~ msgstr "vCard-publisering mislyktes" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "Feil under publisering av personlig informasjon, prøv igjen senere." + +#, fuzzy +#~ msgid "?password:Hidden" +#~ msgstr "Passord:" + +#, python-format +#~ msgid "Privacy List %s" +#~ msgstr "Personvernsliste %s" + +#, python-format +#~ msgid "Privacy List for %s" +#~ msgstr "Personvernsliste for %s" + +#, python-format +#~ msgid "" +#~ "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" +#~ msgstr "" +#~ "Rekkefølge: %(order)s, handling: %(action)s, type: %(type)s, verdi: " +#~ "%(value)s" + +#, python-format +#~ msgid "Order: %(order)s, action: %(action)s" +#~ msgstr "Rekkefølge: %(order)s, handling: %(action)s" + +#~ msgid "Edit a rule" +#~ msgstr "Endre en regel" + +#~ msgid "Add a rule" +#~ msgstr "Legg til regel" + +#, python-format +#~ msgid "Privacy Lists for %s" +#~ msgstr "Personvernslister tilhørende %s" + +#~ msgid "Invalid List Name" +#~ msgstr "Listenavnet er ugyldig" + +#~ msgid "You must enter a name to create a privacy list." +#~ msgstr "Du må skrive inn et navn for å lage en personvernsliste." + +#~ msgid "Loading" +#~ msgstr "Laster" + +#~ msgid "status message title" +#~ msgstr "status-meldingstittel" + +#~ msgid "status message text" +#~ msgstr "statusmeldings-tekst" + +#, fuzzy +#~ msgid "Start New Conversation" +#~ msgstr "Start ny samtale" + +#~ msgid "Unknown SSL error: %d" +#~ msgstr "Ukjent SSL-feil: %d" + +#~ msgid "Gajim - %s" +#~ msgstr "Gajim - %s" + +#, fuzzy +#~ msgid "" +#~ "Requires: libsecret and a provider (such as GNOME Keyring and " +#~ "KSecretService)" +#~ msgstr "" +#~ "Krever libsecret og en tilbyder (som GNOME-nøkkelringen og " +#~ "KSecretService)." + +#~ msgid "Choose interval between 2 checks of idleness." +#~ msgstr "Velg intervall mellom to uvirksomhetssjekker." + +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "Ordliste for språket \"%s\" er ikke tilgjengelig" + +#~ msgid "" +#~ "You have to install the dictionary \"%s\" to use spellchecking, or choose " +#~ "another language by setting the speller_language option.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "Du må installere '%s'-ordbok for å bruke stavekontroll, eller velge et " +#~ "annet språk ved å sette speller_language -valget.\n" +#~ "\n" +#~ "Funksjonen for utheving av feilstavede ord vil ikke bli brukt" + +#~ msgid "_Reconnect" +#~ msgstr "_Koble til på ny" + +#~ msgid "Quit" +#~ msgstr "Avslutt" + +#, fuzzy +#~ msgid "Show Contact List" +#~ msgstr "Vis aktive kontakter" + +#, fuzzy +#~ msgid "Add to Contact List" +#~ msgstr "Legg til kontakt…" + +#, fuzzy +#~ msgid "Invite Contact" +#~ msgstr "Inviter _kontakter" + +#, fuzzy +#~ msgid "Configure Group Chat" +#~ msgstr "Forlat gruppesamtaler" + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." +#~ msgstr "" +#~ "Hvis sant vil Gajim vise et miniatyrbilde på hver fane som inneholder " +#~ "uleste meldinger. Avhengig av valgt tema kan dette være animert." + +#, fuzzy +#~ msgid "Show a mini avatar in chat window tabs and as the window's icon." +#~ msgstr "Vis en miniavatar i sludrevindusfaner og i vindusikonet" + +#, fuzzy +#~ msgid "Show _avatar in chat tabs" +#~ msgstr "Vis avatar i sludrefaner" + +#~ msgid "Server must be between 1 and 1023 bytes" +#~ msgstr "Tjeneren må være mellom 1 og 1023 byte" + +#~ msgid "Invalid character in hostname." +#~ msgstr "Ugyldig tegn i vertsnavn." + +#~ msgid "Server address required." +#~ msgstr "Tjener-adresse kreves." + +#~ msgid "Username must be between 1 and 1023 bytes" +#~ msgstr "Brukernavnet må være mellom 1 og 1023 byte" + +#~ msgid "Invalid character in username." +#~ msgstr "Ugyldig tegn i brukernavn." + +#~ msgid "Resource must be between 1 and 1023 bytes" +#~ msgstr "Ressursen må være mellom 1 og 1023 byte" + +#~ msgid "Invalid character in resource." +#~ msgstr "Ugyldig tegn i ressurs." + +#, fuzzy +#~ msgid "Notification color for contacts signing in." +#~ msgstr "Varsle meg om kontakter som logger _inn" + +#, fuzzy +#~ msgid "Notification color for contacts signing out." +#~ msgstr "Varsle meg om kontakter som logger _ut" + +#, fuzzy +#~ msgid "Notification color for new message notification." +#~ msgstr "Ny meldingsmerknadsfarge." + +#, fuzzy +#~ msgid "Notification color for file transfer request." +#~ msgstr "_Gi meg beskjed når ei filoverføring er fullført" + +#, fuzzy +#~ msgid "Notification color for file transfer errors." +#~ msgstr "_Gi meg beskjed når ei filoverføring er fullført" + +#, fuzzy +#~ msgid "Notification background color for changed status." +#~ msgstr "Bakgrunnsfargen for kontakter når de akkurat har logget på" + +#~ msgid "Event Type" +#~ msgstr "Hendelsestype" + +#~ msgid "Event desc" +#~ msgstr "Hendelsesbeskrivelse" + +#, fuzzy +#~ msgid "HTTP File Upload: Enable HTTPS Verification." +#~ msgstr "HTTP-opplasting: Skru på HTTPS-bekrefting" + +#, fuzzy +#~ msgid "No response from the Server" +#~ msgstr "Fikk ikke noe svar fra tjeneren" + +#~ msgid "Resource Conflict" +#~ msgstr "Ressurskonflikt" + +#, fuzzy +#~ msgid "" +#~ "You are already connected to this account with the same resource. Please " +#~ "enter a different one." +#~ msgstr "" +#~ "Du er allerede tilkoblet denne kontoen med samme ressurs. Skriv in en ny " +#~ "en" + +#~ msgid "Unable to load image" +#~ msgstr "Bilde kunne ikke lastes inn" + +#~ msgid "Media type not supported: %s" +#~ msgstr "Mediatypen støttes ikke: %s" + +#~ msgid "This field is required" +#~ msgstr "Dette feltet er påkrevd" + +#~ msgid "new@jabber.id" +#~ msgstr "ny@jabber.id" + +#~ msgid "new%d@jabber.id" +#~ msgstr "ny%d@jabber.id" + +#~ msgid "video output" +#~ msgstr "videoutdata" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Gajim: Veiviser for konto-opprettelse" + +#, fuzzy +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "En konto kreves for tilkobling\n" +#~ "til XMPP-nettverket." + +#~ msgid "I already have an account I want to _use" +#~ msgstr "Jeg har allerede en konto jeg ønsker å _bruke" + +#~ msgid "I want to _register for a new account" +#~ msgstr "Jeg ønsker å _registrere en ny konto" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "Velg én av delene nedenfor:" + +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "Fyll in detaljer for eksisterende konto" + +#, fuzzy +#~ msgid "_XMPP Address:" +#~ msgstr "AIM-adresse:" + +#~ msgid "Anon_ymous authentication" +#~ msgstr "Anon_ym identitetsbekreftelse" + +#~ msgid "_Password:" +#~ msgstr "_Passord:" + +#~ msgid "Save pass_word" +#~ msgstr "Lagre pass_ord" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "Dersom valgt vil Gajim huske passordet for kontoen" + +#~ msgid "Please select a server" +#~ msgstr "Velg en tjener" + +#~ msgid "_Server:" +#~ msgstr "_Tjener:" + +#~ msgid "Manage..." +#~ msgstr "Behandle…" + +#~ msgid "_Port:" +#~ msgstr "_Port:" + +#~ msgid "_Advanced" +#~ msgstr "_Avansert" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA1 fingerprint of the certificate:\n" +#~ msgstr "" +#~ "Legg dette sertifikatet til i listen over tiltrodde leverandører.\n" +#~ "SHA1-fingeravtrykk tilhørende sertifikat:\n" + +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "Kobler til tjener\n" +#~ "\n" +#~ "Vent…" + +#~ msgid "Connect when I press Finish" +#~ msgstr "Koble til når jeg klikker Ferdig" + +#~ msgid "Set my profile when I connect" +#~ msgstr "Klargjør profilen min når jeg kobler til" + +#~ msgid "_Finish" +#~ msgstr "_Avslutt" + +#~ msgid "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." +#~ msgstr "" +#~ "Du kan gjøre avanserte kontoinstillinger ved å trykke på Avansert-" +#~ "knappen, eller senere ved å klikke under Kontoer-menyvalget, under " +#~ "Rediger-menyen fra hovedvinduet." + +#~ msgid "Your new account has been created successfully" +#~ msgstr "Din nye konto har blitt opprettet uten feilmeldinger" + +#~ msgid "Invalid username" +#~ msgstr "Ugyldig brukernavn" + +#~ msgid "You must provide a username to configure this account." +#~ msgstr "Du må oppgi et brukernavn for å sette opp denne kontoen." + +#~ msgid "Invalid server" +#~ msgstr "Ugyldig tjener" + +#~ msgid "Please provide a server on which you want to register." +#~ msgstr "Oppgi tjeneren du ønsker å registrere deg på." + +#~ msgid "Invalid entry" +#~ msgstr "Ugyldig oppføring" + +#~ msgid "Certificate Already in File" +#~ msgstr "Sertifikatet finnes allerede i fila" + +#~ msgid "This certificate is already in file %s, so it's not added again." +#~ msgstr "" +#~ "Dette sertifikatet er allerede i fila %s, så det legges ikke til igjen." + +#~ msgid "" +#~ "Security Warning\n" +#~ "\n" +#~ "The authenticity of the %(hostname)s SSL certificate could be invalid.\n" +#~ "SSL Error: %(error)s\n" +#~ "Do you still want to connect to this server?" +#~ msgstr "" +#~ "Sikkerehetsadvarsel\n" +#~ "\n" +#~ "Gyldigheten til %(hostname)s SSL-sertifkat kan være ugyldig.\n" +#~ "SSL-feil: %(error)s\n" +#~ "Ønsker du fortsatt å koble til denne tjeneren?" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA-256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Legg til dette sertifikatet i listen over tiltrodde sertifikater.\n" +#~ "SHA-1 -fingeravtrykk av sertifikatet:\n" +#~ "%(sha1)s\n" +#~ "SHA-256 -fingeravtrykk av sertifikatet:\n" +#~ "%(sha256)s" + +#~ msgid "Account name is in use" +#~ msgstr "Kontonavnet er i bruk" + +#~ msgid "You already have an account using this name." +#~ msgstr "Du har allerede en konto med dette navnet." + +#, fuzzy +#~ msgid "Allow plaintext connections." +#~ msgstr "Tillat klarteksttilkoblinger" + +#, fuzzy +#~ msgid "" +#~ "List of authentication mechanisms to try (space separated). Can contain " +#~ "'ANONYMOUS', 'EXTERNAL', 'GSSAPI', 'SCRAM-SHA-1-PLUS', 'SCRAM-SHA-1', " +#~ "'DIGEST-MD5', 'PLAIN', 'X-MESSENGER-OAUTH2' or 'XEP-0078'." +#~ msgstr "" +#~ "Mellomromsinndelt liste over godkjennelsesmekanismer å prøve. Kan " +#~ "inneholde ANONYMOUS, EXTERNAL, GSSAPI, SCRAM-SHA-1-PLUS, SCRAM-SHA-1, " +#~ "DIGEST-MD5, PLAIN, X-MESSENGER-OAUTH2 eller XEP-0078" + +#~ msgid "Show a warning dialog before using standard SSL library." +#~ msgstr "Vis en advarselsdialog før bruk av standard SSL-bibliotek." + +#, fuzzy +#~ msgid "If enabled, a whitespace is sent after inactivity (keep alive)." +#~ msgstr "Mellomrom sendt etter inaktivitet" + +#, fuzzy +#~ msgid "If enabled, an XMPP ping is sent after inactivity (ping alive)." +#~ msgstr "XMPP-ping sendt etter inaktivitet" + +#~ msgid "Connection with account \"%s\" has been lost" +#~ msgstr "Tilkobling til konto \"%s\" gikk tapt" + +#~ msgid "Reconnect manually." +#~ msgstr "Koble til igjen manuelt." + +#~ msgid "Server %(name)s answered wrongly to register request: %(error)s" +#~ msgstr "" +#~ "Tjeneren %(name)s svarte feil på registreringsforespørselen: %(error)s" + +#~ msgid "Server %s provided a different registration form" +#~ msgstr "Tjeneren %s oppga et annet registreringsskjema" + +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "Kunne ikke koble til \"%(host)s\" via mellomtjeneren \"%(proxy)s\"" + +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "Kunne ikke koble til \"%(host)s\"" + +#~ msgid "Check your connection or try again later." +#~ msgstr "Sjekk nettverkstilkoblingen eller prøv igjen senere." + +#~ msgid "Server replied: %s" +#~ msgstr "Tjeneren svarte: %s" + +#~ msgid "Connection to proxy failed" +#~ msgstr "Tilkobling til mellomtjener feilet" + +#~ msgid "Could not connect to account %s" +#~ msgstr "Kunne ikke koble til kontoen %s" + +#~ msgid "Connection with account %s has been lost. Retry connecting." +#~ msgstr "Tilkobling til konto %s gikk tapt. Prøv å koble til igjen." + +#~ msgid "Please check your login and password for correctness." +#~ msgstr "Sjekk at brukernavn og passord er korrekt." + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "HTTP-tilkobling" + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "BOSH" +#~ msgstr "BOSH" + +#~ msgid "Use HTTP prox_y" +#~ msgstr "Bruk HTTP-mellomtjene_r" + +#, fuzzy +#~ msgid "_BOSH URL" +#~ msgstr "_BOSH-nettadresse:" + +#, fuzzy +#~ msgid "BOSH" +#~ msgstr "BOSH" + +#~ msgid "Warn on insecure connection" +#~ msgstr "Advar ved usikker tilknytning" + +#, fuzzy +#~ msgid "Contact list, list of contacts" +#~ msgstr "Kontaktliste, liste over kontakter" + +#~ msgid "You are participating in one or more group chats" +#~ msgstr "Du deltar i én eller flere gruppesamtaler" + +#, fuzzy +#~ msgid "" +#~ "Changing your status to invisible will result in you leaving those group " +#~ "chats.\n" +#~ "Are you sure you want to go invisible?" +#~ msgstr "" +#~ "Endring av status til usynlig vil medføre frakobling fra de " +#~ "gruppesamtalene. Er du sikker på at du vil bli usynlig?" + +#~ msgid "_Disconnect" +#~ msgstr "_Koble fra" + +#~ msgid "You cannot join a group chat while you are invisible" +#~ msgstr "Du kan ikke ta del i en gruppesamtale når du er usynlig" + +#~ msgid "Invisible" +#~ msgstr "Usynlig" + +#, fuzzy +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "Du kan ikke ta del i en gruppesamtale når du er usynlig" + +#~ msgid "_Invisible" +#~ msgstr "_Usynlig" + +#~ msgid "Yesterday" +#~ msgid_plural "%(nb_days)i days ago" +#~ msgstr[0] "I går" +#~ msgstr[1] "%(nb_days)i dager siden" + +#, fuzzy +#~ msgid "_Cancel Upload" +#~ msgstr "_Avbryt" + +#, fuzzy +#~ msgid "Got unexpected response from server (see log)." +#~ msgstr "Uventet svar fra tjener mottatt (sjekk loggføring)" + +#~ msgid " [blocked]" +#~ msgstr " [blokkert]" + +#~ msgid " [minimized]" +#~ msgstr " [minimert]" + +#, fuzzy +#~ msgid "" +#~ "If you close this tab while having chat history disabled, this message " +#~ "will be lost." +#~ msgstr "" +#~ "Dersom du lukker vinduet og du har slått av historikk, vil meldingen gå " +#~ "tapt." + +#, fuzzy +#~ msgid "Unregister Failed" +#~ msgstr "Avregistrering feilet" + +#, fuzzy +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "Avregistrering med tjeneren %(server)s feilet: %(error)s" + +#, fuzzy +#~ msgid "New Password" +#~ msgstr "Lagre passord" + +#~ msgid "What do you want to do?" +#~ msgstr "Hva ønsker du å gjøre?" + +#~ msgid "Remove account from Gajim and from _server" +#~ msgstr "Fjern konto fra Gajim og fra _tjeneren" + +#, fuzzy +#~ msgid "You must enter a password" +#~ msgstr "Du må skrive inn et passord." + +#, fuzzy +#~ msgid "You still have open chats in your account %s" +#~ msgstr "Du har åpne samtaler på %s-kontoen" + +#, fuzzy +#~ msgid "To unregister from a server, the account must be enabled." +#~ msgstr "For å avregistrere fra en tjener, må kontoen være påskrudd" + +#, fuzzy +#~ msgid "Password required" +#~ msgstr "Passord påkrevd" + +#, fuzzy +#~ msgid "Still connected to the server" +#~ msgstr "Du er ikke tilkoblet tjeneren" + +#, fuzzy +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "Dersom du fjerner den vil tilkoblingen feile." + +#~ msgid "Connection to server %s failed" +#~ msgstr "Tilkobling til tjeneren %s feilet" + +#~ msgid "What would you like to do?" +#~ msgstr "Hva ønsker du å gjøre?" + +#~ msgid "Remove only from Gajim" +#~ msgstr "Bare fjern fra Gajim" + +#~ msgid "Don't remove anything. I'll try again later" +#~ msgstr "Ikke fjern noe. Jeg vil prøve igjen senere" + +#~ msgid "Contents" +#~ msgstr "Innhold" + +#~ msgid "FAQ" +#~ msgstr "O-S-S" + +#~ msgid "Save as Preset Status Message" +#~ msgstr "Lagre som forvalgt statusmelding" + +#~ msgid "Enter a new nickname for contact %s" +#~ msgstr "Skriv inn kallenavn for kontakten %s" + +#~ msgid "Join a group chat" +#~ msgstr "Ta del i gruppesamtale" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "_Godkjenn" + +#~ msgid "New entry received" +#~ msgstr "Ny hendelse mottatt" + +#~ msgid "You have received new entry:" +#~ msgstr "Du har mottatt en ny oppføring:" + +#~ msgid "Feed name:" +#~ msgstr "Informasjonskildens navn:" + +#~ msgid "Last modified:" +#~ msgstr "Sist endret:" + +#~ msgid "Next entry" +#~ msgstr "Neste oppføring" + +#, fuzzy +#~ msgid "Send file?" +#~ msgstr "Send _fil" + +#, fuzzy +#~ msgid "Mail _client" +#~ msgstr "_E-post-klient:" + +#, fuzzy +#~ msgid "_Browser" +#~ msgstr "_Nettleser:" + +#, fuzzy +#~ msgid "_File manager" +#~ msgstr "_Filbehandler:" + +#, fuzzy +#~ msgid "Custom applications" +#~ msgstr "Alltid bruk forvalgte programmer" + +#, fuzzy +#~ msgid "Applications" +#~ msgstr "Programmer" + +#, fuzzy +#~ msgid "" +#~ "Uses ReStructured text markup to send HTML, plus ASCII formatting if " +#~ "selected. Needs docutils installed (for syntax, see http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Bruker ReStrukturert tekstoppmerking for å sende HTML, samt ASCII-" +#~ "formatering, dersom valgt. For syntaks, se http://docutils.sourceforge." +#~ "net/docs/ref/rst/restructuredtext.html (Dersom du ønsker å bruke dette, " +#~ "må du installere docutils)" + +#, fuzzy +#~ msgid "Store XHTML messages in chat history instead of plain text messages." +#~ msgstr "Loggfør XHTML-meldinger isteden for klartekst-meldinger." + +#, fuzzy +#~ msgid "_Ignore formatting of incoming messages" +#~ msgstr "_Ignorer rikt tekstinnhold i innkommende meldinger" + +#, fuzzy +#~ msgid "" +#~ "Some messages may include rich content (xhtml formatting, colors etc). If " +#~ "checked, Gajim will just display the plain message text." +#~ msgstr "" +#~ "Noen meldinger kan inkludere rikt innhold (formatering, farger osv). " +#~ "Dersom valgt vil Gajim kun vise rå meldingstekst." + +#, fuzzy +#~ msgid "RST XHTML Generator" +#~ msgstr "RST-generator" + +#, fuzzy +#~ msgid "Requires: python-docutils" +#~ msgstr "Krever python-docutils." + +#~ msgid "New Single Message" +#~ msgstr "Ny enkeltstående melding" + +#, fuzzy +#~ msgid "" +#~ "Can be empty, 'chat' or 'normal'. If not empty, all incoming messages are " +#~ "treated as if they were of this type." +#~ msgstr "" +#~ "Kan være tom, 'samtale' eller 'normal'. Dersom den ikke er tom, behandles " +#~ "alle innkommende meldinger som om de var av denne typen." + +#~ msgid "Error %(code)s: %(msg)s" +#~ msgstr "Feil %(code)s: %(msg)s" + +#~ msgid "twelve" +#~ msgstr "tolv" + +#~ msgid "one" +#~ msgstr "ett" + +#~ msgid "two" +#~ msgstr "to" + +#~ msgid "three" +#~ msgstr "tre" + +#~ msgid "four" +#~ msgstr "fire" + +#~ msgid "five" +#~ msgstr "fem" + +#~ msgid "six" +#~ msgstr "seks" + +#~ msgid "seven" +#~ msgstr "syv" + +#~ msgid "eight" +#~ msgstr "åtte" + +#~ msgid "nine" +#~ msgstr "ni" + +#~ msgid "ten" +#~ msgstr "ti" + +#~ msgid "eleven" +#~ msgstr "elleve" + +#~ msgid "%(0)s o'clock" +#~ msgstr "klokken %(0)s" + +#~ msgid "five past %(0)s" +#~ msgstr "fem over %(0)s" + +#~ msgid "ten past %(0)s" +#~ msgstr "ti over %(0)s" + +#~ msgid "quarter past %(0)s" +#~ msgstr "kvart over %(0)s" + +#~ msgid "twenty past %(0)s" +#~ msgstr "ti på halv %(0)s" + +#~ msgid "twenty five past %(0)s" +#~ msgstr "fem på halv %(0)s" + +#~ msgid "half past %(0)s" +#~ msgstr "halv %(0)s" + +#~ msgid "twenty five to %(1)s" +#~ msgstr "fem over halv %(1)s" + +#~ msgid "twenty to %(1)s" +#~ msgstr "ti over halv %(1)s" + +#~ msgid "quarter to %(1)s" +#~ msgstr "kvart på %(1)s" + +#~ msgid "ten to %(1)s" +#~ msgstr "ti på %(1)s" + +#~ msgid "five to %(1)s" +#~ msgstr "fem på %(1)s" + +#~ msgid "%(1)s o'clock" +#~ msgstr "%(1)s" + +#~ msgid "Night" +#~ msgstr "Natt" + +#~ msgid "Early morning" +#~ msgstr "Tidlig morgen" + +#~ msgid "Morning" +#~ msgstr "Morgen" + +#~ msgid "Almost noon" +#~ msgstr "Nesten formiddag" + +#~ msgid "Noon" +#~ msgstr "Middag" + +#~ msgid "Afternoon" +#~ msgstr "Ettermiddag" + +#~ msgid "Evening" +#~ msgstr "Ettermiddag" + +#~ msgid "Late evening" +#~ msgstr "Sen kveld" + +#~ msgid "Start of week" +#~ msgstr "Starten av uka" + +#~ msgid "Middle of week" +#~ msgstr "Midti uka" + +#~ msgid "End of week" +#~ msgstr "Slutten av uka" + +#~ msgid "Weekend!" +#~ msgstr "Helg!" + +#, fuzzy +#~ msgid "" +#~ "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or " +#~ "0 to disable Fuzzy Clock. 1 is the most precise clock, 4 the least " +#~ "precise one. This is used only if 'print_time' is 'sometimes'." +#~ msgstr "" +#~ "Skriv klokkeslett i samtaler med fuzzyclock. Verdien av fuzziness oppgis " +#~ "fra 1 til 4, eller 0 for å skru av fuzzyclock. 1 er den mest presise " +#~ "klokken, 4 er den minst presise. Dette brukes bare dersom print_time er " +#~ "'noen ganger'." + +#~ msgid "message" +#~ msgstr "melding" + +#, fuzzy +#~ msgid "error: %s" +#~ msgstr "Feil: %s" + +#, fuzzy +#~ msgid "Form: %s" +#~ msgstr "Skjema %s" + +#~ msgid "XML Input" +#~ msgstr "XML-inndata" + +#, fuzzy +#~ msgid "Ttitle" +#~ msgstr "_Tittel:" + +#, fuzzy +#~ msgid "%(type)s encryption is active %(authenticated)s" +#~ msgstr "%(type)s kryptering er aktiv %(authenticated)s." + +#~ msgid "Screen" +#~ msgstr "Skjerm" + +#~ msgid "Fake video output" +#~ msgstr "Falsk videoutdata" + +#~ msgid "X Window System (X11/XShm/Xv): %s" +#~ msgstr "X-vindusystem (X11/XShm/Xv): %s" + +#~ msgid "X Window System (without Xv)" +#~ msgstr "X-vindusystem (uten Xv)" + +#, fuzzy +#~ msgid "V_ideo output device" +#~ msgstr "Videoforsendelses-enhet" + +#~ msgid "" +#~ "\n" +#~ "Disabled in config" +#~ msgstr "" +#~ "\n" +#~ "Avskrudd i oppsett" + +#~ msgid "Conversation with " +#~ msgstr "Samtale med " + +#~ msgid "Continued conversation" +#~ msgstr "Fortsatt samtale" + +#, fuzzy +#~ msgid "%s has invited you to join a discussion" +#~ msgstr "$Contact har invitert deg til en gruppesamtale" + +#~ msgid "_Send Private Message" +#~ msgstr "_Send privat melding" + +#, fuzzy +#~ msgid "Participant Actions" +#~ msgstr "Deltakere" + +#~ msgid "_Voice" +#~ msgstr "_Stemme" + +#~ msgid "Mo_derator" +#~ msgstr "M_oderator" + +#~ msgid "_Member" +#~ msgstr "_Medlem" + +#~ msgid "_Admin" +#~ msgstr "_Admin" + +#~ msgid "_Owner" +#~ msgstr "_Eier" + +#, fuzzy +#~ msgid "_Add to Contact List" +#~ msgstr "Legg til kontakt…" + +#~ msgid "_Execute command" +#~ msgstr "_Kjør Kommando" + +#~ msgid "Change _Nickname..." +#~ msgstr "Endre _kallenavn…" + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "_Ny gruppesamtale" + +#~ msgid "Change _Subject..." +#~ msgstr "Endre _tema…" + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "Bli med i _Gruppe Samtale..." + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "_Ny gruppesamtale" + +#~ msgid "_Minimize on close" +#~ msgstr "_Minimer ved lukking" + +#~ msgid "_Request Voice" +#~ msgstr "_Forespør stemmegratiale" + +#~ msgid "_Bookmark" +#~ msgstr "_Bokmerke" + +#~ msgid "The authenticity of the %s certificate could be invalid" +#~ msgstr "Gyldigheten til %s-sertifikatet kan være ugyldig" + +#~ msgid "" +#~ "\n" +#~ "Unknown SSL error: %d" +#~ msgstr "" +#~ "\n" +#~ "Ukjent SSL-feil: %d" + +#~ msgid "" +#~ "\n" +#~ "SSL Error: %s" +#~ msgstr "" +#~ "\n" +#~ "SSL-feil: %s" + +#~ msgid "Error verifying SSL certificate" +#~ msgstr "Feil ved bekreftelse av SSL-sertifikat" + +#, fuzzy +#~ msgid "View certificate…" +#~ msgstr "Vis sertifikat…" + +#, fuzzy +#~ msgid "Continue" +#~ msgstr "_Fortsett" + +#~ msgid "" +#~ "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM " +#~ "IS RUNNING)" +#~ msgstr "" +#~ "Ønsker du å renske opp i databasen? (FRARÅDES STERKT NÅR GAJIM KJØRER)" + +#, fuzzy +#~ msgid "Authorization" +#~ msgstr "Godkjenning sendt" + +#, fuzzy +#~ msgid "" +#~ "All chat and group chat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Alle samtaler og gruppesamtaler vil bli lukket. Ønsker du å fortsette?" + +#, fuzzy +#~ msgid "Account '%s' is still connected to the server" +#~ msgstr "Kontoen \"%s\" er tilkoblet tjeneren" + +#, fuzzy +#~ msgid "Error While Saving" +#~ msgstr "Feil ved tilføying av tjeneste. %s" + +#, fuzzy +#~ msgid "" +#~ "Image cannot be saved in %(type)s format.\n" +#~ "Save as %(new_filename)s?" +#~ msgstr "" +#~ "Bildet kan ikke lagres i %(type)s-format. Lagre som %(new_filename)s?" + +#~ msgid "Save _As" +#~ msgstr "Lagre _som" + +#~ msgid "Yes, I really want to connect insecurely" +#~ msgstr "Ja, jeg ønsker virkelig å koble til på usikkert vis" + +#~ msgid "Gajim will NOT connect unless you check this box" +#~ msgstr "" +#~ "Gajim vil IKKE koble til, med mindre du huker av denne avkryssningsboksen" + +#, fuzzy +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "Ugyldig gruppesludrings-JID" + +#, fuzzy +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "Gruppesludrings-JID-en inneholder ulovlige symboler." + +#~ msgid "You may specify a reason below:" +#~ msgstr "Du kan oppgi en grunn nedenfor:" + +#~ msgid "Banning %s" +#~ msgstr "Bannlyser %s" + +#, fuzzy +#~ msgid "" +#~ "Always ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Alltid spør om bekreftelse før gruppesludringer med noen av JID-ene på " +#~ "denne mellomromsinndelte listen lukkes." + +#, fuzzy +#~ msgid "" +#~ "Never ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Aldri spør om bekreftelse før gruppesludringer med noen av JID-ene på " +#~ "denne mellomromsinndelte listen lukkes." + +#, fuzzy +#~ msgid "Leave Group Chats" +#~ msgstr "Forlat gruppesamtaler" + +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "%(nickname)s fra %(room_jid)s" + +#, fuzzy +#~ msgid "You have not joined a group chat." +#~ msgstr "Du har ikke tatt del i en gruppesamtale." + +#, fuzzy +#~ msgid "Choose the group chats you want to leave" +#~ msgstr "Velg hvilke samtalegrupper du ønsker å forlate" + +#, fuzzy +#~ msgid "You left the following group chats:" +#~ msgstr "Du gikk ut av følgende gruppesamtaler:" + +#, fuzzy +#~ msgid "" +#~ "Should automatic rejoin be activated when you were kicked from a group " +#~ "chat?" +#~ msgstr "" +#~ "Burde automatisk deltagelse bli påslått når du kastes ut av en konferanse?" + +#, fuzzy +#~ msgid "" +#~ "If disabled, Gajim will display a static event icon instead of the " +#~ "blinking status icon in the notification area when notifying about an " +#~ "event." +#~ msgstr "" +#~ "Hvis usant, vil Gajim vise et satisk hendelsesminiatyrbilde, i steden for " +#~ "blinkende status i merknadsområdet når det blir gjort oppmerksom på en " +#~ "hendelse." + +#~ msgid "Don't show avatar for the transport itself." +#~ msgstr "Ikke vis avatar for selve transporten." + +#, fuzzy +#~ msgid "" +#~ "Show a confirmation dialog for a custom status? Empty string means never " +#~ "show the dialog." +#~ msgstr "" +#~ "Skal bekreftelse av egendefinert status -dialog vises eller ei? Tomt " +#~ "innhold betyr at dialogen aldri vises." + +#, fuzzy +#~ msgid "" +#~ "If enabled, notification windows from notification-daemon will be " +#~ "attached to the notification area icon." +#~ msgstr "" +#~ "Hvis sant vil kunngjøringsvinduer fra merknads-nissen bli festet til " +#~ "miniatyrbildet i systemkurven." + +#~ msgid "" +#~ "Show a warning dialog before sending PLAIN password over a plain " +#~ "connection." +#~ msgstr "" +#~ "Vis en advarselsdialog før forsendelse av passord i KLARTEKST over " +#~ "ukryptert tilkobling." + +#, fuzzy +#~ msgid "" +#~ "List of XMPP Addresses (space separated) for which you accept to not " +#~ "store chat history if your contact does not want to." +#~ msgstr "" +#~ "Mellomromsinndelt liste over JID-er du godtar å ikke logge samtaler med " +#~ "hvis vedkommende ikke ønsker det." + +#, fuzzy +#~ msgid "Jabberd2 workaround." +#~ msgstr "Jabberd2-omvei" + +#~ msgid "Configure Services…" +#~ msgstr "Sett opp tjenester…" + +#, fuzzy +#~ msgid "Group Chat Bookmarks" +#~ msgstr "Gruppe Samtale" + +#, fuzzy +#~ msgid "Add Bookmark" +#~ msgstr "Bokmerke" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "Bokmerke" + +#, fuzzy +#~ msgid "_Server" +#~ msgstr "_Tjener:" + +#, fuzzy +#~ msgid "Roo_m" +#~ msgstr "Ro_m:" + +#, fuzzy +#~ msgid "_Password" +#~ msgstr "_Passord:" + +#, fuzzy +#~ msgid "Join chat when connected" +#~ msgstr "Kontakt frakoblet" + +#~ msgid "New Group Chat" +#~ msgstr "Ny gruppesamtale" + +#~ msgid "This bookmark has invalid data" +#~ msgstr "Dette bokmerket har ugyldig innhold" + +#, fuzzy +#~ msgid "" +#~ "Please be sure to fill out server and group chat fields or remove this " +#~ "bookmark." +#~ msgstr "Fyll inn tjener- og rom -felt eller fjern dette bokmerket." + +#~ msgid "Character not allowed" +#~ msgstr "Ulovlig tegn" + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "Ugyldig gruppesludrings-JID" + +#~ msgid "Unable to join group chat" +#~ msgstr "Kunne ikke ta del i gruppesamtale" + +#~ msgid "You are banned from group chat %s." +#~ msgstr "Du er bannlyst fra gruppesamtalen %s." + +#~ msgid "Remote server %s does not exist." +#~ msgstr "Fjerntjeneren %s finnes ikke." + +#~ msgid "Group chat %s does not exist." +#~ msgstr "Gruppesamtalen %s finnes ikke." + +#~ msgid "Group chat creation is not permitted." +#~ msgstr "Oppretting av gruppesludring tillates ikke." + +#~ msgid "You must use your registered nickname in %s." +#~ msgstr "Ditt registrerte kallenavn må brukes i %s." + +#, fuzzy +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "Du er ikke på medlemslista for gruppesamtalen %s." + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "Dette er ikke en samtalegruppe" + +#~ msgid "This is not a group chat" +#~ msgstr "Dette er ikke en samtalegruppe" + +#, fuzzy +#~ msgid "" +#~ "%(room_jid)s is already in your contact list. Please check if " +#~ "%(room_jid)s is a correct group chat name. If it is, delete it from your " +#~ "contact list and try joining the group chat again." +#~ msgstr "" +#~ "%(room_jid)s er allerede i kontaktlisten din. Sjekk at %(room_jid)s er et " +#~ "korrekt gruppesludringsnavn. Hvis det er det, slett det fra listen og " +#~ "prøv å ta del i gruppesludringen igjen." + +#, fuzzy +#~ msgid "Please choose a group chat" +#~ msgstr "Velt et rom" + +#~ msgid "Invalid Nickname" +#~ msgstr "Ugyldig kallenavn" + +#~ msgid "Wrong server" +#~ msgstr "Feil tjener" + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "%s er ikke en gruppesamtale-tjener" + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit." +#~ msgstr "" +#~ "Hvor mange linjer skal etterspørres når man går inn i en gruppesamtale. " +#~ "-1 betyr ingen øvre grense" + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit." +#~ msgstr "" +#~ "Hvor mange minutter med logg skal forespørres ved inntreden i " +#~ "gruppesludring. -1 betyr ingen grense" + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit, -2 means global value." +#~ msgstr "" +#~ "Hvor mange linjer skal etterspørres når man går inn i en gruppesamtale. " +#~ "-1 betyr ingen grense, -2 betyr global verdi" + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit, -2 means global value." +#~ msgstr "" +#~ "Hvor mange minutter med logg som skal forespørres ved inntreden i " +#~ "gruppesludring. -1 betyr ingen grense, -2 betyr global verdi" + +#, fuzzy +#~ msgid "A Password is required to join the group chat %s. Please type it." +#~ msgstr "Et passord kreves for å ta del i rommet %s. Skriv det inn." + +#~ msgid "Not in Roster" +#~ msgstr "Ikke i kontaktliste" + +#~ msgid "I would like to add you to my roster" +#~ msgstr "Jeg ønsker å legge deg til på min kontaktliste" + +#~ msgid "Add to Roster" +#~ msgstr "Legg til i kontaktliste" + +#~ msgid "Audio Session" +#~ msgstr "Lydøkt" + +#~ msgid "Manage Room" +#~ msgstr "Behandle rom" + +#~ msgid "Configure Room" +#~ msgstr "Sett opp rom" + +#~ msgid "Destroy Room" +#~ msgstr "Ødelegg rom" + +#~ msgid "Change Nick" +#~ msgstr "Endre kallenavn" + +#~ msgid "Disconnect" +#~ msgstr "Koble fra" + +#, fuzzy +#~ msgid "Copy JID" +#~ msgstr "Rom-JID" + +#, fuzzy +#~ msgid "Add to Roster…" +#~ msgstr "Legg til i kontaktliste" + +#, fuzzy +#~ msgid "Copy JID/Email" +#~ msgstr "_Kopier JID/E-postadresse" + +#~ msgid "JID: %s" +#~ msgstr "JID: %s" + +#~ msgid "Changing Subject" +#~ msgstr "Endrer tema" + +#~ msgid "Please specify the new subject:" +#~ msgstr "Skriv inn nytt tema:" + +#~ msgid "Room logging is now enabled" +#~ msgstr "Romlogging er nå aktivert" + +#~ msgid "Room logging is now disabled" +#~ msgstr "Romlogging er nå avskrudd" + +#, fuzzy +#~ msgid "You (%s) joined the room" +#~ msgstr "%s har tatt del i gruppesamtalen" + +#~ msgid "Room logging is enabled" +#~ msgstr "Romlogging er nå påskrudd" + +#~ msgid "Unable to join groupchat" +#~ msgstr "Kunne ikke ta del i gruppesludring" + +#~ msgid "Groupchat Invitation" +#~ msgstr "Invitasjon til gruppesamtale" + +#~ msgid "%(jid)s has been invited in this room" +#~ msgstr "%(jid)s har blitt invitert til dette rommet" + +#~ msgid "JID is not a Groupchat" +#~ msgstr "JID-en er ikke en gruppesludring" + +#~ msgid "Invalid JID" +#~ msgstr "Ugyldig JID" + +#~ msgid "A connection is not available" +#~ msgstr "Tilkobling ikke tilgjengelig" + +#~ msgid "JID already in list" +#~ msgstr "JID-en er allerede i listen" + +#~ msgid "Unsecure" +#~ msgstr "Usikker" + +#, fuzzy +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "" +#~ "For valgt kryptering finnes det ikke noen tilgjengelig krypteringsmetode" + +#~ msgid "Removes contact from roster" +#~ msgstr "Fjerner kontakt fra kontaktliste" + +#~ msgid "Not in roster" +#~ msgstr "Ikke i kontaktliste" + +#~ msgid "Contact signed in notification color." +#~ msgstr "Merknadsfarge for kontaktinnlogging." + +#~ msgid "Contact signout notification color" +#~ msgstr "Merknadsfarge for kontaktavlogging" + +#~ msgid "File transfer request notification color." +#~ msgstr "Merknadsfarge for filoverføringsforespørsler." + +#~ msgid "File transfer error notification color." +#~ msgstr "Merknadsfarge for filoverføringsfeil." + +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "Merknadsfarge når overføring fullføres eller stoppes." + +#~ msgid "Groupchat invitation notification color" +#~ msgstr "Merknadsfarge for invitasjon til gruppesamtale" + +#~ msgid "Other dialogs color." +#~ msgstr "Farge for andre dialoger." + +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "Legg til * og [n] i kontaktlistens tittel?" + +#~ msgid "Hides the banner in two persons chat window" +#~ msgstr "Gjemmer tittelbanneret i samtalevindu mellom to parter" + +#, fuzzy +#~ msgid "" +#~ "Show the confirm metacontacts creation dialog or not? Empty string means " +#~ "never show the dialog." +#~ msgstr "" +#~ "Skal bekreftelse av metakontaktopprettings-dialog vises eller ei? Tomt " +#~ "innhold betyr at dialogen aldri vises." + +#, fuzzy +#~ msgid "If true, You will also see your webcam" +#~ msgstr "Hvis sant, vil også du se ditt nettkamera" + +#~ msgid "Space separated list of ssl errors to ignore." +#~ msgstr "Mellomromsinndelt liste av SSL-feilmeldinger som skal ignoreres." + +#~ msgid "Answer to receipt requests" +#~ msgstr "Svar på kvitteringsforespørsler" + +#, fuzzy +#~ msgid "Language for which misspelled words will be checked" +#~ msgstr "Språk brukt til å sjekke feilstavede ord" + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "Jeg spiser, legg igjen en beskjed." + +#~ msgid "" +#~ "This message was encrypted with OpenPGP for XMPP and could not be " +#~ "decrypted." +#~ msgstr "" +#~ "Meldingen har blitt kryptert med OpenPGP for XMPP, og kunne ikke " +#~ "dekrypteres." + +#~ msgid "from room %s" +#~ msgstr "fra rommet %s" + +#~ msgid "Leave Groupchats" +#~ msgstr "Forlat gruppesamtaler" + +#, fuzzy +#~ msgid "Auto Join" +#~ msgstr "A_utomatisk deltagelse" + +#~ msgid "Room" +#~ msgstr "Rom" + +#~ msgid "Jabber ID:" +#~ msgstr "XMPP-ID:" + +#~ msgid "Occupant Actions" +#~ msgstr "Deltager-handlinger" + +#~ msgid "_Add to Roster" +#~ msgstr "_Legg til i kontaktliste" + +#~ msgid "_Manage Room" +#~ msgstr "_Valg for rom" + +#~ msgid "Configure _Room..." +#~ msgstr "Sett opp _rom…" + +#~ msgid "_Destroy Room" +#~ msgstr "_Kanseller rom" + +#~ msgid "Jabber ID" +#~ msgstr "XMPP-ID" + +#, fuzzy +#~ msgid "account" +#~ msgstr "konto:" + +#~ msgid "Roster" +#~ msgstr "Kontaktliste" + +#~ msgid "Show only in roster" +#~ msgstr "Vis bare i kontaktliste" + +#~ msgid "in _roster" +#~ msgstr "i _kontaktliste" + +#, fuzzy +#~ msgid "Roster Appearance" +#~ msgstr "Kontaktlistevisning" + +#~ msgid "_Add to Roster..." +#~ msgstr "_Legg til i kontaktliste…" + +#~ msgid "_Jabber ID:" +#~ msgstr "_XMPP-ID:" + +#, fuzzy +#~ msgid "_Jabber ID" +#~ msgstr "_XMPP-ID:" + +#~ msgid "JabberID" +#~ msgstr "XMPP-ID" + +#~ msgid "Show Roster" +#~ msgstr "Vis _kontaktliste" + +#~ msgid "MUC server" +#~ msgstr "MUC-tjener" + +#~ msgid "Roster Shortcuts" +#~ msgstr "Kontaktlistesnarveier" + +#~ msgid "Room Configuration" +#~ msgstr "Rom-innstillinger" + +#~ msgid "Join _Group Chat" +#~ msgstr "Ta del i en _gruppesamtale" + +#~ msgid "Toggle audio session" +#~ msgstr "Veksle lydøkt" + +#~ msgid "Audio sessions are not available" +#~ msgstr "Lydøkter er ikke tilgjengelige" + +#~ msgid "Conference" +#~ msgstr "Konferanse" + +#~ msgid "_Manage Bookmarks…" +#~ msgstr "_Behandle Bokmerker…" + +#~ msgid "Hide _Roster" +#~ msgstr "Skjul _kontaktliste" + +#~ msgid "Show _Roster" +#~ msgstr "Vis _kontaktliste" + +#~ msgid "Invalid Room" +#~ msgstr "Ugyldig rom" + +#~ msgid "Invalid room" +#~ msgstr "Ugyldig rom" + +#~ msgid "A GTK+ Jabber client" +#~ msgstr "En GTK+ -XMPP-klient" + +#~ msgid "Changing Nickname" +#~ msgstr "Endrer kallenavn" + +#~ msgid "Please specify the new nickname you want to use:" +#~ msgstr "Velg hvilket nye kallenavn du ønsker å bruke:" + +#~ msgid "Bookmark already set" +#~ msgstr "Allerede bokmerket" + +#, fuzzy +#~ msgid "Group Chat '%s' is already in your bookmarks." +#~ msgstr "Gruppesamtalen \"%s\" er allerede bokmerket." + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "Bokmerke lagt til" + +#, fuzzy +#~ msgid "" +#~ "You can manage your bookmarks by clicking the Bookmarks menu item in your " +#~ "contact list." +#~ msgstr "" +#~ "Du kan behandle bokmerkene dine fra Handlinger-menyen i kontaktlisten." + +#~ msgid "The nickname contains invalid characters." +#~ msgstr "Kallenavnet inneholder ugyldige tegn." + +#~ msgid "Bookmark Room" +#~ msgstr "Bokmerk rommet" + +#~ msgid "_Join New Group Chat" +#~ msgstr "_Ta del i ny gruppesamtale" + +#~ msgid "Name:" +#~ msgstr "Navn:" + +#~ msgid "Description:" +#~ msgstr "Beskrivelse:" + +#, fuzzy +#~ msgid "Address:" +#~ msgstr "_Adresse:" + +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "Du kan ikke starte en ny samtale uten å være tilkoblet." + +#, fuzzy +#~ msgid "Occupants" +#~ msgstr "Deltager-handlinger" + +#~ msgid "_Modify Account..." +#~ msgstr "_Endre konto…" + +#~ msgid "Boolean" +#~ msgstr "Boolsk" + +#~ msgid "Integer" +#~ msgstr "Heltall" + +#~ msgid "Text" +#~ msgstr "Tekst" + +#~ msgid "Value" +#~ msgstr "Verdi" + +#~ msgid "(None)" +#~ msgstr "(Ingen)" + +#~ msgid "Hidden" +#~ msgstr "Gjemt" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "Behandle mellomtjener-profiler" + +#, fuzzy +#~ msgid "Properties" +#~ msgstr "Egenskaper" + +#, fuzzy +#~ msgid "Proxy _Port" +#~ msgstr "Mellomtjener-_port:" + +#~ msgid "New Groupchat" +#~ msgstr "Ny gruppesludring" + +#~ msgid "New Contact" +#~ msgstr "Ny kontakt" + +#~ msgid "%s GiB" +#~ msgstr "%s GiB" + +#~ msgid "%s GB" +#~ msgstr "%s GB" + +#~ msgid "%s MiB" +#~ msgstr "%s MiB" + +#~ msgid "%s MB" +#~ msgstr "%s MB" + +#~ msgid "%s KiB" +#~ msgstr "%s KiB" + +#~ msgid "%s KB" +#~ msgstr "%s KB" + +#~ msgid "%s B" +#~ msgstr "%s B" + +#, fuzzy +#~ msgid "%s MiB/s" +#~ msgstr "%s MiB" + +#~ msgid "File transfer" +#~ msgstr "Filoverføring" + +#~ msgid "Open _Containing Folder" +#~ msgstr "Åpne _inneholdende mappe" + +#~ msgid "Default:" +#~ msgstr "Forvalg:" + +#~ msgid "Success!" +#~ msgstr "Vellykket" + +#, fuzzy +#~ msgid "toolbutton" +#~ msgstr "knapp" + +#~ msgid "" +#~ "If you close this window, you will be disconnected from this group chat." +#~ msgstr "" +#~ "Hvis du lukker dette vinduet, vil du bli frakoblet fra denne " +#~ "gruppesamtalen." + +#~ msgid "Really quit Gajim?" +#~ msgstr "Avslutt Gajim?" + +#~ msgid "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" +#~ msgstr "" +#~ "Du vil ikke lenger kunne sende og motta meldinger til kontakter fra disse " +#~ "transporten: %s" + +#~ msgid "Contact \"%s\" will be removed from your roster" +#~ msgstr "Kontakten \"%s\" vil fjernes fra kontaktlista di" + +#~ msgid "" +#~ "By removing this contact you also by default remove authorization " +#~ "resulting in them always seeing you as offline." +#~ msgstr "" +#~ "Ved å fjerne denne kontakten fjerner du også godkjenningen som resulterer " +#~ "i at vedkommende alltid vil se deg som frakoblet." + +#~ msgid "Contacts will be removed from your roster" +#~ msgstr "Kontakter vil bli fjernes fra din kontaktliste" + +#~ msgid "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorization resulting in them always seeing you as " +#~ "offline." +#~ msgstr "" +#~ "Ved å fjerne disse kontaktene:%s\n" +#~ "fjerner du også godkjenningen, noe som medfører at de alltid ser deg som " +#~ "frakoblet." + +#~ msgid "Con_tinue" +#~ msgstr "For_tsett" + +#~ msgid "_Pause" +#~ msgstr "_Pause" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "Fjern filoverføringen fra listen." + +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "" +#~ "Dette valget fjerner ei filoverføring fra listen. Dersom den er aktiv vil " +#~ "den først bli stoppet og så fjernet" + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "Avbryter valgt filoverføring" + +#, fuzzy +#~ msgid "Hide the window" +#~ msgstr "Lukker vinduet" + +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "Vis oppsprettsvarsel når ei filoverføring er fullført" + +#~ msgid "From:" +#~ msgstr "Fra:" + +#~ msgid "Subject:" +#~ msgstr "Tema:" + +#~ msgid "%s wants to send you a file:" +#~ msgstr "%s ønsker å sende deg ei fil:" + +#~ msgid "Name: " +#~ msgstr "Navn: " + +#~ msgid "Pause" +#~ msgstr "Pause" + +#~ msgid "Execute Command" +#~ msgstr "Kjør kommando" + +#~ msgid "Type: " +#~ msgstr "Type: " + +#~ msgid "Transferred: " +#~ msgstr "Overført: " + +#~ msgid "Completed" +#~ msgstr "Fullført" + +#~ msgid "Stalled" +#~ msgstr "Henger" + +#~ msgid "Transferring" +#~ msgstr "Overfører" + +#~ msgid "Not started" +#~ msgstr "Ikke startet" + +#, fuzzy +#~ msgid "%s day" +#~ msgid_plural "%s days" +#~ msgstr[0] "%i dager siden" +#~ msgstr[1] "%i dager siden" + +#~ msgid "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Alle samtaler og gruppesamtaler vil bli lukket. Ønsker du å fortsette?" + +#~ msgid "" +#~ "Your desired nickname in group chat\n" +#~ "%s\n" +#~ "is in use or registered by another occupant.\n" +#~ "Please specify another nickname below:" +#~ msgstr "" +#~ "Ditt ønskede kallenavn i gruppesamtale\n" +#~ "%s\n" +#~ "er i bruk eller registrert av en annen samtalebruker.\n" +#~ "Skriv inn et annet kallenavn nedenfor:" + +#~ msgid "_Configure" +#~ msgstr "_Sett opp" + +#~ msgid "Change the avatar" +#~ msgstr "Endre avataren" + +#~ msgid "" +#~ "Account in which the avatar will be set; if not specified, the avatar " +#~ "will be set for all accounts" +#~ msgstr "" +#~ "Kontoen avataren vil bli valgt for; hvis ikke oppgitt vil avataren bli " +#~ "valgt for alle kontoer" + +#~ msgid "add" +#~ msgstr "legg til" + +#~ msgid "modify" +#~ msgstr "endre" + +#~ msgid "remove" +#~ msgstr "fjern" + +#, fuzzy +#~ msgid "" +#~ "If true, restored messages will use a smaller font than the default one." +#~ msgstr "" +#~ "Hvis sant vil gjenopprettede meldinger bruke en mindre font enn forvalget." + +#, fuzzy +#~ msgid "Restored Message Color" +#~ msgstr "_Tilbakestill til forvalgte farger" + +#~ msgid "" +#~ "You are going to remove this room permanently.\n" +#~ "You may specify a reason below:" +#~ msgstr "" +#~ "Du er i ferd med å fjerne dette rommet for godt.\n" +#~ "Du kan oppgi årsak nedenfor:" + +#~ msgid "Send Cus_tom Status" +#~ msgstr "Send egendefiner_t status" + +#~ msgid "" +#~ "You are about to send a custom status. Are you sure you want to continue?" +#~ msgstr "" +#~ "Du er i ferd med å sende en egendefinert status. Er du sikker på at du " +#~ "vil fortsette?" + +#~ msgid "" +#~ "This contact will temporarily see you as %(status)s, but only until you " +#~ "change your status. Then they will see your global status." +#~ msgstr "" +#~ "Denne kontakten vil midlertidig se deg som %(status)s, men bare til du " +#~ "endrer status igjen. Da vil vedkommende se din nye globale status." + +#, fuzzy +#~ msgid "" +#~ msgstr "Tema" + +#~ msgid "#" +#~ msgstr "#" + +#~ msgid "You are about to block a contact. Are you sure you want to continue?" +#~ msgstr "" +#~ "Du er i ferd med å blokkere en kontakt. Er du sikker på at du vil " +#~ "fortsette?" + +#~ msgid "To:" +#~ msgstr "Til:" + +#~ msgid "0" +#~ msgstr "0" + +#~ msgid "" +#~ "On startup, Gajim will download logs stored on server, provided the " +#~ "server supports XEP-0313" +#~ msgstr "" +#~ "Ved oppstart vil Gajim laste ned logger lagret på tjeneren, forbeholdt at " +#~ "tjeneren støtter XEP-0313" + +#~ msgid "" +#~ "If enabled and if server supports this feature, Gajim will receive " +#~ "messages sent and received by other resources." +#~ msgstr "" +#~ "Hvis påskrudd og tjeneren støtter denne funksjonen, vil Gajim motta " +#~ "meldinger sendt og mottatt av andre ressurser." + +#~ msgid "Reconnect when connection is lost" +#~ msgstr "Koble til igjen automatisk når forbindelsen mistes" + +#~ msgid "Server Message Archive" +#~ msgstr "Tjenermeldingsarkiv" + +#, fuzzy +#~ msgid "" +#~ "Messages get stored on the server. The archive is used to sync messages " +#~ "between multiple devices. (XEP-0313)" +#~ msgstr "" +#~ "Meldinger lagres på tjeneren.\n" +#~ "Arkivet brukes til å synkronisere meldinger\n" +#~ "mellom flere enheter.\n" +#~ "XEP-0313" + +#, fuzzy +#~ msgid "Message Carbons" +#~ msgstr "Meldinger" + +#, fuzzy +#~ msgid "" +#~ "All your other online devices get copies of sent and received messages. " +#~ "XEP-0280" +#~ msgstr "" +#~ "Alle dine andre tilkoblede enheter\n" +#~ "får kopier av sendte og mottatte meldinger.\n" +#~ "XEP-0280" + +#~ msgid "" +#~ "Sent chat state notifications. Can be one of all, composing_only, " +#~ "disabled." +#~ msgstr "" +#~ "Sendt merknad for samtalestatus. Kan være 'alle', 'bare_skriving' eller " +#~ "'avslått'." + +#, fuzzy +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "Tillat forsendelse av _uvirksomhetsinformasjon" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the idle time of your system" +#~ msgstr "" +#~ "Hvis avkrysset vil Gajim tillate at andre ser hvilket operativsystem du " +#~ "bruker" + +#, fuzzy +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "Tillat forsendelse av lokal systemtid" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the local time on your system" +#~ msgstr "" +#~ "Hvis avkrysset vil Gajim tillate at andre ser hvilket operativsystem du " +#~ "bruker" + +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "Tillat forsendelse av klient / _OS informasjon" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the operating system you are " +#~ "using" +#~ msgstr "" +#~ "Dersom valgt vil Gajim tillate at andre ser hvilket operativsystem du " +#~ "bruker" + +#, fuzzy +#~ msgid "" +#~ "If checked, incoming events from unauthorized contacts will be ignored. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster." +#~ msgstr "" +#~ "Dersom valgt vil Gajim ignorere inkommende hendelser fra " +#~ "ubekreftedekontakter. Bruk med varsomhet, fordi det blokkerer alle " +#~ "meldinger fra alle kontakter som ikke er i kontaktlisten" + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." +#~ msgstr "" +#~ "Gajim kan sende og motta meta-informasjon relatert til en samtale du kan " +#~ "ha med en kontakt. Her kan du spesifisere hvilke samtalestatuser du " +#~ "ønsker å sende motparten." + +#, fuzzy +#~ msgid "S_end chat state notifications" +#~ msgstr "_Send samtalestatusmerknader:" + +#~ msgid "Login Options" +#~ msgstr "Innloggingsvalg" + +#~ msgid "Please wait while retrieving search form..." +#~ msgstr "Vent på innhenting av søkeskjema…" + +#~ msgid "_Add contact" +#~ msgstr "_Legg til kontakt" + +#~ msgid "Ad-hoc Commands - Gajim" +#~ msgstr "Ad hoc-kommandoer - Gajim" + +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "Vent mens listen over kommandoer innhentes…" + +#~ msgid "Choose command to execute:" +#~ msgstr "Velg kommando å kjøre:" + +#~ msgid "Check once more" +#~ msgstr "Sjekk én gang til" + +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "Vent mens kommandoen sendes…" + +#~ msgid "This jabber entity does not expose any commands." +#~ msgstr "Denne XMPP-enheten eksponerer ikke noen kommandoer." + +#~ msgid "F_inish" +#~ msgstr "A_vslutt" + +#~ msgid "Waiting for results" +#~ msgstr "Venter på resultater" + +#~ msgid "Error in received dataform" +#~ msgstr "Feil i mottatt dataskjema" + +#~ msgid "No result" +#~ msgstr "Inget resultat" + +#~ msgid "Failed to get secret keys" +#~ msgstr "Klarte ikke å hente hemmelig nøkkel" + +#~ msgid "There is no OpenPGP secret key available." +#~ msgstr "Det er ingen OpenPGP -hemmelig-nøkkel tilgjengelig." + +#~ msgid "OpenPGP Key Selection" +#~ msgstr "Valg av OpenPGP-nøkkel" + +#~ msgid "Choose your OpenPGP key" +#~ msgstr "Velg din OpenPGP-nøkkel" + +#~ msgid "KeyID" +#~ msgstr "Nøkkel-ID" + +#~ msgid "Contact name" +#~ msgstr "Kontaktnavn" + +#~ msgid "Formatting is not available so long as GPG is active" +#~ msgstr "Formatering er ikke tilgjengelig så lenge GPG er aktivt" + +#~ msgid "OpenPGP is not usable" +#~ msgstr "OpenPGP kan ikke brukes" + +#, fuzzy +#~ msgid "" +#~ "Gajim needs python-gnupg >= 0.3.8\n" +#~ "Beware there is an incompatible Python package called gnupg.\n" +#~ "You will be connected to %s without OpenPGP." +#~ msgstr "" +#~ "Gajim trenger python-gnupg >= 0.3.8\n" +#~ "Vær oppmerksom på at det er en ukompatibel Python-pakke kalt gnupg.\n" +#~ "Du vil kobles til %s uten OpenPGP." + +#~ msgid "Assign OpenPGP Key" +#~ msgstr "Tildel OpenPGP-nøkkel" + +#~ msgid "Select a key to apply to the contact" +#~ msgstr "Velg en nøkkel å tildele kontakten" + +#~ msgid "" +#~ "You configured Gajim to use OpenPGP agent, but there is no OpenPGP agent " +#~ "running or it returned a wrong passphrase.\n" +#~ msgstr "" +#~ "Du har satt opp Gajim til å bruke en OpenPGP-agent, men det er ingen " +#~ "OpenPGP-agent som kjører, eller så svarte den med feil passord.\n" + +#~ msgid "You are currently connected without your OpenPGP key." +#~ msgstr "Du er i øyeblikket tilkoblet uten din OpenPGP-nøkkel." + +#~ msgid "Wrong passphrase" +#~ msgstr "Feil passord" + +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "Feil OpenPGP-passord" + +#~ msgid "Passphrase Required" +#~ msgstr "Passord kreves" + +#~ msgid "" +#~ "Enter OpenPGP key passphrase for key %(keyid)s (account %(account)s)." +#~ msgstr "" +#~ "Skriv inn passordet for OpenPGP-nøkkelen %(keyid)s (konto %(account)s)." + +#~ msgid "OpenPGP key expired" +#~ msgstr "OpenPGP-nøkkel utløpt" + +#~ msgid "" +#~ "Your OpenPGP key has expired, you will be connected to %s without OpenPGP." +#~ msgstr "Din OpenPGP-nøkkel har utløpt, du vil kobles til %s uten OpenPGP." + +#~ msgid "Wrong Passphrase" +#~ msgstr "Feil passordsetning" + +#~ msgid "Please retype your OpenPGP passphrase or press Cancel." +#~ msgstr "Skriv inn din OpenPGP-passordsetning på ny eller trykk Avbryt." + +#~ msgid "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Sender en ny melding til noen på kontaktlista. Både OpenPGP-nøkkel og " +#~ "konto er valgfritt. Hvis du ønsker å sette bare 'konto'. uten 'OpenPGP-" +#~ "nøkkel'. nare sett 'OpenPGP-nøkkel til ''." + +#~ msgid "PGP key" +#~ msgstr "PGP-nøkkel" + +#~ msgid "if specified, the message will be encrypted using this public key" +#~ msgstr "hvis oppgitt, vil meldingen krypteres med denne offentlige nøkkelen" + +#~ msgid "" +#~ "Sends a chat message to someone on your roster. Optionally with OpenPGP " +#~ "key and account. If you want to only set the latter, set OpenPGP key to " +#~ "\"\"." +#~ msgstr "" +#~ "Sender en sludremelding til noen på kontaktlisten din. Alternativt med " +#~ "OpenPGP-nøkkel og konto. Hvis du ønsker å angi sistnevnte, sett OpenPGP-" +#~ "nøkkel til \"\"." + +#~ msgid "Sets the encoding used by python-gnupg" +#~ msgstr "Setter kodingen brukt av python-gnupg" + +#~ msgid "" +#~ "If disabled, don't sign presences with GPG key, even if GPG is configured." +#~ msgstr "" +#~ "Dersom avskrudd vil ikke tilstedeværelsesatuser bli signert med GPG-" +#~ "nøkkel, selv om GPG er satt opp." + +#~ msgid "OpenPGP:" +#~ msgstr "OpenPGP:" + +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "Tilegn Open_PGP-nøkkel…" + +#, fuzzy +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "Meldingskryptering med OpenPGP" + +#, fuzzy +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "Mulighet for kryptering av sludremeldinger med OpenPGP." + +#, fuzzy +#~ msgid "Requires: gpg and python-gnupg (%(url)s)" +#~ msgstr "Krever gpg og python-gnupg (%(url)s)." + +#, fuzzy +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "Krever gpg.exe i PATH." + +#~ msgid "Use PGP Agent" +#~ msgstr "Bruk PGP-agent" + +#~ msgid "OpenPGP Key" +#~ msgstr "OpenPGP-nøkkel" + +#~ msgid "Cancel confirmation" +#~ msgstr "Avbryt bekreftelse" + +#~ msgid "" +#~ "You are in process of executing command. Do you really want to cancel it?" +#~ msgstr "Du er i ferd med å kjøre en kommando. Ønsker du å avbryte den?" + +#~ msgid "Service sent malformed data" +#~ msgstr "Tjenesten sendte ødelagte data" + +#~ msgid "Service changed the session identifier." +#~ msgstr "Tjenesten endret øktas identifikator." + +#~ msgid "%s - Ad-hoc Commands - Gajim" +#~ msgstr "%s - Ad hoc-kommandoer - Gajim" + +#~ msgid "Service returned an error." +#~ msgstr "Tjenesten meldte fra om feil." + +#~ msgid "You are invited to a groupchat" +#~ msgstr "Du er invitert til en gruppesamtale" + +#, fuzzy +#~ msgid "" +#~ "Issued to:\n" +#~ "Common Name (CN): %(scn)s\n" +#~ "Organization (O): %(sorg)s\n" +#~ "Organizationl Unit (OU): %(sou)s\n" +#~ "Serial Number: %(sn)s\n" +#~ "\n" +#~ "Issued by:\n" +#~ "Common Name (CN): %(icn)s\n" +#~ "Organization (O): %(iorg)s\n" +#~ "Organizationl Unit (OU): %(iou)s\n" +#~ "\n" +#~ "Validity:\n" +#~ "Issued on: %(io)s\n" +#~ "Expires on: %(eo)s\n" +#~ "\n" +#~ "Fingerprint\n" +#~ "SHA-1 Fingerprint: %(sha1)s\n" +#~ "\n" +#~ "SHA-256 Fingerprint: %(sha256)s\n" +#~ msgstr "" +#~ "Utstedt til:\n" +#~ "Vanlig navn (CN): %(scn)s\n" +#~ "Organisasjon (O): %(sorg)s\n" +#~ "Organisasjonsenhet (OU): %(sou)s\n" +#~ "Serienummer: %(sn)s\n" +#~ "\n" +#~ "Utstedt av:\n" +#~ "Vanlig navn (CN): %(icn)s\n" +#~ "Organisasjon (O): %(iorg)s\n" +#~ "Organisasjonsenhet (OU): %(iou)s\n" +#~ "\n" +#~ "Gyldighet:\n" +#~ "Utstedt: %(io)s\n" +#~ "Utløper: %(eo)s\n" +#~ "\n" +#~ "Fingeravtrykk\n" +#~ "SHA-1 -fingeravtrykk: %(sha1)s\n" +#~ "\n" +#~ "SHA-256 -fingeravtrykk: %(sha256)s\n" + +#~ msgid "_Start Chat" +#~ msgstr "_Start samtale" + +#~ msgid "Au_thorize" +#~ msgstr "Go_dkjenn" + +#~ msgid "Really send file?" +#~ msgstr "Virkelig send fil?" + +#~ msgid "You are currently connected to the server" +#~ msgstr "Du er for øyeblikket tilkoblet tjeneren" + +#~ msgid "To disable the account, you must be disconnected." +#~ msgstr "For å skru av kontoen, må du være frakoblet." + +#~ msgid "Do you wish to delete all correspondence with %(jid)s?" +#~ msgstr "Ønsker du virkelig å slette all kommunikasjon med %(jid)s?" + +#~ msgid "Do you wish to delete all correspondence with the selected contacts?" +#~ msgstr "Ønsker du å slette all korrespondanse med valgte kontakter?" + +#~ msgid "This can not be undone." +#~ msgstr "Dette kan ikke angres." + +#~ msgid "What do you want to do?" +#~ msgstr "Hva ønsker du å gjøre?" + +#~ msgid "" +#~ "List of colors, separated by \":\", that will be used to color nicknames " +#~ "in group chats." +#~ msgstr "" +#~ "Liste av farger, inndelt av \":\", brukt til å farge kallenavn i " +#~ "gruppesamtaler." + +#~ msgid "You have received new entries (and %d not displayed):" +#~ msgid_plural "You have received new entries (and %d not displayed):" +#~ msgstr[0] "Du har motatt nye oppføringer (og %d som ikke er vist):" +#~ msgstr[1] "Du har motatt nye oppføringer (og %d som ikke er vist):" + +#~ msgid "Stopped" +#~ msgstr "Stoppet" + +#~ msgid "" +#~ "You are about to send your password on an insecure connection. You should " +#~ "install PyOpenSSL to prevent that. Are you sure you want to do that?" +#~ msgstr "" +#~ "Fant ikke PyOpenSSL. Å sende passordet ditt over en usikret tilkobling " +#~ "frarådes sterkt. Er du sikker på at du ønsker å gjøre dette?" + +#, fuzzy +#~ msgid "Status messages displayed in chat window" +#~ msgstr "Send melding for så å lukke vinduet" + +#~ msgid "?print_status:All" +#~ msgstr "?print_status:Alt" + +#~ msgid "Enter and leave only" +#~ msgstr "Bare ta del og forlat" + +#~ msgid "?print_status:None" +#~ msgstr "?print_status:Ingenting" + +#~ msgid "Untrusted OpenPGP key" +#~ msgstr "Ubetrodd OpenPGP-nøkkel" + +#~ msgid "" +#~ "The OpenPGP key used to encrypt this chat is not trusted. Do you really " +#~ "want to encrypt this message?" +#~ msgstr "" +#~ "OpenPGP-nøkkelen brukt til å kryptere denne samtalen er ikke betrodd. " +#~ "Ønsker du virkelig å kryptere denne meldingen?" + +#~ msgid "D-Bus python bindings are missing in this computer" +#~ msgstr "D-Bus-pythonbindinger mangler på denne maskinen" + +#~ msgid "D-Bus capabilities of Gajim cannot be used" +#~ msgstr "D-Bus-egenskapene til Gajim kan ikke brukes" + +#~ msgid "D-Bus does not run correctly on this machine" +#~ msgstr "D-Bus fungerer ikke ordentlig på denne maskinen" + +#~ msgid "D-Bus does not run correctly on this machine: system bus not present" +#~ msgstr "" +#~ "D-Bus fungerer ikke ordentlig på denne maskinen: systembussen er ikke " +#~ "tilstede" + +#~ msgid "" +#~ "D-Bus does not run correctly on this machine: session bus not present" +#~ msgstr "" +#~ "D-Bus fungerer ikke ordentlig på denne maskinen: økt-bussen er ikke " +#~ "tilstede" + +#, fuzzy +#~ msgid "Command line Control" +#~ msgstr "Kommandolinje" + +#, fuzzy +#~ msgid "Enables you to control Gajim with via commandline" +#~ msgstr "Et skript for å kontrollere Gajim fra kommandolinjen." + +#~ msgid "Non Anonymous Server" +#~ msgstr "Ikke-anonym tjener" + +#~ msgid "" +#~ "When is self contact row displayed. Can be \"always\", " +#~ "\"when_other_resource\" or \"never\"" +#~ msgstr "" +#~ "Når skal raden for egne kontakter vises. Kan være \"alltid\", " +#~ "\"ved_annen_ressurs\" eller \"aldri\"" + +#~ msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +#~ msgstr "%(nick)s har blitt kastet ut av %(who)s: %(reason)s" + +#~ msgid "%(nick)s has been banned by %(who)s: %(reason)s" +#~ msgstr "%(nick)s har blitt bannlyst av %(who)s: %(reason)s" + +#~ msgid "system shutdown" +#~ msgstr "nedstenging av systemet" + +#~ msgid "** Role of %(nick)s has been set to %(role)s" +#~ msgstr "** Rollen til %(nick)s har blitt satt til %(role)s" + +#~ msgid "%s has left" +#~ msgstr "%s har dratt" + +#~ msgid "%s is full" +#~ msgstr "%s er full" + +#, fuzzy +#~ msgid "" +#~ "Can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no " +#~ "longer print status line in groupchats when a member changes their status " +#~ "and/or their status message. If \"all\" Gajim will print all status " +#~ "messages. If \"in_and_out\", Gajim will only print FOO enters/leaves " +#~ "group chat." +#~ msgstr "" +#~ "Kan være \"ingen\" eller \"inn_og_ut\". Hvis \"ingen\", vil Gajim ikke " +#~ "lenger skrive statuslinjer i gruppesamtaler når et medlem endrer sin " +#~ "status og/eller statusmelding. Hvis \"alle\" vil Gajim skrive alle " +#~ "statusmeldinger. Hvis \"in_og_ut\", vil Gajim bare skrive FOO tar del i/" +#~ "forlater gruppesamtale." + +#, fuzzy +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "Viser status_meldinger for kontakter i kontaktlisten" + +#~ msgid "" +#~ "Please copy / paste the refresh token from the website that has just been " +#~ "opened." +#~ msgstr "" +#~ "Kopier / lim inn gjenoppfriskningssymbolet fra nettsiden som akkurat har " +#~ "blitt åpnet." + +#~ msgid "Oauth2 Credentials" +#~ msgstr "OAuth2-akkreditiver" + +#~ msgid "" +#~ "You are about to send your password unencrypted on an insecure " +#~ "connection. Are you sure you want to do that?" +#~ msgstr "" +#~ "Du er i ferd med å sende passordet ditt ukryptert over en usikret " +#~ "forbindelse. Er du sikker på at du vil gjøre det?" + +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "Siste symbol for OAuth 2.0-bekreftelse." + +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "client_id for OAuth 2.0-bekreftelse." + +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "redirect_url for OAuth 2.0-bekreftelse." + +#~ msgid "" +#~ "Displayed chat state notifications in chat windows. Can be one of all, " +#~ "composing_only, disabled." +#~ msgstr "" +#~ "Vist melding for samtalestatus i samtalevindu. Kan være 'alle', " +#~ "'bare_skriving' eller 'avslått'." + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." +#~ msgstr "" +#~ "Gajim kan sende og motta meta-informasjon relatert til en samtale du kan " +#~ "ha med en kontakt. Her kan du spesifisere hvilke samtalestatuser du " +#~ "ønsker å vise i samtalevinduer." + +#~ msgid "This is an irreversible operation." +#~ msgstr "Dette kan ikke angres." + +#~ msgid "Settings" +#~ msgstr "Instillinger" + +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "Velkommen til Gajims behandling av løggføring" + +#~ msgid "Toggle full / compact view" +#~ msgstr "Veksle full / kompakt visning" + +#~ msgid "Member List" +#~ msgstr "Medlemsliste" + +#~ msgid "Owner List" +#~ msgstr "Eierliste" + +#~ msgid "Administrator List" +#~ msgstr "Administrator-liste" + +#~ msgid "Nick" +#~ msgstr "Kallenavn" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "Hvem ønsker du å bannlyse?\n" +#~ "\n" + +#~ msgid "Adding Member…" +#~ msgstr "Legger til medlem…" + +#~ msgid "" +#~ "Whom do you want to make a member?\n" +#~ "\n" +#~ msgstr "" +#~ "Hvem ønsker du å gjøre til medlem?\n" +#~ "\n" + +#~ msgid "Adding Owner…" +#~ msgstr "Legger til eier…" + +#~ msgid "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" +#~ msgstr "" +#~ "Hvem ønsker du å gjøre til en eier?\n" +#~ "\n" + +#~ msgid "Adding Administrator…" +#~ msgstr "Legger til administrator…" + +#~ msgid "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" +#~ msgstr "" +#~ "Hvem ønsker du å gjøre til administrator?\n" +#~ "\n" + +#~ msgid "Error reading file:" +#~ msgstr "Feil ved lesing av fil:" + +#~ msgid "Error parsing file:" +#~ msgstr "Feil ved tolking av fil:" + +#~ msgid "List of possible features in Gajim:" +#~ msgstr "Liste over muligheter i Gajim:" + +#~ msgid "Description" +#~ msgstr "Beskrivelse" + +#~ msgid "Password encryption" +#~ msgstr "Passordskryptering" + +#~ msgid "On Windows the Windows Credential Vault is used." +#~ msgstr "På Windows brukes Windows Credential Vault." + +#~ msgid "Spellchecking of composed messages." +#~ msgstr "Stavekontroll av skrevne meldinger." + +#~ msgid "Automatic status" +#~ msgstr "Automatisk status" + +#~ msgid "Requires python2.5." +#~ msgstr "Krever python2.5." + +#~ msgid "" +#~ "Generate XHTML output from RST code (see http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Generer XHTML fra RST-kode (see http://docutils.sourceforge.net/docs/ref/" +#~ "rst/restructuredtext.html)." + +#~ msgid "UPnP-IGD" +#~ msgstr "UPnP-IGD" + +#~ msgid "?features:Available" +#~ msgstr "?features:Tilgjengelig" + +#~ msgid "Feature" +#~ msgstr "Funksjonalitet" + +#~ msgid "Filter:" +#~ msgstr "Filter:" + +#, fuzzy +#~ msgid "Spell _checker" +#~ msgstr "Stavekontroll" + +#~ msgid "Chat Appearance" +#~ msgstr "Samtaleutseende" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed out" +#~ msgstr "" +#~ "Gajim vil alarmere deg med oppspretts-vindu i bunnen til høyre på " +#~ "skjermen om at en kontakt akkurat har logget ut" + +#~ msgid "Sounds" +#~ msgstr "Lyder" + +#~ msgid "Chat state notifications" +#~ msgstr "Merknader for samtalestatus" + +#, fuzzy +#~ msgid "_Away after" +#~ msgstr "_Borte etter:" + +#~ msgid "" +#~ "If checked, Gajim will change status to Away when the computer is unused." +#~ msgstr "" +#~ "Dersom valgt vil Gajim endre status til Borte når maskinen ikke brukes." + +#, fuzzy +#~ msgid "_Not available after" +#~ msgstr "_Ikke tilgjengelig etter:" + +#~ msgid "Auto Status" +#~ msgstr "Automatisk status" + +#~ msgid "Status Messages" +#~ msgstr "Statusmeldinger" + +#~ msgid "Audio" +#~ msgstr "Lyd" + +#~ msgid "Video" +#~ msgstr "Video:" + +#~ msgid "(example: stun.iptel.org)" +#~ msgstr "(eksempel: stun.iptel.org)" + +#~ msgid "Connection" +#~ msgstr "Tilkobling" + +#~ msgid "Custom" +#~ msgstr "Egendefinert" + +#~ msgid "Privacy" +#~ msgstr "Personvern" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "Avansert oppsettsbehandling" + +#~ msgid "" +#~ "Gajim is a chat client to be used with Jabber.org, Live Journal Talk, " +#~ "Nimbuzz, Ovi, Talkonaut, and thousands of other services run by companies " +#~ "and ISPs, and volunteers around the world." +#~ msgstr "" +#~ "Gajim er en sludreklient for bruk med Jabber.org, Live Journal Talk, " +#~ "Nimbuzz, Ovi, Talkonaut og tusenvis av andre tjenester drevet av " +#~ "selskaper og internettilbydere og frivillige verden over." + +#~ msgid "" +#~ "If you have a few accounts on different servers, if you want to be in " +#~ "contact with your friends and family all the time, then Gajim is for you." +#~ msgstr "" +#~ "Hvis du har forskjellige kontoer på forskjellige tjenere, eller ønsker " +#~ "kontakt med venner og familie, er Gajim for deg." + +#~ msgid "Tabbed chat window and single window modes" +#~ msgstr "Fanebaserte sludrevindu og enkeltvindusmodus" + +#~ msgid "" +#~ "Group chat support (with Multi-User Chat protocol), invitation, chat to " +#~ "group chat transformation" +#~ msgstr "" +#~ "Gruppesludringsstøtte (med flerbrukersludrings-protokoll), invitasjon, " +#~ "sludring til gruppesludringstransformasjon" + +#, fuzzy +#~ msgid "Emojis, avatars, PEP (user activity, mood and tune)" +#~ msgstr "Smilefjes, avatarer, PEP (brukeraktivitet, humør og sang)" + +#~ msgid "Audio / video conferences" +#~ msgstr "Lyd- /video-konferanser" + +#~ msgid "File transfer, room bookmarks" +#~ msgstr "Filoverføring, rombokmerker" + +#~ msgid "Metacontacts support" +#~ msgstr "Metakontakt-støtte" + +#~ msgid "Trayicon, speller, extended chat history functionalities" +#~ msgstr "" +#~ "Systemkurvsikon, svavekontroll, utvidet sludrehistorikkfunksjonalitet" + +#~ msgid "TLS, GPG and End-To-End encryption support" +#~ msgstr "TLS, GPG og ende-til-ende -krypterings-støtte" + +#~ msgid "Transport registration support" +#~ msgstr "Transportregistreringsstøtte" + +#~ msgid "Wikipedia, dictionary and search engine lookup" +#~ msgstr "Wikipedia, ordbok og søkemotoroppslag" + +#~ msgid "Multiple accounts support" +#~ msgstr "Støtte for flere kontoer" + +#~ msgid "XML console interface" +#~ msgstr "XML-konsollgrensesnitt" + +#~ msgid "" +#~ "A programming error has been detected. It probably is not fatal, but " +#~ "should be reported to the developers nonetheless." +#~ msgstr "" +#~ "En programmeringsfeil har blitt oppdaget. Det er sannsynligvis ikke " +#~ "kritisk, men bør rapporteres til utviklerne likevel." + +#~ msgid "" +#~ "A list of modp groups to use in a Diffie-Hellman, highest preference " +#~ "first, separated by commas. Valid groups are 1, 2, 5, 14, 15, 16, 17 and " +#~ "18. Higher numbers are more secure, but take longer to calculate when you " +#~ "start a session." +#~ msgstr "" +#~ "En liste av modp-grupper til å bruke i en Diffie-Hellman, høyest " +#~ "prioritet først, inndelt med komma. Gyldige grupper er 1, 2, 5, 14, 15, " +#~ "16, 17 og 18. Høyere nummer er sikrere, men tar lenger å kalkulere når du " +#~ "starter ei økt." + +#~ msgid "(ESession info)" +#~ msgstr "(ESesjons-informasjon)" + +#~ msgid "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" +#~ msgstr "" +#~ "Dersom dette ikke skrus av vil Gajim bytte ut ASCII-smil som ':)' med " +#~ "animerte eller statiske, billedlige smilefjes" + +#, fuzzy +#~ msgid "_Emoticons" +#~ msgstr "_Smilefjes:" + +#~ msgid "_Highlight misspelled words" +#~ msgstr "_Uthev feilstavede ord" + +#~ msgid "Notify by icon when your messages are received" +#~ msgstr "Varsle med ikon når meldingene dine mottas" + +#, fuzzy +#~ msgid "T_heme" +#~ msgstr "D_rakt:" + +#~ msgid "Themes" +#~ msgstr "Drakter" + +#~ msgid "Always use this nickname when there is a conflict" +#~ msgstr "Alltid bruk dette kallenavnet når det er en konflikt" + +#~ msgid "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." +#~ msgstr "" +#~ "Jabberd1.4 liker ikke SHA-informasjon når man går inn i et " +#~ "passordbeskyttet samtalerom. Sett dette valget til usant for å slutte å " +#~ "sende SHA-informasjon til gruppesamtaler." + +#~ msgid "Presence" +#~ msgstr "Tilstedeværelse" + +#~ msgid "Emoticons disabled" +#~ msgstr "Humørfjes avskrudd" + +#~ msgid "" +#~ "Your configured emoticons theme could not be loaded. See the log for more " +#~ "details." +#~ msgstr "" +#~ "Din oppsatte smilefjesdrakt kunne ikke innlastes. Sjekk loggen for flere " +#~ "detaljer." + +#~ msgid "You cannot make changes to the default theme" +#~ msgstr "Du kan ikke gjøre endringer i forvalgt drakt" + +#~ msgid "theme name" +#~ msgstr "draktnavn" + +#~ msgid "You cannot delete your current theme" +#~ msgstr "Du kan ikke slette gjeldende drakt" + +#~ msgid "Pick another theme to use first." +#~ msgstr "Velg en annen drakt å bruke først." + +#~ msgid "New Single Message from %(nickname)s" +#~ msgstr "Ny enkeltmelding fra %(nickname)s" + +#~ msgid "New Private Message from group chat %s" +#~ msgstr "Ny privat melding fra gruppesamtalerom %s" + +#~ msgid "%(nickname)s: %(message)s" +#~ msgstr "%(nickname)s: %(message)s" + +#~ msgid "Messaged by %(nickname)s" +#~ msgstr "Melding fra %(nickname)s" + +#~ msgid "Status message text color." +#~ msgstr "Statusmeldingers tekstfarge." + +#~ msgid "Incoming nickname font." +#~ msgstr "Skrift brukt for innkommende kallenavn." + +#~ msgid "Outgoing nickname font." +#~ msgstr "Skrift brukt for utgående kallenavn." + +#~ msgid "Status message text font." +#~ msgstr "Tekstskrift for statusmeldinger." + +#~ msgid "Background color of contacts when they just signed in." +#~ msgstr "Bakgrunnsfarge for kontakter som akkurat har logget på." + +#~ msgid "Background color of contacts when they just signed out." +#~ msgstr "Bakgrunnsfarge for kontakter som akkurat har logget ut." + +#~ msgid "green" +#~ msgstr "grønn" + +#~ msgid "grocery" +#~ msgstr "varehandel" + +#~ msgid "human" +#~ msgstr "menneskelig" + +#~ msgid "marine" +#~ msgstr "maritimt" + +#~ msgid "Contact row" +#~ msgstr "Kontakt-rad" + +#~ msgid "Chat Banner" +#~ msgstr "Samtale-parole" + +#~ msgid "Gajim Themes Customization" +#~ msgstr "Egentilpasning av draktvalg for Gajim" + +#~ msgid "Text _color:" +#~ msgstr "Tekst_farge:" + +#~ msgid "_Background:" +#~ msgstr "_Bakgrunn:" + +#~ msgid "Text _font:" +#~ msgstr "Tekst_skrift:" + +#~ msgid "Font style:" +#~ msgstr "Stil for skriftsnitt:" + +#~ msgid "Paused" +#~ msgstr "Satt på vent" + +#~ msgid "Gone" +#~ msgstr "Borte" + +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "" +#~ "MUC\n" +#~ "Meldinger" + +#~ msgid "Chatstate Tab Colors" +#~ msgstr "Fanefarge for samstalestatus" + +#, fuzzy +#~ msgid "Chat message" +#~ msgstr "Samtalemelding:" + +#~ msgid "Use system _default" +#~ msgstr "Bruk systemets _standardinstillinger" + +#~ msgid "Font" +#~ msgstr "Skrift" + +#, fuzzy +#~ msgid "Contact's nickname" +#~ msgstr "Kontaktens kallenavn:" + +#, fuzzy +#~ msgid "_Status message" +#~ msgstr "_Statusmelding:" + +#, fuzzy +#~ msgid "Your message" +#~ msgstr "Din melding:" + +#, fuzzy +#~ msgid "_URL highlight" +#~ msgstr "_URL-uthevning:" + +#~ msgid "Chat Line Colors" +#~ msgstr "Samtalens linjefarger" + +#~ msgid "Jabber ID:" +#~ msgstr "XMPP-ID:" + +#~ msgid "Resource:" +#~ msgstr "Ressurs:" + +#~ msgid "Status:" +#~ msgstr "Status:" + +#~ msgid "Client:" +#~ msgstr "Klient:" + +#~ msgid "Contact time:" +#~ msgstr "Kontakttid:" + +#~ msgid "Ask:" +#~ msgstr "Spør:" + +#~ msgid "Subscription:" +#~ msgstr "Abbonement:" + +#~ msgid "Name:" +#~ msgstr "Navn:" + +#~ msgid "Nickname:" +#~ msgstr "Kallenavn:" + +#~ msgid "Street:" +#~ msgstr "Gate:" + +#~ msgid "City:" +#~ msgstr "By:" + +#~ msgid "State:" +#~ msgstr "Fylke:" + +#~ msgid "Extra Address:" +#~ msgstr "Ekstra adresse:" + +#~ msgid "Postal Code:" +#~ msgstr "Postkode:" + +#~ msgid "Country:" +#~ msgstr "Land:" + +#~ msgid "Homepage:" +#~ msgstr "Hjemmeside:" + +#~ msgid "E-Mail:" +#~ msgstr "E-post:" + +#~ msgid "Phone No.:" +#~ msgstr "Telefonnummer:" + +#~ msgid "Birthday:" +#~ msgstr "Fødselsdag:" + +#~ msgid "Family:" +#~ msgstr "Etternavn:" + +#~ msgid "Middle:" +#~ msgstr "Mellomnavn:" + +#~ msgid "Prefix:" +#~ msgstr "Forstavelse:" + +#~ msgid "Given:" +#~ msgstr "Fornavn:" + +#~ msgid "Suffix:" +#~ msgstr "Endelse:" + +#~ msgid "Full Name" +#~ msgstr "Fullt navn" + +#~ msgid "Company:" +#~ msgstr "Firma:" + +#~ msgid "Department:" +#~ msgstr "Avdeling:" + +#~ msgid "Position:" +#~ msgstr "Stilling:" + +#~ msgid "Role:" +#~ msgstr "Rolle:" + +#~ msgid "- messages will be logged" +#~ msgstr "- meldinger vil loggføres" + +#~ msgid "- messages will not be logged" +#~ msgstr "- meldinger vil ikke loggføres" + +#~ msgid "Edit %s" +#~ msgstr "Rediger %s" + +#~ msgid "Conversation History with %s" +#~ msgstr "Konversasjonshistorikk med %s" + +#~ msgid "Contact with \"%s\" cannot be established" +#~ msgstr "Det oppnås ikke kontakt med \"%s\"" + +#~ msgid "Registration information for transport %s has not arrived in time" +#~ msgstr "Registreringsinformasjon for transporten %s kom ikke tidsnok" + +#~ msgid "Register to" +#~ msgstr "Registrer til:" + +#~ msgid "Enter name / JID of contact or groupchat" +#~ msgstr "Skriv inn navnet / JID-en tilhørende kontakt eller gruppesludring" + +#~ msgid "Search:" +#~ msgstr "Søk:" + +#~ msgid "_In date search" +#~ msgstr "_Søk innenfor dato" + +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "Du kan ikke endre passordet ditt uten å være tilkoblet." + +#~ msgid "Invalid password" +#~ msgstr "Ugyldig passord" + +#~ msgid "The passwords typed in both fields must be identical." +#~ msgstr "Passordene du skriver inn i begge felt må være identiske." + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "Skriv inn én gang til å bekrefte:" + +#~ msgid "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" +#~ msgstr "" +#~ "JID-en %s er ikke RFC-kompatibel. Den vil ikke bli lagt til i " +#~ "kontaktlisten. Bruk kontaktlisteadministrasjons-verktøy som http://jru." +#~ "jabberstudio.org/ for å fjerne den" + +#~ msgid "unsubscribe request from %s" +#~ msgstr "frakoblingsforespørsel fra %s" + +#~ msgid "<empty>" +#~ msgstr "<empty>" + +#~ msgid "Homepage:" +#~ msgstr "Hjemmeside:" + +#~ msgid "Manage Bookmarks" +#~ msgstr "Behandle bokmerker" + +#~ msgid "_Nickname:" +#~ msgstr "_Kallenavn:" + +#~ msgid "Pr_int status:" +#~ msgstr "Utskr_iftsstatus:" + +#~ msgid "Add JID" +#~ msgstr "Legg til JID" + +#~ msgid "Preference:" +#~ msgstr "Preferanse:" + +#~ msgid "Preference" +#~ msgstr "Preferanse" + +#~ msgid "JID:" +#~ msgstr "JID:" + +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "" +#~ "Fyll inn dataene for kontakten du ønsker å legge til kontoen %s" + +#~ msgid "Please fill in the data of the contact you want to add" +#~ msgstr "Fyll inn dataene til kontakten du ønsker å legge til" + +#~ msgid "Recently" +#~ msgstr "Nylig" + +#~ msgid "Add New Contact" +#~ msgstr "Legg til ny kontakt" + +#~ msgid "_User ID:" +#~ msgstr "_Bruker-ID:" + +#~ msgid "Type User ID" +#~ msgstr "Skriv inn bruker-ID" + +#~ msgid "Type Nickname" +#~ msgstr "Skriv inn kallenavn" + +#~ msgid "Personal Information" +#~ msgstr "Personlig informasjon" + +#~ msgid "Avatar:" +#~ msgstr "Avatar:" + +#~ msgid "Click to set your avatar" +#~ msgstr "Klikk for å sette din avatar" + +#, fuzzy +#~ msgid "Remove Avatar" +#~ msgstr "Fjern gruppe" + +#~ msgid "Not fetched because of invisible status" +#~ msgstr "Ikke innhentet på grunn av usynlig status" + +#~ msgid "Please wait..." +#~ msgstr "Vent…" + +#~ msgid "" +#~ "When negotiating an encrypted session, should Gajim assume you want your " +#~ "messages to be logged?" +#~ msgstr "" +#~ "Når vi fremforhandler ei kryptert økt, skal Gajim anta at du ønsker å " +#~ "loggføre meldinger?" + +#~ msgid "Log _encrypted chat session" +#~ msgstr "Loggfør _krypterte samtaleøkter" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will keep logs for encrypted messages. Please note that " +#~ "when using end-to-end encryption the remote party has to agree on " +#~ "logging, else the messages will not be logged." +#~ msgstr "" +#~ "Dersom valgt vil Gajim ivareta loggføring for krypterte meldinger. Husk " +#~ "at når man bruker ende-til-ende -kryptering må den andre parten være enig " +#~ "i at logging er OK, ellers vil ikke meldinger logges." + +#~ msgid "Yahoo! Address:" +#~ msgstr "Yahoo-adresse:" + +#~ msgid "Forward unread messages" +#~ msgstr "Videresend uleste meldinger" + +#~ msgid "All unread messages have been forwarded." +#~ msgstr "Samtlige uleste meldinger har blitt videresendt." + +#~ msgid "Forward unread message then disconnect" +#~ msgstr "Videresend uleste meldinger for så å koble fra" + +#~ msgid "MSN Address:" +#~ msgstr "MSN-adresse:" + +#~ msgid "Confirm these session options" +#~ msgstr "Bekreft disse økt-valgene" + +#~ msgid "" +#~ "The remote client wants to negotiate a session with these features:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Are these options acceptable?" +#~ msgstr "" +#~ "Fjernklienten ønsker å forhandle frem ei økt med disse funksjonene:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Kan du godta disse valgene?" + +#~ msgid "" +#~ "The remote client selected these options:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Continue with the session?" +#~ msgstr "" +#~ "Fjernklientene valgte følgende:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Fortsett økta?" + +#~ msgid "Always accept for this contact" +#~ msgstr "Alltid godta for denne kontakten" + +#~ msgid "End to End message encryption" +#~ msgstr "Ende-til-ende -meldingskryptering" + +#~ msgid "Encrypting chat messages." +#~ msgstr "Kryptering av samtalemeldinger." + +#~ msgid "Requires python-crypto." +#~ msgstr "Krever python-crypto." + +#~ msgid "Session negotiation cancelled" +#~ msgstr "Øktforhandlinger avbrutt" + +#~ msgid "This session WILL NOT be archived on server" +#~ msgstr "Denne økta VIL IKKE bli arkivert på tjeneren" + +#~ msgid "This session is encrypted" +#~ msgstr "Denne økta er kryptert" + +#~ msgid " and WILL be logged" +#~ msgstr " og VIL bli logget" + +#~ msgid " and WILL NOT be logged" +#~ msgstr " og VIL IKKE bli logget" + +#~ msgid "" +#~ "Remote contact's identity not verified. Click the shield button for more " +#~ "details." +#~ msgstr "" +#~ "Kontaktens identitet er ikke bekreftet. Klikk på skjold-knappen for flere " +#~ "detaljer." + +#, fuzzy +#~ msgid "end-to-end encryption disabled" +#~ msgstr "OpenPGP-kryptering avskrudd" + +#~ msgid "" +#~ "Unable to decrypt message from %s\n" +#~ "It may have been tampered with." +#~ msgstr "" +#~ "Ikke mulig å dekryptere meldingen fra %s\n" +#~ "Den kan ha blitt tuklet med." + +#~ msgid "Unable to decrypt message" +#~ msgstr "Kunne ikke dekryptere meldingen" + +#~ msgid "Enable ESessions encryption for this account." +#~ msgstr "Skru på ESessions-kryptering for denne kontoen." + +#~ msgid "Should Gajim automatically start an encrypted session when possible?" +#~ msgstr "Skal Gajim automatisk starte ei kryptert økt når det er mulig?" + +#~ msgid "" +#~ "[This is part of an encrypted session. If you see this message, something " +#~ "went wrong.]" +#~ msgstr "" +#~ "[Dette er en del av ei kryptert økt. Dersom du ser denne meldingen gikk " +#~ "noe galt.]" + +#~ msgid "Requires python-avahi." +#~ msgstr "Krever python-avahi." + +#~ msgid "Save Image as…" +#~ msgstr "Lagre bilde som…" + +#~ msgid "Exporting History Logs…" +#~ msgstr "Eksporterer historikkloggføring…" + +#~ msgid "Choose Client Cert #PCKS12" +#~ msgstr "Velg klientsertifikat #PCKS12" + +#~ msgid "When %s becomes:" +#~ msgstr "Når %s blir:" + +#~ msgid "Adding Special Notification for %s" +#~ msgstr "Legger til spesiell merknad for %s" + +#~ msgid "" +#~ "It seems the SSL certificate of account %(account)s has changed and is " +#~ "not valid or your connection is being compromised.\n" +#~ "\n" +#~ "Old SHA-1 fingerprint: %(old_sha1)s\n" +#~ "Old SHA-256 fingerprint: %(old_sha256)s\n" +#~ "\n" +#~ "New SHA-1 fingerprint: %(new_sha1)s\n" +#~ "New SHA-256 fingerprint: %(new_sha256)s\n" +#~ "\n" +#~ "Do you still want to connect and update the fingerprint of the " +#~ "certificate?" +#~ msgstr "" +#~ "Det ser ut som SSL-sertifikatet for konto %(account)s har endret seg, " +#~ "eller din tilkobling blir utnyttet.\n" +#~ "\n" +#~ "Gammelt SHA-1 -fingeravtrykk: %(old_sha1)s\n" +#~ "Gammelt SHA-256 -fingeravtrykk: %(old_sha256)s\n" +#~ "\n" +#~ "Nytt SHA-1 -fingeravtrykk: %(new_sha1)s\n" +#~ "Nytt SHA-256 -fingeravtrykk: %(new_sha256)s\n" +#~ "\n" +#~ "Ønsker du fortsatt å koble til og oppdatere sertifikatets fingeravtrykk?" + +#~ msgid "" +#~ "The authenticity of the %s certificate could be invalid.\n" +#~ "The certificate does not cover this domain." +#~ msgstr "" +#~ "Påliteligheten til sertifikatet %s kan være ugyldig.\n" +#~ "Sertifikatet dekker ikke dette domenet." + +#~ msgid "Unable to load idle module" +#~ msgstr "Klarer ikke å laste inn uvirksom modul" + +#, fuzzy +#~ msgid "%s or %s is a directory but should be a file" +#~ msgstr "%s er en katalog men skulle vært ei fil" + +#~ msgid "creating logs database" +#~ msgstr "Oppretter logg-database" + +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "flytter %(src)s til %(dst)s" + +#~ msgid "Rename account label" +#~ msgstr "Gi kontoetikett nytt navn" + +#~ msgid "" +#~ "Requires gpg and python-gnupg (http://code.google.com/p/python-gnupg/)." +#~ msgstr "" +#~ "Krever gpg og python-gnupg (https://bitbucket.org/vinay.sajip/python-" +#~ "gnupg)." + +#~ msgid "Send Single Message..." +#~ msgstr "Send enkeltmelding…" + +#~ msgid "We received an error: {}" +#~ msgstr "Tjenesten returnerte en feil: {}" + +#~ msgid "E2E encryption disabled" +#~ msgstr "Ende-til-ende -kryptering avslått" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Legg til dette sertifikatet i listen over tiltrodde sertifikater.\n" +#~ "SHA1 fingeravtrykk til sertifikatet:\n" +#~ "%(sha1)s\n" +#~ "SHA-256 -fingeravtrykk av sertifikatet:\n" +#~ "%(sha256)s" + +#~ msgid "uri" +#~ msgstr "URI" + +#~ msgid "Check update after start" +#~ msgstr "Oppdateringssjekk etter start" + +#~ msgid "" +#~ "Install /\n" +#~ "Upgrade" +#~ msgstr "" +#~ "Installer /\n" +#~ "Oppgrader" + +#~ msgid "Install/Upgrade" +#~ msgstr "Installer/oppgrader" + +#~ msgid "Install and Upgrade Plugins" +#~ msgstr "Installer og oppgrader programtillegg" + +#~ msgid "Plugins updates" +#~ msgstr "Programtilleggsoppgraderinger" + +#~ msgid "" +#~ "Some updates are available for your installer plugins. Do you want to " +#~ "update those plugins:\n" +#~ "%s" +#~ msgstr "" +#~ "Noen oppgraderinger er tilgjengelige for dine " +#~ "installasjonsprogramtillegg. Ønsker du å oppgradere de " +#~ "programtilleggene:\n" +#~ "%s" + +#~ msgid "Security error during download" +#~ msgstr "Sikkerhetsfeil under nedlasting" + +#~ msgid "" +#~ "A security error occurred when downloading. The certificate of the plugin " +#~ "archive could not be verified. this might be a security attack. \n" +#~ "\n" +#~ "You can continue at your risk. Do you want to do so? (not recommended)" +#~ msgstr "" +#~ "En sikkerhetsfeil inntraff under nedlasting. Sertifikatet tilhørende " +#~ "programtilleggsarkivet kunne ikke bekreftes. Dette kan være et " +#~ "sikkerhetsangrep. \n" +#~ "\n" +#~ "Du kan fortsette på egen risiko. Ønsker du å gjøre det (ikke anbefalt)" + +#~ msgid "Error in download" +#~ msgstr "Feil i nedlastning" + +#~ msgid "" +#~ "An error occurred when downloading\n" +#~ "\n" +#~ "[%s]" +#~ msgstr "" +#~ "En feil inntraff under nedlasting\n" +#~ "\n" +#~ "[%s]" + +#~ msgid "All selected plugins downloaded" +#~ msgstr "Alle valgte programtillegg har blitt lastet ned" + +#~ msgid "cyan" +#~ msgstr "turkis" + +#~ msgid "migrating logs database to indices" +#~ msgstr "migrerer loggdatabaser til indekser" + +#~ msgid "Send File..." +#~ msgstr "Send fil…" + +#~ msgid "HTTP File Upload" +#~ msgstr "HTTP-filopplasting" + +#~ msgid "HTTP File Upload not supported by your server" +#~ msgstr "HTTP-filopplasting støttes ikke av tjeneren din" + +#~ msgid "Jingle File Transfer" +#~ msgstr "Jingle-filoverføring" + +#~ msgid "" +#~ "Your configured emoticons theme has not been found, so emoticons have " +#~ "been disabled." +#~ msgstr "" +#~ "Din oppsatte humørfjes-drakt ble ikke funnet, så humørfjes har blitt " +#~ "avskrudd." + +#~ msgid "Shows or hides the roster window" +#~ msgstr "Viser eller skjuler kontaktlistevinduet" + +#~ msgid "Shows or hides the ipython window" +#~ msgstr "Viser eller skjuler ipython-vinduet" + +#, fuzzy +#~ msgid "XMPP account %s" +#~ msgstr "XMPP konto %s@%s" + +#, fuzzy +#~ msgid "Exception" +#~ msgstr "Beskrivelse" + +#~ msgid "" +#~ "someone@somewhere.com would like you to add some contacts " +#~ "in your roster." +#~ msgstr "" +#~ "noen@noenstedshen.no ønsker at du skal legge til noen " +#~ "kontakter i kontaktlisten din." + +#~ msgid "" +#~ "Ordered list (space separated) of connection type to try. Can contain " +#~ "tls, ssl or plain" +#~ msgstr "" +#~ "Mellomromsinndelt ordnet liste av tilkoblingstyper som skal prøves. Kan " +#~ "inneholde 'TLS', 'SSL' eller 'klartekst'" + +#~ msgid "_Actions" +#~ msgstr "_Handlinger" + +#~ msgid "Requires upower and python-dbus." +#~ msgstr "Krever upower og python-dbus." + +#~ msgid "You are already in group chat %s" +#~ msgstr "Du er allerede i gruppesamtale %s" + +#~ msgid "Join Group Chat with account %s" +#~ msgstr "Ta del i samtalegruppe med kontoen %s" + +#~ msgid "" +#~ "You have to choose an account from which you want to join the groupchat." +#~ msgstr "" +#~ "Du har valgt en konto du ønsker å bruke for å gå inn i samtalerommet." + +#, fuzzy +#~ msgid "Please enter the group chat JID as room@server." +#~ msgstr "Gruppesamtalens Jabber ID inneholder ulovlige symboler." + +#, fuzzy +#~ msgid "The group chat JID contains invalid characters." +#~ msgstr "Gruppesamtalens Jabber ID inneholder ulovlige symboler." + +#~ msgid "Start Chat with account %s" +#~ msgstr "Start samtale med kontoen %s" + +#, fuzzy +#~ msgid "" +#~ "Fill in the nickname or the JID of the contact you would like\n" +#~ "to send a chat message to:" +#~ msgstr "" +#~ "Fyll kallenavnet eller Jabber ID til den kontakten du ønsker\n" +#~ "å sende en samtale melding til:" + +#, fuzzy +#~ msgid "Nickname / JID" +#~ msgstr "Duplikat Jabber ID" + +#~ msgid "Unable to parse \"%s\"." +#~ msgstr "Kan ikke tolke \"%s\"." + +#~ msgid "Shows the chat dialog so that you can send messages to a contact" +#~ msgstr "Viser samtalevinduet, slik at du kan sende meldinger til en kontakt" + +#~ msgid "JID of the contact that you want to chat with" +#~ msgstr "JID-en til kontakten du vil sludre med" + +#~ msgid "message content. The account must be specified or \"\"" +#~ msgstr "meldingsinnhold. Kontoen må enten spesifiseres eller \"\"" + +#~ msgid "Adds contact to roster" +#~ msgstr "Legger til kontakt på kontaktliste" + +#~ msgid "jid" +#~ msgstr "JID" + +#~ msgid "Adds new contact to this account" +#~ msgstr "Legger til ny kontakt på denne kontoen" + +#~ msgid "Opens 'Start Chat' dialog" +#~ msgstr "Åpner 'Start samtale'-vindu" + +#~ msgid "Starts chat, using this account" +#~ msgstr "Starter en samtale, ved bruk av denne kontoen" + +#, fuzzy +#~ msgid "Handle a xmpp:/ URI" +#~ msgstr "Håndtere en xmpp:/ uri" + +#~ msgid "URI to handle" +#~ msgstr "URI å håndtere" + +#~ msgid "Account in which you want to handle it" +#~ msgstr "Dertil ønsket konto" + +#~ msgid "Message content" +#~ msgstr "Meldingsinnhold" + +#~ msgid "Join a MUC room" +#~ msgstr "Ta del i et MUC-rom" + +#~ msgid "Nickname to use" +#~ msgstr "Kallenavn å bruke" + +#~ msgid "Password to enter the room" +#~ msgstr "Adgangskode for å tilslutte seg rommet" + +#~ msgid "Account from which you want to enter the room" +#~ msgstr "Konto du ønsker å bruke til å ta del i rommet" + +#, fuzzy +#~ msgid "Wrong URI" +#~ msgstr "Feil uri" + +#~ msgid "Nickname:" +#~ msgstr "Kallenavn:" + +#~ msgid "Server:" +#~ msgstr "Tjener:" + +#~ msgid "Join this room _automatically when I connect" +#~ msgstr "Ta del i dette rommet _automatisk ved tilkobling" + +#~ msgid "Bro_wse Rooms" +#~ msgstr "_Utforsk rom" + +#~ msgid "Requires libgtkspell and libenchant." +#~ msgstr "Krever libgtkspell og libenchant." + +#, fuzzy +#~ msgid "Network-Watcher" +#~ msgstr "Network-manager" + +#~ msgid "Autodetection of network status." +#~ msgstr "Autodeteksjon av nettverksstatus." + +#, fuzzy +#~ msgid "Requires gnome-network-manager" +#~ msgstr "Krever gnome-network-manager og python-dbus." + +#~ msgid "Feature not available, see Help->Features" +#~ msgstr "Funksjon ikke tilgjengelig, se Hjelp → Funksjoner" + +#~ msgid "This contact does not support file transfer." +#~ msgstr "Denne kontakten støtter ikke filoverføring." + +#, fuzzy +#~ msgid "You need to know the real JID of the contact to send them a file." +#~ msgstr "Du må vite det ekte " + +#~ msgid "" +#~ "You have to install %s dictionary to use spellchecking, or choose another " +#~ "language by setting the speller_language option." +#~ msgstr "" +#~ "Du må installere %s ordbok for å bruke stavekontroll, eller velge et " +#~ "annet språk ved å gjøre valg av stavekontro_llspråk." + +#~ msgid "Hides the buttons in chat windows." +#~ msgstr "Gjemmer knappene i samtalevinduer." + +#~ msgid "Change the room's subject (Alt+T)" +#~ msgstr "Endre rommets tema (Alt+T)" + +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "_Bokmerke dette rommet (Ctrl+B)" + +#~ msgid "Browse the chat history (Ctrl+H)" +#~ msgstr "Søk gjennom samtalehistorikken (Ctrl+H)" + +#~ msgid "Show advanced functions (Alt+D)" +#~ msgstr "Vis avanserte funksjoner (Alt+D)" + +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "Legg denne kontakten til i kontaktlista (Ctrl+D)" + +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "Inviter kontakter til samtalen (Ctrl+G)" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Vis kontaktens profil (Ctrl+I)" + +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Vis kontaktens profil (Ctrl+I)" + +#~ msgid "Ma_ke message windows compact" +#~ msgstr "Gj_ør meldingsvinduet kompakt" + +#~ msgid "Hide all buttons in chat windows" +#~ msgstr "Gjem alle knappene i samtalevinduer" + +#~ msgid "Hide the chat buttons" +#~ msgstr "Gjem samtaleknappene" + +#~ msgid "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." +#~ msgstr "" +#~ "Hvis sant vil Gajim forespørre miniatyrbilde for hver kontakt som ikke " +#~ "hadde en avatar sist gang, eller har en mellomlagret som er for gammel." + +#~ msgid "Disk Write Error" +#~ msgstr "Skrivefeil til disk" + +#~ msgid "Set Custom _Avatar..." +#~ msgstr "Velg egendefinert _avatar…" + +#~ msgid "SSL certificate validation" +#~ msgstr "SSL-sertifikat-gyldighetssjekk" + +#~ msgid "" +#~ "A library used to validate server certificates to ensure a secure " +#~ "connection." +#~ msgstr "" +#~ "Et bibliotek brukt til å bekrefte tjener-sertifikater for å tilsørge en " +#~ "sikker tilkobling." + +#~ msgid "Requires python-pyopenssl > 0.12 and pyasn1." +#~ msgstr "Krever python-pyopenssl > 0.12 og pyasn1." + +#~ msgid "?CLI:room" +#~ msgstr "?CLI:rom" + +#~ msgid "?CLI:nick" +#~ msgstr "?CLI:kallenavn" + +#~ msgid "?CLI:password" +#~ msgstr "?CLI:passord" + +#~ msgid "Use D-Bus and Notification-Daemon to show notifications" +#~ msgstr "Bruk D-Bus og hendelses-nissen for å vise merknader" + +#~ msgid "Notification" +#~ msgstr "Merknad" + +#~ msgid "Passive popups notifying for new events." +#~ msgstr "Passivt oppsprettsvindu for nye hendelser." + +#~ msgid "" +#~ "Requires python-notify or instead python-dbus in conjunction with " +#~ "notification-daemon." +#~ msgstr "" +#~ "Krever python-notify eller alternativt python-dbus i samråd med " +#~ "notification-daemon." + +#~ msgid "Ignore" +#~ msgstr "Ignorer" + +#~ msgid "_Open Gmail Inbox" +#~ msgstr "_Åpne Gmail-innboks" + +#~ msgid "Notify on new _GMail email" +#~ msgstr "Meld fra om ny e-post i _Gmail" + +#~ msgid "" +#~ "If checked, Gajim will show a notification when a new e-mail is received " +#~ "via GMail" +#~ msgstr "" +#~ "Dersom valgt vil Gajim vise en melding når en ny e-post mottas fra GMail" + +#~ msgid "Display _extra email details" +#~ msgstr "Vis _ekstra e-postdetaljer" + +#~ msgid "" +#~ "If checked, Gajim will also include information about the sender of new " +#~ "emails" +#~ msgstr "" +#~ "Dersom valgt vil Gajim også vise informasjon om avsenderen av nye e-poster" + +#~ msgid "GMail Options" +#~ msgstr "GMail-valg" + +#, fuzzy +#~ msgid "20" +#~ msgstr "0" + +#~ msgid "Invited %s to %s" +#~ msgstr "Inviterte %s til %s" + +#~ msgid "GMail Email Received" +#~ msgstr "Gmail E-post motatt" + +#, fuzzy +#~ msgid "New e-mail on %(gmail_mail_address)s" +#~ msgstr "Ny e-post på %(gmail_mail_address)s" + +#, fuzzy +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "Du har %d ny e-post samtale" +#~ msgstr[1] "Du har %d nye e-post samtaler" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "From: %(from_address)s\n" +#~ "Subject: %(subject)s\n" +#~ "%(snippet)s" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "Fra: %(from_address)s\n" +#~ "Emne: %(subject)s\n" +#~ "%(snippet)s" + +#~ msgid "Resour_ce:" +#~ msgstr "Ressu_rs:" + +#~ msgid "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" +#~ msgstr "" +#~ "Ressurs-navnet blir sendt til XMPP-tjeneren for å dele JID-en din i to " +#~ "eller flere biter, avhenging av antall ganger du har vært tilkoblet samme " +#~ "tjener med samme konto. Noe som gjør at ressursene 'Hjemme' og 'Jobb' kan " +#~ "være tilkoblet samtidig på samme konto. Ressursen med høyest prioritet " +#~ "vil få hendelsene. (se nedenfor)" + +#~ msgid "A_djust to status" +#~ msgstr "J_uster etter status" + +#~ msgid "Priority will change automatically according to your status." +#~ msgstr "Prioritet vil endres automatisk i henhold til status." + +#~ msgid "Anonymous authentication" +#~ msgstr "Anonym identitetsbekreftelse" + +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "Prioritet brukes av XMPP for å fastsette hvem som skal få hendelser fra " +#~ "XMPP-tjeneren når to eller flere klienter er tilkoblet med samme konto. " +#~ "Klienten høyest prioritet vil få hendelsen" + +#~ msgid "Synchronize contacts" +#~ msgstr "Synkroniser kontakter" + +#~ msgid "Click to request authorization to all contacts of another account" +#~ msgstr "" +#~ "Klikk for å be om tilgang til alle kontakter tilhørende en annen konto" + +#~ msgid "Chan_ge Password" +#~ msgstr "En_dre Passord" + +#~ msgid "Administration operations" +#~ msgstr "Administrator-handlinger" + +#~ msgid "Browse..." +#~ msgstr "Utforsk…" + +#~ msgid "Certificate is e_ncrypted" +#~ msgstr "Sertifikatet er k_ryptert" + +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "" +#~ "Hvis valgt, vil Gajim ved oppstart automatisk koble seg til XMPP med " +#~ "denne kontoen" + +#~ msgid "Synchronize logs with server" +#~ msgstr "Synkroniser logger med tjener" + +#~ msgid "Synch_ronize account status with global status" +#~ msgstr "Sam_kjør konto-status med global status" + +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "Dersom valgt vil endringer i global status (håndtert av " +#~ "kombinasjonsmenyen nederst i kontaktvinduet) endre status for denne " +#~ "kontoen" + +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "Dersom valgt vil Gajim sende ut noen flere IP-adresser i tillegg til din " +#~ "egen, så filoverføringen har større mulighet for å fungere." + +#~ msgid "Proxy" +#~ msgstr "Mellomtjener" + +#~ msgid "" +#~ "Check this so Gajim will ask you before sending your password over an " +#~ "insecure connection." +#~ msgstr "" +#~ "Kryss av her slik at Gajim forespør deg før forsendelse av passord over " +#~ "usikker tilkobling blir gjort" + +#~ msgid "Send _keep-alive packets" +#~ msgstr "Send _hold-i-live pakker" + +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "" +#~ "Dersom valgt vil Gajim sende hold-i-live pakker for å forhindre " +#~ "tidsavbrudd som dernest resulterer i frakobling" + +#~ msgid "Use cust_om hostname/port" +#~ msgstr "Bruk egen_definert vertsnavn/port" + +#~ msgid "_Hostname: " +#~ msgstr "_Vertsnavn: " + +#~ msgid "_Port: " +#~ msgstr "_Port: " + +#~ msgid "Choose _Key..." +#~ msgstr "Velg _nøkkel…" + +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "" +#~ "Dersom valgt vil Gajim få passordet fra en GPG-agent som f.eks. seahorse" + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#~ msgid "_Edit Personal Information..." +#~ msgstr "_Endre personalia…" + +#~ msgid "Personal Information" +#~ msgstr "Personlig informasjon" + +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "Ko_ble til når Gajim starter" + +#~ msgid "Synchroni_ze account status with global status" +#~ msgstr "Sam_kjør konto-status med global status" + +#~ msgid "Use cust_om port:" +#~ msgstr "Bruk egen_definert port:" + +#~ msgid "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." +#~ msgstr "" +#~ "Dersom forvalgt port brukt til inngående meldinger ikke passer for ditt " +#~ "oppsett kan du velge en annen her.\n" +#~ "Du kan også vurdere å endre mulige brannmursinnstillinger." + +#~ msgid "OpenPGP is not usable on this computer" +#~ msgstr "OpenPGP er ikke brukbart på denne maskinen" + +#~ msgid "To change the account name, you must be disconnected." +#~ msgstr "For å endre kontonavnet må være frakoblet." + +#~ msgid "To change the account name, you must read all pending events." +#~ msgstr "For å endre kontonavnet må du lese alle ventende hendelser." + +#~ msgid "Account Name Already Used" +#~ msgstr "Kontonavnet er allerede i bruk" + +#~ msgid "" +#~ "This name is already used by another of your accounts. Please choose " +#~ "another name." +#~ msgstr "" +#~ "Dette navnet er allerede i bruk av en av dine andre kontoer. Velg et " +#~ "annet navn." + +#~ msgid "Account name cannot be empty." +#~ msgstr "Kontonavn kan ikke være tomt." + +#~ msgid "Account name cannot contain spaces." +#~ msgstr "Kontonavn kan ikke inneholde mellomrom." + +#~ msgid "Enter a new name for account %s" +#~ msgstr "Skriv inn nytt navn for kontoen %s" + +#, fuzzy +#~ msgid "A JID must be in the form \"user@servername\"." +#~ msgstr "En Jabber ID må skrives som \"bruker@servernavn\"." + +#~ msgid "No such account available" +#~ msgstr "Ingen slik konto tilgjengelig" + +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "Du må opprette konto før du kan endre personalia." + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "Du kan ikke endre personalia uten å være tilkoblet." + +#~ msgid "Your server can't save your personal information." +#~ msgstr "Tjeneren din kan ikke lagre personalia." + +#~ msgid "Please rename or remove it before enabling link-local messaging." +#~ msgstr "Gi nytt navn eller fjern den før du slår på link-lokal -meldinger." + +#~ msgid "THANKS:" +#~ msgstr "TUSEN TAKK:" + +#~ msgid "Could not write to %s. Session Management support will not work" +#~ msgstr "Kunne ikke skrive til %s. Støtte for øktbehandling vil utgå" + +#~ msgid "Jabber Traffic" +#~ msgstr "XMPP-trafikk" + +#~ msgid "_Enable" +#~ msgstr "_Slå på" + +#~ msgid "Filter" +#~ msgstr "Filter" + +#~ msgid "_IQ" +#~ msgstr "_IQ" + +#~ msgid "Info/Query" +#~ msgstr "Informasjon/spørring" + +#~ msgid "XML Input" +#~ msgstr "XML-inndata" + +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "Rediger _personvernslister…" + +#~ msgid "_Administrator" +#~ msgstr "_Administrator" + +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "Sender en melding til alle tilkoblede brukere av denne tjeneren" + +#~ msgid "Sets Message of the Day" +#~ msgstr "Setter dagens melding" + +#~ msgid "Updates Message of the Day" +#~ msgstr "Oppdaterer dagens melding" + +#~ msgid "Deletes Message of the Day" +#~ msgstr "Sletter dagens melding" + +#~ msgid "Prefer" +#~ msgstr "Foretrekk" + +#~ msgid "Auto" +#~ msgstr "Auto" + +#~ msgid "Toggle Open_PGP Encryption" +#~ msgstr "Veksle Open_PGP-kryptering" + +#~ msgid "Toggle End to End Encryption" +#~ msgstr "Endre ende-til-ende -kryptering" + +#~ msgid "otr" +#~ msgstr "OTR" + +#~ msgid "Message Body xmpp.org/getting-started" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:646 +#, fuzzy +msgid "_Please choose a server" +msgstr "Kies een bijnaam" + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "" + +#: gajim/data/gui/application_menu.ui:8 +#, fuzzy +msgid "_Start / Join Chat…" +msgstr "Gesprek beginnen" + +#: gajim/data/gui/application_menu.ui:13 +#, fuzzy +msgid "Create _Group Chat…" +msgstr "Groepsgesprekken verlaten" + +#: gajim/data/gui/application_menu.ui:18 +#, fuzzy +msgid "_History Manager" +msgstr "Geschiedenisbeheer" + +#: gajim/data/gui/application_menu.ui:22 +#, fuzzy +msgid "Pl_ugins" +msgstr "Plug-ins" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +msgid "_Preferences" +msgstr "_Voorkeuren" + +#: gajim/data/gui/application_menu.ui:36 +#, fuzzy +msgid "_Accounts" +msgstr "Accounts" + +#: gajim/data/gui/application_menu.ui:39 +#, fuzzy +msgid "_View" +msgstr "Weergeven" + +#: gajim/data/gui/application_menu.ui:46 +#, fuzzy +msgid "Show _Offline Contacts" +msgstr "Offline contacten weergeven" + +#: gajim/data/gui/application_menu.ui:50 +#, fuzzy +msgid "Show _Active Contacts" +msgstr "Alleen actieve contacten weergeven" + +#: gajim/data/gui/application_menu.ui:54 +#, fuzzy +msgid "Show _Transports" +msgstr "Transporten weergeven" + +#: gajim/data/gui/application_menu.ui:60 +#, fuzzy +msgid "_XML Console" +msgstr "XML-console" + +#: gajim/data/gui/application_menu.ui:64 +#, fuzzy +msgid "_File Transfer" +msgstr "Bestandsoverdracht" + +#: gajim/data/gui/application_menu.ui:74 +#, fuzzy +msgid "_Help" +msgstr "Hulp" + +#: gajim/data/gui/application_menu.ui:77 +#, fuzzy +msgid "_Wiki (Online)" +msgstr "Online" + +#: gajim/data/gui/application_menu.ui:81 +#, fuzzy +msgid "FA_Q (Online)" +msgstr "Online" + +#: gajim/data/gui/application_menu.ui:85 +#, fuzzy +msgid "_Keyboard Shortcuts" +msgstr "Sneltoetsen" + +#: gajim/data/gui/application_menu.ui:89 +#, fuzzy +msgid "_Features" +msgstr "Functies" + +#: gajim/data/gui/application_menu.ui:93 +#, fuzzy +msgid "_About" +msgstr "Info" + +#: gajim/data/gui/filetransfer_progress.ui:125 +#, fuzzy +msgid "Speed" +msgstr "snelheid" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +#, fuzzy +msgid "OK" +msgstr "_Oké" + +#: gajim/data/gui/plugins_window.ui:55 +#, fuzzy +msgid "Install Plugin from ZIP-File" +msgstr "Plug-in installeren van bestand" + +#: gajim/data/gui/plugins_window.ui:56 +msgid "Install from File…" +msgstr "Installeren van bestand…" + +#: gajim/data/gui/plugins_window.ui:70 +msgid "Uninstall Plugin" +msgstr "Plug-in verwijderen" + +#: gajim/data/gui/plugins_window.ui:116 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:133 +msgid "Plugin Settings" +msgstr "Plug-in-instellingen" + +#: gajim/data/gui/plugins_window.ui:215 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:239 +msgid "Version" +msgstr "Versie" + +#: gajim/data/gui/plugins_window.ui:271 +msgid "Authors" +msgstr "Auteurs" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +msgid "Homepage" +msgstr "Website" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:349 +msgid "Installed" +msgstr "Geïnstalleerd" + +#: gajim/data/gui/plugins_window.ui:363 +#, fuzzy +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "" +"Hier wordt een beschrijving van de plug-in weergegeven. Deze tekst wordt " +"gewist tijdens initialisatie van het plug-invenster." + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +msgid "Synchronise contacts" +msgstr "Contacten synchroniseren" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "Selecteer de account waarmee je wil synchroniseren" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +msgid "_Name" +msgstr "_Naam" + +#: gajim/data/gui/groupchat_creation.ui:122 +#, fuzzy +msgid "_Description" +msgstr "Beschrijving" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +#, fuzzy +msgid "_Address" +msgstr "_Adres:" + +#: gajim/data/gui/groupchat_creation.ui:278 +#, fuzzy +msgid "_Account" +msgstr "_Accounts" + +#: gajim/data/gui/profile.ui:33 +#, fuzzy +msgid "Contact Infos" +msgstr "Contact _Info" + +#: gajim/data/gui/profile.ui:45 +#, fuzzy +msgid "Picture and Name" +msgstr "Te gebruiken afbeelding" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "" + +#: gajim/data/gui/profile.ui:198 +#, fuzzy +msgid "Change your profile picture" +msgstr "Je bijnaam veranderen (Ctrl+N)" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:298 +#, fuzzy +msgid "Add Entry" +msgstr "Item:" + +#: gajim/data/gui/profile.ui:410 +#, fuzzy +msgid "Update" +msgstr "MOTD bijwerken…" + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:15 +#, fuzzy +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "SOCKS5" + +#: gajim/data/gui/manage_proxies.ui:65 +msgid "Add Proxy" +msgstr "Proxy toevoegen" + +#: gajim/data/gui/manage_proxies.ui:79 +msgid "Remove Proxy" +msgstr "Proxy verwijderen" + +#: gajim/data/gui/manage_proxies.ui:131 +msgid "Pass_word" +msgstr "_Wachtwoord" + +#: gajim/data/gui/manage_proxies.ui:156 +msgid "Use proxy auth_entication" +msgstr "Gebruik proxy-auth_enticatie" + +#: gajim/data/gui/manage_proxies.ui:176 +msgid "_Username" +msgstr "Gebr_uikersnaam" + +#: gajim/data/gui/manage_proxies.ui:237 +#, fuzzy +msgid "_Host" +msgstr "_Host:" + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "Lokale JID:" + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "Bron:" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "Status:" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +#, fuzzy +msgid "_Store conversation history" +msgstr "Gespreksgeschiedenis" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +msgid "Contact" +msgstr "Contact" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +msgid "First Name:" +msgstr "Voornaam:" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +msgid "Last Name:" +msgstr "Achternaam:" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +#, fuzzy +msgid "XMPP Address:" +msgstr "AIM-adres:" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "E-mail:" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +msgid "Personal" +msgstr "Persoonlijk" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "_Status" + +#: gajim/data/gui/account_context_menu.ui:20 +msgid "_Personal Events" +msgstr "_Persoonlijke gebeurtenissen" + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "Cont_act toevoegen…" + +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "Ontdek diensten" + +#: gajim/data/gui/account_context_menu.ui:57 +msgid "_Execute Command..." +msgstr "Opdracht uitvoer_en…" + +#: gajim/data/gui/account_context_menu.ui:65 +#, fuzzy +msgid "_View Server Info" +msgstr "Serverinfo" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:125 +#, fuzzy +msgid "Global Group Chat Search" +msgstr "Deelnemen aan groepsgesprek" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +#, fuzzy +msgid "_Back" +msgstr "Zo terug" + +#: gajim/data/gui/start_chat_dialog.ui:386 +#, fuzzy +msgid "Select Account" +msgstr "Account %s wordt verwijderd" + +#: gajim/data/gui/start_chat_dialog.ui:477 +#, fuzzy +msgid "_Select" +msgstr "Selecteer bestanden" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +msgid "Configure" +msgstr "Configureren" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +msgid "Create new post" +msgstr "Nieuwe post maken" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "Sta_tus" + +#: gajim/data/gui/systray_context_menu.ui:20 +msgid "_Start Chat..." +msgstr "Ge_sprek beginnen…" + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "Enkel _bericht verzenden…" + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "Toon alle wachtende gebeurt_enissen" + +#: gajim/data/gui/systray_context_menu.ui:52 +msgid "Mute Sounds" +msgstr "Geluiden dempen" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +#, fuzzy +msgid "Contact List" +msgstr "Contacten" + +#: gajim/data/gui/shortcuts_window.ui:24 +#, fuzzy +msgid "Create new group chat" +msgstr "Groepsgesprekken verlaten" + +#: gajim/data/gui/shortcuts_window.ui:45 +msgid "File transfers" +msgstr "Bestandsoverdrachten" + +#: gajim/data/gui/shortcuts_window.ui:52 +msgid "Set the status message" +msgstr "Statusbericht instellen" + +#: gajim/data/gui/shortcuts_window.ui:59 +#, fuzzy +msgid "Show XML console" +msgstr "_XML-console weergeven" + +#: gajim/data/gui/shortcuts_window.ui:74 +msgid "Appearance" +msgstr "Uiterlijk" + +#: gajim/data/gui/shortcuts_window.ui:79 +msgid "Show offline contacts" +msgstr "Offline contacten weergeven" + +#: gajim/data/gui/shortcuts_window.ui:86 +msgid "Show only active contacts" +msgstr "Alleen actieve contacten weergeven" + +#: gajim/data/gui/shortcuts_window.ui:93 +#, fuzzy +msgid "Enable contact list filtering" +msgstr "Roosterfilters inschakelen" + +#: gajim/data/gui/shortcuts_window.ui:100 +#, fuzzy +msgid "Show / hide contact list" +msgstr "Alleen actieve contacten weergeven" + +#: gajim/data/gui/shortcuts_window.ui:113 +msgid "Contact information" +msgstr "Contactinformatie" + +#: gajim/data/gui/shortcuts_window.ui:120 +msgid "Rename contact" +msgstr "Contact hernoemen" + +#: gajim/data/gui/shortcuts_window.ui:127 +msgid "Delete contact" +msgstr "Contact verwijderen" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +msgid "Chat" +msgstr "Gesprek" + +#: gajim/data/gui/shortcuts_window.ui:142 +msgid "Message composition" +msgstr "Bericht opstellen" + +#: gajim/data/gui/shortcuts_window.ui:147 +msgid "Send the message" +msgstr "Bericht verzenden" + +#: gajim/data/gui/shortcuts_window.ui:154 +msgid "Add new line" +msgstr "Nieuwe regel toevoegen" + +#: gajim/data/gui/shortcuts_window.ui:161 +msgid "Select an emoji" +msgstr "Selecteer een emoji" + +#: gajim/data/gui/shortcuts_window.ui:168 +#, fuzzy +msgid "Complete a command or a nickname" +msgstr "Opdracht of bijnaam aanvullen" + +#: gajim/data/gui/shortcuts_window.ui:175 +msgid "Previously sent message" +msgstr "Vorig verzonden bericht" + +#: gajim/data/gui/shortcuts_window.ui:182 +msgid "Next sent messages" +msgstr "Volgende verzonden berichten" + +#: gajim/data/gui/shortcuts_window.ui:189 +msgid "Quote previous message" +msgstr "Vorig bericht citeren" + +#: gajim/data/gui/shortcuts_window.ui:196 +msgid "Quote next message" +msgstr "Volgend bericht citeren" + +#: gajim/data/gui/shortcuts_window.ui:203 +msgid "Clear message entry" +msgstr "Berichtinvoer wissen" + +#: gajim/data/gui/shortcuts_window.ui:211 +msgid "Recent history" +msgstr "Recente geschiedenis" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "Omhoog scrollen" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "Omlaag scrollen" + +#: gajim/data/gui/shortcuts_window.ui:230 +#, fuzzy +msgid "Clear chat window" +msgstr "Wis het tekstvenster" + +#: gajim/data/gui/shortcuts_window.ui:237 +#, fuzzy +msgid "Show chat history" +msgstr "Gespreksgeschiedenis" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "Tabbladen" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "Wisselen naar het vorig tabblad" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "Wisselend naar het volgende tabblad" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "Wisselen naar het eerste - negende tabblad" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "Wisselen naar het vorige ongelezen tabblad" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "Wisselen naar het volgende ongelezen tabblad" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:299 +msgid "Close chat" +msgstr "Gesprek sluiten" + +#: gajim/data/gui/shortcuts_window.ui:312 +#, fuzzy +msgid "Change Nickname" +msgstr "Bij_naam veranderen…" + +#: gajim/data/gui/chat_control.ui:48 +#, fuzzy +msgid "Drop files or contacts" +msgstr "Stuurt een bestand naar een contact" + +#: gajim/data/gui/chat_control.ui:80 +msgid "1" +msgstr "1" + +#: gajim/data/gui/chat_control.ui:101 +msgid "2 abc" +msgstr "2 abc" + +#: gajim/data/gui/chat_control.ui:121 +msgid "3 def" +msgstr "3 def" + +#: gajim/data/gui/chat_control.ui:141 +msgid "4 ghi" +msgstr "4 ghi" + +#: gajim/data/gui/chat_control.ui:161 +msgid "5 jkl" +msgstr "5 jkl" + +#: gajim/data/gui/chat_control.ui:181 +msgid "6 mno" +msgstr "6 mno" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "7 pqrs" + +#: gajim/data/gui/chat_control.ui:221 +msgid "8 tuv" +msgstr "8 tuv" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "9 wxyz" + +#: gajim/data/gui/chat_control.ui:261 +msgid "*" +msgstr "*" + +#: gajim/data/gui/chat_control.ui:281 +msgid "0" +msgstr "0" + +#: gajim/data/gui/chat_control.ui:301 +msgid "#" +msgstr "#" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "Het laatste bericht is geschreven met een mobiele cliënt" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "_Gesprek beginnen" + +#: gajim/data/gui/contact_context_menu.ui:28 +msgid "Send _File..." +msgstr "_Bestand verzenden…" + +#: gajim/data/gui/contact_context_menu.ui:44 +msgid "Invite _Contacts" +msgstr "_Contacten uitnodigen" + +#: gajim/data/gui/contact_context_menu.ui:58 +msgid "E_xecute Command..." +msgstr "Opdracht uit_voeren…" + +#: gajim/data/gui/contact_context_menu.ui:67 +msgid "M_anage Contact" +msgstr "Cont_act beheren" + +#: gajim/data/gui/contact_context_menu.ui:77 +msgid "_Rename..." +msgstr "He_rnoemen…" + +#: gajim/data/gui/contact_context_menu.ui:84 +msgid "Edit _Groups..." +msgstr "_Groepen bewerken…" + +#: gajim/data/gui/contact_context_menu.ui:92 +msgid "Add Special _Notification..." +msgstr "Speciale meldi_ng toevoegen…" + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "_Abonnement" + +#: gajim/data/gui/contact_context_menu.ui:115 +msgid "_Allow contact to see my status" +msgstr "Dit contact mijn status l_aten zien" + +#: gajim/data/gui/contact_context_menu.ui:123 +msgid "A_sk to see contact status" +msgstr "Vraag hem/haar toe_stemming zijn/haar status te zien" + +#: gajim/data/gui/contact_context_menu.ui:131 +msgid "_Forbid contact to see my status" +msgstr "_Dit contact mijn status niet laten zien" + +#: gajim/data/gui/contact_context_menu.ui:159 +msgid "_Unignore" +msgstr "_Niet negeren" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "_Negeren" + +#: gajim/data/gui/contact_context_menu.ui:174 +#, fuzzy +msgid "_Add to Contact List..." +msgstr "Cont_act toevoegen…" + +#: gajim/data/gui/single_message_window.ui:42 +#, fuzzy +msgid "_To" +msgstr "Aan" + +#: gajim/data/gui/single_message_window.ui:71 +#, fuzzy +msgid "Su_bject" +msgstr "Onderwerp" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "" + +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "_Bericht" + +#: gajim/data/gui/single_message_window.ui:144 +#, fuzzy +msgid "Characters typed: 0" +msgstr "Teken niet toegestaan" + +#: gajim/data/gui/single_message_window.ui:189 +#, fuzzy +msgid "_From" +msgstr "Van" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "Verzen_d" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "Bericht verzenden" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "Be_antwoord" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "Beantwoord dit bericht" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "Ver_stuur & sluit" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "Bericht verzenden en venster sluiten" + +#: gajim/data/gui/vcard_information_window.ui:106 +msgid "Client" +msgstr "Cliënt" + +#: gajim/data/gui/vcard_information_window.ui:140 +msgid "Contact time" +msgstr "Contacttijd" + +#: gajim/data/gui/vcard_information_window.ui:240 +msgid "User avatar" +msgstr "Gebruikersavatar" + +#: gajim/data/gui/vcard_information_window.ui:255 +msgid "Configured avatar" +msgstr "Ingestelde avatar" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +msgid "Ask" +msgstr "Vragen" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +msgid "Subscription" +msgstr "Abonnement" + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +msgid "Extra Address" +msgstr "Extra adres" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +msgid "Address" +msgstr "Adres" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +msgid "E-Mail" +msgstr "E-mailadres" + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "Formaat: YYYY-MM-DD" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +msgid "Family" +msgstr "Familienaam" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +msgid "Middle" +msgstr "Middelste naam" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +msgid "Prefix" +msgstr "Voorvoegsel" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +msgid "Given" +msgstr "Voornaam" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +msgid "Suffix" +msgstr "Achtervoegsel" + +#: gajim/data/gui/vcard_information_window.ui:958 +msgid "Name Details" +msgstr "Naamdetails:" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "knop" + +#: gajim/data/gui/vcard_information_window.ui:1017 +msgid "Personal Info" +msgstr "Persoonlijke informatie" + +#: gajim/data/gui/vcard_information_window.ui:1040 +msgid "Company" +msgstr "Bedrijf" + +#: gajim/data/gui/vcard_information_window.ui:1073 +msgid "Department" +msgstr "Departement" + +#: gajim/data/gui/vcard_information_window.ui:1104 +msgid "Position" +msgstr "Positie" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "Rol" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "Info" + +#: gajim/data/gui/vcard_information_window.ui:1514 +msgid "Comments" +msgstr "Reacties" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "Wijzig groepen" + +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "Wachtwoord" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +msgid "Themes" +msgstr "Thema’s" + +#: gajim/data/gui/themes_window.ui:171 +#, fuzzy +msgid "Add Setting" +msgstr "Instellingen" + +#: gajim/data/gui/themes_window.ui:204 +#, fuzzy +msgid "Add new Theme" +msgstr "Nieuwe regel toevoegen" + +#: gajim/data/gui/themes_window.ui:219 +#, fuzzy +msgid "Remove Theme" +msgstr "Actief thema" + +#: gajim/data/gui/bookmarks.ui:120 +msgid "Autojoin" +msgstr "Automatisch deelnemen" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "" + +#: gajim/data/gui/preferences.ui:40 +#, fuzzy +msgid "Behaviour of Windows & Tabs" +msgstr "Gedrag van vensters en tabbladen" + +#: gajim/data/gui/preferences.ui:68 +#, fuzzy +msgid "Contact List Appearance" +msgstr "Roosteritemuitwisseling" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +msgid "Chats" +msgstr "Gesprekken" + +#: gajim/data/gui/preferences.ui:215 +msgid "Visual Notifications" +msgstr "Visuele meldingen" + +#: gajim/data/gui/preferences.ui:243 +msgid "Sounds" +msgstr "Geluiden" + +#: gajim/data/gui/preferences.ui:303 +#, fuzzy +msgid "Ask For Status Message on…" +msgstr "Vraag om statusbericht wanneer ik" + +#: gajim/data/gui/preferences.ui:331 +#, fuzzy +msgid "Automatic Status Change" +msgstr "Automatische status" + +#: gajim/data/gui/preferences.ui:419 +#, fuzzy +msgid "Emoji" +msgstr "Emoji’s" + +#: gajim/data/gui/preferences.ui:447 +#, fuzzy +msgid "Status Icon" +msgstr "_Statuspictogrammenset" + +#: gajim/data/gui/preferences.ui:472 +msgid "Style" +msgstr "Stijl" + +#: gajim/data/gui/preferences.ui:511 +#, fuzzy +msgid "Show _Features" +msgstr "Functies" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:632 +msgid "Audio" +msgstr "Audio" + +#: gajim/data/gui/preferences.ui:660 +msgid "Video" +msgstr "Video" + +#: gajim/data/gui/preferences.ui:698 +msgid "Audio/Video" +msgstr "Audio/video" + +#: gajim/data/gui/preferences.ui:735 +msgid "Miscellaneous" +msgstr "Overige" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:821 +#, fuzzy +msgid "Advanced Configuration Editor… " +msgstr "Geavanceerde configuratie (ACE)" + +#: gajim/data/gui/preferences.ui:825 +#, fuzzy +msgid "Please use these settings with caution!" +msgstr "Let op: wees voorzichtig in het gebruik van deze opties!" + +#: gajim/data/gui/server_info.ui:50 +msgid "Server Software" +msgstr "Serversoftware" + +#: gajim/data/gui/server_info.ui:80 +msgid "Server Uptime" +msgstr "Serveruptime" + +#: gajim/data/gui/server_info.ui:109 +#, fuzzy +msgid "Contact Addresses" +msgstr "Bericht van contact" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "" + +#: gajim/data/gui/server_info.ui:177 +#, fuzzy +msgid "Proxy Type" +msgstr "Proxy" + +#: gajim/data/gui/server_info.ui:192 +#, fuzzy +msgid "No proxy used" +msgstr "Geen proxy" + +#: gajim/data/gui/server_info.ui:202 +#, fuzzy +msgid "View _Certificate" +msgstr "Certificaat bekijken…" + +#: gajim/data/gui/server_info.ui:222 +#, fuzzy +msgid "Proxy Host" +msgstr "Proxy_host" + +#: gajim/data/gui/server_info.ui:421 +msgid "Copy info to clipboard" +msgstr "Info kopiëren naar klembord" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "Algemene naam (CN)" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "Organisatie (O)" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "Organisatorische eenheid (OU)" + +#: gajim/data/gui/certificate_dialog.ui:153 +msgid "Serial Number" +msgstr "Serienummer" + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "Uitgegeven op" + +#: gajim/data/gui/certificate_dialog.ui:304 +msgid "Expires on" +msgstr "Verloopt op" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "SHA-1" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "Uitgegeven aan" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "Uitgegeven door" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "Geldigheid" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "Vingerafdrukken" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "SHA-256" + +#: gajim/data/gui/certificate_dialog.ui:465 +#, fuzzy +msgid "Copy Certificate Information" +msgstr "Contactinformatie" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "Nodig vrienden uit!" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +#, fuzzy +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "" +"Je staat op het punt een groepsgesprek binnen te gaan.\n" +"Kies de contacten die je wil uitnodigen" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "kolom" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +#, fuzzy +msgid "Please select a group chat server." +msgstr "Kies een MUC-server." + +#: gajim/data/gui/chat_to_muc_window.ui:141 +#, fuzzy +msgid "Group chat server" +msgstr "Ondersteuning voor groepsgesprekken" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +msgid "In_vite" +msgstr "Uit_nodigen" + +#: gajim/data/gui/mam_preferences.ui:53 +#, fuzzy +msgid "_Default" +msgstr "Standaard" + +#: gajim/data/gui/mam_preferences.ui:136 +msgid "Archive" +msgstr "Archiveren" + +#: gajim/data/gui/history_manager.ui:11 +msgid "_Export" +msgstr "_Exporteren" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +msgid "Gajim History Logs Manager" +msgstr "Gajim-logboekbeheer" + +#: gajim/data/gui/history_manager.ui:104 +#, fuzzy +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" +"Deze logbeheerder is niet bedoeld voor het bekijken van logboeken. Als je " +"naar die functie op zoek bent, gebruik dan het geschiedenisvenster.\n" +"\n" +"Gebruik dit programma om logboeken te verwijderen of exporteren. Je kan " +"links logboeken selecteren en/of de database van onderaan doorzoeken." + +#: gajim/data/gui/history_manager.ui:120 +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" +"WAARSCHUWING:\n" +"Als je grote verwijderingen plant, zorg dan dat Gajim op dat moment niet " +"draait. Probeer verwijdering bij contacten waarmee je op dat moment aan het " +"praten bent te vermijden." + +#: gajim/data/gui/history_manager.ui:211 +msgid "Search database..." +msgstr "Database zoeken…" + +#: gajim/data/gui/history_manager.ui:226 +msgid "Search in database" +msgstr "Zoeken in database" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" + +#: gajim/data/gui/groupchat_invite.ui:69 +#, fuzzy +msgid "Invitees" +msgstr "Uit_nodigen" + +#: gajim/data/gui/groupchat_invite.ui:153 +#, fuzzy +msgid "Search contacts..." +msgstr "Database zoeken…" + +#: gajim/data/gui/groupchat_invite.ui:223 +#, fuzzy +msgid "Click on contacts you would like to invite to this group chat." +msgstr "%(jid)s is in dit groepsgesprek uitgenodigd" + +#: gajim/data/gui/service_discovery_window.ui:148 +#, fuzzy +msgid "Go" +msgstr "_Ga" + +#: gajim/data/gui/status_change_window.ui:27 +#, fuzzy +msgid "Change Status" +msgstr "Status veranderen" + +#: gajim/data/gui/status_change_window.ui:56 +#, fuzzy +msgid "Status Presets…" +msgstr "Statusbericht" + +#: gajim/data/gui/status_change_window.ui:72 +msgid "Save this message as a preset" +msgstr "Dit bericht opslaan als voorinstelling" + +#: gajim/data/gui/status_change_window.ui:130 +msgid "Ac_tivity" +msgstr "Ac_tiviteit" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "Hum_eur" + +#: gajim/data/gui/status_change_window.ui:278 +#, fuzzy +msgid "_Change Status" +msgstr "Status veranderen" + +#: gajim/data/gui/status_change_window.ui:313 +#, fuzzy +msgid "Activity" +msgstr "Activiteit:" + +#: gajim/data/gui/status_change_window.ui:326 +#, fuzzy +msgid "_No Activity" +msgstr "Activiteit:" + +#: gajim/data/gui/status_change_window.ui:729 +#, fuzzy +msgid "Mood" +msgstr "Humeurig" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +#, fuzzy +msgid "Author" +msgstr "Auteurs" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +#, fuzzy +msgid "Group Chat Language" +msgstr "Groepsgespreksconfiguratie" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +#, fuzzy +msgid "Copy Address" +msgstr "E-mailadres kopiëren" + +#: gajim/data/gui/emoji_chooser.ui:98 +msgid "No Results Found" +msgstr "Geen resultaten gevonden" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr "XML-console" + +#: gajim/data/gui/xml_console.ui:131 +#, fuzzy +msgid "Start Search..." +msgstr "Gesprek beginnen…" + +#: gajim/data/gui/xml_console.ui:260 +msgid "Clear" +msgstr "Wissen" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "" + +#: gajim/data/gui/xml_console.ui:316 +msgid "Presets" +msgstr "Voorinstellingen" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "Synchroniseren: selecteer contacten" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +msgid "Select the contacts you want to synchronise" +msgstr "Selecteer de contacten die je wil synchroniseren" + +#: gajim/data/gui/groupchat_config.ui:51 +#, fuzzy +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" +"Jabber-ID\n" +"<gebruiker@domein/bron> (alleen die bron komt overeen).\n" +"<gebruiker@domein> (eender welke bron komt overeen).\n" +"<domein/bron> (alleen die bron komt overeen).\n" +"<domein> (het domein zelf komt overeen, net als gelijk welke " +"gebruiker@domein of domein/bron)\n" + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "Enkel administrators en eigenaars kunnen de aansluiting wijzigen" + +#: gajim/data/gui/groupchat_config.ui:309 +msgid "Reserved Name" +msgstr "Gereserveerde naam" + +#: gajim/data/gui/groupchat_config.ui:346 +msgid "Affiliation" +msgstr "Aansluiting" + +#: gajim/data/gui/groupchat_config.ui:377 +msgid "Affiliations" +msgstr "Aansluitingen" + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "Reden" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "Banlijst" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "_Weigeren" + +#: gajim/data/gui/subscription_request_window.ui:34 +#, fuzzy +msgid "_Block User" +msgstr "_Blokkeren" + +#: gajim/data/gui/subscription_request_window.ui:49 +#, fuzzy +msgid "_Report as Spam" +msgstr "_Fout melden" + +#: gajim/data/gui/subscription_request_window.ui:212 +#, fuzzy +msgid "_Deny…" +msgstr "_Weigeren" + +#: gajim/data/gui/subscription_request_window.ui:225 +msgid "Ac_cept" +msgstr "A_ccepteren" + +#: gajim/data/gui/subscription_request_window.ui:230 +#, fuzzy +msgid "Allows the contact to see your online status" +msgstr "Dit contact mijn status l_aten zien" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "Sorry, dat zou niet mogen gebeuren" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" +"Er is een fout opgetreden. Hieronder wordt een foutrapport weergegeven.\n" +"Door deze fout te melden, kan je helpen het probleem op te lossen." + +#: gajim/data/gui/exception_dialog.ui:115 +msgid "_Report Bug" +msgstr "_Fout melden" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "Gebeurtenis" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "Kies geluid" + +#: gajim/data/gui/manage_sounds.ui:97 +msgid "Clear Sound" +msgstr "Geluid wissen" + +#: gajim/data/gui/manage_sounds.ui:118 +msgid "Play Sound" +msgstr "Geluid afspelen" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +#, fuzzy +msgid "_Send Files" +msgstr "_Bestand Verzenden" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +msgid "Send" +msgstr "Verzenden" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +#, fuzzy +msgid "Files to send" +msgstr "Kies bestand om te verzenden" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +#, fuzzy +msgid "Add Files" +msgstr "Bestanden:" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +#, fuzzy +msgid "Remove Files" +msgstr "Verwijderen" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +msgid "Idle since:" +msgstr "Inactief sinds:" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +msgid "Mood:" +msgstr "Stemming:" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +msgid "Activity:" +msgstr "Activiteit:" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +msgid "Tune:" +msgstr "Deuntje:" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +msgid "Location:" +msgstr "Locatie:" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +msgid "Subscription:" +msgstr "Abonnement:" + +#: gajim/data/gui/advanced_configuration.ui:15 +#, fuzzy +msgid "A restart may be required for some settings to take effect" +msgstr "" +"Je moet Gajim herstarten vooraleer sommige instellingen in werking treden" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "" + +#: gajim/data/gui/advanced_configuration.ui:120 +#, fuzzy +msgid "_Reset Value" +msgstr "He_rstellen naar standaardwaarden" + +#: gajim/data/gui/advanced_configuration.ui:125 +#, fuzzy +msgid "Resets value to default" +msgstr "He_rstellen naar standaardwaarden" + +#: gajim/data/gui/history_window.ui:27 +msgid "Display status changes" +msgstr "Statusveranderingen tonen" + +#: gajim/data/gui/history_window.ui:57 +msgid "History Manager" +msgstr "Geschiedenisbeheer" + +#: gajim/data/gui/history_window.ui:233 +msgid "Mode" +msgstr "Modus" + +#: gajim/data/gui/history_window.ui:246 +msgid "Search complete history" +msgstr "Volledige geschiedenis doorzoeken" + +#: gajim/data/gui/history_window.ui:263 +msgid "Search selected day only" +msgstr "Enkel geselecteerde dag doorzoeken" + +#: gajim/data/gui/history_window.ui:317 +#, fuzzy +msgid "Store history for this chat" +msgstr "Geschiedenis bijhouden voor dit gesprek" + +#: gajim/data/gui/history_window.ui:332 +#, fuzzy +msgid "Store History" +msgstr "Geschiedenis bijhouden" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +#, fuzzy +msgid "Identified Error" +msgstr "SSL-certificaatfout" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +#, fuzzy +msgid "" +msgstr "fout" + +#: gajim/data/gui/ssl_error_dialog.ui:74 +#, fuzzy +msgid "Add this certificate to the list of _trusted certificates" +msgstr "" +"Voeg dit certificaat toe aan de lijst van vertrouwde certificaten.\n" +"SHA1-vingerafdruk van het certificaat:\n" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +#, fuzzy +msgid "_View Certificate" +msgstr "Certificaat bekijken…" + +#: gajim/data/gui/ssl_error_dialog.ui:120 +#, fuzzy +msgid "_Connect" +msgstr "Verbonden" + +#: data/org.gajim.Gajim.desktop.in:5 +#, fuzzy +msgid "XMPP Chat Client" +msgstr "Jabber-IM-cliënt" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:8 +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "chat;messaging;berichten;gesprekken;im;xmpp;bonjour;voip;" + +#: data/org.gajim.Gajim.desktop.in:27 +msgid "Show next pending event" +msgstr "Toon volgende wachtende gebeurtenis" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +#, fuzzy +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" +"Chat met je vrienden of familie, wissel eenvoudig foto’s en gedachten uit of " +"praat over het nieuws met je groepen." + +#: data/org.gajim.Gajim.appdata.xml.in:14 +#, fuzzy +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "Chat veilig met eind-tot-eind-versleuteling via OMEMO of PGP" + +#: data/org.gajim.Gajim.appdata.xml.in:15 +#, fuzzy +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" +"Gajim integreert goed met je andere apparaten: wat je via Gajim zegt zal je " +"ook op je mobiele apparaat kunnen zien." + +#: data/org.gajim.Gajim.appdata.xml.in:17 +msgid "Features:" +msgstr "Functies:" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "Mis nooit een bericht, en hou al je chatcliënten gesynchroniseerd" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "Nodig vrienden uit in groepsgesprekken, of neem eraan deel" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "Stuur foto’s, video’s of andere bestanden naar vrienden en groepen" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +#, fuzzy +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "Chat veilig met eind-tot-eind-versleuteling via OMEMO of PGP" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "Gebruik je favoriete emoticons, stel je eigen avatar in" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "Bewaar en beheer je gespreksgeschiedenis" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "Organiseer je gesprekken met tabbladen" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +msgid "Automatic spell-checking for your messages" +msgstr "Automatische spellingscontrole voor je berichten" + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "" +"Maak verbinding met andere Messengers via Transporten (Facebook, IRC, …)" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" +"Zoek dingen op op Wikipedia, in woordenboeken of met andere zoekmachines, " +"rechtstreeks vanuit het gespreksvenster" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" +"Stel je activiteit, deuntje en humeur in om je vrienden te tonen hoe je je " +"voelt" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "Ondersteuning voor meerdere accounts" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "" +"Groepeer meerdere contacten van een vriend tezamen in een enkel metacontact" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "XML-console om na te kijken wat er gebeurt in de protocollaag" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +#, fuzzy +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "Serverloos chatten (Bonjour/Zeroconf), BOSH" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +msgid "Support for service discovery including nodes and search for users" +msgstr "" +"Ondersteuning voor dienstontdekking, inclusief knooppunten en zoeken naar " +"gebruikers" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "Nog meer functies via plug-ins" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +#, fuzzy +msgid "Contact list" +msgstr "Contacten" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "Gespreksvenster met tabbladen" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +msgid "Group chat support" +msgstr "Ondersteuning voor groepsgesprekken" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +msgid "Chat history" +msgstr "Gespreksgeschiedenis" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +msgid "Plugin manager" +msgstr "Plug-inbeheer" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +#, fuzzy +msgid "Gajim Team" +msgstr "Gajim-thema’s" + +#~ msgid "Chat Settings" +#~ msgstr "Gespreksinstellingen" + +#, python-format +#~ msgid "%i day" +#~ msgid_plural "%i days" +#~ msgstr[0] "%i dag" +#~ msgstr[1] "%i dagen" + +#~ msgid "Composing only" +#~ msgstr "Alleen ‘aan het typen’" + +#~ msgid "All chat states" +#~ msgstr "Alle gesprekstoestanden" + +#~ msgid "Privacy Lists" +#~ msgstr "Privacylijsten" + +#, fuzzy +#~ msgid "Unblock" +#~ msgstr "_Deblokkeren" + +#, fuzzy +#~ msgid "Block" +#~ msgstr "_Blokkeren" + +#~ msgid "None" +#~ msgstr "Geen" + +#, python-format +#~ msgid "%s Status Message" +#~ msgstr "%s statusbericht" + +#~ msgid "an audio and video" +#~ msgstr "een audio- en video-" + +#~ msgid "an audio" +#~ msgstr "een audio-" + +#~ msgid "a video" +#~ msgstr "een video-" + +#, fuzzy, python-format +#~ msgid "" +#~ "%(contact)s wants to start a %(type)s chat with you. Do you want to " +#~ "answer the call?" +#~ msgstr "" +#~ "%(contact)s wil een %(type)s sessie met je beginnen. Wil je de oproep " +#~ "beantwoorden?" + +#~ msgid "Could not load image" +#~ msgstr "Kon afbeelding niet laden" + +#~ msgid "Error." +#~ msgstr "Fout." + +#, python-format +#~ msgid "%(type)s state : %(state)s, reason: %(reason)s" +#~ msgstr "%(type)s toestand : %(state)s, reden: %(reason)s" + +#, fuzzy +#~ msgid "" +#~ "This contact will see you offline and you will not receive any messages " +#~ "sent to you by this contact." +#~ msgstr "" +#~ "Dit contact zal je offline zien en je zal er geen berichten van ontvangen." + +#, fuzzy +#~ msgid "_Block Contact" +#~ msgstr "Geblokkeerde contacten" + +#, fuzzy +#~ msgid "Block Group" +#~ msgstr "_Blokkeren" + +#, fuzzy +#~ msgid "Really block this group?" +#~ msgstr "Is OpenPGP ingeschakeld voor dit contact?" + +#, fuzzy +#~ msgid "" +#~ "All contacts of this group will see you as offline and you will not " +#~ "receive any messages sent to you by any one of these contacts." +#~ msgstr "" +#~ "Dit contact zal je offline zien en je zal er geen berichten van ontvangen." + +#, fuzzy +#~ msgid "_Block Group" +#~ msgstr "_Blokkeren" + +#~ msgid "No account available" +#~ msgstr "Geen account beschikbaar" + +#~ msgid "You must create an account before you can chat with other contacts." +#~ msgstr "" +#~ "Je moet een account aanmaken voor je gesprekken kunt voeren met andere " +#~ "contacten." + +#~ msgid "Metacontacts storage not supported by your server" +#~ msgstr "Metacontactenopslag wordt niet ondersteund door je server" + +#~ msgid "" +#~ "Your server does not support storing metacontacts information. So this " +#~ "information will not be saved on next reconnection." +#~ msgstr "" +#~ "Je server biedt geen ondersteuning voor de opslag van " +#~ "metacontacteninformatie, deze informatie zal dus niet opgeslagen worden " +#~ "bij de volgende verbinding." + +#, python-brace-format +#~ msgid "You are invited to {room} by {user}" +#~ msgstr "Je bent door {user} uitgenodigd in {room}" + +#, python-format +#~ msgid "%s wants to start a voice chat." +#~ msgstr "%s wil een audiogesprek starten." + +#~ msgid "Could not save your settings and preferences" +#~ msgstr "Kan je instellingen en voorkeuren niet opslaan" + +#, fuzzy +#~ msgid "Error While Removing Privacy List" +#~ msgstr "Fout bij verwijderen van privacylijst" + +#, fuzzy, python-format +#~ msgid "" +#~ "Privacy list %s has not been removed. It is probably active in one of " +#~ "your connected resources. Please deactivate it and try again." +#~ msgstr "" +#~ "Privacylijst %s is niet verwijderd. Deze is misschien actief in een van " +#~ "je verbonden bronnen. Schakel deze bron uit en probeer het opnieuw." + +#, fuzzy +#~ msgid "Invisibility Not Supported" +#~ msgstr "Onzichtbaarheid niet ondersteund" + +#, fuzzy, python-format +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "Account %s ondersteunt geen onzichtbaarheid." + +#, fuzzy +#~ msgid "Could not request upload slot for HTTP File Upload" +#~ msgstr "Kon uploadslot niet opvragen" + +#, fuzzy +#~ msgid "Exception raised while trying to open file (see log)." +#~ msgstr "Uitzondering bij openen van bestand (zie log)" + +#, fuzzy +#~ msgid "Not Secure" +#~ msgstr "Niet versleuteld" + +#, fuzzy +#~ msgid "Could not Upload File" +#~ msgstr "Kon bestand niet uploaden" + +#, python-format +#~ msgid "HTTP response code from server: %s" +#~ msgstr "HTTP-antwoordcode van server: %s" + +#~ msgid "Upload Error" +#~ msgstr "Uploadfout" + +#~ msgid "Encryption Error" +#~ msgstr "Versleutelingsfout" + +#~ msgid "Lists all preferences and their values" +#~ msgstr "Toont alle voorkeuren en hun waarden" + +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "Zet waarde van ‘sleutel’ op ‘waarde’." + +#~ msgid "key=value" +#~ msgstr "sleutel=waarde" + +#~ msgid "'key' is the name of the preference, 'value' is what to set it to" +#~ msgstr "" +#~ "‘sleutel’ is de naam van de voorkeur, ‘waarde’ is de waarde die zal " +#~ "worden ingesteld" + +#~ msgid "Deletes a preference item" +#~ msgstr "Verwijdert een voorkeursitem" + +#~ msgid "key" +#~ msgstr "sleutel" + +#~ msgid "name of the preference to be deleted" +#~ msgstr "naam van de voorkeur die verwijderd zal worden" + +#~ msgid "Writes the current state of Gajim preferences to the .config file" +#~ msgstr "" +#~ "Schrijft de huidige toestand van de Gajim-voorkeuren weg naar het .config-" +#~ "bestand" + +#, python-format +#~ msgid "%s is a directory but should be a file" +#~ msgstr "%s is een map maar zou een bestand moeten zijn" + +#, python-format +#~ msgid "Creating %s" +#~ msgstr "%s aanmaken" + +#, python-format +#~ msgid "%(nickname)s Signed In" +#~ msgstr "%(nickname)s is ingelogd" + +#~ msgid "Contact Signed In" +#~ msgstr "Contact is ingelogd" + +#, python-format +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "%(nickname)s is uitgelogd" + +#~ msgid "Contact Signed Out" +#~ msgstr "Contact is uitgelogd" + +#, fuzzy +#~ msgid "" +#~ "Show desktop notification even when a chat window is opened for this " +#~ "contact and does not have focus." +#~ msgstr "" +#~ "Toon bureaubladmelding zelfs wanneer gespreksvenster voor dit contact " +#~ "geopend en niet gefocust is" + +#~ msgid "default" +#~ msgstr "standaard" + +#, fuzzy +#~ msgid "" +#~ "Character to propose to add after desired nickname when nickname is " +#~ "already used in group chat." +#~ msgstr "" +#~ "Voor te stellen teken om aan gewenste bijnaam toe te voegen indien " +#~ "gewenste bijnaam reeds door iemand anders in groepsgesprek in gebruik is." + +#, fuzzy +#~ msgid "" +#~ "How many seconds to wait before trying to automatically rejoin a group " +#~ "chat you were disconnected from. Set to 0 to disable automatic rejoining." +#~ msgstr "" +#~ "Aantal seconden vooraleer geprobeerd moet worden opnieuw deel te nemen " +#~ "aan een groepsgesprek waarmee je verbinding verbroken wordt. Stel dit in " +#~ "op 0 om automatisch opnieuw deelnemen uit te schakelen." + +#, fuzzy +#~ msgid "If enabled, Gajim displays the avatar in the chat window." +#~ msgstr "" +#~ "Indien uitgeschakeld zal je de avatar niet meer zien in het " +#~ "gespreksvenster." + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will show affiliation of group chat participants by " +#~ "adding a colored square to the status icon." +#~ msgstr "" +#~ "Indien ingeschakeld zal Gajim de aansluiting van leden van " +#~ "groepsgesprekken weergeven door een gekleurd vierkantje toe te voegen aan " +#~ "het statussymbool" + +#~ msgid "Options in days which can be chosen in the sync threshold menu" +#~ msgstr "" +#~ "Opties in dagen die gekozen kunnen worden in het " +#~ "synchronisatiedrempelwaardemenu" + +#, fuzzy +#~ msgid "" +#~ "Status to be used automatically when connecting. Can be 'online', 'chat', " +#~ "'away', 'xa' or 'dnd'. NOTE: This option is used only if " +#~ "'restore_last_status' is disabled." +#~ msgstr "" +#~ "Status om automatisch opnieuw mee te verbinden. Kan ‘online’, ‘chat’, " +#~ "‘away’, ‘xa’, ‘dnd’ of ‘invisible’ zijn. LET OP: deze optie wordt enkel " +#~ "gebruikt als restore_last_status is uitgeschakeld" + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending password on an plaintext connection. " +#~ "Can be 'warn', or 'none'." +#~ msgstr "" +#~ "Geeft een waarschuwingsdialoog weer voor het versturen van een wachtwoord " +#~ "over een niet-beveiligde verbinding. Kan ‘warn’ (waarschuwen), " +#~ "‘connect’ (verbinden) of ‘disconnect’ (verbinding verbreken) zijn" + +#, fuzzy +#~ msgid "" +#~ "How many seconds to wait for the answer of a ping alive packet before " +#~ "trying to reconnect." +#~ msgstr "" +#~ "Aantal seconden te wachten op antwoord van ping-alive-pakket vooraleer " +#~ "poging tot opnieuw verbinden?" + +#~ msgid "I'm available." +#~ msgstr "Ik ben aanwezig." + +#~ msgid "I'm free for chat." +#~ msgstr "Ik sta open voor gesprekken." + +#~ msgid "Be right back." +#~ msgstr "Zo terug." + +#~ msgid "I'm not available." +#~ msgstr "Ik ben niet beschikbaar." + +#~ msgid "Do not disturb." +#~ msgstr "Niet storen." + +#~ msgid "Bye!" +#~ msgstr "Tot ziens!" + +#~ msgid "Timeout loading image" +#~ msgstr "Time-out bij laden van afbeelding" + +#~ msgid "Image is too big" +#~ msgstr "Afbeelding is te groot" + +#~ msgid "PyCURL is not installed" +#~ msgstr "PyCURL is niet geïnstalleerd" + +#~ msgid "Error loading image" +#~ msgstr "Fout bij laden van afbeelding" + +#~ msgid "Blocked Contacts" +#~ msgstr "Geblokkeerde contacten" + +#~ msgid "Join group chat every time Gajim is started" +#~ msgstr "Deelnemen aan groepsgesprek bij opstarten van Gajim" + +#, fuzzy +#~ msgid "Group chat" +#~ msgstr "Groepsgesprekken" + +#~ msgid "Bookmark group chat" +#~ msgstr "Groepsgesprek toevoegen aan bladwijzers" + +#~ msgid "Bookmark" +#~ msgstr "Toevoegen aan bladwijzers" + +#~ msgid "Recently used group chats" +#~ msgstr "Recente groepsgesprekken" + +#~ msgid "Search group chats on selected server" +#~ msgstr "Doorzoek de groepsgesprekken op de geselecteerde server" + +#~ msgid "Clear Avatar" +#~ msgstr "Avatar wissen" + +#~ msgid "Set Avatar…" +#~ msgstr "Kies avatar…" + +#~ msgid "Main" +#~ msgstr "Standaard" + +#~ msgid "Contact" +#~ msgstr "Contact" + +#, fuzzy +#~ msgid "_Leave Group Chat" +#~ msgstr "Groepsgesprekken verlaten" + +#, fuzzy +#~ msgid "Enter a new name for this group chat" +#~ msgstr "Voer een nieuwe naam in voor groep %s" + +#~ msgid "Use default applications" +#~ msgstr "Standaardprogramma’s gebruiken" + +#~ msgid "Custom" +#~ msgstr "Aangepast" + +#~ msgid "Pop it up" +#~ msgstr "Laat het opduiken" + +#~ msgid "Notify me about it" +#~ msgstr "Stel mij ervan op de hoogte" + +#, fuzzy +#~ msgid "Show only in contact list" +#~ msgstr "Alleen actieve contacten weergeven" + +#~ msgid "No status messages" +#~ msgstr "Geen statusberichten" + +#~ msgid "All status messages" +#~ msgstr "Alle statusberichten" + +#~ msgid "Only enter/leave messages" +#~ msgstr "Enkel berichten over deelnemen/verlaten" + +#~ msgid "_Tabs placement" +#~ msgstr "_Tabbladplaatsing" + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will quit when closing the contact list window instead " +#~ "of minimizing to the system's notification area" +#~ msgstr "" +#~ "Indien ingeschakeld zal Gajim zichzelf afsluiten bij het sluiten van het " +#~ "roostervenster, in plaats van te minimaliseren naar het systeemvak" + +#, fuzzy +#~ msgid "Me_rge accounts" +#~ msgstr "Accounts samenvoe_gen" + +#, fuzzy +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "A_vatars van contacten in rooster weergeven" + +#, fuzzy +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "" +#~ "Indien aangevinkt zal Gajim contactavatars in het roostervenster en in " +#~ "groepsgesprekken weergeven" + +#, fuzzy +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "Statusberichte_n van contacten weergeven in rooster" + +#, fuzzy +#~ msgid "" +#~ "If checked, status messages of contacts will be shown under the contact's " +#~ "name, in the contact list window, and in group chats" +#~ msgstr "" +#~ "Indien aangevinkt zal Gajim statusberichten van contacten onder de " +#~ "contactnaam, in het roostervenster en in groepsgesprekken weergeven" + +#, fuzzy +#~ msgid "" +#~ "Show e_xtra information of contacts in contact list (mood, activity, ...)" +#~ msgstr "" +#~ "E_xtra informatie over contacten in rooster weergeven (stemming, " +#~ "activiteit, …)" + +#, fuzzy +#~ msgid "" +#~ "If checked, additional info published by the contact will be shown in the " +#~ "contact list. Additional infos (published via PEP) may include e.g. mood, " +#~ "activity, tune, location, ..." +#~ msgstr "" +#~ "Indien ingeschakeld zal extra informatie aangeboden door een contact in " +#~ "het rooster worden weergegeven. Extra informatie (aangeboden via PEP) kan " +#~ "bv. stemming, activiteit, deuntje, locatie, … omvatten" + +# Verzonden aan contacten? +#, fuzzy +#~ msgid "in _contact list" +#~ msgstr "Verzonden contacten:" + +#~ msgid "in _group chats" +#~ msgstr "in _groepsgesprekken" + +#~ msgid "Enable spell _checking" +#~ msgstr "Spelling_controle inschakelen" + +#~ msgid "" +#~ "If checked, spelling errors in input fields of chat windows will be " +#~ "highlighted. If no language is explicitly set via right click on the " +#~ "input field, the default language will be used for this contact or group " +#~ "chat. Needs gspell to be installed." +#~ msgstr "" +#~ "Indien aangevinkt zal Gajim spellingsfouten in invoervelden van " +#~ "gespreksvensters aanduiden. Indien geen specifieke taal is gekozen door " +#~ "te rechterklikken op het invoerveld zal de standaardtaal voor dit contact " +#~ "of groepsgesprek gebruikt worden. Hiervoor moet gspell geïnstalleerd zijn." + +#~ msgid "" +#~ "If checked, a small checkmark will be shown after each message when it " +#~ "was received. Note that this is not supported by all clients and " +#~ "therefore could be misleading." +#~ msgstr "" +#~ "Indien ingeschakeld zal een klein v’tje worden weergegeven naast elk " +#~ "bericht wanneer dit ontvangen is. Let op: dit wordt niet door alle " +#~ "cliënten ondersteund en is dus niet noodzakelijk accuraat." + +#~ msgid "Display status messages in _single chats" +#~ msgstr "Statusberichten weergeven in enkele ge_sprekken" + +#~ msgid "" +#~ "If checked, status lines will be shown in 1 on 1 chats when a contact " +#~ "changes their status or status message" +#~ msgstr "" +#~ "Indien aangevinkt zullen statusregels in 1-op-1-gesprekken worden " +#~ "weergegeven in wanneer een contact zijn/haar status of statusbericht " +#~ "aanpast" + +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "Onderwerp weergeven bi_j deelnemen aan groepsgesprek" + +#, fuzzy +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "" +#~ "Indien aangevinkt zal het onderwerp van het groepsgesprek worden " +#~ "weergegeven bij deelnemen" + +#~ msgid "Show join/leave (Default)" +#~ msgstr "Deelnemen/verlaten tonen (standaard)" + +#, fuzzy +#~ msgid "" +#~ "If join/leave status messages are shown in the group chat. This setting " +#~ "can be overridden in the group chat menu." +#~ msgstr "" +#~ "Of statusberichten voor deelnemen/verlaten in het groepsgesprek worden " +#~ "weergegeven. Deze instelling kan in het groepsgespreksmenu worden " +#~ "overschreven." + +#, fuzzy +#~ msgid "" +#~ "The default sync threshold for new public group chats. This setting can " +#~ "be overridden in the group chat menu." +#~ msgstr "" +#~ "De standaarddrempelwaarde voor synchronisatie voor nieuwe openbare " +#~ "groepsgesprekken. Deze instelling kan in het groepsgespreksmenu worden " +#~ "overschreven." + +#~ msgid "Show status changes (Default)" +#~ msgstr "Statusveranderingen tonen (standaard)" + +#, fuzzy +#~ msgid "" +#~ "If status change messages are shown in the group chat. This setting can " +#~ "be overridden in the group chat menu." +#~ msgstr "" +#~ "Of berichten over statuswijzigingen in het groepsgesprek worden " +#~ "weergegeven. Deze instelling kan in het groepsgespreksmenu worden " +#~ "overschreven." + +#~ msgid "" +#~ "If checked, the tab will be colored according to the current chatstate of " +#~ "the contact" +#~ msgstr "" +#~ "Indien aangevinkt zal het tabblad ingekleurd worden naargelang de huidige " +#~ "chatstatus van het contact" + +#~ msgid "" +#~ "If checked, the contact row will be colored according to the current " +#~ "chatstate of the contact" +#~ msgstr "" +#~ "Indien aangevinkt zal de contactrij worden ingekleurd naargelang de " +#~ "huidige chatstatus van het contact" + +#, fuzzy +#~ msgid "" +#~ "If checked, a description of the contacts current chatstate is shown in " +#~ "the banner" +#~ msgstr "" +#~ "Indien aangevinkt zal een beschrijving van de huidige chatstatus van het " +#~ "contact worden weergegeven in de banier" + +#~ msgid "Chatstate" +#~ msgstr "Chatstatus" + +#~ msgid "_When new event is received" +#~ msgstr "Wanneer een _nieuwe gebeurtenis wordt ontvangen" + +#~ msgid "Show popups/notifications when a chat window is already _open" +#~ msgstr "Pop-ups/meldingen weergeven wanneer gespreksvenster ge_opend is" + +#, fuzzy +#~ msgid "Allow popups/notifications when I'm _away, not available or busy" +#~ msgstr "" +#~ "Laat pop-ups/meldingen zien wanneer ik _afwezig, niet beschikbaar, bezig " +#~ "of onzichtbaar ben" + +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "Geef mij bericht over contacten die _inloggen" + +#~ msgid "" +#~ "A popup window about contacts that just signed in will be shown in the " +#~ "bottom right of the screen " +#~ msgstr "" +#~ "Een pop-upvenster over net ingelogde contacten zal rechtsonder verschijnen" + +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "Geef mij bericht over contacten die uitl_oggen" + +#~ msgid "" +#~ "A popup window about contacts that just signed out will be shown in the " +#~ "bottom right of the screen " +#~ msgstr "" +#~ "Een pop-upvenster over net uitgelogde contacten zal rechtsonder " +#~ "verschijnen" + +#~ msgid "Play _sounds" +#~ msgstr "Geluiden af_spelen" + +#~ msgid "Ma_nage..." +#~ msgstr "Behere_n…" + +#~ msgid "Allow playing sounds when I'm _busy" +#~ msgstr "Afspelen van geluiden toestaan wanneer ik _bezig ben" + +#~ msgid "No_t Available" +#~ msgstr "Nie_t beschikbaar" + +#~ msgid "" +#~ "If checked, the status will be changed to Not Available when the computer " +#~ "has not been used for the specified time" +#~ msgstr "" +#~ "Indien aangevinkt zal Gajim je status veranderen naar ‘Niet beschikbaar’ " +#~ "wanneer de computer niet gebruikt is voor de opgegeven tijdsduur" + +#~ msgid "" +#~ "If checked, the status will be changed to Away when the computer has not " +#~ "been used for the specified time" +#~ msgstr "" +#~ "Indien aangevinkt zal Gajim je status veranderen naar ‘Afwezig’ wanneer " +#~ "de computer niet gebruikts is voor de opgegeven tijdsduur" + +#~ msgid "" +#~ "The automatic away status message. If empty, the current status message " +#~ "will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-away timeout." +#~ msgstr "" +#~ "Het statusbericht voor automatische afwezigheid. Indien leeg, zal het " +#~ "huidige statusbericht niet worden gewijzigd.\n" +#~ "$S zal worden vervangen door vorig statusbericht.\n" +#~ "$T zal worden vervangen door automatische afwezigheidstime-out." + +#~ msgid "" +#~ "The automatic not available status message. If empty, the current status " +#~ "message will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-not-available timeout." +#~ msgstr "" +#~ "Het statusbericht voor automatische onbeschikbaarheid. Indien leeg, zal " +#~ "het huidige statusbericht niet worden gewijzigd.\n" +#~ "$S zal worden vervangen door vorig statusbericht.\n" +#~ "$T zal worden vervangen door automatische onbeschikbaarheidstime-out." + +#~ msgid "Minutes" +#~ msgstr "Minuten" + +#~ msgid "_Remember and restore status of the last session" +#~ msgstr "Status van vorige sessie onthouden en he_rstellen" + +#~ msgid "" +#~ "If enabled, Gajim will not ask for a status message. The specified " +#~ "default message will be used instead." +#~ msgstr "" +#~ "Indien ingeschakeld zal Gajim niet vragen naar een statusbericht. In " +#~ "plaats daarvan zal het opgegeven standaardbericht gebruikt worden." + +#~ msgid "Default Message" +#~ msgstr "Standaardbericht" + +#~ msgid "Status Messages" +#~ msgstr "Statusberichten" + +#~ msgid "Preset Status Messages" +#~ msgstr "Vooraf ingestelde statusberichten" + +#~ msgid "_Theme" +#~ msgstr "_Thema" + +#~ msgid "Configure color and font of the interface" +#~ msgstr "Kleur en lettertype van de gebruikersinterface configureren" + +#~ msgid "Icons" +#~ msgstr "Pictogrammen" + +#~ msgid "" +#~ "If checked, protocol-specific status icons will be used (e.g. a contact " +#~ "from ICQ will have the equivalent ICQ icon for status online, away, busy, " +#~ "etc...)" +#~ msgstr "" +#~ "Indien aangevinkt zal Gajim statuspictogrammen gebruiken die bij het " +#~ "protocol horen (bv. contacten van ICQ zullen met ICQ-pictogrammen worden " +#~ "weergegeven voor status online, afwezig, bezig, enz…)" + +#, fuzzy +#~ msgid "Video output" +#~ msgstr "video-uitvoer" + +#~ msgid "Video si_ze" +#~ msgstr "Video_grootte" + +#~ msgid "Vi_ew own video source" +#~ msgstr "_Eigen videobron weergeven" + +#~ msgid "" +#~ "STUN server hostname. If no hostname was given, Gajim will try\n" +#~ "to discover one from the server. (Example: stun.iptel.org)" +#~ msgstr "" +#~ "STUN-serverhostnaam. Indien geen gespecifieerd zal\n" +#~ "Gajim er een proberen te ontdekken van de server. (Bv.: stun.iptel.org)" + +#~ msgid "_Manage..." +#~ msgstr "_Beheren…" + +#, fuzzy +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "Houdt statuswijzigingen van contacten bij in het logboek" + +#, fuzzy +#~ msgid "Enable _debug logging (restart required)" +#~ msgstr "_Debuglogs inschakelen" + +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "" +#~ "Indien aangevinkt zal Gajim een logboekbestand bijhouden voor debuggen" + +#~ msgid "_Open..." +#~ msgstr "_Openen…" + +#~ msgid "_Filter" +#~ msgstr "_Filter" + +#, fuzzy +#~ msgid "Protocol" +#~ msgstr "_Protocol" + +#~ msgid "Privacy Lists:" +#~ msgstr "Privacylijsten:" + +#, fuzzy +#~ msgid "_Ignore this error for this certificate" +#~ msgstr "Negeer deze fout voor dit certificaat." + +#~ msgid "Message..." +#~ msgstr "Bericht…" + +#~ msgid "_Message if you decline (optional)" +#~ msgstr "_Bericht als u weigert (optioneel):" + +#~ msgid "Preset _messages" +#~ msgstr "Vooraf in_gestelde berichten" + +#~ msgid "_Type your new status message" +#~ msgstr "Voer je nieuwe s_tatusbericht in" + +#~ msgid "Incoming call" +#~ msgstr "Inkomende oproep" + +#~ msgid "Change Status Message…" +#~ msgstr "Statusbericht wijzigen…" + +#~ msgid "Mood:" +#~ msgstr "Stemming:" + +#~ msgid "Message:" +#~ msgstr "Bericht:" + +#~ msgid "none" +#~ msgstr "geen" + +#~ msgid "both" +#~ msgstr "beide" + +#~ msgid "from" +#~ msgstr "van" + +#~ msgid "to" +#~ msgstr "om" + +#~ msgid "Privacy List" +#~ msgstr "Privacylijst" + +#~ msgid "Privacy List" +#~ msgstr "Privacylijst" + +#~ msgid "Active for this session" +#~ msgstr "Actief voor deze sessie" + +#~ msgid "Active on each startup" +#~ msgstr "Activeren telkens Gajim opstart" + +#~ msgid "List of rules" +#~ msgstr "Lijst van regels" + +#~ msgid "Add / Edit a rule" +#~ msgstr "Regel toevoegen/bewerken" + +#~ msgid "Allow" +#~ msgstr "Toestaan" + +#~ msgid "Deny" +#~ msgstr "Weigeren" + +#~ msgid "all in the group" +#~ msgstr "alle in de groep" + +#~ msgid "all by subscription" +#~ msgstr "alles per abonnement" + +#~ msgid "All" +#~ msgstr "Iedereen" + +#~ msgid "to send me messages" +#~ msgstr "mij berichten te sturen" + +#~ msgid "to send me queries" +#~ msgstr "me verzoeken te sturen" + +#~ msgid "to view my status" +#~ msgstr "mijn status laten zien" + +#~ msgid "to send me status" +#~ msgstr "mij status te sturen" + +#~ msgid "All (including subscription)" +#~ msgstr "Alles (inclusief abonnement)" + +#~ msgid "Order:" +#~ msgstr "Volgorde:" + +#~ msgid "" +#~ "Deny authorization from contact so the contact cannot know if you are " +#~ "connected" +#~ msgstr "Geef contact geen toestemming om te zien of je online bent" + +#~ msgid "Authorize contact so the contact can know if you are connected" +#~ msgstr "Geef contact toestemming om te zien of je online bent" + +#~ msgid "Chat Shortcuts" +#~ msgstr "Gesprekssneltoetsen" + +#, fuzzy +#~ msgid "Contact List Shortcuts" +#~ msgstr "Gesprekssneltoetsen" + +#~ msgid "Fill in the form." +#~ msgstr "Vul het formulier in." + +#~ msgid "Set an activity" +#~ msgstr "Stel een activiteit in" + +#~ msgid "Message: " +#~ msgstr "Bericht: " + +#, python-format +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "%(jid)s uitgenodigd in %(room_jid)s" + +#~ msgid "Group Chat Invitation " +#~ msgstr "Uitnodiging voor groepsgesprek" + +#, python-format +#~ msgid "Comment: %s" +#~ msgstr "Commentaar: %s" + +#~ msgid "On" +#~ msgstr "Aan" + +#~ msgid "Off" +#~ msgstr "Uit" + +#~ msgid "Retrieving profile…" +#~ msgstr "Profiel wordt opgehaald…" + +#~ msgid "Wrong date format" +#~ msgstr "Verkeerd datumformaat" + +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "Formaat: YYYY-MM-DD" + +#~ msgid "Information received" +#~ msgstr "Informatie ontvangen" + +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "" +#~ "Het is niet mogelijk je contactinformatie te publiceren zonder verbinding." + +#~ msgid "Sending profile…" +#~ msgstr "Profiel wordt verzonden…" + +#~ msgid "Information NOT published" +#~ msgstr "Informatie NIET gepubliceerd" + +#~ msgid "vCard publication failed" +#~ msgstr "vCard-publicatie is mislukt" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "" +#~ "Er trad een fout up bij het publiceren van je persoonlijke informatie, " +#~ "probeer het later opnieuw." + +#, fuzzy +#~ msgid "?password:Hidden" +#~ msgstr "Wachtwoord:" + +#, python-format +#~ msgid "Privacy List %s" +#~ msgstr "Privacylijst %s" + +#, python-format +#~ msgid "Privacy List for %s" +#~ msgstr "Privacylijst voor %s" + +#, python-format +#~ msgid "" +#~ "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" +#~ msgstr "" +#~ "Volgorde: %(order)s, actie: %(action)s, type: %(type)s, waarde: %(value)s" + +#, python-format +#~ msgid "Order: %(order)s, action: %(action)s" +#~ msgstr "Volgorde: %(order)s, actie: %(action)s" + +#~ msgid "Edit a rule" +#~ msgstr "Regel wijzigen" + +#~ msgid "Add a rule" +#~ msgstr "Regel toevoegen" + +#, python-format +#~ msgid "Privacy Lists for %s" +#~ msgstr "Privacylijsten voor %s" + +#~ msgid "Invalid List Name" +#~ msgstr "Ongeldige lijstnaam" + +#~ msgid "You must enter a name to create a privacy list." +#~ msgstr "Je moet een naam invullen om een privacylijst aan te maken." + +#~ msgid "Loading" +#~ msgstr "Bezig met laden" + +#~ msgid "status message title" +#~ msgstr "statusberichttitel" + +#~ msgid "status message text" +#~ msgstr "statusberichttekst" + +#~ msgid "" +#~ "Gajim aims to be an easy to use and fully-featured XMPP client. With " +#~ "Gajim you can chat through various XMPP services of your choice (e.g. " +#~ "Jabber.org) as well as transports (e.g. Facebook, IRC)." +#~ msgstr "" +#~ "Gajim heeft als doel een eenvoudig te gebruiken en multifunctionele XMPP-" +#~ "cliënt te zijn. Met Gajim kan je chatten via verschillende XMPP-diensten " +#~ "naar keuze (bv. Jabber.org), maar ook via transporten (bv. Facebook, IRC)." + +#, fuzzy +#~ msgid "Start New Conversation" +#~ msgstr "Nieuw gesprek starten" + +#~ msgid "Simulate loss of connectivity" +#~ msgstr "Verbroken verbinding simuleren" + +#~ msgid "Simulate regaining connectivity" +#~ msgstr "Herstellen van verbinding simuleren" + +#~ msgid "Unknown SSL error: %d" +#~ msgstr "Onbekende SSL-fout: %d" + +#~ msgid "Gajim - %s" +#~ msgstr "Gajim - %s" + +#~ msgid "" +#~ "Requires: libsecret and a provider (such as GNOME Keyring and " +#~ "KSecretService)" +#~ msgstr "" +#~ "Vereist: libsecret en een provider (zoals Gnome-sleutelbos en " +#~ "KSecretService)" + +#~ msgid "Choose interval between 2 checks of idleness." +#~ msgstr "Kies interval tussen 2 controles van inactiviteit." + +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "Woordenboek voor taal ‘%s’ niet beschikbaar" + +#~ msgid "" +#~ "You have to install the dictionary \"%s\" to use spellchecking, or choose " +#~ "another language by setting the speller_language option.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "Installeer het ‘%s’-woordenboek voor spellingscontrole, of kies een " +#~ "andere taal door de optie speller_language in te stellen.\n" +#~ "\n" +#~ "Functie voor markeren van verkeerd gespelde woorden zal niet gebruikt " +#~ "worden" + +#~ msgid "_Reconnect" +#~ msgstr "Opnieuw ve_rbinden" + +#~ msgid "Quit" +#~ msgstr "Afsluiten" + +#, fuzzy +#~ msgid "Show Contact List" +#~ msgstr "Alleen actieve contacten weergeven" + +#, fuzzy +#~ msgid "Add to Contact List" +#~ msgstr "Contact toevoegen" + +#, fuzzy +#~ msgid "Invite Contact" +#~ msgstr "Contacten uitnodigen" + +#, fuzzy +#~ msgid "Configure Group Chat" +#~ msgstr "Groepsgesprekken verlaten" + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." +#~ msgstr "" +#~ "Indien ingeschakeld zal Gajim een pictogram met ongelezen berichten op " +#~ "elk tabblad weergeven. Afhankelijk van het thema kan dit pictogram " +#~ "geanimeerd zijn." + +#, fuzzy +#~ msgid "Show a mini avatar in chat window tabs and as the window's icon." +#~ msgstr "" +#~ "Toon een mini-avatar en gespreksvenstertabbladen en in vensterpictogram" + +#~ msgid "Show _avatar in chat tabs" +#~ msgstr "_Avatar weergeven in gesprekstabbladen" + +#~ msgid "If checked, the contact's avatar will be shown in chat tabs" +#~ msgstr "" +#~ "Indien aangevinkt zal de avatar van het contact worden weergegeven in " +#~ "gesprekstabbladen" + +#~ msgid "Server must be between 1 and 1023 bytes" +#~ msgstr "Server moet tussen 1 en 1023 bytes lang zijn" + +#~ msgid "Invalid character in hostname." +#~ msgstr "Ongeldig teken in hostnaam." + +#~ msgid "Server address required." +#~ msgstr "Server adres vereist." + +#~ msgid "Username must be between 1 and 1023 bytes" +#~ msgstr "Gebruikersnaam moet tussen 1 en 1023 bytes lang zijn" + +#~ msgid "Invalid character in username." +#~ msgstr "Ongeldig teken in gebruikersnaam." + +#~ msgid "Resource must be between 1 and 1023 bytes" +#~ msgstr "Bron moet tussen 1 en 1023 bytes lang zijn" + +#~ msgid "Invalid character in resource." +#~ msgstr "Ongeldig teken in bron." + +#, fuzzy +#~ msgid "Notification color for contacts signing in." +#~ msgstr "Geef mij bericht over contacten die _inloggen" + +#, fuzzy +#~ msgid "Notification color for contacts signing out." +#~ msgstr "Geef mij bericht over contacten die uitl_oggen" + +#, fuzzy +#~ msgid "Notification color for new message notification." +#~ msgstr "Meldingskleur voor nieuw bericht." + +#, fuzzy +#~ msgid "Notification color for file transfer request." +#~ msgstr "_Stel mij op de hoogte als een bestandsoverdracht voltooid is" + +#, fuzzy +#~ msgid "Notification color for file transfer errors." +#~ msgstr "_Stel mij op de hoogte als een bestandsoverdracht voltooid is" + +#, fuzzy +#~ msgid "Notification background color for changed status." +#~ msgstr "Achtergrondkleur statuswijzigingsmelding" + +#~ msgid "Event Type" +#~ msgstr "Gebeurtenistype" + +#~ msgid "Event desc" +#~ msgstr "Gebeurtenisbeschrijving" + +#, fuzzy +#~ msgid "HTTP File Upload: Enable HTTPS Verification." +#~ msgstr "HTTP-upload: schakel HTTPS-verificatie in" + +#~ msgid "No response from the Server" +#~ msgstr "Geen antwoord van de server" + +#~ msgid "Resource Conflict" +#~ msgstr "Bronconflict" + +#, fuzzy +#~ msgid "" +#~ "You are already connected to this account with the same resource. Please " +#~ "enter a different one." +#~ msgstr "" +#~ "Je bent al verbonden met deze account van dezelfde bron. Voer een andere " +#~ "in" + +#~ msgid "Unable to load image" +#~ msgstr "Kan afbeelding niet laden" + +#~ msgid "Media type not supported: %s" +#~ msgstr "Mediatype wordt niet ondersteund: %s" + +#~ msgid "This field is required" +#~ msgstr "Dit veld is vereist" + +#~ msgid "new@jabber.id" +#~ msgstr "nieuw@jabber.id" + +#~ msgid "new%d@jabber.id" +#~ msgstr "nieuw%d@jabber.id" + +#~ msgid "video output" +#~ msgstr "video-uitvoer" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Gajim: wizard account aanmaken" + +#, fuzzy +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "Je hebt een account nodig om verbinding te maken\n" +#~ "met het Jabber-netwerk." + +#~ msgid "I already have an account I want to _use" +#~ msgstr "Ik heb al een account die ik wil gebr_uiken" + +#~ msgid "I want to _register for a new account" +#~ msgstr "Ik wil een nieuwe account _registreren" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "Kies een van de volgende opties:" + +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "Vul de informatie in voor je bestaande account" + +#, fuzzy +#~ msgid "_XMPP Address:" +#~ msgstr "AIM-adres:" + +#~ msgid "Anon_ymous authentication" +#~ msgstr "Anon_ieme authenticatie" + +#~ msgid "_Password:" +#~ msgstr "_Wachtwoord:" + +#~ msgid "Save pass_word" +#~ msgstr "_Wachtwoord opslaan" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "" +#~ "Indien aangevinkt zal Gajim het wachtwoord onthouden voor deze account" + +#~ msgid "Please select a server" +#~ msgstr "Kies een server" + +#~ msgid "_Server:" +#~ msgstr "_Server:" + +#~ msgid "Manage..." +#~ msgstr "Beheren…" + +#~ msgid "_Port:" +#~ msgstr "_Poort:" + +#~ msgid "_Advanced" +#~ msgstr "Gea_vanceerd" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA1 fingerprint of the certificate:\n" +#~ msgstr "" +#~ "Voeg dit certificaat toe aan de lijst van vertrouwde certificaten.\n" +#~ "SHA1-vingerafdruk van het certificaat:\n" + +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "Verbinden met server\n" +#~ "\n" +#~ "Even geduld…" + +#~ msgid "Connect when I press Finish" +#~ msgstr "Verbind zodra ik op ‘Afronden’ klik" + +#~ msgid "Set my profile when I connect" +#~ msgstr "Stel mijn profiel in wanneer ik verbinding maak" + +#~ msgid "_Finish" +#~ msgstr "_Afronden" + +#~ msgid "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." +#~ msgstr "" +#~ "Je kan geavanceerde accountopties instellen door op de knop ‘Geavanceerd’ " +#~ "te drukken, of later via Accounts in het menu ‘Bewerken’ van het " +#~ "hoofdvenster." + +#~ msgid "Your new account has been created successfully" +#~ msgstr "Je nieuwe account is aangemaakt" + +#~ msgid "Invalid username" +#~ msgstr "Ongeldige gebruikersnaam" + +#~ msgid "You must provide a username to configure this account." +#~ msgstr "" +#~ "Je moet een gebruikersnaam invullen om deze account te configureren." + +#~ msgid "Invalid server" +#~ msgstr "Ongeldige server" + +#~ msgid "Please provide a server on which you want to register." +#~ msgstr "Geef een server op waarbij je je wil registreren." + +#~ msgid "Invalid entry" +#~ msgstr "Ongeldige invoer" + +#~ msgid "Certificate Already in File" +#~ msgstr "Certificaat al in bestand" + +#~ msgid "This certificate is already in file %s, so it's not added again." +#~ msgstr "" +#~ "Dit certificaat bevindt zich al in bestand %s en wordt niet opnieuw " +#~ "toegevoegd." + +#~ msgid "" +#~ "Security Warning\n" +#~ "\n" +#~ "The authenticity of the %(hostname)s SSL certificate could be invalid.\n" +#~ "SSL Error: %(error)s\n" +#~ "Do you still want to connect to this server?" +#~ msgstr "" +#~ "Veiligheidswaarschuwing\n" +#~ "\n" +#~ "De authenticiteit van het %(hostname)s SSL certificaat kan ongeldig " +#~ "zijn.\n" +#~ "SSL-fout: %(error)s\n" +#~ "Wil je nog steeds verbinden met deze server?" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA-256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Voeg dit certificaat toe aan de lijst van vertrouwde certificaten.\n" +#~ "SHA-1-vingerafdruk van het certificaat:\n" +#~ "%(sha1)s\n" +#~ "SHA-256-vingerafdruk van het certificaat:\n" +#~ "%(sha256)s" + +#~ msgid "Account name is in use" +#~ msgstr "Accountnaam is al in gebruik" + +#~ msgid "You already have an account using this name." +#~ msgstr "Je hebt al een account met deze naam." + +#, fuzzy +#~ msgid "Allow plaintext connections." +#~ msgstr "Onversleutelde verbindingen toestaan" + +#, fuzzy +#~ msgid "" +#~ "List of authentication mechanisms to try (space separated). Can contain " +#~ "'ANONYMOUS', 'EXTERNAL', 'GSSAPI', 'SCRAM-SHA-1-PLUS', 'SCRAM-SHA-1', " +#~ "'DIGEST-MD5', 'PLAIN', 'X-MESSENGER-OAUTH2' or 'XEP-0078'." +#~ msgstr "" +#~ "Door spaties gescheiden lijst van te proberen authenticatiemechanismen. " +#~ "Kan bevatten: ANONYMOUS, EXTERNAL, GSSAPI, SCRAM-SHA-1-PLUS, SCRAM-SHA-1, " +#~ "DIGEST-MD5, PLAIN, X-MESSENGER-OAUTH2 of XEP-0078" + +#~ msgid "Show a warning dialog before using standard SSL library." +#~ msgstr "" +#~ "Geeft een waarschuwingsdialoog weer voor het gebruiken van een standaard " +#~ "SSL-bibliotheek." + +#, fuzzy +#~ msgid "If enabled, a whitespace is sent after inactivity (keep alive)." +#~ msgstr "Witruimte verzonden na inactiviteit" + +#, fuzzy +#~ msgid "If enabled, an XMPP ping is sent after inactivity (ping alive)." +#~ msgstr "XMPP-ping verzonden na inactiviteit" + +#~ msgid "Connection with account \"%s\" has been lost" +#~ msgstr "Verbinding met account ‘%s’ verbroken" + +#~ msgid "Reconnect manually." +#~ msgstr "Handmatig opnieuw verbinden." + +#~ msgid "Server %(name)s answered wrongly to register request: %(error)s" +#~ msgstr "" +#~ "Server %(name)s gaf een verkeerd antwoord op het registratieverzoek: " +#~ "%(error)s" + +#~ msgid "Server %s provided a different registration form" +#~ msgstr "Server %s gaf een ander registratieformulier op" + +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "Kon geen verbinding maken met ‘%(host)s’ via proxy ‘%(proxy)s’" + +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "Kon geen verbinding maken met ‘%(host)s’" + +#~ msgid "Check your connection or try again later." +#~ msgstr "Controleer de verbinding of probeer later nogmaals." + +#~ msgid "Server replied: %s" +#~ msgstr "Server antwoordde: %s" + +#~ msgid "Connection to proxy failed" +#~ msgstr "Verbinding met proxy mislukt" + +#~ msgid "Could not connect to account %s" +#~ msgstr "Kon geen verbinding maken met account %s" + +#~ msgid "Connection with account %s has been lost. Retry connecting." +#~ msgstr "Verbinding met account %s verbroken. Probeer opnieuw te verbinden." + +#~ msgid "Please check your login and password for correctness." +#~ msgstr "Controleer gebruikersnaam en wachtwoord." + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "HTTP verbinden" + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "BOSH" +#~ msgstr "BOSH" + +#~ msgid "Use HTTP prox_y" +#~ msgstr "Gebruik HTTP-prox_y" + +#~ msgid "_BOSH URL" +#~ msgstr "_BOSH-URL" + +#, fuzzy +#~ msgid "BOSH" +#~ msgstr "BOSH" + +#~ msgid "Warn on insecure connection" +#~ msgstr "Waarschuwen vooraleer onbeveiligde verbinding te gebruiken" + +#, fuzzy +#~ msgid "Contact list, list of contacts" +#~ msgstr "Rooster, contactenlijst" + +#~ msgid "You are participating in one or more group chats" +#~ msgstr "Je neem deel aan een of meerdere groepsgesprekken" + +#, fuzzy +#~ msgid "" +#~ "Changing your status to invisible will result in you leaving those group " +#~ "chats.\n" +#~ "Are you sure you want to go invisible?" +#~ msgstr "" +#~ "Door je status naar onzichtbaar te veranderen zal de verbinding met " +#~ "groepsgesprekken verbroken worden. Weet je zeker dat je naar onzichtbaar " +#~ "wilt gaan?" + +#~ msgid "_Disconnect" +#~ msgstr "Verbin_ding verbreken" + +#~ msgid "You cannot join a group chat while you are invisible" +#~ msgstr "" +#~ "Je kan niet deelnemen aan een groepsgesprek terwijl je onzichtbaar bent" + +#~ msgid "Invisible" +#~ msgstr "Onzichtbaar" + +#, fuzzy +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "" +#~ "Je kan niet deelnemen aan een groepsgesprek terwijl je onzichtbaar bent" + +#~ msgid "_Invisible" +#~ msgstr "Onz_ichtbaar" + +#~ msgid "Yesterday" +#~ msgid_plural "%(nb_days)i days ago" +#~ msgstr[0] "Gisteren" +#~ msgstr[1] "%(nb_days)i dagen geleden" + +#, fuzzy +#~ msgid "_Cancel Upload" +#~ msgstr "Upload annuleren" + +#, fuzzy +#~ msgid "Got unexpected response from server (see log)." +#~ msgstr "Onverwacht antwoord ontvangen van server (zie log)" + +#~ msgid " [blocked]" +#~ msgstr " [geblokkeerd]" + +#~ msgid " [minimized]" +#~ msgstr " [geminimaliseerd]" + +#, fuzzy +#~ msgid "" +#~ "If you close this tab while having chat history disabled, this message " +#~ "will be lost." +#~ msgstr "" +#~ "Als je deze tab sluit en geschiedenis uitgeschakeld hebt zal dit bericht " +#~ "verlorgen gaan." + +#, fuzzy +#~ msgid "Unregister Failed" +#~ msgstr "Ontregistreren mislukt" + +#, fuzzy +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "Ontregistratie bij server %(server)s mislukt: %(error)s" + +#~ msgid "New Password" +#~ msgstr "Nieuw wachtwoord" + +#~ msgid "What do you want to do?" +#~ msgstr "Wat wil je doen?" + +#~ msgid "Remove account from Gajim and from _server" +#~ msgstr "Verwijder account van Gajim en van de server" + +#~ msgid "You must enter a password" +#~ msgstr "Je moet een wachtwoord opgeven" + +#, fuzzy +#~ msgid "You still have open chats in your account %s" +#~ msgstr "Je hebt een gesprek geopend in account %s" + +#~ msgid "To unregister from a server, the account must be enabled." +#~ msgstr "" +#~ "Om de registratie van een account bij een server ongedaan te maken, moet " +#~ "deze eerst ingeschakeld zijn." + +#~ msgid "Password required" +#~ msgstr "Wachtwoord vereist" + +#, fuzzy +#~ msgid "Still connected to the server" +#~ msgstr "Er is geen verbinding met de server" + +#, fuzzy +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "Als je ze verwijdert, wordt de verbinding verbroken." + +#~ msgid "Connection to server %s failed" +#~ msgstr "Verbinding met server %s mislukt" + +#~ msgid "What would you like to do?" +#~ msgstr "Wat zou je willen doen?" + +#~ msgid "Remove only from Gajim" +#~ msgstr "Alleen verwijderen van Gajim" + +#~ msgid "Don't remove anything. I'll try again later" +#~ msgstr "Niets verwijderen. Ik probeer het later opnieuw" + +#~ msgid "Contents" +#~ msgstr "Inhoud" + +#~ msgid "FAQ" +#~ msgstr "VGV" + +#~ msgid "Save as Preset Status Message" +#~ msgstr "Opslaan als vooraf ingesteld statusbericht" + +#~ msgid "Enter a new nickname for contact %s" +#~ msgstr "Voer een nieuwe bijnaam in voor contact %s" + +#~ msgid "Join a group chat" +#~ msgstr "Deelnemen aan groepsgesprek" + +#~ msgid "Accept" +#~ msgstr "Accepteren" + +#~ msgid "" +#~ "You tried to delete the currently active theme. Please switch to a " +#~ "different theme first." +#~ msgstr "" +#~ "Je probeerde het huidig actieve thema te verwijderen. Probeer eerst naar " +#~ "een ander thema te wisselen." + +#~ msgid "New entry received" +#~ msgstr "Nieuw item ontvangen" + +#~ msgid "You have received new entry:" +#~ msgstr "Je hebt een nieuw item ontvangen:" + +#~ msgid "Feed name:" +#~ msgstr "Feednaam:" + +#~ msgid "Last modified:" +#~ msgstr "Laatst gewijzigd:" + +#~ msgid "Next entry" +#~ msgstr "Volgend item" + +#~ msgid "Send file?" +#~ msgstr "Bestand verzenden?" + +#~ msgid "Mail _client" +#~ msgstr "E-mail_cliënt" + +#~ msgid "_Browser" +#~ msgstr "_Browser" + +#~ msgid "_File manager" +#~ msgstr "_Bestandsbeheerder" + +#~ msgid "Custom applications" +#~ msgstr "Aangepaste instellingen" + +#~ msgid "Applications" +#~ msgstr "Toepassingen" + +#, fuzzy +#~ msgid "" +#~ "Uses ReStructured text markup to send HTML, plus ASCII formatting if " +#~ "selected. Needs docutils installed (for syntax, see http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Gebruikt ReStructured-tekstopmaak om HTML te verzenden, plus ASCII-" +#~ "formattering indien geselecteerd. Zie http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html voor syntax (installeer docutils als " +#~ "je dit wil gebruiken)" + +#, fuzzy +#~ msgid "Store XHTML messages in chat history instead of plain text messages." +#~ msgstr "Berichten opslaan als XHTML in plaats van platte tekst." + +#~ msgid "_Ignore formatting of incoming messages" +#~ msgstr "Opmaak van _inkomende berichten negeren" + +#~ msgid "" +#~ "Some messages may include rich content (xhtml formatting, colors etc). If " +#~ "checked, Gajim will just display the plain message text." +#~ msgstr "" +#~ "Sommige berichten kunnen rijke inhoud bevatten (xhtml-opmaak, kleuren, " +#~ "enz.). Indien aangevinkt zal Gajim enkel de tekst van het bericht " +#~ "weergeven." + +#~ msgid "RST XHTML Generator" +#~ msgstr "RST-XHTML-generator" + +#~ msgid "Enables Gajim to generate XHTML output from RST code (%(url)s)" +#~ msgstr "" +#~ "Geeft Gajim de mogelijkheid om XHTML-uitvoer te genereren uit RST-code " +#~ "(%(url)s)" + +#~ msgid "Requires: python-docutils" +#~ msgstr "Vereist: python-docutils" + +#~ msgid "New Single Message" +#~ msgstr "Nieuw enkel bericht" + +#, fuzzy +#~ msgid "" +#~ "Can be empty, 'chat' or 'normal'. If not empty, all incoming messages are " +#~ "treated as if they were of this type." +#~ msgstr "" +#~ "Kan leeg, ‘chat’ (gesprek) of ‘normal’ (normaal) zijn. Indien niet leeg " +#~ "worden alle inkomende berichten behandeld als waren ze van dit type" + +#~ msgid "Error %(code)s: %(msg)s" +#~ msgstr "Fout %(code)s: %(msg)s" + +#~ msgid "twelve" +#~ msgstr "twaalf" + +#~ msgid "one" +#~ msgstr "een" + +#~ msgid "two" +#~ msgstr "twee" + +#~ msgid "three" +#~ msgstr "drie" + +#~ msgid "four" +#~ msgstr "vier" + +#~ msgid "five" +#~ msgstr "vijf" + +#~ msgid "six" +#~ msgstr "zes" + +#~ msgid "seven" +#~ msgstr "zeven" + +#~ msgid "eight" +#~ msgstr "acht" + +#~ msgid "nine" +#~ msgstr "negen" + +#~ msgid "ten" +#~ msgstr "tien" + +#~ msgid "eleven" +#~ msgstr "elf" + +#~ msgid "%(0)s o'clock" +#~ msgstr "%(0)s uur" + +#~ msgid "five past %(0)s" +#~ msgstr "vijf na %(0)s" + +#~ msgid "ten past %(0)s" +#~ msgstr "tien na %(0)s" + +#~ msgid "quarter past %(0)s" +#~ msgstr "kwart na %(0)s" + +#~ msgid "twenty past %(0)s" +#~ msgstr "twintig na %(0)s" + +#~ msgid "twenty five past %(0)s" +#~ msgstr "vijfentwintig %(0)s" + +# Zou beter zijn als 'half %(1)s' maar dat geeft een validatiefout +#~ msgid "half past %(0)s" +#~ msgstr "%(0)s uur dertig" + +#~ msgid "twenty five to %(1)s" +#~ msgstr "vijfentwintig voor %(1)s" + +#~ msgid "twenty to %(1)s" +#~ msgstr "twintig voor %(1)s" + +#~ msgid "quarter to %(1)s" +#~ msgstr "kwart voor %(1)s" + +#~ msgid "ten to %(1)s" +#~ msgstr "tien voor %(1)s" + +#~ msgid "five to %(1)s" +#~ msgstr "vijf voor %(1)s" + +#~ msgid "%(1)s o'clock" +#~ msgstr "%(1)s uur" + +#~ msgid "Night" +#~ msgstr "Nacht" + +#~ msgid "Early morning" +#~ msgstr "Vroege ochtend" + +#~ msgid "Morning" +#~ msgstr "Ochtend" + +#~ msgid "Almost noon" +#~ msgstr "Bijna middag" + +#~ msgid "Noon" +#~ msgstr "Middag" + +#~ msgid "Afternoon" +#~ msgstr "Namiddag" + +#~ msgid "Evening" +#~ msgstr "Avond" + +#~ msgid "Late evening" +#~ msgstr "Late avond" + +#~ msgid "Start of week" +#~ msgstr "Begin van de week" + +#~ msgid "Middle of week" +#~ msgstr "Midden van de week" + +#~ msgid "End of week" +#~ msgstr "Eind van de week" + +#~ msgid "Weekend!" +#~ msgstr "Weekend!" + +#, fuzzy +#~ msgid "" +#~ "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or " +#~ "0 to disable Fuzzy Clock. 1 is the most precise clock, 4 the least " +#~ "precise one. This is used only if 'print_time' is 'sometimes'." +#~ msgstr "" +#~ "Toon tijd in gesprekken met een vage klok. Waarde van vaagheid van 1 tot " +#~ "4, of 0 om vage klok uit te schakelen. 1 is meest precies, 4 minst. Wordt " +#~ "enkel gebruikt als print_time ingesteld is op ‘sometimes’." + +#~ msgid "message" +#~ msgstr "bericht" + +#~ msgid "error: %s" +#~ msgstr "fout: %s" + +#, fuzzy +#~ msgid "Form: %s" +#~ msgstr "Formulier %s" + +#~ msgid "XML Input" +#~ msgstr "XML-invoer" + +#~ msgid "Ttitle" +#~ msgstr "_Titel" + +#, fuzzy +#~ msgid "%(type)s encryption is active %(authenticated)s" +#~ msgstr "%(type)s-versleuteling is actief %(authenticated)s." + +#~ msgid "Screen" +#~ msgstr "Scherm" + +#~ msgid "Fake video output" +#~ msgstr "Valse video-uitvoer" + +#~ msgid "X Window System (X11/XShm/Xv): %s" +#~ msgstr "X Window System (X11/XShm/Xv): %s" + +#~ msgid "X Window System (without Xv)" +#~ msgstr "X Window System (zonder Xv)" + +#~ msgid "V_ideo output device" +#~ msgstr "V_ideo-uitvoerapparaat" + +#~ msgid "" +#~ "\n" +#~ "Disabled in config" +#~ msgstr "" +#~ "\n" +#~ "Uitgeschakeld in configuratie" + +#~ msgid "Conversation with " +#~ msgstr "Gesprek met " + +#~ msgid "Continued conversation" +#~ msgstr "Verdergezet gesprek" + +#~ msgid "%s has invited you to join a discussion" +#~ msgstr "%s heeft u uitgenodigd voor een gesprek" + +#~ msgid "_Send Private Message" +#~ msgstr "Ver_stuur privébericht" + +#, fuzzy +#~ msgid "Participant Actions" +#~ msgstr "Deelnemers" + +#~ msgid "_Voice" +#~ msgstr "_Stem" + +#~ msgid "Mo_derator" +#~ msgstr "_Beheerder" + +#~ msgid "_Member" +#~ msgstr "_Lid" + +#~ msgid "_Admin" +#~ msgstr "_Admin" + +#~ msgid "_Owner" +#~ msgstr "_Eigenaar" + +#, fuzzy +#~ msgid "_Add to Contact List" +#~ msgstr "Contact toevoegen" + +#~ msgid "_Execute command" +#~ msgstr "_Opdracht uitvoeren" + +#~ msgid "Change _Nickname..." +#~ msgstr "Bij_naam veranderen…" + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "_Nieuw groepsgesprek" + +#~ msgid "Change _Subject..." +#~ msgstr "_Onderwerp veranderen…" + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "Neem deel aan _Groepsgesprek" + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "_Nieuw groepsgesprek" + +#~ msgid "_Minimize on close" +#~ msgstr "_Minimaliseren bij sluiten" + +#~ msgid "_Request Voice" +#~ msgstr "Stem aanv_ragen" + +#~ msgid "_Bookmark" +#~ msgstr "Toevoegen aan _bladwijzers" + +#~ msgid "The authenticity of the %s certificate could be invalid" +#~ msgstr "De authenticiteit van het %s certificaat zou ongeldig kunnen zijn" + +#~ msgid "" +#~ "\n" +#~ "Unknown SSL error: %d" +#~ msgstr "" +#~ "\n" +#~ "Onbekende SSL-fout: %d" + +#~ msgid "" +#~ "\n" +#~ "SSL Error: %s" +#~ msgstr "" +#~ "\n" +#~ "SSL-fout: %s" + +#~ msgid "Error verifying SSL certificate" +#~ msgstr "Fout bij verifiëren van SSL-certificaat" + +#~ msgid "View certificate…" +#~ msgstr "Certificaat bekijken…" + +#~ msgid "Continue" +#~ msgstr "Doorgaan" + +#~ msgid "" +#~ "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM " +#~ "IS RUNNING)" +#~ msgstr "Wil je de database opschonen? (STERK AFGERADEN ALS GAJIM DRAAIT)" + +#, fuzzy +#~ msgid "Authorization" +#~ msgstr "Machtiging verzonden" + +#~ msgid "" +#~ "All chat and group chat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Alle gespreks- en groepsgespreksvensters zullen worden gesloten. Wil je " +#~ "doorgaan?" + +#, fuzzy +#~ msgid "Account '%s' is still connected to the server" +#~ msgstr "Account ‘%s’ is verbonden met de server" + +#, fuzzy +#~ msgid "Error While Saving" +#~ msgstr "Fout bij toevoegen van dienst. %s" + +#, fuzzy +#~ msgid "" +#~ "Image cannot be saved in %(type)s format.\n" +#~ "Save as %(new_filename)s?" +#~ msgstr "" +#~ "Afbeelding kan niet worden opgeslagen in %(type)s-formaat. Opslaan als " +#~ "%(new_filename)s?" + +#~ msgid "Save _As" +#~ msgstr "Opslaan _als" + +#~ msgid "Yes, I really want to connect insecurely" +#~ msgstr "Ja, ik wil echt onveilig verbinden" + +#~ msgid "Gajim will NOT connect unless you check this box" +#~ msgstr "Gajim zal NIET verbinden tenzij je dit aanvinkt" + +#, fuzzy +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "Ongeldige JID voor groepsgesprek" + +#, fuzzy +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "De JID van het groepsgesprek heeft niet toegelaten tekens." + +#~ msgid "You may specify a reason below:" +#~ msgstr "Je kan hieronder een reden opgeven:" + +#~ msgid "Banning %s" +#~ msgstr "%s verbannen" + +#, fuzzy +#~ msgid "" +#~ "Always ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Vraag bevestiging voor het sluiten van een groepsgespreksvenster met een " +#~ "van de JID’s op deze door spaties gescheiden lijst." + +#, fuzzy +#~ msgid "" +#~ "Never ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Vraag nooit om bevestiging voor het sluiten van een groepsgesprek met een " +#~ "van de JID’s op deze door spaties gescheiden lijst." + +#, fuzzy +#~ msgid "Leave Group Chats" +#~ msgstr "Groepsgesprekken verlaten" + +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "%(nickname)s in %(room_jid)s" + +#, fuzzy +#~ msgid "You have not joined a group chat." +#~ msgstr "Je neemt niet deel aan een groepsgesprek." + +#, fuzzy +#~ msgid "Choose the group chats you want to leave" +#~ msgstr "Kies de groepsgesprekken die je wil verlaten" + +#, fuzzy +#~ msgid "You left the following group chats:" +#~ msgstr "Je hebt deze groepsgesprekken verlaten:" + +#, fuzzy +#~ msgid "" +#~ "Should automatic rejoin be activated when you were kicked from a group " +#~ "chat?" +#~ msgstr "" +#~ "Moet automatisch opnieuw deelnemen worden ingeschakeld wanneer je uit een " +#~ "groepsgesprek geschopt wordt?" + +#, fuzzy +#~ msgid "" +#~ "If disabled, Gajim will display a static event icon instead of the " +#~ "blinking status icon in the notification area when notifying about an " +#~ "event." +#~ msgstr "" +#~ "Indien uitgeschakeld zal Gajim bij melding van een gebeurtenis een " +#~ "statisch gebeurtenispictogram weergeven in het systeemvak, in plaats van " +#~ "het blinkende statuspictogram." + +#~ msgid "Don't show avatar for the transport itself." +#~ msgstr "Avatar niet weergeven voor transport zelf." + +#, fuzzy +#~ msgid "" +#~ "Show a confirmation dialog for a custom status? Empty string means never " +#~ "show the dialog." +#~ msgstr "" +#~ "Moet de dialoog voor het bevestigen van de aangepaste status worden " +#~ "getoond? Een lege tekenreeks betekent dat de dialoog nooit wordt getoond." + +#, fuzzy +#~ msgid "" +#~ "If enabled, notification windows from notification-daemon will be " +#~ "attached to the notification area icon." +#~ msgstr "" +#~ "Indien ingeschakeld worden meldingsvensters van notification-daemon " +#~ "vastgemaakt aan het meldingspictogram." + +#~ msgid "" +#~ "Show a warning dialog before sending PLAIN password over a plain " +#~ "connection." +#~ msgstr "" +#~ "Geeft een waarschuwingsdialoog weer voor het versturen van een PLAIN " +#~ "(platte tekst) wachtwoord over een plain (niet beveiligde) verbinding." + +#, fuzzy +#~ msgid "" +#~ "List of XMPP Addresses (space separated) for which you accept to not " +#~ "store chat history if your contact does not want to." +#~ msgstr "" +#~ "Door spaties gescheiden lijst van JID’s waarvoor je accepteert je " +#~ "gesprekken niet op te slaan als zij dat niet willen." + +#, fuzzy +#~ msgid "Jabberd2 workaround." +#~ msgstr "Tijdelijke oplossing voor jabberd2" + +#~ msgid "Configure Services…" +#~ msgstr "Diensten configureren…" + +#~ msgid "Group Chat Bookmarks" +#~ msgstr "Groepsgesprekbladwijzers" + +#, fuzzy +#~ msgid "Add Bookmark" +#~ msgstr "Toevoegen aan bladwijzers" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "Toevoegen aan bladwijzers" + +#~ msgid "_Server" +#~ msgstr "_Server" + +#~ msgid "Roo_m" +#~ msgstr "Groe_psgesprek" + +#~ msgid "_Password" +#~ msgstr "_Wachtwoord" + +#~ msgid "Join chat when connected" +#~ msgstr "Deelnemen bij verbinden" + +#~ msgid "New Group Chat" +#~ msgstr "Nieuw groepsgesprek" + +#~ msgid "This bookmark has invalid data" +#~ msgstr "Deze bladwijzer bevat ongeldige informatie" + +#, fuzzy +#~ msgid "" +#~ "Please be sure to fill out server and group chat fields or remove this " +#~ "bookmark." +#~ msgstr "" +#~ "Zorg ervoor dat de server- en groepsgespreksvelden ingevuld zijn, of " +#~ "verwijder deze bladwijzer." + +#~ msgid "Character not allowed" +#~ msgstr "Teken niet toegestaan" + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "Ongeldige JID voor groepsgesprek" + +#~ msgid "Unable to join group chat" +#~ msgstr "Kan niet deelnemen aan het groepsgesprek" + +#~ msgid "You are banned from group chat %s." +#~ msgstr "Je bent verbannen uit groepsgesprek %s." + +#~ msgid "Remote server %s does not exist." +#~ msgstr "Externe server %s bestaat niet." + +#~ msgid "Group chat %s does not exist." +#~ msgstr "Groepsgesprek %s bestaat niet." + +#~ msgid "Group chat creation is not permitted." +#~ msgstr "Aanmaken van groepsgesprekken is niet toegestaan." + +#~ msgid "You must use your registered nickname in %s." +#~ msgstr "Je geregistreerde bijnaam moet gebruikt worden in %s." + +#, fuzzy +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "Je staat niet in de ledenlijst van groepsgesprek %s." + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "Dit is geen groepsgesprek" + +#~ msgid "This is not a group chat" +#~ msgstr "Dit is geen groepsgesprek" + +#, fuzzy +#~ msgid "" +#~ "%(room_jid)s is already in your contact list. Please check if " +#~ "%(room_jid)s is a correct group chat name. If it is, delete it from your " +#~ "contact list and try joining the group chat again." +#~ msgstr "" +#~ "%(room_jid)s staat al in je rooster. Controleer of %(room_jid)s een " +#~ "correcte groepsgespreksnaam is. Zo ja, verwijder het van je rooster en " +#~ "probeer opnieuw deel te nemen aan het groepsgesprek." + +#, fuzzy +#~ msgid "Please choose a group chat" +#~ msgstr "Kies een groepsgesprek" + +#~ msgid "Invalid Nickname" +#~ msgstr "Ongeldige bijnaam" + +#~ msgid "Wrong server" +#~ msgstr "Verkeerde server" + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "%s is geen groepsgespreksserver" + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit." +#~ msgstr "" +#~ "Hoeveel lijnen op te vragen van server bij deelnemen aan groepsgesprek. " +#~ "-1 betekent geen limiet" + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit." +#~ msgstr "" +#~ "Aantal voorafgaande minuten van groepsgesprekken die opgevraagd moeten " +#~ "worden bij inloggen/deelnemen. -1 betekent geen limiet" + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit, -2 means global value." +#~ msgstr "" +#~ "Aantal voorafgaande berichten van groepsgesprekken die opgevraagd moeten " +#~ "worden bij inloggen/deelnemen. -1 betekent geen limiet, -2 betekent " +#~ "globale instelling" + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit, -2 means global value." +#~ msgstr "" +#~ "Aantal voorafgaande minuten van groepsgesprekken die opgevraagd moeten " +#~ "worden bij inloggen/deelnemen. -1 betekent geen limiet, -2 betekent " +#~ "globale instelling" + +#, fuzzy +#~ msgid "A Password is required to join the group chat %s. Please type it." +#~ msgstr "" +#~ "Een wachtwoord is vereist om groepsgesprek %s binnen te komen, voer het " +#~ "in." + +#~ msgid "Not in Roster" +#~ msgstr "Niet in het rooster" + +#~ msgid "I would like to add you to my roster" +#~ msgstr "Ik zou je graag aan mijn rooster willen toevoegen" + +#~ msgid "Add to Roster" +#~ msgstr "Toevoegen aan rooster" + +#~ msgid "Audio Session" +#~ msgstr "Audiosessie" + +#~ msgid "Manage Room" +#~ msgstr "Beheer ruimte" + +#~ msgid "Configure Room" +#~ msgstr "Groepsgesprek configureren" + +#~ msgid "Destroy Room" +#~ msgstr "Groepsgesprek vernietigen" + +#~ msgid "Change Nick" +#~ msgstr "Bijnaam veranderen" + +#~ msgid "Disconnect" +#~ msgstr "Verbinding verbreken" + +#~ msgid "Copy JID" +#~ msgstr "JID kopiëren" + +#~ msgid "Add to Roster…" +#~ msgstr "Toevoegen aan rooster…" + +#~ msgid "Copy JID/Email" +#~ msgstr "JID/e-mailadres kopiëren" + +#~ msgid "JID: %s" +#~ msgstr "JID: %s" + +#~ msgid "Changing Subject" +#~ msgstr "Onderwerp veranderen" + +#~ msgid "Please specify the new subject:" +#~ msgstr "Geef het nieuwe onderwerp op:" + +#~ msgid "Room logging is now enabled" +#~ msgstr "Opslaan van berichten in groepsgesprek is nu ingeschakeld" + +#~ msgid "Room logging is now disabled" +#~ msgstr "Opslaan van berichten in groepsgesprek is nu uitgeschakeld" + +#~ msgid "You (%s) joined the room" +#~ msgstr "Je (%s) neemt nu deel aan het groepsgesprek" + +#~ msgid "Room logging is enabled" +#~ msgstr "Opslaan van berichten in groepsgesprek is ingeschakeld" + +#~ msgid "Unable to join groupchat" +#~ msgstr "Kan niet deelnemen aan het groepsgesprek" + +#~ msgid "Groupchat Invitation" +#~ msgstr "Uitnodiging voor groepsgesprek" + +#~ msgid "%(jid)s has been invited in this room" +#~ msgstr "%(jid)s is in dit groepsgesprek uitgenodigd" + +#~ msgid "JID is not a Groupchat" +#~ msgstr "Deze JID is geen groepsgesprek" + +#~ msgid "Invalid JID" +#~ msgstr "Ongeldige JID" + +#~ msgid "A connection is not available" +#~ msgstr "Er is geen verbinding beschikbaar" + +#~ msgid "JID already in list" +#~ msgstr "JID al in lijst" + +#~ msgid "Unsecure" +#~ msgstr "Onveilig" + +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "" +#~ "Er is geen versleutelingsmethode beschikbaar voor de gekozen versleuteling" + +#~ msgid "Removes contact from roster" +#~ msgstr "Verwijdert contact van rooster" + +#~ msgid "Not in roster" +#~ msgstr "Niet in rooster" + +#~ msgid "Contact signed in notification color." +#~ msgstr "Meldingskleur voor ingelogd contact." + +#~ msgid "Contact signout notification color" +#~ msgstr "Meldingskleur voor uitgelogd contact" + +#~ msgid "File transfer request notification color." +#~ msgstr "Meldingskleur voor bestandsoverdrachtsverzoek." + +#~ msgid "File transfer error notification color." +#~ msgstr "Meldingskleur voor bestandsoverdrachtsfout." + +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "Meldingskleur voor voltooide of gestopte bestandsoverdracht." + +#~ msgid "Groupchat invitation notification color" +#~ msgstr "Meldingskleur voor uitnodiging voor groepsgesprek" + +#~ msgid "Other dialogs color." +#~ msgstr "Kleur van andere dialogen." + +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "* en [n] toevoegen aan roster titel?" + +#~ msgid "Hides the banner in two persons chat window" +#~ msgstr "Verbergt de banner in een gespreksvenster met twee personen" + +#~ msgid "" +#~ "Show the confirm metacontacts creation dialog or not? Empty string means " +#~ "never show the dialog." +#~ msgstr "" +#~ "Moet de dialoog voor het bevestigen van het aanmaken van metacontacten " +#~ "worden getoond? Een lege tekenreeks betekent dat de dialoog nooit wordt " +#~ "getoond." + +#~ msgid "If true, You will also see your webcam" +#~ msgstr "Indien ingeschakeld zal je ook je eigen webcam zien" + +#~ msgid "If the room subject is shown in chat on join" +#~ msgstr "" +#~ "Of het onderwerp van het groepsgesprek in het gesprek wordt weergegeven " +#~ "bij deelname" + +#~ msgid "Space separated list of ssl errors to ignore." +#~ msgstr "Door spaties gescheiden lijst van te negeren SSL-fouten." + +#~ msgid "Answer to receipt requests" +#~ msgstr "Antwoorden op ontvangsbevestigingen" + +#~ msgid "Language for which misspelled words will be checked" +#~ msgstr "" +#~ "Taal waarvoor gecontroleerd moet worden op verkeerd gespelde woorden" + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "Ik ben aan het eten, laat een bericht achter." + +#~ msgid "" +#~ "This message was encrypted with OpenPGP for XMPP and could not be " +#~ "decrypted." +#~ msgstr "" +#~ "Dit bericht is versleuteld met OpenPGP voor XMPP en kon niet ontsleuteld " +#~ "worden." + +#~ msgid "from room %s" +#~ msgstr "van groepsgesprek %s" + +#~ msgid "Leave Groupchats" +#~ msgstr "Groepsgesprekken verlaten" + +#~ msgid "Auto Join" +#~ msgstr "Automatisch deelnemen" + +#~ msgid "Room" +#~ msgstr "Groepsgesprek" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber-ID:" + +#~ msgid "Occupant Actions" +#~ msgstr "Deelnemeracties" + +#~ msgid "_Add to Roster" +#~ msgstr "Toevoegen _aan roster" + +#~ msgid "_Manage Room" +#~ msgstr "Beheer rui_mte" + +#~ msgid "Configure _Room..." +#~ msgstr "G_roepsgesprek configureren…" + +#~ msgid "_Destroy Room" +#~ msgstr "Groepsgesprek _vernietigen" + +#~ msgid "Jabber ID" +#~ msgstr "Jabber-ID" + +#, fuzzy +#~ msgid "account" +#~ msgstr "account: " + +#~ msgid "Roster" +#~ msgstr "Rooster" + +#~ msgid "Show only in roster" +#~ msgstr "Alleen in rooster weergeven" + +#~ msgid "in _roster" +#~ msgstr "in _rooster" + +#~ msgid "Roster Appearance" +#~ msgstr "Roosteruiterlijk" + +#~ msgid "Show chatstate in roster" +#~ msgstr "Chatstatus tonen in rooster" + +#~ msgid "_Add to Roster..." +#~ msgstr "Toevoegen _aan rooster…" + +#~ msgid "_Jabber ID:" +#~ msgstr "_Jabber-ID:" + +#~ msgid "_Jabber ID" +#~ msgstr "_Jabber-ID" + +#~ msgid "JabberID" +#~ msgstr "JabberID" + +#~ msgid "Show Roster" +#~ msgstr "Rooster weergeven" + +#~ msgid "MUC server" +#~ msgstr "MUC-server" + +#~ msgid "Roster Shortcuts" +#~ msgstr "Roostersneltoetsen" + +#~ msgid "Room Configuration" +#~ msgstr "Groepsgespreksconfiguratie" + +#~ msgid "Join _Group Chat" +#~ msgstr "Deelnemen aan _groepsgesprek" + +#~ msgid "Toggle audio session" +#~ msgstr "Audiosessie in-/uitschakelen" + +#~ msgid "Audio sessions are not available" +#~ msgstr "Audiosessies zijn niet beschikbaar" + +#~ msgid "Conference" +#~ msgstr "Groepsgesprek" + +#~ msgid "_Manage Bookmarks…" +#~ msgstr "_Bladwijzers beheren…" + +#~ msgid "Hide _Roster" +#~ msgstr "_Rooster verbergen" + +#~ msgid "Show _Roster" +#~ msgstr "_Rooster weergeven" + +#~ msgid "Invalid Room" +#~ msgstr "Ongeldig groepsgesprek" + +#~ msgid "Invalid room" +#~ msgstr "Ongeldig groepsgesprek" + +# TODO: Loop alles na, zet zinnen in de goede vorm, volg GNOME NL richtlijnen, +# ruim mnemonics op. Zie ook: http://nl.gnome.org/ +#~ msgid "A GTK+ Jabber client" +#~ msgstr "Een GTK+-Jabber-cliënt" + +#~ msgid "Changing Nickname" +#~ msgstr "Bijnaam veranderen" + +#~ msgid "Please specify the new nickname you want to use:" +#~ msgstr "Geef de nieuwe bijnaam op die je wilt gebruiken:" + +#~ msgid "Bookmark already set" +#~ msgstr "Bladwijzer bestaat al" + +#, fuzzy +#~ msgid "Group Chat '%s' is already in your bookmarks." +#~ msgstr "Groepsgesprek ‘%s’ heeft al een bladwijzer." + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "Bladwijzer is met succes toegevoegd" + +#, fuzzy +#~ msgid "" +#~ "You can manage your bookmarks by clicking the Bookmarks menu item in your " +#~ "contact list." +#~ msgstr "Je kan bladwijzers beheren via het menu ‘Acties’ in je rooster." + +#~ msgid "The nickname contains invalid characters." +#~ msgstr "De bijnaam bevat ongeldige tekens." + +#~ msgid "Bookmark Room" +#~ msgstr "Groepsgesprek toevoegen aan bladwijzers" + +#~ msgid "_Join New Group Chat" +#~ msgstr "Deelnemen aan n_ieuw groepsgesprek" + +#~ msgid "Name:" +#~ msgstr "Naam:" + +#~ msgid "Description:" +#~ msgstr "Beschrijving:" + +#~ msgid "Address:" +#~ msgstr "Adres:" + +#~ msgid "" +#~ "Semi-Anonymous\n" +#~ "(Only moderators can see your XMPP-Address)" +#~ msgstr "" +#~ "Semi-anoniem\n" +#~ "(Enkel moderators kunnen je XMPP-adres zien)" + +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "" +#~ "Het is niet mogelijk een nieuw gesprek te starten zonder verbonden te " +#~ "zijn." + +#, fuzzy +#~ msgid "Occupants" +#~ msgstr "Deelnemeracties" + +#~ msgid "_Modify Account..." +#~ msgstr "Account be_werken…" + +#~ msgid "Boolean" +#~ msgstr "Boolean" + +#~ msgid "Integer" +#~ msgstr "Geheel getal" + +#~ msgid "Text" +#~ msgstr "Tekst" + +#~ msgid "Value" +#~ msgstr "Waarde" + +#~ msgid "(None)" +#~ msgstr "(Niets)" + +#~ msgid "Hidden" +#~ msgstr "Verborgen" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "Beheer Proxy Profielen" + +#~ msgid "Properties" +#~ msgstr "Eigenschappen" + +#~ msgid "Proxy _Port" +#~ msgstr "Proxy_poort" + +#~ msgid "New Groupchat" +#~ msgstr "Nieuw groepsgesprek" + +#~ msgid "New Contact" +#~ msgstr "Nieuw contact" + +#~ msgid "%s GiB" +#~ msgstr "%s GiB" + +#~ msgid "%s GB" +#~ msgstr "%s GB" + +#~ msgid "%s MiB" +#~ msgstr "%s MiB" + +#~ msgid "%s MB" +#~ msgstr "%s MB" + +#~ msgid "%s KiB" +#~ msgstr "%s KiB" + +#~ msgid "%s KB" +#~ msgstr "%s KB" + +#~ msgid "%s B" +#~ msgstr "%s B" + +#, fuzzy +#~ msgid "%s MiB/s" +#~ msgstr "%s MiB" + +#~ msgid "File transfer" +#~ msgstr "Bestandsoverdracht" + +#~ msgid "Open _Containing Folder" +#~ msgstr "_Bovenliggende map openen" + +#~ msgid "Default:" +#~ msgstr "Standaard:" + +#~ msgid "Success!" +#~ msgstr "Succes!" + +#, fuzzy +#~ msgid "toolbutton" +#~ msgstr "knop" + +#~ msgid "" +#~ "If you close this window, you will be disconnected from this group chat." +#~ msgstr "" +#~ "Als je dit venster sluit zal de verbinding met dit groepsgesprek " +#~ "verbroken worden." + +#~ msgid "Really quit Gajim?" +#~ msgstr "Gajim echt afsluiten?" + +#~ msgid "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" +#~ msgstr "" +#~ "Het zal niet meer mogelijk zijn berichten te sturen en ontvangen van " +#~ "contacten via deze transporten: %s" + +#~ msgid "Contact \"%s\" will be removed from your roster" +#~ msgstr "Contact ‘%s’ zal van je rooster verwijderd worden" + +#~ msgid "" +#~ "By removing this contact you also by default remove authorization " +#~ "resulting in them always seeing you as offline." +#~ msgstr "" +#~ "Door dit contact te verwijderen zal je ook zijn/haar toestemming opzeggen " +#~ "om je status te zien. Hij/zij zal je altijd als offline zien." + +#~ msgid "Contacts will be removed from your roster" +#~ msgstr "Contacten zullen uit je rooster verwijderd worden" + +#~ msgid "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorization resulting in them always seeing you as " +#~ "offline." +#~ msgstr "" +#~ "Door volgende contacten te verwijderen:%s\n" +#~ "zal je ook hun toestemming opzeggen om je status te zien en zullen ze je " +#~ "altijd als offline zien." + +#~ msgid "Con_tinue" +#~ msgstr "_Doorgaan" + +#~ msgid "_Pause" +#~ msgstr "_Pauze" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "Verwijder bestandsoverdracht van de lijst." + +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "" +#~ "Deze actie verwijdert een enkele bestandsoverdracht van de lijst. Als de " +#~ "overdracht actief is, wordt hij eerst gestopt en dan verwijdert" + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "Annuleert de geselecteerde bestandsoverdracht" + +#~ msgid "Hide the window" +#~ msgstr "Venster verbergen" + +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "Laat een pop-up zien als een bestandsoverdracht voltooid is" + +#~ msgid "From:" +#~ msgstr "Van:" + +#~ msgid "Subject:" +#~ msgstr "Onderwerp:" + +#~ msgid "%s wants to send you a file:" +#~ msgstr "%s wil je een bestand sturen:" + +#~ msgid "Name: " +#~ msgstr "Naam: " + +#~ msgid "Pause" +#~ msgstr "Pauze" + +#~ msgid "Execute Command" +#~ msgstr "Opdracht uitvoeren" + +#~ msgid "Type: " +#~ msgstr "Type: " + +#~ msgid "Transferred: " +#~ msgstr "Verzonden: " + +#~ msgid "Completed" +#~ msgstr "Afgerond" + +#~ msgid "Stalled" +#~ msgstr "Vastgelopen" + +#~ msgid "Transferring" +#~ msgstr "Verzenden" + +#~ msgid "Not started" +#~ msgstr "Niet gestart" + +#~ msgid "%s day" +#~ msgid_plural "%s days" +#~ msgstr[0] "%s dag" +#~ msgstr[1] "%s dagen" + +#~ msgid "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Alle gespreks- en groepsgespreksvensters zullen gesloten worden. Wil je " +#~ "doorgaan?" + +#~ msgid "" +#~ "Your desired nickname in group chat\n" +#~ "%s\n" +#~ "is in use or registered by another occupant.\n" +#~ "Please specify another nickname below:" +#~ msgstr "" +#~ "De gewenste bijnaam in het groepsgesprek\n" +#~ "%s\n" +#~ "is al in gebruik of geregistreerd door een andere gebruiker.\n" +#~ "Geef een andere bijnaam op:" + +#~ msgid "_Configure" +#~ msgstr "_Configureren" + +#~ msgid "Change the avatar" +#~ msgstr "Avatar veranderen" + +#~ msgid "" +#~ "Account in which the avatar will be set; if not specified, the avatar " +#~ "will be set for all accounts" +#~ msgstr "" +#~ "Account waarvoor de avatar ingesteld zal worden; indien niet opgegeven, " +#~ "zal ze voor alle accounts ingesteld worden" + +#~ msgid "add" +#~ msgstr "toevoegen" + +#~ msgid "modify" +#~ msgstr "bewerken" + +#~ msgid "remove" +#~ msgstr "verwijderen" + +#~ msgid "" +#~ "If true, restored messages will use a smaller font than the default one." +#~ msgstr "" +#~ "Indien ingeschakeld worden herstelde berichten met een kleiner lettertype " +#~ "weergegeven." + +#~ msgid "Restored Message Color" +#~ msgstr "Kleur voor herstelde berichten" + +#~ msgid "" +#~ "You are going to remove this room permanently.\n" +#~ "You may specify a reason below:" +#~ msgstr "" +#~ "Je staat op het punt dit groepsgesprek definitief te verwijderen.\n" +#~ "Je kan hieronder een reden opgeven:" + +#~ msgid "Send Cus_tom Status" +#~ msgstr "Aangepas_te status sturen" + +#~ msgid "" +#~ "You are about to send a custom status. Are you sure you want to continue?" +#~ msgstr "" +#~ "Je staat op het punt een aangepaste status te verzenden. Weet je het " +#~ "zeker?" + +#~ msgid "" +#~ "This contact will temporarily see you as %(status)s, but only until you " +#~ "change your status. Then they will see your global status." +#~ msgstr "" +#~ "Dit contact zal je tijdelijk zien als %(status)s tot je je status " +#~ "verandert, dan zal hij of zij je globale status zien." + +#, fuzzy +#~ msgid "" +#~ msgstr "gebruiker@voorbeeld.nl" + +#, fuzzy +#~ msgid "" +#~ msgstr "Onderwerp" + +#~ msgid "#" +#~ msgstr "#" + +#~ msgid "You are about to block a contact. Are you sure you want to continue?" +#~ msgstr "" +#~ "Je staat op het punt een contact te blokkeren. Ben je zeker dat je wil " +#~ "doorgaan?" + +#~ msgid "To:" +#~ msgstr "Aan:" + +#~ msgid "0" +#~ msgstr "0" + +#~ msgid "" +#~ "On startup, Gajim will download logs stored on server, provided the " +#~ "server supports XEP-0313" +#~ msgstr "" +#~ "Bij opstarten zal Gajim de logboeken opgeslagen op de server downloaden, " +#~ "indien de server ondersteuning biedt voor XEP-0313" + +#~ msgid "" +#~ "If enabled and if server supports this feature, Gajim will receive " +#~ "messages sent and received by other resources." +#~ msgstr "" +#~ "Indien ingeschakeld en je server deze functie ondersteunt zal Gajim " +#~ "berichten verzonden en ontvangen door andere bronnen ook ontvangen." + +#~ msgid "Reconnect when connection is lost" +#~ msgstr "Verbinding herstellen als deze verbroken wordt" + +#~ msgid "Server Message Archive" +#~ msgstr "Serverberichtarchief" + +#, fuzzy +#~ msgid "" +#~ "Messages get stored on the server. The archive is used to sync messages " +#~ "between multiple devices. (XEP-0313)" +#~ msgstr "" +#~ "Berichten worden opgeslagen op de server.\n" +#~ "Het archief wordt gebruikt voor synchronisatie\n" +#~ "van berichten tussen meerdere apparaten.\n" +#~ "XEP-0313" + +#~ msgid "Message Carbons" +#~ msgstr "Berichtcarbons" + +#, fuzzy +#~ msgid "" +#~ "All your other online devices get copies of sent and received messages. " +#~ "XEP-0280" +#~ msgstr "" +#~ "Al je andere apparaten krijgen een kopie\n" +#~ "van verzonden en ontvangen berichten.\n" +#~ "XEP-0280" + +#~ msgid "" +#~ "Sent chat state notifications. Can be one of all, composing_only, " +#~ "disabled." +#~ msgstr "" +#~ "Verstuurde gesprekstoestandsmeldingen. Kan all (alle), composing_only " +#~ "(alleen ‘aan het typen’) of disabled (uitgeschakeld) zijn." + +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "Sta toe mijn inactivi_teitsduur te verzenden" + +#~ msgid "" +#~ "If checked, others will be allowed to detect the idle time of your system" +#~ msgstr "" +#~ "Indien aangevinkt zullen anderen de inactiviteitsduur van je systeem " +#~ "kunnen zien" + +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "St_a toe informatie over lokale systeemtijd te verzenden" + +#~ msgid "" +#~ "If checked, others will be allowed to detect the local time on your system" +#~ msgstr "" +#~ "Indien aangevinkt zullen anderen de lokale tijd van je systeem kunnen zien" + +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "Sta toe informatie _over cliënt / besturingssysteem te verzenden" + +#~ msgid "" +#~ "If checked, others will be allowed to detect the operating system you are " +#~ "using" +#~ msgstr "" +#~ "Indien aangevinkt zullen anderen kunnen zien welk besturingssysteem je " +#~ "gebruikt" + +#~ msgid "" +#~ "If checked, incoming events from unauthorized contacts will be ignored. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster." +#~ msgstr "" +#~ "Indien aangevinkt zullen inkomende gebeurtenissen van niet-gemachtigde " +#~ "contacten worden genegeerd. Gebruik dit voorzichtig, want het blokkeert " +#~ "alle berichten van contacten die zich niet in je rooster bevinden." + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." +#~ msgstr "" +#~ "Gajim kan meta-informatie gerelateerd aan een gesprek met een contact " +#~ "verzenden en ontvangen. Hier kan je opgeven welke gesprekstoestanden je " +#~ "wil verzenden naar het contact." + +#~ msgid "S_end chat state notifications" +#~ msgstr "G_esprekstoestandsmeldingen verzenden" + +#~ msgid "Login Options" +#~ msgstr "Inlogopties" + +#~ msgid "Please wait while retrieving search form..." +#~ msgstr "Even geduld terwijl het zoekscherm opgehaald wordt…" + +#~ msgid "_Add contact" +#~ msgstr "_Contact toevoegen" + +#~ msgid "Ad-hoc Commands - Gajim" +#~ msgstr "Ad-hoc-opdrachten - Gajim" + +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "Even geduld terwijl de opdrachtlijst opgehaald wordt…" + +#~ msgid "Choose command to execute:" +#~ msgstr "Kies de uit te voeren opdracht:" + +#~ msgid "Check once more" +#~ msgstr "Opnieuw controleren" + +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "Even geduld terwijl het commando verzonden wordt…" + +#~ msgid "This jabber entity does not expose any commands." +#~ msgstr "Deze jabberentiteit biedt geen opdrachten aan." + +#~ msgid "F_inish" +#~ msgstr "_Afronden" + +#~ msgid "Waiting for results" +#~ msgstr "Wachten op resultaten" + +#~ msgid "Error in received dataform" +#~ msgstr "Fout in ontvangen gegevensformulier" + +#~ msgid "No result" +#~ msgstr "Geen resultaat" + +#~ msgid "Failed to get secret keys" +#~ msgstr "Kon de geheime sleutel niet ophalen" + +#~ msgid "There is no OpenPGP secret key available." +#~ msgstr "Er is geen OpenPGP geheime sleutel beschikbaar." + +#~ msgid "OpenPGP Key Selection" +#~ msgstr "OpenPGP-sleutelselectie" + +#~ msgid "Choose your OpenPGP key" +#~ msgstr "Kies je OpenPGP sleutel" + +#~ msgid "KeyID" +#~ msgstr "SleutelID" + +#~ msgid "Contact name" +#~ msgstr "Contactnaam" + +#~ msgid "Formatting is not available so long as GPG is active" +#~ msgstr "Opmaak is niet beschikbaar wanneer GPG in gebruik is" + +#~ msgid "OpenPGP is not usable" +#~ msgstr "OpenPGP is niet bruikbaar" + +#~ msgid "" +#~ "Gajim needs python-gnupg >= 0.3.8\n" +#~ "Beware there is an incompatible Python package called gnupg.\n" +#~ "You will be connected to %s without OpenPGP." +#~ msgstr "" +#~ "Gajim vereist python-gnupg >= 0.3.8\n" +#~ "Let op: er is een incompatibel Python-pakket genaamd ‘gnupg’.\n" +#~ "Je zal zonder OpenPGP met %s verbonden worden." + +#~ msgid "Assign OpenPGP Key" +#~ msgstr "OpenPGP-sleutel toewijzen" + +#~ msgid "Select a key to apply to the contact" +#~ msgstr "Selecteer een sleutel om aan de contact toe te wijzen" + +#~ msgid "" +#~ "You configured Gajim to use OpenPGP agent, but there is no OpenPGP agent " +#~ "running or it returned a wrong passphrase.\n" +#~ msgstr "" +#~ "Je hebt Gajim ingesteld om OpenPGP-agent te gebruiken, maar OpenPGP-agent " +#~ "wordt niet uitgevoerd of gaf een verkeerd wachtwoord weer.\n" + +#~ msgid "You are currently connected without your OpenPGP key." +#~ msgstr "Je bent momenteel verbonden zonder OpenPGP-sleutel." + +#~ msgid "Wrong passphrase" +#~ msgstr "Verkeerd wachtwoord" + +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "Verkeerd OpenPGP-wachtwoord" + +#~ msgid "Passphrase Required" +#~ msgstr "Wachtwoord vereist" + +#~ msgid "" +#~ "Enter OpenPGP key passphrase for key %(keyid)s (account %(account)s)." +#~ msgstr "" +#~ "Voer het wachtwoord in voor de OpenPGP-sleutel %(keyid)s (account " +#~ "%(account)s)." + +#~ msgid "OpenPGP key expired" +#~ msgstr "OpenPGP-sleutel verlopen" + +#~ msgid "" +#~ "Your OpenPGP key has expired, you will be connected to %s without OpenPGP." +#~ msgstr "" +#~ "Je OpenPGP-sleutel is verlopen, je zal verbonden worden met %s zonder " +#~ "OpenPGP." + +#~ msgid "Wrong Passphrase" +#~ msgstr "Verkeerd wachtwoord" + +#~ msgid "Please retype your OpenPGP passphrase or press Cancel." +#~ msgstr "Voer je OpenPGP-wachtwoord opnieuw in of druk op Annuleren." + +#~ msgid "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Stuurt een nieuw bericht aan een contact in het rooster. Zowel OpenPGP-" +#~ "sleutel als account zijn optioneel. Als je alleen ‘account’ wil opgeven " +#~ "zonder ‘OpenPGP-sleutel’, zet ‘OpenPGP-sleutel’ dan op ‘’." + +#~ msgid "PGP key" +#~ msgstr "PGP-sleutel" + +#~ msgid "if specified, the message will be encrypted using this public key" +#~ msgstr "" +#~ "indien opgegeven zal het bericht versleuteld worden met deze publieke " +#~ "sleutel" + +#~ msgid "" +#~ "Sends a chat message to someone on your roster. Optionally with OpenPGP " +#~ "key and account. If you want to only set the latter, set OpenPGP key to " +#~ "\"\"." +#~ msgstr "" +#~ "Stuurt een nieuw bericht aan iemand in je rooster. Zowel OpenPGP-sleutel " +#~ "als account zijn optioneel. Als je alleen ‘account’ wil opgeven zonder " +#~ "‘OpenPGP-sleutel’, stel deze laatste dan in op ‘’." + +#~ msgid "Sets the encoding used by python-gnupg" +#~ msgstr "Stelt de codering in gebruikt door python-gnupg" + +#~ msgid "" +#~ "If disabled, don't sign presences with GPG key, even if GPG is configured." +#~ msgstr "" +#~ "Indien uitgeschakeld worden aanwezigheden niet ondertekend met de GPG-" +#~ "sleutel, zelfs als GPG ingesteld is." + +#~ msgid "OpenPGP:" +#~ msgstr "OpenPGP:" + +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "Open_PGP-sleutel toewijzen…" + +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "OpenPGP-berichtversleuteling" + +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "" +#~ "Geeft Gajim de mogelijkheid om berichten te versleutelen met OpenPGP" + +#~ msgid "Requires: gpg and python-gnupg (%(url)s)" +#~ msgstr "Vereist: gpg en python-gnupg (%(url)s)" + +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "Vereist: gpg.exe in je PATH" + +#~ msgid "Use PGP Agent" +#~ msgstr "PGP-agent gebruiken" + +#~ msgid "OpenPGP Key" +#~ msgstr "OpenPGP-sleutel" + +#~ msgid "Cancel confirmation" +#~ msgstr "Bevestiging annuleren" + +#~ msgid "" +#~ "You are in process of executing command. Do you really want to cancel it?" +#~ msgstr "Je bent een commando aan het uitvoeren. Wil je het echt annuleren?" + +#~ msgid "Service sent malformed data" +#~ msgstr "Dienst stuurde misvormde gegevens" + +#~ msgid "Service changed the session identifier." +#~ msgstr "Dienst heeft de sessie-identificatie gewijzigd." + +#~ msgid "%s - Ad-hoc Commands - Gajim" +#~ msgstr "%s - ad-hoc-opdrachten - Gajim" + +#~ msgid "Service returned an error." +#~ msgstr "Dienst gaf een fout weer." + +#~ msgid "You are invited to a groupchat" +#~ msgstr "Je bent uitgenodigd in een groepsgesprek" + +#~ msgid "" +#~ "Issued to:\n" +#~ "Common Name (CN): %(scn)s\n" +#~ "Organization (O): %(sorg)s\n" +#~ "Organizationl Unit (OU): %(sou)s\n" +#~ "Serial Number: %(sn)s\n" +#~ "\n" +#~ "Issued by:\n" +#~ "Common Name (CN): %(icn)s\n" +#~ "Organization (O): %(iorg)s\n" +#~ "Organizationl Unit (OU): %(iou)s\n" +#~ "\n" +#~ "Validity:\n" +#~ "Issued on: %(io)s\n" +#~ "Expires on: %(eo)s\n" +#~ "\n" +#~ "Fingerprint\n" +#~ "SHA-1 Fingerprint: %(sha1)s\n" +#~ "\n" +#~ "SHA-256 Fingerprint: %(sha256)s\n" +#~ msgstr "" +#~ "Uitgegeven aan:\n" +#~ "Algemene naam (CN): %(scn)s\n" +#~ "Organisatie (O): %(sorg)s\n" +#~ "Organisatorische eenheid (OU): %(sou)s\n" +#~ "Serienummer: %(sn)s\n" +#~ "\n" +#~ "Uitgegeven door:\n" +#~ "Algemene naam (CN): %(icn)s\n" +#~ "Organisatie (O): %(iorg)s\n" +#~ "Organisatorische eenheid (OU): %(iou)s\n" +#~ "\n" +#~ "Geldigheidsduur:\n" +#~ "Begint op: %(io)s\n" +#~ "Verloopt op: %(eo)s\n" +#~ "\n" +#~ "Vingerafdrukken\n" +#~ "SHA-1-vingerafdruk: %(sha1)s\n" +#~ "\n" +#~ "SHA-256-vingerafdruk: %(sha256)s\n" + +#~ msgid "_Start Chat" +#~ msgstr "Ge_sprek beginnen" + +#~ msgid "Au_thorize" +#~ msgstr "Mach_tigen" + +#~ msgid "Really send file?" +#~ msgstr "Bestand versturen?" + +#~ msgid "You are currently connected to the server" +#~ msgstr "Je bent momenteel verbonden met de server" + +#~ msgid "To disable the account, you must be disconnected." +#~ msgstr "Om de account uit te schakelen moet de verbinding verbroken zijn." + +#~ msgid "Do you wish to delete all correspondence with %(jid)s?" +#~ msgstr "" +#~ "Wil je echt de volledige gespreksgeschiedenis met %(jid)s verwijderen?" + +#~ msgid "Do you wish to delete all correspondence with the selected contacts?" +#~ msgstr "" +#~ "Wil je echt de volledige gespreksgeschiedenis met de geselecteerde " +#~ "contacten verwijderen?" + +#~ msgid "This can not be undone." +#~ msgstr "Dit kan niet ongedaan gemaakt worden." + +#~ msgid "What do you want to do?" +#~ msgstr "Wat wil je doen?" + +#~ msgid "" +#~ "List of colors, separated by \":\", that will be used to color nicknames " +#~ "in group chats." +#~ msgstr "" +#~ "Lijst van kleuren, onderbroken door ‘:’, die gebruikt worden om bijnamen " +#~ "in groepsgesprekken in te kleuren." + +#~ msgid "You have received new entries (and %d not displayed):" +#~ msgid_plural "You have received new entries (and %d not displayed):" +#~ msgstr[0] "Je hebt nieuwe items ontvangen (en %d niet weergegeven):" +#~ msgstr[1] "Je hebt nieuwe items ontvangen (en %d niet weergegeven):" + +#~ msgid "Stopped" +#~ msgstr "Gestopt" + +#~ msgid "" +#~ "You are about to send your password on an insecure connection. You should " +#~ "install PyOpenSSL to prevent that. Are you sure you want to do that?" +#~ msgstr "" +#~ "Je staat op het punt je wachtwoord te versturen over een onveilige " +#~ "verbinding. Je zou PyOpenSSL moeten installeren om dat te voorkomen. Ben " +#~ "je zeker dat je dat wil doen?" + +#~ msgid "Status messages displayed in chat window" +#~ msgstr "Statusberichten weergegeven in gespreksvenster" + +#~ msgid "?print_status:All" +#~ msgstr "?print_status:Alles" + +#~ msgid "Enter and leave only" +#~ msgstr "Alleen binnenkomen en verlaten" + +#~ msgid "?print_status:None" +#~ msgstr "?print_status:Geen" + +#~ msgid "Untrusted OpenPGP key" +#~ msgstr "Niet-vertrouwde OpenPGP-sleutel" + +#~ msgid "" +#~ "The OpenPGP key used to encrypt this chat is not trusted. Do you really " +#~ "want to encrypt this message?" +#~ msgstr "" +#~ "De OpenPGP-sleutel die gebruikt wordt voor het versleutelen van dit " +#~ "gesprek is niet vertrouwd. Wil je dit bericht toch versleutelen?" + +#~ msgid "D-Bus python bindings are missing in this computer" +#~ msgstr "D-Bus pythonbindingen ontbreken op deze computer" + +#~ msgid "D-Bus capabilities of Gajim cannot be used" +#~ msgstr "D-Bus mogelijkheden van Gajim kunnen niet worden gebruikt" + +#~ msgid "D-Bus does not run correctly on this machine" +#~ msgstr "D-Bus werkt niet zoals het hoort op deze machine" + +#~ msgid "D-Bus does not run correctly on this machine: system bus not present" +#~ msgstr "" +#~ "D-Bus werkt niet zoals het hoort op deze machine: system bus ontbreekt" + +#~ msgid "" +#~ "D-Bus does not run correctly on this machine: session bus not present" +#~ msgstr "" +#~ "D-Bus werkt niet zoals het hoort op deze machine: session bus ontbreekt" + +#, fuzzy +#~ msgid "Command line Control" +#~ msgstr "Opdrachtregel" + +#, fuzzy +#~ msgid "Enables you to control Gajim with via commandline" +#~ msgstr "Een script om Gajim te besturen via de opdrachtregel." + +#~ msgid "Non Anonymous Server" +#~ msgstr "Niet-anonieme server" + +#~ msgid "" +#~ "When is self contact row displayed. Can be \"always\", " +#~ "\"when_other_resource\" or \"never\"" +#~ msgstr "" +#~ "Wanneer eigen contactrij wordt weergegeven. Kan ‘always’ (altijd), " +#~ "‘when_other_resource’ (bij andere bron) of ‘never’ (nooit) zijn" + +#~ msgid "%s kicked us due to an error" +#~ msgstr "%s heeft ons uit het gesprek geschopt vanwege een fout" + +#~ msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +#~ msgstr "%(nick)s is uit het groepsgesprek geschopt door %(who)s: %(reason)s" + +#~ msgid "%(nick)s has been banned by %(who)s: %(reason)s" +#~ msgstr "" +#~ "%(nick)s is uit het groepsgesprek verbannen door %(who)s: %(reason)s" + +#~ msgid "system shutdown" +#~ msgstr "uitschakelen van systeem" + +#~ msgid "** Role of %(nick)s has been set to %(role)s" +#~ msgstr "** Rol van %(nick)s is ingesteld als %(role)s" + +#~ msgid "%s has left" +#~ msgstr "%s heeft het groepsgesprek verlaten" + +#~ msgid "%s is full" +#~ msgstr "%s is vol" + +#~ msgid "" +#~ "Can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no " +#~ "longer print status line in groupchats when a member changes their status " +#~ "and/or their status message. If \"all\" Gajim will print all status " +#~ "messages. If \"in_and_out\", Gajim will only print FOO enters/leaves " +#~ "group chat." +#~ msgstr "" +#~ "Kan ‘none’, ‘all’ of ‘in_and_out’ zijn. Indien ‘none’ zal Gajim geen " +#~ "statusregels weergeven in groepsgesprekken wanneer een lid zijn of haar " +#~ "status en/of statusbericht wijzigt. Indien ‘all’ zal Gajim alle " +#~ "statusberichten weergeven. Indien ‘in_and_out’ zal Gajim enkel weergeven " +#~ "wie het groepsgesprek binnenkomt of verlaat." + +#, fuzzy +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "Statusberichte_n van contacten weergeven in rooster" + +#~ msgid "" +#~ "Please copy / paste the refresh token from the website that has just been " +#~ "opened." +#~ msgstr "Kopieer / plak het verversingstoken van de zonet geopende website." + +#~ msgid "Oauth2 Credentials" +#~ msgstr "OAuth2-gebruikersreferentie" + +#~ msgid "" +#~ "You are about to send your password unencrypted on an insecure " +#~ "connection. Are you sure you want to do that?" +#~ msgstr "" +#~ "Je staat op het punt je wachtwoord onversleuteld via een onveilige " +#~ "verbinding te verzenden. Weet je het zeker?" + +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "Laatste token voor OAuth 2.0-authenticatie." + +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "client_id voor OAuth 2.0-authenticatie." + +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "redirect_url voor OAuth 2.0-authenticatie." + +#~ msgid "" +#~ "Displayed chat state notifications in chat windows. Can be one of all, " +#~ "composing_only, disabled." +#~ msgstr "" +#~ "Gesprekstoestandsmeldingen weergegeven in gespreksvensters. Kan all " +#~ "(alle), composing_only (alleen ‘aan het typen’) of disabled " +#~ "(uitgeschakeld) zijn." + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." +#~ msgstr "" +#~ "Gajim kan meta-informatie gerelateerd aan een gesprek met een contact " +#~ "verzenden en ontvangen. Hier kan je opgeven welke gesprekstoestanden je " +#~ "wil weergeven in gespreksvensters." + +#~ msgid "This is an irreversible operation." +#~ msgstr "Dit is een bewerking die niet ongedaan gemaakt kan worden." + +#~ msgid "Settings" +#~ msgstr "Instellingen" + +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "Welkom bij Gajim-logboekbeheer" + +#~ msgid "Toggle full / compact view" +#~ msgstr "Volledige / compacte weergave" + +#~ msgid "Member List" +#~ msgstr "Ledenlijst" + +#~ msgid "Owner List" +#~ msgstr "Eigenaarlijst" + +#~ msgid "Administrator List" +#~ msgstr "Administratorlijst" + +#~ msgid "Nick" +#~ msgstr "Bijnaam" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "Wie wil je verbannen?\n" +#~ "\n" + +#~ msgid "Adding Member…" +#~ msgstr "Lid wordt toegevoegd…" + +#~ msgid "" +#~ "Whom do you want to make a member?\n" +#~ "\n" +#~ msgstr "" +#~ "Wie wil je een lid maken?\n" +#~ "\n" + +#~ msgid "Adding Owner…" +#~ msgstr "Eigenaar wordt toegevoegd…" + +#~ msgid "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" +#~ msgstr "" +#~ "Wie wil je een eigenaar maken?\n" +#~ "\n" + +#~ msgid "Adding Administrator…" +#~ msgstr "Administrator wordt toegevoegd…" + +#~ msgid "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" +#~ msgstr "" +#~ "Wie wil je een administrator maken?\n" +#~ "\n" + +#~ msgid "Error reading file:" +#~ msgstr "Fout bij lezen bestand:" + +#~ msgid "Error parsing file:" +#~ msgstr "Fout bij verwerken bestand:" + +#~ msgid "List of possible features in Gajim:" +#~ msgstr "Lijst van door Gajim ondersteunde functies:" + +#~ msgid "Description" +#~ msgstr "Beschrijving" + +#~ msgid "Password encryption" +#~ msgstr "Wachtwoordversleuteling" + +#~ msgid "On Windows the Windows Credential Vault is used." +#~ msgstr "Op Windows wordt gebruik gemaakt van de Windows Credential Vault." + +#~ msgid "Spellchecking of composed messages." +#~ msgstr "Spellingscontrole van getypte berichten." + +#~ msgid "Automatic status" +#~ msgstr "Automatische status" + +#~ msgid "Requires python2.5." +#~ msgstr "Vereist python2.5." + +#~ msgid "" +#~ "Generate XHTML output from RST code (see http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "XHTML-uitvoer uit RST-code genereren (zie http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html)." + +#~ msgid "UPnP-IGD" +#~ msgstr "UPnP-IGD" + +#~ msgid "?features:Available" +#~ msgstr "?functies:Beschikbaar" + +#~ msgid "Feature" +#~ msgstr "Functie" + +#~ msgid "Filter:" +#~ msgstr "Filter:" + +#~ msgid "Spell _checker" +#~ msgstr "Spellings_controle" + +#~ msgid "Chat Appearance" +#~ msgstr "Gespreksweergave" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed out" +#~ msgstr "" +#~ "Gajim zal een melding tonen over contacten die zich afmelden m.b.v. een " +#~ "pop-up rechtsonder" + +#~ msgid "Sounds" +#~ msgstr "Geluiden" + +#~ msgid "Chat state notifications" +#~ msgstr "Gesprekstoestandsmeldingen" + +#~ msgid "_Away after" +#~ msgstr "_Afwezig na" + +#~ msgid "" +#~ "If checked, Gajim will change status to Away when the computer is unused." +#~ msgstr "" +#~ "Indien aangevinkt zal Gajim je status veranderen naar ‘Even weg’ wanneer " +#~ "de computer niet in gebruik is." + +#~ msgid "_Not available after" +#~ msgstr "_Niet beschikbaar na" + +#~ msgid "Auto Status" +#~ msgstr "Automatische status" + +#~ msgid "Status Messages" +#~ msgstr "Statusberichten" + +#~ msgid "Audio" +#~ msgstr "Audio" + +#~ msgid "Video" +#~ msgstr "Video" + +#~ msgid "(example: stun.iptel.org)" +#~ msgstr "(voorbeeld: stun.iptel.org)" + +#~ msgid "Connection" +#~ msgstr "Verbinding" + +#~ msgid "Custom" +#~ msgstr "Aangepast" + +#~ msgid "Privacy" +#~ msgstr "Privacy" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "Geavanceerde configuratie" + +#~ msgid "" +#~ "Gajim is a chat client to be used with Jabber.org, Live Journal Talk, " +#~ "Nimbuzz, Ovi, Talkonaut, and thousands of other services run by companies " +#~ "and ISPs, and volunteers around the world." +#~ msgstr "" +#~ "Gajim is een chatprogramma voor Jabber.org, Live Journal Talk, Nimbuzz, " +#~ "Ovi, Talkonaut, en nog duizenden andere diensten die uitgebaat worden " +#~ "door bedrijven en ISP’s, en vrijwilligers over de hele wereld." + +#~ msgid "" +#~ "If you have a few accounts on different servers, if you want to be in " +#~ "contact with your friends and family all the time, then Gajim is for you." +#~ msgstr "" +#~ "Als je accounts op meerdere servers hebt en altijd in contact wil zijn " +#~ "met je vrienden en familie, is Gajim voor jou." + +#~ msgid "Tabbed chat window and single window modes" +#~ msgstr "Modi voor gespreksvenster met tabbladen en aparte vensters" + +#~ msgid "" +#~ "Group chat support (with Multi-User Chat protocol), invitation, chat to " +#~ "group chat transformation" +#~ msgstr "" +#~ "Ondersteuning voor groepsgesprekken (met het Multi-User Chat-protocol), " +#~ "uitnodigingen en omschakelen van gesprekken naar groepsgesprekken" + +#~ msgid "Emojis, avatars, PEP (user activity, mood and tune)" +#~ msgstr "Emoji’s, avatars, PEP (gebruikersactiviteit, humeur en liedje)" + +#~ msgid "Audio / video conferences" +#~ msgstr "Audio-/videoconferenties" + +#~ msgid "File transfer, room bookmarks" +#~ msgstr "Bestandsoverdracht, bladwijzers voor groepsgesprekken" + +#~ msgid "Metacontacts support" +#~ msgstr "Ondersteuning voor metacontacten" + +#~ msgid "Trayicon, speller, extended chat history functionalities" +#~ msgstr "" +#~ "Taakbalkpictogram, spellingscontrole en uitgebreide " +#~ "gespreksgeschiedenisfunctionaliteit" + +#~ msgid "TLS, GPG and End-To-End encryption support" +#~ msgstr "Ondersteuning voor TLS-, GPG- en End-to-End-versleuteling" + +#~ msgid "Transport registration support" +#~ msgstr "Ondersteuning voor transportregistratie" + +#~ msgid "Wikipedia, dictionary and search engine lookup" +#~ msgstr "Opzoeken op Wikipedia, woordenboek en zoekmachine" + +#~ msgid "Multiple accounts support" +#~ msgstr "Ondersteuning voor meerdere accounts" + +#~ msgid "XML console interface" +#~ msgstr "XML-console-interface" + +#~ msgid "" +#~ "A programming error has been detected. It probably is not fatal, but " +#~ "should be reported to the developers nonetheless." +#~ msgstr "" +#~ "Er is een programmeerfout opgetreden. Het is waarschijnlijk niet fataal, " +#~ "maar het is een goed idee toch de ontwikkelaars op de hoogte te stellen." + +#~ msgid "" +#~ "A list of modp groups to use in a Diffie-Hellman, highest preference " +#~ "first, separated by commas. Valid groups are 1, 2, 5, 14, 15, 16, 17 and " +#~ "18. Higher numbers are more secure, but take longer to calculate when you " +#~ "start a session." +#~ msgstr "" +#~ "Een door komma’s gescheiden lijst van modp-groepen te gebruiken in een " +#~ "Diffie-Hellman, met hoogste voorkeur eerst. Geldige groepen zijn 1, 2, 5, " +#~ "14, 15, 16, 17 en 18. Hogere getallen zijn veiliger, maar leiden ertoe " +#~ "dat de berekening langer duurt wanneer je een sessie begint." + +#~ msgid "(ESession info)" +#~ msgstr "(ESession-info)" + +#~ msgid "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" +#~ msgstr "" +#~ "Indien niet uitgeschakeld zal Gajim ascii-smileys, zoals ‘:)’, vervangen " +#~ "door bijpassende geanimeerde of statische grafische emoticons" + +#~ msgid "_Emoticons" +#~ msgstr "_Emoticons" + +#~ msgid "_Highlight misspelled words" +#~ msgstr "Verkeerd gespelde woorden _markeren" + +#~ msgid "Notify by icon when your messages are received" +#~ msgstr "Pictogram weergeven wanneer je berichten ontvangen zijn" + +#~ msgid "T_heme" +#~ msgstr "T_hema" + +#~ msgid "Themes" +#~ msgstr "Thema’s" + +#~ msgid "Always use this nickname when there is a conflict" +#~ msgstr "Gebruik altijd deze bijnaam bij een conflict" + +#~ msgid "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." +#~ msgstr "" +#~ "Jabberd1.4 gaat niet goed om met SHA-informatie bij het deelnemen aan een " +#~ "met wachtwoord beschermd groepsgesprek. Schakel deze optie uit om geen " +#~ "SHA-informatie meer in groepsgespreksaanwezigheid uit te sturen." + +#~ msgid "Hello" +#~ msgstr "Hallo" + +#~ msgid "Presence" +#~ msgstr "Aanwezigheid" + +#~ msgid "Iq" +#~ msgstr "Iq" + +#~ msgid "Emoticons disabled" +#~ msgstr "Emoticons uitgeschakeld" + +#~ msgid "" +#~ "Your configured emoticons theme could not be loaded. See the log for more " +#~ "details." +#~ msgstr "" +#~ "Je ingestelde emoticon-thema is niet gevonden dus zijn emoticons " +#~ "uitgezet. Bekijk het logboek voor details." + +#~ msgid "You cannot make changes to the default theme" +#~ msgstr "Je kan het standaardthema niet aanpassen" + +#~ msgid "theme name" +#~ msgstr "themanaam" + +#~ msgid "You cannot delete your current theme" +#~ msgstr "Je kunt je huidige thema niet verwijderen" + +#~ msgid "Pick another theme to use first." +#~ msgstr "Kies eerst een ander thema." + +#~ msgid "New Single Message from %(nickname)s" +#~ msgstr "Nieuw enkel bericht van %(nickname)s" + +#~ msgid "New Private Message from group chat %s" +#~ msgstr "Nieuw privébericht van groepsgesprek %s" + +#~ msgid "%(nickname)s: %(message)s" +#~ msgstr "%(nickname)s: %(message)s" + +#~ msgid "Messaged by %(nickname)s" +#~ msgstr "Bericht ontvangen van %(nickname)s" + +#~ msgid "Status message text color." +#~ msgstr "Tekstkleur van statusbericht." + +#~ msgid "Incoming nickname font." +#~ msgstr "Lettertype van inkomende bijnaam." + +#~ msgid "Outgoing nickname font." +#~ msgstr "Lettertype voor uitgaande bijnaam." + +#~ msgid "Status message text font." +#~ msgstr "Lettertype van statusbericht." + +#~ msgid "Background color of contacts when they just signed in." +#~ msgstr "Achtergrondkleur van contacten wanneer ze net ingelogd zijn." + +#~ msgid "Background color of contacts when they just signed out." +#~ msgstr "Achtergrondkleur van contacten wanneer ze net uitgelogd zijn." + +#~ msgid "green" +#~ msgstr "groen" + +#~ msgid "grocery" +#~ msgstr "kruidenier" + +#~ msgid "human" +#~ msgstr "menselijk" + +#~ msgid "marine" +#~ msgstr "marine" + +#~ msgid "Group row" +#~ msgstr "Groeprij" + +#~ msgid "Contact row" +#~ msgstr "Contactrij" + +#~ msgid "Chat Banner" +#~ msgstr "Gespreksbanner" + +#~ msgid "Gajim Themes Customization" +#~ msgstr "Gajim – thema’s aanpassen" + +#~ msgid "Text _color:" +#~ msgstr "Tekst_kleur:" + +#~ msgid "_Background:" +#~ msgstr "_Achtergrond:" + +#~ msgid "Text _font:" +#~ msgstr "Letter_type:" + +#~ msgid "Font style:" +#~ msgstr "Letterstijl:" + +#~ msgid "Paused" +#~ msgstr "Gepauzeerd" + +#~ msgid "Gone" +#~ msgstr "Weg" + +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "" +#~ "MUC\n" +#~ "Berichten" + +#~ msgid "Chatstate Tab Colors" +#~ msgstr "Gesprekstoestand kleuren voor tabbladen" + +#~ msgid "Chat message" +#~ msgstr "Chatbericht" + +#~ msgid "Use system _default" +#~ msgstr "Systeemstan_daard gebruiken" + +#~ msgid "Font" +#~ msgstr "Lettertype" + +#~ msgid "Contact's nickname" +#~ msgstr "Bijnaam van contact" + +#~ msgid "_Status message" +#~ msgstr "_Statusbericht" + +#~ msgid "Your message" +#~ msgstr "Je bericht" + +#~ msgid "_URL highlight" +#~ msgstr "_URL-markering" + +#~ msgid "Chat Line Colors" +#~ msgstr "Kleuren van gespreksregels" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber-ID:" + +#~ msgid "Resource:" +#~ msgstr "Bron:" + +#~ msgid "Status:" +#~ msgstr "Status:" + +#~ msgid "Client:" +#~ msgstr "Cliënt:" + +#~ msgid "Contact time:" +#~ msgstr "Contacttijd:" + +#~ msgid "Ask:" +#~ msgstr "Vragen:" + +#~ msgid "Subscription:" +#~ msgstr "Abonnement:" + +#~ msgid "Name:" +#~ msgstr "Naam:" + +#~ msgid "Nickname:" +#~ msgstr "Bijnaam:" + +#~ msgid "Street:" +#~ msgstr "Straat:" + +#~ msgid "City:" +#~ msgstr "Stad:" + +#~ msgid "State:" +#~ msgstr "Staat:" + +#~ msgid "Extra Address:" +#~ msgstr "Extra adres:" + +#~ msgid "Postal Code:" +#~ msgstr "Postcode:" + +#~ msgid "Country:" +#~ msgstr "Land:" + +#~ msgid "Homepage:" +#~ msgstr "Website:" + +#~ msgid "E-Mail:" +#~ msgstr "E-mail:" + +#~ msgid "Phone No.:" +#~ msgstr "Telefoonnummer:" + +#~ msgid "Birthday:" +#~ msgstr "Verjaardag:" + +#~ msgid "Family:" +#~ msgstr "Familie:" + +#~ msgid "Middle:" +#~ msgstr "Midden:" + +#~ msgid "Prefix:" +#~ msgstr "Prefix:" + +#~ msgid "Given:" +#~ msgstr "Gegeven:" + +#~ msgid "Suffix:" +#~ msgstr "Suffix:" + +#~ msgid "Full Name" +#~ msgstr "Volledige naam" + +#~ msgid "Company:" +#~ msgstr "Bedrijf:" + +#~ msgid "Department:" +#~ msgstr "Departement:" + +#~ msgid "Position:" +#~ msgstr "Positie:" + +#~ msgid "Role:" +#~ msgstr "Rol:" + +#~ msgid "- messages will be logged" +#~ msgstr "- berichten zullen worden opgeslagen" + +#~ msgid "- messages will not be logged" +#~ msgstr "- berichten zullen niet worden opgeslagen" + +#~ msgid "Edit %s" +#~ msgstr "%s wijzigen" + +#~ msgid "Conversation History with %s" +#~ msgstr "Gespreksgeschiedenis van %s" + +#~ msgid "Contact with \"%s\" cannot be established" +#~ msgstr "Kan geen contact maken met ‘%s’" + +#~ msgid "Registration information for transport %s has not arrived in time" +#~ msgstr "" +#~ "Transport %s heeft niet op tijd geantwoord met registratie informatie" + +#~ msgid "Register to" +#~ msgstr "Registreren bij" + +#~ msgid "Enter name / JID of contact or groupchat" +#~ msgstr "Voer naam/JID van contact of groepsgesprek in" + +#~ msgid "Search:" +#~ msgstr "Zoeken:" + +#~ msgid "_In date search" +#~ msgstr "Zoeken _in datum" + +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "Zonder verbinding is het niet mogelijk je wachtwoord te veranderen." + +#~ msgid "Invalid password" +#~ msgstr "Ongeldig wachtwoord" + +#~ msgid "The passwords typed in both fields must be identical." +#~ msgstr "De wachtwoorden in beide velden moeten identiek zijn." + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "Voer opnieuw in ter bevestiging:" + +#~ msgid "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" +#~ msgstr "" +#~ "JID %s is niet in lijn met de RFC en zal niet toegevoegd worden aan je " +#~ "rooster. Gebruik een roosterbeheertoepassing zoals http://jru." +#~ "jabberstudio.org/ om het te verwijderen" + +#~ msgid "unsubscribe request from %s" +#~ msgstr "afmelding verzocht van %s" + +#~ msgid "<empty>" +#~ msgstr "<leeg>" + +#~ msgid "Homepage:" +#~ msgstr "Website:" + +#~ msgid "Manage Bookmarks" +#~ msgstr "Beheer Bladwijzers" + +#~ msgid "_Nickname:" +#~ msgstr "Bij_naam:" + +#~ msgid "Pr_int status:" +#~ msgstr "Pr_int status:" + +#~ msgid "Add JID" +#~ msgstr "JID toevoegen" + +#~ msgid "All non-compliant MAM Groupchats" +#~ msgstr "Alle groepsgesprekken met niet-conforme MAM" + +#~ msgid "Preference:" +#~ msgstr "Voorkeur:" + +#~ msgid "Preference" +#~ msgstr "Voorkeur" + +#~ msgid "JID:" +#~ msgstr "JID:" + +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "" +#~ "Vul de informatie van de contactpersoon in die je aan je account %s wil toevoegen" + +#~ msgid "Please fill in the data of the contact you want to add" +#~ msgstr "Vul de informatie van de contactpersoon in die je wil toevoegen" + +#~ msgid "Recently" +#~ msgstr "Recent" + +#~ msgid "Add New Contact" +#~ msgstr "Nieuw contact toevoegen" + +#~ msgid "_User ID:" +#~ msgstr "Gebr_uikers-ID:" + +#~ msgid "Type User ID" +#~ msgstr "Voer gebruikers-ID in" + +#~ msgid "Type Nickname" +#~ msgstr "Voer bijnaam in" + +#~ msgid "Personal Information" +#~ msgstr "Persoonlijke informatie" + +#~ msgid "Avatar:" +#~ msgstr "Avatar:" + +#~ msgid "Click to set your avatar" +#~ msgstr "Klik om je avatar in te stellen" + +#~ msgid "Remove Avatar" +#~ msgstr "Avatar verwijderen" + +#~ msgid "Not fetched because of invisible status" +#~ msgstr "Niet opgehaald door status ‘onzichtbaar’" + +#~ msgid "Please wait..." +#~ msgstr "Even geduld…" + +#~ msgid "" +#~ "When negotiating an encrypted session, should Gajim assume you want your " +#~ "messages to be logged?" +#~ msgstr "" +#~ "Moet Gajim bij het onderhandelen van een versleutelde sessie ervan " +#~ "uitgaan dat je wil dat je berichten opgeslagen worden?" + +#~ msgid "Log _encrypted chat session" +#~ msgstr "V_ersleutelde gesprekken bijhouden" + +#~ msgid "" +#~ "If checked, Gajim will keep logs for encrypted messages. Please note that " +#~ "when using end-to-end encryption the remote party has to agree on " +#~ "logging, else the messages will not be logged." +#~ msgstr "" +#~ "Indien aangevinkt zal Gajim versleutelde gesprekken bijhouden. Let op dat " +#~ "bij het gebruik van eind-tot-eind-versleuteling de andere persoon hiermee " +#~ "akkoord moet gaan, zoniet zullen de berichten niet bijgehouden worden." + +#~ msgid "Yahoo! Address:" +#~ msgstr "Yahoo!-adres:" + +#~ msgid "Forward unread messages" +#~ msgstr "Ongelezen berichten doorsturen" + +#~ msgid "All unread messages have been forwarded." +#~ msgstr "Alle ongelezen berichten zijn doorgestuurd." + +#~ msgid "Forward unread message then disconnect" +#~ msgstr "Ongelezen berichten doorsturen en daarna de verbinding verbreken" + +#~ msgid "MSN Address:" +#~ msgstr "MSN-adres:" + +#~ msgid "Confirm these session options" +#~ msgstr "Bevestig deze sessie-opties" + +#~ msgid "" +#~ "The remote client wants to negotiate a session with these features:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Are these options acceptable?" +#~ msgstr "" +#~ "De externe cliënt wil een sessie onderhandelen met deze functies:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Zijn deze opties aanvaardbaar?" + +#~ msgid "" +#~ "The remote client selected these options:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Continue with the session?" +#~ msgstr "" +#~ "De externe cliënt heeft deze opties geselecteerd:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Doorgaan met de sessie?" + +#~ msgid "Always accept for this contact" +#~ msgstr "Altijd aanvaarden voor dit contact" + +#~ msgid "End to End message encryption" +#~ msgstr "Eind-tot-eind-berichtversleuteling" + +#~ msgid "Encrypting chat messages." +#~ msgstr "Berichten worden versleuteld." + +#~ msgid "Requires python-crypto." +#~ msgstr "Vereist python-crypto." + +#~ msgid "Session negotiation cancelled" +#~ msgstr "Sessie-onderhandeling geannuleerd" + +#~ msgid "This session WILL NOT be archived on server" +#~ msgstr "Deze sessie ZAL NIET gearchiveerd worden op de server" + +#~ msgid "This session is encrypted" +#~ msgstr "Deze sessie is versleuteld" + +#~ msgid " and WILL be logged" +#~ msgstr " en WORDT bijgehouden" + +#~ msgid " and WILL NOT be logged" +#~ msgstr " en WORDT niet bijgehouden" + +#~ msgid "" +#~ "Remote contact's identity not verified. Click the shield button for more " +#~ "details." +#~ msgstr "" +#~ "Identiteit van contact niet geverifieerd. Klik op de schild-knop voor " +#~ "details." + +#~ msgid "end-to-end encryption disabled" +#~ msgstr "eind-tot-eind-versleuteling uitgeschakeld" + +#~ msgid "" +#~ "Unable to decrypt message from %s\n" +#~ "It may have been tampered with." +#~ msgstr "" +#~ "Kon bericht van %s niet ontsleutelen\n" +#~ "Er is mogelijk mee geknoeid." + +#~ msgid "Unable to decrypt message" +#~ msgstr "Kan bericht niet ontsleutelen" + +#~ msgid "Enable ESessions encryption for this account." +#~ msgstr "ESessions-versleuteling voor deze account inschakelen." + +#~ msgid "Should Gajim automatically start an encrypted session when possible?" +#~ msgstr "" +#~ "Moet Gajim automatisch een versleutelde sessie proberen starten wanneer " +#~ "mogelijk?" + +#~ msgid "" +#~ "[This is part of an encrypted session. If you see this message, something " +#~ "went wrong.]" +#~ msgstr "" +#~ "[Dit is onderdeel van een versleutelde sessie. Als je dit bericht ziet is " +#~ "er iets misgegaan.]" + +#~ msgid "Requires python-avahi." +#~ msgstr "Vereist python-avahi." + +#~ msgid "Save Image as…" +#~ msgstr "Afbeelding opslaan als…" + +#~ msgid "Exporting History Logs…" +#~ msgstr "Geschiedenislogboeken worden geëxporteerd…" + +#~ msgid "Choose Client Cert #PCKS12" +#~ msgstr "Kies cliëntcertificaat #PCKS12" + +#~ msgid "When %s becomes:" +#~ msgstr "Wanneer %s wordt:" + +#~ msgid "Adding Special Notification for %s" +#~ msgstr "Speciale melding voor %s wordt toegevoegd" + +#~ msgid "" +#~ "It seems the SSL certificate of account %(account)s has changed and is " +#~ "not valid or your connection is being compromised.\n" +#~ "\n" +#~ "Old SHA-1 fingerprint: %(old_sha1)s\n" +#~ "Old SHA-256 fingerprint: %(old_sha256)s\n" +#~ "\n" +#~ "New SHA-1 fingerprint: %(new_sha1)s\n" +#~ "New SHA-256 fingerprint: %(new_sha256)s\n" +#~ "\n" +#~ "Do you still want to connect and update the fingerprint of the " +#~ "certificate?" +#~ msgstr "" +#~ "Het lijkt erop dat het SSL-certificaat van account %(account)s is " +#~ "gewijzigd en ongeldig is, of je verbinding wordt gehackt.\n" +#~ "\n" +#~ "Oude SHA-1-vingerafdruk: %(old_sha1)s\n" +#~ "Oude SHA-256-vingerafdruk: %(old_sha256)s\n" +#~ "\n" +#~ "Nieuwe SHA-1-vingerafdruk: %(new_sha1)s\n" +#~ "Nieuwe SHA-256-vingerafdruk: %(new_sha256)s\n" +#~ "\n" +#~ "Wil je nog steeds verbinden en de vingerafdruk van het certificaat " +#~ "bijwerken?" + +#~ msgid "" +#~ "The authenticity of the %s certificate could be invalid.\n" +#~ "The certificate does not cover this domain." +#~ msgstr "" +#~ "De authenticiteit van het %s certificaat kan ongeldig zijn.\n" +#~ "Het certificaat is niet geldig voor dit domein." + +#~ msgid "Unable to load idle module" +#~ msgstr "Kan inactiviteitsmodule niet laden" + +#~ msgid "%s or %s is a directory but should be a file" +#~ msgstr "%s of %s is een map maar zou een bestand moeten zijn" + +#~ msgid "creating logs database" +#~ msgstr "logboekdatabase wordt aangemaakt" + +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "%(src)s naar %(dst)s verplaatsen" + +#~ msgid "Rename account label" +#~ msgstr "Accountlabel hernoemen" + +#~ msgid "" +#~ "Requires gpg and python-gnupg (http://code.google.com/p/python-gnupg/)." +#~ msgstr "" +#~ "Vereist gpg en python-gnupg (http://code.google.com/p/python-gnupg/)." + +#~ msgid "Send Single Message..." +#~ msgstr "Enkel bericht verzenden…" + +#~ msgid "We received an error: {}" +#~ msgstr "We hebben een fout ontvangen: {}" + +#~ msgid "E2E encryption disabled" +#~ msgstr "E2E-versleuteling uitgeschakeld" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Voeg dit certificaat toe aan de lijst van vertrouwde certificaten.\n" +#~ "SHA-1-vingerafdruk van het certificaat:\n" +#~ "%(sha1)s\n" +#~ "SHA-256-vingerafdruk van het certificaat:\n" +#~ "%(sha256)s" + +#~ msgid "uri" +#~ msgstr "uri" + +#~ msgid "Check update after start" +#~ msgstr "Controleren op updates bij opstarten" + +#~ msgid "" +#~ "Install /\n" +#~ "Upgrade" +#~ msgstr "" +#~ "Installeren/\n" +#~ "bijwerken" + +#~ msgid "Install/Upgrade" +#~ msgstr "Installeren/bijwerken" + +#~ msgid "Install and Upgrade Plugins" +#~ msgstr "Plug-ins installeren en bijwerken" + +#~ msgid "Plugins updates" +#~ msgstr "Updates voor plug-ins" + +#~ msgid "" +#~ "Some updates are available for your installer plugins. Do you want to " +#~ "update those plugins:\n" +#~ "%s" +#~ msgstr "" +#~ "Er zijn enkele updates beschikbaar voor je plug-ins. Wil je volgende plug-" +#~ "ins bijwerken?\n" +#~ "%s" + +#~ msgid "Security error during download" +#~ msgstr "Beveiligingsfout tijdens downloaden" + +#~ msgid "" +#~ "A security error occurred when downloading. The certificate of the plugin " +#~ "archive could not be verified. this might be a security attack. \n" +#~ "\n" +#~ "You can continue at your risk. Do you want to do so? (not recommended)" +#~ msgstr "" +#~ "Er trad een beveiligingsfout op bij het downloaden. Het certificaat van " +#~ "het plug-inarchief kon niet geverifieerd worden. Dit kan een " +#~ "beveiligingsaanval zijn. \n" +#~ "\n" +#~ "Je kan op eigen risico verder gaan. Wil je dat doen? (niet aanbevolen)" + +#~ msgid "Error in download" +#~ msgstr "Fout bij downloaden" + +#~ msgid "" +#~ "An error occurred when downloading\n" +#~ "\n" +#~ "[%s]" +#~ msgstr "" +#~ "Er trad een fout op bij het downloaden\n" +#~ "\n" +#~ "[%s]" + +#~ msgid "All selected plugins downloaded" +#~ msgstr "Alle geselecteerde plug-ins gedownload" + +#~ msgid "cyan" +#~ msgstr "cyaan" + +#~ msgid "migrating logs database to indices" +#~ msgstr "logboekdatabase migreren naar indices" + +#~ msgid "Send File..." +#~ msgstr "Bestand verzenden…" + +#~ msgid "HTTP File Upload" +#~ msgstr "HTTP-bestandsupload" + +#~ msgid "HTTP File Upload not supported by your server" +#~ msgstr "HTTP-bestandsupload wordt niet ondersteund door je server" + +#~ msgid "Jingle File Transfer" +#~ msgstr "Jingle-bestandsoverdracht" + +#~ msgid "" +#~ "Your configured emoticons theme has not been found, so emoticons have " +#~ "been disabled." +#~ msgstr "" +#~ "Je ingestelde emoticon-thema is niet gevonden dus zijn emoticons " +#~ "uitgeschakeld." + +#~ msgid "Shows or hides the roster window" +#~ msgstr "Toont of verbergt roostervenster" + +#~ msgid "Shows or hides the ipython window" +#~ msgstr "Toont of verbergt het ipython-venster" + +#~ msgid "XMPP account %s" +#~ msgstr "XMPP-account %s" + +#~ msgid "Exception" +#~ msgstr "Uitzondering" + +#~ msgid "" +#~ "someone@somewhere.com would like you to add some contacts " +#~ "in your roster." +#~ msgstr "" +#~ "iemand@ergens.be wil dat je een aantal contacten aan je rooster " +#~ "toevoegt." + +#~ msgid "" +#~ "Ordered list (space separated) of connection type to try. Can contain " +#~ "tls, ssl or plain" +#~ msgstr "" +#~ "Geordende lijst (door spaties geschieden) van te proberen " +#~ "verbindingstypes. Kan ‘tls’, ‘ssl’ of ‘plain’ zijn" + +#~ msgid "_Actions" +#~ msgstr "_Acties" + +#~ msgid "Open URI using Gajim" +#~ msgstr "URI openen met Gajim" + +#~ msgid "chat;messaging;im;jabber;xmpp;bonjour;voip;" +#~ msgstr "chat;messaging;berichten;gesprek;im;jabber;xmpp;bonjour;voip;" + +#~ msgid "UPower" +#~ msgstr "UPower" + +#~ msgid "Ability to disconnect properly just before suspending the machine." +#~ msgstr "" +#~ "Mogelijkheid om correct de verbinding te verbreken net voor de machine in " +#~ "stand-by te zetten." + +#~ msgid "You are already in group chat %s" +#~ msgstr "Je bent al in groepsgesprek %s" + +#~ msgid "Join Group Chat with account %s" +#~ msgstr "Deelnemen aan groepsgesprek met account %s" + +#~ msgid "" +#~ "You have to choose an account from which you want to join the groupchat." +#~ msgstr "" +#~ "Je moet een account aanmaken waarmee je wil deelnemen aan het " +#~ "groepsgesprek." + +#~ msgid "Please enter the group chat JID as room@server." +#~ msgstr "Voer de JID van het groepsgesprek in als ruimte@server." + +#~ msgid "The group chat JID contains invalid characters." +#~ msgstr "De JID van het groepsgesprek bevat ongeldige tekens." + +#~ msgid "Start Chat with account %s" +#~ msgstr "Gesprek beginnen met account %s" + +#~ msgid "" +#~ "Fill in the nickname or the JID of the contact you would like\n" +#~ "to send a chat message to:" +#~ msgstr "" +#~ "Geef de bijnaam of JID van het contact dat je\n" +#~ "een bericht wil sturen:" + +#~ msgid "Nickname / JID" +#~ msgstr "Bijnaam / JID" + +#~ msgid "Unable to parse \"%s\"." +#~ msgstr "Kan ‘%s’ niet verwerken." + +#~ msgid "Shows the chat dialog so that you can send messages to a contact" +#~ msgstr "" +#~ "Toont het gespreksvenster zodat je berichten kan verzenden aan een contact" + +#~ msgid "JID of the contact that you want to chat with" +#~ msgstr "JID van het contact waarmee je wil praten" + +#~ msgid "message content. The account must be specified or \"\"" +#~ msgstr "berichtinhoud. De account moet gespecificeerd worden of \"\"" + +#~ msgid "Adds contact to roster" +#~ msgstr "Voegt contact toe aan rooster" + +#~ msgid "jid" +#~ msgstr "jid" + +#~ msgid "Adds new contact to this account" +#~ msgstr "Voegt een nieuw contact toe aan deze account" + +#~ msgid "Opens 'Start Chat' dialog" +#~ msgstr "Opent dialoog ‘Gesprek beginnen’" + +#~ msgid "Starts chat, using this account" +#~ msgstr "Begint een gesprek met deze account" + +#~ msgid "Handle a xmpp:/ URI" +#~ msgstr "xmpp:/-URI verwerken" + +#~ msgid "URI to handle" +#~ msgstr "Te verwerken URI" + +#~ msgid "Account in which you want to handle it" +#~ msgstr "Account waarin je het wil verwerken" + +#~ msgid "Message content" +#~ msgstr "Berichtinhoud" + +#~ msgid "Join a MUC room" +#~ msgstr "Groepsgesprek binnengaan" + +#~ msgid "Nickname to use" +#~ msgstr "Te gebruiken bijnaam" + +#~ msgid "Password to enter the room" +#~ msgstr "Wachtwoord voor het groepsgesprek" + +#~ msgid "Account from which you want to enter the room" +#~ msgstr "Account waarmee je wil deelnemen aan het groepsgesprek" + +#~ msgid "No URI given" +#~ msgstr "Geen URI opgegeven" + +#~ msgid "Wrong URI" +#~ msgstr "Verkeerde URI" + +#~ msgid "Nickname:" +#~ msgstr "Bijnaam:" + +#~ msgid "Server:" +#~ msgstr "Server:" + +#~ msgid "Join this room _automatically when I connect" +#~ msgstr "Automatisch dit groepsgesprek binnengaan wanneer ik verbinding maak" + +#~ msgid "Bro_wse Rooms" +#~ msgstr "Bladeren door gro_epsgesprekken" + +#~ msgid "Join a group chat given by a jid, optionally using given nickname" +#~ msgstr "" +#~ "Neem deel aan een groepsgesprek op basis van een JID, eventueel met een " +#~ "bijnaam" + +#~ msgid "Requires libgtkspell and libenchant." +#~ msgstr "Vereist libgtkspell en libenchant." + +#~ msgid "Last MAM id we are syncronized with" +#~ msgstr "Laatste MAM-id waarmee we gesynchroniseerd zijn" + +#~ msgid "The earliest date we requested MAM history for" +#~ msgstr "De vroegste datum waarvan MAM-geschiedenis opgevraagd moet worden" + +#~ msgid "Network-Watcher" +#~ msgstr "Netwerkwaarnemer" + +#~ msgid "Autodetection of network status." +#~ msgstr "Automatisch detecteren van netwerkstatus." + +#~ msgid "Requires gnome-network-manager" +#~ msgstr "Vereist gnome-network-manager" + +#~ msgid "Feature not available, see Help->Features" +#~ msgstr "Functie niet beschikbaar, zie Hulp->Functies" + +#~ msgid "Feature not supported by remote client" +#~ msgstr "Functie niet ondersteund door andere cliënt" + +#~ msgid "This contact does not support file transfer." +#~ msgstr "Dit contact ondersteunt geen bestandsoverdracht." + +#~ msgid "You need to know the real JID of the contact to send them a file." +#~ msgstr "" +#~ "Je moet de echte JID van het contact kennen om hem of haar een bestand te " +#~ "sturen." + +#~ msgid "" +#~ "You have to install %s dictionary to use spellchecking, or choose another " +#~ "language by setting the speller_language option." +#~ msgstr "" +#~ "Je moet het %s woordenboek installeren om spellingscontrole te gebruiken, " +#~ "of kies een andere taal via de optie speller_language." + +#~ msgid "Hides the buttons in chat windows." +#~ msgstr "Verbergt de knoppen in gespreksvensters." + +#~ msgid "Change the room's subject (Alt+T)" +#~ msgstr "Verander onderwerp (Alt+T)" + +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "Dit groepsgesprek toevoegen aan bladwijzers (Ctrl+B)" + +#~ msgid "Browse the chat history (Ctrl+H)" +#~ msgstr "Gespreksgeschiedenis inkijken (Ctrl+H)" + +#~ msgid "Show advanced functions (Alt+D)" +#~ msgstr "Geavanceerde functies weergeven (Alt+D)" + +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "Dit contact toevoegen aan rooster (Ctrl+D)" + +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "Contacten uitnodigen in gesprek (Ctrl+G)" + +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Profiel van contact weergeven (Ctrl+I)" + +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Profiel van contact weergeven (Ctrl+I)" + +#~ msgid "Ma_ke message windows compact" +#~ msgstr "Maak berichtvensters compact" + +#~ msgid "Hide all buttons in chat windows" +#~ msgstr "Verberg alle knoppen in gespreksvensters" + +#~ msgid "Hide the chat buttons" +#~ msgstr "Gespreksknoppen verbergen" + +#~ msgid "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." +#~ msgstr "" +#~ "Indien ingeschakeld zal Gajim contactavatars ophalen voor elk contact " +#~ "waarvan er geen bekend is, of de avatar in het cachegeheugen te oud is." + +#~ msgid "Disk Write Error" +#~ msgstr "Schijf-schrijffout" + +#~ msgid "Set Custom _Avatar..." +#~ msgstr "Aangepaste _avatar instellen…" + +#~ msgid "Jingle video conference" +#~ msgstr "Jingle-videoconferenties" + +#~ msgid "SSL certificate validation" +#~ msgstr "SSL-certificaatvalidatie" + +#~ msgid "" +#~ "A library used to validate server certificates to ensure a secure " +#~ "connection." +#~ msgstr "" +#~ "Een bibliotheek om servercertificaten te valideren om een veilige " +#~ "verbinding te verzekeren." + +#~ msgid "Requires python-pyopenssl > 0.12 and pyasn1." +#~ msgstr "Vereist python-pyopenssl > 0.12 en pyasn1." + +#~ msgid "?CLI:uri" +#~ msgstr "?CLI:uri" + +#~ msgid "?CLI:room" +#~ msgstr "?CLI:groepsgesprek" + +#~ msgid "?CLI:nick" +#~ msgstr "?CLI:bijnaam" + +#~ msgid "?CLI:password" +#~ msgstr "?CLI:wachtwoord" + +#~ msgid "Credential Options" +#~ msgstr "Referentie-opties" + +#~ msgid "Use D-Bus and Notification-Daemon to show notifications" +#~ msgstr "Gebruik D-Bus en Notification-Daemon om meldingen weer te geven" + +#~ msgid "Notification" +#~ msgstr "Melding" + +#~ msgid "Passive popups notifying for new events." +#~ msgstr "Passieve pop-ups voor het melden van nieuwe gebeurtenissen." + +#~ msgid "" +#~ "Requires python-notify or instead python-dbus in conjunction with " +#~ "notification-daemon." +#~ msgstr "" +#~ "Vereist python-notify of python-dbus in samenwerking met notification-" +#~ "daemon." + +#~ msgid "Ignore" +#~ msgstr "Negeren" + +#~ msgid "_Open Gmail Inbox" +#~ msgstr "_Open GMail-inbox" + +#~ msgid "Notify on new _GMail email" +#~ msgstr "Melden bij nieuwe _GMail-e-mail" + +#~ msgid "" +#~ "If checked, Gajim will show a notification when a new e-mail is received " +#~ "via GMail" +#~ msgstr "" +#~ "Indien aangevinkt zal Gajim een melding tonen wanneer een nieuwe e-mail " +#~ "is ontvangen via GMail" + +#~ msgid "Display _extra email details" +#~ msgstr "_Extra e-mailgegevens weergeven" + +#~ msgid "" +#~ "If checked, Gajim will also include information about the sender of new " +#~ "emails" +#~ msgstr "" +#~ "Indien aangevinkt zal Gajim contactafbeeldingen in het roostervenster " +#~ "laten zien" + +#~ msgid "GMail Options" +#~ msgstr "GMail-opties" + +#~ msgid "12" +#~ msgstr "12" + +#~ msgid "20" +#~ msgstr "20" + +#~ msgid "Invited %s to %s" +#~ msgstr "%s uitgenodigd voor %s" + +#~ msgid "" +#~ "Specify the command to run when new mail arrives, e.g.: /usr/bin/getmail -" +#~ "q" +#~ msgstr "" +#~ "Geef de opdracht op die uitgevoerd moet worden wanneer nieuwe e-mails " +#~ "binnenkomen, bv.: /usr/bin/getmail -q" + +#~ msgid "GMail Email Received" +#~ msgstr "GMail-e-mail ontvangen" + +#~ msgid "New e-mail on %(gmail_mail_address)s" +#~ msgstr "Nieuwe e-mail op %(gmail_mail_address)s" + +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "Je hebt %d nieuw e-mailgesprek" +#~ msgstr[1] "Je hebt %d nieuwe e-mailgesprekken" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "From: %(from_address)s\n" +#~ "Subject: %(subject)s\n" +#~ "%(snippet)s" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "Van: %(from_address)s\n" +#~ "Onderwerp: %(subject)s\n" +#~ "%(snippet)s" + +#~ msgid "%s of %s" +#~ msgstr "%s van %s" + +#~ msgid "Resour_ce:" +#~ msgstr "_Bron:" + +#~ msgid "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" +#~ msgstr "" +#~ "De bron wordt verstuurd naar de Jabber-server om onderscheid te maken " +#~ "tussen twee of meer dezelfde JID's. Op deze manier is het mogelijk om " +#~ "bijvoorbeeld met zowel met een bron ‘Thuis’ als een bron ‘Werk’ ingelogd " +#~ "te zijn. De prioriteit bepaalt dan wie berichten ontvangt. (zie hieronder)" + +#~ msgid "Priority will change automatically according to your status." +#~ msgstr "Prioriteit verandert automatisch naargelang je status." + +#~ msgid "Anonymous authentication" +#~ msgstr "Anonieme authenticatie" + +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "Prioriteit wordt in Jabber gebruikt om te bepalen welke cliënt berichten " +#~ "ontvangt als er twee keer op dezelfde account ingelogd is; de hoogste " +#~ "prioriteit wint" + +#~ msgid "Synchronize contacts" +#~ msgstr "Contacten synchroniseren" + +#~ msgid "Click to request authorization to all contacts of another account" +#~ msgstr "" +#~ "Klik om machtiging te vragen aan alle contacten van een andere account" + +#~ msgid "Chan_ge Password" +#~ msgstr "Wachtwoord wijzi_gen" + +#~ msgid "Administration operations" +#~ msgstr "Administratiebewerkingen" + +#~ msgid "_Client Cert File:" +#~ msgstr "_Cliëntcertificaatbestand:" + +#~ msgid "Browse..." +#~ msgstr "Bladeren…" + +#~ msgid "Certificate is e_ncrypted" +#~ msgstr "Certificaat is versleutel_d" + +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "" +#~ "Indien aangevinkt zal Gajim automatisch verbinding maken met deze account " +#~ "bij het opstarten" + +#~ msgid "Synchronize logs with server" +#~ msgstr "Logboeken synchroniseren met server" + +#~ msgid "Synch_ronize account status with global status" +#~ msgstr "Synch_roniseer account status met globale status" + +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "Indien aangevinkt zal elke verandering in globale status (bediend met de " +#~ "keuzelijst onderaan het roostervenster) de status van deze account " +#~ "meeveranderen" + +#~ msgid "" +#~ "Receive conversations from other resources (provided the server has " +#~ "support for it)" +#~ msgstr "" +#~ "Ontvang gesprekken van andere bronnen (indien ondersteund door de server)" + +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "Indien aangevinkt zal Gajim meer IP's uitzenden dan enkel jouw IP, zodat " +#~ "bestandsoverdracht beter kan werken." + +#~ msgid "Proxy" +#~ msgstr "Proxy" + +#~ msgid "" +#~ "Check this so Gajim will ask you before sending your password over an " +#~ "insecure connection." +#~ msgstr "" +#~ "Vink dit aan opdat Gajim je vraagt vooraleer je je wachtwoord verstuurt " +#~ "over een onbeveiligde verbinding." + +#~ msgid "Send _keep-alive packets" +#~ msgstr "_Keep-alive-pakketten verzenden" + +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "" +#~ "Indien aangevinkt zal Gajim keep-alive-paketten sturen om de verbinding " +#~ "in stand te houden" + +#~ msgid "Use cust_om hostname/port" +#~ msgstr "Gebruik aangepaste h_ostnaam/poort" + +#~ msgid "_Hostname: " +#~ msgstr "_Hostnaam: " + +#~ msgid "_Port: " +#~ msgstr "_Poort: " + +#~ msgid "Choose _Key..." +#~ msgstr "Sleutel _kiezen…" + +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "" +#~ "Indien aangevinkt zal Gajim het wachtwoord ophalen van een GPG-agent " +#~ "zoals seahorse" + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#~ msgid "_Edit Personal Information..." +#~ msgstr "Persoonlijke informatie b_ewerken…" + +#~ msgid "Personal Information" +#~ msgstr "Persoonlijke informatie" + +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "Automatisch verbi_nding maken wanneer Gajim opstart" + +#~ msgid "Synchroni_ze account status with global status" +#~ msgstr "Synch_roniseer accountstatus met globale status" + +#~ msgid "Use cust_om port:" +#~ msgstr "Gebruik aangepaste po_ort:" + +#~ msgid "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." +#~ msgstr "" +#~ "Als de standaardpoort gebruikt voor inkomende berichten niet geschikt is " +#~ "voor jouw instellingen kan je hier een andere selecteren.\n" +#~ "Je kan overwegen mogelijke firewallinstellingen te wijzigen." + +#~ msgid "OpenPGP is not usable on this computer" +#~ msgstr "OpenPGP is niet bruikbaar op deze computer" + +#~ msgid "To change the account name, you must be disconnected." +#~ msgstr "Om de accountnaam te veranderen moet de verbinding verbroken zijn." + +#~ msgid "To change the account name, you must read all pending events." +#~ msgstr "" +#~ "Om de accountnaam te veranderen moet je alle lopende gebeurtenissen lezen." + +#~ msgid "Account Name Already Used" +#~ msgstr "Accountnaam is al in gebruik" + +#~ msgid "" +#~ "This name is already used by another of your accounts. Please choose " +#~ "another name." +#~ msgstr "" +#~ "Deze naam wordt al gebruikt door een van je andere accounts. Kies een " +#~ "andere naam." + +#~ msgid "Account name cannot be empty." +#~ msgstr "Accountnaam kan niet leeg zijn." + +#~ msgid "Account name cannot contain spaces." +#~ msgstr "Accountnaam mag geen spaties bevatten." + +#~ msgid "Enter a new name for account %s" +#~ msgstr "Voer een nieuwe naam in voor account %s" + +#~ msgid "A JID must be in the form \"user@servername\"." +#~ msgstr "Een JID moet de vorm ‘gebruiker@servernaam’ hebben." + +#~ msgid "No such account available" +#~ msgstr "Account bestaat niet" + +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "" +#~ "Je moet een account aanmaken voordat persoonlijke informatie kan worden " +#~ "aangepast." + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "" +#~ "Zonder verbinding is het niet mogelijk persoonlijke informatie aan te " +#~ "passen." + +#~ msgid "Your server can't save your personal information." +#~ msgstr "Je server kan geen persoonlijke informatie opslaan." + +#~ msgid "Please rename or remove it before enabling link-local messaging." +#~ msgstr "" +#~ "Hernoem of verwijder het vooraleer je link-lokaal-berichten inschakelt." + +#~ msgid "THANKS:" +#~ msgstr "DANKJEWEL:" + +#~ msgid "Could not write to %s. Session Management support will not work" +#~ msgstr "" +#~ "Kan niet naar %s schrijven. Sessiebeheer ondersteuning werkt mogelijk niet" + +#~ msgid "Jabber Traffic" +#~ msgstr "Jabberverkeer" + +#~ msgid "_Enable" +#~ msgstr "Inschak_elen" + +#~ msgid "Hide IN stanzas" +#~ msgstr "IN-stanza's verbergen" + +#~ msgid "Hide OUT stanzas" +#~ msgstr "OUT-stanza's verbergen" + +#~ msgid "Hide Presence stanzas" +#~ msgstr "Aanwezigheidsstanza's verbergen" + +#~ msgid "Hide IQ stanzas" +#~ msgstr "IQ-stanza's verbergen" + +#~ msgid "Filter" +#~ msgstr "Filter" + +#~ msgid "_IQ" +#~ msgstr "_IQ" + +#~ msgid "Info/Query" +#~ msgstr "Info/vraag (query)" + +#~ msgid "XML Input" +#~ msgstr "XML-invoer" + +#~ msgid "XML Console for %s" +#~ msgstr "XML-console voor %s" + +#~ msgid "Idle for:" +#~ msgstr "Inactief voor:" + +#~ msgid "Last status: %s" +#~ msgstr "Laatste status: %s" + +#~ msgid " since %s" +#~ msgstr " sinds %s" + +#~ msgid "since %s" +#~ msgstr "sinds %s" + +#~ msgid "Prefer" +#~ msgstr "Verkiezen" + +#~ msgid "Concede" +#~ msgstr "Toegeven" + +#~ msgid "Forbid" +#~ msgstr "Verbieden" + +#~ msgid "Auto" +#~ msgstr "Automatisch" + +#~ msgid "Method Auto" +#~ msgstr "Automatische methode" + +#~ msgid "Method Local" +#~ msgstr "Lokale methode" + +#~ msgid "Method Manual" +#~ msgstr "Handmatige methode" + +#~ msgid "body" +#~ msgstr "body" + +#~ msgid "false" +#~ msgstr "false" + +#~ msgid "stream" +#~ msgstr "stream" + +#~ msgid "concede" +#~ msgstr "concede" + +#~ msgid "forbid" +#~ msgstr "forbid" + +#~ msgid "oppose" +#~ msgstr "oppose" + +#~ msgid "prefer" +#~ msgstr "prefer" + +#~ msgid "otr" +#~ msgstr "otr" + +#~ msgid "save" +#~ msgstr "save" + +#~ msgid "Last time we syncronized with logs from server." +#~ msgstr "" +#~ "Laatste keer dat we gesynchroniseerd zijn met logboeken van de server." + +#~ msgid "Invalid expire value" +#~ msgstr "Ongeldige verloopwaarde" + +#~ msgid "There is an error with the form" +#~ msgstr "Er trad een fout op met het formulier" + +#~ msgid "There is an error" +#~ msgstr "Er is een fout" + +#~ msgid "How many minutes should last lines from previous conversation last." +#~ msgstr "" +#~ "Hoeveel minuten zouden regels van het vorige gesprek onthouden moeten " +#~ "worden." + +#~ msgid "" +#~ "Your configured emoticons theme cannot been loaded. You maybe need to " +#~ "update the format of emoticons.py file. See http://trac.gajim.org/wiki/" +#~ "Emoticons for more details." +#~ msgstr "" +#~ "Je ingestelde emoticon-thema kan niet geladen worden. Misschien moet je " +#~ "het formaat van het emoticons.py-bestand bijwerken. Zie http://trac.gajim." +#~ "org/wiki/Emoticons voor meer informatie." + +#~ msgid "You will be connected to %s without OpenPGP." +#~ msgstr "Je zult verbonden worden met %s zonder OpenPGP." + +#~ msgid "The following message was NOT encrypted" +#~ msgstr "Het volgende bericht is NIET versleuteld" + +#~ msgid "Toggle Open_PGP Encryption" +#~ msgstr "Open_PGP-versleuteling in-/uitschakelen" + +#~ msgid "Toggle End to End Encryption" +#~ msgstr "Eind-tot-eind-versleuteling in-/uitschakelen" + +#~ msgid "OpenPGP encryption enabled" +#~ msgstr "OpenPGP-versleuteling ingeschakeld" + +#~ msgid "No OpenPGP key assigned" +#~ msgstr "Geen OpenPGP-sleutel toegewezen" + +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages with OpenPGP." +#~ msgstr "" +#~ "Er is geen OpenPGP-sleutel toegewezen aan dit contact, je kan dus geen " +#~ "berichten versleutelen met OpenPGP." + +#~ msgid "Session WILL be logged" +#~ msgstr "Sessie WORDT bijgehouden" + +#~ msgid "Session WILL NOT be logged" +#~ msgstr "Sessie WORDT NIET bijgehouden" + +#~ msgid "is" +#~ msgstr "is" + +#~ msgid "is NOT" +#~ msgstr "is NIET" + +#~ msgid "will" +#~ msgstr "zal" + +#~ msgid "will NOT" +#~ msgstr "zal NIET" + +#~ msgid "The following message was encrypted" +#~ msgstr "Het volgende bericht is versleuteld" + +#~ msgid "Toggle the OpenPGP encryption" +#~ msgstr "OpenPGP-versleuteling in-/uitschakelen" + +#~ msgid "" +#~ "Should Gajim automatically start an encrypted session with this contact " +#~ "when possible?" +#~ msgstr "" +#~ "Moet Gajim automatisch een versleutelde sessie beginnen met dit contact " +#~ "wanneer mogelijk?" + +#~ msgid "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "" +#~ "De sleutel van het contact (%s) komt niet overeen met de toegewezen " +#~ "sleutel in Gajim." + +#~ msgid "[This message is *encrypted* (See :XEP:`27`]" +#~ msgstr "[Dit bericht is *versleuteld* (Zie :XEP:`27`]" + +#~ msgid "" +#~ "Your chat session with %(jid)s is encrypted.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "Je gesprek met %(jid)s is versleuteld.\n" +#~ "\n" +#~ "De Short Authentication String van dit gesprek is %(sas)s." + +#~ msgid "You have already verified this contact's identity." +#~ msgstr "Je hebt de identiteit van dit contact al geverifieerd." + +#~ msgid "Contact's identity verified" +#~ msgstr "Identiteit van contact geverifieerd" + +#~ msgid "" +#~ "To be certain that only the expected person can read your messages " +#~ "or send you messages, you need to verify their identity by clicking the " +#~ "button below." +#~ msgstr "" +#~ "Om zeker te zijn dat enkel de verwachte persoon je berichten kan " +#~ "lezen of berichten naar jou kan sturen moet je hun identiteit verifiëren " +#~ "door op de knop onderaan te klikken." + +#~ msgid "Contact's identity NOT verified" +#~ msgstr "Identiteit van contact NIET geverifieerd" + +#~ msgid "Verify…" +#~ msgstr "Verifiëren…" + +#~ msgid "Have you verified the contact's identity?" +#~ msgstr "Heb je de identiteit van het contact geverifieerd?" + +#~ msgid "" +#~ "To prevent talking to an unknown person, you should speak to %(jid)s directly (in person or on the phone) and verify that they see the same " +#~ "Short Authentication String (SAS) as you.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "Om te voorkomen dat je tegen een onbekende praat zou je rechtstreeks met " +#~ "%(jid)s moeten praten (in persoon of aan de telefoon) en " +#~ "verifiëren dat zij dezelfde Short Authentication String (SAS) als jou " +#~ "zien.\n" +#~ "\n" +#~ "De Short Authentication String van deze sessie is %(sas)s." + +#~ msgid "Did you talk to the remote contact and verify the SAS?" +#~ msgstr "Heb je met het contact gepraat en de SAS geverifieerd?" + +#~ msgid "" +#~ "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "" +#~ "De sleutel van het contact (%s) komt niet overeen met de " +#~ "toegewezen sleutel in Gajim." + +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages." +#~ msgstr "" +#~ "Geen OpenPGP-sleutel toegewezen aan dit contact, je kan dus geen " +#~ "berichten versleutelen." + +#~ msgid "" +#~ "OpenPGP key is assigned to this contact, but you do not trust their " +#~ "key, so message cannot be encrypted. Use your OpenPGP client " +#~ "to trust their key." +#~ msgstr "" +#~ "OpenPGP-sleutel toegewezen aan dit contact, maar je vertrouwt deze " +#~ "sleutel niet, dus berichten kunnen niet versleuteld worden. " +#~ "Gebruik je OpenPGP-cliënt om hun sleutel te vertrouwen." + +#~ msgid "" +#~ "OpenPGP Key is assigned to this contact, and you trust their key, so " +#~ "messages will be encrypted." +#~ msgstr "" +#~ "OpenPGP-sleutel toegewezen aan dit contact, en je vertrouwt hun sleutel, " +#~ "dus berichten zullen versleuteld worden." + +#~ msgid "" +#~ "This icon indicates that this message has not yet\n" +#~ "been received by the remote end. If this icon stays\n" +#~ "for a long time, it's likely the message got lost." +#~ msgstr "" +#~ "Dit pictogram geeft aan dat het bericht nog niet is ontvangen\n" +#~ "door de andere persoon. Als het pictogram voor lange tijd\n" +#~ "blijft staan is het bericht waarschijnlijk verloren gegaan." + +#~ msgid "" +#~ "The database file (%s) cannot be read. Try to repair it or remove it (all " +#~ "history will be lost)." +#~ msgstr "" +#~ "Het databasebestand (%s) kan niet gelezen worden. Probeer het te " +#~ "herstellen of verwijder het (alle geschiedenis zal verloren gaan)." + +#~ msgid "Database cannot be read." +#~ msgstr "Database kan niet gelezen worden." + +#~ msgid "A message from a non-valid JID arrived, it has been ignored." +#~ msgstr "Een bericht van een ongeldige JID is ontvangen en genegeerd." + +#~ msgid "Smooth scroll message in conversation window" +#~ msgstr "Bericht in gespreksvenster vloeiend scrollen" + +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "_Privacylijsten bewerken…" + +#~ msgid "_Administrator" +#~ msgstr "_Administrator" + +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "" +#~ "Stuurt een bericht naar gebruikers momenteel verbonden met deze server" + +#~ msgid "Sets Message of the Day" +#~ msgstr "Stelt het bericht van de dag in" + +#~ msgid "Updates Message of the Day" +#~ msgstr "Werkt het bericht van de dag bij" + +#~ msgid "Deletes Message of the Day" +#~ msgstr "Verwijdert het bericht van de dag" + +#~ msgid "Add _Contact..." +#~ msgstr "_Contact toevoegen…" + +#~ msgid "Profile, A_vatar" +#~ msgstr "Profiel, a_vatar" + +#~ msgid "P_lugins" +#~ msgstr "P_lugins" + +#~ msgid "File _Transfers" +#~ msgstr "Bestands_overdrachten" + +#~ msgid "Help online" +#~ msgstr "Hulp online" + +#~ msgid "Frequently Asked Questions (online)" +#~ msgstr "Veelgestelde vragen (online)" + +#~ msgid "Fea_tures" +#~ msgstr "Func_ties" + +#~ msgid "to %s account" +#~ msgstr "aan account %s" + +#~ msgid "using %s account" +#~ msgstr "via account %s" + +#~ msgid "of account %s" +#~ msgstr "van account %s" + +#~ msgid "for account %s" +#~ msgstr "voor account %s" + +#~ msgid "" +#~ "By removing this contact you also remove authorization resulting in him " +#~ "or her always seeing you as offline." +#~ msgstr "" +#~ "Door dit contact te verwijderen zal je ook zijn/haar toestemming opzeggen " +#~ "om je status te zien en zal hij/zij je altijd als offline zien." + +#~ msgid "Message Body xmpp.org/getting-started" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:646 +#, fuzzy +msgid "_Please choose a server" +msgstr "Proszę utworzyć nowy temat i nadać mu nazwę." + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "" + +#: gajim/data/gui/application_menu.ui:8 +#, fuzzy +msgid "_Start / Join Chat…" +msgstr "Rozpocznij rozmowę" + +#: gajim/data/gui/application_menu.ui:13 +#, fuzzy +msgid "Create _Group Chat…" +msgstr "Stwórz rozmowę grupową" + +#: gajim/data/gui/application_menu.ui:18 +#, fuzzy +msgid "_History Manager" +msgstr "Historia rozmów" + +#: gajim/data/gui/application_menu.ui:22 +#, fuzzy +msgid "Pl_ugins" +msgstr "Wtyczki" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +#, fuzzy +msgid "_Preferences" +msgstr "Ustawienia" + +#: gajim/data/gui/application_menu.ui:36 +#, fuzzy +msgid "_Accounts" +msgstr "Konta" + +#: gajim/data/gui/application_menu.ui:39 +#, fuzzy +msgid "_View" +msgstr "_Widok" + +#: gajim/data/gui/application_menu.ui:46 +#, fuzzy +msgid "Show _Offline Contacts" +msgstr "Pokaż niedostępne kontakty" + +#: gajim/data/gui/application_menu.ui:50 +#, fuzzy +msgid "Show _Active Contacts" +msgstr "Pokaż kontakty _połączone" + +#: gajim/data/gui/application_menu.ui:54 +#, fuzzy +msgid "Show _Transports" +msgstr "Pokaż trans_porty" + +#: gajim/data/gui/application_menu.ui:60 +#, fuzzy +msgid "_XML Console" +msgstr "Konsola XML" + +#: gajim/data/gui/application_menu.ui:64 +#, fuzzy +msgid "_File Transfer" +msgstr "Przesyłane pliki" + +#: gajim/data/gui/application_menu.ui:74 +#, fuzzy +msgid "_Help" +msgstr "_Pomoc" + +#: gajim/data/gui/application_menu.ui:77 +#, fuzzy +msgid "_Wiki (Online)" +msgstr "Dostępny" + +#: gajim/data/gui/application_menu.ui:81 +#, fuzzy +msgid "FA_Q (Online)" +msgstr "Dostępny" + +#: gajim/data/gui/application_menu.ui:85 +msgid "_Keyboard Shortcuts" +msgstr "" + +#: gajim/data/gui/application_menu.ui:89 +#, fuzzy +msgid "_Features" +msgstr "Możliwości programu" + +#: gajim/data/gui/application_menu.ui:93 +#, fuzzy +msgid "_About" +msgstr "Informacje" + +#: gajim/data/gui/filetransfer_progress.ui:125 +#, fuzzy +msgid "Speed" +msgstr "prędkość" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +#, fuzzy +msgid "OK" +msgstr "_OK" + +#: gajim/data/gui/plugins_window.ui:55 +#, fuzzy +msgid "Install Plugin from ZIP-File" +msgstr "Zainstaluj z zip" + +#: gajim/data/gui/plugins_window.ui:56 +#, fuzzy +msgid "Install from File…" +msgstr "Zainstaluj z zip" + +#: gajim/data/gui/plugins_window.ui:70 +#, fuzzy +msgid "Uninstall Plugin" +msgstr "Odinstaluj" + +#: gajim/data/gui/plugins_window.ui:116 +#, fuzzy +msgid "" +msgstr "Rejestracja nie powiodła się" + +#: gajim/data/gui/plugins_window.ui:133 +#, fuzzy +msgid "Plugin Settings" +msgstr "Wtyczki" + +#: gajim/data/gui/plugins_window.ui:215 +#, fuzzy +msgid "" +msgstr "Opis" + +#: gajim/data/gui/plugins_window.ui:239 +#, fuzzy +msgid "Version" +msgstr "Wersja:" + +#: gajim/data/gui/plugins_window.ui:271 +#, fuzzy +msgid "Authors" +msgstr "Autorzy:" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +#, fuzzy +msgid "Homepage" +msgstr "Strona domowa:" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:349 +msgid "Installed" +msgstr "Zainstalowany" + +#: gajim/data/gui/plugins_window.ui:363 +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +msgid "Synchronise contacts" +msgstr "Synchronizuj kontakty" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "Wskaż konto, z którym chcesz zsynchronizować kontakty" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +#, fuzzy +msgid "_Name" +msgstr "_Nazwa: " + +#: gajim/data/gui/groupchat_creation.ui:122 +#, fuzzy +msgid "_Description" +msgstr "Opis" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +#, fuzzy +msgid "_Address" +msgstr "_Adres:" + +#: gajim/data/gui/groupchat_creation.ui:278 +#, fuzzy +msgid "_Account" +msgstr "_Konta" + +#: gajim/data/gui/profile.ui:33 +#, fuzzy +msgid "Contact Infos" +msgstr "_Informacje o kontakcie" + +#: gajim/data/gui/profile.ui:45 +#, fuzzy +msgid "Picture and Name" +msgstr "Obrazek" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "" + +#: gajim/data/gui/profile.ui:198 +#, fuzzy +msgid "Change your profile picture" +msgstr "Zmień swoją nazwę (Ctrl+N)" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:298 +#, fuzzy +msgid "Add Entry" +msgstr "Wpis:" + +#: gajim/data/gui/profile.ui:410 +#, fuzzy +msgid "Update" +msgstr "Uaktualnij MOTD..." + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:15 +#, fuzzy +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "SOCKS5" + +#: gajim/data/gui/manage_proxies.ui:65 +#, fuzzy +msgid "Add Proxy" +msgstr "Serwer Proxy:" + +#: gajim/data/gui/manage_proxies.ui:79 +#, fuzzy +msgid "Remove Proxy" +msgstr "Usuń grupę" + +#: gajim/data/gui/manage_proxies.ui:131 +#, fuzzy +msgid "Pass_word" +msgstr "_Hasło:" + +#: gajim/data/gui/manage_proxies.ui:156 +msgid "Use proxy auth_entication" +msgstr "Używaj aut_oryzacji serwera proxy" + +#: gajim/data/gui/manage_proxies.ui:176 +#, fuzzy +msgid "_Username" +msgstr "_Nazwa użytkownika:" + +#: gajim/data/gui/manage_proxies.ui:237 +#, fuzzy +msgid "_Host" +msgstr "_Host:" + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "Lokalny JID:" + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "Zasoby:" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "Status:" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +#, fuzzy +msgid "_Store conversation history" +msgstr "_Zapisuj historię rozmowy" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +msgid "Contact" +msgstr "Kontakt" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +msgid "First Name:" +msgstr "Imię:" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +msgid "Last Name:" +msgstr "Nazwisko:" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +#, fuzzy +msgid "XMPP Address:" +msgstr "_Adres AIM:" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "Adres e-mail:" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +msgid "Personal" +msgstr "Informacje osobiste" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "_Status" + +#: gajim/data/gui/account_context_menu.ui:20 +msgid "_Personal Events" +msgstr "_Zdarzenia" + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "_Dodaj kontakt..." + +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "Wyszukuj usługi" + +#: gajim/data/gui/account_context_menu.ui:57 +msgid "_Execute Command..." +msgstr "_Wykonaj komendę" + +#: gajim/data/gui/account_context_menu.ui:65 +#, fuzzy +msgid "_View Server Info" +msgstr "Serwer" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:125 +#, fuzzy +msgid "Global Group Chat Search" +msgstr "Dołącz do pokoju" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +#, fuzzy +msgid "_Back" +msgstr "Niedługo wrócę" + +#: gajim/data/gui/start_chat_dialog.ui:386 +msgid "Select Account" +msgstr "Wybierz konto" + +#: gajim/data/gui/start_chat_dialog.ui:477 +#, fuzzy +msgid "_Select" +msgstr "Sprzątam" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +#, fuzzy +msgid "Configure" +msgstr "Konfiguruj" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +msgid "Create new post" +msgstr "Utwórz nowy wpis" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "Sta_tus" + +#: gajim/data/gui/systray_context_menu.ui:20 +msgid "_Start Chat..." +msgstr "_Rozpocznij rozmowę" + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "Wyślij pojedynczą wiadomość..." + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "Pokaż wszystkie oczekujące _zdarzenia" + +#: gajim/data/gui/systray_context_menu.ui:52 +msgid "Mute Sounds" +msgstr "Wyłącz dźwięki" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +#, fuzzy +msgid "Contact List" +msgstr "Kontakty" + +#: gajim/data/gui/shortcuts_window.ui:24 +#, fuzzy +msgid "Create new group chat" +msgstr "Stwórz rozmowę grupową" + +#: gajim/data/gui/shortcuts_window.ui:45 +#, fuzzy +msgid "File transfers" +msgstr "Przesyłane pliki" + +#: gajim/data/gui/shortcuts_window.ui:52 +#, fuzzy +msgid "Set the status message" +msgstr "informacja o statusie" + +#: gajim/data/gui/shortcuts_window.ui:59 +#, fuzzy +msgid "Show XML console" +msgstr "Konsola _XML" + +#: gajim/data/gui/shortcuts_window.ui:74 +msgid "Appearance" +msgstr "Wygląd" + +#: gajim/data/gui/shortcuts_window.ui:79 +msgid "Show offline contacts" +msgstr "Wyświetlanie kontaktów offline" + +#: gajim/data/gui/shortcuts_window.ui:86 +#, fuzzy +msgid "Show only active contacts" +msgstr "Pokaż kontakty _połączone" + +#: gajim/data/gui/shortcuts_window.ui:93 +msgid "Enable contact list filtering" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:100 +#, fuzzy +msgid "Show / hide contact list" +msgstr "Pokaż kontakty _połączone" + +#: gajim/data/gui/shortcuts_window.ui:113 +#, fuzzy +msgid "Contact information" +msgstr "Informacje o kontakcie" + +#: gajim/data/gui/shortcuts_window.ui:120 +#, fuzzy +msgid "Rename contact" +msgstr "Zmień nazwę dla kontaktu" + +#: gajim/data/gui/shortcuts_window.ui:127 +#, fuzzy +msgid "Delete contact" +msgstr "Wyślij kontakty:" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +msgid "Chat" +msgstr "Rozmowa" + +#: gajim/data/gui/shortcuts_window.ui:142 +#, fuzzy +msgid "Message composition" +msgstr "Treść wiadomości" + +#: gajim/data/gui/shortcuts_window.ui:147 +#, fuzzy +msgid "Send the message" +msgstr "Wyślij wiadomość" + +#: gajim/data/gui/shortcuts_window.ui:154 +#, fuzzy +msgid "Add new line" +msgstr "Utwórz nowy wpis" + +#: gajim/data/gui/shortcuts_window.ui:161 +msgid "Select an emoji" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:168 +#, fuzzy +msgid "Complete a command or a nickname" +msgstr "Proszę utworzyć nowy temat i nadać mu nazwę." + +#: gajim/data/gui/shortcuts_window.ui:175 +#, fuzzy +msgid "Previously sent message" +msgstr "Szablony opisów:" + +#: gajim/data/gui/shortcuts_window.ui:182 +#, fuzzy +msgid "Next sent messages" +msgstr "Szablony opisów:" + +#: gajim/data/gui/shortcuts_window.ui:189 +#, fuzzy +msgid "Quote previous message" +msgstr "informacja o statusie" + +#: gajim/data/gui/shortcuts_window.ui:196 +#, fuzzy +msgid "Quote next message" +msgstr "Wyślij wiadomość" + +#: gajim/data/gui/shortcuts_window.ui:203 +#, fuzzy +msgid "Clear message entry" +msgstr "Wiadomość została wysłana" + +#: gajim/data/gui/shortcuts_window.ui:211 +#, fuzzy +msgid "Recent history" +msgstr "Ostatnio:" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:230 +msgid "Clear chat window" +msgstr "Wyczyść okno czatu" + +#: gajim/data/gui/shortcuts_window.ui:237 +#, fuzzy +msgid "Show chat history" +msgstr "Ostatnio:" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:299 +#, fuzzy +msgid "Close chat" +msgstr "Zamknij" + +#: gajim/data/gui/shortcuts_window.ui:312 +#, fuzzy +msgid "Change Nickname" +msgstr "Zmień pseudonim…" + +#: gajim/data/gui/chat_control.ui:48 +#, fuzzy +msgid "Drop files or contacts" +msgstr "Wysyła plik kontaktowi" + +#: gajim/data/gui/chat_control.ui:80 +#, fuzzy +msgid "1" +msgstr "Czcionka" + +#: gajim/data/gui/chat_control.ui:101 +#, fuzzy +msgid "2 abc" +msgstr "Czcionka" + +#: gajim/data/gui/chat_control.ui:121 +#, fuzzy +msgid "3 def" +msgstr "Czcionka" + +#: gajim/data/gui/chat_control.ui:141 +#, fuzzy +msgid "4 ghi" +msgstr "Czcionka" + +#: gajim/data/gui/chat_control.ui:161 +#, fuzzy +msgid "5 jkl" +msgstr "Czcionka" + +#: gajim/data/gui/chat_control.ui:181 +#, fuzzy +msgid "6 mno" +msgstr "Czcionka" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "" + +#: gajim/data/gui/chat_control.ui:221 +#, fuzzy +msgid "8 tuv" +msgstr "Czcionka" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "" + +#: gajim/data/gui/chat_control.ui:261 +#, fuzzy +msgid "*" +msgstr "Czcionka" + +#: gajim/data/gui/chat_control.ui:281 +#, fuzzy +msgid "0" +msgstr "Czcionka" + +#: gajim/data/gui/chat_control.ui:301 +#, fuzzy +msgid "#" +msgstr "Czcionka" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "Rozpocznij _rozmowę" + +#: gajim/data/gui/contact_context_menu.ui:28 +msgid "Send _File..." +msgstr "Wyślij _plik..." + +#: gajim/data/gui/contact_context_menu.ui:44 +msgid "Invite _Contacts" +msgstr "Zaproś kontakty" + +#: gajim/data/gui/contact_context_menu.ui:58 +msgid "E_xecute Command..." +msgstr "Wykonaj komendę..." + +#: gajim/data/gui/contact_context_menu.ui:67 +#, fuzzy +msgid "M_anage Contact" +msgstr "_Modyfikuj dane kontaktu" + +#: gajim/data/gui/contact_context_menu.ui:77 +msgid "_Rename..." +msgstr "_Zmień nazwę..." + +#: gajim/data/gui/contact_context_menu.ui:84 +msgid "Edit _Groups..." +msgstr "Modyfikuj _grupy..." + +#: gajim/data/gui/contact_context_menu.ui:92 +msgid "Add Special _Notification..." +msgstr "Dodaj powiadomienia _specjalne..." + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "_Autoryzacja" + +#: gajim/data/gui/contact_context_menu.ui:115 +#, fuzzy +msgid "_Allow contact to see my status" +msgstr "Pozwól mu/jej widzieć Twój status" + +#: gajim/data/gui/contact_context_menu.ui:123 +#, fuzzy +msgid "A_sk to see contact status" +msgstr "P_oproś o to, żeby móc widzieć jego/jej status" + +#: gajim/data/gui/contact_context_menu.ui:131 +#, fuzzy +msgid "_Forbid contact to see my status" +msgstr "_Zabroń mu/jej widzieć twój status" + +#: gajim/data/gui/contact_context_menu.ui:159 +msgid "_Unignore" +msgstr "_Cofnij ignorowanie" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "Ignoruj" + +#: gajim/data/gui/contact_context_menu.ui:174 +#, fuzzy +msgid "_Add to Contact List..." +msgstr "_Dodaj kontakt..." + +#: gajim/data/gui/single_message_window.ui:42 +#, fuzzy +msgid "_To" +msgstr "Do" + +#: gajim/data/gui/single_message_window.ui:71 +#, fuzzy +msgid "Su_bject" +msgstr "Temat" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "" + +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "Wiado_mość" + +#: gajim/data/gui/single_message_window.ui:144 +#, fuzzy +msgid "Characters typed: 0" +msgstr "Niedozwolony znak" + +#: gajim/data/gui/single_message_window.ui:189 +#, fuzzy +msgid "_From" +msgstr "Od" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "_Wyślij" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "Wyślij wiadomość" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "_Odpowiedz" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "Odpowiedz na tę wiadomość" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "_Wyślij i zamknij" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "Wyślij wiadomość i zamknij okno" + +#: gajim/data/gui/vcard_information_window.ui:106 +#, fuzzy +msgid "Client" +msgstr "Klient:" + +#: gajim/data/gui/vcard_information_window.ui:140 +#, fuzzy +msgid "Contact time" +msgstr "Nazwa kontaktu" + +#: gajim/data/gui/vcard_information_window.ui:240 +msgid "User avatar" +msgstr "Awatar" + +#: gajim/data/gui/vcard_information_window.ui:255 +msgid "Configured avatar" +msgstr "Ustawiony avatar" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +#, fuzzy +msgid "Ask" +msgstr "Pytaj:" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +#, fuzzy +msgid "Subscription" +msgstr "Autoryzacja:" + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +msgid "Extra Address" +msgstr "Dodatkowy adres" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +msgid "Address" +msgstr "Adresy" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +#, fuzzy +msgid "E-Mail" +msgstr "Adres e-mail:" + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "Format: RRRR-MM-DD" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +msgid "Family" +msgstr "Rodzina" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +#, fuzzy +msgid "Middle" +msgstr "Drugie imię:" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +#, fuzzy +msgid "Prefix" +msgstr "Prefiks:" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +#, fuzzy +msgid "Given" +msgstr "Imię:" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +#, fuzzy +msgid "Suffix" +msgstr "Sufiks:" + +#: gajim/data/gui/vcard_information_window.ui:958 +#, fuzzy +msgid "Name Details" +msgstr "Imię:" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "przycisk" + +#: gajim/data/gui/vcard_information_window.ui:1017 +msgid "Personal Info" +msgstr "Informacje osobiste" + +#: gajim/data/gui/vcard_information_window.ui:1040 +#, fuzzy +msgid "Company" +msgstr "Firma:" + +#: gajim/data/gui/vcard_information_window.ui:1073 +msgid "Department" +msgstr "Dział" + +#: gajim/data/gui/vcard_information_window.ui:1104 +#, fuzzy +msgid "Position" +msgstr "Stanowisko:" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "Funkcja:" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "Informacje" + +#: gajim/data/gui/vcard_information_window.ui:1514 +msgid "Comments" +msgstr "Komentarze" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "Edytuj Grupy" + +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "Hasło" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +#, fuzzy +msgid "Themes" +msgstr "Motyw" + +#: gajim/data/gui/themes_window.ui:171 +#, fuzzy +msgid "Add Setting" +msgstr "Wtyczki" + +#: gajim/data/gui/themes_window.ui:204 +#, fuzzy +msgid "Add new Theme" +msgstr "Utwórz nowy wpis" + +#: gajim/data/gui/themes_window.ui:219 +#, fuzzy +msgid "Remove Theme" +msgstr "Aktywny" + +#: gajim/data/gui/bookmarks.ui:120 +#, fuzzy +msgid "Autojoin" +msgstr "Połącz automatycznie" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "" + +#: gajim/data/gui/preferences.ui:68 +#, fuzzy +msgid "Contact List Appearance" +msgstr "Kontakt rozłączył się" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +msgid "Chats" +msgstr "Rozmowy" + +#: gajim/data/gui/preferences.ui:215 +msgid "Visual Notifications" +msgstr "Powiadomienia wizualne" + +#: gajim/data/gui/preferences.ui:243 +#, fuzzy +msgid "Sounds" +msgstr "Dźwięki w Wav" + +#: gajim/data/gui/preferences.ui:303 +#, fuzzy +msgid "Ask For Status Message on…" +msgstr "Pytaj o opis przy zmianie statusu na:" + +#: gajim/data/gui/preferences.ui:331 +#, fuzzy +msgid "Automatic Status Change" +msgstr "Automatyczny status" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "" + +#: gajim/data/gui/preferences.ui:447 +#, fuzzy +msgid "Status Icon" +msgstr "Zestaw ikon _statusu:" + +#: gajim/data/gui/preferences.ui:472 +msgid "Style" +msgstr "Styl" + +#: gajim/data/gui/preferences.ui:511 +#, fuzzy +msgid "Show _Features" +msgstr "Możliwości programu" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:632 +#, fuzzy +msgid "Audio" +msgstr "Test audio" + +#: gajim/data/gui/preferences.ui:660 +#, fuzzy +msgid "Video" +msgstr "Video test" + +#: gajim/data/gui/preferences.ui:698 +#, fuzzy +msgid "Audio/Video" +msgstr "Audio / Video" + +#: gajim/data/gui/preferences.ui:735 +msgid "Miscellaneous" +msgstr "Różne" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:821 +#, fuzzy +msgid "Advanced Configuration Editor… " +msgstr "Edytor zaawansowanych ustawień" + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "" + +#: gajim/data/gui/server_info.ui:50 +#, fuzzy +msgid "Server Software" +msgstr "Możliwości serwerów" + +#: gajim/data/gui/server_info.ui:80 +msgid "Server Uptime" +msgstr "Czas pracy serwera" + +#: gajim/data/gui/server_info.ui:109 +#, fuzzy +msgid "Contact Addresses" +msgstr "Wiadomość:" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "" + +#: gajim/data/gui/server_info.ui:177 +#, fuzzy +msgid "Proxy Type" +msgstr "Serwer Proxy:" + +#: gajim/data/gui/server_info.ui:192 +#, fuzzy +msgid "No proxy used" +msgstr "Serwer Proxy:" + +#: gajim/data/gui/server_info.ui:202 +#, fuzzy +msgid "View _Certificate" +msgstr "Pokaż certyfikat..." + +#: gajim/data/gui/server_info.ui:222 +#, fuzzy +msgid "Proxy Host" +msgstr "_Serwer Proxy:" + +#: gajim/data/gui/server_info.ui:421 +#, fuzzy +msgid "Copy info to clipboard" +msgstr "_Kopiuj adres odnośnika" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:153 +#, fuzzy +msgid "Serial Number" +msgstr "Numer GG:" + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:304 +#, fuzzy +msgid "Expires on" +msgstr "przedawnione" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "SHA1" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "Wydany dla" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "Wydany przez" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "Poprawność" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "Odciski palców" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "SHA-256" + +#: gajim/data/gui/certificate_dialog.ui:465 +#, fuzzy +msgid "Copy Certificate Information" +msgstr "Informacje o kontakcie" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "Zaproś przyjaciół!" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +#, fuzzy +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "" +"Zamierzasz rozpocząć czat.\n" +"Wybierz kontakty, które chcesz do niego zaprosić" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "kolumnakolumna" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +#, fuzzy +msgid "Please select a group chat server." +msgstr "Proszę wybrać serwer MUC." + +#: gajim/data/gui/chat_to_muc_window.ui:141 +#, fuzzy +msgid "Group chat server" +msgstr "Pokoje" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +msgid "In_vite" +msgstr "_Zaproś" + +#: gajim/data/gui/mam_preferences.ui:53 +#, fuzzy +msgid "_Default" +msgstr "Domyślny" + +#: gajim/data/gui/mam_preferences.ui:136 +#, fuzzy +msgid "Archive" +msgstr "Plik jest pusty" + +#: gajim/data/gui/history_manager.ui:11 +#, fuzzy +msgid "_Export" +msgstr "Eksport" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +msgid "Gajim History Logs Manager" +msgstr "Historia rozmów" + +#: gajim/data/gui/history_manager.ui:104 +#, fuzzy +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" +"Menedżer logów nie powinien być używany do przeglądania logów. Jeżeli " +"szukasz tej funkcjonalności, użyj okna historii rozmów.\n" +"\n" +"Programu tego używać należy do usuwania lub eksportowania logów. Możesz " +"wskazać logi po lewej stronie okna lub przeszukać ich bazę używając " +"poniższego pola." + +#: gajim/data/gui/history_manager.ui:120 +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" +"UWAGA:\n" +"Jeżeli chcesz usuwać wiele danych, upewnij się najpierw że Gajim nie jest " +"uruchomiony. Unikaj też usuwania historii rozmów kontaktów, z którymi " +"właśnie rozmawiasz." + +#: gajim/data/gui/history_manager.ui:211 +#, fuzzy +msgid "Search database..." +msgstr "_Szukaj w bazie" + +#: gajim/data/gui/history_manager.ui:226 +#, fuzzy +msgid "Search in database" +msgstr "_Szukaj w bazie" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" + +#: gajim/data/gui/groupchat_invite.ui:69 +#, fuzzy +msgid "Invitees" +msgstr "_Zaproś" + +#: gajim/data/gui/groupchat_invite.ui:153 +#, fuzzy +msgid "Search contacts..." +msgstr "_Szukaj w bazie" + +#: gajim/data/gui/groupchat_invite.ui:223 +msgid "Click on contacts you would like to invite to this group chat." +msgstr "Kliknij na kontakty, które chcesz zaprosić do tego czatu grupowego." + +#: gajim/data/gui/service_discovery_window.ui:148 +#, fuzzy +msgid "Go" +msgstr "I_dź" + +#: gajim/data/gui/status_change_window.ui:27 +#, fuzzy +msgid "Change Status" +msgstr "Zmień status" + +#: gajim/data/gui/status_change_window.ui:56 +#, fuzzy +msgid "Status Presets…" +msgstr "Szablon statusu" + +#: gajim/data/gui/status_change_window.ui:72 +msgid "Save this message as a preset" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:130 +#, fuzzy +msgid "Ac_tivity" +msgstr "Aktywność" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:278 +#, fuzzy +msgid "_Change Status" +msgstr "Zmień status" + +#: gajim/data/gui/status_change_window.ui:313 +#, fuzzy +msgid "Activity" +msgstr "Aktywność:" + +#: gajim/data/gui/status_change_window.ui:326 +#, fuzzy +msgid "_No Activity" +msgstr "Aktywność:" + +#: gajim/data/gui/status_change_window.ui:729 +msgid "Mood" +msgstr "Nastrój" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +#, fuzzy +msgid "Author" +msgstr "Autorzy:" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +#, fuzzy +msgid "Group Chat Language" +msgstr "Zaproszenie na czat" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +#, fuzzy +msgid "Copy Address" +msgstr "Kopiuj adres XMPP" + +#: gajim/data/gui/emoji_chooser.ui:98 +#, fuzzy +msgid "No Results Found" +msgstr "Brak wyników" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr "Konsola XML" + +#: gajim/data/gui/xml_console.ui:131 +#, fuzzy +msgid "Start Search..." +msgstr "_Rozpocznij rozmowę" + +#: gajim/data/gui/xml_console.ui:260 +msgid "Clear" +msgstr "Wyczyść" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "" + +#: gajim/data/gui/xml_console.ui:316 +#, fuzzy +msgid "Presets" +msgstr "_Obecność" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "Synchronizacja: wybierz kontakty" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +msgid "Select the contacts you want to synchronise" +msgstr "Wybierz kontakty, które chcesz zsynchronizować" + +#: gajim/data/gui/groupchat_config.ui:51 +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" +"Adres XMPP\n" +"<user@domain/resource> (dotyczy tylko tego zasobu)\n" +"<user@domain> (dotyczy dowolnego zasobu)\n" +"<domain/resource> (dotyczy tylko tego zasobu)\n" +"<domain> (dotyczy domeny, a także dowolnego adresu typu " +"użytkownik@domena lub domena/zasób)\n" + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:309 +#, fuzzy +msgid "Reserved Name" +msgstr "Nazwa opcji" + +#: gajim/data/gui/groupchat_config.ui:346 +#, fuzzy +msgid "Affiliation" +msgstr "Afiliacja: " + +#: gajim/data/gui/groupchat_config.ui:377 +#, fuzzy +msgid "Affiliations" +msgstr "Afiliacja: " + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "Powód" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "Lista kontaktów zablokowanych" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "O_dmów" + +#: gajim/data/gui/subscription_request_window.ui:34 +#, fuzzy +msgid "_Block User" +msgstr "_Zablokuj" + +#: gajim/data/gui/subscription_request_window.ui:49 +#, fuzzy +msgid "_Report as Spam" +msgstr "_Zgłoś Błąd" + +#: gajim/data/gui/subscription_request_window.ui:212 +#, fuzzy +msgid "_Deny…" +msgstr "O_dmów" + +#: gajim/data/gui/subscription_request_window.ui:225 +#, fuzzy +msgid "Ac_cept" +msgstr "Akceptuj" + +#: gajim/data/gui/subscription_request_window.ui:230 +#, fuzzy +msgid "Allows the contact to see your online status" +msgstr "Pozwól mu/jej widzieć Twój status" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:115 +#, fuzzy +msgid "_Report Bug" +msgstr "_Zgłoś Błąd" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "Zdarzenie" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "Wybierz dźwięk" + +#: gajim/data/gui/manage_sounds.ui:97 +#, fuzzy +msgid "Clear Sound" +msgstr "Wybierz dźwięk" + +#: gajim/data/gui/manage_sounds.ui:118 +#, fuzzy +msgid "Play Sound" +msgstr "Odtwórz _dźwięk" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +#, fuzzy +msgid "_Send Files" +msgstr "Wyślij _plik" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +msgid "Send" +msgstr "Wyślij" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +#, fuzzy +msgid "Files to send" +msgstr "Wybierz plik do wysłania..." + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +#, fuzzy +msgid "Add Files" +msgstr "Plik: " + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +#, fuzzy +msgid "Remove Files" +msgstr "_Usuń" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +msgid "Idle since:" +msgstr "Konto nieaktywne od:" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +msgid "Mood:" +msgstr "Nastrój:" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +msgid "Activity:" +msgstr "Aktywność:" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +#, fuzzy +msgid "Tune:" +msgstr "Utwór" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +#, fuzzy +msgid "Location:" +msgstr "Powiadomienia" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +msgid "Subscription:" +msgstr "Autoryzacja:" + +#: gajim/data/gui/advanced_configuration.ui:15 +#, fuzzy +msgid "A restart may be required for some settings to take effect" +msgstr "" +"UWAGA: Powinieneś ponownie uruchomić program by zastosować ostatnie " +"ustawienia" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "" + +#: gajim/data/gui/advanced_configuration.ui:120 +#, fuzzy +msgid "_Reset Value" +msgstr "Wróć do kolorów _domyślnych" + +#: gajim/data/gui/advanced_configuration.ui:125 +#, fuzzy +msgid "Resets value to default" +msgstr "Wróć do kolorów _domyślnych" + +#: gajim/data/gui/history_window.ui:27 +#, fuzzy +msgid "Display status changes" +msgstr "_Zapisuj w logach zmiany statusów kontaktów" + +#: gajim/data/gui/history_window.ui:57 +msgid "History Manager" +msgstr "Menedżer historii" + +#: gajim/data/gui/history_window.ui:233 +#, fuzzy +msgid "Mode" +msgstr "Moderator" + +#: gajim/data/gui/history_window.ui:246 +#, fuzzy +msgid "Search complete history" +msgstr "Ostatnio:" + +#: gajim/data/gui/history_window.ui:263 +msgid "Search selected day only" +msgstr "" + +#: gajim/data/gui/history_window.ui:317 +#, fuzzy +msgid "Store history for this chat" +msgstr "Ignoruj komunikat o tym błędzie." + +#: gajim/data/gui/history_window.ui:332 +#, fuzzy +msgid "Store History" +msgstr "Ostatnio:" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +#, fuzzy +msgid "Identified Error" +msgstr "Błąd certyfikatu SSL" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +#, fuzzy +msgid "" +msgstr "Błąd" + +#: gajim/data/gui/ssl_error_dialog.ui:74 +msgid "Add this certificate to the list of _trusted certificates" +msgstr "Dodaj ten certyfikat do listy zaufanych certyfikatów" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +#, fuzzy +msgid "_View Certificate" +msgstr "Pokaż certyfikat..." + +#: gajim/data/gui/ssl_error_dialog.ui:120 +#, fuzzy +msgid "_Connect" +msgstr "Połączony" + +#: data/org.gajim.Gajim.desktop.in:5 +#, fuzzy +msgid "XMPP Chat Client" +msgstr "Klient komunikatora Jabber" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:8 +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:27 +#, fuzzy +msgid "Show next pending event" +msgstr "Pokaż wszystkie oczekujące _zdarzenia" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:17 +#, fuzzy +msgid "Features:" +msgstr "Możliwości programu" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +#, fuzzy +msgid "Automatic spell-checking for your messages" +msgstr "Zwraca uwagę na błędy w wysyłanych wiadomościach." + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +msgid "Support for service discovery including nodes and search for users" +msgstr "" +"Wsparcie dla wyszukiwania usług, w tym węzłów oraz dla wyszukiwania " +"użytkowników" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +#, fuzzy +msgid "Contact list" +msgstr "Kontakty" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +#, fuzzy +msgid "Group chat support" +msgstr "Pokoje" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +#, fuzzy +msgid "Chat history" +msgstr "Ostatnio:" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +#, fuzzy +msgid "Plugin manager" +msgstr "Rejestracja nie powiodła się" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +#, fuzzy +msgid "Gajim Team" +msgstr "gajim-remote" + +#~ msgid "Chat Settings" +#~ msgstr "Ustawienia czatu" + +#, python-format +#~ msgid "%i day" +#~ msgid_plural "%i days" +#~ msgstr[0] "%i dzień" +#~ msgstr[1] "%i dni" +#~ msgstr[2] "%i dni" + +#~ msgid "Composing only" +#~ msgstr "Tylko o pisaniu" + +#~ msgid "All chat states" +#~ msgstr "Włączone" + +#~ msgid "Privacy Lists" +#~ msgstr "Listy prywatności" + +#~ msgid "Unblock" +#~ msgstr "Odblokuj" + +#~ msgid "Block" +#~ msgstr "Zablokuj" + +#~ msgid "None" +#~ msgstr "Żaden" + +#, python-format +#~ msgid "%s Status Message" +#~ msgstr "Wiadomość dotycząca statusu %s" + +#~ msgid "an audio and video" +#~ msgstr "wideo-głosową" + +#~ msgid "an audio" +#~ msgstr "głosową" + +#~ msgid "a video" +#~ msgstr "wideo" + +#, fuzzy, python-format +#~ msgid "" +#~ "%(contact)s wants to start a %(type)s chat with you. Do you want to " +#~ "answer the call?" +#~ msgstr "%(contact)s chce rozpocząć z Tobą rozmowę %(type)s. Chcesz odebrać?" + +#~ msgid "Could not load image" +#~ msgstr "Nie można załadować obrazka." + +#~ msgid "Error." +#~ msgstr "Błąd." + +#, python-format +#~ msgid "%(type)s state : %(state)s, reason: %(reason)s" +#~ msgstr "%(type)s stan : %(state)s, powód: %(reason)s" + +#~ msgid "" +#~ "This contact will see you offline and you will not receive any messages " +#~ "sent to you by this contact." +#~ msgstr "" +#~ "Ten kontakt będzie widział Cię jako niedostępnego/niedostępną, nie " +#~ "będziesz też otrzymywał(a) od niego żadnych wiadomości." + +#~ msgid "_Block Contact" +#~ msgstr "_Zablokuj kontakt" + +#~ msgid "Block Group" +#~ msgstr "_Zablokuj grupę" + +#~ msgid "Really block this group?" +#~ msgstr "Na pewno zablokować tę grupę?" + +#~ msgid "" +#~ "All contacts of this group will see you as offline and you will not " +#~ "receive any messages sent to you by any one of these contacts." +#~ msgstr "" +#~ "Wszystkie kontakty z tej grupy będą widziały Cię jako niedostępnego/" +#~ "niedostępną, nie będziesz też otrzymywał(a) od nich żadnych wiadomości." + +#~ msgid "_Block Group" +#~ msgstr "_Zablokuj grupę" + +#~ msgid "No account available" +#~ msgstr "Żadne konto nie jest dostępne" + +#~ msgid "You must create an account before you can chat with other contacts." +#~ msgstr "Aby komunikować się z innymi osobami musisz założyć konto XMPP." + +#~ msgid "Metacontacts storage not supported by your server" +#~ msgstr "Twój serwer nie wspiera przechowywania metakontaktów" + +#~ msgid "" +#~ "Your server does not support storing metacontacts information. So this " +#~ "information will not be saved on next reconnection." +#~ msgstr "" +#~ "Twój serwer nie wspiera przechowywania informacji o metakontaktach więc " +#~ "informacje te nie zostaną zapisane przy następnym połączeniu z serwerem." + +#, python-brace-format +#~ msgid "You are invited to {room} by {user}" +#~ msgstr "Zostałeś zaproszony do {room} przez {user}" + +#, python-format +#~ msgid "%s wants to start a voice chat." +#~ msgstr "%s chce rozpocząć rozmowę głosową." + +#~ msgid "Could not save your settings and preferences" +#~ msgstr "Nie udało się zapisać zmian w ustwieniach" + +#~ msgid "Error While Removing Privacy List" +#~ msgstr "Wystąpił błąd podczas usuwania listy prywatności" + +#, fuzzy, python-format +#~ msgid "" +#~ "Privacy list %s has not been removed. It is probably active in one of " +#~ "your connected resources. Please deactivate it and try again." +#~ msgstr "" +#~ "Lista prywatności %s nie została usunięta. Prawdopodobnie jest aktywna w " +#~ "jednym z połączonych zasobów. Wyłącz ją i spróbuj ponownie." + +#~ msgid "Invisibility Not Supported" +#~ msgstr "Niewidzialność nie jest obsługiwana" + +#, python-format +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "Konto %s nie obsługuje niewidzialności." + +#, fuzzy +#~ msgid "Could not request upload slot for HTTP File Upload" +#~ msgstr "Nie można uruchomić usługi lokalnej" + +#, fuzzy +#~ msgid "Exception raised while trying to open file (see log)." +#~ msgstr "Wyjątek podczas otwierania pliku (zobacz log)" + +#, fuzzy +#~ msgid "Not Secure" +#~ msgstr "Nie włączony" + +#, fuzzy +#~ msgid "Could not Upload File" +#~ msgstr "Nie można załadować obrazka." + +#, python-format +#~ msgid "HTTP response code from server: %s" +#~ msgstr "Kod odpowiedzi HTTP z serwera: %s" + +#~ msgid "Upload Error" +#~ msgstr "Błąd wczytywania" + +#, fuzzy +#~ msgid "Encryption Error" +#~ msgstr "Szyfrowanie E2E włączone" + +#~ msgid "Lists all preferences and their values" +#~ msgstr "Wypisuje wszystkie opcje i ich wartości" + +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "Ustawia wartość 'klucza' na 'wartość'." + +#~ msgid "key=value" +#~ msgstr "klucz=wartość" + +#, fuzzy +#~ msgid "'key' is the name of the preference, 'value' is what to set it to" +#~ msgstr "" +#~ "'klucz' jest nazwą opcji, 'wartość' zaś jest jej ustawianą wartością" + +#~ msgid "Deletes a preference item" +#~ msgstr "Usuwa opcję" + +#~ msgid "key" +#~ msgstr "klucz" + +#~ msgid "name of the preference to be deleted" +#~ msgstr "nazwa opcji do usunięcia" + +#~ msgid "Writes the current state of Gajim preferences to the .config file" +#~ msgstr "Zapisuje obecny stan opcji Gajima do pliku .config" + +#, python-format +#~ msgid "%s is a directory but should be a file" +#~ msgstr "%s jest katalogiem choć powinien być plikiem" + +#, python-format +#~ msgid "Creating %s" +#~ msgstr "Tworzenie %s" + +#, python-format +#~ msgid "%(nickname)s Signed In" +#~ msgstr "%(nickname)s połączył(a) się" + +#~ msgid "Contact Signed In" +#~ msgstr "Kontakt połączył się" + +#, python-format +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "%(nickname)s rozłączył(a) się" + +#~ msgid "Contact Signed Out" +#~ msgstr "Kontakt rozłączył się" + +#, fuzzy +#~ msgid "" +#~ "Show desktop notification even when a chat window is opened for this " +#~ "contact and does not have focus." +#~ msgstr "" +#~ "Pokazu notyfikacje na pulpicie, nawet jeżeli okno czatu jest otwarte dla " +#~ "tego kontaktu i nieaktywne" + +#~ msgid "default" +#~ msgstr "domyślny" + +#, fuzzy +#~ msgid "" +#~ "Character to propose to add after desired nickname when nickname is " +#~ "already used in group chat." +#~ msgstr "" +#~ "Znak proponowany do dodania do nicka w sytuacji, gdy dany nick jest już " +#~ "używany przez innego uzytkownika czatu" + +#, fuzzy +#~ msgid "" +#~ "How many seconds to wait before trying to automatically rejoin a group " +#~ "chat you were disconnected from. Set to 0 to disable automatic rejoining." +#~ msgstr "" +#~ "Ile sekund czekać przed próbą ponownego, automatycznego dołączenia do " +#~ "konferencji, z której zostałeś rozłączony. Wybierz 0 aby wyłączyć " +#~ "ponowne, automatyczne podłączanie." + +#, fuzzy +#~ msgid "If enabled, Gajim displays the avatar in the chat window." +#~ msgstr "" +#~ "Jeżeli ustawisz tą opcję na False, Gajim nie będzie wyświetlał avatara w " +#~ "oknie rozmowy." + +#~ msgid "Selecting text will copy it to the clipboard" +#~ msgstr "Zaznaczenie tekstu skopiuje go do schowka" + +#, fuzzy +#~ msgid "" +#~ "Status to be used automatically when connecting. Can be 'online', 'chat', " +#~ "'away', 'xa' or 'dnd'. NOTE: This option is used only if " +#~ "'restore_last_status' is disabled." +#~ msgstr "" +#~ "Status używany przy automatycznym połączeniu. Może być: dostępny, chętny " +#~ "do rozmowy, zaraz wracam, nieobecny, nie przeszkadzać, niewidoczny. " +#~ "UWAGA: ta opcja będzie używana tylko jeśli restore_last_status będzie " +#~ "wyłączone" + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending password on an plaintext connection. " +#~ "Can be 'warn', or 'none'." +#~ msgstr "Pokaż ostrzeżenie przed wysłaniem hasła nieszyfrowanym połączeniem." + +#~ msgid "List of SSL errors to ignore (space separated)." +#~ msgstr "Lista błędów SSL do zignorowania (oddzielone spacją)." + +#, fuzzy +#~ msgid "" +#~ "How many seconds to wait for the answer of a ping alive packet before " +#~ "trying to reconnect." +#~ msgstr "" +#~ "Czas oczekiwania (w sekundach) na odpowiedź na pakiet podtrzymujący " +#~ "połączenie przed podjęciem próby ponownego połączenia." + +#~ msgid "I'm available." +#~ msgstr "Dostępny." + +#~ msgid "I'm free for chat." +#~ msgstr "Chętny do rozmowy." + +#~ msgid "Be right back." +#~ msgstr "Zaraz wracam." + +#~ msgid "I'm not available." +#~ msgstr "Nieobecny." + +#~ msgid "Do not disturb." +#~ msgstr "Nie przeszkadzać." + +#~ msgid "Bye!" +#~ msgstr "Żegnaj!" + +#~ msgid "Timeout loading image" +#~ msgstr "Przekroczono czas ładowania obrazu" + +#~ msgid "Image is too big" +#~ msgstr "Obraz jest za duży" + +#, fuzzy +#~ msgid "PyCURL is not installed" +#~ msgstr "CRL nie jest prawidłowy" + +#, fuzzy +#~ msgid "Error loading image" +#~ msgstr "Przekroczono czas ładowania obrazu" + +#~ msgid "Blocked Contacts" +#~ msgstr "Zablokowane kontakty" + +#, fuzzy +#~ msgid "Group chat" +#~ msgstr "Pokoje" + +#, fuzzy +#~ msgid "Bookmark group chat" +#~ msgstr "_Dodaj zakładkę do tego pokoju" + +#, fuzzy +#~ msgid "Bookmark" +#~ msgstr "Dodaj _zakładkę dla tego pokoju" + +#, fuzzy +#~ msgid "Recently used group chats" +#~ msgstr "w _konferencji" + +#, fuzzy +#~ msgid "Clear Avatar" +#~ msgstr "Używany avatar" + +#, fuzzy +#~ msgid "Set Avatar…" +#~ msgstr "Wybierz archiwum" + +#~ msgid "Main" +#~ msgstr "Główny" + +#, fuzzy +#~ msgid "Contact" +#~ msgstr "Czas u niego/niej:" + +#~ msgid "_Leave Group Chat" +#~ msgstr "_Opuść czat grupowy" + +#~ msgid "Enter a new name for this group chat" +#~ msgstr "Podaj nową nazwę dla tego czatu grupowego" + +#~ msgid "Use default applications" +#~ msgstr "Zawsze używaj domyślnych apikacji" + +#~ msgid "Custom" +#~ msgstr "Własne" + +#~ msgid "Pop it up" +#~ msgstr "pokaż" + +#~ msgid "Notify me about it" +#~ msgstr "Wyświetl powiadomienie" + +#, fuzzy +#~ msgid "Show only in contact list" +#~ msgstr "Pokaż kontakty _połączone" + +#, fuzzy +#~ msgid "No status messages" +#~ msgstr "informacja o statusie" + +#, fuzzy +#~ msgid "All status messages" +#~ msgstr "informacja o statusie" + +#~ msgid "Only enter/leave messages" +#~ msgstr "Tylko wiadomości dołączył(a)/opuścił(a)" + +#, fuzzy +#~ msgid "Me_rge accounts" +#~ msgstr "_Połącz konta" + +#, fuzzy +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "Wyświetlaj awatary kontaktów z listy" + +#, fuzzy +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "" +#~ "Zaznaczenie tej opcji spowoduje wyświetlanie awatarów w oknie listy " +#~ "kontaktów (roster oraz okno czatu)" + +#, fuzzy +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "Wyświetlaj _opisy statusu kontaktu na liście kontaktów" + +#, fuzzy +#~ msgid "" +#~ "If checked, status messages of contacts will be shown under the contact's " +#~ "name, in the contact list window, and in group chats" +#~ msgstr "" +#~ "Jeśli jest zaznaczone, Gajim będzie wyświetlał opis statusu kontaktu pod " +#~ "jego nazwą na liście kontaktów" + +#, fuzzy +#~ msgid "" +#~ "Show e_xtra information of contacts in contact list (mood, activity, ...)" +#~ msgstr "Wyświetlaj nastroje kontaktów z listy" + +#, fuzzy +#~ msgid "in _contact list" +#~ msgstr "Wyślij kontakty:" + +#~ msgid "in _group chats" +#~ msgstr "w _konferencji" + +#, fuzzy +#~ msgid "Enable spell _checking" +#~ msgstr "Słownik" + +#, fuzzy +#~ msgid "" +#~ "If checked, spelling errors in input fields of chat windows will be " +#~ "highlighted. If no language is explicitly set via right click on the " +#~ "input field, the default language will be used for this contact or group " +#~ "chat. Needs gspell to be installed." +#~ msgstr "" +#~ "Zaznaczenie tej opcji spowoduje, że Gajim będzie podświetlał błędy w " +#~ "pisowni w oknach rozmów. Jeżeli nie wskazano konkrentego słownika, " +#~ "program użyje słownika domyślnego." + +#, fuzzy +#~ msgid "Display status messages in _single chats" +#~ msgstr "Wyświetlaj _opisy statusu kontaktu na liście kontaktów" + +#, fuzzy +#~ msgid "" +#~ "If checked, status lines will be shown in 1 on 1 chats when a contact " +#~ "changes their status or status message" +#~ msgstr "" +#~ "Jeśli ma wartość False, to nie będziesz informowany o zmianie statusu lub " +#~ "opisu statusu przez kontakt, z którym rozmawiasz." + +#, fuzzy +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "Nie można dołączyć do pokoju" + +#, fuzzy +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "Nie można dołączyć do pokoju" + +#~ msgid "Show join/leave (Default)" +#~ msgstr "Pokazuj dołączył(a)/opuścił(a) (Domyślnie)" + +#~ msgid "" +#~ "If join/leave status messages are shown in the group chat. This setting " +#~ "can be overridden in the group chat menu." +#~ msgstr "" +#~ "Ustawienie decydujące o tym czy wiadomości statusu o dołączeniu/" +#~ "opuszczeniu czatu są wyświetlane w czacie grupowym, można to zmienić z " +#~ "poziomu menu czatu grupowego." + +#, fuzzy +#~ msgid "Show status changes (Default)" +#~ msgstr "_Zapisuj w logach zmiany statusów kontaktów" + +#, fuzzy +#~ msgid "" +#~ "If checked, the tab will be colored according to the current chatstate of " +#~ "the contact" +#~ msgstr "" +#~ "Zaznaczenie tej opcji umożliwi innym wykrywanie jakiego systemu " +#~ "operacyjnego używasz" + +#, fuzzy +#~ msgid "" +#~ "If checked, a description of the contacts current chatstate is shown in " +#~ "the banner" +#~ msgstr "" +#~ "Zaznaczenie tej opcji umożliwi innym wykrywanie jakiego systemu " +#~ "operacyjnego używasz" + +#~ msgid "Chatstate" +#~ msgstr "Status na czacie" + +#, fuzzy +#~ msgid "_When new event is received" +#~ msgstr "Gdy odebrane zostanie nowe zdarzenie" + +#, fuzzy +#~ msgid "Show popups/notifications when a chat window is already _open" +#~ msgstr "" +#~ "Pokazuj powiadomienia gdy mam status _zaraz wracam/nieobecny/zajęty/" +#~ "niewidoczny" + +#, fuzzy +#~ msgid "Allow popups/notifications when I'm _away, not available or busy" +#~ msgstr "" +#~ "Pokazuj powiadomienia gdy mam status _zaraz wracam/nieobecny/zajęty/" +#~ "niewidoczny" + +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "Powiadom mnie o kontaktach, które się _logują" + +#, fuzzy +#~ msgid "" +#~ "A popup window about contacts that just signed in will be shown in the " +#~ "bottom right of the screen " +#~ msgstr "" +#~ "Gajim powiadomi Cię o nadejściu nowej wiadomości wyświetlając okienko w " +#~ "prawym dolnym rogu ekranu" + +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "Powiadom mnie o kontaktach, które się _wylogowują " + +#~ msgid "Play _sounds" +#~ msgstr "Odtwórz _dźwięk" + +#~ msgid "Ma_nage..." +#~ msgstr "Za_rządzaj..." + +#, fuzzy +#~ msgid "Allow playing sounds when I'm _busy" +#~ msgstr "Włącz dźwięki, kiedy jestem _zajęty" + +#, fuzzy +#~ msgid "No_t Available" +#~ msgstr "Nieobecny" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Not Available when the computer " +#~ "has not been used for the specified time" +#~ msgstr "" +#~ "Użycie tej opcji oznacza, że Gajim zmieni status na Niedostępny po " +#~ "dłuższym okresie bezczynności" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Away when the computer has not " +#~ "been used for the specified time" +#~ msgstr "" +#~ "Użycie tej opcji oznacza, że Gajim zmieni status na Niedostępny po " +#~ "dłuższym okresie bezczynności" + +#, fuzzy +#~ msgid "" +#~ "The automatic away status message. If empty, the current status message " +#~ "will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-away timeout." +#~ msgstr "" +#~ "Opis automatycznego opisu statusu \"Zaraz Wracam\". Jeśli pusty, Gajim " +#~ "nie zmieni obecnego opisu\n" +#~ "$S będzie zastąpione przez poprzedni opis statusu\n" +#~ "$T będzie zastąpione przez czas, który jesteś nieaktywny" + +#, fuzzy +#~ msgid "" +#~ "The automatic not available status message. If empty, the current status " +#~ "message will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-not-available timeout." +#~ msgstr "" +#~ "Opis automatycznego opisu statusu \"Nieobecny\". Jeśli pusty, Gajim nie " +#~ "zmieni obecnego opisu\n" +#~ "$S będzie zastąpione przez poprzedni opis statusu\n" +#~ "$T będzie zastąpione przez czas, po którym ma zostać ustawiono status " +#~ "\"Nieobecny\"" + +#, fuzzy +#~ msgid "Minutes" +#~ msgstr "minutach" + +#~ msgid "" +#~ "If enabled, Gajim will not ask for a status message. The specified " +#~ "default message will be used instead." +#~ msgstr "" +#~ "Po uaktywnieniu tej opcji Gajim nie będzie prosił o opis statusu. " +#~ "Zostanie użyty opis domyślny." + +#~ msgid "Default Message" +#~ msgstr "Domyśla wiadomość" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "Opis statusu" + +#~ msgid "Preset Status Messages" +#~ msgstr "Zapisane opisy" + +#, fuzzy +#~ msgid "_Theme" +#~ msgstr "Motyw" + +#~ msgid "Configure color and font of the interface" +#~ msgstr "Konfiguruj kolor i czcionkę interfejsu" + +#, fuzzy +#~ msgid "" +#~ "If checked, protocol-specific status icons will be used (e.g. a contact " +#~ "from ICQ will have the equivalent ICQ icon for status online, away, busy, " +#~ "etc...)" +#~ msgstr "" +#~ "Dzięki tej opcji Gajim będzie używał zestawów ikon charakterystycznych " +#~ "dla transportu, np. kontakt z MSN będzie miał odpowiednie ikony statusu " +#~ "dostępny, zaraz wracam, zajęty, itd" + +#, fuzzy +#~ msgid "Video output" +#~ msgstr "wyjście wideo" + +#, fuzzy +#~ msgid "Video si_ze" +#~ msgstr "Rozmiar obrazu" + +#, fuzzy +#~ msgid "Vi_ew own video source" +#~ msgstr "Zobacz własne źródło filmu" + +#, fuzzy +#~ msgid "" +#~ "STUN server hostname. If no hostname was given, Gajim will try\n" +#~ "to discover one from the server. (Example: stun.iptel.org)" +#~ msgstr "" +#~ "Nazwa hosta serwera STUN. Jeśli nie podano żadnej,\n" +#~ "Gajim spróbuje odnaleźć ją na serwerze." + +#~ msgid "_Manage..." +#~ msgstr "Zarządzaj..." + +#, fuzzy +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "_Zapisuj w logach zmiany statusów kontaktów" + +#, fuzzy +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "Włączenie tej opcji spowoduje zapamiętanie hasła dla tego konta" + +#~ msgid "_Open..." +#~ msgstr "_Otwórz..." + +#, fuzzy +#~ msgid "_Filter" +#~ msgstr "_Filtr:" + +#, fuzzy +#~ msgid "Protocol" +#~ msgstr "P_rotokół:" + +#~ msgid "Privacy Lists:" +#~ msgstr "Poufne listy:" + +#, fuzzy +#~ msgid "_Ignore this error for this certificate" +#~ msgstr "Ignoruj komunikat o tym błędzie." + +#, fuzzy +#~ msgid "Message..." +#~ msgstr "Wiadomość" + +#, fuzzy +#~ msgid "_Message if you decline (optional)" +#~ msgstr "Powód (jeżeli odmowa):" + +#, fuzzy +#~ msgid "Preset _messages" +#~ msgstr "Szablony opisów:" + +#~ msgid "_Type your new status message" +#~ msgstr "_Wpisz nowy opis statusu" + +#, fuzzy +#~ msgid "Change Status Message…" +#~ msgstr "_Zmień opis statusu" + +#~ msgid "Mood:" +#~ msgstr "Nastrój" + +#~ msgid "Message:" +#~ msgstr "Wiadomość:" + +#~ msgid "none" +#~ msgstr "nic" + +#, fuzzy +#~ msgid "both" +#~ msgstr "Obustronna" + +#, fuzzy +#~ msgid "from" +#~ msgstr "Od" + +#~ msgid "to" +#~ msgstr "do" + +#~ msgid "Privacy List" +#~ msgstr "Poufna Lista" + +#~ msgid "Privacy List" +#~ msgstr "Lista prywatności" + +#~ msgid "Active for this session" +#~ msgstr "Aktywny w tej sesji" + +#~ msgid "Active on each startup" +#~ msgstr "P_ołącz przy starcie programu" + +#~ msgid "List of rules" +#~ msgstr "Lista reguł" + +#~ msgid "Add / Edit a rule" +#~ msgstr "Dodaj / Edytuj regułę" + +#~ msgid "Allow" +#~ msgstr "Zezwól" + +#~ msgid "Deny" +#~ msgstr "Odmów" + +#~ msgid "all in the group" +#~ msgstr "według grupy" + +#~ msgid "all by subscription" +#~ msgstr "według autoryzacji" + +#~ msgid "All" +#~ msgstr "wszystkim" + +#~ msgid "to send me messages" +#~ msgstr "wysyłać mi wiadomości" + +#~ msgid "to send me queries" +#~ msgstr "wysyłać kwerendy" + +#~ msgid "to view my status" +#~ msgstr "widzieć mój status" + +#~ msgid "to send me status" +#~ msgstr "wysyłać mi status" + +#~ msgid "All (including subscription)" +#~ msgstr "Wszystko (łącznie z zubskrypcją)" + +#~ msgid "Order:" +#~ msgstr "Kolejność:" + +#~ msgid "" +#~ "Deny authorization from contact so the contact cannot know if you are " +#~ "connected" +#~ msgstr "" +#~ "Odmów autoryzacji kontaktowi, nie będzie on wówczas wiedział kiedy jesteś " +#~ "dostępny(a)" + +#, fuzzy +#~ msgid "Authorize contact so the contact can know if you are connected" +#~ msgstr "Autoryzuj kontakt - będzie wówczas wiedział, kiedy jesteś połączony" + +#, fuzzy +#~ msgid "Contact List Shortcuts" +#~ msgstr "Kontakt rozłączył się" + +#~ msgid "Fill in the form." +#~ msgstr "Wypełnij formularz." + +#~ msgid "Set an activity" +#~ msgstr "Ustaw Aktywność" + +#~ msgid "Message: " +#~ msgstr "Wiadomość:" + +#, python-format +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "Zaproszono %(jid)s do %(room_jid)s" + +#, fuzzy +#~ msgid "Group Chat Invitation " +#~ msgstr "Zaproszenie na czat" + +#, python-format +#~ msgid "Comment: %s" +#~ msgstr "Komentarz: %s" + +#~ msgid "On" +#~ msgstr "Połączony" + +#, fuzzy +#~ msgid "Off" +#~ msgstr "Rozłączony" + +#~ msgid "Retrieving profile…" +#~ msgstr "Pobieranie profilu..." + +#~ msgid "Wrong date format" +#~ msgstr "Nieprawidłowy format daty" + +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "Data musi być podana w formacie RRRR-MM-DD" + +#~ msgid "Information received" +#~ msgstr "Informacja została odebrana" + +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "" +#~ "Bez połączenia internetowego publikowanie informacji kontaktowych nie " +#~ "jest możliwe." + +#~ msgid "Sending profile…" +#~ msgstr "Wysyłanie profilu..." + +#~ msgid "Information NOT published" +#~ msgstr "Informacja NIE ZOSTAŁA opublikowana" + +#~ msgid "vCard publication failed" +#~ msgstr "Publikacja vCard nie powiodła się" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "" +#~ "W czasie publikowanie informacji o tobie wystąpił błąd, spróbuj ponownie " +#~ "później." + +#, fuzzy +#~ msgid "?password:Hidden" +#~ msgstr "Hasło:" + +#, python-format +#~ msgid "Privacy List %s" +#~ msgstr "Lista prywatności %s" + +#, python-format +#~ msgid "Privacy List for %s" +#~ msgstr "Lista prywatności dla %s" + +#, python-format +#~ msgid "" +#~ "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" +#~ msgstr "" +#~ "Kolejność: %(order)s, akcja: %(action)s, typ: %(type)s, wartość: %(value)s" + +#, python-format +#~ msgid "Order: %(order)s, action: %(action)s" +#~ msgstr "Kolejność: %(order)s, akcja: %(action)s" + +#~ msgid "Edit a rule" +#~ msgstr "Edytuj regułę" + +#~ msgid "Add a rule" +#~ msgstr "Dodaj regułę" + +#, python-format +#~ msgid "Privacy Lists for %s" +#~ msgstr "Listy prywatności dla %s" + +#~ msgid "Invalid List Name" +#~ msgstr "Niepoprawna nazwa listy" + +#~ msgid "You must enter a name to create a privacy list." +#~ msgstr "Musisz podać nazwę nowej listy prywatności." + +#, fuzzy +#~ msgid "Loading" +#~ msgstr "Programuję" + +#~ msgid "status message title" +#~ msgstr "nagłówek informacji o statusie" + +#~ msgid "status message text" +#~ msgstr "treść informacji o statusie" + +#, fuzzy +#~ msgid "Start New Conversation" +#~ msgstr "Rozpocznij nową konwersację" + +#~ msgid "Simulate loss of connectivity" +#~ msgstr "Zasymuluj utratę połączenia" + +#~ msgid "Simulate regaining connectivity" +#~ msgstr "Zasymuluj odzyskanie połączenia" + +#~ msgid "Unknown SSL error: %d" +#~ msgstr "Nieznany błąd SSL: %d" + +#~ msgid "Gajim - %s" +#~ msgstr "Gajim - %s" + +#~ msgid "Choose interval between 2 checks of idleness." +#~ msgstr "Wybierz odstęp czasu pomiędzy dwoma sprawdzeniami bezczynności." + +#, fuzzy +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "Brak słownika dla tego języka (%s)" + +#~ msgid "" +#~ "You have to install the dictionary \"%s\" to use spellchecking, or choose " +#~ "another language by setting the speller_language option.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "Musisz zainstalować słownik %s aby aktywować sprawdzanie pisowni lub " +#~ "wybrać inny język przez ustawienie opcji speller_langugage.\n" +#~ "\n" +#~ "Bez tego podświetlanie błędnie napisanych słów nie będzie działać." + +#~ msgid "_Reconnect" +#~ msgstr "_Połącz ponownie" + +#, fuzzy +#~ msgid "Quit" +#~ msgstr "_Zakończ" + +#, fuzzy +#~ msgid "Show Contact List" +#~ msgstr "Pokaż kontakty _połączone" + +#, fuzzy +#~ msgid "Add to Contact List" +#~ msgstr "_Dodaj kontakt..." + +#, fuzzy +#~ msgid "Invite Contact" +#~ msgstr "Zaproś kontakty" + +#, fuzzy +#~ msgid "Configure Group Chat" +#~ msgstr "Opuść pokoje" + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." +#~ msgstr "" +#~ "Jeśli ma wartość True, Gajim wyświetli ikonę na każdej karcie " +#~ "zawierającej nieprzeczytaną wiadomość. Ikona ta może być animowana, w " +#~ "zależności od motywu." + +#, fuzzy +#~ msgid "Show a mini avatar in chat window tabs and as the window's icon." +#~ msgstr "Pokaż mini awatar w zakładce okna czatu i ikonie okna." + +#~ msgid "Show _avatar in chat tabs" +#~ msgstr "Pokaż _awatar w zakładce czatu" + +#, fuzzy +#~ msgid "Server must be between 1 and 1023 bytes" +#~ msgstr "Serwer winien mieć od 1 do 1023 znaków" + +#~ msgid "Invalid character in hostname." +#~ msgstr "Niepoprawna litera w nazwie hosta." + +#~ msgid "Server address required." +#~ msgstr "Wymagany adres serwera." + +#, fuzzy +#~ msgid "Username must be between 1 and 1023 bytes" +#~ msgstr "Nazwa użytkownika winna mieć od 1 do 1023 znaków" + +#~ msgid "Invalid character in username." +#~ msgstr "Niepoprawna litera w nazwie użytkownika." + +#, fuzzy +#~ msgid "Resource must be between 1 and 1023 bytes" +#~ msgstr "Zasób winien mieć od 1 do 1023 znaków" + +#~ msgid "Invalid character in resource." +#~ msgstr "Niepoprawna litera w zasobach." + +#, fuzzy +#~ msgid "Notification color for contacts signing in." +#~ msgstr "Powiadom mnie o kontaktach, które się _logują" + +#, fuzzy +#~ msgid "Notification color for contacts signing out." +#~ msgstr "Powiadom mnie o kontaktach, które się _wylogowują " + +#, fuzzy +#~ msgid "Notification color for new message notification." +#~ msgstr "Podgląd nowych wiadomości w oknie powiadomienia?" + +#, fuzzy +#~ msgid "Notification color for file transfer request." +#~ msgstr "_Powiadom mnie gdy przesyłanie pliku dobiegnie końca" + +#, fuzzy +#~ msgid "Notification color for file transfer errors." +#~ msgstr "_Powiadom mnie gdy przesyłanie pliku dobiegnie końca" + +#, fuzzy +#~ msgid "Notification background color for changed status." +#~ msgstr "Kolor tła dla logujących się kontaktów." + +#, fuzzy +#~ msgid "Event Type" +#~ msgstr "Typ zdarzenia" + +#, fuzzy +#~ msgid "Event desc" +#~ msgstr "Opis zdarzenia" + +#, fuzzy +#~ msgid "No response from the Server" +#~ msgstr "Nie jesteś połączony z serwerem" + +#~ msgid "Resource Conflict" +#~ msgstr "Konflikt zasobów" + +#, fuzzy +#~ msgid "" +#~ "You are already connected to this account with the same resource. Please " +#~ "enter a different one." +#~ msgstr "" +#~ "Jesteś już połączony z tym kontem przy użyciu tego samego zasobu.Proszę " +#~ "podać nowy zasób" + +#~ msgid "Unable to load image" +#~ msgstr "Nie można załadować obrazka" + +#, fuzzy +#~ msgid "Media type not supported: %s" +#~ msgstr "Nieobsługiwany typ pliku: %s" + +#~ msgid "This field is required" +#~ msgstr "To pole jest wymagane" + +#~ msgid "new@jabber.id" +#~ msgstr "nowy@jabber.id" + +#~ msgid "new%d@jabber.id" +#~ msgstr "nowy%d@jabber.id" + +#~ msgid "video output" +#~ msgstr "wyjście wideo" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Gajim: Kreator Konta" + +#, fuzzy +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "Musisz posiadać konto aby połączyć się\n" +#~ " z siecią Jabber." + +#~ msgid "I already have an account I want to _use" +#~ msgstr "_Mam już konto i chcę z niego korzystać" + +#~ msgid "I want to _register for a new account" +#~ msgstr "Chcę za_rejestrować nowe konto Jabbera" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "Wybierz jedną z poniższych opcji:" + +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "Uzupełnij proszę dane swojego konta" + +#, fuzzy +#~ msgid "_XMPP Address:" +#~ msgstr "_Adres AIM:" + +#~ msgid "Anon_ymous authentication" +#~ msgstr "Anonimowa autentykacja" + +#~ msgid "_Password:" +#~ msgstr "_Hasło:" + +#~ msgid "Save pass_word" +#~ msgstr "Zapisz _hasło" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "Włączenie tej opcji spowoduje zapamiętanie hasła dla tego konta" + +#~ msgid "Please select a server" +#~ msgstr "Wybierz serwer" + +#~ msgid "_Server:" +#~ msgstr "_Serwer:" + +#~ msgid "Manage..." +#~ msgstr "Zarządzaj..." + +#~ msgid "_Port:" +#~ msgstr "_Port:" + +#~ msgid "_Advanced" +#~ msgstr "_Zaawansowane" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA1 fingerprint of the certificate:\n" +#~ msgstr "" +#~ "Dodaj ten certyfikat do listy zaufanych.\n" +#~ "Odcisk klucza SHA1 tego certyfikatu:\n" + +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "Łączenie z serwerem\n" +#~ "\n" +#~ "proszę czekać..." + +#~ msgid "Connect when I press Finish" +#~ msgstr "Połącz po wciśnięciu przycisku Zakończ" + +#~ msgid "Set my profile when I connect" +#~ msgstr "Ustaw profil po połączeniu" + +#~ msgid "_Finish" +#~ msgstr "_Zakończ" + +#~ msgid "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." +#~ msgstr "" +#~ "Możesz ustawić opcje zaawansowane wciskając przycisk Zaawansowane lub " +#~ "później wybierając pozycję Konta z menu Edycja w głównym oknie programu." + +#~ msgid "Your new account has been created successfully" +#~ msgstr "Twoje konto zostało założone" + +#~ msgid "Invalid username" +#~ msgstr "Niepoprawna nazwa użytkownika" + +#~ msgid "You must provide a username to configure this account." +#~ msgstr "Musisz wpisać nazwę użytkownika aby skonfigurować to konto." + +#~ msgid "Invalid server" +#~ msgstr "Niepoprawna nazwa serwera" + +#~ msgid "Please provide a server on which you want to register." +#~ msgstr "Wpisz adres serwera, na którym chcesz się zarejestrować." + +#~ msgid "Invalid entry" +#~ msgstr "Niepoprawny wpis" + +#~ msgid "Certificate Already in File" +#~ msgstr "Certyfikat znajduje się już w pliku" + +#~ msgid "This certificate is already in file %s, so it's not added again." +#~ msgstr "" +#~ "Ten certyfikat znajduje się już w pliku %s, więc nie zostanie ponownie " +#~ "dodany." + +#~ msgid "" +#~ "Security Warning\n" +#~ "\n" +#~ "The authenticity of the %(hostname)s SSL certificate could be invalid.\n" +#~ "SSL Error: %(error)s\n" +#~ "Do you still want to connect to this server?" +#~ msgstr "" +#~ "Ostrzeżenie o zabezpieczeniach\n" +#~ "\n" +#~ "Autentyczność certyfikatu SSL od %(hostname)s nie może zostać " +#~ "potwierdzona.\n" +#~ "Błąd SSL: %(error)s\n" +#~ "Czy nadal chcesz się połączyć z tym serwerem?" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA-256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Dodaj ten certyfikat do listy zaufanych.\n" +#~ "Odcisk klucza SHA-1 certyfikatu:\n" +#~ "%(sha1)s\n" +#~ "Odcisk klucza SHA-256 certyfikatu:\n" +#~ "%(sha256)s" + +#~ msgid "Account name is in use" +#~ msgstr "Nazwa konta jest już zajęta" + +#~ msgid "You already have an account using this name." +#~ msgstr "Masz już konto o takiej nazwie." + +#, fuzzy +#~ msgid "Allow plaintext connections." +#~ msgstr "Pozwól na połączenia otwartym tekstem" + +#, fuzzy +#~ msgid "" +#~ "List of authentication mechanisms to try (space separated). Can contain " +#~ "'ANONYMOUS', 'EXTERNAL', 'GSSAPI', 'SCRAM-SHA-1-PLUS', 'SCRAM-SHA-1', " +#~ "'DIGEST-MD5', 'PLAIN', 'X-MESSENGER-OAUTH2' or 'XEP-0078'." +#~ msgstr "" +#~ "Lista (oddzielona spacjami) metod autentykacji do sprawdzenia. Może " +#~ "zawierać ANONYMOUS, EXTERNAL, GSSAPI, SCRAM-SHA-1-PLUS, SCRAM-SHA-1, " +#~ "DIGEST-MD5, PLAIN, X-MESSENGER-OAUTH2 lub XEP-0078" + +#~ msgid "Show a warning dialog before using standard SSL library." +#~ msgstr "Pokaż ostrzeżenie przed użyciem standardowej biblioteki SSL." + +#, fuzzy +#~ msgid "If enabled, a whitespace is sent after inactivity (keep alive)." +#~ msgstr "Wysyłanie białych znaków po nieaktywności" + +#, fuzzy +#~ msgid "If enabled, an XMPP ping is sent after inactivity (ping alive)." +#~ msgstr "Wysyłanie pingu XMPP po nieaktywności" + +#~ msgid "Connection with account \"%s\" has been lost" +#~ msgstr "Połączenie z kontem \"%s\"zostało zerwane." + +#~ msgid "Reconnect manually." +#~ msgstr "Połącz ponownie ręcznie." + +#~ msgid "Server %(name)s answered wrongly to register request: %(error)s" +#~ msgstr "" +#~ "Serwer %(name)s udzielił nieprawidłowej odpowiedzi na żądanie " +#~ "rejestracji: %(error)s" + +#~ msgid "Server %s provided a different registration form" +#~ msgstr "Serwer %s przesłał niezgodny formularz rejestracyjny" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "Nie można połączyć się z \"%s\"" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "Nie można połączyć się z \"%s\"" + +#~ msgid "Check your connection or try again later." +#~ msgstr "Sprawdź swoje połączenie lub spróbuj później." + +#~ msgid "Server replied: %s" +#~ msgstr "Serwer odpowiedział: %s" + +#~ msgid "Connection to proxy failed" +#~ msgstr "Połączenie z serwerem proxy nie powiodło się" + +#~ msgid "Could not connect to account %s" +#~ msgstr "Nie można połączyć się %s" + +#~ msgid "Connection with account %s has been lost. Retry connecting." +#~ msgstr "Połączenie z kontem %s zostało zerwane." + +#~ msgid "Please check your login and password for correctness." +#~ msgstr "Spawdź czy twój login i hasło są poprawne." + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "Połączenie HTTP" + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "BOSH" +#~ msgstr "_BOSH URL:" + +#~ msgid "Use HTTP prox_y" +#~ msgstr "Korzystaj z pośrednik_a HTTP" + +#, fuzzy +#~ msgid "_BOSH URL" +#~ msgstr "_BOSH URL:" + +#, fuzzy +#~ msgid "BOSH" +#~ msgstr "_BOSH URL:" + +#, fuzzy +#~ msgid "Warn on insecure connection" +#~ msgstr "_Ostrzegaj przed użyciem niezaszyfrowanego połączenia" + +#, fuzzy +#~ msgid "Contact list, list of contacts" +#~ msgstr "_Zapisuj w logach zmiany statusów kontaktów" + +#~ msgid "Disconnect for Invisibility" +#~ msgstr "Rozłączony dla Niewidoczności" + +#~ msgid "You are participating in one or more group chats" +#~ msgstr "Znajdujesz się w jednym lub kilku pokojach" + +#, fuzzy +#~ msgid "" +#~ "Changing your status to invisible will result in you leaving those group " +#~ "chats.\n" +#~ "Are you sure you want to go invisible?" +#~ msgstr "" +#~ "Zmiana statusu na Niewidoczny spowoduje rozłączenie z tym pokojami.\n" +#~ "Czy na pewno chcesz stać się niewidoczny?" + +#~ msgid "_Disconnect" +#~ msgstr "_Rozłącz" + +#~ msgid "You cannot join a group chat while you are invisible" +#~ msgstr "Nie możesz dołączyć do pokoju gdy jesteś niewidoczny" + +#~ msgid "Invisible" +#~ msgstr "Niewidoczny" + +#, fuzzy +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "Nie możesz dołączyć do pokoju gdy jesteś niewidoczny" + +#~ msgid "_Invisible" +#~ msgstr "N_iewidoczny" + +#, fuzzy +#~ msgid "Yesterday" +#~ msgid_plural "%(nb_days)i days ago" +#~ msgstr[0] "Wczoraj" +#~ msgstr[1] "%i dni temu" +#~ msgstr[2] "%i dni temu" + +#, fuzzy +#~ msgid "_Cancel Upload" +#~ msgstr "_Anuluj" + +#, fuzzy +#~ msgid "Got unexpected response from server (see log)." +#~ msgstr "Nieoczekiwana odpowiedź serwera (zobacz log)" + +#~ msgid " [blocked]" +#~ msgstr " [zablokowany]" + +#~ msgid " [minimized]" +#~ msgstr " [zminimalizowany]" + +#, fuzzy +#~ msgid "" +#~ "If you close this tab while having chat history disabled, this message " +#~ "will be lost." +#~ msgstr "" +#~ "Jeśli zamkniesz tę kartę, a nie masz uaktywnionej opcji historii, to " +#~ "utracisz tę wiadomość." + +#, fuzzy +#~ msgid "Unregister Failed" +#~ msgstr "Błąd przy usuwaniu konta" + +#, fuzzy +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "Wypisanie się z serwera %(server)s nie powiodło się: %(error)s" + +#, fuzzy +#~ msgid "New Password" +#~ msgstr "Zapisz hasło" + +#~ msgid "What do you want to do?" +#~ msgstr "Co chcesz zrobić?" + +#~ msgid "Remove account from Gajim and from _server" +#~ msgstr "Usuń konto z Gajima i z _serwera" + +#, fuzzy +#~ msgid "You must enter a password" +#~ msgstr "Musisz wpisać hasło." + +#, fuzzy +#~ msgid "You still have open chats in your account %s" +#~ msgstr "Masz otwarte okno rozmowy na koncie %s" + +#, fuzzy +#~ msgid "To unregister from a server, the account must be enabled." +#~ msgstr "Aby wyrejestrować się z serwera, konto musi być włączone." + +#, fuzzy +#~ msgid "Password required" +#~ msgstr "Hasło wymagane" + +#, fuzzy +#~ msgid "Still connected to the server" +#~ msgstr "Nie jesteś połączony z serwerem" + +#, fuzzy +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "Jeśli to usuniesz, połączenie zostanie zerwane." + +#~ msgid "Connection to server %s failed" +#~ msgstr "Połączenie z serwerem %s nie powiodło się" + +#~ msgid "What would you like to do?" +#~ msgstr "Co zrobić?" + +#~ msgid "Remove only from Gajim" +#~ msgstr "Usuń tylko z Gajima" + +#~ msgid "Don't remove anything. I'll try again later" +#~ msgstr "Nic nie usuwaj. Spróbuję ponownie później" + +#, fuzzy +#~ msgid "Contents" +#~ msgstr "_Zawartość" + +#, fuzzy +#~ msgid "FAQ" +#~ msgstr "_FAQ" + +#~ msgid "Save as Preset Status Message" +#~ msgstr "Szablony opisów" + +#~ msgid "Enter a new nickname for contact %s" +#~ msgstr "Wpisz nazwę dla kontaktu %s." + +#, fuzzy +#~ msgid "Join a group chat" +#~ msgstr "w _konferencji" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "Akceptuj" + +#~ msgid "New entry received" +#~ msgstr "Odebrano nowy wpis" + +#~ msgid "You have received new entry:" +#~ msgstr "Otrzymałeś nowy artykuł:" + +#~ msgid "Feed name:" +#~ msgstr "Nazwa kanału:" + +#~ msgid "Last modified:" +#~ msgstr "Ostatnio zmodyfikowany:" + +#~ msgid "Next entry" +#~ msgstr "Następny wpis" + +#, fuzzy +#~ msgid "Send file?" +#~ msgstr "Wyślij _plik" + +#, fuzzy +#~ msgid "Mail _client" +#~ msgstr "Klient _poczty:" + +#, fuzzy +#~ msgid "_Browser" +#~ msgstr "Prze_glądarka:" + +#, fuzzy +#~ msgid "_File manager" +#~ msgstr "Menadżer _plików:" + +#, fuzzy +#~ msgid "Custom applications" +#~ msgstr "Zawsze używaj domyślnych apikacji" + +#~ msgid "Applications" +#~ msgstr "Aplikacje" + +#, fuzzy +#~ msgid "" +#~ "Uses ReStructured text markup to send HTML, plus ASCII formatting if " +#~ "selected. Needs docutils installed (for syntax, see http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Używa znaczników ReStructured oraz formatowania ASCII. Musisz mieć " +#~ "zainstalowany pakiet docutils. Wyjaśnienie składni dostępne na stronie " +#~ "http://docutils.sourceforge.net/docs/ref/rst/" + +#, fuzzy +#~ msgid "Store XHTML messages in chat history instead of plain text messages." +#~ msgstr "Loguj wiadomości XHTML zamiast zwykłych wiadomości tekstowych." + +#, fuzzy +#~ msgid "_Ignore formatting of incoming messages" +#~ msgstr "Ignoruj wzbogaconą treść w wiadomościach" + +#, fuzzy +#~ msgid "" +#~ "Some messages may include rich content (xhtml formatting, colors etc). If " +#~ "checked, Gajim will just display the plain message text." +#~ msgstr "" +#~ "Niektóre wiadomości mogą zawierać dodatkowe atrybuty, jak kolory, czy " +#~ "formatowanie. Jeżeli ta opcja jest aktywna, Gajim będzie ignorował te " +#~ "dodatki i wyświetlał czysty tekst." + +#, fuzzy +#~ msgid "RST XHTML Generator" +#~ msgstr "Generator RST" + +#, fuzzy +#~ msgid "Requires: python-docutils" +#~ msgstr "Wymaga python-docutils." + +#~ msgid "New Single Message" +#~ msgstr "Nowa wiadomość" + +#, fuzzy +#~ msgid "" +#~ "Can be empty, 'chat' or 'normal'. If not empty, all incoming messages are " +#~ "treated as if they were of this type." +#~ msgstr "" +#~ "Przyjmuje wartość pustą, 'chat' lub 'normal'. Dwie ostatnie określają czy " +#~ "Gajim będzie traktował każdą przychodzącą wiadomość jako czat lub " +#~ "pojedynczą wiadomość" + +#~ msgid "Error %(code)s: %(msg)s" +#~ msgstr "Błąd %(code)s: %(msg)s" + +#~ msgid "twelve" +#~ msgstr "dwunastej" + +#~ msgid "one" +#~ msgstr "pierwsza" + +#~ msgid "two" +#~ msgstr "druga" + +#~ msgid "three" +#~ msgstr "trzecia" + +#~ msgid "four" +#~ msgstr "czwarta" + +#~ msgid "five" +#~ msgstr "piąta" + +#~ msgid "six" +#~ msgstr "szóstej" + +#~ msgid "seven" +#~ msgstr "siódma" + +#~ msgid "eight" +#~ msgstr "ósmej" + +#~ msgid "nine" +#~ msgstr "dziewiąta" + +#~ msgid "ten" +#~ msgstr "dziesiątej" + +#~ msgid "eleven" +#~ msgstr "jedenasta" + +#~ msgid "%(0)s o'clock" +#~ msgstr "Godzina %(0)s" + +#~ msgid "five past %(0)s" +#~ msgstr "pięć po %(0)s" + +#~ msgid "ten past %(0)s" +#~ msgstr "dziesięć po %(0)s" + +#~ msgid "quarter past %(0)s" +#~ msgstr "kwadrans po %(0)s" + +#~ msgid "twenty past %(0)s" +#~ msgstr "dwadzieścia po %(0)s" + +#~ msgid "twenty five past %(0)s" +#~ msgstr "za pięć wpół do %(0)s" + +# should be: +# wpół do %(1)s +# because in Polish it means "thirty to (hour)" and NOT "thirty after (hour)" poedit does not accept this :#: ../src/common/fuzzyclock.py:46 +#~ msgid "half past %(0)s" +#~ msgstr "wpół do %(0)s" + +#~ msgid "twenty five to %(1)s" +#~ msgstr "pięć po wpół do %(1)s" + +#~ msgid "twenty to %(1)s" +#~ msgstr "za dwadzieścia %(1)s" + +#~ msgid "quarter to %(1)s" +#~ msgstr "za kwadrans %(1)s" + +#~ msgid "ten to %(1)s" +#~ msgstr "za dziesięć %(1)s" + +#~ msgid "five to %(1)s" +#~ msgstr "za pięć %(1)s" + +#~ msgid "%(1)s o'clock" +#~ msgstr "godzina %(1)s" + +#~ msgid "Night" +#~ msgstr "Noc" + +#~ msgid "Early morning" +#~ msgstr "Wczesny poranek" + +#~ msgid "Morning" +#~ msgstr "rano" + +#~ msgid "Almost noon" +#~ msgstr "Prawie południe" + +#~ msgid "Noon" +#~ msgstr "w południe" + +#~ msgid "Afternoon" +#~ msgstr "Popołudnie" + +#~ msgid "Evening" +#~ msgstr "wieczorem" + +#~ msgid "Late evening" +#~ msgstr "Późny wieczór" + +#~ msgid "Start of week" +#~ msgstr "Początek tygodnia" + +#~ msgid "Middle of week" +#~ msgstr "Środek tygodnia" + +#~ msgid "End of week" +#~ msgstr "Koniec tygodnia" + +#~ msgid "Weekend!" +#~ msgstr "Weekend!" + +#, fuzzy +#~ msgid "" +#~ "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or " +#~ "0 to disable Fuzzy Clock. 1 is the most precise clock, 4 the least " +#~ "precise one. This is used only if 'print_time' is 'sometimes'." +#~ msgstr "" +#~ "Wartość \"niedokładności\" od 1 do 4 (0 wyłącza \"okołozegarek" +#~ "\" [fuzzyclock]). 1 oznacza najbardziej precyzyjne wskazania zegara, 4 " +#~ "najmniej dokładne. Ustawienie to brane jest pod uwagę jedynie wtedy, gdy " +#~ "opcja print_time ustawiona jest na 'sometimes'." + +#~ msgid "message" +#~ msgstr "wiadomość" + +#, fuzzy +#~ msgid "error: %s" +#~ msgstr "Błąd: %s" + +#, fuzzy +#~ msgid "Form: %s" +#~ msgstr "Od %s" + +#~ msgid "XML Input" +#~ msgstr "Wejście XML" + +#, fuzzy +#~ msgid "Ttitle" +#~ msgstr "Tytuł:" + +#~ msgid "%(type)s encryption is active %(authenticated)s" +#~ msgstr "%(type)s szyfrowanie jest aktywne %(authenticated)s" + +#, fuzzy +#~ msgid "Screen" +#~ msgstr "zielony" + +#, fuzzy +#~ msgid "Fake video output" +#~ msgstr "Wyjście video" + +#~ msgid "X Window System (X11/XShm/Xv): %s" +#~ msgstr "X Window System (X11/XShm/Xv): %s" + +#~ msgid "X Window System (without Xv)" +#~ msgstr "X Window System (bez Xv)" + +#, fuzzy +#~ msgid "V_ideo output device" +#~ msgstr "Wyjście video" + +#~ msgid "Conversation with " +#~ msgstr "Rozmowa z" + +#~ msgid "Continued conversation" +#~ msgstr "Kontynuacja rozmowy" + +#~ msgid "%s has invited you to join a discussion" +#~ msgstr "%s zaprasza cię do rozmowy" + +#~ msgid "_Send Private Message" +#~ msgstr "_Wyślij prywatną wiadomość" + +#, fuzzy +#~ msgid "Participant Actions" +#~ msgstr "Uczestnicy" + +#~ msgid "_Voice" +#~ msgstr "_Głos" + +#~ msgid "Mo_derator" +#~ msgstr "Mo_derator" + +#~ msgid "_Member" +#~ msgstr "_Uczestnik" + +#~ msgid "_Admin" +#~ msgstr "_Administrator" + +#~ msgid "_Owner" +#~ msgstr "_Właściciel" + +#, fuzzy +#~ msgid "_Add to Contact List" +#~ msgstr "_Dodaj kontakt..." + +#, fuzzy +#~ msgid "_Execute command" +#~ msgstr "_Wykonaj komendę" + +#~ msgid "Change _Nickname..." +#~ msgstr "Zmień pseudo_nim..." + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "_Nowa rozmowa grupowa" + +#~ msgid "Change _Subject..." +#~ msgstr "Zmień _temat..." + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "Dołącz do _pokoju" + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "_Nowa rozmowa grupowa" + +#~ msgid "_Minimize on close" +#~ msgstr "_Minimalizuj przy zamknięciu" + +#, fuzzy +#~ msgid "_Request Voice" +#~ msgstr "_Głos" + +#~ msgid "_Bookmark" +#~ msgstr "Dodaj _zakładkę dla tego pokoju" + +#, fuzzy +#~ msgid "The authenticity of the %s certificate could be invalid" +#~ msgstr "Nie można potwierdzić autentyczności certyfikatu %s." + +#~ msgid "" +#~ "\n" +#~ "Unknown SSL error: %d" +#~ msgstr "" +#~ "\n" +#~ "Nieznany błąd SSL: %d" + +#~ msgid "" +#~ "\n" +#~ "SSL Error: %s" +#~ msgstr "" +#~ "\n" +#~ "Błąd SSL: %s" + +#~ msgid "Error verifying SSL certificate" +#~ msgstr "Błąd podczas weryfikacji certyfikatu SSL" + +#, fuzzy +#~ msgid "View certificate…" +#~ msgstr "Pokaż certyfikat..." + +#, fuzzy +#~ msgid "Continue" +#~ msgstr "_Kontynuuj" + +#~ msgid "" +#~ "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM " +#~ "IS RUNNING)" +#~ msgstr "" +#~ "Czy chcesz wyczyścić bazę danych? (STANOWCZO ODRADZA SIĘ KORZYSTANIE Z " +#~ "TEJ OPCJI GDY GAJIM JEST URUCHOMIONY)" + +#, fuzzy +#~ msgid "Authorization" +#~ msgstr "Autoryzacja została wysłana" + +#, fuzzy +#~ msgid "" +#~ "All chat and group chat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Wszystkie otwarte zakładki rozmów i czatów zostaną zamknięte. Kontynuować?" + +#, fuzzy +#~ msgid "Account '%s' is still connected to the server" +#~ msgstr "Konto \"%s\" jest połączone z serwerem." + +#~ msgid "Error While Saving" +#~ msgstr "Wystąpił błąd podczas zapisywania" + +#~ msgid "" +#~ "Image cannot be saved in %(type)s format.\n" +#~ "Save as %(new_filename)s?" +#~ msgstr "" +#~ "Obraz nie może zostać zapisany w formacie %(type)s.\n" +#~ "Zapisać jako %(new_filename)s?" + +#~ msgid "Save _As" +#~ msgstr "Zapisz _jako" + +#~ msgid "Yes, I really want to connect insecurely" +#~ msgstr "Tak, na prawdę chce się połączyć w trybie niezaszyfrowanym" + +#~ msgid "Gajim will NOT connect unless you check this box" +#~ msgstr "Gajim nie nawiąże połączenia, jeżeli nie będzie zaznaczone to pole" + +#, fuzzy +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "Niepoprawny Jabber ID" + +#, fuzzy +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "Używane przez ciebie Jabber ID zawiera niedozwolone znaki." + +#~ msgid "You may specify a reason below:" +#~ msgstr "Podaj przyczynę:" + +#~ msgid "Banning %s" +#~ msgstr "Zabanuj %s" + +#, fuzzy +#~ msgid "" +#~ "Always ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Zapytaj przed zamknięciem karty/okna rozmowy grupowej, która prowadzona " +#~ "jest na każdym z pokojów wymienionych na liście (nazwy pokojów " +#~ "rozdzielone spacją)." + +#, fuzzy +#~ msgid "" +#~ "Never ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Nigdy nie pytaj przed zamknięciem karty/okna rozmowy grupowej, która " +#~ "prowadzona jest na dowolnym pokoju obecnym na tej liście (nazwy pokojów " +#~ "rozdzielone spacją)." + +#, fuzzy +#~ msgid "Leave Group Chats" +#~ msgstr "Opuść pokoje" + +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "%(nickname)s z pokoju %(room_jid)s" + +#, fuzzy +#~ msgid "You have not joined a group chat." +#~ msgstr "Nie dołączyłeś do pokoju." + +#, fuzzy +#~ msgid "You left the following group chats:" +#~ msgstr "Opuściłeś pokoje:" + +#, fuzzy +#~ msgid "" +#~ "Should automatic rejoin be activated when you were kicked from a group " +#~ "chat?" +#~ msgstr "" +#~ "Czy automatyczne, ponowne podłączenia ma być aktywne, kiedy zostałeś " +#~ "wyrzucony z konferencji?" + +#, fuzzy +#~ msgid "" +#~ "If disabled, Gajim will display a static event icon instead of the " +#~ "blinking status icon in the notification area when notifying about an " +#~ "event." +#~ msgstr "" +#~ "Jeżeli Fałsz, Gajim będzie wyświetlał statyczną ikonę zdarzenia, zamiast " +#~ "migającej w panelu powiadomień po wystąpieniu zdarzenia." + +#~ msgid "Don't show avatar for the transport itself." +#~ msgstr "Nie pokazuj awatarów transportów." + +#, fuzzy +#~ msgid "" +#~ "Show a confirmation dialog for a custom status? Empty string means never " +#~ "show the dialog." +#~ msgstr "" +#~ "Wyświetlać potwierdzenie statusu indywidualnego? Pusta linia oznacza, że " +#~ "potwierdzenie nie będzie wyświetlane." + +#, fuzzy +#~ msgid "" +#~ "If enabled, notification windows from notification-daemon will be " +#~ "attached to the notification area icon." +#~ msgstr "" +#~ "Po nadaniu wartości True okna powiadomień będą połączone z obszarem " +#~ "powiadomień." + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending PLAIN password over a plain " +#~ "connection." +#~ msgstr "Pokaż ostrzeżenie przed wysłaniem hasła nieszyfrowanym połączeniem." + +#, fuzzy +#~ msgid "Jabberd2 workaround." +#~ msgstr "Obejście dla Jabberd2" + +#, fuzzy +#~ msgid "Configure Services…" +#~ msgstr "Konfiguruj Usługi..." + +#, fuzzy +#~ msgid "Group Chat Bookmarks" +#~ msgstr "Pokój" + +#, fuzzy +#~ msgid "Add Bookmark" +#~ msgstr "Dodaj _zakładkę dla tego pokoju" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "Dodaj _zakładkę dla tego pokoju" + +#, fuzzy +#~ msgid "_Server" +#~ msgstr "_Serwer:" + +#, fuzzy +#~ msgid "Roo_m" +#~ msgstr "_Pokój" + +#, fuzzy +#~ msgid "_Password" +#~ msgstr "_Hasło:" + +#, fuzzy +#~ msgid "Join chat when connected" +#~ msgstr "Kontakt rozłączył się" + +#~ msgid "New Group Chat" +#~ msgstr "Nowa rozmowa grupowa" + +#~ msgid "This bookmark has invalid data" +#~ msgstr "Ta zakładka zawiera niepoprawne dane" + +#, fuzzy +#~ msgid "" +#~ "Please be sure to fill out server and group chat fields or remove this " +#~ "bookmark." +#~ msgstr "" +#~ "Upewnij się, że wypełniłeś pola serwer i pokój lub usuń tę zakładkę." + +#~ msgid "Character not allowed" +#~ msgstr "Niedozwolony znak" + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "Niepoprawny Jabber ID" + +#~ msgid "Unable to join group chat" +#~ msgstr "Nie można dołączyć do pokoju" + +#~ msgid "You are banned from group chat %s." +#~ msgstr "Zostałeś zbanowany w pokoju %s." + +#~ msgid "Remote server %s does not exist." +#~ msgstr "Serwer zdalny %s nie istnieje" + +#~ msgid "Group chat %s does not exist." +#~ msgstr "Pokój %s nie istnieje." + +#, fuzzy +#~ msgid "Group chat creation is not permitted." +#~ msgstr "Tworzenie pokoi jest ograniczone." + +#~ msgid "You must use your registered nickname in %s." +#~ msgstr "Twój zarejestrowany pseudonim musi być używany w pokoju %s." + +#, fuzzy +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "Nie jesteś na liście uczestników rozmów w pokoju %s." + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "To nie jest czat" + +#~ msgid "This is not a group chat" +#~ msgstr "To nie jest czat" + +#, fuzzy +#~ msgid "" +#~ "%(room_jid)s is already in your contact list. Please check if " +#~ "%(room_jid)s is a correct group chat name. If it is, delete it from your " +#~ "contact list and try joining the group chat again." +#~ msgstr "" +#~ "%(room_jid)s już jest w Twoim rosterze. Sprawdź, czy %(room_jid)s jest " +#~ "poprawną nazwą dla czatu grupowego. Jeżeli tak, skasuj go z rostera i " +#~ "spróbuj ponownie dołączyć." + +#, fuzzy +#~ msgid "Please choose a group chat" +#~ msgstr "Proszę wybrać pokój" + +#~ msgid "Invalid Nickname" +#~ msgstr "Niepoprawny pseudonim" + +#, fuzzy +#~ msgid "Wrong server" +#~ msgstr "Błędny adres URI" + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "To nie jest czat" + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit." +#~ msgstr "" +#~ "Ile linii żądać od serwera przy dołączaniu do czatu grupowego. -1 oznacza " +#~ "brak limitu" + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit." +#~ msgstr "" +#~ "Ile minut backloga żądać przy dołączania do czatu grupowego. -1 oznacza " +#~ "brak limitu" + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit, -2 means global value." +#~ msgstr "" +#~ "Ile linii żądać od serwera przy dołączaniu do czatu grupowego. -1 oznacza " +#~ "brak limitu" + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit, -2 means global value." +#~ msgstr "" +#~ "Ile minut backloga żądać przy dołączania do czatu grupowego. -1 oznacza " +#~ "brak limitu" + +#, fuzzy +#~ msgid "A Password is required to join the group chat %s. Please type it." +#~ msgstr "Aby dołączyć do pokoju %s wymagane jest hasło. Proszę je wpisać" + +#~ msgid "Not in Roster" +#~ msgstr "spoza listy kontaktów" + +#~ msgid "I would like to add you to my roster" +#~ msgstr "Chciałbym dodać Cię do listy kontaktów" + +#~ msgid "Add to Roster" +#~ msgstr "Dodaj do listy kontaktów" + +#, fuzzy +#~ msgid "Audio Session" +#~ msgstr "Test audio" + +#, fuzzy +#~ msgid "Manage Room" +#~ msgstr "Zarządzaj pokojem" + +#, fuzzy +#~ msgid "Configure Room" +#~ msgstr "Konfiguruj _pokój..." + +#, fuzzy +#~ msgid "Destroy Room" +#~ msgstr "_Zlikwiduj pokój" + +#, fuzzy +#~ msgid "Change Nick" +#~ msgstr "Zmień pseudo_nim..." + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "_Rozłącz" + +#~ msgid "Copy JID" +#~ msgstr "Kopiuj JID" + +#, fuzzy +#~ msgid "Add to Roster…" +#~ msgstr "Dodaj do listy kontaktów" + +#, fuzzy +#~ msgid "Copy JID/Email" +#~ msgstr "_Kopiuj JID/Adres e-mail" + +#, fuzzy +#~ msgid "JID: %s" +#~ msgstr "JID : %s" + +#~ msgid "Changing Subject" +#~ msgstr "Zmiana tematu" + +#~ msgid "Please specify the new subject:" +#~ msgstr "Wpisz nowy temat:" + +#~ msgid "Room logging is now enabled" +#~ msgstr "Logowanie rozmów prowadzonych w pokoju jest teraz włączone" + +#~ msgid "Room logging is now disabled" +#~ msgstr "Logowanie rozmów prowadzonych w pokoju jest teraz wyłączone" + +#, fuzzy +#~ msgid "You (%s) joined the room" +#~ msgstr "%s dołączył do pokoju" + +#~ msgid "Room logging is enabled" +#~ msgstr "Zapisywanie rozmów prowadzonych w pokoju jest włączone" + +#, fuzzy +#~ msgid "Unable to join groupchat" +#~ msgstr "Nie można dołączyć do pokoju" + +#~ msgid "Groupchat Invitation" +#~ msgstr "Zaproszenie na czat" + +#~ msgid "%(jid)s has been invited in this room" +#~ msgstr "%(jid)s został zaproszony w tym pokoju" + +#, fuzzy +#~ msgid "JID is not a Groupchat" +#~ msgstr "To nie jest czat" + +#~ msgid "Invalid JID" +#~ msgstr "Niepoprawny JID" + +#~ msgid "A connection is not available" +#~ msgstr "Połączenie jest niemożliwe" + +#, fuzzy +#~ msgid "JID already in list" +#~ msgstr "Ten JID jest już na liście" + +#~ msgid "Unsecure" +#~ msgstr "Niezabezpieczone" + +#, fuzzy +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "Połączenie jest niemożliwe" + +#~ msgid "Removes contact from roster" +#~ msgstr "Usuwa kontakt z listy kontaktów" + +#~ msgid "Not in roster" +#~ msgstr "Spoza listy kontaktów" + +#, fuzzy +#~ msgid "Contact signed in notification color." +#~ msgstr "_Pokaż zdarzenie w obszarze powiadomienia" + +#, fuzzy +#~ msgid "Contact signout notification color" +#~ msgstr "_Pokaż zdarzenie w obszarze powiadomienia" + +#, fuzzy +#~ msgid "File transfer request notification color." +#~ msgstr "Pytanie o przysłanie pliku" + +#, fuzzy +#~ msgid "File transfer error notification color." +#~ msgstr "Przesyłanie pliku anulowane" + +#, fuzzy +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "Gdy plik w całości zostanie przesłany, wyświetl okno powiadomienia" + +#, fuzzy +#~ msgid "Groupchat invitation notification color" +#~ msgstr "Zaproszenie na czat" + +#~ msgid "Other dialogs color." +#~ msgstr "Kolory innych teskstów." + +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "Dodać * i [n] do tytułu listy kontaktów?" + +#~ msgid "Hides the banner in two persons chat window" +#~ msgstr "Usuwa banner podczas rozmowy dwóch osób" + +#, fuzzy +#~ msgid "" +#~ "Show the confirm metacontacts creation dialog or not? Empty string means " +#~ "never show the dialog." +#~ msgstr "" +#~ "Czy program powinien potwierdzać za każdym razem utworzenie metakontaktu? " +#~ "Pusty ciąg spowoduje, że okno dialogowe nie będzie wyświetlane." + +#~ msgid "If true, You will also see your webcam" +#~ msgstr "Jeżeli Prawda, będziesz widział obraz ze swojej kamery" + +#~ msgid "Space separated list of ssl errors to ignore." +#~ msgstr "" +#~ "Lista błędów (rozdzielona spacjami) zawierająca wykaz błędów ssl, które " +#~ "program będzie ignorował." + +#~ msgid "Answer to receipt requests" +#~ msgstr "Odpowiedź na żądanie potwierdzenia" + +#, fuzzy +#~ msgid "Language for which misspelled words will be checked" +#~ msgstr "Język, którego używa słownik przy sprawdzaniu pisowni" + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "Jem. Zostaw wiadomość." + +#, fuzzy +#~ msgid "from room %s" +#~ msgstr " z pokoju %s" + +#~ msgid "Leave Groupchats" +#~ msgstr "Opuść pokoje" + +#, fuzzy +#~ msgid "Auto Join" +#~ msgstr "Połącz automatycznie" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "Pokój:" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#~ msgid "Occupant Actions" +#~ msgstr "Działania użytk_ownika" + +#~ msgid "_Add to Roster" +#~ msgstr "Dod_aj do listy kontaktów" + +#~ msgid "_Manage Room" +#~ msgstr "Zarządzaj pokojem" + +#~ msgid "Configure _Room..." +#~ msgstr "Konfiguruj _pokój..." + +#~ msgid "_Destroy Room" +#~ msgstr "_Zlikwiduj pokój" + +#~ msgid "Jabber ID" +#~ msgstr "Jabber ID" + +#, fuzzy +#~ msgid "account" +#~ msgstr "Konto" + +#, fuzzy +#~ msgid "Roster" +#~ msgstr "Pokaż _listę kontaktów" + +#~ msgid "Show only in roster" +#~ msgstr "Pokaż tylko na liście kontaktów" + +#~ msgid "in _roster" +#~ msgstr "w _liście kontaktów" + +#~ msgid "Roster Appearance" +#~ msgstr "Tożsamość na rosterze" + +#~ msgid "_Add to Roster..." +#~ msgstr "Dod_aj do listy kontaktów..." + +#~ msgid "_Jabber ID:" +#~ msgstr "_Jabber ID:" + +#, fuzzy +#~ msgid "_Jabber ID" +#~ msgstr "_Jabber ID:" + +#~ msgid "JabberID" +#~ msgstr "JID" + +#, fuzzy +#~ msgid "Show Roster" +#~ msgstr "Pokaż _listę kontaktów" + +#~ msgid "MUC server" +#~ msgstr "Serwer MUC" + +#~ msgid "Room Configuration" +#~ msgstr "Konfiguracja pokoju" + +#~ msgid "Join _Group Chat" +#~ msgstr "Dołącz do _pokoju" + +#~ msgid "Toggle audio session" +#~ msgstr "Przełącz sesję audio" + +#, fuzzy +#~ msgid "Audio sessions are not available" +#~ msgstr "Połączenie jest niemożliwe" + +#~ msgid "Conference" +#~ msgstr "Konferencja" + +#, fuzzy +#~ msgid "_Manage Bookmarks…" +#~ msgstr "Zarządzaj zakładkami" + +#~ msgid "Hide _Roster" +#~ msgstr "Ukryj _listę kontaktów" + +#~ msgid "Show _Roster" +#~ msgstr "Pokaż _listę kontaktów" + +#, fuzzy +#~ msgid "Invalid Room" +#~ msgstr "Niepoprawny pokój" + +#~ msgid "Invalid room" +#~ msgstr "Niepoprawny pokój" + +#~ msgid "A GTK+ Jabber client" +#~ msgstr "Klient Jabbera w GTK+" + +#~ msgid "Changing Nickname" +#~ msgstr "Zmiana pseudonimu" + +#~ msgid "Please specify the new nickname you want to use:" +#~ msgstr "Wpisz nowy pseudonim, którego chcesz używać:" + +#~ msgid "Bookmark already set" +#~ msgstr "Zakładka została już dodana" + +#, fuzzy +#~ msgid "Group Chat '%s' is already in your bookmarks." +#~ msgstr "Pokój \"%s\" jest już w Twoich zakładkach." + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "Zakładka została dodana" + +#, fuzzy +#~ msgid "" +#~ "You can manage your bookmarks by clicking the Bookmarks menu item in your " +#~ "contact list." +#~ msgstr "" +#~ "Możesz zarządzać zakładkami poprzez menu Działania w oknie kontaktów." + +#, fuzzy +#~ msgid "The nickname contains invalid characters." +#~ msgstr "Używany przez ciebie pseudonim zawiera niedozwolone znaki." + +#, fuzzy +#~ msgid "Bookmark Room" +#~ msgstr "_Dodaj zakładkę do tego pokoju" + +#~ msgid "_Join New Group Chat" +#~ msgstr "_Dołącz do pokoju" + +#~ msgid "Name:" +#~ msgstr "Nazwa:" + +#, fuzzy +#~ msgid "Description:" +#~ msgstr "Opis: " + +#, fuzzy +#~ msgid "Address:" +#~ msgstr "_Adres:" + +#, fuzzy +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "Nie możesz dołączyć do pokoju gdy nie jesteś połączony." + +#, fuzzy +#~ msgid "Occupants" +#~ msgstr "Działania użytk_ownika" + +#~ msgid "_Modify Account..." +#~ msgstr "_Modyfikuj konto..." + +#~ msgid "Boolean" +#~ msgstr "Zmienna logiczna" + +#~ msgid "Integer" +#~ msgstr "Liczba całkowita" + +#~ msgid "Text" +#~ msgstr "Tekst" + +#~ msgid "Value" +#~ msgstr "Wartość" + +#~ msgid "(None)" +#~ msgstr "(Brak)" + +#~ msgid "Hidden" +#~ msgstr "Ukryte" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "Zarządzaj Profilami Proxy" + +#~ msgid "Properties" +#~ msgstr "Właściwości" + +#, fuzzy +#~ msgid "Proxy _Port" +#~ msgstr "_Port Proxy" + +#~ msgid "New Groupchat" +#~ msgstr "Nowa rozmowa grupowa" + +#~ msgid "New Contact" +#~ msgstr "Dodaj nowy kontakt" + +#~ msgid "%s GiB" +#~ msgstr "%s GiB" + +#~ msgid "%s GB" +#~ msgstr "%s GB" + +#~ msgid "%s MiB" +#~ msgstr "%s MiB" + +#~ msgid "%s MB" +#~ msgstr "%s MB" + +#~ msgid "%s KiB" +#~ msgstr "%s KiB" + +#~ msgid "%s KB" +#~ msgstr "%s KB" + +#~ msgid "%s B" +#~ msgstr "%s B" + +#, fuzzy +#~ msgid "%s MiB/s" +#~ msgstr "%s MiB" + +#, fuzzy +#~ msgid "File transfer" +#~ msgstr "Przesyłane pliki" + +#, fuzzy +#~ msgid "Open _Containing Folder" +#~ msgstr "_Otwórz katalog zawierający ten plik" + +#, fuzzy +#~ msgid "Default:" +#~ msgstr "Domyślny" + +#~ msgid "Really quit Gajim?" +#~ msgstr "Na pewno zamknąć Gajima?" + +#~ msgid "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" +#~ msgstr "" +#~ "Nie będziesz już mógł wysyłać i odbierać wiadomości od kontaktów za " +#~ "pomocą następujących transportów: %s" + +#~ msgid "Contact \"%s\" will be removed from your roster" +#~ msgstr "Kontakt \"%s\" zostanie usunięty z Twojej listy kontaktów" + +#, fuzzy +#~ msgid "" +#~ "By removing this contact you also by default remove authorization " +#~ "resulting in them always seeing you as offline." +#~ msgstr "" +#~ "Usuwając kontakt usuniesz również autoryzację, co spowoduje, że kontakt " +#~ "będzie zawsze widział Cię jako rozłączonego." + +#~ msgid "Contacts will be removed from your roster" +#~ msgstr "Kontakty zostaną usunięte z twojej listy kontaktów" + +#~ msgid "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorization resulting in them always seeing you as " +#~ "offline." +#~ msgstr "" +#~ "Usuwając kontakty: %s\n" +#~ "cofniesz im również autoryzację, co spowoduje, że będziesz dla nich " +#~ "widoczny jako rozłączony." + +#, fuzzy +#~ msgid "Con_tinue" +#~ msgstr "_Kontynuuj" + +#~ msgid "_Pause" +#~ msgstr "_Zatrzymaj" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "Usuń przesyłanie tego pliku z listy." + +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "" +#~ "To działanie spowoduje usunięcie przesyłu pliku z listy. Jeśli jest on " +#~ "aktywnyto najpierw zostanie zatrzymany a dopiero potem usunięty" + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "Usuwa wybrany transfer pliku" + +#, fuzzy +#~ msgid "Hide the window" +#~ msgstr "Ukrywa okno" + +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "Gdy plik w całości zostanie przesłany, wyświetl okno powiadomienia" + +#~ msgid "From:" +#~ msgstr "Od:" + +#~ msgid "Subject:" +#~ msgstr "Temat:" + +#~ msgid "%s wants to send you a file:" +#~ msgstr "%s chce przesłać Ci plik:" + +#~ msgid "Name: " +#~ msgstr "Nazwa: " + +#~ msgid "Pause" +#~ msgstr "Zatrzymaj" + +#, fuzzy +#~ msgid "Execute Command" +#~ msgstr "_Wykonaj komendę" + +#~ msgid "Type: " +#~ msgstr "Typ: " + +#~ msgid "Transferred: " +#~ msgstr "Przesłane: " + +#~ msgid "Completed" +#~ msgstr "Ukończony" + +#~ msgid "Stalled" +#~ msgstr "Wygaszony" + +#~ msgid "Transferring" +#~ msgstr "Przesyłanie" + +#~ msgid "Not started" +#~ msgstr "Nie włączony" + +#, fuzzy +#~ msgid "%s day" +#~ msgid_plural "%s days" +#~ msgstr[0] "%i dni temu" +#~ msgstr[1] "%i dni temu" +#~ msgstr[2] "%i dni temu" + +#~ msgid "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Wszystkie otwarte zakładki rozmów i czatów zostaną zamknięte. Kontynuować?" + +#, fuzzy +#~ msgid "" +#~ "Your desired nickname in group chat\n" +#~ "%s\n" +#~ "is in use or registered by another occupant.\n" +#~ "Please specify another nickname below:" +#~ msgstr "" +#~ "Pożądany przez ciebie pseudonim jest używany lub zarejestrowany przez " +#~ "kogoś innego w pokoju %s.\n" +#~ "Podaj inny pseudonim:" + +#~ msgid "_Configure" +#~ msgstr "_Konfiguruj" + +#~ msgid "Change the avatar" +#~ msgstr "Zmień awatar" + +#~ msgid "" +#~ "Account in which the avatar will be set; if not specified, the avatar " +#~ "will be set for all accounts" +#~ msgstr "" +#~ "Konto, dla którego ma być ustawiony awatar; jeżeli nie jest określone, " +#~ "awatar zostanie ustawiony dla wszystkich kont" + +#~ msgid "add" +#~ msgstr "dodaj" + +#~ msgid "modify" +#~ msgstr "modyfikuj" + +#~ msgid "remove" +#~ msgstr "usuń" + +#, fuzzy +#~ msgid "" +#~ "If true, restored messages will use a smaller font than the default one." +#~ msgstr "" +#~ "Jeżeli opcja ustawiona jest na True, przywrócone wiadomości będą " +#~ "wyświetlane mniejszą czcionką." + +#, fuzzy +#~ msgid "Restored Message Color" +#~ msgstr "Wróć do kolorów _domyślnych" + +#, fuzzy +#~ msgid "" +#~ "You are going to remove this room permanently.\n" +#~ "You may specify a reason below:" +#~ msgstr "" +#~ "Zamierzasz całkowicie usunąć ten pokój. \n" +#~ "Poniżej możesz podać powód swojej decyzji:" + +#~ msgid "Send Cus_tom Status" +#~ msgstr "Wyślij odrębny status" + +#, fuzzy +#~ msgid "" +#~ "You are about to send a custom status. Are you sure you want to continue?" +#~ msgstr "Chcesz ustawić indywidualny status. Na pewno chcesz kontynuować?" + +#~ msgid "" +#~ "This contact will temporarily see you as %(status)s, but only until you " +#~ "change your status. Then they will see your global status." +#~ msgstr "" +#~ "Ten kontakt będzie tymczasowo Cię widzieć jako %(status)s, ale tylko do " +#~ "momentu zmiany statusu. Wtedy będą widzieć Twój globalny status." + +#, fuzzy +#~ msgid "" +#~ msgstr "Temat" + +#~ msgid "#" +#~ msgstr "Nr" + +#~ msgid "You are about to block a contact. Are you sure you want to continue?" +#~ msgstr "Czy na pewno chcesz zablokować kontakt?" + +#~ msgid "To:" +#~ msgstr "Do:" + +#~ msgid "0" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Reconnect when connection is lost" +#~ msgstr "Automatyczne połącz po zerwaniu połączenia" + +#, fuzzy +#~ msgid "Server Message Archive" +#~ msgstr "_Wyślij wiadomość do serwera..." + +#, fuzzy +#~ msgid "Message Carbons" +#~ msgstr "Wiadomości" + +#~ msgid "" +#~ "Sent chat state notifications. Can be one of all, composing_only, " +#~ "disabled." +#~ msgstr "" +#~ "Wysyłaj informacje o twoim statusie podczas prowadzenia rozmowy. Może " +#~ "przyjmować wartości all, composing_only, disabled." + +#, fuzzy +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "Zezwól na wysyłanie informacji o czasie mojej _bezczynności" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the idle time of your system" +#~ msgstr "" +#~ "Zaznaczenie tej opcji umożliwi innym wykrywanie jakiego systemu " +#~ "operacyjnego używasz" + +#, fuzzy +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "Zezwól na wysyłanie informacji o systemie _operacyjnym" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the local time on your system" +#~ msgstr "" +#~ "Zaznaczenie tej opcji umożliwi innym wykrywanie jakiego systemu " +#~ "operacyjnego używasz" + +#, fuzzy +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "Zezwól na wysyłanie informacji o systemie _operacyjnym" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the operating system you are " +#~ "using" +#~ msgstr "" +#~ "Zaznaczenie tej opcji umożliwi innym wykrywanie jakiego systemu " +#~ "operacyjnego używasz" + +#, fuzzy +#~ msgid "" +#~ "If checked, incoming events from unauthorized contacts will be ignored. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster." +#~ msgstr "" +#~ "Zaznacz tę opcję tylko jeśli ktoś spoza listy kontaktów nęka Cię " +#~ "wiadomościami. Stosuj ją ostrożnie, ponieważ powoduje ona blokowanie " +#~ "wszystkich wiadomości od osób, których nie masz na liście kontaktów" + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." +#~ msgstr "" +#~ "Gajim może wysyłać i odbierać meta-infomacje związane z prowadzoną " +#~ "rozmową. W tym miejscu możesz zdecydować, jakie dane chcesz wysyłać do " +#~ "rozmówcy." + +#, fuzzy +#~ msgid "S_end chat state notifications" +#~ msgstr "Rodzaje powiadomień wysyłanych podczas rozmowy:" + +#, fuzzy +#~ msgid "Login Options" +#~ msgstr "_Emotikony:" + +#~ msgid "Please wait while retrieving search form..." +#~ msgstr "Proszę czekać, trwa pobieranie formularza wyszukiwania..." + +#~ msgid "_Add contact" +#~ msgstr "Dodaj _kontakt" + +#~ msgid "Ad-hoc Commands - Gajim" +#~ msgstr "Komendy ad-hoc - Gajim" + +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "Proszę czekać, trwa pobieranie listy komend..." + +#~ msgid "Choose command to execute:" +#~ msgstr "Wybierz komendę do wykonania:" + +#~ msgid "Check once more" +#~ msgstr "Sprawdź ponownie" + +#, fuzzy +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "Proszę czekać, trwa wysyłanie komendy..." + +#~ msgid "This jabber entity does not expose any commands." +#~ msgstr "Ten obiekt Jabbera nie udostępnia żadnych komend." + +#, fuzzy +#~ msgid "F_inish" +#~ msgstr "_Zakończ" + +#~ msgid "Waiting for results" +#~ msgstr "Oczekiwanie na wyniki" + +#~ msgid "Error in received dataform" +#~ msgstr "Błąd w odebranych danych" + +#~ msgid "No result" +#~ msgstr "Brak wyników" + +#~ msgid "Failed to get secret keys" +#~ msgstr "Pobieranie kluczy prywatnych nie powiodło się" + +#~ msgid "There is no OpenPGP secret key available." +#~ msgstr "Brak tajnego klucza OpenPGP." + +#~ msgid "OpenPGP Key Selection" +#~ msgstr "Wybór klucza OpenPGP" + +#~ msgid "Choose your OpenPGP key" +#~ msgstr "Wybierz klucz OpenPGP" + +#~ msgid "KeyID" +#~ msgstr "Identyfikator klucza" + +#~ msgid "Contact name" +#~ msgstr "Nazwa kontaktu" + +#~ msgid "Formatting is not available so long as GPG is active" +#~ msgstr "Formatowanie nie jest dostępne tak długo, jak GPG jest aktywne" + +#, fuzzy +#~ msgid "OpenPGP is not usable" +#~ msgstr "GPG nie nadaje się do użycia" + +#~ msgid "Assign OpenPGP Key" +#~ msgstr "Przypisz klucz OpenPGP" + +#~ msgid "Select a key to apply to the contact" +#~ msgstr "Wybierz klucz, który chcesz przypisać kontaktowi" + +#, fuzzy +#~ msgid "" +#~ "You configured Gajim to use OpenPGP agent, but there is no OpenPGP agent " +#~ "running or it returned a wrong passphrase.\n" +#~ msgstr "" +#~ "Skonfigurowałeś Gajima by używał agenta GPG, ale agent nie jest " +#~ "uruchomiony lub zwraca błędne hasło.\n" + +#~ msgid "You are currently connected without your OpenPGP key." +#~ msgstr "Jesteś aktualnie połączony bez obsługi OpenPGP." + +#, fuzzy +#~ msgid "Wrong passphrase" +#~ msgstr "Błędne hasło" + +#, fuzzy +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "Błędne hasło" + +#~ msgid "Passphrase Required" +#~ msgstr "Wymagane hasło" + +#, fuzzy +#~ msgid "" +#~ "Enter OpenPGP key passphrase for key %(keyid)s (account %(account)s)." +#~ msgstr "Wprowadź hasło dla klucza GPG %(keyid)s (konto %(account)s)." + +#, fuzzy +#~ msgid "OpenPGP key expired" +#~ msgstr "Klucz GPG stracił ważność" + +#, fuzzy +#~ msgid "" +#~ "Your OpenPGP key has expired, you will be connected to %s without OpenPGP." +#~ msgstr "" +#~ "Twój klucz GPG stracił ważność, zostaniesz połączony z %s bez OpenGPG" + +#~ msgid "Wrong Passphrase" +#~ msgstr "Błędne hasło" + +#, fuzzy +#~ msgid "Please retype your OpenPGP passphrase or press Cancel." +#~ msgstr "" +#~ "Proszę ponownie wprowadzić swoje hasło GPG lub kliknąć przycisk Anuluj." + +#~ msgid "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Wysyła nową wiadomość do kontaktu z listy. Zarówno klucz OpenPGP jak i " +#~ "konto nie są wymagane. Jeśli chcesz ustawić jedynie 'konto' bez 'klucza " +#~ "OpenPGP', to ustaw 'klucz OpenPGP' na ''." + +#~ msgid "if specified, the message will be encrypted using this public key" +#~ msgstr "" +#~ "jeśli jest podany, to wiadomość zostanie zaszyfrowana tym kluczem " +#~ "publicznym" + +#, fuzzy +#~ msgid "" +#~ "Sends a chat message to someone on your roster. Optionally with OpenPGP " +#~ "key and account. If you want to only set the latter, set OpenPGP key to " +#~ "\"\"." +#~ msgstr "" +#~ "Wysyła nową wiadomość do kontaktu z listy. Zarówno klucz OpenPGP jak i " +#~ "konto nie są wymagane. Jeśli chcesz ustawić jedynie 'konto' bez 'klucza " +#~ "OpenPGP', to ustaw 'klucz OpenPGP' na ''." + +#~ msgid "" +#~ "If disabled, don't sign presences with GPG key, even if GPG is configured." +#~ msgstr "" +#~ "Po wyłączeniu tej opcji, Gajim nie podpisuje komunikatów o stanach " +#~ "kluczem GPG, nawet jeśli GPG jest skonfigurowany." + +#, fuzzy +#~ msgid "OpenPGP:" +#~ msgstr "OpenPGP: " + +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "Przypisz klucz Open_PGP..." + +#, fuzzy +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "Szyfrowanie OpenPGP" + +#, fuzzy +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "Możliwość Szyfrowania wiadomości kluczami GPG." + +#, fuzzy +#~ msgid "Requires: gpg and python-gnupg (%(url)s)" +#~ msgstr "Wymaga GPG oraz python-gnupg (%(url)s)." + +#, fuzzy +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "Wymaga GPG.exe w ścieżce." + +#, fuzzy +#~ msgid "Use PGP Agent" +#~ msgstr "Użyj Agenta G_PG" + +#, fuzzy +#~ msgid "OpenPGP Key" +#~ msgstr "Przypisz klucz OpenPGP" + +#~ msgid "Cancel confirmation" +#~ msgstr "Cofnij potwierdzenie" + +#~ msgid "" +#~ "You are in process of executing command. Do you really want to cancel it?" +#~ msgstr "" +#~ "Jesteś w trakcie wykonywania komendy. Czy na pewno chcesz ją przerwać?" + +#~ msgid "Service sent malformed data" +#~ msgstr "Usługa wysłała niepoprawne dane" + +#~ msgid "Service changed the session identifier." +#~ msgstr "Klient na %s anulował negocjację sesji" + +#, fuzzy +#~ msgid "%s - Ad-hoc Commands - Gajim" +#~ msgstr "Komendy ad-hoc - Gajim" + +#~ msgid "Service returned an error." +#~ msgstr "Usługa zwróciła komunikat błędu." + +#~ msgid "You are invited to a groupchat" +#~ msgstr "Jestes zaproszony do rozmowy grupowej" + +#~ msgid "_Start Chat" +#~ msgstr "_Rozpocznij rozmowę" + +#~ msgid "Au_thorize" +#~ msgstr "_Autoryzuj" + +#~ msgid "Really send file?" +#~ msgstr "Na pewno wysłać ten plik?" + +#~ msgid "You are currently connected to the server" +#~ msgstr "Jesteś połączony z serwerem" + +#~ msgid "To disable the account, you must be disconnected." +#~ msgstr "Aby wyłączyć konto, musisz się rozłączyć." + +#~ msgid "Do you wish to delete all correspondence with %(jid)s?" +#~ msgstr "Czy chcesz usunąć całą korespondencję z %(jid)s?" + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with the selected contacts?" +#~ msgstr "Czy na pewno chcesz usunąć historię rozmów wybranego kontaktu?" + +#, fuzzy +#~ msgid "This can not be undone." +#~ msgstr "Nie można odnaleźć usługi" + +#~ msgid "What do you want to do?" +#~ msgstr "Co chcesz zrobić?" + +#~ msgid "" +#~ "List of colors, separated by \":\", that will be used to color nicknames " +#~ "in group chats." +#~ msgstr "" +#~ "Lista kolorów, oddzielonych \":\", które używane będą do kolorowania " +#~ "nicków w oknach czatu." + +#~ msgid "You have received new entries (and %d not displayed):" +#~ msgid_plural "You have received new entries (and %d not displayed):" +#~ msgstr[0] "Otrzymano nowe wpisy (i %d nie wyświetlony):" +#~ msgstr[1] "Otrzymano nowe wpisy (i %d nie wyświetlone):" +#~ msgstr[2] "Otrzymano nowe wpisy (i %d nie wyświetlonych):" + +#~ msgid "Stopped" +#~ msgstr "Zatrzymany" + +#~ msgid "" +#~ "You are about to send your password on an insecure connection. You should " +#~ "install PyOpenSSL to prevent that. Are you sure you want to do that?" +#~ msgstr "" +#~ "Zamierzasz wysłać hasło wykorzystując niezabezpieczone połączenie. " +#~ "Powinieneś zainstalować PyOpenSSL by temu zapobiec. Czy jesteś pewien?" + +#, fuzzy +#~ msgid "Status messages displayed in chat window" +#~ msgstr "Wyślij wiadomość i zamknij okno" + +#~ msgid "?print_status:All" +#~ msgstr "?print_status:Wszystkie" + +#~ msgid "Enter and leave only" +#~ msgstr "Jedynie wejdź i wyjdź" + +#~ msgid "?print_status:None" +#~ msgstr "?print_status:Żaden" + +#, fuzzy +#~ msgid "Untrusted OpenPGP key" +#~ msgstr "Wybierz klucz OpenPGP" + +#, fuzzy +#~ msgid "" +#~ "The OpenPGP key used to encrypt this chat is not trusted. Do you really " +#~ "want to encrypt this message?" +#~ msgstr "" +#~ "Klucz GPG używany do szyfrowania tej rozmowy nie jest zaufany. Czyn " +#~ "naprawdę chcesz zaszyfrować tą wiadomość?" + +#~ msgid "D-Bus python bindings are missing in this computer" +#~ msgstr "Na tym komputerze brakuje pythonowych dowiązań do D-Bus." + +#~ msgid "D-Bus capabilities of Gajim cannot be used" +#~ msgstr "Nie można użyć D-Bus." + +#~ msgid "D-Bus does not run correctly on this machine" +#~ msgstr "D-Bus nie działa prawidłowo na tym komputerze" + +#, fuzzy +#~ msgid "D-Bus does not run correctly on this machine: system bus not present" +#~ msgstr "" +#~ "D-Bus nie działa prawidłowo na tym komputerze: brak demona systemowego " +#~ "(system bus)" + +#, fuzzy +#~ msgid "" +#~ "D-Bus does not run correctly on this machine: session bus not present" +#~ msgstr "" +#~ "D-Bus nie działa prawidłowo na tym komputerze: brak demona sesji (session " +#~ "bus)" + +#, fuzzy +#~ msgid "Command line Control" +#~ msgstr "Linia poleceń" + +#, fuzzy +#~ msgid "Enables you to control Gajim with via commandline" +#~ msgstr "Skrypt pozwalający na sterowanie Gajimem z linii poleceń." + +#~ msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +#~ msgstr "%(nick)s został wyrzucony przez %(who)s: %(reason)s" + +#~ msgid "%(nick)s has been banned by %(who)s: %(reason)s" +#~ msgstr "%(nick)s został zabanowany przez %(who)s: %(reason)s" + +#~ msgid "system shutdown" +#~ msgstr "zamknięcie systemu" + +#~ msgid "** Role of %(nick)s has been set to %(role)s" +#~ msgstr "** Uprawnienia użytkownika %(nick)s została zmienione na %(role)s" + +#~ msgid "%s has left" +#~ msgstr "%s wychodzi" + +#, fuzzy +#~ msgid "%s is full" +#~ msgstr "Czcionka" + +#, fuzzy +#~ msgid "" +#~ "Can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no " +#~ "longer print status line in groupchats when a member changes their status " +#~ "and/or their status message. If \"all\" Gajim will print all status " +#~ "messages. If \"in_and_out\", Gajim will only print FOO enters/leaves " +#~ "group chat." +#~ msgstr "" +#~ "Zmienna przybiera wartości \"none\", \"all\" oraz \"in_and_out\". W " +#~ "przypadku ustawienia \"none\", Gajim nie będzie już powiadamiał o zmianie " +#~ "statusu (lub opisu stanu) przez innego użytkownika czatu. \"all\" " +#~ "spowoduje wyświetlanie wszystkich wiadomości o statusie każdego " +#~ "użytkownika. Wybranie \"in_and_out\" nakazuje programowi wyświetlanie " +#~ "jedynie informacji o wejściu użytkownika do pokoju lub jego opuszczeniu." + +#, fuzzy +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "Wyświetlaj _opisy statusu kontaktu na liście kontaktów" + +#~ msgid "" +#~ "You are about to send your password unencrypted on an insecure " +#~ "connection. Are you sure you want to do that?" +#~ msgstr "" +#~ "Zamierzasz wysłać swoje hasło wykorzystując niezabezpieczone połączenie. " +#~ "Jesteś pewien, że chcesz to zrobić?" + +#, fuzzy +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "Używaj autoryzacji serwera proxy" + +#, fuzzy +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "Anonimowa autentykacja" + +#, fuzzy +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "redirect_url z autoryzacji Oauth2" + +#~ msgid "" +#~ "Displayed chat state notifications in chat windows. Can be one of all, " +#~ "composing_only, disabled." +#~ msgstr "" +#~ "Informacje o statusie rozmówcy wyświetlane w oknie rozmowy. Przyjmuje " +#~ "wartości all, composing_only, disabled." + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." +#~ msgstr "" +#~ "Gajim może wysyłać i odbierać meta-infomacje związane z prowadzoną " +#~ "rozmową. W tym miejscu możesz zdecydować, które z tych danych chcesz " +#~ "wyświetlać w oknie rozmowy." + +#~ msgid "This is an irreversible operation." +#~ msgstr "Skutków tej operacji nie można będzie wycofać." + +#~ msgid "Settings" +#~ msgstr "Ustawienia" + +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "Witaj w menedżerze historii rozmów Gajima" + +#~ msgid "Member List" +#~ msgstr "_Lista uczestników" + +#~ msgid "Owner List" +#~ msgstr "_Lista właścicieli" + +#~ msgid "Administrator List" +#~ msgstr "_Administratorzy" + +#~ msgid "Nick" +#~ msgstr "Nick" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "Którego użytkownika chcesz zablokować?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Member…" +#~ msgstr "Dodaję członka..." + +#~ msgid "" +#~ "Whom do you want to make a member?\n" +#~ "\n" +#~ msgstr "" +#~ "Status którego użytkownika chcesz zmienić?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Owner…" +#~ msgstr "Dodaję właściciela..." + +#~ msgid "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" +#~ msgstr "" +#~ "Którego użytkownika chcesz uczynić właścicielem pokoju?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Administrator…" +#~ msgstr "Dodaję administratora..." + +#~ msgid "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" +#~ msgstr "" +#~ "Którego użytkownika chcesz uczynić administratorem?\n" +#~ "\n" + +#~ msgid "Error reading file:" +#~ msgstr "Błąd odczytu pliku:" + +#~ msgid "Error parsing file:" +#~ msgstr "Błąd przetwarzania pliku:" + +#~ msgid "List of possible features in Gajim:" +#~ msgstr "Lista możliwych funkcjonalności Gajima:" + +#~ msgid "Description" +#~ msgstr "Opis" + +#~ msgid "Password encryption" +#~ msgstr "Hasło" + +#~ msgid "Spellchecking of composed messages." +#~ msgstr "Zwraca uwagę na błędy w wysyłanych wiadomościach." + +#~ msgid "Automatic status" +#~ msgstr "Automatyczny status" + +#~ msgid "Requires python2.5." +#~ msgstr "Wymaga python2.5" + +#~ msgid "" +#~ "Generate XHTML output from RST code (see http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Tworzy XHTML z kodu RST (patrz http://docutils.sourceforge.net/docs/ref/" +#~ "rst/restructuredtext.html)." + +#~ msgid "UPnP-IGD" +#~ msgstr "UPnP-IGD" + +#~ msgid "?features:Available" +#~ msgstr "Dostępny" + +#~ msgid "Feature" +#~ msgstr "Możliwości" + +#~ msgid "Filter:" +#~ msgstr "Filtr:" + +#~ msgid "Chat Appearance" +#~ msgstr "Tożsamość na czacie" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed out" +#~ msgstr "" +#~ "Gajim powiadomi automatycznie przy pomocy okna w prawym dolnym rogu o " +#~ "kontaktach które zmieniają status na Rozłączony" + +#~ msgid "Sounds" +#~ msgstr "Dźwięki" + +#~ msgid "Chat state notifications" +#~ msgstr "Powiadomienia o stanie" + +#, fuzzy +#~ msgid "_Away after" +#~ msgstr "Automatyczny status '_Zaraz wracam' po:" + +#~ msgid "" +#~ "If checked, Gajim will change status to Away when the computer is unused." +#~ msgstr "" +#~ "Uaktywnienie tej opcji spowoduje, że Gajim będzie zmieniał status na " +#~ "Zaraz wracam gdy komputer nie będzie używany." + +#, fuzzy +#~ msgid "_Not available after" +#~ msgstr "Automatyczny status '_Nieobecny' po:" + +#~ msgid "Auto Status" +#~ msgstr "Automatyczny status" + +#~ msgid "Status Messages" +#~ msgstr "Opisy statusu" + +#~ msgid "Audio" +#~ msgstr "Audio" + +#~ msgid "Video" +#~ msgstr "Video" + +#, fuzzy +#~ msgid "(example: stun.iptel.org)" +#~ msgstr "(przykład: serwerstun.org)" + +#~ msgid "Connection" +#~ msgstr "Połączenie" + +#~ msgid "Custom" +#~ msgstr "Własne" + +#~ msgid "Privacy" +#~ msgstr "Prywatność" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "Edytor zaawansowanych konfiguracji" + +#, fuzzy +#~ msgid "Audio / video conferences" +#~ msgstr "Audio / Video" + +#, fuzzy +#~ msgid "File transfer, room bookmarks" +#~ msgstr "Błąd przesyłania pliku" + +#, fuzzy +#~ msgid "XML console interface" +#~ msgstr "Konsola XML" + +#, fuzzy +#~ msgid "" +#~ "A programming error has been detected. It probably is not fatal, but " +#~ "should be reported to the developers nonetheless." +#~ msgstr "" +#~ "Nie jest prawdopodnie krytyczny, ale powinien zostać mimo to zgłoszony " +#~ "deweloperom." + +#~ msgid "" +#~ "A list of modp groups to use in a Diffie-Hellman, highest preference " +#~ "first, separated by commas. Valid groups are 1, 2, 5, 14, 15, 16, 17 and " +#~ "18. Higher numbers are more secure, but take longer to calculate when you " +#~ "start a session." +#~ msgstr "" +#~ "Lista modp-grup wykorzystywany w Diffie-Hellman, najwyższa preferencja " +#~ "jest pierwsza, oddzielonych przecinkiem. Odpowiednie grupy to 1, 2, 5, " +#~ "14, 15, 16, 17 i 18. Wyższy numery są bardziej bezpiecznie, lecz " +#~ "obliczanie zajmie więcej czasu podczas rozpoczynania sesji." + +#~ msgid "(ESession info)" +#~ msgstr "Opis" + +#~ msgid "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" +#~ msgstr "" +#~ "Zaznaczenie tej opcji spowoduje zastąpienie emotikon tekstowych jak ':)' " +#~ "emotikonami graficznymi" + +#, fuzzy +#~ msgid "_Emoticons" +#~ msgstr "_Emotikony:" + +#~ msgid "_Highlight misspelled words" +#~ msgstr "Podś_wietlaj błędy w pisowni" + +#, fuzzy +#~ msgid "Notify by icon when your messages are received" +#~ msgstr "Dźwięk, jaki będzie odtwarzany, gdy nadejdzie wiadomość MUC." + +#, fuzzy +#~ msgid "T_heme" +#~ msgstr "_Motyw:" + +#~ msgid "Themes" +#~ msgstr "Tematy" + +#~ msgid "Always use this nickname when there is a conflict" +#~ msgstr "W przypadku konfliktu zawsze używaj tego pseudonimu" + +#~ msgid "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." +#~ msgstr "" +#~ "Demon Jabberd1.4 nie toleruje wysyłania \"sha info\" podczas wchodzenia " +#~ "do pokoju chronionego hasłem. Ustaw tą opcję na False aby zabronić " +#~ "Gajimowi wysyłania takiej informacji." + +#, fuzzy +#~ msgid "Presence" +#~ msgstr "_Obecność" + +#~ msgid "Emoticons disabled" +#~ msgstr "Emotoikony wyłączone" + +#, fuzzy +#~ msgid "" +#~ "Your configured emoticons theme could not be loaded. See the log for more " +#~ "details." +#~ msgstr "" +#~ "Wybrany przez ciebie styl emotikonów nie został znaleziony, emotikony " +#~ "będą wyłączone." + +#~ msgid "You cannot make changes to the default theme" +#~ msgstr "Nie możesz dokonywać zmian w obecnie używanym motywie" + +#~ msgid "theme name" +#~ msgstr "nazwa motywu" + +#~ msgid "You cannot delete your current theme" +#~ msgstr "Nie możesz skasować obecnie używanego motywu" + +#~ msgid "New Single Message from %(nickname)s" +#~ msgstr "Nowa wiadomość od %(nickname)s" + +#~ msgid "New Private Message from group chat %s" +#~ msgstr "Nowa wiadomość prywatna z pokoju %s" + +#~ msgid "%(nickname)s: %(message)s" +#~ msgstr "%(nickname)s: %(message)s" + +#~ msgid "Messaged by %(nickname)s" +#~ msgstr "Nowa wiadomość od %(nickname)s" + +#~ msgid "Status message text color." +#~ msgstr "Kolor tekstu opisu." + +#~ msgid "Incoming nickname font." +#~ msgstr "Czcionka pseudonimu przychodzącego." + +#~ msgid "Outgoing nickname font." +#~ msgstr "Czcionka wychodzącego pseudonimu." + +#~ msgid "Status message text font." +#~ msgstr "Czcionka opisu." + +#~ msgid "Background color of contacts when they just signed in." +#~ msgstr "Kolor tła dla logujących się kontaktów." + +#~ msgid "Background color of contacts when they just signed out." +#~ msgstr "Kolor tła dla kontaktów w trakcie wylogowywania." + +#~ msgid "green" +#~ msgstr "zielony" + +#~ msgid "grocery" +#~ msgstr "grocery" + +#~ msgid "human" +#~ msgstr "human" + +#~ msgid "marine" +#~ msgstr "morski" + +#, fuzzy +#~ msgid "Contact row" +#~ msgstr "Kontakt" + +#~ msgid "Gajim Themes Customization" +#~ msgstr "Wybieranie motywów dla Gajim" + +#~ msgid "Text _color:" +#~ msgstr "_Kolor tekstu:" + +#~ msgid "_Background:" +#~ msgstr "_Tło:" + +#~ msgid "Text _font:" +#~ msgstr "_Czcionka tekstu:" + +#~ msgid "Font style:" +#~ msgstr "Styl czcionki:" + +#~ msgid "Paused" +#~ msgstr "Zatrzymany" + +#~ msgid "Gone" +#~ msgstr "Zniknął" + +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "" +#~ "MUC\n" +#~ "Wiadomości" + +#~ msgid "Chatstate Tab Colors" +#~ msgstr "Kolory kart w oknie czatu" + +#, fuzzy +#~ msgid "Chat message" +#~ msgstr "Wiadomość:" + +#~ msgid "Use system _default" +#~ msgstr "Użyj _domyślnej dla systemu" + +#~ msgid "Font" +#~ msgstr "Czcionka" + +#, fuzzy +#~ msgid "Contact's nickname" +#~ msgstr "Pseudonim kontaktu:" + +#, fuzzy +#~ msgid "_Status message" +#~ msgstr "_Informacja o statusie:" + +#, fuzzy +#~ msgid "Your message" +#~ msgstr "Twoja wiadomość:" + +#, fuzzy +#~ msgid "_URL highlight" +#~ msgstr "_Podświetlanie URL:" + +#~ msgid "Chat Line Colors" +#~ msgstr "Kolory wierszy czatu" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#~ msgid "Resource:" +#~ msgstr "Zasób::" + +#~ msgid "Status:" +#~ msgstr "Status:" + +#~ msgid "Client:" +#~ msgstr "Klient:" + +#~ msgid "Contact time:" +#~ msgstr "Czas u niego/niej:" + +#~ msgid "Ask:" +#~ msgstr "Pytaj:" + +#~ msgid "Subscription:" +#~ msgstr "Subskrybcja:" + +#~ msgid "Name:" +#~ msgstr "Imię:" + +#~ msgid "Nickname:" +#~ msgstr "Pseudonim:" + +#~ msgid "Street:" +#~ msgstr "Ulica:" + +#~ msgid "City:" +#~ msgstr "Miasto:" + +#~ msgid "State:" +#~ msgstr "Województwo:" + +#~ msgid "Extra Address:" +#~ msgstr "Dodatkowy adres:" + +#~ msgid "Postal Code:" +#~ msgstr "Kod pocztowy:" + +#~ msgid "Country:" +#~ msgstr "Kraj:" + +#~ msgid "Homepage:" +#~ msgstr "Strona domowa:" + +#~ msgid "E-Mail:" +#~ msgstr "Adres e-mail:" + +#~ msgid "Phone No.:" +#~ msgstr "Telefon:" + +#~ msgid "Birthday:" +#~ msgstr "Data urodzenia:" + +#~ msgid "Family:" +#~ msgstr "Nazwisko:" + +#~ msgid "Middle:" +#~ msgstr "Drugie imię:" + +#~ msgid "Prefix:" +#~ msgstr "Prefiks:" + +#~ msgid "Given:" +#~ msgstr "Imię:" + +#~ msgid "Suffix:" +#~ msgstr "Sufiks:" + +#~ msgid "Full Name" +#~ msgstr "Imię i nazwisko" + +#~ msgid "Company:" +#~ msgstr "Firma:" + +#~ msgid "Department:" +#~ msgstr "Dział:" + +#~ msgid "Position:" +#~ msgstr "Stanowisko:" + +#~ msgid "Role:" +#~ msgstr "Rola:" + +#~ msgid "- messages will be logged" +#~ msgstr "- wiadomości będzie logowanych" + +#~ msgid "- messages will not be logged" +#~ msgstr "- wiadomości nie będzie logowanych" + +#~ msgid "Edit %s" +#~ msgstr "Modyfikuj %s" + +#~ msgid "Conversation History with %s" +#~ msgstr "Historia rozmowy z %s" + +#~ msgid "Contact with \"%s\" cannot be established" +#~ msgstr "Nie można ustanowić połączenia z \"%s\"" + +#~ msgid "Registration information for transport %s has not arrived in time" +#~ msgstr "Informacje rejestracyjne transportu %s nie dotarły na czas" + +#~ msgid "Register to" +#~ msgstr "Zarejestruj w" + +#, fuzzy +#~ msgid "Enter name / JID of contact or groupchat" +#~ msgstr "Wpisz JID lub nazwę kontaktu" + +#~ msgid "Search:" +#~ msgstr "Szukaj" + +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "Nie możesz zmienić hasła, jeśli nie jesteś połączony." + +#~ msgid "Invalid password" +#~ msgstr "Niepoprawne hasło" + +#~ msgid "The passwords typed in both fields must be identical." +#~ msgstr "Hasła wpisane w obydwu polach muszą być identyczne." + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "Wpisz ponownie nowe hasło:" + +#~ msgid "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" +#~ msgstr "" +#~ "Jid %s nie jest kompatybilny z RFC. Nie zostanie dodany do listy " +#~ "kontaktów. Skorzystaj z narzędzi do zarządzania listą kontaktów, takich " +#~ "jak http://jru.jabberstudio.org/ aby go usunąć" + +#~ msgid "unsubscribe request from %s" +#~ msgstr "Prośba o cofnięcie autoryzacji od %s" + +#~ msgid "<empty>" +#~ msgstr "<empty>" + +#~ msgid "Homepage:" +#~ msgstr "Strona domowa:" + +#~ msgid "Manage Bookmarks" +#~ msgstr "Zarządzaj zakładkami" + +#~ msgid "_Nickname:" +#~ msgstr "_Pseudonim:" + +#, fuzzy +#~ msgid "Pr_int status:" +#~ msgstr "Wyświetlaj status:" + +#, fuzzy +#~ msgid "Add JID" +#~ msgstr "Jabber ID" + +#, fuzzy +#~ msgid "Preference:" +#~ msgstr "Ustawienia" + +#, fuzzy +#~ msgid "Preference" +#~ msgstr "Ustawienia" + +#~ msgid "JID:" +#~ msgstr "JID: " + +#, fuzzy +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "Wypełnij informacje o kontakcie, który chcesz dodać do konta %s" + +#~ msgid "Please fill in the data of the contact you want to add" +#~ msgstr "Wypełnij informacje o kontakcie, który chcesz dodać" + +#, fuzzy +#~ msgid "Recently" +#~ msgstr "Ostatnio:" + +#~ msgid "Add New Contact" +#~ msgstr "Dodaj nowy kontakt" + +#~ msgid "_User ID:" +#~ msgstr "_Identyfikator użytkownika:" + +#, fuzzy +#~ msgid "Type User ID" +#~ msgstr "ID uzytkownika:" + +#, fuzzy +#~ msgid "Type Nickname" +#~ msgstr "Pseudonim" + +#~ msgid "Personal Information" +#~ msgstr "Informacje osobiste" + +#~ msgid "Avatar:" +#~ msgstr "Awatar:" + +#~ msgid "Click to set your avatar" +#~ msgstr "Kliknij aby ustawić avatar" + +#, fuzzy +#~ msgid "Remove Avatar" +#~ msgstr "Usuń grupę" + +#~ msgid "Not fetched because of invisible status" +#~ msgstr "Nie wysłano z powodu statusu 'niewidoczny'" + +#~ msgid "Please wait..." +#~ msgstr "Proszę czekać..." + +#~ msgid "" +#~ "When negotiating an encrypted session, should Gajim assume you want your " +#~ "messages to be logged?" +#~ msgstr "" +#~ "Czy podczas negocjowania szyfrowanej sesji Gajim ma przyjąć, że chcesz ją " +#~ "logować?" + +#~ msgid "Log _encrypted chat session" +#~ msgstr "Loguj _zaszyfrowane wiadomości" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will keep logs for encrypted messages. Please note that " +#~ "when using end-to-end encryption the remote party has to agree on " +#~ "logging, else the messages will not be logged." +#~ msgstr "" +#~ "Po uaktywnieniu tej opcji, Gajim będzie logował wiadomości zaszyfrowane " +#~ "przez GPG oraz E2E. W przypadku E2E zgodę na logowanie wyrazić musi " +#~ "rozmówca. Jeżeli zgoda nie zostanie udzielona, wiadomości NIE BĘDĄ " +#~ "logowane." + +#~ msgid "Yahoo! Address:" +#~ msgstr "Adres _Yahoo:" + +#~ msgid "Forward unread messages" +#~ msgstr "Prześlij dalej nieprzeczytane wiadomości" + +#~ msgid "All unread messages have been forwarded." +#~ msgstr "Wszystkie nieprzeczytane wiadomości zostały przesłane dalej." + +#, fuzzy +#~ msgid "Forward unread message then disconnect" +#~ msgstr "Prześlij dalej nieprzeczytane wiadomości" + +#~ msgid "MSN Address:" +#~ msgstr "_Adres MSN:" + +#~ msgid "Confirm these session options" +#~ msgstr "Potwierdź opcje sesji" + +#, fuzzy +#~ msgid "" +#~ "The remote client wants to negotiate a session with these features:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Are these options acceptable?" +#~ msgstr "" +#~ "Zdalny klient chce przeprowadzić negocjację sesji z poniższymi " +#~ "ustawieniami:\n" +#~ "\n" +#~ "\t\t%s\n" +#~ "\n" +#~ "\t\tCzy akceptujesz te ustawienia?" + +#~ msgid "" +#~ "The remote client selected these options:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Continue with the session?" +#~ msgstr "" +#~ "Zdalny kilent wybrał następujące opcje:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Kontynuować?" + +#, fuzzy +#~ msgid "Always accept for this contact" +#~ msgstr "Czy OpenPGP jest włączone dla tego kontaktu?" + +#~ msgid "End to End message encryption" +#~ msgstr "Szyfrowanie typu \"end to end\"" + +#~ msgid "Encrypting chat messages." +#~ msgstr "Szyfrowanie wysyłanych wiadomości." + +#~ msgid "Requires python-crypto." +#~ msgstr "Wymaga python-crypto." + +#~ msgid "Session negotiation cancelled" +#~ msgstr "Negocjowanie sesji zostało przerwane" + +#, fuzzy +#~ msgid "This session WILL NOT be archived on server" +#~ msgstr "Ta sesja NIE BĘDZIE archiwizowana na serwerze" + +#~ msgid "This session is encrypted" +#~ msgstr "[Ta wiadomość jest zaszyfrowana]" + +#~ msgid " and WILL be logged" +#~ msgstr "i BĘDZIE logowana" + +#~ msgid " and WILL NOT be logged" +#~ msgstr "i NIE BĘDZIE logowana" + +#~ msgid "" +#~ "Remote contact's identity not verified. Click the shield button for more " +#~ "details." +#~ msgstr "" +#~ "Tożsamość zdalnego rozmówny nie jest zweryfikowana. Kliknij na przycisk " +#~ "tarczy po więcej szczegółów." + +#, fuzzy +#~ msgid "end-to-end encryption disabled" +#~ msgstr "Szyfrowanie GPG wyłączone" + +#~ msgid "" +#~ "Unable to decrypt message from %s\n" +#~ "It may have been tampered with." +#~ msgstr "" +#~ "Nie można odszyfrować wiadomości od %s\n" +#~ "To mogło być sfałszowane." + +#~ msgid "Unable to decrypt message" +#~ msgstr "Nie można odszyfrować wiadomości" + +#~ msgid "Enable ESessions encryption for this account." +#~ msgstr "Włączono szyfrowanie ESession dla tego konta." + +#~ msgid "Should Gajim automatically start an encrypted session when possible?" +#~ msgstr "" +#~ "Czy Gajim powinien automatycznie zaczynać zaszyfrowaną sesje jeśli to " +#~ "możliwe?" + +#~ msgid "" +#~ "[This is part of an encrypted session. If you see this message, something " +#~ "went wrong.]" +#~ msgstr "" +#~ "[To jest część zaszyfrowanej wiadomości. Jeżeli widzisz tą wiadomość, " +#~ "oznacza to, że coś poszło źle.]" + +#~ msgid "Requires python-avahi." +#~ msgstr "Wymaga python-avahi." + +#, fuzzy +#~ msgid "Save Image as…" +#~ msgstr "Zapisz plik jako..." + +#, fuzzy +#~ msgid "Exporting History Logs…" +#~ msgstr "Przenoszenie logów rozmów..." + +#~ msgid "Choose Client Cert #PCKS12" +#~ msgstr "Proszę wybrać certyfikat klienta #PCKS12" + +#~ msgid "When %s becomes:" +#~ msgstr "Gdy %s ma status:" + +#~ msgid "Adding Special Notification for %s" +#~ msgstr "Dodaję specjalne powiadomienia dla %s" + +#, fuzzy +#~ msgid "" +#~ "It seems the SSL certificate of account %(account)s has changed and is " +#~ "not valid or your connection is being compromised.\n" +#~ "\n" +#~ "Old SHA-1 fingerprint: %(old_sha1)s\n" +#~ "Old SHA-256 fingerprint: %(old_sha256)s\n" +#~ "\n" +#~ "New SHA-1 fingerprint: %(new_sha1)s\n" +#~ "New SHA-256 fingerprint: %(new_sha256)s\n" +#~ "\n" +#~ "Do you still want to connect and update the fingerprint of the " +#~ "certificate?" +#~ msgstr "" +#~ "Certyfikat SSL konta %(account)s uległ zmianie lub połączenie to jest " +#~ "podsłuchiwane.\n" +#~ "Poprzedni odcisk klucza: %(old)s\n" +#~ "Nowy odcisk klucza: %(new)s\n" +#~ "\n" +#~ "Czy nadal chcesz połączyć się i zaktualizować odcisk klucza certyfikatu?" + +#, fuzzy +#~ msgid "" +#~ "The authenticity of the %s certificate could be invalid.\n" +#~ "The certificate does not cover this domain." +#~ msgstr "Nie można potwierdzić autentyczności certyfikatu %s." + +#~ msgid "Unable to load idle module" +#~ msgstr "Nie można załadować modułu idle" + +#, fuzzy +#~ msgid "%s or %s is a directory but should be a file" +#~ msgstr "%s jest katalogiem choć powinien być plikiem" + +#~ msgid "creating logs database" +#~ msgstr "tworzenie bazy danych z logami" + +#, fuzzy +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "Wyślij %s do %s" + +#, fuzzy +#~ msgid "Rename account label" +#~ msgstr "Zmień nazwę konta" + +#, fuzzy +#~ msgid "Send Single Message..." +#~ msgstr "Wyślij _wiadomość..." + +#, fuzzy +#~ msgid "We received an error: {}" +#~ msgstr "Wystąpił błąd" + +#~ msgid "E2E encryption disabled" +#~ msgstr "Szyfrowanie E2E wyłączone" + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Dodaj ten certyfikat do listy zaufanych.\n" +#~ "Odcisk klucza SHA1 certyfikatu:\n" +#~ "%s" + +#~ msgid "uri" +#~ msgstr "URI" + +#, fuzzy +#~ msgid "" +#~ "Install /\n" +#~ "Upgrade" +#~ msgstr "Zainstalowany" + +#, fuzzy +#~ msgid "Install/Upgrade" +#~ msgstr "Zainstalowany" + +#, fuzzy +#~ msgid "Install and Upgrade Plugins" +#~ msgstr "Zainstalowany" + +#, fuzzy +#~ msgid "Plugins updates" +#~ msgstr "Rejestracja nie powiodła się" + +#, fuzzy +#~ msgid "Security error during download" +#~ msgstr "Błąd zabezpieczeń przy połączeniu z \"%s\"" + +#, fuzzy +#~ msgid "Error in download" +#~ msgstr "Błąd zabezpieczeń przy połączeniu z \"%s\"" + +#~ msgid "cyan" +#~ msgstr "cyjan" + +#~ msgid "migrating logs database to indices" +#~ msgstr "indeksowanie archiwum rozmów" + +#, fuzzy +#~ msgid "Send File..." +#~ msgstr "Wyślij _plik..." + +#, fuzzy +#~ msgid "HTTP File Upload not supported by your server" +#~ msgstr "Twój serwer uniemożliwia przechowywanie metakontaktów" + +#, fuzzy +#~ msgid "Jingle File Transfer" +#~ msgstr "Przesyłane pliki" + +#~ msgid "" +#~ "Your configured emoticons theme has not been found, so emoticons have " +#~ "been disabled." +#~ msgstr "" +#~ "Wybrany przez ciebie styl emotikonów nie został znaleziony, emotikony " +#~ "będą wyłączone." + +#~ msgid "Shows or hides the roster window" +#~ msgstr "Pokazuje lub ukrywa okno listy kontaktów" + +#~ msgid "Shows or hides the ipython window" +#~ msgstr "Pokazuje lub ukrywa okno iptyhon" + +#, fuzzy +#~ msgid "XMPP account %s" +#~ msgstr "Konto XMPP %s@%s" + +#, fuzzy +#~ msgid "Exception" +#~ msgstr "Opis" + +#, fuzzy +#~ msgid "" +#~ "someone@somewhere.com would like you to add some contacts " +#~ "in your roster." +#~ msgstr "" +#~ "%(jid)s chciałby %(action)s kilka kontaktów w Twoim " +#~ "rosterze." + +#~ msgid "" +#~ "Ordered list (space separated) of connection type to try. Can contain " +#~ "tls, ssl or plain" +#~ msgstr "" +#~ "Lista połączeń (rozdzielona spacjami) zawierająca wykaz rodzajów " +#~ "połączeń. Może zawierać tls, ssl lub plain" + +#~ msgid "_Actions" +#~ msgstr "_Działania" + +#, fuzzy +#~ msgid "Requires upower and python-dbus." +#~ msgstr "Wymaga python-dbus" + +#~ msgid "You are already in group chat %s" +#~ msgstr "Już jesteś w pokoju %s" + +#~ msgid "Join Group Chat with account %s" +#~ msgstr "Dołącz do pokoju z konta %s" + +#~ msgid "" +#~ "You have to choose an account from which you want to join the groupchat." +#~ msgstr "Wskaż konto, z którym chcesz wejść do pokoju" + +#, fuzzy +#~ msgid "Please enter the group chat JID as room@server." +#~ msgstr "Proszę wprowadzić JID konferencji w postaci pokój@serwer." + +#, fuzzy +#~ msgid "The group chat JID contains invalid characters." +#~ msgstr "Używane przez ciebie Jabber ID zawiera niedozwolone znaki." + +#~ msgid "Start Chat with account %s" +#~ msgstr "Rozpocznij rozmowę z konta %s" + +#, fuzzy +#~ msgid "" +#~ "Fill in the nickname or the JID of the contact you would like\n" +#~ "to send a chat message to:" +#~ msgstr "" +#~ "Wpisz JID lub nazwę użytkownika kontaktu, któremu chcesz\n" +#~ "wysłać wiadomość:" + +#, fuzzy +#~ msgid "Nickname / JID" +#~ msgstr "Taki Jabber ID już istnieje!" + +#~ msgid "Unable to parse \"%s\"." +#~ msgstr "Nie można sparsować \"%s\"." + +#~ msgid "Shows the chat dialog so that you can send messages to a contact" +#~ msgstr "" +#~ "Pokazuje okno dialogowe umożliwiające wysłanie wiadomości do kontaktu" + +#~ msgid "JID of the contact that you want to chat with" +#~ msgstr "JID osoby, z którą chcesz porozmawiać" + +#~ msgid "Adds contact to roster" +#~ msgstr "Dodaje kontakt do listy kontaktów" + +#~ msgid "jid" +#~ msgstr "jid" + +#~ msgid "Adds new contact to this account" +#~ msgstr "Dodaje nowy kontakt do tego konta" + +#~ msgid "Opens 'Start Chat' dialog" +#~ msgstr "Otwiera okno dialogowe 'Rozpocznij rozmowę'" + +#~ msgid "Starts chat, using this account" +#~ msgstr "Rozpocznij rozmowę z tego konta" + +#, fuzzy +#~ msgid "Handle a xmpp:/ URI" +#~ msgstr "Obsługuj URI xmpp:/" + +#~ msgid "URI to handle" +#~ msgstr "URI do obsługi" + +#~ msgid "Account in which you want to handle it" +#~ msgstr "Wskaż konto, z którym chcesz zsynchronizować kontakty" + +#~ msgid "Message content" +#~ msgstr "Treść wiadomości" + +#~ msgid "Join a MUC room" +#~ msgstr "Dołącz do nowego pokoju" + +#~ msgid "Nickname to use" +#~ msgstr "Nick" + +#~ msgid "Password to enter the room" +#~ msgstr "Hasło do pokoju" + +#~ msgid "Account from which you want to enter the room" +#~ msgstr "Wskaż konto, z którym chcesz wejść do pokoju" + +#, fuzzy +#~ msgid "No URI given" +#~ msgstr "Nie podano uri" + +#, fuzzy +#~ msgid "Wrong URI" +#~ msgstr "Błędny adres URI" + +#~ msgid "Nickname:" +#~ msgstr "Pseudonim:" + +#~ msgid "Server:" +#~ msgstr "Serwer:" + +#~ msgid "Join this room _automatically when I connect" +#~ msgstr "_Automatycznie dołącz do tego pokoju po uzyskaniu połączenia" + +#~ msgid "Bro_wse Rooms" +#~ msgstr "Prze_glądaj pokoje" + +#, fuzzy +#~ msgid "Requires libgtkspell and libenchant." +#~ msgstr "Wymaga libgtkspell" + +#, fuzzy +#~ msgid "Last MAM id we are syncronized with" +#~ msgstr "Czas ostatniej synchronizacji logów z serwerem" + +#, fuzzy +#~ msgid "Network-Watcher" +#~ msgstr "Menedżer sieci" + +#~ msgid "Autodetection of network status." +#~ msgstr "Automatyczne wykrywanie stanu sieci." + +#, fuzzy +#~ msgid "Requires gnome-network-manager" +#~ msgstr "Wymaga gnome-network-manager oraz python-dbus." + +#, fuzzy +#~ msgid "Feature not available, see Help->Features" +#~ msgstr "Funkcjonalność niedostępna dla systemu Windows." + +#~ msgid "This contact does not support file transfer." +#~ msgstr "Ten kontakt nie może przesyłać i odbierać plików." + +#, fuzzy +#~ msgid "You need to know the real JID of the contact to send them a file." +#~ msgstr "Ty musisz znać prawdziwy JID kontaktu, aby wysłać jej/jemu plik." + +#~ msgid "" +#~ "You have to install %s dictionary to use spellchecking, or choose another " +#~ "language by setting the speller_language option." +#~ msgstr "" +#~ "Musisz zainstalować słownik %s aby aktywować sprawdzanie pisowni lub " +#~ "wybrać inny język korzystać z opcji speller_langugage." + +#~ msgid "Hides the buttons in chat windows." +#~ msgstr "Ukrywa przyciski w oknie czatu." + +#~ msgid "Change the room's subject (Alt+T)" +#~ msgstr "Zmień temat pokoju (Ctrl+T)" + +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "Dodaj pokój do zakładek (Ctrl+B)" + +#~ msgid "Browse the chat history (Ctrl+H)" +#~ msgstr "Historia wiadomości (Ctrl+H)" + +#, fuzzy +#~ msgid "Show advanced functions (Alt+D)" +#~ msgstr "Pokaż menu zaawansowanych funkcji (Alt+D)" + +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "Dodaje kontakt do listy kontaktów (Ctrl+D)" + +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "Zaproś kontakt do rozmowy (Ctrl+G)" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Pokaż profil kontaktu (Ctrl+I)" + +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Pokaż profil kontaktu (Ctrl+I)" + +#~ msgid "Ma_ke message windows compact" +#~ msgstr "_Spraw by okna rozmowy były zwarte" + +#~ msgid "Hide all buttons in chat windows" +#~ msgstr "Ukryj przyciski w oknie rozmowy" + +#, fuzzy +#~ msgid "Hide the chat buttons" +#~ msgstr "Użycie: /%s ukrywa przyciski czatu." + +#~ msgid "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." +#~ msgstr "" +#~ "Jeśli ma wartość True, Gajim wyśle zapytanie o awatar każdego kontaktu, " +#~ "który ostatnio nie miał awatara lub ma zapisany jedynie stary." + +#~ msgid "Disk Write Error" +#~ msgstr "Błąd zapisu na dysk" + +#~ msgid "Set Custom _Avatar..." +#~ msgstr "Ustaw własny _avatar..." + +#, fuzzy +#~ msgid "SSL certificate validation" +#~ msgstr "Sprawdzanie certyfikatu SSL" + +#~ msgid "" +#~ "A library used to validate server certificates to ensure a secure " +#~ "connection." +#~ msgstr "" +#~ "Biblioteka używana do weryfikacji certyfikatów w celu zapewnienia " +#~ "bezpiecznego połączenia." + +#, fuzzy +#~ msgid "Requires python-pyopenssl > 0.12 and pyasn1." +#~ msgstr "Wymaga python-pyopenssl" + +#~ msgid "?CLI:uri" +#~ msgstr "?CLI:uri" + +#, fuzzy +#~ msgid "?CLI:room" +#~ msgstr "pokój" + +#, fuzzy +#~ msgid "?CLI:nick" +#~ msgstr "nick" + +#, fuzzy +#~ msgid "?CLI:password" +#~ msgstr "hasło" + +#~ msgid "Use D-Bus and Notification-Daemon to show notifications" +#~ msgstr "Korzystaj z DBus i Demona Powiadomień aby wyświetlać powiadomienia" + +#~ msgid "Notification" +#~ msgstr "Powiadomienia" + +#~ msgid "Passive popups notifying for new events." +#~ msgstr "Wyświetla okna informujące o nowych zdarzeniach." + +#~ msgid "" +#~ "Requires python-notify or instead python-dbus in conjunction with " +#~ "notification-daemon." +#~ msgstr "" +#~ "Wymaga python-notify lub python-dbus w połączeniu z notification-daemon." + +#~ msgid "Ignore" +#~ msgstr "Ignoruj" + +#~ msgid "_Open Gmail Inbox" +#~ msgstr "_Otwórz skrzynkę Gmail" + +#~ msgid "Notify on new _GMail email" +#~ msgstr "Powiadamiaj o nowej poczcie na koncie _Gmail" + +#~ msgid "" +#~ "If checked, Gajim will show a notification when a new e-mail is received " +#~ "via GMail" +#~ msgstr "" +#~ "Jeżeli opcja ta zostanie uaktywniona, Gajim będzie również wyświetlał " +#~ "informacje o nowej poczty w twojej skrzynce GMail" + +#~ msgid "Display _extra email details" +#~ msgstr "Wyświetlaj _dodatkowe informacje o poczcie e-mail" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will also include information about the sender of new " +#~ "emails" +#~ msgstr "" +#~ "Jeżeli opcja ta zostanie uaktywniona, Gajim będzie również wyświetlał " +#~ "informacje o nadawcach nowej poczty w twojej skrzynce" + +#~ msgid "GMail Options" +#~ msgstr "Opcje konta Gmail" + +#, fuzzy +#~ msgid "12" +#~ msgstr "1" + +#, fuzzy +#~ msgid "20" +#~ msgstr "2" + +#, fuzzy +#~ msgid "Invited %s to %s" +#~ msgstr "Wyślij %s do %s" + +#~ msgid "GMail Email Received" +#~ msgstr "Nowa poczta na koncie Gmail" + +#, fuzzy +#~ msgid "New e-mail on %(gmail_mail_address)s" +#~ msgstr "Nowa poczta w skrzynce %(gmail_mail_address)s" + +#, fuzzy +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "Masz %d nieprzeczytaną wiadomość pocztową" +#~ msgstr[1] "Masz %d nieprzeczytane wiadomości pocztowe" +#~ msgstr[2] "Masz %d nieprzeczytane wiadomości pocztowe" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "From: %(from_address)s\n" +#~ "Subject: %(subject)s\n" +#~ "%(snippet)s" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "Od: %(from_address)s\n" +#~ "Temat: %(subject)s\n" +#~ "%(snippet)s" + +#~ msgid "Resour_ce:" +#~ msgstr "Za_sób: " + +#~ msgid "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" +#~ msgstr "" +#~ "Informację wysłano do serwera w celu rozdzielenia tego samego JID na dwie " +#~ "lub więcej części, w zależności od liczby klientów połączonych z serwerem " +#~ "z tego samego konta. Możesz być połączony z z tym samym kontem z " +#~ "informacjami 'Dom' i 'Praca' w tym samym czasie. Klient o najwyższym " +#~ "będzie odbierał wiadomości (patrz niżej)" + +#~ msgid "A_djust to status" +#~ msgstr "D_ostosuj do statusu" + +#~ msgid "Priority will change automatically according to your status." +#~ msgstr "" +#~ "Priorytet ulegnie zmianie automatycznie, stosownie do twojego statusu." + +#~ msgid "Anonymous authentication" +#~ msgstr "Używaj autoryzacji serwera proxy" + +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "Priorytet służy do określenia, który program ma odbierać wiadomości z " +#~ "serwera gdy dwa klienty (lub więcej) są połączone z tym samym kontem. Ten " +#~ "który ma wyższy priorytet, będzie odbierał wiadomości" + +#, fuzzy +#~ msgid "Synchronize contacts" +#~ msgstr "Synchronizuj kontakty" + +#~ msgid "Click to request authorization to all contacts of another account" +#~ msgstr "" +#~ "Kliknij aby poprosić o autoryzację od wszystkich kontaktów z innego konta" + +#~ msgid "Chan_ge Password" +#~ msgstr "Z_mień hasło" + +#~ msgid "Administration operations" +#~ msgstr "Operacje administracyjne" + +#~ msgid "_Client Cert File:" +#~ msgstr "Plik _certyfikatu klienta" + +#~ msgid "Browse..." +#~ msgstr "Prze_glądaj..." + +#, fuzzy +#~ msgid "Certificate is e_ncrypted" +#~ msgstr "Certyfikat odrzucony" + +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "" +#~ "Zaznaczanie tej opcji spowoduje automatyczne łączenie z siecią Jabber z " +#~ "wykorzystaniem tego konta" + +#, fuzzy +#~ msgid "Synchronize logs with server" +#~ msgstr "Synchronizuj kontakty" + +#~ msgid "Synch_ronize account status with global status" +#~ msgstr "Synch_ronizuj status konta z globalnym statusem" + +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "Jeśli jest zaznaczone, to każda zmiana statusu globalnego (ustawianego z " +#~ "menu na dole okna listy kontaktów) wpłynie odpowiednio na status tego " +#~ "konta" + +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "Jeżeli opcja jest aktywna, Gajim roześle kilka dodatkowych adresów IP " +#~ "poza Twoim, tak aby przesyłanie plików przebiegało sprawniej." + +#~ msgid "Proxy" +#~ msgstr "Proxy" + +#~ msgid "" +#~ "Check this so Gajim will ask you before sending your password over an " +#~ "insecure connection." +#~ msgstr "" +#~ "Po uaktywnieniu tej opcji Gajim zapyta przed wysłaniem hasła przez " +#~ "nieszyfrowane połączenie." + +#~ msgid "Send _keep-alive packets" +#~ msgstr "Wysyłaj pakiety _podtrzymujące" + +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "" +#~ "Zaznaczenie tej opcji spowoduje wysyłanie pakietów podtrzymujących " +#~ "połączenie, co zapobiega rozłączaniu" + +#~ msgid "Use cust_om hostname/port" +#~ msgstr "Użyj wła_snej nazwy hosta/portu" + +#~ msgid "_Hostname: " +#~ msgstr "_Nazwa hosta: " + +#~ msgid "_Port: " +#~ msgstr "_Port:" + +#~ msgid "Choose _Key..." +#~ msgstr "Wybierz _klucz..." + +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "" +#~ "Zaznaczenie tej opcji spowoduje pobieranie hasła z agenta GPG, np. " +#~ "Seahorse" + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#~ msgid "_Edit Personal Information..." +#~ msgstr "_Zmień informacje o sobie..." + +#~ msgid "Personal Information" +#~ msgstr "Informacje o sobie" + +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "P_ołącz przy starcie programu" + +#~ msgid "Synchroni_ze account status with global status" +#~ msgstr "Synch_ronizuj status konta z globalnym statusem" + +#~ msgid "Use cust_om port:" +#~ msgstr "Użyj inn_ego portu:" + +#~ msgid "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." +#~ msgstr "" +#~ "Jeżeli domyślny port, na którym przyjmowane są nadchodzące wiadomości nie " +#~ "odpowiada ci, możesz wskazać numer portu, jakiego chcesz używać.\n" +#~ "Konieczna stać się może ponowna konfiguracja firewalla." + +#~ msgid "OpenPGP is not usable on this computer" +#~ msgstr "Nie można używać OpenPGP na tym komputerze" + +#~ msgid "To change the account name, you must be disconnected." +#~ msgstr "Aby zmienić nazwę konta, musisz być rozłączony." + +#~ msgid "To change the account name, you must read all pending events." +#~ msgstr "" +#~ "Aby zmienić nazwę konta, musisz przeczytać wszystkie zaległe wiadomości." + +#~ msgid "Account Name Already Used" +#~ msgstr "Konto o takiej nazwie już istnieje" + +#~ msgid "" +#~ "This name is already used by another of your accounts. Please choose " +#~ "another name." +#~ msgstr "Posiadasz już konto o tej nazwie. Zmień nazwę konta na unikalną." + +#~ msgid "Account name cannot be empty." +#~ msgstr "Nazwa konta nie może być pusta." + +#~ msgid "Account name cannot contain spaces." +#~ msgstr "Nazwa konta nie może zawierać spacji." + +#~ msgid "Enter a new name for account %s" +#~ msgstr "Wpisz nową nazwę dla kontaktu %s." + +#, fuzzy +#~ msgid "A JID must be in the form \"user@servername\"." +#~ msgstr "Jabber ID musi być postaci \"użytkownik@nazwaserwera\"." + +#~ msgid "No such account available" +#~ msgstr "Takie konto nie jest dostępne" + +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "Musisz najpierw stworzyć konto by móc edytować informacje o sobie." + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "Musisz być połączony, aby móc zmieniać informacje o sobie." + +#~ msgid "Your server can't save your personal information." +#~ msgstr "Twój serwer nie potrafi zapisać informacji osobistych." + +#~ msgid "Please rename or remove it before enabling link-local messaging." +#~ msgstr "" +#~ "Proszę go zmienić lub usunąć przed uaktywnieniem komunikacji link-local." + +#~ msgid "THANKS:" +#~ msgstr "Podziękowania:" + +#~ msgid "Could not write to %s. Session Management support will not work" +#~ msgstr "" +#~ "Nie można zapisywać do %s. Wsparcie dla Menadżera Sesji nie będzie działać" + +#~ msgid "Jabber Traffic" +#~ msgstr "Jabber Traffic" + +#~ msgid "_Enable" +#~ msgstr "_Włącz" + +#, fuzzy +#~ msgid "Filter" +#~ msgstr "Filtr" + +#~ msgid "_IQ" +#~ msgstr "_IQ" + +#~ msgid "Info/Query" +#~ msgstr "Informacje/Zapytanie" + +#~ msgid "XML Input" +#~ msgstr "Wejście XML" + +#~ msgid "XML Console for %s" +#~ msgstr "Kosola XML dla %s" + +#, fuzzy +#~ msgid "Idle for:" +#~ msgstr "Bezczynny przez %s" + +#, fuzzy +#~ msgid "" +#~ "Request offline status messages from all contacts upon connecting. " +#~ "WARNING: This causes a lot of requests to be sent!" +#~ msgstr "" +#~ "Pytaj o opis statusu \"Niepołączony\" wszystkich niepołączonych " +#~ "kontaktów, kiedy jest połączenie z kontem. OSTRZEŻENIE: To może być " +#~ "przyczyną wysyłania wielu zapytań!" + +#~ msgid "Last status: %s" +#~ msgstr "Ostatni status %s" + +#~ msgid " since %s" +#~ msgstr " od %s" + +#~ msgid "since %s" +#~ msgstr "od %s" + +#, fuzzy +#~ msgid "Prefer" +#~ msgstr "Ustawienia" + +#, fuzzy +#~ msgid "Auto" +#~ msgstr "Połącz automatycznie" + +#~ msgid "false" +#~ msgstr "fałszywe" + +#~ msgid "stream" +#~ msgstr "strumieniowane" + +#~ msgid "concede" +#~ msgstr "przyznane" + +#~ msgid "forbid" +#~ msgstr "zabronione" + +#~ msgid "prefer" +#~ msgstr "zalecane" + +#~ msgid "otr" +#~ msgstr "otr" + +#~ msgid "save" +#~ msgstr "zapamiętane" + +#~ msgid "Last time we syncronized with logs from server." +#~ msgstr "Czas ostatniej synchronizacji logów z serwerem" + +#, fuzzy +#~ msgid "Invalid expire value" +#~ msgstr "Niepoprawna nazwa serwera" + +#, fuzzy +#~ msgid "There is an error" +#~ msgstr "Wystąpił błąd" + +#~ msgid "How many minutes should last lines from previous conversation last." +#~ msgstr "Ile minut powinny być widoczne linie z poprzedniej rozmowy." + +#~ msgid "" +#~ "Your configured emoticons theme cannot been loaded. You maybe need to " +#~ "update the format of emoticons.py file. See http://trac.gajim.org/wiki/" +#~ "Emoticons for more details." +#~ msgstr "" +#~ "Ustawiony przez ciebie styl emotikonów nie mógł zostać załadowany. Ty " +#~ "możesz potrzebować aktualizacji formatu pliku emoticons.file. Aby poznać " +#~ "więcej szczegółów, zobacz http://trac.gajim.org/wiki/Emoticons." + +#~ msgid "You will be connected to %s without OpenPGP." +#~ msgstr "Zostanie połączony z %s bez obsługi OpenPGP." + +#~ msgid "The following message was NOT encrypted" +#~ msgstr "Ta wiadomość NIE została zaszyfrowana" + +#~ msgid "Toggle Open_PGP Encryption" +#~ msgstr "Włącz/wyłącz szyfrowanie Open_PGP" + +#~ msgid "Toggle End to End Encryption" +#~ msgstr "Włącz/wyłącz _szyfrowanie połączenia" + +#, fuzzy +#~ msgid "OpenPGP encryption enabled" +#~ msgstr "Szyfrowanie GPG włączone" + +#, fuzzy +#~ msgid "No OpenPGP key assigned" +#~ msgstr "Nie ma przypisanego klucza GPG" + +#, fuzzy +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages with OpenPGP." +#~ msgstr "" +#~ "Nie ma klucza GPG przypisanego do tego kontaktu. Więc nie możesz " +#~ "szyfrować wiadomości do tego kontaktu, używając GPG." + +#~ msgid "Session WILL be logged" +#~ msgstr "Sesja BĘDZIE logowana" + +#~ msgid "Session WILL NOT be logged" +#~ msgstr "Sesja NIE BĘDZIE logowana" + +#~ msgid "is" +#~ msgstr "jest" + +#~ msgid "is NOT" +#~ msgstr "NIE jest" + +#~ msgid "will" +#~ msgstr "będzie" + +#~ msgid "will NOT" +#~ msgstr "NIE będzie" + +#~ msgid "The following message was encrypted" +#~ msgstr "Ta wiadomość została zaszyfrowana" + +#, fuzzy +#~ msgid "Toggle the OpenPGP encryption" +#~ msgstr "Włącz/wyłącz szyfrowanie Open_PGP" + +#~ msgid "" +#~ "Should Gajim automatically start an encrypted session with this contact " +#~ "when possible?" +#~ msgstr "" +#~ "Czy Gajim powinien automatycznie rozpoczynać zaszyfrowana sesję z tym " +#~ "kontaktem, jeśli to możliwe?" + +#~ msgid "Neither the remote presence is signed, nor a key was assigned." +#~ msgstr "" +#~ "Komunikat o statusie obecności nie jest podpisany, nie przypisano mu też " +#~ "klucza." + +#~ msgid "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "Klucz kontaktu (%s) nie pasuje do klucza przypisanego w Gajimie." + +#~ msgid "[This message is *encrypted* (See :XEP:`27`]" +#~ msgstr "[Ta wiadomość jest zaszyfrowana (Zobacz :XEP: '27']" + +#~ msgid "" +#~ "Your chat session with %(jid)s is encrypted.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "Twoja rozmowa z %(jid)s jest szyfrowana.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." + +#~ msgid "You have already verified this contact's identity." +#~ msgstr "Już zweryfikowałeś tożsamość tego kontaktu." + +#~ msgid "Contact's identity verified" +#~ msgstr "Tożsamość rozmówcy zweryfikowana" + +#~ msgid "" +#~ "To be certain that only the expected person can read your messages " +#~ "or send you messages, you need to verify their identity by clicking the " +#~ "button below." +#~ msgstr "" +#~ "Aby być pewnym, że tylko oczekiwane osoby będą mogły czytać twoje " +#~ "wiadomości lub wysyłać wiadomości do ciebie, powinieneś zweryfikować ich " +#~ "tożsamość poprzez kliknięcie przycisku poniżej." + +#~ msgid "Contact's identity NOT verified" +#~ msgstr "Tożsamość rozmówcy NIE zweryfikowana" + +#, fuzzy +#~ msgid "Verify…" +#~ msgstr "_Weryfikuj" + +#~ msgid "Have you verified the contact's identity?" +#~ msgstr "Czy zweryfikowałeś/zweryfikowałaś tożsamość zdalnego rozmówcy?" + +#~ msgid "" +#~ "To prevent talking to an unknown person, you should speak to %(jid)s directly (in person or on the phone) and verify that they see the same " +#~ "Short Authentication String (SAS) as you.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "Aby uniemożliwić rozmowę z nieznaną osobą, powinieneś porozmawiać z " +#~ "%(jid)s bezpośrednio(np. przez telefon) i zweryfikować jej tożsamość, " +#~ "ta osoba zobaczy ten sam Short Authentication String (SAS) jak ty.\n" +#~ "Tej sesji Short Authentication String to %(sas)s." + +#~ msgid "Did you talk to the remote contact and verify the SAS?" +#~ msgstr "Czy rozmawiałeś(aś) ze zdalnym rozmówcą i zweryfikowałeś(aś) SAS?" + +#~ msgid "" +#~ "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "" +#~ "Klucz kontaktu (%s) nie pasuje do klucza przypisanego w Gajimie." + +#, fuzzy +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages." +#~ msgstr "" +#~ "Nie ma klucza GPG przypisanego do tego kontaktu. Więc nie możesz " +#~ "szyfrować wiadomości do niego, używając GPG." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP key is assigned to this contact, but you do not trust their " +#~ "key, so message cannot be encrypted. Use your OpenPGP client " +#~ "to trust their key." +#~ msgstr "" +#~ "Klucz GPG jest przypisany do tego kontaktu, lecz ty nie importowałeś " +#~ "tego klucza, więc wiadomość nie będzie odszyfrowana. Użyj " +#~ "twojego klienta GPG, aby importować klucz." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP Key is assigned to this contact, and you trust their key, so " +#~ "messages will be encrypted." +#~ msgstr "" +#~ "Ten użytkownik ma przypisany klucz, zweryfikowałeś ten klucz, więc " +#~ "wiadomości będą szyfrowane" + +#~ msgid "" +#~ "This icon indicates that this message has not yet\n" +#~ "been received by the remote end. If this icon stays\n" +#~ "for a long time, it's likely the message got lost." +#~ msgstr "" +#~ "Ta ikona wskazuje, że ta wiadomość jeszcze nie została\n" +#~ "odebrana. Jeśli ta ikona zostanie przez długi czas,\n" +#~ "może oznaczać, że wiadomości została zgubiona." + +#~ msgid "" +#~ "If True, listen to D-Bus signals from NetworkManager and change the " +#~ "status of accounts (provided they do not have listen_to_network_manager " +#~ "set to False and they sync with global status) based upon the status of " +#~ "the network connection." +#~ msgstr "" +#~ "Jeżeli opcja ustawiona jest na True, Gajim nasłuchuje komunikatów D-Bus " +#~ "wysyłanych przez NetworkManagera i zmienia status poszczególnych kont (o " +#~ "ile nie mają ustawionej opcji listen_to_network_manager) na False i " +#~ "synchronizują się ze statusem globalnym) w oparciu o status " +#~ "wykorzystywanego połączenia sieciowego." + +#~ msgid "" +#~ "The database file (%s) cannot be read. Try to repair it or remove it (all " +#~ "history will be lost)." +#~ msgstr "" +#~ "Plik (%s) bazy danych nie może zostać odczytany. Spróbuj to naprawić lub " +#~ "usunąć ten plik (cała historia rozmów będzie usunięta)." + +#~ msgid "Database cannot be read." +#~ msgstr "Baza danych nie może zostać odczytana." + +#~ msgid "A message from a non-valid JID arrived, it has been ignored." +#~ msgstr "Doszła wiadomość od nieprawidłowego JID, będzie zignorowana" + +#~ msgid "Smooth scroll message in conversation window" +#~ msgstr "Płynne przewijanie w oknie rozmowy" + +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "_Edytuj listy prywatności" + +#~ msgid "_Administrator" +#~ msgstr "_Administrator" + +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "" +#~ "Wysyła wiadomość do użytkowników aktualnie połączonych z tym serwerem" + +#~ msgid "Sets Message of the Day" +#~ msgstr "Ustawia Wiadomość Dnia" + +#~ msgid "Updates Message of the Day" +#~ msgstr "Uaktualnia Wiadomość Dnia" + +#~ msgid "Deletes Message of the Day" +#~ msgstr "Usuwa Wiadomość Dnia" + +#~ msgid "Add _Contact..." +#~ msgstr "Dodaj _kontakt..." + +#~ msgid "Profile, A_vatar" +#~ msgstr "Profil, _Awatar" + +#~ msgid "P_lugins" +#~ msgstr "_Wtyczki" + +#~ msgid "File _Transfers" +#~ msgstr "_Przesyłanie plików" + +#~ msgid "Help online" +#~ msgstr "Pomoc w sieci" + +#~ msgid "Frequently Asked Questions (online)" +#~ msgstr "Najczęściej Zadawane Pytania (w sieci)" + +#~ msgid "Fea_tures" +#~ msgstr "_Możliwości programu" + +#~ msgid "to %s account" +#~ msgstr "do konta %s" + +#~ msgid "using %s account" +#~ msgstr "używając konta %s" + +#~ msgid "of account %s" +#~ msgstr "dla konta %s" + +#~ msgid "for account %s" +#~ msgstr "dla konta %s" + +#~ msgid "" +#~ "By removing this contact you also remove authorization resulting in him " +#~ "or her always seeing you as offline." +#~ msgstr "" +#~ "Usuwając kontakt cofniesz mu również autoryzację, co spowoduje, że " +#~ "kontakt będzie zawsze widział Cię jako rozłączonego." + +#~ msgid "Invalid Jabber ID" +#~ msgstr "Niepoprawny Jabber ID" + +#~ msgid "Verify..." +#~ msgstr "Weryfikowanie..." + +#~ msgid "This file is being used by another process." +#~ msgstr "Ten plik jest używany przez inny proces." + +#~ msgid "pgp key" +#~ msgstr "klucz pgp" + +#~ msgid "" +#~ "Sends new single message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Wysyła nową wiadomość do kontaktu z listy. Zarówno klucz OpenPGP jak i " +#~ "konto nie są wymagane. Jeśli chcesz ustawić jedynie 'konto' bez 'klucza " +#~ "OpenPGP', to ustaw 'klucz OpenPGP' na ''." + +#, fuzzy +#~ msgid "Please first choose another theme as your current theme." +#~ msgstr "Ustaw najpierw inny motyw." + +#~ msgid "A non-privacy-related room configuration change has occurred" +#~ msgstr "Nastąpiła zmiana konfiguracji pokoju (nie powiązana z prywatnością)" + +#, fuzzy +#~ msgid "Maximum number of users for %s has been reached" +#~ msgstr "Osiągnięto maksymalną liczbę użytkowników dla %s" + +#~ msgid "Your passphrase is incorrect" +#~ msgstr "Twoje hasło jest niepoprawne" + +#, fuzzy +#~ msgid "OpenPGP Passphrase Incorrect" +#~ msgstr "Niepoprawne hasło OpenPGP" + +#, fuzzy +#~ msgid "OpenPGP key not trusted" +#~ msgstr "GPG nie jest zaufany" + +#~ msgid "You successfully received %(filename)s from %(name)s." +#~ msgstr "Otrzymałeś plik %(filename)s od %(name)s." + +#, fuzzy +#~ msgid "Set logs directory" +#~ msgstr "tworzenie katalogu %s" + +#~ msgid "_Manage Bookmarks..." +#~ msgstr "_Zarządzaj zakładkami..." + +#~ msgid "Change Status Message..." +#~ msgstr "Zmień opis statusu..." + +#~ msgid "_Change Status Message..." +#~ msgstr "_Zmień opis statusu..." + +#~ msgid "" +#~ "You are not interested in the contact's presence, and neither he/she is " +#~ "interested in yours" +#~ msgstr "" +#~ "Nie jesteś zainteresowany informacjami o statusie kontaktu i on również " +#~ "nie jest zainteresowany twoim" + +#~ msgid "Error description..." +#~ msgstr "Opis błędu..." + +#, fuzzy +#~ msgid "View contact information (Ctrl+I)" +#~ msgstr "Zaproś kontakt do rozmowy (Ctrl+G)" + +#~ msgid "3" +#~ msgstr "3" + +#~ msgid "4" +#~ msgstr "4" + +#~ msgid "5" +#~ msgstr "5" + +#~ msgid "6" +#~ msgstr "6" + +#~ msgid "7" +#~ msgstr "7" + +#~ msgid "8" +#~ msgstr "8" + +#~ msgid "9" +#~ msgstr "9" + +#, fuzzy +#~ msgid "All Chat Histories" +#~ msgstr "Stare historie" + +#~ msgid "homepage url" +#~ msgstr "adres strony domowej" + +#~ msgid "More" +#~ msgstr "Więcej" + +#~ msgid "creating %s directory" +#~ msgstr "tworzenie katalogu %s" + +#~ msgid "" +#~ "If True, Gajim will use KDE Wallet (if kwalletcli is available) to store " +#~ "account passwords." +#~ msgstr "" +#~ "Po włączeniu Gajim użyje aplikacji KDE Wallet do przechowywania haseł (o " +#~ "ile biblioteka kwalletcli jest zainstalowana)." + +#~ msgid "%s is not the name of a group chat." +#~ msgstr "%s nie jest nazwą czatu." + +#~ msgid "Session Management" +#~ msgstr "Zarządzanie sesją" + +#~ msgid "Gajim session is stored on logout and restored on login." +#~ msgstr "" +#~ "Sesja jest zapisywana przy wylogowaniu z serwera i przywracana przy " +#~ "logowaniu." + +#~ msgid "Requires python-gnome2." +#~ msgstr "Wymaga python-gnome2." + +#~ msgid "SRV" +#~ msgstr "SRV" + +#~ msgid "Ability to connect to servers which are using SRV records." +#~ msgstr "Możliwość połączenia z serwerami, które używają rekordów SRV." + +#~ msgid "Requires dnsutils." +#~ msgstr "Wymaga dnsutils." + +#~ msgid "Requires nslookup to use SRV records." +#~ msgstr "Wymaga nslookup." + +#~ msgid "Gajim needs X server to run. Quiting..." +#~ msgstr "Gajim wymaga do działania serwera X. Zamykanie programu..." + +#~ msgid "importing PyGTK failed: %s" +#~ msgstr "import PyGTK nie powiódł się: %s" + +#, fuzzy +#~ msgid "Gajim needs PyGTK 2.22 or above" +#~ msgstr "Gajim wymaga PyGTK w wersji 2.16 lub wyższej" + +#, fuzzy +#~ msgid "Gajim needs PyGTK 2.22 or above to run. Quiting..." +#~ msgstr "" +#~ "Gajim wymaga do działania PyGTK w wersji 2.16 lub wyższej. Zamykanie " +#~ "programu..." + +#, fuzzy +#~ msgid "Gajim needs GTK 2.22 or above" +#~ msgstr "Gajim wymaga GTK w wersji 2.16 lub wyższej" + +#, fuzzy +#~ msgid "Gajim needs GTK 2.22 or above to run. Quiting..." +#~ msgstr "" +#~ "Gajim wymaga do działania GTK w wersji 2.16 lub wyższej. Zamykanie " +#~ "programu..." + +#~ msgid "Gajim needs pywin32 to run" +#~ msgstr "Gajim wymaga do działania pakietu pywin32" + +#~ msgid "" +#~ "Please make sure that Pywin32 is installed on your system. You can get it " +#~ "at %s" +#~ msgstr "" +#~ "Proszę upewnić się, że zainstalowany jest pakiet Pywin32. Możesz go " +#~ "pobrać spod adresu %s" + +#~ msgid "Gajim is already running" +#~ msgstr "Gajim jest już uruchomiony" + +#~ msgid "" +#~ "Another instance of Gajim seems to be running\n" +#~ "Run anyway?" +#~ msgstr "" +#~ "Wydaje się, że w tle działa już inna kopia Gajima.\n" +#~ "Czy mimo to chcesz uruchomić program?" + +#~ msgid "A programming error has been detected" +#~ msgstr "Wykryto błąd programistyczny" + +#~ msgid "Details" +#~ msgstr "Szczegóły" + +#, fuzzy +#~ msgid "" +#~ "Gnome Keyring is installed but not correctly started (environment " +#~ "variable probably not correctly set)" +#~ msgstr "" +#~ "Menedżer bazy kluczy GNOME jest zainstalowany, ale nie został \t\t\t" +#~ "\tprawidłowo uruchomiony(zmienna środowiskowa prawdopodobnie nie jest \t\t" +#~ "\t\t właściwie ustawiona)" + +#~ msgid "Jabber ID: " +#~ msgstr "Jabber ID:" + +#~ msgid "Resource: " +#~ msgstr "Zasoby: " + +#~ msgid "Subscription: " +#~ msgstr "Autoryzacja: " + +#, fuzzy +#~ msgid "Mood: " +#~ msgstr "Nastrój:" + +#, fuzzy +#~ msgid "Activity: " +#~ msgstr "Aktywność:" + +#~ msgid "Check on startup if Gajim is the _default Jabber client" +#~ msgstr "" +#~ "Przy starcie zawsze sprawdzaj czy Gajim jest _domyślnym klientem Jabbera" + +#~ msgid "" +#~ "If True, Gajim will check if it's the default jabber client on each " +#~ "startup." +#~ msgstr "" +#~ "Jeśli ma wartość True, Gajim sprawdzi przy każdym uruchomieniu czy jest " +#~ "domyślnym klientem Jabbera." + +#~ msgid "Gajim is not the default Jabber client" +#~ msgstr "Gajim nie jest domyślnym klinetem Jabbera" + +#~ msgid "Would you like to make Gajim the default Jabber client?" +#~ msgstr "Czy chciałbyś by Gajim stał się klientem domyślnym?" + +#~ msgid "Always check to see if Gajim is the default Jabber client on startup" +#~ msgstr "Przy starcie sprawdzaj czy Gajim jest domyślnym klinetem Jabbera" + +#~ msgid "Execute Command..." +#~ msgstr "Wykonaj komendę..." + +#~ msgid " a window/tab opened with that contact " +#~ msgstr "z tym kontaktem " + +#~ msgid "Actions" +#~ msgstr "Akcje" + +#~ msgid "Conditions" +#~ msgstr "Warunki" + +#~ msgid "Advanced Notifications Control" +#~ msgstr "Edytor ustawień zaawansowanych" + +#~ msgid "Busy " +#~ msgstr "Zajęty " + +#, fuzzy +#~ msgid "Contact Change Status " +#~ msgstr "Kontakt zmienił status" + +#~ msgid "Don't have " +#~ msgstr "nie rozmawiam " + +#, fuzzy +#~ msgid "File Transfer Started " +#~ msgstr "Przesyłanie pliku zatrzymane" + +#, fuzzy +#~ msgid "Group Chat Message Highlight " +#~ msgstr "Podświetlenie wiadomości z czatu" + +#, fuzzy +#~ msgid "Group Chat Message Received " +#~ msgstr "Otrzymano wiadomość na czacie" + +#~ msgid "Launch a command" +#~ msgstr "Wykonaj komendę" + +#~ msgid "One or more special statuses..." +#~ msgstr "Jeden bądź więcej określonych statusów..." + +#~ msgid "Online / Free For Chat" +#~ msgstr "Dostępny / Chętny do rozmowy" + +#~ msgid "Play a sound" +#~ msgstr "Odtwórz dźwięk" + +#~ msgid "When " +#~ msgstr "Jeżeli " + +#~ msgid "" +#~ "_Activate window manager's UrgencyHint to make chat window in taskbar " +#~ "flash" +#~ msgstr "_Migaj obramowaniem zminimalizowanego okna rozmowy" + +#~ msgid "_Disable auto opening chat window" +#~ msgstr "Wyłącz _automatyczne otwieranie okna czatu" + +#~ msgid "_Disable existing popup window" +#~ msgstr "_Wyłącz wyskakujące okienka" + +#~ msgid "_Disable existing sound for this event" +#~ msgstr "_Wyłącz dźwięki dla tego zdarzenia" + +#, fuzzy +#~ msgid "_Disable showing event in notification area" +#~ msgstr "Wyłącz _pokazywanie zdarzenia na liście kontaktów" + +#~ msgid "_Disable showing event in roster" +#~ msgstr "Wyłącz _pokazywanie zdarzenia na liście kontaktów" + +#~ msgid "_Inform me with a popup window" +#~ msgstr "_Powiadom mnie wyskakującym okienkiem" + +#~ msgid "_Open chat window with user" +#~ msgstr "_Otwórz okno rozmowy z kontaktem" + +#~ msgid "_Show event in roster" +#~ msgstr "_Pokaż zdarzenie na liście kontaktów" + +#~ msgid "and I " +#~ msgstr "podczas, gdy " + +#~ msgid "contact(s)" +#~ msgstr "kontakt(y)" + +#~ msgid "for " +#~ msgstr "dla " + +#~ msgid "group(s)" +#~ msgstr "grupa/y" + +#~ msgid "when I'm in" +#~ msgstr "kiedy jestem obecny" + +#~ msgid "_Allow him/her to see my status" +#~ msgstr "_Pozwól mu/jej widzieć swój status" + +#~ msgid "Descrition:" +#~ msgstr "Opis:" + +#~ msgid "Advanced..." +#~ msgstr "Zaawansowane..." + +#~ msgid "Display _activity of contacts in roster" +#~ msgstr "Wyświetlaj aktywność kontaktów z listy" + +#~ msgid "Display _tunes of contacts in roster" +#~ msgstr "Wyświetlaj muzyczne ikonki kontaktów z listy" + +#~ msgid "Display m_ood of contacts in roster" +#~ msgstr "Wyświetlaj nastroje kontaktów z listy" + +#~ msgid "" +#~ "If checked, Gajim will display the activity of contacts in the roster " +#~ "window" +#~ msgstr "" +#~ "Zaznaczenie tej opcji spowoduje wyświetlanie aktywności kontaktów z listy " +#~ "kontaktów" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will display the location of contacts in the roster " +#~ "window" +#~ msgstr "" +#~ "Zaznaczenie tej opcji spowoduje wyświetlanie nastrojów w oknie listy " +#~ "kontaktów (roster oraz okno czatu)" + +#~ msgid "" +#~ "If checked, Gajim will display the tunes of contacts in the roster window" +#~ msgstr "" +#~ "Zaznaczenie tej opcji spowoduje wyświetlanie muzycznych ikonek w oknie " +#~ "listy kontaktów (roster oraz okno czatu)" + +#~ msgid "Gajim Instant Messenger" +#~ msgstr "Komunikator Gajim" + +#~ msgid "English" +#~ msgstr "angielski" + +#~ msgid "Belarusian" +#~ msgstr "bułgarski" + +#~ msgid "Bulgarian" +#~ msgstr "bułgarski" + +#~ msgid "Breton" +#~ msgstr "bretoński" + +#~ msgid "Czech" +#~ msgstr "czeski" + +#~ msgid "German" +#~ msgstr "niemiecki" + +#~ msgid "Greek" +#~ msgstr "grecki" + +#~ msgid "British" +#~ msgstr "brytyjski" + +#~ msgid "Esperanto" +#~ msgstr "esperanto" + +#~ msgid "Spanish" +#~ msgstr "hiszpański" + +#~ msgid "Basque" +#~ msgstr "baskijski" + +#~ msgid "French" +#~ msgstr "francuski" + +#~ msgid "Croatian" +#~ msgstr "chorwacki" + +#~ msgid "Italian" +#~ msgstr "włoski" + +#~ msgid "Norwegian (b)" +#~ msgstr "norweski (b)" + +#~ msgid "Dutch" +#~ msgstr "holenderski" + +#~ msgid "Norwegian" +#~ msgstr "norweski" + +#~ msgid "Polish" +#~ msgstr "polski" + +#~ msgid "Portuguese" +#~ msgstr "portugalski" + +#~ msgid "Brazilian Portuguese" +#~ msgstr "portugalski (Brazylia)" + +#~ msgid "Russian" +#~ msgstr "rosyjski" + +#~ msgid "Serbian" +#~ msgstr "serbski" + +#~ msgid "Slovak" +#~ msgstr "słowacki" + +#~ msgid "Swedish" +#~ msgstr "szwedzki" + +#~ msgid "Chinese (Ch)" +#~ msgstr "chiński (Ch)" + +#~ msgid "Spelling language" +#~ msgstr "Wybierz słownik" + +#~ msgid "Requires python-farsight." +#~ msgstr "Wymaga python-farsight." + +#~ msgid "" +#~ "If True, Gajim will convert string between $$ and $$ to an image using " +#~ "dvips and convert before insterting it in chat window." +#~ msgstr "" +#~ "Jeżeli ustawiono na 'True', Gajim dokona konwersji ciągów zawartych " +#~ "pomiędzy $$ i $$ do postaci obrazu (z wykorzystaniem dvips) przed " +#~ "wstawieniem ich do okna rozmowy." + +#~ msgid "" +#~ "Change the value to change the size of latex formulas displayed. The " +#~ "higher is larger." +#~ msgstr "Zmień rozmiar pokazywanych formuł latex-a." + +#~ msgid "all or space separated status" +#~ msgstr "all lub komunikaty stanu rozdzielone spacjami" + +#~ msgid "'yes', 'no', or 'both'" +#~ msgstr "'yes', 'no' lub 'both'" + +#~ msgid "'yes', 'no' or ''" +#~ msgstr "'yes', 'no' lub \"" + +#~ msgid "Check your connection or try again later" +#~ msgstr "Sprawdź swoje połączenie lub spróbuj później" + +#~ msgid "Error executing \"%(command)s\": %(error)s" +#~ msgstr "Błąd przy wykonywaniu \"%(command)s\": %(error)s" + +#~ msgid "error: cannot open %s for reading" +#~ msgstr "błąd: nie można otworzyć %s do odczytu" + +#~ msgid "Unable to bind to port %s." +#~ msgstr "Nie można podłączyć się do portu %s." + +#~ msgid "" +#~ "Maybe you have another running instance of Gajim. File Transfer will be " +#~ "cancelled." +#~ msgstr "" +#~ "Być może masz już uruchomioną inną kopię Gajima. Przesyłanie plików " +#~ "zostanie anulowane." + +#~ msgid "A GTK+ jabber client" +#~ msgstr "Klient jabbera w GTK+." + +#~ msgid "Condition" +#~ msgstr "Warunek" + +#~ msgid "when I am " +#~ msgstr "kiedy mam " + +#~ msgid "Requires pybonjour (http://o2s.csail.mit.edu/o2s-wiki/pybonjour)." +#~ msgstr "Wymaga pybonjour (http://o2s.csail.mit.edu/o2s-wiki/pybonjour)" + +#~ msgid "LaTeX" +#~ msgstr "LaTeX" + +#~ msgid "Transform LaTeX expressions between $$ $$." +#~ msgstr "Przekształcanie wyrażeń jezyka LaTeX pomiędzy $$ $$." + +#, fuzzy +#~ msgid "" +#~ "Requires texlive-latex-base and (dvipng or ImageMagick). You have to set " +#~ "'use_latex' to True in the Advanced Configuration Editor." +#~ msgstr "" +#~ "Wymaga texlive-latex-base, dvipng. Musisz ustawić zmienną 'use_latex' na " +#~ "'True' w Zaawansowanym Edytorze Ustawień." + +#, fuzzy +#~ msgid "" +#~ "Requires texlive-latex-base and (dvipng or ImageMagick) (All is in " +#~ "MikTeX). You have to set 'use_latex' to True in the Advanced " +#~ "Configuration Editor." +#~ msgstr "" +#~ "Wymaga texlive-latex-base, dvipng (Wszystko jest w MikTeX). Musisz " +#~ "ustawić zmienną 'use_latex' na 'True' w Zaawansowanym Edytorze Ustawień." + +#~ msgid "one of: offline, online, chat, away, xa, dnd, invisible " +#~ msgstr "" +#~ "jeden z: rozłączony, dostępny, chętny do rozmowy, zaraz wracam, " +#~ "nieobecny, zajęty, niewidoczny " + +#, fuzzy +#~ msgid "" +#~ "Returns current status message(the global one unless account is specified)" +#~ msgstr "Zwraca obecny status (globalny, chyba że zostało wskazane konto)." + +#~ msgid "" +#~ "Usage: %s %s %s \n" +#~ "\t %s" +#~ msgstr "" +#~ "Użycie: %s %s %s \n" +#~ "\t %s" + +#, fuzzy +#~ msgid "" +#~ "Too many arguments. \n" +#~ "Type \"%s help %s\" for more info" +#~ msgstr "" +#~ "Za dużo argumentów. \n" +#~ "Wpisz \"%(basename)s help %(command)s\" aby uzyskać więcej informacji" + +#, fuzzy +#~ msgid "" +#~ "Argument \"%s\" is not specified. \n" +#~ "Type \"%s help %s\" for more info" +#~ msgstr "" +#~ "Argument \"%(arg)s\" nie jest określony. \n" +#~ "Wpisz \"%(basename)s help %(command)s\" aby uzyskać więcej informacji" + +#~ msgid "Disk WriteError" +#~ msgstr "Błąd zapisu na dysk" + +#~ msgid "Subject: %s" +#~ msgstr "Temat: %s" + +#~ msgid "Mood: %s" +#~ msgstr "Nastrój: %s" + +#, fuzzy +#~ msgid "Activity: %s" +#~ msgstr "Aktywność:" + +#~ msgid "@" +#~ msgstr "@" + +#~ msgid "_Disable showing event in systray" +#~ msgstr "Wyłącz pokazywanie _zdarzenia w obszarze powiadamiania" + +#~ msgid "_Show event in systray" +#~ msgstr "Pokaż _zdarzenie w obszarze powiadamiania" + +#, fuzzy +#~ msgid "Always use GNOME default applications" +#~ msgstr "Zawsze używaj domyślnych apikacji OS X" + +#, fuzzy +#~ msgid "Always use Xfce default applications" +#~ msgstr "Zawsze używaj domyślnych apikacji OS X" + +#, fuzzy +#~ msgid "Autodetect on every Gajim startup" +#~ msgstr "P_ołącz przy starcie programu" + +#~ msgid "Show systray:" +#~ msgstr "Pokaż _zdarzenie w obszarze powiadamiania" + +#~ msgid "Nickname not allowed: %s" +#~ msgstr "Pseudonim jest niedozwolony: %s" + +#~ msgid "we are now subscribed to %s" +#~ msgstr "Zapisaliśmy się do %s" + +#~ msgid "we are now unsubscribed from %s" +#~ msgstr "Wypisaliśmy się z %s" + +#~ msgid "Account Modification" +#~ msgstr "Modyfikacja konta" + +#~ msgid "" +#~ "Check this so Gajim will connect in port 5223 where legacy servers are " +#~ "expected to have SSL capabilities. Note that Gajim uses TLS encryption by " +#~ "default if broadcasted by the server, and with this option enabled TLS " +#~ "will be disabled" +#~ msgstr "" +#~ "Zaznaczenie tej opcji spowoduje łączenia na porcie 5223 gdzie większość " +#~ "serwerów udostępnia usługę SSL. Gajim używa szyfrowania TLS domyślnie, " +#~ "jeśli tylko serwer daje taką możliwość. Ta opcja wyłącza TLS" + +#~ msgid "Edit Personal Information..." +#~ msgstr "Zmień informacje o sobie..." + +#~ msgid "Hostname: " +#~ msgstr "Nazwa hosta: " + +#~ msgid "" +#~ "If checked, Gajim will store the password in ~/.gajim/config with 'read' " +#~ "permission only for you" +#~ msgstr "" +#~ "Zaznaczanie tej opcji spowoduje przechowywanie hasła w pliku ~/.gajim/" +#~ "config z prawem do odczytu tylko dla ciebie" + +#~ msgid "Port: " +#~ msgstr "Port: " + +#~ msgid "Save _passphrase (insecure)" +#~ msgstr "Zapisz _hasło (nie jest to bezpieczne)" + +#~ msgid "Use _SSL (legacy)" +#~ msgstr "Korzystaj z _SSL" + +#~ msgid "gtk-add" +#~ msgstr "gtk-add" + +#~ msgid "gtk-close" +#~ msgstr "gtk-close" + +#~ msgid "gtk-remove" +#~ msgstr "gtk-remove" + +#~ msgid "" +#~ "Receive a Message\n" +#~ "Contact Disconnected \n" +#~ "Contact Change Status \n" +#~ "Group Chat Message Highlight \n" +#~ "Group Chat Message Received \n" +#~ "File Transfer Request \n" +#~ "File Transfer Started \n" +#~ "File Transfer Finished" +#~ msgstr "" +#~ "otrzymam wiadomość\n" +#~ "kontakt się rozłączy \n" +#~ "kontakt zmieni status \n" +#~ "na czacie pojawi się słowo kluczowe \n" +#~ "otrzymam wiadomość na czacie \n" +#~ "pojawi się żądanie przesłania pliku \n" +#~ "rozpocznie się transfer pliku \n" +#~ "zakończy się transfer pliku" + +#~ msgid "" +#~ "contact(s)\n" +#~ "group(s)\n" +#~ "everybody" +#~ msgstr "" +#~ "kontaktu(-ów)\n" +#~ "grupy(grup)\n" +#~ "wszystkich" + +#~ msgid "" +#~ "Account row\n" +#~ "Group row\n" +#~ "Contact row\n" +#~ "Chat Banner" +#~ msgstr "" +#~ "Konto\n" +#~ "Grupa\n" +#~ "Kontakt\n" +#~ "Banner" + +#~ msgid "" +#~ "Enter JID or Contact name\n" +#~ "Groupchat Histories\n" +#~ "All Chat Histories" +#~ msgstr "" +#~ "Wpisz JID lub nazwe kontaktu\n" +#~ "Historia rozmów grupowych\n" +#~ "Wszystkie historie rozmów" + +#~ msgid "gtk-delete" +#~ msgstr "gtk-delete" + +#~ msgid "Send a file (Ctrl+F)" +#~ msgstr "Wyślij plik (Ctrl+F)" + +#~ msgid "" +#~ "All chat states\n" +#~ "Composing only\n" +#~ "Disabled" +#~ msgstr "" +#~ "Wszystkie stany rozmowy\n" +#~ "Tylko dotyczące pisania\n" +#~ "Wyłączone" + +#~ msgid "" +#~ "Autodetect on every Gajim startup\n" +#~ "Always use GNOME default applications\n" +#~ "Always use KDE default applications\n" +#~ "Always use Xfce default applications\n" +#~ "Custom" +#~ msgstr "" +#~ "Automatyczne wykrywanie przy każdym uruchomieniu Gajima\n" +#~ "Zawsze używaj domyślnych aplikacji GNOME\n" +#~ "Zawsze używaj domyślnych aplikacji KDE\n" +#~ "Zawsze używaj domyślnych aplikacji Xfce\n" +#~ "Własne" + +#~ msgid "" +#~ "Detached roster with detached chats\n" +#~ "Detached roster with single chat\n" +#~ "Single window for everything\n" +#~ "Detached roster with chat grouped by account\n" +#~ "Detached roster with chat grouped by type" +#~ msgstr "" +#~ "Oddzielne okno rostera, oddzielne okna czatów\n" +#~ "Oddzielne okno rostera, wspólne okno rozmów\n" +#~ "Jedno, wspólne okno dla rostera i rozmów\n" +#~ "Oddzielne okno rostera, rozmowy grupowane według konta\n" +#~ "Oddzielne okno rostera, rozmowy grupowane według typu" + +#~ msgid "" +#~ "Pop it up\n" +#~ "Notify me about it\n" +#~ "Show only in roster" +#~ msgstr "" +#~ "Otwórz okno\n" +#~ "Powiadom mnie o tym\n" +#~ "Pokaż tylko w rosterze" + +#~ msgid "" +#~ "none\n" +#~ "both\n" +#~ "from\n" +#~ "to" +#~ msgstr "" +#~ "brak\n" +#~ "obie\n" +#~ "od\n" +#~ "do" + +#~ msgid "gtk-cancel" +#~ msgstr "gtk-cancel" + +#~ msgid "pysqlite2 (aka python-pysqlite2) dependency is missing. Exiting..." +#~ msgstr "" +#~ "Nie znaleziono biblioteki pysqlite2 (lub python-pysqlite2). Kończenie " +#~ "pracy programu..." + +#~ msgid "Banners and clickable links" +#~ msgstr "Banery i klikalne linki" + +#~ msgid "Ability to have clickable URLs in chat and groupchat window banners." +#~ msgstr "Dodaje możliwość wyświetlania aktywnych ('klikalnych') adresów URL." + +#~ msgid "Requires python-sexy." +#~ msgstr "Wymaga python-sexy" + +#~ msgid "GTK+ runtime is missing libglade support" +#~ msgstr "W GTK+ brakuje wsparcia dla libglade" + +#~ msgid "" +#~ "Please remove your current GTK+ runtime and install the latest stable " +#~ "version from %s" +#~ msgstr "" +#~ "Proszę usunąć obecną wersje GTK+ i zainstalować najnowszą stabilną wesję " +#~ "z %s" + +#~ msgid "" +#~ "Please make sure that GTK+ and PyGTK have libglade support in your system." +#~ msgstr "" +#~ "Sprawdź, czy GTK+ oraz PyGTK posiadają w twoim systemie wsparcie dla " +#~ "libglade." + +#~ msgid "Gajim needs PySQLite2 to run" +#~ msgstr "Gajim wymaga do działania PySQLite2" + +#, fuzzy +#~ msgid "gtk-ok" +#~ msgstr "gtk-close" + +#~ msgid "" +#~ "The host %s you configured as the ft_add_hosts_to_send advanced option is " +#~ "not valid, so ignored." +#~ msgstr "" +#~ "Nazwa hosta %s, którą określiłeś w opcji ft_add_hosts_to_send jest " +#~ "niepoprawna, będzie więc ignorowana." + +#~ msgid "OpenPGP passphrase was not given" +#~ msgstr "Nie podano klucza OpenPGP" + +#~ msgid "" +#~ "To continue sending and receiving messages, you will need to reconnect." +#~ msgstr "" +#~ "Aby dalej wysyłać i odbierać wiadomości musisz się ponownie połączyć." + +#~ msgid "" +#~ "You are not connected or not visible to others. Your message could not be " +#~ "sent." +#~ msgstr "" +#~ "Nie jesteś połączony, lub masz status 'niewidoczny'. Twoja wiadomość nie " +#~ "mogła zostać wysłana." + +#~ msgid "[This message is encrypted]" +#~ msgstr "[Ta wiadomość jest zaszyfrowana]" + +#~ msgid "A icon in systemtray reflecting the current presence." +#~ msgstr "Ikona w obszarze powiadamiania odzwierciedla aktualny status." + +#~ msgid "" +#~ "Requires python-gnome2-extras or compiled trayicon module from Gajim " +#~ "sources." +#~ msgstr "" +#~ "Wymaga python-gnome2-extras lub skompilowanego modułu trayicon ze źródeł " +#~ "Gajima." + +#~ msgid "Requires PyGTK >= 2.10." +#~ msgstr "Wymaga PyGTK >= 2.10." + +#~ msgid "Add Special _Notification" +#~ msgstr "Dodaj powiadomienia _specjalne" + +#~ msgid "Assign Open_PGP Key" +#~ msgstr "Przypisz klucz Open_PGP" + +#~ msgid "" +#~ "Usage: /%(command)s , sends action to the current group chat. Use " +#~ "third person. (e.g. /%(command)s explodes.)" +#~ msgstr "" +#~ "Użycie: /%(command)s spowoduje wysłanie działania do " +#~ "aktualnego pokoju. Używaj w trzeciej osobie. (np. /%(command)s " +#~ "eksploduje.)" + +#~ msgid "No help info for /%s" +#~ msgstr "Brak informacji o pomocy dla /%s" + +#~ msgid "Enable link-local/zeroconf messaging" +#~ msgstr "Uaktywnij komunikację link-local/zeroconf" + +#~ msgid "Nickname not found: %s" +#~ msgstr "Pseudonim nie został odnaleziony: %s" + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s [reason], bans the JID from the group chat. The " +#~ "nickname of an occupant may be substituted, but not if it contains \"@\". " +#~ "If the JID is currently in the group chat, he/she/it will also be kicked." +#~ msgstr "" +#~ "Użycie: /%s [powód] banuje JID w pokoju. Pseudonim osoby " +#~ "może zostać zmieniony o ile nie zawiera \"@\". Jeśli JID jest obecnie w " +#~ "pokoju, to zostanie z niego wyrzucony. NIE toleruje spacji w pseudonimie." + +#~ msgid "" +#~ "Usage: /%s [reason], closes the current window or tab, displaying reason " +#~ "if specified." +#~ msgstr "" +#~ "Użycie: /%s [powód] zamyka aktualne okno lub kartę i wyświetla powóc, " +#~ "jeśli został podany." + +#~ msgid "" +#~ "Usage: /%s [reason], invites JID to the current group chat, " +#~ "optionally providing a reason." +#~ msgstr "" +#~ "Użycie: /%s [powód] zaprasza JID do aktualnego pokoju, opcjonalnie " +#~ "wyświetlając powód." + +#~ msgid "" +#~ "Usage: /%s @[/nickname], offers to join room@server " +#~ "optionally using specified nickname." +#~ msgstr "" +#~ "Użycie: /%s @[/pseudonim] oferuje przyłączenie się do " +#~ "pokój@serwer opcjonalnie z wykorzystaniem podanego psedonimu." + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s [reason], removes the occupant specified by " +#~ "nickname from the group chat and optionally displays a reason." +#~ msgstr "" +#~ "Użycie: /%s [powód] usuwa podaną poprzez pseudonim osobę z " +#~ "pokoju i opcjonalnie wyświetla powód. NIE wspiera spacji w pseudonimie." + +#~ msgid "" +#~ "Usage: /%s [message], opens a private message window and sends " +#~ "message to the occupant specified by nickname." +#~ msgstr "" +#~ "Użycie: /%s [wiadomość] otwiera okno prywatnej wiadomości i " +#~ "wysyła ją do osoby o takim pseudonimie." + +#~ msgid "Usage: /%s , changes your nickname in current group chat." +#~ msgstr "Użycie: /%s zmienia twój pseudonim w aktualnym pokoju." + +#~ msgid "" +#~ "Usage: /%s [topic], displays or updates the current group chat topic." +#~ msgstr "" +#~ "Użycie: /%s [temat] wyświetla lub aktualizuje temat aktualnego pokoju." + +#~ msgid "" +#~ "Usage: /%s , sends a message without looking for other commands." +#~ msgstr "" +#~ "Użycie: /%s wysyła wiadomość bez sprawdzania innych poleceń." + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s , allow to send you messages and private " +#~ "messages." +#~ msgstr "Użycie: /%s zmienia twój pseudonim w aktualnym pokoju." + +#~ msgid "B_OSH Port:" +#~ msgstr "B_OSH Port:" + +#~ msgid "File transfer stopped by the contact at the other end" +#~ msgstr "Przesyłanie pliku zostało zatrzymane przez drugą osobę" + +#~ msgid "Generic" +#~ msgstr "Ogólne" + +#~ msgid "Select the account with which to synchronise" +#~ msgstr "Wskaż konto, z którym chcesz zsynchronizować kontakty" + +#~ msgid "" +#~ "%(title)s by %(artist)s\n" +#~ "from %(source)s" +#~ msgstr "\"%(title)s\" w wykonaniu %(artist)sz %(source)s" + +#~ msgid "Click to see features (like MSN, ICQ transports) of jabber servers" +#~ msgstr "" +#~ "Kliknij by zobaczyć możliwości serwerów jabbera (np. transporty MSN czy " +#~ "ICQ)" + +#~ msgid "Your JID:" +#~ msgstr "Twój JID:" + +#~ msgid "Modify Account" +#~ msgstr "Modyfikuj konto" + +#~ msgid "Gajim account %s" +#~ msgstr "Konto Gajim'a %s" + +#~ msgid "This account is already configured in Gajim." +#~ msgstr "Konto o takiej nazwie jest już skonfigurowane." + +#~ msgid "PyOpenSSL" +#~ msgstr "PyOpenSSL" + +#~ msgid "gnome-keyring" +#~ msgstr "Baza kluczy GNOME" + +#~ msgid "" +#~ "Requires python-gnome2-extras or compilation of gtkspell module from " +#~ "Gajim sources." +#~ msgstr "" +#~ "Wymaga python-gnome2-extras lub kompilacji gtkspell ze źródeł Gajima." + +#~ msgid "Notification-daemon" +#~ msgstr "Powiadamianie o zdarzeniach" + +#~ msgid "Idle" +#~ msgstr "Stan bezczynności" + +#~ msgid "Requires compilation of the idle module from Gajim sources." +#~ msgstr "Wymaga kompilacji modułu idle ze źródeł Gajima." + +#~ msgid "libsexy" +#~ msgstr "libsexy" + +#~ msgid "%s has not broadcast an OpenPGP key, nor has one been assigned" +#~ msgstr "" +#~ "Ani %s nie przesyła swojego klucza OpenPGP, ani Ty nie przypisałeś mu " +#~ "żadnego klucza" + +#~ msgid "No such command: /%s (if you want to send this, prefix it with /say)" +#~ msgstr "" +#~ "Nie ma takiego polecenia: /%s (jeśli chcesz je wysłać, poprzedź je " +#~ "znakami: /say)" + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s , sends action to the current group chat. Use third " +#~ "person. (e.g. /%s explodes.)" +#~ msgstr "" +#~ "Użycie: /%s wysyła działanie do aktualnego pokoju. Używaj w " +#~ "trzeciej osobie (np. /%s eksploduje.)" + +#~ msgid "" +#~ "If checked, Gajim will sort contacts in roster window and groupchats by " +#~ "their status and not by the shown name" +#~ msgstr "" +#~ "Zaznaczenie tej opcji spowoduje posortowanie listy kontaktów według ich " +#~ "statusu a nie według nazw" + +#~ msgid "The username used to identify the Last.fm account." +#~ msgstr "Nazwa użytkownika serwisu Last.fm." + +#~ msgid "Network Manager support not available" +#~ msgstr "Brak wsparcia dla Network Managera" + +#~ msgid "Session Management support not available (missing gnome.ui module)" +#~ msgstr "Wsparcie dla Menadżera Sesji jest niedostępne (brak modułu gnome.ui" + +#~ msgid "E2E encryption enabled" +#~ msgstr "Szyfrowanie E2E włączone" + +#~ msgid "General:" +#~ msgstr "Ogólne" + +#~ msgid "_Make message windows compact" +#~ msgstr "_Spraw, by okna wiadomości były zwarte" + +#~ msgid "A_ccounts" +#~ msgstr "_Konta" + +#, fuzzy +#~ msgid "\"%(title)s\" by " +#~ msgstr "\"%(title)s\" w wykonaniu %(artist)s" + +#, fuzzy +#~ msgid "The following message was " +#~ msgstr "Ta wiadomość została jest zaszyfrowana" + +#~ msgid "%s is now %s" +#~ msgstr "%s ma teraz status %s" + +#~ msgid "cold" +#~ msgstr "Zziębnięty" + +#~ msgid "hot" +#~ msgstr "napalony" + +#~ msgid "moody" +#~ msgstr "markotny" + +#~ msgid "working" +#~ msgstr "pracuję" + +#~ msgid "inactive" +#~ msgstr "nieaktywny" + +#~ msgid "walking" +#~ msgstr "Spaceruję" + +#~ msgid "sleeping" +#~ msgstr "Śpię" + +#~ msgid "%s - %s" +#~ msgstr "%s - %s" + +#~ msgid "Click to see past conversation in this room" +#~ msgstr "Kliknij by zobaczyć poprzednie rozmowy w tym pokoju" + +#~ msgid "History Viewer" +#~ msgstr "Przeglądanie historii" + +#~ msgid "JID Selection" +#~ msgstr "Wybór JID-a" + +#~ msgid "" +#~ "Choose the chatlog you want to view. \n" +#~ "Enter the jid of a groupchat or a contact here. For online accounts you " +#~ "can even enter a a contact's nickname." +#~ msgstr "" +#~ "Wybierz katalog, który chcesz przejrzeć. \n" +#~ "Tu wpisz JID czatu lub kontaktu. Jeżeli kontakt jest online, możesz podać " +#~ "sam nick." + +#~ msgid "in" +#~ msgstr "w" + +#~ msgid "Invitation Received" +#~ msgstr "Zaproszenie Odebrane" + +#~ msgid "Publish and Subscribe" +#~ msgstr "Publikuj i subskrybuj" + +#~ msgid "Allow others to see your:" +#~ msgstr "_Pozwól innym widzieć swój:" + +#~ msgid "Receive your contact's:" +#~ msgstr "Odbieraj powiadomomienia o zmianie:" + +#~ msgid "" +#~ "\n" +#~ "From: %(from_address)s" +#~ msgstr "" +#~ "\n" +#~ "Od: %(from_address)s" + +#~ msgid "OK to continue with negotiation?" +#~ msgstr "Czy kontynuować negocjację?" + +#~ msgid "" +#~ "You've begun an encrypted session with %s, but it can't be guaranteed " +#~ "that you're talking directly to the person you think you are.\n" +#~ "\n" +#~ "You should speak with them directly (in person or on the phone) and " +#~ "confirm that their Short Authentication String is identical to this one: " +#~ "%s\n" +#~ "\n" +#~ "Would you like to continue with the encrypted session?" +#~ msgstr "" +#~ "Rozpocząłeś szyfrowaną sesję z %s, ale nie można zagwarantować, że " +#~ "rozmawiasz bezpośrednio z odpowiednią osobą.\n" +#~ "\n" +#~ "Powienieneś(-winnaś) porozmawiać z nią w cztery osobiście lub za " +#~ "pośrednictwem telefonu i potwierdzić, że jej SAS (Short Authentication " +#~ "String) jest identyczny z poniższym: %s\n" +#~ "Czy chcesz kontynuować tą sesję?" + +#~ msgid "Yes, I verified the Short Authentication String" +#~ msgstr "Tak, SAS został zweryfikowany." + +#~ msgid "" +#~ "To continue, Gajim needs to access your stored secrets. Enter your " +#~ "passphrase" +#~ msgstr "" +#~ "Aby kontynuować, Gajim musi uzyskać dostęp do Twoich haseł. Proszę podać " +#~ "hasło główne" + +#~ msgid "Confirm Passphrase" +#~ msgstr "Potwierdź hasło" + +#~ msgid "Enter your new passphrase again for confirmation" +#~ msgstr "Wpisz ponownie nowe hasło" + +#~ msgid "Create Passphrase" +#~ msgstr "Utwórz hasło" + +#~ msgid "Passphrases did not match.\n" +#~ msgstr "Hasła nie zgadzają się.\n" + +#~ msgid "Gajim needs you to create a passphrase to encrypt stored secrets" +#~ msgstr "Proszę podać hasło główne służące do zaszyfrowania danych poufnych" + +#~ msgid "Role:" +#~ msgstr "Funkcja:" + +#~ msgid "" +#~ "If checked, Gajim can regularly poll a Last.fm account and sends recently " +#~ "played songs through PEP." +#~ msgstr "" +#~ "Po zaznaczeniu tej opcji Gajim będzie wysyłał (via PEP) do serwisu Last." +#~ "fm informacje o odtwarzanych utworach." + +#~ msgid "" +#~ "When negotiating an encrypted session, should Gajim prefer to use public " +#~ "keys for identification?" +#~ msgstr "" +#~ "Czy podczas negocjowania szyfrowanej sesji Gajim ma kluczy publicznych?" + +#~ msgid "Connection to host could not be established" +#~ msgstr "Nie można ustanowić połączenia z hostem" + +#~ msgid "" +#~ "Connection to host could not be established: Incorrect answer from server." +#~ msgstr "Nie można ustanowić połączenia z hostem. Nieprawidłowa odpowiedź." + +#~ msgid "Format of a line" +#~ msgstr "Format linii" + +#~ msgid "" +#~ "An example: If you have enabled status message for away, Gajim won't ask " +#~ "you anymore for a status message when you change your status to away; it " +#~ "will use the default one set here" +#~ msgstr "" +#~ "Przykład: jeżeli ustawiłeś status opisowy dla stanu 'nieobecny', Gajim " +#~ "zapamięta go i nie będzie prosił o jego zmianę po ponownym ustawieniu " +#~ "takiego stanu" + +#~ msgid "" +#~ "Determined by sender\n" +#~ "Chat message\n" +#~ "Single message" +#~ msgstr "" +#~ "Określa nadawca\n" +#~ "Rozmowę\n" +#~ "Pojedynczą wiadomość" + +#~ msgid "Hides buttons in chatwindows to " +#~ msgstr "Ukrywa przyciski w oknie czatu " + +#~ msgid "" +#~ "Never\n" +#~ "Always\n" +#~ "Per account\n" +#~ "Per type" +#~ msgstr "" +#~ "Nigdy\n" +#~ "Zawsze\n" +#~ "Według konta\n" +#~ "Według typu" + +#~ msgid "Set status message to reflect currently playing _music track" +#~ msgstr "Wyświetlaj informacje o odtwarzanej _muzyce w statusie opisowym" + +#~ msgid "The auto away status message" +#~ msgstr "Automatyczny status \"Zaraz wracam\"" + +#~ msgid "The auto not available status message" +#~ msgstr "Automatyczny status \"Nieobecny\"" + +#~ msgid "Treat all incoming messages as:" +#~ msgstr "Traktuj wszystkie otrzymane wiadomości jako:" + +#~ msgid "Use only one message _window:" +#~ msgstr "_Grupuj okna:" + +#~ msgid "" +#~ "Works for Rhythmbox and Muine players. For more players, please visit " +#~ "http://trac.gajim.org/wiki/GajimAndMusicPlayer" +#~ msgstr "" +#~ "Funkcja ta działa z programami Rhythmbox oraz Muine. Jeżeli zależy ci na " +#~ "obsłudze innego oprogramowania, odwiedź stronę http://trac.gajim.org/wiki/" +#~ "GajimAndMusicPlayer" + +#~ msgid "_Advanced Notifications Control..." +#~ msgstr "_Edytor zaawansowanych ustawień" + +#~ msgid "_Player:" +#~ msgstr "_Program odtwarzający dźwięk:" + +#~ msgid "OS:" +#~ msgstr "System operacyjny:" + +#~ msgid "You will always see him or her as offline." +#~ msgstr "Zawsze będziesz widział ten kontakt jako niepołączony." + +#~ msgid "%s is now %s (%s)" +#~ msgstr "%s ma teraz status %s (%s)" + +#~ msgid "%s - Gajim" +#~ msgstr "%s - Gajim" + +#~ msgid "_New group chat" +#~ msgstr "_Nowa rozmowa grupowa" + +#~ msgid "_Log off" +#~ msgstr "R_ozłącz" + +#~ msgid "Save passphrase" +#~ msgstr "Zapisz hasło" + +#~ msgid "Connected to server %s:%s with %s" +#~ msgstr "Połączony z serwerem %s: %s z %s" + +#~ msgid "Build custom query" +#~ msgstr "Stwórz własne zapytanie" + +#~ msgid "" +#~ "Enter a contact jid or MUC jid here to view its history.\n" +#~ "If a contact is connected you can even enter his nick name.\n" +#~ msgstr "" +#~ "Wprowadź nazwę użytkownika z rostera lub czatu aby przejrzeć historię " +#~ "rozmów.\n" +#~ "Jeżeli jest połączony, możesz podać jego nazwę.\n" + +#~ msgid "Query Builder..." +#~ msgstr "Kreator zapytań..." + +#~ msgid "_Discover Services..." +#~ msgstr "_Wyszukuj usługi..." + +#~ msgid "_Retype Password:" +#~ msgstr "_Powtórz hasło:" + +#~ msgid "" +#~ "If checked, all local contacts that use a Bonjour compatible chat client " +#~ "(like iChat, Trillian or Gaim) will be shown in roster. You don't need to " +#~ "be connected to a jabber server for it to work.\n" +#~ "This is only available if python-avahi is installed and avahi-daemon is " +#~ "running." +#~ msgstr "" +#~ "Jeżeli opcja ta zostanie uaktywniona, znajdujące się w twojej sieci " +#~ "lokalnej kontakty używające klienta wykorzystującego technologię Bonjour " +#~ "(jak iChat, Trillian czy Gaim) pojawią się na rosterze. Nie musisz łączyć " +#~ "się z serwerem Jabbera, by z nimi rozmawiać." + +#~ msgid "" +#~ "If you have 2 or more accounts and this is checked, Gajim will list all " +#~ "contacts as if you had one account" +#~ msgstr "" +#~ "Jeśli masz dwa konta lub więcej, to dzięki tej opcji Gajim pokaże " +#~ "wszystkie kontakty w taki sposób, jakby było to jedno konto" + +#~ msgid "_Enable link-local messaging" +#~ msgstr "_Uaktywnij przesyłanie wiadomości do adresów link-local" + +#~ msgid "_Blocked Contacts" +#~ msgstr "_Kontakty zablokowane" + +#~ msgid "_Compact View Alt+C" +#~ msgstr "Widok _zwarty Alt+C" + +#~ msgid "Interface Customization" +#~ msgstr "Własne ustawienia interfejsu" + +#~ msgid "Also known as iChat style" +#~ msgstr "Znany także jako styl iChat" + +#~ msgid "E_very 5 minutes" +#~ msgstr "Co 5 _minut" + +#~ msgid "" +#~ "Gajim will automatically show new events by popping up the relevant window" +#~ msgstr "" +#~ "Gajim automatycznie wyświetli nową wiadomość w nowym oknie lub w nowej " +#~ "karcie otwartego okna rozmowy" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed in" +#~ msgstr "" +#~ "Gajim powiadomi automatycznie przy pomocy okna w prawym dolnym rogu o " +#~ "kontaktach, które zmieniają status na Dostępny" + +#~ msgid "" +#~ "Gajim will only change the icon of the contact that triggered the new " +#~ "event" +#~ msgstr "Gajim zmieni jedynie ikonę kontaktu, który przysłał nową wiadomość" + +#~ msgid "" +#~ "If checked, Gajim will remember the roster and chat window positions in " +#~ "the screen and the sizes of them next time you run it" +#~ msgstr "" +#~ "Zaznaczenie tej opcji spowoduje zapamiętanie położenia głównego okna " +#~ "programu na ekranie oraz jego rozmiaru" + +#~ msgid "Outgoing Chat state noti_fications:" +#~ msgstr "Wysyłanie powiadomienia o stanie _rozmowy:" + +#~ msgid "Print time:" +#~ msgstr "Wyświetlaj czas:" + +#~ msgid "Save _position and size for roster and chat windows" +#~ msgstr "Zapisz _pozycję i rozmiar okna kontaktów i okna rozmowy" + +#~ msgid "" +#~ "When a new event (message, file transfer request etc..) is received, the " +#~ "following methods may be used to inform you about it. Please note that " +#~ "events about new messages only occur if it is a new message from a " +#~ "contact you are not already chatting with" +#~ msgstr "" +#~ "Kiedy pojawi się nowe zdarzenie (wiadomość, prośba o przesłanie pliku " +#~ "itp.), możesz zostać o tym powiadomiony na takie sposoby. UWAGA: Nowa " +#~ "wiadomość pojawia się jeśli nie pochodzi od osoby, z którą aktualnie " +#~ "rozmawiasz" + +#~ msgid "Send cus_tom status" +#~ msgstr "Wyślij _odrębny status" + +#~ msgid "_Remove from Roster" +#~ msgstr "_Usuń z listy kontaktów" + +#~ msgid "Click to force avatar" +#~ msgstr "Kliknij aby ustawić avatar" + +#~ msgid "" +#~ "If that is not your language for which you want to highlight misspelled " +#~ "words, then please set your $LANG as appropriate. Eg. for French do " +#~ "export LANG=fr_FR or export LANG=fr_FR.UTF-8 in ~/.bash_profile or to " +#~ "make it global in /etc/profile.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "Jeśli podświetlanie błędów w pisowni działa dla niewłaściwego języka, to " +#~ "ustaw odpowiednio zmienną środowiskową $LANG. Np. dla języka polskiego " +#~ "wpisz export LANG=pl_PL do pliku ~/.bash_profile lub globalnie do pliku " +#~ "in /etc/profile.\n" +#~ "\n" +#~ "Podświedlanie błędów w pisowni nie będzie używane" + +#~ msgid "Every %s _minutes" +#~ msgstr "Co %s _minut" + +#~ msgid "Blocked Contacts for %s" +#~ msgstr "Kontakty zablokowane (dla %s)" + +#~ msgid "%s does not appear to be a valid JID" +#~ msgstr "%s nie wygląda na poprawny JID" + +#~ msgid "Drop %s in group %s" +#~ msgstr "Usuń %s z grupy %s" + +#~ msgid "Hides the buttons in two persons chat window." +#~ msgstr "Ukrywa przyciski podczas rozmowy dwóch osób." + +#~ msgid "" +#~ "The server's key has changed, or someone is trying to hack your " +#~ "connection." +#~ msgstr "" +#~ "Zmienił się klucz twojego serwera lub ktoś próbuje podsłuchać połączenie." + +#~ msgid "Unable to check fingerprint for %s. Connection could be insecure." +#~ msgstr "" +#~ "Nie można sprawdzić odcisku klucza %s. Połączenie może nie być bezpieczne" + +#~ msgid "Missing fingerprint in SSL connection to %s" +#~ msgstr "Brak odcisku klucza w połączeniu SSL z %s" + +#~ msgid "Fingerprint mismatch for %s: Got %s, expected %s" +#~ msgstr "Niezgodność odcisku klucza %s. Oczekiwano %s, otrzymano %s" + +#~ msgid " %d unread single message" +#~ msgid_plural " %d unread single messages" +#~ msgstr[0] "%d nieprzeczytana wiadomość" +#~ msgstr[1] "%d nieprzeczytane wiadomości" +#~ msgstr[2] "Gajim - %d nieprzeczytane wiadomości" + +#~ msgid " %d unread group chat message" +#~ msgid_plural " %d unread group chat messages" +#~ msgstr[0] "%d nieprzeczytana wiadomość z czatu" +#~ msgstr[1] "%d nieprzeczytane wiadomości z czatu" +#~ msgstr[2] "Gajim - %d nieprzeczytane wiadomości" + +#~ msgid " %d unread private message" +#~ msgid_plural " %d unread private messages" +#~ msgstr[0] "%d nieprzeczytana wiadomość prywatna" +#~ msgstr[1] "%d nieprzeczytane wiadomości prywatne" +#~ msgstr[2] "Gajim - %d nieprzeczytane wiadomości" + +#~ msgid "gtk+" +#~ msgstr "gtk+" + +#~ msgid "2003-12-13T18:30:02Z" +#~ msgstr "2003-12-13T18:30:02Z" + +#~ msgid "Romeo and Juliet" +#~ msgstr "Romeo i Julia" + +#~ msgid "Soliloquy" +#~ msgstr "Monolog" + +#~ msgid "Private Chat" +#~ msgstr "Rozmowa prywatna" + +#~ msgid "I'm %s" +#~ msgstr "Jestem %s" + +#~ msgid "_After time:" +#~ msgstr "_Po czasie:" + +#~ msgid "_Before time:" +#~ msgstr "P_rzed czasem:" + +#~ msgid "_Retrieve" +#~ msgstr "_Przywróć" + +#~ msgid "Information published" +#~ msgstr "Informacja została opublikowana" + +#~ msgid "Without a connection, you can not get your contact information." +#~ msgstr "Musisz być połączony by uzyskać informacje o kontakcie." + +#~ msgid "This is result of query." +#~ msgstr "Oto wynik zapytania." + +#~ msgid "Edit items on the list" +#~ msgstr "Edytuj obiekty na liście" + +#~ msgid "Merge consecutive nickname in chat window." +#~ msgstr "Łącz następujące po sobie te same nicki w oknie czata." + +#~ msgid "Role: " +#~ msgstr "Funkcja: " + +#~ msgid "" +#~ "Sound to play when any MUC message arrives. (This setting is taken into " +#~ "account only if notify_on_all_muc_messages is True)" +#~ msgstr "" +#~ "Dźwięk, który zostanie odtworzony, gdy nadejdzie wiadomość MUC. (Ta opcja " +#~ "jest brana pod uwagę jedynie gdy zmienna notify_on_all_muc_messages ma " +#~ "wartość True)" + +#~ msgid "Away " +#~ msgstr "Zaraz wracam " + +#~ msgid "Down" +#~ msgstr "W dół" + +#~ msgid "List of special notifications settings" +#~ msgstr "Lista akcji dla powiadomień" + +#~ msgid "Not Available " +#~ msgstr "Nieobecny " + +#~ msgid "Up" +#~ msgstr "Do góry" + +#~ msgid "Create your own Privacy Lists" +#~ msgstr "Stwórz własną listę prywatności" + +#~ msgid "Server-based Privacy Lists" +#~ msgstr "Listy prywatności po stronie serwera" + +#~ msgid "Jabber" +#~ msgstr "Jabber" + +#~ msgid "Invalid room or server name" +#~ msgstr "Niepoprawna nazwa pokoju lub serwera" + +#~ msgid "Your personal information has been published successfully." +#~ msgstr "Informacje o tobie zostały opublikowane." + +#~ msgid "Migrating Logs..." +#~ msgstr "Przenoszenie logów..." + +#~ msgid "Gajim - %d unread message" +#~ msgid_plural "Gajim - %d unread messages" +#~ msgstr[0] "Gajim - %d nieprzeczytana wiadomość" +#~ msgstr[1] "Gajim - %d nieprzeczytane wiadomości" +#~ msgstr[2] "Gajim - %d nieprzeczytane wiadomości" + +#~ msgid "Since %s" +#~ msgstr "Od %s" diff --git a/po/pt.po b/po/pt.po new file mode 100644 index 0000000..2be0ca2 --- /dev/null +++ b/po/pt.po @@ -0,0 +1,15476 @@ +# Portuguese translations for Gajim package. +# Copyright (C) 2005 THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the Gajim package. +# +msgid "" +msgstr "" +"Project-Id-Version: Gajim 0.6\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-01 17:44+0100\n" +"PO-Revision-Date: 2020-07-03 20:44+0000\n" +"Last-Translator: Fabiano Borges de Sousa \n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.1.1\n" + +#: gajim/history_manager.py:78 +#, fuzzy +msgid "Usage:" +msgstr "mensagem" + +#: gajim/history_manager.py:80 +#, fuzzy +msgid "Options:" +msgstr "Gerir Emoticons" + +#: gajim/history_manager.py:82 +msgid "Show this help message and exit" +msgstr "" + +#: gajim/history_manager.py:83 +msgid "Choose folder for logfile" +msgstr "" + +#: gajim/history_manager.py:113 +#, fuzzy +msgid "Cannot find history logs database" +msgstr "a criar base de dados dos logs" + +#: gajim/history_manager.py:114 +#, fuzzy, python-format +msgid "%s does not exist." +msgstr "Tal sala não existe." + +#: gajim/history_manager.py:147 gajim/history_manager.py:201 +#: gajim/gtk/add_contact.py:31 gajim/gtk/discovery.py:833 +#: gajim/gtk/accounts.py:892 gajim/data/gui/vcard_information_window.ui:55 +#: gajim/data/gui/bookmarks.ui:45 gajim/data/gui/blocking_list.ui:43 +#: gajim/data/gui/mam_preferences.ui:117 +#, fuzzy +msgid "XMPP Address" +msgstr "_Endereço:" + +#: gajim/history_manager.py:160 gajim/history_manager.py:208 +#: gajim/gtk/history.py:108 gajim/data/gui/history_window.ui:89 +msgid "Date" +msgstr "Data:" + +#: gajim/history_manager.py:167 gajim/history_manager.py:231 +#: gajim/data/gui/profile.ui:232 gajim/data/gui/vcard_information_window.ui:442 +#: gajim/data/gui/bookmarks.ui:84 +#, fuzzy +msgid "Nickname" +msgstr "Alcunha:" + +#: gajim/history_manager.py:178 gajim/history_manager.py:217 +#: gajim/gtk/history.py:117 gajim/data/gui/single_message_window.ui:266 +msgid "Message" +msgstr "Mensagem" + +#: gajim/history_manager.py:186 gajim/history_manager.py:224 +#: gajim/data/gui/groups_post_window.ui:49 +#: gajim/data/gui/single_message_window.ui:205 +#, fuzzy +msgid "Subject" +msgstr "Assunto:" + +#: gajim/history_manager.py:254 +msgid "Database Cleanup" +msgstr "" + +#: gajim/history_manager.py:255 +#, fuzzy +msgid "Clean up the database?" +msgstr "a criar base de dados dos logs" + +#: gajim/history_manager.py:256 +msgid "" +"This is STRONGLY NOT RECOMMENDED IF GAJIM IS RUNNING.\n" +"Normally, the allocated database size will not be freed, it will just become " +"reusable. This operation may take a while." +msgstr "" + +#: gajim/history_manager.py:262 +#, fuzzy +msgid "_Cleanup" +msgstr "_Limpar" + +#: gajim/history_manager.py:527 gajim/gtk/filetransfer.py:238 +#: gajim/gtk/filetransfer.py:248 +msgid "You" +msgstr "Você" + +#: gajim/history_manager.py:539 +#, python-format +msgid "%(who)s on %(time)s said: %(message)s\n" +msgstr "" + +#: gajim/history_manager.py:576 gajim/history_manager.py:615 +#: gajim/gtk/themes.py:362 gajim/gtk/roster_item_exchange.py:75 +#: gajim/gtk/roster_item_exchange.py:185 +#, fuzzy +msgid "Delete" +msgstr "Apagar MOTD" + +#: gajim/history_manager.py:577 +#, fuzzy +msgid "Delete Conversation" +msgid_plural "Delete Conversations" +msgstr[0] "Informações do Contacto" +msgstr[1] "Informações do Contacto" + +#: gajim/history_manager.py:578 +#, fuzzy, python-format +msgid "Do you want to permanently delete this conversation with %s?" +msgid_plural "Do you want to permanently delete these conversations?" +msgstr[0] "%s quer enviar-lhe um ficheiro:" +msgstr[1] "%s quer enviar-lhe um ficheiro:" + +#: gajim/history_manager.py:616 +#, fuzzy +msgid "Delete Message" +msgid_plural "Delete Messages" +msgstr[0] "Mensagem de Estado" +msgstr[1] "Mensagem de Estado" + +#: gajim/history_manager.py:617 +#, fuzzy +msgid "Do you want to permanently delete this message?" +msgid_plural "Do you want to permanently delete these messages?" +msgstr[0] "%s quer enviar-lhe um ficheiro:" +msgstr[1] "%s quer enviar-lhe um ficheiro:" + +#: gajim/roster_window.py:268 gajim/roster_window.py:991 +msgid "Merged accounts" +msgstr "Contas fundidas" + +#: gajim/roster_window.py:756 gajim/roster_window.py:1667 +#: gajim/roster_window.py:1669 gajim/roster_window.py:1986 +#: gajim/roster_window.py:3065 gajim/roster_window.py:3098 +#: gajim/roster_window.py:4026 gajim/gui_interface.py:338 +#: gajim/gui_menu_builder.py:254 gajim/gui_menu_builder.py:345 +#: gajim/chat_control.py:291 gajim/chat_control.py:421 +#: gajim/gtk/add_contact.py:320 gajim/gtk/roster_item_exchange.py:112 +#: gajim/gtk/subscription_request.py:77 gajim/gtk/subscription_request.py:126 +#: gajim/common/helpers.py:89 gajim/common/helpers.py:207 +#: gajim/common/contacts.py:243 gajim/common/contacts.py:382 +#: gajim/common/contacts.py:493 +msgid "Not in contact list" +msgstr "Não está na lista de contatos" + +#: gajim/roster_window.py:823 gajim/roster_window.py:1579 +#: gajim/roster_window.py:1612 gajim/roster_window.py:1663 +#: gajim/roster_window.py:1665 gajim/roster_window.py:1820 +#: gajim/roster_window.py:2378 gajim/roster_window.py:3990 +#: gajim/roster_window.py:4638 gajim/gtk/discovery.py:127 +#: gajim/gtk/discovery.py:128 gajim/gtk/discovery.py:1419 +#: gajim/common/helpers.py:88 gajim/common/contacts.py:225 +#: gajim/common/contacts.py:485 +msgid "Transports" +msgstr "Transportes" + +#: gajim/roster_window.py:1671 gajim/roster_window.py:1673 +#: gajim/roster_window.py:3990 gajim/roster_window.py:4603 +#: gajim/gui_interface.py:1425 gajim/common/helpers.py:91 +#: gajim/common/contacts.py:223 +#, fuzzy +msgid "Group chats" +msgstr "Chat" + +#: gajim/roster_window.py:1901 gajim/chat_control.py:1688 +#, fuzzy +msgid "Remote contact stopped transfer" +msgstr "Remove o contacto da lista" + +#: gajim/roster_window.py:1903 gajim/chat_control.py:1690 +#, fuzzy +msgid "Error opening file" +msgstr "Erro na leitura do ficheiro:" + +#: gajim/roster_window.py:1968 +#, fuzzy +msgid "Authorization sent" +msgstr "Autorização foi enviada" + +#: gajim/roster_window.py:1969 +#, fuzzy, python-format +msgid "\"%s\" will now see your status." +msgstr "Agora \"%s\" saberá o seu estado." + +#: gajim/roster_window.py:1987 +msgid "Subscription request has been sent" +msgstr "Pedido de subscrição foi enviado" + +#: gajim/roster_window.py:1988 +#, fuzzy, python-format +msgid "If \"%s\" accepts this request you will know their status." +msgstr "Se \"%s\" aceitar este pedido, você passará a saber o seu estado." + +#: gajim/roster_window.py:2002 +#, fuzzy +msgid "Authorization removed" +msgstr "Autorização foi removida" + +#: gajim/roster_window.py:2003 +#, python-format +msgid "Now \"%s\" will always see you as offline." +msgstr "Doravante, \"%s\" vê-lo-á sempre como estando offline." + +#: gajim/roster_window.py:2198 gajim/data/gui/shortcuts_window.ui:66 +#, fuzzy +msgid "Quit Gajim" +msgstr "Gajim" + +#: gajim/roster_window.py:2199 +#, fuzzy +msgid "You are about to quit Gajim" +msgstr "Tem a certeza de que deseja sair das salas \"%s\"?" + +#: gajim/roster_window.py:2200 +#, fuzzy +msgid "Are you sure you want to quit Gajim?" +msgstr "Tem a certeza de que deseja sair das salas \"%s\"?" + +#: gajim/roster_window.py:2201 +msgid "_Always quit when closing Gajim" +msgstr "" + +#: gajim/roster_window.py:2204 gajim/roster_window.py:2299 +#: gajim/roster_window.py:2340 gajim/data/gui/application_menu.ui:30 +#: gajim/data/gui/systray_context_menu.ui:83 +#, fuzzy +msgid "_Quit" +msgstr "_Sair" + +#: gajim/roster_window.py:2292 +#, fuzzy +msgid "Stop File Transfers" +msgstr "Parar a transferência de ficheiro" + +#: gajim/roster_window.py:2293 +#, fuzzy +msgid "You still have running file transfers" +msgstr "Cancelar transferência de ficheiro" + +#: gajim/roster_window.py:2294 +msgid "" +"If you quit now, the file(s) being transferred will be lost.\n" +"Do you still want to quit?" +msgstr "" + +#: gajim/roster_window.py:2333 +#, fuzzy +msgid "Unread Messages" +msgstr "Mensagem" + +#: gajim/roster_window.py:2334 +#, fuzzy +msgid "You still have unread messages" +msgstr "Tem mensagens não lidas" + +#: gajim/roster_window.py:2335 +#, fuzzy +msgid "" +"Messages will only be available for reading them later if storing chat " +"history is enabled and if the contact is in your contact list." +msgstr "" +"As mensagens só poderão ser lidas mais tarde caso tenha o histórico activado." + +#: gajim/roster_window.py:2590 +msgid "You have unread messages" +msgstr "Tem mensagens não lidas" + +#: gajim/roster_window.py:2591 +msgid "You must read them before removing this transport." +msgstr "" + +#: gajim/roster_window.py:2594 +#, fuzzy, python-format +msgid "Transport '%s' will be removed" +msgstr "Transporte \"%s\" será removido" + +#: gajim/roster_window.py:2595 +#, fuzzy +msgid "" +"You will no longer be able to send and receive messages from and to contacts " +"using this transport." +msgstr "" +"Deixará de poder enviar e receber mensagens aos contactos desde este " +"transport." + +#: gajim/roster_window.py:2598 +#, fuzzy +msgid "Transports will be removed" +msgstr "Transporte \"%s\" será removido" + +#: gajim/roster_window.py:2603 +#, fuzzy, python-format +msgid "" +"You will no longer be able to send and receive messages from and to contacts " +"using these transports:\n" +"%s" +msgstr "" +"Deixará de poder enviar e receber mensagens aos contactos desde este " +"transport." + +#: gajim/roster_window.py:2607 +#, fuzzy +msgid "Remove Transport" +msgstr "Transportes" + +#: gajim/roster_window.py:2662 gajim/chat_control.py:428 +#, fuzzy +msgid "Block Contact" +msgstr "Contacto:" + +#: gajim/roster_window.py:2663 gajim/chat_control.py:429 +#, fuzzy +msgid "Really block this contact?" +msgstr "Não é possível usar OpenPGP neste computador" + +#: gajim/roster_window.py:2664 gajim/chat_control.py:430 +#, fuzzy +msgid "" +"You will appear offline for this contact and you will not receive further " +"messages." +msgstr "JID do destinatário da mensagem" + +#: gajim/roster_window.py:2666 +#, fuzzy +msgid "_Do not ask again" +msgstr "_Não perguntar novamente" + +#: gajim/roster_window.py:2669 gajim/chat_control.py:434 +#, fuzzy +msgid "_Report Spam" +msgstr "_Reportar Erro (Bug)" + +#: gajim/roster_window.py:2673 gajim/roster_window.py:4778 +#: gajim/gui_menu_builder.py:485 gajim/chat_control.py:438 +#: gajim/data/gui/contact_context_menu.ui:151 +msgid "_Block" +msgstr "_Bloquear" + +#: gajim/roster_window.py:2706 +#, fuzzy +msgid "Rename Contact" +msgstr "Contacto:" + +#: gajim/roster_window.py:2707 +#, fuzzy, python-format +msgid "Rename contact %s?" +msgstr "Contacto:" + +#: gajim/roster_window.py:2708 +#, fuzzy +msgid "Please enter a new nickname" +msgstr "Depois da alcunha:" + +#: gajim/roster_window.py:2712 gajim/roster_window.py:3439 +#: gajim/roster_window.py:4679 gajim/dialogs.py:103 gajim/dialogs.py:116 +#: gajim/gtk/accounts.py:308 gajim/common/contacts.py:178 +#: gajim/common/contacts.py:227 gajim/data/gui/shortcuts_window.ui:12 +#: gajim/data/gui/preferences.ui:96 +msgid "General" +msgstr "Geral" + +#: gajim/roster_window.py:2715 +#, fuzzy +msgid "Rename Group" +msgstr "_Renomear" + +#: gajim/roster_window.py:2716 +#, fuzzy, python-format +msgid "Rename group %s?" +msgstr "_Renomear" + +#: gajim/roster_window.py:2717 +#, fuzzy +msgid "Please enter a new name" +msgstr "Depois da alcunha:" + +#: gajim/roster_window.py:2747 gajim/roster_window.py:2869 +#: gajim/data/gui/groupchat_control.ui:1859 +#, fuzzy +msgid "_Rename" +msgstr "Re_nomear" + +#: gajim/roster_window.py:2769 gajim/roster_window.py:2770 +#, fuzzy +msgid "Remove Group" +msgstr "_Remover" + +#: gajim/roster_window.py:2771 +#, fuzzy, python-format +msgid "Do you want to remove %s from the contact list?" +msgstr "Quero _registar uma nova conta" + +#: gajim/roster_window.py:2772 +#, fuzzy +msgid "_Also remove all contacts of this group from contact list" +msgstr "Remove o contacto da lista" + +#: gajim/roster_window.py:2864 gajim/roster_window.py:2865 +#, fuzzy +msgid "Rename Group Chat" +msgstr "Chat" + +#: gajim/roster_window.py:2866 +#, fuzzy +msgid "Please enter a new name for this group chat" +msgstr "Por favor preencha os dados para a sua nova conta" + +#: gajim/roster_window.py:3082 +#, fuzzy +msgid "Remove Contact" +msgstr "Contacto:" + +#: gajim/roster_window.py:3083 +#, fuzzy +msgid "Remove contact from contact list" +msgstr "Remove o contacto da lista" + +#: gajim/roster_window.py:3084 +#, fuzzy, python-format +msgid "You are about to remove %(name)s (%(jid)s) from your contact list.\n" +msgstr "Quero _registar uma nova conta" + +#: gajim/roster_window.py:3093 gajim/roster_window.py:3113 +#, fuzzy +msgid "" +"By removing this contact you also remove authorization. This means the " +"contact will see you as offline." +msgstr "" +"Ao remover este contacto, também remove a autorização. O contacto vê-lo-á " +"sempre como offline." + +#: gajim/roster_window.py:3104 +#, fuzzy +msgid "Do you want to continue?" +msgstr "O que pretende fazer?" + +#: gajim/roster_window.py:3115 +#, fuzzy +msgid "_I want this contact to know my status after removal" +msgstr "Quero que este contacto saiba o meu estado depois da remoção" + +#: gajim/roster_window.py:3122 +#, fuzzy +msgid "Remove contacts from contact list" +msgstr "Remove o contacto da lista" + +#: gajim/roster_window.py:3128 +#, fuzzy, python-format +msgid "" +"By removing the following contacts, you will also remove authorization. This " +"means they will see you as offline:\n" +"\n" +"%s" +msgstr "" +"Ao remover este contacto, também remove a autorização. O contacto vê-lo-á " +"sempre como offline." + +#: gajim/roster_window.py:3132 +#, fuzzy +msgid "Remove Contacts" +msgstr "Contacto:" + +#: gajim/roster_window.py:3761 +#, fuzzy +msgid "You are about to create a metacontact" +msgstr "Tem de criar uma conta antes de poder conversar com outros contactos." + +#: gajim/roster_window.py:3762 +msgid "" +"Metacontacts are a way to regroup several contacts in one single contact. " +"Generally it is used when the same person has several XMPP- or Transport-" +"Accounts." +msgstr "" + +#: gajim/roster_window.py:3766 +#, fuzzy +msgid "Create Metacontact" +msgstr "Contacto:" + +#: gajim/roster_window.py:3769 gajim/chat_control_base.py:771 +#: gajim/groupchat_control.py:1676 gajim/message_window.py:368 +msgid "_Do not ask me again" +msgstr "_Não perguntar novamente" + +#: gajim/roster_window.py:3772 gajim/data/gui/groupchat_creation.ui:317 +#, fuzzy +msgid "_Create" +msgstr "Activo" + +#: gajim/roster_window.py:3889 +#, fuzzy +msgid "Invalid file URI:" +msgstr "Ficheiro Inválido" + +#: gajim/roster_window.py:3901 +#, fuzzy, python-format +msgid "Send this file to %s:\n" +msgid_plural "Send these files to %s:\n" +msgstr[0] "%s quer enviar-lhe um ficheiro:" +msgstr[1] "%s quer enviar-lhe um ficheiro:" + +#: gajim/roster_window.py:3909 gajim/roster_window.py:3910 +#: gajim/chat_control.py:1541 gajim/gtk/filetransfer_progress.py:36 +#, fuzzy +msgid "File Transfer" +msgstr "Transferências de Ficheiros" + +#: gajim/roster_window.py:3914 gajim/data/gui/xml_console.ui:334 +msgid "_Send" +msgstr "E_nviar" + +#: gajim/roster_window.py:4067 +#, fuzzy, python-format +msgid "Send %(from)s to %(to)s" +msgstr "Enviar %s" + +#: gajim/roster_window.py:4080 +#, fuzzy, python-format +msgid "Make %s first contact" +msgstr "Envia um ficheiro a um contacto" + +#: gajim/roster_window.py:4085 +#, fuzzy, python-format +msgid "Make %(contact1)s and %(contact2)s metacontacts" +msgstr "Envia um ficheiro a um contacto" + +#: gajim/roster_window.py:4436 gajim/roster_window.py:4523 +#: gajim/gtk/status_selector.py:76 +msgid "_Change Status Message" +msgstr "_Mudar Mensagem de Estado" + +#: gajim/roster_window.py:4456 +#, fuzzy +msgid "Publish Tune" +msgstr "_Publicar" + +#: gajim/roster_window.py:4467 +#, fuzzy +msgid "Publish Location" +msgstr "_Publicar" + +#: gajim/roster_window.py:4606 +msgid "_Maximize All" +msgstr "" + +#: gajim/roster_window.py:4615 gajim/roster_window.py:4743 +#, fuzzy +msgid "Send Group M_essage" +msgstr "Nova Mensagem" + +#: gajim/roster_window.py:4622 +msgid "To all users" +msgstr "" + +#: gajim/roster_window.py:4626 +#, fuzzy +msgid "To all online users" +msgstr "Utilizadores _Online" + +#: gajim/roster_window.py:4637 gajim/roster_window.py:4749 +#: gajim/data/gui/contact_context_menu.ui:36 +msgid "In_vite to" +msgstr "" + +#: gajim/roster_window.py:4663 gajim/gui_menu_builder.py:471 +msgid "_Rename…" +msgstr "_Renomear…" + +#: gajim/roster_window.py:4669 gajim/gui_menu_builder.py:493 +#: gajim/data/gui/contact_context_menu.ui:181 +msgid "Remo_ve" +msgstr "Remo_ver" + +#: gajim/roster_window.py:4759 +#, fuzzy +msgid "_Manage Contacts" +msgstr "Contacto:" + +#: gajim/roster_window.py:4765 +#, fuzzy +msgid "Edit _Groups…" +msgstr "Editar _Grupos" + +#: gajim/roster_window.py:4774 gajim/gui_menu_builder.py:482 +#: gajim/data/gui/contact_context_menu.ui:143 +msgid "_Unblock" +msgstr "_Desbloquear" + +#: gajim/roster_window.py:4786 gajim/gtk/dialogs.py:70 +#: gajim/data/gui/filetransfers.ui:12 +msgid "_Remove" +msgstr "_Remover" + +#: gajim/roster_window.py:4823 +msgid "_Maximize" +msgstr "" + +#: gajim/roster_window.py:4828 +#, fuzzy +msgid "Re_name" +msgstr "Re_nomear" + +#: gajim/roster_window.py:4836 gajim/groupchat_control.py:1680 +msgid "_Leave" +msgstr "" + +#: gajim/roster_window.py:4844 +#, fuzzy +msgid "Execute command" +msgstr "comando" + +#: gajim/roster_window.py:4852 gajim/data/gui/application_menu.ui:68 +#: gajim/data/gui/contact_context_menu.ui:205 +msgid "_History" +msgstr "_Histórico" + +#: gajim/roster_window.py:4945 gajim/gui_interface.py:339 +#: gajim/common/helpers.py:90 gajim/common/contacts.py:221 +#, fuzzy +msgid "Observers" +msgstr "Servidor" + +#: gajim/roster_window.py:4948 +msgid "Observers can see your status, but you are not allowed to see theirs" +msgstr "" + +#: gajim/privatechat_control.py:105 gajim/groupchat_control.py:1225 +#, python-format +msgid "You are now known as %s" +msgstr "É agora conhecido como %s" + +#: gajim/privatechat_control.py:107 gajim/groupchat_control.py:1227 +#, fuzzy, python-brace-format +msgid "{nick} is now known as {new_nick}" +msgstr "%s agora é conhecido como %s" + +#: gajim/privatechat_control.py:138 gajim/groupchat_control.py:1254 +#, fuzzy, python-brace-format +msgid "You are now {show}{status}" +msgstr "É agora conhecido como %s" + +#: gajim/privatechat_control.py:142 gajim/groupchat_control.py:1258 +#, fuzzy, python-brace-format +msgid "{nick} is now {show}{status}" +msgstr "%(nick)s está agora %(status)s" + +#: gajim/privatechat_control.py:199 +msgid "Sending private message failed" +msgstr "Falha ao enviar uma mensagem privada" + +#: gajim/privatechat_control.py:201 +#, fuzzy, python-format +msgid "You are no longer in group chat \"%(room)s\" or \"%(nick)s\" has left." +msgstr "Já não se encontra na sala \"%s\" ou \"%s\" saiu." + +#: gajim/application.py:81 +#, fuzzy +msgid "Show the application's version" +msgstr "_Ícone na bandeja (também conhecido por área de notificação)" + +#: gajim/application.py:88 +#, fuzzy +msgid "Show only critical errors" +msgstr "Mostrar apenas na _lista" + +#: gajim/application.py:95 +msgid "Separate profile files completely (even history database and plugins)" +msgstr "" + +#: gajim/application.py:103 +msgid "Print XML stanzas and other debug information" +msgstr "" + +#: gajim/application.py:110 +#, fuzzy +msgid "Use defined profile in configuration directory" +msgstr "Editor de Configuração Avançada" + +#: gajim/application.py:118 +#, fuzzy +msgid "Set configuration directory" +msgstr "Configuração da Sala" + +#: gajim/application.py:126 +msgid "Configure logging system" +msgstr "" + +#: gajim/application.py:134 +#, fuzzy +msgid "Show all warnings" +msgstr "Mostrar Todos os _Eventos Pedentes" + +#: gajim/application.py:141 +msgid "Open IPython shell" +msgstr "" + +#: gajim/application.py:148 +#, fuzzy +msgid "Pops up a window with the next pending event" +msgstr "Abre uma janela com a próxima mensagem não lida" + +#: gajim/application.py:154 gajim/data/gui/shortcuts_window.ui:17 +#: data/org.gajim.Gajim.desktop.in:21 +#, fuzzy +msgid "Start a new chat" +msgstr "Iniciar Conversa" + +#: gajim/application.py:205 gajim/gui_interface.py:131 +msgid "Database Error" +msgstr "" + +#: gajim/gui_interface.py:168 +#, fuzzy, python-format +msgid "HTTP (%(method)s) Authorization for %(url)s (ID: %(id)s)" +msgstr "HTTP (%s) Autorização para %s (id: %s)" + +#: gajim/gui_interface.py:173 +msgid "Do you accept this request?" +msgstr "Aceita este pedido?" + +#: gajim/gui_interface.py:175 +#, fuzzy, python-format +msgid "Do you accept this request (account: %s)?" +msgstr "Aceita este pedido?" + +#: gajim/gui_interface.py:181 +#, fuzzy +msgid "Authorization Request" +msgstr "Autorização foi enviada" + +#: gajim/gui_interface.py:182 +#, fuzzy +msgid "HTTP Authorization Request" +msgstr "Autorização foi enviada" + +#: gajim/gui_interface.py:185 gajim/gui_interface.py:376 +#: gajim/gui_interface.py:2002 gajim/gtk/filetransfer.py:339 +#, fuzzy +msgid "_No" +msgstr "Nenhum" + +#: gajim/gui_interface.py:203 gajim/gtk/notification.py:189 +#: gajim/gtk/notification.py:216 +#, fuzzy +msgid "Connection Failed" +msgstr "Ligação" + +#: gajim/gui_interface.py:299 +#, fuzzy, python-format +msgid "error while sending %(message)s ( %(error)s )" +msgstr "erro ao enviar" + +#: gajim/gui_interface.py:324 gajim/gtk/notification.py:189 +#, fuzzy +msgid "Subscription request" +msgstr "Pedido de Subscrição" + +#: gajim/gui_interface.py:359 +msgid "Authorization accepted" +msgstr "Autorização aceite" + +#: gajim/gui_interface.py:360 +#, fuzzy, python-format +msgid "The contact \"%(jid)s\" has authorized you to see their status." +msgstr "O contacto \"%s\" autorizou-o a ver o seu estado." + +#: gajim/gui_interface.py:370 +#, fuzzy +msgid "Subscription Removed" +msgstr "Pedido de Subscrição" + +#: gajim/gui_interface.py:371 +#, fuzzy, python-format +msgid "%(name)s (%(jid)s) has removed subscription from you" +msgstr "Contacto \"%s\" removeu a sua subscrição para si" + +#: gajim/gui_interface.py:373 +msgid "" +"You will always see this contact as offline.\n" +"Do you want to remove them from your contact list?" +msgstr "" + +#: gajim/gui_interface.py:398 gajim/gtk/notification.py:190 +#, fuzzy +msgid "Unsubscribed" +msgstr "_Subscrever" + +#: gajim/gui_interface.py:410 +#, python-format +msgid "%(jid)s declined the invitation: %(reason)s" +msgstr "" + +#: gajim/gui_interface.py:414 +#, python-format +msgid "%(jid)s declined the invitation" +msgstr "" + +#: gajim/gui_interface.py:431 gajim/chat_control.py:1606 +#: gajim/gtk/notification.py:188 gajim/gtk/notification.py:214 +#: gajim/gtk/notification.py:286 gajim/gtk/groupchat_invitation.py:33 +#, fuzzy +msgid "Group Chat Invitation" +msgstr "?Função do Contacto no Chat:Nenhuma" + +#: gajim/gui_interface.py:432 +#, fuzzy, python-format +msgid "%(contact)s invited you to %(chat)s" +msgstr "%(contact_jid)s foi convidado(a) para %(room_jid)s." + +#: gajim/gui_interface.py:453 +#, fuzzy +msgid "Certificate Passphrase Required" +msgstr "Frase de acesso Necessária" + +#: gajim/gui_interface.py:454 +#, fuzzy, python-format +msgid "Enter the certificate passphrase for account %s" +msgstr "Introduza a chave GPG para a conta %s" + +#: gajim/gui_interface.py:463 +#, python-format +msgid "Enter your password for account %s" +msgstr "Introduza a sua senha para a conta %s" + +#: gajim/gui_interface.py:475 +msgid "Password Required" +msgstr "Senha Necessária" + +#: gajim/gui_interface.py:475 +msgid "Save password" +msgstr "Guardar senha" + +#: gajim/gui_interface.py:544 gajim/gui_interface.py:575 +#: gajim/gtk/notification.py:187 gajim/gtk/notification.py:279 +#: gajim/gtk/filetransfer.py:333 gajim/gtk/filetransfer.py:334 +msgid "File Transfer Error" +msgstr "Erro na Transferência de Ficheiro" + +#: gajim/gui_interface.py:609 +#, python-format +msgid "%s wants to send you a file." +msgstr "%s quer enviar-lhe um ficheiro." + +#: gajim/gui_interface.py:611 gajim/gtk/notification.py:186 +#: gajim/gtk/notification.py:276 gajim/gtk/filetransfer.py:485 +msgid "File Transfer Request" +msgstr "Pedido de Transferência de Ficheiro" + +#: gajim/gui_interface.py:714 +#, fuzzy +msgid "Remote Contact Stopped Transfer" +msgstr "Remove o contacto da lista" + +#: gajim/gui_interface.py:719 +#, fuzzy +msgid "Error Opening File" +msgstr "Erro na leitura do ficheiro:" + +#: gajim/gui_interface.py:729 +#, fuzzy +msgid "SSL Certificate Error" +msgstr "Nome de utilizador inválido" + +#: gajim/gui_interface.py:738 gajim/gui_interface.py:768 +#: gajim/gui_interface.py:794 gajim/chat_control.py:1573 +#: gajim/gtk/notification.py:187 gajim/gtk/notification.py:282 +msgid "File Transfer Completed" +msgstr "Transferência de Ficheiro Completa" + +#: gajim/gui_interface.py:742 gajim/gui_interface.py:773 +#: gajim/gui_interface.py:800 gajim/gtk/notification.py:188 +#: gajim/gtk/notification.py:283 +msgid "File Transfer Stopped" +msgstr "Transferência de Ficheiro Parada" + +#: gajim/gui_interface.py:746 +#, fuzzy +msgid "File Transfer Failed" +msgstr "Transferências de Ficheiros" + +#: gajim/gui_interface.py:769 +#, fuzzy, python-format +msgid "%(filename)s received from %(name)s." +msgstr "Transferência de %(filename)s de %(name)s interrompida." + +#: gajim/gui_interface.py:774 +#, python-format +msgid "File transfer of %(filename)s from %(name)s stopped." +msgstr "Transferência de %(filename)s de %(name)s interrompida." + +#: gajim/gui_interface.py:780 +#, fuzzy, python-format +msgid "File transfer of %(filename)s from %(name)s failed." +msgstr "Transferência de %(filename)s de %(name)s interrompida." + +#: gajim/gui_interface.py:795 +#, python-format +msgid "You successfully sent %(filename)s to %(name)s." +msgstr "Enviou com sucesso %(filename)s para %(name)s." + +#: gajim/gui_interface.py:801 +#, python-format +msgid "File transfer of %(filename)s to %(name)s stopped." +msgstr "Transferência de %(filename)s para %(name)s interrompida." + +#: gajim/gui_interface.py:807 +#, fuzzy, python-format +msgid "File transfer of %(filename)s to %(name)s failed." +msgstr "Transferência de %(filename)s para %(name)s interrompida." + +#: gajim/gui_interface.py:919 gajim/gui_interface.py:920 +msgid "Username Conflict" +msgstr "" + +#: gajim/gui_interface.py:921 +#, fuzzy +msgid "Please enter a new username for your local account" +msgstr "Por favor preencha os dados para a sua nova conta" + +#: gajim/gui_interface.py:925 gajim/gtk/dialogs.py:51 +#: gajim/data/gui/passphrase_dialog.ui:44 +msgid "_OK" +msgstr "_OK" + +#: gajim/gui_interface.py:988 gajim/chat_control.py:763 +#: gajim/chat_control.py:1660 gajim/gtk/notification.py:190 +#, fuzzy +msgid "Incoming Call" +msgstr "Nome de utilizador inválido" + +#: gajim/gui_interface.py:990 +#, python-format +msgid "%s is calling" +msgstr "" + +#: gajim/gui_interface.py:1071 gajim/gui_interface.py:1072 +#, fuzzy +msgid "Insecure Connection" +msgstr "Ligação" + +#: gajim/gui_interface.py:1073 +#, fuzzy, python-format +msgid "" +"You are about to connect to the account %(account)s (%(server)s) using an " +"insecure connection method. This means conversations will not be encrypted. " +"Connecting PLAIN is strongly discouraged." +msgstr "Tem de criar uma conta antes de poder conversar com outros contactos." + +#: gajim/gui_interface.py:1080 gajim/data/gui/groupchat_control.ui:595 +#, fuzzy +msgid "_Abort" +msgstr "_Sobre" + +#: gajim/gui_interface.py:1083 +#, fuzzy +msgid "_Connect Anyway" +msgstr "Ligando" + +#: gajim/gui_interface.py:1921 +msgid "Gajim: IPython Console" +msgstr "" + +#: gajim/gui_interface.py:1998 +msgid "Update Check" +msgstr "" + +#: gajim/gui_interface.py:1999 +msgid "Gajim Update Check" +msgstr "" + +#: gajim/gui_interface.py:2000 +msgid "Search for Gajim updates periodically?" +msgstr "" + +#: gajim/gui_interface.py:2005 +msgid "_Search Periodically" +msgstr "" + +#: gajim/gui_interface.py:2045 +#, fuzzy +msgid "Update Available" +msgstr "Indisponível" + +#: gajim/gui_interface.py:2046 +#, fuzzy +msgid "Gajim Update Available" +msgstr "Indisponível" + +#: gajim/gui_interface.py:2047 +#, python-format +msgid "There is an update available for Gajim (latest version: %s)" +msgstr "" + +#: gajim/gui_interface.py:2049 +#, fuzzy +msgid "_Do not show again" +msgstr "_Não perguntar novamente" + +#: gajim/gui_interface.py:2051 gajim/gtk/accounts.py:126 +#, fuzzy +msgid "_Later" +msgstr "Ú_ltimo" + +#: gajim/gui_interface.py:2054 +msgid "_Update Now" +msgstr "" + +#: gajim/gui_menu_builder.py:358 +msgid "I would like to add you to my contact list" +msgstr "Gostaria de o adicioná-lo a minha lista de contatos." + +#: gajim/gui_menu_builder.py:435 +msgid "Send Single _Message…" +msgstr "Enviar _Mensagem única…" + +#: gajim/gui_menu_builder.py:450 +msgid "E_xecute Command…" +msgstr "E_xecutar Comando…" + +#: gajim/gui_menu_builder.py:458 +msgid "_Manage Transport" +msgstr "_Gerenciar Transporte" + +#: gajim/gui_menu_builder.py:464 +msgid "_Modify Transport" +msgstr "_Modificar Transporte" + +#: gajim/gui_menu_builder.py:503 gajim/data/gui/contact_context_menu.ui:198 +msgid "_Information" +msgstr "_Informação" + +#: gajim/gui_menu_builder.py:516 +#, fuzzy +msgid "Send File" +msgstr "Enviar _Ficheiro" + +#: gajim/gui_menu_builder.py:517 +#, fuzzy +msgid "Upload File…" +msgstr "Guardar Ficheiro como..." + +#: gajim/gui_menu_builder.py:518 +#, fuzzy +msgid "Send File Directly…" +msgstr "Guardar Ficheiro como..." + +#: gajim/gui_menu_builder.py:520 gajim/gtk/accounts.py:734 +#, fuzzy +msgid "Send Read Markers" +msgstr "Enviar pacotes keep-alive" + +#: gajim/gui_menu_builder.py:521 gajim/gtk/accounts.py:710 +#, fuzzy +msgid "Send Chatstate" +msgstr "Iconset de _estados padrão:" + +#: gajim/gui_menu_builder.py:522 gajim/data/gui/groupchat_control.ui:307 +#, fuzzy +msgid "Invite Contacts…" +msgstr "Contacto:" + +#: gajim/gui_menu_builder.py:523 gajim/gui_menu_builder.py:741 +#: gajim/gui_menu_builder.py:768 gajim/gui_menu_builder.py:807 +#, fuzzy +msgid "Add to Contact List…" +msgstr "_Adicionar Contacto" + +#: gajim/gui_menu_builder.py:524 +#, fuzzy +msgid "Block Contact…" +msgstr "Contacto:" + +#: gajim/gui_menu_builder.py:525 gajim/data/gui/chat_control.ui:936 +#, fuzzy +msgid "Start Call…" +msgstr "Iniciar Conversa" + +#: gajim/gui_menu_builder.py:526 gajim/gui_menu_builder.py:576 +#: gajim/gui_menu_builder.py:802 gajim/data/gui/groupchat_control.ui:1334 +#, fuzzy +msgid "Information" +msgstr "Informações do Contacto" + +#: gajim/gui_menu_builder.py:527 gajim/gui_menu_builder.py:588 +#, fuzzy +msgid "History" +msgstr "_Histórico" + +#: gajim/gui_menu_builder.py:533 gajim/gui_menu_builder.py:710 +#: gajim/gtk/preferences.py:671 gajim/gtk/groupchat_settings.py:36 +#: gajim/gtk/accounts.py:682 +msgid "Disabled" +msgstr "" + +#: gajim/gui_menu_builder.py:534 gajim/gtk/groupchat_settings.py:37 +#: gajim/gtk/accounts.py:681 +msgid "Composing Only" +msgstr "" + +#: gajim/gui_menu_builder.py:535 gajim/gtk/groupchat_settings.py:38 +#, fuzzy +msgid "All Chat States" +msgstr "Estado: " + +#: gajim/gui_menu_builder.py:577 +#, fuzzy +msgid "Settings…" +msgstr "Publicação vCard falhou" + +#: gajim/gui_menu_builder.py:578 +#, fuzzy +msgid "Manage Group Chat" +msgstr "Chat" + +#: gajim/gui_menu_builder.py:579 +#, fuzzy +msgid "Rename…" +msgstr "_Renomear" + +#: gajim/gui_menu_builder.py:580 +#, fuzzy +msgid "Change Subject…" +msgstr "Muda A_ssunto" + +#: gajim/gui_menu_builder.py:581 +#, fuzzy +msgid "Upload Avatar…" +msgstr "Escolha chave" + +#: gajim/gui_menu_builder.py:582 +#, fuzzy +msgid "Configure…" +msgstr "_Continuar" + +#: gajim/gui_menu_builder.py:583 +#, fuzzy +msgid "Destroy…" +msgstr "Descrição: %s" + +#: gajim/gui_menu_builder.py:585 +#, fuzzy +msgid "Change Nickname…" +msgstr "Muda Alcu_nha" + +#: gajim/gui_menu_builder.py:586 +#, fuzzy +msgid "Request Voice" +msgstr "_Voz" + +#: gajim/gui_menu_builder.py:587 gajim/gui_menu_builder.py:825 +#, fuzzy +msgid "Execute Command…" +msgstr "comando" + +#: gajim/gui_menu_builder.py:589 +msgid "Leave" +msgstr "" + +#: gajim/gui_menu_builder.py:631 +#, fuzzy +msgid "Add Contact…" +msgstr "_Adicionar Contacto" + +#: gajim/gui_menu_builder.py:632 gajim/gtk/accounts.py:861 +#: gajim/gtk/accounts.py:899 gajim/gtk/profile.py:53 +#, fuzzy +msgid "Profile" +msgstr "Ficheiro" + +#: gajim/gui_menu_builder.py:633 +#, fuzzy +msgid "Send Single Message…" +msgstr "Enviar _Mensagem Simples" + +#: gajim/gui_menu_builder.py:634 +#, fuzzy +msgid "Discover Services…" +msgstr "_Descobrir Recursos" + +#: gajim/gui_menu_builder.py:635 gajim/gtk/server_info.py:47 +#, fuzzy +msgid "Server Info" +msgstr "Servidor" + +#: gajim/gui_menu_builder.py:636 gajim/gtk/accounts.py:312 +#: gajim/data/gui/preferences.ui:853 +msgid "Advanced" +msgstr "Avançado" + +#: gajim/gui_menu_builder.py:637 gajim/gtk/mam_preferences.py:100 +#, fuzzy +msgid "Archiving Preferences" +msgstr "_Preferências" + +#: gajim/gui_menu_builder.py:638 +#, fuzzy +msgid "Blocking List" +msgstr "Expulsando %s" + +#: gajim/gui_menu_builder.py:639 +#, fuzzy +msgid "Bookmarks" +msgstr "Adicionar esta Sala aos _Bookmarks" + +#: gajim/gui_menu_builder.py:640 +#, fuzzy +msgid "PEP Configuration" +msgstr "Configuração da Sala" + +#: gajim/gui_menu_builder.py:641 +#, fuzzy +msgid "Synchronise History…" +msgstr "Mostrar Contactos _Offline" + +#: gajim/gui_menu_builder.py:643 gajim/gtk/server_info.py:141 +#: gajim/data/gui/groupchat_config.ui:36 +#, fuzzy +msgid "Admin" +msgstr "_Admin" + +#: gajim/gui_menu_builder.py:644 +#, fuzzy +msgid "Send Server Message…" +msgstr "E_nviar Mensagem de Servidor" + +#: gajim/gui_menu_builder.py:645 +#, fuzzy +msgid "Set MOTD…" +msgstr "Definir MOTD" + +#: gajim/gui_menu_builder.py:646 +#, fuzzy +msgid "Update MOTD…" +msgstr "Actualizar MOTD" + +#: gajim/gui_menu_builder.py:647 +#, fuzzy +msgid "Delete MOTD…" +msgstr "Apagar MOTD" + +#: gajim/gui_menu_builder.py:684 +#, fuzzy +msgid "_Add Account…" +msgstr "_Adicionar Contacto" + +#: gajim/gui_menu_builder.py:690 +#, fuzzy +msgid "_Modify Accounts…" +msgstr "_Modificar Conta..." + +#: gajim/gui_menu_builder.py:700 gajim/data/gui/account_context_menu.ui:79 +#: gajim/data/gui/zeroconf_context_menu.ui:26 +#, fuzzy +msgid "_Modify Account…" +msgstr "_Modificar Conta..." + +#: gajim/gui_menu_builder.py:704 gajim/gtk/accounts.py:51 +msgid "Accounts" +msgstr "Contas" + +#: gajim/gui_menu_builder.py:734 gajim/gui_menu_builder.py:739 +#, fuzzy +msgid "Copy XMPP Address" +msgstr "_Copiar JID/Endereço de Email" + +#: gajim/gui_menu_builder.py:735 gajim/gui_menu_builder.py:767 +#, fuzzy +msgid "Join Groupchat" +msgstr "Entrar num Chat" + +#: gajim/gui_menu_builder.py:740 gajim/gui_menu_builder.py:766 +#: gajim/gtk/start_chat.py:636 +#: gajim/data/gui/subscription_request_window.ui:149 +msgid "Start Chat" +msgstr "Iniciar Conversa" + +#: gajim/gui_menu_builder.py:746 +#, fuzzy +msgid "Copy Link Location" +msgstr "_Copiar Localização do Link" + +#: gajim/gui_menu_builder.py:747 +#, fuzzy +msgid "Open Link in Browser" +msgstr "_Abrir Link no Navegador" + +#: gajim/gui_menu_builder.py:752 +#, fuzzy +msgid "Copy Email Address" +msgstr "_Copiar JID/Endereço de Email" + +#: gajim/gui_menu_builder.py:753 gajim/gui_menu_builder.py:765 +#, fuzzy +msgid "Open Email Composer" +msgstr "_Abrir Compositor de Email" + +#: gajim/gui_menu_builder.py:758 +#, fuzzy +msgid "Copy Location" +msgstr "_Copiar Localização do Link" + +#: gajim/gui_menu_builder.py:759 gajim/gtk/preferences.py:291 +#, fuzzy +msgid "Show Location" +msgstr "Modificação da Conta" + +#: gajim/gui_menu_builder.py:764 +#, fuzzy +msgid "Copy XMPP Address/Email" +msgstr "_Copiar JID/Endereço de Email" + +#: gajim/gui_menu_builder.py:816 +#, fuzzy +msgid "Invite" +msgstr "Invisível" + +#: gajim/gui_menu_builder.py:832 +#, fuzzy +msgid "Kick" +msgstr "_Expulsar" + +#: gajim/gui_menu_builder.py:840 +#, fuzzy +msgid "Ban" +msgstr "_Banir" + +#: gajim/gui_menu_builder.py:850 +#, fuzzy +msgid "Make Owner" +msgstr "_Dono" + +#: gajim/gui_menu_builder.py:859 +#, fuzzy +msgid "Make Admin" +msgstr "_Admin" + +#: gajim/gui_menu_builder.py:868 +#, fuzzy +msgid "Make Member" +msgstr "_Membro" + +#: gajim/gui_menu_builder.py:877 +#, fuzzy +msgid "Revoke Member" +msgstr "_Membro" + +#: gajim/gui_menu_builder.py:887 +msgid "Grant Voice" +msgstr "" + +#: gajim/gui_menu_builder.py:890 +#, fuzzy +msgid "Revoke Voice" +msgstr "_Voz" + +#: gajim/gui_menu_builder.py:910 +#, fuzzy +msgid "Copy" +msgstr "Sala:" + +#: gajim/chat_control.py:346 gajim/groupchat_control.py:348 +#, fuzzy +msgid "Send File…" +msgstr "Enviar _Ficheiro" + +#: gajim/chat_control.py:348 gajim/groupchat_control.py:354 +#, fuzzy +msgid "No File Transfer available" +msgstr "Transferências de Ficheiros" + +#: gajim/chat_control.py:479 +#, fuzzy +msgid "Show a list of formattings" +msgstr "Clique para inserir um emoticon (Alt+E)" + +#: gajim/chat_control.py:483 +#, fuzzy +msgid "This contact does not support HTML" +msgstr "Uma lista de transferências de ficheiros activas, completas e paradas" + +#: gajim/chat_control.py:684 +msgid "Ping?" +msgstr "" + +#: gajim/chat_control.py:687 +#, python-format +msgid "Pong! (%s seconds)" +msgstr "" + +#: gajim/chat_control.py:758 +#, fuzzy +msgid "Calling…" +msgstr "Banindo..." + +#: gajim/chat_control.py:783 gajim/chat_control.py:870 +#, fuzzy +msgid "Connection Error" +msgstr "Ligação" + +#: gajim/chat_control.py:811 gajim/data/gui/chat_control.ui:1185 +msgid "Turn Camera on" +msgstr "" + +#: gajim/chat_control.py:822 +msgid "Calling (Video)…" +msgstr "" + +#: gajim/chat_control.py:826 gajim/chat_control.py:834 +#: gajim/chat_control.py:864 +msgid "Turn Camera off" +msgstr "" + +#: gajim/chat_control.py:832 +msgid "Incoming Call (Video)" +msgstr "" + +#: gajim/chat_control.py:1020 +#, fuzzy, python-format +msgid "%(nickname)s from group chat %(room_name)s" +msgstr "%(nickname)s na sala %(room_name)s enviou-lhe uma nova mensagem." + +#: gajim/chat_control.py:1257 +msgid "Note: Chat history is disabled for this contact." +msgstr "" + +#: gajim/chat_control.py:1259 +msgid "Note: Chat history is disabled for this account." +msgstr "" + +#: gajim/chat_control.py:1260 +#, fuzzy, python-format +msgid "" +"You just received a new message from %s.\n" +"Do you want to close this tab?" +msgstr "Recebeu uma nova mensagem de \"%s\"" + +#: gajim/chat_control.py:1266 gajim/gtk/remove_account.py:43 +#: gajim/gtk/change_password.py:44 +#, fuzzy +msgid "Close" +msgstr "E_nviar & Fechar" + +#: gajim/chat_control.py:1267 gajim/gtk/notification.py:184 +#: gajim/gtk/notification.py:204 gajim/gtk/notification.py:218 +#: gajim/gtk/notification.py:271 gajim/common/connection_handlers_events.py:237 +msgid "New Message" +msgstr "Nova Mensagem" + +#: gajim/chat_control.py:1272 gajim/chat_control.py:1579 +#: gajim/chat_control.py:1588 gajim/message_window.py:371 +#: gajim/data/gui/groupchat_control.ui:1117 +#: gajim/data/gui/groupchat_control.ui:1203 +#: gajim/data/gui/groupchat_control.ui:1308 +#: gajim/data/gui/groupchat_control.ui:1997 +#, fuzzy +msgid "_Close" +msgstr "E_nviar & Fechar" + +#: gajim/chat_control.py:1359 +#, fuzzy, python-format +msgid "" +"Subject: %(subject)s\n" +"%(message)s" +msgstr "" +"Assunto: %s\n" +"%s" + +#: gajim/chat_control.py:1480 +#, fuzzy, python-format +msgid "%(name)s is now %(show)s %(status)s" +msgstr "%(nick)s está agora %(status)s" + +#: gajim/chat_control.py:1545 +#, fuzzy +msgid "Size" +msgstr "Tamanho: " + +#: gajim/chat_control.py:1547 gajim/chat_control.py:1609 +#: gajim/gtk/groupchat_invitation.py:67 +#, fuzzy +msgid "_Decline" +msgstr "_Offline" + +#: gajim/chat_control.py:1550 gajim/chat_control.py:1611 +#: gajim/chat_control.py:1668 gajim/gtk/dialogs.py:59 +#, fuzzy +msgid "_Accept" +msgstr "Aceitar" + +#: gajim/chat_control.py:1577 gajim/gtk/filetransfer.py:259 +#, fuzzy +msgid "Open _Folder" +msgstr "_Abrir Pasta" + +#: gajim/chat_control.py:1662 +#, fuzzy +msgid "" +"\n" +"Video Call" +msgstr "Iniciar Conversa" + +#: gajim/chat_control.py:1664 +#, fuzzy +msgid "" +"\n" +"Voice Call" +msgstr "Pedido de Transferência de Ficheiro" + +#: gajim/chat_control.py:1666 +#, fuzzy +msgid "_Reject" +msgstr "Apagar MOTD" + +#: gajim/chat_control.py:1692 gajim/gtk/filetransfer.py:297 +#, fuzzy +msgid "File transfer stopped" +msgstr "Transferência de Ficheiro Parada" + +#: gajim/chat_control.py:1697 gajim/gtk/filetransfer.py:275 +#: gajim/gtk/filetransfer.py:284 +#, fuzzy +msgid "File transfer cancelled" +msgstr "Transferência de ficheiro cancelada" + +#: gajim/chat_control.py:1698 +msgid "Connection with peer cannot be established." +msgstr "Ligação ao peer não pode ser estabelecida." + +#: gajim/chat_control_base.py:141 gajim/gtk/start_chat.py:649 +#: gajim/gtk/groupchat_invite.py:318 +#, python-format +msgid "Account: %s" +msgstr "Conta:%s" + +#: gajim/chat_control_base.py:592 +msgid "and authenticated" +msgstr "e autenticado" + +#: gajim/chat_control_base.py:596 +msgid "and NOT authenticated" +msgstr "e NÃO autenticado" + +#: gajim/chat_control_base.py:600 +#, python-format +msgid "%(type)s encryption is active %(authenticated)s." +msgstr "criptografia %(type)s está ativa %(authenticated)s." + +#: gajim/chat_control_base.py:715 +msgid "_Undo" +msgstr "_Desfazer" + +#: gajim/chat_control_base.py:723 gajim/conversation_textview.py:417 +msgid "_Clear" +msgstr "_Limpar" + +#: gajim/chat_control_base.py:728 +msgid "Paste as quote" +msgstr "Colar como citação" + +#: gajim/chat_control_base.py:767 +msgid "Paste Image" +msgstr "Colar Imagem" + +#: gajim/chat_control_base.py:768 +msgid "You are trying to paste an image" +msgstr "Você está tentando colar uma imagem" + +#: gajim/chat_control_base.py:769 +msgid "" +"Are you sure you want to paste your clipboard's image into the chat window?" +msgstr "" +"Tem certeza de que deseja colar a imagem da sua área de transferência na " +"janela de bate-papo?" + +#: gajim/chat_control_base.py:775 +msgid "_Paste" +msgstr "_Colar" + +#: gajim/chat_control_base.py:1361 gajim/gtk/accounts.py:310 +#: gajim/data/gui/profile.ui:17 gajim/data/gui/profile.ui:318 +msgid "Privacy" +msgstr "Privacidade" + +#: gajim/chat_control_base.py:1362 +msgid "Warning" +msgstr "Aviso" + +#: gajim/chat_control_base.py:1363 +#, python-format +msgid "" +"If you send a file to %s, your real XMPP address will be revealed." +msgstr "" +"Se você enviar um arquivo para %s, seu endereço XMPP será revelado." + +#: gajim/chat_control_base.py:1368 +msgid "_Continue" +msgstr "_Continuar" + +#: gajim/gajim_remote.py:55 gajim/common/exceptions.py:70 +msgid "D-Bus is not present on this machine or python module is missing" +msgstr "D-Bus não está presente nesta máquina, ou falta módulo python" + +#: gajim/gajim_remote.py:77 +#, fuzzy +msgid "Shows a help on specific command" +msgstr "Exibe ajuda acerca de um comando específico" + +#: gajim/gajim_remote.py:80 +msgid "command" +msgstr "comando" + +#: gajim/gajim_remote.py:81 +msgid "show help on command" +msgstr "mostrar ajuda sobre comando" + +#: gajim/gajim_remote.py:85 +#, fuzzy +msgid "Lists all contacts in the contact list, one for each line" +msgstr "" +"Mostra uma lista de todos os contactos na lista. Cada contacto aparece numa " +"linha separada" + +#: gajim/gajim_remote.py:87 gajim/gajim_remote.py:102 gajim/gajim_remote.py:112 +#: gajim/gajim_remote.py:122 gajim/gajim_remote.py:133 +#: gajim/gajim_remote.py:142 gajim/gajim_remote.py:163 +#: gajim/gajim_remote.py:171 gajim/gajim_remote.py:180 +#: gajim/gajim_remote.py:187 +#, fuzzy +msgid "?CLI:account" +msgstr "conta" + +#: gajim/gajim_remote.py:87 +msgid "show only contacts of the given account" +msgstr "mostrar apenas contactos da conta indicada" + +#: gajim/gajim_remote.py:93 +msgid "Prints a list of registered accounts" +msgstr "Mostra uma lista de contas registadas" + +#: gajim/gajim_remote.py:97 +#, fuzzy +msgid "Changes the status of account(s)" +msgstr "Muda o estado de uma ou várias contas" + +#: gajim/gajim_remote.py:100 +#, fuzzy +msgid "?CLI:status" +msgstr "estado" + +#: gajim/gajim_remote.py:100 +#, fuzzy +msgid "" +"one of: offline, online, chat, away, xa, dnd. If not set, use account's " +"previous status" +msgstr "" +"um de: offline, disponível, livre para conversar, ausente, indisponível, " +"ocupado, invisível" + +#: gajim/gajim_remote.py:101 gajim/gajim_remote.py:121 +#: gajim/gajim_remote.py:132 gajim/gajim_remote.py:141 +#, fuzzy +msgid "?CLI:message" +msgstr "mensagem" + +#: gajim/gajim_remote.py:101 +msgid "status message" +msgstr "mensagem de estado:" + +#: gajim/gajim_remote.py:102 +msgid "" +"change status of account \"account\". If not specified, try to change status " +"of all accounts that have \"sync with global status\" option set" +msgstr "" +"mudar estado da conta \"account\". Se não especificado, tentará mudar o " +"estado de todas as contas que têm a opção \"sincronizar com estado global\" " +"activada" + +#: gajim/gajim_remote.py:108 +#, fuzzy +msgid "Changes the priority of account(s)" +msgstr "Muda o estado de uma ou várias contas" + +#: gajim/gajim_remote.py:110 +#, fuzzy +msgid "?CLI:priority" +msgstr "_Prioridade" + +#: gajim/gajim_remote.py:110 +#, fuzzy +msgid "priority you want to give to the account" +msgstr "Quero _registar uma nova conta" + +#: gajim/gajim_remote.py:112 +#, fuzzy +msgid "" +"change the priority of the given account. If not specified, change status of " +"all accounts that have \"sync with global status\" option set" +msgstr "" +"mudar estado da conta \"account\". Se não especificado, tentará mudar o " +"estado de todas as contas que têm a opção \"sincronizar com estado global\" " +"activada" + +#: gajim/gajim_remote.py:118 +#, fuzzy +msgid "" +"Sends new chat message to a contact in the contact list. Account is optional." +msgstr "Enviar uma mensagem ao contacto" + +#: gajim/gajim_remote.py:120 gajim/gajim_remote.py:130 +#, fuzzy +msgid "XMPP Address of the contact that will receive the message" +msgstr "JID do destinatário da mensagem" + +#: gajim/gajim_remote.py:121 gajim/gajim_remote.py:132 +#: gajim/gajim_remote.py:141 +msgid "message contents" +msgstr "conteúdo da mensagem" + +#: gajim/gajim_remote.py:122 gajim/gajim_remote.py:133 +#: gajim/gajim_remote.py:142 +msgid "if specified, the message will be sent using this account" +msgstr "se especificado, a mensagem será enviada usadando esta conta" + +#: gajim/gajim_remote.py:127 +#, fuzzy +msgid "" +"Sends a chat message to someone on your contact list. Account is optional." +msgstr "Enviar uma mensagem ao contacto" + +#: gajim/gajim_remote.py:131 +#, fuzzy +msgid "subject" +msgstr "Assunto:" + +#: gajim/gajim_remote.py:131 +#, fuzzy +msgid "message subject" +msgstr "Mensagem" + +#: gajim/gajim_remote.py:138 +msgid "Sends new message to a group chat you've joined." +msgstr "" + +#: gajim/gajim_remote.py:140 +#, fuzzy +msgid "XMPP Address of the group chat that will receive the message" +msgstr "JID do destinatário da mensagem" + +#: gajim/gajim_remote.py:147 +msgid "Gets detailed info on a contact" +msgstr "Busca informações detalhadas sobre um contacto" + +#: gajim/gajim_remote.py:149 gajim/gajim_remote.py:162 +#: gajim/gajim_remote.py:170 +#, fuzzy +msgid "XMPP Address of the contact" +msgstr "JID do contacto" + +#: gajim/gajim_remote.py:153 +#, fuzzy +msgid "Gets detailed info on a account" +msgstr "Busca informações detalhadas sobre um contacto" + +#: gajim/gajim_remote.py:155 +#, fuzzy +msgid "Name of the account" +msgstr "Não tem nenhuma conta activa" + +#: gajim/gajim_remote.py:159 +msgid "Sends file to a contact" +msgstr "Envia um ficheiro a um contacto" + +#: gajim/gajim_remote.py:161 +msgid "file" +msgstr "Ficheiro" + +#: gajim/gajim_remote.py:161 +msgid "File path" +msgstr "Localização do ficheiro" + +#: gajim/gajim_remote.py:163 +msgid "if specified, file will be sent using this account" +msgstr "se especificado, a mensagem será enviada usadando esta conta" + +#: gajim/gajim_remote.py:168 +#, fuzzy +msgid "Removes contact from contact list" +msgstr "Remove o contacto da lista" + +#: gajim/gajim_remote.py:171 +msgid "if specified, contact is taken from the contact list of this account" +msgstr "" +"se especificado, o contacto é escolhido da lista de contactos desta conta" + +#: gajim/gajim_remote.py:178 +msgid "Returns current status (the global one unless account is specified)" +msgstr "" +"Indica o estado actual (o estado global, a não ser que uma conta seja " +"especificada)." + +#: gajim/gajim_remote.py:185 +#, fuzzy +msgid "" +"Returns current status message (the global one unless account is specified)" +msgstr "" +"Indica o estado actual (o estado global, a não ser que uma conta seja " +"especificada)." + +#: gajim/gajim_remote.py:192 +#, fuzzy +msgid "Returns number of unread messages" +msgstr "Tem mensagens não lidas" + +#: gajim/gajim_remote.py:197 +msgid "Sends custom XML" +msgstr "" + +#: gajim/gajim_remote.py:199 +#, fuzzy +msgid "XML to send" +msgstr "Consola XML" + +#: gajim/gajim_remote.py:200 +msgid "" +"Account to which the XML will be sent; if not specified, XML will be sent to " +"all accounts" +msgstr "" + +#: gajim/gajim_remote.py:207 +msgid "Check if Gajim is running" +msgstr "" + +#: gajim/gajim_remote.py:233 +msgid "Missing argument \"contact_jid\"" +msgstr "Argumento em falta \"contacto_jid\"" + +#: gajim/gajim_remote.py:253 +#, fuzzy, python-format +msgid "" +"'%s' is not in your contact list.\n" +"Please specify account for sending the message." +msgstr "" +"'%s' não está na sua lista.\n" +"Por favor, especifique a conta para enviar a mensagem" + +#: gajim/gajim_remote.py:256 +msgid "You have no active account" +msgstr "Não tem nenhuma conta activa" + +#: gajim/gajim_remote.py:304 +msgid "It seems Gajim is not running. So you can't use gajim-remote." +msgstr "" + +#: gajim/gajim_remote.py:331 +#, python-format +msgid "" +"Usage: %(basename)s %(command)s %(arguments)s \n" +"\t %(help)s" +msgstr "" + +#: gajim/gajim_remote.py:335 +msgid "Arguments:" +msgstr "Argumentos:" + +#: gajim/gajim_remote.py:339 +#, python-format +msgid "%s not found" +msgstr "%s não encontrado" + +#: gajim/gajim_remote.py:345 +#, fuzzy, python-format +msgid "" +"Usage:\n" +" %s command [arguments]\n" +"\n" +"Command is one of:\n" +msgstr "" +"Uso: %s comando [argumentos]\n" +"Comando é um de:\n" + +#: gajim/gajim_remote.py:415 +#, fuzzy, python-format +msgid "" +"Too many arguments. \n" +"Type \"%(basename)s help %(command)s\" for more info" +msgstr "" +"Argumento \"%s\" não está especificado. \n" +"Escreva \"%s help %s\" para mais informações" + +#: gajim/gajim_remote.py:420 +#, fuzzy, python-format +msgid "" +"Argument \"%(arg)s\" is not specified. \n" +"Type \"%(basename)s help %(command)s\" for more info" +msgstr "" +"Argumento \"%s\" não está especificado. \n" +"Escreva \"%s help %s\" para mais informações" + +#: gajim/dialogs.py:70 +#, fuzzy, python-format +msgid "Contact name: %s" +msgstr "Nome do Contacto %s" + +#: gajim/dialogs.py:72 +#, python-format +msgid "XMPP Address: %s" +msgstr "" + +#: gajim/dialogs.py:189 +msgid "Group" +msgstr "Grupo" + +#: gajim/dialogs.py:196 +msgid "In the group" +msgstr "Neste grupo" + +#: gajim/dialogs.py:211 gajim/gtk/discovery.py:522 +msgid "You are not connected to the server" +msgstr "Não está ligado ao servidor" + +#: gajim/dialogs.py:212 +#, fuzzy +msgid "Without a connection, you can not synchronise your contacts." +msgstr "Tem de estar ligado para poder mudar a sua senha." + +#: gajim/dialogs.py:223 gajim/dialogs.py:294 +#: gajim/gtk/roster_item_exchange.py:83 gajim/gtk/discovery.py:826 +#: gajim/gtk/discovery.py:1650 gajim/gtk/discovery.py:1896 +#: gajim/gtk/history.py:99 gajim/gtk/vcard_grid.py:34 +#: gajim/data/gui/bookmarks.ui:66 +msgid "Name" +msgstr "Nome" + +#: gajim/dialogs.py:226 gajim/data/gui/preferences.ui:604 +#: gajim/data/gui/server_info.ui:146 +msgid "Server" +msgstr "Servidor" + +#: gajim/dialogs.py:262 +#, fuzzy +msgid "This account is not connected to the server" +msgstr "Conta \"%s\" está ligada ao servidor" + +#: gajim/dialogs.py:263 +#, fuzzy +msgid "You cannot synchronize with an account unless it is connected." +msgstr "Não pode entrar num chat sem estar ligado." + +#: gajim/dialogs.py:292 +msgid "Synchronise" +msgstr "" + +#: gajim/vcard.py:284 +msgid "?Client:Unknown" +msgstr "?Cliente:Desconhecido" + +#: gajim/vcard.py:289 +msgid "?OS:Unknown" +msgstr "?SO:Desconhecido" + +#: gajim/vcard.py:319 gajim/vcard.py:322 +msgid "?Time:Unknown" +msgstr "?Tempo:Desconhecido" + +#: gajim/vcard.py:373 +msgid "?Role in Group Chat:Role:" +msgstr "?Função no Chat em Grupo:Função:" + +#: gajim/vcard.py:377 +msgid "Affiliation:" +msgstr "Filiação:" + +#: gajim/vcard.py:384 +msgid "" +"This contact is interested in your presence information, but you are not " +"interested in their presence" +msgstr "" +"Este contato está interessado/a em suas informações de presença, mas você " +"não está interessado na dele/a" + +#: gajim/vcard.py:386 +msgid "" +"You are interested in the contact's presence information, but it is not " +"mutual" +msgstr "" +"Você está interessado nas informações de presença do contato, mas, isso não " +"é mútuo" + +#: gajim/vcard.py:388 +msgid "The contact and you want to exchange presence information" +msgstr "Você e o contato desejam trocar informações de presença" + +#: gajim/vcard.py:390 +msgid "" +"You and the contact have a mutual disinterest in each-others presence " +"information" +msgstr "" +"Você e o contato não possuem interessem em trocar informações de presença" + +#: gajim/vcard.py:396 +msgid "You are waiting contact's answer about your subscription request" +msgstr "Esperando resposta do contato sobre o seu pedido de subscrição" + +#: gajim/vcard.py:398 +msgid "There is no pending subscription request." +msgstr "Não existem pedidos pendentes de subscrição." + +#: gajim/vcard.py:403 gajim/vcard.py:453 gajim/vcard.py:549 +msgid " resource with priority " +msgstr " recurso com prioridade " + +#: gajim/conversation_textview.py:65 +#, fuzzy +msgid "Untrusted" +msgstr "Escolha sua chave OpenPGP" + +#: gajim/conversation_textview.py:68 +msgid "Trust Not Decided" +msgstr "" + +#: gajim/conversation_textview.py:71 +msgid "Unverified" +msgstr "" + +#: gajim/conversation_textview.py:74 +msgid "Verified" +msgstr "" + +#: gajim/conversation_textview.py:225 +#, fuzzy +msgid "" +"Text below this line is what has been said since the\n" +"last time you paid attention to this group chat" +msgstr "" +"O texto abaixo desta linha é o que foi dito desde que prestou atenção a este " +"chat pela última vez." + +#: gajim/conversation_textview.py:428 +#, fuzzy +msgid "_Quote" +msgstr "_Sair" + +#: gajim/conversation_textview.py:436 +#, fuzzy, python-format +msgid "_Actions for \"%s\"" +msgstr "Acções para \"%s\"" + +#: gajim/conversation_textview.py:450 +msgid "Read _Wikipedia Article" +msgstr "Ler Artigo _Wikipedia" + +#: gajim/conversation_textview.py:455 +msgid "Look it up in _Dictionary" +msgstr "Procurar no _Dicionário" + +#: gajim/conversation_textview.py:472 +#, python-format +msgid "Dictionary URL is missing an \"%s\" and it is not WIKTIONARY" +msgstr "Falta um \"%s\" no URL do Dicionário e como tal não é WIKTIONARY" + +#: gajim/conversation_textview.py:486 +#, python-format +msgid "Web Search URL is missing an \"%s\"" +msgstr "URL de Procura na Web não existe \"%s\"" + +#: gajim/conversation_textview.py:489 +msgid "Web _Search for it" +msgstr "_Pesquisar na Web sobre o assunto" + +#: gajim/conversation_textview.py:495 +msgid "Open as _Link" +msgstr "" + +#: gajim/conversation_textview.py:770 +#, fuzzy +msgid "Invalid URL" +msgstr "Jabber ID Inválido" + +#: gajim/conversation_textview.py:860 +msgid "" +"Message corrected. Original message:\n" +"{}" +msgstr "" + +#: gajim/conversation_textview.py:1031 +#, fuzzy +msgid "Not encrypted" +msgstr "Não iniciada" + +#: gajim/conversation_textview.py:1034 +#, python-format +msgid "Encrypted (%s)" +msgstr "" + +#: gajim/conversation_textview.py:1141 gajim/gtk/history.py:618 +#, python-format +msgid "Subject: %s\n" +msgstr "Assunto: %s\n" + +#: gajim/conversation_textview.py:1250 +#, fuzzy +msgid "Received" +msgstr "Recebido %s" + +#: gajim/conversation_textview.py:1272 +msgid "?Message state:Read" +msgstr "" + +#: gajim/groupchat_control.py:352 +#, fuzzy, python-format +msgid "Send File (max. %s MiB)…" +msgstr "Guardar Ficheiro como..." + +#: gajim/groupchat_control.py:497 +#, fuzzy, python-format +msgid "%s has been invited to this group chat" +msgstr "%(nick)s foi expulso por %(who)s: %(reason)s" + +#: gajim/groupchat_control.py:512 gajim/dialog_messages.py:31 +#: gajim/dialog_messages.py:36 gajim/gtk/single_message.py:238 +#, fuzzy +msgid "Invalid XMPP Address" +msgstr "Ficheiro Inválido" + +#: gajim/groupchat_control.py:575 +#, fuzzy +msgid "Loading avatar failed" +msgstr "Falha ao enviar uma mensagem privada" + +#: gajim/groupchat_control.py:595 +#, fuzzy, python-format +msgid "Avatar upload failed: %s" +msgstr "Publicação vCard falhou" + +#: gajim/groupchat_control.py:598 +#, fuzzy +msgid "Avatar upload successful" +msgstr "Publicação vCard falhou" + +#: gajim/groupchat_control.py:616 +#, fuzzy, python-format +msgid "Kick %s" +msgstr "Expulsando %s" + +#: gajim/groupchat_control.py:625 +#, python-format +msgid "Ban %s" +msgstr "" + +#: gajim/groupchat_control.py:684 +#, fuzzy +msgid "Insert Nickname" +msgstr "Muda Alcu_nha" + +#: gajim/groupchat_control.py:775 gajim/groupchat_control.py:776 +#, fuzzy +msgid "Voice Request" +msgstr "Pedido de Transferência de Ficheiro" + +#: gajim/groupchat_control.py:777 +#, python-format +msgid "%(nick)s from %(room_name)s requests voice" +msgstr "" + +#: gajim/groupchat_control.py:781 +msgid "_Approve" +msgstr "" + +#: gajim/groupchat_control.py:1007 +#, fuzzy, python-format +msgid "%(nick)s has set the subject to %(subject)s" +msgstr "%(nick)s foi expulso: %(reason)s" + +#: gajim/groupchat_control.py:1023 +msgid "Group chat now shows unavailable members" +msgstr "" + +#: gajim/groupchat_control.py:1026 +#, fuzzy +msgid "Group chat now does not show unavailable members" +msgstr "Tal sala não existe." + +#: gajim/groupchat_control.py:1030 +msgid "A setting not related to privacy has been changed" +msgstr "" + +#: gajim/groupchat_control.py:1037 gajim/groupchat_control.py:1197 +#, fuzzy +msgid "Conversations are stored on the server" +msgstr "Não está ligado ao servidor" + +#: gajim/groupchat_control.py:1040 +#, fuzzy +msgid "Conversations are not stored on the server" +msgstr "Informações sobre si, tal como estão gravadas no servidor" + +#: gajim/groupchat_control.py:1043 +#, fuzzy +msgid "Group chat is now non-anonymous" +msgstr "Chat" + +#: gajim/groupchat_control.py:1047 +#, fuzzy +msgid "Group chat is now semi-anonymous" +msgstr "Chat" + +#: gajim/groupchat_control.py:1051 +#, fuzzy +msgid "Group chat is now fully anonymous" +msgstr "Chat" + +#: gajim/groupchat_control.py:1101 +#, python-format +msgid "Ping? (%s)" +msgstr "" + +#: gajim/groupchat_control.py:1104 +#, python-format +msgid "Pong! (%(nick)s %(delay)s s.)" +msgstr "" + +#: gajim/groupchat_control.py:1188 +#, fuzzy, python-format +msgid "You (%s) joined the group chat" +msgstr "Neste grupo" + +#: gajim/groupchat_control.py:1193 +msgid "Any participant is allowed to see your full XMPP Address" +msgstr "" + +#: gajim/groupchat_control.py:1201 +#, fuzzy +msgid "The server has assigned or modified your nickname in this group chat" +msgstr "Muda Alcu_nha" + +#: gajim/groupchat_control.py:1211 +#, fuzzy +msgid "A new group chat has been created" +msgstr "A sua nova conta foi criada com sucesso" + +#: gajim/groupchat_control.py:1215 +#, fuzzy +msgid "Failed to Configure Group Chat" +msgstr "Chat" + +#: gajim/groupchat_control.py:1274 gajim/groupchat_control.py:1304 +#: gajim/groupchat_control.py:1332 gajim/groupchat_control.py:1391 +#, python-brace-format +msgid " by {actor}" +msgstr "" + +#: gajim/groupchat_control.py:1277 +#, python-brace-format +msgid "** Your Affiliation has been set to {affiliation}{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1283 +#, python-brace-format +msgid "** Affiliation of {nick} has been set to {affiliation}{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1307 +#, fuzzy, python-brace-format +msgid "** Your Role has been set to {role}{actor}{reason}" +msgstr "%(nick)s foi expulso por %(who)s: %(reason)s" + +#: gajim/groupchat_control.py:1312 +#, fuzzy, python-brace-format +msgid "** Role of {nick} has been set to {role}{actor}{reason}" +msgstr "%(nick)s foi expulso por %(who)s: %(reason)s" + +#: gajim/groupchat_control.py:1335 +#, fuzzy, python-brace-format +msgid "You have been removed from the group chat{actor}{reason}" +msgstr "%(nick)s foi expulso por %(who)s: %(reason)s" + +#: gajim/groupchat_control.py:1340 +#, python-brace-format +msgid "You have left due to an error{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1346 +#, python-brace-format +msgid "You have been kicked{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1353 +#, python-brace-format +msgid "You have been banned{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1360 gajim/groupchat_control.py:1423 +#, fuzzy +msgid ": Affiliation changed" +msgstr "Filiação: " + +#: gajim/groupchat_control.py:1366 gajim/groupchat_control.py:1428 +msgid ": Group chat configuration changed to members-only" +msgstr "" + +#: gajim/groupchat_control.py:1394 +#, fuzzy, python-brace-format +msgid "{nick} has been removed from the group chat{by}{reason}" +msgstr "%(nick)s foi expulso por %(who)s: %(reason)s" + +#: gajim/groupchat_control.py:1402 +#, python-brace-format +msgid "{nick} has left due to an error{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1408 +#, fuzzy, python-brace-format +msgid "{nick} has been kicked{actor}{reason}" +msgstr "%(nick)s foi expulso: %(reason)s" + +#: gajim/groupchat_control.py:1416 +#, fuzzy, python-brace-format +msgid "{nick} has been banned{actor}{reason}" +msgstr "%(nick)s foi banido: %(reason)s" + +#: gajim/groupchat_control.py:1433 +#, python-brace-format +msgid "{nick} has left{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1451 +#, fuzzy, python-format +msgid "%s has joined the group chat" +msgstr "Neste grupo" + +#: gajim/groupchat_control.py:1463 +#, fuzzy +msgid "Failed to Join Group Chat" +msgstr "Impossível entrar na sala" + +#: gajim/groupchat_control.py:1469 +#, fuzzy +msgid "Failed to Create Group Chat" +msgstr "Chat" + +#: gajim/groupchat_control.py:1485 +#, fuzzy +msgid "Group chat has been destroyed" +msgstr "Autorização foi removida" + +#: gajim/groupchat_control.py:1490 +#, fuzzy, python-format +msgid "You can join this group chat instead: xmpp:%s?join" +msgstr "Neste grupo" + +#: gajim/groupchat_control.py:1672 +#, fuzzy +msgid "Leave Group Chat" +msgstr "Chat" + +#: gajim/groupchat_control.py:1673 +#, fuzzy +msgid "Are you sure you want to leave this group chat?" +msgstr "Tem a certeza de que deseja sair da sala \"%s\"?" + +#: gajim/groupchat_control.py:1674 +#, fuzzy, python-format +msgid "If you close this window, you will leave '%s'." +msgstr "Se fechar esta janela, perder-se-á a ligação a estas salas." + +#: gajim/message_window.py:365 +#, fuzzy +msgid "Close Tabs" +msgstr "E_nviar & Fechar" + +#: gajim/message_window.py:366 +#, fuzzy +msgid "You are about to close several tabs" +msgstr "Não está ligado ao servidor" + +#: gajim/message_window.py:367 +#, fuzzy +msgid "Do you really want to close all of them?" +msgstr "O que pretende fazer?" + +#: gajim/message_window.py:526 +#, fuzzy +msgid "?Noun:Chats" +msgstr "Chat" + +#: gajim/message_window.py:530 gajim/data/gui/preferences.ui:155 +#, fuzzy +msgid "Group Chats" +msgstr "C_hat" + +#: gajim/message_window.py:534 +#, fuzzy +msgid "Private Chats" +msgstr "Iniciar Conversa" + +#: gajim/message_window.py:540 +#, fuzzy +msgid "Messages" +msgstr "Mensagem" + +#: gajim/dialog_messages.py:37 +#, fuzzy, python-format +msgid "" +"It is not possible to send a message to %s. This XMPP Address is not valid." +msgstr "Não é possível enviar ficheiros vazios" + +#: gajim/dialog_messages.py:42 +#, fuzzy +msgid "Unread Events" +msgstr "Mensagem" + +#: gajim/dialog_messages.py:43 +msgid "Read or acknowledge all pending events before removing this account." +msgstr "" + +#: gajim/dialog_messages.py:48 +#, fuzzy +msgid "Invalid Form" +msgstr "Entrada inválida" + +#: gajim/dialog_messages.py:49 +msgid "The form is not filled correctly." +msgstr "O formulário não foi preenchido correctamente" + +#: gajim/dialog_messages.py:53 +#, fuzzy +msgid "No Connection Available" +msgstr "Ligação indisponível" + +#: gajim/dialog_messages.py:54 +msgid "Your message can not be sent until you are connected." +msgstr "A sua mensagem não pode ser enviada enquanto não estiver ligado." + +#: gajim/dialog_messages.py:58 +msgid "XMPP Address Already in List" +msgstr "" + +#: gajim/dialog_messages.py:59 +msgid "" +"The XMPP Address you entered is already in the list. Please choose another " +"one." +msgstr "" + +#: gajim/dialog_messages.py:64 +#, fuzzy +msgid "Invalid Answer" +msgstr "Senha Inválida" + +#: gajim/dialog_messages.py:65 +#, python-format +msgid "Transport %(name)s answered wrongly to register request: %(error)s" +msgstr "" + +#: gajim/dialog_messages.py:70 +#, fuzzy +msgid "Wrong Custom Hostname" +msgstr "Usar hostname/porta personalizados" + +#: gajim/dialog_messages.py:71 +#, fuzzy, python-format +msgid "Custom hostname \"%s\" is wrong. It will be ignored." +msgstr "Usar hostname/porta personalizados" + +#: gajim/dialog_messages.py:75 +#, fuzzy +msgid "Registration Succeeded" +msgstr "Publicação vCard deu-se com sucesso" + +#: gajim/dialog_messages.py:76 +#, fuzzy, python-format +msgid "Registration with agent %s succeeded." +msgstr "Publicação vCard deu-se com sucesso" + +#: gajim/dialog_messages.py:80 +#, fuzzy +msgid "Registration Failed" +msgstr "Publicação vCard falhou" + +#: gajim/dialog_messages.py:81 +#, python-format +msgid "" +"Registration with agent %(agent)s failed with error %(error)s: %(error_msg)s" +msgstr "" + +#: gajim/dialog_messages.py:86 +msgid "GStreamer Error" +msgstr "" + +#: gajim/dialog_messages.py:87 +#, fuzzy, python-format +msgid "" +"Error: %(error)s\n" +"Debug: %(debug)s" +msgstr "Introduza a sua mensagem :" + +#: gajim/dialog_messages.py:91 +#, fuzzy +msgid "Wrong Host" +msgstr "Frase de acesso" + +#: gajim/dialog_messages.py:92 +msgid "Invalid local address? :-O" +msgstr "" + +#: gajim/dialog_messages.py:96 +#, fuzzy +msgid "Avahi Error" +msgstr "Erro:" + +#: gajim/dialog_messages.py:97 +#, python-format +msgid "" +"%s\n" +"Link-local messaging might not work properly." +msgstr "" + +#: gajim/dialog_messages.py:101 +msgid "Could not Open File" +msgstr "" + +#: gajim/command_system/mapping.py:169 gajim/command_system/mapping.py:179 +#: gajim/command_system/mapping.py:199 +#, fuzzy +msgid "Missing arguments" +msgstr "Argumento em falta \"contacto_jid\"" + +#: gajim/command_system/mapping.py:266 +#, fuzzy +msgid "Too many arguments" +msgstr "Argumento em falta \"contacto_jid\"" + +#: gajim/command_system/implementation/middleware.py:76 +msgid "Error during command execution!" +msgstr "" + +#: gajim/command_system/implementation/execute.py:60 +msgid "Execute expression inside a shell, show output" +msgstr "" + +#: gajim/command_system/implementation/execute.py:74 +msgid "" +"Command disabled. This command can be enabled by setting " +"'command_system_execute' to True in ACE (Advanced Configuration Editor)." +msgstr "" + +#: gajim/command_system/implementation/execute.py:125 +msgid "Execute expression inside a shell, send output" +msgstr "" + +#: gajim/command_system/implementation/standard.py:52 +msgid "" +"Show help on a given command or a list of available commands if -a is given" +msgstr "" + +#: gajim/command_system/implementation/standard.py:81 +msgid "Send a message to the contact" +msgstr "Enviar uma mensagem ao contacto" + +#: gajim/command_system/implementation/standard.py:86 +msgid "Send action (in the third person) to the current chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:91 +msgid "Show logged messages which mention given text" +msgstr "" + +#: gajim/command_system/implementation/standard.py:96 +#, fuzzy, python-format +msgid "%s: Nothing found" +msgstr "%s não encontrado" + +#: gajim/command_system/implementation/standard.py:102 +msgid "Limit must be an integer" +msgstr "" + +#: gajim/command_system/implementation/standard.py:127 +msgid "" +"\n" +" Set the current status\n" +"\n" +" Status can be given as one of the following values:\n" +" online, away, chat, xa, dnd.\n" +" " +msgstr "" + +#: gajim/command_system/implementation/standard.py:145 +msgid "Set the current status to away" +msgstr "" + +#: gajim/command_system/implementation/standard.py:148 +#: gajim/common/helpers.py:200 gajim/common/modules/adhoc_commands.py:122 +msgid "Away" +msgstr "Ausente" + +#: gajim/command_system/implementation/standard.py:159 +msgid "Set the current status to online" +msgstr "" + +#: gajim/command_system/implementation/standard.py:162 +#, fuzzy +msgid "Available" +msgstr "Indisponível" + +#: gajim/command_system/implementation/standard.py:173 +msgid "Send a disco info request" +msgstr "" + +#: gajim/command_system/implementation/standard.py:192 +#: gajim/command_system/implementation/standard.py:273 +msgid "Clear the text window" +msgstr "Limpar a janela de texto" + +#: gajim/command_system/implementation/standard.py:197 +#: gajim/command_system/implementation/standard.py:425 +#, fuzzy +msgid "Send a ping to the contact" +msgstr "Uso: /%s, muda a janela de chat para o modo compacto." + +#: gajim/command_system/implementation/standard.py:201 +#: gajim/command_system/implementation/standard.py:429 +msgid "Command is not supported for zeroconf accounts" +msgstr "" + +#: gajim/command_system/implementation/standard.py:205 +msgid "Send DTMF sequence through an open voice chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:208 +#, fuzzy +msgid "No open voice chats with the contact" +msgstr "Clique para ver conversas anteriores com este contacto" + +#: gajim/command_system/implementation/standard.py:211 +#, python-format +msgid "%s is not a valid tone" +msgstr "" + +#: gajim/command_system/implementation/standard.py:218 +msgid "Toggle Voice Chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:221 +#, fuzzy +msgid "Voice chats are not available" +msgstr "Sessão bus não está disponível" + +#: gajim/command_system/implementation/standard.py:228 +msgid "Toggle Video Chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:231 +#, fuzzy +msgid "Video chats are not available" +msgstr "Sessão bus não está disponível" + +#: gajim/command_system/implementation/standard.py:238 +#, fuzzy +msgid "Send a message to the contact that will attract their attention" +msgstr "Enviar uma mensagem ao contacto" + +#: gajim/command_system/implementation/standard.py:278 +#, fuzzy +msgid "Change your nickname in a group chat" +msgstr "Muda Alcu_nha" + +#: gajim/command_system/implementation/standard.py:283 +#, fuzzy +msgid "Invalid nickname" +msgstr "Nome de utilizador inválido" + +#: gajim/command_system/implementation/standard.py:290 +#, fuzzy +msgid "Open a private chat window with a specified participant" +msgstr "Abrir uma janela de conversação privada com um ocupante específico" + +#: gajim/command_system/implementation/standard.py:296 +#: gajim/command_system/implementation/standard.py:306 +#: gajim/command_system/implementation/standard.py:360 +#: gajim/command_system/implementation/standard.py:373 +#: gajim/command_system/implementation/standard.py:385 +msgid "Nickname not found" +msgstr "Alcunha não encontrada" + +#: gajim/command_system/implementation/standard.py:299 +#, fuzzy +msgid "" +"Open a private chat window with a specified participant and send him a " +"message" +msgstr "" +"Abrir uma janela de conversação privada com um ocupante específico e enviar-" +"lhe uma mensagem" + +#: gajim/command_system/implementation/standard.py:309 +#, fuzzy +msgid "Display or change a group chat topic" +msgstr "Perguntar antes de fechar uma janela/aba de chat." + +#: gajim/command_system/implementation/standard.py:318 +msgid "Invite a user to a group chat for a reason" +msgstr "" + +#: gajim/command_system/implementation/standard.py:325 +#, fuzzy +msgid "Join a group chat given by an XMPP Address" +msgstr "_Entrar num Chat" + +#: gajim/command_system/implementation/standard.py:335 +msgid "" +"Leave the group chat, optionally giving a reason, and close tab or window" +msgstr "" + +#: gajim/command_system/implementation/standard.py:341 +msgid "" +"\n" +" Ban user by a nick or a JID from a groupchat\n" +"\n" +" If given nickname is not found it will be treated as a JID.\n" +" " +msgstr "" + +#: gajim/command_system/implementation/standard.py:357 +#, fuzzy +msgid "Kick user from group chat by nickname" +msgstr "Está banido/a desta sala." + +#: gajim/command_system/implementation/standard.py:366 +msgid "" +"Set participant role in group chat.\n" +" Role can be given as one of the following values:\n" +" moderator, participant, visitor, none" +msgstr "" + +#: gajim/command_system/implementation/standard.py:371 +#, fuzzy +msgid "Invalid role given" +msgstr "Nome de utilizador inválido" + +#: gajim/command_system/implementation/standard.py:378 +msgid "" +"Set participant affiliation in group chat.\n" +" Affiliation can be given as one of the following values:\n" +" owner, admin, member, outcast, none" +msgstr "" + +#: gajim/command_system/implementation/standard.py:383 +#, fuzzy +msgid "Invalid affiliation given" +msgstr "Filiação: " + +#: gajim/command_system/implementation/standard.py:393 +#, fuzzy +msgid "Display names of all group chat participants" +msgstr "Mostrar nomes de todos os ocupantes da conversa de grupo" + +#: gajim/command_system/implementation/standard.py:415 +msgid "Forbid a participant to send you public or private messages" +msgstr "" + +#: gajim/command_system/implementation/standard.py:420 +msgid "Allow a participant to send you public or private messages" +msgstr "" + +#: gajim/command_system/implementation/standard.py:432 +#, fuzzy +msgid "Unknown nickname" +msgstr "Depois da alcunha:" + +#: gajim/command_system/implementation/custom.py:114 +msgid "The same as using a doc-string, except it supports translation" +msgstr "" + +#: gajim/gtk/ssl_error_dialog.py:36 gajim/data/gui/ssl_error_dialog.ui:16 +#, fuzzy +msgid "SSL Certificate Verification Error" +msgstr "Nome de utilizador inválido" + +#: gajim/gtk/ssl_error_dialog.py:55 +#, python-format +msgid "" +"There was an error while attempting to verify the SSL certificate of your " +"XMPP server (%s)." +msgstr "" + +#: gajim/gtk/ssl_error_dialog.py:58 +#, fuzzy, python-format +msgid "Unknown SSL error '%s'" +msgstr "Versão D-Bus desconhecida: %s" + +#: gajim/gtk/avatar_selector.py:84 +msgid "Select a picture or drop it here" +msgstr "" + +#: gajim/gtk/status_change.py:62 gajim/gtk/preferences.py:627 +#: gajim/gtk/preferences.py:655 +msgid "Status Message" +msgstr "Mensagem de Estado" + +#: gajim/gtk/status_change.py:330 +#, fuzzy +msgid "No activity" +msgstr "Activo" + +#: gajim/gtk/status_change.py:370 gajim/gtk/status_change.py:383 +#: gajim/gtk/status_change.py:488 +#, fuzzy +msgid "No mood selected" +msgstr "Nenhuma chave seleccionada" + +#: gajim/gtk/status_change.py:382 +msgid "No mood" +msgstr "" + +#: gajim/gtk/status_change.py:439 +msgid "Overwrite" +msgstr "" + +#: gajim/gtk/status_change.py:440 +#, fuzzy +msgid "Overwrite Status Message?" +msgstr "Mensagem de Estado" + +#: gajim/gtk/status_change.py:441 +msgid "This name is already in use. Do you want to overwrite this preset?" +msgstr "" + +#: gajim/gtk/status_change.py:445 gajim/plugins/gui.py:292 +msgid "_Overwrite" +msgstr "" + +#: gajim/gtk/status_change.py:453 +#, fuzzy +msgid "Status Preset" +msgstr "Mensagem de Estado" + +#: gajim/gtk/status_change.py:454 +#, fuzzy +msgid "Save status as preset" +msgstr "Guardar Ficheiro como..." + +#: gajim/gtk/status_change.py:455 +#, fuzzy +msgid "Please assign a name to this status message preset" +msgstr "Escreva a sua nova mensagem de estado:" + +#: gajim/gtk/status_change.py:458 gajim/data/gui/profile.ui:336 +#, fuzzy +msgid "_Save" +msgstr "Guardado em: %s" + +#: gajim/gtk/status_change.py:460 +#, fuzzy +msgid "New Status" +msgstr "Estado" + +#: gajim/gtk/advanced_config.py:46 gajim/gtk/advanced_config.py:144 +#, fuzzy +msgid "Activated" +msgstr "Activo" + +#: gajim/gtk/advanced_config.py:47 +#, fuzzy +msgid "Deactivated" +msgstr "Activo" + +#: gajim/gtk/advanced_config.py:52 +msgid "?config type:Boolean" +msgstr "" + +#: gajim/gtk/advanced_config.py:53 +msgid "?config type:Integer" +msgstr "" + +#: gajim/gtk/advanced_config.py:54 +msgid "?config type:Text" +msgstr "" + +#: gajim/gtk/advanced_config.py:65 +#, fuzzy +msgid "Advanced Configuration Editor (ACE)" +msgstr "Editor de Configuração Avançada" + +#: gajim/gtk/advanced_config.py:80 +#, fuzzy +msgid "?config:Preference Name" +msgstr "Nome Preferencial" + +#: gajim/gtk/advanced_config.py:91 +#, fuzzy +msgid "?config:Value" +msgstr "_Continuar" + +#: gajim/gtk/advanced_config.py:100 +msgid "?config:Type" +msgstr "" + +#: gajim/gtk/advanced_config.py:133 +#, fuzzy +msgid "?config description:None" +msgstr "Nenhum" + +#: gajim/gtk/preferences.py:63 gajim/data/gui/shortcuts_window.ui:31 +msgid "Preferences" +msgstr "Preferências" + +#: gajim/gtk/preferences.py:185 +msgid "Detached contact list with detached chats" +msgstr "" + +#: gajim/gtk/preferences.py:186 +msgid "Detached contact list with single chat" +msgstr "" + +#: gajim/gtk/preferences.py:187 +msgid "Single window for everything" +msgstr "" + +#: gajim/gtk/preferences.py:188 +msgid "Detached contact list with chats grouped by account" +msgstr "" + +#: gajim/gtk/preferences.py:189 +msgid "Detached contact list with chats grouped by type" +msgstr "" + +#: gajim/gtk/preferences.py:193 gajim/data/gui/mam_preferences.ui:14 +#, fuzzy +msgid "Always" +msgstr "Ausente" + +#: gajim/gtk/preferences.py:194 gajim/data/gui/mam_preferences.ui:22 +#, fuzzy +msgid "Never" +msgstr "_Nunca" + +#: gajim/gtk/preferences.py:195 +#, fuzzy +msgid "Restore last state" +msgstr "Iconset de _estados padrão:" + +#: gajim/gtk/preferences.py:199 +#, fuzzy +msgid "Top" +msgstr "Para" + +#: gajim/gtk/preferences.py:200 +msgid "Bottom" +msgstr "" + +#: gajim/gtk/preferences.py:201 +msgid "Left" +msgstr "" + +#: gajim/gtk/preferences.py:202 +msgid "Right" +msgstr "" + +#: gajim/gtk/preferences.py:207 +msgid "Window Layout" +msgstr "" + +#: gajim/gtk/preferences.py:214 +#, fuzzy +msgid "Contact List on Startup" +msgstr "Mostrar janela principal ao arranque" + +#: gajim/gtk/preferences.py:218 +#, fuzzy +msgid "Show contact list when starting Gajim" +msgstr "Mostrar janela principal ao arranque" + +#: gajim/gtk/preferences.py:221 +msgid "Quit on Close" +msgstr "" + +#: gajim/gtk/preferences.py:224 +#, fuzzy +msgid "Quit when closing contact list" +msgstr "Não está na lista de contatos" + +#: gajim/gtk/preferences.py:227 +#, fuzzy +msgid "Tab Position" +msgstr "Cargo:" + +#: gajim/gtk/preferences.py:231 +#, fuzzy +msgid "Placement of chat window tabs" +msgstr "fechou a janela de conversa ou aba" + +#: gajim/gtk/preferences.py:247 +#, fuzzy +msgid "Merge Accounts" +msgstr "Contas fundidas" + +#: gajim/gtk/preferences.py:253 +#, fuzzy +msgid "Enable Metacontacts" +msgstr "Contacto:" + +#: gajim/gtk/preferences.py:258 +#, fuzzy +msgid "Show Avatars" +msgstr "Recursos dos Servidores" + +#: gajim/gtk/preferences.py:264 gajim/gtk/preferences.py:353 +#, fuzzy +msgid "Show Status Message" +msgstr "Mensagem de Estado" + +#: gajim/gtk/preferences.py:270 gajim/gtk/preferences.py:411 +#, fuzzy +msgid "Sort Contacts by Status" +msgstr "Ordenar contactos por estados" + +#: gajim/gtk/preferences.py:276 +#, fuzzy +msgid "Show Mood" +msgstr "Definir MOTD" + +#: gajim/gtk/preferences.py:281 +#, fuzzy +msgid "Show Activity" +msgstr "Activo" + +#: gajim/gtk/preferences.py:286 +#, fuzzy +msgid "Show Tune" +msgstr "Recursos dos Servidores" + +#: gajim/gtk/preferences.py:323 +msgid "Needs gspell to be installed" +msgstr "" + +#: gajim/gtk/preferences.py:327 +msgid "Spell Checking" +msgstr "" + +#: gajim/gtk/preferences.py:335 +#, fuzzy +msgid "Message Receipts (✔)" +msgstr "conteúdo da mensagem" + +#: gajim/gtk/preferences.py:338 +msgid "Add a checkmark to received messages" +msgstr "" + +#: gajim/gtk/preferences.py:341 +#, fuzzy +msgid "XHTML Formatting" +msgstr "Clique para inserir um emoticon (Alt+E)" + +#: gajim/gtk/preferences.py:344 +msgid "Render XHTML styles (colors, etc.) of incoming messages" +msgstr "" + +#: gajim/gtk/preferences.py:348 +#, fuzzy +msgid "Show Send Message Button" +msgstr "Enviar mensagem" + +#: gajim/gtk/preferences.py:358 +#, fuzzy +msgid "Show Chat State In Tabs" +msgstr "Mostrar botão de fechar na aba?" + +#: gajim/gtk/preferences.py:361 +msgid "Show the contact’s chat state (e.g. typing) in the chat’s tab" +msgstr "" + +#: gajim/gtk/preferences.py:365 +#, fuzzy +msgid "Show Chat State In Banner" +msgstr "Exibir imagens pessoais (avatars) dos contactos na lista" + +#: gajim/gtk/preferences.py:368 +msgid "Show the contact’s chat state (e.g. typing) in the chats tab’s banner" +msgstr "" + +#: gajim/gtk/preferences.py:372 +#, fuzzy +msgid "Display Chat State In Contact List" +msgstr "Noti_ficação do estado da conversa:" + +#: gajim/gtk/preferences.py:375 +#, fuzzy +msgid "Show the contact’s chat state (e.g. typing) in the contact list" +msgstr "Mostrar botão de fechar na aba?" + +#: gajim/gtk/preferences.py:406 +#, fuzzy +msgid "Show Subject" +msgstr "Assunto:" + +#: gajim/gtk/preferences.py:417 +msgid "Default Sync Threshold" +msgstr "" + +#: gajim/gtk/preferences.py:420 +#, fuzzy +msgid "Default for new public group chats" +msgstr "Chat" + +#: gajim/gtk/preferences.py:424 +msgid "Show Joined / Left" +msgstr "" + +#: gajim/gtk/preferences.py:427 gajim/gtk/preferences.py:438 +#, fuzzy +msgid "Default for new group chats" +msgstr "Chat" + +#: gajim/gtk/preferences.py:428 gajim/gtk/preferences.py:439 +#: gajim/gtk/accounts.py:715 gajim/gtk/accounts.py:727 +#: gajim/gtk/accounts.py:740 +#, fuzzy +msgid "Reset" +msgstr "_Presença" + +#: gajim/gtk/preferences.py:429 gajim/gtk/preferences.py:440 +#: gajim/gtk/accounts.py:728 +msgid "Reset all group chats to the current default value" +msgstr "" + +#: gajim/gtk/preferences.py:435 gajim/gtk/groupchat_settings.py:48 +#, fuzzy +msgid "Show Status Changes" +msgstr "_Arquivar mudanças de estado dos contactos" + +#: gajim/gtk/preferences.py:468 +#, fuzzy +msgid "Hide icon" +msgstr "Esconder este menú" + +#: gajim/gtk/preferences.py:469 +#, fuzzy +msgid "Only show for pending events" +msgstr "Mostrar Todos os _Eventos Pedentes" + +#: gajim/gtk/preferences.py:470 +msgid "Always show icon" +msgstr "" + +#: gajim/gtk/preferences.py:475 +#, fuzzy +msgid "Notification Area Icon" +msgstr "_Ícone na bandeja (também conhecido por área de notificação)" + +#: gajim/gtk/preferences.py:482 +#, fuzzy +msgid "Open Events" +msgstr "Detalhes Pessoais..." + +#: gajim/gtk/preferences.py:485 +#, fuzzy +msgid "Open events instead of showing a notification in the contact list" +msgstr "Gostaria de o adicionar à minha lista de contactos." + +#: gajim/gtk/preferences.py:489 gajim/gtk/preferences.py:512 +#, fuzzy +msgid "Show Notifications" +msgstr "Modificação da Conta" + +#: gajim/gtk/preferences.py:517 +#, fuzzy +msgid "Notifications When Away" +msgstr "Modificação da Conta" + +#: gajim/gtk/preferences.py:520 +#, fuzzy +msgid "Show notifications even if you are Away, Busy, etc." +msgstr "_Ícone na bandeja (também conhecido por área de notificação)" + +#: gajim/gtk/preferences.py:525 gajim/data/gui/preferences.ui:271 +#, fuzzy +msgid "Notifications" +msgstr "Modificação da Conta" + +#: gajim/gtk/preferences.py:534 +#, fuzzy +msgid "Play Sounds" +msgstr "Tocar _Sons" + +#: gajim/gtk/preferences.py:537 +msgid "Play sounds to notify about events" +msgstr "" + +#: gajim/gtk/preferences.py:542 +msgid "Sounds When Away" +msgstr "" + +#: gajim/gtk/preferences.py:545 +msgid "Play sounds even when you are Away, Busy, etc." +msgstr "" + +#: gajim/gtk/preferences.py:560 +#, fuzzy +msgid "Sign In" +msgstr "_Ligar" + +#: gajim/gtk/preferences.py:565 +#, fuzzy +msgid "Sign Out" +msgstr "_Desligar" + +#: gajim/gtk/preferences.py:570 +#, fuzzy +msgid "Status Change" +msgstr "_Arquivar mudanças de estado dos contactos" + +#: gajim/gtk/preferences.py:583 gajim/gtk/preferences.py:614 +#, fuzzy +msgid "Auto Away" +msgstr "Ausente" + +#: gajim/gtk/preferences.py:585 +msgid "Change your status to 'Away' after a certain amount of time" +msgstr "" + +#: gajim/gtk/preferences.py:590 gajim/gtk/preferences.py:642 +#, fuzzy +msgid "Auto Not Available" +msgstr "Indisponível" + +#: gajim/gtk/preferences.py:592 +msgid "Change your status to 'Not Available' after a certain amount of time" +msgstr "" + +#: gajim/gtk/preferences.py:619 +msgid "Time Until Away" +msgstr "" + +#: gajim/gtk/preferences.py:622 gajim/gtk/preferences.py:650 +#, fuzzy +msgid "Minutes until your status gets changed" +msgstr "_Arquivar mudanças de estado dos contactos" + +#: gajim/gtk/preferences.py:633 gajim/gtk/preferences.py:828 +#, fuzzy +msgid "Auto Away Settings" +msgstr "Publicação vCard falhou" + +#: gajim/gtk/preferences.py:647 +#, fuzzy +msgid "Time Until Not Available" +msgstr "Indisponível" + +#: gajim/gtk/preferences.py:661 +msgid "Auto Extended Away Settings" +msgstr "" + +#: gajim/gtk/preferences.py:672 gajim/gtk/accounts.py:680 +#, fuzzy +msgid "Enabled" +msgstr "Activar" + +#: gajim/gtk/preferences.py:673 gajim/data/gui/vcard_information_window.ui:123 +#, fuzzy +msgid "System" +msgstr "Definições Personalizadas" + +#: gajim/gtk/preferences.py:678 +#, fuzzy +msgid "Dark Theme" +msgstr "Gajim - %s" + +#: gajim/gtk/preferences.py:685 +#, fuzzy +msgid "Theme" +msgstr "Tema" + +#: gajim/gtk/preferences.py:731 +#, fuzzy +msgid "Convert ASCII Emojis" +msgstr "Gerir Emoticons" + +#: gajim/gtk/preferences.py:734 +msgid "Typing short codes like :-) will display emojis" +msgstr "" + +#: gajim/gtk/preferences.py:741 +#, fuzzy +msgid "Emoji Theme" +msgstr "Gajim - %s" + +#: gajim/gtk/preferences.py:744 +msgid "Choose from various emoji styles" +msgstr "" + +#: gajim/gtk/preferences.py:774 +#, fuzzy +msgid "Status Icon Set" +msgstr "Iconset de _estados padrão:" + +#: gajim/gtk/preferences.py:781 +#, fuzzy +msgid "Use Transport Icons" +msgstr "Usar iconsets de _transportes" + +#: gajim/gtk/preferences.py:784 +msgid "Display protocol-specific status icons (ICQ, ..)" +msgstr "" + +#: gajim/gtk/preferences.py:801 gajim/gtk/preferences.py:817 +msgid "Use Stun Server" +msgstr "" + +#: gajim/gtk/preferences.py:803 +msgid "Helps to establish calls through firewalls" +msgstr "" + +#: gajim/gtk/preferences.py:822 +#, fuzzy +msgid "STUN Server" +msgstr "Servidor:" + +#: gajim/gtk/preferences.py:848 +#, fuzzy +msgid "Audio Input Device" +msgstr "Mensagem de Estado" + +#: gajim/gtk/preferences.py:851 +msgid "Select your audio input (e.g. microphone)" +msgstr "" + +#: gajim/gtk/preferences.py:855 +#, fuzzy +msgid "Audio Output Device" +msgstr "Mensagem de Estado" + +#: gajim/gtk/preferences.py:858 +msgid "Select an audio output (e.g. speakers, headphones)" +msgstr "" + +#: gajim/gtk/preferences.py:890 gajim/gtk/preferences.py:898 +#, fuzzy +msgid "Default" +msgstr "Apagar MOTD" + +#: gajim/gtk/preferences.py:906 +#, fuzzy +msgid "Video Input Device" +msgstr "Mensagem de Estado" + +#: gajim/gtk/preferences.py:910 +msgid "Select your video input device (e.g. webcam, screen capture)" +msgstr "" + +#: gajim/gtk/preferences.py:915 +#, fuzzy +msgid "Video Framerate" +msgstr "Iniciar Conversa" + +#: gajim/gtk/preferences.py:921 +#, fuzzy +msgid "Video Resolution" +msgstr "Iniciar Conversa" + +#: gajim/gtk/preferences.py:927 +msgid "Show My Video Stream" +msgstr "" + +#: gajim/gtk/preferences.py:930 +msgid "Show your own video stream in calls" +msgstr "" + +#: gajim/gtk/preferences.py:933 gajim/data/gui/video_preview.ui:51 +msgid "Live Preview" +msgstr "" + +#: gajim/gtk/preferences.py:935 +msgid "Show a live preview to test your video source" +msgstr "" + +#: gajim/gtk/preferences.py:975 +#, fuzzy +msgid "Global Proxy" +msgstr "Proxy:" + +#: gajim/gtk/preferences.py:980 gajim/gtk/account_wizard.py:732 +#: gajim/gtk/accounts.py:790 +#, fuzzy +msgid "No Proxy" +msgstr "Proxy:" + +#: gajim/gtk/preferences.py:985 +msgid "Use System Keyring" +msgstr "" + +#: gajim/gtk/preferences.py:988 +msgid "Use your system’s keyring to store passwords" +msgstr "" + +#: gajim/gtk/preferences.py:994 +msgid "Check For Updates" +msgstr "" + +#: gajim/gtk/preferences.py:997 gajim/common/config.py:241 +msgid "Check for Gajim updates periodically" +msgstr "" + +#: gajim/gtk/preferences.py:1033 +#, fuzzy +msgid "Debug Logging" +msgstr "_Entrar" + +#: gajim/gtk/message_input.py:48 +#, fuzzy +msgid "Write a message…" +msgstr "Nova Mensagem Privada" + +#: gajim/gtk/settings.py:400 gajim/gtk/settings.py:758 +#: gajim/gtk/settings.py:784 gajim/gtk/settings.py:793 +#: gajim/gtk/settings.py:802 gajim/gtk/settings.py:811 +msgid "?switch:On" +msgstr "" + +#: gajim/gtk/settings.py:400 gajim/gtk/settings.py:758 +#: gajim/gtk/settings.py:784 gajim/gtk/settings.py:793 +#: gajim/gtk/settings.py:802 gajim/gtk/settings.py:811 +msgid "?switch:Off" +msgstr "" + +#: gajim/gtk/settings.py:538 gajim/gtk/manage_sounds.py:46 +#: gajim/gtk/filechoosers.py:89 gajim/gtk/filechoosers.py:140 +#: gajim/gtk/filechoosers.py:147 +msgid "All files" +msgstr "Todos os ficheiros" + +#: gajim/gtk/settings.py:547 +#, fuzzy +msgid "Clear File" +msgstr "Evento" + +#: gajim/gtk/settings.py:745 +#, fuzzy +msgid "Adjust to Status" +msgstr "Pedir para ver o estado dele/dela" + +#: gajim/gtk/history_sync.py:111 gajim/gtk/history_sync.py:193 +#, fuzzy +msgid "Synchronise History" +msgstr "Mostrar Contactos _Offline" + +#: gajim/gtk/history_sync.py:205 +#, fuzzy +msgid "How far back should the chat history be synchronised?" +msgstr "O que pretende fazer?" + +#: gajim/gtk/history_sync.py:210 +msgid "One Month" +msgstr "" + +#: gajim/gtk/history_sync.py:211 +msgid "Three Months" +msgstr "" + +#: gajim/gtk/history_sync.py:212 +msgid "One Year" +msgstr "" + +#: gajim/gtk/history_sync.py:213 +msgid "Everything" +msgstr "" + +#: gajim/gtk/history_sync.py:241 gajim/gtk/account_wizard.py:276 +#: gajim/gtk/account_wizard.py:295 gajim/gtk/account_wizard.py:312 +#, fuzzy +msgid "Connecting..." +msgstr "Ligando" + +#: gajim/gtk/history_sync.py:253 +#, fuzzy, python-format +msgid "%(received)s of %(max)s" +msgstr "Transferência de %(filename)s de %(name)s interrompida." + +#: gajim/gtk/history_sync.py:257 +#, fuzzy, python-format +msgid "Downloaded %s messages" +msgstr "Gajim - %d mensagem não lida" + +#: gajim/gtk/history_sync.py:277 +#, python-format +msgid "" +"Finished synchronising chat history:\n" +"%s messages downloaded" +msgstr "" + +#: gajim/gtk/history_sync.py:281 +msgid "Gajim is fully synchronised with the archive." +msgstr "" + +#: gajim/gtk/history_sync.py:284 +msgid "There is already a synchronisation in progress. Please try again later." +msgstr "" + +#: gajim/gtk/pep_config.py:49 +#, fuzzy, python-format +msgid "PEP Service Configuration (%s)" +msgstr "Configuração da Sala" + +#: gajim/gtk/pep_config.py:74 +#, fuzzy +msgid "Service" +msgstr "Servidor" + +#: gajim/gtk/pep_config.py:105 +msgid "PEP node was not removed" +msgstr "" + +#: gajim/gtk/pep_config.py:106 +#, python-format +msgid "" +"PEP node %(node)s was not removed:\n" +"%(message)s" +msgstr "" + +#: gajim/gtk/pep_config.py:153 +#, python-format +msgid "Configure %s" +msgstr "Configurar %s" + +#: gajim/gtk/mam_preferences.py:42 +#, python-format +msgid "Archiving Preferences for %s" +msgstr "" + +#: gajim/gtk/mam_preferences.py:101 +#, fuzzy +msgid "Archiving Preferences Saved" +msgstr "_Preferências" + +#: gajim/gtk/mam_preferences.py:102 +#, fuzzy +msgid "Your archiving preferences have successfully been saved." +msgstr "_Preferências" + +#: gajim/gtk/mam_preferences.py:109 +#, fuzzy +msgid "Archiving Preferences Error" +msgstr "_Preferências" + +#: gajim/gtk/mam_preferences.py:110 +msgid "Error received: {}" +msgstr "" + +#: gajim/gtk/statusicon.py:198 +#, fuzzy +msgid "_Change Status Message…" +msgstr "_Mudar Mensagem de Estado" + +#: gajim/gtk/statusicon.py:250 +#, python-format +msgid "using account %s" +msgstr "usando a conta %s" + +#: gajim/gtk/statusicon.py:263 +#, fuzzy +msgid "Hide _Contact List" +msgstr "Contacto:" + +#: gajim/gtk/statusicon.py:268 gajim/data/gui/application_menu.ui:42 +#, fuzzy +msgid "Show _Contact List" +msgstr "Mostrar Contactos _Offline" + +#: gajim/gtk/statusicon.py:276 +msgid "Hide this menu" +msgstr "Esconder este menú" + +#: gajim/gtk/start_chat.py:57 +#, fuzzy +msgid "Start / Join Chat" +msgstr "Iniciar Conversa" + +#: gajim/gtk/start_chat.py:285 gajim/gtk/start_chat.py:370 +msgid "You can not join a group chat unless you are connected." +msgstr "Não pode entrar num chat sem estar ligado." + +#: gajim/gtk/start_chat.py:634 gajim/gtk/groupchat_join.py:40 +msgid "Join Group Chat" +msgstr "Entrar num Chat" + +#: gajim/gtk/start_chat.py:715 +msgid "" +"Search for group chats globally\n" +"(press Return to start search)" +msgstr "" + +#: gajim/gtk/start_chat.py:808 +#, fuzzy, python-format +msgid "%s group chats found" +msgstr "%s não encontrado" + +#: gajim/gtk/notification.py:184 gajim/gtk/notification.py:205 +#: gajim/gtk/notification.py:219 gajim/gtk/notification.py:272 +#: gajim/common/connection_handlers_events.py:234 +msgid "New Private Message" +msgstr "Nova Mensagem Privada" + +#: gajim/gtk/notification.py:185 gajim/gtk/notification.py:206 +#: gajim/gtk/notification.py:220 gajim/common/connection_handlers_events.py:328 +#, fuzzy +msgid "New Group Chat Message" +msgstr "Chat" + +#: gajim/gtk/notification.py:186 gajim/gtk/notification.py:212 +#: gajim/gtk/notification.py:289 gajim/common/connection_handlers_events.py:418 +#, fuzzy +msgid "Contact Changed Status" +msgstr "Contacto Saiu" + +#: gajim/gtk/notification.py:200 +#, fuzzy +msgid "Open" +msgstr "OpenPGP: " + +#: gajim/gtk/notification.py:209 +msgid "Mark as Read" +msgstr "" + +#: gajim/gtk/notification.py:273 +#, fuzzy +msgid "New E-mail" +msgstr "E-Mail" + +#: gajim/gtk/video_preview.py:116 +msgid "OpenGL accelerated" +msgstr "" + +#: gajim/gtk/video_preview.py:120 +msgid "Not accelerated" +msgstr "" + +#: gajim/gtk/video_preview.py:127 +msgid "Something went wrong. Video feature disabled." +msgstr "" + +#: gajim/gtk/groupchat_invite.py:304 +#, fuzzy +msgid "Invite New Contact" +msgstr "Contacto:" + +#: gajim/gtk/themes.py:37 +msgid "Chatstate Composing" +msgstr "" + +#: gajim/gtk/themes.py:41 +#, fuzzy +msgid "Chatstate Inactive" +msgstr "Activo" + +#: gajim/gtk/themes.py:45 +msgid "Chatstate Gone" +msgstr "" + +#: gajim/gtk/themes.py:49 +#, fuzzy +msgid "Chatstate Paused" +msgstr "Contacto Saiu" + +#: gajim/gtk/themes.py:53 +#, fuzzy +msgid "Group Chat Tab New Directed Message" +msgstr "Nova Mensagem Privada" + +#: gajim/gtk/themes.py:57 +#, fuzzy +msgid "Group Chat Tab New Message" +msgstr "Nova Mensagem" + +#: gajim/gtk/themes.py:61 +msgid "Banner Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:65 +msgid "Banner Background Color" +msgstr "" + +#: gajim/gtk/themes.py:69 +msgid "Banner Font" +msgstr "" + +#: gajim/gtk/themes.py:73 +msgid "Account Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:77 +msgid "Account Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:81 +#, fuzzy +msgid "Account Row Font" +msgstr "Conta" + +#: gajim/gtk/themes.py:85 +msgid "Group Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:89 +msgid "Group Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:93 +#, fuzzy +msgid "Group Row Font" +msgstr "Grupo" + +#: gajim/gtk/themes.py:97 +msgid "Contact Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:101 +msgid "Contact Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:105 +#, fuzzy +msgid "Contact Row Font" +msgstr "Mostrar apenas na _lista" + +#: gajim/gtk/themes.py:109 +#, fuzzy +msgid "Conversation Font" +msgstr "Histórico das Conversas" + +#: gajim/gtk/themes.py:113 +#, fuzzy +msgid "Incoming Nickname Color" +msgstr "Nome de utilizador inválido" + +#: gajim/gtk/themes.py:117 +#, fuzzy +msgid "Outgoing Nickname Color" +msgstr "Mudar Alcunha" + +#: gajim/gtk/themes.py:121 +#, fuzzy +msgid "Incoming Message Text Color" +msgstr "Mensagem recebida:" + +#: gajim/gtk/themes.py:125 +#, fuzzy +msgid "Incoming Message Text Font" +msgstr "Mensagem recebida:" + +#: gajim/gtk/themes.py:129 +#, fuzzy +msgid "Outgoing Message Text Color" +msgstr "Mensagem a enviar:" + +#: gajim/gtk/themes.py:133 +#, fuzzy +msgid "Outgoing Message Text Font" +msgstr "Mensagem a enviar:" + +#: gajim/gtk/themes.py:137 +#, fuzzy +msgid "Status Message Color" +msgstr "Mensagem de Estado" + +#: gajim/gtk/themes.py:141 +#, fuzzy +msgid "Status Message Font" +msgstr "Mensagem de Estado" + +#: gajim/gtk/themes.py:145 +msgid "URL Color" +msgstr "" + +#: gajim/gtk/themes.py:149 +#, fuzzy +msgid "Highlight Message Color" +msgstr "_Destacar palavras mal soletradas" + +#: gajim/gtk/themes.py:153 +#, fuzzy +msgid "Message Correcting" +msgstr "Mensagem" + +#: gajim/gtk/themes.py:157 +#, fuzzy +msgid "Contact Disconnected Background" +msgstr "Contacto Entrou" + +#: gajim/gtk/themes.py:161 +#, fuzzy +msgid "Contact Connected Background " +msgstr "Nome do Contacto" + +#: gajim/gtk/themes.py:164 +#, fuzzy +msgid "Status Online Color" +msgstr "Mensagem de Estado" + +#: gajim/gtk/themes.py:167 +#, fuzzy +msgid "Status Away Color" +msgstr "Mensagem de Estado" + +#: gajim/gtk/themes.py:170 +#, fuzzy +msgid "Status DND Color" +msgstr "Mensagem de Estado" + +#: gajim/gtk/themes.py:173 +#, fuzzy +msgid "Status Offline Color" +msgstr "Mensagem de Estado" + +#: gajim/gtk/themes.py:187 +#, fuzzy +msgid "Gajim Themes" +msgstr "Gajim - %s" + +#: gajim/gtk/themes.py:223 gajim/gtk/themes.py:230 +#, fuzzy +msgid "Invalid Name" +msgstr "Nome de utilizador inválido" + +#: gajim/gtk/themes.py:224 +msgid "Name default is not allowed" +msgstr "" + +#: gajim/gtk/themes.py:231 +#, fuzzy +msgid "Spaces are not allowed" +msgstr "Carácter não permitido" + +#: gajim/gtk/themes.py:356 +#, fuzzy +msgid "Do you want to delete this theme?" +msgstr "%s quer enviar-lhe um ficheiro:" + +#: gajim/gtk/themes.py:358 +msgid "" +"This is the theme you are currently using.\n" +"Do you want to delete this theme?" +msgstr "" + +#: gajim/gtk/themes.py:363 +#, fuzzy +msgid "Delete Theme" +msgstr "Activo" + +#: gajim/gtk/themes.py:390 +#, fuzzy +msgid "Remove Setting" +msgstr "Publicação vCard falhou" + +#: gajim/gtk/filetransfer_progress.py:62 +#, fuzzy +msgid "Upload Failed" +msgstr "Guardar Ficheiro como..." + +#: gajim/gtk/filetransfer_progress.py:113 +#, fuzzy, python-format +msgid "%(progress)s of %(total)s" +msgstr "Transferência de %(filename)s de %(name)s interrompida." + +#: gajim/gtk/filetransfer_progress.py:130 +#, python-format +msgid "%(minutes)s min %(seconds)s sec" +msgstr "" + +#: gajim/gtk/add_contact.py:32 +msgid "GG Number" +msgstr "" + +#: gajim/gtk/add_contact.py:33 +msgid "ICQ Number" +msgstr "" + +#: gajim/gtk/add_contact.py:42 +#, fuzzy +msgid "Add Contact" +msgstr "_Adicionar Contacto" + +#: gajim/gtk/add_contact.py:260 +#, fuzzy, python-format +msgid "%s Missing" +msgstr "%s MiB" + +#: gajim/gtk/add_contact.py:261 +#, fuzzy, python-format +msgid "You must supply the %s of the new contact." +msgstr "Deve indicar uma palavra-passe à qual a nova conta será associada" + +#: gajim/gtk/add_contact.py:288 gajim/gtk/add_contact.py:294 +#: gajim/gtk/add_contact.py:299 +msgid "Invalid User ID" +msgstr "ID de Utilizador inválido" + +#: gajim/gtk/add_contact.py:295 +#, fuzzy +msgid "The user ID must not contain a resource." +msgstr "Este serviço não contém quaisquer itens para explorar" + +#: gajim/gtk/add_contact.py:300 +#, fuzzy +msgid "You cannot add yourself to your contact list." +msgstr "Eu gostaria de o adicionar à minha lista" + +#: gajim/gtk/add_contact.py:305 +#, fuzzy +msgid "Account Offline" +msgstr "Offline" + +#: gajim/gtk/add_contact.py:306 +msgid "Your account must be online to add new contacts." +msgstr "" + +#: gajim/gtk/add_contact.py:322 +#, fuzzy +msgid "Contact Already in Contact List" +msgstr "Contacto já se encontra na lista" + +#: gajim/gtk/add_contact.py:323 +#, fuzzy +msgid "This contact is already in your contact list." +msgstr "Este contacto já se encontra na sua lista de contactos." + +#: gajim/gtk/add_contact.py:381 gajim/gtk/add_contact.py:419 +#, fuzzy +msgid "User ID:" +msgstr "ID do Utilizador:" + +#: gajim/gtk/add_contact.py:486 +#, fuzzy +msgid "Error while adding transport contact" +msgstr "erro ao enviar" + +#: gajim/gtk/add_contact.py:487 +#, python-format +msgid "" +"This error occurred while adding a contact for transport %(transport)s:\n" +"\n" +"%(error)s" +msgstr "" + +#: gajim/gtk/account_wizard.py:61 gajim/data/gui/account_wizard.ui:631 +#, fuzzy +msgid "Sign Up" +msgstr "_Ligar" + +#: gajim/gtk/account_wizard.py:63 +#, fuzzy +msgid "Connect" +msgstr "Ligação" + +#: gajim/gtk/account_wizard.py:64 gajim/gtk/adhoc.py:102 +msgid "Next" +msgstr "" + +#: gajim/gtk/account_wizard.py:65 +#, fuzzy +msgid "Log In" +msgstr "_Ligar" + +#: gajim/gtk/account_wizard.py:67 gajim/gtk/remove_account.py:44 +#: gajim/gtk/change_password.py:45 gajim/gtk/accounts.py:384 +#, fuzzy +msgid "Back" +msgstr "Volto logo" + +#: gajim/gtk/account_wizard.py:80 +#, fuzzy +msgid "An error occurred during account creation" +msgstr "Ocorreu um erro ao criar a conta" + +#: gajim/gtk/account_wizard.py:166 +#, fuzzy +msgid "Creating Account..." +msgstr "Removendo %s conta" + +#: gajim/gtk/account_wizard.py:167 +#, fuzzy +msgid "Trying to create account..." +msgstr "Clique para mudar a senha da conta" + +#: gajim/gtk/account_wizard.py:277 gajim/gtk/account_wizard.py:296 +#: gajim/gtk/account_wizard.py:313 +#, fuzzy +msgid "Connecting to server..." +msgstr "Ligando" + +#: gajim/gtk/account_wizard.py:367 gajim/gtk/account_wizard.py:368 +msgid "Anonymous login not supported" +msgstr "" + +#: gajim/gtk/account_wizard.py:369 +#, fuzzy +msgid "This server does not support anonymous login." +msgstr "Este serviço não contém quaisquer itens para explorar" + +#: gajim/gtk/account_wizard.py:372 gajim/common/client.py:284 +#: gajim/common/const.py:958 gajim/common/const.py:959 +#: gajim/common/const.py:960 gajim/common/const.py:963 +#, fuzzy +msgid "Authentication failed" +msgstr "Falha na autenticação com \"%s\"" + +#: gajim/gtk/account_wizard.py:384 gajim/gtk/account_wizard.py:385 +#, fuzzy +msgid "Signup not allowed" +msgstr "Carácter não permitido" + +#: gajim/gtk/account_wizard.py:386 +msgid "This server does not allow signup." +msgstr "" + +#: gajim/gtk/account_wizard.py:395 gajim/gtk/account_wizard.py:432 +#: gajim/gtk/account_wizard.py:433 gajim/gtk/account_wizard.py:520 +#: gajim/gtk/groupchat_config.py:132 gajim/gtk/groupchat_config.py:399 +#: gajim/gtk/history.py:591 gajim/gtk/search.py:336 +#, fuzzy +msgid "Error" +msgstr "Erro:" + +#: gajim/gtk/account_wizard.py:402 gajim/gtk/account_wizard.py:403 +#, fuzzy +msgid "Connection failed" +msgstr "Ligação" + +#: gajim/gtk/account_wizard.py:404 +msgid "" +"Gajim was not able to reach the server. Make sure your XMPP address is " +"correct." +msgstr "" + +#: gajim/gtk/account_wizard.py:459 +#, fuzzy +msgid "Account is being created" +msgstr "Conta \"%s\" está ligada ao servidor" + +#: gajim/gtk/account_wizard.py:518 +msgid "The server rejected the registration without an error message" +msgstr "" + +#: gajim/gtk/account_wizard.py:530 gajim/gtk/accounts.py:572 +#, fuzzy +msgid "Add Account" +msgstr "_Adicionar Contacto" + +#: gajim/gtk/account_wizard.py:612 gajim/gtk/groupchat_creation.py:138 +#, fuzzy +msgid "Invalid Address" +msgstr "Ficheiro Inválido" + +#: gajim/gtk/account_wizard.py:636 +#, fuzzy +msgid "Create New Account" +msgstr "Contacto:" + +#: gajim/gtk/account_wizard.py:712 +#, fuzzy +msgid "Advanced settings" +msgstr "Acções A_vançadas" + +#: gajim/gtk/account_wizard.py:774 +#, fuzzy +msgid "Invalid domain name" +msgstr "Nome de conta inválido" + +#: gajim/gtk/account_wizard.py:791 +#, fuzzy +msgid "Must be a port number" +msgstr "A porta do proxy deve ser um número de porta" + +#: gajim/gtk/account_wizard.py:798 +msgid "Port must be a number between 0 and 65535" +msgstr "" + +#: gajim/gtk/account_wizard.py:814 +#, fuzzy +msgid "Security Warning" +msgstr "Banindo %s" + +#: gajim/gtk/account_wizard.py:833 +#, fuzzy, python-format +msgid "Unknown TLS error '%s'" +msgstr "Versão D-Bus desconhecida: %s" + +#: gajim/gtk/account_wizard.py:868 gajim/gtk/account_wizard.py:871 +#, fuzzy +msgid "Create Account" +msgstr "Removendo %s conta" + +#: gajim/gtk/account_wizard.py:922 +msgid "Redirect" +msgstr "" + +#: gajim/gtk/account_wizard.py:932 +#, fuzzy +msgid "Register on the Website" +msgstr "Registar para %s" + +#: gajim/gtk/account_wizard.py:943 +#, fuzzy +msgid "Account Added" +msgstr "Conta" + +#: gajim/gtk/account_wizard.py:944 +msgid "Account has been added successfully" +msgstr "A conta foi adicionada com sucesso" + +#: gajim/gtk/groupchat_invitation.py:57 +#, fuzzy +msgid "" +"has invited you to a group chat.\n" +"Do you want to join?" +msgstr "Por favor preencha os dados do contacto que deseja adicionar" + +#: gajim/gtk/groupchat_invitation.py:75 gajim/gtk/discovery.py:1706 +#: gajim/gtk/groupchat_join.py:68 gajim/data/gui/groupchat_control.ui:899 +#: gajim/data/gui/groupchat_control.ui:991 +#: gajim/data/gui/start_chat_dialog.ui:314 +msgid "_Join" +msgstr "_Entrar" + +#: gajim/gtk/tooltips.py:215 +#, python-format +msgid "%(owner_or_admin_or_member)s of this group chat" +msgstr "" + +#: gajim/gtk/tooltips.py:474 +#, fuzzy +msgid "Connected" +msgstr "Ligação" + +#: gajim/gtk/tooltips.py:476 +#, fuzzy +msgid "Disconnected" +msgstr "Contacto Entrou" + +#: gajim/gtk/tooltips.py:530 +#, fuzzy +msgid "File Name: " +msgstr "Nome do ficheiro: %s" + +#: gajim/gtk/tooltips.py:533 +#, fuzzy +msgid "?Noun:Download" +msgstr "Download" + +#: gajim/gtk/tooltips.py:534 gajim/gtk/filetransfer.py:747 +msgid "Sender: " +msgstr "Remetente: " + +#: gajim/gtk/tooltips.py:539 +#, fuzzy +msgid "?Noun:Upload" +msgstr "Upload" + +#: gajim/gtk/tooltips.py:540 gajim/gtk/filetransfer.py:240 +#: gajim/gtk/filetransfer.py:749 +msgid "Recipient: " +msgstr "Destinatário: " + +#: gajim/gtk/tooltips.py:546 +#, fuzzy +msgid "?transfer type:Type: " +msgstr "Transferência de Ficheiro Parada" + +#: gajim/gtk/tooltips.py:552 +#, fuzzy +msgid "?transfer status:Transferred: " +msgstr "Mostrar hora:" + +#: gajim/gtk/tooltips.py:555 +#, fuzzy +msgid "?transfer status:Status: " +msgstr "Mostrar hora:" + +#: gajim/gtk/tooltips.py:557 +#, fuzzy +msgid "Description: " +msgstr "Descrição: %s" + +#: gajim/gtk/tooltips.py:581 +#, fuzzy +msgid "?transfer status:Aborted" +msgstr "Mostrar hora:" + +#: gajim/gtk/tooltips.py:583 +#, fuzzy +msgid "?transfer status:Completed" +msgstr "Mostrar hora:" + +#: gajim/gtk/tooltips.py:585 +#, fuzzy +msgid "?transfer status:Paused" +msgstr "Mostrar hora:" + +#: gajim/gtk/tooltips.py:588 +#, fuzzy +msgid "?transfer status:Stalled" +msgstr "Mostrar hora:" + +#: gajim/gtk/tooltips.py:592 +#, fuzzy +msgid "?transfer status:Transferring" +msgstr "Mostrar hora:" + +#: gajim/gtk/tooltips.py:593 gajim/gtk/tooltips.py:594 +#, fuzzy +msgid "?transfer status:Not started" +msgstr "Mostrar hora:" + +#: gajim/gtk/remove_account.py:42 gajim/gtk/accounts.py:341 +#, fuzzy +msgid "Remove" +msgstr "_Remover" + +#: gajim/gtk/remove_account.py:49 +#, fuzzy +msgid "Removing Account..." +msgstr "Removendo %s conta" + +#: gajim/gtk/remove_account.py:50 +msgid "Trying to remove account..." +msgstr "" + +#: gajim/gtk/remove_account.py:53 gajim/gtk/remove_account.py:54 +#, fuzzy +msgid "Account Removed" +msgstr "Conta" + +#: gajim/gtk/remove_account.py:56 +#, fuzzy +msgid "Your account has has been removed successfully." +msgstr "A sua nova conta foi criada com sucesso" + +#: gajim/gtk/remove_account.py:59 gajim/gtk/remove_account.py:60 +#, fuzzy +msgid "Account Removal Failed" +msgstr "Nenhuma conta disponível" + +#: gajim/gtk/remove_account.py:171 gajim/gtk/remove_account.py:173 +#, fuzzy +msgid "Remove Account" +msgstr "Removendo %s conta" + +#: gajim/gtk/remove_account.py:180 +#, fuzzy +msgid "This will remove your account from Gajim." +msgstr "Remover conta _apenas do Gajim" + +#: gajim/gtk/remove_account.py:189 +#, python-format +msgid "Do you want to unregister your account on %s as well?" +msgstr "" + +#: gajim/gtk/remove_account.py:198 +#, fuzzy +msgid "_Unregister account from service" +msgstr "_Registar nova conta" + +#: gajim/gtk/remove_account.py:217 +#, fuzzy +msgid "Account has to be connected" +msgstr "Conta \"%s\" está ligada ao servidor" + +#: gajim/gtk/filetransfer.py:91 +msgid "File" +msgstr "Ficheiro" + +#: gajim/gtk/filetransfer.py:108 +msgid "Time" +msgstr "Tempo" + +#: gajim/gtk/filetransfer.py:121 gajim/data/gui/filetransfer_progress.ui:110 +msgid "Progress" +msgstr "Progresso" + +#: gajim/gtk/filetransfer.py:228 +#, fuzzy, python-format +msgid "File name: %s" +msgstr "Nome do ficheiro: %s" + +#: gajim/gtk/filetransfer.py:229 gajim/gtk/filetransfer.py:470 +#, python-format +msgid "Size: %s" +msgstr "Tamanho: %s" + +#: gajim/gtk/filetransfer.py:239 +#, python-format +msgid "Sender: %s" +msgstr "Remetente: %s" + +#: gajim/gtk/filetransfer.py:251 +#, python-format +msgid "Saved in: %s" +msgstr "Guardado em: %s" + +#: gajim/gtk/filetransfer.py:256 +msgid "File transfer completed" +msgstr "Transferência de ficheiro completa" + +#: gajim/gtk/filetransfer.py:276 gajim/gtk/filetransfer.py:285 +#, fuzzy +msgid "Connection with peer could not be established." +msgstr "Ligação ao peer não pode ser estabelecida." + +#: gajim/gtk/filetransfer.py:293 +#, python-format +msgid "Filename: %s" +msgstr "Nome do ficheiro: %s" + +#: gajim/gtk/filetransfer.py:294 +#, fuzzy, python-format +msgid "Recipient: %s" +msgstr "Destinatário: " + +#: gajim/gtk/filetransfer.py:296 +#, fuzzy, python-format +msgid "Error message: %s" +msgstr "Introduza a sua mensagem :" + +#: gajim/gtk/filetransfer.py:335 +#, python-format +msgid "" +"The file %s has been received, but it seems to have been damaged along the " +"way.\n" +"Do you want to download it again?" +msgstr "" + +#: gajim/gtk/filetransfer.py:341 +#, fuzzy +msgid "_Download Again" +msgstr "_Não voltar a perguntar" + +#: gajim/gtk/filetransfer.py:356 +#, fuzzy +msgid "Gajim can not read this file" +msgstr "Gajim não consegue aceder a este ficheiro" + +#: gajim/gtk/filetransfer.py:357 +msgid "Another process is using this file." +msgstr "" + +#: gajim/gtk/filetransfer.py:399 +#, python-format +msgid "Cannot overwrite existing file '%s'" +msgstr "" + +#: gajim/gtk/filetransfer.py:400 +msgid "" +"A file with this name already exists and you do not have permission to " +"overwrite it." +msgstr "" + +#: gajim/gtk/filetransfer.py:424 +#, fuzzy +msgid "File Transfer Conflict" +msgstr "Transferência de Ficheiro Completa" + +#: gajim/gtk/filetransfer.py:425 +#, fuzzy +msgid "File already exists" +msgstr "Este ficheiro já existe" + +#: gajim/gtk/filetransfer.py:426 +msgid "Resume download or replace file?" +msgstr "" + +#: gajim/gtk/filetransfer.py:430 +#, fuzzy +msgid "Resume _Download" +msgstr "Download" + +#: gajim/gtk/filetransfer.py:433 +#, fuzzy +msgid "Replace _File" +msgstr "Evento" + +#: gajim/gtk/filetransfer.py:443 +#, python-format +msgid "Directory '%s' is not writable" +msgstr "" + +#: gajim/gtk/filetransfer.py:444 +msgid "You do not have permissions to create files in this directory." +msgstr "" + +#: gajim/gtk/filetransfer.py:467 +#, python-format +msgid "File: %s" +msgstr "Ficheiro: %s" + +#: gajim/gtk/filetransfer.py:473 +#, python-format +msgid "Type: %s" +msgstr "Tipo: %s" + +#: gajim/gtk/filetransfer.py:475 +#, python-format +msgid "Description: %s" +msgstr "Descrição: %s" + +#: gajim/gtk/filetransfer.py:486 +#, fuzzy, python-format +msgid "%s wants to send you a file" +msgstr "%s quer enviar-lhe um ficheiro." + +#: gajim/gtk/filetransfer.py:514 +#, fuzzy +msgid "Checking file…" +msgstr "Enviar _Ficheiro" + +#: gajim/gtk/filetransfer.py:529 +#, fuzzy +msgid "File error" +msgstr "Erro na Transferência de Ficheiro" + +#: gajim/gtk/filetransfer.py:566 +#, python-format +msgid "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" +msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" + +#: gajim/gtk/filetransfer.py:663 +#, python-format +msgid "(%(filesize_unit)s/s)" +msgstr "(%(filesize_unit)s/s)" + +#: gajim/gtk/filetransfer.py:716 gajim/gtk/filetransfer.py:720 +msgid "Invalid File" +msgstr "Ficheiro Inválido" + +#: gajim/gtk/filetransfer.py:716 +msgid "File: " +msgstr "Ficheiro: " + +#: gajim/gtk/filetransfer.py:721 +msgid "It is not possible to send empty files" +msgstr "Não é possível enviar ficheiros vazios" + +#: gajim/gtk/filetransfer.py:1043 +#, fuzzy +msgid "Choose a File to Send…" +msgstr "Escolher Ficheiro para Enviar" + +#: gajim/gtk/roster_item_exchange.py:35 +#: gajim/data/gui/roster_item_exchange_window.ui:39 +#, fuzzy +msgid "Contact List Exchange" +msgstr "Contacto Entrou" + +#: gajim/gtk/roster_item_exchange.py:49 +#, fuzzy, python-format +msgid "%s would like to add some contacts to your contact list." +msgstr "Gostaria de o adicionar à minha lista de contactos." + +#: gajim/gtk/roster_item_exchange.py:52 +#, fuzzy, python-format +msgid "%s would like to modify some contacts in your contact list." +msgstr "Gostaria de o adicionar à minha lista de contactos." + +#: gajim/gtk/roster_item_exchange.py:55 +#, fuzzy, python-format +msgid "%s would like to delete some contacts from your contact list." +msgstr "Gostaria de o adicionar à minha lista de contactos." + +#: gajim/gtk/roster_item_exchange.py:71 gajim/gtk/roster_item_exchange.py:130 +#, fuzzy +msgid "Add" +msgstr "Endereço" + +#: gajim/gtk/roster_item_exchange.py:73 gajim/gtk/roster_item_exchange.py:161 +#, fuzzy +msgid "Modify" +msgstr "_Modificar" + +#: gajim/gtk/roster_item_exchange.py:80 +msgid "JID" +msgstr "JID" + +#: gajim/gtk/roster_item_exchange.py:86 +#, fuzzy +msgid "Groups" +msgstr "Grupo" + +#: gajim/gtk/roster_item_exchange.py:196 +#, fuzzy, python-format +msgid "%s suggested me to add you to my contact list." +msgstr "Eu gostaria de o adicionar à minha lista" + +#: gajim/gtk/roster_item_exchange.py:211 +#, fuzzy, python-format +msgid "Added %d contact" +msgid_plural "Added %d contacts" +msgstr[0] "Adicionar _Contacto" +msgstr[1] "Adicionar _Contacto" + +#: gajim/gtk/roster_item_exchange.py:253 +#, fuzzy, python-format +msgid "Removed %d contact" +msgid_plural "Removed %d contacts" +msgstr[0] "Remove o contacto da lista" +msgstr[1] "Remove o contacto da lista" + +#: gajim/gtk/groupchat_creation.py:45 gajim/data/gui/groupchat_creation.ui:81 +#, fuzzy +msgid "Create Group Chat" +msgstr "Chat" + +#: gajim/gtk/groupchat_creation.py:101 gajim/gtk/groupchat_creation.py:103 +msgid " (optional)..." +msgstr "" + +#: gajim/gtk/groupchat_creation.py:186 +#, fuzzy +msgid "Not Connected" +msgstr "Ligação" + +#: gajim/gtk/groupchat_creation.py:187 +#, fuzzy +msgid "You have to be connected to create a group chat." +msgstr "Neste grupo" + +#: gajim/gtk/status_selector.py:121 gajim/gtk/status_selector.py:127 +#, fuzzy, python-format +msgid "Status: %s" +msgstr "Estado: " + +#: gajim/gtk/status_selector.py:125 +#, fuzzy, python-format +msgid "%s (desynced)" +msgstr "Avançado" + +#: gajim/gtk/subscription_request.py:35 +msgid "Subscription Request" +msgstr "Pedido de Subscrição" + +#: gajim/gtk/subscription_request.py:47 +#, fuzzy, python-format +msgid "Subscription request for account %(account)s from %(jid)s" +msgstr "Pedido de subscrição para a conta %s por parte de %s" + +#: gajim/gtk/subscription_request.py:50 +#, python-format +msgid "Subscription request from %s" +msgstr "Pedido de subscrição de %s" + +#: gajim/gtk/single_message.py:51 +#, fuzzy +msgid "Send Single Message" +msgstr "E_nviar Mensagem Simples" + +#: gajim/gtk/single_message.py:101 +#, fuzzy +msgid "(No subject)" +msgstr "Assunto:" + +#: gajim/gtk/single_message.py:157 +#, fuzzy, python-format +msgid "Single Message using account %s" +msgstr "Mensagem Simples com a conta %s" + +#: gajim/gtk/single_message.py:159 +#, fuzzy, python-format +msgid "Single Message in account %s" +msgstr "Mensagem Simples com a conta %s" + +#: gajim/gtk/single_message.py:161 +msgid "Single Message" +msgstr "Mensagem Simples" + +#: gajim/gtk/single_message.py:164 +#, python-format +msgid "Send %s" +msgstr "Enviar %s" + +#: gajim/gtk/single_message.py:183 +#, python-format +msgid "Received %s" +msgstr "Recebido %s" + +#: gajim/gtk/single_message.py:205 +#, fuzzy, python-format +msgid "Characters typed: %s" +msgstr "Carácter não permitido" + +#: gajim/gtk/single_message.py:210 gajim/gtk/xml_console.py:169 +msgid "Connection not available" +msgstr "Ligação indisponível" + +#: gajim/gtk/single_message.py:211 +#, python-format +msgid "Please make sure you are connected with \"%s\"." +msgstr "Por favor, verifique se está ligado com \"%s\"." + +#: gajim/gtk/single_message.py:239 +#, fuzzy, python-format +msgid "" +"It is not possible to send a message to %s, this XMPP Address is not valid." +msgstr "Não é possível enviar ficheiros vazios" + +#: gajim/gtk/single_message.py:316 +#, python-format +msgid "RE: %s" +msgstr "RE: %s" + +#: gajim/gtk/single_message.py:317 +#, python-format +msgid "%s wrote:\n" +msgstr "%s escreveu:\n" + +#: gajim/gtk/change_password.py:42 +#, fuzzy +msgid "Change" +msgstr "Muda Alcu_nha" + +#: gajim/gtk/change_password.py:51 +#, fuzzy +msgid "Changing Password..." +msgstr "Mudar Senha" + +#: gajim/gtk/change_password.py:52 +#, fuzzy +msgid "Trying to change password..." +msgstr "Clique para mudar a senha da conta" + +#: gajim/gtk/change_password.py:55 gajim/gtk/change_password.py:56 +#, fuzzy +msgid "Password Changed" +msgstr "Senha Necessária" + +#: gajim/gtk/change_password.py:57 +#, fuzzy +msgid "Your password has successfully been changed." +msgstr "_Preferências" + +#: gajim/gtk/change_password.py:60 gajim/gtk/change_password.py:61 +#, fuzzy +msgid "Password Change Failed" +msgstr "Senha Necessária" + +#: gajim/gtk/change_password.py:63 +#, fuzzy +msgid "An error occurred while trying to change your password." +msgstr "Ocorreu um erro ao criar a conta" + +#: gajim/gtk/change_password.py:145 gajim/gtk/change_password.py:147 +#: gajim/gtk/change_password.py:224 gajim/gtk/accounts.py:994 +msgid "Change Password" +msgstr "Mudar Senha" + +#: gajim/gtk/change_password.py:154 +#, fuzzy +msgid "Please enter your new password." +msgstr "Depois da alcunha:" + +#: gajim/gtk/change_password.py:167 +#, fuzzy +msgid "Enter new password..." +msgstr "Introduza a nova senha:" + +#: gajim/gtk/change_password.py:176 +#, fuzzy +msgid "Confirm new password..." +msgstr "Mudar Senha" + +#: gajim/gtk/change_password.py:191 +msgid "Passwords do not match" +msgstr "As senhas não conferem" + +#: gajim/gtk/bookmarks.py:48 +#, fuzzy, python-format +msgid "Bookmarks for %s" +msgstr "Adicionar esta Sala aos _Bookmarks" + +#: gajim/gtk/xml_console.py:95 gajim/gtk/xml_console.py:279 +#, fuzzy +msgid "All Accounts" +msgstr "Contas" + +#: gajim/gtk/xml_console.py:170 +#, fuzzy, python-format +msgid "Please make sure you are connected with '%s'." +msgstr "Por favor, verifique se está ligado com \"%s\"." + +#: gajim/gtk/xml_console.py:180 +#, fuzzy +msgid "Invalid Node" +msgstr "Ficheiro Inválido" + +#: gajim/gtk/xml_console.py:282 +msgid "Account" +msgstr "Conta" + +#: gajim/gtk/xml_console.py:309 gajim/data/gui/xml_console.ui:241 +#, fuzzy +msgid "Filter" +msgstr "Filtro:" + +#: gajim/gtk/dataform.py:252 gajim/gtk/dataform.py:290 +#, fuzzy +msgid "Required" +msgstr "Senha Necessária" + +#: gajim/gtk/dataform.py:315 +msgid "Yes" +msgstr "" + +#: gajim/gtk/dataform.py:315 +#, fuzzy +msgid "No" +msgstr "Nenhum" + +#: gajim/gtk/dataform.py:701 gajim/gtk/adhoc.py:86 +#: gajim/data/gui/profile.ui:396 +#, fuzzy +msgid "Cancel" +msgstr "_Cancelar" + +#: gajim/gtk/dataform.py:703 +msgid "Submit" +msgstr "" + +#: gajim/gtk/discovery.py:69 +msgid "This service has not yet responded with detailed information" +msgstr "Este serviço/recurso ainda não respondeu com informações detalhadas" + +#: gajim/gtk/discovery.py:70 +#, fuzzy +msgid "" +"This service could not respond with detailed information.\n" +"It is most likely a legacy service or broken." +msgstr "" +"Este serviço/recurso não pôde responder com informações detalhadas.\n" +"Provavelmente está legacy ou broken" + +#: gajim/gtk/discovery.py:126 +msgid "Others" +msgstr "Outros" + +#: gajim/gtk/discovery.py:129 gajim/data/gui/shortcuts_window.ui:307 +#, fuzzy +msgid "Group Chat" +msgstr "C_hat" + +#: gajim/gtk/discovery.py:523 +msgid "Without a connection, you can not browse available services" +msgstr "Tem de estar ligado para ver os serviços" + +#: gajim/gtk/discovery.py:610 +#, fuzzy, python-format +msgid "Service Discovery using account %s" +msgstr "Buscar Serviço usando conta %s" + +#: gajim/gtk/discovery.py:612 +msgid "Service Discovery" +msgstr "Buscar Serviço" + +#: gajim/gtk/discovery.py:695 +msgid "The service could not be found" +msgstr "O serviço não pôde ser encontrado" + +#: gajim/gtk/discovery.py:696 +msgid "" +"There is no service at the address you entered, or it is not responding. " +"Check the address and try again." +msgstr "" +"Não há serviço/recurso no endereço que introduziu, ou pelo menos não " +"responde. Verifique o endereço e tente novamente." + +#: gajim/gtk/discovery.py:703 gajim/gtk/discovery.py:1046 +msgid "The service is not browsable" +msgstr "Serviço não explorável" + +#: gajim/gtk/discovery.py:704 +msgid "This type of service does not contain any items to browse." +msgstr "Este tipo de serviço/recurso não contém itens para explorar." + +#: gajim/gtk/discovery.py:742 gajim/gtk/discovery.py:751 +#, fuzzy +msgid "Invalid Server Name" +msgstr "Nome de utilizador inválido" + +#: gajim/gtk/discovery.py:810 +#, fuzzy, python-format +msgid "Browsing %(address)s using account %(account)s" +msgstr "usando a conta %s" + +#: gajim/gtk/discovery.py:855 +#, fuzzy +msgid "Browse" +msgstr "_Explorar" + +#: gajim/gtk/discovery.py:1047 +msgid "This service does not contain any items to browse." +msgstr "Este serviço não contém quaisquer itens para explorar" + +#: gajim/gtk/discovery.py:1259 +#, fuzzy +msgid "_Command" +msgstr "Comandos: %s" + +#: gajim/gtk/discovery.py:1268 gajim/gtk/discovery.py:1425 +msgid "Re_gister" +msgstr "Re_gistar" + +#: gajim/gtk/discovery.py:1275 +#, fuzzy +msgid "Join" +msgstr "_Entrar" + +#: gajim/gtk/discovery.py:1281 +msgid "_Search" +msgstr "_Pesquisar" + +#: gajim/gtk/discovery.py:1423 gajim/data/gui/profile.ui:353 +msgid "_Edit" +msgstr "_Editar" + +#: gajim/gtk/discovery.py:1461 +#, fuzzy, python-format +msgid "Scanning %(current)d / %(total)d ..." +msgstr "Buscando %d / %d.." + +#: gajim/gtk/discovery.py:1660 +msgid "Users" +msgstr "Utilizadores" + +#: gajim/gtk/discovery.py:1668 gajim/data/gui/groupchat_info_scrolled.ui:32 +#: gajim/data/gui/filetransfers_send_file_dialog.ui:15 +#: gajim/data/gui/advanced_configuration.ui:82 +msgid "Description" +msgstr "Descrição" + +#: gajim/gtk/discovery.py:1676 +msgid "Id" +msgstr "" + +#: gajim/gtk/discovery.py:1905 +#, fuzzy +msgid "Subscribed" +msgstr "Subscrição" + +#: gajim/gtk/discovery.py:1914 +msgid "Node" +msgstr "Nó" + +#: gajim/gtk/discovery.py:1983 +#, fuzzy +msgid "_New post" +msgstr "Nova Sala" + +#: gajim/gtk/discovery.py:1992 +msgid "_Subscribe" +msgstr "_Subscrever" + +#: gajim/gtk/discovery.py:2000 +#, fuzzy +msgid "_Unsubscribe" +msgstr "_Subscrever" + +#: gajim/gtk/groupchat_settings.py:43 +msgid "Show Join/Leave" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:53 +#, fuzzy +msgid "Notify on all Messages" +msgstr "mensagem de estado:" + +#: gajim/gtk/groupchat_settings.py:58 +msgid "Minimize on Close" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:63 +msgid "Minimize When Joining Automatically" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:68 +#, fuzzy +msgid "Send Chat State" +msgstr "Iconset de _estados padrão:" + +#: gajim/gtk/groupchat_settings.py:74 +#, fuzzy +msgid "Send Chat Markers" +msgstr "Iconset de _estados padrão:" + +#: gajim/gtk/groupchat_settings.py:77 +msgid "Let others know if you read up to this point" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:80 +msgid "Sync Threshold" +msgstr "" + +#: gajim/gtk/proxies.py:33 +#, fuzzy +msgid "Manage Proxies" +msgstr "Gerir Perfis de Proxy" + +#: gajim/gtk/manage_sounds.py:40 +#, fuzzy +msgid "Manage Sounds" +msgstr "Gerir Contas" + +#: gajim/gtk/manage_sounds.py:51 +msgid "Wav Sounds" +msgstr "Sons Wav" + +#: gajim/gtk/manage_sounds.py:85 +#, fuzzy +msgid "Attention Message Received" +msgstr "Nova Mensagem" + +#: gajim/gtk/manage_sounds.py:86 +msgid "First Message Received" +msgstr "" + +#: gajim/gtk/manage_sounds.py:87 +#, fuzzy +msgid "Next Message Received Focused" +msgstr "Nova Mensagem" + +#: gajim/gtk/manage_sounds.py:88 +#, fuzzy +msgid "Next Message Received Unfocused" +msgstr "Nova Mensagem" + +#: gajim/gtk/manage_sounds.py:89 +#, fuzzy +msgid "Contact Connected" +msgstr "Nome do Contacto" + +#: gajim/gtk/manage_sounds.py:90 +#, fuzzy +msgid "Contact Disconnected" +msgstr "Contacto Entrou" + +#: gajim/gtk/manage_sounds.py:91 +#, fuzzy +msgid "Message Sent" +msgstr "Mensagem" + +#: gajim/gtk/manage_sounds.py:92 +msgid "Group Chat Message Highlight" +msgstr "" + +#: gajim/gtk/manage_sounds.py:93 +msgid "Group Chat Message Received" +msgstr "" + +#: gajim/gtk/groupchat_info.py:38 +#, fuzzy +msgid "?Group chat feature:Open" +msgstr "?Função do Contacto no Chat:Nenhuma" + +#: gajim/gtk/groupchat_info.py:39 +#, fuzzy +msgid "Anyone can join this group chat" +msgstr "Neste grupo" + +#: gajim/gtk/groupchat_info.py:42 +#, fuzzy +msgid "?Group chat feature:Members Only" +msgstr "Chat" + +#: gajim/gtk/groupchat_info.py:43 +msgid "This group chat is restricted to members only" +msgstr "" + +#: gajim/gtk/groupchat_info.py:47 +#, fuzzy +msgid "?Group chat feature:Not Anonymous" +msgstr "Chat" + +#: gajim/gtk/groupchat_info.py:48 +msgid "All other group chat participants can see your XMPP address" +msgstr "" + +#: gajim/gtk/groupchat_info.py:52 +#, fuzzy +msgid "?Group chat feature:Semi-Anonymous" +msgstr "Chat" + +#: gajim/gtk/groupchat_info.py:53 +msgid "Only moderators can see your XMPP address" +msgstr "" + +#: gajim/gtk/groupchat_info.py:56 +#, fuzzy +msgid "?Group chat feature:Moderated" +msgstr "?Função do Contacto no Chat:Nenhuma" + +#: gajim/gtk/groupchat_info.py:57 +msgid "" +"Participants entering this group chat need to request permission to send " +"messages" +msgstr "" + +#: gajim/gtk/groupchat_info.py:61 +#, fuzzy +msgid "?Group chat feature:Not Moderated" +msgstr "Chat" + +#: gajim/gtk/groupchat_info.py:62 +msgid "Participants entering this group chat are allowed to send messages" +msgstr "" + +#: gajim/gtk/groupchat_info.py:66 +#, fuzzy +msgid "?Group chat feature:Public" +msgstr "Chat" + +#: gajim/gtk/groupchat_info.py:67 +msgid "Group chat can be found via search" +msgstr "" + +#: gajim/gtk/groupchat_info.py:70 +#, fuzzy +msgid "?Group chat feature:Hidden" +msgstr "?Função do Contacto no Chat:Nenhuma" + +#: gajim/gtk/groupchat_info.py:71 +#, fuzzy +msgid "This group chat can not be found via search" +msgstr "O serviço não pôde ser encontrado" + +#: gajim/gtk/groupchat_info.py:74 +#, fuzzy +msgid "?Group chat feature:Password Required" +msgstr "Chat" + +#: gajim/gtk/groupchat_info.py:75 +msgid "This group chat does require a password upon entry" +msgstr "" + +#: gajim/gtk/groupchat_info.py:79 +#, fuzzy +msgid "?Group chat feature:No Password Required" +msgstr "Chat" + +#: gajim/gtk/groupchat_info.py:80 +msgid "This group chat does not require a password upon entry" +msgstr "" + +#: gajim/gtk/groupchat_info.py:84 +#, fuzzy +msgid "?Group chat feature:Persistent" +msgstr "Chat" + +#: gajim/gtk/groupchat_info.py:85 +msgid "This group chat persists even if there are no participants" +msgstr "" + +#: gajim/gtk/groupchat_info.py:89 +#, fuzzy +msgid "?Group chat feature:Temporary" +msgstr "?Função do Contacto no Chat:Nenhuma" + +#: gajim/gtk/groupchat_info.py:90 +msgid "This group chat will be destroyed once the last participant left" +msgstr "" + +#: gajim/gtk/groupchat_info.py:94 +#, fuzzy +msgid "?Group chat feature:Archiving" +msgstr "?Função do Contacto no Chat:Nenhuma" + +#: gajim/gtk/groupchat_info.py:95 +#, fuzzy +msgid "Messages are archived on the server" +msgstr "Não está ligado ao servidor" + +#: gajim/gtk/groupchat_info.py:205 +msgid "Website" +msgstr "" + +#: gajim/gtk/accounts.py:122 +msgid "Re-Login" +msgstr "" + +#: gajim/gtk/accounts.py:123 +msgid "Re-Login now?" +msgstr "" + +#: gajim/gtk/accounts.py:124 +msgid "To apply all changes instantly, you have to re-login." +msgstr "" + +#: gajim/gtk/accounts.py:128 +msgid "_Re-Login" +msgstr "" + +#: gajim/gtk/accounts.py:311 gajim/data/gui/server_info.ui:386 +msgid "Connection" +msgstr "Ligação" + +#: gajim/gtk/accounts.py:496 +msgid "Please check if Bonjour is installed." +msgstr "" + +#: gajim/gtk/accounts.py:498 +msgid "Please check if Avahi is installed." +msgstr "" + +#: gajim/gtk/accounts.py:537 +#, fuzzy +msgid "Disable Account" +msgstr "Nome de conta inválido" + +#: gajim/gtk/accounts.py:538 +#, fuzzy, python-format +msgid "Account %s is still connected" +msgstr "Conta \"%s\" está ligada ao servidor" + +#: gajim/gtk/accounts.py:539 +msgid "All chat and group chat windows will be closed." +msgstr "" + +#: gajim/gtk/accounts.py:543 +#, fuzzy +msgid "_Disable Account" +msgstr "Nome de conta inválido" + +#: gajim/gtk/accounts.py:614 +msgid "Label" +msgstr "" + +#: gajim/gtk/accounts.py:618 gajim/data/gui/groupchat_control.ui:99 +#: gajim/data/gui/chat_control.ui:363 +msgid "Color" +msgstr "" + +#: gajim/gtk/accounts.py:620 +msgid "Recognize your account by color" +msgstr "" + +#: gajim/gtk/accounts.py:622 +msgid "Login" +msgstr "" + +#: gajim/gtk/accounts.py:627 +#, fuzzy +msgid "Import Contacts" +msgstr "Contacto:" + +#: gajim/gtk/accounts.py:636 gajim/gtk/accounts.py:865 +#, fuzzy +msgid "Connect on startup" +msgstr "_Ligar ao arranque" + +#: gajim/gtk/accounts.py:640 gajim/gtk/accounts.py:870 +#, fuzzy +msgid "Save conversations for all contacts" +msgstr "Guardar _históricos das conversas para todos os contactos" + +#: gajim/gtk/accounts.py:642 gajim/gtk/accounts.py:872 +msgid "Store conversations on the harddrive" +msgstr "" + +#: gajim/gtk/accounts.py:644 gajim/gtk/accounts.py:874 +#, fuzzy +msgid "Global Status" +msgstr "Estado: " + +#: gajim/gtk/accounts.py:646 +#, fuzzy +msgid "Synchronise the status of all accounts" +msgstr "Muda o estado de uma ou várias contas" + +#: gajim/gtk/accounts.py:648 +msgid "Remember Last Status" +msgstr "" + +#: gajim/gtk/accounts.py:650 +msgid "Restore status and status message of your last session" +msgstr "" + +#: gajim/gtk/accounts.py:653 +#, fuzzy +msgid "Use file transfer proxies" +msgstr "lista de transferências de ficheiros" + +#: gajim/gtk/accounts.py:670 +#, fuzzy +msgid "Forever" +msgstr "_Nunca" + +#: gajim/gtk/accounts.py:671 gajim/common/const.py:1110 +msgid "1 Day" +msgstr "" + +#: gajim/gtk/accounts.py:672 gajim/common/const.py:1112 +msgid "1 Week" +msgstr "" + +#: gajim/gtk/accounts.py:673 gajim/common/const.py:1113 +msgid "1 Month" +msgstr "" + +#: gajim/gtk/accounts.py:674 +msgid "3 Months" +msgstr "" + +#: gajim/gtk/accounts.py:675 +msgid "6 Months" +msgstr "" + +#: gajim/gtk/accounts.py:676 +msgid "1 Year" +msgstr "" + +#: gajim/gtk/accounts.py:686 +#, fuzzy +msgid "Idle Time" +msgstr "Versão %s" + +#: gajim/gtk/accounts.py:688 +msgid "Disclose the time of your last activity" +msgstr "" + +#: gajim/gtk/accounts.py:690 +msgid "Local System Time" +msgstr "" + +#: gajim/gtk/accounts.py:692 +msgid "Disclose the local system time of the device Gajim runs on" +msgstr "" + +#: gajim/gtk/accounts.py:695 +#, fuzzy +msgid "Client / Operating System" +msgstr "Nome de utilizador inválido" + +#: gajim/gtk/accounts.py:697 +#, fuzzy +msgid "" +"Disclose information about the client and operating system you currently use" +msgstr "Se marcado, o Gajim juntar-se-á a este chat no arranque" + +#: gajim/gtk/accounts.py:700 +#, fuzzy +msgid "Ignore Unknown Contacts" +msgstr "Contacto:" + +#: gajim/gtk/accounts.py:702 +#, fuzzy +msgid "Ignore everything from contacts not in your Roster" +msgstr "_Ignorar eventos de contactos que não estão na lista" + +#: gajim/gtk/accounts.py:705 +#, fuzzy +msgid "Send Message Receipts" +msgstr "Nova Mensagem" + +#: gajim/gtk/accounts.py:707 +msgid "Tell your contacts if you received a message" +msgstr "" + +#: gajim/gtk/accounts.py:713 +#, fuzzy +msgid "Default for chats" +msgstr "Livre para conversar" + +#: gajim/gtk/accounts.py:716 gajim/gtk/accounts.py:741 +msgid "Reset all chats to the current default value" +msgstr "" + +#: gajim/gtk/accounts.py:722 +#, fuzzy +msgid "Send Chatstate in Group Chats" +msgstr "Impossível entrar na sala" + +#: gajim/gtk/accounts.py:725 +#, fuzzy +msgid "Default for group chats" +msgstr "Chat" + +#: gajim/gtk/accounts.py:739 +#, fuzzy +msgid "Default for chats and private group chats" +msgstr "Neste grupo" + +#: gajim/gtk/accounts.py:747 +#, fuzzy +msgid "Keep Chat History" +msgstr "Histórico dos registos" + +#: gajim/gtk/accounts.py:751 +msgid "How long Gajim should keep your chat history" +msgstr "" + +#: gajim/gtk/accounts.py:787 gajim/data/gui/manage_proxies.ui:337 +#, fuzzy +msgid "Proxy" +msgstr "Proxy:" + +#: gajim/gtk/accounts.py:794 gajim/gtk/accounts.py:949 +#: gajim/data/gui/server_info.ui:20 +#, fuzzy +msgid "Hostname" +msgstr "Nome do Host:" + +#: gajim/gtk/accounts.py:795 +msgid "Manually set the hostname for the server" +msgstr "" + +#: gajim/gtk/accounts.py:798 gajim/data/gui/vcard_information_window.ui:72 +#, fuzzy +msgid "Resource" +msgstr "Recurso:" + +#: gajim/gtk/accounts.py:801 gajim/gtk/accounts.py:917 +#: gajim/gtk/accounts.py:925 +#, fuzzy +msgid "Priority" +msgstr "_Prioridade" + +#: gajim/gtk/accounts.py:804 +#, fuzzy +msgid "Use Unencrypted Connection" +msgstr "Ligação" + +#: gajim/gtk/accounts.py:806 gajim/common/config.py:273 +#, fuzzy +msgid "Use an unencrypted connection to the server" +msgstr "Não está ligado ao servidor" + +#: gajim/gtk/accounts.py:808 +#, fuzzy +msgid "Confirm Unencrypted Connection" +msgstr "Ligação" + +#: gajim/gtk/accounts.py:811 +msgid "Show a confirmation dialog before connecting unencrypted" +msgstr "" + +#: gajim/gtk/accounts.py:835 gajim/data/gui/zeroconf_information_window.ui:8 +#: gajim/data/gui/vcard_information_window.ui:8 +#: gajim/data/gui/subscription_request_window.ui:164 +msgid "Contact Information" +msgstr "Informações do Contacto" + +#: gajim/gtk/accounts.py:837 +msgid "Request contact information (Mood, Activity, Tune, Location)" +msgstr "" + +#: gajim/gtk/accounts.py:840 +#, fuzzy +msgid "Accept all Contact Requests" +msgstr "Pedido de Transferência de Ficheiro" + +#: gajim/gtk/accounts.py:842 +#, fuzzy +msgid "Automatically accept all contact requests" +msgstr "Autorizar automaticamente contacto" + +#: gajim/gtk/accounts.py:844 +#, fuzzy +msgid "Filetransfer Preference" +msgstr "Erro na Transferência de Ficheiro" + +#: gajim/gtk/accounts.py:846 +#, fuzzy +msgid "Upload Files" +msgstr "Guardar Ficheiro como..." + +#: gajim/gtk/accounts.py:847 +#, fuzzy +msgid "Send Files Directly" +msgstr "Guardar Ficheiro como..." + +#: gajim/gtk/accounts.py:848 +msgid "Preferred file transfer mechanism for file drag&drop on a chat window" +msgstr "" + +#: gajim/gtk/accounts.py:867 +#, fuzzy +msgid "Use environment variable" +msgstr "Sessão bus não está disponível" + +#: gajim/gtk/accounts.py:876 +#, fuzzy +msgid "Synchronize the status of all accounts" +msgstr "Muda o estado de uma ou várias contas" + +#: gajim/gtk/accounts.py:886 +#, fuzzy +msgid "First Name" +msgstr "Nome:" + +#: gajim/gtk/accounts.py:889 +#, fuzzy +msgid "Last Name" +msgstr "Nome:" + +#: gajim/gtk/accounts.py:895 gajim/gtk/profile.py:32 gajim/gtk/vcard_grid.py:39 +#, fuzzy +msgid "Email" +msgstr "E-Mail" + +#: gajim/gtk/accounts.py:913 +#, fuzzy +msgid "Adjust to status" +msgstr "Pedir para ver o estado dele/dela" + +#: gajim/gtk/accounts.py:945 +msgid "Enable" +msgstr "Activar" + +#: gajim/gtk/accounts.py:953 +#, fuzzy +msgid "Port" +msgstr "_Porta:" + +#: gajim/gtk/accounts.py:957 gajim/data/gui/server_info.ui:250 +msgid "Type" +msgstr "Tipo" + +#: gajim/gtk/accounts.py:963 +#, fuzzy +msgid "Connection Settings" +msgstr "Ligação" + +#: gajim/gtk/accounts.py:971 +#, fuzzy +msgid "Client Certificate" +msgstr "Nome de utilizador inválido" + +#: gajim/gtk/accounts.py:973 +msgid "PKCS12 Files" +msgstr "" + +#: gajim/gtk/accounts.py:975 +#, fuzzy +msgid "Encrypted Certificate" +msgstr "Nome de utilizador inválido" + +#: gajim/gtk/accounts.py:979 +#, fuzzy +msgid "Certificate Settings" +msgstr "Nome de utilizador inválido" + +#: gajim/gtk/accounts.py:987 gajim/data/gui/account_wizard.ui:255 +#: gajim/data/gui/bookmarks.ui:102 +#, fuzzy +msgid "Password" +msgstr "Senha:" + +#: gajim/gtk/accounts.py:991 +#, fuzzy +msgid "Save Password" +msgstr "Guardar senha" + +#: gajim/gtk/accounts.py:999 +#, fuzzy +msgid "Login Settings" +msgstr "Publicação vCard falhou" + +#: gajim/gtk/groupchat_config.py:39 +#, fuzzy +msgid "Group Chat Configuration" +msgstr "?Função do Contacto no Chat:Nenhuma" + +#: gajim/gtk/groupchat_config.py:104 gajim/common/helpers.py:283 +#: gajim/data/gui/groupchat_config.ui:40 +#, fuzzy +msgid "Member" +msgstr "_Membro" + +#: gajim/gtk/groupchat_config.py:133 +#, fuzzy +msgid "A Group Chat needs at least one Owner" +msgstr "?Função do Contacto no Chat:Nenhuma" + +#: gajim/gtk/groupchat_config.py:241 +msgid "You are not allowed to modify the affiliation of Admins and Owners" +msgstr "" + +#: gajim/gtk/groupchat_config.py:400 +msgid "An entry with this XMPP Address already exists" +msgstr "" + +#: gajim/gtk/server_info.py:142 gajim/data/gui/vcard_information_window.ui:89 +#: gajim/data/gui/preferences.ui:359 +msgid "Status" +msgstr "Estado" + +#: gajim/gtk/server_info.py:143 +msgid "Support" +msgstr "" + +#: gajim/gtk/server_info.py:144 +msgid "Security" +msgstr "" + +#: gajim/gtk/server_info.py:145 +msgid "Feedback" +msgstr "" + +#: gajim/gtk/server_info.py:146 +msgid "Abuse" +msgstr "" + +#: gajim/gtk/server_info.py:147 +msgid "Sales" +msgstr "" + +#: gajim/gtk/server_info.py:231 +#, python-format +msgid "%(days)s days, %(hours)s hours" +msgstr "" + +#: gajim/gtk/server_info.py:239 gajim/gtk/vcard_grid.py:115 +#: gajim/common/helpers.py:224 +#, fuzzy +msgid "Unknown" +msgstr "?SO:Desconhecido" + +#: gajim/gtk/server_info.py:360 +#, fuzzy +msgid "" +"\n" +"Disabled in preferences" +msgstr "_Preferências" + +#: gajim/gtk/history.py:79 +msgid "Conversation History" +msgstr "Histórico das Conversas" + +#: gajim/gtk/history.py:411 gajim/gtk/history.py:465 +#, fuzzy +msgid "Disk Error" +msgstr "Erro:" + +#: gajim/gtk/history.py:576 +#, python-format +msgid "%(nick)s is now %(status)s: %(status_msg)s" +msgstr "%(nick)s está agora %(status)s: %(status_msg)s" + +#: gajim/gtk/history.py:581 gajim/common/connection_handlers_events.py:414 +#, python-format +msgid "%(nick)s is now %(status)s" +msgstr "%(nick)s está agora %(status)s" + +#: gajim/gtk/history.py:589 +#, fuzzy, python-format +msgid "Error: %s" +msgstr "Introduza a sua mensagem :" + +#: gajim/gtk/history.py:593 +#, python-format +msgid "Status is now: %(status)s: %(status_msg)s" +msgstr "O estado é agora: %(status)s: %(status_msg)s" + +#: gajim/gtk/history.py:597 +#, python-format +msgid "Status is now: %(status)s" +msgstr "Estado é agora: %(status)s" + +#: gajim/gtk/about.py:51 +#, fuzzy +msgid "A GTK XMPP client" +msgstr "Cliente Jabber GTK+" + +#: gajim/gtk/about.py:52 +#, fuzzy, python-format +msgid "GTK Version: %s" +msgstr "Descrição: %s" + +#: gajim/gtk/about.py:53 +#, fuzzy, python-format +msgid "GLib Version: %s" +msgstr "Descrição: %s" + +#: gajim/gtk/about.py:54 +#, python-format +msgid "PyGObject Version: %s" +msgstr "" + +#: gajim/gtk/about.py:55 +#, python-format +msgid "python-nbxmpp Version: %s" +msgstr "" + +#: gajim/gtk/about.py:59 +msgid "Current Developers" +msgstr "" + +#: gajim/gtk/about.py:60 +msgid "Past Developers" +msgstr "" + +#: gajim/gtk/about.py:61 +msgid "Artists" +msgstr "" + +#: gajim/gtk/about.py:65 +msgid "Last but not least" +msgstr "" + +#: gajim/gtk/about.py:66 +msgid "we would like to thank all the package maintainers." +msgstr "" + +#: gajim/gtk/about.py:67 +msgid "Thanks" +msgstr "" + +#: gajim/gtk/about.py:69 +msgid "translator-credits" +msgstr "Miguel Fonseca " + +#: gajim/gtk/search.py:95 gajim/gtk/search.py:191 +#, fuzzy +msgid "Search" +msgstr "_Pesquisar" + +#: gajim/gtk/search.py:101 +#, fuzzy +msgid "New Search" +msgstr "_Pesquisar" + +#: gajim/gtk/search.py:176 +msgid "Request Search Form" +msgstr "" + +#: gajim/gtk/search.py:236 +#, fuzzy +msgid "Search…" +msgstr "_Pesquisar" + +#: gajim/gtk/search.py:243 +#, fuzzy +msgid "Search Result" +msgstr "_Pesquisar" + +#: gajim/gtk/search.py:250 +#, fuzzy +msgid "No results found" +msgstr "%s não encontrado" + +#: gajim/gtk/features.py:40 gajim/data/gui/server_info.ui:447 +#, fuzzy +msgid "Features" +msgstr "Recursos dos Servidores" + +#: gajim/gtk/features.py:90 +msgid "Audio / Video" +msgstr "" + +#: gajim/gtk/features.py:92 +msgid "Enables Gajim to provide Audio and Video chats" +msgstr "" + +#: gajim/gtk/features.py:93 +msgid "" +"Requires: gir1.2-farstream-0.2, gir1.2-gstreamer-1.0, gstreamer1.0-libav, " +"gstreamer1.0-plugins-ugly" +msgstr "" + +#: gajim/gtk/features.py:95 gajim/gtk/features.py:145 +#, fuzzy +msgid "Feature not available under Windows" +msgstr "A mensagem de estado auto-indisponível" + +#: gajim/gtk/features.py:97 +#, fuzzy +msgid "Automatic Status" +msgstr "Pedir para ver o estado dele/dela" + +#: gajim/gtk/features.py:99 +msgid "" +"Enables Gajim to measure your computer's idle time in order to set your " +"Status automatically" +msgstr "" + +#: gajim/gtk/features.py:101 +msgid "Requires: libxss" +msgstr "" + +#: gajim/gtk/features.py:102 gajim/gtk/features.py:123 +msgid "No additional requirements" +msgstr "" + +#: gajim/gtk/features.py:104 +msgid "Bonjour / Zeroconf (Serverless Chat)" +msgstr "" + +#: gajim/gtk/features.py:106 +msgid "" +"Enables Gajim to automatically detected clients in a local network for " +"serverless chats" +msgstr "" + +#: gajim/gtk/features.py:108 +msgid "Requires: gir1.2-avahi-0.6" +msgstr "" + +#: gajim/gtk/features.py:109 +#, python-format +msgid "Requires: pybonjour and bonjour SDK running (%(url)s)" +msgstr "" + +#: gajim/gtk/features.py:112 +#, fuzzy +msgid "Location detection" +msgstr "Ligação" + +#: gajim/gtk/features.py:114 +msgid "" +"Enables Gajim to be location-aware, if the user decides to publish the " +"device’s location" +msgstr "" + +#: gajim/gtk/features.py:116 +#, fuzzy +msgid "Requires: geoclue" +msgstr "_Voz" + +#: gajim/gtk/features.py:117 +#, fuzzy +msgid "Feature is not available under Windows" +msgstr "A mensagem de estado auto-indisponível" + +#: gajim/gtk/features.py:119 +#, fuzzy +msgid "Notification Sounds" +msgstr "Modificação da Conta" + +#: gajim/gtk/features.py:121 +msgid "Enables Gajim to play sounds for various notifications" +msgstr "" + +#: gajim/gtk/features.py:122 +#, fuzzy +msgid "Requires: gsound" +msgstr "Senha Necessária" + +#: gajim/gtk/features.py:125 +#, fuzzy +msgid "Secure Password Storage" +msgstr "Guardar senha" + +#: gajim/gtk/features.py:127 +msgid "" +"Enables Gajim to store Passwords securely instead of storing them in " +"plaintext" +msgstr "" + +#: gajim/gtk/features.py:129 +#, fuzzy +msgid "Requires: gnome-keyring or kwallet" +msgstr "_Histórico" + +#: gajim/gtk/features.py:130 +msgid "Windows Credential Vault is used for secure password storage" +msgstr "" + +#: gajim/gtk/features.py:133 +msgid "Spell Checker" +msgstr "" + +#: gajim/gtk/features.py:135 +msgid "Enables Gajim to spell check your messages while composing" +msgstr "" + +#: gajim/gtk/features.py:137 gajim/gtk/features.py:138 +msgid "Requires: Gspell" +msgstr "" + +#: gajim/gtk/features.py:140 +msgid "UPnP-IGD Port Forwarding" +msgstr "" + +#: gajim/gtk/features.py:142 +msgid "" +"Enables Gajim to request your router to forward ports for file transfers" +msgstr "" + +#: gajim/gtk/features.py:144 +msgid "Requires: gir1.2-gupnpigd-1.0" +msgstr "" + +#: gajim/gtk/features.py:200 +#, fuzzy +msgid "Disabled in Preferences" +msgstr "_Preferências" + +#: gajim/gtk/dialogs.py:55 gajim/gtk/filechoosers.py:179 +#: gajim/data/gui/groupchat_control.ui:674 +#: gajim/data/gui/groupchat_control.ui:766 +#: gajim/data/gui/groupchat_control.ui:882 +#: gajim/data/gui/groupchat_control.ui:974 +#: gajim/data/gui/groupchat_control.ui:1419 +#: gajim/data/gui/groupchat_control.ui:1545 +#: gajim/data/gui/groupchat_control.ui:1671 +#: gajim/data/gui/groupchat_control.ui:1842 +#: gajim/data/gui/groupchat_control.ui:1920 gajim/data/gui/filetransfers.ui:30 +#: gajim/data/gui/add_new_contact_window.ui:451 +#: gajim/data/gui/filetransfer_progress.ui:172 gajim/data/gui/profile.ui:260 +#: gajim/data/gui/passphrase_dialog.ui:29 +msgid "_Cancel" +msgstr "_Cancelar" + +#: gajim/gtk/dialogs.py:65 gajim/data/gui/history_manager.ui:20 +#, fuzzy +msgid "_Delete" +msgstr "Apagar MOTD" + +#: gajim/gtk/dialogs.py:216 +#, fuzzy +msgid "Certificate" +msgstr "Nome de utilizador inválido" + +#: gajim/gtk/dialogs.py:230 +#, fuzzy, python-format +msgid "" +"Certificate for \n" +"%s" +msgstr "para conta %s" + +#: gajim/gtk/dialogs.py:279 +msgid "Issued to\n" +msgstr "" + +#: gajim/gtk/dialogs.py:280 gajim/gtk/dialogs.py:285 +msgid "Common Name (CN): " +msgstr "" + +#: gajim/gtk/dialogs.py:281 gajim/gtk/dialogs.py:286 +msgid "Organization (O): " +msgstr "" + +#: gajim/gtk/dialogs.py:282 gajim/gtk/dialogs.py:287 +msgid "Organizational Unit (OU): " +msgstr "" + +#: gajim/gtk/dialogs.py:283 +msgid "Serial Number: " +msgstr "" + +#: gajim/gtk/dialogs.py:284 +msgid "Issued by\n" +msgstr "" + +#: gajim/gtk/dialogs.py:288 +msgid "Validity\n" +msgstr "" + +#: gajim/gtk/dialogs.py:289 +msgid "Issued on: " +msgstr "" + +#: gajim/gtk/dialogs.py:290 +msgid "Expires on: " +msgstr "" + +#: gajim/gtk/dialogs.py:291 +msgid "SHA-1:" +msgstr "" + +#: gajim/gtk/dialogs.py:293 +msgid "SHA-256:" +msgstr "" + +#: gajim/gtk/util.py:591 +msgid "Unknown Artist" +msgstr "Artista Desconhecido" + +#: gajim/gtk/util.py:592 +msgid "Unknown Title" +msgstr "Título Desconhecido" + +#: gajim/gtk/util.py:593 +msgid "Unknown Source" +msgstr "Fonte Desconhecida" + +#: gajim/gtk/util.py:595 +#, python-format +msgid "" +"\"%(title)s\" by %(artist)s\n" +"from %(source)s" +msgstr "" + +#: gajim/gtk/profile.py:28 gajim/gtk/vcard_grid.py:33 +#: gajim/data/gui/vcard_information_window.ui:411 +#, fuzzy +msgid "Full Name" +msgstr "Definições Personalizadas" + +#: gajim/gtk/profile.py:29 gajim/gtk/vcard_grid.py:35 +#: gajim/data/gui/vcard_information_window.ui:770 +#, fuzzy +msgid "Birthday" +msgstr "Aniversário" + +#: gajim/gtk/profile.py:30 gajim/gtk/vcard_grid.py:36 +#, fuzzy +msgid "Gender" +msgstr "Remetente: " + +#: gajim/gtk/profile.py:31 gajim/data/gui/groupchat_info_scrolled.ui:16 +msgid "Address" +msgstr "Endereço" + +#: gajim/gtk/profile.py:34 gajim/gtk/vcard_grid.py:38 +#: gajim/data/gui/vcard_information_window.ui:720 +#: gajim/data/gui/vcard_information_window.ui:1396 +#, fuzzy +msgid "Phone No." +msgstr "Telefone" + +#: gajim/gtk/profile.py:35 +msgid "?profile:Organisation" +msgstr "" + +#: gajim/gtk/profile.py:36 gajim/gtk/vcard_grid.py:41 +msgid "?profile:Title" +msgstr "" + +#: gajim/gtk/profile.py:37 gajim/gtk/vcard_grid.py:42 +#, fuzzy +msgid "?profile:Role" +msgstr "Ficheiro" + +#: gajim/gtk/profile.py:38 gajim/gtk/vcard_grid.py:45 +msgid "URL" +msgstr "" + +#: gajim/gtk/profile.py:39 gajim/gtk/vcard_grid.py:46 +#, fuzzy +msgid "?profile:Key" +msgstr "Ficheiro" + +#: gajim/gtk/profile.py:299 gajim/gtk/profile.py:301 +#: gajim/data/gui/profile.ui:98 gajim/data/gui/profile.ui:110 +msgid "Everyone" +msgstr "" + +#: gajim/gtk/profile.py:299 gajim/gtk/profile.py:301 +#: gajim/data/gui/shortcuts_window.ui:108 gajim/data/gui/groupchat_invite.ui:83 +#, fuzzy +msgid "Contacts" +msgstr "Contacto:" + +#: gajim/gtk/filechoosers.py:88 +#, fuzzy +msgid "Choose File to Send…" +msgstr "Escolher Ficheiro para Enviar" + +#: gajim/gtk/filechoosers.py:94 +#, fuzzy +msgid "Choose Avatar…" +msgstr "Escolha chave" + +#: gajim/gtk/filechoosers.py:98 +#, fuzzy +msgid "PNG files" +msgstr "Todos os ficheiros" + +#: gajim/gtk/filechoosers.py:99 +#, fuzzy +msgid "JPEG files" +msgstr "Todos os ficheiros" + +#: gajim/gtk/filechoosers.py:100 +#, fuzzy +msgid "SVG files" +msgstr "Enviar Ficheiro" + +#: gajim/gtk/filechoosers.py:102 +msgid "Images" +msgstr "Imagens" + +#: gajim/gtk/filechoosers.py:139 +#, fuzzy +msgid "Choose Archive" +msgstr "Escolha chave" + +#: gajim/gtk/filechoosers.py:141 +#, fuzzy +msgid "ZIP files" +msgstr "Todos os ficheiros" + +#: gajim/gtk/filechoosers.py:146 +#, fuzzy +msgid "Save File as…" +msgstr "Guardar Ficheiro como..." + +#: gajim/gtk/filechoosers.py:180 +#, fuzzy +msgid "_Open" +msgstr "OpenPGP: " + +#: gajim/gtk/blocking.py:38 +#, python-format +msgid "Blocking List for %s" +msgstr "" + +#: gajim/gtk/blocking.py:64 +#, fuzzy +msgid "Error!" +msgstr "Erro:" + +#: gajim/gtk/service_registration.py:143 gajim/gtk/service_registration.py:157 +#: gajim/gtk/service_registration.py:164 +#, fuzzy +msgid "Register" +msgstr "Re_gistar" + +#: gajim/gtk/service_registration.py:193 gajim/gtk/service_registration.py:205 +#, fuzzy +msgid "Registration successful" +msgstr "Registo da conta efectuado com sucesso" + +#: gajim/gtk/service_registration.py:216 +#, fuzzy +msgid "Registration failed" +msgstr "Publicação vCard falhou" + +#: gajim/gtk/vcard_grid.py:37 +#, fuzzy +msgid "?profile:Address" +msgstr "Endereço" + +#: gajim/gtk/vcard_grid.py:40 +#, fuzzy +msgid "IM Address" +msgstr "Endereço" + +#: gajim/gtk/vcard_grid.py:43 +msgid "Organisation" +msgstr "" + +#: gajim/gtk/vcard_grid.py:44 +#, fuzzy +msgid "?profile:Note" +msgstr "Ficheiro" + +#: gajim/gtk/vcard_grid.py:51 +msgid "Your public key or authentication certificate" +msgstr "" + +#: gajim/gtk/vcard_grid.py:59 +msgid "Post Office Box" +msgstr "" + +#: gajim/gtk/vcard_grid.py:60 gajim/data/gui/vcard_information_window.ui:489 +#: gajim/data/gui/vcard_information_window.ui:1179 +#, fuzzy +msgid "Street" +msgstr "Rua:" + +#: gajim/gtk/vcard_grid.py:61 +#, fuzzy +msgid "Extended Address" +msgstr "Endereço Extra:" + +#: gajim/gtk/vcard_grid.py:62 gajim/data/gui/vcard_information_window.ui:505 +#: gajim/data/gui/vcard_information_window.ui:1195 +#, fuzzy +msgid "City" +msgstr "Cidade:" + +#: gajim/gtk/vcard_grid.py:63 gajim/data/gui/vcard_information_window.ui:521 +#: gajim/data/gui/vcard_information_window.ui:1211 +#, fuzzy +msgid "State" +msgstr "Estado:" + +#: gajim/gtk/vcard_grid.py:64 gajim/data/gui/vcard_information_window.ui:595 +#: gajim/data/gui/vcard_information_window.ui:1244 +#, fuzzy +msgid "Postal Code" +msgstr "Código Postal:" + +#: gajim/gtk/vcard_grid.py:65 gajim/data/gui/vcard_information_window.ui:611 +#: gajim/data/gui/vcard_information_window.ui:1260 +#, fuzzy +msgid "Country" +msgstr "País:" + +#: gajim/gtk/vcard_grid.py:111 +msgid "Male" +msgstr "" + +#: gajim/gtk/vcard_grid.py:112 +msgid "Female" +msgstr "" + +#: gajim/gtk/vcard_grid.py:113 +msgid "?Gender:Other" +msgstr "" + +#: gajim/gtk/vcard_grid.py:114 +#, fuzzy +msgid "?Gender:None" +msgstr "Remetente: " + +#: gajim/gtk/vcard_grid.py:121 gajim/gtk/vcard_grid.py:428 +#, fuzzy +msgid "Home" +msgstr "Página pessoal:" + +#: gajim/gtk/vcard_grid.py:122 gajim/gtk/vcard_grid.py:429 +#: gajim/data/gui/vcard_information_window.ui:1452 +msgid "Work" +msgstr "Trabalho" + +#: gajim/gtk/vcard_grid.py:598 +#, fuzzy +msgid "YYYY-MM-DD" +msgstr "Formato: AAAA-MM-DD" + +#: gajim/gtk/adhoc.py:91 +#, fuzzy +msgid "Finish" +msgstr "_Terminar" + +#: gajim/gtk/adhoc.py:96 gajim/gtk/adhoc.py:283 +#, fuzzy +msgid "Commands" +msgstr "Comandos: %s" + +#: gajim/gtk/adhoc.py:107 +#, fuzzy +msgid "Previous" +msgstr "_Anterior" + +#: gajim/gtk/adhoc.py:112 +#, fuzzy +msgid "Execute" +msgstr "comando" + +#: gajim/gtk/adhoc.py:196 +#, fuzzy +msgid "No commands available" +msgstr "Nenhuma conta disponível" + +#: gajim/gtk/adhoc.py:244 +#, fuzzy +msgid "Request Command List" +msgstr "comando" + +#: gajim/gtk/adhoc.py:259 +#, fuzzy +msgid "Executing…" +msgstr "comando" + +#: gajim/gtk/adhoc.py:266 +#, fuzzy +msgid "Command List" +msgstr "Comandos: %s" + +#: gajim/gtk/adhoc.py:321 gajim/data/gui/manage_proxies.ui:255 +#, fuzzy +msgid "Settings" +msgstr "Publicação vCard falhou" + +#: gajim/gtk/adhoc.py:386 +#, fuzzy +msgid "Finished" +msgstr "_Terminar" + +#: gajim/gtk/adhoc.py:455 +#, fuzzy +msgid "Execution failed" +msgstr "Ligação" + +#: gajim/common/jingle_rtp.py:133 +#, python-format +msgid "%s configuration error" +msgstr "%s erro de configuração" + +#: gajim/common/jingle_rtp.py:134 +#, python-format +msgid "" +"Couldn’t set up %(text)s. Check your configuration.\n" +"Pipeline:\n" +"%(pipeline)s\n" +"Error:\n" +"%(error)s" +msgstr "" + +#: gajim/common/jingle_rtp.py:416 +msgid "audio input" +msgstr "" + +#: gajim/common/jingle_rtp.py:421 +msgid "audio output" +msgstr "" + +#: gajim/common/jingle_rtp.py:489 +msgid "video input" +msgstr "" + +#: gajim/common/setting_values.py:300 gajim/common/config.py:356 +#: gajim/common/const.py:387 +msgid "Sleeping" +msgstr "A dormir" + +#: gajim/common/setting_values.py:301 +msgid "ZZZZzzzzzZZZZZ" +msgstr "" + +#: gajim/common/setting_values.py:306 gajim/common/config.py:357 +msgid "Back soon" +msgstr "Volto logo" + +#: gajim/common/setting_values.py:307 gajim/common/config.py:357 +msgid "Back in some minutes." +msgstr "Volto daqui a alguns minutos" + +#: gajim/common/setting_values.py:309 gajim/common/config.py:358 +#: gajim/common/const.py:353 +msgid "Eating" +msgstr "A comer" + +#: gajim/common/setting_values.py:310 +#, fuzzy +msgid "I’m eating." +msgstr "Estou a trabalhar" + +#: gajim/common/setting_values.py:314 gajim/common/config.py:359 +msgid "Movie" +msgstr "Filme" + +#: gajim/common/setting_values.py:315 +#, fuzzy +msgid "I’m watching a movie." +msgstr "Estou a ver um filme." + +#: gajim/common/setting_values.py:319 gajim/common/config.py:360 +#: gajim/common/const.py:420 +msgid "Working" +msgstr "A trabalhar" + +#: gajim/common/setting_values.py:320 +#, fuzzy +msgid "I’m working." +msgstr "Estou a trabalhar" + +#: gajim/common/setting_values.py:324 gajim/common/config.py:362 +msgid "Out" +msgstr "Estou fora" + +#: gajim/common/setting_values.py:325 +#, fuzzy +msgid "I’m out enjoying life." +msgstr "Estou fora, fui apreciar a vida" + +#: gajim/common/setting_values.py:393 gajim/common/config.py:84 +msgid "" +"Allow to hide the contact list window even if the notification area icon is " +"not shown." +msgstr "" + +#: gajim/common/setting_values.py:394 gajim/common/config.py:95 +msgid "" +"'always' - print time for every message.\n" +"'sometimes' - print time every print_ichat_every_foo_minutes minute.\n" +"'never' - never print time." +msgstr "" + +#: gajim/common/setting_values.py:395 gajim/common/config.py:99 +msgid "Treat * / _ pairs as possible formatting characters." +msgstr "" + +#: gajim/common/setting_values.py:396 gajim/common/config.py:100 +#, fuzzy +msgid "" +"If enabled, do not remove */_ . So *abc* will be bold but with * * not " +"removed." +msgstr "" +"Se Verdadeiro (True), não remover */_ . Para que *abc* fique em negrito " +"(bold) mas * * não seja removido." + +#: gajim/common/setting_values.py:397 gajim/common/config.py:103 +msgid "" +"Character to add after nickname when using nickname completion (tab) in " +"group chat." +msgstr "" + +#: gajim/common/setting_values.py:398 gajim/common/config.py:125 +msgid "" +"If enabled, Gajim will save the contact list window position when hiding it, " +"and restore it when showing the contact list window again." +msgstr "" + +#: gajim/common/setting_values.py:399 gajim/common/config.py:131 +msgid "Place the contact list on the right in single window mode" +msgstr "" + +#: gajim/common/setting_values.py:400 gajim/common/config.py:137 +msgid "" +"This option lets you customize the timestamp that is printed in " +"conversation. For example '[%H:%M] ' will show '[hour:minute] '. See python " +"doc on strftime for full documentation (https://docs.python.org/3/library/" +"time.html#time.strftime)." +msgstr "" + +#: gajim/common/setting_values.py:401 gajim/common/config.py:138 +msgid "Characters that are printed before the nickname in conversations." +msgstr "" + +#: gajim/common/setting_values.py:402 gajim/common/config.py:139 +msgid "Characters that are printed after the nickname in conversations." +msgstr "" + +#: gajim/common/setting_values.py:403 gajim/common/config.py:140 +#, fuzzy +msgid "If enabled, Gajim will add * and [n] in contact list window title." +msgstr "" +"Se marcado, Gajim exibirá imagens pessoais (avatars) dos seus contactos na " +"lista" + +#: gajim/common/setting_values.py:404 gajim/common/config.py:141 +#, fuzzy +msgid "" +"Number of messages from chat history to be restored when a chat tab/window " +"is reopened." +msgstr "" +"Número de linhas, da conversa anterior, a lembrar para quando uma janela/aba " +"de conversa seja reaberta." + +#: gajim/common/setting_values.py:405 gajim/common/config.py:142 +msgid "" +"How far back in time (minutes) chat history is restored. -1 means no limit." +msgstr "" + +#: gajim/common/setting_values.py:406 gajim/common/config.py:143 +#, fuzzy +msgid "Send message on Ctrl+Enter and make a new line with Enter." +msgstr "" +"Enviar mensagem ao premir Ctrl+Enter e fazer nova linha com Enter " +"(Comportamento por defeito do cliente ICQ Mirabilis)." + +#: gajim/common/setting_values.py:407 gajim/common/config.py:145 +#, fuzzy +msgid "How many lines to store for Ctrl+KeyUP (previously sent messages)." +msgstr "Número de linhas a guardar ao premir Ctrl+TeclaCIMA." + +#: gajim/common/setting_values.py:409 gajim/common/config.py:148 +#, fuzzy, python-format +msgid "" +"Either a custom URL with %%s in it (where %%s is the word/phrase) or " +"'WIKTIONARY' (which means use Wikitionary)." +msgstr "" +"Ou um endereço URL personalizado contendo %s, onde %s é a palavra ou frase, " +"ou 'WIKTIONARY', que significa que será usado o Wiktionary." + +#: gajim/common/setting_values.py:412 gajim/common/config.py:151 +msgid "If checked, Gajim can be controlled remotely using gajim-remote." +msgstr "Se marcado, Gajim pode ser controlado à distância usando gajim-remote." + +#: gajim/common/setting_values.py:413 +msgid "" +"When not printing time for every message ('print_time'==sometimes, print it " +"every x minutes." +msgstr "" + +#: gajim/common/setting_values.py:414 gajim/common/config.py:153 +msgid "Ask before pasting an image." +msgstr "" + +#: gajim/common/setting_values.py:415 gajim/common/config.py:154 +msgid "Ask before closing a group chat tab/window." +msgstr "Perguntar antes de fechar uma janela/aba de chat." + +#: gajim/common/setting_values.py:416 gajim/common/config.py:155 +msgid "" +"Ask before closing tabbed chat window if there are chats that can lose data " +"(chat, private chat, group chat that will not be minimized)." +msgstr "" + +#: gajim/common/setting_values.py:418 gajim/common/config.py:158 +#, fuzzy +msgid "" +"List of send hosts (comma separated) in addition to local interfaces for " +"file transfers (in case of address translation/port forwarding)." +msgstr "" +"Overrides the host we send for File Transfer in case of address translation/" +"port forwarding." + +#: gajim/common/setting_values.py:419 gajim/common/config.py:159 +msgid "IEC standard says KiB = 1024 bytes, KB = 1000 bytes." +msgstr "O standart IEC diz: KiB = 1024 bytes, KB = 1000 bytes." + +#: gajim/common/setting_values.py:421 gajim/common/config.py:161 +msgid "Notify of events in the notification area." +msgstr "" + +#: gajim/common/setting_values.py:422 gajim/common/config.py:166 +msgid "Show tab when only one conversation?" +msgstr "Mostrar aba quando apenas numa conversa?" + +#: gajim/common/setting_values.py:423 gajim/common/config.py:167 +#, fuzzy +msgid "Show tabbed notebook border in chat windows?" +msgstr "Mostrar borda da aba quando apenas numa conversa?" + +#: gajim/common/setting_values.py:424 gajim/common/config.py:168 +msgid "Show close button in tab?" +msgstr "Mostrar botão de fechar na aba?" + +#: gajim/common/setting_values.py:425 gajim/common/config.py:169 +#, fuzzy +msgid "Preview new messages in notification popup?" +msgstr "Noti_ficação do estado da conversa:" + +#: gajim/common/setting_values.py:426 gajim/common/config.py:172 +#, fuzzy +msgid "" +"A list of words (semicolon separated) that will be highlighted in group " +"chats." +msgstr "" +"Uma lista de palavras separadas por ponto-e-vírgula e que serão sublinhadas " +"num chat de vários utilizadores." + +#: gajim/common/setting_values.py:427 gajim/common/config.py:174 +msgid "" +"If enabled, Gajim hides the contact list window when pressing the X button " +"instead of minimizing into the notification area." +msgstr "" + +#: gajim/common/setting_values.py:432 gajim/common/config.py:181 +msgid "" +"Define the position of avatars in the contact list. Can be 'left' or 'right'." +msgstr "" + +#: gajim/common/setting_values.py:433 gajim/common/config.py:186 +msgid "Don't show contact list window in the system taskbar." +msgstr "" + +#: gajim/common/setting_values.py:434 gajim/common/config.py:187 +msgid "" +"If enabled, Gajim makes the window flash (the default behaviour in most " +"Window Managers) when holding pending events." +msgstr "" + +#: gajim/common/setting_values.py:436 gajim/common/config.py:193 +msgid "If enabled, pressing Esc closes a tab/window." +msgstr "" + +#: gajim/common/setting_values.py:437 gajim/common/config.py:194 +#, fuzzy +msgid "Hides the banner in a group chat window." +msgstr "Perguntar antes de fechar uma janela/aba de chat." + +#: gajim/common/setting_values.py:438 gajim/common/config.py:195 +#, fuzzy +msgid "Hides the banner in a 1:1 chat window." +msgstr "Perguntar antes de fechar uma janela/aba de chat." + +#: gajim/common/setting_values.py:439 gajim/common/config.py:196 +#, fuzzy +msgid "Hides the group chat participants list in a group chat window." +msgstr "Perguntar antes de fechar uma janela/aba de chat." + +#: gajim/common/setting_values.py:440 gajim/common/config.py:197 +msgid "" +"In a chat, show the nickname at the beginning of a line only when it's not " +"the same person talking as in the previous message." +msgstr "" + +#: gajim/common/setting_values.py:441 gajim/common/config.py:198 +msgid "Indentation when using merge consecutive nickname." +msgstr "" + +#: gajim/common/setting_values.py:442 gajim/common/config.py:199 +msgid "" +"Ctrl+Tab switches to the next composing tab when there are no tabs with " +"messages pending." +msgstr "" + +#: gajim/common/setting_values.py:443 gajim/common/config.py:200 +msgid "" +"Show a confirmation dialog to create metacontacts? Empty string means never " +"show the dialog." +msgstr "" + +#: gajim/common/setting_values.py:444 gajim/common/config.py:201 +msgid "" +"Show a confirmation dialog to block a contact? Empty string means never show " +"the dialog." +msgstr "" + +#: gajim/common/setting_values.py:445 gajim/common/config.py:202 +msgid "" +"If enabled, you will be able to set a negative priority to your account in " +"the Accounts window. BE CAREFUL, when you are logged in with a negative " +"priority, you will NOT receive any message from your server." +msgstr "" + +#: gajim/common/setting_values.py:446 gajim/common/config.py:203 +msgid "" +"If enabled, Gajim will show both the number of online and total contacts in " +"account rows as well as in group rows." +msgstr "" + +#: gajim/common/setting_values.py:447 gajim/common/config.py:204 +msgid "" +"If enabled, Gajim will scroll and select the contact who sent you the last " +"message, if the chat window is not already opened." +msgstr "" + +#: gajim/common/setting_values.py:448 gajim/common/config.py:205 +msgid "Time of inactivity needed before the change status window closes down." +msgstr "" + +#: gajim/common/setting_values.py:449 gajim/common/config.py:206 +msgid "" +"Maximum number of lines that are printed in conversations. Oldest lines are " +"cleared." +msgstr "" + +#: gajim/common/setting_values.py:450 gajim/common/config.py:208 +msgid "" +"If enabled, completion in group chats will be like a shell auto-completion." +msgstr "" + +#: gajim/common/setting_values.py:451 gajim/common/config.py:217 +msgid "" +"If enabled, Gajim will try to use a STUN server when using Jingle. The one " +"in 'stun_server' option, or the one given by the XMPP server." +msgstr "" + +#: gajim/common/setting_values.py:452 gajim/common/config.py:218 +msgid "STUN server to use when using Jingle" +msgstr "" + +#: gajim/common/setting_values.py:453 gajim/common/config.py:220 +msgid "If enabled, Gajim will ignore incoming attention requests ('wizz')." +msgstr "" + +#: gajim/common/setting_values.py:454 gajim/common/config.py:221 +msgid "" +"If enabled, Gajim will reopen chat windows that were opened last time Gajim " +"was closed." +msgstr "" + +#: gajim/common/setting_values.py:455 gajim/common/config.py:224 +msgid "If enabled, Gajim will execute XEP-0146 Commands." +msgstr "" + +#: gajim/common/setting_values.py:458 gajim/common/config.py:236 +msgid "API Preferences. Possible values: 'http', 'iq'" +msgstr "" + +#: gajim/common/setting_values.py:459 gajim/common/config.py:237 +msgid "If enabled, Gajim will execute commands (/show, /sh, /execute, /exec)." +msgstr "" + +#: gajim/common/setting_values.py:460 gajim/common/config.py:238 +msgid "Width of group chat roster in pixel" +msgstr "" + +#: gajim/common/setting_values.py:461 gajim/common/config.py:239 +#, fuzzy +msgid "Force Bookmark 2 usage" +msgstr "Adicionar esta Sala aos _Bookmarks" + +#: gajim/common/multimedia_helpers.py:51 +#, fuzzy +msgid "Default device" +msgstr "Mensagem de Estado" + +#: gajim/common/multimedia_helpers.py:72 +msgid "Audio test" +msgstr "" + +#: gajim/common/multimedia_helpers.py:75 gajim/common/multimedia_helpers.py:91 +#: gajim/common/multimedia_helpers.py:105 +msgid "Autodetect" +msgstr "" + +#: gajim/common/multimedia_helpers.py:78 gajim/common/multimedia_helpers.py:93 +#, fuzzy, python-format +msgid "ALSA: %s" +msgstr "Tamanho: %s" + +#: gajim/common/multimedia_helpers.py:81 gajim/common/multimedia_helpers.py:95 +#, fuzzy, python-format +msgid "Pulse: %s" +msgstr "Ficheiro: %s" + +#: gajim/common/multimedia_helpers.py:89 +msgid "Fake audio output" +msgstr "" + +#: gajim/common/multimedia_helpers.py:102 +msgid "Video test" +msgstr "" + +#: gajim/common/multimedia_helpers.py:107 +msgid "Pipewire" +msgstr "" + +#: gajim/common/multimedia_helpers.py:109 +#, python-format +msgid "V4L2: %s" +msgstr "" + +#: gajim/common/multimedia_helpers.py:111 +msgid "X11" +msgstr "" + +#: gajim/common/multimedia_helpers.py:113 +msgid "Windows" +msgstr "" + +#: gajim/common/multimedia_helpers.py:115 +msgid "macOS" +msgstr "" + +#: gajim/common/helpers.py:176 +msgid "_Busy" +msgstr "_Ocupado" + +#: gajim/common/helpers.py:178 +msgid "Busy" +msgstr "Ocupado" + +#: gajim/common/helpers.py:181 +msgid "_Not Available" +msgstr "_Indisponível" + +#: gajim/common/helpers.py:183 +msgid "Not Available" +msgstr "Indisponível" + +#: gajim/common/helpers.py:186 +msgid "_Free for Chat" +msgstr "_Livre para conversar" + +#: gajim/common/helpers.py:188 +msgid "Free for Chat" +msgstr "Livre para conversar" + +#: gajim/common/helpers.py:191 +#, fuzzy +msgid "?user status:_Available" +msgstr "_Disponível" + +#: gajim/common/helpers.py:193 +#, fuzzy +msgid "?user status:Available" +msgstr "Mostrar hora:" + +#: gajim/common/helpers.py:195 +msgid "Connecting" +msgstr "Ligando" + +#: gajim/common/helpers.py:198 +msgid "A_way" +msgstr "A_usente" + +#: gajim/common/helpers.py:203 +msgid "_Offline" +msgstr "_Offline" + +#: gajim/common/helpers.py:205 +msgid "Offline" +msgstr "Offline" + +#: gajim/common/helpers.py:209 +msgid "?contact has status:Unknown" +msgstr "Desconhecido" + +#: gajim/common/helpers.py:211 +msgid "?contact has status:Has errors" +msgstr "Contém erros" + +#: gajim/common/helpers.py:216 +msgid "?Subscription we already have:None" +msgstr "Nenhuma" + +#: gajim/common/helpers.py:218 +msgid "To" +msgstr "Para" + +#: gajim/common/helpers.py:220 gajim/data/gui/groups_post_window.ui:33 +msgid "From" +msgstr "De" + +#: gajim/common/helpers.py:222 +msgid "Both" +msgstr "Ambos" + +#: gajim/common/helpers.py:230 +msgid "?Ask (for Subscription):None" +msgstr "Nenhum" + +#: gajim/common/helpers.py:232 +msgid "Subscribe" +msgstr "Subscrição" + +#: gajim/common/helpers.py:244 +msgid "?Group Chat Contact Role:None" +msgstr "?Função do Contacto no Chat:Nenhuma" + +#: gajim/common/helpers.py:247 +msgid "Moderators" +msgstr "Moderadores" + +#: gajim/common/helpers.py:249 +msgid "Moderator" +msgstr "Moderador" + +#: gajim/common/helpers.py:252 gajim/data/gui/groupchat_info_scrolled.ui:182 +msgid "Participants" +msgstr "Participantes" + +#: gajim/common/helpers.py:254 +msgid "Participant" +msgstr "Participante" + +#: gajim/common/helpers.py:257 +msgid "Visitors" +msgstr "Visitantes" + +#: gajim/common/helpers.py:259 +msgid "Visitor" +msgstr "Visitante" + +#: gajim/common/helpers.py:268 +#, fuzzy +msgid "?Group Chat Contact Affiliation:None" +msgstr "?Função do Contacto no Chat:Nenhuma" + +#: gajim/common/helpers.py:271 +#, fuzzy +msgid "Owners" +msgstr "_Dono" + +#: gajim/common/helpers.py:273 gajim/data/gui/groupchat_config.ui:32 +#, fuzzy +msgid "Owner" +msgstr "_Dono" + +#: gajim/common/helpers.py:276 +#, fuzzy +msgid "Administrators" +msgstr "_Administrador" + +#: gajim/common/helpers.py:278 +#, fuzzy +msgid "Administrator" +msgstr "_Administrador" + +#: gajim/common/helpers.py:281 +#, fuzzy +msgid "Members" +msgstr "_Membro" + +#: gajim/common/helpers.py:320 +msgid "is paying attention to the conversation" +msgstr "está a prestar atenção à conversa" + +#: gajim/common/helpers.py:322 +msgid "is doing something else" +msgstr "está a fazer outra coisa qualquer" + +#: gajim/common/helpers.py:324 +#, fuzzy +msgid "is composing a message…" +msgstr "está a escrever uma mensagem..." + +#: gajim/common/helpers.py:327 +msgid "paused composing a message" +msgstr "pausa na composição da mensagem" + +#: gajim/common/helpers.py:329 +msgid "has closed the chat window or tab" +msgstr "fechou a janela de conversa ou aba" + +#: gajim/common/helpers.py:719 gajim/common/helpers.py:727 +#, python-format +msgid "%d message pending" +msgid_plural "%d messages pending" +msgstr[0] "%d mensagem pendente" +msgstr[1] "%d mensagens pendentes" + +#: gajim/common/helpers.py:736 +#, fuzzy, python-format +msgid "from group chat %s" +msgstr "_Entrar num Chat" + +#: gajim/common/helpers.py:739 gajim/common/helpers.py:760 +#, fuzzy, python-format +msgid "from user %s" +msgstr "De %s" + +#: gajim/common/helpers.py:741 +#, fuzzy, python-format +msgid "from %s" +msgstr "De %s" + +#: gajim/common/helpers.py:747 gajim/common/helpers.py:755 +#, python-format +msgid "%d event pending" +msgid_plural "%d events pending" +msgstr[0] "" +msgstr[1] "" + +#: gajim/common/helpers.py:828 gajim/data/gui/add_new_contact_window.ui:20 +msgid "I would like to add you to my contact list." +msgstr "Gostaria de o adicionar à minha lista de contactos." + +#: gajim/common/helpers.py:830 +msgid "Hello, I am $name." +msgstr "" + +#: gajim/common/config.py:71 +msgid "Play sound even when being busy." +msgstr "" + +#: gajim/common/config.py:73 +#, fuzzy +msgid "Show only online and free for chat contacts in the contact list." +msgstr "Gostaria de o adicionar à minha lista de contactos." + +#: gajim/common/config.py:76 +msgid "Time in minutes, after which your status changes to away." +msgstr "Tempo, em minutos, após o qual o seu estado muda para Ausente." + +#: gajim/common/config.py:77 +#, fuzzy +msgid "$S (Away: Idle more than $T min)" +msgstr "Ausente por estar inactivo" + +#: gajim/common/config.py:77 +msgid "" +"$S will be replaced by current status message, $T by the 'autoawaytime' " +"value." +msgstr "" + +#: gajim/common/config.py:79 +msgid "Time in minutes, after which your status changes to not available." +msgstr "Tempo, em minutos, após o qual o seu estado muda para Indisponível." + +#: gajim/common/config.py:80 +#, fuzzy +msgid "$S (Not available: Idle more than $T min)" +msgstr "Indisponível por estar inactivo" + +#: gajim/common/config.py:80 +msgid "" +"$S will be replaced by current status message, $T by the 'autoxatime' value." +msgstr "" + +#: gajim/common/config.py:83 +msgid "" +"When to show the notification area icon. Can be 'never', 'on_event', and " +"'always'." +msgstr "" + +#: gajim/common/config.py:87 +msgid "" +"List of rows (accounts and groups) that are collapsed (space separated)." +msgstr "" + +#: gajim/common/config.py:94 gajim/common/config.py:335 +#: gajim/common/config.py:342 +msgid "Language used for spell checking." +msgstr "" + +#: gajim/common/config.py:97 +msgid "When enabled, ASCII emojis will be converted to graphical emojis." +msgstr "" + +#: gajim/common/config.py:152 +msgid "" +"When not printing time for every message ('print_time'==sometimes), print it " +"every x minutes." +msgstr "" + +#: gajim/common/config.py:173 +#, fuzzy +msgid "" +"If enabled, Gajim quits when clicking the X button of your Window Manager. " +"This setting is taken into account only if the notification area icon is " +"used." +msgstr "" +"Se Verdadeiro (True), sai do Gajim quando o botão X do Window Manager for " +"clicado. Esta definição só será aplicada se o trayicon estiver a ser usado." + +#: gajim/common/config.py:175 +#, fuzzy +msgid "" +"If enabled, Gajim will display the status message (if not empty) underneath " +"the contact name in the contact list window." +msgstr "" +"Se Verdadeiro (True), Gajim exibirá a mensagem de estado, caso houver, de " +"cada contacto debaixo do nome de cada um deles na lista" + +#: gajim/common/config.py:182 +#, fuzzy +msgid "" +"If disabled, Gajim will no longer print status messages in chats when a " +"contact changes their status (and/or their status message)." +msgstr "" +"Se Falso (False), deixará de ver a linha de estados em conversas quando um " +"contacto mudar de estado ou de mensagem de estado." + +#: gajim/common/config.py:183 +#, fuzzy +msgid "" +"Default Setting: Show a status message for every join or leave in a group " +"chat." +msgstr "Impossível entrar na sala" + +#: gajim/common/config.py:184 +#, fuzzy +msgid "" +"Default Setting: Show a status message for all status changes (away, dnd, " +"etc.) of users in a group chat." +msgstr "Impossível entrar na sala" + +#: gajim/common/config.py:191 +msgid "" +"Controls the window where new messages are placed.\n" +"'always' - All messages are sent to a single window.\n" +"'always_with_roster' - Like 'always' but the messages are in a single window " +"along with the contact list.\n" +"'never' - All messages get their own window.\n" +"'peracct' - Messages for each account are sent to a specific window.\n" +"'pertype' - Each message type (e.g. chats vs. group chats) is sent to a " +"specific window." +msgstr "" + +#: gajim/common/config.py:192 +msgid "" +"Show contact list window on startup.\n" +"'always' - Always show contact list window.\n" +"'never' - Never show contact list window.\n" +"'last_state' - Restore last state of the contact list window." +msgstr "" + +#: gajim/common/config.py:207 +msgid "" +"Valid URI schemes. Only schemes in this list will be accepted as 'real' URI " +"(mailto and xmpp are handled separately)." +msgstr "" + +#: gajim/common/config.py:212 +msgid "Optionally fix Jingle output video framerate. Example: 10/1 or 25/2." +msgstr "" + +#: gajim/common/config.py:213 +msgid "Optionally resize Jingle output video. Example: 320x240." +msgstr "" + +#: gajim/common/config.py:214 +msgid "If enabled, you will see your webcam's video stream as well." +msgstr "" + +#: gajim/common/config.py:219 +msgid "" +"Proxy used for all outgoing connections if the account does not have a " +"specific proxy configured." +msgstr "" + +#: gajim/common/config.py:222 +msgid "" +"If enabled, Gajim will display an icon to show that sent messages have been " +"received by your contact." +msgstr "" + +#: gajim/common/config.py:223 +msgid "" +"If enabled, Gajim will use the System's Keyring to store account passwords." +msgstr "" + +#: gajim/common/config.py:225 +msgid "2: System, 1: Enabled, 0: Disabled" +msgstr "" + +#: gajim/common/config.py:226 +msgid "" +"Maximum history in days we request from a public group chat archive. 0: As " +"much as possible." +msgstr "" + +#: gajim/common/config.py:227 +msgid "" +"Maximum history in days we request from a private group chat archive. 0: As " +"much as possible." +msgstr "" + +#: gajim/common/config.py:228 +msgid "" +"If enabled, Gajim shows the group chat subject in the chat window when " +"joining." +msgstr "" + +#: gajim/common/config.py:229 +#, fuzzy +msgid "" +"If enabled, the contact row is colored according to the current chat state " +"of the contact." +msgstr "Se marcado, o Gajim juntar-se-á a este chat no arranque" + +#: gajim/common/config.py:230 +#, fuzzy +msgid "" +"If enabled, the tab is colored according to the current chat state of the " +"contact." +msgstr "Se marcado, o Gajim juntar-se-á a este chat no arranque" + +#: gajim/common/config.py:231 +#, fuzzy +msgid "" +"Shows a text in the banner that describes the current chat state of the " +"contact." +msgstr "Se marcado, o Gajim juntar-se-á a este chat no arranque" + +#: gajim/common/config.py:232 +msgid "" +"Chat state notifications that are sent to contacts. Possible values: all, " +"composing_only, disabled" +msgstr "" + +#: gajim/common/config.py:233 +msgid "" +"Chat state notifications that are sent to the group chat. Possible values: " +"'all', 'composing_only', 'disabled'" +msgstr "" + +#: gajim/common/config.py:240 +msgid "Shows an info bar with helpful hints in the Start / Join Chat dialog" +msgstr "" + +#: gajim/common/config.py:242 +msgid "Date of the last update check" +msgstr "" + +#: gajim/common/config.py:260 +msgid "" +"Priority will change automatically according to your status. Priorities are " +"defined in 'autopriority_*' options." +msgstr "" + +#: gajim/common/config.py:267 +msgid "If enabled, the last status will be restored." +msgstr "" + +#: gajim/common/config.py:268 +msgid "" +"If enabled, contacts requesting authorization will be accepted automatically." +msgstr "" + +#: gajim/common/config.py:269 +msgid "" +"If disabled, this account will be disabled and will not appear in the " +"contact list window." +msgstr "" + +#: gajim/common/config.py:278 +msgid "ConnectionType: START TLS, DIRECT TLS or PLAIN" +msgstr "" + +#: gajim/common/config.py:280 +msgid "" +"List of XMPP Addresses (space separated) for which you do not want to store " +"chat history. You can also add the name of an account to disable storing " +"chat history for this account." +msgstr "" + +#: gajim/common/config.py:285 +msgid "" +"If enabled, Gajim will use your IP and proxies defined in " +"'file_transfer_proxies' option for file transfers." +msgstr "" + +#: gajim/common/config.py:286 +msgid "" +"If enabled, Gajim will test file transfer proxies on startup to be sure they " +"work. Openfire's proxies are known to fail this test even if they work." +msgstr "" + +#: gajim/common/config.py:298 +msgid "If enabled, Gajim will answer to message receipt requests." +msgstr "" + +#: gajim/common/config.py:303 +#, fuzzy +msgid "" +"Allow Gajim to send information about the operating system you are running." +msgstr "Se marcado, o Gajim juntar-se-á a este chat no arranque" + +#: gajim/common/config.py:304 +msgid "Allow Gajim to send your local time." +msgstr "Permitir que o Gajim envie a sua hora local." + +#: gajim/common/config.py:307 +#, fuzzy +msgid "Message that is sent to contacts you want to add." +msgstr "Por favor preencha os dados do contacto que deseja adicionar" + +#: gajim/common/config.py:308 +msgid "" +"If enabled, Gajim will send your local IP so your contact can connect to " +"your machine for file transfers." +msgstr "" + +#: gajim/common/config.py:309 +msgid "" +"List of XMPP Addresses (space separated) for which the chat window will be " +"re-opened on next startup." +msgstr "" + +#: gajim/common/config.py:311 +msgid "" +"Preferred file transfer mechanism for file drag&drop on a chat window. Can " +"be 'httpupload' (default) or 'jingle'." +msgstr "" + +#: gajim/common/config.py:312 +msgid "Allow certificate verification with POSH." +msgstr "" + +#: gajim/common/config.py:336 +msgid "" +"Chat state notifications that are sent to contacts. Possible values: 'all', " +"'composing_only', 'disabled'" +msgstr "" + +#: gajim/common/config.py:339 +#, fuzzy +msgid "The currently active encryption for that contact." +msgstr "Não é possível usar OpenPGP neste computador" + +#: gajim/common/config.py:343 +msgid "" +"If enabled, a notification is created for every message in this group chat." +msgstr "" + +#: gajim/common/config.py:344 +#, fuzzy +msgid "" +"Show a status message for all status changes (away, dnd, etc.) of users in a " +"group chat." +msgstr "Impossível entrar na sala" + +#: gajim/common/config.py:345 +#, fuzzy +msgid "Show a status message for every join or leave in a group chat." +msgstr "Impossível entrar na sala" + +#: gajim/common/config.py:346 +msgid "" +"If enabled, the group chat is minimized into the contact list when joining " +"automatically." +msgstr "" + +#: gajim/common/config.py:347 +msgid "" +"If enabled, the group chat is minimized into the contact list when closing " +"it." +msgstr "" + +#: gajim/common/config.py:348 +msgid "" +"Chat state notifications that are sent to the group chat. Possible values: " +"'all', 'composing_only' or 'disabled'." +msgstr "" + +#: gajim/common/config.py:351 +msgid "" +"If enabled, plugins will be activated on startup (this is saved when exiting " +"Gajim). This option SHOULD NOT be used to (de)activate plugins. Use the " +"plugin window instead." +msgstr "" + +#: gajim/common/config.py:358 +#, fuzzy +msgid "I'm eating." +msgstr "Estou a trabalhar" + +#: gajim/common/config.py:359 +msgid "I'm watching a movie." +msgstr "Estou a ver um filme." + +#: gajim/common/config.py:360 +msgid "I'm working." +msgstr "Estou a trabalhar" + +#: gajim/common/config.py:361 +msgid "Phone" +msgstr "Telefone" + +#: gajim/common/config.py:361 +msgid "I'm on the phone." +msgstr "Estou ao telefone." + +#: gajim/common/config.py:362 +#, fuzzy +msgid "I'm out enjoying life." +msgstr "Estou fora, fui apreciar a vida" + +#: gajim/common/config.py:373 +#, fuzzy +msgid "" +"Sound to play when a group chat message contains one of the words in " +"'muc_highlight_words' or your nickname is mentioned." +msgstr "" +"Som a tocar quando uma mensagem de chat conter uma das palavras da lista " +"muc_highlight_words, or quando uma mensagem conter a sua alcunha." + +#: gajim/common/config.py:374 +msgid "Sound to play when any group chat message arrives." +msgstr "" + +#: gajim/common/config.py:378 +#, fuzzy +msgid "Tor" +msgstr "Para" + +#: gajim/common/exceptions.py:45 +#, python-format +msgid "" +"The database file (%s) cannot be read. Try to repair it (see https://dev." +"gajim.org/gajim/gajim/wikis/help/DatabaseBackup) or remove it (all history " +"will be lost)." +msgstr "" + +#: gajim/common/exceptions.py:59 +msgid "Service not available: Gajim is not running, or remote_control is False" +msgstr "" +"Serviço/Recurso indisponível: Gajim não está a correr, ou remote_control é " +"False" + +#: gajim/common/exceptions.py:81 +#, fuzzy, python-format +msgid "" +"Session bus is not available.\n" +"Try reading %(url)s" +msgstr "Bus da sessão não está disponível." + +#: gajim/common/exceptions.py:93 +#, fuzzy, python-format +msgid "" +"System bus is not available.\n" +"Try reading %(url)s" +msgstr "Bus da sessão não está disponível." + +#: gajim/common/optparser.py:54 +#, python-format +msgid "Error: cannot open %s for reading" +msgstr "Erro: impossível abrir %s para leitura" + +#: gajim/common/configpaths.py:84 +#, fuzzy, python-format +msgid "%s is a file but it should be a directory" +msgstr "%s é um ficheiro, mas deveria ser um directório" + +#: gajim/common/configpaths.py:85 +msgid "Gajim will now exit" +msgstr "Gajim irá agora sair" + +#: gajim/common/connection_handlers_events.py:242 +#: gajim/common/connection_handlers_events.py:342 +#, fuzzy, python-format +msgid "New message from %(nickname)s" +msgid_plural "%(n_msgs)i unread messages from %(nickname)s" +msgstr[0] "Nova Mensagem como %s" +msgstr[1] "Nova Mensagem como %s" + +#: gajim/common/connection_handlers_events.py:412 +#, python-format +msgid "%(nick)s Changed Status" +msgstr "%(nick)s Mudou de Estado" + +#: gajim/common/const.py:287 +#, fuzzy +msgid "?Group chat name:Team" +msgstr "?Função do Contacto no Chat:Nenhuma" + +#: gajim/common/const.py:288 +msgid "?Group chat description:Project discussion" +msgstr "" + +#: gajim/common/const.py:289 +#, fuzzy +msgid "?Group chat address:team" +msgstr "Chat" + +#: gajim/common/const.py:290 +#, fuzzy +msgid "?Group chat name:Family" +msgstr "Chat" + +#: gajim/common/const.py:291 +msgid "?Group chat description:Spring gathering" +msgstr "" + +#: gajim/common/const.py:292 +msgid "?Group chat address:family" +msgstr "" + +#: gajim/common/const.py:293 +#, fuzzy +msgid "?Group chat name:Vacation" +msgstr "?Função do Contacto no Chat:Nenhuma" + +#: gajim/common/const.py:294 +msgid "?Group chat description:Trip planning" +msgstr "" + +#: gajim/common/const.py:295 +#, fuzzy +msgid "?Group chat address:vacation" +msgstr "?Função do Contacto no Chat:Nenhuma" + +#: gajim/common/const.py:296 +#, fuzzy +msgid "?Group chat name:Repairs" +msgstr "Chat" + +#: gajim/common/const.py:297 +msgid "?Group chat description:Local help group" +msgstr "" + +#: gajim/common/const.py:298 +#, fuzzy +msgid "?Group chat address:repairs" +msgstr "Chat" + +#: gajim/common/const.py:299 +#, fuzzy +msgid "?Group chat name:News" +msgstr "?Função do Contacto no Chat:Nenhuma" + +#: gajim/common/const.py:300 +#, fuzzy +msgid "?Group chat description:Local news and reports" +msgstr "Criação de salas encontra-se restrita." + +#: gajim/common/const.py:301 +#, fuzzy +msgid "?Group chat address:news" +msgstr "Chat" + +#: gajim/common/const.py:306 +#, fuzzy +msgid "Remote server not found" +msgstr "O serviço não pôde ser encontrado" + +#: gajim/common/const.py:307 +msgid "Remote server timeout" +msgstr "" + +#: gajim/common/const.py:308 gajim/common/const.py:309 +#: gajim/common/const.py:310 +#, fuzzy +msgid "Address does not belong to a group chat server" +msgstr "Perguntar antes de fechar uma janela/aba de chat." + +#: gajim/common/const.py:311 +#, fuzzy +msgid "Group chat already exists" +msgstr "Nome de conta em uso" + +#: gajim/common/const.py:312 +#, fuzzy +msgid "Group chat does not exist" +msgstr "Tal sala não existe." + +#: gajim/common/const.py:313 +#, fuzzy +msgid "Group chat is closed" +msgstr "Chat" + +#: gajim/common/const.py:319 +msgid "This message was encrypted with OTR and could not be decrypted." +msgstr "" + +#: gajim/common/const.py:322 +msgid "" +"This message was encrypted with Legacy OpenPGP and could not be decrypted. " +"You can install the PGP plugin to handle those messages." +msgstr "" + +#: gajim/common/const.py:326 +msgid "" +"This message was encrypted with OpenPGP for XMPP and could not be decrypted. " +"You can install the OpenPGP plugin to handle those messages." +msgstr "" + +#: gajim/common/const.py:330 +#, python-format +msgid "This message was encrypted with %s and could not be decrypted." +msgstr "" + +#: gajim/common/const.py:337 +#, fuzzy +msgid "Doing Chores" +msgstr "Frase de acesso" + +#: gajim/common/const.py:338 +msgid "Buying Groceries" +msgstr "" + +#: gajim/common/const.py:339 +#, fuzzy +msgid "Cleaning" +msgstr "Evento" + +#: gajim/common/const.py:340 +#, fuzzy +msgid "Cooking" +msgstr "A trabalhar" + +#: gajim/common/const.py:341 +msgid "Doing Maintenance" +msgstr "" + +#: gajim/common/const.py:342 +msgid "Doing the Dishes" +msgstr "" + +#: gajim/common/const.py:343 +msgid "Doing the Laundry" +msgstr "" + +#: gajim/common/const.py:344 +#, fuzzy +msgid "Gardening" +msgstr "A trabalhar" + +#: gajim/common/const.py:345 +msgid "Running an Errand" +msgstr "" + +#: gajim/common/const.py:346 +#, fuzzy +msgid "Walking the Dog" +msgstr "Neste grupo" + +#: gajim/common/const.py:348 +#, fuzzy +msgid "Drinking" +msgstr "A trabalhar" + +#: gajim/common/const.py:349 +msgid "Having a Beer" +msgstr "" + +#: gajim/common/const.py:350 +msgid "Having Coffee" +msgstr "" + +#: gajim/common/const.py:351 +msgid "Having Tea" +msgstr "" + +#: gajim/common/const.py:354 +msgid "Having a Snack" +msgstr "" + +#: gajim/common/const.py:355 +msgid "Having Breakfast" +msgstr "" + +#: gajim/common/const.py:356 +msgid "Having Dinner" +msgstr "" + +#: gajim/common/const.py:357 +msgid "Having Lunch" +msgstr "" + +#: gajim/common/const.py:359 +msgid "Exercising" +msgstr "" + +#: gajim/common/const.py:360 gajim/common/const.py:411 +msgid "Cycling" +msgstr "" + +#: gajim/common/const.py:361 +#, fuzzy +msgid "Dancing" +msgstr "Evento" + +#: gajim/common/const.py:362 +#, fuzzy +msgid "Hiking" +msgstr "Expulsando %s" + +#: gajim/common/const.py:363 +#, fuzzy +msgid "Jogging" +msgstr "_Entrar" + +#: gajim/common/const.py:364 +msgid "Playing Sports" +msgstr "" + +#: gajim/common/const.py:365 +msgid "Running" +msgstr "" + +#: gajim/common/const.py:366 +#, fuzzy +msgid "Skiing" +msgstr "A trabalhar" + +#: gajim/common/const.py:367 +msgid "Swimming" +msgstr "" + +#: gajim/common/const.py:368 +#, fuzzy +msgid "Working out" +msgstr "A trabalhar" + +#: gajim/common/const.py:370 +msgid "Grooming" +msgstr "" + +#: gajim/common/const.py:371 +msgid "At the Spa" +msgstr "" + +#: gajim/common/const.py:372 +msgid "Brushing Teeth" +msgstr "" + +#: gajim/common/const.py:373 +msgid "Getting a Haircut" +msgstr "" + +#: gajim/common/const.py:374 +#, fuzzy +msgid "Shaving" +msgstr "A comer" + +#: gajim/common/const.py:375 +msgid "Taking a Bath" +msgstr "" + +#: gajim/common/const.py:376 +msgid "Taking a Shower" +msgstr "" + +#: gajim/common/const.py:378 +msgid "Having an Appointment" +msgstr "" + +#: gajim/common/const.py:380 +#, fuzzy +msgid "Inactive" +msgstr "Activo" + +#: gajim/common/const.py:381 +msgid "Day Off" +msgstr "" + +#: gajim/common/const.py:382 +#, fuzzy +msgid "Hanging out" +msgstr "Mudar Assunto" + +#: gajim/common/const.py:383 +#, fuzzy +msgid "Hiding" +msgstr "Expulsando %s" + +#: gajim/common/const.py:384 +msgid "On Vacation" +msgstr "" + +#: gajim/common/const.py:385 +#, fuzzy +msgid "Praying" +msgstr "A comer" + +#: gajim/common/const.py:386 +msgid "Scheduled Holiday" +msgstr "" + +#: gajim/common/const.py:388 +#, fuzzy +msgid "Thinking" +msgstr "A trabalhar" + +#: gajim/common/const.py:390 +#, fuzzy +msgid "Relaxing" +msgstr "simples" + +#: gajim/common/const.py:391 +#, fuzzy +msgid "Fishing" +msgstr "Expulsando %s" + +#: gajim/common/const.py:392 +#, fuzzy +msgid "Gaming" +msgstr "A comer" + +#: gajim/common/const.py:393 +#, fuzzy +msgid "Going out" +msgstr "_Desligar" + +#: gajim/common/const.py:394 +#, fuzzy +msgid "Partying" +msgstr "A comer" + +#: gajim/common/const.py:395 +#, fuzzy +msgid "Reading" +msgstr "A comer" + +#: gajim/common/const.py:396 +msgid "Rehearsing" +msgstr "" + +#: gajim/common/const.py:397 +#, fuzzy +msgid "Shopping" +msgstr "A dormir" + +#: gajim/common/const.py:398 +#, fuzzy +msgid "Smoking" +msgstr "A trabalhar" + +#: gajim/common/const.py:399 +msgid "Socializing" +msgstr "" + +#: gajim/common/const.py:400 +#, fuzzy +msgid "Sunbathing" +msgstr "A comer" + +#: gajim/common/const.py:401 +msgid "Watching TV" +msgstr "" + +#: gajim/common/const.py:402 +#, fuzzy +msgid "Watching a Movie" +msgstr "Estou a ver um filme." + +#: gajim/common/const.py:404 +#, fuzzy +msgid "Talking" +msgstr "A comer" + +#: gajim/common/const.py:405 +msgid "In Real Life" +msgstr "" + +#: gajim/common/const.py:406 +#, fuzzy +msgid "On the Phone" +msgstr "Estou ao telefone." + +#: gajim/common/const.py:407 +msgid "On Video Phone" +msgstr "" + +#: gajim/common/const.py:409 +#, fuzzy +msgid "Traveling" +msgstr "A transferir" + +#: gajim/common/const.py:410 +#, fuzzy +msgid "Commuting" +msgstr "Ligando" + +#: gajim/common/const.py:412 +msgid "Driving" +msgstr "" + +#: gajim/common/const.py:413 +msgid "In a Car" +msgstr "" + +#: gajim/common/const.py:414 +msgid "On a Bus" +msgstr "" + +#: gajim/common/const.py:415 +msgid "On a Plane" +msgstr "" + +#: gajim/common/const.py:416 +msgid "On a Train" +msgstr "" + +#: gajim/common/const.py:417 +msgid "On a Trip" +msgstr "" + +#: gajim/common/const.py:418 +#, fuzzy +msgid "Walking" +msgstr "A trabalhar" + +#: gajim/common/const.py:421 +#, fuzzy +msgid "Coding" +msgstr "Ligação" + +#: gajim/common/const.py:422 +msgid "In a Meeting" +msgstr "" + +#: gajim/common/const.py:423 +msgid "Studying" +msgstr "" + +#: gajim/common/const.py:424 +#, fuzzy +msgid "Writing" +msgstr "A trabalhar" + +#: gajim/common/const.py:427 +msgid "Afraid" +msgstr "" + +#: gajim/common/const.py:428 +msgid "Amazed" +msgstr "" + +#: gajim/common/const.py:429 +msgid "Amorous" +msgstr "" + +#: gajim/common/const.py:430 +msgid "Angry" +msgstr "" + +#: gajim/common/const.py:431 +msgid "Annoyed" +msgstr "" + +#: gajim/common/const.py:432 +msgid "Anxious" +msgstr "" + +#: gajim/common/const.py:433 +#, fuzzy +msgid "Aroused" +msgstr "Pausada" + +#: gajim/common/const.py:434 +msgid "Ashamed" +msgstr "" + +#: gajim/common/const.py:435 +#, fuzzy +msgid "Bored" +msgstr "Negrito" + +#: gajim/common/const.py:436 +msgid "Brave" +msgstr "" + +#: gajim/common/const.py:437 +msgid "Calm" +msgstr "" + +#: gajim/common/const.py:438 +#, fuzzy +msgid "Cautious" +msgstr "Conversa" + +#: gajim/common/const.py:439 +#, fuzzy +msgid "Cold" +msgstr "Negrito" + +#: gajim/common/const.py:440 +#, fuzzy +msgid "Confident" +msgstr "_Conteúdo" + +#: gajim/common/const.py:441 +msgid "Confused" +msgstr "" + +#: gajim/common/const.py:442 +#, fuzzy +msgid "Contemplative" +msgstr "Completa" + +#: gajim/common/const.py:443 +#, fuzzy +msgid "Contented" +msgstr "_Conteúdo" + +#: gajim/common/const.py:444 +msgid "Cranky" +msgstr "" + +#: gajim/common/const.py:445 +msgid "Crazy" +msgstr "" + +#: gajim/common/const.py:446 +#, fuzzy +msgid "Creative" +msgstr "Activo" + +#: gajim/common/const.py:447 +#, fuzzy +msgid "Curious" +msgstr "_Anterior" + +#: gajim/common/const.py:448 +#, fuzzy +msgid "Dejected" +msgstr "Apagar MOTD" + +#: gajim/common/const.py:449 +msgid "Depressed" +msgstr "" + +#: gajim/common/const.py:450 +msgid "Disappointed" +msgstr "" + +#: gajim/common/const.py:451 +msgid "Disgusted" +msgstr "" + +#: gajim/common/const.py:452 +msgid "Dismayed" +msgstr "" + +#: gajim/common/const.py:453 +msgid "Distracted" +msgstr "" + +#: gajim/common/const.py:454 +msgid "Embarrassed" +msgstr "" + +#: gajim/common/const.py:455 +#, fuzzy +msgid "Envious" +msgstr "_Anterior" + +#: gajim/common/const.py:456 +msgid "Excited" +msgstr "" + +#: gajim/common/const.py:457 +msgid "Flirtatious" +msgstr "" + +#: gajim/common/const.py:458 +msgid "Frustrated" +msgstr "" + +#: gajim/common/const.py:459 +msgid "Grateful" +msgstr "" + +#: gajim/common/const.py:460 +msgid "Grieving" +msgstr "" + +#: gajim/common/const.py:461 +#, fuzzy +msgid "Grumpy" +msgstr "Grupo" + +#: gajim/common/const.py:462 +msgid "Guilty" +msgstr "" + +#: gajim/common/const.py:463 +msgid "Happy" +msgstr "" + +#: gajim/common/const.py:464 +msgid "Hopeful" +msgstr "" + +#: gajim/common/const.py:465 +#, fuzzy +msgid "Hot" +msgstr "_Host:" + +#: gajim/common/const.py:466 +msgid "Humbled" +msgstr "" + +#: gajim/common/const.py:467 +msgid "Humiliated" +msgstr "" + +#: gajim/common/const.py:468 +msgid "Hungry" +msgstr "" + +#: gajim/common/const.py:469 +msgid "Hurt" +msgstr "" + +#: gajim/common/const.py:470 +#, fuzzy +msgid "Impressed" +msgstr "mensagem" + +#: gajim/common/const.py:471 +msgid "In Awe" +msgstr "" + +#: gajim/common/const.py:472 +msgid "In Love" +msgstr "" + +#: gajim/common/const.py:473 +msgid "Indignant" +msgstr "" + +#: gajim/common/const.py:474 +msgid "Interested" +msgstr "" + +#: gajim/common/const.py:475 +msgid "Intoxicated" +msgstr "" + +#: gajim/common/const.py:476 +#, fuzzy +msgid "Invincible" +msgstr "Invisível" + +#: gajim/common/const.py:477 +msgid "Jealous" +msgstr "" + +#: gajim/common/const.py:478 +#, fuzzy +msgid "Lonely" +msgstr "Nenhum" + +#: gajim/common/const.py:479 +#, fuzzy +msgid "Lost" +msgstr "_Host:" + +#: gajim/common/const.py:480 +msgid "Lucky" +msgstr "" + +#: gajim/common/const.py:481 +#, fuzzy +msgid "Mean" +msgstr "Geral" + +#: gajim/common/const.py:482 +#, fuzzy +msgid "Moody" +msgstr "_Modificar" + +#: gajim/common/const.py:483 +#, fuzzy +msgid "Nervous" +msgstr "_Anterior" + +#: gajim/common/const.py:484 +msgid "Neutral" +msgstr "" + +#: gajim/common/const.py:485 +#, fuzzy +msgid "Offended" +msgstr "Offline" + +#: gajim/common/const.py:486 +msgid "Outraged" +msgstr "" + +#: gajim/common/const.py:487 +msgid "Playful" +msgstr "" + +#: gajim/common/const.py:488 +#, fuzzy +msgid "Proud" +msgstr "Grupo" + +#: gajim/common/const.py:489 +msgid "Relaxed" +msgstr "" + +#: gajim/common/const.py:490 +#, fuzzy +msgid "Relieved" +msgstr "Apagar MOTD" + +#: gajim/common/const.py:491 +msgid "Remorseful" +msgstr "" + +#: gajim/common/const.py:492 +msgid "Restless" +msgstr "" + +#: gajim/common/const.py:493 +#, fuzzy +msgid "Sad" +msgstr "Interrompida" + +#: gajim/common/const.py:494 +msgid "Sarcastic" +msgstr "" + +#: gajim/common/const.py:495 +#, fuzzy +msgid "Satisfied" +msgstr "Nome:" + +#: gajim/common/const.py:496 +#, fuzzy +msgid "Serious" +msgstr "_Anterior" + +#: gajim/common/const.py:497 +msgid "Shocked" +msgstr "" + +#: gajim/common/const.py:498 +msgid "Shy" +msgstr "" + +#: gajim/common/const.py:499 +#, fuzzy +msgid "Sick" +msgstr "_Expulsar" + +#: gajim/common/const.py:500 +#, fuzzy +msgid "Sleepy" +msgstr "A dormir" + +#: gajim/common/const.py:501 +msgid "Spontaneous" +msgstr "" + +#: gajim/common/const.py:502 +#, fuzzy +msgid "Stressed" +msgstr "Rua:" + +#: gajim/common/const.py:503 +msgid "Strong" +msgstr "" + +#: gajim/common/const.py:504 +#, fuzzy +msgid "Surprised" +msgstr "Subscrição" + +#: gajim/common/const.py:505 +msgid "Thankful" +msgstr "" + +#: gajim/common/const.py:506 +msgid "Thirsty" +msgstr "" + +#: gajim/common/const.py:507 +#, fuzzy +msgid "Tired" +msgstr "Tempo" + +#: gajim/common/const.py:508 +#, fuzzy +msgid "Undefined" +msgstr "Sublinhar" + +#: gajim/common/const.py:509 +msgid "Weak" +msgstr "" + +#: gajim/common/const.py:510 +msgid "Worried" +msgstr "" + +#: gajim/common/const.py:514 +msgid "accuracy" +msgstr "" + +#: gajim/common/const.py:515 +#, fuzzy +msgid "alt" +msgstr "Apagar MOTD" + +#: gajim/common/const.py:516 +msgid "area" +msgstr "" + +#: gajim/common/const.py:517 +#, fuzzy +msgid "bearing" +msgstr "marine" + +#: gajim/common/const.py:518 +#, fuzzy +msgid "building" +msgstr "Expulsando %s" + +#: gajim/common/const.py:519 +#, fuzzy +msgid "country" +msgstr "País:" + +#: gajim/common/const.py:520 +#, fuzzy +msgid "countrycode" +msgstr "Conta" + +#: gajim/common/const.py:521 +msgid "datum" +msgstr "" + +#: gajim/common/const.py:522 +#, fuzzy +msgid "description" +msgstr "Descrição" + +#: gajim/common/const.py:523 +#, fuzzy +msgid "error" +msgstr "Erro:" + +#: gajim/common/const.py:524 +msgid "floor" +msgstr "" + +#: gajim/common/const.py:525 +msgid "lat" +msgstr "" + +#: gajim/common/const.py:526 +msgid "locality" +msgstr "" + +#: gajim/common/const.py:527 +#, fuzzy +msgid "lon" +msgstr "Nenhum" + +#: gajim/common/const.py:528 +msgid "postalcode" +msgstr "" + +#: gajim/common/const.py:529 +msgid "region" +msgstr "" + +#: gajim/common/const.py:530 +#, fuzzy +msgid "room" +msgstr "De" + +#: gajim/common/const.py:531 +msgid "speed" +msgstr "" + +#: gajim/common/const.py:532 +msgid "street" +msgstr "" + +#: gajim/common/const.py:533 +msgid "text" +msgstr "" + +#: gajim/common/const.py:534 +msgid "timestamp" +msgstr "" + +#: gajim/common/const.py:535 +msgid "URI" +msgstr "" + +#: gajim/common/const.py:540 +msgid "Unable to get issuer certificate" +msgstr "" + +#: gajim/common/const.py:541 +msgid "Unable to get certificate CRL" +msgstr "" + +#: gajim/common/const.py:542 +msgid "Unable to decrypt certificate's signature" +msgstr "" + +#: gajim/common/const.py:543 +msgid "Unable to decrypt CRL's signature" +msgstr "" + +#: gajim/common/const.py:544 +#, fuzzy +msgid "Unable to decode issuer public key" +msgstr "Impossível entrar na sala" + +#: gajim/common/const.py:545 +msgid "Certificate signature failure" +msgstr "" + +#: gajim/common/const.py:546 +msgid "CRL signature failure" +msgstr "" + +#: gajim/common/const.py:547 +msgid "Certificate is not yet valid" +msgstr "" + +#: gajim/common/const.py:548 +msgid "Certificate has expired" +msgstr "" + +#: gajim/common/const.py:549 +msgid "CRL is not yet valid" +msgstr "" + +#: gajim/common/const.py:550 +msgid "CRL has expired" +msgstr "" + +#: gajim/common/const.py:551 +msgid "Format error in certificate's notBefore field" +msgstr "" + +#: gajim/common/const.py:552 +msgid "Format error in certificate's notAfter field" +msgstr "" + +#: gajim/common/const.py:553 +msgid "Format error in CRL's lastUpdate field" +msgstr "" + +#: gajim/common/const.py:554 +msgid "Format error in CRL's nextUpdate field" +msgstr "" + +#: gajim/common/const.py:555 +msgid "Out of memory" +msgstr "" + +#: gajim/common/const.py:556 +msgid "Self signed certificate" +msgstr "" + +#: gajim/common/const.py:557 +msgid "Self signed certificate in certificate chain" +msgstr "" + +#: gajim/common/const.py:558 +msgid "Unable to get local issuer certificate" +msgstr "" + +#: gajim/common/const.py:559 +msgid "Unable to verify the first certificate" +msgstr "" + +#: gajim/common/const.py:560 +msgid "Certificate chain too long" +msgstr "" + +#: gajim/common/const.py:561 +msgid "Certificate revoked" +msgstr "" + +#: gajim/common/const.py:562 +#, fuzzy +msgid "Invalid CA certificate" +msgstr "Nome de utilizador inválido" + +#: gajim/common/const.py:563 +msgid "Path length constraint exceeded" +msgstr "" + +#: gajim/common/const.py:564 +msgid "Unsupported certificate purpose" +msgstr "" + +#: gajim/common/const.py:565 +msgid "Certificate not trusted" +msgstr "" + +#: gajim/common/const.py:566 +msgid "Certificate rejected" +msgstr "" + +#: gajim/common/const.py:567 +msgid "Subject issuer mismatch" +msgstr "" + +#: gajim/common/const.py:568 +msgid "Authority and subject key identifier mismatch" +msgstr "" + +#: gajim/common/const.py:569 +msgid "Authority and issuer serial number mismatch" +msgstr "" + +#: gajim/common/const.py:570 +msgid "Key usage does not include certificate signing" +msgstr "" + +#: gajim/common/const.py:571 +msgid "Application verification failure" +msgstr "" + +#: gajim/common/const.py:893 +msgid "The signing certificate authority is not known" +msgstr "" + +#: gajim/common/const.py:894 +#, fuzzy +msgid "The certificate has been revoked" +msgstr "[Esta mensagem é encriptada]" + +#: gajim/common/const.py:895 +msgid "The certificate does not match the expected identity of the site" +msgstr "" + +#: gajim/common/const.py:896 +msgid "The certificate’s algorithm is insecure" +msgstr "" + +#: gajim/common/const.py:897 +msgid "The certificate’s activation time is in the future" +msgstr "" + +#: gajim/common/const.py:898 +#, fuzzy +msgid "Unknown validation error" +msgstr "Versão D-Bus desconhecida: %s" + +#: gajim/common/const.py:899 +#, fuzzy +msgid "The certificate has expired" +msgstr "Frase de acesso Necessária" + +#: gajim/common/const.py:954 +#, fuzzy +msgid "Authentication aborted" +msgstr "Autorização aceite" + +#: gajim/common/const.py:955 +#, fuzzy +msgid "Account disabled" +msgstr "Encriptação desactivada" + +#: gajim/common/const.py:956 +#, fuzzy +msgid "Credentials expired" +msgstr "Frase de acesso Necessária" + +#: gajim/common/const.py:957 +#, fuzzy +msgid "Encryption required" +msgstr "Encriptação activada" + +#: gajim/common/const.py:961 +#, fuzzy +msgid "Authentication mechanism not supported" +msgstr "Falha na autenticação com \"%s\"" + +#: gajim/common/const.py:962 +#, fuzzy +msgid "Authentication mechanism too weak" +msgstr "Falha na autenticação com \"%s\"" + +#: gajim/common/const.py:964 +msgid "Authentication currently not possible" +msgstr "" + +#: gajim/common/const.py:1109 +msgid "No Sync" +msgstr "" + +#: gajim/common/const.py:1111 +msgid "2 Days" +msgstr "" + +#: gajim/common/const.py:1114 +msgid "No Threshold" +msgstr "" + +#: gajim/common/logging_helpers.py:31 +#, python-format +msgid "%s is not a valid loglevel" +msgstr "" + +#: gajim/common/zeroconf/zeroconf_avahi.py:256 +#: gajim/common/zeroconf/zeroconf_bonjour.py:248 +#: gajim/common/zeroconf/zeroconf_bonjour.py:265 +#: gajim/common/zeroconf/zeroconf_bonjour.py:323 +#, fuzzy, python-format +msgid "Error while adding service. %s" +msgstr "erro ao enviar" + +#: gajim/common/zeroconf/connection_zeroconf.py:252 +#, python-format +msgid "Could not connect to \"%s\"" +msgstr "Impossível ligar a \"%s\"" + +#: gajim/common/zeroconf/connection_zeroconf.py:253 +msgid "Please check if Avahi or Bonjour is installed." +msgstr "" + +#: gajim/common/zeroconf/connection_zeroconf.py:263 +#: gajim/common/zeroconf/connection_zeroconf.py:267 +msgid "Could not start local service" +msgstr "" + +#: gajim/common/zeroconf/connection_zeroconf.py:264 +#, fuzzy, python-format +msgid "Unable to bind to port %d." +msgstr "Impossível entrar na sala" + +#: gajim/common/zeroconf/connection_zeroconf.py:268 +msgid "Please check if avahi/bonjour-daemon is running." +msgstr "" + +#: gajim/common/zeroconf/connection_zeroconf.py:362 +#: gajim/common/zeroconf/connection_zeroconf.py:375 +#, fuzzy, python-format +msgid "Could not change status of account \"%s\"" +msgstr "Impossível ligar a \"%s\"" + +#: gajim/common/zeroconf/connection_zeroconf.py:363 +#: gajim/common/zeroconf/connection_zeroconf.py:376 +msgid "Please check if avahi-daemon is running." +msgstr "" + +#: gajim/common/zeroconf/connection_zeroconf.py:404 +#, fuzzy +msgid "Your message could not be sent." +msgstr "A sua mensagem não pode ser enviada enquanto não estiver ligado." + +#: gajim/common/zeroconf/connection_zeroconf.py:419 +msgid "Contact is offline. Your message could not be sent." +msgstr "" + +#: gajim/common/zeroconf/connection_zeroconf.py:441 +msgid "" +"Connection to host could not be established: Timeout while sending data." +msgstr "" + +#: gajim/common/dbus/logind.py:73 +msgid "Machine is going to sleep" +msgstr "" + +#: gajim/common/dbus/logind.py:103 +msgid "Disconnect from the network" +msgstr "" + +#: gajim/common/modules/adhoc_commands.py:88 +#, fuzzy +msgid "Change status information" +msgstr "Informações do Contacto" + +#: gajim/common/modules/adhoc_commands.py:112 +#, fuzzy +msgid "Change status" +msgstr "Contacto Saiu" + +#: gajim/common/modules/adhoc_commands.py:113 +msgid "Set the presence type and description" +msgstr "" + +#: gajim/common/modules/adhoc_commands.py:120 +#, fuzzy +msgid "Free for chat" +msgstr "Livre para conversar" + +#: gajim/common/modules/adhoc_commands.py:121 +#, fuzzy +msgid "Online" +msgstr "_Continuar" + +#: gajim/common/modules/adhoc_commands.py:123 +msgid "Extended away" +msgstr "" + +#: gajim/common/modules/adhoc_commands.py:124 +msgid "Do not disturb" +msgstr "" + +#: gajim/common/modules/adhoc_commands.py:125 +msgid "Offline - disconnect" +msgstr "" + +#: gajim/common/modules/adhoc_commands.py:131 +#, fuzzy +msgid "Presence description:" +msgstr "Descrição" + +#: gajim/common/modules/adhoc_commands.py:170 +msgid "The status has been changed." +msgstr "" + +#: gajim/common/modules/presence.py:265 +msgid "I would like to add you to my roster." +msgstr "Eu gostaria de o adicionar à minha lista" + +#: gajim/common/modules/roster_item_exchange.py:103 +#, python-format +msgid "Sent contact: \"%(jid)s\" (%(name)s)" +msgstr "" + +#: gajim/common/modules/roster_item_exchange.py:107 +#, fuzzy +msgid "Sent contacts:" +msgstr "Contacto:" + +#: gajim/common/modules/httpupload.py:99 +#, fuzzy +msgid "File is empty" +msgstr "Localização do ficheiro" + +#: gajim/common/modules/httpupload.py:102 +#, fuzzy +msgid "File does not exist" +msgstr "Tal sala não existe." + +#: gajim/common/modules/httpupload.py:109 +#: gajim/common/modules/httpupload.py:172 +#, python-format +msgid "File is too large, maximum allowed file size is: %s" +msgstr "" + +#: gajim/common/modules/httpupload.py:279 +#, fuzzy +msgid "Encrypting file…" +msgstr "Encriptação desactivada" + +#: gajim/common/modules/httpupload.py:280 +msgid "Requesting HTTP File Upload Slot…" +msgstr "" + +#: gajim/common/modules/httpupload.py:281 +msgid "Uploading via HTTP File Upload…" +msgstr "" + +#: gajim/common/modules/httpupload.py:285 +msgid "The server returned an insecure transport (HTTP)." +msgstr "" + +#: gajim/common/modules/httpupload.py:286 +msgid "There is no encryption method available for the chosen encryption." +msgstr "" + +#: gajim/plugins/pluginmanager.py:679 gajim/plugins/pluginmanager.py:685 +msgid "Archive corrupted" +msgstr "" + +#: gajim/plugins/pluginmanager.py:681 +#, fuzzy +msgid "Archive empty" +msgstr "Localização do ficheiro" + +#: gajim/plugins/pluginmanager.py:693 gajim/plugins/pluginmanager.py:701 +#: gajim/plugins/gui.py:273 +msgid "Archive is malformed" +msgstr "" + +#: gajim/plugins/pluginmanager.py:710 gajim/plugins/gui.py:288 +#: gajim/plugins/gui.py:301 +#, fuzzy +msgid "Plugin already exists" +msgstr "Este ficheiro já existe" + +#: gajim/plugins/pluginmanager.py:720 +#, fuzzy +msgid "Installation failed" +msgstr "Publicação vCard falhou" + +#: gajim/plugins/gui.py:67 gajim/data/gui/shortcuts_window.ui:38 +msgid "Plugins" +msgstr "" + +#: gajim/plugins/gui.py:75 +msgid "Click to view Gajim's wiki page on how to install plugins in Flatpak." +msgstr "" + +#: gajim/plugins/gui.py:84 +msgid "Plugin" +msgstr "" + +#: gajim/plugins/gui.py:95 gajim/data/gui/manage_sounds.ui:40 +msgid "Active" +msgstr "Activo" + +#: gajim/plugins/gui.py:159 +#, fuzzy, python-format +msgid "Warning: %s" +msgstr "Banindo %s" + +#: gajim/plugins/gui.py:216 +#, fuzzy +msgid "Plugin failed" +msgstr "Publicação vCard falhou" + +#: gajim/plugins/gui.py:249 +msgid "Unable to properly remove the plugin" +msgstr "" + +#: gajim/plugins/gui.py:287 +#, fuzzy +msgid "Overwrite Plugin?" +msgstr "Mensagem de Estado" + +#: gajim/plugins/gui.py:289 +#, fuzzy +msgid "Do you want to overwrite the currently installed version?" +msgstr "Quero _registar uma nova conta" + +#: gajim/plugins/gui.py:317 gajim/data/gui/groupchat_config.ui:258 +#, fuzzy +msgid "Configuration" +msgstr "Configuração da Sala" + +#: gajim/data/gui/groupchat_nick_chooser.ui:47 +#, fuzzy +msgid "Join Group Chat as…" +msgstr "Entrar num Chat" + +#: gajim/data/gui/groupchat_nick_chooser.ui:66 +#, fuzzy +msgid "Your Nickname" +msgstr "Antes da alcunha:" + +#: gajim/data/gui/groupchat_control.ui:36 +#, fuzzy +msgid "Drop Files or Contacts" +msgstr "Contacto:" + +#: gajim/data/gui/groupchat_control.ui:58 gajim/data/gui/chat_control.ui:322 +msgid "Bold" +msgstr "Negrito" + +#: gajim/data/gui/groupchat_control.ui:67 gajim/data/gui/chat_control.ui:331 +msgid "Italic" +msgstr "Itálico" + +#: gajim/data/gui/groupchat_control.ui:76 gajim/data/gui/chat_control.ui:340 +#, fuzzy +msgid "Underline" +msgstr "Sublinhar" + +#: gajim/data/gui/groupchat_control.ui:85 gajim/data/gui/chat_control.ui:349 +#, fuzzy +msgid "Strike" +msgstr "Serviço" + +#: gajim/data/gui/groupchat_control.ui:107 gajim/data/gui/chat_control.ui:371 +#, fuzzy +msgid "Font" +msgstr "Letra:" + +#: gajim/data/gui/groupchat_control.ui:121 gajim/data/gui/chat_control.ui:385 +#, fuzzy +msgid "Clear formatting" +msgstr "Informações do Contacto" + +#: gajim/data/gui/groupchat_control.ui:383 gajim/data/gui/chat_control.ui:784 +#, fuzzy +msgid "Choose encryption" +msgstr "Escolher Ficheiro para Enviar" + +#: gajim/data/gui/groupchat_control.ui:429 gajim/data/gui/chat_control.ui:667 +#, fuzzy +msgid "Show a list of emojis (Alt+M)" +msgstr "Clique para inserir um emoticon (Alt+E)" + +#: gajim/data/gui/groupchat_control.ui:454 gajim/data/gui/chat_control.ui:833 +#, fuzzy +msgid "Send Message" +msgstr "Enviar mensagem" + +#: gajim/data/gui/groupchat_control.ui:583 +#, fuzzy +msgid "Joining…" +msgstr "Banindo..." + +#: gajim/data/gui/groupchat_control.ui:641 +#, fuzzy +msgid "Enter Nickname" +msgstr "Muda Alcu_nha" + +#: gajim/data/gui/groupchat_control.ui:691 +#: gajim/data/gui/groupchat_control.ui:783 +#, fuzzy +msgid "Ch_ange" +msgstr "Muda Alcu_nha" + +#: gajim/data/gui/groupchat_control.ui:748 +#: gajim/data/gui/shortcuts_window.ui:319 +#, fuzzy +msgid "Change Subject" +msgstr "Muda A_ssunto" + +#: gajim/data/gui/groupchat_control.ui:864 +#, fuzzy +msgid "Enter Password" +msgstr "Introduza a nova senha:" + +#: gajim/data/gui/groupchat_control.ui:1081 +#, fuzzy +msgid "_Forget Group Chat" +msgstr "Chat" + +#: gajim/data/gui/groupchat_control.ui:1085 +#, fuzzy +msgid "Gajim will not try to join this group chat again" +msgstr "Se marcado, o Gajim juntar-se-á a este chat no arranque" + +#: gajim/data/gui/groupchat_control.ui:1102 +msgid "T_ry Again" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1156 +#, fuzzy +msgid "An Error Occurred" +msgstr "Ocorreu um erro:" + +#: gajim/data/gui/groupchat_control.ui:1221 +msgid "_Try Again" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1398 +#, fuzzy +msgid "Kick Participant" +msgstr "Participante" + +#: gajim/data/gui/groupchat_control.ui:1436 +msgid "_Kick" +msgstr "_Expulsar" + +#: gajim/data/gui/groupchat_control.ui:1469 +#: gajim/data/gui/groupchat_control.ui:1595 +#: gajim/data/gui/groupchat_control.ui:1721 +#: gajim/data/gui/groupchat_control.ui:1738 +#: gajim/data/gui/groupchat_control.ui:1827 +#: gajim/data/gui/groupchat_control.ui:1828 +#, fuzzy +msgid "Insert Emoji" +msgstr "Gerir Emoticons" + +#: gajim/data/gui/groupchat_control.ui:1482 +#: gajim/data/gui/groupchat_control.ui:1608 +msgid "Reason (optional)" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1524 +#, fuzzy +msgid "Ban Participant" +msgstr "Participante" + +#: gajim/data/gui/groupchat_control.ui:1562 +msgid "_Ban" +msgstr "_Banir" + +#: gajim/data/gui/groupchat_control.ui:1650 +#, fuzzy +msgid "Destroy This Chat" +msgstr "Chat" + +#: gajim/data/gui/groupchat_control.ui:1688 +#, fuzzy +msgid "_Destroy" +msgstr "Descrição: %s" + +#: gajim/data/gui/groupchat_control.ui:1722 +msgid "Alternate venue (optional)..." +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1739 +msgid "Reason (optional)..." +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1752 +msgid "Reason for destruction" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1767 +msgid "Where participants should go" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1808 +#, fuzzy +msgid "Rename This Chat" +msgstr "Chat" + +#: gajim/data/gui/groupchat_control.ui:1935 +#, fuzzy +msgid "_Invite" +msgstr "Invisível" + +#: gajim/data/gui/groupchat_control.ui:2020 +msgid "Settings for This Chat" +msgstr "" + +#: gajim/data/gui/filetransfers.ui:21 +msgid "Pa_use/Resume" +msgstr "" + +#: gajim/data/gui/filetransfers.ui:45 +#, fuzzy +msgid "_Open Folder" +msgstr "_Abrir Pasta" + +#: gajim/data/gui/filetransfers.ui:56 gajim/data/gui/filetransfers.ui:206 +msgid "File Transfers" +msgstr "Transferências de Ficheiros" + +#: gajim/data/gui/filetransfers.ui:91 +#, fuzzy +msgid "_Show notification when file transfer is complete" +msgstr "_Notificar-me quando uma transferência de ficheiro estiver completa" + +#: gajim/data/gui/filetransfers.ui:131 +msgid "file transfers list" +msgstr "lista de transferências de ficheiros" + +#: gajim/data/gui/filetransfers.ui:132 +msgid "A list of active, completed and stopped file transfers" +msgstr "Uma lista de transferências de ficheiros activas, completas e paradas" + +#: gajim/data/gui/filetransfers.ui:154 +#, fuzzy +msgid "Remove completed, cancelled and failed file transfers from the list" +msgstr "" +"Remove transferências de ficheiros completas, canceladas e falhadas da lista" + +#: gajim/data/gui/filetransfers.ui:167 +#, fuzzy +msgid "Pause or resume file transfer" +msgstr "Cancelar transferência de ficheiro" + +#: gajim/data/gui/filetransfers.ui:180 +#, fuzzy +msgid "Cancel the selected file transfer and remove incomplete files" +msgstr "" +"Cancela a transferência de ficheiro seleccionada e remove o ficheiro " +"incompleto" + +#: gajim/data/gui/filetransfers.ui:207 +#, fuzzy +msgid "Shows a list of file transfers between you and your contacts" +msgstr "" +"Mostra uma lista de transferências de ficheiros entre si e outras pessoas" + +#: gajim/data/gui/add_new_contact_window.ui:76 +#, fuzzy +msgid "_XMPP Address" +msgstr "_Endereço:" + +#: gajim/data/gui/add_new_contact_window.ui:92 +#, fuzzy +msgid "_Nickname" +msgstr "_Alcunha:" + +#: gajim/data/gui/add_new_contact_window.ui:109 +#, fuzzy +msgid "_Group" +msgstr "Grupo:" + +#: gajim/data/gui/add_new_contact_window.ui:157 +msgid "Choose or type new group name" +msgstr "" + +#: gajim/data/gui/add_new_contact_window.ui:173 +#, fuzzy +msgid "A_ccount" +msgstr "Conta:" + +#: gajim/data/gui/add_new_contact_window.ui:189 +#, fuzzy +msgid "_Protocol" +msgstr "Protocolo:" + +#: gajim/data/gui/add_new_contact_window.ui:287 +#: gajim/data/gui/single_message_window.ui:161 +#, fuzzy +msgid "Query Contact Info" +msgstr "_Infos do Contacto" + +#: gajim/data/gui/add_new_contact_window.ui:312 +#, fuzzy +msgid "A_llow contact to view my status" +msgstr "Permitir que ele/ela veja o meu estado" + +#: gajim/data/gui/add_new_contact_window.ui:363 +#, fuzzy +msgid "_Save subscription message" +msgstr "_Subscrição" + +#: gajim/data/gui/add_new_contact_window.ui:389 +msgid "" +"You have to register with this transport\n" +"to be able to add a contact from this\n" +"protocol. Click on Register button to\n" +"proceed." +msgstr "" + +#: gajim/data/gui/add_new_contact_window.ui:404 +#, fuzzy +msgid "_Register" +msgstr "Re_gistar" + +#: gajim/data/gui/add_new_contact_window.ui:433 +msgid "" +"You must be connected to the transport to be able\n" +"to add a contact from this protocol." +msgstr "" + +#: gajim/data/gui/add_new_contact_window.ui:467 +#, fuzzy +msgid "_Add" +msgstr "_Endereço:" + +#: gajim/data/gui/account_wizard.ui:16 gajim/data/gui/manage_proxies.ui:206 +#, fuzzy +msgid "_Port" +msgstr "_Porta:" + +#: gajim/data/gui/account_wizard.ui:46 +#, fuzzy +msgid "_Hostname" +msgstr "Nome do Host:" + +#: gajim/data/gui/account_wizard.ui:62 gajim/data/gui/account_wizard.ui:689 +#: gajim/data/gui/manage_proxies.ui:223 +msgid "example.org" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:75 +#, fuzzy +msgid "Prox_y" +msgstr "Proxy:" + +#: gajim/data/gui/account_wizard.ui:110 +#, fuzzy +msgid "Manage Proxies..." +msgstr "Gerir Perfis de Proxy" + +#: gajim/data/gui/account_wizard.ui:131 gajim/data/gui/preferences.ui:798 +#, fuzzy +msgid "Advanced Settings" +msgstr "Acções A_vançadas" + +#: gajim/data/gui/account_wizard.ui:163 gajim/data/gui/manage_proxies.ui:290 +#, fuzzy +msgid "_Type" +msgstr "Tipo:" + +#: gajim/data/gui/account_wizard.ui:203 +msgid "Welcome" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:219 +#, fuzzy +msgid "Please enter your credentials or Sign Up" +msgstr "Depois da alcunha:" + +#: gajim/data/gui/account_wizard.ui:237 +msgid "Your XMPP address (e.g. user@example.org)" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:239 +#: gajim/data/gui/single_message_window.ui:59 +msgid "user@example.org" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:252 +#, fuzzy +msgid "Your password" +msgstr "Introduza a nova senha:" + +#: gajim/data/gui/account_wizard.ui:266 gajim/data/gui/account_wizard.ui:719 +#, fuzzy +msgid "_Advanced Settings" +msgstr "Acções A_vançadas" + +#: gajim/data/gui/account_wizard.ui:270 gajim/data/gui/account_wizard.ui:723 +#, fuzzy +msgid "Proxy, custom hostname and port" +msgstr "Usar hostname/porta personalizados" + +#: gajim/data/gui/account_wizard.ui:283 +#, fuzzy +msgid "_Log In" +msgstr "_Ligar" + +#: gajim/data/gui/account_wizard.ui:288 +msgid "Log in with your credentials" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:304 +#, fuzzy +msgid "or" +msgstr "Para" + +#: gajim/data/gui/account_wizard.ui:314 +#, fuzzy +msgid "_Sign Up" +msgstr "_Ligar" + +#: gajim/data/gui/account_wizard.ui:318 +msgid "Sign up for a new account on a server of your choice" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:369 +msgid "Visit Website" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:410 +#, fuzzy +msgid "Certificate Verification Failed" +msgstr "Nome de utilizador inválido" + +#: gajim/data/gui/account_wizard.ui:428 +msgid "" +"The following warnings came up while trying to verify the server's " +"certificate" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:457 +#, fuzzy +msgid "_Show Certificate" +msgstr "Nome de utilizador inválido" + +#: gajim/data/gui/account_wizard.ui:472 +#, fuzzy +msgid "_Add to Trusted Certificates" +msgstr "Nome de utilizador inválido" + +#: gajim/data/gui/account_wizard.ui:501 gajim/data/gui/account_wizard.ui:664 +msgid "Which server should I choose?" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:516 +msgid "" +"There are plenty of servers to choose from.\n" +"Creating an account on one server allows you to communicate with contacts " +"from other servers as well." +msgstr "" + +#: gajim/data/gui/account_wizard.ui:530 +msgid "Visit Server's Website" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:550 +msgid "Listing of Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:568 +msgid "" +"xmpp.org/getting-started" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:646 +#, fuzzy +msgid "_Please choose a server" +msgstr "_Entrar num Chat" + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "" + +#: gajim/data/gui/application_menu.ui:8 +#, fuzzy +msgid "_Start / Join Chat…" +msgstr "Iniciar Conversa" + +#: gajim/data/gui/application_menu.ui:13 +#, fuzzy +msgid "Create _Group Chat…" +msgstr "Chat" + +#: gajim/data/gui/application_menu.ui:18 +#, fuzzy +msgid "_History Manager" +msgstr "_Histórico" + +#: gajim/data/gui/application_menu.ui:22 +#, fuzzy +msgid "Pl_ugins" +msgstr "Publicação vCard falhou" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +#, fuzzy +msgid "_Preferences" +msgstr "Preferências" + +#: gajim/data/gui/application_menu.ui:36 +#, fuzzy +msgid "_Accounts" +msgstr "Contas" + +#: gajim/data/gui/application_menu.ui:39 +#, fuzzy +msgid "_View" +msgstr "_Voz" + +#: gajim/data/gui/application_menu.ui:46 +#, fuzzy +msgid "Show _Offline Contacts" +msgstr "Mostrar Contactos _Offline" + +#: gajim/data/gui/application_menu.ui:50 +#, fuzzy +msgid "Show _Active Contacts" +msgstr "Mostrar Contactos _Offline" + +#: gajim/data/gui/application_menu.ui:54 +#, fuzzy +msgid "Show _Transports" +msgstr "Transportes" + +#: gajim/data/gui/application_menu.ui:60 +#, fuzzy +msgid "_XML Console" +msgstr "Consola XML" + +#: gajim/data/gui/application_menu.ui:64 +#, fuzzy +msgid "_File Transfer" +msgstr "Transferências de Ficheiros" + +#: gajim/data/gui/application_menu.ui:74 +#, fuzzy +msgid "_Help" +msgstr "_Ajuda" + +#: gajim/data/gui/application_menu.ui:77 +#, fuzzy +msgid "_Wiki (Online)" +msgstr "_Continuar" + +#: gajim/data/gui/application_menu.ui:81 +#, fuzzy +msgid "FA_Q (Online)" +msgstr "_Continuar" + +#: gajim/data/gui/application_menu.ui:85 +msgid "_Keyboard Shortcuts" +msgstr "" + +#: gajim/data/gui/application_menu.ui:89 +#, fuzzy +msgid "_Features" +msgstr "Recursos dos Servidores" + +#: gajim/data/gui/application_menu.ui:93 +#, fuzzy +msgid "_About" +msgstr "Sobre" + +#: gajim/data/gui/filetransfer_progress.ui:125 +msgid "Speed" +msgstr "" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +#, fuzzy +msgid "OK" +msgstr "_OK" + +#: gajim/data/gui/plugins_window.ui:55 +msgid "Install Plugin from ZIP-File" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:56 +msgid "Install from File…" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:70 +#, fuzzy +msgid "Uninstall Plugin" +msgstr "Interrompida" + +#: gajim/data/gui/plugins_window.ui:116 +#, fuzzy +msgid "" +msgstr "Publicação vCard falhou" + +#: gajim/data/gui/plugins_window.ui:133 +#, fuzzy +msgid "Plugin Settings" +msgstr "Publicação vCard falhou" + +#: gajim/data/gui/plugins_window.ui:215 +#, fuzzy +msgid "" +msgstr "Descrição" + +#: gajim/data/gui/plugins_window.ui:239 +msgid "Version" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:271 +#, fuzzy +msgid "Authors" +msgstr "_Autorizar" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +#, fuzzy +msgid "Homepage" +msgstr "Página pessoal:" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:349 +#, fuzzy +msgid "Installed" +msgstr "Interrompida" + +#: gajim/data/gui/plugins_window.ui:363 +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +#, fuzzy +msgid "Synchronise contacts" +msgstr "Mostrar Contactos _Offline" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +#, fuzzy +msgid "_Name" +msgstr "_Nome: " + +#: gajim/data/gui/groupchat_creation.ui:122 +#, fuzzy +msgid "_Description" +msgstr "Descrição" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +#, fuzzy +msgid "_Address" +msgstr "_Endereço:" + +#: gajim/data/gui/groupchat_creation.ui:278 +#, fuzzy +msgid "_Account" +msgstr "Contas" + +#: gajim/data/gui/profile.ui:33 +#, fuzzy +msgid "Contact Infos" +msgstr "_Infos do Contacto" + +#: gajim/data/gui/profile.ui:45 +#, fuzzy +msgid "Picture and Name" +msgstr "Alcunha não encontrada: %s" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "" + +#: gajim/data/gui/profile.ui:198 +#, fuzzy +msgid "Change your profile picture" +msgstr "Muda Alcu_nha" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:298 +#, fuzzy +msgid "Add Entry" +msgstr "País:" + +#: gajim/data/gui/profile.ui:410 +#, fuzzy +msgid "Update" +msgstr "Actualizar MOTD" + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:15 +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:65 +#, fuzzy +msgid "Add Proxy" +msgstr "Proxy:" + +#: gajim/data/gui/manage_proxies.ui:79 +#, fuzzy +msgid "Remove Proxy" +msgstr "_Remover" + +#: gajim/data/gui/manage_proxies.ui:131 +#, fuzzy +msgid "Pass_word" +msgstr "_Senha:" + +#: gajim/data/gui/manage_proxies.ui:156 +#, fuzzy +msgid "Use proxy auth_entication" +msgstr "Usar autenticação" + +#: gajim/data/gui/manage_proxies.ui:176 +#, fuzzy +msgid "_Username" +msgstr "Nome de _utilizador" + +#: gajim/data/gui/manage_proxies.ui:237 +#, fuzzy +msgid "_Host" +msgstr "_Host:" + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "" + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "Recurso:" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "Estado:" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +#, fuzzy +msgid "_Store conversation history" +msgstr "_Histórico das Conversas" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +#, fuzzy +msgid "Contact" +msgstr "Contacto:" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +#, fuzzy +msgid "First Name:" +msgstr "Nome:" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +#, fuzzy +msgid "Last Name:" +msgstr "Nome:" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +#, fuzzy +msgid "XMPP Address:" +msgstr "_Endereço:" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "E-Mail:" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +#, fuzzy +msgid "Personal" +msgstr "Detalhes Pessoais..." + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "E_stado" + +#: gajim/data/gui/account_context_menu.ui:20 +#, fuzzy +msgid "_Personal Events" +msgstr "Detalhes Pessoais..." + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "_Adicionar Contacto" + +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "_Descobrir Recursos" + +#: gajim/data/gui/account_context_menu.ui:57 +#, fuzzy +msgid "_Execute Command..." +msgstr "comando" + +#: gajim/data/gui/account_context_menu.ui:65 +#, fuzzy +msgid "_View Server Info" +msgstr "Servidor" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:125 +#, fuzzy +msgid "Global Group Chat Search" +msgstr "Entrar num Chat" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +#, fuzzy +msgid "_Back" +msgstr "Volto logo" + +#: gajim/data/gui/start_chat_dialog.ui:386 +#, fuzzy +msgid "Select Account" +msgstr "Removendo %s conta" + +#: gajim/data/gui/start_chat_dialog.ui:477 +msgid "_Select" +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +#, fuzzy +msgid "Configure" +msgstr "_Continuar" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +msgid "Create new post" +msgstr "" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "Es_tado" + +#: gajim/data/gui/systray_context_menu.ui:20 +#, fuzzy +msgid "_Start Chat..." +msgstr "_Iniciar Conversa" + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +#, fuzzy +msgid "Send Single _Message..." +msgstr "Enviar _Mensagem Simples" + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "Mostrar Todos os _Eventos Pedentes" + +#: gajim/data/gui/systray_context_menu.ui:52 +#, fuzzy +msgid "Mute Sounds" +msgstr "Sons Wav" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +#, fuzzy +msgid "Contact List" +msgstr "Contacto:" + +#: gajim/data/gui/shortcuts_window.ui:24 +#, fuzzy +msgid "Create new group chat" +msgstr "Chat" + +#: gajim/data/gui/shortcuts_window.ui:45 +#, fuzzy +msgid "File transfers" +msgstr "Transferências de Ficheiros" + +#: gajim/data/gui/shortcuts_window.ui:52 +#, fuzzy +msgid "Set the status message" +msgstr "mensagem de estado:" + +#: gajim/data/gui/shortcuts_window.ui:59 +#, fuzzy +msgid "Show XML console" +msgstr "Mostrar Consola _XML" + +#: gajim/data/gui/shortcuts_window.ui:74 +msgid "Appearance" +msgstr "Aparência" + +#: gajim/data/gui/shortcuts_window.ui:79 +#, fuzzy +msgid "Show offline contacts" +msgstr "Mostrar Contactos _Offline" + +#: gajim/data/gui/shortcuts_window.ui:86 +#, fuzzy +msgid "Show only active contacts" +msgstr "Mostrar Contactos _Offline" + +#: gajim/data/gui/shortcuts_window.ui:93 +msgid "Enable contact list filtering" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:100 +#, fuzzy +msgid "Show / hide contact list" +msgstr "Mostrar Contactos _Offline" + +#: gajim/data/gui/shortcuts_window.ui:113 +#, fuzzy +msgid "Contact information" +msgstr "Informações do Contacto" + +#: gajim/data/gui/shortcuts_window.ui:120 +#, fuzzy +msgid "Rename contact" +msgstr "Contacto:" + +#: gajim/data/gui/shortcuts_window.ui:127 +#, fuzzy +msgid "Delete contact" +msgstr "Contacto:" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +msgid "Chat" +msgstr "Conversa" + +#: gajim/data/gui/shortcuts_window.ui:142 +#, fuzzy +msgid "Message composition" +msgstr "conteúdo da mensagem" + +#: gajim/data/gui/shortcuts_window.ui:147 +#, fuzzy +msgid "Send the message" +msgstr "Enviar mensagem" + +#: gajim/data/gui/shortcuts_window.ui:154 +msgid "Add new line" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:161 +#, fuzzy +msgid "Select an emoji" +msgstr "Usar _emoticons" + +#: gajim/data/gui/shortcuts_window.ui:168 +msgid "Complete a command or a nickname" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:175 +#, fuzzy +msgid "Previously sent message" +msgstr "mensagem de estado:" + +#: gajim/data/gui/shortcuts_window.ui:182 +#, fuzzy +msgid "Next sent messages" +msgstr "mensagem de estado:" + +#: gajim/data/gui/shortcuts_window.ui:189 +#, fuzzy +msgid "Quote previous message" +msgstr "Ou escolha uma mensagem pré-definida:" + +#: gajim/data/gui/shortcuts_window.ui:196 +#, fuzzy +msgid "Quote next message" +msgstr "Enviar mensagem" + +#: gajim/data/gui/shortcuts_window.ui:203 +#, fuzzy +msgid "Clear message entry" +msgstr "Mensagem" + +#: gajim/data/gui/shortcuts_window.ui:211 +#, fuzzy +msgid "Recent history" +msgstr "Histórico dos registos" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:230 +#, fuzzy +msgid "Clear chat window" +msgstr "Limpar a janela de texto" + +#: gajim/data/gui/shortcuts_window.ui:237 +#, fuzzy +msgid "Show chat history" +msgstr "Histórico dos registos" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:299 +msgid "Close chat" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:312 +#, fuzzy +msgid "Change Nickname" +msgstr "Muda Alcu_nha" + +#: gajim/data/gui/chat_control.ui:48 +#, fuzzy +msgid "Drop files or contacts" +msgstr "Envia um ficheiro a um contacto" + +#: gajim/data/gui/chat_control.ui:80 +#, fuzzy +msgid "1" +msgstr "Registos" + +#: gajim/data/gui/chat_control.ui:101 +#, fuzzy +msgid "2 abc" +msgstr "Registos" + +#: gajim/data/gui/chat_control.ui:121 +#, fuzzy +msgid "3 def" +msgstr "Registos" + +#: gajim/data/gui/chat_control.ui:141 +#, fuzzy +msgid "4 ghi" +msgstr "Registos" + +#: gajim/data/gui/chat_control.ui:161 +#, fuzzy +msgid "5 jkl" +msgstr "Registos" + +#: gajim/data/gui/chat_control.ui:181 +#, fuzzy +msgid "6 mno" +msgstr "Registos" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "" + +#: gajim/data/gui/chat_control.ui:221 +#, fuzzy +msgid "8 tuv" +msgstr "Registos" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "" + +#: gajim/data/gui/chat_control.ui:261 +#, fuzzy +msgid "*" +msgstr "Registos" + +#: gajim/data/gui/chat_control.ui:281 +#, fuzzy +msgid "0" +msgstr "Registos" + +#: gajim/data/gui/chat_control.ui:301 +#, fuzzy +msgid "#" +msgstr "Registos" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "Iniciar _Conversa" + +#: gajim/data/gui/contact_context_menu.ui:28 +#, fuzzy +msgid "Send _File..." +msgstr "Enviar _Ficheiro" + +#: gajim/data/gui/contact_context_menu.ui:44 +#, fuzzy +msgid "Invite _Contacts" +msgstr "Contacto:" + +#: gajim/data/gui/contact_context_menu.ui:58 +#, fuzzy +msgid "E_xecute Command..." +msgstr "comando" + +#: gajim/data/gui/contact_context_menu.ui:67 +#, fuzzy +msgid "M_anage Contact" +msgstr "Contacto:" + +#: gajim/data/gui/contact_context_menu.ui:77 +#, fuzzy +msgid "_Rename..." +msgstr "_Renomear" + +#: gajim/data/gui/contact_context_menu.ui:84 +#, fuzzy +msgid "Edit _Groups..." +msgstr "Editar _Grupos" + +#: gajim/data/gui/contact_context_menu.ui:92 +#, fuzzy +msgid "Add Special _Notification..." +msgstr "Notificações Visuais" + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "_Subscrição" + +#: gajim/data/gui/contact_context_menu.ui:115 +#, fuzzy +msgid "_Allow contact to see my status" +msgstr "Permitir que ele/ela veja o meu estado" + +#: gajim/data/gui/contact_context_menu.ui:123 +#, fuzzy +msgid "A_sk to see contact status" +msgstr "Pedir para ver o estado dele/dela" + +#: gajim/data/gui/contact_context_menu.ui:131 +#, fuzzy +msgid "_Forbid contact to see my status" +msgstr "Proibí-lo /-la de ver o meu estado" + +#: gajim/data/gui/contact_context_menu.ui:159 +#, fuzzy +msgid "_Unignore" +msgstr "_Continuar" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:174 +#, fuzzy +msgid "_Add to Contact List..." +msgstr "_Adicionar Contacto" + +#: gajim/data/gui/single_message_window.ui:42 +#, fuzzy +msgid "_To" +msgstr "Para" + +#: gajim/data/gui/single_message_window.ui:71 +#, fuzzy +msgid "Su_bject" +msgstr "Assunto:" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "" + +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "_Mensagem" + +#: gajim/data/gui/single_message_window.ui:144 +#, fuzzy +msgid "Characters typed: 0" +msgstr "Carácter não permitido" + +#: gajim/data/gui/single_message_window.ui:189 +#, fuzzy +msgid "_From" +msgstr "De" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "_Enviar" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "Enviar mensagem" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "_Responder" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "Responder a esta mensagem" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "E_nviar & Fechar" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "Enviar mensagem e fechar a janela" + +#: gajim/data/gui/vcard_information_window.ui:106 +#, fuzzy +msgid "Client" +msgstr "Cliente:" + +#: gajim/data/gui/vcard_information_window.ui:140 +#, fuzzy +msgid "Contact time" +msgstr "Nome do Contacto" + +#: gajim/data/gui/vcard_information_window.ui:240 +#, fuzzy +msgid "User avatar" +msgstr "Definir _Avatar" + +#: gajim/data/gui/vcard_information_window.ui:255 +#, fuzzy +msgid "Configured avatar" +msgstr "Configurar _Sala" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +#, fuzzy +msgid "Ask" +msgstr "Perguntar:" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +#, fuzzy +msgid "Subscription" +msgstr "Subscrição:" + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +#, fuzzy +msgid "Extra Address" +msgstr "Endereço Extra:" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +#, fuzzy +msgid "Address" +msgstr "Formato de uma linha" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +#, fuzzy +msgid "E-Mail" +msgstr "E-Mail:" + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "Formato: AAAA-MM-DD" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +#, fuzzy +msgid "Family" +msgstr "Família:" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +#, fuzzy +msgid "Middle" +msgstr "Nome do meio:" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +#, fuzzy +msgid "Prefix" +msgstr "Prefixo:" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +#, fuzzy +msgid "Given" +msgstr "Nome Dado:" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +#, fuzzy +msgid "Suffix" +msgstr "Sufixo:" + +#: gajim/data/gui/vcard_information_window.ui:958 +#, fuzzy +msgid "Name Details" +msgstr "Definições Personalizadas" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "" + +#: gajim/data/gui/vcard_information_window.ui:1017 +#, fuzzy +msgid "Personal Info" +msgstr "Detalhes Pessoais..." + +#: gajim/data/gui/vcard_information_window.ui:1040 +#, fuzzy +msgid "Company" +msgstr "Empresa:" + +#: gajim/data/gui/vcard_information_window.ui:1073 +#, fuzzy +msgid "Department" +msgstr "Departamento:" + +#: gajim/data/gui/vcard_information_window.ui:1104 +#, fuzzy +msgid "Position" +msgstr "Cargo:" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +#, fuzzy +msgid "Role" +msgstr "Função:" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "Sobre" + +#: gajim/data/gui/vcard_information_window.ui:1514 +msgid "Comments" +msgstr "Comentários" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "Editar Grupos" + +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "Frase de acesso" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +#, fuzzy +msgid "Themes" +msgstr "Tema" + +#: gajim/data/gui/themes_window.ui:171 +#, fuzzy +msgid "Add Setting" +msgstr "Publicação vCard falhou" + +#: gajim/data/gui/themes_window.ui:204 +#, fuzzy +msgid "Add new Theme" +msgstr "Activo" + +#: gajim/data/gui/themes_window.ui:219 +#, fuzzy +msgid "Remove Theme" +msgstr "Activo" + +#: gajim/data/gui/bookmarks.ui:120 +#, fuzzy +msgid "Autojoin" +msgstr "Entrar automaticamente" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "" + +#: gajim/data/gui/preferences.ui:68 +#, fuzzy +msgid "Contact List Appearance" +msgstr "Contacto Entrou" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +#, fuzzy +msgid "Chats" +msgstr "Conversa" + +#: gajim/data/gui/preferences.ui:215 +#, fuzzy +msgid "Visual Notifications" +msgstr "Notificações Visuais" + +#: gajim/data/gui/preferences.ui:243 +#, fuzzy +msgid "Sounds" +msgstr "Som" + +#: gajim/data/gui/preferences.ui:303 +#, fuzzy +msgid "Ask For Status Message on…" +msgstr "Pedir a mensagem de estado quando eu me: " + +#: gajim/data/gui/preferences.ui:331 +#, fuzzy +msgid "Automatic Status Change" +msgstr "Pedir para ver o estado dele/dela" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "" + +#: gajim/data/gui/preferences.ui:447 +#, fuzzy +msgid "Status Icon" +msgstr "Iconset de _estados padrão:" + +#: gajim/data/gui/preferences.ui:472 +#, fuzzy +msgid "Style" +msgstr "Interrompida" + +#: gajim/data/gui/preferences.ui:511 +#, fuzzy +msgid "Show _Features" +msgstr "Recursos dos Servidores" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:632 +msgid "Audio" +msgstr "" + +#: gajim/data/gui/preferences.ui:660 +msgid "Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:698 +msgid "Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:735 +#, fuzzy +msgid "Miscellaneous" +msgstr "Diversos" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:821 +#, fuzzy +msgid "Advanced Configuration Editor… " +msgstr "Editor de Configuração Avançada" + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "" + +#: gajim/data/gui/server_info.ui:50 +#, fuzzy +msgid "Server Software" +msgstr "Recursos dos Servidores" + +#: gajim/data/gui/server_info.ui:80 +#, fuzzy +msgid "Server Uptime" +msgstr "Guardado em: %s" + +#: gajim/data/gui/server_info.ui:109 +#, fuzzy +msgid "Contact Addresses" +msgstr "Mensagem de estado:" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "" + +#: gajim/data/gui/server_info.ui:177 +#, fuzzy +msgid "Proxy Type" +msgstr "Proxy:" + +#: gajim/data/gui/server_info.ui:192 +#, fuzzy +msgid "No proxy used" +msgstr "Proxy:" + +#: gajim/data/gui/server_info.ui:202 +#, fuzzy +msgid "View _Certificate" +msgstr "Nome de utilizador inválido" + +#: gajim/data/gui/server_info.ui:222 +#, fuzzy +msgid "Proxy Host" +msgstr "Proxy:" + +#: gajim/data/gui/server_info.ui:421 +#, fuzzy +msgid "Copy info to clipboard" +msgstr "_Copiar Localização do Link" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:153 +msgid "Serial Number" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:304 +msgid "Expires on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:465 +#, fuzzy +msgid "Copy Certificate Information" +msgstr "Informações do Contacto" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +#, fuzzy +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "" +"Está neste momento a entrar numa conversa de grupo.\n" +"Seleccione os contactos que quer convidar" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +#, fuzzy +msgid "Please select a group chat server." +msgstr "Perguntar antes de fechar uma janela/aba de chat." + +#: gajim/data/gui/chat_to_muc_window.ui:141 +#, fuzzy +msgid "Group chat server" +msgstr "Chat" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +#, fuzzy +msgid "In_vite" +msgstr "Invisível" + +#: gajim/data/gui/mam_preferences.ui:53 +#, fuzzy +msgid "_Default" +msgstr "Apagar MOTD" + +#: gajim/data/gui/mam_preferences.ui:136 +#, fuzzy +msgid "Archive" +msgstr "Localização do ficheiro" + +#: gajim/data/gui/history_manager.ui:11 +msgid "_Export" +msgstr "" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +#, fuzzy +msgid "Gajim History Logs Manager" +msgstr "_Histórico" + +#: gajim/data/gui/history_manager.ui:104 +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" + +#: gajim/data/gui/history_manager.ui:120 +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" + +#: gajim/data/gui/history_manager.ui:211 +#, fuzzy +msgid "Search database..." +msgstr "_Pesquisar" + +#: gajim/data/gui/history_manager.ui:226 +#, fuzzy +msgid "Search in database" +msgstr "_Pesquisar" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" + +#: gajim/data/gui/groupchat_invite.ui:69 +#, fuzzy +msgid "Invitees" +msgstr "Invisível" + +#: gajim/data/gui/groupchat_invite.ui:153 +#, fuzzy +msgid "Search contacts..." +msgstr "_Pesquisar" + +#: gajim/data/gui/groupchat_invite.ui:223 +#, fuzzy +msgid "Click on contacts you would like to invite to this group chat." +msgstr "%(nick)s foi expulso por %(who)s: %(reason)s" + +#: gajim/data/gui/service_discovery_window.ui:148 +#, fuzzy +msgid "Go" +msgstr "_Ir" + +#: gajim/data/gui/status_change_window.ui:27 +#, fuzzy +msgid "Change Status" +msgstr "Contacto Saiu" + +#: gajim/data/gui/status_change_window.ui:56 +#, fuzzy +msgid "Status Presets…" +msgstr "Mensagem de Estado" + +#: gajim/data/gui/status_change_window.ui:72 +msgid "Save this message as a preset" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:130 +#, fuzzy +msgid "Ac_tivity" +msgstr "Activo" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:278 +#, fuzzy +msgid "_Change Status" +msgstr "Contacto Saiu" + +#: gajim/data/gui/status_change_window.ui:313 +#, fuzzy +msgid "Activity" +msgstr "Activo" + +#: gajim/data/gui/status_change_window.ui:326 +#, fuzzy +msgid "_No Activity" +msgstr "Activo" + +#: gajim/data/gui/status_change_window.ui:729 +#, fuzzy +msgid "Mood" +msgstr "_Modificar" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +#, fuzzy +msgid "Author" +msgstr "_Autorizar" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +#, fuzzy +msgid "Group Chat Language" +msgstr "?Função do Contacto no Chat:Nenhuma" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +#, fuzzy +msgid "Copy Address" +msgstr "_Copiar JID/Endereço de Email" + +#: gajim/data/gui/emoji_chooser.ui:98 +msgid "No Results Found" +msgstr "" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr "Consola XML" + +#: gajim/data/gui/xml_console.ui:131 +#, fuzzy +msgid "Start Search..." +msgstr "_Iniciar Conversa" + +#: gajim/data/gui/xml_console.ui:260 +#, fuzzy +msgid "Clear" +msgstr "Evento" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "" + +#: gajim/data/gui/xml_console.ui:316 +#, fuzzy +msgid "Presets" +msgstr "_Presença" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +#, fuzzy +msgid "Select the contacts you want to synchronise" +msgstr "JID do contacto com quem deseja conversar" + +#: gajim/data/gui/groupchat_config.ui:51 +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:309 +#, fuzzy +msgid "Reserved Name" +msgstr "Nome Preferencial" + +#: gajim/data/gui/groupchat_config.ui:346 +#, fuzzy +msgid "Affiliation" +msgstr "Filiação: " + +#: gajim/data/gui/groupchat_config.ui:377 +#, fuzzy +msgid "Affiliations" +msgstr "Filiação: " + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "_Negar" + +#: gajim/data/gui/subscription_request_window.ui:34 +#, fuzzy +msgid "_Block User" +msgstr "_Bloquear" + +#: gajim/data/gui/subscription_request_window.ui:49 +#, fuzzy +msgid "_Report as Spam" +msgstr "_Reportar Erro (Bug)" + +#: gajim/data/gui/subscription_request_window.ui:212 +#, fuzzy +msgid "_Deny…" +msgstr "_Negar" + +#: gajim/data/gui/subscription_request_window.ui:225 +#, fuzzy +msgid "Ac_cept" +msgstr "Aceitar" + +#: gajim/data/gui/subscription_request_window.ui:230 +#, fuzzy +msgid "Allows the contact to see your online status" +msgstr "Permitir que ele/ela veja o meu estado" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:115 +#, fuzzy +msgid "_Report Bug" +msgstr "_Reportar Erro (Bug)" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "Evento" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "Escolher Som" + +#: gajim/data/gui/manage_sounds.ui:97 +#, fuzzy +msgid "Clear Sound" +msgstr "Escolher Som" + +#: gajim/data/gui/manage_sounds.ui:118 +#, fuzzy +msgid "Play Sound" +msgstr "Tocar _Sons" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +#, fuzzy +msgid "_Send Files" +msgstr "Enviar _Ficheiro" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +msgid "Send" +msgstr "Enviar" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +#, fuzzy +msgid "Files to send" +msgstr "Escolher Ficheiro para Enviar" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +#, fuzzy +msgid "Add Files" +msgstr "Ficheiro: " + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +#, fuzzy +msgid "Remove Files" +msgstr "_Remover" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +#, fuzzy +msgid "Idle since:" +msgstr "Versão %s" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +#, fuzzy +msgid "Mood:" +msgstr "Sala:" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +#, fuzzy +msgid "Activity:" +msgstr "Activo" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +#, fuzzy +msgid "Tune:" +msgstr "Tipo:" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +#, fuzzy +msgid "Location:" +msgstr "Modificação da Conta" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +msgid "Subscription:" +msgstr "Subscrição:" + +#: gajim/data/gui/advanced_configuration.ui:15 +msgid "A restart may be required for some settings to take effect" +msgstr "" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "" + +#: gajim/data/gui/advanced_configuration.ui:120 +#, fuzzy +msgid "_Reset Value" +msgstr "Voltar às Cores Padrão" + +#: gajim/data/gui/advanced_configuration.ui:125 +#, fuzzy +msgid "Resets value to default" +msgstr "Voltar às Cores Padrão" + +#: gajim/data/gui/history_window.ui:27 +#, fuzzy +msgid "Display status changes" +msgstr "_Arquivar mudanças de estado dos contactos" + +#: gajim/data/gui/history_window.ui:57 +#, fuzzy +msgid "History Manager" +msgstr "_Histórico" + +#: gajim/data/gui/history_window.ui:233 +#, fuzzy +msgid "Mode" +msgstr "Moderador" + +#: gajim/data/gui/history_window.ui:246 +#, fuzzy +msgid "Search complete history" +msgstr "Histórico dos registos" + +#: gajim/data/gui/history_window.ui:263 +msgid "Search selected day only" +msgstr "" + +#: gajim/data/gui/history_window.ui:317 +msgid "Store history for this chat" +msgstr "" + +#: gajim/data/gui/history_window.ui:332 +#, fuzzy +msgid "Store History" +msgstr "Histórico dos registos" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +#, fuzzy +msgid "Identified Error" +msgstr "Nome de utilizador inválido" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +#, fuzzy +msgid "" +msgstr "Erro:" + +#: gajim/data/gui/ssl_error_dialog.ui:74 +msgid "Add this certificate to the list of _trusted certificates" +msgstr "" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +#, fuzzy +msgid "_View Certificate" +msgstr "Nome de utilizador inválido" + +#: gajim/data/gui/ssl_error_dialog.ui:120 +#, fuzzy +msgid "_Connect" +msgstr "Ligação" + +#: data/org.gajim.Gajim.desktop.in:5 +#, fuzzy +msgid "XMPP Chat Client" +msgstr "Cliente de IM Jabber" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:8 +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:27 +#, fuzzy +msgid "Show next pending event" +msgstr "Mostrar Todos os _Eventos Pedentes" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:17 +#, fuzzy +msgid "Features:" +msgstr "Recursos dos Servidores" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +msgid "Automatic spell-checking for your messages" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +#, fuzzy +msgid "Support for service discovery including nodes and search for users" +msgstr "Buscar Serviço usando conta %s" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +#, fuzzy +msgid "Contact list" +msgstr "Contacto:" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +#, fuzzy +msgid "Group chat support" +msgstr "Chat" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +#, fuzzy +msgid "Chat history" +msgstr "Histórico dos registos" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +#, fuzzy +msgid "Plugin manager" +msgstr "Publicação vCard falhou" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +#, fuzzy +msgid "Gajim Team" +msgstr "Gajim - %s" + +#, fuzzy +#~ msgid "Chat Settings" +#~ msgstr "Publicação vCard falhou" + +#, fuzzy, python-format +#~ msgid "%i day" +#~ msgid_plural "%i days" +#~ msgstr[0] "Há %i dias atrás" +#~ msgstr[1] "Há %i dias atrás" + +#, fuzzy +#~ msgid "All chat states" +#~ msgstr "Estado: " + +#, fuzzy +#~ msgid "Privacy Lists" +#~ msgstr "Iniciar Conversa" + +#~ msgid "None" +#~ msgstr "Nenhum" + +#, python-format +#~ msgid "%s Status Message" +#~ msgstr "Mensagem de Estado de %s" + +#, fuzzy +#~ msgid "Error." +#~ msgstr "Erro:" + +#, fuzzy +#~ msgid "_Block Contact" +#~ msgstr "Contacto:" + +#, fuzzy +#~ msgid "Block Group" +#~ msgstr "Grupo" + +#, fuzzy +#~ msgid "Really block this group?" +#~ msgstr "Não é possível usar OpenPGP neste computador" + +#, fuzzy +#~ msgid "_Block Group" +#~ msgstr "Grupo:" + +#~ msgid "No account available" +#~ msgstr "Nenhuma conta disponível" + +#~ msgid "You must create an account before you can chat with other contacts." +#~ msgstr "" +#~ "Tem de criar uma conta antes de poder conversar com outros contactos." + +#, fuzzy, python-brace-format +#~ msgid "You are invited to {room} by {user}" +#~ msgstr "Está banido/a desta sala." + +#, fuzzy, python-format +#~ msgid "%s wants to start a voice chat." +#~ msgstr "%s quer enviar-lhe um ficheiro." + +#~ msgid "Could not save your settings and preferences" +#~ msgstr "Impossível salvar as suas definições e preferências" + +#, fuzzy +#~ msgid "Error While Removing Privacy List" +#~ msgstr "erro ao enviar" + +#, fuzzy, python-format +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "" +#~ "Uma lista de transferências de ficheiros activas, completas e paradas" + +#, fuzzy +#~ msgid "Not Secure" +#~ msgstr "Não iniciada" + +#, fuzzy +#~ msgid "Could not Upload File" +#~ msgstr "Guardar Ficheiro como..." + +#, fuzzy +#~ msgid "Encryption Error" +#~ msgstr "Encriptação activada" + +#~ msgid "Lists all preferences and their values" +#~ msgstr "Exibe todas as preferências e os seus valores" + +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "Define o valor de 'chave' para 'valor'." + +#~ msgid "key=value" +#~ msgstr "chave=valor" + +#, fuzzy +#~ msgid "'key' is the name of the preference, 'value' is what to set it to" +#~ msgstr "" +#~ "'chave' é o nome da preferência, 'valor' é o valor da qual se pretende " +#~ "definir" + +#~ msgid "Deletes a preference item" +#~ msgstr "Apaga um item das preferências" + +#~ msgid "key" +#~ msgstr "chave" + +#~ msgid "name of the preference to be deleted" +#~ msgstr "nome da preferência a apagar" + +#~ msgid "Writes the current state of Gajim preferences to the .config file" +#~ msgstr "" +#~ "Escreve o estado actual das preferências do Gajim para o ficheiro .config" + +#, fuzzy, python-format +#~ msgid "%s is a directory but should be a file" +#~ msgstr "%s é um directório, mas deveria ser um ficheiro" + +#, fuzzy, python-format +#~ msgid "Creating %s" +#~ msgstr "Descrição: %s" + +#, python-format +#~ msgid "%(nickname)s Signed In" +#~ msgstr "%(nickname)s Iniciou Sessão" + +#~ msgid "Contact Signed In" +#~ msgstr "Contacto Entrou" + +#, python-format +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "%(nickname)s Terminou Sessão" + +#~ msgid "Contact Signed Out" +#~ msgstr "Contacto Saiu" + +#, fuzzy +#~ msgid "" +#~ "Show desktop notification even when a chat window is opened for this " +#~ "contact and does not have focus." +#~ msgstr "" +#~ "Permitir popup/notificações quando estou _ausente/indisponível/ocupado/" +#~ "invisível" + +#, fuzzy +#~ msgid "default" +#~ msgstr "Apagar MOTD" + +#, fuzzy +#~ msgid "If enabled, Gajim displays the avatar in the chat window." +#~ msgstr "" +#~ "Se marcado, Gajim exibirá imagens pessoais (avatars) dos seus contactos " +#~ "na lista" + +#, fuzzy +#~ msgid "I'm available." +#~ msgstr "Disponível" + +#, fuzzy +#~ msgid "I'm free for chat." +#~ msgstr "Livre para conversar" + +#, fuzzy +#~ msgid "I'm not available." +#~ msgstr "Serviço não disponível" + +#~ msgid "Image is too big" +#~ msgstr "Imagem é muito grande" + +#, fuzzy +#~ msgid "Error loading image" +#~ msgstr "Erro na leitura do ficheiro:" + +#, fuzzy +#~ msgid "Blocked Contacts" +#~ msgstr "Contacto:" + +#, fuzzy +#~ msgid "Group chat" +#~ msgstr "Chat" + +#, fuzzy +#~ msgid "Bookmark group chat" +#~ msgstr "Adicionar esta Sala aos _Bookmarks" + +#, fuzzy +#~ msgid "Bookmark" +#~ msgstr "Adicionar esta Sala aos _Bookmarks" + +#, fuzzy +#~ msgid "Recently used group chats" +#~ msgstr "_Entrar num Chat" + +#, fuzzy +#~ msgid "Clear Avatar" +#~ msgstr "_Escolher Avatar" + +#, fuzzy +#~ msgid "Set Avatar…" +#~ msgstr "Escolha chave" + +#, fuzzy +#~ msgid "Contact" +#~ msgstr "Definições" + +#, fuzzy +#~ msgid "_Leave Group Chat" +#~ msgstr "Chat" + +#, fuzzy +#~ msgid "Enter a new name for this group chat" +#~ msgstr "Introduza a chave GPG para a conta %s" + +#~ msgid "Custom" +#~ msgstr "Definições Personalizadas" + +#, fuzzy +#~ msgid "Pop it up" +#~ msgstr "_Mostrar a mensagem como pop-up" + +#, fuzzy +#~ msgid "Notify me about it" +#~ msgstr "_Notificar-me" + +#, fuzzy +#~ msgid "Show only in contact list" +#~ msgstr "Mostrar Contactos _Offline" + +#, fuzzy +#~ msgid "No status messages" +#~ msgstr "mensagem de estado:" + +#, fuzzy +#~ msgid "All status messages" +#~ msgstr "mensagem de estado:" + +#, fuzzy +#~ msgid "Only enter/leave messages" +#~ msgstr "Tem mensagens não lidas" + +#, fuzzy +#~ msgid "Me_rge accounts" +#~ msgstr "_Fundir contas" + +#, fuzzy +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "Exibir imagens pessoais (avatars) dos contactos na lista" + +#, fuzzy +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "" +#~ "Se marcado, Gajim exibirá imagens pessoais (avatars) dos seus contactos " +#~ "na lista" + +#, fuzzy +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "Exibir mensagens de estado dos contactos na lista" + +#, fuzzy +#~ msgid "" +#~ "If checked, status messages of contacts will be shown under the contact's " +#~ "name, in the contact list window, and in group chats" +#~ msgstr "" +#~ "Se marcado, Gajim exibirá as mensagens de estado dos contactos debaixo " +#~ "dos nomes de cada um na janela principal" + +#, fuzzy +#~ msgid "" +#~ "Show e_xtra information of contacts in contact list (mood, activity, ...)" +#~ msgstr "Exibir imagens pessoais (avatars) dos contactos na lista" + +#, fuzzy +#~ msgid "in _contact list" +#~ msgstr "Contacto:" + +#, fuzzy +#~ msgid "in _group chats" +#~ msgstr "_Entrar num Chat" + +#, fuzzy +#~ msgid "Display status messages in _single chats" +#~ msgstr "Exibir mensagens de estado dos contactos na lista" + +#, fuzzy +#~ msgid "" +#~ "If checked, status lines will be shown in 1 on 1 chats when a contact " +#~ "changes their status or status message" +#~ msgstr "" +#~ "Se Falso (False), deixará de ver a linha de estados em conversas quando " +#~ "um contacto mudar de estado ou de mensagem de estado." + +#, fuzzy +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "Impossível entrar na sala" + +#, fuzzy +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "Impossível entrar na sala" + +#, fuzzy +#~ msgid "Show status changes (Default)" +#~ msgstr "_Arquivar mudanças de estado dos contactos" + +#, fuzzy +#~ msgid "" +#~ "If checked, the tab will be colored according to the current chatstate of " +#~ "the contact" +#~ msgstr "Se marcado, o Gajim juntar-se-á a este chat no arranque" + +#, fuzzy +#~ msgid "" +#~ "If checked, a description of the contacts current chatstate is shown in " +#~ "the banner" +#~ msgstr "Se marcado, o Gajim juntar-se-á a este chat no arranque" + +#, fuzzy +#~ msgid "Chatstate" +#~ msgstr "Iconset de _estados padrão:" + +#, fuzzy +#~ msgid "_When new event is received" +#~ msgstr "Quando um novo evento é recebido" + +#, fuzzy +#~ msgid "Show popups/notifications when a chat window is already _open" +#~ msgstr "" +#~ "Permitir popup/notificações quando estou _ausente/indisponível/ocupado/" +#~ "invisível" + +#, fuzzy +#~ msgid "Allow popups/notifications when I'm _away, not available or busy" +#~ msgstr "" +#~ "Permitir popup/notificações quando estou _ausente/indisponível/ocupado/" +#~ "invisível" + +#, fuzzy +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "Notificar-me sobre contactos que acabem de se: " + +#, fuzzy +#~ msgid "" +#~ "A popup window about contacts that just signed in will be shown in the " +#~ "bottom right of the screen " +#~ msgstr "" +#~ "Gajim o notificará a cada nova mensagem através de um popup no canto " +#~ "inferior direito do ecrã" + +#, fuzzy +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "Notificar-me sobre contactos que acabem de se: " + +#~ msgid "Play _sounds" +#~ msgstr "Tocar _Sons" + +#, fuzzy +#~ msgid "Ma_nage..." +#~ msgstr "Gerir..." + +#, fuzzy +#~ msgid "No_t Available" +#~ msgstr "Indisponível" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Not Available when the computer " +#~ "has not been used for the specified time" +#~ msgstr "Se marcado, o Gajim terá também um ícone na área de notificação" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Away when the computer has not " +#~ "been used for the specified time" +#~ msgstr "Se marcado, o Gajim terá também um ícone na área de notificação" + +#, fuzzy +#~ msgid "Minutes" +#~ msgstr "minutos" + +#, fuzzy +#~ msgid "Default Message" +#~ msgstr "Mensagem de Estado" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "Mensagem de Estado" + +#, fuzzy +#~ msgid "Preset Status Messages" +#~ msgstr "Configurar Mensagens de Estado" + +#, fuzzy +#~ msgid "_Theme" +#~ msgstr "Tema" + +#, fuzzy +#~ msgid "" +#~ "If checked, protocol-specific status icons will be used (e.g. a contact " +#~ "from ICQ will have the equivalent ICQ icon for status online, away, busy, " +#~ "etc...)" +#~ msgstr "" +#~ "Se marcado, o Gajim usará ícones de estado específicos a cada protocolo. " +#~ "(Por exemplo, um contacto do MSN terá o ícone msn equivalente para o " +#~ "estado disponível, ausente, ocupado, etc...)" + +#, fuzzy +#~ msgid "_Manage..." +#~ msgstr "Gerir..." + +#, fuzzy +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "_Arquivar mudanças de estado dos contactos" + +#, fuzzy +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "Se marcado, o Gajim lembrar-se-á da senha para esta conta" + +#, fuzzy +#~ msgid "_Open..." +#~ msgstr "Abrir..." + +#, fuzzy +#~ msgid "_Filter" +#~ msgstr "_Filtro:" + +#, fuzzy +#~ msgid "Protocol" +#~ msgstr "Protocolo:" + +#, fuzzy +#~ msgid "Privacy Lists:" +#~ msgstr "Iniciar Conversa" + +#, fuzzy +#~ msgid "Message..." +#~ msgstr "Mensagem" + +#, fuzzy +#~ msgid "Preset _messages" +#~ msgstr "mensagem de estado:" + +#, fuzzy +#~ msgid "_Type your new status message" +#~ msgstr "Escreva a sua nova mensagem de estado" + +#, fuzzy +#~ msgid "Change Status Message…" +#~ msgstr "_Mudar Mensagem de Estado" + +#, fuzzy +#~ msgid "Mood:" +#~ msgstr "Registos" + +#, fuzzy +#~ msgid "Message:" +#~ msgstr "Registos" + +#, fuzzy +#~ msgid "none" +#~ msgstr "Nenhum" + +#, fuzzy +#~ msgid "both" +#~ msgstr "Ambos" + +#, fuzzy +#~ msgid "from" +#~ msgstr "De" + +#, fuzzy +#~ msgid "Active on each startup" +#~ msgstr "_Ligar ao arranque" + +#, fuzzy +#~ msgid "List of rules" +#~ msgstr "Formato de uma linha" + +#~ msgid "Deny" +#~ msgstr "Negar" + +#, fuzzy +#~ msgid "all in the group" +#~ msgstr "Neste grupo" + +#, fuzzy +#~ msgid "all by subscription" +#~ msgstr "_Subscrição" + +#, fuzzy +#~ msgid "to send me messages" +#~ msgstr "Enviar mensagem" + +#, fuzzy +#~ msgid "to view my status" +#~ msgstr "Permitir que ele/ela veja o meu estado" + +#, fuzzy +#~ msgid "to send me status" +#~ msgstr "Pedir para ver o estado dele/dela" + +#, fuzzy +#~ msgid "All (including subscription)" +#~ msgstr "_Subscrição" + +#, fuzzy +#~ msgid "Order:" +#~ msgstr "Servidor:" + +#, fuzzy +#~ msgid "" +#~ "Deny authorization from contact so the contact cannot know if you are " +#~ "connected" +#~ msgstr "" +#~ "Recusar autorização do contacto, para que ele não possa saber quando você " +#~ "está ligado" + +#, fuzzy +#~ msgid "Authorize contact so the contact can know if you are connected" +#~ msgstr "Autorize o contacto para ele saber quando você está ligado" + +#, fuzzy +#~ msgid "Contact List Shortcuts" +#~ msgstr "Contacto Entrou" + +#, fuzzy +#~ msgid "Fill in the form." +#~ msgstr "Neste grupo" + +#, fuzzy +#~ msgid "Message: " +#~ msgstr "Configurar Mensagens de Estado" + +#, fuzzy, python-format +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "%(contact_jid)s foi convidado(a) para %(room_jid)s." + +#, fuzzy +#~ msgid "Group Chat Invitation " +#~ msgstr "?Função do Contacto no Chat:Nenhuma" + +#, python-format +#~ msgid "Comment: %s" +#~ msgstr "Comentário: %s" + +#, fuzzy +#~ msgid "Off" +#~ msgstr "Offline" + +#, fuzzy +#~ msgid "Wrong date format" +#~ msgstr "Informações do Contacto" + +#, fuzzy +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "Formato: AAAA-MM-DD" + +#, fuzzy +#~ msgid "Information received" +#~ msgstr "Convite Recebido" + +#, fuzzy +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "" +#~ "É necessária uma ligação para poder publicar as suas informações de " +#~ "contacto." + +#, fuzzy +#~ msgid "Sending profile…" +#~ msgstr "Enviar Ficheiro" + +#~ msgid "vCard publication failed" +#~ msgstr "Publicação vCard falhou" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "" +#~ "Ocorreu um erro na publicação das suas informações pessoais. Tenta " +#~ "novamente mais tarde." + +#, fuzzy +#~ msgid "?password:Hidden" +#~ msgstr "Senha:" + +#, fuzzy, python-format +#~ msgid "Order: %(order)s, action: %(action)s" +#~ msgstr "Descrição: %s" + +#, fuzzy +#~ msgid "Edit a rule" +#~ msgstr "Formato de uma linha" + +#, fuzzy +#~ msgid "Add a rule" +#~ msgstr "Formato de uma linha" + +#, fuzzy +#~ msgid "Invalid List Name" +#~ msgstr "Nome de utilizador inválido" + +#, fuzzy +#~ msgid "You must enter a name to create a privacy list." +#~ msgstr "Deve indicar uma palavra-passe à qual a nova conta será associada" + +#, fuzzy +#~ msgid "Loading" +#~ msgstr "Ligação" + +#~ msgid "status message title" +#~ msgstr "título da mensagem de estado" + +#~ msgid "status message text" +#~ msgstr "texto da mensagem de estado" + +#, fuzzy +#~ msgid "Start New Conversation" +#~ msgstr "Ligação" + +#, fuzzy +#~ msgid "Unknown SSL error: %d" +#~ msgstr "Versão D-Bus desconhecida: %s" + +#~ msgid "Gajim - %s" +#~ msgstr "Gajim - %s" + +#, fuzzy +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "Uma ligação não está disponível" + +#, fuzzy +#~ msgid "_Reconnect" +#~ msgstr "Contacto Entrou" + +#, fuzzy +#~ msgid "Quit" +#~ msgstr "_Sair" + +#, fuzzy +#~ msgid "Show Contact List" +#~ msgstr "Mostrar Contactos _Offline" + +#, fuzzy +#~ msgid "Add to Contact List" +#~ msgstr "_Adicionar Contacto" + +#, fuzzy +#~ msgid "Invite Contact" +#~ msgstr "Contacto:" + +#, fuzzy +#~ msgid "Configure Group Chat" +#~ msgstr "Chat" + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." +#~ msgstr "" +#~ "Se Verdadeiro (True), Gajim mostrará um ícone em cada aba contendo " +#~ "mensagens não lidas. Dependendo do tema, este ícone poderá ser animado." + +#~ msgid "Invalid character in hostname." +#~ msgstr "Caractere inválido no hostname." + +#~ msgid "Server address required." +#~ msgstr "Endereço de servidor necessário." + +#~ msgid "Invalid character in username." +#~ msgstr "Caractere inválido no nome de utilizador" + +#~ msgid "Invalid character in resource." +#~ msgstr "Caractere inválido no recurso." + +#, fuzzy +#~ msgid "Notification color for contacts signing in." +#~ msgstr "Notificar-me sobre contactos que acabem de se: " + +#, fuzzy +#~ msgid "Notification color for contacts signing out." +#~ msgstr "Notificar-me sobre contactos que acabem de se: " + +#, fuzzy +#~ msgid "Notification color for new message notification." +#~ msgstr "Noti_ficação do estado da conversa:" + +#, fuzzy +#~ msgid "Notification color for file transfer request." +#~ msgstr "_Notificar-me quando uma transferência de ficheiro estiver completa" + +#, fuzzy +#~ msgid "Notification color for file transfer errors." +#~ msgstr "_Notificar-me quando uma transferência de ficheiro estiver completa" + +#, fuzzy +#~ msgid "Event Type" +#~ msgstr "Evento" + +#, fuzzy +#~ msgid "Event desc" +#~ msgstr "Eventos" + +#, fuzzy +#~ msgid "No response from the Server" +#~ msgstr "Não está ligado ao servidor" + +#, fuzzy +#~ msgid "Resource Conflict" +#~ msgstr "Recurso: " + +#, fuzzy +#~ msgid "Unable to load image" +#~ msgstr "Impossível entrar na sala" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Gajim: Criação Passo-a-passo de uma Conta" + +#, fuzzy +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "Necessita de uma conta para se poder ligar\n" +#~ "à rede Jabber." + +#, fuzzy +#~ msgid "I already have an account I want to _use" +#~ msgstr "Já tenho uma conta e quero usá-la" + +#~ msgid "I want to _register for a new account" +#~ msgstr "Quero _registar uma nova conta" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "Por favor escolha uma das opções abaixo:" + +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "Por favor preencha os dados para a sua conta existente" + +#, fuzzy +#~ msgid "_XMPP Address:" +#~ msgstr "_Endereço:" + +#, fuzzy +#~ msgid "Anon_ymous authentication" +#~ msgstr "Usar autenticação" + +#~ msgid "_Password:" +#~ msgstr "_Senha:" + +#~ msgid "Save pass_word" +#~ msgstr "Guardar _senha" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "Se marcado, o Gajim lembrar-se-á da senha para esta conta" + +#~ msgid "_Server:" +#~ msgstr "_Servidor:" + +#~ msgid "Manage..." +#~ msgstr "Gerir..." + +#~ msgid "_Port:" +#~ msgstr "_Porta:" + +#~ msgid "_Advanced" +#~ msgstr "Avançado" + +#, fuzzy +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "Conta está a ser criada\n" +#~ "\n" +#~ "Por favor, aguarde..." + +#~ msgid "Connect when I press Finish" +#~ msgstr "Ligar quando eu premir Concluir" + +#, fuzzy +#~ msgid "Set my profile when I connect" +#~ msgstr "Definir uma imagem pessoal (avatar) quando me ligo" + +#~ msgid "_Finish" +#~ msgstr "_Terminar" + +#, fuzzy +#~ msgid "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." +#~ msgstr "" +#~ "Pode ajustar opções de conta avançadas clicando no botão Avançadas, ou " +#~ "mais tarde clicando no item de menu Contas dentro do menu Editar a partir " +#~ "da janela principal." + +#~ msgid "Your new account has been created successfully" +#~ msgstr "A sua nova conta foi criada com sucesso" + +#~ msgid "Invalid username" +#~ msgstr "Nome de utilizador inválido" + +#~ msgid "You must provide a username to configure this account." +#~ msgstr "Deve introduzir um nome de utilizador para configurar esta conta." + +#, fuzzy +#~ msgid "Invalid server" +#~ msgstr "Nome de utilizador inválido" + +#, fuzzy +#~ msgid "Please provide a server on which you want to register." +#~ msgstr "Por favor, especifique a nova alcunha a usar:" + +#~ msgid "Invalid entry" +#~ msgstr "Entrada inválida" + +#, fuzzy +#~ msgid "Certificate Already in File" +#~ msgstr "Contacto já se encontra na lista" + +#~ msgid "Account name is in use" +#~ msgstr "Nome de conta em uso" + +#~ msgid "You already have an account using this name." +#~ msgstr "Já tem uma conta usando este nome." + +#~ msgid "Connection with account \"%s\" has been lost" +#~ msgstr "Ligação com conta \"%s\" foi perdida" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "Impossível ligar a \"%s\"" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "Impossível ligar a \"%s\"" + +#~ msgid "Check your connection or try again later." +#~ msgstr "Verifique a sua ligação ou tente novamente mais tarde." + +#, fuzzy +#~ msgid "Server replied: %s" +#~ msgstr "Guardado em: %s" + +#, fuzzy +#~ msgid "Connection to proxy failed" +#~ msgstr "Ligação" + +#, fuzzy +#~ msgid "Could not connect to account %s" +#~ msgstr "Impossível ligar a \"%s\"" + +#, fuzzy +#~ msgid "Connection with account %s has been lost. Retry connecting." +#~ msgstr "Ligação com conta \"%s\" foi perdida" + +#~ msgid "Please check your login and password for correctness." +#~ msgstr "Por favor, verifique se o seu login e senha estão correctos." + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "Ligação HTTP" + +#, fuzzy +#~ msgid "Use HTTP prox_y" +#~ msgstr "_Usar proxy" + +#, fuzzy +#~ msgid "Warn on insecure connection" +#~ msgstr "Ligação" + +#, fuzzy +#~ msgid "Contact list, list of contacts" +#~ msgstr "_Arquivar mudanças de estado dos contactos" + +#~ msgid "You are participating in one or more group chats" +#~ msgstr "Está a participar num ou mais chats" + +#, fuzzy +#~ msgid "" +#~ "Changing your status to invisible will result in you leaving those group " +#~ "chats.\n" +#~ "Are you sure you want to go invisible?" +#~ msgstr "" +#~ "Mudar o seu estado para invisível fará com que seja desligado desses " +#~ "chats. De certeza que deseja tornar-se invisível?" + +#, fuzzy +#~ msgid "_Disconnect" +#~ msgstr "Contacto Entrou" + +#, fuzzy +#~ msgid "You cannot join a group chat while you are invisible" +#~ msgstr "Não pode entrar numa sala quando está invisível" + +#~ msgid "Invisible" +#~ msgstr "Invisível" + +#, fuzzy +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "Não pode entrar numa sala quando está invisível" + +#~ msgid "_Invisible" +#~ msgstr "In_visível" + +#, fuzzy +#~ msgid "Yesterday" +#~ msgid_plural "%(nb_days)i days ago" +#~ msgstr[0] "Ontem" +#~ msgstr[1] "Ontem" + +#, fuzzy +#~ msgid "_Cancel Upload" +#~ msgstr "_Cancelar" + +#, fuzzy +#~ msgid "" +#~ "If you close this tab while having chat history disabled, this message " +#~ "will be lost." +#~ msgstr "" +#~ "Se fechar esta aba e o histórico estiver desactivado, esta mensagem será " +#~ "perdida." + +#, fuzzy +#~ msgid "Unregister Failed" +#~ msgstr "Publicação vCard falhou" + +#, fuzzy +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "A ligação ao servidor %s falhou" + +#, fuzzy +#~ msgid "New Password" +#~ msgstr "Guardar senha" + +#, fuzzy +#~ msgid "What do you want to do?" +#~ msgstr "O que pretende fazer?" + +#~ msgid "Remove account from Gajim and from _server" +#~ msgstr "Remover conta do Gajim e do _servidor" + +#, fuzzy +#~ msgid "You must enter a password" +#~ msgstr "Deve introduzir uma senha." + +#, fuzzy +#~ msgid "You still have open chats in your account %s" +#~ msgstr "Não tem nenhuma conta activa" + +#, fuzzy +#~ msgid "To unregister from a server, the account must be enabled." +#~ msgstr "Para mudar o nome da conta, deve estar disconectado." + +#, fuzzy +#~ msgid "Password required" +#~ msgstr "Senha Necessária" + +#, fuzzy +#~ msgid "Still connected to the server" +#~ msgstr "Não está ligado ao servidor" + +#, fuzzy +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "Se remover isto, a ligação será perdida." + +#~ msgid "Connection to server %s failed" +#~ msgstr "A ligação ao servidor %s falhou" + +#~ msgid "What would you like to do?" +#~ msgstr "O que pretende fazer?" + +#, fuzzy +#~ msgid "Remove only from Gajim" +#~ msgstr "Remover conta _apenas do Gajim" + +#, fuzzy +#~ msgid "Contents" +#~ msgstr "_Conteúdo" + +#, fuzzy +#~ msgid "FAQ" +#~ msgstr "_FAQ" + +#~ msgid "Save as Preset Status Message" +#~ msgstr "Guardar como Mensagem de Estado Pré-definida" + +#, fuzzy +#~ msgid "Enter a new nickname for contact %s" +#~ msgstr "Introduza a chave GPG para a conta %s" + +#, fuzzy +#~ msgid "Join a group chat" +#~ msgstr "_Entrar num Chat" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "Aceitar" + +#, fuzzy +#~ msgid "New entry received" +#~ msgstr "Quando um novo evento é recebido" + +#, fuzzy +#~ msgid "Feed name:" +#~ msgstr "nome do tema" + +#, fuzzy +#~ msgid "Last modified:" +#~ msgstr "Nome:" + +#, fuzzy +#~ msgid "Send file?" +#~ msgstr "Enviar _Ficheiro" + +#, fuzzy +#~ msgid "Mail _client" +#~ msgstr "Cliente de e_mail:" + +#, fuzzy +#~ msgid "_Browser" +#~ msgstr "_Navegador:" + +#, fuzzy +#~ msgid "_File manager" +#~ msgstr "Gestor de ficheiros:" + +#, fuzzy +#~ msgid "Applications" +#~ msgstr "Aplicações" + +#, fuzzy +#~ msgid "RST XHTML Generator" +#~ msgstr "Geral" + +#~ msgid "New Single Message" +#~ msgstr "Nova Mensagem Instantânea" + +#, fuzzy +#~ msgid "Error %(code)s: %(msg)s" +#~ msgstr "Introduza a sua mensagem :" + +#, fuzzy +#~ msgid "one" +#~ msgstr "Nenhum" + +#, fuzzy +#~ msgid "three" +#~ msgstr "Rua:" + +#, fuzzy +#~ msgid "four" +#~ msgstr "Porta:" + +#, fuzzy +#~ msgid "five" +#~ msgstr "Ficheiro" + +#, fuzzy +#~ msgid "seven" +#~ msgstr "Evento" + +#, fuzzy +#~ msgid "nine" +#~ msgstr "_Continuar" + +#, fuzzy +#~ msgid "eleven" +#~ msgstr "Apagar MOTD" + +#, fuzzy +#~ msgid "five past %(0)s" +#~ msgstr "Registar para %s" + +#, fuzzy +#~ msgid "ten past %(0)s" +#~ msgstr "Registar para %s" + +#, fuzzy +#~ msgid "quarter past %(0)s" +#~ msgstr "Registar para %s" + +#, fuzzy +#~ msgid "twenty past %(0)s" +#~ msgstr "Registar para %s" + +#, fuzzy +#~ msgid "twenty five past %(0)s" +#~ msgstr "Registar para %s" + +#, fuzzy +#~ msgid "twenty five to %(1)s" +#~ msgstr "Registar para %s" + +#, fuzzy +#~ msgid "twenty to %(1)s" +#~ msgstr "Registar para %s" + +#, fuzzy +#~ msgid "quarter to %(1)s" +#~ msgstr "Registar para %s" + +#, fuzzy +#~ msgid "ten to %(1)s" +#~ msgstr "Registar para %s" + +#, fuzzy +#~ msgid "five to %(1)s" +#~ msgstr "Registar para %s" + +#, fuzzy +#~ msgid "Morning" +#~ msgstr "A trabalhar" + +#, fuzzy +#~ msgid "Noon" +#~ msgstr "Nenhum" + +#, fuzzy +#~ msgid "Evening" +#~ msgstr "Evento" + +#~ msgid "message" +#~ msgstr "mensagem" + +#, fuzzy +#~ msgid "error: %s" +#~ msgstr "Introduza a sua mensagem :" + +#, fuzzy +#~ msgid "Form: %s" +#~ msgstr "De %s" + +#, fuzzy +#~ msgid "XML Input" +#~ msgstr "Entrada XML" + +#, fuzzy +#~ msgid "Ttitle" +#~ msgstr "Título:" + +#, fuzzy +#~ msgid "Screen" +#~ msgstr "green" + +#, fuzzy +#~ msgid "Conversation with " +#~ msgstr "Histórico das Conversas" + +#, fuzzy +#~ msgid "Continued conversation" +#~ msgstr "Ligação" + +#, fuzzy +#~ msgid "%s has invited you to join a discussion" +#~ msgstr "%(contact_jid)s foi convidado(a) para %(room_jid)s." + +#~ msgid "_Send Private Message" +#~ msgstr "E_nviar Mensagem Privada" + +#, fuzzy +#~ msgid "Participant Actions" +#~ msgstr "Participantes" + +#~ msgid "_Voice" +#~ msgstr "_Voz" + +#~ msgid "Mo_derator" +#~ msgstr "Mo_derador" + +#~ msgid "_Member" +#~ msgstr "_Membro" + +#~ msgid "_Admin" +#~ msgstr "_Admin" + +#~ msgid "_Owner" +#~ msgstr "_Dono" + +#, fuzzy +#~ msgid "_Add to Contact List" +#~ msgstr "_Adicionar Contacto" + +#, fuzzy +#~ msgid "_Execute command" +#~ msgstr "comando" + +#, fuzzy +#~ msgid "Change _Nickname..." +#~ msgstr "Muda Alcu_nha" + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "Chat" + +#, fuzzy +#~ msgid "Change _Subject..." +#~ msgstr "Muda A_ssunto" + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "_Entrar num Chat..." + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "Chat" + +#, fuzzy +#~ msgid "_Request Voice" +#~ msgstr "_Voz" + +#, fuzzy +#~ msgid "_Bookmark" +#~ msgstr "Adicionar esta Sala aos _Bookmarks" + +#, fuzzy +#~ msgid "" +#~ "\n" +#~ "Unknown SSL error: %d" +#~ msgstr "Versão D-Bus desconhecida: %s" + +#, fuzzy +#~ msgid "View certificate…" +#~ msgstr "Nome de utilizador inválido" + +#, fuzzy +#~ msgid "Continue" +#~ msgstr "_Continuar" + +#, fuzzy +#~ msgid "Authorization" +#~ msgstr "Autorização foi enviada" + +#, fuzzy +#~ msgid "Account '%s' is still connected to the server" +#~ msgstr "Conta \"%s\" está ligada ao servidor" + +#, fuzzy +#~ msgid "Error While Saving" +#~ msgstr "erro ao enviar" + +#, fuzzy +#~ msgid "Save _As" +#~ msgstr "Guardado em: %s" + +#, fuzzy +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "Jabber ID Inválido" + +#, fuzzy +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "Esta sala não tem assunto" + +#~ msgid "You may specify a reason below:" +#~ msgstr "Pode especificar uma razão em baixo:" + +#~ msgid "Banning %s" +#~ msgstr "Banindo %s" + +#, fuzzy +#~ msgid "" +#~ "Always ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "Perguntar antes de fechar uma janela/aba de chat." + +#, fuzzy +#~ msgid "" +#~ "Never ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "Perguntar antes de fechar uma janela/aba de chat." + +#, fuzzy +#~ msgid "Leave Group Chats" +#~ msgstr "Chat" + +#, fuzzy +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "%(nickname)s na sala %(room_name)s enviou-lhe uma nova mensagem." + +#, fuzzy +#~ msgid "You have not joined a group chat." +#~ msgstr "Neste grupo" + +#, fuzzy +#~ msgid "You left the following group chats:" +#~ msgstr "Saiu das seguintes conversas de grupo:" + +#, fuzzy +#~ msgid "Configure Services…" +#~ msgstr "_Descobrir Recursos..." + +#, fuzzy +#~ msgid "Group Chat Bookmarks" +#~ msgstr "Chat" + +#, fuzzy +#~ msgid "Add Bookmark" +#~ msgstr "Adicionar esta Sala aos _Bookmarks" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "Adicionar esta Sala aos _Bookmarks" + +#, fuzzy +#~ msgid "_Server" +#~ msgstr "_Servidor:" + +#, fuzzy +#~ msgid "_Password" +#~ msgstr "_Senha:" + +#, fuzzy +#~ msgid "Join chat when connected" +#~ msgstr "Contacto Entrou" + +#, fuzzy +#~ msgid "New Group Chat" +#~ msgstr "Chat" + +#~ msgid "This bookmark has invalid data" +#~ msgstr "Este bookmark tem dados inválidos" + +#, fuzzy +#~ msgid "" +#~ "Please be sure to fill out server and group chat fields or remove this " +#~ "bookmark." +#~ msgstr "" +#~ "Por favor, verifique se preencheu os campos servidor e sala ou remova " +#~ "este bookmark" + +#~ msgid "Character not allowed" +#~ msgstr "Carácter não permitido" + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "Jabber ID Inválido" + +#, fuzzy +#~ msgid "Unable to join group chat" +#~ msgstr "Impossível entrar na sala" + +#, fuzzy +#~ msgid "You are banned from group chat %s." +#~ msgstr "Está banido/a desta sala." + +#, fuzzy +#~ msgid "Remote server %s does not exist." +#~ msgstr "Tal sala não existe." + +#, fuzzy +#~ msgid "Group chat %s does not exist." +#~ msgstr "Tal sala não existe." + +#, fuzzy +#~ msgid "Group chat creation is not permitted." +#~ msgstr "Criação de salas encontra-se restrita." + +#, fuzzy +#~ msgid "You must use your registered nickname in %s." +#~ msgstr "A sua alcunha registada tem de ser usada." + +#, fuzzy +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "Não está na lista de membros." + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "Perguntar antes de fechar uma janela/aba de chat." + +#, fuzzy +#~ msgid "Invalid Nickname" +#~ msgstr "Nome de utilizador inválido" + +#, fuzzy +#~ msgid "Wrong server" +#~ msgstr "Frase de acesso" + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "Perguntar antes de fechar uma janela/aba de chat." + +#, fuzzy +#~ msgid "A Password is required to join the group chat %s. Please type it." +#~ msgstr "É necessária uma palavra-passe para esta sala." + +#~ msgid "Not in Roster" +#~ msgstr "Fora da lista" + +#~ msgid "I would like to add you to my roster" +#~ msgstr "Eu gostaria de o adicionar à minha lista" + +#, fuzzy +#~ msgid "Add to Roster" +#~ msgstr "_Adicionar à Lista" + +#, fuzzy +#~ msgid "Manage Room" +#~ msgstr "Gerir Bookmarks" + +#, fuzzy +#~ msgid "Configure Room" +#~ msgstr "Configurar _Sala" + +#, fuzzy +#~ msgid "Destroy Room" +#~ msgstr "Descrição: %s" + +#, fuzzy +#~ msgid "Change Nick" +#~ msgstr "Muda Alcu_nha" + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "Contacto Entrou" + +#, fuzzy +#~ msgid "Copy JID" +#~ msgstr "Sala:" + +#, fuzzy +#~ msgid "Add to Roster…" +#~ msgstr "_Adicionar à Lista" + +#, fuzzy +#~ msgid "Copy JID/Email" +#~ msgstr "_Copiar JID/Endereço de Email" + +#, fuzzy +#~ msgid "JID: %s" +#~ msgstr "JID: %s" + +#~ msgid "Changing Subject" +#~ msgstr "Mudar Assunto" + +#~ msgid "Please specify the new subject:" +#~ msgstr "Por favor, especifique o novo assunto:" + +#, fuzzy +#~ msgid "You (%s) joined the room" +#~ msgstr "Neste grupo" + +#, fuzzy +#~ msgid "Unable to join groupchat" +#~ msgstr "Impossível entrar na sala" + +#, fuzzy +#~ msgid "Groupchat Invitation" +#~ msgstr "?Função do Contacto no Chat:Nenhuma" + +#, fuzzy +#~ msgid "%(jid)s has been invited in this room" +#~ msgstr "%(nick)s foi expulso por %(who)s: %(reason)s" + +#, fuzzy +#~ msgid "JID is not a Groupchat" +#~ msgstr "Perguntar antes de fechar uma janela/aba de chat." + +#, fuzzy +#~ msgid "Invalid JID" +#~ msgstr "Jabber ID Inválido" + +#~ msgid "A connection is not available" +#~ msgstr "Uma ligação não está disponível" + +#, fuzzy +#~ msgid "JID already in list" +#~ msgstr "Cliente de IM Jabber" + +#, fuzzy +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "Uma ligação não está disponível" + +#~ msgid "Removes contact from roster" +#~ msgstr "Remove o contacto da lista" + +#, fuzzy +#~ msgid "Not in roster" +#~ msgstr "Fora da lista" + +#, fuzzy +#~ msgid "Contact signed in notification color." +#~ msgstr "Mostrar apenas na _lista" + +#, fuzzy +#~ msgid "Contact signout notification color" +#~ msgstr "Mostrar apenas na _lista" + +#, fuzzy +#~ msgid "File transfer request notification color." +#~ msgstr "Pedido de Transferência de Ficheiro" + +#, fuzzy +#~ msgid "File transfer error notification color." +#~ msgstr "Transferência de ficheiro cancelada" + +#, fuzzy +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "" +#~ "Quando uma transferência de ficheiro é concluida, exibir um popup de " +#~ "notificação" + +#, fuzzy +#~ msgid "Groupchat invitation notification color" +#~ msgstr "?Função do Contacto no Chat:Nenhuma" + +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "Adicionar * e [n] no título da lista de contactos?" + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "Estou a comer, por isso deixe-me uma mensagem" + +#, fuzzy +#~ msgid "from room %s" +#~ msgstr "De %s" + +#, fuzzy +#~ msgid "Leave Groupchats" +#~ msgstr "Chat" + +#, fuzzy +#~ msgid "Auto Join" +#~ msgstr "Entrar automaticamente" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "Sala:" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#, fuzzy +#~ msgid "Occupant Actions" +#~ msgstr "Acções de _Ocupantes" + +#~ msgid "_Add to Roster" +#~ msgstr "_Adicionar à Lista" + +#, fuzzy +#~ msgid "_Manage Room" +#~ msgstr "Gerir Bookmarks" + +#, fuzzy +#~ msgid "Configure _Room..." +#~ msgstr "Configurar _Sala" + +#, fuzzy +#~ msgid "_Destroy Room" +#~ msgstr "Descrição: %s" + +#, fuzzy +#~ msgid "Jabber ID" +#~ msgstr "Jabber ID:" + +#, fuzzy +#~ msgid "account" +#~ msgstr "conta: " + +#, fuzzy +#~ msgid "Roster" +#~ msgstr "Mostrar _Lista de Contactos" + +#, fuzzy +#~ msgid "Show only in roster" +#~ msgstr "Mostrar apenas na _lista" + +#, fuzzy +#~ msgid "in _roster" +#~ msgstr "Fora da lista" + +#, fuzzy +#~ msgid "Roster Appearance" +#~ msgstr "Aparência" + +#, fuzzy +#~ msgid "_Add to Roster..." +#~ msgstr "_Adicionar à Lista" + +#~ msgid "_Jabber ID:" +#~ msgstr "_Jabber ID:" + +#, fuzzy +#~ msgid "_Jabber ID" +#~ msgstr "_Jabber ID:" + +#, fuzzy +#~ msgid "JabberID" +#~ msgstr "Jabber ID:" + +#, fuzzy +#~ msgid "Show Roster" +#~ msgstr "Mostrar _Lista de Contactos" + +#, fuzzy +#~ msgid "MUC server" +#~ msgstr "Servidor" + +#~ msgid "Room Configuration" +#~ msgstr "Configuração da Sala" + +#~ msgid "Join _Group Chat" +#~ msgstr "_Entrar num Chat" + +#, fuzzy +#~ msgid "Audio sessions are not available" +#~ msgstr "Sessão bus não está disponível" + +#~ msgid "Conference" +#~ msgstr "Conferência" + +#, fuzzy +#~ msgid "_Manage Bookmarks…" +#~ msgstr "Gerir Bookmarks" + +#, fuzzy +#~ msgid "Hide _Roster" +#~ msgstr "Fora da lista" + +#~ msgid "Show _Roster" +#~ msgstr "Mostrar _Lista de Contactos" + +#, fuzzy +#~ msgid "Invalid Room" +#~ msgstr "Entrada inválida" + +#, fuzzy +#~ msgid "Invalid room" +#~ msgstr "Entrada inválida" + +#~ msgid "A GTK+ Jabber client" +#~ msgstr "Cliente Jabber GTK+" + +#~ msgid "Changing Nickname" +#~ msgstr "Mudar Alcunha" + +#~ msgid "Please specify the new nickname you want to use:" +#~ msgstr "Por favor, especifique a nova alcunha a usar:" + +#~ msgid "Bookmark already set" +#~ msgstr "Bookmark já está configurado" + +#, fuzzy +#~ msgid "Group Chat '%s' is already in your bookmarks." +#~ msgstr "Sala \"%s\" já existe nos seus bookmarks." + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "Bookmark foi adicionado com sucesso" + +#, fuzzy +#~ msgid "" +#~ "You can manage your bookmarks by clicking the Bookmarks menu item in your " +#~ "contact list." +#~ msgstr "Pode gerir os seus bookmarks pelo menu de Acções na sua janela." + +#, fuzzy +#~ msgid "The nickname contains invalid characters." +#~ msgstr "Alcunha não encontrada: %s" + +#, fuzzy +#~ msgid "Bookmark Room" +#~ msgstr "Adicionar esta Sala aos _Bookmarks" + +#, fuzzy +#~ msgid "_Join New Group Chat" +#~ msgstr "_Entrar num Chat" + +#~ msgid "Name:" +#~ msgstr "Nome:" + +#~ msgid "Description:" +#~ msgstr "Descrição:" + +#, fuzzy +#~ msgid "Address:" +#~ msgstr "_Endereço:" + +#, fuzzy +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "Não pode entrar num chat sem estar ligado." + +#, fuzzy +#~ msgid "Occupants" +#~ msgstr "Acções de _Ocupantes" + +#~ msgid "_Modify Account..." +#~ msgstr "_Modificar Conta..." + +#, fuzzy +#~ msgid "Integer" +#~ msgstr "Neste grupo" + +#~ msgid "Text" +#~ msgstr "Texto" + +#~ msgid "Value" +#~ msgstr "Valor" + +#~ msgid "(None)" +#~ msgstr "(Nenhum)" + +#~ msgid "Hidden" +#~ msgstr "Escondida" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "Gerir Perfis de Proxy" + +#, fuzzy +#~ msgid "Properties" +#~ msgstr "Propriedades" + +#, fuzzy +#~ msgid "Proxy _Port" +#~ msgstr "_Porta:" + +#, fuzzy +#~ msgid "New Groupchat" +#~ msgstr "Chat" + +#, fuzzy +#~ msgid "New Contact" +#~ msgstr "Adicionar Novo Contacto" + +#~ msgid "%s GiB" +#~ msgstr "%s GiB" + +#~ msgid "%s GB" +#~ msgstr "%s GB" + +#~ msgid "%s MiB" +#~ msgstr "%s MiB" + +#~ msgid "%s MB" +#~ msgstr "%s MB" + +#~ msgid "%s KiB" +#~ msgstr "%s KiB" + +#~ msgid "%s KB" +#~ msgstr "%s KB" + +#~ msgid "%s B" +#~ msgstr "%s B" + +#, fuzzy +#~ msgid "%s MiB/s" +#~ msgstr "%s MiB" + +#, fuzzy +#~ msgid "File transfer" +#~ msgstr "Transferências de Ficheiros" + +#, fuzzy +#~ msgid "Open _Containing Folder" +#~ msgstr "_Abrir Pasta" + +#, fuzzy +#~ msgid "Default:" +#~ msgstr "Apagar MOTD" + +#, fuzzy +#~ msgid "" +#~ "If you close this window, you will be disconnected from this group chat." +#~ msgstr "Se fechar esta janela, perder-se-á a ligação a esta sala." + +#, fuzzy +#~ msgid "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" +#~ msgstr "" +#~ "Deixará de poder enviar e receber mensagens aos contactos desde este " +#~ "transport." + +#~ msgid "Contact \"%s\" will be removed from your roster" +#~ msgstr "Contacto \"%s\" será removido de sua lista" + +#, fuzzy +#~ msgid "" +#~ "By removing this contact you also by default remove authorization " +#~ "resulting in them always seeing you as offline." +#~ msgstr "" +#~ "Ao remover este contacto, também remove a autorização. O contacto vê-lo-á " +#~ "sempre como offline." + +#, fuzzy +#~ msgid "Contacts will be removed from your roster" +#~ msgstr "Contacto \"%s\" será removido de sua lista" + +#, fuzzy +#~ msgid "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorization resulting in them always seeing you as " +#~ "offline." +#~ msgstr "" +#~ "Ao remover este contacto, também remove a autorização. O contacto vê-lo-á " +#~ "sempre como offline." + +#, fuzzy +#~ msgid "Con_tinue" +#~ msgstr "_Continuar" + +#~ msgid "_Pause" +#~ msgstr "_Pausa" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "Remover a transferência de ficheiro da lista." + +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "" +#~ "Esta acção remove uma única transferência de ficheiro da lista. Se a " +#~ "transferência estiver activa, será primeiro interrompida e depois " +#~ "removida." + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "Cancela a transferência de ficheiro seleccionada" + +#, fuzzy +#~ msgid "Hide the window" +#~ msgstr "Esconde a janela" + +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "" +#~ "Quando uma transferência de ficheiro é concluida, exibir um popup de " +#~ "notificação" + +#~ msgid "From:" +#~ msgstr "De:" + +#~ msgid "Subject:" +#~ msgstr "Assunto:" + +#~ msgid "%s wants to send you a file:" +#~ msgstr "%s quer enviar-lhe um ficheiro:" + +#~ msgid "Name: " +#~ msgstr "Nome: " + +#~ msgid "Pause" +#~ msgstr "Pausa" + +#, fuzzy +#~ msgid "Execute Command" +#~ msgstr "comando" + +#~ msgid "Type: " +#~ msgstr "Tipo: " + +#~ msgid "Transferred: " +#~ msgstr "Transferido: " + +#~ msgid "Completed" +#~ msgstr "Completa" + +#~ msgid "Stalled" +#~ msgstr "Interrompida" + +#~ msgid "Transferring" +#~ msgstr "A transferir" + +#~ msgid "Not started" +#~ msgstr "Não iniciada" + +#, fuzzy +#~ msgid "%s day" +#~ msgid_plural "%s days" +#~ msgstr[0] "Há %i dias atrás" +#~ msgstr[1] "Há %i dias atrás" + +#, fuzzy +#~ msgid "" +#~ "Your desired nickname in group chat\n" +#~ "%s\n" +#~ "is in use or registered by another occupant.\n" +#~ "Please specify another nickname below:" +#~ msgstr "" +#~ "A alcunha que deseja encontra-se em uso ou registado por outro ocupante.\n" +#~ "Por favor, introduza outra alcunha em baixo:" + +#, fuzzy +#~ msgid "_Configure" +#~ msgstr "_Continuar" + +#, fuzzy +#~ msgid "Change the avatar" +#~ msgstr "Contacto Saiu" + +#, fuzzy +#~ msgid "add" +#~ msgstr "Interrompida" + +#, fuzzy +#~ msgid "modify" +#~ msgstr "_Modificar" + +#, fuzzy +#~ msgid "remove" +#~ msgstr "_Remover" + +#, fuzzy +#~ msgid "Restored Message Color" +#~ msgstr "Voltar às Cores Padrão" + +#, fuzzy +#~ msgid "Send Cus_tom Status" +#~ msgstr "Pedir para ver o estado dele/dela" + +#, fuzzy +#~ msgid "" +#~ "You are about to send a custom status. Are you sure you want to continue?" +#~ msgstr "" +#~ "Tem de criar uma conta antes de poder conversar com outros contactos." + +#, fuzzy +#~ msgid "" +#~ msgstr "Assunto:" + +#, fuzzy +#~ msgid "You are about to block a contact. Are you sure you want to continue?" +#~ msgstr "" +#~ "Tem de criar uma conta antes de poder conversar com outros contactos." + +#~ msgid "To:" +#~ msgstr "Para:" + +#~ msgid "0" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Reconnect when connection is lost" +#~ msgstr "Religar automaticamente em caso de perda de ligação." + +#, fuzzy +#~ msgid "Server Message Archive" +#~ msgstr "E_nviar Mensagem de Servidor" + +#, fuzzy +#~ msgid "Message Carbons" +#~ msgstr "Mensagem" + +#, fuzzy +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "Permitir o envio de informações do _SO " + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the idle time of your system" +#~ msgstr "Se marcado, o Gajim juntar-se-á a este chat no arranque" + +#, fuzzy +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "Permitir o envio de informações do _SO " + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the local time on your system" +#~ msgstr "Se marcado, o Gajim juntar-se-á a este chat no arranque" + +#, fuzzy +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "Permitir o envio de informações do _SO " + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the operating system you are " +#~ "using" +#~ msgstr "Se marcado, o Gajim juntar-se-á a este chat no arranque" + +#, fuzzy +#~ msgid "" +#~ "If checked, incoming events from unauthorized contacts will be ignored. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster." +#~ msgstr "" +#~ "Marque esta opção apenas se alguem que não está na sua lista o estiver a " +#~ "spammar/incomodar. Use com precaução, pois isto bloqueia todas as " +#~ "mensagens de qualquer contacto que não estiver na sua lista." + +#, fuzzy +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." +#~ msgstr "" +#~ "Gajim pode enviar e receber meta-informação relativa a uma conversa que " +#~ "esteja a ter com um contacto " + +#, fuzzy +#~ msgid "S_end chat state notifications" +#~ msgstr "Noti_ficação do estado da conversa:" + +#, fuzzy +#~ msgid "Login Options" +#~ msgstr "Gerir Emoticons" + +#, fuzzy +#~ msgid "Please wait while retrieving search form..." +#~ msgstr "" +#~ "Por favor, aguarde enquanto que a migração dos seus registos de conversas " +#~ "é feita " + +#, fuzzy +#~ msgid "_Add contact" +#~ msgstr "Adicionar _Contacto" + +#, fuzzy +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "" +#~ "Por favor, aguarde enquanto que a migração dos seus registos de conversas " +#~ "é feita " + +#, fuzzy +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "" +#~ "Por favor, aguarde enquanto que a migração dos seus registos de conversas " +#~ "é feita " + +#, fuzzy +#~ msgid "F_inish" +#~ msgstr "_Terminar" + +#~ msgid "Failed to get secret keys" +#~ msgstr "Erro ao receber as chaves secretas" + +#, fuzzy +#~ msgid "There is no OpenPGP secret key available." +#~ msgstr "Houve um problema ao receber as suas chaves secretas OpenPGP." + +#, fuzzy +#~ msgid "OpenPGP Key Selection" +#~ msgstr "Encriptação OpenPGP" + +#~ msgid "Choose your OpenPGP key" +#~ msgstr "Escolha sua chave OpenPGP" + +#~ msgid "KeyID" +#~ msgstr "KeyID" + +#~ msgid "Contact name" +#~ msgstr "Nome do Contacto" + +#, fuzzy +#~ msgid "OpenPGP is not usable" +#~ msgstr "Não é possível usar OpenPGP neste computador" + +#~ msgid "Assign OpenPGP Key" +#~ msgstr "Atribuir chave OpenPGP" + +#~ msgid "Select a key to apply to the contact" +#~ msgstr "Selecione uma chave para aplicar ao contacto" + +#~ msgid "You are currently connected without your OpenPGP key." +#~ msgstr "Está neste momento ligado sem a sua chave OpenPGP." + +#, fuzzy +#~ msgid "Wrong passphrase" +#~ msgstr "Frase de acesso" + +#, fuzzy +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "Frase de acesso" + +#~ msgid "Passphrase Required" +#~ msgstr "Frase de acesso Necessária" + +#, fuzzy +#~ msgid "" +#~ "Enter OpenPGP key passphrase for key %(keyid)s (account %(account)s)." +#~ msgstr "Introduza a chave GPG para a conta %s" + +#, fuzzy +#~ msgid "OpenPGP key expired" +#~ msgstr "Encriptação OpenPGP" + +#, fuzzy +#~ msgid "" +#~ "Your OpenPGP key has expired, you will be connected to %s without OpenPGP." +#~ msgstr "O utilizador será ligado a %s sem OpenPGP." + +#, fuzzy +#~ msgid "Wrong Passphrase" +#~ msgstr "Frase de acesso" + +#, fuzzy +#~ msgid "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Envia uma nova mensagem a um contacto da lista. Ambas a chave OpenPGP e a " +#~ "conta são opcionais. Se quiser definir apenas 'conta', sem 'chave " +#~ "OpenPGP', basta definir 'chave OpenPGP' para ''." + +#~ msgid "if specified, the message will be encrypted using this public key" +#~ msgstr "" +#~ "se especificado, a mensagem será encriptada usando esta chave pública" + +#, fuzzy +#~ msgid "" +#~ "Sends a chat message to someone on your roster. Optionally with OpenPGP " +#~ "key and account. If you want to only set the latter, set OpenPGP key to " +#~ "\"\"." +#~ msgstr "" +#~ "Envia uma nova mensagem a um contacto da lista. Ambas a chave OpenPGP e a " +#~ "conta são opcionais. Se quiser definir apenas 'conta', sem 'chave " +#~ "OpenPGP', basta definir 'chave OpenPGP' para ''." + +#, fuzzy +#~ msgid "OpenPGP:" +#~ msgstr "OpenPGP: " + +#, fuzzy +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "Atribuir chave OpenPGP" + +#, fuzzy +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "Encriptação OpenPGP" + +#, fuzzy +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "Mensagem recebida:" + +#, fuzzy +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "Sessão bus não está disponível" + +#, fuzzy +#~ msgid "OpenPGP Key" +#~ msgstr "Atribuir chave OpenPGP" + +#, fuzzy +#~ msgid "Cancel confirmation" +#~ msgstr "Informações do Contacto" + +#, fuzzy +#~ msgid "You are invited to a groupchat" +#~ msgstr "Está banido/a desta sala." + +#~ msgid "_Start Chat" +#~ msgstr "_Iniciar Conversa" + +#, fuzzy +#~ msgid "Au_thorize" +#~ msgstr "_Autorizar" + +#~ msgid "You are currently connected to the server" +#~ msgstr "Está neste momento ligado ao servidor" + +#, fuzzy +#~ msgid "To disable the account, you must be disconnected." +#~ msgstr "Para mudar o nome da conta, deve estar disconectado." + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with %(jid)s?" +#~ msgstr "O que pretende fazer?" + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with the selected contacts?" +#~ msgstr "O que pretende fazer?" + +#~ msgid "What do you want to do?" +#~ msgstr "O que pretende fazer?" + +#, fuzzy +#~ msgid "" +#~ "List of colors, separated by \":\", that will be used to color nicknames " +#~ "in group chats." +#~ msgstr "" +#~ "Uma lista de palavras separadas por ponto-e-vírgula e que serão " +#~ "sublinhadas num chat de vários utilizadores." + +#~ msgid "Stopped" +#~ msgstr "Parada" + +#, fuzzy +#~ msgid "Status messages displayed in chat window" +#~ msgstr "Enviar mensagem e fechar a janela" + +#, fuzzy +#~ msgid "?print_status:All" +#~ msgstr "Mostrar hora:" + +#, fuzzy +#~ msgid "?print_status:None" +#~ msgstr "Mostrar hora:" + +#~ msgid "D-Bus python bindings are missing in this computer" +#~ msgstr "Bindings do python D-Bus estão em falta neste computador" + +#~ msgid "D-Bus capabilities of Gajim cannot be used" +#~ msgstr "As potencialidades do D-Bus no Gajim não podem ser usadas" + +#, fuzzy +#~ msgid "D-Bus does not run correctly on this machine: system bus not present" +#~ msgstr "D-Bus não está presente nesta máquina, ou falta módulo python" + +#, fuzzy +#~ msgid "" +#~ "D-Bus does not run correctly on this machine: session bus not present" +#~ msgstr "D-Bus não está presente nesta máquina, ou falta módulo python" + +#, fuzzy +#~ msgid "Command line Control" +#~ msgstr "Comandos: %s" + +#~ msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +#~ msgstr "%(nick)s foi expulso por %(who)s: %(reason)s" + +#~ msgid "%(nick)s has been banned by %(who)s: %(reason)s" +#~ msgstr "%(nick)s foi banido por %(who)s: %(reason)s" + +#, fuzzy +#~ msgid "** Role of %(nick)s has been set to %(role)s" +#~ msgstr "%(nick)s foi expulso: %(reason)s" + +#~ msgid "%s has left" +#~ msgstr "%s saiu da sala" + +#, fuzzy +#~ msgid "%s is full" +#~ msgstr "Registos" + +#, fuzzy +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "Exibir mensagens de estado dos contactos na lista" + +#, fuzzy +#~ msgid "" +#~ "You are about to send your password unencrypted on an insecure " +#~ "connection. Are you sure you want to do that?" +#~ msgstr "" +#~ "Tem de criar uma conta antes de poder conversar com outros contactos." + +#, fuzzy +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "Usar autenticação" + +#, fuzzy +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "Usar autenticação" + +#, fuzzy +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "Usar autenticação" + +#, fuzzy +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." +#~ msgstr "" +#~ "Gajim pode enviar e receber meta-informação relativa a uma conversa que " +#~ "esteja a ter com um contacto " + +#~ msgid "Settings" +#~ msgstr "Definições" + +#, fuzzy +#~ msgid "Toggle full / compact view" +#~ msgstr "Usar sempre _vista compacta" + +#, fuzzy +#~ msgid "Member List" +#~ msgstr "_Membro" + +#, fuzzy +#~ msgid "Owner List" +#~ msgstr "_Dono" + +#, fuzzy +#~ msgid "Administrator List" +#~ msgstr "_Administrador" + +#, fuzzy +#~ msgid "Nick" +#~ msgstr "_Expulsar" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "Quem pretende banir?\n" +#~ "\n" + +#~ msgid "" +#~ "Whom do you want to make a member?\n" +#~ "\n" +#~ msgstr "" +#~ "Quem quer tornar membro?\n" +#~ "\n" + +#, fuzzy +#~ msgid "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" +#~ msgstr "O que pretende fazer?" + +#, fuzzy +#~ msgid "Adding Administrator…" +#~ msgstr "_Administrador" + +#~ msgid "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" +#~ msgstr "" +#~ "Quem quer eleger como administrador?\n" +#~ "\n" + +#~ msgid "Error reading file:" +#~ msgstr "Erro na leitura do ficheiro:" + +#~ msgid "Error parsing file:" +#~ msgstr "Erro na interpretação (parsing) do ficheiro:" + +#~ msgid "Description" +#~ msgstr "Descrição" + +#, fuzzy +#~ msgid "Password encryption" +#~ msgstr "As senhas não conferem" + +#, fuzzy +#~ msgid "Automatic status" +#~ msgstr "Pedir para ver o estado dele/dela" + +#, fuzzy +#~ msgid "?features:Available" +#~ msgstr "Disponível" + +#, fuzzy +#~ msgid "Feature" +#~ msgstr "Recursos dos Servidores" + +#~ msgid "Filter:" +#~ msgstr "Filtro:" + +#, fuzzy +#~ msgid "Chat Appearance" +#~ msgstr "Formato de uma linha" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed out" +#~ msgstr "" +#~ "Gajim o notificará através de um popup no canto inferior direito do ecrã " +#~ "sobre os contactos que se desligarem" + +#~ msgid "Sounds" +#~ msgstr "Sons" + +#, fuzzy +#~ msgid "Chat state notifications" +#~ msgstr "Notificações Visuais" + +#, fuzzy +#~ msgid "_Away after" +#~ msgstr "Marcar automaticamente como _ausente depois de:" + +#, fuzzy +#~ msgid "_Not available after" +#~ msgstr "Marcar automaticamente como _indisponível depois de:" + +#, fuzzy +#~ msgid "Auto Status" +#~ msgstr "Aplicações" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "Configurar Mensagens de Estado" + +#, fuzzy +#~ msgid "Audio" +#~ msgstr "Aplicações" + +#, fuzzy +#~ msgid "Video" +#~ msgstr "Formato de uma linha" + +#, fuzzy +#~ msgid "Connection" +#~ msgstr "Sons" + +#~ msgid "Custom" +#~ msgstr "Definições Personalizadas" + +#, fuzzy +#~ msgid "Privacy" +#~ msgstr "Propriedades" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "Editor de Configuração Avançada" + +#, fuzzy +#~ msgid "File transfer, room bookmarks" +#~ msgstr "Erro na Transferência de Ficheiro" + +#, fuzzy +#~ msgid "XML console interface" +#~ msgstr "Consola XML" + +#, fuzzy +#~ msgid "" +#~ "A programming error has been detected. It probably is not fatal, but " +#~ "should be reported to the developers nonetheless." +#~ msgstr "" +#~ "Foi detectado um erro de programação.\n" +#~ "Provavelmente não é fatal, mesmo assim deverá ser comunicado\n" +#~ " aos programadores" + +#, fuzzy +#~ msgid "(ESession info)" +#~ msgstr "Descrição" + +#, fuzzy +#~ msgid "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" +#~ msgstr "" +#~ "Se marcado, o Gajim trocará smilies ASCII tais como ':)' pelos emoticons " +#~ "gráficos equivalentes." + +#, fuzzy +#~ msgid "_Emoticons" +#~ msgstr "Gerir Emoticons" + +#~ msgid "_Highlight misspelled words" +#~ msgstr "_Destacar palavras mal soletradas" + +#, fuzzy +#~ msgid "T_heme" +#~ msgstr "Tema:" + +#, fuzzy +#~ msgid "Themes" +#~ msgstr "Propriedades" + +#, fuzzy +#~ msgid "Presence" +#~ msgstr "_Presença" + +#, fuzzy +#~ msgid "Emoticons disabled" +#~ msgstr "Encriptação desactivada" + +#, fuzzy +#~ msgid "You cannot make changes to the default theme" +#~ msgstr "Não pode apagar o seu tema actual" + +#~ msgid "theme name" +#~ msgstr "nome do tema" + +#~ msgid "You cannot delete your current theme" +#~ msgstr "Não pode apagar o seu tema actual" + +#~ msgid "New Single Message from %(nickname)s" +#~ msgstr "Nova Mensagem Única de %(nickname)s" + +#~ msgid "New Private Message from group chat %s" +#~ msgstr "Nova Mensagem Privada da conversa de grupo %s" + +#, fuzzy +#~ msgid "Messaged by %(nickname)s" +#~ msgstr "Nova Mensagem como %s" + +#, fuzzy +#~ msgid "Status message text color." +#~ msgstr "texto da mensagem de estado" + +#, fuzzy +#~ msgid "Incoming nickname font." +#~ msgstr "Nome de utilizador inválido" + +#, fuzzy +#~ msgid "Status message text font." +#~ msgstr "texto da mensagem de estado" + +#~ msgid "green" +#~ msgstr "green" + +#~ msgid "grocery" +#~ msgstr "grocery" + +#~ msgid "human" +#~ msgstr "human" + +#~ msgid "marine" +#~ msgstr "marine" + +#, fuzzy +#~ msgid "Contact row" +#~ msgstr "Contacto:" + +#, fuzzy +#~ msgid "Chat Banner" +#~ msgstr "Faixa:" + +#~ msgid "Gajim Themes Customization" +#~ msgstr "Personalização de Temas do Gajim" + +#~ msgid "Text _color:" +#~ msgstr "_Cor do texto" + +#~ msgid "_Background:" +#~ msgstr "Cor _de fundo" + +#~ msgid "Text _font:" +#~ msgstr "_Letra do texto" + +#~ msgid "Font style:" +#~ msgstr "Estilo da letra:" + +#~ msgid "Paused" +#~ msgstr "Pausada" + +#, fuzzy +#~ msgid "Gone" +#~ msgstr "Nenhum" + +#, fuzzy +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "Mensagem" + +#, fuzzy +#~ msgid "Chat message" +#~ msgstr "Mensagem de estado:" + +#, fuzzy +#~ msgid "Font" +#~ msgstr "Registos" + +#, fuzzy +#~ msgid "Contact's nickname" +#~ msgstr "Nome do Contacto" + +#, fuzzy +#~ msgid "_Status message" +#~ msgstr "Mensagem de estado:" + +#, fuzzy +#~ msgid "Your message" +#~ msgstr "Introduza a sua mensagem :" + +#, fuzzy +#~ msgid "Chat Line Colors" +#~ msgstr "Mudanças na última versão" + +#, fuzzy +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#~ msgid "Resource:" +#~ msgstr "Recurso:" + +#, fuzzy +#~ msgid "Status:" +#~ msgstr "Definições" + +#, fuzzy +#~ msgid "Client:" +#~ msgstr "Definições Personalizadas" + +#, fuzzy +#~ msgid "Contact time:" +#~ msgstr "Definições" + +#, fuzzy +#~ msgid "Ask:" +#~ msgstr "Aplicações" + +#, fuzzy +#~ msgid "Subscription:" +#~ msgstr "Descrição" + +#, fuzzy +#~ msgid "Name:" +#~ msgstr "Definições Personalizadas" + +#~ msgid "Nickname:" +#~ msgstr "Alcunha:" + +#, fuzzy +#~ msgid "Street:" +#~ msgstr "Definições" + +#, fuzzy +#~ msgid "City:" +#~ msgstr "Definições Personalizadas" + +#, fuzzy +#~ msgid "State:" +#~ msgstr "Definições" + +#~ msgid "Extra Address:" +#~ msgstr "Endereço Extra:" + +#~ msgid "Postal Code:" +#~ msgstr "Código Postal:" + +#, fuzzy +#~ msgid "Country:" +#~ msgstr "Sons" + +#, fuzzy +#~ msgid "Homepage:" +#~ msgstr "Página pessoal:" + +#~ msgid "E-Mail:" +#~ msgstr "Correio Electrónico" + +#~ msgid "Phone No.:" +#~ msgstr "N.º Telefone:" + +#, fuzzy +#~ msgid "Birthday:" +#~ msgstr "Aniversário" + +#~ msgid "Family:" +#~ msgstr "Família:" + +#, fuzzy +#~ msgid "Middle:" +#~ msgstr "Formato de uma linha" + +#, fuzzy +#~ msgid "Prefix:" +#~ msgstr "Propriedades" + +#, fuzzy +#~ msgid "Given:" +#~ msgstr "OpenPGP" + +#, fuzzy +#~ msgid "Suffix:" +#~ msgstr "Sons" + +#, fuzzy +#~ msgid "Full Name" +#~ msgstr "Definições Personalizadas" + +#, fuzzy +#~ msgid "Company:" +#~ msgstr "Definições Personalizadas" + +#~ msgid "Department:" +#~ msgstr "Departamento:" + +#, fuzzy +#~ msgid "Position:" +#~ msgstr "Sons" + +#, fuzzy +#~ msgid "Role:" +#~ msgstr "Registos" + +#~ msgid "Edit %s" +#~ msgstr "_Editar %s" + +#~ msgid "Conversation History with %s" +#~ msgstr "Histórico de Conversas com %s" + +#~ msgid "Contact with \"%s\" cannot be established" +#~ msgstr "Contacto com \"%s\" não pode ser estabelecido" + +#~ msgid "Registration information for transport %s has not arrived in time" +#~ msgstr "Informação de registo para o transport %s não chegou a tempo" + +#~ msgid "Register to" +#~ msgstr "Registar para" + +#, fuzzy +#~ msgid "Enter name / JID of contact or groupchat" +#~ msgstr "Nome do Contacto" + +#, fuzzy +#~ msgid "Search:" +#~ msgstr "_Pesquisar" + +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "Tem de estar ligado para poder mudar a sua senha." + +#~ msgid "Invalid password" +#~ msgstr "Senha Inválida" + +#~ msgid "The passwords typed in both fields must be identical." +#~ msgstr "As senhas introduzidas em ambos os campos devem ser idênticas." + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "Introduza novamente para confirmação" + +#, fuzzy +#~ msgid "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" +#~ msgstr "" +#~ "JID %s não é compatível com RFC. Não será adicionado à sua lista. Utilize " +#~ "ferramentas de gestão de lista (roster) tais como http://jru.jabberstudio." +#~ "org/ para o remover." + +#~ msgid "unsubscribe request from %s" +#~ msgstr "pedido de remoção de subscrição por %s" + +#, fuzzy +#~ msgid "Homepage:" +#~ msgstr "Página pessoal:" + +#~ msgid "Manage Bookmarks" +#~ msgstr "Gerir Bookmarks" + +#~ msgid "_Nickname:" +#~ msgstr "_Alcunha:" + +#, fuzzy +#~ msgid "Pr_int status:" +#~ msgstr "Mostrar hora:" + +#, fuzzy +#~ msgid "Add JID" +#~ msgstr "Jabber ID:" + +#, fuzzy +#~ msgid "Preference:" +#~ msgstr "Preferências" + +#, fuzzy +#~ msgid "Preference" +#~ msgstr "Preferências" + +#, fuzzy +#~ msgid "JID:" +#~ msgstr "O seu JID:" + +#, fuzzy +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "" +#~ "Por favor preencha os dados do contacto que deseja adicionar na conta %s" + +#~ msgid "Please fill in the data of the contact you want to add" +#~ msgstr "Por favor preencha os dados do contacto que deseja adicionar" + +#, fuzzy +#~ msgid "Recently" +#~ msgstr "Recentemente:" + +#~ msgid "Add New Contact" +#~ msgstr "Adicionar Novo Contacto" + +#, fuzzy +#~ msgid "_User ID:" +#~ msgstr "ID do Utilizador:" + +#, fuzzy +#~ msgid "Type User ID" +#~ msgstr "ID do Utilizador:" + +#, fuzzy +#~ msgid "Type Nickname" +#~ msgstr "Alcunha:" + +#~ msgid "Personal Information" +#~ msgstr "Detalhes Pessoais..." + +#, fuzzy +#~ msgid "Avatar:" +#~ msgstr "Definir _Avatar" + +#, fuzzy +#~ msgid "Remove Avatar" +#~ msgstr "_Remover" + +#, fuzzy +#~ msgid "Yahoo! Address:" +#~ msgstr "Complemento:" + +#, fuzzy +#~ msgid "Forward unread messages" +#~ msgstr "Gajim - %d mensagem não lida" + +#, fuzzy +#~ msgid "Forward unread message then disconnect" +#~ msgstr "Gajim - %d mensagem não lida" + +#, fuzzy +#~ msgid "MSN Address:" +#~ msgstr "_Endereço:" + +#, fuzzy +#~ msgid "End to End message encryption" +#~ msgstr "Encriptação OpenPGP" + +#, fuzzy +#~ msgid "Encrypting chat messages." +#~ msgstr "Mensagem recebida:" + +#, fuzzy +#~ msgid "This session is encrypted" +#~ msgstr "[Esta mensagem é encriptada]" + +#, fuzzy +#~ msgid "end-to-end encryption disabled" +#~ msgstr "Encriptação desactivada" + +#, fuzzy +#~ msgid "Unable to decrypt message" +#~ msgstr "Em todas as _mensagens" + +#, fuzzy +#~ msgid "Save Image as…" +#~ msgstr "Guardar Ficheiro como..." + +#, fuzzy +#~ msgid "Exporting History Logs…" +#~ msgstr "Fazendo a 'migração' dos logs..." + +#, fuzzy +#~ msgid "Unable to load idle module" +#~ msgstr "Impossível entrar na sala" + +#, fuzzy +#~ msgid "%s or %s is a directory but should be a file" +#~ msgstr "%s é um directório, mas deveria ser um ficheiro" + +#~ msgid "creating logs database" +#~ msgstr "a criar base de dados dos logs" + +#, fuzzy +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "Enviar %s" + +#, fuzzy +#~ msgid "Rename account label" +#~ msgstr "Gerir Contas" + +#, fuzzy +#~ msgid "Send Single Message..." +#~ msgstr "Enviar _Mensagem Simples" + +#, fuzzy +#~ msgid "E2E encryption disabled" +#~ msgstr "Encriptação desactivada" + +#, fuzzy +#~ msgid "" +#~ "Install /\n" +#~ "Upgrade" +#~ msgstr "Interrompida" + +#, fuzzy +#~ msgid "Install/Upgrade" +#~ msgstr "Interrompida" + +#~ msgid "cyan" +#~ msgstr "cyan" + +#, fuzzy +#~ msgid "migrating logs database to indices" +#~ msgstr "a criar base de dados dos logs" + +#, fuzzy +#~ msgid "Send File..." +#~ msgstr "Enviar _Ficheiro" + +#, fuzzy +#~ msgid "Jingle File Transfer" +#~ msgstr "Transferências de Ficheiros" + +#~ msgid "Shows or hides the roster window" +#~ msgstr "Mostra ou esconde a janela principal" + +#, fuzzy +#~ msgid "Shows or hides the ipython window" +#~ msgstr "Mostra ou esconde a janela principal" + +#, fuzzy +#~ msgid "XMPP account %s" +#~ msgstr "para conta %s" + +#, fuzzy +#~ msgid "Exception" +#~ msgstr "Descrição" + +#, fuzzy +#~ msgid "" +#~ "someone@somewhere.com would like you to add some contacts " +#~ "in your roster." +#~ msgstr "Gostaria de o adicionar à minha lista de contactos." + +#~ msgid "_Actions" +#~ msgstr "_Acções" + +#, fuzzy +#~ msgid "You are already in group chat %s" +#~ msgstr "Já está na sala %s" + +#~ msgid "Join Group Chat with account %s" +#~ msgstr "Entrar num Chat com a conta %s" + +#, fuzzy +#~ msgid "" +#~ "You have to choose an account from which you want to join the groupchat." +#~ msgstr "" +#~ "Tem de criar uma conta antes de poder conversar com outros contactos." + +#, fuzzy +#~ msgid "The group chat JID contains invalid characters." +#~ msgstr "Alcunha não encontrada: %s" + +#~ msgid "Start Chat with account %s" +#~ msgstr "Iniciar conversa com a conta %s" + +#, fuzzy +#~ msgid "" +#~ "Fill in the nickname or the JID of the contact you would like\n" +#~ "to send a chat message to:" +#~ msgstr "" +#~ "Introduza o ID do contacto a quem gostaria\n" +#~ "de enviar uma mensagem instantânea:" + +#, fuzzy +#~ msgid "Nickname / JID" +#~ msgstr "Jabber ID Inválido" + +#, fuzzy +#~ msgid "Unable to parse \"%s\"." +#~ msgstr "Impossível escrever ficheiro em %s" + +#~ msgid "Shows the chat dialog so that you can send messages to a contact" +#~ msgstr "" +#~ "Mostra uma caixa de conversa para que possa enviar mensagens a um contacto" + +#~ msgid "JID of the contact that you want to chat with" +#~ msgstr "JID do contacto com quem deseja conversar" + +#~ msgid "Adds contact to roster" +#~ msgstr "Adiciona o contacto à lista" + +#, fuzzy +#~ msgid "Adds new contact to this account" +#~ msgstr "Adiciona um novo contacto nesta conta." + +#, fuzzy +#~ msgid "Starts chat, using this account" +#~ msgstr "Iniciar conversa com a conta %s" + +#, fuzzy +#~ msgid "Message content" +#~ msgstr "conteúdo da mensagem" + +#, fuzzy +#~ msgid "Join a MUC room" +#~ msgstr "_Juntar-se a uma Nova Sala" + +#, fuzzy +#~ msgid "Nickname to use" +#~ msgstr "Alcunha não encontrada: %s" + +#, fuzzy +#~ msgid "Password to enter the room" +#~ msgstr "As senhas não conferem" + +#, fuzzy +#~ msgid "Wrong URI" +#~ msgstr "Frase de acesso" + +#~ msgid "Nickname:" +#~ msgstr "Alcunha:" + +#~ msgid "Server:" +#~ msgstr "Servidor:" + +#, fuzzy +#~ msgid "Join this room _automatically when I connect" +#~ msgstr "Definir uma imagem pessoal (avatar) quando me ligo" + +#, fuzzy +#~ msgid "Bro_wse Rooms" +#~ msgstr "_Explorar" + +#, fuzzy +#~ msgid "Network-Watcher" +#~ msgstr "_Histórico" + +#, fuzzy +#~ msgid "Hides the buttons in chat windows." +#~ msgstr "Perguntar antes de fechar uma janela/aba de chat." + +#, fuzzy +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "Adicionar esta Sala aos _Bookmarks" + +#, fuzzy +#~ msgid "Show advanced functions (Alt+D)" +#~ msgstr "Clique para inserir um emoticon (Alt+E)" + +#, fuzzy +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "Adiciona o contacto à lista" + +#, fuzzy +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "está a prestar atenção à conversa" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Adiciona o contacto à lista" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Adiciona o contacto à lista" + +#, fuzzy +#~ msgid "Ma_ke message windows compact" +#~ msgstr "Enviar mensagem e fechar a janela" + +#, fuzzy +#~ msgid "Hide all buttons in chat windows" +#~ msgstr "Perguntar antes de fechar uma janela/aba de chat." + +#~ msgid "Hide the chat buttons" +#~ msgstr "Ocultar os botões da conversa" + +#~ msgid "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." +#~ msgstr "" +#~ "Se Verdadeiro (True), Gajim perguntará por um avatar a cada contacto que " +#~ "não tinha um da última vez ou tenha um na memória cache há demasiado " +#~ "tempo." + +#, fuzzy +#~ msgid "?CLI:room" +#~ msgstr "De" + +#, fuzzy +#~ msgid "?CLI:nick" +#~ msgstr "_Expulsar" + +#, fuzzy +#~ msgid "?CLI:password" +#~ msgstr "Senha:" + +#, fuzzy +#~ msgid "Use D-Bus and Notification-Daemon to show notifications" +#~ msgstr "Usar DBus e Notification-Daemon para mostrar notificações" + +#, fuzzy +#~ msgid "Notification" +#~ msgstr "Modificação da Conta" + +#, fuzzy +#~ msgid "Ignore" +#~ msgstr "_Continuar" + +#, fuzzy +#~ msgid "_Open Gmail Inbox" +#~ msgstr "_Abrir Compositor de Email" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will also include information about the sender of new " +#~ "emails" +#~ msgstr "" +#~ "Se marcado, Gajim exibirá imagens pessoais (avatars) dos seus contactos " +#~ "na lista" + +#, fuzzy +#~ msgid "GMail Options" +#~ msgstr "Aplicações" + +#, fuzzy +#~ msgid "20" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Invited %s to %s" +#~ msgstr "Enviar %s" + +#, fuzzy +#~ msgid "GMail Email Received" +#~ msgstr "Convite Recebido" + +#, fuzzy +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "Tem mensagens não lidas" +#~ msgstr[1] "Tem mensagens não lidas" + +#, fuzzy +#~ msgid "Resour_ce:" +#~ msgstr "Re_curso: " + +#~ msgid "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" +#~ msgstr "" +#~ "O recurso é enviado ao servidor jabber para separar o mesmo JID em duas " +#~ "ou mais partes dependentemente do número de clientes ligados ao mesmo " +#~ "servidor com as mesma conta. Por exemplo, pode estar ligado à mesma conta " +#~ "com os recursos 'Casa' e 'Trabalho' ao mesmo tempo. O recurso com a maior " +#~ "prioridade receberá os eventos. (ver em baixo)" + +#, fuzzy +#~ msgid "Anonymous authentication" +#~ msgstr "Usar autenticação" + +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "A prioridade é usada no Jabber para determinar quem recebe os eventos do " +#~ "servidor jabber quando dois ou mais clientes estão ligados usando a mesma " +#~ "conta; O cliente com a maior prioridade receberá os eventos" + +#, fuzzy +#~ msgid "Synchronize contacts" +#~ msgstr "Mostrar Contactos _Offline" + +#~ msgid "Chan_ge Password" +#~ msgstr "Mu_dar Senha" + +#, fuzzy +#~ msgid "Administration operations" +#~ msgstr "_Administrador" + +#, fuzzy +#~ msgid "Browse..." +#~ msgstr "_Explorar" + +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "" +#~ "Se marcado, o Gajim, quando iniciado, ligar-se-á automaticamente ao " +#~ "jabber usando esta conta" + +#, fuzzy +#~ msgid "Synchronize logs with server" +#~ msgstr "Mostrar Contactos _Offline" + +#~ msgid "Synch_ronize account status with global status" +#~ msgstr "Sinc_ronizar estado da conta com estado global" + +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "Se marcado, qualquer mudança feita ao estado global (gerido pelo combobox " +#~ "no fundo da lista de contactos) alterará também o estado desta conta" + +#, fuzzy +#~ msgid "Proxy" +#~ msgstr "Registos" + +#, fuzzy +#~ msgid "Send _keep-alive packets" +#~ msgstr "Enviar pacotes keep-alive" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "" +#~ "Se marcado, o Gajim enviará pacotes keep-alive para evitar timeouts da " +#~ "ligação, os quais resultam na perda dessa ligação" + +#, fuzzy +#~ msgid "Use cust_om hostname/port" +#~ msgstr "Usar hostname/porta personalizados" + +#, fuzzy +#~ msgid "_Hostname: " +#~ msgstr "Nome do Host:" + +#, fuzzy +#~ msgid "_Port: " +#~ msgstr "_Porta:" + +#~ msgid "Choose _Key..." +#~ msgstr "_Escolha chave..." + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "Se marcado, o Gajim lembrar-se-á da senha para esta conta" + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#, fuzzy +#~ msgid "_Edit Personal Information..." +#~ msgstr "Editar Detalhes Pessoais..." + +#~ msgid "Personal Information" +#~ msgstr "Detalhes Pessoais" + +#, fuzzy +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "_Ligar ao arranque" + +#, fuzzy +#~ msgid "Synchroni_ze account status with global status" +#~ msgstr "Sinc_ronizar estado da conta com estado global" + +#, fuzzy +#~ msgid "Use cust_om port:" +#~ msgstr "Usar hostname/porta personalizados" + +#, fuzzy +#~ msgid "OpenPGP is not usable on this computer" +#~ msgstr "Não é possível usar OpenPGP neste computador" + +#~ msgid "To change the account name, you must be disconnected." +#~ msgstr "Para mudar o nome da conta, deve estar disconectado." + +#, fuzzy +#~ msgid "To change the account name, you must read all pending events." +#~ msgstr "Para mudar o nome da conta, deve estar disconectado." + +#, fuzzy +#~ msgid "Account Name Already Used" +#~ msgstr "Nome de conta em uso" + +#~ msgid "Account name cannot be empty." +#~ msgstr "Nome da conta não pode ser vazio" + +#~ msgid "Account name cannot contain spaces." +#~ msgstr "Nome da conta não pode conter espaços" + +#, fuzzy +#~ msgid "Enter a new name for account %s" +#~ msgstr "Introduza a chave GPG para a conta %s" + +#, fuzzy +#~ msgid "A JID must be in the form \"user@servername\"." +#~ msgstr "Um Jabber ID deve estar no formato \"utilizador@nomedoservidor\"." + +#~ msgid "No such account available" +#~ msgstr "Tal conta não está disponível" + +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "Deve primeiro criar sua conta antes de editar suas informações" + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "" +#~ "Sem ligação, não lhe é possível editar as suas informações pessoais." + +#, fuzzy +#~ msgid "Your server can't save your personal information." +#~ msgstr "Deve primeiro criar sua conta antes de editar suas informações" + +#~ msgid "Could not write to %s. Session Management support will not work" +#~ msgstr "Impossível escrever para %s. Session Management não será suportado" + +#~ msgid "Jabber Traffic" +#~ msgstr "Tráfego Jabber" + +#, fuzzy +#~ msgid "_Enable" +#~ msgstr "Activar" + +#, fuzzy +#~ msgid "Filter" +#~ msgstr "Registos" + +#~ msgid "_IQ" +#~ msgstr "_IC" + +#~ msgid "Info/Query" +#~ msgstr "Info/Consulta" + +#~ msgid "XML Input" +#~ msgstr "Entrada XML" + +#~ msgid "XML Console for %s" +#~ msgstr "Consola XML para %s" + +#, fuzzy +#~ msgid "Idle for:" +#~ msgstr "Consola XML para %s" + +#, fuzzy +#~ msgid "Last status: %s" +#~ msgstr "Iconset de _estados padrão:" + +#, fuzzy +#~ msgid " since %s" +#~ msgstr "Versão %s" + +#, fuzzy +#~ msgid "since %s" +#~ msgstr "Versão %s" + +#, fuzzy +#~ msgid "Prefer" +#~ msgstr "Preferências" + +#, fuzzy +#~ msgid "Auto" +#~ msgstr "Entrar automaticamente" + +#, fuzzy +#~ msgid "otr" +#~ msgstr "_Host:" + +#, fuzzy +#~ msgid "Invalid expire value" +#~ msgstr "Nome de utilizador inválido" + +#~ msgid "How many minutes should last lines from previous conversation last." +#~ msgstr "" +#~ "Número de minutos que as últimas linhas da conversa anterior devem durar." + +#~ msgid "You will be connected to %s without OpenPGP." +#~ msgstr "O utilizador será ligado a %s sem OpenPGP." + +#, fuzzy +#~ msgid "The following message was NOT encrypted" +#~ msgstr "[Esta mensagem é encriptada]" + +#~ msgid "Toggle Open_PGP Encryption" +#~ msgstr "Activar/Desactivar Encriptação Open_PGP" + +#, fuzzy +#~ msgid "Toggle End to End Encryption" +#~ msgstr "Activar/Desactivar Encriptação Open_PGP" + +#, fuzzy +#~ msgid "OpenPGP encryption enabled" +#~ msgstr "Encriptação activada" + +#, fuzzy +#~ msgid "The following message was encrypted" +#~ msgstr "[Esta mensagem é encriptada]" + +#, fuzzy +#~ msgid "Toggle the OpenPGP encryption" +#~ msgstr "Activar/Desactivar Encriptação Open_PGP" + +#, fuzzy +#~ msgid "[This message is *encrypted* (See :XEP:`27`]" +#~ msgstr "[Esta mensagem é encriptada]" + +#, fuzzy +#~ msgid "Database cannot be read." +#~ msgstr "Nome da conta não pode ser vazio" + +#, fuzzy +#~ msgid "Smooth scroll message in conversation window" +#~ msgstr "Enviar mensagem e fechar a janela" + +#, fuzzy +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "Iniciar Conversa" + +#~ msgid "_Administrator" +#~ msgstr "_Administrador" + +#, fuzzy +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "" +#~ "Envia uma mensagem aos utilizadores ligados ao servidor neste momento" + +#~ msgid "Sets Message of the Day" +#~ msgstr "Define a Mensagem do Dia" + +#~ msgid "Updates Message of the Day" +#~ msgstr "Actualiza a Mensagem do Dia" + +#~ msgid "Deletes Message of the Day" +#~ msgstr "Apaga a Mensagem do Dia" + +#, fuzzy +#~ msgid "Add _Contact..." +#~ msgstr "_Adicionar Contacto" + +#, fuzzy +#~ msgid "Profile, A_vatar" +#~ msgstr "Perfil, Avatar" + +#~ msgid "File _Transfers" +#~ msgstr "_Transferências de Ficheiros" + +#~ msgid "Help online" +#~ msgstr "Ajuda online" + +#~ msgid "Frequently Asked Questions (online)" +#~ msgstr "Questões Perguntadas Frequentemente (FAQ) (online)" + +#, fuzzy +#~ msgid "Fea_tures" +#~ msgstr "Recursos dos Servidores" + +#~ msgid "to %s account" +#~ msgstr "para conta %s" + +#~ msgid "using %s account" +#~ msgstr "usando conta %s" + +#, fuzzy +#~ msgid "of account %s" +#~ msgstr "para conta %s" + +#~ msgid "for account %s" +#~ msgstr "para conta %s" + +#, fuzzy +#~ msgid "" +#~ "By removing this contact you also remove authorization resulting in him " +#~ "or her always seeing you as offline." +#~ msgstr "" +#~ "Ao remover este contacto, também remove a autorização. O contacto vê-lo-á " +#~ "sempre como offline." + +#~ msgid "Invalid Jabber ID" +#~ msgstr "Jabber ID Inválido" + +#~ msgid "This file is being used by another process." +#~ msgstr "Este ficheiro está a ser usado por outro processo." + +#~ msgid "pgp key" +#~ msgstr "chave pgp" + +#, fuzzy +#~ msgid "" +#~ "Sends new single message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Envia uma nova mensagem a um contacto da lista. Ambas a chave OpenPGP e a " +#~ "conta são opcionais. Se quiser definir apenas 'conta', sem 'chave " +#~ "OpenPGP', basta definir 'chave OpenPGP' para ''." + +#, fuzzy +#~ msgid "Please first choose another theme as your current theme." +#~ msgstr "Por favor, escolha primeiro outro para o seu tema actual." + +#~ msgid "Your passphrase is incorrect" +#~ msgstr "A sua chave de acesso está incorrecta" + +#, fuzzy +#~ msgid "OpenPGP Passphrase Incorrect" +#~ msgstr "A sua chave de acesso está incorrecta" + +#~ msgid "You successfully received %(filename)s from %(name)s." +#~ msgstr "Recebeu com sucesso %(filename)s de %(name)s." + +#, fuzzy +#~ msgid "Set logs directory" +#~ msgstr "a criar directório %s" + +#, fuzzy +#~ msgid "_Manage Bookmarks..." +#~ msgstr "Gerir Bookmarks..." + +#~ msgid "Change Status Message..." +#~ msgstr "Mudar Mensagem de Estado..." + +#~ msgid "_Change Status Message..." +#~ msgstr "_Mudar Mensagem de Estado..." + +#~ msgid "" +#~ "You are not interested in the contact's presence, and neither he/she is " +#~ "interested in yours" +#~ msgstr "" +#~ "Não está interessado na presença do contacto, nem ele/ela está na sua" + +#, fuzzy +#~ msgid "Error description..." +#~ msgstr "Descrição" + +#, fuzzy +#~ msgid "View contact information (Ctrl+I)" +#~ msgstr "está a prestar atenção à conversa" + +#, fuzzy +#~ msgid "All Chat Histories" +#~ msgstr "Estado: " + +#~ msgid "More" +#~ msgstr "Mais" + +#~ msgid "creating %s directory" +#~ msgstr "a criar directório %s" + +#, fuzzy +#~ msgid "%s is not the name of a group chat." +#~ msgstr "Perguntar antes de fechar uma janela/aba de chat." + +#, fuzzy +#~ msgid "Session Management" +#~ msgstr "Mensagem" + +#, fuzzy +#~ msgid "Gajim needs X server to run. Quiting..." +#~ msgstr "Gajim necesita do Xserver para ser executado. Saindo..." + +#, fuzzy +#~ msgid "Gajim needs PyGTK 2.22 or above" +#~ msgstr "Gajim necessita do PyGTK versão 2.6 ou acima" + +#, fuzzy +#~ msgid "Gajim needs PyGTK 2.22 or above to run. Quiting..." +#~ msgstr "" +#~ "Gajim necessita do PyGTK versão 2.6 ou acima para ser executado. Saindo..." + +#, fuzzy +#~ msgid "Gajim needs GTK 2.22 or above" +#~ msgstr "Gajim necessita do GTK versão 2.6 ou acima" + +#, fuzzy +#~ msgid "Gajim needs GTK 2.22 or above to run. Quiting..." +#~ msgstr "" +#~ "Gajim necessita do GTK versão 2.6 ou acima para ser executado. Saindo..." + +#, fuzzy +#~ msgid "Gajim needs pywin32 to run" +#~ msgstr "Gajim necessita do PySQLite2 para ser executado" + +#~ msgid "A programming error has been detected" +#~ msgstr "Um erro de programação foi detectado" + +#~ msgid "Details" +#~ msgstr "Detalhes" + +#, fuzzy +#~ msgid "Jabber ID: " +#~ msgstr "Jabber ID:" + +#~ msgid "Resource: " +#~ msgstr "Recurso: " + +#~ msgid "Subscription: " +#~ msgstr "Subscrição:" + +#, fuzzy +#~ msgid "Mood: " +#~ msgstr "Sala:" + +#, fuzzy +#~ msgid "Activity: " +#~ msgstr "Activo" + +#, fuzzy +#~ msgid "" +#~ "If True, Gajim will check if it's the default jabber client on each " +#~ "startup." +#~ msgstr "Se Verdadeiro (True), Gajim registará para xmpp:// a cada arranque." + +#, fuzzy +#~ msgid "Gajim is not the default Jabber client" +#~ msgstr "Gajim - Um cliente Jabber GTK+" + +#, fuzzy +#~ msgid "Would you like to make Gajim the default Jabber client?" +#~ msgstr "Deseja sobre-escrevê-lo?" + +#, fuzzy +#~ msgid "Actions" +#~ msgstr "Aplicações" + +#, fuzzy +#~ msgid "Conditions" +#~ msgstr "Sons" + +#, fuzzy +#~ msgid "Advanced Notifications Control" +#~ msgstr "Editor de Configuração Avançada" + +#, fuzzy +#~ msgid "Busy " +#~ msgstr "Ocupado" + +#, fuzzy +#~ msgid "Contact Change Status " +#~ msgstr "Contacto Saiu" + +#, fuzzy +#~ msgid "File Transfer Started " +#~ msgstr "Transferência de Ficheiro Parada" + +#, fuzzy +#~ msgid "Group Chat Message Received " +#~ msgstr "Nova Mensagem" + +#, fuzzy +#~ msgid "Launch a command" +#~ msgstr "comando" + +#, fuzzy +#~ msgid "Online / Free For Chat" +#~ msgstr "Livre para conversar" + +#, fuzzy +#~ msgid "Play a sound" +#~ msgstr "Tocar _Sons" + +#, fuzzy +#~ msgid "_Disable auto opening chat window" +#~ msgstr "Perguntar antes de fechar uma janela/aba de chat." + +#, fuzzy +#~ msgid "_Open chat window with user" +#~ msgstr "Usar uma única janela de conversa com _abas" + +#, fuzzy +#~ msgid "_Show event in roster" +#~ msgstr "Mostrar apenas na _lista" + +#, fuzzy +#~ msgid "contact(s)" +#~ msgstr "Contacto:" + +#, fuzzy +#~ msgid "for " +#~ msgstr "Porta:" + +#, fuzzy +#~ msgid "group(s)" +#~ msgstr "Grupo" + +#, fuzzy +#~ msgid "_Allow him/her to see my status" +#~ msgstr "Permitir que ele/ela veja o meu estado" + +#, fuzzy +#~ msgid "Descrition:" +#~ msgstr "Descrição: %s" + +#, fuzzy +#~ msgid "Advanced..." +#~ msgstr "Avançado" + +#, fuzzy +#~ msgid "Display _activity of contacts in roster" +#~ msgstr "Exibir imagens pessoais (avatars) dos contactos na lista" + +#, fuzzy +#~ msgid "Display _tunes of contacts in roster" +#~ msgstr "Exibir imagens pessoais (avatars) dos contactos na lista" + +#, fuzzy +#~ msgid "Display m_ood of contacts in roster" +#~ msgstr "Exibir imagens pessoais (avatars) dos contactos na lista" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will display the tunes of contacts in the roster window" +#~ msgstr "" +#~ "Se marcado, Gajim exibirá imagens pessoais (avatars) dos seus contactos " +#~ "na lista" + +#, fuzzy +#~ msgid "German" +#~ msgstr "Geral" + +#, fuzzy +#~ msgid "Greek" +#~ msgstr "green" + +#, fuzzy +#~ msgid "Croatian" +#~ msgstr "Morada" + +#, fuzzy +#~ msgid "Italian" +#~ msgstr "Itálico" + +#, fuzzy +#~ msgid "Polish" +#~ msgstr "_Publicar" + +#, fuzzy +#~ msgid "Serbian" +#~ msgstr "Geral" + +#~ msgid "Check your connection or try again later" +#~ msgstr "Verifique a sua ligação ou tente novamente mais tarde" + +#~ msgid "error: cannot open %s for reading" +#~ msgstr "erro: impossível abrir %s para leitura" + +#, fuzzy +#~ msgid "Unable to bind to port %s." +#~ msgstr "Impossível entrar na sala" + +#~ msgid "A GTK+ jabber client" +#~ msgstr "Um cliente Jabber GTK+" + +#, fuzzy +#~ msgid "Condition" +#~ msgstr "Ligação" + +#, fuzzy +#~ msgid "one of: offline, online, chat, away, xa, dnd, invisible " +#~ msgstr "" +#~ "um de: offline, disponível, livre para conversar, ausente, indisponível, " +#~ "ocupado, invisível" + +#, fuzzy +#~ msgid "" +#~ "Returns current status message(the global one unless account is specified)" +#~ msgstr "" +#~ "Indica o estado actual (o estado global, a não ser que uma conta seja " +#~ "especificada)." + +#, fuzzy +#~ msgid "" +#~ "Usage: %s %s %s \n" +#~ "\t %s" +#~ msgstr "" +#~ "Uso: %s %s %s \n" +#~ "\t" + +#, fuzzy +#~ msgid "" +#~ "Too many arguments. \n" +#~ "Type \"%s help %s\" for more info" +#~ msgstr "" +#~ "Argumento \"%s\" não está especificado. \n" +#~ "Escreva \"%s help %s\" para mais informações" + +#, fuzzy +#~ msgid "" +#~ "Argument \"%s\" is not specified. \n" +#~ "Type \"%s help %s\" for more info" +#~ msgstr "" +#~ "Argumento \"%s\" não está especificado. \n" +#~ "Escreva \"%s help %s\" para mais informações" + +#, fuzzy +#~ msgid "Subject: %s" +#~ msgstr "Assunto: %s\n" + +#, fuzzy +#~ msgid "Mood: %s" +#~ msgstr "Sala:" + +#, fuzzy +#~ msgid "Activity: %s" +#~ msgstr "Activo" + +#, fuzzy +#~ msgid "_Show event in systray" +#~ msgstr "Mostrar apenas na _lista" + +#, fuzzy +#~ msgid "Autodetect on every Gajim startup" +#~ msgstr "_Ligar ao arranque" + +#, fuzzy +#~ msgid "Show systray:" +#~ msgstr "Mostrar apenas na _lista" + +#, fuzzy +#~ msgid "Nickname not allowed: %s" +#~ msgstr "Alcunha não encontrada: %s" + +#~ msgid "we are now subscribed to %s" +#~ msgstr "estamos agora subscritos a %s" + +#~ msgid "we are now unsubscribed from %s" +#~ msgstr "já não estamos subscritos a %s" + +#~ msgid "Account Modification" +#~ msgstr "Modificação da Conta" + +#~ msgid "" +#~ "Check this so Gajim will connect in port 5223 where legacy servers are " +#~ "expected to have SSL capabilities. Note that Gajim uses TLS encryption by " +#~ "default if broadcasted by the server, and with this option enabled TLS " +#~ "will be disabled" +#~ msgstr "" +#~ "Marque esta opção se quiser que o Gajim se ligue usando a porta 5223, " +#~ "onde se espera que servidores específicos possuem capacidades SSL. Note " +#~ "que o Gajim usa encriptação TLS por defeito se emitida pelo servidor, e " +#~ "que com esta opção marcada o TLS será desactivado." + +#~ msgid "Edit Personal Information..." +#~ msgstr "Editar Detalhes Pessoais..." + +#~ msgid "Hostname: " +#~ msgstr "Nome do Host:" + +#~ msgid "" +#~ "If checked, Gajim will store the password in ~/.gajim/config with 'read' " +#~ "permission only for you" +#~ msgstr "" +#~ "Se marcado, o Gajim guardará a sua senha em ~/.gajim/config com permissão " +#~ "de 'leitura' apenas para si" + +#~ msgid "Port: " +#~ msgstr "Porta:" + +#~ msgid "Save _passphrase (insecure)" +#~ msgstr "Guardar _frase de acesso (inseguro)" + +#~ msgid "Use _SSL (legacy)" +#~ msgstr "Usar _SSL (específica)" + +#, fuzzy +#~ msgid "" +#~ "Account row\n" +#~ "Group row\n" +#~ "Contact row\n" +#~ "Chat Banner" +#~ msgstr "" +#~ "Count\n" +#~ "Grupo\n" +#~ "Contacto\n" +#~ "Banner" + +#, fuzzy +#~ msgid "gtk-delete" +#~ msgstr "Apagar MOTD" + +#~ msgid "" +#~ "All chat states\n" +#~ "Composing only\n" +#~ "Disabled" +#~ msgstr "" +#~ "Todos os estados da conversa\n" +#~ "Apenas compondo uma mensagem\n" +#~ "Desactivado" + +#, fuzzy +#~ msgid "" +#~ "Autodetect on every Gajim startup\n" +#~ "Always use GNOME default applications\n" +#~ "Always use KDE default applications\n" +#~ "Always use Xfce default applications\n" +#~ "Custom" +#~ msgstr "" +#~ "Auto-detectar a cada arranque da aplicação\n" +#~ "Usar sempre aplicações GNOME padrão\n" +#~ "Usar sempre aplicações KDE padrão\n" +#~ "Personalizar" + +#, fuzzy +#~ msgid "gtk-cancel" +#~ msgstr "Apagar MOTD" + +#~ msgid "GTK+ runtime is missing libglade support" +#~ msgstr "Falta suporte libglade para o runtime GTK+" + +#~ msgid "" +#~ "Please remove your current GTK+ runtime and install the latest stable " +#~ "version from %s" +#~ msgstr "" +#~ "Por favor remova o seu runtime GTK+ actual e instale a última versão " +#~ "estável de %s" + +#, fuzzy +#~ msgid "" +#~ "Please make sure that GTK+ and PyGTK have libglade support in your system." +#~ msgstr "" +#~ "Por favor, certifique-se de que o GTK e o PyGTK têm suporte libglade no " +#~ "seu sistema." + +#~ msgid "Gajim needs PySQLite2 to run" +#~ msgstr "Gajim necessita do PySQLite2 para ser executado" + +#~ msgid "OpenPGP passphrase was not given" +#~ msgstr "Palavra-chave do OpenPGP não foi recebida" + +#~ msgid "" +#~ "To continue sending and receiving messages, you will need to reconnect." +#~ msgstr "" +#~ "Para continuar a enviar e receber mensagens, precisará de se reconectar." + +#, fuzzy +#~ msgid "Add Special _Notification" +#~ msgstr "Notificações Visuais" + +#~ msgid "Assign Open_PGP Key" +#~ msgstr "Atribuir chave OpenPGP" + +#, fuzzy +#~ msgid "" +#~ "Usage: /%(command)s , sends action to the current group chat. Use " +#~ "third person. (e.g. /%(command)s explodes.)" +#~ msgstr "" +#~ "Uso: /%s , envia uma acção para a sala actual. Utilize a terceira " +#~ "pessoa. (Por exemplo, /%s explode.)" + +#~ msgid "No help info for /%s" +#~ msgstr "Não há informações de ajuda para /%s" + +#~ msgid "Nickname not found: %s" +#~ msgstr "Alcunha não encontrada: %s" + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s [reason], bans the JID from the group chat. The " +#~ "nickname of an occupant may be substituted, but not if it contains \"@\". " +#~ "If the JID is currently in the group chat, he/she/it will also be kicked." +#~ msgstr "" +#~ "Uso: /%s [razão], bane o JID da sala. A alcunha de um " +#~ "ocupante pode ser substituida, mas não se conter \"@\". Se o JID estiver " +#~ "neste momento na sala, este será também expulso. Não suporta espaços numa " +#~ "alcunha." + +#~ msgid "" +#~ "Usage: /%s [reason], closes the current window or tab, displaying reason " +#~ "if specified." +#~ msgstr "" +#~ "Uso: /%s [razão], fecha a janela ou aba actual, exibindo a razão se " +#~ "especificada." + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s [reason], invites JID to the current group chat, " +#~ "optionally providing a reason." +#~ msgstr "" +#~ "Uso: /%s [razão], convida o JID para a sala actual, fornecendo " +#~ "opcionalmente uma razão." + +#~ msgid "" +#~ "Usage: /%s @[/nickname], offers to join room@server " +#~ "optionally using specified nickname." +#~ msgstr "" +#~ "Uso: /%s @[/alcunha], convida a juntar-se a " +#~ "sala@servidor, usando opcionalmente uma alcunha especificada." + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s [reason], removes the occupant specified by " +#~ "nickname from the group chat and optionally displays a reason." +#~ msgstr "" +#~ "Uso: /%s [razão], remove o ocupante especificado pela alcunha " +#~ "da sala e opcionalmente exibe uma razão. Não suporta espaços na alcunha." + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s [message], opens a private message window and sends " +#~ "message to the occupant specified by nickname." +#~ msgstr "" +#~ "Uso: /%s [mensagem], abre uma janela de mensagem privada e " +#~ "envia uma mensagem ao ocupante da sala especificado pela alcunha." + +#, fuzzy +#~ msgid "Usage: /%s , changes your nickname in current group chat." +#~ msgstr "Uso: /%s , muda a sua alcunha na sala actual." + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s [topic], displays or updates the current group chat topic." +#~ msgstr "Uso: /%s [tópico], exibe ou actualiza o tópico da sala actual." + +#~ msgid "" +#~ "Usage: /%s , sends a message without looking for other commands." +#~ msgstr "" +#~ "Uso: /%s , envia uma mensagem sem procurar por outros comandos." + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s , allow to send you messages and private " +#~ "messages." +#~ msgstr "Uso: /%s , muda a sua alcunha na sala actual." + +#~ msgid "Click to see features (like MSN, ICQ transports) of jabber servers" +#~ msgstr "" +#~ "Clique para ver os serviços (tais como transportes MSN e ICQ) dos " +#~ "servidores jabber" + +#, fuzzy +#~ msgid "Show _roster" +#~ msgstr "Mostrar _Lista de Contactos" + +#, fuzzy +#~ msgid "Modify Account" +#~ msgstr "_Modificar Conta..." + +#, fuzzy +#~ msgid "Gajim account %s" +#~ msgstr "para conta %s" + +#, fuzzy +#~ msgid "This account is already configured in Gajim." +#~ msgstr "Este contacto já se encontra na sua lista de contactos." + +#, fuzzy +#~ msgid "File transfer stopped by the contact at the other end" +#~ msgstr "Transferência de ficheiro parada pelo contacto na outra ponta" + +#, fuzzy +#~ msgid "Generic" +#~ msgstr "Geral" + +#, fuzzy +#~ msgid "%s has not broadcast an OpenPGP key, nor has one been assigned" +#~ msgstr "%s não emitiu uma chave OpenPGP nem você associou uma" + +#, fuzzy +#~ msgid "No such command: /%s (if you want to send this, prefix it with /say)" +#~ msgstr "" +#~ "Comando inexistente: /%s (se desejar enviar isto, escreva primeiro /say)" + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s , sends action to the current group chat. Use third " +#~ "person. (e.g. /%s explodes.)" +#~ msgstr "" +#~ "Uso: /%s , envia uma acção para a sala actual. Utilize a terceira " +#~ "pessoa. (Por exemplo, /%s explode.)" + +#~ msgid "Please fill in the data for your new account" +#~ msgstr "Por favor preencha os dados para a sua nova conta" + +#, fuzzy +#~ msgid "_Retype Password:" +#~ msgstr "_Senha:" + +#~ msgid "" +#~ "If you have 2 or more accounts and it is checked, Gajim will list all " +#~ "contacts as if you had one account" +#~ msgstr "" +#~ "Se tem duas ou mais contas e esta opção for marcada, o Gajim listará " +#~ "todos os contactos como se tivesse apenas uma conta" + +#~ msgid "_Compact View Alt+C" +#~ msgstr "Vista _Compacta Alt+C" + +#~ msgid "Click to see past conversation in this room" +#~ msgstr "Clique para ver conversas anteriores nesta sala" + +#~ msgid "Build custom query" +#~ msgstr "Build custom query" + +#~ msgid "Query Builder..." +#~ msgstr "Query Builder..." + +#~ msgid "Invitation Received" +#~ msgstr "Convite Recebido" + +#~ msgid "Format of a line" +#~ msgstr "Formato de uma linha" + +#~ msgid "Interface Customization" +#~ msgstr "Personalização da Interface" + +#~ msgid "Also known as iChat style" +#~ msgstr "Conhecido também como estilo iChat" + +#, fuzzy +#~ msgid "E_very 5 minutes" +#~ msgstr "De 5 em 5 _minutos" + +#, fuzzy +#~ msgid "" +#~ "Gajim will automatically show new events by poping up the relative window" +#~ msgstr "" +#~ "Gajim exibirá automaticamente a nova mensagem recebida numa nova janela " +#~ "de conversa ou numa aba numa janela existente" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed in" +#~ msgstr "" +#~ "Gajim o notificará através de um popup no canto inferior direito do ecrã " +#~ "sobre os contactos que se ligarem" + +#, fuzzy +#~ msgid "" +#~ "Gajim will only change the icon of the contact that triggered the new " +#~ "event" +#~ msgstr "Gajim mudará apenas o ícone do contacto que enviou a nova mensagem" + +#~ msgid "" +#~ "If checked, Gajim will remember the roster and chat window positions in " +#~ "the screen and the sizes of them next time you run it" +#~ msgstr "" +#~ "Se marcado, o Gajim lembrar-se-á da posição da janela principal na " +#~ "próxima vez que for executado" + +#, fuzzy +#~ msgid "Outgoing Chat state noti_fications:" +#~ msgstr "Noti_ficação do estado da conversa:" + +#~ msgid "Print time:" +#~ msgstr "Mostrar hora:" + +#~ msgid "Save _position and size for roster and chat windows" +#~ msgstr "" +#~ "Guardar _posição e tamanho das janelas de conversa e lista de contactos" + +#~ msgid "The auto away status message" +#~ msgstr "A mensagem de estado auto-ausente" + +#, fuzzy +#~ msgid "" +#~ "When a new event (message, file transfer request etc..) is received, the " +#~ "following methods may be used to inform you about it. Please note that " +#~ "events about new messages only occur if it is a new message from a " +#~ "contact you are not already chatting with" +#~ msgstr "" +#~ "Quando um novo evento (mensagem, pedido de transferência de ficheiro, " +#~ "etc...) é recebido, os métodos seguintes poderão ser usados para o " +#~ "informar. NOTA: Eventos de nova mensagem recebida só ocorrem se for uma " +#~ "nova mensagem de um contacto com quem ainda não estiver a conversar." + +#, fuzzy +#~ msgid "_Advanced Notifications Control..." +#~ msgstr "Editor de Configuração Avançada" + +#, fuzzy +#~ msgid "_After time:" +#~ msgstr "Depois da hora:" + +#, fuzzy +#~ msgid "_Before time:" +#~ msgstr "Antes da hora:" + +#~ msgid "_Player:" +#~ msgstr "_Tocador de som:" + +#~ msgid "Role:" +#~ msgstr "Função:" + +#~ msgid "_Retrieve" +#~ msgstr "_Recuperar" + +#~ msgid "_Remove from Roster" +#~ msgstr "_Remover da Lista" + +#~ msgid "A_ccounts" +#~ msgstr "_Contas" + +#~ msgid "OS:" +#~ msgstr "SO:" + +#~ msgid "" +#~ "If that is not your language for which you want to highlight misspelled " +#~ "words, then please set your $LANG as appropriate. Eg. for French do " +#~ "export LANG=fr_FR or export LANG=fr_FR.UTF-8 in ~/.bash_profile or to " +#~ "make it global in /etc/profile.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "Se esta não for a língua para a qual quer destacar palavras mal " +#~ "soletradas, ajuste, por favor, o seu $LANG como apropriado. Por " +#~ "exemplo, para o francês, faça 'export LANG=fr_FR' ou 'export LANG=fr_FR." +#~ "UTF-8' em ~/.bash_profile ou, para o fazer globalmente, em /etc/profile.\n" +#~ "\n" +#~ "A função de destaque de palavras mal soletradas não será usada" + +#~ msgid "Every %s _minutes" +#~ msgstr "Todos os %s _minutos" + +#~ msgid "You will always see him or her as offline." +#~ msgstr "Vê-lo-á sempre como estando offline." + +#~ msgid "%s is now %s (%s)" +#~ msgstr "%s está agora %s (%s)" + +#, fuzzy +#~ msgid "Network Manager support not available" +#~ msgstr "Uma ligação não está disponível" + +#~ msgid "Session Management support not available (missing gnome.ui module)" +#~ msgstr "Session Management não é suportado (módulo gnome.ui em falta)" + +#~ msgid "%s is now %s" +#~ msgstr "%s está agora %s" + +#~ msgid "%s does not appear to be a valid JID" +#~ msgstr "%s não parece ser um JID válido" + +#, fuzzy +#~ msgid "%s - Gajim" +#~ msgstr "Gajim" + +#~ msgid "Without a connection, you can not get your contact information." +#~ msgstr "" +#~ "É necessária uma ligação para receber as suas informações de contacto." + +#, fuzzy +#~ msgid "_New group chat" +#~ msgstr "Chat" + +#~ msgid "Log _off" +#~ msgstr "_Desligar" + +#~ msgid "Save passphrase" +#~ msgstr "Guardar frase de acesso" + +#, fuzzy +#~ msgid "Drop %s in group %s" +#~ msgstr "De %s na sala %s" + +#, fuzzy +#~ msgid "Hides the buttons in two persons chat window." +#~ msgstr "Perguntar antes de fechar uma janela/aba de chat." + +#~ msgid "Connected to server %s:%s with %s" +#~ msgstr "Ligado ao servidor %s:%s com %s" + +#~ msgid "invisible" +#~ msgstr "Invisível" + +#~ msgid "offline" +#~ msgstr "offline" + +#~ msgid "I'm %s" +#~ msgstr "Estou %s" + +#, fuzzy +#~ msgid " %d unread single message" +#~ msgid_plural " %d unread single messages" +#~ msgstr[0] "Gajim - %d mensagem não lida" +#~ msgstr[1] "Gajim - %d mensagens não lidas" + +#, fuzzy +#~ msgid " %d unread group chat message" +#~ msgid_plural " %d unread group chat messages" +#~ msgstr[0] "Gajim - %d mensagem de chat não lida" +#~ msgstr[1] "Gajim - %d mensagens de chat não lidas" + +#, fuzzy +#~ msgid " %d unread private message" +#~ msgid_plural " %d unread private messages" +#~ msgstr[0] "Gajim - %d mensagem privada não lida" +#~ msgstr[1] "Gajim - %d mensagens privadas não lidas" + +#, fuzzy +#~ msgid "Connection to host could not be established" +#~ msgstr "Ligação ao peer não pode ser estabelecida." + +#~ msgid "Role: " +#~ msgstr "Função: " + +#~ msgid "" +#~ "Sound to play when any MUC message arrives. (This setting is taken into " +#~ "account only if notify_on_all_muc_messages is True)" +#~ msgstr "" +#~ "Som a tocar quando uma mensagem de chat chegar. (Apenas aplicável se " +#~ "notify_on_all_muc_messages estiver definido como Verdadeiro)" + +#, fuzzy +#~ msgid "Away " +#~ msgstr "Ausente" + +#, fuzzy +#~ msgid "Down" +#~ msgstr "Download" + +#, fuzzy +#~ msgid "List of special notifications settings" +#~ msgstr "Notificações Visuais" + +#, fuzzy +#~ msgid "Not Available " +#~ msgstr "Indisponível" + +#~ msgid "Jabber" +#~ msgstr "Jabber" + +#, fuzzy +#~ msgid "Invalid room or server name" +#~ msgstr "Nome de utilizador inválido" + +#~ msgid "Your personal information has been published successfully." +#~ msgstr "As suas informações pessoais foram publicadas com sucesso." + +#~ msgid "Migrating Logs..." +#~ msgstr "Fazendo a 'migração' dos logs..." + +#~ msgid "Gajim - %d unread message" +#~ msgid_plural "Gajim - %d unread messages" +#~ msgstr[0] "Gajim - %d mensagem não lida" +#~ msgstr[1] "Gajim - %d mensagens não lidas" + +#, fuzzy +#~ msgid "Since %s" +#~ msgstr "Tamanho: %s" + +#~ msgid "_Join New Room..." +#~ msgstr "_Juntar-se a uma Nova Sala..." + +#, fuzzy +#~ msgid "Please modify your special notification below" +#~ msgstr "Por favor escolha uma das opções abaixo:" + +#~ msgid "Delete Message of the Day" +#~ msgstr "Apagar Mensagem do Dia" + +#, fuzzy +#~ msgid "I want to listen to:" +#~ msgstr "%s quer enviar-lhe um ficheiro:" + +#~ msgid "Send _New Message..." +#~ msgstr "Enviar _Nova Mensagem..." + +#~ msgid "Set Message of the Day" +#~ msgstr "Definir a Mensagem do Dia" + +#~ msgid "Update Message of the Day" +#~ msgstr "Actualizar Mensagem do Dia" + +#~ msgid "_XML Console..." +#~ msgstr "Consola _XML..." + +#~ msgid "Use compact view when you open a chat window" +#~ msgstr "Usar vista compacta quando uma janela de conversa é aberta" + +#~ msgid "Use compact view when you open a group chat window" +#~ msgstr "Usar vista compacta quando uma janela de chat é aberta" + +#~ msgid "%s has sent you a new message." +#~ msgstr "%s enviou-lhe uma nova mensagem." + +#~ msgid "Logs have been successfully migrated to the database." +#~ msgstr "A migração dos registos de conversas (logs) deu-se com sucesso." + +#, fuzzy +#~ msgid "Start Chat with Contact" +#~ msgstr "Iniciar conversa com a conta %s" + +#~ msgid "All contacts in this group are offline or have errors" +#~ msgstr "Todos os contactos deste grupo estão offline ou têm erros" + +#~ msgid "Image" +#~ msgstr "Imagem" + +#~ msgid "To %s" +#~ msgstr "Para %s" + +#~ msgid "You have been invited to the %(room_jid)s room by %(contact_jid)s" +#~ msgstr "Foi convidado para a sala %(room_jid)s por %(contact_jid)s" + +#~ msgid "_Set Image..." +#~ msgstr "_Definir Imagem" + +#~ msgid "Switch to %s" +#~ msgstr "Mudar para %s" + +#~ msgid "using account " +#~ msgstr "usando conta " + +#~ msgid "The filesize of image \"%s\" is too large" +#~ msgstr "O tamanho da imagem \"%s\" é muito grande" + +#~ msgid "The file must not be more than 32 kilobytes." +#~ msgstr "O tamanho do ficheiro não deve exceder os 32 kilobytes." + +#~ msgid "Timeout" +#~ msgstr "Timeout" + +#~ msgid "Activate/Disable notification for when a file transfer is complete" +#~ msgstr "" +#~ "Activar/Desactivar notificação para quando uma transferência de ficheiro " +#~ "estiver completa" + +#~ msgid "Removing selected file transfer" +#~ msgstr "Removendo transferência de ficheiro seleccionada" + +#~ msgid "Stoping selected file transfer" +#~ msgstr "Parando a transferência de ficheiro seleccionada" + +#~ msgid "" +#~ "If you close this tab and you have history disabled, the message will be " +#~ "lost." +#~ msgstr "" +#~ "Se fechar esta aba e o histórico estiver desactivado, a mensagem será " +#~ "perdida." + +#~ msgid "Cannot remove last group" +#~ msgstr "Não é possível remover o último grupo" + +#~ msgid "At least one contact group must be present." +#~ msgstr "Ao menos um grupo do contacto deve estar presente." + +#~ msgid "" +#~ "pysqlite2 (aka python-pysqlite2) dependency is missing. After you install " +#~ "pysqlite3, if you want to migrate your logs to the new database, please " +#~ "read: http://trac.gajim.org/wiki/MigrateLogToDot9DB Exiting..." +#~ msgstr "" +#~ "Dependência pysqlite2 (aka python-pysqlite2) em falta. Depois de instalar " +#~ "pysqlite3, se quiser migrar os seus logs para a nova base de dados, por " +#~ "favor, leia: http://trac.gajim.org/wiki/MigrateLogToDot9DB . Saindo..." + +#~ msgid "" +#~ "Image for emoticon has to be less than or equal to 24 pixels in width and " +#~ "24 in height." +#~ msgstr "" +#~ "Imagem para emoticon tem de ser menor ou igual a 24 pixels em largura e " +#~ "24 em altura." + +#~ msgid "Check for new _version on Gajim startup" +#~ msgstr "Procurar por uma nova versão ao arranque" + +#~ msgid "New version of Gajim available" +#~ msgstr "Uma nova versão do Gajim está disponível" + +#~ msgid "Open Download Page" +#~ msgstr "Abrir Página para Download" + +#, fuzzy +#~ msgid "with account " +#~ msgstr "conta: " + +#~ msgid "Chat with" +#~ msgstr "Conversa com" + +#~ msgid "as %s" +#~ msgstr "como %s" + +#~ msgid "as " +#~ msgstr "como " + +#, fuzzy +#~ msgid "Send _New Message" +#~ msgstr "_Nova Mensagem" + +#~ msgid "Re_quest Authorization from" +#~ msgstr "Pedir Autorização de" + +#~ msgid "Send Authorization to" +#~ msgstr "Enviar Autorização para" + +#~ msgid "Log presences in _contact's log file" +#~ msgstr "Registar as presenças no ficheiro de log do _contacto" + +#~ msgid "Log presences in an _external file" +#~ msgstr "Registar as presenças num ficheiro _externo" + +#, fuzzy +#~ msgid "" +#~ "You can set advanced account options by pressing Advanced button,or later " +#~ "by clicking in Accounts menuitem under Edit menu from the main window." +#~ msgstr "" +#~ "Conta foi adicionada com sucesso.\n" +#~ "Pode configurar opções avançadas em \"Editar->Contas\" na janela " +#~ "principal. " + +#~ msgid "" +#~ "When a new message is received which is not from a contact already in a " +#~ "chat window, the three following actions may happen in order for you to " +#~ "be informed about it" +#~ msgstr "" +#~ "Quando uma nova mensagem - cujo remetente não está já numa janela de " +#~ "conversa - é recebida, as três seguintes acções podem ocorrer para o " +#~ "informar" + +#~ msgid "_Earliest" +#~ msgstr "_Primeiro" + +#~ msgid "%s is now %s: %s" +#~ msgstr "%s está agora %s: %s" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "\n" +#~ "== Original Message ==\n" +#~ "%s" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "\n" +#~ "== Mensagem Original ==\n" +#~ "%s" + +#, fuzzy +#~ msgid "" +#~ "Your new account has been created successfully.\n" +#~ "You can set advanced account options by pressing Advanced button,\n" +#~ "or later by clicking in Accounts menuitem under Edit menu from the main " +#~ "window." +#~ msgstr "" +#~ "Conta foi adicionada com sucesso.\n" +#~ "Pode configurar opções avançadas em \"Editar->Contas\" na janela " +#~ "principal. " + +#~ msgid "" +#~ "Your new account has been created and added to your gajim configuration.\n" +#~ "You can set advanced account options using \"Edit->Accounts\" in the main " +#~ "window menu." +#~ msgstr "" +#~ "A sua nova conta foi criada e adicionada às suas configurações do gajim.\n" +#~ "Pode configurar opções avançadas em \"Editar->Contas\" na janela " +#~ "principal. " + +#~ msgid "You need to enter a valid server address to add an account." +#~ msgstr "" +#~ "Deve introduzir um endereço de servidor válido para adicionar uma conta." + +#~ msgid "Contact names must be of the form \"user@servername\"." +#~ msgstr "" +#~ "Nomes de contacto devem estar no formato \"utilizador@nomedoservidor\"." + +#~ msgid "Invalid contact ID" +#~ msgstr "ID de contacto inválido" + +#~ msgid "Contact ID must be of the form \"username@servername\"." +#~ msgstr "ID de contacto deve estar no formato \"utilizador@nomedoservidor\"." + +#~ msgid "The account \"%s\" has been registered with the Jabber server." +#~ msgstr "A conta \"%s\" foi registada no servidor Jabber." + +#~ msgid "theme_name" +#~ msgstr "nome_do_tema" + +#~ msgid "Edit" +#~ msgstr "Editar" + +#~ msgid "Check if you want to register for a new jabber account" +#~ msgstr "Marque se quiser registar uma nova conta Jabber" + +#~ msgid "Click to get contact's extended information" +#~ msgstr "Clique para receber informações detalhadas do contacto" + +#~ msgid "_Compact View" +#~ msgstr "Vista _Compacta" + +#~ msgid "_Refresh" +#~ msgstr "_Actualizar" + +#~ msgid "You just received a new message in room \"%s\"" +#~ msgstr "Recebeu uma mensagem na sala \"%s\"" + +#~ msgid "" +#~ "If you close this window and you have history disabled, this message will " +#~ "be lost." +#~ msgstr "" +#~ "Se fechar esta janela e o histórico estiver desactivado, esta mensagem " +#~ "será perdida." + +#~ msgid "New _Room" +#~ msgstr "Nova _Sala" + +#~ msgid "" +#~ "If checked, all chat and group chat windows will have the information " +#~ "area in the top and the buttons area in the bottom hidden. You can quick " +#~ "toggle compact view with Alt+C. NOTE: The last state you leave a window/" +#~ "tab is not a permanent one" +#~ msgstr "" +#~ "Se marcado, todas as janelas de conversa e de chat terão a área de " +#~ "informação no topo e área dos botões no fundo escondidas. Pode alternar " +#~ "entre as vistas normal e compacta premindo Alt+C. NOTA: A última vista " +#~ "com a qual fechar a janela/aba não é permanente." + +#, fuzzy +#~ msgid "Inactivate account" +#~ msgstr "Não tem nenhuma conta activa" + +#, fuzzy +#~ msgid "Po_sition:" +#~ msgstr "Cargo:" + +#~ msgid "_Service Discovery" +#~ msgstr "_Busca de Serviços" + +#~ msgid "_Service Discovery..." +#~ msgstr "_Busca de Serviços..." + +#~ msgid "error appeared while processing xmpp:" +#~ msgstr "erro ocorreu quando processava xmpp:" + +#~ msgid "" +#~ "Cancels the selected file transfer. If there is an incomplete file, kept " +#~ "in the file system it will be removed. This operation is not reversable" +#~ msgstr "" +#~ "Cancela a transferência de ficheiro seleccionada. Se existir um ficheiro " +#~ "incompleto, este será removido. Esta operação é irreversível." + +#~ msgid "Chan_ge" +#~ msgstr "_Mudar" + +#~ msgid "Gajim - one unread message" +#~ msgid_plural "Gajim - %d unread messages" +#~ msgstr[0] "Gajim - uma mensagem não lida" +#~ msgstr[1] "Gajim - %d mensagens não lidas" + +#~ msgid "Gajim disconnected you from %s" +#~ msgstr "Gajim desligou-o de %s" + +#~ msgid "" +#~ "%s seconds have passed and server did not reply to our keep-alive. If you " +#~ "believe such disconnection should not have happened, you can disable " +#~ "sending keep-alive packets by modifying this account." +#~ msgstr "" +#~ "Passaram %s segundos e o servidor não respondeu ao nosso keep-alive. Se " +#~ "acredita que tal não deve ter acontecido, pode desactivar o envio de " +#~ "pacotes keep-alive modificando esta conta." + +#~ msgid "error: cannot open %s for reading\n" +#~ msgstr "erro: impossível abrir %s para leitura\n" + +#~ msgid "If you close the window, this message will be lost." +#~ msgstr "Se fechar esta janela, esta mensagem será perdida." + +#~ msgid "paused" +#~ msgstr "pausado" diff --git a/po/pt_BR.po b/po/pt_BR.po new file mode 100644 index 0000000..8e49de5 --- /dev/null +++ b/po/pt_BR.po @@ -0,0 +1,16456 @@ +# translation of pt_BR.po to Português Brasileiro +# Portuguese translations for Gajim package. +# Copyright (C) 2005 THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the Gajim package. +# junix , 2005. +# Gajim , 2007. +# Djavan Fagundes , 2009, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: pt_BR\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-01 17:44+0100\n" +"PO-Revision-Date: 2021-01-20 20:27+0000\n" +"Last-Translator: soneca \n" +"Language-Team: Portuguese (Brazil) \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.1.1\n" +"X-Poedit-Language: Portuguese\n" +"X-Poedit-Country: BRAZIL\n" + +#: gajim/history_manager.py:78 +msgid "Usage:" +msgstr "Uso:" + +#: gajim/history_manager.py:80 +msgid "Options:" +msgstr "Opções:" + +#: gajim/history_manager.py:82 +msgid "Show this help message and exit" +msgstr "Mostrar esta mensagem de ajuda e sair" + +#: gajim/history_manager.py:83 +msgid "Choose folder for logfile" +msgstr "Escolha uma pasta para o arquivo de log" + +#: gajim/history_manager.py:113 +msgid "Cannot find history logs database" +msgstr "Não foi encontrado banco de dados do histórico de logs" + +#: gajim/history_manager.py:114 +#, python-format +msgid "%s does not exist." +msgstr "%s não existe." + +#: gajim/history_manager.py:147 gajim/history_manager.py:201 +#: gajim/gtk/add_contact.py:31 gajim/gtk/discovery.py:833 +#: gajim/gtk/accounts.py:892 gajim/data/gui/vcard_information_window.ui:55 +#: gajim/data/gui/bookmarks.ui:45 gajim/data/gui/blocking_list.ui:43 +#: gajim/data/gui/mam_preferences.ui:117 +msgid "XMPP Address" +msgstr "Endereço XMPP" + +#: gajim/history_manager.py:160 gajim/history_manager.py:208 +#: gajim/gtk/history.py:108 gajim/data/gui/history_window.ui:89 +msgid "Date" +msgstr "Data" + +#: gajim/history_manager.py:167 gajim/history_manager.py:231 +#: gajim/data/gui/profile.ui:232 gajim/data/gui/vcard_information_window.ui:442 +#: gajim/data/gui/bookmarks.ui:84 +msgid "Nickname" +msgstr "Apelido" + +#: gajim/history_manager.py:178 gajim/history_manager.py:217 +#: gajim/gtk/history.py:117 gajim/data/gui/single_message_window.ui:266 +msgid "Message" +msgstr "Mensagem" + +#: gajim/history_manager.py:186 gajim/history_manager.py:224 +#: gajim/data/gui/groups_post_window.ui:49 +#: gajim/data/gui/single_message_window.ui:205 +msgid "Subject" +msgstr "Assunto" + +#: gajim/history_manager.py:254 +msgid "Database Cleanup" +msgstr "Limpeza do banco de dados" + +#: gajim/history_manager.py:255 +msgid "Clean up the database?" +msgstr "Limpar o banco de dados?" + +#: gajim/history_manager.py:256 +msgid "" +"This is STRONGLY NOT RECOMMENDED IF GAJIM IS RUNNING.\n" +"Normally, the allocated database size will not be freed, it will just become " +"reusable. This operation may take a while." +msgstr "" +"Isso NÃO É RECOMENDADO SE GAJIM ESTÁ EXECUTANDO.\n" +"Normalmente, o tamanho do banco de dados alocado não será liberado, apenas " +"se tornará reutilizável. Esta operação pode demorar um pouco." + +#: gajim/history_manager.py:262 +msgid "_Cleanup" +msgstr "_Limpar" + +#: gajim/history_manager.py:527 gajim/gtk/filetransfer.py:238 +#: gajim/gtk/filetransfer.py:248 +msgid "You" +msgstr "Você" + +#: gajim/history_manager.py:539 +#, python-format +msgid "%(who)s on %(time)s said: %(message)s\n" +msgstr "%(who)s em %(time)s disse: %(message)s\n" + +#: gajim/history_manager.py:576 gajim/history_manager.py:615 +#: gajim/gtk/themes.py:362 gajim/gtk/roster_item_exchange.py:75 +#: gajim/gtk/roster_item_exchange.py:185 +msgid "Delete" +msgstr "Deletar" + +#: gajim/history_manager.py:577 +msgid "Delete Conversation" +msgid_plural "Delete Conversations" +msgstr[0] "Apagar Conversa" +msgstr[1] "Apagar Conversas" + +# The text it is not accepting correction +#: gajim/history_manager.py:578 +#, python-format +msgid "Do you want to permanently delete this conversation with %s?" +msgid_plural "Do you want to permanently delete these conversations?" +msgstr[0] "Deseja excluir permanentemente esta conversa com %s?" +msgstr[1] "Deseja excluir permanentemente essas conversas?" + +#: gajim/history_manager.py:616 +msgid "Delete Message" +msgid_plural "Delete Messages" +msgstr[0] "Apagar mensagem" +msgstr[1] "Mensagem padrão" + +#: gajim/history_manager.py:617 +msgid "Do you want to permanently delete this message?" +msgid_plural "Do you want to permanently delete these messages?" +msgstr[0] "Você quer excluir permanentemente esta mensagem?" +msgstr[1] "Você quer excluir permanentemente estas mensagens?" + +#: gajim/roster_window.py:268 gajim/roster_window.py:991 +msgid "Merged accounts" +msgstr "Juntar contas" + +#: gajim/roster_window.py:756 gajim/roster_window.py:1667 +#: gajim/roster_window.py:1669 gajim/roster_window.py:1986 +#: gajim/roster_window.py:3065 gajim/roster_window.py:3098 +#: gajim/roster_window.py:4026 gajim/gui_interface.py:338 +#: gajim/gui_menu_builder.py:254 gajim/gui_menu_builder.py:345 +#: gajim/chat_control.py:291 gajim/chat_control.py:421 +#: gajim/gtk/add_contact.py:320 gajim/gtk/roster_item_exchange.py:112 +#: gajim/gtk/subscription_request.py:77 gajim/gtk/subscription_request.py:126 +#: gajim/common/helpers.py:89 gajim/common/helpers.py:207 +#: gajim/common/contacts.py:243 gajim/common/contacts.py:382 +#: gajim/common/contacts.py:493 +msgid "Not in contact list" +msgstr "Não está na sua lista de contatos" + +#: gajim/roster_window.py:823 gajim/roster_window.py:1579 +#: gajim/roster_window.py:1612 gajim/roster_window.py:1663 +#: gajim/roster_window.py:1665 gajim/roster_window.py:1820 +#: gajim/roster_window.py:2378 gajim/roster_window.py:3990 +#: gajim/roster_window.py:4638 gajim/gtk/discovery.py:127 +#: gajim/gtk/discovery.py:128 gajim/gtk/discovery.py:1419 +#: gajim/common/helpers.py:88 gajim/common/contacts.py:225 +#: gajim/common/contacts.py:485 +msgid "Transports" +msgstr "Transportes" + +#: gajim/roster_window.py:1671 gajim/roster_window.py:1673 +#: gajim/roster_window.py:3990 gajim/roster_window.py:4603 +#: gajim/gui_interface.py:1425 gajim/common/helpers.py:91 +#: gajim/common/contacts.py:223 +msgid "Group chats" +msgstr "Conversas em grupo" + +#: gajim/roster_window.py:1901 gajim/chat_control.py:1688 +msgid "Remote contact stopped transfer" +msgstr "O contato remoto parou a transferência" + +#: gajim/roster_window.py:1903 gajim/chat_control.py:1690 +msgid "Error opening file" +msgstr "Erro abrindo arquivo" + +#: gajim/roster_window.py:1968 +msgid "Authorization sent" +msgstr "Autorização enviada" + +#: gajim/roster_window.py:1969 +#, python-format +msgid "\"%s\" will now see your status." +msgstr "Agora \"%s\" saberá seu estado." + +#: gajim/roster_window.py:1987 +msgid "Subscription request has been sent" +msgstr "Solicitação de inscrição foi enviada" + +#: gajim/roster_window.py:1988 +#, python-format +msgid "If \"%s\" accepts this request you will know their status." +msgstr "Se \"%s\" aceitar esta solicitação, você saberá o estado dele ou dela." + +#: gajim/roster_window.py:2002 +msgid "Authorization removed" +msgstr "Autorização removida" + +#: gajim/roster_window.py:2003 +#, python-format +msgid "Now \"%s\" will always see you as offline." +msgstr "Agora \"%s\" você sempre o verá como offline." + +#: gajim/roster_window.py:2198 gajim/data/gui/shortcuts_window.ui:66 +msgid "Quit Gajim" +msgstr "Sair do Gajim" + +#: gajim/roster_window.py:2199 +msgid "You are about to quit Gajim" +msgstr "Você vai sair do Gajim" + +#: gajim/roster_window.py:2200 +msgid "Are you sure you want to quit Gajim?" +msgstr "Você tem certeza que deseja sair?" + +#: gajim/roster_window.py:2201 +msgid "_Always quit when closing Gajim" +msgstr "_Sempre sair ao fechar o Gajim" + +#: gajim/roster_window.py:2204 gajim/roster_window.py:2299 +#: gajim/roster_window.py:2340 gajim/data/gui/application_menu.ui:30 +#: gajim/data/gui/systray_context_menu.ui:83 +msgid "_Quit" +msgstr "_Sair" + +#: gajim/roster_window.py:2292 +msgid "Stop File Transfers" +msgstr "Parar Transferências de Arquivos" + +#: gajim/roster_window.py:2293 +msgid "You still have running file transfers" +msgstr "Você ainda possui algum arquivo sendo transferido" + +#: gajim/roster_window.py:2294 +msgid "" +"If you quit now, the file(s) being transferred will be lost.\n" +"Do you still want to quit?" +msgstr "" +"Se você sair agora, os arquivos a serem transferidos serão perdidos.\n" +"Você ainda quer sair?" + +#: gajim/roster_window.py:2333 +msgid "Unread Messages" +msgstr "Mensagens não lidas" + +#: gajim/roster_window.py:2334 +msgid "You still have unread messages" +msgstr "Você ainda tem mensagens não lidas" + +#: gajim/roster_window.py:2335 +msgid "" +"Messages will only be available for reading them later if storing chat " +"history is enabled and if the contact is in your contact list." +msgstr "" +"Mensagens somente estarão disponíveis para leitura mais tarde se você " +"estiver com histórico habilitado e o contato estiver na sua lista." + +#: gajim/roster_window.py:2590 +msgid "You have unread messages" +msgstr "Você tem mensagens não lidas" + +#: gajim/roster_window.py:2591 +msgid "You must read them before removing this transport." +msgstr "Você precisa lê-los antes de remover este transporte." + +#: gajim/roster_window.py:2594 +#, python-format +msgid "Transport '%s' will be removed" +msgstr "Transporte '%s' será removido" + +#: gajim/roster_window.py:2595 +msgid "" +"You will no longer be able to send and receive messages from and to contacts " +"using this transport." +msgstr "" +"Você não poderá mais enviar e receber mensagens dos contatos usando este " +"transporte." + +#: gajim/roster_window.py:2598 +msgid "Transports will be removed" +msgstr "Os transportes serão removidos" + +#: gajim/roster_window.py:2603 +#, python-format +msgid "" +"You will no longer be able to send and receive messages from and to contacts " +"using these transports:\n" +"%s" +msgstr "" +"Você não poderá mais enviar e receber mensagens dos contatos usando estes " +"transportes:\n" +"%s" + +#: gajim/roster_window.py:2607 +msgid "Remove Transport" +msgstr "Remover Transporte" + +#: gajim/roster_window.py:2662 gajim/chat_control.py:428 +msgid "Block Contact" +msgstr "Bloquear Contato" + +#: gajim/roster_window.py:2663 gajim/chat_control.py:429 +msgid "Really block this contact?" +msgstr "Quer mesmo bloquear esse contato?" + +#: gajim/roster_window.py:2664 gajim/chat_control.py:430 +msgid "" +"You will appear offline for this contact and you will not receive further " +"messages." +msgstr "Você aparecerá offline para este contato e não receberá mais mensagens." + +#: gajim/roster_window.py:2666 +msgid "_Do not ask again" +msgstr "_Não me pergunte novamente" + +#: gajim/roster_window.py:2669 gajim/chat_control.py:434 +msgid "_Report Spam" +msgstr "_Reportar Spam" + +#: gajim/roster_window.py:2673 gajim/roster_window.py:4778 +#: gajim/gui_menu_builder.py:485 gajim/chat_control.py:438 +#: gajim/data/gui/contact_context_menu.ui:151 +msgid "_Block" +msgstr "_Bloquear" + +#: gajim/roster_window.py:2706 +msgid "Rename Contact" +msgstr "Renomear contato" + +#: gajim/roster_window.py:2707 +#, python-format +msgid "Rename contact %s?" +msgstr "Renomear contato %s?" + +#: gajim/roster_window.py:2708 +msgid "Please enter a new nickname" +msgstr "Por favor, entre com um novo apelido" + +#: gajim/roster_window.py:2712 gajim/roster_window.py:3439 +#: gajim/roster_window.py:4679 gajim/dialogs.py:103 gajim/dialogs.py:116 +#: gajim/gtk/accounts.py:308 gajim/common/contacts.py:178 +#: gajim/common/contacts.py:227 gajim/data/gui/shortcuts_window.ui:12 +#: gajim/data/gui/preferences.ui:96 +msgid "General" +msgstr "Geral" + +#: gajim/roster_window.py:2715 +msgid "Rename Group" +msgstr "Renomear grupo" + +#: gajim/roster_window.py:2716 +#, python-format +msgid "Rename group %s?" +msgstr "Renomear grupo %s?" + +#: gajim/roster_window.py:2717 +msgid "Please enter a new name" +msgstr "Por favor, entre com um novo nome" + +#: gajim/roster_window.py:2747 gajim/roster_window.py:2869 +#: gajim/data/gui/groupchat_control.ui:1859 +msgid "_Rename" +msgstr "_Renomear" + +#: gajim/roster_window.py:2769 gajim/roster_window.py:2770 +msgid "Remove Group" +msgstr "Remover grupo" + +#: gajim/roster_window.py:2771 +#, python-format +msgid "Do you want to remove %s from the contact list?" +msgstr "Você quer remover %s da lista de contatos?" + +#: gajim/roster_window.py:2772 +msgid "_Also remove all contacts of this group from contact list" +msgstr "_Remover também todos os contatos deste grupo da sua lista de contatos" + +#: gajim/roster_window.py:2864 gajim/roster_window.py:2865 +msgid "Rename Group Chat" +msgstr "Renomear Conversa em Grupo" + +#: gajim/roster_window.py:2866 +msgid "Please enter a new name for this group chat" +msgstr "Por favor digite um novo nome de usuário para essa conversa em grupo" + +#: gajim/roster_window.py:3082 +msgid "Remove Contact" +msgstr "Remover Contato" + +#: gajim/roster_window.py:3083 +msgid "Remove contact from contact list" +msgstr "Remover contato da lista" + +#: gajim/roster_window.py:3084 +#, python-format +msgid "You are about to remove %(name)s (%(jid)s) from your contact list.\n" +msgstr "Você vai remover %(name)s (%(jid)s) da sua lista de contatos.\n" + +#: gajim/roster_window.py:3093 gajim/roster_window.py:3113 +msgid "" +"By removing this contact you also remove authorization. This means the " +"contact will see you as offline." +msgstr "" +"Ao remover este contato, você também remove a autorização, fazendo com que " +"ele sempre o veja como offline." + +#: gajim/roster_window.py:3104 +msgid "Do you want to continue?" +msgstr "Você quer continuar?" + +#: gajim/roster_window.py:3115 +msgid "_I want this contact to know my status after removal" +msgstr "_Eu quero que este contato saiba meu estado após a remoção" + +#: gajim/roster_window.py:3122 +msgid "Remove contacts from contact list" +msgstr "Remover contato da lista de contatos" + +#: gajim/roster_window.py:3128 +#, python-format +msgid "" +"By removing the following contacts, you will also remove authorization. This " +"means they will see you as offline:\n" +"\n" +"%s" +msgstr "" +"Ao remover os seguintes contatos, você também removerá a autorização. Isso " +"significa que eles o verão offline: \n" +"\n" +"%s" + +#: gajim/roster_window.py:3132 +msgid "Remove Contacts" +msgstr "Remover Contatos" + +#: gajim/roster_window.py:3761 +msgid "You are about to create a metacontact" +msgstr "Você está prestes a criar um metacontato" + +#: gajim/roster_window.py:3762 +msgid "" +"Metacontacts are a way to regroup several contacts in one single contact. " +"Generally it is used when the same person has several XMPP- or Transport-" +"Accounts." +msgstr "" +"Metacontatos são uma forma de reagrupar muitos contatos em um único contato. " +"Geralmente isso é usado quando a mesma pessoa possui muitas contas XMPP ou " +"transportes." + +#: gajim/roster_window.py:3766 +msgid "Create Metacontact" +msgstr "Criar Metacontato" + +#: gajim/roster_window.py:3769 gajim/chat_control_base.py:771 +#: gajim/groupchat_control.py:1676 gajim/message_window.py:368 +msgid "_Do not ask me again" +msgstr "_Não me pergunte novamente" + +#: gajim/roster_window.py:3772 gajim/data/gui/groupchat_creation.ui:317 +msgid "_Create" +msgstr "_Criar" + +#: gajim/roster_window.py:3889 +msgid "Invalid file URI:" +msgstr "Arquivo URI inválido:" + +#: gajim/roster_window.py:3901 +#, python-format +msgid "Send this file to %s:\n" +msgid_plural "Send these files to %s:\n" +msgstr[0] "Enviar este arquivo para %s:\n" +msgstr[1] "Enviar estes arquivos para %s:\n" + +#: gajim/roster_window.py:3909 gajim/roster_window.py:3910 +#: gajim/chat_control.py:1541 gajim/gtk/filetransfer_progress.py:36 +msgid "File Transfer" +msgstr "Transferência de Arquivos" + +#: gajim/roster_window.py:3914 gajim/data/gui/xml_console.ui:334 +msgid "_Send" +msgstr "_Enviar" + +#: gajim/roster_window.py:4067 +#, python-format +msgid "Send %(from)s to %(to)s" +msgstr "Enviar %(from)s para %(to)s" + +#: gajim/roster_window.py:4080 +#, python-format +msgid "Make %s first contact" +msgstr "Tornar %s primeiro contato" + +#: gajim/roster_window.py:4085 +#, python-format +msgid "Make %(contact1)s and %(contact2)s metacontacts" +msgstr "Transformar %(contact1)s e %(contact2)s em metacontatos" + +#: gajim/roster_window.py:4436 gajim/roster_window.py:4523 +#: gajim/gtk/status_selector.py:76 +msgid "_Change Status Message" +msgstr "_Mudar mensagem de status" + +#: gajim/roster_window.py:4456 +msgid "Publish Tune" +msgstr "Publicar sintonia" + +#: gajim/roster_window.py:4467 +msgid "Publish Location" +msgstr "Publicar Localização" + +#: gajim/roster_window.py:4606 +msgid "_Maximize All" +msgstr "_Maximizar tudo" + +#: gajim/roster_window.py:4615 gajim/roster_window.py:4743 +msgid "Send Group M_essage" +msgstr "Enviar m_ensagem de grupo" + +#: gajim/roster_window.py:4622 +msgid "To all users" +msgstr "Para todos os usuários" + +#: gajim/roster_window.py:4626 +msgid "To all online users" +msgstr "Para todos os usuários conectados" + +#: gajim/roster_window.py:4637 gajim/roster_window.py:4749 +#: gajim/data/gui/contact_context_menu.ui:36 +msgid "In_vite to" +msgstr "Con_vidar para" + +#: gajim/roster_window.py:4663 gajim/gui_menu_builder.py:471 +msgid "_Rename…" +msgstr "_Renomear…" + +#: gajim/roster_window.py:4669 gajim/gui_menu_builder.py:493 +#: gajim/data/gui/contact_context_menu.ui:181 +msgid "Remo_ve" +msgstr "Remo_ver" + +#: gajim/roster_window.py:4759 +msgid "_Manage Contacts" +msgstr "_Gerenciar contatos" + +#: gajim/roster_window.py:4765 +msgid "Edit _Groups…" +msgstr "Editar _Grupos…" + +#: gajim/roster_window.py:4774 gajim/gui_menu_builder.py:482 +#: gajim/data/gui/contact_context_menu.ui:143 +msgid "_Unblock" +msgstr "_Desbloquear" + +#: gajim/roster_window.py:4786 gajim/gtk/dialogs.py:70 +#: gajim/data/gui/filetransfers.ui:12 +msgid "_Remove" +msgstr "_Remover" + +#: gajim/roster_window.py:4823 +msgid "_Maximize" +msgstr "_Maximizar" + +#: gajim/roster_window.py:4828 +msgid "Re_name" +msgstr "Re_nomear" + +#: gajim/roster_window.py:4836 gajim/groupchat_control.py:1680 +msgid "_Leave" +msgstr "_Sair" + +#: gajim/roster_window.py:4844 +msgid "Execute command" +msgstr "Executar comando" + +#: gajim/roster_window.py:4852 gajim/data/gui/application_menu.ui:68 +#: gajim/data/gui/contact_context_menu.ui:205 +msgid "_History" +msgstr "_Histórico" + +#: gajim/roster_window.py:4945 gajim/gui_interface.py:339 +#: gajim/common/helpers.py:90 gajim/common/contacts.py:221 +msgid "Observers" +msgstr "Observadores" + +#: gajim/roster_window.py:4948 +msgid "Observers can see your status, but you are not allowed to see theirs" +msgstr "" +"Observadores podem ver seu estado, mas você não tem permissão para ver o " +"deles" + +#: gajim/privatechat_control.py:105 gajim/groupchat_control.py:1225 +#, python-format +msgid "You are now known as %s" +msgstr "Você agora é conhecido como %s" + +#: gajim/privatechat_control.py:107 gajim/groupchat_control.py:1227 +#, python-brace-format +msgid "{nick} is now known as {new_nick}" +msgstr "{nick} agora é conhecido como {new_nick}" + +#: gajim/privatechat_control.py:138 gajim/groupchat_control.py:1254 +#, python-brace-format +msgid "You are now {show}{status}" +msgstr "Agora você está {show}{status}" + +#: gajim/privatechat_control.py:142 gajim/groupchat_control.py:1258 +#, python-brace-format +msgid "{nick} is now {show}{status}" +msgstr "{nick} agora está {show}{status}" + +#: gajim/privatechat_control.py:199 +msgid "Sending private message failed" +msgstr "Falha ao enviar uma mensagem privada" + +#: gajim/privatechat_control.py:201 +#, python-format +msgid "You are no longer in group chat \"%(room)s\" or \"%(nick)s\" has left." +msgstr "" +"Você não está mais na sala da conversa \"%(room)s\" ou \"%(nick)s\" saiu." + +#: gajim/application.py:81 +msgid "Show the application's version" +msgstr "Mostra versão da aplicação" + +#: gajim/application.py:88 +msgid "Show only critical errors" +msgstr "Mostrar somente erros críticos" + +#: gajim/application.py:95 +msgid "Separate profile files completely (even history database and plugins)" +msgstr "" +"Separar arquivos de perfil completamente (até mesmo banco de dados de " +"histórico e plugins)" + +#: gajim/application.py:103 +msgid "Print XML stanzas and other debug information" +msgstr "Mostrar estrofes XML e outras informações de depuração" + +#: gajim/application.py:110 +msgid "Use defined profile in configuration directory" +msgstr "Usar perfil definido no diretório de configuração" + +#: gajim/application.py:118 +msgid "Set configuration directory" +msgstr "Definir diretório de configuração" + +#: gajim/application.py:126 +msgid "Configure logging system" +msgstr "Configurar sistema de registro" + +#: gajim/application.py:134 +msgid "Show all warnings" +msgstr "Exibir todos alarmes" + +#: gajim/application.py:141 +msgid "Open IPython shell" +msgstr "Terminal IPython aberto" + +#: gajim/application.py:148 +msgid "Pops up a window with the next pending event" +msgstr "Exibir uma janela popup com o próximo evento pendente" + +#: gajim/application.py:154 gajim/data/gui/shortcuts_window.ui:17 +#: data/org.gajim.Gajim.desktop.in:21 +msgid "Start a new chat" +msgstr "Iniciar uma nova conversa" + +#: gajim/application.py:205 gajim/gui_interface.py:131 +msgid "Database Error" +msgstr "Erro na base de dados" + +#: gajim/gui_interface.py:168 +#, python-format +msgid "HTTP (%(method)s) Authorization for %(url)s (ID: %(id)s)" +msgstr "Autorização HTTP (%(method)s) para %(url)s (ID: %(id)s)" + +#: gajim/gui_interface.py:173 +msgid "Do you accept this request?" +msgstr "Você aceita a solicitação?" + +#: gajim/gui_interface.py:175 +#, python-format +msgid "Do you accept this request (account: %s)?" +msgstr "Você aceita esse pedido (conta: %s)?" + +#: gajim/gui_interface.py:181 +msgid "Authorization Request" +msgstr "Pedido de Autorização" + +#: gajim/gui_interface.py:182 +msgid "HTTP Authorization Request" +msgstr "Pedido de Autorização HTTP" + +#: gajim/gui_interface.py:185 gajim/gui_interface.py:376 +#: gajim/gui_interface.py:2002 gajim/gtk/filetransfer.py:339 +msgid "_No" +msgstr "_Não" + +#: gajim/gui_interface.py:203 gajim/gtk/notification.py:189 +#: gajim/gtk/notification.py:216 +msgid "Connection Failed" +msgstr "Falha na conexão" + +#: gajim/gui_interface.py:299 +#, python-format +msgid "error while sending %(message)s ( %(error)s )" +msgstr "erro ao enviar %(message)s ( %(error)s )" + +#: gajim/gui_interface.py:324 gajim/gtk/notification.py:189 +msgid "Subscription request" +msgstr "Solicitação de inscrição" + +#: gajim/gui_interface.py:359 +msgid "Authorization accepted" +msgstr "Autorização aceita" + +#: gajim/gui_interface.py:360 +#, python-format +msgid "The contact \"%(jid)s\" has authorized you to see their status." +msgstr "O contato \"%(jid)s\" te autorizou a ver o status dele." + +#: gajim/gui_interface.py:370 +msgid "Subscription Removed" +msgstr "Inscrição Removida" + +#: gajim/gui_interface.py:371 +#, python-format +msgid "%(name)s (%(jid)s) has removed subscription from you" +msgstr "%(name)s (%(jid)s) removeu sua inscrição" + +#: gajim/gui_interface.py:373 +msgid "" +"You will always see this contact as offline.\n" +"Do you want to remove them from your contact list?" +msgstr "" +"Você sempre verá esse contato como desconectado.\n" +"Você quer removê-lo da sua lista de contatos?" + +#: gajim/gui_interface.py:398 gajim/gtk/notification.py:190 +msgid "Unsubscribed" +msgstr "Desinscrever" + +#: gajim/gui_interface.py:410 +#, python-format +msgid "%(jid)s declined the invitation: %(reason)s" +msgstr "%(jid)s recusou o convite: %(reason)s" + +#: gajim/gui_interface.py:414 +#, python-format +msgid "%(jid)s declined the invitation" +msgstr "%(jid)s recusou o convite" + +#: gajim/gui_interface.py:431 gajim/chat_control.py:1606 +#: gajim/gtk/notification.py:188 gajim/gtk/notification.py:214 +#: gajim/gtk/notification.py:286 gajim/gtk/groupchat_invitation.py:33 +msgid "Group Chat Invitation" +msgstr "Convite para Conversa em Grupo" + +#: gajim/gui_interface.py:432 +#, python-format +msgid "%(contact)s invited you to %(chat)s" +msgstr "%(contact)s te convidou para %(chat)s" + +#: gajim/gui_interface.py:453 +msgid "Certificate Passphrase Required" +msgstr "Palavra Passe do Certificado Obrigatória" + +#: gajim/gui_interface.py:454 +#, python-format +msgid "Enter the certificate passphrase for account %s" +msgstr "Insira a senha do certificado para a conta %s" + +#: gajim/gui_interface.py:463 +#, python-format +msgid "Enter your password for account %s" +msgstr "Entre com a senha para conta %s" + +#: gajim/gui_interface.py:475 +msgid "Password Required" +msgstr "Senha é obrigatória" + +#: gajim/gui_interface.py:475 +msgid "Save password" +msgstr "Salvar senha" + +#: gajim/gui_interface.py:544 gajim/gui_interface.py:575 +#: gajim/gtk/notification.py:187 gajim/gtk/notification.py:279 +#: gajim/gtk/filetransfer.py:333 gajim/gtk/filetransfer.py:334 +msgid "File Transfer Error" +msgstr "Erro na transferência de arquivos" + +#: gajim/gui_interface.py:609 +#, python-format +msgid "%s wants to send you a file." +msgstr "%s quer te enviar um arquivo." + +#: gajim/gui_interface.py:611 gajim/gtk/notification.py:186 +#: gajim/gtk/notification.py:276 gajim/gtk/filetransfer.py:485 +msgid "File Transfer Request" +msgstr "Solicitação de transferência de arquivos" + +#: gajim/gui_interface.py:714 +msgid "Remote Contact Stopped Transfer" +msgstr "O Contato Remoto Parou a Transferência" + +#: gajim/gui_interface.py:719 +msgid "Error Opening File" +msgstr "Erro ao Abrir Arquivo" + +#: gajim/gui_interface.py:729 +msgid "SSL Certificate Error" +msgstr "Erro de Certificado SSL" + +#: gajim/gui_interface.py:738 gajim/gui_interface.py:768 +#: gajim/gui_interface.py:794 gajim/chat_control.py:1573 +#: gajim/gtk/notification.py:187 gajim/gtk/notification.py:282 +msgid "File Transfer Completed" +msgstr "Transferência do arquivo completa" + +#: gajim/gui_interface.py:742 gajim/gui_interface.py:773 +#: gajim/gui_interface.py:800 gajim/gtk/notification.py:188 +#: gajim/gtk/notification.py:283 +msgid "File Transfer Stopped" +msgstr "Transferência do arquivo parada" + +#: gajim/gui_interface.py:746 +msgid "File Transfer Failed" +msgstr "Transferência de Arquivo Falhou" + +#: gajim/gui_interface.py:769 +#, python-format +msgid "%(filename)s received from %(name)s." +msgstr "%(filename)s recebido de %(name)s." + +#: gajim/gui_interface.py:774 +#, python-format +msgid "File transfer of %(filename)s from %(name)s stopped." +msgstr "Transferência de arquivo de %(filename)s de %(name)s parou." + +#: gajim/gui_interface.py:780 +#, python-format +msgid "File transfer of %(filename)s from %(name)s failed." +msgstr "Transferência do arquivo %(filename)s de %(name)s falhou." + +#: gajim/gui_interface.py:795 +#, python-format +msgid "You successfully sent %(filename)s to %(name)s." +msgstr "Você enviou com sucesso o %(filename)s para %(name)s." + +#: gajim/gui_interface.py:801 +#, python-format +msgid "File transfer of %(filename)s to %(name)s stopped." +msgstr "Transferência de arquivo de %(filename)s para %(name)s parado." + +#: gajim/gui_interface.py:807 +#, python-format +msgid "File transfer of %(filename)s to %(name)s failed." +msgstr "Transferência do arquivo %(filename)s para %(name)s falhou." + +#: gajim/gui_interface.py:919 gajim/gui_interface.py:920 +msgid "Username Conflict" +msgstr "Conflito de nome de usuário" + +#: gajim/gui_interface.py:921 +msgid "Please enter a new username for your local account" +msgstr "Por favor digite um novo nome de usuário para sua conta local" + +#: gajim/gui_interface.py:925 gajim/gtk/dialogs.py:51 +#: gajim/data/gui/passphrase_dialog.ui:44 +msgid "_OK" +msgstr "_OK" + +#: gajim/gui_interface.py:988 gajim/chat_control.py:763 +#: gajim/chat_control.py:1660 gajim/gtk/notification.py:190 +msgid "Incoming Call" +msgstr "Mensagem Recebida" + +#: gajim/gui_interface.py:990 +#, python-format +msgid "%s is calling" +msgstr "%s está chamando" + +#: gajim/gui_interface.py:1071 gajim/gui_interface.py:1072 +msgid "Insecure Connection" +msgstr "Conexão Insegura" + +#: gajim/gui_interface.py:1073 +#, python-format +msgid "" +"You are about to connect to the account %(account)s (%(server)s) using an " +"insecure connection method. This means conversations will not be encrypted. " +"Connecting PLAIN is strongly discouraged." +msgstr "" +"Você está prestes a se conectar à conta %(account)s (%(server)s) usando um " +"método de conexão não seguro. Isso significa que as conversas não serão " +"criptografadas. Conectar em modo PLANO é fortemente desencorajado." + +#: gajim/gui_interface.py:1080 gajim/data/gui/groupchat_control.ui:595 +msgid "_Abort" +msgstr "_Abortar" + +#: gajim/gui_interface.py:1083 +msgid "_Connect Anyway" +msgstr "_Conectar Mesmo Assim" + +#: gajim/gui_interface.py:1921 +msgid "Gajim: IPython Console" +msgstr "Gajim: Console IPython" + +#: gajim/gui_interface.py:1998 +msgid "Update Check" +msgstr "Verificar Atualização" + +#: gajim/gui_interface.py:1999 +msgid "Gajim Update Check" +msgstr "Verificação de Atualização do Gajim" + +#: gajim/gui_interface.py:2000 +msgid "Search for Gajim updates periodically?" +msgstr "Buscar por atualizações do Gajim periodicamente?" + +#: gajim/gui_interface.py:2005 +msgid "_Search Periodically" +msgstr "_Buscar Periodicamente" + +#: gajim/gui_interface.py:2045 +msgid "Update Available" +msgstr "Atualização Disponível" + +#: gajim/gui_interface.py:2046 +msgid "Gajim Update Available" +msgstr "Atualização do Gajim Disponível" + +#: gajim/gui_interface.py:2047 +#, python-format +msgid "There is an update available for Gajim (latest version: %s)" +msgstr "Há uma atualização disponível para o Gajim (última versão: %s)" + +#: gajim/gui_interface.py:2049 +msgid "_Do not show again" +msgstr "_Não mostrar novamente" + +#: gajim/gui_interface.py:2051 gajim/gtk/accounts.py:126 +msgid "_Later" +msgstr "_Depois" + +#: gajim/gui_interface.py:2054 +msgid "_Update Now" +msgstr "_Atualizar Agora" + +#: gajim/gui_menu_builder.py:358 +msgid "I would like to add you to my contact list" +msgstr "Gostaria de adicioná-lo à minha lista de contatos" + +#: gajim/gui_menu_builder.py:435 +msgid "Send Single _Message…" +msgstr "Enviar _Mensagem Única…" + +#: gajim/gui_menu_builder.py:450 +msgid "E_xecute Command…" +msgstr "E_xecutar Comando…" + +#: gajim/gui_menu_builder.py:458 +msgid "_Manage Transport" +msgstr "_Gerenciar transporte" + +#: gajim/gui_menu_builder.py:464 +msgid "_Modify Transport" +msgstr "_Modificar transporte" + +#: gajim/gui_menu_builder.py:503 gajim/data/gui/contact_context_menu.ui:198 +msgid "_Information" +msgstr "_Informações" + +#: gajim/gui_menu_builder.py:516 +msgid "Send File" +msgstr "Enviar Arquivo" + +#: gajim/gui_menu_builder.py:517 +msgid "Upload File…" +msgstr "Enviar Arquivo…" + +#: gajim/gui_menu_builder.py:518 +msgid "Send File Directly…" +msgstr "Enviar Arquivo Diretamente…" + +#: gajim/gui_menu_builder.py:520 gajim/gtk/accounts.py:734 +msgid "Send Read Markers" +msgstr "Enviar Marcadores de Leitura" + +#: gajim/gui_menu_builder.py:521 gajim/gtk/accounts.py:710 +msgid "Send Chatstate" +msgstr "Enviar Estado de Chat" + +#: gajim/gui_menu_builder.py:522 gajim/data/gui/groupchat_control.ui:307 +msgid "Invite Contacts…" +msgstr "Convidar Contatos…" + +#: gajim/gui_menu_builder.py:523 gajim/gui_menu_builder.py:741 +#: gajim/gui_menu_builder.py:768 gajim/gui_menu_builder.py:807 +msgid "Add to Contact List…" +msgstr "Adicionar à Lista de Contatos…" + +#: gajim/gui_menu_builder.py:524 +msgid "Block Contact…" +msgstr "Bloquear Contato…" + +#: gajim/gui_menu_builder.py:525 gajim/data/gui/chat_control.ui:936 +msgid "Start Call…" +msgstr "Iniciar Chamada…" + +#: gajim/gui_menu_builder.py:526 gajim/gui_menu_builder.py:576 +#: gajim/gui_menu_builder.py:802 gajim/data/gui/groupchat_control.ui:1334 +msgid "Information" +msgstr "Informação" + +#: gajim/gui_menu_builder.py:527 gajim/gui_menu_builder.py:588 +msgid "History" +msgstr "Histórico" + +#: gajim/gui_menu_builder.py:533 gajim/gui_menu_builder.py:710 +#: gajim/gtk/preferences.py:671 gajim/gtk/groupchat_settings.py:36 +#: gajim/gtk/accounts.py:682 +msgid "Disabled" +msgstr "Desabilitado" + +#: gajim/gui_menu_builder.py:534 gajim/gtk/groupchat_settings.py:37 +#: gajim/gtk/accounts.py:681 +msgid "Composing Only" +msgstr "Apenas escrevendo" + +#: gajim/gui_menu_builder.py:535 gajim/gtk/groupchat_settings.py:38 +msgid "All Chat States" +msgstr "Todos os Status de Chat" + +#: gajim/gui_menu_builder.py:577 +msgid "Settings…" +msgstr "Configurações…" + +#: gajim/gui_menu_builder.py:578 +msgid "Manage Group Chat" +msgstr "Gerenciar grupos de bate-papo" + +#: gajim/gui_menu_builder.py:579 +msgid "Rename…" +msgstr "Renomear…" + +#: gajim/gui_menu_builder.py:580 +msgid "Change Subject…" +msgstr "Mudar de Assunto…" + +#: gajim/gui_menu_builder.py:581 +msgid "Upload Avatar…" +msgstr "Carregar Avatar…" + +#: gajim/gui_menu_builder.py:582 +msgid "Configure…" +msgstr "Configurar…" + +#: gajim/gui_menu_builder.py:583 +msgid "Destroy…" +msgstr "Destruir…" + +#: gajim/gui_menu_builder.py:585 +msgid "Change Nickname…" +msgstr "Trocar Apelido…" + +#: gajim/gui_menu_builder.py:586 +msgid "Request Voice" +msgstr "Solicitar Voz" + +#: gajim/gui_menu_builder.py:587 gajim/gui_menu_builder.py:825 +msgid "Execute Command…" +msgstr "Executar Comando…" + +#: gajim/gui_menu_builder.py:589 +msgid "Leave" +msgstr "Sair" + +#: gajim/gui_menu_builder.py:631 +msgid "Add Contact…" +msgstr "Adicionar Contato…" + +#: gajim/gui_menu_builder.py:632 gajim/gtk/accounts.py:861 +#: gajim/gtk/accounts.py:899 gajim/gtk/profile.py:53 +msgid "Profile" +msgstr "Perfil" + +#: gajim/gui_menu_builder.py:633 +msgid "Send Single Message…" +msgstr "Enviar Mensagem Única…" + +#: gajim/gui_menu_builder.py:634 +msgid "Discover Services…" +msgstr "Descobrir Serviços…" + +#: gajim/gui_menu_builder.py:635 gajim/gtk/server_info.py:47 +msgid "Server Info" +msgstr "Informação do Servidor" + +#: gajim/gui_menu_builder.py:636 gajim/gtk/accounts.py:312 +#: gajim/data/gui/preferences.ui:853 +msgid "Advanced" +msgstr "Avançado" + +#: gajim/gui_menu_builder.py:637 gajim/gtk/mam_preferences.py:100 +msgid "Archiving Preferences" +msgstr "_Preferências de arquivamento" + +#: gajim/gui_menu_builder.py:638 +msgid "Blocking List" +msgstr "Lista de bloqueados" + +#: gajim/gui_menu_builder.py:639 +msgid "Bookmarks" +msgstr "Favoritos" + +#: gajim/gui_menu_builder.py:640 +msgid "PEP Configuration" +msgstr "Configuração do PEP" + +#: gajim/gui_menu_builder.py:641 +msgid "Synchronise History…" +msgstr "Sincronizar Histórico…" + +#: gajim/gui_menu_builder.py:643 gajim/gtk/server_info.py:141 +#: gajim/data/gui/groupchat_config.ui:36 +msgid "Admin" +msgstr "Admin" + +#: gajim/gui_menu_builder.py:644 +msgid "Send Server Message…" +msgstr "Enviar Mensagem de Servidor…" + +#: gajim/gui_menu_builder.py:645 +msgid "Set MOTD…" +msgstr "Definir MOTD…" + +#: gajim/gui_menu_builder.py:646 +msgid "Update MOTD…" +msgstr "Atualizar MOTD…" + +#: gajim/gui_menu_builder.py:647 +msgid "Delete MOTD…" +msgstr "Excluir MOTD…" + +#: gajim/gui_menu_builder.py:684 +msgid "_Add Account…" +msgstr "_Adicionar Conta…" + +#: gajim/gui_menu_builder.py:690 +msgid "_Modify Accounts…" +msgstr "_Modificar Contas…" + +#: gajim/gui_menu_builder.py:700 gajim/data/gui/account_context_menu.ui:79 +#: gajim/data/gui/zeroconf_context_menu.ui:26 +msgid "_Modify Account…" +msgstr "_Modificar Conta…" + +#: gajim/gui_menu_builder.py:704 gajim/gtk/accounts.py:51 +msgid "Accounts" +msgstr "Contas" + +#: gajim/gui_menu_builder.py:734 gajim/gui_menu_builder.py:739 +msgid "Copy XMPP Address" +msgstr "Copiar endereço XMPP" + +#: gajim/gui_menu_builder.py:735 gajim/gui_menu_builder.py:767 +msgid "Join Groupchat" +msgstr "Entrar em um bate-papo em grupo" + +#: gajim/gui_menu_builder.py:740 gajim/gui_menu_builder.py:766 +#: gajim/gtk/start_chat.py:636 +#: gajim/data/gui/subscription_request_window.ui:149 +msgid "Start Chat" +msgstr "Iniciar conversa" + +#: gajim/gui_menu_builder.py:746 +msgid "Copy Link Location" +msgstr "Copiar a Localização do Link" + +#: gajim/gui_menu_builder.py:747 +msgid "Open Link in Browser" +msgstr "Abrir Link no Navegador" + +#: gajim/gui_menu_builder.py:752 +msgid "Copy Email Address" +msgstr "Copiar Endereço de E-mail" + +#: gajim/gui_menu_builder.py:753 gajim/gui_menu_builder.py:765 +msgid "Open Email Composer" +msgstr "Abrir Cliente de e-mail" + +#: gajim/gui_menu_builder.py:758 +msgid "Copy Location" +msgstr "Copiar Localização" + +#: gajim/gui_menu_builder.py:759 gajim/gtk/preferences.py:291 +msgid "Show Location" +msgstr "Mostrar localização" + +#: gajim/gui_menu_builder.py:764 +msgid "Copy XMPP Address/Email" +msgstr "Copiar endereço XMPP/e-mail" + +#: gajim/gui_menu_builder.py:816 +msgid "Invite" +msgstr "Convidar" + +#: gajim/gui_menu_builder.py:832 +msgid "Kick" +msgstr "Expulsar" + +#: gajim/gui_menu_builder.py:840 +msgid "Ban" +msgstr "Banir" + +#: gajim/gui_menu_builder.py:850 +msgid "Make Owner" +msgstr "Pôr Como Titular" + +#: gajim/gui_menu_builder.py:859 +msgid "Make Admin" +msgstr "Criar Admin" + +#: gajim/gui_menu_builder.py:868 +msgid "Make Member" +msgstr "Tornar Membro" + +#: gajim/gui_menu_builder.py:877 +msgid "Revoke Member" +msgstr "Revogar Membro" + +#: gajim/gui_menu_builder.py:887 +msgid "Grant Voice" +msgstr "Permitir Voz" + +#: gajim/gui_menu_builder.py:890 +msgid "Revoke Voice" +msgstr "Revogar Voz" + +#: gajim/gui_menu_builder.py:910 +msgid "Copy" +msgstr "Copiar" + +#: gajim/chat_control.py:346 gajim/groupchat_control.py:348 +msgid "Send File…" +msgstr "Enviar Arquivo…" + +#: gajim/chat_control.py:348 gajim/groupchat_control.py:354 +msgid "No File Transfer available" +msgstr "Nenhuma transferência de arquivo disponível" + +#: gajim/chat_control.py:479 +msgid "Show a list of formattings" +msgstr "Exibe uma lista de formatações" + +#: gajim/chat_control.py:483 +msgid "This contact does not support HTML" +msgstr "Este contato não suporta HTML" + +#: gajim/chat_control.py:684 +msgid "Ping?" +msgstr "Ping?" + +#: gajim/chat_control.py:687 +#, python-format +msgid "Pong! (%s seconds)" +msgstr "Pong! (%s segundos)" + +#: gajim/chat_control.py:758 +msgid "Calling…" +msgstr "Chamando…" + +#: gajim/chat_control.py:783 gajim/chat_control.py:870 +msgid "Connection Error" +msgstr "Erro de Conexão" + +#: gajim/chat_control.py:811 gajim/data/gui/chat_control.ui:1185 +msgid "Turn Camera on" +msgstr "Ativar Câmera" + +#: gajim/chat_control.py:822 +msgid "Calling (Video)…" +msgstr "Chamando (Vídeo)…" + +#: gajim/chat_control.py:826 gajim/chat_control.py:834 +#: gajim/chat_control.py:864 +msgid "Turn Camera off" +msgstr "Desativar Câmera" + +#: gajim/chat_control.py:832 +msgid "Incoming Call (Video)" +msgstr "Recebendo Chamada (Vídeo)" + +#: gajim/chat_control.py:1020 +#, python-format +msgid "%(nickname)s from group chat %(room_name)s" +msgstr "%(nickname)s da conferência %(room_name)s" + +#: gajim/chat_control.py:1257 +msgid "Note: Chat history is disabled for this contact." +msgstr "Nota: O histórico de conversa está desativado para esse contato." + +#: gajim/chat_control.py:1259 +msgid "Note: Chat history is disabled for this account." +msgstr "Nota: O histórico de conversa está desativado para essa conta." + +#: gajim/chat_control.py:1260 +#, python-format +msgid "" +"You just received a new message from %s.\n" +"Do you want to close this tab?" +msgstr "" +"Você acabou de receber uma nova mensagem de %s.\n" +"Quer fechar essa aba?" + +#: gajim/chat_control.py:1266 gajim/gtk/remove_account.py:43 +#: gajim/gtk/change_password.py:44 +msgid "Close" +msgstr "Fechar" + +#: gajim/chat_control.py:1267 gajim/gtk/notification.py:184 +#: gajim/gtk/notification.py:204 gajim/gtk/notification.py:218 +#: gajim/gtk/notification.py:271 gajim/common/connection_handlers_events.py:237 +msgid "New Message" +msgstr "Nova mensagem" + +#: gajim/chat_control.py:1272 gajim/chat_control.py:1579 +#: gajim/chat_control.py:1588 gajim/message_window.py:371 +#: gajim/data/gui/groupchat_control.ui:1117 +#: gajim/data/gui/groupchat_control.ui:1203 +#: gajim/data/gui/groupchat_control.ui:1308 +#: gajim/data/gui/groupchat_control.ui:1997 +msgid "_Close" +msgstr "Fe_char" + +#: gajim/chat_control.py:1359 +#, python-format +msgid "" +"Subject: %(subject)s\n" +"%(message)s" +msgstr "" +"Assunto: %(subject)s\n" +"%(message)s" + +#: gajim/chat_control.py:1480 +#, python-format +msgid "%(name)s is now %(show)s %(status)s" +msgstr "%(name)s está agora %(show)s %(status)s" + +#: gajim/chat_control.py:1545 +msgid "Size" +msgstr "Tamanho" + +#: gajim/chat_control.py:1547 gajim/chat_control.py:1609 +#: gajim/gtk/groupchat_invitation.py:67 +msgid "_Decline" +msgstr "_Recusar" + +#: gajim/chat_control.py:1550 gajim/chat_control.py:1611 +#: gajim/chat_control.py:1668 gajim/gtk/dialogs.py:59 +msgid "_Accept" +msgstr "_Aceitar" + +#: gajim/chat_control.py:1577 gajim/gtk/filetransfer.py:259 +msgid "Open _Folder" +msgstr "Abrir _Pasta" + +#: gajim/chat_control.py:1662 +msgid "" +"\n" +"Video Call" +msgstr "" +"\n" +"Chama de Vídeo" + +#: gajim/chat_control.py:1664 +msgid "" +"\n" +"Voice Call" +msgstr "" +"\n" +"Chamada de Voz" + +#: gajim/chat_control.py:1666 +msgid "_Reject" +msgstr "_Rejeitar" + +#: gajim/chat_control.py:1692 gajim/gtk/filetransfer.py:297 +msgid "File transfer stopped" +msgstr "Transferência do arquivo parada" + +#: gajim/chat_control.py:1697 gajim/gtk/filetransfer.py:275 +#: gajim/gtk/filetransfer.py:284 +msgid "File transfer cancelled" +msgstr "Transferência de arquivos cancelada" + +#: gajim/chat_control.py:1698 +msgid "Connection with peer cannot be established." +msgstr "Conexão com o par não pode ser estabelecida." + +#: gajim/chat_control_base.py:141 gajim/gtk/start_chat.py:649 +#: gajim/gtk/groupchat_invite.py:318 +#, python-format +msgid "Account: %s" +msgstr "Conta: %s" + +#: gajim/chat_control_base.py:592 +msgid "and authenticated" +msgstr "e autenticada" + +#: gajim/chat_control_base.py:596 +msgid "and NOT authenticated" +msgstr "e NÃO autenticada" + +#: gajim/chat_control_base.py:600 +#, python-format +msgid "%(type)s encryption is active %(authenticated)s." +msgstr "Criptografia %(type)s está ativa %(authenticated)s." + +#: gajim/chat_control_base.py:715 +msgid "_Undo" +msgstr "_Desfazer" + +#: gajim/chat_control_base.py:723 gajim/conversation_textview.py:417 +msgid "_Clear" +msgstr "_Limpar" + +#: gajim/chat_control_base.py:728 +msgid "Paste as quote" +msgstr "Colar como citação" + +#: gajim/chat_control_base.py:767 +msgid "Paste Image" +msgstr "Colar imagem" + +#: gajim/chat_control_base.py:768 +msgid "You are trying to paste an image" +msgstr "Você está tentando colar uma imagem" + +#: gajim/chat_control_base.py:769 +msgid "" +"Are you sure you want to paste your clipboard's image into the chat window?" +msgstr "" +"Tem certeza de que deseja colar a imagem da sua área de transferência na " +"janela de bate-papo?" + +#: gajim/chat_control_base.py:775 +msgid "_Paste" +msgstr "_Colar" + +#: gajim/chat_control_base.py:1361 gajim/gtk/accounts.py:310 +#: gajim/data/gui/profile.ui:17 gajim/data/gui/profile.ui:318 +msgid "Privacy" +msgstr "Privacidade" + +#: gajim/chat_control_base.py:1362 +msgid "Warning" +msgstr "Aviso" + +#: gajim/chat_control_base.py:1363 +#, python-format +msgid "" +"If you send a file to %s, your real XMPP address will be revealed." +msgstr "" +"Se você enviar um arquivo para %s, ele(a) saberá o seu JID real." + +#: gajim/chat_control_base.py:1368 +msgid "_Continue" +msgstr "_Continuar" + +#: gajim/gajim_remote.py:55 gajim/common/exceptions.py:70 +msgid "D-Bus is not present on this machine or python module is missing" +msgstr "" +"O D-Bus não está presente nesta máquina ou o módulo do Python está faltando" + +#: gajim/gajim_remote.py:77 +msgid "Shows a help on specific command" +msgstr "Mostra uma ajuda para um comando específico" + +#: gajim/gajim_remote.py:80 +msgid "command" +msgstr "comando" + +#: gajim/gajim_remote.py:81 +msgid "show help on command" +msgstr "exibir ajuda no comando" + +#: gajim/gajim_remote.py:85 +msgid "Lists all contacts in the contact list, one for each line" +msgstr "Exibe todos os contatos na lista de contatos, um em cada linha" + +#: gajim/gajim_remote.py:87 gajim/gajim_remote.py:102 gajim/gajim_remote.py:112 +#: gajim/gajim_remote.py:122 gajim/gajim_remote.py:133 +#: gajim/gajim_remote.py:142 gajim/gajim_remote.py:163 +#: gajim/gajim_remote.py:171 gajim/gajim_remote.py:180 +#: gajim/gajim_remote.py:187 +msgid "?CLI:account" +msgstr "?CLI:conta" + +#: gajim/gajim_remote.py:87 +msgid "show only contacts of the given account" +msgstr "exibir somente os contatos desta conta" + +#: gajim/gajim_remote.py:93 +msgid "Prints a list of registered accounts" +msgstr "Imprimir uma lista das contas registradas" + +#: gajim/gajim_remote.py:97 +msgid "Changes the status of account(s)" +msgstr "Mudar o estado da(s) conta(s)" + +#: gajim/gajim_remote.py:100 +msgid "?CLI:status" +msgstr "?CLI:estado" + +#: gajim/gajim_remote.py:100 +msgid "" +"one of: offline, online, chat, away, xa, dnd. If not set, use account's " +"previous status" +msgstr "" +"um desses: desconectado, conectado, bate-papo, inativo, ausente, não " +"perturbe, invisível. Se não definido, o status anterior da conta será usado" + +#: gajim/gajim_remote.py:101 gajim/gajim_remote.py:121 +#: gajim/gajim_remote.py:132 gajim/gajim_remote.py:141 +msgid "?CLI:message" +msgstr "?CLI:mensagem" + +#: gajim/gajim_remote.py:101 +msgid "status message" +msgstr "mensagem de status" + +#: gajim/gajim_remote.py:102 +msgid "" +"change status of account \"account\". If not specified, try to change status " +"of all accounts that have \"sync with global status\" option set" +msgstr "" +"mudar status da conta \"account\". Se não especificado, tentará mudar o " +"status de todas as contas existentes com a opção \"sincronizar com status " +"global\" marcada" + +#: gajim/gajim_remote.py:108 +msgid "Changes the priority of account(s)" +msgstr "Muda a prioridade da(s) conta(s)" + +#: gajim/gajim_remote.py:110 +msgid "?CLI:priority" +msgstr "?CLI:prioridade" + +#: gajim/gajim_remote.py:110 +msgid "priority you want to give to the account" +msgstr "prioridade que deseja dar para a conta" + +#: gajim/gajim_remote.py:112 +msgid "" +"change the priority of the given account. If not specified, change status of " +"all accounts that have \"sync with global status\" option set" +msgstr "" +"mudar status da conta. Se não especificado, tentará mudar o status de todas " +"as contas existentes com a opção \"sincronizar com status global\" marcada" + +#: gajim/gajim_remote.py:118 +msgid "" +"Sends new chat message to a contact in the contact list. Account is optional." +msgstr "" +"Envia uma nova mensagem para um contato na lista de contatos. Uma conta é " +"opcional." + +#: gajim/gajim_remote.py:120 gajim/gajim_remote.py:130 +msgid "XMPP Address of the contact that will receive the message" +msgstr "Endereço XMPP do contato que irá receber a mensagem" + +#: gajim/gajim_remote.py:121 gajim/gajim_remote.py:132 +#: gajim/gajim_remote.py:141 +msgid "message contents" +msgstr "conteúdos da mensagem" + +#: gajim/gajim_remote.py:122 gajim/gajim_remote.py:133 +#: gajim/gajim_remote.py:142 +msgid "if specified, the message will be sent using this account" +msgstr "se especificada, a mensagem será enviada usando esta conta" + +#: gajim/gajim_remote.py:127 +msgid "" +"Sends a chat message to someone on your contact list. Account is optional." +msgstr "" +"Envia uma mensagem para alguém em sua lista de contatos. Uma conta é " +"opcional." + +#: gajim/gajim_remote.py:131 +msgid "subject" +msgstr "assunto" + +#: gajim/gajim_remote.py:131 +msgid "message subject" +msgstr "assunto da mensagem" + +#: gajim/gajim_remote.py:138 +msgid "Sends new message to a group chat you've joined." +msgstr "" +"Envia uma nova mensagem para uma conversa em grupo em que você estiver " +"ingressado." + +#: gajim/gajim_remote.py:140 +msgid "XMPP Address of the group chat that will receive the message" +msgstr "Endereço XMPP da conversa em grupo que receberá a mensagem" + +#: gajim/gajim_remote.py:147 +msgid "Gets detailed info on a contact" +msgstr "Informações detalhadas do contato" + +#: gajim/gajim_remote.py:149 gajim/gajim_remote.py:162 +#: gajim/gajim_remote.py:170 +msgid "XMPP Address of the contact" +msgstr "Endereço XMPP do contato" + +#: gajim/gajim_remote.py:153 +msgid "Gets detailed info on a account" +msgstr "Informações detalhadas do contato" + +#: gajim/gajim_remote.py:155 +msgid "Name of the account" +msgstr "Nome da conta" + +#: gajim/gajim_remote.py:159 +msgid "Sends file to a contact" +msgstr "Enviar arquivo para um contato" + +#: gajim/gajim_remote.py:161 +msgid "file" +msgstr "arquivo" + +#: gajim/gajim_remote.py:161 +msgid "File path" +msgstr "Caminho do arquivo" + +#: gajim/gajim_remote.py:163 +msgid "if specified, file will be sent using this account" +msgstr "se especificada, arquivo irá ser enviado usando esta conta" + +#: gajim/gajim_remote.py:168 +msgid "Removes contact from contact list" +msgstr "Remove contato da lista de contatos" + +#: gajim/gajim_remote.py:171 +msgid "if specified, contact is taken from the contact list of this account" +msgstr "se especificado, o contato é feito da lista de contatos desta conta" + +#: gajim/gajim_remote.py:178 +msgid "Returns current status (the global one unless account is specified)" +msgstr "Retorna o status atual (global a menos que o cliente for especificado)" + +#: gajim/gajim_remote.py:185 +msgid "" +"Returns current status message (the global one unless account is specified)" +msgstr "" +"Retorna a mensagem de status atual (global a menos que a conta for " +"especificada)" + +#: gajim/gajim_remote.py:192 +msgid "Returns number of unread messages" +msgstr "Retorna o número das mensagens não lidas" + +#: gajim/gajim_remote.py:197 +msgid "Sends custom XML" +msgstr "Envia XML personalizado" + +#: gajim/gajim_remote.py:199 +msgid "XML to send" +msgstr "XML a enviar" + +#: gajim/gajim_remote.py:200 +msgid "" +"Account to which the XML will be sent; if not specified, XML will be sent to " +"all accounts" +msgstr "" +"A conta para a qual o XML será enviado; se não especificado, ele será " +"enviado para todas as contas" + +#: gajim/gajim_remote.py:207 +msgid "Check if Gajim is running" +msgstr "Checar se o Gajim está rodando" + +#: gajim/gajim_remote.py:233 +msgid "Missing argument \"contact_jid\"" +msgstr "Argumento não informado \"contact_jid\"" + +#: gajim/gajim_remote.py:253 +#, python-format +msgid "" +"'%s' is not in your contact list.\n" +"Please specify account for sending the message." +msgstr "" +"'%s' não está em sua lista de contatos.\n" +"Por favor, especifique a conta para enviar a mensagem." + +#: gajim/gajim_remote.py:256 +msgid "You have no active account" +msgstr "Você não tem uma conta ativa" + +#: gajim/gajim_remote.py:304 +msgid "It seems Gajim is not running. So you can't use gajim-remote." +msgstr "" +"Parece que o Gajim não está rodando. Então você não pode usar o gajim-remote." + +#: gajim/gajim_remote.py:331 +#, python-format +msgid "" +"Usage: %(basename)s %(command)s %(arguments)s \n" +"\t %(help)s" +msgstr "" +"Uso: %(basename)s %(command)s %(arguments)s \n" +"\t %(help)s" + +#: gajim/gajim_remote.py:335 +msgid "Arguments:" +msgstr "Argumentos:" + +#: gajim/gajim_remote.py:339 +#, python-format +msgid "%s not found" +msgstr "%s não encontrado" + +#: gajim/gajim_remote.py:345 +#, python-format +msgid "" +"Usage:\n" +" %s command [arguments]\n" +"\n" +"Command is one of:\n" +msgstr "" +"Uso:\n" +" %s comando [argumentos]\n" +"\n" +"Comando é um dos seguintes:\n" + +#: gajim/gajim_remote.py:415 +#, python-format +msgid "" +"Too many arguments. \n" +"Type \"%(basename)s help %(command)s\" for more info" +msgstr "" +"Muitos argumentos. \n" +"Digite \"%(basename)s help %(command)s\" para mais informações" + +#: gajim/gajim_remote.py:420 +#, python-format +msgid "" +"Argument \"%(arg)s\" is not specified. \n" +"Type \"%(basename)s help %(command)s\" for more info" +msgstr "" +"Argumento \"%(arg)s\" não está especificado. \n" +"Digite\"%(basename)s help %(command)s\" para maiores informações" + +#: gajim/dialogs.py:70 +#, python-format +msgid "Contact name: %s" +msgstr "Nome do contato: %s" + +#: gajim/dialogs.py:72 +#, python-format +msgid "XMPP Address: %s" +msgstr "Endereço XMPP: %s" + +#: gajim/dialogs.py:189 +msgid "Group" +msgstr "Grupo" + +#: gajim/dialogs.py:196 +msgid "In the group" +msgstr "Neste grupo" + +#: gajim/dialogs.py:211 gajim/gtk/discovery.py:522 +msgid "You are not connected to the server" +msgstr "Você não está conectado ao servidor" + +#: gajim/dialogs.py:212 +msgid "Without a connection, you can not synchronise your contacts." +msgstr "Sem uma conexão, você pode não sincronizar seus contatos." + +#: gajim/dialogs.py:223 gajim/dialogs.py:294 +#: gajim/gtk/roster_item_exchange.py:83 gajim/gtk/discovery.py:826 +#: gajim/gtk/discovery.py:1650 gajim/gtk/discovery.py:1896 +#: gajim/gtk/history.py:99 gajim/gtk/vcard_grid.py:34 +#: gajim/data/gui/bookmarks.ui:66 +msgid "Name" +msgstr "Nome" + +#: gajim/dialogs.py:226 gajim/data/gui/preferences.ui:604 +#: gajim/data/gui/server_info.ui:146 +msgid "Server" +msgstr "Servidor" + +#: gajim/dialogs.py:262 +msgid "This account is not connected to the server" +msgstr "Esta conta não está conectada ao servidor" + +#: gajim/dialogs.py:263 +msgid "You cannot synchronize with an account unless it is connected." +msgstr "Você não pode sincronizar com uma conta a menos que esteja conectado." + +#: gajim/dialogs.py:292 +msgid "Synchronise" +msgstr "Sincronizar" + +#: gajim/vcard.py:284 +msgid "?Client:Unknown" +msgstr "?Cliente:Desconhecido" + +#: gajim/vcard.py:289 +msgid "?OS:Unknown" +msgstr "?SO:Desconhecido" + +#: gajim/vcard.py:319 gajim/vcard.py:322 +msgid "?Time:Unknown" +msgstr "?Tempo:Desconhecido" + +#: gajim/vcard.py:373 +msgid "?Role in Group Chat:Role:" +msgstr "?Papel no bate-papo em grupo:Função:" + +#: gajim/vcard.py:377 +msgid "Affiliation:" +msgstr "Afiliação:" + +#: gajim/vcard.py:384 +msgid "" +"This contact is interested in your presence information, but you are not " +"interested in their presence" +msgstr "" +"Este contato está interessado em sua informação de presença, mas você não " +"está interessado na presença dele/dela" + +#: gajim/vcard.py:386 +msgid "" +"You are interested in the contact's presence information, but it is not " +"mutual" +msgstr "" +"Você está interessado na informação da presença do contato, mas ele/ela não " +"está interessado na sua" + +#: gajim/vcard.py:388 +msgid "The contact and you want to exchange presence information" +msgstr "" +"Você e o contato estão interessados na informação da presença um do outro" + +#: gajim/vcard.py:390 +msgid "" +"You and the contact have a mutual disinterest in each-others presence " +"information" +msgstr "" +"Você e o contato não estão interessados na informação da presença um do outro" + +#: gajim/vcard.py:396 +msgid "You are waiting contact's answer about your subscription request" +msgstr "" +"Você está esperando a resposta do contato sobre seu pedido de inscrição" + +#: gajim/vcard.py:398 +msgid "There is no pending subscription request." +msgstr "Não há requisições de inscrições pendentes." + +#: gajim/vcard.py:403 gajim/vcard.py:453 gajim/vcard.py:549 +msgid " resource with priority " +msgstr " recurso com prioridade " + +#: gajim/conversation_textview.py:65 +msgid "Untrusted" +msgstr "Não confiável" + +#: gajim/conversation_textview.py:68 +msgid "Trust Not Decided" +msgstr "Confiança Não Decidida" + +#: gajim/conversation_textview.py:71 +msgid "Unverified" +msgstr "Não Verificado" + +#: gajim/conversation_textview.py:74 +msgid "Verified" +msgstr "Verificado" + +#: gajim/conversation_textview.py:225 +msgid "" +"Text below this line is what has been said since the\n" +"last time you paid attention to this group chat" +msgstr "" +"O texto abaixo desta linha é o que foi dito desde a\n" +"última vez onde você prestou a atenção a conferência" + +#: gajim/conversation_textview.py:428 +msgid "_Quote" +msgstr "_Frase" + +#: gajim/conversation_textview.py:436 +#, python-format +msgid "_Actions for \"%s\"" +msgstr "_Ações para \"%s\"" + +#: gajim/conversation_textview.py:450 +msgid "Read _Wikipedia Article" +msgstr "Ler artigo da _Wikipedia" + +#: gajim/conversation_textview.py:455 +msgid "Look it up in _Dictionary" +msgstr "Procurar no _dicionário" + +#: gajim/conversation_textview.py:472 +#, python-format +msgid "Dictionary URL is missing an \"%s\" and it is not WIKTIONARY" +msgstr "URL do dicionário não existe \"%s\" e isto não é WIKTIONARY" + +#: gajim/conversation_textview.py:486 +#, python-format +msgid "Web Search URL is missing an \"%s\"" +msgstr "URL de procura na web não existe \"%s\"" + +#: gajim/conversation_textview.py:489 +msgid "Web _Search for it" +msgstr "_Procura na web por isto" + +#: gajim/conversation_textview.py:495 +msgid "Open as _Link" +msgstr "Abrir como _link" + +#: gajim/conversation_textview.py:770 +msgid "Invalid URL" +msgstr "URL inválida" + +#: gajim/conversation_textview.py:860 +msgid "" +"Message corrected. Original message:\n" +"{}" +msgstr "" +"Mensagem corrigida. Mensagem original:\n" +"{}" + +#: gajim/conversation_textview.py:1031 +msgid "Not encrypted" +msgstr "Não criptografado" + +#: gajim/conversation_textview.py:1034 +#, python-format +msgid "Encrypted (%s)" +msgstr "Criptografado (%s)" + +#: gajim/conversation_textview.py:1141 gajim/gtk/history.py:618 +#, python-format +msgid "Subject: %s\n" +msgstr "Assunto: %s\n" + +#: gajim/conversation_textview.py:1250 +msgid "Received" +msgstr "Recebido" + +#: gajim/conversation_textview.py:1272 +msgid "?Message state:Read" +msgstr "?Message state:Lido" + +#: gajim/groupchat_control.py:352 +#, python-format +msgid "Send File (max. %s MiB)…" +msgstr "Enviar arquivo (máx.%s MiB)…" + +#: gajim/groupchat_control.py:497 +#, python-format +msgid "%s has been invited to this group chat" +msgstr "%s convidou você para esta conversa em grupo" + +#: gajim/groupchat_control.py:512 gajim/dialog_messages.py:31 +#: gajim/dialog_messages.py:36 gajim/gtk/single_message.py:238 +msgid "Invalid XMPP Address" +msgstr "Endereço XMPP inválido" + +#: gajim/groupchat_control.py:575 +msgid "Loading avatar failed" +msgstr "Envio de avatar falhou" + +#: gajim/groupchat_control.py:595 +#, python-format +msgid "Avatar upload failed: %s" +msgstr "Envio de avatar falhou: %s" + +#: gajim/groupchat_control.py:598 +msgid "Avatar upload successful" +msgstr "Envio de avatar bem sucedido" + +#: gajim/groupchat_control.py:616 +#, python-format +msgid "Kick %s" +msgstr "Chutar %s" + +#: gajim/groupchat_control.py:625 +#, python-format +msgid "Ban %s" +msgstr "Lista de banidos %s" + +#: gajim/groupchat_control.py:684 +msgid "Insert Nickname" +msgstr "Inserir apelido" + +#: gajim/groupchat_control.py:775 gajim/groupchat_control.py:776 +msgid "Voice Request" +msgstr "Pedido de Voz" + +#: gajim/groupchat_control.py:777 +#, python-format +msgid "%(nick)s from %(room_name)s requests voice" +msgstr "solicitação de voz de %(nick)sda sala%(room_name)s" + +#: gajim/groupchat_control.py:781 +msgid "_Approve" +msgstr "_Aprovar" + +#: gajim/groupchat_control.py:1007 +#, python-format +msgid "%(nick)s has set the subject to %(subject)s" +msgstr "%(nick)s alterou o assunto para %(subject)s" + +#: gajim/groupchat_control.py:1023 +msgid "Group chat now shows unavailable members" +msgstr "A conversa em grupo agora exibe membros indisponíveis" + +#: gajim/groupchat_control.py:1026 +msgid "Group chat now does not show unavailable members" +msgstr "A conversa em grupo agora não mostra membros indisponíveis" + +#: gajim/groupchat_control.py:1030 +msgid "A setting not related to privacy has been changed" +msgstr "Uma configuração não relacionada à privacidade foi alterada" + +#: gajim/groupchat_control.py:1037 gajim/groupchat_control.py:1197 +msgid "Conversations are stored on the server" +msgstr "Histórico de conversas são armazenados no servidor" + +#: gajim/groupchat_control.py:1040 +msgid "Conversations are not stored on the server" +msgstr "Histórico de conversas não são armazenados no servidor" + +#: gajim/groupchat_control.py:1043 +msgid "Group chat is now non-anonymous" +msgstr "Agora a conversa em grupo é não-anônima" + +#: gajim/groupchat_control.py:1047 +msgid "Group chat is now semi-anonymous" +msgstr "Agora a conversa em grupo é semi-anônima" + +#: gajim/groupchat_control.py:1051 +msgid "Group chat is now fully anonymous" +msgstr "Agora a conversa em grupo é totalmente anônima" + +#: gajim/groupchat_control.py:1101 +#, python-format +msgid "Ping? (%s)" +msgstr "Ping? (%s)" + +#: gajim/groupchat_control.py:1104 +#, python-format +msgid "Pong! (%(nick)s %(delay)s s.)" +msgstr "Pong! (%(nick)s %(delay)s s.)" + +#: gajim/groupchat_control.py:1188 +#, python-format +msgid "You (%s) joined the group chat" +msgstr "Você (%s) entrou na conversa em grupo" + +#: gajim/groupchat_control.py:1193 +msgid "Any participant is allowed to see your full XMPP Address" +msgstr "" +"Qualquer participante tem permissão de ver o seu endereço XMPP completo" + +#: gajim/groupchat_control.py:1201 +msgid "The server has assigned or modified your nickname in this group chat" +msgstr "O servidor atribuiu ou modificou seu apelido nessa conversa em grupo" + +#: gajim/groupchat_control.py:1211 +msgid "A new group chat has been created" +msgstr "Uma nova conversa em grupo foi criada" + +#: gajim/groupchat_control.py:1215 +msgid "Failed to Configure Group Chat" +msgstr "Falha ao Configurar Grupo de Chat" + +#: gajim/groupchat_control.py:1274 gajim/groupchat_control.py:1304 +#: gajim/groupchat_control.py:1332 gajim/groupchat_control.py:1391 +#, python-brace-format +msgid " by {actor}" +msgstr " de {actor}" + +#: gajim/groupchat_control.py:1277 +#, python-brace-format +msgid "** Your Affiliation has been set to {affiliation}{actor}{reason}" +msgstr "** Sua Afiliação foi definida como {affiliation}{actor}{reason}" + +#: gajim/groupchat_control.py:1283 +#, python-brace-format +msgid "** Affiliation of {nick} has been set to {affiliation}{actor}{reason}" +msgstr "" +"** A Afiliação de {nick} foi definida como {affiliation}{actor}{reason}" + +#: gajim/groupchat_control.py:1307 +#, python-brace-format +msgid "** Your Role has been set to {role}{actor}{reason}" +msgstr "** Seu Cargo foi definido como {role}{actor}{reason}" + +#: gajim/groupchat_control.py:1312 +#, python-brace-format +msgid "** Role of {nick} has been set to {role}{actor}{reason}" +msgstr "** O Cargo de %{nick} foi definido como {role}{actor}{reason}" + +#: gajim/groupchat_control.py:1335 +#, python-brace-format +msgid "You have been removed from the group chat{actor}{reason}" +msgstr "Você foi removido da conversa em grupo{actor}{reason}" + +#: gajim/groupchat_control.py:1340 +#, python-brace-format +msgid "You have left due to an error{reason}" +msgstr "Você saiu devido a um erro {reason}" + +#: gajim/groupchat_control.py:1346 +#, python-brace-format +msgid "You have been kicked{actor}{reason}" +msgstr "Você foi chutado{actor}{reason}" + +#: gajim/groupchat_control.py:1353 +#, python-brace-format +msgid "You have been banned{actor}{reason}" +msgstr "Você foi banido{actor}{reason}" + +#: gajim/groupchat_control.py:1360 gajim/groupchat_control.py:1423 +msgid ": Affiliation changed" +msgstr ": Filiação alterada" + +#: gajim/groupchat_control.py:1366 gajim/groupchat_control.py:1428 +msgid ": Group chat configuration changed to members-only" +msgstr "" +": A configuração da conversa em grupo mudou para aceitar apenas membros" + +#: gajim/groupchat_control.py:1394 +#, python-brace-format +msgid "{nick} has been removed from the group chat{by}{reason}" +msgstr "{nick} foi removido da conversa em grupo{by}{reason}" + +#: gajim/groupchat_control.py:1402 +#, python-brace-format +msgid "{nick} has left due to an error{reason}" +msgstr "{nick} saiu devido a um erro{reason}" + +#: gajim/groupchat_control.py:1408 +#, python-brace-format +msgid "{nick} has been kicked{actor}{reason}" +msgstr "{nick} foi expulso {actor}{reason}" + +#: gajim/groupchat_control.py:1416 +#, python-brace-format +msgid "{nick} has been banned{actor}{reason}" +msgstr "{nick} foi banido {actor}{reason}" + +#: gajim/groupchat_control.py:1433 +#, python-brace-format +msgid "{nick} has left{reason}" +msgstr "{nick} saiu{reason}" + +#: gajim/groupchat_control.py:1451 +#, python-format +msgid "%s has joined the group chat" +msgstr "%s entrou na conferência" + +#: gajim/groupchat_control.py:1463 +msgid "Failed to Join Group Chat" +msgstr "Falha ao Entrar no Chat em Grupo" + +#: gajim/groupchat_control.py:1469 +msgid "Failed to Create Group Chat" +msgstr "Falha ao Criar Chat em Grupo" + +#: gajim/groupchat_control.py:1485 +msgid "Group chat has been destroyed" +msgstr "A conversa em grupo foi excluída" + +#: gajim/groupchat_control.py:1490 +#, python-format +msgid "You can join this group chat instead: xmpp:%s?join" +msgstr "" +"Como alternativa, você pode entrar nessa conversa em grupo: xmpp:%s?join" + +#: gajim/groupchat_control.py:1672 +msgid "Leave Group Chat" +msgstr "Sair da conversa em grupo" + +#: gajim/groupchat_control.py:1673 +msgid "Are you sure you want to leave this group chat?" +msgstr "Você tem certeza que quer sair dessa conferência?" + +#: gajim/groupchat_control.py:1674 +#, python-format +msgid "If you close this window, you will leave '%s'." +msgstr "Se você fechar esta janela, você sairá de '%s'." + +#: gajim/message_window.py:365 +msgid "Close Tabs" +msgstr "Fechar Abas" + +#: gajim/message_window.py:366 +msgid "You are about to close several tabs" +msgstr "Você está prestes a fechar várias as abas" + +#: gajim/message_window.py:367 +msgid "Do you really want to close all of them?" +msgstr "Você realmente deseja fechar todas?" + +#: gajim/message_window.py:526 +msgid "?Noun:Chats" +msgstr "?Noun:Conversas" + +#: gajim/message_window.py:530 gajim/data/gui/preferences.ui:155 +msgid "Group Chats" +msgstr "Conversas em Grupo" + +#: gajim/message_window.py:534 +msgid "Private Chats" +msgstr "Conversas privadas" + +#: gajim/message_window.py:540 +msgid "Messages" +msgstr "Mensagens" + +#: gajim/dialog_messages.py:37 +#, python-format +msgid "" +"It is not possible to send a message to %s. This XMPP Address is not valid." +msgstr "" +"Não é possível enviar uma mensagem para %s. Esse endereço XMPP não é válido." + +#: gajim/dialog_messages.py:42 +msgid "Unread Events" +msgstr "Eventos Não Lidos" + +#: gajim/dialog_messages.py:43 +msgid "Read or acknowledge all pending events before removing this account." +msgstr "" +"Leia ou confirme todos os eventos pendentes antes de remover esta conta." + +#: gajim/dialog_messages.py:48 +msgid "Invalid Form" +msgstr "Formulário inválido" + +#: gajim/dialog_messages.py:49 +msgid "The form is not filled correctly." +msgstr "O formulário não foi preenchido corretamente." + +#: gajim/dialog_messages.py:53 +msgid "No Connection Available" +msgstr "Nenhuma Conexão Disponível" + +#: gajim/dialog_messages.py:54 +msgid "Your message can not be sent until you are connected." +msgstr "Sua mensagem não pode ser enviada até que esteja conectado." + +#: gajim/dialog_messages.py:58 +msgid "XMPP Address Already in List" +msgstr "Endereço XMPP Já na Lista" + +#: gajim/dialog_messages.py:59 +msgid "" +"The XMPP Address you entered is already in the list. Please choose another " +"one." +msgstr "" +"O endereço XMPP que você forneceu já está na lista. Por favor, escolha outro." + +#: gajim/dialog_messages.py:64 +msgid "Invalid Answer" +msgstr "Resposta Inválida" + +#: gajim/dialog_messages.py:65 +#, python-format +msgid "Transport %(name)s answered wrongly to register request: %(error)s" +msgstr "" +"O transporte %(name)s respondeu erroneamente à requisição de registro do " +"pedido: %(error)s" + +#: gajim/dialog_messages.py:70 +msgid "Wrong Custom Hostname" +msgstr "Nome de Domínio Personalizado Incorreto" + +#: gajim/dialog_messages.py:71 +#, python-format +msgid "Custom hostname \"%s\" is wrong. It will be ignored." +msgstr "" +"Nome de domínio personalizado \"%s\" está incorreto. Ele será ignorado." + +#: gajim/dialog_messages.py:75 +msgid "Registration Succeeded" +msgstr "Registro Bem Sucedido" + +#: gajim/dialog_messages.py:76 +#, python-format +msgid "Registration with agent %s succeeded." +msgstr "O registro com o agente %s foi bem sucedido." + +#: gajim/dialog_messages.py:80 +msgid "Registration Failed" +msgstr "O Registo falhou" + +#: gajim/dialog_messages.py:81 +#, python-format +msgid "" +"Registration with agent %(agent)s failed with error %(error)s: %(error_msg)s" +msgstr "" +"Registro com o agente %(agent)s falhou com erro %(error)s: %(error_msg)s" + +#: gajim/dialog_messages.py:86 +msgid "GStreamer Error" +msgstr "Erro no GStreamer" + +#: gajim/dialog_messages.py:87 +#, python-format +msgid "" +"Error: %(error)s\n" +"Debug: %(debug)s" +msgstr "" +"Erro: %(error)s\n" +"Depuração: %(debug)s" + +#: gajim/dialog_messages.py:91 +msgid "Wrong Host" +msgstr "Servidor Errado" + +#: gajim/dialog_messages.py:92 +msgid "Invalid local address? :-O" +msgstr "Endereço local inválido? :-O" + +#: gajim/dialog_messages.py:96 +msgid "Avahi Error" +msgstr "Erro do Avahi" + +#: gajim/dialog_messages.py:97 +#, python-format +msgid "" +"%s\n" +"Link-local messaging might not work properly." +msgstr "" +"%s\n" +"Mensagens link-local podem não funcionar adequadamente." + +#: gajim/dialog_messages.py:101 +msgid "Could not Open File" +msgstr "Não Foi Possível Abrir o Arquivo" + +#: gajim/command_system/mapping.py:169 gajim/command_system/mapping.py:179 +#: gajim/command_system/mapping.py:199 +msgid "Missing arguments" +msgstr "Faltando Argumentos" + +#: gajim/command_system/mapping.py:266 +msgid "Too many arguments" +msgstr "Argumentos demais" + +#: gajim/command_system/implementation/middleware.py:76 +msgid "Error during command execution!" +msgstr "Erro durante a execução de comando!" + +#: gajim/command_system/implementation/execute.py:60 +msgid "Execute expression inside a shell, show output" +msgstr "Executar a expressão dentro de um terminal, mostrar saída" + +#: gajim/command_system/implementation/execute.py:74 +msgid "" +"Command disabled. This command can be enabled by setting " +"'command_system_execute' to True in ACE (Advanced Configuration Editor)." +msgstr "" +"Comando desativado. Este comando pode ser habilitado definindo " +"'command_system_execute' para True in ACE (Editor de Configurações " +"Avançadas)." + +#: gajim/command_system/implementation/execute.py:125 +msgid "Execute expression inside a shell, send output" +msgstr "Executar a expressão dentro de um terminal, enviar saída" + +#: gajim/command_system/implementation/standard.py:52 +msgid "" +"Show help on a given command or a list of available commands if -a is given" +msgstr "" +"Mostrar ajuda para um determinado comando ou para uma lista de comandos " +"disponíveis se -a for dada" + +#: gajim/command_system/implementation/standard.py:81 +msgid "Send a message to the contact" +msgstr "Enviar uma mensagem ao contato" + +#: gajim/command_system/implementation/standard.py:86 +msgid "Send action (in the third person) to the current chat" +msgstr "Enviar ação (na terceira pessoa) para o bate-papo atual" + +#: gajim/command_system/implementation/standard.py:91 +msgid "Show logged messages which mention given text" +msgstr "Mostrar mensagens registradas que mencionam determinado texto" + +#: gajim/command_system/implementation/standard.py:96 +#, python-format +msgid "%s: Nothing found" +msgstr "%s: nada foi encontrado" + +#: gajim/command_system/implementation/standard.py:102 +msgid "Limit must be an integer" +msgstr "Limite deve ser um inteiro" + +#: gajim/command_system/implementation/standard.py:127 +msgid "" +"\n" +" Set the current status\n" +"\n" +" Status can be given as one of the following values:\n" +" online, away, chat, xa, dnd.\n" +" " +msgstr "" +"\n" +" Defina o status atual\n" +"\n" +" O status pode ser fornecido como um dos seguintes valores:\n" +" online, ausente, disponível para bate-papo, xa, não perturbe.\n" +" " + +#: gajim/command_system/implementation/standard.py:145 +msgid "Set the current status to away" +msgstr "Botar o status atual para Ausente" + +#: gajim/command_system/implementation/standard.py:148 +#: gajim/common/helpers.py:200 gajim/common/modules/adhoc_commands.py:122 +msgid "Away" +msgstr "Afastado" + +#: gajim/command_system/implementation/standard.py:159 +msgid "Set the current status to online" +msgstr "Botar o status atual para online" + +#: gajim/command_system/implementation/standard.py:162 +msgid "Available" +msgstr "Disponível" + +#: gajim/command_system/implementation/standard.py:173 +msgid "Send a disco info request" +msgstr "Enviar uma requisição de descoberta de informação" + +#: gajim/command_system/implementation/standard.py:192 +#: gajim/command_system/implementation/standard.py:273 +msgid "Clear the text window" +msgstr "Limpar a janela de texto" + +#: gajim/command_system/implementation/standard.py:197 +#: gajim/command_system/implementation/standard.py:425 +msgid "Send a ping to the contact" +msgstr "Envie um ping para o contato" + +#: gajim/command_system/implementation/standard.py:201 +#: gajim/command_system/implementation/standard.py:429 +msgid "Command is not supported for zeroconf accounts" +msgstr "Comando sem suporte para contas zeroconf" + +#: gajim/command_system/implementation/standard.py:205 +msgid "Send DTMF sequence through an open voice chat" +msgstr "Envie sequência DTMF através de um bate-papo de voz aberto" + +#: gajim/command_system/implementation/standard.py:208 +msgid "No open voice chats with the contact" +msgstr "Nenhum bate-papo de voz aberto com o contato" + +#: gajim/command_system/implementation/standard.py:211 +#, python-format +msgid "%s is not a valid tone" +msgstr "%s não é um tom válido" + +#: gajim/command_system/implementation/standard.py:218 +msgid "Toggle Voice Chat" +msgstr "Alternar bate-papo de voz" + +#: gajim/command_system/implementation/standard.py:221 +msgid "Voice chats are not available" +msgstr "Bate-papos de voz não estão disponíveis" + +#: gajim/command_system/implementation/standard.py:228 +msgid "Toggle Video Chat" +msgstr "Alternar bate-papo por vídeo" + +#: gajim/command_system/implementation/standard.py:231 +msgid "Video chats are not available" +msgstr "Bate-papos por vídeo não estão disponíveis" + +#: gajim/command_system/implementation/standard.py:238 +msgid "Send a message to the contact that will attract their attention" +msgstr "Enviar uma mensagem ao contato que vai atrais a atenção dele" + +#: gajim/command_system/implementation/standard.py:278 +msgid "Change your nickname in a group chat" +msgstr "Alterar o seu apelido em um grupo" + +#: gajim/command_system/implementation/standard.py:283 +msgid "Invalid nickname" +msgstr "Apelido inválido" + +#: gajim/command_system/implementation/standard.py:290 +msgid "Open a private chat window with a specified participant" +msgstr "Abrir uma janela de conversação privada com um participante específico" + +#: gajim/command_system/implementation/standard.py:296 +#: gajim/command_system/implementation/standard.py:306 +#: gajim/command_system/implementation/standard.py:360 +#: gajim/command_system/implementation/standard.py:373 +#: gajim/command_system/implementation/standard.py:385 +msgid "Nickname not found" +msgstr "Apelido não encontrado" + +#: gajim/command_system/implementation/standard.py:299 +msgid "" +"Open a private chat window with a specified participant and send him a " +"message" +msgstr "" +"Abrir uma janela de conversação privada com um participante específico e " +"enviar-lhe uma mensagem" + +#: gajim/command_system/implementation/standard.py:309 +msgid "Display or change a group chat topic" +msgstr "Exibir ou alterar um tópico de chat em grupo" + +#: gajim/command_system/implementation/standard.py:318 +msgid "Invite a user to a group chat for a reason" +msgstr "Convide um usuário para um bate-papo em grupo por uma razão" + +#: gajim/command_system/implementation/standard.py:325 +msgid "Join a group chat given by an XMPP Address" +msgstr "Entrar em um grupo de bate-papo pelo endereço XMPP" + +#: gajim/command_system/implementation/standard.py:335 +msgid "" +"Leave the group chat, optionally giving a reason, and close tab or window" +msgstr "" +"Deixar grupo de bate-papo, opcionalmente dando uma razão, e fechar a aba ou " +"janela" + +#: gajim/command_system/implementation/standard.py:341 +msgid "" +"\n" +" Ban user by a nick or a JID from a groupchat\n" +"\n" +" If given nickname is not found it will be treated as a JID.\n" +" " +msgstr "" +"\n" +" Banir usuário por um nick ou um JID de um bate-papo em grupo\n" +"\n" +" Se o apelido fornecido não for encontrado, ele será tratado como um " +"JID.\n" +" " + +#: gajim/command_system/implementation/standard.py:357 +msgid "Kick user from group chat by nickname" +msgstr "Chutar usuário de um grupo de bate-papo pelo apelido" + +#: gajim/command_system/implementation/standard.py:366 +msgid "" +"Set participant role in group chat.\n" +" Role can be given as one of the following values:\n" +" moderator, participant, visitor, none" +msgstr "" +"Definir o papel do participante de grupo de bate-papo.\n" +" O papel pode ser dado como um dos seguintes valores:\n" +" moderador, participante, visitante, nenhum" + +#: gajim/command_system/implementation/standard.py:371 +msgid "Invalid role given" +msgstr "Papel inválido" + +#: gajim/command_system/implementation/standard.py:378 +msgid "" +"Set participant affiliation in group chat.\n" +" Affiliation can be given as one of the following values:\n" +" owner, admin, member, outcast, none" +msgstr "" +"Definir a filiação de participante de grupo de bate-papo.\n" +" A filiação pode ser dada como um dos seguintes valores:\n" +" proprietário, administrador, membro, banido, nenhum" + +#: gajim/command_system/implementation/standard.py:383 +msgid "Invalid affiliation given" +msgstr "Filiação inválida" + +#: gajim/command_system/implementation/standard.py:393 +msgid "Display names of all group chat participants" +msgstr "Exibir nomes de todos os participantes do chat em grupo" + +#: gajim/command_system/implementation/standard.py:415 +msgid "Forbid a participant to send you public or private messages" +msgstr "Proibir um participante de lhe enviar mensagens públicas ou privadas" + +#: gajim/command_system/implementation/standard.py:420 +msgid "Allow a participant to send you public or private messages" +msgstr "Permitir que um participante te envie mensagens públicas ou privadas" + +#: gajim/command_system/implementation/standard.py:432 +msgid "Unknown nickname" +msgstr "Apelido desconhecido" + +#: gajim/command_system/implementation/custom.py:114 +msgid "The same as using a doc-string, except it supports translation" +msgstr "O mesmo que usar um doc-string, exceto que suporta a tradução" + +#: gajim/gtk/ssl_error_dialog.py:36 gajim/data/gui/ssl_error_dialog.ui:16 +msgid "SSL Certificate Verification Error" +msgstr "Erro de verificação de certificado SSL" + +#: gajim/gtk/ssl_error_dialog.py:55 +#, python-format +msgid "" +"There was an error while attempting to verify the SSL certificate of your " +"XMPP server (%s)." +msgstr "" +"Ocorreu um erro ao tentar verificar o certificado SSL do seu servidor XMPP " +"(%s)." + +#: gajim/gtk/ssl_error_dialog.py:58 +#, python-format +msgid "Unknown SSL error '%s'" +msgstr "Erro SSL desconhecido '%s'" + +#: gajim/gtk/avatar_selector.py:84 +msgid "Select a picture or drop it here" +msgstr "Selecione uma foto ou solte-a aqui" + +#: gajim/gtk/status_change.py:62 gajim/gtk/preferences.py:627 +#: gajim/gtk/preferences.py:655 +msgid "Status Message" +msgstr "Mensagem de status" + +#: gajim/gtk/status_change.py:330 +msgid "No activity" +msgstr "Sem atividade" + +#: gajim/gtk/status_change.py:370 gajim/gtk/status_change.py:383 +#: gajim/gtk/status_change.py:488 +msgid "No mood selected" +msgstr "Nenhuma humor selecionado" + +#: gajim/gtk/status_change.py:382 +msgid "No mood" +msgstr "Sem humor" + +#: gajim/gtk/status_change.py:439 +msgid "Overwrite" +msgstr "Sobrescrever" + +#: gajim/gtk/status_change.py:440 +msgid "Overwrite Status Message?" +msgstr "Sobrescrever mensagem de status?" + +#: gajim/gtk/status_change.py:441 +msgid "This name is already in use. Do you want to overwrite this preset?" +msgstr "Este nome já está sendo usado. Você quer sobrescrever esse modelo?" + +#: gajim/gtk/status_change.py:445 gajim/plugins/gui.py:292 +msgid "_Overwrite" +msgstr "_Sobrescrever" + +#: gajim/gtk/status_change.py:453 +msgid "Status Preset" +msgstr "Modelo de Mensagem de Estado" + +#: gajim/gtk/status_change.py:454 +msgid "Save status as preset" +msgstr "Salvar estado como modelo" + +#: gajim/gtk/status_change.py:455 +msgid "Please assign a name to this status message preset" +msgstr "Por favor, escreva um nome para este modelo de mensagem de estado" + +#: gajim/gtk/status_change.py:458 gajim/data/gui/profile.ui:336 +msgid "_Save" +msgstr "_Salvar" + +#: gajim/gtk/status_change.py:460 +msgid "New Status" +msgstr "Novo Estado" + +#: gajim/gtk/advanced_config.py:46 gajim/gtk/advanced_config.py:144 +msgid "Activated" +msgstr "Ativado" + +#: gajim/gtk/advanced_config.py:47 +msgid "Deactivated" +msgstr "Desativado" + +#: gajim/gtk/advanced_config.py:52 +msgid "?config type:Boolean" +msgstr "?config tipo:Booleano" + +#: gajim/gtk/advanced_config.py:53 +msgid "?config type:Integer" +msgstr "?config type:Inteiro" + +#: gajim/gtk/advanced_config.py:54 +msgid "?config type:Text" +msgstr "?config type:Texto" + +#: gajim/gtk/advanced_config.py:65 +msgid "Advanced Configuration Editor (ACE)" +msgstr "Editor de Configurações Avançadas (ACE)" + +#: gajim/gtk/advanced_config.py:80 +msgid "?config:Preference Name" +msgstr "?config:Nome da Preferência" + +#: gajim/gtk/advanced_config.py:91 +msgid "?config:Value" +msgstr "?config:Valor" + +#: gajim/gtk/advanced_config.py:100 +msgid "?config:Type" +msgstr "?config:Tipo" + +#: gajim/gtk/advanced_config.py:133 +msgid "?config description:None" +msgstr "?config description:Nenhuma" + +#: gajim/gtk/preferences.py:63 gajim/data/gui/shortcuts_window.ui:31 +msgid "Preferences" +msgstr "Preferências" + +#: gajim/gtk/preferences.py:185 +msgid "Detached contact list with detached chats" +msgstr "Lista de contatos destacada com bate-papos destacados" + +#: gajim/gtk/preferences.py:186 +msgid "Detached contact list with single chat" +msgstr "Lista de contatos destacada com bate-papo único" + +#: gajim/gtk/preferences.py:187 +msgid "Single window for everything" +msgstr "Janela única para tudo" + +#: gajim/gtk/preferences.py:188 +msgid "Detached contact list with chats grouped by account" +msgstr "Lista de contatos destacada com bate-papo agrupado por conta" + +#: gajim/gtk/preferences.py:189 +msgid "Detached contact list with chats grouped by type" +msgstr "Lista de contatos destacada com bate-papo agrupado por tipo" + +#: gajim/gtk/preferences.py:193 gajim/data/gui/mam_preferences.ui:14 +msgid "Always" +msgstr "Sempre" + +#: gajim/gtk/preferences.py:194 gajim/data/gui/mam_preferences.ui:22 +msgid "Never" +msgstr "Nunca" + +#: gajim/gtk/preferences.py:195 +msgid "Restore last state" +msgstr "Restaurar o último estado" + +#: gajim/gtk/preferences.py:199 +msgid "Top" +msgstr "Topo" + +#: gajim/gtk/preferences.py:200 +msgid "Bottom" +msgstr "Inferior" + +#: gajim/gtk/preferences.py:201 +msgid "Left" +msgstr "Esquerda" + +#: gajim/gtk/preferences.py:202 +msgid "Right" +msgstr "Direita" + +#: gajim/gtk/preferences.py:207 +msgid "Window Layout" +msgstr "Layout da Janela" + +#: gajim/gtk/preferences.py:214 +msgid "Contact List on Startup" +msgstr "Lista de contato no início" + +#: gajim/gtk/preferences.py:218 +msgid "Show contact list when starting Gajim" +msgstr "Exibe lista de contatos ao iniciar o Gajim" + +#: gajim/gtk/preferences.py:221 +msgid "Quit on Close" +msgstr "Sair ao fechar" + +#: gajim/gtk/preferences.py:224 +msgid "Quit when closing contact list" +msgstr "Sair ao fechar a lista de contatos" + +#: gajim/gtk/preferences.py:227 +msgid "Tab Position" +msgstr "Posição de Aba" + +#: gajim/gtk/preferences.py:231 +msgid "Placement of chat window tabs" +msgstr "Posição de abas de janelas de bate-papo" + +#: gajim/gtk/preferences.py:247 +msgid "Merge Accounts" +msgstr "Juntar Contas" + +#: gajim/gtk/preferences.py:253 +msgid "Enable Metacontacts" +msgstr "Habilitar Metacontatos" + +#: gajim/gtk/preferences.py:258 +msgid "Show Avatars" +msgstr "Mostrar Avatares" + +#: gajim/gtk/preferences.py:264 gajim/gtk/preferences.py:353 +msgid "Show Status Message" +msgstr "Mostrar mensagem de status" + +#: gajim/gtk/preferences.py:270 gajim/gtk/preferences.py:411 +msgid "Sort Contacts by Status" +msgstr "Ordenar contatos por status" + +#: gajim/gtk/preferences.py:276 +msgid "Show Mood" +msgstr "Definir Humor" + +#: gajim/gtk/preferences.py:281 +msgid "Show Activity" +msgstr "Mostrar Atividade" + +#: gajim/gtk/preferences.py:286 +msgid "Show Tune" +msgstr "Mostrar Música" + +#: gajim/gtk/preferences.py:323 +msgid "Needs gspell to be installed" +msgstr "Precisa de gspell para ser instalado" + +#: gajim/gtk/preferences.py:327 +msgid "Spell Checking" +msgstr "Corretor Ortográfico" + +#: gajim/gtk/preferences.py:335 +msgid "Message Receipts (✔)" +msgstr "Recepção de Mensagens (✔)" + +#: gajim/gtk/preferences.py:338 +msgid "Add a checkmark to received messages" +msgstr "Adicionar sinal de verificação para mensagens recebidas" + +#: gajim/gtk/preferences.py:341 +msgid "XHTML Formatting" +msgstr "Formato XHTML" + +#: gajim/gtk/preferences.py:344 +msgid "Render XHTML styles (colors, etc.) of incoming messages" +msgstr "Renderizar estilos XHTML (cores, etc.) de mensagens recebidas" + +#: gajim/gtk/preferences.py:348 +msgid "Show Send Message Button" +msgstr "Mostrar botão de enviar mensagem" + +#: gajim/gtk/preferences.py:358 +msgid "Show Chat State In Tabs" +msgstr "Mostrar status do chat nas abas" + +#: gajim/gtk/preferences.py:361 +msgid "Show the contact’s chat state (e.g. typing) in the chat’s tab" +msgstr "" +"Mostrar o estado de conversa do contato (ex. digitando) na aba da conversa" + +#: gajim/gtk/preferences.py:365 +msgid "Show Chat State In Banner" +msgstr "Mostrar status do chat no banner" + +#: gajim/gtk/preferences.py:368 +msgid "Show the contact’s chat state (e.g. typing) in the chats tab’s banner" +msgstr "" +"Mostrar o estado de conversa do contato (ex. digitando) no banner da aba da " +"conversa" + +#: gajim/gtk/preferences.py:372 +msgid "Display Chat State In Contact List" +msgstr "Exibir Status de Conversa na Lista de Contatos" + +#: gajim/gtk/preferences.py:375 +msgid "Show the contact’s chat state (e.g. typing) in the contact list" +msgstr "Mostrar estado do contato (ex. escrevendo) na lista de contatos" + +#: gajim/gtk/preferences.py:406 +msgid "Show Subject" +msgstr "Mostrar Assunto" + +#: gajim/gtk/preferences.py:417 +msgid "Default Sync Threshold" +msgstr "Limite de sincronização padrão" + +#: gajim/gtk/preferences.py:420 +msgid "Default for new public group chats" +msgstr "Predefinição para novos grupos de bate-papo" + +#: gajim/gtk/preferences.py:424 +msgid "Show Joined / Left" +msgstr "Mostrar Entrou / Saiu" + +#: gajim/gtk/preferences.py:427 gajim/gtk/preferences.py:438 +msgid "Default for new group chats" +msgstr "Predefinição para novos grupos de bate-papo" + +#: gajim/gtk/preferences.py:428 gajim/gtk/preferences.py:439 +#: gajim/gtk/accounts.py:715 gajim/gtk/accounts.py:727 +#: gajim/gtk/accounts.py:740 +msgid "Reset" +msgstr "Resetar" + +#: gajim/gtk/preferences.py:429 gajim/gtk/preferences.py:440 +#: gajim/gtk/accounts.py:728 +msgid "Reset all group chats to the current default value" +msgstr "" +"Reconfigurar todas as conversas em grupos para os atuais valores padrões" + +#: gajim/gtk/preferences.py:435 gajim/gtk/groupchat_settings.py:48 +msgid "Show Status Changes" +msgstr "Mostrar as alterações de status" + +#: gajim/gtk/preferences.py:468 +msgid "Hide icon" +msgstr "Ocultar Ícone" + +#: gajim/gtk/preferences.py:469 +msgid "Only show for pending events" +msgstr "Mostrar apenas para eventos pendentes" + +#: gajim/gtk/preferences.py:470 +msgid "Always show icon" +msgstr "Sempre mostrar ícone" + +#: gajim/gtk/preferences.py:475 +msgid "Notification Area Icon" +msgstr "Ícone da Área de Notificação" + +#: gajim/gtk/preferences.py:482 +msgid "Open Events" +msgstr "Abrir Eventos" + +#: gajim/gtk/preferences.py:485 +msgid "Open events instead of showing a notification in the contact list" +msgstr "Abrir eventos ao invés de mostrar uma notificação na lista de contatos" + +#: gajim/gtk/preferences.py:489 gajim/gtk/preferences.py:512 +msgid "Show Notifications" +msgstr "Mostrar Notificações" + +#: gajim/gtk/preferences.py:517 +msgid "Notifications When Away" +msgstr "Notificações quando Ausente" + +#: gajim/gtk/preferences.py:520 +msgid "Show notifications even if you are Away, Busy, etc." +msgstr "Mostrar notificações mesmo se você estiver Ausente, Ocupado, etc." + +#: gajim/gtk/preferences.py:525 gajim/data/gui/preferences.ui:271 +msgid "Notifications" +msgstr "Notificações" + +#: gajim/gtk/preferences.py:534 +msgid "Play Sounds" +msgstr "Reproduzir Sons" + +#: gajim/gtk/preferences.py:537 +msgid "Play sounds to notify about events" +msgstr "Reproduzir sons para notificar eventos" + +#: gajim/gtk/preferences.py:542 +msgid "Sounds When Away" +msgstr "Sons Quando Ausente" + +#: gajim/gtk/preferences.py:545 +msgid "Play sounds even when you are Away, Busy, etc." +msgstr "Tocar som mesmo quando você estiver Ausente, Ocupado, etc." + +#: gajim/gtk/preferences.py:560 +msgid "Sign In" +msgstr "Entrar" + +#: gajim/gtk/preferences.py:565 +msgid "Sign Out" +msgstr "Sair" + +#: gajim/gtk/preferences.py:570 +msgid "Status Change" +msgstr "Alterar Status" + +#: gajim/gtk/preferences.py:583 gajim/gtk/preferences.py:614 +msgid "Auto Away" +msgstr "Auto Ausente" + +#: gajim/gtk/preferences.py:585 +msgid "Change your status to 'Away' after a certain amount of time" +msgstr "Mudar seu status para 'Ausente' depois de um certo tempo" + +#: gajim/gtk/preferences.py:590 gajim/gtk/preferences.py:642 +msgid "Auto Not Available" +msgstr "Auto Não Disponível" + +#: gajim/gtk/preferences.py:592 +msgid "Change your status to 'Not Available' after a certain amount of time" +msgstr "Mudar o seu status para 'Não disponível' depois de um certo tempo" + +#: gajim/gtk/preferences.py:619 +msgid "Time Until Away" +msgstr "Tempo Até Ausente" + +#: gajim/gtk/preferences.py:622 gajim/gtk/preferences.py:650 +msgid "Minutes until your status gets changed" +msgstr "Minutos até que seu status seja mudado" + +#: gajim/gtk/preferences.py:633 gajim/gtk/preferences.py:828 +msgid "Auto Away Settings" +msgstr "Configurações da Auto Ausência" + +#: gajim/gtk/preferences.py:647 +msgid "Time Until Not Available" +msgstr "Tempo até Não Disponível" + +#: gajim/gtk/preferences.py:661 +msgid "Auto Extended Away Settings" +msgstr "Configurações de Auto Ausência Estendida" + +#: gajim/gtk/preferences.py:672 gajim/gtk/accounts.py:680 +msgid "Enabled" +msgstr "Habilitado" + +#: gajim/gtk/preferences.py:673 gajim/data/gui/vcard_information_window.ui:123 +msgid "System" +msgstr "Sistema" + +#: gajim/gtk/preferences.py:678 +msgid "Dark Theme" +msgstr "Tema Escuro" + +#: gajim/gtk/preferences.py:685 +msgid "Theme" +msgstr "Temas" + +#: gajim/gtk/preferences.py:731 +msgid "Convert ASCII Emojis" +msgstr "Converter emojis ASCII" + +#: gajim/gtk/preferences.py:734 +msgid "Typing short codes like :-) will display emojis" +msgstr "Digitar pequenos códigos como :-) mostrará emojis" + +#: gajim/gtk/preferences.py:741 +msgid "Emoji Theme" +msgstr "Tema para Emoji" + +#: gajim/gtk/preferences.py:744 +msgid "Choose from various emoji styles" +msgstr "Escolha entre vários estilos de emoji" + +#: gajim/gtk/preferences.py:774 +msgid "Status Icon Set" +msgstr "Conjunto de ícones de status" + +#: gajim/gtk/preferences.py:781 +msgid "Use Transport Icons" +msgstr "Usar ícones de transportes" + +#: gajim/gtk/preferences.py:784 +msgid "Display protocol-specific status icons (ICQ, ..)" +msgstr "Mostrar ícones de status específicos para protocolos (ICQ, ..)" + +#: gajim/gtk/preferences.py:801 gajim/gtk/preferences.py:817 +msgid "Use Stun Server" +msgstr "Usar servidor Stun" + +#: gajim/gtk/preferences.py:803 +msgid "Helps to establish calls through firewalls" +msgstr "Ajudar a estabelecer chamadas através de firewalls" + +#: gajim/gtk/preferences.py:822 +msgid "STUN Server" +msgstr "Servidor STUN" + +#: gajim/gtk/preferences.py:848 +msgid "Audio Input Device" +msgstr "Dispositivo de entrada de áudio" + +#: gajim/gtk/preferences.py:851 +msgid "Select your audio input (e.g. microphone)" +msgstr "Selecione a sua entrada de áudio (ex. microfone)" + +#: gajim/gtk/preferences.py:855 +msgid "Audio Output Device" +msgstr "Dispositivo de saída de áudio" + +#: gajim/gtk/preferences.py:858 +msgid "Select an audio output (e.g. speakers, headphones)" +msgstr "Selecione uma saída de áudio (ex. auto-falantes, fones de ouvido)" + +#: gajim/gtk/preferences.py:890 gajim/gtk/preferences.py:898 +msgid "Default" +msgstr "Padrão" + +#: gajim/gtk/preferences.py:906 +msgid "Video Input Device" +msgstr "Aparelho de entrada de vídeo" + +#: gajim/gtk/preferences.py:910 +msgid "Select your video input device (e.g. webcam, screen capture)" +msgstr "" +"Selecione seu aparelho de entrada de vídeo (ex. webcam, captura de tela)" + +#: gajim/gtk/preferences.py:915 +msgid "Video Framerate" +msgstr "Taxa de quadros do Vídeo" + +#: gajim/gtk/preferences.py:921 +msgid "Video Resolution" +msgstr "Resolução de Vídeo" + +#: gajim/gtk/preferences.py:927 +msgid "Show My Video Stream" +msgstr "Mostrar Minha Transmissão de Vídeo" + +#: gajim/gtk/preferences.py:930 +msgid "Show your own video stream in calls" +msgstr "Mostrar sua própria transmissão de vídeo nas chamadas" + +#: gajim/gtk/preferences.py:933 gajim/data/gui/video_preview.ui:51 +msgid "Live Preview" +msgstr "Previsão ao Vivo" + +#: gajim/gtk/preferences.py:935 +msgid "Show a live preview to test your video source" +msgstr "Mostrar uma previsão ao vivo para testar sua fonte de vídeo" + +#: gajim/gtk/preferences.py:975 +msgid "Global Proxy" +msgstr "Proxy Global" + +#: gajim/gtk/preferences.py:980 gajim/gtk/account_wizard.py:732 +#: gajim/gtk/accounts.py:790 +msgid "No Proxy" +msgstr "Sem Proxy" + +#: gajim/gtk/preferences.py:985 +msgid "Use System Keyring" +msgstr "Usar Chaveiro do Sistema" + +#: gajim/gtk/preferences.py:988 +msgid "Use your system’s keyring to store passwords" +msgstr "Usar o chaveiro do seu sistema para armazenar as senhas" + +#: gajim/gtk/preferences.py:994 +msgid "Check For Updates" +msgstr "Buscar por Atualizações" + +#: gajim/gtk/preferences.py:997 gajim/common/config.py:241 +msgid "Check for Gajim updates periodically" +msgstr "Buscar por atualizações do Gajim periodicamente" + +#: gajim/gtk/preferences.py:1033 +msgid "Debug Logging" +msgstr "Relatório de Depuração" + +#: gajim/gtk/message_input.py:48 +msgid "Write a message…" +msgstr "Escreva uma mensagem…" + +#: gajim/gtk/settings.py:400 gajim/gtk/settings.py:758 +#: gajim/gtk/settings.py:784 gajim/gtk/settings.py:793 +#: gajim/gtk/settings.py:802 gajim/gtk/settings.py:811 +msgid "?switch:On" +msgstr "?switch:Ativado" + +#: gajim/gtk/settings.py:400 gajim/gtk/settings.py:758 +#: gajim/gtk/settings.py:784 gajim/gtk/settings.py:793 +#: gajim/gtk/settings.py:802 gajim/gtk/settings.py:811 +msgid "?switch:Off" +msgstr "?switch:Desativado" + +#: gajim/gtk/settings.py:538 gajim/gtk/manage_sounds.py:46 +#: gajim/gtk/filechoosers.py:89 gajim/gtk/filechoosers.py:140 +#: gajim/gtk/filechoosers.py:147 +msgid "All files" +msgstr "Todos os arquivos" + +#: gajim/gtk/settings.py:547 +msgid "Clear File" +msgstr "Limpar Arquivo" + +#: gajim/gtk/settings.py:745 +msgid "Adjust to Status" +msgstr "Ajustar o status" + +#: gajim/gtk/history_sync.py:111 gajim/gtk/history_sync.py:193 +msgid "Synchronise History" +msgstr "Sincronizar Histórico" + +#: gajim/gtk/history_sync.py:205 +msgid "How far back should the chat history be synchronised?" +msgstr "Até quanto tempo atrás o histórico do bate-papo deve sincronizar?" + +#: gajim/gtk/history_sync.py:210 +msgid "One Month" +msgstr "Um mês" + +#: gajim/gtk/history_sync.py:211 +msgid "Three Months" +msgstr "Três meses" + +#: gajim/gtk/history_sync.py:212 +msgid "One Year" +msgstr "Um ano" + +#: gajim/gtk/history_sync.py:213 +msgid "Everything" +msgstr "Tudo" + +#: gajim/gtk/history_sync.py:241 gajim/gtk/account_wizard.py:276 +#: gajim/gtk/account_wizard.py:295 gajim/gtk/account_wizard.py:312 +msgid "Connecting..." +msgstr "Conectando..." + +#: gajim/gtk/history_sync.py:253 +#, python-format +msgid "%(received)s of %(max)s" +msgstr "%(received)s de %(max)s" + +#: gajim/gtk/history_sync.py:257 +#, python-format +msgid "Downloaded %s messages" +msgstr "Baixadas %s Mensagens" + +#: gajim/gtk/history_sync.py:277 +#, python-format +msgid "" +"Finished synchronising chat history:\n" +"%s messages downloaded" +msgstr "" +"Terminou de sincronizar o histórico do bate-papo:\n" +"%s mensagens baixadas" + +#: gajim/gtk/history_sync.py:281 +msgid "Gajim is fully synchronised with the archive." +msgstr "O Gajim está totalmente sincronizado com o arquivo." + +#: gajim/gtk/history_sync.py:284 +msgid "There is already a synchronisation in progress. Please try again later." +msgstr "" +"Já existe uma sincronização em curso. Por favor, tente novamente mais tarde." + +#: gajim/gtk/pep_config.py:49 +#, python-format +msgid "PEP Service Configuration (%s)" +msgstr "Configuração do serviço PEP (%s)" + +#: gajim/gtk/pep_config.py:74 +msgid "Service" +msgstr "Serviço" + +#: gajim/gtk/pep_config.py:105 +msgid "PEP node was not removed" +msgstr "O nó PEP não foi removido" + +#: gajim/gtk/pep_config.py:106 +#, python-format +msgid "" +"PEP node %(node)s was not removed:\n" +"%(message)s" +msgstr "" +"O nó PEP %(node)s não foi removido:\n" +"%(message)s" + +#: gajim/gtk/pep_config.py:153 +#, python-format +msgid "Configure %s" +msgstr "Configurar %s" + +#: gajim/gtk/mam_preferences.py:42 +#, python-format +msgid "Archiving Preferences for %s" +msgstr "Preferências de arquivamento para %s" + +#: gajim/gtk/mam_preferences.py:101 +msgid "Archiving Preferences Saved" +msgstr "Preferências de arquivamento salvas" + +#: gajim/gtk/mam_preferences.py:102 +msgid "Your archiving preferences have successfully been saved." +msgstr "Suas preferências de arquivamento foram salvas com sucesso." + +#: gajim/gtk/mam_preferences.py:109 +msgid "Archiving Preferences Error" +msgstr "Erro nas preferências de arquivamento" + +#: gajim/gtk/mam_preferences.py:110 +msgid "Error received: {}" +msgstr "Erro recebido: {}" + +#: gajim/gtk/statusicon.py:198 +msgid "_Change Status Message…" +msgstr "_Mudar Mensagem de Status…" + +#: gajim/gtk/statusicon.py:250 +#, python-format +msgid "using account %s" +msgstr "usando conta %s" + +#: gajim/gtk/statusicon.py:263 +msgid "Hide _Contact List" +msgstr "Ocultar lista de _contatos" + +#: gajim/gtk/statusicon.py:268 gajim/data/gui/application_menu.ui:42 +msgid "Show _Contact List" +msgstr "Exibir lista de _contatos" + +#: gajim/gtk/statusicon.py:276 +msgid "Hide this menu" +msgstr "Esconder este menu" + +#: gajim/gtk/start_chat.py:57 +msgid "Start / Join Chat" +msgstr "Iniciar / Juntar-se a uma conversa" + +#: gajim/gtk/start_chat.py:285 gajim/gtk/start_chat.py:370 +msgid "You can not join a group chat unless you are connected." +msgstr "" +"Você não pode ingressar em uma sala de conferência até que esteja conectado." + +#: gajim/gtk/start_chat.py:634 gajim/gtk/groupchat_join.py:40 +msgid "Join Group Chat" +msgstr "Ingressar numa conferência" + +#: gajim/gtk/start_chat.py:715 +msgid "" +"Search for group chats globally\n" +"(press Return to start search)" +msgstr "" +"Pesquisar grupos de chat globalmente.\n" +"(pressione Enter para iniciar a pesquisa)" + +#: gajim/gtk/start_chat.py:808 +#, python-format +msgid "%s group chats found" +msgstr "%s grupos de bate-papo encontrados" + +#: gajim/gtk/notification.py:184 gajim/gtk/notification.py:205 +#: gajim/gtk/notification.py:219 gajim/gtk/notification.py:272 +#: gajim/common/connection_handlers_events.py:234 +msgid "New Private Message" +msgstr "Enviar mensagem privada" + +#: gajim/gtk/notification.py:185 gajim/gtk/notification.py:206 +#: gajim/gtk/notification.py:220 gajim/common/connection_handlers_events.py:328 +msgid "New Group Chat Message" +msgstr "Nova Mensagem de Conversa em Grupo" + +#: gajim/gtk/notification.py:186 gajim/gtk/notification.py:212 +#: gajim/gtk/notification.py:289 gajim/common/connection_handlers_events.py:418 +msgid "Contact Changed Status" +msgstr "O contato alterou seu status" + +#: gajim/gtk/notification.py:200 +msgid "Open" +msgstr "Abrir" + +#: gajim/gtk/notification.py:209 +msgid "Mark as Read" +msgstr "Marcar como lído" + +#: gajim/gtk/notification.py:273 +msgid "New E-mail" +msgstr "Novo e-mail" + +#: gajim/gtk/video_preview.py:116 +msgid "OpenGL accelerated" +msgstr "OpenGL acelerado" + +#: gajim/gtk/video_preview.py:120 +msgid "Not accelerated" +msgstr "Sem aceleração" + +#: gajim/gtk/video_preview.py:127 +msgid "Something went wrong. Video feature disabled." +msgstr "Alguma coisa deu errado. Recurso de vídeo desabilitado." + +#: gajim/gtk/groupchat_invite.py:304 +msgid "Invite New Contact" +msgstr "Convidar novo contato" + +#: gajim/gtk/themes.py:37 +msgid "Chatstate Composing" +msgstr "Compondo status do bate-papo" + +#: gajim/gtk/themes.py:41 +msgid "Chatstate Inactive" +msgstr "Status Inativo" + +#: gajim/gtk/themes.py:45 +msgid "Chatstate Gone" +msgstr "Status de Bate-papo Ausente" + +#: gajim/gtk/themes.py:49 +msgid "Chatstate Paused" +msgstr "Estado do Bate-papo Pausado" + +#: gajim/gtk/themes.py:53 +msgid "Group Chat Tab New Directed Message" +msgstr "Nova mensagem direta em aba de grupo" + +#: gajim/gtk/themes.py:57 +msgid "Group Chat Tab New Message" +msgstr "Nova mensagem em aba de grupo" + +#: gajim/gtk/themes.py:61 +msgid "Banner Foreground Color" +msgstr "Cor frontal do banner" + +#: gajim/gtk/themes.py:65 +msgid "Banner Background Color" +msgstr "Cor de Fundo do Banner" + +#: gajim/gtk/themes.py:69 +msgid "Banner Font" +msgstr "Fonte do Banner" + +#: gajim/gtk/themes.py:73 +msgid "Account Row Foreground Color" +msgstr "Cor da fileira da conta" + +#: gajim/gtk/themes.py:77 +msgid "Account Row Background Color" +msgstr "Cor de fundo da fileira da conta" + +#: gajim/gtk/themes.py:81 +msgid "Account Row Font" +msgstr "Fonte das fileiras das contas" + +#: gajim/gtk/themes.py:85 +msgid "Group Row Foreground Color" +msgstr "Cor da fileira do grupo" + +#: gajim/gtk/themes.py:89 +msgid "Group Row Background Color" +msgstr "Cor de fundo da fileira do grupo" + +#: gajim/gtk/themes.py:93 +msgid "Group Row Font" +msgstr "Fonte das fileiras de grupo" + +#: gajim/gtk/themes.py:97 +msgid "Contact Row Foreground Color" +msgstr "Cor da fileira de contato" + +#: gajim/gtk/themes.py:101 +msgid "Contact Row Background Color" +msgstr "Cor de fundo da fileira de contato" + +#: gajim/gtk/themes.py:105 +msgid "Contact Row Font" +msgstr "Fonte das fileiras de contato" + +#: gajim/gtk/themes.py:109 +msgid "Conversation Font" +msgstr "Fonte da Conversa" + +#: gajim/gtk/themes.py:113 +msgid "Incoming Nickname Color" +msgstr "Cor do apelido de entrada" + +#: gajim/gtk/themes.py:117 +msgid "Outgoing Nickname Color" +msgstr "Cor do apelido de saída" + +#: gajim/gtk/themes.py:121 +msgid "Incoming Message Text Color" +msgstr "Cor do Texto da Mensagem Recebida" + +#: gajim/gtk/themes.py:125 +msgid "Incoming Message Text Font" +msgstr "Fonte do Texto da Mensagem Recebida" + +#: gajim/gtk/themes.py:129 +msgid "Outgoing Message Text Color" +msgstr "Cor do Texto da Mensagem Enviada" + +#: gajim/gtk/themes.py:133 +msgid "Outgoing Message Text Font" +msgstr "Fonte do Texto da Mensagem de Saída" + +#: gajim/gtk/themes.py:137 +msgid "Status Message Color" +msgstr "Cor da mensagem de status" + +#: gajim/gtk/themes.py:141 +msgid "Status Message Font" +msgstr "Fonte da mensagem de status" + +#: gajim/gtk/themes.py:145 +msgid "URL Color" +msgstr "Cor da URL" + +#: gajim/gtk/themes.py:149 +msgid "Highlight Message Color" +msgstr "Cor de mensagem destacada" + +#: gajim/gtk/themes.py:153 +msgid "Message Correcting" +msgstr "Correção de Mensagens" + +#: gajim/gtk/themes.py:157 +msgid "Contact Disconnected Background" +msgstr "Fundo de contato desconectado" + +#: gajim/gtk/themes.py:161 +msgid "Contact Connected Background " +msgstr "Plano de Fundo do Contato Conectado " + +#: gajim/gtk/themes.py:164 +msgid "Status Online Color" +msgstr "Cor do status Online" + +#: gajim/gtk/themes.py:167 +msgid "Status Away Color" +msgstr "Cor de status Ausente" + +#: gajim/gtk/themes.py:170 +msgid "Status DND Color" +msgstr "Cor do status Não Perturbe" + +#: gajim/gtk/themes.py:173 +msgid "Status Offline Color" +msgstr "Cor do status offline" + +#: gajim/gtk/themes.py:187 +msgid "Gajim Themes" +msgstr "Temas do Gajim" + +#: gajim/gtk/themes.py:223 gajim/gtk/themes.py:230 +msgid "Invalid Name" +msgstr "Nome Inválido" + +#: gajim/gtk/themes.py:224 +msgid "Name default is not allowed" +msgstr "Nome default não é permitido" + +#: gajim/gtk/themes.py:231 +msgid "Spaces are not allowed" +msgstr "Espaços não são permitido" + +#: gajim/gtk/themes.py:356 +msgid "Do you want to delete this theme?" +msgstr "Você quer excluir este tema?" + +#: gajim/gtk/themes.py:358 +msgid "" +"This is the theme you are currently using.\n" +"Do you want to delete this theme?" +msgstr "" +"Esse é o tema que está atualmente usando.\n" +"Quer deletá-lo?" + +#: gajim/gtk/themes.py:363 +msgid "Delete Theme" +msgstr "Excluir Tema" + +#: gajim/gtk/themes.py:390 +msgid "Remove Setting" +msgstr "Remover Configuração" + +#: gajim/gtk/filetransfer_progress.py:62 +msgid "Upload Failed" +msgstr "Envio Falhou" + +#: gajim/gtk/filetransfer_progress.py:113 +#, python-format +msgid "%(progress)s of %(total)s" +msgstr "%(progress)s de %(total)s" + +#: gajim/gtk/filetransfer_progress.py:130 +#, python-format +msgid "%(minutes)s min %(seconds)s sec" +msgstr "%(minutes)s min %(seconds)s seg" + +#: gajim/gtk/add_contact.py:32 +msgid "GG Number" +msgstr "Número de GG" + +#: gajim/gtk/add_contact.py:33 +msgid "ICQ Number" +msgstr "Número de ICQ" + +#: gajim/gtk/add_contact.py:42 +msgid "Add Contact" +msgstr "Adicionar contato" + +#: gajim/gtk/add_contact.py:260 +#, python-format +msgid "%s Missing" +msgstr "%s Faltando" + +#: gajim/gtk/add_contact.py:261 +#, python-format +msgid "You must supply the %s of the new contact." +msgstr "Você deve inserir o %s do novo contato." + +#: gajim/gtk/add_contact.py:288 gajim/gtk/add_contact.py:294 +#: gajim/gtk/add_contact.py:299 +msgid "Invalid User ID" +msgstr "Inválido ID do usuário" + +#: gajim/gtk/add_contact.py:295 +msgid "The user ID must not contain a resource." +msgstr "O ID do usuário não contém um recurso." + +#: gajim/gtk/add_contact.py:300 +msgid "You cannot add yourself to your contact list." +msgstr "Você não pode adicionar você mesmo na sua lista." + +#: gajim/gtk/add_contact.py:305 +msgid "Account Offline" +msgstr "Conta Desconectada" + +#: gajim/gtk/add_contact.py:306 +msgid "Your account must be online to add new contacts." +msgstr "Sua conta deve estar online para adicionar novos contatos." + +#: gajim/gtk/add_contact.py:322 +msgid "Contact Already in Contact List" +msgstr "Contato já foi adicionado à lista" + +#: gajim/gtk/add_contact.py:323 +msgid "This contact is already in your contact list." +msgstr "Este contato já encontra-se em sua lista." + +#: gajim/gtk/add_contact.py:381 gajim/gtk/add_contact.py:419 +msgid "User ID:" +msgstr "ID do usuário:" + +#: gajim/gtk/add_contact.py:486 +msgid "Error while adding transport contact" +msgstr "Erro ao adicionar contato de transporte" + +#: gajim/gtk/add_contact.py:487 +#, python-format +msgid "" +"This error occurred while adding a contact for transport %(transport)s:\n" +"\n" +"%(error)s" +msgstr "" +"Este erro ocorreu ao adicionar um contato para o transporte %(transport)s:\n" +"\n" +"%(error)s" + +#: gajim/gtk/account_wizard.py:61 gajim/data/gui/account_wizard.ui:631 +msgid "Sign Up" +msgstr "Registrar-se" + +#: gajim/gtk/account_wizard.py:63 +msgid "Connect" +msgstr "Conectar" + +#: gajim/gtk/account_wizard.py:64 gajim/gtk/adhoc.py:102 +msgid "Next" +msgstr "Próximo" + +#: gajim/gtk/account_wizard.py:65 +msgid "Log In" +msgstr "Entrar" + +#: gajim/gtk/account_wizard.py:67 gajim/gtk/remove_account.py:44 +#: gajim/gtk/change_password.py:45 gajim/gtk/accounts.py:384 +msgid "Back" +msgstr "Voltar" + +#: gajim/gtk/account_wizard.py:80 +msgid "An error occurred during account creation" +msgstr "Um erro ocorreu durante a criação da conta" + +#: gajim/gtk/account_wizard.py:166 +msgid "Creating Account..." +msgstr "Criando Conta..." + +#: gajim/gtk/account_wizard.py:167 +msgid "Trying to create account..." +msgstr "Tentando criar a conta..." + +#: gajim/gtk/account_wizard.py:277 gajim/gtk/account_wizard.py:296 +#: gajim/gtk/account_wizard.py:313 +msgid "Connecting to server..." +msgstr "Conectando ao servidor..." + +#: gajim/gtk/account_wizard.py:367 gajim/gtk/account_wizard.py:368 +msgid "Anonymous login not supported" +msgstr "Login anônimo não suportado" + +#: gajim/gtk/account_wizard.py:369 +msgid "This server does not support anonymous login." +msgstr "Este servidor não suporta login anônimo." + +#: gajim/gtk/account_wizard.py:372 gajim/common/client.py:284 +#: gajim/common/const.py:958 gajim/common/const.py:959 +#: gajim/common/const.py:960 gajim/common/const.py:963 +msgid "Authentication failed" +msgstr "Falha na Autenticação" + +#: gajim/gtk/account_wizard.py:384 gajim/gtk/account_wizard.py:385 +msgid "Signup not allowed" +msgstr "Registro não permitido" + +#: gajim/gtk/account_wizard.py:386 +msgid "This server does not allow signup." +msgstr "Este servidor não permite inscrição." + +#: gajim/gtk/account_wizard.py:395 gajim/gtk/account_wizard.py:432 +#: gajim/gtk/account_wizard.py:433 gajim/gtk/account_wizard.py:520 +#: gajim/gtk/groupchat_config.py:132 gajim/gtk/groupchat_config.py:399 +#: gajim/gtk/history.py:591 gajim/gtk/search.py:336 +msgid "Error" +msgstr "Erro" + +#: gajim/gtk/account_wizard.py:402 gajim/gtk/account_wizard.py:403 +msgid "Connection failed" +msgstr "Conexão falhou" + +#: gajim/gtk/account_wizard.py:404 +msgid "" +"Gajim was not able to reach the server. Make sure your XMPP address is " +"correct." +msgstr "" +"O Gajim não conseguiu alcançar o servidor. Verifique seu endereço XMPP." + +#: gajim/gtk/account_wizard.py:459 +msgid "Account is being created" +msgstr "Conta sendo criada" + +#: gajim/gtk/account_wizard.py:518 +msgid "The server rejected the registration without an error message" +msgstr "O servidor rejeitou o registro sem uma mensagem de erro" + +#: gajim/gtk/account_wizard.py:530 gajim/gtk/accounts.py:572 +msgid "Add Account" +msgstr "Adicionar conta" + +#: gajim/gtk/account_wizard.py:612 gajim/gtk/groupchat_creation.py:138 +msgid "Invalid Address" +msgstr "Endereço inválido" + +#: gajim/gtk/account_wizard.py:636 +msgid "Create New Account" +msgstr "Criar Nova Conta" + +#: gajim/gtk/account_wizard.py:712 +msgid "Advanced settings" +msgstr "Configurações avançadas" + +#: gajim/gtk/account_wizard.py:774 +msgid "Invalid domain name" +msgstr "Nome de domínio inválido" + +#: gajim/gtk/account_wizard.py:791 +msgid "Must be a port number" +msgstr "Precisa ser um número de porta" + +#: gajim/gtk/account_wizard.py:798 +msgid "Port must be a number between 0 and 65535" +msgstr "O número da porta deve estar entre 0 e 65535" + +#: gajim/gtk/account_wizard.py:814 +msgid "Security Warning" +msgstr "Aviso de Segurança" + +#: gajim/gtk/account_wizard.py:833 +#, python-format +msgid "Unknown TLS error '%s'" +msgstr "Erro TLS desconhecido '%s'" + +#: gajim/gtk/account_wizard.py:868 gajim/gtk/account_wizard.py:871 +msgid "Create Account" +msgstr "Criar Conta" + +#: gajim/gtk/account_wizard.py:922 +msgid "Redirect" +msgstr "Redirecionar" + +#: gajim/gtk/account_wizard.py:932 +msgid "Register on the Website" +msgstr "Registrar-se no website" + +#: gajim/gtk/account_wizard.py:943 +msgid "Account Added" +msgstr "Conta Adicionada" + +#: gajim/gtk/account_wizard.py:944 +msgid "Account has been added successfully" +msgstr "Conta foi adicionada com sucesso" + +#: gajim/gtk/groupchat_invitation.py:57 +msgid "" +"has invited you to a group chat.\n" +"Do you want to join?" +msgstr "" +"convidou você para uma conversa em grupo.\n" +"Você quer entrar?" + +#: gajim/gtk/groupchat_invitation.py:75 gajim/gtk/discovery.py:1706 +#: gajim/gtk/groupchat_join.py:68 gajim/data/gui/groupchat_control.ui:899 +#: gajim/data/gui/groupchat_control.ui:991 +#: gajim/data/gui/start_chat_dialog.ui:314 +msgid "_Join" +msgstr "_Ingressar" + +#: gajim/gtk/tooltips.py:215 +#, python-format +msgid "%(owner_or_admin_or_member)s of this group chat" +msgstr "%(owner_or_admin_or_member)s dessa sala" + +#: gajim/gtk/tooltips.py:474 +msgid "Connected" +msgstr "Conectado" + +#: gajim/gtk/tooltips.py:476 +msgid "Disconnected" +msgstr "Desconectado" + +#: gajim/gtk/tooltips.py:530 +msgid "File Name: " +msgstr "Nome: " + +#: gajim/gtk/tooltips.py:533 +msgid "?Noun:Download" +msgstr "?Noun:Baixar" + +#: gajim/gtk/tooltips.py:534 gajim/gtk/filetransfer.py:747 +msgid "Sender: " +msgstr "Remetente: " + +#: gajim/gtk/tooltips.py:539 +msgid "?Noun:Upload" +msgstr "?Noun:Enviar" + +#: gajim/gtk/tooltips.py:540 gajim/gtk/filetransfer.py:240 +#: gajim/gtk/filetransfer.py:749 +msgid "Recipient: " +msgstr "Destinatário: " + +#: gajim/gtk/tooltips.py:546 +msgid "?transfer type:Type: " +msgstr "?tipo de transferência:Tipo: " + +#: gajim/gtk/tooltips.py:552 +msgid "?transfer status:Transferred: " +msgstr "?status da transferência:Transferido: " + +#: gajim/gtk/tooltips.py:555 +msgid "?transfer status:Status: " +msgstr "?status da transferência:Status: " + +#: gajim/gtk/tooltips.py:557 +msgid "Description: " +msgstr "Descrição: " + +#: gajim/gtk/tooltips.py:581 +msgid "?transfer status:Aborted" +msgstr "?transfer status:Abortado" + +#: gajim/gtk/tooltips.py:583 +msgid "?transfer status:Completed" +msgstr "?transfer status:Completado" + +#: gajim/gtk/tooltips.py:585 +msgid "?transfer status:Paused" +msgstr "?status da transferência:Parado" + +#: gajim/gtk/tooltips.py:588 +msgid "?transfer status:Stalled" +msgstr "?transfer status:Pausado" + +#: gajim/gtk/tooltips.py:592 +msgid "?transfer status:Transferring" +msgstr "?transfer status:Transferindo" + +#: gajim/gtk/tooltips.py:593 gajim/gtk/tooltips.py:594 +msgid "?transfer status:Not started" +msgstr "?transfer status:Não iniciado" + +#: gajim/gtk/remove_account.py:42 gajim/gtk/accounts.py:341 +msgid "Remove" +msgstr "Remover" + +#: gajim/gtk/remove_account.py:49 +msgid "Removing Account..." +msgstr "Removendo Conta..." + +#: gajim/gtk/remove_account.py:50 +msgid "Trying to remove account..." +msgstr "Tentando remover a conta..." + +#: gajim/gtk/remove_account.py:53 gajim/gtk/remove_account.py:54 +msgid "Account Removed" +msgstr "Conta Removida" + +#: gajim/gtk/remove_account.py:56 +msgid "Your account has has been removed successfully." +msgstr "Sua conta foi removida com sucesso." + +#: gajim/gtk/remove_account.py:59 gajim/gtk/remove_account.py:60 +msgid "Account Removal Failed" +msgstr "Remoção de conta falhou" + +#: gajim/gtk/remove_account.py:171 gajim/gtk/remove_account.py:173 +msgid "Remove Account" +msgstr "Remover Conta" + +#: gajim/gtk/remove_account.py:180 +msgid "This will remove your account from Gajim." +msgstr "Isto removerá sua conta do Gajim." + +#: gajim/gtk/remove_account.py:189 +#, python-format +msgid "Do you want to unregister your account on %s as well?" +msgstr "Você deseja cancelar também o registro sua conta em %s?" + +#: gajim/gtk/remove_account.py:198 +msgid "_Unregister account from service" +msgstr "_Cancelar o registro da conta do serviço" + +#: gajim/gtk/remove_account.py:217 +msgid "Account has to be connected" +msgstr "A conta tem que estar conectada" + +#: gajim/gtk/filetransfer.py:91 +msgid "File" +msgstr "Arquivo" + +#: gajim/gtk/filetransfer.py:108 +msgid "Time" +msgstr "Tempo" + +#: gajim/gtk/filetransfer.py:121 gajim/data/gui/filetransfer_progress.ui:110 +msgid "Progress" +msgstr "Progresso" + +#: gajim/gtk/filetransfer.py:228 +#, python-format +msgid "File name: %s" +msgstr "Nome do arquivo: %s" + +#: gajim/gtk/filetransfer.py:229 gajim/gtk/filetransfer.py:470 +#, python-format +msgid "Size: %s" +msgstr "Tamanho: %s" + +#: gajim/gtk/filetransfer.py:239 +#, python-format +msgid "Sender: %s" +msgstr "Remetente: %s" + +#: gajim/gtk/filetransfer.py:251 +#, python-format +msgid "Saved in: %s" +msgstr "Salvo em: %s" + +#: gajim/gtk/filetransfer.py:256 +msgid "File transfer completed" +msgstr "Transferência de arquivos completa" + +#: gajim/gtk/filetransfer.py:276 gajim/gtk/filetransfer.py:285 +msgid "Connection with peer could not be established." +msgstr "Conexão com o par não pôde ser estabelecida." + +#: gajim/gtk/filetransfer.py:293 +#, python-format +msgid "Filename: %s" +msgstr "Nome do arquivo: %s" + +#: gajim/gtk/filetransfer.py:294 +#, python-format +msgid "Recipient: %s" +msgstr "Conteúdo: %s" + +#: gajim/gtk/filetransfer.py:296 +#, python-format +msgid "Error message: %s" +msgstr "Mensagem de erro: %s" + +#: gajim/gtk/filetransfer.py:335 +#, python-format +msgid "" +"The file %s has been received, but it seems to have been damaged along the " +"way.\n" +"Do you want to download it again?" +msgstr "" +"O arquivo %s foi recebido, mas, parece ter sido danificado ao longo do " +"caminho.\n" +"Você deseja baixá-lo novamente?" + +#: gajim/gtk/filetransfer.py:341 +msgid "_Download Again" +msgstr "_Baixar Novamente" + +#: gajim/gtk/filetransfer.py:356 +msgid "Gajim can not read this file" +msgstr "O Gajim não pode acessar este arquivo" + +#: gajim/gtk/filetransfer.py:357 +msgid "Another process is using this file." +msgstr "Outro processo está usando este arquivo." + +#: gajim/gtk/filetransfer.py:399 +#, python-format +msgid "Cannot overwrite existing file '%s'" +msgstr "Não é possível sobrescrever o arquivo existente '%s'" + +#: gajim/gtk/filetransfer.py:400 +msgid "" +"A file with this name already exists and you do not have permission to " +"overwrite it." +msgstr "" +"Um arquivo com este nome já existe e você não tem permissão para sobrescrevê-" +"lo." + +#: gajim/gtk/filetransfer.py:424 +msgid "File Transfer Conflict" +msgstr "Transferência de arquivo conflitante" + +#: gajim/gtk/filetransfer.py:425 +msgid "File already exists" +msgstr "Arquivo já existe" + +#: gajim/gtk/filetransfer.py:426 +msgid "Resume download or replace file?" +msgstr "Retomar download ou substituir o arquivo?" + +#: gajim/gtk/filetransfer.py:430 +msgid "Resume _Download" +msgstr "Continuar _Baixando" + +#: gajim/gtk/filetransfer.py:433 +msgid "Replace _File" +msgstr "Substituir _Arquivo" + +#: gajim/gtk/filetransfer.py:443 +#, python-format +msgid "Directory '%s' is not writable" +msgstr "Não é possível gravar no diretório '%s'" + +#: gajim/gtk/filetransfer.py:444 +msgid "You do not have permissions to create files in this directory." +msgstr "Você não tem permissão para criar arquivos neste diretório." + +#: gajim/gtk/filetransfer.py:467 +#, python-format +msgid "File: %s" +msgstr "Arquivo: %s" + +#: gajim/gtk/filetransfer.py:473 +#, python-format +msgid "Type: %s" +msgstr "Tipo: %s" + +#: gajim/gtk/filetransfer.py:475 +#, python-format +msgid "Description: %s" +msgstr "Descrição: %s" + +#: gajim/gtk/filetransfer.py:486 +#, python-format +msgid "%s wants to send you a file" +msgstr "%s quer te enviar um arquivo" + +#: gajim/gtk/filetransfer.py:514 +msgid "Checking file…" +msgstr "Verificando arquivo…" + +#: gajim/gtk/filetransfer.py:529 +msgid "File error" +msgstr "Erro de arquivo" + +#: gajim/gtk/filetransfer.py:566 +#, python-format +msgid "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" +msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" + +#: gajim/gtk/filetransfer.py:663 +#, python-format +msgid "(%(filesize_unit)s/s)" +msgstr "(%(filesize_unit)s/s)" + +#: gajim/gtk/filetransfer.py:716 gajim/gtk/filetransfer.py:720 +msgid "Invalid File" +msgstr "Arquivo inválido" + +#: gajim/gtk/filetransfer.py:716 +msgid "File: " +msgstr "Arquivo: " + +#: gajim/gtk/filetransfer.py:721 +msgid "It is not possible to send empty files" +msgstr "Não é possível enviar arquivos vazios" + +#: gajim/gtk/filetransfer.py:1043 +msgid "Choose a File to Send…" +msgstr "Escolha o Arquivo para Enviar…" + +#: gajim/gtk/roster_item_exchange.py:35 +#: gajim/data/gui/roster_item_exchange_window.ui:39 +msgid "Contact List Exchange" +msgstr "Troca de itens na lista de contatos" + +#: gajim/gtk/roster_item_exchange.py:49 +#, python-format +msgid "%s would like to add some contacts to your contact list." +msgstr "" +"%s gostaria de adicionar alguns contatos à sua lista de contatos." + +#: gajim/gtk/roster_item_exchange.py:52 +#, python-format +msgid "%s would like to modify some contacts in your contact list." +msgstr "" +"%s gostaria de modificar alguns contatos em sua lista de contatos." + +#: gajim/gtk/roster_item_exchange.py:55 +#, python-format +msgid "%s would like to delete some contacts from your contact list." +msgstr "" +"%s gostaria de excluir alguns contatos da sua lista de contatos." + +#: gajim/gtk/roster_item_exchange.py:71 gajim/gtk/roster_item_exchange.py:130 +msgid "Add" +msgstr "Adicionar" + +#: gajim/gtk/roster_item_exchange.py:73 gajim/gtk/roster_item_exchange.py:161 +msgid "Modify" +msgstr "Modificar" + +#: gajim/gtk/roster_item_exchange.py:80 +msgid "JID" +msgstr "JID" + +#: gajim/gtk/roster_item_exchange.py:86 +msgid "Groups" +msgstr "Grupos" + +#: gajim/gtk/roster_item_exchange.py:196 +#, python-format +msgid "%s suggested me to add you to my contact list." +msgstr "%s me sugeriu adicionar você à minha lista de contatos." + +#: gajim/gtk/roster_item_exchange.py:211 +#, python-format +msgid "Added %d contact" +msgid_plural "Added %d contacts" +msgstr[0] "%d contato adicionado" +msgstr[1] "%d contatos adicionados" + +#: gajim/gtk/roster_item_exchange.py:253 +#, python-format +msgid "Removed %d contact" +msgid_plural "Removed %d contacts" +msgstr[0] "%d contato removido" +msgstr[1] "%d contatos removidos" + +#: gajim/gtk/groupchat_creation.py:45 gajim/data/gui/groupchat_creation.ui:81 +msgid "Create Group Chat" +msgstr "Criar Conversa em Grupo" + +#: gajim/gtk/groupchat_creation.py:101 gajim/gtk/groupchat_creation.py:103 +msgid " (optional)..." +msgstr " (opcional)..." + +#: gajim/gtk/groupchat_creation.py:186 +msgid "Not Connected" +msgstr "Não Conectado" + +#: gajim/gtk/groupchat_creation.py:187 +msgid "You have to be connected to create a group chat." +msgstr "Você deve estar conectado para criar um grupo de bate-papo." + +#: gajim/gtk/status_selector.py:121 gajim/gtk/status_selector.py:127 +#, python-format +msgid "Status: %s" +msgstr "Status: %s" + +#: gajim/gtk/status_selector.py:125 +#, python-format +msgid "%s (desynced)" +msgstr "%s (dessincronizado)" + +#: gajim/gtk/subscription_request.py:35 +msgid "Subscription Request" +msgstr "Solicitação de inscrição" + +#: gajim/gtk/subscription_request.py:47 +#, python-format +msgid "Subscription request for account %(account)s from %(jid)s" +msgstr "Solicitação de inscrição para conta %(account)s de %(jid)s" + +#: gajim/gtk/subscription_request.py:50 +#, python-format +msgid "Subscription request from %s" +msgstr "Solicitação de inscrição de %s" + +#: gajim/gtk/single_message.py:51 +msgid "Send Single Message" +msgstr "Enviar mensagem simples" + +#: gajim/gtk/single_message.py:101 +msgid "(No subject)" +msgstr "(Sem assunto)" + +#: gajim/gtk/single_message.py:157 +#, python-format +msgid "Single Message using account %s" +msgstr "Mensagem simples usando conta %s" + +#: gajim/gtk/single_message.py:159 +#, python-format +msgid "Single Message in account %s" +msgstr "Mensagem simples na conta %s" + +#: gajim/gtk/single_message.py:161 +msgid "Single Message" +msgstr "Mensagem simples" + +#: gajim/gtk/single_message.py:164 +#, python-format +msgid "Send %s" +msgstr "Enviar %s" + +#: gajim/gtk/single_message.py:183 +#, python-format +msgid "Received %s" +msgstr "Recebido %s" + +#: gajim/gtk/single_message.py:205 +#, python-format +msgid "Characters typed: %s" +msgstr "Caracteres digitados: %s" + +#: gajim/gtk/single_message.py:210 gajim/gtk/xml_console.py:169 +msgid "Connection not available" +msgstr "Conexão não disponível" + +#: gajim/gtk/single_message.py:211 +#, python-format +msgid "Please make sure you are connected with \"%s\"." +msgstr "Por favor, tenha certeza que você está conectado com \"%s\"." + +#: gajim/gtk/single_message.py:239 +#, python-format +msgid "" +"It is not possible to send a message to %s, this XMPP Address is not valid." +msgstr "" +"Não é possível enviar uma mensagem para %s, este não é um endereço XMPP " +"válido." + +#: gajim/gtk/single_message.py:316 +#, python-format +msgid "RE: %s" +msgstr "RE: %s" + +#: gajim/gtk/single_message.py:317 +#, python-format +msgid "%s wrote:\n" +msgstr "%s escreveu:\n" + +#: gajim/gtk/change_password.py:42 +msgid "Change" +msgstr "Alterar" + +#: gajim/gtk/change_password.py:51 +msgid "Changing Password..." +msgstr "Alterando a senha..." + +#: gajim/gtk/change_password.py:52 +msgid "Trying to change password..." +msgstr "Tentando alterar a senha..." + +#: gajim/gtk/change_password.py:55 gajim/gtk/change_password.py:56 +msgid "Password Changed" +msgstr "Senha Alterada" + +#: gajim/gtk/change_password.py:57 +msgid "Your password has successfully been changed." +msgstr "Sua senha foi alterada com sucesso." + +#: gajim/gtk/change_password.py:60 gajim/gtk/change_password.py:61 +msgid "Password Change Failed" +msgstr "Mudança de senha falhou" + +#: gajim/gtk/change_password.py:63 +msgid "An error occurred while trying to change your password." +msgstr "Ocorreu um erro ao alterar sua senha." + +#: gajim/gtk/change_password.py:145 gajim/gtk/change_password.py:147 +#: gajim/gtk/change_password.py:224 gajim/gtk/accounts.py:994 +msgid "Change Password" +msgstr "Alterar senha" + +#: gajim/gtk/change_password.py:154 +msgid "Please enter your new password." +msgstr "Digite sua nova senha, por favor." + +#: gajim/gtk/change_password.py:167 +msgid "Enter new password..." +msgstr "Digite uma nova senha..." + +#: gajim/gtk/change_password.py:176 +msgid "Confirm new password..." +msgstr "Confirme a nova senha..." + +#: gajim/gtk/change_password.py:191 +msgid "Passwords do not match" +msgstr "Senhas não conferem" + +#: gajim/gtk/bookmarks.py:48 +#, python-format +msgid "Bookmarks for %s" +msgstr "Ma_rcadores para %s" + +#: gajim/gtk/xml_console.py:95 gajim/gtk/xml_console.py:279 +msgid "All Accounts" +msgstr "Todas as Contas" + +#: gajim/gtk/xml_console.py:170 +#, python-format +msgid "Please make sure you are connected with '%s'." +msgstr "Por favor, tenha certeza que você está conectado com '%s'." + +#: gajim/gtk/xml_console.py:180 +msgid "Invalid Node" +msgstr "Nó Inválido" + +#: gajim/gtk/xml_console.py:282 +msgid "Account" +msgstr "Conta" + +#: gajim/gtk/xml_console.py:309 gajim/data/gui/xml_console.ui:241 +msgid "Filter" +msgstr "Filtro" + +#: gajim/gtk/dataform.py:252 gajim/gtk/dataform.py:290 +msgid "Required" +msgstr "Obrigatório" + +#: gajim/gtk/dataform.py:315 +msgid "Yes" +msgstr "Sim" + +#: gajim/gtk/dataform.py:315 +msgid "No" +msgstr "Não" + +#: gajim/gtk/dataform.py:701 gajim/gtk/adhoc.py:86 +#: gajim/data/gui/profile.ui:396 +msgid "Cancel" +msgstr "Cancelar" + +#: gajim/gtk/dataform.py:703 +msgid "Submit" +msgstr "Enviar" + +#: gajim/gtk/discovery.py:69 +msgid "This service has not yet responded with detailed information" +msgstr "Este serviço não respondeu ainda com informação detalhada" + +#: gajim/gtk/discovery.py:70 +msgid "" +"This service could not respond with detailed information.\n" +"It is most likely a legacy service or broken." +msgstr "" +"Este serviço não pode responder com informações detalhadas.\n" +"É provável que seja um serviço obsoleto ou quebrado." + +#: gajim/gtk/discovery.py:126 +msgid "Others" +msgstr "Outros" + +#: gajim/gtk/discovery.py:129 gajim/data/gui/shortcuts_window.ui:307 +msgid "Group Chat" +msgstr "Bate-papo em Grupo" + +#: gajim/gtk/discovery.py:523 +msgid "Without a connection, you can not browse available services" +msgstr "Sem conexão, você não pode navegar por serviços disponíveis" + +#: gajim/gtk/discovery.py:610 +#, python-format +msgid "Service Discovery using account %s" +msgstr "Buscar serviços usando conta %s" + +#: gajim/gtk/discovery.py:612 +msgid "Service Discovery" +msgstr "Buscar serviços" + +#: gajim/gtk/discovery.py:695 +msgid "The service could not be found" +msgstr "O serviço não pode ser encontrado" + +#: gajim/gtk/discovery.py:696 +msgid "" +"There is no service at the address you entered, or it is not responding. " +"Check the address and try again." +msgstr "" +"Não existe serviço para o endereço que você entrou, ou não está respondendo. " +"Verifique o endereço e tente novamente." + +#: gajim/gtk/discovery.py:703 gajim/gtk/discovery.py:1046 +msgid "The service is not browsable" +msgstr "Serviço não navegável" + +#: gajim/gtk/discovery.py:704 +msgid "This type of service does not contain any items to browse." +msgstr "Este tipo de serviço não contém nenhum item para navegar." + +#: gajim/gtk/discovery.py:742 gajim/gtk/discovery.py:751 +msgid "Invalid Server Name" +msgstr "Nome do servidor inválido" + +#: gajim/gtk/discovery.py:810 +#, python-format +msgid "Browsing %(address)s using account %(account)s" +msgstr "Explorando %(address)s usando conta %(account)s" + +#: gajim/gtk/discovery.py:855 +msgid "Browse" +msgstr "Navegar" + +#: gajim/gtk/discovery.py:1047 +msgid "This service does not contain any items to browse." +msgstr "Este serviço não contém nenhum item para navegar." + +#: gajim/gtk/discovery.py:1259 +msgid "_Command" +msgstr "_Comandos" + +#: gajim/gtk/discovery.py:1268 gajim/gtk/discovery.py:1425 +msgid "Re_gister" +msgstr "Re_gistrar" + +#: gajim/gtk/discovery.py:1275 +msgid "Join" +msgstr "Junte-se" + +#: gajim/gtk/discovery.py:1281 +msgid "_Search" +msgstr "_Buscar" + +#: gajim/gtk/discovery.py:1423 gajim/data/gui/profile.ui:353 +msgid "_Edit" +msgstr "_Editar" + +#: gajim/gtk/discovery.py:1461 +#, python-format +msgid "Scanning %(current)d / %(total)d ..." +msgstr "Escaneando %(current)d / %(total)d.." + +#: gajim/gtk/discovery.py:1660 +msgid "Users" +msgstr "Usuários" + +#: gajim/gtk/discovery.py:1668 gajim/data/gui/groupchat_info_scrolled.ui:32 +#: gajim/data/gui/filetransfers_send_file_dialog.ui:15 +#: gajim/data/gui/advanced_configuration.ui:82 +msgid "Description" +msgstr "Descrição" + +#: gajim/gtk/discovery.py:1676 +msgid "Id" +msgstr "Id" + +#: gajim/gtk/discovery.py:1905 +msgid "Subscribed" +msgstr "Inscrito" + +#: gajim/gtk/discovery.py:1914 +msgid "Node" +msgstr "Nó" + +#: gajim/gtk/discovery.py:1983 +msgid "_New post" +msgstr "_Nova postagem" + +#: gajim/gtk/discovery.py:1992 +msgid "_Subscribe" +msgstr "_Inscrever" + +#: gajim/gtk/discovery.py:2000 +msgid "_Unsubscribe" +msgstr "_Desinscrever" + +#: gajim/gtk/groupchat_settings.py:43 +msgid "Show Join/Leave" +msgstr "Mostrar entrar/sair" + +#: gajim/gtk/groupchat_settings.py:53 +msgid "Notify on all Messages" +msgstr "Notificar em todas as mensagens" + +#: gajim/gtk/groupchat_settings.py:58 +msgid "Minimize on Close" +msgstr "Minimizar ao fechar" + +#: gajim/gtk/groupchat_settings.py:63 +msgid "Minimize When Joining Automatically" +msgstr "Minimizar ao Entrar Automaticamente" + +#: gajim/gtk/groupchat_settings.py:68 +msgid "Send Chat State" +msgstr "Enviar Estado de Chat" + +#: gajim/gtk/groupchat_settings.py:74 +msgid "Send Chat Markers" +msgstr "Enviar marcadores de chat" + +#: gajim/gtk/groupchat_settings.py:77 +msgid "Let others know if you read up to this point" +msgstr "Deixar os outros saberem se você leu até este ponto" + +#: gajim/gtk/groupchat_settings.py:80 +msgid "Sync Threshold" +msgstr "Limite de sincronização" + +#: gajim/gtk/proxies.py:33 +msgid "Manage Proxies" +msgstr "Gerenciar Proxies" + +#: gajim/gtk/manage_sounds.py:40 +msgid "Manage Sounds" +msgstr "Gerenciar Sons" + +#: gajim/gtk/manage_sounds.py:51 +msgid "Wav Sounds" +msgstr "Sons wav" + +#: gajim/gtk/manage_sounds.py:85 +msgid "Attention Message Received" +msgstr "Mensagem de atenção recebida" + +#: gajim/gtk/manage_sounds.py:86 +msgid "First Message Received" +msgstr "Primeira mensagem recebida" + +#: gajim/gtk/manage_sounds.py:87 +msgid "Next Message Received Focused" +msgstr "Nova mensagem recebida com foco" + +#: gajim/gtk/manage_sounds.py:88 +msgid "Next Message Received Unfocused" +msgstr "Nova mensagem recebida sem foco" + +#: gajim/gtk/manage_sounds.py:89 +msgid "Contact Connected" +msgstr "Contato conectado" + +#: gajim/gtk/manage_sounds.py:90 +msgid "Contact Disconnected" +msgstr "Contato desconectou" + +#: gajim/gtk/manage_sounds.py:91 +msgid "Message Sent" +msgstr "Mensagem enviada" + +#: gajim/gtk/manage_sounds.py:92 +msgid "Group Chat Message Highlight" +msgstr "Mensagem destacada de conferência" + +#: gajim/gtk/manage_sounds.py:93 +msgid "Group Chat Message Received" +msgstr "Mensagem de conferência recebida" + +#: gajim/gtk/groupchat_info.py:38 +msgid "?Group chat feature:Open" +msgstr "?Group chat feature:Aberto" + +#: gajim/gtk/groupchat_info.py:39 +msgid "Anyone can join this group chat" +msgstr "Qualquer pessoa pode participar deste grupo de bate-papo" + +#: gajim/gtk/groupchat_info.py:42 +msgid "?Group chat feature:Members Only" +msgstr "?Group chat feature:Apenas membros" + +#: gajim/gtk/groupchat_info.py:43 +msgid "This group chat is restricted to members only" +msgstr "Este grupo de bate-papo é restrito apenas aos membros" + +#: gajim/gtk/groupchat_info.py:47 +msgid "?Group chat feature:Not Anonymous" +msgstr "?Group chat feature:Não anônimo" + +#: gajim/gtk/groupchat_info.py:48 +msgid "All other group chat participants can see your XMPP address" +msgstr "" +"Todos os outros participantes do grupo de bate-papo podem ver seu endereço " +"XMPP" + +#: gajim/gtk/groupchat_info.py:52 +msgid "?Group chat feature:Semi-Anonymous" +msgstr "?Group chat feature:Semi-anônimo" + +#: gajim/gtk/groupchat_info.py:53 +msgid "Only moderators can see your XMPP address" +msgstr "Somente os moderadores podem ver seu endereço XMPP" + +#: gajim/gtk/groupchat_info.py:56 +msgid "?Group chat feature:Moderated" +msgstr "?Group chat feature:Moderado" + +#: gajim/gtk/groupchat_info.py:57 +msgid "" +"Participants entering this group chat need to request permission to send " +"messages" +msgstr "" +"Os participantes que entram neste grupo de bate-papo precisam solicitar " +"permissão para enviar mensagens" + +#: gajim/gtk/groupchat_info.py:61 +msgid "?Group chat feature:Not Moderated" +msgstr "?Group chat feature:Não moderado" + +#: gajim/gtk/groupchat_info.py:62 +msgid "Participants entering this group chat are allowed to send messages" +msgstr "" +"Os participantes que entram neste grupo de bate-papo estão autorizados a " +"enviar mensagens" + +#: gajim/gtk/groupchat_info.py:66 +msgid "?Group chat feature:Public" +msgstr "?Group chat feature:Público" + +#: gajim/gtk/groupchat_info.py:67 +msgid "Group chat can be found via search" +msgstr "O grupo de bate-papo pode ser encontrado por meio de pesquisa" + +#: gajim/gtk/groupchat_info.py:70 +msgid "?Group chat feature:Hidden" +msgstr "?Group chat feature:Oculto" + +#: gajim/gtk/groupchat_info.py:71 +msgid "This group chat can not be found via search" +msgstr "Este grupo de bate-papo não pode ser encontrado por pesquisa" + +#: gajim/gtk/groupchat_info.py:74 +msgid "?Group chat feature:Password Required" +msgstr "?Group chat feature:Requer senha" + +#: gajim/gtk/groupchat_info.py:75 +msgid "This group chat does require a password upon entry" +msgstr "Este bate-papo em grupo requer uma senha após a entrada" + +#: gajim/gtk/groupchat_info.py:79 +msgid "?Group chat feature:No Password Required" +msgstr "?Group chat feature:Não requer senha" + +#: gajim/gtk/groupchat_info.py:80 +msgid "This group chat does not require a password upon entry" +msgstr "Este bate-papo em grupo não requer uma senha na entrada" + +#: gajim/gtk/groupchat_info.py:84 +msgid "?Group chat feature:Persistent" +msgstr "?Group chat feature:Persistente" + +#: gajim/gtk/groupchat_info.py:85 +msgid "This group chat persists even if there are no participants" +msgstr "Este bate-papo em grupo permanece mesmo que não haja participantes" + +#: gajim/gtk/groupchat_info.py:89 +msgid "?Group chat feature:Temporary" +msgstr "?Group chat feature:Temporário" + +#: gajim/gtk/groupchat_info.py:90 +msgid "This group chat will be destroyed once the last participant left" +msgstr "" +"Este grupo de bate-papo será destruído assim que o último participante sair" + +#: gajim/gtk/groupchat_info.py:94 +msgid "?Group chat feature:Archiving" +msgstr "?Group chat feature:Arquivado" + +#: gajim/gtk/groupchat_info.py:95 +msgid "Messages are archived on the server" +msgstr "As mensagens são arquivadas no servidor" + +#: gajim/gtk/groupchat_info.py:205 +msgid "Website" +msgstr "Página Web" + +#: gajim/gtk/accounts.py:122 +msgid "Re-Login" +msgstr "Conectar Novamente" + +#: gajim/gtk/accounts.py:123 +msgid "Re-Login now?" +msgstr "Re-autenticar agora?" + +#: gajim/gtk/accounts.py:124 +msgid "To apply all changes instantly, you have to re-login." +msgstr "Para aplicar as mudanças instantaneamente, você deve se reautenticar." + +#: gajim/gtk/accounts.py:128 +msgid "_Re-Login" +msgstr "_Re-Autenticar" + +#: gajim/gtk/accounts.py:311 gajim/data/gui/server_info.ui:386 +msgid "Connection" +msgstr "Conexão" + +#: gajim/gtk/accounts.py:496 +msgid "Please check if Bonjour is installed." +msgstr "Por favor, verifique se o Bonjour está instalado." + +#: gajim/gtk/accounts.py:498 +msgid "Please check if Avahi is installed." +msgstr "Por favor verifique se o Avahi está instalado." + +#: gajim/gtk/accounts.py:537 +msgid "Disable Account" +msgstr "Desativar conta" + +#: gajim/gtk/accounts.py:538 +#, python-format +msgid "Account %s is still connected" +msgstr "Conta %s está conectada" + +#: gajim/gtk/accounts.py:539 +msgid "All chat and group chat windows will be closed." +msgstr "Todas as janelas de chat e grupos de chat serão fechadas." + +#: gajim/gtk/accounts.py:543 +msgid "_Disable Account" +msgstr "_Desabilitar Conta" + +#: gajim/gtk/accounts.py:614 +msgid "Label" +msgstr "Rótulo" + +#: gajim/gtk/accounts.py:618 gajim/data/gui/groupchat_control.ui:99 +#: gajim/data/gui/chat_control.ui:363 +msgid "Color" +msgstr "Cor" + +#: gajim/gtk/accounts.py:620 +msgid "Recognize your account by color" +msgstr "Reconheça sua conta por cor" + +#: gajim/gtk/accounts.py:622 +msgid "Login" +msgstr "Entrar" + +#: gajim/gtk/accounts.py:627 +msgid "Import Contacts" +msgstr "Importar Contatos" + +#: gajim/gtk/accounts.py:636 gajim/gtk/accounts.py:865 +msgid "Connect on startup" +msgstr "Conectar na inicialização" + +#: gajim/gtk/accounts.py:640 gajim/gtk/accounts.py:870 +msgid "Save conversations for all contacts" +msgstr "Guardar conversas para todos os contatos" + +#: gajim/gtk/accounts.py:642 gajim/gtk/accounts.py:872 +msgid "Store conversations on the harddrive" +msgstr "Armazenar conversas sobre o disco rígido" + +#: gajim/gtk/accounts.py:644 gajim/gtk/accounts.py:874 +msgid "Global Status" +msgstr "Status Global" + +#: gajim/gtk/accounts.py:646 +msgid "Synchronise the status of all accounts" +msgstr "Sincronizar o status de todas as contas" + +#: gajim/gtk/accounts.py:648 +msgid "Remember Last Status" +msgstr "Lembrar Último Status" + +#: gajim/gtk/accounts.py:650 +msgid "Restore status and status message of your last session" +msgstr "Restaurar o status e a mensagem de status da última sessão" + +#: gajim/gtk/accounts.py:653 +msgid "Use file transfer proxies" +msgstr "Usar proxies de transferência de arquivos" + +#: gajim/gtk/accounts.py:670 +msgid "Forever" +msgstr "Para sempre" + +#: gajim/gtk/accounts.py:671 gajim/common/const.py:1110 +msgid "1 Day" +msgstr "1 Dia" + +#: gajim/gtk/accounts.py:672 gajim/common/const.py:1112 +msgid "1 Week" +msgstr "1 Semana" + +#: gajim/gtk/accounts.py:673 gajim/common/const.py:1113 +msgid "1 Month" +msgstr "1 Mês" + +#: gajim/gtk/accounts.py:674 +msgid "3 Months" +msgstr "3 Meses" + +#: gajim/gtk/accounts.py:675 +msgid "6 Months" +msgstr "6 Meses" + +#: gajim/gtk/accounts.py:676 +msgid "1 Year" +msgstr "1 Ano" + +#: gajim/gtk/accounts.py:686 +msgid "Idle Time" +msgstr "Tempo ocioso" + +#: gajim/gtk/accounts.py:688 +msgid "Disclose the time of your last activity" +msgstr "Divulgar o horário da sua última atividade" + +#: gajim/gtk/accounts.py:690 +msgid "Local System Time" +msgstr "Tempo do sistema local" + +#: gajim/gtk/accounts.py:692 +msgid "Disclose the local system time of the device Gajim runs on" +msgstr "" +"Divulgar o horário do sistema local do dispositivo em que o Gajim é executado" + +#: gajim/gtk/accounts.py:695 +msgid "Client / Operating System" +msgstr "Cliente / Sistema Operacional" + +#: gajim/gtk/accounts.py:697 +msgid "" +"Disclose information about the client and operating system you currently use" +msgstr "" +"Divulgar informações sobre o cliente e o sistema operacional que está usando" + +#: gajim/gtk/accounts.py:700 +msgid "Ignore Unknown Contacts" +msgstr "Ignorar contatos desconhecidos" + +#: gajim/gtk/accounts.py:702 +msgid "Ignore everything from contacts not in your Roster" +msgstr "Ignorar tudo de contatos que não estão na sua lista" + +#: gajim/gtk/accounts.py:705 +msgid "Send Message Receipts" +msgstr "Enviar recebimento de mensagens" + +#: gajim/gtk/accounts.py:707 +msgid "Tell your contacts if you received a message" +msgstr "Dizer aos seus contatos se você recebeu uma mensagem" + +#: gajim/gtk/accounts.py:713 +msgid "Default for chats" +msgstr "Predefinido para bate-papos" + +#: gajim/gtk/accounts.py:716 gajim/gtk/accounts.py:741 +msgid "Reset all chats to the current default value" +msgstr "Reiniciar todas as conversas com os valores padrões atuais" + +#: gajim/gtk/accounts.py:722 +msgid "Send Chatstate in Group Chats" +msgstr "Enviar estado em grupos de bate-papo" + +#: gajim/gtk/accounts.py:725 +msgid "Default for group chats" +msgstr "Predefinido para grupos de bate-papo" + +#: gajim/gtk/accounts.py:739 +msgid "Default for chats and private group chats" +msgstr "Predefinido para conversas e grupos privados" + +#: gajim/gtk/accounts.py:747 +msgid "Keep Chat History" +msgstr "Manter histórico do bate-papo" + +#: gajim/gtk/accounts.py:751 +msgid "How long Gajim should keep your chat history" +msgstr "Por quanto tempo o Gajim deve manter seu histórico de conversas" + +#: gajim/gtk/accounts.py:787 gajim/data/gui/manage_proxies.ui:337 +msgid "Proxy" +msgstr "Proxy" + +#: gajim/gtk/accounts.py:794 gajim/gtk/accounts.py:949 +#: gajim/data/gui/server_info.ui:20 +msgid "Hostname" +msgstr "Hostname" + +#: gajim/gtk/accounts.py:795 +msgid "Manually set the hostname for the server" +msgstr "Definir manualmente o nome de host para o servidor" + +#: gajim/gtk/accounts.py:798 gajim/data/gui/vcard_information_window.ui:72 +msgid "Resource" +msgstr "Adicional" + +#: gajim/gtk/accounts.py:801 gajim/gtk/accounts.py:917 +#: gajim/gtk/accounts.py:925 +msgid "Priority" +msgstr "Prioridade" + +#: gajim/gtk/accounts.py:804 +msgid "Use Unencrypted Connection" +msgstr "Usar conexão insegura" + +#: gajim/gtk/accounts.py:806 gajim/common/config.py:273 +msgid "Use an unencrypted connection to the server" +msgstr "Usar uma conexão ao servidor não criptografada" + +#: gajim/gtk/accounts.py:808 +msgid "Confirm Unencrypted Connection" +msgstr "Confirmar conexão insegura" + +#: gajim/gtk/accounts.py:811 +msgid "Show a confirmation dialog before connecting unencrypted" +msgstr "Mostrar diálogo de confirmação antes de conectar sem criptografia" + +#: gajim/gtk/accounts.py:835 gajim/data/gui/zeroconf_information_window.ui:8 +#: gajim/data/gui/vcard_information_window.ui:8 +#: gajim/data/gui/subscription_request_window.ui:164 +msgid "Contact Information" +msgstr "Informações do contato" + +#: gajim/gtk/accounts.py:837 +msgid "Request contact information (Mood, Activity, Tune, Location)" +msgstr "" +"Requisitar informação de contato (Humor, Atividade, Música, Localização)" + +#: gajim/gtk/accounts.py:840 +msgid "Accept all Contact Requests" +msgstr "Aceitar todas as solicitações de contato" + +#: gajim/gtk/accounts.py:842 +msgid "Automatically accept all contact requests" +msgstr "Aceitar automaticamente todas as requisições de contatos" + +#: gajim/gtk/accounts.py:844 +msgid "Filetransfer Preference" +msgstr "Preferência de transferência de arquivo" + +#: gajim/gtk/accounts.py:846 +msgid "Upload Files" +msgstr "Enviar Arquivos" + +#: gajim/gtk/accounts.py:847 +msgid "Send Files Directly" +msgstr "Enviar Arquivos Diretamente" + +#: gajim/gtk/accounts.py:848 +msgid "Preferred file transfer mechanism for file drag&drop on a chat window" +msgstr "" +"Mecanismo de transferência de arquivo preferido para arrastar&soltar numa " +"janela de conversa" + +#: gajim/gtk/accounts.py:867 +msgid "Use environment variable" +msgstr "Usar variáveis de ambiente" + +#: gajim/gtk/accounts.py:876 +msgid "Synchronize the status of all accounts" +msgstr "Sincronizar o status de todas as contas" + +#: gajim/gtk/accounts.py:886 +msgid "First Name" +msgstr "Nome" + +#: gajim/gtk/accounts.py:889 +msgid "Last Name" +msgstr "Sobrenome" + +#: gajim/gtk/accounts.py:895 gajim/gtk/profile.py:32 gajim/gtk/vcard_grid.py:39 +msgid "Email" +msgstr "E-mail" + +#: gajim/gtk/accounts.py:913 +msgid "Adjust to status" +msgstr "Ajustar para status" + +#: gajim/gtk/accounts.py:945 +msgid "Enable" +msgstr "Habilitar" + +#: gajim/gtk/accounts.py:953 +msgid "Port" +msgstr "Porta" + +#: gajim/gtk/accounts.py:957 gajim/data/gui/server_info.ui:250 +msgid "Type" +msgstr "Tipo" + +#: gajim/gtk/accounts.py:963 +msgid "Connection Settings" +msgstr "Configurações de Conexão" + +#: gajim/gtk/accounts.py:971 +msgid "Client Certificate" +msgstr "Certificado do Cliente" + +#: gajim/gtk/accounts.py:973 +msgid "PKCS12 Files" +msgstr "Arquivos PKCS12" + +#: gajim/gtk/accounts.py:975 +msgid "Encrypted Certificate" +msgstr "Certificado Encriptado" + +#: gajim/gtk/accounts.py:979 +msgid "Certificate Settings" +msgstr "Configurações do Certificado" + +#: gajim/gtk/accounts.py:987 gajim/data/gui/account_wizard.ui:255 +#: gajim/data/gui/bookmarks.ui:102 +msgid "Password" +msgstr "Senha" + +#: gajim/gtk/accounts.py:991 +msgid "Save Password" +msgstr "Salvar Senha" + +#: gajim/gtk/accounts.py:999 +msgid "Login Settings" +msgstr "Configurações de Acesso" + +#: gajim/gtk/groupchat_config.py:39 +msgid "Group Chat Configuration" +msgstr "Configuração do grupo de bate-papo" + +#: gajim/gtk/groupchat_config.py:104 gajim/common/helpers.py:283 +#: gajim/data/gui/groupchat_config.ui:40 +msgid "Member" +msgstr "Membro" + +#: gajim/gtk/groupchat_config.py:133 +msgid "A Group Chat needs at least one Owner" +msgstr "Um grupo precisa ao menos de um Dono" + +#: gajim/gtk/groupchat_config.py:241 +msgid "You are not allowed to modify the affiliation of Admins and Owners" +msgstr "" +"Você não está autorizado a modificar a filiação de Administradores e Donos" + +#: gajim/gtk/groupchat_config.py:400 +msgid "An entry with this XMPP Address already exists" +msgstr "Já existe uma entrada com este endereço XMPP" + +#: gajim/gtk/server_info.py:142 gajim/data/gui/vcard_information_window.ui:89 +#: gajim/data/gui/preferences.ui:359 +msgid "Status" +msgstr "Status" + +#: gajim/gtk/server_info.py:143 +msgid "Support" +msgstr "Suporte" + +#: gajim/gtk/server_info.py:144 +msgid "Security" +msgstr "Segurança" + +#: gajim/gtk/server_info.py:145 +msgid "Feedback" +msgstr "Comentários" + +#: gajim/gtk/server_info.py:146 +msgid "Abuse" +msgstr "Abuso" + +#: gajim/gtk/server_info.py:147 +msgid "Sales" +msgstr "Vendas" + +#: gajim/gtk/server_info.py:231 +#, python-format +msgid "%(days)s days, %(hours)s hours" +msgstr "%(days)s dias, %(hours)s horas" + +#: gajim/gtk/server_info.py:239 gajim/gtk/vcard_grid.py:115 +#: gajim/common/helpers.py:224 +msgid "Unknown" +msgstr "Desconhecido" + +#: gajim/gtk/server_info.py:360 +msgid "" +"\n" +"Disabled in preferences" +msgstr "" +"\n" +"Desativado nas preferências" + +#: gajim/gtk/history.py:79 +msgid "Conversation History" +msgstr "Histórico de Conversa" + +#: gajim/gtk/history.py:411 gajim/gtk/history.py:465 +msgid "Disk Error" +msgstr "Erro de disco" + +#: gajim/gtk/history.py:576 +#, python-format +msgid "%(nick)s is now %(status)s: %(status_msg)s" +msgstr "%(nick)s é agora %(status)s: %(status_msg)s" + +#: gajim/gtk/history.py:581 gajim/common/connection_handlers_events.py:414 +#, python-format +msgid "%(nick)s is now %(status)s" +msgstr "%(nick)s agora está %(status)s" + +#: gajim/gtk/history.py:589 +#, python-format +msgid "Error: %s" +msgstr "Erro: %s" + +#: gajim/gtk/history.py:593 +#, python-format +msgid "Status is now: %(status)s: %(status_msg)s" +msgstr "Status agora é: %(status)s: %(status_msg)s" + +#: gajim/gtk/history.py:597 +#, python-format +msgid "Status is now: %(status)s" +msgstr "Status agora é: %(status)s" + +#: gajim/gtk/about.py:51 +msgid "A GTK XMPP client" +msgstr "Um cliente Jabber em GTK" + +#: gajim/gtk/about.py:52 +#, python-format +msgid "GTK Version: %s" +msgstr "Versão do GTK+: %s" + +#: gajim/gtk/about.py:53 +#, python-format +msgid "GLib Version: %s" +msgstr "Versão do GLib: %s" + +#: gajim/gtk/about.py:54 +#, python-format +msgid "PyGObject Version: %s" +msgstr "Versão do PyGObject: %s" + +#: gajim/gtk/about.py:55 +#, python-format +msgid "python-nbxmpp Version: %s" +msgstr "Versão do python-nbxmpp: %s" + +#: gajim/gtk/about.py:59 +msgid "Current Developers" +msgstr "Desenvolvedores Atuais" + +#: gajim/gtk/about.py:60 +msgid "Past Developers" +msgstr "Desenvolvedores Passados" + +#: gajim/gtk/about.py:61 +msgid "Artists" +msgstr "Artistas" + +#: gajim/gtk/about.py:65 +msgid "Last but not least" +msgstr "Por último, mas não menos importante" + +#: gajim/gtk/about.py:66 +msgid "we would like to thank all the package maintainers." +msgstr "Nós gostaríamos de agradecer todos os mantedores do pacote." + +#: gajim/gtk/about.py:67 +msgid "Thanks" +msgstr "Obrigado" + +#: gajim/gtk/about.py:69 +msgid "translator-credits" +msgstr "" +"Enrico Nicoletto \n" +"Alfredo Jr Junix \n" +"Juracy Filho \n" +"Djavan Fagundes \n" +"Og Maciel \n" +"Antonio Morais \n" +"soneca " + +#: gajim/gtk/search.py:95 gajim/gtk/search.py:191 +msgid "Search" +msgstr "Buscar" + +#: gajim/gtk/search.py:101 +msgid "New Search" +msgstr "Nova Busca" + +#: gajim/gtk/search.py:176 +msgid "Request Search Form" +msgstr "Solicitar formulário de pesquisa" + +#: gajim/gtk/search.py:236 +msgid "Search…" +msgstr "Pesquisar…" + +#: gajim/gtk/search.py:243 +msgid "Search Result" +msgstr "Resultado da Pesquisa" + +#: gajim/gtk/search.py:250 +msgid "No results found" +msgstr "Nenhum resultado encontrado" + +#: gajim/gtk/features.py:40 gajim/data/gui/server_info.ui:447 +msgid "Features" +msgstr "Recursos" + +#: gajim/gtk/features.py:90 +msgid "Audio / Video" +msgstr "Áudio / Vídeo" + +#: gajim/gtk/features.py:92 +msgid "Enables Gajim to provide Audio and Video chats" +msgstr "Permite que o Gajim forneça chats de Áudio e Vídeo" + +#: gajim/gtk/features.py:93 +msgid "" +"Requires: gir1.2-farstream-0.2, gir1.2-gstreamer-1.0, gstreamer1.0-libav, " +"gstreamer1.0-plugins-ugly" +msgstr "" +"Requer: gir1.2-farstream-0.2, gir1.2-gstreamer-1.0, gstreamer1.0-libav, " +"gstreamer1.0-plugins-ugly" + +#: gajim/gtk/features.py:95 gajim/gtk/features.py:145 +msgid "Feature not available under Windows" +msgstr "Recurso não disponível no Windows" + +#: gajim/gtk/features.py:97 +msgid "Automatic Status" +msgstr "Status automático" + +#: gajim/gtk/features.py:99 +msgid "" +"Enables Gajim to measure your computer's idle time in order to set your " +"Status automatically" +msgstr "" +"Permite que o Gajim meça o tempo ocioso do seu computador para definir seu " +"Status automaticamente" + +#: gajim/gtk/features.py:101 +msgid "Requires: libxss" +msgstr "Requer: libxss" + +#: gajim/gtk/features.py:102 gajim/gtk/features.py:123 +msgid "No additional requirements" +msgstr "Sem requisitos adicionais" + +#: gajim/gtk/features.py:104 +msgid "Bonjour / Zeroconf (Serverless Chat)" +msgstr "Bonjour / Zeroconf (Bate-papo sem servidor)" + +#: gajim/gtk/features.py:106 +msgid "" +"Enables Gajim to automatically detected clients in a local network for " +"serverless chats" +msgstr "" +"Permite que o Gajim detecte clientes automaticamente em uma rede local para " +"chats sem servidor" + +#: gajim/gtk/features.py:108 +msgid "Requires: gir1.2-avahi-0.6" +msgstr "Requer: gir1.2-avahi-0.6" + +#: gajim/gtk/features.py:109 +#, python-format +msgid "Requires: pybonjour and bonjour SDK running (%(url)s)" +msgstr "Requer: pybonjour and bonjour SDK running (%(url)s)" + +#: gajim/gtk/features.py:112 +msgid "Location detection" +msgstr "Detecção de Localização" + +#: gajim/gtk/features.py:114 +msgid "" +"Enables Gajim to be location-aware, if the user decides to publish the " +"device’s location" +msgstr "" +"Permite que o Gajim reconheça a localização, se o usuário decidir publicar a " +"locação do dispositivo" + +#: gajim/gtk/features.py:116 +msgid "Requires: geoclue" +msgstr "Requer: geoclue" + +#: gajim/gtk/features.py:117 +msgid "Feature is not available under Windows" +msgstr "Recurso não disponível no Windows" + +#: gajim/gtk/features.py:119 +msgid "Notification Sounds" +msgstr "Sons de Notificação" + +#: gajim/gtk/features.py:121 +msgid "Enables Gajim to play sounds for various notifications" +msgstr "Permite que o Gajim toque sons para várias notificações" + +#: gajim/gtk/features.py:122 +msgid "Requires: gsound" +msgstr "Requer: gsound" + +#: gajim/gtk/features.py:125 +msgid "Secure Password Storage" +msgstr "Armazenamento seguro de senha" + +#: gajim/gtk/features.py:127 +msgid "" +"Enables Gajim to store Passwords securely instead of storing them in " +"plaintext" +msgstr "" +"Permite que o Gajim armazene senhas com segurança em vez de armazená-las em " +"texto sem formatação" + +#: gajim/gtk/features.py:129 +msgid "Requires: gnome-keyring or kwallet" +msgstr "Requer: gnome-keyring or kwallet" + +#: gajim/gtk/features.py:130 +msgid "Windows Credential Vault is used for secure password storage" +msgstr "O Windows Credential Vault é usado para armazenamento de senha seguro" + +#: gajim/gtk/features.py:133 +msgid "Spell Checker" +msgstr "Verificador ortográfico" + +#: gajim/gtk/features.py:135 +msgid "Enables Gajim to spell check your messages while composing" +msgstr "Permite que o Gajim verifique a ortografia enquanto digita" + +#: gajim/gtk/features.py:137 gajim/gtk/features.py:138 +msgid "Requires: Gspell" +msgstr "Requer: Gspell" + +#: gajim/gtk/features.py:140 +msgid "UPnP-IGD Port Forwarding" +msgstr "Desfio de porta UPnP-IGD" + +#: gajim/gtk/features.py:142 +msgid "" +"Enables Gajim to request your router to forward ports for file transfers" +msgstr "" +"Permite que o Gajim solicite ao seu roteador para redirecionar portas para " +"transferências de arquivos" + +#: gajim/gtk/features.py:144 +msgid "Requires: gir1.2-gupnpigd-1.0" +msgstr "Requer: gir1.2-gupnpigd-1.0" + +#: gajim/gtk/features.py:200 +msgid "Disabled in Preferences" +msgstr "Preferências desabilitadas" + +#: gajim/gtk/dialogs.py:55 gajim/gtk/filechoosers.py:179 +#: gajim/data/gui/groupchat_control.ui:674 +#: gajim/data/gui/groupchat_control.ui:766 +#: gajim/data/gui/groupchat_control.ui:882 +#: gajim/data/gui/groupchat_control.ui:974 +#: gajim/data/gui/groupchat_control.ui:1419 +#: gajim/data/gui/groupchat_control.ui:1545 +#: gajim/data/gui/groupchat_control.ui:1671 +#: gajim/data/gui/groupchat_control.ui:1842 +#: gajim/data/gui/groupchat_control.ui:1920 gajim/data/gui/filetransfers.ui:30 +#: gajim/data/gui/add_new_contact_window.ui:451 +#: gajim/data/gui/filetransfer_progress.ui:172 gajim/data/gui/profile.ui:260 +#: gajim/data/gui/passphrase_dialog.ui:29 +msgid "_Cancel" +msgstr "_Cancelar" + +#: gajim/gtk/dialogs.py:65 gajim/data/gui/history_manager.ui:20 +msgid "_Delete" +msgstr "_Excluir" + +#: gajim/gtk/dialogs.py:216 +msgid "Certificate" +msgstr "Certificado" + +#: gajim/gtk/dialogs.py:230 +#, python-format +msgid "" +"Certificate for \n" +"%s" +msgstr "" +"Certificado para\n" +"%s" + +#: gajim/gtk/dialogs.py:279 +msgid "Issued to\n" +msgstr "Emitido para\n" + +#: gajim/gtk/dialogs.py:280 gajim/gtk/dialogs.py:285 +msgid "Common Name (CN): " +msgstr "Nome comum (CN): " + +#: gajim/gtk/dialogs.py:281 gajim/gtk/dialogs.py:286 +msgid "Organization (O): " +msgstr "Organização (O): " + +#: gajim/gtk/dialogs.py:282 gajim/gtk/dialogs.py:287 +msgid "Organizational Unit (OU): " +msgstr "Unidade Organizacional (UA): " + +#: gajim/gtk/dialogs.py:283 +msgid "Serial Number: " +msgstr "Número do Ticket: " + +#: gajim/gtk/dialogs.py:284 +msgid "Issued by\n" +msgstr "Emitido por\n" + +#: gajim/gtk/dialogs.py:288 +msgid "Validity\n" +msgstr "Validade\n" + +#: gajim/gtk/dialogs.py:289 +msgid "Issued on: " +msgstr "Emitido em: " + +#: gajim/gtk/dialogs.py:290 +msgid "Expires on: " +msgstr "Expira em: " + +#: gajim/gtk/dialogs.py:291 +msgid "SHA-1:" +msgstr "SHA-1:" + +#: gajim/gtk/dialogs.py:293 +msgid "SHA-256:" +msgstr "SHA-256:" + +#: gajim/gtk/util.py:591 +msgid "Unknown Artist" +msgstr "Artista desconhecido" + +#: gajim/gtk/util.py:592 +msgid "Unknown Title" +msgstr "Título desconhecido" + +#: gajim/gtk/util.py:593 +msgid "Unknown Source" +msgstr "Fonte desconhecida" + +#: gajim/gtk/util.py:595 +#, python-format +msgid "" +"\"%(title)s\" by %(artist)s\n" +"from %(source)s" +msgstr "" +"\"%(title)s\" por %(artist)s\n" +"de %(source)s" + +#: gajim/gtk/profile.py:28 gajim/gtk/vcard_grid.py:33 +#: gajim/data/gui/vcard_information_window.ui:411 +msgid "Full Name" +msgstr "Nome completo" + +#: gajim/gtk/profile.py:29 gajim/gtk/vcard_grid.py:35 +#: gajim/data/gui/vcard_information_window.ui:770 +msgid "Birthday" +msgstr "Aniversário" + +#: gajim/gtk/profile.py:30 gajim/gtk/vcard_grid.py:36 +msgid "Gender" +msgstr "Gênero" + +#: gajim/gtk/profile.py:31 gajim/data/gui/groupchat_info_scrolled.ui:16 +msgid "Address" +msgstr "Endereço" + +#: gajim/gtk/profile.py:34 gajim/gtk/vcard_grid.py:38 +#: gajim/data/gui/vcard_information_window.ui:720 +#: gajim/data/gui/vcard_information_window.ui:1396 +msgid "Phone No." +msgstr "Telefone." + +#: gajim/gtk/profile.py:35 +msgid "?profile:Organisation" +msgstr "?profile:Organização" + +#: gajim/gtk/profile.py:36 gajim/gtk/vcard_grid.py:41 +msgid "?profile:Title" +msgstr "?profile:Título" + +#: gajim/gtk/profile.py:37 gajim/gtk/vcard_grid.py:42 +msgid "?profile:Role" +msgstr "?profile:Papel" + +#: gajim/gtk/profile.py:38 gajim/gtk/vcard_grid.py:45 +msgid "URL" +msgstr "URL" + +#: gajim/gtk/profile.py:39 gajim/gtk/vcard_grid.py:46 +msgid "?profile:Key" +msgstr "?profile:Chave" + +#: gajim/gtk/profile.py:299 gajim/gtk/profile.py:301 +#: gajim/data/gui/profile.ui:98 gajim/data/gui/profile.ui:110 +msgid "Everyone" +msgstr "Todos" + +#: gajim/gtk/profile.py:299 gajim/gtk/profile.py:301 +#: gajim/data/gui/shortcuts_window.ui:108 gajim/data/gui/groupchat_invite.ui:83 +msgid "Contacts" +msgstr "Contatos" + +#: gajim/gtk/filechoosers.py:88 +msgid "Choose File to Send…" +msgstr "Escolha o Arquivo para Enviar…" + +#: gajim/gtk/filechoosers.py:94 +msgid "Choose Avatar…" +msgstr "Escolha um Avatar…" + +#: gajim/gtk/filechoosers.py:98 +msgid "PNG files" +msgstr "Arquivos PNG" + +#: gajim/gtk/filechoosers.py:99 +msgid "JPEG files" +msgstr "Arquivos JPEG" + +#: gajim/gtk/filechoosers.py:100 +msgid "SVG files" +msgstr "Arquivos SVG" + +#: gajim/gtk/filechoosers.py:102 +msgid "Images" +msgstr "Imagens" + +#: gajim/gtk/filechoosers.py:139 +msgid "Choose Archive" +msgstr "Escolha Arquivo" + +#: gajim/gtk/filechoosers.py:141 +msgid "ZIP files" +msgstr "Ficheiros ZIP" + +#: gajim/gtk/filechoosers.py:146 +msgid "Save File as…" +msgstr "Salvar Arquivo como…" + +#: gajim/gtk/filechoosers.py:180 +msgid "_Open" +msgstr "_Abrir" + +#: gajim/gtk/blocking.py:38 +#, python-format +msgid "Blocking List for %s" +msgstr "Lista de bloqueio para %s" + +#: gajim/gtk/blocking.py:64 +msgid "Error!" +msgstr "Erro!" + +#: gajim/gtk/service_registration.py:143 gajim/gtk/service_registration.py:157 +#: gajim/gtk/service_registration.py:164 +msgid "Register" +msgstr "Registrar" + +#: gajim/gtk/service_registration.py:193 gajim/gtk/service_registration.py:205 +msgid "Registration successful" +msgstr "Registro bem sucedido" + +#: gajim/gtk/service_registration.py:216 +msgid "Registration failed" +msgstr "Falha ao registrar" + +#: gajim/gtk/vcard_grid.py:37 +msgid "?profile:Address" +msgstr "?profile:Endereço" + +#: gajim/gtk/vcard_grid.py:40 +msgid "IM Address" +msgstr "Endereço de MI" + +#: gajim/gtk/vcard_grid.py:43 +msgid "Organisation" +msgstr "Organização" + +#: gajim/gtk/vcard_grid.py:44 +msgid "?profile:Note" +msgstr "?profile:Nota" + +#: gajim/gtk/vcard_grid.py:51 +msgid "Your public key or authentication certificate" +msgstr "Sua chave pública ou certificado de autenticação" + +#: gajim/gtk/vcard_grid.py:59 +msgid "Post Office Box" +msgstr "Caixa Postal" + +#: gajim/gtk/vcard_grid.py:60 gajim/data/gui/vcard_information_window.ui:489 +#: gajim/data/gui/vcard_information_window.ui:1179 +msgid "Street" +msgstr "Rua" + +#: gajim/gtk/vcard_grid.py:61 +msgid "Extended Address" +msgstr "Endereço Complemento" + +#: gajim/gtk/vcard_grid.py:62 gajim/data/gui/vcard_information_window.ui:505 +#: gajim/data/gui/vcard_information_window.ui:1195 +msgid "City" +msgstr "Cidade" + +#: gajim/gtk/vcard_grid.py:63 gajim/data/gui/vcard_information_window.ui:521 +#: gajim/data/gui/vcard_information_window.ui:1211 +msgid "State" +msgstr "Estado" + +#: gajim/gtk/vcard_grid.py:64 gajim/data/gui/vcard_information_window.ui:595 +#: gajim/data/gui/vcard_information_window.ui:1244 +msgid "Postal Code" +msgstr "Código postal" + +#: gajim/gtk/vcard_grid.py:65 gajim/data/gui/vcard_information_window.ui:611 +#: gajim/data/gui/vcard_information_window.ui:1260 +msgid "Country" +msgstr "País" + +#: gajim/gtk/vcard_grid.py:111 +msgid "Male" +msgstr "Masculino" + +#: gajim/gtk/vcard_grid.py:112 +msgid "Female" +msgstr "Feminino" + +#: gajim/gtk/vcard_grid.py:113 +msgid "?Gender:Other" +msgstr "?Gender:Outro" + +#: gajim/gtk/vcard_grid.py:114 +msgid "?Gender:None" +msgstr "?Gênero:Nenhum" + +#: gajim/gtk/vcard_grid.py:121 gajim/gtk/vcard_grid.py:428 +msgid "Home" +msgstr "Casa" + +#: gajim/gtk/vcard_grid.py:122 gajim/gtk/vcard_grid.py:429 +#: gajim/data/gui/vcard_information_window.ui:1452 +msgid "Work" +msgstr "Trabalho" + +#: gajim/gtk/vcard_grid.py:598 +msgid "YYYY-MM-DD" +msgstr "AAAA-MM-DD" + +#: gajim/gtk/adhoc.py:91 +msgid "Finish" +msgstr "Terminar" + +#: gajim/gtk/adhoc.py:96 gajim/gtk/adhoc.py:283 +msgid "Commands" +msgstr "Comandos" + +#: gajim/gtk/adhoc.py:107 +msgid "Previous" +msgstr "Anterior" + +#: gajim/gtk/adhoc.py:112 +msgid "Execute" +msgstr "Executar" + +#: gajim/gtk/adhoc.py:196 +msgid "No commands available" +msgstr "Sem comandos disponíveis" + +#: gajim/gtk/adhoc.py:244 +msgid "Request Command List" +msgstr "Requisitar lista de comandos" + +#: gajim/gtk/adhoc.py:259 +msgid "Executing…" +msgstr "Executando…" + +#: gajim/gtk/adhoc.py:266 +msgid "Command List" +msgstr "Lista de Comandos" + +#: gajim/gtk/adhoc.py:321 gajim/data/gui/manage_proxies.ui:255 +msgid "Settings" +msgstr "Configurações" + +#: gajim/gtk/adhoc.py:386 +msgid "Finished" +msgstr "Finalizado" + +#: gajim/gtk/adhoc.py:455 +msgid "Execution failed" +msgstr "Execução falhou" + +#: gajim/common/jingle_rtp.py:133 +#, python-format +msgid "%s configuration error" +msgstr "%s erro de configuração" + +#: gajim/common/jingle_rtp.py:134 +#, python-format +msgid "" +"Couldn’t set up %(text)s. Check your configuration.\n" +"Pipeline:\n" +"%(pipeline)s\n" +"Error:\n" +"%(error)s" +msgstr "" +"Não foi possível configurar %(text)s. Verifique a sua configuração.\n" +"Pipeline foi:\n" +"%(pipeline)s\n" +"Erro foi:\n" +"%(error)s" + +#: gajim/common/jingle_rtp.py:416 +msgid "audio input" +msgstr "entrada de áudio" + +#: gajim/common/jingle_rtp.py:421 +msgid "audio output" +msgstr "saída de áudio" + +#: gajim/common/jingle_rtp.py:489 +msgid "video input" +msgstr "entrada de vídeo" + +#: gajim/common/setting_values.py:300 gajim/common/config.py:356 +#: gajim/common/const.py:387 +msgid "Sleeping" +msgstr "Dormindo" + +#: gajim/common/setting_values.py:301 +msgid "ZZZZzzzzzZZZZZ" +msgstr "ZZZZzzzzzZZZZZ" + +#: gajim/common/setting_values.py:306 gajim/common/config.py:357 +msgid "Back soon" +msgstr "Volto logo" + +#: gajim/common/setting_values.py:307 gajim/common/config.py:357 +msgid "Back in some minutes." +msgstr "Volto em alguns minutos." + +#: gajim/common/setting_values.py:309 gajim/common/config.py:358 +#: gajim/common/const.py:353 +msgid "Eating" +msgstr "Comendo" + +#: gajim/common/setting_values.py:310 +msgid "I’m eating." +msgstr "Estou comendo." + +#: gajim/common/setting_values.py:314 gajim/common/config.py:359 +msgid "Movie" +msgstr "Filme" + +#: gajim/common/setting_values.py:315 +msgid "I’m watching a movie." +msgstr "Estou assistindo um filme." + +#: gajim/common/setting_values.py:319 gajim/common/config.py:360 +#: gajim/common/const.py:420 +msgid "Working" +msgstr "Trabalhando" + +#: gajim/common/setting_values.py:320 +msgid "I’m working." +msgstr "Estou trabalhando." + +#: gajim/common/setting_values.py:324 gajim/common/config.py:362 +msgid "Out" +msgstr "Estou fora" + +#: gajim/common/setting_values.py:325 +msgid "I’m out enjoying life." +msgstr "Estou fora curtindo a vida." + +#: gajim/common/setting_values.py:393 gajim/common/config.py:84 +msgid "" +"Allow to hide the contact list window even if the notification area icon is " +"not shown." +msgstr "" +"Permita ocultar a janela da lista de contatos, mesmo que o ícone da área de " +"notificação não seja mostrado." + +#: gajim/common/setting_values.py:394 gajim/common/config.py:95 +msgid "" +"'always' - print time for every message.\n" +"'sometimes' - print time every print_ichat_every_foo_minutes minute.\n" +"'never' - never print time." +msgstr "" +"'sempre' - exibir hora para cada mensagem.\n" +"'às vezes' - exibir hora a cada print_ichat_every_foo_minutes minutos.\n" +"'nunca' - nunca exibir a hora." + +#: gajim/common/setting_values.py:395 gajim/common/config.py:99 +msgid "Treat * / _ pairs as possible formatting characters." +msgstr "Aproveite os pare * /_ como caracteres de formatação." + +#: gajim/common/setting_values.py:396 gajim/common/config.py:100 +msgid "" +"If enabled, do not remove */_ . So *abc* will be bold but with * * not " +"removed." +msgstr "" +"Se ativado, não remove o */_. Assim *ABC* será negrito mas com * * não " +"removido." + +#: gajim/common/setting_values.py:397 gajim/common/config.py:103 +msgid "" +"Character to add after nickname when using nickname completion (tab) in " +"group chat." +msgstr "" +"Caractere a adicionar após o apelido quando se estiver usando o recurso de " +"completar apelido (tecla Tab) na conversa em grupo." + +#: gajim/common/setting_values.py:398 gajim/common/config.py:125 +msgid "" +"If enabled, Gajim will save the contact list window position when hiding it, " +"and restore it when showing the contact list window again." +msgstr "" +"Se ativado, Gajim salvará a posição da janela da lista de contatos ao " +"escondê-la e restaurá-la-á ao mostrar a janela da lista de contatos " +"novamente." + +#: gajim/common/setting_values.py:399 gajim/common/config.py:131 +msgid "Place the contact list on the right in single window mode" +msgstr "Coloque a lista de contatos à direita no modo de janela única" + +#: gajim/common/setting_values.py:400 gajim/common/config.py:137 +msgid "" +"This option lets you customize the timestamp that is printed in " +"conversation. For example '[%H:%M] ' will show '[hour:minute] '. See python " +"doc on strftime for full documentation (https://docs.python.org/3/library/" +"time.html#time.strftime)." +msgstr "" +"Esta opção permite personalizar o carimbo de data/hora que é exibido na " +"conversa. Por exemplo: '[%H:%M]' exibirá '[hora:minuto]'. Procure por " +"strftime na documentação do Python para mais detalhes (http://docs.python." +"org/3/libray/time.html)." + +#: gajim/common/setting_values.py:401 gajim/common/config.py:138 +msgid "Characters that are printed before the nickname in conversations." +msgstr "Caracteres que são exibidos antes do apelido nas conversas." + +#: gajim/common/setting_values.py:402 gajim/common/config.py:139 +msgid "Characters that are printed after the nickname in conversations." +msgstr "Caracteres que são exibidos após o apelido nas conversas." + +#: gajim/common/setting_values.py:403 gajim/common/config.py:140 +msgid "If enabled, Gajim will add * and [n] in contact list window title." +msgstr "" +"Se ativado, Gajim adicionará * e [n] no título da janela da lista de " +"contatos." + +#: gajim/common/setting_values.py:404 gajim/common/config.py:141 +msgid "" +"Number of messages from chat history to be restored when a chat tab/window " +"is reopened." +msgstr "" +"Número de mensagens do histórico a serem restauradas quando a janela ou aba " +"da conversa é reaberta." + +#: gajim/common/setting_values.py:405 gajim/common/config.py:142 +msgid "" +"How far back in time (minutes) chat history is restored. -1 means no limit." +msgstr "" +"Quanto tempo atrás (minutos) o histórico de conversa é restaurado. -1 " +"significa que não há limite." + +#: gajim/common/setting_values.py:406 gajim/common/config.py:143 +msgid "Send message on Ctrl+Enter and make a new line with Enter." +msgstr "Enviar a mensagem com Ctrl+Enter e criar uma nova linha com Enter." + +#: gajim/common/setting_values.py:407 gajim/common/config.py:145 +msgid "How many lines to store for Ctrl+KeyUP (previously sent messages)." +msgstr "" +"Quantas linhas armazenar com Ctrl+Acima (mensagens enviadas anteriormente)." + +#: gajim/common/setting_values.py:409 gajim/common/config.py:148 +#, python-format +msgid "" +"Either a custom URL with %%s in it (where %%s is the word/phrase) or " +"'WIKTIONARY' (which means use Wikitionary)." +msgstr "" +"Uma URL personalizada com %%s (onde %%s é a palavra/frase) ou " +"'WIKTIONARY' (que significa: use o Wikitionary)." + +#: gajim/common/setting_values.py:412 gajim/common/config.py:151 +msgid "If checked, Gajim can be controlled remotely using gajim-remote." +msgstr "" +"Se verificado, Gajim pode ser remotamente controlado usando gajim-remoto." + +#: gajim/common/setting_values.py:413 +msgid "" +"When not printing time for every message ('print_time'==sometimes, print it " +"every x minutes." +msgstr "" +"Quando não estiver exibindo a hora para cada mensagem " +"('print_time'==sometimes), exibi-lo a cada x minutos." + +#: gajim/common/setting_values.py:414 gajim/common/config.py:153 +msgid "Ask before pasting an image." +msgstr "Perguntar antes de colar uma imagem." + +#: gajim/common/setting_values.py:415 gajim/common/config.py:154 +msgid "Ask before closing a group chat tab/window." +msgstr "Perguntar antes de fechar um aba ou janela de conferência." + +#: gajim/common/setting_values.py:416 gajim/common/config.py:155 +msgid "" +"Ask before closing tabbed chat window if there are chats that can lose data " +"(chat, private chat, group chat that will not be minimized)." +msgstr "" +"Perguntar antes de fechar uma janela de conversa se ela puder perder dados " +"(conversa, conversa privada, conferências que não podem ser minimizadas)." + +#: gajim/common/setting_values.py:418 gajim/common/config.py:158 +msgid "" +"List of send hosts (comma separated) in addition to local interfaces for " +"file transfers (in case of address translation/port forwarding)." +msgstr "" +"Lista de hosts de envio (separados por vírgula), além de interfaces locais, " +"para transferência de arquivo no caso de tradução de endereço/encaminhamento " +"de porta." + +#: gajim/common/setting_values.py:419 gajim/common/config.py:159 +msgid "IEC standard says KiB = 1024 bytes, KB = 1000 bytes." +msgstr "Padrão da IEC diz que KiB = 1024 bytes e KB = 1000 bytes." + +#: gajim/common/setting_values.py:421 gajim/common/config.py:161 +msgid "Notify of events in the notification area." +msgstr "Notificar eventos no ícone da bandeja do sistema." + +#: gajim/common/setting_values.py:422 gajim/common/config.py:166 +msgid "Show tab when only one conversation?" +msgstr "Exibir aba quando tiver apenas uma conversa?" + +#: gajim/common/setting_values.py:423 gajim/common/config.py:167 +msgid "Show tabbed notebook border in chat windows?" +msgstr "Exibir borda de caderno tabulada nas janelas de conversa?" + +#: gajim/common/setting_values.py:424 gajim/common/config.py:168 +msgid "Show close button in tab?" +msgstr "Exibir botão de fechar na aba?" + +#: gajim/common/setting_values.py:425 gajim/common/config.py:169 +msgid "Preview new messages in notification popup?" +msgstr "Pré-visualizar novas mensagens em uma janela popup?" + +#: gajim/common/setting_values.py:426 gajim/common/config.py:172 +msgid "" +"A list of words (semicolon separated) that will be highlighted in group " +"chats." +msgstr "" +"Uma lista separada por ponto-e-vírgula das palavras que serão destacadas nas " +"conversas em grupo." + +#: gajim/common/setting_values.py:427 gajim/common/config.py:174 +msgid "" +"If enabled, Gajim hides the contact list window when pressing the X button " +"instead of minimizing into the notification area." +msgstr "" +"Se ativado, Gajim esconde a janela da lista de contatos ao pressionar o " +"botão X em vez de minimizar na área de notificação." + +#: gajim/common/setting_values.py:432 gajim/common/config.py:181 +msgid "" +"Define the position of avatars in the contact list. Can be 'left' or 'right'." +msgstr "" +"Define a posição dos avatares na lista de contatos. Pode ser 'esquerda' ou " +"'direita'." + +#: gajim/common/setting_values.py:433 gajim/common/config.py:186 +msgid "Don't show contact list window in the system taskbar." +msgstr "Não exibir a lista de contatos na bandeja do sistema." + +#: gajim/common/setting_values.py:434 gajim/common/config.py:187 +msgid "" +"If enabled, Gajim makes the window flash (the default behaviour in most " +"Window Managers) when holding pending events." +msgstr "" +"Se ativado, o Gajim faz a janela piscar (comportamento padrão da maioria dos " +"gerenciadores de janelas) ao manter eventos pendentes." + +#: gajim/common/setting_values.py:436 gajim/common/config.py:193 +msgid "If enabled, pressing Esc closes a tab/window." +msgstr "Se habilitado, pressionar Esc fecha uma guia / janela." + +#: gajim/common/setting_values.py:437 gajim/common/config.py:194 +msgid "Hides the banner in a group chat window." +msgstr "Esconder o banner na janela de conferência." + +#: gajim/common/setting_values.py:438 gajim/common/config.py:195 +msgid "Hides the banner in a 1:1 chat window." +msgstr "Esconder o banner em uma janela chat de 1:1." + +#: gajim/common/setting_values.py:439 gajim/common/config.py:196 +msgid "Hides the group chat participants list in a group chat window." +msgstr "" +"Esconde a lista de participantes do chat em grupo em uma janela de chat em " +"grupo." + +#: gajim/common/setting_values.py:440 gajim/common/config.py:197 +msgid "" +"In a chat, show the nickname at the beginning of a line only when it's not " +"the same person talking as in the previous message." +msgstr "" +"Em um chat, mostra o apelido no início de uma linha somente quando não for a " +"mesma pessoa falando na mensagem anterior." + +#: gajim/common/setting_values.py:441 gajim/common/config.py:198 +msgid "Indentation when using merge consecutive nickname." +msgstr "Usar identação ao mesclar apelidos consecutivos." + +#: gajim/common/setting_values.py:442 gajim/common/config.py:199 +msgid "" +"Ctrl+Tab switches to the next composing tab when there are no tabs with " +"messages pending." +msgstr "" +"Ctrl + Tab alterna para a próxima guia de composição quando não houver guias " +"com mensagens pendentes." + +#: gajim/common/setting_values.py:443 gajim/common/config.py:200 +msgid "" +"Show a confirmation dialog to create metacontacts? Empty string means never " +"show the dialog." +msgstr "" +"Mostrar uma caixa de diálogo de confirmação para criar metacontatos? String " +"vazia significa nunca mostrar a caixa de diálogo." + +#: gajim/common/setting_values.py:444 gajim/common/config.py:201 +msgid "" +"Show a confirmation dialog to block a contact? Empty string means never show " +"the dialog." +msgstr "" +"Mostrar uma caixa de diálogo de confirmação para bloquear um contato? String " +"vazia significa nunca mostrar a caixa de diálogo." + +#: gajim/common/setting_values.py:445 gajim/common/config.py:202 +msgid "" +"If enabled, you will be able to set a negative priority to your account in " +"the Accounts window. BE CAREFUL, when you are logged in with a negative " +"priority, you will NOT receive any message from your server." +msgstr "" +"Se habilitado, você poderá botar uma prioridade negativa para a sua conta na " +"janela de modificação de conta. CUIDADO, quando você estiver autenticado com " +"uma prioridade negativa, você NÃO receberá nenhuma mensagem do seu servidor." + +#: gajim/common/setting_values.py:446 gajim/common/config.py:203 +msgid "" +"If enabled, Gajim will show both the number of online and total contacts in " +"account rows as well as in group rows." +msgstr "" +"Se habilitado, o Gajim exibirá tanto número de contatos online quanto o " +"total em fileiras de conta e de grupo." + +#: gajim/common/setting_values.py:447 gajim/common/config.py:204 +msgid "" +"If enabled, Gajim will scroll and select the contact who sent you the last " +"message, if the chat window is not already opened." +msgstr "" +"Se habilitado, o Gajim irá rolar e selecionar o contato que lhe enviou a " +"última mensagem, se a janela de conversa ainda não estiver aberta." + +#: gajim/common/setting_values.py:448 gajim/common/config.py:205 +msgid "Time of inactivity needed before the change status window closes down." +msgstr "" +"O tempo de inatividade necessário antes de fechar a janela de alteração de " +"status." + +#: gajim/common/setting_values.py:449 gajim/common/config.py:206 +msgid "" +"Maximum number of lines that are printed in conversations. Oldest lines are " +"cleared." +msgstr "" +"Número máximo de linhas que são exibidas em conversações. As linhas mais " +"antigas são apagadas." + +#: gajim/common/setting_values.py:450 gajim/common/config.py:208 +msgid "" +"If enabled, completion in group chats will be like a shell auto-completion." +msgstr "" +"Se habilitado, a ação de auto-completar na conferência será como a do shell." + +#: gajim/common/setting_values.py:451 gajim/common/config.py:217 +msgid "" +"If enabled, Gajim will try to use a STUN server when using Jingle. The one " +"in 'stun_server' option, or the one given by the XMPP server." +msgstr "" +"Se habilitado, Gajim tentará usar um servidor STUN ao usar jingle. O da " +"opção \"stun_server\", ou o dado pelo servidor XMPP." + +#: gajim/common/setting_values.py:452 gajim/common/config.py:218 +msgid "STUN server to use when using Jingle" +msgstr "Servidor STUN para usar ao usar Jingle" + +#: gajim/common/setting_values.py:453 gajim/common/config.py:220 +msgid "If enabled, Gajim will ignore incoming attention requests ('wizz')." +msgstr "" +"Se habilitado, o Gajim ignorará os pedidos de atenção recebidos ('wizz')." + +#: gajim/common/setting_values.py:454 gajim/common/config.py:221 +msgid "" +"If enabled, Gajim will reopen chat windows that were opened last time Gajim " +"was closed." +msgstr "" +"Se habilitado, o Gajim reabrirá as janelas de bate-papo que estavam abertas " +"da última vez que o Gajim foi fechado." + +#: gajim/common/setting_values.py:455 gajim/common/config.py:224 +msgid "If enabled, Gajim will execute XEP-0146 Commands." +msgstr "Se ativado, o Gajim executará os Comandos XEP-0146." + +#: gajim/common/setting_values.py:458 gajim/common/config.py:236 +msgid "API Preferences. Possible values: 'http', 'iq'" +msgstr "Preferências de api. Valores possíveis: 'http', 'iq'" + +#: gajim/common/setting_values.py:459 gajim/common/config.py:237 +msgid "If enabled, Gajim will execute commands (/show, /sh, /execute, /exec)." +msgstr "Se habilitado, o Gajim executará comandos (/show, /sh, /execute,/exec)." + +#: gajim/common/setting_values.py:460 gajim/common/config.py:238 +msgid "Width of group chat roster in pixel" +msgstr "Largura da lista do grupo de bate-papo em pixel" + +#: gajim/common/setting_values.py:461 gajim/common/config.py:239 +msgid "Force Bookmark 2 usage" +msgstr "Força o uso de Bookmark versão 2" + +#: gajim/common/multimedia_helpers.py:51 +msgid "Default device" +msgstr "Dispositivo padrão" + +#: gajim/common/multimedia_helpers.py:72 +msgid "Audio test" +msgstr "Teste de Áudio" + +#: gajim/common/multimedia_helpers.py:75 gajim/common/multimedia_helpers.py:91 +#: gajim/common/multimedia_helpers.py:105 +msgid "Autodetect" +msgstr "Auto-Detectar" + +#: gajim/common/multimedia_helpers.py:78 gajim/common/multimedia_helpers.py:93 +#, python-format +msgid "ALSA: %s" +msgstr "ALSA: %s" + +#: gajim/common/multimedia_helpers.py:81 gajim/common/multimedia_helpers.py:95 +#, python-format +msgid "Pulse: %s" +msgstr "Pulse: %s" + +#: gajim/common/multimedia_helpers.py:89 +msgid "Fake audio output" +msgstr "Saída de áudio falso" + +#: gajim/common/multimedia_helpers.py:102 +msgid "Video test" +msgstr "Teste de vídeo" + +#: gajim/common/multimedia_helpers.py:107 +msgid "Pipewire" +msgstr "Pipewire" + +#: gajim/common/multimedia_helpers.py:109 +#, python-format +msgid "V4L2: %s" +msgstr "V4L2: %s" + +#: gajim/common/multimedia_helpers.py:111 +msgid "X11" +msgstr "X11" + +#: gajim/common/multimedia_helpers.py:113 +msgid "Windows" +msgstr "Windows" + +#: gajim/common/multimedia_helpers.py:115 +msgid "macOS" +msgstr "macOS" + +#: gajim/common/helpers.py:176 +msgid "_Busy" +msgstr "_Ocupado" + +#: gajim/common/helpers.py:178 +msgid "Busy" +msgstr "Ocupado" + +#: gajim/common/helpers.py:181 +msgid "_Not Available" +msgstr "_Não disponível" + +#: gajim/common/helpers.py:183 +msgid "Not Available" +msgstr "Não disponível" + +#: gajim/common/helpers.py:186 +msgid "_Free for Chat" +msgstr "Livre para _conversa" + +#: gajim/common/helpers.py:188 +msgid "Free for Chat" +msgstr "Livre para conversa" + +#: gajim/common/helpers.py:191 +msgid "?user status:_Available" +msgstr "?user status:_Disponível" + +#: gajim/common/helpers.py:193 +msgid "?user status:Available" +msgstr "?user status:Disponível" + +#: gajim/common/helpers.py:195 +msgid "Connecting" +msgstr "Conectando" + +#: gajim/common/helpers.py:198 +msgid "A_way" +msgstr "_Afastado" + +#: gajim/common/helpers.py:203 +msgid "_Offline" +msgstr "_Desconectado" + +#: gajim/common/helpers.py:205 +msgid "Offline" +msgstr "Desconectado" + +#: gajim/common/helpers.py:209 +msgid "?contact has status:Unknown" +msgstr "?contato tem status:Desconhecido" + +#: gajim/common/helpers.py:211 +msgid "?contact has status:Has errors" +msgstr "?contato tem status:Com erros" + +#: gajim/common/helpers.py:216 +msgid "?Subscription we already have:None" +msgstr "?Inscrição existente:Nenhuma" + +#: gajim/common/helpers.py:218 +msgid "To" +msgstr "Para" + +#: gajim/common/helpers.py:220 gajim/data/gui/groups_post_window.ui:33 +msgid "From" +msgstr "De" + +#: gajim/common/helpers.py:222 +msgid "Both" +msgstr "Ambos" + +#: gajim/common/helpers.py:230 +msgid "?Ask (for Subscription):None" +msgstr "?Pergunta (para inscrição):Nenhuma" + +#: gajim/common/helpers.py:232 +msgid "Subscribe" +msgstr "Inscrever" + +#: gajim/common/helpers.py:244 +msgid "?Group Chat Contact Role:None" +msgstr "?Regra do contato para conversa em grupo:Nenhuma" + +#: gajim/common/helpers.py:247 +msgid "Moderators" +msgstr "Moderadores" + +#: gajim/common/helpers.py:249 +msgid "Moderator" +msgstr "Moderador" + +#: gajim/common/helpers.py:252 gajim/data/gui/groupchat_info_scrolled.ui:182 +msgid "Participants" +msgstr "Participantes" + +#: gajim/common/helpers.py:254 +msgid "Participant" +msgstr "Participante" + +#: gajim/common/helpers.py:257 +msgid "Visitors" +msgstr "Visitantes" + +#: gajim/common/helpers.py:259 +msgid "Visitor" +msgstr "Visitante" + +#: gajim/common/helpers.py:268 +msgid "?Group Chat Contact Affiliation:None" +msgstr "?Filiação do contato de conferência:Nenhuma" + +#: gajim/common/helpers.py:271 +msgid "Owners" +msgstr "Proprietários" + +#: gajim/common/helpers.py:273 gajim/data/gui/groupchat_config.ui:32 +msgid "Owner" +msgstr "Dono" + +#: gajim/common/helpers.py:276 +msgid "Administrators" +msgstr "Administradores" + +#: gajim/common/helpers.py:278 +msgid "Administrator" +msgstr "Administrador" + +#: gajim/common/helpers.py:281 +msgid "Members" +msgstr "Membros" + +#: gajim/common/helpers.py:320 +msgid "is paying attention to the conversation" +msgstr "está prestando a atenção na conversa" + +#: gajim/common/helpers.py:322 +msgid "is doing something else" +msgstr "está fazendo outra coisa" + +#: gajim/common/helpers.py:324 +msgid "is composing a message…" +msgstr "está digitando…" + +#: gajim/common/helpers.py:327 +msgid "paused composing a message" +msgstr "parou de digitar" + +#: gajim/common/helpers.py:329 +msgid "has closed the chat window or tab" +msgstr "fechou a janela de conversa ou aba" + +#: gajim/common/helpers.py:719 gajim/common/helpers.py:727 +#, python-format +msgid "%d message pending" +msgid_plural "%d messages pending" +msgstr[0] "%d mensagem pendente" +msgstr[1] "%d mensagens pendentes" + +#: gajim/common/helpers.py:736 +#, python-format +msgid "from group chat %s" +msgstr "do chat em grupo %s" + +#: gajim/common/helpers.py:739 gajim/common/helpers.py:760 +#, python-format +msgid "from user %s" +msgstr "do usuário %s" + +#: gajim/common/helpers.py:741 +#, python-format +msgid "from %s" +msgstr "de %s" + +#: gajim/common/helpers.py:747 gajim/common/helpers.py:755 +#, python-format +msgid "%d event pending" +msgid_plural "%d events pending" +msgstr[0] "%d evento pendente" +msgstr[1] "%d eventos pendentes" + +#: gajim/common/helpers.py:828 gajim/data/gui/add_new_contact_window.ui:20 +msgid "I would like to add you to my contact list." +msgstr "Por favor, eu gostaria de adicioná-lo à minha lista." + +#: gajim/common/helpers.py:830 +msgid "Hello, I am $name." +msgstr "Olá, eu sou $name." + +#: gajim/common/config.py:71 +msgid "Play sound even when being busy." +msgstr "Tocar som mesmo quando estiver ocupado." + +#: gajim/common/config.py:73 +msgid "Show only online and free for chat contacts in the contact list." +msgstr "Exibir somente contatos disponíveis e livres para conversa na lista." + +#: gajim/common/config.py:76 +msgid "Time in minutes, after which your status changes to away." +msgstr "Tempo em minutos, depois do qual seu status muda para a afastado." + +#: gajim/common/config.py:77 +msgid "$S (Away: Idle more than $T min)" +msgstr "$S (Afastado em consequência de estar inativo há mais de $T min)" + +#: gajim/common/config.py:77 +msgid "" +"$S will be replaced by current status message, $T by the 'autoawaytime' " +"value." +msgstr "" +"$S será substituída pela mensagem de estado atual, $T pelo tempo de ausência " +"automática." + +#: gajim/common/config.py:79 +msgid "Time in minutes, after which your status changes to not available." +msgstr "Tempo em minutos, depois do qual seu status muda para não disponível." + +#: gajim/common/config.py:80 +msgid "$S (Not available: Idle more than $T min)" +msgstr "$S (Não disponível em consequência de estar inativo há mais de $T min)" + +#: gajim/common/config.py:80 +msgid "" +"$S will be replaced by current status message, $T by the 'autoxatime' value." +msgstr "" +"$S será substituída pela mensagem de estado atual, $T pelo tempo de " +"indisponibilidade automática." + +#: gajim/common/config.py:83 +msgid "" +"When to show the notification area icon. Can be 'never', 'on_event', and " +"'always'." +msgstr "" +"Quando exibir um ícone na área de notificação. Pode ser 'nunca', com " +"'eventos' e 'sempre'." + +#: gajim/common/config.py:87 +msgid "" +"List of rows (accounts and groups) that are collapsed (space separated)." +msgstr "" +"Lista de fileiras (separada por espaços) que estão recolhidas (contas e " +"grupos)." + +#: gajim/common/config.py:94 gajim/common/config.py:335 +#: gajim/common/config.py:342 +msgid "Language used for spell checking." +msgstr "Idioma usado pelo corretor ortográfico." + +#: gajim/common/config.py:97 +msgid "When enabled, ASCII emojis will be converted to graphical emojis." +msgstr "Quando ativado, emojis ASCII serão convertidos em emojis gráficos." + +#: gajim/common/config.py:152 +msgid "" +"When not printing time for every message ('print_time'==sometimes), print it " +"every x minutes." +msgstr "" +"Quando não estiver exibindo a hora para cada mensagem " +"('print_time'==sometimes), exibi-lo a cada x minutos." + +#: gajim/common/config.py:173 +msgid "" +"If enabled, Gajim quits when clicking the X button of your Window Manager. " +"This setting is taken into account only if the notification area icon is " +"used." +msgstr "" +"Se ativado, o Gajim sairá quando o botão sair da janela for clicado. Esta " +"opção só faz sentido quando a opção de ícone na bandeja do sistema está " +"sendo usada." + +#: gajim/common/config.py:175 +msgid "" +"If enabled, Gajim will display the status message (if not empty) underneath " +"the contact name in the contact list window." +msgstr "" +"Se ativado, o Gajim indicará a mensagem de estado, se não estiver vazia, sob " +"o nome de cada contato na lista de contatos." + +#: gajim/common/config.py:182 +msgid "" +"If disabled, Gajim will no longer print status messages in chats when a " +"contact changes their status (and/or their status message)." +msgstr "" +"Se desativado, Gajim não exibirá mensagens de estado nas conversas quando um " +"contato alterar seu estado e/ou sua mensagem de estado." + +#: gajim/common/config.py:183 +msgid "" +"Default Setting: Show a status message for every join or leave in a group " +"chat." +msgstr "" +"Configuração Padrão: Mostrar mensagem de estado toda vez quando alguém " +"entrar ou sair da conversa em grupo." + +#: gajim/common/config.py:184 +msgid "" +"Default Setting: Show a status message for all status changes (away, dnd, " +"etc.) of users in a group chat." +msgstr "" +"Configuração Padrão: Mostrar mensagem de estado para toda mudança de " +"presença (ausente, não perturbe...) de usuários na conversa em grupo." + +#: gajim/common/config.py:191 +msgid "" +"Controls the window where new messages are placed.\n" +"'always' - All messages are sent to a single window.\n" +"'always_with_roster' - Like 'always' but the messages are in a single window " +"along with the contact list.\n" +"'never' - All messages get their own window.\n" +"'peracct' - Messages for each account are sent to a specific window.\n" +"'pertype' - Each message type (e.g. chats vs. group chats) is sent to a " +"specific window." +msgstr "" +"Controla a janela onde novas mensagens são colocadas.\n" +"'always' - Todas as mensagens são enviadas para uma única janela.\n" +"'always_with_roster' - Tal como 'always' mas as mensagens estão em uma " +"janela unica com a lista de contatos.\n" +"'never' - Todas as mensagens recebem sua própria janela.\n" +"'peracct' - As mensagens para cada conta são enviadas a uma janela " +"específica.\n" +"'pertype' - Cada tipo de mensagem (ex. chats vs. chats em grupo) são " +"enviadas para uma janela específica." + +#: gajim/common/config.py:192 +msgid "" +"Show contact list window on startup.\n" +"'always' - Always show contact list window.\n" +"'never' - Never show contact list window.\n" +"'last_state' - Restore last state of the contact list window." +msgstr "" +"Mostre a janela da lista de contatos ao iniciar.\n" +"'always' - Sempre mostrar janela de lista de contatos.\n" +"'nunca' - Nunca mostrar a janela de lista de contatos.\n" +"'last_state' - Restaurar o último estado da janela da lista de contatos." + +#: gajim/common/config.py:207 +msgid "" +"Valid URI schemes. Only schemes in this list will be accepted as 'real' URI " +"(mailto and xmpp are handled separately)." +msgstr "" +"Esquemas URI válidos. Somente esquemas nesta lista serão aceitos como URI " +"\"real\". (mailto e xmpp são manipulados separadamente)." + +#: gajim/common/config.py:212 +msgid "Optionally fix Jingle output video framerate. Example: 10/1 or 25/2." +msgstr "" +"Opcionalmente corrige taxa de quadros da saída de vídeo Jingle. Exemplo: 10/" +"1 ou 25/2." + +#: gajim/common/config.py:213 +msgid "Optionally resize Jingle output video. Example: 320x240." +msgstr "" +"Opcionalmente redimensiona a saída de vídeo do Jingle. Exemplo: 320x240." + +#: gajim/common/config.py:214 +msgid "If enabled, you will see your webcam's video stream as well." +msgstr "Se habilitado, você verá o fluxo de vídeo da sua webcam também." + +#: gajim/common/config.py:219 +msgid "" +"Proxy used for all outgoing connections if the account does not have a " +"specific proxy configured." +msgstr "" +"Proxy usado para todas as conexões de saída se a conta não tiver um proxy " +"específico configurado." + +#: gajim/common/config.py:222 +msgid "" +"If enabled, Gajim will display an icon to show that sent messages have been " +"received by your contact." +msgstr "" +"Se habilitado, o Gajim exibirá um ícone para mostrar que mensagens enviadas " +"foram recebidas pelo seu contato." + +#: gajim/common/config.py:223 +msgid "" +"If enabled, Gajim will use the System's Keyring to store account passwords." +msgstr "" +"Se habilitado, o Gajim usará o System's Keyring para armazenar as senhas das " +"contas." + +#: gajim/common/config.py:225 +msgid "2: System, 1: Enabled, 0: Disabled" +msgstr "2: Sistema, 1: Habilitado, 0: Desativado" + +#: gajim/common/config.py:226 +msgid "" +"Maximum history in days we request from a public group chat archive. 0: As " +"much as possible." +msgstr "" +"Histórico máximo em dias solicitamos de um arquivo de bate-papo em grupo " +"público. 0: Tanto quanto possível." + +#: gajim/common/config.py:227 +msgid "" +"Maximum history in days we request from a private group chat archive. 0: As " +"much as possible." +msgstr "" +"Histórico máximo em dias solicitamos de um arquivo de bate-papo em grupo " +"privado. 0: Tanto quanto possível." + +#: gajim/common/config.py:228 +msgid "" +"If enabled, Gajim shows the group chat subject in the chat window when " +"joining." +msgstr "" +"Se ativado, o Gajim mostra o assunto do grupo na janela de bate-papo ao " +"entrar." + +#: gajim/common/config.py:229 +msgid "" +"If enabled, the contact row is colored according to the current chat state " +"of the contact." +msgstr "" +"Se habilitado, a fileira de contato será colorida de acordo com o estado " +"atual do chat do contato." + +#: gajim/common/config.py:230 +msgid "" +"If enabled, the tab is colored according to the current chat state of the " +"contact." +msgstr "" +"Se habilitado, a guia será colorida de acordo com o estado atual da conversa " +"do contato." + +#: gajim/common/config.py:231 +msgid "" +"Shows a text in the banner that describes the current chat state of the " +"contact." +msgstr "" +"Mostra um texto no banner que descreve o estado atual da conversa do contato." + +#: gajim/common/config.py:232 +msgid "" +"Chat state notifications that are sent to contacts. Possible values: all, " +"composing_only, disabled" +msgstr "" +"Notificações de estado de conversa enviadas aos contatos. Valores possíveis: " +"all, composing_only, disabled" + +#: gajim/common/config.py:233 +msgid "" +"Chat state notifications that are sent to the group chat. Possible values: " +"'all', 'composing_only', 'disabled'" +msgstr "" +"Notificações de estado de conversa enviadas à conferencia. Valores " +"possíveis: 'all', 'composing_only', 'disabled'" + +#: gajim/common/config.py:240 +msgid "Shows an info bar with helpful hints in the Start / Join Chat dialog" +msgstr "" +"Mostra uma barra de informações com dicas na Inicialização/ Entrar no " +"diálogo de Chat" + +#: gajim/common/config.py:242 +msgid "Date of the last update check" +msgstr "Data da última verificação de atualização" + +#: gajim/common/config.py:260 +msgid "" +"Priority will change automatically according to your status. Priorities are " +"defined in 'autopriority_*' options." +msgstr "" +"A prioridade mudará automaticamente de acordo com o seu status. As " +"prioridades são definidas nas opções autopriority_*." + +#: gajim/common/config.py:267 +msgid "If enabled, the last status will be restored." +msgstr "Se habilitado, restaura o último status que foi usado." + +#: gajim/common/config.py:268 +msgid "" +"If enabled, contacts requesting authorization will be accepted automatically." +msgstr "" +"Se habilitado, contatos solicitando autorização serão aceitos " +"automaticamente." + +#: gajim/common/config.py:269 +msgid "" +"If disabled, this account will be disabled and will not appear in the " +"contact list window." +msgstr "" +"Se desabilitado, esta conta será desativada e não irá aparecer na janela da " +"lista de contatos." + +#: gajim/common/config.py:278 +msgid "ConnectionType: START TLS, DIRECT TLS or PLAIN" +msgstr "Tipo de Conexão: STARTTLS, DIRECTTLS ou PLAIN" + +#: gajim/common/config.py:280 +msgid "" +"List of XMPP Addresses (space separated) for which you do not want to store " +"chat history. You can also add the name of an account to disable storing " +"chat history for this account." +msgstr "" +"Lista de endereços XMPP (separados por espaço) para os quais você não quer " +"armazenar o histórico de bate-papo. Você também pode adicionar o nome de uma " +"conta para desativar o histórico de bate-papo para essa conta." + +#: gajim/common/config.py:285 +msgid "" +"If enabled, Gajim will use your IP and proxies defined in " +"'file_transfer_proxies' option for file transfers." +msgstr "" +"Se habilitado, o Gaijm usará seu IP e proxies definidos na opção " +"'file_transfer_proxies' para transferências de arquivos." + +#: gajim/common/config.py:286 +msgid "" +"If enabled, Gajim will test file transfer proxies on startup to be sure they " +"work. Openfire's proxies are known to fail this test even if they work." +msgstr "" +"Se habilitado, o Gajim testará proxies de transferência de arquivos na " +"inicialização para ter certeza de que eles funcionam. Os proxies do Openfire " +"são conhecidos por falhar neste teste mesmo que funcionem." + +#: gajim/common/config.py:298 +msgid "If enabled, Gajim will answer to message receipt requests." +msgstr "Se habilitado, o Gajim responderá a pedidos de recebimento." + +#: gajim/common/config.py:303 +msgid "" +"Allow Gajim to send information about the operating system you are running." +msgstr "" +"Permite que o Gajim envie informações sobre o sistema operacional que você " +"está executando." + +#: gajim/common/config.py:304 +msgid "Allow Gajim to send your local time." +msgstr "Permitir ao Gajim enviar sua hora local." + +#: gajim/common/config.py:307 +msgid "Message that is sent to contacts you want to add." +msgstr "Mensagem que é enviada aos contatos que você deseja adicionar." + +#: gajim/common/config.py:308 +msgid "" +"If enabled, Gajim will send your local IP so your contact can connect to " +"your machine for file transfers." +msgstr "" +"Se habilitado, o Gaijm enviará o seu IP local para que o seu contato possa " +"se conectar a sua máquina para transferências de arquivos." + +#: gajim/common/config.py:309 +msgid "" +"List of XMPP Addresses (space separated) for which the chat window will be " +"re-opened on next startup." +msgstr "" +"Lista de endereços XMPP (separados por espaços) para os quais a janela de " +"bate-papo será reaberta na próxima inicialização." + +#: gajim/common/config.py:311 +msgid "" +"Preferred file transfer mechanism for file drag&drop on a chat window. Can " +"be 'httpupload' (default) or 'jingle'." +msgstr "" +"Mecanismo de transferência de arquivos preferido para arrastar&soltar " +"arquivos em uma janela de bate-papo. Pode ser 'httpupload' (padrão) ou " +"'jingle'." + +#: gajim/common/config.py:312 +msgid "Allow certificate verification with POSH." +msgstr "Permitir verificação de certificado com POSH." + +#: gajim/common/config.py:336 +msgid "" +"Chat state notifications that are sent to contacts. Possible values: 'all', " +"'composing_only', 'disabled'" +msgstr "" +"Notificações de estado de conversa enviadas aos contatos. Valores possíveis: " +"'all', 'componing_only', 'disabled'" + +#: gajim/common/config.py:339 +msgid "The currently active encryption for that contact." +msgstr "Criptografia ativa atual para este contato." + +#: gajim/common/config.py:343 +msgid "" +"If enabled, a notification is created for every message in this group chat." +msgstr "" +"Se habilitado, uma notificação é criada para cada mensagem neste bate-papo " +"em grupo." + +#: gajim/common/config.py:344 +msgid "" +"Show a status message for all status changes (away, dnd, etc.) of users in a " +"group chat." +msgstr "" +"Mostrar uma mensagem de status para todas as alterações de status (ausente, " +"não perturbe, etc.) dos usuários em uma conferência." + +#: gajim/common/config.py:345 +msgid "Show a status message for every join or leave in a group chat." +msgstr "" +"Mostrar uma mensagem de status para cada entrada ou saída de uma conferência." + +#: gajim/common/config.py:346 +msgid "" +"If enabled, the group chat is minimized into the contact list when joining " +"automatically." +msgstr "" +"Se habilitado, o bate-papo em grupo é minimizado na lista de contatos ao " +"entrar automaticamente." + +#: gajim/common/config.py:347 +msgid "" +"If enabled, the group chat is minimized into the contact list when closing " +"it." +msgstr "" +"Se ativado, o bate-papo em grupo é minimizado na lista de contatos ao " +"fechá-lo." + +#: gajim/common/config.py:348 +msgid "" +"Chat state notifications that are sent to the group chat. Possible values: " +"'all', 'composing_only' or 'disabled'." +msgstr "" +"Notificações de estado de conversa são enviados para bate-papo em grupo. " +"Pode ser 'all', 'composing_only' ou 'disabled'." + +#: gajim/common/config.py:351 +msgid "" +"If enabled, plugins will be activated on startup (this is saved when exiting " +"Gajim). This option SHOULD NOT be used to (de)activate plugins. Use the " +"plugin window instead." +msgstr "" +"Se ativado, os plugins serão ativados na inicialização (isso é salvo ao sair " +"do Gajim). Esta opção não deve ser usada para (de) ativar plugins. Use a " +"janela do plugin em vez disso." + +#: gajim/common/config.py:358 +msgid "I'm eating." +msgstr "Estou comendo." + +#: gajim/common/config.py:359 +msgid "I'm watching a movie." +msgstr "Estou assistindo um filme." + +#: gajim/common/config.py:360 +msgid "I'm working." +msgstr "Estou trabalhando." + +#: gajim/common/config.py:361 +msgid "Phone" +msgstr "Telefone" + +#: gajim/common/config.py:361 +msgid "I'm on the phone." +msgstr "Estou no telefone." + +#: gajim/common/config.py:362 +msgid "I'm out enjoying life." +msgstr "Estou fora curtindo a vida." + +#: gajim/common/config.py:373 +msgid "" +"Sound to play when a group chat message contains one of the words in " +"'muc_highlight_words' or your nickname is mentioned." +msgstr "" +"Som a ser tocado quando uma mensagem de grupo contiver uma das palavras no " +"'muc_hightlight_words' ou quando o seu apelido for mencionado." + +#: gajim/common/config.py:374 +msgid "Sound to play when any group chat message arrives." +msgstr "Som a ser tocado quando chegar qualquer mensagem de conversa em grupo." + +#: gajim/common/config.py:378 +msgid "Tor" +msgstr "Tor" + +#: gajim/common/exceptions.py:45 +#, python-format +msgid "" +"The database file (%s) cannot be read. Try to repair it (see https://dev." +"gajim.org/gajim/gajim/wikis/help/DatabaseBackup) or remove it (all history " +"will be lost)." +msgstr "" +"O arquivo de banco de dados (%s) não pode ser lido. Tente repará-lo (veja " +"https://dev.gajim.org/gajim/gajim/wikis/help/DatabaseBackup) ou remova-o (" +"todo o histórico será perdido)." + +#: gajim/common/exceptions.py:59 +msgid "Service not available: Gajim is not running, or remote_control is False" +msgstr "" +"Serviço não disponível: o Gajim não está funcionando ou a opção " +"'remote_control' é falsa" + +#: gajim/common/exceptions.py:81 +#, python-format +msgid "" +"Session bus is not available.\n" +"Try reading %(url)s" +msgstr "" +"O bus de sessão não está disponível.\n" +"Tente ler %(url)s" + +#: gajim/common/exceptions.py:93 +#, python-format +msgid "" +"System bus is not available.\n" +"Try reading %(url)s" +msgstr "" +"O bus de sessão não está disponível.\n" +"Tente ler %(url)s" + +#: gajim/common/optparser.py:54 +#, python-format +msgid "Error: cannot open %s for reading" +msgstr "Erro: impossível abrir %s para leitura" + +#: gajim/common/configpaths.py:84 +#, python-format +msgid "%s is a file but it should be a directory" +msgstr "%s é um arquivo, mas deveria ser um diretório" + +#: gajim/common/configpaths.py:85 +msgid "Gajim will now exit" +msgstr "Gajim sairá agora" + +#: gajim/common/connection_handlers_events.py:242 +#: gajim/common/connection_handlers_events.py:342 +#, python-format +msgid "New message from %(nickname)s" +msgid_plural "%(n_msgs)i unread messages from %(nickname)s" +msgstr[0] "Nova mensagem de %(nickname)s" +msgstr[1] "%(n_msgs)i mensagens não lidas de %(nickname)s" + +#: gajim/common/connection_handlers_events.py:412 +#, python-format +msgid "%(nick)s Changed Status" +msgstr "%(nick)s alterou seu status" + +#: gajim/common/const.py:287 +msgid "?Group chat name:Team" +msgstr "?Group chat name:Equipe" + +#: gajim/common/const.py:288 +msgid "?Group chat description:Project discussion" +msgstr "?Group chat description:Discussão de Projeto" + +#: gajim/common/const.py:289 +msgid "?Group chat address:team" +msgstr "?Group chat address:equipe" + +#: gajim/common/const.py:290 +msgid "?Group chat name:Family" +msgstr "?Group chat name:Família" + +#: gajim/common/const.py:291 +msgid "?Group chat description:Spring gathering" +msgstr "?Group chat description:Reunião de primavera" + +#: gajim/common/const.py:292 +msgid "?Group chat address:family" +msgstr "?Group chat address:família" + +#: gajim/common/const.py:293 +msgid "?Group chat name:Vacation" +msgstr "?Group chat name:Férias" + +#: gajim/common/const.py:294 +msgid "?Group chat description:Trip planning" +msgstr "?Group chat description:Planejamento de viajem" + +#: gajim/common/const.py:295 +msgid "?Group chat address:vacation" +msgstr "?Group chat address:férias" + +#: gajim/common/const.py:296 +msgid "?Group chat name:Repairs" +msgstr "?Group chat name:Reparos" + +#: gajim/common/const.py:297 +msgid "?Group chat description:Local help group" +msgstr "?Group chat description:Grupo de ajuda local" + +#: gajim/common/const.py:298 +msgid "?Group chat address:repairs" +msgstr "?Group chat address:reparos" + +#: gajim/common/const.py:299 +msgid "?Group chat name:News" +msgstr "?Group chat name:Notícias" + +#: gajim/common/const.py:300 +msgid "?Group chat description:Local news and reports" +msgstr "?Descrição de conferência:notícias e relatórios locais" + +#: gajim/common/const.py:301 +msgid "?Group chat address:news" +msgstr "?Group chat address:notícias" + +#: gajim/common/const.py:306 +msgid "Remote server not found" +msgstr "O servidor remoto não encontrado" + +#: gajim/common/const.py:307 +msgid "Remote server timeout" +msgstr "Servidor remoto expirou" + +#: gajim/common/const.py:308 gajim/common/const.py:309 +#: gajim/common/const.py:310 +msgid "Address does not belong to a group chat server" +msgstr "O endereço não pertence a um servidor de chat" + +#: gajim/common/const.py:311 +msgid "Group chat already exists" +msgstr "Conferência já existe" + +#: gajim/common/const.py:312 +msgid "Group chat does not exist" +msgstr "A conferência não existe" + +#: gajim/common/const.py:313 +msgid "Group chat is closed" +msgstr "Bate-papo em grupo está fechado" + +#: gajim/common/const.py:319 +msgid "This message was encrypted with OTR and could not be decrypted." +msgstr "" +"Esta mensagem foi criptografada com OTR e não pôde ser descriptografada." + +#: gajim/common/const.py:322 +msgid "" +"This message was encrypted with Legacy OpenPGP and could not be decrypted. " +"You can install the PGP plugin to handle those messages." +msgstr "" +"Esta mensagem foi criptografada com Legacy OpenPGP e não pôde ser " +"descriptografada. Você pode instalar o plugin PGP para lidar com essas " +"mensagens." + +#: gajim/common/const.py:326 +msgid "" +"This message was encrypted with OpenPGP for XMPP and could not be decrypted. " +"You can install the OpenPGP plugin to handle those messages." +msgstr "" +"Esta mensagem foi criptografada com O OpenPGP para XMPP e não pôde ser " +"descriptografada. Você pode instalar o plugin OpenPGP para lidar com essas " +"mensagens." + +#: gajim/common/const.py:330 +#, python-format +msgid "This message was encrypted with %s and could not be decrypted." +msgstr "Esta mensagem foi criptografada com %s e não pôde ser descriptografada." + +#: gajim/common/const.py:337 +msgid "Doing Chores" +msgstr "Atarefado" + +#: gajim/common/const.py:338 +msgid "Buying Groceries" +msgstr "Fazendo compras" + +#: gajim/common/const.py:339 +msgid "Cleaning" +msgstr "Limpando" + +#: gajim/common/const.py:340 +msgid "Cooking" +msgstr "Cozinhando" + +#: gajim/common/const.py:341 +msgid "Doing Maintenance" +msgstr "Fazendo manutenção" + +#: gajim/common/const.py:342 +msgid "Doing the Dishes" +msgstr "Lavando a louça" + +#: gajim/common/const.py:343 +msgid "Doing the Laundry" +msgstr "Lavando roupas" + +#: gajim/common/const.py:344 +msgid "Gardening" +msgstr "Fazendo jardinagem" + +#: gajim/common/const.py:345 +msgid "Running an Errand" +msgstr "Realizando uma tarefa" + +#: gajim/common/const.py:346 +msgid "Walking the Dog" +msgstr "Passeando com o cachorro" + +#: gajim/common/const.py:348 +msgid "Drinking" +msgstr "Bebendo" + +#: gajim/common/const.py:349 +msgid "Having a Beer" +msgstr "Bebendo uma cerveja" + +#: gajim/common/const.py:350 +msgid "Having Coffee" +msgstr "Tomando café" + +#: gajim/common/const.py:351 +msgid "Having Tea" +msgstr "Tomando chá" + +#: gajim/common/const.py:354 +msgid "Having a Snack" +msgstr "Fazendo um lanche" + +#: gajim/common/const.py:355 +msgid "Having Breakfast" +msgstr "Tomando café da manhã" + +#: gajim/common/const.py:356 +msgid "Having Dinner" +msgstr "Jantando" + +#: gajim/common/const.py:357 +msgid "Having Lunch" +msgstr "Almoçando" + +#: gajim/common/const.py:359 +msgid "Exercising" +msgstr "Exercitando" + +#: gajim/common/const.py:360 gajim/common/const.py:411 +msgid "Cycling" +msgstr "Andando de bicicleta" + +#: gajim/common/const.py:361 +msgid "Dancing" +msgstr "Dançando" + +#: gajim/common/const.py:362 +msgid "Hiking" +msgstr "Fazendo caminhada" + +#: gajim/common/const.py:363 +msgid "Jogging" +msgstr "Correndo" + +#: gajim/common/const.py:364 +msgid "Playing Sports" +msgstr "Praticando esportes" + +#: gajim/common/const.py:365 +msgid "Running" +msgstr "Correndo" + +#: gajim/common/const.py:366 +msgid "Skiing" +msgstr "Esquiando" + +#: gajim/common/const.py:367 +msgid "Swimming" +msgstr "Nadando" + +#: gajim/common/const.py:368 +msgid "Working out" +msgstr "Trabalhando fora" + +#: gajim/common/const.py:370 +msgid "Grooming" +msgstr "Afagando" + +#: gajim/common/const.py:371 +msgid "At the Spa" +msgstr "No Spa" + +#: gajim/common/const.py:372 +msgid "Brushing Teeth" +msgstr "Escovando os dentes" + +#: gajim/common/const.py:373 +msgid "Getting a Haircut" +msgstr "Cortando o cabelo" + +#: gajim/common/const.py:374 +msgid "Shaving" +msgstr "Fazendo barba" + +#: gajim/common/const.py:375 +msgid "Taking a Bath" +msgstr "Tomando banho" + +#: gajim/common/const.py:376 +msgid "Taking a Shower" +msgstr "Tomando uma ducha" + +#: gajim/common/const.py:378 +msgid "Having an Appointment" +msgstr "Em um compromisso" + +#: gajim/common/const.py:380 +msgid "Inactive" +msgstr "Inativo" + +#: gajim/common/const.py:381 +msgid "Day Off" +msgstr "De folga" + +#: gajim/common/const.py:382 +msgid "Hanging out" +msgstr "Me descontraindo" + +#: gajim/common/const.py:383 +msgid "Hiding" +msgstr "Me escondendo" + +#: gajim/common/const.py:384 +msgid "On Vacation" +msgstr "Em férias" + +#: gajim/common/const.py:385 +msgid "Praying" +msgstr "Orando" + +#: gajim/common/const.py:386 +msgid "Scheduled Holiday" +msgstr "Feriado" + +#: gajim/common/const.py:388 +msgid "Thinking" +msgstr "Pensando" + +#: gajim/common/const.py:390 +msgid "Relaxing" +msgstr "Relaxando" + +#: gajim/common/const.py:391 +msgid "Fishing" +msgstr "Pescando" + +#: gajim/common/const.py:392 +msgid "Gaming" +msgstr "Jogando" + +#: gajim/common/const.py:393 +msgid "Going out" +msgstr "Saindo" + +#: gajim/common/const.py:394 +msgid "Partying" +msgstr "Festejando" + +#: gajim/common/const.py:395 +msgid "Reading" +msgstr "Lendo" + +#: gajim/common/const.py:396 +msgid "Rehearsing" +msgstr "Ensaiando" + +#: gajim/common/const.py:397 +msgid "Shopping" +msgstr "Comprando" + +#: gajim/common/const.py:398 +msgid "Smoking" +msgstr "Fumando" + +#: gajim/common/const.py:399 +msgid "Socializing" +msgstr "Socializando" + +#: gajim/common/const.py:400 +msgid "Sunbathing" +msgstr "Tomando banho de sol" + +#: gajim/common/const.py:401 +msgid "Watching TV" +msgstr "Assitindo TV" + +#: gajim/common/const.py:402 +msgid "Watching a Movie" +msgstr "Assistindo um filme" + +#: gajim/common/const.py:404 +msgid "Talking" +msgstr "Falando" + +#: gajim/common/const.py:405 +msgid "In Real Life" +msgstr "No mundo real" + +#: gajim/common/const.py:406 +msgid "On the Phone" +msgstr "Ao telefone" + +#: gajim/common/const.py:407 +msgid "On Video Phone" +msgstr "Ao telefone" + +#: gajim/common/const.py:409 +msgid "Traveling" +msgstr "Viajando" + +#: gajim/common/const.py:410 +msgid "Commuting" +msgstr "Em trânsito" + +#: gajim/common/const.py:412 +msgid "Driving" +msgstr "Dirigindo" + +#: gajim/common/const.py:413 +msgid "In a Car" +msgstr "Em um carro" + +#: gajim/common/const.py:414 +msgid "On a Bus" +msgstr "Em um ônibus" + +#: gajim/common/const.py:415 +msgid "On a Plane" +msgstr "Em um avião" + +#: gajim/common/const.py:416 +msgid "On a Train" +msgstr "Em um trem" + +#: gajim/common/const.py:417 +msgid "On a Trip" +msgstr "Em um passeio" + +#: gajim/common/const.py:418 +msgid "Walking" +msgstr "Andando" + +#: gajim/common/const.py:421 +msgid "Coding" +msgstr "Codificado" + +#: gajim/common/const.py:422 +msgid "In a Meeting" +msgstr "Em um encontro" + +#: gajim/common/const.py:423 +msgid "Studying" +msgstr "Estudando" + +#: gajim/common/const.py:424 +msgid "Writing" +msgstr "Escrevendo" + +#: gajim/common/const.py:427 +msgid "Afraid" +msgstr "Amedrontado" + +#: gajim/common/const.py:428 +msgid "Amazed" +msgstr "Surpreso" + +#: gajim/common/const.py:429 +msgid "Amorous" +msgstr "Amoroso" + +#: gajim/common/const.py:430 +msgid "Angry" +msgstr "Irado" + +#: gajim/common/const.py:431 +msgid "Annoyed" +msgstr "Chateado" + +#: gajim/common/const.py:432 +msgid "Anxious" +msgstr "Ansioso" + +#: gajim/common/const.py:433 +msgid "Aroused" +msgstr "Estimulado" + +#: gajim/common/const.py:434 +msgid "Ashamed" +msgstr "Envergonhado" + +#: gajim/common/const.py:435 +msgid "Bored" +msgstr "Entediado" + +#: gajim/common/const.py:436 +msgid "Brave" +msgstr "Corajoso" + +#: gajim/common/const.py:437 +msgid "Calm" +msgstr "Calmo" + +#: gajim/common/const.py:438 +msgid "Cautious" +msgstr "Cauteloso" + +#: gajim/common/const.py:439 +msgid "Cold" +msgstr "Indiferente" + +#: gajim/common/const.py:440 +msgid "Confident" +msgstr "Confidente" + +#: gajim/common/const.py:441 +msgid "Confused" +msgstr "Confuso" + +#: gajim/common/const.py:442 +msgid "Contemplative" +msgstr "Contemplativo" + +#: gajim/common/const.py:443 +msgid "Contented" +msgstr "Contente" + +#: gajim/common/const.py:444 +msgid "Cranky" +msgstr "Nervoso" + +#: gajim/common/const.py:445 +msgid "Crazy" +msgstr "Louco" + +#: gajim/common/const.py:446 +msgid "Creative" +msgstr "Criativo" + +#: gajim/common/const.py:447 +msgid "Curious" +msgstr "Curioso" + +#: gajim/common/const.py:448 +msgid "Dejected" +msgstr "Abatido" + +#: gajim/common/const.py:449 +msgid "Depressed" +msgstr "Deprimido" + +#: gajim/common/const.py:450 +msgid "Disappointed" +msgstr "Desapontado" + +#: gajim/common/const.py:451 +msgid "Disgusted" +msgstr "Enojado" + +#: gajim/common/const.py:452 +msgid "Dismayed" +msgstr "Consternado" + +#: gajim/common/const.py:453 +msgid "Distracted" +msgstr "Distraído" + +#: gajim/common/const.py:454 +msgid "Embarrassed" +msgstr "Envergonhado" + +#: gajim/common/const.py:455 +msgid "Envious" +msgstr "Com inveja" + +#: gajim/common/const.py:456 +msgid "Excited" +msgstr "Excitado" + +#: gajim/common/const.py:457 +msgid "Flirtatious" +msgstr "Paquerador" + +#: gajim/common/const.py:458 +msgid "Frustrated" +msgstr "Frustrado" + +#: gajim/common/const.py:459 +msgid "Grateful" +msgstr "Agradecido" + +#: gajim/common/const.py:460 +msgid "Grieving" +msgstr "Angustiado" + +#: gajim/common/const.py:461 +msgid "Grumpy" +msgstr "Mal-humorado" + +#: gajim/common/const.py:462 +msgid "Guilty" +msgstr "Culpado" + +#: gajim/common/const.py:463 +msgid "Happy" +msgstr "Feliz" + +#: gajim/common/const.py:464 +msgid "Hopeful" +msgstr "Esperançoso" + +#: gajim/common/const.py:465 +msgid "Hot" +msgstr "Quente" + +#: gajim/common/const.py:466 +msgid "Humbled" +msgstr "Humilde" + +#: gajim/common/const.py:467 +msgid "Humiliated" +msgstr "Humilhado" + +#: gajim/common/const.py:468 +msgid "Hungry" +msgstr "Com fome" + +#: gajim/common/const.py:469 +msgid "Hurt" +msgstr "Machucado" + +#: gajim/common/const.py:470 +msgid "Impressed" +msgstr "Impressionado" + +#: gajim/common/const.py:471 +msgid "In Awe" +msgstr "Chocado" + +#: gajim/common/const.py:472 +msgid "In Love" +msgstr "Apaixonado" + +#: gajim/common/const.py:473 +msgid "Indignant" +msgstr "Indignado" + +#: gajim/common/const.py:474 +msgid "Interested" +msgstr "Interessado" + +#: gajim/common/const.py:475 +msgid "Intoxicated" +msgstr "Intoxicado" + +#: gajim/common/const.py:476 +msgid "Invincible" +msgstr "Invencível" + +#: gajim/common/const.py:477 +msgid "Jealous" +msgstr "Envergonhado" + +#: gajim/common/const.py:478 +msgid "Lonely" +msgstr "Sozinho" + +#: gajim/common/const.py:479 +msgid "Lost" +msgstr "Perdido" + +#: gajim/common/const.py:480 +msgid "Lucky" +msgstr "Sortudo" + +#: gajim/common/const.py:481 +msgid "Mean" +msgstr "Mau" + +#: gajim/common/const.py:482 +msgid "Moody" +msgstr "Mal-humorado" + +#: gajim/common/const.py:483 +msgid "Nervous" +msgstr "Nervoso" + +#: gajim/common/const.py:484 +msgid "Neutral" +msgstr "Neutro" + +#: gajim/common/const.py:485 +msgid "Offended" +msgstr "Ofendido" + +#: gajim/common/const.py:486 +msgid "Outraged" +msgstr "Indignado" + +#: gajim/common/const.py:487 +msgid "Playful" +msgstr "Brincalhão" + +#: gajim/common/const.py:488 +msgid "Proud" +msgstr "Orgulhoso" + +#: gajim/common/const.py:489 +msgid "Relaxed" +msgstr "Relaxado" + +#: gajim/common/const.py:490 +msgid "Relieved" +msgstr "Aliviado" + +#: gajim/common/const.py:491 +msgid "Remorseful" +msgstr "Arrependido" + +#: gajim/common/const.py:492 +msgid "Restless" +msgstr "Inquieto" + +#: gajim/common/const.py:493 +msgid "Sad" +msgstr "Triste" + +#: gajim/common/const.py:494 +msgid "Sarcastic" +msgstr "Sarcástico" + +#: gajim/common/const.py:495 +msgid "Satisfied" +msgstr "Satisfeito" + +#: gajim/common/const.py:496 +msgid "Serious" +msgstr "Sério" + +#: gajim/common/const.py:497 +msgid "Shocked" +msgstr "Chocado" + +#: gajim/common/const.py:498 +msgid "Shy" +msgstr "Tímido" + +#: gajim/common/const.py:499 +msgid "Sick" +msgstr "Doente" + +#: gajim/common/const.py:500 +msgid "Sleepy" +msgstr "Com sono" + +#: gajim/common/const.py:501 +msgid "Spontaneous" +msgstr "Espontâneo" + +#: gajim/common/const.py:502 +msgid "Stressed" +msgstr "Estressado" + +#: gajim/common/const.py:503 +msgid "Strong" +msgstr "Forte" + +#: gajim/common/const.py:504 +msgid "Surprised" +msgstr "Surpreso" + +#: gajim/common/const.py:505 +msgid "Thankful" +msgstr "Agradecido" + +#: gajim/common/const.py:506 +msgid "Thirsty" +msgstr "Com sede" + +#: gajim/common/const.py:507 +msgid "Tired" +msgstr "Cansado" + +#: gajim/common/const.py:508 +msgid "Undefined" +msgstr "Indefinido" + +#: gajim/common/const.py:509 +msgid "Weak" +msgstr "Fraco" + +#: gajim/common/const.py:510 +msgid "Worried" +msgstr "Preocupado" + +#: gajim/common/const.py:514 +msgid "accuracy" +msgstr "Precisão" + +#: gajim/common/const.py:515 +msgid "alt" +msgstr "alt" + +#: gajim/common/const.py:516 +msgid "area" +msgstr "área" + +#: gajim/common/const.py:517 +msgid "bearing" +msgstr "direção" + +#: gajim/common/const.py:518 +msgid "building" +msgstr "Edifício" + +#: gajim/common/const.py:519 +msgid "country" +msgstr "país" + +#: gajim/common/const.py:520 +msgid "countrycode" +msgstr "código de país" + +#: gajim/common/const.py:521 +msgid "datum" +msgstr "Dados" + +#: gajim/common/const.py:522 +msgid "description" +msgstr "descrição" + +#: gajim/common/const.py:523 +msgid "error" +msgstr "erro" + +#: gajim/common/const.py:524 +msgid "floor" +msgstr "piso" + +#: gajim/common/const.py:525 +msgid "lat" +msgstr "latitude" + +#: gajim/common/const.py:526 +msgid "locality" +msgstr "localidade" + +#: gajim/common/const.py:527 +msgid "lon" +msgstr "longitude" + +#: gajim/common/const.py:528 +msgid "postalcode" +msgstr "código postal" + +#: gajim/common/const.py:529 +msgid "region" +msgstr "região" + +#: gajim/common/const.py:530 +msgid "room" +msgstr "sala" + +#: gajim/common/const.py:531 +msgid "speed" +msgstr "velocidade" + +#: gajim/common/const.py:532 +msgid "street" +msgstr "rua" + +#: gajim/common/const.py:533 +msgid "text" +msgstr "texto" + +#: gajim/common/const.py:534 +msgid "timestamp" +msgstr "timestamp" + +#: gajim/common/const.py:535 +msgid "URI" +msgstr "URL" + +#: gajim/common/const.py:540 +msgid "Unable to get issuer certificate" +msgstr "Não foi possível obter o certificado do emissor" + +#: gajim/common/const.py:541 +msgid "Unable to get certificate CRL" +msgstr "Não foi possível obter certificado CRL" + +#: gajim/common/const.py:542 +msgid "Unable to decrypt certificate's signature" +msgstr "Não foi possível descriptografar a assinatura do certificado" + +#: gajim/common/const.py:543 +msgid "Unable to decrypt CRL's signature" +msgstr "Não foi possível descriptografar a assinatura CRL" + +#: gajim/common/const.py:544 +msgid "Unable to decode issuer public key" +msgstr "Não foi possível decodificar a chave pública do emissor" + +#: gajim/common/const.py:545 +msgid "Certificate signature failure" +msgstr "Assinatura do certificado falhou" + +#: gajim/common/const.py:546 +msgid "CRL signature failure" +msgstr "Falha na assinatura CRL" + +#: gajim/common/const.py:547 +msgid "Certificate is not yet valid" +msgstr "O certificado ainda não é válido" + +#: gajim/common/const.py:548 +msgid "Certificate has expired" +msgstr "O certificado expirou" + +#: gajim/common/const.py:549 +msgid "CRL is not yet valid" +msgstr "CRL ainda não é válido" + +#: gajim/common/const.py:550 +msgid "CRL has expired" +msgstr "CRL expirou" + +#: gajim/common/const.py:551 +msgid "Format error in certificate's notBefore field" +msgstr "Erro de formato nos certificados no campo notBefore" + +#: gajim/common/const.py:552 +msgid "Format error in certificate's notAfter field" +msgstr "Erro de formato nos certificados no campo notAfter" + +#: gajim/common/const.py:553 +msgid "Format error in CRL's lastUpdate field" +msgstr "Erro de formato no campo lastUpdate do CRL" + +#: gajim/common/const.py:554 +msgid "Format error in CRL's nextUpdate field" +msgstr "Erro de formato no campo nextUpdate do CRL" + +#: gajim/common/const.py:555 +msgid "Out of memory" +msgstr "Memória insuficiente" + +#: gajim/common/const.py:556 +msgid "Self signed certificate" +msgstr "Certificado próprio" + +#: gajim/common/const.py:557 +msgid "Self signed certificate in certificate chain" +msgstr "Certificado próprio na cadeia de certificados" + +#: gajim/common/const.py:558 +msgid "Unable to get local issuer certificate" +msgstr "Não foi possível obter o certificado do emissor local" + +#: gajim/common/const.py:559 +msgid "Unable to verify the first certificate" +msgstr "Não foi possível verificar o primeiro certificado" + +#: gajim/common/const.py:560 +msgid "Certificate chain too long" +msgstr "A cadeia de certificados é muito longa" + +#: gajim/common/const.py:561 +msgid "Certificate revoked" +msgstr "Certificado revocado" + +#: gajim/common/const.py:562 +msgid "Invalid CA certificate" +msgstr "Certificado CA inválido" + +#: gajim/common/const.py:563 +msgid "Path length constraint exceeded" +msgstr "Limite de comprimento do caminho excedido" + +#: gajim/common/const.py:564 +msgid "Unsupported certificate purpose" +msgstr "Certificado de propósito não suportado" + +#: gajim/common/const.py:565 +msgid "Certificate not trusted" +msgstr "Certificado não confiável" + +#: gajim/common/const.py:566 +msgid "Certificate rejected" +msgstr "Certificado rejeitado" + +#: gajim/common/const.py:567 +msgid "Subject issuer mismatch" +msgstr "Assunto do emissor não coincide" + +#: gajim/common/const.py:568 +msgid "Authority and subject key identifier mismatch" +msgstr "Chave identificadora de autoridade e assunto não coincidem" + +#: gajim/common/const.py:569 +msgid "Authority and issuer serial number mismatch" +msgstr "Autoridade e número serial do emissor não coincidem" + +#: gajim/common/const.py:570 +msgid "Key usage does not include certificate signing" +msgstr "O uso das chaves não inclui assinatura de certificado" + +#: gajim/common/const.py:571 +msgid "Application verification failure" +msgstr "Verificação do aplicativo falhou" + +#: gajim/common/const.py:893 +msgid "The signing certificate authority is not known" +msgstr "A autoridade de certificação é desconhecida" + +#: gajim/common/const.py:894 +msgid "The certificate has been revoked" +msgstr "O certificado foi revogado" + +#: gajim/common/const.py:895 +msgid "The certificate does not match the expected identity of the site" +msgstr "O certificado não coincide com a identidade esperada do site" + +#: gajim/common/const.py:896 +msgid "The certificate’s algorithm is insecure" +msgstr "O algoritmo do certificado não é seguro" + +#: gajim/common/const.py:897 +msgid "The certificate’s activation time is in the future" +msgstr "A data de ativação do certificado está no futuro" + +#: gajim/common/const.py:898 +msgid "Unknown validation error" +msgstr "Erro desconhecido de validação" + +#: gajim/common/const.py:899 +msgid "The certificate has expired" +msgstr "O certificado expirou" + +#: gajim/common/const.py:954 +msgid "Authentication aborted" +msgstr "Autenticação abortada" + +#: gajim/common/const.py:955 +msgid "Account disabled" +msgstr "Conta Desativada" + +#: gajim/common/const.py:956 +msgid "Credentials expired" +msgstr "Credenciais expiradas" + +#: gajim/common/const.py:957 +msgid "Encryption required" +msgstr "Requer Criptografia" + +#: gajim/common/const.py:961 +msgid "Authentication mechanism not supported" +msgstr "Mecanismo de autenticação não suportado" + +#: gajim/common/const.py:962 +msgid "Authentication mechanism too weak" +msgstr "Mecanismo de autenticação fraco demais" + +#: gajim/common/const.py:964 +msgid "Authentication currently not possible" +msgstr "Não é possível Autenticar neste momento" + +#: gajim/common/const.py:1109 +msgid "No Sync" +msgstr "Não Sincronizado" + +#: gajim/common/const.py:1111 +msgid "2 Days" +msgstr "2 Días" + +#: gajim/common/const.py:1114 +msgid "No Threshold" +msgstr "Sem Limite" + +#: gajim/common/logging_helpers.py:31 +#, python-format +msgid "%s is not a valid loglevel" +msgstr "%s não é um nível de gravação (loglevel) válido" + +#: gajim/common/zeroconf/zeroconf_avahi.py:256 +#: gajim/common/zeroconf/zeroconf_bonjour.py:248 +#: gajim/common/zeroconf/zeroconf_bonjour.py:265 +#: gajim/common/zeroconf/zeroconf_bonjour.py:323 +#, python-format +msgid "Error while adding service. %s" +msgstr "Erro ao adicionar serviço. %s" + +#: gajim/common/zeroconf/connection_zeroconf.py:252 +#, python-format +msgid "Could not connect to \"%s\"" +msgstr "Impossível conectar a \"%s\"" + +#: gajim/common/zeroconf/connection_zeroconf.py:253 +msgid "Please check if Avahi or Bonjour is installed." +msgstr "Por favor verifique se o Avahi ou o Bonjour estão instalados." + +#: gajim/common/zeroconf/connection_zeroconf.py:263 +#: gajim/common/zeroconf/connection_zeroconf.py:267 +msgid "Could not start local service" +msgstr "Impossível iniciar o serviço local" + +#: gajim/common/zeroconf/connection_zeroconf.py:264 +#, python-format +msgid "Unable to bind to port %d." +msgstr "Impossível conectar-se à porta %d." + +#: gajim/common/zeroconf/connection_zeroconf.py:268 +msgid "Please check if avahi/bonjour-daemon is running." +msgstr "Por favor, verifique se avahi/bonjour-daemon está rodando." + +#: gajim/common/zeroconf/connection_zeroconf.py:362 +#: gajim/common/zeroconf/connection_zeroconf.py:375 +#, python-format +msgid "Could not change status of account \"%s\"" +msgstr "Impossível alterar status da conta \"%s\"" + +#: gajim/common/zeroconf/connection_zeroconf.py:363 +#: gajim/common/zeroconf/connection_zeroconf.py:376 +msgid "Please check if avahi-daemon is running." +msgstr "Por favor verifique se o serviço avahi-daemon está rodando." + +#: gajim/common/zeroconf/connection_zeroconf.py:404 +msgid "Your message could not be sent." +msgstr "Sua mensagem não pode ser enviada." + +#: gajim/common/zeroconf/connection_zeroconf.py:419 +msgid "Contact is offline. Your message could not be sent." +msgstr "O contato está offline. Sua mensagem não pode ser enviada." + +#: gajim/common/zeroconf/connection_zeroconf.py:441 +msgid "" +"Connection to host could not be established: Timeout while sending data." +msgstr "" +"A conexão ao computador não pode ser estabelecida: tempo excedido ao " +"transmitir os dados." + +#: gajim/common/dbus/logind.py:73 +msgid "Machine is going to sleep" +msgstr "A máquina será suspendida" + +#: gajim/common/dbus/logind.py:103 +msgid "Disconnect from the network" +msgstr "Desconectar-se da rede" + +#: gajim/common/modules/adhoc_commands.py:88 +msgid "Change status information" +msgstr "Alterar informação de status" + +#: gajim/common/modules/adhoc_commands.py:112 +msgid "Change status" +msgstr "Alterar status" + +#: gajim/common/modules/adhoc_commands.py:113 +msgid "Set the presence type and description" +msgstr "Definir o tipo e a descrição da presença" + +#: gajim/common/modules/adhoc_commands.py:120 +msgid "Free for chat" +msgstr "Livre para conversa" + +#: gajim/common/modules/adhoc_commands.py:121 +msgid "Online" +msgstr "Conectado" + +#: gajim/common/modules/adhoc_commands.py:123 +msgid "Extended away" +msgstr "Muito afastado" + +#: gajim/common/modules/adhoc_commands.py:124 +msgid "Do not disturb" +msgstr "Não perturbe" + +#: gajim/common/modules/adhoc_commands.py:125 +msgid "Offline - disconnect" +msgstr "Desconectado" + +#: gajim/common/modules/adhoc_commands.py:131 +msgid "Presence description:" +msgstr "Descrição da presença:" + +#: gajim/common/modules/adhoc_commands.py:170 +msgid "The status has been changed." +msgstr "O status foi alterado." + +#: gajim/common/modules/presence.py:265 +msgid "I would like to add you to my roster." +msgstr "Eu gostaria de adiciona-lo à minha lista." + +#: gajim/common/modules/roster_item_exchange.py:103 +#, python-format +msgid "Sent contact: \"%(jid)s\" (%(name)s)" +msgstr "Enviar contato: \"%(jid)s\" (%(name)s)" + +#: gajim/common/modules/roster_item_exchange.py:107 +msgid "Sent contacts:" +msgstr "Enviar contatos:" + +#: gajim/common/modules/httpupload.py:99 +msgid "File is empty" +msgstr "O arquivo está vazio" + +#: gajim/common/modules/httpupload.py:102 +msgid "File does not exist" +msgstr "O arquivo não existe" + +#: gajim/common/modules/httpupload.py:109 +#: gajim/common/modules/httpupload.py:172 +#, python-format +msgid "File is too large, maximum allowed file size is: %s" +msgstr "O arquivo é grande demais, o tamanho máximo de arquivo permitido é: %s" + +#: gajim/common/modules/httpupload.py:279 +msgid "Encrypting file…" +msgstr "Criptografando arquivo…" + +#: gajim/common/modules/httpupload.py:280 +msgid "Requesting HTTP File Upload Slot…" +msgstr "Solicitando slot de envio de arquivo HTTP…" + +#: gajim/common/modules/httpupload.py:281 +msgid "Uploading via HTTP File Upload…" +msgstr "Enviando via Upload de Arquivo HTTP…" + +#: gajim/common/modules/httpupload.py:285 +msgid "The server returned an insecure transport (HTTP)." +msgstr "O servidor retornou um transporte inseguro (HTTP)." + +#: gajim/common/modules/httpupload.py:286 +msgid "There is no encryption method available for the chosen encryption." +msgstr "" +"Não há nenhum método de criptografia disponível para a criptografia " +"escolhida." + +#: gajim/plugins/pluginmanager.py:679 gajim/plugins/pluginmanager.py:685 +msgid "Archive corrupted" +msgstr "Arquivo corrompido" + +#: gajim/plugins/pluginmanager.py:681 +msgid "Archive empty" +msgstr "Arquivo vazio" + +#: gajim/plugins/pluginmanager.py:693 gajim/plugins/pluginmanager.py:701 +#: gajim/plugins/gui.py:273 +msgid "Archive is malformed" +msgstr "Arquivo está corrompido" + +#: gajim/plugins/pluginmanager.py:710 gajim/plugins/gui.py:288 +#: gajim/plugins/gui.py:301 +msgid "Plugin already exists" +msgstr "O plugin já existe" + +#: gajim/plugins/pluginmanager.py:720 +msgid "Installation failed" +msgstr "Instalação falhou" + +#: gajim/plugins/gui.py:67 gajim/data/gui/shortcuts_window.ui:38 +msgid "Plugins" +msgstr "Plugins" + +#: gajim/plugins/gui.py:75 +msgid "Click to view Gajim's wiki page on how to install plugins in Flatpak." +msgstr "" +"Clique para ver a página wiki de Gajim sobre como instalar plugins em " +"Flatpak." + +#: gajim/plugins/gui.py:84 +msgid "Plugin" +msgstr "Plugin" + +#: gajim/plugins/gui.py:95 gajim/data/gui/manage_sounds.ui:40 +msgid "Active" +msgstr "Ativo" + +#: gajim/plugins/gui.py:159 +#, python-format +msgid "Warning: %s" +msgstr "Aviso:%s" + +#: gajim/plugins/gui.py:216 +msgid "Plugin failed" +msgstr "Plugin falhou" + +#: gajim/plugins/gui.py:249 +msgid "Unable to properly remove the plugin" +msgstr "Incapaz de remover corretamente o plugin" + +#: gajim/plugins/gui.py:287 +msgid "Overwrite Plugin?" +msgstr "Sobrescrever o Plugin?" + +#: gajim/plugins/gui.py:289 +msgid "Do you want to overwrite the currently installed version?" +msgstr "Você quer sobrescrever a versão atualmente instalada?" + +#: gajim/plugins/gui.py:317 gajim/data/gui/groupchat_config.ui:258 +msgid "Configuration" +msgstr "Configuração" + +#: gajim/data/gui/groupchat_nick_chooser.ui:47 +msgid "Join Group Chat as…" +msgstr "Ingressar numa Conferência como…" + +#: gajim/data/gui/groupchat_nick_chooser.ui:66 +msgid "Your Nickname" +msgstr "Seu Apelido" + +#: gajim/data/gui/groupchat_control.ui:36 +msgid "Drop Files or Contacts" +msgstr "Soltar arquivos ou contatos" + +#: gajim/data/gui/groupchat_control.ui:58 gajim/data/gui/chat_control.ui:322 +msgid "Bold" +msgstr "Negrito" + +#: gajim/data/gui/groupchat_control.ui:67 gajim/data/gui/chat_control.ui:331 +msgid "Italic" +msgstr "Itálico" + +#: gajim/data/gui/groupchat_control.ui:76 gajim/data/gui/chat_control.ui:340 +msgid "Underline" +msgstr "Sublinhado" + +#: gajim/data/gui/groupchat_control.ui:85 gajim/data/gui/chat_control.ui:349 +msgid "Strike" +msgstr "Tachado" + +#: gajim/data/gui/groupchat_control.ui:107 gajim/data/gui/chat_control.ui:371 +msgid "Font" +msgstr "Fonte" + +#: gajim/data/gui/groupchat_control.ui:121 gajim/data/gui/chat_control.ui:385 +msgid "Clear formatting" +msgstr "Limpar Formatação" + +#: gajim/data/gui/groupchat_control.ui:383 gajim/data/gui/chat_control.ui:784 +msgid "Choose encryption" +msgstr "Escolha a criptografia" + +#: gajim/data/gui/groupchat_control.ui:429 gajim/data/gui/chat_control.ui:667 +msgid "Show a list of emojis (Alt+M)" +msgstr "Exibe uma lista de emojis (Alt+M)" + +#: gajim/data/gui/groupchat_control.ui:454 gajim/data/gui/chat_control.ui:833 +msgid "Send Message" +msgstr "Enviar Mensagem" + +#: gajim/data/gui/groupchat_control.ui:583 +msgid "Joining…" +msgstr "Entrando…" + +#: gajim/data/gui/groupchat_control.ui:641 +msgid "Enter Nickname" +msgstr "Inserir Apelido" + +#: gajim/data/gui/groupchat_control.ui:691 +#: gajim/data/gui/groupchat_control.ui:783 +msgid "Ch_ange" +msgstr "_Alterar" + +#: gajim/data/gui/groupchat_control.ui:748 +#: gajim/data/gui/shortcuts_window.ui:319 +msgid "Change Subject" +msgstr "Alterar assunto" + +#: gajim/data/gui/groupchat_control.ui:864 +msgid "Enter Password" +msgstr "Digite a senha" + +#: gajim/data/gui/groupchat_control.ui:1081 +msgid "_Forget Group Chat" +msgstr "Esquecer grupo de bate-papo" + +#: gajim/data/gui/groupchat_control.ui:1085 +msgid "Gajim will not try to join this group chat again" +msgstr "O Gajim não vai mais tentar entrar neste grupo de bate-papo" + +#: gajim/data/gui/groupchat_control.ui:1102 +msgid "T_ry Again" +msgstr "Tenta_r novamente" + +#: gajim/data/gui/groupchat_control.ui:1156 +msgid "An Error Occurred" +msgstr "Ocorreu um erro" + +#: gajim/data/gui/groupchat_control.ui:1221 +msgid "_Try Again" +msgstr "_Tentar novamente" + +#: gajim/data/gui/groupchat_control.ui:1398 +msgid "Kick Participant" +msgstr "Chutar Participante" + +#: gajim/data/gui/groupchat_control.ui:1436 +msgid "_Kick" +msgstr "_Chutar" + +#: gajim/data/gui/groupchat_control.ui:1469 +#: gajim/data/gui/groupchat_control.ui:1595 +#: gajim/data/gui/groupchat_control.ui:1721 +#: gajim/data/gui/groupchat_control.ui:1738 +#: gajim/data/gui/groupchat_control.ui:1827 +#: gajim/data/gui/groupchat_control.ui:1828 +msgid "Insert Emoji" +msgstr "Inserir Emoji" + +#: gajim/data/gui/groupchat_control.ui:1482 +#: gajim/data/gui/groupchat_control.ui:1608 +msgid "Reason (optional)" +msgstr "Razão (opcional)" + +#: gajim/data/gui/groupchat_control.ui:1524 +msgid "Ban Participant" +msgstr "Banir Participante" + +#: gajim/data/gui/groupchat_control.ui:1562 +msgid "_Ban" +msgstr "_Banir" + +#: gajim/data/gui/groupchat_control.ui:1650 +msgid "Destroy This Chat" +msgstr "Destruir este bate-papo" + +#: gajim/data/gui/groupchat_control.ui:1688 +msgid "_Destroy" +msgstr "Destruir" + +#: gajim/data/gui/groupchat_control.ui:1722 +msgid "Alternate venue (optional)..." +msgstr "Ponto de Referência (opcional)..." + +#: gajim/data/gui/groupchat_control.ui:1739 +msgid "Reason (optional)..." +msgstr "Razão (opcional)..." + +#: gajim/data/gui/groupchat_control.ui:1752 +msgid "Reason for destruction" +msgstr "Motivo da destruição" + +#: gajim/data/gui/groupchat_control.ui:1767 +msgid "Where participants should go" +msgstr "Para onde os participantes devem ir" + +#: gajim/data/gui/groupchat_control.ui:1808 +msgid "Rename This Chat" +msgstr "Renomear esta conversa" + +#: gajim/data/gui/groupchat_control.ui:1935 +msgid "_Invite" +msgstr "_Convidar" + +#: gajim/data/gui/groupchat_control.ui:2020 +msgid "Settings for This Chat" +msgstr "Configurações para esta conversa" + +#: gajim/data/gui/filetransfers.ui:21 +msgid "Pa_use/Resume" +msgstr "Pa_usar/Continuar" + +#: gajim/data/gui/filetransfers.ui:45 +msgid "_Open Folder" +msgstr "_Abrir pasta" + +#: gajim/data/gui/filetransfers.ui:56 gajim/data/gui/filetransfers.ui:206 +msgid "File Transfers" +msgstr "Transferência de arquivos" + +#: gajim/data/gui/filetransfers.ui:91 +msgid "_Show notification when file transfer is complete" +msgstr "_Notificar-me quando a transmissão do arquivo terminar" + +#: gajim/data/gui/filetransfers.ui:131 +msgid "file transfers list" +msgstr "lista de transferência de arquivos" + +#: gajim/data/gui/filetransfers.ui:132 +msgid "A list of active, completed and stopped file transfers" +msgstr "Uma lista de transferências de arquivo ativas, completadas e paradas" + +#: gajim/data/gui/filetransfers.ui:154 +msgid "Remove completed, cancelled and failed file transfers from the list" +msgstr "Remove da lista transferências completadas, canceladas ou interrompidas" + +#: gajim/data/gui/filetransfers.ui:167 +msgid "Pause or resume file transfer" +msgstr "Pausar ou retomar transferência de arquivo" + +#: gajim/data/gui/filetransfers.ui:180 +msgid "Cancel the selected file transfer and remove incomplete files" +msgstr "" +"Cancela a transferência de arquivo selecionada e remove o arquivos " +"incompletos" + +#: gajim/data/gui/filetransfers.ui:207 +msgid "Shows a list of file transfers between you and your contacts" +msgstr "" +"Exibe uma lista de transferências de arquivos entre você e seus contatos" + +#: gajim/data/gui/add_new_contact_window.ui:76 +msgid "_XMPP Address" +msgstr "Endereço _XMPP" + +#: gajim/data/gui/add_new_contact_window.ui:92 +msgid "_Nickname" +msgstr "_Apelido" + +#: gajim/data/gui/add_new_contact_window.ui:109 +msgid "_Group" +msgstr "_Grupo" + +#: gajim/data/gui/add_new_contact_window.ui:157 +msgid "Choose or type new group name" +msgstr "Escolha ou digite o novo nome do grupo" + +#: gajim/data/gui/add_new_contact_window.ui:173 +msgid "A_ccount" +msgstr "C_onta" + +#: gajim/data/gui/add_new_contact_window.ui:189 +msgid "_Protocol" +msgstr "_Protocolo" + +#: gajim/data/gui/add_new_contact_window.ui:287 +#: gajim/data/gui/single_message_window.ui:161 +msgid "Query Contact Info" +msgstr "Consulta de Informação de Contato" + +#: gajim/data/gui/add_new_contact_window.ui:312 +msgid "A_llow contact to view my status" +msgstr "Permitir ao contato ver meu status" + +#: gajim/data/gui/add_new_contact_window.ui:363 +msgid "_Save subscription message" +msgstr "_Salvar mensagem de inscrição" + +#: gajim/data/gui/add_new_contact_window.ui:389 +msgid "" +"You have to register with this transport\n" +"to be able to add a contact from this\n" +"protocol. Click on Register button to\n" +"proceed." +msgstr "" +"Você deve se registrar com este\n" +"transporte para poder contactar por\n" +"este protocolo. Clique no botão\n" +"Registrar para continuar." + +#: gajim/data/gui/add_new_contact_window.ui:404 +msgid "_Register" +msgstr "_Registrar" + +#: gajim/data/gui/add_new_contact_window.ui:433 +msgid "" +"You must be connected to the transport to be able\n" +"to add a contact from this protocol." +msgstr "" +"Você deve estar conectado para que o transporte \n" +"possa adicionar um contato desse protocolo." + +#: gajim/data/gui/add_new_contact_window.ui:467 +msgid "_Add" +msgstr "_Adicionar" + +#: gajim/data/gui/account_wizard.ui:16 gajim/data/gui/manage_proxies.ui:206 +msgid "_Port" +msgstr "_Porta" + +#: gajim/data/gui/account_wizard.ui:46 +msgid "_Hostname" +msgstr "_Nome do computador" + +#: gajim/data/gui/account_wizard.ui:62 gajim/data/gui/account_wizard.ui:689 +#: gajim/data/gui/manage_proxies.ui:223 +msgid "example.org" +msgstr "exemplo.org" + +#: gajim/data/gui/account_wizard.ui:75 +msgid "Prox_y" +msgstr "Prox_y" + +#: gajim/data/gui/account_wizard.ui:110 +msgid "Manage Proxies..." +msgstr "Gerenciar proxies..." + +#: gajim/data/gui/account_wizard.ui:131 gajim/data/gui/preferences.ui:798 +msgid "Advanced Settings" +msgstr "Configurações Avançadas" + +#: gajim/data/gui/account_wizard.ui:163 gajim/data/gui/manage_proxies.ui:290 +msgid "_Type" +msgstr "_Tipo" + +#: gajim/data/gui/account_wizard.ui:203 +msgid "Welcome" +msgstr "Bem vindo" + +#: gajim/data/gui/account_wizard.ui:219 +msgid "Please enter your credentials or Sign Up" +msgstr "Digite suas credenciais ou Inscreva-se" + +#: gajim/data/gui/account_wizard.ui:237 +msgid "Your XMPP address (e.g. user@example.org)" +msgstr "Seu endereço XMPP (ex. usuario@exemplo.org)" + +#: gajim/data/gui/account_wizard.ui:239 +#: gajim/data/gui/single_message_window.ui:59 +msgid "user@example.org" +msgstr "usuario@exemplo.org" + +#: gajim/data/gui/account_wizard.ui:252 +msgid "Your password" +msgstr "Sua senha" + +#: gajim/data/gui/account_wizard.ui:266 gajim/data/gui/account_wizard.ui:719 +msgid "_Advanced Settings" +msgstr "Configurações _avançadas" + +#: gajim/data/gui/account_wizard.ui:270 gajim/data/gui/account_wizard.ui:723 +msgid "Proxy, custom hostname and port" +msgstr "Proxy, domínio e porta customizados" + +#: gajim/data/gui/account_wizard.ui:283 +msgid "_Log In" +msgstr "_Entrar" + +#: gajim/data/gui/account_wizard.ui:288 +msgid "Log in with your credentials" +msgstr "Entrar com suas credenciais" + +#: gajim/data/gui/account_wizard.ui:304 +msgid "or" +msgstr "ou" + +#: gajim/data/gui/account_wizard.ui:314 +msgid "_Sign Up" +msgstr "_Registrar-se" + +#: gajim/data/gui/account_wizard.ui:318 +msgid "Sign up for a new account on a server of your choice" +msgstr "Inscrever-se para uma nova conta em um servidor de sua escolha" + +#: gajim/data/gui/account_wizard.ui:369 +msgid "Visit Website" +msgstr "Visitar Site" + +#: gajim/data/gui/account_wizard.ui:410 +msgid "Certificate Verification Failed" +msgstr "Verificação de Certificado Falhou" + +#: gajim/data/gui/account_wizard.ui:428 +msgid "" +"The following warnings came up while trying to verify the server's " +"certificate" +msgstr "" +"Os seguintes avisos surgiram ao tentar verificar o certificado do servidor" + +#: gajim/data/gui/account_wizard.ui:457 +msgid "_Show Certificate" +msgstr "_Mostrar Certificado" + +#: gajim/data/gui/account_wizard.ui:472 +msgid "_Add to Trusted Certificates" +msgstr "_Adicionar a certificados confiáveis" + +#: gajim/data/gui/account_wizard.ui:501 gajim/data/gui/account_wizard.ui:664 +msgid "Which server should I choose?" +msgstr "Qual servidor devo escolher?" + +#: gajim/data/gui/account_wizard.ui:516 +msgid "" +"There are plenty of servers to choose from.\n" +"Creating an account on one server allows you to communicate with contacts " +"from other servers as well." +msgstr "" +"Existem vários servidores para escolher.\n" +"Criar uma conta em um servidor também permite que você se comunique com " +"contatos de outros servidores." + +#: gajim/data/gui/account_wizard.ui:530 +msgid "Visit Server's Website" +msgstr "Visitar o Site do Servidor" + +#: gajim/data/gui/account_wizard.ui:550 +msgid "Listing of Servers" +msgstr "Lista de Servidores" + +#: gajim/data/gui/account_wizard.ui:568 +msgid "" +"xmpp.org/getting-started" +msgstr "" +"xmpp.org/getting-started" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "Uma Comparação de Recursos de Vários Servidores" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" +"conversations.im/compliance" + +#: gajim/data/gui/account_wizard.ui:646 +msgid "_Please choose a server" +msgstr "_Por favor, escolha um servidor" + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "Entrar como Anonimo" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "Nota: contas Anonimas não são permitidas em todos os servidores" + +#: gajim/data/gui/application_menu.ui:8 +msgid "_Start / Join Chat…" +msgstr "_Iniciar/ Entrar no Chat…" + +#: gajim/data/gui/application_menu.ui:13 +msgid "Create _Group Chat…" +msgstr "Criar _Grupo de Chat…" + +#: gajim/data/gui/application_menu.ui:18 +msgid "_History Manager" +msgstr "Gerenciador de _histórico" + +#: gajim/data/gui/application_menu.ui:22 +msgid "Pl_ugins" +msgstr "Pl_ugins" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +msgid "_Preferences" +msgstr "_Preferências" + +#: gajim/data/gui/application_menu.ui:36 +msgid "_Accounts" +msgstr "Cont_as" + +#: gajim/data/gui/application_menu.ui:39 +msgid "_View" +msgstr "_Visualizar" + +#: gajim/data/gui/application_menu.ui:46 +msgid "Show _Offline Contacts" +msgstr "Exibir contatos desc_onectados" + +#: gajim/data/gui/application_menu.ui:50 +msgid "Show _Active Contacts" +msgstr "Exibir contatos _ativos" + +#: gajim/data/gui/application_menu.ui:54 +msgid "Show _Transports" +msgstr "Exibir _transportes" + +#: gajim/data/gui/application_menu.ui:60 +msgid "_XML Console" +msgstr "Console _XML" + +#: gajim/data/gui/application_menu.ui:64 +msgid "_File Transfer" +msgstr "Trans_ferência de Arquivos" + +#: gajim/data/gui/application_menu.ui:74 +msgid "_Help" +msgstr "_Ajuda" + +#: gajim/data/gui/application_menu.ui:77 +msgid "_Wiki (Online)" +msgstr "_Wiki (Online)" + +#: gajim/data/gui/application_menu.ui:81 +msgid "FA_Q (Online)" +msgstr "FA_Q (Online)" + +#: gajim/data/gui/application_menu.ui:85 +msgid "_Keyboard Shortcuts" +msgstr "Atalhos de _Teclado" + +#: gajim/data/gui/application_menu.ui:89 +msgid "_Features" +msgstr "_Recursos" + +#: gajim/data/gui/application_menu.ui:93 +msgid "_About" +msgstr "_Sobre" + +#: gajim/data/gui/filetransfer_progress.ui:125 +msgid "Speed" +msgstr "Velocidade" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "Tempo restante" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +msgid "OK" +msgstr "OK" + +#: gajim/data/gui/plugins_window.ui:55 +msgid "Install Plugin from ZIP-File" +msgstr "Instalar plugin de um arquivo zip" + +#: gajim/data/gui/plugins_window.ui:56 +msgid "Install from File…" +msgstr "Instalar do Arquivo…" + +#: gajim/data/gui/plugins_window.ui:70 +msgid "Uninstall Plugin" +msgstr "Desinstalar Plugin" + +#: gajim/data/gui/plugins_window.ui:116 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:133 +msgid "Plugin Settings" +msgstr "Configurações do plugin" + +#: gajim/data/gui/plugins_window.ui:215 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:239 +msgid "Version" +msgstr "Versão" + +#: gajim/data/gui/plugins_window.ui:271 +msgid "Authors" +msgstr "Autores" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +msgid "Homepage" +msgstr "Página Inicial" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:349 +msgid "Installed" +msgstr "Instalado" + +#: gajim/data/gui/plugins_window.ui:363 +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "" +"A descrição do plugin deveria ser exibida aqui. Este texto será apagado " +"durante a inicialização do PluginsWindow." + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +msgid "Synchronise contacts" +msgstr "Sincronizar contatos" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "Selecione a conta que você quer sincronizar" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "Público ou privado?" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" +"Privado: Se você planeja conversar criptografado, você normalmente " +"gostaria de criar um bate-papo em grupo privado. Você tem que convidar as " +"pessoas para que elas possam participar." + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "Público: Qualquer um que saiba o endereço pode entrar." + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +msgid "_Name" +msgstr "_Nome" + +#: gajim/data/gui/groupchat_creation.ui:122 +msgid "_Description" +msgstr "_Descrição" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "_Público" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +msgid "_Address" +msgstr "_Endereço" + +#: gajim/data/gui/groupchat_creation.ui:278 +msgid "_Account" +msgstr "Cont_a" + +#: gajim/data/gui/profile.ui:33 +msgid "Contact Infos" +msgstr "Informações do contato" + +#: gajim/data/gui/profile.ui:45 +msgid "Picture and Name" +msgstr "Avatar e Nome" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "Fazer seu perfil visível para todos ou apenas para seus contatos." + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "Remover sua foto de perfil" + +#: gajim/data/gui/profile.ui:198 +msgid "Change your profile picture" +msgstr "Mudar seu avatar" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "" +"Digite seu apelido. É assim que seu nome será mostrados para seus contatos." + +#: gajim/data/gui/profile.ui:298 +msgid "Add Entry" +msgstr "Adicionar Entrada" + +#: gajim/data/gui/profile.ui:410 +msgid "Update" +msgstr "Atualizar" + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "HTTP" + +#: gajim/data/gui/manage_proxies.ui:15 +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "SOCKS5" + +#: gajim/data/gui/manage_proxies.ui:65 +msgid "Add Proxy" +msgstr "Adicionar Proxy" + +#: gajim/data/gui/manage_proxies.ui:79 +msgid "Remove Proxy" +msgstr "Remover Proxy" + +#: gajim/data/gui/manage_proxies.ui:131 +msgid "Pass_word" +msgstr "_Senha" + +#: gajim/data/gui/manage_proxies.ui:156 +msgid "Use proxy auth_entication" +msgstr "Usar aut_enticação de proxy" + +#: gajim/data/gui/manage_proxies.ui:176 +msgid "_Username" +msgstr "Nome de _Usuário" + +#: gajim/data/gui/manage_proxies.ui:237 +msgid "_Host" +msgstr "_Computador" + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "JID local:" + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "Recurso:" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "Status:" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +msgid "_Store conversation history" +msgstr "_Armazenar histórico de conversa" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +msgid "Contact" +msgstr "Contato" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +msgid "First Name:" +msgstr "Primeiro nome:" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +msgid "Last Name:" +msgstr "Último nome:" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +msgid "XMPP Address:" +msgstr "Endereço XMPP:" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "Email:" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +msgid "Personal" +msgstr "Pessoal" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "_Status" + +#: gajim/data/gui/account_context_menu.ui:20 +msgid "_Personal Events" +msgstr "Eventos _pessoais" + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "_Adicionar contato..." + +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "_Descubra serviços" + +#: gajim/data/gui/account_context_menu.ui:57 +msgid "_Execute Command..." +msgstr "_Executar comando..." + +#: gajim/data/gui/account_context_menu.ui:65 +msgid "_View Server Info" +msgstr "_Ver informação do servidor" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" +"Iniciar um novo chat, entrar em um chat de grupo ou buscar por novos grupos " +"de chat globalmente. Você também pode entrar com um endereço XMPP." + +#: gajim/data/gui/start_chat_dialog.ui:125 +msgid "Global Group Chat Search" +msgstr "Buscar por grupos de bate-papo" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +msgid "_Back" +msgstr "_Voltar" + +#: gajim/data/gui/start_chat_dialog.ui:386 +msgid "Select Account" +msgstr "Selecionar Conta" + +#: gajim/data/gui/start_chat_dialog.ui:477 +msgid "_Select" +msgstr "_Selecionar" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" +"Nenhum contato encontrado\n" +"Você também pode digitar um endereço XMPP" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +msgid "Configure" +msgstr "Configurar" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +msgid "Create new post" +msgstr "Criar nova postagem" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "Sta_tus" + +#: gajim/data/gui/systray_context_menu.ui:20 +msgid "_Start Chat..." +msgstr "_Iniciar conversa..." + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "Enviar _mensagem simples..." + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "Exibir todos _eventos pendentes" + +#: gajim/data/gui/systray_context_menu.ui:52 +msgid "Mute Sounds" +msgstr "Sons mudos" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +msgid "Contact List" +msgstr "Lista de contatos" + +#: gajim/data/gui/shortcuts_window.ui:24 +msgid "Create new group chat" +msgstr "Criar novo grupo de bate-papo" + +#: gajim/data/gui/shortcuts_window.ui:45 +msgid "File transfers" +msgstr "Transferência de arquivos" + +#: gajim/data/gui/shortcuts_window.ui:52 +msgid "Set the status message" +msgstr "Definir mensagem de status" + +#: gajim/data/gui/shortcuts_window.ui:59 +msgid "Show XML console" +msgstr "Exibir console XML" + +#: gajim/data/gui/shortcuts_window.ui:74 +msgid "Appearance" +msgstr "Aparência" + +#: gajim/data/gui/shortcuts_window.ui:79 +msgid "Show offline contacts" +msgstr "Exibir desconectados" + +#: gajim/data/gui/shortcuts_window.ui:86 +msgid "Show only active contacts" +msgstr "Exibir somente contatos ativos" + +#: gajim/data/gui/shortcuts_window.ui:93 +msgid "Enable contact list filtering" +msgstr "Habilitar filtragem da lista de contatos" + +#: gajim/data/gui/shortcuts_window.ui:100 +msgid "Show / hide contact list" +msgstr "Exibir / ocultar lista de contatos" + +#: gajim/data/gui/shortcuts_window.ui:113 +msgid "Contact information" +msgstr "Informação de contato" + +#: gajim/data/gui/shortcuts_window.ui:120 +msgid "Rename contact" +msgstr "Renomear contato" + +#: gajim/data/gui/shortcuts_window.ui:127 +msgid "Delete contact" +msgstr "Deletar Contato" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +msgid "Chat" +msgstr "Conversa" + +#: gajim/data/gui/shortcuts_window.ui:142 +msgid "Message composition" +msgstr "Composição de mensagem" + +#: gajim/data/gui/shortcuts_window.ui:147 +msgid "Send the message" +msgstr "Enviar mensagem" + +#: gajim/data/gui/shortcuts_window.ui:154 +msgid "Add new line" +msgstr "Adicionar nova linha" + +#: gajim/data/gui/shortcuts_window.ui:161 +msgid "Select an emoji" +msgstr "Selecionar um emoji" + +#: gajim/data/gui/shortcuts_window.ui:168 +msgid "Complete a command or a nickname" +msgstr "Completar um comando ou apelido" + +#: gajim/data/gui/shortcuts_window.ui:175 +msgid "Previously sent message" +msgstr "Mensagem enviada previamente" + +#: gajim/data/gui/shortcuts_window.ui:182 +msgid "Next sent messages" +msgstr "Próximas mensagens enviadas" + +#: gajim/data/gui/shortcuts_window.ui:189 +msgid "Quote previous message" +msgstr "Citar mensagem anterior" + +#: gajim/data/gui/shortcuts_window.ui:196 +msgid "Quote next message" +msgstr "Citar próxima mensagem" + +#: gajim/data/gui/shortcuts_window.ui:203 +msgid "Clear message entry" +msgstr "Limpar entrada de mensagem" + +#: gajim/data/gui/shortcuts_window.ui:211 +msgid "Recent history" +msgstr "Histórico Recente" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "Rolar para cima" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "Rolar para baixo" + +#: gajim/data/gui/shortcuts_window.ui:230 +msgid "Clear chat window" +msgstr "Limpar a janela de bate-papo" + +#: gajim/data/gui/shortcuts_window.ui:237 +msgid "Show chat history" +msgstr "Exibir histórico de bate-papo" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "Abas" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "Mudar para a aba anterior" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "Mudar para a próxima aba" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "Mudar para a primeira - nona aba" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "Mudar para a aba não lida anterior" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "Mudar para a próxima aba não lida" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "Mova aba para esquerda" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "Mova aba para direita" + +#: gajim/data/gui/shortcuts_window.ui:299 +msgid "Close chat" +msgstr "Fechar chat" + +#: gajim/data/gui/shortcuts_window.ui:312 +msgid "Change Nickname" +msgstr "Trocar Apelido" + +#: gajim/data/gui/chat_control.ui:48 +msgid "Drop files or contacts" +msgstr "Soltar arquivos ou contatos" + +#: gajim/data/gui/chat_control.ui:80 +msgid "1" +msgstr "1" + +#: gajim/data/gui/chat_control.ui:101 +msgid "2 abc" +msgstr "2 abc" + +#: gajim/data/gui/chat_control.ui:121 +msgid "3 def" +msgstr "3 def" + +#: gajim/data/gui/chat_control.ui:141 +msgid "4 ghi" +msgstr "4 ghi" + +#: gajim/data/gui/chat_control.ui:161 +msgid "5 jkl" +msgstr "5 jkl" + +#: gajim/data/gui/chat_control.ui:181 +msgid "6 mno" +msgstr "6 mno" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "7 pqrs" + +#: gajim/data/gui/chat_control.ui:221 +msgid "8 tuv" +msgstr "8 tuv" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "9 wxyz" + +#: gajim/data/gui/chat_control.ui:261 +msgid "*" +msgstr "*" + +#: gajim/data/gui/chat_control.ui:281 +msgid "0" +msgstr "0" + +#: gajim/data/gui/chat_control.ui:301 +msgid "#" +msgstr "#" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "A última mensagem foi escrita em um cliente móvel" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "Com Microfone" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "Microfone e Câmera" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "Finalizar chamada" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "Iniciar _conversa" + +#: gajim/data/gui/contact_context_menu.ui:28 +msgid "Send _File..." +msgstr "Enviar _arquivo..." + +#: gajim/data/gui/contact_context_menu.ui:44 +msgid "Invite _Contacts" +msgstr "Convidar _contatos" + +#: gajim/data/gui/contact_context_menu.ui:58 +msgid "E_xecute Command..." +msgstr "E_xecutar comando..." + +#: gajim/data/gui/contact_context_menu.ui:67 +msgid "M_anage Contact" +msgstr "_Gerenciar contato" + +#: gajim/data/gui/contact_context_menu.ui:77 +msgid "_Rename..." +msgstr "_Renomear..." + +#: gajim/data/gui/contact_context_menu.ui:84 +msgid "Edit _Groups..." +msgstr "Editar _grupos..." + +#: gajim/data/gui/contact_context_menu.ui:92 +msgid "Add Special _Notification..." +msgstr "Adicionar _notificação especial..." + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "_Inscrição" + +#: gajim/data/gui/contact_context_menu.ui:115 +msgid "_Allow contact to see my status" +msgstr "D_eixar este contato ver meu status" + +#: gajim/data/gui/contact_context_menu.ui:123 +msgid "A_sk to see contact status" +msgstr "Pedir para ver o _status do contato" + +#: gajim/data/gui/contact_context_menu.ui:131 +msgid "_Forbid contact to see my status" +msgstr "_Proibir contato de ver meu status" + +#: gajim/data/gui/contact_context_menu.ui:159 +msgid "_Unignore" +msgstr "Nã_o ignorar" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "_Ignorar" + +#: gajim/data/gui/contact_context_menu.ui:174 +msgid "_Add to Contact List..." +msgstr "_Adicionar a lista de contatos..." + +#: gajim/data/gui/single_message_window.ui:42 +msgid "_To" +msgstr "_Para" + +#: gajim/data/gui/single_message_window.ui:71 +msgid "Su_bject" +msgstr "As_sunto" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "Digite o assunto aqui..." + +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "_Mensagem" + +#: gajim/data/gui/single_message_window.ui:144 +msgid "Characters typed: 0" +msgstr "Caracteres escritos: 0" + +#: gajim/data/gui/single_message_window.ui:189 +msgid "_From" +msgstr "_De" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "E_nviar" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "Enviar mensagem" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "_Responder" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "Resposta para esta mensagem" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "_Enviar & fechar" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "Enviar mensagem e fechar a janela" + +#: gajim/data/gui/vcard_information_window.ui:106 +msgid "Client" +msgstr "Cliente" + +#: gajim/data/gui/vcard_information_window.ui:140 +msgid "Contact time" +msgstr "Hora do contato" + +#: gajim/data/gui/vcard_information_window.ui:240 +msgid "User avatar" +msgstr "Avatar do usuário" + +#: gajim/data/gui/vcard_information_window.ui:255 +msgid "Configured avatar" +msgstr "Avatar configurado" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +msgid "Ask" +msgstr "Perguntar" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +msgid "Subscription" +msgstr "Assinatura" + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +msgid "Extra Address" +msgstr "Complemento" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +msgid "Address" +msgstr "Endereço" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +msgid "E-Mail" +msgstr "E-mail" + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "Formato: YYYY-MM-DD" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +msgid "Family" +msgstr "Família" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +msgid "Middle" +msgstr "Meio" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +msgid "Prefix" +msgstr "Prefixo" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +msgid "Given" +msgstr "Concedidos" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +msgid "Suffix" +msgstr "Sufixo" + +#: gajim/data/gui/vcard_information_window.ui:958 +msgid "Name Details" +msgstr "Detalhes do Nome" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "botão" + +#: gajim/data/gui/vcard_information_window.ui:1017 +msgid "Personal Info" +msgstr "Informações pessoais" + +#: gajim/data/gui/vcard_information_window.ui:1040 +msgid "Company" +msgstr "Empresa" + +#: gajim/data/gui/vcard_information_window.ui:1073 +msgid "Department" +msgstr "Departamento" + +#: gajim/data/gui/vcard_information_window.ui:1104 +msgid "Position" +msgstr "Posição" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "Cargo" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "Sobre" + +#: gajim/data/gui/vcard_information_window.ui:1514 +msgid "Comments" +msgstr "Comentários" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "Editar grupos" + +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "Frase de acesso" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "Adicionar uma configuração que você gostaria de mudar" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +msgid "Themes" +msgstr "Temas" + +#: gajim/data/gui/themes_window.ui:171 +msgid "Add Setting" +msgstr "Adicionar Configuração" + +#: gajim/data/gui/themes_window.ui:204 +msgid "Add new Theme" +msgstr "Adicionar novo tema" + +#: gajim/data/gui/themes_window.ui:219 +msgid "Remove Theme" +msgstr "Remover Tema" + +#: gajim/data/gui/bookmarks.ui:120 +msgid "Autojoin" +msgstr "Entrada automática" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "_Aplicar" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "Comportamento de janelas e abas" + +#: gajim/data/gui/preferences.ui:68 +msgid "Contact List Appearance" +msgstr "Aparência da lista de contatos" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +msgid "Chats" +msgstr "Conversas" + +#: gajim/data/gui/preferences.ui:215 +msgid "Visual Notifications" +msgstr "Notificações Visuais" + +#: gajim/data/gui/preferences.ui:243 +msgid "Sounds" +msgstr "Sons" + +#: gajim/data/gui/preferences.ui:303 +msgid "Ask For Status Message on…" +msgstr "Solicitar mensagem de status em…" + +#: gajim/data/gui/preferences.ui:331 +msgid "Automatic Status Change" +msgstr "Mudar status automaticamente" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "Emojis" + +#: gajim/data/gui/preferences.ui:447 +msgid "Status Icon" +msgstr "Ícone de status" + +#: gajim/data/gui/preferences.ui:472 +msgid "Style" +msgstr "Estilo" + +#: gajim/data/gui/preferences.ui:511 +msgid "Show _Features" +msgstr "Mostrar _Recursos" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "Faltando dependências para Áudio/Vídeo" + +#: gajim/data/gui/preferences.ui:632 +msgid "Audio" +msgstr "Áudio" + +#: gajim/data/gui/preferences.ui:660 +msgid "Video" +msgstr "Vídeo" + +#: gajim/data/gui/preferences.ui:698 +msgid "Audio/Video" +msgstr "Audio/Video" + +#: gajim/data/gui/preferences.ui:735 +msgid "Miscellaneous" +msgstr "Diversos" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "Reestabelecer Dicas" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "Isto reestabelecerá todas as dicas introdutórias" + +#: gajim/data/gui/preferences.ui:821 +msgid "Advanced Configuration Editor… " +msgstr "Editor de Configurações Avançadas… " + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "Por favor, use essas configurações com cautela!" + +#: gajim/data/gui/server_info.ui:50 +msgid "Server Software" +msgstr "Software do Servidor" + +#: gajim/data/gui/server_info.ui:80 +msgid "Server Uptime" +msgstr "Funcionamento do Servidor" + +#: gajim/data/gui/server_info.ui:109 +msgid "Contact Addresses" +msgstr "Endereços de Contato" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "Nenhum endereço de contato publicado para este servidor." + +#: gajim/data/gui/server_info.ui:177 +msgid "Proxy Type" +msgstr "Tipo de Proxy" + +#: gajim/data/gui/server_info.ui:192 +msgid "No proxy used" +msgstr "Nenhum proxy usado" + +#: gajim/data/gui/server_info.ui:202 +msgid "View _Certificate" +msgstr "Visualizar _Certificado" + +#: gajim/data/gui/server_info.ui:222 +msgid "Proxy Host" +msgstr "Máquina Proxy" + +#: gajim/data/gui/server_info.ui:421 +msgid "Copy info to clipboard" +msgstr "Copiar informações para área de transferência" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "Nome comum (CN)" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "Organização (O)" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "Unidade Organizacional (OU)" + +#: gajim/data/gui/certificate_dialog.ui:153 +msgid "Serial Number" +msgstr "Número de Série" + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "Emitido em" + +#: gajim/data/gui/certificate_dialog.ui:304 +msgid "Expires on" +msgstr "Expira em" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "SHA-1" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "Emitido para" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "Emitido por" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "Validade" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "Fingerprints" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "SHA-256" + +#: gajim/data/gui/certificate_dialog.ui:465 +msgid "Copy Certificate Information" +msgstr "Copiar Informação de Certificado" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "Convidar amigos!" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "" +"Agora você está entrando em um grupo de bate-papo.\n" +"Selecione os contatos que você quer convidar" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "coluna" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +msgid "Please select a group chat server." +msgstr "Por favor, selecione um servidor de grupo de bate-papo." + +#: gajim/data/gui/chat_to_muc_window.ui:141 +msgid "Group chat server" +msgstr "Servidor do grupo de bate-papo" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +msgid "In_vite" +msgstr "Con_vidar" + +#: gajim/data/gui/mam_preferences.ui:53 +msgid "_Default" +msgstr "_Padrão" + +#: gajim/data/gui/mam_preferences.ui:136 +msgid "Archive" +msgstr "Arquivo" + +#: gajim/data/gui/history_manager.ui:11 +msgid "_Export" +msgstr "_Exportar" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +msgid "Gajim History Logs Manager" +msgstr "Gerenciador de histórico de logs do Gajim" + +#: gajim/data/gui/history_manager.ui:104 +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" +"Este gerenciador de histórico não tem a intenção de ser um visualizador. Se " +"você está procurando por esta funcionalidade, use a janela de histórico.\n" +"\n" +"Use este programa para deletar ou exportar histórico. Você pode selecionar " +"logs a esquerda ou pesquisar no banco de dados." + +#: gajim/data/gui/history_manager.ui:120 +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" +"CUIDADO:\n" +"Se você planeja fazer apagamentos maciços, certifique-se por favor que o " +"Gajim não está executando. Evite apagamentos com contatos que você esteja " +"conversando no momento." + +#: gajim/data/gui/history_manager.ui:211 +msgid "Search database..." +msgstr "Pesquisar banco de dados..." + +#: gajim/data/gui/history_manager.ui:226 +msgid "Search in database" +msgstr "_Buscar no banco de dados" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" +"Não restam contatos.\n" +"Você também pode digitar um endereço XMPP." + +#: gajim/data/gui/groupchat_invite.ui:69 +msgid "Invitees" +msgstr "Convidados" + +#: gajim/data/gui/groupchat_invite.ui:153 +msgid "Search contacts..." +msgstr "Pesquisar contatos..." + +#: gajim/data/gui/groupchat_invite.ui:223 +msgid "Click on contacts you would like to invite to this group chat." +msgstr "" +"Clique nos contatos que você gostaria de convidar para esta conferência." + +#: gajim/data/gui/service_discovery_window.ui:148 +msgid "Go" +msgstr "Ir" + +#: gajim/data/gui/status_change_window.ui:27 +msgid "Change Status" +msgstr "Alterar status" + +#: gajim/data/gui/status_change_window.ui:56 +msgid "Status Presets…" +msgstr "Status Predefinido…" + +#: gajim/data/gui/status_change_window.ui:72 +msgid "Save this message as a preset" +msgstr "Salvar esta mensagem como predefinida" + +#: gajim/data/gui/status_change_window.ui:130 +msgid "Ac_tivity" +msgstr "A_tividade" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "Hu_mor" + +#: gajim/data/gui/status_change_window.ui:278 +msgid "_Change Status" +msgstr "_Alterar status" + +#: gajim/data/gui/status_change_window.ui:313 +msgid "Activity" +msgstr "Atividade" + +#: gajim/data/gui/status_change_window.ui:326 +msgid "_No Activity" +msgstr "_Sem Atividade" + +#: gajim/data/gui/status_change_window.ui:729 +msgid "Mood" +msgstr "Humor" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "Tópico" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +msgid "Author" +msgstr "Autor" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "Registro de Discussão" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +msgid "Group Chat Language" +msgstr "Idioma do grupo de bate-papo" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +msgid "Copy Address" +msgstr "Copiar endereço" + +#: gajim/data/gui/emoji_chooser.ui:98 +msgid "No Results Found" +msgstr "Nenhum resultado encontrado" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr "Console XML" + +#: gajim/data/gui/xml_console.ui:131 +msgid "Start Search..." +msgstr "Iniciar Busca..." + +#: gajim/data/gui/xml_console.ui:260 +msgid "Clear" +msgstr "Limpar" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "Colar última entrada" + +#: gajim/data/gui/xml_console.ui:316 +msgid "Presets" +msgstr "Predefinições" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "Sincronizar: selecionar contatos" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +msgid "Select the contacts you want to synchronise" +msgstr "Selecione os contatos que você quer sincronizar" + +#: gajim/data/gui/groupchat_config.ui:51 +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" +"Endereço XMPP\n" +"<usuario@dominio/recurso> (somente este recurso combina)\n" +"<usuario@dominio> (qualquer recurso combina)\n" +"<dominio/recurso> (somente este recurso combina)\n" +"<dominio> (o domínio combina por si, como também qualquer com qualquer " +"usuario@domínio ou domínio/recurso)\n" + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "Somente administradores e proprietários podem modificar a afiliação" + +#: gajim/data/gui/groupchat_config.ui:309 +msgid "Reserved Name" +msgstr "Nome Reservado" + +#: gajim/data/gui/groupchat_config.ui:346 +msgid "Affiliation" +msgstr "Afiliação" + +#: gajim/data/gui/groupchat_config.ui:377 +msgid "Affiliations" +msgstr "Filiações" + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "Razão" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "Lista de banidos" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "_Negar" + +#: gajim/data/gui/subscription_request_window.ui:34 +msgid "_Block User" +msgstr "_Bloquear usuário" + +#: gajim/data/gui/subscription_request_window.ui:49 +msgid "_Report as Spam" +msgstr "_Reportar como spam" + +#: gajim/data/gui/subscription_request_window.ui:212 +msgid "_Deny…" +msgstr "_Negar…" + +#: gajim/data/gui/subscription_request_window.ui:225 +msgid "Ac_cept" +msgstr "A_ceitar" + +#: gajim/data/gui/subscription_request_window.ui:230 +msgid "Allows the contact to see your online status" +msgstr "Deixar este contato ver meu status online" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "Desculpe, isso não deveria ter acontecido" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" +"O Gajim encontrou um erro. Um relatório é mostrado abaixo.\n" +"Ao relatar esse bug, você pode ajudar as pessoas a corrigir isso." + +#: gajim/data/gui/exception_dialog.ui:115 +msgid "_Report Bug" +msgstr "_Reportar erro" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "Evento" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "Escolher som" + +#: gajim/data/gui/manage_sounds.ui:97 +msgid "Clear Sound" +msgstr "Som Claro" + +#: gajim/data/gui/manage_sounds.ui:118 +msgid "Play Sound" +msgstr "Reproduzir um som" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +msgid "_Send Files" +msgstr "Enviar _arquivos" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +msgid "Send" +msgstr "Enviar" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +msgid "Files to send" +msgstr "Arquivos para enviar" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +msgid "Add Files" +msgstr "Adicionar Arquivos" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +msgid "Remove Files" +msgstr "_Remover Arquivos" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +msgid "Idle since:" +msgstr "Ocioso desde:" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +msgid "Mood:" +msgstr "Humor:" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +msgid "Activity:" +msgstr "Atividade:" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +msgid "Tune:" +msgstr "Música:" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +msgid "Location:" +msgstr "Localização:" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +msgid "Subscription:" +msgstr "Inscrição:" + +#: gajim/data/gui/advanced_configuration.ui:15 +msgid "A restart may be required for some settings to take effect" +msgstr "" +"Pode ser necessário reiniciar o Gajim para que algumas configurações tenham " +"efeito" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "Digite para buscar pelos valores..." + +#: gajim/data/gui/advanced_configuration.ui:120 +msgid "_Reset Value" +msgstr "_Resetar Valor" + +#: gajim/data/gui/advanced_configuration.ui:125 +msgid "Resets value to default" +msgstr "Reseta valores ao padrão" + +#: gajim/data/gui/history_window.ui:27 +msgid "Display status changes" +msgstr "Exibir mudanças de status" + +#: gajim/data/gui/history_window.ui:57 +msgid "History Manager" +msgstr "Gerenciador de histórico" + +#: gajim/data/gui/history_window.ui:233 +msgid "Mode" +msgstr "Modo" + +#: gajim/data/gui/history_window.ui:246 +msgid "Search complete history" +msgstr "Pesquisar histórico completo" + +#: gajim/data/gui/history_window.ui:263 +msgid "Search selected day only" +msgstr "Pesquisa apenas no dia selecionado" + +#: gajim/data/gui/history_window.ui:317 +msgid "Store history for this chat" +msgstr "Armazenar o histórico desta conversa" + +#: gajim/data/gui/history_window.ui:332 +msgid "Store History" +msgstr "Armazenar Histórico" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +msgid "Identified Error" +msgstr "Erro Identificado" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +msgid "" +msgstr "" + +#: gajim/data/gui/ssl_error_dialog.ui:74 +msgid "Add this certificate to the list of _trusted certificates" +msgstr "Adicione este certificado à lista de certificados confiáveis" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +msgid "_View Certificate" +msgstr "_Visualizar Certificado" + +#: gajim/data/gui/ssl_error_dialog.ui:120 +msgid "_Connect" +msgstr "_Conectar" + +#: data/org.gajim.Gajim.desktop.in:5 +msgid "XMPP Chat Client" +msgstr "Um cliente de bate-papo XMPP" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "Um cliente XMPP com todos os recursos" + +#: data/org.gajim.Gajim.desktop.in:8 +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "chat;messaging;im;jabber;xmpp;bonjour;voip;" + +#: data/org.gajim.Gajim.desktop.in:27 +msgid "Show next pending event" +msgstr "Exibir próximo evento pendente" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" +"O Gajim almeja ser um cliente XMPP completo fácil de usar. Simplesmente " +"converse com seus amigos ou familiares, compartilhe fotos e pensamentos " +"facilmente ou discuta as notícias com seus grupos." + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "" +"Converse com segurança com criptografia de ponta a ponta via OMEMO ou " +"OpenPGP." + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" +"Gajim se integra bem com seus outros dispositivos: simplesmente continue " +"conversas pelo seu dispositivo móvel." + +#: data/org.gajim.Gajim.appdata.xml.in:17 +msgid "Features:" +msgstr "Características:" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "" +"Nunca perca uma mensagem, mantenha todos os seus clientes de bate-papo " +"sincronizados" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "Convide amigos para conversar em grupo ou participe de um" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "Envie facilmente fotos, vídeos ou outros arquivos para amigos e grupos" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "" +"Converse com segurança com criptografia de ponta a ponta via OMEMO ou OpenPGP" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "Use seus emoticons favoritos, defina sua própria foto de perfil" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "Mantenha e gerencie todo o seu histórico de bate-papo" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "Organize seus bate-papos com guias" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +msgid "Automatic spell-checking for your messages" +msgstr "Verificação ortográfica automática para suas mensagens" + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "Conecte-se a outros Mensageiros via Transportes (Facebook, IRC, ...)" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" +"Pesquise coisas na Wikipédia, dicionários ou outros mecanismos de busca " +"diretamente da janela de bate-papo" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" +"Defina sua atividade, sintonia e humor para mostrar aos seus amigos como " +"você está se sentindo" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "Suporte para várias contas" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "Agrupar vários contatos de um amigo para um único Meta-Contact" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "Console XML para ver o que está acontecendo na camada de protocolo" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "Mensagens sem servidor (Bonjour/Zeroconf)" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +msgid "Support for service discovery including nodes and search for users" +msgstr "Suporte para descoberta de serviços incluindo nós e pesquisa de usuário" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "Ainda mais recursos através de plugins" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +msgid "Contact list" +msgstr "Lista de contatos" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "Janela de bate-papo tabbed" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +msgid "Group chat support" +msgstr "Suporte de chat em grupo" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +msgid "Chat history" +msgstr "Histórico" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +msgid "Plugin manager" +msgstr "Gerenciador de Plugins" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +msgid "Gajim Team" +msgstr "Equipe do Gajim" + +#~ msgid "Chat Settings" +#~ msgstr "Configurações de chat" + +#, python-format +#~ msgid "%i day" +#~ msgid_plural "%i days" +#~ msgstr[0] "%i dia" +#~ msgstr[1] "%i dias" + +#~ msgid "Composing only" +#~ msgstr "Apenas escrevendo" + +#~ msgid "All chat states" +#~ msgstr "Todos os status" + +#~ msgid "Privacy Lists" +#~ msgstr "Listas de privacidade" + +#~ msgid "Unblock" +#~ msgstr "Desbloquear" + +#~ msgid "Block" +#~ msgstr "Bloco" + +#~ msgid "None" +#~ msgstr "Nenhum" + +#, python-format +#~ msgid "%s Status Message" +#~ msgstr "%s mensagem de status" + +#~ msgid "an audio and video" +#~ msgstr "um áudio e vídeo" + +#~ msgid "an audio" +#~ msgstr "um áudio" + +#~ msgid "a video" +#~ msgstr "um video" + +#, python-format +#~ msgid "" +#~ "%(contact)s wants to start a %(type)s chat with you. Do you want to " +#~ "answer the call?" +#~ msgstr "" +#~ "%(contact)s quer iniciar uma chamada de %(type)s com você. Quer responder " +#~ "a chamada?" + +#~ msgid "Could not load image" +#~ msgstr "A imagem não pode ser carregada" + +#~ msgid "Error." +#~ msgstr "Erro." + +#, python-format +#~ msgid "%(type)s state : %(state)s, reason: %(reason)s" +#~ msgstr "%(type)s estado: %(state)s, razão: %(reason)s" + +#~ msgid "" +#~ "This contact will see you offline and you will not receive any messages " +#~ "sent to you by this contact." +#~ msgstr "" +#~ "Este contato irá ver você desconectado e você não receberá mensagens que " +#~ "ele enviar para você." + +#~ msgid "_Block Contact" +#~ msgstr "_Bloquear Contato" + +#~ msgid "Block Group" +#~ msgstr "Bloquear Grupo" + +#~ msgid "Really block this group?" +#~ msgstr "Quer mesmo bloquear esse grupo?" + +#~ msgid "" +#~ "All contacts of this group will see you as offline and you will not " +#~ "receive any messages sent to you by any one of these contacts." +#~ msgstr "" +#~ "Todos contatos nesse grupo irão ver você como desconectado e você não " +#~ "receberá mensagens que eles enviarem para você." + +#~ msgid "_Block Group" +#~ msgstr "_Bloquear Grupo" + +#~ msgid "No account available" +#~ msgstr "Conta não disponível" + +#~ msgid "You must create an account before you can chat with other contacts." +#~ msgstr "" +#~ "Você deve configurar uma conta antes de poder conversar com outros " +#~ "contatos." + +#~ msgid "Metacontacts storage not supported by your server" +#~ msgstr "O armazenamento de metacontatos não é suportado pelo seu servidor" + +#~ msgid "" +#~ "Your server does not support storing metacontacts information. So this " +#~ "information will not be saved on next reconnection." +#~ msgstr "" +#~ "O seu servidor não suporta o armazenamento de informação de metacontatos. " +#~ "Portanto essas informações não estarão salvas na próxima vez que você " +#~ "conectar." + +#, python-brace-format +#~ msgid "You are invited to {room} by {user}" +#~ msgstr "Você foi convidado para a conferência {room} por {user}" + +#, python-format +#~ msgid "%s wants to start a voice chat." +#~ msgstr "%s quer iniciar uma conversa com voz." + +#~ msgid "Could not save your settings and preferences" +#~ msgstr "Impossível salvar suas preferências" + +#~ msgid "Error While Removing Privacy List" +#~ msgstr "Erro ao Remover Lista de Privacidade" + +#, python-format +#~ msgid "" +#~ "Privacy list %s has not been removed. It is probably active in one of " +#~ "your connected resources. Please deactivate it and try again." +#~ msgstr "" +#~ "A lista de privacidade %s não foi removida. Ela pode estar ativa em um ou " +#~ "mais recursos conectados. Desative-os e tente novamente." + +#~ msgid "Invisibility Not Supported" +#~ msgstr "Sem Suporte a Invisibilidade" + +#, python-format +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "A conta %s não suporta invisibilidade." + +#~ msgid "Could not request upload slot for HTTP File Upload" +#~ msgstr "Não foi possível obter espaço para Upload de Arquivo por HTTP" + +#~ msgid "Exception raised while trying to open file (see log)." +#~ msgstr "Exceção ocorreu ao tentar abrir o arquivo (ver log)." + +#~ msgid "Not Secure" +#~ msgstr "Não Seguro" + +#~ msgid "Could not Upload File" +#~ msgstr "Não Foi Possível Enviar o Arquivo" + +#, python-format +#~ msgid "HTTP response code from server: %s" +#~ msgstr "Código de resposta HTTP do servidor: %s" + +#~ msgid "Upload Error" +#~ msgstr "Erro de upload" + +#~ msgid "Encryption Error" +#~ msgstr "Erro de Criptografia" + +#~ msgid "Lists all preferences and their values" +#~ msgstr "Lista todas as preferências e seus valores" + +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "Ajusta o valor da 'chave' ao 'valor '." + +#~ msgid "key=value" +#~ msgstr "chave=valor" + +#~ msgid "'key' is the name of the preference, 'value' is what to set it to" +#~ msgstr "" +#~ "'chave' é o nome da preferência, 'valor' é para o que ela deve ser " +#~ "ajustada" + +#~ msgid "Deletes a preference item" +#~ msgstr "Deleta um item de preferência" + +#~ msgid "key" +#~ msgstr "chave" + +#~ msgid "name of the preference to be deleted" +#~ msgstr "nome da preferência a ser deletada" + +#~ msgid "Writes the current state of Gajim preferences to the .config file" +#~ msgstr "" +#~ "Escreve o estado atual das preferências do Gajim em um arquivo .config" + +#, python-format +#~ msgid "%s is a directory but should be a file" +#~ msgstr "%s é um diretório, mas deveria ser um arquivo" + +#, python-format +#~ msgid "Creating %s" +#~ msgstr "Criando %s" + +#, python-format +#~ msgid "%(nickname)s Signed In" +#~ msgstr "%(nickname)s conectou" + +#~ msgid "Contact Signed In" +#~ msgstr "Contato conectou" + +#, python-format +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "%(nickname)s desconectou" + +#~ msgid "Contact Signed Out" +#~ msgstr "Contato desconectou" + +#~ msgid "" +#~ "Show desktop notification even when a chat window is opened for this " +#~ "contact and does not have focus." +#~ msgstr "" +#~ "Mostrar notificação na área de trabalho mesmo quando a tela da conversa " +#~ "com esse contato estiver aberta, mas fora de foco." + +#~ msgid "default" +#~ msgstr "padrão" + +#~ msgid "" +#~ "Character to propose to add after desired nickname when nickname is " +#~ "already used in group chat." +#~ msgstr "" +#~ "Caractere proposto para adicionar ao final do apelido desejado quando ele " +#~ "já estiver sendo usado na conversa em grupo." + +#~ msgid "" +#~ "How many seconds to wait before trying to automatically rejoin a group " +#~ "chat you were disconnected from. Set to 0 to disable automatic rejoining." +#~ msgstr "" +#~ "Quantos segundos aguardar antes de tentar reconectar a uma conversa em " +#~ "grupo que você foi desconectado. Definir para 0 irá desabilitar a " +#~ "tentativa de reconexão." + +#~ msgid "If enabled, Gajim displays the avatar in the chat window." +#~ msgstr "Se ativado, Gajim mostrará o avatar na janela de conversa." + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will show affiliation of group chat participants by " +#~ "adding a colored square to the status icon." +#~ msgstr "" +#~ "Se ativado, Gajim mostrará a filiação de participantes do bate-papo em " +#~ "grupo adicionando um quadrado colorido ao ícone de status." + +#, fuzzy +#~ msgid "Options in days which can be chosen in the sync threshold menu" +#~ msgstr "" +#~ "Opções em dias que podem ser escolhidos no menu limite de sincronização" + +#, fuzzy +#~ msgid "Selecting text will copy it to the clipboard" +#~ msgstr "A seleção de texto irá copiá-lo na prancheta" + +#~ msgid "" +#~ "Status to be used automatically when connecting. Can be 'online', 'chat', " +#~ "'away', 'xa' or 'dnd'. NOTE: This option is used only if " +#~ "'restore_last_status' is disabled." +#~ msgstr "" +#~ "Status que será usado automaticamente ao conectar. Pode ser 'online', " +#~ "'chat', 'away', 'xa' ou 'dnd'. NOTA: Esta opção é usada apenas se " +#~ "'restore_last_status' estiver desativado." + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending password on an plaintext connection. " +#~ "Can be 'warn', or 'none'." +#~ msgstr "" +#~ "Exibir uma mensagem de alerta antes de enviar uma senha em uma conexão de " +#~ "texto puro." + +#, fuzzy +#~ msgid "List of SSL errors to ignore (space separated)." +#~ msgstr "Lista de erros de SSL para ignorar (espaço separado)." + +#, fuzzy +#~ msgid "" +#~ "How many seconds to wait for the answer of a ping alive packet before " +#~ "trying to reconnect." +#~ msgstr "" +#~ "Quantos segundos aguardar a resposta do pacote de tempo-de-vida antes de " +#~ "tentar reconectar." + +#~ msgid "I'm available." +#~ msgstr "Estou disponível." + +#~ msgid "I'm free for chat." +#~ msgstr "Estou livre para conversar." + +#~ msgid "Be right back." +#~ msgstr "Estou de volta." + +#~ msgid "I'm not available." +#~ msgstr "Não estou disponível." + +#~ msgid "Do not disturb." +#~ msgstr "Não perturbe." + +#~ msgid "Bye!" +#~ msgstr "Tchau!" + +#~ msgid "Timeout loading image" +#~ msgstr "Tempo esgotado ao carregar a imagem" + +#~ msgid "Image is too big" +#~ msgstr "A imagem é grande demais" + +#, fuzzy +#~ msgid "PyCURL is not installed" +#~ msgstr "CRL ainda não é válido" + +#~ msgid "Error loading image" +#~ msgstr "Erro ao carregar a imagem" + +#~ msgid "Blocked Contacts" +#~ msgstr "Contatos bloqueados" + +#, fuzzy +#~ msgid "Join group chat every time Gajim is started" +#~ msgstr "Junte-se ao bate-papo em grupo toda vez que Gajim for iniciado" + +#, fuzzy +#~ msgid "Join Automatically" +#~ msgstr "Junte-se automaticamente" + +#~ msgid "Group chat" +#~ msgstr "Chat em Grupo" + +#, fuzzy +#~ msgid "Bookmark group chat" +#~ msgstr "Adicionar esta sala aos marcadores" + +#~ msgid "Bookmark" +#~ msgstr "Favoritos" + +#, fuzzy +#~ msgid "Recently used group chats" +#~ msgstr "em uma c_onferência" + +#, fuzzy +#~ msgid "Search group chats on selected server" +#~ msgstr "Bate-papos em grupo de pesquisa no servidor selecionado" + +#~ msgid "Clear Avatar" +#~ msgstr "Limpar Avatar" + +#~ msgid "Set Avatar…" +#~ msgstr "Definir Avatar…" + +#~ msgid "Main" +#~ msgstr "Principal" + +#, fuzzy +#~ msgid "Contact" +#~ msgstr "Tempo do contato:" + +#, fuzzy +#~ msgid "_Leave Group Chat" +#~ msgstr "Sair da conversa em grupo" + +#~ msgid "Enter a new name for this group chat" +#~ msgstr "Entre com um novo nome para o grupo" + +#, fuzzy +#~ msgid "Use default applications" +#~ msgstr "Sempre usar as aplicações padrões do OS/X" + +#~ msgid "Custom" +#~ msgstr "Personalizar" + +#, fuzzy +#~ msgid "Pop it up" +#~ msgstr "_Alerta visual" + +#, fuzzy +#~ msgid "Notify me about it" +#~ msgstr "_Notifique-me sobre isto" + +#, fuzzy +#~ msgid "Show only in contact list" +#~ msgstr "Exibir somente _ativos" + +#, fuzzy +#~ msgid "No status messages" +#~ msgstr "mensagem de status" + +#, fuzzy +#~ msgid "All status messages" +#~ msgstr "mensagem de status" + +#, fuzzy +#~ msgid "Only enter/leave messages" +#~ msgstr "Você tem mensagens não lidas" + +#, fuzzy +#~ msgid "_Tabs placement" +#~ msgstr "colocação _Tabs" + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will quit when closing the contact list window instead " +#~ "of minimizing to the system's notification area" +#~ msgstr "" +#~ "Se ativado, Gajim desistirá ao fechar a janela da lista de contatos em " +#~ "vez de minimizar a área de notificação do sistema" + +#, fuzzy +#~ msgid "Me_rge accounts" +#~ msgstr "Mes_clar contas" + +#~ msgid "Displays all your accounts merged into a single one" +#~ msgstr "Mostra todas as suas contas mescladas em uma única" + +#, fuzzy +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "Exibir a_vatar dos contatos na lista" + +#, fuzzy +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "" +#~ "Se marcado, Gajim exibirá avatars dos contatos na janela da lista e na " +#~ "conferência" + +#, fuzzy +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "Exibir _mensagem de status da lista de contato" + +#, fuzzy +#~ msgid "" +#~ "If checked, status messages of contacts will be shown under the contact's " +#~ "name, in the contact list window, and in group chats" +#~ msgstr "" +#~ "Se marcado, Gajim indicará mensagens de status dos contatos sob o nome do " +#~ "contato na janela da lista e na conferência" + +#, fuzzy +#~ msgid "" +#~ "Show e_xtra information of contacts in contact list (mood, activity, ...)" +#~ msgstr "Exibir hum_or dos contatos na lista" + +#, fuzzy +#~ msgid "" +#~ "If checked, additional info published by the contact will be shown in the " +#~ "contact list. Additional infos (published via PEP) may include e.g. mood, " +#~ "activity, tune, location, ..." +#~ msgstr "" +#~ "Se verificado, informações adicionais publicadas pelo contato serão " +#~ "mostradas na lista de contatos. Informações adicionais (publicadas via " +#~ "PEP) podem incluir, por exemplo, humor, atividade, melodia, " +#~ "localização, ..." + +#~ msgid "in _contact list" +#~ msgstr "na lista de _contatos" + +#~ msgid "in _group chats" +#~ msgstr "em uma c_onferência" + +#, fuzzy +#~ msgid "Enable auto copy" +#~ msgstr "Ativar a cópia automática" + +#, fuzzy +#~ msgid "" +#~ "If enabled, selecting Text will be copied to the clipboard, otherwise you " +#~ "can copy text with CTRL + SHIFT + C" +#~ msgstr "" +#~ "Se ativado, a seleção de texto será copiada para a prancheta, caso " +#~ "contrário, você pode copiar o texto com CTRL + SHIFT + C" + +#, fuzzy +#~ msgid "Enable spell _checking" +#~ msgstr "Verificador ortográfico" + +#, fuzzy +#~ msgid "" +#~ "If checked, spelling errors in input fields of chat windows will be " +#~ "highlighted. If no language is explicitly set via right click on the " +#~ "input field, the default language will be used for this contact or group " +#~ "chat. Needs gspell to be installed." +#~ msgstr "" +#~ "Se marcado, o Gajim irá destacar erros de ortografia em campos de entrada " +#~ "nas janelas de conversa. Se nenhuma linguagem foi explicitamente definida " +#~ "através de um clique com o botão direito no campo de entrada, a linguagem " +#~ "padrão será usada para este contato ou conferência." + +#, fuzzy +#~ msgid "" +#~ "If checked, a small checkmark will be shown after each message when it " +#~ "was received. Note that this is not supported by all clients and " +#~ "therefore could be misleading." +#~ msgstr "" +#~ "Se verificado, uma pequena marca de verificação será mostrada após cada " +#~ "mensagem quando foi recebida. Observe que isso não é suportado por todos " +#~ "os clientes e, portanto, pode ser enganoso." + +#, fuzzy +#~ msgid "Display status messages in _single chats" +#~ msgstr "Exibir _mensagem de status da lista de contato" + +#~ msgid "" +#~ "If checked, status lines will be shown in 1 on 1 chats when a contact " +#~ "changes their status or status message" +#~ msgstr "" +#~ "Se marcado, as linhas de status serão mostradas em conversas 1 a 1 quando " +#~ "um contato alterar seu status ou mensagem de status" + +#, fuzzy +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "Impossível ingressar na sala" + +#, fuzzy +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "Impossível ingressar na sala" + +#, fuzzy +#~ msgid "Show join/leave (Default)" +#~ msgstr "Mostrar join/leave (Padrão)" + +#, fuzzy +#~ msgid "" +#~ "If join/leave status messages are shown in the group chat. This setting " +#~ "can be overridden in the group chat menu." +#~ msgstr "" +#~ "Se as mensagens de status de participar/licença forem mostradas no bate-" +#~ "papo em grupo. Esta configuração pode ser substituída no menu de bate-" +#~ "papo em grupo." + +#, fuzzy +#~ msgid "" +#~ "The default sync threshold for new public group chats. This setting can " +#~ "be overridden in the group chat menu." +#~ msgstr "" +#~ "O limite de sincronização padrão para novos bate-papos em grupo público. " +#~ "Esta configuração pode ser substituída no menu de bate-papo em grupo." + +#, fuzzy +#~ msgid "Show status changes (Default)" +#~ msgstr "_Log mudanças de status dos contatos" + +#, fuzzy +#~ msgid "" +#~ "If status change messages are shown in the group chat. This setting can " +#~ "be overridden in the group chat menu." +#~ msgstr "" +#~ "Se o status alterar as mensagens é mostrado no bate-papo em grupo. Esta " +#~ "configuração pode ser substituída no menu de bate-papo em grupo." + +#, fuzzy +#~ msgid "" +#~ "If checked, the tab will be colored according to the current chatstate of " +#~ "the contact" +#~ msgstr "" +#~ "Se marcado, o Gajim irá permitir que os outros detectem qual o sistema " +#~ "operacional está usando" + +#, fuzzy +#~ msgid "" +#~ "If checked, the contact row will be colored according to the current " +#~ "chatstate of the contact" +#~ msgstr "" +#~ "Se verificado, a linha de contato será colorida de acordo com o chatstate " +#~ "atual do contato" + +#, fuzzy +#~ msgid "" +#~ "If checked, a description of the contacts current chatstate is shown in " +#~ "the banner" +#~ msgstr "" +#~ "Se verificado, uma descipação dos contatos atual chatstate é mostrado no " +#~ "banner" + +#, fuzzy +#~ msgid "Chatstate" +#~ msgstr "Último estado" + +#~ msgid "_When new event is received" +#~ msgstr "_Quando novo evento é recebido" + +#, fuzzy +#~ msgid "Show popups/notifications when a chat window is already _open" +#~ msgstr "" +#~ "Permite janela/notificação quando eu estou _afastado/ND/ocupado/invisível" + +#, fuzzy +#~ msgid "Allow popups/notifications when I'm _away, not available or busy" +#~ msgstr "" +#~ "Permite janela/notificação quando eu estou _afastado/ND/ocupado/invisível" + +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "Notifique-me sobre contatos ao _conectar" + +#~ msgid "" +#~ "A popup window about contacts that just signed in will be shown in the " +#~ "bottom right of the screen " +#~ msgstr "" +#~ "Uma janela pop-up sobre os contatos que acabaram de entrar será mostrada " +#~ "no canto inferior direito da tela " + +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "Notifique-me sobre contatos ao _desconectar" + +#~ msgid "" +#~ "A popup window about contacts that just signed out will be shown in the " +#~ "bottom right of the screen " +#~ msgstr "" +#~ "Uma janela pop-up sobre os contatos que acabaram de entrar será mostrada " +#~ "no canto inferior direito da tela " + +#~ msgid "Play _sounds" +#~ msgstr "Tocar _sons" + +#~ msgid "Ma_nage..." +#~ msgstr "Gere_nciar..." + +#, fuzzy +#~ msgid "Allow playing sounds when I'm _busy" +#~ msgstr "Permitir som quando eu estiver _ocupado" + +#, fuzzy +#~ msgid "No_t Available" +#~ msgstr "Não disponível" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Not Available when the computer " +#~ "has not been used for the specified time" +#~ msgstr "" +#~ "Se marcado, o Gajim irá alterar o status para Não disponível quando o " +#~ "computador não estiver mais em uso" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Away when the computer has not " +#~ "been used for the specified time" +#~ msgstr "" +#~ "Se marcado, o Gajim irá alterar o status para Não disponível quando o " +#~ "computador não estiver mais em uso" + +#~ msgid "" +#~ "The automatic away status message. If empty, the current status message " +#~ "will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-away timeout." +#~ msgstr "" +#~ "A mensagem de status ausente automática. Se estiver vazia, a mensagem de " +#~ "status atual não será alterada.\n" +#~ "$S será substituída pela mensagem de status anterior.\n" +#~ "$T será substituída pelo tempo limite de ausência automática." + +#~ msgid "" +#~ "The automatic not available status message. If empty, the current status " +#~ "message will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-not-available timeout." +#~ msgstr "" +#~ "A mensagem de status automática de indisponível. Se estiver vazia, a " +#~ "mensagem de status atual não será alterada.\n" +#~ "$S será substituída pela mensagem de status anterior.\n" +#~ "$T será substituída pelo tempo limite de indisponibilidade automática." + +#~ msgid "Minutes" +#~ msgstr "Minutos" + +#, fuzzy +#~ msgid "_Remember and restore status of the last session" +#~ msgstr "_Remember e restaurar o status da última sessão" + +#~ msgid "" +#~ "If enabled, Gajim will not ask for a status message. The specified " +#~ "default message will be used instead." +#~ msgstr "" +#~ "Se habilitado, o Gajim não irá perguntar por mensagem de status. A " +#~ "mensagem padrão especificada será usada neste caso." + +#~ msgid "Default Message" +#~ msgstr "Mensagem padrão" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "Mensagem de status" + +#~ msgid "Preset Status Messages" +#~ msgstr "Mensagens de Status Disponíveis" + +#, fuzzy +#~ msgid "_Theme" +#~ msgstr "Formulário de ativação de licença do tema" + +#~ msgid "Configure color and font of the interface" +#~ msgstr "Configurar cores e fontes da interface" + +#~ msgid "Icons" +#~ msgstr "Ícones" + +#, fuzzy +#~ msgid "" +#~ "If checked, protocol-specific status icons will be used (e.g. a contact " +#~ "from ICQ will have the equivalent ICQ icon for status online, away, busy, " +#~ "etc...)" +#~ msgstr "" +#~ "Se marcado, o Gajim usará ícones protocolo-específicos do status. (por " +#~ "exemplo, um contato do MSN terá o ícone equivalente do MSN para o status " +#~ "conectado, ausente, ocupado, etc....)" + +#, fuzzy +#~ msgid "Video output" +#~ msgstr "um video" + +#, fuzzy +#~ msgid "Video si_ze" +#~ msgstr "Alternar sessão de vídeo" + +#, fuzzy +#~ msgid "Vi_ew own video source" +#~ msgstr "Vi_ew própria fonte de vídeo" + +#, fuzzy +#~ msgid "" +#~ "STUN server hostname. If no hostname was given, Gajim will try\n" +#~ "to discover one from the server. (Example: stun.iptel.org)" +#~ msgstr "" +#~ "Nome de host name do servidor STUN. Se nenhum nome de anfitrião foi dado, " +#~ "Gajim vai tentar\n" +#~ "para descobrir um do servidor. (Exemplo: stun.iptel.org)" + +#~ msgid "_Manage..." +#~ msgstr "Gere_nciar..." + +#, fuzzy +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "_Log mudanças de status dos contatos" + +#, fuzzy +#~ msgid "Enable _debug logging (restart required)" +#~ msgstr "Permitir _debug exploração madeireira" + +#, fuzzy +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "Se marcado, o Gajim irá memorizar a senha para esta conta" + +#~ msgid "Opens folder containing debug logs" +#~ msgstr "Abre a pasta que contem os logs de depuração" + +#~ msgid "" +#~ "In order to introduce you to features, Gajim displays some hints. This " +#~ "button will reset all these hints." +#~ msgstr "" +#~ "Para lhe apresentar os recursos, o Gajim exibe algumas dicas. Este botão " +#~ "redefinirá todas elas." + +#~ msgid "_Open..." +#~ msgstr "_Abrir..." + +#~ msgid "_Filter" +#~ msgstr "_Filtro" + +#~ msgid "Protocol" +#~ msgstr "Protocolo" + +#~ msgid "Privacy Lists:" +#~ msgstr "Listas de privacidade:" + +#~ msgid "_Ignore this error for this certificate" +#~ msgstr "_Ignorar o erro para este certificado" + +#~ msgid "Message..." +#~ msgstr "Mensagem..." + +#, fuzzy +#~ msgid "_Message if you decline (optional)" +#~ msgstr "_Message se você recusar (opcional)" + +#, fuzzy +#~ msgid "Preset _messages" +#~ msgstr "Modelos de mensagens" + +#~ msgid "_Type your new status message" +#~ msgstr "_Digite sua nova mensagem de status" + +#, fuzzy +#~ msgid "Incoming call" +#~ msgstr "Chamada recebida" + +#~ msgid "Change Status Message…" +#~ msgstr "Mudar Mensagem de Status…" + +#~ msgid "Mood:" +#~ msgstr "Humor:" + +#~ msgid "Message:" +#~ msgstr "Mensagem:" + +#~ msgid "none" +#~ msgstr "nenhum" + +#~ msgid "both" +#~ msgstr "ambos" + +#~ msgid "from" +#~ msgstr "de" + +#~ msgid "to" +#~ msgstr "para" + +#~ msgid "Privacy List" +#~ msgstr "Lista de privacidade" + +#~ msgid "Privacy List" +#~ msgstr "Lista de privacidade" + +#~ msgid "Active for this session" +#~ msgstr "Ativo para esta sessão" + +#~ msgid "Active on each startup" +#~ msgstr "Ativar ao iniciar o programa" + +#~ msgid "List of rules" +#~ msgstr "Lista de regras" + +#~ msgid "Add / Edit a rule" +#~ msgstr "Adicionar / Editar regra" + +#~ msgid "Allow" +#~ msgstr "Permitir" + +#~ msgid "Deny" +#~ msgstr "Negar" + +#~ msgid "all in the group" +#~ msgstr "todos no grupo" + +#~ msgid "all by subscription" +#~ msgstr "todos por inscrição" + +#~ msgid "All" +#~ msgstr "Todos" + +#~ msgid "to send me messages" +#~ msgstr "para me enviar mensagens" + +#~ msgid "to send me queries" +#~ msgstr "para enviar minhas requisições" + +#~ msgid "to view my status" +#~ msgstr "para ver meu status" + +#~ msgid "to send me status" +#~ msgstr "para seu status para mim" + +#~ msgid "All (including subscription)" +#~ msgstr "Todos (incluindo inscrições)" + +#~ msgid "Order:" +#~ msgstr "Ordem:" + +#, fuzzy +#~ msgid "" +#~ "Deny authorization from contact so the contact cannot know if you are " +#~ "connected" +#~ msgstr "" +#~ "Negar a autorização do contato, assim ele não poderá saber quando você " +#~ "está conectado" + +#, fuzzy +#~ msgid "Authorize contact so the contact can know if you are connected" +#~ msgstr "" +#~ "Autorize o contato para que ele ou ela saiba quando você estiver conectado" + +#, fuzzy +#~ msgid "Chat Shortcuts" +#~ msgstr "Atalhos de bate-papo" + +#, fuzzy +#~ msgid "Contact List Shortcuts" +#~ msgstr "Troca de itens na lista de contatos" + +#~ msgid "Fill in the form." +#~ msgstr "Preencha o formulário." + +#~ msgid "Set an activity" +#~ msgstr "Define uma atividade" + +#~ msgid "Message: " +#~ msgstr "Mensagem: " + +#, python-format +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "convidado %(jid)s para %(room_jid)s" + +#~ msgid "Group Chat Invitation " +#~ msgstr "Convite para Chat em Grupo " + +#, python-format +#~ msgid "Comment: %s" +#~ msgstr "Comentário: %s" + +#~ msgid "On" +#~ msgstr "Ligado" + +#~ msgid "Off" +#~ msgstr "Desligado" + +#~ msgid "Retrieving profile…" +#~ msgstr "Recuperando perfil…" + +#, fuzzy +#~ msgid "Wrong date format" +#~ msgstr "Informações do contato" + +#, fuzzy +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "Formato: YYYY-MM-DD" + +#~ msgid "Information received" +#~ msgstr "Informação recebida" + +#, fuzzy +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "" +#~ "Você deve estar conectado para publicar suas informações de contato." + +#~ msgid "Sending profile…" +#~ msgstr "Enviando perfil…" + +#~ msgid "Information NOT published" +#~ msgstr "Informação NÃO publicada" + +#~ msgid "vCard publication failed" +#~ msgstr "Publicação do vCard falhou" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "" +#~ "Houve um erro ao publicar sua informação pessoal, tente outra vez mais " +#~ "tarde." + +#, fuzzy +#~ msgid "?config type:Color" +#~ msgstr "?config tipo:Cor" + +#~ msgid "?password:Hidden" +#~ msgstr "?senha:Oculta" + +#, python-format +#~ msgid "Privacy List %s" +#~ msgstr "Lista de privacidade %s" + +#, python-format +#~ msgid "Privacy List for %s" +#~ msgstr "Lista de privacidade para %s" + +#, python-format +#~ msgid "" +#~ "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" +#~ msgstr "Ordem: %(order)s, ação: %(action)s tipo: %(type)s, valor: %(value)s" + +#, python-format +#~ msgid "Order: %(order)s, action: %(action)s" +#~ msgstr "Ordem: %(order)s, ação: %(action)s" + +#~ msgid "Edit a rule" +#~ msgstr "Editar uma regra" + +#~ msgid "Add a rule" +#~ msgstr "Adicionar uma regra" + +#, python-format +#~ msgid "Privacy Lists for %s" +#~ msgstr "Lista de privacidade para %s" + +#~ msgid "Invalid List Name" +#~ msgstr "Nome de lista inválido" + +#~ msgid "You must enter a name to create a privacy list." +#~ msgstr "Você deve digitar um nome para criar uma lista de privacidade." + +#~ msgid "Loading" +#~ msgstr "Carregando" + +#, fuzzy +#~ msgid "" +#~ "Unavailable, video " +#~ "support will be disabled" +#~ msgstr "" +#~ "Indisponível,o suporte de " +#~ "vídeo será desativado" + +#~ msgid "status message title" +#~ msgstr "título da mensagem de status" + +#~ msgid "status message text" +#~ msgstr "texto da mensagem de status" + +#, fuzzy +#~ msgid "org.gajim.Gajim" +#~ msgstr "org.gajim.Gajim org.gajim.Gajim" + +#~ msgid "" +#~ "Gajim aims to be an easy to use and fully-featured XMPP client. With " +#~ "Gajim you can chat through various XMPP services of your choice (e.g. " +#~ "Jabber.org) as well as transports (e.g. Facebook, IRC)." +#~ msgstr "" +#~ "Gajim pretende ser um cliente XMPP fácil de usar e totalmente " +#~ "caracterizado. Com gajim você pode conversar através de vários serviços " +#~ "XMPP de sua escolha (por exemplo, Jabber.org), bem como transportes (por " +#~ "exemplo, Facebook, IRC)." + +#, fuzzy +#~ msgid "Start New Conversation" +#~ msgstr "Conversação continuada" + +#~ msgid "Simulate loss of connectivity" +#~ msgstr "Simular a perda de conectividade" + +#~ msgid "Simulate regaining connectivity" +#~ msgstr "Simular a volta de conectividade" + +#~ msgid "Unknown SSL error: %d" +#~ msgstr "Erro de SSL desconhecido: %d" + +#~ msgid "Gajim - %s" +#~ msgstr "Gajim - %s" + +#, fuzzy +#~ msgid "" +#~ "Requires: libsecret and a provider (such as GNOME Keyring and " +#~ "KSecretService)" +#~ msgstr "" +#~ "Requer: libsecret e um provedor (como GNOME Keyring e KSecretService)" + +#~ msgid "Choose interval between 2 checks of idleness." +#~ msgstr "Escolha intervalo entre 2 verificações de inatividade." + +#, fuzzy +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "O dicionário para o idioma %s não está disponível" + +#, fuzzy +#~ msgid "" +#~ "You have to install the dictionary \"%s\" to use spellchecking, or choose " +#~ "another language by setting the speller_language option.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "Você precisa instalar o dicionário %s para usar a correção ortográfica ou " +#~ "selecionar outro idioma definindo a opção speller_language.\n" +#~ "\n" +#~ "O recurso de destacar palavras grafadas incorretamente não será usado" + +#~ msgid "_Reconnect" +#~ msgstr "_Reconectar" + +#~ msgid "Quit" +#~ msgstr "Sair" + +#, fuzzy +#~ msgid "Show Contact List" +#~ msgstr "Exibir somente _ativos" + +#~ msgid "Add to Contact List" +#~ msgstr "Adicionar à sua lista de contatos" + +#, fuzzy +#~ msgid "Invite Contact" +#~ msgstr "Convidar _contatos" + +#~ msgid "Configure Group Chat" +#~ msgstr "Configurar grupo de bate-papo" + +#~ msgid "" +#~ "If enabled, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." +#~ msgstr "" +#~ "Se ativado, Gajim exibirá um ícone em cada aba contendo mensagens não " +#~ "lidas. Dependendo do tema, este ícone pode ser animado." + +#, fuzzy +#~ msgid "Show a mini avatar in chat window tabs and as the window's icon." +#~ msgstr "" +#~ "Mostre um mini avatar nas abas da janela do bate-papo e como o ícone da " +#~ "janela." + +#, fuzzy +#~ msgid "Show _avatar in chat tabs" +#~ msgstr "Mostre _avatar em guias de bate-papo" + +#, fuzzy +#~ msgid "If checked, the contact's avatar will be shown in chat tabs" +#~ msgstr "" +#~ "Se verificado, o avatar do contato será mostrado nas guias de bate-papo" + +#, fuzzy +#~ msgid "Server must be between 1 and 1023 bytes" +#~ msgstr "O servidor deve estar entre 1 e 1023 bytes" + +#~ msgid "Invalid character in hostname." +#~ msgstr "Caracter inválido no nome do host." + +#~ msgid "Server address required." +#~ msgstr "Endereço do servidor é requerido." + +#, fuzzy +#~ msgid "Username must be between 1 and 1023 bytes" +#~ msgstr "O nome de usuário deve ser entre 1 e 1023 bytes" + +#~ msgid "Invalid character in username." +#~ msgstr "Caracter inválido no nome do usuário." + +#, fuzzy +#~ msgid "Resource must be between 1 and 1023 bytes" +#~ msgstr "O recurso deve ser entre 1 e 1023 bytes" + +#~ msgid "Invalid character in resource." +#~ msgstr "Caracter inválido no recurso." + +#~ msgid "Notification color for contacts signing in." +#~ msgstr "Cor da notificação para contatos conectando." + +#~ msgid "Notification color for contacts signing out." +#~ msgstr "Cor da notificação para contatos desconectando." + +#~ msgid "Notification color for new message notification." +#~ msgstr "Cor da notificação para novas mensagens." + +#~ msgid "Notification color for file transfer request." +#~ msgstr "Cor da notificação para pedido de transferência de arquivo." + +#~ msgid "Notification color for file transfer errors." +#~ msgstr "Cor da notificação de erros na transferência de arquivos." + +#~ msgid "Notification color for stopped or completed file transfers." +#~ msgstr "" +#~ "Cor de notificação para transferências de arquivos paradas ou concluídas." + +#~ msgid "Notification color for group chat invitations." +#~ msgstr "Cor de notificação para convites de conversa em grupo." + +#~ msgid "Notification background color for changed status." +#~ msgstr "Cor de fundo da notificação de mudança de estado." + +#~ msgid "Notification color for other dialogs." +#~ msgstr "Cor de notificação para outros diálogos." + +#~ msgid "Event Type" +#~ msgstr "Tipo de Evento" + +#, fuzzy +#~ msgid "Event desc" +#~ msgstr "Eventos" + +#, fuzzy +#~ msgid "HTTP File Upload: Enable HTTPS Verification." +#~ msgstr "UPLOAD de arquivos HTTP: habilite a verificação https." + +#, fuzzy +#~ msgid "No response from the Server" +#~ msgstr "Você não está conectado ao servidor" + +#~ msgid "Resource Conflict" +#~ msgstr "Conflito de recurso" + +#~ msgid "" +#~ "You are already connected to this account with the same resource. Please " +#~ "enter a different one." +#~ msgstr "" +#~ "Você já está conectado a essa conta com o mesmo recurso. Por favor digite " +#~ "um diferente." + +#~ msgid "Unable to load image" +#~ msgstr "Não foi possível carregar imagem" + +#~ msgid "Media type not supported: %s" +#~ msgstr "Tipo de mídia não suportado: %s" + +#~ msgid "This field is required" +#~ msgstr "Este campo é obrigatório" + +#~ msgid "new@jabber.id" +#~ msgstr "novo@jabber.id" + +#~ msgid "new%d@jabber.id" +#~ msgstr "novo%d@jabber.id" + +#, fuzzy +#~ msgid "video output" +#~ msgstr "saída de vídeo" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Gajim: Assistente de configuração de conta" + +#, fuzzy +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "Você precisa ter uma conta para conectar na\n" +#~ "rede Jabber." + +#~ msgid "I already have an account I want to _use" +#~ msgstr "Eu já tenho uma conta e quero _usá-la" + +#~ msgid "I want to _register for a new account" +#~ msgstr "Eu quero _registrar uma nova conta" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "Por favor escolha uma das opções abaixo:" + +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "Por favor, preencha os dados para sua conta existente" + +#, fuzzy +#~ msgid "_XMPP Address:" +#~ msgstr "Endereço AIM:" + +#~ msgid "Anon_ymous authentication" +#~ msgstr "Autenticação anôn_ima" + +#~ msgid "_Password:" +#~ msgstr "_Senha:" + +#~ msgid "Save pass_word" +#~ msgstr "Salvar sen_ha" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "Se marcado, o Gajim irá memorizar a senha para esta conta" + +#~ msgid "Please select a server" +#~ msgstr "Por favor, selecione um servidor" + +#~ msgid "_Server:" +#~ msgstr "_Servidor:" + +#~ msgid "Manage..." +#~ msgstr "Gerenciar..." + +#~ msgid "_Port:" +#~ msgstr "_Porta:" + +#~ msgid "_Advanced" +#~ msgstr "_Avançado" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA1 fingerprint of the certificate:\n" +#~ msgstr "" +#~ "Adicionar este certificado na lista de certificados confiáveis.\n" +#~ "SHA1 fingerprint do certificado:\n" + +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "Conectando ao servidor\n" +#~ "\n" +#~ "Por favor aguarde..." + +#~ msgid "Connect when I press Finish" +#~ msgstr "Conectar quando eu clicar em Concluir" + +#~ msgid "Set my profile when I connect" +#~ msgstr "Configurar perfil quando eu conectar" + +#~ msgid "_Finish" +#~ msgstr "_Concluir" + +#~ msgid "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." +#~ msgstr "" +#~ "Você pode configurar as opções avançadas da conta pressionando o botão " +#~ "avançado, ou mais tarde clicando em contas no menu editar da janela " +#~ "principal." + +#~ msgid "Your new account has been created successfully" +#~ msgstr "Sua nova conta foi criada com sucesso" + +#~ msgid "Invalid username" +#~ msgstr "Nome de usuário inválido" + +#~ msgid "You must provide a username to configure this account." +#~ msgstr "Você deve entrar com um nome para configurar esta conta." + +#~ msgid "Invalid server" +#~ msgstr "Servidor inválido" + +#~ msgid "Please provide a server on which you want to register." +#~ msgstr "Por favor, forneça um servidor no qual você queira se registrar." + +#~ msgid "Invalid entry" +#~ msgstr "Entrada inválida" + +#~ msgid "Certificate Already in File" +#~ msgstr "Certificado já está no arquivo" + +#~ msgid "This certificate is already in file %s, so it's not added again." +#~ msgstr "" +#~ "Este certificado já está no arquivo %s, então, ele não será adicionado " +#~ "novamente." + +#~ msgid "" +#~ "Security Warning\n" +#~ "\n" +#~ "The authenticity of the %(hostname)s SSL certificate could be invalid.\n" +#~ "SSL Error: %(error)s\n" +#~ "Do you still want to connect to this server?" +#~ msgstr "" +#~ "Aviso se segurança\n" +#~ "\n" +#~ "A autenticidade do certificado SSL do %(hostname)s pode ser inválido.\n" +#~ "Erro do SSL: %(error)s\n" +#~ "Você ainda quer conectar com este servidor?" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA-256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Adicionar este certificado à lista de certificados confiáveis.\n" +#~ "Impressão digital SHA-1 do certificado:\n" +#~ "%(sha1)s\n" +#~ "Impressão digital SHA-256 do certificado:\n" +#~ "%(sha256)s" + +#~ msgid "Account name is in use" +#~ msgstr "Nome de conta em uso" + +#~ msgid "You already have an account using this name." +#~ msgstr "Você já tem uma conta usando este nome." + +#, fuzzy +#~ msgid "Cipher" +#~ msgstr "Codificação" + +#, fuzzy +#~ msgid "Allow plaintext connections." +#~ msgstr "Permita conexões simples." + +#, fuzzy +#~ msgid "" +#~ "List of authentication mechanisms to try (space separated). Can contain " +#~ "'ANONYMOUS', 'EXTERNAL', 'GSSAPI', 'SCRAM-SHA-1-PLUS', 'SCRAM-SHA-1', " +#~ "'DIGEST-MD5', 'PLAIN', 'X-MESSENGER-OAUTH2' or 'XEP-0078'." +#~ msgstr "" +#~ "Lista de mecanismos de autenticação para tentar (espaço separado). Pode " +#~ "conter 'ANONYMOUS', 'EXTERNAL', 'GSSAPI', 'SCRAM-SHA-1-PLUS', 'SCRAM-" +#~ "SHA-1', 'DIGEST-MD5', 'PLAIN', 'X-MESSENGER-OAUTH2' ou 'XEP-0078'." + +#~ msgid "Show a warning dialog before using standard SSL library." +#~ msgstr "" +#~ "Exibir uma mensagem de alerta antes de usar uma biblioteca padrão SSL." + +#, fuzzy +#~ msgid "If enabled, a whitespace is sent after inactivity (keep alive)." +#~ msgstr "Espaço em branco enviado após inatividade" + +#, fuzzy +#~ msgid "If enabled, an XMPP ping is sent after inactivity (ping alive)." +#~ msgstr "Ping XMPP enviado após inatividade" + +#~ msgid "Connection with account \"%s\" has been lost" +#~ msgstr "Conexão com a conta \"%s\" foi perdida" + +#~ msgid "Reconnect manually." +#~ msgstr "Reconecte manualmente." + +#~ msgid "Server %(name)s answered wrongly to register request: %(error)s" +#~ msgstr "" +#~ "O servidor %(name)s respondeu erroneamente à requisição de registro: " +#~ "%(error)s" + +#~ msgid "Server %s provided a different registration form" +#~ msgstr "O servidor %s forneceu um formulário de registro diferente" + +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "Não foi possível conectar a \"%(host)s\" pelo proxy \"%(proxy)s\"" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "Impossível conectar a \"%s\"" + +#~ msgid "Check your connection or try again later." +#~ msgstr "Verifique sua conexão ou tente novamente mais tarde." + +#~ msgid "Server replied: %s" +#~ msgstr "O servidor respondeu: %s" + +#~ msgid "Connection to proxy failed" +#~ msgstr "Falha na conexão com o proxy" + +#~ msgid "Could not connect to account %s" +#~ msgstr "Não foi possível conectar a conta %s" + +#~ msgid "Connection with account %s has been lost. Retry connecting." +#~ msgstr "A conexão com a conta %s foi perdida. Tentando reconectar." + +#~ msgid "Please check your login and password for correctness." +#~ msgstr "Por favor, verifique se seu login e senha estão corretos." + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "Conexão HTTP" + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "BOSH" +#~ msgstr "URL _BOSH:" + +#~ msgid "Use HTTP prox_y" +#~ msgstr "Usar prox_y HTTP" + +#, fuzzy +#~ msgid "https://example.org/http-bind/" +#~ msgstr "https://example.org/http-bind/" + +#, fuzzy +#~ msgid "_BOSH URL" +#~ msgstr "URL _BOSH:" + +#, fuzzy +#~ msgid "BOSH" +#~ msgstr "URL _BOSH:" + +#, fuzzy +#~ msgid "Warn on insecure connection" +#~ msgstr "A_visar antes de usar uma conexão não-segura" + +#, fuzzy +#~ msgid "Contact list, list of contacts" +#~ msgstr "_Log mudanças de status dos contatos" + +#~ msgid "Disconnect for Invisibility" +#~ msgstr "Desconectar para Invisibilidade" + +#~ msgid "You are participating in one or more group chats" +#~ msgstr "Você está participando em uma ou mais conferências" + +#~ msgid "" +#~ "Changing your status to invisible will result in you leaving those group " +#~ "chats.\n" +#~ "Are you sure you want to go invisible?" +#~ msgstr "" +#~ "Mudando seu status para invisível resultará na desconexão daquelas " +#~ "conferências.\n" +#~ "Você tem certeza de que quer ficar invisível?" + +#~ msgid "_Disconnect" +#~ msgstr "_Desconectar" + +#~ msgid "You cannot join a group chat while you are invisible" +#~ msgstr "Você não pode ingressar em uma sala enquanto estiver invisível" + +#~ msgid "Invisible" +#~ msgstr "Invisível" + +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "" +#~ "Você não pode entrar em uma conversa de grupo enquanto estiver invisível." + +#~ msgid "_Invisible" +#~ msgstr "_Invisível" + +#~ msgid "Yesterday" +#~ msgid_plural "%(nb_days)i days ago" +#~ msgstr[0] "ontem" +#~ msgstr[1] "%(nb_days)i dias atrás" + +#, fuzzy +#~ msgid "_Cancel Upload" +#~ msgstr "_Cancelar" + +#~ msgid "Got unexpected response from server (see log)." +#~ msgstr "Uma resposta inesperada do servidor foi recebida (ver log)." + +#~ msgid " [blocked]" +#~ msgstr " [bloqueado]" + +#~ msgid " [minimized]" +#~ msgstr " [minimizado]" + +#, fuzzy +#~ msgid "" +#~ "If you close this tab while having chat history disabled, this message " +#~ "will be lost." +#~ msgstr "" +#~ "Se você fechar esta aba e o histórico estiver desabilitado, esta mensagem " +#~ "será perdida." + +#, fuzzy +#~ msgid "Unregister Failed" +#~ msgstr "Falha ao cancelar registro" + +#, fuzzy +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "" +#~ "Cancelamento de registro com o servidor %(server)s falhou: %(error)s:" + +#~ msgid "New Password" +#~ msgstr "Nova Senha" + +#~ msgid "What do you want to do?" +#~ msgstr "O que você quer fazer?" + +#~ msgid "Remove account from Gajim and from _server" +#~ msgstr "Remover conta do Gajim e do _servidor" + +#, fuzzy +#~ msgid "You must enter a password" +#~ msgstr "Você deve entrar com uma senha." + +#, fuzzy +#~ msgid "You still have open chats in your account %s" +#~ msgstr "Você iniciou uma conversa usando a conta %s" + +#, fuzzy +#~ msgid "To unregister from a server, the account must be enabled." +#~ msgstr "Para desativar esta conta, você deve estar desconectado." + +#~ msgid "Password required" +#~ msgstr "Senha obrigatória" + +#, fuzzy +#~ msgid "Still connected to the server" +#~ msgstr "Você não está conectado ao servidor" + +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "" +#~ "A conta '%s' ainda está conectada ao servidor. Se você removê-lo, a " +#~ "conexão será perdida." + +#~ msgid "Connection to server %s failed" +#~ msgstr "A conexão ao servidor %s falhou" + +#~ msgid "What would you like to do?" +#~ msgstr "O que você gostaria de fazer?" + +#, fuzzy +#~ msgid "Remove only from Gajim" +#~ msgstr "Remover conta _somente do Gajim" + +#, fuzzy +#~ msgid "Don't remove anything. I'll try again later" +#~ msgstr "Não retire nada. Vou tentar de novo mais tarde." + +#~ msgid "Contents" +#~ msgstr "Conteúdo" + +#~ msgid "FAQ" +#~ msgstr "FAQ" + +#~ msgid "Save as Preset Status Message" +#~ msgstr "Salvar como a mensagem de status pré-configurada" + +#~ msgid "Enter a new nickname for contact %s" +#~ msgstr "Entre com um novo apelido para o contato %s" + +#, fuzzy +#~ msgid "Join a group chat" +#~ msgstr "em uma c_onferência" + +#~ msgid "Accept" +#~ msgstr "Aceitar" + +#, fuzzy +#~ msgid "" +#~ "You tried to delete the currently active theme. Please switch to a " +#~ "different theme first." +#~ msgstr "" +#~ "Você tentou excluir o tema atualmente ativo. Por favor, mude para um tema " +#~ "diferente primeiro." + +#~ msgid "New entry received" +#~ msgstr "Novo evento recebido" + +#~ msgid "You have received new entry:" +#~ msgstr "Você recebeu uma nova entrada:" + +#~ msgid "Feed name:" +#~ msgstr "Nome do feed:" + +#~ msgid "Last modified:" +#~ msgstr "Modificado:" + +#~ msgid "Next entry" +#~ msgstr "Entrada seguinte" + +#, fuzzy +#~ msgid "Send file?" +#~ msgstr "Enviar _arquivo" + +#, fuzzy +#~ msgid "Mail _client" +#~ msgstr "_Cliente de email:" + +#, fuzzy +#~ msgid "_Browser" +#~ msgstr "_Navegar:" + +#, fuzzy +#~ msgid "_File manager" +#~ msgstr "_Gerenciamento de arquivos:" + +#, fuzzy +#~ msgid "Custom applications" +#~ msgstr "Sempre usar as aplicações padrões do OS/X" + +#~ msgid "Applications" +#~ msgstr "Aplicações" + +#, fuzzy +#~ msgid "" +#~ "Uses ReStructured text markup to send HTML, plus ASCII formatting if " +#~ "selected. Needs docutils installed (for syntax, see http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Usar marcação de texto ReStructured para HTML, mais formatação ASCII, se " +#~ "selecionada. Para informações sobre sintaxe, veja http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html (Se você quiser usar " +#~ "isso, instale o docutils)" + +#, fuzzy +#~ msgid "_Ignore formatting of incoming messages" +#~ msgstr "_Ignorar conteúdo formatado nas mensagens recebidas" + +#, fuzzy +#~ msgid "" +#~ "Some messages may include rich content (xhtml formatting, colors etc). If " +#~ "checked, Gajim will just display the plain message text." +#~ msgstr "" +#~ "Algumas mensagens podem incluir conteúdo rico (formatação, cores etc). Se " +#~ "marcado, o Gajim apenas exibirá as mensagens em texto puro." + +#, fuzzy +#~ msgid "RST XHTML Generator" +#~ msgstr "Gerador RST" + +#, fuzzy +#~ msgid "Requires: python-docutils" +#~ msgstr "Requer python-docutils." + +#~ msgid "New Single Message" +#~ msgstr "Nova mensagem" + +#, fuzzy +#~ msgid "" +#~ "Can be empty, 'chat' or 'normal'. If not empty, all incoming messages are " +#~ "treated as if they were of this type." +#~ msgstr "" +#~ "Pode ser vazio, 'chat' ou 'normal'. Se for vazio, trata todas as " +#~ "mensagens recebidas como se elas fossem do tipo especificado" + +#~ msgid "Error %(code)s: %(msg)s" +#~ msgstr "Erro %(code)s: %(msg)s" + +#~ msgid "twelve" +#~ msgstr "doze" + +#~ msgid "one" +#~ msgstr "um" + +#~ msgid "two" +#~ msgstr "dois" + +#~ msgid "three" +#~ msgstr "três" + +#~ msgid "four" +#~ msgstr "quatro" + +#~ msgid "five" +#~ msgstr "cinco" + +#~ msgid "six" +#~ msgstr "seis" + +#~ msgid "seven" +#~ msgstr "sete" + +#~ msgid "eight" +#~ msgstr "oito" + +#~ msgid "nine" +#~ msgstr "nove" + +#~ msgid "ten" +#~ msgstr "dez" + +#~ msgid "eleven" +#~ msgstr "onze" + +#~ msgid "%(0)s o'clock" +#~ msgstr "%(0)s horas" + +#~ msgid "five past %(0)s" +#~ msgstr "%(0)s e cinco" + +#~ msgid "ten past %(0)s" +#~ msgstr "%(0)s e dez" + +#~ msgid "quarter past %(0)s" +#~ msgstr "%(0)s e quinze" + +#~ msgid "twenty past %(0)s" +#~ msgstr "%(0)s e vinte" + +#~ msgid "twenty five past %(0)s" +#~ msgstr "%(0)s e vinte e cinco" + +#~ msgid "half past %(0)s" +#~ msgstr "%(0)s e meia" + +#~ msgid "twenty five to %(1)s" +#~ msgstr "vinte e cinco para as %(1)s" + +#~ msgid "twenty to %(1)s" +#~ msgstr "vinte para as %(1)s" + +#~ msgid "quarter to %(1)s" +#~ msgstr "quinze para as %(1)s" + +#~ msgid "ten to %(1)s" +#~ msgstr "dez para as %(1)s" + +#~ msgid "five to %(1)s" +#~ msgstr "cinco para %(1)s" + +#~ msgid "%(1)s o'clock" +#~ msgstr "%(1)s horas" + +#~ msgid "Night" +#~ msgstr "Noite" + +#~ msgid "Early morning" +#~ msgstr "Madrugada" + +#~ msgid "Morning" +#~ msgstr "Manhã" + +#~ msgid "Almost noon" +#~ msgstr "Quase meio-dia" + +#~ msgid "Noon" +#~ msgstr "Meio-dia" + +#~ msgid "Afternoon" +#~ msgstr "Tarde" + +#~ msgid "Evening" +#~ msgstr "Noite" + +#~ msgid "Late evening" +#~ msgstr "Tarde da noite" + +#~ msgid "Start of week" +#~ msgstr "Começo da semana" + +#~ msgid "Middle of week" +#~ msgstr "Meio da semana" + +#~ msgid "End of week" +#~ msgstr "Fim da semana" + +#~ msgid "Weekend!" +#~ msgstr "Final de semana!" + +#, fuzzy +#~ msgid "" +#~ "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or " +#~ "0 to disable Fuzzy Clock. 1 is the most precise clock, 4 the least " +#~ "precise one. This is used only if 'print_time' is 'sometimes'." +#~ msgstr "" +#~ "Exibir a hora nas conversas usando relógio impreciso. O valor de " +#~ "imprecisão varia de 1 a 4, 0 desabilita a função. 1 é relógio mais " +#~ "preciso, 4 é o menos. Isto é usado apenas se o valor de print_time for " +#~ "'às vezes'." + +#~ msgid "message" +#~ msgstr "mensagem" + +#, fuzzy +#~ msgid "error: %s" +#~ msgstr "Erro: %s" + +#, fuzzy +#~ msgid "Form: %s" +#~ msgstr "Formulário %s" + +#~ msgid "XML Input" +#~ msgstr "Entrada XML" + +#, fuzzy +#~ msgid "Ttitle" +#~ msgstr "Título:" + +#, fuzzy +#~ msgid "%(type)s encryption is active %(authenticated)s" +#~ msgstr "Criptografia %(type)s está ativa %(authenticated)s." + +#, fuzzy +#~ msgid "Screen" +#~ msgstr "verde" + +#~ msgid "Conversation with " +#~ msgstr "Conversação com " + +#~ msgid "Continued conversation" +#~ msgstr "Conversação continuada" + +#, fuzzy +#~ msgid "%s has invited you to join a discussion" +#~ msgstr "$Contact convidou você para ingressar em uma discussão" + +#~ msgid "_Send Private Message" +#~ msgstr "_Enviar mensagem privada" + +#, fuzzy +#~ msgid "Participant Actions" +#~ msgstr "Participantes" + +#~ msgid "_Voice" +#~ msgstr "_Voz" + +#~ msgid "Mo_derator" +#~ msgstr "Mo_derador" + +#~ msgid "_Member" +#~ msgstr "_Membro" + +#~ msgid "_Admin" +#~ msgstr "_Administração" + +#~ msgid "_Owner" +#~ msgstr "Proprietári_o" + +#, fuzzy +#~ msgid "_Add to Contact List" +#~ msgstr "_Adicionar contato..." + +#, fuzzy +#~ msgid "_Execute command" +#~ msgstr "_Executar comando" + +#~ msgid "Change _Nickname..." +#~ msgstr "Alterar _apelido..." + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "_Nova conferência" + +#~ msgid "Change _Subject..." +#~ msgstr "Alterar as_sunto..." + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "_Entrar em uma conferência..." + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "_Nova conferência" + +#~ msgid "_Minimize on close" +#~ msgstr "_Minimizar ao fechar" + +#, fuzzy +#~ msgid "_Request Voice" +#~ msgstr "_Voz" + +#~ msgid "_Bookmark" +#~ msgstr "Ma_rcadores" + +#, fuzzy +#~ msgid "The authenticity of the %s certificate could be invalid" +#~ msgstr "A autenticidade do certificado %s pode ser inválida." + +#~ msgid "" +#~ "\n" +#~ "Unknown SSL error: %d" +#~ msgstr "" +#~ "\n" +#~ "Erro de SSL desconhecido: %d" + +#~ msgid "" +#~ "\n" +#~ "SSL Error: %s" +#~ msgstr "" +#~ "\n" +#~ "Erro de SSL: %s" + +#~ msgid "Error verifying SSL certificate" +#~ msgstr "Erro ao verificar o certificado SSL" + +#, fuzzy +#~ msgid "View certificate…" +#~ msgstr "Certificado próprio" + +#, fuzzy +#~ msgid "Continue" +#~ msgstr "_Continuar" + +#~ msgid "" +#~ "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM " +#~ "IS RUNNING)" +#~ msgstr "" +#~ "Você quer limpar o banco de dados? (ALTAMENTE NÃO RECOMENDADO COM O GAJIM " +#~ "EM EXECUÇÃO)" + +#, fuzzy +#~ msgid "Authorization" +#~ msgstr "Autorização foi enviada" + +#, fuzzy +#~ msgid "" +#~ "All chat and group chat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Todas as janelas de conversa e conferência serão fechadas. Confirma?" + +#, fuzzy +#~ msgid "Account '%s' is still connected to the server" +#~ msgstr "Conta \"%s\" está conectada ao servidor" + +#, fuzzy +#~ msgid "Error While Saving" +#~ msgstr "Erro ao adicionar serviço. %s" + +#, fuzzy +#~ msgid "" +#~ "Image cannot be saved in %(type)s format.\n" +#~ "Save as %(new_filename)s?" +#~ msgstr "" +#~ "A imagem não pode ser salva no formato %(type)s. Salvar como " +#~ "%(new_filename)s?" + +#, fuzzy +#~ msgid "Save _As" +#~ msgstr "Possui " + +#~ msgid "Yes, I really want to connect insecurely" +#~ msgstr "Sim, eu realmente quero me conectar de modo não-seguro" + +#, fuzzy +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "Jabber ID da conferência inválido:" + +#, fuzzy +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "O Jabber ID da conferência possui caracteres não permitidos." + +#~ msgid "You may specify a reason below:" +#~ msgstr "Você deve especificar uma razão abaixo:" + +#~ msgid "Banning %s" +#~ msgstr "Banindo %s" + +#, fuzzy +#~ msgid "" +#~ "Always ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Sempre perguntar antes de fechar um aba/janela nesta lista separada por " +#~ "espaço de JID's de conferências." + +#, fuzzy +#~ msgid "" +#~ "Never ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Nunca perguntar antes de fechar uma aba/janela de conferência nesta lista " +#~ "separada por espaço de salas separadas por jids." + +#, fuzzy +#~ msgid "Leave Group Chats" +#~ msgstr "Sair das salas" + +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "%(nickname)s da sala %(room_jid)s" + +#, fuzzy +#~ msgid "You have not joined a group chat." +#~ msgstr "Você não entrou em uma sala." + +#, fuzzy +#~ msgid "Choose the group chats you want to leave" +#~ msgstr "Selecione as salas das quais você quer sair" + +#, fuzzy +#~ msgid "You left the following group chats:" +#~ msgstr "Você saiu das seguintes salas:" + +#~ msgid "Don't show avatar for the transport itself." +#~ msgstr "Não exibir o avatar para o próprio transporte." + +#, fuzzy +#~ msgid "" +#~ "Show a confirmation dialog for a custom status? Empty string means never " +#~ "show the dialog." +#~ msgstr "" +#~ "Devemos exibir o diálogo de confirmação status customizados ou não? Uma " +#~ "string vazia significa que nós nunca devemos exibir o diálogo." + +#, fuzzy +#~ msgid "" +#~ "If enabled, notification windows from notification-daemon will be " +#~ "attached to the notification area icon." +#~ msgstr "" +#~ "Se marcado como Verdadeiro as janelas de notificação do notification-" +#~ "daemon serão anexadas ao ícone da bandeja do sistema." + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending PLAIN password over a plain " +#~ "connection." +#~ msgstr "" +#~ "Exibir uma mensagem de alerta antes de enviar uma senha em uma conexão de " +#~ "texto puro." + +#, fuzzy +#~ msgid "Jabberd2 workaround." +#~ msgstr "Jabberd2 rodando" + +#, fuzzy +#~ msgid "Configure Services…" +#~ msgstr "Configurar serviços..." + +#, fuzzy +#~ msgid "Group Chat Bookmarks" +#~ msgstr "_Conferência" + +#, fuzzy +#~ msgid "Add Bookmark" +#~ msgstr "Ma_rcadores" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "Ma_rcadores" + +#, fuzzy +#~ msgid "_Server" +#~ msgstr "_Servidor:" + +#, fuzzy +#~ msgid "_Password" +#~ msgstr "_Senha:" + +#, fuzzy +#~ msgid "Join chat when connected" +#~ msgstr "Contato desconectou" + +#~ msgid "New Group Chat" +#~ msgstr "Nova conferência" + +#~ msgid "This bookmark has invalid data" +#~ msgstr "Este marcador tem dados inválidos" + +#, fuzzy +#~ msgid "" +#~ "Please be sure to fill out server and group chat fields or remove this " +#~ "bookmark." +#~ msgstr "" +#~ "Por favor, tenha certeza que preencheu os campos servidor e sala ou " +#~ "remova este marcador." + +#~ msgid "Character not allowed" +#~ msgstr "Caractere não permitido" + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "Jabber ID da conferência inválido:" + +#~ msgid "Unable to join group chat" +#~ msgstr "Impossível ingressar na sala" + +#~ msgid "You are banned from group chat %s." +#~ msgstr "Você está banido da sala %s." + +#~ msgid "Remote server %s does not exist." +#~ msgstr "O servidor remoto %s não existe." + +#~ msgid "Group chat %s does not exist." +#~ msgstr "A sala %s não existe." + +#, fuzzy +#~ msgid "Group chat creation is not permitted." +#~ msgstr "A criação de sala é restrita." + +#~ msgid "You must use your registered nickname in %s." +#~ msgstr "Você deve usar seu apelido registrado em %s." + +#, fuzzy +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "Você não está na lista de membros da sala %s." + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "Isto não é uma conferência" + +#~ msgid "This is not a group chat" +#~ msgstr "Isto não é uma conferência" + +#, fuzzy +#~ msgid "Please choose a group chat" +#~ msgstr "Crie um novo tema com o nome que você desejar." + +#~ msgid "Invalid Nickname" +#~ msgstr "Apelido inválido" + +#, fuzzy +#~ msgid "Wrong server" +#~ msgstr "URI incorreta" + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "%s não é um servidor de conferência" + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit." +#~ msgstr "" +#~ "Quantas linhas requisitar ao servidor quando entrar em uma conferência." + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit." +#~ msgstr "" +#~ "Quantos minutos esperar para requisitar registros quando entrar em uma " +#~ "sala." + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit, -2 means global value." +#~ msgstr "" +#~ "Quantas linhas requisitar ao servidor quando entrar em uma conferência." + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit, -2 means global value." +#~ msgstr "" +#~ "Quantos minutos esperar para requisitar registros quando entrar em uma " +#~ "sala." + +#, fuzzy +#~ msgid "A Password is required to join the group chat %s. Please type it." +#~ msgstr "" +#~ "Uma senha é requerida para ingressar na sala %s. Por favor, digite-a." + +#~ msgid "Not in Roster" +#~ msgstr "Fora da lista" + +#~ msgid "I would like to add you to my roster" +#~ msgstr "Eu gostaria de adiciona-lo à minha lista" + +#, fuzzy +#~ msgid "Add to Roster" +#~ msgstr "_Adicionar à lista" + +#, fuzzy +#~ msgid "Audio Session" +#~ msgstr "Áudio / Vídeo" + +#, fuzzy +#~ msgid "Manage Room" +#~ msgstr "_Gerenciar sala" + +#, fuzzy +#~ msgid "Configure Room" +#~ msgstr "Configurar _sala..." + +#, fuzzy +#~ msgid "Destroy Room" +#~ msgstr "_Excluir sala" + +#, fuzzy +#~ msgid "Change Nick" +#~ msgstr "Alterar _apelido..." + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "_Desconectar" + +#, fuzzy +#~ msgid "Copy JID" +#~ msgstr "Sala JID" + +#, fuzzy +#~ msgid "Add to Roster…" +#~ msgstr "_Adicionar à lista" + +#, fuzzy +#~ msgid "Copy JID/Email" +#~ msgstr "_Copiar e-mail/JID" + +#, fuzzy +#~ msgid "JID: %s" +#~ msgstr "Jabber ID: %s" + +#~ msgid "Changing Subject" +#~ msgstr "Mudando assunto" + +#~ msgid "Please specify the new subject:" +#~ msgstr "Por favor, especifique o novo assunto:" + +#~ msgid "Room logging is now enabled" +#~ msgstr "A gravação das conversas da sala está ativo agora" + +#~ msgid "Room logging is now disabled" +#~ msgstr "A gravação das conversas da sala está desligado agora" + +#, fuzzy +#~ msgid "You (%s) joined the room" +#~ msgstr "%s entrou na conferência" + +#~ msgid "Room logging is enabled" +#~ msgstr "A gravação das conversas da sala está ligado" + +#, fuzzy +#~ msgid "Unable to join groupchat" +#~ msgstr "Impossível ingressar na sala" + +#~ msgid "Groupchat Invitation" +#~ msgstr "Convite para conferência" + +#~ msgid "%(jid)s has been invited in this room" +#~ msgstr "%(jid)s foi convidado para esta sala" + +#, fuzzy +#~ msgid "JID is not a Groupchat" +#~ msgstr "Isto não é uma conferência" + +#~ msgid "Invalid JID" +#~ msgstr "JID inválido:" + +#~ msgid "A connection is not available" +#~ msgstr "Uma conexão não está disponível" + +#, fuzzy +#~ msgid "JID already in list" +#~ msgstr "Jabber ID já existente na lista" + +#, fuzzy +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "Uma conexão não está disponível" + +#~ msgid "Removes contact from roster" +#~ msgstr "Remover contato da lista" + +#~ msgid "Not in roster" +#~ msgstr "Fora da lista" + +#, fuzzy +#~ msgid "Contact signed in notification color." +#~ msgstr "Mo_strar somente na lista" + +#, fuzzy +#~ msgid "Contact signout notification color" +#~ msgstr "Mo_strar somente na lista" + +#, fuzzy +#~ msgid "File transfer request notification color." +#~ msgstr "Solicitação de transferência de arquivos" + +#, fuzzy +#~ msgid "File transfer error notification color." +#~ msgstr "Transferência de arquivos cancelada" + +#, fuzzy +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "" +#~ "Exibir um alerta visual quanto uma transferência de arquivo terminar" + +#, fuzzy +#~ msgid "Groupchat invitation notification color" +#~ msgstr "Convite para conferência" + +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "Adicionar * e [n] no título da lista?" + +#~ msgid "Hides the banner in two persons chat window" +#~ msgstr "Esconder o banner na janela de conversa para duas pessoas" + +#, fuzzy +#~ msgid "" +#~ "Show the confirm metacontacts creation dialog or not? Empty string means " +#~ "never show the dialog." +#~ msgstr "" +#~ "Devemos exibir o diálogo de confirmação de metacontatos ou não? Uma " +#~ "string vazia significa que nós nunca devemos exibir o diálogo." + +#~ msgid "Space separated list of ssl errors to ignore." +#~ msgstr "Lista separada por espaços de erros do ssl para ignorar." + +#~ msgid "Answer to receipt requests" +#~ msgstr "Respostas para requisições recebidas" + +#, fuzzy +#~ msgid "Language for which misspelled words will be checked" +#~ msgstr "Idioma a usar na verificação ortográficas das palavras" + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "Eu estou comendo, então deixe-me uma mensagem." + +#, fuzzy +#~ msgid "from room %s" +#~ msgstr " da sala %s" + +#~ msgid "Leave Groupchats" +#~ msgstr "Sair das salas" + +#, fuzzy +#~ msgid "Auto Join" +#~ msgstr "Ingresso automático" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "Sala:" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#~ msgid "Occupant Actions" +#~ msgstr "Ações de ocupante" + +#~ msgid "_Add to Roster" +#~ msgstr "_Adicionar à lista" + +#~ msgid "_Manage Room" +#~ msgstr "_Gerenciar sala" + +#~ msgid "Configure _Room..." +#~ msgstr "Configurar _sala..." + +#~ msgid "_Destroy Room" +#~ msgstr "_Excluir sala" + +#~ msgid "Jabber ID" +#~ msgstr "Jabber ID" + +#, fuzzy +#~ msgid "account" +#~ msgstr "Conta" + +#, fuzzy +#~ msgid "Roster" +#~ msgstr "Exibir _lista" + +#, fuzzy +#~ msgid "Show only in roster" +#~ msgstr "Mostre somente na _lista" + +#~ msgid "in _roster" +#~ msgstr "na _lista" + +#~ msgid "Roster Appearance" +#~ msgstr "Aparência da Lista de Contatos" + +#, fuzzy +#~ msgid "Show chatstate in roster" +#~ msgstr "Exibir a_vatar dos contatos na lista" + +#~ msgid "_Add to Roster..." +#~ msgstr "_Adicionar à lista..." + +#~ msgid "_Jabber ID:" +#~ msgstr "_Jabber ID:" + +#, fuzzy +#~ msgid "_Jabber ID" +#~ msgstr "_Jabber ID:" + +#~ msgid "JabberID" +#~ msgstr "Jabber ID" + +#, fuzzy +#~ msgid "Show Roster" +#~ msgstr "Exibir _lista" + +#~ msgid "MUC server" +#~ msgstr "Servidor MUC" + +#~ msgid "Room Configuration" +#~ msgstr "Configuração da sala" + +#~ msgid "Join _Group Chat" +#~ msgstr "_Entrar em uma conferência" + +#~ msgid "Toggle audio session" +#~ msgstr "Alternar sessão de áudio" + +#, fuzzy +#~ msgid "Audio sessions are not available" +#~ msgstr "Uma conexão não está disponível" + +#~ msgid "Conference" +#~ msgstr "Conferência" + +#, fuzzy +#~ msgid "_Manage Bookmarks…" +#~ msgstr "Gerenciar marcadores" + +#, fuzzy +#~ msgid "Hide _Roster" +#~ msgstr "na _lista" + +#~ msgid "Show _Roster" +#~ msgstr "Exibir _lista" + +#, fuzzy +#~ msgid "Invalid Room" +#~ msgstr "Sala inválida" + +#~ msgid "Invalid room" +#~ msgstr "Sala inválida" + +#~ msgid "A GTK+ Jabber client" +#~ msgstr "Um cliente Jabber GTK+" + +#~ msgid "Changing Nickname" +#~ msgstr "Mudando apelido" + +#~ msgid "Please specify the new nickname you want to use:" +#~ msgstr "Por favor, especifique o novo apelido que você quer usar:" + +#~ msgid "Bookmark already set" +#~ msgstr "Marcador já configurado" + +#, fuzzy +#~ msgid "Group Chat '%s' is already in your bookmarks." +#~ msgstr "A sala \"%s\" já existe nos marcadores." + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "Marcador foi adicionado com sucesso" + +#, fuzzy +#~ msgid "" +#~ "You can manage your bookmarks by clicking the Bookmarks menu item in your " +#~ "contact list." +#~ msgstr "" +#~ "Você pode gerenciar seus marcadores pelo menu de ações na janela " +#~ "principal." + +#, fuzzy +#~ msgid "The nickname contains invalid characters." +#~ msgstr "O apelido possui caracteres não permitidos." + +#, fuzzy +#~ msgid "Bookmark Room" +#~ msgstr "Adicionar esta sala aos marcadores" + +#~ msgid "_Join New Group Chat" +#~ msgstr "_Ingressar em uma nova Conferência" + +#~ msgid "Name:" +#~ msgstr "Nome:" + +#, fuzzy +#~ msgid "Description:" +#~ msgstr "Descrição: " + +#, fuzzy +#~ msgid "Address:" +#~ msgstr "_Endereço:" + +#, fuzzy +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "" +#~ "Você não pode ingressar em uma sala de conferência até que esteja " +#~ "conectado." + +#, fuzzy +#~ msgid "Occupants" +#~ msgstr "Ações de ocupante" + +#~ msgid "_Modify Account..." +#~ msgstr "_Alterar conta..." + +#~ msgid "Boolean" +#~ msgstr "Booleano" + +#~ msgid "Integer" +#~ msgstr "Inteiro" + +#~ msgid "Text" +#~ msgstr "Texto" + +#~ msgid "Value" +#~ msgstr "Valor" + +#~ msgid "(None)" +#~ msgstr "(Nada)" + +#~ msgid "Hidden" +#~ msgstr "Escondido" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "Gerenciar perfis de proxy" + +#~ msgid "Properties" +#~ msgstr "Propriedades" + +#, fuzzy +#~ msgid "Proxy _Port" +#~ msgstr "_Porta do máquina:" + +#, fuzzy +#~ msgid "New Groupchat" +#~ msgstr "Nova conferência" + +#, fuzzy +#~ msgid "New Contact" +#~ msgstr "Adicionar novo contato" + +#~ msgid "%s GiB" +#~ msgstr "%s GiB" + +#~ msgid "%s GB" +#~ msgstr "%s GB" + +#~ msgid "%s MiB" +#~ msgstr "%s MiB" + +#~ msgid "%s MB" +#~ msgstr "%s MB" + +#~ msgid "%s KiB" +#~ msgstr "%s KiB" + +#~ msgid "%s KB" +#~ msgstr "%s KB" + +#~ msgid "%s B" +#~ msgstr "%s B" + +#, fuzzy +#~ msgid "%s MiB/s" +#~ msgstr "%s MiB" + +#, fuzzy +#~ msgid "File transfer" +#~ msgstr "Transferência de arquivos" + +#, fuzzy +#~ msgid "Open _Containing Folder" +#~ msgstr "_Abrir pasta do arquivo" + +#, fuzzy +#~ msgid "Default:" +#~ msgstr "Padrão" + +#~ msgid "Really quit Gajim?" +#~ msgstr "Realmente sair do Gajim?" + +#~ msgid "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" +#~ msgstr "" +#~ "Você não poderá mais enviar e receber mensagens para contatos destes " +#~ "transportes: %s" + +#~ msgid "Contact \"%s\" will be removed from your roster" +#~ msgstr "Contato \"%s\" será removido de sua lista" + +#, fuzzy +#~ msgid "" +#~ "By removing this contact you also by default remove authorization " +#~ "resulting in them always seeing you as offline." +#~ msgstr "" +#~ "Removendo este contato, você também, por padrão, removerá a autorização, " +#~ "resultando em ele ou ela sempre o verá offiline." + +#~ msgid "Contacts will be removed from your roster" +#~ msgstr "Os contatos serão removidos da sua lista" + +#~ msgid "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorization resulting in them always seeing you as " +#~ "offline." +#~ msgstr "" +#~ "Removendo estes contatos:%s\n" +#~ "você também remove a autorização fazendo com que eles sempre vejam você " +#~ "offline." + +#, fuzzy +#~ msgid "Con_tinue" +#~ msgstr "_Continuar" + +#~ msgid "_Pause" +#~ msgstr "_Pausa" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "Remover a transferência de arquivo da lista." + +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "" +#~ "Esta ação remove uma única transferência de arquivo da lista. Se a " +#~ "transferência está ativa, isto vai pará-la e removê-la" + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "Cancela a transferência de arquivo selecionada" + +#, fuzzy +#~ msgid "Hide the window" +#~ msgstr "Esconder a janela" + +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "" +#~ "Exibir um alerta visual quanto uma transferência de arquivo terminar" + +#~ msgid "From:" +#~ msgstr "De:" + +#~ msgid "Subject:" +#~ msgstr "Assunto:" + +#~ msgid "%s wants to send you a file:" +#~ msgstr "%s quer te enviar um arquivo:" + +#~ msgid "Name: " +#~ msgstr "Nome: " + +#~ msgid "Pause" +#~ msgstr "Pausa" + +#, fuzzy +#~ msgid "Execute Command" +#~ msgstr "_Executar comando" + +#~ msgid "Type: " +#~ msgstr "Tipo: " + +#~ msgid "Transferred: " +#~ msgstr "Transferido: " + +#~ msgid "Completed" +#~ msgstr "Completo" + +#~ msgid "Stalled" +#~ msgstr "Parado" + +#~ msgid "Transferring" +#~ msgstr "Transferindo" + +#~ msgid "Not started" +#~ msgstr "Não iniciado" + +#~ msgid "%s day" +#~ msgid_plural "%s days" +#~ msgstr[0] "%s dia" +#~ msgstr[1] "%s dias" + +#~ msgid "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Todas as janelas de conversa e conferência serão fechadas. Confirma?" + +#~ msgid "" +#~ "Your desired nickname in group chat\n" +#~ "%s\n" +#~ "is in use or registered by another occupant.\n" +#~ "Please specify another nickname below:" +#~ msgstr "" +#~ "Seu apelido desejado na sala de bate-papo\n" +#~ "%s\n" +#~ "já está em uso ou foi registrado por outro ocupante.\n" +#~ "Por favor, especifique outro apelido abaixo:" + +#~ msgid "_Configure" +#~ msgstr "_Configurar" + +#, fuzzy +#~ msgid "Change the avatar" +#~ msgstr "Alterar status" + +#, fuzzy +#~ msgid "" +#~ "Account in which the avatar will be set; if not specified, the avatar " +#~ "will be set for all accounts" +#~ msgstr "" +#~ "A conta em que o XML será enviado; se não estiver especificado, será " +#~ "enviado para todas as contas" + +#~ msgid "add" +#~ msgstr "adicionar" + +#~ msgid "modify" +#~ msgstr "modificar" + +#~ msgid "remove" +#~ msgstr "remover" + +#, fuzzy +#~ msgid "" +#~ "If true, restored messages will use a smaller font than the default one." +#~ msgstr "" +#~ "Se Verdadeiro, as mensagens restauradas usarão uma fonte menor que o " +#~ "padrão." + +#, fuzzy +#~ msgid "Restored Message Color" +#~ msgstr "Voltar para as cores _padrões" + +#, fuzzy +#~ msgid "" +#~ "You are going to remove this room permanently.\n" +#~ "You may specify a reason below:" +#~ msgstr "" +#~ "Você está prestes a excluir definitivamente esta sala.\n" +#~ "Você deve especificar uma justificativa abaixo:" + +#~ msgid "Send Cus_tom Status" +#~ msgstr "Enviar status perso_nalizado" + +#, fuzzy +#~ msgid "" +#~ "You are about to send a custom status. Are you sure you want to continue?" +#~ msgstr "" +#~ "Você está prestes a enviar um status customizado. Tem certeza que quer " +#~ "continuar?" + +#, fuzzy +#~ msgid "" +#~ "This contact will temporarily see you as %(status)s, but only until you " +#~ "change your status. Then they will see your global status." +#~ msgstr "" +#~ "Este contato irá temporariamente ver você como %(status)s, mas somente " +#~ "até você alterar o seu status. Então ele irá ver o seu status global." + +#, fuzzy +#~ msgid "" +#~ msgstr "Assunto" + +#~ msgid "#" +#~ msgstr "#" + +#~ msgid "You are about to block a contact. Are you sure you want to continue?" +#~ msgstr "" +#~ "Você está prestes a bloquear um contato. Tem certeza que quer continuar?" + +#~ msgid "To:" +#~ msgstr "Para:" + +#~ msgid "0" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Reconnect when connection is lost" +#~ msgstr "Reconectar automaticamente quando a conexão cair" + +#, fuzzy +#~ msgid "Server Message Archive" +#~ msgstr "_Enviar mensagem de servidor..." + +#, fuzzy +#~ msgid "Message Carbons" +#~ msgstr "Mensagens" + +#~ msgid "" +#~ "Sent chat state notifications. Can be one of all, composing_only, " +#~ "disabled." +#~ msgstr "" +#~ "Notificações de estado de conversa enviados. Pode ser one of all, " +#~ "composing_only, disabled." + +#, fuzzy +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "Permitir o envio de informações do _SO" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the idle time of your system" +#~ msgstr "" +#~ "Se marcado, o Gajim irá permitir que os outros detectem qual o sistema " +#~ "operacional está usando" + +#, fuzzy +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "Permitir o envio de informações do _SO" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the local time on your system" +#~ msgstr "" +#~ "Se marcado, o Gajim irá permitir que os outros detectem qual o sistema " +#~ "operacional está usando" + +#, fuzzy +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "Permitir o envio de informações do _SO" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the operating system you are " +#~ "using" +#~ msgstr "" +#~ "Se marcado, o Gajim irá permitir que os outros detectem qual o sistema " +#~ "operacional está usando" + +#, fuzzy +#~ msgid "" +#~ "If checked, incoming events from unauthorized contacts will be ignored. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster." +#~ msgstr "" +#~ "Se marcado, o Gajim irá ignorar eventos que venham de contatos não " +#~ "autorizados. Utilize com cuidado, porque isto bloqueia todas as mensagens " +#~ "de qualquer contato que você não possuir na sua lista" + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." +#~ msgstr "" +#~ "Gajim pode enviar e receber meta-informações relacionadas a conversação " +#~ "que você pode ter com um contato. Aqui você pode especificar quais " +#~ "caracteres você quer para enviar a outra parte." + +#, fuzzy +#~ msgid "S_end chat state notifications" +#~ msgstr "_Enviar notificações de status de conversa:" + +#, fuzzy +#~ msgid "Login Options" +#~ msgstr "_Emoticons:" + +#~ msgid "Please wait while retrieving search form..." +#~ msgstr "" +#~ "Por favor aguarde enquanto o formulário de pesquisa está sendo obtido..." + +#~ msgid "_Add contact" +#~ msgstr "_Adicionar contato" + +#~ msgid "Ad-hoc Commands - Gajim" +#~ msgstr "Comandos ad-hoc - Gajim" + +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "Por favor aguarde enquanto a lista de comandos é recuperada..." + +#~ msgid "Choose command to execute:" +#~ msgstr "Escolha um comando para executar" + +#~ msgid "Check once more" +#~ msgstr "Verificar novamente" + +#, fuzzy +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "Por favor aguarde enquanto a lista de comandos é enviada..." + +#~ msgid "This jabber entity does not expose any commands." +#~ msgstr "Esta entidade jabber não expõe quaisquer comandos." + +#, fuzzy +#~ msgid "F_inish" +#~ msgstr "_Concluir" + +#~ msgid "Waiting for results" +#~ msgstr "Esperando resultados" + +#~ msgid "Error in received dataform" +#~ msgstr "Erro no formulário de dados recebido" + +#~ msgid "No result" +#~ msgstr "Sem resultados" + +#~ msgid "Failed to get secret keys" +#~ msgstr "Falha enquanto recebia as chaves secretas" + +#~ msgid "There is no OpenPGP secret key available." +#~ msgstr "Não há chave secreta OpenPGP disponível." + +#~ msgid "OpenPGP Key Selection" +#~ msgstr "Seleção de chave OpenPGP" + +#~ msgid "Choose your OpenPGP key" +#~ msgstr "Escolha sua chave OpenPGP" + +#~ msgid "KeyID" +#~ msgstr "KeyID" + +#~ msgid "Contact name" +#~ msgstr "Nome do contato" + +#, fuzzy +#~ msgid "OpenPGP is not usable" +#~ msgstr "GPG não é usável" + +#~ msgid "Assign OpenPGP Key" +#~ msgstr "Atribuir chave OpenPGP" + +#~ msgid "Select a key to apply to the contact" +#~ msgstr "Selecione uma chave para atribuir ao contato" + +#, fuzzy +#~ msgid "" +#~ "You configured Gajim to use OpenPGP agent, but there is no OpenPGP agent " +#~ "running or it returned a wrong passphrase.\n" +#~ msgstr "" +#~ "Você configurou o Gajim para usar o agente do GPG, mas não há agente do " +#~ "GPG rodando ou então ele retornou uma frase secreta incorreta.\n" + +#~ msgid "You are currently connected without your OpenPGP key." +#~ msgstr "Você está atualmente conectado sem sua chave OpenPGP." + +#, fuzzy +#~ msgid "Wrong passphrase" +#~ msgstr "Frase de acesso errada" + +#, fuzzy +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "Frase de acesso errada" + +#~ msgid "Passphrase Required" +#~ msgstr "Frase de acesso é obrigatória" + +#, fuzzy +#~ msgid "" +#~ "Enter OpenPGP key passphrase for key %(keyid)s (account %(account)s)." +#~ msgstr "" +#~ "Entre com a frase de acesso da chave GPG %(keyid)s para conta (account " +#~ "%(account)s)." + +#, fuzzy +#~ msgid "OpenPGP key expired" +#~ msgstr "A chave GPG expirou" + +#, fuzzy +#~ msgid "" +#~ "Your OpenPGP key has expired, you will be connected to %s without OpenPGP." +#~ msgstr "Sua chave GPG expirou, você será conectado ao %s sem OpenPGP." + +#~ msgid "Wrong Passphrase" +#~ msgstr "Frase de acesso errada" + +#, fuzzy +#~ msgid "Please retype your OpenPGP passphrase or press Cancel." +#~ msgstr "" +#~ "Por favor, reescreva sua frase secreta de GPG ou pressione Cancelar." + +#~ msgid "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Envia nova mensagem para um contato na lista. Ambas chave OpenPGP e conta " +#~ "são opcionais. Se você quer configurar somente a 'conta', sem a 'chave " +#~ "OpenPGP', apenas configure a 'chave para ''." + +#~ msgid "if specified, the message will be encrypted using this public key" +#~ msgstr "" +#~ "se especificada, a mensagem será criptografada usando esta chave pública" + +#, fuzzy +#~ msgid "" +#~ "Sends a chat message to someone on your roster. Optionally with OpenPGP " +#~ "key and account. If you want to only set the latter, set OpenPGP key to " +#~ "\"\"." +#~ msgstr "" +#~ "Envia nova mensagem para um contato na lista. Ambas chave OpenPGP e conta " +#~ "são opcionais. Se você quer configurar somente a 'conta', sem a 'chave " +#~ "OpenPGP', apenas configure a 'chave para ''." + +#~ msgid "" +#~ "If disabled, don't sign presences with GPG key, even if GPG is configured." +#~ msgstr "" +#~ "Se desativado, não assinar presenças com chaves GPG, se o GPG estiver " +#~ "configurado." + +#, fuzzy +#~ msgid "OpenPGP:" +#~ msgstr "OpenPGP: " + +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "Atribuir chave Open_PGP..." + +#, fuzzy +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "Criptografia de mensagem OpenPGP" + +#, fuzzy +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "Criptografando as mensagens das conversas com chaves gpg." + +#, fuzzy +#~ msgid "Requires: gpg and python-gnupg (%(url)s)" +#~ msgstr "Requer gpg e python-gnupg (%(url)s)." + +#, fuzzy +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "_usar variável de ambiente HTTP__PROXY" + +#, fuzzy +#~ msgid "Use PGP Agent" +#~ msgstr "Usar o Agente G_PG" + +#, fuzzy +#~ msgid "OpenPGP Key" +#~ msgstr "Atribuir chave OpenPGP" + +#~ msgid "Cancel confirmation" +#~ msgstr "Cancelar confirmação" + +#~ msgid "" +#~ "You are in process of executing command. Do you really want to cancel it?" +#~ msgstr "" +#~ "Você está na execução de um comando. Você realmente deseja cancelar?" + +#~ msgid "Service sent malformed data" +#~ msgstr "O serviço enviou dados inválidos" + +#~ msgid "Service changed the session identifier." +#~ msgstr "O serviço alterou o identificador da sessão." + +#~ msgid "%s - Ad-hoc Commands - Gajim" +#~ msgstr "%s - Comandos Ad-hoc - Gajim" + +#~ msgid "Service returned an error." +#~ msgstr "O serviço retornou um erro." + +#~ msgid "You are invited to a groupchat" +#~ msgstr "Você foi convidado para uma conferência" + +#~ msgid "_Start Chat" +#~ msgstr "_Iniciar conversa" + +#~ msgid "Au_thorize" +#~ msgstr "Au_torizar" + +#~ msgid "Really send file?" +#~ msgstr "Realmente enviar o arquivo?" + +#~ msgid "You are currently connected to the server" +#~ msgstr "Você está atualmente conectado ao servidor" + +#~ msgid "To disable the account, you must be disconnected." +#~ msgstr "Para desativar esta conta, você deve estar desconectado." + +#~ msgid "Do you wish to delete all correspondence with %(jid)s?" +#~ msgstr "Você quer excluir todas as correspondências com %(jid)s?" + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with the selected contacts?" +#~ msgstr "Você realmente quer excluir os logs do contato selecionado?" + +#, fuzzy +#~ msgid "This can not be undone." +#~ msgstr "O serviço não pode ser encontrado" + +#~ msgid "What do you want to do?" +#~ msgstr "O que você quer fazer?" + +#~ msgid "" +#~ "List of colors, separated by \":\", that will be used to color nicknames " +#~ "in group chats." +#~ msgstr "" +#~ "A lista de cores, separadas por \":\", que serão usadas para colorir os " +#~ "apelidos nas salas de conferência." + +#~ msgid "You have received new entries (and %d not displayed):" +#~ msgid_plural "You have received new entries (and %d not displayed):" +#~ msgstr[0] "Você recebeu novas entradas (e %d não exibida):" +#~ msgstr[1] "Você recebeu novas entradas (e %d não exibidas):" + +#~ msgid "Stopped" +#~ msgstr "Parado" + +#~ msgid "" +#~ "You are about to send your password on an insecure connection. You should " +#~ "install PyOpenSSL to prevent that. Are you sure you want to do that?" +#~ msgstr "" +#~ "Você está enviando sua senha em uma conexão não-segura. Você deve " +#~ "instalar o PyOpenSSL para prevenir isto. Você tem certeza que quer fazer " +#~ "isso?" + +#, fuzzy +#~ msgid "Status messages displayed in chat window" +#~ msgstr "Enviar mensagem e fechar a janela" + +#~ msgid "?print_status:All" +#~ msgstr "?exibir_status:Todos" + +#~ msgid "Enter and leave only" +#~ msgstr "Apenas entre e saia" + +#~ msgid "?print_status:None" +#~ msgstr "?exibir_status:Nenhum" + +#, fuzzy +#~ msgid "Untrusted OpenPGP key" +#~ msgstr "Escolha sua chave OpenPGP" + +#, fuzzy +#~ msgid "" +#~ "The OpenPGP key used to encrypt this chat is not trusted. Do you really " +#~ "want to encrypt this message?" +#~ msgstr "" +#~ "A chave GPG usada para criptografar esta conversa não é confiável. Você " +#~ "realmente deseja criptografar esta mensagem?" + +#~ msgid "D-Bus python bindings are missing in this computer" +#~ msgstr "Acesso ao python D-Bus foi perdido neste computador" + +#~ msgid "D-Bus capabilities of Gajim cannot be used" +#~ msgstr "As potencialidades do D-Bus no Gajim não podem ser usadas" + +#~ msgid "D-Bus does not run correctly on this machine" +#~ msgstr "O D-Bus não está sendo executado corretamente nesta máquina" + +#, fuzzy +#~ msgid "D-Bus does not run correctly on this machine: system bus not present" +#~ msgstr "O D-Bus não está sendo executado corretamente nesta máquina" + +#, fuzzy +#~ msgid "" +#~ "D-Bus does not run correctly on this machine: session bus not present" +#~ msgstr "O D-Bus não está sendo executado corretamente nesta máquina" + +#, fuzzy +#~ msgid "Command line Control" +#~ msgstr "Linha de comando" + +#, fuzzy +#~ msgid "Enables you to control Gajim with via commandline" +#~ msgstr "Um script para controlar o Gajim via linha de comando." + +#~ msgid "" +#~ "When is self contact row displayed. Can be \"always\", " +#~ "\"when_other_resource\" or \"never\"" +#~ msgstr "" +#~ "Quando a linha de auto contatos é exibida. Pode ser \"sempre\", " +#~ "\"quando_em_outro_recurso\" ou \"nunca\"" + +#~ msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +#~ msgstr "%(nick)s foi chutado por %(who)s: %(reason)s" + +#~ msgid "%(nick)s has been banned by %(who)s: %(reason)s" +#~ msgstr "%(nick)s foi banido por %(who)s: %(reason)s" + +#~ msgid "system shutdown" +#~ msgstr "desligamento do sistema" + +#~ msgid "** Role of %(nick)s has been set to %(role)s" +#~ msgstr "** O cargo de %(nick)s foi definido para %(role)s" + +#~ msgid "%s has left" +#~ msgstr "%s saiu da sala" + +#~ msgid "%s is full" +#~ msgstr "%s está cheio" + +#, fuzzy +#~ msgid "" +#~ "Can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no " +#~ "longer print status line in groupchats when a member changes their status " +#~ "and/or their status message. If \"all\" Gajim will print all status " +#~ "messages. If \"in_and_out\", Gajim will only print FOO enters/leaves " +#~ "group chat." +#~ msgstr "" +#~ "pode ser \"none\" (nenhum), \"all\" (todos) ou \"in_and_out\" (dentro e " +#~ "fora). Se for \"none\", o Gajim não exibirá mais o status nas " +#~ "conferências quando um membro alterar seu status e/ou sua mensagem de " +#~ "status. Se for \"all\" o Gajim exibirá todas as mensagens de status. Se " +#~ "for \"in_and_out\" o Gajim só exibirá FOO entradas/saídas em conferências." + +#, fuzzy +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "Exibir _mensagem de status da lista de contato" + +#, fuzzy +#~ msgid "" +#~ "You are about to send your password unencrypted on an insecure " +#~ "connection. Are you sure you want to do that?" +#~ msgstr "" +#~ "Você está prestes a enviar sua senha em um conexão não-criptografada. Tem " +#~ "certeza que quer fazer isto?" + +#, fuzzy +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "Autenticação anônima" + +#, fuzzy +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "Autenticação anôn_ima" + +#, fuzzy +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "Autenticação anôn_ima" + +#~ msgid "" +#~ "Displayed chat state notifications in chat windows. Can be one of all, " +#~ "composing_only, disabled." +#~ msgstr "" +#~ "Notificações de estado de conversa exibidos nas janelas de conversa. Pode " +#~ "ser one of all, composing_only, disabled." + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." +#~ msgstr "" +#~ "O Gajim pode enviar e receber meta-informações relacionadas a conversação " +#~ "que você pode ter com um contato. Aqui você pode especificar quais " +#~ "caracteres você quer para enviar a outra parte." + +#~ msgid "This is an irreversible operation." +#~ msgstr "Esta é uma operação irreversível." + +#~ msgid "Settings" +#~ msgstr "Configurações" + +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "Gerenciador de histórico de conversas do Gajim" + +#~ msgid "Member List" +#~ msgstr "Lista de membros" + +#~ msgid "Owner List" +#~ msgstr "Lista de proprietários" + +#~ msgid "Administrator List" +#~ msgstr "Lista de administradores" + +#~ msgid "Nick" +#~ msgstr "Apelido" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "Quem você quer banir?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Member…" +#~ msgstr "Adicionando membro..." + +#~ msgid "" +#~ "Whom do you want to make a member?\n" +#~ "\n" +#~ msgstr "" +#~ "Quem você quer fazer como membro?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Owner…" +#~ msgstr "Adicionando proprietário..." + +#~ msgid "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" +#~ msgstr "" +#~ "Quem você quer tornar um proprietário?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Administrator…" +#~ msgstr "Adicionando administrador..." + +#~ msgid "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" +#~ msgstr "" +#~ "Quem você quer tornar um administrador?\n" +#~ "\n" + +#~ msgid "Error reading file:" +#~ msgstr "Erro lendo arquivo:" + +#~ msgid "Error parsing file:" +#~ msgstr "Erro ao analisar o arquivo:" + +#~ msgid "List of possible features in Gajim:" +#~ msgstr "Listas dos possíveis recursos do Gajim:" + +#~ msgid "Description" +#~ msgstr "Descrição" + +#~ msgid "Password encryption" +#~ msgstr "Criptografia de senha" + +#~ msgid "Spellchecking of composed messages." +#~ msgstr "Verificação ortográfica das mensagens escritas." + +#~ msgid "Automatic status" +#~ msgstr "Status automático" + +#~ msgid "Requires python2.5." +#~ msgstr "Requer python2.5" + +#~ msgid "" +#~ "Generate XHTML output from RST code (see http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Gera saída XHTML a partir de código RST (veja http://docutils.sourceforge." +#~ "net/docs/ref/rst/restructuredtext.html)." + +#, fuzzy +#~ msgid "?features:Available" +#~ msgstr "Disponível" + +#~ msgid "Feature" +#~ msgstr "Recurso" + +#~ msgid "Filter:" +#~ msgstr "Filtro:" + +#~ msgid "Chat Appearance" +#~ msgstr "Aparência da conversa" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed out" +#~ msgstr "" +#~ "Gajim notificará você através de um alerta visual na parte inferior " +#~ "direita da tela sobre os contatos que se desconectaram" + +#~ msgid "Sounds" +#~ msgstr "Sons" + +#~ msgid "Chat state notifications" +#~ msgstr "Notificações do estado da conversa" + +#, fuzzy +#~ msgid "_Away after" +#~ msgstr "_Afastado depois:" + +#~ msgid "" +#~ "If checked, Gajim will change status to Away when the computer is unused." +#~ msgstr "" +#~ "Se marcado, o Gajim irá alterar o status para Ausente quando o computador " +#~ "não estiver em uso." + +#, fuzzy +#~ msgid "_Not available after" +#~ msgstr "_Não disponível depois:" + +#~ msgid "Auto Status" +#~ msgstr "Status automático" + +#~ msgid "Status Messages" +#~ msgstr "Mensagens de status" + +#, fuzzy +#~ msgid "Audio" +#~ msgstr "Ações" + +#, fuzzy +#~ msgid "Video" +#~ msgstr "Nome do meio:" + +#, fuzzy +#~ msgid "Connection" +#~ msgstr "Condições" + +#~ msgid "Custom" +#~ msgstr "Customizar" + +#~ msgid "Privacy" +#~ msgstr "Privacidade" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "Editor de configurações avançadas" + +#, fuzzy +#~ msgid "Audio / video conferences" +#~ msgstr "Áudio / Vídeo" + +#, fuzzy +#~ msgid "File transfer, room bookmarks" +#~ msgstr "Erro na transferência de arquivos" + +#, fuzzy +#~ msgid "XML console interface" +#~ msgstr "Console XML" + +#, fuzzy +#~ msgid "" +#~ "A programming error has been detected. It probably is not fatal, but " +#~ "should be reported to the developers nonetheless." +#~ msgstr "" +#~ "Não é provavelmente fatal, mas deve ser reportado aos desenvolvedores." + +#~ msgid "" +#~ "A list of modp groups to use in a Diffie-Hellman, highest preference " +#~ "first, separated by commas. Valid groups are 1, 2, 5, 14, 15, 16, 17 and " +#~ "18. Higher numbers are more secure, but take longer to calculate when you " +#~ "start a session." +#~ msgstr "" +#~ "Uma lista de grupos modp para usar em uma Diffie-Hellman, preferências " +#~ "maiores primeiro, separadas por vírgula. Grupos válidos são 1, 2, 5, 14, " +#~ "15, 16, 17 e 18. Números maiores são mais seguros, mas demoram mais para " +#~ "calcular quando você inicia uma sessão." + +#~ msgid "(ESession info)" +#~ msgstr "(Informações ESession)" + +#~ msgid "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" +#~ msgstr "" +#~ "Se habilitado, Gajim substituirá o ascii para smilies, como ':)' com a " +#~ "animação equivalente ou estático emoticons gráfico" + +#, fuzzy +#~ msgid "_Emoticons" +#~ msgstr "_Emoticons:" + +#~ msgid "_Highlight misspelled words" +#~ msgstr "_Destacar palavras mal escritas" + +#, fuzzy +#~ msgid "Notify by icon when your messages are received" +#~ msgstr "Som a ser tocado quando qualquer mensagem MUC chegar." + +#, fuzzy +#~ msgid "T_heme" +#~ msgstr "_Tema:" + +#~ msgid "Themes" +#~ msgstr "Tema" + +#~ msgid "Always use this nickname when there is a conflict" +#~ msgstr "Sempre usar este apelido quando houver um conflito" + +#~ msgid "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." +#~ msgstr "" +#~ "O Jabberd1.4 não trata informações sha quando alguém entra numa sala " +#~ "protegida por senha. Mude esta opção para Falso para parar de emitir as " +#~ "informações sha na presenças de conferências." + +#, fuzzy +#~ msgid "Presence" +#~ msgstr "_Presença" + +#~ msgid "Emoticons disabled" +#~ msgstr "Emoticons desabilitados" + +#, fuzzy +#~ msgid "" +#~ "Your configured emoticons theme could not be loaded. See the log for more " +#~ "details." +#~ msgstr "" +#~ "Você configurou um tema de emoticons que não foi encontrado, então os " +#~ "emoticons estão desativados." + +#~ msgid "You cannot make changes to the default theme" +#~ msgstr "Você não pode fazer alterações no tema padrão" + +#~ msgid "theme name" +#~ msgstr "nome do tema" + +#~ msgid "You cannot delete your current theme" +#~ msgstr "Você não pode apagar o seu tema corrente" + +#~ msgid "New Single Message from %(nickname)s" +#~ msgstr "Nova mensagem simples de %(nickname)s" + +#~ msgid "New Private Message from group chat %s" +#~ msgstr "Nova mensagem privada da conferência %s" + +#~ msgid "%(nickname)s: %(message)s" +#~ msgstr "%(nickname)s: %(message)s" + +#~ msgid "Messaged by %(nickname)s" +#~ msgstr "Mensagem enviada por %(nickname)s" + +#~ msgid "Status message text color." +#~ msgstr "Cor do texto da mensagem de status." + +#~ msgid "Incoming nickname font." +#~ msgstr "Fonte do apelido de entrada." + +#~ msgid "Outgoing nickname font." +#~ msgstr "Fonte do apelido de saída." + +#~ msgid "Status message text font." +#~ msgstr "Fonte do texto da mensagem de status." + +#~ msgid "Background color of contacts when they just signed in." +#~ msgstr "Cor de fundo dos contatos quando eles simplesmente conectarem." + +#~ msgid "Background color of contacts when they just signed out." +#~ msgstr "Cor de fundo dos contatos quando eles simplesmente desconectarem." + +#~ msgid "green" +#~ msgstr "verde" + +#~ msgid "grocery" +#~ msgstr "mantimento" + +#~ msgid "human" +#~ msgstr "humano" + +#~ msgid "marine" +#~ msgstr "marinho" + +#, fuzzy +#~ msgid "Contact row" +#~ msgstr "Contato" + +#~ msgid "Gajim Themes Customization" +#~ msgstr "Customização de temas do Gajim" + +#~ msgid "Text _color:" +#~ msgstr "_Cor do texto" + +#~ msgid "_Background:" +#~ msgstr "Cor _de fundo" + +#~ msgid "Text _font:" +#~ msgstr "_Fonte do texto" + +#~ msgid "Font style:" +#~ msgstr "Estilo da fonte:" + +#~ msgid "Paused" +#~ msgstr "Pausado" + +#~ msgid "Gone" +#~ msgstr "Enviado" + +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "" +#~ "MUC\n" +#~ "mensagens" + +#~ msgid "Chatstate Tab Colors" +#~ msgstr "Aba de cores do bate-papo" + +#, fuzzy +#~ msgid "Chat message" +#~ msgstr "Mensagem da conversa:" + +#~ msgid "Use system _default" +#~ msgstr "Usar o _padrão do sistema" + +#~ msgid "Font" +#~ msgstr "Fonte" + +#, fuzzy +#~ msgid "Contact's nickname" +#~ msgstr "Apelido do contato:" + +#, fuzzy +#~ msgid "_Status message" +#~ msgstr "_Mensagem de status:" + +#, fuzzy +#~ msgid "Your message" +#~ msgstr "Sua mensagem:" + +#, fuzzy +#~ msgid "_URL highlight" +#~ msgstr "Destaque de _URL:" + +#~ msgid "Chat Line Colors" +#~ msgstr "Cores da linha da conversa" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#~ msgid "Resource:" +#~ msgstr "Recurso:" + +#~ msgid "Status:" +#~ msgstr "Status:" + +#~ msgid "Client:" +#~ msgstr "Cliente:" + +#~ msgid "Contact time:" +#~ msgstr "Tempo do contato:" + +#~ msgid "Ask:" +#~ msgstr "Pergunta:" + +#~ msgid "Subscription:" +#~ msgstr "Inscrição:" + +#~ msgid "Name:" +#~ msgstr "Nome:" + +#~ msgid "Nickname:" +#~ msgstr "Apelido:" + +#~ msgid "Street:" +#~ msgstr "Rua:" + +#~ msgid "City:" +#~ msgstr "Cidade:" + +#~ msgid "State:" +#~ msgstr "Estado:" + +#~ msgid "Extra Address:" +#~ msgstr "Complemento:" + +#~ msgid "Postal Code:" +#~ msgstr "Código postal:" + +#~ msgid "Country:" +#~ msgstr "País:" + +#~ msgid "Homepage:" +#~ msgstr "Página pessoal:" + +#~ msgid "E-Mail:" +#~ msgstr "Email:" + +#~ msgid "Phone No.:" +#~ msgstr "Telefone:" + +#~ msgid "Birthday:" +#~ msgstr "Aniversário:" + +#~ msgid "Family:" +#~ msgstr "Família:" + +#~ msgid "Middle:" +#~ msgstr "Nome do meio:" + +#~ msgid "Prefix:" +#~ msgstr "Prefixo" + +#~ msgid "Given:" +#~ msgstr "Primeiro nome:" + +#~ msgid "Suffix:" +#~ msgstr "Sufixo" + +#~ msgid "Full Name" +#~ msgstr "Nome completo" + +#~ msgid "Company:" +#~ msgstr "Empresa:" + +#~ msgid "Department:" +#~ msgstr "Departamento:" + +#~ msgid "Position:" +#~ msgstr "Posição:" + +#~ msgid "Role:" +#~ msgstr "Cargo:" + +#~ msgid "- messages will be logged" +#~ msgstr "- as mensagens serão gravadas" + +#~ msgid "- messages will not be logged" +#~ msgstr "- as mensagens não serão gravadas" + +#~ msgid "Edit %s" +#~ msgstr "Editar %s" + +#~ msgid "Conversation History with %s" +#~ msgstr "Histórico de conversação com %s" + +#~ msgid "Contact with \"%s\" cannot be established" +#~ msgstr "Contato com \"%s\" não pode ser estabelecido" + +#~ msgid "Registration information for transport %s has not arrived in time" +#~ msgstr "A informação do registo para o transporte %s não chegou a tempo" + +#~ msgid "Register to" +#~ msgstr "Registrar para" + +#, fuzzy +#~ msgid "Enter name / JID of contact or groupchat" +#~ msgstr "Nome do contato" + +#~ msgid "Search:" +#~ msgstr "Pesquisar:" + +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "Você deve estar conectado para mudar sua senha." + +#~ msgid "Invalid password" +#~ msgstr "Senha inválida" + +#~ msgid "The passwords typed in both fields must be identical." +#~ msgstr "As senhas digitadas em ambos os campos devem ser idênticas." + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "Digite novamente para confirmar:" + +#~ msgid "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" +#~ msgstr "" +#~ "O JID %s não é uma compilação da RFC. Não se adicionará a sua lista. Use " +#~ "ferramentas de gerência da lista como http://jru.jabberstudio.org/ para " +#~ "removê-lo" + +#~ msgid "unsubscribe request from %s" +#~ msgstr "remoção de inscrição solicitada por %s" + +#~ msgid "Homepage:" +#~ msgstr "Site pessoal:" + +#~ msgid "Manage Bookmarks" +#~ msgstr "Gerenciar marcadores" + +#~ msgid "_Nickname:" +#~ msgstr "_Apelido:" + +#, fuzzy +#~ msgid "Pr_int status:" +#~ msgstr "Imprimir status:" + +#, fuzzy +#~ msgid "Add JID" +#~ msgstr "Jabber ID" + +#, fuzzy +#~ msgid "Preference:" +#~ msgstr "Preferências" + +#, fuzzy +#~ msgid "Preference" +#~ msgstr "Preferências" + +#, fuzzy +#~ msgid "JID:" +#~ msgstr "Seu JID:" + +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "" +#~ "Preencha os dados do contato que você quer adicionar em sua conta %s" + +#~ msgid "Please fill in the data of the contact you want to add" +#~ msgstr "Por favor preencha os dados do contato que você quer adicionar" + +#, fuzzy +#~ msgid "Recently" +#~ msgstr "Recentemente:" + +#~ msgid "Add New Contact" +#~ msgstr "Adicionar novo contato" + +#~ msgid "_User ID:" +#~ msgstr "_ID do usuário:" + +#, fuzzy +#~ msgid "Type User ID" +#~ msgstr "ID do usuário:" + +#, fuzzy +#~ msgid "Type Nickname" +#~ msgstr "Apelido" + +#~ msgid "Personal Information" +#~ msgstr "Informações pessoais" + +#~ msgid "Avatar:" +#~ msgstr "Avatar:" + +#~ msgid "Click to set your avatar" +#~ msgstr "Clique para definir seu avatar" + +#, fuzzy +#~ msgid "Remove Avatar" +#~ msgstr "Remover grupo" + +#~ msgid "Not fetched because of invisible status" +#~ msgstr "Não baixado por causa do status invisível" + +#~ msgid "Please wait..." +#~ msgstr "Por favor aguarde..." + +#~ msgid "" +#~ "When negotiating an encrypted session, should Gajim assume you want your " +#~ "messages to be logged?" +#~ msgstr "" +#~ "Ao negociar uma sessão criptografada, o Gajim deve assumir que você quer " +#~ "que suas mensagens sejam gravadas?" + +#~ msgid "Log _encrypted chat session" +#~ msgstr "Registrar sessão de conversa _criptografada" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will keep logs for encrypted messages. Please note that " +#~ "when using end-to-end encryption the remote party has to agree on " +#~ "logging, else the messages will not be logged." +#~ msgstr "" +#~ "Se marcado, o Gajim irá manter os logs para mensagens criptografadas. Por " +#~ "favor, note que quando estiver usando criptografia E2E o remote party não " +#~ "concorda com o registro, então a mensagem não será gravada." + +#~ msgid "Yahoo! Address:" +#~ msgstr "Endereço Yahoo!:" + +#~ msgid "Forward unread messages" +#~ msgstr "Encaminhar mensagens não lidas" + +#~ msgid "All unread messages have been forwarded." +#~ msgstr "Todas as mensagens não lidas foram encaminhadas." + +#, fuzzy +#~ msgid "Forward unread message then disconnect" +#~ msgstr "Encaminhar mensagens não lidas" + +#~ msgid "MSN Address:" +#~ msgstr "Endereço MSN:" + +#~ msgid "Confirm these session options" +#~ msgstr "Confirme essas opções de sessão" + +#, fuzzy +#~ msgid "" +#~ "The remote client wants to negotiate a session with these features:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Are these options acceptable?" +#~ msgstr "" +#~ "O cliente remoto quer negociar uma sessão com esses recursos:\n" +#~ "\n" +#~ "\t%s\n" +#~ "\n" +#~ "\tEssas opções são aceitáveis?" + +#~ msgid "" +#~ "The remote client selected these options:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Continue with the session?" +#~ msgstr "" +#~ "O cliente remoto selecionou essas opções:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Continuar com a sessão?" + +#, fuzzy +#~ msgid "Always accept for this contact" +#~ msgstr "O OpenPGP está ativado para este contato?" + +#~ msgid "End to End message encryption" +#~ msgstr "Criptografia de mensagem End to End" + +#~ msgid "Encrypting chat messages." +#~ msgstr "Criptografando mensagens da conversa." + +#~ msgid "Requires python-crypto." +#~ msgstr "Requer python-crypto." + +#~ msgid "Session negotiation cancelled" +#~ msgstr "Negociação da sessão cancelada" + +#~ msgid "This session is encrypted" +#~ msgstr "Esta sessão está criptografada" + +#~ msgid " and WILL be logged" +#~ msgstr " e SERÁ gravada" + +#~ msgid " and WILL NOT be logged" +#~ msgstr " e NÃO SERÁ gravada" + +#~ msgid "" +#~ "Remote contact's identity not verified. Click the shield button for more " +#~ "details." +#~ msgstr "" +#~ "Identidade do contato remoto não verificada. Clique no botão de proteção " +#~ "para mais detalhes." + +#, fuzzy +#~ msgid "end-to-end encryption disabled" +#~ msgstr "Criptografia GPG desabilitada" + +#~ msgid "" +#~ "Unable to decrypt message from %s\n" +#~ "It may have been tampered with." +#~ msgstr "" +#~ "Não foi possível descriptografar a mensagem de %s\n" +#~ "Ela pode ter sido adulterada." + +#~ msgid "Unable to decrypt message" +#~ msgstr "Não foi possível descriptografar a mensagem" + +#~ msgid "Enable ESessions encryption for this account." +#~ msgstr "Habilitar criptografia ESessions para esta conta." + +#~ msgid "Should Gajim automatically start an encrypted session when possible?" +#~ msgstr "" +#~ "O Gajim deve iniciar automaticamente em sessão criptografada quando " +#~ "possível?" + +#~ msgid "" +#~ "[This is part of an encrypted session. If you see this message, something " +#~ "went wrong.]" +#~ msgstr "" +#~ "[Isto é parte de uma sessão criptografada. Se você estiver vendo esta " +#~ "mensagem, alguma coisa vai errada.]" + +#~ msgid "Requires python-avahi." +#~ msgstr "Requer o python-avahi." + +#, fuzzy +#~ msgid "Save Image as…" +#~ msgstr "Salvar imagem como..." + +#, fuzzy +#~ msgid "Exporting History Logs…" +#~ msgstr "Exportando histórico de logs..." + +#~ msgid "When %s becomes:" +#~ msgstr "Quando %s chega:" + +#~ msgid "Adding Special Notification for %s" +#~ msgstr "Adicionando notificação especial para %s" + +#, fuzzy +#~ msgid "" +#~ "It seems the SSL certificate of account %(account)s has changed and is " +#~ "not valid or your connection is being compromised.\n" +#~ "\n" +#~ "Old SHA-1 fingerprint: %(old_sha1)s\n" +#~ "Old SHA-256 fingerprint: %(old_sha256)s\n" +#~ "\n" +#~ "New SHA-1 fingerprint: %(new_sha1)s\n" +#~ "New SHA-256 fingerprint: %(new_sha256)s\n" +#~ "\n" +#~ "Do you still want to connect and update the fingerprint of the " +#~ "certificate?" +#~ msgstr "" +#~ "Parece que o certificado SSL da conta %(account)s foi alterado ou sua " +#~ "conexão foi hackeada.\n" +#~ "Fingerprint antigo: %(old)s\n" +#~ "Novo fingerprint: %(new)s\n" +#~ "\n" +#~ "Você ainda quer conectar e atualizar o fingerprint do certificado?" + +#, fuzzy +#~ msgid "" +#~ "The authenticity of the %s certificate could be invalid.\n" +#~ "The certificate does not cover this domain." +#~ msgstr "A autenticidade do certificado %s pode ser inválida." + +#~ msgid "Unable to load idle module" +#~ msgstr "Incapaz de carregar o módulo inativo" + +#, fuzzy +#~ msgid "%s or %s is a directory but should be a file" +#~ msgstr "%s é um diretório, mas deveria ser um arquivo" + +#~ msgid "creating logs database" +#~ msgstr "criando banco de dados de logs" + +#, fuzzy +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "Enviar %s para %s" + +#, fuzzy +#~ msgid "Rename account label" +#~ msgstr "Renomear conta" + +#, fuzzy +#~ msgid "Send Single Message..." +#~ msgstr "_Enviar mensagem simples..." + +#, fuzzy +#~ msgid "We received an error: {}" +#~ msgstr "O serviço retornou um erro." + +#~ msgid "E2E encryption disabled" +#~ msgstr "Criptografia E2E desabilitada" + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Adicionar este certificado na lista de certificados confiáveis.\n" +#~ "SHA1 fingerprint do certificado:\n" +#~ "%s" + +#~ msgid "uri" +#~ msgstr "URI" + +#, fuzzy +#~ msgid "" +#~ "Install /\n" +#~ "Upgrade" +#~ msgstr "Parado" + +#, fuzzy +#~ msgid "Install/Upgrade" +#~ msgstr "Parado" + +#, fuzzy +#~ msgid "Plugins updates" +#~ msgstr "Falha ao registrar" + +#, fuzzy +#~ msgid "Security error during download" +#~ msgstr "Erro de segurança ao conectar a \"%s\"" + +#, fuzzy +#~ msgid "Error in download" +#~ msgstr "Erro de segurança ao conectar a \"%s\"" + +#~ msgid "cyan" +#~ msgstr "azul celeste" + +#~ msgid "migrating logs database to indices" +#~ msgstr "migrando base de dados de registros para índices" + +#, fuzzy +#~ msgid "Send File..." +#~ msgstr "Enviar _arquivo..." + +#, fuzzy +#~ msgid "HTTP File Upload not supported by your server" +#~ msgstr "O armazenamento de metacontatos não é suportado pelo seu servidor" + +#, fuzzy +#~ msgid "Jingle File Transfer" +#~ msgstr "Transferência de arquivos" + +#~ msgid "" +#~ "Your configured emoticons theme has not been found, so emoticons have " +#~ "been disabled." +#~ msgstr "" +#~ "Você configurou um tema de emoticons que não foi encontrado, então os " +#~ "emoticons estão desativados." + +#~ msgid "Shows or hides the roster window" +#~ msgstr "exibe ou esconder a janela principal" + +#~ msgid "Shows or hides the ipython window" +#~ msgstr "Exibe ou esconder a janela ipython" + +#, fuzzy +#~ msgid "XMPP account %s" +#~ msgstr "Conta XMPP %s@%s" + +#, fuzzy +#~ msgid "Exception" +#~ msgstr "Descrição" + +#~ msgid "" +#~ "someone@somewhere.com would like you to add some contacts " +#~ "in your roster." +#~ msgstr "" +#~ "alguem@algumacoisa.com gostaria que você adicionasse alguns " +#~ "contatos em sua lista de contatos." + +#~ msgid "" +#~ "Ordered list (space separated) of connection type to try. Can contain " +#~ "tls, ssl or plain" +#~ msgstr "" +#~ "Lista ordenada de tipos de conexão (separada por espaço) para tentar. " +#~ "Pode conter tls, ssl ou simples" + +#~ msgid "_Actions" +#~ msgstr "_Ações" + +#, fuzzy +#~ msgid "Requires upower and python-dbus." +#~ msgstr "Requer o python-dbus." + +#~ msgid "You are already in group chat %s" +#~ msgstr "Você já está na conferência %s" + +#~ msgid "Join Group Chat with account %s" +#~ msgstr "Ingressar numa conferência com a conta %s" + +#~ msgid "" +#~ "You have to choose an account from which you want to join the groupchat." +#~ msgstr "Selecione a conta que você quer usar para para entrar na sala." + +#, fuzzy +#~ msgid "Please enter the group chat JID as room@server." +#~ msgstr "Por favor, digite o Jabber ID da conferência como sala@servidor." + +#, fuzzy +#~ msgid "The group chat JID contains invalid characters." +#~ msgstr "O Jabber ID da conferência possui caracteres não permitidos." + +#~ msgid "Start Chat with account %s" +#~ msgstr "Iniciar uma conferência com a conta %s" + +#, fuzzy +#~ msgid "" +#~ "Fill in the nickname or the JID of the contact you would like\n" +#~ "to send a chat message to:" +#~ msgstr "" +#~ "Digite o apelido ou o Jabber ID do contato para o qual\n" +#~ "você quer enviar uma mensagem:" + +#, fuzzy +#~ msgid "Nickname / JID" +#~ msgstr "Jabber ID duplicado" + +#~ msgid "Unable to parse \"%s\"." +#~ msgstr "Impossível gravar o arquivo em \"%s\"." + +#~ msgid "Shows the chat dialog so that you can send messages to a contact" +#~ msgstr "" +#~ "Exibe o diálogo do bate-papo onde você pode enviar mensagens para um " +#~ "contato" + +#~ msgid "JID of the contact that you want to chat with" +#~ msgstr "JID do contato que você quer conversar" + +#~ msgid "message content. The account must be specified or \"\"" +#~ msgstr "conteúdo da mensagem. A conta deve estar especificada ou \"\"" + +#~ msgid "Adds contact to roster" +#~ msgstr "Adicionar contato para a lista" + +#~ msgid "jid" +#~ msgstr "JID" + +#~ msgid "Adds new contact to this account" +#~ msgstr "Adicionar novo contato para esta conta" + +#~ msgid "Opens 'Start Chat' dialog" +#~ msgstr "Abrir o diálogo 'Iniciar Conversa'" + +#~ msgid "Starts chat, using this account" +#~ msgstr "Iniciar conversa, usando esta conta" + +#, fuzzy +#~ msgid "Handle a xmpp:/ URI" +#~ msgstr "Manipular uma URI xmpp:/" + +#~ msgid "URI to handle" +#~ msgstr "URI a manipular" + +#~ msgid "Account in which you want to handle it" +#~ msgstr "Selecione a conta na qual você quer manipular isto" + +#~ msgid "Message content" +#~ msgstr "Conteúdo da mensagem" + +#~ msgid "Join a MUC room" +#~ msgstr "Entrar em uma sala MUC" + +#~ msgid "Nickname to use" +#~ msgstr "Apelido a ser usado" + +#~ msgid "Password to enter the room" +#~ msgstr "Senhas para entrar na sala" + +#~ msgid "Account from which you want to enter the room" +#~ msgstr "Selecione a conta que você quer para entrar na sala" + +#, fuzzy +#~ msgid "Wrong URI" +#~ msgstr "URI incorreta" + +#~ msgid "Nickname:" +#~ msgstr "Apelido:" + +#~ msgid "Server:" +#~ msgstr "Servidor:" + +#, fuzzy +#~ msgid "Join this room _automatically when I connect" +#~ msgstr "Entrar nesta sala automaticamente quando eu conectar" + +#, fuzzy +#~ msgid "Bro_wse Rooms" +#~ msgstr "_Navegar" + +#, fuzzy +#~ msgid "Requires libgtkspell and libenchant." +#~ msgstr "Requer libgtkspell." + +#, fuzzy +#~ msgid "Network-Watcher" +#~ msgstr "Network-manager" + +#~ msgid "Autodetection of network status." +#~ msgstr "Detecção automática do status da rede." + +#, fuzzy +#~ msgid "Requires gnome-network-manager" +#~ msgstr "Requer gnome-network-manager e python-dbus." + +#, fuzzy +#~ msgid "Feature not available, see Help->Features" +#~ msgstr "Recurso não disponível no Windows." + +#~ msgid "This contact does not support file transfer." +#~ msgstr "Este contato não suporta transferência de arquivo." + +#, fuzzy +#~ msgid "You need to know the real JID of the contact to send them a file." +#~ msgstr "" +#~ "Você precisa saber o JID real do usuário para lhe enviar um arquivo." + +#~ msgid "" +#~ "You have to install %s dictionary to use spellchecking, or choose another " +#~ "language by setting the speller_language option." +#~ msgstr "" +#~ "Você precisa instalar o dicionário %s para usar a correção ortográfica ou " +#~ "selecionar outro idioma ajustando a opção 'speller_language'." + +#~ msgid "Hides the buttons in chat windows." +#~ msgstr "Esconder os botões nas janelas de conversa." + +#~ msgid "Change the room's subject (Alt+T)" +#~ msgstr "Alterar o assunto da sala (Alt+T)" + +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "Adicionar esta sala aos marcadores (Ctrl+B)" + +#~ msgid "Browse the chat history (Ctrl+H)" +#~ msgstr "Pesquisar o histórico de conversas (Ctrl+H)" + +#, fuzzy +#~ msgid "Show advanced functions (Alt+D)" +#~ msgstr "Exibir um menu com funções avançadas (Alt+D)" + +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "Adicionar este contato para a lista (Ctrl+D)" + +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "Convidar contatos para a conversa (Ctrl+G)" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Exibir o perfil do contato (Ctrl+I)" + +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Exibir o perfil do contato (Ctrl+I)" + +#~ msgid "Ma_ke message windows compact" +#~ msgstr "T_ornar a janela de mensagem compacta" + +#~ msgid "Hide all buttons in chat windows" +#~ msgstr "Esconder todos os botões nas janelas de conversa" + +#, fuzzy +#~ msgid "Hide the chat buttons" +#~ msgstr "Uso: /%s, esconde os botões do bate-papo." + +#~ msgid "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." +#~ msgstr "" +#~ "Se verdadeiro, Gajim pedirá por avatar cada contato que não teve um " +#~ "avatar ou tem um cache que é velho demais." + +#~ msgid "Disk Write Error" +#~ msgstr "Erro de escrita em disco" + +#~ msgid "Set Custom _Avatar..." +#~ msgstr "Definir _avatar personalizado..." + +#, fuzzy +#~ msgid "SSL certificate validation" +#~ msgstr "Validação de certificado SSL" + +#~ msgid "" +#~ "A library used to validate server certificates to ensure a secure " +#~ "connection." +#~ msgstr "" +#~ "Uma biblioteca usada para validar os certificados do servidor para " +#~ "garantir uma conexão segura." + +#, fuzzy +#~ msgid "Requires python-pyopenssl > 0.12 and pyasn1." +#~ msgstr "Requer o python-pyopenssl." + +#, fuzzy +#~ msgid "?CLI:room" +#~ msgstr "sala" + +#, fuzzy +#~ msgid "?CLI:nick" +#~ msgstr "apelido" + +#, fuzzy +#~ msgid "?CLI:password" +#~ msgstr "senha" + +#~ msgid "Use D-Bus and Notification-Daemon to show notifications" +#~ msgstr "Usar DBus e Notification-Daemon para exibir notificações" + +#~ msgid "Notification" +#~ msgstr "Notificação" + +#~ msgid "Passive popups notifying for new events." +#~ msgstr "Popups passivos notificando novos eventos." + +#~ msgid "" +#~ "Requires python-notify or instead python-dbus in conjunction with " +#~ "notification-daemon." +#~ msgstr "" +#~ "Requer python-notify ou então python-dbus em conjunto com notification-" +#~ "daemon." + +#~ msgid "Ignore" +#~ msgstr "Ignorar" + +#~ msgid "_Open Gmail Inbox" +#~ msgstr "_Abrir caixa de entrada do GMail" + +#~ msgid "Notify on new _GMail email" +#~ msgstr "Notificar cada nova mensagem do _GMail" + +#~ msgid "" +#~ "If checked, Gajim will show a notification when a new e-mail is received " +#~ "via GMail" +#~ msgstr "" +#~ "Se marcado, o Gajim irá exibir uma notificação quando um novo email via " +#~ "GMail for recebido" + +#~ msgid "Display _extra email details" +#~ msgstr "Exibir detalhes _extras dos emails" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will also include information about the sender of new " +#~ "emails" +#~ msgstr "" +#~ "Se marcado, o Gajim também incluirá informação sobre o remetente de novos " +#~ "emails" + +#~ msgid "GMail Options" +#~ msgstr "Opções do GMail" + +#, fuzzy +#~ msgid "20" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Invited %s to %s" +#~ msgstr "Enviar %s para %s" + +#~ msgid "GMail Email Received" +#~ msgstr "Email do GMail recebido" + +#, fuzzy +#~ msgid "New e-mail on %(gmail_mail_address)s" +#~ msgstr "Novo email em %(gmail_mail_address)s" + +#, fuzzy +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "Você tem %d nova mensagem de email" +#~ msgstr[1] "Você tem %d novas mensagens de email" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "From: %(from_address)s\n" +#~ "Subject: %(subject)s\n" +#~ "%(snippet)s" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "De: %(from_address)s\n" +#~ "Assunto: %(subject)s\n" +#~ "%(snippet)s" + +#~ msgid "Resour_ce:" +#~ msgstr "Recur_so:" + +#~ msgid "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" +#~ msgstr "" +#~ "Um recurso é enviado ao servidor jabber com o objetivo de 'separar' o " +#~ "mesmo JID em duas ou mais partes dependendo do número de clientes " +#~ "conectados no mesmo servidor com a mesma conta. Então você pode estar " +#~ "conectado na mesma conta com o recurso 'Casa' e 'Trabalho' ao mesmo " +#~ "tempo. O recurso que possuir a maior prioridade receberá os eventos. " +#~ "(veja abaixo)" + +#~ msgid "A_djust to status" +#~ msgstr "Aj_ustar para status" + +#~ msgid "Priority will change automatically according to your status." +#~ msgstr "" +#~ "A prioridade será alterada automaticamente de acordo com o seu status." + +#~ msgid "Anonymous authentication" +#~ msgstr "Autenticação anônima" + +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "A prioridade é usada no Jabber para determinar quem recebe os eventos do " +#~ "servidor jabber quando dois ou mais clientes estão conectados usando a " +#~ "mesma conta; O cliente com a maior prioridade receberá os eventos" + +#, fuzzy +#~ msgid "Synchronize contacts" +#~ msgstr "Sincronizar contatos" + +#~ msgid "Click to request authorization to all contacts of another account" +#~ msgstr "" +#~ "Clique para requisitar autorização para todos os contatos de outra conta" + +#~ msgid "Chan_ge Password" +#~ msgstr "A_lterar senha" + +#~ msgid "Administration operations" +#~ msgstr "Operações de administração" + +#, fuzzy +#~ msgid "Browse..." +#~ msgstr "_Navegar" + +#, fuzzy +#~ msgid "Certificate is e_ncrypted" +#~ msgstr "Certificado rejeitado" + +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "" +#~ "Se marcado, o Gajim, quando carregado, irá conectar automaticamente ao " +#~ "jabber usando esta conta" + +#, fuzzy +#~ msgid "Synchronize logs with server" +#~ msgstr "Sincronizar contatos" + +#~ msgid "Synch_ronize account status with global status" +#~ msgstr "_Sincronizar status da conta com status global" + +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "Se marcada, o status deste cliente será alterado de acordo com qualquer " +#~ "mudança no status global (definido pela caixa no fundo da janela da lista)" + +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "Se marcado, o Gajim irá transmitir também alguns outros IP's exceto o " +#~ "seu, então a transferência de arquivo tem grandes possibilidades de " +#~ "executar corretamente." + +#~ msgid "Proxy" +#~ msgstr "Proxy" + +#~ msgid "" +#~ "Check this so Gajim will ask you before sending your password over an " +#~ "insecure connection." +#~ msgstr "" +#~ "Marcando esta opção, o Gajim irá perguntar você antes de enviar sua senha " +#~ "através de uma conexão não-segura." + +#~ msgid "Send _keep-alive packets" +#~ msgstr "Enviar pacotes para manter a conexão (keep-alive)" + +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "" +#~ "Se marcado, o Gajim irá enviar pacotes keep-alive para prevenir timeout " +#~ "na conexão, evitando-a cair" + +#~ msgid "Use cust_om hostname/port" +#~ msgstr "Usa nome de máquina/porta personalizad_os" + +#~ msgid "_Hostname: " +#~ msgstr "_Nome do computador:" + +#~ msgid "_Port: " +#~ msgstr "_Porta:" + +#~ msgid "Choose _Key..." +#~ msgstr "_Escolha a chave..." + +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "Se marcado, o Gajim obterá a senha de um agente GPG como o Seahorse" + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#~ msgid "_Edit Personal Information..." +#~ msgstr "_Editar detalhes pessoais..." + +#~ msgid "Personal Information" +#~ msgstr "Informações pessoais" + +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "Co_nectar na inicialização do Gajim" + +#~ msgid "Synchroni_ze account status with global status" +#~ msgstr "Sincroni_zar status da conta com status global" + +#~ msgid "Use cust_om port:" +#~ msgstr "Usar porta pers_onalizada:" + +#~ msgid "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." +#~ msgstr "" +#~ "Se a porta padrão usada para recebimento de mensagens não for adequada " +#~ "você pode selecionar outra aqui.\n" +#~ "Considere a possível modificação das regras do seu firewall." + +#~ msgid "OpenPGP is not usable on this computer" +#~ msgstr "OpenPGP não disponível neste computador" + +#~ msgid "To change the account name, you must be disconnected." +#~ msgstr "Para mudar o nome da conta, você deve estar desconectado." + +#~ msgid "To change the account name, you must read all pending events." +#~ msgstr "" +#~ "Para mudar o nome da conta, você deve ler todas os eventos pendentes." + +#~ msgid "Account Name Already Used" +#~ msgstr "Nome de conta já está em uso" + +#~ msgid "" +#~ "This name is already used by another of your accounts. Please choose " +#~ "another name." +#~ msgstr "" +#~ "Este nome já está sendo usado por outra de suas contas. Por favor, " +#~ "escolha outro nome." + +#~ msgid "Account name cannot be empty." +#~ msgstr "Nome da conta não pode ser vazio." + +#~ msgid "Account name cannot contain spaces." +#~ msgstr "Nome da conta não pode conter espaços." + +#~ msgid "Enter a new name for account %s" +#~ msgstr "Entre com um novo nome para a conta %s" + +#, fuzzy +#~ msgid "A JID must be in the form \"user@servername\"." +#~ msgstr "" +#~ "Um Jabber ID deve ter o seguinte formato \"usuario@nomedoservidor\"." + +#~ msgid "No such account available" +#~ msgstr "Conta não disponível" + +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "" +#~ "Você deve primeiro criar sua conta antes de editar suas informações " +#~ "pessoais." + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "Você deve estar conectado para editar suas informações pessoais." + +#~ msgid "Your server can't save your personal information." +#~ msgstr "Seu servidor não pode salvar suas informações pessoais." + +#~ msgid "Please rename or remove it before enabling link-local messaging." +#~ msgstr "" +#~ "Por favor renomeie ou remova-o antes de ativar troca de mensagens \"link-" +#~ "local\"." + +#~ msgid "THANKS:" +#~ msgstr "AGRADECIMENTOS:" + +#~ msgid "Could not write to %s. Session Management support will not work" +#~ msgstr "" +#~ "Não foi possível escrever em %s. O suporte de gerência da sessão não " +#~ "funciona" + +#~ msgid "Jabber Traffic" +#~ msgstr "Trafégo do Jabber" + +#~ msgid "_Enable" +#~ msgstr "Ha_bilitar" + +#, fuzzy +#~ msgid "Filter" +#~ msgstr "Fonte" + +#~ msgid "_IQ" +#~ msgstr "_IQ" + +#~ msgid "Info/Query" +#~ msgstr "Info/Consulta" + +#~ msgid "XML Input" +#~ msgstr "Entrada XML" + +#~ msgid "XML Console for %s" +#~ msgstr "Console XML para %s" + +#, fuzzy +#~ msgid "Idle for:" +#~ msgstr "Console XML para %s" + +#, fuzzy +#~ msgid "" +#~ "Request offline status messages from all contacts upon connecting. " +#~ "WARNING: This causes a lot of requests to be sent!" +#~ msgstr "" +#~ "Perguntar a mensagem de status para todos os contatos desconectados " +#~ "quando a conexão com uma conta for estabelecida. AVISO: Isto pode " +#~ "resultar em muitas requisições a serem enviadas." + +#~ msgid "Last status: %s" +#~ msgstr "Último status: %s" + +#~ msgid " since %s" +#~ msgstr " desde %s" + +#~ msgid "since %s" +#~ msgstr "desde %s" + +#, fuzzy +#~ msgid "Prefer" +#~ msgstr "Preferências" + +#, fuzzy +#~ msgid "Auto" +#~ msgstr "Ingresso automático" + +#, fuzzy +#~ msgid "otr" +#~ msgstr "Quente" + +#, fuzzy +#~ msgid "Invalid expire value" +#~ msgstr "Nome do servidor inválido" + +#, fuzzy +#~ msgid "There is an error" +#~ msgstr "O serviço retornou um erro." + +#~ msgid "How many minutes should last lines from previous conversation last." +#~ msgstr "Quantos minutos exibir as últimas linhas da conversação anterior." + +#~ msgid "" +#~ "Your configured emoticons theme cannot been loaded. You maybe need to " +#~ "update the format of emoticons.py file. See http://trac.gajim.org/wiki/" +#~ "Emoticons for more details." +#~ msgstr "" +#~ "Você configurou um tema de emoticons que não podem ser carregados. Você " +#~ "pode precisar atualizar o formato do arquivo emoticons.py. Veja http://" +#~ "trac.gajim.org/wiki/Emoticons para mais detalhes." + +#~ msgid "You will be connected to %s without OpenPGP." +#~ msgstr "Você será conectado ao %s sem OpenPGP." + +#~ msgid "The following message was NOT encrypted" +#~ msgstr "A seguinte mensagem NÃO estava criptografada" + +#~ msgid "Toggle Open_PGP Encryption" +#~ msgstr "Ativar criptografia Open_PGP" + +#~ msgid "Toggle End to End Encryption" +#~ msgstr "Alternar para criptografia End to End" + +#, fuzzy +#~ msgid "OpenPGP encryption enabled" +#~ msgstr "Criptografia GPG habilitada" + +#, fuzzy +#~ msgid "No OpenPGP key assigned" +#~ msgstr "Nenhuma chave GPG atribuída" + +#, fuzzy +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages with OpenPGP." +#~ msgstr "" +#~ "Nenhuma chave GPG está atribuída para este contato. Você não poderá " +#~ "criptografar mensagem com GPG." + +#~ msgid "Session WILL be logged" +#~ msgstr "A sessão SERÁ gravada" + +#~ msgid "Session WILL NOT be logged" +#~ msgstr "A sessão NÃO SERÁ gravada" + +#~ msgid "is" +#~ msgstr "está" + +#~ msgid "is NOT" +#~ msgstr "NÃO está" + +#~ msgid "will" +#~ msgstr "será" + +#~ msgid "will NOT" +#~ msgstr "NÃO será" + +#~ msgid "The following message was encrypted" +#~ msgstr "A seguinte mensagem estava criptografada" + +#, fuzzy +#~ msgid "Toggle the OpenPGP encryption" +#~ msgstr "Ativar criptografia Open_PGP" + +#~ msgid "" +#~ "Should Gajim automatically start an encrypted session with this contact " +#~ "when possible?" +#~ msgstr "" +#~ "O Gajim deve iniciar automaticamente uma sessão criptografada com este " +#~ "contato quando possível?" + +#~ msgid "Neither the remote presence is signed, nor a key was assigned." +#~ msgstr "Nem a presença remota está assinada, nem uma chave foi atribuída." + +#~ msgid "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "" +#~ "A chave do contato (%s) não coincide com a chave atribuída no Gajim." + +#~ msgid "[This message is *encrypted* (See :XEP:`27`]" +#~ msgstr "[Esta mensagem está *criptografada* (Veja :XEP:`27`)]" + +#~ msgid "" +#~ "Your chat session with %(jid)s is encrypted.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "Sua conversa com %(jid)s será criptografada.\n" +#~ "\n" +#~ "A String Curta de Autenticação (SAS) da sessão é %(sas)s." + +#~ msgid "You have already verified this contact's identity." +#~ msgstr "Você já verificou a identidade deste contato." + +#~ msgid "Contact's identity verified" +#~ msgstr "Identidade do contato verificada" + +#~ msgid "" +#~ "To be certain that only the expected person can read your messages " +#~ "or send you messages, you need to verify their identity by clicking the " +#~ "button below." +#~ msgstr "" +#~ "Para ter certeza que somente a pessoa esperada pode ler suas " +#~ "mensagens e enviar mensagens, você precisa verificar a identidade dela " +#~ "clicando no botão abaixo." + +#~ msgid "Contact's identity NOT verified" +#~ msgstr "A identidade do contato NÃO foi verificada" + +#, fuzzy +#~ msgid "Verify…" +#~ msgstr "_Verificar" + +#~ msgid "Have you verified the contact's identity?" +#~ msgstr "Você verificou a identidade deste contato?" + +#~ msgid "" +#~ "To prevent talking to an unknown person, you should speak to %(jid)s directly (in person or on the phone) and verify that they see the same " +#~ "Short Authentication String (SAS) as you.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "Para evitar falar com uma pessoa desconhecida, você deve falar com " +#~ "%(jid)s diretamente (em pessoa ou por telefone) e verificar se eles " +#~ "vêem a mesma String de Autenticação Curta (SAS), como você.\n" +#~ "\n" +#~ "Esta String de Autenticação Curta é %(sas)s." + +#~ msgid "Did you talk to the remote contact and verify the SAS?" +#~ msgstr "Você quer falar com o contato remoto e verificar a SAS?" + +#~ msgid "" +#~ "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "" +#~ "A chave do contato (%s) não corresponde com a chave atribuída no " +#~ "Gajim." + +#, fuzzy +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages." +#~ msgstr "" +#~ "Nenhuma chave GPG está atribuída para este contato. Então, você não pode " +#~ "criptografar mensagens." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP key is assigned to this contact, but you do not trust their " +#~ "key, so message cannot be encrypted. Use your OpenPGP client " +#~ "to trust their key." +#~ msgstr "" +#~ "Uma chave GPG está atribuída para este contato, mas você não validou " +#~ "nesta chave, então as mensagens não podem ser criptografadas. " +#~ "Use seu cliente de GPG para validar esta chave." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP Key is assigned to this contact, and you trust their key, so " +#~ "messages will be encrypted." +#~ msgstr "" +#~ "A chave GPG está atribuída para este contato, e você validou esta chave, " +#~ "então as mensagens serão criptografadas." + +#~ msgid "" +#~ "This icon indicates that this message has not yet\n" +#~ "been received by the remote end. If this icon stays\n" +#~ "for a long time, it's likely the message got lost." +#~ msgstr "" +#~ "Este ícone indica que esta mensagem ainda não foi \n" +#~ "recebida por um fim remoto. Se este ícone continuar\n" +#~ "por muito tempo, isso indica que a mensagem foi perdida." + +#~ msgid "" +#~ "If True, listen to D-Bus signals from NetworkManager and change the " +#~ "status of accounts (provided they do not have listen_to_network_manager " +#~ "set to False and they sync with global status) based upon the status of " +#~ "the network connection." +#~ msgstr "" +#~ "Se verdadeiro, ouve aos sinais do D-Bus do NetworkManager e altera os " +#~ "status das contas (fornecido se eles não tiverem a opção " +#~ "listen_to_network_manager configurado para Falso e se estiverem " +#~ "sincronizadas com o status global) baseado no status da conexão de rede." + +#~ msgid "" +#~ "The database file (%s) cannot be read. Try to repair it or remove it (all " +#~ "history will be lost)." +#~ msgstr "" +#~ "O arquivo da base de dados (%s) não pode ser lido. Tente repará-lo ou " +#~ "removê-lo. (todo o histórico será perdido)." + +#~ msgid "Database cannot be read." +#~ msgstr "A base de dados não pôde ser lida." + +#~ msgid "A message from a non-valid JID arrived, it has been ignored." +#~ msgstr "Uma mensagem de um JID não-valido recebida, ela foi ignorada." + +#~ msgid "Smooth scroll message in conversation window" +#~ msgstr "Suavizar a rolagem de mensagens na janela de conversação" + +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "Editar listas de _privacidade..." + +#~ msgid "_Administrator" +#~ msgstr "_Administrador" + +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "" +#~ "Envia uma mensagem para os usuários atualmente conectados a este servidor" + +#~ msgid "Sets Message of the Day" +#~ msgstr "Configurar mensagem do dia" + +#~ msgid "Updates Message of the Day" +#~ msgstr "Atualizar mensagem do dia" + +#~ msgid "Deletes Message of the Day" +#~ msgstr "Excluir mensagem do dia" + +#~ msgid "Add _Contact..." +#~ msgstr "Adicionar _contato..." + +#~ msgid "Profile, A_vatar" +#~ msgstr "Perfil, A_vatar" + +#~ msgid "File _Transfers" +#~ msgstr "Transferência de _arquivos" + +#~ msgid "Help online" +#~ msgstr "Ajuda online" + +#~ msgid "Frequently Asked Questions (online)" +#~ msgstr "Perguntas freqüentes (online)" + +#~ msgid "Fea_tures" +#~ msgstr "Re_cursos" + +#~ msgid "to %s account" +#~ msgstr "para %s conta" + +#~ msgid "using %s account" +#~ msgstr "usando %s conta" + +#~ msgid "of account %s" +#~ msgstr "da conta %s" + +#~ msgid "for account %s" +#~ msgstr "para conta %s" + +#~ msgid "" +#~ "By removing this contact you also remove authorization resulting in him " +#~ "or her always seeing you as offline." +#~ msgstr "" +#~ "Removendo este contato, você também removerá a autorização, resultando em " +#~ "ele ou ela sempre o verá offiline." + +#~ msgid "Message Body xmpp.org/getting-started" +msgstr "" +"xmpp.org/getting-started" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "Сравнение возможностей различных серверов" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" +"conversations.im/compliance" + +#: gajim/data/gui/account_wizard.ui:646 +msgid "_Please choose a server" +msgstr "_Пожалуйста, выберите сервер" + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "Зарегистрироваться анонимно" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "Примечание: анонимные учетные записи возможны не на всех серверах" + +#: gajim/data/gui/application_menu.ui:8 +msgid "_Start / Join Chat…" +msgstr "_Начать / Присоединиться к чату…" + +#: gajim/data/gui/application_menu.ui:13 +msgid "Create _Group Chat…" +msgstr "Создать _Групповой чат…" + +#: gajim/data/gui/application_menu.ui:18 +msgid "_History Manager" +msgstr "_Менеджер истории" + +#: gajim/data/gui/application_menu.ui:22 +msgid "Pl_ugins" +msgstr "Пла_гины" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +msgid "_Preferences" +msgstr "_Настройки" + +#: gajim/data/gui/application_menu.ui:36 +msgid "_Accounts" +msgstr "_Учётные записи" + +#: gajim/data/gui/application_menu.ui:39 +msgid "_View" +msgstr "_Вид" + +#: gajim/data/gui/application_menu.ui:46 +msgid "Show _Offline Contacts" +msgstr "Показать _отключенные контакты" + +#: gajim/data/gui/application_menu.ui:50 +msgid "Show _Active Contacts" +msgstr "Показать _активные контакты" + +#: gajim/data/gui/application_menu.ui:54 +msgid "Show _Transports" +msgstr "Показать _транспорты" + +#: gajim/data/gui/application_menu.ui:60 +msgid "_XML Console" +msgstr "_XML-консоль" + +#: gajim/data/gui/application_menu.ui:64 +msgid "_File Transfer" +msgstr "_Передача файлов" + +#: gajim/data/gui/application_menu.ui:74 +msgid "_Help" +msgstr "_Помощь" + +#: gajim/data/gui/application_menu.ui:77 +msgid "_Wiki (Online)" +msgstr "_Wiki (В сети)" + +#: gajim/data/gui/application_menu.ui:81 +msgid "FA_Q (Online)" +msgstr "ЧА_ВО (В сети)" + +#: gajim/data/gui/application_menu.ui:85 +msgid "_Keyboard Shortcuts" +msgstr "_Горячие клавиши" + +#: gajim/data/gui/application_menu.ui:89 +msgid "_Features" +msgstr "_Возможности" + +#: gajim/data/gui/application_menu.ui:93 +msgid "_About" +msgstr "_Подробности" + +#: gajim/data/gui/filetransfer_progress.ui:125 +msgid "Speed" +msgstr "Скорость" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "Оставшееся время" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +msgid "OK" +msgstr "ОК" + +#: gajim/data/gui/plugins_window.ui:55 +msgid "Install Plugin from ZIP-File" +msgstr "Установить плагин из ZIP-файла" + +#: gajim/data/gui/plugins_window.ui:56 +msgid "Install from File…" +msgstr "Установить из файла…" + +#: gajim/data/gui/plugins_window.ui:70 +msgid "Uninstall Plugin" +msgstr "Удалить плагин" + +#: gajim/data/gui/plugins_window.ui:116 +msgid "" +msgstr "<Имя плагина>" + +#: gajim/data/gui/plugins_window.ui:133 +msgid "Plugin Settings" +msgstr "Настройки плагина" + +#: gajim/data/gui/plugins_window.ui:215 +msgid "" +msgstr "<Описание>" + +#: gajim/data/gui/plugins_window.ui:239 +msgid "Version" +msgstr "Версия" + +#: gajim/data/gui/plugins_window.ui:271 +msgid "Authors" +msgstr "Авторы" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +msgid "Homepage" +msgstr "Домашняя страница" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "пусто" + +#: gajim/data/gui/plugins_window.ui:349 +msgid "Installed" +msgstr "Установленные" + +#: gajim/data/gui/plugins_window.ui:363 +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "" +"Здесь должно отобразиться описание плагина. Этот текст будет удален во время " +"инициализации PluginsWindow." + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +msgid "Synchronise contacts" +msgstr "Объединить контакты" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "Выберите учетную запись для объединения" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "Публичный или приватный?" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" +"Приватный: если вы планируете общаться в зашифрованном виде, вы " +"обычно хотите создать приватный групповой чат. Вы должны пригласить людей, " +"чтобы они могли присоединиться." + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "Публичный: любой, кто знает адрес, может присоединиться." + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +msgid "_Name" +msgstr "_Имя" + +#: gajim/data/gui/groupchat_creation.ui:122 +msgid "_Description" +msgstr "_Описание" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "_Публичный" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +msgid "_Address" +msgstr "_Адрес" + +#: gajim/data/gui/groupchat_creation.ui:278 +msgid "_Account" +msgstr "_Учетная запись" + +#: gajim/data/gui/profile.ui:33 +msgid "Contact Infos" +msgstr "Контактная информация" + +#: gajim/data/gui/profile.ui:45 +msgid "Picture and Name" +msgstr "Изображение и имя" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "Сделать свой профиль видимым для всех или только для Ваших контактов." + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "Удалить изображение Вашего профиля" + +#: gajim/data/gui/profile.ui:198 +msgid "Change your profile picture" +msgstr "Изменить изображение Вашего профиля" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "Введите Ваш ник. Так Ваше имя будет отображаться у Ваших контактах." + +#: gajim/data/gui/profile.ui:298 +msgid "Add Entry" +msgstr "Добавить запись" + +#: gajim/data/gui/profile.ui:410 +msgid "Update" +msgstr "Обновить" + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "HTTP" + +#: gajim/data/gui/manage_proxies.ui:15 +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "SOCKS5" + +#: gajim/data/gui/manage_proxies.ui:65 +msgid "Add Proxy" +msgstr "Добавить прокси" + +#: gajim/data/gui/manage_proxies.ui:79 +msgid "Remove Proxy" +msgstr "Удалить прокси" + +#: gajim/data/gui/manage_proxies.ui:131 +msgid "Pass_word" +msgstr "Па_роль" + +#: gajim/data/gui/manage_proxies.ui:156 +msgid "Use proxy auth_entication" +msgstr "Использовать прокси аут_ентификацию" + +#: gajim/data/gui/manage_proxies.ui:176 +msgid "_Username" +msgstr "_Имя пользователя" + +#: gajim/data/gui/manage_proxies.ui:237 +msgid "_Host" +msgstr "_Хост" + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "Локальный JID:" + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "Ресурс:" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "Статус:" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +msgid "_Store conversation history" +msgstr "_Сохранять историю переписки" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +msgid "Contact" +msgstr "Контакт" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +msgid "First Name:" +msgstr "Имя:" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +msgid "Last Name:" +msgstr "Фамилия:" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +msgid "XMPP Address:" +msgstr "XMPP-адрес:" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "Почта:" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +msgid "Personal" +msgstr "Личная информация" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "_Статус" + +#: gajim/data/gui/account_context_menu.ui:20 +msgid "_Personal Events" +msgstr "_Расширенный статус" + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "_Добавить контакт..." + +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "_Просмотреть сервисы" + +#: gajim/data/gui/account_context_menu.ui:57 +msgid "_Execute Command..." +msgstr "В_ыполнить команду..." + +#: gajim/data/gui/account_context_menu.ui:65 +msgid "_View Server Info" +msgstr "_Просмотреть информацию о сервере" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" +"Начните новый чат, присоединитесь к групповому чату или выполните глобальный " +"поиск групповых чатов. Вы также можете ввести XMPP-адрес." + +#: gajim/data/gui/start_chat_dialog.ui:125 +msgid "Global Group Chat Search" +msgstr "Поиск в глобальном групповом чате" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +msgid "_Back" +msgstr "_Назад" + +#: gajim/data/gui/start_chat_dialog.ui:386 +msgid "Select Account" +msgstr "Выбрать учётную запись" + +#: gajim/data/gui/start_chat_dialog.ui:477 +msgid "_Select" +msgstr "_Выбрать" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" +"Контактов не найдено\n" +"Вы также можете ввести XMPP-адрес" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +msgid "Configure" +msgstr "Настроить" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +msgid "Create new post" +msgstr "Создать новое сообщение" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "Ста_тус" + +#: gajim/data/gui/systray_context_menu.ui:20 +msgid "_Start Chat..." +msgstr "_Начать беседу..." + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "Отправить одиночное _сообщение..." + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "Показать непросмотренные _события" + +#: gajim/data/gui/systray_context_menu.ui:52 +msgid "Mute Sounds" +msgstr "Выключить звук" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +msgid "Contact List" +msgstr "Список контактов" + +#: gajim/data/gui/shortcuts_window.ui:24 +msgid "Create new group chat" +msgstr "Создать новый групповой чат" + +#: gajim/data/gui/shortcuts_window.ui:45 +msgid "File transfers" +msgstr "Передача файлов" + +#: gajim/data/gui/shortcuts_window.ui:52 +msgid "Set the status message" +msgstr "Установить сообщение о статусе" + +#: gajim/data/gui/shortcuts_window.ui:59 +msgid "Show XML console" +msgstr "Показать XML-консоль" + +#: gajim/data/gui/shortcuts_window.ui:74 +msgid "Appearance" +msgstr "Оформление" + +#: gajim/data/gui/shortcuts_window.ui:79 +msgid "Show offline contacts" +msgstr "Показать контакты не в сети" + +#: gajim/data/gui/shortcuts_window.ui:86 +msgid "Show only active contacts" +msgstr "Показать только активные контакты" + +#: gajim/data/gui/shortcuts_window.ui:93 +msgid "Enable contact list filtering" +msgstr "Включить фильтрацию списка контактов" + +#: gajim/data/gui/shortcuts_window.ui:100 +msgid "Show / hide contact list" +msgstr "Показать / скрыть список контактов" + +#: gajim/data/gui/shortcuts_window.ui:113 +msgid "Contact information" +msgstr "Информация о контакте" + +#: gajim/data/gui/shortcuts_window.ui:120 +msgid "Rename contact" +msgstr "Переименовать контакт" + +#: gajim/data/gui/shortcuts_window.ui:127 +msgid "Delete contact" +msgstr "Удалить контакт" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +msgid "Chat" +msgstr "Чат" + +#: gajim/data/gui/shortcuts_window.ui:142 +msgid "Message composition" +msgstr "Cодержимое сообщения" + +#: gajim/data/gui/shortcuts_window.ui:147 +msgid "Send the message" +msgstr "Отправить сообщение" + +#: gajim/data/gui/shortcuts_window.ui:154 +msgid "Add new line" +msgstr "Добавить новую строку" + +#: gajim/data/gui/shortcuts_window.ui:161 +msgid "Select an emoji" +msgstr "Выберите эмодзи" + +#: gajim/data/gui/shortcuts_window.ui:168 +msgid "Complete a command or a nickname" +msgstr "Заполните команду или ник" + +#: gajim/data/gui/shortcuts_window.ui:175 +msgid "Previously sent message" +msgstr "Ранее отправленное сообщение" + +#: gajim/data/gui/shortcuts_window.ui:182 +msgid "Next sent messages" +msgstr "Следующие отправленные сообщения" + +#: gajim/data/gui/shortcuts_window.ui:189 +msgid "Quote previous message" +msgstr "Цитировать предыдущее сообщение" + +#: gajim/data/gui/shortcuts_window.ui:196 +msgid "Quote next message" +msgstr "Цитировать следующее сообщение" + +#: gajim/data/gui/shortcuts_window.ui:203 +msgid "Clear message entry" +msgstr "Очистить поле ввода сообщения" + +#: gajim/data/gui/shortcuts_window.ui:211 +msgid "Recent history" +msgstr "Недавняя история" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "Прокрутить вверх" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "Прокрутить вниз" + +#: gajim/data/gui/shortcuts_window.ui:230 +msgid "Clear chat window" +msgstr "Очистить окно чата" + +#: gajim/data/gui/shortcuts_window.ui:237 +msgid "Show chat history" +msgstr "Показать историю чата" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "Вкладки" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "Перейти на предыдущую вкладку" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "Перейти на следующую вкладку" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "Переключить на первую-девятую вкладку" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "Переключить на предыдущую непрочитанную вкладку" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "Переключить на следующую непрочитанную вкладку" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "Переместить вкладку влево" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "Переместить вкладку вправо" + +#: gajim/data/gui/shortcuts_window.ui:299 +msgid "Close chat" +msgstr "Закрыть чат" + +#: gajim/data/gui/shortcuts_window.ui:312 +msgid "Change Nickname" +msgstr "Изменить ник" + +#: gajim/data/gui/chat_control.ui:48 +msgid "Drop files or contacts" +msgstr "Перетащите файлы или контакты" + +#: gajim/data/gui/chat_control.ui:80 +msgid "1" +msgstr "1" + +#: gajim/data/gui/chat_control.ui:101 +msgid "2 abc" +msgstr "2 абв" + +#: gajim/data/gui/chat_control.ui:121 +msgid "3 def" +msgstr "3 где" + +#: gajim/data/gui/chat_control.ui:141 +msgid "4 ghi" +msgstr "4 ёжз" + +#: gajim/data/gui/chat_control.ui:161 +msgid "5 jkl" +msgstr "5 ийк" + +#: gajim/data/gui/chat_control.ui:181 +msgid "6 mno" +msgstr "6 лмн" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "7 опрс" + +#: gajim/data/gui/chat_control.ui:221 +msgid "8 tuv" +msgstr "8 туф" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "9 хцчш" + +#: gajim/data/gui/chat_control.ui:261 +msgid "*" +msgstr "*" + +#: gajim/data/gui/chat_control.ui:281 +msgid "0" +msgstr "0" + +#: gajim/data/gui/chat_control.ui:301 +msgid "#" +msgstr "#" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "Последнее сообщение было написано на мобильном клиенте" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "С микрофоном" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "Микрофон и камера" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "Завершить звонок" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "Начать _беседу" + +#: gajim/data/gui/contact_context_menu.ui:28 +msgid "Send _File..." +msgstr "Отправить _файл..." + +#: gajim/data/gui/contact_context_menu.ui:44 +msgid "Invite _Contacts" +msgstr "Пригласить _участников" + +#: gajim/data/gui/contact_context_menu.ui:58 +msgid "E_xecute Command..." +msgstr "В_ыполнить команду..." + +#: gajim/data/gui/contact_context_menu.ui:67 +msgid "M_anage Contact" +msgstr "_Управление контактом" + +#: gajim/data/gui/contact_context_menu.ui:77 +msgid "_Rename..." +msgstr "П_ереименовать..." + +#: gajim/data/gui/contact_context_menu.ui:84 +msgid "Edit _Groups..." +msgstr "Редактировать _группы..." + +#: gajim/data/gui/contact_context_menu.ui:92 +msgid "Add Special _Notification..." +msgstr "Добавить специальное _уведомление..." + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "_Подписка" + +#: gajim/data/gui/contact_context_menu.ui:115 +msgid "_Allow contact to see my status" +msgstr "_Разрешить контакту видеть мой статус" + +#: gajim/data/gui/contact_context_menu.ui:123 +msgid "A_sk to see contact status" +msgstr "За_просить статус контакта" + +#: gajim/data/gui/contact_context_menu.ui:131 +msgid "_Forbid contact to see my status" +msgstr "_Запретить контакту видеть мой статус" + +#: gajim/data/gui/contact_context_menu.ui:159 +msgid "_Unignore" +msgstr "_Прекратить игнорирование" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "_Игнорировать" + +#: gajim/data/gui/contact_context_menu.ui:174 +msgid "_Add to Contact List..." +msgstr "_Добавить в список контактов..." + +#: gajim/data/gui/single_message_window.ui:42 +msgid "_To" +msgstr "_Для" + +#: gajim/data/gui/single_message_window.ui:71 +msgid "Su_bject" +msgstr "Те_ма" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "Введите тему здесь..." + +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "_Сообщение" + +#: gajim/data/gui/single_message_window.ui:144 +msgid "Characters typed: 0" +msgstr "Введено символов: 0" + +#: gajim/data/gui/single_message_window.ui:189 +msgid "_From" +msgstr "_От" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "_Отправить" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "Отправить сообщение" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "_Ответить" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "Ответить на это сообщение" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "Отправить и _закрыть" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "Отправить сообщение и закрыть окно" + +#: gajim/data/gui/vcard_information_window.ui:106 +msgid "Client" +msgstr "Клиент" + +#: gajim/data/gui/vcard_information_window.ui:140 +msgid "Contact time" +msgstr "Время контакта" + +#: gajim/data/gui/vcard_information_window.ui:240 +msgid "User avatar" +msgstr "Аватар пользователя" + +#: gajim/data/gui/vcard_information_window.ui:255 +msgid "Configured avatar" +msgstr "Установленный аватар" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +msgid "Ask" +msgstr "Запрос" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +msgid "Subscription" +msgstr "Подписка" + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +msgid "Extra Address" +msgstr "Дополнительный адрес" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +msgid "Address" +msgstr "Адрес" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +msgid "E-Mail" +msgstr "Почта" + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "Формат: YYYY-MM-DD" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +msgid "Family" +msgstr "Фамилия" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +msgid "Middle" +msgstr "Фамилия" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +msgid "Prefix" +msgstr "Отчество" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +msgid "Given" +msgstr "Имя" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +msgid "Suffix" +msgstr "Суффикс" + +#: gajim/data/gui/vcard_information_window.ui:958 +msgid "Name Details" +msgstr "Имя" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "кнопка" + +#: gajim/data/gui/vcard_information_window.ui:1017 +msgid "Personal Info" +msgstr "Личная информация" + +#: gajim/data/gui/vcard_information_window.ui:1040 +msgid "Company" +msgstr "Компания" + +#: gajim/data/gui/vcard_information_window.ui:1073 +msgid "Department" +msgstr "Отделение" + +#: gajim/data/gui/vcard_information_window.ui:1104 +msgid "Position" +msgstr "Должность" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "Обязанность" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "Подробнее" + +#: gajim/data/gui/vcard_information_window.ui:1514 +msgid "Comments" +msgstr "Комментарии" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "Редактировать группы" + +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "Парольная фраза" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "Добавьте параметр, который Вы хотите изменить" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +msgid "Themes" +msgstr "Темы" + +#: gajim/data/gui/themes_window.ui:171 +msgid "Add Setting" +msgstr "Добавить настройку" + +#: gajim/data/gui/themes_window.ui:204 +msgid "Add new Theme" +msgstr "Добавить новую тему" + +#: gajim/data/gui/themes_window.ui:219 +msgid "Remove Theme" +msgstr "Удалить тему" + +#: gajim/data/gui/bookmarks.ui:120 +msgid "Autojoin" +msgstr "Автоприсоединение" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "_Применить" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "Поведение окон и вкладок" + +#: gajim/data/gui/preferences.ui:68 +msgid "Contact List Appearance" +msgstr "Внешний вид списка контактов" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +msgid "Chats" +msgstr "Чаты" + +#: gajim/data/gui/preferences.ui:215 +msgid "Visual Notifications" +msgstr "Уведомления" + +#: gajim/data/gui/preferences.ui:243 +msgid "Sounds" +msgstr "Звуки" + +#: gajim/data/gui/preferences.ui:303 +msgid "Ask For Status Message on…" +msgstr "Запрашивать сообщение о статусе…" + +#: gajim/data/gui/preferences.ui:331 +msgid "Automatic Status Change" +msgstr "Автоматическое изменение статуса" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "Эмодзи" + +#: gajim/data/gui/preferences.ui:447 +msgid "Status Icon" +msgstr "Иконка статуса" + +#: gajim/data/gui/preferences.ui:472 +msgid "Style" +msgstr "Стиль" + +#: gajim/data/gui/preferences.ui:511 +msgid "Show _Features" +msgstr "Показать _возможности" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "Отсутствуют зависимости для Audio/Video" + +#: gajim/data/gui/preferences.ui:632 +msgid "Audio" +msgstr "Аудио" + +#: gajim/data/gui/preferences.ui:660 +msgid "Video" +msgstr "Видео" + +#: gajim/data/gui/preferences.ui:698 +msgid "Audio/Video" +msgstr "Аудио/Видео" + +#: gajim/data/gui/preferences.ui:735 +msgid "Miscellaneous" +msgstr "Прочее" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "Сбросить подсказки" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "Это сбросит все подсказки" + +#: gajim/data/gui/preferences.ui:821 +msgid "Advanced Configuration Editor… " +msgstr "Расширенный редактор настроек... " + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "Пожалуйста, используйте эти настройки с осторожностью!" + +#: gajim/data/gui/server_info.ui:50 +msgid "Server Software" +msgstr "Серверное ПО" + +#: gajim/data/gui/server_info.ui:80 +msgid "Server Uptime" +msgstr "Uptime сервера" + +#: gajim/data/gui/server_info.ui:109 +msgid "Contact Addresses" +msgstr "Контактные адреса" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "Для этого сервера нет опубликованных контактных адресов." + +#: gajim/data/gui/server_info.ui:177 +msgid "Proxy Type" +msgstr "Тип прокси" + +#: gajim/data/gui/server_info.ui:192 +msgid "No proxy used" +msgstr "Прокси не используется" + +#: gajim/data/gui/server_info.ui:202 +msgid "View _Certificate" +msgstr "Просмотреть _сертификат" + +#: gajim/data/gui/server_info.ui:222 +msgid "Proxy Host" +msgstr "Хост прокси" + +#: gajim/data/gui/server_info.ui:421 +msgid "Copy info to clipboard" +msgstr "Скопировать информацию в буфер обмена" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "Общее имя (CN)" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "Организация" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "Подразделение организации (OU)" + +#: gajim/data/gui/certificate_dialog.ui:153 +msgid "Serial Number" +msgstr "Серийный номер" + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "Выдано" + +#: gajim/data/gui/certificate_dialog.ui:304 +msgid "Expires on" +msgstr "Истекает" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "SHA-1" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "Выдано для" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "Выдано" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "Достоверность" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "Отпечатки" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "SHA-256" + +#: gajim/data/gui/certificate_dialog.ui:465 +msgid "Copy Certificate Information" +msgstr "Копировать информацию о сертификате" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "Пригласить друзей!" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "" +"Вы входите в групповой чат.\n" +"Выберите контакты, которых хотите пригласить" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "колонка" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +msgid "Please select a group chat server." +msgstr "Пожалуйста, выберите сервер группового чата." + +#: gajim/data/gui/chat_to_muc_window.ui:141 +msgid "Group chat server" +msgstr "Сервер группового чата" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +msgid "In_vite" +msgstr "_Пригласить" + +#: gajim/data/gui/mam_preferences.ui:53 +msgid "_Default" +msgstr "_По умолчанию" + +#: gajim/data/gui/mam_preferences.ui:136 +msgid "Archive" +msgstr "Архив" + +#: gajim/data/gui/history_manager.ui:11 +msgid "_Export" +msgstr "Экспорт" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +msgid "Gajim History Logs Manager" +msgstr "Менеджер истории Gajim'а" + +#: gajim/data/gui/history_manager.ui:104 +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" +"Этот менеджер истории не предназначен для просмотра истории чата. Если Вам " +"нужна такая функциональность, используйте вместо этого окно истории.\n" +"\n" +"Вы можете использовать эту программу для удаления или экспорта истории. Либо " +"выберите журналы слева, либо выполните поиск в базе данных." + +#: gajim/data/gui/history_manager.ui:120 +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" +"ВНИМАНИЕ:\n" +"Если вы собираетесь устроить массовую чистку, удостоверьтесь, что Gajim не " +"запущен. Избегайте удалений из логов контактов, с которыми вы разговариваете " +"в этот момент." + +#: gajim/data/gui/history_manager.ui:211 +msgid "Search database..." +msgstr "Поиск базы данных..." + +#: gajim/data/gui/history_manager.ui:226 +msgid "Search in database" +msgstr "Поиск в базе данных" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" +"Не осталось контактов.\n" +"Вы также можете ввести XMPP-адрес." + +#: gajim/data/gui/groupchat_invite.ui:69 +msgid "Invitees" +msgstr "Приглашенные" + +#: gajim/data/gui/groupchat_invite.ui:153 +msgid "Search contacts..." +msgstr "Поиск контактов..." + +#: gajim/data/gui/groupchat_invite.ui:223 +msgid "Click on contacts you would like to invite to this group chat." +msgstr "" +"Нажмите на контакты, которых Вы хотите пригласить в этот групповой чат." + +#: gajim/data/gui/service_discovery_window.ui:148 +msgid "Go" +msgstr "Вперед" + +#: gajim/data/gui/status_change_window.ui:27 +msgid "Change Status" +msgstr "Изменить статус" + +#: gajim/data/gui/status_change_window.ui:56 +msgid "Status Presets…" +msgstr "Предустановки статуса…" + +#: gajim/data/gui/status_change_window.ui:72 +msgid "Save this message as a preset" +msgstr "Сохранить это сообщение как предустановку" + +#: gajim/data/gui/status_change_window.ui:130 +msgid "Ac_tivity" +msgstr "Ак_тивность" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "_Настроение" + +#: gajim/data/gui/status_change_window.ui:278 +msgid "_Change Status" +msgstr "_Изменить статус" + +#: gajim/data/gui/status_change_window.ui:313 +msgid "Activity" +msgstr "Активность" + +#: gajim/data/gui/status_change_window.ui:326 +msgid "_No Activity" +msgstr "_Нет активности" + +#: gajim/data/gui/status_change_window.ui:729 +msgid "Mood" +msgstr "Настроение" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "Тема" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +msgid "Author" +msgstr "Автор" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "Журналы обсуждений" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +msgid "Group Chat Language" +msgstr "Язык группового чата" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +msgid "Copy Address" +msgstr "Копировать адрес" + +#: gajim/data/gui/emoji_chooser.ui:98 +msgid "No Results Found" +msgstr "Ничего не найдено" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr "Консоль XML" + +#: gajim/data/gui/xml_console.ui:131 +msgid "Start Search..." +msgstr "Начать поиск..." + +#: gajim/data/gui/xml_console.ui:260 +msgid "Clear" +msgstr "Очистить" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "Вставить последний ввод" + +#: gajim/data/gui/xml_console.ui:316 +msgid "Presets" +msgstr "Предустановки" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "Синхронизация : выберите контакт" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +msgid "Select the contacts you want to synchronise" +msgstr "Расширенные статусы" + +#: gajim/data/gui/groupchat_config.ui:51 +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" +"Может быть одно из следующего:\n" +"<user@domain/resource> (только этот ресурс).\n" +"<user@domain> (любой ресурс).\n" +"<domain/resource> (только этот ресурс).\n" +"<domain> (сам домен, т.е. как любое сочетание user@domain, domain/" +"resource, так и адрес, содержащий этот поддомен)\n" + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "Только администраторы и владельцы могут изменить принадлежность" + +#: gajim/data/gui/groupchat_config.ui:309 +msgid "Reserved Name" +msgstr "Зарезервированное имя" + +#: gajim/data/gui/groupchat_config.ui:346 +msgid "Affiliation" +msgstr "Принадлежность" + +#: gajim/data/gui/groupchat_config.ui:377 +msgid "Affiliations" +msgstr "Принадлежности" + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "Причина" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "Черный список" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "_Отклонить" + +#: gajim/data/gui/subscription_request_window.ui:34 +msgid "_Block User" +msgstr "_Заблокировать пользователя" + +#: gajim/data/gui/subscription_request_window.ui:49 +msgid "_Report as Spam" +msgstr "_Сообщить о спаме" + +#: gajim/data/gui/subscription_request_window.ui:212 +msgid "_Deny…" +msgstr "_Отклонить…" + +#: gajim/data/gui/subscription_request_window.ui:225 +msgid "Ac_cept" +msgstr "При_нять" + +#: gajim/data/gui/subscription_request_window.ui:230 +msgid "Allows the contact to see your online status" +msgstr "Позволить контакту видеть Ваш статус в сети" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "Извините, этого не должно было случиться" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" +"Gajim обнаружил ошибку. Отчет показан ниже.\n" +"Сообщая об этой ошибке, вы можете помочь людям исправить это." + +#: gajim/data/gui/exception_dialog.ui:115 +msgid "_Report Bug" +msgstr "_Сообщить об ошибке" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "Событие" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "Выберите звуковой файл" + +#: gajim/data/gui/manage_sounds.ui:97 +msgid "Clear Sound" +msgstr "Удалить звук" + +#: gajim/data/gui/manage_sounds.ui:118 +msgid "Play Sound" +msgstr "Проигрывать звук" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +msgid "_Send Files" +msgstr "_Отправить файлы" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +msgid "Send" +msgstr "Отправить" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +msgid "Files to send" +msgstr "Файлы для отправки" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +msgid "Add Files" +msgstr "Добавить файлы" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +msgid "Remove Files" +msgstr "Удалить файлы" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +msgid "Idle since:" +msgstr "Бездействует с:" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +msgid "Mood:" +msgstr "Настроение:" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +msgid "Activity:" +msgstr "Занятие:" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +msgid "Tune:" +msgstr "Мелодия:" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +msgid "Location:" +msgstr "Местоположение:" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +msgid "Subscription:" +msgstr "Подписка:" + +#: gajim/data/gui/advanced_configuration.ui:15 +msgid "A restart may be required for some settings to take effect" +msgstr "" +"Для вступления в силу некоторых настроек может потребоваться перезапуск" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "Введите для поиска значений..." + +#: gajim/data/gui/advanced_configuration.ui:120 +msgid "_Reset Value" +msgstr "_Сбросить значение" + +#: gajim/data/gui/advanced_configuration.ui:125 +msgid "Resets value to default" +msgstr "Сбросить значение до исходного" + +#: gajim/data/gui/history_window.ui:27 +msgid "Display status changes" +msgstr "Показывать изменения статуса" + +#: gajim/data/gui/history_window.ui:57 +msgid "History Manager" +msgstr "Менеджер истории" + +#: gajim/data/gui/history_window.ui:233 +msgid "Mode" +msgstr "Режим" + +#: gajim/data/gui/history_window.ui:246 +msgid "Search complete history" +msgstr "Полная история поиска" + +#: gajim/data/gui/history_window.ui:263 +msgid "Search selected day only" +msgstr "Искать только выбранный день" + +#: gajim/data/gui/history_window.ui:317 +msgid "Store history for this chat" +msgstr "Сохранить историю этого чата" + +#: gajim/data/gui/history_window.ui:332 +msgid "Store History" +msgstr "Сохранить историю" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +msgid "Identified Error" +msgstr "Обнаружена ошибка" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +msgid "" +msgstr "" + +#: gajim/data/gui/ssl_error_dialog.ui:74 +msgid "Add this certificate to the list of _trusted certificates" +msgstr "Добавить этот сертификат в список _доверенных" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +msgid "_View Certificate" +msgstr "_Просмотреть сертификат" + +#: gajim/data/gui/ssl_error_dialog.ui:120 +msgid "_Connect" +msgstr "_Подключиться" + +#: data/org.gajim.Gajim.desktop.in:5 +msgid "XMPP Chat Client" +msgstr "Клиент XMPP-чата" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "Полнофункциональный клиент XMPP-чата" + +#: data/org.gajim.Gajim.desktop.in:8 +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "chat;messaging;im;xmpp;bonjour;voip;" + +#: data/org.gajim.Gajim.desktop.in:27 +msgid "Show next pending event" +msgstr "Показать следующее ожидающее событие" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" +"Gajim стремится быть простым и и полнофункциональным XMPP-клиентом. Просто " +"общайтесь с друзьями или семьей, легко делитесь фотографиями и мыслями или " +"обсуждайте новости со своими группами." + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "" +"Безопасно общайтесь с помощью сквозного шифрования с помощью OMEMO или " +"OpenPGP." + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" +"Gajim интегрируется с другими Вашими устройствами: просто продолжайте " +"разговор на своем мобильном устройстве." + +#: data/org.gajim.Gajim.appdata.xml.in:17 +msgid "Features:" +msgstr "Возможности:" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "Никогда не пропустите сообщение, синхронизируйте все свои чат-клиенты" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "Пригласите друзей в групповые чаты или присоединитесь к ним" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "Легко отправляйте изображения, видео и другие файлы друзьям и группам" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "Безопасный чат с помощью сквозного шифрования OMEMO или OpenPGP" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "" +"Используйте свои любимые смайлы, установите собственное изображение профиля" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "Храните и управляйте всей своей историей чатов" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "Организуйте свои чаты с помощью вкладок" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +msgid "Automatic spell-checking for your messages" +msgstr "Автоматическая проверка орфографии для Ваших сообщений" + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "" +"Подключайтесь к другим мессенджерам через транспорты (Facebook, IRC, ...)" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" +"Ищите информацию в Википедии, словарях или других поисковых системах прямо " +"из окна чата" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" +"Укажите статус и настроение, чтобы показать друзьям, как Вы себя чувствуете" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "Поддержка нескольких учетных записей" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "Группируйте несколько контактов в один мета-контакт" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "XML-консоль, чтобы видеть, что происходит на уровне протокола" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "Бессерверный обмен сообщениями (Bonjour/Zeroconf)" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +msgid "Support for service discovery including nodes and search for users" +msgstr "Поддержка обнаружения сервисов, включая узлы и поиск пользователей" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "Ещё больше возможностей с плагинами" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +msgid "Contact list" +msgstr "Список контактов" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "Окно чата с вкладками" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +msgid "Group chat support" +msgstr "Поддержка группового чата" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +msgid "Chat history" +msgstr "История чата" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +msgid "Plugin manager" +msgstr "Менеджер плагинов" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +#, fuzzy +msgid "Gajim Team" +msgstr "Темы Gajim" + +#~ msgid "Retrieving profile…" +#~ msgstr "Получение профиля…" + +#~ msgid "Could not load image" +#~ msgstr "Не могу загрузить изображение" + +#~ msgid "Wrong date format" +#~ msgstr "Неверный формат даты" + +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "Дата должна быть в формате: YYYY-MM-DD" + +#~ msgid "Information received" +#~ msgstr "Информация получена" + +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "" +#~ "Необходимо присоединиться к серверу для обновления личной информации." + +#~ msgid "Sending profile…" +#~ msgstr "Отправка профиля…" + +#~ msgid "Information NOT published" +#~ msgstr "Информация НЕ опубликована" + +#~ msgid "vCard publication failed" +#~ msgstr "Публикация vCard не удалась" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "" +#~ "При публикации вашей личной информации произошла ошибка, попробуйте позже." + +#~ msgid "Clear Avatar" +#~ msgstr "Удалить аватар" + +#~ msgid "Set Avatar…" +#~ msgstr "Установить аватар…" + +#~ msgid "Main" +#~ msgstr "Основная" + +#~ msgid "Contact" +#~ msgstr "Контакты" + +#~ msgid "org.gajim.Gajim" +#~ msgstr "org.gajim.Gajim" + +#~ msgid "Could not request upload slot for HTTP File Upload" +#~ msgstr "Не удалось запросить слот для HTTP File Upload" + +#~ msgid "Exception raised while trying to open file (see log)." +#~ msgstr "Исключение возникло при попытке открыть файл (см. журнал)." + +#~ msgid "Not Secure" +#~ msgstr "Не является безопасным" + +#~ msgid "Could not Upload File" +#~ msgstr "Не удалось загрузить файл" + +#~ msgid "HTTP response code from server: %s" +#~ msgstr "Код ответа HTTP от сервера: %s" + +#~ msgid "Upload Error" +#~ msgstr "Ошибка выгрузки" + +#~ msgid "Encryption Error" +#~ msgstr "Ошибка шифрования" + +#~ msgid "Gajim aims to be an easy to use and fully-featured XMPP client." +#~ msgstr "Gajim стремится быть простым и полнофункциональным XMPP-клиентом." + +#, fuzzy +#~ msgid "Chat Settings" +#~ msgstr "Сочетания клавиш в чате" + +#~ msgid "%i day" +#~ msgid_plural "%i days" +#~ msgstr[0] "%i день" +#~ msgstr[1] "%i дней" +#~ msgstr[2] "%i дня" + +#~ msgid "Composing only" +#~ msgstr "Только печатает" + +#~ msgid "All chat states" +#~ msgstr "При любых изменениях" + +#~ msgid "Privacy Lists" +#~ msgstr "Списки доступа" + +#, fuzzy +#~ msgid "Unblock" +#~ msgstr "_Разблокировать" + +#, fuzzy +#~ msgid "Block" +#~ msgstr "_Блокировать" + +#~ msgid "None" +#~ msgstr "Нет" + +#~ msgid "%s Status Message" +#~ msgstr "Сообщение о статусе %s" + +#~ msgid "an audio and video" +#~ msgstr "аудио и видео" + +#~ msgid "an audio" +#~ msgstr "аудио" + +#~ msgid "a video" +#~ msgstr "видео" + +#, fuzzy +#~ msgid "" +#~ "%(contact)s wants to start a %(type)s chat with you. Do you want to " +#~ "answer the call?" +#~ msgstr "%(contact)s хочет начать %(type)s сеанс с вами. Вы хотите ответить?" + +#~ msgid "Error." +#~ msgstr "Ошибка." + +#~ msgid "%(type)s state : %(state)s, reason: %(reason)s" +#~ msgstr "%(type)s состояние : %(state)s, причина: %(reason)s" + +#, fuzzy +#~ msgid "" +#~ "This contact will see you offline and you will not receive any messages " +#~ "sent to you by this contact." +#~ msgstr "" +#~ "Этот контакт будет видеть вас как отключенного, а вы не будете получать " +#~ "от него сообщения." + +#, fuzzy +#~ msgid "_Block Contact" +#~ msgstr "Заблокированные контакты" + +#, fuzzy +#~ msgid "Block Group" +#~ msgstr "_Блокировать" + +#, fuzzy +#~ msgid "Really block this group?" +#~ msgstr "Используется ли для этого контакта OpenPGP?" + +#, fuzzy +#~ msgid "" +#~ "All contacts of this group will see you as offline and you will not " +#~ "receive any messages sent to you by any one of these contacts." +#~ msgstr "" +#~ "Этот контакт будет видеть вас как отключенного, а вы не будете получать " +#~ "от него сообщения." + +#, fuzzy +#~ msgid "_Block Group" +#~ msgstr "_Блокировать" + +#~ msgid "No account available" +#~ msgstr "Нет доступной учетной записи" + +#~ msgid "You must create an account before you can chat with other contacts." +#~ msgstr "" +#~ "Для начала беседы с другими людьми прежде необходимо создать учетную " +#~ "запись." + +#~ msgid "Metacontacts storage not supported by your server" +#~ msgstr "Сервер не умеет хранить метаконтакты" + +#~ msgid "" +#~ "Your server does not support storing metacontacts information. So this " +#~ "information will not be saved on next reconnection." +#~ msgstr "" +#~ "Ваш сервер не умеет хранить данные о метаконтактах. Эта информация не " +#~ "будет сохранена при следующем подключении." + +#~ msgid "You are invited to {room} by {user}" +#~ msgstr "Вы приглашены в конференцию {room} пользователем {user}" + +#~ msgid "%s wants to start a voice chat." +#~ msgstr "%s хочет начать видео сеанс." + +#~ msgid "Could not save your settings and preferences" +#~ msgstr "Не могу сохранить ваши установки и настройки" + +#, fuzzy +#~ msgid "Error While Removing Privacy List" +#~ msgstr "Ошибка при удалении списка доступа" + +#, fuzzy +#~ msgid "" +#~ "Privacy list %s has not been removed. It is probably active in one of " +#~ "your connected resources. Please deactivate it and try again." +#~ msgstr "" +#~ "Список доступа %s не может быть удален. Возможно, он используется одним " +#~ "из ваших активных ресурсов. Отключите ресурс и попробуйте снова." + +#, fuzzy +#~ msgid "Invisibility Not Supported" +#~ msgstr "Невидимость не поддерживается" + +#, fuzzy +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "Учетная запись %s не поддерживает невидимость." + +#~ msgid "Lists all preferences and their values" +#~ msgstr "Показывает все параметры с их значениями" + +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "Присваивает 'ключу' в 'значение'" + +#~ msgid "key=value" +#~ msgstr "ключ=значение" + +#, fuzzy +#~ msgid "'key' is the name of the preference, 'value' is what to set it to" +#~ msgstr "" +#~ "'ключ' это название параметра, а 'значение' это то, что ему присваивают" + +#~ msgid "Deletes a preference item" +#~ msgstr "Удаляет параметр" + +#~ msgid "key" +#~ msgstr "ключ" + +#~ msgid "name of the preference to be deleted" +#~ msgstr "имя параметра, который нужно удалить" + +#~ msgid "Writes the current state of Gajim preferences to the .config file" +#~ msgstr "Сохраняет текущее состояние настроек Gajim в файл .config" + +#~ msgid "%s is a directory but should be a file" +#~ msgstr "%s должен быть файлом, а не директорией" + +#~ msgid "Creating %s" +#~ msgstr "Создаём %s" + +#~ msgid "%(nickname)s Signed In" +#~ msgstr "%(nickname)s подключается" + +#~ msgid "Contact Signed In" +#~ msgstr "Контакт подключился" + +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "%(nickname)s отключается" + +#~ msgid "Contact Signed Out" +#~ msgstr "Контакт отключился" + +#, fuzzy +#~ msgid "" +#~ "Show desktop notification even when a chat window is opened for this " +#~ "contact and does not have focus." +#~ msgstr "Показывать уведомления когда окно чата открыто" + +#~ msgid "default" +#~ msgstr "По_умолчанию" + +#, fuzzy +#~ msgid "" +#~ "Character to propose to add after desired nickname when nickname is " +#~ "already used in group chat." +#~ msgstr "" +#~ "Символ, который будет добавляться после ника, когда желаемый ник уже " +#~ "занят кем-нибудь в комнате." + +#, fuzzy +#~ msgid "" +#~ "How many seconds to wait before trying to automatically rejoin a group " +#~ "chat you were disconnected from. Set to 0 to disable automatic rejoining." +#~ msgstr "" +#~ "Время ожидания в секундах перед попыткой снова автоматически войти в " +#~ "комнату, от которой вы были отключены. Чтобы отключить автоматический " +#~ "вход в этом случае, установите значение 0." + +#, fuzzy +#~ msgid "If enabled, Gajim displays the avatar in the chat window." +#~ msgstr "Если неактивно, вы больше не будете видеть аватары в окне беседы." + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will show affiliation of group chat participants by " +#~ "adding a colored square to the status icon." +#~ msgstr "" +#~ "Если включено, Gajim покажет принадлежность пользователей группового " +#~ "чата, добавив цветные квадраты к значку статуса" + +#~ msgid "Options in days which can be chosen in the sync threshold menu" +#~ msgstr "Параметры в днях, которые можно выбрать в меню порог синхронизации" + +#~ msgid "Selecting text will copy it to the clipboard" +#~ msgstr "При выборе текста он будет скопирован в буфер обмена" + +#, fuzzy +#~ msgid "" +#~ "Status to be used automatically when connecting. Can be 'online', 'chat', " +#~ "'away', 'xa' or 'dnd'. NOTE: This option is used only if " +#~ "'restore_last_status' is disabled." +#~ msgstr "" +#~ "Статус, используемый при автоподключении. Варианты: отключен, в сети, " +#~ "готов поболтать, отошел, недоступен, не беспокоить, невидимка" + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending password on an plaintext connection. " +#~ "Can be 'warn', or 'none'." +#~ msgstr "" +#~ "Если отмечено, то Gajim будет будет спрашивать вас перед отправкой пароля " +#~ "через незащищенное соединение. Может быть 'warn', 'connect', 'disconnect'" + +#~ msgid "List of SSL errors to ignore (space separated)." +#~ msgstr "Список ошибок SSL, которые нужно игнорировать (через пробел)." + +#, fuzzy +#~ msgid "" +#~ "How many seconds to wait for the answer of a ping alive packet before " +#~ "trying to reconnect." +#~ msgstr "" +#~ "Время ожидания (в секундах) ответа на пинг перед повторной попыткой " +#~ "соединения." + +#~ msgid "I'm available." +#~ msgstr "Я здесь." + +#~ msgid "I'm free for chat." +#~ msgstr "Я готов поболтать." + +#~ msgid "Be right back." +#~ msgstr "Скоро буду." + +#~ msgid "I'm not available." +#~ msgstr "Меня нет." + +#~ msgid "Do not disturb." +#~ msgstr "Не беспокоить." + +#~ msgid "Bye!" +#~ msgstr "Пока!" + +#~ msgid "Timeout loading image" +#~ msgstr "Не могу загрузить изображение" + +#~ msgid "Image is too big" +#~ msgstr "Изображение слишком большое" + +#~ msgid "PyCURL is not installed" +#~ msgstr "PyCURL не установлен" + +#~ msgid "Error loading image" +#~ msgstr "Ошибка загрузки изображения" + +#~ msgid "Blocked Contacts" +#~ msgstr "Заблокированные контакты" + +#~ msgid "Join group chat every time Gajim is started" +#~ msgstr "Присоединяться к групповому чату при каждом запуске Gajim" + +#~ msgid "Join Automatically" +#~ msgstr "Присоединяться автоматически" + +#, fuzzy +#~ msgid "Group chat" +#~ msgstr "Комнаты" + +#, fuzzy +#~ msgid "Bookmark group chat" +#~ msgstr "Добавить комнату в закладк_и" + +#, fuzzy +#~ msgid "Bookmark" +#~ msgstr "Добавить эту комнату в _закладки" + +#, fuzzy +#~ msgid "Recently used group chats" +#~ msgstr "в _комнатах" + +#, fuzzy +#~ msgid "Search group chats on selected server" +#~ msgstr "Искать комнаты на этом сервере" + +#, fuzzy +#~ msgid "_Leave Group Chat" +#~ msgstr "Покинуть конференции" + +#~ msgid "Enter a new name for this group chat" +#~ msgstr "Введите новое имя для группового чата" + +#~ msgid "Use default applications" +#~ msgstr "Использовать приложения по умолчанию" + +#~ msgid "Custom" +#~ msgstr "Другое" + +#~ msgid "Pop it up" +#~ msgstr "Показать" + +#~ msgid "Notify me about it" +#~ msgstr "Уведомлять об этом" + +#, fuzzy +#~ msgid "Show only in contact list" +#~ msgstr "Показать _только активных" + +#, fuzzy +#~ msgid "No status messages" +#~ msgstr "сообщение о статусе" + +#, fuzzy +#~ msgid "All status messages" +#~ msgstr "сообщение о статусе" + +#, fuzzy +#~ msgid "Only enter/leave messages" +#~ msgstr "У вас есть непрочитанные сообщения" + +#~ msgid "_Tabs placement" +#~ msgstr "Размещение _вкладок" + +#~ msgid "" +#~ "If enabled, Gajim will quit when closing the contact list window instead " +#~ "of minimizing to the system's notification area" +#~ msgstr "" +#~ "Если этот параметр включен, Gajim завершит работу при закрытии окна " +#~ "списка контактов вместо сворачивания в область уведомлений системы" + +#, fuzzy +#~ msgid "Me_rge accounts" +#~ msgstr "_Объединить учетные записи" + +#, fuzzy +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "Показывать а_ватары для контактов в ростере" + +#, fuzzy +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "" +#~ "Если отмечено, то Gajim будет показывать аватары контактов в окне ростера " +#~ "и в окнах комнат" + +#, fuzzy +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "Показывать _сообщения о статусе контакта в ростере" + +#, fuzzy +#~ msgid "" +#~ "If checked, status messages of contacts will be shown under the contact's " +#~ "name, in the contact list window, and in group chats" +#~ msgstr "" +#~ "Если отмечено, то Gajim будет отображать сообщение о статусе контакта под " +#~ "его именем в окне ростера и в окнах комнат" + +#, fuzzy +#~ msgid "" +#~ "Show e_xtra information of contacts in contact list (mood, activity, ...)" +#~ msgstr "" +#~ "Показывать дополнительную информацию контактов в ростере (занятие, " +#~ "настроение, ...)" + +#~ msgid "" +#~ "If checked, additional info published by the contact will be shown in the " +#~ "contact list. Additional infos (published via PEP) may include e.g. mood, " +#~ "activity, tune, location, ..." +#~ msgstr "" +#~ "Если этот флажок установлен, в списке контактов будет отображаться " +#~ "дополнительная информация, опубликованная контактом. Дополнительная " +#~ "информация (публикуемая через PEP) может включать, например, настроение, " +#~ "активность, мелодию, местоположение..." + +#, fuzzy +#~ msgid "in _contact list" +#~ msgstr "Контакты для отправки:" + +#~ msgid "in _group chats" +#~ msgstr "в _комнатах" + +#~ msgid "Enable auto copy" +#~ msgstr "Включить автоматическое копирование" + +#~ msgid "" +#~ "If enabled, selecting Text will be copied to the clipboard, otherwise you " +#~ "can copy text with CTRL + SHIFT + C" +#~ msgstr "" +#~ "Если этот параметр включен, выделение текста будет скопировано в буфер " +#~ "обмена, в противном случае вы можете скопировать текст с помощью CTRL + " +#~ "SHIFT + C" + +#, fuzzy +#~ msgid "Enable spell _checking" +#~ msgstr "Проверка орфографии" + +#, fuzzy +#~ msgid "" +#~ "If checked, spelling errors in input fields of chat windows will be " +#~ "highlighted. If no language is explicitly set via right click on the " +#~ "input field, the default language will be used for this contact or group " +#~ "chat. Needs gspell to be installed." +#~ msgstr "" +#~ "Если отмечено, Gajim будет выделять орфографические ошибки в полях ввода " +#~ "окон чата. Если язык проверки явно не задан, будет использован язык по " +#~ "умолчанию для данного контакта или комнаты." + +#~ msgid "" +#~ "If checked, a small checkmark will be shown after each message when it " +#~ "was received. Note that this is not supported by all clients and " +#~ "therefore could be misleading." +#~ msgstr "" +#~ "Если этот флажок установлен, то после каждого полученного сообщения будет " +#~ "отображаться небольшая галочка. Обратите внимание, что это не " +#~ "поддерживается всеми клиентами и поэтому может ввести в заблуждение." + +#, fuzzy +#~ msgid "Display status messages in _single chats" +#~ msgstr "Показывать _сообщения о статусе контакта в ростере" + +#, fuzzy +#~ msgid "" +#~ "If checked, status lines will be shown in 1 on 1 chats when a contact " +#~ "changes their status or status message" +#~ msgstr "" +#~ "Если неактивно, то Gajim больше не будет показывать строку статуса в окне " +#~ "беседы, когда контакт меняет его или её статус и/или сообщение о статусе." + +#, fuzzy +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "Не получается войти в комнату" + +#, fuzzy +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "Не получается войти в комнату" + +#~ msgid "Show join/leave (Default)" +#~ msgstr "Показать соединение / выход (по умолчанию)" + +#~ msgid "" +#~ "If join/leave status messages are shown in the group chat. This setting " +#~ "can be overridden in the group chat menu." +#~ msgstr "" +#~ "Если в групповом чате отображаются сообщения о состоянии присоединиться/" +#~ "покинуть. Этот параметр можно переопределить в меню группового чата." + +#~ msgid "" +#~ "The default sync threshold for new public group chats. This setting can " +#~ "be overridden in the group chat menu." +#~ msgstr "" +#~ "Порог синхронизации по умолчанию для новых публичных групповых чатов. " +#~ "Этот параметр можно переопределить в меню группового чата." + +#, fuzzy +#~ msgid "Show status changes (Default)" +#~ msgstr "Показывать изменения _статуса" + +#~ msgid "" +#~ "If status change messages are shown in the group chat. This setting can " +#~ "be overridden in the group chat menu." +#~ msgstr "" +#~ "Если в групповом чате отображаются сообщения об изменении статуса. Этот " +#~ "параметр можно переопределить в меню группового чата." + +#, fuzzy +#~ msgid "" +#~ "If checked, the tab will be colored according to the current chatstate of " +#~ "the contact" +#~ msgstr "" +#~ "Если отмечено, то Gajim будет разрешать определять время в системе, " +#~ "которую вы используете" + +#~ msgid "" +#~ "If checked, the contact row will be colored according to the current " +#~ "chatstate of the contact" +#~ msgstr "" +#~ "Если флажок установлен, строка контакта будет окрашена в соответствии с " +#~ "текущим состоянием чата контакта" + +#, fuzzy +#~ msgid "" +#~ "If checked, a description of the contacts current chatstate is shown in " +#~ "the banner" +#~ msgstr "" +#~ "Если флажок установлен, в баннере отображается описание текущего " +#~ "состояния чата контактов" + +#, fuzzy +#~ msgid "Chatstate" +#~ msgstr "Последнее состояние" + +#, fuzzy +#~ msgid "_When new event is received" +#~ msgstr "Когда получено новое событие:" + +#, fuzzy +#~ msgid "Show popups/notifications when a chat window is already _open" +#~ msgstr "Показывать уведомления когда окно чата открыто" + +#, fuzzy +#~ msgid "Allow popups/notifications when I'm _away, not available or busy" +#~ msgstr "Позволять уведомления в режиме _ушел/недоступен/занят/невидимка" + +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "Уведомлять о контактах, которые _вошли" + +#~ msgid "" +#~ "A popup window about contacts that just signed in will be shown in the " +#~ "bottom right of the screen " +#~ msgstr "" +#~ "Всплывающее окно о контактах, которые только что вошли в систему, будет " +#~ "показано в правом нижнем углу экрана " + +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "Уведомлять о контактах, которые _вышли: " + +#~ msgid "" +#~ "A popup window about contacts that just signed out will be shown in the " +#~ "bottom right of the screen " +#~ msgstr "" +#~ "Всплывающее окно о контактах, которые только что вышли, будет показано в " +#~ "правом нижнем углу экрана " + +#~ msgid "Play _sounds" +#~ msgstr "Проигрывать _звук" + +#~ msgid "Ma_nage..." +#~ msgstr "_Управление..." + +#, fuzzy +#~ msgid "Allow playing sounds when I'm _busy" +#~ msgstr "Проигрывать звук, когда я _занят" + +#, fuzzy +#~ msgid "No_t Available" +#~ msgstr "Недоступен" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Not Available when the computer " +#~ "has not been used for the specified time" +#~ msgstr "" +#~ "Если отмечено, Gajim будет менять статус на Недоступен, если компьютер " +#~ "долго не используется" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Away when the computer has not " +#~ "been used for the specified time" +#~ msgstr "" +#~ "Если отмечено, Gajim будет менять статус на Недоступен, если компьютер " +#~ "долго не используется" + +#, fuzzy +#~ msgid "" +#~ "The automatic away status message. If empty, the current status message " +#~ "will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-away timeout." +#~ msgstr "" +#~ "Автоматическое сообщение о статусе «Ушел». Если не указано, Gajim не " +#~ "будет изменять сообщение о статусе\n" +#~ "$S заменяется на предыдущее сообщение о статусе\n" +#~ "$T заменяется на время срабатывания автоматического сообщения о статусе " +#~ "«Ушел»" + +#, fuzzy +#~ msgid "" +#~ "The automatic not available status message. If empty, the current status " +#~ "message will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-not-available timeout." +#~ msgstr "" +#~ "Автоматическое сообщение о статусе «Недоступен». Если не указано, Gajim " +#~ "не будет изменять сообщение о статусе\n" +#~ "$S заменяется на предыдущее сообщение о статусе\n" +#~ "$T заменяется на время срабатывания автоматического сообщения о статусе " +#~ "«Недоступен»" + +#, fuzzy +#~ msgid "Minutes" +#~ msgstr "минут" + +#~ msgid "_Remember and restore status of the last session" +#~ msgstr "_Запомнить и восстановить состояние последнего сеанса" + +#~ msgid "" +#~ "If enabled, Gajim will not ask for a status message. The specified " +#~ "default message will be used instead." +#~ msgstr "" +#~ "Если включено, Gajim не будет запрашивать сообщение о статусе. Вместо " +#~ "него будет использовано соответствующее сообщение по умолчанию." + +#~ msgid "Default Message" +#~ msgstr "Сообщение по умолчанию" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "Сообщение о статусе" + +#~ msgid "Preset Status Messages" +#~ msgstr "Предустановленные сообщения о статусе" + +#, fuzzy +#~ msgid "_Theme" +#~ msgstr "Тема" + +#~ msgid "Configure color and font of the interface" +#~ msgstr "Настроить цвет и шрифт интерфейса" + +#~ msgid "Icons" +#~ msgstr "Иконки" + +#, fuzzy +#~ msgid "" +#~ "If checked, protocol-specific status icons will be used (e.g. a contact " +#~ "from ICQ will have the equivalent ICQ icon for status online, away, busy, " +#~ "etc...)" +#~ msgstr "" +#~ "Если отмечено, то Gajim будет использовать для каждого протокола свои " +#~ "иконки (например, контакты из MSN будут иметь соответствующие иконки msn " +#~ "для статусов «в сети», «ушёл», «занят» и т.д.)" + +#, fuzzy +#~ msgid "Video output" +#~ msgstr "видео выход" + +#, fuzzy +#~ msgid "Video si_ze" +#~ msgstr "Разрешение видео" + +#, fuzzy +#~ msgid "Vi_ew own video source" +#~ msgstr "Источник слоя Мозаика" + +#, fuzzy +#~ msgid "" +#~ "STUN server hostname. If no hostname was given, Gajim will try\n" +#~ "to discover one from the server. (Example: stun.iptel.org)" +#~ msgstr "" +#~ "Адрес сервера STUN. Если не указано, Gajim попробует\n" +#~ "получить адрес с сервера." + +#~ msgid "_Manage..." +#~ msgstr "_Управление..." + +#, fuzzy +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "_Записывать в лог изменения статусов контактов" + +#~ msgid "Enable _debug logging (restart required)" +#~ msgstr "Включить _ведение журнала отладки (требуется перезапуск)" + +#, fuzzy +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "Если отмечено, то Gajim запомнит пароль учетной записи" + +#~ msgid "Opens folder containing debug logs" +#~ msgstr "Открывает папку, содержащую журналы отладки" + +#~ msgid "_Open..." +#~ msgstr "_Открыть..." + +#, fuzzy +#~ msgid "_Filter" +#~ msgstr "Фильтр:" + +#, fuzzy +#~ msgid "Protocol" +#~ msgstr "_Протокол:" + +#~ msgid "Privacy Lists:" +#~ msgstr "Списки доступа:" + +#, fuzzy +#~ msgid "_Ignore this error for this certificate" +#~ msgstr "Игнорировать эту ошибку для данного сертификата." + +#, fuzzy +#~ msgid "Message..." +#~ msgstr "Сообщение" + +#, fuzzy +#~ msgid "_Message if you decline (optional)" +#~ msgstr "Причина:" + +#, fuzzy +#~ msgid "Preset _messages" +#~ msgstr "Предустановленные сообщения:" + +#~ msgid "_Type your new status message" +#~ msgstr "_Введите ваше новое сообщение о статусе" + +#~ msgid "Incoming call" +#~ msgstr "Входящий звонок" + +#, fuzzy +#~ msgid "Change Status Message…" +#~ msgstr "_Изменить сообщение о статусе" + +#~ msgid "Mood:" +#~ msgstr "Настроение:" + +#~ msgid "Message:" +#~ msgstr "Сообщение:" + +#~ msgid "none" +#~ msgstr "ни один" + +#~ msgid "both" +#~ msgstr "оба" + +#~ msgid "from" +#~ msgstr "от" + +#~ msgid "to" +#~ msgstr "кому" + +#~ msgid "Privacy List" +#~ msgstr "Список доступа" + +#~ msgid "Privacy List" +#~ msgstr "Список доступа" + +#~ msgid "Active for this session" +#~ msgstr "Действует для текущего сеанса" + +#~ msgid "Active on each startup" +#~ msgstr "Действует при каждом запуске Gajim" + +#~ msgid "List of rules" +#~ msgstr "Список правил" + +#~ msgid "Add / Edit a rule" +#~ msgstr "Добавить/изменить правило" + +#~ msgid "Allow" +#~ msgstr "Разрешить" + +#~ msgid "Deny" +#~ msgstr "Отклонить" + +#~ msgid "all in the group" +#~ msgstr "всем в группе" + +#~ msgid "all by subscription" +#~ msgstr "всем с подпиской" + +#~ msgid "All" +#~ msgstr "всем" + +#~ msgid "to send me messages" +#~ msgstr "посылать мне сообщения" + +#~ msgid "to send me queries" +#~ msgstr "посылать мне запросы" + +#~ msgid "to view my status" +#~ msgstr "видеть мой статус" + +#~ msgid "to send me status" +#~ msgstr "посылать мне свой статус" + +#~ msgid "All (including subscription)" +#~ msgstr "Все (включая подписку)" + +#~ msgid "Order:" +#~ msgstr "Номер:" + +#, fuzzy +#~ msgid "" +#~ "Deny authorization from contact so the contact cannot know if you are " +#~ "connected" +#~ msgstr "Отклонить авторизацию от контакта (Он не сможет видеть ваш статус)" + +#, fuzzy +#~ msgid "Authorize contact so the contact can know if you are connected" +#~ msgstr "Авторизовать контакт (он будет видеть ваш статус)" + +#~ msgid "Chat Shortcuts" +#~ msgstr "Сочетания клавиш в чате" + +#, fuzzy +#~ msgid "Contact List Shortcuts" +#~ msgstr "Сочетания клавиш в чате" + +#~ msgid "Fill in the form." +#~ msgstr "Заполните форму." + +#~ msgid "Set an activity" +#~ msgstr "Выбрать занятие" + +#~ msgid "Message: " +#~ msgstr "Сообщение:" + +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "Пригласил(а) %(jid)s в %(room_jid)s" + +#, fuzzy +#~ msgid "Group Chat Invitation " +#~ msgstr "Приглашение в комнату" + +#~ msgid "Comment: %s" +#~ msgstr "Комментарий: %s" + +#~ msgid "On" +#~ msgstr "Включено" + +#~ msgid "Off" +#~ msgstr "Выключено" + +#, fuzzy +#~ msgid "?password:Hidden" +#~ msgstr "Пароль:" + +#~ msgid "Privacy List %s" +#~ msgstr "Список доступа %s" + +#~ msgid "Privacy List for %s" +#~ msgstr "Список доступа для %s" + +#~ msgid "" +#~ "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" +#~ msgstr "" +#~ "Номер: %(order)s, действие: %(action)s, тип: %(type)s, значение: %(value)s" + +#~ msgid "Order: %(order)s, action: %(action)s" +#~ msgstr "Номер: %(order)s, действие: %(action)s" + +#~ msgid "Edit a rule" +#~ msgstr "Изменить правило" + +#~ msgid "Add a rule" +#~ msgstr "Добавить правило" + +#~ msgid "Privacy Lists for %s" +#~ msgstr "Списки доступа для %s" + +#~ msgid "Invalid List Name" +#~ msgstr "Недопустимое имя списка" + +#~ msgid "You must enter a name to create a privacy list." +#~ msgstr "Необходимо ввести имя для нового списка доступа." + +#~ msgid "Loading" +#~ msgstr "Загрузка" + +#~ msgid "status message title" +#~ msgstr "заголовок сообщения о статусе" + +#~ msgid "status message text" +#~ msgstr "текст сообщения о статусе" + +#, fuzzy +#~ msgid "Start New Conversation" +#~ msgstr "Возобновлённая беседа" + +#~ msgid "Simulate loss of connectivity" +#~ msgstr "Имитировать потерю связи" + +#~ msgid "Simulate regaining connectivity" +#~ msgstr "Имитировать восстановление подключения" + +#~ msgid "Unknown SSL error: %d" +#~ msgstr "Неизвестная ошибка SSL: %d" + +#~ msgid "Gajim - %s" +#~ msgstr "Gajim — %s" + +#, fuzzy +#~ msgid "" +#~ "Requires: libsecret and a provider (such as GNOME Keyring and " +#~ "KSecretService)" +#~ msgstr "" +#~ "Требует libsecret и какой-либо менеджер ключей(GNOME Keyring или " +#~ "KSecretService)." + +#~ msgid "Choose interval between 2 checks of idleness." +#~ msgstr "Выберите интервал между 2 проверками на бездействие." + +#, fuzzy +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "Нет словаря для языка %s" + +#~ msgid "" +#~ "You have to install the dictionary \"%s\" to use spellchecking, or choose " +#~ "another language by setting the speller_language option.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "Чтобы воспользоваться проверкой правописания, установите словарь для " +#~ "языка \"%s\" или выберите другой язык, исправив настройку " +#~ "speller_language.\n" +#~ "\n" +#~ "Слова с ошибками подсвечиваться не будут" + +#~ msgid "_Reconnect" +#~ msgstr "_Переподсоединиться" + +#, fuzzy +#~ msgid "Quit" +#~ msgstr "_Выйти" + +#, fuzzy +#~ msgid "Show Contact List" +#~ msgstr "Показать только активных" + +#, fuzzy +#~ msgid "Add to Contact List" +#~ msgstr "Добавить контакт..." + +#, fuzzy +#~ msgid "Invite Contact" +#~ msgstr "Пригласить участников" + +#, fuzzy +#~ msgid "Configure Group Chat" +#~ msgstr "Покинуть конференции" + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." +#~ msgstr "" +#~ "Если активно, то Gajim отображает иконку на каждой вкладке, которая " +#~ "содержит непрочитанные сообщения. В зависимости от темы, она может быть " +#~ "анимированной." + +#~ msgid "Show a mini avatar in chat window tabs and as the window's icon." +#~ msgstr "" +#~ "Показывать мини-аватар на вкладках окна чата и в качестве значка окна." + +#~ msgid "Show _avatar in chat tabs" +#~ msgstr "Показать _аватар в вкладках чата" + +#~ msgid "If checked, the contact's avatar will be shown in chat tabs" +#~ msgstr "" +#~ "Если этот флажок установлен, аватар контакта будет отображаться во " +#~ "вкладках чата" + +#, fuzzy +#~ msgid "Server must be between 1 and 1023 bytes" +#~ msgstr "Имя сервера должно быть от 1 до 1023 символов" + +#~ msgid "Invalid character in hostname." +#~ msgstr "Неверный символ в имени сервера" + +#~ msgid "Server address required." +#~ msgstr "Требуется адрес сервера." + +#, fuzzy +#~ msgid "Username must be between 1 and 1023 bytes" +#~ msgstr "Имя должно быть от 1 до 1023 символов" + +#~ msgid "Invalid character in username." +#~ msgstr "Неверный символ в имени пользователя." + +#, fuzzy +#~ msgid "Resource must be between 1 and 1023 bytes" +#~ msgstr "Имя ресурса должно быть от 1 до 1023 символов" + +#~ msgid "Invalid character in resource." +#~ msgstr "Неверный символ в ресурсе" + +#, fuzzy +#~ msgid "Notification color for contacts signing in." +#~ msgstr "Уведомлять о контактах, которые _вошли" + +#, fuzzy +#~ msgid "Notification color for contacts signing out." +#~ msgstr "Уведомлять о контактах, которые _вышли: " + +#, fuzzy +#~ msgid "Notification color for new message notification." +#~ msgstr "Показывать _уведомления при получении сообщений" + +#, fuzzy +#~ msgid "Notification color for file transfer request." +#~ msgstr "_Уведомить меня, когда передача файлов закончится" + +#, fuzzy +#~ msgid "Notification color for file transfer errors." +#~ msgstr "_Уведомить меня, когда передача файлов закончится" + +#~ msgid "Notification color for stopped or completed file transfers." +#~ msgstr "Цвет уведомления для остановленных или завершенных передач файлов." + +#~ msgid "Notification color for group chat invitations." +#~ msgstr "Цвет уведомления для приглашений группового чата." + +#, fuzzy +#~ msgid "Notification background color for changed status." +#~ msgstr "Фоновый цвет контакта, который только что вошел." + +#~ msgid "Notification color for other dialogs." +#~ msgstr "Цвет уведомления для других диалоговых окон." + +#~ msgid "Event Type" +#~ msgstr "Тип события" + +#~ msgid "Event desc" +#~ msgstr "Описание события" + +#~ msgid "HTTP File Upload: Enable HTTPS Verification." +#~ msgstr "Загрузка файлов HTTP: включить проверку HTTPS." + +#, fuzzy +#~ msgid "No response from the Server" +#~ msgstr "Вы не подключены к серверу" + +#~ msgid "Resource Conflict" +#~ msgstr "Такое имя уже есть" + +#, fuzzy +#~ msgid "" +#~ "You are already connected to this account with the same resource. Please " +#~ "enter a different one." +#~ msgstr "" +#~ "Вы уже подсоединены к этой учетной записи с таким же ресурсом. Введите " +#~ "другой ресурс" + +#~ msgid "Unable to load image" +#~ msgstr "Невозможно загрузить изображение" + +#~ msgid "Media type not supported: %s" +#~ msgstr "Тип не поддерживается: %s" + +#~ msgid "This field is required" +#~ msgstr "Это поле обязательно" + +#~ msgid "new@jabber.id" +#~ msgstr "new@jabber.id" + +#~ msgid "new%d@jabber.id" +#~ msgstr "new%d@jabber.id" + +#~ msgid "video output" +#~ msgstr "видео выход" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Gajim: мастер создания учетной записи" + +#, fuzzy +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "Необходимо создать учетную запись для присоединения \n" +#~ "к сети Jabber." + +#~ msgid "I already have an account I want to _use" +#~ msgstr "У меня уже есть учетная запись, которую я хочу _использовать" + +#~ msgid "I want to _register for a new account" +#~ msgstr "Я хочу _зарегистрировать новую учетную запись" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "Выберите одну из опций из списка ниже:" + +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "Заполните данные для вашей новой учетной записи" + +#, fuzzy +#~ msgid "_XMPP Address:" +#~ msgstr "Адрес AIM:" + +#~ msgid "Anon_ymous authentication" +#~ msgstr "Анонимная аут_ентификация" + +#~ msgid "_Password:" +#~ msgstr "_Пароль:" + +#~ msgid "Save pass_word" +#~ msgstr "Сохранить _пароль" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "Если отмечено, то Gajim запомнит пароль учетной записи" + +#~ msgid "Please select a server" +#~ msgstr "Выберите сервер" + +#~ msgid "_Server:" +#~ msgstr "_Сервер:" + +#~ msgid "Manage..." +#~ msgstr "Управление..." + +#~ msgid "_Port:" +#~ msgstr "_Порт:" + +#~ msgid "_Advanced" +#~ msgstr "_Дополнительно" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA1 fingerprint of the certificate:\n" +#~ msgstr "" +#~ "Добавить этот сертификат в список надёжных сертификатов.\n" +#~ "Отпечаток SHA1 сертификата:\n" + +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "Соединение с сервером \n" +#~ "\n" +#~ "Подождите..." + +#~ msgid "Connect when I press Finish" +#~ msgstr "Подключиться, когда я нажму «Закончить»" + +#~ msgid "Set my profile when I connect" +#~ msgstr "Настроить мой профиль после соединения" + +#~ msgid "_Finish" +#~ msgstr "_Закончить" + +#~ msgid "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." +#~ msgstr "" +#~ "Вы можете установить расширенные настройки учетной записи нажатием кнопки " +#~ "«Дополнительно», или сделать это позже посредством пункта «Учетные " +#~ "записи» меню «Правка» в главном окне программы." + +#~ msgid "Your new account has been created successfully" +#~ msgstr "Ваша новая учетная запись успешно создана" + +#~ msgid "Invalid username" +#~ msgstr "Неверное имя пользователя" + +#~ msgid "You must provide a username to configure this account." +#~ msgstr "Для настройки учетной записи необходимо ввести имя пользователя." + +#~ msgid "Invalid server" +#~ msgstr "Неверный сервер" + +#~ msgid "Please provide a server on which you want to register." +#~ msgstr "Укажите сервер, на котором вы хотите зарегистрироваться." + +#~ msgid "Invalid entry" +#~ msgstr "Неверная запись" + +#~ msgid "Certificate Already in File" +#~ msgstr "Сертификат уже находится в файле" + +#~ msgid "This certificate is already in file %s, so it's not added again." +#~ msgstr "Этот сертификат уже есть в файле %s, поэтому он не был добавлен." + +#~ msgid "" +#~ "Security Warning\n" +#~ "\n" +#~ "The authenticity of the %(hostname)s SSL certificate could be invalid.\n" +#~ "SSL Error: %(error)s\n" +#~ "Do you still want to connect to this server?" +#~ msgstr "" +#~ "Предупреждение о безопасности\n" +#~ "\n" +#~ "Подлинность SSL сертификата %(hostname)s может быть недостоверной.\n" +#~ "Ошибка SSL: %(error)s\n" +#~ "Соединиться с этим сервером?" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA-256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Добавить этот сертификат в список надёжных сертификатов.\n" +#~ "Отпечаток SHA1 сертификата:\n" +#~ "%(sha1)s\n" +#~ "Отпечаток SHA-256 сертификата:\n" +#~ "%(sha256)s" + +#~ msgid "Account name is in use" +#~ msgstr "Такое имя учетной записи уже используется" + +#~ msgid "You already have an account using this name." +#~ msgstr "У вас уже есть учетная запись с таким именем." + +#~ msgid "Cipher" +#~ msgstr "Шифр" + +#, fuzzy +#~ msgid "Allow plaintext connections." +#~ msgstr "Разрешить нешифрованные соединения" + +#~ msgid "" +#~ "List of authentication mechanisms to try (space separated). Can contain " +#~ "'ANONYMOUS', 'EXTERNAL', 'GSSAPI', 'SCRAM-SHA-1-PLUS', 'SCRAM-SHA-1', " +#~ "'DIGEST-MD5', 'PLAIN', 'X-MESSENGER-OAUTH2' or 'XEP-0078'." +#~ msgstr "" +#~ "Список проверяемых механизмов аутентификации (разделенных пробелом). " +#~ "Может содержать 'ANONYMOUS', 'EXTERNAL', 'GSSAPI', 'SCRAM-SHA-1-PLUS', " +#~ "'SCRAM-SHA-1', 'DIGEST-MD5', 'PLAIN', 'X-MESSENGER-OAUTH2' or 'XEP-0078'." + +#~ msgid "Show a warning dialog before using standard SSL library." +#~ msgstr "Предупреждать, прежде чем использовать стандартную библиотеку SSL." + +#, fuzzy +#~ msgid "If enabled, a whitespace is sent after inactivity (keep alive)." +#~ msgstr "Пробел, посылаемый после бездействия" + +# дословно: пинг XMPP послал после бездействия. Возможно, ошибка в оригинале. +#, fuzzy +#~ msgid "If enabled, an XMPP ping is sent after inactivity (ping alive)." +#~ msgstr "пинг XMPP, посылаемый после бездействия" + +#~ msgid "Connection with account \"%s\" has been lost" +#~ msgstr "Связь с учетной записью «%s» была потеряна" + +#~ msgid "Reconnect manually." +#~ msgstr "Переподключаться вручную." + +#~ msgid "Server %(name)s answered wrongly to register request: %(error)s" +#~ msgstr "Сервер %(name)s неверно ответил на запрос о регистрации: %(error)s" + +#~ msgid "Server %s provided a different registration form" +#~ msgstr "Сервер %s предоставил другую регистрационную форму" + +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "Не могу соединиться с \"%(host)s\" через прокси \"%(proxy)s\"" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "Не могу соединиться с %s" + +#~ msgid "Check your connection or try again later." +#~ msgstr "Проверьте настройки сети или попробуйте еще раз позже." + +#~ msgid "Server replied: %s" +#~ msgstr "Сервер ответил: %s" + +#~ msgid "Connection to proxy failed" +#~ msgstr "Соединение с прокси разорвалось" + +#~ msgid "Could not connect to account %s" +#~ msgstr "Не могу соединиться с %s" + +#~ msgid "Connection with account %s has been lost. Retry connecting." +#~ msgstr "Связь с учетной записью %s была потеряна. Попытка подключения." + +#~ msgid "Please check your login and password for correctness." +#~ msgstr "Проверьте правильность логина и пароля." + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "Соединение HTTP" + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "BOSH" +#~ msgstr "BOSH" + +#~ msgid "Use HTTP prox_y" +#~ msgstr "Использовать про_кси HTTP" + +#~ msgid "https://example.org/http-bind/" +#~ msgstr "https://example.org/http-bind/" + +#, fuzzy +#~ msgid "_BOSH URL" +#~ msgstr "URL _BOSH:" + +#, fuzzy +#~ msgid "BOSH" +#~ msgstr "BOSH" + +# insecure - небезопастный или незащищенный? +#~ msgid "Warn on insecure connection" +#~ msgstr "Предупреждать перед использованием небезапасного соединения" + +#, fuzzy +#~ msgid "Contact list, list of contacts" +#~ msgstr "_Записывать в лог изменения статусов контактов" + +#~ msgid "Disconnect for Invisibility" +#~ msgstr "Отключиться для невидимости" + +#~ msgid "You are participating in one or more group chats" +#~ msgstr "Вы находитесь в одной или более комнатах" + +#~ msgid "" +#~ "Changing your status to invisible will result in you leaving those group " +#~ "chats.\n" +#~ "Are you sure you want to go invisible?" +#~ msgstr "" +#~ "Переход в состояние невидимости приведет к выходу из этих комнат.\n" +#~ "Вы точно хотите стать невидимым?" + +#~ msgid "_Disconnect" +#~ msgstr "_Выйти" + +#~ msgid "You cannot join a group chat while you are invisible" +#~ msgstr "Вы не можете зайти в комнату, так как вы в режиме невидимости." + +#~ msgid "Invisible" +#~ msgstr "Невидимка" + +#, fuzzy +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "Вы не можете зайти в комнату, так как вы в режиме невидимости." + +#~ msgid "_Invisible" +#~ msgstr "_Невидимка" + +#~ msgid "Yesterday" +#~ msgid_plural "%(nb_days)i days ago" +#~ msgstr[0] "Вчера" +#~ msgstr[1] "%(nb_days)i дней назад" +#~ msgstr[2] "" + +#, fuzzy +#~ msgid "_Cancel Upload" +#~ msgstr "О_тменить" + +#~ msgid "Got unexpected response from server (see log)." +#~ msgstr "Получен неожиданный ответ от сервера (см. журнал)." + +#~ msgid " [blocked]" +#~ msgstr "[заблокировано]" + +#~ msgid " [minimized]" +#~ msgstr "[свернуто]" + +#, fuzzy +#~ msgid "" +#~ "If you close this tab while having chat history disabled, this message " +#~ "will be lost." +#~ msgstr "" +#~ "Если вы закроете эту вкладку и у вас отключена функция ведения истории " +#~ "сообщений, то это сообщение будет утеряно." + +#, fuzzy +#~ msgid "Unregister Failed" +#~ msgstr "Ошибка отказа от регистрации" + +#, fuzzy +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "" +#~ "Отказ от регистрации на сервере %(server)s завершился ошибкой: %(error)s" + +#, fuzzy +#~ msgid "New Password" +#~ msgstr "Сохранить пароль" + +#~ msgid "What do you want to do?" +#~ msgstr "Что вы хотите сделать?" + +#~ msgid "Remove account from Gajim and from _server" +#~ msgstr "Удалить учетную запись из Gajim и с _сервера" + +#, fuzzy +#~ msgid "You must enter a password" +#~ msgstr "Необходимо ввести пароль." + +#, fuzzy +#~ msgid "You still have open chats in your account %s" +#~ msgstr "У вас есть окна чата под учётной записью %s" + +#, fuzzy +#~ msgid "To unregister from a server, the account must be enabled." +#~ msgstr "" +#~ "Для удаления регистрации с сервера, учетная запись должна быть активна." + +#, fuzzy +#~ msgid "Password required" +#~ msgstr "Требуется пароль" + +#, fuzzy +#~ msgid "Still connected to the server" +#~ msgstr "Вы не подключены к серверу" + +#, fuzzy +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "Если вы удалите его, произойдет отключение." + +#~ msgid "Connection to server %s failed" +#~ msgstr "Не удалось соединиться с сервером %s" + +#~ msgid "What would you like to do?" +#~ msgstr "Что вы хотите сделать?" + +#~ msgid "Remove only from Gajim" +#~ msgstr "Удалить только из Gajim" + +#~ msgid "Don't remove anything. I'll try again later" +#~ msgstr "Ничего не удалять. Я попробую позже." + +#~ msgid "Contents" +#~ msgstr "Справка" + +#, fuzzy +#~ msgid "FAQ" +#~ msgstr "_ЧаВО" + +#~ msgid "Save as Preset Status Message" +#~ msgstr "Сохранить установленное сообщение о статусе" + +#~ msgid "Enter a new nickname for contact %s" +#~ msgstr "Введите новый ник для контакта %s" + +#, fuzzy +#~ msgid "Join a group chat" +#~ msgstr "в _комнатах" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "_Принять" + +#~ msgid "New entry received" +#~ msgstr "Получена новая запись" + +#~ msgid "You have received new entry:" +#~ msgstr "Получена новая запись:" + +#~ msgid "Feed name:" +#~ msgstr "Название ленты:" + +#~ msgid "Last modified:" +#~ msgstr "Последнее изменение:" + +#, fuzzy +#~ msgid "Next entry" +#~ msgstr "Неверная запись" + +#, fuzzy +#~ msgid "Send file?" +#~ msgstr "Отправить _файл" + +#, fuzzy +#~ msgid "Mail _client" +#~ msgstr "_Почтовый клиент:" + +#, fuzzy +#~ msgid "_Browser" +#~ msgstr "_Браузер:" + +#, fuzzy +#~ msgid "_File manager" +#~ msgstr "_Менеджер файлов:" + +#, fuzzy +#~ msgid "Custom applications" +#~ msgstr "Использовать приложения по умолчанию" + +#~ msgid "Applications" +#~ msgstr "Приложения" + +#, fuzzy +#~ msgid "" +#~ "Uses ReStructured text markup to send HTML, plus ASCII formatting if " +#~ "selected. Needs docutils installed (for syntax, see http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Использовать разметку ReStructuredText для отправки HTML, плюс ascii " +#~ "форматирование, если оно выбрано. Синтаксис описан на http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.htm (Если вы хотите " +#~ "воспользоваться этой опцией, установите docutils)" + +#, fuzzy +#~ msgid "Store XHTML messages in chat history instead of plain text messages." +#~ msgstr "Сохранять XHTML сообщения вместо простых текстовых сообщений" + +#, fuzzy +#~ msgid "_Ignore formatting of incoming messages" +#~ msgstr "_Игнорировать форматирование во входящих сообщениях" + +#, fuzzy +#~ msgid "" +#~ "Some messages may include rich content (xhtml formatting, colors etc). If " +#~ "checked, Gajim will just display the plain message text." +#~ msgstr "" +#~ "Некоторые сообщения могут содержать форматирование (цвет, шрифт и т.д.). " +#~ "Если отмечено, Gajim будет отображать только их текст, без форматирования." + +#, fuzzy +#~ msgid "RST XHTML Generator" +#~ msgstr "Генератор RST" + +#, fuzzy +#~ msgid "Requires: python-docutils" +#~ msgstr "Требует python-docutils." + +#~ msgid "New Single Message" +#~ msgstr "Новое одиночное сообщение" + +#, fuzzy +#~ msgid "" +#~ "Can be empty, 'chat' or 'normal'. If not empty, all incoming messages are " +#~ "treated as if they were of this type." +#~ msgstr "" +#~ "Может быть пусто, 'chat' или 'normal'. Если не пусто — обрабатывать все " +#~ "входящие сообщения так, как будто бы они были этого типа." + +#~ msgid "Error %(code)s: %(msg)s" +#~ msgstr "Ошибка %(code)s: %(msg)s" + +#~ msgid "twelve" +#~ msgstr "двенадцать" + +#~ msgid "one" +#~ msgstr "один" + +#~ msgid "two" +#~ msgstr "два" + +#~ msgid "three" +#~ msgstr "три" + +#~ msgid "four" +#~ msgstr "четыре" + +#~ msgid "five" +#~ msgstr "пять" + +#~ msgid "six" +#~ msgstr "шесть" + +#~ msgid "seven" +#~ msgstr "семь" + +#~ msgid "eight" +#~ msgstr "восемь" + +#~ msgid "nine" +#~ msgstr "девять" + +#~ msgid "ten" +#~ msgstr "десять" + +#~ msgid "eleven" +#~ msgstr "одиннадцать" + +#~ msgid "%(0)s o'clock" +#~ msgstr "%(0)s" + +#~ msgid "five past %(0)s" +#~ msgstr "пять минут %(0)s" + +#~ msgid "ten past %(0)s" +#~ msgstr "десять минут %(0)s" + +#~ msgid "quarter past %(0)s" +#~ msgstr "четверть %(0)s" + +#~ msgid "twenty past %(0)s" +#~ msgstr "двадцать минут %(0)s" + +#~ msgid "twenty five past %(0)s" +#~ msgstr "двадцать пять минут %(0)s" + +#~ msgid "half past %(0)s" +#~ msgstr "половина %(0)s" + +#~ msgid "twenty five to %(1)s" +#~ msgstr "без двадцати пяти %(1)s" + +#~ msgid "twenty to %(1)s" +#~ msgstr "без двадцати %(1)s" + +#~ msgid "quarter to %(1)s" +#~ msgstr "без четверти %(1)s" + +#~ msgid "ten to %(1)s" +#~ msgstr "без десяти %(1)s" + +#~ msgid "five to %(1)s" +#~ msgstr "без пяти %(1)s" + +#~ msgid "%(1)s o'clock" +#~ msgstr "%(1)s" + +#~ msgid "Night" +#~ msgstr "Ночь" + +#~ msgid "Early morning" +#~ msgstr "Раннее утро" + +#~ msgid "Morning" +#~ msgstr "Утро" + +#~ msgid "Almost noon" +#~ msgstr "День" + +#~ msgid "Noon" +#~ msgstr "Полдень" + +#~ msgid "Afternoon" +#~ msgstr "День" + +#~ msgid "Evening" +#~ msgstr "Вечер" + +#~ msgid "Late evening" +#~ msgstr "Поздний вечер" + +#~ msgid "Start of week" +#~ msgstr "Начало недели" + +#~ msgid "Middle of week" +#~ msgstr "Середина недели" + +#~ msgid "End of week" +#~ msgstr "Конец недели" + +#~ msgid "Weekend!" +#~ msgstr "Выходные!" + +#, fuzzy +#~ msgid "" +#~ "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or " +#~ "0 to disable Fuzzy Clock. 1 is the most precise clock, 4 the least " +#~ "precise one. This is used only if 'print_time' is 'sometimes'." +#~ msgstr "" +#~ "Печатать время в беседе как в неточных часах. Степень неточности может " +#~ "быть от 1 до 4, 0 отключает эту функцию. 1 самые точные часы, 4 самые " +#~ "неточные. Используется только если режим печати времени установлен на " +#~ "«sometimes» (иногда)." + +#~ msgid "message" +#~ msgstr "сообщение" + +#, fuzzy +#~ msgid "error: %s" +#~ msgstr "Ошибка: %s" + +#, fuzzy +#~ msgid "Form: %s" +#~ msgstr "От %s" + +#~ msgid "XML Input" +#~ msgstr "XML Ввод" + +#, fuzzy +#~ msgid "Ttitle" +#~ msgstr "_Заголовок:" + +#, fuzzy +#~ msgid "%(type)s encryption is active %(authenticated)s" +#~ msgstr "%(type)s шифрование включено %(authenticated)s." + +#, fuzzy +#~ msgid "Screen" +#~ msgstr "Экран" + +#, fuzzy +#~ msgid "Fake video output" +#~ msgstr "Устройство вывода изображения" + +#~ msgid "X Window System (X11/XShm/Xv): %s" +#~ msgstr "Система X Window (X11/XShm/Xv): %s" + +#~ msgid "X Window System (without Xv)" +#~ msgstr "Система X Window (без Xv)" + +#, fuzzy +#~ msgid "V_ideo output device" +#~ msgstr "Устройство вывода изображения" + +#~ msgid "Conversation with " +#~ msgstr "Беседа с " + +#~ msgid "Continued conversation" +#~ msgstr "Возобновлённая беседа" + +#~ msgid "%s has invited you to join a discussion" +#~ msgstr "%s приглашает вас присоединиться к обсуждению." + +#~ msgid "_Send Private Message" +#~ msgstr "_Отправить личное сообщение" + +#, fuzzy +#~ msgid "Participant Actions" +#~ msgstr "Участники" + +#~ msgid "_Voice" +#~ msgstr "_Право говорить" + +#~ msgid "Mo_derator" +#~ msgstr "_Модератор" + +#~ msgid "_Member" +#~ msgstr "_Участник" + +#~ msgid "_Admin" +#~ msgstr "_Админ" + +#~ msgid "_Owner" +#~ msgstr "_Владелец" + +#, fuzzy +#~ msgid "_Add to Contact List" +#~ msgstr "Добавить контакт..." + +#, fuzzy +#~ msgid "_Execute command" +#~ msgstr "В_ыполнить команду..." + +#~ msgid "Change _Nickname..." +#~ msgstr "Изменить _ник..." + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "В _новую комнату" + +#~ msgid "Change _Subject..." +#~ msgstr "Изменить _тему..." + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "Войти в _комнату..." + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "В _новую комнату" + +#~ msgid "_Minimize on close" +#~ msgstr "_Сворачивать при закрытии" + +#~ msgid "_Request Voice" +#~ msgstr "_Запросить право говорить" + +#~ msgid "_Bookmark" +#~ msgstr "Добавить эту комнату в _закладки" + +#, fuzzy +#~ msgid "The authenticity of the %s certificate could be invalid" +#~ msgstr "Достоверность сертификата %s может быть недействительной." + +#~ msgid "" +#~ "\n" +#~ "Unknown SSL error: %d" +#~ msgstr "" +#~ "\n" +#~ "Неизвестная ошибка SSL: %d" + +#~ msgid "" +#~ "\n" +#~ "SSL Error: %s" +#~ msgstr "" +#~ "\n" +#~ "Ошибка SSL: %s" + +#~ msgid "Error verifying SSL certificate" +#~ msgstr "Ошибка при проверке SSL сертификата" + +#, fuzzy +#~ msgid "View certificate…" +#~ msgstr "Просмотреть журнал" + +#, fuzzy +#~ msgid "Continue" +#~ msgstr "_Продолжить" + +#~ msgid "" +#~ "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM " +#~ "IS RUNNING)" +#~ msgstr "" +#~ "Вы хотите очистить базу данных? (КРАЙНЕ НЕ РЕКОМЕНДУЕТСЯ, ЕСЛИ GAJIM " +#~ "ЗАПУЩЕН)" + +#, fuzzy +#~ msgid "Authorization" +#~ msgstr "Была отправлена авторизация" + +#, fuzzy +#~ msgid "" +#~ "All chat and group chat windows will be closed. Do you want to continue?" +#~ msgstr "Все окна чатов и комнат будут закрыты. Продолжить?" + +#, fuzzy +#~ msgid "Account '%s' is still connected to the server" +#~ msgstr "Учетная запись «%s» подключена к серверу" + +#~ msgid "Error While Saving" +#~ msgstr "Ошибка при сохранении" + +#~ msgid "" +#~ "Image cannot be saved in %(type)s format.\n" +#~ "Save as %(new_filename)s?" +#~ msgstr "" +#~ "Изображение нельзя сохранить в формате %(type)s.\n" +#~ "Сохранить как %(new_filename)s?" + +#~ msgid "Save _As" +#~ msgstr "Сохранить _как" + +#~ msgid "Yes, I really want to connect insecurely" +#~ msgstr "Да, я действительно хочу соединиться небезопасно" + +#, fuzzy +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "Неверное имя комнаты" + +#, fuzzy +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "В Jabber ID комнаты или сервера содержатся недопустимые символы." + +#~ msgid "You may specify a reason below:" +#~ msgstr "Вы можете указать причину ниже:" + +#~ msgid "Banning %s" +#~ msgstr "Забанить %s" + +#, fuzzy +#~ msgid "" +#~ "Always ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Всегда спрашивать перед закрытием окна/вкладки комнаты из этого списка. " +#~ "Комнаты в списке разделяются пробелом." + +#, fuzzy +#~ msgid "" +#~ "Never ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Никогда не спрашивать перед закрытием окна/вкладки комнаты из этого " +#~ "списка. Комнаты в списке разделяются пробелом." + +#, fuzzy +#~ msgid "Leave Group Chats" +#~ msgstr "Покинуть конференции" + +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "%(nickname)s из комнаты %(room_jid)s" + +#, fuzzy +#~ msgid "You have not joined a group chat." +#~ msgstr "Вы не вошли в комнату." + +#, fuzzy +#~ msgid "Choose the group chats you want to leave" +#~ msgstr "Выберите конференции, которые вы хотите покинуть" + +#, fuzzy +#~ msgid "You left the following group chats:" +#~ msgstr "Вы покинули следующие комнаты:" + +#~ msgid "Don't show avatar for the transport itself." +#~ msgstr "Не показывать аватар для транспорта." + +#, fuzzy +#~ msgid "" +#~ "Show a confirmation dialog for a custom status? Empty string means never " +#~ "show the dialog." +#~ msgstr "" +#~ "Следует ли показывать диалог подтверждения блокировки контакта? Пустая " +#~ "строка означает, что сообщение не будет показываться вообще." + +#, fuzzy +#~ msgid "" +#~ "If enabled, notification windows from notification-daemon will be " +#~ "attached to the notification area icon." +#~ msgstr "" +#~ "Если активно, окно уведомления от notification-daemon будет прикреплено к " +#~ "области уведомлений." + +#~ msgid "" +#~ "Show a warning dialog before sending PLAIN password over a plain " +#~ "connection." +#~ msgstr "" +#~ "Показывать предупреждение перед отправкой пароля через незащищенное " +#~ "соединение." + +#, fuzzy +#~ msgid "Jabberd2 workaround." +#~ msgstr "Костыль для jabberd2" + +#, fuzzy +#~ msgid "Configure Services…" +#~ msgstr "Настроить Сервисы..." + +#, fuzzy +#~ msgid "Group Chat Bookmarks" +#~ msgstr "_Комната" + +#, fuzzy +#~ msgid "Add Bookmark" +#~ msgstr "Добавить эту комнату в _закладки" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "Добавить эту комнату в _закладки" + +#, fuzzy +#~ msgid "_Server" +#~ msgstr "_Сервер:" + +#, fuzzy +#~ msgid "Roo_m" +#~ msgstr "_Комната:" + +#, fuzzy +#~ msgid "_Password" +#~ msgstr "_Пароль:" + +#, fuzzy +#~ msgid "Join chat when connected" +#~ msgstr "Контакт отключился" + +#~ msgid "New Group Chat" +#~ msgstr "Новая комната" + +#~ msgid "This bookmark has invalid data" +#~ msgstr "Эта закладка содержит неверные данные" + +#, fuzzy +#~ msgid "" +#~ "Please be sure to fill out server and group chat fields or remove this " +#~ "bookmark." +#~ msgstr "" +#~ "Удостоверьтесь, что заполнены поля с именем сервера и комнаты, либо " +#~ "удалите эту закладку." + +#~ msgid "Character not allowed" +#~ msgstr "Символ недопустим" + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "Неверное имя комнаты" + +#~ msgid "Unable to join group chat" +#~ msgstr "Не получается войти в комнату" + +#~ msgid "You are banned from group chat %s." +#~ msgstr "Вам запрещено входить в комнату %s." + +#, fuzzy +#~ msgid "Remote server %s does not exist." +#~ msgstr "Комнаты %s не существует." + +#~ msgid "Group chat %s does not exist." +#~ msgstr "Комнаты %s не существует." + +#, fuzzy +#~ msgid "Group chat creation is not permitted." +#~ msgstr "Создание комнат запрещено." + +#, fuzzy +#~ msgid "You must use your registered nickname in %s." +#~ msgstr "" +#~ "Необходимо использовать ваш зарегистрированный ник в комнате %s." + +#, fuzzy +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "Вас нет в списке членов комнаты %s." + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "Это не комната" + +#~ msgid "This is not a group chat" +#~ msgstr "Это не комната" + +#, fuzzy +#~ msgid "Please choose a group chat" +#~ msgstr "Создайте новую тему с желаемым названием." + +#~ msgid "Invalid Nickname" +#~ msgstr "Неверное имя пользователя" + +#~ msgid "Wrong server" +#~ msgstr "Неверный сервер" + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "URL «%s» сервера не является корректным" + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit." +#~ msgstr "" +#~ "Количество строк истории сообщений, запрашиваемых при входе в комнату. -1 " +#~ "- не ограничено" + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit." +#~ msgstr "" +#~ "За какой период (минут назад) запрашивать историю сообщений при входе в " +#~ "комнату. -1 - не ограничено" + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit, -2 means global value." +#~ msgstr "" +#~ "Количество строк истории сообщений, запрашиваемых при входе в комнату. -1 " +#~ "- не ограничено, -2 - глобальное значение" + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit, -2 means global value." +#~ msgstr "" +#~ "За какой период (минут назад) запрашивать историю сообщений при входе в " +#~ "комнату. -1 - не ограничено, -2 - глобальное значение" + +#, fuzzy +#~ msgid "A Password is required to join the group chat %s. Please type it." +#~ msgstr "Чтобы войти в комнату %s, нужен пароль." + +#~ msgid "Not in Roster" +#~ msgstr "Не в ростере" + +#~ msgid "I would like to add you to my roster" +#~ msgstr "Вы не против, если я добавлю Вас к себе в ростер?" + +#~ msgid "Add to Roster" +#~ msgstr "Добавить в ростер" + +#~ msgid "Audio Session" +#~ msgstr "Аудио Сессия" + +#~ msgid "Manage Room" +#~ msgstr "Управление комнатой" + +#~ msgid "Configure Room" +#~ msgstr "Настроить комнату" + +#~ msgid "Destroy Room" +#~ msgstr "Уничтожить комнату" + +#~ msgid "Change Nick" +#~ msgstr "Изменить ник" + +#~ msgid "Disconnect" +#~ msgstr "Выйти" + +#~ msgid "Copy JID" +#~ msgstr "Копировать JID" + +#, fuzzy +#~ msgid "Add to Roster…" +#~ msgstr "Добавить в ростер" + +#, fuzzy +#~ msgid "Copy JID/Email" +#~ msgstr "_Скопировать JID/почтовый адрес" + +#, fuzzy +#~ msgid "JID: %s" +#~ msgstr "Jabber ID: %s" + +#~ msgid "Changing Subject" +#~ msgstr "Смена темы" + +#~ msgid "Please specify the new subject:" +#~ msgstr "Введите новую тему:" + +#~ msgid "Room logging is now enabled" +#~ msgstr "Запись логов конференции включена" + +#~ msgid "Room logging is now disabled" +#~ msgstr "Запись логов конференции выключена" + +#, fuzzy +#~ msgid "You (%s) joined the room" +#~ msgstr "%s зашёл в комнату" + +#~ msgid "Room logging is enabled" +#~ msgstr "Запись логов конференции включена" + +#, fuzzy +#~ msgid "Unable to join groupchat" +#~ msgstr "Не получается войти в комнату" + +#~ msgid "Groupchat Invitation" +#~ msgstr "Приглашение в комнату" + +#~ msgid "%(jid)s has been invited in this room" +#~ msgstr "%(jid)s был приглашен в комнату" + +#, fuzzy +#~ msgid "JID is not a Groupchat" +#~ msgstr "Это не комната" + +#~ msgid "Invalid JID" +#~ msgstr "Неверный JID" + +#~ msgid "A connection is not available" +#~ msgstr "Подключение недоступно" + +#, fuzzy +#~ msgid "JID already in list" +#~ msgstr "Jabber ID уже в списке" + +#, fuzzy +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "Подключение недоступно" + +#~ msgid "Removes contact from roster" +#~ msgstr "Удаляет контакт из ростера" + +#~ msgid "Not in roster" +#~ msgstr "Не в ростере" + +#, fuzzy +#~ msgid "Contact signed in notification color." +#~ msgstr "_Показывать событие в области уведомлений" + +#, fuzzy +#~ msgid "Contact signout notification color" +#~ msgstr "Цвет фона контакта/переписки" + +#~ msgid "File transfer request notification color." +#~ msgstr "Цвет уведомлений о передаче файлов." + +#, fuzzy +#~ msgid "File transfer error notification color." +#~ msgstr "Передача отменена" + +#, fuzzy +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "Показать уведомление по окончании загрузки" + +#~ msgid "Groupchat invitation notification color" +#~ msgstr "Цвет, использующийся для шрифта уведомления о наборе" + +#, fuzzy +#~ msgid "Other dialogs color." +#~ msgstr "Цвет ника собеседника." + +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "Добавлять * и [n] в окно ростера?" + +#~ msgid "Hides the banner in two persons chat window" +#~ msgstr "Скрывает баннер в окне чата" + +#, fuzzy +#~ msgid "" +#~ "Show the confirm metacontacts creation dialog or not? Empty string means " +#~ "never show the dialog." +#~ msgstr "" +#~ "Следует ли показывать диалог подтверждения о создании метаконтакта? " +#~ "Пустая строка означает, что сообщение не будет показываться вообще." + +#~ msgid "If true, You will also see your webcam" +#~ msgstr "Если активно, вы также будете видеть изображение со своей вебкамеры" + +#~ msgid "Space separated list of ssl errors to ignore." +#~ msgstr "Разделенный пробелами список игнорирования ошибок ssl" + +#~ msgid "Answer to receipt requests" +#~ msgstr "Отвечать на запросы уведомления" + +#, fuzzy +#~ msgid "Language for which misspelled words will be checked" +#~ msgstr "Язык, который используется при проверке правописания" + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "Кушаю, так что оставьте сообщение секретарю." + +#, fuzzy +#~ msgid "from room %s" +#~ msgstr " в комнате %s" + +#~ msgid "Leave Groupchats" +#~ msgstr "Покинуть конференции" + +#, fuzzy +#~ msgid "Auto Join" +#~ msgstr "_Автоматическое присоединение" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "Комната:" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#~ msgid "Occupant Actions" +#~ msgstr "Действия над посетителем" + +#~ msgid "_Add to Roster" +#~ msgstr "_Добавить в ростер" + +#~ msgid "_Manage Room" +#~ msgstr "_Управление комнатой" + +#~ msgid "Configure _Room..." +#~ msgstr "Настроить _комнату..." + +#~ msgid "_Destroy Room" +#~ msgstr "_Уничтожить комнату" + +#~ msgid "Jabber ID" +#~ msgstr "Jabber ID" + +#, fuzzy +#~ msgid "account" +#~ msgstr "Учетные записи" + +#, fuzzy +#~ msgid "Roster" +#~ msgstr "Показать _ростер" + +#~ msgid "Show only in roster" +#~ msgstr "Показывать только в ростере" + +#~ msgid "in _roster" +#~ msgstr "в _ростере" + +#, fuzzy +#~ msgid "Roster Appearance" +#~ msgstr "Настройки ростера" + +#, fuzzy +#~ msgid "Show chatstate in roster" +#~ msgstr "Показывать а_ватары для контактов в ростере" + +#~ msgid "_Add to Roster..." +#~ msgstr "_Добавить в ростер..." + +#~ msgid "_Jabber ID:" +#~ msgstr "_Jabber ID:" + +#, fuzzy +#~ msgid "_Jabber ID" +#~ msgstr "_Jabber ID:" + +#~ msgid "JabberID" +#~ msgstr "JabberID" + +#~ msgid "Show Roster" +#~ msgstr "Показать ростер" + +#~ msgid "MUC server" +#~ msgstr "сервер MUC" + +#~ msgid "Roster Shortcuts" +#~ msgstr "Сочетания клавиш в ростере" + +#~ msgid "Room Configuration" +#~ msgstr "Настройки комнаты" + +#~ msgid "Join _Group Chat" +#~ msgstr "Войти в _комнату" + +#~ msgid "Toggle audio session" +#~ msgstr "Переключить аудио сеанс" + +#~ msgid "Audio sessions are not available" +#~ msgstr "Аудио сеансы не доступны" + +#~ msgid "Conference" +#~ msgstr "Комнаты" + +#, fuzzy +#~ msgid "_Manage Bookmarks…" +#~ msgstr "Управление закладками" + +#~ msgid "Hide _Roster" +#~ msgstr "Скрыть _ростер" + +#~ msgid "Show _Roster" +#~ msgstr "Показать _ростер" + +#, fuzzy +#~ msgid "Invalid Room" +#~ msgstr "Неверная комната" + +#~ msgid "Invalid room" +#~ msgstr "Неверная комната" + +#~ msgid "A GTK+ Jabber client" +#~ msgstr "Jabber-клиент на GTK+" + +#~ msgid "Changing Nickname" +#~ msgstr "Смена ника" + +#~ msgid "Please specify the new nickname you want to use:" +#~ msgstr "Введите новый ник, который вы хотите использовать:" + +#~ msgid "Bookmark already set" +#~ msgstr "Закладка уже установлена" + +#, fuzzy +#~ msgid "Group Chat '%s' is already in your bookmarks." +#~ msgstr "Комната «%s» уже есть в ваших закладках." + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "Закладка успешно добавлена" + +#, fuzzy +#~ msgid "" +#~ "You can manage your bookmarks by clicking the Bookmarks menu item in your " +#~ "contact list." +#~ msgstr "Вы можете управлять закладками через меню «Действия» в ростере." + +#, fuzzy +#~ msgid "The nickname contains invalid characters." +#~ msgstr "Имя файла содержит недопустимые символы." + +#~ msgid "Bookmark Room" +#~ msgstr "Добавить комнату в закладки" + +#~ msgid "_Join New Group Chat" +#~ msgstr "_Войти в новую комнату" + +#~ msgid "Name:" +#~ msgstr "Имя:" + +#~ msgid "Description:" +#~ msgstr "Описание: " + +#, fuzzy +#~ msgid "Address:" +#~ msgstr "_Адрес:" + +#, fuzzy +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "Вы не можете зайти в комнату без подключения." + +#, fuzzy +#~ msgid "Occupants" +#~ msgstr "Действия над посетителем" + +#~ msgid "_Modify Account..." +#~ msgstr "_Изменить учетную запись..." + +#~ msgid "Boolean" +#~ msgstr "Булево" + +#~ msgid "Integer" +#~ msgstr "Целое" + +#~ msgid "Text" +#~ msgstr "Текст" + +#~ msgid "Value" +#~ msgstr "Значение" + +#~ msgid "(None)" +#~ msgstr "(Нет)" + +#~ msgid "Hidden" +#~ msgstr "Скрытый" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "Управление профилями прокси" + +#, fuzzy +#~ msgid "Properties" +#~ msgstr "Свойства" + +#, fuzzy +#~ msgid "Proxy _Port" +#~ msgstr "_Порт прокси:" + +#, fuzzy +#~ msgid "New Groupchat" +#~ msgstr "Новая комната" + +#, fuzzy +#~ msgid "New Contact" +#~ msgstr "Добавить новый контакт" + +#~ msgid "%s GiB" +#~ msgstr "%s GiB" + +#~ msgid "%s GB" +#~ msgstr "%s GB" + +#~ msgid "%s MiB" +#~ msgstr "%s MiB" + +#~ msgid "%s MB" +#~ msgstr "%s MB" + +#~ msgid "%s KiB" +#~ msgstr "%s KiB" + +#~ msgid "%s KB" +#~ msgstr "%s KB" + +#~ msgid "%s B" +#~ msgstr "%s B" + +#, fuzzy +#~ msgid "%s MiB/s" +#~ msgstr "%s MiB" + +#~ msgid "File transfer" +#~ msgstr "Передача файлов" + +#~ msgid "Open _Containing Folder" +#~ msgstr "_Открыть папку с принятым файлом" + +#, fuzzy +#~ msgid "Default:" +#~ msgstr "По умолчанию" + +#~ msgid "Really quit Gajim?" +#~ msgstr "Закрыть Gajim?" + +#~ msgid "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" +#~ msgstr "" +#~ "У вас больше не будет возможности приема и отправки сообщений через эти " +#~ "транспорты:%s." + +#~ msgid "Contact \"%s\" will be removed from your roster" +#~ msgstr "Контакт «%s» будет удален из вашего ростера" + +#, fuzzy +#~ msgid "" +#~ "By removing this contact you also by default remove authorization " +#~ "resulting in them always seeing you as offline." +#~ msgstr "" +#~ "Если вы удалите контакт, вы так же удалите и авторизацию. Вы будете " +#~ "видеть его или её всегда в оффлайне." + +#~ msgid "Contacts will be removed from your roster" +#~ msgstr "Контакты будут удалены из вашего ростера" + +#~ msgid "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorization resulting in them always seeing you as " +#~ "offline." +#~ msgstr "" +#~ "Вы удаляете эти контакты:%s.\n" +#~ "Одновременно вы удалите и авторизацию, то есть они всегда будут видеть " +#~ "вас в оффлайне." + +#, fuzzy +#~ msgid "Con_tinue" +#~ msgstr "_Продолжить" + +#~ msgid "_Pause" +#~ msgstr "_Приостановить" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "Удалить передачу из списка." + +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "" +#~ "Это действие удаляет единичную передачу из списка. Если передача еще " +#~ "активна, она сначала останавливается, а затем удаляется" + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "Отменяет выбранную передачу" + +#, fuzzy +#~ msgid "Hide the window" +#~ msgstr "Скрывает окно" + +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "Показать уведомление по окончании загрузки" + +#~ msgid "From:" +#~ msgstr "От:" + +#~ msgid "Subject:" +#~ msgstr "Тема:" + +#~ msgid "%s wants to send you a file:" +#~ msgstr "%s хочет отправить вам файл:" + +#~ msgid "Name: " +#~ msgstr "Имя: " + +#~ msgid "Pause" +#~ msgstr "Пауза" + +#, fuzzy +#~ msgid "Execute Command" +#~ msgstr "В_ыполнить команду..." + +#~ msgid "Type: " +#~ msgstr "Тип: " + +#~ msgid "Transferred: " +#~ msgstr "Передано: " + +#~ msgid "Completed" +#~ msgstr "Завершено" + +#~ msgid "Stalled" +#~ msgstr "Ожидание" + +#~ msgid "Transferring" +#~ msgstr "Передается" + +#~ msgid "Not started" +#~ msgstr "Не начато" + +#~ msgid "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" +#~ msgstr "Все окна чатов и комнат будут закрыты. Продолжить?" + +#~ msgid "" +#~ "Your desired nickname in group chat\n" +#~ "%s\n" +#~ "is in use or registered by another occupant.\n" +#~ "Please specify another nickname below:" +#~ msgstr "" +#~ "Тот ник, что вы ввели в комнате\n" +#~ "%s\n" +#~ "уже используется или зарегистрирован другим пользователем.\n" +#~ "Укажите другой ник:" + +#~ msgid "_Configure" +#~ msgstr "_Настроить" + +#~ msgid "Change the avatar" +#~ msgstr "Изменить аватар" + +#~ msgid "" +#~ "Account in which the avatar will be set; if not specified, the avatar " +#~ "will be set for all accounts" +#~ msgstr "" +#~ "Учётная запись, для которой будет назначен аватар. Если не указано, " +#~ "аватар будет назначен всем учетным записям." + +#~ msgid "add" +#~ msgstr "добавить" + +#~ msgid "modify" +#~ msgstr "изменить" + +#~ msgid "remove" +#~ msgstr "удалить" + +#, fuzzy +#~ msgid "" +#~ "If true, restored messages will use a smaller font than the default one." +#~ msgstr "" +#~ "Если активно, то восстановленные сообщения будут иметь меньший шрифт." + +#, fuzzy +#~ msgid "Restored Message Color" +#~ msgstr "_Вернуться к цветам по умолчанию" + +#, fuzzy +#~ msgid "" +#~ "You are going to remove this room permanently.\n" +#~ "You may specify a reason below:" +#~ msgstr "" +#~ "Вы собираетесь полностью уничтожить эту комнату.\n" +#~ "Можете указать причину:" + +#~ msgid "Send Cus_tom Status" +#~ msgstr "Установи_ть статус" + +#~ msgid "" +#~ "You are about to send a custom status. Are you sure you want to continue?" +#~ msgstr "Вы точно хотите послать другой статус?" + +#, fuzzy +#~ msgid "" +#~ "This contact will temporarily see you as %(status)s, but only until you " +#~ "change your status. Then they will see your global status." +#~ msgstr "" +#~ "Этот контакт будет временно видеть ваш статус как %(status)s, но лишь " +#~ "пока вы не измените свой глобальный статус. Тогда этому контакту станет " +#~ "виден глобальный статус." + +#, fuzzy +#~ msgid "" +#~ msgstr "Тема" + +#~ msgid "#" +#~ msgstr "№" + +#~ msgid "You are about to block a contact. Are you sure you want to continue?" +#~ msgstr "Вы точно хотите заблокировать контакт?" + +#~ msgid "To:" +#~ msgstr "Кому:" + +#~ msgid "0" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Reconnect when connection is lost" +#~ msgstr "Автоподключение при разрыве связи" + +#~ msgid "Server Message Archive" +#~ msgstr "Архивация сообщений на сервере" + +#, fuzzy +#~ msgid "" +#~ "Messages get stored on the server. The archive is used to sync messages " +#~ "between multiple devices. (XEP-0313)" +#~ msgstr "" +#~ "Сообщения сохраняются на сервере.\n" +#~ "Архив используется для синхронизации сообщений\n" +#~ "между несколькими устройствами.\n" +#~ "XEP-0313" + +#~ msgid "Message Carbons" +#~ msgstr "Message Carbons" + +#, fuzzy +#~ msgid "" +#~ "All your other online devices get copies of sent and received messages. " +#~ "XEP-0280" +#~ msgstr "" +#~ "Все ваши онлайн устройства получат копии\n" +#~ "отправленных и полученных сообщений.\n" +#~ "XEP-0280" + +#~ msgid "" +#~ "Sent chat state notifications. Can be one of all, composing_only, " +#~ "disabled." +#~ msgstr "" +#~ "Отсылать уведомления о состоянии беседы. Варианты: all (все), " +#~ "composing_only (только печать), disabled (никаких уведомлений)." + +#, fuzzy +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "Отправлять время моей неактивности" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the idle time of your system" +#~ msgstr "" +#~ "Если отмечено, то Gajim будет разрешать определять время в системе, " +#~ "которую вы используете" + +#, fuzzy +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "Отсылать информацию о локальном времени" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the local time on your system" +#~ msgstr "" +#~ "Если отмечено, то Gajim будет разрешать определять время в системе, " +#~ "которую вы используете" + +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "Отсылать информацию о клиенте / _ОС" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the operating system you are " +#~ "using" +#~ msgstr "" +#~ "Если отмечено, то Gajim будет разрешать определять операционную систему, " +#~ "которую вы используете" + +#, fuzzy +#~ msgid "" +#~ "If checked, incoming events from unauthorized contacts will be ignored. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster." +#~ msgstr "" +#~ "Отметьте эту опцию, только если кто-то не из вашего ростера спамит/" +#~ "достает вас. Используйте с осторожностью, потому что это заблокирует все " +#~ "сообщения от контактов не из вашего ростера." + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." +#~ msgstr "" +#~ "Gajim может отсылать и получать метаданные, относящиеся к беседе с " +#~ "контактом. Здесь вы можете указать, какие состояния чата Gajim будет " +#~ "отсылать вашему респонденту." + +#, fuzzy +#~ msgid "S_end chat state notifications" +#~ msgstr "_Отправлять уведомления о состоянии чата:" + +#~ msgid "Login Options" +#~ msgstr "Параметры Авторизации" + +#~ msgid "Please wait while retrieving search form..." +#~ msgstr "Получаю форму поиска. Подождите..." + +#~ msgid "_Add contact" +#~ msgstr "Добавить _контакт" + +#~ msgid "Ad-hoc Commands - Gajim" +#~ msgstr "Специальные команды — Gajim" + +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "Получаю список команд. Подождите..." + +#~ msgid "Choose command to execute:" +#~ msgstr "Выберите команду:" + +#~ msgid "Check once more" +#~ msgstr "Проверить еще раз" + +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "Пожалуйста, подождите, пока команда будет отправлена..." + +#~ msgid "This jabber entity does not expose any commands." +#~ msgstr "На этот объект нельзя подействовать какой-либо командой." + +#~ msgid "F_inish" +#~ msgstr "_Закончить" + +#~ msgid "Waiting for results" +#~ msgstr "Ожидание результатов" + +#~ msgid "Error in received dataform" +#~ msgstr "Ошибка в принятой форме данных" + +#~ msgid "No result" +#~ msgstr "Нет результата" + +#~ msgid "Failed to get secret keys" +#~ msgstr "Не удалось получить секретный ключ" + +#~ msgid "There is no OpenPGP secret key available." +#~ msgstr "Нет секретного ключа OpenPGP." + +#~ msgid "OpenPGP Key Selection" +#~ msgstr "Выбор ключа OpenPGP" + +#~ msgid "Choose your OpenPGP key" +#~ msgstr "Выберите свой ключ OpenPGP" + +#~ msgid "KeyID" +#~ msgstr "KeyID" + +#~ msgid "Contact name" +#~ msgstr "Имя контакта" + +#, fuzzy +#~ msgid "Formatting is not available so long as GPG is active" +#~ msgstr "Форматирование невозможно если включено GPG" + +#~ msgid "OpenPGP is not usable" +#~ msgstr "OpenPGP использовать невозможно" + +#~ msgid "Assign OpenPGP Key" +#~ msgstr "Назначить ключ OpenPGP" + +#~ msgid "Select a key to apply to the contact" +#~ msgstr "Выберите ключ, который будет применен к контакту" + +#~ msgid "" +#~ "You configured Gajim to use OpenPGP agent, but there is no OpenPGP agent " +#~ "running or it returned a wrong passphrase.\n" +#~ msgstr "" +#~ "Gajim настроен на использование OpenPGP агента, но OpenPGP агент не " +#~ "запущен или он возвратил неверный пароль.\n" + +#~ msgid "You are currently connected without your OpenPGP key." +#~ msgstr "Вы сейчас соединены без ключа OpenPGP." + +#, fuzzy +#~ msgid "Wrong passphrase" +#~ msgstr "Неверная парольная фраза" + +#, fuzzy +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "Неверная парольная фраза" + +#~ msgid "Passphrase Required" +#~ msgstr "Требуется парольная фраза" + +#~ msgid "" +#~ "Enter OpenPGP key passphrase for key %(keyid)s (account %(account)s)." +#~ msgstr "Введите пароль для OpenPGP ключа %(keyid)s (аккаунт %(account)s)." + +#~ msgid "OpenPGP key expired" +#~ msgstr "Срок действия ключа OpenPGP истёк" + +#~ msgid "" +#~ "Your OpenPGP key has expired, you will be connected to %s without OpenPGP." +#~ msgstr "" +#~ "Срок действия вашего ключа OpenPGP истёк, вы будете подключены к %s без " +#~ "использования OpenPGP." + +#~ msgid "Wrong Passphrase" +#~ msgstr "Неверная парольная фраза" + +#~ msgid "Please retype your OpenPGP passphrase or press Cancel." +#~ msgstr "Введите парольную фразу для OpenPGP еще раз или нажмите «Отмена»." + +#~ msgid "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Отправить новое сообщение контакту в ростере. Как ключ OpenPGP, так и " +#~ "учетная запись опциональны. Если вы хотите настроить лишь 'учетную " +#~ "запись', без 'ключа OpenPGP', просто установите 'ключ OpenPGP' в ''." + +#~ msgid "if specified, the message will be encrypted using this public key" +#~ msgstr "" +#~ "если указано, сообщение будет зашифровано с использованием открытого ключа" + +#, fuzzy +#~ msgid "" +#~ "Sends a chat message to someone on your roster. Optionally with OpenPGP " +#~ "key and account. If you want to only set the latter, set OpenPGP key to " +#~ "\"\"." +#~ msgstr "" +#~ "Отправить новое сообщение контакту в ростере. Как ключ OpenPGP, так и " +#~ "учетная запись опциональны. Если вы хотите настроить лишь 'учетную " +#~ "запись', без 'ключа OpenPGP', просто установите 'ключ OpenPGP' в ''." + +#~ msgid "" +#~ "If disabled, don't sign presences with GPG key, even if GPG is configured." +#~ msgstr "" +#~ "Если отключено, не подписывать присутствие ключом GPG, даже если GPG " +#~ "настроен." + +#, fuzzy +#~ msgid "OpenPGP:" +#~ msgstr "OpenPGP: " + +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "Назначить ключ Open_PGP..." + +#, fuzzy +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "OpenPGP шифрование" + +#, fuzzy +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "Шифрование сообщений при помощи OpenPGP ключей." + +#, fuzzy +#~ msgid "Requires: gpg and python-gnupg (%(url)s)" +#~ msgstr "Требуется gpg и python-gnupg (%(url)s)" + +#, fuzzy +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "Требует gpg.exe в PATH." + +#~ msgid "Use PGP Agent" +#~ msgstr "Использовать GPG _Agent" + +#~ msgid "OpenPGP Key" +#~ msgstr "Ключ OpenPGP" + +#~ msgid "Cancel confirmation" +#~ msgstr "Отменить подтверждение" + +#~ msgid "" +#~ "You are in process of executing command. Do you really want to cancel it?" +#~ msgstr "" +#~ "Команда находится в процессе выполнения. Вы уверены, что хотите её " +#~ "отменить?" + +#~ msgid "Service sent malformed data" +#~ msgstr "Сервис отправил недопустимые данные" + +#~ msgid "Service changed the session identifier." +#~ msgstr "Сервис изменил идентификатор сеанса." + +#~ msgid "%s - Ad-hoc Commands - Gajim" +#~ msgstr "%s - Специальные команды - Gajim" + +#~ msgid "Service returned an error." +#~ msgstr "Сервис ответил ошибкой." + +#~ msgid "You are invited to a groupchat" +#~ msgstr "Вы приглашены в конференцию" + +#~ msgid "_Start Chat" +#~ msgstr "_Начать беседу" + +#~ msgid "Au_thorize" +#~ msgstr "А_вторизовать" + +#~ msgid "Really send file?" +#~ msgstr "Отправить файл?" + +#~ msgid "You are currently connected to the server" +#~ msgstr "Вы сейчас подсоединены к серверу" + +#~ msgid "To disable the account, you must be disconnected." +#~ msgstr "" +#~ "Чтобы отключить эту учетную запись, необходимо отсоединиться от сервера." + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with %(jid)s?" +#~ msgstr "Вы точно хотите удалить лог %(jid)s?" + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with the selected contacts?" +#~ msgstr "Вы точно хотите удалить логи выделенного контакта?" + +#, fuzzy +#~ msgid "This can not be undone." +#~ msgstr "Сервис не обнаружен" + +#~ msgid "What do you want to do?" +#~ msgstr "Что вы хотите сделать?" + +#~ msgid "" +#~ "List of colors, separated by \":\", that will be used to color nicknames " +#~ "in group chats." +#~ msgstr "" +#~ "Список цветов, разделенных «:», которые будут использоваться для " +#~ "раскраски ников в комнатах." + +#~ msgid "You have received new entries (and %d not displayed):" +#~ msgid_plural "You have received new entries (and %d not displayed):" +#~ msgstr[0] "Вы получили новую запись (и %d не отображается):" +#~ msgstr[1] "Вы получили новые записи (и %d не отображаются):" +#~ msgstr[2] "Вы получили новые записи (и %d не отображаются):" + +#~ msgid "Stopped" +#~ msgstr "Остановлено" + +#~ msgid "" +#~ "You are about to send your password on an insecure connection. You should " +#~ "install PyOpenSSL to prevent that. Are you sure you want to do that?" +#~ msgstr "" +#~ "Вы хотите отправить пароль через небезопасное соединение. Вы уверены? " +#~ "(Установите PyOpenSSL, чтобы этого не происходило.)" + +#, fuzzy +#~ msgid "Status messages displayed in chat window" +#~ msgstr "Отправить сообщение и закрыть окно" + +#~ msgid "?print_status:All" +#~ msgstr "?print_status:Все" + +#~ msgid "Enter and leave only" +#~ msgstr "Только приход и уход" + +#~ msgid "?print_status:None" +#~ msgstr "?print_status:Нет" + +#~ msgid "Untrusted OpenPGP key" +#~ msgstr "Недоверенный ключ OpenPGP" + +#~ msgid "" +#~ "The OpenPGP key used to encrypt this chat is not trusted. Do you really " +#~ "want to encrypt this message?" +#~ msgstr "" +#~ "Ключ OpenPGP используемый для шифрования не является доверенным. Вы " +#~ "действительно хотите зашифровать эти сообщения?" + +#~ msgid "D-Bus python bindings are missing in this computer" +#~ msgstr "На компьютере не установлена библиотека D-Bus для Python" + +#~ msgid "D-Bus capabilities of Gajim cannot be used" +#~ msgstr "Возможности работы Gajim с D-Bus не могут быть использованы" + +#~ msgid "D-Bus does not run correctly on this machine" +#~ msgstr "D-Bus работает не верно на этом компьютере" + +#~ msgid "D-Bus does not run correctly on this machine: system bus not present" +#~ msgstr "D-Bus работает не верно на этом компьютере: шина D-Bus недоступна" + +#~ msgid "" +#~ "D-Bus does not run correctly on this machine: session bus not present" +#~ msgstr "D-Bus работает не верно на этом компьютере: шина D-Bus не доступна" + +#, fuzzy +#~ msgid "Command line Control" +#~ msgstr "Командная строка" + +#, fuzzy +#~ msgid "Enables you to control Gajim with via commandline" +#~ msgstr "Скрипт для управления Gajim'ом через командную строку." + +#~ msgid "" +#~ "When is self contact row displayed. Can be \"always\", " +#~ "\"when_other_resource\" or \"never\"" +#~ msgstr "" +#~ "В каких случаях показывать список своих собственных контактов. Может " +#~ "принимать значения «always» (всегда), «when_other_resource» (если другой " +#~ "ресурс) и «never» (никогда)." + +#~ msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +#~ msgstr "%(who)s выгнал %(nick)s из комнаты: %(reason)s" + +#~ msgid "%(nick)s has been banned by %(who)s: %(reason)s" +#~ msgstr "%(who)s запретил(а) %(nick)s заходить в комнату: %(reason)s" + +#~ msgid "system shutdown" +#~ msgstr "выключение сервера" + +#~ msgid "** Role of %(nick)s has been set to %(role)s" +#~ msgstr "** Обязанности %(nick)s были изменены на %(role)s" + +#~ msgid "%s has left" +#~ msgstr "%s ушел" + +#~ msgid "%s is full" +#~ msgstr "%s переполнена" + +#, fuzzy +#~ msgid "" +#~ "Can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no " +#~ "longer print status line in groupchats when a member changes their status " +#~ "and/or their status message. If \"all\" Gajim will print all status " +#~ "messages. If \"in_and_out\", Gajim will only print FOO enters/leaves " +#~ "group chat." +#~ msgstr "" +#~ "может быть «none», «all» или «in_and_out». Если установлено «none», то " +#~ "Gajim больше не будет выводить сообщения о статусе в комнатах, когда " +#~ "участник меняет свой статус или сообщение о статусе. Если установлено в " +#~ "«all», то Gajim будет выводить все сообщения о статусе. Если установлено " +#~ "в «in_and_out», то Gajim будет выводить сообщение только когда кто-то " +#~ "входит или выходит из комнаты." + +#, fuzzy +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "Показывать _сообщения о статусе контакта в ростере" + +#, fuzzy +#~ msgid "Oauth2 Credentials" +#~ msgstr "Сетевые учётные сведения" + +#~ msgid "" +#~ "You are about to send your password unencrypted on an insecure " +#~ "connection. Are you sure you want to do that?" +#~ msgstr "" +#~ "Вы хотите отправить пароль через небезопасное соединение. Вы уверены?" + +#, fuzzy +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "Анонимная аутентификация" + +#, fuzzy +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "Анонимная аут_ентификация" + +#, fuzzy +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "Анонимная аут_ентификация" + +#~ msgid "" +#~ "Displayed chat state notifications in chat windows. Can be one of all, " +#~ "composing_only, disabled." +#~ msgstr "" +#~ "Отображать состояния беседы в окне беседы. Варианты: all (все), " +#~ "composing_only (только печать), disabled (никаких уведомлений)." + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." +#~ msgstr "" +#~ "Gajim может отсылать и получать метаданные, относящиеся к беседе с " +#~ "контактом. Здесь вы можете указать, какие состояние чата вы хотели бы " +#~ "видеть в окне чата." + +#~ msgid "This is an irreversible operation." +#~ msgstr "Это необратимая операция" + +#~ msgid "Settings" +#~ msgstr "Настройки" + +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "Добро пожаловать в менеджер истории Gajim'а" + +#~ msgid "Member List" +#~ msgstr "Список участников" + +#~ msgid "Owner List" +#~ msgstr "Список владельцев" + +#~ msgid "Administrator List" +#~ msgstr "Список администраторов" + +#~ msgid "Nick" +#~ msgstr "Ник" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "Кого вы хотите забанить?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Member…" +#~ msgstr "Добавляю участника..." + +#~ msgid "" +#~ "Whom do you want to make a member?\n" +#~ "\n" +#~ msgstr "" +#~ "Кого вы хотите сделать участником?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Owner…" +#~ msgstr "Добавляю владельца..." + +#~ msgid "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" +#~ msgstr "" +#~ "Кого вы хотите сделать владельцем?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Administrator…" +#~ msgstr "Добавляю администратора..." + +#~ msgid "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" +#~ msgstr "" +#~ "Кого вы хотите сделать администратором?\n" +#~ "\n" + +#~ msgid "Error reading file:" +#~ msgstr "Ошибка чтения файла:" + +#~ msgid "Error parsing file:" +#~ msgstr "Ошибка обработки файла:" + +#~ msgid "List of possible features in Gajim:" +#~ msgstr "Список возможных функций Gajim:" + +#~ msgid "Description" +#~ msgstr "Описание" + +#~ msgid "Password encryption" +#~ msgstr "Шифрование паролей" + +#~ msgid "On Windows the Windows Credential Vault is used." +#~ msgstr "В Windows используется Windows Credential Vault." + +#~ msgid "Spellchecking of composed messages." +#~ msgstr "Проверка орфографии набираемых сообщений" + +#~ msgid "Automatic status" +#~ msgstr "Авто статус" + +#~ msgid "Requires python2.5." +#~ msgstr "Требует python2.5." + +#~ msgid "" +#~ "Generate XHTML output from RST code (see http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Генерировать XHTML вывод из кода RST (см. http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html)." + +#~ msgid "UPnP-IGD" +#~ msgstr "UPnP-IGD" + +#~ msgid "?features:Available" +#~ msgstr "?features:Доступно" + +#~ msgid "Feature" +#~ msgstr "Функции" + +#~ msgid "Filter:" +#~ msgstr "Фильтр:" + +#~ msgid "Chat Appearance" +#~ msgstr "Настройки окна чата" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed out" +#~ msgstr "" +#~ "Gajim будет уведомлять вас об отсоединившемся контакте с помощью " +#~ "сообщения в правом нижнем углу экрана" + +#~ msgid "Sounds" +#~ msgstr "Звуки" + +#~ msgid "Chat state notifications" +#~ msgstr "Уведомления" + +#, fuzzy +#~ msgid "_Away after" +#~ msgstr "Авто-_отошел после:" + +#~ msgid "" +#~ "If checked, Gajim will change status to Away when the computer is unused." +#~ msgstr "" +#~ "Если отмечено, то Gajim изменит статус на Away, если компьютер не " +#~ "используется." + +#, fuzzy +#~ msgid "_Not available after" +#~ msgstr "Авто-_недоступен после:" + +#~ msgid "Auto Status" +#~ msgstr "Авто статус" + +#~ msgid "Status Messages" +#~ msgstr "Сообщения о статусе" + +#~ msgid "Audio" +#~ msgstr "Звук" + +#~ msgid "Video" +#~ msgstr "Изображение" + +#, fuzzy +#~ msgid "(example: stun.iptel.org)" +#~ msgstr "(например: stunserver.org)" + +#~ msgid "Connection" +#~ msgstr "Подключение" + +#~ msgid "Custom" +#~ msgstr "Пользовательские настройки" + +#~ msgid "Privacy" +#~ msgstr "Уведомления" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "Расширенный редактор настроек" + +#, fuzzy +#~ msgid "Audio / video conferences" +#~ msgstr "Звук / Изображение" + +#, fuzzy +#~ msgid "File transfer, room bookmarks" +#~ msgstr "Ошибка передачи" + +#, fuzzy +#~ msgid "XML console interface" +#~ msgstr "Консоль XML" + +#~ msgid "" +#~ "A programming error has been detected. It probably is not fatal, but " +#~ "should be reported to the developers nonetheless." +#~ msgstr "" +#~ "Была обнаружена программная ошибка. Возможно это не так страшно, но все " +#~ "равно стоит сообщить об этом разработчикам." + +#~ msgid "" +#~ "A list of modp groups to use in a Diffie-Hellman, highest preference " +#~ "first, separated by commas. Valid groups are 1, 2, 5, 14, 15, 16, 17 and " +#~ "18. Higher numbers are more secure, but take longer to calculate when you " +#~ "start a session." +#~ msgstr "" +#~ "Список modp групп (через запятую) для использования в алгоритме Диффи-" +#~ "Хеллмана, начиная с наиболее предпочтительной. Допустимые группы: 1, 2, " +#~ "5, 14, 15, 16, 17 и 18. Более высокие числа безопаснее, но требуют более " +#~ "длительных вычислений при начале сеанса." + +#~ msgid "(ESession info)" +#~ msgstr "(информация ESession)" + +#~ msgid "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" +#~ msgstr "" +#~ "Gajim заменяет текстовые смайлики, например ':)', их графическим или " +#~ "анимированным эквивалентом. Выберите «Отключены», чтобы этого не " +#~ "происходило." + +#, fuzzy +#~ msgid "_Emoticons" +#~ msgstr "_Смайлики:" + +#~ msgid "_Highlight misspelled words" +#~ msgstr "Выделять _слова с опечатками" + +#~ msgid "Notify by icon when your messages are received" +#~ msgstr "Показывать иконку когда ваше сообщение доставлено." + +#, fuzzy +#~ msgid "T_heme" +#~ msgstr "_Тема:" + +#~ msgid "Themes" +#~ msgstr "Настройки интерфейса" + +#~ msgid "Always use this nickname when there is a conflict" +#~ msgstr "Всегда использовать этот ник в случае конфликта" + +#~ msgid "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." +#~ msgstr "" +#~ "Jabberd1.4 не понимает sha данные при входе в комнату, защищенную " +#~ "паролем. Установите эту опцию в «Неактивно» для того, чтобы запретить " +#~ "отсылку sha данных в информации для комнат" + +#, fuzzy +#~ msgid "Presence" +#~ msgstr "_Присутствие" + +#~ msgid "Emoticons disabled" +#~ msgstr "Смайлики выключены" + +#, fuzzy +#~ msgid "" +#~ "Your configured emoticons theme could not be loaded. See the log for more " +#~ "details." +#~ msgstr "Тема смайликов не найдена, они будут отключены." + +#~ msgid "You cannot make changes to the default theme" +#~ msgstr "Вы не можете удалить вашу текущую тему" + +#~ msgid "theme name" +#~ msgstr "имя тeмы" + +#~ msgid "You cannot delete your current theme" +#~ msgstr "Вы не можете удалить вашу текущую тему" + +#~ msgid "New Single Message from %(nickname)s" +#~ msgstr "Новое сообщение от %(nickname)s" + +#~ msgid "New Private Message from group chat %s" +#~ msgstr "Новое личное сообщение из комнаты %s" + +#~ msgid "%(nickname)s: %(message)s" +#~ msgstr "%(nickname)s: %(message)s" + +#~ msgid "Messaged by %(nickname)s" +#~ msgstr "Новое сообщение от %(nickname)s" + +#~ msgid "Status message text color." +#~ msgstr "Цвет сообщения о статусе." + +#~ msgid "Incoming nickname font." +#~ msgstr "Шрифт ника собеседника." + +#~ msgid "Outgoing nickname font." +#~ msgstr "Шрифт вашего ника." + +#~ msgid "Status message text font." +#~ msgstr "Шрифт сообщения о статусе" + +#~ msgid "Background color of contacts when they just signed in." +#~ msgstr "Фоновый цвет контакта, который только что вошел." + +#~ msgid "Background color of contacts when they just signed out." +#~ msgstr "Фоновый цвет контакта, который только что вышел." + +#~ msgid "green" +#~ msgstr "зеленый" + +#~ msgid "grocery" +#~ msgstr "овощной" + +#~ msgid "human" +#~ msgstr "телесный" + +#~ msgid "marine" +#~ msgstr "морской" + +#~ msgid "Contact row" +#~ msgstr "Контакт" + +#~ msgid "Chat Banner" +#~ msgstr "Баннер" + +#~ msgid "Gajim Themes Customization" +#~ msgstr "Настройка тем для Gajim" + +#~ msgid "Text _color:" +#~ msgstr "Цвет _текста:" + +#~ msgid "_Background:" +#~ msgstr "Цвет _фона" + +#~ msgid "Text _font:" +#~ msgstr "_Шрифт:" + +#~ msgid "Font style:" +#~ msgstr "Начертание:" + +#~ msgid "Paused" +#~ msgstr "Приостановился" + +#~ msgid "Gone" +#~ msgstr "Ушел" + +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "" +#~ "Сообщения\n" +#~ "в конференциях" + +#~ msgid "Chatstate Tab Colors" +#~ msgstr "Цвета вкладок с чатами" + +#, fuzzy +#~ msgid "Chat message" +#~ msgstr "Сообщение чата:" + +#~ msgid "Use system _default" +#~ msgstr "Использовать _системный шрифт" + +#~ msgid "Font" +#~ msgstr "Шрифт" + +#, fuzzy +#~ msgid "Contact's nickname" +#~ msgstr "Ник собеседника:" + +#, fuzzy +#~ msgid "_Status message" +#~ msgstr "_Сообщение о статусе:" + +#, fuzzy +#~ msgid "Your message" +#~ msgstr "Ваше сообщение:" + +#, fuzzy +#~ msgid "_URL highlight" +#~ msgstr "_Цвет ссылок:" + +#~ msgid "Chat Line Colors" +#~ msgstr "Цвета вкладок с чатами" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#~ msgid "Resource:" +#~ msgstr "Ресурс:" + +#~ msgid "Status:" +#~ msgstr "Статус:" + +#~ msgid "Client:" +#~ msgstr "Клиент:" + +#~ msgid "Contact time:" +#~ msgstr "Время контакта:" + +#~ msgid "Ask:" +#~ msgstr "Спрашивать:" + +#~ msgid "Subscription:" +#~ msgstr "Подписка:" + +#~ msgid "Name:" +#~ msgstr "Имя:" + +#~ msgid "Nickname:" +#~ msgstr "Ник:" + +#~ msgid "Street:" +#~ msgstr "Улица:" + +#~ msgid "City:" +#~ msgstr "Город:" + +#~ msgid "State:" +#~ msgstr "Штат:" + +#~ msgid "Extra Address:" +#~ msgstr "Дополнительный адрес:" + +#~ msgid "Postal Code:" +#~ msgstr "Индекс:" + +#~ msgid "Country:" +#~ msgstr "Страна:" + +#~ msgid "Homepage:" +#~ msgstr "Веб-страница:" + +#~ msgid "E-Mail:" +#~ msgstr "Почта:" + +#~ msgid "Phone No.:" +#~ msgstr "Телефон:" + +#~ msgid "Birthday:" +#~ msgstr "День рождения:" + +#~ msgid "Family:" +#~ msgstr "Фамилия:" + +#~ msgid "Middle:" +#~ msgstr "Отчество:" + +#~ msgid "Prefix:" +#~ msgstr "Префикс:" + +#~ msgid "Given:" +#~ msgstr "Имя:" + +#~ msgid "Suffix:" +#~ msgstr "Суффикс:" + +#~ msgid "Full Name" +#~ msgstr "Имя" + +#~ msgid "Company:" +#~ msgstr "Компания:" + +#~ msgid "Department:" +#~ msgstr "Отделение:" + +#~ msgid "Position:" +#~ msgstr "Должность:" + +#~ msgid "Role:" +#~ msgstr "Обязанности:" + +#~ msgid "- messages will be logged" +#~ msgstr "— сообщения будут записаны в лог" + +#~ msgid "- messages will not be logged" +#~ msgstr "— сообщения не будут записаны в лог" + +#~ msgid "Edit %s" +#~ msgstr "Править %s" + +#~ msgid "Conversation History with %s" +#~ msgstr "История %s" + +#~ msgid "Contact with \"%s\" cannot be established" +#~ msgstr "Связь с «%s» не может быть установлена" + +#~ msgid "Registration information for transport %s has not arrived in time" +#~ msgstr "Данные о регистрации для транспорта %s не пришли вовремя." + +#~ msgid "Register to" +#~ msgstr "Зарегистрировать в" + +#, fuzzy +#~ msgid "Enter name / JID of contact or groupchat" +#~ msgstr "Введите JID или имя контакта" + +#~ msgid "Search:" +#~ msgstr "Поиск:" + +#, fuzzy +#~ msgid "_In date search" +#~ msgstr "Выполняется поиск..." + +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "Чтобы изменить пароль, необходимо подключиться к серверу." + +#~ msgid "Invalid password" +#~ msgstr "Неверный пароль" + +#~ msgid "The passwords typed in both fields must be identical." +#~ msgstr "Пароли, введенные в оба поля, должны быть одинаковыми." + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "Введите ещё раз для подтверждения:" + +#~ msgid "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" +#~ msgstr "" +#~ "JID %s не соответствует RFC. Он не будет добавлен в ваш ростер. " +#~ "Используйте средство управления ростера, например http://jru.jabberstudio." +#~ "org/, чтобы удалить его" + +#~ msgid "unsubscribe request from %s" +#~ msgstr "%s хочет отменить подписку" + +#~ msgid "<empty>" +#~ msgstr "<empty>" + +#~ msgid "Homepage:" +#~ msgstr "Домашняя страница:" + +#~ msgid "Manage Bookmarks" +#~ msgstr "Управление закладками" + +#~ msgid "_Nickname:" +#~ msgstr "_Ник:" + +#~ msgid "Pr_int status:" +#~ msgstr "_Показывать статус:" + +#, fuzzy +#~ msgid "Add JID" +#~ msgstr "Jabber ID" + +#, fuzzy +#~ msgid "Preference:" +#~ msgstr "Настройки" + +#, fuzzy +#~ msgid "Preference" +#~ msgstr "Настройки" + +#, fuzzy +#~ msgid "JID:" +#~ msgstr "Ваш JID:" + +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "" +#~ "Заполните данные о контакте, который хотите добавить в ростер учетной " +#~ "записи %s" + +#~ msgid "Please fill in the data of the contact you want to add" +#~ msgstr "Заполните данные о контакте, который вы хотите добавить" + +#, fuzzy +#~ msgid "Recently" +#~ msgstr "Недавно:" + +#~ msgid "Add New Contact" +#~ msgstr "Добавить новый контакт" + +#~ msgid "_User ID:" +#~ msgstr "_ID пользователя:" + +#, fuzzy +#~ msgid "Type User ID" +#~ msgstr "ID пользователя:" + +#, fuzzy +#~ msgid "Type Nickname" +#~ msgstr "Ник" + +#~ msgid "Personal Information" +#~ msgstr "Личная информация" + +#~ msgid "Avatar:" +#~ msgstr "Аватар:" + +#~ msgid "Click to set your avatar" +#~ msgstr "Установить свою аватару" + +#, fuzzy +#~ msgid "Remove Avatar" +#~ msgstr "Удалить группу" + +#~ msgid "Not fetched because of invisible status" +#~ msgstr "Нельзя получить из-за невидимости" + +#~ msgid "Please wait..." +#~ msgstr "Подождите..." + +#~ msgid "" +#~ "When negotiating an encrypted session, should Gajim assume you want your " +#~ "messages to be logged?" +#~ msgstr "" +#~ "Когда устанавливается зашифрованный сеанс, должен ли Gajim предположить, " +#~ "что вы хотите сохранить историю сообщений?" + +#~ msgid "Log _encrypted chat session" +#~ msgstr "Записывать в лог _шифрованные сообщения" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will keep logs for encrypted messages. Please note that " +#~ "when using end-to-end encryption the remote party has to agree on " +#~ "logging, else the messages will not be logged." +#~ msgstr "" +#~ "Если отмечено, Gajim будет сохранять историю зашифрованных сообщений. " +#~ "Помните, что при использовании E2E шифрования удаленная сторона должна " +#~ "дать согласие на ведение истории, иначе сообщения не будут сохраняться." + +#~ msgid "Yahoo! Address:" +#~ msgstr "Адрес Yahoo:" + +#~ msgid "Forward unread messages" +#~ msgstr "Переслать непрочитанные сообщения" + +#~ msgid "All unread messages have been forwarded." +#~ msgstr "Все непрочитанные сообщения отправлены." + +#~ msgid "Forward unread message then disconnect" +#~ msgstr "Переслать непрочитанные сообщения при отключении" + +#~ msgid "MSN Address:" +#~ msgstr "Адрес в MSN:" + +#~ msgid "Confirm these session options" +#~ msgstr "Подтвердить данные настройки сеанса" + +#~ msgid "" +#~ "The remote client wants to negotiate a session with these features:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Are these options acceptable?" +#~ msgstr "" +#~ "Удаленный клиент хочет установить сеанс со следующими параметрами:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Приемлемы ли эти настройки?" + +#~ msgid "" +#~ "The remote client selected these options:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Continue with the session?" +#~ msgstr "" +#~ "Удаленный клиент выбрал следующие настройки:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Продолжить этот сеанс?" + +#~ msgid "Always accept for this contact" +#~ msgstr "Всегда принимать для этого контакта" + +#~ msgid "End to End message encryption" +#~ msgstr "End to end шифрование" + +#~ msgid "Encrypting chat messages." +#~ msgstr "Шифрование сообщений чата." + +#~ msgid "Requires python-crypto." +#~ msgstr "Требует python-crypto." + +#~ msgid "Session negotiation cancelled" +#~ msgstr "Установление сеанса отменено" + +#~ msgid "This session WILL NOT be archived on server" +#~ msgstr "История сеанса НЕ БУДЕТ сохранена на сервере" + +#~ msgid "This session is encrypted" +#~ msgstr "Сеанс зашифрован" + +#~ msgid " and WILL be logged" +#~ msgstr " и БУДЕТ сохранена история сообщений" + +#~ msgid " and WILL NOT be logged" +#~ msgstr " и НЕ БУДЕТ сохранена история сообщений" + +#~ msgid "" +#~ "Remote contact's identity not verified. Click the shield button for more " +#~ "details." +#~ msgstr "" +#~ "Личность удаленного контакта не подтверждена. Нажмите на кнопку со щитом " +#~ "для подробностей." + +#, fuzzy +#~ msgid "end-to-end encryption disabled" +#~ msgstr "OpenPGP шифрование выключено" + +#~ msgid "" +#~ "Unable to decrypt message from %s\n" +#~ "It may have been tampered with." +#~ msgstr "" +#~ "Не удалось расшифровать сообщение от %s\n" +#~ "Возможно, оно было испорчено." + +#~ msgid "Unable to decrypt message" +#~ msgstr "Сообщение не удалось расшифровать" + +#~ msgid "Enable ESessions encryption for this account." +#~ msgstr "Включить ESessions шифрование для данной учетной записи." + +#~ msgid "Should Gajim automatically start an encrypted session when possible?" +#~ msgstr "" +#~ "Должен ли Gajim по возможности автоматически начинать зашифрованный сеанс?" + +#~ msgid "" +#~ "[This is part of an encrypted session. If you see this message, something " +#~ "went wrong.]" +#~ msgstr "" +#~ "[Это часть зашифрованного сообщения. Если вы видите это сообщение, " +#~ "возможно, произошла ошибка.]" + +#~ msgid "Requires python-avahi." +#~ msgstr "Требует python-avahi." + +#~ msgid "Save Image as…" +#~ msgstr "Сохранить изображение как..." + +#, fuzzy +#~ msgid "Exporting History Logs…" +#~ msgstr "Экспортирую историю..." + +#~ msgid "Choose Client Cert #PCKS12" +#~ msgstr "Выберите сертификат владельца #PCKS12" + +#~ msgid "When %s becomes:" +#~ msgstr "Когда %s происходит:" + +#~ msgid "Adding Special Notification for %s" +#~ msgstr "Добавление специального уведомления для %s" + +#~ msgid "" +#~ "It seems the SSL certificate of account %(account)s has changed and is " +#~ "not valid or your connection is being compromised.\n" +#~ "\n" +#~ "Old SHA-1 fingerprint: %(old_sha1)s\n" +#~ "Old SHA-256 fingerprint: %(old_sha256)s\n" +#~ "\n" +#~ "New SHA-1 fingerprint: %(new_sha1)s\n" +#~ "New SHA-256 fingerprint: %(new_sha256)s\n" +#~ "\n" +#~ "Do you still want to connect and update the fingerprint of the " +#~ "certificate?" +#~ msgstr "" +#~ "По видимому, сертификат SSL учетной записи %(account)s изменился или ваше " +#~ "соединение было взломано.\n" +#~ "\n" +#~ "Старый SHA-1 отпечаток: %(old_sha1)s\n" +#~ "Старый SHA-256 отпечаток: %(old_sha256)s\n" +#~ "\n" +#~ "Новый SHA-1 отпечаток: %(new_sha1)s\n" +#~ "Новый SHA-256 отпечаток: %(new_sha256)s\n" +#~ "\n" +#~ "Вы всё ещё хотите соединиться и обновить отпечаток сертификата?" + +#~ msgid "" +#~ "The authenticity of the %s certificate could be invalid.\n" +#~ "The certificate does not cover this domain." +#~ msgstr "" +#~ "Достоверность сертификата %s может быть недействительной.\n" +#~ "Сертификат не распространяется на этот домен." + +#~ msgid "Unable to load idle module" +#~ msgstr "Не могу загрузить модуль «idle»" + +#, fuzzy +#~ msgid "%s or %s is a directory but should be a file" +#~ msgstr "%s должен быть файлом, а не директорией" + +#~ msgid "creating logs database" +#~ msgstr "создается БД истории" + +#, fuzzy +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "Отправить %s контакту %s" + +#, fuzzy +#~ msgid "Rename account label" +#~ msgstr "Переименовать учетную запись" + +#~ msgid "" +#~ "Requires gpg and python-gnupg (http://code.google.com/p/python-gnupg/)." +#~ msgstr "" +#~ "Требует gpg и python-gnupg (http://code.google.com/p/python-gnupg/)." + +#~ msgid "Send Single Message..." +#~ msgstr "Отправить одиночное сообщение..." + +#~ msgid "We received an error: {}" +#~ msgstr "Ошибка: {}" + +#~ msgid "E2E encryption disabled" +#~ msgstr "E2E шифрование выключено" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Добавить этот сертификат в список надёжных сертификатов.\n" +#~ "Отпечаток SHA1 сертификата:\n" +#~ "%(sha1)s\n" +#~ "Отпечаток SHA-256 сертификата:\n" +#~ "%(sha256)s" + +#~ msgid "uri" +#~ msgstr "uri" + +#~ msgid "" +#~ "Install /\n" +#~ "Upgrade" +#~ msgstr "" +#~ "Установить /\n" +#~ "Обновить" + +#, fuzzy +#~ msgid "Install/Upgrade" +#~ msgstr "Установленные" + +#, fuzzy +#~ msgid "Install and Upgrade Plugins" +#~ msgstr "" +#~ "Установить /\n" +#~ "Обновить" + +#, fuzzy +#~ msgid "Plugins updates" +#~ msgstr "Ошибка в модуле" + +#~ msgid "cyan" +#~ msgstr "синий" + +#~ msgid "migrating logs database to indices" +#~ msgstr "переносим журнал на индексы" + +#, fuzzy +#~ msgid "Send File..." +#~ msgstr "Отправить _файл..." + +#, fuzzy +#~ msgid "HTTP File Upload not supported by your server" +#~ msgstr "Сервер не умеет хранить метаконтакты" + +#, fuzzy +#~ msgid "Jingle File Transfer" +#~ msgstr "Передача файлов" + +#~ msgid "" +#~ "Your configured emoticons theme has not been found, so emoticons have " +#~ "been disabled." +#~ msgstr "Тема смайликов не найдена, они будут отключены." + +#~ msgid "Shows or hides the roster window" +#~ msgstr "Скрывает или показывает окно ростера" + +#~ msgid "Shows or hides the ipython window" +#~ msgstr "Скрывает или показывает окно ipython" + +#, fuzzy +#~ msgid "XMPP account %s" +#~ msgstr "XMPP учетная запись %s@%s" + +#, fuzzy +#~ msgid "Exception" +#~ msgstr "описание" + +#~ msgid "" +#~ "someone@somewhere.com would like you to add some contacts " +#~ "in your roster." +#~ msgstr "" +#~ "someone@somewhere.com хочет добавить несколько контактов в " +#~ "ваш список контактов." + +#~ msgid "" +#~ "Ordered list (space separated) of connection type to try. Can contain " +#~ "tls, ssl or plain" +#~ msgstr "" +#~ "Упорядоченный список (разделённый пробелами) типов подключения, которые " +#~ "будут перепробованы. Может включать tls, ssl или plain" + +#~ msgid "_Actions" +#~ msgstr "_Действия" + +#~ msgid "UPower" +#~ msgstr "UPower" + +#~ msgid "Ability to disconnect properly just before suspending the machine." +#~ msgstr "Возможность отключиться перед уходом машины в сон." + +#~ msgid "Requires upower and python-dbus." +#~ msgstr "Требует upower и python-dbus." + +#~ msgid "You are already in group chat %s" +#~ msgstr "Вы уже в комнате %s" + +#~ msgid "Join Group Chat with account %s" +#~ msgstr "Войти в комнату с учетной записи %s" + +#~ msgid "" +#~ "You have to choose an account from which you want to join the groupchat." +#~ msgstr "Выберите учетную запись, с которой вы хотите войти в комнату." + +#, fuzzy +#~ msgid "Please enter the group chat JID as room@server." +#~ msgstr "В Jabber ID комнаты или сервера содержатся недопустимые символы." + +#, fuzzy +#~ msgid "The group chat JID contains invalid characters." +#~ msgstr "В Jabber ID комнаты или сервера содержатся недопустимые символы." + +#~ msgid "Start Chat with account %s" +#~ msgstr "Начать чат с учетной записью %s" + +#, fuzzy +#~ msgid "" +#~ "Fill in the nickname or the JID of the contact you would like\n" +#~ "to send a chat message to:" +#~ msgstr "" +#~ "Введите ник или ID пользователя, которому вы хотите отправить сообщение:" + +#, fuzzy +#~ msgid "Nickname / JID" +#~ msgstr "Дублирующийся Jabber ID" + +#~ msgid "Unable to parse \"%s\"." +#~ msgstr "Не понимаю адреса «%s»." + +#~ msgid "Shows the chat dialog so that you can send messages to a contact" +#~ msgstr "" +#~ "Показывает окно беседы, чтобы вы могли отправлять сообщения контакту" + +#~ msgid "JID of the contact that you want to chat with" +#~ msgstr "JID контакта, с которым вы хотели бы побеседовать" + +#~ msgid "message content. The account must be specified or \"\"" +#~ msgstr "содержимое сообщения. Учетная запись должна быть указана или \"\"" + +#~ msgid "Adds contact to roster" +#~ msgstr "Добавляет контакт в ростер" + +#~ msgid "jid" +#~ msgstr "JID" + +#~ msgid "Adds new contact to this account" +#~ msgstr "Добавляет новый контакт для данной учетной записи" + +#~ msgid "Opens 'Start Chat' dialog" +#~ msgstr "Открыть диалог «Начать беседу»" + +#~ msgid "Starts chat, using this account" +#~ msgstr "Начать беседу с этой учетной записи" + +#, fuzzy +#~ msgid "Handle a xmpp:/ URI" +#~ msgstr "Обработать ссылку формата «xmpp:/»" + +#~ msgid "URI to handle" +#~ msgstr "URI для обработки" + +#~ msgid "Account in which you want to handle it" +#~ msgstr "Учетная запись, в которой вы хотите его использовать" + +#~ msgid "Message content" +#~ msgstr "Cодержимое сообщения" + +#~ msgid "Join a MUC room" +#~ msgstr "Присоединиться к комнате MUC" + +#~ msgid "Nickname to use" +#~ msgstr "Используемый ник" + +#~ msgid "Password to enter the room" +#~ msgstr "Пароль для входа в комнату" + +#~ msgid "Account from which you want to enter the room" +#~ msgstr "Выберите учетную запись, с которой вы хотите войти в комнату" + +#, fuzzy +#~ msgid "No URI given" +#~ msgstr "Не указан идентификатор ресурса" + +#, fuzzy +#~ msgid "Wrong URI" +#~ msgstr "Неверный хост" + +#~ msgid "Nickname:" +#~ msgstr "Ник:" + +#~ msgid "Server:" +#~ msgstr "Сервер:" + +#~ msgid "Join this room _automatically when I connect" +#~ msgstr "Входить в кон_ференцию при подключении" + +#~ msgid "Bro_wse Rooms" +#~ msgstr "Просмотр конферен_ций" + +#~ msgid "Requires libgtkspell and libenchant." +#~ msgstr "Требует libgtkspell и libenchant." + +#, fuzzy +#~ msgid "Last MAM id we are syncronized with" +#~ msgstr "Время последней синхронизации с сервером." + +#, fuzzy +#~ msgid "Network-Watcher" +#~ msgstr "Network-manager" + +#~ msgid "Autodetection of network status." +#~ msgstr "Автоопределение состояния соединения с сетью." + +#, fuzzy +#~ msgid "Requires gnome-network-manager" +#~ msgstr "Требует gnome-network-manager и python-dbus." + +#~ msgid "Feature not available, see Help->Features" +#~ msgstr "Эта возможность отсутствует, смотрите Помощь->Возможности" + +#~ msgid "Feature not supported by remote client" +#~ msgstr "Клиент на другой стороне не поддерживает данную возможность" + +#~ msgid "This contact does not support file transfer." +#~ msgstr "Этот контакт не поддерживает передачу файлов." + +#, fuzzy +#~ msgid "You need to know the real JID of the contact to send them a file." +#~ msgstr "" +#~ "Необходимо знать настоящий JID контакта для того, чтобы отправить ему или " +#~ "ей файл." + +#~ msgid "" +#~ "You have to install %s dictionary to use spellchecking, or choose another " +#~ "language by setting the speller_language option." +#~ msgstr "" +#~ "Чтобы воспользоваться проверкой правописания, установите словарь для " +#~ "языка %s или выберите другой язык, исправив настройку speller_language." + +#~ msgid "Hides the buttons in chat windows." +#~ msgstr "Скрывает кнопки в окнах чата." + +#~ msgid "Change the room's subject (Alt+T)" +#~ msgstr "Изменить тему (Alt+T)" + +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "Добавить комнату в закладки (Ctrl+B)" + +#~ msgid "Browse the chat history (Ctrl+H)" +#~ msgstr "Открыть историю чата (Ctrl+H)" + +#~ msgid "Show advanced functions (Alt+D)" +#~ msgstr "Показать меню дополнительных функций (Alt+D)" + +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "Добавить контакт в ростер (Ctrl+D)" + +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "Пригласить к беседе (Ctrl+G)" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Показать информацию о контакте (Ctrl+I)" + +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Показать информацию о контакте (Ctrl+I)" + +#~ msgid "Ma_ke message windows compact" +#~ msgstr "_Компактное окно сообщений" + +#~ msgid "Hide all buttons in chat windows" +#~ msgstr "Не показывать кнопки в окнах чата" + +#~ msgid "Hide the chat buttons" +#~ msgstr "Скрыть кнопки в окне беседы" + +#~ msgid "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." +#~ msgstr "" +#~ "Если активно, то Gajim будет запрашивать аватару для каждого контакта, у " +#~ "которого её не было в последний раз или она уже слишком старая." + +#~ msgid "Disk Write Error" +#~ msgstr "Ошибка записи на диск" + +#~ msgid "Set Custom _Avatar..." +#~ msgstr "Установить _аватар..." + +#~ msgid "SSL certificate validation" +#~ msgstr "Подтверждение SSL сертификата" + +#~ msgid "" +#~ "A library used to validate server certificates to ensure a secure " +#~ "connection." +#~ msgstr "" +#~ "Библиотека используется для подтверждения действительности сертификатов " +#~ "сервера для того, чтобы удостовериться в защищенности соединения." + +#~ msgid "Requires python-pyopenssl > 0.12 and pyasn1." +#~ msgstr "Требует python-pyopenssl > 0.12 и pyasn1." + +#, fuzzy +#~ msgid "?CLI:uri" +#~ msgstr "Неверный хост" + +#~ msgid "?CLI:room" +#~ msgstr "?CLI:комната" + +#~ msgid "?CLI:nick" +#~ msgstr "?CLI:ник" + +#~ msgid "?CLI:password" +#~ msgstr "?CLI:пароль" + +#, fuzzy +#~ msgid "Credential Options" +#~ msgstr "Сетевые учётные сведения" + +#~ msgid "Use D-Bus and Notification-Daemon to show notifications" +#~ msgstr "Использовать DBus и Notification Daemon для показа уведомлений" + +#~ msgid "Notification" +#~ msgstr "Уведомления" + +#~ msgid "Passive popups notifying for new events." +#~ msgstr "Пассивные всплывающие окна для уведомления о новых событиях." + +#~ msgid "" +#~ "Requires python-notify or instead python-dbus in conjunction with " +#~ "notification-daemon." +#~ msgstr "" +#~ "Требует python-notify или python-dbus совместно с notification-daemon." + +#~ msgid "Ignore" +#~ msgstr "Игнорировать" + +#~ msgid "_Open Gmail Inbox" +#~ msgstr "_Открыть Gmail" + +#~ msgid "Notify on new _GMail email" +#~ msgstr "Сообщать о новых письмах в _Gmail" + +#~ msgid "" +#~ "If checked, Gajim will show a notification when a new e-mail is received " +#~ "via GMail" +#~ msgstr "" +#~ "Если отмечено, то Gajim будет сообщать о новых письмах, полученных в GMail" + +#~ msgid "Display _extra email details" +#~ msgstr "Отображать _дополнительные данные о почте" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will also include information about the sender of new " +#~ "emails" +#~ msgstr "" +#~ "Если отмечено, то Gajim будет включать информацию об отправителе новых " +#~ "писем." + +#~ msgid "GMail Options" +#~ msgstr "Настройки GMail" + +#, fuzzy +#~ msgid "12" +#~ msgstr "1" + +#, fuzzy +#~ msgid "20" +#~ msgstr "2" + +#, fuzzy +#~ msgid "Invited %s to %s" +#~ msgstr "Приглашен %s в %s" + +#~ msgid "" +#~ "Specify the command to run when new mail arrives, e.g.: /usr/bin/getmail -" +#~ "q" +#~ msgstr "" +#~ "Определение команды для запуска при получении нового письма, например: /" +#~ "usr/bin/getmail -q" + +#~ msgid "GMail Email Received" +#~ msgstr "Получено письмо на Gmail" + +#, fuzzy +#~ msgid "New e-mail on %(gmail_mail_address)s" +#~ msgstr "Новое письмо на %(gmail_mail_address)s" + +#, fuzzy +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "У вас есть %d непрочитанное письмо" +#~ msgstr[1] "У вас есть %d непрочитанных письма" +#~ msgstr[2] "У вас есть %d непрочитанных писем" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "From: %(from_address)s\n" +#~ "Subject: %(subject)s\n" +#~ "%(snippet)s" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "От: %(from_address)s\n" +#~ "Тема: %(subject)s\n" +#~ "%(snippet)s" + +#~ msgid "Resour_ce:" +#~ msgstr "Ресу_рс: " + +#~ msgid "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" +#~ msgstr "" +#~ "Ресурс отправляется Jabber серверу для того, чтобы различать два и более " +#~ "клиентов с одинаковой учетной записью, подключенных к одному и тому же " +#~ "серверу. Таким образом, вы можете одновременно подключиться к одному " +#~ "серверу с ресурсов 'Дом' или 'Работа'. Ресурс, обладающий большим " +#~ "приоритетом, будет получать все события. (См. ниже)" + +#~ msgid "A_djust to status" +#~ msgstr "В _зависимости от статуса" + +#~ msgid "Priority will change automatically according to your status." +#~ msgstr "Изменять приоритет автоматически в соответствии со статусом." + +#~ msgid "Anonymous authentication" +#~ msgstr "Анонимная аутентификация" + +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "Приоритет используется в Jabber для определения того, кто будет получать " +#~ "события от jabber сервера когда подсоединены два и более клиента с одной " +#~ "и той же учетной записью. Клиент с наибольшим приоритетом будет получать " +#~ "события" + +#~ msgid "Synchronize contacts" +#~ msgstr "Синхронизировать контакты" + +#~ msgid "Click to request authorization to all contacts of another account" +#~ msgstr "" +#~ "Щелкните, чтобы запросить авторизацию у всех контактов другой учетной " +#~ "записи" + +#~ msgid "Chan_ge Password" +#~ msgstr "И_зменить пароль" + +#~ msgid "Administration operations" +#~ msgstr "Административные операции" + +#~ msgid "_Client Cert File:" +#~ msgstr "Файл сертификата:" + +#~ msgid "Browse..." +#~ msgstr "Просмотреть..." + +#, fuzzy +#~ msgid "Certificate is e_ncrypted" +#~ msgstr "Недействительный сертификат" + +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "" +#~ "Если отмечено, Gajim после запуска будет автоматически подсоединяться к " +#~ "jabber серверу с использованием этой учетной записи" + +#, fuzzy +#~ msgid "Synchronize logs with server" +#~ msgstr "Синхронизировать контакты" + +#~ msgid "Synch_ronize account status with global status" +#~ msgstr "Син_хронизировать статус учетной записи с глобальным статусом" + +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "Если отмечено, то любые изменения глобального статуса (управляемого из " +#~ "выпадающего списка внизу окна ростера) повлекут за собой изменение " +#~ "статуса этой учетной записи" + +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "Если отмечено, Gajim будет передавать еще несколько IP адресов в " +#~ "дополнение к вашему, так что передача файла имеет больше шансов на успех." + +#~ msgid "Proxy" +#~ msgstr "Прокси" + +#~ msgid "" +#~ "Check this so Gajim will ask you before sending your password over an " +#~ "insecure connection." +#~ msgstr "" +#~ "Если отмечено, то Gajim будет спрашивать вас перед отправкой пароля через " +#~ "незащищенное соединение." + +#~ msgid "Send _keep-alive packets" +#~ msgstr "Отправлять _пинг" + +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "" +#~ "Если отмечено, то Gajim будет пинговать сервер, чтобы избежать разрыва " +#~ "соединения по таймауту" + +#~ msgid "Use cust_om hostname/port" +#~ msgstr "Использовать польз_овательские хост/порт" + +#~ msgid "_Hostname: " +#~ msgstr "_Хост: " + +#~ msgid "_Port: " +#~ msgstr "_Порт:" + +#~ msgid "Choose _Key..." +#~ msgstr "Выбрать _ключ..." + +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "Если отмечено, то Gajim запомнит пароль учетной записи" + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#~ msgid "_Edit Personal Information..." +#~ msgstr "Редактировать личную информацию..." + +#~ msgid "Personal Information" +#~ msgstr "Личная информация" + +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "_Соединяться при запуске Gajim" + +#~ msgid "Synchroni_ze account status with global status" +#~ msgstr "Син_хронизировать статус учетной записи с глобальным статусом" + +#~ msgid "Use cust_om port:" +#~ msgstr "_Другой порт:" + +#~ msgid "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." +#~ msgstr "" +#~ "Если порт по умолчанию, который используется для входящих сообщений вас " +#~ "не устраивает, вы можете выбрать другой.\n" +#~ "Также, возможно, придется изменить некоторые настройки брандмауэра." + +#~ msgid "OpenPGP is not usable on this computer" +#~ msgstr "Невозможно использовать OpenPGP на этом компьютере" + +#~ msgid "To change the account name, you must be disconnected." +#~ msgstr "Для смены имени учетной записи необходимо отключиться." + +#~ msgid "To change the account name, you must read all pending events." +#~ msgstr "" +#~ "Для смены имени учетной записи необходимо просмотреть ожидающие события." + +#~ msgid "Account Name Already Used" +#~ msgstr "Такое имя учетной записи уже используется" + +#~ msgid "" +#~ "This name is already used by another of your accounts. Please choose " +#~ "another name." +#~ msgstr "" +#~ "Это имя уже используется в другой вашей учетной записи. Выберите другое." + +#~ msgid "Account name cannot be empty." +#~ msgstr "Имя учетной записи не может быть пустым." + +#~ msgid "Account name cannot contain spaces." +#~ msgstr "Имя учетной записи не может содержать пробелы." + +#~ msgid "Enter a new name for account %s" +#~ msgstr "Введите новое название для учетной записи %s" + +#, fuzzy +#~ msgid "A JID must be in the form \"user@servername\"." +#~ msgstr "Jabber ID должен иметь формат «имя_пользователя@сервер»." + +#~ msgid "No such account available" +#~ msgstr "Такая учетная запись недоступна" + +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "" +#~ "Перед редактированием личных данных необходимо сначала создать учетную " +#~ "запись." + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "" +#~ "Чтобы отредактировать личную информацию, нужно подключиться к серверу." + +#~ msgid "Your server can't save your personal information." +#~ msgstr "Ваш сервер не может хранить личную информацию." + +#~ msgid "Please rename or remove it before enabling link-local messaging." +#~ msgstr "" +#~ "Переименуйте или удалите её, прежде чем включать локальные сообщения." + +#~ msgid "THANKS:" +#~ msgstr "БЛАГОДАРНОСТИ:" + +#~ msgid "Could not write to %s. Session Management support will not work" +#~ msgstr "Не могу писать в %s. Управление сеансами будет недоступно" + +#~ msgid "Jabber Traffic" +#~ msgstr "Jabber Трафик" + +#~ msgid "_Enable" +#~ msgstr "_Включить" + +#~ msgid "Hide IN stanzas" +#~ msgstr "Спрятать IN станзы" + +#~ msgid "Hide OUT stanzas" +#~ msgstr "Спрятать OUT станзы" + +#~ msgid "Hide Presence stanzas" +#~ msgstr "Спрятать Presence станзы" + +#~ msgid "Hide IQ stanzas" +#~ msgstr "Спрятать IQ станзы" + +#~ msgid "Filter" +#~ msgstr "Фильтр" + +#~ msgid "_IQ" +#~ msgstr "_IQ" + +#~ msgid "Info/Query" +#~ msgstr "Информация/Запрос" + +#~ msgid "XML Input" +#~ msgstr "XML Ввод" + +#~ msgid "XML Console for %s" +#~ msgstr "Консоль XML для %s" + +#, fuzzy +#~ msgid "Idle for:" +#~ msgstr "Время бездействия %s" + +#, fuzzy +#~ msgid "" +#~ "Request offline status messages from all contacts upon connecting. " +#~ "WARNING: This causes a lot of requests to be sent!" +#~ msgstr "" +#~ "Запрашивать сообщение о статусе «отключен» у всех отключенных контактов " +#~ "при установлении соединения с учетной записью. ВНИМАНИЕ: Данная опция " +#~ "приводит к большому количеству посылаемых запросов!" + +#~ msgid "Last status: %s" +#~ msgstr "Последний статус: %s" + +#~ msgid " since %s" +#~ msgstr " с %s" + +#~ msgid "since %s" +#~ msgstr "с %s" + +#, fuzzy +#~ msgid "Prefer" +#~ msgstr "Предпочитать обычный текст" + +#, fuzzy +#~ msgid "Forbid" +#~ msgstr "^Запретить версию" + +#, fuzzy +#~ msgid "Auto" +#~ msgstr "Авто" + +#, fuzzy +#~ msgid "Method Auto" +#~ msgstr "Авто статус" + +#, fuzzy +#~ msgid "Method Local" +#~ msgstr "Локальный JID:" + +#, fuzzy +#~ msgid "Method Manual" +#~ msgstr "Руководство пользователя Anjuta" + +#, fuzzy +#~ msgid "body" +#~ msgstr "_Тело:" + +#, fuzzy +#~ msgid "false" +#~ msgstr "false" + +#, fuzzy +#~ msgid "stream" +#~ msgstr "&Поток" + +#, fuzzy +#~ msgid "forbid" +#~ msgstr "^Запретить версию" + +#, fuzzy +#~ msgid "prefer" +#~ msgstr "Предпочитать обычный текст" + +#, fuzzy +#~ msgid "otr" +#~ msgstr "другое" + +#, fuzzy +#~ msgid "save" +#~ msgstr "Сохранить" + +#~ msgid "Last time we syncronized with logs from server." +#~ msgstr "Время последней синхронизации с сервером." + +#, fuzzy +#~ msgid "Invalid expire value" +#~ msgstr "недопустимое значение --bytes `%s'" + +#, fuzzy +#~ msgid "Expire must be a valid positive integer." +#~ msgstr "Высота доски должна задаваться целым положительным числом" + +#, fuzzy +#~ msgid "There is an error with the form" +#~ msgstr "%d вкладка с ошибками" + +#, fuzzy +#~ msgid "There is an error" +#~ msgstr "Ошибка: Файл \"%s\" не существует" + +#~ msgid "How many minutes should last lines from previous conversation last." +#~ msgstr "" +#~ "Сколько минут должны оставаться последние строки из предыдущей беседы." + +#~ msgid "" +#~ "Your configured emoticons theme cannot been loaded. You maybe need to " +#~ "update the format of emoticons.py file. See http://trac.gajim.org/wiki/" +#~ "Emoticons for more details." +#~ msgstr "" +#~ "Смайлики не могут быть загружены. Возможно, вам нужно обновить формат " +#~ "файла emoticons.py. Подробности на http://trac.gajim.org/wiki/Emoticons." + +#~ msgid "You will be connected to %s without OpenPGP." +#~ msgstr "Вы будете подключены к %s без использования OpenPGP." + +#~ msgid "The following message was NOT encrypted" +#~ msgstr "Последнее сообщение НЕ БЫЛО зашифровано" + +#~ msgid "Toggle Open_PGP Encryption" +#~ msgstr "Включить Open_PGP шифрование" + +#~ msgid "Toggle End to End Encryption" +#~ msgstr "Включить End to End шифрование" + +#~ msgid "OpenPGP encryption enabled" +#~ msgstr "OpenPGP шифрование включено" + +#~ msgid "No OpenPGP key assigned" +#~ msgstr "Ключ OpenPGP не присвоен" + +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages with OpenPGP." +#~ msgstr "" +#~ "Этому контакту не присвоен ключ OpenPGP, поэтому вы не можете зашифровать " +#~ "сообщения с помощью OpenPGP." + +#~ msgid "Session WILL be logged" +#~ msgstr "Для сеанса БУДЕТ сохранена история сообщений" + +#~ msgid "Session WILL NOT be logged" +#~ msgstr "Для сеанса НЕ БУДЕТ сохранена история сообщений" + +#~ msgid "is" +#~ msgstr "было" + +#~ msgid "is NOT" +#~ msgstr "НЕ" + +#~ msgid "will" +#~ msgstr "будет" + +#~ msgid "will NOT" +#~ msgstr "НЕ будет" + +#~ msgid "The following message was encrypted" +#~ msgstr "Последнее сообщение зашифровано" + +#, fuzzy +#~ msgid "Toggle the OpenPGP encryption" +#~ msgstr "OpenPGP шифрование включено" + +#~ msgid "" +#~ "Should Gajim automatically start an encrypted session with this contact " +#~ "when possible?" +#~ msgstr "" +#~ "Должен ли Gajim по возможности автоматически начинать для данного " +#~ "контакта зашифрованный сеанс?" + +#~ msgid "Neither the remote presence is signed, nor a key was assigned." +#~ msgstr "Ни удаленное присутствие не подписано, ни ключ не присвоен." + +#~ msgid "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "Ключ (%s) контакта не соответствует ключу, присвоенному в Gajim." + +#~ msgid "[This message is *encrypted* (See :XEP:`27`]" +#~ msgstr "[Это сообщение *зашифровано* (см. :XEP:`27`]" + +#~ msgid "" +#~ "Your chat session with %(jid)s is encrypted.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "Ваш сеанс связи с %(jid)s зашифрован.\n" +#~ "\n" +#~ "Short Authentication String данного сеанса %(sas)s." + +#~ msgid "You have already verified this contact's identity." +#~ msgstr "Вы уже удостоверили личность этого контакта." + +#~ msgid "Contact's identity verified" +#~ msgstr "Личность контакта удостоверена" + +#~ msgid "" +#~ "To be certain that only the expected person can read your messages " +#~ "or send you messages, you need to verify their identity by clicking the " +#~ "button below." +#~ msgstr "" +#~ "Чтобы быть уверенным, что только нужный человек может прочитать " +#~ "ваши сообщения или послать сообщения вам, вы должны удостоверить личность " +#~ "собеседника, нажав кнопку, расположенную ниже." + +#~ msgid "Contact's identity NOT verified" +#~ msgstr "Личность контакта НЕ удостоверена" + +#, fuzzy +#~ msgid "Verify…" +#~ msgstr "_Удостоверить" + +#~ msgid "Have you verified the contact's identity?" +#~ msgstr "Вы удостоверили личность удаленного контакта?" + +#~ msgid "" +#~ "To prevent talking to an unknown person, you should speak to %(jid)s directly (in person or on the phone) and verify that they see the same " +#~ "Short Authentication String (SAS) as you.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "Для предотвращения атаки типа «человек посередине» вы должны переговорить " +#~ "с %(jid)s напрямую (лично или по телефону) и убедиться, что он " +#~ "видит ту же Short Authentication String (SAS), что и вы.\n" +#~ "\n" +#~ "Short Authentication String этого сеанса %(sas)s" + +#~ msgid "Did you talk to the remote contact and verify the SAS?" +#~ msgstr "Вы переговорили с удаленным контактом и удостоверили SAS?" + +#~ msgid "" +#~ "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "" +#~ "Ключ (%s) контакта не соответствует ключу, присвоенному в Gajim." + +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages." +#~ msgstr "" +#~ "Этому контакту не присвоен ключ OpenPGP, поэтому вы не можете зашифровать " +#~ "сообщения." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP key is assigned to this contact, but you do not trust their " +#~ "key, so message cannot be encrypted. Use your OpenPGP client " +#~ "to trust their key." +#~ msgstr "" +#~ "Этому контакту присвоен ключ OpenPGP, но вы не доверяете этому ключу. Таким образом, сообщения не могут быть зашифрованы. " +#~ "Воспользуйтесь вашим OpenPGP клиентом для того, чтобы выставить доверие " +#~ "данному ключу" + +#, fuzzy +#~ msgid "" +#~ "OpenPGP Key is assigned to this contact, and you trust their key, so " +#~ "messages will be encrypted." +#~ msgstr "" +#~ "Этому контакту присвоен ключ OpenPGP, и вы доверяете этому ключу. Таким " +#~ "образом, сообщения будут зашифрованы." + +#~ msgid "" +#~ "This icon indicates that this message has not yet\n" +#~ "been received by the remote end. If this icon stays\n" +#~ "for a long time, it's likely the message got lost." +#~ msgstr "" +#~ "Этот знак означает, что сообщение не было получено адресатом.\n" +#~ "Если иконка не пропадает долгое время,\n" +#~ "это означает, что сообщение потеряно." + +#~ msgid "" +#~ "If True, listen to D-Bus signals from NetworkManager and change the " +#~ "status of accounts (provided they do not have listen_to_network_manager " +#~ "set to False and they sync with global status) based upon the status of " +#~ "the network connection." +#~ msgstr "" +#~ "Если активно, тогда «слушать» сообщения от NetworkManager по D-Bus и " +#~ "изменять статус учетных записей в зависимости от состояния сетевого " +#~ "соединения (необходимо, чтобы учетные записи не имели установленной в " +#~ "«Неактивно» опции listen_to_network_manager и они должны синхронизировать " +#~ "свой статус с глобальным)" + +#~ msgid "" +#~ "The database file (%s) cannot be read. Try to repair it or remove it (all " +#~ "history will be lost)." +#~ msgstr "" +#~ "Файл базы данных (%s) не может быть прочитан. Попробуйте восстановить его " +#~ "или удалить (вся история будет утеряна)." + +#~ msgid "Database cannot be read." +#~ msgstr "База данных не может быть загружена." + +#~ msgid "A message from a non-valid JID arrived, it has been ignored." +#~ msgstr "Было получено сообщение от неверного JID, оно было проигнорировано." + +#~ msgid "Smooth scroll message in conversation window" +#~ msgstr "Плавно прокручивать сообщения в окне чата" + +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "Редактировать _списки доступа..." + +#~ msgid "_Administrator" +#~ msgstr "_Администрирование" + +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "" +#~ "Отправляет сообщение пользователям, подсоединенным к серверу в данный " +#~ "момент" + +#~ msgid "Sets Message of the Day" +#~ msgstr "Устанавливает сообщение дня" + +#~ msgid "Updates Message of the Day" +#~ msgstr "Обновляет сообщение дня" + +#~ msgid "Deletes Message of the Day" +#~ msgstr "Удаляет сообщение дня." + +#~ msgid "Add _Contact..." +#~ msgstr "_Добавить контакт..." + +#~ msgid "Profile, A_vatar" +#~ msgstr "Профиль и _аватар" + +#~ msgid "P_lugins" +#~ msgstr "Мо_дули" + +#~ msgid "File _Transfers" +#~ msgstr "_Передачи" + +#~ msgid "Help online" +#~ msgstr "Помощь онлайн" + +#~ msgid "Frequently Asked Questions (online)" +#~ msgstr "Часто задаваемые вопросы (онлайн)" + +#~ msgid "Fea_tures" +#~ msgstr "Возможнос_ти" + +#~ msgid "to %s account" +#~ msgstr "для учетной записи %s" + +#~ msgid "using %s account" +#~ msgstr "учетной записи %s" + +#~ msgid "of account %s" +#~ msgstr "для учетной записи %s" + +#~ msgid "for account %s" +#~ msgstr "для учетной записи %s" + +#~ msgid "" +#~ "By removing this contact you also remove authorization resulting in him " +#~ "or her always seeing you as offline." +#~ msgstr "" +#~ "Удаляя контакт, вы одновременно удалите авторизацию, и этот человек " +#~ "больше не сможет видеть ваш статус." + +#~ msgid "Message Body xmpp.org/getting-started" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:646 +#, fuzzy +msgid "_Please choose a server" +msgstr "Vytvorte, prosím, čisto novú tému z vami požadovaným názvom." + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "" + +#: gajim/data/gui/application_menu.ui:8 +#, fuzzy +msgid "_Start / Join Chat…" +msgstr "Začať rozhovor" + +#: gajim/data/gui/application_menu.ui:13 +#, fuzzy +msgid "Create _Group Chat…" +msgstr "Opustiť diskusnú skupinu" + +#: gajim/data/gui/application_menu.ui:18 +#, fuzzy +msgid "_History Manager" +msgstr "Správca histórie" + +#: gajim/data/gui/application_menu.ui:22 +#, fuzzy +msgid "Pl_ugins" +msgstr "Registrácia zlyhala" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +#, fuzzy +msgid "_Preferences" +msgstr "Predvoľby" + +#: gajim/data/gui/application_menu.ui:36 +#, fuzzy +msgid "_Accounts" +msgstr "Účty" + +#: gajim/data/gui/application_menu.ui:39 +#, fuzzy +msgid "_View" +msgstr "_Zobraziť" + +#: gajim/data/gui/application_menu.ui:46 +#, fuzzy +msgid "Show _Offline Contacts" +msgstr "Zobraziť _odhlásené kontakty" + +#: gajim/data/gui/application_menu.ui:50 +#, fuzzy +msgid "Show _Active Contacts" +msgstr "Zobraziť len _aktívne kontakty" + +#: gajim/data/gui/application_menu.ui:54 +#, fuzzy +msgid "Show _Transports" +msgstr "Zobraziť trans_porty" + +#: gajim/data/gui/application_menu.ui:60 +#, fuzzy +msgid "_XML Console" +msgstr "XML konzola" + +#: gajim/data/gui/application_menu.ui:64 +#, fuzzy +msgid "_File Transfer" +msgstr "Prenos súborov" + +#: gajim/data/gui/application_menu.ui:74 +#, fuzzy +msgid "_Help" +msgstr "_Pomocník" + +#: gajim/data/gui/application_menu.ui:77 +#, fuzzy +msgid "_Wiki (Online)" +msgstr "Prítomný" + +#: gajim/data/gui/application_menu.ui:81 +#, fuzzy +msgid "FA_Q (Online)" +msgstr "Prítomný" + +#: gajim/data/gui/application_menu.ui:85 +msgid "_Keyboard Shortcuts" +msgstr "" + +#: gajim/data/gui/application_menu.ui:89 +#, fuzzy +msgid "_Features" +msgstr "Funkcie" + +#: gajim/data/gui/application_menu.ui:93 +#, fuzzy +msgid "_About" +msgstr "O mne" + +#: gajim/data/gui/filetransfer_progress.ui:125 +msgid "Speed" +msgstr "" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +#, fuzzy +msgid "OK" +msgstr "_OK" + +#: gajim/data/gui/plugins_window.ui:55 +msgid "Install Plugin from ZIP-File" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:56 +msgid "Install from File…" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:70 +msgid "Uninstall Plugin" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:116 +#, fuzzy +msgid "" +msgstr "Registrácia zlyhala" + +#: gajim/data/gui/plugins_window.ui:133 +#, fuzzy +msgid "Plugin Settings" +msgstr "Registrácia zlyhala" + +#: gajim/data/gui/plugins_window.ui:215 +#, fuzzy +msgid "" +msgstr "Popis" + +#: gajim/data/gui/plugins_window.ui:239 +#, fuzzy +msgid "Version" +msgstr "Verzia GTK+:" + +#: gajim/data/gui/plugins_window.ui:271 +#, fuzzy +msgid "Authors" +msgstr "Au_torizovať" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +#, fuzzy +msgid "Homepage" +msgstr "Domovská stránka:" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:349 +msgid "Installed" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:363 +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +msgid "Synchronise contacts" +msgstr "Synchronizovať kontakty" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "Zvoľte účet, s ktorým sa chcete synchronizovať" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +#, fuzzy +msgid "_Name" +msgstr "_Názov:" + +#: gajim/data/gui/groupchat_creation.ui:122 +#, fuzzy +msgid "_Description" +msgstr "Popis" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +#, fuzzy +msgid "_Address" +msgstr "_Adresa:" + +#: gajim/data/gui/groupchat_creation.ui:278 +#, fuzzy +msgid "_Account" +msgstr "Úč_ty" + +#: gajim/data/gui/profile.ui:33 +#, fuzzy +msgid "Contact Infos" +msgstr "Kontaktné informácie" + +#: gajim/data/gui/profile.ui:45 +#, fuzzy +msgid "Picture and Name" +msgstr "Obrázok, ktorý sa použije" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "" + +#: gajim/data/gui/profile.ui:198 +#, fuzzy +msgid "Change your profile picture" +msgstr "Zmeniť vašu prezývku (Ctrl+N)" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:298 +#, fuzzy +msgid "Add Entry" +msgstr "Záznam:" + +#: gajim/data/gui/profile.ui:410 +#, fuzzy +msgid "Update" +msgstr "Aktualizovať správu dňa..." + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:15 +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:65 +#, fuzzy +msgid "Add Proxy" +msgstr "Proxy:" + +#: gajim/data/gui/manage_proxies.ui:79 +#, fuzzy +msgid "Remove Proxy" +msgstr "Odstrániť skupinu" + +#: gajim/data/gui/manage_proxies.ui:131 +#, fuzzy +msgid "Pass_word" +msgstr "He_slo:" + +#: gajim/data/gui/manage_proxies.ui:156 +msgid "Use proxy auth_entication" +msgstr "Použiť proxy aut_entifikáciu" + +#: gajim/data/gui/manage_proxies.ui:176 +#, fuzzy +msgid "_Username" +msgstr "_Používateľské meno:" + +#: gajim/data/gui/manage_proxies.ui:237 +#, fuzzy +msgid "_Host" +msgstr "_Hostiteľ:" + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "Miestne jid:" + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "Zdroj:" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "Stav:" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +#, fuzzy +msgid "_Store conversation history" +msgstr "Zaznamenávať históriu k_onverzácie" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +msgid "Contact" +msgstr "Kontakt" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +msgid "First Name:" +msgstr "Prvé meno:" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +msgid "Last Name:" +msgstr "Posledné meno:" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +#, fuzzy +msgid "XMPP Address:" +msgstr "AIM adresa:" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "E-mail:" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +msgid "Personal" +msgstr "Osobné" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "_Stav" + +#: gajim/data/gui/account_context_menu.ui:20 +msgid "_Personal Events" +msgstr "_Osobné udalosti" + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "_Pridať kontakt..." + +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "_Preskúmať služby" + +#: gajim/data/gui/account_context_menu.ui:57 +msgid "_Execute Command..." +msgstr "_Vykonať príkaz..." + +#: gajim/data/gui/account_context_menu.ui:65 +#, fuzzy +msgid "_View Server Info" +msgstr "Server" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:125 +#, fuzzy +msgid "Global Group Chat Search" +msgstr "Pripojiť sa k diskusnej skupine" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +#, fuzzy +msgid "_Back" +msgstr "Hneď som späť" + +#: gajim/data/gui/start_chat_dialog.ui:386 +#, fuzzy +msgid "Select Account" +msgstr "Odstraňuje sa účet %s" + +#: gajim/data/gui/start_chat_dialog.ui:477 +msgid "_Select" +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +#, fuzzy +msgid "Configure" +msgstr "_Nastavovať" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +msgid "Create new post" +msgstr "Vytvoriť novú správu" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "S_tav" + +#: gajim/data/gui/systray_context_menu.ui:20 +msgid "_Start Chat..." +msgstr "_Začať rozhovor..." + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "Poslať krátku _správu..." + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "Zobraziť všetky čakajúce _udalosti" + +#: gajim/data/gui/systray_context_menu.ui:52 +msgid "Mute Sounds" +msgstr "Stlmiť zvuky" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +#, fuzzy +msgid "Contact List" +msgstr "Kontakty" + +#: gajim/data/gui/shortcuts_window.ui:24 +#, fuzzy +msgid "Create new group chat" +msgstr "Opustiť diskusnú skupinu" + +#: gajim/data/gui/shortcuts_window.ui:45 +#, fuzzy +msgid "File transfers" +msgstr "Prenos súborov" + +#: gajim/data/gui/shortcuts_window.ui:52 +#, fuzzy +msgid "Set the status message" +msgstr "správa o stave" + +#: gajim/data/gui/shortcuts_window.ui:59 +#, fuzzy +msgid "Show XML console" +msgstr "Zobraziť _XML konzolu" + +#: gajim/data/gui/shortcuts_window.ui:74 +#, fuzzy +msgid "Appearance" +msgstr "Vzhľad rozhovoru" + +#: gajim/data/gui/shortcuts_window.ui:79 +#, fuzzy +msgid "Show offline contacts" +msgstr "Zobraziť _odhlásené kontakty" + +#: gajim/data/gui/shortcuts_window.ui:86 +#, fuzzy +msgid "Show only active contacts" +msgstr "Zobraziť len _aktívne kontakty" + +#: gajim/data/gui/shortcuts_window.ui:93 +msgid "Enable contact list filtering" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:100 +#, fuzzy +msgid "Show / hide contact list" +msgstr "Zobraziť len _aktívne kontakty" + +#: gajim/data/gui/shortcuts_window.ui:113 +#, fuzzy +msgid "Contact information" +msgstr "Kontaktné informácie" + +#: gajim/data/gui/shortcuts_window.ui:120 +#, fuzzy +msgid "Rename contact" +msgstr "Premenovať kontakt" + +#: gajim/data/gui/shortcuts_window.ui:127 +#, fuzzy +msgid "Delete contact" +msgstr "Poslať kontakty:" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +#, fuzzy +msgid "Chat" +msgstr "Rozhovory" + +#: gajim/data/gui/shortcuts_window.ui:142 +#, fuzzy +msgid "Message composition" +msgstr "Obsah správy" + +#: gajim/data/gui/shortcuts_window.ui:147 +#, fuzzy +msgid "Send the message" +msgstr "Poslať správu" + +#: gajim/data/gui/shortcuts_window.ui:154 +#, fuzzy +msgid "Add new line" +msgstr "Vytvoriť novú správu" + +#: gajim/data/gui/shortcuts_window.ui:161 +msgid "Select an emoji" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:168 +#, fuzzy +msgid "Complete a command or a nickname" +msgstr "Vytvorte, prosím, čisto novú tému z vami požadovaným názvom." + +#: gajim/data/gui/shortcuts_window.ui:175 +#, fuzzy +msgid "Previously sent message" +msgstr "Prednastavené správy:" + +#: gajim/data/gui/shortcuts_window.ui:182 +#, fuzzy +msgid "Next sent messages" +msgstr "Prednastavené správy:" + +#: gajim/data/gui/shortcuts_window.ui:189 +#, fuzzy +msgid "Quote previous message" +msgstr "správa o stave" + +#: gajim/data/gui/shortcuts_window.ui:196 +#, fuzzy +msgid "Quote next message" +msgstr "Poslať správu" + +#: gajim/data/gui/shortcuts_window.ui:203 +#, fuzzy +msgid "Clear message entry" +msgstr "Správa odoslaná" + +#: gajim/data/gui/shortcuts_window.ui:211 +#, fuzzy +msgid "Recent history" +msgstr "Posledné:" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:230 +#, fuzzy +msgid "Clear chat window" +msgstr "Použitie: /%s, vyčistí textové okno." + +#: gajim/data/gui/shortcuts_window.ui:237 +#, fuzzy +msgid "Show chat history" +msgstr "Posledné:" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:299 +#, fuzzy +msgid "Close chat" +msgstr "Zavrieť" + +#: gajim/data/gui/shortcuts_window.ui:312 +#, fuzzy +msgid "Change Nickname" +msgstr "Zmeniť p_rezývku..." + +#: gajim/data/gui/chat_control.ui:48 +#, fuzzy +msgid "Drop files or contacts" +msgstr "Poslať súbor kontaktu" + +#: gajim/data/gui/chat_control.ui:80 +#, fuzzy +msgid "1" +msgstr "Písmo" + +#: gajim/data/gui/chat_control.ui:101 +#, fuzzy +msgid "2 abc" +msgstr "Písmo" + +#: gajim/data/gui/chat_control.ui:121 +#, fuzzy +msgid "3 def" +msgstr "Písmo" + +#: gajim/data/gui/chat_control.ui:141 +#, fuzzy +msgid "4 ghi" +msgstr "Písmo" + +#: gajim/data/gui/chat_control.ui:161 +#, fuzzy +msgid "5 jkl" +msgstr "Písmo" + +#: gajim/data/gui/chat_control.ui:181 +#, fuzzy +msgid "6 mno" +msgstr "Písmo" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "" + +#: gajim/data/gui/chat_control.ui:221 +#, fuzzy +msgid "8 tuv" +msgstr "Písmo" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "" + +#: gajim/data/gui/chat_control.ui:261 +#, fuzzy +msgid "*" +msgstr "Písmo" + +#: gajim/data/gui/chat_control.ui:281 +#, fuzzy +msgid "0" +msgstr "Písmo" + +#: gajim/data/gui/chat_control.ui:301 +#, fuzzy +msgid "#" +msgstr "Písmo" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "Začať _rozhovor" + +#: gajim/data/gui/contact_context_menu.ui:28 +msgid "Send _File..." +msgstr "Poslať _súbor..." + +#: gajim/data/gui/contact_context_menu.ui:44 +msgid "Invite _Contacts" +msgstr "Pozvať _kontakty" + +#: gajim/data/gui/contact_context_menu.ui:58 +msgid "E_xecute Command..." +msgstr "Vy_konať príkaz..." + +#: gajim/data/gui/contact_context_menu.ui:67 +#, fuzzy +msgid "M_anage Contact" +msgstr "S_pravovať kontakt" + +#: gajim/data/gui/contact_context_menu.ui:77 +msgid "_Rename..." +msgstr "_Premenovať..." + +#: gajim/data/gui/contact_context_menu.ui:84 +msgid "Edit _Groups..." +msgstr "Upraviť _skupiny..." + +#: gajim/data/gui/contact_context_menu.ui:92 +msgid "Add Special _Notification..." +msgstr "Pridať špeciálne oz_námenie..." + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "_Požiadavky" + +#: gajim/data/gui/contact_context_menu.ui:115 +#, fuzzy +msgid "_Allow contact to see my status" +msgstr "P_ovoliť tomuto kontaktu vidieť môj stav" + +#: gajim/data/gui/contact_context_menu.ui:123 +#, fuzzy +msgid "A_sk to see contact status" +msgstr "P_ožiadať jeho/ju o súhlas k zobrazeniu stavu" + +#: gajim/data/gui/contact_context_menu.ui:131 +#, fuzzy +msgid "_Forbid contact to see my status" +msgstr "_Odmietnuť jemu/jej zobrazenie stavu" + +#: gajim/data/gui/contact_context_menu.ui:159 +msgid "_Unignore" +msgstr "_Neignorovať" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "_Ignorovať" + +#: gajim/data/gui/contact_context_menu.ui:174 +#, fuzzy +msgid "_Add to Contact List..." +msgstr "_Pridať kontakt..." + +#: gajim/data/gui/single_message_window.ui:42 +#, fuzzy +msgid "_To" +msgstr "Pre" + +#: gajim/data/gui/single_message_window.ui:71 +#, fuzzy +msgid "Su_bject" +msgstr "Predmet" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "" + +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "_Správa" + +#: gajim/data/gui/single_message_window.ui:144 +#, fuzzy +msgid "Characters typed: 0" +msgstr "Znak nie je povolený" + +#: gajim/data/gui/single_message_window.ui:189 +#, fuzzy +msgid "_From" +msgstr "Od" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "Poš_li" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "Poslať správu" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "_Odpovedať" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "Odpoveď na túto správu" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "_Poslať a zatvoriť" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "Poslať správu a zatvoriť okno" + +#: gajim/data/gui/vcard_information_window.ui:106 +#, fuzzy +msgid "Client" +msgstr "Klient:" + +#: gajim/data/gui/vcard_information_window.ui:140 +#, fuzzy +msgid "Contact time" +msgstr "Meno kontaktu" + +#: gajim/data/gui/vcard_information_window.ui:240 +#, fuzzy +msgid "User avatar" +msgstr "Avatar:" + +#: gajim/data/gui/vcard_information_window.ui:255 +#, fuzzy +msgid "Configured avatar" +msgstr "Nastavovaný avatar:" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +msgid "Ask" +msgstr "" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +#, fuzzy +msgid "Subscription" +msgstr "Zápis: " + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +#, fuzzy +msgid "Extra Address" +msgstr "Ďaľšia adresa:" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +msgid "Address" +msgstr "Adresa" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +#, fuzzy +msgid "E-Mail" +msgstr "E-mail:" + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "Formát: YYYY-MM-DD" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +#, fuzzy +msgid "Family" +msgstr "Priezvisko:" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +#, fuzzy +msgid "Middle" +msgstr "Stred týždňa" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +#, fuzzy +msgid "Prefix" +msgstr "Predvoľby" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +msgid "Given" +msgstr "" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +#, fuzzy +msgid "Suffix" +msgstr "Titul za:" + +#: gajim/data/gui/vcard_information_window.ui:958 +#, fuzzy +msgid "Name Details" +msgstr "Meno:" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "" + +#: gajim/data/gui/vcard_information_window.ui:1017 +msgid "Personal Info" +msgstr "Osobné informácie" + +#: gajim/data/gui/vcard_information_window.ui:1040 +#, fuzzy +msgid "Company" +msgstr "Spoločnosť:" + +#: gajim/data/gui/vcard_information_window.ui:1073 +#, fuzzy +msgid "Department" +msgstr "Oddelenie:" + +#: gajim/data/gui/vcard_information_window.ui:1104 +#, fuzzy +msgid "Position" +msgstr "Podmienka" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "Rola" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "O mne" + +#: gajim/data/gui/vcard_information_window.ui:1514 +msgid "Comments" +msgstr "Komentáre" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "Upraviť skupiny" + +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "Passfráza" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +#, fuzzy +msgid "Themes" +msgstr "Téma" + +#: gajim/data/gui/themes_window.ui:171 +#, fuzzy +msgid "Add Setting" +msgstr "Registrácia zlyhala" + +#: gajim/data/gui/themes_window.ui:204 +#, fuzzy +msgid "Add new Theme" +msgstr "Vytvoriť novú správu" + +#: gajim/data/gui/themes_window.ui:219 +#, fuzzy +msgid "Remove Theme" +msgstr "Aktívne" + +#: gajim/data/gui/bookmarks.ui:120 +#, fuzzy +msgid "Autojoin" +msgstr "Automaticky pripojiť" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "" + +#: gajim/data/gui/preferences.ui:68 +#, fuzzy +msgid "Contact List Appearance" +msgstr "Kontakt odpojený" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +#, fuzzy +msgid "Chats" +msgstr "Rozhovory" + +#: gajim/data/gui/preferences.ui:215 +#, fuzzy +msgid "Visual Notifications" +msgstr "Vizuálne oznámenie" + +#: gajim/data/gui/preferences.ui:243 +#, fuzzy +msgid "Sounds" +msgstr "Wav zvuky" + +#: gajim/data/gui/preferences.ui:303 +#, fuzzy +msgid "Ask For Status Message on…" +msgstr "Vyžiadať správu o stave, keď som:" + +#: gajim/data/gui/preferences.ui:331 +#, fuzzy +msgid "Automatic Status Change" +msgstr "Automatický stav" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "" + +#: gajim/data/gui/preferences.ui:447 +#, fuzzy +msgid "Status Icon" +msgstr "Zostava stavových _ikôn:" + +#: gajim/data/gui/preferences.ui:472 +msgid "Style" +msgstr "Štýl" + +#: gajim/data/gui/preferences.ui:511 +#, fuzzy +msgid "Show _Features" +msgstr "Funkcie" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:632 +#, fuzzy +msgid "Audio" +msgstr "Zvukový test" + +#: gajim/data/gui/preferences.ui:660 +#, fuzzy +msgid "Video" +msgstr "Video test" + +#: gajim/data/gui/preferences.ui:698 +#, fuzzy +msgid "Audio/Video" +msgstr "Zvuk / Video" + +#: gajim/data/gui/preferences.ui:735 +#, fuzzy +msgid "Miscellaneous" +msgstr "Rôzne" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:821 +#, fuzzy +msgid "Advanced Configuration Editor… " +msgstr "Editor rozšírenej konfigurácie" + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "" + +#: gajim/data/gui/server_info.ui:50 +#, fuzzy +msgid "Server Software" +msgstr "Vlastnosti servera" + +#: gajim/data/gui/server_info.ui:80 +#, fuzzy +msgid "Server Uptime" +msgstr "Server odpovedal: %s" + +#: gajim/data/gui/server_info.ui:109 +#, fuzzy +msgid "Contact Addresses" +msgstr "Správa kontaktu:" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "" + +#: gajim/data/gui/server_info.ui:177 +#, fuzzy +msgid "Proxy Type" +msgstr "Proxy:" + +#: gajim/data/gui/server_info.ui:192 +#, fuzzy +msgid "No proxy used" +msgstr "Proxy:" + +#: gajim/data/gui/server_info.ui:202 +#, fuzzy +msgid "View _Certificate" +msgstr "Certifikát podpísaný sám sebou" + +#: gajim/data/gui/server_info.ui:222 +#, fuzzy +msgid "Proxy Host" +msgstr "_Hostiteľ proxy:" + +#: gajim/data/gui/server_info.ui:421 +#, fuzzy +msgid "Copy info to clipboard" +msgstr "_Kopírovať umiestnenie odkazu" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:153 +#, fuzzy +msgid "Serial Number" +msgstr "GG číslo:" + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:304 +msgid "Expires on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:465 +#, fuzzy +msgid "Copy Certificate Information" +msgstr "Kontaktné informácie" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "Pozvať priateľov!" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +#, fuzzy +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "Vyberte kontakty, ktoré chcete synchronizovať" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +#, fuzzy +msgid "Please select a group chat server." +msgstr "Prosím, zvolte MUC server." + +#: gajim/data/gui/chat_to_muc_window.ui:141 +#, fuzzy +msgid "Group chat server" +msgstr "Diskuné skupiny" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +msgid "In_vite" +msgstr "Poz_vať" + +#: gajim/data/gui/mam_preferences.ui:53 +#, fuzzy +msgid "_Default" +msgstr "Predvolené" + +#: gajim/data/gui/mam_preferences.ui:136 +#, fuzzy +msgid "Archive" +msgstr "Súbor je prázdny" + +#: gajim/data/gui/history_manager.ui:11 +#, fuzzy +msgid "_Export" +msgstr "Exportovať" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +msgid "Gajim History Logs Manager" +msgstr "Gajim - správca histórie" + +#: gajim/data/gui/history_manager.ui:104 +#, fuzzy +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" +"Tento správca záznamov nie je určený k prezeraniu záznamov. Ak hľadáte " +"lepšiu funkčnosť, použite na to určené okno histórie.\n" +"\n" +"Použite tento program k odstráneniu alebo exportovaniu záznamov. Môžete " +"vybrať záznam z ľava a/alebo dole hľadať v databáze." + +#: gajim/data/gui/history_manager.ui:120 +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" +"UPOZORNENIE:\n" +"Ak plánujete rozsiahlejšie odstraňovanie, uistite sa prosím, že Gajim " +"nebeží. Spravidla sa vyvarujte odstraňovaniu v kontaktoch, s ktorými " +"prebieha rozhovor." + +#: gajim/data/gui/history_manager.ui:211 +#, fuzzy +msgid "Search database..." +msgstr "_Hľadať v databáze" + +#: gajim/data/gui/history_manager.ui:226 +#, fuzzy +msgid "Search in database" +msgstr "_Hľadať v databáze" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" + +#: gajim/data/gui/groupchat_invite.ui:69 +#, fuzzy +msgid "Invitees" +msgstr "Poz_vať" + +#: gajim/data/gui/groupchat_invite.ui:153 +#, fuzzy +msgid "Search contacts..." +msgstr "_Hľadať v databáze" + +#: gajim/data/gui/groupchat_invite.ui:223 +#, fuzzy +msgid "Click on contacts you would like to invite to this group chat." +msgstr "%(nick)s bol odstránený z miestnosti (%(reason)s)" + +#: gajim/data/gui/service_discovery_window.ui:148 +#, fuzzy +msgid "Go" +msgstr "Ch_oď" + +#: gajim/data/gui/status_change_window.ui:27 +#, fuzzy +msgid "Change Status" +msgstr "Zmeniť stav" + +#: gajim/data/gui/status_change_window.ui:56 +#, fuzzy +msgid "Status Presets…" +msgstr "Správa o stave" + +#: gajim/data/gui/status_change_window.ui:72 +msgid "Save this message as a preset" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:130 +#, fuzzy +msgid "Ac_tivity" +msgstr "Aktivita" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:278 +#, fuzzy +msgid "_Change Status" +msgstr "Zmeniť stav" + +#: gajim/data/gui/status_change_window.ui:313 +#, fuzzy +msgid "Activity" +msgstr "Aktivita:" + +#: gajim/data/gui/status_change_window.ui:326 +#, fuzzy +msgid "_No Activity" +msgstr "Aktivita:" + +#: gajim/data/gui/status_change_window.ui:729 +msgid "Mood" +msgstr "Nálada" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +#, fuzzy +msgid "Author" +msgstr "Au_torizovať" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +#, fuzzy +msgid "Group Chat Language" +msgstr "Pozvánka do diskusnej skupiny" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +#, fuzzy +msgid "Copy Address" +msgstr "_Kopírovať JID/e-mailovú adresu" + +#: gajim/data/gui/emoji_chooser.ui:98 +#, fuzzy +msgid "No Results Found" +msgstr "Žiadny výsledok" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr "XML konzola" + +#: gajim/data/gui/xml_console.ui:131 +#, fuzzy +msgid "Start Search..." +msgstr "_Začať rozhovor..." + +#: gajim/data/gui/xml_console.ui:260 +#, fuzzy +msgid "Clear" +msgstr "Upratujem" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "" + +#: gajim/data/gui/xml_console.ui:316 +#, fuzzy +msgid "Presets" +msgstr "_Prítomnosť" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "Synchronizovať: vyberte kontakty" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +msgid "Select the contacts you want to synchronise" +msgstr "Vyberte kontakty, ktoré chcete synchronizovať" + +#: gajim/data/gui/groupchat_config.ui:51 +#, fuzzy +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" +"Je možné použiť niektorú z nasledujúcich možností:\n" +"1. používateľ@doména/zdroj (práve jeden zdroj).\n" +"2. používateľ@doména (ľubovoľný zdroj).\n" +"3. doména/zdroj (práve jeden zdroj).\n" +"4. doména (doména sama o sebe, ľubovoľný používateľ@doména,\n" +"doména/zdroj, alebo adresa obsahujúca subdoménu)." + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:309 +#, fuzzy +msgid "Reserved Name" +msgstr "Názov vlastnosti" + +#: gajim/data/gui/groupchat_config.ui:346 +#, fuzzy +msgid "Affiliation" +msgstr "Pričlenenie:" + +#: gajim/data/gui/groupchat_config.ui:377 +#, fuzzy +msgid "Affiliations" +msgstr "Aplikácie" + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "Dôvod" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "Čierna listina" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "_Zakázať" + +#: gajim/data/gui/subscription_request_window.ui:34 +#, fuzzy +msgid "_Block User" +msgstr "_Blokovať" + +#: gajim/data/gui/subscription_request_window.ui:49 +#, fuzzy +msgid "_Report as Spam" +msgstr "Sp_ráva o chybe" + +#: gajim/data/gui/subscription_request_window.ui:212 +#, fuzzy +msgid "_Deny…" +msgstr "_Zakázať" + +#: gajim/data/gui/subscription_request_window.ui:225 +#, fuzzy +msgid "Ac_cept" +msgstr "Prijať" + +#: gajim/data/gui/subscription_request_window.ui:230 +#, fuzzy +msgid "Allows the contact to see your online status" +msgstr "P_ovoliť tomuto kontaktu vidieť môj stav" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:115 +#, fuzzy +msgid "_Report Bug" +msgstr "Sp_ráva o chybe" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "Udalosť" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "Vybrať zvuk" + +#: gajim/data/gui/manage_sounds.ui:97 +#, fuzzy +msgid "Clear Sound" +msgstr "Vybrať zvuk" + +#: gajim/data/gui/manage_sounds.ui:118 +#, fuzzy +msgid "Play Sound" +msgstr "Prehrať _zvuky" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +#, fuzzy +msgid "_Send Files" +msgstr "Poslať _súbor" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +#, fuzzy +msgid "Send" +msgstr "_Poslať" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +#, fuzzy +msgid "Files to send" +msgstr "Vyberte súbor na odoslanie..." + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +#, fuzzy +msgid "Add Files" +msgstr "Súbor:" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +#, fuzzy +msgid "Remove Files" +msgstr "O_dstrániť" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +#, fuzzy +msgid "Idle since:" +msgstr " od %s" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +msgid "Mood:" +msgstr "Nálada:" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +msgid "Activity:" +msgstr "Aktivita:" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +#, fuzzy +msgid "Tune:" +msgstr "Pieseň:" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +#, fuzzy +msgid "Location:" +msgstr "Umiestnenie:" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +#, fuzzy +msgid "Subscription:" +msgstr "Zápis: " + +#: gajim/data/gui/advanced_configuration.ui:15 +#, fuzzy +msgid "A restart may be required for some settings to take effect" +msgstr "POZNÁMKA: Musíte reštartovať Gajim, aby boli použité zmeny" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "" + +#: gajim/data/gui/advanced_configuration.ui:120 +#, fuzzy +msgid "_Reset Value" +msgstr "Náv_rat k pôvodnému nastaveniu farieb" + +#: gajim/data/gui/advanced_configuration.ui:125 +#, fuzzy +msgid "Resets value to default" +msgstr "Náv_rat k pôvodnému nastaveniu farieb" + +#: gajim/data/gui/history_window.ui:27 +#, fuzzy +msgid "Display status changes" +msgstr "_Zaznamenať zmenu stavu kontaktu" + +#: gajim/data/gui/history_window.ui:57 +msgid "History Manager" +msgstr "Správca histórie" + +#: gajim/data/gui/history_window.ui:233 +#, fuzzy +msgid "Mode" +msgstr "Moderátor" + +#: gajim/data/gui/history_window.ui:246 +#, fuzzy +msgid "Search complete history" +msgstr "Posledné:" + +#: gajim/data/gui/history_window.ui:263 +msgid "Search selected day only" +msgstr "" + +#: gajim/data/gui/history_window.ui:317 +#, fuzzy +msgid "Store history for this chat" +msgstr "Ignorovať túto chybu pre tento certifikát." + +#: gajim/data/gui/history_window.ui:332 +#, fuzzy +msgid "Store History" +msgstr "Posledné:" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +#, fuzzy +msgid "Identified Error" +msgstr "Chyba SSL certifikátu" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +#, fuzzy +msgid "" +msgstr "Chyba" + +#: gajim/data/gui/ssl_error_dialog.ui:74 +#, fuzzy +msgid "Add this certificate to the list of _trusted certificates" +msgstr "" +"Pridať tento certifikát do zoznamu dôverných certifikátov.SHA1 odtlačok " +"certifikátu:\n" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +#, fuzzy +msgid "_View Certificate" +msgstr "Certifikát podpísaný sám sebou" + +#: gajim/data/gui/ssl_error_dialog.ui:120 +#, fuzzy +msgid "_Connect" +msgstr "Pripojený" + +#: data/org.gajim.Gajim.desktop.in:5 +#, fuzzy +msgid "XMPP Chat Client" +msgstr "Jabber IM klient" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:8 +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:27 +#, fuzzy +msgid "Show next pending event" +msgstr "Zobraziť všetky čakajúce _udalosti" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:17 +#, fuzzy +msgid "Features:" +msgstr "Funkcie" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +#, fuzzy +msgid "Automatic spell-checking for your messages" +msgstr "Kontrolovať pravopis vo vytvorených správach." + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +#, fuzzy +msgid "Support for service discovery including nodes and search for users" +msgstr "Prehliadanie služieb s použitím účtu %s" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +#, fuzzy +msgid "Contact list" +msgstr "Kontakty" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +#, fuzzy +msgid "Group chat support" +msgstr "Diskuné skupiny" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +#, fuzzy +msgid "Chat history" +msgstr "Posledné:" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +#, fuzzy +msgid "Plugin manager" +msgstr "Registrácia zlyhala" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +#, fuzzy +msgid "Gajim Team" +msgstr "gajim-remote" + +#, fuzzy +#~ msgid "Chat Settings" +#~ msgstr "Registrácia zlyhala" + +#, fuzzy, python-format +#~ msgid "%i day" +#~ msgid_plural "%i days" +#~ msgstr[0] "Pred %i dňami" +#~ msgstr[1] "Pred %i dňami" +#~ msgstr[2] "Pred %i dňami" + +#, fuzzy +#~ msgid "Composing only" +#~ msgstr "Píše správu" + +#, fuzzy +#~ msgid "All chat states" +#~ msgstr "Všetky stavy" + +#~ msgid "Privacy Lists" +#~ msgstr "Súkromné zoznamy" + +#, fuzzy +#~ msgid "Unblock" +#~ msgstr "_Odblokovať" + +#, fuzzy +#~ msgid "Block" +#~ msgstr "_Blokovať" + +#~ msgid "None" +#~ msgstr "Žiadny" + +#, python-format +#~ msgid "%s Status Message" +#~ msgstr "%s správa o stave" + +#~ msgid "an audio and video" +#~ msgstr "zvuk a video" + +#~ msgid "an audio" +#~ msgstr "zvuk" + +#~ msgid "a video" +#~ msgstr "video" + +#~ msgid "Could not load image" +#~ msgstr "Nie je možné načítať obrázok" + +#~ msgid "Error." +#~ msgstr "Chyba." + +#, fuzzy +#~ msgid "_Block Contact" +#~ msgstr "Blokované kontakty" + +#, fuzzy +#~ msgid "Block Group" +#~ msgstr "_Blokovať" + +#, fuzzy +#~ msgid "Really block this group?" +#~ msgstr "Má tento kontakt k dispozícii OpenPGP?" + +#, fuzzy +#~ msgid "_Block Group" +#~ msgstr "_Blokovať" + +#~ msgid "No account available" +#~ msgstr "Žiadne účty nie sú dostupné" + +#~ msgid "You must create an account before you can chat with other contacts." +#~ msgstr "" +#~ "Musíte si vytvoriť účet predtým, než budete môcť komunikovať s ostatnými." + +#~ msgid "Metacontacts storage not supported by your server" +#~ msgstr "Server nepodporuje ukladanie metakontaktov" + +#, fuzzy +#~ msgid "" +#~ "Your server does not support storing metacontacts information. So this " +#~ "information will not be saved on next reconnection." +#~ msgstr "" +#~ "Váš server nepodporuje ukladanie informácií metakontaktov. Tak tieto " +#~ "informácie nebudú uložené pri ďalšom prihlásení." + +#, fuzzy, python-brace-format +#~ msgid "You are invited to {room} by {user}" +#~ msgstr "Ste pozvaný do diskusnej skupiny" + +#, python-format +#~ msgid "%s wants to start a voice chat." +#~ msgstr "%s chce začať hlasový rozhovor." + +#~ msgid "Could not save your settings and preferences" +#~ msgstr "Nie je možné uložiť nastavenia" + +#, fuzzy +#~ msgid "Error While Removing Privacy List" +#~ msgstr "Chyba počas odstraňovania súkromného zoznamu" + +#, fuzzy, python-format +#~ msgid "" +#~ "Privacy list %s has not been removed. It is probably active in one of " +#~ "your connected resources. Please deactivate it and try again." +#~ msgstr "" +#~ "Súkromný zoznam %s nebol odstránený. Možno je používaný jedným z vašich " +#~ "pripojených zdrojov. Deaktivujte ho a skúste to znovu." + +#, fuzzy +#~ msgid "Invisibility Not Supported" +#~ msgstr "Neviditeľnosť nie je podporovaná" + +#, fuzzy, python-format +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "Účet %s nepodporuje neviditeľnosť." + +#, fuzzy +#~ msgid "Could not request upload slot for HTTP File Upload" +#~ msgstr "Nie je možné spustiť lokálnu službu" + +#, fuzzy +#~ msgid "Not Secure" +#~ msgstr "Nezačal" + +#, fuzzy +#~ msgid "Could not Upload File" +#~ msgstr "Nie je možné načítať obrázok" + +#~ msgid "Lists all preferences and their values" +#~ msgstr "Výpis všetkých nastavení a ich hodnôt" + +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "Nastavuje hodnotu 'kľúča' na 'hodnotu'." + +#~ msgid "key=value" +#~ msgstr "kľúč=hodnota" + +#, fuzzy +#~ msgid "'key' is the name of the preference, 'value' is what to set it to" +#~ msgstr "" +#~ "'kľúč' je názov vlastnosti, 'hodnota' je hodnota, na ktorú má byť " +#~ "nastavený" + +#~ msgid "Deletes a preference item" +#~ msgstr "Odstrániť položku predvoľby" + +#~ msgid "key" +#~ msgstr "kľúč" + +#~ msgid "name of the preference to be deleted" +#~ msgstr "názov nastavenia, ktoré má byť zmazané" + +#~ msgid "Writes the current state of Gajim preferences to the .config file" +#~ msgstr "Zapíše aktuálny stav nastavení programu Gajim do súboru .config" + +#, python-format +#~ msgid "%s is a directory but should be a file" +#~ msgstr "%s je priečinok ale mal byť súbor" + +#, fuzzy, python-format +#~ msgid "Creating %s" +#~ msgstr "jem" + +#, python-format +#~ msgid "%(nickname)s Signed In" +#~ msgstr "%(nickname)s sa prihlásil" + +#~ msgid "Contact Signed In" +#~ msgstr "Kontakt sa prihlasil" + +#, python-format +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "%(nickname)s sa odhlásil" + +#~ msgid "Contact Signed Out" +#~ msgstr "Kontakt sa odhlásil" + +#, fuzzy +#~ msgid "" +#~ "Show desktop notification even when a chat window is opened for this " +#~ "contact and does not have focus." +#~ msgstr "" +#~ "Povoliť vyskakovacie okná/oznámenia v stavoch _preč/nedostupný/zamestnaný/" +#~ "neviditeľný" + +#~ msgid "default" +#~ msgstr "predvolená" + +#, fuzzy +#~ msgid "" +#~ "Character to propose to add after desired nickname when nickname is " +#~ "already used in group chat." +#~ msgstr "" +#~ "Vaša prezývka sa zhoduje s inou prezývkou v diskusnej miestnosti aj po " +#~ "pripojení znaku." + +#, fuzzy +#~ msgid "If enabled, Gajim displays the avatar in the chat window." +#~ msgstr "Ak nie je pravda, neuvidíte avatarov v diskusnom okne" + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending password on an plaintext connection. " +#~ "Can be 'warn', or 'none'." +#~ msgstr "Zobraziť upozornenie pred poslaním hesla cez plaintext spojenie." + +#~ msgid "I'm available." +#~ msgstr "Prítomný." + +#~ msgid "I'm free for chat." +#~ msgstr "Mám čas na rozhovor." + +#~ msgid "Be right back." +#~ msgstr "Za chvíľu som späť." + +#~ msgid "I'm not available." +#~ msgstr "Nie som prítomný." + +#~ msgid "Do not disturb." +#~ msgstr "Nerušiť." + +#~ msgid "Bye!" +#~ msgstr "Ahoj!" + +#~ msgid "Timeout loading image" +#~ msgstr "Vypršal čas nahrávania obrázku" + +#~ msgid "Image is too big" +#~ msgstr "Obrázok je príliš veľký" + +#, fuzzy +#~ msgid "PyCURL is not installed" +#~ msgstr "GPG je nepoužitelný" + +#, fuzzy +#~ msgid "Error loading image" +#~ msgstr "Vypršal čas nahrávania obrázku" + +#~ msgid "Blocked Contacts" +#~ msgstr "Blokované kontakty" + +#, fuzzy +#~ msgid "Group chat" +#~ msgstr "Diskuné skupiny" + +#, fuzzy +#~ msgid "Bookmark group chat" +#~ msgstr "Zazáložkovať túto miestnosť" + +#, fuzzy +#~ msgid "Bookmark" +#~ msgstr "Zálož_ky" + +#, fuzzy +#~ msgid "Recently used group chats" +#~ msgstr "v _diskusných skupiných" + +#, fuzzy +#~ msgid "Clear Avatar" +#~ msgstr "Používa avatar:" + +#, fuzzy +#~ msgid "Set Avatar…" +#~ msgstr "Vybrať obrázok" + +#, fuzzy +#~ msgid "Contact" +#~ msgstr "Štát:" + +#, fuzzy +#~ msgid "_Leave Group Chat" +#~ msgstr "Opustiť diskusnú skupinu" + +#, fuzzy +#~ msgid "Enter a new name for this group chat" +#~ msgstr "Zadať nové meno skupiny %s" + +#, fuzzy +#~ msgid "Use default applications" +#~ msgstr "Vždy použiť štandartné aplikácie OS/X" + +#~ msgid "Custom" +#~ msgstr "Vlastný" + +#, fuzzy +#~ msgid "Notify me about it" +#~ msgstr "Upozorniť ma, keď sa kontakty _odhlásia" + +#, fuzzy +#~ msgid "Show only in contact list" +#~ msgstr "Zobraziť len _aktívne kontakty" + +#, fuzzy +#~ msgid "No status messages" +#~ msgstr "správa o stave" + +#, fuzzy +#~ msgid "All status messages" +#~ msgstr "správa o stave" + +#, fuzzy +#~ msgid "Only enter/leave messages" +#~ msgstr "Máte neprečítané správy" + +#, fuzzy +#~ msgid "Me_rge accounts" +#~ msgstr "Z_lúčiť účty" + +#, fuzzy +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "Zobraziť a_vatary v zozname kontaktov" + +#, fuzzy +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "" +#~ "Ak je zaškrtnuté, Gajim bude zobrazovať avatarov v zozname kontaktov a v " +#~ "oknách s diskusnými skupinami." + +#, fuzzy +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "Zobraziť stavovú _informáciu kontaktov v zozname kontaktov" + +#, fuzzy +#~ msgid "" +#~ "If checked, status messages of contacts will be shown under the contact's " +#~ "name, in the contact list window, and in group chats" +#~ msgstr "" +#~ "Ak je zaškrtnuté, Gajim bude zobrazovať správu o stave kontaktov pod " +#~ "menom v zozname kontaktov a v oknách s diskusnými skupinami" + +#, fuzzy +#~ msgid "" +#~ "Show e_xtra information of contacts in contact list (mood, activity, ...)" +#~ msgstr "Zobraziť _pozíciu kontaktov v zozname" + +#, fuzzy +#~ msgid "in _contact list" +#~ msgstr "Poslať kontakty:" + +#~ msgid "in _group chats" +#~ msgstr "v _diskusných skupiných" + +#, fuzzy +#~ msgid "Enable spell _checking" +#~ msgstr "Kontrola pravopisu" + +#, fuzzy +#~ msgid "" +#~ "If checked, spelling errors in input fields of chat windows will be " +#~ "highlighted. If no language is explicitly set via right click on the " +#~ "input field, the default language will be used for this contact or group " +#~ "chat. Needs gspell to be installed." +#~ msgstr "" +#~ "Ak je zaškrtnuté, Gajim bude zvýrazňovať pravopisné chyby vo vstupných " +#~ "poliach okna rozhovoru. Ak nie je výlučne nastavený žiadny jazyk, " +#~ "kliknite pravým na vstupné pole, predvolený jazyk bude použitý pre tento " +#~ "kontakt alebo diskusnú skupinu." + +#, fuzzy +#~ msgid "Display status messages in _single chats" +#~ msgstr "Zobraziť stavovú _informáciu kontaktov v zozname kontaktov" + +#, fuzzy +#~ msgid "" +#~ "If checked, status lines will be shown in 1 on 1 chats when a contact " +#~ "changes their status or status message" +#~ msgstr "" +#~ "Ak nie je pravda, nebudete vidieť informáciu o zmene stavu kontaktu a " +#~ "jeho/jej stavovú správu" + +#, fuzzy +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "Nie je možné pripojiť sa do diskusnej skupiny" + +#, fuzzy +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "Nie je možné pripojiť sa do diskusnej skupiny" + +#, fuzzy +#~ msgid "Show status changes (Default)" +#~ msgstr "_Zaznamenať zmenu stavu kontaktu" + +#, fuzzy +#~ msgid "" +#~ "If checked, the tab will be colored according to the current chatstate of " +#~ "the contact" +#~ msgstr "" +#~ "Ak je zaškrtnuté, Gajim povolí ostatným zistiť operačný systém, ktorý " +#~ "používate" + +#, fuzzy +#~ msgid "" +#~ "If checked, a description of the contacts current chatstate is shown in " +#~ "the banner" +#~ msgstr "" +#~ "Ak je zaškrtnuté, Gajim povolí ostatným zistiť operačný systém, ktorý " +#~ "používate" + +#, fuzzy +#~ msgid "Chatstate" +#~ msgstr "Posledný stav: %s" + +#, fuzzy +#~ msgid "_When new event is received" +#~ msgstr "Keď nastane nová udalosť:" + +#, fuzzy +#~ msgid "Show popups/notifications when a chat window is already _open" +#~ msgstr "" +#~ "Povoliť vyskakovacie okná/oznámenia v stavoch _preč/nedostupný/zamestnaný/" +#~ "neviditeľný" + +#, fuzzy +#~ msgid "Allow popups/notifications when I'm _away, not available or busy" +#~ msgstr "" +#~ "Povoliť vyskakovacie okná/oznámenia v stavoch _preč/nedostupný/zamestnaný/" +#~ "neviditeľný" + +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "Upozorniť ma, keď sa kontakty pr_ihlásia" + +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "Upozorniť ma, keď sa kontakty _odhlásia" + +#~ msgid "Play _sounds" +#~ msgstr "Prehrať _zvuky" + +#~ msgid "Ma_nage..." +#~ msgstr "_Spravovať..." + +#, fuzzy +#~ msgid "Allow playing sounds when I'm _busy" +#~ msgstr "Povoliť zvuk keď som zane_prázdnený" + +#, fuzzy +#~ msgid "No_t Available" +#~ msgstr "Neprítomný" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Not Available when the computer " +#~ "has not been used for the specified time" +#~ msgstr "" +#~ "Ak je zaškrtnuté, Gajim zmení stav na Neprítomný, keď nebude dlhšie " +#~ "používaný počítač." + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Away when the computer has not " +#~ "been used for the specified time" +#~ msgstr "" +#~ "Ak je zaškrtnuté, Gajim zmení stav na Neprítomný, keď nebude dlhšie " +#~ "používaný počítač." + +#, fuzzy +#~ msgid "" +#~ "The automatic away status message. If empty, the current status message " +#~ "will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-away timeout." +#~ msgstr "" +#~ "Automatická správa pre stav preč. Ak je prázdna, Gajim nebude meniť " +#~ "súčasnú stavovú správu o stave" + +#, fuzzy +#~ msgid "" +#~ "The automatic not available status message. If empty, the current status " +#~ "message will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-not-available timeout." +#~ msgstr "" +#~ "Automatická správa pre stav neprítomný. Ak je prázdna, Gajim nebude meniť " +#~ "súčasnú správu o stave" + +#, fuzzy +#~ msgid "Minutes" +#~ msgstr "minút" + +#~ msgid "" +#~ "If enabled, Gajim will not ask for a status message. The specified " +#~ "default message will be used instead." +#~ msgstr "" +#~ "Ak je povolené, Gajim sa nebude pýtať na správu o stave. Namiesto nej " +#~ "bude použitá predvolená špecifikovaná správa." + +#~ msgid "Default Message" +#~ msgstr "Predvolená správa" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "Správa o stave" + +#, fuzzy +#~ msgid "Preset Status Messages" +#~ msgstr "Vrátiť pôvodnú správu o stave" + +#, fuzzy +#~ msgid "_Theme" +#~ msgstr "Téma" + +#~ msgid "Configure color and font of the interface" +#~ msgstr "Nastavovať farbu a písmo rozhrania" + +#, fuzzy +#~ msgid "" +#~ "If checked, protocol-specific status icons will be used (e.g. a contact " +#~ "from ICQ will have the equivalent ICQ icon for status online, away, busy, " +#~ "etc...)" +#~ msgstr "" +#~ "Ak je zaškrtnuté, Gajim bude používať ikonky špecifické pre protokol. " +#~ "(napr. kontakt z MSN bude mať ekvivalentné ikonky pre stavy prítomný, " +#~ "preč, zaneprázdnený, atď...)" + +#, fuzzy +#~ msgid "Video output" +#~ msgstr "video výstup" + +#, fuzzy +#~ msgid "Video si_ze" +#~ msgstr "Video test" + +#~ msgid "_Manage..." +#~ msgstr "_Spravovať..." + +#, fuzzy +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "_Zaznamenať zmenu stavu kontaktu" + +#, fuzzy +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "Ak je zaškrtnuté, Gajim si zapamätá heslo pre tento účet" + +#~ msgid "_Open..." +#~ msgstr "_Otvoriť..." + +#, fuzzy +#~ msgid "_Filter" +#~ msgstr "Filter:" + +#, fuzzy +#~ msgid "Protocol" +#~ msgstr "_Protokol:" + +#~ msgid "Privacy Lists:" +#~ msgstr "Súkromné zoznamy:" + +#, fuzzy +#~ msgid "_Ignore this error for this certificate" +#~ msgstr "Ignorovať túto chybu pre tento certifikát." + +#, fuzzy +#~ msgid "Message..." +#~ msgstr "Správa" + +#, fuzzy +#~ msgid "Preset _messages" +#~ msgstr "Prednastavené správy:" + +#, fuzzy +#~ msgid "_Type your new status message" +#~ msgstr "Zadajte vašu novú správu o stave" + +#, fuzzy +#~ msgid "Change Status Message…" +#~ msgstr "_Zmeniť správu o stave" + +#~ msgid "Mood:" +#~ msgstr "Nálada:" + +#~ msgid "Message:" +#~ msgstr "Správa:" + +#, fuzzy +#~ msgid "none" +#~ msgstr "jeden" + +#, fuzzy +#~ msgid "both" +#~ msgstr "Oba" + +#, fuzzy +#~ msgid "from" +#~ msgstr "Od" + +#, fuzzy +#~ msgid "to" +#~ msgstr "dva" + +#~ msgid "Privacy List" +#~ msgstr "Súkromný zoznam" + +#~ msgid "Privacy List" +#~ msgstr "Súkromný zoznam" + +#~ msgid "Active for this session" +#~ msgstr "Aktívne pre toto sedenie" + +#~ msgid "Active on each startup" +#~ msgstr "Aktivovať pri každom spustení" + +#~ msgid "List of rules" +#~ msgstr "Zoznam pravidiel" + +#~ msgid "Add / Edit a rule" +#~ msgstr "Pridať / zmeniť pravidlo" + +#~ msgid "Allow" +#~ msgstr "Povoliť" + +#~ msgid "Deny" +#~ msgstr "Zakázať" + +#~ msgid "all in the group" +#~ msgstr "všetko v skupine" + +#~ msgid "all by subscription" +#~ msgstr "všetko podľa podpisu" + +#~ msgid "All" +#~ msgstr "Všetko" + +#~ msgid "to send me messages" +#~ msgstr "poslať mi správu" + +#~ msgid "to send me queries" +#~ msgstr "poslať mi požiadavky" + +#~ msgid "to view my status" +#~ msgstr "vidieť môj stav" + +#~ msgid "to send me status" +#~ msgstr "poslať mi stav" + +#, fuzzy +#~ msgid "All (including subscription)" +#~ msgstr "všetko podľa podpisu" + +#~ msgid "Order:" +#~ msgstr "Poradie:" + +#, fuzzy +#~ msgid "Contact List Shortcuts" +#~ msgstr "Kontakt odpojený" + +#~ msgid "Fill in the form." +#~ msgstr "Vyplňte formulár." + +#~ msgid "Set an activity" +#~ msgstr "Nastaviť aktivitu" + +#~ msgid "Message: " +#~ msgstr "Správa: " + +#, fuzzy, python-format +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "Pozvaný %(contact_jid)s do %(room_jid)s." + +#, fuzzy +#~ msgid "Group Chat Invitation " +#~ msgstr "Pozvánka do diskusnej skupiny" + +#, python-format +#~ msgid "Comment: %s" +#~ msgstr "Komentár: %s" + +#, fuzzy +#~ msgid "Off" +#~ msgstr "Odhlásený" + +#, fuzzy +#~ msgid "Retrieving profile…" +#~ msgstr "Získava sa profil..." + +#, fuzzy +#~ msgid "Wrong date format" +#~ msgstr "Kontaktné informácie" + +#, fuzzy +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "Formát: YYYY-MM-DD" + +#~ msgid "Information received" +#~ msgstr "Informácie prijaté" + +#, fuzzy +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "Bez pripojenie nemôžete publikovať informácie o vašom kontakte." + +#, fuzzy +#~ msgid "Sending profile…" +#~ msgstr "Odosielanie profilu..." + +#~ msgid "Information NOT published" +#~ msgstr "Informácie neboli zverejnené" + +#~ msgid "vCard publication failed" +#~ msgstr "zverejnenia vCard zlyhalo" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "" +#~ "Nastala chyba pri zverejňovaní vašich osobných údajov, skúste to prosím " +#~ "neskôr." + +#, fuzzy +#~ msgid "?password:Hidden" +#~ msgstr "Heslo:" + +#, python-format +#~ msgid "Privacy List %s" +#~ msgstr "Súkromný zoznam %s" + +#, python-format +#~ msgid "Privacy List for %s" +#~ msgstr "Súkromný zoznam pre %s" + +#, python-format +#~ msgid "" +#~ "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" +#~ msgstr "" +#~ "Poradie: %(order)s, akcia: %(action)s, typ: %(type)s, hodnota: %(value)s" + +#, python-format +#~ msgid "Order: %(order)s, action: %(action)s" +#~ msgstr "Poradie: %(order)s, akcia: %(action)s" + +#~ msgid "Edit a rule" +#~ msgstr "Upraviť pravidlo" + +#~ msgid "Add a rule" +#~ msgstr "Pridať pravidlo" + +#, python-format +#~ msgid "Privacy Lists for %s" +#~ msgstr "Súkromné zoznamy pre %s" + +#~ msgid "Invalid List Name" +#~ msgstr "Nesprávny názov zoznamu" + +#~ msgid "You must enter a name to create a privacy list." +#~ msgstr "Musíte vložiť názov, aby bolo možné vytvoriť nový súkromný zoznam." + +#, fuzzy +#~ msgid "Loading" +#~ msgstr "Kódim" + +#~ msgid "status message title" +#~ msgstr "titulok správy o stave" + +#~ msgid "status message text" +#~ msgstr "text správy o stave" + +#, fuzzy +#~ msgid "Start New Conversation" +#~ msgstr "Pokračovanie rozhovoru" + +#~ msgid "Unknown SSL error: %d" +#~ msgstr "Neznáma chyba SSL: %d" + +#~ msgid "Gajim - %s" +#~ msgstr "Gajim - %s" + +#, fuzzy +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "Slovník pre jazyk %s nie je k dispozícii" + +#, fuzzy +#~ msgid "" +#~ "You have to install the dictionary \"%s\" to use spellchecking, or choose " +#~ "another language by setting the speller_language option.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "Potrebujete nainštalovať %s slovník, aby bolo možné prevádzať kontrolu " +#~ "pravopisu, prípadne si môžete zvoliť iný jazyk na kontrolu pravopisu " +#~ "nastavením premennej setting the speller_language." + +#~ msgid "_Reconnect" +#~ msgstr "Znovu p_ripojiť" + +#, fuzzy +#~ msgid "Quit" +#~ msgstr "_Koniec" + +#, fuzzy +#~ msgid "Show Contact List" +#~ msgstr "Zobraziť len _aktívne kontakty" + +#, fuzzy +#~ msgid "Add to Contact List" +#~ msgstr "_Pridať kontakt..." + +#, fuzzy +#~ msgid "Invite Contact" +#~ msgstr "Pozvať _kontakty" + +#, fuzzy +#~ msgid "Configure Group Chat" +#~ msgstr "Opustiť diskusnú skupinu" + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." +#~ msgstr "" +#~ "Ak je pravda, Gajim zobrazí ikonku na každej záložke obsahujúcej " +#~ "neprečítané správy. Závisí na téme, ikonka môže byť animovaná." + +#~ msgid "Invalid character in hostname." +#~ msgstr "Nepovolený znak v názve hostiteľa." + +#~ msgid "Server address required." +#~ msgstr "Adresa serveru je požadovaná." + +#~ msgid "Invalid character in username." +#~ msgstr "Nepovolený znak v názve účtu." + +#~ msgid "Invalid character in resource." +#~ msgstr "Nepovolený znak v zdroji." + +#, fuzzy +#~ msgid "Notification color for contacts signing in." +#~ msgstr "Upozorniť ma, keď sa kontakty pr_ihlásia" + +#, fuzzy +#~ msgid "Notification color for contacts signing out." +#~ msgstr "Upozorniť ma, keď sa kontakty _odhlásia" + +#, fuzzy +#~ msgid "Notification color for new message notification." +#~ msgstr "Predbežné zobrazenie nových správ vo vyskakovacom oznámení?" + +#, fuzzy +#~ msgid "Notification color for file transfer request." +#~ msgstr "_Upozorniť ma, keď sa dokončí prenos" + +#, fuzzy +#~ msgid "Notification color for file transfer errors." +#~ msgstr "_Upozorniť ma, keď sa dokončí prenos" + +#, fuzzy +#~ msgid "Notification background color for changed status." +#~ msgstr "Farba pozadia použitá pri prihlásení kontaktu." + +#, fuzzy +#~ msgid "Event Type" +#~ msgstr "Udalosť" + +#, fuzzy +#~ msgid "Event desc" +#~ msgstr "Udalosť" + +#, fuzzy +#~ msgid "No response from the Server" +#~ msgstr "Nie ste pripojený k serveru" + +#~ msgid "Resource Conflict" +#~ msgstr "Konflikt zdroju" + +#, fuzzy +#~ msgid "" +#~ "You are already connected to this account with the same resource. Please " +#~ "enter a different one." +#~ msgstr "" +#~ "Práve ste pripojený k tomuto účtu s rovnakými zdrojmi. Zadajte, prosím, " +#~ "nový zdroj" + +#, fuzzy +#~ msgid "Unable to load image" +#~ msgstr "Nie je možné nahrať idle modul" + +#, fuzzy +#~ msgid "Media type not supported: %s" +#~ msgstr "Neviditeľnosť nie je podporovaná" + +#~ msgid "new@jabber.id" +#~ msgstr "nové@jabber.id" + +#~ msgid "new%d@jabber.id" +#~ msgstr "nové%d@jabber.id" + +#~ msgid "video output" +#~ msgstr "video výstup" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Gajim: Pomocník - Tvorba účtu" + +#, fuzzy +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "Potrebujete mať účet, aby ste sa mohli pripojiť\n" +#~ "do siete Jabber." + +#~ msgid "I already have an account I want to _use" +#~ msgstr "Už mám účet a chcem ho po_užívať" + +#~ msgid "I want to _register for a new account" +#~ msgstr "Chcem si za_registrovať nový účet" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "Prosím, vyberte jednu z možností dole:" + +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "Prosím, vyplňte údaje vášho existujúceho účtu" + +#, fuzzy +#~ msgid "_XMPP Address:" +#~ msgstr "AIM adresa:" + +#~ msgid "Anon_ymous authentication" +#~ msgstr "Anon_ymná autentifikácia" + +#~ msgid "_Password:" +#~ msgstr "_Heslo:" + +#~ msgid "Save pass_word" +#~ msgstr "Uložiť hes_lo" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "Ak je zaškrtnuté, Gajim si zapamätá heslo pre tento účet" + +#~ msgid "Please select a server" +#~ msgstr "Prosím, vyberte server" + +#~ msgid "_Server:" +#~ msgstr "_Server:" + +#~ msgid "Manage..." +#~ msgstr "Spravovať..." + +#~ msgid "_Port:" +#~ msgstr "_Port:" + +#~ msgid "_Advanced" +#~ msgstr "_Pokročilé" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA1 fingerprint of the certificate:\n" +#~ msgstr "" +#~ "Pridať tento certifikát do zoznamu dôverných certifikátov.SHA1 odtlačok " +#~ "certifikátu:\n" + +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "Pripája sa k serveru\n" +#~ "\n" +#~ "Prosím počkajte..." + +#~ msgid "Connect when I press Finish" +#~ msgstr "Pripojiť, keď stlačím Dokončiť" + +#~ msgid "Set my profile when I connect" +#~ msgstr "Nastaviť môj profil, keď som pripojený" + +#~ msgid "_Finish" +#~ msgstr "_Dokončiť" + +#, fuzzy +#~ msgid "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." +#~ msgstr "" +#~ "Môžete nastaviť pokročilé vlastnosti účtu stlačením tlačidla Pokročilé, " +#~ "alebo neskôr zvolením položky Účty v menu Upraviť v hlavnom okne." + +#~ msgid "Your new account has been created successfully" +#~ msgstr "Váš nový účet bol úspešne vytvorený" + +#~ msgid "Invalid username" +#~ msgstr "Nesprávne meno používateľa" + +#~ msgid "You must provide a username to configure this account." +#~ msgstr "Musíte vložiť meno používateľa pre konfuguráciu tohoto účtu." + +#~ msgid "Invalid server" +#~ msgstr "Neplatný server" + +#~ msgid "Please provide a server on which you want to register." +#~ msgstr "Poskytnite, prosím, server na ktorom sa chcete zaregistrovať." + +#~ msgid "Invalid entry" +#~ msgstr "Nesprávny záznam" + +#~ msgid "Certificate Already in File" +#~ msgstr "Certifikát už v súbore" + +#~ msgid "This certificate is already in file %s, so it's not added again." +#~ msgstr "Tento certifikát je práve v súbore %s, preto nebude znova pridaný." + +#~ msgid "" +#~ "Security Warning\n" +#~ "\n" +#~ "The authenticity of the %(hostname)s SSL certificate could be invalid.\n" +#~ "SSL Error: %(error)s\n" +#~ "Do you still want to connect to this server?" +#~ msgstr "" +#~ "Bezpečnostné upozornenie\n" +#~ "\n" +#~ "Pôvod %(hostname)s SSL certifikátu môže byť neplatný.\n" +#~ "SSL chyba: %(error)s\n" +#~ "Chcete sa ešte pripojiť k tomuto serveru?" + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA-256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Pridať tento certifikát do zoznamu dôverných certifikátov.\n" +#~ "SHA1 fingerprint certifikátu:\n" +#~ "%s" + +#~ msgid "Account name is in use" +#~ msgstr "Názov účtu je už používaný" + +#~ msgid "You already have an account using this name." +#~ msgstr "Už máte účet s týmto názvom." + +#~ msgid "Show a warning dialog before using standard SSL library." +#~ msgstr "Zobraziť upozornenie pred použitím štandardnej SSL knižnice." + +#~ msgid "Connection with account \"%s\" has been lost" +#~ msgstr "Spojenie s účtom \"%s\" bolo stratené" + +#~ msgid "Reconnect manually." +#~ msgstr "Znovu pripojiť manuálne." + +#~ msgid "Server %(name)s answered wrongly to register request: %(error)s" +#~ msgstr "" +#~ "Server %(name)s odpovedal zle na požiadavku o registráciu: %(error)s" + +#~ msgid "Server %s provided a different registration form" +#~ msgstr "Server %s poskytol rozdielny registračný formulár" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "Nie je možné pripojiť sa k \"%s\"" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "Nie je možné pripojiť sa k \"%s\"" + +#~ msgid "Check your connection or try again later." +#~ msgstr "Skontrolujte svoje pripojenie alebo to skúste neskôr." + +#~ msgid "Server replied: %s" +#~ msgstr "Server odpovedal: %s" + +#~ msgid "Connection to proxy failed" +#~ msgstr "Pripojenie k proxy zlyhalo" + +#~ msgid "Could not connect to account %s" +#~ msgstr "Nie je možné pripojiť sa k účtu %s" + +#~ msgid "Connection with account %s has been lost. Retry connecting." +#~ msgstr "Spojenie s účtom \"%s\" bolo stratené. Zopakuje sa pripájanie." + +#~ msgid "Please check your login and password for correctness." +#~ msgstr "Prosím, skontrolujte správnosť prihlasovacieho mena a hesla." + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "Pripojený" + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "BOSH" +#~ msgstr "_BOSH URL:" + +#~ msgid "Use HTTP prox_y" +#~ msgstr "Použiť HTTP prox_y" + +#, fuzzy +#~ msgid "_BOSH URL" +#~ msgstr "_BOSH URL:" + +#, fuzzy +#~ msgid "BOSH" +#~ msgstr "_BOSH URL:" + +#, fuzzy +#~ msgid "Warn on insecure connection" +#~ msgstr "V_arovať pred použitím nezabezpečeného spojenia" + +#, fuzzy +#~ msgid "Contact list, list of contacts" +#~ msgstr "_Zaznamenať zmenu stavu kontaktu" + +#~ msgid "You are participating in one or more group chats" +#~ msgstr "Ste v jednej alebo viacerých diskusných skupinách" + +#, fuzzy +#~ msgid "" +#~ "Changing your status to invisible will result in you leaving those group " +#~ "chats.\n" +#~ "Are you sure you want to go invisible?" +#~ msgstr "" +#~ "Zmena stavu na neviditeľný, automaticky spôsobí, že budete odpojený z " +#~ "diskusných skupín. Ste si skutočne istý, že chcete zmeniť stav na " +#~ "neviditeľný?" + +#~ msgid "_Disconnect" +#~ msgstr "O_dpojiť" + +#~ msgid "You cannot join a group chat while you are invisible" +#~ msgstr "Nemôžete sa pripojiť do diskusnej skupiny, pokiaľ ste neviditeľný" + +#~ msgid "Invisible" +#~ msgstr "Neviditeľný" + +#, fuzzy +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "Nemôžete sa pripojiť do diskusnej skupiny, pokiaľ ste neviditeľný" + +#~ msgid "_Invisible" +#~ msgstr "_Neviditeľný" + +#, fuzzy +#~ msgid "Yesterday" +#~ msgid_plural "%(nb_days)i days ago" +#~ msgstr[0] "Pred %i dňami" +#~ msgstr[1] "Včera" +#~ msgstr[2] "Pred %i dňami" + +#, fuzzy +#~ msgid "_Cancel Upload" +#~ msgstr "_Zrušiť" + +#~ msgid " [blocked]" +#~ msgstr " [blokovaný]" + +#, fuzzy +#~ msgid "" +#~ "If you close this tab while having chat history disabled, this message " +#~ "will be lost." +#~ msgstr "" +#~ "Ak zatvoríte túto kartu a máte deaktivovanú históriu, správa bude " +#~ "stratená." + +#, fuzzy +#~ msgid "Unregister Failed" +#~ msgstr "Odstránenie účtu zlyhalo" + +#, fuzzy +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "" +#~ "Registrácia pomocou agenta %(agent)s zlyhala s chybou %(error)s: " +#~ "%(error_msg)s" + +#, fuzzy +#~ msgid "New Password" +#~ msgstr "Uložiť heslo" + +#~ msgid "What do you want to do?" +#~ msgstr "Čo si prajete vykonať?" + +#~ msgid "Remove account from Gajim and from _server" +#~ msgstr "Odstrániť účet z Gajim aj zo _serveru" + +#, fuzzy +#~ msgid "You must enter a password" +#~ msgstr "Musíte vložiť heslo." + +#, fuzzy +#~ msgid "You still have open chats in your account %s" +#~ msgstr "Máte otvorený rozhovor pod účtom %s" + +#, fuzzy +#~ msgid "To unregister from a server, the account must be enabled." +#~ msgstr "Pre zakázanie účtu, musíte byť odpojený." + +#, fuzzy +#~ msgid "Password required" +#~ msgstr "Heslo je požadované" + +#, fuzzy +#~ msgid "Still connected to the server" +#~ msgstr "Nie ste pripojený k serveru" + +#, fuzzy +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "Ak dôjde k odstráneniu, stratíte spojenie." + +#~ msgid "Connection to server %s failed" +#~ msgstr "Pripojenie k serveru %s zlyhalo" + +#~ msgid "What would you like to do?" +#~ msgstr "Čo si prajete vykonať?" + +#~ msgid "Remove only from Gajim" +#~ msgstr "Odstrániť iba z programu Gajim" + +#, fuzzy +#~ msgid "Contents" +#~ msgstr "Ob_sah" + +#, fuzzy +#~ msgid "FAQ" +#~ msgstr "Často k_ladené otázky" + +#~ msgid "Save as Preset Status Message" +#~ msgstr "Uložiť ako prednastavenú správu o stave" + +#~ msgid "Enter a new nickname for contact %s" +#~ msgstr "Zadať novú prezývku pre kontakt %s" + +#, fuzzy +#~ msgid "Join a group chat" +#~ msgstr "v _diskusných skupiných" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "Prijať" + +#~ msgid "New entry received" +#~ msgstr "Prijatý nový záznam" + +#~ msgid "You have received new entry:" +#~ msgstr "Dostali ste novú položku:" + +#~ msgid "Feed name:" +#~ msgstr "Názov kanálu:" + +#~ msgid "Last modified:" +#~ msgstr "Posledná zmena:" + +#, fuzzy +#~ msgid "Send file?" +#~ msgstr "Poslať _súbor" + +#, fuzzy +#~ msgid "Mail _client" +#~ msgstr "_E-mailový klient:" + +#, fuzzy +#~ msgid "_Browser" +#~ msgstr "_Prehliadač:" + +#, fuzzy +#~ msgid "_File manager" +#~ msgstr "_Správca súborov:" + +#, fuzzy +#~ msgid "Custom applications" +#~ msgstr "Vždy použiť štandartné aplikácie OS/X" + +#, fuzzy +#~ msgid "Applications" +#~ msgstr "Aplikácie" + +#, fuzzy +#~ msgid "" +#~ "Uses ReStructured text markup to send HTML, plus ASCII formatting if " +#~ "selected. Needs docutils installed (for syntax, see http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Používať preštruktúrované značkovanie textu k odoslaniu HTML, plus ascii " +#~ "formátovanie ak je označený. Pre syntaxu si pozrite http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html (Ak to chcete " +#~ "používať, nainštalujte docutils)" + +#, fuzzy +#~ msgid "_Ignore formatting of incoming messages" +#~ msgstr "_Ignorovať rozšírený obsah prichádzajúcich správ" + +#, fuzzy +#~ msgid "" +#~ "Some messages may include rich content (xhtml formatting, colors etc). If " +#~ "checked, Gajim will just display the plain message text." +#~ msgstr "" +#~ "Niektoré správy môžu obsahovať rozširujúce informácie (formátovanie, " +#~ "farby, atď.). Ak je zaškrtnuté, Gajim bude zobrazovať len jednoduchý text." + +#, fuzzy +#~ msgid "RST XHTML Generator" +#~ msgstr "RST generátor" + +#, fuzzy +#~ msgid "Requires: python-docutils" +#~ msgstr "Vyžaduje python-docutils." + +#~ msgid "New Single Message" +#~ msgstr "Nová krátka správa" + +#~ msgid "Error %(code)s: %(msg)s" +#~ msgstr "Chyba %(code)s: %(msg)s" + +#~ msgid "twelve" +#~ msgstr "dvanásť" + +#~ msgid "one" +#~ msgstr "jeden" + +#~ msgid "two" +#~ msgstr "dva" + +#~ msgid "three" +#~ msgstr "tri" + +#~ msgid "four" +#~ msgstr "štyri" + +#~ msgid "five" +#~ msgstr "päť" + +#~ msgid "six" +#~ msgstr "šesť" + +#~ msgid "seven" +#~ msgstr "sedem" + +#~ msgid "eight" +#~ msgstr "osem" + +#~ msgid "nine" +#~ msgstr "deväť" + +#~ msgid "ten" +#~ msgstr "desať" + +#~ msgid "eleven" +#~ msgstr "jedenásť" + +#~ msgid "%(0)s o'clock" +#~ msgstr "%(0)s hodín" + +#, fuzzy +#~ msgid "five past %(0)s" +#~ msgstr "päť po $0" + +#, fuzzy +#~ msgid "ten past %(0)s" +#~ msgstr "desať po $0" + +#, fuzzy +#~ msgid "quarter past %(0)s" +#~ msgstr "štvrť po $0" + +#, fuzzy +#~ msgid "twenty past %(0)s" +#~ msgstr "dvadsať po $0" + +#, fuzzy +#~ msgid "twenty five past %(0)s" +#~ msgstr "dvadsaťpäť po $0" + +#, fuzzy +#~ msgid "half past %(0)s" +#~ msgstr "pol $0" + +#, fuzzy +#~ msgid "twenty five to %(1)s" +#~ msgstr "dvadsaťpäť do $1" + +#, fuzzy +#~ msgid "twenty to %(1)s" +#~ msgstr "dvadsať do $1" + +#, fuzzy +#~ msgid "quarter to %(1)s" +#~ msgstr "štvrť do $1" + +#, fuzzy +#~ msgid "ten to %(1)s" +#~ msgstr "desať do $1" + +#, fuzzy +#~ msgid "five to %(1)s" +#~ msgstr "päť do $1" + +#~ msgid "%(1)s o'clock" +#~ msgstr "%(1)s hodina" + +#~ msgid "Night" +#~ msgstr "Noc" + +#~ msgid "Early morning" +#~ msgstr "Skoré ráno" + +#~ msgid "Morning" +#~ msgstr "Ráno" + +#~ msgid "Almost noon" +#~ msgstr "Takmer poludnie" + +#~ msgid "Noon" +#~ msgstr "Obed" + +#~ msgid "Afternoon" +#~ msgstr "Popoludnie" + +#~ msgid "Evening" +#~ msgstr "Večer" + +#~ msgid "Late evening" +#~ msgstr "neskorý večer" + +#~ msgid "Start of week" +#~ msgstr "Začiatok týždňa" + +#~ msgid "Middle of week" +#~ msgstr "Stred týždňa" + +#~ msgid "End of week" +#~ msgstr "Koniec týždňa" + +#~ msgid "Weekend!" +#~ msgstr "Víkend!" + +#~ msgid "message" +#~ msgstr "správa" + +#, fuzzy +#~ msgid "error: %s" +#~ msgstr "Chyba: %s" + +#, fuzzy +#~ msgid "Form: %s" +#~ msgstr "Od %s" + +#, fuzzy +#~ msgid "XML Input" +#~ msgstr "XML vstup" + +#, fuzzy +#~ msgid "Ttitle" +#~ msgstr "Titulok:" + +#, fuzzy +#~ msgid "Screen" +#~ msgstr "zelená" + +#, fuzzy +#~ msgid "Fake video output" +#~ msgstr "video výstup" + +#~ msgid "X Window System (X11/XShm/Xv): %s" +#~ msgstr "X Window System (X11/XShm/Xv): %s" + +#~ msgid "X Window System (without Xv)" +#~ msgstr "X Window System (bez Xv)" + +#, fuzzy +#~ msgid "V_ideo output device" +#~ msgstr "Výstupné zariadenie videa" + +#~ msgid "Conversation with " +#~ msgstr "Rozhovor s " + +#~ msgid "Continued conversation" +#~ msgstr "Pokračovanie rozhovoru" + +#~ msgid "_Send Private Message" +#~ msgstr "_Poslať súkromnú správu" + +#, fuzzy +#~ msgid "Participant Actions" +#~ msgstr "Účastníci" + +#~ msgid "_Voice" +#~ msgstr "_Hlas" + +#~ msgid "Mo_derator" +#~ msgstr "Mo_derátor" + +#~ msgid "_Member" +#~ msgstr "_Člen" + +#~ msgid "_Admin" +#~ msgstr "_Admin" + +#~ msgid "_Owner" +#~ msgstr "_Vlastník" + +#, fuzzy +#~ msgid "_Add to Contact List" +#~ msgstr "_Pridať kontakt..." + +#, fuzzy +#~ msgid "_Execute command" +#~ msgstr "_Vykonať príkaz" + +#~ msgid "Change _Nickname..." +#~ msgstr "Zmeniť p_rezývku..." + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "_Nová diskusná skupina" + +#~ msgid "Change _Subject..." +#~ msgstr "Zmeniť _predmet..." + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "_Pripojiť sa k diskusnej skupine..." + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "_Nová diskusná skupina" + +#~ msgid "_Minimize on close" +#~ msgstr "_Minimalizovať pri zavretí" + +#, fuzzy +#~ msgid "_Request Voice" +#~ msgstr "_Hlas" + +#~ msgid "_Bookmark" +#~ msgstr "Zálož_ky" + +#~ msgid "" +#~ "\n" +#~ "Unknown SSL error: %d" +#~ msgstr "" +#~ "\n" +#~ "Neznáma chyba SSL: %d" + +#~ msgid "" +#~ "\n" +#~ "SSL Error: %s" +#~ msgstr "" +#~ "\n" +#~ "Chyba SSL: %s" + +#~ msgid "Error verifying SSL certificate" +#~ msgstr "Chyba overovania SSL certifikátu" + +#, fuzzy +#~ msgid "View certificate…" +#~ msgstr "Certifikát podpísaný sám sebou" + +#, fuzzy +#~ msgid "Continue" +#~ msgstr "_Pokračovať" + +#~ msgid "" +#~ "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM " +#~ "IS RUNNING)" +#~ msgstr "" +#~ "Skutočne si želáte vyčistiť databázu? (SILNE SA NEODPORÚČA, KEĎ BEŽÍ " +#~ "GAJIM)" + +#, fuzzy +#~ msgid "Authorization" +#~ msgstr "Autorizácia bola odoslaná" + +#, fuzzy +#~ msgid "" +#~ "All chat and group chat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Všetky okná s diskusiami a diskusnými skupinami budú zatvorené. Prajete " +#~ "si pokračovať?" + +#, fuzzy +#~ msgid "Account '%s' is still connected to the server" +#~ msgstr "Účet \"%s\" je pripojený na server" + +#, fuzzy +#~ msgid "Error While Saving" +#~ msgstr "Chyba pri pridávaní služby. %s" + +#, fuzzy +#~ msgid "" +#~ "Image cannot be saved in %(type)s format.\n" +#~ "Save as %(new_filename)s?" +#~ msgstr "" +#~ "Obrázok nie je možné uložiť vo formáte %(type)s. Uložiť ako " +#~ "%(new_filename)s?" + +#, fuzzy +#~ msgid "Save _As" +#~ msgstr "Má" + +#~ msgid "Yes, I really want to connect insecurely" +#~ msgstr "Áno, chcem sa naozaj pripojiť nezabezpečene" + +#, fuzzy +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "Nesprávne Jabber ID diskusnej skupiny" + +#, fuzzy +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "Jabber ID diskusnej skupiny obsahuje nepovolené znaky." + +#~ msgid "You may specify a reason below:" +#~ msgstr "Môžete dole špecifikovať dôvod:" + +#~ msgid "Banning %s" +#~ msgstr "Zakazujem %s" + +#, fuzzy +#~ msgid "" +#~ "Always ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Vždy sa spýtať pred zatvorením okna/záložky diskusnej skupiny, ktorej " +#~ "meno je uvedené v zozname diskusných JID." + +#, fuzzy +#~ msgid "" +#~ "Never ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Nikdy sa nepýtať pred zatvorením karty/okna pre diskusnú skupinu, ktorej " +#~ "meno je uvedené v zozname JID." + +#, fuzzy +#~ msgid "Leave Group Chats" +#~ msgstr "Opustiť diskusnú skupinu" + +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "%(nickname)s v %(room_jid)s" + +#, fuzzy +#~ msgid "You have not joined a group chat." +#~ msgstr "Neboli ste prihlásený do diskusnej skupiny." + +#, fuzzy +#~ msgid "You left the following group chats:" +#~ msgstr "Opustili ste nasledujúce diskusné skupiny:" + +#~ msgid "Don't show avatar for the transport itself." +#~ msgstr "Nezobrazovať avatarov pre transport." + +#, fuzzy +#~ msgid "" +#~ "Show a confirmation dialog for a custom status? Empty string means never " +#~ "show the dialog." +#~ msgstr "" +#~ "Má byť zobrazovaný dialóg pri vytváraní metakontaktov? Prázdny reťazec " +#~ "znamená, že dialóg sa nezobrazuje." + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending PLAIN password over a plain " +#~ "connection." +#~ msgstr "Zobraziť upozornenie pred poslaním hesla cez plaintext spojenie." + +#, fuzzy +#~ msgid "Configure Services…" +#~ msgstr "Nastavovať služby..." + +#, fuzzy +#~ msgid "Group Chat Bookmarks" +#~ msgstr "_Diskusná skupina" + +#, fuzzy +#~ msgid "Add Bookmark" +#~ msgstr "Zálož_ky" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "Zálož_ky" + +#, fuzzy +#~ msgid "_Server" +#~ msgstr "_Server:" + +#, fuzzy +#~ msgid "_Password" +#~ msgstr "_Heslo:" + +#, fuzzy +#~ msgid "Join chat when connected" +#~ msgstr "Kontakt odpojený" + +#~ msgid "New Group Chat" +#~ msgstr "Nová diskusná skupina" + +#~ msgid "This bookmark has invalid data" +#~ msgstr "Táto záložka obsahuje chybné údaje" + +#, fuzzy +#~ msgid "" +#~ "Please be sure to fill out server and group chat fields or remove this " +#~ "bookmark." +#~ msgstr "" +#~ "Prosim, uistite sa, že je vyplnená položka server a miestnosť alebo " +#~ "odstráňte túto záložku." + +#~ msgid "Character not allowed" +#~ msgstr "Znak nie je povolený" + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "Nesprávne Jabber ID diskusnej skupiny" + +#~ msgid "Unable to join group chat" +#~ msgstr "Nie je možné pripojiť sa do diskusnej skupiny" + +#, fuzzy +#~ msgid "You are banned from group chat %s." +#~ msgstr "Dostali ste ban z diskusnej skupiny %s." + +#, fuzzy +#~ msgid "Remote server %s does not exist." +#~ msgstr "Diskusná skupina %s neexistuje." + +#, fuzzy +#~ msgid "Group chat %s does not exist." +#~ msgstr "Diskusná skupina %s neexistuje." + +#, fuzzy +#~ msgid "Group chat creation is not permitted." +#~ msgstr "Vytváranie diskusných skupín je obmedzené." + +#, fuzzy +#~ msgid "You must use your registered nickname in %s." +#~ msgstr "" +#~ "Vaša zaregistrovaná prezývka musí byť použitá v diskusnej skupine %s." + +#, fuzzy +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "Nie ste v zozname členov v skupinovej diskusii %s." + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "Toto nie je diskusná skupina" + +#~ msgid "This is not a group chat" +#~ msgstr "Toto nie je diskusná skupina" + +#, fuzzy +#~ msgid "Please choose a group chat" +#~ msgstr "Vytvorte, prosím, čisto novú tému z vami požadovaným názvom." + +#~ msgid "Invalid Nickname" +#~ msgstr "Neplatná prezývka" + +#, fuzzy +#~ msgid "Wrong server" +#~ msgstr "Nesprávna uri" + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "Toto nie je diskusná skupina" + +#, fuzzy +#~ msgid "A Password is required to join the group chat %s. Please type it." +#~ msgstr "" +#~ "Pre prihlásenie do miestnosti %s je potrebné heslo. Zadajte ho, prosím." + +#~ msgid "Not in Roster" +#~ msgstr "Nie je v zozname" + +#~ msgid "I would like to add you to my roster" +#~ msgstr "Chcem si vás pridať do svojho zoznamu" + +#, fuzzy +#~ msgid "Add to Roster" +#~ msgstr "_Pridať do zoznamu" + +#, fuzzy +#~ msgid "Audio Session" +#~ msgstr "Zvukový test" + +#, fuzzy +#~ msgid "Manage Room" +#~ msgstr "S_pravovať miestnosť" + +#, fuzzy +#~ msgid "Configure Room" +#~ msgstr "Nastaviť _miestnosť..." + +#, fuzzy +#~ msgid "Destroy Room" +#~ msgstr "_Zničiť miestnosť" + +#, fuzzy +#~ msgid "Change Nick" +#~ msgstr "Zmeniť p_rezývku..." + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "O_dpojiť" + +#, fuzzy +#~ msgid "Copy JID" +#~ msgstr "JID miestnosti" + +#, fuzzy +#~ msgid "Add to Roster…" +#~ msgstr "_Pridať do zoznamu" + +#, fuzzy +#~ msgid "Copy JID/Email" +#~ msgstr "_Kopírovať JID/e-mailovú adresu" + +#, fuzzy +#~ msgid "JID: %s" +#~ msgstr "Jabber ID: %s" + +#~ msgid "Changing Subject" +#~ msgstr "Zmena predmetu" + +#~ msgid "Please specify the new subject:" +#~ msgstr "Prosím, špecifikujte nový predmet:" + +#~ msgid "Room logging is now enabled" +#~ msgstr "Zaznamenávanie miestnosti je teraz povolené" + +#~ msgid "Room logging is now disabled" +#~ msgstr "Zaznamenávanie miestnosti je teraz zakázané" + +#, fuzzy +#~ msgid "You (%s) joined the room" +#~ msgstr "%s sa pripojil do diskusnej skupiny" + +#~ msgid "Room logging is enabled" +#~ msgstr "Zaznamenávanie miestosti je povolené" + +#, fuzzy +#~ msgid "Unable to join groupchat" +#~ msgstr "Nie je možné pripojiť sa do diskusnej skupiny" + +#~ msgid "Groupchat Invitation" +#~ msgstr "Pozvánka do diskusnej skupiny" + +#, fuzzy +#~ msgid "%(jid)s has been invited in this room" +#~ msgstr "%(nick)s bol odstránený z miestnosti (%(reason)s)" + +#, fuzzy +#~ msgid "JID is not a Groupchat" +#~ msgstr "Toto nie je diskusná skupina" + +#~ msgid "Invalid JID" +#~ msgstr "Nesprávne JID" + +#~ msgid "A connection is not available" +#~ msgstr "Pripojenie nie je dostupné" + +#, fuzzy +#~ msgid "JID already in list" +#~ msgstr "Jabber Id je už v zozname" + +#, fuzzy +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "Pripojenie nie je dostupné" + +#~ msgid "Removes contact from roster" +#~ msgstr "Odstráni kontakt zo zoznamu" + +#~ msgid "Not in roster" +#~ msgstr "Nie je v zozname" + +#, fuzzy +#~ msgid "Contact signed in notification color." +#~ msgstr "_Zobraziť udalosť v zozname" + +#, fuzzy +#~ msgid "Contact signout notification color" +#~ msgstr "_Zobraziť udalosť v zozname" + +#, fuzzy +#~ msgid "File transfer request notification color." +#~ msgstr "Požiadavka na prenos súboru" + +#, fuzzy +#~ msgid "File transfer error notification color." +#~ msgstr "Prenos súboru bol zrušený" + +#, fuzzy +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "Keď je prenos súboru dokončený zobraziť vyskakovacie oznámenie" + +#, fuzzy +#~ msgid "Groupchat invitation notification color" +#~ msgstr "Pozvánka do diskusnej skupiny" + +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "Pridať * a [n] do titulku zoznamu?" + +#~ msgid "Hides the banner in two persons chat window" +#~ msgstr "Skryť titulok v okne s diskusiou dvoch osôb." + +#, fuzzy +#~ msgid "" +#~ "Show the confirm metacontacts creation dialog or not? Empty string means " +#~ "never show the dialog." +#~ msgstr "" +#~ "Má byť zobrazovaný dialóg pri vytváraní metakontaktov? Prázdny reťazec " +#~ "znamená, že dialóg sa nezobrazuje." + +#~ msgid "Space separated list of ssl errors to ignore." +#~ msgstr "Medzerami oddelený zoznam ssl chýb, ktoré ignorovať." + +#, fuzzy +#~ msgid "Language for which misspelled words will be checked" +#~ msgstr "Jazyk v ktorom má byť prevádzaná kontrola pravopisu" + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "Práve jem, prosím nechajte mi odkaz." + +#, fuzzy +#~ msgid "from room %s" +#~ msgstr " z miestnosti %s" + +#~ msgid "Leave Groupchats" +#~ msgstr "Opustiť diskusnú skupinu" + +#, fuzzy +#~ msgid "Auto Join" +#~ msgstr "Automaticky pripojiť" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "Miestnosť:" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#, fuzzy +#~ msgid "Occupant Actions" +#~ msgstr "Pokročilé akcie" + +#~ msgid "_Add to Roster" +#~ msgstr "_Pridať do zoznamu" + +#~ msgid "_Manage Room" +#~ msgstr "S_pravovať miestnosť" + +#~ msgid "Configure _Room..." +#~ msgstr "Nastaviť _miestnosť..." + +#~ msgid "_Destroy Room" +#~ msgstr "_Zničiť miestnosť" + +#~ msgid "Jabber ID" +#~ msgstr "Jabber ID" + +#, fuzzy +#~ msgid "account" +#~ msgstr "Účet" + +#, fuzzy +#~ msgid "Roster" +#~ msgstr "Zobraziť _zoznam" + +#, fuzzy +#~ msgid "Show only in roster" +#~ msgstr "_Zobraziť udalosť v zozname" + +#, fuzzy +#~ msgid "in _roster" +#~ msgstr "Nie je v zozname" + +#, fuzzy +#~ msgid "Roster Appearance" +#~ msgstr "Vzhľad zoznamu" + +#~ msgid "_Add to Roster..." +#~ msgstr "_Pridať do zoznamu..." + +#~ msgid "_Jabber ID:" +#~ msgstr "_Jabber ID:" + +#, fuzzy +#~ msgid "_Jabber ID" +#~ msgstr "_Jabber ID:" + +#~ msgid "JabberID" +#~ msgstr "JabberID" + +#, fuzzy +#~ msgid "Show Roster" +#~ msgstr "Zobraziť _zoznam" + +#~ msgid "MUC server" +#~ msgstr "MUC server" + +#~ msgid "Room Configuration" +#~ msgstr "Konfigurácia miestnosti" + +#~ msgid "Join _Group Chat" +#~ msgstr "_Pripojiť sa k diskusnej skupine" + +#~ msgid "Toggle audio session" +#~ msgstr "Prepnúť zvukovú reláciu" + +#, fuzzy +#~ msgid "Audio sessions are not available" +#~ msgstr "Pripojenie nie je dostupné" + +#~ msgid "Conference" +#~ msgstr "Konferencia" + +#, fuzzy +#~ msgid "_Manage Bookmarks…" +#~ msgstr "Spravovať záložky" + +#, fuzzy +#~ msgid "Hide _Roster" +#~ msgstr "v _zozname kontaktov" + +#~ msgid "Show _Roster" +#~ msgstr "Zobraziť _zoznam" + +#, fuzzy +#~ msgid "Invalid Room" +#~ msgstr "Neplatná miestnosť" + +#~ msgid "Invalid room" +#~ msgstr "Neplatná miestnosť" + +#~ msgid "A GTK+ Jabber client" +#~ msgstr "GTK+ Jabber klient" + +#~ msgid "Changing Nickname" +#~ msgstr "Zmena prezývky" + +#~ msgid "Please specify the new nickname you want to use:" +#~ msgstr "Prosím špecifikujte novú prezývku, ktorú chcete používať:" + +#~ msgid "Bookmark already set" +#~ msgstr "Záložka je už nastavená" + +#, fuzzy +#~ msgid "Group Chat '%s' is already in your bookmarks." +#~ msgstr "Diskusná skupina \"%s\" je už vo vašich záložkách." + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "Záložka bola úspešne pridaná" + +#, fuzzy +#~ msgid "" +#~ "You can manage your bookmarks by clicking the Bookmarks menu item in your " +#~ "contact list." +#~ msgstr "Môžete spravovať záložky cez Akcie v menu vo vašom zozname." + +#, fuzzy +#~ msgid "The nickname contains invalid characters." +#~ msgstr "Prezývka obsahuje nepovolené znaky." + +#, fuzzy +#~ msgid "Bookmark Room" +#~ msgstr "Zazáložkovať túto miestnosť" + +#~ msgid "_Join New Group Chat" +#~ msgstr "_Pripojiť sa k diskusnej skupine" + +#~ msgid "Name:" +#~ msgstr "Meno:" + +#, fuzzy +#~ msgid "Description:" +#~ msgstr "Popis:" + +#, fuzzy +#~ msgid "Address:" +#~ msgstr "_Adresa:" + +#, fuzzy +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "" +#~ "Nemôžete sa pripojiť do diskusnej skupiny, pokiaľ nie ste prihlásený." + +#, fuzzy +#~ msgid "Occupants" +#~ msgstr "Pokročilé akcie" + +#~ msgid "_Modify Account..." +#~ msgstr "_Upraviť účet" + +#~ msgid "Boolean" +#~ msgstr "Logický" + +#~ msgid "Integer" +#~ msgstr "Celočíselný" + +#~ msgid "Text" +#~ msgstr "Text" + +#~ msgid "Value" +#~ msgstr "Hodnota" + +#~ msgid "(None)" +#~ msgstr "(Žiadny)" + +#~ msgid "Hidden" +#~ msgstr "Skryté" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "Spravovať Proxy profily" + +#, fuzzy +#~ msgid "Properties" +#~ msgstr "Predvoľby" + +#, fuzzy +#~ msgid "Proxy _Port" +#~ msgstr "_Port proxy:" + +#, fuzzy +#~ msgid "New Groupchat" +#~ msgstr "Nová diskusná skupina" + +#, fuzzy +#~ msgid "New Contact" +#~ msgstr "Pridať nový kontakt" + +#~ msgid "%s GiB" +#~ msgstr "%s GiB" + +#~ msgid "%s GB" +#~ msgstr "%s GB" + +#~ msgid "%s MiB" +#~ msgstr "%s MiB" + +#~ msgid "%s MB" +#~ msgstr "%s MB" + +#~ msgid "%s KiB" +#~ msgstr "%s KiB" + +#~ msgid "%s KB" +#~ msgstr "%s KB" + +#~ msgid "%s B" +#~ msgstr "%s B" + +#, fuzzy +#~ msgid "%s MiB/s" +#~ msgstr "%s MiB" + +#, fuzzy +#~ msgid "File transfer" +#~ msgstr "Prenos súborov" + +#, fuzzy +#~ msgid "Open _Containing Folder" +#~ msgstr "_Otvoriť priečinok s obsahom" + +#, fuzzy +#~ msgid "Default:" +#~ msgstr "Predvolené" + +#~ msgid "Really quit Gajim?" +#~ msgstr "Naozaj ukončiť program Gajim?" + +#~ msgid "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" +#~ msgstr "" +#~ "Už nebudete môcť prijímať a odosielať správy tomuto kontaktu cez tento " +#~ "transport: %s" + +#~ msgid "Contact \"%s\" will be removed from your roster" +#~ msgstr "Kontakt \"%s\" bude odstránený zo zoznamu" + +#, fuzzy +#~ msgid "" +#~ "By removing this contact you also by default remove authorization " +#~ "resulting in them always seeing you as offline." +#~ msgstr "" +#~ "Odstránením tohto kontaktu, automaticky odstránite aj autorizáciu, to " +#~ "znamená, že ona alebo on vás vždy uvidí ako odhlásený." + +#~ msgid "Contacts will be removed from your roster" +#~ msgstr "Kontakt bude odstránený zo zoznamu" + +#~ msgid "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorization resulting in them always seeing you as " +#~ "offline." +#~ msgstr "" +#~ "Odstránením nasledujúcich kontaktov:%s\n" +#~ "taktiež odstránite vašu autorizáciu, to znamená, že vás budú vidieť ako " +#~ "odhlásený." + +#, fuzzy +#~ msgid "Con_tinue" +#~ msgstr "_Pokračovať" + +#~ msgid "_Pause" +#~ msgstr "_Pozastaviť" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "Odstrániť prenos súboru zo zoznamu." + +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "" +#~ "Táto akcia odstráni jeden prenos súborov zo zoznamu. Ak je prenos " +#~ "aktívny, je najskôr zastavený a potom odstránený" + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "Zrušiť prenos vybraných súborov" + +#, fuzzy +#~ msgid "Hide the window" +#~ msgstr "Skrývanie okien" + +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "Keď je prenos súboru dokončený zobraziť vyskakovacie oznámenie" + +#~ msgid "From:" +#~ msgstr "Od:" + +#~ msgid "Subject:" +#~ msgstr "Predmet:" + +#~ msgid "%s wants to send you a file:" +#~ msgstr "%s vám chce poslať súbor:" + +#~ msgid "Name: " +#~ msgstr "Meno: " + +#~ msgid "Pause" +#~ msgstr "Pozastaviť" + +#, fuzzy +#~ msgid "Execute Command" +#~ msgstr "_Vykonať príkaz" + +#~ msgid "Type: " +#~ msgstr "Typ: " + +#~ msgid "Transferred: " +#~ msgstr "Prenesené:" + +#~ msgid "Completed" +#~ msgstr "Dokončený" + +#~ msgid "Transferring" +#~ msgstr "Prenášanie" + +#~ msgid "Not started" +#~ msgstr "Nezačal" + +#, fuzzy +#~ msgid "%s day" +#~ msgid_plural "%s days" +#~ msgstr[0] "Pred %i dňami" +#~ msgstr[1] "Pred %i dňami" +#~ msgstr[2] "Pred %i dňami" + +#~ msgid "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Všetky okná s diskusiami a diskusnými skupinami budú zatvorené. Prajete " +#~ "si pokračovať?" + +#~ msgid "_Configure" +#~ msgstr "_Nastavovať" + +#~ msgid "Change the avatar" +#~ msgstr "Zmeniť avatar" + +#, fuzzy +#~ msgid "" +#~ "Account in which the avatar will be set; if not specified, the avatar " +#~ "will be set for all accounts" +#~ msgstr "" +#~ "Účet na ktorý bude XML odoslané; ak nie je špecifikovaný, XML bude " +#~ "odoslané všetkým účtom" + +#~ msgid "add" +#~ msgstr "pridať" + +#~ msgid "modify" +#~ msgstr "upraviť" + +#~ msgid "remove" +#~ msgstr "zmazať" + +#, fuzzy +#~ msgid "" +#~ "If true, restored messages will use a smaller font than the default one." +#~ msgstr "Ak je pravda, obnovené správy budú zobrazené menším písmom." + +#, fuzzy +#~ msgid "Restored Message Color" +#~ msgstr "Náv_rat k pôvodnému nastaveniu farieb" + +#~ msgid "Send Cus_tom Status" +#~ msgstr "Poslať vlas_tný stav" + +#, fuzzy +#~ msgid "" +#~ "You are about to send a custom status. Are you sure you want to continue?" +#~ msgstr "" +#~ "Chystáte sa poslať vlastnú správu o stave. Ste si skutočne istý, že " +#~ "chcete pokračovať?" + +#, fuzzy +#~ msgid "" +#~ msgstr "Predmet" + +#~ msgid "#" +#~ msgstr "#" + +#~ msgid "You are about to block a contact. Are you sure you want to continue?" +#~ msgstr "" +#~ "Chystáte sa zablokovať kontakt. Ste si skutočne istý, že chcete " +#~ "pokračovať?" + +#~ msgid "To:" +#~ msgstr "Pre:" + +#~ msgid "0" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Reconnect when connection is lost" +#~ msgstr "Automaticky pripojiť, keď zlyhá spojenie" + +#, fuzzy +#~ msgid "Server Message Archive" +#~ msgstr "_Poslať serverovú správu..." + +#, fuzzy +#~ msgid "Message Carbons" +#~ msgstr "Správy" + +#~ msgid "" +#~ "Sent chat state notifications. Can be one of all, composing_only, " +#~ "disabled." +#~ msgstr "" +#~ "Posielanie informácii o stave diskusie. Môže byť nastavené na hodnotu " +#~ "all, composing_only, disabled." + +#, fuzzy +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "Povoliť _odosielanie informácie o operačnom systéme" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the idle time of your system" +#~ msgstr "" +#~ "Ak je zaškrtnuté, Gajim povolí ostatným zistiť operačný systém, ktorý " +#~ "používate" + +#, fuzzy +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "Povoliť _odosielanie informácie o operačnom systéme" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the local time on your system" +#~ msgstr "" +#~ "Ak je zaškrtnuté, Gajim povolí ostatným zistiť operačný systém, ktorý " +#~ "používate" + +#, fuzzy +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "Povoliť _odosielanie informácie o operačnom systéme" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the operating system you are " +#~ "using" +#~ msgstr "" +#~ "Ak je zaškrtnuté, Gajim povolí ostatným zistiť operačný systém, ktorý " +#~ "používate" + +#, fuzzy +#~ msgid "" +#~ "If checked, incoming events from unauthorized contacts will be ignored. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster." +#~ msgstr "" +#~ "Ak je zaškrtnuté, Gajim bude ignorovať prichádzajúce udalosti od " +#~ "neautorizovaných kontaktov. Použite opatrne, pretože to blokuje všetky " +#~ "správy od akýchkoľvek kontaktov, ktoré nie sú v zozname" + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." +#~ msgstr "" +#~ "Gajim môže odoslať a prijať meta-informácie vzťahujúce sa ku konverzácii " +#~ "s vašim kontaktom. Tu môžete vybrať stavy, o ktorých majú byť odosielané " +#~ "informácie druhej strane." + +#, fuzzy +#~ msgid "S_end chat state notifications" +#~ msgstr "Odo_slať oznámenia o stave rozhovoru:" + +#, fuzzy +#~ msgid "Login Options" +#~ msgstr "_Emotikony:" + +#, fuzzy +#~ msgid "Please wait while retrieving search form..." +#~ msgstr "Prosím počkajte, prebieha získavanie zoznamu príkazov..." + +#~ msgid "_Add contact" +#~ msgstr "_Pridať kontakt" + +#~ msgid "Ad-hoc Commands - Gajim" +#~ msgstr "Ad-hoc príkazy - Gajim" + +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "Prosím počkajte, prebieha získavanie zoznamu príkazov..." + +#~ msgid "Choose command to execute:" +#~ msgstr "Vyberte príkaz na vykonanie:" + +#~ msgid "Check once more" +#~ msgstr "Skontrolovať ešte raz" + +#, fuzzy +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "Prosím počkajte, prebieha odosielanie príkazu..." + +#~ msgid "This jabber entity does not expose any commands." +#~ msgstr "Táto jabber entita neposkytuje žiadny príkaz." + +#, fuzzy +#~ msgid "F_inish" +#~ msgstr "_Dokončiť" + +#~ msgid "Waiting for results" +#~ msgstr "Čakám na výsledky" + +#~ msgid "No result" +#~ msgstr "Žiadny výsledok" + +#~ msgid "Failed to get secret keys" +#~ msgstr "Nepodarilo sa získať tajné kľúče" + +#~ msgid "There is no OpenPGP secret key available." +#~ msgstr "Nie je tu tajný OpenPGP kľúč k dispozícii." + +#~ msgid "OpenPGP Key Selection" +#~ msgstr "Výber OpenPGP kľúča" + +#~ msgid "Choose your OpenPGP key" +#~ msgstr "Vyberte váš OpenPGP kľúč" + +#~ msgid "KeyID" +#~ msgstr "ID kľúča" + +#~ msgid "Contact name" +#~ msgstr "Meno kontaktu" + +#, fuzzy +#~ msgid "OpenPGP is not usable" +#~ msgstr "GPG je nepoužitelný" + +#~ msgid "Assign OpenPGP Key" +#~ msgstr "Prideliť Open_PGP kľúč" + +#~ msgid "Select a key to apply to the contact" +#~ msgstr "Vybrať kľúč a aplikovať ho na kontakt" + +#, fuzzy +#~ msgid "" +#~ "You configured Gajim to use OpenPGP agent, but there is no OpenPGP agent " +#~ "running or it returned a wrong passphrase.\n" +#~ msgstr "" +#~ "Nastavili ste Gajim aby používal GPG agenta, ale tu nie je žiadny " +#~ "spustený GPG agent alebo vrátil nesprávne heslo.\n" + +#~ msgid "You are currently connected without your OpenPGP key." +#~ msgstr "Momentálne ste pripojený bez vášho OpenPGP kľúča." + +#, fuzzy +#~ msgid "Wrong passphrase" +#~ msgstr "Nesprávna passfráza" + +#, fuzzy +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "Nesprávna passfráza" + +#~ msgid "Passphrase Required" +#~ msgstr "Passfráza je požadovaná" + +#, fuzzy +#~ msgid "" +#~ "Enter OpenPGP key passphrase for key %(keyid)s (account %(account)s)." +#~ msgstr "Vložiť heslo ku GPG kľúču pre účet %(keyid)s (account %(account)s)." + +#, fuzzy +#~ msgid "OpenPGP key expired" +#~ msgstr "GPG kľúč vypršal" + +#, fuzzy +#~ msgid "" +#~ "Your OpenPGP key has expired, you will be connected to %s without OpenPGP." +#~ msgstr "Váš GPG kľúč vypršal, a preto budete pripojený do %s bez OpenPGP." + +#~ msgid "Wrong Passphrase" +#~ msgstr "Nesprávna passfráza" + +#, fuzzy +#~ msgid "Please retype your OpenPGP passphrase or press Cancel." +#~ msgstr "Prosím zadajte znova vašu GPG passfrázu alebo stlačte Zrušiť." + +#~ msgid "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Poslať novú správu kontaktu v zozname. Oboje, OpenPGP kľúč a účet sú " +#~ "nepovinné. Ak chcete nastaviť iba 'účet', bez 'OpenPGP kľúča', nastavte " +#~ "'OpenPGP kľúč' na ''." + +#~ msgid "if specified, the message will be encrypted using this public key" +#~ msgstr "" +#~ "ak je špecifikovaný, správa bude zašifrovaná s použitím verejného kľúča" + +#, fuzzy +#~ msgid "" +#~ "Sends a chat message to someone on your roster. Optionally with OpenPGP " +#~ "key and account. If you want to only set the latter, set OpenPGP key to " +#~ "\"\"." +#~ msgstr "" +#~ "Poslať novú správu kontaktu v zozname. Oboje, OpenPGP kľúč a účet sú " +#~ "nepovinné. Ak chcete nastaviť iba 'účet', bez 'OpenPGP kľúča', nastavte " +#~ "'OpenPGP kľúč' na ''." + +#, fuzzy +#~ msgid "OpenPGP:" +#~ msgstr "OpenPGP: " + +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "Prideliť Open_PGP kľúč..." + +#, fuzzy +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "Šifrovanie správy pomocou OpenGPG" + +#, fuzzy +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "Šifrovanie správ rozhovoru pomocou gpg kľúčov." + +#, fuzzy +#~ msgid "Requires: gpg and python-gnupg (%(url)s)" +#~ msgstr "Vyžaduje gpg a python-GnuPGInterface." + +#, fuzzy +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "po_užiť premennú prostredia HTTP__PROXY" + +#, fuzzy +#~ msgid "Use PGP Agent" +#~ msgstr "Použit G_PG agenta" + +#, fuzzy +#~ msgid "OpenPGP Key" +#~ msgstr "Prideliť Open_PGP kľúč" + +#~ msgid "Cancel confirmation" +#~ msgstr "Zrušiť potvrdenie" + +#~ msgid "Service changed the session identifier." +#~ msgstr "Služba zmenila identifikátor relácie." + +#, fuzzy +#~ msgid "%s - Ad-hoc Commands - Gajim" +#~ msgstr "Ad-hoc príkazy - Gajim" + +#~ msgid "Service returned an error." +#~ msgstr "Služba vrátila chybu" + +#~ msgid "You are invited to a groupchat" +#~ msgstr "Ste pozvaný do diskusnej skupiny" + +#~ msgid "_Start Chat" +#~ msgstr "_Začať rozhovor" + +#~ msgid "Au_thorize" +#~ msgstr "Au_torizovať" + +#~ msgid "Really send file?" +#~ msgstr "Skutočne poslať súbor?" + +#~ msgid "You are currently connected to the server" +#~ msgstr "Ste pripojený na server" + +#~ msgid "To disable the account, you must be disconnected." +#~ msgstr "Pre zakázanie účtu, musíte byť odpojený." + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with %(jid)s?" +#~ msgstr "Skutočne si želáte zmazať vybraných správ?" + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with the selected contacts?" +#~ msgstr "Skutočne chcete odstrániť záznamy vybraných kontaktov?" + +#, fuzzy +#~ msgid "This can not be undone." +#~ msgstr "Služba nebola nájdená" + +#~ msgid "What do you want to do?" +#~ msgstr "Čo si prajete vykonať?" + +#~ msgid "" +#~ "List of colors, separated by \":\", that will be used to color nicknames " +#~ "in group chats." +#~ msgstr "" +#~ "Zoznam farieb, oddelené \":\", ktoré budú použité na zafarbenie prezývok " +#~ "v diskusnej skupine." + +#, fuzzy +#~ msgid "You have received new entries (and %d not displayed):" +#~ msgid_plural "You have received new entries (and %d not displayed):" +#~ msgstr[0] "Dostali ste novú položku:" +#~ msgstr[1] "Dostali ste novú položku:" +#~ msgstr[2] "Dostali ste novú položku:" + +#~ msgid "Stopped" +#~ msgstr "Zastavený" + +#~ msgid "" +#~ "You are about to send your password on an insecure connection. You should " +#~ "install PyOpenSSL to prevent that. Are you sure you want to do that?" +#~ msgstr "" +#~ "Práve sa chystáte poslať vaše heslo cez nezabezpečené spojenie. Mali by " +#~ "ste tomu predíssť nainštalovaním PyOpenSSL. Ste si istý, že to chcete " +#~ "urobiť?" + +#, fuzzy +#~ msgid "Status messages displayed in chat window" +#~ msgstr "Poslať správu a zatvoriť okno" + +#~ msgid "?print_status:All" +#~ msgstr "?zobrazovaný stav:All" + +#~ msgid "Enter and leave only" +#~ msgstr "Len vstúpiť a vystúpiť" + +#~ msgid "?print_status:None" +#~ msgstr "?zobrazovaný stav:None" + +#, fuzzy +#~ msgid "Untrusted OpenPGP key" +#~ msgstr "Vyberte váš OpenPGP kľúč" + +#~ msgid "D-Bus python bindings are missing in this computer" +#~ msgstr "D-Bus python väzby chýbajú na tomto počítači" + +#~ msgid "D-Bus capabilities of Gajim cannot be used" +#~ msgstr "D-Bus vlastnosti programu Gajim nemôžu byť použité" + +#~ msgid "D-Bus does not run correctly on this machine" +#~ msgstr "D-Bus nebeží korektne na tomto stroji" + +#, fuzzy +#~ msgid "D-Bus does not run correctly on this machine: system bus not present" +#~ msgstr "D-Bus nebeží korektne na tomto stroji" + +#, fuzzy +#~ msgid "" +#~ "D-Bus does not run correctly on this machine: session bus not present" +#~ msgstr "D-Bus nebeží korektne na tomto stroji" + +#, fuzzy +#~ msgid "Command line Control" +#~ msgstr "Príkazový riadok" + +#, fuzzy +#~ msgid "Enables you to control Gajim with via commandline" +#~ msgstr "Skript na ovládanie programu Gajim cez príkazový riadok." + +#~ msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +#~ msgstr "%(nick)s bol vykopnutý %(who)s: %(reason)s" + +#~ msgid "%(nick)s has been banned by %(who)s: %(reason)s" +#~ msgstr "%(nick)s bol zakázaný %(who)s: %(reason)s" + +#~ msgid "system shutdown" +#~ msgstr "vypnutie systému" + +#~ msgid "** Role of %(nick)s has been set to %(role)s" +#~ msgstr "** Rola %(nick)s bola nastavená na %(role)s" + +#~ msgid "%s has left" +#~ msgstr "%s odišiel" + +#, fuzzy +#~ msgid "%s is full" +#~ msgstr "Písmo" + +#, fuzzy +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "Zobraziť stavovú _informáciu kontaktov v zozname kontaktov" + +#, fuzzy +#~ msgid "" +#~ "You are about to send your password unencrypted on an insecure " +#~ "connection. Are you sure you want to do that?" +#~ msgstr "" +#~ "Práve sa chystáte poslať vaše heslo cez nezabezpečené spojenie. Ste si " +#~ "istý, že to chcete urobiť?" + +#, fuzzy +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "Anonymná autentifikácia" + +#, fuzzy +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "Anon_ymná autentifikácia" + +#, fuzzy +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "Anon_ymná autentifikácia" + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." +#~ msgstr "" +#~ "Gajim môže odoslať a prijať meta-informácie vzťahujúce sa ku konverzácii " +#~ "s inou osobou. Tu môžete vybrať stavy, ktoré majú byť zobrazované v " +#~ "diskusnom okne." + +#~ msgid "This is an irreversible operation." +#~ msgstr "Toto je nevratná operácia." + +#~ msgid "Settings" +#~ msgstr "Nastavenia" + +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "Vitajte v Gajim správca histórie" + +#~ msgid "Member List" +#~ msgstr "Zoznam členov" + +#~ msgid "Owner List" +#~ msgstr "Zoznam vlastníkov" + +#~ msgid "Administrator List" +#~ msgstr "Zoznam správcov" + +#~ msgid "Nick" +#~ msgstr "Prezývka" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "Koho chcete zakázať?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Member…" +#~ msgstr "Pridáva sa člen..." + +#~ msgid "" +#~ "Whom do you want to make a member?\n" +#~ "\n" +#~ msgstr "" +#~ "Koho chcete pridať k členom?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Owner…" +#~ msgstr "Pridáva sa vlastník..." + +#~ msgid "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" +#~ msgstr "" +#~ "Koho chcete určiť za vlastníka?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Administrator…" +#~ msgstr "Pridáva sa Administrátor..." + +#~ msgid "Error reading file:" +#~ msgstr "Chyba čítania súboru:" + +#~ msgid "Error parsing file:" +#~ msgstr "Chyba štruktúry súboru:" + +#~ msgid "List of possible features in Gajim:" +#~ msgstr "Zoznam možných funkcií v Gajim:" + +#~ msgid "Description" +#~ msgstr "Popis" + +#~ msgid "Password encryption" +#~ msgstr "Šifrovanie heslom" + +#~ msgid "Spellchecking of composed messages." +#~ msgstr "Kontrolovať pravopis vo vytvorených správach." + +#~ msgid "Automatic status" +#~ msgstr "Automatický stav" + +#~ msgid "Requires python2.5." +#~ msgstr "Vyžaduje python2.5." + +#~ msgid "" +#~ "Generate XHTML output from RST code (see http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Generuje XHTML z výstupu RST kódu (pozrite http://docutils.sourceforge." +#~ "net/docs/ref/rst/restructuredtext.html)." + +#, fuzzy +#~ msgid "?features:Available" +#~ msgstr "Prítomný" + +#~ msgid "Feature" +#~ msgstr "Funkcia" + +#~ msgid "Filter:" +#~ msgstr "Filter:" + +#~ msgid "Chat Appearance" +#~ msgstr "Vzhľad rozhovoru" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed out" +#~ msgstr "" +#~ "Gajim vás bude upozorňovať vyskakovacími oknami v pravej spodnej časti " +#~ "obrazovky na kontakty, ktoré sa práve odpojili" + +#~ msgid "Sounds" +#~ msgstr "Zvuky" + +#~ msgid "Chat state notifications" +#~ msgstr "Oznámenia stavu rozhovoru" + +#, fuzzy +#~ msgid "_Away after" +#~ msgstr "_Preč po:" + +#~ msgid "" +#~ "If checked, Gajim will change status to Away when the computer is unused." +#~ msgstr "" +#~ "Ak je zaškrtnuté, Gajim zmení stav na Preč, keď nebude používaný počítač." + +#, fuzzy +#~ msgid "_Not available after" +#~ msgstr "_Neprítomný po:" + +#~ msgid "Auto Status" +#~ msgstr "Automatický stav" + +#~ msgid "Status Messages" +#~ msgstr "Správy o stave" + +#~ msgid "Audio" +#~ msgstr "Zvuk" + +#~ msgid "Video" +#~ msgstr "Video" + +#, fuzzy +#~ msgid "(example: stun.iptel.org)" +#~ msgstr "(príklad: stunserver.org)" + +#~ msgid "Connection" +#~ msgstr "Pripojenie" + +#~ msgid "Custom" +#~ msgstr "Vlastné" + +#~ msgid "Privacy" +#~ msgstr "Súkromie" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "Editor rozšírenej konfigurácie" + +#, fuzzy +#~ msgid "Audio / video conferences" +#~ msgstr "Zvuk / Video" + +#, fuzzy +#~ msgid "File transfer, room bookmarks" +#~ msgstr "Chyba pri prenose súboru" + +#, fuzzy +#~ msgid "XML console interface" +#~ msgstr "XML konzola" + +#, fuzzy +#~ msgid "" +#~ "A programming error has been detected. It probably is not fatal, but " +#~ "should be reported to the developers nonetheless." +#~ msgstr "" +#~ "Pravdepodobne nie je fatálna, ale mala aj napriek tomu by mala byť " +#~ "oznámená vývojárom." + +#~ msgid "(ESession info)" +#~ msgstr "(ESession informácie)" + +#~ msgid "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" +#~ msgstr "" +#~ "Ak nie je zakázané, Gajim nahradí ascii emotikony ako ':)' ekvivalentným " +#~ "grafickým obrázkom" + +#, fuzzy +#~ msgid "_Emoticons" +#~ msgstr "_Emotikony:" + +#~ msgid "_Highlight misspelled words" +#~ msgstr "_Zvýrazniť zle napísané slová" + +#, fuzzy +#~ msgid "Notify by icon when your messages are received" +#~ msgstr "Prehrať zvuk keď príde nejaká MUC správa." + +#, fuzzy +#~ msgid "T_heme" +#~ msgstr "_Téma:" + +#~ msgid "Themes" +#~ msgstr "Témy" + +#~ msgid "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." +#~ msgstr "" +#~ "Jabberd1.4 nezdieľa informácie, keď sa používateľ pripojí do miestnosti " +#~ "chránenej heslom. Zmeňte túto možnosť na vypnuté, aby sa neposielali " +#~ "informácie o prítomnosti v diskusnej skupine." + +#, fuzzy +#~ msgid "Presence" +#~ msgstr "_Prítomnosť" + +#~ msgid "Emoticons disabled" +#~ msgstr "Emotikony zakázané" + +#, fuzzy +#~ msgid "" +#~ "Your configured emoticons theme could not be loaded. See the log for more " +#~ "details." +#~ msgstr "" +#~ "Vami nastavená téma emotikôn nebola nájdená, takže emotikony budú " +#~ "zakázané." + +#~ msgid "You cannot make changes to the default theme" +#~ msgstr "Nemôžete zmeniť predvolenú tému" + +#~ msgid "theme name" +#~ msgstr "názov témy" + +#~ msgid "You cannot delete your current theme" +#~ msgstr "Nemôžete odstrániť súčastnú tému" + +#~ msgid "New Single Message from %(nickname)s" +#~ msgstr "Nová správa od %(nickname)s" + +#~ msgid "New Private Message from group chat %s" +#~ msgstr "Nová súkromná správa od diskusnej skupiny %s" + +#~ msgid "%(nickname)s: %(message)s" +#~ msgstr "%(nickname)s: %(message)s" + +#~ msgid "Status message text color." +#~ msgstr "Farba textu stavovej správy." + +#~ msgid "Incoming nickname font." +#~ msgstr "Písmo prichádzajúcej prezývky." + +#~ msgid "Outgoing nickname font." +#~ msgstr "Písmo odchádzajúcej prezývky." + +#~ msgid "Status message text font." +#~ msgstr "Písmo textu stavovej správy." + +#~ msgid "Background color of contacts when they just signed in." +#~ msgstr "Farba pozadia použitá pri prihlásení kontaktu." + +#~ msgid "Background color of contacts when they just signed out." +#~ msgstr "Farba pozadia použitá pri odhlásení kontaktu." + +#~ msgid "green" +#~ msgstr "zelená" + +#~ msgid "grocery" +#~ msgstr "obchod s potravinami" + +#~ msgid "human" +#~ msgstr "človek" + +#~ msgid "marine" +#~ msgstr "námornícka" + +#, fuzzy +#~ msgid "Contact row" +#~ msgstr "Kontakt" + +#~ msgid "Gajim Themes Customization" +#~ msgstr "Úprava tém programu Gajim" + +#~ msgid "Text _color:" +#~ msgstr "Farba _textu:" + +#~ msgid "_Background:" +#~ msgstr "_Pozadie:" + +#~ msgid "Text _font:" +#~ msgstr "Farba _písma:" + +#~ msgid "Font style:" +#~ msgstr "Štýl fontu:" + +#~ msgid "Paused" +#~ msgstr "Pozastavené" + +#~ msgid "Gone" +#~ msgstr "Minulé" + +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "" +#~ "MUC\n" +#~ "Správy" + +#~ msgid "Chatstate Tab Colors" +#~ msgstr "Farby kariet diskusného okna" + +#, fuzzy +#~ msgid "Chat message" +#~ msgstr "Správa rozhovoru:" + +#~ msgid "Use system _default" +#~ msgstr "Použiť systémové _nastavenia" + +#~ msgid "Font" +#~ msgstr "Písmo" + +#, fuzzy +#~ msgid "Contact's nickname" +#~ msgstr "Prezývka kontaktu:" + +#, fuzzy +#~ msgid "_Status message" +#~ msgstr "_Správa o stave:" + +#, fuzzy +#~ msgid "Your message" +#~ msgstr "Vaša správa:" + +#, fuzzy +#~ msgid "_URL highlight" +#~ msgstr "Zvýrazňovanie _URL:" + +#~ msgid "Chat Line Colors" +#~ msgstr "Farby riadku rozhovoru" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#~ msgid "Resource:" +#~ msgstr "Zdroj:" + +#~ msgid "Status:" +#~ msgstr "Stav:" + +#, fuzzy +#~ msgid "Contact time:" +#~ msgstr "Štát:" + +#~ msgid "Ask:" +#~ msgstr "Požiadavka:" + +#~ msgid "Subscription:" +#~ msgstr "Podpis:" + +#~ msgid "Name:" +#~ msgstr "Meno:" + +#~ msgid "Nickname:" +#~ msgstr "Prezývka:" + +#~ msgid "Street:" +#~ msgstr "Ulica:" + +#~ msgid "City:" +#~ msgstr "Mesto:" + +#~ msgid "State:" +#~ msgstr "Štát:" + +#~ msgid "Extra Address:" +#~ msgstr "Ďaľšia adresa:" + +#~ msgid "Postal Code:" +#~ msgstr "PSČ:" + +#~ msgid "Country:" +#~ msgstr "Krajina:" + +#~ msgid "Homepage:" +#~ msgstr "Domovská stránka:" + +#~ msgid "E-Mail:" +#~ msgstr "E-mail:" + +#~ msgid "Phone No.:" +#~ msgstr "Telefónne č.:" + +#~ msgid "Birthday:" +#~ msgstr "Narodeniny:" + +#~ msgid "Family:" +#~ msgstr "Priezvisko:" + +#~ msgid "Middle:" +#~ msgstr "Druhé meno:" + +#~ msgid "Prefix:" +#~ msgstr "Titul pred:" + +#~ msgid "Given:" +#~ msgstr "Krstné meno:" + +#~ msgid "Suffix:" +#~ msgstr "Titul za:" + +#~ msgid "Full Name" +#~ msgstr "Celé meno" + +#~ msgid "Company:" +#~ msgstr "Spoločnosť:" + +#~ msgid "Department:" +#~ msgstr "Oddelenie:" + +#~ msgid "Position:" +#~ msgstr "Pozícia:" + +#~ msgid "Role:" +#~ msgstr "Úloha:" + +#~ msgid "- messages will be logged" +#~ msgstr "- správy budú zaznamenané" + +#~ msgid "- messages will not be logged" +#~ msgstr "- správy nebudú zaznamenané" + +#~ msgid "Edit %s" +#~ msgstr "Upraviť %s" + +#~ msgid "Conversation History with %s" +#~ msgstr "História konverzácie s %s" + +#~ msgid "Contact with \"%s\" cannot be established" +#~ msgstr "Spojenie s \"%s\" nie je možné nadviazať" + +#~ msgid "Registration information for transport %s has not arrived in time" +#~ msgstr "Redistračné informácie pre službu %s nedorazili včas" + +#~ msgid "Register to" +#~ msgstr "Registrovaný na" + +#, fuzzy +#~ msgid "Enter name / JID of contact or groupchat" +#~ msgstr "Meno kontaktu" + +#~ msgid "Search:" +#~ msgstr "Hľadať:" + +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "Bez pripojenia nemôžete meniť heslo." + +#~ msgid "Invalid password" +#~ msgstr "Nesprávne heslo" + +#~ msgid "The passwords typed in both fields must be identical." +#~ msgstr "Heslá vložené do oboch polí sa musia zhodovať." + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "Vložte ešte raz pre potvrdenie:" + +#~ msgid "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" +#~ msgstr "" +#~ "JID %s nevyhovuje RFC špecifikácii. Nebude pridaný do vášho zoznamu. " +#~ "Použite nástroje na správu zoznamu, napríklad: http://jru.jabberstudio." +#~ "org/ pre jeho odstránenie" + +#~ msgid "unsubscribe request from %s" +#~ msgstr "požiadavka na odhlásenie od %s" + +#, fuzzy +#~ msgid "Homepage:" +#~ msgstr "Domovská stránka:" + +#~ msgid "Manage Bookmarks" +#~ msgstr "Spravovať záložky" + +#~ msgid "_Nickname:" +#~ msgstr "_Prezývka:" + +#, fuzzy +#~ msgid "Pr_int status:" +#~ msgstr "Vypísať stav:" + +#, fuzzy +#~ msgid "Add JID" +#~ msgstr "Jabber ID" + +#, fuzzy +#~ msgid "Preference:" +#~ msgstr "Predvoľby" + +#, fuzzy +#~ msgid "Preference" +#~ msgstr "Predvoľby" + +#, fuzzy +#~ msgid "JID:" +#~ msgstr "Vaše JID:" + +#, fuzzy +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "Prosím vyplňte údaje o kontakte, ktorý chcete pridať do účtu %s" + +#~ msgid "Please fill in the data of the contact you want to add" +#~ msgstr "Prosím vyplňte údaje o kontakte, ktorý chcete pridať" + +#, fuzzy +#~ msgid "Recently" +#~ msgstr "Posledné:" + +#~ msgid "Add New Contact" +#~ msgstr "Pridať nový kontakt" + +#~ msgid "_User ID:" +#~ msgstr "_Používateľské ID:" + +#, fuzzy +#~ msgid "Type User ID" +#~ msgstr "Používateľské ID:" + +#, fuzzy +#~ msgid "Type Nickname" +#~ msgstr "Prezývka" + +#~ msgid "Personal Information" +#~ msgstr "Osobné informácie" + +#~ msgid "Avatar:" +#~ msgstr "Avatar:" + +#~ msgid "Click to set your avatar" +#~ msgstr "Kliknite pre výber avataru" + +#, fuzzy +#~ msgid "Remove Avatar" +#~ msgstr "Odstrániť skupinu" + +#~ msgid "Not fetched because of invisible status" +#~ msgstr "Nie je možné získať, pretože aktuálny stav je: Neviditeľný" + +#~ msgid "Please wait..." +#~ msgstr "Prosím čakajte..." + +#~ msgid "Log _encrypted chat session" +#~ msgstr "Zaznamenať reláciu šifrova_ného rozhovoru" + +#~ msgid "Yahoo! Address:" +#~ msgstr "Yahoo! adresa:" + +#~ msgid "Forward unread messages" +#~ msgstr "Preposlať neprečítané správy" + +#~ msgid "All unread messages have been forwarded." +#~ msgstr "Všetky neprečítané správy budú preposlané." + +#, fuzzy +#~ msgid "Forward unread message then disconnect" +#~ msgstr "Preposlať neprečítané správy" + +#~ msgid "MSN Address:" +#~ msgstr "MSN adresa:" + +#~ msgid "Confirm these session options" +#~ msgstr "Potvrdiť tieto voľby relácie" + +#~ msgid "" +#~ "The remote client selected these options:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Continue with the session?" +#~ msgstr "" +#~ "Vzdialený klient vybral tieto voľby:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Pokračovať s reláciou?" + +#, fuzzy +#~ msgid "Always accept for this contact" +#~ msgstr "Má tento kontakt k dispozícii OpenPGP?" + +#~ msgid "End to End message encryption" +#~ msgstr "Šifrovanie správy pomocou End to End" + +#~ msgid "Encrypting chat messages." +#~ msgstr "Šifrovanie správ rozhovorov." + +#~ msgid "Requires python-crypto." +#~ msgstr "Vyžaduje python-crypto." + +#~ msgid "This session is encrypted" +#~ msgstr "Táto relácia je šifrovaná" + +#~ msgid " and WILL be logged" +#~ msgstr " a BUDE zaznamenaná" + +#~ msgid " and WILL NOT be logged" +#~ msgstr " a NEBUDE zaznamenaná" + +#~ msgid "" +#~ "Remote contact's identity not verified. Click the shield button for more " +#~ "details." +#~ msgstr "" +#~ "Identita vzdialeného kontaktu nie je overená. Pre viac podrobností " +#~ "kliknite na tlačidlo v tvare štítu." + +#, fuzzy +#~ msgid "end-to-end encryption disabled" +#~ msgstr "Zakázané GPG šifrovanie" + +#~ msgid "Unable to decrypt message" +#~ msgstr "Nepodarilo sa dešifrovať správu" + +#~ msgid "Enable ESessions encryption for this account." +#~ msgstr "Povoliť šifrovanie ESessions pre tento účet." + +#~ msgid "Should Gajim automatically start an encrypted session when possible?" +#~ msgstr "Má Gajim automaticky spúšťať šifrovanú reláciu keď je to možné?" + +#~ msgid "" +#~ "[This is part of an encrypted session. If you see this message, something " +#~ "went wrong.]" +#~ msgstr "" +#~ "[Toto je časť šifrovanej relácie. Ak vidíte túto správu, potom je niečo " +#~ "nesprávne.]" + +#~ msgid "Requires python-avahi." +#~ msgstr "Vyžaduje python-avahi." + +#, fuzzy +#~ msgid "Save Image as…" +#~ msgstr "Uložiť obrázok ako..." + +#, fuzzy +#~ msgid "Exporting History Logs…" +#~ msgstr "Exportovanie záznamov histórie..." + +#~ msgid "When %s becomes:" +#~ msgstr "Keď %s sa stane:" + +#~ msgid "Adding Special Notification for %s" +#~ msgstr "Pridáva sa špeciálne oznámenie pre %s" + +#, fuzzy +#~ msgid "" +#~ "It seems the SSL certificate of account %(account)s has changed and is " +#~ "not valid or your connection is being compromised.\n" +#~ "\n" +#~ "Old SHA-1 fingerprint: %(old_sha1)s\n" +#~ "Old SHA-256 fingerprint: %(old_sha256)s\n" +#~ "\n" +#~ "New SHA-1 fingerprint: %(new_sha1)s\n" +#~ "New SHA-256 fingerprint: %(new_sha256)s\n" +#~ "\n" +#~ "Do you still want to connect and update the fingerprint of the " +#~ "certificate?" +#~ msgstr "" +#~ "Vyzerá to, že bol zmenený SSL certifikát pre účet %(account)s alebo vaše " +#~ "pripojenie bolo hacknuté.\n" +#~ "Starý odtlačok: %(old)s\n" +#~ "Nový odtlačok: %(new)s\n" +#~ "\n" +#~ "Chcete sa predsa len pripojiť a aktualizovať odtlačok certifikátu?" + +#~ msgid "Unable to load idle module" +#~ msgstr "Nie je možné nahrať idle modul" + +#, fuzzy +#~ msgid "%s or %s is a directory but should be a file" +#~ msgstr "%s je priečinok ale mal byť súbor" + +#~ msgid "creating logs database" +#~ msgstr "vytváranie záznamov databáz" + +#, fuzzy +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "Poslať %s do %s" + +#, fuzzy +#~ msgid "Rename account label" +#~ msgstr "Premenovať účet" + +#, fuzzy +#~ msgid "Send Single Message..." +#~ msgstr "Poslať krátku _správu..." + +#~ msgid "E2E encryption disabled" +#~ msgstr "E2E šifrovanie zakázané" + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Pridať tento certifikát do zoznamu dôverných certifikátov.\n" +#~ "SHA1 fingerprint certifikátu:\n" +#~ "%s" + +#~ msgid "uri" +#~ msgstr "uri" + +#~ msgid "cyan" +#~ msgstr "azúrová" + +#, fuzzy +#~ msgid "Send File..." +#~ msgstr "Poslať _súbor..." + +#, fuzzy +#~ msgid "HTTP File Upload not supported by your server" +#~ msgstr "Server nepodporuje ukladanie metakontaktov" + +#, fuzzy +#~ msgid "Jingle File Transfer" +#~ msgstr "Prenos súborov" + +#~ msgid "" +#~ "Your configured emoticons theme has not been found, so emoticons have " +#~ "been disabled." +#~ msgstr "" +#~ "Vami nastavená téma emotikôn nebola nájdená, takže emotikony budú " +#~ "zakázané." + +#~ msgid "Shows or hides the roster window" +#~ msgstr "Zobraziť alebo skryť okno so zoznamom" + +#~ msgid "Shows or hides the ipython window" +#~ msgstr "Zobraziť alebo skryť okno ipython" + +#, fuzzy +#~ msgid "XMPP account %s" +#~ msgstr "XMPP účet %s@%s" + +#, fuzzy +#~ msgid "Exception" +#~ msgstr "Popis" + +#~ msgid "_Actions" +#~ msgstr "_Akcie" + +#, fuzzy +#~ msgid "Requires upower and python-dbus." +#~ msgstr "Vyžaduje python-dbus." + +#~ msgid "You are already in group chat %s" +#~ msgstr "Už ste v diskusnej skupine %s" + +#~ msgid "Join Group Chat with account %s" +#~ msgstr "Pripojiť sa k diskusnej skupine s účtom %s" + +#, fuzzy +#~ msgid "" +#~ "You have to choose an account from which you want to join the groupchat." +#~ msgstr "Účet s ktorým chcete vstúpiť do miestnosti" + +#, fuzzy +#~ msgid "Please enter the group chat JID as room@server." +#~ msgstr "zadajte, prosím, Jabber ID diskusnej skupiny ako miestnosť@server." + +#, fuzzy +#~ msgid "The group chat JID contains invalid characters." +#~ msgstr "Jabber ID diskusnej skupiny obsahuje nepovolené znaky." + +#~ msgid "Start Chat with account %s" +#~ msgstr "Začať rozhovor s účtom %s" + +#, fuzzy +#~ msgid "" +#~ "Fill in the nickname or the JID of the contact you would like\n" +#~ "to send a chat message to:" +#~ msgstr "" +#~ "Vyplňte prezývku alebo Jabber ID kontaktu, ktorému si želáte\n" +#~ "odoslať správu:" + +#, fuzzy +#~ msgid "Nickname / JID" +#~ msgstr "Dvojité Jabber ID" + +#~ msgid "Unable to parse \"%s\"." +#~ msgstr "Nie je možné spracovať \"%s\"." + +#~ msgid "Shows the chat dialog so that you can send messages to a contact" +#~ msgstr "Zobrazí diskusné okno, takže môžete odoslať správu kontaktu" + +#~ msgid "JID of the contact that you want to chat with" +#~ msgstr "JID kontaktu, s ktorým chcete komunikovať" + +#~ msgid "Adds contact to roster" +#~ msgstr "Pridá kontakt do zoznamu" + +#~ msgid "jid" +#~ msgstr "jid" + +#~ msgid "Adds new contact to this account" +#~ msgstr "Pridá nový kontakt do tohto účtu" + +#~ msgid "Opens 'Start Chat' dialog" +#~ msgstr "Otvorí dialóg 'Začiatok diskusie'" + +#~ msgid "Starts chat, using this account" +#~ msgstr "Začať rozhovor s použitím účtu %s" + +#~ msgid "Account in which you want to handle it" +#~ msgstr "Účet ktorý chcete ovládať" + +#~ msgid "Message content" +#~ msgstr "Obsah správy" + +#~ msgid "Join a MUC room" +#~ msgstr "Pripojiť MUC miestnosť" + +#~ msgid "Nickname to use" +#~ msgstr "Prezývka na používanie" + +#~ msgid "Password to enter the room" +#~ msgstr "Heslo pre vstup do miestnosti" + +#~ msgid "Account from which you want to enter the room" +#~ msgstr "Účet s ktorým chcete vstúpiť do miestnosti" + +#, fuzzy +#~ msgid "Wrong URI" +#~ msgstr "Nesprávna uri" + +#~ msgid "Nickname:" +#~ msgstr "Prezývka:" + +#~ msgid "Server:" +#~ msgstr "Server:" + +#, fuzzy +#~ msgid "Join this room _automatically when I connect" +#~ msgstr "Prihlásiť sa do miestnosti automaticky, keď sa pripojím" + +#, fuzzy +#~ msgid "Bro_wse Rooms" +#~ msgstr "_Prehliadať" + +#, fuzzy +#~ msgid "Requires libgtkspell and libenchant." +#~ msgstr "Vyžaduje libgtkspell." + +#, fuzzy +#~ msgid "Network-Watcher" +#~ msgstr "Network-manager" + +#~ msgid "Autodetection of network status." +#~ msgstr "Automaticky zistí stav siete." + +#, fuzzy +#~ msgid "Requires gnome-network-manager" +#~ msgstr "Vyžaduje gnome-network-manager a python-dbus." + +#, fuzzy +#~ msgid "Feature not available, see Help->Features" +#~ msgstr "Funkcia nie je dostupná pod Windows." + +#~ msgid "This contact does not support file transfer." +#~ msgstr "Tento kontakt nepodporuje prenos súborov." + +#~ msgid "Hides the buttons in chat windows." +#~ msgstr "Skývať tlačidlá v okne rozhovoru." + +#~ msgid "Change the room's subject (Alt+T)" +#~ msgstr "Zmeniť predmet v miestnosti (Alt+T)" + +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "Zazáložkovať túto miestosť (Ctrl+B)" + +#~ msgid "Browse the chat history (Ctrl+H)" +#~ msgstr "Prehliadať históriu rozhovoru (Ctrl+H)" + +#, fuzzy +#~ msgid "Show advanced functions (Alt+D)" +#~ msgstr "Zobraziť ponuku pokročilých funkcií (Alt+D)" + +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "Pridať tento kontakt do zoznamu (Ctrl+D)" + +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "Pozvať kontakty do rozhovoru (Ctrl+G)" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Zobraziť profil kontaktu (Ctrl+I)" + +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Zobraziť profil kontaktu (Ctrl+I)" + +#~ msgid "Ma_ke message windows compact" +#~ msgstr "Zmeniť okno správ na _kompaktné" + +#~ msgid "Hide all buttons in chat windows" +#~ msgstr "Skryje všetky tlačidlá v oknách rozhovorov" + +#, fuzzy +#~ msgid "Hide the chat buttons" +#~ msgstr "Použitie: /%s, skryje tlačidlá rozhovoru." + +#~ msgid "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." +#~ msgstr "" +#~ "Ak je pravda, Gajim si vyžiada avatara, pre každý kontakt, ktorý nemá " +#~ "avatara z posledného spojenia, alebo ak nie je cache príliš zastaralá." + +#~ msgid "Disk Write Error" +#~ msgstr "Chyba pri zápise na disk" + +#~ msgid "Set Custom _Avatar..." +#~ msgstr "Nastaviť vlastný _avatar..." + +#, fuzzy +#~ msgid "SSL certificate validation" +#~ msgstr "Validácia SSL certifikátu" + +#~ msgid "" +#~ "A library used to validate server certificates to ensure a secure " +#~ "connection." +#~ msgstr "" +#~ "Knižnica používaná k overeniu serverových certifikátov, kvôli zaisteniu " +#~ "bezpečného pripojenia." + +#, fuzzy +#~ msgid "Requires python-pyopenssl > 0.12 and pyasn1." +#~ msgstr "Vyžaduje python-pyopenssl." + +#, fuzzy +#~ msgid "?CLI:room" +#~ msgstr "miestnosť" + +#, fuzzy +#~ msgid "?CLI:nick" +#~ msgstr "prezývka" + +#, fuzzy +#~ msgid "?CLI:password" +#~ msgstr "heslo" + +#~ msgid "Use D-Bus and Notification-Daemon to show notifications" +#~ msgstr "Použiť D-Bus a Notification-Daemon pre zobrazenie oznámení" + +#~ msgid "Notification" +#~ msgstr "Oznámenie" + +#~ msgid "Passive popups notifying for new events." +#~ msgstr "Nereagujúce vyskakovacie upozornenia pre nové udalosti." + +#~ msgid "" +#~ "Requires python-notify or instead python-dbus in conjunction with " +#~ "notification-daemon." +#~ msgstr "" +#~ "Vyžaduje python-notify alebo instead python-dbus v spojení s notification-" +#~ "daemon." + +#~ msgid "Ignore" +#~ msgstr "Ignorovať" + +#~ msgid "_Open Gmail Inbox" +#~ msgstr "_Otvoriť Gmail Inbox" + +#~ msgid "Notify on new _GMail email" +#~ msgstr "Upozorniť keď príde na _Gmail e-mail" + +#~ msgid "" +#~ "If checked, Gajim will show a notification when a new e-mail is received " +#~ "via GMail" +#~ msgstr "" +#~ "Ak je zaškrtnuté, Gajim zobrazí oznámenie, keď bude prijatý nový e-mail " +#~ "cez GMail" + +#~ msgid "Display _extra email details" +#~ msgstr "Zobraziť ďalši_e podrobnosti o e-maile" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will also include information about the sender of new " +#~ "emails" +#~ msgstr "" +#~ "Ak je zaškrtnuté, Gajim pridá informácie o odosielateľovi do nových e-" +#~ "mailov" + +#~ msgid "GMail Options" +#~ msgstr "Nastavenia GMail" + +#, fuzzy +#~ msgid "12" +#~ msgstr "1" + +#, fuzzy +#~ msgid "20" +#~ msgstr "2" + +#, fuzzy +#~ msgid "Invited %s to %s" +#~ msgstr "Poslať %s do %s" + +#~ msgid "GMail Email Received" +#~ msgstr "Prijatý GMail e-mail" + +#, fuzzy +#~ msgid "New e-mail on %(gmail_mail_address)s" +#~ msgstr "Nový e-mail %(gmail_mail_address)s" + +#, fuzzy +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "Máte %d nových e-mailov" +#~ msgstr[1] "Máte %d nový e-mail" +#~ msgstr[2] "Máte %d nové e-maily" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "From: %(from_address)s\n" +#~ "Subject: %(subject)s\n" +#~ "%(snippet)s" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "Od: %(from_address)s\n" +#~ "Predmet: %(subject)s\n" +#~ "%(snippet)s" + +#~ msgid "Resour_ce:" +#~ msgstr "Z_droj:" + +#~ msgid "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" +#~ msgstr "" +#~ "Zdroj je odoslaný na Jabber server, aby bolo možné odlíšiť rovnaké JID v " +#~ "dvoch alebo viacerých častiach závislých na čísle klientov pripojených na " +#~ "rovnaký server s rovnakým účtom. Takže môžete byť pripojený na rovnaký " +#~ "účet so zdrojmi ako 'Doma' alebo 'V práci', v rovnakom čase. Zdroj z " +#~ "najvyššou prioritou získava udalosti (viď nižšie)" + +#~ msgid "A_djust to status" +#~ msgstr "_Upraviť na stav" + +#~ msgid "Priority will change automatically according to your status." +#~ msgstr "Priorita sa zmení automatický podľa stavu." + +#~ msgid "Anonymous authentication" +#~ msgstr "Anonymná autentifikácia" + +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "Priorita v Jabberovi určuje, kto obdrží udalosť od jabber servera, keď je " +#~ "pripojených dvaja alebo viac klientov prostredníctvom jedného účtu; " +#~ "Klient s najvyššou priritou obdrží udalosť" + +#, fuzzy +#~ msgid "Synchronize contacts" +#~ msgstr "Synchronizovať kontakty" + +#~ msgid "Click to request authorization to all contacts of another account" +#~ msgstr "" +#~ "Kliknite pre požiadavku autorizácie pre všetky kontakty z iného účtu" + +#~ msgid "Chan_ge Password" +#~ msgstr "Zme_niť heslo" + +#~ msgid "Administration operations" +#~ msgstr "Administrátorské operácie" + +#, fuzzy +#~ msgid "Browse..." +#~ msgstr "_Prehliadať" + +#, fuzzy +#~ msgid "Certificate is e_ncrypted" +#~ msgstr "Certifikát odmietnutý" + +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "" +#~ "Ak je zaškrtnuté, Gajim sa pri spustení automatický pripojí na jabber na " +#~ "tento účet" + +#, fuzzy +#~ msgid "Synchronize logs with server" +#~ msgstr "Synchronizovať kontakty" + +#~ msgid "Synch_ronize account status with global status" +#~ msgstr "Synch_ronizovať stav účtu s globálnym stavom" + +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "Ak je zaškrtnuté, každá zmena globálneho stavu (realizovaná rozbaľovacím " +#~ "menu na spodku zoznamu) spôsobí zmenu stavu aj v tomto účte" + +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "Ak je zaškrtnuté, Gajim bude rozosielať informácie aj na niekoľko ďalších " +#~ "IP adries okrem vašej, takže je vyššia šanca, že prenos súborov bude " +#~ "fungovať." + +#~ msgid "Proxy" +#~ msgstr "Proxy" + +#~ msgid "" +#~ "Check this so Gajim will ask you before sending your password over an " +#~ "insecure connection." +#~ msgstr "" +#~ "Zaškrtnite toto, ak sa má Gajim pýtať pred poslaním vášho hesla cez " +#~ "nezabezpečené spojenie." + +#~ msgid "Send _keep-alive packets" +#~ msgstr "Poslať pa_kety na udržiavanie spojenia" + +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "" +#~ "Ak je zaškrtnuté, Gajim bude posielať pakety na udržiavanie spojenia na " +#~ "zamedzenie straty spojenia, ktoré vyústi do odpojenia" + +#~ msgid "Use cust_om hostname/port" +#~ msgstr "Použiť vlastný názov h_ostiteľa/portu" + +#~ msgid "_Hostname: " +#~ msgstr "Názov _hostiteľa: " + +#~ msgid "_Port: " +#~ msgstr "_Port: " + +#~ msgid "Choose _Key..." +#~ msgstr "Vybrať _kľúč..." + +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "" +#~ "Ak je zaškrtnuté, Gajim bude získavať heslo z GPG agenta podobného ako " +#~ "seahorse" + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#~ msgid "_Edit Personal Information..." +#~ msgstr "_Upraviť osobné informácie..." + +#~ msgid "Personal Information" +#~ msgstr "Osobné informácie" + +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "Prip_ojiť sa pri štarte programu Gajim" + +#~ msgid "Synchroni_ze account status with global status" +#~ msgstr "Synchroni_zovať stav účtu s globálnym stavom" + +#~ msgid "Use cust_om port:" +#~ msgstr "Použiť vlastný p_ort:" + +#~ msgid "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." +#~ msgstr "" +#~ "Ak vám nevyhovuje predvolený port na príjem správ, tu si môžete zvoliť " +#~ "vlastný.\n" +#~ "Zoberte v úvahu aj prípadné nastavenie firewallu." + +#~ msgid "OpenPGP is not usable on this computer" +#~ msgstr "OpenPGP nie je použiteľné na tomto počítači" + +#~ msgid "To change the account name, you must be disconnected." +#~ msgstr "Pre zmenu názvu účtu, musíte byť odpojený." + +#~ msgid "To change the account name, you must read all pending events." +#~ msgstr "Pre zmenu názvu účtu, musíte mať prečítané všetky čakajúce správy." + +#~ msgid "Account Name Already Used" +#~ msgstr "Názov účtu je už použitý" + +#~ msgid "" +#~ "This name is already used by another of your accounts. Please choose " +#~ "another name." +#~ msgstr "" +#~ "Tento názov je už použitý jedným z vašich účtov. Prosím, zvoľte si iný " +#~ "názov." + +#~ msgid "Account name cannot be empty." +#~ msgstr "Názov účtu nemôže byť prázdny." + +#~ msgid "Account name cannot contain spaces." +#~ msgstr "Názov účtu nemôže obsahovať medzery." + +#~ msgid "Enter a new name for account %s" +#~ msgstr "Zadať nový názov pre účet %s" + +#, fuzzy +#~ msgid "A JID must be in the form \"user@servername\"." +#~ msgstr "Jabber ID musí byť v tvare \"používateľ@menoserveru\"." + +#~ msgid "No such account available" +#~ msgstr "Taký účet nie je k dispozícii" + +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "" +#~ "Musíte si vytvoriť účet predtým, než budete môcť meniť vaše osobné " +#~ "informácie." + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "Bez pripojenia nemôžete meniť osobné informácie." + +#~ msgid "Your server can't save your personal information." +#~ msgstr "Váš server neumožňuje uloženie vašich osobných informácií." + +#~ msgid "Please rename or remove it before enabling link-local messaging." +#~ msgstr "" +#~ "Prosím, premenujte alebo odstráňte to pred zapnutím link-local správ." + +#~ msgid "THANKS:" +#~ msgstr "POĎAKOVANIE:" + +#~ msgid "Could not write to %s. Session Management support will not work" +#~ msgstr "Nie je možné zapisovať do %s. Správca sedenia nebude fungovať" + +#~ msgid "Jabber Traffic" +#~ msgstr "Jabber prevádzka" + +#~ msgid "_Enable" +#~ msgstr "_Povoliť" + +#, fuzzy +#~ msgid "Filter" +#~ msgstr "Písmo" + +#~ msgid "_IQ" +#~ msgstr "_IQ" + +#~ msgid "Info/Query" +#~ msgstr "Info/Požiadavka" + +#~ msgid "XML Input" +#~ msgstr "XML vstup" + +#~ msgid "XML Console for %s" +#~ msgstr "XML konzola pre %s" + +#, fuzzy +#~ msgid "Idle for:" +#~ msgstr "XML konzola pre %s" + +#~ msgid "Last status: %s" +#~ msgstr "Posledný stav: %s" + +#~ msgid " since %s" +#~ msgstr " od %s" + +#~ msgid "since %s" +#~ msgstr "od %s" + +#, fuzzy +#~ msgid "Auto" +#~ msgstr "Automaticky pripojiť" + +#, fuzzy +#~ msgid "otr" +#~ msgstr "ostatné" + +#, fuzzy +#~ msgid "Invalid expire value" +#~ msgstr "Neplatný názov servera" + +#, fuzzy +#~ msgid "There is an error" +#~ msgstr "Služba vrátila chybu" + +#~ msgid "How many minutes should last lines from previous conversation last." +#~ msgstr "Z koľkých minút majú byť riadky s predchádzajúcej konverzácie." + +#~ msgid "" +#~ "Your configured emoticons theme cannot been loaded. You maybe need to " +#~ "update the format of emoticons.py file. See http://trac.gajim.org/wiki/" +#~ "Emoticons for more details." +#~ msgstr "" +#~ "Vami nastavená téma emotikon nemôže byť nahratá. Môžno potrebujete " +#~ "aktualizovať formát súboru emoticons.py. Pre viac podrobností pozrite " +#~ "http://trac.gajim.org/wiki/Emoticons." + +#~ msgid "You will be connected to %s without OpenPGP." +#~ msgstr "Budete pripojený k %s bez OpenPGP." + +#~ msgid "The following message was NOT encrypted" +#~ msgstr "Nasledujúca správa NEbola šifrovaná" + +#~ msgid "Toggle Open_PGP Encryption" +#~ msgstr "Prepnúť Open_PGP šifrovanie" + +#~ msgid "Toggle End to End Encryption" +#~ msgstr "Prepnúť na End to End šifrovanie" + +#, fuzzy +#~ msgid "OpenPGP encryption enabled" +#~ msgstr "Povolené GPG šifrovanie" + +#, fuzzy +#~ msgid "No OpenPGP key assigned" +#~ msgstr "Nie je priradený GPG kľúč" + +#, fuzzy +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages with OpenPGP." +#~ msgstr "" +#~ "K tomuto kontaktu nie je priradený GPG kľúč. Preto nemôžete šifrovať " +#~ "správy." + +#~ msgid "Session WILL be logged" +#~ msgstr "Relácia BUDE zaznamenaná" + +#~ msgid "Session WILL NOT be logged" +#~ msgstr "Relácia NEBUDE zaznamenaná" + +#~ msgid "is" +#~ msgstr "je" + +#~ msgid "is NOT" +#~ msgstr "NIE je" + +#~ msgid "will" +#~ msgstr "bude" + +#~ msgid "will NOT" +#~ msgstr "NEbude" + +#~ msgid "The following message was encrypted" +#~ msgstr "Nasledujúca správa bola šifrovaná" + +#, fuzzy +#~ msgid "Toggle the OpenPGP encryption" +#~ msgstr "Prepnúť Open_PGP šifrovanie" + +#~ msgid "" +#~ "Should Gajim automatically start an encrypted session with this contact " +#~ "when possible?" +#~ msgstr "" +#~ "Mal by sa Gajim spúšťať automaticky so šifrovanou reláciou pre tento " +#~ "kontakt keď je to možné?" + +#~ msgid "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "" +#~ "Kľúč (%s) kontaktu sa nezhoduje s kľúčom prideleným v programe Gajim." + +#~ msgid "[This message is *encrypted* (See :XEP:`27`]" +#~ msgstr "[Táto správa je *šifrovaná* (Pozrite :XEP:`27`]" + +#~ msgid "You have already verified this contact's identity." +#~ msgstr "Identitu tohto kontaktu ste už overili." + +#~ msgid "Contact's identity verified" +#~ msgstr "Identita kontaktu overená" + +#~ msgid "Contact's identity NOT verified" +#~ msgstr "Identita kontaktu NEoverená" + +#, fuzzy +#~ msgid "Verify…" +#~ msgstr "O_veriť" + +#~ msgid "Have you verified the contact's identity?" +#~ msgstr "Overili ste identitu kontaktu?" + +#~ msgid "" +#~ "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "" +#~ "Kľúč (%s) kontaktu sa nezhoduje s kľúčom prideleným v programe " +#~ "Gajim." + +#, fuzzy +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages." +#~ msgstr "" +#~ "K tomuto kontaktu nie je priradený GPG kľúč. Preto nemôžete šifrovať " +#~ "správy." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP key is assigned to this contact, but you do not trust their " +#~ "key, so message cannot be encrypted. Use your OpenPGP client " +#~ "to trust their key." +#~ msgstr "" +#~ "Tento kontakt má priradený GPG kľúč a vy ho považujete za dôveryhodný, " +#~ "správy budú šifrované." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP Key is assigned to this contact, and you trust their key, so " +#~ "messages will be encrypted." +#~ msgstr "" +#~ "Tento kontakt má priradený GPG kľúč a vy ho považujete za dôveryhodný, " +#~ "správy budú šifrované." + +#~ msgid "" +#~ "If True, listen to D-Bus signals from NetworkManager and change the " +#~ "status of accounts (provided they do not have listen_to_network_manager " +#~ "set to False and they sync with global status) based upon the status of " +#~ "the network connection." +#~ msgstr "" +#~ "Ak je pravda, Gajim načítava D-Bus signály z NetworkManager a mení stav " +#~ "účtov (nie je nutné, aby listen_to_network_manager bolo nastavené na " +#~ "False) podľa stavu sieťového pripojenia." + +#~ msgid "" +#~ "The database file (%s) cannot be read. Try to repair it or remove it (all " +#~ "history will be lost)." +#~ msgstr "" +#~ "Súbor databázy (%s) nemôže byť prečítaný. Skúste ho opraviť alebo ho " +#~ "odstrániť (všetko v histórii bude stratené)." + +#~ msgid "Database cannot be read." +#~ msgstr "Nemôže byť načítaná databáza." + +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "_Upraviť súkromné zoznamy..." + +#~ msgid "_Administrator" +#~ msgstr "_Administrátor" + +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "Poslať správu práve pripojeným používateľom k tomuto serveru" + +#~ msgid "Sets Message of the Day" +#~ msgstr "Nastavovať správu dňa" + +#~ msgid "Updates Message of the Day" +#~ msgstr "Aktualizovať správy dňa" + +#~ msgid "Deletes Message of the Day" +#~ msgstr "Odstráni správu dňa" + +#~ msgid "Add _Contact..." +#~ msgstr "Pridať k_ontakt..." + +#~ msgid "Profile, A_vatar" +#~ msgstr "Profil, a_vatar" + +#~ msgid "File _Transfers" +#~ msgstr "Prenos _súborov" + +#~ msgid "Help online" +#~ msgstr "Pomocník online" + +#~ msgid "Frequently Asked Questions (online)" +#~ msgstr "Často kladené otázky (online)" + +#~ msgid "Fea_tures" +#~ msgstr "Fu_nkcie" + +#~ msgid "to %s account" +#~ msgstr "pre %s účet" + +#~ msgid "using %s account" +#~ msgstr "použiť %s účet" + +#~ msgid "of account %s" +#~ msgstr "účtu %s" + +#~ msgid "for account %s" +#~ msgstr "pre účet %s" + +#~ msgid "" +#~ "By removing this contact you also remove authorization resulting in him " +#~ "or her always seeing you as offline." +#~ msgstr "" +#~ "Odstránením tohto kontaktu, automaticky odstránite aj autorizáciu, to " +#~ "znamená, že ona alebo on vás vždy uvidí ako odhlásený." + +#~ msgid "Invalid Jabber ID" +#~ msgstr "Nesprávné Jabber ID" + +#~ msgid "Verify..." +#~ msgstr "Overiť..." + +#~ msgid "This file is being used by another process." +#~ msgstr "Tento súbor je používaný iným procesom." + +#~ msgid "pgp key" +#~ msgstr "pgp kľúč" + +#~ msgid "" +#~ "Sends new single message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Poslať krátku správu kontaktu v zozname. Oboje, OpenPGP kľúč a účet sú " +#~ "nepovinné. Ak chcete nastaviť iba 'účet', bez 'OpenPGP kľúča', nastavte " +#~ "'OpenPGP kľúč' na ''." + +#, fuzzy +#~ msgid "Please first choose another theme as your current theme." +#~ msgstr "Prosím, vyberte najskôr inú tému ako sučastnú." + +#~ msgid "Your passphrase is incorrect" +#~ msgstr "Vaša passfráza je nesprávna" + +#, fuzzy +#~ msgid "OpenPGP Passphrase Incorrect" +#~ msgstr "Nesprávne OpenGPG heslo" + +#, fuzzy +#~ msgid "OpenPGP key not trusted" +#~ msgstr "GPG kľúč nie je dôveryhodný" + +#~ msgid "You successfully received %(filename)s from %(name)s." +#~ msgstr "Úspešne prijatý súbor %(filename)s od %(name)s." + +#, fuzzy +#~ msgid "Set logs directory" +#~ msgstr "vytváram priečinok %s" + +#~ msgid "_Manage Bookmarks..." +#~ msgstr "_Spravovať záložky..." + +#~ msgid "Change Status Message..." +#~ msgstr "Zmeniť správu o stave..." + +#~ msgid "_Change Status Message..." +#~ msgstr "_Zmeniť správu o stave..." + +#~ msgid "" +#~ "You are not interested in the contact's presence, and neither he/she is " +#~ "interested in yours" +#~ msgstr "" +#~ "Nezaujímate sa o informácie o prítomnosti vášho kontaktu a ani on/ona sa " +#~ "nezaujíma o vaše" + +#~ msgid "Error description..." +#~ msgstr "Popis chyby..." + +#, fuzzy +#~ msgid "View contact information (Ctrl+I)" +#~ msgstr "Pozvať kontakty do rozhovoru (Ctrl+G)" + +#~ msgid "3" +#~ msgstr "3" + +#~ msgid "4" +#~ msgstr "4" + +#~ msgid "5" +#~ msgstr "5" + +#~ msgid "6" +#~ msgstr "6" + +#~ msgid "7" +#~ msgstr "7" + +#~ msgid "8" +#~ msgstr "8" + +#~ msgid "9" +#~ msgstr "9" + +#~ msgid "*" +#~ msgstr "*" + +#, fuzzy +#~ msgid "All Chat Histories" +#~ msgstr "Všetky stavy" + +#~ msgid "More" +#~ msgstr "Viac" + +#~ msgid "creating %s directory" +#~ msgstr "vytváram priečinok %s" + +#~ msgid "" +#~ "If True, Gajim will use KDE Wallet (if kwalletcli is available) to store " +#~ "account passwords." +#~ msgstr "" +#~ "Ak je true, Gajim bude používať KDE Wallet (ak je prítomný kwalletcli) na " +#~ "ukladanie hesiel." + +#~ msgid "%s is not the name of a group chat." +#~ msgstr "%s nie je názov diskusnej skupiny." + +#~ msgid "Session Management" +#~ msgstr "Správa sedenia" + +#~ msgid "Gajim session is stored on logout and restored on login." +#~ msgstr "Sedenie Gajim bude uložené pri odhlásení a obnovené pri prihlásení." + +#~ msgid "Requires python-gnome2." +#~ msgstr "Vyžaduje python-gnome2." + +#~ msgid "SRV" +#~ msgstr "SRV" + +#~ msgid "Ability to connect to servers which are using SRV records." +#~ msgstr "Schopnosť pripojiť sa k serverom, ktoré používajú SRV protokoly." + +#~ msgid "Requires dnsutils." +#~ msgstr "Vyžaduje dnsutils." + +#~ msgid "Requires nslookup to use SRV records." +#~ msgstr "Vyžaduje nslookup k použitiu SRV protokolov." + +#~ msgid "Gajim needs X server to run. Quiting..." +#~ msgstr "Gajim potrebuje X server k behu. Ukončujem..." + +#~ msgid "importing PyGTK failed: %s" +#~ msgstr "importovanie PyGTK zlyhalo: %s" + +#, fuzzy +#~ msgid "Gajim needs PyGTK 2.22 or above" +#~ msgstr "Gajim potrebuje PyGTK 2.16 alebo vyššie" + +#, fuzzy +#~ msgid "Gajim needs PyGTK 2.22 or above to run. Quiting..." +#~ msgstr "Gajim potrebuje PyGTK 2.16 alebo vyššie k behu. Ukončujem..." + +#, fuzzy +#~ msgid "Gajim needs GTK 2.22 or above" +#~ msgstr "Gajim potrebuje GTK 2.16 alebo vyššie" + +#, fuzzy +#~ msgid "Gajim needs GTK 2.22 or above to run. Quiting..." +#~ msgstr "Gajim potrebuje GTK 2.16 alebo vyššie k behu. Ukončujem..." + +#~ msgid "Gajim needs pywin32 to run" +#~ msgstr "Gajim vyžaduje pywin32 na spustenie" + +#~ msgid "" +#~ "Please make sure that Pywin32 is installed on your system. You can get it " +#~ "at %s" +#~ msgstr "" +#~ "Prosím, uistite sa, že Pywin32 je nainštalovaný na vašom systéme. Môžete " +#~ "ho získať na %s" + +#~ msgid "Gajim is already running" +#~ msgstr "Gajim už beží" + +#~ msgid "" +#~ "Another instance of Gajim seems to be running\n" +#~ "Run anyway?" +#~ msgstr "" +#~ "Pravdepodobne už jeden program Gajim beží\n" +#~ "Želáte si aj napriek tomu spustiť Gajim?" + +#~ msgid "A programming error has been detected" +#~ msgstr "Bola detekovaná chyba v programe" + +#~ msgid "Details" +#~ msgstr "Podrobnosti" + +#, fuzzy +#~ msgid "" +#~ "Gnome Keyring is installed but not correctly started (environment " +#~ "variable probably not correctly set)" +#~ msgstr "" +#~ "Správca zväzku kľúčov je nainštalovaný, \t\t\t\tale nesprávne spustený " +#~ "(pravdepodobne je nesprávne \t\t\t\tnastavená premenná prostredia)" + +#~ msgid "Jabber ID: " +#~ msgstr "Jabber ID: " + +#~ msgid "Resource: " +#~ msgstr "Zdroj: " + +#, fuzzy +#~ msgid "Mood: " +#~ msgstr "Nálada:" + +#, fuzzy +#~ msgid "Activity: " +#~ msgstr "Aktivita:" + +#~ msgid "Check on startup if Gajim is the _default Jabber client" +#~ msgstr "Kontrolovať pri spustení, či je Gajim pre_dvoleným Jabber klientom" + +#~ msgid "" +#~ "If True, Gajim will check if it's the default jabber client on each " +#~ "startup." +#~ msgstr "" +#~ "Ak je pravda, Gajim bude kontrolovať pri každom štarte, či je štandartný " +#~ "klient." + +#~ msgid "Gajim is not the default Jabber client" +#~ msgstr "Gajim nie je štandartným Jabber klientom" + +#~ msgid "Would you like to make Gajim the default Jabber client?" +#~ msgstr "Chcete, aby bol Gajim štandartným Jabber klientom?" + +#~ msgid "Always check to see if Gajim is the default Jabber client on startup" +#~ msgstr "" +#~ "Vždy kontrolovať pri spustení, či je Gajim štandartným Jabber klientom" + +#~ msgid "Execute Command..." +#~ msgstr "Vykonať príkaz..." + +#~ msgid "Actions" +#~ msgstr "Akcie" + +#~ msgid "Conditions" +#~ msgstr "Podmienky" + +#~ msgid "Advanced Notifications Control" +#~ msgstr "Pokročilé nastavenie oznámení" + +#~ msgid "Busy " +#~ msgstr "Zaneprázdnený" + +#, fuzzy +#~ msgid "Contact Change Status " +#~ msgstr "Kontakt zmenil stav" + +#~ msgid "Don't have " +#~ msgstr "Nemá " + +#, fuzzy +#~ msgid "File Transfer Started " +#~ msgstr "Prenos súboru zastavený" + +#, fuzzy +#~ msgid "Group Chat Message Highlight " +#~ msgstr "Zvýraznenie správ v diskusnej skupine" + +#, fuzzy +#~ msgid "Group Chat Message Received " +#~ msgstr "Prijatá správa - diskusná skupina" + +#~ msgid "Launch a command" +#~ msgstr "Vykonať príkaz" + +#~ msgid "One or more special statuses..." +#~ msgstr "Jeden alebo viac špeciálnych stavov..." + +#~ msgid "Online / Free For Chat" +#~ msgstr "Prítomný / Mám čas na debatu" + +#~ msgid "Play a sound" +#~ msgstr "Prehrať zvuk" + +#~ msgid "When " +#~ msgstr "Kedy" + +#~ msgid "" +#~ "_Activate window manager's UrgencyHint to make chat window in taskbar " +#~ "flash" +#~ msgstr "" +#~ "_Aktivovať vlastnosť urgentného upozornenia - okno v zozname úloh bude " +#~ "blikať" + +#~ msgid "_Disable auto opening chat window" +#~ msgstr "Z_akázať automatické otváranie diskusných okien" + +#~ msgid "_Disable existing popup window" +#~ msgstr "Z_akázať existujúce vyskakovacie okná" + +#~ msgid "_Disable existing sound for this event" +#~ msgstr "Z_akázať zvuky pre túto udalosť" + +#, fuzzy +#~ msgid "_Disable showing event in notification area" +#~ msgstr "Z_akázať zobrazovanie udalostí v zozname" + +#~ msgid "_Disable showing event in roster" +#~ msgstr "Z_akázať zobrazovanie udalostí v zozname" + +#~ msgid "_Inform me with a popup window" +#~ msgstr "_Informovať ma pomocou vyskakovacieho okna" + +#~ msgid "_Open chat window with user" +#~ msgstr "_Otvoriť okno rozhovoru s používateľom" + +#~ msgid "_Show event in roster" +#~ msgstr "_Zobraziť udalosť v zozname" + +#~ msgid "and I " +#~ msgstr "a ja" + +#, fuzzy +#~ msgid "contact(s)" +#~ msgstr "Kontakty" + +#~ msgid "for " +#~ msgstr "pre " + +#, fuzzy +#~ msgid "group(s)" +#~ msgstr "Skupiny" + +#~ msgid "when I'm in" +#~ msgstr "keď som v" + +#~ msgid "_Allow him/her to see my status" +#~ msgstr "_Povoliť jemu/jej vidieť môj stav" + +#, fuzzy +#~ msgid "Descrition:" +#~ msgstr "Popis:" + +#~ msgid "Advanced..." +#~ msgstr "Pokročilé..." + +#~ msgid "Display _activity of contacts in roster" +#~ msgstr "Zobraziť _aktivitu kontaktov v zozname kontaktov" + +#~ msgid "Display _tunes of contacts in roster" +#~ msgstr "Zobraziť _hudbu kontaktov v zozname kontaktov" + +#~ msgid "Display m_ood of contacts in roster" +#~ msgstr "Zobraziť _náladu kontaktov v zozname kontaktov" + +#~ msgid "" +#~ "If checked, Gajim will display the activity of contacts in the roster " +#~ "window" +#~ msgstr "" +#~ "Ak je zaškrtnuté, Gajim bude zobrazovať aktivitu kontaktov v okne " +#~ "sozoznamom kontaktov." + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will display the location of contacts in the roster " +#~ "window" +#~ msgstr "" +#~ "Ak je zaškrtnuté, Gajim bude zobrazovať náladu kontaktov v okne so " +#~ "zoznamom kontaktovi." + +#~ msgid "" +#~ "If checked, Gajim will display the tunes of contacts in the roster window" +#~ msgstr "" +#~ "Ak je zaškrtnuté, Gajim bude zobrazovať hudbu kontaktov v okne so " +#~ "zoznamom kontaktov" + +#~ msgid "Gajim Instant Messenger" +#~ msgstr "Gajim - internetový komunikátor" + +#~ msgid "English" +#~ msgstr "Angličtina" + +#~ msgid "Belarusian" +#~ msgstr "Bieloruština" + +#~ msgid "Bulgarian" +#~ msgstr "Bulharčina" + +#~ msgid "Breton" +#~ msgstr "Bretónčina" + +#~ msgid "Czech" +#~ msgstr "Čeština" + +#~ msgid "German" +#~ msgstr "Nemčina" + +#~ msgid "Greek" +#~ msgstr "Gréčtina" + +#~ msgid "British" +#~ msgstr "Britština" + +#~ msgid "Esperanto" +#~ msgstr "Esperanto" + +#~ msgid "Spanish" +#~ msgstr "Španielčina" + +#~ msgid "Basque" +#~ msgstr "Baskičtina" + +#~ msgid "French" +#~ msgstr "Francúzština" + +#~ msgid "Croatian" +#~ msgstr "Chorvátčina" + +#~ msgid "Italian" +#~ msgstr "Taliančina" + +#~ msgid "Norwegian (b)" +#~ msgstr "Nórčina (b)" + +#~ msgid "Dutch" +#~ msgstr "Holandština" + +#~ msgid "Norwegian" +#~ msgstr "Nórčina" + +#~ msgid "Polish" +#~ msgstr "Poľština" + +#~ msgid "Portuguese" +#~ msgstr "Portugalčina" + +#~ msgid "Brazilian Portuguese" +#~ msgstr "Brazílska portugalčina" + +#~ msgid "Russian" +#~ msgstr "Ruština" + +#~ msgid "Serbian" +#~ msgstr "Srbština" + +#~ msgid "Slovak" +#~ msgstr "Slovenčina" + +#~ msgid "Swedish" +#~ msgstr "Švédčina" + +#~ msgid "Chinese (Ch)" +#~ msgstr "Čínština (Ch)" + +#~ msgid "Spelling language" +#~ msgstr "Jazyk používaný pri kontrole pravopisu" + +#~ msgid "all or space separated status" +#~ msgstr "všetky alebo medzerou oddelené stavy" + +#~ msgid "'yes', 'no', or 'both'" +#~ msgstr "'áno', 'nie', alebo 'oboje'" + +#~ msgid "'yes', 'no' or ''" +#~ msgstr "'áno', 'nie' alebo ''" + +#~ msgid "Check your connection or try again later" +#~ msgstr "Skontrolujte svoje pripojenie alebo to skúste neskôr" + +#~ msgid "Error executing \"%(command)s\": %(error)s" +#~ msgstr "Chyba pri vykonávaní \"%(command)s\": %(error)s" + +#~ msgid "error: cannot open %s for reading" +#~ msgstr "chyba: nie je možné otvoriť %s na čítanie" + +#~ msgid "Unable to bind to port %s." +#~ msgstr "Nie je možné použiť port %s." + +#~ msgid "" +#~ "Maybe you have another running instance of Gajim. File Transfer will be " +#~ "cancelled." +#~ msgstr "" +#~ "Možno máte spustenú inú inštanciu programu Gajim. Prenos súboru bude " +#~ "zrušený." + +#~ msgid "A GTK+ jabber client" +#~ msgstr "GTK+ jabber klient" + +#~ msgid "when I am " +#~ msgstr "keď som " + +#~ msgid "Requires pybonjour (http://o2s.csail.mit.edu/o2s-wiki/pybonjour)." +#~ msgstr "Vyžaduje pybonjour (http://o2s.csail.mit.edu/o2s-wiki/pybonjour)." + +#~ msgid "LaTeX" +#~ msgstr "LaTeX" + +#~ msgid "Transform LaTeX expressions between $$ $$." +#~ msgstr "Prevádza LaTeX výrazy medzi $$ $$." + +#, fuzzy +#~ msgid "" +#~ "Requires texlive-latex-base and (dvipng or ImageMagick). You have to set " +#~ "'use_latex' to True in the Advanced Configuration Editor." +#~ msgstr "" +#~ "Vyžaduje texlive-latex-base a dvipng. Musíte nastaviť 'use_latex' na True " +#~ "v Editore rozšírenej konfigurácie." + +#, fuzzy +#~ msgid "" +#~ "Requires texlive-latex-base and (dvipng or ImageMagick) (All is in " +#~ "MikTeX). You have to set 'use_latex' to True in the Advanced " +#~ "Configuration Editor." +#~ msgstr "" +#~ "Vyžaduje texlive-latex-base a dvipng (Všetko je v MikTeX). Musíte " +#~ "nastaviť 'use_latex' na True v Editore rozšírenej konfigurácie." + +#~ msgid "Requires python-farsight." +#~ msgstr "Požaduje python-farsight." + +#, fuzzy +#~ msgid "one of: offline, online, chat, away, xa, dnd, invisible " +#~ msgstr "" +#~ "jeden z: odhlásený, prítomný, chat, preč, diskutovať, zaneprázdnený, " +#~ "neviditeľný" + +#, fuzzy +#~ msgid "" +#~ "Returns current status message(the global one unless account is specified)" +#~ msgstr "" +#~ "Vráti aktuálnu správu o stave (použije sa globálny, pokiaľ nie je vybraný " +#~ "účet)" + +#~ msgid "" +#~ "Usage: %s %s %s \n" +#~ "\t %s" +#~ msgstr "" +#~ "Použitie: %s %s %s \n" +#~ "\t %s" + +#, fuzzy +#~ msgid "" +#~ "Too many arguments. \n" +#~ "Type \"%s help %s\" for more info" +#~ msgstr "" +#~ "Príliš veľa argumentov. \n" +#~ "Zadajte \"%(basename)s help %(command)s\" pre viac informácií" + +#, fuzzy +#~ msgid "" +#~ "Argument \"%s\" is not specified. \n" +#~ "Type \"%s help %s\" for more info" +#~ msgstr "" +#~ "Argument \"%(arg)s\" nie je špecifikovaný. \n" +#~ "Zadajte \"%(basename)s help %(command)s\" pre viac informácií" + +#~ msgid "Disk WriteError" +#~ msgstr "Chyba pri zápise na disk" + +#~ msgid "Subject: %s" +#~ msgstr "Predmet: %s" + +#, fuzzy +#~ msgid "Mood: %s" +#~ msgstr "Nálada:" + +#, fuzzy +#~ msgid "Activity: %s" +#~ msgstr "Aktivita:" + +#~ msgid "@" +#~ msgstr "@" + +#~ msgid "_Disable showing event in systray" +#~ msgstr "Z_akázať zobrazovanie udalostí v oblasti systémových upozornení" + +#~ msgid "_Show event in systray" +#~ msgstr "_Zobraziť udalosť v oblasti systémových upozornení" + +#, fuzzy +#~ msgid "Always use GNOME default applications" +#~ msgstr "Vždy použiť štandartné aplikácie OS/X" + +#, fuzzy +#~ msgid "Always use Xfce default applications" +#~ msgstr "Vždy použiť štandartné aplikácie OS/X" + +#, fuzzy +#~ msgid "Autodetect on every Gajim startup" +#~ msgstr "Prip_ojiť sa pri štarte programu Gajim" + +#~ msgid "Show systray:" +#~ msgstr "Zobraziť oblasť systémových upozornení:" + +#~ msgid "Nickname not allowed: %s" +#~ msgstr "Prezývka nie je povolená: %s" + +#~ msgid "we are now subscribed to %s" +#~ msgstr "sme prihlásení k %s" + +#~ msgid "we are now unsubscribed from %s" +#~ msgstr "sme odhlásení od %s" + +#, fuzzy +#~ msgid "Mic volume:" +#~ msgstr "Hlasitosť zvuku:" + +#~ msgid "Sound volume:" +#~ msgstr "Hlasitosť zvuku:" + +#~ msgid "Gajim needs PySQLite2 to run" +#~ msgstr "Gajim potrebuje PySQLite2 pre svoj beh" + +#~ msgid "Account Modification" +#~ msgstr "Úpravy účtu" + +#~ msgid "" +#~ "Check this so Gajim will connect in port 5223 where legacy servers are " +#~ "expected to have SSL capabilities. Note that Gajim uses TLS encryption by " +#~ "default if broadcasted by the server, and with this option enabled TLS " +#~ "will be disabled" +#~ msgstr "" +#~ "Povoliť - Gajim sa bude pripájať na port 5223, kde servery môžu poskytnúť " +#~ "silné šifrované SSL spojenie. Gajim používa bežne TLS šifrovanie, pokiaľ " +#~ "je poskytované serverom. Pri povolení tejto vlastnosti bude TLS " +#~ "deaktivované." + +#~ msgid "Edit Personal Information..." +#~ msgstr "Upraviť osobné informácie..." + +#~ msgid "Hostname: " +#~ msgstr "Názov hostiteľa:" + +#~ msgid "" +#~ "If checked, Gajim will store the password in ~/.gajim/config with 'read' " +#~ "permission only for you" +#~ msgstr "" +#~ "Ak je zaškrtnuté, Gajim uloží heslo do ~/.gajim/config s oprávnením " +#~ "'čitať' len pre vás" + +#~ msgid "Port: " +#~ msgstr "Port:" + +#~ msgid "Save _passphrase (insecure)" +#~ msgstr "Uložiť _heslo (nie je bezpečné)" + +#~ msgid "Use _SSL (legacy)" +#~ msgstr "Použiť _SSL (historické dôvody)" + +#~ msgid "gtk-add" +#~ msgstr "gtk-add" + +#~ msgid "gtk-close" +#~ msgstr "gtk-close" + +#~ msgid "gtk-remove" +#~ msgstr "gtk-remove" + +#~ msgid "" +#~ "Receive a Message\n" +#~ "Contact Disconnected \n" +#~ "Contact Change Status \n" +#~ "Group Chat Message Highlight \n" +#~ "Group Chat Message Received \n" +#~ "File Transfer Request \n" +#~ "File Transfer Started \n" +#~ "File Transfer Finished" +#~ msgstr "" +#~ "Prijatá správa\n" +#~ "Kontakt sa odhlásil \n" +#~ "Kontakt zmenil stav \n" +#~ "Správa diskusnej skupiny zvýraznená \n" +#~ "Správa diskusnej skupiny prijatá \n" +#~ "Požiadavka k prenosu súboru \n" +#~ "Prenos súboru začal \n" +#~ "Prenos súboru dokončený" + +#~ msgid "" +#~ "contact(s)\n" +#~ "group(s)\n" +#~ "everybody" +#~ msgstr "" +#~ "kontakt(y)\n" +#~ "skupina(y)\n" +#~ "všetci" + +#~ msgid "" +#~ "Account row\n" +#~ "Group row\n" +#~ "Contact row\n" +#~ "Chat Banner" +#~ msgstr "" +#~ "Riadok s účtom\n" +#~ "Riadok so skupinou\n" +#~ "Riadok s kontaktom\n" +#~ "Titulok diskusie" + +#~ msgid "" +#~ "Enter JID or Contact name\n" +#~ "Groupchat Histories\n" +#~ "All Chat Histories" +#~ msgstr "" +#~ "Vložte JID alebo názov kontaktu\n" +#~ "História diskusných skupín\n" +#~ "História všetkých rozhovorov" + +#~ msgid "gtk-delete" +#~ msgstr "gtk-delete" + +#~ msgid "" +#~ "HTTP Connect\n" +#~ "SOCKS5\n" +#~ "BOSH" +#~ msgstr "" +#~ "HTTP pripojenie\n" +#~ "SOCKS5\n" +#~ "BOSH" + +#~ msgid "Send a file (Ctrl+F)" +#~ msgstr "Poslať súbor (Ctrl+F)" + +#~ msgid "" +#~ "All chat states\n" +#~ "Composing only\n" +#~ "Disabled" +#~ msgstr "" +#~ "Všetky stavy\n" +#~ "Len pri písaní\n" +#~ "Zakázané" + +#~ msgid "" +#~ "Autodetect on every Gajim startup\n" +#~ "Always use GNOME default applications\n" +#~ "Always use KDE default applications\n" +#~ "Always use Xfce default applications\n" +#~ "Custom" +#~ msgstr "" +#~ "Automaticky zistiť pri každom štarte programu Gajim\n" +#~ "Vždy použiť štandartné aplikácie GNOME\n" +#~ "Vždy použiť štandartné aplikácie KDE\n" +#~ "Vždy použiť štandartné aplikácie Xfce\n" +#~ "Vlastné" + +#~ msgid "" +#~ "Detached roster with detached chats\n" +#~ "Detached roster with single chat\n" +#~ "Single window for everything\n" +#~ "Detached roster with chat grouped by account\n" +#~ "Detached roster with chat grouped by type" +#~ msgstr "" +#~ "Oddelený zoznam od oddelených rozhovorov\n" +#~ "Oddelený zoznam od spojených rozhovorov\n" +#~ "Spoločné okno pre všetko\n" +#~ "Oddelený zoznam od spojených rozhovorov podľa účtu\n" +#~ "Oddelený zoznam od spojených rozhovorov podľa typu" + +#~ msgid "" +#~ "Pop it up\n" +#~ "Notify me about it\n" +#~ "Show only in roster" +#~ msgstr "" +#~ "Vyskakovacie okno\n" +#~ "Upozorniť ma o tom\n" +#~ "Zobraziť len v zozname kontaktov" + +#~ msgid "" +#~ "none\n" +#~ "both\n" +#~ "from\n" +#~ "to" +#~ msgstr "" +#~ "žiadny\n" +#~ "oba\n" +#~ "od\n" +#~ "k" + +#~ msgid "gtk-cancel" +#~ msgstr "gtk-cancel" + +#~ msgid "Banners and clickable links" +#~ msgstr "Bannery a odkazy na ktoré ide kliknuť" + +#~ msgid "Ability to have clickable URLs in chat and groupchat window banners." +#~ msgstr "" +#~ "Schopnosť spraviť klikacie URL v titulkoch okien rozhovorov a diskusných " +#~ "skupín." + +#~ msgid "Requires python-sexy." +#~ msgstr "Vyžaduje python-sexy." + +#~ msgid "GTK+ runtime is missing libglade support" +#~ msgstr "GTK+ prostredie nepodporuje libglade" + +#~ msgid "" +#~ "Please remove your current GTK+ runtime and install the latest stable " +#~ "version from %s" +#~ msgstr "" +#~ "Prosím, odstráňte vašu aktuálnu verziu GTK+ prostredia a nainštalujte si " +#~ "poslednú stabilnú verziu z %s" + +#~ msgid "" +#~ "Please make sure that GTK+ and PyGTK have libglade support in your system." +#~ msgstr "" +#~ "Prosím, uistite sa, že GTK+ a PyGTK majú podporu pre libglade vo vašom " +#~ "systéme." + +#~ msgid "_Outgoing message:" +#~ msgstr "_Odchádzajúca správa:" + +#~ msgid "Add Special _Notification" +#~ msgstr "Pridať špeciálne oz_námenie" + +#~ msgid "Assign Open_PGP Key" +#~ msgstr "Prideliť Open_PGP kľúč" + +#~ msgid "" +#~ "%(title)s by %(artist)s\n" +#~ "from %(source)s" +#~ msgstr "" +#~ "%(title)s od %(artist)s\n" +#~ "z %(source)s" + +#~ msgid "" +#~ "Usage: /%(command)s , sends action to the current group chat. Use " +#~ "third person. (e.g. /%(command)s explodes.)" +#~ msgstr "" +#~ "Použitie: /%(command)s , odošle akciu pre aktuálnu diskusnú " +#~ "skupinu. Použite tretiu osobu. (napr. /%(command)s explodoval.)" + +#~ msgid "No help info for /%s" +#~ msgstr "Žiadne informácie s pomocou pre /%s" + +#~ msgid "Enable link-local/zeroconf messaging" +#~ msgstr "Povoliť link-local/zeroconf správy" + +#~ msgid "OpenPGP passphrase was not given" +#~ msgstr "OpenPGP passfráza nebola zadaná" + +#~ msgid "pysqlite2 (aka python-pysqlite2) dependency is missing. Exiting..." +#~ msgstr "" +#~ "chýbajúca závislosť na pysqlite2 (aka python-pysqlite2). Ukončenie..." + +#~ msgid "Gajim account %s" +#~ msgstr "Gajim účet %s" + +#~ msgid "" +#~ "To continue sending and receiving messages, you will need to reconnect." +#~ msgstr "" +#~ "Pre pokračovanie odosielania a prijímania správ, sa musíte znovu pripojiť." + +#~ msgid "" +#~ "You are not connected or not visible to others. Your message could not be " +#~ "sent." +#~ msgstr "" +#~ "Nie ste pripojený alebo viditeľný pre ostatných. Vašu správu nie je možné " +#~ "odoslať." + +#~ msgid "[This message is encrypted]" +#~ msgstr "[Táto správa je šifrovaná]" + +#~ msgid "PyOpenSSL" +#~ msgstr "PyOpenSSL" + +#~ msgid "gnome-keyring" +#~ msgstr "gnome-keyring" + +#~ msgid "" +#~ "Requires python-gnome2-extras or compilation of gtkspell module from " +#~ "Gajim sources." +#~ msgstr "" +#~ "Vyžaduje python-gnome2-extras alebo kompiláciu gtkspell modulu zo " +#~ "zdrojových kódov Gajim." + +#~ msgid "A icon in systemtray reflecting the current presence." +#~ msgstr "Ikona v oblasti systémových upozornení odráža prítomnosť." + +#~ msgid "" +#~ "Requires python-gnome2-extras or compiled trayicon module from Gajim " +#~ "sources." +#~ msgstr "" +#~ "Vyžaduje python-gnome2-extras alebo skompilovaný modul trayicon zo " +#~ "zdrojových kódov Gajim." + +#~ msgid "Requires PyGTK >= 2.10." +#~ msgstr "Vyžaduje PyGTK >= 2.10." + +#~ msgid "Idle" +#~ msgstr "Nečinný" + +#~ msgid "Requires compilation of the idle module from Gajim sources." +#~ msgstr "Vyžaduje kompiláciu idle modulu zo zdrojový kódov Gajim." + +#~ msgid "libsexy" +#~ msgstr "libsexy" + +#~ msgid "" +#~ "Usage: /%s [reason], bans the JID from the group chat. The " +#~ "nickname of an occupant may be substituted, but not if it contains \"@\". " +#~ "If the JID is currently in the group chat, he/she/it will also be kicked. " +#~ "Does NOT support spaces in nickname." +#~ msgstr "" +#~ "Použitie: /%s [dôvod], zakáže JID v diskusnej skupine. " +#~ "Prezývka človeka môže byť zmenená, ale nesmie obsahovať \"@\". Ak je JID " +#~ "práve v diskusnej skupine, on/ona/ono bude vykoponutý. Medzery v " +#~ "prezývkach nie sú podporované." + +#~ msgid "" +#~ "Usage: /%s [reason], closes the current window or tab, displaying reason " +#~ "if specified." +#~ msgstr "" +#~ "Použitie: /%s [dôvod], zatvorí aktuálnu kartu v okne a zobrazí " +#~ "zdôvodnenie, pokiaľ je špecifikované." + +#~ msgid "" +#~ "Usage: /%s [reason], invites JID to the current group chat, " +#~ "optionally providing a reason." +#~ msgstr "" +#~ "Použitie: /%s [dôvod], pozve JID do aktuálnej diskusnej skupiny, " +#~ "prípadne sa zobrazí aj dôvod." + +#~ msgid "" +#~ "Usage: /%s @[/nickname], offers to join room@server " +#~ "optionally using specified nickname." +#~ msgstr "" +#~ "Použitie: /%s @[/prezývka], ponúkne možnosť pripojiť " +#~ "sa do miestnosť@server pre prezývku, ak je špecifikovaný." + +#~ msgid "" +#~ "Usage: /%s [reason], removes the occupant specified by " +#~ "nickname from the group chat and optionally displays a reason. Does NOT " +#~ "support spaces in nickname." +#~ msgstr "" +#~ "Použitie: /%s [dôvod], odstráni navštevníka z diskusnej " +#~ "skupiny podľa prezývky, prípadne zobrazí dôvod. Medzery v prezývkach nie " +#~ "sú podporované." + +#~ msgid "" +#~ "Usage: /%s [message], opens a private message window and sends " +#~ "message to the occupant specified by nickname." +#~ msgstr "" +#~ "Použitie: /%s [správa], otvorí okno sukromného rozhovoru a " +#~ "pošle správu určenému používateľovi podľa prezývky." + +#~ msgid "Usage: /%s , changes your nickname in current group chat." +#~ msgstr "" +#~ "Použitie: /%s , zmení prezývku v aktuálnej diskusnej skupine." + +#~ msgid "" +#~ "Usage: /%s [topic], displays or updates the current group chat topic." +#~ msgstr "" +#~ "Použitie: /%s [téma], zobrazí alebo aktualizuje tému v diskusnej skupine." + +#~ msgid "" +#~ "Usage: /%s , sends a message without looking for other commands." +#~ msgstr "Použitie: /%s , odošle správu, bezohľadu na ďalšie príkazy." + +#~ msgid "Generic" +#~ msgstr "Spoločné" + +#~ msgid "Click to see features (like MSN, ICQ transports) of jabber servers" +#~ msgstr "" +#~ "Kliknite pre zistenie vlastností (ako MSN, ICQ transport) jabber serverov" + +#~ msgid "Modify Account" +#~ msgstr "Upraviť účet" + +#~ msgid "The username used to identify the Last.fm account." +#~ msgstr "Používateľské meno používané na idintifikovanie Last.fm účtu." + +#~ msgid "Thoughtful" +#~ msgstr "Zamyslený" + +#~ msgid "This account is already configured in Gajim." +#~ msgstr "Tento účet už nastavný v Gajim." + +#, fuzzy +#~ msgid "" +#~ "Requires texlive-latex-base, dvips and imagemagick. You have to set " +#~ "'use_latex' to True in the Advanced Configuration Editor." +#~ msgstr "" +#~ "Vyžaduje texlive-latex-base, dvips a imagemagick. Nastavte 'use_latex' na " +#~ "pravda v Editor rozšírenej konfigurácie." + +#~ msgid "Network Manager support not available" +#~ msgstr "Podpora pre správcu sieťových spojení nie je k dispozícii" + +#~ msgid "Session Management support not available (missing gnome.ui module)" +#~ msgstr "Podpora Správy sedenia nie je dostupná (chýba modul gnome.ui)" + +#~ msgid "" +#~ "If checked, Gajim will sort contacts in roster window and groupchats by " +#~ "their status and not by the shown name" +#~ msgstr "" +#~ "Ak je zaškrtnuté, Gajim bude usporiadavať kontakty v okne so zoznamom a " +#~ "diskusnými skupinami podľa ich stavu a nie podľa zobrazovaného názvu" + +#~ msgid "A_ccounts" +#~ msgstr "Úč_ty" + +#~ msgid "%(title)s by %(artist)s\n" +#~ msgstr "%(title)s od %(artist)s\n" + +#~ msgid "The following message was " +#~ msgstr "Nasledujúca správa bola " + +#~ msgid "General:" +#~ msgstr "Všeobecné:" + +#~ msgid "Specific:" +#~ msgstr "Špecifické:" + +#~ msgid "cold" +#~ msgstr "studený" + +#~ msgid "hot" +#~ msgstr "horúci" + +#~ msgid "working" +#~ msgstr "pracujem" + +#~ msgid "inactive" +#~ msgstr "neaktívny" + +#~ msgid "walking" +#~ msgstr "chodím" + +#~ msgid "sleeping" +#~ msgstr "spím" + +#~ msgid "%s is now %s" +#~ msgstr "%s je teraz %s" + +#~ msgid "%s - %s" +#~ msgstr "%s - %s" + +#~ msgid "Start / Refresh OTR" +#~ msgstr "Spustiť / obnoviť OTR" + +#~ msgid "Invitation Received" +#~ msgstr "Prijaté pozvanie" + +#~ msgid "Play Tic Tac Toe" +#~ msgstr "Hrať piškôrky" + +#, fuzzy +#~ msgid "Off the Record Encryption" +#~ msgstr "End to End šifrovanie" + +#, fuzzy +#~ msgid "Encrypting chatmessages in a way that even works through gateways." +#~ msgstr "Šifruje správy rozhovoru pomocou gpg kľúčov." + +#~ msgid "Generating..." +#~ msgstr "Generuje sa..." + +#~ msgid "" +#~ "Generating a private key for %s...\n" +#~ "done." +#~ msgstr "" +#~ "Generovanie súkromného kľúča pre %s...\n" +#~ "bolo dokončené." + +#~ msgid "" +#~ "\n" +#~ "From: %(from_address)s" +#~ msgstr "" +#~ "\n" +#~ "Od: %(from_address)s" + +#, fuzzy +#~ msgid "Private conversation with %s lost." +#~ msgstr "Kliknite pre zobrazenie poslednej konverzácie s kontaktom" + +#~ msgid "Confirm Passphrase" +#~ msgstr "Potvrdiť heslo" + +#~ msgid "Enter your new passphrase again for confirmation" +#~ msgstr "Vložte vaše heslo ešte raz pre potvrdenie" + +#~ msgid "Create Passphrase" +#~ msgstr "Vytvoriť heslo" + +#~ msgid "Passphrases did not match.\n" +#~ msgstr "Heslá sa nezhodujú.\n" + +#~ msgid "Gajim needs you to create a passphrase to encrypt stored secrets" +#~ msgstr "Gajim potrebuje vytvoriť passfrázu k zašifrovaniu tajných uložení" + +#~ msgid "Click to see past conversation in this room" +#~ msgstr "Kliknite pre zobrazenie predchádzajúcej konverzácie v miestnosti" + +#~ msgid "Publish and Subscribe" +#~ msgstr "Publikovať a podpísat" + +#~ msgid "Allow others to see your:" +#~ msgstr "Povoliť ostatným vidieť vašu:" + +#~ msgid "Receive your contact's:" +#~ msgstr "Váš kontakt má prijímať:" diff --git a/po/sr.po b/po/sr.po new file mode 100644 index 0000000..ba16223 --- /dev/null +++ b/po/sr.po @@ -0,0 +1,15531 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-01 17:44+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 2.0.0rc2\n" +"X-Pootle-Path: /sr/gajim/sr.po\n" +"X-Pootle-Revision: 1037\n" + +#: gajim/history_manager.py:78 +#, fuzzy +msgid "Usage:" +msgstr "порука" + +#: gajim/history_manager.py:80 +#, fuzzy +msgid "Options:" +msgstr "_Смајлији:" + +#: gajim/history_manager.py:82 +msgid "Show this help message and exit" +msgstr "" + +#: gajim/history_manager.py:83 +msgid "Choose folder for logfile" +msgstr "" + +#: gajim/history_manager.py:113 +msgid "Cannot find history logs database" +msgstr "Није могуће пронаћи дневник историјата базе података" + +#: gajim/history_manager.py:114 +#, fuzzy, python-format +msgid "%s does not exist." +msgstr "Датотека не постоји" + +#: gajim/history_manager.py:147 gajim/history_manager.py:201 +#: gajim/gtk/add_contact.py:31 gajim/gtk/discovery.py:833 +#: gajim/gtk/accounts.py:892 gajim/data/gui/vcard_information_window.ui:55 +#: gajim/data/gui/bookmarks.ui:45 gajim/data/gui/blocking_list.ui:43 +#: gajim/data/gui/mam_preferences.ui:117 +#, fuzzy +msgid "XMPP Address" +msgstr "АИМ адреса:" + +#: gajim/history_manager.py:160 gajim/history_manager.py:208 +#: gajim/gtk/history.py:108 gajim/data/gui/history_window.ui:89 +msgid "Date" +msgstr "Датум" + +#: gajim/history_manager.py:167 gajim/history_manager.py:231 +#: gajim/data/gui/profile.ui:232 gajim/data/gui/vcard_information_window.ui:442 +#: gajim/data/gui/bookmarks.ui:84 +msgid "Nickname" +msgstr "Надимак" + +#: gajim/history_manager.py:178 gajim/history_manager.py:217 +#: gajim/gtk/history.py:117 gajim/data/gui/single_message_window.ui:266 +msgid "Message" +msgstr "Порука" + +#: gajim/history_manager.py:186 gajim/history_manager.py:224 +#: gajim/data/gui/groups_post_window.ui:49 +#: gajim/data/gui/single_message_window.ui:205 +msgid "Subject" +msgstr "Тема" + +#: gajim/history_manager.py:254 +#, fuzzy +msgid "Database Cleanup" +msgstr "Грешка са базом података" + +#: gajim/history_manager.py:255 +#, fuzzy +msgid "Clean up the database?" +msgstr "креирам базу дневника" + +#: gajim/history_manager.py:256 +#, fuzzy +msgid "" +"This is STRONGLY NOT RECOMMENDED IF GAJIM IS RUNNING.\n" +"Normally, the allocated database size will not be freed, it will just become " +"reusable. This operation may take a while." +msgstr "" +"Нормално, величина алоцираног простора неће бити ослобођена,само ће постати " +"поново користива. Уколико заиста желите смањити величину базе података " +"притисните Да, иначе притисните Не.\n" +"\n" +"Уколико притисните Да, молимо сачекајте..." + +#: gajim/history_manager.py:262 +#, fuzzy +msgid "_Cleanup" +msgstr "_Почисти" + +#: gajim/history_manager.py:527 gajim/gtk/filetransfer.py:238 +#: gajim/gtk/filetransfer.py:248 +msgid "You" +msgstr "Ви" + +#: gajim/history_manager.py:539 +#, python-format +msgid "%(who)s on %(time)s said: %(message)s\n" +msgstr "%(who)s у %(time)s каже: %(message)s\n" + +#: gajim/history_manager.py:576 gajim/history_manager.py:615 +#: gajim/gtk/themes.py:362 gajim/gtk/roster_item_exchange.py:75 +#: gajim/gtk/roster_item_exchange.py:185 +msgid "Delete" +msgstr "Обриши" + +#: gajim/history_manager.py:577 +#, fuzzy +msgid "Delete Conversation" +msgid_plural "Delete Conversations" +msgstr[0] "Поништи одобравање" +msgstr[1] "Поништи одобравање" + +#: gajim/history_manager.py:578 +#, fuzzy, python-format +msgid "Do you want to permanently delete this conversation with %s?" +msgid_plural "Do you want to permanently delete these conversations?" +msgstr[0] "Да ли заиста желите да избришете означену поруку?" +msgstr[1] "Да ли заиста желите да избришете означену поруку?" + +#: gajim/history_manager.py:616 +#, fuzzy +msgid "Delete Message" +msgid_plural "Delete Messages" +msgstr[0] "Подразумевана порука" +msgstr[1] "Подразумевана порука" + +#: gajim/history_manager.py:617 +#, fuzzy +msgid "Do you want to permanently delete this message?" +msgid_plural "Do you want to permanently delete these messages?" +msgstr[0] "Да ли заиста желите да избришете означену поруку?" +msgstr[1] "Да ли заиста желите да избришете означене поруке?" +msgstr[2] "Да ли заиста желите да избришете означене поруке?" + +#: gajim/roster_window.py:268 gajim/roster_window.py:991 +msgid "Merged accounts" +msgstr "Спојени налози" + +#: gajim/roster_window.py:756 gajim/roster_window.py:1667 +#: gajim/roster_window.py:1669 gajim/roster_window.py:1986 +#: gajim/roster_window.py:3065 gajim/roster_window.py:3098 +#: gajim/roster_window.py:4026 gajim/gui_interface.py:338 +#: gajim/gui_menu_builder.py:254 gajim/gui_menu_builder.py:345 +#: gajim/chat_control.py:291 gajim/chat_control.py:421 +#: gajim/gtk/add_contact.py:320 gajim/gtk/roster_item_exchange.py:112 +#: gajim/gtk/subscription_request.py:77 gajim/gtk/subscription_request.py:126 +#: gajim/common/helpers.py:89 gajim/common/helpers.py:207 +#: gajim/common/contacts.py:243 gajim/common/contacts.py:382 +#: gajim/common/contacts.py:493 +#, fuzzy +msgid "Not in contact list" +msgstr "Прикажи контакте који нису на вези" + +#: gajim/roster_window.py:823 gajim/roster_window.py:1579 +#: gajim/roster_window.py:1612 gajim/roster_window.py:1663 +#: gajim/roster_window.py:1665 gajim/roster_window.py:1820 +#: gajim/roster_window.py:2378 gajim/roster_window.py:3990 +#: gajim/roster_window.py:4638 gajim/gtk/discovery.py:127 +#: gajim/gtk/discovery.py:128 gajim/gtk/discovery.py:1419 +#: gajim/common/helpers.py:88 gajim/common/contacts.py:225 +#: gajim/common/contacts.py:485 +msgid "Transports" +msgstr "Преноси" + +#: gajim/roster_window.py:1671 gajim/roster_window.py:1673 +#: gajim/roster_window.py:3990 gajim/roster_window.py:4603 +#: gajim/gui_interface.py:1425 gajim/common/helpers.py:91 +#: gajim/common/contacts.py:223 +#, fuzzy +msgid "Group chats" +msgstr "Групни разговори" + +#: gajim/roster_window.py:1901 gajim/chat_control.py:1688 +msgid "Remote contact stopped transfer" +msgstr "Удаљени контакт је прекинуо пренос" + +#: gajim/roster_window.py:1903 gajim/chat_control.py:1690 +msgid "Error opening file" +msgstr "Грешка при отварању датотеке" + +#: gajim/roster_window.py:1968 +#, fuzzy +msgid "Authorization sent" +msgstr "Ауторизација послата" + +#: gajim/roster_window.py:1969 +#, fuzzy, python-format +msgid "\"%s\" will now see your status." +msgstr "Сада ће контакт \"%s\" знати Ваш статус." + +#: gajim/roster_window.py:1987 +msgid "Subscription request has been sent" +msgstr "Захтев за претплатом послат" + +#: gajim/roster_window.py:1988 +#, fuzzy, python-format +msgid "If \"%s\" accepts this request you will know their status." +msgstr "Ако контакт \"%s\" прихвати овај захтев, знаћете његов/њен статус." + +#: gajim/roster_window.py:2002 +#, fuzzy +msgid "Authorization removed" +msgstr "Ауторизација уклоњена" + +#: gajim/roster_window.py:2003 +#, python-format +msgid "Now \"%s\" will always see you as offline." +msgstr "Сада ће Вас контакт \"%s\" увек видети као да нисте на вези." + +#: gajim/roster_window.py:2198 gajim/data/gui/shortcuts_window.ui:66 +#, fuzzy +msgid "Quit Gajim" +msgstr "Гајим" + +#: gajim/roster_window.py:2199 +#, fuzzy +msgid "You are about to quit Gajim" +msgstr "Јесте ли сигурни да желите затворити Гајим?" + +#: gajim/roster_window.py:2200 +msgid "Are you sure you want to quit Gajim?" +msgstr "Јесте ли сигурни да желите затворити Гајим?" + +#: gajim/roster_window.py:2201 +#, fuzzy +msgid "_Always quit when closing Gajim" +msgstr "Увек затвори Гајим" + +#: gajim/roster_window.py:2204 gajim/roster_window.py:2299 +#: gajim/roster_window.py:2340 gajim/data/gui/application_menu.ui:30 +#: gajim/data/gui/systray_context_menu.ui:83 +msgid "_Quit" +msgstr "" + +#: gajim/roster_window.py:2292 +#, fuzzy +msgid "Stop File Transfers" +msgstr "Преноси датотека" + +#: gajim/roster_window.py:2293 +#, fuzzy +msgid "You still have running file transfers" +msgstr "Прекини пренос датотеке" + +#: gajim/roster_window.py:2294 +msgid "" +"If you quit now, the file(s) being transferred will be lost.\n" +"Do you still want to quit?" +msgstr "" + +#: gajim/roster_window.py:2333 +#, fuzzy +msgid "Unread Messages" +msgstr "Непрочитани догађаји" + +#: gajim/roster_window.py:2334 +#, fuzzy +msgid "You still have unread messages" +msgstr "Имате непрочитаних порука" + +#: gajim/roster_window.py:2335 +#, fuzzy +msgid "" +"Messages will only be available for reading them later if storing chat " +"history is enabled and if the contact is in your contact list." +msgstr "" +"Поруке ће бити доступне за читање и касније ако имате омогућен историјат и " +"тај контакт у листи." + +#: gajim/roster_window.py:2590 +msgid "You have unread messages" +msgstr "Имате непрочитаних порука" + +#: gajim/roster_window.py:2591 +msgid "You must read them before removing this transport." +msgstr "Морате их прочитати пре уклањања овог транспорта." + +#: gajim/roster_window.py:2594 +#, fuzzy, python-format +msgid "Transport '%s' will be removed" +msgstr "Транспорт \"%s\" ће бити уклоњен" + +#: gajim/roster_window.py:2595 +#, fuzzy +msgid "" +"You will no longer be able to send and receive messages from and to contacts " +"using this transport." +msgstr "" +"Нећете више бити у могућности да размењујете поруке са конткатима са овог " +"транспорта." + +#: gajim/roster_window.py:2598 +msgid "Transports will be removed" +msgstr "Транспорт ће бити уклоњен" + +#: gajim/roster_window.py:2603 +#, fuzzy, python-format +msgid "" +"You will no longer be able to send and receive messages from and to contacts " +"using these transports:\n" +"%s" +msgstr "" +"Нећете више бити у могућности да размењујете поруке са конткатима са овог " +"транспорта." + +#: gajim/roster_window.py:2607 +#, fuzzy +msgid "Remove Transport" +msgstr "Прикажи транс_порте" + +#: gajim/roster_window.py:2662 gajim/chat_control.py:428 +#, fuzzy +msgid "Block Contact" +msgstr "Блокирани контакти" + +#: gajim/roster_window.py:2663 gajim/chat_control.py:429 +#, fuzzy +msgid "Really block this contact?" +msgstr "Да ли је OpenPGP омогућен за овај контакт?" + +#: gajim/roster_window.py:2664 gajim/chat_control.py:430 +#, fuzzy +msgid "" +"You will appear offline for this contact and you will not receive further " +"messages." +msgstr "Џабер ИД контакта који ће примити поруку" + +#: gajim/roster_window.py:2666 +#, fuzzy +msgid "_Do not ask again" +msgstr "_Не питај ме више" + +#: gajim/roster_window.py:2669 gajim/chat_control.py:434 +msgid "_Report Spam" +msgstr "" + +#: gajim/roster_window.py:2673 gajim/roster_window.py:4778 +#: gajim/gui_menu_builder.py:485 gajim/chat_control.py:438 +#: gajim/data/gui/contact_context_menu.ui:151 +msgid "_Block" +msgstr "_Блокирај" + +#: gajim/roster_window.py:2706 +msgid "Rename Contact" +msgstr "Преименуј контакт" + +#: gajim/roster_window.py:2707 +#, fuzzy, python-format +msgid "Rename contact %s?" +msgstr "Преименуј контакт" + +#: gajim/roster_window.py:2708 +#, fuzzy +msgid "Please enter a new nickname" +msgstr "Унесите нови надимак за контакт %s" + +#: gajim/roster_window.py:2712 gajim/roster_window.py:3439 +#: gajim/roster_window.py:4679 gajim/dialogs.py:103 gajim/dialogs.py:116 +#: gajim/gtk/accounts.py:308 gajim/common/contacts.py:178 +#: gajim/common/contacts.py:227 gajim/data/gui/shortcuts_window.ui:12 +#: gajim/data/gui/preferences.ui:96 +msgid "General" +msgstr "Опште" + +#: gajim/roster_window.py:2715 +msgid "Rename Group" +msgstr "Преименуј групу" + +#: gajim/roster_window.py:2716 +#, fuzzy, python-format +msgid "Rename group %s?" +msgstr "Преименуј групу" + +#: gajim/roster_window.py:2717 +#, fuzzy +msgid "Please enter a new name" +msgstr "Молимо Вас направите нову чисту тему са жељеним именом." + +#: gajim/roster_window.py:2747 gajim/roster_window.py:2869 +#: gajim/data/gui/groupchat_control.ui:1859 +#, fuzzy +msgid "_Rename" +msgstr "Преи_менуј" + +#: gajim/roster_window.py:2769 gajim/roster_window.py:2770 +msgid "Remove Group" +msgstr "Уклони групу" + +#: gajim/roster_window.py:2771 +#, fuzzy, python-format +msgid "Do you want to remove %s from the contact list?" +msgstr "Желите ли уклонити групу %s са листе контаката?" + +#: gajim/roster_window.py:2772 +#, fuzzy +msgid "_Also remove all contacts of this group from contact list" +msgstr "Уједно уклоња и све контакте из ове групе из листе контаката" + +#: gajim/roster_window.py:2864 gajim/roster_window.py:2865 +#, fuzzy +msgid "Rename Group Chat" +msgstr "Напусти групне разговоре" + +#: gajim/roster_window.py:2866 +#, fuzzy +msgid "Please enter a new name for this group chat" +msgstr "Молимо Вас унесите ново корисничко име за Ваш локални налог" + +#: gajim/roster_window.py:3082 +#, fuzzy +msgid "Remove Contact" +msgstr "Преименуј контакт" + +#: gajim/roster_window.py:3083 +#, fuzzy +msgid "Remove contact from contact list" +msgstr "Уклања контакт са листе" + +#: gajim/roster_window.py:3084 +#, fuzzy, python-format +msgid "You are about to remove %(name)s (%(jid)s) from your contact list.\n" +msgstr "Управо ћете уклонити \"%(name)s\" (%(jid)s) из ваше листе контаката.\n" + +#: gajim/roster_window.py:3093 gajim/roster_window.py:3113 +#, fuzzy +msgid "" +"By removing this contact you also remove authorization. This means the " +"contact will see you as offline." +msgstr "" +"Уклањањем ових контаката:%s\n" +"уједно уклањате и одобрење пто значи да ће Вас те особе увек видети као да " +"нисте на вези." + +#: gajim/roster_window.py:3104 +msgid "Do you want to continue?" +msgstr "Да ли желите да наставите?" + +#: gajim/roster_window.py:3115 +#, fuzzy +msgid "_I want this contact to know my status after removal" +msgstr "Желим да овај контакт зна мој статус и након уклањања" + +#: gajim/roster_window.py:3122 +#, fuzzy +msgid "Remove contacts from contact list" +msgstr "Уклања контакт са листе" + +#: gajim/roster_window.py:3128 +#, fuzzy, python-format +msgid "" +"By removing the following contacts, you will also remove authorization. This " +"means they will see you as offline:\n" +"\n" +"%s" +msgstr "" +"Уклањањем ових контаката:%s\n" +"уједно уклањате и одобрење пто значи да ће Вас те особе увек видети као да " +"нисте на вези." + +#: gajim/roster_window.py:3132 +#, fuzzy +msgid "Remove Contacts" +msgstr "Преименуј контакт" + +#: gajim/roster_window.py:3761 +#, fuzzy +msgid "You are about to create a metacontact" +msgstr "" +"Управо ћете направити псеудоконткат. Јесте ли сигурни да желите наставити?" + +#: gajim/roster_window.py:3762 +#, fuzzy +msgid "" +"Metacontacts are a way to regroup several contacts in one single contact. " +"Generally it is used when the same person has several XMPP- or Transport-" +"Accounts." +msgstr "" +"Псеудоконтакти су начин груписања неколико контаката у једну линију. " +"Генерално, они се користе када иста особа има неколико Џабер налога или " +"транспортних налога." + +#: gajim/roster_window.py:3766 +#, fuzzy +msgid "Create Metacontact" +msgstr "Преименуј контакт" + +#: gajim/roster_window.py:3769 gajim/chat_control_base.py:771 +#: gajim/groupchat_control.py:1676 gajim/message_window.py:368 +#, fuzzy +msgid "_Do not ask me again" +msgstr "_Не питај ме више" + +#: gajim/roster_window.py:3772 gajim/data/gui/groupchat_creation.ui:317 +#, fuzzy +msgid "_Create" +msgstr "Креативан" + +#: gajim/roster_window.py:3889 +msgid "Invalid file URI:" +msgstr "Неисправан URI датотеке:" + +#: gajim/roster_window.py:3901 +#, fuzzy, python-format +msgid "Send this file to %s:\n" +msgid_plural "Send these files to %s:\n" +msgstr[0] "Да ли желите послати ову датотеку контакту %s:" +msgstr[1] "Да ли желите послати ове датотеке контакту %s:" +msgstr[2] "Да ли желите послати ове датотеке контакту %s:" + +#: gajim/roster_window.py:3909 gajim/roster_window.py:3910 +#: gajim/chat_control.py:1541 gajim/gtk/filetransfer_progress.py:36 +#, fuzzy +msgid "File Transfer" +msgstr "Преноси датотека" + +#: gajim/roster_window.py:3914 gajim/data/gui/xml_console.ui:334 +msgid "_Send" +msgstr "_Пошаљи" + +#: gajim/roster_window.py:4067 +#, fuzzy, python-format +msgid "Send %(from)s to %(to)s" +msgstr "Пошаљи %s за %s" + +#: gajim/roster_window.py:4080 +#, fuzzy, python-format +msgid "Make %s first contact" +msgstr "Направи метаконтакте од %s и %s" + +#: gajim/roster_window.py:4085 +#, fuzzy, python-format +msgid "Make %(contact1)s and %(contact2)s metacontacts" +msgstr "Направи метаконтакте од %s и %s" + +#: gajim/roster_window.py:4436 gajim/roster_window.py:4523 +#: gajim/gtk/status_selector.py:76 +msgid "_Change Status Message" +msgstr "_Измени статусну поруку" + +#: gajim/roster_window.py:4456 +msgid "Publish Tune" +msgstr "Објави песму" + +#: gajim/roster_window.py:4467 +#, fuzzy +msgid "Publish Location" +msgstr "Објави песму" + +#: gajim/roster_window.py:4606 +msgid "_Maximize All" +msgstr "_Увећај све" + +#: gajim/roster_window.py:4615 gajim/roster_window.py:4743 +msgid "Send Group M_essage" +msgstr "П_ошаљи групну поруку" + +#: gajim/roster_window.py:4622 +msgid "To all users" +msgstr "Свим корисницима" + +#: gajim/roster_window.py:4626 +msgid "To all online users" +msgstr "Свим корисницима на вези" + +#: gajim/roster_window.py:4637 gajim/roster_window.py:4749 +#: gajim/data/gui/contact_context_menu.ui:36 +msgid "In_vite to" +msgstr "Позо_ви у" + +#: gajim/roster_window.py:4663 gajim/gui_menu_builder.py:471 +#, fuzzy +msgid "_Rename…" +msgstr "Преи_менуј" + +#: gajim/roster_window.py:4669 gajim/gui_menu_builder.py:493 +#: gajim/data/gui/contact_context_menu.ui:181 +msgid "Remo_ve" +msgstr "_Уклони" + +#: gajim/roster_window.py:4759 +msgid "_Manage Contacts" +msgstr "_Управљање контактима" + +#: gajim/roster_window.py:4765 +#, fuzzy +msgid "Edit _Groups…" +msgstr "Измени групе" + +#: gajim/roster_window.py:4774 gajim/gui_menu_builder.py:482 +#: gajim/data/gui/contact_context_menu.ui:143 +msgid "_Unblock" +msgstr "_Одблокирај" + +#: gajim/roster_window.py:4786 gajim/gtk/dialogs.py:70 +#: gajim/data/gui/filetransfers.ui:12 +msgid "_Remove" +msgstr "_Уклони" + +#: gajim/roster_window.py:4823 +msgid "_Maximize" +msgstr "_Увећај" + +#: gajim/roster_window.py:4828 +#, fuzzy +msgid "Re_name" +msgstr "Преи_менуј" + +#: gajim/roster_window.py:4836 gajim/groupchat_control.py:1680 +msgid "_Leave" +msgstr "" + +#: gajim/roster_window.py:4844 +#, fuzzy +msgid "Execute command" +msgstr "_Изврши наредбу" + +#: gajim/roster_window.py:4852 gajim/data/gui/application_menu.ui:68 +#: gajim/data/gui/contact_context_menu.ui:205 +msgid "_History" +msgstr "_Историјат" + +#: gajim/roster_window.py:4945 gajim/gui_interface.py:339 +#: gajim/common/helpers.py:90 gajim/common/contacts.py:221 +msgid "Observers" +msgstr "Посматрачи" + +#: gajim/roster_window.py:4948 +msgid "Observers can see your status, but you are not allowed to see theirs" +msgstr "" + +#: gajim/privatechat_control.py:105 gajim/groupchat_control.py:1225 +#, python-format +msgid "You are now known as %s" +msgstr "Од сада сте познати као %s" + +#: gajim/privatechat_control.py:107 gajim/groupchat_control.py:1227 +#, fuzzy, python-brace-format +msgid "{nick} is now known as {new_nick}" +msgstr "%(nick)s је од сада познат као %(new_nick)s" + +#: gajim/privatechat_control.py:138 gajim/groupchat_control.py:1254 +#, fuzzy, python-brace-format +msgid "You are now {show}{status}" +msgstr "Од сада сте познати као %s" + +#: gajim/privatechat_control.py:142 gajim/groupchat_control.py:1258 +#, fuzzy, python-brace-format +msgid "{nick} is now {show}{status}" +msgstr "%(nick)s је тренутно %(status)s" + +#: gajim/privatechat_control.py:199 +msgid "Sending private message failed" +msgstr "Неуспешно слање приватне поруке" + +#: gajim/privatechat_control.py:201 +#, python-format +msgid "You are no longer in group chat \"%(room)s\" or \"%(nick)s\" has left." +msgstr "" +"Више нисте у групном разговору \"%(room)s\" или је \"%(nick)s\" отишао." + +#: gajim/application.py:81 +#, fuzzy +msgid "Show the application's version" +msgstr "Notification-daemon" + +#: gajim/application.py:88 +#, fuzzy +msgid "Show only critical errors" +msgstr "Прикажи догађај у листи контаката" + +#: gajim/application.py:95 +msgid "Separate profile files completely (even history database and plugins)" +msgstr "" + +#: gajim/application.py:103 +msgid "Print XML stanzas and other debug information" +msgstr "" + +#: gajim/application.py:110 +#, fuzzy +msgid "Use defined profile in configuration directory" +msgstr "Напредна измена конфигурације" + +#: gajim/application.py:118 +#, fuzzy +msgid "Set configuration directory" +msgstr "Конфигурација собе" + +#: gajim/application.py:126 +msgid "Configure logging system" +msgstr "" + +#: gajim/application.py:134 +#, fuzzy +msgid "Show all warnings" +msgstr "Прикажи св_е догађаје на чекању" + +#: gajim/application.py:141 +msgid "Open IPython shell" +msgstr "" + +#: gajim/application.py:148 +msgid "Pops up a window with the next pending event" +msgstr "Искаче прозор са следећим догађајем на чекању" + +#: gajim/application.py:154 gajim/data/gui/shortcuts_window.ui:17 +#: data/org.gajim.Gajim.desktop.in:21 +#, fuzzy +msgid "Start a new chat" +msgstr "Започни разговор" + +#: gajim/application.py:205 gajim/gui_interface.py:131 +msgid "Database Error" +msgstr "Грешка са базом података" + +#: gajim/gui_interface.py:168 +#, fuzzy, python-format +msgid "HTTP (%(method)s) Authorization for %(url)s (ID: %(id)s)" +msgstr "HTTP (%(method)s) Ауторизација за %(url)s (ид: %(id)s)" + +#: gajim/gui_interface.py:173 +msgid "Do you accept this request?" +msgstr "Прихватате ли овај захтев?" + +#: gajim/gui_interface.py:175 +#, fuzzy, python-format +msgid "Do you accept this request (account: %s)?" +msgstr "Прихватате ли овај захтев на налогу %s?" + +#: gajim/gui_interface.py:181 +#, fuzzy +msgid "Authorization Request" +msgstr "Ауторизација послата" + +#: gajim/gui_interface.py:182 +#, fuzzy +msgid "HTTP Authorization Request" +msgstr "Ауторизација послата" + +#: gajim/gui_interface.py:185 gajim/gui_interface.py:376 +#: gajim/gui_interface.py:2002 gajim/gtk/filetransfer.py:339 +#, fuzzy +msgid "_No" +msgstr "Ништа" + +#: gajim/gui_interface.py:203 gajim/gtk/notification.py:189 +#: gajim/gtk/notification.py:216 +msgid "Connection Failed" +msgstr "Веза прекинута" + +#: gajim/gui_interface.py:299 +#, python-format +msgid "error while sending %(message)s ( %(error)s )" +msgstr "грешка приликом слања %(message)s ( %(error)s )" + +#: gajim/gui_interface.py:324 gajim/gtk/notification.py:189 +msgid "Subscription request" +msgstr "Захтев за претплатом" + +#: gajim/gui_interface.py:359 +msgid "Authorization accepted" +msgstr "Ауторизација прихваћена" + +#: gajim/gui_interface.py:360 +#, fuzzy, python-format +msgid "The contact \"%(jid)s\" has authorized you to see their status." +msgstr "Контакт \"%s\" је прихватио да видите његов/њен статус." + +#: gajim/gui_interface.py:370 +#, fuzzy +msgid "Subscription Removed" +msgstr "Захтев за претплатом" + +#: gajim/gui_interface.py:371 +#, fuzzy, python-format +msgid "%(name)s (%(jid)s) has removed subscription from you" +msgstr "Контакт \"%s\" је укинуо претплату на њега" + +#: gajim/gui_interface.py:373 +#, fuzzy +msgid "" +"You will always see this contact as offline.\n" +"Do you want to remove them from your contact list?" +msgstr "" +"Увек ћете га/је видети као да није на вези.\n" +"Да ли желите да га/је уклоните са листе контаката?" + +#: gajim/gui_interface.py:398 gajim/gtk/notification.py:190 +msgid "Unsubscribed" +msgstr "Укинута претплата" + +#: gajim/gui_interface.py:410 +#, python-format +msgid "%(jid)s declined the invitation: %(reason)s" +msgstr "" + +#: gajim/gui_interface.py:414 +#, python-format +msgid "%(jid)s declined the invitation" +msgstr "" + +#: gajim/gui_interface.py:431 gajim/chat_control.py:1606 +#: gajim/gtk/notification.py:188 gajim/gtk/notification.py:214 +#: gajim/gtk/notification.py:286 gajim/gtk/groupchat_invitation.py:33 +#, fuzzy +msgid "Group Chat Invitation" +msgstr "Позив на групни разговор" + +#: gajim/gui_interface.py:432 +#, fuzzy, python-format +msgid "%(contact)s invited you to %(chat)s" +msgstr "$Contact Вас је позвао на групни разговор у собу %(room_jid)s" + +#: gajim/gui_interface.py:453 +#, fuzzy +msgid "Certificate Passphrase Required" +msgstr "Сертификат је истекао" + +#: gajim/gui_interface.py:454 +#, fuzzy, python-format +msgid "Enter the certificate passphrase for account %s" +msgstr "Унесите лозинку GPG кључа %(keyid)s (налог %(account)s)." + +#: gajim/gui_interface.py:463 +#, python-format +msgid "Enter your password for account %s" +msgstr "Унесите Вашу лозинку за рачун %s" + +#: gajim/gui_interface.py:475 +msgid "Password Required" +msgstr "Лозинка захтевана" + +#: gajim/gui_interface.py:475 +msgid "Save password" +msgstr "Сачувај лозинку" + +#: gajim/gui_interface.py:544 gajim/gui_interface.py:575 +#: gajim/gtk/notification.py:187 gajim/gtk/notification.py:279 +#: gajim/gtk/filetransfer.py:333 gajim/gtk/filetransfer.py:334 +msgid "File Transfer Error" +msgstr "Грешка при преносу датотеке" + +#: gajim/gui_interface.py:609 +#, python-format +msgid "%s wants to send you a file." +msgstr "%s Вам жели послати датотеку." + +#: gajim/gui_interface.py:611 gajim/gtk/notification.py:186 +#: gajim/gtk/notification.py:276 gajim/gtk/filetransfer.py:485 +msgid "File Transfer Request" +msgstr "Захтев за преносом датотеке" + +#: gajim/gui_interface.py:714 +#, fuzzy +msgid "Remote Contact Stopped Transfer" +msgstr "Удаљени контакт је прекинуо пренос" + +#: gajim/gui_interface.py:719 +#, fuzzy +msgid "Error Opening File" +msgstr "Грешка при отварању датотеке" + +#: gajim/gui_interface.py:729 +#, fuzzy +msgid "SSL Certificate Error" +msgstr "Грешка SSL сертификата" + +#: gajim/gui_interface.py:738 gajim/gui_interface.py:768 +#: gajim/gui_interface.py:794 gajim/chat_control.py:1573 +#: gajim/gtk/notification.py:187 gajim/gtk/notification.py:282 +msgid "File Transfer Completed" +msgstr "Пренос датотеке завршен" + +#: gajim/gui_interface.py:742 gajim/gui_interface.py:773 +#: gajim/gui_interface.py:800 gajim/gtk/notification.py:188 +#: gajim/gtk/notification.py:283 +msgid "File Transfer Stopped" +msgstr "Пренос датотеке заустављен" + +#: gajim/gui_interface.py:746 +#, fuzzy +msgid "File Transfer Failed" +msgstr "Преноси датотека" + +#: gajim/gui_interface.py:769 +#, fuzzy, python-format +msgid "%(filename)s received from %(name)s." +msgstr "Пренос датотеке %(filename)s од контакта %(name)s је заустављен." + +#: gajim/gui_interface.py:774 +#, python-format +msgid "File transfer of %(filename)s from %(name)s stopped." +msgstr "Пренос датотеке %(filename)s од контакта %(name)s је заустављен." + +#: gajim/gui_interface.py:780 +#, fuzzy, python-format +msgid "File transfer of %(filename)s from %(name)s failed." +msgstr "Пренос датотеке %(filename)s од контакта %(name)s је заустављен." + +#: gajim/gui_interface.py:795 +#, python-format +msgid "You successfully sent %(filename)s to %(name)s." +msgstr "Успешно сте послали датотеку %(filename)s за контакт %(name)s" + +#: gajim/gui_interface.py:801 +#, python-format +msgid "File transfer of %(filename)s to %(name)s stopped." +msgstr "Пренос %(filename)s за контакт %(name)s је заустављен. " + +#: gajim/gui_interface.py:807 +#, fuzzy, python-format +msgid "File transfer of %(filename)s to %(name)s failed." +msgstr "Пренос %(filename)s за контакт %(name)s је заустављен. " + +#: gajim/gui_interface.py:919 gajim/gui_interface.py:920 +msgid "Username Conflict" +msgstr "Конфликт корисничког имена" + +#: gajim/gui_interface.py:921 +#, fuzzy +msgid "Please enter a new username for your local account" +msgstr "Молимо Вас унесите ново корисничко име за Ваш локални налог" + +#: gajim/gui_interface.py:925 gajim/gtk/dialogs.py:51 +#: gajim/data/gui/passphrase_dialog.ui:44 +msgid "_OK" +msgstr "_У реду" + +#: gajim/gui_interface.py:988 gajim/chat_control.py:763 +#: gajim/chat_control.py:1660 gajim/gtk/notification.py:190 +#, fuzzy +msgid "Incoming Call" +msgstr "Боја за долазни надимак." + +#: gajim/gui_interface.py:990 +#, python-format +msgid "%s is calling" +msgstr "" + +#: gajim/gui_interface.py:1071 gajim/gui_interface.py:1072 +#, fuzzy +msgid "Insecure Connection" +msgstr "Несигурна веза" + +#: gajim/gui_interface.py:1073 +#, fuzzy, python-format +msgid "" +"You are about to connect to the account %(account)s (%(server)s) using an " +"insecure connection method. This means conversations will not be encrypted. " +"Connecting PLAIN is strongly discouraged." +msgstr "" +"Управо ћете се повезати на налог %(account)s (%(server)s) преко небезбедне " +"везе. Ово значи да ће сва Ваша преписка бити нешифрована. Овакав тип везе се " +"не препоручује.\n" +"Да ли сте сигурни да желите да се повежете овако?" + +#: gajim/gui_interface.py:1080 gajim/data/gui/groupchat_control.ui:595 +msgid "_Abort" +msgstr "" + +#: gajim/gui_interface.py:1083 +#, fuzzy +msgid "_Connect Anyway" +msgstr "Повезивање" + +#: gajim/gui_interface.py:1921 +msgid "Gajim: IPython Console" +msgstr "" + +#: gajim/gui_interface.py:1998 +#, fuzzy +msgid "Update Check" +msgstr "Провера правописа" + +#: gajim/gui_interface.py:1999 +msgid "Gajim Update Check" +msgstr "" + +#: gajim/gui_interface.py:2000 +msgid "Search for Gajim updates periodically?" +msgstr "" + +#: gajim/gui_interface.py:2005 +msgid "_Search Periodically" +msgstr "" + +#: gajim/gui_interface.py:2045 +#, fuzzy +msgid "Update Available" +msgstr "Недоступан" + +#: gajim/gui_interface.py:2046 +#, fuzzy +msgid "Gajim Update Available" +msgstr "Недоступан" + +#: gajim/gui_interface.py:2047 +#, python-format +msgid "There is an update available for Gajim (latest version: %s)" +msgstr "" + +#: gajim/gui_interface.py:2049 +#, fuzzy +msgid "_Do not show again" +msgstr "_Не питај ме више" + +#: gajim/gui_interface.py:2051 gajim/gtk/accounts.py:126 +msgid "_Later" +msgstr "" + +#: gajim/gui_interface.py:2054 +msgid "_Update Now" +msgstr "" + +#: gajim/gui_menu_builder.py:358 +#, fuzzy +msgid "I would like to add you to my contact list" +msgstr "Желио бих да Вас додам на листу мојих контаката." + +#: gajim/gui_menu_builder.py:435 +#, fuzzy +msgid "Send Single _Message…" +msgstr "Пошаљи једну _поруку..." + +#: gajim/gui_menu_builder.py:450 +#, fuzzy +msgid "E_xecute Command…" +msgstr "_Изврши наредбу" + +#: gajim/gui_menu_builder.py:458 +msgid "_Manage Transport" +msgstr "_Управљање транспортима" + +#: gajim/gui_menu_builder.py:464 +msgid "_Modify Transport" +msgstr "_Измени транспорт" + +#: gajim/gui_menu_builder.py:503 gajim/data/gui/contact_context_menu.ui:198 +msgid "_Information" +msgstr "Информације" + +#: gajim/gui_menu_builder.py:516 +#, fuzzy +msgid "Send File" +msgstr "Пошаљи _датотеку" + +#: gajim/gui_menu_builder.py:517 +#, fuzzy +msgid "Upload File…" +msgstr "Сними датотеку као..." + +#: gajim/gui_menu_builder.py:518 +#, fuzzy +msgid "Send File Directly…" +msgstr "Сними датотеку као..." + +#: gajim/gui_menu_builder.py:520 gajim/gtk/accounts.py:734 +#, fuzzy +msgid "Send Read Markers" +msgstr "Шаљи подат_ке о живости" + +#: gajim/gui_menu_builder.py:521 gajim/gtk/accounts.py:710 +#, fuzzy +msgid "Send Chatstate" +msgstr "Последњи статус: %s" + +#: gajim/gui_menu_builder.py:522 gajim/data/gui/groupchat_control.ui:307 +#, fuzzy +msgid "Invite Contacts…" +msgstr "Позови контакте" + +#: gajim/gui_menu_builder.py:523 gajim/gui_menu_builder.py:741 +#: gajim/gui_menu_builder.py:768 gajim/gui_menu_builder.py:807 +#, fuzzy +msgid "Add to Contact List…" +msgstr "_Додај контакт..." + +#: gajim/gui_menu_builder.py:524 +#, fuzzy +msgid "Block Contact…" +msgstr "Блокирани контакти" + +#: gajim/gui_menu_builder.py:525 gajim/data/gui/chat_control.ui:936 +#, fuzzy +msgid "Start Call…" +msgstr "Започни разговор" + +#: gajim/gui_menu_builder.py:526 gajim/gui_menu_builder.py:576 +#: gajim/gui_menu_builder.py:802 gajim/data/gui/groupchat_control.ui:1334 +#, fuzzy +msgid "Information" +msgstr "Информације" + +#: gajim/gui_menu_builder.py:527 gajim/gui_menu_builder.py:588 +#, fuzzy +msgid "History" +msgstr "_Историјат" + +#: gajim/gui_menu_builder.py:533 gajim/gui_menu_builder.py:710 +#: gajim/gtk/preferences.py:671 gajim/gtk/groupchat_settings.py:36 +#: gajim/gtk/accounts.py:682 +msgid "Disabled" +msgstr "Онемогућено" + +#: gajim/gui_menu_builder.py:534 gajim/gtk/groupchat_settings.py:37 +#: gajim/gtk/accounts.py:681 +#, fuzzy +msgid "Composing Only" +msgstr "Састављање" + +#: gajim/gui_menu_builder.py:535 gajim/gtk/groupchat_settings.py:38 +#, fuzzy +msgid "All Chat States" +msgstr "Сви статуси" + +#: gajim/gui_menu_builder.py:577 +#, fuzzy +msgid "Settings…" +msgstr "Регистрација неуспела" + +#: gajim/gui_menu_builder.py:578 +#, fuzzy +msgid "Manage Group Chat" +msgstr "Напусти групне разговоре" + +#: gajim/gui_menu_builder.py:579 +#, fuzzy +msgid "Rename…" +msgstr "Преи_менуј" + +#: gajim/gui_menu_builder.py:580 +#, fuzzy +msgid "Change Subject…" +msgstr "Промени _тему..." + +#: gajim/gui_menu_builder.py:581 +#, fuzzy +msgid "Upload Avatar…" +msgstr "Одаберите слику" + +#: gajim/gui_menu_builder.py:582 +#, fuzzy +msgid "Configure…" +msgstr "_Конфигуриши" + +#: gajim/gui_menu_builder.py:583 +#, fuzzy +msgid "Destroy…" +msgstr "Уништавам %s" + +#: gajim/gui_menu_builder.py:585 +#, fuzzy +msgid "Change Nickname…" +msgstr "Промени _надимак..." + +#: gajim/gui_menu_builder.py:586 +#, fuzzy +msgid "Request Voice" +msgstr "_Глас" + +#: gajim/gui_menu_builder.py:587 gajim/gui_menu_builder.py:825 +#, fuzzy +msgid "Execute Command…" +msgstr "_Изврши наредбу" + +#: gajim/gui_menu_builder.py:589 +msgid "Leave" +msgstr "" + +#: gajim/gui_menu_builder.py:631 +#, fuzzy +msgid "Add Contact…" +msgstr "_Додај контакт..." + +#: gajim/gui_menu_builder.py:632 gajim/gtk/accounts.py:861 +#: gajim/gtk/accounts.py:899 gajim/gtk/profile.py:53 +#, fuzzy +msgid "Profile" +msgstr "датотека" + +#: gajim/gui_menu_builder.py:633 +#, fuzzy +msgid "Send Single Message…" +msgstr "Пошаљи једну _поруку..." + +#: gajim/gui_menu_builder.py:634 +#, fuzzy +msgid "Discover Services…" +msgstr "_Откривање сервиса" + +#: gajim/gui_menu_builder.py:635 gajim/gtk/server_info.py:47 +#, fuzzy +msgid "Server Info" +msgstr "Сервер" + +#: gajim/gui_menu_builder.py:636 gajim/gtk/accounts.py:312 +#: gajim/data/gui/preferences.ui:853 +msgid "Advanced" +msgstr "Напредно" + +#: gajim/gui_menu_builder.py:637 gajim/gtk/mam_preferences.py:100 +#, fuzzy +msgid "Archiving Preferences" +msgstr "_Подешавања" + +#: gajim/gui_menu_builder.py:638 +#, fuzzy +msgid "Blocking List" +msgstr "Листа забрана" + +#: gajim/gui_menu_builder.py:639 +#, fuzzy +msgid "Bookmarks" +msgstr "_Маркирај ову со_бу" + +#: gajim/gui_menu_builder.py:640 +#, fuzzy +msgid "PEP Configuration" +msgstr "Конфигурација собе" + +#: gajim/gui_menu_builder.py:641 +#, fuzzy +msgid "Synchronise History…" +msgstr "Синхронизуј" + +#: gajim/gui_menu_builder.py:643 gajim/gtk/server_info.py:141 +#: gajim/data/gui/groupchat_config.ui:36 +#, fuzzy +msgid "Admin" +msgstr "_Админ" + +#: gajim/gui_menu_builder.py:644 +#, fuzzy +msgid "Send Server Message…" +msgstr "_Пошаљи серверску поруку..." + +#: gajim/gui_menu_builder.py:645 +#, fuzzy +msgid "Set MOTD…" +msgstr "Постави поруку дана..." + +#: gajim/gui_menu_builder.py:646 +#, fuzzy +msgid "Update MOTD…" +msgstr "Освежи поруку дана..." + +#: gajim/gui_menu_builder.py:647 +#, fuzzy +msgid "Delete MOTD…" +msgstr "Избриши поруку дана" + +#: gajim/gui_menu_builder.py:684 +#, fuzzy +msgid "_Add Account…" +msgstr "_Додај контакт..." + +#: gajim/gui_menu_builder.py:690 +#, fuzzy +msgid "_Modify Accounts…" +msgstr "_Измени налог..." + +#: gajim/gui_menu_builder.py:700 gajim/data/gui/account_context_menu.ui:79 +#: gajim/data/gui/zeroconf_context_menu.ui:26 +#, fuzzy +msgid "_Modify Account…" +msgstr "_Измени налог..." + +#: gajim/gui_menu_builder.py:704 gajim/gtk/accounts.py:51 +msgid "Accounts" +msgstr "Налози" + +#: gajim/gui_menu_builder.py:734 gajim/gui_menu_builder.py:739 +#, fuzzy +msgid "Copy XMPP Address" +msgstr "_Копирај џабер ИД/е-мејл адресу" + +#: gajim/gui_menu_builder.py:735 gajim/gui_menu_builder.py:767 +#, fuzzy +msgid "Join Groupchat" +msgstr "Придружи се групном разговору" + +#: gajim/gui_menu_builder.py:740 gajim/gui_menu_builder.py:766 +#: gajim/gtk/start_chat.py:636 +#: gajim/data/gui/subscription_request_window.ui:149 +msgid "Start Chat" +msgstr "Започни разговор" + +#: gajim/gui_menu_builder.py:746 +#, fuzzy +msgid "Copy Link Location" +msgstr "_Копирај локацију везе" + +#: gajim/gui_menu_builder.py:747 +#, fuzzy +msgid "Open Link in Browser" +msgstr "_Отвори везу у интернет прегледачу" + +#: gajim/gui_menu_builder.py:752 +#, fuzzy +msgid "Copy Email Address" +msgstr "_Копирај џабер ИД/е-мејл адресу" + +#: gajim/gui_menu_builder.py:753 gajim/gui_menu_builder.py:765 +#, fuzzy +msgid "Open Email Composer" +msgstr "_Отвори састављач е-мејла" + +#: gajim/gui_menu_builder.py:758 +#, fuzzy +msgid "Copy Location" +msgstr "_Копирај локацију везе" + +#: gajim/gui_menu_builder.py:759 gajim/gtk/preferences.py:291 +#, fuzzy +msgid "Show Location" +msgstr "Обавештење" + +#: gajim/gui_menu_builder.py:764 +#, fuzzy +msgid "Copy XMPP Address/Email" +msgstr "_Копирај џабер ИД/е-мејл адресу" + +#: gajim/gui_menu_builder.py:816 +#, fuzzy +msgid "Invite" +msgstr "Позо_ви" + +#: gajim/gui_menu_builder.py:832 +#, fuzzy +msgid "Kick" +msgstr "_Избаци" + +#: gajim/gui_menu_builder.py:840 +#, fuzzy +msgid "Ban" +msgstr "_Забрани" + +#: gajim/gui_menu_builder.py:850 +#, fuzzy +msgid "Make Owner" +msgstr "Власник" + +#: gajim/gui_menu_builder.py:859 +#, fuzzy +msgid "Make Admin" +msgstr "_Админ" + +#: gajim/gui_menu_builder.py:868 +#, fuzzy +msgid "Make Member" +msgstr "Члан" + +#: gajim/gui_menu_builder.py:877 +#, fuzzy +msgid "Revoke Member" +msgstr "Члан" + +#: gajim/gui_menu_builder.py:887 +msgid "Grant Voice" +msgstr "" + +#: gajim/gui_menu_builder.py:890 +#, fuzzy +msgid "Revoke Voice" +msgstr "_Глас" + +#: gajim/gui_menu_builder.py:910 +#, fuzzy +msgid "Copy" +msgstr "Џабер ID собе:" + +#: gajim/chat_control.py:346 gajim/groupchat_control.py:348 +#, fuzzy +msgid "Send File…" +msgstr "Пошаљи _датотеку" + +#: gajim/chat_control.py:348 gajim/groupchat_control.py:354 +#, fuzzy +msgid "No File Transfer available" +msgstr "Преноси датотека" + +#: gajim/chat_control.py:479 +msgid "Show a list of formattings" +msgstr "Прикажи листу форматирања" + +#: gajim/chat_control.py:483 +#, fuzzy +msgid "This contact does not support HTML" +msgstr "Овак контакт не подржава пренос датотека." + +#: gajim/chat_control.py:684 +msgid "Ping?" +msgstr "" + +#: gajim/chat_control.py:687 +#, fuzzy, python-format +msgid "Pong! (%s seconds)" +msgstr "Понг! (%s s.)" + +#: gajim/chat_control.py:758 +#, fuzzy +msgid "Calling…" +msgstr "Забрана..." + +#: gajim/chat_control.py:783 gajim/chat_control.py:870 +#, fuzzy +msgid "Connection Error" +msgstr "Веза" + +#: gajim/chat_control.py:811 gajim/data/gui/chat_control.ui:1185 +msgid "Turn Camera on" +msgstr "" + +#: gajim/chat_control.py:822 +msgid "Calling (Video)…" +msgstr "" + +#: gajim/chat_control.py:826 gajim/chat_control.py:834 +#: gajim/chat_control.py:864 +msgid "Turn Camera off" +msgstr "" + +#: gajim/chat_control.py:832 +msgid "Incoming Call (Video)" +msgstr "" + +#: gajim/chat_control.py:1020 +#, python-format +msgid "%(nickname)s from group chat %(room_name)s" +msgstr "%(nickname)s са групног разговора у соби %(room_name)s" + +#: gajim/chat_control.py:1257 +#, fuzzy +msgid "Note: Chat history is disabled for this contact." +msgstr "Игнориши ову грешку за овај сертификат." + +#: gajim/chat_control.py:1259 +msgid "Note: Chat history is disabled for this account." +msgstr "" + +#: gajim/chat_control.py:1260 +#, fuzzy, python-format +msgid "" +"You just received a new message from %s.\n" +"Do you want to close this tab?" +msgstr "\"%s\" Вам је управо послао поруку" + +#: gajim/chat_control.py:1266 gajim/gtk/remove_account.py:43 +#: gajim/gtk/change_password.py:44 +#, fuzzy +msgid "Close" +msgstr "_Пошаљи и затвори" + +#: gajim/chat_control.py:1267 gajim/gtk/notification.py:184 +#: gajim/gtk/notification.py:204 gajim/gtk/notification.py:218 +#: gajim/gtk/notification.py:271 gajim/common/connection_handlers_events.py:237 +msgid "New Message" +msgstr "Нова Порука" + +#: gajim/chat_control.py:1272 gajim/chat_control.py:1579 +#: gajim/chat_control.py:1588 gajim/message_window.py:371 +#: gajim/data/gui/groupchat_control.ui:1117 +#: gajim/data/gui/groupchat_control.ui:1203 +#: gajim/data/gui/groupchat_control.ui:1308 +#: gajim/data/gui/groupchat_control.ui:1997 +#, fuzzy +msgid "_Close" +msgstr "_Пошаљи и затвори" + +#: gajim/chat_control.py:1359 +#, python-format +msgid "" +"Subject: %(subject)s\n" +"%(message)s" +msgstr "" +"Тема: %(subject)s\n" +"%(message)s" + +#: gajim/chat_control.py:1480 +#, fuzzy, python-format +msgid "%(name)s is now %(show)s %(status)s" +msgstr "%(name)s је сада %(status)s" + +#: gajim/chat_control.py:1545 +#, fuzzy +msgid "Size" +msgstr "Величина: %s" + +#: gajim/chat_control.py:1547 gajim/chat_control.py:1609 +#: gajim/gtk/groupchat_invitation.py:67 +#, fuzzy +msgid "_Decline" +msgstr "_Није на вези" + +#: gajim/chat_control.py:1550 gajim/chat_control.py:1611 +#: gajim/chat_control.py:1668 gajim/gtk/dialogs.py:59 +#, fuzzy +msgid "_Accept" +msgstr "_Налози" + +#: gajim/chat_control.py:1577 gajim/gtk/filetransfer.py:259 +#, fuzzy +msgid "Open _Folder" +msgstr "_Отвори садржавајућу фасциклу" + +#: gajim/chat_control.py:1662 +#, fuzzy +msgid "" +"\n" +"Video Call" +msgstr "Приватни Разговори" + +#: gajim/chat_control.py:1664 +#, fuzzy +msgid "" +"\n" +"Voice Call" +msgstr "Захтев за преносом датотеке" + +#: gajim/chat_control.py:1666 +#, fuzzy +msgid "_Reject" +msgstr "Потиштен" + +#: gajim/chat_control.py:1692 gajim/gtk/filetransfer.py:297 +msgid "File transfer stopped" +msgstr "Пренос датотеке заустављен" + +#: gajim/chat_control.py:1697 gajim/gtk/filetransfer.py:275 +#: gajim/gtk/filetransfer.py:284 +msgid "File transfer cancelled" +msgstr "Пренос датотеке прекинут" + +#: gajim/chat_control.py:1698 +msgid "Connection with peer cannot be established." +msgstr "Није могуће успоставити везу са другом страном." + +#: gajim/chat_control_base.py:141 gajim/gtk/start_chat.py:649 +#: gajim/gtk/groupchat_invite.py:318 +#, fuzzy, python-format +msgid "Account: %s" +msgstr "Налози" + +#: gajim/chat_control_base.py:592 +msgid "and authenticated" +msgstr "и пријављени" + +#: gajim/chat_control_base.py:596 +msgid "and NOT authenticated" +msgstr "и НЕпријављени" + +#: gajim/chat_control_base.py:600 +#, fuzzy, python-format +msgid "%(type)s encryption is active %(authenticated)s." +msgstr "" +"%(type)s шифровање %(status)s активан %(authenticated)s.\n" +"Ваша сесија разговора %(logged)s бити памћена." + +#: gajim/chat_control_base.py:715 +msgid "_Undo" +msgstr "" + +#: gajim/chat_control_base.py:723 gajim/conversation_textview.py:417 +msgid "_Clear" +msgstr "" + +#: gajim/chat_control_base.py:728 +msgid "Paste as quote" +msgstr "" + +#: gajim/chat_control_base.py:767 +#, fuzzy +msgid "Paste Image" +msgstr "Одаберите слику" + +#: gajim/chat_control_base.py:768 +#, fuzzy +msgid "You are trying to paste an image" +msgstr "Затворићете неколико језичака" + +#: gajim/chat_control_base.py:769 +#, fuzzy +msgid "" +"Are you sure you want to paste your clipboard's image into the chat window?" +msgstr "Јесте ли сигурни да желите напустити групни разговор \"%s\"?" + +#: gajim/chat_control_base.py:775 +msgid "_Paste" +msgstr "" + +#: gajim/chat_control_base.py:1361 gajim/gtk/accounts.py:310 +#: gajim/data/gui/profile.ui:17 gajim/data/gui/profile.ui:318 +#, fuzzy +msgid "Privacy" +msgstr "Листа приватности" + +#: gajim/chat_control_base.py:1362 +#, fuzzy +msgid "Warning" +msgstr "Забрањујем %s" + +#: gajim/chat_control_base.py:1363 +#, python-format +msgid "" +"If you send a file to %s, your real XMPP address will be revealed." +msgstr "" + +#: gajim/chat_control_base.py:1368 +msgid "_Continue" +msgstr "_Настави" + +#: gajim/gajim_remote.py:55 gajim/common/exceptions.py:70 +msgid "D-Bus is not present on this machine or python module is missing" +msgstr "D-Bus не постоји на овом рачунару или нема python модула." + +#: gajim/gajim_remote.py:77 +msgid "Shows a help on specific command" +msgstr "Приказује помоћ за одређену наредбу" + +#: gajim/gajim_remote.py:80 +msgid "command" +msgstr "наредба" + +#: gajim/gajim_remote.py:81 +msgid "show help on command" +msgstr "прикажи помоћ за команду" + +#: gajim/gajim_remote.py:85 +#, fuzzy +msgid "Lists all contacts in the contact list, one for each line" +msgstr "" +"Исписује листу свих контаката са листе контаката. Сваки контакт је у " +"посебној линији" + +#: gajim/gajim_remote.py:87 gajim/gajim_remote.py:102 gajim/gajim_remote.py:112 +#: gajim/gajim_remote.py:122 gajim/gajim_remote.py:133 +#: gajim/gajim_remote.py:142 gajim/gajim_remote.py:163 +#: gajim/gajim_remote.py:171 gajim/gajim_remote.py:180 +#: gajim/gajim_remote.py:187 +#, fuzzy +msgid "?CLI:account" +msgstr "налог" + +#: gajim/gajim_remote.py:87 +msgid "show only contacts of the given account" +msgstr "приказује само контакте са овог налога" + +#: gajim/gajim_remote.py:93 +msgid "Prints a list of registered accounts" +msgstr "Исписује листу регистрованих налога" + +#: gajim/gajim_remote.py:97 +#, fuzzy +msgid "Changes the status of account(s)" +msgstr "Мења статус једног или више налога" + +#: gajim/gajim_remote.py:100 +#, fuzzy +msgid "?CLI:status" +msgstr "статус" + +#: gajim/gajim_remote.py:100 +#, fuzzy +msgid "" +"one of: offline, online, chat, away, xa, dnd. If not set, use account's " +"previous status" +msgstr "" +"једно од: није на вези, на вези, прича, одсутан, продужено одсутан, не " +"узнемиравај, невидљив" + +#: gajim/gajim_remote.py:101 gajim/gajim_remote.py:121 +#: gajim/gajim_remote.py:132 gajim/gajim_remote.py:141 +#, fuzzy +msgid "?CLI:message" +msgstr "порука" + +#: gajim/gajim_remote.py:101 +msgid "status message" +msgstr "статусна порука" + +#: gajim/gajim_remote.py:102 +msgid "" +"change status of account \"account\". If not specified, try to change status " +"of all accounts that have \"sync with global status\" option set" +msgstr "" +"измена статуса налога \"налог\". Ако није одређен, покушај промене статуса " +"свих налога који имају укључену опцију \"синхронизација са глобалним статусом" +"\"" + +#: gajim/gajim_remote.py:108 +#, fuzzy +msgid "Changes the priority of account(s)" +msgstr "Мења статус једног или више налога" + +#: gajim/gajim_remote.py:110 +#, fuzzy +msgid "?CLI:priority" +msgstr "приоритет" + +#: gajim/gajim_remote.py:110 +msgid "priority you want to give to the account" +msgstr "приоритет који желите да дате овом налогу" + +#: gajim/gajim_remote.py:112 +msgid "" +"change the priority of the given account. If not specified, change status of " +"all accounts that have \"sync with global status\" option set" +msgstr "" +"измена приоритета датог налога. Ако није одређен, мења се статус свих налога " +"који имају постављену опцију \"синхронизација са глобалним статусом\"" + +#: gajim/gajim_remote.py:118 +#, fuzzy +msgid "" +"Sends new chat message to a contact in the contact list. Account is optional." +msgstr "Начин коришћења: /%s, шаље поруку контакту" + +#: gajim/gajim_remote.py:120 gajim/gajim_remote.py:130 +#, fuzzy +msgid "XMPP Address of the contact that will receive the message" +msgstr "Џабер ИД контакта који ће примити поруку" + +#: gajim/gajim_remote.py:121 gajim/gajim_remote.py:132 +#: gajim/gajim_remote.py:141 +msgid "message contents" +msgstr "садржај поруке" + +#: gajim/gajim_remote.py:122 gajim/gajim_remote.py:133 +#: gajim/gajim_remote.py:142 +msgid "if specified, the message will be sent using this account" +msgstr "ако је назначено, порука ће бити послата користећи овај налог" + +#: gajim/gajim_remote.py:127 +#, fuzzy +msgid "" +"Sends a chat message to someone on your contact list. Account is optional." +msgstr "Начин коришћења: /%s, шаље поруку контакту" + +#: gajim/gajim_remote.py:131 +msgid "subject" +msgstr "тема" + +#: gajim/gajim_remote.py:131 +msgid "message subject" +msgstr "тема поруке" + +#: gajim/gajim_remote.py:138 +#, fuzzy +msgid "Sends new message to a group chat you've joined." +msgstr "Шаље нову поруку на групни разговор коме сте се придружили." + +#: gajim/gajim_remote.py:140 +#, fuzzy +msgid "XMPP Address of the group chat that will receive the message" +msgstr "Џабер ИД собе која ће примити поруку" + +#: gajim/gajim_remote.py:147 +msgid "Gets detailed info on a contact" +msgstr "Даје детаљне информације о контакту" + +#: gajim/gajim_remote.py:149 gajim/gajim_remote.py:162 +#: gajim/gajim_remote.py:170 +#, fuzzy +msgid "XMPP Address of the contact" +msgstr "Џабер ИД контакта" + +#: gajim/gajim_remote.py:153 +msgid "Gets detailed info on a account" +msgstr "Даје детаљне информације о налогу" + +#: gajim/gajim_remote.py:155 +msgid "Name of the account" +msgstr "Име налога" + +#: gajim/gajim_remote.py:159 +msgid "Sends file to a contact" +msgstr "Шаље датотеку контакту" + +#: gajim/gajim_remote.py:161 +msgid "file" +msgstr "датотека" + +#: gajim/gajim_remote.py:161 +msgid "File path" +msgstr "Путања до датотеке" + +#: gajim/gajim_remote.py:163 +msgid "if specified, file will be sent using this account" +msgstr "ако је назначено, датотека ће бити послата коритећи овај налог" + +#: gajim/gajim_remote.py:168 +#, fuzzy +msgid "Removes contact from contact list" +msgstr "Уклања контакт са листе" + +#: gajim/gajim_remote.py:171 +msgid "if specified, contact is taken from the contact list of this account" +msgstr "ако је назначено, контакт се узима са листе контаката овог налога" + +#: gajim/gajim_remote.py:178 +msgid "Returns current status (the global one unless account is specified)" +msgstr "Враћа тренутни статус (глобални ако није назначен налог)" + +#: gajim/gajim_remote.py:185 +msgid "" +"Returns current status message (the global one unless account is specified)" +msgstr "Враћа тренутну статусну поруку (глобалну ако није назначен налог)" + +#: gajim/gajim_remote.py:192 +msgid "Returns number of unread messages" +msgstr "Враћа број непрочитаних порука" + +#: gajim/gajim_remote.py:197 +msgid "Sends custom XML" +msgstr "Шаље кориснички дефинисан XML" + +#: gajim/gajim_remote.py:199 +msgid "XML to send" +msgstr "XML за слање" + +#: gajim/gajim_remote.py:200 +#, fuzzy +msgid "" +"Account to which the XML will be sent; if not specified, XML will be sent to " +"all accounts" +msgstr "" +"Налог за који ће бити послан xml ; ако није одређен, xml ће бити послат за " +"све налоге" + +#: gajim/gajim_remote.py:207 +msgid "Check if Gajim is running" +msgstr "Молимо проверите да ли је Гајим покренут" + +#: gajim/gajim_remote.py:233 +msgid "Missing argument \"contact_jid\"" +msgstr "Недостаје аргумент \"contact_jid\"" + +#: gajim/gajim_remote.py:253 +#, fuzzy, python-format +msgid "" +"'%s' is not in your contact list.\n" +"Please specify account for sending the message." +msgstr "" +"'%s' није на Вашј листи.\n" +"Молимо одредите налог за слање поруке." + +#: gajim/gajim_remote.py:256 +msgid "You have no active account" +msgstr "немате активних рачуна" + +#: gajim/gajim_remote.py:304 +msgid "It seems Gajim is not running. So you can't use gajim-remote." +msgstr "Чини се да Гајим не ради. Не можете да користите gajim-remote." + +#: gajim/gajim_remote.py:331 +#, python-format +msgid "" +"Usage: %(basename)s %(command)s %(arguments)s \n" +"\t %(help)s" +msgstr "" +"Коришћење: %(basename)s %(command)s %(arguments)s \n" +"\t %(help)s" + +#: gajim/gajim_remote.py:335 +msgid "Arguments:" +msgstr "Аргументи:" + +#: gajim/gajim_remote.py:339 +#, python-format +msgid "%s not found" +msgstr "%s није пронађен" + +#: gajim/gajim_remote.py:345 +#, python-format +msgid "" +"Usage:\n" +" %s command [arguments]\n" +"\n" +"Command is one of:\n" +msgstr "" +"Коришћење:\n" +" %s наредба [аргументи]\n" +"Наредба је једна од:\n" + +#: gajim/gajim_remote.py:415 +#, python-format +msgid "" +"Too many arguments. \n" +"Type \"%(basename)s help %(command)s\" for more info" +msgstr "" +"Превише аргумената\n" +"Укуцајте \"%(basename)s help %(command)s\" за више информација" + +#: gajim/gajim_remote.py:420 +#, python-format +msgid "" +"Argument \"%(arg)s\" is not specified. \n" +"Type \"%(basename)s help %(command)s\" for more info" +msgstr "" +"Аргумент \"%(arg)s\" није наведен. \n" +"Укуцајте \"%(basename)s help %(command)s\" за више информација" + +#: gajim/dialogs.py:70 +#, python-format +msgid "Contact name: %s" +msgstr "Име контакта: %s" + +#: gajim/dialogs.py:72 +#, python-format +msgid "XMPP Address: %s" +msgstr "" + +#: gajim/dialogs.py:189 +msgid "Group" +msgstr "Група" + +#: gajim/dialogs.py:196 +msgid "In the group" +msgstr "У групи" + +#: gajim/dialogs.py:211 gajim/gtk/discovery.py:522 +msgid "You are not connected to the server" +msgstr "Нисте повезани на сервер" + +#: gajim/dialogs.py:212 +msgid "Without a connection, you can not synchronise your contacts." +msgstr "Без везе, није могуће синхронизовати контакте." + +#: gajim/dialogs.py:223 gajim/dialogs.py:294 +#: gajim/gtk/roster_item_exchange.py:83 gajim/gtk/discovery.py:826 +#: gajim/gtk/discovery.py:1650 gajim/gtk/discovery.py:1896 +#: gajim/gtk/history.py:99 gajim/gtk/vcard_grid.py:34 +#: gajim/data/gui/bookmarks.ui:66 +msgid "Name" +msgstr "Име" + +#: gajim/dialogs.py:226 gajim/data/gui/preferences.ui:604 +#: gajim/data/gui/server_info.ui:146 +msgid "Server" +msgstr "Сервер" + +#: gajim/dialogs.py:262 +msgid "This account is not connected to the server" +msgstr "Овај налог није повезан на сервер" + +#: gajim/dialogs.py:263 +msgid "You cannot synchronize with an account unless it is connected." +msgstr "Не можете се синхронизовати са налогом ако нисте повезани." + +#: gajim/dialogs.py:292 +msgid "Synchronise" +msgstr "Синхронизуј" + +#: gajim/vcard.py:284 +msgid "?Client:Unknown" +msgstr "?Клијент:Непознат" + +#: gajim/vcard.py:289 +msgid "?OS:Unknown" +msgstr "?ОС:Непознат" + +#: gajim/vcard.py:319 gajim/vcard.py:322 +msgid "?Time:Unknown" +msgstr "?Време:Непознато" + +#: gajim/vcard.py:373 +msgid "?Role in Group Chat:Role:" +msgstr "" + +#: gajim/vcard.py:377 +msgid "Affiliation:" +msgstr "Везаност:" + +#: gajim/vcard.py:384 +#, fuzzy +msgid "" +"This contact is interested in your presence information, but you are not " +"interested in their presence" +msgstr "" +"Овај контакт је заинтересован за информације о Вашем присуству, али Вас не " +"занимају информације о његовом/њеном присуству." + +#: gajim/vcard.py:386 +#, fuzzy +msgid "" +"You are interested in the contact's presence information, but it is not " +"mutual" +msgstr "" +"Ви сте заинтересовани за информације о присуству неког контакта, али њега/њу " +"не занима Ваше присуство" + +#: gajim/vcard.py:388 +#, fuzzy +msgid "The contact and you want to exchange presence information" +msgstr "" +"И Ви и Ваш контакт сте заинтересовани за информације о присуству један другог" + +#: gajim/vcard.py:390 +#, fuzzy +msgid "" +"You and the contact have a mutual disinterest in each-others presence " +"information" +msgstr "" +"И Ви и Ваш контакт сте заинтересовани за информације о присуству један другог" + +#: gajim/vcard.py:396 +msgid "You are waiting contact's answer about your subscription request" +msgstr "Чекате одговор контакта о Вашем захтеву за претплатом" + +#: gajim/vcard.py:398 +msgid "There is no pending subscription request." +msgstr "Нема захтева за претплатом на чекању." + +#: gajim/vcard.py:403 gajim/vcard.py:453 gajim/vcard.py:549 +msgid " resource with priority " +msgstr " ресурс са приоритетом " + +#: gajim/conversation_textview.py:65 +#, fuzzy +msgid "Untrusted" +msgstr "Заинтересован" + +#: gajim/conversation_textview.py:68 +msgid "Trust Not Decided" +msgstr "" + +#: gajim/conversation_textview.py:71 +msgid "Unverified" +msgstr "" + +#: gajim/conversation_textview.py:74 +#, fuzzy +msgid "Verified" +msgstr "_Потврди" + +#: gajim/conversation_textview.py:225 +msgid "" +"Text below this line is what has been said since the\n" +"last time you paid attention to this group chat" +msgstr "" +"Текст испод ове линије је оно што је речено од када сте последњи пут\n" +"обратили пажњу на овај групни разговор" + +#: gajim/conversation_textview.py:428 +msgid "_Quote" +msgstr "_Цитат" + +#: gajim/conversation_textview.py:436 +#, python-format +msgid "_Actions for \"%s\"" +msgstr "_Акције за налог \"%s\"" + +#: gajim/conversation_textview.py:450 +msgid "Read _Wikipedia Article" +msgstr "Прочитајте чланак на _Википедији" + +#: gajim/conversation_textview.py:455 +msgid "Look it up in _Dictionary" +msgstr "Потражи у Речнику" + +#: gajim/conversation_textview.py:472 +#, python-format +msgid "Dictionary URL is missing an \"%s\" and it is not WIKTIONARY" +msgstr "УРЛ-у Речника недостаје \"%s\" и није Вики речник" + +#: gajim/conversation_textview.py:486 +#, python-format +msgid "Web Search URL is missing an \"%s\"" +msgstr "УРЛ-у Веб претраге недостаје \"%s\"" + +#: gajim/conversation_textview.py:489 +msgid "Web _Search for it" +msgstr "_Претражи Веб" + +#: gajim/conversation_textview.py:495 +msgid "Open as _Link" +msgstr "Отвори као _Везу" + +#: gajim/conversation_textview.py:770 +#, fuzzy +msgid "Invalid URL" +msgstr "Неисправан џабер ИД" + +#: gajim/conversation_textview.py:860 +msgid "" +"Message corrected. Original message:\n" +"{}" +msgstr "" + +#: gajim/conversation_textview.py:1031 +#, fuzzy +msgid "Not encrypted" +msgstr "Није почео" + +#: gajim/conversation_textview.py:1034 +#, python-format +msgid "Encrypted (%s)" +msgstr "" + +#: gajim/conversation_textview.py:1141 gajim/gtk/history.py:618 +#, python-format +msgid "Subject: %s\n" +msgstr "Тема: %s\n" + +#: gajim/conversation_textview.py:1250 +#, fuzzy +msgid "Received" +msgstr "Примљене %s" + +#: gajim/conversation_textview.py:1272 +msgid "?Message state:Read" +msgstr "" + +#: gajim/groupchat_control.py:352 +#, fuzzy, python-format +msgid "Send File (max. %s MiB)…" +msgstr "Сними датотеку као..." + +#: gajim/groupchat_control.py:497 +#, fuzzy, python-format +msgid "%s has been invited to this group chat" +msgstr "%(nick)s је избачен из собе (%(reason)s)" + +#: gajim/groupchat_control.py:512 gajim/dialog_messages.py:31 +#: gajim/dialog_messages.py:36 gajim/gtk/single_message.py:238 +#, fuzzy +msgid "Invalid XMPP Address" +msgstr "Неисправна датотека" + +#: gajim/groupchat_control.py:575 +#, fuzzy +msgid "Loading avatar failed" +msgstr "Неуспешно слање приватне поруке" + +#: gajim/groupchat_control.py:595 +#, fuzzy, python-format +msgid "Avatar upload failed: %s" +msgstr "Публикација vCard неуспела" + +#: gajim/groupchat_control.py:598 +#, fuzzy +msgid "Avatar upload successful" +msgstr "Публикација vCard неуспела" + +#: gajim/groupchat_control.py:616 +#, fuzzy, python-format +msgid "Kick %s" +msgstr "Избацујем %s" + +#: gajim/groupchat_control.py:625 +#, fuzzy, python-format +msgid "Ban %s" +msgstr "Листа забрана" + +#: gajim/groupchat_control.py:684 +msgid "Insert Nickname" +msgstr "Убаци надимак" + +#: gajim/groupchat_control.py:775 gajim/groupchat_control.py:776 +#, fuzzy +msgid "Voice Request" +msgstr "Захтев за преносом датотеке" + +#: gajim/groupchat_control.py:777 +#, python-format +msgid "%(nick)s from %(room_name)s requests voice" +msgstr "" + +#: gajim/groupchat_control.py:781 +msgid "_Approve" +msgstr "" + +#: gajim/groupchat_control.py:1007 +#, fuzzy, python-format +msgid "%(nick)s has set the subject to %(subject)s" +msgstr "%(jid)s је поставио тему на %(subject)s" + +#: gajim/groupchat_control.py:1023 +#, fuzzy +msgid "Group chat now shows unavailable members" +msgstr "Соба сада приказује недоступне чланове" + +#: gajim/groupchat_control.py:1026 +#, fuzzy +msgid "Group chat now does not show unavailable members" +msgstr "соба сада не приказује недоступне чланове" + +#: gajim/groupchat_control.py:1030 +msgid "A setting not related to privacy has been changed" +msgstr "" + +#: gajim/groupchat_control.py:1037 gajim/groupchat_control.py:1197 +#, fuzzy +msgid "Conversations are stored on the server" +msgstr "Сесија НЕЋЕ бити памћена" + +#: gajim/groupchat_control.py:1040 +#, fuzzy +msgid "Conversations are not stored on the server" +msgstr "Информације о Вама, како су ускладиштене на серверу" + +#: gajim/groupchat_control.py:1043 +#, fuzzy +msgid "Group chat is now non-anonymous" +msgstr "Соба сада више није анонимна" + +#: gajim/groupchat_control.py:1047 +#, fuzzy +msgid "Group chat is now semi-anonymous" +msgstr "Соба је сада полу анонимна" + +#: gajim/groupchat_control.py:1051 +#, fuzzy +msgid "Group chat is now fully anonymous" +msgstr "Соба је сада потпуно анонимна" + +#: gajim/groupchat_control.py:1101 +#, fuzzy, python-format +msgid "Ping? (%s)" +msgstr "Понг! (%s s.)" + +#: gajim/groupchat_control.py:1104 +#, fuzzy, python-format +msgid "Pong! (%(nick)s %(delay)s s.)" +msgstr "Понг! (%s s.)" + +#: gajim/groupchat_control.py:1188 +#, fuzzy, python-format +msgid "You (%s) joined the group chat" +msgstr "%s се придружио групном разговору" + +#: gajim/groupchat_control.py:1193 +#, fuzzy +msgid "Any participant is allowed to see your full XMPP Address" +msgstr "Свима присутнима је дозвољено да виде ваш пун џабер ID" + +#: gajim/groupchat_control.py:1201 +#, fuzzy +msgid "The server has assigned or modified your nickname in this group chat" +msgstr "Сервер Вам је или доделио надимак или променио постојећи" + +#: gajim/groupchat_control.py:1211 +#, fuzzy +msgid "A new group chat has been created" +msgstr "Нова соба је направљена" + +#: gajim/groupchat_control.py:1215 +#, fuzzy +msgid "Failed to Configure Group Chat" +msgstr "Напусти групне разговоре" + +#: gajim/groupchat_control.py:1274 gajim/groupchat_control.py:1304 +#: gajim/groupchat_control.py:1332 gajim/groupchat_control.py:1391 +#, python-brace-format +msgid " by {actor}" +msgstr "" + +#: gajim/groupchat_control.py:1277 +#, fuzzy, python-brace-format +msgid "** Your Affiliation has been set to {affiliation}{actor}{reason}" +msgstr "" +"** Афилијација %(nick)s је постављена на %(affiliation)s од стране %(actor)s" + +#: gajim/groupchat_control.py:1283 +#, fuzzy, python-brace-format +msgid "** Affiliation of {nick} has been set to {affiliation}{actor}{reason}" +msgstr "** Афилијација %(nick)s је постављена на %(affiliation)s" + +#: gajim/groupchat_control.py:1307 +#, fuzzy, python-brace-format +msgid "** Your Role has been set to {role}{actor}{reason}" +msgstr "** Улога %(nick)s је постављена на %(role)s од стране %(actor)s" + +#: gajim/groupchat_control.py:1312 +#, fuzzy, python-brace-format +msgid "** Role of {nick} has been set to {role}{actor}{reason}" +msgstr "** Улога %(nick)s је постављена на %(role)s од стране %(actor)s" + +#: gajim/groupchat_control.py:1335 +#, fuzzy, python-brace-format +msgid "You have been removed from the group chat{actor}{reason}" +msgstr "%(nick)s је избачен из собе (%(reason)s)" + +#: gajim/groupchat_control.py:1340 +#, python-brace-format +msgid "You have left due to an error{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1346 +#, python-brace-format +msgid "You have been kicked{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1353 +#, python-brace-format +msgid "You have been banned{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1360 gajim/groupchat_control.py:1423 +#, fuzzy +msgid ": Affiliation changed" +msgstr "везаност измењена" + +#: gajim/groupchat_control.py:1366 gajim/groupchat_control.py:1428 +#, fuzzy +msgid ": Group chat configuration changed to members-only" +msgstr "конфигурација собе се променила на само-чланови" + +#: gajim/groupchat_control.py:1394 +#, fuzzy, python-brace-format +msgid "{nick} has been removed from the group chat{by}{reason}" +msgstr "%(nick)s је избачен из собе (%(reason)s)" + +#: gajim/groupchat_control.py:1402 +#, python-brace-format +msgid "{nick} has left due to an error{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1408 +#, fuzzy, python-brace-format +msgid "{nick} has been kicked{actor}{reason}" +msgstr "%(nick)s је избачен: %(reason)s" + +#: gajim/groupchat_control.py:1416 +#, fuzzy, python-brace-format +msgid "{nick} has been banned{actor}{reason}" +msgstr "%(nick)s има забрану: %(reason)s" + +#: gajim/groupchat_control.py:1433 +#, python-brace-format +msgid "{nick} has left{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1451 +#, python-format +msgid "%s has joined the group chat" +msgstr "%s се придружио групном разговору" + +#: gajim/groupchat_control.py:1463 +#, fuzzy +msgid "Failed to Join Group Chat" +msgstr "Није могуће придружити се групном разговору" + +#: gajim/groupchat_control.py:1469 +#, fuzzy +msgid "Failed to Create Group Chat" +msgstr "Напусти групне разговоре" + +#: gajim/groupchat_control.py:1485 +#, fuzzy +msgid "Group chat has been destroyed" +msgstr "Соба групног разговора је уништена" + +#: gajim/groupchat_control.py:1490 +#, fuzzy, python-format +msgid "You can join this group chat instead: xmpp:%s?join" +msgstr "Можете се прикључити соби %s уместо ове" + +#: gajim/groupchat_control.py:1672 +#, fuzzy +msgid "Leave Group Chat" +msgstr "Напусти групне разговоре" + +#: gajim/groupchat_control.py:1673 +#, fuzzy +msgid "Are you sure you want to leave this group chat?" +msgstr "Јесте ли сигурни да желите напустити групни разговор \"%s\"?" + +#: gajim/groupchat_control.py:1674 +#, fuzzy, python-format +msgid "If you close this window, you will leave '%s'." +msgstr "Ако затворите овај прозор, бићете искључени са овох групног разговора." + +#: gajim/message_window.py:365 +#, fuzzy +msgid "Close Tabs" +msgstr "_Пошаљи и затвори" + +#: gajim/message_window.py:366 +#, fuzzy +msgid "You are about to close several tabs" +msgstr "Затворићете неколико језичака" + +#: gajim/message_window.py:367 +#, fuzzy +msgid "Do you really want to close all of them?" +msgstr "Да ли заиста желите да их све затворите?" + +#: gajim/message_window.py:526 +#, fuzzy +msgid "?Noun:Chats" +msgstr "Групни разговори" + +#: gajim/message_window.py:530 gajim/data/gui/preferences.ui:155 +#, fuzzy +msgid "Group Chats" +msgstr "Групни разговори" + +#: gajim/message_window.py:534 +msgid "Private Chats" +msgstr "Приватни Разговори" + +#: gajim/message_window.py:540 +msgid "Messages" +msgstr "Поруке" + +#: gajim/dialog_messages.py:37 +#, fuzzy, python-format +msgid "" +"It is not possible to send a message to %s. This XMPP Address is not valid." +msgstr "Није могуће послати поруку за %s, овај џабер ИД није исправан." + +#: gajim/dialog_messages.py:42 +#, fuzzy +msgid "Unread Events" +msgstr "Непрочитани догађаји" + +#: gajim/dialog_messages.py:43 +#, fuzzy +msgid "Read or acknowledge all pending events before removing this account." +msgstr "Прочитајте све догађаје на чекању пре уклањања налога." + +#: gajim/dialog_messages.py:48 +#, fuzzy +msgid "Invalid Form" +msgstr "Неисправна соба" + +#: gajim/dialog_messages.py:49 +#, fuzzy +msgid "The form is not filled correctly." +msgstr "Надимак садржи недозвољене карактере." + +#: gajim/dialog_messages.py:53 +#, fuzzy +msgid "No Connection Available" +msgstr "Веза није доступна" + +#: gajim/dialog_messages.py:54 +#, fuzzy +msgid "Your message can not be sent until you are connected." +msgstr "Не можете се прикључити групном разговору ако нисте повезани." + +#: gajim/dialog_messages.py:58 +msgid "XMPP Address Already in List" +msgstr "" + +#: gajim/dialog_messages.py:59 +#, fuzzy +msgid "" +"The XMPP Address you entered is already in the list. Please choose another " +"one." +msgstr "Џабер ID који сте унели је већ на листи. Одаберите неки други." + +#: gajim/dialog_messages.py:64 +#, fuzzy +msgid "Invalid Answer" +msgstr "Неисправан одговор" + +#: gajim/dialog_messages.py:65 +#, python-format +msgid "Transport %(name)s answered wrongly to register request: %(error)s" +msgstr "Транспорт %(name)s је лоше одговорио на захтев регистрације: %(error)s" + +#: gajim/dialog_messages.py:70 +#, fuzzy +msgid "Wrong Custom Hostname" +msgstr "Користи Ваше одређено име хоста/порт " + +#: gajim/dialog_messages.py:71 +#, fuzzy, python-format +msgid "Custom hostname \"%s\" is wrong. It will be ignored." +msgstr "Користи Ваше одређено име хоста/порт " + +#: gajim/dialog_messages.py:75 +#, fuzzy +msgid "Registration Succeeded" +msgstr "Регистрација успешна" + +#: gajim/dialog_messages.py:76 +#, fuzzy, python-format +msgid "Registration with agent %s succeeded." +msgstr "Регистрација са агентом %s успешна" + +#: gajim/dialog_messages.py:80 +#, fuzzy +msgid "Registration Failed" +msgstr "Регистрација неуспела" + +#: gajim/dialog_messages.py:81 +#, python-format +msgid "" +"Registration with agent %(agent)s failed with error %(error)s: %(error_msg)s" +msgstr "" +"Регистрација са агентом %(agent)s неуспела уз грешку %(error)s: %(error_msg)s" + +#: gajim/dialog_messages.py:86 +#, fuzzy +msgid "GStreamer Error" +msgstr "Грешка са базом података" + +#: gajim/dialog_messages.py:87 +#, fuzzy, python-format +msgid "" +"Error: %(error)s\n" +"Debug: %(debug)s" +msgstr "Порука грешке: %s" + +#: gajim/dialog_messages.py:91 +#, fuzzy +msgid "Wrong Host" +msgstr "Лош uri" + +#: gajim/dialog_messages.py:92 +msgid "Invalid local address? :-O" +msgstr "" + +#: gajim/dialog_messages.py:96 +#, fuzzy +msgid "Avahi Error" +msgstr "Авахи грешка" + +#: gajim/dialog_messages.py:97 +#, python-format +msgid "" +"%s\n" +"Link-local messaging might not work properly." +msgstr "" +"%s\n" +"Поруке локалне мреже можда неће радити како треба." + +#: gajim/dialog_messages.py:101 +#, fuzzy +msgid "Could not Open File" +msgstr "Не могу учитати слику" + +#: gajim/command_system/mapping.py:169 gajim/command_system/mapping.py:179 +#: gajim/command_system/mapping.py:199 +msgid "Missing arguments" +msgstr "Недостају аргументи" + +#: gajim/command_system/mapping.py:266 +#, fuzzy +msgid "Too many arguments" +msgstr "Недостају аргументи" + +#: gajim/command_system/implementation/middleware.py:76 +msgid "Error during command execution!" +msgstr "" + +#: gajim/command_system/implementation/execute.py:60 +msgid "Execute expression inside a shell, show output" +msgstr "" + +#: gajim/command_system/implementation/execute.py:74 +msgid "" +"Command disabled. This command can be enabled by setting " +"'command_system_execute' to True in ACE (Advanced Configuration Editor)." +msgstr "" + +#: gajim/command_system/implementation/execute.py:125 +msgid "Execute expression inside a shell, send output" +msgstr "" + +#: gajim/command_system/implementation/standard.py:52 +msgid "" +"Show help on a given command or a list of available commands if -a is given" +msgstr "" + +#: gajim/command_system/implementation/standard.py:81 +#, fuzzy +msgid "Send a message to the contact" +msgstr "Начин коришћења: /%s, шаље поруку контакту" + +#: gajim/command_system/implementation/standard.py:86 +msgid "Send action (in the third person) to the current chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:91 +msgid "Show logged messages which mention given text" +msgstr "" + +#: gajim/command_system/implementation/standard.py:96 +#, fuzzy, python-format +msgid "%s: Nothing found" +msgstr "%s није пронађен" + +#: gajim/command_system/implementation/standard.py:102 +msgid "Limit must be an integer" +msgstr "" + +#: gajim/command_system/implementation/standard.py:127 +msgid "" +"\n" +" Set the current status\n" +"\n" +" Status can be given as one of the following values:\n" +" online, away, chat, xa, dnd.\n" +" " +msgstr "" + +#: gajim/command_system/implementation/standard.py:145 +msgid "Set the current status to away" +msgstr "" + +#: gajim/command_system/implementation/standard.py:148 +#: gajim/common/helpers.py:200 gajim/common/modules/adhoc_commands.py:122 +msgid "Away" +msgstr "Одсутан" + +#: gajim/command_system/implementation/standard.py:159 +msgid "Set the current status to online" +msgstr "" + +#: gajim/command_system/implementation/standard.py:162 +#, fuzzy +msgid "Available" +msgstr "_Доступан" + +#: gajim/command_system/implementation/standard.py:173 +#, fuzzy +msgid "Send a disco info request" +msgstr "Послати захтев примања" + +#: gajim/command_system/implementation/standard.py:192 +#: gajim/command_system/implementation/standard.py:273 +#, fuzzy +msgid "Clear the text window" +msgstr "Начин коришћења: /%s, празни текстуални прозор" + +#: gajim/command_system/implementation/standard.py:197 +#: gajim/command_system/implementation/standard.py:425 +#, fuzzy +msgid "Send a ping to the contact" +msgstr "Начин коришћења: /%s, шаље пинк контакту" + +#: gajim/command_system/implementation/standard.py:201 +#: gajim/command_system/implementation/standard.py:429 +#, fuzzy +msgid "Command is not supported for zeroconf accounts" +msgstr "Команда није подржана за zeroconf налог." + +#: gajim/command_system/implementation/standard.py:205 +msgid "Send DTMF sequence through an open voice chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:208 +#, fuzzy +msgid "No open voice chats with the contact" +msgstr "Начин коришћења: /%s, шаље пинк контакту" + +#: gajim/command_system/implementation/standard.py:211 +#, fuzzy, python-format +msgid "%s is not a valid tone" +msgstr "%s није исправан ниво логовања" + +#: gajim/command_system/implementation/standard.py:218 +msgid "Toggle Voice Chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:221 +#, fuzzy +msgid "Voice chats are not available" +msgstr "Веза није доступна" + +#: gajim/command_system/implementation/standard.py:228 +msgid "Toggle Video Chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:231 +#, fuzzy +msgid "Video chats are not available" +msgstr "Веза није доступна" + +#: gajim/command_system/implementation/standard.py:238 +#, fuzzy +msgid "Send a message to the contact that will attract their attention" +msgstr "Начин коришћења: /%s, шаље поруку контакту" + +#: gajim/command_system/implementation/standard.py:278 +#, fuzzy +msgid "Change your nickname in a group chat" +msgstr "Промени надимак (Ctrl+N)" + +#: gajim/command_system/implementation/standard.py:283 +msgid "Invalid nickname" +msgstr "Неисправан надимак" + +#: gajim/command_system/implementation/standard.py:290 +#, fuzzy +msgid "Open a private chat window with a specified participant" +msgstr "Отвори приватни разговор са одабраним учесником" + +#: gajim/command_system/implementation/standard.py:296 +#: gajim/command_system/implementation/standard.py:306 +#: gajim/command_system/implementation/standard.py:360 +#: gajim/command_system/implementation/standard.py:373 +#: gajim/command_system/implementation/standard.py:385 +#, fuzzy +msgid "Nickname not found" +msgstr "Надимак није пронађен: %s " + +#: gajim/command_system/implementation/standard.py:299 +#, fuzzy +msgid "" +"Open a private chat window with a specified participant and send him a " +"message" +msgstr "Отвори приватни разговор са одабраним учесником и пошаљи му поруку" + +#: gajim/command_system/implementation/standard.py:309 +#, fuzzy +msgid "Display or change a group chat topic" +msgstr "Питај пре затварања прозора/језичка групног разговора." + +#: gajim/command_system/implementation/standard.py:318 +msgid "Invite a user to a group chat for a reason" +msgstr "" + +#: gajim/command_system/implementation/standard.py:325 +#, fuzzy +msgid "Join a group chat given by an XMPP Address" +msgstr "у _групним разговорима" + +#: gajim/command_system/implementation/standard.py:335 +msgid "" +"Leave the group chat, optionally giving a reason, and close tab or window" +msgstr "" + +#: gajim/command_system/implementation/standard.py:341 +msgid "" +"\n" +" Ban user by a nick or a JID from a groupchat\n" +"\n" +" If given nickname is not found it will be treated as a JID.\n" +" " +msgstr "" + +#: gajim/command_system/implementation/standard.py:357 +#, fuzzy +msgid "Kick user from group chat by nickname" +msgstr "Позвани сте у групни разговор" + +#: gajim/command_system/implementation/standard.py:366 +msgid "" +"Set participant role in group chat.\n" +" Role can be given as one of the following values:\n" +" moderator, participant, visitor, none" +msgstr "" + +#: gajim/command_system/implementation/standard.py:371 +#, fuzzy +msgid "Invalid role given" +msgstr "Неисправан сервер" + +#: gajim/command_system/implementation/standard.py:378 +msgid "" +"Set participant affiliation in group chat.\n" +" Affiliation can be given as one of the following values:\n" +" owner, admin, member, outcast, none" +msgstr "" + +#: gajim/command_system/implementation/standard.py:383 +#, fuzzy +msgid "Invalid affiliation given" +msgstr "везаност измењена" + +#: gajim/command_system/implementation/standard.py:393 +#, fuzzy +msgid "Display names of all group chat participants" +msgstr "Начин коришћења: /%s , приказује имена учесника у групном разговору." + +#: gajim/command_system/implementation/standard.py:415 +msgid "Forbid a participant to send you public or private messages" +msgstr "" + +#: gajim/command_system/implementation/standard.py:420 +msgid "Allow a participant to send you public or private messages" +msgstr "" + +#: gajim/command_system/implementation/standard.py:432 +#, fuzzy +msgid "Unknown nickname" +msgstr "Унесите нови надимак за контакт %s" + +#: gajim/command_system/implementation/custom.py:114 +msgid "The same as using a doc-string, except it supports translation" +msgstr "" + +#: gajim/gtk/ssl_error_dialog.py:36 gajim/data/gui/ssl_error_dialog.ui:16 +#, fuzzy +msgid "SSL Certificate Verification Error" +msgstr "Грешка SSL сертификата" + +#: gajim/gtk/ssl_error_dialog.py:55 +#, fuzzy, python-format +msgid "" +"There was an error while attempting to verify the SSL certificate of your " +"XMPP server (%s)." +msgstr "" +"Дошло је до грешке приликом верификовања SSL сертификата Вашег џабер сервера:" +"%(error)s\n" +"Да ли и даље желите да се конектујете на овај сервер?" + +#: gajim/gtk/ssl_error_dialog.py:58 +#, fuzzy, python-format +msgid "Unknown SSL error '%s'" +msgstr "Непозната SSL грешка: %d" + +#: gajim/gtk/avatar_selector.py:84 +msgid "Select a picture or drop it here" +msgstr "" + +#: gajim/gtk/status_change.py:62 gajim/gtk/preferences.py:627 +#: gajim/gtk/preferences.py:655 +msgid "Status Message" +msgstr "Статусна порука" + +#: gajim/gtk/status_change.py:330 +#, fuzzy +msgid "No activity" +msgstr "Активност:" + +#: gajim/gtk/status_change.py:370 gajim/gtk/status_change.py:383 +#: gajim/gtk/status_change.py:488 +#, fuzzy +msgid "No mood selected" +msgstr "Није одабран ниједан кључ" + +#: gajim/gtk/status_change.py:382 +msgid "No mood" +msgstr "" + +#: gajim/gtk/status_change.py:439 +msgid "Overwrite" +msgstr "" + +#: gajim/gtk/status_change.py:440 +msgid "Overwrite Status Message?" +msgstr "Препиши статусну поруку?" + +#: gajim/gtk/status_change.py:441 +#, fuzzy +msgid "This name is already in use. Do you want to overwrite this preset?" +msgstr "Ово име се већ користи. Да ли желите да препишете ову статусну поруку?" + +#: gajim/gtk/status_change.py:445 gajim/plugins/gui.py:292 +msgid "_Overwrite" +msgstr "" + +#: gajim/gtk/status_change.py:453 +#, fuzzy +msgid "Status Preset" +msgstr "Статусна порука" + +#: gajim/gtk/status_change.py:454 +#, fuzzy +msgid "Save status as preset" +msgstr "Сними као већ постављену..." + +#: gajim/gtk/status_change.py:455 +#, fuzzy +msgid "Please assign a name to this status message preset" +msgstr "Молимо унесите име за ову статусну поруку" + +#: gajim/gtk/status_change.py:458 gajim/data/gui/profile.ui:336 +#, fuzzy +msgid "_Save" +msgstr "Имам " + +#: gajim/gtk/status_change.py:460 +#, fuzzy +msgid "New Status" +msgstr "Статус" + +#: gajim/gtk/advanced_config.py:46 gajim/gtk/advanced_config.py:144 +msgid "Activated" +msgstr "Активирано" + +#: gajim/gtk/advanced_config.py:47 +msgid "Deactivated" +msgstr "Деактивирано" + +#: gajim/gtk/advanced_config.py:52 +msgid "?config type:Boolean" +msgstr "" + +#: gajim/gtk/advanced_config.py:53 +msgid "?config type:Integer" +msgstr "" + +#: gajim/gtk/advanced_config.py:54 +msgid "?config type:Text" +msgstr "" + +#: gajim/gtk/advanced_config.py:65 +#, fuzzy +msgid "Advanced Configuration Editor (ACE)" +msgstr "Напредна измена конфигурације" + +#: gajim/gtk/advanced_config.py:80 +#, fuzzy +msgid "?config:Preference Name" +msgstr "Име поставке" + +#: gajim/gtk/advanced_config.py:91 +#, fuzzy +msgid "?config:Value" +msgstr "_Конфигуриши" + +#: gajim/gtk/advanced_config.py:100 +msgid "?config:Type" +msgstr "" + +#: gajim/gtk/advanced_config.py:133 +#, fuzzy +msgid "?config description:None" +msgstr "?Питај (за претплату):Ниједна" + +#: gajim/gtk/preferences.py:63 gajim/data/gui/shortcuts_window.ui:31 +msgid "Preferences" +msgstr "Подешавања" + +#: gajim/gtk/preferences.py:185 +msgid "Detached contact list with detached chats" +msgstr "" + +#: gajim/gtk/preferences.py:186 +msgid "Detached contact list with single chat" +msgstr "" + +#: gajim/gtk/preferences.py:187 +msgid "Single window for everything" +msgstr "" + +#: gajim/gtk/preferences.py:188 +msgid "Detached contact list with chats grouped by account" +msgstr "" + +#: gajim/gtk/preferences.py:189 +msgid "Detached contact list with chats grouped by type" +msgstr "" + +#: gajim/gtk/preferences.py:193 gajim/data/gui/mam_preferences.ui:14 +#, fuzzy +msgid "Always" +msgstr "Одсутан" + +#: gajim/gtk/preferences.py:194 gajim/data/gui/mam_preferences.ui:22 +#, fuzzy +msgid "Never" +msgstr "Сервер" + +#: gajim/gtk/preferences.py:195 +#, fuzzy +msgid "Restore last state" +msgstr "Последњи статус: %s" + +#: gajim/gtk/preferences.py:199 +#, fuzzy +msgid "Top" +msgstr "За" + +#: gajim/gtk/preferences.py:200 +msgid "Bottom" +msgstr "" + +#: gajim/gtk/preferences.py:201 +msgid "Left" +msgstr "" + +#: gajim/gtk/preferences.py:202 +#, fuzzy +msgid "Right" +msgstr "осам" + +#: gajim/gtk/preferences.py:207 +#, fuzzy +msgid "Window Layout" +msgstr "Понашање прозора:" + +#: gajim/gtk/preferences.py:214 +#, fuzzy +msgid "Contact List on Startup" +msgstr "_Прикажи листу контаката" + +#: gajim/gtk/preferences.py:218 +#, fuzzy +msgid "Show contact list when starting Gajim" +msgstr "_Прикажи листу контаката" + +#: gajim/gtk/preferences.py:221 +#, fuzzy +msgid "Quit on Close" +msgstr "Умањи прозор на затварање" + +#: gajim/gtk/preferences.py:224 +#, fuzzy +msgid "Quit when closing contact list" +msgstr "Прикажи контакте који нису на вези" + +#: gajim/gtk/preferences.py:227 +#, fuzzy +msgid "Tab Position" +msgstr "Позиција:" + +#: gajim/gtk/preferences.py:231 +#, fuzzy +msgid "Placement of chat window tabs" +msgstr "је затворио/затворила прозор или језичак разговора" + +#: gajim/gtk/preferences.py:247 +#, fuzzy +msgid "Merge Accounts" +msgstr "Спојени налози" + +#: gajim/gtk/preferences.py:253 +#, fuzzy +msgid "Enable Metacontacts" +msgstr "Преименуј контакт" + +#: gajim/gtk/preferences.py:258 +#, fuzzy +msgid "Show Avatars" +msgstr "Могућности" + +#: gajim/gtk/preferences.py:264 gajim/gtk/preferences.py:353 +#, fuzzy +msgid "Show Status Message" +msgstr "Статусна порука" + +#: gajim/gtk/preferences.py:270 gajim/gtk/preferences.py:411 +#, fuzzy +msgid "Sort Contacts by Status" +msgstr "Сортирај контакте по статусу" + +#: gajim/gtk/preferences.py:276 +#, fuzzy +msgid "Show Mood" +msgstr "Постави расположење" + +#: gajim/gtk/preferences.py:281 +#, fuzzy +msgid "Show Activity" +msgstr "Постави активност" + +#: gajim/gtk/preferences.py:286 +#, fuzzy +msgid "Show Tune" +msgstr "Могућности" + +#: gajim/gtk/preferences.py:323 +msgid "Needs gspell to be installed" +msgstr "" + +#: gajim/gtk/preferences.py:327 +#, fuzzy +msgid "Spell Checking" +msgstr "Провера правописа" + +#: gajim/gtk/preferences.py:335 +#, fuzzy +msgid "Message Receipts (✔)" +msgstr "садржај поруке" + +#: gajim/gtk/preferences.py:338 +msgid "Add a checkmark to received messages" +msgstr "" + +#: gajim/gtk/preferences.py:341 +#, fuzzy +msgid "XHTML Formatting" +msgstr "Прикажи листу форматирања" + +#: gajim/gtk/preferences.py:344 +msgid "Render XHTML styles (colors, etc.) of incoming messages" +msgstr "" + +#: gajim/gtk/preferences.py:348 +#, fuzzy +msgid "Show Send Message Button" +msgstr "Пошаљи поруку" + +#: gajim/gtk/preferences.py:358 +#, fuzzy +msgid "Show Chat State In Tabs" +msgstr "Прикаши дугме за затварање у језичку?" + +#: gajim/gtk/preferences.py:361 +msgid "Show the contact’s chat state (e.g. typing) in the chat’s tab" +msgstr "" + +#: gajim/gtk/preferences.py:365 +#, fuzzy +msgid "Show Chat State In Banner" +msgstr "Прикажи _аватаре контаката на листи" + +#: gajim/gtk/preferences.py:368 +msgid "Show the contact’s chat state (e.g. typing) in the chats tab’s banner" +msgstr "" + +#: gajim/gtk/preferences.py:372 +#, fuzzy +msgid "Display Chat State In Contact List" +msgstr "_Приказана обавештења о стању разговора:" + +#: gajim/gtk/preferences.py:375 +#, fuzzy +msgid "Show the contact’s chat state (e.g. typing) in the contact list" +msgstr "Прикаши дугме за затварање у језичку?" + +#: gajim/gtk/preferences.py:406 +#, fuzzy +msgid "Show Subject" +msgstr "Тема" + +#: gajim/gtk/preferences.py:417 +msgid "Default Sync Threshold" +msgstr "" + +#: gajim/gtk/preferences.py:420 +#, fuzzy +msgid "Default for new public group chats" +msgstr "Напусти групне разговоре" + +#: gajim/gtk/preferences.py:424 +msgid "Show Joined / Left" +msgstr "" + +#: gajim/gtk/preferences.py:427 gajim/gtk/preferences.py:438 +#, fuzzy +msgid "Default for new group chats" +msgstr "Напусти групне разговоре" + +#: gajim/gtk/preferences.py:428 gajim/gtk/preferences.py:439 +#: gajim/gtk/accounts.py:715 gajim/gtk/accounts.py:727 +#: gajim/gtk/accounts.py:740 +#, fuzzy +msgid "Reset" +msgstr "_Присутност" + +#: gajim/gtk/preferences.py:429 gajim/gtk/preferences.py:440 +#: gajim/gtk/accounts.py:728 +msgid "Reset all group chats to the current default value" +msgstr "" + +#: gajim/gtk/preferences.py:435 gajim/gtk/groupchat_settings.py:48 +#, fuzzy +msgid "Show Status Changes" +msgstr "_Записуј у дневник статусне промене контаката" + +#: gajim/gtk/preferences.py:468 +#, fuzzy +msgid "Hide icon" +msgstr "Сакриј овај мени" + +#: gajim/gtk/preferences.py:469 +#, fuzzy +msgid "Only show for pending events" +msgstr "Само за догађаје на чекању" + +#: gajim/gtk/preferences.py:470 +msgid "Always show icon" +msgstr "" + +#: gajim/gtk/preferences.py:475 +#, fuzzy +msgid "Notification Area Icon" +msgstr "Notification-daemon" + +#: gajim/gtk/preferences.py:482 +#, fuzzy +msgid "Open Events" +msgstr "Лични догађаји" + +#: gajim/gtk/preferences.py:485 +#, fuzzy +msgid "Open events instead of showing a notification in the contact list" +msgstr "Прикажи у листи само контакте који су на вези и слободни за ћаскање." + +#: gajim/gtk/preferences.py:489 gajim/gtk/preferences.py:512 +#, fuzzy +msgid "Show Notifications" +msgstr "Обавештења" + +#: gajim/gtk/preferences.py:517 +#, fuzzy +msgid "Notifications When Away" +msgstr "Обавештења" + +#: gajim/gtk/preferences.py:520 +#, fuzzy +msgid "Show notifications even if you are Away, Busy, etc." +msgstr "Notification-daemon" + +#: gajim/gtk/preferences.py:525 gajim/data/gui/preferences.ui:271 +msgid "Notifications" +msgstr "Обавештења" + +#: gajim/gtk/preferences.py:534 +#, fuzzy +msgid "Play Sounds" +msgstr "Пуштај звукове" + +#: gajim/gtk/preferences.py:537 +msgid "Play sounds to notify about events" +msgstr "" + +#: gajim/gtk/preferences.py:542 +msgid "Sounds When Away" +msgstr "" + +#: gajim/gtk/preferences.py:545 +#, fuzzy +msgid "Play sounds even when you are Away, Busy, etc." +msgstr "Пусти звук када је корисник заузет" + +#: gajim/gtk/preferences.py:560 +#, fuzzy +msgid "Sign In" +msgstr "Пријављивању" + +#: gajim/gtk/preferences.py:565 +#, fuzzy +msgid "Sign Out" +msgstr "Одјављивању" + +#: gajim/gtk/preferences.py:570 +#, fuzzy +msgid "Status Change" +msgstr "_Записуј у дневник статусне промене контаката" + +#: gajim/gtk/preferences.py:583 gajim/gtk/preferences.py:614 +#, fuzzy +msgid "Auto Away" +msgstr "Одсутан" + +#: gajim/gtk/preferences.py:585 +msgid "Change your status to 'Away' after a certain amount of time" +msgstr "" + +#: gajim/gtk/preferences.py:590 gajim/gtk/preferences.py:642 +#, fuzzy +msgid "Auto Not Available" +msgstr "Недоступан" + +#: gajim/gtk/preferences.py:592 +msgid "Change your status to 'Not Available' after a certain amount of time" +msgstr "" + +#: gajim/gtk/preferences.py:619 +msgid "Time Until Away" +msgstr "" + +#: gajim/gtk/preferences.py:622 gajim/gtk/preferences.py:650 +#, fuzzy +msgid "Minutes until your status gets changed" +msgstr "_Записуј у дневник статусне промене контаката" + +#: gajim/gtk/preferences.py:633 gajim/gtk/preferences.py:828 +#, fuzzy +msgid "Auto Away Settings" +msgstr "Регистрација неуспела" + +#: gajim/gtk/preferences.py:647 +#, fuzzy +msgid "Time Until Not Available" +msgstr "Недоступан" + +#: gajim/gtk/preferences.py:661 +#, fuzzy +msgid "Auto Extended Away Settings" +msgstr "Дуже одсутан" + +#: gajim/gtk/preferences.py:672 gajim/gtk/accounts.py:680 +msgid "Enabled" +msgstr "Омогућен" + +#: gajim/gtk/preferences.py:673 gajim/data/gui/vcard_information_window.ui:123 +#, fuzzy +msgid "System" +msgstr "Систем:" + +#: gajim/gtk/preferences.py:678 +#, fuzzy +msgid "Dark Theme" +msgstr "Гајим - %s" + +#: gajim/gtk/preferences.py:685 +#, fuzzy +msgid "Theme" +msgstr "Тема" + +#: gajim/gtk/preferences.py:731 +msgid "Convert ASCII Emojis" +msgstr "" + +#: gajim/gtk/preferences.py:734 +msgid "Typing short codes like :-) will display emojis" +msgstr "" + +#: gajim/gtk/preferences.py:741 +#, fuzzy +msgid "Emoji Theme" +msgstr "Гајим - %s" + +#: gajim/gtk/preferences.py:744 +msgid "Choose from various emoji styles" +msgstr "" + +#: gajim/gtk/preferences.py:774 +#, fuzzy +msgid "Status Icon Set" +msgstr "Скуп статусних икона:" + +#: gajim/gtk/preferences.py:781 +#, fuzzy +msgid "Use Transport Icons" +msgstr "Користи иконе за _транспорте" + +#: gajim/gtk/preferences.py:784 +msgid "Display protocol-specific status icons (ICQ, ..)" +msgstr "" + +#: gajim/gtk/preferences.py:801 gajim/gtk/preferences.py:817 +msgid "Use Stun Server" +msgstr "" + +#: gajim/gtk/preferences.py:803 +msgid "Helps to establish calls through firewalls" +msgstr "" + +#: gajim/gtk/preferences.py:822 +#, fuzzy +msgid "STUN Server" +msgstr "Сервер:" + +#: gajim/gtk/preferences.py:848 +#, fuzzy +msgid "Audio Input Device" +msgstr "Подразумевана порука" + +#: gajim/gtk/preferences.py:851 +msgid "Select your audio input (e.g. microphone)" +msgstr "" + +#: gajim/gtk/preferences.py:855 +#, fuzzy +msgid "Audio Output Device" +msgstr "Подразумевана порука" + +#: gajim/gtk/preferences.py:858 +msgid "Select an audio output (e.g. speakers, headphones)" +msgstr "" + +#: gajim/gtk/preferences.py:890 gajim/gtk/preferences.py:898 +msgid "Default" +msgstr "Подразумевано" + +#: gajim/gtk/preferences.py:906 +#, fuzzy +msgid "Video Input Device" +msgstr "Подразумевана порука" + +#: gajim/gtk/preferences.py:910 +msgid "Select your video input device (e.g. webcam, screen capture)" +msgstr "" + +#: gajim/gtk/preferences.py:915 +#, fuzzy +msgid "Video Framerate" +msgstr "Приватни Разговори" + +#: gajim/gtk/preferences.py:921 +#, fuzzy +msgid "Video Resolution" +msgstr "Приватни Разговори" + +#: gajim/gtk/preferences.py:927 +msgid "Show My Video Stream" +msgstr "" + +#: gajim/gtk/preferences.py:930 +msgid "Show your own video stream in calls" +msgstr "" + +#: gajim/gtk/preferences.py:933 gajim/data/gui/video_preview.ui:51 +msgid "Live Preview" +msgstr "" + +#: gajim/gtk/preferences.py:935 +msgid "Show a live preview to test your video source" +msgstr "" + +#: gajim/gtk/preferences.py:975 +#, fuzzy +msgid "Global Proxy" +msgstr "Прок_си:" + +#: gajim/gtk/preferences.py:980 gajim/gtk/account_wizard.py:732 +#: gajim/gtk/accounts.py:790 +#, fuzzy +msgid "No Proxy" +msgstr "Прок_си:" + +#: gajim/gtk/preferences.py:985 +msgid "Use System Keyring" +msgstr "" + +#: gajim/gtk/preferences.py:988 +msgid "Use your system’s keyring to store passwords" +msgstr "" + +#: gajim/gtk/preferences.py:994 +msgid "Check For Updates" +msgstr "" + +#: gajim/gtk/preferences.py:997 gajim/common/config.py:241 +msgid "Check for Gajim updates periodically" +msgstr "" + +#: gajim/gtk/preferences.py:1033 +#, fuzzy +msgid "Debug Logging" +msgstr "Џогира" + +#: gajim/gtk/message_input.py:48 +#, fuzzy +msgid "Write a message…" +msgstr "статусна порука" + +#: gajim/gtk/settings.py:400 gajim/gtk/settings.py:758 +#: gajim/gtk/settings.py:784 gajim/gtk/settings.py:793 +#: gajim/gtk/settings.py:802 gajim/gtk/settings.py:811 +msgid "?switch:On" +msgstr "" + +#: gajim/gtk/settings.py:400 gajim/gtk/settings.py:758 +#: gajim/gtk/settings.py:784 gajim/gtk/settings.py:793 +#: gajim/gtk/settings.py:802 gajim/gtk/settings.py:811 +msgid "?switch:Off" +msgstr "" + +#: gajim/gtk/settings.py:538 gajim/gtk/manage_sounds.py:46 +#: gajim/gtk/filechoosers.py:89 gajim/gtk/filechoosers.py:140 +#: gajim/gtk/filechoosers.py:147 +msgid "All files" +msgstr "Све датотеке" + +#: gajim/gtk/settings.py:547 +#, fuzzy +msgid "Clear File" +msgstr "Чисти" + +#: gajim/gtk/settings.py:745 +#, fuzzy +msgid "Adjust to Status" +msgstr "По_деси према статусу" + +#: gajim/gtk/history_sync.py:111 gajim/gtk/history_sync.py:193 +#, fuzzy +msgid "Synchronise History" +msgstr "Синхронизуј" + +#: gajim/gtk/history_sync.py:205 +#, fuzzy +msgid "How far back should the chat history be synchronised?" +msgstr "Шта желите да урадите?" + +#: gajim/gtk/history_sync.py:210 +msgid "One Month" +msgstr "" + +#: gajim/gtk/history_sync.py:211 +msgid "Three Months" +msgstr "" + +#: gajim/gtk/history_sync.py:212 +msgid "One Year" +msgstr "" + +#: gajim/gtk/history_sync.py:213 +msgid "Everything" +msgstr "" + +#: gajim/gtk/history_sync.py:241 gajim/gtk/account_wizard.py:276 +#: gajim/gtk/account_wizard.py:295 gajim/gtk/account_wizard.py:312 +#, fuzzy +msgid "Connecting..." +msgstr "Повезивање" + +#: gajim/gtk/history_sync.py:253 +#, fuzzy, python-format +msgid "%(received)s of %(max)s" +msgstr "Пренос датотеке %(filename)s од контакта %(name)s је заустављен." + +#: gajim/gtk/history_sync.py:257 +#, fuzzy, python-format +msgid "Downloaded %s messages" +msgstr "Проследи непрочитане поруке" + +#: gajim/gtk/history_sync.py:277 +#, python-format +msgid "" +"Finished synchronising chat history:\n" +"%s messages downloaded" +msgstr "" + +#: gajim/gtk/history_sync.py:281 +msgid "Gajim is fully synchronised with the archive." +msgstr "" + +#: gajim/gtk/history_sync.py:284 +msgid "There is already a synchronisation in progress. Please try again later." +msgstr "" + +#: gajim/gtk/pep_config.py:49 +#, fuzzy, python-format +msgid "PEP Service Configuration (%s)" +msgstr "PEP конфигурација сервиса" + +#: gajim/gtk/pep_config.py:74 +#, fuzzy +msgid "Service" +msgstr "Сервер" + +#: gajim/gtk/pep_config.py:105 +msgid "PEP node was not removed" +msgstr "PEP чвор није уклоњен" + +#: gajim/gtk/pep_config.py:106 +#, fuzzy, python-format +msgid "" +"PEP node %(node)s was not removed:\n" +"%(message)s" +msgstr "PEP чвор %(node)s није уклоњен: %(message)s" + +#: gajim/gtk/pep_config.py:153 +#, fuzzy, python-format +msgid "Configure %s" +msgstr "_Конфигуриши" + +#: gajim/gtk/mam_preferences.py:42 +#, python-format +msgid "Archiving Preferences for %s" +msgstr "" + +#: gajim/gtk/mam_preferences.py:101 +#, fuzzy +msgid "Archiving Preferences Saved" +msgstr "_Подешавања" + +#: gajim/gtk/mam_preferences.py:102 +#, fuzzy +msgid "Your archiving preferences have successfully been saved." +msgstr "_Подешавања" + +#: gajim/gtk/mam_preferences.py:109 +#, fuzzy +msgid "Archiving Preferences Error" +msgstr "_Подешавања" + +#: gajim/gtk/mam_preferences.py:110 +#, fuzzy +msgid "Error received: {}" +msgstr "Грешка у примању форме за податке" + +#: gajim/gtk/statusicon.py:198 +#, fuzzy +msgid "_Change Status Message…" +msgstr "_Измени статусну поруку" + +#: gajim/gtk/statusicon.py:250 +#, python-format +msgid "using account %s" +msgstr "користећи рачун %s" + +#: gajim/gtk/statusicon.py:263 +#, fuzzy +msgid "Hide _Contact List" +msgstr "Позови контакте" + +#: gajim/gtk/statusicon.py:268 gajim/data/gui/application_menu.ui:42 +#, fuzzy +msgid "Show _Contact List" +msgstr "Прикажи само _активне контакте" + +#: gajim/gtk/statusicon.py:276 +msgid "Hide this menu" +msgstr "Сакриј овај мени" + +#: gajim/gtk/start_chat.py:57 +#, fuzzy +msgid "Start / Join Chat" +msgstr "Започни разговор" + +#: gajim/gtk/start_chat.py:285 gajim/gtk/start_chat.py:370 +msgid "You can not join a group chat unless you are connected." +msgstr "Не можете се прикључити групном разговору ако нисте повезани." + +#: gajim/gtk/start_chat.py:634 gajim/gtk/groupchat_join.py:40 +msgid "Join Group Chat" +msgstr "Придружи се групном разговору" + +#: gajim/gtk/start_chat.py:715 +msgid "" +"Search for group chats globally\n" +"(press Return to start search)" +msgstr "" + +#: gajim/gtk/start_chat.py:808 +#, fuzzy, python-format +msgid "%s group chats found" +msgstr "%s није пронађен" + +#: gajim/gtk/notification.py:184 gajim/gtk/notification.py:205 +#: gajim/gtk/notification.py:219 gajim/gtk/notification.py:272 +#: gajim/common/connection_handlers_events.py:234 +msgid "New Private Message" +msgstr "Нова Приватна Порука" + +#: gajim/gtk/notification.py:185 gajim/gtk/notification.py:206 +#: gajim/gtk/notification.py:220 gajim/common/connection_handlers_events.py:328 +#, fuzzy +msgid "New Group Chat Message" +msgstr "Нови групни разговор" + +#: gajim/gtk/notification.py:186 gajim/gtk/notification.py:212 +#: gajim/gtk/notification.py:289 gajim/common/connection_handlers_events.py:418 +msgid "Contact Changed Status" +msgstr "Контакт променио статус" + +#: gajim/gtk/notification.py:200 +#, fuzzy +msgid "Open" +msgstr "OpenPGP: " + +#: gajim/gtk/notification.py:209 +msgid "Mark as Read" +msgstr "" + +#: gajim/gtk/notification.py:273 +msgid "New E-mail" +msgstr "Нови Е-мејл" + +#: gajim/gtk/video_preview.py:116 +msgid "OpenGL accelerated" +msgstr "" + +#: gajim/gtk/video_preview.py:120 +msgid "Not accelerated" +msgstr "" + +#: gajim/gtk/video_preview.py:127 +msgid "Something went wrong. Video feature disabled." +msgstr "" + +#: gajim/gtk/groupchat_invite.py:304 +#, fuzzy +msgid "Invite New Contact" +msgstr "Позови контакте" + +#: gajim/gtk/themes.py:37 +#, fuzzy +msgid "Chatstate Composing" +msgstr "Састављање" + +#: gajim/gtk/themes.py:41 +#, fuzzy +msgid "Chatstate Inactive" +msgstr "Неактивно" + +#: gajim/gtk/themes.py:45 +msgid "Chatstate Gone" +msgstr "" + +#: gajim/gtk/themes.py:49 +#, fuzzy +msgid "Chatstate Paused" +msgstr "Измени статус" + +#: gajim/gtk/themes.py:53 +#, fuzzy +msgid "Group Chat Tab New Directed Message" +msgstr "" +"Усмерене поруке\n" +"вишекорисничког разговора" + +#: gajim/gtk/themes.py:57 +#, fuzzy +msgid "Group Chat Tab New Message" +msgstr "Нова Порука" + +#: gajim/gtk/themes.py:61 +msgid "Banner Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:65 +msgid "Banner Background Color" +msgstr "" + +#: gajim/gtk/themes.py:69 +msgid "Banner Font" +msgstr "" + +#: gajim/gtk/themes.py:73 +msgid "Account Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:77 +msgid "Account Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:81 +#, fuzzy +msgid "Account Row Font" +msgstr "Налог" + +#: gajim/gtk/themes.py:85 +msgid "Group Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:89 +msgid "Group Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:93 +#, fuzzy +msgid "Group Row Font" +msgstr "Група" + +#: gajim/gtk/themes.py:97 +msgid "Contact Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:101 +msgid "Contact Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:105 +#, fuzzy +msgid "Contact Row Font" +msgstr "Прикажи догађај у листи контаката" + +#: gajim/gtk/themes.py:109 +#, fuzzy +msgid "Conversation Font" +msgstr "Разговор са " + +#: gajim/gtk/themes.py:113 +#, fuzzy +msgid "Incoming Nickname Color" +msgstr "Боја за долазни надимак." + +#: gajim/gtk/themes.py:117 +#, fuzzy +msgid "Outgoing Nickname Color" +msgstr "Боја за одлазни надимак." + +#: gajim/gtk/themes.py:121 +#, fuzzy +msgid "Incoming Message Text Color" +msgstr "Боја долазног текста." + +#: gajim/gtk/themes.py:125 +#, fuzzy +msgid "Incoming Message Text Font" +msgstr "Фонт долазног текста." + +#: gajim/gtk/themes.py:129 +#, fuzzy +msgid "Outgoing Message Text Color" +msgstr "Боја одлазног текста." + +#: gajim/gtk/themes.py:133 +#, fuzzy +msgid "Outgoing Message Text Font" +msgstr "Фонт одлазног текста." + +#: gajim/gtk/themes.py:137 +#, fuzzy +msgid "Status Message Color" +msgstr "Статусна порука" + +#: gajim/gtk/themes.py:141 +#, fuzzy +msgid "Status Message Font" +msgstr "Статусна порука" + +#: gajim/gtk/themes.py:145 +#, fuzzy +msgid "URL Color" +msgstr "Боја" + +#: gajim/gtk/themes.py:149 +#, fuzzy +msgid "Highlight Message Color" +msgstr "_Обоји погрешно написане речи" + +#: gajim/gtk/themes.py:153 +#, fuzzy +msgid "Message Correcting" +msgstr "Поруке" + +#: gajim/gtk/themes.py:157 +#, fuzzy +msgid "Contact Disconnected Background" +msgstr "Контакт Отишао Са Везе" + +#: gajim/gtk/themes.py:161 +#, fuzzy +msgid "Contact Connected Background " +msgstr "Контакт На Вези" + +#: gajim/gtk/themes.py:164 +#, fuzzy +msgid "Status Online Color" +msgstr "Статусна порука" + +#: gajim/gtk/themes.py:167 +#, fuzzy +msgid "Status Away Color" +msgstr "Статусна порука" + +#: gajim/gtk/themes.py:170 +#, fuzzy +msgid "Status DND Color" +msgstr "Статусна порука" + +#: gajim/gtk/themes.py:173 +#, fuzzy +msgid "Status Offline Color" +msgstr "Статусна порука" + +#: gajim/gtk/themes.py:187 +#, fuzzy +msgid "Gajim Themes" +msgstr "Гајим - %s" + +#: gajim/gtk/themes.py:223 gajim/gtk/themes.py:230 +#, fuzzy +msgid "Invalid Name" +msgstr "Неисправан надимак" + +#: gajim/gtk/themes.py:224 +msgid "Name default is not allowed" +msgstr "" + +#: gajim/gtk/themes.py:231 +#, fuzzy +msgid "Spaces are not allowed" +msgstr "Карактер није дозвољен" + +#: gajim/gtk/themes.py:356 +#, fuzzy +msgid "Do you want to delete this theme?" +msgstr "Да ли заиста желите да избришете означену поруку?" + +#: gajim/gtk/themes.py:358 +#, fuzzy +msgid "" +"This is the theme you are currently using.\n" +"Do you want to delete this theme?" +msgstr "Ово име се већ користи. Да ли желите да препишете ову статусну поруку?" + +#: gajim/gtk/themes.py:363 +#, fuzzy +msgid "Delete Theme" +msgstr "Активно" + +#: gajim/gtk/themes.py:390 +#, fuzzy +msgid "Remove Setting" +msgstr "Регистрација неуспела" + +#: gajim/gtk/filetransfer_progress.py:62 +#, fuzzy +msgid "Upload Failed" +msgstr "Сними датотеку као..." + +#: gajim/gtk/filetransfer_progress.py:113 +#, fuzzy, python-format +msgid "%(progress)s of %(total)s" +msgstr "Пренос датотеке %(filename)s од контакта %(name)s је заустављен." + +#: gajim/gtk/filetransfer_progress.py:130 +#, python-format +msgid "%(minutes)s min %(seconds)s sec" +msgstr "" + +#: gajim/gtk/add_contact.py:32 +#, fuzzy +msgid "GG Number" +msgstr "ГГ Број:" + +#: gajim/gtk/add_contact.py:33 +#, fuzzy +msgid "ICQ Number" +msgstr "ICQ Број:" + +#: gajim/gtk/add_contact.py:42 +#, fuzzy +msgid "Add Contact" +msgstr "_Додај контакт..." + +#: gajim/gtk/add_contact.py:260 +#, fuzzy, python-format +msgid "%s Missing" +msgstr "%s MiB" + +#: gajim/gtk/add_contact.py:261 +#, python-format +msgid "You must supply the %s of the new contact." +msgstr "" + +#: gajim/gtk/add_contact.py:288 gajim/gtk/add_contact.py:294 +#: gajim/gtk/add_contact.py:299 +msgid "Invalid User ID" +msgstr "Неисправан кориснички ИД" + +#: gajim/gtk/add_contact.py:295 +msgid "The user ID must not contain a resource." +msgstr "ИД корисника не сме садржавати ресурс." + +#: gajim/gtk/add_contact.py:300 +#, fuzzy +msgid "You cannot add yourself to your contact list." +msgstr "Не можете додати себе у Вашу листу контаката." + +#: gajim/gtk/add_contact.py:305 +#, fuzzy +msgid "Account Offline" +msgstr "Није на вези" + +#: gajim/gtk/add_contact.py:306 +msgid "Your account must be online to add new contacts." +msgstr "" + +#: gajim/gtk/add_contact.py:322 +#, fuzzy +msgid "Contact Already in Contact List" +msgstr "Контакт је већ у листи" + +#: gajim/gtk/add_contact.py:323 +#, fuzzy +msgid "This contact is already in your contact list." +msgstr "Контакт је већ у листи контаката." + +#: gajim/gtk/add_contact.py:381 gajim/gtk/add_contact.py:419 +msgid "User ID:" +msgstr "ИД корисника:" + +#: gajim/gtk/add_contact.py:486 +#, fuzzy +msgid "Error while adding transport contact" +msgstr "Грешка приликом додавања сервиса. %s" + +#: gajim/gtk/add_contact.py:487 +#, python-format +msgid "" +"This error occurred while adding a contact for transport %(transport)s:\n" +"\n" +"%(error)s" +msgstr "" + +#: gajim/gtk/account_wizard.py:61 gajim/data/gui/account_wizard.ui:631 +#, fuzzy +msgid "Sign Up" +msgstr "Пријављивању" + +#: gajim/gtk/account_wizard.py:63 +#, fuzzy +msgid "Connect" +msgstr "На вези" + +#: gajim/gtk/account_wizard.py:64 gajim/gtk/adhoc.py:102 +msgid "Next" +msgstr "" + +#: gajim/gtk/account_wizard.py:65 +msgid "Log In" +msgstr "" + +#: gajim/gtk/account_wizard.py:67 gajim/gtk/remove_account.py:44 +#: gajim/gtk/change_password.py:45 gajim/gtk/accounts.py:384 +#, fuzzy +msgid "Back" +msgstr "Враћам се брзо" + +#: gajim/gtk/account_wizard.py:80 +msgid "An error occurred during account creation" +msgstr "Појавила се грешка при креирању налога" + +#: gajim/gtk/account_wizard.py:166 +#, fuzzy +msgid "Creating Account..." +msgstr "Уклањање рачуна %s" + +#: gajim/gtk/account_wizard.py:167 +#, fuzzy +msgid "Trying to create account..." +msgstr "Кликните за измену лозинке Вашег налога" + +#: gajim/gtk/account_wizard.py:277 gajim/gtk/account_wizard.py:296 +#: gajim/gtk/account_wizard.py:313 +#, fuzzy +msgid "Connecting to server..." +msgstr "Повезивање" + +#: gajim/gtk/account_wizard.py:367 gajim/gtk/account_wizard.py:368 +msgid "Anonymous login not supported" +msgstr "" + +#: gajim/gtk/account_wizard.py:369 +#, fuzzy +msgid "This server does not support anonymous login." +msgstr "Ваш сервер не подржава Vcard" + +#: gajim/gtk/account_wizard.py:372 gajim/common/client.py:284 +#: gajim/common/const.py:958 gajim/common/const.py:959 +#: gajim/common/const.py:960 gajim/common/const.py:963 +#, fuzzy +msgid "Authentication failed" +msgstr "Пријављивање са \"%s\" неуспешно" + +#: gajim/gtk/account_wizard.py:384 gajim/gtk/account_wizard.py:385 +#, fuzzy +msgid "Signup not allowed" +msgstr "Карактер није дозвољен" + +#: gajim/gtk/account_wizard.py:386 +#, fuzzy +msgid "This server does not allow signup." +msgstr "Ваш сервер не подржава Vcard" + +#: gajim/gtk/account_wizard.py:395 gajim/gtk/account_wizard.py:432 +#: gajim/gtk/account_wizard.py:433 gajim/gtk/account_wizard.py:520 +#: gajim/gtk/groupchat_config.py:132 gajim/gtk/groupchat_config.py:399 +#: gajim/gtk/history.py:591 gajim/gtk/search.py:336 +msgid "Error" +msgstr "Грешка" + +#: gajim/gtk/account_wizard.py:402 gajim/gtk/account_wizard.py:403 +#, fuzzy +msgid "Connection failed" +msgstr "Веза прекинута" + +#: gajim/gtk/account_wizard.py:404 +msgid "" +"Gajim was not able to reach the server. Make sure your XMPP address is " +"correct." +msgstr "" + +#: gajim/gtk/account_wizard.py:459 +#, fuzzy +msgid "Account is being created" +msgstr "Рачун \"%s\" је повезан на сервер" + +#: gajim/gtk/account_wizard.py:518 +msgid "The server rejected the registration without an error message" +msgstr "" + +#: gajim/gtk/account_wizard.py:530 gajim/gtk/accounts.py:572 +#, fuzzy +msgid "Add Account" +msgstr "_Додај контакт..." + +#: gajim/gtk/account_wizard.py:612 gajim/gtk/groupchat_creation.py:138 +#, fuzzy +msgid "Invalid Address" +msgstr "Неисправна датотека" + +#: gajim/gtk/account_wizard.py:636 +#, fuzzy +msgid "Create New Account" +msgstr "Направи нову објаву" + +#: gajim/gtk/account_wizard.py:712 +#, fuzzy +msgid "Advanced settings" +msgstr "Регистрација неуспела" + +#: gajim/gtk/account_wizard.py:774 +#, fuzzy +msgid "Invalid domain name" +msgstr "Неисправно име налога" + +#: gajim/gtk/account_wizard.py:791 +#, fuzzy +msgid "Must be a port number" +msgstr "Ваш порт мора бити број порта." + +#: gajim/gtk/account_wizard.py:798 +msgid "Port must be a number between 0 and 65535" +msgstr "" + +#: gajim/gtk/account_wizard.py:814 +#, fuzzy +msgid "Security Warning" +msgstr "Забрањујем %s" + +#: gajim/gtk/account_wizard.py:833 +#, fuzzy, python-format +msgid "Unknown TLS error '%s'" +msgstr "Непозната SSL грешка: %d" + +#: gajim/gtk/account_wizard.py:868 gajim/gtk/account_wizard.py:871 +#, fuzzy +msgid "Create Account" +msgstr "Уклањање рачуна %s" + +#: gajim/gtk/account_wizard.py:922 +msgid "Redirect" +msgstr "" + +#: gajim/gtk/account_wizard.py:932 +#, fuzzy +msgid "Register on the Website" +msgstr "Региструј се на %s" + +#: gajim/gtk/account_wizard.py:943 +#, fuzzy +msgid "Account Added" +msgstr "Налог" + +#: gajim/gtk/account_wizard.py:944 +msgid "Account has been added successfully" +msgstr "Налог је успешно додат" + +#: gajim/gtk/groupchat_invitation.py:57 +#, fuzzy +msgid "" +"has invited you to a group chat.\n" +"Do you want to join?" +msgstr "Одаберите групне разговоре које желите да напустите" + +#: gajim/gtk/groupchat_invitation.py:75 gajim/gtk/discovery.py:1706 +#: gajim/gtk/groupchat_join.py:68 gajim/data/gui/groupchat_control.ui:899 +#: gajim/data/gui/groupchat_control.ui:991 +#: gajim/data/gui/start_chat_dialog.ui:314 +msgid "_Join" +msgstr "_Придружи се" + +#: gajim/gtk/tooltips.py:215 +#, python-format +msgid "%(owner_or_admin_or_member)s of this group chat" +msgstr "%(owner_or_admin_or_member)s овог групног разговора" + +#: gajim/gtk/tooltips.py:474 +msgid "Connected" +msgstr "На вези" + +#: gajim/gtk/tooltips.py:476 +msgid "Disconnected" +msgstr "Ван везе" + +#: gajim/gtk/tooltips.py:530 +#, fuzzy +msgid "File Name: " +msgstr "Име датотеке: %s" + +#: gajim/gtk/tooltips.py:533 +#, fuzzy +msgid "?Noun:Download" +msgstr "Скидање" + +#: gajim/gtk/tooltips.py:534 gajim/gtk/filetransfer.py:747 +msgid "Sender: " +msgstr "Пошаљилац: " + +#: gajim/gtk/tooltips.py:539 +#, fuzzy +msgid "?Noun:Upload" +msgstr "Слање" + +#: gajim/gtk/tooltips.py:540 gajim/gtk/filetransfer.py:240 +#: gajim/gtk/filetransfer.py:749 +msgid "Recipient: " +msgstr "Примаоц: " + +#: gajim/gtk/tooltips.py:546 +#, fuzzy +msgid "?transfer type:Type: " +msgstr "Пренос датотеке заустављен" + +#: gajim/gtk/tooltips.py:552 +#, fuzzy +msgid "?transfer status:Transferred: " +msgstr "?статус преноса:Паузиран" + +#: gajim/gtk/tooltips.py:555 +#, fuzzy +msgid "?transfer status:Status: " +msgstr "?статус преноса:Паузиран" + +#: gajim/gtk/tooltips.py:557 +msgid "Description: " +msgstr "Опис:" + +#: gajim/gtk/tooltips.py:581 +#, fuzzy +msgid "?transfer status:Aborted" +msgstr "?статус преноса:Паузиран" + +#: gajim/gtk/tooltips.py:583 +#, fuzzy +msgid "?transfer status:Completed" +msgstr "?статус преноса:Паузиран" + +#: gajim/gtk/tooltips.py:585 +msgid "?transfer status:Paused" +msgstr "?статус преноса:Паузиран" + +#: gajim/gtk/tooltips.py:588 +#, fuzzy +msgid "?transfer status:Stalled" +msgstr "?статус преноса:Паузиран" + +#: gajim/gtk/tooltips.py:592 +#, fuzzy +msgid "?transfer status:Transferring" +msgstr "?статус преноса:Паузиран" + +#: gajim/gtk/tooltips.py:593 gajim/gtk/tooltips.py:594 +#, fuzzy +msgid "?transfer status:Not started" +msgstr "?статус преноса:Паузиран" + +#: gajim/gtk/remove_account.py:42 gajim/gtk/accounts.py:341 +#, fuzzy +msgid "Remove" +msgstr "_Уклони" + +#: gajim/gtk/remove_account.py:49 +#, fuzzy +msgid "Removing Account..." +msgstr "Уклањање рачуна %s" + +#: gajim/gtk/remove_account.py:50 +msgid "Trying to remove account..." +msgstr "" + +#: gajim/gtk/remove_account.py:53 gajim/gtk/remove_account.py:54 +#, fuzzy +msgid "Account Removed" +msgstr "Налог" + +#: gajim/gtk/remove_account.py:56 +#, fuzzy +msgid "Your account has has been removed successfully." +msgstr "Ваш нови налог је успешно направљен" + +#: gajim/gtk/remove_account.py:59 gajim/gtk/remove_account.py:60 +#, fuzzy +msgid "Account Removal Failed" +msgstr "Нема доступних налога" + +#: gajim/gtk/remove_account.py:171 gajim/gtk/remove_account.py:173 +#, fuzzy +msgid "Remove Account" +msgstr "Уклањање рачуна %s" + +#: gajim/gtk/remove_account.py:180 +#, fuzzy +msgid "This will remove your account from Gajim." +msgstr "Уклони налог само из Гајима" + +#: gajim/gtk/remove_account.py:189 +#, python-format +msgid "Do you want to unregister your account on %s as well?" +msgstr "" + +#: gajim/gtk/remove_account.py:198 +msgid "_Unregister account from service" +msgstr "" + +#: gajim/gtk/remove_account.py:217 +#, fuzzy +msgid "Account has to be connected" +msgstr "Рачун \"%s\" је повезан на сервер" + +#: gajim/gtk/filetransfer.py:91 +msgid "File" +msgstr "Датотека" + +#: gajim/gtk/filetransfer.py:108 +msgid "Time" +msgstr "Време" + +#: gajim/gtk/filetransfer.py:121 gajim/data/gui/filetransfer_progress.ui:110 +msgid "Progress" +msgstr "Напредак" + +#: gajim/gtk/filetransfer.py:228 +#, fuzzy, python-format +msgid "File name: %s" +msgstr "Име датотеке: %s" + +#: gajim/gtk/filetransfer.py:229 gajim/gtk/filetransfer.py:470 +#, python-format +msgid "Size: %s" +msgstr "Величина: %s" + +#: gajim/gtk/filetransfer.py:239 +#, python-format +msgid "Sender: %s" +msgstr "Пошаљилац: %s" + +#: gajim/gtk/filetransfer.py:251 +#, python-format +msgid "Saved in: %s" +msgstr "Сачувано у: %s" + +#: gajim/gtk/filetransfer.py:256 +msgid "File transfer completed" +msgstr "Пренос датотеке завршен" + +#: gajim/gtk/filetransfer.py:276 gajim/gtk/filetransfer.py:285 +#, fuzzy +msgid "Connection with peer could not be established." +msgstr "Није могуће успоставити везу са другом страном." + +#: gajim/gtk/filetransfer.py:293 +#, python-format +msgid "Filename: %s" +msgstr "Име датотеке: %s" + +#: gajim/gtk/filetransfer.py:294 +#, python-format +msgid "Recipient: %s" +msgstr "Примаоц: %s" + +#: gajim/gtk/filetransfer.py:296 +#, python-format +msgid "Error message: %s" +msgstr "Порука грешке: %s" + +#: gajim/gtk/filetransfer.py:335 +#, python-format +msgid "" +"The file %s has been received, but it seems to have been damaged along the " +"way.\n" +"Do you want to download it again?" +msgstr "" + +#: gajim/gtk/filetransfer.py:341 +#, fuzzy +msgid "_Download Again" +msgstr "_Не питај ме више" + +#: gajim/gtk/filetransfer.py:356 +#, fuzzy +msgid "Gajim can not read this file" +msgstr "Гајим не може приступити овој датотеци" + +#: gajim/gtk/filetransfer.py:357 +msgid "Another process is using this file." +msgstr "" + +#: gajim/gtk/filetransfer.py:399 +#, fuzzy, python-format +msgid "Cannot overwrite existing file '%s'" +msgstr "Није могуће преписати постојећу датотеку \"%s\"" + +#: gajim/gtk/filetransfer.py:400 +msgid "" +"A file with this name already exists and you do not have permission to " +"overwrite it." +msgstr "Датотека са овим именом већ постоји и немате привилегијапреписати је." + +#: gajim/gtk/filetransfer.py:424 +#, fuzzy +msgid "File Transfer Conflict" +msgstr "Пренос датотеке завршен" + +#: gajim/gtk/filetransfer.py:425 +#, fuzzy +msgid "File already exists" +msgstr "Ова датотека већ постоји" + +#: gajim/gtk/filetransfer.py:426 +msgid "Resume download or replace file?" +msgstr "" + +#: gajim/gtk/filetransfer.py:430 +#, fuzzy +msgid "Resume _Download" +msgstr "Скидање" + +#: gajim/gtk/filetransfer.py:433 +#, fuzzy +msgid "Replace _File" +msgstr "Чисти" + +#: gajim/gtk/filetransfer.py:443 +#, fuzzy, python-format +msgid "Directory '%s' is not writable" +msgstr "У фасциклу \"%s\" није могуће писање" + +#: gajim/gtk/filetransfer.py:444 +#, fuzzy +msgid "You do not have permissions to create files in this directory." +msgstr "Немате привилегија за писање у овој фасцикли" + +#: gajim/gtk/filetransfer.py:467 +#, python-format +msgid "File: %s" +msgstr "Датотека: %s" + +#: gajim/gtk/filetransfer.py:473 +#, python-format +msgid "Type: %s" +msgstr "Tip: %s" + +#: gajim/gtk/filetransfer.py:475 +#, python-format +msgid "Description: %s" +msgstr "Опис: %s" + +#: gajim/gtk/filetransfer.py:486 +#, fuzzy, python-format +msgid "%s wants to send you a file" +msgstr "%s Вам жели послати датотеку." + +#: gajim/gtk/filetransfer.py:514 +#, fuzzy +msgid "Checking file…" +msgstr "Слање профила..." + +#: gajim/gtk/filetransfer.py:529 +#, fuzzy +msgid "File error" +msgstr "Грешка при преносу датотеке" + +#: gajim/gtk/filetransfer.py:566 +#, python-format +msgid "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" +msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" + +#: gajim/gtk/filetransfer.py:663 +#, python-format +msgid "(%(filesize_unit)s/s)" +msgstr "(%(filesize_unit)s/сек)" + +#: gajim/gtk/filetransfer.py:716 gajim/gtk/filetransfer.py:720 +msgid "Invalid File" +msgstr "Неисправна датотека" + +#: gajim/gtk/filetransfer.py:716 +msgid "File: " +msgstr "Датотека: " + +#: gajim/gtk/filetransfer.py:721 +msgid "It is not possible to send empty files" +msgstr "Није могуће послати празну датотеку" + +#: gajim/gtk/filetransfer.py:1043 +#, fuzzy +msgid "Choose a File to Send…" +msgstr "Одаберите датотеку за слање..." + +#: gajim/gtk/roster_item_exchange.py:35 +#: gajim/data/gui/roster_item_exchange_window.ui:39 +#, fuzzy +msgid "Contact List Exchange" +msgstr "Размена ставки контаката" + +#: gajim/gtk/roster_item_exchange.py:49 +#, fuzzy, python-format +msgid "%s would like to add some contacts to your contact list." +msgstr "Желио бих да Вас додам на листу мојих контаката." + +#: gajim/gtk/roster_item_exchange.py:52 +#, fuzzy, python-format +msgid "%s would like to modify some contacts in your contact list." +msgstr "%s жели да %s неке контакте у листу ваших контаката." + +#: gajim/gtk/roster_item_exchange.py:55 +#, fuzzy, python-format +msgid "%s would like to delete some contacts from your contact list." +msgstr "%s жели да %s неке контакте у листу ваших контаката." + +#: gajim/gtk/roster_item_exchange.py:71 gajim/gtk/roster_item_exchange.py:130 +msgid "Add" +msgstr "Додате" + +#: gajim/gtk/roster_item_exchange.py:73 gajim/gtk/roster_item_exchange.py:161 +msgid "Modify" +msgstr "Измените" + +#: gajim/gtk/roster_item_exchange.py:80 +msgid "JID" +msgstr "ЏИД" + +#: gajim/gtk/roster_item_exchange.py:86 +msgid "Groups" +msgstr "Групе" + +#: gajim/gtk/roster_item_exchange.py:196 +#, fuzzy, python-format +msgid "%s suggested me to add you to my contact list." +msgstr "%s је предложио да вас додам у листу мојих контаката." + +#: gajim/gtk/roster_item_exchange.py:211 +#, fuzzy, python-format +msgid "Added %d contact" +msgid_plural "Added %d contacts" +msgstr[0] "Додај _контакт" +msgstr[1] "Додај _контакт" +msgstr[2] "Додај _контакт" + +#: gajim/gtk/roster_item_exchange.py:253 +#, fuzzy, python-format +msgid "Removed %d contact" +msgid_plural "Removed %d contacts" +msgstr[0] "Уклања контакт са листе" +msgstr[1] "Уклања контакт са листе" +msgstr[2] "Уклања контакт са листе" + +#: gajim/gtk/groupchat_creation.py:45 gajim/data/gui/groupchat_creation.ui:81 +#, fuzzy +msgid "Create Group Chat" +msgstr "Напусти групне разговоре" + +#: gajim/gtk/groupchat_creation.py:101 gajim/gtk/groupchat_creation.py:103 +msgid " (optional)..." +msgstr "" + +#: gajim/gtk/groupchat_creation.py:186 +#, fuzzy +msgid "Not Connected" +msgstr "На вези" + +#: gajim/gtk/groupchat_creation.py:187 +#, fuzzy +msgid "You have to be connected to create a group chat." +msgstr "Ппридружили сте се групном разговору." + +#: gajim/gtk/status_selector.py:121 gajim/gtk/status_selector.py:127 +#, fuzzy, python-format +msgid "Status: %s" +msgstr "Статус: " + +#: gajim/gtk/status_selector.py:125 +#, fuzzy, python-format +msgid "%s (desynced)" +msgstr "десинхронизован" + +#: gajim/gtk/subscription_request.py:35 +msgid "Subscription Request" +msgstr "Захтев за претплатом" + +#: gajim/gtk/subscription_request.py:47 +#, python-format +msgid "Subscription request for account %(account)s from %(jid)s" +msgstr "Захтев претплате на рачун %(account)s од %(jid)s" + +#: gajim/gtk/subscription_request.py:50 +#, python-format +msgid "Subscription request from %s" +msgstr "Захтев претплате од %s" + +#: gajim/gtk/single_message.py:51 +#, fuzzy +msgid "Send Single Message" +msgstr "Пошаљи једну _поруку..." + +#: gajim/gtk/single_message.py:101 +#, fuzzy +msgid "(No subject)" +msgstr "тема" + +#: gajim/gtk/single_message.py:157 +#, python-format +msgid "Single Message using account %s" +msgstr "Самостална порука користећи налог %s" + +#: gajim/gtk/single_message.py:159 +#, python-format +msgid "Single Message in account %s" +msgstr "Самостална порука на налогу %s" + +#: gajim/gtk/single_message.py:161 +msgid "Single Message" +msgstr "Самостална Порука" + +#: gajim/gtk/single_message.py:164 +#, python-format +msgid "Send %s" +msgstr "Послате %s" + +#: gajim/gtk/single_message.py:183 +#, python-format +msgid "Received %s" +msgstr "Примљене %s" + +#: gajim/gtk/single_message.py:205 +#, fuzzy, python-format +msgid "Characters typed: %s" +msgstr "Карактер није дозвољен" + +#: gajim/gtk/single_message.py:210 gajim/gtk/xml_console.py:169 +msgid "Connection not available" +msgstr "Веза није доступна" + +#: gajim/gtk/single_message.py:211 +#, python-format +msgid "Please make sure you are connected with \"%s\"." +msgstr "Молимо потврдите да сте спојени на \"%s\"." + +#: gajim/gtk/single_message.py:239 +#, fuzzy, python-format +msgid "" +"It is not possible to send a message to %s, this XMPP Address is not valid." +msgstr "Није могуће послати поруку за %s, овај џабер ИД није исправан." + +#: gajim/gtk/single_message.py:316 +#, python-format +msgid "RE: %s" +msgstr "RE: %s" + +#: gajim/gtk/single_message.py:317 +#, python-format +msgid "%s wrote:\n" +msgstr "%s пише:\n" + +#: gajim/gtk/change_password.py:42 +#, fuzzy +msgid "Change" +msgstr "Промени _надимак..." + +#: gajim/gtk/change_password.py:51 +#, fuzzy +msgid "Changing Password..." +msgstr "Измени лозинку" + +#: gajim/gtk/change_password.py:52 +#, fuzzy +msgid "Trying to change password..." +msgstr "Кликните за измену лозинке Вашег налога" + +#: gajim/gtk/change_password.py:55 gajim/gtk/change_password.py:56 +#, fuzzy +msgid "Password Changed" +msgstr "Лозинка захтевана" + +#: gajim/gtk/change_password.py:57 +#, fuzzy +msgid "Your password has successfully been changed." +msgstr "_Подешавања" + +#: gajim/gtk/change_password.py:60 gajim/gtk/change_password.py:61 +#, fuzzy +msgid "Password Change Failed" +msgstr "Лозинка захтевана" + +#: gajim/gtk/change_password.py:63 +#, fuzzy +msgid "An error occurred while trying to change your password." +msgstr "Појавила се грешка при креирању налога" + +#: gajim/gtk/change_password.py:145 gajim/gtk/change_password.py:147 +#: gajim/gtk/change_password.py:224 gajim/gtk/accounts.py:994 +msgid "Change Password" +msgstr "Измени лозинку" + +#: gajim/gtk/change_password.py:154 +#, fuzzy +msgid "Please enter your new password." +msgstr "Молимо Вас направите нову чисту тему са жељеним именом." + +#: gajim/gtk/change_password.py:167 +#, fuzzy +msgid "Enter new password..." +msgstr "Унесите нову лозинку:" + +#: gajim/gtk/change_password.py:176 +#, fuzzy +msgid "Confirm new password..." +msgstr "Измени лозинку" + +#: gajim/gtk/change_password.py:191 +msgid "Passwords do not match" +msgstr "Лозинке се не поклапају" + +#: gajim/gtk/bookmarks.py:48 +#, fuzzy, python-format +msgid "Bookmarks for %s" +msgstr "_Маркирај ову со_бу" + +#: gajim/gtk/xml_console.py:95 gajim/gtk/xml_console.py:279 +#, fuzzy +msgid "All Accounts" +msgstr "Налози" + +#: gajim/gtk/xml_console.py:170 +#, fuzzy, python-format +msgid "Please make sure you are connected with '%s'." +msgstr "Молимо потврдите да сте спојени на \"%s\"." + +#: gajim/gtk/xml_console.py:180 +#, fuzzy +msgid "Invalid Node" +msgstr "Неисправна датотека" + +#: gajim/gtk/xml_console.py:282 +msgid "Account" +msgstr "Налог" + +#: gajim/gtk/xml_console.py:309 gajim/data/gui/xml_console.ui:241 +#, fuzzy +msgid "Filter" +msgstr "Филтер:" + +#: gajim/gtk/dataform.py:252 gajim/gtk/dataform.py:290 +#, fuzzy +msgid "Required" +msgstr "Лозинка захтевана" + +#: gajim/gtk/dataform.py:315 +msgid "Yes" +msgstr "Да" + +#: gajim/gtk/dataform.py:315 +#, fuzzy +msgid "No" +msgstr "Ништа" + +#: gajim/gtk/dataform.py:701 gajim/gtk/adhoc.py:86 +#: gajim/data/gui/profile.ui:396 +#, fuzzy +msgid "Cancel" +msgstr "_Одустани" + +#: gajim/gtk/dataform.py:703 +msgid "Submit" +msgstr "" + +#: gajim/gtk/discovery.py:69 +msgid "This service has not yet responded with detailed information" +msgstr "Овај сервис још није пружио детаљне информације" + +#: gajim/gtk/discovery.py:70 +#, fuzzy +msgid "" +"This service could not respond with detailed information.\n" +"It is most likely a legacy service or broken." +msgstr "" +"Овај сервис није могао одговорити са детаљним информацијама.\n" +"Највероватније је застарео или у квару" + +#: gajim/gtk/discovery.py:126 +msgid "Others" +msgstr "Остали" + +#: gajim/gtk/discovery.py:129 gajim/data/gui/shortcuts_window.ui:307 +#, fuzzy +msgid "Group Chat" +msgstr "Групни разговори" + +#: gajim/gtk/discovery.py:523 +msgid "Without a connection, you can not browse available services" +msgstr "Без успостављене везе, не можете разгледати доступне услуге" + +#: gajim/gtk/discovery.py:610 +#, python-format +msgid "Service Discovery using account %s" +msgstr "Откривање услуга са налога %s" + +#: gajim/gtk/discovery.py:612 +msgid "Service Discovery" +msgstr "Откривање Услуга" + +#: gajim/gtk/discovery.py:695 +msgid "The service could not be found" +msgstr "Услуга не може бити нађена" + +#: gajim/gtk/discovery.py:696 +msgid "" +"There is no service at the address you entered, or it is not responding. " +"Check the address and try again." +msgstr "" +"На наведеној адреси нема усуга, или нема одговора. Проверите адресу и " +"покушајте поново." + +#: gajim/gtk/discovery.py:703 gajim/gtk/discovery.py:1046 +msgid "The service is not browsable" +msgstr "Услуге нису претраживе" + +#: gajim/gtk/discovery.py:704 +msgid "This type of service does not contain any items to browse." +msgstr "Овај тип услуге не садржи елементе за претрагу" + +#: gajim/gtk/discovery.py:742 gajim/gtk/discovery.py:751 +msgid "Invalid Server Name" +msgstr "Неисправано име сервера" + +#: gajim/gtk/discovery.py:810 +#, python-format +msgid "Browsing %(address)s using account %(account)s" +msgstr "Претражујем %(address)s користећи налог %(account)s" + +#: gajim/gtk/discovery.py:855 +#, fuzzy +msgid "Browse" +msgstr "_Преглед" + +#: gajim/gtk/discovery.py:1047 +msgid "This service does not contain any items to browse." +msgstr "Ова услуга не садржи елементе за претрагу" + +#: gajim/gtk/discovery.py:1259 +#, fuzzy +msgid "_Command" +msgstr "наредба" + +#: gajim/gtk/discovery.py:1268 gajim/gtk/discovery.py:1425 +msgid "Re_gister" +msgstr "Ре_гистрација" + +#: gajim/gtk/discovery.py:1275 +#, fuzzy +msgid "Join" +msgstr "_Придружи се" + +#: gajim/gtk/discovery.py:1281 +msgid "_Search" +msgstr "_Претрага" + +#: gajim/gtk/discovery.py:1423 gajim/data/gui/profile.ui:353 +msgid "_Edit" +msgstr "_Измени" + +#: gajim/gtk/discovery.py:1461 +#, fuzzy, python-format +msgid "Scanning %(current)d / %(total)d ..." +msgstr "Скенирање %(current)d / %(total)d.." + +#: gajim/gtk/discovery.py:1660 +msgid "Users" +msgstr "Корисници" + +#: gajim/gtk/discovery.py:1668 gajim/data/gui/groupchat_info_scrolled.ui:32 +#: gajim/data/gui/filetransfers_send_file_dialog.ui:15 +#: gajim/data/gui/advanced_configuration.ui:82 +msgid "Description" +msgstr "Опис" + +#: gajim/gtk/discovery.py:1676 +msgid "Id" +msgstr "Идентификација" + +#: gajim/gtk/discovery.py:1905 +msgid "Subscribed" +msgstr "Претплаћен" + +#: gajim/gtk/discovery.py:1914 +msgid "Node" +msgstr "Чвор" + +#: gajim/gtk/discovery.py:1983 +#, fuzzy +msgid "_New post" +msgstr "Нова објава" + +#: gajim/gtk/discovery.py:1992 +msgid "_Subscribe" +msgstr "_Претплати се" + +#: gajim/gtk/discovery.py:2000 +msgid "_Unsubscribe" +msgstr "_Укини претплату" + +#: gajim/gtk/groupchat_settings.py:43 +msgid "Show Join/Leave" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:53 +#, fuzzy +msgid "Notify on all Messages" +msgstr "Већ постављене поруке:" + +#: gajim/gtk/groupchat_settings.py:58 +#, fuzzy +msgid "Minimize on Close" +msgstr "Умањи прозор на затварање" + +#: gajim/gtk/groupchat_settings.py:63 +#, fuzzy +msgid "Minimize When Joining Automatically" +msgstr "Умањи прозор на ауто повезивање" + +#: gajim/gtk/groupchat_settings.py:68 +#, fuzzy +msgid "Send Chat State" +msgstr "Последњи статус: %s" + +#: gajim/gtk/groupchat_settings.py:74 +#, fuzzy +msgid "Send Chat Markers" +msgstr "Последњи статус: %s" + +#: gajim/gtk/groupchat_settings.py:77 +msgid "Let others know if you read up to this point" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:80 +msgid "Sync Threshold" +msgstr "" + +#: gajim/gtk/proxies.py:33 +#, fuzzy +msgid "Manage Proxies" +msgstr "Подешавање прокси профила" + +#: gajim/gtk/manage_sounds.py:40 +#, fuzzy +msgid "Manage Sounds" +msgstr "Подешавање налога" + +#: gajim/gtk/manage_sounds.py:51 +msgid "Wav Sounds" +msgstr "Wav Звукови" + +#: gajim/gtk/manage_sounds.py:85 +#, fuzzy +msgid "Attention Message Received" +msgstr "Примљена Прва Порука" + +#: gajim/gtk/manage_sounds.py:86 +msgid "First Message Received" +msgstr "Примљена Прва Порука" + +#: gajim/gtk/manage_sounds.py:87 +msgid "Next Message Received Focused" +msgstr "Следећа Примљена Порука Фокусирана" + +#: gajim/gtk/manage_sounds.py:88 +msgid "Next Message Received Unfocused" +msgstr "Следећа Примљена Порука Нефокусирана" + +#: gajim/gtk/manage_sounds.py:89 +msgid "Contact Connected" +msgstr "Контакт На Вези" + +#: gajim/gtk/manage_sounds.py:90 +msgid "Contact Disconnected" +msgstr "Контакт Отишао Са Везе" + +#: gajim/gtk/manage_sounds.py:91 +msgid "Message Sent" +msgstr "Порука Послата" + +#: gajim/gtk/manage_sounds.py:92 +msgid "Group Chat Message Highlight" +msgstr "Бојење Порука Са Групног Разговора" + +#: gajim/gtk/manage_sounds.py:93 +msgid "Group Chat Message Received" +msgstr "Примљена Порука Са Групног Разговора" + +#: gajim/gtk/groupchat_info.py:38 +#, fuzzy +msgid "?Group chat feature:Open" +msgstr "?Улога контакта у групном разговору:Никаква" + +#: gajim/gtk/groupchat_info.py:39 +#, fuzzy +msgid "Anyone can join this group chat" +msgstr "%s се придружио групном разговору" + +#: gajim/gtk/groupchat_info.py:42 +#, fuzzy +msgid "?Group chat feature:Members Only" +msgstr "Бојење Порука Са Групног Разговора" + +#: gajim/gtk/groupchat_info.py:43 +msgid "This group chat is restricted to members only" +msgstr "" + +#: gajim/gtk/groupchat_info.py:47 +#, fuzzy +msgid "?Group chat feature:Not Anonymous" +msgstr "Групни разговори" + +#: gajim/gtk/groupchat_info.py:48 +msgid "All other group chat participants can see your XMPP address" +msgstr "" + +#: gajim/gtk/groupchat_info.py:52 +#, fuzzy +msgid "?Group chat feature:Semi-Anonymous" +msgstr "Бојење Порука Са Групног Разговора" + +#: gajim/gtk/groupchat_info.py:53 +msgid "Only moderators can see your XMPP address" +msgstr "" + +#: gajim/gtk/groupchat_info.py:56 +#, fuzzy +msgid "?Group chat feature:Moderated" +msgstr "?Улога контакта у групном разговору:Никаква" + +#: gajim/gtk/groupchat_info.py:57 +msgid "" +"Participants entering this group chat need to request permission to send " +"messages" +msgstr "" + +#: gajim/gtk/groupchat_info.py:61 +#, fuzzy +msgid "?Group chat feature:Not Moderated" +msgstr "Групни разговори" + +#: gajim/gtk/groupchat_info.py:62 +msgid "Participants entering this group chat are allowed to send messages" +msgstr "" + +#: gajim/gtk/groupchat_info.py:66 +#, fuzzy +msgid "?Group chat feature:Public" +msgstr "Бојење Порука Са Групног Разговора" + +#: gajim/gtk/groupchat_info.py:67 +msgid "Group chat can be found via search" +msgstr "" + +#: gajim/gtk/groupchat_info.py:70 +#, fuzzy +msgid "?Group chat feature:Hidden" +msgstr "?Улога контакта у групном разговору:Никаква" + +#: gajim/gtk/groupchat_info.py:71 +#, fuzzy +msgid "This group chat can not be found via search" +msgstr "Услуга не може бити нађена" + +#: gajim/gtk/groupchat_info.py:74 +#, fuzzy +msgid "?Group chat feature:Password Required" +msgstr "Групни разговори" + +#: gajim/gtk/groupchat_info.py:75 +msgid "This group chat does require a password upon entry" +msgstr "" + +#: gajim/gtk/groupchat_info.py:79 +#, fuzzy +msgid "?Group chat feature:No Password Required" +msgstr "Групни разговори" + +#: gajim/gtk/groupchat_info.py:80 +msgid "This group chat does not require a password upon entry" +msgstr "" + +#: gajim/gtk/groupchat_info.py:84 +#, fuzzy +msgid "?Group chat feature:Persistent" +msgstr "Групни разговори" + +#: gajim/gtk/groupchat_info.py:85 +msgid "This group chat persists even if there are no participants" +msgstr "" + +#: gajim/gtk/groupchat_info.py:89 +#, fuzzy +msgid "?Group chat feature:Temporary" +msgstr "?Улога контакта у групном разговору:Никаква" + +#: gajim/gtk/groupchat_info.py:90 +msgid "This group chat will be destroyed once the last participant left" +msgstr "" + +#: gajim/gtk/groupchat_info.py:94 +#, fuzzy +msgid "?Group chat feature:Archiving" +msgstr "Позив на групни разговор" + +#: gajim/gtk/groupchat_info.py:95 +#, fuzzy +msgid "Messages are archived on the server" +msgstr "Сесија НЕЋЕ бити памћена" + +#: gajim/gtk/groupchat_info.py:205 +msgid "Website" +msgstr "" + +#: gajim/gtk/accounts.py:122 +#, fuzzy +msgid "Re-Login" +msgstr "Отићи са везе и повезати се одмах?" + +#: gajim/gtk/accounts.py:123 +#, fuzzy +msgid "Re-Login now?" +msgstr "Отићи са везе и повезати се одмах?" + +#: gajim/gtk/accounts.py:124 +#, fuzzy +msgid "To apply all changes instantly, you have to re-login." +msgstr "" +"Ако желите да се све промене тренутно примене, морате да се поново повежете." + +#: gajim/gtk/accounts.py:128 +msgid "_Re-Login" +msgstr "" + +#: gajim/gtk/accounts.py:311 gajim/data/gui/server_info.ui:386 +msgid "Connection" +msgstr "Веза" + +#: gajim/gtk/accounts.py:496 +#, fuzzy +msgid "Please check if Bonjour is installed." +msgstr "Проверите да ли је Авахи или Bonjour инсталиран." + +#: gajim/gtk/accounts.py:498 +#, fuzzy +msgid "Please check if Avahi is installed." +msgstr "Проверите да ли је Авахи или Bonjour инсталиран." + +#: gajim/gtk/accounts.py:537 +#, fuzzy +msgid "Disable Account" +msgstr "Неисправан налог" + +#: gajim/gtk/accounts.py:538 +#, fuzzy, python-format +msgid "Account %s is still connected" +msgstr "Рачун \"%s\" је повезан на сервер" + +#: gajim/gtk/accounts.py:539 +#, fuzzy +msgid "All chat and group chat windows will be closed." +msgstr "" +"Прозори свих разговора и групних разговора ће бити затворени. Желите ли да " +"наставите?" + +#: gajim/gtk/accounts.py:543 +#, fuzzy +msgid "_Disable Account" +msgstr "Неисправан налог" + +#: gajim/gtk/accounts.py:614 +msgid "Label" +msgstr "" + +#: gajim/gtk/accounts.py:618 gajim/data/gui/groupchat_control.ui:99 +#: gajim/data/gui/chat_control.ui:363 +msgid "Color" +msgstr "Боја" + +#: gajim/gtk/accounts.py:620 +msgid "Recognize your account by color" +msgstr "" + +#: gajim/gtk/accounts.py:622 +msgid "Login" +msgstr "" + +#: gajim/gtk/accounts.py:627 +#, fuzzy +msgid "Import Contacts" +msgstr "Позови контакте" + +#: gajim/gtk/accounts.py:636 gajim/gtk/accounts.py:865 +#, fuzzy +msgid "Connect on startup" +msgstr "По_вежи се приликом покретања Гајима" + +#: gajim/gtk/accounts.py:640 gajim/gtk/accounts.py:870 +#, fuzzy +msgid "Save conversations for all contacts" +msgstr "Сними дневник разговора за све контакте" + +#: gajim/gtk/accounts.py:642 gajim/gtk/accounts.py:872 +msgid "Store conversations on the harddrive" +msgstr "" + +#: gajim/gtk/accounts.py:644 gajim/gtk/accounts.py:874 +#, fuzzy +msgid "Global Status" +msgstr "Статус" + +#: gajim/gtk/accounts.py:646 +#, fuzzy +msgid "Synchronise the status of all accounts" +msgstr "Мења статус једног или више налога" + +#: gajim/gtk/accounts.py:648 +msgid "Remember Last Status" +msgstr "" + +#: gajim/gtk/accounts.py:650 +msgid "Restore status and status message of your last session" +msgstr "" + +#: gajim/gtk/accounts.py:653 +msgid "Use file transfer proxies" +msgstr "Користи прокси за пренос датотека" + +#: gajim/gtk/accounts.py:670 +#, fuzzy +msgid "Forever" +msgstr "Сервер" + +#: gajim/gtk/accounts.py:671 gajim/common/const.py:1110 +msgid "1 Day" +msgstr "" + +#: gajim/gtk/accounts.py:672 gajim/common/const.py:1112 +msgid "1 Week" +msgstr "" + +#: gajim/gtk/accounts.py:673 gajim/common/const.py:1113 +msgid "1 Month" +msgstr "" + +#: gajim/gtk/accounts.py:674 +msgid "3 Months" +msgstr "" + +#: gajim/gtk/accounts.py:675 +msgid "6 Months" +msgstr "" + +#: gajim/gtk/accounts.py:676 +msgid "1 Year" +msgstr "" + +#: gajim/gtk/accounts.py:686 +#, fuzzy +msgid "Idle Time" +msgstr " од %s" + +#: gajim/gtk/accounts.py:688 +msgid "Disclose the time of your last activity" +msgstr "" + +#: gajim/gtk/accounts.py:690 +msgid "Local System Time" +msgstr "" + +#: gajim/gtk/accounts.py:692 +msgid "Disclose the local system time of the device Gajim runs on" +msgstr "" + +#: gajim/gtk/accounts.py:695 +#, fuzzy +msgid "Client / Operating System" +msgstr "Самопотписани сертификат" + +#: gajim/gtk/accounts.py:697 +#, fuzzy +msgid "" +"Disclose information about the client and operating system you currently use" +msgstr "" +"Ако је означена, Гајим ће дозволити другима да погледају који оперативни " +"систем користите" + +#: gajim/gtk/accounts.py:700 +#, fuzzy +msgid "Ignore Unknown Contacts" +msgstr "Позови контакте" + +#: gajim/gtk/accounts.py:702 +#, fuzzy +msgid "Ignore everything from contacts not in your Roster" +msgstr "_Игнориши догађаје од контаката који нису на листи" + +#: gajim/gtk/accounts.py:705 +#, fuzzy +msgid "Send Message Receipts" +msgstr "Примљена Прва Порука" + +#: gajim/gtk/accounts.py:707 +msgid "Tell your contacts if you received a message" +msgstr "" + +#: gajim/gtk/accounts.py:713 +#, fuzzy +msgid "Default for chats" +msgstr "Слободан за разговор" + +#: gajim/gtk/accounts.py:716 gajim/gtk/accounts.py:741 +msgid "Reset all chats to the current default value" +msgstr "" + +#: gajim/gtk/accounts.py:722 +#, fuzzy +msgid "Send Chatstate in Group Chats" +msgstr "Није могуће придружити се групном разговору" + +#: gajim/gtk/accounts.py:725 +#, fuzzy +msgid "Default for group chats" +msgstr "Нови групни разговор" + +#: gajim/gtk/accounts.py:739 +#, fuzzy +msgid "Default for chats and private group chats" +msgstr "%s се придружио групном разговору" + +#: gajim/gtk/accounts.py:747 +#, fuzzy +msgid "Keep Chat History" +msgstr "Недавно:" + +#: gajim/gtk/accounts.py:751 +msgid "How long Gajim should keep your chat history" +msgstr "" + +#: gajim/gtk/accounts.py:787 gajim/data/gui/manage_proxies.ui:337 +#, fuzzy +msgid "Proxy" +msgstr "Прок_си:" + +#: gajim/gtk/accounts.py:794 gajim/gtk/accounts.py:949 +#: gajim/data/gui/server_info.ui:20 +#, fuzzy +msgid "Hostname" +msgstr "Име хоста:" + +#: gajim/gtk/accounts.py:795 +msgid "Manually set the hostname for the server" +msgstr "" + +#: gajim/gtk/accounts.py:798 gajim/data/gui/vcard_information_window.ui:72 +#, fuzzy +msgid "Resource" +msgstr "Ресурс:" + +#: gajim/gtk/accounts.py:801 gajim/gtk/accounts.py:917 +#: gajim/gtk/accounts.py:925 +#, fuzzy +msgid "Priority" +msgstr "Приори_тет" + +#: gajim/gtk/accounts.py:804 +#, fuzzy +msgid "Use Unencrypted Connection" +msgstr "Несигурна веза" + +#: gajim/gtk/accounts.py:806 gajim/common/config.py:273 +#, fuzzy +msgid "Use an unencrypted connection to the server" +msgstr "Нисте повезани на сервер" + +#: gajim/gtk/accounts.py:808 +#, fuzzy +msgid "Confirm Unencrypted Connection" +msgstr "Несигурна веза" + +#: gajim/gtk/accounts.py:811 +#, fuzzy +msgid "Show a confirmation dialog before connecting unencrypted" +msgstr "" +"Треба ли приказивати дијалог за потврду блокирања контакта? Празна ниста " +"значи да никада не приказујемо дијалог." + +#: gajim/gtk/accounts.py:835 gajim/data/gui/zeroconf_information_window.ui:8 +#: gajim/data/gui/vcard_information_window.ui:8 +#: gajim/data/gui/subscription_request_window.ui:164 +msgid "Contact Information" +msgstr "Информације контакта" + +#: gajim/gtk/accounts.py:837 +msgid "Request contact information (Mood, Activity, Tune, Location)" +msgstr "" + +#: gajim/gtk/accounts.py:840 +#, fuzzy +msgid "Accept all Contact Requests" +msgstr "Захтев за преносом датотеке" + +#: gajim/gtk/accounts.py:842 +msgid "Automatically accept all contact requests" +msgstr "" + +#: gajim/gtk/accounts.py:844 +#, fuzzy +msgid "Filetransfer Preference" +msgstr "Грешка при преносу датотеке" + +#: gajim/gtk/accounts.py:846 +#, fuzzy +msgid "Upload Files" +msgstr "Сними датотеку као..." + +#: gajim/gtk/accounts.py:847 +#, fuzzy +msgid "Send Files Directly" +msgstr "Сними датотеку као..." + +#: gajim/gtk/accounts.py:848 +msgid "Preferred file transfer mechanism for file drag&drop on a chat window" +msgstr "" + +#: gajim/gtk/accounts.py:867 +#, fuzzy +msgid "Use environment variable" +msgstr "користи HTTP_PROXY променљив_у окружења" + +#: gajim/gtk/accounts.py:876 +#, fuzzy +msgid "Synchronize the status of all accounts" +msgstr "Мења статус једног или више налога" + +#: gajim/gtk/accounts.py:886 +#, fuzzy +msgid "First Name" +msgstr "Име:" + +#: gajim/gtk/accounts.py:889 +#, fuzzy +msgid "Last Name" +msgstr "Презиме:" + +#: gajim/gtk/accounts.py:895 gajim/gtk/profile.py:32 gajim/gtk/vcard_grid.py:39 +#, fuzzy +msgid "Email" +msgstr "Нови Е-мејл" + +#: gajim/gtk/accounts.py:913 +#, fuzzy +msgid "Adjust to status" +msgstr "По_деси према статусу" + +#: gajim/gtk/accounts.py:945 +#, fuzzy +msgid "Enable" +msgstr "Омогућен" + +#: gajim/gtk/accounts.py:953 +#, fuzzy +msgid "Port" +msgstr "_Порт:" + +#: gajim/gtk/accounts.py:957 gajim/data/gui/server_info.ui:250 +msgid "Type" +msgstr "Тип" + +#: gajim/gtk/accounts.py:963 +#, fuzzy +msgid "Connection Settings" +msgstr "Веза" + +#: gajim/gtk/accounts.py:971 +#, fuzzy +msgid "Client Certificate" +msgstr "Самопотписани сертификат" + +#: gajim/gtk/accounts.py:973 +msgid "PKCS12 Files" +msgstr "" + +#: gajim/gtk/accounts.py:975 +#, fuzzy +msgid "Encrypted Certificate" +msgstr "Самопотписани сертификат" + +#: gajim/gtk/accounts.py:979 +#, fuzzy +msgid "Certificate Settings" +msgstr "Обавештења" + +#: gajim/gtk/accounts.py:987 gajim/data/gui/account_wizard.ui:255 +#: gajim/data/gui/bookmarks.ui:102 +#, fuzzy +msgid "Password" +msgstr "Лозинка:" + +#: gajim/gtk/accounts.py:991 +#, fuzzy +msgid "Save Password" +msgstr "Сачувај лозинку" + +#: gajim/gtk/accounts.py:999 +#, fuzzy +msgid "Login Settings" +msgstr "Регистрација неуспела" + +#: gajim/gtk/groupchat_config.py:39 +#, fuzzy +msgid "Group Chat Configuration" +msgstr "Позив на групни разговор" + +#: gajim/gtk/groupchat_config.py:104 gajim/common/helpers.py:283 +#: gajim/data/gui/groupchat_config.ui:40 +msgid "Member" +msgstr "Члан" + +#: gajim/gtk/groupchat_config.py:133 +#, fuzzy +msgid "A Group Chat needs at least one Owner" +msgstr "?Улога контакта у групном разговору:Никаква" + +#: gajim/gtk/groupchat_config.py:241 +msgid "You are not allowed to modify the affiliation of Admins and Owners" +msgstr "" + +#: gajim/gtk/groupchat_config.py:400 +msgid "An entry with this XMPP Address already exists" +msgstr "" + +#: gajim/gtk/server_info.py:142 gajim/data/gui/vcard_information_window.ui:89 +#: gajim/data/gui/preferences.ui:359 +msgid "Status" +msgstr "Статус" + +#: gajim/gtk/server_info.py:143 +msgid "Support" +msgstr "" + +#: gajim/gtk/server_info.py:144 +msgid "Security" +msgstr "" + +#: gajim/gtk/server_info.py:145 +msgid "Feedback" +msgstr "" + +#: gajim/gtk/server_info.py:146 +msgid "Abuse" +msgstr "" + +#: gajim/gtk/server_info.py:147 +msgid "Sales" +msgstr "" + +#: gajim/gtk/server_info.py:231 +#, python-format +msgid "%(days)s days, %(hours)s hours" +msgstr "" + +#: gajim/gtk/server_info.py:239 gajim/gtk/vcard_grid.py:115 +#: gajim/common/helpers.py:224 +#, fuzzy +msgid "Unknown" +msgstr "?ОС:Непознат" + +#: gajim/gtk/server_info.py:360 +#, fuzzy +msgid "" +"\n" +"Disabled in preferences" +msgstr "_Подешавања" + +#: gajim/gtk/history.py:79 +msgid "Conversation History" +msgstr "Историјат разговора" + +#: gajim/gtk/history.py:411 gajim/gtk/history.py:465 +msgid "Disk Error" +msgstr "Грешка при упису на диск" + +#: gajim/gtk/history.py:576 +#, python-format +msgid "%(nick)s is now %(status)s: %(status_msg)s" +msgstr "%(nick)s је тренутно %(status)s: %(status_msg)s" + +#: gajim/gtk/history.py:581 gajim/common/connection_handlers_events.py:414 +#, python-format +msgid "%(nick)s is now %(status)s" +msgstr "%(nick)s је тренутно %(status)s" + +#: gajim/gtk/history.py:589 +#, python-format +msgid "Error: %s" +msgstr "Грешка: %s" + +#: gajim/gtk/history.py:593 +#, python-format +msgid "Status is now: %(status)s: %(status_msg)s" +msgstr "Статус је тренутно: %(status)s: %(status_msg)s" + +#: gajim/gtk/history.py:597 +#, python-format +msgid "Status is now: %(status)s" +msgstr "Статус је тренутно: %(status)s" + +#: gajim/gtk/about.py:51 +#, fuzzy +msgid "A GTK XMPP client" +msgstr "GTK+ Џабер клијент" + +#: gajim/gtk/about.py:52 +#, fuzzy, python-format +msgid "GTK Version: %s" +msgstr "ГТК+ верзија:" + +#: gajim/gtk/about.py:53 +#, fuzzy, python-format +msgid "GLib Version: %s" +msgstr "ГТК+ верзија:" + +#: gajim/gtk/about.py:54 +#, fuzzy, python-format +msgid "PyGObject Version: %s" +msgstr "PyГТК верзија:" + +#: gajim/gtk/about.py:55 +#, python-format +msgid "python-nbxmpp Version: %s" +msgstr "" + +#: gajim/gtk/about.py:59 +#, fuzzy +msgid "Current Developers" +msgstr "Тренутни програмери:" + +#: gajim/gtk/about.py:60 +#, fuzzy +msgid "Past Developers" +msgstr "Прошли програмери:" + +#: gajim/gtk/about.py:61 +msgid "Artists" +msgstr "" + +#: gajim/gtk/about.py:65 +msgid "Last but not least" +msgstr "" + +#: gajim/gtk/about.py:66 +#, fuzzy +msgid "we would like to thank all the package maintainers." +msgstr "" +"Последње, али не и најмање важно, желели бисмо захвалити свим одржаватељима " +"пакета" + +#: gajim/gtk/about.py:67 +#, fuzzy +msgid "Thanks" +msgstr "Захвалан" + +#: gajim/gtk/about.py:69 +msgid "translator-credits" +msgstr "Б. Кокановић. " + +#: gajim/gtk/search.py:95 gajim/gtk/search.py:191 +msgid "Search" +msgstr "Претрага" + +#: gajim/gtk/search.py:101 +#, fuzzy +msgid "New Search" +msgstr "Претрага" + +#: gajim/gtk/search.py:176 +msgid "Request Search Form" +msgstr "" + +#: gajim/gtk/search.py:236 +#, fuzzy +msgid "Search…" +msgstr "Претрага" + +#: gajim/gtk/search.py:243 +#, fuzzy +msgid "Search Result" +msgstr "Претрага" + +#: gajim/gtk/search.py:250 +#, fuzzy +msgid "No results found" +msgstr "Нема резултата" + +#: gajim/gtk/features.py:40 gajim/data/gui/server_info.ui:447 +msgid "Features" +msgstr "Могућности" + +#: gajim/gtk/features.py:90 +msgid "Audio / Video" +msgstr "" + +#: gajim/gtk/features.py:92 +msgid "Enables Gajim to provide Audio and Video chats" +msgstr "" + +#: gajim/gtk/features.py:93 +msgid "" +"Requires: gir1.2-farstream-0.2, gir1.2-gstreamer-1.0, gstreamer1.0-libav, " +"gstreamer1.0-plugins-ugly" +msgstr "" + +#: gajim/gtk/features.py:95 gajim/gtk/features.py:145 +#, fuzzy +msgid "Feature not available under Windows" +msgstr "Могућност није доступна под Виндоуз системом." + +#: gajim/gtk/features.py:97 +#, fuzzy +msgid "Automatic Status" +msgstr "Аутоматски статус" + +#: gajim/gtk/features.py:99 +#, fuzzy +msgid "" +"Enables Gajim to measure your computer's idle time in order to set your " +"Status automatically" +msgstr "" +"Даје могућност мерења времена када се ништа не дешава, да се одреди ауто " +"статус." + +#: gajim/gtk/features.py:101 +#, fuzzy +msgid "Requires: libxss" +msgstr "Захтева libxss библиотеку." + +#: gajim/gtk/features.py:102 gajim/gtk/features.py:123 +msgid "No additional requirements" +msgstr "" + +#: gajim/gtk/features.py:104 +#, fuzzy +msgid "Bonjour / Zeroconf (Serverless Chat)" +msgstr "Bonjour / Zeroconf" + +#: gajim/gtk/features.py:106 +#, fuzzy +msgid "" +"Enables Gajim to automatically detected clients in a local network for " +"serverless chats" +msgstr "Разговор без сервера са аутодетекцијом клијената у локалној мрежи." + +#: gajim/gtk/features.py:108 +#, fuzzy +msgid "Requires: gir1.2-avahi-0.6" +msgstr "Захтева python-gnome2." + +#: gajim/gtk/features.py:109 +#, fuzzy, python-format +msgid "Requires: pybonjour and bonjour SDK running (%(url)s)" +msgstr "Захтева python-dbus." + +#: gajim/gtk/features.py:112 +#, fuzzy +msgid "Location detection" +msgstr "Веза" + +#: gajim/gtk/features.py:114 +msgid "" +"Enables Gajim to be location-aware, if the user decides to publish the " +"device’s location" +msgstr "" + +#: gajim/gtk/features.py:116 +#, fuzzy +msgid "Requires: geoclue" +msgstr "Захтева libgtkspell." + +#: gajim/gtk/features.py:117 +#, fuzzy +msgid "Feature is not available under Windows" +msgstr "Могућност није доступна под Виндоуз системом." + +#: gajim/gtk/features.py:119 +#, fuzzy +msgid "Notification Sounds" +msgstr "Обавештења" + +#: gajim/gtk/features.py:121 +msgid "Enables Gajim to play sounds for various notifications" +msgstr "" + +#: gajim/gtk/features.py:122 +#, fuzzy +msgid "Requires: gsound" +msgstr "Захтева python-dbus." + +#: gajim/gtk/features.py:125 +#, fuzzy +msgid "Secure Password Storage" +msgstr "Сачувај лозинку" + +#: gajim/gtk/features.py:127 +#, fuzzy +msgid "" +"Enables Gajim to store Passwords securely instead of storing them in " +"plaintext" +msgstr "Лозинке се могу сачувати и поузданије од обичног текста." + +#: gajim/gtk/features.py:129 +#, fuzzy +msgid "Requires: gnome-keyring or kwallet" +msgstr "Захтева gnome-network-manager и python-dbus." + +#: gajim/gtk/features.py:130 +msgid "Windows Credential Vault is used for secure password storage" +msgstr "" + +#: gajim/gtk/features.py:133 +msgid "Spell Checker" +msgstr "Провера правописа" + +#: gajim/gtk/features.py:135 +msgid "Enables Gajim to spell check your messages while composing" +msgstr "" + +#: gajim/gtk/features.py:137 gajim/gtk/features.py:138 +#, fuzzy +msgid "Requires: Gspell" +msgstr "Захтева libgtkspell." + +#: gajim/gtk/features.py:140 +msgid "UPnP-IGD Port Forwarding" +msgstr "" + +#: gajim/gtk/features.py:142 +msgid "" +"Enables Gajim to request your router to forward ports for file transfers" +msgstr "" + +#: gajim/gtk/features.py:144 +#, fuzzy +msgid "Requires: gir1.2-gupnpigd-1.0" +msgstr "Захтева python-gnome2." + +#: gajim/gtk/features.py:200 +#, fuzzy +msgid "Disabled in Preferences" +msgstr "_Подешавања" + +#: gajim/gtk/dialogs.py:55 gajim/gtk/filechoosers.py:179 +#: gajim/data/gui/groupchat_control.ui:674 +#: gajim/data/gui/groupchat_control.ui:766 +#: gajim/data/gui/groupchat_control.ui:882 +#: gajim/data/gui/groupchat_control.ui:974 +#: gajim/data/gui/groupchat_control.ui:1419 +#: gajim/data/gui/groupchat_control.ui:1545 +#: gajim/data/gui/groupchat_control.ui:1671 +#: gajim/data/gui/groupchat_control.ui:1842 +#: gajim/data/gui/groupchat_control.ui:1920 gajim/data/gui/filetransfers.ui:30 +#: gajim/data/gui/add_new_contact_window.ui:451 +#: gajim/data/gui/filetransfer_progress.ui:172 gajim/data/gui/profile.ui:260 +#: gajim/data/gui/passphrase_dialog.ui:29 +msgid "_Cancel" +msgstr "_Одустани" + +#: gajim/gtk/dialogs.py:65 gajim/data/gui/history_manager.ui:20 +#, fuzzy +msgid "_Delete" +msgstr "Обриши" + +#: gajim/gtk/dialogs.py:216 +#, fuzzy +msgid "Certificate" +msgstr "Самопотписани сертификат" + +#: gajim/gtk/dialogs.py:230 +#, fuzzy, python-format +msgid "" +"Certificate for \n" +"%s" +msgstr "за налог %s" + +#: gajim/gtk/dialogs.py:279 +msgid "Issued to\n" +msgstr "" + +#: gajim/gtk/dialogs.py:280 gajim/gtk/dialogs.py:285 +msgid "Common Name (CN): " +msgstr "" + +#: gajim/gtk/dialogs.py:281 gajim/gtk/dialogs.py:286 +msgid "Organization (O): " +msgstr "" + +#: gajim/gtk/dialogs.py:282 gajim/gtk/dialogs.py:287 +msgid "Organizational Unit (OU): " +msgstr "" + +#: gajim/gtk/dialogs.py:283 +#, fuzzy +msgid "Serial Number: " +msgstr "ГГ Број:" + +#: gajim/gtk/dialogs.py:284 +msgid "Issued by\n" +msgstr "" + +#: gajim/gtk/dialogs.py:288 +msgid "Validity\n" +msgstr "" + +#: gajim/gtk/dialogs.py:289 +msgid "Issued on: " +msgstr "" + +#: gajim/gtk/dialogs.py:290 +msgid "Expires on: " +msgstr "" + +#: gajim/gtk/dialogs.py:291 +msgid "SHA-1:" +msgstr "" + +#: gajim/gtk/dialogs.py:293 +msgid "SHA-256:" +msgstr "" + +#: gajim/gtk/util.py:591 +msgid "Unknown Artist" +msgstr "Непознат извођач" + +#: gajim/gtk/util.py:592 +msgid "Unknown Title" +msgstr "Непознат наслов" + +#: gajim/gtk/util.py:593 +msgid "Unknown Source" +msgstr "Непознат извор" + +#: gajim/gtk/util.py:595 +#, python-format +msgid "" +"\"%(title)s\" by %(artist)s\n" +"from %(source)s" +msgstr "" +"\"%(title)s\" од %(artist)s\n" +"из %(source)s" + +#: gajim/gtk/profile.py:28 gajim/gtk/vcard_grid.py:33 +#: gajim/data/gui/vcard_information_window.ui:411 +#, fuzzy +msgid "Full Name" +msgstr "Пуно име" + +#: gajim/gtk/profile.py:29 gajim/gtk/vcard_grid.py:35 +#: gajim/data/gui/vcard_information_window.ui:770 +#, fuzzy +msgid "Birthday" +msgstr "Рођендан:" + +#: gajim/gtk/profile.py:30 gajim/gtk/vcard_grid.py:36 +#, fuzzy +msgid "Gender" +msgstr "Пошаљилац: " + +#: gajim/gtk/profile.py:31 gajim/data/gui/groupchat_info_scrolled.ui:16 +#, fuzzy +msgid "Address" +msgstr "_Адреса:" + +#: gajim/gtk/profile.py:34 gajim/gtk/vcard_grid.py:38 +#: gajim/data/gui/vcard_information_window.ui:720 +#: gajim/data/gui/vcard_information_window.ui:1396 +#, fuzzy +msgid "Phone No." +msgstr "Телефон" + +#: gajim/gtk/profile.py:35 +msgid "?profile:Organisation" +msgstr "" + +#: gajim/gtk/profile.py:36 gajim/gtk/vcard_grid.py:41 +msgid "?profile:Title" +msgstr "" + +#: gajim/gtk/profile.py:37 gajim/gtk/vcard_grid.py:42 +#, fuzzy +msgid "?profile:Role" +msgstr "датотека" + +#: gajim/gtk/profile.py:38 gajim/gtk/vcard_grid.py:45 +msgid "URL" +msgstr "" + +#: gajim/gtk/profile.py:39 gajim/gtk/vcard_grid.py:46 +#, fuzzy +msgid "?profile:Key" +msgstr "датотека" + +#: gajim/gtk/profile.py:299 gajim/gtk/profile.py:301 +#: gajim/data/gui/profile.ui:98 gajim/data/gui/profile.ui:110 +msgid "Everyone" +msgstr "" + +#: gajim/gtk/profile.py:299 gajim/gtk/profile.py:301 +#: gajim/data/gui/shortcuts_window.ui:108 gajim/data/gui/groupchat_invite.ui:83 +#, fuzzy +msgid "Contacts" +msgstr "Контакт" + +#: gajim/gtk/filechoosers.py:88 +#, fuzzy +msgid "Choose File to Send…" +msgstr "Одаберите датотеку за слање..." + +#: gajim/gtk/filechoosers.py:94 +#, fuzzy +msgid "Choose Avatar…" +msgstr "Одаберите слику" + +#: gajim/gtk/filechoosers.py:98 +#, fuzzy +msgid "PNG files" +msgstr "Све датотеке" + +#: gajim/gtk/filechoosers.py:99 +#, fuzzy +msgid "JPEG files" +msgstr "Све датотеке" + +#: gajim/gtk/filechoosers.py:100 +#, fuzzy +msgid "SVG files" +msgstr "Пошаљи _датотеку" + +#: gajim/gtk/filechoosers.py:102 +msgid "Images" +msgstr "Слике" + +#: gajim/gtk/filechoosers.py:139 +#, fuzzy +msgid "Choose Archive" +msgstr "Одаберите слику" + +#: gajim/gtk/filechoosers.py:141 +#, fuzzy +msgid "ZIP files" +msgstr "Све датотеке" + +#: gajim/gtk/filechoosers.py:146 +#, fuzzy +msgid "Save File as…" +msgstr "Сними датотеку као..." + +#: gajim/gtk/filechoosers.py:180 +#, fuzzy +msgid "_Open" +msgstr "OpenPGP: " + +#: gajim/gtk/blocking.py:38 +#, fuzzy, python-format +msgid "Blocking List for %s" +msgstr "Листа приватности за %s" + +#: gajim/gtk/blocking.py:64 +#, fuzzy +msgid "Error!" +msgstr "Грешка" + +#: gajim/gtk/service_registration.py:143 gajim/gtk/service_registration.py:157 +#: gajim/gtk/service_registration.py:164 +#, fuzzy +msgid "Register" +msgstr "_Регистрација" + +#: gajim/gtk/service_registration.py:193 gajim/gtk/service_registration.py:205 +#, fuzzy +msgid "Registration successful" +msgstr "Регистрација успешна" + +#: gajim/gtk/service_registration.py:216 +msgid "Registration failed" +msgstr "Регистрација неуспела" + +#: gajim/gtk/vcard_grid.py:37 +#, fuzzy +msgid "?profile:Address" +msgstr "_Адреса:" + +#: gajim/gtk/vcard_grid.py:40 +#, fuzzy +msgid "IM Address" +msgstr "_Адреса:" + +#: gajim/gtk/vcard_grid.py:43 +#, fuzzy +msgid "Organisation" +msgstr "На одмору" + +#: gajim/gtk/vcard_grid.py:44 +#, fuzzy +msgid "?profile:Note" +msgstr "датотека" + +#: gajim/gtk/vcard_grid.py:51 +msgid "Your public key or authentication certificate" +msgstr "" + +#: gajim/gtk/vcard_grid.py:59 +msgid "Post Office Box" +msgstr "" + +#: gajim/gtk/vcard_grid.py:60 gajim/data/gui/vcard_information_window.ui:489 +#: gajim/data/gui/vcard_information_window.ui:1179 +#, fuzzy +msgid "Street" +msgstr "Под стресом" + +#: gajim/gtk/vcard_grid.py:61 +#, fuzzy +msgid "Extended Address" +msgstr "Додатна адреса:" + +#: gajim/gtk/vcard_grid.py:62 gajim/data/gui/vcard_information_window.ui:505 +#: gajim/data/gui/vcard_information_window.ui:1195 +msgid "City" +msgstr "" + +#: gajim/gtk/vcard_grid.py:63 gajim/data/gui/vcard_information_window.ui:521 +#: gajim/data/gui/vcard_information_window.ui:1211 +#, fuzzy +msgid "State" +msgstr "Статус" + +#: gajim/gtk/vcard_grid.py:64 gajim/data/gui/vcard_information_window.ui:595 +#: gajim/data/gui/vcard_information_window.ui:1244 +#, fuzzy +msgid "Postal Code" +msgstr "Поштански број:" + +#: gajim/gtk/vcard_grid.py:65 gajim/data/gui/vcard_information_window.ui:611 +#: gajim/data/gui/vcard_information_window.ui:1260 +#, fuzzy +msgid "Country" +msgstr "Налог" + +#: gajim/gtk/vcard_grid.py:111 +msgid "Male" +msgstr "" + +#: gajim/gtk/vcard_grid.py:112 +msgid "Female" +msgstr "" + +#: gajim/gtk/vcard_grid.py:113 +msgid "?Gender:Other" +msgstr "" + +#: gajim/gtk/vcard_grid.py:114 +#, fuzzy +msgid "?Gender:None" +msgstr "Пошаљилац: " + +#: gajim/gtk/vcard_grid.py:121 gajim/gtk/vcard_grid.py:428 +#, fuzzy +msgid "Home" +msgstr "Лична страна:" + +#: gajim/gtk/vcard_grid.py:122 gajim/gtk/vcard_grid.py:429 +#: gajim/data/gui/vcard_information_window.ui:1452 +msgid "Work" +msgstr "Посао" + +#: gajim/gtk/vcard_grid.py:598 +#, fuzzy +msgid "YYYY-MM-DD" +msgstr "Формат: ГГГГ-ММ-ДД" + +#: gajim/gtk/adhoc.py:91 +#, fuzzy +msgid "Finish" +msgstr "_Заврши" + +#: gajim/gtk/adhoc.py:96 gajim/gtk/adhoc.py:283 +#, fuzzy +msgid "Commands" +msgstr "наредба" + +#: gajim/gtk/adhoc.py:107 +#, fuzzy +msgid "Previous" +msgstr "Завидљив" + +#: gajim/gtk/adhoc.py:112 +#, fuzzy +msgid "Execute" +msgstr "_Изврши наредбу" + +#: gajim/gtk/adhoc.py:196 +#, fuzzy +msgid "No commands available" +msgstr "Нема доступних налога" + +#: gajim/gtk/adhoc.py:244 +#, fuzzy +msgid "Request Command List" +msgstr "_Изврши наредбу" + +#: gajim/gtk/adhoc.py:259 +#, fuzzy +msgid "Executing…" +msgstr "_Изврши наредбу" + +#: gajim/gtk/adhoc.py:266 +#, fuzzy +msgid "Command List" +msgstr "Листа забрана" + +#: gajim/gtk/adhoc.py:321 gajim/data/gui/manage_proxies.ui:255 +#, fuzzy +msgid "Settings" +msgstr "Регистрација неуспела" + +#: gajim/gtk/adhoc.py:386 +#, fuzzy +msgid "Finished" +msgstr "_Заврши" + +#: gajim/gtk/adhoc.py:455 +#, fuzzy +msgid "Execution failed" +msgstr "Веза прекинута" + +#: gajim/common/jingle_rtp.py:133 +#, fuzzy, python-format +msgid "%s configuration error" +msgstr "Конфигурација собе" + +#: gajim/common/jingle_rtp.py:134 +#, python-format +msgid "" +"Couldn’t set up %(text)s. Check your configuration.\n" +"Pipeline:\n" +"%(pipeline)s\n" +"Error:\n" +"%(error)s" +msgstr "" + +#: gajim/common/jingle_rtp.py:416 +msgid "audio input" +msgstr "" + +#: gajim/common/jingle_rtp.py:421 +msgid "audio output" +msgstr "" + +#: gajim/common/jingle_rtp.py:489 +msgid "video input" +msgstr "" + +#: gajim/common/setting_values.py:300 gajim/common/config.py:356 +#: gajim/common/const.py:387 +msgid "Sleeping" +msgstr "Спавам" + +#: gajim/common/setting_values.py:301 +msgid "ZZZZzzzzzZZZZZ" +msgstr "" + +#: gajim/common/setting_values.py:306 gajim/common/config.py:357 +msgid "Back soon" +msgstr "Враћам се брзо" + +#: gajim/common/setting_values.py:307 gajim/common/config.py:357 +msgid "Back in some minutes." +msgstr "Враћам се за пар минута." + +#: gajim/common/setting_values.py:309 gajim/common/config.py:358 +#: gajim/common/const.py:353 +msgid "Eating" +msgstr "Једем" + +#: gajim/common/setting_values.py:310 +#, fuzzy +msgid "I’m eating." +msgstr "Радим." + +#: gajim/common/setting_values.py:314 gajim/common/config.py:359 +msgid "Movie" +msgstr "Филм" + +#: gajim/common/setting_values.py:315 +#, fuzzy +msgid "I’m watching a movie." +msgstr "Гледам филм." + +#: gajim/common/setting_values.py:319 gajim/common/config.py:360 +#: gajim/common/const.py:420 +msgid "Working" +msgstr "Радим." + +#: gajim/common/setting_values.py:320 +#, fuzzy +msgid "I’m working." +msgstr "Радим." + +#: gajim/common/setting_values.py:324 gajim/common/config.py:362 +msgid "Out" +msgstr "Напољу" + +#: gajim/common/setting_values.py:325 +#, fuzzy +msgid "I’m out enjoying life." +msgstr "Напољу сам, уживам у животу." + +#: gajim/common/setting_values.py:393 gajim/common/config.py:84 +msgid "" +"Allow to hide the contact list window even if the notification area icon is " +"not shown." +msgstr "" + +#: gajim/common/setting_values.py:394 gajim/common/config.py:95 +msgid "" +"'always' - print time for every message.\n" +"'sometimes' - print time every print_ichat_every_foo_minutes minute.\n" +"'never' - never print time." +msgstr "" +"'увек' - исписуј време за сваку поруку.\n" +"'понекад' - исписуј време сваких print_ichat_every_foo_minutes минута.\n" +"'никад' - никад не исписуј време." + +#: gajim/common/setting_values.py:395 gajim/common/config.py:99 +msgid "Treat * / _ pairs as possible formatting characters." +msgstr "Сматрај * / _ парове као знакове за форматирање." + +#: gajim/common/setting_values.py:396 gajim/common/config.py:100 +#, fuzzy +msgid "" +"If enabled, do not remove */_ . So *abc* will be bold but with * * not " +"removed." +msgstr "" +"Ако је истинито, не уклањај */_ . Тако ће *абв* бити подебљано, али " +"иокружено са * *." + +#: gajim/common/setting_values.py:397 gajim/common/config.py:103 +#, fuzzy +msgid "" +"Character to add after nickname when using nickname completion (tab) in " +"group chat." +msgstr "" +"Карактер за додавање после надимка када се користи довршавање надимка " +"(тастером tab) у групном разговору" + +#: gajim/common/setting_values.py:398 gajim/common/config.py:125 +msgid "" +"If enabled, Gajim will save the contact list window position when hiding it, " +"and restore it when showing the contact list window again." +msgstr "" + +#: gajim/common/setting_values.py:399 gajim/common/config.py:131 +msgid "Place the contact list on the right in single window mode" +msgstr "" + +#: gajim/common/setting_values.py:400 gajim/common/config.py:137 +#, fuzzy +msgid "" +"This option lets you customize the timestamp that is printed in " +"conversation. For example '[%H:%M] ' will show '[hour:minute] '. See python " +"doc on strftime for full documentation (https://docs.python.org/3/library/" +"time.html#time.strftime)." +msgstr "" +"Ова опција Вам омогућава подешавање времена које се приказује у разговору. " +"На пример \"[%H:%M] \" ће приказати \"[сат:минут] \". Погледајте python " +"документацију за strftime, за пуну документацију: http://docs.python.org/lib/" +"module-time.html" + +#: gajim/common/setting_values.py:401 gajim/common/config.py:138 +#, fuzzy +msgid "Characters that are printed before the nickname in conversations." +msgstr "Карактери који ће бити приказани пре надимка у разговору" + +#: gajim/common/setting_values.py:402 gajim/common/config.py:139 +#, fuzzy +msgid "Characters that are printed after the nickname in conversations." +msgstr "Карактери који ће бити приказани после надимка у разговору" + +#: gajim/common/setting_values.py:403 gajim/common/config.py:140 +#, fuzzy +msgid "If enabled, Gajim will add * and [n] in contact list window title." +msgstr "" +"Ако је означена, Гајим ће приказивати расположење контаката у листи контаката" + +#: gajim/common/setting_values.py:404 gajim/common/config.py:141 +#, fuzzy +msgid "" +"Number of messages from chat history to be restored when a chat tab/window " +"is reopened." +msgstr "" +"Колико линија претходног разговора памтити када се прозор/језичак за " +"разговор поново отвори." + +#: gajim/common/setting_values.py:405 gajim/common/config.py:142 +msgid "" +"How far back in time (minutes) chat history is restored. -1 means no limit." +msgstr "" + +#: gajim/common/setting_values.py:406 gajim/common/config.py:143 +#, fuzzy +msgid "Send message on Ctrl+Enter and make a new line with Enter." +msgstr "" +"Пошаљи поруку са Ctrl+Enter, а са Enter прави нову линију. (Подразумевано " +"понашање Миралабисовог ICQ клијента)" + +#: gajim/common/setting_values.py:407 gajim/common/config.py:145 +#, fuzzy +msgid "How many lines to store for Ctrl+KeyUP (previously sent messages)." +msgstr "Колико линија сачувати са Ctrl+KeyUP" + +#: gajim/common/setting_values.py:409 gajim/common/config.py:148 +#, fuzzy, python-format +msgid "" +"Either a custom URL with %%s in it (where %%s is the word/phrase) or " +"'WIKTIONARY' (which means use Wikitionary)." +msgstr "" +"Или Ваш специфицирани УРЛ са %s у њему где је %s реч или фраза или 'ВИКИ-" +"РЕЧНИК' што значи коришћење вики-речника." + +#: gajim/common/setting_values.py:412 gajim/common/config.py:151 +msgid "If checked, Gajim can be controlled remotely using gajim-remote." +msgstr "Ако је означено, Гајим се може контролисати коришћењем gajim-remote." + +#: gajim/common/setting_values.py:413 +#, fuzzy +msgid "" +"When not printing time for every message ('print_time'==sometimes, print it " +"every x minutes." +msgstr "" +"Ако се не исписује време за сваку поруку (print_time==понекад), исписати га " +"сваких x минута" + +#: gajim/common/setting_values.py:414 gajim/common/config.py:153 +msgid "Ask before pasting an image." +msgstr "" + +#: gajim/common/setting_values.py:415 gajim/common/config.py:154 +msgid "Ask before closing a group chat tab/window." +msgstr "Питај пре затварања прозора/језичка групног разговора." + +#: gajim/common/setting_values.py:416 gajim/common/config.py:155 +#, fuzzy +msgid "" +"Ask before closing tabbed chat window if there are chats that can lose data " +"(chat, private chat, group chat that will not be minimized)." +msgstr "" +"Питај пре затварања језичка ћаскања ако постоји контрола која може изгубити " +"податке (ћаскање, приватно ћаскање, групни разговор који неће бити " +"минимизован)" + +#: gajim/common/setting_values.py:418 gajim/common/config.py:158 +#, fuzzy +msgid "" +"List of send hosts (comma separated) in addition to local interfaces for " +"file transfers (in case of address translation/port forwarding)." +msgstr "" +"Листа хостова одвојена зарезима, коју шаљемо, уз локалне интерефејсе, за " +"трансфер датотека, у случају прослеђивања порта/НАТовања." + +#: gajim/common/setting_values.py:419 gajim/common/config.py:159 +msgid "IEC standard says KiB = 1024 bytes, KB = 1000 bytes." +msgstr "IEC стандард дефинише КiБ = 1024 бајтова, КБ = 1000 бајтова" + +#: gajim/common/setting_values.py:421 gajim/common/config.py:161 +#, fuzzy +msgid "Notify of events in the notification area." +msgstr "Обавести ме о свим догађајима у икони системске касете." + +#: gajim/common/setting_values.py:422 gajim/common/config.py:166 +msgid "Show tab when only one conversation?" +msgstr "Прикажи језичак иако је само један разговор?" + +#: gajim/common/setting_values.py:423 gajim/common/config.py:167 +msgid "Show tabbed notebook border in chat windows?" +msgstr "Прикаши границу свеске у прозорима разговора?" + +#: gajim/common/setting_values.py:424 gajim/common/config.py:168 +msgid "Show close button in tab?" +msgstr "Прикаши дугме за затварање у језичку?" + +#: gajim/common/setting_values.py:425 gajim/common/config.py:169 +msgid "Preview new messages in notification popup?" +msgstr "Прегледај нове поруке у искачућим обавештењима?" + +#: gajim/common/setting_values.py:426 gajim/common/config.py:172 +#, fuzzy +msgid "" +"A list of words (semicolon separated) that will be highlighted in group " +"chats." +msgstr "" +"Листа речи одвојена бланко карактерима које ће бити обојене у групним " +"разговорима" + +#: gajim/common/setting_values.py:427 gajim/common/config.py:174 +msgid "" +"If enabled, Gajim hides the contact list window when pressing the X button " +"instead of minimizing into the notification area." +msgstr "" + +#: gajim/common/setting_values.py:432 gajim/common/config.py:181 +#, fuzzy +msgid "" +"Define the position of avatars in the contact list. Can be 'left' or 'right'." +msgstr "" +"Дефинишите позицију аватара у листи контаката. Може бити лево или десно" + +#: gajim/common/setting_values.py:433 gajim/common/config.py:186 +#, fuzzy +msgid "Don't show contact list window in the system taskbar." +msgstr "Не приказуј листу контаката у системској касети." + +#: gajim/common/setting_values.py:434 gajim/common/config.py:187 +#, fuzzy +msgid "" +"If enabled, Gajim makes the window flash (the default behaviour in most " +"Window Managers) when holding pending events." +msgstr "" +"Ако је истинито, и инсталиране верзије ГТК+ и PyГТК су барем 2.8, нека " +"прозор бљеска (подразумевано понашање у већини менаџера прозора) при новим " +"догађајима." + +#: gajim/common/setting_values.py:436 gajim/common/config.py:193 +#, fuzzy +msgid "If enabled, pressing Esc closes a tab/window." +msgstr "Ако је истинито, притисак на тастер 'esc' затвара језичак/прозор." + +#: gajim/common/setting_values.py:437 gajim/common/config.py:194 +#, fuzzy +msgid "Hides the banner in a group chat window." +msgstr "Сакрива банер у прозору групног разговора." + +#: gajim/common/setting_values.py:438 gajim/common/config.py:195 +#, fuzzy +msgid "Hides the banner in a 1:1 chat window." +msgstr "Сакрива банер у прозору групног разговора." + +#: gajim/common/setting_values.py:439 gajim/common/config.py:196 +#, fuzzy +msgid "Hides the group chat participants list in a group chat window." +msgstr "Сакрива листу учесника у прозору групног разговора" + +#: gajim/common/setting_values.py:440 gajim/common/config.py:197 +#, fuzzy +msgid "" +"In a chat, show the nickname at the beginning of a line only when it's not " +"the same person talking as in the previous message." +msgstr "" +"У разговору, прикажи надимак на почетку новог реда само када се не ради о " +"истој особи која је причала и у прошлој поруци." + +#: gajim/common/setting_values.py:441 gajim/common/config.py:198 +msgid "Indentation when using merge consecutive nickname." +msgstr "Увлачење при коришћењу спајања узастопних надимака." + +#: gajim/common/setting_values.py:442 gajim/common/config.py:199 +#, fuzzy +msgid "" +"Ctrl+Tab switches to the next composing tab when there are no tabs with " +"messages pending." +msgstr "Ctrl-Tab иде на следећи језичак када нема непрочитаних језичака" + +#: gajim/common/setting_values.py:443 gajim/common/config.py:200 +#, fuzzy +msgid "" +"Show a confirmation dialog to create metacontacts? Empty string means never " +"show the dialog." +msgstr "" +"Треба ли приказивати дијалог за потврду блокирања контакта? Празна ниста " +"значи да никада не приказујемо дијалог." + +#: gajim/common/setting_values.py:444 gajim/common/config.py:201 +#, fuzzy +msgid "" +"Show a confirmation dialog to block a contact? Empty string means never show " +"the dialog." +msgstr "" +"Треба ли приказивати дијалог за потврду блокирања контакта? Празна ниста " +"значи да никада не приказујемо дијалог." + +#: gajim/common/setting_values.py:445 gajim/common/config.py:202 +#, fuzzy +msgid "" +"If enabled, you will be able to set a negative priority to your account in " +"the Accounts window. BE CAREFUL, when you are logged in with a negative " +"priority, you will NOT receive any message from your server." +msgstr "" +"Ако је истинито, бићете у могућности поставити негативан приоритетна Ваш " +"налог у прозору за измену подешавања налога. БУДИТЕ ОПРЕЗНИ, када сте " +"повезани са негативним приоритетом НЕЋЕТЕ примати никакве поруке од сервера." + +#: gajim/common/setting_values.py:446 gajim/common/config.py:203 +#, fuzzy +msgid "" +"If enabled, Gajim will show both the number of online and total contacts in " +"account rows as well as in group rows." +msgstr "" +"Ако је истинито, Гајим ће приказивати укупан број корисника и број коринсика " +"на вези у групним редовима." + +#: gajim/common/setting_values.py:447 gajim/common/config.py:204 +#, fuzzy +msgid "" +"If enabled, Gajim will scroll and select the contact who sent you the last " +"message, if the chat window is not already opened." +msgstr "" +"Ако је истинито, Гајим ће скроловати и означити контакт који Вам је последњи " +"послао поруку, ако прозор разговора није отворен." + +#: gajim/common/setting_values.py:448 gajim/common/config.py:205 +msgid "Time of inactivity needed before the change status window closes down." +msgstr "Време неактивности после кога се прозор за измену статуса затвара." + +#: gajim/common/setting_values.py:449 gajim/common/config.py:206 +msgid "" +"Maximum number of lines that are printed in conversations. Oldest lines are " +"cleared." +msgstr "" +"Максимум порука које се приказују у разоговору. Најстарије линије се " +"склањају." + +#: gajim/common/setting_values.py:450 gajim/common/config.py:208 +#, fuzzy +msgid "" +"If enabled, completion in group chats will be like a shell auto-completion." +msgstr "" +"Ако је True, допуњавање у групним разговорима ће бити као допуњавање у " +"конзоли" + +#: gajim/common/setting_values.py:451 gajim/common/config.py:217 +msgid "" +"If enabled, Gajim will try to use a STUN server when using Jingle. The one " +"in 'stun_server' option, or the one given by the XMPP server." +msgstr "" + +#: gajim/common/setting_values.py:452 gajim/common/config.py:218 +msgid "STUN server to use when using Jingle" +msgstr "" + +#: gajim/common/setting_values.py:453 gajim/common/config.py:220 +msgid "If enabled, Gajim will ignore incoming attention requests ('wizz')." +msgstr "" + +#: gajim/common/setting_values.py:454 gajim/common/config.py:221 +msgid "" +"If enabled, Gajim will reopen chat windows that were opened last time Gajim " +"was closed." +msgstr "" + +#: gajim/common/setting_values.py:455 gajim/common/config.py:224 +msgid "If enabled, Gajim will execute XEP-0146 Commands." +msgstr "" + +#: gajim/common/setting_values.py:458 gajim/common/config.py:236 +msgid "API Preferences. Possible values: 'http', 'iq'" +msgstr "" + +#: gajim/common/setting_values.py:459 gajim/common/config.py:237 +msgid "If enabled, Gajim will execute commands (/show, /sh, /execute, /exec)." +msgstr "" + +#: gajim/common/setting_values.py:460 gajim/common/config.py:238 +msgid "Width of group chat roster in pixel" +msgstr "" + +#: gajim/common/setting_values.py:461 gajim/common/config.py:239 +#, fuzzy +msgid "Force Bookmark 2 usage" +msgstr "Маркирај ову собу" + +#: gajim/common/multimedia_helpers.py:51 +#, fuzzy +msgid "Default device" +msgstr "Подразумевана порука" + +#: gajim/common/multimedia_helpers.py:72 +msgid "Audio test" +msgstr "" + +#: gajim/common/multimedia_helpers.py:75 gajim/common/multimedia_helpers.py:91 +#: gajim/common/multimedia_helpers.py:105 +msgid "Autodetect" +msgstr "" + +#: gajim/common/multimedia_helpers.py:78 gajim/common/multimedia_helpers.py:93 +#, fuzzy, python-format +msgid "ALSA: %s" +msgstr "Величина: %s" + +#: gajim/common/multimedia_helpers.py:81 gajim/common/multimedia_helpers.py:95 +#, fuzzy, python-format +msgid "Pulse: %s" +msgstr "Датотека: %s" + +#: gajim/common/multimedia_helpers.py:89 +msgid "Fake audio output" +msgstr "" + +#: gajim/common/multimedia_helpers.py:102 +msgid "Video test" +msgstr "" + +#: gajim/common/multimedia_helpers.py:107 +msgid "Pipewire" +msgstr "" + +#: gajim/common/multimedia_helpers.py:109 +#, python-format +msgid "V4L2: %s" +msgstr "" + +#: gajim/common/multimedia_helpers.py:111 +msgid "X11" +msgstr "" + +#: gajim/common/multimedia_helpers.py:113 +msgid "Windows" +msgstr "" + +#: gajim/common/multimedia_helpers.py:115 +msgid "macOS" +msgstr "" + +#: gajim/common/helpers.py:176 +msgid "_Busy" +msgstr "_Заузет" + +#: gajim/common/helpers.py:178 +msgid "Busy" +msgstr "Заузет" + +#: gajim/common/helpers.py:181 +msgid "_Not Available" +msgstr "_Недоступан" + +#: gajim/common/helpers.py:183 +msgid "Not Available" +msgstr "Недоступан" + +#: gajim/common/helpers.py:186 +msgid "_Free for Chat" +msgstr "_Слободан за разговор" + +#: gajim/common/helpers.py:188 +msgid "Free for Chat" +msgstr "Слободан за разговор" + +#: gajim/common/helpers.py:191 +#, fuzzy +msgid "?user status:_Available" +msgstr "?статус преноса:Паузиран" + +#: gajim/common/helpers.py:193 +#, fuzzy +msgid "?user status:Available" +msgstr "?статус преноса:Паузиран" + +#: gajim/common/helpers.py:195 +msgid "Connecting" +msgstr "Повезивање" + +#: gajim/common/helpers.py:198 +msgid "A_way" +msgstr "О_дсутан" + +#: gajim/common/helpers.py:203 +msgid "_Offline" +msgstr "_Није на вези" + +#: gajim/common/helpers.py:205 +msgid "Offline" +msgstr "Није на вези" + +#: gajim/common/helpers.py:209 +msgid "?contact has status:Unknown" +msgstr "?контакт има статус:Непознат" + +#: gajim/common/helpers.py:211 +msgid "?contact has status:Has errors" +msgstr "?контакт има статус:Постоје грешке" + +#: gajim/common/helpers.py:216 +msgid "?Subscription we already have:None" +msgstr "?Тренутна претплата:Ниједна" + +#: gajim/common/helpers.py:218 +msgid "To" +msgstr "За" + +#: gajim/common/helpers.py:220 gajim/data/gui/groups_post_window.ui:33 +msgid "From" +msgstr "Од" + +#: gajim/common/helpers.py:222 +msgid "Both" +msgstr "Обоје" + +#: gajim/common/helpers.py:230 +msgid "?Ask (for Subscription):None" +msgstr "?Питај (за претплату):Ниједна" + +#: gajim/common/helpers.py:232 +msgid "Subscribe" +msgstr "Претплатите се" + +#: gajim/common/helpers.py:244 +msgid "?Group Chat Contact Role:None" +msgstr "?Улога контакта у групном разговору:Никаква" + +#: gajim/common/helpers.py:247 +msgid "Moderators" +msgstr "Модератори" + +#: gajim/common/helpers.py:249 +msgid "Moderator" +msgstr "Модератор" + +#: gajim/common/helpers.py:252 gajim/data/gui/groupchat_info_scrolled.ui:182 +msgid "Participants" +msgstr "Учесници" + +#: gajim/common/helpers.py:254 +msgid "Participant" +msgstr "Учесник" + +#: gajim/common/helpers.py:257 +msgid "Visitors" +msgstr "Posjetitelji" + +#: gajim/common/helpers.py:259 +msgid "Visitor" +msgstr "Посетилац" + +#: gajim/common/helpers.py:268 +msgid "?Group Chat Contact Affiliation:None" +msgstr "?Везаност контакта у групном разоговру:Никаква" + +#: gajim/common/helpers.py:271 +#, fuzzy +msgid "Owners" +msgstr "Власник" + +#: gajim/common/helpers.py:273 gajim/data/gui/groupchat_config.ui:32 +msgid "Owner" +msgstr "Власник" + +#: gajim/common/helpers.py:276 +#, fuzzy +msgid "Administrators" +msgstr "Администратор" + +#: gajim/common/helpers.py:278 +msgid "Administrator" +msgstr "Администратор" + +#: gajim/common/helpers.py:281 +#, fuzzy +msgid "Members" +msgstr "Члан" + +#: gajim/common/helpers.py:320 +msgid "is paying attention to the conversation" +msgstr "слуша конверзацију" + +#: gajim/common/helpers.py:322 +msgid "is doing something else" +msgstr "ради нешто друго" + +#: gajim/common/helpers.py:324 +#, fuzzy +msgid "is composing a message…" +msgstr "пише поруку..." + +#: gajim/common/helpers.py:327 +msgid "paused composing a message" +msgstr "пауза при писању поруке" + +#: gajim/common/helpers.py:329 +msgid "has closed the chat window or tab" +msgstr "је затворио/затворила прозор или језичак разговора" + +#: gajim/common/helpers.py:719 gajim/common/helpers.py:727 +#, python-format +msgid "%d message pending" +msgid_plural "%d messages pending" +msgstr[0] "%d порука чека" +msgstr[1] "%d порука чекају" +msgstr[2] "%d порука чека" + +#: gajim/common/helpers.py:736 +#, fuzzy, python-format +msgid "from group chat %s" +msgstr "у _групним разговорима" + +#: gajim/common/helpers.py:739 gajim/common/helpers.py:760 +#, fuzzy, python-format +msgid "from user %s" +msgstr " од корисника %s" + +#: gajim/common/helpers.py:741 +#, fuzzy, python-format +msgid "from %s" +msgstr " од %s" + +#: gajim/common/helpers.py:747 gajim/common/helpers.py:755 +#, python-format +msgid "%d event pending" +msgid_plural "%d events pending" +msgstr[0] "%d догађај на чекању" +msgstr[1] "%d догађаја на чекању" +msgstr[2] "%d догађај на чекању" + +#: gajim/common/helpers.py:828 gajim/data/gui/add_new_contact_window.ui:20 +msgid "I would like to add you to my contact list." +msgstr "Желио бих да Вас додам на листу мојих контаката." + +#: gajim/common/helpers.py:830 +msgid "Hello, I am $name." +msgstr "" + +#: gajim/common/config.py:71 +#, fuzzy +msgid "Play sound even when being busy." +msgstr "Пусти звук када је корисник заузет" + +#: gajim/common/config.py:73 +#, fuzzy +msgid "Show only online and free for chat contacts in the contact list." +msgstr "Прикажи у листи само контакте који су на вези и слободни за ћаскање." + +#: gajim/common/config.py:76 +msgid "Time in minutes, after which your status changes to away." +msgstr "Време у минутама, наком кога ће се Ваш статус промеити у Одсутан." + +#: gajim/common/config.py:77 +#, fuzzy +msgid "$S (Away: Idle more than $T min)" +msgstr "$S (Одсутан, као последица мировања више од $T мин.)" + +#: gajim/common/config.py:77 +#, fuzzy +msgid "" +"$S will be replaced by current status message, $T by the 'autoawaytime' " +"value." +msgstr "" +"$S ће бити замењено са тренутном статусном поруком,$T са временом одсутности." + +#: gajim/common/config.py:79 +msgid "Time in minutes, after which your status changes to not available." +msgstr "" +"Време у минутама, наком кога ће се Ваш статус промеити у Није доступан." + +#: gajim/common/config.py:80 +#, fuzzy +msgid "$S (Not available: Idle more than $T min)" +msgstr "$S (Није доступан, као последица мировања више од $T мин.)" + +#: gajim/common/config.py:80 +#, fuzzy +msgid "" +"$S will be replaced by current status message, $T by the 'autoxatime' value." +msgstr "" +"$S ће бити замењено са тренутном статусном поруком,$T са временом " +"недоступности" + +#: gajim/common/config.py:83 +#, fuzzy +msgid "" +"When to show the notification area icon. Can be 'never', 'on_event', and " +"'always'." +msgstr "" +"Када приказати иконицу у системској касети. Може бити 'never', 'on_event', " +"'always'." + +#: gajim/common/config.py:87 +#, fuzzy +msgid "" +"List of rows (accounts and groups) that are collapsed (space separated)." +msgstr "" +"Листа (одвојена бланко знаковима) редова (налога и група) који су отворени." + +#: gajim/common/config.py:94 gajim/common/config.py:335 +#: gajim/common/config.py:342 +#, fuzzy +msgid "Language used for spell checking." +msgstr "Језик који користи правопис" + +#: gajim/common/config.py:97 +msgid "When enabled, ASCII emojis will be converted to graphical emojis." +msgstr "" + +#: gajim/common/config.py:152 +#, fuzzy +msgid "" +"When not printing time for every message ('print_time'==sometimes), print it " +"every x minutes." +msgstr "" +"Ако се не исписује време за сваку поруку (print_time==понекад), исписати га " +"сваких x минута" + +#: gajim/common/config.py:173 +#, fuzzy +msgid "" +"If enabled, Gajim quits when clicking the X button of your Window Manager. " +"This setting is taken into account only if the notification area icon is " +"used." +msgstr "" +"Ако је истинито, Гајим се завршава када се притисне X дугме. Ово подешавање " +"се користи само ако је икона системске касете у употреби." + +#: gajim/common/config.py:175 +#, fuzzy +msgid "" +"If enabled, Gajim will display the status message (if not empty) underneath " +"the contact name in the contact list window." +msgstr "" +"Ако је истинито, Гајим ће приказивати статусну поруку (ако није празна) за " +"сваки контакт у листи контаката" + +#: gajim/common/config.py:182 +#, fuzzy +msgid "" +"If disabled, Gajim will no longer print status messages in chats when a " +"contact changes their status (and/or their status message)." +msgstr "" +"Ако је неистинито, више нећете видети статусну порукуу разговорима када " +"контакт промени свој статус и/или статусну поруку." + +#: gajim/common/config.py:183 +#, fuzzy +msgid "" +"Default Setting: Show a status message for every join or leave in a group " +"chat." +msgstr "Није могуће придружити се групном разговору" + +#: gajim/common/config.py:184 +#, fuzzy +msgid "" +"Default Setting: Show a status message for all status changes (away, dnd, " +"etc.) of users in a group chat." +msgstr "Није могуће придружити се групном разговору" + +#: gajim/common/config.py:191 +#, fuzzy +msgid "" +"Controls the window where new messages are placed.\n" +"'always' - All messages are sent to a single window.\n" +"'always_with_roster' - Like 'always' but the messages are in a single window " +"along with the contact list.\n" +"'never' - All messages get their own window.\n" +"'peracct' - Messages for each account are sent to a specific window.\n" +"'pertype' - Each message type (e.g. chats vs. group chats) is sent to a " +"specific window." +msgstr "" +"Контролише прозор где се смештају нове поруке.\n" +"'always' - Све поруке се шаљу у исти прозор.\n" +"'always_with_roster' - Као изнад, али су поруке у истом прозору са листом " +"контаката\n" +"'never' - Свака порука добија свој прозор.\n" +"'peracct' - Поруке за исти налог се шаљу у исти прозор.\n" +"'pertype' - Поруке истог типа (нпр., разговори и групни разговори) се шаљу у " +"исти прозор." + +#: gajim/common/config.py:192 +msgid "" +"Show contact list window on startup.\n" +"'always' - Always show contact list window.\n" +"'never' - Never show contact list window.\n" +"'last_state' - Restore last state of the contact list window." +msgstr "" + +#: gajim/common/config.py:207 +#, fuzzy +msgid "" +"Valid URI schemes. Only schemes in this list will be accepted as 'real' URI " +"(mailto and xmpp are handled separately)." +msgstr "" +"Исправне uri шеме. Само шеме са ове листе ће бити прихваћене као \"стварне\" " +"uri. (mailto и xmpp се обрађују засебно)" + +#: gajim/common/config.py:212 +msgid "Optionally fix Jingle output video framerate. Example: 10/1 or 25/2." +msgstr "" + +#: gajim/common/config.py:213 +msgid "Optionally resize Jingle output video. Example: 320x240." +msgstr "" + +#: gajim/common/config.py:214 +msgid "If enabled, you will see your webcam's video stream as well." +msgstr "" + +#: gajim/common/config.py:219 +msgid "" +"Proxy used for all outgoing connections if the account does not have a " +"specific proxy configured." +msgstr "" + +#: gajim/common/config.py:222 +#, fuzzy +msgid "" +"If enabled, Gajim will display an icon to show that sent messages have been " +"received by your contact." +msgstr "" +"Ако је означена, Гајим неће питати за статусну поруку. Већ постављена " +"подразумевана порука ће бити коришћена." + +#: gajim/common/config.py:223 +msgid "" +"If enabled, Gajim will use the System's Keyring to store account passwords." +msgstr "" + +#: gajim/common/config.py:225 +msgid "2: System, 1: Enabled, 0: Disabled" +msgstr "" + +#: gajim/common/config.py:226 +msgid "" +"Maximum history in days we request from a public group chat archive. 0: As " +"much as possible." +msgstr "" + +#: gajim/common/config.py:227 +msgid "" +"Maximum history in days we request from a private group chat archive. 0: As " +"much as possible." +msgstr "" + +#: gajim/common/config.py:228 +msgid "" +"If enabled, Gajim shows the group chat subject in the chat window when " +"joining." +msgstr "" + +#: gajim/common/config.py:229 +#, fuzzy +msgid "" +"If enabled, the contact row is colored according to the current chat state " +"of the contact." +msgstr "" +"Ако је означена, Гајим ће дозволити другима да погледају који оперативни " +"систем користите" + +#: gajim/common/config.py:230 +#, fuzzy +msgid "" +"If enabled, the tab is colored according to the current chat state of the " +"contact." +msgstr "" +"Ако је означена, Гајим ће дозволити другима да погледају који оперативни " +"систем користите" + +#: gajim/common/config.py:231 +#, fuzzy +msgid "" +"Shows a text in the banner that describes the current chat state of the " +"contact." +msgstr "" +"Ако је означена, Гајим ће дозволити другима да погледају који оперативни " +"систем користите" + +#: gajim/common/config.py:232 +#, fuzzy +msgid "" +"Chat state notifications that are sent to contacts. Possible values: all, " +"composing_only, disabled" +msgstr "" +"Послата обавештења о стању разговора. Може бити једно од " +"'сви','само_састављање', 'онемогућено'." + +#: gajim/common/config.py:233 +#, fuzzy +msgid "" +"Chat state notifications that are sent to the group chat. Possible values: " +"'all', 'composing_only', 'disabled'" +msgstr "" +"Послата обавештења о стању разговора. Може бити једно од " +"'сви','само_састављање', 'онемогућено'." + +#: gajim/common/config.py:240 +msgid "Shows an info bar with helpful hints in the Start / Join Chat dialog" +msgstr "" + +#: gajim/common/config.py:242 +msgid "Date of the last update check" +msgstr "" + +#: gajim/common/config.py:260 +#, fuzzy +msgid "" +"Priority will change automatically according to your status. Priorities are " +"defined in 'autopriority_*' options." +msgstr "" +"Приоритет ће се аутоматски променити у зависности од Вашег статуса. " +"Приоритети су дефинсани у autopriority_* подешавањима." + +#: gajim/common/config.py:267 +#, fuzzy +msgid "If enabled, the last status will be restored." +msgstr "Ако је омогућено, постави последњи коришћени статус." + +#: gajim/common/config.py:268 +#, fuzzy +msgid "" +"If enabled, contacts requesting authorization will be accepted automatically." +msgstr "" +"Ако је True, контакти који траже ауторизацију ће аутоматски бити прихваћени." + +#: gajim/common/config.py:269 +#, fuzzy +msgid "" +"If disabled, this account will be disabled and will not appear in the " +"contact list window." +msgstr "" +"Ако је False, налог ће бити онемогућен и неће се приказивати у листи " +"контаката." + +#: gajim/common/config.py:278 +msgid "ConnectionType: START TLS, DIRECT TLS or PLAIN" +msgstr "" + +#: gajim/common/config.py:280 +msgid "" +"List of XMPP Addresses (space separated) for which you do not want to store " +"chat history. You can also add the name of an account to disable storing " +"chat history for this account." +msgstr "" + +#: gajim/common/config.py:285 +#, fuzzy +msgid "" +"If enabled, Gajim will use your IP and proxies defined in " +"'file_transfer_proxies' option for file transfers." +msgstr "" +"Ако је означено, Гајим ће користити Вашу ИП адресу у прокси који је " +"дифинисан у file_transfer_proxies подешавањима за пренос." + +#: gajim/common/config.py:286 +msgid "" +"If enabled, Gajim will test file transfer proxies on startup to be sure they " +"work. Openfire's proxies are known to fail this test even if they work." +msgstr "" + +#: gajim/common/config.py:298 +#, fuzzy +msgid "If enabled, Gajim will answer to message receipt requests." +msgstr "" +"Ако је означена, Гајим неће питати за статусну поруку. Већ постављена " +"подразумевана порука ће бити коришћена." + +#: gajim/common/config.py:303 +#, fuzzy +msgid "" +"Allow Gajim to send information about the operating system you are running." +msgstr "" +"Ако је означена, Гајим ће дозволити другима да погледају који оперативни " +"систем користите" + +#: gajim/common/config.py:304 +#, fuzzy +msgid "Allow Gajim to send your local time." +msgstr "%s Вам жели послати датотеку." + +#: gajim/common/config.py:307 +#, fuzzy +msgid "Message that is sent to contacts you want to add." +msgstr "Молимо Вас испуните податке за контакт кога желите додати" + +#: gajim/common/config.py:308 +#, fuzzy +msgid "" +"If enabled, Gajim will send your local IP so your contact can connect to " +"your machine for file transfers." +msgstr "" +"Ако је означено, Гајим ће користити Вашу ИП адресу у прокси који је " +"дифинисан у file_transfer_proxies подешавањима за пренос." + +#: gajim/common/config.py:309 +msgid "" +"List of XMPP Addresses (space separated) for which the chat window will be " +"re-opened on next startup." +msgstr "" + +#: gajim/common/config.py:311 +msgid "" +"Preferred file transfer mechanism for file drag&drop on a chat window. Can " +"be 'httpupload' (default) or 'jingle'." +msgstr "" + +#: gajim/common/config.py:312 +#, fuzzy +msgid "Allow certificate verification with POSH." +msgstr "Грешка SSL сертификата" + +#: gajim/common/config.py:336 +#, fuzzy +msgid "" +"Chat state notifications that are sent to contacts. Possible values: 'all', " +"'composing_only', 'disabled'" +msgstr "" +"Послата обавештења о стању разговора. Може бити једно од " +"'сви','само_састављање', 'онемогућено'." + +#: gajim/common/config.py:339 +#, fuzzy +msgid "The currently active encryption for that contact." +msgstr "Омогући ESessions енкрипцију за овај налог." + +#: gajim/common/config.py:343 +msgid "" +"If enabled, a notification is created for every message in this group chat." +msgstr "" + +#: gajim/common/config.py:344 +#, fuzzy +msgid "" +"Show a status message for all status changes (away, dnd, etc.) of users in a " +"group chat." +msgstr "Није могуће придружити се групном разговору" + +#: gajim/common/config.py:345 +#, fuzzy +msgid "Show a status message for every join or leave in a group chat." +msgstr "Није могуће придружити се групном разговору" + +#: gajim/common/config.py:346 +msgid "" +"If enabled, the group chat is minimized into the contact list when joining " +"automatically." +msgstr "" + +#: gajim/common/config.py:347 +msgid "" +"If enabled, the group chat is minimized into the contact list when closing " +"it." +msgstr "" + +#: gajim/common/config.py:348 +#, fuzzy +msgid "" +"Chat state notifications that are sent to the group chat. Possible values: " +"'all', 'composing_only' or 'disabled'." +msgstr "" +"Послата обавештења о стању разговора. Може бити једно од " +"'сви','само_састављање', 'онемогућено'." + +#: gajim/common/config.py:351 +msgid "" +"If enabled, plugins will be activated on startup (this is saved when exiting " +"Gajim). This option SHOULD NOT be used to (de)activate plugins. Use the " +"plugin window instead." +msgstr "" + +#: gajim/common/config.py:358 +#, fuzzy +msgid "I'm eating." +msgstr "Радим." + +#: gajim/common/config.py:359 +msgid "I'm watching a movie." +msgstr "Гледам филм." + +#: gajim/common/config.py:360 +msgid "I'm working." +msgstr "Радим." + +#: gajim/common/config.py:361 +msgid "Phone" +msgstr "Телефон" + +#: gajim/common/config.py:361 +msgid "I'm on the phone." +msgstr "Телефонирам." + +#: gajim/common/config.py:362 +msgid "I'm out enjoying life." +msgstr "Напољу сам, уживам у животу." + +#: gajim/common/config.py:373 +#, fuzzy +msgid "" +"Sound to play when a group chat message contains one of the words in " +"'muc_highlight_words' or your nickname is mentioned." +msgstr "" +"Звук који ће се пустити када порука групног разговора садржи неку реч из " +"muc_highlight_words, или када нека порука групног разговора садржи Ваш " +"надимак." + +#: gajim/common/config.py:374 +#, fuzzy +msgid "Sound to play when any group chat message arrives." +msgstr "Звук који ће се пустити када стигне нека MUC порука." + +#: gajim/common/config.py:378 +#, fuzzy +msgid "Tor" +msgstr "За" + +#: gajim/common/exceptions.py:45 +#, fuzzy, python-format +msgid "" +"The database file (%s) cannot be read. Try to repair it (see https://dev." +"gajim.org/gajim/gajim/wikis/help/DatabaseBackup) or remove it (all history " +"will be lost)." +msgstr "" +"Датотека базе података (%s) се не може читати. Покушајте да је поправите " +"(погледајте http://trac.gajim.org/wiki/DatabaseBackup) или уклоните (сав " +"историјат порука ће бити изгубљен)." + +#: gajim/common/exceptions.py:59 +msgid "Service not available: Gajim is not running, or remote_control is False" +msgstr "" +"Сервис није доступан: Гајим није покренут или је ставка подешавања " +"remote_control неистинита" + +#: gajim/common/exceptions.py:81 +#, fuzzy, python-format +msgid "" +"Session bus is not available.\n" +"Try reading %(url)s" +msgstr "" +"Линија сесије није доступна.\n" +"Прочитајте http:/trac.gajim.org/wiki/GajimDBus" + +#: gajim/common/exceptions.py:93 +#, fuzzy, python-format +msgid "" +"System bus is not available.\n" +"Try reading %(url)s" +msgstr "" +"Линија сесије није доступна.\n" +"Прочитајте http:/trac.gajim.org/wiki/GajimDBus" + +#: gajim/common/optparser.py:54 +#, python-format +msgid "Error: cannot open %s for reading" +msgstr "Грешка: није могуће отворити %s за читање" + +#: gajim/common/configpaths.py:84 +#, python-format +msgid "%s is a file but it should be a directory" +msgstr "%s је датотека, али би требала бити фасцикла" + +#: gajim/common/configpaths.py:85 +msgid "Gajim will now exit" +msgstr "Гајим ће се сада завршити" + +#: gajim/common/connection_handlers_events.py:242 +#: gajim/common/connection_handlers_events.py:342 +#, fuzzy, python-format +msgid "New message from %(nickname)s" +msgid_plural "%(n_msgs)i unread messages from %(nickname)s" +msgstr[0] "Нова порука од %(nickname)s" +msgstr[1] "Нова порука од %(nickname)s" + +#: gajim/common/connection_handlers_events.py:412 +#, python-format +msgid "%(nick)s Changed Status" +msgstr "%(nick)s је променио статус" + +#: gajim/common/const.py:287 +#, fuzzy +msgid "?Group chat name:Team" +msgstr "?Улога контакта у групном разговору:Никаква" + +#: gajim/common/const.py:288 +msgid "?Group chat description:Project discussion" +msgstr "" + +#: gajim/common/const.py:289 +#, fuzzy +msgid "?Group chat address:team" +msgstr "Групни разговори" + +#: gajim/common/const.py:290 +#, fuzzy +msgid "?Group chat name:Family" +msgstr "Бојење Порука Са Групног Разговора" + +#: gajim/common/const.py:291 +msgid "?Group chat description:Spring gathering" +msgstr "" + +#: gajim/common/const.py:292 +msgid "?Group chat address:family" +msgstr "" + +#: gajim/common/const.py:293 +#, fuzzy +msgid "?Group chat name:Vacation" +msgstr "Позив на групни разговор" + +#: gajim/common/const.py:294 +msgid "?Group chat description:Trip planning" +msgstr "" + +#: gajim/common/const.py:295 +#, fuzzy +msgid "?Group chat address:vacation" +msgstr "Позив на групни разговор" + +#: gajim/common/const.py:296 +#, fuzzy +msgid "?Group chat name:Repairs" +msgstr "Групни разговори" + +#: gajim/common/const.py:297 +msgid "?Group chat description:Local help group" +msgstr "" + +#: gajim/common/const.py:298 +#, fuzzy +msgid "?Group chat address:repairs" +msgstr "Групни разговори" + +#: gajim/common/const.py:299 +#, fuzzy +msgid "?Group chat name:News" +msgstr "?Улога контакта у групном разговору:Никаква" + +#: gajim/common/const.py:300 +#, fuzzy +msgid "?Group chat description:Local news and reports" +msgstr "Стварање групних разговора Вам није дозвољено." + +#: gajim/common/const.py:301 +#, fuzzy +msgid "?Group chat address:news" +msgstr "Нови групни разговор" + +#: gajim/common/const.py:306 +#, fuzzy +msgid "Remote server not found" +msgstr "Услуга не може бити нађена" + +#: gajim/common/const.py:307 +msgid "Remote server timeout" +msgstr "" + +#: gajim/common/const.py:308 gajim/common/const.py:309 +#: gajim/common/const.py:310 +#, fuzzy +msgid "Address does not belong to a group chat server" +msgstr "Ово није групни разговор" + +#: gajim/common/const.py:311 +#, fuzzy +msgid "Group chat already exists" +msgstr "Рачун локал већ постоји." + +#: gajim/common/const.py:312 +#, fuzzy +msgid "Group chat does not exist" +msgstr "Групни разговор %s не постоји." + +#: gajim/common/const.py:313 +#, fuzzy +msgid "Group chat is closed" +msgstr "Групни разговори" + +#: gajim/common/const.py:319 +msgid "This message was encrypted with OTR and could not be decrypted." +msgstr "" + +#: gajim/common/const.py:322 +msgid "" +"This message was encrypted with Legacy OpenPGP and could not be decrypted. " +"You can install the PGP plugin to handle those messages." +msgstr "" + +#: gajim/common/const.py:326 +msgid "" +"This message was encrypted with OpenPGP for XMPP and could not be decrypted. " +"You can install the OpenPGP plugin to handle those messages." +msgstr "" + +#: gajim/common/const.py:330 +#, python-format +msgid "This message was encrypted with %s and could not be decrypted." +msgstr "" + +#: gajim/common/const.py:337 +msgid "Doing Chores" +msgstr "Обавља рутину" + +#: gajim/common/const.py:338 +msgid "Buying Groceries" +msgstr "Купује намирнице" + +#: gajim/common/const.py:339 +msgid "Cleaning" +msgstr "Чисти" + +#: gajim/common/const.py:340 +msgid "Cooking" +msgstr "Кува" + +#: gajim/common/const.py:341 +msgid "Doing Maintenance" +msgstr "Обавља одржавање" + +#: gajim/common/const.py:342 +msgid "Doing the Dishes" +msgstr "Пере судове" + +#: gajim/common/const.py:343 +msgid "Doing the Laundry" +msgstr "Пере веш" + +#: gajim/common/const.py:344 +msgid "Gardening" +msgstr "Баштовани" + +#: gajim/common/const.py:345 +msgid "Running an Errand" +msgstr "На задатку" + +#: gajim/common/const.py:346 +msgid "Walking the Dog" +msgstr "Шета пса" + +#: gajim/common/const.py:348 +msgid "Drinking" +msgstr "Пије" + +#: gajim/common/const.py:349 +msgid "Having a Beer" +msgstr "Пије пиво" + +#: gajim/common/const.py:350 +msgid "Having Coffee" +msgstr "Пије кафу" + +#: gajim/common/const.py:351 +msgid "Having Tea" +msgstr "Пије чај" + +#: gajim/common/const.py:354 +msgid "Having a Snack" +msgstr "Ужина" + +#: gajim/common/const.py:355 +msgid "Having Breakfast" +msgstr "Доручкује" + +#: gajim/common/const.py:356 +msgid "Having Dinner" +msgstr "Руча" + +#: gajim/common/const.py:357 +msgid "Having Lunch" +msgstr "Вечера" + +#: gajim/common/const.py:359 +msgid "Exercising" +msgstr "Вежба" + +#: gajim/common/const.py:360 gajim/common/const.py:411 +msgid "Cycling" +msgstr "Вози бициклу" + +#: gajim/common/const.py:361 +msgid "Dancing" +msgstr "Плеше" + +#: gajim/common/const.py:362 +msgid "Hiking" +msgstr "Шета" + +#: gajim/common/const.py:363 +msgid "Jogging" +msgstr "Џогира" + +#: gajim/common/const.py:364 +msgid "Playing Sports" +msgstr "Бави се спортом" + +#: gajim/common/const.py:365 +msgid "Running" +msgstr "Трчи" + +#: gajim/common/const.py:366 +msgid "Skiing" +msgstr "Скија" + +#: gajim/common/const.py:367 +msgid "Swimming" +msgstr "Плива" + +#: gajim/common/const.py:368 +msgid "Working out" +msgstr "Вежба" + +#: gajim/common/const.py:370 +msgid "Grooming" +msgstr "Чешља се" + +#: gajim/common/const.py:371 +msgid "At the Spa" +msgstr "У бањи" + +#: gajim/common/const.py:372 +msgid "Brushing Teeth" +msgstr "Пере зубе" + +#: gajim/common/const.py:373 +msgid "Getting a Haircut" +msgstr "Шиша се" + +#: gajim/common/const.py:374 +msgid "Shaving" +msgstr "Брије се" + +#: gajim/common/const.py:375 +msgid "Taking a Bath" +msgstr "Купа се" + +#: gajim/common/const.py:376 +msgid "Taking a Shower" +msgstr "Тушира се" + +#: gajim/common/const.py:378 +msgid "Having an Appointment" +msgstr "Састанчи" + +#: gajim/common/const.py:380 +msgid "Inactive" +msgstr "Неактивно" + +#: gajim/common/const.py:381 +msgid "Day Off" +msgstr "Слободан дан" + +#: gajim/common/const.py:382 +msgid "Hanging out" +msgstr "Блеји" + +#: gajim/common/const.py:383 +msgid "Hiding" +msgstr "Крије се" + +#: gajim/common/const.py:384 +msgid "On Vacation" +msgstr "На одмору" + +#: gajim/common/const.py:385 +msgid "Praying" +msgstr "Моли се" + +#: gajim/common/const.py:386 +msgid "Scheduled Holiday" +msgstr "Заказани одмор" + +#: gajim/common/const.py:388 +msgid "Thinking" +msgstr "Размишља" + +#: gajim/common/const.py:390 +msgid "Relaxing" +msgstr "Одмара се" + +#: gajim/common/const.py:391 +msgid "Fishing" +msgstr "Пеца" + +#: gajim/common/const.py:392 +msgid "Gaming" +msgstr "Игра игрице" + +#: gajim/common/const.py:393 +msgid "Going out" +msgstr "Излази напоље" + +#: gajim/common/const.py:394 +msgid "Partying" +msgstr "На проводу" + +#: gajim/common/const.py:395 +msgid "Reading" +msgstr "Чита" + +#: gajim/common/const.py:396 +msgid "Rehearsing" +msgstr "Увежбава" + +#: gajim/common/const.py:397 +msgid "Shopping" +msgstr "У шопингу" + +#: gajim/common/const.py:398 +msgid "Smoking" +msgstr "Пуши" + +#: gajim/common/const.py:399 +msgid "Socializing" +msgstr "Дружи се" + +#: gajim/common/const.py:400 +msgid "Sunbathing" +msgstr "Сунча се" + +#: gajim/common/const.py:401 +msgid "Watching TV" +msgstr "Гледа ТВ" + +#: gajim/common/const.py:402 +msgid "Watching a Movie" +msgstr "Гледа филм" + +#: gajim/common/const.py:404 +msgid "Talking" +msgstr "Прича" + +#: gajim/common/const.py:405 +msgid "In Real Life" +msgstr "У стварном животу" + +#: gajim/common/const.py:406 +msgid "On the Phone" +msgstr "Телефонира" + +#: gajim/common/const.py:407 +msgid "On Video Phone" +msgstr "На видео телефону" + +#: gajim/common/const.py:409 +msgid "Traveling" +msgstr "Путује" + +#: gajim/common/const.py:410 +msgid "Commuting" +msgstr "Мува се" + +#: gajim/common/const.py:412 +msgid "Driving" +msgstr "Вози" + +#: gajim/common/const.py:413 +msgid "In a Car" +msgstr "У колима" + +#: gajim/common/const.py:414 +msgid "On a Bus" +msgstr "У аутобусу" + +#: gajim/common/const.py:415 +msgid "On a Plane" +msgstr "У авиону" + +#: gajim/common/const.py:416 +msgid "On a Train" +msgstr "У возу" + +#: gajim/common/const.py:417 +msgid "On a Trip" +msgstr "На путу" + +#: gajim/common/const.py:418 +msgid "Walking" +msgstr "Шета" + +#: gajim/common/const.py:421 +msgid "Coding" +msgstr "Програмира" + +#: gajim/common/const.py:422 +msgid "In a Meeting" +msgstr "На састанку" + +#: gajim/common/const.py:423 +msgid "Studying" +msgstr "Учи" + +#: gajim/common/const.py:424 +msgid "Writing" +msgstr "Пише" + +#: gajim/common/const.py:427 +msgid "Afraid" +msgstr "Уплашен" + +#: gajim/common/const.py:428 +msgid "Amazed" +msgstr "Одушевљен" + +#: gajim/common/const.py:429 +msgid "Amorous" +msgstr "Заљубљен" + +#: gajim/common/const.py:430 +msgid "Angry" +msgstr "Љут" + +#: gajim/common/const.py:431 +msgid "Annoyed" +msgstr "Изнервиран" + +#: gajim/common/const.py:432 +msgid "Anxious" +msgstr "Анксиозан" + +#: gajim/common/const.py:433 +msgid "Aroused" +msgstr "Напаљен" + +#: gajim/common/const.py:434 +msgid "Ashamed" +msgstr "Посрамљен" + +#: gajim/common/const.py:435 +msgid "Bored" +msgstr "Сморен" + +#: gajim/common/const.py:436 +msgid "Brave" +msgstr "Храбар" + +#: gajim/common/const.py:437 +msgid "Calm" +msgstr "Миран" + +#: gajim/common/const.py:438 +msgid "Cautious" +msgstr "Опрезан" + +#: gajim/common/const.py:439 +msgid "Cold" +msgstr "Смрзнут" + +#: gajim/common/const.py:440 +msgid "Confident" +msgstr "Поуздан" + +#: gajim/common/const.py:441 +msgid "Confused" +msgstr "Збуњен" + +#: gajim/common/const.py:442 +msgid "Contemplative" +msgstr "Задубљен у мисли" + +#: gajim/common/const.py:443 +msgid "Contented" +msgstr "Задовољан" + +#: gajim/common/const.py:444 +msgid "Cranky" +msgstr "На крају живаца" + +#: gajim/common/const.py:445 +msgid "Crazy" +msgstr "Луд" + +#: gajim/common/const.py:446 +msgid "Creative" +msgstr "Креативан" + +#: gajim/common/const.py:447 +msgid "Curious" +msgstr "Заинтересован" + +#: gajim/common/const.py:448 +msgid "Dejected" +msgstr "Потиштен" + +#: gajim/common/const.py:449 +msgid "Depressed" +msgstr "Депресиван" + +#: gajim/common/const.py:450 +msgid "Disappointed" +msgstr "Разочаран" + +#: gajim/common/const.py:451 +msgid "Disgusted" +msgstr "Згађен" + +#: gajim/common/const.py:452 +msgid "Dismayed" +msgstr "Скрхан" + +#: gajim/common/const.py:453 +msgid "Distracted" +msgstr "Ометен" + +#: gajim/common/const.py:454 +msgid "Embarrassed" +msgstr "Постиђен" + +#: gajim/common/const.py:455 +msgid "Envious" +msgstr "Завидљив" + +#: gajim/common/const.py:456 +msgid "Excited" +msgstr "Узбуђен" + +#: gajim/common/const.py:457 +msgid "Flirtatious" +msgstr "За флертовање" + +#: gajim/common/const.py:458 +msgid "Frustrated" +msgstr "Фрустриран" + +#: gajim/common/const.py:459 +msgid "Grateful" +msgstr "Захвалан" + +#: gajim/common/const.py:460 +msgid "Grieving" +msgstr "У патњи" + +#: gajim/common/const.py:461 +msgid "Grumpy" +msgstr "Мргудан" + +#: gajim/common/const.py:462 +msgid "Guilty" +msgstr "Крив" + +#: gajim/common/const.py:463 +msgid "Happy" +msgstr "Срећан" + +#: gajim/common/const.py:464 +msgid "Hopeful" +msgstr "У надању" + +#: gajim/common/const.py:465 +msgid "Hot" +msgstr "Наложен" + +#: gajim/common/const.py:466 +msgid "Humbled" +msgstr "Скроман" + +#: gajim/common/const.py:467 +msgid "Humiliated" +msgstr "Понижен" + +#: gajim/common/const.py:468 +msgid "Hungry" +msgstr "Гладан" + +#: gajim/common/const.py:469 +msgid "Hurt" +msgstr "Повређен" + +#: gajim/common/const.py:470 +msgid "Impressed" +msgstr "Импресиониран" + +#: gajim/common/const.py:471 +msgid "In Awe" +msgstr "Очаран" + +#: gajim/common/const.py:472 +msgid "In Love" +msgstr "Заљубљен" + +#: gajim/common/const.py:473 +msgid "Indignant" +msgstr "Озлојеђен" + +#: gajim/common/const.py:474 +msgid "Interested" +msgstr "Заинтересован" + +#: gajim/common/const.py:475 +msgid "Intoxicated" +msgstr "Отрован" + +#: gajim/common/const.py:476 +msgid "Invincible" +msgstr "Непобедив" + +#: gajim/common/const.py:477 +msgid "Jealous" +msgstr "Љубоморан" + +#: gajim/common/const.py:478 +msgid "Lonely" +msgstr "Усамљен" + +#: gajim/common/const.py:479 +msgid "Lost" +msgstr "Изгубљен" + +#: gajim/common/const.py:480 +msgid "Lucky" +msgstr "Срећан" + +#: gajim/common/const.py:481 +msgid "Mean" +msgstr "Злобан" + +#: gajim/common/const.py:482 +msgid "Moody" +msgstr "Расположен" + +#: gajim/common/const.py:483 +msgid "Nervous" +msgstr "Нервозан" + +#: gajim/common/const.py:484 +msgid "Neutral" +msgstr "Неутралан" + +#: gajim/common/const.py:485 +msgid "Offended" +msgstr "Увређен" + +#: gajim/common/const.py:486 +msgid "Outraged" +msgstr "Побеснео" + +#: gajim/common/const.py:487 +msgid "Playful" +msgstr "Играо би се" + +#: gajim/common/const.py:488 +msgid "Proud" +msgstr "Поносан" + +#: gajim/common/const.py:489 +msgid "Relaxed" +msgstr "Опуштен" + +#: gajim/common/const.py:490 +msgid "Relieved" +msgstr "Олакшан" + +#: gajim/common/const.py:491 +msgid "Remorseful" +msgstr "Самилостан" + +#: gajim/common/const.py:492 +msgid "Restless" +msgstr "Неуморан" + +#: gajim/common/const.py:493 +msgid "Sad" +msgstr "Тужан" + +#: gajim/common/const.py:494 +msgid "Sarcastic" +msgstr "Саркастичан" + +#: gajim/common/const.py:495 +msgid "Satisfied" +msgstr "Задовољан" + +#: gajim/common/const.py:496 +msgid "Serious" +msgstr "Озбиљан" + +#: gajim/common/const.py:497 +msgid "Shocked" +msgstr "Шокиран" + +#: gajim/common/const.py:498 +msgid "Shy" +msgstr "Стидљив" + +#: gajim/common/const.py:499 +msgid "Sick" +msgstr "Болестан" + +#: gajim/common/const.py:500 +msgid "Sleepy" +msgstr "Поспан" + +#: gajim/common/const.py:501 +msgid "Spontaneous" +msgstr "Спонтан" + +#: gajim/common/const.py:502 +msgid "Stressed" +msgstr "Под стресом" + +#: gajim/common/const.py:503 +msgid "Strong" +msgstr "Јак" + +#: gajim/common/const.py:504 +msgid "Surprised" +msgstr "Изненађен" + +#: gajim/common/const.py:505 +msgid "Thankful" +msgstr "Захвалан" + +#: gajim/common/const.py:506 +msgid "Thirsty" +msgstr "Жедан" + +#: gajim/common/const.py:507 +msgid "Tired" +msgstr "Уморан" + +#: gajim/common/const.py:508 +msgid "Undefined" +msgstr "Недефинисан" + +#: gajim/common/const.py:509 +msgid "Weak" +msgstr "Слаб" + +#: gajim/common/const.py:510 +msgid "Worried" +msgstr "Забринут" + +#: gajim/common/const.py:514 +msgid "accuracy" +msgstr "" + +#: gajim/common/const.py:515 +#, fuzzy +msgid "alt" +msgstr "подразумевано" + +#: gajim/common/const.py:516 +msgid "area" +msgstr "" + +#: gajim/common/const.py:517 +#, fuzzy +msgid "bearing" +msgstr "морска" + +#: gajim/common/const.py:518 +#, fuzzy +msgid "building" +msgstr "Крије се" + +#: gajim/common/const.py:519 +#, fuzzy +msgid "country" +msgstr "Налог" + +#: gajim/common/const.py:520 +#, fuzzy +msgid "countrycode" +msgstr "Налог" + +#: gajim/common/const.py:521 +msgid "datum" +msgstr "" + +#: gajim/common/const.py:522 +#, fuzzy +msgid "description" +msgstr "Опис" + +#: gajim/common/const.py:523 +#, fuzzy +msgid "error" +msgstr "Грешка" + +#: gajim/common/const.py:524 +msgid "floor" +msgstr "" + +#: gajim/common/const.py:525 +msgid "lat" +msgstr "" + +#: gajim/common/const.py:526 +msgid "locality" +msgstr "" + +#: gajim/common/const.py:527 +#, fuzzy +msgid "lon" +msgstr "један" + +#: gajim/common/const.py:528 +msgid "postalcode" +msgstr "" + +#: gajim/common/const.py:529 +msgid "region" +msgstr "" + +#: gajim/common/const.py:530 +msgid "room" +msgstr "соба" + +#: gajim/common/const.py:531 +msgid "speed" +msgstr "" + +#: gajim/common/const.py:532 +msgid "street" +msgstr "" + +#: gajim/common/const.py:533 +msgid "text" +msgstr "" + +#: gajim/common/const.py:534 +msgid "timestamp" +msgstr "" + +#: gajim/common/const.py:535 +msgid "URI" +msgstr "" + +#: gajim/common/const.py:540 +msgid "Unable to get issuer certificate" +msgstr "Нисам успео да узмем сертификат издавача" + +#: gajim/common/const.py:541 +msgid "Unable to get certificate CRL" +msgstr "Нисам успео да узмем CRL сертификата" + +#: gajim/common/const.py:542 +msgid "Unable to decrypt certificate's signature" +msgstr "Нисам успео да дешифрујем потпис сертификата" + +#: gajim/common/const.py:543 +msgid "Unable to decrypt CRL's signature" +msgstr "Нисам успео да дешифрујем CRL сертификата" + +#: gajim/common/const.py:544 +msgid "Unable to decode issuer public key" +msgstr "Нисам успео да декодирам јавни кључ издавача" + +#: gajim/common/const.py:545 +msgid "Certificate signature failure" +msgstr "Грешка у потпису сертификата" + +#: gajim/common/const.py:546 +msgid "CRL signature failure" +msgstr "Грешка у CRL сертификата" + +#: gajim/common/const.py:547 +msgid "Certificate is not yet valid" +msgstr "Сертификат још није валидан" + +#: gajim/common/const.py:548 +msgid "Certificate has expired" +msgstr "Сертификат је истекао" + +#: gajim/common/const.py:549 +msgid "CRL is not yet valid" +msgstr "CRL није још валидан" + +#: gajim/common/const.py:550 +msgid "CRL has expired" +msgstr "CRL је истекао" + +#: gajim/common/const.py:551 +msgid "Format error in certificate's notBefore field" +msgstr "Грешка у формату сертифаковог поља од када је валидан" + +#: gajim/common/const.py:552 +msgid "Format error in certificate's notAfter field" +msgstr "Грешка у формату сертифаковог поља до када је валидан" + +#: gajim/common/const.py:553 +msgid "Format error in CRL's lastUpdate field" +msgstr "Грешка у формату CRL-овогпоља последњег ажурирања" + +#: gajim/common/const.py:554 +msgid "Format error in CRL's nextUpdate field" +msgstr "Грешка у формату CRL-овогпоља следећег ажурирања" + +#: gajim/common/const.py:555 +msgid "Out of memory" +msgstr "Немам више меморије" + +#: gajim/common/const.py:556 +msgid "Self signed certificate" +msgstr "Самопотписани сертификат" + +#: gajim/common/const.py:557 +msgid "Self signed certificate in certificate chain" +msgstr "Самопотписани сертификат у ланцу сертификата" + +#: gajim/common/const.py:558 +msgid "Unable to get local issuer certificate" +msgstr "У немогућности да узмем сертификат локалног издавача" + +#: gajim/common/const.py:559 +msgid "Unable to verify the first certificate" +msgstr "У немогућности да верификујем први сертификат" + +#: gajim/common/const.py:560 +msgid "Certificate chain too long" +msgstr "Ланац сертификата предугачак" + +#: gajim/common/const.py:561 +msgid "Certificate revoked" +msgstr "Сертификат повучен" + +#: gajim/common/const.py:562 +msgid "Invalid CA certificate" +msgstr "Неисправан сертификат сертификационог тела (CA)" + +#: gajim/common/const.py:563 +msgid "Path length constraint exceeded" +msgstr "Прекорачена дужина путање" + +#: gajim/common/const.py:564 +msgid "Unsupported certificate purpose" +msgstr "Неподржана сврха сертификата" + +#: gajim/common/const.py:565 +msgid "Certificate not trusted" +msgstr "Сертификату се не верује" + +#: gajim/common/const.py:566 +msgid "Certificate rejected" +msgstr "Сертификат одбачен" + +#: gajim/common/const.py:567 +msgid "Subject issuer mismatch" +msgstr "Погрешна тема издавача сертификата" + +#: gajim/common/const.py:568 +msgid "Authority and subject key identifier mismatch" +msgstr "Идентификатор кључа ауторизатора и теме се не поклапају" + +#: gajim/common/const.py:569 +msgid "Authority and issuer serial number mismatch" +msgstr "Серијски број ауторизатора и издавача се не поклапају" + +#: gajim/common/const.py:570 +msgid "Key usage does not include certificate signing" +msgstr "Употреба кључа не укључује потписивање сертификата" + +#: gajim/common/const.py:571 +msgid "Application verification failure" +msgstr "Верификација апликације неуспела" + +#: gajim/common/const.py:893 +msgid "The signing certificate authority is not known" +msgstr "" + +#: gajim/common/const.py:894 +#, fuzzy +msgid "The certificate has been revoked" +msgstr "Сертификат повучен" + +#: gajim/common/const.py:895 +msgid "The certificate does not match the expected identity of the site" +msgstr "" + +#: gajim/common/const.py:896 +msgid "The certificate’s algorithm is insecure" +msgstr "" + +#: gajim/common/const.py:897 +msgid "The certificate’s activation time is in the future" +msgstr "" + +#: gajim/common/const.py:898 +#, fuzzy +msgid "Unknown validation error" +msgstr "Непозната SSL грешка: %d" + +#: gajim/common/const.py:899 +#, fuzzy +msgid "The certificate has expired" +msgstr "Сертификат је истекао" + +#: gajim/common/const.py:954 +#, fuzzy +msgid "Authentication aborted" +msgstr "Ауторизација прихваћена" + +#: gajim/common/const.py:955 +#, fuzzy +msgid "Account disabled" +msgstr "Смајлији искључени" + +#: gajim/common/const.py:956 +#, fuzzy +msgid "Credentials expired" +msgstr "Сертификат је истекао" + +#: gajim/common/const.py:957 +#, fuzzy +msgid "Encryption required" +msgstr "Захтев за претплатом" + +#: gajim/common/const.py:961 +#, fuzzy +msgid "Authentication mechanism not supported" +msgstr "Екстензија није подржана" + +#: gajim/common/const.py:962 +#, fuzzy +msgid "Authentication mechanism too weak" +msgstr "Пријављивање са \"%s\" неуспешно" + +#: gajim/common/const.py:964 +msgid "Authentication currently not possible" +msgstr "" + +#: gajim/common/const.py:1109 +msgid "No Sync" +msgstr "" + +#: gajim/common/const.py:1111 +msgid "2 Days" +msgstr "" + +#: gajim/common/const.py:1114 +msgid "No Threshold" +msgstr "" + +#: gajim/common/logging_helpers.py:31 +#, python-format +msgid "%s is not a valid loglevel" +msgstr "%s није исправан ниво логовања" + +#: gajim/common/zeroconf/zeroconf_avahi.py:256 +#: gajim/common/zeroconf/zeroconf_bonjour.py:248 +#: gajim/common/zeroconf/zeroconf_bonjour.py:265 +#: gajim/common/zeroconf/zeroconf_bonjour.py:323 +#, python-format +msgid "Error while adding service. %s" +msgstr "Грешка приликом додавања сервиса. %s" + +#: gajim/common/zeroconf/connection_zeroconf.py:252 +#, python-format +msgid "Could not connect to \"%s\"" +msgstr "Веза са \"%s\" није могућа" + +#: gajim/common/zeroconf/connection_zeroconf.py:253 +msgid "Please check if Avahi or Bonjour is installed." +msgstr "Проверите да ли је Авахи или Bonjour инсталиран." + +#: gajim/common/zeroconf/connection_zeroconf.py:263 +#: gajim/common/zeroconf/connection_zeroconf.py:267 +msgid "Could not start local service" +msgstr "Није могуће покренути локални сервис" + +#: gajim/common/zeroconf/connection_zeroconf.py:264 +#, python-format +msgid "Unable to bind to port %d." +msgstr "Не могу се повезати на порт %d." + +#: gajim/common/zeroconf/connection_zeroconf.py:268 +#, fuzzy +msgid "Please check if avahi/bonjour-daemon is running." +msgstr "Молимо проверите да ли је avahi-демон покренут." + +#: gajim/common/zeroconf/connection_zeroconf.py:362 +#: gajim/common/zeroconf/connection_zeroconf.py:375 +#, python-format +msgid "Could not change status of account \"%s\"" +msgstr "Није могуће променити статус рачуна \"%s\"" + +#: gajim/common/zeroconf/connection_zeroconf.py:363 +#: gajim/common/zeroconf/connection_zeroconf.py:376 +msgid "Please check if avahi-daemon is running." +msgstr "Молимо проверите да ли је avahi-демон покренут." + +#: gajim/common/zeroconf/connection_zeroconf.py:404 +msgid "Your message could not be sent." +msgstr "Ваша порука није могла бити послата." + +#: gajim/common/zeroconf/connection_zeroconf.py:419 +msgid "Contact is offline. Your message could not be sent." +msgstr "Контакт није на вези. Вашу поруку није могуће послати." + +#: gajim/common/zeroconf/connection_zeroconf.py:441 +msgid "" +"Connection to host could not be established: Timeout while sending data." +msgstr "" +"Није могуће остварити везу са хостом: Време за слање података је истекло." + +#: gajim/common/dbus/logind.py:73 +msgid "Machine is going to sleep" +msgstr "" + +#: gajim/common/dbus/logind.py:103 +msgid "Disconnect from the network" +msgstr "" + +#: gajim/common/modules/adhoc_commands.py:88 +msgid "Change status information" +msgstr "Измени статусне информације" + +#: gajim/common/modules/adhoc_commands.py:112 +msgid "Change status" +msgstr "Измени статус" + +#: gajim/common/modules/adhoc_commands.py:113 +msgid "Set the presence type and description" +msgstr "Постави тип присутности и опис" + +#: gajim/common/modules/adhoc_commands.py:120 +msgid "Free for chat" +msgstr "Слободан за разговор" + +#: gajim/common/modules/adhoc_commands.py:121 +msgid "Online" +msgstr "На вези" + +#: gajim/common/modules/adhoc_commands.py:123 +msgid "Extended away" +msgstr "Дуже одсутан" + +#: gajim/common/modules/adhoc_commands.py:124 +msgid "Do not disturb" +msgstr "Не сметај" + +#: gajim/common/modules/adhoc_commands.py:125 +msgid "Offline - disconnect" +msgstr "Није на вези" + +#: gajim/common/modules/adhoc_commands.py:131 +msgid "Presence description:" +msgstr "Опис присутности:" + +#: gajim/common/modules/adhoc_commands.py:170 +msgid "The status has been changed." +msgstr "Статус се променио." + +#: gajim/common/modules/presence.py:265 +msgid "I would like to add you to my roster." +msgstr "Желео бих да те додам на моју листу контаката." + +#: gajim/common/modules/roster_item_exchange.py:103 +#, fuzzy, python-format +msgid "Sent contact: \"%(jid)s\" (%(name)s)" +msgstr "Послати контакти: \"%s\" (%s)" + +#: gajim/common/modules/roster_item_exchange.py:107 +msgid "Sent contacts:" +msgstr "Послати контакти:" + +#: gajim/common/modules/httpupload.py:99 +msgid "File is empty" +msgstr "Датотека је празна" + +#: gajim/common/modules/httpupload.py:102 +msgid "File does not exist" +msgstr "Датотека не постоји" + +#: gajim/common/modules/httpupload.py:109 +#: gajim/common/modules/httpupload.py:172 +#, python-format +msgid "File is too large, maximum allowed file size is: %s" +msgstr "" + +#: gajim/common/modules/httpupload.py:279 +#, fuzzy +msgid "Encrypting file…" +msgstr "E2E енкрипција онемогућена" + +#: gajim/common/modules/httpupload.py:280 +msgid "Requesting HTTP File Upload Slot…" +msgstr "" + +#: gajim/common/modules/httpupload.py:281 +msgid "Uploading via HTTP File Upload…" +msgstr "" + +#: gajim/common/modules/httpupload.py:285 +#, fuzzy +msgid "The server returned an insecure transport (HTTP)." +msgstr "Сервис је вратио грешку." + +#: gajim/common/modules/httpupload.py:286 +msgid "There is no encryption method available for the chosen encryption." +msgstr "" + +#: gajim/plugins/pluginmanager.py:679 gajim/plugins/pluginmanager.py:685 +msgid "Archive corrupted" +msgstr "" + +#: gajim/plugins/pluginmanager.py:681 +#, fuzzy +msgid "Archive empty" +msgstr "Датотека је празна" + +#: gajim/plugins/pluginmanager.py:693 gajim/plugins/pluginmanager.py:701 +#: gajim/plugins/gui.py:273 +#, fuzzy +msgid "Archive is malformed" +msgstr "Сервис је послао лоше податке" + +#: gajim/plugins/pluginmanager.py:710 gajim/plugins/gui.py:288 +#: gajim/plugins/gui.py:301 +#, fuzzy +msgid "Plugin already exists" +msgstr "Ова датотека већ постоји" + +#: gajim/plugins/pluginmanager.py:720 +#, fuzzy +msgid "Installation failed" +msgstr "Регистрација неуспела" + +#: gajim/plugins/gui.py:67 gajim/data/gui/shortcuts_window.ui:38 +msgid "Plugins" +msgstr "" + +#: gajim/plugins/gui.py:75 +msgid "Click to view Gajim's wiki page on how to install plugins in Flatpak." +msgstr "" + +#: gajim/plugins/gui.py:84 +msgid "Plugin" +msgstr "" + +#: gajim/plugins/gui.py:95 gajim/data/gui/manage_sounds.ui:40 +msgid "Active" +msgstr "Активно" + +#: gajim/plugins/gui.py:159 +#, fuzzy, python-format +msgid "Warning: %s" +msgstr "Забрањујем %s" + +#: gajim/plugins/gui.py:216 +#, fuzzy +msgid "Plugin failed" +msgstr "Регистрација неуспела" + +#: gajim/plugins/gui.py:249 +msgid "Unable to properly remove the plugin" +msgstr "" + +#: gajim/plugins/gui.py:287 +#, fuzzy +msgid "Overwrite Plugin?" +msgstr "Препиши статусну поруку?" + +#: gajim/plugins/gui.py:289 +#, fuzzy +msgid "Do you want to overwrite the currently installed version?" +msgstr "Да ли желите да прихватите ову позивницу?" + +#: gajim/plugins/gui.py:317 gajim/data/gui/groupchat_config.ui:258 +#, fuzzy +msgid "Configuration" +msgstr "Конфигурација собе" + +#: gajim/data/gui/groupchat_nick_chooser.ui:47 +#, fuzzy +msgid "Join Group Chat as…" +msgstr "Придружи се групном разговору" + +#: gajim/data/gui/groupchat_nick_chooser.ui:66 +#, fuzzy +msgid "Your Nickname" +msgstr "Надимак:" + +#: gajim/data/gui/groupchat_control.ui:36 +#, fuzzy +msgid "Drop Files or Contacts" +msgstr "Позови контакте" + +#: gajim/data/gui/groupchat_control.ui:58 gajim/data/gui/chat_control.ui:322 +msgid "Bold" +msgstr "Подебљано" + +#: gajim/data/gui/groupchat_control.ui:67 gajim/data/gui/chat_control.ui:331 +msgid "Italic" +msgstr "Курзив" + +#: gajim/data/gui/groupchat_control.ui:76 gajim/data/gui/chat_control.ui:340 +msgid "Underline" +msgstr "Подвучено" + +#: gajim/data/gui/groupchat_control.ui:85 gajim/data/gui/chat_control.ui:349 +msgid "Strike" +msgstr "Прецртано" + +#: gajim/data/gui/groupchat_control.ui:107 gajim/data/gui/chat_control.ui:371 +msgid "Font" +msgstr "Фонт" + +#: gajim/data/gui/groupchat_control.ui:121 gajim/data/gui/chat_control.ui:385 +#, fuzzy +msgid "Clear formatting" +msgstr "Очисти форматирање" + +#: gajim/data/gui/groupchat_control.ui:383 gajim/data/gui/chat_control.ui:784 +#, fuzzy +msgid "Choose encryption" +msgstr "Шифровање лозинком" + +#: gajim/data/gui/groupchat_control.ui:429 gajim/data/gui/chat_control.ui:667 +#, fuzzy +msgid "Show a list of emojis (Alt+M)" +msgstr "Прикажи листу смајлија (Alt+M)" + +#: gajim/data/gui/groupchat_control.ui:454 gajim/data/gui/chat_control.ui:833 +#, fuzzy +msgid "Send Message" +msgstr "Пошаљи поруку" + +#: gajim/data/gui/groupchat_control.ui:583 +#, fuzzy +msgid "Joining…" +msgstr "Забрана..." + +#: gajim/data/gui/groupchat_control.ui:641 +#, fuzzy +msgid "Enter Nickname" +msgstr "Убаци надимак" + +#: gajim/data/gui/groupchat_control.ui:691 +#: gajim/data/gui/groupchat_control.ui:783 +#, fuzzy +msgid "Ch_ange" +msgstr "Промени _надимак..." + +#: gajim/data/gui/groupchat_control.ui:748 +#: gajim/data/gui/shortcuts_window.ui:319 +#, fuzzy +msgid "Change Subject" +msgstr "Промени _тему..." + +#: gajim/data/gui/groupchat_control.ui:864 +#, fuzzy +msgid "Enter Password" +msgstr "Унесите нову лозинку:" + +#: gajim/data/gui/groupchat_control.ui:1081 +#, fuzzy +msgid "_Forget Group Chat" +msgstr "Напусти групне разговоре" + +#: gajim/data/gui/groupchat_control.ui:1085 +#, fuzzy +msgid "Gajim will not try to join this group chat again" +msgstr "" +"Ако је означено, Гајим ће се придружити овом групном разговору при покретању" + +#: gajim/data/gui/groupchat_control.ui:1102 +#, fuzzy +msgid "T_ry Again" +msgstr "Потврдите поново..." + +#: gajim/data/gui/groupchat_control.ui:1156 +#, fuzzy +msgid "An Error Occurred" +msgstr "Догодила се грешка:" + +#: gajim/data/gui/groupchat_control.ui:1221 +#, fuzzy +msgid "_Try Again" +msgstr "Потврдите поново..." + +#: gajim/data/gui/groupchat_control.ui:1398 +#, fuzzy +msgid "Kick Participant" +msgstr "Учесник" + +#: gajim/data/gui/groupchat_control.ui:1436 +msgid "_Kick" +msgstr "_Избаци" + +#: gajim/data/gui/groupchat_control.ui:1469 +#: gajim/data/gui/groupchat_control.ui:1595 +#: gajim/data/gui/groupchat_control.ui:1721 +#: gajim/data/gui/groupchat_control.ui:1738 +#: gajim/data/gui/groupchat_control.ui:1827 +#: gajim/data/gui/groupchat_control.ui:1828 +msgid "Insert Emoji" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1482 +#: gajim/data/gui/groupchat_control.ui:1608 +#, fuzzy +msgid "Reason (optional)" +msgstr "Можете такође унети и алтернативну локацију:" + +#: gajim/data/gui/groupchat_control.ui:1524 +#, fuzzy +msgid "Ban Participant" +msgstr "Учесник" + +#: gajim/data/gui/groupchat_control.ui:1562 +msgid "_Ban" +msgstr "_Забрани" + +#: gajim/data/gui/groupchat_control.ui:1650 +#, fuzzy +msgid "Destroy This Chat" +msgstr "Нови групни разговор" + +#: gajim/data/gui/groupchat_control.ui:1688 +#, fuzzy +msgid "_Destroy" +msgstr "Уништавам %s" + +#: gajim/data/gui/groupchat_control.ui:1722 +#, fuzzy +msgid "Alternate venue (optional)..." +msgstr "Можете такође унети и алтернативну локацију:" + +#: gajim/data/gui/groupchat_control.ui:1739 +#, fuzzy +msgid "Reason (optional)..." +msgstr "Разлог" + +#: gajim/data/gui/groupchat_control.ui:1752 +msgid "Reason for destruction" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1767 +msgid "Where participants should go" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1808 +#, fuzzy +msgid "Rename This Chat" +msgstr "Напусти групне разговоре" + +#: gajim/data/gui/groupchat_control.ui:1935 +#, fuzzy +msgid "_Invite" +msgstr "Позо_ви" + +#: gajim/data/gui/groupchat_control.ui:2020 +#, fuzzy +msgid "Settings for This Chat" +msgstr "Игнориши ову грешку за овај сертификат." + +#: gajim/data/gui/filetransfers.ui:21 +msgid "Pa_use/Resume" +msgstr "" + +#: gajim/data/gui/filetransfers.ui:45 +#, fuzzy +msgid "_Open Folder" +msgstr "_Отвори садржавајућу фасциклу" + +#: gajim/data/gui/filetransfers.ui:56 gajim/data/gui/filetransfers.ui:206 +msgid "File Transfers" +msgstr "Преноси датотека" + +#: gajim/data/gui/filetransfers.ui:91 +#, fuzzy +msgid "_Show notification when file transfer is complete" +msgstr "_Обавести ме када се заврши пренос датотеке" + +#: gajim/data/gui/filetransfers.ui:131 +msgid "file transfers list" +msgstr "листа преноса датотека" + +#: gajim/data/gui/filetransfers.ui:132 +msgid "A list of active, completed and stopped file transfers" +msgstr "Листа преноса активних, завршених и заустављених датотека" + +#: gajim/data/gui/filetransfers.ui:154 +#, fuzzy +msgid "Remove completed, cancelled and failed file transfers from the list" +msgstr "Уклони завршене, прекинуте и неуспеле преносе датотека из листе" + +#: gajim/data/gui/filetransfers.ui:167 +#, fuzzy +msgid "Pause or resume file transfer" +msgstr "Прекини пренос датотеке" + +#: gajim/data/gui/filetransfers.ui:180 +#, fuzzy +msgid "Cancel the selected file transfer and remove incomplete files" +msgstr "Прекини пренос означене датотеке и избриши недовршену датотеку" + +#: gajim/data/gui/filetransfers.ui:207 +#, fuzzy +msgid "Shows a list of file transfers between you and your contacts" +msgstr "Приказује листу преноса датотека између Вас и осталих" + +#: gajim/data/gui/add_new_contact_window.ui:76 +#, fuzzy +msgid "_XMPP Address" +msgstr "_Адреса:" + +#: gajim/data/gui/add_new_contact_window.ui:92 +#, fuzzy +msgid "_Nickname" +msgstr "_Надимак:" + +#: gajim/data/gui/add_new_contact_window.ui:109 +#, fuzzy +msgid "_Group" +msgstr "_Група:" + +#: gajim/data/gui/add_new_contact_window.ui:157 +msgid "Choose or type new group name" +msgstr "" + +#: gajim/data/gui/add_new_contact_window.ui:173 +#, fuzzy +msgid "A_ccount" +msgstr "_Налог:" + +#: gajim/data/gui/add_new_contact_window.ui:189 +#, fuzzy +msgid "_Protocol" +msgstr "_Протокол:" + +#: gajim/data/gui/add_new_contact_window.ui:287 +#: gajim/data/gui/single_message_window.ui:161 +#, fuzzy +msgid "Query Contact Info" +msgstr "Информације контакта" + +#: gajim/data/gui/add_new_contact_window.ui:312 +#, fuzzy +msgid "A_llow contact to view my status" +msgstr "Дозво_ли овом контакту да види мој статус" + +#: gajim/data/gui/add_new_contact_window.ui:363 +#, fuzzy +msgid "_Save subscription message" +msgstr "_Претплата" + +#: gajim/data/gui/add_new_contact_window.ui:389 +#, fuzzy +msgid "" +"You have to register with this transport\n" +"to be able to add a contact from this\n" +"protocol. Click on Register button to\n" +"proceed." +msgstr "" +"Морате се регистровати на овај транспорт\n" +"како бисте могли додати контакте са овог\n" +"протокола. Кликните на дугме за регистрацију\n" +"за наставак." + +#: gajim/data/gui/add_new_contact_window.ui:404 +msgid "_Register" +msgstr "_Регистрација" + +#: gajim/data/gui/add_new_contact_window.ui:433 +msgid "" +"You must be connected to the transport to be able\n" +"to add a contact from this protocol." +msgstr "" +"Морате бити повезани на транспорт да бисте могли\n" +"додавати контакте са овог протокола." + +#: gajim/data/gui/add_new_contact_window.ui:467 +#, fuzzy +msgid "_Add" +msgstr "_Адреса:" + +#: gajim/data/gui/account_wizard.ui:16 gajim/data/gui/manage_proxies.ui:206 +#, fuzzy +msgid "_Port" +msgstr "_Порт:" + +#: gajim/data/gui/account_wizard.ui:46 +#, fuzzy +msgid "_Hostname" +msgstr "Име хоста:" + +#: gajim/data/gui/account_wizard.ui:62 gajim/data/gui/account_wizard.ui:689 +#: gajim/data/gui/manage_proxies.ui:223 +msgid "example.org" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:75 +#, fuzzy +msgid "Prox_y" +msgstr "Прок_си:" + +#: gajim/data/gui/account_wizard.ui:110 +#, fuzzy +msgid "Manage Proxies..." +msgstr "Подешавање прокси профила" + +#: gajim/data/gui/account_wizard.ui:131 gajim/data/gui/preferences.ui:798 +#, fuzzy +msgid "Advanced Settings" +msgstr "Регистрација неуспела" + +#: gajim/data/gui/account_wizard.ui:163 gajim/data/gui/manage_proxies.ui:290 +#, fuzzy +msgid "_Type" +msgstr "Врс_та:" + +#: gajim/data/gui/account_wizard.ui:203 +msgid "Welcome" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:219 +#, fuzzy +msgid "Please enter your credentials or Sign Up" +msgstr "Молимо Вас направите нову чисту тему са жељеним именом." + +#: gajim/data/gui/account_wizard.ui:237 +msgid "Your XMPP address (e.g. user@example.org)" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:239 +#: gajim/data/gui/single_message_window.ui:59 +msgid "user@example.org" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:252 +#, fuzzy +msgid "Your password" +msgstr "Унесите нову лозинку:" + +#: gajim/data/gui/account_wizard.ui:266 gajim/data/gui/account_wizard.ui:719 +#, fuzzy +msgid "_Advanced Settings" +msgstr "Регистрација неуспела" + +#: gajim/data/gui/account_wizard.ui:270 gajim/data/gui/account_wizard.ui:723 +#, fuzzy +msgid "Proxy, custom hostname and port" +msgstr "Користи Ваше одређено име хоста/порт " + +#: gajim/data/gui/account_wizard.ui:283 +msgid "_Log In" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:288 +msgid "Log in with your credentials" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:304 +#, fuzzy +msgid "or" +msgstr "За" + +#: gajim/data/gui/account_wizard.ui:314 +#, fuzzy +msgid "_Sign Up" +msgstr "Пријављивању" + +#: gajim/data/gui/account_wizard.ui:318 +msgid "Sign up for a new account on a server of your choice" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:369 +msgid "Visit Website" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:410 +#, fuzzy +msgid "Certificate Verification Failed" +msgstr "Грешка SSL сертификата" + +#: gajim/data/gui/account_wizard.ui:428 +msgid "" +"The following warnings came up while trying to verify the server's " +"certificate" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:457 +#, fuzzy +msgid "_Show Certificate" +msgstr "Самопотписани сертификат" + +#: gajim/data/gui/account_wizard.ui:472 +#, fuzzy +msgid "_Add to Trusted Certificates" +msgstr "Самопотписани сертификат" + +#: gajim/data/gui/account_wizard.ui:501 gajim/data/gui/account_wizard.ui:664 +msgid "Which server should I choose?" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:516 +msgid "" +"There are plenty of servers to choose from.\n" +"Creating an account on one server allows you to communicate with contacts " +"from other servers as well." +msgstr "" + +#: gajim/data/gui/account_wizard.ui:530 +msgid "Visit Server's Website" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:550 +msgid "Listing of Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:568 +msgid "" +"xmpp.org/getting-started" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:646 +#, fuzzy +msgid "_Please choose a server" +msgstr "Молимо Вас направите нову чисту тему са жељеним именом." + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "" + +#: gajim/data/gui/application_menu.ui:8 +#, fuzzy +msgid "_Start / Join Chat…" +msgstr "Започни разговор" + +#: gajim/data/gui/application_menu.ui:13 +#, fuzzy +msgid "Create _Group Chat…" +msgstr "Напусти групне разговоре" + +#: gajim/data/gui/application_menu.ui:18 +#, fuzzy +msgid "_History Manager" +msgstr "Управник историјатом" + +#: gajim/data/gui/application_menu.ui:22 +#, fuzzy +msgid "Pl_ugins" +msgstr "Регистрација неуспела" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +#, fuzzy +msgid "_Preferences" +msgstr "Подешавања" + +#: gajim/data/gui/application_menu.ui:36 +#, fuzzy +msgid "_Accounts" +msgstr "Налози" + +#: gajim/data/gui/application_menu.ui:39 +#, fuzzy +msgid "_View" +msgstr "_Приказ" + +#: gajim/data/gui/application_menu.ui:46 +#, fuzzy +msgid "Show _Offline Contacts" +msgstr "Прикажи контакте који нису на вези" + +#: gajim/data/gui/application_menu.ui:50 +#, fuzzy +msgid "Show _Active Contacts" +msgstr "Прикажи само _активне контакте" + +#: gajim/data/gui/application_menu.ui:54 +#, fuzzy +msgid "Show _Transports" +msgstr "Прикажи транс_порте" + +#: gajim/data/gui/application_menu.ui:60 +#, fuzzy +msgid "_XML Console" +msgstr "XML Конзола" + +#: gajim/data/gui/application_menu.ui:64 +#, fuzzy +msgid "_File Transfer" +msgstr "Преноси датотека" + +#: gajim/data/gui/application_menu.ui:74 +#, fuzzy +msgid "_Help" +msgstr "_Помоћ" + +#: gajim/data/gui/application_menu.ui:77 +#, fuzzy +msgid "_Wiki (Online)" +msgstr "На вези" + +#: gajim/data/gui/application_menu.ui:81 +#, fuzzy +msgid "FA_Q (Online)" +msgstr "На вези" + +#: gajim/data/gui/application_menu.ui:85 +msgid "_Keyboard Shortcuts" +msgstr "" + +#: gajim/data/gui/application_menu.ui:89 +#, fuzzy +msgid "_Features" +msgstr "Могућности" + +#: gajim/data/gui/application_menu.ui:93 +#, fuzzy +msgid "_About" +msgstr "О" + +#: gajim/data/gui/filetransfer_progress.ui:125 +msgid "Speed" +msgstr "" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +#, fuzzy +msgid "OK" +msgstr "_У реду" + +#: gajim/data/gui/plugins_window.ui:55 +msgid "Install Plugin from ZIP-File" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:56 +msgid "Install from File…" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:70 +#, fuzzy +msgid "Uninstall Plugin" +msgstr "Застој" + +#: gajim/data/gui/plugins_window.ui:116 +#, fuzzy +msgid "" +msgstr "Регистрација неуспела" + +#: gajim/data/gui/plugins_window.ui:133 +#, fuzzy +msgid "Plugin Settings" +msgstr "Регистрација неуспела" + +#: gajim/data/gui/plugins_window.ui:215 +#, fuzzy +msgid "" +msgstr "Опис" + +#: gajim/data/gui/plugins_window.ui:239 +#, fuzzy +msgid "Version" +msgstr "ГТК+ верзија:" + +#: gajim/data/gui/plugins_window.ui:271 +#, fuzzy +msgid "Authors" +msgstr "_Одобри ауторизацију" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +#, fuzzy +msgid "Homepage" +msgstr "Лична страна:" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:349 +#, fuzzy +msgid "Installed" +msgstr "Застој" + +#: gajim/data/gui/plugins_window.ui:363 +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +msgid "Synchronise contacts" +msgstr "Синхронизуј контакте" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "Одаберите налог са којим желите да се синхронизујете" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +#, fuzzy +msgid "_Name" +msgstr "_Име:" + +#: gajim/data/gui/groupchat_creation.ui:122 +#, fuzzy +msgid "_Description" +msgstr "Опис" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +#, fuzzy +msgid "_Address" +msgstr "_Адреса:" + +#: gajim/data/gui/groupchat_creation.ui:278 +#, fuzzy +msgid "_Account" +msgstr "_Налози" + +#: gajim/data/gui/profile.ui:33 +#, fuzzy +msgid "Contact Infos" +msgstr "Информације контакта" + +#: gajim/data/gui/profile.ui:45 +#, fuzzy +msgid "Picture and Name" +msgstr "Надимак за коришћење" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "" + +#: gajim/data/gui/profile.ui:198 +#, fuzzy +msgid "Change your profile picture" +msgstr "Промени надимак (Ctrl+N)" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:298 +#, fuzzy +msgid "Add Entry" +msgstr "Унос:" + +#: gajim/data/gui/profile.ui:410 +#, fuzzy +msgid "Update" +msgstr "Освежи поруку дана..." + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:15 +#, fuzzy +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "SOCKS5" + +#: gajim/data/gui/manage_proxies.ui:65 +#, fuzzy +msgid "Add Proxy" +msgstr "Прок_си:" + +#: gajim/data/gui/manage_proxies.ui:79 +#, fuzzy +msgid "Remove Proxy" +msgstr "Уклони групу" + +#: gajim/data/gui/manage_proxies.ui:131 +#, fuzzy +msgid "Pass_word" +msgstr "Лозинка:" + +#: gajim/data/gui/manage_proxies.ui:156 +msgid "Use proxy auth_entication" +msgstr "Користи прокси пријављивање" + +#: gajim/data/gui/manage_proxies.ui:176 +#, fuzzy +msgid "_Username" +msgstr "_Корисничко име:" + +#: gajim/data/gui/manage_proxies.ui:237 +#, fuzzy +msgid "_Host" +msgstr "Име хоста:" + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "Локални џабер ИД:" + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "Ресурс:" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "Статус:" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +#, fuzzy +msgid "_Store conversation history" +msgstr "_Памти у дневнику историјат разговора" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +msgid "Contact" +msgstr "Контакт" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +msgid "First Name:" +msgstr "Име:" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +msgid "Last Name:" +msgstr "Презиме:" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +#, fuzzy +msgid "XMPP Address:" +msgstr "АИМ адреса:" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "Е-мејл:" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +msgid "Personal" +msgstr "Лично" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "_Статус" + +#: gajim/data/gui/account_context_menu.ui:20 +msgid "_Personal Events" +msgstr "Лични догађаји" + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "_Додај контакт..." + +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "_Откривање сервиса" + +#: gajim/data/gui/account_context_menu.ui:57 +msgid "_Execute Command..." +msgstr "_Изврши наредбу..." + +#: gajim/data/gui/account_context_menu.ui:65 +#, fuzzy +msgid "_View Server Info" +msgstr "Сервер" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:125 +#, fuzzy +msgid "Global Group Chat Search" +msgstr "Придружи се групном разговору" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +#, fuzzy +msgid "_Back" +msgstr "Враћам се брзо" + +#: gajim/data/gui/start_chat_dialog.ui:386 +#, fuzzy +msgid "Select Account" +msgstr "Уклањање рачуна %s" + +#: gajim/data/gui/start_chat_dialog.ui:477 +msgid "_Select" +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +#, fuzzy +msgid "Configure" +msgstr "_Конфигуриши" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Гајим" + +#: gajim/data/gui/groups_post_window.ui:9 +msgid "Create new post" +msgstr "Направи нову објаву" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "Ста_тус" + +#: gajim/data/gui/systray_context_menu.ui:20 +msgid "_Start Chat..." +msgstr "_Започни разговор" + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "Пошаљи једну _поруку..." + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "Прикажи св_е догађаје на чекању" + +#: gajim/data/gui/systray_context_menu.ui:52 +msgid "Mute Sounds" +msgstr "Угаси звукове" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +#, fuzzy +msgid "Contact List" +msgstr "Контакт" + +#: gajim/data/gui/shortcuts_window.ui:24 +#, fuzzy +msgid "Create new group chat" +msgstr "Напусти групне разговоре" + +#: gajim/data/gui/shortcuts_window.ui:45 +#, fuzzy +msgid "File transfers" +msgstr "Преноси датотека" + +#: gajim/data/gui/shortcuts_window.ui:52 +#, fuzzy +msgid "Set the status message" +msgstr "статусна порука" + +#: gajim/data/gui/shortcuts_window.ui:59 +#, fuzzy +msgid "Show XML console" +msgstr "Прикажи _XML Конзолу" + +#: gajim/data/gui/shortcuts_window.ui:74 +#, fuzzy +msgid "Appearance" +msgstr "Изглед разговора" + +#: gajim/data/gui/shortcuts_window.ui:79 +#, fuzzy +msgid "Show offline contacts" +msgstr "Прикажи контакте који нису на вези" + +#: gajim/data/gui/shortcuts_window.ui:86 +#, fuzzy +msgid "Show only active contacts" +msgstr "Прикажи само _активне контакте" + +#: gajim/data/gui/shortcuts_window.ui:93 +msgid "Enable contact list filtering" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:100 +#, fuzzy +msgid "Show / hide contact list" +msgstr "Прикажи само _активне контакте" + +#: gajim/data/gui/shortcuts_window.ui:113 +#, fuzzy +msgid "Contact information" +msgstr "Информације контакта" + +#: gajim/data/gui/shortcuts_window.ui:120 +#, fuzzy +msgid "Rename contact" +msgstr "Преименуј контакт" + +#: gajim/data/gui/shortcuts_window.ui:127 +#, fuzzy +msgid "Delete contact" +msgstr "Послати контакти:" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +#, fuzzy +msgid "Chat" +msgstr "Разговори" + +#: gajim/data/gui/shortcuts_window.ui:142 +#, fuzzy +msgid "Message composition" +msgstr "Садржај поруке" + +#: gajim/data/gui/shortcuts_window.ui:147 +#, fuzzy +msgid "Send the message" +msgstr "Пошаљи поруку" + +#: gajim/data/gui/shortcuts_window.ui:154 +#, fuzzy +msgid "Add new line" +msgstr "Направи нову објаву" + +#: gajim/data/gui/shortcuts_window.ui:161 +msgid "Select an emoji" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:168 +#, fuzzy +msgid "Complete a command or a nickname" +msgstr "Молимо Вас направите нову чисту тему са жељеним именом." + +#: gajim/data/gui/shortcuts_window.ui:175 +#, fuzzy +msgid "Previously sent message" +msgstr "Већ постављене поруке:" + +#: gajim/data/gui/shortcuts_window.ui:182 +#, fuzzy +msgid "Next sent messages" +msgstr "Већ постављене поруке:" + +#: gajim/data/gui/shortcuts_window.ui:189 +#, fuzzy +msgid "Quote previous message" +msgstr "статусна порука" + +#: gajim/data/gui/shortcuts_window.ui:196 +#, fuzzy +msgid "Quote next message" +msgstr "Пошаљи поруку" + +#: gajim/data/gui/shortcuts_window.ui:203 +#, fuzzy +msgid "Clear message entry" +msgstr "Порука Послата" + +#: gajim/data/gui/shortcuts_window.ui:211 +#, fuzzy +msgid "Recent history" +msgstr "Недавно:" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:230 +#, fuzzy +msgid "Clear chat window" +msgstr "Начин коришћења: /%s, празни текстуални прозор" + +#: gajim/data/gui/shortcuts_window.ui:237 +#, fuzzy +msgid "Show chat history" +msgstr "Недавно:" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:299 +msgid "Close chat" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:312 +#, fuzzy +msgid "Change Nickname" +msgstr "Промени _надимак..." + +#: gajim/data/gui/chat_control.ui:48 +#, fuzzy +msgid "Drop files or contacts" +msgstr "Шаље датотеку контакту" + +#: gajim/data/gui/chat_control.ui:80 +#, fuzzy +msgid "1" +msgstr "Фонт" + +#: gajim/data/gui/chat_control.ui:101 +#, fuzzy +msgid "2 abc" +msgstr "Фонт" + +#: gajim/data/gui/chat_control.ui:121 +#, fuzzy +msgid "3 def" +msgstr "Фонт" + +#: gajim/data/gui/chat_control.ui:141 +#, fuzzy +msgid "4 ghi" +msgstr "Фонт" + +#: gajim/data/gui/chat_control.ui:161 +#, fuzzy +msgid "5 jkl" +msgstr "Фонт" + +#: gajim/data/gui/chat_control.ui:181 +#, fuzzy +msgid "6 mno" +msgstr "Фонт" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "7 pqrs" + +#: gajim/data/gui/chat_control.ui:221 +#, fuzzy +msgid "8 tuv" +msgstr "Фонт" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "9 wxyz" + +#: gajim/data/gui/chat_control.ui:261 +#, fuzzy +msgid "*" +msgstr "Фонт" + +#: gajim/data/gui/chat_control.ui:281 +#, fuzzy +msgid "0" +msgstr "Фонт" + +#: gajim/data/gui/chat_control.ui:301 +#, fuzzy +msgid "#" +msgstr "Фонт" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "Започни ра_зговор" + +#: gajim/data/gui/contact_context_menu.ui:28 +msgid "Send _File..." +msgstr "Пошаљи _датотеку..." + +#: gajim/data/gui/contact_context_menu.ui:44 +msgid "Invite _Contacts" +msgstr "Позови контакте" + +#: gajim/data/gui/contact_context_menu.ui:58 +msgid "E_xecute Command..." +msgstr "И_зврши наредбу..." + +#: gajim/data/gui/contact_context_menu.ui:67 +#, fuzzy +msgid "M_anage Contact" +msgstr "_Управљање контактима" + +#: gajim/data/gui/contact_context_menu.ui:77 +msgid "_Rename..." +msgstr "_Преименуј..." + +#: gajim/data/gui/contact_context_menu.ui:84 +msgid "Edit _Groups..." +msgstr "Измени _групе..." + +#: gajim/data/gui/contact_context_menu.ui:92 +msgid "Add Special _Notification..." +msgstr "Додај посеб_но обавештење..." + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "_Претплата" + +#: gajim/data/gui/contact_context_menu.ui:115 +#, fuzzy +msgid "_Allow contact to see my status" +msgstr "Дозво_ли овом контакту да види мој статус" + +#: gajim/data/gui/contact_context_menu.ui:123 +#, fuzzy +msgid "A_sk to see contact status" +msgstr "Тражи његов/њен статус" + +#: gajim/data/gui/contact_context_menu.ui:131 +#, fuzzy +msgid "_Forbid contact to see my status" +msgstr "_Забрани му/јој да види мој статус" + +#: gajim/data/gui/contact_context_menu.ui:159 +msgid "_Unignore" +msgstr "_Поништи игнрисање" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "_Игнориши" + +#: gajim/data/gui/contact_context_menu.ui:174 +#, fuzzy +msgid "_Add to Contact List..." +msgstr "_Додај контакт..." + +#: gajim/data/gui/single_message_window.ui:42 +#, fuzzy +msgid "_To" +msgstr "За" + +#: gajim/data/gui/single_message_window.ui:71 +#, fuzzy +msgid "Su_bject" +msgstr "Тема" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "" + +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "_Порука" + +#: gajim/data/gui/single_message_window.ui:144 +#, fuzzy +msgid "Characters typed: 0" +msgstr "Карактер није дозвољен" + +#: gajim/data/gui/single_message_window.ui:189 +#, fuzzy +msgid "_From" +msgstr "Од" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "П_ошаљи" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "Пошаљи поруку" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "_Одговор" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "Одговори на ову поруку" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "_Пошаљи и затвори" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "Пошаљи поруку и затвори прозор" + +#: gajim/data/gui/vcard_information_window.ui:106 +#, fuzzy +msgid "Client" +msgstr "Клијент:" + +#: gajim/data/gui/vcard_information_window.ui:140 +#, fuzzy +msgid "Contact time" +msgstr "Име контакта" + +#: gajim/data/gui/vcard_information_window.ui:240 +#, fuzzy +msgid "User avatar" +msgstr "Аватар:" + +#: gajim/data/gui/vcard_information_window.ui:255 +#, fuzzy +msgid "Configured avatar" +msgstr "Конфигурисани аватар:" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +msgid "Ask" +msgstr "" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +#, fuzzy +msgid "Subscription" +msgstr "Претплата: " + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +#, fuzzy +msgid "Extra Address" +msgstr "Додатна адреса:" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +msgid "Address" +msgstr "Адреса" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +#, fuzzy +msgid "E-Mail" +msgstr "Е-мејл:" + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "Формат: ГГГГ-ММ-ДД" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +#, fuzzy +msgid "Family" +msgstr "Презиме:" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +#, fuzzy +msgid "Middle" +msgstr "Средина недеље" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +#, fuzzy +msgid "Prefix" +msgstr "Подешавања" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +msgid "Given" +msgstr "" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +#, fuzzy +msgid "Suffix" +msgstr "Суфикс:" + +#: gajim/data/gui/vcard_information_window.ui:958 +#, fuzzy +msgid "Name Details" +msgstr "Име:" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "" + +#: gajim/data/gui/vcard_information_window.ui:1017 +msgid "Personal Info" +msgstr "Личне информације" + +#: gajim/data/gui/vcard_information_window.ui:1040 +#, fuzzy +msgid "Company" +msgstr "Фирма:" + +#: gajim/data/gui/vcard_information_window.ui:1073 +#, fuzzy +msgid "Department" +msgstr "Одсек:" + +#: gajim/data/gui/vcard_information_window.ui:1104 +#, fuzzy +msgid "Position" +msgstr "Позиција:" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "Улога" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "О" + +#: gajim/data/gui/vcard_information_window.ui:1514 +msgid "Comments" +msgstr "Коментари" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "Измени групе" + +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "Лозинка" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +#, fuzzy +msgid "Themes" +msgstr "Тема" + +#: gajim/data/gui/themes_window.ui:171 +#, fuzzy +msgid "Add Setting" +msgstr "Регистрација неуспела" + +#: gajim/data/gui/themes_window.ui:204 +#, fuzzy +msgid "Add new Theme" +msgstr "Направи нову објаву" + +#: gajim/data/gui/themes_window.ui:219 +#, fuzzy +msgid "Remove Theme" +msgstr "Активно" + +#: gajim/data/gui/bookmarks.ui:120 +#, fuzzy +msgid "Autojoin" +msgstr "Аутоматско повезивање" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "" + +#: gajim/data/gui/preferences.ui:68 +#, fuzzy +msgid "Contact List Appearance" +msgstr "Размена ставки контаката" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +#, fuzzy +msgid "Chats" +msgstr "Разговори" + +#: gajim/data/gui/preferences.ui:215 +#, fuzzy +msgid "Visual Notifications" +msgstr "Визуална обавештења" + +#: gajim/data/gui/preferences.ui:243 +#, fuzzy +msgid "Sounds" +msgstr "Wav Звукови" + +#: gajim/data/gui/preferences.ui:303 +#, fuzzy +msgid "Ask For Status Message on…" +msgstr "Питај за статусну поруку при:" + +#: gajim/data/gui/preferences.ui:331 +#, fuzzy +msgid "Automatic Status Change" +msgstr "Аутоматски статус" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "" + +#: gajim/data/gui/preferences.ui:447 +#, fuzzy +msgid "Status Icon" +msgstr "Скуп статусних икона:" + +#: gajim/data/gui/preferences.ui:472 +msgid "Style" +msgstr "Стил" + +#: gajim/data/gui/preferences.ui:511 +#, fuzzy +msgid "Show _Features" +msgstr "Могућности" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:632 +msgid "Audio" +msgstr "" + +#: gajim/data/gui/preferences.ui:660 +msgid "Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:698 +msgid "Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:735 +#, fuzzy +msgid "Miscellaneous" +msgstr "Остало" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:821 +#, fuzzy +msgid "Advanced Configuration Editor… " +msgstr "Напредна измена конфигурације" + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "" + +#: gajim/data/gui/server_info.ui:50 +msgid "Server Software" +msgstr "" + +#: gajim/data/gui/server_info.ui:80 +#, fuzzy +msgid "Server Uptime" +msgstr "Сервер је одговорио: %s" + +#: gajim/data/gui/server_info.ui:109 +#, fuzzy +msgid "Contact Addresses" +msgstr "Порука разговора:" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "" + +#: gajim/data/gui/server_info.ui:177 +#, fuzzy +msgid "Proxy Type" +msgstr "Прок_си:" + +#: gajim/data/gui/server_info.ui:192 +#, fuzzy +msgid "No proxy used" +msgstr "Прок_си:" + +#: gajim/data/gui/server_info.ui:202 +#, fuzzy +msgid "View _Certificate" +msgstr "Самопотписани сертификат" + +#: gajim/data/gui/server_info.ui:222 +#, fuzzy +msgid "Proxy Host" +msgstr "Прокси _хост:" + +#: gajim/data/gui/server_info.ui:421 +#, fuzzy +msgid "Copy info to clipboard" +msgstr "_Копирај локацију везе" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:153 +#, fuzzy +msgid "Serial Number" +msgstr "ГГ Број:" + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:304 +msgid "Expires on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:465 +#, fuzzy +msgid "Copy Certificate Information" +msgstr "Информације контакта" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "Позови пријатеље!" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +#, fuzzy +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "" +"Започећете групни разговор.\n" +"Одаберите контакте које желите да позовете" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +#, fuzzy +msgid "Please select a group chat server." +msgstr "Молимо одаберите сервер групног разговора." + +#: gajim/data/gui/chat_to_muc_window.ui:141 +#, fuzzy +msgid "Group chat server" +msgstr "Групни разговори" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +msgid "In_vite" +msgstr "Позо_ви" + +#: gajim/data/gui/mam_preferences.ui:53 +#, fuzzy +msgid "_Default" +msgstr "Подразумевано" + +#: gajim/data/gui/mam_preferences.ui:136 +#, fuzzy +msgid "Archive" +msgstr "Датотека је празна" + +#: gajim/data/gui/history_manager.ui:11 +#, fuzzy +msgid "_Export" +msgstr "Извези" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +msgid "Gajim History Logs Manager" +msgstr "Гајим менаџер дневника историјата" + +#: gajim/data/gui/history_manager.ui:104 +#, fuzzy +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" +"Овај менаџер дневника није намењен за преглед дневника. Ако Вам треба та " +"функционалност, користите менаџер дневника историјата.\n" +"\n" +"Користите овај програм да обришете или извезете дневнике. Можете одабрати " +"дневнике са леве стране и/или претражити базу испод." + +#: gajim/data/gui/history_manager.ui:120 +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" +"УПОЗОРЕЊЕ:\n" +"Ако планирате да радите већа уклањања, потрудите се да Гајим није покренут. " +"Уопште, избегавакте уклањања контаката са којима тренутно разговорате." + +#: gajim/data/gui/history_manager.ui:211 +#, fuzzy +msgid "Search database..." +msgstr "_Претражи базу података" + +#: gajim/data/gui/history_manager.ui:226 +#, fuzzy +msgid "Search in database" +msgstr "_Претражи базу података" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" + +#: gajim/data/gui/groupchat_invite.ui:69 +#, fuzzy +msgid "Invitees" +msgstr "Позо_ви" + +#: gajim/data/gui/groupchat_invite.ui:153 +#, fuzzy +msgid "Search contacts..." +msgstr "_Претражи базу података" + +#: gajim/data/gui/groupchat_invite.ui:223 +#, fuzzy +msgid "Click on contacts you would like to invite to this group chat." +msgstr "%(nick)s је избачен из собе (%(reason)s)" + +#: gajim/data/gui/service_discovery_window.ui:148 +#, fuzzy +msgid "Go" +msgstr "Кре_ни" + +#: gajim/data/gui/status_change_window.ui:27 +#, fuzzy +msgid "Change Status" +msgstr "Измени статус" + +#: gajim/data/gui/status_change_window.ui:56 +#, fuzzy +msgid "Status Presets…" +msgstr "Статусна порука" + +#: gajim/data/gui/status_change_window.ui:72 +msgid "Save this message as a preset" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:130 +#, fuzzy +msgid "Ac_tivity" +msgstr "Активност:" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:278 +#, fuzzy +msgid "_Change Status" +msgstr "Измени статус" + +#: gajim/data/gui/status_change_window.ui:313 +#, fuzzy +msgid "Activity" +msgstr "Активност:" + +#: gajim/data/gui/status_change_window.ui:326 +#, fuzzy +msgid "_No Activity" +msgstr "Активност:" + +#: gajim/data/gui/status_change_window.ui:729 +#, fuzzy +msgid "Mood" +msgstr "Расположен" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +#, fuzzy +msgid "Author" +msgstr "_Одобри ауторизацију" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +#, fuzzy +msgid "Group Chat Language" +msgstr "Позив на групни разговор" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +#, fuzzy +msgid "Copy Address" +msgstr "_Копирај џабер ИД/е-мејл адресу" + +#: gajim/data/gui/emoji_chooser.ui:98 +#, fuzzy +msgid "No Results Found" +msgstr "Нема резултата" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr "XML Конзола" + +#: gajim/data/gui/xml_console.ui:131 +#, fuzzy +msgid "Start Search..." +msgstr "_Започни разговор" + +#: gajim/data/gui/xml_console.ui:260 +#, fuzzy +msgid "Clear" +msgstr "Чисти" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "" + +#: gajim/data/gui/xml_console.ui:316 +#, fuzzy +msgid "Presets" +msgstr "_Присутност" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "Синхронизација: одаберите контакте" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +msgid "Select the contacts you want to synchronise" +msgstr "Одаберите контакте које желите да синхронизујете" + +#: gajim/data/gui/groupchat_config.ui:51 +#, fuzzy +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" +"Може бити једно од следећег:\n" +"1. корисник@домен/ресурс (поклапа се само са тим ресурсом).\n" +"2. корисник@домен (поклапа се са било којим ресурсом).\n" +"3. домен/ресурс (поклапа се само са тим ресурсом).\n" +"4. домен (само се домен поклапа, као и било који корисник@домен,\n" +"домен/ресурс, или адреса која садржи поддомен." + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:309 +#, fuzzy +msgid "Reserved Name" +msgstr "Име поставке" + +#: gajim/data/gui/groupchat_config.ui:346 +#, fuzzy +msgid "Affiliation" +msgstr "Везаност:" + +#: gajim/data/gui/groupchat_config.ui:377 +#, fuzzy +msgid "Affiliations" +msgstr "Апликације" + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "Разлог" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "Листа забрана" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "_Одбиј" + +#: gajim/data/gui/subscription_request_window.ui:34 +#, fuzzy +msgid "_Block User" +msgstr "_Блокирај" + +#: gajim/data/gui/subscription_request_window.ui:49 +msgid "_Report as Spam" +msgstr "" + +#: gajim/data/gui/subscription_request_window.ui:212 +#, fuzzy +msgid "_Deny…" +msgstr "_Одбиј" + +#: gajim/data/gui/subscription_request_window.ui:225 +#, fuzzy +msgid "Ac_cept" +msgstr "_Налози" + +#: gajim/data/gui/subscription_request_window.ui:230 +#, fuzzy +msgid "Allows the contact to see your online status" +msgstr "Дозво_ли овом контакту да види мој статус" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:115 +msgid "_Report Bug" +msgstr "" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "догађај" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "Одаберите звук" + +#: gajim/data/gui/manage_sounds.ui:97 +#, fuzzy +msgid "Clear Sound" +msgstr "Одаберите звук" + +#: gajim/data/gui/manage_sounds.ui:118 +#, fuzzy +msgid "Play Sound" +msgstr "Пуштај звукове" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +#, fuzzy +msgid "_Send Files" +msgstr "Пошаљи _датотеку" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +#, fuzzy +msgid "Send" +msgstr "_Пошаљи" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +#, fuzzy +msgid "Files to send" +msgstr "Одаберите датотеку за слање..." + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +#, fuzzy +msgid "Add Files" +msgstr "Датотека: " + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +#, fuzzy +msgid "Remove Files" +msgstr "_Уклони" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +#, fuzzy +msgid "Idle since:" +msgstr " од %s" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +msgid "Mood:" +msgstr "Расположење:" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +msgid "Activity:" +msgstr "Активност:" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +#, fuzzy +msgid "Tune:" +msgstr "Песма:" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +#, fuzzy +msgid "Location:" +msgstr "Обавештење" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +#, fuzzy +msgid "Subscription:" +msgstr "Претплата: " + +#: gajim/data/gui/advanced_configuration.ui:15 +#, fuzzy +msgid "A restart may be required for some settings to take effect" +msgstr "" +"НАПОМЕНА: Требало би да поново покренете Гајим да би неке измене " +"подешавања постале примењене" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "" + +#: gajim/data/gui/advanced_configuration.ui:120 +#, fuzzy +msgid "_Reset Value" +msgstr "_Поново учитај подразумеване боје" + +#: gajim/data/gui/advanced_configuration.ui:125 +#, fuzzy +msgid "Resets value to default" +msgstr "_Поново учитај подразумеване боје" + +#: gajim/data/gui/history_window.ui:27 +#, fuzzy +msgid "Display status changes" +msgstr "_Записуј у дневник статусне промене контаката" + +#: gajim/data/gui/history_window.ui:57 +msgid "History Manager" +msgstr "Управник историјатом" + +#: gajim/data/gui/history_window.ui:233 +#, fuzzy +msgid "Mode" +msgstr "Модератор" + +#: gajim/data/gui/history_window.ui:246 +#, fuzzy +msgid "Search complete history" +msgstr "Недавно:" + +#: gajim/data/gui/history_window.ui:263 +msgid "Search selected day only" +msgstr "" + +#: gajim/data/gui/history_window.ui:317 +#, fuzzy +msgid "Store history for this chat" +msgstr "Игнориши ову грешку за овај сертификат." + +#: gajim/data/gui/history_window.ui:332 +#, fuzzy +msgid "Store History" +msgstr "Недавно:" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +#, fuzzy +msgid "Identified Error" +msgstr "Грешка SSL сертификата" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +#, fuzzy +msgid "" +msgstr "Грешка" + +#: gajim/data/gui/ssl_error_dialog.ui:74 +#, fuzzy +msgid "Add this certificate to the list of _trusted certificates" +msgstr "" +"Додајте овај сертификат листи сертификата којима верујете\n" +"SHA1 потпис сертификата:\n" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +#, fuzzy +msgid "_View Certificate" +msgstr "Самопотписани сертификат" + +#: gajim/data/gui/ssl_error_dialog.ui:120 +#, fuzzy +msgid "_Connect" +msgstr "На вези" + +#: data/org.gajim.Gajim.desktop.in:5 +#, fuzzy +msgid "XMPP Chat Client" +msgstr "Џабер IM Клијент" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:8 +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:27 +#, fuzzy +msgid "Show next pending event" +msgstr "Прикажи св_е догађаје на чекању" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:17 +#, fuzzy +msgid "Features:" +msgstr "Могућности" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +#, fuzzy +msgid "Automatic spell-checking for your messages" +msgstr "Провера правописа састављених порука." + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +#, fuzzy +msgid "Support for service discovery including nodes and search for users" +msgstr "Откривање услуга са налога %s" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +#, fuzzy +msgid "Contact list" +msgstr "Контакт" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +#, fuzzy +msgid "Group chat support" +msgstr "Групни разговори" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +#, fuzzy +msgid "Chat history" +msgstr "Недавно:" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +#, fuzzy +msgid "Plugin manager" +msgstr "Регистрација неуспела" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +#, fuzzy +msgid "Gajim Team" +msgstr "Гајим - %s" + +#, fuzzy +#~ msgid "Chat Settings" +#~ msgstr "Регистрација неуспела" + +#, fuzzy +#~ msgid "Composing only" +#~ msgstr "Састављање" + +#, fuzzy +#~ msgid "All chat states" +#~ msgstr "Сви статуси" + +#~ msgid "Privacy Lists" +#~ msgstr "Листа приватности" + +#, fuzzy +#~ msgid "Unblock" +#~ msgstr "_Одблокирај" + +#, fuzzy +#~ msgid "Block" +#~ msgstr "_Блокирај" + +#~ msgid "None" +#~ msgstr "Ништа" + +#, python-format +#~ msgid "%s Status Message" +#~ msgstr "%s Статусна порука" + +#~ msgid "Could not load image" +#~ msgstr "Не могу учитати слику" + +#, fuzzy +#~ msgid "Error." +#~ msgstr "Грешка" + +#, fuzzy +#~ msgid "" +#~ "This contact will see you offline and you will not receive any messages " +#~ "sent to you by this contact." +#~ msgstr "" +#~ "Контакт ће вас видети као да нисте на вези и нећете добијати поруке које " +#~ "вам шаље." + +#, fuzzy +#~ msgid "_Block Contact" +#~ msgstr "Блокирани контакти" + +#, fuzzy +#~ msgid "Block Group" +#~ msgstr "_Блокирај" + +#, fuzzy +#~ msgid "Really block this group?" +#~ msgstr "Да ли је OpenPGP омогућен за овај контакт?" + +#, fuzzy +#~ msgid "" +#~ "All contacts of this group will see you as offline and you will not " +#~ "receive any messages sent to you by any one of these contacts." +#~ msgstr "" +#~ "Контакт ће вас видети као да нисте на вези и нећете добијати поруке које " +#~ "вам шаље." + +#, fuzzy +#~ msgid "_Block Group" +#~ msgstr "_Блокирај" + +#~ msgid "No account available" +#~ msgstr "Нема доступних налога" + +#~ msgid "You must create an account before you can chat with other contacts." +#~ msgstr "" +#~ "Морате креирати налог пре него што можете да разговарате са осталим " +#~ "контактима." + +#~ msgid "Metacontacts storage not supported by your server" +#~ msgstr "Чување псеудоконтаката није подржано од стране Вашег сервера" + +#, fuzzy +#~ msgid "" +#~ "Your server does not support storing metacontacts information. So this " +#~ "information will not be saved on next reconnection." +#~ msgstr "" +#~ "Ваш сервер не подржава чување информација псеудоконтаката. Те информације " +#~ "неће бити сачуване при следећем повезивању." + +#, fuzzy, python-brace-format +#~ msgid "You are invited to {room} by {user}" +#~ msgstr "Позвани сте у групни разговор" + +#, fuzzy, python-format +#~ msgid "%s wants to start a voice chat." +#~ msgstr "%s Вам жели послати датотеку." + +#~ msgid "Could not save your settings and preferences" +#~ msgstr "Није могуће чување Ваших подешавања" + +#, fuzzy +#~ msgid "Error While Removing Privacy List" +#~ msgstr "Грешка приликом уклањања листа приватности" + +#, fuzzy, python-format +#~ msgid "" +#~ "Privacy list %s has not been removed. It is probably active in one of " +#~ "your connected resources. Please deactivate it and try again." +#~ msgstr "" +#~ "Листа приватности %s није уклоњена. Можда је активна у неком од Ваших " +#~ "ресурса на вези. Деактивирајте је тамо и покушајте поново." + +#, fuzzy +#~ msgid "Invisibility Not Supported" +#~ msgstr "Невидљивост није подржана" + +#, fuzzy, python-format +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "Налог %s не подржава невидљивост." + +#, fuzzy +#~ msgid "Could not request upload slot for HTTP File Upload" +#~ msgstr "Није могуће покренути локални сервис" + +#, fuzzy +#~ msgid "Not Secure" +#~ msgstr "Није почео" + +#, fuzzy +#~ msgid "Could not Upload File" +#~ msgstr "Не могу учитати слику" + +#~ msgid "Lists all preferences and their values" +#~ msgstr "Приказује сва подешавања и њихове вредности" + +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "Поставља вредност 'кључа' на 'вредност'." + +#~ msgid "key=value" +#~ msgstr "кључ=вредност" + +#, fuzzy +#~ msgid "'key' is the name of the preference, 'value' is what to set it to" +#~ msgstr "" +#~ "'кључ' је име ставке подешавања, 'вредност' је вредност на коју ће се " +#~ "ставка поставити" + +#~ msgid "Deletes a preference item" +#~ msgstr "Брише ставку подешавања" + +#~ msgid "key" +#~ msgstr "кључ" + +#~ msgid "name of the preference to be deleted" +#~ msgstr "име ставке подешавања које ће се брисати" + +#~ msgid "Writes the current state of Gajim preferences to the .config file" +#~ msgstr "Записује тренутно стање Гајим подешавања у .config датотеку" + +#, python-format +#~ msgid "%s is a directory but should be a file" +#~ msgstr "%s jе фасцикла, али би требала бити датотека" + +#, fuzzy, python-format +#~ msgid "Creating %s" +#~ msgstr "Уништавам %s" + +#, python-format +#~ msgid "%(nickname)s Signed In" +#~ msgstr "%(nickname)s је на вези" + +#~ msgid "Contact Signed In" +#~ msgstr "Контакт је на вези" + +#, python-format +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "%(nickname)s је отишао" + +#~ msgid "Contact Signed Out" +#~ msgstr "Контакт је отишао са везе" + +#, fuzzy +#~ msgid "" +#~ "Show desktop notification even when a chat window is opened for this " +#~ "contact and does not have focus." +#~ msgstr "" +#~ "Омогући искачуће прозоре/обавештења када сам _одсутан/недоступан/запослен/" +#~ "невидљив" + +#~ msgid "default" +#~ msgstr "подразумевано" + +#, fuzzy +#~ msgid "" +#~ "Character to propose to add after desired nickname when nickname is " +#~ "already used in group chat." +#~ msgstr "" +#~ "Карактер који желите додати после жељеног надимка уколико је жељени " +#~ "надимак у групном разговору већ употребљен" + +#, fuzzy +#~ msgid "" +#~ "How many seconds to wait before trying to automatically rejoin a group " +#~ "chat you were disconnected from. Set to 0 to disable automatic rejoining." +#~ msgstr "" +#~ "Колико секунди чекати пре поновног аутоматског придруживања соби са које " +#~ "сте раскачени. Ставити 0 да онемогућите поновно аутоматско придруживање." + +#, fuzzy +#~ msgid "If enabled, Gajim displays the avatar in the chat window." +#~ msgstr "Ако није истинито, нећете више видети аватар у прозору разговора." + +#, fuzzy +#~ msgid "" +#~ "Status to be used automatically when connecting. Can be 'online', 'chat', " +#~ "'away', 'xa' or 'dnd'. NOTE: This option is used only if " +#~ "'restore_last_status' is disabled." +#~ msgstr "" +#~ "Статус са којим се аутоматски повезујете. Може бити online, chat, away, " +#~ "xa, dnd, invisible. ПАЖЊА: ова опција се користи само ако је " +#~ "restore_last_status онемогућена." + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending password on an plaintext connection. " +#~ "Can be 'warn', or 'none'." +#~ msgstr "" +#~ "Прикажи прозор упозорења пре слања нешифроване лозинке преко обичне везе." + +#, fuzzy +#~ msgid "" +#~ "How many seconds to wait for the answer of a ping alive packet before " +#~ "trying to reconnect." +#~ msgstr "" +#~ "Колико секунди чекати на одговор о пакетима о живости пре него што " +#~ "покушамо поновно успостављање везе." + +#~ msgid "I'm available." +#~ msgstr "Доступан сам." + +#~ msgid "I'm free for chat." +#~ msgstr "Слободан сам за разговор." + +#~ msgid "Be right back." +#~ msgstr "Одмах се враћам." + +#~ msgid "I'm not available." +#~ msgstr "Недоступан сам." + +#~ msgid "Do not disturb." +#~ msgstr "Не сметај." + +#~ msgid "Bye!" +#~ msgstr "Поздрав!" + +#~ msgid "Timeout loading image" +#~ msgstr "Истекло време за учитавање слике" + +#~ msgid "Image is too big" +#~ msgstr "Слика је превелика" + +#, fuzzy +#~ msgid "PyCURL is not installed" +#~ msgstr "CRL није још валидан" + +#, fuzzy +#~ msgid "Error loading image" +#~ msgstr "Истекло време за учитавање слике" + +#~ msgid "Blocked Contacts" +#~ msgstr "Блокирани контакти" + +#, fuzzy +#~ msgid "Group chat" +#~ msgstr "Групни разговори" + +#, fuzzy +#~ msgid "Bookmark group chat" +#~ msgstr "Маркирај ову собу" + +#, fuzzy +#~ msgid "Bookmark" +#~ msgstr "_Маркирај ову со_бу" + +#, fuzzy +#~ msgid "Recently used group chats" +#~ msgstr "у _групним разговорима" + +#, fuzzy +#~ msgid "Clear Avatar" +#~ msgstr "Профил, А_ватар" + +#, fuzzy +#~ msgid "Set Avatar…" +#~ msgstr "Одаберите слику" + +#, fuzzy +#~ msgid "Contact" +#~ msgstr "Време контакта на вези:" + +#, fuzzy +#~ msgid "_Leave Group Chat" +#~ msgstr "Напусти групне разговоре" + +#, fuzzy +#~ msgid "Enter a new name for this group chat" +#~ msgstr "Унесите ново име за групу %s" + +#, fuzzy +#~ msgid "Use default applications" +#~ msgstr "Увек користи апликацију коју оперативни систем нуди" + +#~ msgid "Custom" +#~ msgstr "Кориснички" + +#, fuzzy +#~ msgid "Notify me about it" +#~ msgstr "Обавести ме о контактима који се _одјаве" + +#, fuzzy +#~ msgid "Show only in contact list" +#~ msgstr "Прикажи само _активне контакте" + +#, fuzzy +#~ msgid "No status messages" +#~ msgstr "статусна порука" + +#, fuzzy +#~ msgid "All status messages" +#~ msgstr "статусна порука" + +#, fuzzy +#~ msgid "Only enter/leave messages" +#~ msgstr "Имате непрочитаних порука" + +#, fuzzy +#~ msgid "Me_rge accounts" +#~ msgstr "_Споји налоге" + +#, fuzzy +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "Прикажи _аватаре контаката на листи" + +#, fuzzy +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "" +#~ "Ако је означена, Гајим ће приказивати аватаре контаката у листи контаката " +#~ "и у групним разговорима" + +#, fuzzy +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "Прикажи статусне поруке контаката на листи" + +#, fuzzy +#~ msgid "" +#~ "If checked, status messages of contacts will be shown under the contact's " +#~ "name, in the contact list window, and in group chats" +#~ msgstr "" +#~ "Ако је означена, Гајим ће приказивати статусне поруке контаката испод " +#~ "имена контакта у листи контаката и у групним разговорима" + +#, fuzzy +#~ msgid "" +#~ "Show e_xtra information of contacts in contact list (mood, activity, ...)" +#~ msgstr "Прикажи _расположења контаката на листи" + +#, fuzzy +#~ msgid "in _contact list" +#~ msgstr "Послати контакти:" + +#~ msgid "in _group chats" +#~ msgstr "у _групним разговорима" + +#, fuzzy +#~ msgid "Enable spell _checking" +#~ msgstr "Провера правописа" + +#, fuzzy +#~ msgid "" +#~ "If checked, spelling errors in input fields of chat windows will be " +#~ "highlighted. If no language is explicitly set via right click on the " +#~ "input field, the default language will be used for this contact or group " +#~ "chat. Needs gspell to be installed." +#~ msgstr "" +#~ "Ако је означена, Гајим ће осветљавати грешке у куцању у пољима за унос " +#~ "прозора разговора. Ако се језик експлицитно не постави преко десног клика " +#~ "на поље за унос, подразумевани језик ће бити коришћен за овај контакт или " +#~ "групни разговор." + +#, fuzzy +#~ msgid "Display status messages in _single chats" +#~ msgstr "Прикажи статусне поруке контаката на листи" + +#, fuzzy +#~ msgid "" +#~ "If checked, status lines will be shown in 1 on 1 chats when a contact " +#~ "changes their status or status message" +#~ msgstr "" +#~ "Ако је неистинито, више нећете видети статусну порукуу разговорима када " +#~ "контакт промени свој статус и/или статусну поруку." + +#, fuzzy +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "Није могуће придружити се групном разговору" + +#, fuzzy +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "Није могуће придружити се групном разговору" + +#, fuzzy +#~ msgid "Show status changes (Default)" +#~ msgstr "_Записуј у дневник статусне промене контаката" + +#, fuzzy +#~ msgid "" +#~ "If checked, the tab will be colored according to the current chatstate of " +#~ "the contact" +#~ msgstr "" +#~ "Ако је означена, Гајим ће дозволити другима да погледају који оперативни " +#~ "систем користите" + +#, fuzzy +#~ msgid "" +#~ "If checked, a description of the contacts current chatstate is shown in " +#~ "the banner" +#~ msgstr "" +#~ "Ако је означена, Гајим ће дозволити другима да погледају који оперативни " +#~ "систем користите" + +#, fuzzy +#~ msgid "Chatstate" +#~ msgstr "Последњи статус: %s" + +#, fuzzy +#~ msgid "_When new event is received" +#~ msgstr "Када се прими нови догађај:" + +#, fuzzy +#~ msgid "Show popups/notifications when a chat window is already _open" +#~ msgstr "" +#~ "Омогући искачуће прозоре/обавештења када сам _одсутан/недоступан/запослен/" +#~ "невидљив" + +#, fuzzy +#~ msgid "Allow popups/notifications when I'm _away, not available or busy" +#~ msgstr "" +#~ "Омогући искачуће прозоре/обавештења када сам _одсутан/недоступан/запослен/" +#~ "невидљив" + +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "Обавести ме о контактима који се _пријаве" + +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "Обавести ме о контактима који се _одјаве" + +#~ msgid "Play _sounds" +#~ msgstr "Пуштај звукове" + +#~ msgid "Ma_nage..." +#~ msgstr "Поде_си..." + +#, fuzzy +#~ msgid "Allow playing sounds when I'm _busy" +#~ msgstr "Доз_воли звукове када сам заузет" + +#, fuzzy +#~ msgid "No_t Available" +#~ msgstr "Недоступан" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Not Available when the computer " +#~ "has not been used for the specified time" +#~ msgstr "" +#~ "Ако је означена, Гајим ће променити статус у Недоступан када рачунар још " +#~ "дуже није у употреби" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Away when the computer has not " +#~ "been used for the specified time" +#~ msgstr "" +#~ "Ако је означена, Гајим ће променити статус у Недоступан када рачунар још " +#~ "дуже није у употреби" + +#, fuzzy +#~ msgid "" +#~ "The automatic away status message. If empty, the current status message " +#~ "will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-away timeout." +#~ msgstr "" +#~ "Аутоматска статусна порука при одсутности. Ако је празно, Гајим неће " +#~ "изменити тренутну статусну поруку\n" +#~ "$S ће бити замењено претходном статусном поруком\n" +#~ "$T ће бити замењено са временом одсутности" + +#, fuzzy +#~ msgid "" +#~ "The automatic not available status message. If empty, the current status " +#~ "message will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-not-available timeout." +#~ msgstr "" +#~ "Аутоматска статусна порука при недоступности. Ако је празно, Гајим неће " +#~ "изменити тренутну статусну поруку\n" +#~ "$S ће бити замењено претходном статусном поруком\n" +#~ "$T ће бити замењено са временом недоступности" + +#, fuzzy +#~ msgid "Minutes" +#~ msgstr "минута" + +#~ msgid "" +#~ "If enabled, Gajim will not ask for a status message. The specified " +#~ "default message will be used instead." +#~ msgstr "" +#~ "Ако је означена, Гајим неће питати за статусну поруку. Већ постављена " +#~ "подразумевана порука ће бити коришћена." + +#~ msgid "Default Message" +#~ msgstr "Подразумевана порука" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "Статусна порука" + +#, fuzzy +#~ msgid "Preset Status Messages" +#~ msgstr "Већ постављене статусне поруке" + +#, fuzzy +#~ msgid "_Theme" +#~ msgstr "Тема" + +#~ msgid "Configure color and font of the interface" +#~ msgstr "Конфигурисање боје и фонта интерфејса" + +#, fuzzy +#~ msgid "" +#~ "If checked, protocol-specific status icons will be used (e.g. a contact " +#~ "from ICQ will have the equivalent ICQ icon for status online, away, busy, " +#~ "etc...)" +#~ msgstr "" +#~ "Ако је означено, Гајим ће користити статусне иконе специфичне за " +#~ "протокол. (нпр. контакт са МСН-а ће имати мсн иконе за своје статусе)" + +#~ msgid "_Manage..." +#~ msgstr "_Подеси..." + +#, fuzzy +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "_Записуј у дневник статусне промене контаката" + +#, fuzzy +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "Ако је означено, Гајим ће памтити лозинку за овај налог" + +#~ msgid "_Open..." +#~ msgstr "_Отвори..." + +#, fuzzy +#~ msgid "_Filter" +#~ msgstr "Филтер:" + +#, fuzzy +#~ msgid "Protocol" +#~ msgstr "_Протокол:" + +#~ msgid "Privacy Lists:" +#~ msgstr "Листе приватности:" + +#, fuzzy +#~ msgid "_Ignore this error for this certificate" +#~ msgstr "Игнориши ову грешку за овај сертификат." + +#, fuzzy +#~ msgid "Message..." +#~ msgstr "Порука" + +#, fuzzy +#~ msgid "Preset _messages" +#~ msgstr "Већ постављене поруке:" + +#, fuzzy +#~ msgid "_Type your new status message" +#~ msgstr "Упишите Вашу нову статусну поруку" + +#, fuzzy +#~ msgid "Change Status Message…" +#~ msgstr "_Измени статусну поруку" + +#~ msgid "Mood:" +#~ msgstr "Расположење:" + +#~ msgid "Message:" +#~ msgstr "Порука:" + +#, fuzzy +#~ msgid "none" +#~ msgstr "један" + +#, fuzzy +#~ msgid "both" +#~ msgstr "Обоје" + +#, fuzzy +#~ msgid "from" +#~ msgstr "Од" + +#, fuzzy +#~ msgid "to" +#~ msgstr "два" + +#~ msgid "Privacy List" +#~ msgstr "Листа приватности" + +#~ msgid "Privacy List" +#~ msgstr "Листа приватности" + +#~ msgid "Active for this session" +#~ msgstr "Активно за ову сесију" + +#~ msgid "Active on each startup" +#~ msgstr "Актовно по сваком покретању" + +#~ msgid "List of rules" +#~ msgstr "Листа правила" + +#~ msgid "Add / Edit a rule" +#~ msgstr "Додај / Измени правило" + +#~ msgid "Allow" +#~ msgstr "Дозволи" + +#~ msgid "Deny" +#~ msgstr "Одбиј" + +#~ msgid "all in the group" +#~ msgstr "све у групи" + +#~ msgid "all by subscription" +#~ msgstr "све према претплати" + +#~ msgid "All" +#~ msgstr "Сви" + +#~ msgid "to send me messages" +#~ msgstr "да ми шаље поруке" + +#~ msgid "to send me queries" +#~ msgstr "да ми шаље упите" + +#~ msgid "to view my status" +#~ msgstr "да види мој статус" + +#~ msgid "to send me status" +#~ msgstr "да ми пошаље статус" + +#~ msgid "All (including subscription)" +#~ msgstr "Све (укључујући и претплате)" + +#~ msgid "Order:" +#~ msgstr "Поредак:" + +#, fuzzy +#~ msgid "" +#~ "Deny authorization from contact so the contact cannot know if you are " +#~ "connected" +#~ msgstr "Одбиј ауторизацију тако да не може да види када сте на вези" + +#, fuzzy +#~ msgid "Authorize contact so the contact can know if you are connected" +#~ msgstr "Одобри ауторизацију контакта тако да може да види када сте на вези" + +#, fuzzy +#~ msgid "Contact List Shortcuts" +#~ msgstr "Размена ставки контаката" + +#~ msgid "Fill in the form." +#~ msgstr "Попуните формулар." + +#~ msgid "Set an activity" +#~ msgstr "Постави активност" + +#~ msgid "Message: " +#~ msgstr "Порука:" + +#, fuzzy, python-format +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "Пошаљи %s за %s" + +#, fuzzy +#~ msgid "Group Chat Invitation " +#~ msgstr "Позив на групни разговор" + +#, python-format +#~ msgid "Comment: %s" +#~ msgstr "Коментар: %s" + +#, fuzzy +#~ msgid "Off" +#~ msgstr "Није на вези" + +#, fuzzy +#~ msgid "Retrieving profile…" +#~ msgstr "Дохватање профила..." + +#, fuzzy +#~ msgid "Wrong date format" +#~ msgstr "Информације контакта" + +#, fuzzy +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "Формат: ГГГГ-ММ-ДД" + +#~ msgid "Information received" +#~ msgstr "Информације примљене" + +#, fuzzy +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "Ако нисте на вези, не можете објавити Баше информације" + +#, fuzzy +#~ msgid "Sending profile…" +#~ msgstr "Слање профила..." + +#~ msgid "Information NOT published" +#~ msgstr "Информације НИСУ објављене" + +#~ msgid "vCard publication failed" +#~ msgstr "Публикација vCard неуспела" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "" +#~ "Настала је грешка приликом објављивања Ваших личних информација, " +#~ "покушајте поново касније." + +#, fuzzy +#~ msgid "?password:Hidden" +#~ msgstr "Лозинка:" + +#, python-format +#~ msgid "Privacy List %s" +#~ msgstr "Листа приватности %s" + +#, python-format +#~ msgid "Privacy List for %s" +#~ msgstr "Листа приватности за %s" + +#, python-format +#~ msgid "" +#~ "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" +#~ msgstr "" +#~ "Редослед: %(order)s, акција: %(action)s, тип: %(type)s, вредност: " +#~ "%(value)s" + +#, python-format +#~ msgid "Order: %(order)s, action: %(action)s" +#~ msgstr "Редослед: %(order)s, акција: %(action)s" + +#~ msgid "Edit a rule" +#~ msgstr "Измени правило" + +#~ msgid "Add a rule" +#~ msgstr "Додај правило" + +#, python-format +#~ msgid "Privacy Lists for %s" +#~ msgstr "Листа приватности за %s" + +#~ msgid "Invalid List Name" +#~ msgstr "Неисправно име листе" + +#~ msgid "You must enter a name to create a privacy list." +#~ msgstr "Морате унети име за креирање листе приватности" + +#, fuzzy +#~ msgid "Loading" +#~ msgstr "Програмира" + +#~ msgid "status message title" +#~ msgstr "наслов статусне поруке" + +#~ msgid "status message text" +#~ msgstr "текст статусне поруке" + +#, fuzzy +#~ msgid "Start New Conversation" +#~ msgstr "Настављени разговор" + +#~ msgid "Unknown SSL error: %d" +#~ msgstr "Непозната SSL грешка: %d" + +#~ msgid "Gajim - %s" +#~ msgstr "Гајим - %s" + +#~ msgid "Choose interval between 2 checks of idleness." +#~ msgstr "" +#~ "Одаберите интервал између две провере да се ништа не дешава на рачунару." + +#, fuzzy +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "Речник за језик %s није доступан" + +#, fuzzy +#~ msgid "" +#~ "You have to install the dictionary \"%s\" to use spellchecking, or choose " +#~ "another language by setting the speller_language option.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "Морате инсталирати %s речник како бисте могли користити проверу " +#~ "правописа, или одаберите други језик поставком speller_language опције.\n" +#~ "\n" +#~ "Осветљавање лоше написаних речи неће бити у употреби" + +#~ msgid "_Reconnect" +#~ msgstr "У_логуј се поново" + +#, fuzzy +#~ msgid "Show Contact List" +#~ msgstr "Прикажи само _активне контакте" + +#, fuzzy +#~ msgid "Add to Contact List" +#~ msgstr "_Додај контакт..." + +#, fuzzy +#~ msgid "Invite Contact" +#~ msgstr "Позови контакте" + +#, fuzzy +#~ msgid "Configure Group Chat" +#~ msgstr "Напусти групне разговоре" + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." +#~ msgstr "" +#~ "Ако је истинито, Гајим ће приказивати икону на сваком језичку који садржи " +#~ "непрочитане поруке. У зависности од теме, икона може бити и анимирана." + +#~ msgid "Invalid character in hostname." +#~ msgstr "Неисправан карактер у имену хоста." + +#~ msgid "Server address required." +#~ msgstr "Потребна је адреса сервера." + +#~ msgid "Invalid character in username." +#~ msgstr "Неисправан карактер у корисничком имену." + +#~ msgid "Invalid character in resource." +#~ msgstr "Неисправан карактер у ресурсу." + +#, fuzzy +#~ msgid "Notification color for contacts signing in." +#~ msgstr "Обавести ме о контактима који се _пријаве" + +#, fuzzy +#~ msgid "Notification color for contacts signing out." +#~ msgstr "Обавести ме о контактима који се _одјаве" + +#, fuzzy +#~ msgid "Notification color for new message notification." +#~ msgstr "Прегледај нове поруке у искачућим обавештењима?" + +#, fuzzy +#~ msgid "Notification color for file transfer request." +#~ msgstr "_Обавести ме када се заврши пренос датотеке" + +#, fuzzy +#~ msgid "Notification color for file transfer errors." +#~ msgstr "_Обавести ме када се заврши пренос датотеке" + +#, fuzzy +#~ msgid "Notification background color for changed status." +#~ msgstr "Боја позадине контакта када тек дођу на везу." + +#, fuzzy +#~ msgid "Event Type" +#~ msgstr "догађај" + +#, fuzzy +#~ msgid "Event desc" +#~ msgstr "догађај" + +#, fuzzy +#~ msgid "No response from the Server" +#~ msgstr "Нисте повезани на сервер" + +#~ msgid "Resource Conflict" +#~ msgstr "Конфликт ресурса" + +#, fuzzy +#~ msgid "" +#~ "You are already connected to this account with the same resource. Please " +#~ "enter a different one." +#~ msgstr "" +#~ "Већ сте конектовани на овај налог са истим ресурсем. Молимо Вас, " +#~ "откуцајте ново име ресурса" + +#, fuzzy +#~ msgid "Unable to load image" +#~ msgstr "Није могуће учитавање модула idle" + +#, fuzzy +#~ msgid "Media type not supported: %s" +#~ msgstr "Невидљивост није подржана" + +#~ msgid "new@jabber.id" +#~ msgstr "new@jabber.id" + +#~ msgid "new%d@jabber.id" +#~ msgstr "new%d@jabber.id" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Гајим: чаробњак за креирање налога" + +#, fuzzy +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "Морате поседовати рачун да бисте се могли повезати\n" +#~ "на џабер мрежу." + +#~ msgid "I already have an account I want to _use" +#~ msgstr "Већ имам налог који желим да користим" + +#~ msgid "I want to _register for a new account" +#~ msgstr "Желим да региструјем нови налог" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "Молимо одаберите једну од опција испод:" + +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "Молимо попуните податке за Ваш постојећи кориснички налог" + +#, fuzzy +#~ msgid "_XMPP Address:" +#~ msgstr "АИМ адреса:" + +#~ msgid "Anon_ymous authentication" +#~ msgstr "Анон_имно пријављивање" + +#~ msgid "_Password:" +#~ msgstr "_Лозинка:" + +#~ msgid "Save pass_word" +#~ msgstr "Сними лозинку" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "Ако је означено, Гајим ће памтити лозинку за овај налог" + +#~ msgid "Please select a server" +#~ msgstr "Молимо одаберите сервер" + +#~ msgid "_Server:" +#~ msgstr "_Сервер:" + +#~ msgid "Manage..." +#~ msgstr "Подеси..." + +#~ msgid "_Port:" +#~ msgstr "_Порт:" + +#~ msgid "_Advanced" +#~ msgstr "_Напредно" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA1 fingerprint of the certificate:\n" +#~ msgstr "" +#~ "Додајте овај сертификат листи сертификата којима верујете\n" +#~ "SHA1 потпис сертификата:\n" + +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "Повезивање на сервер\n" +#~ "\n" +#~ "Молимо причекајте..." + +#~ msgid "Connect when I press Finish" +#~ msgstr "Повежи се када притиснем Заврши" + +#~ msgid "Set my profile when I connect" +#~ msgstr "Постави мој профил при повезивању" + +#~ msgid "_Finish" +#~ msgstr "_Заврши" + +#~ msgid "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." +#~ msgstr "" +#~ "Можете поставити напредна подешавања налога притиском на дугме Напредно, " +#~ "или касније, кликом на ставку менија Налози под менијем Уреди из главног " +#~ "прозора." + +#~ msgid "Your new account has been created successfully" +#~ msgstr "Ваш нови налог је успешно направљен" + +#~ msgid "Invalid username" +#~ msgstr "Неисправно корисничко име" + +#~ msgid "You must provide a username to configure this account." +#~ msgstr "Морате уписати корисничко име да бисте конфигурисали овај налог." + +#~ msgid "Invalid server" +#~ msgstr "Неисправан сервер" + +#~ msgid "Please provide a server on which you want to register." +#~ msgstr "Молимо одредите сервер на коме желите да се региструјете." + +#~ msgid "Invalid entry" +#~ msgstr "Неисправан унос" + +#~ msgid "Certificate Already in File" +#~ msgstr "Сертификат је већ у датотеци" + +#~ msgid "This certificate is already in file %s, so it's not added again." +#~ msgstr "Сертификат је већ у датотеци %s, па није поново додат." + +#~ msgid "" +#~ "Security Warning\n" +#~ "\n" +#~ "The authenticity of the %(hostname)s SSL certificate could be invalid.\n" +#~ "SSL Error: %(error)s\n" +#~ "Do you still want to connect to this server?" +#~ msgstr "" +#~ "Сигурносно упозорење\n" +#~ "\n" +#~ "Аутентичност SSL сертификата хоста %(hostname)s можда није исправна.\n" +#~ "SSL грешка: %(error)s\n" +#~ "Да ли и даље желите да се повежете на овај сервер?" + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA-256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Додај овај сертификат листи проверених сертификата.\n" +#~ "SHA1 отисак овог сертификата:\n" +#~ "%s\n" +#~ "SHA256 отисак овог сертификата:\n" +#~ "%s" + +#~ msgid "Account name is in use" +#~ msgstr "Име налога је већ употребљено" + +#~ msgid "You already have an account using this name." +#~ msgstr "Већ имате налог са тим именом." + +#~ msgid "Show a warning dialog before using standard SSL library." +#~ msgstr "Прикажи прозор упозорења пре коришћења стандардне SSL библиотеке." + +#, fuzzy +#~ msgid "If enabled, a whitespace is sent after inactivity (keep alive)." +#~ msgstr "Слање белина после неактивности" + +#, fuzzy +#~ msgid "If enabled, an XMPP ping is sent after inactivity (ping alive)." +#~ msgstr "Слање XMPP пинга после неактивности" + +#~ msgid "Connection with account \"%s\" has been lost" +#~ msgstr "Изгубљена веза са рачуном \"%s\"" + +#~ msgid "Reconnect manually." +#~ msgstr "Поново се повежите ручно." + +#~ msgid "Server %(name)s answered wrongly to register request: %(error)s" +#~ msgstr "" +#~ "Сервер %(name)s је лоше одговорио на захтев регистрације:: %(error)s" + +#~ msgid "Server %s provided a different registration form" +#~ msgstr "Сервер %s је понудио другачију форму за регистрацију" + +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "Веза са \"%(host)s\" преко проксија \"%(proxy)s\" није могућа" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "Веза са \"%s\" није могућа" + +#~ msgid "Check your connection or try again later." +#~ msgstr "Проверите Вашу конекцију или покушајте касније." + +#~ msgid "Server replied: %s" +#~ msgstr "Сервер је одговорио: %s" + +#~ msgid "Connection to proxy failed" +#~ msgstr "Веза са проксијем прекинута" + +#~ msgid "Could not connect to account %s" +#~ msgstr "Веза са %s није могућа" + +#~ msgid "Connection with account %s has been lost. Retry connecting." +#~ msgstr "Изгубљена веза са налогом %s. Покушајте поново да се конектујете." + +#~ msgid "Please check your login and password for correctness." +#~ msgstr "Молимо Вас да проверите Ваше корисничко име и лозинку од грешака." + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "HTTP спој" + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "BOSH" +#~ msgstr "_BOSH адреса:" + +#~ msgid "Use HTTP prox_y" +#~ msgstr "Кор_исти HTTP прокси" + +#, fuzzy +#~ msgid "_BOSH URL" +#~ msgstr "_BOSH адреса:" + +#, fuzzy +#~ msgid "BOSH" +#~ msgstr "_BOSH адреса:" + +#, fuzzy +#~ msgid "Warn on insecure connection" +#~ msgstr "Упозори пре коришћења несигурне везе" + +#, fuzzy +#~ msgid "Contact list, list of contacts" +#~ msgstr "_Записуј у дневник статусне промене контаката" + +#~ msgid "You are participating in one or more group chats" +#~ msgstr "Учествујете у једном или више групних разговора" + +#, fuzzy +#~ msgid "" +#~ "Changing your status to invisible will result in you leaving those group " +#~ "chats.\n" +#~ "Are you sure you want to go invisible?" +#~ msgstr "" +#~ "Промена Вашег статуса у Невидљив ће резултовати одвезивањем са тих " +#~ "групних разговора. Јесте ли сигурни да желите ићи на невидљиво?" + +#~ msgid "_Disconnect" +#~ msgstr "_Излогуј се" + +#~ msgid "You cannot join a group chat while you are invisible" +#~ msgstr "Немогуће је приступити групном разговору ако сте невидљиви" + +#~ msgid "Invisible" +#~ msgstr "Невидљив" + +#, fuzzy +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "Немогуће је приступити групном разговору ако сте невидљиви" + +#~ msgid "_Invisible" +#~ msgstr "_Невидљив" + +#, fuzzy +#~ msgid "Yesterday" +#~ msgid_plural "%(nb_days)i days ago" +#~ msgstr[0] "Јуче" +#~ msgstr[1] "Јуче" +#~ msgstr[2] "Јуче" + +#, fuzzy +#~ msgid "_Cancel Upload" +#~ msgstr "_Одустани" + +#~ msgid " [blocked]" +#~ msgstr " [блокиран]" + +#~ msgid " [minimized]" +#~ msgstr " [умањен]" + +#, fuzzy +#~ msgid "" +#~ "If you close this tab while having chat history disabled, this message " +#~ "will be lost." +#~ msgstr "" +#~ "Ако затворите овај језичак, а историјат разговора није омогућен, ова " +#~ "порука ће бити изгубљена." + +#, fuzzy +#~ msgid "Unregister Failed" +#~ msgstr "Одјава регистрације неуспела" + +#, fuzzy +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "Одјава регистрације са сервером %(server)s неуспела: %(error)s" + +#, fuzzy +#~ msgid "New Password" +#~ msgstr "Сачувај лозинку" + +#~ msgid "What do you want to do?" +#~ msgstr "Шта желите да урадите?" + +#~ msgid "Remove account from Gajim and from _server" +#~ msgstr "Уклони налог и из Гајима и са сервера" + +#, fuzzy +#~ msgid "You must enter a password" +#~ msgstr "Морате да унесете лозинку" + +#, fuzzy +#~ msgid "You still have open chats in your account %s" +#~ msgstr "Отворили сте разговор у рачуну %s" + +#, fuzzy +#~ msgid "To unregister from a server, the account must be enabled." +#~ msgstr "Да бисте онемогућили налог, морате бити раскачени." + +#, fuzzy +#~ msgid "Password required" +#~ msgstr "Лозинка захтевана" + +#, fuzzy +#~ msgid "Still connected to the server" +#~ msgstr "Нисте повезани на сервер" + +#, fuzzy +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "Уколико га уклоните, веза ће бити изгубљена." + +#, fuzzy +#~ msgid "Connection to server %s failed" +#~ msgstr "Веза са проксијем прекинута" + +#, fuzzy +#~ msgid "What would you like to do?" +#~ msgstr "Шта желите да урадите?" + +#, fuzzy +#~ msgid "Remove only from Gajim" +#~ msgstr "Уклони налог само из Гајима" + +#, fuzzy +#~ msgid "Contents" +#~ msgstr "_Садржај" + +#, fuzzy +#~ msgid "FAQ" +#~ msgstr "_ЧПП" + +#~ msgid "Save as Preset Status Message" +#~ msgstr "Сними као већ постављену статусну поруку" + +#~ msgid "Enter a new nickname for contact %s" +#~ msgstr "Унесите нови надимак за контакт %s" + +#, fuzzy +#~ msgid "Join a group chat" +#~ msgstr "у _групним разговорима" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "_Налози" + +#~ msgid "New entry received" +#~ msgstr "Нов догађај примљен" + +#~ msgid "You have received new entry:" +#~ msgstr "Примили сте нови унос:" + +#~ msgid "Feed name:" +#~ msgstr "Име теме:" + +#~ msgid "Last modified:" +#~ msgstr "Задњи пут измењено:" + +#, fuzzy +#~ msgid "Send file?" +#~ msgstr "Пошаљи _датотеку" + +#, fuzzy +#~ msgid "Mail _client" +#~ msgstr "_Е-мејл клијент:" + +#, fuzzy +#~ msgid "_Browser" +#~ msgstr "_Интернет прегледач:" + +#, fuzzy +#~ msgid "_File manager" +#~ msgstr "_Прегледач датотека:" + +#, fuzzy +#~ msgid "Custom applications" +#~ msgstr "Увек користи апликацију коју оперативни систем нуди" + +#, fuzzy +#~ msgid "Applications" +#~ msgstr "Апликације" + +#, fuzzy +#~ msgid "" +#~ "Uses ReStructured text markup to send HTML, plus ASCII formatting if " +#~ "selected. Needs docutils installed (for syntax, see http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Користи ReStructured текст markup да пошаљете ХТМЛ и ascii форматирање " +#~ "ако је одабрано. За синтаксу, погледајте http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html (Ако желите да користите ово, " +#~ "инсталирајте docutils)" + +#, fuzzy +#~ msgid "_Ignore formatting of incoming messages" +#~ msgstr "_Игнориши богато форматирани садржај у пристиглим порукама" + +#, fuzzy +#~ msgid "" +#~ "Some messages may include rich content (xhtml formatting, colors etc). If " +#~ "checked, Gajim will just display the plain message text." +#~ msgstr "" +#~ "Неке поруке могу укључивати богати садржај (форматирање, боје итд.). Ако " +#~ "је означено, Гајим ће само приказивати сирови текст поруке." + +#, fuzzy +#~ msgid "RST XHTML Generator" +#~ msgstr "РСТ генератор" + +#, fuzzy +#~ msgid "Requires: python-docutils" +#~ msgstr "Захтева python-docutils." + +#~ msgid "New Single Message" +#~ msgstr "Нова Самостална Порука" + +#, fuzzy +#~ msgid "" +#~ "Can be empty, 'chat' or 'normal'. If not empty, all incoming messages are " +#~ "treated as if they were of this type." +#~ msgstr "" +#~ "Може бити празно, 'chat' или 'normal'. Ако није празно, третира све " +#~ "долазне поруке као поруке постављеног типа" + +#~ msgid "Error %(code)s: %(msg)s" +#~ msgstr "Грешка %(code)s: %(msg)s" + +#~ msgid "twelve" +#~ msgstr "дванаест" + +#~ msgid "one" +#~ msgstr "један" + +#~ msgid "two" +#~ msgstr "два" + +#~ msgid "three" +#~ msgstr "три" + +#~ msgid "four" +#~ msgstr "четири" + +#~ msgid "five" +#~ msgstr "пет" + +#~ msgid "six" +#~ msgstr "шест" + +#~ msgid "seven" +#~ msgstr "седам" + +#~ msgid "eight" +#~ msgstr "осам" + +#~ msgid "nine" +#~ msgstr "девет" + +#~ msgid "ten" +#~ msgstr "десет" + +#~ msgid "eleven" +#~ msgstr "једанаест" + +#~ msgid "%(0)s o'clock" +#~ msgstr "%(0)s сати" + +#~ msgid "five past %(0)s" +#~ msgstr "%(0)s и пет" + +#~ msgid "ten past %(0)s" +#~ msgstr "%(0)s и десет" + +#~ msgid "quarter past %(0)s" +#~ msgstr "%(0)s и петнаест" + +#~ msgid "twenty past %(0)s" +#~ msgstr "%(0)s и двадесет" + +#~ msgid "twenty five past %(0)s" +#~ msgstr "%(0)s и двадесет и пет" + +#~ msgid "half past %(0)s" +#~ msgstr "%(0)s i тридесет минута" + +#~ msgid "twenty five to %(1)s" +#~ msgstr "двадесет и пет до %(1)s" + +#~ msgid "twenty to %(1)s" +#~ msgstr "двадесет до %(1)s" + +#~ msgid "quarter to %(1)s" +#~ msgstr "петнаест минута до %(1)s" + +#~ msgid "ten to %(1)s" +#~ msgstr "десет до %(1)s" + +#~ msgid "five to %(1)s" +#~ msgstr "пет до %(1)s" + +#~ msgid "%(1)s o'clock" +#~ msgstr "%(1)s сати" + +#~ msgid "Night" +#~ msgstr "Ноћ" + +#~ msgid "Early morning" +#~ msgstr "Рано јутро" + +#~ msgid "Morning" +#~ msgstr "Јутро" + +#~ msgid "Almost noon" +#~ msgstr "Скоро подне" + +#~ msgid "Noon" +#~ msgstr "Подне" + +#~ msgid "Afternoon" +#~ msgstr "Послеподне" + +#~ msgid "Evening" +#~ msgstr "Вече" + +#~ msgid "Late evening" +#~ msgstr "Касно вече" + +#~ msgid "Start of week" +#~ msgstr "Почетак недеље" + +#~ msgid "Middle of week" +#~ msgstr "Средина недеље" + +#~ msgid "End of week" +#~ msgstr "Крај недеље" + +#~ msgid "Weekend!" +#~ msgstr "Викенд!" + +#, fuzzy +#~ msgid "" +#~ "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or " +#~ "0 to disable Fuzzy Clock. 1 is the most precise clock, 4 the least " +#~ "precise one. This is used only if 'print_time' is 'sometimes'." +#~ msgstr "" +#~ "Исписуј време у разговорима користећи Расплинути Сат. Вредност " +#~ "расплинутости од 1 до 4 или 0 за онемогућивање нејасног сата. 1 је " +#~ "најпрецизнији сат, 4 најнепрецизнији. Ово се користи само уколико је " +#~ "приказивање_времена поставњено на 'понекад'." + +#~ msgid "message" +#~ msgstr "порука" + +#, fuzzy +#~ msgid "error: %s" +#~ msgstr "Грешка: %s" + +#, fuzzy +#~ msgid "Form: %s" +#~ msgstr "Форма %s" + +#, fuzzy +#~ msgid "XML Input" +#~ msgstr "XML Унос" + +#, fuzzy +#~ msgid "Ttitle" +#~ msgstr "Наслов:" + +#, fuzzy +#~ msgid "%(type)s encryption is active %(authenticated)s" +#~ msgstr "" +#~ "%(type)s шифровање %(status)s активан %(authenticated)s.\n" +#~ "Ваша сесија разговора %(logged)s бити памћена." + +#, fuzzy +#~ msgid "Screen" +#~ msgstr "зелена" + +#~ msgid "Conversation with " +#~ msgstr "Разговор са " + +#~ msgid "Continued conversation" +#~ msgstr "Настављени разговор" + +#, fuzzy +#~ msgid "%s has invited you to join a discussion" +#~ msgstr "$Contact Вас је позвао на разговор" + +#~ msgid "_Send Private Message" +#~ msgstr "_Пошаљи приватну поруку" + +#, fuzzy +#~ msgid "Participant Actions" +#~ msgstr "Учесници" + +#~ msgid "_Voice" +#~ msgstr "_Глас" + +#~ msgid "Mo_derator" +#~ msgstr "Мо_дератор" + +#~ msgid "_Member" +#~ msgstr "_Члан" + +#~ msgid "_Admin" +#~ msgstr "_Админ" + +#~ msgid "_Owner" +#~ msgstr "_Власник" + +#, fuzzy +#~ msgid "_Add to Contact List" +#~ msgstr "_Додај контакт..." + +#, fuzzy +#~ msgid "_Execute command" +#~ msgstr "_Изврши наредбу" + +#~ msgid "Change _Nickname..." +#~ msgstr "Промени _надимак..." + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "_Нови групни разговор" + +#~ msgid "Change _Subject..." +#~ msgstr "Промени _тему..." + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "Подеси _собу..." + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "_Нови групни разговор" + +#~ msgid "_Minimize on close" +#~ msgstr "Умањи прозор на затварање" + +#, fuzzy +#~ msgid "_Request Voice" +#~ msgstr "_Глас" + +#~ msgid "_Bookmark" +#~ msgstr "_Маркирај ову со_бу" + +#, fuzzy +#~ msgid "The authenticity of the %s certificate could be invalid" +#~ msgstr "Аутентичност сертификата %s може бити неисправна." + +#~ msgid "" +#~ "\n" +#~ "Unknown SSL error: %d" +#~ msgstr "" +#~ "\n" +#~ "Непозната SSL грешка: %d" + +#~ msgid "" +#~ "\n" +#~ "SSL Error: %s" +#~ msgstr "" +#~ "\n" +#~ "SSL грешка: %s" + +#~ msgid "Error verifying SSL certificate" +#~ msgstr "Грешка при верификацији SSL сертификата" + +#, fuzzy +#~ msgid "View certificate…" +#~ msgstr "Самопотписани сертификат" + +#, fuzzy +#~ msgid "Continue" +#~ msgstr "_Настави" + +#~ msgid "" +#~ "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM " +#~ "IS RUNNING)" +#~ msgstr "" +#~ "Желите ли почистити базу података? (НЕ ПРЕПОРУЧУЈЕ СЕ АКО ЈЕ ГАЈИМ " +#~ "ПОКРЕНУТ)" + +#, fuzzy +#~ msgid "Authorization" +#~ msgstr "Ауторизација послата" + +#, fuzzy +#~ msgid "" +#~ "All chat and group chat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Прозори свих разговора и групних разговора ће бити затворени. Желите ли " +#~ "да наставите?" + +#, fuzzy +#~ msgid "Account '%s' is still connected to the server" +#~ msgstr "Рачун \"%s\" је повезан на сервер" + +#, fuzzy +#~ msgid "Error While Saving" +#~ msgstr "Грешка приликом додавања сервиса. %s" + +#, fuzzy +#~ msgid "" +#~ "Image cannot be saved in %(type)s format.\n" +#~ "Save as %(new_filename)s?" +#~ msgstr "" +#~ "Слику није могуће сачувати у %(type)s формату. Сачувати као " +#~ "%(new_filename)s?" + +#, fuzzy +#~ msgid "Save _As" +#~ msgstr "Имам " + +#~ msgid "Yes, I really want to connect insecurely" +#~ msgstr "Да, заиста желим да се конектујем несигурном везом" + +#, fuzzy +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "Неисправан Џабер ИД групног разговора" + +#, fuzzy +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "Џабер ИД групног разговора има недозвољене знаке." + +#~ msgid "You may specify a reason below:" +#~ msgstr "Можете навести разлог испод:" + +#~ msgid "Banning %s" +#~ msgstr "Забрањујем %s" + +#, fuzzy +#~ msgid "" +#~ "Always ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Увек питај пре затварања језичка/прозора када је у питању ова листа " +#~ "одвојена бланко карактерима џабер ИД-ова групних разговора." + +#, fuzzy +#~ msgid "" +#~ "Never ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Никад не питај пре затварања језичка/прозора групног разговора када је у " +#~ "питању ова листаодовојена бланко знацима џабер ИД-ова групних разговора." + +#, fuzzy +#~ msgid "Leave Group Chats" +#~ msgstr "Напусти групне разговоре" + +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "%(nickname)s са групног разговора у соби %(room_jid)s" + +#, fuzzy +#~ msgid "You have not joined a group chat." +#~ msgstr "Ппридружили сте се групном разговору." + +#, fuzzy +#~ msgid "You left the following group chats:" +#~ msgstr "Напустили сте следеће групне разговоре:" + +#~ msgid "Don't show avatar for the transport itself." +#~ msgstr "Не приказуј аватар за сам транспорт." + +#, fuzzy +#~ msgid "" +#~ "Show a confirmation dialog for a custom status? Empty string means never " +#~ "show the dialog." +#~ msgstr "" +#~ "Треба ли приказивати дијалог за потврду прилагођеног статуса? Празна " +#~ "ниска значи да никада не приказујемо дијалог." + +#, fuzzy +#~ msgid "" +#~ "If enabled, notification windows from notification-daemon will be " +#~ "attached to the notification area icon." +#~ msgstr "" +#~ "Ако је истинито, прозор обавештења од сервиса обавештења ће бити закачен " +#~ "за системску касету." + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending PLAIN password over a plain " +#~ "connection." +#~ msgstr "" +#~ "Прикажи прозор упозорења пре слања нешифроване лозинке преко обичне везе." + +#, fuzzy +#~ msgid "Jabberd2 workaround." +#~ msgstr "Jabberd2 привремено решење" + +#, fuzzy +#~ msgid "Configure Services…" +#~ msgstr "Конфигуриши сервисе..." + +#, fuzzy +#~ msgid "Group Chat Bookmarks" +#~ msgstr "Групни разговори" + +#, fuzzy +#~ msgid "Add Bookmark" +#~ msgstr "_Маркирај ову со_бу" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "_Маркирај ову со_бу" + +#, fuzzy +#~ msgid "_Server" +#~ msgstr "_Сервер:" + +#, fuzzy +#~ msgid "_Password" +#~ msgstr "_Лозинка:" + +#, fuzzy +#~ msgid "Join chat when connected" +#~ msgstr "Контакт Отишао Са Везе" + +#~ msgid "New Group Chat" +#~ msgstr "Нови групни разговор" + +#~ msgid "This bookmark has invalid data" +#~ msgstr "Овај маркер има неисправне податке" + +#, fuzzy +#~ msgid "" +#~ "Please be sure to fill out server and group chat fields or remove this " +#~ "bookmark." +#~ msgstr "" +#~ "Молимо обавезно испуните поља сервера и собе или уклоните овај маркер." + +#~ msgid "Character not allowed" +#~ msgstr "Карактер није дозвољен" + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "Неисправан Џабер ИД групног разговора" + +#~ msgid "Unable to join group chat" +#~ msgstr "Није могуће придружити се групном разговору" + +#~ msgid "You are banned from group chat %s." +#~ msgstr "Забрањен Вам је приступ групном разговору %s." + +#, fuzzy +#~ msgid "Remote server %s does not exist." +#~ msgstr "Групни разговор %s не постоји." + +#~ msgid "Group chat %s does not exist." +#~ msgstr "Групни разговор %s не постоји." + +#, fuzzy +#~ msgid "Group chat creation is not permitted." +#~ msgstr "Стварање групних разговора Вам није дозвољено." + +#, fuzzy +#~ msgid "You must use your registered nickname in %s." +#~ msgstr "" +#~ "Морате користити Ваш регистровани надимак у групном разговору %s." + +#, fuzzy +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "Нисте у листи чланова групног разговора %s." + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "Ово није групни разговор" + +#~ msgid "This is not a group chat" +#~ msgstr "Ово није групни разговор" + +#, fuzzy +#~ msgid "Please choose a group chat" +#~ msgstr "Молимо Вас направите нову чисту тему са жељеним именом." + +#~ msgid "Invalid Nickname" +#~ msgstr "Неисправан надимак" + +#, fuzzy +#~ msgid "Wrong server" +#~ msgstr "Лош uri" + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "Ово није групни разговор" + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit." +#~ msgstr "Колико линија тражити од сервера при уласку на групни разговор." + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit." +#~ msgstr "" +#~ "Од пре колико минута тражити дневнике при уласку на групни разговор." + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit, -2 means global value." +#~ msgstr "Колико линија тражити од сервера при уласку на групни разговор." + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit, -2 means global value." +#~ msgstr "" +#~ "Од пре колико минута тражити дневнике при уласку на групни разговор." + +#, fuzzy +#~ msgid "A Password is required to join the group chat %s. Please type it." +#~ msgstr "Лозинка потребна за придруживање групном разговору %s. Унесите је." + +#~ msgid "Not in Roster" +#~ msgstr "Није на листи контаката" + +#~ msgid "I would like to add you to my roster" +#~ msgstr "Желео бих Вас додати на моју листу контаката" + +#, fuzzy +#~ msgid "Add to Roster" +#~ msgstr "_Додај на листу контаката" + +#, fuzzy +#~ msgid "Manage Room" +#~ msgstr "Управљање собама" + +#, fuzzy +#~ msgid "Configure Room" +#~ msgstr "Подеси _собу..." + +#, fuzzy +#~ msgid "Destroy Room" +#~ msgstr "Уништи собу" + +#, fuzzy +#~ msgid "Change Nick" +#~ msgstr "Промени _надимак..." + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "_Излогуј се" + +#, fuzzy +#~ msgid "Copy JID" +#~ msgstr "Џабер ID собе:" + +#, fuzzy +#~ msgid "Add to Roster…" +#~ msgstr "_Додај на листу контаката" + +#, fuzzy +#~ msgid "Copy JID/Email" +#~ msgstr "_Копирај џабер ИД/е-мејл адресу" + +#, fuzzy +#~ msgid "JID: %s" +#~ msgstr "Џабер ИД: %s" + +#~ msgid "Changing Subject" +#~ msgstr "Промена Теме" + +#~ msgid "Please specify the new subject:" +#~ msgstr "Молимо одредите нову тему:" + +#~ msgid "Room logging is now enabled" +#~ msgstr "Логовање у соби је сада омогућено" + +#~ msgid "Room logging is now disabled" +#~ msgstr "Логовање у соби је сада онемогућено" + +#, fuzzy +#~ msgid "You (%s) joined the room" +#~ msgstr "%s се придружио групном разговору" + +#~ msgid "Room logging is enabled" +#~ msgstr "Логовање собе је омогућено" + +#, fuzzy +#~ msgid "Unable to join groupchat" +#~ msgstr "Није могуће придружити се групном разговору" + +#~ msgid "Groupchat Invitation" +#~ msgstr "Позив на групни разговор" + +#, fuzzy +#~ msgid "%(jid)s has been invited in this room" +#~ msgstr "%(nick)s је избачен из собе (%(reason)s)" + +#, fuzzy +#~ msgid "JID is not a Groupchat" +#~ msgstr "Ово није групни разговор" + +#~ msgid "Invalid JID" +#~ msgstr "Неисправан џабер ИД" + +#, fuzzy +#~ msgid "A connection is not available" +#~ msgstr "Веза није доступна" + +#, fuzzy +#~ msgid "JID already in list" +#~ msgstr "Џабер ID већ у листи контаката" + +#, fuzzy +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "Веза није доступна" + +#~ msgid "Removes contact from roster" +#~ msgstr "Уклања контакт са листе" + +#~ msgid "Not in roster" +#~ msgstr "Није у листи контаката" + +#, fuzzy +#~ msgid "Contact signed in notification color." +#~ msgstr "Прикажи догађај у листи контаката" + +#, fuzzy +#~ msgid "Contact signout notification color" +#~ msgstr "Прикажи догађај у листи контаката" + +#, fuzzy +#~ msgid "File transfer request notification color." +#~ msgstr "Захтев за преносом датотеке" + +#, fuzzy +#~ msgid "File transfer error notification color." +#~ msgstr "Пренос датотеке прекинут" + +#, fuzzy +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "Прикажи искачуће обавештење када се заврши пренос датотеке" + +#, fuzzy +#~ msgid "Groupchat invitation notification color" +#~ msgstr "Позив на групни разговор" + +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "Додај * и [n] у наслов листе контаката?" + +#~ msgid "Hides the banner in two persons chat window" +#~ msgstr "Сакрива банер у прозору разговора две особе" + +#, fuzzy +#~ msgid "" +#~ "Show the confirm metacontacts creation dialog or not? Empty string means " +#~ "never show the dialog." +#~ msgstr "" +#~ "Треба ли питати за потврду стварања псеудоконтакта или не? Празна ниска " +#~ "значи да никада не приказујемо дијалог." + +#~ msgid "Space separated list of ssl errors to ignore." +#~ msgstr "Листа ssl грешака за игнорисање, одвојена размацима." + +#~ msgid "Answer to receipt requests" +#~ msgstr "Одговор на захтев примања" + +#, fuzzy +#~ msgid "Language for which misspelled words will be checked" +#~ msgstr "Језик у коме желите проверавати неисправно написане речи" + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "Једем, оставите поруку." + +#, fuzzy +#~ msgid "from room %s" +#~ msgstr " из собе %s" + +#~ msgid "Leave Groupchats" +#~ msgstr "Напусти групне разговоре" + +#, fuzzy +#~ msgid "Auto Join" +#~ msgstr "Аутоматско повезивање" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "Соба:" + +#~ msgid "Jabber ID:" +#~ msgstr "Џабер ИД:" + +#~ msgid "Occupant Actions" +#~ msgstr "_Акције присутних" + +#~ msgid "_Add to Roster" +#~ msgstr "_Додај на листу контаката" + +#~ msgid "_Manage Room" +#~ msgstr "Управљање собама" + +#~ msgid "_Destroy Room" +#~ msgstr "Уништи собу" + +#~ msgid "Jabber ID" +#~ msgstr "Џабер ИД" + +#, fuzzy +#~ msgid "account" +#~ msgstr "Налог" + +#, fuzzy +#~ msgid "Roster" +#~ msgstr "_Прикажи листу контаката" + +#, fuzzy +#~ msgid "Show only in roster" +#~ msgstr "Прикажи догађај у листи контаката" + +#~ msgid "in _roster" +#~ msgstr "у _листи контаката" + +#, fuzzy +#~ msgid "Roster Appearance" +#~ msgstr "Изглед листе контаката" + +#~ msgid "_Add to Roster..." +#~ msgstr "_Додај на листу контаката..." + +#~ msgid "_Jabber ID:" +#~ msgstr "_Џабер ИД:" + +#, fuzzy +#~ msgid "_Jabber ID" +#~ msgstr "_Џабер ИД:" + +#~ msgid "JabberID" +#~ msgstr "Џабер ИД" + +#, fuzzy +#~ msgid "Show Roster" +#~ msgstr "_Прикажи листу контаката" + +#~ msgid "MUC server" +#~ msgstr "Сервер групног разговора" + +#~ msgid "Room Configuration" +#~ msgstr "Конфигурација собе" + +#~ msgid "Join _Group Chat" +#~ msgstr "Прикључи се _групном разговору" + +#, fuzzy +#~ msgid "Audio sessions are not available" +#~ msgstr "Веза није доступна" + +#~ msgid "Conference" +#~ msgstr "Конференција" + +#, fuzzy +#~ msgid "_Manage Bookmarks…" +#~ msgstr "Подешавање маркера" + +#, fuzzy +#~ msgid "Hide _Roster" +#~ msgstr "у _листи контаката" + +#~ msgid "Show _Roster" +#~ msgstr "_Прикажи листу контаката" + +#, fuzzy +#~ msgid "Invalid Room" +#~ msgstr "Неисправна соба" + +#~ msgid "Invalid room" +#~ msgstr "Неисправна соба" + +#~ msgid "A GTK+ Jabber client" +#~ msgstr "GTK+ Џабер клијент" + +#~ msgid "Changing Nickname" +#~ msgstr "Промена надимка" + +#~ msgid "Please specify the new nickname you want to use:" +#~ msgstr "Молимо одредите нови надимак који желите да користите:" + +#~ msgid "Bookmark already set" +#~ msgstr "Маркер је већ постављен" + +#, fuzzy +#~ msgid "Group Chat '%s' is already in your bookmarks." +#~ msgstr "Групни разговор \"%s\" је већ маркиран." + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "Маркер успешно додат" + +#, fuzzy +#~ msgid "" +#~ "You can manage your bookmarks by clicking the Bookmarks menu item in your " +#~ "contact list." +#~ msgstr "" +#~ "Можете управљати Вашим маркерима помоћу менија Акције из Ваше листе " +#~ "контаката." + +#, fuzzy +#~ msgid "The nickname contains invalid characters." +#~ msgstr "Надимак садржи недозвољене карактере." + +#, fuzzy +#~ msgid "Bookmark Room" +#~ msgstr "Маркирај ову собу" + +#~ msgid "_Join New Group Chat" +#~ msgstr "_Придруживање новом групном разговору" + +#, fuzzy +#~ msgid "Name:" +#~ msgstr "Име: " + +#, fuzzy +#~ msgid "Description:" +#~ msgstr "Опис:" + +#, fuzzy +#~ msgid "Address:" +#~ msgstr "_Адреса:" + +#, fuzzy +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "Не можете се прикључити групном разговору ако нисте повезани." + +#, fuzzy +#~ msgid "Occupants" +#~ msgstr "_Акције присутних" + +#~ msgid "Boolean" +#~ msgstr "Да/Не" + +#~ msgid "Integer" +#~ msgstr "Цео број" + +#~ msgid "Text" +#~ msgstr "Текст" + +#~ msgid "Value" +#~ msgstr "Вредност" + +#~ msgid "(None)" +#~ msgstr "(ништа)" + +#~ msgid "Hidden" +#~ msgstr "Скривен" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "Подешавање прокси профила" + +#, fuzzy +#~ msgid "Properties" +#~ msgstr "Карактеристике" + +#, fuzzy +#~ msgid "Proxy _Port" +#~ msgstr "Прокси _порт:" + +#, fuzzy +#~ msgid "New Groupchat" +#~ msgstr "Нови групни разговор" + +#, fuzzy +#~ msgid "New Contact" +#~ msgstr "Додај нови контакт" + +#~ msgid "%s GiB" +#~ msgstr "%s GiB" + +#~ msgid "%s GB" +#~ msgstr "%s GB" + +#~ msgid "%s MiB" +#~ msgstr "%s MiB" + +#~ msgid "%s MB" +#~ msgstr "%s MB" + +#~ msgid "%s KiB" +#~ msgstr "%s KiB" + +#~ msgid "%s KB" +#~ msgstr "%s KB" + +#~ msgid "%s B" +#~ msgstr "%s B" + +#, fuzzy +#~ msgid "%s MiB/s" +#~ msgstr "%s MiB" + +#, fuzzy +#~ msgid "File transfer" +#~ msgstr "Преноси датотека" + +#, fuzzy +#~ msgid "Open _Containing Folder" +#~ msgstr "_Отвори садржавајућу фасциклу" + +#, fuzzy +#~ msgid "Default:" +#~ msgstr "Подразумевано" + +#~ msgid "Really quit Gajim?" +#~ msgstr "Стварно затворити Гајим?" + +#~ msgid "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" +#~ msgstr "" +#~ "Нећете више бити у могућности да размењујете поруке са конткатима са ових " +#~ "транспорта: %s" + +#~ msgid "Contact \"%s\" will be removed from your roster" +#~ msgstr "Контакт \"%s\" ће бити уклоњен са Ваше листе контаката" + +#, fuzzy +#~ msgid "" +#~ "By removing this contact you also by default remove authorization " +#~ "resulting in them always seeing you as offline." +#~ msgstr "" +#~ "Уклањањем овог контакта уједно подразумевано уклањате и одобрење што " +#~ "значи да ће Вас та особа увек видети као да нисте на вези." + +#~ msgid "Contacts will be removed from your roster" +#~ msgstr "Контакти ће бити уклоњени са Ваше листе контаката" + +#~ msgid "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorization resulting in them always seeing you as " +#~ "offline." +#~ msgstr "" +#~ "Уклањањем ових контаката:%s\n" +#~ "уједно уклањате и одобрење пто значи да ће Вас те особе увек видети као " +#~ "да нисте на вези." + +#, fuzzy +#~ msgid "Con_tinue" +#~ msgstr "_Настави" + +#~ msgid "_Pause" +#~ msgstr "_Паузирај" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "Уклони пренос датотека са листе" + +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "" +#~ "Ова акција уклања пренос датотеке са листе. Ако је пренос активан, прво " +#~ "се зауставља, па онда уклања" + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "Прекини пренос означене датотеке" + +#, fuzzy +#~ msgid "Hide the window" +#~ msgstr "Сакрива прозор" + +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "Прикажи искачуће обавештење када се заврши пренос датотеке" + +#~ msgid "From:" +#~ msgstr "Од:" + +#~ msgid "Subject:" +#~ msgstr "Тема:" + +#~ msgid "%s wants to send you a file:" +#~ msgstr "%s Вам жели послати датотеку:" + +#~ msgid "Name: " +#~ msgstr "Име: " + +#~ msgid "Pause" +#~ msgstr "Пауза" + +#, fuzzy +#~ msgid "Execute Command" +#~ msgstr "_Изврши наредбу" + +#~ msgid "Type: " +#~ msgstr "Тип: " + +#~ msgid "Transferred: " +#~ msgstr "Пренешено: " + +#~ msgid "Completed" +#~ msgstr "Завршен" + +#~ msgid "Stalled" +#~ msgstr "Застој" + +#~ msgid "Transferring" +#~ msgstr "Пренос у току" + +#~ msgid "Not started" +#~ msgstr "Није почео" + +#~ msgid "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Прозори свих разговора и групних разговора ће бити затворени. Желите ли " +#~ "да наставите?" + +#~ msgid "" +#~ "Your desired nickname in group chat\n" +#~ "%s\n" +#~ "is in use or registered by another occupant.\n" +#~ "Please specify another nickname below:" +#~ msgstr "" +#~ "Ваш жељени надимак у групном разговору\n" +#~ "%s\n" +#~ "је тренутно у употреби или је регистрован од стране неког од учесника.\n" +#~ "Молимо одредите други надимак испод:" + +#~ msgid "_Configure" +#~ msgstr "_Конфигуриши" + +#, fuzzy +#~ msgid "Change the avatar" +#~ msgstr "Измени статус" + +#, fuzzy +#~ msgid "" +#~ "Account in which the avatar will be set; if not specified, the avatar " +#~ "will be set for all accounts" +#~ msgstr "" +#~ "Налог за који ће бити послан xml ; ако није одређен, xml ће бити послат " +#~ "за све налоге" + +#, fuzzy +#~ msgid "add" +#~ msgstr "Тужан" + +#, fuzzy +#~ msgid "modify" +#~ msgstr "Измените" + +#, fuzzy +#~ msgid "remove" +#~ msgstr "_Уклони" + +#, fuzzy +#~ msgid "" +#~ "If true, restored messages will use a smaller font than the default one." +#~ msgstr "" +#~ "Ако је истинито, враћене поруке из историјата ће бити мањег фонта од " +#~ "подразумеваног." + +#, fuzzy +#~ msgid "Restored Message Color" +#~ msgstr "_Поново учитај подразумеване боје" + +#, fuzzy +#~ msgid "" +#~ "You are going to remove this room permanently.\n" +#~ "You may specify a reason below:" +#~ msgstr "" +#~ "Управо ћете заувек уништити ову собу.\n" +#~ "Можете испод написати разлог:" + +#~ msgid "Send Cus_tom Status" +#~ msgstr "Пошаљи кориснички дефинисан статус" + +#, fuzzy +#~ msgid "" +#~ "You are about to send a custom status. Are you sure you want to continue?" +#~ msgstr "" +#~ "Управо ћете послати прилагођен статус. Јесте ли сигурни да желите да " +#~ "наставите?" + +#, fuzzy +#~ msgid "" +#~ "This contact will temporarily see you as %(status)s, but only until you " +#~ "change your status. Then they will see your global status." +#~ msgstr "" +#~ "Контакт ће вас привремено видети као %(status)s, али само док не " +#~ "промените статус. Онда ће видети глобални статус." + +#, fuzzy +#~ msgid "" +#~ msgstr "Тема" + +#~ msgid "#" +#~ msgstr "#" + +#~ msgid "You are about to block a contact. Are you sure you want to continue?" +#~ msgstr "" +#~ "Управо ћете блокирати контакт. Јесте ли сигурни да желите да наставите?" + +#~ msgid "To:" +#~ msgstr "За:" + +#~ msgid "0" +#~ msgstr "О" + +#, fuzzy +#~ msgid "Reconnect when connection is lost" +#~ msgstr "Аутоматско повезивање када се веза изгуби" + +#, fuzzy +#~ msgid "Server Message Archive" +#~ msgstr "_Пошаљи серверску поруку..." + +#, fuzzy +#~ msgid "Message Carbons" +#~ msgstr "Поруке" + +#~ msgid "" +#~ "Sent chat state notifications. Can be one of all, composing_only, " +#~ "disabled." +#~ msgstr "" +#~ "Послата обавештења о стању разговора. Може бити једно од " +#~ "'сви','само_састављање', 'онемогућено'." + +#, fuzzy +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "Дозволи слање података о ОС-у" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the idle time of your system" +#~ msgstr "" +#~ "Ако је означена, Гајим ће дозволити другима да погледају који оперативни " +#~ "систем користите" + +#, fuzzy +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "Дозволи слање података о ОС-у" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the local time on your system" +#~ msgstr "" +#~ "Ако је означена, Гајим ће дозволити другима да погледају који оперативни " +#~ "систем користите" + +#, fuzzy +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "Дозволи слање података о ОС-у" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the operating system you are " +#~ "using" +#~ msgstr "" +#~ "Ако је означена, Гајим ће дозволити другима да погледају који оперативни " +#~ "систем користите" + +#, fuzzy +#~ msgid "" +#~ "If checked, incoming events from unauthorized contacts will be ignored. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster." +#~ msgstr "" +#~ "Ако је означена, Гајим ће игнорисати све долазне догађајеКористите са " +#~ "опрезом, блокираће све поруке које долазе од људи ван Ваше листе контаката" + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." +#~ msgstr "" +#~ "Гајим може примати и слати мета-информације везане за разговор који " +#~ "водите са контактом. Овде можете одредити која стања разговора ће се " +#~ "слати другој особи." + +#, fuzzy +#~ msgid "S_end chat state notifications" +#~ msgstr "Пошаљи обавештења о стању разговора:" + +#, fuzzy +#~ msgid "Login Options" +#~ msgstr "_Смајлији:" + +#~ msgid "Please wait while retrieving search form..." +#~ msgstr "Молимо сачекајте док се добавља формулар претраге..." + +#~ msgid "_Add contact" +#~ msgstr "Додај _контакт" + +#~ msgid "Ad-hoc Commands - Gajim" +#~ msgstr "Ад-хок команде - Гајим" + +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "Молимо сачекајте док се добавља листа команди..." + +#~ msgid "Choose command to execute:" +#~ msgstr "Одаберите команду за извршење:" + +#~ msgid "Check once more" +#~ msgstr "Означите још једном" + +#, fuzzy +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "Молимо сачекајте док се команда шаље..." + +#~ msgid "This jabber entity does not expose any commands." +#~ msgstr "Овај џабер извор не излаже ниједну команду." + +#, fuzzy +#~ msgid "F_inish" +#~ msgstr "_Заврши" + +#~ msgid "Waiting for results" +#~ msgstr "Чекам на резултате" + +#~ msgid "Error in received dataform" +#~ msgstr "Грешка у примању форме за податке" + +#~ msgid "No result" +#~ msgstr "Нема резултата" + +#~ msgid "Failed to get secret keys" +#~ msgstr "Неуспело узимање тајних кључева" + +#~ msgid "There is no OpenPGP secret key available." +#~ msgstr "Нема доступних OpenPGP тајних кључева." + +#~ msgid "OpenPGP Key Selection" +#~ msgstr "Одабир OpenPGP Кључева" + +#~ msgid "Choose your OpenPGP key" +#~ msgstr "Одаберите Ваш OpenPGP кључ" + +#~ msgid "KeyID" +#~ msgstr "ИД Кључа" + +#~ msgid "Contact name" +#~ msgstr "Име контакта" + +#, fuzzy +#~ msgid "OpenPGP is not usable" +#~ msgstr "GPG није употребљив" + +#~ msgid "Assign OpenPGP Key" +#~ msgstr "Придружи OpenPGP Кључ" + +#~ msgid "Select a key to apply to the contact" +#~ msgstr "Одаберите кључ за придруживање контакту" + +#, fuzzy +#~ msgid "" +#~ "You configured Gajim to use OpenPGP agent, but there is no OpenPGP agent " +#~ "running or it returned a wrong passphrase.\n" +#~ msgstr "" +#~ "Конфигурисали сте Гајим да користи GPG агента, али не постоји GPG агент " +#~ "који ради или је вратио лошу фразу лозинке.\n" + +#~ msgid "You are currently connected without your OpenPGP key." +#~ msgstr "Тренутно сте повезани без OpenPGP кључа." + +#, fuzzy +#~ msgid "Wrong passphrase" +#~ msgstr "Неисправна лозинка" + +#, fuzzy +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "Неисправна лозинка" + +#~ msgid "Passphrase Required" +#~ msgstr "Лозинка неопходна" + +#, fuzzy +#~ msgid "" +#~ "Enter OpenPGP key passphrase for key %(keyid)s (account %(account)s)." +#~ msgstr "Унесите лозинку GPG кључа %(keyid)s (налог %(account)s)." + +#, fuzzy +#~ msgid "OpenPGP key expired" +#~ msgstr "GPG кључ истекао" + +#, fuzzy +#~ msgid "" +#~ "Your OpenPGP key has expired, you will be connected to %s without OpenPGP." +#~ msgstr "Ваш GPG кључ је истекао, бићете повезани са %s без OpenPGP-а." + +#~ msgid "Wrong Passphrase" +#~ msgstr "Неисправна лозинка" + +#, fuzzy +#~ msgid "Please retype your OpenPGP passphrase or press Cancel." +#~ msgstr "Молимо поново укуцајте Вашу GPG лозинку или притисните Одустани" + +#~ msgid "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Шаље нову поруку контакту на листи, OpenPGP кључ и налог су опциони. Ако " +#~ "желите поставити само 'налог', без 'OpenPGP кључ', само поставите " +#~ "'OpenPGP кључ' на ''." + +#~ msgid "if specified, the message will be encrypted using this public key" +#~ msgstr "" +#~ "ако је назначено, порука ће бити шифрована користећи овај јавни кључ" + +#, fuzzy +#~ msgid "" +#~ "Sends a chat message to someone on your roster. Optionally with OpenPGP " +#~ "key and account. If you want to only set the latter, set OpenPGP key to " +#~ "\"\"." +#~ msgstr "" +#~ "Шаље нову поруку контакту на листи, OpenPGP кључ и налог су опциони. Ако " +#~ "желите поставити само 'налог', без 'OpenPGP кључ', само поставите " +#~ "'OpenPGP кључ' на ''." + +#~ msgid "" +#~ "If disabled, don't sign presences with GPG key, even if GPG is configured." +#~ msgstr "" +#~ "Ако је онемогућено, не потписуј присуство са GPG кључем, чак иако је GPG " +#~ "конфигурисан." + +#, fuzzy +#~ msgid "OpenPGP:" +#~ msgstr "OpenPGP: " + +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "Придружи Open_PGP Кључ..." + +#, fuzzy +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "Шифровање OpenPGP поруке" + +#, fuzzy +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "Шифрујем поруке разговора са gpg кључевима." + +#, fuzzy +#~ msgid "Requires: gpg and python-gnupg (%(url)s)" +#~ msgstr "Захтева python-dbus." + +#, fuzzy +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "користи HTTP_PROXY променљив_у окружења" + +#, fuzzy +#~ msgid "Use PGP Agent" +#~ msgstr "Користи G_PG агента" + +#, fuzzy +#~ msgid "OpenPGP Key" +#~ msgstr "Придружи OpenPGP Кључ" + +#~ msgid "Cancel confirmation" +#~ msgstr "Поништи одобравање" + +#~ msgid "" +#~ "You are in process of executing command. Do you really want to cancel it?" +#~ msgstr "Тренутно извршавате команду. Да ли желите да је прекинете?" + +#~ msgid "Service sent malformed data" +#~ msgstr "Сервис је послао лоше податке" + +#~ msgid "Service changed the session identifier." +#~ msgstr "Сервис је изменио идентификатор сесије." + +#, fuzzy +#~ msgid "%s - Ad-hoc Commands - Gajim" +#~ msgstr "Ад-хок команде - Гајим" + +#~ msgid "Service returned an error." +#~ msgstr "Сервис је вратио грешку." + +#~ msgid "You are invited to a groupchat" +#~ msgstr "Позвани сте у групни разговор" + +#~ msgid "_Start Chat" +#~ msgstr "_Започни разговор" + +#~ msgid "Au_thorize" +#~ msgstr "_Одобри ауторизацију" + +#~ msgid "You are currently connected to the server" +#~ msgstr "Тренутно сте спојени на сервер" + +#~ msgid "To disable the account, you must be disconnected." +#~ msgstr "Да бисте онемогућили налог, морате бити раскачени." + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with %(jid)s?" +#~ msgstr "Да ли заиста желите да избришете означену поруку?" + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with the selected contacts?" +#~ msgstr "Да ли заиста желите избрисати дневник разговора означеног контакта?" + +#~ msgid "What do you want to do?" +#~ msgstr "Шта желите да урадите?" + +#~ msgid "" +#~ "List of colors, separated by \":\", that will be used to color nicknames " +#~ "in group chats." +#~ msgstr "" +#~ "Листа боја одвојена са \":\" које ће бити коришћене за бојење надимака у " +#~ "групним разговорима." + +#, fuzzy +#~ msgid "You have received new entries (and %d not displayed):" +#~ msgid_plural "You have received new entries (and %d not displayed):" +#~ msgstr[0] "Примили сте нове уносе (%(count)d није приказано):" +#~ msgstr[1] "Примили сте нове уносе (%(count)d није приказано):" +#~ msgstr[2] "Примили сте нове уносе (%(count)d није приказано):" + +#~ msgid "Stopped" +#~ msgstr "Заустављен" + +#~ msgid "" +#~ "You are about to send your password on an insecure connection. You should " +#~ "install PyOpenSSL to prevent that. Are you sure you want to do that?" +#~ msgstr "" +#~ "Управо ћете послати лозинку преко несигурне везе. Требало би да " +#~ "инсталирате PyOpenSSL да спречите ово. Да ли желите да наставите?" + +#, fuzzy +#~ msgid "Status messages displayed in chat window" +#~ msgstr "Пошаљи поруку и затвори прозор" + +#~ msgid "?print_status:All" +#~ msgstr "?испис статуса:Све" + +#~ msgid "Enter and leave only" +#~ msgstr "Само ући и напустити" + +#~ msgid "?print_status:None" +#~ msgstr "?print_status:None" + +#, fuzzy +#~ msgid "Untrusted OpenPGP key" +#~ msgstr "Одаберите Ваш OpenPGP кључ" + +#, fuzzy +#~ msgid "" +#~ "The OpenPGP key used to encrypt this chat is not trusted. Do you really " +#~ "want to encrypt this message?" +#~ msgstr "" +#~ "GPG кључ који се користи за шифровање није од поверења. Да ли заиста " +#~ "желите да шифрујете ову поруку?" + +#~ msgid "D-Bus python bindings are missing in this computer" +#~ msgstr "На овом рачунару недостају python везивања за D-Bus" + +#~ msgid "D-Bus capabilities of Gajim cannot be used" +#~ msgstr "D-Bus могућности Гајима се не могу користити" + +#~ msgid "D-Bus does not run correctly on this machine" +#~ msgstr "D-Bus не ради исправно на овом рачунару" + +#, fuzzy +#~ msgid "D-Bus does not run correctly on this machine: system bus not present" +#~ msgstr "D-Bus не ради исправно на овом рачунару" + +#, fuzzy +#~ msgid "" +#~ "D-Bus does not run correctly on this machine: session bus not present" +#~ msgstr "D-Bus не ради исправно на овом рачунару" + +#, fuzzy +#~ msgid "Command line Control" +#~ msgstr "Командна линија" + +#, fuzzy +#~ msgid "Enables you to control Gajim with via commandline" +#~ msgstr "Скрипта за контролу Гајима из командне линије." + +#~ msgid "" +#~ "When is self contact row displayed. Can be \"always\", " +#~ "\"when_other_resource\" or \"never\"" +#~ msgstr "" +#~ "Када се приказује сопствени контакт. Може бити \"always\", " +#~ "\"when_other_resource\" or \"never\"" + +#~ msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +#~ msgstr "%(nick)s је избачен од стране %(who)s: %(reason)s" + +#~ msgid "%(nick)s has been banned by %(who)s: %(reason)s" +#~ msgstr "%(nick)s има забрану од члана %(who)s: %(reason)s" + +#~ msgid "system shutdown" +#~ msgstr "гашење система" + +#~ msgid "** Role of %(nick)s has been set to %(role)s" +#~ msgstr "** Улога %(nick)s је постављена на %(role)s" + +#~ msgid "%s has left" +#~ msgstr "%s је отишао" + +#, fuzzy +#~ msgid "%s is full" +#~ msgstr "Фонт" + +#, fuzzy +#~ msgid "" +#~ "Can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no " +#~ "longer print status line in groupchats when a member changes their status " +#~ "and/or their status message. If \"all\" Gajim will print all status " +#~ "messages. If \"in_and_out\", Gajim will only print FOO enters/leaves " +#~ "group chat." +#~ msgstr "" +#~ "може бити \"none\", \"all\" или \"in_and_out\". Ако је \"none\", Гајим " +#~ "више неће исписивати статусну линију у групним разговорима када члан " +#~ "промени свој статус и/или измени статусну поруку. Ако је \"all\", Гајим " +#~ "ће приказивати све статусне поруке. Ако је \"in_and_out\". Гајим ће " +#~ "приказивати само поруке типа тај и тај је ушао/изашао у/из собе." + +#, fuzzy +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "Прикажи статусне поруке контаката на листи" + +#, fuzzy +#~ msgid "" +#~ "You are about to send your password unencrypted on an insecure " +#~ "connection. Are you sure you want to do that?" +#~ msgstr "" +#~ "Управо ћете послати лозинку преко нешифроване везе. Јесте ли сигурни да " +#~ "желите то да урадите?" + +#, fuzzy +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "Анонимно пријављивање" + +#, fuzzy +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "Анон_имно пријављивање" + +#, fuzzy +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "Анон_имно пријављивање" + +#~ msgid "" +#~ "Displayed chat state notifications in chat windows. Can be one of all, " +#~ "composing_only, disabled." +#~ msgstr "" +#~ "Приказана обавештења о стању разговора у прозору за разговор. Може бити " +#~ "једно од 'сви', 'само_састављање', 'онемогућено'." + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." +#~ msgstr "" +#~ "Гајим може примати и слати мета-информације везане за разговор који " +#~ "водите са контактом. Овде можете одредити која стања разговора ће се " +#~ "приказивати у прозорима разговора." + +#~ msgid "This is an irreversible operation." +#~ msgstr "Ова операција је неповратна." + +#~ msgid "Settings" +#~ msgstr "Подешавања" + +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "Добродошли у Гајимов менаџер дневника историјата" + +#~ msgid "Member List" +#~ msgstr "Листа чланова" + +#~ msgid "Owner List" +#~ msgstr "Листа власника" + +#~ msgid "Administrator List" +#~ msgstr "Листа администратора" + +#~ msgid "Nick" +#~ msgstr "Надимак" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "Кога желите забранити?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Member…" +#~ msgstr "Додавање члана..." + +#~ msgid "" +#~ "Whom do you want to make a member?\n" +#~ "\n" +#~ msgstr "" +#~ "Кога желите да поставите чланом?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Owner…" +#~ msgstr "Додавање власника..." + +#~ msgid "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" +#~ msgstr "" +#~ "Кога желите да поставите за власника?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Administrator…" +#~ msgstr "Додавање администратора..." + +#~ msgid "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" +#~ msgstr "" +#~ "Кога желите да поставите за администратора?\n" +#~ "\n" + +#~ msgid "Error reading file:" +#~ msgstr "Грешка при читању датотеке:" + +#~ msgid "Error parsing file:" +#~ msgstr "Грешка при учитавању датотеке" + +#~ msgid "List of possible features in Gajim:" +#~ msgstr "Листа могућности Гајима:" + +#~ msgid "Description" +#~ msgstr "Опис" + +#~ msgid "Password encryption" +#~ msgstr "Шифровање лозинком" + +#~ msgid "Spellchecking of composed messages." +#~ msgstr "Провера правописа састављених порука." + +#~ msgid "Automatic status" +#~ msgstr "Аутоматски статус" + +#~ msgid "Requires python2.5." +#~ msgstr "Захтева python2.5." + +#~ msgid "" +#~ "Generate XHTML output from RST code (see http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Генерише XHTML излаз од RST кода (погледати http://docutils.sourceforge." +#~ "net/docs/ref/rst/restructuredtext.html)." + +#, fuzzy +#~ msgid "?features:Available" +#~ msgstr "Доступан" + +#~ msgid "Feature" +#~ msgstr "Могућност" + +#~ msgid "Filter:" +#~ msgstr "Филтер:" + +#~ msgid "Chat Appearance" +#~ msgstr "Изглед разговора" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed out" +#~ msgstr "" +#~ "Гајим ће Вас обавестити о контактима који су се управо одјавили са " +#~ "искачућим прозором у доњем десном углу екрана" + +#~ msgid "Sounds" +#~ msgstr "Звукови" + +#~ msgid "Chat state notifications" +#~ msgstr "Обавештења стања разговора" + +#, fuzzy +#~ msgid "_Away after" +#~ msgstr "Аутом_атски одсутан после:" + +#~ msgid "" +#~ "If checked, Gajim will change status to Away when the computer is unused." +#~ msgstr "" +#~ "Ако је означена, Гајим ће аутоматски променити статус у Одсутан када " +#~ "рачунар није у употреби." + +#, fuzzy +#~ msgid "_Not available after" +#~ msgstr "Аутоматски _недоступан након:" + +#~ msgid "Auto Status" +#~ msgstr "Ауто статус" + +#~ msgid "Status Messages" +#~ msgstr "Статусне поруке" + +#, fuzzy +#~ msgid "Audio" +#~ msgstr "Акције" + +#, fuzzy +#~ msgid "Video" +#~ msgstr "Средње име:" + +#, fuzzy +#~ msgid "Connection" +#~ msgstr "Услови" + +#~ msgid "Custom" +#~ msgstr "Персонални" + +#~ msgid "Privacy" +#~ msgstr "Приватност" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "Напредна измена конфигурације" + +#, fuzzy +#~ msgid "File transfer, room bookmarks" +#~ msgstr "Грешка при преносу датотеке" + +#, fuzzy +#~ msgid "XML console interface" +#~ msgstr "XML Конзола" + +#~ msgid "" +#~ "A list of modp groups to use in a Diffie-Hellman, highest preference " +#~ "first, separated by commas. Valid groups are 1, 2, 5, 14, 15, 16, 17 and " +#~ "18. Higher numbers are more secure, but take longer to calculate when you " +#~ "start a session." +#~ msgstr "" +#~ "Листа modp група за коришћење у Diffie-Hellman-у, највеће имају виши " +#~ "приоритет, одвојени зарезима. Валидне групе су 1, 2, 5, 14, 15, 16, 17 и " +#~ "18. Вишљи бројеви су сугурнији, али тада треба више времена за почетак " +#~ "сесије." + +#, fuzzy +#~ msgid "(ESession info)" +#~ msgstr "Опис" + +#~ msgid "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" +#~ msgstr "" +#~ "Ако није онемогућено, Гајим ће заменити ascii смајлије као нпр. ':)' са " +#~ "еквивалентним анимираним или статичним графичким смајлијима" + +#, fuzzy +#~ msgid "_Emoticons" +#~ msgstr "_Смајлији:" + +#~ msgid "_Highlight misspelled words" +#~ msgstr "_Обоји погрешно написане речи" + +#, fuzzy +#~ msgid "Notify by icon when your messages are received" +#~ msgstr "Звук који ће се пустити када стигне нека MUC порука." + +#, fuzzy +#~ msgid "T_heme" +#~ msgstr "Т_ема:" + +#~ msgid "Themes" +#~ msgstr "Теме" + +#~ msgid "Always use this nickname when there is a conflict" +#~ msgstr "Увек користи надимак када постоји конфликт" + +#~ msgid "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." +#~ msgstr "" +#~ "Jabberd1.4 не воли sha информације када неко уђе у групни разговор који " +#~ "је заштићен лозинком. Искључите ову опцију да престанете слати sha " +#~ "информације у групним разговорима" + +#, fuzzy +#~ msgid "Presence" +#~ msgstr "_Присутност" + +#~ msgid "Emoticons disabled" +#~ msgstr "Смајлији искључени" + +#, fuzzy +#~ msgid "" +#~ "Your configured emoticons theme could not be loaded. See the log for more " +#~ "details." +#~ msgstr "Ваша тема за смајлије није нађена, па су смајлији искључени." + +#~ msgid "You cannot make changes to the default theme" +#~ msgstr "Не можете променити подразумевану тему" + +#~ msgid "theme name" +#~ msgstr "име теме" + +#~ msgid "You cannot delete your current theme" +#~ msgstr "Не можете избрисати Вашу тренутну тему" + +#~ msgid "New Single Message from %(nickname)s" +#~ msgstr "Нова самостална порука од контакта %(nickname)s" + +#~ msgid "New Private Message from group chat %s" +#~ msgstr "Нова приватна порука са групног разговора %s" + +#~ msgid "%(nickname)s: %(message)s" +#~ msgstr "%(nickname)s: %(message)s" + +#~ msgid "Messaged by %(nickname)s" +#~ msgstr "Нова порука од %(nickname)s" + +#~ msgid "Status message text color." +#~ msgstr "Боја текста статусне поруке." + +#~ msgid "Incoming nickname font." +#~ msgstr "Фонт долазног надимка." + +#~ msgid "Outgoing nickname font." +#~ msgstr "Фонт одлазног надимка." + +#~ msgid "Status message text font." +#~ msgstr "Фонт текста статусне поруке." + +#~ msgid "Background color of contacts when they just signed in." +#~ msgstr "Боја позадине контакта када тек дођу на везу." + +#~ msgid "Background color of contacts when they just signed out." +#~ msgstr "Боја позадине контакта када тек оду са везе." + +#~ msgid "green" +#~ msgstr "зелена" + +#~ msgid "grocery" +#~ msgstr "намирнице" + +#~ msgid "human" +#~ msgstr "људска" + +#~ msgid "marine" +#~ msgstr "морска" + +#, fuzzy +#~ msgid "Contact row" +#~ msgstr "Контакт" + +#~ msgid "Gajim Themes Customization" +#~ msgstr "Персонализација Гајим тема" + +#~ msgid "Text _color:" +#~ msgstr "Боја текст_а:" + +#~ msgid "_Background:" +#~ msgstr "_Позадина:" + +#~ msgid "Text _font:" +#~ msgstr "_Фонт текста:" + +#~ msgid "Font style:" +#~ msgstr "Изглед фонта:" + +#~ msgid "Paused" +#~ msgstr "Паузирано" + +#~ msgid "Gone" +#~ msgstr "Отишао" + +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "" +#~ "Поруке\n" +#~ "вишекорисничког разговора" + +#~ msgid "Chatstate Tab Colors" +#~ msgstr "Боје језичака статуса разговора" + +#, fuzzy +#~ msgid "Chat message" +#~ msgstr "Порука разговора:" + +#~ msgid "Use system _default" +#~ msgstr "Користи системски подразумевано" + +#~ msgid "Font" +#~ msgstr "Фонт" + +#, fuzzy +#~ msgid "Contact's nickname" +#~ msgstr "Име контакта" + +#, fuzzy +#~ msgid "_Status message" +#~ msgstr "_Статусна порука:" + +#, fuzzy +#~ msgid "Your message" +#~ msgstr "Порука грешке: %s" + +#, fuzzy +#~ msgid "_URL highlight" +#~ msgstr "URL осветљавање:" + +#~ msgid "Chat Line Colors" +#~ msgstr "Боје линија разговора" + +#~ msgid "Jabber ID:" +#~ msgstr "Џабер ИД:" + +#~ msgid "Resource:" +#~ msgstr "Ресурс:" + +#~ msgid "Status:" +#~ msgstr "Статус:" + +#~ msgid "Contact time:" +#~ msgstr "Време контакта на вези:" + +#~ msgid "Ask:" +#~ msgstr "Ауторизација:" + +#~ msgid "Subscription:" +#~ msgstr "Пријава:" + +#~ msgid "Name:" +#~ msgstr "Име:" + +#~ msgid "Nickname:" +#~ msgstr "Надимак:" + +#~ msgid "Street:" +#~ msgstr "Улица:" + +#~ msgid "City:" +#~ msgstr "Град:" + +#~ msgid "State:" +#~ msgstr "Покрајина:" + +#~ msgid "Extra Address:" +#~ msgstr "Додатна адреса:" + +#~ msgid "Postal Code:" +#~ msgstr "Поштански број:" + +#~ msgid "Country:" +#~ msgstr "Држава:" + +#~ msgid "Homepage:" +#~ msgstr "Лична страна:" + +#~ msgid "E-Mail:" +#~ msgstr "Е-мејл:" + +#~ msgid "Phone No.:" +#~ msgstr "Број телефона:" + +#~ msgid "Birthday:" +#~ msgstr "Рођендан:" + +#~ msgid "Family:" +#~ msgstr "Презиме:" + +#~ msgid "Middle:" +#~ msgstr "Средње име:" + +#~ msgid "Prefix:" +#~ msgstr "Префикс:" + +#~ msgid "Given:" +#~ msgstr "Име:" + +#~ msgid "Suffix:" +#~ msgstr "Суфикс:" + +#~ msgid "Full Name" +#~ msgstr "Пуно име" + +#~ msgid "Company:" +#~ msgstr "Фирма:" + +#~ msgid "Department:" +#~ msgstr "Одсек:" + +#~ msgid "Position:" +#~ msgstr "Позиција:" + +#~ msgid "Role:" +#~ msgstr "Улога:" + +#~ msgid "- messages will be logged" +#~ msgstr "- поруке ће бити логоване" + +#~ msgid "- messages will not be logged" +#~ msgstr "- поруке неће бити логоване" + +#~ msgid "Edit %s" +#~ msgstr "Измени %s" + +#~ msgid "Conversation History with %s" +#~ msgstr "Историјат разговора са %s" + +#~ msgid "Contact with \"%s\" cannot be established" +#~ msgstr "Контакт са \"%s\" се не може успоставити" + +#~ msgid "Registration information for transport %s has not arrived in time" +#~ msgstr "Информације о регистрацији за транспорт %s нису дошле на време" + +#~ msgid "Register to" +#~ msgstr "Региструј се на" + +#~ msgid "Search:" +#~ msgstr "Претрага:" + +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "Без везе није могућа промена лозинке." + +#~ msgid "Invalid password" +#~ msgstr "Неисправна лозинка" + +#~ msgid "The passwords typed in both fields must be identical." +#~ msgstr "Лозинке уписане у оба поља морају бити идентичне." + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "Унесите поново као потврду:" + +#~ msgid "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" +#~ msgstr "" +#~ "Џабер ИД %s не поштује RFC правила. Неће бити додат на Вашу листу " +#~ "контаката. Употребите алате као што је http://jru.jabberstudio.org/ да " +#~ "бисте га уклонили" + +#~ msgid "unsubscribe request from %s" +#~ msgstr "захтев за укидање претплате од контакта %s" + +#~ msgid "Homepage:" +#~ msgstr "Лична страна:" + +#~ msgid "Manage Bookmarks" +#~ msgstr "Подешавање маркера" + +#~ msgid "_Nickname:" +#~ msgstr "_Надимак:" + +#, fuzzy +#~ msgid "Pr_int status:" +#~ msgstr "Испис статуса:" + +#, fuzzy +#~ msgid "Add JID" +#~ msgstr "Џабер ИД" + +#, fuzzy +#~ msgid "Preference:" +#~ msgstr "Подешавања" + +#, fuzzy +#~ msgid "Preference" +#~ msgstr "Подешавања" + +#, fuzzy +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "" +#~ "Молимо Вас испуните податке за контакт кога желите\n" +#~ "додати на налог %s" + +#~ msgid "Please fill in the data of the contact you want to add" +#~ msgstr "Молимо Вас испуните податке за контакт кога желите додати" + +#, fuzzy +#~ msgid "Recently" +#~ msgstr "Недавно:" + +#~ msgid "Add New Contact" +#~ msgstr "Додај нови контакт" + +#~ msgid "_User ID:" +#~ msgstr "_ИД корисника:" + +#, fuzzy +#~ msgid "Type User ID" +#~ msgstr "ИД корисника:" + +#, fuzzy +#~ msgid "Type Nickname" +#~ msgstr "Надимак" + +#~ msgid "Personal Information" +#~ msgstr "Личне Информације" + +#~ msgid "Avatar:" +#~ msgstr "Аватар:" + +#~ msgid "Click to set your avatar" +#~ msgstr "Кликните да бисте поставили Ваш аватар" + +#, fuzzy +#~ msgid "Remove Avatar" +#~ msgstr "Уклони групу" + +#~ msgid "Not fetched because of invisible status" +#~ msgstr "Није дохваћено због статуса невидљивости" + +#~ msgid "Please wait..." +#~ msgstr "Молимо сачекајте..." + +#~ msgid "" +#~ "When negotiating an encrypted session, should Gajim assume you want your " +#~ "messages to be logged?" +#~ msgstr "" +#~ "Када се успоставља шифрована сесија, да ли Гајим треба да претпостави да " +#~ "желите да чувате поруке у дневнику?" + +#~ msgid "Log _encrypted chat session" +#~ msgstr "Уписуј у дневник шифроване сесије разговора" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will keep logs for encrypted messages. Please note that " +#~ "when using end-to-end encryption the remote party has to agree on " +#~ "logging, else the messages will not be logged." +#~ msgstr "" +#~ "Ако је означена, Гајим ће држати дневнике шифрованих разговора. Приметити " +#~ "да када се користи E2E енкрипција, друга страна мора да се сложи са " +#~ "чувањем дневника, у супротном се поруке неће памтити." + +#~ msgid "Yahoo! Address:" +#~ msgstr "Yahoo! адреса:" + +#~ msgid "Forward unread messages" +#~ msgstr "Проследи непрочитане поруке" + +#~ msgid "All unread messages have been forwarded." +#~ msgstr "Све непрочитане поруке су прослеђене." + +#, fuzzy +#~ msgid "Forward unread message then disconnect" +#~ msgstr "Проследи непрочитане поруке" + +#~ msgid "MSN Address:" +#~ msgstr "MSN адреса:" + +#~ msgid "Confirm these session options" +#~ msgstr "Потврди ове опције сесије" + +#~ msgid "" +#~ "The remote client wants to negotiate a session with these features:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Are these options acceptable?" +#~ msgstr "" +#~ "Удаљени клијент жели да започне сесију са овим могућностима:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Да ли су ове ставке прихватљиве?" + +#~ msgid "" +#~ "The remote client selected these options:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Continue with the session?" +#~ msgstr "" +#~ "Удаљени клијент је одабрао следеће ставке:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Наставити са сесијом?" + +#, fuzzy +#~ msgid "Always accept for this contact" +#~ msgstr "Да ли је OpenPGP омогућен за овај контакт?" + +#~ msgid "End to End message encryption" +#~ msgstr "Шифровање поруке с краја на крај" + +#~ msgid "Encrypting chat messages." +#~ msgstr "Шифрујем поруке разговора." + +#~ msgid "Requires python-crypto." +#~ msgstr "Захтева python-crypto." + +#~ msgid "Session negotiation cancelled" +#~ msgstr "Успостављање сесије прекинуто" + +#~ msgid "This session is encrypted" +#~ msgstr "Ова сесија је шифрована" + +#~ msgid " and WILL be logged" +#~ msgstr "и БИЋЕ памћена" + +#~ msgid " and WILL NOT be logged" +#~ msgstr "и НЕЋЕ бити памћена" + +#~ msgid "" +#~ "Remote contact's identity not verified. Click the shield button for more " +#~ "details." +#~ msgstr "" +#~ "Идентитет другог корисника није потврђен. Кликните на штит за више детаља." + +#, fuzzy +#~ msgid "end-to-end encryption disabled" +#~ msgstr "GPG енкрипција онемогућена" + +#~ msgid "" +#~ "Unable to decrypt message from %s\n" +#~ "It may have been tampered with." +#~ msgstr "" +#~ "Не могу да дешифрујем поруку од контакта %s\n" +#~ "Можда је промењена." + +#~ msgid "Unable to decrypt message" +#~ msgstr "Не могу да дешифрујем поруку" + +#~ msgid "Enable ESessions encryption for this account." +#~ msgstr "Омогући ESessions енкрипцију за овај налог." + +#~ msgid "Should Gajim automatically start an encrypted session when possible?" +#~ msgstr "" +#~ "Да ли ће Гајим аутоматски стартовати шифровану сесију ако је могуће?" + +#~ msgid "" +#~ "[This is part of an encrypted session. If you see this message, something " +#~ "went wrong.]" +#~ msgstr "" +#~ "[Ово је део шифроване сесије. Уколико видите ово, нешто је пошло наопако.]" + +#~ msgid "Requires python-avahi." +#~ msgstr "Захтева python-avahi." + +#, fuzzy +#~ msgid "Save Image as…" +#~ msgstr "Сними слику као..." + +#, fuzzy +#~ msgid "Exporting History Logs…" +#~ msgstr "Извожење дневника историјата..." + +#~ msgid "When %s becomes:" +#~ msgstr "Кад %s постане:" + +#~ msgid "Adding Special Notification for %s" +#~ msgstr "Додавање посебног обавештења за %s" + +#, fuzzy +#~ msgid "" +#~ "It seems the SSL certificate of account %(account)s has changed and is " +#~ "not valid or your connection is being compromised.\n" +#~ "\n" +#~ "Old SHA-1 fingerprint: %(old_sha1)s\n" +#~ "Old SHA-256 fingerprint: %(old_sha256)s\n" +#~ "\n" +#~ "New SHA-1 fingerprint: %(new_sha1)s\n" +#~ "New SHA-256 fingerprint: %(new_sha256)s\n" +#~ "\n" +#~ "Do you still want to connect and update the fingerprint of the " +#~ "certificate?" +#~ msgstr "" +#~ "Чини се да се SSL сертификат налога %(account)s променио или је Ваша " +#~ "конекција нападнута.\n" +#~ "Стари SHA-1 отисак: %(old_sha1)s\n" +#~ "Стари SHA-256 отисак: %(old_sha256)s\n" +#~ "\n" +#~ "Нови SHA-1 отисак: %(new_sha1)s\n" +#~ "Нови SHA-256 отисак: %(new_sha256)s\n" +#~ "\n" +#~ "Да ли и даље желите да се конектујете и освежите отисак овог сертификата?" + +#~ msgid "" +#~ "The authenticity of the %s certificate could be invalid.\n" +#~ "The certificate does not cover this domain." +#~ msgstr "" +#~ "Аутентичност сертификата %s може бити неисправна.\n" +#~ "Сертификат не покрива овај домен." + +#~ msgid "Unable to load idle module" +#~ msgstr "Није могуће учитавање модула idle" + +#, fuzzy +#~ msgid "%s or %s is a directory but should be a file" +#~ msgstr "%s jе фасцикла, али би требала бити датотека" + +#~ msgid "creating logs database" +#~ msgstr "креирам базу дневника" + +#, fuzzy +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "Пошаљи %s за %s" + +#, fuzzy +#~ msgid "Rename account label" +#~ msgstr "Преименуј налог" + +#, fuzzy +#~ msgid "Send Single Message..." +#~ msgstr "Пошаљи једну _поруку..." + +#~ msgid "We received an error: {}" +#~ msgstr "Примљена је грешка: {}" + +#~ msgid "E2E encryption disabled" +#~ msgstr "E2E енкрипција онемогућена" + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Додај овај сертификат листи проверених сертификата.\n" +#~ "SHA1 отисак овог сертификата:\n" +#~ "%s\n" +#~ "SHA256 отисак овог сертификата:\n" +#~ "%s" + +#~ msgid "uri" +#~ msgstr "uri" + +#, fuzzy +#~ msgid "" +#~ "Install /\n" +#~ "Upgrade" +#~ msgstr "Застој" + +#, fuzzy +#~ msgid "Install/Upgrade" +#~ msgstr "Застој" + +#~ msgid "cyan" +#~ msgstr "цијан" + +#~ msgid "migrating logs database to indices" +#~ msgstr "пребацујем базу дневника у индексе" + +#, fuzzy +#~ msgid "Send File..." +#~ msgstr "Пошаљи _датотеку..." + +#, fuzzy +#~ msgid "HTTP File Upload not supported by your server" +#~ msgstr "Чување псеудоконтаката није подржано од стране Вашег сервера" + +#, fuzzy +#~ msgid "Jingle File Transfer" +#~ msgstr "Преноси датотека" + +#~ msgid "" +#~ "Your configured emoticons theme has not been found, so emoticons have " +#~ "been disabled." +#~ msgstr "Ваша тема за смајлије није нађена, па су смајлији искључени." + +#~ msgid "Shows or hides the roster window" +#~ msgstr "Приказује или скрива прозор листе контаката " + +#~ msgid "Shows or hides the ipython window" +#~ msgstr "Приказује или скрива ipython прозор" + +#, fuzzy +#~ msgid "XMPP account %s" +#~ msgstr "XMPP налог %s@%s" + +#, fuzzy +#~ msgid "Exception" +#~ msgstr "Опис" + +#, fuzzy +#~ msgid "" +#~ "someone@somewhere.com would like you to add some contacts " +#~ "in your roster." +#~ msgstr "%s жели да %s неке контакте у листу ваших контаката." + +#~ msgid "" +#~ "Ordered list (space separated) of connection type to try. Can contain " +#~ "tls, ssl or plain" +#~ msgstr "" +#~ "Уређена листа (одвојена зарезима) типова конекције за пробу. Може " +#~ "садржати tls, ssl или plain" + +#~ msgid "_Actions" +#~ msgstr "_Акције" + +#~ msgid "You are already in group chat %s" +#~ msgstr "Већ сте у групном разговору %s" + +#~ msgid "Join Group Chat with account %s" +#~ msgstr "Придружите се групном разговору преко налога %s" + +#~ msgid "" +#~ "You have to choose an account from which you want to join the groupchat." +#~ msgstr "Морате одабрати налог са кога желите да уђете у собу." + +#, fuzzy +#~ msgid "Please enter the group chat JID as room@server." +#~ msgstr "Џабер ИД групног разговора има недозвољене знаке." + +#, fuzzy +#~ msgid "The group chat JID contains invalid characters." +#~ msgstr "Џабер ИД групног разговора има недозвољене знаке." + +#~ msgid "Start Chat with account %s" +#~ msgstr "Започни разговор са разуном %s" + +#, fuzzy +#~ msgid "" +#~ "Fill in the nickname or the JID of the contact you would like\n" +#~ "to send a chat message to:" +#~ msgstr "" +#~ "Испуните џабер ИД контакта коме желите\n" +#~ "послати поруку:" + +#, fuzzy +#~ msgid "Nickname / JID" +#~ msgstr "Дуплирај Џабер ИД" + +#~ msgid "Unable to parse \"%s\"." +#~ msgstr "Није могуће разложити \"%s\"." + +#~ msgid "Shows the chat dialog so that you can send messages to a contact" +#~ msgstr "" +#~ "Приказује дијалог разговора како бисте могли разговарати са контактом" + +#~ msgid "JID of the contact that you want to chat with" +#~ msgstr "Џабер ИД контакта са којим желите разговарати" + +#~ msgid "message content. The account must be specified or \"\"" +#~ msgstr "садржај поруке. Налог мора бити назначен или \"\"" + +#~ msgid "Adds contact to roster" +#~ msgstr "Додаје контакт на листу" + +#~ msgid "jid" +#~ msgstr "џид" + +#~ msgid "Adds new contact to this account" +#~ msgstr "Додаје нови контакт овом рачуну" + +#~ msgid "Opens 'Start Chat' dialog" +#~ msgstr "Отвара дијалог за започињање разговора" + +#~ msgid "Starts chat, using this account" +#~ msgstr "Започиње разговор, користећи овај налог" + +#, fuzzy +#~ msgid "Handle a xmpp:/ URI" +#~ msgstr "Управља xmpp:/ uri-јем" + +#~ msgid "URI to handle" +#~ msgstr "URI за управљање" + +#~ msgid "Account in which you want to handle it" +#~ msgstr "Налог у коме желите да управљате њиме" + +#~ msgid "Message content" +#~ msgstr "Садржај поруке" + +#~ msgid "Join a MUC room" +#~ msgstr "Придружи се новој соби" + +#~ msgid "Nickname to use" +#~ msgstr "Надимак за коришћење" + +#~ msgid "Password to enter the room" +#~ msgstr "Лозинка за улазак у собу" + +#~ msgid "Account from which you want to enter the room" +#~ msgstr "Налог са кога желите да уђете у собу" + +#, fuzzy +#~ msgid "Wrong URI" +#~ msgstr "Лош uri" + +#~ msgid "Nickname:" +#~ msgstr "Надимак:" + +#~ msgid "Server:" +#~ msgstr "Сервер:" + +#, fuzzy +#~ msgid "Join this room _automatically when I connect" +#~ msgstr "Уђи у ову собу аутоматски када се повежем" + +#, fuzzy +#~ msgid "Bro_wse Rooms" +#~ msgstr "_Преглед" + +#, fuzzy +#~ msgid "Requires libgtkspell and libenchant." +#~ msgstr "Захтева libgtkspell." + +#, fuzzy +#~ msgid "Network-Watcher" +#~ msgstr "Network-manager" + +#~ msgid "Autodetection of network status." +#~ msgstr "Аутодетекција статуса мреже." + +#, fuzzy +#~ msgid "Feature not available, see Help->Features" +#~ msgstr "Могућност није доступна под Виндоуз системом." + +#~ msgid "This contact does not support file transfer." +#~ msgstr "Овак контакт не подржава пренос датотека." + +#, fuzzy +#~ msgid "You need to know the real JID of the contact to send them a file." +#~ msgstr "" +#~ "Морате знати прави џабер ИД контакта да бисте му/јој послали датотеку." + +#~ msgid "" +#~ "You have to install %s dictionary to use spellchecking, or choose another " +#~ "language by setting the speller_language option." +#~ msgstr "" +#~ "Морате инсталирати %s речник како бисте могли користити проверу " +#~ "правописа, или одаберите други језик поставком speller_language опције." + +#~ msgid "Hides the buttons in chat windows." +#~ msgstr "Сакрива дугмад у прозорима разговора." + +#~ msgid "Change the room's subject (Alt+T)" +#~ msgstr "Промени тему собе (Alt+T)" + +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "_Маркирај ову собу (Ctrl+B)" + +#~ msgid "Browse the chat history (Ctrl+H)" +#~ msgstr "Прегледај историјат разговора (Ctrl+H)" + +#, fuzzy +#~ msgid "Show advanced functions (Alt+D)" +#~ msgstr "Прикажи мени напредних функција (Alt+A)" + +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "Додај овај контакт на листу (Ctrl+D)" + +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "Позови контакте у конверзацију (Ctrl+G)" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Прикажи профил контакта (Ctrl+I)" + +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Прикажи профил контакта (Ctrl+I)" + +#~ msgid "Ma_ke message windows compact" +#~ msgstr "Начини прозор поруке компактним" + +#~ msgid "Hide all buttons in chat windows" +#~ msgstr "Сакриј сву дугмад у прозору разговора" + +#, fuzzy +#~ msgid "Hide the chat buttons" +#~ msgstr "Начин коришћења: /%s, сакрива дугмад." + +#~ msgid "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." +#~ msgstr "" +#~ "Ако је истинито, Гајим ће послати упит за аватар за сваки контакт који " +#~ "прошлог пута није имао аватар или је онај у меморији престар" + +#~ msgid "Disk Write Error" +#~ msgstr "Грешка при упису на диск" + +#~ msgid "Set Custom _Avatar..." +#~ msgstr "Постави кориснички дефинисан аватар..." + +#, fuzzy +#~ msgid "SSL certificate validation" +#~ msgstr "Валидација SSL сертификата" + +#~ msgid "" +#~ "A library used to validate server certificates to ensure a secure " +#~ "connection." +#~ msgstr "" +#~ "Библиотека која се користи да провери сертификате сервера и осигура " +#~ "сигурну везу." + +#, fuzzy +#~ msgid "Requires python-pyopenssl > 0.12 and pyasn1." +#~ msgstr "Захтева python-pyopenssl." + +#, fuzzy +#~ msgid "?CLI:room" +#~ msgstr "соба" + +#, fuzzy +#~ msgid "?CLI:nick" +#~ msgstr "надимак" + +#, fuzzy +#~ msgid "?CLI:password" +#~ msgstr "лозинка" + +#~ msgid "Use D-Bus and Notification-Daemon to show notifications" +#~ msgstr "Користи ДБус и демон обавештења за приказивање обавештења" + +#~ msgid "Notification" +#~ msgstr "Обавештење" + +#~ msgid "Passive popups notifying for new events." +#~ msgstr "Пасивна искачућа обавештења о новим догађајима." + +#~ msgid "" +#~ "Requires python-notify or instead python-dbus in conjunction with " +#~ "notification-daemon." +#~ msgstr "" +#~ "Захтева python-notify или, уместо тога python-dbus у спрези са " +#~ "notification-daemon." + +#~ msgid "Ignore" +#~ msgstr "Игнориши" + +#~ msgid "_Open Gmail Inbox" +#~ msgstr "_Отвори Гмаил долазну пошту" + +#~ msgid "Notify on new _GMail email" +#~ msgstr "Обавести ме о новопристиглој Гмаил е-мејл пошти" + +#~ msgid "" +#~ "If checked, Gajim will show a notification when a new e-mail is received " +#~ "via GMail" +#~ msgstr "" +#~ "Ако је означена, Гајим ће приказати поруку када се прими нови е-мејл " +#~ "преко GMail-амејлова" + +#~ msgid "Display _extra email details" +#~ msgstr "Прикажи додатне е-мејл детаље" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will also include information about the sender of new " +#~ "emails" +#~ msgstr "" +#~ "Ако је означена, Гајим ће уједно укључити и информације о пошиљаоцу нових " +#~ "е-мејлова" + +#~ msgid "GMail Options" +#~ msgstr "Гмаил Опције" + +#, fuzzy +#~ msgid "20" +#~ msgstr "О" + +#~ msgid "GMail Email Received" +#~ msgstr "Примљен Гмаил е-мејл" + +#, fuzzy +#~ msgid "New e-mail on %(gmail_mail_address)s" +#~ msgstr "Нови е-мејл за %(gmail_mail_address)s" + +#, fuzzy +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "Имате %d нови е-мејл разговор" +#~ msgstr[1] "Имате %d нова е-мејл разговора" +#~ msgstr[2] "Имате %d нових е-мејл разговора" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "From: %(from_address)s\n" +#~ "Subject: %(subject)s\n" +#~ "%(snippet)s" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "Од: %(from_address)s\n" +#~ "Тема: %(subject)s\n" +#~ "%(snippet)s" + +#~ msgid "Resour_ce:" +#~ msgstr "Ресур_с:" + +#~ msgid "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" +#~ msgstr "" +#~ "Ресурс се шаље Џабер серверу како би се разликовао исти џабер ИД код 2 " +#~ "или више клијената спојена у исто време на исти сервер са истим рачуном. " +#~ "Дакле, можете бити спојени са ресурсом 'Посао' или 'Кућа', клијент са " +#~ "највишим приоритетом ће добијати обавештења о догађајима" + +#~ msgid "Priority will change automatically according to your status." +#~ msgstr "Приоритет ће бити аутоматски промењен према Вашем статусу." + +#~ msgid "Anonymous authentication" +#~ msgstr "Анонимно пријављивање" + +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "Приоритет се у џаберу користи да одреди ко добија догађаје са сервера у " +#~ "случају да су два или више клијената повезана на њега; клијент са " +#~ "највећим приоритетомдобија догађаје" + +#, fuzzy +#~ msgid "Synchronize contacts" +#~ msgstr "Синхронизуј контакте" + +#~ msgid "Click to request authorization to all contacts of another account" +#~ msgstr "Кликните да затражите ауторизацију свим контактима другог налога" + +#~ msgid "Chan_ge Password" +#~ msgstr "И_змени лозинку" + +#~ msgid "Administration operations" +#~ msgstr "Администраторске операције" + +#, fuzzy +#~ msgid "Browse..." +#~ msgstr "_Преглед" + +#, fuzzy +#~ msgid "Certificate is e_ncrypted" +#~ msgstr "Сертификат одбачен" + +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "" +#~ "Ако је ово означено, Гајим ће се при сваком покретању аутоматски повезати " +#~ "на џабер користећи овај налог" + +#~ msgid "Synch_ronize account status with global status" +#~ msgstr "Синхронизирај статус налога са глобалним статусом" + +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "Ако је ово означено, свака промена глобалног статуса (који се мења из " +#~ "падајућег менија на дну прозора контакт листе) ће променити и статус овог " +#~ "налога " + +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "Ако је ово означено, Гајим ће одашиљати још неке ИП адресе поред Ваше," +#~ "тако да пренос датотека има веће шансе да ће радити." + +#~ msgid "Proxy" +#~ msgstr "Прокси" + +#~ msgid "" +#~ "Check this so Gajim will ask you before sending your password over an " +#~ "insecure connection." +#~ msgstr "" +#~ "Означите ово да Вас Гајим пита пре него што пошаљете лозинку преко " +#~ "несигурне везе." + +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "" +#~ "Ако је ово означено, Гајим ће слати поруке да је присутан како би спречио " +#~ "прекид везе због дуге неактивности" + +#~ msgid "Use cust_om hostname/port" +#~ msgstr "К_ористи Ваше одређено име хоста/порт " + +#~ msgid "_Hostname: " +#~ msgstr "Име _хоста:" + +#~ msgid "_Port: " +#~ msgstr "_Порт:" + +#~ msgid "Choose _Key..." +#~ msgstr "Одаберите _Кључ" + +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "Ако је означено, Гајим ће узети лозинку од GPG агента" + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#~ msgid "_Edit Personal Information..." +#~ msgstr "Изм_ени личне информације..." + +#~ msgid "Personal Information" +#~ msgstr "Личне информације" + +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "По_вежи се приликом покретања Гајима" + +#~ msgid "Synchroni_ze account status with global status" +#~ msgstr "Синхрони_зуј статус налога са глобалним статусом" + +#~ msgid "Use cust_om port:" +#~ msgstr "К_ористи свој порт:" + +#~ msgid "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." +#~ msgstr "" +#~ "Ако је подразумевани порт који се користи за долазне поруке " +#~ "неодговарајући за Ваша подешавања, овде можете одабрати неки други.\n" +#~ "Могли бисте узети у обзир и могућност измене подешавања firewall-а." + +#~ msgid "OpenPGP is not usable on this computer" +#~ msgstr "OpenPGP није могуће користити на овом рачунару" + +#~ msgid "To change the account name, you must be disconnected." +#~ msgstr "За промену имена налога, морате отићи са везе." + +#~ msgid "To change the account name, you must read all pending events." +#~ msgstr "" +#~ "Да бисте променили име налога, морате прво прочитати све догађаје на " +#~ "чекању." + +#~ msgid "Account Name Already Used" +#~ msgstr "Име Налога Већ У Употреби" + +#~ msgid "" +#~ "This name is already used by another of your accounts. Please choose " +#~ "another name." +#~ msgstr "" +#~ "Ово име већ користи један од Ваших налога. Молимо Вас, одаберите друго " +#~ "име." + +#~ msgid "Account name cannot be empty." +#~ msgstr "Име налога не може бити празно." + +#~ msgid "Account name cannot contain spaces." +#~ msgstr "Име налога не може да садржи белине." + +#~ msgid "Enter a new name for account %s" +#~ msgstr "Унесите ново име за налог%s" + +#, fuzzy +#~ msgid "A JID must be in the form \"user@servername\"." +#~ msgstr "Џабер ИД мора бити облика \"корисник@сервер\"." + +#~ msgid "No such account available" +#~ msgstr "Није доступан такав налог" + +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "Морате направити Ваш налог пре измена личних информација." + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "Без везе са сервером, није могућа измена личних информација." + +#~ msgid "Your server can't save your personal information." +#~ msgstr "Ваш сервер не може да сачува Ваше личне информације." + +#~ msgid "Please rename or remove it before enabling link-local messaging." +#~ msgstr "" +#~ "Молимо Вас, преименујте или уклоните пре омогућавања локалних порука." + +#~ msgid "THANKS:" +#~ msgstr "ЗАХВАЛНИЦЕ:" + +#~ msgid "Could not write to %s. Session Management support will not work" +#~ msgstr "Није могуће писати у %s. Управљање сесијама неће бити могуће" + +#~ msgid "Jabber Traffic" +#~ msgstr "Џабер саобраћај" + +#~ msgid "_Enable" +#~ msgstr "_Омогући" + +#, fuzzy +#~ msgid "Filter" +#~ msgstr "Фонт" + +#~ msgid "_IQ" +#~ msgstr "_ИУ" + +#~ msgid "Info/Query" +#~ msgstr "Инфо/Упит" + +#~ msgid "XML Input" +#~ msgstr "XML Унос" + +#~ msgid "XML Console for %s" +#~ msgstr "XML Конзола за %s" + +#, fuzzy +#~ msgid "Idle for:" +#~ msgstr "XML Конзола за %s" + +#, fuzzy +#~ msgid "" +#~ "Request offline status messages from all contacts upon connecting. " +#~ "WARNING: This causes a lot of requests to be sent!" +#~ msgstr "" +#~ "Питај за статусне поруке ван везе за све контакте који нису на вези када " +#~ "се успостави веза са налогом. УПОЗОРЕЊЕ: ово ће послати много захтева " +#~ "серверу!" + +#~ msgid "Last status: %s" +#~ msgstr "Последњи статус: %s" + +#~ msgid " since %s" +#~ msgstr " од %s" + +#~ msgid "since %s" +#~ msgstr "од %s" + +#, fuzzy +#~ msgid "Auto" +#~ msgstr "Аутоматско повезивање" + +#, fuzzy +#~ msgid "otr" +#~ msgstr "Наложен" + +#, fuzzy +#~ msgid "Invalid expire value" +#~ msgstr "Неисправано име сервера" + +#, fuzzy +#~ msgid "There is an error" +#~ msgstr "Сервис је вратио грешку." + +#~ msgid "How many minutes should last lines from previous conversation last." +#~ msgstr "Колико минута да трају линије претходног разговора." + +#~ msgid "" +#~ "Your configured emoticons theme cannot been loaded. You maybe need to " +#~ "update the format of emoticons.py file. See http://trac.gajim.org/wiki/" +#~ "Emoticons for more details." +#~ msgstr "" +#~ "Ваша тема за смајлије не може да се учита. Можда треба да унапредите " +#~ "формат emoticons.py датотеке. Погледајте http://trac.gajim.org/wiki/" +#~ "Emoticons за више детаља." + +#~ msgid "You will be connected to %s without OpenPGP." +#~ msgstr "Повезаћете се на %s без OpenPGP кључа." + +#~ msgid "The following message was NOT encrypted" +#~ msgstr "Следећа порука НИЈЕ била шифрована" + +#~ msgid "Toggle Open_PGP Encryption" +#~ msgstr "Укључи/искључи Open_PGP енкрипцију" + +#~ msgid "Toggle End to End Encryption" +#~ msgstr "Укључи/искључи енкрипцију с краја на крај" + +#, fuzzy +#~ msgid "OpenPGP encryption enabled" +#~ msgstr "GPG енкрипција омогућена" + +#, fuzzy +#~ msgid "No OpenPGP key assigned" +#~ msgstr "Нема додељеног GPG кључа" + +#, fuzzy +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages with OpenPGP." +#~ msgstr "" +#~ "Ниједан GPG кључ није додаљен овом контакту. Не можете шифровати поруке " +#~ "са GPG-ом." + +#~ msgid "Session WILL be logged" +#~ msgstr "Сесија ЋЕ бити памћена" + +#~ msgid "Session WILL NOT be logged" +#~ msgstr "Сесија НЕЋЕ бити памћена" + +#~ msgid "is" +#~ msgstr "је" + +#~ msgid "is NOT" +#~ msgstr "НИЈЕ" + +#~ msgid "will" +#~ msgstr "ће" + +#~ msgid "will NOT" +#~ msgstr "НЕЋЕ" + +#~ msgid "The following message was encrypted" +#~ msgstr "Следећа порука је била шифрована" + +#, fuzzy +#~ msgid "Toggle the OpenPGP encryption" +#~ msgstr "Укључи/искључи Open_PGP енкрипцију" + +#~ msgid "" +#~ "Should Gajim automatically start an encrypted session with this contact " +#~ "when possible?" +#~ msgstr "" +#~ "Да ли Гајим треба аутоматски да започне шифровану везу са овим контактом " +#~ "када је могуће?" + +#~ msgid "Neither the remote presence is signed, nor a key was assigned." +#~ msgstr "Нити је удаљено присуство потписано, нити је кључ додељен." + +#~ msgid "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "Кључ контакта (%s) не поклапа се са кључем придруженим у Гајиму." + +#~ msgid "[This message is *encrypted* (See :XEP:`27`]" +#~ msgstr "[Ова порука је *шифрована* (Погледајте :XEP:`27`]" + +#~ msgid "" +#~ "Your chat session with %(jid)s is encrypted.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "Ваша сесија разговора са %(jid)s је шифрована.\n" +#~ "\n" +#~ "Кратка Аутентикациона Ниска ове сесије је: %(sas)s." + +#~ msgid "You have already verified this contact's identity." +#~ msgstr "Већ сте потврдили идентитет овог контакта." + +#~ msgid "Contact's identity verified" +#~ msgstr "Идентитет контакта потврђен" + +#~ msgid "" +#~ "To be certain that only the expected person can read your messages " +#~ "or send you messages, you need to verify their identity by clicking the " +#~ "button below." +#~ msgstr "" +#~ "Да бисте били сигурни да само очекиване особе могу да читају Ваше " +#~ "поруке или да Вам шаљу поруке, морате потврдити њихов идентитет кликајући " +#~ "дугме испод." + +#~ msgid "Contact's identity NOT verified" +#~ msgstr "Идентитет контакта НИЈЕ потврђен" + +#, fuzzy +#~ msgid "Verify…" +#~ msgstr "_Потврди" + +#~ msgid "Have you verified the contact's identity?" +#~ msgstr "Да ли сте проверили идентитет контакта?" + +#~ msgid "" +#~ "To prevent talking to an unknown person, you should speak to %(jid)s directly (in person or on the phone) and verify that they see the same " +#~ "Short Authentication String (SAS) as you.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "Да би сте спречили разговор са непознатом особом, треба да разговарате " +#~ "директно са %(jid)s (у четири ока или преко телефона) и да " +#~ "проверите да ли и он има исту кратку Аутентикациону ниску као ви.\n" +#~ "Кратка Аутентикациона Ниска ове сесије: %(sas)s." + +#~ msgid "Did you talk to the remote contact and verify the SAS?" +#~ msgstr "Да ли сте разговарали са контактом и потврдили КАН?" + +#~ msgid "" +#~ "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "" +#~ "Кључ контакта (%s) не поклапа се са кључем придруженим у Гајиму." + +#, fuzzy +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages." +#~ msgstr "" +#~ "Ниједан GPG кључ није додељен контакту. Не можете му слати шифроване " +#~ "поруке." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP key is assigned to this contact, but you do not trust their " +#~ "key, so message cannot be encrypted. Use your OpenPGP client " +#~ "to trust their key." +#~ msgstr "" +#~ "GPG кључ је додељен контакту, али Ви не верујете овом кључу, тако " +#~ "да поруке не могу бити шифроване. Употребите Вашег GPG клијента да " +#~ "дате поверење овом кључу." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP Key is assigned to this contact, and you trust their key, so " +#~ "messages will be encrypted." +#~ msgstr "" +#~ "GPG кључ је додељен овом контакту и Ви верујете овом кључу тако да ће " +#~ "поруке бити шифроване." + +#~ msgid "" +#~ "This icon indicates that this message has not yet\n" +#~ "been received by the remote end. If this icon stays\n" +#~ "for a long time, it's likely the message got lost." +#~ msgstr "" +#~ "Ова икона означава да ова порука није још\n" +#~ "стигла на други крај. Ако ова икона остане овако \n" +#~ "дуго времена, вероватно је да се порука изгубила." + +#~ msgid "" +#~ "If True, listen to D-Bus signals from NetworkManager and change the " +#~ "status of accounts (provided they do not have listen_to_network_manager " +#~ "set to False and they sync with global status) based upon the status of " +#~ "the network connection." +#~ msgstr "" +#~ "Ако је истинит, ослушкуј D-Bus сигнале из Менаџера Мреже и промени статус " +#~ "рачуна (ако немају listen_to_network_manager постављен на неистинито и " +#~ "синхронизуј са глобалним статусом) у зависности од статуса мрежне " +#~ "конекције." + +#~ msgid "" +#~ "The database file (%s) cannot be read. Try to repair it or remove it (all " +#~ "history will be lost)." +#~ msgstr "" +#~ "Датотека базе података (%s) се не може читати. Покушајте да је поправите " +#~ "или уклоните (сав историјат порука ће бити изгубљен)." + +#~ msgid "Database cannot be read." +#~ msgstr "База података не може да се прочита." + +#~ msgid "A message from a non-valid JID arrived, it has been ignored." +#~ msgstr "Порука од неисправног џабер ИД-а, игнорисана је." + +#~ msgid "Smooth scroll message in conversation window" +#~ msgstr "Глатко скроловање у прозору разговора" + +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "Измени листе _приватности..." + +#~ msgid "_Administrator" +#~ msgstr "_Администратор" + +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "Шаље поруку тренутно повезаним корисницима овог сервера" + +#~ msgid "Sets Message of the Day" +#~ msgstr "Поставља поруку дана" + +#~ msgid "Updates Message of the Day" +#~ msgstr "Освежава поруку дана" + +#~ msgid "Deletes Message of the Day" +#~ msgstr "Брише поруку дана" + +#~ msgid "Add _Contact..." +#~ msgstr "_Додај контакт..." + +#~ msgid "File _Transfers" +#~ msgstr "Преноси да_тотека" + +#~ msgid "Help online" +#~ msgstr "Помоћ са интернета" + +#~ msgid "Frequently Asked Questions (online)" +#~ msgstr "Често постављана питања (интернет)" + +#~ msgid "Fea_tures" +#~ msgstr "_Могућности" + +#~ msgid "to %s account" +#~ msgstr "на %s налог" + +#~ msgid "using %s account" +#~ msgstr "користећи %s рачун" + +#~ msgid "of account %s" +#~ msgstr "налога %s" + +#~ msgid "for account %s" +#~ msgstr "за налог %s" + +#~ msgid "" +#~ "By removing this contact you also remove authorization resulting in him " +#~ "or her always seeing you as offline." +#~ msgstr "" +#~ "Уклањањем овог контакта уједно уклањате и одобрење што значи да ће Вас та " +#~ "особа увек видети као да нисте на вези." + +#~ msgid "Message Body xmpp.org/getting-started" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:646 +#, fuzzy +msgid "_Please choose a server" +msgstr "Molimo Vas napravite novu čistu temu sa željenim imenom." + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "" + +#: gajim/data/gui/application_menu.ui:8 +#, fuzzy +msgid "_Start / Join Chat…" +msgstr "Započni razgovor" + +#: gajim/data/gui/application_menu.ui:13 +#, fuzzy +msgid "Create _Group Chat…" +msgstr "Napusti grupne razgovore" + +#: gajim/data/gui/application_menu.ui:18 +#, fuzzy +msgid "_History Manager" +msgstr "Upravnik istorijatom" + +#: gajim/data/gui/application_menu.ui:22 +#, fuzzy +msgid "Pl_ugins" +msgstr "Registracija neuspela" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +#, fuzzy +msgid "_Preferences" +msgstr "Podešavanja" + +#: gajim/data/gui/application_menu.ui:36 +#, fuzzy +msgid "_Accounts" +msgstr "Nalozi" + +#: gajim/data/gui/application_menu.ui:39 +#, fuzzy +msgid "_View" +msgstr "_Prikaz" + +#: gajim/data/gui/application_menu.ui:46 +#, fuzzy +msgid "Show _Offline Contacts" +msgstr "Prikaži kontakte koji nisu na vezi" + +#: gajim/data/gui/application_menu.ui:50 +#, fuzzy +msgid "Show _Active Contacts" +msgstr "Prikaži samo _aktivne kontakte" + +#: gajim/data/gui/application_menu.ui:54 +#, fuzzy +msgid "Show _Transports" +msgstr "Prikaži trans_porte" + +#: gajim/data/gui/application_menu.ui:60 +#, fuzzy +msgid "_XML Console" +msgstr "XML Konzola" + +#: gajim/data/gui/application_menu.ui:64 +#, fuzzy +msgid "_File Transfer" +msgstr "Prenosi datoteka" + +#: gajim/data/gui/application_menu.ui:74 +#, fuzzy +msgid "_Help" +msgstr "_Pomoć" + +#: gajim/data/gui/application_menu.ui:77 +#, fuzzy +msgid "_Wiki (Online)" +msgstr "Na vezi" + +#: gajim/data/gui/application_menu.ui:81 +#, fuzzy +msgid "FA_Q (Online)" +msgstr "Na vezi" + +#: gajim/data/gui/application_menu.ui:85 +msgid "_Keyboard Shortcuts" +msgstr "" + +#: gajim/data/gui/application_menu.ui:89 +#, fuzzy +msgid "_Features" +msgstr "Mogućnosti" + +#: gajim/data/gui/application_menu.ui:93 +#, fuzzy +msgid "_About" +msgstr "O" + +#: gajim/data/gui/filetransfer_progress.ui:125 +msgid "Speed" +msgstr "" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +#, fuzzy +msgid "OK" +msgstr "_U redu" + +#: gajim/data/gui/plugins_window.ui:55 +msgid "Install Plugin from ZIP-File" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:56 +msgid "Install from File…" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:70 +#, fuzzy +msgid "Uninstall Plugin" +msgstr "Zastoj" + +#: gajim/data/gui/plugins_window.ui:116 +#, fuzzy +msgid "" +msgstr "Registracija neuspela" + +#: gajim/data/gui/plugins_window.ui:133 +#, fuzzy +msgid "Plugin Settings" +msgstr "Registracija neuspela" + +#: gajim/data/gui/plugins_window.ui:215 +#, fuzzy +msgid "" +msgstr "Opis" + +#: gajim/data/gui/plugins_window.ui:239 +#, fuzzy +msgid "Version" +msgstr "GTK+ verzija:" + +#: gajim/data/gui/plugins_window.ui:271 +#, fuzzy +msgid "Authors" +msgstr "_Odobri autorizaciju" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +#, fuzzy +msgid "Homepage" +msgstr "Lična strana:" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:349 +#, fuzzy +msgid "Installed" +msgstr "Zastoj" + +#: gajim/data/gui/plugins_window.ui:363 +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +msgid "Synchronise contacts" +msgstr "Sinhronizuj kontakte" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "Odaberite nalog sa kojim želite da se sinhronizujete" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +#, fuzzy +msgid "_Name" +msgstr "_Ime:" + +#: gajim/data/gui/groupchat_creation.ui:122 +#, fuzzy +msgid "_Description" +msgstr "Opis" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +#, fuzzy +msgid "_Address" +msgstr "_Adresa:" + +#: gajim/data/gui/groupchat_creation.ui:278 +#, fuzzy +msgid "_Account" +msgstr "_Nalozi" + +#: gajim/data/gui/profile.ui:33 +#, fuzzy +msgid "Contact Infos" +msgstr "Informacije kontakta" + +#: gajim/data/gui/profile.ui:45 +#, fuzzy +msgid "Picture and Name" +msgstr "Nadimak za korišćenje" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "" + +#: gajim/data/gui/profile.ui:198 +#, fuzzy +msgid "Change your profile picture" +msgstr "Promeni nadimak (Ctrl+N)" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:298 +#, fuzzy +msgid "Add Entry" +msgstr "Unos:" + +#: gajim/data/gui/profile.ui:410 +#, fuzzy +msgid "Update" +msgstr "Osveži poruku dana..." + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:15 +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:65 +#, fuzzy +msgid "Add Proxy" +msgstr "Proksi:" + +#: gajim/data/gui/manage_proxies.ui:79 +#, fuzzy +msgid "Remove Proxy" +msgstr "Ukloni grupu" + +#: gajim/data/gui/manage_proxies.ui:131 +#, fuzzy +msgid "Pass_word" +msgstr "Lozinka:" + +#: gajim/data/gui/manage_proxies.ui:156 +msgid "Use proxy auth_entication" +msgstr "Koristi proksi prijavljivanje" + +#: gajim/data/gui/manage_proxies.ui:176 +#, fuzzy +msgid "_Username" +msgstr "_Korisničko ime:" + +#: gajim/data/gui/manage_proxies.ui:237 +#, fuzzy +msgid "_Host" +msgstr "_Host:" + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "Lokalni džaber ID:" + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "Resurs:" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "Status:" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +#, fuzzy +msgid "_Store conversation history" +msgstr "_Pamti u dnevniku istorijat razgovora" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +msgid "Contact" +msgstr "Kontakt" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +msgid "First Name:" +msgstr "Ime:" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +msgid "Last Name:" +msgstr "Prezime:" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +#, fuzzy +msgid "XMPP Address:" +msgstr "AIM adresa:" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "E-mejl:" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +msgid "Personal" +msgstr "Lično" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "_Status" + +#: gajim/data/gui/account_context_menu.ui:20 +msgid "_Personal Events" +msgstr "Lični događaji" + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "_Dodaj kontakt..." + +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "_Otkrivanje servisa" + +#: gajim/data/gui/account_context_menu.ui:57 +msgid "_Execute Command..." +msgstr "_Izvrši naredbu..." + +#: gajim/data/gui/account_context_menu.ui:65 +#, fuzzy +msgid "_View Server Info" +msgstr "Server" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:125 +#, fuzzy +msgid "Global Group Chat Search" +msgstr "Pridruži se grupnom razgovoru" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +#, fuzzy +msgid "_Back" +msgstr "Vraćam se brzo" + +#: gajim/data/gui/start_chat_dialog.ui:386 +#, fuzzy +msgid "Select Account" +msgstr "Uklanjanje računa %s" + +#: gajim/data/gui/start_chat_dialog.ui:477 +msgid "_Select" +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +#, fuzzy +msgid "Configure" +msgstr "_Konfiguriši" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +msgid "Create new post" +msgstr "Napravi novu objavu" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "Sta_tus" + +#: gajim/data/gui/systray_context_menu.ui:20 +msgid "_Start Chat..." +msgstr "_Započni razgovor" + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "Pošalji jednu _poruku..." + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "Prikaži sv_e događaje na čekanju" + +#: gajim/data/gui/systray_context_menu.ui:52 +msgid "Mute Sounds" +msgstr "Ugasi zvukove" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +#, fuzzy +msgid "Contact List" +msgstr "Kontakti" + +#: gajim/data/gui/shortcuts_window.ui:24 +#, fuzzy +msgid "Create new group chat" +msgstr "Napusti grupne razgovore" + +#: gajim/data/gui/shortcuts_window.ui:45 +#, fuzzy +msgid "File transfers" +msgstr "Prenosi datoteka" + +#: gajim/data/gui/shortcuts_window.ui:52 +#, fuzzy +msgid "Set the status message" +msgstr "statusna poruka" + +#: gajim/data/gui/shortcuts_window.ui:59 +#, fuzzy +msgid "Show XML console" +msgstr "Prikaži _XML Konzolu" + +#: gajim/data/gui/shortcuts_window.ui:74 +#, fuzzy +msgid "Appearance" +msgstr "Izgled razgovora" + +#: gajim/data/gui/shortcuts_window.ui:79 +#, fuzzy +msgid "Show offline contacts" +msgstr "Prikaži kontakte koji nisu na vezi" + +#: gajim/data/gui/shortcuts_window.ui:86 +#, fuzzy +msgid "Show only active contacts" +msgstr "Prikaži samo _aktivne kontakte" + +#: gajim/data/gui/shortcuts_window.ui:93 +msgid "Enable contact list filtering" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:100 +#, fuzzy +msgid "Show / hide contact list" +msgstr "Prikaži samo _aktivne kontakte" + +#: gajim/data/gui/shortcuts_window.ui:113 +#, fuzzy +msgid "Contact information" +msgstr "Informacije kontakta" + +#: gajim/data/gui/shortcuts_window.ui:120 +#, fuzzy +msgid "Rename contact" +msgstr "Preimenuj kontakt" + +#: gajim/data/gui/shortcuts_window.ui:127 +#, fuzzy +msgid "Delete contact" +msgstr "Poslati kontakti:" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +#, fuzzy +msgid "Chat" +msgstr "Razgovori" + +#: gajim/data/gui/shortcuts_window.ui:142 +#, fuzzy +msgid "Message composition" +msgstr "Sadržaj poruke" + +#: gajim/data/gui/shortcuts_window.ui:147 +#, fuzzy +msgid "Send the message" +msgstr "Pošalji poruku" + +#: gajim/data/gui/shortcuts_window.ui:154 +#, fuzzy +msgid "Add new line" +msgstr "Napravi novu objavu" + +#: gajim/data/gui/shortcuts_window.ui:161 +msgid "Select an emoji" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:168 +#, fuzzy +msgid "Complete a command or a nickname" +msgstr "Molimo Vas napravite novu čistu temu sa željenim imenom." + +#: gajim/data/gui/shortcuts_window.ui:175 +#, fuzzy +msgid "Previously sent message" +msgstr "Već postavljene poruke:" + +#: gajim/data/gui/shortcuts_window.ui:182 +#, fuzzy +msgid "Next sent messages" +msgstr "Već postavljene poruke:" + +#: gajim/data/gui/shortcuts_window.ui:189 +#, fuzzy +msgid "Quote previous message" +msgstr "statusna poruka" + +#: gajim/data/gui/shortcuts_window.ui:196 +#, fuzzy +msgid "Quote next message" +msgstr "Pošalji poruku" + +#: gajim/data/gui/shortcuts_window.ui:203 +#, fuzzy +msgid "Clear message entry" +msgstr "Poruka Poslata" + +#: gajim/data/gui/shortcuts_window.ui:211 +#, fuzzy +msgid "Recent history" +msgstr "Nedavno:" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:230 +#, fuzzy +msgid "Clear chat window" +msgstr "Način korišćenja: /%s, prazni tekstualni prozor" + +#: gajim/data/gui/shortcuts_window.ui:237 +#, fuzzy +msgid "Show chat history" +msgstr "Nedavno:" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:299 +msgid "Close chat" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:312 +#, fuzzy +msgid "Change Nickname" +msgstr "Promeni _nadimak..." + +#: gajim/data/gui/chat_control.ui:48 +#, fuzzy +msgid "Drop files or contacts" +msgstr "Šalje datoteku kontaktu" + +#: gajim/data/gui/chat_control.ui:80 +#, fuzzy +msgid "1" +msgstr "Font" + +#: gajim/data/gui/chat_control.ui:101 +#, fuzzy +msgid "2 abc" +msgstr "Font" + +#: gajim/data/gui/chat_control.ui:121 +#, fuzzy +msgid "3 def" +msgstr "Font" + +#: gajim/data/gui/chat_control.ui:141 +#, fuzzy +msgid "4 ghi" +msgstr "Font" + +#: gajim/data/gui/chat_control.ui:161 +#, fuzzy +msgid "5 jkl" +msgstr "Font" + +#: gajim/data/gui/chat_control.ui:181 +#, fuzzy +msgid "6 mno" +msgstr "Font" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "" + +#: gajim/data/gui/chat_control.ui:221 +#, fuzzy +msgid "8 tuv" +msgstr "Font" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "" + +#: gajim/data/gui/chat_control.ui:261 +#, fuzzy +msgid "*" +msgstr "Font" + +#: gajim/data/gui/chat_control.ui:281 +#, fuzzy +msgid "0" +msgstr "Font" + +#: gajim/data/gui/chat_control.ui:301 +#, fuzzy +msgid "#" +msgstr "Font" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "Započni ra_zgovor" + +#: gajim/data/gui/contact_context_menu.ui:28 +msgid "Send _File..." +msgstr "Pošalji _datoteku..." + +#: gajim/data/gui/contact_context_menu.ui:44 +msgid "Invite _Contacts" +msgstr "Pozovi kontakte" + +#: gajim/data/gui/contact_context_menu.ui:58 +msgid "E_xecute Command..." +msgstr "I_zvrši naredbu..." + +#: gajim/data/gui/contact_context_menu.ui:67 +#, fuzzy +msgid "M_anage Contact" +msgstr "_Upravljanje kontaktima" + +#: gajim/data/gui/contact_context_menu.ui:77 +msgid "_Rename..." +msgstr "_Preimenuj..." + +#: gajim/data/gui/contact_context_menu.ui:84 +msgid "Edit _Groups..." +msgstr "Izmeni _grupe..." + +#: gajim/data/gui/contact_context_menu.ui:92 +msgid "Add Special _Notification..." +msgstr "Dodaj poseb_no obaveštenje..." + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "_Pretplata" + +#: gajim/data/gui/contact_context_menu.ui:115 +#, fuzzy +msgid "_Allow contact to see my status" +msgstr "Dozvo_li ovom kontaktu da vidi moj status" + +#: gajim/data/gui/contact_context_menu.ui:123 +#, fuzzy +msgid "A_sk to see contact status" +msgstr "Traži njegov/njen status" + +#: gajim/data/gui/contact_context_menu.ui:131 +#, fuzzy +msgid "_Forbid contact to see my status" +msgstr "_Zabrani mu/joj da vidi moj status" + +#: gajim/data/gui/contact_context_menu.ui:159 +msgid "_Unignore" +msgstr "_Poništi ignrisanje" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "_Ignoriši" + +#: gajim/data/gui/contact_context_menu.ui:174 +#, fuzzy +msgid "_Add to Contact List..." +msgstr "_Dodaj kontakt..." + +#: gajim/data/gui/single_message_window.ui:42 +#, fuzzy +msgid "_To" +msgstr "Za" + +#: gajim/data/gui/single_message_window.ui:71 +#, fuzzy +msgid "Su_bject" +msgstr "Tema" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "" + +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "_Poruka" + +#: gajim/data/gui/single_message_window.ui:144 +#, fuzzy +msgid "Characters typed: 0" +msgstr "Karakter nije dozvoljen" + +#: gajim/data/gui/single_message_window.ui:189 +#, fuzzy +msgid "_From" +msgstr "Od" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "P_ošalji" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "Pošalji poruku" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "_Odgovor" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "Odgovori na ovu poruku" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "_Pošalji i zatvori" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "Pošalji poruku i zatvori prozor" + +#: gajim/data/gui/vcard_information_window.ui:106 +#, fuzzy +msgid "Client" +msgstr "Klijent:" + +#: gajim/data/gui/vcard_information_window.ui:140 +#, fuzzy +msgid "Contact time" +msgstr "Ime kontakta" + +#: gajim/data/gui/vcard_information_window.ui:240 +#, fuzzy +msgid "User avatar" +msgstr "Avatar:" + +#: gajim/data/gui/vcard_information_window.ui:255 +#, fuzzy +msgid "Configured avatar" +msgstr "Konfigurisani avatar:" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +msgid "Ask" +msgstr "" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +#, fuzzy +msgid "Subscription" +msgstr "Pretplata: " + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +#, fuzzy +msgid "Extra Address" +msgstr "Dodatna adresa:" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +msgid "Address" +msgstr "Adresa" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +#, fuzzy +msgid "E-Mail" +msgstr "E-mejl:" + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "Format: GGGG-MM-DD" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +#, fuzzy +msgid "Family" +msgstr "Prezime:" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +#, fuzzy +msgid "Middle" +msgstr "Sredina nedelje" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +#, fuzzy +msgid "Prefix" +msgstr "Podešavanja" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +msgid "Given" +msgstr "" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +#, fuzzy +msgid "Suffix" +msgstr "Sufiks:" + +#: gajim/data/gui/vcard_information_window.ui:958 +#, fuzzy +msgid "Name Details" +msgstr "Ime:" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "" + +#: gajim/data/gui/vcard_information_window.ui:1017 +msgid "Personal Info" +msgstr "Lične informacije" + +#: gajim/data/gui/vcard_information_window.ui:1040 +#, fuzzy +msgid "Company" +msgstr "Firma:" + +#: gajim/data/gui/vcard_information_window.ui:1073 +#, fuzzy +msgid "Department" +msgstr "Odsek:" + +#: gajim/data/gui/vcard_information_window.ui:1104 +#, fuzzy +msgid "Position" +msgstr "Uslov" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "Uloga" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "O" + +#: gajim/data/gui/vcard_information_window.ui:1514 +msgid "Comments" +msgstr "Komentari" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "Izmeni grupe" + +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "Lozinka" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +#, fuzzy +msgid "Themes" +msgstr "Tema" + +#: gajim/data/gui/themes_window.ui:171 +#, fuzzy +msgid "Add Setting" +msgstr "Registracija neuspela" + +#: gajim/data/gui/themes_window.ui:204 +#, fuzzy +msgid "Add new Theme" +msgstr "Napravi novu objavu" + +#: gajim/data/gui/themes_window.ui:219 +#, fuzzy +msgid "Remove Theme" +msgstr "Aktivno" + +#: gajim/data/gui/bookmarks.ui:120 +#, fuzzy +msgid "Autojoin" +msgstr "Automatsko povezivanje" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "" + +#: gajim/data/gui/preferences.ui:68 +#, fuzzy +msgid "Contact List Appearance" +msgstr "Razmena stavki kontakata" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +#, fuzzy +msgid "Chats" +msgstr "Razgovori" + +#: gajim/data/gui/preferences.ui:215 +#, fuzzy +msgid "Visual Notifications" +msgstr "Vizualna obaveštenja" + +#: gajim/data/gui/preferences.ui:243 +#, fuzzy +msgid "Sounds" +msgstr "Wav Zvukovi" + +#: gajim/data/gui/preferences.ui:303 +#, fuzzy +msgid "Ask For Status Message on…" +msgstr "Pitaj za statusnu poruku pri:" + +#: gajim/data/gui/preferences.ui:331 +#, fuzzy +msgid "Automatic Status Change" +msgstr "Automatski status" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "" + +#: gajim/data/gui/preferences.ui:447 +#, fuzzy +msgid "Status Icon" +msgstr "Skup statusnih ikona:" + +#: gajim/data/gui/preferences.ui:472 +msgid "Style" +msgstr "Stil" + +#: gajim/data/gui/preferences.ui:511 +#, fuzzy +msgid "Show _Features" +msgstr "Mogućnosti" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:632 +msgid "Audio" +msgstr "" + +#: gajim/data/gui/preferences.ui:660 +msgid "Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:698 +msgid "Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:735 +#, fuzzy +msgid "Miscellaneous" +msgstr "Ostalo" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:821 +#, fuzzy +msgid "Advanced Configuration Editor… " +msgstr "Napredna izmena konfiguracije" + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "" + +#: gajim/data/gui/server_info.ui:50 +#, fuzzy +msgid "Server Software" +msgstr "Mogućnosti servera" + +#: gajim/data/gui/server_info.ui:80 +#, fuzzy +msgid "Server Uptime" +msgstr "Server je odgovorio: %s" + +#: gajim/data/gui/server_info.ui:109 +#, fuzzy +msgid "Contact Addresses" +msgstr "Poruka razgovora:" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "" + +#: gajim/data/gui/server_info.ui:177 +#, fuzzy +msgid "Proxy Type" +msgstr "Proksi:" + +#: gajim/data/gui/server_info.ui:192 +#, fuzzy +msgid "No proxy used" +msgstr "Proksi:" + +#: gajim/data/gui/server_info.ui:202 +#, fuzzy +msgid "View _Certificate" +msgstr "Samopotpisani sertifikat" + +#: gajim/data/gui/server_info.ui:222 +#, fuzzy +msgid "Proxy Host" +msgstr "Proksi _host:" + +#: gajim/data/gui/server_info.ui:421 +#, fuzzy +msgid "Copy info to clipboard" +msgstr "_Kopiraj lokaciju veze" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:153 +#, fuzzy +msgid "Serial Number" +msgstr "GG Broj:" + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:304 +msgid "Expires on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:465 +#, fuzzy +msgid "Copy Certificate Information" +msgstr "Informacije kontakta" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "Pozovi prijatelje!" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +#, fuzzy +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "" +"Započećete grupni razgovor.\n" +"Odaberite kontakte koje želite da pozovete" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +#, fuzzy +msgid "Please select a group chat server." +msgstr "Molimo odaberite server grupnog razgovora." + +#: gajim/data/gui/chat_to_muc_window.ui:141 +#, fuzzy +msgid "Group chat server" +msgstr "Grupni razgovori" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +msgid "In_vite" +msgstr "Pozo_vi" + +#: gajim/data/gui/mam_preferences.ui:53 +#, fuzzy +msgid "_Default" +msgstr "Podrazumevano" + +#: gajim/data/gui/mam_preferences.ui:136 +#, fuzzy +msgid "Archive" +msgstr "Datoteka je prazna" + +#: gajim/data/gui/history_manager.ui:11 +#, fuzzy +msgid "_Export" +msgstr "Izvezi" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +msgid "Gajim History Logs Manager" +msgstr "Gajim menadžer dnevnika istorijata" + +#: gajim/data/gui/history_manager.ui:104 +#, fuzzy +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" +"Ovaj menadžer dnevnika nije namenjen za pregled dnevnika. Ako Vam treba ta " +"funkcionalnost, koristite menadžer dnevnika istorijata.\n" +"\n" +"Koristite ovaj program da obrišete ili izvezete dnevnike. Možete odabrati " +"dnevnike sa leve strane i/ili pretražiti bazu ispod." + +#: gajim/data/gui/history_manager.ui:120 +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" +"UPOZORENJE:\n" +"Ako planirate da radite veća uklanjanja, potrudite se da Gajim nije " +"pokrenut. Uopšte, izbegavakte uklanjanja kontakata sa kojima trenutno " +"razgovorate." + +#: gajim/data/gui/history_manager.ui:211 +#, fuzzy +msgid "Search database..." +msgstr "_Pretraži bazu podataka" + +#: gajim/data/gui/history_manager.ui:226 +#, fuzzy +msgid "Search in database" +msgstr "_Pretraži bazu podataka" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" + +#: gajim/data/gui/groupchat_invite.ui:69 +#, fuzzy +msgid "Invitees" +msgstr "Pozo_vi" + +#: gajim/data/gui/groupchat_invite.ui:153 +#, fuzzy +msgid "Search contacts..." +msgstr "_Pretraži bazu podataka" + +#: gajim/data/gui/groupchat_invite.ui:223 +#, fuzzy +msgid "Click on contacts you would like to invite to this group chat." +msgstr "%(nick)s je izbačen iz sobe (%(reason)s)" + +#: gajim/data/gui/service_discovery_window.ui:148 +#, fuzzy +msgid "Go" +msgstr "Kre_ni" + +#: gajim/data/gui/status_change_window.ui:27 +#, fuzzy +msgid "Change Status" +msgstr "Izmeni status" + +#: gajim/data/gui/status_change_window.ui:56 +#, fuzzy +msgid "Status Presets…" +msgstr "Statusna poruka" + +#: gajim/data/gui/status_change_window.ui:72 +msgid "Save this message as a preset" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:130 +#, fuzzy +msgid "Ac_tivity" +msgstr "Aktivnost" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:278 +#, fuzzy +msgid "_Change Status" +msgstr "Izmeni status" + +#: gajim/data/gui/status_change_window.ui:313 +#, fuzzy +msgid "Activity" +msgstr "Aktivnost:" + +#: gajim/data/gui/status_change_window.ui:326 +#, fuzzy +msgid "_No Activity" +msgstr "Aktivnost:" + +#: gajim/data/gui/status_change_window.ui:729 +msgid "Mood" +msgstr "Raspoloženje" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +#, fuzzy +msgid "Author" +msgstr "_Odobri autorizaciju" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +#, fuzzy +msgid "Group Chat Language" +msgstr "Poziv na grupni razgovor" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +#, fuzzy +msgid "Copy Address" +msgstr "_Kopiraj džaber ID/e-mejl adresu" + +#: gajim/data/gui/emoji_chooser.ui:98 +#, fuzzy +msgid "No Results Found" +msgstr "Nema rezultata" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr "XML Konzola" + +#: gajim/data/gui/xml_console.ui:131 +#, fuzzy +msgid "Start Search..." +msgstr "_Započni razgovor" + +#: gajim/data/gui/xml_console.ui:260 +#, fuzzy +msgid "Clear" +msgstr "Čisti" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "" + +#: gajim/data/gui/xml_console.ui:316 +#, fuzzy +msgid "Presets" +msgstr "_Prisutnost" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "Sinhronizacija: odaberite kontakte" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +msgid "Select the contacts you want to synchronise" +msgstr "Odaberite kontakte koje želite da sinhronizujete" + +#: gajim/data/gui/groupchat_config.ui:51 +#, fuzzy +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" +"Može biti jedno od sledećeg:\n" +"1. korisnik@domen/resurs (poklapa se samo sa tim resursom).\n" +"2. korisnik@domen (poklapa se sa bilo kojim resursom).\n" +"3. domen/resurs (poklapa se samo sa tim resursom).\n" +"4. domen (samo se domen poklapa, kao i bilo koji korisnik@domen,\n" +"domen/resurs, ili adresa koja sadrži poddomen." + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:309 +#, fuzzy +msgid "Reserved Name" +msgstr "Ime postavke" + +#: gajim/data/gui/groupchat_config.ui:346 +#, fuzzy +msgid "Affiliation" +msgstr "Vezanost:" + +#: gajim/data/gui/groupchat_config.ui:377 +#, fuzzy +msgid "Affiliations" +msgstr "Aplikacije" + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "Razlog" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "Lista zabrana" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "_Odbij" + +#: gajim/data/gui/subscription_request_window.ui:34 +#, fuzzy +msgid "_Block User" +msgstr "_Blokiraj" + +#: gajim/data/gui/subscription_request_window.ui:49 +#, fuzzy +msgid "_Report as Spam" +msgstr "_Prijavi grešku" + +#: gajim/data/gui/subscription_request_window.ui:212 +#, fuzzy +msgid "_Deny…" +msgstr "_Odbij" + +#: gajim/data/gui/subscription_request_window.ui:225 +#, fuzzy +msgid "Ac_cept" +msgstr "_Nalozi" + +#: gajim/data/gui/subscription_request_window.ui:230 +#, fuzzy +msgid "Allows the contact to see your online status" +msgstr "Dozvo_li ovom kontaktu da vidi moj status" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:115 +#, fuzzy +msgid "_Report Bug" +msgstr "_Prijavi grešku" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "događaj" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "Odaberite zvuk" + +#: gajim/data/gui/manage_sounds.ui:97 +#, fuzzy +msgid "Clear Sound" +msgstr "Odaberite zvuk" + +#: gajim/data/gui/manage_sounds.ui:118 +#, fuzzy +msgid "Play Sound" +msgstr "Puštaj zvukove" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +#, fuzzy +msgid "_Send Files" +msgstr "Pošalji _datoteku" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +#, fuzzy +msgid "Send" +msgstr "_Pošalji" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +#, fuzzy +msgid "Files to send" +msgstr "Odaberite datoteku za slanje..." + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +#, fuzzy +msgid "Add Files" +msgstr "Datoteka: " + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +#, fuzzy +msgid "Remove Files" +msgstr "_Ukloni" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +#, fuzzy +msgid "Idle since:" +msgstr " od %s" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +msgid "Mood:" +msgstr "Raspoloženje:" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +msgid "Activity:" +msgstr "Aktivnost:" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +#, fuzzy +msgid "Tune:" +msgstr "Pesma:" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +#, fuzzy +msgid "Location:" +msgstr "Obaveštenje" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +#, fuzzy +msgid "Subscription:" +msgstr "Pretplata: " + +#: gajim/data/gui/advanced_configuration.ui:15 +#, fuzzy +msgid "A restart may be required for some settings to take effect" +msgstr "" +"NAPOMENA: Trebalo bi da ponovo pokrenete Gajim da bi neke izmene " +"podešavanja postale primenjene" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "" + +#: gajim/data/gui/advanced_configuration.ui:120 +#, fuzzy +msgid "_Reset Value" +msgstr "_Ponovo učitaj podrazumevane boje" + +#: gajim/data/gui/advanced_configuration.ui:125 +#, fuzzy +msgid "Resets value to default" +msgstr "_Ponovo učitaj podrazumevane boje" + +#: gajim/data/gui/history_window.ui:27 +#, fuzzy +msgid "Display status changes" +msgstr "_Zapisuj u dnevnik statusne promene kontakata" + +#: gajim/data/gui/history_window.ui:57 +msgid "History Manager" +msgstr "Upravnik istorijatom" + +#: gajim/data/gui/history_window.ui:233 +#, fuzzy +msgid "Mode" +msgstr "Moderator" + +#: gajim/data/gui/history_window.ui:246 +#, fuzzy +msgid "Search complete history" +msgstr "Nedavno:" + +#: gajim/data/gui/history_window.ui:263 +msgid "Search selected day only" +msgstr "" + +#: gajim/data/gui/history_window.ui:317 +#, fuzzy +msgid "Store history for this chat" +msgstr "Ignoriši ovu grešku za ovaj sertifikat." + +#: gajim/data/gui/history_window.ui:332 +#, fuzzy +msgid "Store History" +msgstr "Nedavno:" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +#, fuzzy +msgid "Identified Error" +msgstr "Greška SSL sertifikata" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +#, fuzzy +msgid "" +msgstr "Greška" + +#: gajim/data/gui/ssl_error_dialog.ui:74 +#, fuzzy +msgid "Add this certificate to the list of _trusted certificates" +msgstr "" +"Dodajte ovaj sertifikat listi sertifikata kojima verujete\n" +"SHA1 potpis sertifikata:\n" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +#, fuzzy +msgid "_View Certificate" +msgstr "Samopotpisani sertifikat" + +#: gajim/data/gui/ssl_error_dialog.ui:120 +#, fuzzy +msgid "_Connect" +msgstr "Na vezi" + +#: data/org.gajim.Gajim.desktop.in:5 +#, fuzzy +msgid "XMPP Chat Client" +msgstr "Džaber IM Klijent" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:8 +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:27 +#, fuzzy +msgid "Show next pending event" +msgstr "Prikaži sv_e događaje na čekanju" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:17 +#, fuzzy +msgid "Features:" +msgstr "Mogućnosti" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +#, fuzzy +msgid "Automatic spell-checking for your messages" +msgstr "Provera pravopisa sastavljenih poruka." + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +#, fuzzy +msgid "Support for service discovery including nodes and search for users" +msgstr "Otkrivanje usluga sa naloga %s" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +#, fuzzy +msgid "Contact list" +msgstr "Kontakti" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +#, fuzzy +msgid "Group chat support" +msgstr "Grupni razgovori" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +#, fuzzy +msgid "Chat history" +msgstr "Nedavno:" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +#, fuzzy +msgid "Plugin manager" +msgstr "Registracija neuspela" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +#, fuzzy +msgid "Gajim Team" +msgstr "gajim-remote" + +#, fuzzy +#~ msgid "Chat Settings" +#~ msgstr "Registracija neuspela" + +#, fuzzy, python-format +#~ msgid "%i day" +#~ msgid_plural "%i days" +#~ msgstr[0] "Pre %i dana" +#~ msgstr[1] "Pre %i dana" +#~ msgstr[2] "Pre %i dana" + +#, fuzzy +#~ msgid "Composing only" +#~ msgstr "Sastavljanje" + +#, fuzzy +#~ msgid "All chat states" +#~ msgstr "Svi statusi" + +#~ msgid "Privacy Lists" +#~ msgstr "Lista privatnosti" + +#, fuzzy +#~ msgid "Unblock" +#~ msgstr "_Odblokiraj" + +#, fuzzy +#~ msgid "Block" +#~ msgstr "_Blokiraj" + +#~ msgid "None" +#~ msgstr "Ništa" + +#, python-format +#~ msgid "%s Status Message" +#~ msgstr "%s Statusna poruka" + +#~ msgid "Could not load image" +#~ msgstr "Ne mogu učitati sliku" + +#~ msgid "Error." +#~ msgstr "Greška." + +#, fuzzy +#~ msgid "" +#~ "This contact will see you offline and you will not receive any messages " +#~ "sent to you by this contact." +#~ msgstr "" +#~ "Kontakt će vas videti kao da niste na vezi i nećete dobijati poruke koje " +#~ "vam šalje." + +#, fuzzy +#~ msgid "_Block Contact" +#~ msgstr "Blokirani kontakti" + +#, fuzzy +#~ msgid "Block Group" +#~ msgstr "_Blokiraj" + +#, fuzzy +#~ msgid "Really block this group?" +#~ msgstr "Da li je OpenPGP omogućen za ovaj kontakt?" + +#, fuzzy +#~ msgid "" +#~ "All contacts of this group will see you as offline and you will not " +#~ "receive any messages sent to you by any one of these contacts." +#~ msgstr "" +#~ "Kontakt će vas videti kao da niste na vezi i nećete dobijati poruke koje " +#~ "vam šalje." + +#, fuzzy +#~ msgid "_Block Group" +#~ msgstr "_Blokiraj" + +#~ msgid "No account available" +#~ msgstr "Nema dostupnih naloga" + +#~ msgid "You must create an account before you can chat with other contacts." +#~ msgstr "" +#~ "Morate kreirati nalog pre nego što možete da razgovarate sa ostalim " +#~ "kontaktima." + +#~ msgid "Metacontacts storage not supported by your server" +#~ msgstr "Čuvanje pseudokontakata nije podržano od strane Vašeg servera" + +#, fuzzy +#~ msgid "" +#~ "Your server does not support storing metacontacts information. So this " +#~ "information will not be saved on next reconnection." +#~ msgstr "" +#~ "Vaš server ne podržava čuvanje informacija pseudokontakata. Te " +#~ "informacije neće biti sačuvane pri sledećem povezivanju." + +#, fuzzy, python-brace-format +#~ msgid "You are invited to {room} by {user}" +#~ msgstr "Pozvani ste u grupni razgovor" + +#, fuzzy, python-format +#~ msgid "%s wants to start a voice chat." +#~ msgstr "%s Vam želi poslati datoteku." + +#~ msgid "Could not save your settings and preferences" +#~ msgstr "Nije moguće čuvanje Vaših podešavanja" + +#, fuzzy +#~ msgid "Error While Removing Privacy List" +#~ msgstr "Greška prilikom uklanjanja lista privatnosti" + +#, fuzzy, python-format +#~ msgid "" +#~ "Privacy list %s has not been removed. It is probably active in one of " +#~ "your connected resources. Please deactivate it and try again." +#~ msgstr "" +#~ "Lista privatnosti %s nije uklonjena. Možda je aktivna u nekom od Vaših " +#~ "resursa na vezi. Deaktivirajte je tamo i pokušajte ponovo." + +#, fuzzy +#~ msgid "Invisibility Not Supported" +#~ msgstr "Nevidljivost nije podržana" + +#, fuzzy, python-format +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "Nalog %s ne podržava nevidljivost." + +#, fuzzy +#~ msgid "Could not request upload slot for HTTP File Upload" +#~ msgstr "Nije moguće pokrenuti lokalni servis" + +#, fuzzy +#~ msgid "Not Secure" +#~ msgstr "Nije počeo" + +#, fuzzy +#~ msgid "Could not Upload File" +#~ msgstr "Ne mogu učitati sliku" + +#~ msgid "Lists all preferences and their values" +#~ msgstr "Prikazuje sva podešavanja i njihove vrednosti" + +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "Postavlja vrednost 'ključa' na 'vrednost'." + +#~ msgid "key=value" +#~ msgstr "ključ=vrednost" + +#, fuzzy +#~ msgid "'key' is the name of the preference, 'value' is what to set it to" +#~ msgstr "" +#~ "'ključ' je ime stavke podešavanja, 'vrednost' je vrednost na koju će se " +#~ "stavka postaviti" + +#~ msgid "Deletes a preference item" +#~ msgstr "Briše stavku podešavanja" + +#~ msgid "key" +#~ msgstr "ključ" + +#~ msgid "name of the preference to be deleted" +#~ msgstr "ime stavke podešavanja koje će se brisati" + +#~ msgid "Writes the current state of Gajim preferences to the .config file" +#~ msgstr "Zapisuje trenutno stanje Gajim podešavanja u .config datoteku" + +#, python-format +#~ msgid "%s is a directory but should be a file" +#~ msgstr "%s je fascikla, ali bi trebala biti datoteka" + +#, fuzzy, python-format +#~ msgid "Creating %s" +#~ msgstr "Uništavam %s" + +#, python-format +#~ msgid "%(nickname)s Signed In" +#~ msgstr "%(nickname)s je na vezi" + +#~ msgid "Contact Signed In" +#~ msgstr "Kontakt je na vezi" + +#, python-format +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "%(nickname)s je otišao" + +#~ msgid "Contact Signed Out" +#~ msgstr "Kontakt je otišao sa veze" + +#, fuzzy +#~ msgid "" +#~ "Show desktop notification even when a chat window is opened for this " +#~ "contact and does not have focus." +#~ msgstr "" +#~ "Omogući iskačuće prozore/obaveštenja kada sam _odsutan/nedostupan/" +#~ "zaposlen/nevidljiv" + +#~ msgid "default" +#~ msgstr "podrazumevano" + +#, fuzzy +#~ msgid "" +#~ "Character to propose to add after desired nickname when nickname is " +#~ "already used in group chat." +#~ msgstr "" +#~ "Karakter koji želite dodati posle željenog nadimka ukoliko je željeni " +#~ "nadimak u grupnom razgovoru već upotrebljen" + +#, fuzzy +#~ msgid "" +#~ "How many seconds to wait before trying to automatically rejoin a group " +#~ "chat you were disconnected from. Set to 0 to disable automatic rejoining." +#~ msgstr "" +#~ "Koliko sekundi čekati pre ponovnog automatskog pridruživanja sobi sa koje " +#~ "ste raskačeni. Staviti 0 da onemogućite ponovno automatsko pridruživanje." + +#, fuzzy +#~ msgid "If enabled, Gajim displays the avatar in the chat window." +#~ msgstr "Ako nije istinito, nećete više videti avatar u prozoru razgovora." + +#, fuzzy +#~ msgid "" +#~ "Status to be used automatically when connecting. Can be 'online', 'chat', " +#~ "'away', 'xa' or 'dnd'. NOTE: This option is used only if " +#~ "'restore_last_status' is disabled." +#~ msgstr "" +#~ "Status sa kojim se automatski povezujete. Može biti online, chat, away, " +#~ "xa, dnd, invisible. PAŽNJA: ova opcija se koristi samo ako je " +#~ "restore_last_status onemogućena." + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending password on an plaintext connection. " +#~ "Can be 'warn', or 'none'." +#~ msgstr "" +#~ "Prikaži prozor upozorenja pre slanja nešifrovane lozinke preko obične " +#~ "veze." + +#, fuzzy +#~ msgid "" +#~ "How many seconds to wait for the answer of a ping alive packet before " +#~ "trying to reconnect." +#~ msgstr "" +#~ "Koliko sekundi čekati na odgovor o paketima o živosti pre nego što " +#~ "pokušamo ponovno uspostavljanje veze." + +#~ msgid "I'm available." +#~ msgstr "Dostupan sam." + +#~ msgid "I'm free for chat." +#~ msgstr "Slobodan sam za razgovor." + +#~ msgid "Be right back." +#~ msgstr "Odmah se vraćam." + +#~ msgid "I'm not available." +#~ msgstr "Nedostupan sam." + +#~ msgid "Do not disturb." +#~ msgstr "Ne smetaj." + +#~ msgid "Bye!" +#~ msgstr "Pozdrav!" + +#~ msgid "Timeout loading image" +#~ msgstr "Isteklo vreme za učitavanje slike" + +#~ msgid "Image is too big" +#~ msgstr "Slika je prevelika" + +#, fuzzy +#~ msgid "PyCURL is not installed" +#~ msgstr "CRL nije još validan" + +#, fuzzy +#~ msgid "Error loading image" +#~ msgstr "Isteklo vreme za učitavanje slike" + +#~ msgid "Blocked Contacts" +#~ msgstr "Blokirani kontakti" + +#, fuzzy +#~ msgid "Group chat" +#~ msgstr "Grupni razgovori" + +#, fuzzy +#~ msgid "Bookmark group chat" +#~ msgstr "Markiraj ovu sobu" + +#, fuzzy +#~ msgid "Bookmark" +#~ msgstr "_Markiraj ovu so_bu" + +#, fuzzy +#~ msgid "Recently used group chats" +#~ msgstr "u _grupnim razgovorima" + +#, fuzzy +#~ msgid "Clear Avatar" +#~ msgstr "Korisnički avatar:" + +#, fuzzy +#~ msgid "Set Avatar…" +#~ msgstr "Odaberite sliku" + +#, fuzzy +#~ msgid "Contact" +#~ msgstr "Vreme kontakta na vezi:" + +#, fuzzy +#~ msgid "_Leave Group Chat" +#~ msgstr "Napusti grupne razgovore" + +#, fuzzy +#~ msgid "Enter a new name for this group chat" +#~ msgstr "Unesite novo ime za grupu %s" + +#, fuzzy +#~ msgid "Use default applications" +#~ msgstr "Uvek koristi aplikaciju koju operativni sistem nudi" + +#~ msgid "Custom" +#~ msgstr "Korisnički" + +#, fuzzy +#~ msgid "Notify me about it" +#~ msgstr "Obavesti me o kontaktima koji se _odjave" + +#, fuzzy +#~ msgid "Show only in contact list" +#~ msgstr "Prikaži samo _aktivne kontakte" + +#, fuzzy +#~ msgid "No status messages" +#~ msgstr "statusna poruka" + +#, fuzzy +#~ msgid "All status messages" +#~ msgstr "statusna poruka" + +#, fuzzy +#~ msgid "Only enter/leave messages" +#~ msgstr "Imate nepročitanih poruka" + +#, fuzzy +#~ msgid "Me_rge accounts" +#~ msgstr "_Spoji naloge" + +#, fuzzy +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "Prikaži _avatare kontakata na listi" + +#, fuzzy +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "" +#~ "Ako je označena, Gajim će prikazivati avatare kontakata u listi kontakata " +#~ "i u grupnim razgovorima" + +#, fuzzy +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "Prikaži statusne poruke kontakata na listi" + +#, fuzzy +#~ msgid "" +#~ "If checked, status messages of contacts will be shown under the contact's " +#~ "name, in the contact list window, and in group chats" +#~ msgstr "" +#~ "Ako je označena, Gajim će prikazivati statusne poruke kontakata ispod " +#~ "imena kontakta u listi kontakata i u grupnim razgovorima" + +#, fuzzy +#~ msgid "" +#~ "Show e_xtra information of contacts in contact list (mood, activity, ...)" +#~ msgstr "Prikaži _raspoloženja kontakata na listi" + +#, fuzzy +#~ msgid "in _contact list" +#~ msgstr "Poslati kontakti:" + +#~ msgid "in _group chats" +#~ msgstr "u _grupnim razgovorima" + +#, fuzzy +#~ msgid "Enable spell _checking" +#~ msgstr "Provera pravopisa" + +#, fuzzy +#~ msgid "" +#~ "If checked, spelling errors in input fields of chat windows will be " +#~ "highlighted. If no language is explicitly set via right click on the " +#~ "input field, the default language will be used for this contact or group " +#~ "chat. Needs gspell to be installed." +#~ msgstr "" +#~ "Ako je označena, Gajim će osvetljavati greške u kucanju u poljima za unos " +#~ "prozora razgovora. Ako se jezik eksplicitno ne postavi preko desnog klika " +#~ "na polje za unos, podrazumevani jezik će biti korišćen za ovaj kontakt " +#~ "ili grupni razgovor." + +#, fuzzy +#~ msgid "Display status messages in _single chats" +#~ msgstr "Prikaži statusne poruke kontakata na listi" + +#, fuzzy +#~ msgid "" +#~ "If checked, status lines will be shown in 1 on 1 chats when a contact " +#~ "changes their status or status message" +#~ msgstr "" +#~ "Ako je neistinito, više nećete videti statusnu porukuu razgovorima kada " +#~ "kontakt promeni svoj status i/ili statusnu poruku." + +#, fuzzy +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "Nije moguće pridružiti se grupnom razgovoru" + +#, fuzzy +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "Nije moguće pridružiti se grupnom razgovoru" + +#, fuzzy +#~ msgid "Show status changes (Default)" +#~ msgstr "_Zapisuj u dnevnik statusne promene kontakata" + +#, fuzzy +#~ msgid "" +#~ "If checked, the tab will be colored according to the current chatstate of " +#~ "the contact" +#~ msgstr "" +#~ "Ako je označena, Gajim će dozvoliti drugima da pogledaju koji operativni " +#~ "sistem koristite" + +#, fuzzy +#~ msgid "" +#~ "If checked, a description of the contacts current chatstate is shown in " +#~ "the banner" +#~ msgstr "" +#~ "Ako je označena, Gajim će dozvoliti drugima da pogledaju koji operativni " +#~ "sistem koristite" + +#, fuzzy +#~ msgid "Chatstate" +#~ msgstr "Poslednji status: %s" + +#, fuzzy +#~ msgid "_When new event is received" +#~ msgstr "Kada se primi novi događaj:" + +#, fuzzy +#~ msgid "Show popups/notifications when a chat window is already _open" +#~ msgstr "" +#~ "Omogući iskačuće prozore/obaveštenja kada sam _odsutan/nedostupan/" +#~ "zaposlen/nevidljiv" + +#, fuzzy +#~ msgid "Allow popups/notifications when I'm _away, not available or busy" +#~ msgstr "" +#~ "Omogući iskačuće prozore/obaveštenja kada sam _odsutan/nedostupan/" +#~ "zaposlen/nevidljiv" + +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "Obavesti me o kontaktima koji se _prijave" + +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "Obavesti me o kontaktima koji se _odjave" + +#~ msgid "Play _sounds" +#~ msgstr "Puštaj zvukove" + +#~ msgid "Ma_nage..." +#~ msgstr "Pode_si..." + +#, fuzzy +#~ msgid "Allow playing sounds when I'm _busy" +#~ msgstr "Doz_voli zvukove kada sam zauzet" + +#, fuzzy +#~ msgid "No_t Available" +#~ msgstr "Nedostupan" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Not Available when the computer " +#~ "has not been used for the specified time" +#~ msgstr "" +#~ "Ako je označena, Gajim će promeniti status u Nedostupan kada računar još " +#~ "duže nije u upotrebi" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Away when the computer has not " +#~ "been used for the specified time" +#~ msgstr "" +#~ "Ako je označena, Gajim će promeniti status u Nedostupan kada računar još " +#~ "duže nije u upotrebi" + +#, fuzzy +#~ msgid "" +#~ "The automatic away status message. If empty, the current status message " +#~ "will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-away timeout." +#~ msgstr "" +#~ "Automatska statusna poruka pri odsutnosti. Ako je prazno, Gajim neće " +#~ "izmeniti trenutnu statusnu poruku\n" +#~ "$S će biti zamenjeno prethodnom statusnom porukom\n" +#~ "$T će biti zamenjeno sa vremenom odsutnosti" + +#, fuzzy +#~ msgid "" +#~ "The automatic not available status message. If empty, the current status " +#~ "message will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-not-available timeout." +#~ msgstr "" +#~ "Automatska statusna poruka pri nedostupnosti. Ako je prazno, Gajim neće " +#~ "izmeniti trenutnu statusnu poruku\n" +#~ "$S će biti zamenjeno prethodnom statusnom porukom\n" +#~ "$T će biti zamenjeno sa vremenom nedostupnosti" + +#, fuzzy +#~ msgid "Minutes" +#~ msgstr "minuta" + +#~ msgid "" +#~ "If enabled, Gajim will not ask for a status message. The specified " +#~ "default message will be used instead." +#~ msgstr "" +#~ "Ako je označena, Gajim neće pitati za statusnu poruku. Već postavljena " +#~ "podrazumevana poruka će biti korišćena." + +#~ msgid "Default Message" +#~ msgstr "Podrazumevana poruka" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "Statusna poruka" + +#, fuzzy +#~ msgid "Preset Status Messages" +#~ msgstr "Već postavljene statusne poruke" + +#, fuzzy +#~ msgid "_Theme" +#~ msgstr "Tema" + +#~ msgid "Configure color and font of the interface" +#~ msgstr "Konfigurisanje boje i fonta interfejsa" + +#, fuzzy +#~ msgid "" +#~ "If checked, protocol-specific status icons will be used (e.g. a contact " +#~ "from ICQ will have the equivalent ICQ icon for status online, away, busy, " +#~ "etc...)" +#~ msgstr "" +#~ "Ako je označeno, Gajim će koristiti statusne ikone specifične za " +#~ "protokol. (npr. kontakt sa MSN-a će imati msn ikone za svoje statuse)" + +#~ msgid "_Manage..." +#~ msgstr "_Podesi..." + +#, fuzzy +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "_Zapisuj u dnevnik statusne promene kontakata" + +#, fuzzy +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "Ako je označeno, Gajim će pamtiti lozinku za ovaj nalog" + +#~ msgid "_Open..." +#~ msgstr "_Otvori..." + +#, fuzzy +#~ msgid "_Filter" +#~ msgstr "Filter:" + +#, fuzzy +#~ msgid "Protocol" +#~ msgstr "_Protokol:" + +#~ msgid "Privacy Lists:" +#~ msgstr "Liste privatnosti:" + +#, fuzzy +#~ msgid "_Ignore this error for this certificate" +#~ msgstr "Ignoriši ovu grešku za ovaj sertifikat." + +#, fuzzy +#~ msgid "Message..." +#~ msgstr "Poruka" + +#, fuzzy +#~ msgid "Preset _messages" +#~ msgstr "Već postavljene poruke:" + +#, fuzzy +#~ msgid "_Type your new status message" +#~ msgstr "Upišite Vašu novu statusnu poruku" + +#, fuzzy +#~ msgid "Change Status Message…" +#~ msgstr "_Izmeni statusnu poruku" + +#~ msgid "Mood:" +#~ msgstr "Raspoloženje:" + +#~ msgid "Message:" +#~ msgstr "Poruka:" + +#, fuzzy +#~ msgid "none" +#~ msgstr "jedan" + +#, fuzzy +#~ msgid "both" +#~ msgstr "Oboje" + +#, fuzzy +#~ msgid "from" +#~ msgstr "Od" + +#, fuzzy +#~ msgid "to" +#~ msgstr "dva" + +#~ msgid "Privacy List" +#~ msgstr "Lista privatnosti" + +#~ msgid "Privacy List" +#~ msgstr "Lista privatnosti" + +#~ msgid "Active for this session" +#~ msgstr "Aktivno za ovu sesiju" + +#~ msgid "Active on each startup" +#~ msgstr "Aktovno po svakom pokretanju" + +#~ msgid "List of rules" +#~ msgstr "Lista pravila" + +#~ msgid "Add / Edit a rule" +#~ msgstr "Dodaj / Izmeni pravilo" + +#~ msgid "Allow" +#~ msgstr "Dozvoli" + +#~ msgid "Deny" +#~ msgstr "Odbij" + +#~ msgid "all in the group" +#~ msgstr "sve u grupi" + +#~ msgid "all by subscription" +#~ msgstr "sve prema pretplati" + +#~ msgid "All" +#~ msgstr "Svi" + +#~ msgid "to send me messages" +#~ msgstr "da mi šalje poruke" + +#~ msgid "to send me queries" +#~ msgstr "da mi šalje upite" + +#~ msgid "to view my status" +#~ msgstr "da vidi moj status" + +#~ msgid "to send me status" +#~ msgstr "da mi pošalje status" + +#~ msgid "All (including subscription)" +#~ msgstr "Sve (uključujući i pretplate)" + +#~ msgid "Order:" +#~ msgstr "Poredak:" + +#, fuzzy +#~ msgid "" +#~ "Deny authorization from contact so the contact cannot know if you are " +#~ "connected" +#~ msgstr "Odbij autorizaciju tako da ne može da vidi kada ste na vezi" + +#, fuzzy +#~ msgid "Authorize contact so the contact can know if you are connected" +#~ msgstr "Odobri autorizaciju kontakta tako da može da vidi kada ste na vezi" + +#, fuzzy +#~ msgid "Contact List Shortcuts" +#~ msgstr "Razmena stavki kontakata" + +#~ msgid "Fill in the form." +#~ msgstr "Popunite formular." + +#~ msgid "Set an activity" +#~ msgstr "Postavi aktivnost" + +#~ msgid "Message: " +#~ msgstr "Poruka:" + +#, fuzzy, python-format +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "Pozvali ste %(contact_jid)s u sobu %(room_jid)s" + +#, fuzzy +#~ msgid "Group Chat Invitation " +#~ msgstr "Poziv na grupni razgovor" + +#, python-format +#~ msgid "Comment: %s" +#~ msgstr "Komentar: %s" + +#, fuzzy +#~ msgid "Off" +#~ msgstr "Nije na vezi" + +#, fuzzy +#~ msgid "Retrieving profile…" +#~ msgstr "Dohvatanje profila..." + +#, fuzzy +#~ msgid "Wrong date format" +#~ msgstr "Informacije kontakta" + +#, fuzzy +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "Format: GGGG-MM-DD" + +#~ msgid "Information received" +#~ msgstr "Informacije primljene" + +#, fuzzy +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "Ako niste na vezi, ne možete objaviti Baše informacije" + +#, fuzzy +#~ msgid "Sending profile…" +#~ msgstr "Slanje profila..." + +#~ msgid "Information NOT published" +#~ msgstr "Informacije NISU objavljene" + +#~ msgid "vCard publication failed" +#~ msgstr "Publikacija vCard neuspela" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "" +#~ "Nastala je greška prilikom objavljivanja Vaših ličnih informacija, " +#~ "pokušajte ponovo kasnije." + +#, fuzzy +#~ msgid "?password:Hidden" +#~ msgstr "Lozinka:" + +#, python-format +#~ msgid "Privacy List %s" +#~ msgstr "Lista privatnosti %s" + +#, python-format +#~ msgid "Privacy List for %s" +#~ msgstr "Lista privatnosti za %s" + +#, python-format +#~ msgid "" +#~ "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" +#~ msgstr "" +#~ "Redosled: %(order)s, akcija: %(action)s, tip: %(type)s, vrednost: " +#~ "%(value)s" + +#, python-format +#~ msgid "Order: %(order)s, action: %(action)s" +#~ msgstr "Redosled: %(order)s, akcija: %(action)s" + +#~ msgid "Edit a rule" +#~ msgstr "Izmeni pravilo" + +#~ msgid "Add a rule" +#~ msgstr "Dodaj pravilo" + +#, python-format +#~ msgid "Privacy Lists for %s" +#~ msgstr "Lista privatnosti za %s" + +#~ msgid "Invalid List Name" +#~ msgstr "Neispravno ime liste" + +#~ msgid "You must enter a name to create a privacy list." +#~ msgstr "Morate uneti ime za kreiranje liste privatnosti" + +#, fuzzy +#~ msgid "Loading" +#~ msgstr "Programira" + +#~ msgid "status message title" +#~ msgstr "naslov statusne poruke" + +#~ msgid "status message text" +#~ msgstr "tekst statusne poruke" + +#, fuzzy +#~ msgid "Start New Conversation" +#~ msgstr "Nastavljeni razgovor" + +#~ msgid "Unknown SSL error: %d" +#~ msgstr "Nepoznata SSL greška: %d" + +#~ msgid "Gajim - %s" +#~ msgstr "Gajim - %s" + +#~ msgid "Choose interval between 2 checks of idleness." +#~ msgstr "" +#~ "Odaberite interval između dve provere da se ništa ne dešava na računaru." + +#, fuzzy +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "Rečnik za jezik %s nije dostupan" + +#, fuzzy +#~ msgid "" +#~ "You have to install the dictionary \"%s\" to use spellchecking, or choose " +#~ "another language by setting the speller_language option.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "Morate instalirati %s rečnik kako biste mogli koristiti proveru " +#~ "pravopisa, ili odaberite drugi jezik postavkom speller_language opcije.\n" +#~ "\n" +#~ "Osvetljavanje loše napisanih reči neće biti u upotrebi" + +#~ msgid "_Reconnect" +#~ msgstr "U_loguj se ponovo" + +#, fuzzy +#~ msgid "Quit" +#~ msgstr "_Izlaz" + +#, fuzzy +#~ msgid "Show Contact List" +#~ msgstr "Prikaži samo _aktivne kontakte" + +#, fuzzy +#~ msgid "Add to Contact List" +#~ msgstr "_Dodaj kontakt..." + +#, fuzzy +#~ msgid "Invite Contact" +#~ msgstr "Pozovi kontakte" + +#, fuzzy +#~ msgid "Configure Group Chat" +#~ msgstr "Napusti grupne razgovore" + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." +#~ msgstr "" +#~ "Ako je istinito, Gajim će prikazivati ikonu na svakom jezičku koji sadrži " +#~ "nepročitane poruke. U zavisnosti od teme, ikona može biti i animirana." + +#~ msgid "Invalid character in hostname." +#~ msgstr "Neispravan karakter u imenu hosta." + +#~ msgid "Server address required." +#~ msgstr "Potrebna je adresa servera." + +#~ msgid "Invalid character in username." +#~ msgstr "Neispravan karakter u korisničkom imenu." + +#~ msgid "Invalid character in resource." +#~ msgstr "Neispravan karakter u resursu." + +#, fuzzy +#~ msgid "Notification color for contacts signing in." +#~ msgstr "Obavesti me o kontaktima koji se _prijave" + +#, fuzzy +#~ msgid "Notification color for contacts signing out." +#~ msgstr "Obavesti me o kontaktima koji se _odjave" + +#, fuzzy +#~ msgid "Notification color for new message notification." +#~ msgstr "Pregledaj nove poruke u iskačućim obaveštenjima?" + +#, fuzzy +#~ msgid "Notification color for file transfer request." +#~ msgstr "_Obavesti me kada se završi prenos datoteke" + +#, fuzzy +#~ msgid "Notification color for file transfer errors." +#~ msgstr "_Obavesti me kada se završi prenos datoteke" + +#, fuzzy +#~ msgid "Notification background color for changed status." +#~ msgstr "Boja pozadine kontakta kada tek dođu na vezu." + +#, fuzzy +#~ msgid "Event Type" +#~ msgstr "događaj" + +#, fuzzy +#~ msgid "Event desc" +#~ msgstr "događaj" + +#, fuzzy +#~ msgid "No response from the Server" +#~ msgstr "Niste povezani na server" + +#~ msgid "Resource Conflict" +#~ msgstr "Konflikt resursa" + +#, fuzzy +#~ msgid "" +#~ "You are already connected to this account with the same resource. Please " +#~ "enter a different one." +#~ msgstr "" +#~ "Već ste konektovani na ovaj nalog sa istim resursem. Molimo Vas, " +#~ "otkucajte novo ime resursa" + +#, fuzzy +#~ msgid "Unable to load image" +#~ msgstr "Nije moguće učitavanje modula idle" + +#, fuzzy +#~ msgid "Media type not supported: %s" +#~ msgstr "Nevidljivost nije podržana" + +#~ msgid "new@jabber.id" +#~ msgstr "new@jabber.id" + +#~ msgid "new%d@jabber.id" +#~ msgstr "new%d@jabber.id" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Gajim: čarobnjak za kreiranje naloga" + +#, fuzzy +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "Morate posedovati račun da biste se mogli povezati\n" +#~ "na džaber mrežu." + +#~ msgid "I already have an account I want to _use" +#~ msgstr "Već imam nalog koji želim da koristim" + +#~ msgid "I want to _register for a new account" +#~ msgstr "Želim da registrujem novi nalog" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "Molimo odaberite jednu od opcija ispod:" + +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "Molimo popunite podatke za Vaš postojeći korisnički nalog" + +#, fuzzy +#~ msgid "_XMPP Address:" +#~ msgstr "AIM adresa:" + +#~ msgid "Anon_ymous authentication" +#~ msgstr "Anon_imno prijavljivanje" + +#~ msgid "_Password:" +#~ msgstr "_Lozinka:" + +#~ msgid "Save pass_word" +#~ msgstr "Snimi lozinku" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "Ako je označeno, Gajim će pamtiti lozinku za ovaj nalog" + +#~ msgid "Please select a server" +#~ msgstr "Molimo odaberite server" + +#~ msgid "_Server:" +#~ msgstr "_Server:" + +#~ msgid "Manage..." +#~ msgstr "Podesi..." + +#~ msgid "_Port:" +#~ msgstr "_Port:" + +#~ msgid "_Advanced" +#~ msgstr "_Napredno" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA1 fingerprint of the certificate:\n" +#~ msgstr "" +#~ "Dodajte ovaj sertifikat listi sertifikata kojima verujete\n" +#~ "SHA1 potpis sertifikata:\n" + +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "Povezivanje na server\n" +#~ "\n" +#~ "Molimo pričekajte..." + +#~ msgid "Connect when I press Finish" +#~ msgstr "Poveži se kada pritisnem Završi" + +#~ msgid "Set my profile when I connect" +#~ msgstr "Postavi moj profil pri povezivanju" + +#~ msgid "_Finish" +#~ msgstr "_Završi" + +#~ msgid "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." +#~ msgstr "" +#~ "Možete postaviti napredna podešavanja naloga pritiskom na dugme Napredno, " +#~ "ili kasnije, klikom na stavku menija Nalozi pod menijem Uredi iz glavnog " +#~ "prozora." + +#~ msgid "Your new account has been created successfully" +#~ msgstr "Vaš novi nalog je uspešno napravljen" + +#~ msgid "Invalid username" +#~ msgstr "Neispravno korisničko ime" + +#~ msgid "You must provide a username to configure this account." +#~ msgstr "Morate upisati korisničko ime da biste konfigurisali ovaj nalog." + +#~ msgid "Invalid server" +#~ msgstr "Neispravan server" + +#~ msgid "Please provide a server on which you want to register." +#~ msgstr "Molimo odredite server na kome želite da se registrujete." + +#~ msgid "Invalid entry" +#~ msgstr "Neispravan unos" + +#~ msgid "Certificate Already in File" +#~ msgstr "Sertifikat je već u datoteci" + +#~ msgid "This certificate is already in file %s, so it's not added again." +#~ msgstr "Sertifikat je već u datoteci %s, pa nije ponovo dodat." + +#~ msgid "" +#~ "Security Warning\n" +#~ "\n" +#~ "The authenticity of the %(hostname)s SSL certificate could be invalid.\n" +#~ "SSL Error: %(error)s\n" +#~ "Do you still want to connect to this server?" +#~ msgstr "" +#~ "Sigurnosno upozorenje\n" +#~ "\n" +#~ "Autentičnost SSL sertifikata hosta %(hostname)s možda nije ispravna.\n" +#~ "SSL greška: %(error)s\n" +#~ "Da li i dalje želite da se povežete na ovaj server?" + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA-256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Dodaj ovaj sertifikat listi proverenih sertifikata.\n" +#~ "SHA1 otisak ovog sertifikata:\n" +#~ "%s" + +#~ msgid "Account name is in use" +#~ msgstr "Ime naloga je već upotrebljeno" + +#~ msgid "You already have an account using this name." +#~ msgstr "Već imate nalog sa tim imenom." + +#~ msgid "Show a warning dialog before using standard SSL library." +#~ msgstr "Prikaži prozor upozorenja pre korišćenja standardne SSL biblioteke." + +#, fuzzy +#~ msgid "If enabled, a whitespace is sent after inactivity (keep alive)." +#~ msgstr "Slanje belina posle neaktivnosti" + +#, fuzzy +#~ msgid "If enabled, an XMPP ping is sent after inactivity (ping alive)." +#~ msgstr "Slanje XMPP pinga posle neaktivnosti" + +#~ msgid "Connection with account \"%s\" has been lost" +#~ msgstr "Izgubljena veza sa računom \"%s\"" + +#~ msgid "Reconnect manually." +#~ msgstr "Ponovo se povežite ručno." + +#~ msgid "Server %(name)s answered wrongly to register request: %(error)s" +#~ msgstr "" +#~ "Server %(name)s je loše odgovorio na zahtev registracije:: %(error)s" + +#~ msgid "Server %s provided a different registration form" +#~ msgstr "Server %s je ponudio drugačiju formu za registraciju" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "Veza sa \"%s\" nije moguća" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "Veza sa \"%s\" nije moguća" + +#~ msgid "Check your connection or try again later." +#~ msgstr "Proverite Vašu konekciju ili pokušajte kasnije." + +#~ msgid "Server replied: %s" +#~ msgstr "Server je odgovorio: %s" + +#~ msgid "Connection to proxy failed" +#~ msgstr "Veza sa proksijem prekinuta" + +#~ msgid "Could not connect to account %s" +#~ msgstr "Veza sa %s nije moguća" + +#~ msgid "Connection with account %s has been lost. Retry connecting." +#~ msgstr "Izgubljena veza sa nalogom %s. Pokušajte ponovo da se konektujete." + +#~ msgid "Please check your login and password for correctness." +#~ msgstr "Molimo Vas da proverite Vaše korisničko ime i lozinku od grešaka." + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "" +#~ "HTTP spoj\n" +#~ "SOCKS5\n" +#~ "BOSH" + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "BOSH" +#~ msgstr "_BOSH adresa:" + +#~ msgid "Use HTTP prox_y" +#~ msgstr "Kor_isti HTTP proksi" + +#, fuzzy +#~ msgid "_BOSH URL" +#~ msgstr "_BOSH adresa:" + +#, fuzzy +#~ msgid "BOSH" +#~ msgstr "_BOSH adresa:" + +#, fuzzy +#~ msgid "Warn on insecure connection" +#~ msgstr "Upozori pre korišćenja nesigurne veze" + +#, fuzzy +#~ msgid "Contact list, list of contacts" +#~ msgstr "_Zapisuj u dnevnik statusne promene kontakata" + +#~ msgid "You are participating in one or more group chats" +#~ msgstr "Učestvujete u jednom ili više grupnih razgovora" + +#, fuzzy +#~ msgid "" +#~ "Changing your status to invisible will result in you leaving those group " +#~ "chats.\n" +#~ "Are you sure you want to go invisible?" +#~ msgstr "" +#~ "Promena Vašeg statusa u Nevidljiv će rezultovati odvezivanjem sa tih " +#~ "grupnih razgovora. Jeste li sigurni da želite ići na nevidljivo?" + +#~ msgid "_Disconnect" +#~ msgstr "_Izloguj se" + +#~ msgid "You cannot join a group chat while you are invisible" +#~ msgstr "Nemoguće je pristupiti grupnom razgovoru ako ste nevidljivi" + +#~ msgid "Invisible" +#~ msgstr "Nevidljiv" + +#, fuzzy +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "Nemoguće je pristupiti grupnom razgovoru ako ste nevidljivi" + +#~ msgid "_Invisible" +#~ msgstr "_Nevidljiv" + +#, fuzzy +#~ msgid "Yesterday" +#~ msgid_plural "%(nb_days)i days ago" +#~ msgstr[0] "Juče" +#~ msgstr[1] "Juče" +#~ msgstr[2] "Juče" + +#, fuzzy +#~ msgid "_Cancel Upload" +#~ msgstr "_Odustani" + +#~ msgid " [blocked]" +#~ msgstr " [blokiran]" + +#~ msgid " [minimized]" +#~ msgstr " [umanjen]" + +#, fuzzy +#~ msgid "" +#~ "If you close this tab while having chat history disabled, this message " +#~ "will be lost." +#~ msgstr "" +#~ "Ako zatvorite ovaj jezičak, a istorijat razgovora nije omogućen, ova " +#~ "poruka će biti izgubljena." + +#, fuzzy +#~ msgid "Unregister Failed" +#~ msgstr "Odjava registracije neuspela" + +#, fuzzy +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "Odjava registracije sa serverom %(server)s neuspela: %(error)s" + +#, fuzzy +#~ msgid "New Password" +#~ msgstr "Sačuvaj lozinku" + +#~ msgid "What do you want to do?" +#~ msgstr "Šta želite da uradite?" + +#~ msgid "Remove account from Gajim and from _server" +#~ msgstr "Ukloni nalog i iz Gajima i sa servera" + +#, fuzzy +#~ msgid "You must enter a password" +#~ msgstr "Morate da unesete lozinku" + +#, fuzzy +#~ msgid "You still have open chats in your account %s" +#~ msgstr "Otvorili ste razgovor u računu %s" + +#, fuzzy +#~ msgid "To unregister from a server, the account must be enabled." +#~ msgstr "Da biste onemogućili nalog, morate biti raskačeni." + +#, fuzzy +#~ msgid "Password required" +#~ msgstr "Lozinka zahtevana" + +#, fuzzy +#~ msgid "Still connected to the server" +#~ msgstr "Niste povezani na server" + +#, fuzzy +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "Ukoliko ga uklonite, veza će biti izgubljena." + +#, fuzzy +#~ msgid "Connection to server %s failed" +#~ msgstr "Veza sa proksijem prekinuta" + +#, fuzzy +#~ msgid "What would you like to do?" +#~ msgstr "Šta želite da uradite?" + +#, fuzzy +#~ msgid "Remove only from Gajim" +#~ msgstr "Ukloni nalog samo iz Gajima" + +#, fuzzy +#~ msgid "Contents" +#~ msgstr "_Sadržaj" + +#, fuzzy +#~ msgid "FAQ" +#~ msgstr "_ČPP" + +#~ msgid "Save as Preset Status Message" +#~ msgstr "Snimi kao već postavljenu statusnu poruku" + +#~ msgid "Enter a new nickname for contact %s" +#~ msgstr "Unesite novi nadimak za kontakt %s" + +#, fuzzy +#~ msgid "Join a group chat" +#~ msgstr "u _grupnim razgovorima" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "_Nalozi" + +#~ msgid "New entry received" +#~ msgstr "Nov događaj primljen" + +#~ msgid "You have received new entry:" +#~ msgstr "Primili ste novi unos:" + +#~ msgid "Feed name:" +#~ msgstr "Ime teme:" + +#~ msgid "Last modified:" +#~ msgstr "Zadnji put izmenjeno:" + +#, fuzzy +#~ msgid "Send file?" +#~ msgstr "Pošalji _datoteku" + +#, fuzzy +#~ msgid "Mail _client" +#~ msgstr "_E-mejl klijent:" + +#, fuzzy +#~ msgid "_Browser" +#~ msgstr "_Internet pregledač:" + +#, fuzzy +#~ msgid "_File manager" +#~ msgstr "_Pregledač datoteka:" + +#, fuzzy +#~ msgid "Custom applications" +#~ msgstr "Uvek koristi aplikaciju koju operativni sistem nudi" + +#, fuzzy +#~ msgid "Applications" +#~ msgstr "Aplikacije" + +#, fuzzy +#~ msgid "" +#~ "Uses ReStructured text markup to send HTML, plus ASCII formatting if " +#~ "selected. Needs docutils installed (for syntax, see http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Koristi ReStructured tekst markup da pošaljete HTML i ascii formatiranje " +#~ "ako je odabrano. Za sintaksu, pogledajte http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html (Ako želite da koristite ovo, " +#~ "instalirajte docutils)" + +#, fuzzy +#~ msgid "_Ignore formatting of incoming messages" +#~ msgstr "_Ignoriši bogato formatirani sadržaj u pristiglim porukama" + +#, fuzzy +#~ msgid "" +#~ "Some messages may include rich content (xhtml formatting, colors etc). If " +#~ "checked, Gajim will just display the plain message text." +#~ msgstr "" +#~ "Neke poruke mogu uključivati bogati sadržaj (formatiranje, boje itd.). " +#~ "Ako je označeno, Gajim će samo prikazivati sirovi tekst poruke." + +#, fuzzy +#~ msgid "RST XHTML Generator" +#~ msgstr "RST generator" + +#, fuzzy +#~ msgid "Requires: python-docutils" +#~ msgstr "Zahteva python-docutils." + +#~ msgid "New Single Message" +#~ msgstr "Nova Samostalna Poruka" + +#, fuzzy +#~ msgid "" +#~ "Can be empty, 'chat' or 'normal'. If not empty, all incoming messages are " +#~ "treated as if they were of this type." +#~ msgstr "" +#~ "Može biti prazno, 'chat' ili 'normal'. Ako nije prazno, tretira sve " +#~ "dolazne poruke kao poruke postavljenog tipa" + +#~ msgid "Error %(code)s: %(msg)s" +#~ msgstr "Greška %(code)s: %(msg)s" + +#~ msgid "twelve" +#~ msgstr "dvanaest" + +#~ msgid "one" +#~ msgstr "jedan" + +#~ msgid "two" +#~ msgstr "dva" + +#~ msgid "three" +#~ msgstr "tri" + +#~ msgid "four" +#~ msgstr "četiri" + +#~ msgid "five" +#~ msgstr "pet" + +#~ msgid "six" +#~ msgstr "šest" + +#~ msgid "seven" +#~ msgstr "sedam" + +#~ msgid "eight" +#~ msgstr "osam" + +#~ msgid "nine" +#~ msgstr "devet" + +#~ msgid "ten" +#~ msgstr "deset" + +#~ msgid "eleven" +#~ msgstr "jedanaest" + +#~ msgid "%(0)s o'clock" +#~ msgstr "%(0)s sati" + +#~ msgid "five past %(0)s" +#~ msgstr "%(0)s i pet" + +#~ msgid "ten past %(0)s" +#~ msgstr "%(0)s i deset" + +#~ msgid "quarter past %(0)s" +#~ msgstr "%(0)s i petnaest" + +#~ msgid "twenty past %(0)s" +#~ msgstr "%(0)s i dvadeset" + +#~ msgid "twenty five past %(0)s" +#~ msgstr "%(0)s i dvadeset i pet" + +#~ msgid "half past %(0)s" +#~ msgstr "%(0)s i trideset minuta" + +#~ msgid "twenty five to %(1)s" +#~ msgstr "dvadeset i pet do %(1)s" + +#~ msgid "twenty to %(1)s" +#~ msgstr "dvadeset do %(1)s" + +#~ msgid "quarter to %(1)s" +#~ msgstr "petnaest minuta do %(1)s" + +#~ msgid "ten to %(1)s" +#~ msgstr "deset do %(1)s" + +#~ msgid "five to %(1)s" +#~ msgstr "pet do %(1)s" + +#~ msgid "%(1)s o'clock" +#~ msgstr "%(1)s sati" + +#~ msgid "Night" +#~ msgstr "Noć" + +#~ msgid "Early morning" +#~ msgstr "Rano jutro" + +#~ msgid "Morning" +#~ msgstr "Jutro" + +#~ msgid "Almost noon" +#~ msgstr "Skoro podne" + +#~ msgid "Noon" +#~ msgstr "Podne" + +#~ msgid "Afternoon" +#~ msgstr "Poslepodne" + +#~ msgid "Evening" +#~ msgstr "Veče" + +#~ msgid "Late evening" +#~ msgstr "Kasno veče" + +#~ msgid "Start of week" +#~ msgstr "Početak nedelje" + +#~ msgid "Middle of week" +#~ msgstr "Sredina nedelje" + +#~ msgid "End of week" +#~ msgstr "Kraj nedelje" + +#~ msgid "Weekend!" +#~ msgstr "Vikend!" + +#, fuzzy +#~ msgid "" +#~ "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or " +#~ "0 to disable Fuzzy Clock. 1 is the most precise clock, 4 the least " +#~ "precise one. This is used only if 'print_time' is 'sometimes'." +#~ msgstr "" +#~ "Ispisuj vreme u razgovorima koristeći Rasplinuti Sat. Vrednost " +#~ "rasplinutosti od 1 do 4 ili 0 za onemogućivanje nejasnog sata. 1 je " +#~ "najprecizniji sat, 4 najneprecizniji. Ovo se koristi samo ukoliko je " +#~ "prikazivanje_vremena postavnjeno na 'ponekad'." + +#~ msgid "message" +#~ msgstr "poruka" + +#, fuzzy +#~ msgid "error: %s" +#~ msgstr "Greška: %s" + +#, fuzzy +#~ msgid "Form: %s" +#~ msgstr "Forma %s" + +#, fuzzy +#~ msgid "XML Input" +#~ msgstr "XML Unos" + +#, fuzzy +#~ msgid "Ttitle" +#~ msgstr "Naslov:" + +#, fuzzy +#~ msgid "%(type)s encryption is active %(authenticated)s" +#~ msgstr "" +#~ "%(type)s šifrovanje %(status)s aktivan %(authenticated)s.\n" +#~ "Vaša sesija razgovora %(logged)s biti pamćena." + +#, fuzzy +#~ msgid "Screen" +#~ msgstr "zelena" + +#~ msgid "Conversation with " +#~ msgstr "Razgovor sa " + +#~ msgid "Continued conversation" +#~ msgstr "Nastavljeni razgovor" + +#, fuzzy +#~ msgid "%s has invited you to join a discussion" +#~ msgstr "$Contact Vas je pozvao na razgovor" + +#~ msgid "_Send Private Message" +#~ msgstr "_Pošalji privatnu poruku" + +#, fuzzy +#~ msgid "Participant Actions" +#~ msgstr "Učesnici" + +#~ msgid "_Voice" +#~ msgstr "_Glas" + +#~ msgid "Mo_derator" +#~ msgstr "Mo_derator" + +#~ msgid "_Member" +#~ msgstr "_Član" + +#~ msgid "_Admin" +#~ msgstr "_Admin" + +#~ msgid "_Owner" +#~ msgstr "_Vlasnik" + +#, fuzzy +#~ msgid "_Add to Contact List" +#~ msgstr "_Dodaj kontakt..." + +#, fuzzy +#~ msgid "_Execute command" +#~ msgstr "_Izvrši naredbu" + +#~ msgid "Change _Nickname..." +#~ msgstr "Promeni _nadimak..." + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "_Novi grupni razgovor" + +#~ msgid "Change _Subject..." +#~ msgstr "Promeni _temu..." + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "Priključi se _grupnom razgovoru..." + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "_Novi grupni razgovor" + +#~ msgid "_Minimize on close" +#~ msgstr "Umanji prozor na zatvaranje" + +#, fuzzy +#~ msgid "_Request Voice" +#~ msgstr "_Glas" + +#~ msgid "_Bookmark" +#~ msgstr "_Markiraj ovu so_bu" + +#, fuzzy +#~ msgid "The authenticity of the %s certificate could be invalid" +#~ msgstr "Autentičnost sertifikata %s može biti neispravna." + +#~ msgid "" +#~ "\n" +#~ "Unknown SSL error: %d" +#~ msgstr "" +#~ "\n" +#~ "Nepoznata SSL greška: %d" + +#~ msgid "" +#~ "\n" +#~ "SSL Error: %s" +#~ msgstr "" +#~ "\n" +#~ "SSL greška: %s" + +#~ msgid "Error verifying SSL certificate" +#~ msgstr "Greška pri verifikaciji SSL sertifikata" + +#, fuzzy +#~ msgid "View certificate…" +#~ msgstr "Samopotpisani sertifikat" + +#, fuzzy +#~ msgid "Continue" +#~ msgstr "_Nastavi" + +#~ msgid "" +#~ "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM " +#~ "IS RUNNING)" +#~ msgstr "" +#~ "Želite li počistiti bazu podataka? (NE PREPORUČUJE SE AKO JE GAJIM " +#~ "POKRENUT)" + +#, fuzzy +#~ msgid "Authorization" +#~ msgstr "Autorizacija poslata" + +#, fuzzy +#~ msgid "" +#~ "All chat and group chat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Prozori svih razgovora i grupnih razgovora će biti zatvoreni. Želite li " +#~ "da nastavite?" + +#, fuzzy +#~ msgid "Account '%s' is still connected to the server" +#~ msgstr "Račun \"%s\" je povezan na server" + +#, fuzzy +#~ msgid "Error While Saving" +#~ msgstr "Greška prilikom dodavanja servisa. %s" + +#, fuzzy +#~ msgid "" +#~ "Image cannot be saved in %(type)s format.\n" +#~ "Save as %(new_filename)s?" +#~ msgstr "" +#~ "Sliku nije moguće sačuvati u %(type)s formatu. Sačuvati kao " +#~ "%(new_filename)s?" + +#, fuzzy +#~ msgid "Save _As" +#~ msgstr "Imam " + +#~ msgid "Yes, I really want to connect insecurely" +#~ msgstr "Da, zaista želim da se konektujem nesigurnom vezom" + +#, fuzzy +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "Neispravan Džaber ID grupnog razgovora" + +#, fuzzy +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "Džaber ID grupnog razgovora ima nedozvoljene znake." + +#~ msgid "You may specify a reason below:" +#~ msgstr "Možete navesti razlog ispod:" + +#~ msgid "Banning %s" +#~ msgstr "Zabranjujem %s" + +#, fuzzy +#~ msgid "" +#~ "Always ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Uvek pitaj pre zatvaranja jezička/prozora kada je u pitanju ova lista " +#~ "odvojena blanko karakterima džaber ID-ova grupnih razgovora." + +#, fuzzy +#~ msgid "" +#~ "Never ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Nikad ne pitaj pre zatvaranja jezička/prozora grupnog razgovora kada je u " +#~ "pitanju ova listaodovojena blanko znacima džaber ID-ova grupnih razgovora." + +#, fuzzy +#~ msgid "Leave Group Chats" +#~ msgstr "Napusti grupne razgovore" + +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "%(nickname)s sa grupnog razgovora u sobi %(room_jid)s" + +#, fuzzy +#~ msgid "You have not joined a group chat." +#~ msgstr "Ppridružili ste se grupnom razgovoru." + +#, fuzzy +#~ msgid "You left the following group chats:" +#~ msgstr "Napustili ste sledeće grupne razgovore:" + +#~ msgid "Don't show avatar for the transport itself." +#~ msgstr "Ne prikazuj avatar za sam transport." + +#, fuzzy +#~ msgid "" +#~ "Show a confirmation dialog for a custom status? Empty string means never " +#~ "show the dialog." +#~ msgstr "" +#~ "Treba li prikazivati dijalog za potvrdu prilagođenog statusa? Prazna " +#~ "niska znači da nikada ne prikazujemo dijalog." + +#, fuzzy +#~ msgid "" +#~ "If enabled, notification windows from notification-daemon will be " +#~ "attached to the notification area icon." +#~ msgstr "" +#~ "Ako je istinito, prozor obaveštenja od servisa obaveštenja će biti " +#~ "zakačen za sistemsku kasetu." + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending PLAIN password over a plain " +#~ "connection." +#~ msgstr "" +#~ "Prikaži prozor upozorenja pre slanja nešifrovane lozinke preko obične " +#~ "veze." + +#, fuzzy +#~ msgid "Jabberd2 workaround." +#~ msgstr "Jabberd2 privremeno rešenje" + +#, fuzzy +#~ msgid "Configure Services…" +#~ msgstr "Konfiguriši servise..." + +#, fuzzy +#~ msgid "Group Chat Bookmarks" +#~ msgstr "_Grupni razgovor" + +#, fuzzy +#~ msgid "Add Bookmark" +#~ msgstr "_Markiraj ovu so_bu" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "_Markiraj ovu so_bu" + +#, fuzzy +#~ msgid "_Server" +#~ msgstr "_Server:" + +#, fuzzy +#~ msgid "_Password" +#~ msgstr "_Lozinka:" + +#, fuzzy +#~ msgid "Join chat when connected" +#~ msgstr "Kontakt Otišao Sa Veze" + +#~ msgid "New Group Chat" +#~ msgstr "Novi grupni razgovor" + +#~ msgid "This bookmark has invalid data" +#~ msgstr "Ovaj marker ima neispravne podatke" + +#, fuzzy +#~ msgid "" +#~ "Please be sure to fill out server and group chat fields or remove this " +#~ "bookmark." +#~ msgstr "" +#~ "Molimo obavezno ispunite polja servera i sobe ili uklonite ovaj marker." + +#~ msgid "Character not allowed" +#~ msgstr "Karakter nije dozvoljen" + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "Neispravan Džaber ID grupnog razgovora" + +#~ msgid "Unable to join group chat" +#~ msgstr "Nije moguće pridružiti se grupnom razgovoru" + +#, fuzzy +#~ msgid "You are banned from group chat %s." +#~ msgstr "Zabranjen Vam je pristup ovom grupnom razgovoru %s." + +#, fuzzy +#~ msgid "Remote server %s does not exist." +#~ msgstr "Grupni razgovor.%s ne postoji." + +#, fuzzy +#~ msgid "Group chat %s does not exist." +#~ msgstr "Grupni razgovor.%s ne postoji." + +#, fuzzy +#~ msgid "Group chat creation is not permitted." +#~ msgstr "Stvaranje grupnih razgovora Vam nije dozvoljeno." + +#, fuzzy +#~ msgid "You must use your registered nickname in %s." +#~ msgstr "Morate koristiti Vaš registrovani nadimak u grupnom razgovoru %s." + +#, fuzzy +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "Niste u listi članova grupnog razgovora %s." + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "Ovo nije grupni razgovor" + +#~ msgid "This is not a group chat" +#~ msgstr "Ovo nije grupni razgovor" + +#, fuzzy +#~ msgid "Please choose a group chat" +#~ msgstr "Molimo Vas napravite novu čistu temu sa željenim imenom." + +#~ msgid "Invalid Nickname" +#~ msgstr "Neispravan nadimak" + +#, fuzzy +#~ msgid "Wrong server" +#~ msgstr "Loš uri" + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "Ovo nije grupni razgovor" + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit." +#~ msgstr "Koliko linija tražiti od servera pri ulasku na grupni razgovor." + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit." +#~ msgstr "" +#~ "Od pre koliko minuta tražiti dnevnike pri ulasku na grupni razgovor." + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit, -2 means global value." +#~ msgstr "Koliko linija tražiti od servera pri ulasku na grupni razgovor." + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit, -2 means global value." +#~ msgstr "" +#~ "Od pre koliko minuta tražiti dnevnike pri ulasku na grupni razgovor." + +#, fuzzy +#~ msgid "A Password is required to join the group chat %s. Please type it." +#~ msgstr "Lozinka potrebna za pridruživanje grupnom razgovoru %s. Unesite je." + +#~ msgid "Not in Roster" +#~ msgstr "Nije na listi kontakata" + +#~ msgid "I would like to add you to my roster" +#~ msgstr "Želeo bih Vas dodati na moju listu kontakata" + +#, fuzzy +#~ msgid "Add to Roster" +#~ msgstr "_Dodaj na listu kontakata" + +#, fuzzy +#~ msgid "Manage Room" +#~ msgstr "Upravljanje sobama" + +#, fuzzy +#~ msgid "Configure Room" +#~ msgstr "Podesi _sobu..." + +#, fuzzy +#~ msgid "Destroy Room" +#~ msgstr "Uništi sobu" + +#, fuzzy +#~ msgid "Change Nick" +#~ msgstr "Promeni _nadimak..." + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "_Izloguj se" + +#, fuzzy +#~ msgid "Copy JID" +#~ msgstr "Džaber ID sobe:" + +#, fuzzy +#~ msgid "Add to Roster…" +#~ msgstr "_Dodaj na listu kontakata" + +#, fuzzy +#~ msgid "Copy JID/Email" +#~ msgstr "_Kopiraj džaber ID/e-mejl adresu" + +#, fuzzy +#~ msgid "JID: %s" +#~ msgstr "Džaber ID: %s" + +#~ msgid "Changing Subject" +#~ msgstr "Promena Teme" + +#~ msgid "Please specify the new subject:" +#~ msgstr "Molimo odredite novu temu:" + +#~ msgid "Room logging is now enabled" +#~ msgstr "Logovanje u sobi je sada omogućeno" + +#~ msgid "Room logging is now disabled" +#~ msgstr "Logovanje u sobi je sada onemogućeno" + +#, fuzzy +#~ msgid "You (%s) joined the room" +#~ msgstr "%s se pridružio grupnom razgovoru" + +#~ msgid "Room logging is enabled" +#~ msgstr "Logovanje sobe je omogućeno" + +#, fuzzy +#~ msgid "Unable to join groupchat" +#~ msgstr "Nije moguće pridružiti se grupnom razgovoru" + +#~ msgid "Groupchat Invitation" +#~ msgstr "Poziv na grupni razgovor" + +#, fuzzy +#~ msgid "%(jid)s has been invited in this room" +#~ msgstr "%(nick)s je izbačen iz sobe (%(reason)s)" + +#, fuzzy +#~ msgid "JID is not a Groupchat" +#~ msgstr "Ovo nije grupni razgovor" + +#~ msgid "Invalid JID" +#~ msgstr "Neispravan džaber ID" + +#~ msgid "A connection is not available" +#~ msgstr "Veza nije dostupna" + +#, fuzzy +#~ msgid "JID already in list" +#~ msgstr "Džaber ID već u listi kontakata" + +#, fuzzy +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "Veza nije dostupna" + +#~ msgid "Removes contact from roster" +#~ msgstr "Uklanja kontakt sa liste" + +#~ msgid "Not in roster" +#~ msgstr "Nije u listi kontakata" + +#, fuzzy +#~ msgid "Contact signed in notification color." +#~ msgstr "Prikaži događaj u listi kontakata" + +#, fuzzy +#~ msgid "Contact signout notification color" +#~ msgstr "Prikaži događaj u listi kontakata" + +#, fuzzy +#~ msgid "File transfer request notification color." +#~ msgstr "Zahtev za prenosom datoteke" + +#, fuzzy +#~ msgid "File transfer error notification color." +#~ msgstr "Prenos datoteke prekinut" + +#, fuzzy +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "Prikaži iskačuće obaveštenje kada se završi prenos datoteke" + +#, fuzzy +#~ msgid "Groupchat invitation notification color" +#~ msgstr "Poziv na grupni razgovor" + +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "Dodaj * i [n] u naslov liste kontakata?" + +#~ msgid "Hides the banner in two persons chat window" +#~ msgstr "Sakriva baner u prozoru razgovora dve osobe" + +#, fuzzy +#~ msgid "" +#~ "Show the confirm metacontacts creation dialog or not? Empty string means " +#~ "never show the dialog." +#~ msgstr "" +#~ "Treba li pitati za potvrdu stvaranja pseudokontakta ili ne? Prazna niska " +#~ "znači da nikada ne prikazujemo dijalog." + +#~ msgid "Space separated list of ssl errors to ignore." +#~ msgstr "Lista ssl grešaka za ignorisanje, odvojena razmacima." + +#~ msgid "Answer to receipt requests" +#~ msgstr "Odgovor na zahtev primanja" + +#, fuzzy +#~ msgid "Language for which misspelled words will be checked" +#~ msgstr "Jezik u kome želite proveravati neispravno napisane reči" + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "Jedem, ostavite poruku." + +#, fuzzy +#~ msgid "from room %s" +#~ msgstr " iz sobe %s" + +#~ msgid "Leave Groupchats" +#~ msgstr "Napusti grupne razgovore" + +#, fuzzy +#~ msgid "Auto Join" +#~ msgstr "Automatsko povezivanje" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "Soba:" + +#~ msgid "Jabber ID:" +#~ msgstr "Džaber ID:" + +#~ msgid "Occupant Actions" +#~ msgstr "_Akcije prisutnih" + +#~ msgid "_Add to Roster" +#~ msgstr "_Dodaj na listu kontakata" + +#~ msgid "_Manage Room" +#~ msgstr "Upravljanje sobama" + +#~ msgid "Configure _Room..." +#~ msgstr "Podesi _sobu..." + +#~ msgid "_Destroy Room" +#~ msgstr "Uništi sobu" + +#~ msgid "Jabber ID" +#~ msgstr "Džaber ID" + +#, fuzzy +#~ msgid "account" +#~ msgstr "Nalog" + +#, fuzzy +#~ msgid "Roster" +#~ msgstr "_Prikaži listu kontakata" + +#, fuzzy +#~ msgid "Show only in roster" +#~ msgstr "Prikaži događaj u listi kontakata" + +#~ msgid "in _roster" +#~ msgstr "u _listi kontakata" + +#, fuzzy +#~ msgid "Roster Appearance" +#~ msgstr "Izgled liste kontakata" + +#~ msgid "_Add to Roster..." +#~ msgstr "_Dodaj na listu kontakata..." + +#~ msgid "_Jabber ID:" +#~ msgstr "_Džaber ID:" + +#, fuzzy +#~ msgid "_Jabber ID" +#~ msgstr "_Džaber ID:" + +#~ msgid "JabberID" +#~ msgstr "Džaber ID" + +#, fuzzy +#~ msgid "Show Roster" +#~ msgstr "_Prikaži listu kontakata" + +#~ msgid "MUC server" +#~ msgstr "Server grupnog razgovora" + +#~ msgid "Room Configuration" +#~ msgstr "Konfiguracija sobe" + +#~ msgid "Join _Group Chat" +#~ msgstr "Priključi se _grupnom razgovoru" + +#, fuzzy +#~ msgid "Audio sessions are not available" +#~ msgstr "Veza nije dostupna" + +#~ msgid "Conference" +#~ msgstr "Konferencija" + +#, fuzzy +#~ msgid "_Manage Bookmarks…" +#~ msgstr "Podešavanje markera" + +#, fuzzy +#~ msgid "Hide _Roster" +#~ msgstr "u _listi kontakata" + +#~ msgid "Show _Roster" +#~ msgstr "_Prikaži listu kontakata" + +#, fuzzy +#~ msgid "Invalid Room" +#~ msgstr "Neispravna soba" + +#~ msgid "Invalid room" +#~ msgstr "Neispravna soba" + +#~ msgid "A GTK+ Jabber client" +#~ msgstr "GTK+ Džaber klijent" + +#~ msgid "Changing Nickname" +#~ msgstr "Promena nadimka" + +#~ msgid "Please specify the new nickname you want to use:" +#~ msgstr "Molimo odredite novi nadimak koji želite da koristite:" + +#~ msgid "Bookmark already set" +#~ msgstr "Marker je već postavljen" + +#, fuzzy +#~ msgid "Group Chat '%s' is already in your bookmarks." +#~ msgstr "Grupni razgovor \"%s\" je već markiran." + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "Marker uspešno dodat" + +#, fuzzy +#~ msgid "" +#~ "You can manage your bookmarks by clicking the Bookmarks menu item in your " +#~ "contact list." +#~ msgstr "" +#~ "Možete upravljati Vašim markerima pomoću menija Akcije iz Vaše liste " +#~ "kontakata." + +#, fuzzy +#~ msgid "The nickname contains invalid characters." +#~ msgstr "Nadimak sadrži nedozvoljene karaktere." + +#, fuzzy +#~ msgid "Bookmark Room" +#~ msgstr "Markiraj ovu sobu" + +#~ msgid "_Join New Group Chat" +#~ msgstr "_Pridruživanje novom grupnom razgovoru" + +#~ msgid "Name:" +#~ msgstr "Ime:" + +#, fuzzy +#~ msgid "Description:" +#~ msgstr "Opis:" + +#, fuzzy +#~ msgid "Address:" +#~ msgstr "_Adresa:" + +#, fuzzy +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "Ne možete se priključiti grupnom razgovoru ako niste povezani." + +#, fuzzy +#~ msgid "Occupants" +#~ msgstr "_Akcije prisutnih" + +#~ msgid "_Modify Account..." +#~ msgstr "_Izmeni nalog..." + +#~ msgid "Boolean" +#~ msgstr "Da/Ne" + +#~ msgid "Integer" +#~ msgstr "Ceo broj" + +#~ msgid "Text" +#~ msgstr "Tekst" + +#~ msgid "Value" +#~ msgstr "Vrednost" + +#~ msgid "(None)" +#~ msgstr "(ništa)" + +#~ msgid "Hidden" +#~ msgstr "Skriven" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "Podešavanje proksi profila" + +#, fuzzy +#~ msgid "Properties" +#~ msgstr "Karakteristike" + +#, fuzzy +#~ msgid "Proxy _Port" +#~ msgstr "Proksi _port:" + +#, fuzzy +#~ msgid "New Groupchat" +#~ msgstr "Novi grupni razgovor" + +#, fuzzy +#~ msgid "New Contact" +#~ msgstr "Dodaj novi kontakt" + +#~ msgid "%s GiB" +#~ msgstr "%s GiB" + +#~ msgid "%s GB" +#~ msgstr "%s GB" + +#~ msgid "%s MiB" +#~ msgstr "%s MiB" + +#~ msgid "%s MB" +#~ msgstr "%s MB" + +#~ msgid "%s KiB" +#~ msgstr "%s KiB" + +#~ msgid "%s KB" +#~ msgstr "%s KB" + +#~ msgid "%s B" +#~ msgstr "%s B" + +#, fuzzy +#~ msgid "%s MiB/s" +#~ msgstr "%s MiB" + +#, fuzzy +#~ msgid "File transfer" +#~ msgstr "Prenosi datoteka" + +#, fuzzy +#~ msgid "Open _Containing Folder" +#~ msgstr "_Otvori sadržavajuću fasciklu" + +#, fuzzy +#~ msgid "Default:" +#~ msgstr "Podrazumevano" + +#~ msgid "Really quit Gajim?" +#~ msgstr "Stvarno zatvoriti Gajim?" + +#~ msgid "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" +#~ msgstr "" +#~ "Nećete više biti u mogućnosti da razmenjujete poruke sa kontkatima sa " +#~ "ovih transporta: %s" + +#~ msgid "Contact \"%s\" will be removed from your roster" +#~ msgstr "Kontakt \"%s\" će biti uklonjen sa Vaše liste kontakata" + +#, fuzzy +#~ msgid "" +#~ "By removing this contact you also by default remove authorization " +#~ "resulting in them always seeing you as offline." +#~ msgstr "" +#~ "Uklanjanjem ovog kontakta ujedno podrazumevano uklanjate i odobrenje što " +#~ "znači da će Vas ta osoba uvek videti kao da niste na vezi." + +#~ msgid "Contacts will be removed from your roster" +#~ msgstr "Kontakti će biti uklonjeni sa Vaše liste kontakata" + +#~ msgid "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorization resulting in them always seeing you as " +#~ "offline." +#~ msgstr "" +#~ "Uklanjanjem ovih kontakata:%s\n" +#~ "ujedno uklanjate i odobrenje pto znači da će Vas te osobe uvek videti kao " +#~ "da niste na vezi." + +#, fuzzy +#~ msgid "Con_tinue" +#~ msgstr "_Nastavi" + +#~ msgid "_Pause" +#~ msgstr "_Pauziraj" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "Ukloni prenos datoteka sa liste" + +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "" +#~ "Ova akcija uklanja prenos datoteke sa liste. Ako je prenos aktivan, prvo " +#~ "se zaustavlja, pa onda uklanja" + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "Prekini prenos označene datoteke" + +#, fuzzy +#~ msgid "Hide the window" +#~ msgstr "Sakriva prozor" + +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "Prikaži iskačuće obaveštenje kada se završi prenos datoteke" + +#~ msgid "From:" +#~ msgstr "Od:" + +#~ msgid "Subject:" +#~ msgstr "Tema:" + +#~ msgid "%s wants to send you a file:" +#~ msgstr "%s Vam želi poslati datoteku:" + +#~ msgid "Name: " +#~ msgstr "Ime: " + +#~ msgid "Pause" +#~ msgstr "Pauza" + +#, fuzzy +#~ msgid "Execute Command" +#~ msgstr "_Izvrši naredbu" + +#~ msgid "Type: " +#~ msgstr "Tip: " + +#~ msgid "Transferred: " +#~ msgstr "Prenešeno: " + +#~ msgid "Completed" +#~ msgstr "Završen" + +#~ msgid "Stalled" +#~ msgstr "Zastoj" + +#~ msgid "Transferring" +#~ msgstr "Prenos u toku" + +#~ msgid "Not started" +#~ msgstr "Nije počeo" + +#, fuzzy +#~ msgid "%s day" +#~ msgid_plural "%s days" +#~ msgstr[0] "Pre %i dana" +#~ msgstr[1] "Pre %i dana" +#~ msgstr[2] "Pre %i dana" + +#~ msgid "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Prozori svih razgovora i grupnih razgovora će biti zatvoreni. Želite li " +#~ "da nastavite?" + +#, fuzzy +#~ msgid "" +#~ "Your desired nickname in group chat\n" +#~ "%s\n" +#~ "is in use or registered by another occupant.\n" +#~ "Please specify another nickname below:" +#~ msgstr "" +#~ "Vaš željeni nadimak je trenutno u upotrebi u grupnom razgovoru %s ili je " +#~ "registrovan od strane nekog od učesnika.\n" +#~ "Molimo odredite drugi nadimak ispod:" + +#~ msgid "_Configure" +#~ msgstr "_Konfiguriši" + +#, fuzzy +#~ msgid "Change the avatar" +#~ msgstr "Izmeni status" + +#, fuzzy +#~ msgid "" +#~ "Account in which the avatar will be set; if not specified, the avatar " +#~ "will be set for all accounts" +#~ msgstr "" +#~ "Nalog za koji će biti poslan xml ; ako nije određen, xml će biti poslat " +#~ "za sve naloge" + +#, fuzzy +#~ msgid "add" +#~ msgstr "Tužan" + +#, fuzzy +#~ msgid "modify" +#~ msgstr "Izmenite" + +#, fuzzy +#~ msgid "remove" +#~ msgstr "_Ukloni" + +#, fuzzy +#~ msgid "" +#~ "If true, restored messages will use a smaller font than the default one." +#~ msgstr "" +#~ "Ako je istinito, vraćene poruke iz istorijata će biti manjeg fonta od " +#~ "podrazumevanog." + +#, fuzzy +#~ msgid "Restored Message Color" +#~ msgstr "_Ponovo učitaj podrazumevane boje" + +#, fuzzy +#~ msgid "" +#~ "You are going to remove this room permanently.\n" +#~ "You may specify a reason below:" +#~ msgstr "" +#~ "Upravo ćete zauvek uništiti ovu sobu.\n" +#~ "Možete ispod napisati razlog:" + +#~ msgid "Send Cus_tom Status" +#~ msgstr "Pošalji korisnički definisan status" + +#, fuzzy +#~ msgid "" +#~ "You are about to send a custom status. Are you sure you want to continue?" +#~ msgstr "" +#~ "Upravo ćete poslati prilagođen status. Jeste li sigurni da želite da " +#~ "nastavite?" + +#, fuzzy +#~ msgid "" +#~ "This contact will temporarily see you as %(status)s, but only until you " +#~ "change your status. Then they will see your global status." +#~ msgstr "" +#~ "Kontakt će vas privremeno videti kao %(status)s, ali samo dok ne " +#~ "promenite status. Onda će videti globalni status." + +#, fuzzy +#~ msgid "" +#~ msgstr "Tema" + +#~ msgid "#" +#~ msgstr "#" + +#~ msgid "You are about to block a contact. Are you sure you want to continue?" +#~ msgstr "" +#~ "Upravo ćete blokirati kontakt. Jeste li sigurni da želite da nastavite?" + +#~ msgid "To:" +#~ msgstr "Za:" + +#~ msgid "0" +#~ msgstr "O" + +#, fuzzy +#~ msgid "Reconnect when connection is lost" +#~ msgstr "Automatsko povezivanje kada se veza izgubi" + +#, fuzzy +#~ msgid "Server Message Archive" +#~ msgstr "_Pošalji serversku poruku..." + +#, fuzzy +#~ msgid "Message Carbons" +#~ msgstr "Poruke" + +#~ msgid "" +#~ "Sent chat state notifications. Can be one of all, composing_only, " +#~ "disabled." +#~ msgstr "" +#~ "Poslata obaveštenja o stanju razgovora. Može biti jedno od " +#~ "'svi','samo_sastavljanje', 'onemogućeno'." + +#, fuzzy +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "Dozvoli slanje podataka o OS-u" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the idle time of your system" +#~ msgstr "" +#~ "Ako je označena, Gajim će dozvoliti drugima da pogledaju koji operativni " +#~ "sistem koristite" + +#, fuzzy +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "Dozvoli slanje podataka o OS-u" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the local time on your system" +#~ msgstr "" +#~ "Ako je označena, Gajim će dozvoliti drugima da pogledaju koji operativni " +#~ "sistem koristite" + +#, fuzzy +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "Dozvoli slanje podataka o OS-u" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the operating system you are " +#~ "using" +#~ msgstr "" +#~ "Ako je označena, Gajim će dozvoliti drugima da pogledaju koji operativni " +#~ "sistem koristite" + +#, fuzzy +#~ msgid "" +#~ "If checked, incoming events from unauthorized contacts will be ignored. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster." +#~ msgstr "" +#~ "Ako je označena, Gajim će ignorisati sve dolazne događajeKoristite sa " +#~ "oprezom, blokiraće sve poruke koje dolaze od ljudi van Vaše liste " +#~ "kontakata" + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." +#~ msgstr "" +#~ "Gajim može primati i slati meta-informacije vezane za razgovor koji " +#~ "vodite sa kontaktom. Ovde možete odrediti koja stanja razgovora će se " +#~ "slati drugoj osobi." + +#, fuzzy +#~ msgid "S_end chat state notifications" +#~ msgstr "Pošalji obaveštenja o stanju razgovora:" + +#, fuzzy +#~ msgid "Login Options" +#~ msgstr "_Smajliji:" + +#~ msgid "Please wait while retrieving search form..." +#~ msgstr "Molimo sačekajte dok se dobavlja formular pretrage..." + +#~ msgid "_Add contact" +#~ msgstr "Dodaj _kontakt" + +#~ msgid "Ad-hoc Commands - Gajim" +#~ msgstr "Ad-hok komande - Gajim" + +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "Molimo sačekajte dok se dobavlja lista komandi..." + +#~ msgid "Choose command to execute:" +#~ msgstr "Odaberite komandu za izvršenje:" + +#~ msgid "Check once more" +#~ msgstr "Označite još jednom" + +#, fuzzy +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "Molimo sačekajte dok se komanda šalje..." + +#~ msgid "This jabber entity does not expose any commands." +#~ msgstr "Ovaj džaber izvor ne izlaže nijednu komandu." + +#, fuzzy +#~ msgid "F_inish" +#~ msgstr "_Završi" + +#~ msgid "Waiting for results" +#~ msgstr "Čekam na rezultate" + +#~ msgid "Error in received dataform" +#~ msgstr "Greška u primanju forme za podatke" + +#~ msgid "No result" +#~ msgstr "Nema rezultata" + +#~ msgid "Failed to get secret keys" +#~ msgstr "Neuspelo uzimanje tajnih ključeva" + +#~ msgid "There is no OpenPGP secret key available." +#~ msgstr "Nema dostupnih OpenPGP tajnih ključeva." + +#~ msgid "OpenPGP Key Selection" +#~ msgstr "Odabir OpenPGP Ključeva" + +#~ msgid "Choose your OpenPGP key" +#~ msgstr "Odaberite Vaš OpenPGP ključ" + +#~ msgid "KeyID" +#~ msgstr "ID Ključa" + +#~ msgid "Contact name" +#~ msgstr "Ime kontakta" + +#, fuzzy +#~ msgid "OpenPGP is not usable" +#~ msgstr "GPG nije upotrebljiv" + +#~ msgid "Assign OpenPGP Key" +#~ msgstr "Pridruži OpenPGP Ključ" + +#~ msgid "Select a key to apply to the contact" +#~ msgstr "Odaberite ključ za pridruživanje kontaktu" + +#, fuzzy +#~ msgid "" +#~ "You configured Gajim to use OpenPGP agent, but there is no OpenPGP agent " +#~ "running or it returned a wrong passphrase.\n" +#~ msgstr "" +#~ "Konfigurisali ste Gajim da koristi GPG agenta, ali ne postoji GPG agent " +#~ "koji radi ili je vratio lošu frazu lozinke.\n" + +#~ msgid "You are currently connected without your OpenPGP key." +#~ msgstr "Trenutno ste povezani bez OpenPGP ključa." + +#, fuzzy +#~ msgid "Wrong passphrase" +#~ msgstr "Neispravna lozinka" + +#, fuzzy +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "Neispravna lozinka" + +#~ msgid "Passphrase Required" +#~ msgstr "Lozinka neophodna" + +#, fuzzy +#~ msgid "" +#~ "Enter OpenPGP key passphrase for key %(keyid)s (account %(account)s)." +#~ msgstr "Unesite lozinku GPG ključa %(keyid)s (nalog %(account)s)." + +#, fuzzy +#~ msgid "OpenPGP key expired" +#~ msgstr "GPG ključ istekao" + +#, fuzzy +#~ msgid "" +#~ "Your OpenPGP key has expired, you will be connected to %s without OpenPGP." +#~ msgstr "Vaš GPG ključ je istekao, bićete povezani sa %s bez OpenPGP-a." + +#~ msgid "Wrong Passphrase" +#~ msgstr "Neispravna lozinka" + +#, fuzzy +#~ msgid "Please retype your OpenPGP passphrase or press Cancel." +#~ msgstr "Molimo ponovo ukucajte Vašu GPG lozinku ili pritisnite Odustani" + +#~ msgid "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Šalje novu poruku kontaktu na listi, OpenPGP ključ i nalog su opcioni. " +#~ "Ako želite postaviti samo 'nalog', bez 'OpenPGP ključ', samo postavite " +#~ "'OpenPGP ključ' na ''." + +#~ msgid "if specified, the message will be encrypted using this public key" +#~ msgstr "" +#~ "ako je naznačeno, poruka će biti šifrovana koristeći ovaj javni ključ" + +#, fuzzy +#~ msgid "" +#~ "Sends a chat message to someone on your roster. Optionally with OpenPGP " +#~ "key and account. If you want to only set the latter, set OpenPGP key to " +#~ "\"\"." +#~ msgstr "" +#~ "Šalje novu poruku kontaktu na listi, OpenPGP ključ i nalog su opcioni. " +#~ "Ako želite postaviti samo 'nalog', bez 'OpenPGP ključ', samo postavite " +#~ "'OpenPGP ključ' na ''." + +#~ msgid "" +#~ "If disabled, don't sign presences with GPG key, even if GPG is configured." +#~ msgstr "" +#~ "Ako je onemogućeno, ne potpisuj prisustvo sa GPG ključem, čak iako je GPG " +#~ "konfigurisan." + +#, fuzzy +#~ msgid "OpenPGP:" +#~ msgstr "OpenPGP: " + +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "Pridruži Open_PGP Ključ..." + +#, fuzzy +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "Šifrovanje OpenPGP poruke" + +#, fuzzy +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "Šifrujem poruke razgovora sa gpg ključevima." + +#, fuzzy +#~ msgid "Requires: gpg and python-gnupg (%(url)s)" +#~ msgstr "Zahteva gpg i python-GnuPGInterface." + +#, fuzzy +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "koristi HTTP_PROXY promenljiv_u okruženja" + +#, fuzzy +#~ msgid "Use PGP Agent" +#~ msgstr "Koristi G_PG agenta" + +#, fuzzy +#~ msgid "OpenPGP Key" +#~ msgstr "Pridruži OpenPGP Ključ" + +#~ msgid "Cancel confirmation" +#~ msgstr "Poništi odobravanje" + +#~ msgid "" +#~ "You are in process of executing command. Do you really want to cancel it?" +#~ msgstr "Trenutno izvršavate komandu. Da li želite da je prekinete?" + +#~ msgid "Service sent malformed data" +#~ msgstr "Servis je poslao loše podatke" + +#~ msgid "Service changed the session identifier." +#~ msgstr "Servis je izmenio identifikator sesije." + +#, fuzzy +#~ msgid "%s - Ad-hoc Commands - Gajim" +#~ msgstr "Ad-hok komande - Gajim" + +#~ msgid "Service returned an error." +#~ msgstr "Servis je vratio grešku." + +#~ msgid "You are invited to a groupchat" +#~ msgstr "Pozvani ste u grupni razgovor" + +#~ msgid "_Start Chat" +#~ msgstr "_Započni razgovor" + +#~ msgid "Au_thorize" +#~ msgstr "_Odobri autorizaciju" + +#~ msgid "Really send file?" +#~ msgstr "Stvarno pošalji datoteku?" + +#~ msgid "You are currently connected to the server" +#~ msgstr "Trenutno ste spojeni na server" + +#~ msgid "To disable the account, you must be disconnected." +#~ msgstr "Da biste onemogućili nalog, morate biti raskačeni." + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with %(jid)s?" +#~ msgstr "Da li zaista želite da izbrišete označenu poruku?" + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with the selected contacts?" +#~ msgstr "Da li zaista želite izbrisati dnevnik razgovora označenog kontakta?" + +#, fuzzy +#~ msgid "This can not be undone." +#~ msgstr "Usluga ne može biti nađena" + +#~ msgid "What do you want to do?" +#~ msgstr "Šta želite da uradite?" + +#~ msgid "" +#~ "List of colors, separated by \":\", that will be used to color nicknames " +#~ "in group chats." +#~ msgstr "" +#~ "Lista boja odvojena sa \":\" koje će biti korišćene za bojenje nadimaka u " +#~ "grupnim razgovorima." + +#, fuzzy +#~ msgid "You have received new entries (and %d not displayed):" +#~ msgid_plural "You have received new entries (and %d not displayed):" +#~ msgstr[0] "Primili ste nove unose (%(count)d nije prikazano):" +#~ msgstr[1] "Primili ste nove unose (%(count)d nije prikazano):" +#~ msgstr[2] "Primili ste nove unose (%(count)d nije prikazano):" + +#~ msgid "Stopped" +#~ msgstr "Zaustavljen" + +#~ msgid "" +#~ "You are about to send your password on an insecure connection. You should " +#~ "install PyOpenSSL to prevent that. Are you sure you want to do that?" +#~ msgstr "" +#~ "Upravo ćete poslati lozinku preko nesigurne veze. Trebalo bi da " +#~ "instalirate PyOpenSSL da sprečite ovo. Da li želite da nastavite?" + +#, fuzzy +#~ msgid "Status messages displayed in chat window" +#~ msgstr "Pošalji poruku i zatvori prozor" + +#~ msgid "?print_status:All" +#~ msgstr "?ispis statusa:Sve" + +#~ msgid "Enter and leave only" +#~ msgstr "Samo ući i napustiti" + +#~ msgid "?print_status:None" +#~ msgstr "?print_status:None" + +#, fuzzy +#~ msgid "Untrusted OpenPGP key" +#~ msgstr "Odaberite Vaš OpenPGP ključ" + +#, fuzzy +#~ msgid "" +#~ "The OpenPGP key used to encrypt this chat is not trusted. Do you really " +#~ "want to encrypt this message?" +#~ msgstr "" +#~ "GPG ključ koji se koristi za šifrovanje nije od poverenja. Da li zaista " +#~ "želite da šifrujete ovu poruku?" + +#~ msgid "D-Bus python bindings are missing in this computer" +#~ msgstr "Na ovom računaru nedostaju python vezivanja za D-Bus" + +#~ msgid "D-Bus capabilities of Gajim cannot be used" +#~ msgstr "D-Bus mogućnosti Gajima se ne mogu koristiti" + +#~ msgid "D-Bus does not run correctly on this machine" +#~ msgstr "D-Bus ne radi ispravno na ovom računaru" + +#, fuzzy +#~ msgid "D-Bus does not run correctly on this machine: system bus not present" +#~ msgstr "D-Bus ne radi ispravno na ovom računaru" + +#, fuzzy +#~ msgid "" +#~ "D-Bus does not run correctly on this machine: session bus not present" +#~ msgstr "D-Bus ne radi ispravno na ovom računaru" + +#, fuzzy +#~ msgid "Command line Control" +#~ msgstr "Komandna linija" + +#, fuzzy +#~ msgid "Enables you to control Gajim with via commandline" +#~ msgstr "Skripta za kontrolu Gajima iz komandne linije." + +#~ msgid "" +#~ "When is self contact row displayed. Can be \"always\", " +#~ "\"when_other_resource\" or \"never\"" +#~ msgstr "" +#~ "Kada se prikazuje sopstveni kontakt. Može biti \"always\", " +#~ "\"when_other_resource\" or \"never\"" + +#~ msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +#~ msgstr "%(nick)s je izbačen od strane %(who)s: %(reason)s" + +#~ msgid "%(nick)s has been banned by %(who)s: %(reason)s" +#~ msgstr "%(nick)s ima zabranu od člana %(who)s: %(reason)s" + +#~ msgid "system shutdown" +#~ msgstr "gašenje sistema" + +#~ msgid "** Role of %(nick)s has been set to %(role)s" +#~ msgstr "** Uloga %(nick)s je postavljena na %(role)s" + +#~ msgid "%s has left" +#~ msgstr "%s je otišao" + +#, fuzzy +#~ msgid "%s is full" +#~ msgstr "Font" + +#, fuzzy +#~ msgid "" +#~ "Can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no " +#~ "longer print status line in groupchats when a member changes their status " +#~ "and/or their status message. If \"all\" Gajim will print all status " +#~ "messages. If \"in_and_out\", Gajim will only print FOO enters/leaves " +#~ "group chat." +#~ msgstr "" +#~ "može biti \"none\", \"all\" ili \"in_and_out\". Ako je \"none\", Gajim " +#~ "više neće ispisivati statusnu liniju u grupnim razgovorima kada član " +#~ "promeni svoj status i/ili izmeni statusnu poruku. Ako je \"all\", Gajim " +#~ "će prikazivati sve statusne poruke. Ako je \"in_and_out\". Gajim će " +#~ "prikazivati samo poruke tipa taj i taj je ušao/izašao u/iz sobe." + +#, fuzzy +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "Prikaži statusne poruke kontakata na listi" + +#, fuzzy +#~ msgid "" +#~ "You are about to send your password unencrypted on an insecure " +#~ "connection. Are you sure you want to do that?" +#~ msgstr "" +#~ "Upravo ćete poslati lozinku preko nešifrovane veze. Jeste li sigurni da " +#~ "želite to da uradite?" + +#, fuzzy +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "Anonimno prijavljivanje" + +#, fuzzy +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "Anon_imno prijavljivanje" + +#, fuzzy +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "Anon_imno prijavljivanje" + +#~ msgid "" +#~ "Displayed chat state notifications in chat windows. Can be one of all, " +#~ "composing_only, disabled." +#~ msgstr "" +#~ "Prikazana obaveštenja o stanju razgovora u prozoru za razgovor. Može biti " +#~ "jedno od 'svi', 'samo_sastavljanje', 'onemogućeno'." + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." +#~ msgstr "" +#~ "Gajim može primati i slati meta-informacije vezane za razgovor koji " +#~ "vodite sa kontaktom. Ovde možete odrediti koja stanja razgovora će se " +#~ "prikazivati u prozorima razgovora." + +#~ msgid "This is an irreversible operation." +#~ msgstr "Ova operacija je nepovratna." + +#~ msgid "Settings" +#~ msgstr "Podešavanja" + +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "Dobrodošli u Gajimov menadžer dnevnika istorijata" + +#~ msgid "Member List" +#~ msgstr "Lista članova" + +#~ msgid "Owner List" +#~ msgstr "Lista vlasnika" + +#~ msgid "Administrator List" +#~ msgstr "Lista administratora" + +#~ msgid "Nick" +#~ msgstr "Nadimak" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "Koga želite zabraniti?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Member…" +#~ msgstr "Dodavanje člana..." + +#~ msgid "" +#~ "Whom do you want to make a member?\n" +#~ "\n" +#~ msgstr "" +#~ "Koga želite da postavite članom?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Owner…" +#~ msgstr "Dodavanje vlasnika..." + +#~ msgid "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" +#~ msgstr "" +#~ "Koga želite da postavite za vlasnika?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Administrator…" +#~ msgstr "Dodavanje administratora..." + +#~ msgid "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" +#~ msgstr "" +#~ "Koga želite da postavite za administratora?\n" +#~ "\n" + +#~ msgid "Error reading file:" +#~ msgstr "Greška pri čitanju datoteke:" + +#~ msgid "Error parsing file:" +#~ msgstr "Greška pri učitavanju datoteke" + +#~ msgid "List of possible features in Gajim:" +#~ msgstr "Lista mogućnosti Gajima:" + +#~ msgid "Description" +#~ msgstr "Opis" + +#~ msgid "Password encryption" +#~ msgstr "Šifrovanje lozinkom" + +#~ msgid "Spellchecking of composed messages." +#~ msgstr "Provera pravopisa sastavljenih poruka." + +#~ msgid "Automatic status" +#~ msgstr "Automatski status" + +#~ msgid "Requires python2.5." +#~ msgstr "Zahteva python2.5." + +#~ msgid "" +#~ "Generate XHTML output from RST code (see http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Generiše XHTML izlaz od RST koda (pogledati http://docutils.sourceforge." +#~ "net/docs/ref/rst/restructuredtext.html)." + +#, fuzzy +#~ msgid "?features:Available" +#~ msgstr "Dostupan" + +#~ msgid "Feature" +#~ msgstr "Mogućnost" + +#~ msgid "Filter:" +#~ msgstr "Filter:" + +#~ msgid "Chat Appearance" +#~ msgstr "Izgled razgovora" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed out" +#~ msgstr "" +#~ "Gajim će Vas obavestiti o kontaktima koji su se upravo odjavili sa " +#~ "iskačućim prozorom u donjem desnom uglu ekrana" + +#~ msgid "Sounds" +#~ msgstr "Zvukovi" + +#~ msgid "Chat state notifications" +#~ msgstr "Obaveštenja stanja razgovora" + +#, fuzzy +#~ msgid "_Away after" +#~ msgstr "Autom_atski odsutan posle:" + +#~ msgid "" +#~ "If checked, Gajim will change status to Away when the computer is unused." +#~ msgstr "" +#~ "Ako je označena, Gajim će automatski promeniti status u Odsutan kada " +#~ "računar nije u upotrebi." + +#, fuzzy +#~ msgid "_Not available after" +#~ msgstr "Automatski _nedostupan nakon:" + +#~ msgid "Auto Status" +#~ msgstr "Auto status" + +#~ msgid "Status Messages" +#~ msgstr "Statusne poruke" + +#, fuzzy +#~ msgid "Audio" +#~ msgstr "Akcije" + +#, fuzzy +#~ msgid "Video" +#~ msgstr "Srednje ime:" + +#, fuzzy +#~ msgid "Connection" +#~ msgstr "Uslovi" + +#~ msgid "Custom" +#~ msgstr "Personalni" + +#~ msgid "Privacy" +#~ msgstr "Privatnost" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "Napredna izmena konfiguracije" + +#, fuzzy +#~ msgid "File transfer, room bookmarks" +#~ msgstr "Greška pri prenosu datoteke" + +#, fuzzy +#~ msgid "XML console interface" +#~ msgstr "XML Konzola" + +#, fuzzy +#~ msgid "" +#~ "A programming error has been detected. It probably is not fatal, but " +#~ "should be reported to the developers nonetheless." +#~ msgstr "Najverovatnije nije ništa strašno, ali je ipak javite programerima." + +#~ msgid "" +#~ "A list of modp groups to use in a Diffie-Hellman, highest preference " +#~ "first, separated by commas. Valid groups are 1, 2, 5, 14, 15, 16, 17 and " +#~ "18. Higher numbers are more secure, but take longer to calculate when you " +#~ "start a session." +#~ msgstr "" +#~ "Lista modp grupa za korišćenje u Diffie-Hellman-u, najveće imaju viši " +#~ "prioritet, odvojeni zarezima. Validne grupe su 1, 2, 5, 14, 15, 16, 17 i " +#~ "18. Višlji brojevi su sugurniji, ali tada treba više vremena za početak " +#~ "sesije." + +#~ msgid "(ESession info)" +#~ msgstr "(ESession info)" + +#~ msgid "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" +#~ msgstr "" +#~ "Ako nije onemogućeno, Gajim će zameniti ascii smajlije kao npr. ':)' sa " +#~ "ekvivalentnim animiranim ili statičnim grafičkim smajlijima" + +#, fuzzy +#~ msgid "_Emoticons" +#~ msgstr "_Smajliji:" + +#~ msgid "_Highlight misspelled words" +#~ msgstr "_Oboji pogrešno napisane reči" + +#, fuzzy +#~ msgid "Notify by icon when your messages are received" +#~ msgstr "Zvuk koji će se pustiti kada stigne neka MUC poruka." + +#, fuzzy +#~ msgid "T_heme" +#~ msgstr "T_ema:" + +#~ msgid "Themes" +#~ msgstr "Teme" + +#~ msgid "Always use this nickname when there is a conflict" +#~ msgstr "Uvek koristi nadimak kada postoji konflikt" + +#~ msgid "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." +#~ msgstr "" +#~ "Jabberd1.4 ne voli sha informacije kada neko uđe u grupni razgovor koji " +#~ "je zaštićen lozinkom. Isključite ovu opciju da prestanete slati sha " +#~ "informacije u grupnim razgovorima" + +#, fuzzy +#~ msgid "Presence" +#~ msgstr "_Prisutnost" + +#~ msgid "Emoticons disabled" +#~ msgstr "Smajliji isključeni" + +#, fuzzy +#~ msgid "" +#~ "Your configured emoticons theme could not be loaded. See the log for more " +#~ "details." +#~ msgstr "Vaša tema za smajlije nije nađena, pa su smajliji isključeni." + +#~ msgid "You cannot make changes to the default theme" +#~ msgstr "Ne možete promeniti podrazumevanu temu" + +#~ msgid "theme name" +#~ msgstr "ime teme" + +#~ msgid "You cannot delete your current theme" +#~ msgstr "Ne možete izbrisati Vašu trenutnu temu" + +#~ msgid "New Single Message from %(nickname)s" +#~ msgstr "Nova samostalna poruka od kontakta %(nickname)s" + +#~ msgid "New Private Message from group chat %s" +#~ msgstr "Nova privatna poruka sa grupnog razgovora %s" + +#~ msgid "%(nickname)s: %(message)s" +#~ msgstr "%(nickname)s: %(message)s" + +#~ msgid "Messaged by %(nickname)s" +#~ msgstr "Nova poruka od %(nickname)s" + +#~ msgid "Status message text color." +#~ msgstr "Boja teksta statusne poruke." + +#~ msgid "Incoming nickname font." +#~ msgstr "Font dolaznog nadimka." + +#~ msgid "Outgoing nickname font." +#~ msgstr "Font odlaznog nadimka." + +#~ msgid "Status message text font." +#~ msgstr "Font teksta statusne poruke." + +#~ msgid "Background color of contacts when they just signed in." +#~ msgstr "Boja pozadine kontakta kada tek dođu na vezu." + +#~ msgid "Background color of contacts when they just signed out." +#~ msgstr "Boja pozadine kontakta kada tek odu sa veze." + +#~ msgid "green" +#~ msgstr "zelena" + +#~ msgid "grocery" +#~ msgstr "namirnice" + +#~ msgid "human" +#~ msgstr "ljudska" + +#~ msgid "marine" +#~ msgstr "morska" + +#, fuzzy +#~ msgid "Contact row" +#~ msgstr "Kontakt" + +#~ msgid "Gajim Themes Customization" +#~ msgstr "Personalizacija Gajim tema" + +#~ msgid "Text _color:" +#~ msgstr "Boja tekst_a:" + +#~ msgid "_Background:" +#~ msgstr "_Pozadina:" + +#~ msgid "Text _font:" +#~ msgstr "_Font teksta:" + +#~ msgid "Font style:" +#~ msgstr "Izgled fonta:" + +#~ msgid "Paused" +#~ msgstr "Pauzirano" + +#~ msgid "Gone" +#~ msgstr "Otišao" + +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "" +#~ "Poruke\n" +#~ "višekorisničkog razgovora" + +#~ msgid "Chatstate Tab Colors" +#~ msgstr "Boje jezičaka statusa razgovora" + +#, fuzzy +#~ msgid "Chat message" +#~ msgstr "Poruka razgovora:" + +#~ msgid "Use system _default" +#~ msgstr "Koristi sistemski podrazumevano" + +#~ msgid "Font" +#~ msgstr "Font" + +#, fuzzy +#~ msgid "Contact's nickname" +#~ msgstr "Ime kontakta" + +#, fuzzy +#~ msgid "_Status message" +#~ msgstr "_Statusna poruka:" + +#, fuzzy +#~ msgid "Your message" +#~ msgstr "Poruka greške: %s" + +#, fuzzy +#~ msgid "_URL highlight" +#~ msgstr "URL osvetljavanje:" + +#~ msgid "Chat Line Colors" +#~ msgstr "Boje linija razgovora" + +#~ msgid "Jabber ID:" +#~ msgstr "Džaber ID:" + +#~ msgid "Resource:" +#~ msgstr "Resurs:" + +#~ msgid "Status:" +#~ msgstr "Status:" + +#~ msgid "Contact time:" +#~ msgstr "Vreme kontakta na vezi:" + +#~ msgid "Ask:" +#~ msgstr "Autorizacija:" + +#~ msgid "Subscription:" +#~ msgstr "Prijava:" + +#~ msgid "Name:" +#~ msgstr "Ime:" + +#~ msgid "Nickname:" +#~ msgstr "Nadimak:" + +#~ msgid "Street:" +#~ msgstr "Ulica:" + +#~ msgid "City:" +#~ msgstr "Grad:" + +#~ msgid "State:" +#~ msgstr "Pokrajina:" + +#~ msgid "Extra Address:" +#~ msgstr "Dodatna adresa:" + +#~ msgid "Postal Code:" +#~ msgstr "Poštanski broj:" + +#~ msgid "Country:" +#~ msgstr "Država:" + +#~ msgid "Homepage:" +#~ msgstr "Lična strana:" + +#~ msgid "E-Mail:" +#~ msgstr "E-mejl:" + +#~ msgid "Phone No.:" +#~ msgstr "Broj telefona:" + +#~ msgid "Birthday:" +#~ msgstr "Rođendan:" + +#~ msgid "Family:" +#~ msgstr "Prezime:" + +#~ msgid "Middle:" +#~ msgstr "Srednje ime:" + +#~ msgid "Prefix:" +#~ msgstr "Prefiks:" + +#~ msgid "Given:" +#~ msgstr "Ime:" + +#~ msgid "Suffix:" +#~ msgstr "Sufiks:" + +#~ msgid "Full Name" +#~ msgstr "Puno ime" + +#~ msgid "Company:" +#~ msgstr "Firma:" + +#~ msgid "Department:" +#~ msgstr "Odsek:" + +#~ msgid "Position:" +#~ msgstr "Pozicija:" + +#~ msgid "Role:" +#~ msgstr "Uloga:" + +#~ msgid "- messages will be logged" +#~ msgstr "- poruke će biti logovane" + +#~ msgid "- messages will not be logged" +#~ msgstr "- poruke neće biti logovane" + +#~ msgid "Edit %s" +#~ msgstr "Izmeni %s" + +#~ msgid "Conversation History with %s" +#~ msgstr "Istorijat razgovora sa %s" + +#~ msgid "Contact with \"%s\" cannot be established" +#~ msgstr "Kontakt sa \"%s\" se ne može uspostaviti" + +#~ msgid "Registration information for transport %s has not arrived in time" +#~ msgstr "Informacije o registraciji za transport %s nisu došle na vreme" + +#~ msgid "Register to" +#~ msgstr "Registruj se na" + +#, fuzzy +#~ msgid "Enter name / JID of contact or groupchat" +#~ msgstr "Ime kontakta" + +#~ msgid "Search:" +#~ msgstr "Pretraga:" + +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "Bez veze nije moguća promena lozinke." + +#~ msgid "Invalid password" +#~ msgstr "Neispravna lozinka" + +#~ msgid "The passwords typed in both fields must be identical." +#~ msgstr "Lozinke upisane u oba polja moraju biti identične." + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "Unesite ponovo kao potvrdu:" + +#~ msgid "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" +#~ msgstr "" +#~ "Džaber ID %s ne poštuje RFC pravila. Neće biti dodat na Vašu listu " +#~ "kontakata. Upotrebite alate kao što je http://jru.jabberstudio.org/ da " +#~ "biste ga uklonili" + +#~ msgid "unsubscribe request from %s" +#~ msgstr "zahtev za ukidanje pretplate od kontakta %s" + +#, fuzzy +#~ msgid "Homepage:" +#~ msgstr "Lična strana:" + +#~ msgid "Manage Bookmarks" +#~ msgstr "Podešavanje markera" + +#~ msgid "_Nickname:" +#~ msgstr "_Nadimak:" + +#, fuzzy +#~ msgid "Pr_int status:" +#~ msgstr "Ispis statusa:" + +#, fuzzy +#~ msgid "Add JID" +#~ msgstr "Džaber ID" + +#, fuzzy +#~ msgid "Preference:" +#~ msgstr "Podešavanja" + +#, fuzzy +#~ msgid "Preference" +#~ msgstr "Podešavanja" + +#, fuzzy +#~ msgid "JID:" +#~ msgstr "Vaš džaber ID:" + +#, fuzzy +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "" +#~ "Molimo Vas ispunite podatke za kontakt koga želite dodati na nalog %s" + +#~ msgid "Please fill in the data of the contact you want to add" +#~ msgstr "Molimo Vas ispunite podatke za kontakt koga želite dodati" + +#, fuzzy +#~ msgid "Recently" +#~ msgstr "Nedavno:" + +#~ msgid "Add New Contact" +#~ msgstr "Dodaj novi kontakt" + +#~ msgid "_User ID:" +#~ msgstr "_ID korisnika:" + +#, fuzzy +#~ msgid "Type User ID" +#~ msgstr "ID korisnika:" + +#, fuzzy +#~ msgid "Type Nickname" +#~ msgstr "Nadimak" + +#~ msgid "Personal Information" +#~ msgstr "Lične Informacije" + +#~ msgid "Avatar:" +#~ msgstr "Avatar:" + +#~ msgid "Click to set your avatar" +#~ msgstr "Kliknite da biste postavili Vaš avatar" + +#, fuzzy +#~ msgid "Remove Avatar" +#~ msgstr "Ukloni grupu" + +#~ msgid "Not fetched because of invisible status" +#~ msgstr "Nije dohvaćeno zbog statusa nevidljivosti" + +#~ msgid "Please wait..." +#~ msgstr "Molimo sačekajte..." + +#~ msgid "" +#~ "When negotiating an encrypted session, should Gajim assume you want your " +#~ "messages to be logged?" +#~ msgstr "" +#~ "Kada se uspostavlja šifrovana sesija, da li Gajim treba da pretpostavi da " +#~ "želite da čuvate poruke u dnevniku?" + +#~ msgid "Log _encrypted chat session" +#~ msgstr "Upisuj u dnevnik šifrovane sesije razgovora" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will keep logs for encrypted messages. Please note that " +#~ "when using end-to-end encryption the remote party has to agree on " +#~ "logging, else the messages will not be logged." +#~ msgstr "" +#~ "Ako je označena, Gajim će držati dnevnike šifrovanih razgovora. Primetiti " +#~ "da kada se koristi E2E enkripcija, druga strana mora da se složi sa " +#~ "čuvanjem dnevnika, u suprotnom se poruke neće pamtiti." + +#~ msgid "Yahoo! Address:" +#~ msgstr "Yahoo! adresa:" + +#~ msgid "Forward unread messages" +#~ msgstr "Prosledi nepročitane poruke" + +#~ msgid "All unread messages have been forwarded." +#~ msgstr "Sve nepročitane poruke su prosleđene." + +#, fuzzy +#~ msgid "Forward unread message then disconnect" +#~ msgstr "Prosledi nepročitane poruke" + +#~ msgid "MSN Address:" +#~ msgstr "MSN adresa:" + +#~ msgid "Confirm these session options" +#~ msgstr "Potvrdi ove opcije sesije" + +#, fuzzy +#~ msgid "" +#~ "The remote client wants to negotiate a session with these features:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Are these options acceptable?" +#~ msgstr "" +#~ "Udaljeni klijent želi da započne sesiju sa ovim mogućnostima:\n" +#~ "\n" +#~ "\t%s\n" +#~ "\n" +#~ "\tDa li su ove stavke prihvatljive?" + +#~ msgid "" +#~ "The remote client selected these options:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Continue with the session?" +#~ msgstr "" +#~ "Udaljeni klijent je odabrao sledeće stavke:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Nastaviti sa sesijom?" + +#, fuzzy +#~ msgid "Always accept for this contact" +#~ msgstr "Da li je OpenPGP omogućen za ovaj kontakt?" + +#~ msgid "End to End message encryption" +#~ msgstr "Šifrovanje poruke s kraja na kraj" + +#~ msgid "Encrypting chat messages." +#~ msgstr "Šifrujem poruke razgovora." + +#~ msgid "Requires python-crypto." +#~ msgstr "Zahteva python-crypto." + +#~ msgid "Session negotiation cancelled" +#~ msgstr "Uspostavljanje sesije prekinuto" + +#~ msgid "This session is encrypted" +#~ msgstr "Ova sesija je šifrovana" + +#~ msgid " and WILL be logged" +#~ msgstr "i BIĆE pamćena" + +#~ msgid " and WILL NOT be logged" +#~ msgstr "i NEĆE biti pamćena" + +#~ msgid "" +#~ "Remote contact's identity not verified. Click the shield button for more " +#~ "details." +#~ msgstr "" +#~ "Identitet drugog korisnika nije potvrđen. Kliknite na štit za više " +#~ "detalja." + +#, fuzzy +#~ msgid "end-to-end encryption disabled" +#~ msgstr "GPG enkripcija onemogućena" + +#~ msgid "" +#~ "Unable to decrypt message from %s\n" +#~ "It may have been tampered with." +#~ msgstr "" +#~ "Ne mogu da dešifrujem poruku od kontakta %s\n" +#~ "Možda je promenjena." + +#~ msgid "Unable to decrypt message" +#~ msgstr "Ne mogu da dešifrujem poruku" + +#~ msgid "Enable ESessions encryption for this account." +#~ msgstr "Omogući ESessions enkripciju za ovaj nalog." + +#~ msgid "Should Gajim automatically start an encrypted session when possible?" +#~ msgstr "" +#~ "Da li će Gajim automatski startovati šifrovanu sesiju ako je moguće?" + +#~ msgid "" +#~ "[This is part of an encrypted session. If you see this message, something " +#~ "went wrong.]" +#~ msgstr "" +#~ "[Ovo je deo šifrovane sesije. Ukoliko vidite ovo, nešto je pošlo naopako.]" + +#~ msgid "Requires python-avahi." +#~ msgstr "Zahteva python-avahi." + +#, fuzzy +#~ msgid "Save Image as…" +#~ msgstr "Snimi sliku kao..." + +#, fuzzy +#~ msgid "Exporting History Logs…" +#~ msgstr "Izvoženje dnevnika istorijata..." + +#~ msgid "When %s becomes:" +#~ msgstr "Kad %s postane:" + +#~ msgid "Adding Special Notification for %s" +#~ msgstr "Dodavanje posebnog obaveštenja za %s" + +#, fuzzy +#~ msgid "" +#~ "It seems the SSL certificate of account %(account)s has changed and is " +#~ "not valid or your connection is being compromised.\n" +#~ "\n" +#~ "Old SHA-1 fingerprint: %(old_sha1)s\n" +#~ "Old SHA-256 fingerprint: %(old_sha256)s\n" +#~ "\n" +#~ "New SHA-1 fingerprint: %(new_sha1)s\n" +#~ "New SHA-256 fingerprint: %(new_sha256)s\n" +#~ "\n" +#~ "Do you still want to connect and update the fingerprint of the " +#~ "certificate?" +#~ msgstr "" +#~ "Čini se da se SSL sertifikat naloga %(account)s promenio ili je Vaša " +#~ "konekcija napadnuta.\n" +#~ "Stari otisak: %(old)s\n" +#~ "Novi otisak: %(new)s\n" +#~ "\n" +#~ "Da li i dalje želite da se konektujete i osvežite otisak ovog sertifikata?" + +#, fuzzy +#~ msgid "" +#~ "The authenticity of the %s certificate could be invalid.\n" +#~ "The certificate does not cover this domain." +#~ msgstr "Autentičnost sertifikata %s može biti neispravna." + +#~ msgid "Unable to load idle module" +#~ msgstr "Nije moguće učitavanje modula idle" + +#, fuzzy +#~ msgid "%s or %s is a directory but should be a file" +#~ msgstr "%s je fascikla, ali bi trebala biti datoteka" + +#~ msgid "creating logs database" +#~ msgstr "kreiram bazu dnevnika" + +#, fuzzy +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "Pošalji %s za %s" + +#, fuzzy +#~ msgid "Rename account label" +#~ msgstr "Preimenuj nalog" + +#, fuzzy +#~ msgid "Send Single Message..." +#~ msgstr "Pošalji jednu _poruku..." + +#, fuzzy +#~ msgid "We received an error: {}" +#~ msgstr "Servis je vratio grešku." + +#~ msgid "E2E encryption disabled" +#~ msgstr "E2E enkripcija onemogućena" + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Dodaj ovaj sertifikat listi proverenih sertifikata.\n" +#~ "SHA1 otisak ovog sertifikata:\n" +#~ "%s" + +#~ msgid "uri" +#~ msgstr "uri" + +#, fuzzy +#~ msgid "" +#~ "Install /\n" +#~ "Upgrade" +#~ msgstr "Zastoj" + +#, fuzzy +#~ msgid "Install/Upgrade" +#~ msgstr "Zastoj" + +#~ msgid "cyan" +#~ msgstr "cijan" + +#~ msgid "migrating logs database to indices" +#~ msgstr "prebacujem bazu dnevnika u indekse" + +#, fuzzy +#~ msgid "Send File..." +#~ msgstr "Pošalji _datoteku..." + +#, fuzzy +#~ msgid "HTTP File Upload not supported by your server" +#~ msgstr "Čuvanje pseudokontakata nije podržano od strane Vašeg servera" + +#, fuzzy +#~ msgid "Jingle File Transfer" +#~ msgstr "Prenosi datoteka" + +#~ msgid "" +#~ "Your configured emoticons theme has not been found, so emoticons have " +#~ "been disabled." +#~ msgstr "Vaša tema za smajlije nije nađena, pa su smajliji isključeni." + +#~ msgid "Shows or hides the roster window" +#~ msgstr "Prikazuje ili skriva prozor liste kontakata " + +#~ msgid "Shows or hides the ipython window" +#~ msgstr "Prikazuje ili skriva ipython prozor" + +#, fuzzy +#~ msgid "XMPP account %s" +#~ msgstr "XMPP nalog %s@%s" + +#, fuzzy +#~ msgid "Exception" +#~ msgstr "Opis" + +#~ msgid "" +#~ "someone@somewhere.com would like you to add some contacts " +#~ "in your roster." +#~ msgstr "" +#~ "neko@domaćin.com želi da dodate neke kontakte u listu " +#~ "kontakata." + +#~ msgid "" +#~ "Ordered list (space separated) of connection type to try. Can contain " +#~ "tls, ssl or plain" +#~ msgstr "" +#~ "Uređena lista (odvojena zarezima) tipova konekcije za probu. Može " +#~ "sadržati tls, ssl ili plain" + +#~ msgid "_Actions" +#~ msgstr "_Akcije" + +#, fuzzy +#~ msgid "Requires upower and python-dbus." +#~ msgstr "Zahteva python-dbus." + +#~ msgid "You are already in group chat %s" +#~ msgstr "Već ste u grupnom razgovoru %s" + +#~ msgid "Join Group Chat with account %s" +#~ msgstr "Pridružite se grupnom razgovoru preko naloga %s" + +#~ msgid "" +#~ "You have to choose an account from which you want to join the groupchat." +#~ msgstr "Morate odabrati nalog sa koga želite da uđete u sobu." + +#, fuzzy +#~ msgid "Please enter the group chat JID as room@server." +#~ msgstr "Džaber ID grupnog razgovora ima nedozvoljene znake." + +#, fuzzy +#~ msgid "The group chat JID contains invalid characters." +#~ msgstr "Džaber ID grupnog razgovora ima nedozvoljene znake." + +#~ msgid "Start Chat with account %s" +#~ msgstr "Započni razgovor sa razunom %s" + +#, fuzzy +#~ msgid "" +#~ "Fill in the nickname or the JID of the contact you would like\n" +#~ "to send a chat message to:" +#~ msgstr "" +#~ "Ispunite džaber ID kontakta kome želite\n" +#~ "poslati poruku:" + +#, fuzzy +#~ msgid "Nickname / JID" +#~ msgstr "Dupliraj Džaber ID" + +#~ msgid "Unable to parse \"%s\"." +#~ msgstr "Nije moguće razložiti \"%s\"." + +#~ msgid "Shows the chat dialog so that you can send messages to a contact" +#~ msgstr "" +#~ "Prikazuje dijalog razgovora kako biste mogli razgovarati sa kontaktom" + +#~ msgid "JID of the contact that you want to chat with" +#~ msgstr "Džaber ID kontakta sa kojim želite razgovarati" + +#~ msgid "message content. The account must be specified or \"\"" +#~ msgstr "sadržaj poruke. Nalog mora biti naznačen ili \"\"" + +#~ msgid "Adds contact to roster" +#~ msgstr "Dodaje kontakt na listu" + +#~ msgid "jid" +#~ msgstr "džid" + +#~ msgid "Adds new contact to this account" +#~ msgstr "Dodaje novi kontakt ovom računu" + +#~ msgid "Opens 'Start Chat' dialog" +#~ msgstr "Otvara dijalog za započinjanje razgovora" + +#~ msgid "Starts chat, using this account" +#~ msgstr "Započinje razgovor, koristeći ovaj nalog" + +#, fuzzy +#~ msgid "Handle a xmpp:/ URI" +#~ msgstr "Upravlja xmpp:/ uri-jem" + +#~ msgid "URI to handle" +#~ msgstr "URI za upravljanje" + +#~ msgid "Account in which you want to handle it" +#~ msgstr "Nalog u kome želite da upravljate njime" + +#~ msgid "Message content" +#~ msgstr "Sadržaj poruke" + +#~ msgid "Join a MUC room" +#~ msgstr "Pridruži se novoj sobi" + +#~ msgid "Nickname to use" +#~ msgstr "Nadimak za korišćenje" + +#~ msgid "Password to enter the room" +#~ msgstr "Lozinka za ulazak u sobu" + +#~ msgid "Account from which you want to enter the room" +#~ msgstr "Nalog sa koga želite da uđete u sobu" + +#, fuzzy +#~ msgid "Wrong URI" +#~ msgstr "Loš uri" + +#~ msgid "Nickname:" +#~ msgstr "Nadimak:" + +#~ msgid "Server:" +#~ msgstr "Server:" + +#, fuzzy +#~ msgid "Join this room _automatically when I connect" +#~ msgstr "Uđi u ovu sobu automatski kada se povežem" + +#, fuzzy +#~ msgid "Bro_wse Rooms" +#~ msgstr "_Pregled" + +#, fuzzy +#~ msgid "Requires libgtkspell and libenchant." +#~ msgstr "Zahteva libgtkspell." + +#, fuzzy +#~ msgid "Network-Watcher" +#~ msgstr "Network-manager" + +#~ msgid "Autodetection of network status." +#~ msgstr "Autodetekcija statusa mreže." + +#, fuzzy +#~ msgid "Requires gnome-network-manager" +#~ msgstr "Zahteva gnome-network-manager i python-dbus." + +#, fuzzy +#~ msgid "Feature not available, see Help->Features" +#~ msgstr "Mogućnost nije dostupna pod Vindouz sistemom." + +#~ msgid "This contact does not support file transfer." +#~ msgstr "Ovak kontakt ne podržava prenos datoteka." + +#, fuzzy +#~ msgid "You need to know the real JID of the contact to send them a file." +#~ msgstr "" +#~ "Morate znati pravi džaber ID kontakta da biste mu/joj poslali datoteku." + +#~ msgid "" +#~ "You have to install %s dictionary to use spellchecking, or choose another " +#~ "language by setting the speller_language option." +#~ msgstr "" +#~ "Morate instalirati %s rečnik kako biste mogli koristiti proveru " +#~ "pravopisa, ili odaberite drugi jezik postavkom speller_language opcije." + +#~ msgid "Hides the buttons in chat windows." +#~ msgstr "Sakriva dugmad u prozorima razgovora." + +#~ msgid "Change the room's subject (Alt+T)" +#~ msgstr "Promeni temu sobe (Alt+T)" + +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "_Markiraj ovu sobu (Ctrl+B)" + +#~ msgid "Browse the chat history (Ctrl+H)" +#~ msgstr "Pregledaj istorijat razgovora (Ctrl+H)" + +#, fuzzy +#~ msgid "Show advanced functions (Alt+D)" +#~ msgstr "Prikaži meni naprednih funkcija (Alt+A)" + +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "Dodaj ovaj kontakt na listu (Ctrl+D)" + +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "Pozovi kontakte u konverzaciju (Ctrl+G)" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Prikaži profil kontakta (Ctrl+I)" + +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Prikaži profil kontakta (Ctrl+I)" + +#~ msgid "Ma_ke message windows compact" +#~ msgstr "Načini prozor poruke kompaktnim" + +#~ msgid "Hide all buttons in chat windows" +#~ msgstr "Sakrij svu dugmad u prozoru razgovora" + +#, fuzzy +#~ msgid "Hide the chat buttons" +#~ msgstr "Način korišćenja: /%s, sakriva dugmad." + +#~ msgid "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." +#~ msgstr "" +#~ "Ako je istinito, Gajim će poslati upit za avatar za svaki kontakt koji " +#~ "prošlog puta nije imao avatar ili je onaj u memoriji prestar" + +#~ msgid "Disk Write Error" +#~ msgstr "Greška pri upisu na disk" + +#~ msgid "Set Custom _Avatar..." +#~ msgstr "Postavi korisnički definisan avatar..." + +#, fuzzy +#~ msgid "SSL certificate validation" +#~ msgstr "Validacija SSL sertifikata" + +#~ msgid "" +#~ "A library used to validate server certificates to ensure a secure " +#~ "connection." +#~ msgstr "" +#~ "Biblioteka koja se koristi da proveri sertifikate servera i osigura " +#~ "sigurnu vezu." + +#, fuzzy +#~ msgid "Requires python-pyopenssl > 0.12 and pyasn1." +#~ msgstr "Zahteva python-pyopenssl." + +#, fuzzy +#~ msgid "?CLI:room" +#~ msgstr "soba" + +#, fuzzy +#~ msgid "?CLI:nick" +#~ msgstr "nadimak" + +#, fuzzy +#~ msgid "?CLI:password" +#~ msgstr "lozinka" + +#~ msgid "Use D-Bus and Notification-Daemon to show notifications" +#~ msgstr "Koristi DBus i demon obaveštenja za prikazivanje obaveštenja" + +#~ msgid "Notification" +#~ msgstr "Obaveštenje" + +#~ msgid "Passive popups notifying for new events." +#~ msgstr "Pasivna iskačuća obaveštenja o novim događajima." + +#~ msgid "" +#~ "Requires python-notify or instead python-dbus in conjunction with " +#~ "notification-daemon." +#~ msgstr "" +#~ "Zahteva python-notify ili, umesto toga python-dbus u sprezi sa " +#~ "notification-daemon." + +#~ msgid "Ignore" +#~ msgstr "Ignoriši" + +#~ msgid "_Open Gmail Inbox" +#~ msgstr "_Otvori Gmail dolaznu poštu" + +#~ msgid "Notify on new _GMail email" +#~ msgstr "Obavesti me o novopristigloj Gmail e-mejl pošti" + +#~ msgid "" +#~ "If checked, Gajim will show a notification when a new e-mail is received " +#~ "via GMail" +#~ msgstr "" +#~ "Ako je označena, Gajim će prikazati poruku kada se primi novi e-mejl " +#~ "preko GMail-amejlova" + +#~ msgid "Display _extra email details" +#~ msgstr "Prikaži dodatne e-mejl detalje" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will also include information about the sender of new " +#~ "emails" +#~ msgstr "" +#~ "Ako je označena, Gajim će ujedno uključiti i informacije o pošiljaocu " +#~ "novih e-mejlova" + +#~ msgid "GMail Options" +#~ msgstr "Gmail Opcije" + +#, fuzzy +#~ msgid "20" +#~ msgstr "O" + +#, fuzzy +#~ msgid "Invited %s to %s" +#~ msgstr "Pošalji %s za %s" + +#~ msgid "GMail Email Received" +#~ msgstr "Primljen Gmail e-mejl" + +#, fuzzy +#~ msgid "New e-mail on %(gmail_mail_address)s" +#~ msgstr "Novi e-mejl za %(gmail_mail_address)s" + +#, fuzzy +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "Imate %d novi e-mejl razgovor" +#~ msgstr[1] "Imate %d nova e-mejl razgovora" +#~ msgstr[2] "Imate %d novih e-mejl razgovora" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "From: %(from_address)s\n" +#~ "Subject: %(subject)s\n" +#~ "%(snippet)s" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "Od: %(from_address)s\n" +#~ "Tema: %(subject)s\n" +#~ "%(snippet)s" + +#~ msgid "Resour_ce:" +#~ msgstr "Resur_s:" + +#~ msgid "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" +#~ msgstr "" +#~ "Resurs se šalje Džaber serveru kako bi se razlikovao isti džaber ID kod 2 " +#~ "ili više klijenata spojena u isto vreme na isti server sa istim računom. " +#~ "Dakle, možete biti spojeni sa resursom 'Posao' ili 'Kuća', klijent sa " +#~ "najvišim prioritetom će dobijati obaveštenja o događajima" + +#~ msgid "A_djust to status" +#~ msgstr "Po_desi prema statusu" + +#~ msgid "Priority will change automatically according to your status." +#~ msgstr "Prioritet će biti automatski promenjen prema Vašem statusu." + +#~ msgid "Anonymous authentication" +#~ msgstr "Anonimno prijavljivanje" + +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "Prioritet se u džaberu koristi da odredi ko dobija događaje sa servera u " +#~ "slučaju da su dva ili više klijenata povezana na njega; klijent sa " +#~ "najvećim prioritetomdobija događaje" + +#, fuzzy +#~ msgid "Synchronize contacts" +#~ msgstr "Sinhronizuj kontakte" + +#~ msgid "Click to request authorization to all contacts of another account" +#~ msgstr "Kliknite da zatražite autorizaciju svim kontaktima drugog naloga" + +#~ msgid "Chan_ge Password" +#~ msgstr "I_zmeni lozinku" + +#~ msgid "Administration operations" +#~ msgstr "Administratorske operacije" + +#, fuzzy +#~ msgid "Browse..." +#~ msgstr "_Pregled" + +#, fuzzy +#~ msgid "Certificate is e_ncrypted" +#~ msgstr "Sertifikat odbačen" + +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "" +#~ "Ako je ovo označeno, Gajim će se pri svakom pokretanju automatski " +#~ "povezati na džaber koristeći ovaj nalog" + +#, fuzzy +#~ msgid "Synchronize logs with server" +#~ msgstr "Sinhronizuj kontakte" + +#~ msgid "Synch_ronize account status with global status" +#~ msgstr "Sinhroniziraj status naloga sa globalnim statusom" + +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "Ako je ovo označeno, svaka promena globalnog statusa (koji se menja iz " +#~ "padajućeg menija na dnu prozora kontakt liste) će promeniti i status ovog " +#~ "naloga " + +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "Ako je ovo označeno, Gajim će odašiljati još neke IP adrese pored Vaše," +#~ "tako da prenos datoteka ima veće šanse da će raditi." + +#~ msgid "Proxy" +#~ msgstr "Proksi" + +#~ msgid "" +#~ "Check this so Gajim will ask you before sending your password over an " +#~ "insecure connection." +#~ msgstr "" +#~ "Označite ovo da Vas Gajim pita pre nego što pošaljete lozinku preko " +#~ "nesigurne veze." + +#~ msgid "Send _keep-alive packets" +#~ msgstr "Šalji podat_ke o živosti" + +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "" +#~ "Ako je ovo označeno, Gajim će slati poruke da je prisutan kako bi sprečio " +#~ "prekid veze zbog duge neaktivnosti" + +#~ msgid "Use cust_om hostname/port" +#~ msgstr "K_oristi Vaše određeno ime hosta/port " + +#~ msgid "_Hostname: " +#~ msgstr "Ime _hosta:" + +#~ msgid "_Port: " +#~ msgstr "_Port:" + +#~ msgid "Choose _Key..." +#~ msgstr "Odaberite _Ključ" + +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "Ako je označeno, Gajim će uzeti lozinku od GPG agenta" + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#~ msgid "_Edit Personal Information..." +#~ msgstr "Izm_eni lične informacije..." + +#~ msgid "Personal Information" +#~ msgstr "Lične informacije" + +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "Po_veži se prilikom pokretanja Gajima" + +#~ msgid "Synchroni_ze account status with global status" +#~ msgstr "Sinhroni_zuj status naloga sa globalnim statusom" + +#~ msgid "Use cust_om port:" +#~ msgstr "K_oristi svoj port:" + +#~ msgid "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." +#~ msgstr "" +#~ "Ako je podrazumevani port koji se koristi za dolazne poruke " +#~ "neodgovarajući za Vaša podešavanja, ovde možete odabrati neki drugi.\n" +#~ "Mogli biste uzeti u obzir i mogućnost izmene podešavanja firewall-a." + +#~ msgid "OpenPGP is not usable on this computer" +#~ msgstr "OpenPGP nije moguće koristiti na ovom računaru" + +#~ msgid "To change the account name, you must be disconnected." +#~ msgstr "Za promenu imena naloga, morate otići sa veze." + +#~ msgid "To change the account name, you must read all pending events." +#~ msgstr "" +#~ "Da biste promenili ime naloga, morate prvo pročitati sve događaje na " +#~ "čekanju." + +#~ msgid "Account Name Already Used" +#~ msgstr "Ime Naloga Već U Upotrebi" + +#~ msgid "" +#~ "This name is already used by another of your accounts. Please choose " +#~ "another name." +#~ msgstr "" +#~ "Ovo ime već koristi jedan od Vaših naloga. Molimo Vas, odaberite drugo " +#~ "ime." + +#~ msgid "Account name cannot be empty." +#~ msgstr "Ime naloga ne može biti prazno." + +#~ msgid "Account name cannot contain spaces." +#~ msgstr "Ime naloga ne može da sadrži beline." + +#~ msgid "Enter a new name for account %s" +#~ msgstr "Unesite novo ime za nalog%s" + +#, fuzzy +#~ msgid "A JID must be in the form \"user@servername\"." +#~ msgstr "Džaber ID mora biti oblika \"korisnik@server\"." + +#~ msgid "No such account available" +#~ msgstr "Nije dostupan takav nalog" + +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "Morate napraviti Vaš nalog pre izmena ličnih informacija." + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "Bez veze sa serverom, nije moguća izmena ličnih informacija." + +#~ msgid "Your server can't save your personal information." +#~ msgstr "Vaš server ne može da sačuva Vaše lične informacije." + +#~ msgid "Please rename or remove it before enabling link-local messaging." +#~ msgstr "" +#~ "Molimo Vas, preimenujte ili uklonite pre omogućavanja lokalnih poruka." + +#~ msgid "THANKS:" +#~ msgstr "ZAHVALNICE:" + +#~ msgid "Could not write to %s. Session Management support will not work" +#~ msgstr "Nije moguće pisati u %s. Upravljanje sesijama neće biti moguće" + +#~ msgid "Jabber Traffic" +#~ msgstr "Džaber saobraćaj" + +#~ msgid "_Enable" +#~ msgstr "_Omogući" + +#, fuzzy +#~ msgid "Filter" +#~ msgstr "Font" + +#~ msgid "_IQ" +#~ msgstr "_IU" + +#~ msgid "Info/Query" +#~ msgstr "Info/Upit" + +#~ msgid "XML Input" +#~ msgstr "XML Unos" + +#~ msgid "XML Console for %s" +#~ msgstr "XML Konzola za %s" + +#, fuzzy +#~ msgid "Idle for:" +#~ msgstr "XML Konzola za %s" + +#, fuzzy +#~ msgid "" +#~ "Request offline status messages from all contacts upon connecting. " +#~ "WARNING: This causes a lot of requests to be sent!" +#~ msgstr "" +#~ "Pitaj za statusne poruke van veze za sve kontakte koji nisu na vezi kada " +#~ "se uspostavi veza sa nalogom. UPOZORENJE: ovo će poslati mnogo zahteva " +#~ "serveru!" + +#~ msgid "Last status: %s" +#~ msgstr "Poslednji status: %s" + +#~ msgid " since %s" +#~ msgstr " od %s" + +#~ msgid "since %s" +#~ msgstr "od %s" + +#, fuzzy +#~ msgid "Auto" +#~ msgstr "Automatsko povezivanje" + +#, fuzzy +#~ msgid "otr" +#~ msgstr "Naložen" + +#, fuzzy +#~ msgid "Invalid expire value" +#~ msgstr "Neispravano ime servera" + +#, fuzzy +#~ msgid "There is an error" +#~ msgstr "Servis je vratio grešku." + +#~ msgid "How many minutes should last lines from previous conversation last." +#~ msgstr "Koliko minuta da traju linije prethodnog razgovora." + +#~ msgid "" +#~ "Your configured emoticons theme cannot been loaded. You maybe need to " +#~ "update the format of emoticons.py file. See http://trac.gajim.org/wiki/" +#~ "Emoticons for more details." +#~ msgstr "" +#~ "Vaša tema za smajlije ne može da se učita. Možda treba da unapredite " +#~ "format emoticons.py datoteke. Pogledajte http://trac.gajim.org/wiki/" +#~ "Emoticons za više detalja." + +#~ msgid "You will be connected to %s without OpenPGP." +#~ msgstr "Povezaćete se na %s bez OpenPGP ključa." + +#~ msgid "The following message was NOT encrypted" +#~ msgstr "Sledeća poruka NIJE bila šifrovana" + +#~ msgid "Toggle Open_PGP Encryption" +#~ msgstr "Uključi/isključi Open_PGP enkripciju" + +#~ msgid "Toggle End to End Encryption" +#~ msgstr "Uključi/isključi enkripciju s kraja na kraj" + +#, fuzzy +#~ msgid "OpenPGP encryption enabled" +#~ msgstr "GPG enkripcija omogućena" + +#, fuzzy +#~ msgid "No OpenPGP key assigned" +#~ msgstr "Nema dodeljenog GPG ključa" + +#, fuzzy +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages with OpenPGP." +#~ msgstr "" +#~ "Nijedan GPG ključ nije dodaljen ovom kontaktu. Ne možete šifrovati poruke " +#~ "sa GPG-om." + +#~ msgid "Session WILL be logged" +#~ msgstr "Sesija ĆE biti pamćena" + +#~ msgid "Session WILL NOT be logged" +#~ msgstr "Sesija NEĆE biti pamćena" + +#~ msgid "is" +#~ msgstr "je" + +#~ msgid "is NOT" +#~ msgstr "NIJE" + +#~ msgid "will" +#~ msgstr "će" + +#~ msgid "will NOT" +#~ msgstr "NEĆE" + +#~ msgid "The following message was encrypted" +#~ msgstr "Sledeća poruka je bila šifrovana" + +#, fuzzy +#~ msgid "Toggle the OpenPGP encryption" +#~ msgstr "Uključi/isključi Open_PGP enkripciju" + +#~ msgid "" +#~ "Should Gajim automatically start an encrypted session with this contact " +#~ "when possible?" +#~ msgstr "" +#~ "Da li Gajim treba automatski da započne šifrovanu vezu sa ovim kontaktom " +#~ "kada je moguće?" + +#~ msgid "Neither the remote presence is signed, nor a key was assigned." +#~ msgstr "Niti je udaljeno prisustvo potpisano, niti je ključ dodeljen." + +#~ msgid "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "Ključ kontakta (%s) ne poklapa se sa ključem pridruženim u Gajimu." + +#~ msgid "[This message is *encrypted* (See :XEP:`27`]" +#~ msgstr "[Ova poruka je *šifrovana* (Pogledajte :XEP:`27`]" + +#~ msgid "" +#~ "Your chat session with %(jid)s is encrypted.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "Vaša sesija razgovora sa %(jid)s je šifrovana.\n" +#~ "\n" +#~ "Kratka Autentikaciona Niska ove sesije je: %(sas)s." + +#~ msgid "You have already verified this contact's identity." +#~ msgstr "Već ste potvrdili identitet ovog kontakta." + +#~ msgid "Contact's identity verified" +#~ msgstr "Identitet kontakta potvrđen" + +#~ msgid "" +#~ "To be certain that only the expected person can read your messages " +#~ "or send you messages, you need to verify their identity by clicking the " +#~ "button below." +#~ msgstr "" +#~ "Da biste bili sigurni da samo očekivane osobe mogu da čitaju Vaše " +#~ "poruke ili da Vam šalju poruke, morate potvrditi njihov identitet " +#~ "klikajući dugme ispod." + +#~ msgid "Contact's identity NOT verified" +#~ msgstr "Identitet kontakta NIJE potvrđen" + +#, fuzzy +#~ msgid "Verify…" +#~ msgstr "_Potvrdi" + +#~ msgid "Have you verified the contact's identity?" +#~ msgstr "Da li ste proverili identitet kontakta?" + +#~ msgid "" +#~ "To prevent talking to an unknown person, you should speak to %(jid)s directly (in person or on the phone) and verify that they see the same " +#~ "Short Authentication String (SAS) as you.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "Da bi ste sprečili razgovor sa nepoznatom osobom, treba da razgovarate " +#~ "direktno sa %(jid)s (u četiri oka ili preko telefona) i da " +#~ "proverite da li i on ima istu kratku Autentikacionu nisku kao vi.\n" +#~ "Kratka Autentikaciona Niska ove sesije: %(sas)s." + +#~ msgid "Did you talk to the remote contact and verify the SAS?" +#~ msgstr "Da li ste razgovarali sa kontaktom i potvrdili KAN?" + +#~ msgid "" +#~ "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "" +#~ "Ključ kontakta (%s) ne poklapa se sa ključem pridruženim u Gajimu." + +#, fuzzy +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages." +#~ msgstr "" +#~ "Nijedan GPG ključ nije dodeljen kontaktu. Ne možete mu slati šifrovane " +#~ "poruke." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP key is assigned to this contact, but you do not trust their " +#~ "key, so message cannot be encrypted. Use your OpenPGP client " +#~ "to trust their key." +#~ msgstr "" +#~ "GPG ključ je dodeljen kontaktu, ali Vi ne verujete ovom ključu, " +#~ "tako da poruke ne mogu biti šifrovane. Upotrebite Vašeg GPG " +#~ "klijenta da date poverenje ovom ključu." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP Key is assigned to this contact, and you trust their key, so " +#~ "messages will be encrypted." +#~ msgstr "" +#~ "GPG ključ je dodeljen ovom kontaktu i Vi verujete ovom ključu tako da će " +#~ "poruke biti šifrovane." + +#~ msgid "" +#~ "This icon indicates that this message has not yet\n" +#~ "been received by the remote end. If this icon stays\n" +#~ "for a long time, it's likely the message got lost." +#~ msgstr "" +#~ "Ova ikona označava da ova poruka nije još\n" +#~ "stigla na drugi kraj. Ako ova ikona ostane ovako \n" +#~ "dugo vremena, verovatno je da se poruka izgubila." + +#~ msgid "" +#~ "If True, listen to D-Bus signals from NetworkManager and change the " +#~ "status of accounts (provided they do not have listen_to_network_manager " +#~ "set to False and they sync with global status) based upon the status of " +#~ "the network connection." +#~ msgstr "" +#~ "Ako je istinit, osluškuj D-Bus signale iz Menadžera Mreže i promeni " +#~ "status računa (ako nemaju listen_to_network_manager postavljen na " +#~ "neistinito i sinhronizuj sa globalnim statusom) u zavisnosti od statusa " +#~ "mrežne konekcije." + +#~ msgid "" +#~ "The database file (%s) cannot be read. Try to repair it or remove it (all " +#~ "history will be lost)." +#~ msgstr "" +#~ "Datoteka baze podataka (%s) se ne može čitati. Pokušajte da je popravite " +#~ "ili uklonite (sav istorijat poruka će biti izgubljen)." + +#~ msgid "Database cannot be read." +#~ msgstr "Baza podataka ne može da se pročita." + +#~ msgid "A message from a non-valid JID arrived, it has been ignored." +#~ msgstr "Poruka od neispravnog džaber ID-a, ignorisana je." + +#~ msgid "Smooth scroll message in conversation window" +#~ msgstr "Glatko skrolovanje u prozoru razgovora" + +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "Izmeni liste _privatnosti..." + +#~ msgid "_Administrator" +#~ msgstr "_Administrator" + +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "Šalje poruku trenutno povezanim korisnicima ovog servera" + +#~ msgid "Sets Message of the Day" +#~ msgstr "Postavlja poruku dana" + +#~ msgid "Updates Message of the Day" +#~ msgstr "Osvežava poruku dana" + +#~ msgid "Deletes Message of the Day" +#~ msgstr "Briše poruku dana" + +#~ msgid "Add _Contact..." +#~ msgstr "_Dodaj kontakt..." + +#~ msgid "Profile, A_vatar" +#~ msgstr "Profil, A_vatar" + +#~ msgid "File _Transfers" +#~ msgstr "Prenosi da_toteka" + +#~ msgid "Help online" +#~ msgstr "Pomoć sa interneta" + +#~ msgid "Frequently Asked Questions (online)" +#~ msgstr "Često postavljana pitanja (internet)" + +#~ msgid "Fea_tures" +#~ msgstr "_Mogućnosti" + +#~ msgid "to %s account" +#~ msgstr "na %s nalog" + +#~ msgid "using %s account" +#~ msgstr "koristeći %s račun" + +#~ msgid "of account %s" +#~ msgstr "naloga %s" + +#~ msgid "for account %s" +#~ msgstr "za nalog %s" + +#~ msgid "" +#~ "By removing this contact you also remove authorization resulting in him " +#~ "or her always seeing you as offline." +#~ msgstr "" +#~ "Uklanjanjem ovog kontakta ujedno uklanjate i odobrenje što znači da će " +#~ "Vas ta osoba uvek videti kao da niste na vezi." + +#~ msgid "Message Body xmpp.org/getting-started" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:646 +#, fuzzy +msgid "_Please choose a server" +msgstr "Skapa ett nytt, tomt tema med ditt önskade namn." + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "" + +#: gajim/data/gui/application_menu.ui:8 +#, fuzzy +msgid "_Start / Join Chat…" +msgstr "Starta Chatt" + +#: gajim/data/gui/application_menu.ui:13 +#, fuzzy +msgid "Create _Group Chat…" +msgstr "Lämna gruppchattar" + +#: gajim/data/gui/application_menu.ui:18 +#, fuzzy +msgid "_History Manager" +msgstr "Historikhanterare" + +#: gajim/data/gui/application_menu.ui:22 +#, fuzzy +msgid "Pl_ugins" +msgstr "Registreringen misslyckades" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +#, fuzzy +msgid "_Preferences" +msgstr "Inställningar" + +#: gajim/data/gui/application_menu.ui:36 +#, fuzzy +msgid "_Accounts" +msgstr "Konton" + +#: gajim/data/gui/application_menu.ui:39 +#, fuzzy +msgid "_View" +msgstr "_Visa" + +#: gajim/data/gui/application_menu.ui:46 +#, fuzzy +msgid "Show _Offline Contacts" +msgstr "Visa frånkopplade _kontakter" + +#: gajim/data/gui/application_menu.ui:50 +#, fuzzy +msgid "Show _Active Contacts" +msgstr "Visa endast _aktiva kontakter" + +#: gajim/data/gui/application_menu.ui:54 +#, fuzzy +msgid "Show _Transports" +msgstr "Visa _transporter" + +#: gajim/data/gui/application_menu.ui:60 +#, fuzzy +msgid "_XML Console" +msgstr "XML-konsol" + +#: gajim/data/gui/application_menu.ui:64 +#, fuzzy +msgid "_File Transfer" +msgstr "Filöverföringar" + +#: gajim/data/gui/application_menu.ui:74 +#, fuzzy +msgid "_Help" +msgstr "_Hjälp" + +#: gajim/data/gui/application_menu.ui:77 +#, fuzzy +msgid "_Wiki (Online)" +msgstr "Ansluten" + +#: gajim/data/gui/application_menu.ui:81 +#, fuzzy +msgid "FA_Q (Online)" +msgstr "Ansluten" + +#: gajim/data/gui/application_menu.ui:85 +msgid "_Keyboard Shortcuts" +msgstr "" + +#: gajim/data/gui/application_menu.ui:89 +#, fuzzy +msgid "_Features" +msgstr "Funktioner" + +#: gajim/data/gui/application_menu.ui:93 +#, fuzzy +msgid "_About" +msgstr "Om" + +#: gajim/data/gui/filetransfer_progress.ui:125 +msgid "Speed" +msgstr "" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +#, fuzzy +msgid "OK" +msgstr "_OK" + +#: gajim/data/gui/plugins_window.ui:55 +msgid "Install Plugin from ZIP-File" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:56 +msgid "Install from File…" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:70 +#, fuzzy +msgid "Uninstall Plugin" +msgstr "Avstannad" + +#: gajim/data/gui/plugins_window.ui:116 +#, fuzzy +msgid "" +msgstr "Registreringen misslyckades" + +#: gajim/data/gui/plugins_window.ui:133 +#, fuzzy +msgid "Plugin Settings" +msgstr "Registreringen misslyckades" + +#: gajim/data/gui/plugins_window.ui:215 +#, fuzzy +msgid "" +msgstr "Beskrivning" + +#: gajim/data/gui/plugins_window.ui:239 +#, fuzzy +msgid "Version" +msgstr "GTK+ version:" + +#: gajim/data/gui/plugins_window.ui:271 +#, fuzzy +msgid "Authors" +msgstr "Au_ktorisera" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +#, fuzzy +msgid "Homepage" +msgstr "Webbplats:" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:349 +#, fuzzy +msgid "Installed" +msgstr "Avstannad" + +#: gajim/data/gui/plugins_window.ui:363 +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +msgid "Synchronise contacts" +msgstr "Synkronisera kontakter" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "Välj kontot med vilket du vill synkronisera" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +#, fuzzy +msgid "_Name" +msgstr "_Namn:" + +#: gajim/data/gui/groupchat_creation.ui:122 +#, fuzzy +msgid "_Description" +msgstr "Beskrivning" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +#, fuzzy +msgid "_Address" +msgstr "_Adress:" + +#: gajim/data/gui/groupchat_creation.ui:278 +#, fuzzy +msgid "_Account" +msgstr "K_onton" + +#: gajim/data/gui/profile.ui:33 +#, fuzzy +msgid "Contact Infos" +msgstr "Kontakt_info" + +#: gajim/data/gui/profile.ui:45 +#, fuzzy +msgid "Picture and Name" +msgstr "Smeknamn att använda" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "" + +#: gajim/data/gui/profile.ui:198 +#, fuzzy +msgid "Change your profile picture" +msgstr "Ändra ditt smeknamn (Ctrl+N)" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:298 +#, fuzzy +msgid "Add Entry" +msgstr "Proxyserver:" + +#: gajim/data/gui/profile.ui:410 +#, fuzzy +msgid "Update" +msgstr "Uppdatera MOTD..." + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:15 +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:65 +#, fuzzy +msgid "Add Proxy" +msgstr "Proxyserver:" + +#: gajim/data/gui/manage_proxies.ui:79 +#, fuzzy +msgid "Remove Proxy" +msgstr "Ta bort grupp" + +#: gajim/data/gui/manage_proxies.ui:131 +#, fuzzy +msgid "Pass_word" +msgstr "Lösen_ord:" + +#: gajim/data/gui/manage_proxies.ui:156 +msgid "Use proxy auth_entication" +msgstr "Använd autentiser_ing för proxyserver" + +#: gajim/data/gui/manage_proxies.ui:176 +#, fuzzy +msgid "_Username" +msgstr "_Användarnamn:" + +#: gajim/data/gui/manage_proxies.ui:237 +#, fuzzy +msgid "_Host" +msgstr "_Värd:" + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "Lokal JID:" + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "Resurs:" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "Status:" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +#, fuzzy +msgid "_Store conversation history" +msgstr "_Logga konversationshistorik" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +msgid "Contact" +msgstr "Kontakt" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +msgid "First Name:" +msgstr "Förnamn:" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +msgid "Last Name:" +msgstr "Efternamn:" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +#, fuzzy +msgid "XMPP Address:" +msgstr "AIM-adress:" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "E-post:" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +msgid "Personal" +msgstr "Personlig" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "_Status" + +#: gajim/data/gui/account_context_menu.ui:20 +msgid "_Personal Events" +msgstr "_Personliga händelser" + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "_Lägg till kontakt..." + +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "_Upptäck tjänster" + +#: gajim/data/gui/account_context_menu.ui:57 +msgid "_Execute Command..." +msgstr "_Kör kommando..." + +#: gajim/data/gui/account_context_menu.ui:65 +#, fuzzy +msgid "_View Server Info" +msgstr "Server" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:125 +#, fuzzy +msgid "Global Group Chat Search" +msgstr "Gå in i gruppchatt" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +#, fuzzy +msgid "_Back" +msgstr "Snart tillbaka" + +#: gajim/data/gui/start_chat_dialog.ui:386 +#, fuzzy +msgid "Select Account" +msgstr "Tar bort %s konto" + +#: gajim/data/gui/start_chat_dialog.ui:477 +msgid "_Select" +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +#, fuzzy +msgid "Configure" +msgstr "_Konfigurera" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +msgid "Create new post" +msgstr "Skapa ny post" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "Sta_tus" + +#: gajim/data/gui/systray_context_menu.ui:20 +msgid "_Start Chat..." +msgstr "_Starta chatt..." + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "Skicka ett _meddelande" + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "Visa alla väntande _händelser" + +#: gajim/data/gui/systray_context_menu.ui:52 +msgid "Mute Sounds" +msgstr "Inga ljud" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +#, fuzzy +msgid "Contact List" +msgstr "Kontakter" + +#: gajim/data/gui/shortcuts_window.ui:24 +#, fuzzy +msgid "Create new group chat" +msgstr "Lämna gruppchattar" + +#: gajim/data/gui/shortcuts_window.ui:45 +#, fuzzy +msgid "File transfers" +msgstr "Filöverföringar" + +#: gajim/data/gui/shortcuts_window.ui:52 +#, fuzzy +msgid "Set the status message" +msgstr "statusmeddelande" + +#: gajim/data/gui/shortcuts_window.ui:59 +#, fuzzy +msgid "Show XML console" +msgstr "Visa _XML-konsoll" + +#: gajim/data/gui/shortcuts_window.ui:74 +#, fuzzy +msgid "Appearance" +msgstr "Chattutseende" + +#: gajim/data/gui/shortcuts_window.ui:79 +#, fuzzy +msgid "Show offline contacts" +msgstr "Visa frånkopplade _kontakter" + +#: gajim/data/gui/shortcuts_window.ui:86 +#, fuzzy +msgid "Show only active contacts" +msgstr "Visa endast _aktiva kontakter" + +#: gajim/data/gui/shortcuts_window.ui:93 +msgid "Enable contact list filtering" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:100 +#, fuzzy +msgid "Show / hide contact list" +msgstr "Visa endast _aktiva kontakter" + +#: gajim/data/gui/shortcuts_window.ui:113 +#, fuzzy +msgid "Contact information" +msgstr "Kontaktinformation" + +#: gajim/data/gui/shortcuts_window.ui:120 +#, fuzzy +msgid "Rename contact" +msgstr "Byt namn på kontakt" + +#: gajim/data/gui/shortcuts_window.ui:127 +#, fuzzy +msgid "Delete contact" +msgstr "Bjud in _kontakter" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +msgid "Chat" +msgstr "Chatt" + +#: gajim/data/gui/shortcuts_window.ui:142 +#, fuzzy +msgid "Message composition" +msgstr "Meddelandeinnehåll" + +#: gajim/data/gui/shortcuts_window.ui:147 +#, fuzzy +msgid "Send the message" +msgstr "Skicka meddelande" + +#: gajim/data/gui/shortcuts_window.ui:154 +#, fuzzy +msgid "Add new line" +msgstr "Skapa ny post" + +#: gajim/data/gui/shortcuts_window.ui:161 +#, fuzzy +msgid "Select an emoji" +msgstr "Använd _känsloikoner" + +#: gajim/data/gui/shortcuts_window.ui:168 +#, fuzzy +msgid "Complete a command or a nickname" +msgstr "Skapa ett nytt, tomt tema med ditt önskade namn." + +#: gajim/data/gui/shortcuts_window.ui:175 +#, fuzzy +msgid "Previously sent message" +msgstr "Förvalda meddelanden:" + +#: gajim/data/gui/shortcuts_window.ui:182 +#, fuzzy +msgid "Next sent messages" +msgstr "Förvalda meddelanden:" + +#: gajim/data/gui/shortcuts_window.ui:189 +#, fuzzy +msgid "Quote previous message" +msgstr "Eller välj ett förinställt meddelande:" + +#: gajim/data/gui/shortcuts_window.ui:196 +#, fuzzy +msgid "Quote next message" +msgstr "Skicka meddelande" + +#: gajim/data/gui/shortcuts_window.ui:203 +#, fuzzy +msgid "Clear message entry" +msgstr "Meddelande skickat" + +#: gajim/data/gui/shortcuts_window.ui:211 +#, fuzzy +msgid "Recent history" +msgstr "Logghistorik" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:230 +#, fuzzy +msgid "Clear chat window" +msgstr "Användning: /%s, tömmer textfönstret." + +#: gajim/data/gui/shortcuts_window.ui:237 +#, fuzzy +msgid "Show chat history" +msgstr "Logghistorik" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:299 +msgid "Close chat" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:312 +#, fuzzy +msgid "Change Nickname" +msgstr "Byt smek_namn..." + +#: gajim/data/gui/chat_control.ui:48 +#, fuzzy +msgid "Drop files or contacts" +msgstr "Skicka fil till en kontakt" + +#: gajim/data/gui/chat_control.ui:80 +#, fuzzy +msgid "1" +msgstr "Typsnitt" + +#: gajim/data/gui/chat_control.ui:101 +#, fuzzy +msgid "2 abc" +msgstr "Typsnitt" + +#: gajim/data/gui/chat_control.ui:121 +#, fuzzy +msgid "3 def" +msgstr "Typsnitt" + +#: gajim/data/gui/chat_control.ui:141 +#, fuzzy +msgid "4 ghi" +msgstr "Typsnitt" + +#: gajim/data/gui/chat_control.ui:161 +#, fuzzy +msgid "5 jkl" +msgstr "Typsnitt" + +#: gajim/data/gui/chat_control.ui:181 +#, fuzzy +msgid "6 mno" +msgstr "Typsnitt" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "" + +#: gajim/data/gui/chat_control.ui:221 +#, fuzzy +msgid "8 tuv" +msgstr "Typsnitt" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "" + +#: gajim/data/gui/chat_control.ui:261 +#, fuzzy +msgid "*" +msgstr "Typsnitt" + +#: gajim/data/gui/chat_control.ui:281 +#, fuzzy +msgid "0" +msgstr "Typsnitt" + +#: gajim/data/gui/chat_control.ui:301 +#, fuzzy +msgid "#" +msgstr "Typsnitt" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "Starta _chatt" + +#: gajim/data/gui/contact_context_menu.ui:28 +msgid "Send _File..." +msgstr "Skicka _fil..." + +#: gajim/data/gui/contact_context_menu.ui:44 +msgid "Invite _Contacts" +msgstr "Bjud in _kontakter" + +#: gajim/data/gui/contact_context_menu.ui:58 +#, fuzzy +msgid "E_xecute Command..." +msgstr "Kör kommando..." + +#: gajim/data/gui/contact_context_menu.ui:67 +#, fuzzy +msgid "M_anage Contact" +msgstr "_Hantera kontakt" + +#: gajim/data/gui/contact_context_menu.ui:77 +msgid "_Rename..." +msgstr "Byt _namn..." + +#: gajim/data/gui/contact_context_menu.ui:84 +msgid "Edit _Groups..." +msgstr "Redigera _grupper..." + +#: gajim/data/gui/contact_context_menu.ui:92 +msgid "Add Special _Notification..." +msgstr "Lägg till speciell _notifiering..." + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "_Prenumeration" + +#: gajim/data/gui/contact_context_menu.ui:115 +#, fuzzy +msgid "_Allow contact to see my status" +msgstr "Tillåt _denna kontakt att se min status" + +#: gajim/data/gui/contact_context_menu.ui:123 +#, fuzzy +msgid "A_sk to see contact status" +msgstr "_Be om att få se hans/hennes status" + +#: gajim/data/gui/contact_context_menu.ui:131 +#, fuzzy +msgid "_Forbid contact to see my status" +msgstr "_Förbjud henne/honom att se min status" + +#: gajim/data/gui/contact_context_menu.ui:159 +msgid "_Unignore" +msgstr "A_vignorera" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "_Ignorera" + +#: gajim/data/gui/contact_context_menu.ui:174 +#, fuzzy +msgid "_Add to Contact List..." +msgstr "_Lägg till kontakt..." + +#: gajim/data/gui/single_message_window.ui:42 +#, fuzzy +msgid "_To" +msgstr "Till" + +#: gajim/data/gui/single_message_window.ui:71 +#, fuzzy +msgid "Su_bject" +msgstr "Ämne" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "" + +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "_Meddelande" + +#: gajim/data/gui/single_message_window.ui:144 +#, fuzzy +msgid "Characters typed: 0" +msgstr "Tecknet tillåts inte" + +#: gajim/data/gui/single_message_window.ui:189 +#, fuzzy +msgid "_From" +msgstr "Från" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "Skick_a" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "Skicka meddelande" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "_Svara" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "Svara på detta meddelande" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "_Skicka och stäng" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "Skicka meddelande och stäng fönster" + +#: gajim/data/gui/vcard_information_window.ui:106 +#, fuzzy +msgid "Client" +msgstr "Klient:" + +#: gajim/data/gui/vcard_information_window.ui:140 +#, fuzzy +msgid "Contact time" +msgstr "Kontaktnamn" + +#: gajim/data/gui/vcard_information_window.ui:240 +#, fuzzy +msgid "User avatar" +msgstr "Avatar:" + +#: gajim/data/gui/vcard_information_window.ui:255 +#, fuzzy +msgid "Configured avatar" +msgstr "Konfigurerad avatar:" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +#, fuzzy +msgid "Ask" +msgstr "Fråga:" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +#, fuzzy +msgid "Subscription" +msgstr "Prenumeration:" + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +#, fuzzy +msgid "Extra Address" +msgstr "Extra adress:" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +msgid "Address" +msgstr "Adress" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +#, fuzzy +msgid "E-Mail" +msgstr "E-post:" + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "Format: ÅÅÅÅ-MM-DD" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +#, fuzzy +msgid "Family" +msgstr "Efternamn:" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +#, fuzzy +msgid "Middle" +msgstr "Mellannamn:" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +#, fuzzy +msgid "Prefix" +msgstr "Prefix:" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +#, fuzzy +msgid "Given" +msgstr "Förnamn:" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +#, fuzzy +msgid "Suffix" +msgstr "Suffix:" + +#: gajim/data/gui/vcard_information_window.ui:958 +#, fuzzy +msgid "Name Details" +msgstr "Namn:" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "" + +#: gajim/data/gui/vcard_information_window.ui:1017 +msgid "Personal Info" +msgstr "Personlig info" + +#: gajim/data/gui/vcard_information_window.ui:1040 +#, fuzzy +msgid "Company" +msgstr "Företag:" + +#: gajim/data/gui/vcard_information_window.ui:1073 +#, fuzzy +msgid "Department" +msgstr "Avdelning:" + +#: gajim/data/gui/vcard_information_window.ui:1104 +#, fuzzy +msgid "Position" +msgstr "Position:" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "Roll" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "Om" + +#: gajim/data/gui/vcard_information_window.ui:1514 +msgid "Comments" +msgstr "Kommentarer" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "Redigera grupper" + +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "Lösenfras" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +#, fuzzy +msgid "Themes" +msgstr "Tema" + +#: gajim/data/gui/themes_window.ui:171 +#, fuzzy +msgid "Add Setting" +msgstr "Registreringen misslyckades" + +#: gajim/data/gui/themes_window.ui:204 +#, fuzzy +msgid "Add new Theme" +msgstr "Skapa ny post" + +#: gajim/data/gui/themes_window.ui:219 +#, fuzzy +msgid "Remove Theme" +msgstr "Aktiv" + +#: gajim/data/gui/bookmarks.ui:120 +#, fuzzy +msgid "Autojoin" +msgstr "Anslut automatiskt" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "" + +#: gajim/data/gui/preferences.ui:68 +#, fuzzy +msgid "Contact List Appearance" +msgstr "Kontakt loggade ut" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +msgid "Chats" +msgstr "Chattar" + +#: gajim/data/gui/preferences.ui:215 +#, fuzzy +msgid "Visual Notifications" +msgstr "Visuella notifieringar" + +#: gajim/data/gui/preferences.ui:243 +#, fuzzy +msgid "Sounds" +msgstr "Ljud" + +#: gajim/data/gui/preferences.ui:303 +#, fuzzy +msgid "Ask For Status Message on…" +msgstr "Fråga efter statusmeddelande när jag:" + +#: gajim/data/gui/preferences.ui:331 +#, fuzzy +msgid "Automatic Status Change" +msgstr "Automatisk status" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "" + +#: gajim/data/gui/preferences.ui:447 +#, fuzzy +msgid "Status Icon" +msgstr "Status_ikoner:" + +#: gajim/data/gui/preferences.ui:472 +msgid "Style" +msgstr "Stil" + +#: gajim/data/gui/preferences.ui:511 +#, fuzzy +msgid "Show _Features" +msgstr "Funktioner" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:632 +msgid "Audio" +msgstr "" + +#: gajim/data/gui/preferences.ui:660 +msgid "Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:698 +msgid "Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:735 +#, fuzzy +msgid "Miscellaneous" +msgstr "Diverse" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:821 +#, fuzzy +msgid "Advanced Configuration Editor… " +msgstr "Avancerad konfigurationsredigerare" + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "" + +#: gajim/data/gui/server_info.ui:50 +#, fuzzy +msgid "Server Software" +msgstr "Serverfunktioner" + +#: gajim/data/gui/server_info.ui:80 +#, fuzzy +msgid "Server Uptime" +msgstr "Servern svarade: %s" + +#: gajim/data/gui/server_info.ui:109 +#, fuzzy +msgid "Contact Addresses" +msgstr "Chattmeddelande:" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "" + +#: gajim/data/gui/server_info.ui:177 +#, fuzzy +msgid "Proxy Type" +msgstr "Proxyserver:" + +#: gajim/data/gui/server_info.ui:192 +#, fuzzy +msgid "No proxy used" +msgstr "Proxyserver:" + +#: gajim/data/gui/server_info.ui:202 +#, fuzzy +msgid "View _Certificate" +msgstr "Självsignerat certifikat" + +#: gajim/data/gui/server_info.ui:222 +#, fuzzy +msgid "Proxy Host" +msgstr "Proxyser_ver:" + +#: gajim/data/gui/server_info.ui:421 +#, fuzzy +msgid "Copy info to clipboard" +msgstr "_Kopiera länkplats" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:153 +#, fuzzy +msgid "Serial Number" +msgstr "GG-nummer:" + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:304 +msgid "Expires on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:465 +#, fuzzy +msgid "Copy Certificate Information" +msgstr "Kontaktinformation" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "Bjud in vänner!" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +#, fuzzy +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "" +"Du är på väg att påbörja en fleranvändarchatt.\n" +"Välj kontakterna som du vill bjuda in" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +#, fuzzy +msgid "Please select a group chat server." +msgstr "Välj en MUC-server." + +#: gajim/data/gui/chat_to_muc_window.ui:141 +#, fuzzy +msgid "Group chat server" +msgstr "Gruppchattar" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +msgid "In_vite" +msgstr "Bjud _in" + +#: gajim/data/gui/mam_preferences.ui:53 +#, fuzzy +msgid "_Default" +msgstr "Standard" + +#: gajim/data/gui/mam_preferences.ui:136 +#, fuzzy +msgid "Archive" +msgstr "Filen är tom" + +#: gajim/data/gui/history_manager.ui:11 +#, fuzzy +msgid "_Export" +msgstr "Exportera" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +msgid "Gajim History Logs Manager" +msgstr "Gajims hanterare för historikloggar" + +#: gajim/data/gui/history_manager.ui:104 +#, fuzzy +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" +"Denna logghanterare är inte tänkt för loggvisning. Om du letar efter sådan " +"funktionalitet så bör du använda historikfönstret istället.\n" +"\n" +"Använd detta program för att ta bort eller exportera loggar. Du kan välja " +"loggar från vänstra sidan och/eller sökdatabasen nedan." + +#: gajim/data/gui/history_manager.ui:120 +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" +"VARNING:\n" +"Se till att Gajim inte är startat om du planerar att radera mycket. Undvik i " +"regel att radera för kontakter du just nu chattar med." + +#: gajim/data/gui/history_manager.ui:211 +#, fuzzy +msgid "Search database..." +msgstr "_Sök i databasen" + +#: gajim/data/gui/history_manager.ui:226 +#, fuzzy +msgid "Search in database" +msgstr "_Sök i databasen" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" + +#: gajim/data/gui/groupchat_invite.ui:69 +#, fuzzy +msgid "Invitees" +msgstr "Bjud _in" + +#: gajim/data/gui/groupchat_invite.ui:153 +#, fuzzy +msgid "Search contacts..." +msgstr "_Sök i databasen" + +#: gajim/data/gui/groupchat_invite.ui:223 +#, fuzzy +msgid "Click on contacts you would like to invite to this group chat." +msgstr "%(nick)s har tagits bort från rummet (%(reason)s)" + +#: gajim/data/gui/service_discovery_window.ui:148 +#, fuzzy +msgid "Go" +msgstr "G_å" + +#: gajim/data/gui/status_change_window.ui:27 +#, fuzzy +msgid "Change Status" +msgstr "Ändra status" + +#: gajim/data/gui/status_change_window.ui:56 +#, fuzzy +msgid "Status Presets…" +msgstr "Statusmeddelande" + +#: gajim/data/gui/status_change_window.ui:72 +msgid "Save this message as a preset" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:130 +#, fuzzy +msgid "Ac_tivity" +msgstr "Aktivitet" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:278 +#, fuzzy +msgid "_Change Status" +msgstr "Ändra status" + +#: gajim/data/gui/status_change_window.ui:313 +#, fuzzy +msgid "Activity" +msgstr "Aktivitet:" + +#: gajim/data/gui/status_change_window.ui:326 +#, fuzzy +msgid "_No Activity" +msgstr "Aktivitet:" + +#: gajim/data/gui/status_change_window.ui:729 +msgid "Mood" +msgstr "Humör" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +#, fuzzy +msgid "Author" +msgstr "Au_ktorisera" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +#, fuzzy +msgid "Group Chat Language" +msgstr "Inbjudan till Gruppchatt" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +#, fuzzy +msgid "Copy Address" +msgstr "_Kopiera JID/e-postadress" + +#: gajim/data/gui/emoji_chooser.ui:98 +#, fuzzy +msgid "No Results Found" +msgstr "Inga resultat" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr "XML-konsol" + +#: gajim/data/gui/xml_console.ui:131 +#, fuzzy +msgid "Start Search..." +msgstr "_Starta chatt..." + +#: gajim/data/gui/xml_console.ui:260 +#, fuzzy +msgid "Clear" +msgstr "Städar" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "" + +#: gajim/data/gui/xml_console.ui:316 +#, fuzzy +msgid "Presets" +msgstr "_Närvaro" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "Synkronisera : välj kontakter" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +msgid "Select the contacts you want to synchronise" +msgstr "Välj kontakterna som du vill synkronisera" + +#: gajim/data/gui/groupchat_config.ui:51 +#, fuzzy +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" +"Kan vara en av följande:\n" +"1. användare@domän/resurs (endast den resursen matchar).\n" +"2. användare@domän (alla resurser matchar).\n" +"3. domän/resurs (endast den resursen matchar).\n" +"4. domän (domänen i sig matchar, så gör även alla användare@domän,\n" +"domän/resurs eller adress som innehåller en underdomän)." + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:309 +#, fuzzy +msgid "Reserved Name" +msgstr "Inställningens namn" + +#: gajim/data/gui/groupchat_config.ui:346 +#, fuzzy +msgid "Affiliation" +msgstr "Anknytning: " + +#: gajim/data/gui/groupchat_config.ui:377 +#, fuzzy +msgid "Affiliations" +msgstr "Anknytning: " + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "Anledning" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "Bannlista" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "_Neka" + +#: gajim/data/gui/subscription_request_window.ui:34 +#, fuzzy +msgid "_Block User" +msgstr "_Blockera" + +#: gajim/data/gui/subscription_request_window.ui:49 +#, fuzzy +msgid "_Report as Spam" +msgstr "_Rapportera fel" + +#: gajim/data/gui/subscription_request_window.ui:212 +#, fuzzy +msgid "_Deny…" +msgstr "_Neka" + +#: gajim/data/gui/subscription_request_window.ui:225 +#, fuzzy +msgid "Ac_cept" +msgstr "Acceptera" + +#: gajim/data/gui/subscription_request_window.ui:230 +#, fuzzy +msgid "Allows the contact to see your online status" +msgstr "Tillåt _denna kontakt att se min status" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:115 +#, fuzzy +msgid "_Report Bug" +msgstr "_Rapportera fel" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "Händelse" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "Välj ljud" + +#: gajim/data/gui/manage_sounds.ui:97 +#, fuzzy +msgid "Clear Sound" +msgstr "Välj ljud" + +#: gajim/data/gui/manage_sounds.ui:118 +#, fuzzy +msgid "Play Sound" +msgstr "Spela _upp ljud" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +#, fuzzy +msgid "_Send Files" +msgstr "Skicka _fil" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +msgid "Send" +msgstr "Sänd" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +#, fuzzy +msgid "Files to send" +msgstr "Välj fil att skicka..." + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +#, fuzzy +msgid "Add Files" +msgstr "Fil: " + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +#, fuzzy +msgid "Remove Files" +msgstr "Ta _bort" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +#, fuzzy +msgid "Idle since:" +msgstr " sedan %s" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +msgid "Mood:" +msgstr "Humör:" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +msgid "Activity:" +msgstr "Aktivitet:" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +#, fuzzy +msgid "Tune:" +msgstr "Låt:" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +#, fuzzy +msgid "Location:" +msgstr "Notifiering" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +msgid "Subscription:" +msgstr "Prenumeration:" + +#: gajim/data/gui/advanced_configuration.ui:15 +#, fuzzy +msgid "A restart may be required for some settings to take effect" +msgstr "" +"OBSERVERA: Du bör starta om Gajim för att vissa inställningar ska bli " +"aktiva" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "" + +#: gajim/data/gui/advanced_configuration.ui:120 +#, fuzzy +msgid "_Reset Value" +msgstr "_Återställ till standardfärger" + +#: gajim/data/gui/advanced_configuration.ui:125 +#, fuzzy +msgid "Resets value to default" +msgstr "_Återställ till standardfärger" + +#: gajim/data/gui/history_window.ui:27 +#, fuzzy +msgid "Display status changes" +msgstr "_Logga statusändringar för kontakter" + +#: gajim/data/gui/history_window.ui:57 +msgid "History Manager" +msgstr "Historikhanterare" + +#: gajim/data/gui/history_window.ui:233 +#, fuzzy +msgid "Mode" +msgstr "Moderator" + +#: gajim/data/gui/history_window.ui:246 +#, fuzzy +msgid "Search complete history" +msgstr "Logghistorik" + +#: gajim/data/gui/history_window.ui:263 +msgid "Search selected day only" +msgstr "" + +#: gajim/data/gui/history_window.ui:317 +#, fuzzy +msgid "Store history for this chat" +msgstr "Ignorera detta fel med certifikatet." + +#: gajim/data/gui/history_window.ui:332 +#, fuzzy +msgid "Store History" +msgstr "Logghistorik" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +#, fuzzy +msgid "Identified Error" +msgstr "SSL-certifikatfel" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +#, fuzzy +msgid "" +msgstr "Fel." + +#: gajim/data/gui/ssl_error_dialog.ui:74 +#, fuzzy +msgid "Add this certificate to the list of _trusted certificates" +msgstr "" +"Lägg till detta certifikat till listan över pålitliga certifikat.\n" +"SHA1-fingeravtryck för certifikatet:\n" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +#, fuzzy +msgid "_View Certificate" +msgstr "Självsignerat certifikat" + +#: gajim/data/gui/ssl_error_dialog.ui:120 +#, fuzzy +msgid "_Connect" +msgstr "Ansluten" + +#: data/org.gajim.Gajim.desktop.in:5 +#, fuzzy +msgid "XMPP Chat Client" +msgstr "Jabber-snabbmeddelandeklient" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:8 +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:27 +#, fuzzy +msgid "Show next pending event" +msgstr "Visa alla väntande _händelser" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:17 +#, fuzzy +msgid "Features:" +msgstr "Funktioner" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +#, fuzzy +msgid "Automatic spell-checking for your messages" +msgstr "Stavningskontrollerar meddelanden." + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +#, fuzzy +msgid "Support for service discovery including nodes and search for users" +msgstr "Söker tjänster med konto %s" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +#, fuzzy +msgid "Contact list" +msgstr "Kontakter" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +#, fuzzy +msgid "Group chat support" +msgstr "Gruppchattar" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +#, fuzzy +msgid "Chat history" +msgstr "Logghistorik" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +#, fuzzy +msgid "Plugin manager" +msgstr "Registreringen misslyckades" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +#, fuzzy +msgid "Gajim Team" +msgstr "gajim-remote" + +#, fuzzy +#~ msgid "Chat Settings" +#~ msgstr "Registreringen misslyckades" + +#, fuzzy, python-format +#~ msgid "%i day" +#~ msgid_plural "%i days" +#~ msgstr[0] "%i dagar sen" +#~ msgstr[1] "%i dagar sen" + +#, fuzzy +#~ msgid "Composing only" +#~ msgstr "Skriver" + +#, fuzzy +#~ msgid "All chat states" +#~ msgstr "Alla statusar" + +#~ msgid "Privacy Lists" +#~ msgstr "Integritetslistor" + +#, fuzzy +#~ msgid "Unblock" +#~ msgstr "A_vblockera" + +#, fuzzy +#~ msgid "Block" +#~ msgstr "_Blockera" + +#~ msgid "None" +#~ msgstr "Ingen" + +#, python-format +#~ msgid "%s Status Message" +#~ msgstr "Statusmeddelande för %s" + +#~ msgid "Could not load image" +#~ msgstr "Kunde inte läsa in bild" + +#~ msgid "Error." +#~ msgstr "Fel." + +#, fuzzy +#~ msgid "_Block Contact" +#~ msgstr "Blockerade kontakter" + +#, fuzzy +#~ msgid "Block Group" +#~ msgstr "_Blockera" + +#, fuzzy +#~ msgid "Really block this group?" +#~ msgstr "Är OpenPGP aktiverat för denna kontakt?" + +#, fuzzy +#~ msgid "_Block Group" +#~ msgstr "_Blockera" + +#~ msgid "No account available" +#~ msgstr "Inget konto tillgängligt" + +#~ msgid "You must create an account before you can chat with other contacts." +#~ msgstr "Du måste skapa ett konto innan du kan chatta med andra kontakter." + +#~ msgid "Metacontacts storage not supported by your server" +#~ msgstr "Metakontakter kan inte lagras på din server" + +#, fuzzy +#~ msgid "" +#~ "Your server does not support storing metacontacts information. So this " +#~ "information will not be saved on next reconnection." +#~ msgstr "" +#~ "Din server saknar stöd för att lagra information om metakontakter. Denna " +#~ "information kommer därför inte att sparas vid nästa återanslutning." + +#, fuzzy, python-brace-format +#~ msgid "You are invited to {room} by {user}" +#~ msgstr "Du är inbjuden till en gruppchatt" + +#, fuzzy, python-format +#~ msgid "%s wants to start a voice chat." +#~ msgstr "%s vill skicka en fil till dig." + +#~ msgid "Could not save your settings and preferences" +#~ msgstr "Kunde inte spara dina inställningar" + +#, fuzzy +#~ msgid "Error While Removing Privacy List" +#~ msgstr "problem vid sändning %s ( %s )" + +#, fuzzy +#~ msgid "Invisibility Not Supported" +#~ msgstr "Osynlighet stöds inte" + +#, fuzzy, python-format +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "Kontot %s saknar stöd för osynlighet." + +#, fuzzy +#~ msgid "Could not request upload slot for HTTP File Upload" +#~ msgstr "Kunde inte starta lokal tjänst" + +#, fuzzy +#~ msgid "Not Secure" +#~ msgstr "Inte startad" + +#, fuzzy +#~ msgid "Could not Upload File" +#~ msgstr "Kunde inte läsa in bild" + +#, fuzzy +#~ msgid "Encryption Error" +#~ msgstr "Kryptering aktiverad" + +#~ msgid "Lists all preferences and their values" +#~ msgstr "Listar alla inställningar och deras värden" + +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "Sätter värdet av \"nyckel\" till \"värde\"." + +#~ msgid "key=value" +#~ msgstr "nyckel=värde" + +#, fuzzy +#~ msgid "'key' is the name of the preference, 'value' is what to set it to" +#~ msgstr "" +#~ "\"nyckel\" är namnet på inställningen, \"värde\" är värdet att sätta den " +#~ "till" + +#~ msgid "Deletes a preference item" +#~ msgstr "Tar bort en inställning" + +#~ msgid "key" +#~ msgstr "nyckel" + +#~ msgid "name of the preference to be deleted" +#~ msgstr "namnet på inställningen som skall tas bort" + +#~ msgid "Writes the current state of Gajim preferences to the .config file" +#~ msgstr "Skriver Gajims nuvarande inställningar till .config-filen" + +#, python-format +#~ msgid "%s is a directory but should be a file" +#~ msgstr "%s är en katalog men den borde vara en fil" + +#, fuzzy, python-format +#~ msgid "Creating %s" +#~ msgstr "Förstör %s" + +#, python-format +#~ msgid "%(nickname)s Signed In" +#~ msgstr "%(nickname)s loggade in" + +#~ msgid "Contact Signed In" +#~ msgstr "Kontakten loggade in" + +#, python-format +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "%(nickname)s loggade ut" + +#~ msgid "Contact Signed Out" +#~ msgstr "Kontakt Loggade Ut" + +#, fuzzy +#~ msgid "" +#~ "Show desktop notification even when a chat window is opened for this " +#~ "contact and does not have focus." +#~ msgstr "" +#~ "Tillåt popup/notifieringar när jag är _frånvarande/inte tillgänglig/" +#~ "upptagen/osynlig" + +#~ msgid "default" +#~ msgstr "standard" + +#, fuzzy +#~ msgid "" +#~ "Character to propose to add after desired nickname when nickname is " +#~ "already used in group chat." +#~ msgstr "" +#~ "Tecken att föreslå för att läggas till efter önskat smeknamn när önskat " +#~ "smeknamn används av någon annan i gruppchatten." + +#, fuzzy +#~ msgid "If enabled, Gajim displays the avatar in the chat window." +#~ msgstr "Of False kommer du inte längre att se avatarer i chattfönstret" + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending password on an plaintext connection. " +#~ "Can be 'warn', or 'none'." +#~ msgstr "" +#~ "Visa en varningsdialog innan lösenord skickas i klartext över en " +#~ "anslutning." + +#~ msgid "I'm available." +#~ msgstr "Jag är tillgänglig." + +#~ msgid "I'm free for chat." +#~ msgstr "Jag är ledig för chatt." + +#~ msgid "Be right back." +#~ msgstr "Strax tillbaka." + +#~ msgid "I'm not available." +#~ msgstr "Jag är inte tillgänglig." + +#~ msgid "Do not disturb." +#~ msgstr "Stör inte." + +#~ msgid "Bye!" +#~ msgstr "Hejdå!" + +#~ msgid "Timeout loading image" +#~ msgstr "Tidsgräns översteg vid inläsning av bild" + +#~ msgid "Image is too big" +#~ msgstr "Bild är för stor" + +#, fuzzy +#~ msgid "PyCURL is not installed" +#~ msgstr "Spärrlistan är ännu inte giltig" + +#, fuzzy +#~ msgid "Error loading image" +#~ msgstr "Tidsgräns översteg vid inläsning av bild" + +#~ msgid "Blocked Contacts" +#~ msgstr "Blockerade kontakter" + +#, fuzzy +#~ msgid "Group chat" +#~ msgstr "Gruppchattar" + +#, fuzzy +#~ msgid "Bookmark group chat" +#~ msgstr "Bokmärk detta rum (Ctrl+B)" + +#, fuzzy +#~ msgid "Bookmark" +#~ msgstr "_Bokmärk" + +#, fuzzy +#~ msgid "Recently used group chats" +#~ msgstr "i _gruppchattar" + +#, fuzzy +#~ msgid "Clear Avatar" +#~ msgstr "Användaravatar:" + +#, fuzzy +#~ msgid "Set Avatar…" +#~ msgstr "Välj Bild" + +#, fuzzy +#~ msgid "Contact" +#~ msgstr "Län:" + +#, fuzzy +#~ msgid "_Leave Group Chat" +#~ msgstr "Lämna gruppchattar" + +#, fuzzy +#~ msgid "Enter a new name for this group chat" +#~ msgstr "Ange ett nytt namn för gruppen %s" + +#, fuzzy +#~ msgid "Use default applications" +#~ msgstr "Använd alltid OS/X standardprogram" + +#~ msgid "Custom" +#~ msgstr "Anpassad" + +#, fuzzy +#~ msgid "Pop it up" +#~ msgstr "_Öppna det" + +#, fuzzy +#~ msgid "Notify me about it" +#~ msgstr "_Notifiera mig om det" + +#, fuzzy +#~ msgid "Show only in contact list" +#~ msgstr "Visa endast _aktiva kontakter" + +#, fuzzy +#~ msgid "No status messages" +#~ msgstr "statusmeddelande" + +#, fuzzy +#~ msgid "All status messages" +#~ msgstr "statusmeddelande" + +#, fuzzy +#~ msgid "Only enter/leave messages" +#~ msgstr "Du har olästa meddelanden" + +#, fuzzy +#~ msgid "Me_rge accounts" +#~ msgstr "Sa_mmanfoga konton" + +#, fuzzy +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "Visa a_vatarer för kontakter i kontaktlista" + +#, fuzzy +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "" +#~ "Om kryssad kommer Gajim att visa avatarer för kontakter i kontaktfönster " +#~ "och gruppchattar" + +#, fuzzy +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "Visa status_meddelanden för kontakter i kontaktlista" + +#, fuzzy +#~ msgid "" +#~ "If checked, status messages of contacts will be shown under the contact's " +#~ "name, in the contact list window, and in group chats" +#~ msgstr "" +#~ "Om kryssad kommer Gajim att visa statusmeddelanden för kontakter under " +#~ "kontaktens namn i kontaktfönster och gruppchattar" + +#, fuzzy +#~ msgid "" +#~ "Show e_xtra information of contacts in contact list (mood, activity, ...)" +#~ msgstr "Visa _humör för kontakter i kontaktlista" + +#, fuzzy +#~ msgid "in _contact list" +#~ msgstr "Bjud in _kontakter" + +#~ msgid "in _group chats" +#~ msgstr "i _gruppchattar" + +#, fuzzy +#~ msgid "Enable spell _checking" +#~ msgstr "Stavningskontroll" + +#, fuzzy +#~ msgid "Display status messages in _single chats" +#~ msgstr "Visa status_meddelanden för kontakter i kontaktlista" + +#, fuzzy +#~ msgid "" +#~ "If checked, status lines will be shown in 1 on 1 chats when a contact " +#~ "changes their status or status message" +#~ msgstr "" +#~ "Om False kommer du inte längre att se en statusrad i chattfönstret när en " +#~ "kontakt byter hans eller hennes status och/eller statusmeddelande." + +#, fuzzy +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "Kunde inte gå in i gruppchatt" + +#, fuzzy +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "Kunde inte gå in i gruppchatt" + +#, fuzzy +#~ msgid "Show status changes (Default)" +#~ msgstr "_Logga statusändringar för kontakter" + +#, fuzzy +#~ msgid "" +#~ "If checked, the tab will be colored according to the current chatstate of " +#~ "the contact" +#~ msgstr "" +#~ "Om kryssad kommer Gajim att tillåta andra att detektera operativsystemet " +#~ "som du använder" + +#, fuzzy +#~ msgid "" +#~ "If checked, a description of the contacts current chatstate is shown in " +#~ "the banner" +#~ msgstr "" +#~ "Om kryssad kommer Gajim att tillåta andra att detektera operativsystemet " +#~ "som du använder" + +#, fuzzy +#~ msgid "Chatstate" +#~ msgstr "Senaste status: %s" + +#, fuzzy +#~ msgid "_When new event is received" +#~ msgstr "När ny händelse tas emot:" + +#, fuzzy +#~ msgid "Show popups/notifications when a chat window is already _open" +#~ msgstr "" +#~ "Tillåt popup/notifieringar när jag är _frånvarande/inte tillgänglig/" +#~ "upptagen/osynlig" + +#, fuzzy +#~ msgid "Allow popups/notifications when I'm _away, not available or busy" +#~ msgstr "" +#~ "Tillåt popup/notifieringar när jag är _frånvarande/inte tillgänglig/" +#~ "upptagen/osynlig" + +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "Notifiera mig om kontakter som loggar _in" + +#, fuzzy +#~ msgid "" +#~ "A popup window about contacts that just signed in will be shown in the " +#~ "bottom right of the screen " +#~ msgstr "" +#~ "Gajim kommer att meddela dig om nya händelser via en popup i höger " +#~ "nederkant av skärmen" + +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "Notifiera mig om kontakter som loggar _ut" + +#~ msgid "Play _sounds" +#~ msgstr "Spela _upp ljud" + +#~ msgid "Ma_nage..." +#~ msgstr "Ha_ntera..." + +#, fuzzy +#~ msgid "Allow playing sounds when I'm _busy" +#~ msgstr "Tillåt ljud när jag är _upptagen" + +#, fuzzy +#~ msgid "No_t Available" +#~ msgstr "Inte tillgänglig" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Not Available when the computer " +#~ "has not been used for the specified time" +#~ msgstr "Om ibockad kommer Gajim också att ha en aktivitetsfältsikon" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Away when the computer has not " +#~ "been used for the specified time" +#~ msgstr "Om ibockad kommer Gajim också att ha en aktivitetsfältsikon" + +#, fuzzy +#~ msgid "Minutes" +#~ msgstr "minuter" + +#~ msgid "Default Message" +#~ msgstr "Standardmeddelande" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "Statusmeddelande" + +#, fuzzy +#~ msgid "Preset Status Messages" +#~ msgstr "Förvalda statusmeddelanden" + +#, fuzzy +#~ msgid "_Theme" +#~ msgstr "Tema" + +#~ msgid "Configure color and font of the interface" +#~ msgstr "Konfigurera färger och typsnitt för gränssnittet" + +#, fuzzy +#~ msgid "" +#~ "If checked, protocol-specific status icons will be used (e.g. a contact " +#~ "from ICQ will have the equivalent ICQ icon for status online, away, busy, " +#~ "etc...)" +#~ msgstr "" +#~ "Om kryssad kommer Gajim att använda protokollspecifika statusikoner (t." +#~ "ex. en kontakt från MSN kommer att ha motsvarade MSN-ikon för " +#~ "tillgänglig, frånvarande, upptagen, osv...)" + +#~ msgid "_Manage..." +#~ msgstr "_Hantera..." + +#, fuzzy +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "_Logga statusändringar för kontakter" + +#, fuzzy +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "Om kryssad kommer Gajim att komma ihåg lösenordet för detta konto" + +#~ msgid "_Open..." +#~ msgstr "_Öppna..." + +#, fuzzy +#~ msgid "_Filter" +#~ msgstr "_Filter:" + +#, fuzzy +#~ msgid "Protocol" +#~ msgstr "_Protokoll:" + +#~ msgid "Privacy Lists:" +#~ msgstr "Integritetslistor:" + +#, fuzzy +#~ msgid "_Ignore this error for this certificate" +#~ msgstr "Ignorera detta fel med certifikatet." + +#, fuzzy +#~ msgid "Message..." +#~ msgstr "Meddelande" + +#, fuzzy +#~ msgid "Preset _messages" +#~ msgstr "Förvalda meddelanden:" + +#, fuzzy +#~ msgid "_Type your new status message" +#~ msgstr "Ange ditt nya statusmeddelande" + +#, fuzzy +#~ msgid "Change Status Message…" +#~ msgstr "_Ändra statusmeddelande" + +#~ msgid "Mood:" +#~ msgstr "Humör:" + +#~ msgid "Message:" +#~ msgstr "Meddelande:" + +#, fuzzy +#~ msgid "none" +#~ msgstr "ett" + +#, fuzzy +#~ msgid "both" +#~ msgstr "Båda" + +#, fuzzy +#~ msgid "from" +#~ msgstr "Från" + +#, fuzzy +#~ msgid "to" +#~ msgstr "två" + +#~ msgid "Privacy List" +#~ msgstr "Integritetslista" + +#~ msgid "Privacy List" +#~ msgstr "Integritetslistor" + +#~ msgid "Active for this session" +#~ msgstr "Aktiv för denna session" + +#~ msgid "Active on each startup" +#~ msgstr "Aktiv vid varje uppstart" + +#~ msgid "List of rules" +#~ msgstr "Lista över regler" + +#~ msgid "Add / Edit a rule" +#~ msgstr "Lägg till / redigera en regel" + +#~ msgid "Allow" +#~ msgstr "Tillåt" + +#~ msgid "Deny" +#~ msgstr "Neka" + +#~ msgid "all in the group" +#~ msgstr "alla i gruppen" + +#~ msgid "all by subscription" +#~ msgstr "alla efter prenumeration" + +#~ msgid "All" +#~ msgstr "Alla" + +#~ msgid "to send me messages" +#~ msgstr "att skicka mig meddelanden" + +#~ msgid "to send me queries" +#~ msgstr "att skicka mig frågor" + +#~ msgid "to view my status" +#~ msgstr "att se min status" + +#~ msgid "to send me status" +#~ msgstr "att skicka mig status" + +#, fuzzy +#~ msgid "All (including subscription)" +#~ msgstr "alla efter prenumeration" + +#~ msgid "Order:" +#~ msgstr "Ordning:" + +#, fuzzy +#~ msgid "" +#~ "Deny authorization from contact so the contact cannot know if you are " +#~ "connected" +#~ msgstr "" +#~ "Neka auktorisering från kontakt så att han eller hon inte vet när du är " +#~ "ansluten" + +#, fuzzy +#~ msgid "Authorize contact so the contact can know if you are connected" +#~ msgstr "Auktorisera kontakt så att han eller hon vet när du är ansluten" + +#, fuzzy +#~ msgid "Contact List Shortcuts" +#~ msgstr "Kontakt loggade ut" + +#~ msgid "Fill in the form." +#~ msgstr "Fyll i formuläret." + +#~ msgid "Set an activity" +#~ msgstr "Ställ in en aktivitet" + +#~ msgid "Message: " +#~ msgstr "Meddelande: " + +#, fuzzy, python-format +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "Bjöd in %(contact_jid)s till %(room_jid)s." + +#, fuzzy +#~ msgid "Group Chat Invitation " +#~ msgstr "Inbjudan till Gruppchatt" + +#, python-format +#~ msgid "Comment: %s" +#~ msgstr "Kommentar: %s" + +#, fuzzy +#~ msgid "Off" +#~ msgstr "Frånkopplad" + +#, fuzzy +#~ msgid "Retrieving profile…" +#~ msgstr "Hämtar profil..." + +#, fuzzy +#~ msgid "Wrong date format" +#~ msgstr "Kontaktinformation" + +#, fuzzy +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "Format: ÅÅÅÅ-MM-DD" + +#~ msgid "Information received" +#~ msgstr "Information togs emot" + +#, fuzzy +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "Du kan inte publicera din kontaktinformation utan en anslutning." + +#, fuzzy +#~ msgid "Sending profile…" +#~ msgstr "Skickar profil..." + +#~ msgid "Information NOT published" +#~ msgstr "Informationen INTE publicerad" + +#~ msgid "vCard publication failed" +#~ msgstr "publicering av vCard misslyckades" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "" +#~ "Det uppstod ett fel vid publiceringen av er personliga information, " +#~ "försök igen senare." + +#, fuzzy +#~ msgid "?password:Hidden" +#~ msgstr "Lösenord:" + +#, python-format +#~ msgid "Privacy List %s" +#~ msgstr "Privat identitetslista %s" + +#, python-format +#~ msgid "Privacy List for %s" +#~ msgstr "Privat integritetslista för %s" + +#, python-format +#~ msgid "" +#~ "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" +#~ msgstr "" +#~ "Ordning: %(order)s, åtgärd: %(action)s, typ: %(type)s, värde: %(value)s" + +#, python-format +#~ msgid "Order: %(order)s, action: %(action)s" +#~ msgstr "Ordning: %(order)s, åtgärd: %(action)s" + +#~ msgid "Edit a rule" +#~ msgstr "Redigera en regel" + +#~ msgid "Add a rule" +#~ msgstr "Lägg till en regel" + +#, python-format +#~ msgid "Privacy Lists for %s" +#~ msgstr "Privata integritetslistor för %s" + +#~ msgid "Invalid List Name" +#~ msgstr "Ogiltigt listnamn" + +#~ msgid "You must enter a name to create a privacy list." +#~ msgstr "Du måste ange ett namn för att skapa en integritetslista." + +#, fuzzy +#~ msgid "Loading" +#~ msgstr "Programmerar" + +#~ msgid "status message title" +#~ msgstr "titel för statusmeddelande" + +#~ msgid "status message text" +#~ msgstr "text för statusmeddelande" + +#, fuzzy +#~ msgid "Start New Conversation" +#~ msgstr "Fortsatt konversation" + +#~ msgid "Unknown SSL error: %d" +#~ msgstr "Okänt SSL-fel: %d" + +#~ msgid "Gajim - %s" +#~ msgstr "Gajim - %s" + +#, fuzzy +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "Ordbok för språket %s inte tillgängligt" + +#, fuzzy +#~ msgid "" +#~ "You have to install the dictionary \"%s\" to use spellchecking, or choose " +#~ "another language by setting the speller_language option.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "Du måste installera %s-ordboken för att använda stavningskontroll, eller " +#~ "välja ett annat språk genom att ställa in alternativet speller_language.\n" +#~ "\n" +#~ "Markeringsfunktionen för felstavade ord kommer inte att användas" + +#, fuzzy +#~ msgid "_Reconnect" +#~ msgstr "_Koppla från" + +#, fuzzy +#~ msgid "Quit" +#~ msgstr "A_vsluta" + +#, fuzzy +#~ msgid "Show Contact List" +#~ msgstr "Visa endast _aktiva kontakter" + +#, fuzzy +#~ msgid "Add to Contact List" +#~ msgstr "_Lägg till kontakt..." + +#, fuzzy +#~ msgid "Invite Contact" +#~ msgstr "Bjud in _kontakter" + +#, fuzzy +#~ msgid "Configure Group Chat" +#~ msgstr "Lämna gruppchattar" + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." +#~ msgstr "" +#~ "Om sant kommer Gajim att visa en ikon på varje flik som innehåller olästa " +#~ "meddelanden. Beroende på temat så kan denna ikon vara animerad." + +#~ msgid "Invalid character in hostname." +#~ msgstr "Ogiltigt tecken i värdnamn." + +#~ msgid "Server address required." +#~ msgstr "Serveradress krävs." + +#~ msgid "Invalid character in username." +#~ msgstr "Ogiltigt tecken i användarnamn" + +#~ msgid "Invalid character in resource." +#~ msgstr "Ogiltigt tecken i resurs." + +#, fuzzy +#~ msgid "Notification color for contacts signing in." +#~ msgstr "Notifiera mig om kontakter som loggar _in" + +#, fuzzy +#~ msgid "Notification color for contacts signing out." +#~ msgstr "Notifiera mig om kontakter som loggar _ut" + +#, fuzzy +#~ msgid "Notification color for new message notification." +#~ msgstr "Chattstatusmeddelanden:" + +#, fuzzy +#~ msgid "Notification color for file transfer request." +#~ msgstr "_Meddela mig när en filöverföring är färdig" + +#, fuzzy +#~ msgid "Notification color for file transfer errors." +#~ msgstr "_Meddela mig när en filöverföring är färdig" + +#, fuzzy +#~ msgid "Notification background color for changed status." +#~ msgstr "Bakgrundsfärg på kontakter när de precis loggat in." + +#, fuzzy +#~ msgid "Event Type" +#~ msgstr "Händelse" + +#, fuzzy +#~ msgid "Event desc" +#~ msgstr "Händelser" + +#, fuzzy +#~ msgid "No response from the Server" +#~ msgstr "Du är inte ansluten till servern" + +#~ msgid "Resource Conflict" +#~ msgstr "Resurskonflikt" + +#, fuzzy +#~ msgid "" +#~ "You are already connected to this account with the same resource. Please " +#~ "enter a different one." +#~ msgstr "" +#~ "Du är redan ansluten till detta konto med samma resurs. Ange en annan" + +#, fuzzy +#~ msgid "Unable to load image" +#~ msgstr "Kunde inte läsa in idle-modul" + +#, fuzzy +#~ msgid "Media type not supported: %s" +#~ msgstr "Osynlighet stöds inte" + +#~ msgid "new@jabber.id" +#~ msgstr "ny@jabber.id" + +#~ msgid "new%d@jabber.id" +#~ msgstr "ny%d@jabber.id" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Gajim: Kontoskaparen" + +#, fuzzy +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "Du behöver ha ett konto för att kunna ansluta till\n" +#~ "Jabber-nätverket." + +#~ msgid "I already have an account I want to _use" +#~ msgstr "Jag har redan ett konto som _jag vill använda" + +#~ msgid "I want to _register for a new account" +#~ msgstr "Jag vill _registrera ett nytt konto" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "Välj ett av nedanstående alternativ:" + +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "Fyll i informationen för ditt befintliga konto" + +#, fuzzy +#~ msgid "_XMPP Address:" +#~ msgstr "AIM-adress:" + +#~ msgid "Anon_ymous authentication" +#~ msgstr "Anon_ym autentisering" + +#~ msgid "_Password:" +#~ msgstr "_Lösenord:" + +#~ msgid "Save pass_word" +#~ msgstr "Spara lösen_ord" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "Om kryssad kommer Gajim att komma ihåg lösenordet för detta konto" + +#~ msgid "Please select a server" +#~ msgstr "Välj en server" + +#~ msgid "_Server:" +#~ msgstr "_Server:" + +#~ msgid "Manage..." +#~ msgstr "Hantera..." + +#~ msgid "_Port:" +#~ msgstr "_Port:" + +#~ msgid "_Advanced" +#~ msgstr "_Avancerat" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA1 fingerprint of the certificate:\n" +#~ msgstr "" +#~ "Lägg till detta certifikat till listan över pålitliga certifikat.\n" +#~ "SHA1-fingeravtryck för certifikatet:\n" + +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "Ansluter till server\n" +#~ "\n" +#~ "Vänta..." + +#~ msgid "Connect when I press Finish" +#~ msgstr "Anslut när jag trycker på Färdigställ" + +#~ msgid "Set my profile when I connect" +#~ msgstr "Ställ in min profil när jag ansluter" + +#~ msgid "_Finish" +#~ msgstr "F_ärdigställ" + +#, fuzzy +#~ msgid "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." +#~ msgstr "" +#~ "Du kan ställa in avancerade alternativ genom att trycka på \"Avancerat\", " +#~ "eller senare genom att använda \"Redigera->Konton\" från huvudfönstret." + +#~ msgid "Your new account has been created successfully" +#~ msgstr "Ditt nya konto har skapats" + +#~ msgid "Invalid username" +#~ msgstr "Ogiltigt användarnamn" + +#~ msgid "You must provide a username to configure this account." +#~ msgstr "Du behöver ange ett användarnamn för att konfigurera detta konto." + +#~ msgid "Invalid server" +#~ msgstr "Ogiltig server" + +#~ msgid "Please provide a server on which you want to register." +#~ msgstr "Ange en server på vilken du vill registrera." + +#~ msgid "Invalid entry" +#~ msgstr "Ogiltig post" + +#~ msgid "Certificate Already in File" +#~ msgstr "Certifikatet finns redan i filen" + +#~ msgid "This certificate is already in file %s, so it's not added again." +#~ msgstr "" +#~ "Detta certifikat finns redan i filen %s så det har inte lagts till igen." + +#~ msgid "" +#~ "Security Warning\n" +#~ "\n" +#~ "The authenticity of the %(hostname)s SSL certificate could be invalid.\n" +#~ "SSL Error: %(error)s\n" +#~ "Do you still want to connect to this server?" +#~ msgstr "" +#~ "Säkerhetsvarning\n" +#~ "\n" +#~ "Äktheten för SSL-certfikatet för %(hostname)s kan vara ogiltig.\n" +#~ "SSL-fel: %(error)s\n" +#~ "Vill du fortfarande ansluta till denna server?" + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA-256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Lägg till detta certifikat till listan över pålitliga certifikat.\n" +#~ "SHA1-fingeravtryck för certifikatet:\n" +#~ "%s" + +#~ msgid "Account name is in use" +#~ msgstr "Kontonamnet används redan" + +#~ msgid "You already have an account using this name." +#~ msgstr "Du har redan ett konto med det namnet." + +#~ msgid "Show a warning dialog before using standard SSL library." +#~ msgstr "Visa en varningsdialog innan standard-SSL-biblioteket används." + +#~ msgid "Connection with account \"%s\" has been lost" +#~ msgstr "Anslutningen med konto \"%s\" har brutits" + +#~ msgid "Reconnect manually." +#~ msgstr "Återanslut manuellt." + +#~ msgid "Server %(name)s answered wrongly to register request: %(error)s" +#~ msgstr "" +#~ "Servern %(name)s svarade felaktigt på en registreringsbegäran: %(error)s" + +#~ msgid "Server %s provided a different registration form" +#~ msgstr "Servern %s tillhandahöll ett annat registreringsformulär" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "Kunde inte ansluta till \"%s\"" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "Kunde inte ansluta till \"%s\"" + +#~ msgid "Check your connection or try again later." +#~ msgstr "Kontrollera din anslutning eller försök igen senare." + +#~ msgid "Server replied: %s" +#~ msgstr "Servern svarade: %s" + +#~ msgid "Connection to proxy failed" +#~ msgstr "Anslutning till proxyservern misslyckades" + +#~ msgid "Could not connect to account %s" +#~ msgstr "Kunde inte ansluta till kontot %s" + +#~ msgid "Connection with account %s has been lost. Retry connecting." +#~ msgstr "" +#~ "Anslutningen med kontot \"%s\" har förlorats. Försök att ansluta igen." + +#~ msgid "Please check your login and password for correctness." +#~ msgstr "Kontrollera ditt inloggningsnamn och lösenord." + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "" +#~ "HTTP Connect\n" +#~ "SOCKS5\n" +#~ "BOSH" + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "BOSH" +#~ msgstr "_BOSH URL:" + +#~ msgid "Use HTTP prox_y" +#~ msgstr "Använd HTTP-prox_y" + +#, fuzzy +#~ msgid "_BOSH URL" +#~ msgstr "_BOSH URL:" + +#, fuzzy +#~ msgid "BOSH" +#~ msgstr "_BOSH URL:" + +#, fuzzy +#~ msgid "Warn on insecure connection" +#~ msgstr "_Varna innan en osäker anslutning används" + +#, fuzzy +#~ msgid "Contact list, list of contacts" +#~ msgstr "_Logga statusändringar för kontakter" + +#~ msgid "You are participating in one or more group chats" +#~ msgstr "Du deltar i en eller flera guppchatter" + +#, fuzzy +#~ msgid "" +#~ "Changing your status to invisible will result in you leaving those group " +#~ "chats.\n" +#~ "Are you sure you want to go invisible?" +#~ msgstr "" +#~ "Om du byter status till osynlig kommer du att förlora anslutningen till " +#~ "gruppchatterna. Är du säker på att du vill byta status till osynlig?" + +#~ msgid "_Disconnect" +#~ msgstr "_Koppla från" + +#~ msgid "You cannot join a group chat while you are invisible" +#~ msgstr "Du kan inte gå in i en gruppchatt när du är osynlig" + +#~ msgid "Invisible" +#~ msgstr "Osynlig" + +#, fuzzy +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "Du kan inte gå in i en gruppchatt när du är osynlig" + +#~ msgid "_Invisible" +#~ msgstr "_Osynlig" + +#, fuzzy +#~ msgid "Yesterday" +#~ msgid_plural "%(nb_days)i days ago" +#~ msgstr[0] "Igår" +#~ msgstr[1] "Igår" + +#, fuzzy +#~ msgid "_Cancel Upload" +#~ msgstr "_Avbryt" + +#~ msgid " [blocked]" +#~ msgstr " [blockerad]" + +#~ msgid " [minimized]" +#~ msgstr " [minimerad]" + +#, fuzzy +#~ msgid "" +#~ "If you close this tab while having chat history disabled, this message " +#~ "will be lost." +#~ msgstr "" +#~ "Om du stänger den här fliken och har historik inaktiverad så kommer " +#~ "meddelandet att förloras." + +#, fuzzy +#~ msgid "Unregister Failed" +#~ msgstr "Registreringen misslyckades" + +#, fuzzy +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "" +#~ "Registrering med agenten %(agent)s misslyckades med fel %(error)s: " +#~ "%(error_msg)s" + +#, fuzzy +#~ msgid "New Password" +#~ msgstr "Spara lösenord" + +#~ msgid "What do you want to do?" +#~ msgstr "Vad vill du göra?" + +#~ msgid "Remove account from Gajim and from _server" +#~ msgstr "Ta bort kontot från Gajim och från _servern" + +#, fuzzy +#~ msgid "You must enter a password" +#~ msgstr "Du måste skriva in ett lösenord." + +#, fuzzy +#~ msgid "You still have open chats in your account %s" +#~ msgstr "Du har öppnat chatt i kontot %s" + +#, fuzzy +#~ msgid "To unregister from a server, the account must be enabled." +#~ msgstr "För att ändra kontonamnet måste du vara frånkopplad" + +#, fuzzy +#~ msgid "Password required" +#~ msgstr "Lösenord krävs" + +#, fuzzy +#~ msgid "Still connected to the server" +#~ msgstr "Du är inte ansluten till servern" + +#, fuzzy +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "Om du tar bort det kommer anslutningen att förloras." + +#, fuzzy +#~ msgid "Connection to server %s failed" +#~ msgstr "Anslutning till proxyservern misslyckades" + +#, fuzzy +#~ msgid "What would you like to do?" +#~ msgstr "Vad vill du göra?" + +#, fuzzy +#~ msgid "Remove only from Gajim" +#~ msgstr "Ta bort kontot _endast från Gajim" + +#, fuzzy +#~ msgid "Contents" +#~ msgstr "_Innehåll" + +#, fuzzy +#~ msgid "FAQ" +#~ msgstr "_Frågor och svar" + +#~ msgid "Save as Preset Status Message" +#~ msgstr "Spara som Valbart Statusmeddelande" + +#~ msgid "Enter a new nickname for contact %s" +#~ msgstr "Ange ett nytt smeknamn för kontakten %s" + +#, fuzzy +#~ msgid "Join a group chat" +#~ msgstr "i _gruppchattar" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "Acceptera" + +#~ msgid "Last modified:" +#~ msgstr "Senast ändrad:" + +#, fuzzy +#~ msgid "Send file?" +#~ msgstr "Skicka _fil" + +#, fuzzy +#~ msgid "Mail _client" +#~ msgstr "_E-postklient:" + +#, fuzzy +#~ msgid "_Browser" +#~ msgstr "_Webbläsare:" + +#, fuzzy +#~ msgid "_File manager" +#~ msgstr "_Filhanterare:" + +#, fuzzy +#~ msgid "Custom applications" +#~ msgstr "Använd alltid OS/X standardprogram" + +#, fuzzy +#~ msgid "Applications" +#~ msgstr "Program" + +#, fuzzy +#~ msgid "" +#~ "Uses ReStructured text markup to send HTML, plus ASCII formatting if " +#~ "selected. Needs docutils installed (for syntax, see http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Generera XHTML-utdata från RST-kod (se http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html)." + +#, fuzzy +#~ msgid "_Ignore formatting of incoming messages" +#~ msgstr "_Ignorera textformatering i inkommande meddelanden" + +#, fuzzy +#~ msgid "" +#~ "Some messages may include rich content (xhtml formatting, colors etc). If " +#~ "checked, Gajim will just display the plain message text." +#~ msgstr "" +#~ "Vissa meddelanden kan innehålla textformatering (formatering, färger " +#~ "etc). Om kryssad kommer Gajim att endast visa rå meddelandetext." + +#, fuzzy +#~ msgid "RST XHTML Generator" +#~ msgstr "RST-generator" + +#, fuzzy +#~ msgid "Requires: python-docutils" +#~ msgstr "Kräver python-docutils." + +#~ msgid "New Single Message" +#~ msgstr "Nytt Enstaka Meddelande" + +#~ msgid "Error %(code)s: %(msg)s" +#~ msgstr "Fel %(code)s: %(msg)s" + +#~ msgid "twelve" +#~ msgstr "tolv" + +#~ msgid "one" +#~ msgstr "ett" + +#~ msgid "two" +#~ msgstr "två" + +#~ msgid "three" +#~ msgstr "tre" + +#~ msgid "four" +#~ msgstr "fyra" + +#~ msgid "five" +#~ msgstr "fem" + +#~ msgid "six" +#~ msgstr "sex" + +#~ msgid "seven" +#~ msgstr "sju" + +#~ msgid "eight" +#~ msgstr "åtta" + +#~ msgid "nine" +#~ msgstr "nio" + +#~ msgid "ten" +#~ msgstr "tio" + +#~ msgid "eleven" +#~ msgstr "elva" + +#~ msgid "%(0)s o'clock" +#~ msgstr "%(0)s" + +#~ msgid "five past %(0)s" +#~ msgstr "fem över %(0)s" + +#~ msgid "ten past %(0)s" +#~ msgstr "tio i %(0)s" + +#~ msgid "quarter past %(0)s" +#~ msgstr "kvart över %(0)s" + +#, fuzzy +#~ msgid "twenty past %(0)s" +#~ msgstr "tio i halv %(1)s" + +#, fuzzy +#~ msgid "twenty five past %(0)s" +#~ msgstr "fem i halv %(1)s" + +#, fuzzy +#~ msgid "half past %(0)s" +#~ msgstr "halv %(1)s" + +#~ msgid "twenty five to %(1)s" +#~ msgstr "fem över halv %(1)s" + +#~ msgid "twenty to %(1)s" +#~ msgstr "tjugo i %(1)s" + +#~ msgid "quarter to %(1)s" +#~ msgstr "kvart i %(1)s" + +#~ msgid "ten to %(1)s" +#~ msgstr "tio i %(1)s" + +#~ msgid "five to %(1)s" +#~ msgstr "fem i %(1)s" + +#~ msgid "%(1)s o'clock" +#~ msgstr "%(1)s" + +#~ msgid "Night" +#~ msgstr "Natt" + +#~ msgid "Early morning" +#~ msgstr "Tidig morgon" + +#~ msgid "Morning" +#~ msgstr "Morgon" + +#~ msgid "Almost noon" +#~ msgstr "Nästan mitt på dagen" + +#~ msgid "Noon" +#~ msgstr "Mitt på dagen" + +#~ msgid "Afternoon" +#~ msgstr "Eftermiddag" + +#~ msgid "Evening" +#~ msgstr "Kväll" + +#~ msgid "Late evening" +#~ msgstr "Sen kväll" + +#~ msgid "Start of week" +#~ msgstr "Början av veckan" + +#~ msgid "Middle of week" +#~ msgstr "Mitt i veckan" + +#~ msgid "End of week" +#~ msgstr "Slutet av veckan" + +#~ msgid "Weekend!" +#~ msgstr "Helg!" + +#~ msgid "message" +#~ msgstr "meddelande" + +#, fuzzy +#~ msgid "error: %s" +#~ msgstr "Felmeddelande: %s" + +#, fuzzy +#~ msgid "Form: %s" +#~ msgstr "Från %s" + +#, fuzzy +#~ msgid "XML Input" +#~ msgstr "XML-inmatning" + +#, fuzzy +#~ msgid "Ttitle" +#~ msgstr "Titel:" + +#, fuzzy +#~ msgid "%(type)s encryption is active %(authenticated)s" +#~ msgstr "" +#~ "%(type)s-kryptering %(status)s aktiv %(authenticated)s.\n" +#~ "Din chattsession %(logged)s att loggas." + +#, fuzzy +#~ msgid "Screen" +#~ msgstr "green" + +#~ msgid "Conversation with " +#~ msgstr "Konversation med " + +#~ msgid "Continued conversation" +#~ msgstr "Fortsatt konversation" + +#, fuzzy +#~ msgid "%s has invited you to join a discussion" +#~ msgstr "$Contact har bjudit in dig till en diskussion" + +#~ msgid "_Send Private Message" +#~ msgstr "_Skicka privat meddelande" + +#, fuzzy +#~ msgid "Participant Actions" +#~ msgstr "Deltagare" + +#~ msgid "_Voice" +#~ msgstr "_Röst" + +#~ msgid "Mo_derator" +#~ msgstr "Mo_derator" + +#~ msgid "_Member" +#~ msgstr "_Medlem" + +#~ msgid "_Admin" +#~ msgstr "_Admin" + +#~ msgid "_Owner" +#~ msgstr "_Ägare" + +#, fuzzy +#~ msgid "_Add to Contact List" +#~ msgstr "_Lägg till kontakt..." + +#, fuzzy +#~ msgid "_Execute command" +#~ msgstr "_Kör kommando" + +#~ msgid "Change _Nickname..." +#~ msgstr "Byt smek_namn..." + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "_Ny gruppchatt" + +#~ msgid "Change _Subject..." +#~ msgstr "Byt _ämne..." + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "Gå in i _gruppchatt..." + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "_Ny gruppchatt" + +#~ msgid "_Minimize on close" +#~ msgstr "_Minimera vid stängning" + +#, fuzzy +#~ msgid "_Request Voice" +#~ msgstr "_Röst" + +#~ msgid "_Bookmark" +#~ msgstr "_Bokmärk" + +#~ msgid "" +#~ "\n" +#~ "Unknown SSL error: %d" +#~ msgstr "" +#~ "\n" +#~ "Okänt SSL-fel: %d" + +#~ msgid "" +#~ "\n" +#~ "SSL Error: %s" +#~ msgstr "" +#~ "\n" +#~ "SSL-fel: %s" + +#~ msgid "Error verifying SSL certificate" +#~ msgstr "Fel vid verifiering av SSL-certifikat" + +#, fuzzy +#~ msgid "View certificate…" +#~ msgstr "Självsignerat certifikat" + +#, fuzzy +#~ msgid "Continue" +#~ msgstr "_Fortsätt" + +#~ msgid "" +#~ "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM " +#~ "IS RUNNING)" +#~ msgstr "" +#~ "Vill du städa upp databasen? (DU AVRÅDS ATT GÖRA DETTA OM GAJIM KÖRS)" + +#, fuzzy +#~ msgid "Authorization" +#~ msgstr "Auktorisering har sänts" + +#, fuzzy +#~ msgid "" +#~ "All chat and group chat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Alla chatts- och gruppchattsfönster kommer stängas. Vill du fortsätta?" + +#, fuzzy +#~ msgid "Account '%s' is still connected to the server" +#~ msgstr "Konto \"%s\" är anslutet till servern" + +#, fuzzy +#~ msgid "Error While Saving" +#~ msgstr "Fel när tjänsten lades till. %s" + +#, fuzzy +#~ msgid "" +#~ "Image cannot be saved in %(type)s format.\n" +#~ "Save as %(new_filename)s?" +#~ msgstr "" +#~ "Bilden kan inte sparas i %(type)s format. Spara som %(new_filename)s?" + +#, fuzzy +#~ msgid "Save _As" +#~ msgstr "Har " + +#~ msgid "Yes, I really want to connect insecurely" +#~ msgstr "Ja, jag vill verkligen ansluta på ett osäkert sätt" + +#, fuzzy +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "Ogiltigt Jabber-ID" + +#, fuzzy +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "Rums- eller servernamnet innehåller icke tillåtna tecken." + +#~ msgid "You may specify a reason below:" +#~ msgstr "Du kan ange en orsak här under:" + +#~ msgid "Banning %s" +#~ msgstr "Bannlyser %s" + +#, fuzzy +#~ msgid "" +#~ "Always ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Fråga alltid innan guppchattab/-förster i denna kommaseparerade lista med " +#~ "rum (jid) stängs." + +#, fuzzy +#~ msgid "" +#~ "Never ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Fråga aldrig innan guppchattab/-förster i denna kommaseparerade lista med " +#~ "rum (jid) stängs." + +#, fuzzy +#~ msgid "Leave Group Chats" +#~ msgstr "Lämna gruppchattar" + +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "%(nickname)s på %(room_jid)s" + +#, fuzzy +#~ msgid "You have not joined a group chat." +#~ msgstr "Du har inte gått in i en gruppchatt." + +#, fuzzy +#~ msgid "You left the following group chats:" +#~ msgstr "Du lämnade följande gruppchattar:" + +#~ msgid "Don't show avatar for the transport itself." +#~ msgstr "Visa inte avatar för själva transporten." + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending PLAIN password over a plain " +#~ "connection." +#~ msgstr "" +#~ "Visa en varningsdialog innan lösenord skickas i klartext över en " +#~ "anslutning." + +#, fuzzy +#~ msgid "Jabberd2 workaround." +#~ msgstr "Temporär lösning för Jabberd2" + +#, fuzzy +#~ msgid "Configure Services…" +#~ msgstr "Konfigurera tjänster..." + +#, fuzzy +#~ msgid "Group Chat Bookmarks" +#~ msgstr "Gruppchatt" + +#, fuzzy +#~ msgid "Add Bookmark" +#~ msgstr "_Bokmärk" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "_Bokmärk" + +#, fuzzy +#~ msgid "_Server" +#~ msgstr "_Server:" + +#, fuzzy +#~ msgid "_Password" +#~ msgstr "_Lösenord:" + +#, fuzzy +#~ msgid "Join chat when connected" +#~ msgstr "Kontakt loggade ut" + +#~ msgid "New Group Chat" +#~ msgstr "Ny gruppchatt" + +#~ msgid "This bookmark has invalid data" +#~ msgstr "Det här bokmärket har ogiltig data" + +#, fuzzy +#~ msgid "" +#~ "Please be sure to fill out server and group chat fields or remove this " +#~ "bookmark." +#~ msgstr "" +#~ "Var säker på att fylla i server- och rumfälten eller ta bort det här " +#~ "bokmärket." + +#~ msgid "Character not allowed" +#~ msgstr "Tecknet tillåts inte" + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "Ogiltigt Jabber-ID" + +#~ msgid "Unable to join group chat" +#~ msgstr "Kunde inte gå in i gruppchatt" + +#, fuzzy +#~ msgid "You are banned from group chat %s." +#~ msgstr "Du är bannlyst från gruppchatten %s." + +#, fuzzy +#~ msgid "Remote server %s does not exist." +#~ msgstr "Gruppchatten %s finns inte." + +#, fuzzy +#~ msgid "Group chat %s does not exist." +#~ msgstr "Gruppchatten %s finns inte." + +#, fuzzy +#~ msgid "Group chat creation is not permitted." +#~ msgstr "Möjligheten att skapa rum är begränsad." + +#, fuzzy +#~ msgid "You must use your registered nickname in %s." +#~ msgstr "Ditt registrerade smeknamn måste användas i gruppchatten %s." + +#, fuzzy +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "Du är inte med i medlemslistan i gruppchatten %s." + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "Det här är ingen gruppchatt" + +#~ msgid "This is not a group chat" +#~ msgstr "Det här är ingen gruppchatt" + +#, fuzzy +#~ msgid "Please choose a group chat" +#~ msgstr "Skapa ett nytt, tomt tema med ditt önskade namn." + +#~ msgid "Invalid Nickname" +#~ msgstr "Ogiltigt smeknamn" + +#, fuzzy +#~ msgid "Wrong server" +#~ msgstr "Felaktig uri" + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "Det här är ingen gruppchatt" + +#, fuzzy +#~ msgid "A Password is required to join the group chat %s. Please type it." +#~ msgstr "Ett lösenord krävs för att gå in i rummet %s. Ange lösenordet." + +#~ msgid "Not in Roster" +#~ msgstr "Inte i kontaktlista" + +#~ msgid "I would like to add you to my roster" +#~ msgstr "Jag skulle vilja lägga till dig i min kontaktlista" + +#, fuzzy +#~ msgid "Add to Roster" +#~ msgstr "_Lägg till i kontaktlista" + +#, fuzzy +#~ msgid "Manage Room" +#~ msgstr "_Hantera rum" + +#, fuzzy +#~ msgid "Configure Room" +#~ msgstr "Konfigurera _rum..." + +#, fuzzy +#~ msgid "Destroy Room" +#~ msgstr "Förstör %s" + +#, fuzzy +#~ msgid "Change Nick" +#~ msgstr "Byt smek_namn..." + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "_Koppla från" + +#, fuzzy +#~ msgid "Copy JID" +#~ msgstr "Rummets JID" + +#, fuzzy +#~ msgid "Add to Roster…" +#~ msgstr "_Lägg till i kontaktlista" + +#, fuzzy +#~ msgid "Copy JID/Email" +#~ msgstr "_Kopiera JID/e-postadress" + +#, fuzzy +#~ msgid "JID: %s" +#~ msgstr "Jabber-ID: %s" + +#~ msgid "Changing Subject" +#~ msgstr "Ändrar Ämne" + +#~ msgid "Please specify the new subject:" +#~ msgstr "Ange det nya ämnet:" + +#~ msgid "Room logging is now enabled" +#~ msgstr "Rumsloggning är nu aktiverad" + +#~ msgid "Room logging is now disabled" +#~ msgstr "Rumsloggning är nu inaktiverad" + +#, fuzzy +#~ msgid "You (%s) joined the room" +#~ msgstr "%s har gått in i gruppchatten" + +#~ msgid "Room logging is enabled" +#~ msgstr "Rumsloggning är aktiverad" + +#, fuzzy +#~ msgid "Unable to join groupchat" +#~ msgstr "Kunde inte gå in i gruppchatt" + +#~ msgid "Groupchat Invitation" +#~ msgstr "Inbjudan till Gruppchatt" + +#, fuzzy +#~ msgid "%(jid)s has been invited in this room" +#~ msgstr "%(nick)s har tagits bort från rummet (%(reason)s)" + +#, fuzzy +#~ msgid "JID is not a Groupchat" +#~ msgstr "Det här är ingen gruppchatt" + +#~ msgid "Invalid JID" +#~ msgstr "Ogiltigt JID" + +#~ msgid "A connection is not available" +#~ msgstr "En anslutning är inte tillgänglig" + +#, fuzzy +#~ msgid "JID already in list" +#~ msgstr "Jabber-ID finns redan i listan" + +#, fuzzy +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "En anslutning är inte tillgänglig" + +#~ msgid "Removes contact from roster" +#~ msgstr "Ta bort en kontakt från kontaktlista" + +#~ msgid "Not in roster" +#~ msgstr "Inte i kontaktlista" + +#, fuzzy +#~ msgid "Contact signed in notification color." +#~ msgstr "_Visa händelse i kontaktlista" + +#, fuzzy +#~ msgid "Contact signout notification color" +#~ msgstr "_Visa händelse i kontaktlista" + +#, fuzzy +#~ msgid "File transfer request notification color." +#~ msgstr "Förfrågan om Filöverföring" + +#, fuzzy +#~ msgid "File transfer error notification color." +#~ msgstr "Filöverföringen avbruten" + +#, fuzzy +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "När en filöverföring är färdig så visa en popupnotifiering" + +#, fuzzy +#~ msgid "Groupchat invitation notification color" +#~ msgstr "Inbjudan till Gruppchatt" + +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "Lägg till * och [n] i kontaktlistans titel?" + +#~ msgid "Hides the banner in two persons chat window" +#~ msgstr "Döljer bannern i chattfönster för två personer" + +#, fuzzy +#~ msgid "Language for which misspelled words will be checked" +#~ msgstr "Språket för vilket vi vill leta efter felstavade ord" + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "Jag äter, lämna ett meddelande." + +#, fuzzy +#~ msgid "from room %s" +#~ msgstr " från rummet %s" + +#~ msgid "Leave Groupchats" +#~ msgstr "Lämna gruppchattar" + +#, fuzzy +#~ msgid "Auto Join" +#~ msgstr "Anslut automatiskt" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "Rum:" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber-ID:" + +#~ msgid "_Add to Roster" +#~ msgstr "_Lägg till i kontaktlista" + +#~ msgid "_Manage Room" +#~ msgstr "_Hantera rum" + +#~ msgid "Configure _Room..." +#~ msgstr "Konfigurera _rum..." + +#, fuzzy +#~ msgid "_Destroy Room" +#~ msgstr "Förstör %s" + +#~ msgid "Jabber ID" +#~ msgstr "Jabber-ID" + +#, fuzzy +#~ msgid "account" +#~ msgstr "konto: " + +#, fuzzy +#~ msgid "Roster" +#~ msgstr "Visa _kontaktlista" + +#, fuzzy +#~ msgid "Show only in roster" +#~ msgstr "Visa enbart i _registret" + +#~ msgid "in _roster" +#~ msgstr "i _kontaktlista" + +#, fuzzy +#~ msgid "Roster Appearance" +#~ msgstr "Kontaktlistans utseende" + +#~ msgid "_Add to Roster..." +#~ msgstr "_Lägg till i kontaktlista..." + +#~ msgid "_Jabber ID:" +#~ msgstr "_Jabber-ID:" + +#, fuzzy +#~ msgid "_Jabber ID" +#~ msgstr "_Jabber-ID:" + +#~ msgid "JabberID" +#~ msgstr "JabberID" + +#, fuzzy +#~ msgid "Show Roster" +#~ msgstr "Visa _kontaktlista" + +#~ msgid "MUC server" +#~ msgstr "MUC-server" + +#~ msgid "Room Configuration" +#~ msgstr "Rumkonfiguration" + +#~ msgid "Join _Group Chat" +#~ msgstr "Gå in i _gruppchatt" + +#, fuzzy +#~ msgid "Audio sessions are not available" +#~ msgstr "Sessionsbus inte tillgänglig" + +#~ msgid "Conference" +#~ msgstr "Konferens" + +#, fuzzy +#~ msgid "_Manage Bookmarks…" +#~ msgstr "Hantera bokmärken" + +#, fuzzy +#~ msgid "Hide _Roster" +#~ msgstr "i _kontaktlista" + +#~ msgid "Show _Roster" +#~ msgstr "Visa _kontaktlista" + +#, fuzzy +#~ msgid "Invalid Room" +#~ msgstr "Ogiltigt rum" + +#~ msgid "Invalid room" +#~ msgstr "Ogiltigt rum" + +#~ msgid "A GTK+ Jabber client" +#~ msgstr "En GTK+-baserad Jabber-klient" + +#~ msgid "Changing Nickname" +#~ msgstr "Byter Smeknamn" + +#~ msgid "Please specify the new nickname you want to use:" +#~ msgstr "Ange det nya smeknamnet du vill använda:" + +#~ msgid "Bookmark already set" +#~ msgstr "Bokmärke finns redan" + +#, fuzzy +#~ msgid "Group Chat '%s' is already in your bookmarks." +#~ msgstr "Gruppchatten \"%s\" finns redan i dina bokmärken." + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "Bokmärket har lagts till" + +#, fuzzy +#~ msgid "" +#~ "You can manage your bookmarks by clicking the Bookmarks menu item in your " +#~ "contact list." +#~ msgstr "Du kan hantera dina bokmärken via åtgärdsmenyn i din kontaktlista." + +#, fuzzy +#~ msgid "The nickname contains invalid characters." +#~ msgstr "Smeknamnet innehåller icke-tillåtna tecken." + +#, fuzzy +#~ msgid "Bookmark Room" +#~ msgstr "Bokmärk detta rum (Ctrl+B)" + +#~ msgid "_Join New Group Chat" +#~ msgstr "_Gå in i ny gruppchatt" + +#~ msgid "Name:" +#~ msgstr "Namn:" + +#, fuzzy +#~ msgid "Description:" +#~ msgstr "Beskrivning: " + +#, fuzzy +#~ msgid "Address:" +#~ msgstr "_Adress:" + +#, fuzzy +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "Du kan inte gå med i en gruppchatt utan att vara ansluten." + +#~ msgid "_Modify Account..." +#~ msgstr "_Redigera konto..." + +#~ msgid "Boolean" +#~ msgstr "Boolesk" + +#~ msgid "Integer" +#~ msgstr "Heltal" + +#~ msgid "Text" +#~ msgstr "Text" + +#~ msgid "Value" +#~ msgstr "Värde" + +#~ msgid "(None)" +#~ msgstr "(Ingen)" + +#~ msgid "Hidden" +#~ msgstr "Dold" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "Hantera proxyprofiler" + +#, fuzzy +#~ msgid "Properties" +#~ msgstr "Egenskaper" + +#, fuzzy +#~ msgid "Proxy _Port" +#~ msgstr "Proxyserverns _port:" + +#, fuzzy +#~ msgid "New Groupchat" +#~ msgstr "Ny gruppchatt" + +#, fuzzy +#~ msgid "New Contact" +#~ msgstr "Lägg till ny kontakt" + +#~ msgid "%s GiB" +#~ msgstr "%s GiB" + +#~ msgid "%s GB" +#~ msgstr "%s GB" + +#~ msgid "%s MiB" +#~ msgstr "%s MiB" + +#~ msgid "%s MB" +#~ msgstr "%s MB" + +#~ msgid "%s KiB" +#~ msgstr "%s KiB" + +#~ msgid "%s KB" +#~ msgstr "%s KB" + +#~ msgid "%s B" +#~ msgstr "%s B" + +#, fuzzy +#~ msgid "%s MiB/s" +#~ msgstr "%s MiB" + +#, fuzzy +#~ msgid "File transfer" +#~ msgstr "Filöverföringar" + +#, fuzzy +#~ msgid "Open _Containing Folder" +#~ msgstr "_Öppna mapp" + +#, fuzzy +#~ msgid "Default:" +#~ msgstr "Standard" + +#~ msgid "" +#~ "If you close this window, you will be disconnected from this group chat." +#~ msgstr "" +#~ "Du kommer att bli frånkopplad från denna gruppchatt om du stänger detta " +#~ "fönster." + +#~ msgid "Really quit Gajim?" +#~ msgstr "Verkligen avsluta Gajim?" + +#~ msgid "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" +#~ msgstr "" +#~ "Du kommer inte längre att kunna ta emot eller skicka meddelanden till " +#~ "kontakter från dessa transporter: %s" + +#~ msgid "Contact \"%s\" will be removed from your roster" +#~ msgstr "Kontakten \"%s\" kommer att tas bort från kontaktlistan" + +#, fuzzy +#~ msgid "" +#~ "By removing this contact you also by default remove authorization " +#~ "resulting in them always seeing you as offline." +#~ msgstr "" +#~ "Genom att ta bort den här kontakten kommer du också ta bort " +#~ "auktoriseringen. Kontakten kommer alltid se dig som frånkopplad." + +#~ msgid "Contacts will be removed from your roster" +#~ msgstr "Kontakter kommer att tas bort från din kontaktlista" + +#~ msgid "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorization resulting in them always seeing you as " +#~ "offline." +#~ msgstr "" +#~ "Genom att ta bort dessa kontakter:%s\n" +#~ "så kommer du även ta bort behörigheten vilket resulterar i att kontakten " +#~ "kommer alltid se dig som frånkopplad." + +#, fuzzy +#~ msgid "Con_tinue" +#~ msgstr "_Fortsätt" + +#~ msgid "_Pause" +#~ msgstr "_Paus" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "Ta bort filöverföring från listan." + +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "" +#~ "Denna åtgärd tar bort en filöverföring från listan. Om överföringen är " +#~ "aktiv så stoppas den först och tas sedan bort" + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "Avbryter den markerade filöverföringen" + +#, fuzzy +#~ msgid "Hide the window" +#~ msgstr "Döljer fönstret" + +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "När en filöverföring är färdig så visa en popupnotifiering" + +#~ msgid "From:" +#~ msgstr "Från:" + +#~ msgid "Subject:" +#~ msgstr "Ämne:" + +#~ msgid "%s wants to send you a file:" +#~ msgstr "%s vill skicka en fil till dig:" + +#~ msgid "Name: " +#~ msgstr "Namn: " + +#~ msgid "Pause" +#~ msgstr "Paus" + +#, fuzzy +#~ msgid "Execute Command" +#~ msgstr "_Kör kommando" + +#~ msgid "Type: " +#~ msgstr "Typ: " + +#~ msgid "Transferred: " +#~ msgstr "Överfört: " + +#~ msgid "Completed" +#~ msgstr "Färdigställd" + +#~ msgid "Stalled" +#~ msgstr "Avstannad" + +#~ msgid "Transferring" +#~ msgstr "Överför" + +#~ msgid "Not started" +#~ msgstr "Inte startad" + +#, fuzzy +#~ msgid "%s day" +#~ msgid_plural "%s days" +#~ msgstr[0] "%i dagar sen" +#~ msgstr[1] "%i dagar sen" + +#~ msgid "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Alla chatts- och gruppchattsfönster kommer stängas. Vill du fortsätta?" + +#, fuzzy +#~ msgid "" +#~ "Your desired nickname in group chat\n" +#~ "%s\n" +#~ "is in use or registered by another occupant.\n" +#~ "Please specify another nickname below:" +#~ msgstr "" +#~ "Ditt önskade smeknamn i gruppchatten %s används redan eller är " +#~ "registrerat av\n" +#~ "en annan deltagare. Ange ett annat smeknamn nedan:" + +#~ msgid "_Configure" +#~ msgstr "_Konfigurera" + +#, fuzzy +#~ msgid "Change the avatar" +#~ msgstr "Ändra status" + +#, fuzzy +#~ msgid "" +#~ "Account in which the avatar will be set; if not specified, the avatar " +#~ "will be set for all accounts" +#~ msgstr "" +#~ "Konto för vilket XML kommer skickas. Om du inte specificerat kommer XML " +#~ "skickas till alla konton" + +#, fuzzy +#~ msgid "add" +#~ msgstr "Ledsen" + +#, fuzzy +#~ msgid "modify" +#~ msgstr "Ändra" + +#, fuzzy +#~ msgid "remove" +#~ msgstr "Ta _bort" + +#, fuzzy +#~ msgid "Restored Message Color" +#~ msgstr "_Återställ till standardfärger" + +#~ msgid "Send Cus_tom Status" +#~ msgstr "Skicka a_npassad status" + +#, fuzzy +#~ msgid "" +#~ "You are about to send a custom status. Are you sure you want to continue?" +#~ msgstr "" +#~ "Du är på väg att skapa en metakontakt. Är du säker på att du vill " +#~ "fortsätta?" + +#, fuzzy +#~ msgid "" +#~ msgstr "Ämne" + +#~ msgid "#" +#~ msgstr "#" + +#, fuzzy +#~ msgid "You are about to block a contact. Are you sure you want to continue?" +#~ msgstr "" +#~ "Du är på väg att skapa en metakontakt. Är du säker på att du vill " +#~ "fortsätta?" + +#~ msgid "To:" +#~ msgstr "Till:" + +#~ msgid "0" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Reconnect when connection is lost" +#~ msgstr "Återanslut automatiskt när anslutningen förloras" + +#, fuzzy +#~ msgid "Server Message Archive" +#~ msgstr "_Skicka servermeddelande..." + +#, fuzzy +#~ msgid "Message Carbons" +#~ msgstr "Meddelanden" + +#, fuzzy +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "Tillåt information om _operativsystem att skickas" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the idle time of your system" +#~ msgstr "" +#~ "Om kryssad kommer Gajim att tillåta andra att detektera operativsystemet " +#~ "som du använder" + +#, fuzzy +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "Tillåt information om _operativsystem att skickas" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the local time on your system" +#~ msgstr "" +#~ "Om kryssad kommer Gajim att tillåta andra att detektera operativsystemet " +#~ "som du använder" + +#, fuzzy +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "Tillåt information om _operativsystem att skickas" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the operating system you are " +#~ "using" +#~ msgstr "" +#~ "Om kryssad kommer Gajim att tillåta andra att detektera operativsystemet " +#~ "som du använder" + +#, fuzzy +#~ msgid "" +#~ "If checked, incoming events from unauthorized contacts will be ignored. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster." +#~ msgstr "" +#~ "Kryssa i det här valet enbart om någon du inte har i registret spammar/" +#~ "irriterar dig. Använd med förstånd, för det blockerar alla meddelanden " +#~ "från alla kontakter som inte finns i ditt register" + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." +#~ msgstr "" +#~ "Gajim kan skicka och ta emot metainformation relaterad till en " +#~ "konversation som du har med en kontakt. Här kan du ange vilka " +#~ "chattstatusar som du vill skicka till den andra parten." + +#, fuzzy +#~ msgid "S_end chat state notifications" +#~ msgstr "_Skicka notifieringar för chattstatus:" + +#, fuzzy +#~ msgid "Login Options" +#~ msgstr "_Känsloikoner:" + +#~ msgid "Please wait while retrieving search form..." +#~ msgstr "Vänta under tiden sökformuläret hämtas..." + +#~ msgid "_Add contact" +#~ msgstr "_Lägg till kontakt" + +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "Vänta under tiden kommandolistan hämtas..." + +#~ msgid "Choose command to execute:" +#~ msgstr "Välj kommando att köra:" + +#~ msgid "Check once more" +#~ msgstr "Kontrollera en gång till" + +#, fuzzy +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "Vänta under tiden kommandot skickar..." + +#~ msgid "This jabber entity does not expose any commands." +#~ msgstr "Denna jabber-entitet visar inga kommandon." + +#, fuzzy +#~ msgid "F_inish" +#~ msgstr "F_ärdigställ" + +#~ msgid "Waiting for results" +#~ msgstr "Väntar på resultat" + +#~ msgid "No result" +#~ msgstr "Inga resultat" + +#~ msgid "Failed to get secret keys" +#~ msgstr "Lyckades inte hämta hemliga nycklar" + +#, fuzzy +#~ msgid "There is no OpenPGP secret key available." +#~ msgstr "Det uppstod problem när dina hemliga OpenPGP-nycklar skulle hämtas." + +#~ msgid "OpenPGP Key Selection" +#~ msgstr "Val av OpenPGP-nyckel" + +#~ msgid "Choose your OpenPGP key" +#~ msgstr "Välj din OpenPGP-nyckel" + +#~ msgid "KeyID" +#~ msgstr "Nyckel-ID" + +#~ msgid "Contact name" +#~ msgstr "Kontaktnamn" + +#, fuzzy +#~ msgid "OpenPGP is not usable" +#~ msgstr "GPG är inte användbar" + +#~ msgid "Assign OpenPGP Key" +#~ msgstr "Tilldela OpenPGP-nyckel" + +#~ msgid "Select a key to apply to the contact" +#~ msgstr "Välj en nyckel att tilldela kontakten" + +#, fuzzy +#~ msgid "" +#~ "You configured Gajim to use OpenPGP agent, but there is no OpenPGP agent " +#~ "running or it returned a wrong passphrase.\n" +#~ msgstr "" +#~ "Du har konfigurerat Gajim till att använda GPG-agent, men det finns ingen " +#~ "GPG-agent igång eller så returnerade den en felaktig lösenfras.\n" + +#~ msgid "You are currently connected without your OpenPGP key." +#~ msgstr "Du är för närvarande ansluten utan din OpenPGP-nyckel." + +#, fuzzy +#~ msgid "Wrong passphrase" +#~ msgstr "Felaktig lösenfras" + +#, fuzzy +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "Felaktig lösenfras" + +#~ msgid "Passphrase Required" +#~ msgstr "Lösenfras krävs" + +#, fuzzy +#~ msgid "" +#~ "Enter OpenPGP key passphrase for key %(keyid)s (account %(account)s)." +#~ msgstr "" +#~ "Ange GPG-nyckelns lösenfras för nyckeln %(keyid)s (kontot %(account)s)." + +#, fuzzy +#~ msgid "OpenPGP key expired" +#~ msgstr "GPG-nyckeln har gått ut" + +#, fuzzy +#~ msgid "" +#~ "Your OpenPGP key has expired, you will be connected to %s without OpenPGP." +#~ msgstr "" +#~ "Din GPG-nyckel har gått ut. Du kommer anslutas till %s utan OpenPGP." + +#~ msgid "Wrong Passphrase" +#~ msgstr "Felaktig lösenfras" + +#, fuzzy +#~ msgid "Please retype your OpenPGP passphrase or press Cancel." +#~ msgstr "Ange ditt GPG-lösenord igen eller tryck på Avbryt." + +#, fuzzy +#~ msgid "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Skicka nytt meddelande till en kontakt i registret. Både OpenPGP-nyckel " +#~ "och konto är valfria. Om du vill sätta bara \"konto\", utan \"OpenPGP-" +#~ "nyckel\", sätt bara \"OpenPGP-nyckel\" till \"\"." + +#~ msgid "if specified, the message will be encrypted using this public key" +#~ msgstr "" +#~ "om specificerat kommer meddelandet bli krypterat med den här publika " +#~ "nyckeln" + +#, fuzzy +#~ msgid "" +#~ "Sends a chat message to someone on your roster. Optionally with OpenPGP " +#~ "key and account. If you want to only set the latter, set OpenPGP key to " +#~ "\"\"." +#~ msgstr "" +#~ "Skicka nytt meddelande till en kontakt i registret. Både OpenPGP-nyckel " +#~ "och konto är valfria. Om du vill sätta bara \"konto\", utan \"OpenPGP-" +#~ "nyckel\", sätt bara \"OpenPGP-nyckel\" till \"\"." + +#, fuzzy +#~ msgid "OpenPGP:" +#~ msgstr "OpenPGP: " + +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "Tilldela Open_PGP-nyckel..." + +#, fuzzy +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "OpenPGP-meddelandekryptering" + +#, fuzzy +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "Krypterar chattmeddelanden med gpg-nycklar." + +#, fuzzy +#~ msgid "Requires: gpg and python-gnupg (%(url)s)" +#~ msgstr "Kräver gpg och python-GnuPGInterface." + +#, fuzzy +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "_Använd miljövariabeln HTTP__PROXY" + +#, fuzzy +#~ msgid "Use PGP Agent" +#~ msgstr "Använd G_PG-agent" + +#, fuzzy +#~ msgid "OpenPGP Key" +#~ msgstr "Tilldela OpenPGP-nyckel" + +#~ msgid "Cancel confirmation" +#~ msgstr "Avbryt bekräftelse" + +#~ msgid "" +#~ "You are in process of executing command. Do you really want to cancel it?" +#~ msgstr "Du håller på att köra ett kommando. Vill du verkligen avbryta det?" + +#~ msgid "Service returned an error." +#~ msgstr "Tjänsten returnerade ett fel." + +#~ msgid "You are invited to a groupchat" +#~ msgstr "Du är inbjuden till en gruppchatt" + +#~ msgid "_Start Chat" +#~ msgstr "_Starta chatt" + +#~ msgid "Au_thorize" +#~ msgstr "Au_ktorisera" + +#~ msgid "Really send file?" +#~ msgstr "Verkligen skicka filen?" + +#~ msgid "You are currently connected to the server" +#~ msgstr "Du är för närvarande ansluten till servern" + +#, fuzzy +#~ msgid "To disable the account, you must be disconnected." +#~ msgstr "För att ändra kontonamnet måste du vara frånkopplad" + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with %(jid)s?" +#~ msgstr "Vill du verkligen ta bort det valda meddelandet?" + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with the selected contacts?" +#~ msgstr "Vill du verkligen ta bort loggar för den valda kontakten?" + +#, fuzzy +#~ msgid "This can not be undone." +#~ msgstr "Denna tjänst kunde inte hittas" + +#~ msgid "What do you want to do?" +#~ msgstr "Vad vill du göra?" + +#, fuzzy +#~ msgid "" +#~ "List of colors, separated by \":\", that will be used to color nicknames " +#~ "in group chats." +#~ msgstr "" +#~ "Lista på färger som kommer användas för att färga smeknamnet i " +#~ "gruppchattar.<" + +#~ msgid "Stopped" +#~ msgstr "Stoppad" + +#~ msgid "" +#~ "You are about to send your password on an insecure connection. You should " +#~ "install PyOpenSSL to prevent that. Are you sure you want to do that?" +#~ msgstr "" +#~ "Du är på väg att skicka ditt lösenord över en osäker anslutning. Du bör " +#~ "installera PyOpenSSL för att förhindra det. Är du säker på att du vill " +#~ "skicka lösenordet?" + +#, fuzzy +#~ msgid "Status messages displayed in chat window" +#~ msgstr "Skicka meddelande och stäng fönster" + +#~ msgid "?print_status:All" +#~ msgstr "?print_status:Alla" + +#~ msgid "Enter and leave only" +#~ msgstr "In- och utgång enbart" + +#~ msgid "?print_status:None" +#~ msgstr "?print_status:Ingen" + +#, fuzzy +#~ msgid "Untrusted OpenPGP key" +#~ msgstr "Välj din OpenPGP-nyckel" + +#, fuzzy +#~ msgid "" +#~ "The OpenPGP key used to encrypt this chat is not trusted. Do you really " +#~ "want to encrypt this message?" +#~ msgstr "" +#~ "GPG-nyckeln som används för att kryptera denna chatt är inte pålitlig. " +#~ "Vill du verkligen kryptera detta meddelande?" + +#~ msgid "D-Bus python bindings are missing in this computer" +#~ msgstr "D-Bus python-bindningar saknas på den här datorn" + +#~ msgid "D-Bus capabilities of Gajim cannot be used" +#~ msgstr "Gajims D-Bus-egenskaper kan inte användas" + +#, fuzzy +#~ msgid "D-Bus does not run correctly on this machine: system bus not present" +#~ msgstr "D-Bus finns inte på den här maskinen eller så saknas pythonmodulen" + +#, fuzzy +#~ msgid "" +#~ "D-Bus does not run correctly on this machine: session bus not present" +#~ msgstr "D-Bus finns inte på den här maskinen eller så saknas pythonmodulen" + +#, fuzzy +#~ msgid "Command line Control" +#~ msgstr "Kommandorad" + +#, fuzzy +#~ msgid "Enables you to control Gajim with via commandline" +#~ msgstr "Ett skript för att styra Gajim via kommandraden." + +#~ msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +#~ msgstr "%(nick)s har blivit sparkad av %(who)s: %(reason)s" + +#~ msgid "%(nick)s has been banned by %(who)s: %(reason)s" +#~ msgstr "%(nick)s har blivit bannlyst av %(who)s: %(reason)s" + +#~ msgid "system shutdown" +#~ msgstr "systemet stängs av" + +#~ msgid "** Role of %(nick)s has been set to %(role)s" +#~ msgstr "** Rollen för %(nick)s har ställts in till %(role)s" + +#~ msgid "%s has left" +#~ msgstr "%s har lämnat" + +#, fuzzy +#~ msgid "%s is full" +#~ msgstr "Typsnitt" + +#, fuzzy +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "Visa status_meddelanden för kontakter i kontaktlista" + +#, fuzzy +#~ msgid "" +#~ "You are about to send your password unencrypted on an insecure " +#~ "connection. Are you sure you want to do that?" +#~ msgstr "" +#~ "Du är på väg att skicka ditt lösenord över en okrypterad anslutning. Är " +#~ "du säker på att du vill göra det?" + +#, fuzzy +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "Anonym autentisering" + +#, fuzzy +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "Anon_ym autentisering" + +#, fuzzy +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "Anon_ym autentisering" + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." +#~ msgstr "" +#~ "Gajim kan skicka och ta emot metainformation relaterad till en " +#~ "konversation som du har med en kontakt. Här kan du ange vilka " +#~ "chattstatusar som du vill visa i chattfönster." + +#~ msgid "This is an irreversible operation." +#~ msgstr "Denna operation kan inte göras ogjord." + +#~ msgid "Settings" +#~ msgstr "Inställningar" + +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "" +#~ "Välkommen till Gajims hanterare för historikloggar" + +#, fuzzy +#~ msgid "Toggle full / compact view" +#~ msgstr "Visa alltid kompakt _vy" + +#~ msgid "Member List" +#~ msgstr "Medlemslista" + +#~ msgid "Owner List" +#~ msgstr "Ägarlista" + +#~ msgid "Administrator List" +#~ msgstr "Administratörslista" + +#~ msgid "Nick" +#~ msgstr "Smeknamn" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "Vem vill du bannlysa?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Member…" +#~ msgstr "Lägger till medlem..." + +#~ msgid "" +#~ "Whom do you want to make a member?\n" +#~ "\n" +#~ msgstr "" +#~ "Vem vill du göra till medlem?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Owner…" +#~ msgstr "Lägger till ägare..." + +#~ msgid "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" +#~ msgstr "" +#~ "Vem vill du göra till ägare?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Administrator…" +#~ msgstr "Lägger till administratör..." + +#~ msgid "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" +#~ msgstr "" +#~ "Vem vill du göra till administratör?\n" +#~ "\n" + +#~ msgid "Error reading file:" +#~ msgstr "Fel vid läsning av fil:" + +#~ msgid "Error parsing file:" +#~ msgstr "Fel vid parsning av fil:" + +#~ msgid "List of possible features in Gajim:" +#~ msgstr "Lista över möjliga funktioner i Gajim:" + +#~ msgid "Description" +#~ msgstr "Beskrivning" + +#~ msgid "Password encryption" +#~ msgstr "Lösenordskryptering" + +#~ msgid "Spellchecking of composed messages." +#~ msgstr "Stavningskontrollerar meddelanden." + +#~ msgid "Automatic status" +#~ msgstr "Automatisk status" + +#~ msgid "Requires python2.5." +#~ msgstr "Kräver python2.5." + +#, fuzzy +#~ msgid "?features:Available" +#~ msgstr "Tillgänglig" + +#~ msgid "Feature" +#~ msgstr "Funktion" + +#~ msgid "Filter:" +#~ msgstr "Filter:" + +#~ msgid "Chat Appearance" +#~ msgstr "Chattutseende" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed out" +#~ msgstr "" +#~ "Gajim kommer att notifiera dig via ett popupfönster i nedre högra hörnet " +#~ "av skärmen om kontakter som just loggat ut" + +#~ msgid "Sounds" +#~ msgstr "Ljud" + +#~ msgid "Chat state notifications" +#~ msgstr "Notifieringar för chattstatus" + +#, fuzzy +#~ msgid "_Away after" +#~ msgstr "_Frånvarande efter:" + +#, fuzzy +#~ msgid "_Not available after" +#~ msgstr "_Inte tillgänglig efter:" + +#~ msgid "Auto Status" +#~ msgstr "Automatisk status" + +#~ msgid "Status Messages" +#~ msgstr "Statusmeddelanden" + +#, fuzzy +#~ msgid "Audio" +#~ msgstr "Åtgärder" + +#, fuzzy +#~ msgid "Video" +#~ msgstr "Mellannamn:" + +#, fuzzy +#~ msgid "Connection" +#~ msgstr "Villkor" + +#~ msgid "Custom" +#~ msgstr "Anpassad" + +#~ msgid "Privacy" +#~ msgstr "Integritet" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "Avancerad konfigurationsredigerare" + +#, fuzzy +#~ msgid "File transfer, room bookmarks" +#~ msgstr "Fel i Filöverföring" + +#, fuzzy +#~ msgid "XML console interface" +#~ msgstr "XML-konsol" + +#, fuzzy +#~ msgid "" +#~ "A programming error has been detected. It probably is not fatal, but " +#~ "should be reported to the developers nonetheless." +#~ msgstr "" +#~ "Det är antagligen inte ödesdigert men det bör dock rapporteras till " +#~ "utvecklarna oavsett." + +#~ msgid "(ESession info)" +#~ msgstr "(ESession-info)" + +#, fuzzy +#~ msgid "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" +#~ msgstr "" +#~ "Om inte avstängd kommer Gajim ersätta ascii-smilies som \":)\" med " +#~ "motsvarande animerade eller statiska grafiska känsloikoner" + +#, fuzzy +#~ msgid "_Emoticons" +#~ msgstr "_Känsloikoner:" + +#~ msgid "_Highlight misspelled words" +#~ msgstr "_Markera felstavade ord" + +#, fuzzy +#~ msgid "Notify by icon when your messages are received" +#~ msgstr "Ljud att spela upp när ett MUC-meddelande anländer." + +#, fuzzy +#~ msgid "T_heme" +#~ msgstr "T_ema:" + +#~ msgid "Themes" +#~ msgstr "Teman" + +#~ msgid "Always use this nickname when there is a conflict" +#~ msgstr "Använd alltid detta smeknamn när det finns en konflikt" + +#, fuzzy +#~ msgid "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." +#~ msgstr "" +#~ "Jabberd1.4 tycker inte om SHA-info när man ansluter till ett " +#~ "lösenordsskyddat rum. Sätt denna inställning till False för att inte " +#~ "skicka SHA-info i gruppchattnärvaroinformation" + +#, fuzzy +#~ msgid "Presence" +#~ msgstr "_Närvaro" + +#~ msgid "Emoticons disabled" +#~ msgstr "Känsloikoner inaktiverade" + +#, fuzzy +#~ msgid "" +#~ "Your configured emoticons theme could not be loaded. See the log for more " +#~ "details." +#~ msgstr "" +#~ "Ditt konfigurerade känsloikontema hittades inte så känsloikoner har " +#~ "inaktiverats." + +#~ msgid "You cannot make changes to the default theme" +#~ msgstr "Du kan inte göra ändringar i standardtemat" + +#~ msgid "theme name" +#~ msgstr "temanamn" + +#~ msgid "You cannot delete your current theme" +#~ msgstr "Du kan inte ta bort ditt nuvarande tema" + +#~ msgid "New Single Message from %(nickname)s" +#~ msgstr "Nytt meddelande från %(nickname)s" + +#~ msgid "New Private Message from group chat %s" +#~ msgstr "Nytt privat meddelande från gruppchatten %s" + +#~ msgid "%(nickname)s: %(message)s" +#~ msgstr "%(nickname)s: %(message)s" + +#~ msgid "Messaged by %(nickname)s" +#~ msgstr "Skickat av %(nickname)s" + +#, fuzzy +#~ msgid "Status message text color." +#~ msgstr "text för statusmeddelande" + +#, fuzzy +#~ msgid "Incoming nickname font." +#~ msgstr "Ogiltigt smeknamn" + +#, fuzzy +#~ msgid "Status message text font." +#~ msgstr "text för statusmeddelande" + +#~ msgid "Background color of contacts when they just signed in." +#~ msgstr "Bakgrundsfärg på kontakter när de precis loggat in." + +#~ msgid "Background color of contacts when they just signed out." +#~ msgstr "Bakgrundsfärg på kontakter när de precis loggat ut." + +#~ msgid "green" +#~ msgstr "green" + +#~ msgid "grocery" +#~ msgstr "grocery" + +#~ msgid "human" +#~ msgstr "human" + +#~ msgid "marine" +#~ msgstr "marine" + +#, fuzzy +#~ msgid "Contact row" +#~ msgstr "Kontakt" + +#, fuzzy +#~ msgid "Chat Banner" +#~ msgstr "Banderoll:" + +#~ msgid "Gajim Themes Customization" +#~ msgstr "Gajims temaanpassare" + +#~ msgid "Text _color:" +#~ msgstr "Text_färg:" + +#~ msgid "_Background:" +#~ msgstr "_Bakgrund:" + +#~ msgid "Text _font:" +#~ msgstr "Text_typsnitt:" + +#~ msgid "Font style:" +#~ msgstr "Typsnittsstil:" + +#~ msgid "Paused" +#~ msgstr "Pausad" + +#~ msgid "Gone" +#~ msgstr "Borta" + +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "" +#~ "MUC-\n" +#~ "meddelanden" + +#~ msgid "Chatstate Tab Colors" +#~ msgstr "Flikfärger för chattstatus" + +#, fuzzy +#~ msgid "Chat message" +#~ msgstr "Chattmeddelande:" + +#~ msgid "Use system _default" +#~ msgstr "Använd systemets _standard" + +#~ msgid "Font" +#~ msgstr "Typsnitt" + +#, fuzzy +#~ msgid "Contact's nickname" +#~ msgstr "Kontaktnamn" + +#, fuzzy +#~ msgid "_Status message" +#~ msgstr "_Statusmeddelande:" + +#, fuzzy +#~ msgid "Your message" +#~ msgstr "Felmeddelande: %s" + +#~ msgid "Chat Line Colors" +#~ msgstr "Radfärger för chatt" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber-ID:" + +#~ msgid "Resource:" +#~ msgstr "Resurs:" + +#~ msgid "Status:" +#~ msgstr "Status:" + +#~ msgid "Client:" +#~ msgstr "Klient:" + +#, fuzzy +#~ msgid "Contact time:" +#~ msgstr "Län:" + +#~ msgid "Ask:" +#~ msgstr "Fråga:" + +#~ msgid "Subscription:" +#~ msgstr "Prenumeration:" + +#~ msgid "Name:" +#~ msgstr "Namn:" + +#~ msgid "Nickname:" +#~ msgstr "Smeknamn:" + +#~ msgid "Street:" +#~ msgstr "Gatuadress:" + +#~ msgid "City:" +#~ msgstr "Stad:" + +#~ msgid "State:" +#~ msgstr "Län:" + +#~ msgid "Extra Address:" +#~ msgstr "Extra adress:" + +#~ msgid "Postal Code:" +#~ msgstr "Postnummer:" + +#~ msgid "Country:" +#~ msgstr "Land:" + +#~ msgid "Homepage:" +#~ msgstr "Webbplats:" + +#~ msgid "E-Mail:" +#~ msgstr "E-post:" + +#~ msgid "Phone No.:" +#~ msgstr "Telefonnr.:" + +#~ msgid "Birthday:" +#~ msgstr "Födelsedag:" + +#~ msgid "Family:" +#~ msgstr "Efternamn:" + +#~ msgid "Middle:" +#~ msgstr "Mellannamn:" + +#~ msgid "Prefix:" +#~ msgstr "Titel:" + +#~ msgid "Given:" +#~ msgstr "Tilltalsnamn:" + +#~ msgid "Suffix:" +#~ msgstr "Suffix:" + +#~ msgid "Full Name" +#~ msgstr "Fullständigt namn" + +#~ msgid "Company:" +#~ msgstr "Företag:" + +#~ msgid "Department:" +#~ msgstr "Avdelning:" + +#~ msgid "Position:" +#~ msgstr "Position:" + +#~ msgid "Role:" +#~ msgstr "Roll:" + +#~ msgid "- messages will be logged" +#~ msgstr "- meddelanden kommer att loggas" + +#~ msgid "- messages will not be logged" +#~ msgstr "- meddelanden kommer inte att loggas" + +#~ msgid "Edit %s" +#~ msgstr "Redigera %s" + +#~ msgid "Conversation History with %s" +#~ msgstr "Konversationshistorik med %s" + +#~ msgid "Contact with \"%s\" cannot be established" +#~ msgstr "Kontakt med \"%s\" kan inte etableras" + +#~ msgid "Registration information for transport %s has not arrived in time" +#~ msgstr "" +#~ "Registreringsinformation för transporten %s har inte kommit fram i tid" + +#~ msgid "Register to" +#~ msgstr "Registrera hos" + +#, fuzzy +#~ msgid "Enter name / JID of contact or groupchat" +#~ msgstr "Kontaktnamn" + +#~ msgid "Search:" +#~ msgstr "Sök:" + +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "Du kan inte ändra ditt lösenord utan en anslutning." + +#~ msgid "Invalid password" +#~ msgstr "Ogiltigt lösenord" + +#~ msgid "The passwords typed in both fields must be identical." +#~ msgstr "Lösenorden skrivna i båda fälten måste vara identiska." + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "Ange det igen för att bekräfta:" + +#~ msgid "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" +#~ msgstr "" +#~ "JID %s följer inte RFC-standarden. Det kommer inte att läggas till din " +#~ "kontaktlista. Använd kontakthanteringsverktyg såsom http://jru." +#~ "jabberstudio.org/ för att ta bort det" + +#~ msgid "unsubscribe request from %s" +#~ msgstr "avprenumerationsförfrågan från %s" + +#, fuzzy +#~ msgid "Homepage:" +#~ msgstr "Webbplats:" + +#~ msgid "Manage Bookmarks" +#~ msgstr "Hantera bokmärken" + +#~ msgid "_Nickname:" +#~ msgstr "_Smeknamn:" + +#, fuzzy +#~ msgid "Pr_int status:" +#~ msgstr "Skriv ut status:" + +#, fuzzy +#~ msgid "Add JID" +#~ msgstr "Jabber-ID" + +#, fuzzy +#~ msgid "Preference:" +#~ msgstr "Inställningar" + +#, fuzzy +#~ msgid "Preference" +#~ msgstr "Inställningar" + +#, fuzzy +#~ msgid "JID:" +#~ msgstr "Ditt JID:" + +#, fuzzy +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "Fyll i informationen om kontakten du vill lägga till i konto %s" + +#~ msgid "Please fill in the data of the contact you want to add" +#~ msgstr "Fyll i informationen om kontakten du vill lägga till" + +#, fuzzy +#~ msgid "Recently" +#~ msgstr "Senaste:" + +#~ msgid "Add New Contact" +#~ msgstr "Lägg till ny kontakt" + +#~ msgid "_User ID:" +#~ msgstr "_Användar-id:" + +#, fuzzy +#~ msgid "Type User ID" +#~ msgstr "Användar-id:" + +#, fuzzy +#~ msgid "Type Nickname" +#~ msgstr "Smeknamn" + +#~ msgid "Personal Information" +#~ msgstr "Personlig information" + +#~ msgid "Avatar:" +#~ msgstr "Avatar:" + +#~ msgid "Click to set your avatar" +#~ msgstr "Klicka för att ange din avatar" + +#, fuzzy +#~ msgid "Remove Avatar" +#~ msgstr "Ta bort grupp" + +#~ msgid "Not fetched because of invisible status" +#~ msgstr "Inte hämtad på grund av osynlig status" + +#~ msgid "Please wait..." +#~ msgstr "Vänta..." + +#~ msgid "Log _encrypted chat session" +#~ msgstr "Logga kr_ypterad chattsession" + +#~ msgid "Yahoo! Address:" +#~ msgstr "Yahoo!-adress:" + +#~ msgid "Forward unread messages" +#~ msgstr "Vidarebefordra olästa meddelanden" + +#~ msgid "All unread messages have been forwarded." +#~ msgstr "Alla olästa meddelanden har vidarebefordrats." + +#, fuzzy +#~ msgid "Forward unread message then disconnect" +#~ msgstr "Vidarebefordra olästa meddelanden" + +#~ msgid "MSN Address:" +#~ msgstr "MSN-adress:" + +#~ msgid "Confirm these session options" +#~ msgstr "Bekräfta dessa sessionsalternativ" + +#, fuzzy +#~ msgid "" +#~ "The remote client wants to negotiate a session with these features:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Are these options acceptable?" +#~ msgstr "" +#~ "Fjärrklienten vill förhandla en session med dessa funktioner:\n" +#~ "\n" +#~ "\t%s\n" +#~ "\n" +#~ "\tGodtar du dessa alternativ?" + +#~ msgid "" +#~ "The remote client selected these options:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Continue with the session?" +#~ msgstr "" +#~ "Fjärrklienten har valt dessa alternativ:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Vill du fortsätta med sessionen?" + +#, fuzzy +#~ msgid "Always accept for this contact" +#~ msgstr "Är OpenPGP aktiverat för denna kontakt?" + +#, fuzzy +#~ msgid "End to End message encryption" +#~ msgstr "OpenPGP-kryptering" + +#~ msgid "Encrypting chat messages." +#~ msgstr "Krypterar chattmeddelanden." + +#~ msgid "Requires python-crypto." +#~ msgstr "Kräver python-crypto." + +#~ msgid "Session negotiation cancelled" +#~ msgstr "Sessionsförhandlingen avbröts" + +#~ msgid "This session is encrypted" +#~ msgstr "Denna session är krypterad" + +#~ msgid " and WILL be logged" +#~ msgstr " och KOMMER att loggas" + +#~ msgid " and WILL NOT be logged" +#~ msgstr " och KOMMER INTE att loggas" + +#~ msgid "" +#~ "Remote contact's identity not verified. Click the shield button for more " +#~ "details." +#~ msgstr "" +#~ "Fjärrkontaktens identitet har inte verifierats. Klicka på sköldknappen " +#~ "för mer information." + +#, fuzzy +#~ msgid "end-to-end encryption disabled" +#~ msgstr "GPG-kryptering inaktiverad" + +#~ msgid "" +#~ "Unable to decrypt message from %s\n" +#~ "It may have been tampered with." +#~ msgstr "" +#~ "Kunde inte dekryptera meddelande från %s\n" +#~ "Det kan ha manipulerats." + +#~ msgid "Unable to decrypt message" +#~ msgstr "Kunde inte dekryptera meddelande" + +#~ msgid "Enable ESessions encryption for this account." +#~ msgstr "Aktivera ESessions-kryptering för detta konto." + +#~ msgid "Should Gajim automatically start an encrypted session when possible?" +#~ msgstr "" +#~ "Ska Gajim automatiskt starta en krypterad session när det är möjligt?" + +#~ msgid "" +#~ "[This is part of an encrypted session. If you see this message, something " +#~ "went wrong.]" +#~ msgstr "" +#~ "[Detta är en del av en krypterad session. Om du ser detta meddelande så " +#~ "har någonting gått fel.]" + +#~ msgid "Requires python-avahi." +#~ msgstr "Kräver python-avahi." + +#, fuzzy +#~ msgid "Save Image as…" +#~ msgstr "Spara bild som..." + +#, fuzzy +#~ msgid "Exporting History Logs…" +#~ msgstr "Exporterar Loggar..." + +#~ msgid "When %s becomes:" +#~ msgstr "När %s blir:" + +#~ msgid "Adding Special Notification for %s" +#~ msgstr "Lägger Till Speciellt Meddelande För %s" + +#, fuzzy +#~ msgid "" +#~ "It seems the SSL certificate of account %(account)s has changed and is " +#~ "not valid or your connection is being compromised.\n" +#~ "\n" +#~ "Old SHA-1 fingerprint: %(old_sha1)s\n" +#~ "Old SHA-256 fingerprint: %(old_sha256)s\n" +#~ "\n" +#~ "New SHA-1 fingerprint: %(new_sha1)s\n" +#~ "New SHA-256 fingerprint: %(new_sha256)s\n" +#~ "\n" +#~ "Do you still want to connect and update the fingerprint of the " +#~ "certificate?" +#~ msgstr "" +#~ "Det verkar som om SSL-certifikatet för kontot %(account)s har ändrats " +#~ "eller att din anslutning har komprometterats.\n" +#~ "Gammalt fingeravtryck: %(old)s\n" +#~ "Nytt fingeravtryck: %(new)s\n" +#~ "\n" +#~ "Vill du fortfarande ansluta och uppdatera fingeravtrycket för " +#~ "certifikatet?" + +#~ msgid "Unable to load idle module" +#~ msgstr "Kunde inte läsa in idle-modul" + +#, fuzzy +#~ msgid "%s or %s is a directory but should be a file" +#~ msgstr "%s är en katalog men den borde vara en fil" + +#~ msgid "creating logs database" +#~ msgstr "skapar loggdatabas" + +#, fuzzy +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "Skicka %s till %s" + +#, fuzzy +#~ msgid "Rename account label" +#~ msgstr "Byt namn på konto" + +#, fuzzy +#~ msgid "Send Single Message..." +#~ msgstr "Skicka ett _meddelande..." + +#~ msgid "E2E encryption disabled" +#~ msgstr "E2E-kryptering inaktiverad" + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Lägg till detta certifikat till listan över pålitliga certifikat.\n" +#~ "SHA1-fingeravtryck för certifikatet:\n" +#~ "%s" + +#~ msgid "uri" +#~ msgstr "URI" + +#, fuzzy +#~ msgid "" +#~ "Install /\n" +#~ "Upgrade" +#~ msgstr "Avstannad" + +#, fuzzy +#~ msgid "Install/Upgrade" +#~ msgstr "Avstannad" + +#~ msgid "cyan" +#~ msgstr "cyan" + +#~ msgid "migrating logs database to indices" +#~ msgstr "migrerar loggdatabas till index" + +#, fuzzy +#~ msgid "Send File..." +#~ msgstr "Skicka _fil..." + +#, fuzzy +#~ msgid "HTTP File Upload not supported by your server" +#~ msgstr "Metakontakter kan inte lagras på din server" + +#, fuzzy +#~ msgid "Jingle File Transfer" +#~ msgstr "Filöverföringar" + +#~ msgid "" +#~ "Your configured emoticons theme has not been found, so emoticons have " +#~ "been disabled." +#~ msgstr "" +#~ "Ditt konfigurerade känsloikontema hittades inte så känsloikoner har " +#~ "inaktiverats." + +#~ msgid "Shows or hides the roster window" +#~ msgstr "Visar eller döljer kontaktlistan" + +#~ msgid "Shows or hides the ipython window" +#~ msgstr "Visar eller döljer ipython-fönstret" + +#, fuzzy +#~ msgid "XMPP account %s" +#~ msgstr "XMPP-kontot %s@%s" + +#, fuzzy +#~ msgid "Exception" +#~ msgstr "Beskrivning" + +#~ msgid "" +#~ "someone@somewhere.com would like you to add some contacts " +#~ "in your roster." +#~ msgstr "" +#~ "någon@någonstans.se vill att du ska lägga till några " +#~ "kontakter till din kontaktlista." + +#~ msgid "_Actions" +#~ msgstr "_Åtgärder" + +#, fuzzy +#~ msgid "Requires upower and python-dbus." +#~ msgstr "Kräver python-dbus." + +#~ msgid "You are already in group chat %s" +#~ msgstr "Du är redan i gruppchatten %s" + +#~ msgid "Join Group Chat with account %s" +#~ msgstr "Anslut till gruppchatt med konto %s" + +#, fuzzy +#~ msgid "" +#~ "You have to choose an account from which you want to join the groupchat." +#~ msgstr "Konto från vilket du vill gå in i rummet" + +#, fuzzy +#~ msgid "Please enter the group chat JID as room@server." +#~ msgstr "Rums- eller servernamnet innehåller icke tillåtna tecken." + +#, fuzzy +#~ msgid "The group chat JID contains invalid characters." +#~ msgstr "Rums- eller servernamnet innehåller icke tillåtna tecken." + +#~ msgid "Start Chat with account %s" +#~ msgstr "Starta Chatt med konto %s" + +#, fuzzy +#~ msgid "" +#~ "Fill in the nickname or the JID of the contact you would like\n" +#~ "to send a chat message to:" +#~ msgstr "" +#~ "Ange ett smeknamn eller Jabber-ID för kontakten som du vill\n" +#~ "skicka ett chattmeddelande till:" + +#, fuzzy +#~ msgid "Nickname / JID" +#~ msgstr "Dubblerat Jabber-ID" + +#~ msgid "Unable to parse \"%s\"." +#~ msgstr "Kunde inte tolka \"%s\"." + +#~ msgid "Shows the chat dialog so that you can send messages to a contact" +#~ msgstr "Visa chattdialogen så att du kan skicka meddelanden till en kontakt" + +#~ msgid "JID of the contact that you want to chat with" +#~ msgstr "JID för kontakten som du vill chatta med" + +#~ msgid "Adds contact to roster" +#~ msgstr "Lägger till en kontakt till kontaktlistan" + +#~ msgid "jid" +#~ msgstr "JID" + +#~ msgid "Adds new contact to this account" +#~ msgstr "Lägger till ny kontakt till detta kontot" + +#~ msgid "Opens 'Start Chat' dialog" +#~ msgstr "Öppnar \"Starta chatt\" dialogen" + +#~ msgid "Starts chat, using this account" +#~ msgstr "Startar chatt, med detta kontot" + +#, fuzzy +#~ msgid "Handle a xmpp:/ URI" +#~ msgstr "Hantera en xmpp:/ URI" + +#~ msgid "URI to handle" +#~ msgstr "URI att hantera" + +#~ msgid "Account in which you want to handle it" +#~ msgstr "Konto i vilket du vill hanterare den" + +#~ msgid "Message content" +#~ msgstr "Meddelandeinnehåll" + +#~ msgid "Join a MUC room" +#~ msgstr "Gå in i ett MUC-rum" + +#~ msgid "Nickname to use" +#~ msgstr "Smeknamn att använda" + +#~ msgid "Password to enter the room" +#~ msgstr "Lösenord för att gå in i rummet" + +#~ msgid "Account from which you want to enter the room" +#~ msgstr "Konto från vilket du vill gå in i rummet" + +#, fuzzy +#~ msgid "Wrong URI" +#~ msgstr "Felaktig uri" + +#~ msgid "Nickname:" +#~ msgstr "Smeknamn:" + +#~ msgid "Server:" +#~ msgstr "Server:" + +#, fuzzy +#~ msgid "Join this room _automatically when I connect" +#~ msgstr "Gå in detta rum automatiskt när jag ansluter" + +#, fuzzy +#~ msgid "Bro_wse Rooms" +#~ msgstr "_Bläddra" + +#, fuzzy +#~ msgid "Requires libgtkspell and libenchant." +#~ msgstr "Kräver libgtkspell." + +#, fuzzy +#~ msgid "Network-Watcher" +#~ msgstr "Network-manager" + +#~ msgid "Autodetection of network status." +#~ msgstr "Automatisk detektering av nätverksstatus." + +#, fuzzy +#~ msgid "Requires gnome-network-manager" +#~ msgstr "Kräver gnome-network-manager och python-dbus." + +#, fuzzy +#~ msgid "Feature not available, see Help->Features" +#~ msgstr "Funktionen är inte tillgänglig under Windows." + +#~ msgid "This contact does not support file transfer." +#~ msgstr "Denna kontakt har inte stöd för filöverföringar." + +#~ msgid "" +#~ "You have to install %s dictionary to use spellchecking, or choose another " +#~ "language by setting the speller_language option." +#~ msgstr "" +#~ "Du måste installera %s ordboken för att använda stavningskontroll, eller " +#~ "välj ett annat språk genom att sätta valet speller_language" + +#~ msgid "Hides the buttons in chat windows." +#~ msgstr "Döljer knapparna i chattfönster." + +#~ msgid "Change the room's subject (Alt+T)" +#~ msgstr "Ändra rummets ärende (Alt+T)" + +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "Bokmärk detta rum (Ctrl+B)" + +#~ msgid "Browse the chat history (Ctrl+H)" +#~ msgstr "Bläddra i chatthistoriken (Ctrl+H)" + +#, fuzzy +#~ msgid "Show advanced functions (Alt+D)" +#~ msgstr "Visa en meny över avancerade funktioner (Alt+A)" + +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "Lägg till denna kontakt till kontaktlistan (Ctrl+D)" + +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "Bjud in kontakter till konversationen (Ctrl+G)" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Visa kontaktens profil (Ctrl+I)" + +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Visa kontaktens profil (Ctrl+I)" + +#~ msgid "Ma_ke message windows compact" +#~ msgstr "_Gör meddelandefönstren kompakta" + +#~ msgid "Hide all buttons in chat windows" +#~ msgstr "Dölj alla knappar i chattfönster" + +#, fuzzy +#~ msgid "Hide the chat buttons" +#~ msgstr "Användning: /%s, döljer chattknapparna." + +#~ msgid "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." +#~ msgstr "" +#~ "Om sant kommer Gajim att fråga alla kontakter som antingen inte hade en " +#~ "avatar senaste gången, eller som har en mellanlagrad avatar som är för " +#~ "gammal." + +#~ msgid "Set Custom _Avatar..." +#~ msgstr "Ställ in anpassad _avatar..." + +#, fuzzy +#~ msgid "SSL certificate validation" +#~ msgstr "Validering av SSL-certifikat" + +#~ msgid "" +#~ "A library used to validate server certificates to ensure a secure " +#~ "connection." +#~ msgstr "" +#~ "Ett bibliotek som används för att validera servercertifikat för att " +#~ "försäkra en säker anslutning." + +#, fuzzy +#~ msgid "Requires python-pyopenssl > 0.12 and pyasn1." +#~ msgstr "Kräver python-pyopenssl." + +#, fuzzy +#~ msgid "?CLI:room" +#~ msgstr "rum" + +#, fuzzy +#~ msgid "?CLI:nick" +#~ msgstr "smeknamn" + +#, fuzzy +#~ msgid "?CLI:password" +#~ msgstr "lösenord" + +#~ msgid "Use D-Bus and Notification-Daemon to show notifications" +#~ msgstr "Använd D-Bus och Notification-Daemon för att visa meddelanden" + +#~ msgid "Notification" +#~ msgstr "Notifiering" + +#~ msgid "" +#~ "Requires python-notify or instead python-dbus in conjunction with " +#~ "notification-daemon." +#~ msgstr "" +#~ "Kräver python-notify eller python-dbus i kombination med notification-" +#~ "daemon." + +#~ msgid "Ignore" +#~ msgstr "Ignorera" + +#~ msgid "_Open Gmail Inbox" +#~ msgstr "_Öppna Gmail-inkorg" + +#~ msgid "Notify on new _GMail email" +#~ msgstr "Notifiera vid ny _Gmail-e-post" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will show a notification when a new e-mail is received " +#~ "via GMail" +#~ msgstr "" +#~ "Om kryssad kommer Gajim också inkludera information om vem som skickade " +#~ "den nya e-posten" + +#~ msgid "Display _extra email details" +#~ msgstr "Visa _extra e-postdetaljer" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will also include information about the sender of new " +#~ "emails" +#~ msgstr "" +#~ "Om kryssad kommer Gajim även att inkludera information om avsändaren av " +#~ "den nya e-posten" + +#~ msgid "GMail Options" +#~ msgstr "GMail-inställningar" + +#, fuzzy +#~ msgid "20" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Invited %s to %s" +#~ msgstr "Skicka %s till %s" + +#~ msgid "GMail Email Received" +#~ msgstr "E-post mottaget på GMail" + +#, fuzzy +#~ msgid "New e-mail on %(gmail_mail_address)s" +#~ msgstr "Ny e-post på %(gmail_mail_address)s" + +#, fuzzy +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "Du har %d ny e-postkonversation" +#~ msgstr[1] "Du har %d nya e-postkonversationer" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "From: %(from_address)s\n" +#~ "Subject: %(subject)s\n" +#~ "%(snippet)s" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "Från: %(from_address)s\n" +#~ "Ämne: %(subject)s\n" +#~ "%(snippet)s" + +#~ msgid "Resour_ce:" +#~ msgstr "Resur_s:" + +#~ msgid "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" +#~ msgstr "" +#~ "Resursen skickas till Jabberservern för att separera samma JID i två " +#~ "eller flera delar beroende på antalet klienter anslutna till samma server " +#~ "med samma konto. Så du kan vara ansluten till samma konto med resurserna " +#~ "\"Hem\" och \"Jobb\" samtidigt. Resursen med högst prioritet kommer få " +#~ "händelserna. (se nedan)" + +#~ msgid "A_djust to status" +#~ msgstr "Justera _efter status" + +#~ msgid "Anonymous authentication" +#~ msgstr "Anonym autentisering" + +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "Prioritet används i Jabber för att fastställa vem som får händelser från " +#~ "jabberservern när två eller flera klienter är anslutna till samma konto: " +#~ "Klienten med den högsta prioriteten får händelserna" + +#, fuzzy +#~ msgid "Synchronize contacts" +#~ msgstr "Synkronisera kontakter" + +#~ msgid "Click to request authorization to all contacts of another account" +#~ msgstr "" +#~ "Klicka för att begära auktorisation till alla kontakter för annat konto" + +#~ msgid "Chan_ge Password" +#~ msgstr "_Byt lösenord" + +#~ msgid "Administration operations" +#~ msgstr "Administrationsåtgärder" + +#, fuzzy +#~ msgid "Browse..." +#~ msgstr "_Bläddra" + +#, fuzzy +#~ msgid "Certificate is e_ncrypted" +#~ msgstr "Certifikatet nekades" + +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "" +#~ "Om kryssad kommer Gajim att, vid start, automatiskt ansluta till jabber " +#~ "med detta konto" + +#, fuzzy +#~ msgid "Synchronize logs with server" +#~ msgstr "Synkronisera kontakter" + +#~ msgid "Synch_ronize account status with global status" +#~ msgstr "Synk_ronisera kontostatus med global status" + +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "Om kryssad kommer varje ändring av global status (hanteras av " +#~ "kombinationsrutan i botten av kontaktlistfönstret) att påverka statusen " +#~ "även för detta konto" + +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "Om kryssad kommer Gajim att sända ut fler IP-adresser än bara ditt IP. " +#~ "Detta för att öka chanserna att filöverföringar ska fungera som de ska." + +#~ msgid "Proxy" +#~ msgstr "Proxyserver" + +#~ msgid "" +#~ "Check this so Gajim will ask you before sending your password over an " +#~ "insecure connection." +#~ msgstr "" +#~ "Kryssa för denna så att Gajim frågar dig innan ditt lösenord skickas över " +#~ "en osäker anslutning." + +#~ msgid "Send _keep-alive packets" +#~ msgstr "Skicka _keep-alive-paket" + +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "" +#~ "Om kryssad kommer Gajim att skicka keep-alive-paket som förhindrar att " +#~ "anslutningen överstiger tidsgränsen, vilket leder till frånkoppling" + +#~ msgid "Use cust_om hostname/port" +#~ msgstr "Använd anpassa_t värdnamn/port" + +#~ msgid "_Hostname: " +#~ msgstr "_Värdnamn: " + +#~ msgid "_Port: " +#~ msgstr "_Port: " + +#~ msgid "Choose _Key..." +#~ msgstr "Välj nyc_kel..." + +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "" +#~ "Om kryssad kommer Gajim att få lösenordet från en GPG-agent, t.ex. " +#~ "Seahorse" + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#~ msgid "_Edit Personal Information..." +#~ msgstr "R_edigera personlig information..." + +#~ msgid "Personal Information" +#~ msgstr "Personlig information" + +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "A_nslut vid start av Gajim" + +#~ msgid "Synchroni_ze account status with global status" +#~ msgstr "Synk_ronisera kontostatus med global status" + +#~ msgid "Use cust_om port:" +#~ msgstr "Använd anpassad p_ort:" + +#~ msgid "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." +#~ msgstr "" +#~ "Om standardporten som används för inkommande meddelanden inte passar din " +#~ "konfiguration så kan du välja en annan här.\n" +#~ "Du kan dock överväga att ändra möjliga brandväggsregler." + +#~ msgid "OpenPGP is not usable on this computer" +#~ msgstr "OpenPGP är inte användbar på den här datorn" + +#~ msgid "To change the account name, you must be disconnected." +#~ msgstr "För att ändra kontonamnet måste du vara frånkopplad" + +#~ msgid "To change the account name, you must read all pending events." +#~ msgstr "För att ändra kontonamnet måste du läsa alla väntande händelser." + +#~ msgid "Account Name Already Used" +#~ msgstr "Kontonamn används redan" + +#~ msgid "Account name cannot be empty." +#~ msgstr "Kontonamnet kan inte vara tomt." + +#~ msgid "Account name cannot contain spaces." +#~ msgstr "Kontonamnet kan inte innehålla mellanslag." + +#~ msgid "Enter a new name for account %s" +#~ msgstr "Ange ett nytt namn för kontot %s" + +#, fuzzy +#~ msgid "A JID must be in the form \"user@servername\"." +#~ msgstr "Ett Jabber-ID måste vara av formen \"användare@servernamn\"." + +#~ msgid "No such account available" +#~ msgstr "Inget sådant konto tillgängligt" + +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "" +#~ "Du måste skapa ditt konto innan du redigerar din personliga information." + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "Du kan inte redigera din personliga information utan en anslutning." + +#~ msgid "Your server can't save your personal information." +#~ msgstr "Din server kan inte spara din personliga information." + +#~ msgid "Please rename or remove it before enabling link-local messaging." +#~ msgstr "" +#~ "Byt namn eller ta bort det innan du aktiverar link-local-meddelanden." + +#~ msgid "THANKS:" +#~ msgstr "TACK:" + +#~ msgid "Could not write to %s. Session Management support will not work" +#~ msgstr "" +#~ "Kunde inte skriva till %s. Session Management-stöd kommer inte att fungera" + +#~ msgid "Jabber Traffic" +#~ msgstr "Jabbertrafik" + +#~ msgid "_Enable" +#~ msgstr "_Aktivera" + +#, fuzzy +#~ msgid "Filter" +#~ msgstr "Typsnitt" + +#~ msgid "_IQ" +#~ msgstr "_IQ" + +#~ msgid "Info/Query" +#~ msgstr "Info/Fråga (Info/Query)" + +#~ msgid "XML Input" +#~ msgstr "XML-inmatning" + +#~ msgid "XML Console for %s" +#~ msgstr "XML-konsol för %s" + +#, fuzzy +#~ msgid "Idle for:" +#~ msgstr "XML-konsol för %s" + +#~ msgid "Last status: %s" +#~ msgstr "Senaste status: %s" + +#~ msgid " since %s" +#~ msgstr " sedan %s" + +#~ msgid "since %s" +#~ msgstr "sedan %s" + +#, fuzzy +#~ msgid "Prefer" +#~ msgstr "Inställningar" + +#, fuzzy +#~ msgid "Auto" +#~ msgstr "Anslut automatiskt" + +#, fuzzy +#~ msgid "otr" +#~ msgstr "Het" + +#, fuzzy +#~ msgid "Invalid expire value" +#~ msgstr "Ogiltigt servernamn" + +#, fuzzy +#~ msgid "There is an error" +#~ msgstr "Tjänsten returnerade ett fel." + +#~ msgid "How many minutes should last lines from previous conversation last." +#~ msgstr "" +#~ "Hur många minuter skall de sista raderna från tidigare konversation " +#~ "finnas kvar." + +#~ msgid "" +#~ "Your configured emoticons theme cannot been loaded. You maybe need to " +#~ "update the format of emoticons.py file. See http://trac.gajim.org/wiki/" +#~ "Emoticons for more details." +#~ msgstr "" +#~ "Ditt konfigurerade känsloikontema kan inte läsas in. Du kanske måste " +#~ "uppdatera formatet för filen emoticons.py. Se http://trac.gajim.org/wiki/" +#~ "Emoticons för mer information." + +#~ msgid "You will be connected to %s without OpenPGP." +#~ msgstr "Du kommer ansluta till %s utan OpenPGP." + +#~ msgid "The following message was NOT encrypted" +#~ msgstr "Följande meddelande var INTE krypterat" + +#~ msgid "Toggle Open_PGP Encryption" +#~ msgstr "Växla Open_PGP-kryptering" + +#~ msgid "Toggle End to End Encryption" +#~ msgstr "Växla användarkryptering" + +#, fuzzy +#~ msgid "OpenPGP encryption enabled" +#~ msgstr "GPG-kryptering aktiverad" + +#, fuzzy +#~ msgid "No OpenPGP key assigned" +#~ msgstr "Ingen GPG-nyckel tilldelad" + +#, fuzzy +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages with OpenPGP." +#~ msgstr "" +#~ "Ingen GPG-nyckel har tilldelats denna kontakt. Därför kan du inte " +#~ "kryptera meddelanden med GPG." + +#~ msgid "Session WILL be logged" +#~ msgstr "Sessionen KOMMER att loggas" + +#~ msgid "Session WILL NOT be logged" +#~ msgstr "Sessionen KOMMER INTE att loggas" + +#~ msgid "is" +#~ msgstr "är" + +#~ msgid "is NOT" +#~ msgstr "är INTE" + +#~ msgid "will" +#~ msgstr "kommer" + +#~ msgid "will NOT" +#~ msgstr "kommer INTE" + +#~ msgid "The following message was encrypted" +#~ msgstr "Följande meddelande var krypterat" + +#, fuzzy +#~ msgid "Toggle the OpenPGP encryption" +#~ msgstr "Växla Open_PGP-kryptering" + +#~ msgid "" +#~ "Should Gajim automatically start an encrypted session with this contact " +#~ "when possible?" +#~ msgstr "" +#~ "Ska Gajim automatiskt starta en krypterad session med denna kontakt om " +#~ "möjligt?" + +#~ msgid "[This message is *encrypted* (See :XEP:`27`]" +#~ msgstr "[Detta meddelande är *krypterat* (Se :XEP:`27`]" + +#~ msgid "" +#~ "Your chat session with %(jid)s is encrypted.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "Din chattsession med %(jid)s är krypterad.\n" +#~ "\n" +#~ "Denna sessions Short Authentication String är %(sas)s." + +#~ msgid "You have already verified this contact's identity." +#~ msgstr "Du har redan verifierat identiteten för denna kontakt." + +#~ msgid "Contact's identity verified" +#~ msgstr "Kontaktens identitet är verifierad" + +#~ msgid "Contact's identity NOT verified" +#~ msgstr "Kontaktens identitet är INTE verifierad" + +#, fuzzy +#~ msgid "Verify…" +#~ msgstr "_Verifiera" + +#~ msgid "Have you verified the contact's identity?" +#~ msgstr "Har du verifierat kontaktens identitet?" + +#, fuzzy +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages." +#~ msgstr "" +#~ "Ingen GPG-nyckel har tilldelats denna kontakt. Därför kan du inte " +#~ "kryptera meddelanden med GPG." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP key is assigned to this contact, but you do not trust their " +#~ "key, so message cannot be encrypted. Use your OpenPGP client " +#~ "to trust their key." +#~ msgstr "" +#~ "Ingen GPG-nyckel har tilldelats denna kontakt. Därför kan du inte " +#~ "kryptera meddelanden med GPG." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP Key is assigned to this contact, and you trust their key, so " +#~ "messages will be encrypted." +#~ msgstr "" +#~ "Ingen GPG-nyckel har tilldelats denna kontakt. Därför kan du inte " +#~ "kryptera meddelanden med GPG." + +#, fuzzy +#~ msgid "" +#~ "If True, listen to D-Bus signals from NetworkManager and change the " +#~ "status of accounts (provided they do not have listen_to_network_manager " +#~ "set to False and they sync with global status) based upon the status of " +#~ "the network connection." +#~ msgstr "" +#~ "Om True, lyssna efter D-Bussignaler från NetworkManager och ändra " +#~ "statusen för konton (om de nu inte har listen_to_network_manager satt " +#~ "till False och dem synkar med global status) baserat på om nätverkets " +#~ "status." + +#~ msgid "" +#~ "The database file (%s) cannot be read. Try to repair it or remove it (all " +#~ "history will be lost)." +#~ msgstr "" +#~ "Databasfilen (%s) kan inte läsas. Försök att reparera den eller ta bort " +#~ "den (all historik kommer att förloras)." + +#~ msgid "Database cannot be read." +#~ msgstr "Databasen kan inte läsas." + +#, fuzzy +#~ msgid "Smooth scroll message in conversation window" +#~ msgstr "Skicka meddelande och stäng fönster" + +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "Redigera _integritetslistor..." + +#~ msgid "_Administrator" +#~ msgstr "_Administratör" + +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "" +#~ "Skickar ett meddelande till användare som för närvarande är anslutna till " +#~ "denna server" + +#~ msgid "Sets Message of the Day" +#~ msgstr "Ställer in dagens meddelande" + +#~ msgid "Updates Message of the Day" +#~ msgstr "Uppdaterar dagens meddelande" + +#~ msgid "Deletes Message of the Day" +#~ msgstr "Tar bort dagens meddelande" + +#~ msgid "Add _Contact..." +#~ msgstr "Lägg till _kontakt..." + +#~ msgid "Profile, A_vatar" +#~ msgstr "Profil, a_vatar" + +#~ msgid "File _Transfers" +#~ msgstr "Fil_överföringar" + +#~ msgid "Help online" +#~ msgstr "Hjälp på nätet" + +#~ msgid "Frequently Asked Questions (online)" +#~ msgstr "Frågor och svar (webb)" + +#~ msgid "Fea_tures" +#~ msgstr "Fun_ktioner" + +#~ msgid "to %s account" +#~ msgstr "till %s konto" + +#~ msgid "using %s account" +#~ msgstr "använder %s-kontot" + +#~ msgid "of account %s" +#~ msgstr "för kontot %s" + +#~ msgid "for account %s" +#~ msgstr "för kontot %s" + +#~ msgid "" +#~ "By removing this contact you also remove authorization resulting in him " +#~ "or her always seeing you as offline." +#~ msgstr "" +#~ "Genom att ta bort den här kontakten kommer du också ta bort " +#~ "auktoriseringen vilket resulterar i att kontakten kommer alltid se dig " +#~ "som frånkopplad." + +#~ msgid "Invalid Jabber ID" +#~ msgstr "Ogiltigt Jabber-ID" + +#~ msgid "Verify..." +#~ msgstr "Verifiera..." + +#~ msgid "This file is being used by another process." +#~ msgstr "Denna fil används av en annan process." + +#~ msgid "pgp key" +#~ msgstr "pgp-nyckel" + +#, fuzzy +#~ msgid "" +#~ "Sends new single message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Skicka nytt meddelande till en kontakt i registret. Både OpenPGP-nyckel " +#~ "och konto är valfria. Om du vill sätta bara \"konto\", utan \"OpenPGP-" +#~ "nyckel\", sätt bara \"OpenPGP-nyckel\" till \"\"." + +#, fuzzy +#~ msgid "Please first choose another theme as your current theme." +#~ msgstr "Välj först ett annat för ditt aktuella tema." + +#~ msgid "Your passphrase is incorrect" +#~ msgstr "Din lösenfras är inkorrekt." + +#, fuzzy +#~ msgid "OpenPGP Passphrase Incorrect" +#~ msgstr "Din lösenfras är inkorrekt." + +#, fuzzy +#~ msgid "OpenPGP key not trusted" +#~ msgstr "GPG-nyckeln är inte pålitlig" + +#~ msgid "You successfully received %(filename)s from %(name)s." +#~ msgstr "%(filename)s har mattagits från %(name)s." + +#, fuzzy +#~ msgid "Set logs directory" +#~ msgstr "skapar katalogen %s" + +#~ msgid "_Manage Bookmarks..." +#~ msgstr "_Hantera bokmärken..." + +#~ msgid "Change Status Message..." +#~ msgstr "Ändra statusmeddelande..." + +#~ msgid "_Change Status Message..." +#~ msgstr "_Byt Statusmeddelande..." + +#~ msgid "" +#~ "You are not interested in the contact's presence, and neither he/she is " +#~ "interested in yours" +#~ msgstr "" +#~ "Varken du eller kontakten är intresserad av varandras närvaroinformation" + +#~ msgid "Error description..." +#~ msgstr "Felbeskrivning..." + +#, fuzzy +#~ msgid "View contact information (Ctrl+I)" +#~ msgstr "Bjud in kontakter till konversationen (Ctrl+G)" + +#, fuzzy +#~ msgid "All Chat Histories" +#~ msgstr "Gamla berättelser" + +#~ msgid "More" +#~ msgstr "Mer" + +#~ msgid "creating %s directory" +#~ msgstr "skapar katalogen %s" + +#~ msgid "%s is not the name of a group chat." +#~ msgstr "%s är inte namnet på en gruppchatt." + +#~ msgid "Session Management" +#~ msgstr "Sessionshantering" + +#~ msgid "Gajim session is stored on logout and restored on login." +#~ msgstr "" +#~ "Gajim-sessionen lagras vid utloggning och återskapas vid inloggning." + +#~ msgid "Requires python-gnome2." +#~ msgstr "Kräver python-gnome2." + +#~ msgid "SRV" +#~ msgstr "SRV" + +#~ msgid "Ability to connect to servers which are using SRV records." +#~ msgstr "Möjlighet att ansluta till servrar som använder SRV-poster." + +#~ msgid "Requires dnsutils." +#~ msgstr "Kräver dnsutils." + +#~ msgid "Requires nslookup to use SRV records." +#~ msgstr "Kräver nslookup för att använda SRV-poster." + +#~ msgid "Gajim needs X server to run. Quiting..." +#~ msgstr "Gajim behöver Xserver för att köra. Avbryter..." + +#, fuzzy +#~ msgid "Gajim needs PyGTK 2.22 or above" +#~ msgstr "Gajim behöver PyGTK 2.12 eller senare" + +#, fuzzy +#~ msgid "Gajim needs PyGTK 2.22 or above to run. Quiting..." +#~ msgstr "Gajim behöver PyGTK 2.12 eller senare för att köra. Avbryter..." + +#, fuzzy +#~ msgid "Gajim needs GTK 2.22 or above" +#~ msgstr "Gajim behöver GTK 2.12 eller senare" + +#, fuzzy +#~ msgid "Gajim needs GTK 2.22 or above to run. Quiting..." +#~ msgstr "Gajim behöver GTK 2.12 eller senare för att köra. Avbryter..." + +#~ msgid "Gajim needs pywin32 to run" +#~ msgstr "Gajim behöver pywin32 för att köra" + +#~ msgid "" +#~ "Please make sure that Pywin32 is installed on your system. You can get it " +#~ "at %s" +#~ msgstr "" +#~ "Kontrollera att Pywin32 är installerat på ditt system. Du kan hämta det " +#~ "på %s" + +#~ msgid "Gajim is already running" +#~ msgstr "Gajim körs redan" + +#~ msgid "" +#~ "Another instance of Gajim seems to be running\n" +#~ "Run anyway?" +#~ msgstr "" +#~ "En annan instans of Gajim verkar redan vara igång\n" +#~ "Starta ändå?" + +#~ msgid "A programming error has been detected" +#~ msgstr "Ett programmeringsfel har upptäckts" + +#~ msgid "Details" +#~ msgstr "Detaljer" + +#, fuzzy +#~ msgid "" +#~ "Gnome Keyring is installed but not correctly started (environment " +#~ "variable probably not correctly set)" +#~ msgstr "" +#~ "Gnome-nyckelring är installerat men inte \t\t\t\tkorrekt startad " +#~ "(miljövariabeln är förmodligen inte \t\t\t\tkorrekt inställd)" + +#~ msgid "Jabber ID: " +#~ msgstr "Jabber-ID: " + +#~ msgid "Resource: " +#~ msgstr "Resurs: " + +#~ msgid "Subscription: " +#~ msgstr "Prenumeration: " + +#, fuzzy +#~ msgid "Mood: " +#~ msgstr "Humör:" + +#, fuzzy +#~ msgid "Activity: " +#~ msgstr "Aktivitet:" + +#~ msgid "Check on startup if Gajim is the _default Jabber client" +#~ msgstr "Kontrollera vid uppstart om Gajim är _standardklient för Jabber" + +#, fuzzy +#~ msgid "" +#~ "If True, Gajim will check if it's the default jabber client on each " +#~ "startup." +#~ msgstr "Om True registreras Gajim för xmpp:// vid varje uppstart." + +#~ msgid "Gajim is not the default Jabber client" +#~ msgstr "Gajim är inte standardklient för Jabber" + +#~ msgid "Would you like to make Gajim the default Jabber client?" +#~ msgstr "Vill du göra Gajim till standardklient för Jabber?" + +#~ msgid "Always check to see if Gajim is the default Jabber client on startup" +#~ msgstr "Kontrollera vid start om Gajim är standardklient för Jabber" + +#~ msgid "Execute Command..." +#~ msgstr "Kör kommando..." + +#~ msgid " a window/tab opened with that contact " +#~ msgstr " ett fönster/flik öppnad med den kontakten " + +#~ msgid "Actions" +#~ msgstr "Åtgärder" + +#~ msgid "Conditions" +#~ msgstr "Villkor" + +#~ msgid "Advanced Notifications Control" +#~ msgstr "Avancerad notifieringskontroll" + +#~ msgid "Busy " +#~ msgstr "Upptagen " + +#, fuzzy +#~ msgid "Contact Change Status " +#~ msgstr "Kontakten ändrade status" + +#~ msgid "Don't have " +#~ msgstr "Har inte " + +#, fuzzy +#~ msgid "File Transfer Started " +#~ msgstr "Filöverföring Stoppad" + +#, fuzzy +#~ msgid "Group Chat Message Highlight " +#~ msgstr "Meddelande markerat i gruppchatt" + +#, fuzzy +#~ msgid "Group Chat Message Received " +#~ msgstr "Meddelande mottaget i gruppchatt" + +#~ msgid "Launch a command" +#~ msgstr "Kör ett kommando" + +#~ msgid "One or more special statuses..." +#~ msgstr "En eller flera speciella statusar..." + +#~ msgid "Online / Free For Chat" +#~ msgstr "Ansluten / Ledig för chatt" + +#~ msgid "Play a sound" +#~ msgstr "Spela upp ett ljud" + +#~ msgid "When " +#~ msgstr "När " + +#~ msgid "" +#~ "_Activate window manager's UrgencyHint to make chat window in taskbar " +#~ "flash" +#~ msgstr "" +#~ "_Aktivera fönsterhanterarens UrgencyHint för att chattfönster ska blinka " +#~ "i verktygsraden" + +#~ msgid "_Disable auto opening chat window" +#~ msgstr "_Inaktivera automatiskt öppning av chattfönster" + +#~ msgid "_Disable existing popup window" +#~ msgstr "_Inaktivera befintligt popupfönster" + +#~ msgid "_Disable existing sound for this event" +#~ msgstr "_Inaktivera befintligt ljud för denna händelse" + +#, fuzzy +#~ msgid "_Disable showing event in notification area" +#~ msgstr "_Inaktivera visning av händelser i kontaktlista" + +#~ msgid "_Disable showing event in roster" +#~ msgstr "_Inaktivera visning av händelser i kontaktlista" + +#~ msgid "_Inform me with a popup window" +#~ msgstr "_Informera mig med ett popupfönster" + +#~ msgid "_Open chat window with user" +#~ msgstr "_Öppna chattfönster med användare" + +#~ msgid "_Show event in roster" +#~ msgstr "_Visa händelse i kontaktlista" + +#~ msgid "and I " +#~ msgstr "och jag " + +#, fuzzy +#~ msgid "contact(s)" +#~ msgstr "Kontakter" + +#~ msgid "for " +#~ msgstr "för " + +#, fuzzy +#~ msgid "group(s)" +#~ msgstr "Grupper" + +#~ msgid "when I'm in" +#~ msgstr "när jag är i" + +#~ msgid "_Allow him/her to see my status" +#~ msgstr "_Tillåt henne/honom att se min status" + +#, fuzzy +#~ msgid "Descrition:" +#~ msgstr "Beskrivning: " + +#~ msgid "Advanced..." +#~ msgstr "Avancerat..." + +#~ msgid "Display _activity of contacts in roster" +#~ msgstr "Visa _aktivitet för kontakter i kontaktlista" + +#~ msgid "Display _tunes of contacts in roster" +#~ msgstr "Visa _låtar för kontakter i kontaktlista" + +#~ msgid "Display m_ood of contacts in roster" +#~ msgstr "Visa _humör för kontakter i kontaktlista" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will display the activity of contacts in the roster " +#~ "window" +#~ msgstr "" +#~ "Om kryssad kommer Gajim att visa kontakters avatarer i register- och " +#~ "gruppchattsfönstren" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will display the location of contacts in the roster " +#~ "window" +#~ msgstr "" +#~ "Om kryssad kommer Gajim att visa kontakters avatarer i register- och " +#~ "gruppchattsfönstren" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will display the tunes of contacts in the roster window" +#~ msgstr "" +#~ "Om kryssad kommer Gajim att visa kontakters avatarer i register- och " +#~ "gruppchattsfönstren" + +#~ msgid "Gajim Instant Messenger" +#~ msgstr "Snabbmeddelandeklienten Gajim" + +#~ msgid "English" +#~ msgstr "engelska" + +#~ msgid "Belarusian" +#~ msgstr "vitryska" + +#~ msgid "Bulgarian" +#~ msgstr "bulgariska" + +#~ msgid "Breton" +#~ msgstr "bretonska" + +#~ msgid "Czech" +#~ msgstr "tjeckiska" + +#~ msgid "German" +#~ msgstr "tyska" + +#~ msgid "Greek" +#~ msgstr "grekiska" + +#~ msgid "British" +#~ msgstr "brittiska" + +#~ msgid "Esperanto" +#~ msgstr "esperanto" + +#~ msgid "Spanish" +#~ msgstr "spanska" + +#~ msgid "Basque" +#~ msgstr "baskiska" + +#~ msgid "French" +#~ msgstr "franska" + +#~ msgid "Croatian" +#~ msgstr "kroatiska" + +#~ msgid "Italian" +#~ msgstr "italienska" + +#~ msgid "Norwegian (b)" +#~ msgstr "norska (bokmål)" + +#~ msgid "Dutch" +#~ msgstr "nederländska" + +#~ msgid "Norwegian" +#~ msgstr "norska (nynorsk)" + +#~ msgid "Polish" +#~ msgstr "polska" + +#~ msgid "Portuguese" +#~ msgstr "portugisiska" + +#~ msgid "Brazilian Portuguese" +#~ msgstr "brasiliansk portugisiska" + +#~ msgid "Russian" +#~ msgstr "ryska" + +#~ msgid "Serbian" +#~ msgstr "serbiska" + +#~ msgid "Slovak" +#~ msgstr "slovakiska" + +#~ msgid "Swedish" +#~ msgstr "svenska" + +#~ msgid "Chinese (Ch)" +#~ msgstr "kinesiska" + +#~ msgid "Spelling language" +#~ msgstr "Stavningsspråk" + +#~ msgid "all or space separated status" +#~ msgstr "alla eller mellanslagsseparerad status" + +#~ msgid "'yes', 'no', or 'both'" +#~ msgstr "\"yes\", \"no\" eller \"both\"" + +#~ msgid "'yes', 'no' or ''" +#~ msgstr "\"yes\", \"no\" eller \"\"" + +#~ msgid "Check your connection or try again later" +#~ msgstr "Kontrollera din anslutning eller försök igen senare" + +#~ msgid "Error executing \"%(command)s\": %(error)s" +#~ msgstr "Fel vid körning av \"%(command)s\": %(error)s" + +#~ msgid "error: cannot open %s for reading" +#~ msgstr "fel: kan inte öppna %s för läsning" + +#~ msgid "Unable to bind to port %s." +#~ msgstr "Kunde inte binda till port %s." + +#~ msgid "" +#~ "Maybe you have another running instance of Gajim. File Transfer will be " +#~ "cancelled." +#~ msgstr "" +#~ "Du kanske har en annan Gajiminstans igång. Filöverföringen kommer stängas." + +#~ msgid "A GTK+ jabber client" +#~ msgstr "En GTK+ jabberklient" + +#~ msgid "Condition" +#~ msgstr "Villkor" + +#~ msgid "when I am " +#~ msgstr "när jag är " + +#~ msgid "Requires pybonjour (http://o2s.csail.mit.edu/o2s-wiki/pybonjour)." +#~ msgstr "Kräver pybonjour (http://o2s.csail.mit.edu/o2s-wiki/pybonjour)." + +#~ msgid "LaTeX" +#~ msgstr "LaTeX" + +#~ msgid "Transform LaTeX expressions between $$ $$." +#~ msgstr "Transformera LaTeX-uttryck mellan $$ $$." + +#, fuzzy +#~ msgid "" +#~ "Requires texlive-latex-base and (dvipng or ImageMagick). You have to set " +#~ "'use_latex' to True in the Advanced Configuration Editor." +#~ msgstr "" +#~ "Kräver texlive-latex-base och dvipng. Du måste ställa in \"use_latex\" " +#~ "till True i avancerad konfiguration." + +#, fuzzy +#~ msgid "" +#~ "Requires texlive-latex-base and (dvipng or ImageMagick) (All is in " +#~ "MikTeX). You have to set 'use_latex' to True in the Advanced " +#~ "Configuration Editor." +#~ msgstr "" +#~ "Kräver texlive-latex-base och dvipng (Allt finns i MikTeX). Du måste " +#~ "ställa in \"use_latex\" till True i avancerad konfiguration." + +#, fuzzy +#~ msgid "Requires python-farsight." +#~ msgstr "Kräver python-avahi." + +#, fuzzy +#~ msgid "one of: offline, online, chat, away, xa, dnd, invisible " +#~ msgstr "en av: offline, online, chat, away, xa, dnd, invisible " + +#, fuzzy +#~ msgid "" +#~ "Returns current status message(the global one unless account is specified)" +#~ msgstr "" +#~ "Returnerar nuvarande statusmeddelande (det globala om inget konto " +#~ "specificerats)" + +#~ msgid "" +#~ "Usage: %s %s %s \n" +#~ "\t %s" +#~ msgstr "" +#~ "Användning: %s %s %s \n" +#~ "\t %s" + +#, fuzzy +#~ msgid "" +#~ "Too many arguments. \n" +#~ "Type \"%s help %s\" for more info" +#~ msgstr "" +#~ "För många argument. \n" +#~ "Skriv \"%(basename)s help %(command)s\" för mer information" + +#, fuzzy +#~ msgid "" +#~ "Argument \"%s\" is not specified. \n" +#~ "Type \"%s help %s\" for more info" +#~ msgstr "" +#~ "Argumentet \"%(arg)s\" är inte angivet. \n" +#~ "Skriv \"%(basename)s help %(command)s\" för mer info" + +#~ msgid "Subject: %s" +#~ msgstr "Ämne: %s" + +#, fuzzy +#~ msgid "Mood: %s" +#~ msgstr "Humör:" + +#, fuzzy +#~ msgid "Activity: %s" +#~ msgstr "Aktivitet:" + +#~ msgid "@" +#~ msgstr "@" + +#~ msgid "_Disable showing event in systray" +#~ msgstr "_Inaktivera visning av händelser i notifieringsyta" + +#~ msgid "_Show event in systray" +#~ msgstr "_Visa händelse i notifieringsytan" + +#, fuzzy +#~ msgid "Always use GNOME default applications" +#~ msgstr "Använd alltid OS/X standardprogram" + +#, fuzzy +#~ msgid "Always use Xfce default applications" +#~ msgstr "Använd alltid OS/X standardprogram" + +#, fuzzy +#~ msgid "Autodetect on every Gajim startup" +#~ msgstr "A_nslut vid start av Gajim" + +#~ msgid "Show systray:" +#~ msgstr "Visa i notifieringsyta:" + +#~ msgid "Nickname not allowed: %s" +#~ msgstr "Smeknamnet tillåts inte: %s" + +#~ msgid "we are now subscribed to %s" +#~ msgstr "vi prenumererar nu på %s" + +#~ msgid "we are now unsubscribed from %s" +#~ msgstr "vi prenumererar inte längre på %s" + +#~ msgid "Account Modification" +#~ msgstr "Kontoändring" + +#~ msgid "" +#~ "Check this so Gajim will connect in port 5223 where legacy servers are " +#~ "expected to have SSL capabilities. Note that Gajim uses TLS encryption by " +#~ "default if broadcasted by the server, and with this option enabled TLS " +#~ "will be disabled" +#~ msgstr "" +#~ "Kryssa i det här så att Gajim ansluter till port 5223 där äldre servrar " +#~ "förväntades ha SSL-stöd. Observera att Gajim använder TLS-kryptering som " +#~ "standard om servern har stöd för det, samt att med det här alternativet " +#~ "så kommer TLS att inaktiveras" + +#~ msgid "Edit Personal Information..." +#~ msgstr "Redigera personlig information..." + +#~ msgid "Hostname: " +#~ msgstr "Värdnamn: " + +#~ msgid "" +#~ "If checked, Gajim will store the password in ~/.gajim/config with 'read' " +#~ "permission only for you" +#~ msgstr "" +#~ "Om kryssad kommer Gajim att spara lösenordet i ~/.gajim/config med \"läs" +#~ "\"-rättigheter enbart för dig och din administratör" + +#~ msgid "Port: " +#~ msgstr "Port: " + +#~ msgid "Save _passphrase (insecure)" +#~ msgstr "Spara _lösenfras (osäkert)" + +#~ msgid "Use _SSL (legacy)" +#~ msgstr "Använd _SSL (äldre)" + +#~ msgid "gtk-add" +#~ msgstr "Lägg till" + +#~ msgid "gtk-close" +#~ msgstr "Stäng" + +#~ msgid "gtk-remove" +#~ msgstr "Ta bort" + +#~ msgid "" +#~ "Receive a Message\n" +#~ "Contact Disconnected \n" +#~ "Contact Change Status \n" +#~ "Group Chat Message Highlight \n" +#~ "Group Chat Message Received \n" +#~ "File Transfer Request \n" +#~ "File Transfer Started \n" +#~ "File Transfer Finished" +#~ msgstr "" +#~ "Ta emot ett meddelande\n" +#~ "Kontakten kopplade från \n" +#~ "Kontakten ändrade status \n" +#~ "Markeringsmeddelande i gruppchatt \n" +#~ "Meddelande mottaget i gruppchatt \n" +#~ "Filöverföring begärd \n" +#~ "Filöverföring startad \n" +#~ "Filöverföring färdig" + +#~ msgid "" +#~ "contact(s)\n" +#~ "group(s)\n" +#~ "everybody" +#~ msgstr "" +#~ "kontakt(er)\n" +#~ "grupp(er)\n" +#~ "alla" + +#~ msgid "" +#~ "Account row\n" +#~ "Group row\n" +#~ "Contact row\n" +#~ "Chat Banner" +#~ msgstr "" +#~ "Kontorad\n" +#~ "Grupprad\n" +#~ "Kontaktrad\n" +#~ "Chattbanner" + +#~ msgid "" +#~ "Enter JID or Contact name\n" +#~ "Groupchat Histories\n" +#~ "All Chat Histories" +#~ msgstr "" +#~ "Ange JID eller kontaktens namn\n" +#~ "Historik för gruppchattar\n" +#~ "All chatthistorik" + +#~ msgid "gtk-delete" +#~ msgstr "Ta bort" + +#~ msgid "Send a file (Ctrl+F)" +#~ msgstr "Skicka en fil (Ctrl+F)" + +#~ msgid "" +#~ "All chat states\n" +#~ "Composing only\n" +#~ "Disabled" +#~ msgstr "" +#~ "Alla chattstatusar\n" +#~ "Endast skrivande\n" +#~ "Inaktiverad" + +#, fuzzy +#~ msgid "" +#~ "Autodetect on every Gajim startup\n" +#~ "Always use GNOME default applications\n" +#~ "Always use KDE default applications\n" +#~ "Always use Xfce default applications\n" +#~ "Custom" +#~ msgstr "" +#~ "Detektera vid varje Gajimstart\n" +#~ "Använd alltid GNOMEs standardprogram\n" +#~ "Använd alltid KDEs standardprogram\n" +#~ "Använd alltid Xfces standardprogram\n" +#~ "Anpassa" + +#~ msgid "" +#~ "Detached roster with detached chats\n" +#~ "Detached roster with single chat\n" +#~ "Single window for everything\n" +#~ "Detached roster with chat grouped by account\n" +#~ "Detached roster with chat grouped by type" +#~ msgstr "" +#~ "Frikopplad kontaktlista med frikopplade chattar\n" +#~ "Frikopplad kontaktlista med en chatt\n" +#~ "Ett enda fönster för allting\n" +#~ "Frikopplad kontaktlista med chatt, grupperad efter konto\n" +#~ "Frikopplad kontaktlista med chatt, grupperad efter typ" + +#~ msgid "" +#~ "Pop it up\n" +#~ "Notify me about it\n" +#~ "Show only in roster" +#~ msgstr "" +#~ "Visa popup\n" +#~ "Notifiera mig om den\n" +#~ "Visa endast i kontaktlista" + +#~ msgid "" +#~ "none\n" +#~ "both\n" +#~ "from\n" +#~ "to" +#~ msgstr "" +#~ "ingen\n" +#~ "båda\n" +#~ "från\n" +#~ "till" + +#~ msgid "gtk-cancel" +#~ msgstr "Avbryt" + +#~ msgid "pysqlite2 (aka python-pysqlite2) dependency is missing. Exiting..." +#~ msgstr "pysqlite2- (aka python-pysqlite2) beroende saknas. Stänger av..." + +#~ msgid "" +#~ "Session bus is not available.\n" +#~ "Try reading http://trac.gajim.org/wiki/GajimDBus" +#~ msgstr "" +#~ "Sessionsbussen är inte tillgänglig.\n" +#~ "Läs http://trac.gajim.org/wiki/GajimDBus för hjälp" + +#~ msgid "Banners and clickable links" +#~ msgstr "Banners och klickbara länkar" + +#~ msgid "Requires python-sexy." +#~ msgstr "Kräver python-sexy." + +#~ msgid "GTK+ runtime is missing libglade support" +#~ msgstr "GTK+ runtime saknar libgladestöd" + +#~ msgid "" +#~ "Please remove your current GTK+ runtime and install the latest stable " +#~ "version from %s" +#~ msgstr "" +#~ "Ta bort din nuvarande GTK+ runtime och installera senaste stabila version " +#~ "från %s" + +#~ msgid "" +#~ "Please make sure that GTK+ and PyGTK have libglade support in your system." +#~ msgstr "Kontrollera att GTK+ och PyGTK har libglade-stöd i ditt system." + +#~ msgid "Gajim needs PySQLite2 to run" +#~ msgstr "Gajim behöver PySQLite2 för att fungera" + +#~ msgid "gtk-ok" +#~ msgstr "OK" + +#~ msgid "" +#~ "The host %s you configured as the ft_add_hosts_to_send advanced option is " +#~ "not valid, so ignored." +#~ msgstr "" +#~ "Värden %s som du konfigurerade som det avancerade alternativet " +#~ "ft_add_hosts_to_send är inte giltig, därför ignoreras den." + +#~ msgid "OpenPGP passphrase was not given" +#~ msgstr "Lösenordsfras för OpenPGP angavs inte" + +#~ msgid "" +#~ "To continue sending and receiving messages, you will need to reconnect." +#~ msgstr "" +#~ "För att fortsätta skicka och ta emot meddelanden måste du återansluta." + +#~ msgid "" +#~ "You are not connected or not visible to others. Your message could not be " +#~ "sent." +#~ msgstr "" +#~ "Du är inte ansluten eller visas inte för andra. Ditt meddelande kunde " +#~ "inte skickas." + +#~ msgid "[This message is encrypted]" +#~ msgstr "[Det här meddelandet är krypterat]" + +#~ msgid "A icon in systemtray reflecting the current presence." +#~ msgstr "En ikon i aktivitetsfältet som beskriver aktuell närvaro." + +#~ msgid "" +#~ "Requires python-gnome2-extras or compiled trayicon module from Gajim " +#~ "sources." +#~ msgstr "" +#~ "Kräver python-gnome2-extras eller kompilerad trayicon-modul från Gajims " +#~ "källkod." + +#~ msgid "Requires PyGTK >= 2.10." +#~ msgstr "Kräver PyGTK >= 2.10." + +#~ msgid "Add Special _Notification" +#~ msgstr "Lägg till speciell _notifiering" + +#~ msgid "Assign Open_PGP Key" +#~ msgstr "Tilldela Open_PGP-nyckel" + +#~ msgid "" +#~ "Usage: /%(command)s , sends action to the current group chat. Use " +#~ "third person. (e.g. /%(command)s explodes.)" +#~ msgstr "" +#~ "Användning: /%(command)s <åtgärd>, skickar åtgärd till aktuell " +#~ "gruppchatt. Använd tredje person. (t.ex. /%(command)s exploderar.)" + +#~ msgid "No help info for /%s" +#~ msgstr "Ingen hjälp för /%s" + +#~ msgid "Enable link-local/zeroconf messaging" +#~ msgstr "Aktivera link-local-/zeroconf-meddelanden" + +#~ msgid "Nickname not found: %s" +#~ msgstr "Smeknamnet kunde inte hittas: %s" + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s [reason], bans the JID from the group chat. The " +#~ "nickname of an occupant may be substituted, but not if it contains \"@\". " +#~ "If the JID is currently in the group chat, he/she/it will also be kicked." +#~ msgstr "" +#~ "Användning: /%s [reason], bannlyser JID från rummet. " +#~ "Smeknamnet kan substitueras, men inte om det innehåller \"@\". Of JID " +#~ "befinner sig i rummet kommer han/hon/den/det också att att bli sparkad. " +#~ "Stödjer INTE mellanslag i smeknamn." + +#~ msgid "" +#~ "Usage: /%s [reason], closes the current window or tab, displaying reason " +#~ "if specified." +#~ msgstr "" +#~ "Användning: /%s [anledning], stänger aktuellt fönster eller flik och " +#~ "visar anledning om sådan specificerades." + +#~ msgid "" +#~ "Usage: /%s [reason], invites JID to the current group chat, " +#~ "optionally providing a reason." +#~ msgstr "" +#~ "Användning: /%s [anledning], bjuder in JID till den aktuella " +#~ "gruppchatten med en valfri anledning." + +#~ msgid "" +#~ "Usage: /%s @[/nickname], offers to join room@server " +#~ "optionally using specified nickname." +#~ msgstr "" +#~ "Användning: /%s @[/smeknamn], erbjuder att delta i " +#~ "rum@server med valbart smeknamn" + +#~ msgid "" +#~ "Usage: /%s [reason], removes the occupant specified by " +#~ "nickname from the group chat and optionally displays a reason." +#~ msgstr "" +#~ "Användning: /%s [anledning], tar bort deltagaren angiven med " +#~ "smeknamn från gruppchatten och visar en valfri anledning." + +#~ msgid "" +#~ "Usage: /%s [message], opens a private message window and sends " +#~ "message to the occupant specified by nickname." +#~ msgstr "" +#~ "Användning: /%s [meddelande], öppnar ett privat " +#~ "meddelandefönster och skickar ett meddelande till deltagaren angiven med " +#~ "smeknamn." + +#~ msgid "Usage: /%s , changes your nickname in current group chat." +#~ msgstr "" +#~ "Användning: /%s , ändrar ditt smeknamn i aktuell gruppchatt." + +#~ msgid "" +#~ "Usage: /%s [topic], displays or updates the current group chat topic." +#~ msgstr "" +#~ "Användning: /%s [ämne], visar eller uppdaterar ämnet för aktuell " +#~ "gruppchatt." + +#~ msgid "" +#~ "Usage: /%s , sends a message without looking for other commands." +#~ msgstr "" +#~ "Användning: /%s , skickar meddelande utan att leta efter " +#~ "andra kommandon." + +#~ msgid "" +#~ "Usage: /%s , prevent to send you messages or private " +#~ "messages." +#~ msgstr "" +#~ "Användning: /%s , förhindra att skicka dig " +#~ "meddelanden eller privata meddelanden." + +#~ msgid "" +#~ "Usage: /%s , allow to send you messages and private " +#~ "messages." +#~ msgstr "" +#~ "Användning: /%s , tillåt att skicka dig meddelanden " +#~ "och privata meddelanden." + +#~ msgid "B_OSH Port:" +#~ msgstr "B_OSH-port:" + +#~ msgid "Show _roster" +#~ msgstr "Visa _kontaktlista" + +#, fuzzy +#~ msgid "Select the account with which to synchronise" +#~ msgstr "Välj kontot med vilket du vill synkronisera" + +#~ msgid "" +#~ "%(title)s by %(artist)s\n" +#~ "from %(source)s" +#~ msgstr "" +#~ "%(title)s av %(artist)s\n" +#~ "från %(source)s" + +#~ msgid "This account is already configured in Gajim." +#~ msgstr "Detta kontot är redan konfigurerat i Gajim." + +#~ msgid "File transfer stopped by the contact at the other end" +#~ msgstr "Filöverföringen stoppades av kontakten på andra sidan" + +#~ msgid "Generic" +#~ msgstr "Allmän" + +#~ msgid "" +#~ "Requires python-gnome2-extras or compilation of gtkspell module from " +#~ "Gajim sources." +#~ msgstr "" +#~ "Kräver python-gnome2-extras eller byggnation av modulen gtkspell från " +#~ "Gajims källkod." + +#~ msgid "Click to see features (like MSN, ICQ transports) of jabber servers" +#~ msgstr "" +#~ "Klicka för att visa funktioner (som MSN, ICQ-transporter) på jabberservrar" + +#~ msgid "Modify Account" +#~ msgstr "Redigera konto" + +#~ msgid "Gajim account %s" +#~ msgstr "Gajim-konto %s" + +#~ msgid "PyOpenSSL" +#~ msgstr "PyOpenSSL" + +#~ msgid "gnome-keyring" +#~ msgstr "gnome-keyring" + +#~ msgid "Notification-daemon" +#~ msgstr "Notification-daemon" + +#~ msgid "Idle" +#~ msgstr "Overksam" + +#~ msgid "libsexy" +#~ msgstr "libsexy" + +#~ msgid "%s has not broadcast an OpenPGP key, nor has one been assigned" +#~ msgstr "" +#~ "%s har inte sänt ut en OpenPGP-nyckel och du har inte heller tilldelat en" + +#~ msgid "No such command: /%s (if you want to send this, prefix it with /say)" +#~ msgstr "" +#~ "Inget sådant kommondo: /%s (om du vill skicka detta, använd /say som " +#~ "prefix)" + +#, fuzzy +#~ msgid "" +#~ "Usage: /%s , sends action to the current group chat. Use third " +#~ "person. (e.g. /%s explodes.)" +#~ msgstr "" +#~ "Användning: /%s , skickar handling till aktivt rum. Använd " +#~ "tredje person. (t.ex. /%s exploderar.)" + +#~ msgid "Please fill in the data for your new account" +#~ msgstr "Fyll i informationen för ditt nya konto" + +#~ msgid "_Retype Password:" +#~ msgstr "Skriv om _lösenord:" + +#~ msgid "" +#~ "If checked, all local contacts that use a Bonjour compatible chat client " +#~ "(like iChat, Trillian or Gaim) will be shown in roster. You don't need to " +#~ "be connected to a jabber server for it to work.\n" +#~ "This is only available if python-avahi is installed and avahi-daemon is " +#~ "running." +#~ msgstr "" +#~ "Om kryssad kommer alla lokala kontakter som använder en Bonjour-" +#~ "kompatibel chattklient (som iChat, Trillian eller Gaim) visas i " +#~ "registret. Du behöver inte vara ansluten till en jabberserver för att det " +#~ "ska fungera.Alternativet är bara tillgängligt om python-avahi är " +#~ "installerat och avahi-daemon körs." + +#~ msgid "" +#~ "If you have 2 or more accounts and this is checked, Gajim will list all " +#~ "contacts as if you had one account" +#~ msgstr "" +#~ "Om du har två eller fler konton och det här är kryssat kommer Gajim lista " +#~ "alla kontakter som om du hade ett konto" + +#~ msgid "_Enable link-local messaging" +#~ msgstr "Använd _link-local-meddelanden" + +#~ msgid "_Compact View Alt+C" +#~ msgstr "_Kompakt vy Alt+C" + +#~ msgid "Click to see past conversation in this room" +#~ msgstr "Klicka för att visa tidigare konversationer i det här rummet" + +#~ msgid "Build custom query" +#~ msgstr "Bygg egen fråga" + +#~ msgid "Query Builder..." +#~ msgstr "Frågebyggare..." + +#~ msgid "Invitation Received" +#~ msgstr "Inbjudan mottagen" + +#~ msgid "Format of a line" +#~ msgstr "Format av en rad" + +#~ msgid "Interface Customization" +#~ msgstr "Gränssnittsanpassning" + +#~ msgid "Also known as iChat style" +#~ msgstr "Också känt som iChat-stil" + +#~ msgid "" +#~ "An example: If you have enabled status message for away, Gajim won't ask " +#~ "you anymore for a status message when you change your status to away; it " +#~ "will use the default one set here" +#~ msgstr "" +#~ "Ett exempel: Om du har aktiverat statusmeddelanden för frånvarande kommer " +#~ "Gajim inte fråga dig efter ett statusmeddelande när du byter status till " +#~ "frånvarande.Det kommer använda ditt förinställda satt här" + +#~ msgid "E_very 5 minutes" +#~ msgstr "_Var 5:e minut" + +#~ msgid "" +#~ "Gajim will automatically show new events by popping up the relative window" +#~ msgstr "" +#~ "Gajim kommer automatiskt visa nya inkommande händelser genom att öppna " +#~ "relevant fönster" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed in" +#~ msgstr "" +#~ "Gajim kommer meddela dig via ett popup-fönster i det nedre högra hörnet " +#~ "av skärmen om kontakter som just loggat in" + +#~ msgid "" +#~ "Gajim will only change the icon of the contact that triggered the new " +#~ "event" +#~ msgstr "" +#~ "Gajim kommer endast byta ikonen för kontakten som skickade den nya " +#~ "händelsen" + +#~ msgid "" +#~ "If checked, Gajim will remember the roster and chat window positions in " +#~ "the screen and the sizes of them next time you run it" +#~ msgstr "" +#~ "Om kryssad kommer Gajim komma ihåg registrets och chattfönstrens " +#~ "positioner och storlekar på skärmen nästa gång de används" + +#~ msgid "" +#~ "Never\n" +#~ "Always\n" +#~ "Per account\n" +#~ "Per type" +#~ msgstr "" +#~ "Aldrig\n" +#~ "Alltid\n" +#~ "Per konto\n" +#~ "Per typ" + +#~ msgid "Outgoing Chat state noti_fications:" +#~ msgstr "Utgående chattstatusnoti_fieringar:" + +#~ msgid "Print time:" +#~ msgstr "Skriv ut tid:" + +#~ msgid "Save _position and size for roster and chat windows" +#~ msgstr "Spara _position och storlek för register- och chattfönster" + +#~ msgid "Set status message to reflect currently playing _music track" +#~ msgstr "Sätt statusmeddelandet till nu spelandes _musikspår" + +#~ msgid "The auto away status message" +#~ msgstr "Det automatiska statusmeddelandet när du är frånvarande" + +#~ msgid "The auto not available status message" +#~ msgstr "Det automatiska statusmeddelandet när du inte är tillgänglig" + +#~ msgid "Treat all incoming messages as:" +#~ msgstr "Behandla alla inkommande meddelanden som:" + +#~ msgid "" +#~ "When a new event (message, file transfer request etc..) is received, the " +#~ "following methods may be used to inform you about it. Please note that " +#~ "events about new messages only occur if it is a new message from a " +#~ "contact you are not already chatting with" +#~ msgstr "" +#~ "När en ny händelse (meddelande, filöverföringförfrågan etc...) mottas kan " +#~ "följande metoder användas för att informera dig om det. Observera att " +#~ "händelser rörande nya meddelanden endast används om det är ett nytt " +#~ "meddelande från en kontakt du inte redan chattar med" + +#~ msgid "" +#~ "Works for Rhythmbox and Muine players. For more players, please visit " +#~ "http://trac.gajim.org/wiki/GajimAndMusicPlayer" +#~ msgstr "" +#~ "Fungerar för Rhythmbox och Muine. För fler spelare, se http://trac.gajim." +#~ "org/wiki/GajimAndMusicPlayer" + +#~ msgid "_Advanced Notifications Control..." +#~ msgstr "_Avancerad notifieringskontroll..." + +#~ msgid "_Player:" +#~ msgstr "_Spelare:" + +#~ msgid "Role:" +#~ msgstr "Roll:" + +#~ msgid "_Remove from Roster" +#~ msgstr "Ta bo_rt från register" + +#~ msgid "A_ccounts" +#~ msgstr "_Konton" + +#~ msgid "OS:" +#~ msgstr "OS:" + +#~ msgid "" +#~ "If that is not your language for which you want to highlight misspelled " +#~ "words, then please set your $LANG as appropriate. Eg. for French do " +#~ "export LANG=fr_FR or export LANG=fr_FR.UTF-8 in ~/.bash_profile or to " +#~ "make it global in /etc/profile.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "Om det inte är språket för vilket du vill markera felstavade ord, sätt " +#~ "din $LANG variabel rätt. T.ex. för svenska gör export LANG=sv_SE eller " +#~ "export LANG=sv_SE.UTF-8 i ~/.bash_profile eller för att göra det globalt " +#~ "i /etc/profile.\n" +#~ "\n" +#~ "Funktionen \"markera felstavade ord\" kommer inte att användas" + +#~ msgid "Every %s _minutes" +#~ msgstr "Var %s _minut" + +#~ msgid "You will always see him or her as offline." +#~ msgstr "Du kommer alltid se honom eller henne som frånkopplad." + +#~ msgid "%s is now %s (%s)" +#~ msgstr "%s är nu %s (%s)" + +#~ msgid "%s is now %s" +#~ msgstr "%s är nu %s" + +#~ msgid "" +#~ "\n" +#~ "From: %(from_address)s" +#~ msgstr "" +#~ "\n" +#~ "Från: %(from_address)s" + +#, fuzzy +#~ msgid "Network Manager support not available" +#~ msgstr "En förbindelse är inte tillgänglig" + +#~ msgid "Session Management support not available (missing gnome.ui module)" +#~ msgstr "Session Management-stöd inte tillgängligt (saknar gnome.ui-modul)" + +#~ msgid "%s does not appear to be a valid JID" +#~ msgstr "%s verkar inte vara ett giltigt JID" + +#~ msgid "%s - Gajim" +#~ msgstr "%s - Gajim" + +#, fuzzy +#~ msgid "_New group chat" +#~ msgstr "Gruppchatt" + +#~ msgid "Log _off" +#~ msgstr "K_oppla från" + +#~ msgid "Save passphrase" +#~ msgstr "Spara lösenfras" + +#~ msgid "Drop %s in group %s" +#~ msgstr "Placera %s i grupp %s" + +#, fuzzy +#~ msgid "Hides the buttons in two persons chat window." +#~ msgstr "Gömmer knapparna i tvåpersoners chattfönster" + +#~ msgid "Connected to server %s:%s with %s" +#~ msgstr "Ansluten till server %s:%s med %s" + +#~ msgid "invisible" +#~ msgstr "osynlig" + +#~ msgid "offline" +#~ msgstr "frånkopplad" + +#~ msgid "I'm %s" +#~ msgstr "Jag är %s" + +#, fuzzy +#~ msgid " %d unread single message" +#~ msgid_plural " %d unread single messages" +#~ msgstr[0] "Gajim - ett oläst enstaka meddelande" +#~ msgstr[1] "Gajim - %d olästa enstaka meddelanden" + +#, fuzzy +#~ msgid " %d unread group chat message" +#~ msgid_plural " %d unread group chat messages" +#~ msgstr[0] "Gajim - ett oläst gruppchatmeddelande" +#~ msgstr[1] "Gajim - %d olästa gruppchatmeddelanden" + +#, fuzzy +#~ msgid " %d unread private message" +#~ msgid_plural " %d unread private messages" +#~ msgstr[0] "Gajim - ett oläst privat meddelande" +#~ msgstr[1] "Gajim - %d olästa privata meddelanden" + +#~ msgid "gtk+" +#~ msgstr "gtk+" + +#~ msgid "" +#~ "Connection to host could not be established: Incorrect answer from server." +#~ msgstr "" +#~ "Anslutning till värd kunde inte etableras: Felaktigt svar från servern." + +#, fuzzy +#~ msgid "Connection to host could not be established" +#~ msgstr "Förbindelse med motpart kan inte etableras." + +#~ msgid "2003-12-13T18:30:02Z" +#~ msgstr "2003-12-13T18:30:02Z" + +#~ msgid "Romeo and Juliet" +#~ msgstr "Romeo och Julia" + +#, fuzzy +#~ msgid "Soliloquy" +#~ msgstr "Monolog" + +#~ msgid "_After time:" +#~ msgstr "Efter tid:" + +#~ msgid "_Before time:" +#~ msgstr "Före tid:" + +#~ msgid "_Retrieve" +#~ msgstr "_Hämta" + +#~ msgid "Without a connection, you can not get your contact information." +#~ msgstr "Utan en förbindelse kan du inte hämta din kontaktinformation." + +#, fuzzy +#~ msgid "_New room" +#~ msgstr "Nytt rum" + +#~ msgid "Role: " +#~ msgstr "Roll: " + +#~ msgid "" +#~ "Sound to play when any MUC message arrives. (This setting is taken into " +#~ "account only if notify_on_all_muc_messages is True)" +#~ msgstr "" +#~ "Ljud att spela när MUC-meddelande anländer. (Denna inställning behandlas " +#~ "endast om notify_on_all_muc_messages är satt till True)" + +#, fuzzy +#~ msgid "Away " +#~ msgstr "Borta" + +#, fuzzy +#~ msgid "Down" +#~ msgstr "Nerladdning" + +#, fuzzy +#~ msgid "List of special notifications settings" +#~ msgstr "Lägger Till Speciellt Meddelande För %s" + +#, fuzzy +#~ msgid "Not Available " +#~ msgstr "Inte tillgänglig" + +#~ msgid "Jabber" +#~ msgstr "Jabber" + +#~ msgid "Invalid room or server name" +#~ msgstr "Ogiltigt rum- eller servernamn" + +#~ msgid "Your personal information has been published successfully." +#~ msgstr "Din personliga information har blivit publicerad" + +#~ msgid "Migrating Logs..." +#~ msgstr "Migrerar Logfiler" + +#~ msgid "Gajim - %d unread message" +#~ msgid_plural "Gajim - %d unread messages" +#~ msgstr[0] "Gajim - ett oläst meddelande" +#~ msgstr[1] "Gajim - %d olästa meddelanden" + +#~ msgid "Since %s" +#~ msgstr "Från %s" + +#~ msgid "_Join New Room..." +#~ msgstr "Anslut till nytt _rum..." + +#, fuzzy +#~ msgid "Please modify your special notification below" +#~ msgstr "Vänligen välj ett av alternativen nedan:" + +#~ msgid "Delete Message of the Day" +#~ msgstr "Radera dagens meddelande" + +#, fuzzy +#~ msgid "I want to listen to:" +#~ msgstr "%s vill skicka en fil till dig:" + +#~ msgid "Send _New Message..." +#~ msgstr "Skicka _Nytt Meddelande..." + +#~ msgid "Set Message of the Day" +#~ msgstr "Ställ in dagens meddelande" + +#~ msgid "Update Message of the Day" +#~ msgstr "Uppdatera dagens meddelande" + +#~ msgid "_XML Console..." +#~ msgstr "_XML konsol..." + +#~ msgid "Use compact view when you open a chat window" +#~ msgstr "Använd kompaktvy när ett chattfönster öppnas" + +#~ msgid "Use compact view when you open a group chat window" +#~ msgstr "Använd kompaktvy när ett gruppchattfönster öppnas" + +#~ msgid "%(nickname)s in room %(room_name)s has sent you a new message." +#~ msgstr "%(nickname)s i rum %(room_name)s har skickat dig ett meddelande." + +#~ msgid "%s has sent you a new message." +#~ msgstr "%s har skickat dig ett nytt meddelande." + +#~ msgid "" +#~ "Logs migration through graphical interface failed. The migration process " +#~ "will start in the background. Please wait a few minutes for Gajim to " +#~ "start." +#~ msgstr "" +#~ "Migration av logfiler genom grafiskt gränssnitt misslyckades. " +#~ "Migrationsprocessen kommer att startas i bakgrunden. Vänligen tillåt " +#~ "några minuter för Gajim att starta." + +#~ msgid "Logs have been successfully migrated to the database." +#~ msgstr "Migrationen av logfiler till databasen lyckades." + +#, fuzzy +#~ msgid "Start Chat with Contact" +#~ msgstr "Starta Chatt med konto %s" + +#~ msgid "All contacts in this group are offline or have errors" +#~ msgstr "Alla kontakter i den här gruppen är frånkopplade eller har fel" + +#~ msgid "Image" +#~ msgstr "Bild" + +#~ msgid "Read AUTHORS file for full list including past developers" +#~ msgstr "Läs AUTHORS-filen för en komplett lista över tidigare utvecklare" + +#~ msgid "To %s" +#~ msgstr "Till %s" + +#~ msgid "You have been invited to the %(room_jid)s room by %(contact_jid)s" +#~ msgstr "Du har blivit inbjuden till rum %(room_jid)s av %(contact_jid)s" + +#~ msgid "" +#~ "Animated\n" +#~ "Static" +#~ msgstr "" +#~ "Animerad\n" +#~ "Statisk" + +#~ msgid "_Set Image..." +#~ msgstr "_Ange bild..." + +#~ msgid "Switch to %s" +#~ msgstr "Växla till %s" + +#~ msgid "using account " +#~ msgstr "använder konto " + +#~ msgid "The filesize of image \"%s\" is too large" +#~ msgstr "Filstorleken för bilden \"%s\" är för stor" + +#~ msgid "The file must not be more than 32 kilobytes." +#~ msgstr "Filen får inte vara mer än 32 kilobytes." + +#~ msgid "A list of rooms that do not require confirmation before closing" +#~ msgstr "En lista på rum som inte kräver konfirmation innan de stängs" + +#~ msgid "Timeout" +#~ msgstr "Timeout" + +#~ msgid "Activate/Disable notification for when a file transfer is complete" +#~ msgstr "Aktivera/Deaktivera notifiering för färdiga filöverföringar" + +#~ msgid "Removing selected file transfer" +#~ msgstr "Tar bort vald filöverföring" + +#~ msgid "Stoping selected file transfer" +#~ msgstr "Stoppar vald filöverföring" + +#~ msgid "" +#~ "If you close this tab and you have history disabled, the message will be " +#~ "lost." +#~ msgstr "" +#~ "Om du stänger den här tabben och du har historik avstängt kommer " +#~ "meddelandet försvinna." + +#~ msgid "Cannot remove last group" +#~ msgstr "Kan inte ta bort den sista gruppen" + +#~ msgid "At least one contact group must be present." +#~ msgstr "Åtminstone en kontaktgrupp måste finnas." + +#~ msgid "" +#~ "Image for emoticon has to be less than or equal to 24 pixels in width and " +#~ "24 in height." +#~ msgstr "" +#~ "Bilden för känsloikonen måste vara mindre än eller lika med 24 pixlar i " +#~ "bredd och 24 i höjd." + +#~ msgid "Changes in latest version" +#~ msgstr "Ändringar i den senaste versionen" + +#~ msgid "Check for new _version on Gajim startup" +#~ msgstr "Titta efter ny _version vid Gajimstart" + +#~ msgid "New version of Gajim available" +#~ msgstr "Ny version av Gajim släppt" + +#~ msgid "Open Download Page" +#~ msgstr "Öppna nerladdningssida" + +#, fuzzy +#~ msgid "with account " +#~ msgstr "konto: " + +#~ msgid "Chat with" +#~ msgstr "Chatta med" + +#~ msgid "as %s" +#~ msgstr "som %s" + +#~ msgid "as " +#~ msgstr "som " + +#, fuzzy +#~ msgid "Send _New Message" +#~ msgstr "_Nytt meddelande" + +#~ msgid "Re_quest Authorization from" +#~ msgstr "Be_gär auktorisering från" + +#~ msgid "Send Authorization to" +#~ msgstr "Skicka auktorisering till" + +#~ msgid "Log presences in _contact's log file" +#~ msgstr "Logga närvaro i _kontaktens logfil" + +#~ msgid "Log presences in an _external file" +#~ msgstr "Logga närvaro i en _extern fil" + +#, fuzzy +#~ msgid "" +#~ "You can set advanced account options by pressing Advanced button,or later " +#~ "by clicking in Accounts menuitem under Edit menu from the main window." +#~ msgstr "" +#~ "Konto har blivit tillagt ordentligt.\n" +#~ "Du kan ställa in avancerade alternativ genom att använda \"Redigera-" +#~ ">Konton\" från huvudfönstret." + +#~ msgid "" +#~ "When a new message is received which is not from a contact already in a " +#~ "chat window, the three following actions may happen in order for you to " +#~ "be informed about it" +#~ msgstr "" +#~ "När ett nytt meddelande tas emot av en kontakt som inte redan finns i ett " +#~ "chatfönster kan de tre följande handlingarna hända för att du ska får " +#~ "reda på det" + +#~ msgid "_Earliest" +#~ msgstr "_Tidigast" + +#~ msgid "%s is now %s: %s" +#~ msgstr "%s är nu %s: %s" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "\n" +#~ "== Original Message ==\n" +#~ "%s" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "\n" +#~ "== Originalmeddelande ==\n" +#~ "%s" + +#, fuzzy +#~ msgid "" +#~ "Your new account has been created successfully.\n" +#~ "You can set advanced account options by pressing Advanced button,\n" +#~ "or later by clicking in Accounts menuitem under Edit menu from the main " +#~ "window." +#~ msgstr "" +#~ "Konto har blivit tillagt ordentligt.\n" +#~ "Du kan ställa in avancerade alternativ genom att använda \"Redigera-" +#~ ">Konton\" från huvudfönstret." + +#~ msgid "" +#~ "Your new account has been created and added to your gajim configuration.\n" +#~ "You can set advanced account options using \"Edit->Accounts\" in the main " +#~ "window menu." +#~ msgstr "" +#~ "Ditt nya konto har skapats och lagts till i din gajimkonfiguration.\n" +#~ "Du kan ställa in avancerade kontoalternativ genom att använda \"Redigera-" +#~ ">Konton\" från menyn i registerfönstret." + +#~ msgid "You need to enter a valid server address to add an account." +#~ msgstr "" +#~ "Du måste ange en giltig serveradress för att kunna lägga till ett konto." + +#~ msgid "Contact names must be of the form \"user@servername\"." +#~ msgstr "Kontaktnamn måste vara i formen \"användare@server\"." + +#~ msgid "Invalid contact ID" +#~ msgstr "Ogiltigt kontakt-ID" + +#~ msgid "Contact ID must be of the form \"username@servername\"." +#~ msgstr "Kontakt-ID måste vara i formen \"användare@server\"." + +#~ msgid "The account \"%s\" has been registered with the Jabber server." +#~ msgstr "Kontot \"%s\" har blivit registrerat med Jabberservern." + +#~ msgid "theme_name" +#~ msgstr "tema_namn" + +#~ msgid "Edit" +#~ msgstr "Redigera" + +#~ msgid "Check if you want to register for a new jabber account" +#~ msgstr "Kryssa i om du vill registrera ett nytt jabberkonto" + +#~ msgid "Click to get contact's extended information" +#~ msgstr "Klicka för att få kontaktens utökade information" + +#~ msgid "_Compact View" +#~ msgstr "_Kompakt vy" + +#~ msgid "_Refresh" +#~ msgstr "_Uppdatera" + +#~ msgid "error appeared while processing xmpp:" +#~ msgstr "fel dök upp medans xmpp processade:" + +#~ msgid "You just received a new message in room \"%s\"" +#~ msgstr "Du har mottagit ett nytt meddelande i rummet \"%s\"" + +#~ msgid "" +#~ "If you close this window and you have history disabled, this message will " +#~ "be lost." +#~ msgstr "" +#~ "Om du stänger det här fönstret och du har historik avstängd, kommer ditt " +#~ "meddelande försvinna." + +#~ msgid "New _Room" +#~ msgstr "Nytt _rum" + +#~ msgid "" +#~ "Cancels the selected file transfer. If there is an incomplete file, kept " +#~ "in the file system it will be removed. This operation is not reversable" +#~ msgstr "" +#~ "Avbryter den valda filöverföringen. Om det finns en inkomplett fil kvar " +#~ "på filsystem kommer den tas bort. Den här handlingen går inte att ångra" + +#~ msgid "Chan_ge" +#~ msgstr "_Ändra" + +#~ msgid "" +#~ "If checked, all chat and group chat windows will have the information " +#~ "area in the top and the buttons area in the bottom hidden. You can quick " +#~ "toggle compact view with Alt+C. NOTE: The last state you leave a window/" +#~ "tab is not a permanent one" +#~ msgstr "" +#~ "Om ibockad kommer alla chatt- och gruppchattsfönster att ha " +#~ "informationsytan upptill och knappytan nertill gömda. Du kan snabbt ändra " +#~ "på kompaktvy med Alt+C. NOTIS: Statusen du lämnar ett fönster/en flik i " +#~ "är inte permanent" + +#~ msgid "_Service Discovery" +#~ msgstr "_Tjänstefinnare" + +#~ msgid "_Service Discovery..." +#~ msgstr "_Tjänstefinnare..." diff --git a/po/tr.po b/po/tr.po new file mode 100644 index 0000000..4a9386c --- /dev/null +++ b/po/tr.po @@ -0,0 +1,14346 @@ +# Turkish translations for Gajim - A Jabber Instant Messager package. +# Copyright (C) 2010 THE Gajim - A Jabber Instant Messager'S COPYRIGHT HOLDER +# This file is distributed under the same license as the Gajim - A Jabber Instant Messager package. +# Django Shegman , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: Gajim - A Jabber Instant Messager 0.13.10.2-dev\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-01 17:44+0100\n" +"PO-Revision-Date: 2010-03-24 22:29+0100\n" +"Last-Translator: Ferdi Kunzmann \n" +"Language-Team: Turkish\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Poedit-Bookmarks: -1,-1,66,-1,-1,-1,-1,-1,-1,-1\n" + +#: gajim/history_manager.py:78 +#, fuzzy +msgid "Usage:" +msgstr "mesaj" + +#: gajim/history_manager.py:80 +#, fuzzy +msgid "Options:" +msgstr "Duygu _Simgeler:" + +#: gajim/history_manager.py:82 +msgid "Show this help message and exit" +msgstr "" + +#: gajim/history_manager.py:83 +msgid "Choose folder for logfile" +msgstr "" + +#: gajim/history_manager.py:113 +msgid "Cannot find history logs database" +msgstr "" + +#: gajim/history_manager.py:114 +#, fuzzy, python-format +msgid "%s does not exist." +msgstr "Dosya mevcut değil" + +#: gajim/history_manager.py:147 gajim/history_manager.py:201 +#: gajim/gtk/add_contact.py:31 gajim/gtk/discovery.py:833 +#: gajim/gtk/accounts.py:892 gajim/data/gui/vcard_information_window.ui:55 +#: gajim/data/gui/bookmarks.ui:45 gajim/data/gui/blocking_list.ui:43 +#: gajim/data/gui/mam_preferences.ui:117 +#, fuzzy +msgid "XMPP Address" +msgstr "AIM Adres:" + +#: gajim/history_manager.py:160 gajim/history_manager.py:208 +#: gajim/gtk/history.py:108 gajim/data/gui/history_window.ui:89 +msgid "Date" +msgstr "Tarih" + +#: gajim/history_manager.py:167 gajim/history_manager.py:231 +#: gajim/data/gui/profile.ui:232 gajim/data/gui/vcard_information_window.ui:442 +#: gajim/data/gui/bookmarks.ui:84 +msgid "Nickname" +msgstr "Takma ad" + +#: gajim/history_manager.py:178 gajim/history_manager.py:217 +#: gajim/gtk/history.py:117 gajim/data/gui/single_message_window.ui:266 +msgid "Message" +msgstr "İleti" + +#: gajim/history_manager.py:186 gajim/history_manager.py:224 +#: gajim/data/gui/groups_post_window.ui:49 +#: gajim/data/gui/single_message_window.ui:205 +msgid "Subject" +msgstr "Konu" + +#: gajim/history_manager.py:254 +#, fuzzy +msgid "Database Cleanup" +msgstr "Hata açıklaması…" + +#: gajim/history_manager.py:255 +#, fuzzy +msgid "Clean up the database?" +msgstr "%s/base/1 içinde template1 veritabanı yaratılıyor. " + +#: gajim/history_manager.py:256 +msgid "" +"This is STRONGLY NOT RECOMMENDED IF GAJIM IS RUNNING.\n" +"Normally, the allocated database size will not be freed, it will just become " +"reusable. This operation may take a while." +msgstr "" + +#: gajim/history_manager.py:262 +#, fuzzy +msgid "_Cleanup" +msgstr "Temizle" + +#: gajim/history_manager.py:527 gajim/gtk/filetransfer.py:238 +#: gajim/gtk/filetransfer.py:248 +msgid "You" +msgstr "Sen" + +#: gajim/history_manager.py:539 +#, python-format +msgid "%(who)s on %(time)s said: %(message)s\n" +msgstr "" + +#: gajim/history_manager.py:576 gajim/history_manager.py:615 +#: gajim/gtk/themes.py:362 gajim/gtk/roster_item_exchange.py:75 +#: gajim/gtk/roster_item_exchange.py:185 +msgid "Delete" +msgstr "Sil" + +#: gajim/history_manager.py:577 +#, fuzzy +msgid "Delete Conversation" +msgid_plural "Delete Conversations" +msgstr[0] "Dosya transferi iptal et" + +#: gajim/history_manager.py:578 +#, fuzzy, python-format +msgid "Do you want to permanently delete this conversation with %s?" +msgid_plural "Do you want to permanently delete these conversations?" +msgstr[0] "Seçilen anahtarları gerçekten silmek istiyor musunuz? " + +#: gajim/history_manager.py:616 +#, fuzzy +msgid "Delete Message" +msgid_plural "Delete Messages" +msgstr[0] "Öntanımlı İlet" + +#: gajim/history_manager.py:617 +#, fuzzy +msgid "Do you want to permanently delete this message?" +msgid_plural "Do you want to permanently delete these messages?" +msgstr[0] "Seçilen anahtarları gerçekten silmek istiyor musunuz? " + +#: gajim/roster_window.py:268 gajim/roster_window.py:991 +#, fuzzy +msgid "Merged accounts" +msgstr "Hesapları bir_leştir" + +#: gajim/roster_window.py:756 gajim/roster_window.py:1667 +#: gajim/roster_window.py:1669 gajim/roster_window.py:1986 +#: gajim/roster_window.py:3065 gajim/roster_window.py:3098 +#: gajim/roster_window.py:4026 gajim/gui_interface.py:338 +#: gajim/gui_menu_builder.py:254 gajim/gui_menu_builder.py:345 +#: gajim/chat_control.py:291 gajim/chat_control.py:421 +#: gajim/gtk/add_contact.py:320 gajim/gtk/roster_item_exchange.py:112 +#: gajim/gtk/subscription_request.py:77 gajim/gtk/subscription_request.py:126 +#: gajim/common/helpers.py:89 gajim/common/helpers.py:207 +#: gajim/common/contacts.py:243 gajim/common/contacts.py:382 +#: gajim/common/contacts.py:493 +#, fuzzy +msgid "Not in contact list" +msgstr "_Çevredışı Kişileri Göster" + +#: gajim/roster_window.py:823 gajim/roster_window.py:1579 +#: gajim/roster_window.py:1612 gajim/roster_window.py:1663 +#: gajim/roster_window.py:1665 gajim/roster_window.py:1820 +#: gajim/roster_window.py:2378 gajim/roster_window.py:3990 +#: gajim/roster_window.py:4638 gajim/gtk/discovery.py:127 +#: gajim/gtk/discovery.py:128 gajim/gtk/discovery.py:1419 +#: gajim/common/helpers.py:88 gajim/common/contacts.py:225 +#: gajim/common/contacts.py:485 +msgid "Transports" +msgstr "Taşıma" + +#: gajim/roster_window.py:1671 gajim/roster_window.py:1673 +#: gajim/roster_window.py:3990 gajim/roster_window.py:4603 +#: gajim/gui_interface.py:1425 gajim/common/helpers.py:91 +#: gajim/common/contacts.py:223 +#, fuzzy +msgid "Group chats" +msgstr "Grup sohbetler" + +#: gajim/roster_window.py:1901 gajim/chat_control.py:1688 +msgid "Remote contact stopped transfer" +msgstr "" + +#: gajim/roster_window.py:1903 gajim/chat_control.py:1690 +msgid "Error opening file" +msgstr "Dosya açılırken hata" + +#: gajim/roster_window.py:1968 +#, fuzzy +msgid "Authorization sent" +msgstr "Yeni bir oda yaratılmıştır" + +#: gajim/roster_window.py:1969 +#, fuzzy, python-format +msgid "\"%s\" will now see your status." +msgstr "%(nick)s durumu şimdi %(status)s" + +#: gajim/roster_window.py:1987 +#, fuzzy +msgid "Subscription request has been sent" +msgstr "Onay e-postası gönderildi." + +#: gajim/roster_window.py:1988 +#, python-format +msgid "If \"%s\" accepts this request you will know their status." +msgstr "" + +#: gajim/roster_window.py:2002 +#, fuzzy +msgid "Authorization removed" +msgstr "Yeni bir oda yaratılmıştır" + +#: gajim/roster_window.py:2003 +#, python-format +msgid "Now \"%s\" will always see you as offline." +msgstr "" + +#: gajim/roster_window.py:2198 gajim/data/gui/shortcuts_window.ui:66 +#, fuzzy +msgid "Quit Gajim" +msgstr "Gajim" + +#: gajim/roster_window.py:2199 +#, fuzzy +msgid "You are about to quit Gajim" +msgstr "Onu kullanmak istediğinizden emin misiniz? (e/H) " + +#: gajim/roster_window.py:2200 +#, fuzzy +msgid "Are you sure you want to quit Gajim?" +msgstr "Onu kullanmak istediğinizden emin misiniz? (e/H) " + +#: gajim/roster_window.py:2201 +#, fuzzy +msgid "_Always quit when closing Gajim" +msgstr "Gajimi her zaman kapat" + +#: gajim/roster_window.py:2204 gajim/roster_window.py:2299 +#: gajim/roster_window.py:2340 gajim/data/gui/application_menu.ui:30 +#: gajim/data/gui/systray_context_menu.ui:83 +msgid "_Quit" +msgstr "" + +#: gajim/roster_window.py:2292 +#, fuzzy +msgid "Stop File Transfers" +msgstr "Dosya Aktarımları" + +#: gajim/roster_window.py:2293 +#, fuzzy +msgid "You still have running file transfers" +msgstr "%s size bir dosya göndermek istiyor:" + +#: gajim/roster_window.py:2294 +msgid "" +"If you quit now, the file(s) being transferred will be lost.\n" +"Do you still want to quit?" +msgstr "" + +#: gajim/roster_window.py:2333 +#, fuzzy +msgid "Unread Messages" +msgstr "Okunmamış iletler var" + +#: gajim/roster_window.py:2334 +#, fuzzy +msgid "You still have unread messages" +msgstr "Okunmamış iletler var" + +#: gajim/roster_window.py:2335 +msgid "" +"Messages will only be available for reading them later if storing chat " +"history is enabled and if the contact is in your contact list." +msgstr "" + +#: gajim/roster_window.py:2590 +msgid "You have unread messages" +msgstr "Okunmamış iletler var" + +#: gajim/roster_window.py:2591 +msgid "You must read them before removing this transport." +msgstr "" + +#: gajim/roster_window.py:2594 +#, fuzzy, python-format +msgid "Transport '%s' will be removed" +msgstr "%d paket kaldırılacak\n" + +#: gajim/roster_window.py:2595 +msgid "" +"You will no longer be able to send and receive messages from and to contacts " +"using this transport." +msgstr "" + +#: gajim/roster_window.py:2598 +#, fuzzy +msgid "Transports will be removed" +msgstr "%d paket kaldırılacak\n" + +#: gajim/roster_window.py:2603 +#, python-format +msgid "" +"You will no longer be able to send and receive messages from and to contacts " +"using these transports:\n" +"%s" +msgstr "" + +#: gajim/roster_window.py:2607 +#, fuzzy +msgid "Remove Transport" +msgstr "_XML Konsolu Göster" + +#: gajim/roster_window.py:2662 gajim/chat_control.py:428 +#, fuzzy +msgid "Block Contact" +msgstr "Engellenmiş Kişiler" + +#: gajim/roster_window.py:2663 gajim/chat_control.py:429 +#, fuzzy +msgid "Really block this contact?" +msgstr "Bu bağlantı için her zaman kabul et" + +#: gajim/roster_window.py:2664 gajim/chat_control.py:430 +#, fuzzy +msgid "" +"You will appear offline for this contact and you will not receive further " +"messages." +msgstr "Dosyayı bir kişiye gönderir" + +#: gajim/roster_window.py:2666 +#, fuzzy +msgid "_Do not ask again" +msgstr "Bu iletişim kutusunu bir daha _gösterme" + +#: gajim/roster_window.py:2669 gajim/chat_control.py:434 +#, fuzzy +msgid "_Report Spam" +msgstr "_Hata Bildir" + +#: gajim/roster_window.py:2673 gajim/roster_window.py:4778 +#: gajim/gui_menu_builder.py:485 gajim/chat_control.py:438 +#: gajim/data/gui/contact_context_menu.ui:151 +msgid "_Block" +msgstr "_Engelle" + +#: gajim/roster_window.py:2706 +msgid "Rename Contact" +msgstr "Kişiyi yeniden adlandır" + +#: gajim/roster_window.py:2707 +#, fuzzy, python-format +msgid "Rename contact %s?" +msgstr "Kişiyi yeniden adlandır" + +#: gajim/roster_window.py:2708 +#, fuzzy +msgid "Please enter a new nickname" +msgstr "Bu kişi için %s yeni bir takma ad girin." + +#: gajim/roster_window.py:2712 gajim/roster_window.py:3439 +#: gajim/roster_window.py:4679 gajim/dialogs.py:103 gajim/dialogs.py:116 +#: gajim/gtk/accounts.py:308 gajim/common/contacts.py:178 +#: gajim/common/contacts.py:227 gajim/data/gui/shortcuts_window.ui:12 +#: gajim/data/gui/preferences.ui:96 +msgid "General" +msgstr "Genel" + +#: gajim/roster_window.py:2715 +msgid "Rename Group" +msgstr "Grupu yeniden adlandır" + +#: gajim/roster_window.py:2716 +#, fuzzy, python-format +msgid "Rename group %s?" +msgstr "Grupu yeniden adlandır" + +#: gajim/roster_window.py:2717 +#, fuzzy +msgid "Please enter a new name" +msgstr "Yeni posta yarat" + +#: gajim/roster_window.py:2747 gajim/roster_window.py:2869 +#: gajim/data/gui/groupchat_control.ui:1859 +#, fuzzy +msgid "_Rename" +msgstr "Adı _değiştir" + +#: gajim/roster_window.py:2769 gajim/roster_window.py:2770 +msgid "Remove Group" +msgstr "Grubu Sil" + +#: gajim/roster_window.py:2771 +#, fuzzy, python-format +msgid "Do you want to remove %s from the contact list?" +msgstr "%s grupu kişi listesinden silmek istiyor musun?" + +#: gajim/roster_window.py:2772 +#, fuzzy +msgid "_Also remove all contacts of this group from contact list" +msgstr "Bide bütün grupdaki kişileri listeden sil" + +#: gajim/roster_window.py:2864 gajim/roster_window.py:2865 +#, fuzzy +msgid "Rename Group Chat" +msgstr "Tam-Ekrandan Çık" + +#: gajim/roster_window.py:2866 +#, fuzzy +msgid "Please enter a new name for this group chat" +msgstr "Grup %s için yeni isim giriniz: " + +#: gajim/roster_window.py:3082 +#, fuzzy +msgid "Remove Contact" +msgstr "Kişiyi yeniden adlandır" + +#: gajim/roster_window.py:3083 +#, fuzzy +msgid "Remove contact from contact list" +msgstr "Kişiyi listeden sil" + +#: gajim/roster_window.py:3084 +#, fuzzy, python-format +msgid "You are about to remove %(name)s (%(jid)s) from your contact list.\n" +msgstr "%s grupu kişi listesinden silmek istiyor musun?" + +#: gajim/roster_window.py:3093 gajim/roster_window.py:3113 +msgid "" +"By removing this contact you also remove authorization. This means the " +"contact will see you as offline." +msgstr "" + +#: gajim/roster_window.py:3104 +msgid "Do you want to continue?" +msgstr "Devam etmek istiyor musunuz?" + +#: gajim/roster_window.py:3115 +#, fuzzy +msgid "_I want this contact to know my status after removal" +msgstr "Silindikten sonra bu kişi benim durumu bilsin" + +#: gajim/roster_window.py:3122 +#, fuzzy +msgid "Remove contacts from contact list" +msgstr "Kişiyi listeden sil" + +#: gajim/roster_window.py:3128 +#, python-format +msgid "" +"By removing the following contacts, you will also remove authorization. This " +"means they will see you as offline:\n" +"\n" +"%s" +msgstr "" + +#: gajim/roster_window.py:3132 +#, fuzzy +msgid "Remove Contacts" +msgstr "Kişiyi yeniden adlandır" + +#: gajim/roster_window.py:3761 +msgid "You are about to create a metacontact" +msgstr "" + +#: gajim/roster_window.py:3762 +msgid "" +"Metacontacts are a way to regroup several contacts in one single contact. " +"Generally it is used when the same person has several XMPP- or Transport-" +"Accounts." +msgstr "" + +#: gajim/roster_window.py:3766 +#, fuzzy +msgid "Create Metacontact" +msgstr "Kişiyi yeniden adlandır" + +#: gajim/roster_window.py:3769 gajim/chat_control_base.py:771 +#: gajim/groupchat_control.py:1676 gajim/message_window.py:368 +#, fuzzy +msgid "_Do not ask me again" +msgstr "Bu iletişim kutusunu bir daha _gösterme" + +#: gajim/roster_window.py:3772 gajim/data/gui/groupchat_creation.ui:317 +#, fuzzy +msgid "_Create" +msgstr "Yaratıcı" + +#: gajim/roster_window.py:3889 +#, fuzzy +msgid "Invalid file URI:" +msgstr "Adres verilmedi" + +#: gajim/roster_window.py:3901 +#, fuzzy, python-format +msgid "Send this file to %s:\n" +msgid_plural "Send these files to %s:\n" +msgstr[0] "Yapmak istediğiniz şey bu mu?" + +#: gajim/roster_window.py:3909 gajim/roster_window.py:3910 +#: gajim/chat_control.py:1541 gajim/gtk/filetransfer_progress.py:36 +#, fuzzy +msgid "File Transfer" +msgstr "Dosya Aktarımları" + +#: gajim/roster_window.py:3914 gajim/data/gui/xml_console.ui:334 +msgid "_Send" +msgstr "_Gönder" + +#: gajim/roster_window.py:4067 +#, fuzzy, python-format +msgid "Send %(from)s to %(to)s" +msgstr "Bunu %s buna %s gönder" + +#: gajim/roster_window.py:4080 +#, fuzzy, python-format +msgid "Make %s first contact" +msgstr "bir ses ve video" + +#: gajim/roster_window.py:4085 +#, fuzzy, python-format +msgid "Make %(contact1)s and %(contact2)s metacontacts" +msgstr "bir ses ve video" + +#: gajim/roster_window.py:4436 gajim/roster_window.py:4523 +#: gajim/gtk/status_selector.py:76 +msgid "_Change Status Message" +msgstr "Durum ileti değiştir" + +#: gajim/roster_window.py:4456 +#, fuzzy +msgid "Publish Tune" +msgstr "Albüm Ayarı" + +#: gajim/roster_window.py:4467 +#, fuzzy +msgid "Publish Location" +msgstr " B - DosyaKilidi konumu" + +#: gajim/roster_window.py:4606 +#, fuzzy +msgid "_Maximize All" +msgstr "Bütün durumlar" + +#: gajim/roster_window.py:4615 gajim/roster_window.py:4743 +#, fuzzy +msgid "Send Group M_essage" +msgstr "grupdaki herkez" + +#: gajim/roster_window.py:4622 +msgid "To all users" +msgstr "Tüm kullanıcılara" + +#: gajim/roster_window.py:4626 +msgid "To all online users" +msgstr "Tüm çevredeki kullanıcılara" + +#: gajim/roster_window.py:4637 gajim/roster_window.py:4749 +#: gajim/data/gui/contact_context_menu.ui:36 +msgid "In_vite to" +msgstr "Buna davet _et" + +#: gajim/roster_window.py:4663 gajim/gui_menu_builder.py:471 +#, fuzzy +msgid "_Rename…" +msgstr "_Ad Değiştir" + +#: gajim/roster_window.py:4669 gajim/gui_menu_builder.py:493 +#: gajim/data/gui/contact_context_menu.ui:181 +msgid "Remo_ve" +msgstr "K_aldır" + +#: gajim/roster_window.py:4759 +#, fuzzy +msgid "_Manage Contacts" +msgstr "Kişileri eşzamana getir" + +#: gajim/roster_window.py:4765 +#, fuzzy +msgid "Edit _Groups…" +msgstr "Kişisel ilanlar sayfayı yazımla" + +#: gajim/roster_window.py:4774 gajim/gui_menu_builder.py:482 +#: gajim/data/gui/contact_context_menu.ui:143 +msgid "_Unblock" +msgstr "Engellemeyi _Kaldır" + +#: gajim/roster_window.py:4786 gajim/gtk/dialogs.py:70 +#: gajim/data/gui/filetransfers.ui:12 +msgid "_Remove" +msgstr "_Kaldır" + +#: gajim/roster_window.py:4823 +#, fuzzy +msgid "_Maximize" +msgstr "Ekranı kapla" + +#: gajim/roster_window.py:4828 +#, fuzzy +msgid "Re_name" +msgstr "Adı _değiştir" + +#: gajim/roster_window.py:4836 gajim/groupchat_control.py:1680 +msgid "_Leave" +msgstr "" + +#: gajim/roster_window.py:4844 +#, fuzzy +msgid "Execute command" +msgstr "Komuta _Yürüt" + +#: gajim/roster_window.py:4852 gajim/data/gui/application_menu.ui:68 +#: gajim/data/gui/contact_context_menu.ui:205 +msgid "_History" +msgstr "_Geçmiş" + +#: gajim/roster_window.py:4945 gajim/gui_interface.py:339 +#: gajim/common/helpers.py:90 gajim/common/contacts.py:221 +msgid "Observers" +msgstr "İzlemci" + +#: gajim/roster_window.py:4948 +msgid "Observers can see your status, but you are not allowed to see theirs" +msgstr "" + +#: gajim/privatechat_control.py:105 gajim/groupchat_control.py:1225 +#, python-format +msgid "You are now known as %s" +msgstr "Adınızı %s olarak değiştirdiniz" + +#: gajim/privatechat_control.py:107 gajim/groupchat_control.py:1227 +#, python-brace-format +msgid "{nick} is now known as {new_nick}" +msgstr "" + +#: gajim/privatechat_control.py:138 gajim/groupchat_control.py:1254 +#, fuzzy, python-brace-format +msgid "You are now {show}{status}" +msgstr "Adınızı %s olarak değiştirdiniz" + +#: gajim/privatechat_control.py:142 gajim/groupchat_control.py:1258 +#, fuzzy, python-brace-format +msgid "{nick} is now {show}{status}" +msgstr "%(nick)s durumu şimdi %(status)s" + +#: gajim/privatechat_control.py:199 +msgid "Sending private message failed" +msgstr "Kişisel ilet gönderimi başarısız" + +#: gajim/privatechat_control.py:201 +#, python-format +msgid "You are no longer in group chat \"%(room)s\" or \"%(nick)s\" has left." +msgstr "" + +#: gajim/application.py:81 +msgid "Show the application's version" +msgstr "" + +#: gajim/application.py:88 +#, fuzzy +msgid "Show only critical errors" +msgstr "Kişi listesindeki olayları göster" + +#: gajim/application.py:95 +msgid "Separate profile files completely (even history database and plugins)" +msgstr "" + +#: gajim/application.py:103 +msgid "Print XML stanzas and other debug information" +msgstr "" + +#: gajim/application.py:110 +#, fuzzy +msgid "Use defined profile in configuration directory" +msgstr "İlerlemiş Ayarlama Editörü" + +#: gajim/application.py:118 +#, fuzzy +msgid "Set configuration directory" +msgstr "Hata açıklaması…" + +#: gajim/application.py:126 +msgid "Configure logging system" +msgstr "" + +#: gajim/application.py:134 +#, fuzzy +msgid "Show all warnings" +msgstr "Bütün Bekleyen _Olayları Göster" + +#: gajim/application.py:141 +msgid "Open IPython shell" +msgstr "" + +#: gajim/application.py:148 +msgid "Pops up a window with the next pending event" +msgstr "" + +#: gajim/application.py:154 gajim/data/gui/shortcuts_window.ui:17 +#: data/org.gajim.Gajim.desktop.in:21 +#, fuzzy +msgid "Start a new chat" +msgstr "Sohbet _Başla" + +#: gajim/application.py:205 gajim/gui_interface.py:131 +#, fuzzy +msgid "Database Error" +msgstr "Hata açıklaması…" + +#: gajim/gui_interface.py:168 +#, python-format +msgid "HTTP (%(method)s) Authorization for %(url)s (ID: %(id)s)" +msgstr "" + +#: gajim/gui_interface.py:173 +msgid "Do you accept this request?" +msgstr "Ricayı kabul ediyor musunuz?" + +#: gajim/gui_interface.py:175 +#, fuzzy, python-format +msgid "Do you accept this request (account: %s)?" +msgstr "Ricayı kabul ediyor musunuz?" + +#: gajim/gui_interface.py:181 +#, fuzzy +msgid "Authorization Request" +msgstr "Yeni bir oda yaratılmıştır" + +#: gajim/gui_interface.py:182 +#, fuzzy +msgid "HTTP Authorization Request" +msgstr "Yeni bir oda yaratılmıştır" + +#: gajim/gui_interface.py:185 gajim/gui_interface.py:376 +#: gajim/gui_interface.py:2002 gajim/gtk/filetransfer.py:339 +#, fuzzy +msgid "_No" +msgstr "Hiçbiri" + +#: gajim/gui_interface.py:203 gajim/gtk/notification.py:189 +#: gajim/gtk/notification.py:216 +msgid "Connection Failed" +msgstr "Bağlantı Kurulamıyor" + +#: gajim/gui_interface.py:299 +#, fuzzy, python-format +msgid "error while sending %(message)s ( %(error)s )" +msgstr "Kişisel ilet gönderimi başarısız" + +#: gajim/gui_interface.py:324 gajim/gtk/notification.py:189 +msgid "Subscription request" +msgstr "Üyelik isteği" + +#: gajim/gui_interface.py:359 +#, fuzzy +msgid "Authorization accepted" +msgstr "Değer kabul edildi!" + +#: gajim/gui_interface.py:360 +#, python-format +msgid "The contact \"%(jid)s\" has authorized you to see their status." +msgstr "" + +#: gajim/gui_interface.py:370 +#, fuzzy +msgid "Subscription Removed" +msgstr "Üyelik İsteği" + +#: gajim/gui_interface.py:371 +#, fuzzy, python-format +msgid "%(name)s (%(jid)s) has removed subscription from you" +msgstr "\"%s\" kişi listesinden silincek" + +#: gajim/gui_interface.py:373 +msgid "" +"You will always see this contact as offline.\n" +"Do you want to remove them from your contact list?" +msgstr "" + +#: gajim/gui_interface.py:398 gajim/gtk/notification.py:190 +msgid "Unsubscribed" +msgstr "Üyelikten çıkarıldı" + +#: gajim/gui_interface.py:410 +#, python-format +msgid "%(jid)s declined the invitation: %(reason)s" +msgstr "" + +#: gajim/gui_interface.py:414 +#, python-format +msgid "%(jid)s declined the invitation" +msgstr "" + +#: gajim/gui_interface.py:431 gajim/chat_control.py:1606 +#: gajim/gtk/notification.py:188 gajim/gtk/notification.py:214 +#: gajim/gtk/notification.py:286 gajim/gtk/groupchat_invitation.py:33 +#, fuzzy +msgid "Group Chat Invitation" +msgstr "Grup Sohbeti Daveti" + +#: gajim/gui_interface.py:432 +#, python-format +msgid "%(contact)s invited you to %(chat)s" +msgstr "" + +#: gajim/gui_interface.py:453 +#, fuzzy +msgid "Certificate Passphrase Required" +msgstr "Bu anahtarın kullanım süresi dolmuş" + +#: gajim/gui_interface.py:454 +#, fuzzy, python-format +msgid "Enter the certificate passphrase for account %s" +msgstr "Gadu-Gudu hesabı için parola değiştir" + +#: gajim/gui_interface.py:463 +#, fuzzy, python-format +msgid "Enter your password for account %s" +msgstr "Gadu-Gudu hesabı için parola değiştir" + +#: gajim/gui_interface.py:475 +#, fuzzy +msgid "Password Required" +msgstr "Şifre gerekli" + +#: gajim/gui_interface.py:475 +#, fuzzy +msgid "Save password" +msgstr "Parolayı Değiştir" + +#: gajim/gui_interface.py:544 gajim/gui_interface.py:575 +#: gajim/gtk/notification.py:187 gajim/gtk/notification.py:279 +#: gajim/gtk/filetransfer.py:333 gajim/gtk/filetransfer.py:334 +msgid "File Transfer Error" +msgstr "Dosya Gönderim Hatası" + +#: gajim/gui_interface.py:609 +#, python-format +msgid "%s wants to send you a file." +msgstr "%s size bir dosya göndermek istiyor." + +#: gajim/gui_interface.py:611 gajim/gtk/notification.py:186 +#: gajim/gtk/notification.py:276 gajim/gtk/filetransfer.py:485 +msgid "File Transfer Request" +msgstr "Dosya Gönderim İsteği" + +#: gajim/gui_interface.py:714 +#, fuzzy +msgid "Remote Contact Stopped Transfer" +msgstr "Kişiyi listeden sil" + +#: gajim/gui_interface.py:719 +#, fuzzy +msgid "Error Opening File" +msgstr "Dosya açılırken hata" + +#: gajim/gui_interface.py:729 +#, fuzzy +msgid "SSL Certificate Error" +msgstr "Bir hata oluştu:" + +#: gajim/gui_interface.py:738 gajim/gui_interface.py:768 +#: gajim/gui_interface.py:794 gajim/chat_control.py:1573 +#: gajim/gtk/notification.py:187 gajim/gtk/notification.py:282 +msgid "File Transfer Completed" +msgstr "Dosya Gönderimi Tamamlandı" + +#: gajim/gui_interface.py:742 gajim/gui_interface.py:773 +#: gajim/gui_interface.py:800 gajim/gtk/notification.py:188 +#: gajim/gtk/notification.py:283 +msgid "File Transfer Stopped" +msgstr "Dosya Gönderimi Durduruldu" + +#: gajim/gui_interface.py:746 +#, fuzzy +msgid "File Transfer Failed" +msgstr "Dosya Gönderme Tamamlandı" + +#: gajim/gui_interface.py:769 +#, python-format +msgid "%(filename)s received from %(name)s." +msgstr "" + +#: gajim/gui_interface.py:774 +#, python-format +msgid "File transfer of %(filename)s from %(name)s stopped." +msgstr "" + +#: gajim/gui_interface.py:780 +#, python-format +msgid "File transfer of %(filename)s from %(name)s failed." +msgstr "" + +#: gajim/gui_interface.py:795 +#, fuzzy, python-format +msgid "You successfully sent %(filename)s to %(name)s." +msgstr "Gönderdiğiniz iletide yazacak adın rengi." + +#: gajim/gui_interface.py:801 +#, python-format +msgid "File transfer of %(filename)s to %(name)s stopped." +msgstr "" + +#: gajim/gui_interface.py:807 +#, fuzzy, python-format +msgid "File transfer of %(filename)s to %(name)s failed." +msgstr "Gönderdiğiniz iletide yazacak adın rengi." + +#: gajim/gui_interface.py:919 gajim/gui_interface.py:920 +msgid "Username Conflict" +msgstr "Kullanan ad Çarpışması" + +#: gajim/gui_interface.py:921 +#, fuzzy +msgid "Please enter a new username for your local account" +msgstr "Grup %s için yeni isim giriniz: " + +#: gajim/gui_interface.py:925 gajim/gtk/dialogs.py:51 +#: gajim/data/gui/passphrase_dialog.ui:44 +msgid "_OK" +msgstr "_Tamam" + +#: gajim/gui_interface.py:988 gajim/chat_control.py:763 +#: gajim/chat_control.py:1660 gajim/gtk/notification.py:190 +#, fuzzy +msgid "Incoming Call" +msgstr "Kullanıcak takma ad" + +#: gajim/gui_interface.py:990 +#, python-format +msgid "%s is calling" +msgstr "" + +#: gajim/gui_interface.py:1071 gajim/gui_interface.py:1072 +#, fuzzy +msgid "Insecure Connection" +msgstr "Tehlikeli bağlantı" + +#: gajim/gui_interface.py:1073 +#, python-format +msgid "" +"You are about to connect to the account %(account)s (%(server)s) using an " +"insecure connection method. This means conversations will not be encrypted. " +"Connecting PLAIN is strongly discouraged." +msgstr "" + +#: gajim/gui_interface.py:1080 gajim/data/gui/groupchat_control.ui:595 +msgid "_Abort" +msgstr "" + +#: gajim/gui_interface.py:1083 +#, fuzzy +msgid "_Connect Anyway" +msgstr "Connecting" + +#: gajim/gui_interface.py:1921 +msgid "Gajim: IPython Console" +msgstr "" + +#: gajim/gui_interface.py:1998 +#, fuzzy +msgid "Update Check" +msgstr "Tamamlanmamış yazım denetimi kaydı" + +#: gajim/gui_interface.py:1999 +msgid "Gajim Update Check" +msgstr "" + +#: gajim/gui_interface.py:2000 +msgid "Search for Gajim updates periodically?" +msgstr "" + +#: gajim/gui_interface.py:2005 +msgid "_Search Periodically" +msgstr "" + +#: gajim/gui_interface.py:2045 +#, fuzzy +msgid "Update Available" +msgstr "Mevcut Değil" + +#: gajim/gui_interface.py:2046 +#, fuzzy +msgid "Gajim Update Available" +msgstr "Mevcut Değil" + +#: gajim/gui_interface.py:2047 +#, python-format +msgid "There is an update available for Gajim (latest version: %s)" +msgstr "" + +#: gajim/gui_interface.py:2049 +#, fuzzy +msgid "_Do not show again" +msgstr "Bu iletişim kutusunu bir daha _gösterme" + +#: gajim/gui_interface.py:2051 gajim/gtk/accounts.py:126 +msgid "_Later" +msgstr "" + +#: gajim/gui_interface.py:2054 +msgid "_Update Now" +msgstr "" + +#: gajim/gui_menu_builder.py:358 +#, fuzzy +msgid "I would like to add you to my contact list" +msgstr "Seni kişi listeme eklemek isterdim" + +#: gajim/gui_menu_builder.py:435 +#, fuzzy +msgid "Send Single _Message…" +msgstr "Tek bir İlet gönder" + +#: gajim/gui_menu_builder.py:450 +#, fuzzy +msgid "E_xecute Command…" +msgstr "Komuta _Yürüt" + +#: gajim/gui_menu_builder.py:458 +#, fuzzy +msgid "_Manage Transport" +msgstr "Aktarım protokolü" + +#: gajim/gui_menu_builder.py:464 +#, fuzzy +msgid "_Modify Transport" +msgstr "Aktarım protokolü" + +#: gajim/gui_menu_builder.py:503 gajim/data/gui/contact_context_menu.ui:198 +msgid "_Information" +msgstr "_Bilgi" + +#: gajim/gui_menu_builder.py:516 +#, fuzzy +msgid "Send File" +msgstr "_Dosya Gönder…" + +#: gajim/gui_menu_builder.py:517 +#, fuzzy +msgid "Upload File…" +msgstr "Dosya Farklı Kaydet..." + +#: gajim/gui_menu_builder.py:518 +#, fuzzy +msgid "Send File Directly…" +msgstr "Dosya Farklı Kaydet..." + +#: gajim/gui_menu_builder.py:520 gajim/gtk/accounts.py:734 +#, fuzzy +msgid "Send Read Markers" +msgstr "_Yaşamda kal paketleri gönder" + +#: gajim/gui_menu_builder.py:521 gajim/gtk/accounts.py:710 +#, fuzzy +msgid "Send Chatstate" +msgstr "Son durum: %s" + +#: gajim/gui_menu_builder.py:522 gajim/data/gui/groupchat_control.ui:307 +#, fuzzy +msgid "Invite Contacts…" +msgstr "Kişi Davet _Et" + +#: gajim/gui_menu_builder.py:523 gajim/gui_menu_builder.py:741 +#: gajim/gui_menu_builder.py:768 gajim/gui_menu_builder.py:807 +#, fuzzy +msgid "Add to Contact List…" +msgstr "Kişi _ekle" + +#: gajim/gui_menu_builder.py:524 +#, fuzzy +msgid "Block Contact…" +msgstr "Engellenmiş Kişiler" + +#: gajim/gui_menu_builder.py:525 gajim/data/gui/chat_control.ui:936 +#, fuzzy +msgid "Start Call…" +msgstr "Sohbet _Başla" + +#: gajim/gui_menu_builder.py:526 gajim/gui_menu_builder.py:576 +#: gajim/gui_menu_builder.py:802 gajim/data/gui/groupchat_control.ui:1334 +#, fuzzy +msgid "Information" +msgstr "_Bilgi" + +#: gajim/gui_menu_builder.py:527 gajim/gui_menu_builder.py:588 +#, fuzzy +msgid "History" +msgstr "_Geçmiş" + +#: gajim/gui_menu_builder.py:533 gajim/gui_menu_builder.py:710 +#: gajim/gtk/preferences.py:671 gajim/gtk/groupchat_settings.py:36 +#: gajim/gtk/accounts.py:682 +msgid "Disabled" +msgstr "Geçersizleşti" + +#: gajim/gui_menu_builder.py:534 gajim/gtk/groupchat_settings.py:37 +#: gajim/gtk/accounts.py:681 +#, fuzzy +msgid "Composing Only" +msgstr "Sadece yazıştırıyor" + +#: gajim/gui_menu_builder.py:535 gajim/gtk/groupchat_settings.py:38 +#, fuzzy +msgid "All Chat States" +msgstr "Bütün sohbet durumlar" + +#: gajim/gui_menu_builder.py:577 +#, fuzzy +msgid "Settings…" +msgstr "Bağlantı Kurulamıyor" + +#: gajim/gui_menu_builder.py:578 +#, fuzzy +msgid "Manage Group Chat" +msgstr "Tam-Ekrandan Çık" + +#: gajim/gui_menu_builder.py:579 +#, fuzzy +msgid "Rename…" +msgstr "_Ad Değiştir" + +#: gajim/gui_menu_builder.py:580 +#, fuzzy +msgid "Change Subject…" +msgstr "Konuk Değiştiriliyor" + +#: gajim/gui_menu_builder.py:581 +#, fuzzy +msgid "Upload Avatar…" +msgstr "Resim seç" + +#: gajim/gui_menu_builder.py:582 +#, fuzzy +msgid "Configure…" +msgstr "_Yerleştir" + +#: gajim/gui_menu_builder.py:583 +#, fuzzy +msgid "Destroy…" +msgstr "Açıklama" + +#: gajim/gui_menu_builder.py:585 +#, fuzzy +msgid "Change Nickname…" +msgstr "Takma Ad Ayarla" + +#: gajim/gui_menu_builder.py:586 +#, fuzzy +msgid "Request Voice" +msgstr "_Ses" + +#: gajim/gui_menu_builder.py:587 gajim/gui_menu_builder.py:825 +#, fuzzy +msgid "Execute Command…" +msgstr "Komuta _Yürüt" + +#: gajim/gui_menu_builder.py:589 +msgid "Leave" +msgstr "" + +#: gajim/gui_menu_builder.py:631 +#, fuzzy +msgid "Add Contact…" +msgstr "Kişi _ekle" + +#: gajim/gui_menu_builder.py:632 gajim/gtk/accounts.py:861 +#: gajim/gtk/accounts.py:899 gajim/gtk/profile.py:53 +#, fuzzy +msgid "Profile" +msgstr "dosya" + +#: gajim/gui_menu_builder.py:633 +#, fuzzy +msgid "Send Single Message…" +msgstr "Tek bir İlet gönder" + +#: gajim/gui_menu_builder.py:634 +#, fuzzy +msgid "Discover Services…" +msgstr "Çevrimiçi Servisler" + +#: gajim/gui_menu_builder.py:635 gajim/gtk/server_info.py:47 +#, fuzzy +msgid "Server Info" +msgstr "_Sunuc:" + +#: gajim/gui_menu_builder.py:636 gajim/gtk/accounts.py:312 +#: gajim/data/gui/preferences.ui:853 +msgid "Advanced" +msgstr "İlerlemiş" + +#: gajim/gui_menu_builder.py:637 gajim/gtk/mam_preferences.py:100 +#, fuzzy +msgid "Archiving Preferences" +msgstr "Tercihler" + +#: gajim/gui_menu_builder.py:638 +#, fuzzy +msgid "Blocking List" +msgstr "Geçersiz Liste İsmi" + +#: gajim/gui_menu_builder.py:639 +#, fuzzy +msgid "Bookmarks" +msgstr "_Yer imi" + +#: gajim/gui_menu_builder.py:640 +#, fuzzy +msgid "PEP Configuration" +msgstr "Oda Yerleştirme" + +#: gajim/gui_menu_builder.py:641 +#, fuzzy +msgid "Synchronise History…" +msgstr "Kişileri eşzamana getir" + +#: gajim/gui_menu_builder.py:643 gajim/gtk/server_info.py:141 +#: gajim/data/gui/groupchat_config.ui:36 +#, fuzzy +msgid "Admin" +msgstr "_Yönetici" + +#: gajim/gui_menu_builder.py:644 +#, fuzzy +msgid "Send Server Message…" +msgstr "Tek Bir İleti Gönder…" + +#: gajim/gui_menu_builder.py:645 +#, fuzzy +msgid "Set MOTD…" +msgstr "MOTD'yi yaz" + +#: gajim/gui_menu_builder.py:646 +#, fuzzy +msgid "Update MOTD…" +msgstr "MOTD'yi yenileştir" + +#: gajim/gui_menu_builder.py:647 +#, fuzzy +msgid "Delete MOTD…" +msgstr "Sil" + +#: gajim/gui_menu_builder.py:684 +#, fuzzy +msgid "_Add Account…" +msgstr "Kişi _ekle" + +#: gajim/gui_menu_builder.py:690 +#, fuzzy +msgid "_Modify Accounts…" +msgstr "%s hesaptan" + +#: gajim/gui_menu_builder.py:700 gajim/data/gui/account_context_menu.ui:79 +#: gajim/data/gui/zeroconf_context_menu.ui:26 +#, fuzzy +msgid "_Modify Account…" +msgstr "%s hesaptan" + +#: gajim/gui_menu_builder.py:704 gajim/gtk/accounts.py:51 +msgid "Accounts" +msgstr "Hesaplar" + +#: gajim/gui_menu_builder.py:734 gajim/gui_menu_builder.py:739 +#, fuzzy +msgid "Copy XMPP Address" +msgstr "AIM Adres:" + +#: gajim/gui_menu_builder.py:735 gajim/gui_menu_builder.py:767 +#, fuzzy +msgid "Join Groupchat" +msgstr "Grup Sohbete Katıl" + +#: gajim/gui_menu_builder.py:740 gajim/gui_menu_builder.py:766 +#: gajim/gtk/start_chat.py:636 +#: gajim/data/gui/subscription_request_window.ui:149 +#, fuzzy +msgid "Start Chat" +msgstr "Sohbet _Başla" + +#: gajim/gui_menu_builder.py:746 +msgid "Copy Link Location" +msgstr "" + +#: gajim/gui_menu_builder.py:747 +#, fuzzy +msgid "Open Link in Browser" +msgstr "Gmail Gelen Kutusunu _Aç" + +#: gajim/gui_menu_builder.py:752 +msgid "Copy Email Address" +msgstr "" + +#: gajim/gui_menu_builder.py:753 gajim/gui_menu_builder.py:765 +#, fuzzy +msgid "Open Email Composer" +msgstr "Gmail Gelen Kutusunu _Aç" + +#: gajim/gui_menu_builder.py:758 +#, fuzzy +msgid "Copy Location" +msgstr "Yer:" + +#: gajim/gui_menu_builder.py:759 gajim/gtk/preferences.py:291 +#, fuzzy +msgid "Show Location" +msgstr "Yer:" + +#: gajim/gui_menu_builder.py:764 +msgid "Copy XMPP Address/Email" +msgstr "" + +#: gajim/gui_menu_builder.py:816 +#, fuzzy +msgid "Invite" +msgstr "Davet _et" + +#: gajim/gui_menu_builder.py:832 +msgid "Kick" +msgstr "" + +#: gajim/gui_menu_builder.py:840 +#, fuzzy +msgid "Ban" +msgstr "Geçersiz Liste İsmi" + +#: gajim/gui_menu_builder.py:850 +#, fuzzy +msgid "Make Owner" +msgstr "Sahibi" + +#: gajim/gui_menu_builder.py:859 +#, fuzzy +msgid "Make Admin" +msgstr "_Yönetici" + +#: gajim/gui_menu_builder.py:868 +#, fuzzy +msgid "Make Member" +msgstr "Üye" + +#: gajim/gui_menu_builder.py:877 +#, fuzzy +msgid "Revoke Member" +msgstr "Üye" + +#: gajim/gui_menu_builder.py:887 +msgid "Grant Voice" +msgstr "" + +#: gajim/gui_menu_builder.py:890 +#, fuzzy +msgid "Revoke Voice" +msgstr "_Ses" + +#: gajim/gui_menu_builder.py:910 +#, fuzzy +msgid "Copy" +msgstr "Oda JID" + +#: gajim/chat_control.py:346 gajim/groupchat_control.py:348 +#, fuzzy +msgid "Send File…" +msgstr "_Dosya Gönder…" + +#: gajim/chat_control.py:348 gajim/groupchat_control.py:354 +#, fuzzy +msgid "No File Transfer available" +msgstr "Dosya Gönderme Tamamlandı" + +#: gajim/chat_control.py:479 +msgid "Show a list of formattings" +msgstr "" + +#: gajim/chat_control.py:483 +msgid "This contact does not support HTML" +msgstr "" + +#: gajim/chat_control.py:684 +msgid "Ping?" +msgstr "Ping?" + +#: gajim/chat_control.py:687 +#, fuzzy, python-format +msgid "Pong! (%s seconds)" +msgstr "Pong! (%s s.)" + +#: gajim/chat_control.py:758 +msgid "Calling…" +msgstr "" + +#: gajim/chat_control.py:783 gajim/chat_control.py:870 +#, fuzzy +msgid "Connection Error" +msgstr "Bağlantı" + +#: gajim/chat_control.py:811 gajim/data/gui/chat_control.ui:1185 +msgid "Turn Camera on" +msgstr "" + +#: gajim/chat_control.py:822 +msgid "Calling (Video)…" +msgstr "" + +#: gajim/chat_control.py:826 gajim/chat_control.py:834 +#: gajim/chat_control.py:864 +msgid "Turn Camera off" +msgstr "" + +#: gajim/chat_control.py:832 +msgid "Incoming Call (Video)" +msgstr "" + +#: gajim/chat_control.py:1020 +#, python-format +msgid "%(nickname)s from group chat %(room_name)s" +msgstr "" + +#: gajim/chat_control.py:1257 +#, fuzzy +msgid "Note: Chat history is disabled for this contact." +msgstr "Bu imza için bir yürürlükten kaldırma sertifikası oluşturulsun mu? " + +#: gajim/chat_control.py:1259 +msgid "Note: Chat history is disabled for this account." +msgstr "" + +#: gajim/chat_control.py:1260 +#, fuzzy, python-format +msgid "" +"You just received a new message from %s.\n" +"Do you want to close this tab?" +msgstr "\"%s\"den yeni bir ileti aldın" + +#: gajim/chat_control.py:1266 gajim/gtk/remove_account.py:43 +#: gajim/gtk/change_password.py:44 +#, fuzzy +msgid "Close" +msgstr "_Gönder & Kapat" + +#: gajim/chat_control.py:1267 gajim/gtk/notification.py:184 +#: gajim/gtk/notification.py:204 gajim/gtk/notification.py:218 +#: gajim/gtk/notification.py:271 gajim/common/connection_handlers_events.py:237 +msgid "New Message" +msgstr "Yeni Mesaj" + +#: gajim/chat_control.py:1272 gajim/chat_control.py:1579 +#: gajim/chat_control.py:1588 gajim/message_window.py:371 +#: gajim/data/gui/groupchat_control.ui:1117 +#: gajim/data/gui/groupchat_control.ui:1203 +#: gajim/data/gui/groupchat_control.ui:1308 +#: gajim/data/gui/groupchat_control.ui:1997 +#, fuzzy +msgid "_Close" +msgstr "_Gönder & Kapat" + +#: gajim/chat_control.py:1359 +#, fuzzy, python-format +msgid "" +"Subject: %(subject)s\n" +"%(message)s" +msgstr "" +"Konu: %(subject)lar\n" +"%(message)lar" + +#: gajim/chat_control.py:1480 +#, fuzzy, python-format +msgid "%(name)s is now %(show)s %(status)s" +msgstr "%(nick)s durumu şimdi %(status)s" + +#: gajim/chat_control.py:1545 +#, fuzzy +msgid "Size" +msgstr "%1 (boyut %2)" + +#: gajim/chat_control.py:1547 gajim/chat_control.py:1609 +#: gajim/gtk/groupchat_invitation.py:67 +#, fuzzy +msgid "_Decline" +msgstr "Bağlı _değil" + +#: gajim/chat_control.py:1550 gajim/chat_control.py:1611 +#: gajim/chat_control.py:1668 gajim/gtk/dialogs.py:59 +#, fuzzy +msgid "_Accept" +msgstr "Hesaplar" + +#: gajim/chat_control.py:1577 gajim/gtk/filetransfer.py:259 +#, fuzzy +msgid "Open _Folder" +msgstr "Gmail Gelen Kutusunu _Aç" + +#: gajim/chat_control.py:1662 +#, fuzzy +msgid "" +"\n" +"Video Call" +msgstr "Video testi" + +#: gajim/chat_control.py:1664 +#, fuzzy +msgid "" +"\n" +"Voice Call" +msgstr "Dosya Gönderme Soru" + +#: gajim/chat_control.py:1666 +#, fuzzy +msgid "_Reject" +msgstr "Üzgün" + +#: gajim/chat_control.py:1692 gajim/gtk/filetransfer.py:297 +#, fuzzy +msgid "File transfer stopped" +msgstr "Dosya Gönderme Tamamlandı" + +#: gajim/chat_control.py:1697 gajim/gtk/filetransfer.py:275 +#: gajim/gtk/filetransfer.py:284 +#, fuzzy +msgid "File transfer cancelled" +msgstr "Dosya Gönderme Tamamlandı" + +#: gajim/chat_control.py:1698 +msgid "Connection with peer cannot be established." +msgstr "" + +#: gajim/chat_control_base.py:141 gajim/gtk/start_chat.py:649 +#: gajim/gtk/groupchat_invite.py:318 +#, fuzzy, python-format +msgid "Account: %s" +msgstr "Hesaplar" + +#: gajim/chat_control_base.py:592 +#, fuzzy +msgid "and authenticated" +msgstr "bir ses ve video" + +#: gajim/chat_control_base.py:596 +msgid "and NOT authenticated" +msgstr "ve YETKİLENDİRİLMEMİŞ" + +#: gajim/chat_control_base.py:600 +#, python-format +msgid "%(type)s encryption is active %(authenticated)s." +msgstr "" + +#: gajim/chat_control_base.py:715 +msgid "_Undo" +msgstr "_Geri Al" + +#: gajim/chat_control_base.py:723 gajim/conversation_textview.py:417 +msgid "_Clear" +msgstr "_Temizle" + +#: gajim/chat_control_base.py:728 +msgid "Paste as quote" +msgstr "" + +#: gajim/chat_control_base.py:767 +#, fuzzy +msgid "Paste Image" +msgstr "Resim seç" + +#: gajim/chat_control_base.py:768 +msgid "You are trying to paste an image" +msgstr "" + +#: gajim/chat_control_base.py:769 +#, fuzzy +msgid "" +"Are you sure you want to paste your clipboard's image into the chat window?" +msgstr "Onu kullanmak istediğinizden emin misiniz? (e/H) " + +#: gajim/chat_control_base.py:775 +msgid "_Paste" +msgstr "" + +#: gajim/chat_control_base.py:1361 gajim/gtk/accounts.py:310 +#: gajim/data/gui/profile.ui:17 gajim/data/gui/profile.ui:318 +#, fuzzy +msgid "Privacy" +msgstr "Geçersiz Liste İsmi" + +#: gajim/chat_control_base.py:1362 +#, fuzzy +msgid "Warning" +msgstr "ben burdaysam" + +#: gajim/chat_control_base.py:1363 +#, python-format +msgid "" +"If you send a file to %s, your real XMPP address will be revealed." +msgstr "" + +#: gajim/chat_control_base.py:1368 +msgid "_Continue" +msgstr "_Devam" + +#: gajim/gajim_remote.py:55 gajim/common/exceptions.py:70 +msgid "D-Bus is not present on this machine or python module is missing" +msgstr "" + +#: gajim/gajim_remote.py:77 +msgid "Shows a help on specific command" +msgstr "Belirtilen komutla ilgili yardımı gösterir" + +#: gajim/gajim_remote.py:80 +msgid "command" +msgstr "komut" + +#: gajim/gajim_remote.py:81 +msgid "show help on command" +msgstr "komut yardımını göster" + +#: gajim/gajim_remote.py:85 +msgid "Lists all contacts in the contact list, one for each line" +msgstr "" + +#: gajim/gajim_remote.py:87 gajim/gajim_remote.py:102 gajim/gajim_remote.py:112 +#: gajim/gajim_remote.py:122 gajim/gajim_remote.py:133 +#: gajim/gajim_remote.py:142 gajim/gajim_remote.py:163 +#: gajim/gajim_remote.py:171 gajim/gajim_remote.py:180 +#: gajim/gajim_remote.py:187 +#, fuzzy +msgid "?CLI:account" +msgstr "hesap" + +#: gajim/gajim_remote.py:87 +msgid "show only contacts of the given account" +msgstr "sadece bu hesapın kişilerini göster" + +#: gajim/gajim_remote.py:93 +msgid "Prints a list of registered accounts" +msgstr "" + +#: gajim/gajim_remote.py:97 +#, fuzzy +msgid "Changes the status of account(s)" +msgstr "Durum satırı okunamadı" + +#: gajim/gajim_remote.py:100 +#, fuzzy +msgid "?CLI:status" +msgstr "durum" + +#: gajim/gajim_remote.py:100 +msgid "" +"one of: offline, online, chat, away, xa, dnd. If not set, use account's " +"previous status" +msgstr "" + +#: gajim/gajim_remote.py:101 gajim/gajim_remote.py:121 +#: gajim/gajim_remote.py:132 gajim/gajim_remote.py:141 +#, fuzzy +msgid "?CLI:message" +msgstr "mesaj" + +#: gajim/gajim_remote.py:101 +msgid "status message" +msgstr "durum ileti" + +#: gajim/gajim_remote.py:102 +msgid "" +"change status of account \"account\". If not specified, try to change status " +"of all accounts that have \"sync with global status\" option set" +msgstr "" + +#: gajim/gajim_remote.py:108 +msgid "Changes the priority of account(s)" +msgstr "" + +#: gajim/gajim_remote.py:110 +#, fuzzy +msgid "?CLI:priority" +msgstr "öncelik" + +#: gajim/gajim_remote.py:110 +msgid "priority you want to give to the account" +msgstr "" + +#: gajim/gajim_remote.py:112 +msgid "" +"change the priority of the given account. If not specified, change status of " +"all accounts that have \"sync with global status\" option set" +msgstr "" + +#: gajim/gajim_remote.py:118 +#, fuzzy +msgid "" +"Sends new chat message to a contact in the contact list. Account is optional." +msgstr "Dosyayı bir kişiye gönderir" + +#: gajim/gajim_remote.py:120 gajim/gajim_remote.py:130 +#, fuzzy +msgid "XMPP Address of the contact that will receive the message" +msgstr "Dosyayı bir kişiye gönderir" + +#: gajim/gajim_remote.py:121 gajim/gajim_remote.py:132 +#: gajim/gajim_remote.py:141 +msgid "message contents" +msgstr "iletinin içindekiler" + +#: gajim/gajim_remote.py:122 gajim/gajim_remote.py:133 +#: gajim/gajim_remote.py:142 +msgid "if specified, the message will be sent using this account" +msgstr "" + +#: gajim/gajim_remote.py:127 +#, fuzzy +msgid "" +"Sends a chat message to someone on your contact list. Account is optional." +msgstr "Dosyayı bir kişiye gönderir" + +#: gajim/gajim_remote.py:131 +msgid "subject" +msgstr "konu" + +#: gajim/gajim_remote.py:131 +msgid "message subject" +msgstr "iletinin konusu" + +#: gajim/gajim_remote.py:138 +msgid "Sends new message to a group chat you've joined." +msgstr "" + +#: gajim/gajim_remote.py:140 +msgid "XMPP Address of the group chat that will receive the message" +msgstr "" + +#: gajim/gajim_remote.py:147 +msgid "Gets detailed info on a contact" +msgstr "" + +#: gajim/gajim_remote.py:149 gajim/gajim_remote.py:162 +#: gajim/gajim_remote.py:170 +#, fuzzy +msgid "XMPP Address of the contact" +msgstr "Kişinin JIDsi" + +#: gajim/gajim_remote.py:153 +msgid "Gets detailed info on a account" +msgstr "" + +#: gajim/gajim_remote.py:155 +msgid "Name of the account" +msgstr "Hesapın ismi" + +#: gajim/gajim_remote.py:159 +msgid "Sends file to a contact" +msgstr "Dosyayı bir kişiye gönderir" + +#: gajim/gajim_remote.py:161 +msgid "file" +msgstr "dosya" + +#: gajim/gajim_remote.py:161 +msgid "File path" +msgstr "Dosya yolu" + +#: gajim/gajim_remote.py:163 +msgid "if specified, file will be sent using this account" +msgstr "" + +#: gajim/gajim_remote.py:168 +#, fuzzy +msgid "Removes contact from contact list" +msgstr "Kişiyi listeden sil" + +#: gajim/gajim_remote.py:171 +msgid "if specified, contact is taken from the contact list of this account" +msgstr "" + +#: gajim/gajim_remote.py:178 +msgid "Returns current status (the global one unless account is specified)" +msgstr "" + +#: gajim/gajim_remote.py:185 +msgid "" +"Returns current status message (the global one unless account is specified)" +msgstr "" + +#: gajim/gajim_remote.py:192 +msgid "Returns number of unread messages" +msgstr "Kaç okunmamış ileti sayısını geri ver" + +#: gajim/gajim_remote.py:197 +msgid "Sends custom XML" +msgstr "Özel XML gönder" + +#: gajim/gajim_remote.py:199 +msgid "XML to send" +msgstr "gönderilenecek XML" + +#: gajim/gajim_remote.py:200 +msgid "" +"Account to which the XML will be sent; if not specified, XML will be sent to " +"all accounts" +msgstr "" + +#: gajim/gajim_remote.py:207 +#, fuzzy +msgid "Check if Gajim is running" +msgstr "Paket sisteminin kilitli olup olmadığını kontrol edin." + +#: gajim/gajim_remote.py:233 +#, fuzzy +msgid "Missing argument \"contact_jid\"" +msgstr "JID veya Kişi adı girdir" + +#: gajim/gajim_remote.py:253 +#, python-format +msgid "" +"'%s' is not in your contact list.\n" +"Please specify account for sending the message." +msgstr "" + +#: gajim/gajim_remote.py:256 +#, fuzzy +msgid "You have no active account" +msgstr "Bir hesap seçmek zorundasınız." + +#: gajim/gajim_remote.py:304 +msgid "It seems Gajim is not running. So you can't use gajim-remote." +msgstr "" + +#: gajim/gajim_remote.py:331 +#, fuzzy, python-format +msgid "" +"Usage: %(basename)s %(command)s %(arguments)s \n" +"\t %(help)s" +msgstr "" +"Kullanım: %s [komut satır yordamları reddedildi]\n" +" veya: %s OPTION\n" + +#: gajim/gajim_remote.py:335 +msgid "Arguments:" +msgstr "Argümanlar:" + +#: gajim/gajim_remote.py:339 +#, python-format +msgid "%s not found" +msgstr "%s bulunamadı" + +#: gajim/gajim_remote.py:345 +#, python-format +msgid "" +"Usage:\n" +" %s command [arguments]\n" +"\n" +"Command is one of:\n" +msgstr "" + +#: gajim/gajim_remote.py:415 +#, python-format +msgid "" +"Too many arguments. \n" +"Type \"%(basename)s help %(command)s\" for more info" +msgstr "" + +#: gajim/gajim_remote.py:420 +#, python-format +msgid "" +"Argument \"%(arg)s\" is not specified. \n" +"Type \"%(basename)s help %(command)s\" for more info" +msgstr "" + +#: gajim/dialogs.py:70 +#, fuzzy, python-format +msgid "Contact name: %s" +msgstr "İlk Ad:" + +#: gajim/dialogs.py:72 +#, python-format +msgid "XMPP Address: %s" +msgstr "" + +#: gajim/dialogs.py:189 +msgid "Group" +msgstr "Grup" + +#: gajim/dialogs.py:196 +msgid "In the group" +msgstr "Grupda" + +#: gajim/dialogs.py:211 gajim/gtk/discovery.py:522 +#, fuzzy +msgid "You are not connected to the server" +msgstr "Şu anda bir veritabanına bağlı değilsiniz.\n" + +#: gajim/dialogs.py:212 +#, fuzzy +msgid "Without a connection, you can not synchronise your contacts." +msgstr "Bağlantızıs kişisel ilanlar sayfayı yazımlayanmiyor" + +#: gajim/dialogs.py:223 gajim/dialogs.py:294 +#: gajim/gtk/roster_item_exchange.py:83 gajim/gtk/discovery.py:826 +#: gajim/gtk/discovery.py:1650 gajim/gtk/discovery.py:1896 +#: gajim/gtk/history.py:99 gajim/gtk/vcard_grid.py:34 +#: gajim/data/gui/bookmarks.ui:66 +msgid "Name" +msgstr "Adı" + +#: gajim/dialogs.py:226 gajim/data/gui/preferences.ui:604 +#: gajim/data/gui/server_info.ui:146 +#, fuzzy +msgid "Server" +msgstr "_Sunuc:" + +#: gajim/dialogs.py:262 +msgid "This account is not connected to the server" +msgstr "" + +#: gajim/dialogs.py:263 +msgid "You cannot synchronize with an account unless it is connected." +msgstr "" + +#: gajim/dialogs.py:292 +#, fuzzy +msgid "Synchronise" +msgstr "Kişileri eşzamana getir" + +#: gajim/vcard.py:284 +msgid "?Client:Unknown" +msgstr "?Client:Bilinmez" + +#: gajim/vcard.py:289 +msgid "?OS:Unknown" +msgstr "?OS:Unknown?OS:Bilinmez" + +#: gajim/vcard.py:319 gajim/vcard.py:322 +msgid "?Time:Unknown" +msgstr "?Time:Bilinmez" + +#: gajim/vcard.py:373 +msgid "?Role in Group Chat:Role:" +msgstr "" + +#: gajim/vcard.py:377 +#, fuzzy +msgid "Affiliation:" +msgstr "üyelik değişti" + +#: gajim/vcard.py:384 +msgid "" +"This contact is interested in your presence information, but you are not " +"interested in their presence" +msgstr "" + +#: gajim/vcard.py:386 +msgid "" +"You are interested in the contact's presence information, but it is not " +"mutual" +msgstr "" + +#: gajim/vcard.py:388 +msgid "The contact and you want to exchange presence information" +msgstr "" + +#: gajim/vcard.py:390 +msgid "" +"You and the contact have a mutual disinterest in each-others presence " +"information" +msgstr "" + +#: gajim/vcard.py:396 +msgid "You are waiting contact's answer about your subscription request" +msgstr "" + +#: gajim/vcard.py:398 +msgid "There is no pending subscription request." +msgstr "Bekleyen üyelemek soru yok." + +#: gajim/vcard.py:403 gajim/vcard.py:453 gajim/vcard.py:549 +#, fuzzy +msgid " resource with priority " +msgstr "Beni bir açılan pencereyle _haberle" + +#: gajim/conversation_textview.py:65 +#, fuzzy +msgid "Untrusted" +msgstr "İlgili" + +#: gajim/conversation_textview.py:68 +msgid "Trust Not Decided" +msgstr "" + +#: gajim/conversation_textview.py:71 +msgid "Unverified" +msgstr "" + +#: gajim/conversation_textview.py:74 +#, fuzzy +msgid "Verified" +msgstr "_Doğrula" + +#: gajim/conversation_textview.py:225 +msgid "" +"Text below this line is what has been said since the\n" +"last time you paid attention to this group chat" +msgstr "" + +#: gajim/conversation_textview.py:428 +#, fuzzy +msgid "_Quote" +msgstr "Alıntı" + +#: gajim/conversation_textview.py:436 +#, fuzzy, python-format +msgid "_Actions for \"%s\"" +msgstr "%s hesapına" + +#: gajim/conversation_textview.py:450 +#, fuzzy +msgid "Read _Wikipedia Article" +msgstr "Makale okunmuş" + +#: gajim/conversation_textview.py:455 +msgid "Look it up in _Dictionary" +msgstr "" + +#: gajim/conversation_textview.py:472 +#, python-format +msgid "Dictionary URL is missing an \"%s\" and it is not WIKTIONARY" +msgstr "" + +#: gajim/conversation_textview.py:486 +#, python-format +msgid "Web Search URL is missing an \"%s\"" +msgstr "" + +#: gajim/conversation_textview.py:489 +#, fuzzy +msgid "Web _Search for it" +msgstr "Olaylamak için bir daha tuşla:" + +#: gajim/conversation_textview.py:495 +#, fuzzy +msgid "Open as _Link" +msgstr "Dosya Farklı Kaydet..." + +#: gajim/conversation_textview.py:770 +#, fuzzy +msgid "Invalid URL" +msgstr "Yerel jid:" + +#: gajim/conversation_textview.py:860 +msgid "" +"Message corrected. Original message:\n" +"{}" +msgstr "" + +#: gajim/conversation_textview.py:1031 +#, fuzzy +msgid "Not encrypted" +msgstr "Başlatılmadı" + +#: gajim/conversation_textview.py:1034 +#, python-format +msgid "Encrypted (%s)" +msgstr "" + +#: gajim/conversation_textview.py:1141 gajim/gtk/history.py:618 +#, python-format +msgid "Subject: %s\n" +msgstr "Konu: %s\n" + +#: gajim/conversation_textview.py:1250 +#, fuzzy +msgid "Received" +msgstr "Alındı %s" + +#: gajim/conversation_textview.py:1272 +#, fuzzy +msgid "?Message state:Read" +msgstr "Üyelik ileti _kaydet" + +#: gajim/groupchat_control.py:352 +#, fuzzy, python-format +msgid "Send File (max. %s MiB)…" +msgstr "Dosya Farklı Kaydet..." + +#: gajim/groupchat_control.py:497 +#, fuzzy, python-format +msgid "%s has been invited to this group chat" +msgstr "%s grup sohbete katıldı" + +#: gajim/groupchat_control.py:512 gajim/dialog_messages.py:31 +#: gajim/dialog_messages.py:36 gajim/gtk/single_message.py:238 +#, fuzzy +msgid "Invalid XMPP Address" +msgstr "Geçersiz Dosya" + +#: gajim/groupchat_control.py:575 +#, fuzzy +msgid "Loading avatar failed" +msgstr "Kişisel ilet gönderimi başarısız" + +#: gajim/groupchat_control.py:595 +#, fuzzy, python-format +msgid "Avatar upload failed: %s" +msgstr "Kişisel ilet gönderimi başarısız" + +#: gajim/groupchat_control.py:598 +#, fuzzy +msgid "Avatar upload successful" +msgstr "Kişisel ilet gönderimi başarısız" + +#: gajim/groupchat_control.py:616 +#, python-format +msgid "Kick %s" +msgstr "" + +#: gajim/groupchat_control.py:625 +#, fuzzy, python-format +msgid "Ban %s" +msgstr "Geçersiz Liste İsmi" + +#: gajim/groupchat_control.py:684 +msgid "Insert Nickname" +msgstr "Takma Ad girdir" + +#: gajim/groupchat_control.py:775 gajim/groupchat_control.py:776 +#, fuzzy +msgid "Voice Request" +msgstr "Dosya Gönderme Soru" + +#: gajim/groupchat_control.py:777 +#, python-format +msgid "%(nick)s from %(room_name)s requests voice" +msgstr "" + +#: gajim/groupchat_control.py:781 +msgid "_Approve" +msgstr "" + +#: gajim/groupchat_control.py:1007 +#, fuzzy, python-format +msgid "%(nick)s has set the subject to %(subject)s" +msgstr "Değerin maskenin sğında fazladan bitler var." + +#: gajim/groupchat_control.py:1023 +msgid "Group chat now shows unavailable members" +msgstr "" + +#: gajim/groupchat_control.py:1026 +#, fuzzy +msgid "Group chat now does not show unavailable members" +msgstr "grup %s yok - root kullanılacak\n" + +#: gajim/groupchat_control.py:1030 +msgid "A setting not related to privacy has been changed" +msgstr "" + +#: gajim/groupchat_control.py:1037 gajim/groupchat_control.py:1197 +#, fuzzy +msgid "Conversations are stored on the server" +msgstr "%s: OID (-o) 0 olamaz\n" + +#: gajim/groupchat_control.py:1040 +#, fuzzy +msgid "Conversations are not stored on the server" +msgstr "Senin kişimsel informationun, nasıl sunucdaysa" + +#: gajim/groupchat_control.py:1043 +#, fuzzy +msgid "Group chat is now non-anonymous" +msgstr "Grup sohbetler" + +#: gajim/groupchat_control.py:1047 +#, fuzzy +msgid "Group chat is now semi-anonymous" +msgstr "%s grup sohbete katıldı" + +#: gajim/groupchat_control.py:1051 +#, fuzzy +msgid "Group chat is now fully anonymous" +msgstr "Grup sohbetler" + +#: gajim/groupchat_control.py:1101 +#, fuzzy, python-format +msgid "Ping? (%s)" +msgstr "Pong! (%s s.)" + +#: gajim/groupchat_control.py:1104 +#, fuzzy, python-format +msgid "Pong! (%(nick)s %(delay)s s.)" +msgstr "Pong! (%s s.)" + +#: gajim/groupchat_control.py:1188 +#, fuzzy, python-format +msgid "You (%s) joined the group chat" +msgstr "%s grup sohbete katıldı" + +#: gajim/groupchat_control.py:1193 +msgid "Any participant is allowed to see your full XMPP Address" +msgstr "" + +#: gajim/groupchat_control.py:1201 +#, fuzzy +msgid "The server has assigned or modified your nickname in this group chat" +msgstr "[%s sayfasını okuyamazsınız.]" + +#: gajim/groupchat_control.py:1211 +#, fuzzy +msgid "A new group chat has been created" +msgstr "Yeni bir oda yaratılmıştır" + +#: gajim/groupchat_control.py:1215 +#, fuzzy +msgid "Failed to Configure Group Chat" +msgstr "Tam-Ekrandan Çık" + +#: gajim/groupchat_control.py:1274 gajim/groupchat_control.py:1304 +#: gajim/groupchat_control.py:1332 gajim/groupchat_control.py:1391 +#, python-brace-format +msgid " by {actor}" +msgstr "" + +#: gajim/groupchat_control.py:1277 +#, fuzzy, python-brace-format +msgid "** Your Affiliation has been set to {affiliation}{actor}{reason}" +msgstr "Öntanımlı veritabanı dil kodlaması %s olarak ayarlandı.\n" + +#: gajim/groupchat_control.py:1283 +#, fuzzy, python-brace-format +msgid "** Affiliation of {nick} has been set to {affiliation}{actor}{reason}" +msgstr "Öntanımlı veritabanı dil kodlaması %s olarak ayarlandı.\n" + +#: gajim/groupchat_control.py:1307 +#, fuzzy, python-brace-format +msgid "** Your Role has been set to {role}{actor}{reason}" +msgstr "Öntanımlı veritabanı dil kodlaması %s olarak ayarlandı.\n" + +#: gajim/groupchat_control.py:1312 +#, fuzzy, python-brace-format +msgid "** Role of {nick} has been set to {role}{actor}{reason}" +msgstr "Öntanımlı veritabanı dil kodlaması %s olarak ayarlandı.\n" + +#: gajim/groupchat_control.py:1335 +#, fuzzy, python-brace-format +msgid "You have been removed from the group chat{actor}{reason}" +msgstr "Öntanımlı veritabanı dil kodlaması %s olarak ayarlandı.\n" + +#: gajim/groupchat_control.py:1340 +#, python-brace-format +msgid "You have left due to an error{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1346 +#, python-brace-format +msgid "You have been kicked{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1353 +#, python-brace-format +msgid "You have been banned{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1360 gajim/groupchat_control.py:1423 +#, fuzzy +msgid ": Affiliation changed" +msgstr "üyelik değişti" + +#: gajim/groupchat_control.py:1366 gajim/groupchat_control.py:1428 +msgid ": Group chat configuration changed to members-only" +msgstr "" + +#: gajim/groupchat_control.py:1394 +#, fuzzy, python-brace-format +msgid "{nick} has been removed from the group chat{by}{reason}" +msgstr "%s grup sohbete katıldı" + +#: gajim/groupchat_control.py:1402 +#, python-brace-format +msgid "{nick} has left due to an error{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1408 +#, python-brace-format +msgid "{nick} has been kicked{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1416 +#, python-brace-format +msgid "{nick} has been banned{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1433 +#, python-brace-format +msgid "{nick} has left{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1451 +#, python-format +msgid "%s has joined the group chat" +msgstr "%s grup sohbete katıldı" + +#: gajim/groupchat_control.py:1463 +#, fuzzy +msgid "Failed to Join Group Chat" +msgstr "Grup eklenemedi: grup zaten var" + +#: gajim/groupchat_control.py:1469 +#, fuzzy +msgid "Failed to Create Group Chat" +msgstr "Tam-Ekrandan Çık" + +#: gajim/groupchat_control.py:1485 +#, fuzzy +msgid "Group chat has been destroyed" +msgstr "Oda imha edildi" + +#: gajim/groupchat_control.py:1490 +#, fuzzy, python-format +msgid "You can join this group chat instead: xmpp:%s?join" +msgstr "%s grup sohbete katıldı" + +#: gajim/groupchat_control.py:1672 +#, fuzzy +msgid "Leave Group Chat" +msgstr "Tam-Ekrandan Çık" + +#: gajim/groupchat_control.py:1673 +#, fuzzy +msgid "Are you sure you want to leave this group chat?" +msgstr "Onu kullanmak istediğinizden emin misiniz? (e/H) " + +#: gajim/groupchat_control.py:1674 +#, python-format +msgid "If you close this window, you will leave '%s'." +msgstr "" + +#: gajim/message_window.py:365 +#, fuzzy +msgid "Close Tabs" +msgstr "_Gönder & Kapat" + +#: gajim/message_window.py:366 +#, fuzzy +msgid "You are about to close several tabs" +msgstr "Onu kullanmak istediğinizden emin misiniz? (e/H) " + +#: gajim/message_window.py:367 +#, fuzzy +msgid "Do you really want to close all of them?" +msgstr "Tüm yer imlerini kaldırmak istediğinizden emin misiniz?" + +#: gajim/message_window.py:526 +#, fuzzy +msgid "?Noun:Chats" +msgstr "Grup Sohbetler" + +#: gajim/message_window.py:530 gajim/data/gui/preferences.ui:155 +#, fuzzy +msgid "Group Chats" +msgstr "Grup sohbetler" + +#: gajim/message_window.py:534 +msgid "Private Chats" +msgstr "Kişisel Sohbetler" + +#: gajim/message_window.py:540 +msgid "Messages" +msgstr "İletler" + +#: gajim/dialog_messages.py:37 +#, python-format +msgid "" +"It is not possible to send a message to %s. This XMPP Address is not valid." +msgstr "" + +#: gajim/dialog_messages.py:42 +#, fuzzy +msgid "Unread Events" +msgstr "Okunmamış iletler var" + +#: gajim/dialog_messages.py:43 +msgid "Read or acknowledge all pending events before removing this account." +msgstr "" + +#: gajim/dialog_messages.py:48 +#, fuzzy +msgid "Invalid Form" +msgstr "Geçersiz oda" + +#: gajim/dialog_messages.py:49 +#, fuzzy +msgid "The form is not filled correctly." +msgstr "%s: Kontrol karakterleri kullanılamaz.\n" + +#: gajim/dialog_messages.py:53 +#, fuzzy +msgid "No Connection Available" +msgstr "Hiç bir hesap bulunmiyor" + +#: gajim/dialog_messages.py:54 +#, fuzzy +msgid "Your message can not be sent until you are connected." +msgstr "" +"İleti gönderilmemiş olabilir çünkü görünmez iken yollamaya izin verilmiyor:" + +#: gajim/dialog_messages.py:58 +msgid "XMPP Address Already in List" +msgstr "" + +#: gajim/dialog_messages.py:59 +msgid "" +"The XMPP Address you entered is already in the list. Please choose another " +"one." +msgstr "" + +#: gajim/dialog_messages.py:64 +#, fuzzy +msgid "Invalid Answer" +msgstr "Geçersiz takma ad" + +#: gajim/dialog_messages.py:65 +#, python-format +msgid "Transport %(name)s answered wrongly to register request: %(error)s" +msgstr "" + +#: gajim/dialog_messages.py:70 +#, fuzzy +msgid "Wrong Custom Hostname" +msgstr "Kendi bir makine adı/portu kullan" + +#: gajim/dialog_messages.py:71 +#, fuzzy, python-format +msgid "Custom hostname \"%s\" is wrong. It will be ignored." +msgstr "Kendi bir makine adı/portu kullan" + +#: gajim/dialog_messages.py:75 +#, fuzzy +msgid "Registration Succeeded" +msgstr "Onay başarılı oldu." + +#: gajim/dialog_messages.py:76 +#, fuzzy, python-format +msgid "Registration with agent %s succeeded." +msgstr "%s ajanı ile kayıt başarılı" + +#: gajim/dialog_messages.py:80 +#, fuzzy +msgid "Registration Failed" +msgstr "Kayıt başarısız" + +#: gajim/dialog_messages.py:81 +#, python-format +msgid "" +"Registration with agent %(agent)s failed with error %(error)s: %(error_msg)s" +msgstr "" + +#: gajim/dialog_messages.py:86 +#, fuzzy +msgid "GStreamer Error" +msgstr "Hata açıklaması…" + +#: gajim/dialog_messages.py:87 +#, fuzzy, python-format +msgid "" +"Error: %(error)s\n" +"Debug: %(debug)s" +msgstr "Ileti alınıyor" + +#: gajim/dialog_messages.py:91 +#, fuzzy +msgid "Wrong Host" +msgstr "Adres yanlış" + +#: gajim/dialog_messages.py:92 +msgid "Invalid local address? :-O" +msgstr "" + +#: gajim/dialog_messages.py:96 +#, fuzzy +msgid "Avahi Error" +msgstr "Hata açıklaması…" + +#: gajim/dialog_messages.py:97 +#, python-format +msgid "" +"%s\n" +"Link-local messaging might not work properly." +msgstr "" + +#: gajim/dialog_messages.py:101 +#, fuzzy +msgid "Could not Open File" +msgstr "Resim acılamadı" + +#: gajim/command_system/mapping.py:169 gajim/command_system/mapping.py:179 +#: gajim/command_system/mapping.py:199 +#, fuzzy +msgid "Missing arguments" +msgstr "JID veya Kişi adı girdir" + +#: gajim/command_system/mapping.py:266 +#, fuzzy +msgid "Too many arguments" +msgstr "JID veya Kişi adı girdir" + +#: gajim/command_system/implementation/middleware.py:76 +msgid "Error during command execution!" +msgstr "" + +#: gajim/command_system/implementation/execute.py:60 +msgid "Execute expression inside a shell, show output" +msgstr "" + +#: gajim/command_system/implementation/execute.py:74 +msgid "" +"Command disabled. This command can be enabled by setting " +"'command_system_execute' to True in ACE (Advanced Configuration Editor)." +msgstr "" + +#: gajim/command_system/implementation/execute.py:125 +msgid "Execute expression inside a shell, send output" +msgstr "" + +#: gajim/command_system/implementation/standard.py:52 +msgid "" +"Show help on a given command or a list of available commands if -a is given" +msgstr "" + +#: gajim/command_system/implementation/standard.py:81 +#, fuzzy +msgid "Send a message to the contact" +msgstr "Dosyayı bir kişiye gönderir" + +#: gajim/command_system/implementation/standard.py:86 +msgid "Send action (in the third person) to the current chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:91 +msgid "Show logged messages which mention given text" +msgstr "" + +#: gajim/command_system/implementation/standard.py:96 +#, fuzzy, python-format +msgid "%s: Nothing found" +msgstr "%s bulunamadı" + +#: gajim/command_system/implementation/standard.py:102 +msgid "Limit must be an integer" +msgstr "" + +#: gajim/command_system/implementation/standard.py:127 +msgid "" +"\n" +" Set the current status\n" +"\n" +" Status can be given as one of the following values:\n" +" online, away, chat, xa, dnd.\n" +" " +msgstr "" + +#: gajim/command_system/implementation/standard.py:145 +msgid "Set the current status to away" +msgstr "" + +#: gajim/command_system/implementation/standard.py:148 +#: gajim/common/helpers.py:200 gajim/common/modules/adhoc_commands.py:122 +msgid "Away" +msgstr "Uzakta" + +#: gajim/command_system/implementation/standard.py:159 +msgid "Set the current status to online" +msgstr "" + +#: gajim/command_system/implementation/standard.py:162 +msgid "Available" +msgstr "Mevcut" + +#: gajim/command_system/implementation/standard.py:173 +#, fuzzy +msgid "Send a disco info request" +msgstr " İsteklerin gideceği adres: %(requestaddr)s" + +#: gajim/command_system/implementation/standard.py:192 +#: gajim/command_system/implementation/standard.py:273 +#, fuzzy +msgid "Clear the text window" +msgstr "Pencereyi gizler" + +#: gajim/command_system/implementation/standard.py:197 +#: gajim/command_system/implementation/standard.py:425 +#, fuzzy +msgid "Send a ping to the contact" +msgstr "Dosyayı bir kişiye gönderir" + +#: gajim/command_system/implementation/standard.py:201 +#: gajim/command_system/implementation/standard.py:429 +msgid "Command is not supported for zeroconf accounts" +msgstr "" + +#: gajim/command_system/implementation/standard.py:205 +msgid "Send DTMF sequence through an open voice chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:208 +#, fuzzy +msgid "No open voice chats with the contact" +msgstr "Dosyayı bir kişiye gönderir" + +#: gajim/command_system/implementation/standard.py:211 +#, fuzzy, python-format +msgid "%s is not a valid tone" +msgstr "Klasör \"%s\" yazılabilir değil" + +#: gajim/command_system/implementation/standard.py:218 +msgid "Toggle Voice Chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:221 +#, fuzzy +msgid "Voice chats are not available" +msgstr "Hiç bir hesap bulunmiyor" + +#: gajim/command_system/implementation/standard.py:228 +msgid "Toggle Video Chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:231 +#, fuzzy +msgid "Video chats are not available" +msgstr "Hiç bir hesap bulunmiyor" + +#: gajim/command_system/implementation/standard.py:238 +#, fuzzy +msgid "Send a message to the contact that will attract their attention" +msgstr "Dosyayı bir kişiye gönderir" + +#: gajim/command_system/implementation/standard.py:278 +#, fuzzy +msgid "Change your nickname in a group chat" +msgstr "[%s sayfasını okuyamazsınız.]" + +#: gajim/command_system/implementation/standard.py:283 +msgid "Invalid nickname" +msgstr "Geçersiz takma ad" + +#: gajim/command_system/implementation/standard.py:290 +#, fuzzy +msgid "Open a private chat window with a specified participant" +msgstr "Kişiyle sohbet pencere _aç" + +#: gajim/command_system/implementation/standard.py:296 +#: gajim/command_system/implementation/standard.py:306 +#: gajim/command_system/implementation/standard.py:360 +#: gajim/command_system/implementation/standard.py:373 +#: gajim/command_system/implementation/standard.py:385 +#, fuzzy +msgid "Nickname not found" +msgstr "Kullanıcak takma ad" + +#: gajim/command_system/implementation/standard.py:299 +#, fuzzy +msgid "" +"Open a private chat window with a specified participant and send him a " +"message" +msgstr "Kişiyle sohbet pencere _aç" + +#: gajim/command_system/implementation/standard.py:309 +#, fuzzy +msgid "Display or change a group chat topic" +msgstr "%s mevcut bir grubun ismi değil" + +#: gajim/command_system/implementation/standard.py:318 +msgid "Invite a user to a group chat for a reason" +msgstr "" + +#: gajim/command_system/implementation/standard.py:325 +#, fuzzy +msgid "Join a group chat given by an XMPP Address" +msgstr "grupdaki herkez" + +#: gajim/command_system/implementation/standard.py:335 +msgid "" +"Leave the group chat, optionally giving a reason, and close tab or window" +msgstr "" + +#: gajim/command_system/implementation/standard.py:341 +msgid "" +"\n" +" Ban user by a nick or a JID from a groupchat\n" +"\n" +" If given nickname is not found it will be treated as a JID.\n" +" " +msgstr "" + +#: gajim/command_system/implementation/standard.py:357 +#, fuzzy +msgid "Kick user from group chat by nickname" +msgstr "" +"Şuraya bir yorum gönderiyorsunuz:\n" +" " + +#: gajim/command_system/implementation/standard.py:366 +msgid "" +"Set participant role in group chat.\n" +" Role can be given as one of the following values:\n" +" moderator, participant, visitor, none" +msgstr "" + +#: gajim/command_system/implementation/standard.py:371 +#, fuzzy +msgid "Invalid role given" +msgstr "Geçersiz sunucu" + +#: gajim/command_system/implementation/standard.py:378 +msgid "" +"Set participant affiliation in group chat.\n" +" Affiliation can be given as one of the following values:\n" +" owner, admin, member, outcast, none" +msgstr "" + +#: gajim/command_system/implementation/standard.py:383 +#, fuzzy +msgid "Invalid affiliation given" +msgstr "üyelik değişti" + +#: gajim/command_system/implementation/standard.py:393 +#, fuzzy +msgid "Display names of all group chat participants" +msgstr "%s mevcut bir grubun ismi değil" + +#: gajim/command_system/implementation/standard.py:415 +msgid "Forbid a participant to send you public or private messages" +msgstr "" + +#: gajim/command_system/implementation/standard.py:420 +msgid "Allow a participant to send you public or private messages" +msgstr "" + +#: gajim/command_system/implementation/standard.py:432 +#, fuzzy +msgid "Unknown nickname" +msgstr "Bu kişi için %s yeni bir takma ad girin." + +#: gajim/command_system/implementation/custom.py:114 +msgid "The same as using a doc-string, except it supports translation" +msgstr "" + +#: gajim/gtk/ssl_error_dialog.py:36 gajim/data/gui/ssl_error_dialog.ui:16 +#, fuzzy +msgid "SSL Certificate Verification Error" +msgstr "Bir hata oluştu:" + +#: gajim/gtk/ssl_error_dialog.py:55 +#, python-format +msgid "" +"There was an error while attempting to verify the SSL certificate of your " +"XMPP server (%s)." +msgstr "" + +#: gajim/gtk/ssl_error_dialog.py:58 +#, fuzzy, python-format +msgid "Unknown SSL error '%s'" +msgstr "Bir hata oluştu:" + +#: gajim/gtk/avatar_selector.py:84 +msgid "Select a picture or drop it here" +msgstr "" + +#: gajim/gtk/status_change.py:62 gajim/gtk/preferences.py:627 +#: gajim/gtk/preferences.py:655 +#, fuzzy +msgid "Status Message" +msgstr "durum ileti" + +#: gajim/gtk/status_change.py:330 +#, fuzzy +msgid "No activity" +msgstr "Etkinlik:" + +#: gajim/gtk/status_change.py:370 gajim/gtk/status_change.py:383 +#: gajim/gtk/status_change.py:488 +#, fuzzy +msgid "No mood selected" +msgstr "Hiçbir anahtar seçilmedi" + +#: gajim/gtk/status_change.py:382 +msgid "No mood" +msgstr "" + +#: gajim/gtk/status_change.py:439 +msgid "Overwrite" +msgstr "" + +#: gajim/gtk/status_change.py:440 +#, fuzzy +msgid "Overwrite Status Message?" +msgstr "Durum ileti değiştir" + +#: gajim/gtk/status_change.py:441 +msgid "This name is already in use. Do you want to overwrite this preset?" +msgstr "" + +#: gajim/gtk/status_change.py:445 gajim/plugins/gui.py:292 +msgid "_Overwrite" +msgstr "" + +#: gajim/gtk/status_change.py:453 +#, fuzzy +msgid "Status Preset" +msgstr "durum ileti" + +#: gajim/gtk/status_change.py:454 +#, fuzzy +msgid "Save status as preset" +msgstr "Önceden hazırlanmış olarak kaydet:" + +#: gajim/gtk/status_change.py:455 +msgid "Please assign a name to this status message preset" +msgstr "" + +#: gajim/gtk/status_change.py:458 gajim/data/gui/profile.ui:336 +#, fuzzy +msgid "_Save" +msgstr "Sahip" + +#: gajim/gtk/status_change.py:460 +#, fuzzy +msgid "New Status" +msgstr "Durum" + +#: gajim/gtk/advanced_config.py:46 gajim/gtk/advanced_config.py:144 +#, fuzzy +msgid "Activated" +msgstr "Etkin çıkışta" + +#: gajim/gtk/advanced_config.py:47 +msgid "Deactivated" +msgstr "" + +#: gajim/gtk/advanced_config.py:52 +msgid "?config type:Boolean" +msgstr "" + +#: gajim/gtk/advanced_config.py:53 +msgid "?config type:Integer" +msgstr "" + +#: gajim/gtk/advanced_config.py:54 +msgid "?config type:Text" +msgstr "" + +#: gajim/gtk/advanced_config.py:65 +#, fuzzy +msgid "Advanced Configuration Editor (ACE)" +msgstr "İlerlemiş Ayarlama Editörü" + +#: gajim/gtk/advanced_config.py:80 +#, fuzzy +msgid "?config:Preference Name" +msgstr "Tercih Adı" + +#: gajim/gtk/advanced_config.py:91 +#, fuzzy +msgid "?config:Value" +msgstr "_Yerleştir" + +#: gajim/gtk/advanced_config.py:100 +msgid "?config:Type" +msgstr "" + +#: gajim/gtk/advanced_config.py:133 +#, fuzzy +msgid "?config description:None" +msgstr "?Ask (for Subscription):Hiç biri" + +#: gajim/gtk/preferences.py:63 gajim/data/gui/shortcuts_window.ui:31 +#, fuzzy +msgid "Preferences" +msgstr "Tercihler" + +#: gajim/gtk/preferences.py:185 +msgid "Detached contact list with detached chats" +msgstr "" + +#: gajim/gtk/preferences.py:186 +msgid "Detached contact list with single chat" +msgstr "" + +#: gajim/gtk/preferences.py:187 +#, fuzzy +msgid "Single window for everything" +msgstr "Pencere başlığı için arkaplan rengi" + +#: gajim/gtk/preferences.py:188 +msgid "Detached contact list with chats grouped by account" +msgstr "" + +#: gajim/gtk/preferences.py:189 +msgid "Detached contact list with chats grouped by type" +msgstr "" + +#: gajim/gtk/preferences.py:193 gajim/data/gui/mam_preferences.ui:14 +msgid "Always" +msgstr "Herzaman" + +#: gajim/gtk/preferences.py:194 gajim/data/gui/mam_preferences.ui:22 +msgid "Never" +msgstr "Asla" + +#: gajim/gtk/preferences.py:195 +#, fuzzy +msgid "Restore last state" +msgstr "Son durum: %s" + +#: gajim/gtk/preferences.py:199 +#, fuzzy +msgid "Top" +msgstr "Kime" + +#: gajim/gtk/preferences.py:200 +msgid "Bottom" +msgstr "" + +#: gajim/gtk/preferences.py:201 +msgid "Left" +msgstr "" + +#: gajim/gtk/preferences.py:202 +#, fuzzy +msgid "Right" +msgstr "sekiz" + +#: gajim/gtk/preferences.py:207 +#, fuzzy +msgid "Window Layout" +msgstr "Varolan açılan penceryi _engelle" + +#: gajim/gtk/preferences.py:214 +#, fuzzy +msgid "Contact List on Startup" +msgstr "Gajim açılırken bağlan" + +#: gajim/gtk/preferences.py:218 +#, fuzzy +msgid "Show contact list when starting Gajim" +msgstr "Gajim açılırken bağlan" + +#: gajim/gtk/preferences.py:221 +#, fuzzy +msgid "Quit on Close" +msgstr "Kapatınca küçült" + +#: gajim/gtk/preferences.py:224 +#, fuzzy +msgid "Quit when closing contact list" +msgstr "_Çevredışı Kişileri Göster" + +#: gajim/gtk/preferences.py:227 +#, fuzzy +msgid "Tab Position" +msgstr "Tanımlanmamış Koşul" + +#: gajim/gtk/preferences.py:231 +#, fuzzy +msgid "Placement of chat window tabs" +msgstr "Pencereyi gizler" + +#: gajim/gtk/preferences.py:247 +#, fuzzy +msgid "Merge Accounts" +msgstr "Hesapları bir_leştir" + +#: gajim/gtk/preferences.py:253 +#, fuzzy +msgid "Enable Metacontacts" +msgstr "Kişiyi yeniden adlandır" + +#: gajim/gtk/preferences.py:258 +#, fuzzy +msgid "Show Avatars" +msgstr "Özellikler:" + +#: gajim/gtk/preferences.py:264 gajim/gtk/preferences.py:353 +#, fuzzy +msgid "Show Status Message" +msgstr "durum ileti" + +#: gajim/gtk/preferences.py:270 gajim/gtk/preferences.py:411 +#, fuzzy +msgid "Sort Contacts by Status" +msgstr "Port numarasına göre sırala" + +#: gajim/gtk/preferences.py:276 +#, fuzzy +msgid "Show Mood" +msgstr "Ruh Halini Ayarla" + +#: gajim/gtk/preferences.py:281 +#, fuzzy +msgid "Show Activity" +msgstr "Etkinlik ayarla" + +#: gajim/gtk/preferences.py:286 +#, fuzzy +msgid "Show Tune" +msgstr "Özellikler:" + +#: gajim/gtk/preferences.py:323 +msgid "Needs gspell to be installed" +msgstr "" + +#: gajim/gtk/preferences.py:327 +#, fuzzy +msgid "Spell Checking" +msgstr "Tamamlanmamış yazım denetimi kaydı" + +#: gajim/gtk/preferences.py:335 +#, fuzzy +msgid "Message Receipts (✔)" +msgstr "iletinin içindekiler" + +#: gajim/gtk/preferences.py:338 +msgid "Add a checkmark to received messages" +msgstr "" + +#: gajim/gtk/preferences.py:341 +#, fuzzy +msgid "XHTML Formatting" +msgstr "Yer:" + +#: gajim/gtk/preferences.py:344 +msgid "Render XHTML styles (colors, etc.) of incoming messages" +msgstr "" + +#: gajim/gtk/preferences.py:348 +#, fuzzy +msgid "Show Send Message Button" +msgstr "Mesajı gönder" + +#: gajim/gtk/preferences.py:358 +#, fuzzy +msgid "Show Chat State In Tabs" +msgstr "Başlık çubuğu içeriğini sekme çubuğu etiketlerinde göster" + +#: gajim/gtk/preferences.py:361 +msgid "Show the contact’s chat state (e.g. typing) in the chat’s tab" +msgstr "" + +#: gajim/gtk/preferences.py:365 +#, fuzzy +msgid "Show Chat State In Banner" +msgstr "Kişi listesindeki olayları göster" + +#: gajim/gtk/preferences.py:368 +msgid "Show the contact’s chat state (e.g. typing) in the chats tab’s banner" +msgstr "" + +#: gajim/gtk/preferences.py:372 +#, fuzzy +msgid "Display Chat State In Contact List" +msgstr "Sohbet durum bildirimleri _göster:" + +#: gajim/gtk/preferences.py:375 +#, fuzzy +msgid "Show the contact’s chat state (e.g. typing) in the contact list" +msgstr "Başlık çubuğu içeriğini sekme çubuğu etiketlerinde göster" + +#: gajim/gtk/preferences.py:406 +#, fuzzy +msgid "Show Subject" +msgstr "Konu" + +#: gajim/gtk/preferences.py:417 +msgid "Default Sync Threshold" +msgstr "" + +#: gajim/gtk/preferences.py:420 +#, fuzzy +msgid "Default for new public group chats" +msgstr "Tam-Ekrandan Çık" + +#: gajim/gtk/preferences.py:424 +msgid "Show Joined / Left" +msgstr "" + +#: gajim/gtk/preferences.py:427 gajim/gtk/preferences.py:438 +#, fuzzy +msgid "Default for new group chats" +msgstr "Tam-Ekrandan Çık" + +#: gajim/gtk/preferences.py:428 gajim/gtk/preferences.py:439 +#: gajim/gtk/accounts.py:715 gajim/gtk/accounts.py:727 +#: gajim/gtk/accounts.py:740 +#, fuzzy +msgid "Reset" +msgstr "_Bulunma" + +#: gajim/gtk/preferences.py:429 gajim/gtk/preferences.py:440 +#: gajim/gtk/accounts.py:728 +msgid "Reset all group chats to the current default value" +msgstr "" + +#: gajim/gtk/preferences.py:435 gajim/gtk/groupchat_settings.py:48 +#, fuzzy +msgid "Show Status Changes" +msgstr "Tüm _durum değişikliklerini sistem günlüğüne kaydet" + +#: gajim/gtk/preferences.py:468 +#, fuzzy +msgid "Hide icon" +msgstr "Menüyi gizle" + +#: gajim/gtk/preferences.py:469 +#, fuzzy +msgid "Only show for pending events" +msgstr "Sadece bekleyen olaylarda" + +#: gajim/gtk/preferences.py:470 +msgid "Always show icon" +msgstr "" + +#: gajim/gtk/preferences.py:475 +#, fuzzy +msgid "Notification Area Icon" +msgstr "Bildirimler" + +#: gajim/gtk/preferences.py:482 +#, fuzzy +msgid "Open Events" +msgstr "Kişisel Olaylar" + +#: gajim/gtk/preferences.py:485 +#, fuzzy +msgid "Open events instead of showing a notification in the contact list" +msgstr "Kişi listede sadece mevcut ile sohbete hazır olanları göster" + +#: gajim/gtk/preferences.py:489 gajim/gtk/preferences.py:512 +#, fuzzy +msgid "Show Notifications" +msgstr "Bildirimler" + +#: gajim/gtk/preferences.py:517 +#, fuzzy +msgid "Notifications When Away" +msgstr "Bildirimler" + +#: gajim/gtk/preferences.py:520 +#, fuzzy +msgid "Show notifications even if you are Away, Busy, etc." +msgstr "_Bir dosya aktarımı tamamlandığında beni bilgilendir" + +#: gajim/gtk/preferences.py:525 gajim/data/gui/preferences.ui:271 +msgid "Notifications" +msgstr "Bildirimler" + +#: gajim/gtk/preferences.py:534 +#, fuzzy +msgid "Play Sounds" +msgstr "_Sesleri çal" + +#: gajim/gtk/preferences.py:537 +msgid "Play sounds to notify about events" +msgstr "" + +#: gajim/gtk/preferences.py:542 +msgid "Sounds When Away" +msgstr "" + +#: gajim/gtk/preferences.py:545 +#, fuzzy +msgid "Play sounds even when you are Away, Busy, etc." +msgstr "Kişi meşgulsa ses çal" + +#: gajim/gtk/preferences.py:560 +#, fuzzy +msgid "Sign In" +msgstr "_Bağlan" + +#: gajim/gtk/preferences.py:565 +#, fuzzy +msgid "Sign Out" +msgstr "_Çık" + +#: gajim/gtk/preferences.py:570 +#, fuzzy +msgid "Status Change" +msgstr "Tüm _durum değişikliklerini sistem günlüğüne kaydet" + +#: gajim/gtk/preferences.py:583 gajim/gtk/preferences.py:614 +#, fuzzy +msgid "Auto Away" +msgstr "Uzakta" + +#: gajim/gtk/preferences.py:585 +msgid "Change your status to 'Away' after a certain amount of time" +msgstr "" + +#: gajim/gtk/preferences.py:590 gajim/gtk/preferences.py:642 +#, fuzzy +msgid "Auto Not Available" +msgstr "Mevcut Değil" + +#: gajim/gtk/preferences.py:592 +msgid "Change your status to 'Not Available' after a certain amount of time" +msgstr "" + +#: gajim/gtk/preferences.py:619 +msgid "Time Until Away" +msgstr "" + +#: gajim/gtk/preferences.py:622 gajim/gtk/preferences.py:650 +#, fuzzy +msgid "Minutes until your status gets changed" +msgstr "Tüm _durum değişikliklerini sistem günlüğüne kaydet" + +#: gajim/gtk/preferences.py:633 gajim/gtk/preferences.py:828 +#, fuzzy +msgid "Auto Away Settings" +msgstr "Bağlantı Kurulamıyor" + +#: gajim/gtk/preferences.py:647 +#, fuzzy +msgid "Time Until Not Available" +msgstr "Mevcut Değil" + +#: gajim/gtk/preferences.py:661 +#, fuzzy +msgid "Auto Extended Away Settings" +msgstr "Uzun süreli uzakta" + +#: gajim/gtk/preferences.py:672 gajim/gtk/accounts.py:680 +#, fuzzy +msgid "Enabled" +msgstr "Etkin" + +#: gajim/gtk/preferences.py:673 gajim/data/gui/vcard_information_window.ui:123 +#, fuzzy +msgid "System" +msgstr "Sistem:" + +#: gajim/gtk/preferences.py:678 +#, fuzzy +msgid "Dark Theme" +msgstr "Gajim - %s" + +#: gajim/gtk/preferences.py:685 +#, fuzzy +msgid "Theme" +msgstr "Temalar" + +#: gajim/gtk/preferences.py:731 +msgid "Convert ASCII Emojis" +msgstr "" + +#: gajim/gtk/preferences.py:734 +msgid "Typing short codes like :-) will display emojis" +msgstr "" + +#: gajim/gtk/preferences.py:741 +#, fuzzy +msgid "Emoji Theme" +msgstr "Gajim - %s" + +#: gajim/gtk/preferences.py:744 +msgid "Choose from various emoji styles" +msgstr "" + +#: gajim/gtk/preferences.py:774 +#, fuzzy +msgid "Status Icon Set" +msgstr "Durum simgeler:" + +#: gajim/gtk/preferences.py:781 +#, fuzzy +msgid "Use Transport Icons" +msgstr "G_PG acenta kullan" + +#: gajim/gtk/preferences.py:784 +msgid "Display protocol-specific status icons (ICQ, ..)" +msgstr "" + +#: gajim/gtk/preferences.py:801 gajim/gtk/preferences.py:817 +msgid "Use Stun Server" +msgstr "" + +#: gajim/gtk/preferences.py:803 +msgid "Helps to establish calls through firewalls" +msgstr "" + +#: gajim/gtk/preferences.py:822 +#, fuzzy +msgid "STUN Server" +msgstr "STUN Sunuc:" + +#: gajim/gtk/preferences.py:848 +#, fuzzy +msgid "Audio Input Device" +msgstr "Ses giriş aygıtı" + +#: gajim/gtk/preferences.py:851 +msgid "Select your audio input (e.g. microphone)" +msgstr "" + +#: gajim/gtk/preferences.py:855 +#, fuzzy +msgid "Audio Output Device" +msgstr "Ses çıkış aygıtı" + +#: gajim/gtk/preferences.py:858 +msgid "Select an audio output (e.g. speakers, headphones)" +msgstr "" + +#: gajim/gtk/preferences.py:890 gajim/gtk/preferences.py:898 +msgid "Default" +msgstr "Öntanımlı" + +#: gajim/gtk/preferences.py:906 +#, fuzzy +msgid "Video Input Device" +msgstr "Video giriş aygıtı" + +#: gajim/gtk/preferences.py:910 +msgid "Select your video input device (e.g. webcam, screen capture)" +msgstr "" + +#: gajim/gtk/preferences.py:915 +#, fuzzy +msgid "Video Framerate" +msgstr "Video testi" + +#: gajim/gtk/preferences.py:921 +#, fuzzy +msgid "Video Resolution" +msgstr "Video testi" + +#: gajim/gtk/preferences.py:927 +msgid "Show My Video Stream" +msgstr "" + +#: gajim/gtk/preferences.py:930 +msgid "Show your own video stream in calls" +msgstr "" + +#: gajim/gtk/preferences.py:933 gajim/data/gui/video_preview.ui:51 +msgid "Live Preview" +msgstr "" + +#: gajim/gtk/preferences.py:935 +msgid "Show a live preview to test your video source" +msgstr "" + +#: gajim/gtk/preferences.py:975 +#, fuzzy +msgid "Global Proxy" +msgstr "Prox_y:" + +#: gajim/gtk/preferences.py:980 gajim/gtk/account_wizard.py:732 +#: gajim/gtk/accounts.py:790 +#, fuzzy +msgid "No Proxy" +msgstr "Prox_y:" + +#: gajim/gtk/preferences.py:985 +msgid "Use System Keyring" +msgstr "" + +#: gajim/gtk/preferences.py:988 +msgid "Use your system’s keyring to store passwords" +msgstr "" + +#: gajim/gtk/preferences.py:994 +msgid "Check For Updates" +msgstr "" + +#: gajim/gtk/preferences.py:997 gajim/common/config.py:241 +msgid "Check for Gajim updates periodically" +msgstr "" + +#: gajim/gtk/preferences.py:1033 +#, fuzzy +msgid "Debug Logging" +msgstr "Koşuda" + +#: gajim/gtk/message_input.py:48 +#, fuzzy +msgid "Write a message…" +msgstr "Ileti alınıyor" + +#: gajim/gtk/settings.py:400 gajim/gtk/settings.py:758 +#: gajim/gtk/settings.py:784 gajim/gtk/settings.py:793 +#: gajim/gtk/settings.py:802 gajim/gtk/settings.py:811 +msgid "?switch:On" +msgstr "" + +#: gajim/gtk/settings.py:400 gajim/gtk/settings.py:758 +#: gajim/gtk/settings.py:784 gajim/gtk/settings.py:793 +#: gajim/gtk/settings.py:802 gajim/gtk/settings.py:811 +msgid "?switch:Off" +msgstr "" + +#: gajim/gtk/settings.py:538 gajim/gtk/manage_sounds.py:46 +#: gajim/gtk/filechoosers.py:89 gajim/gtk/filechoosers.py:140 +#: gajim/gtk/filechoosers.py:147 +msgid "All files" +msgstr "Tüm dosyalar" + +#: gajim/gtk/settings.py:547 +#, fuzzy +msgid "Clear File" +msgstr "Temizleniyor" + +#: gajim/gtk/settings.py:745 +#, fuzzy +msgid "Adjust to Status" +msgstr "Durumu a_yarla" + +#: gajim/gtk/history_sync.py:111 gajim/gtk/history_sync.py:193 +#, fuzzy +msgid "Synchronise History" +msgstr "Kişileri eşzamana getir" + +#: gajim/gtk/history_sync.py:205 +#, fuzzy +msgid "How far back should the chat history be synchronised?" +msgstr "Ne yapmak istiyorsun?" + +#: gajim/gtk/history_sync.py:210 +msgid "One Month" +msgstr "" + +#: gajim/gtk/history_sync.py:211 +msgid "Three Months" +msgstr "" + +#: gajim/gtk/history_sync.py:212 +msgid "One Year" +msgstr "" + +#: gajim/gtk/history_sync.py:213 +msgid "Everything" +msgstr "" + +#: gajim/gtk/history_sync.py:241 gajim/gtk/account_wizard.py:276 +#: gajim/gtk/account_wizard.py:295 gajim/gtk/account_wizard.py:312 +#, fuzzy +msgid "Connecting..." +msgstr "Connecting" + +#: gajim/gtk/history_sync.py:253 +#, python-format +msgid "%(received)s of %(max)s" +msgstr "" + +#: gajim/gtk/history_sync.py:257 +#, fuzzy, python-format +msgid "Downloaded %s messages" +msgstr "Okunmamış iletler var" + +#: gajim/gtk/history_sync.py:277 +#, python-format +msgid "" +"Finished synchronising chat history:\n" +"%s messages downloaded" +msgstr "" + +#: gajim/gtk/history_sync.py:281 +msgid "Gajim is fully synchronised with the archive." +msgstr "" + +#: gajim/gtk/history_sync.py:284 +msgid "There is already a synchronisation in progress. Please try again later." +msgstr "" + +#: gajim/gtk/pep_config.py:49 +#, fuzzy, python-format +msgid "PEP Service Configuration (%s)" +msgstr "PEP Servis Yerleştirme" + +#: gajim/gtk/pep_config.py:74 +#, fuzzy +msgid "Service" +msgstr "_Sunuc:" + +#: gajim/gtk/pep_config.py:105 +msgid "PEP node was not removed" +msgstr "" + +#: gajim/gtk/pep_config.py:106 +#, python-format +msgid "" +"PEP node %(node)s was not removed:\n" +"%(message)s" +msgstr "" + +#: gajim/gtk/pep_config.py:153 +#, fuzzy, python-format +msgid "Configure %s" +msgstr "_Yerleştir" + +#: gajim/gtk/mam_preferences.py:42 +#, python-format +msgid "Archiving Preferences for %s" +msgstr "" + +#: gajim/gtk/mam_preferences.py:101 +#, fuzzy +msgid "Archiving Preferences Saved" +msgstr "Tercihler" + +#: gajim/gtk/mam_preferences.py:102 +msgid "Your archiving preferences have successfully been saved." +msgstr "" + +#: gajim/gtk/mam_preferences.py:109 +#, fuzzy +msgid "Archiving Preferences Error" +msgstr "Tercihler" + +#: gajim/gtk/mam_preferences.py:110 +#, fuzzy +msgid "Error received: {}" +msgstr "Komuta satrında hata: %s\n" + +#: gajim/gtk/statusicon.py:198 +#, fuzzy +msgid "_Change Status Message…" +msgstr "Durum ileti değiştir" + +#: gajim/gtk/statusicon.py:250 +#, python-format +msgid "using account %s" +msgstr "%s hesapı kullanıp" + +#: gajim/gtk/statusicon.py:263 +#, fuzzy +msgid "Hide _Contact List" +msgstr "Kişi Davet _Et" + +#: gajim/gtk/statusicon.py:268 gajim/data/gui/application_menu.ui:42 +#, fuzzy +msgid "Show _Contact List" +msgstr "Sadece _Çecredeki Kişileri Göster" + +#: gajim/gtk/statusicon.py:276 +msgid "Hide this menu" +msgstr "Menüyi gizle" + +#: gajim/gtk/start_chat.py:57 +#, fuzzy +msgid "Start / Join Chat" +msgstr "Sohbet _Başla" + +#: gajim/gtk/start_chat.py:285 gajim/gtk/start_chat.py:370 +msgid "You can not join a group chat unless you are connected." +msgstr "" + +#: gajim/gtk/start_chat.py:634 gajim/gtk/groupchat_join.py:40 +msgid "Join Group Chat" +msgstr "Grup Sohbete Katıl" + +#: gajim/gtk/start_chat.py:715 +msgid "" +"Search for group chats globally\n" +"(press Return to start search)" +msgstr "" + +#: gajim/gtk/start_chat.py:808 +#, fuzzy, python-format +msgid "%s group chats found" +msgstr "%s bulunamadı" + +#: gajim/gtk/notification.py:184 gajim/gtk/notification.py:205 +#: gajim/gtk/notification.py:219 gajim/gtk/notification.py:272 +#: gajim/common/connection_handlers_events.py:234 +msgid "New Private Message" +msgstr "Yeni kişisel Mesaj" + +#: gajim/gtk/notification.py:185 gajim/gtk/notification.py:206 +#: gajim/gtk/notification.py:220 gajim/common/connection_handlers_events.py:328 +#, fuzzy +msgid "New Group Chat Message" +msgstr "_Yeni Bir Grup Sohbeti" + +#: gajim/gtk/notification.py:186 gajim/gtk/notification.py:212 +#: gajim/gtk/notification.py:289 gajim/common/connection_handlers_events.py:418 +msgid "Contact Changed Status" +msgstr "Bağlantı Durumunu Değiştirdi" + +#: gajim/gtk/notification.py:200 +#, fuzzy +msgid "Open" +msgstr "OpenPGP:" + +#: gajim/gtk/notification.py:209 +msgid "Mark as Read" +msgstr "" + +#: gajim/gtk/notification.py:273 +msgid "New E-mail" +msgstr "Yeni E-mail" + +#: gajim/gtk/video_preview.py:116 +msgid "OpenGL accelerated" +msgstr "" + +#: gajim/gtk/video_preview.py:120 +msgid "Not accelerated" +msgstr "" + +#: gajim/gtk/video_preview.py:127 +msgid "Something went wrong. Video feature disabled." +msgstr "" + +#: gajim/gtk/groupchat_invite.py:304 +#, fuzzy +msgid "Invite New Contact" +msgstr "Kişi Davet _Et" + +#: gajim/gtk/themes.py:37 +#, fuzzy +msgid "Chatstate Composing" +msgstr "Yazar" + +#: gajim/gtk/themes.py:41 +#, fuzzy +msgid "Chatstate Inactive" +msgstr "Pasif" + +#: gajim/gtk/themes.py:45 +msgid "Chatstate Gone" +msgstr "" + +#: gajim/gtk/themes.py:49 +#, fuzzy +msgid "Chatstate Paused" +msgstr "Durumu Değiştir" + +#: gajim/gtk/themes.py:53 +#, fuzzy +msgid "Group Chat Tab New Directed Message" +msgstr "" +"Yönetilmiş MUC\n" +"İletler" + +#: gajim/gtk/themes.py:57 +#, fuzzy +msgid "Group Chat Tab New Message" +msgstr "Yeni Mesaj" + +#: gajim/gtk/themes.py:61 +msgid "Banner Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:65 +msgid "Banner Background Color" +msgstr "" + +#: gajim/gtk/themes.py:69 +msgid "Banner Font" +msgstr "" + +#: gajim/gtk/themes.py:73 +msgid "Account Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:77 +msgid "Account Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:81 +#, fuzzy +msgid "Account Row Font" +msgstr "Hesap sırası" + +#: gajim/gtk/themes.py:85 +msgid "Group Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:89 +msgid "Group Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:93 +#, fuzzy +msgid "Group Row Font" +msgstr "Grup sırası" + +#: gajim/gtk/themes.py:97 +msgid "Contact Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:101 +msgid "Contact Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:105 +#, fuzzy +msgid "Contact Row Font" +msgstr "Kişi sırası" + +#: gajim/gtk/themes.py:109 +#, fuzzy +msgid "Conversation Font" +msgstr "Sohbet" + +#: gajim/gtk/themes.py:113 +#, fuzzy +msgid "Incoming Nickname Color" +msgstr "Kullanıcak takma ad" + +#: gajim/gtk/themes.py:117 +#, fuzzy +msgid "Outgoing Nickname Color" +msgstr "Kullanıcak takma ad" + +#: gajim/gtk/themes.py:121 +#, fuzzy +msgid "Incoming Message Text Color" +msgstr "Metin dolgusu rengi" + +#: gajim/gtk/themes.py:125 +#, fuzzy +msgid "Incoming Message Text Font" +msgstr "Seçilen metnin yazıyüzü" + +#: gajim/gtk/themes.py:129 +#, fuzzy +msgid "Outgoing Message Text Color" +msgstr "Metin dolgusu rengi" + +#: gajim/gtk/themes.py:133 +#, fuzzy +msgid "Outgoing Message Text Font" +msgstr "Seçilen metnin yazıyüzü" + +#: gajim/gtk/themes.py:137 +#, fuzzy +msgid "Status Message Color" +msgstr "durum ileti" + +#: gajim/gtk/themes.py:141 +#, fuzzy +msgid "Status Message Font" +msgstr "durum ileti" + +#: gajim/gtk/themes.py:145 +#, fuzzy +msgid "URL Color" +msgstr "Renk" + +#: gajim/gtk/themes.py:149 +#, fuzzy +msgid "Highlight Message Color" +msgstr "Yazım hatalarını _vurgula" + +#: gajim/gtk/themes.py:153 +#, fuzzy +msgid "Message Correcting" +msgstr "İletler" + +#: gajim/gtk/themes.py:157 +#, fuzzy +msgid "Contact Disconnected Background" +msgstr "Kişinin bağlantısı kesildi" + +#: gajim/gtk/themes.py:161 +#, fuzzy +msgid "Contact Connected Background " +msgstr "Kişinin bağlantısı kesildi" + +#: gajim/gtk/themes.py:164 +#, fuzzy +msgid "Status Online Color" +msgstr "durum ileti" + +#: gajim/gtk/themes.py:167 +#, fuzzy +msgid "Status Away Color" +msgstr "durum ileti" + +#: gajim/gtk/themes.py:170 +#, fuzzy +msgid "Status DND Color" +msgstr "durum ileti" + +#: gajim/gtk/themes.py:173 +#, fuzzy +msgid "Status Offline Color" +msgstr "durum ileti" + +#: gajim/gtk/themes.py:187 +#, fuzzy +msgid "Gajim Themes" +msgstr "Gajim - %s" + +#: gajim/gtk/themes.py:223 gajim/gtk/themes.py:230 +#, fuzzy +msgid "Invalid Name" +msgstr "Geçersiz Takma ad" + +#: gajim/gtk/themes.py:224 +msgid "Name default is not allowed" +msgstr "" + +#: gajim/gtk/themes.py:231 +#, fuzzy +msgid "Spaces are not allowed" +msgstr "Rahatsız etmeyin" + +#: gajim/gtk/themes.py:356 +#, fuzzy +msgid "Do you want to delete this theme?" +msgstr "Seçilen anahtarları gerçekten silmek istiyor musunuz? " + +#: gajim/gtk/themes.py:358 +msgid "" +"This is the theme you are currently using.\n" +"Do you want to delete this theme?" +msgstr "" + +#: gajim/gtk/themes.py:363 +#, fuzzy +msgid "Delete Theme" +msgstr "Aktif" + +#: gajim/gtk/themes.py:390 +#, fuzzy +msgid "Remove Setting" +msgstr "Bağlantı Kurulamıyor" + +#: gajim/gtk/filetransfer_progress.py:62 +#, fuzzy +msgid "Upload Failed" +msgstr "Dosya Farklı Kaydet..." + +#: gajim/gtk/filetransfer_progress.py:113 +#, fuzzy, python-format +msgid "%(progress)s of %(total)s" +msgstr "Bunu %s buna %s gönder" + +#: gajim/gtk/filetransfer_progress.py:130 +#, python-format +msgid "%(minutes)s min %(seconds)s sec" +msgstr "" + +#: gajim/gtk/add_contact.py:32 +#, fuzzy +msgid "GG Number" +msgstr "GG Numara:" + +#: gajim/gtk/add_contact.py:33 +#, fuzzy +msgid "ICQ Number" +msgstr "ICQ Numara:" + +#: gajim/gtk/add_contact.py:42 +#, fuzzy +msgid "Add Contact" +msgstr "Kişi _ekle" + +#: gajim/gtk/add_contact.py:260 +#, fuzzy, python-format +msgid "%s Missing" +msgstr "%s MiB" + +#: gajim/gtk/add_contact.py:261 +#, python-format +msgid "You must supply the %s of the new contact." +msgstr "" + +#: gajim/gtk/add_contact.py:288 gajim/gtk/add_contact.py:294 +#: gajim/gtk/add_contact.py:299 +#, fuzzy +msgid "Invalid User ID" +msgstr "Geçersiz Jabber kimliği" + +#: gajim/gtk/add_contact.py:295 +msgid "The user ID must not contain a resource." +msgstr "" + +#: gajim/gtk/add_contact.py:300 +#, fuzzy +msgid "You cannot add yourself to your contact list." +msgstr "Seni kişi listeme eklemek isterdim" + +#: gajim/gtk/add_contact.py:305 +#, fuzzy +msgid "Account Offline" +msgstr "Bağlı değil" + +#: gajim/gtk/add_contact.py:306 +msgid "Your account must be online to add new contacts." +msgstr "" + +#: gajim/gtk/add_contact.py:322 +#, fuzzy +msgid "Contact Already in Contact List" +msgstr "Kişi listesindeki olayları göster" + +#: gajim/gtk/add_contact.py:323 +#, fuzzy +msgid "This contact is already in your contact list." +msgstr "Kişiyi listeden sil" + +#: gajim/gtk/add_contact.py:381 gajim/gtk/add_contact.py:419 +msgid "User ID:" +msgstr "Kullanıcı kimliği:" + +#: gajim/gtk/add_contact.py:486 +#, fuzzy +msgid "Error while adding transport contact" +msgstr "Eklentilerin etkinleştirilmesinde hata #%d." + +#: gajim/gtk/add_contact.py:487 +#, python-format +msgid "" +"This error occurred while adding a contact for transport %(transport)s:\n" +"\n" +"%(error)s" +msgstr "" + +#: gajim/gtk/account_wizard.py:61 gajim/data/gui/account_wizard.ui:631 +#, fuzzy +msgid "Sign Up" +msgstr "_Bağlan" + +#: gajim/gtk/account_wizard.py:63 +#, fuzzy +msgid "Connect" +msgstr "Bağlantılı" + +#: gajim/gtk/account_wizard.py:64 gajim/gtk/adhoc.py:102 +msgid "Next" +msgstr "" + +#: gajim/gtk/account_wizard.py:65 +msgid "Log In" +msgstr "" + +#: gajim/gtk/account_wizard.py:67 gajim/gtk/remove_account.py:44 +#: gajim/gtk/change_password.py:45 gajim/gtk/accounts.py:384 +#, fuzzy +msgid "Back" +msgstr "Geri Düğme" + +#: gajim/gtk/account_wizard.py:80 +#, fuzzy +msgid "An error occurred during account creation" +msgstr "Aralık yeniden konumlandırılması sırasında bir hata oluştu." + +#: gajim/gtk/account_wizard.py:166 +#, fuzzy +msgid "Creating Account..." +msgstr "XMPP hesabı %s@%s" + +#: gajim/gtk/account_wizard.py:167 +#, fuzzy +msgid "Trying to create account..." +msgstr "Bu hesabın parolyı değiştirmek için tikla" + +#: gajim/gtk/account_wizard.py:277 gajim/gtk/account_wizard.py:296 +#: gajim/gtk/account_wizard.py:313 +#, fuzzy +msgid "Connecting to server..." +msgstr "Connecting" + +#: gajim/gtk/account_wizard.py:367 gajim/gtk/account_wizard.py:368 +msgid "Anonymous login not supported" +msgstr "" + +#: gajim/gtk/account_wizard.py:369 +#, fuzzy +msgid "This server does not support anonymous login." +msgstr "Dalga %s biçimini desteklemiyor..." + +#: gajim/gtk/account_wizard.py:372 gajim/common/client.py:284 +#: gajim/common/const.py:958 gajim/common/const.py:959 +#: gajim/common/const.py:960 gajim/common/const.py:963 +#, fuzzy +msgid "Authentication failed" +msgstr "Kimliksiz kimlik doğrulaması" + +#: gajim/gtk/account_wizard.py:384 gajim/gtk/account_wizard.py:385 +#, fuzzy +msgid "Signup not allowed" +msgstr "Rahatsız etmeyin" + +#: gajim/gtk/account_wizard.py:386 +#, fuzzy +msgid "This server does not allow signup." +msgstr "Dalga %s biçimini desteklemiyor..." + +#: gajim/gtk/account_wizard.py:395 gajim/gtk/account_wizard.py:432 +#: gajim/gtk/account_wizard.py:433 gajim/gtk/account_wizard.py:520 +#: gajim/gtk/groupchat_config.py:132 gajim/gtk/groupchat_config.py:399 +#: gajim/gtk/history.py:591 gajim/gtk/search.py:336 +msgid "Error" +msgstr "Hata" + +#: gajim/gtk/account_wizard.py:402 gajim/gtk/account_wizard.py:403 +#, fuzzy +msgid "Connection failed" +msgstr "Bağlantı Kurulamıyor" + +#: gajim/gtk/account_wizard.py:404 +msgid "" +"Gajim was not able to reach the server. Make sure your XMPP address is " +"correct." +msgstr "" + +#: gajim/gtk/account_wizard.py:459 +#, fuzzy +msgid "Account is being created" +msgstr "ping: Bağlanılan sunucuya PING at." + +#: gajim/gtk/account_wizard.py:518 +msgid "The server rejected the registration without an error message" +msgstr "" + +#: gajim/gtk/account_wizard.py:530 gajim/gtk/accounts.py:572 +#, fuzzy +msgid "Add Account" +msgstr "Kişi _ekle" + +#: gajim/gtk/account_wizard.py:612 gajim/gtk/groupchat_creation.py:138 +#, fuzzy +msgid "Invalid Address" +msgstr "Geçersiz Dosya" + +#: gajim/gtk/account_wizard.py:636 +#, fuzzy +msgid "Create New Account" +msgstr "Yeni posta yarat" + +#: gajim/gtk/account_wizard.py:712 +#, fuzzy +msgid "Advanced settings" +msgstr "İlerlemiş aksiyonlar" + +#: gajim/gtk/account_wizard.py:774 +#, fuzzy +msgid "Invalid domain name" +msgstr "Geçersiz Liste İsmi" + +#: gajim/gtk/account_wizard.py:791 +#, fuzzy +msgid "Must be a port number" +msgstr "url portu bir sayı olmalı\n" + +#: gajim/gtk/account_wizard.py:798 +msgid "Port must be a number between 0 and 65535" +msgstr "" + +#: gajim/gtk/account_wizard.py:814 +#, fuzzy +msgid "Security Warning" +msgstr "ben burdaysam" + +#: gajim/gtk/account_wizard.py:833 +#, fuzzy, python-format +msgid "Unknown TLS error '%s'" +msgstr "Bir hata oluştu:" + +#: gajim/gtk/account_wizard.py:868 gajim/gtk/account_wizard.py:871 +#, fuzzy +msgid "Create Account" +msgstr "XMPP hesabı %s@%s" + +#: gajim/gtk/account_wizard.py:922 +msgid "Redirect" +msgstr "" + +#: gajim/gtk/account_wizard.py:932 +#, fuzzy +msgid "Register on the Website" +msgstr "Bunu %s buna %s gönder" + +#: gajim/gtk/account_wizard.py:943 +#, fuzzy +msgid "Account Added" +msgstr "Hesap sırası" + +#: gajim/gtk/account_wizard.py:944 +#, fuzzy +msgid "Account has been added successfully" +msgstr "'%s' (%d) öğesi zaten bir görüntüye eklenmiş" + +#: gajim/gtk/groupchat_invitation.py:57 +#, fuzzy +msgid "" +"has invited you to a group chat.\n" +"Do you want to join?" +msgstr "Lütfen göstermek istediğiniz kaynak dosyasındaki satırı seçiniz:" + +#: gajim/gtk/groupchat_invitation.py:75 gajim/gtk/discovery.py:1706 +#: gajim/gtk/groupchat_join.py:68 gajim/data/gui/groupchat_control.ui:899 +#: gajim/data/gui/groupchat_control.ui:991 +#: gajim/data/gui/start_chat_dialog.ui:314 +msgid "_Join" +msgstr "_Katıl" + +#: gajim/gtk/tooltips.py:215 +#, python-format +msgid "%(owner_or_admin_or_member)s of this group chat" +msgstr "" + +#: gajim/gtk/tooltips.py:474 +msgid "Connected" +msgstr "Bağlantılı" + +#: gajim/gtk/tooltips.py:476 +msgid "Disconnected" +msgstr "Bağlantızıs" + +#: gajim/gtk/tooltips.py:530 +#, fuzzy +msgid "File Name: " +msgstr "Dosya adı: %s" + +#: gajim/gtk/tooltips.py:533 +#, fuzzy +msgid "?Noun:Download" +msgstr "Yükleme" + +#: gajim/gtk/tooltips.py:534 gajim/gtk/filetransfer.py:747 +msgid "Sender: " +msgstr "Gönderen" + +#: gajim/gtk/tooltips.py:539 +#, fuzzy +msgid "?Noun:Upload" +msgstr "Gönder" + +#: gajim/gtk/tooltips.py:540 gajim/gtk/filetransfer.py:240 +#: gajim/gtk/filetransfer.py:749 +msgid "Recipient: " +msgstr "Alıcı:" + +#: gajim/gtk/tooltips.py:546 +#, fuzzy +msgid "?transfer type:Type: " +msgstr "Dosya Gönderme Tamamlandı" + +#: gajim/gtk/tooltips.py:552 +#, fuzzy +msgid "?transfer status:Transferred: " +msgstr "?transfer status:Duraklanıldı" + +#: gajim/gtk/tooltips.py:555 +#, fuzzy +msgid "?transfer status:Status: " +msgstr "?transfer status:Duraklanıldı" + +#: gajim/gtk/tooltips.py:557 +msgid "Description: " +msgstr "Açıklama: " + +#: gajim/gtk/tooltips.py:581 +#, fuzzy +msgid "?transfer status:Aborted" +msgstr "?transfer status:Duraklanıldı" + +#: gajim/gtk/tooltips.py:583 +#, fuzzy +msgid "?transfer status:Completed" +msgstr "?transfer status:Duraklanıldı" + +#: gajim/gtk/tooltips.py:585 +msgid "?transfer status:Paused" +msgstr "?transfer status:Duraklanıldı" + +#: gajim/gtk/tooltips.py:588 +#, fuzzy +msgid "?transfer status:Stalled" +msgstr "?transfer status:Duraklanıldı" + +#: gajim/gtk/tooltips.py:592 +#, fuzzy +msgid "?transfer status:Transferring" +msgstr "?transfer status:Duraklanıldı" + +#: gajim/gtk/tooltips.py:593 gajim/gtk/tooltips.py:594 +#, fuzzy +msgid "?transfer status:Not started" +msgstr "?transfer status:Duraklanıldı" + +#: gajim/gtk/remove_account.py:42 gajim/gtk/accounts.py:341 +#, fuzzy +msgid "Remove" +msgstr "_Kaldır" + +#: gajim/gtk/remove_account.py:49 +#, fuzzy +msgid "Removing Account..." +msgstr "XMPP hesabı %s@%s" + +#: gajim/gtk/remove_account.py:50 +msgid "Trying to remove account..." +msgstr "" + +#: gajim/gtk/remove_account.py:53 gajim/gtk/remove_account.py:54 +#, fuzzy +msgid "Account Removed" +msgstr "Hesap sırası" + +#: gajim/gtk/remove_account.py:56 +#, fuzzy +msgid "Your account has has been removed successfully." +msgstr "'%s' (%d) öğesi zaten bir görüntüye eklenmiş" + +#: gajim/gtk/remove_account.py:59 gajim/gtk/remove_account.py:60 +#, fuzzy +msgid "Account Removal Failed" +msgstr "Hiç bir hesap bulunmiyor" + +#: gajim/gtk/remove_account.py:171 gajim/gtk/remove_account.py:173 +#, fuzzy +msgid "Remove Account" +msgstr "XMPP hesabı %s@%s" + +#: gajim/gtk/remove_account.py:180 +#, fuzzy +msgid "This will remove your account from Gajim." +msgstr "İstemciyi hesap yöneticisi kontrolünden çıkarır." + +#: gajim/gtk/remove_account.py:189 +#, python-format +msgid "Do you want to unregister your account on %s as well?" +msgstr "" + +#: gajim/gtk/remove_account.py:198 +msgid "_Unregister account from service" +msgstr "" + +#: gajim/gtk/remove_account.py:217 +#, fuzzy +msgid "Account has to be connected" +msgstr "ping: Bağlanılan sunucuya PING at." + +#: gajim/gtk/filetransfer.py:91 +msgid "File" +msgstr "Dosya" + +#: gajim/gtk/filetransfer.py:108 +msgid "Time" +msgstr "Süre" + +#: gajim/gtk/filetransfer.py:121 gajim/data/gui/filetransfer_progress.ui:110 +msgid "Progress" +msgstr "İlerleme" + +#: gajim/gtk/filetransfer.py:228 +#, fuzzy, python-format +msgid "File name: %s" +msgstr "Dosya adı: %s" + +#: gajim/gtk/filetransfer.py:229 gajim/gtk/filetransfer.py:470 +#, fuzzy, python-format +msgid "Size: %s" +msgstr "%1 (boyut %2)" + +#: gajim/gtk/filetransfer.py:239 +#, python-format +msgid "Sender: %s" +msgstr "Gönderen: %s" + +#: gajim/gtk/filetransfer.py:251 +#, fuzzy, python-format +msgid "Saved in: %s" +msgstr "ben burdaysam" + +#: gajim/gtk/filetransfer.py:256 +#, fuzzy +msgid "File transfer completed" +msgstr "Dosya Gönderme Tamamlandı" + +#: gajim/gtk/filetransfer.py:276 gajim/gtk/filetransfer.py:285 +#, fuzzy +msgid "Connection with peer could not be established." +msgstr "işlem 'pmuls' ile birleştirilemez" + +#: gajim/gtk/filetransfer.py:293 +#, python-format +msgid "Filename: %s" +msgstr "Dosya adı: %s" + +#: gajim/gtk/filetransfer.py:294 +#, python-format +msgid "Recipient: %s" +msgstr "Alıcı: %s" + +#: gajim/gtk/filetransfer.py:296 +#, fuzzy, python-format +msgid "Error message: %s" +msgstr "Ileti alınıyor" + +#: gajim/gtk/filetransfer.py:335 +#, python-format +msgid "" +"The file %s has been received, but it seems to have been damaged along the " +"way.\n" +"Do you want to download it again?" +msgstr "" + +#: gajim/gtk/filetransfer.py:341 +#, fuzzy +msgid "_Download Again" +msgstr "Bu iletişim kutusunu bir daha _gösterme" + +#: gajim/gtk/filetransfer.py:356 +#, fuzzy +msgid "Gajim can not read this file" +msgstr "%s sunucu konfigurasyon dosyasına \"%s\" erişilemiyor: %s\n" + +#: gajim/gtk/filetransfer.py:357 +msgid "Another process is using this file." +msgstr "" + +#: gajim/gtk/filetransfer.py:399 +#, fuzzy, python-format +msgid "Cannot overwrite existing file '%s'" +msgstr "\"%s\" mevcut dosyanın üzerine yazılamıyor" + +#: gajim/gtk/filetransfer.py:400 +msgid "" +"A file with this name already exists and you do not have permission to " +"overwrite it." +msgstr "" + +#: gajim/gtk/filetransfer.py:424 +#, fuzzy +msgid "File Transfer Conflict" +msgstr "Dosya Gönderimi Tamamlandı" + +#: gajim/gtk/filetransfer.py:425 +#, fuzzy +msgid "File already exists" +msgstr "Dosyası zaten var" + +#: gajim/gtk/filetransfer.py:426 +msgid "Resume download or replace file?" +msgstr "" + +#: gajim/gtk/filetransfer.py:430 +#, fuzzy +msgid "Resume _Download" +msgstr "Yükleme" + +#: gajim/gtk/filetransfer.py:433 +#, fuzzy +msgid "Replace _File" +msgstr "Temizleniyor" + +#: gajim/gtk/filetransfer.py:443 +#, fuzzy, python-format +msgid "Directory '%s' is not writable" +msgstr "Klasör \"%s\" yazılabilir değil" + +#: gajim/gtk/filetransfer.py:444 +msgid "You do not have permissions to create files in this directory." +msgstr "" + +#: gajim/gtk/filetransfer.py:467 +#, python-format +msgid "File: %s" +msgstr "Dosya: %s" + +#: gajim/gtk/filetransfer.py:473 +#, fuzzy, python-format +msgid "Type: %s" +msgstr "_Türü:" + +#: gajim/gtk/filetransfer.py:475 +#, python-format +msgid "Description: %s" +msgstr "Açıklama: %s" + +#: gajim/gtk/filetransfer.py:486 +#, fuzzy, python-format +msgid "%s wants to send you a file" +msgstr "%s size bir dosya göndermek istiyor." + +#: gajim/gtk/filetransfer.py:514 +#, fuzzy +msgid "Checking file…" +msgstr "Profil gönderiliyor…" + +#: gajim/gtk/filetransfer.py:529 +#, fuzzy +msgid "File error" +msgstr "Dosya okunurken hata:" + +#: gajim/gtk/filetransfer.py:566 +#, python-format +msgid "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" +msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" + +#: gajim/gtk/filetransfer.py:663 +#, python-format +msgid "(%(filesize_unit)s/s)" +msgstr "(%(filesize_unit)s/s)" + +#: gajim/gtk/filetransfer.py:716 gajim/gtk/filetransfer.py:720 +msgid "Invalid File" +msgstr "Geçersiz Dosya" + +#: gajim/gtk/filetransfer.py:716 +msgid "File: " +msgstr "Dosya: " + +#: gajim/gtk/filetransfer.py:721 +msgid "It is not possible to send empty files" +msgstr "" + +#: gajim/gtk/filetransfer.py:1043 +#, fuzzy +msgid "Choose a File to Send…" +msgstr "%s size bir dosya göndermek istiyor:" + +#: gajim/gtk/roster_item_exchange.py:35 +#: gajim/data/gui/roster_item_exchange_window.ui:39 +#, fuzzy +msgid "Contact List Exchange" +msgstr "Kişi listesindeki olayları göster" + +#: gajim/gtk/roster_item_exchange.py:49 +#, fuzzy, python-format +msgid "%s would like to add some contacts to your contact list." +msgstr "Seni kişi listeme eklemek isterdim" + +#: gajim/gtk/roster_item_exchange.py:52 +#, fuzzy, python-format +msgid "%s would like to modify some contacts in your contact list." +msgstr "Seni kişi listeme eklemek isterdim" + +#: gajim/gtk/roster_item_exchange.py:55 +#, fuzzy, python-format +msgid "%s would like to delete some contacts from your contact list." +msgstr "Seni kişi listeme eklemek isterdim" + +#: gajim/gtk/roster_item_exchange.py:71 gajim/gtk/roster_item_exchange.py:130 +msgid "Add" +msgstr "Ekle" + +#: gajim/gtk/roster_item_exchange.py:73 gajim/gtk/roster_item_exchange.py:161 +msgid "Modify" +msgstr "Düzenle" + +#: gajim/gtk/roster_item_exchange.py:80 +msgid "JID" +msgstr "JID" + +#: gajim/gtk/roster_item_exchange.py:86 +msgid "Groups" +msgstr "Gruplar" + +#: gajim/gtk/roster_item_exchange.py:196 +#, fuzzy, python-format +msgid "%s suggested me to add you to my contact list." +msgstr "Seni kişi listeme eklemek isterdim" + +#: gajim/gtk/roster_item_exchange.py:211 +#, fuzzy, python-format +msgid "Added %d contact" +msgid_plural "Added %d contacts" +msgstr[0] "Kişileri eşzamana getir" + +#: gajim/gtk/roster_item_exchange.py:253 +#, fuzzy, python-format +msgid "Removed %d contact" +msgid_plural "Removed %d contacts" +msgstr[0] "Kişileri eşzamana getir" + +#: gajim/gtk/groupchat_creation.py:45 gajim/data/gui/groupchat_creation.ui:81 +#, fuzzy +msgid "Create Group Chat" +msgstr "Tam-Ekrandan Çık" + +#: gajim/gtk/groupchat_creation.py:101 gajim/gtk/groupchat_creation.py:103 +msgid " (optional)..." +msgstr "" + +#: gajim/gtk/groupchat_creation.py:186 +#, fuzzy +msgid "Not Connected" +msgstr "Bağlantılı" + +#: gajim/gtk/groupchat_creation.py:187 +#, fuzzy +msgid "You have to be connected to create a group chat." +msgstr "[%s sayfasını okuyamazsınız.]" + +#: gajim/gtk/status_selector.py:121 gajim/gtk/status_selector.py:127 +#, fuzzy, python-format +msgid "Status: %s" +msgstr "Durum:" + +#: gajim/gtk/status_selector.py:125 +#, fuzzy, python-format +msgid "%s (desynced)" +msgstr "-e --ed Bir ed betiği çıktılar." + +#: gajim/gtk/subscription_request.py:35 +msgid "Subscription Request" +msgstr "Üyelik İsteği" + +#: gajim/gtk/subscription_request.py:47 +#, python-format +msgid "Subscription request for account %(account)s from %(jid)s" +msgstr "" + +#: gajim/gtk/subscription_request.py:50 +#, fuzzy, python-format +msgid "Subscription request from %s" +msgstr "Dosya Gönderme Soru" + +#: gajim/gtk/single_message.py:51 +msgid "Send Single Message" +msgstr "Tek bir İlet gönder" + +#: gajim/gtk/single_message.py:101 +#, fuzzy +msgid "(No subject)" +msgstr "konu" + +#: gajim/gtk/single_message.py:157 +#, python-format +msgid "Single Message using account %s" +msgstr "%s Hesabını Kullanarak Tekli Mesaj" + +#: gajim/gtk/single_message.py:159 +#, fuzzy, python-format +msgid "Single Message in account %s" +msgstr "Ileti cevap da içerilsin mi?" + +#: gajim/gtk/single_message.py:161 +#, fuzzy +msgid "Single Message" +msgstr "Tek Bir İleti Gönder…" + +#: gajim/gtk/single_message.py:164 +#, python-format +msgid "Send %s" +msgstr "Gönder %s" + +#: gajim/gtk/single_message.py:183 +#, python-format +msgid "Received %s" +msgstr "Alındı %s" + +#: gajim/gtk/single_message.py:205 +#, fuzzy, python-format +msgid "Characters typed: %s" +msgstr "Rahatsız etmeyin" + +#: gajim/gtk/single_message.py:210 gajim/gtk/xml_console.py:169 +#, fuzzy +msgid "Connection not available" +msgstr "Hiç bir hesap bulunmiyor" + +#: gajim/gtk/single_message.py:211 +#, python-format +msgid "Please make sure you are connected with \"%s\"." +msgstr "" + +#: gajim/gtk/single_message.py:239 +#, python-format +msgid "" +"It is not possible to send a message to %s, this XMPP Address is not valid." +msgstr "" + +#: gajim/gtk/single_message.py:316 +#, fuzzy, python-format +msgid "RE: %s" +msgstr "Adı _değiştir" + +#: gajim/gtk/single_message.py:317 +#, fuzzy, python-format +msgid "%s wrote:\n" +msgstr "Yazıldı: %s\n" + +#: gajim/gtk/change_password.py:42 +#, fuzzy +msgid "Change" +msgstr "Takma Ad Ayarla" + +#: gajim/gtk/change_password.py:51 +#, fuzzy +msgid "Changing Password..." +msgstr "Parolayı Değiştir" + +#: gajim/gtk/change_password.py:52 +#, fuzzy +msgid "Trying to change password..." +msgstr "Bu hesabın parolyı değiştirmek için tikla" + +#: gajim/gtk/change_password.py:55 gajim/gtk/change_password.py:56 +#, fuzzy +msgid "Password Changed" +msgstr "Şifre gerekli" + +#: gajim/gtk/change_password.py:57 +msgid "Your password has successfully been changed." +msgstr "" + +#: gajim/gtk/change_password.py:60 gajim/gtk/change_password.py:61 +#, fuzzy +msgid "Password Change Failed" +msgstr "Şifre gerekli" + +#: gajim/gtk/change_password.py:63 +#, fuzzy +msgid "An error occurred while trying to change your password." +msgstr "Aralık yeniden konumlandırılması sırasında bir hata oluştu." + +#: gajim/gtk/change_password.py:145 gajim/gtk/change_password.py:147 +#: gajim/gtk/change_password.py:224 gajim/gtk/accounts.py:994 +msgid "Change Password" +msgstr "Parolayı Değiştir" + +#: gajim/gtk/change_password.py:154 +#, fuzzy +msgid "Please enter your new password." +msgstr "Yeni posta yarat" + +#: gajim/gtk/change_password.py:167 +#, fuzzy +msgid "Enter new password..." +msgstr "Yeni parola girin: " + +#: gajim/gtk/change_password.py:176 +#, fuzzy +msgid "Confirm new password..." +msgstr "Parolayı Değiştir" + +#: gajim/gtk/change_password.py:191 +msgid "Passwords do not match" +msgstr "Parolalar uyuşmuyor" + +#: gajim/gtk/bookmarks.py:48 +#, fuzzy, python-format +msgid "Bookmarks for %s" +msgstr "_Yer imi" + +#: gajim/gtk/xml_console.py:95 gajim/gtk/xml_console.py:279 +#, fuzzy +msgid "All Accounts" +msgstr "Hesaplar" + +#: gajim/gtk/xml_console.py:170 +#, python-format +msgid "Please make sure you are connected with '%s'." +msgstr "" + +#: gajim/gtk/xml_console.py:180 +#, fuzzy +msgid "Invalid Node" +msgstr "Geçersiz Dosya" + +#: gajim/gtk/xml_console.py:282 +msgid "Account" +msgstr "Hesap" + +#: gajim/gtk/xml_console.py:309 gajim/data/gui/xml_console.ui:241 +#, fuzzy +msgid "Filter" +msgstr "Filtre:" + +#: gajim/gtk/dataform.py:252 gajim/gtk/dataform.py:290 +#, fuzzy +msgid "Required" +msgstr "Şifre gerekli" + +#: gajim/gtk/dataform.py:315 +msgid "Yes" +msgstr "" + +#: gajim/gtk/dataform.py:315 +#, fuzzy +msgid "No" +msgstr "Hiçbiri" + +#: gajim/gtk/dataform.py:701 gajim/gtk/adhoc.py:86 +#: gajim/data/gui/profile.ui:396 +#, fuzzy +msgid "Cancel" +msgstr "_İptal" + +#: gajim/gtk/dataform.py:703 +msgid "Submit" +msgstr "" + +#: gajim/gtk/discovery.py:69 +msgid "This service has not yet responded with detailed information" +msgstr "" + +#: gajim/gtk/discovery.py:70 +msgid "" +"This service could not respond with detailed information.\n" +"It is most likely a legacy service or broken." +msgstr "" + +#: gajim/gtk/discovery.py:126 +msgid "Others" +msgstr "Diğer" + +#: gajim/gtk/discovery.py:129 gajim/data/gui/shortcuts_window.ui:307 +#, fuzzy +msgid "Group Chat" +msgstr "Grup sohbetler" + +#: gajim/gtk/discovery.py:523 +msgid "Without a connection, you can not browse available services" +msgstr "" + +#: gajim/gtk/discovery.py:610 +#, python-format +msgid "Service Discovery using account %s" +msgstr "" + +#: gajim/gtk/discovery.py:612 +msgid "Service Discovery" +msgstr "Hizmet Keşfi" + +#: gajim/gtk/discovery.py:695 +msgid "The service could not be found" +msgstr "Hizmet bulunamadı" + +#: gajim/gtk/discovery.py:696 +msgid "" +"There is no service at the address you entered, or it is not responding. " +"Check the address and try again." +msgstr "" + +#: gajim/gtk/discovery.py:703 gajim/gtk/discovery.py:1046 +msgid "The service is not browsable" +msgstr "Bu hizmet gözatılabilir değil" + +#: gajim/gtk/discovery.py:704 +msgid "This type of service does not contain any items to browse." +msgstr "" + +#: gajim/gtk/discovery.py:742 gajim/gtk/discovery.py:751 +msgid "Invalid Server Name" +msgstr "Geçersiz Sunucu Adı" + +#: gajim/gtk/discovery.py:810 +#, python-format +msgid "Browsing %(address)s using account %(account)s" +msgstr "" + +#: gajim/gtk/discovery.py:855 +#, fuzzy +msgid "Browse" +msgstr "_Göz at" + +#: gajim/gtk/discovery.py:1047 +msgid "This service does not contain any items to browse." +msgstr "" + +#: gajim/gtk/discovery.py:1259 +#, fuzzy +msgid "_Command" +msgstr "komut" + +#: gajim/gtk/discovery.py:1268 gajim/gtk/discovery.py:1425 +#, fuzzy +msgid "Re_gister" +msgstr "_Kaydol" + +#: gajim/gtk/discovery.py:1275 +#, fuzzy +msgid "Join" +msgstr "_Katıl" + +#: gajim/gtk/discovery.py:1281 +msgid "_Search" +msgstr "_Ara" + +#: gajim/gtk/discovery.py:1423 gajim/data/gui/profile.ui:353 +msgid "_Edit" +msgstr "Düz_en" + +#: gajim/gtk/discovery.py:1461 +#, fuzzy, python-format +msgid "Scanning %(current)d / %(total)d ..." +msgstr "İndirilen dosya: %(current)li / %(total)li" + +#: gajim/gtk/discovery.py:1660 +msgid "Users" +msgstr "Kullanıcılar" + +#: gajim/gtk/discovery.py:1668 gajim/data/gui/groupchat_info_scrolled.ui:32 +#: gajim/data/gui/filetransfers_send_file_dialog.ui:15 +#: gajim/data/gui/advanced_configuration.ui:82 +msgid "Description" +msgstr "Açıklama" + +#: gajim/gtk/discovery.py:1676 +msgid "Id" +msgstr "Id" + +#: gajim/gtk/discovery.py:1905 +msgid "Subscribed" +msgstr "Üyeldi" + +#: gajim/gtk/discovery.py:1914 +#, fuzzy +msgid "Node" +msgstr "Ağ Sil" + +#: gajim/gtk/discovery.py:1983 +#, fuzzy +msgid "_New post" +msgstr "Yeni posta" + +#: gajim/gtk/discovery.py:1992 +msgid "_Subscribe" +msgstr "_Üye yap" + +#: gajim/gtk/discovery.py:2000 +msgid "_Unsubscribe" +msgstr "_Üyelikten çık" + +#: gajim/gtk/groupchat_settings.py:43 +msgid "Show Join/Leave" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:53 +#, fuzzy +msgid "Notify on all Messages" +msgstr "Önceden hazırlanmış iletleri:" + +#: gajim/gtk/groupchat_settings.py:58 +#, fuzzy +msgid "Minimize on Close" +msgstr "Kapatınca küçült" + +#: gajim/gtk/groupchat_settings.py:63 +#, fuzzy +msgid "Minimize When Joining Automatically" +msgstr "Kendilinden Katılınca Küçült" + +#: gajim/gtk/groupchat_settings.py:68 +#, fuzzy +msgid "Send Chat State" +msgstr "Son durum: %s" + +#: gajim/gtk/groupchat_settings.py:74 +#, fuzzy +msgid "Send Chat Markers" +msgstr "Son durum: %s" + +#: gajim/gtk/groupchat_settings.py:77 +msgid "Let others know if you read up to this point" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:80 +msgid "Sync Threshold" +msgstr "" + +#: gajim/gtk/proxies.py:33 +#, fuzzy +msgid "Manage Proxies" +msgstr "Vekil Sunuc Profili İşlet" + +#: gajim/gtk/manage_sounds.py:40 +#, fuzzy +msgid "Manage Sounds" +msgstr "Kişileri eşzamana getir" + +#: gajim/gtk/manage_sounds.py:51 +msgid "Wav Sounds" +msgstr "Wav Sesleri" + +#: gajim/gtk/manage_sounds.py:85 +#, fuzzy +msgid "Attention Message Received" +msgstr "Üyelik ileti _kaydet" + +#: gajim/gtk/manage_sounds.py:86 +#, fuzzy +msgid "First Message Received" +msgstr "Üyelik ileti _kaydet" + +#: gajim/gtk/manage_sounds.py:87 +#, fuzzy +msgid "Next Message Received Focused" +msgstr "\"%s\"den yeni bir ileti aldın" + +#: gajim/gtk/manage_sounds.py:88 +#, fuzzy +msgid "Next Message Received Unfocused" +msgstr "\"%s\"den yeni bir ileti aldın" + +#: gajim/gtk/manage_sounds.py:89 +#, fuzzy +msgid "Contact Connected" +msgstr "Kişinin bağlantısı kesildi" + +#: gajim/gtk/manage_sounds.py:90 +#, fuzzy +msgid "Contact Disconnected" +msgstr "Kişinin bağlantısı kesildi" + +#: gajim/gtk/manage_sounds.py:91 +#, fuzzy +msgid "Message Sent" +msgstr "Ileti alınıyor" + +#: gajim/gtk/manage_sounds.py:92 +#, fuzzy +msgid "Group Chat Message Highlight" +msgstr "%s grup sohbete katıldı" + +#: gajim/gtk/manage_sounds.py:93 +#, fuzzy +msgid "Group Chat Message Received" +msgstr "%s grup sohbete katıldı" + +#: gajim/gtk/groupchat_info.py:38 +#, fuzzy +msgid "?Group chat feature:Open" +msgstr "?Group Chat Contact Role:Hiç biri" + +#: gajim/gtk/groupchat_info.py:39 +#, fuzzy +msgid "Anyone can join this group chat" +msgstr "%s grup sohbete katıldı" + +#: gajim/gtk/groupchat_info.py:42 +#, fuzzy +msgid "?Group chat feature:Members Only" +msgstr "%s grup sohbete katıldı" + +#: gajim/gtk/groupchat_info.py:43 +msgid "This group chat is restricted to members only" +msgstr "" + +#: gajim/gtk/groupchat_info.py:47 +#, fuzzy +msgid "?Group chat feature:Not Anonymous" +msgstr "Grup sohbetler" + +#: gajim/gtk/groupchat_info.py:48 +msgid "All other group chat participants can see your XMPP address" +msgstr "" + +#: gajim/gtk/groupchat_info.py:52 +#, fuzzy +msgid "?Group chat feature:Semi-Anonymous" +msgstr "%s grup sohbete katıldı" + +#: gajim/gtk/groupchat_info.py:53 +msgid "Only moderators can see your XMPP address" +msgstr "" + +#: gajim/gtk/groupchat_info.py:56 +#, fuzzy +msgid "?Group chat feature:Moderated" +msgstr "?Group Chat Contact Role:Hiç biri" + +#: gajim/gtk/groupchat_info.py:57 +msgid "" +"Participants entering this group chat need to request permission to send " +"messages" +msgstr "" + +#: gajim/gtk/groupchat_info.py:61 +#, fuzzy +msgid "?Group chat feature:Not Moderated" +msgstr "Grup sohbetler" + +#: gajim/gtk/groupchat_info.py:62 +msgid "Participants entering this group chat are allowed to send messages" +msgstr "" + +#: gajim/gtk/groupchat_info.py:66 +#, fuzzy +msgid "?Group chat feature:Public" +msgstr "%s grup sohbete katıldı" + +#: gajim/gtk/groupchat_info.py:67 +msgid "Group chat can be found via search" +msgstr "" + +#: gajim/gtk/groupchat_info.py:70 +#, fuzzy +msgid "?Group chat feature:Hidden" +msgstr "?Group Chat Contact Role:Hiç biri" + +#: gajim/gtk/groupchat_info.py:71 +#, fuzzy +msgid "This group chat can not be found via search" +msgstr "Paket bulunamadı" + +#: gajim/gtk/groupchat_info.py:74 +#, fuzzy +msgid "?Group chat feature:Password Required" +msgstr "Grup sohbetler" + +#: gajim/gtk/groupchat_info.py:75 +msgid "This group chat does require a password upon entry" +msgstr "" + +#: gajim/gtk/groupchat_info.py:79 +#, fuzzy +msgid "?Group chat feature:No Password Required" +msgstr "Grup sohbetler" + +#: gajim/gtk/groupchat_info.py:80 +msgid "This group chat does not require a password upon entry" +msgstr "" + +#: gajim/gtk/groupchat_info.py:84 +#, fuzzy +msgid "?Group chat feature:Persistent" +msgstr "Grup sohbetler" + +#: gajim/gtk/groupchat_info.py:85 +msgid "This group chat persists even if there are no participants" +msgstr "" + +#: gajim/gtk/groupchat_info.py:89 +#, fuzzy +msgid "?Group chat feature:Temporary" +msgstr "?Group Chat Contact Role:Hiç biri" + +#: gajim/gtk/groupchat_info.py:90 +msgid "This group chat will be destroyed once the last participant left" +msgstr "" + +#: gajim/gtk/groupchat_info.py:94 +#, fuzzy +msgid "?Group chat feature:Archiving" +msgstr "Grup Sohbeti Daveti" + +#: gajim/gtk/groupchat_info.py:95 +#, fuzzy +msgid "Messages are archived on the server" +msgstr "%s: OID (-o) 0 olamaz\n" + +#: gajim/gtk/groupchat_info.py:205 +msgid "Website" +msgstr "" + +#: gajim/gtk/accounts.py:122 +#, fuzzy +msgid "Re-Login" +msgstr "%(nick)s durumu şimdi %(status)s" + +#: gajim/gtk/accounts.py:123 +#, fuzzy +msgid "Re-Login now?" +msgstr "%(nick)s durumu şimdi %(status)s" + +#: gajim/gtk/accounts.py:124 +msgid "To apply all changes instantly, you have to re-login." +msgstr "" + +#: gajim/gtk/accounts.py:128 +msgid "_Re-Login" +msgstr "" + +#: gajim/gtk/accounts.py:311 gajim/data/gui/server_info.ui:386 +msgid "Connection" +msgstr "Bağlantı" + +#: gajim/gtk/accounts.py:496 +#, fuzzy +msgid "Please check if Bonjour is installed." +msgstr "Paket sisteminin kilitli olup olmadığını kontrol edin." + +#: gajim/gtk/accounts.py:498 +#, fuzzy +msgid "Please check if Avahi is installed." +msgstr "Paket sisteminin kilitli olup olmadığını kontrol edin." + +#: gajim/gtk/accounts.py:537 +#, fuzzy +msgid "Disable Account" +msgstr "XMPP hesabı %s@%s" + +#: gajim/gtk/accounts.py:538 +#, fuzzy, python-format +msgid "Account %s is still connected" +msgstr "ping: Bağlanılan sunucuya PING at." + +#: gajim/gtk/accounts.py:539 +msgid "All chat and group chat windows will be closed." +msgstr "" + +#: gajim/gtk/accounts.py:543 +#, fuzzy +msgid "_Disable Account" +msgstr "XMPP hesabı %s@%s" + +#: gajim/gtk/accounts.py:614 +#, fuzzy +msgid "Label" +msgstr "etiket" + +#: gajim/gtk/accounts.py:618 gajim/data/gui/groupchat_control.ui:99 +#: gajim/data/gui/chat_control.ui:363 +msgid "Color" +msgstr "Renk" + +#: gajim/gtk/accounts.py:620 +msgid "Recognize your account by color" +msgstr "" + +#: gajim/gtk/accounts.py:622 +msgid "Login" +msgstr "" + +#: gajim/gtk/accounts.py:627 +#, fuzzy +msgid "Import Contacts" +msgstr "Kişi Davet _Et" + +#: gajim/gtk/accounts.py:636 gajim/gtk/accounts.py:865 +#, fuzzy +msgid "Connect on startup" +msgstr "Gajim açılırken bağlan" + +#: gajim/gtk/accounts.py:640 gajim/gtk/accounts.py:870 +#, fuzzy +msgid "Save conversations for all contacts" +msgstr "Her kişinin sohbet _kaydını kaydet" + +#: gajim/gtk/accounts.py:642 gajim/gtk/accounts.py:872 +msgid "Store conversations on the harddrive" +msgstr "" + +#: gajim/gtk/accounts.py:644 gajim/gtk/accounts.py:874 +#, fuzzy +msgid "Global Status" +msgstr "Bütün durumlar" + +#: gajim/gtk/accounts.py:646 +#, fuzzy +msgid "Synchronise the status of all accounts" +msgstr "Durum satırı okunamadı" + +#: gajim/gtk/accounts.py:648 +msgid "Remember Last Status" +msgstr "" + +#: gajim/gtk/accounts.py:650 +msgid "Restore status and status message of your last session" +msgstr "" + +#: gajim/gtk/accounts.py:653 +msgid "Use file transfer proxies" +msgstr "Dosya aktarım vekil sunucları kullan" + +#: gajim/gtk/accounts.py:670 +#, fuzzy +msgid "Forever" +msgstr "Asla" + +#: gajim/gtk/accounts.py:671 gajim/common/const.py:1110 +msgid "1 Day" +msgstr "" + +#: gajim/gtk/accounts.py:672 gajim/common/const.py:1112 +msgid "1 Week" +msgstr "" + +#: gajim/gtk/accounts.py:673 gajim/common/const.py:1113 +msgid "1 Month" +msgstr "" + +#: gajim/gtk/accounts.py:674 +msgid "3 Months" +msgstr "" + +#: gajim/gtk/accounts.py:675 +msgid "6 Months" +msgstr "" + +#: gajim/gtk/accounts.py:676 +msgid "1 Year" +msgstr "" + +#: gajim/gtk/accounts.py:686 +#, fuzzy +msgid "Idle Time" +msgstr "Üye olduğu süre:" + +#: gajim/gtk/accounts.py:688 +msgid "Disclose the time of your last activity" +msgstr "" + +#: gajim/gtk/accounts.py:690 +msgid "Local System Time" +msgstr "" + +#: gajim/gtk/accounts.py:692 +msgid "Disclose the local system time of the device Gajim runs on" +msgstr "" + +#: gajim/gtk/accounts.py:695 +#, fuzzy +msgid "Client / Operating System" +msgstr "%(nickname)s Girdi" + +#: gajim/gtk/accounts.py:697 +msgid "" +"Disclose information about the client and operating system you currently use" +msgstr "" + +#: gajim/gtk/accounts.py:700 +#, fuzzy +msgid "Ignore Unknown Contacts" +msgstr "Kişi Davet _Et" + +#: gajim/gtk/accounts.py:702 +msgid "Ignore everything from contacts not in your Roster" +msgstr "" + +#: gajim/gtk/accounts.py:705 +#, fuzzy +msgid "Send Message Receipts" +msgstr "Üyelik ileti _kaydet" + +#: gajim/gtk/accounts.py:707 +msgid "Tell your contacts if you received a message" +msgstr "" + +#: gajim/gtk/accounts.py:713 +#, fuzzy +msgid "Default for chats" +msgstr "Sohbet için Hazır" + +#: gajim/gtk/accounts.py:716 gajim/gtk/accounts.py:741 +msgid "Reset all chats to the current default value" +msgstr "" + +#: gajim/gtk/accounts.py:722 +#, fuzzy +msgid "Send Chatstate in Group Chats" +msgstr "Grup eklenemedi: grup zaten var" + +#: gajim/gtk/accounts.py:725 +#, fuzzy +msgid "Default for group chats" +msgstr "_Yeni Bir Grup Sohbeti" + +#: gajim/gtk/accounts.py:739 +#, fuzzy +msgid "Default for chats and private group chats" +msgstr "%s grup sohbete katıldı" + +#: gajim/gtk/accounts.py:747 +#, fuzzy +msgid "Keep Chat History" +msgstr "Son Kullanılan:" + +#: gajim/gtk/accounts.py:751 +msgid "How long Gajim should keep your chat history" +msgstr "" + +#: gajim/gtk/accounts.py:787 gajim/data/gui/manage_proxies.ui:337 +#, fuzzy +msgid "Proxy" +msgstr "Prox_y:" + +#: gajim/gtk/accounts.py:794 gajim/gtk/accounts.py:949 +#: gajim/data/gui/server_info.ui:20 +#, fuzzy +msgid "Hostname" +msgstr "_Bilgisayar adı:" + +#: gajim/gtk/accounts.py:795 +msgid "Manually set the hostname for the server" +msgstr "" + +#: gajim/gtk/accounts.py:798 gajim/data/gui/vcard_information_window.ui:72 +#, fuzzy +msgid "Resource" +msgstr "Kaynak:" + +#: gajim/gtk/accounts.py:801 gajim/gtk/accounts.py:917 +#: gajim/gtk/accounts.py:925 +#, fuzzy +msgid "Priority" +msgstr "Ön_celik:" + +#: gajim/gtk/accounts.py:804 +#, fuzzy +msgid "Use Unencrypted Connection" +msgstr "Tehlikeli bağlantı" + +#: gajim/gtk/accounts.py:806 gajim/common/config.py:273 +#, fuzzy +msgid "Use an unencrypted connection to the server" +msgstr "Şu anda bir veritabanına bağlı değilsiniz.\n" + +#: gajim/gtk/accounts.py:808 +#, fuzzy +msgid "Confirm Unencrypted Connection" +msgstr "Tehlikeli bağlantı" + +#: gajim/gtk/accounts.py:811 +msgid "Show a confirmation dialog before connecting unencrypted" +msgstr "" + +#: gajim/gtk/accounts.py:835 gajim/data/gui/zeroconf_information_window.ui:8 +#: gajim/data/gui/vcard_information_window.ui:8 +#: gajim/data/gui/subscription_request_window.ui:164 +msgid "Contact Information" +msgstr "Kişisel Bilgisi" + +#: gajim/gtk/accounts.py:837 +msgid "Request contact information (Mood, Activity, Tune, Location)" +msgstr "" + +#: gajim/gtk/accounts.py:840 +#, fuzzy +msgid "Accept all Contact Requests" +msgstr "Dosya Gönderme Soru" + +#: gajim/gtk/accounts.py:842 +msgid "Automatically accept all contact requests" +msgstr "" + +#: gajim/gtk/accounts.py:844 +#, fuzzy +msgid "Filetransfer Preference" +msgstr "Dosya Gönderim Hatası" + +#: gajim/gtk/accounts.py:846 +#, fuzzy +msgid "Upload Files" +msgstr "Dosya Farklı Kaydet..." + +#: gajim/gtk/accounts.py:847 +#, fuzzy +msgid "Send Files Directly" +msgstr "Dosya Farklı Kaydet..." + +#: gajim/gtk/accounts.py:848 +msgid "Preferred file transfer mechanism for file drag&drop on a chat window" +msgstr "" + +#: gajim/gtk/accounts.py:867 +#, fuzzy +msgid "Use environment variable" +msgstr "sistemin HTTP vekil ayarları kullanılır" + +#: gajim/gtk/accounts.py:876 +#, fuzzy +msgid "Synchronize the status of all accounts" +msgstr "Durum satırı okunamadı" + +#: gajim/gtk/accounts.py:886 +#, fuzzy +msgid "First Name" +msgstr "İlk Ad:" + +#: gajim/gtk/accounts.py:889 +#, fuzzy +msgid "Last Name" +msgstr "Soy Ad:" + +#: gajim/gtk/accounts.py:895 gajim/gtk/profile.py:32 gajim/gtk/vcard_grid.py:39 +#, fuzzy +msgid "Email" +msgstr "Yeni E-mail" + +#: gajim/gtk/accounts.py:913 +#, fuzzy +msgid "Adjust to status" +msgstr "Durumu a_yarla" + +#: gajim/gtk/accounts.py:945 +#, fuzzy +msgid "Enable" +msgstr "Etkin" + +#: gajim/gtk/accounts.py:953 +#, fuzzy +msgid "Port" +msgstr "_Porta:" + +#: gajim/gtk/accounts.py:957 gajim/data/gui/server_info.ui:250 +msgid "Type" +msgstr "Tip" + +#: gajim/gtk/accounts.py:963 +#, fuzzy +msgid "Connection Settings" +msgstr "Bağlantı" + +#: gajim/gtk/accounts.py:971 +#, fuzzy +msgid "Client Certificate" +msgstr "%(nickname)s Girdi" + +#: gajim/gtk/accounts.py:973 +msgid "PKCS12 Files" +msgstr "" + +#: gajim/gtk/accounts.py:975 +#, fuzzy +msgid "Encrypted Certificate" +msgstr "sertifika hükümsüz kılınmış" + +#: gajim/gtk/accounts.py:979 +#, fuzzy +msgid "Certificate Settings" +msgstr "sertifika hükümsüz kılınmış" + +#: gajim/gtk/accounts.py:987 gajim/data/gui/account_wizard.ui:255 +#: gajim/data/gui/bookmarks.ui:102 +#, fuzzy +msgid "Password" +msgstr "Parola:" + +#: gajim/gtk/accounts.py:991 +#, fuzzy +msgid "Save Password" +msgstr "Parolayı Değiştir" + +#: gajim/gtk/accounts.py:999 +#, fuzzy +msgid "Login Settings" +msgstr "Bağlantı Kurulamıyor" + +#: gajim/gtk/groupchat_config.py:39 +#, fuzzy +msgid "Group Chat Configuration" +msgstr "Grup Sohbeti Daveti" + +#: gajim/gtk/groupchat_config.py:104 gajim/common/helpers.py:283 +#: gajim/data/gui/groupchat_config.ui:40 +msgid "Member" +msgstr "Üye" + +#: gajim/gtk/groupchat_config.py:133 +#, fuzzy +msgid "A Group Chat needs at least one Owner" +msgstr "?Group Chat Contact Role:Hiç biri" + +#: gajim/gtk/groupchat_config.py:241 +msgid "You are not allowed to modify the affiliation of Admins and Owners" +msgstr "" + +#: gajim/gtk/groupchat_config.py:400 +msgid "An entry with this XMPP Address already exists" +msgstr "" + +#: gajim/gtk/server_info.py:142 gajim/data/gui/vcard_information_window.ui:89 +#: gajim/data/gui/preferences.ui:359 +msgid "Status" +msgstr "Durum" + +#: gajim/gtk/server_info.py:143 +msgid "Support" +msgstr "" + +#: gajim/gtk/server_info.py:144 +msgid "Security" +msgstr "" + +#: gajim/gtk/server_info.py:145 +msgid "Feedback" +msgstr "" + +#: gajim/gtk/server_info.py:146 +msgid "Abuse" +msgstr "" + +#: gajim/gtk/server_info.py:147 +msgid "Sales" +msgstr "" + +#: gajim/gtk/server_info.py:231 +#, python-format +msgid "%(days)s days, %(hours)s hours" +msgstr "" + +#: gajim/gtk/server_info.py:239 gajim/gtk/vcard_grid.py:115 +#: gajim/common/helpers.py:224 +#, fuzzy +msgid "Unknown" +msgstr "?OS:Unknown?OS:Bilinmez" + +#: gajim/gtk/server_info.py:360 +#, fuzzy +msgid "" +"\n" +"Disabled in preferences" +msgstr "Tercihler" + +#: gajim/gtk/history.py:79 +msgid "Conversation History" +msgstr "Sohbet Kayıtları" + +#: gajim/gtk/history.py:411 gajim/gtk/history.py:465 +#, fuzzy +msgid "Disk Error" +msgstr "Hata açıklaması…" + +#: gajim/gtk/history.py:576 +#, python-format +msgid "%(nick)s is now %(status)s: %(status_msg)s" +msgstr "" + +#: gajim/gtk/history.py:581 gajim/common/connection_handlers_events.py:414 +#, python-format +msgid "%(nick)s is now %(status)s" +msgstr "%(nick)s durumu şimdi %(status)s" + +#: gajim/gtk/history.py:589 +#, python-format +msgid "Error: %s" +msgstr "Hata: %s" + +#: gajim/gtk/history.py:593 +#, fuzzy, python-format +msgid "Status is now: %(status)s: %(status_msg)s" +msgstr "%(nick)s durumu şimdi %(status)s" + +#: gajim/gtk/history.py:597 +#, fuzzy, python-format +msgid "Status is now: %(status)s" +msgstr "%(nick)s durumu şimdi %(status)s" + +#: gajim/gtk/about.py:51 +#, fuzzy +msgid "A GTK XMPP client" +msgstr "Geçersiz Jabber kimliği" + +#: gajim/gtk/about.py:52 +#, fuzzy, python-format +msgid "GTK Version: %s" +msgstr "GTK+ Runtime Sürümü" + +#: gajim/gtk/about.py:53 +#, fuzzy, python-format +msgid "GLib Version: %s" +msgstr "GTK+ Runtime Sürümü" + +#: gajim/gtk/about.py:54 +#, fuzzy, python-format +msgid "PyGObject Version: %s" +msgstr "Kurulu Sürüm" + +#: gajim/gtk/about.py:55 +#, python-format +msgid "python-nbxmpp Version: %s" +msgstr "" + +#: gajim/gtk/about.py:59 +#, fuzzy +msgid "Current Developers" +msgstr "Şu Anki Geliştiriciler" + +#: gajim/gtk/about.py:60 +#, fuzzy +msgid "Past Developers" +msgstr "Şu Anki Geliştiriciler" + +#: gajim/gtk/about.py:61 +msgid "Artists" +msgstr "" + +#: gajim/gtk/about.py:65 +msgid "Last but not least" +msgstr "" + +#: gajim/gtk/about.py:66 +msgid "we would like to thank all the package maintainers." +msgstr "" + +#: gajim/gtk/about.py:67 +#, fuzzy +msgid "Thanks" +msgstr "Şükreden" + +#: gajim/gtk/about.py:69 +msgid "translator-credits" +msgstr "" + +#: gajim/gtk/search.py:95 gajim/gtk/search.py:191 +msgid "Search" +msgstr "Ara" + +#: gajim/gtk/search.py:101 +#, fuzzy +msgid "New Search" +msgstr "Ara" + +#: gajim/gtk/search.py:176 +msgid "Request Search Form" +msgstr "" + +#: gajim/gtk/search.py:236 +#, fuzzy +msgid "Search…" +msgstr "Ara" + +#: gajim/gtk/search.py:243 +#, fuzzy +msgid "Search Result" +msgstr "Ara" + +#: gajim/gtk/search.py:250 +#, fuzzy +msgid "No results found" +msgstr "Telefon numara:" + +#: gajim/gtk/features.py:40 gajim/data/gui/server_info.ui:447 +msgid "Features" +msgstr "Özellikler:" + +#: gajim/gtk/features.py:90 +msgid "Audio / Video" +msgstr "Ses / Video" + +#: gajim/gtk/features.py:92 +msgid "Enables Gajim to provide Audio and Video chats" +msgstr "" + +#: gajim/gtk/features.py:93 +msgid "" +"Requires: gir1.2-farstream-0.2, gir1.2-gstreamer-1.0, gstreamer1.0-libav, " +"gstreamer1.0-plugins-ugly" +msgstr "" + +#: gajim/gtk/features.py:95 gajim/gtk/features.py:145 +msgid "Feature not available under Windows" +msgstr "" + +#: gajim/gtk/features.py:97 +#, fuzzy +msgid "Automatic Status" +msgstr "Otomatik durum" + +#: gajim/gtk/features.py:99 +msgid "" +"Enables Gajim to measure your computer's idle time in order to set your " +"Status automatically" +msgstr "" + +#: gajim/gtk/features.py:101 +#, fuzzy +msgid "Requires: libxss" +msgstr "Çıktı dosyası için paylaşımlı kitaplık `%s' gerekli\n" + +#: gajim/gtk/features.py:102 gajim/gtk/features.py:123 +msgid "No additional requirements" +msgstr "" + +#: gajim/gtk/features.py:104 +#, fuzzy +msgid "Bonjour / Zeroconf (Serverless Chat)" +msgstr "Bonjour / Zeroconf" + +#: gajim/gtk/features.py:106 +msgid "" +"Enables Gajim to automatically detected clients in a local network for " +"serverless chats" +msgstr "" + +#: gajim/gtk/features.py:108 +#, fuzzy +msgid "Requires: gir1.2-avahi-0.6" +msgstr "Python Programlama Dili" + +#: gajim/gtk/features.py:109 +#, fuzzy, python-format +msgid "Requires: pybonjour and bonjour SDK running (%(url)s)" +msgstr "Dbus Denetim Altyapısı" + +#: gajim/gtk/features.py:112 +#, fuzzy +msgid "Location detection" +msgstr "Bağlantı" + +#: gajim/gtk/features.py:114 +msgid "" +"Enables Gajim to be location-aware, if the user decides to publish the " +"device’s location" +msgstr "" + +#: gajim/gtk/features.py:116 +#, fuzzy +msgid "Requires: geoclue" +msgstr " (yetki gerektirir)" + +#: gajim/gtk/features.py:117 +msgid "Feature is not available under Windows" +msgstr "" + +#: gajim/gtk/features.py:119 +#, fuzzy +msgid "Notification Sounds" +msgstr "Bildirimler" + +#: gajim/gtk/features.py:121 +msgid "Enables Gajim to play sounds for various notifications" +msgstr "" + +#: gajim/gtk/features.py:122 +#, fuzzy +msgid "Requires: gsound" +msgstr "Dbus Denetim Altyapısı" + +#: gajim/gtk/features.py:125 +#, fuzzy +msgid "Secure Password Storage" +msgstr "Parolayı Değiştir" + +#: gajim/gtk/features.py:127 +msgid "" +"Enables Gajim to store Passwords securely instead of storing them in " +"plaintext" +msgstr "" + +#: gajim/gtk/features.py:129 +#, fuzzy +msgid "Requires: gnome-keyring or kwallet" +msgstr "Paket Yöneticisi" + +#: gajim/gtk/features.py:130 +msgid "Windows Credential Vault is used for secure password storage" +msgstr "" + +#: gajim/gtk/features.py:133 +#, fuzzy +msgid "Spell Checker" +msgstr "Tamamlanmamış yazım denetimi kaydı" + +#: gajim/gtk/features.py:135 +msgid "Enables Gajim to spell check your messages while composing" +msgstr "" + +#: gajim/gtk/features.py:137 gajim/gtk/features.py:138 +#, fuzzy +msgid "Requires: Gspell" +msgstr " (yetki gerektirir)" + +#: gajim/gtk/features.py:140 +msgid "UPnP-IGD Port Forwarding" +msgstr "" + +#: gajim/gtk/features.py:142 +msgid "" +"Enables Gajim to request your router to forward ports for file transfers" +msgstr "" + +#: gajim/gtk/features.py:144 +#, fuzzy +msgid "Requires: gir1.2-gupnpigd-1.0" +msgstr "Python Programlama Dili" + +#: gajim/gtk/features.py:200 +#, fuzzy +msgid "Disabled in Preferences" +msgstr "Tercihler" + +#: gajim/gtk/dialogs.py:55 gajim/gtk/filechoosers.py:179 +#: gajim/data/gui/groupchat_control.ui:674 +#: gajim/data/gui/groupchat_control.ui:766 +#: gajim/data/gui/groupchat_control.ui:882 +#: gajim/data/gui/groupchat_control.ui:974 +#: gajim/data/gui/groupchat_control.ui:1419 +#: gajim/data/gui/groupchat_control.ui:1545 +#: gajim/data/gui/groupchat_control.ui:1671 +#: gajim/data/gui/groupchat_control.ui:1842 +#: gajim/data/gui/groupchat_control.ui:1920 gajim/data/gui/filetransfers.ui:30 +#: gajim/data/gui/add_new_contact_window.ui:451 +#: gajim/data/gui/filetransfer_progress.ui:172 gajim/data/gui/profile.ui:260 +#: gajim/data/gui/passphrase_dialog.ui:29 +msgid "_Cancel" +msgstr "_İptal" + +#: gajim/gtk/dialogs.py:65 gajim/data/gui/history_manager.ui:20 +#, fuzzy +msgid "_Delete" +msgstr "Sil" + +#: gajim/gtk/dialogs.py:216 +#, fuzzy +msgid "Certificate" +msgstr "%(nickname)s Girdi" + +#: gajim/gtk/dialogs.py:230 +#, fuzzy, python-format +msgid "" +"Certificate for \n" +"%s" +msgstr "%s hesapına" + +#: gajim/gtk/dialogs.py:279 +msgid "Issued to\n" +msgstr "" + +#: gajim/gtk/dialogs.py:280 gajim/gtk/dialogs.py:285 +msgid "Common Name (CN): " +msgstr "" + +#: gajim/gtk/dialogs.py:281 gajim/gtk/dialogs.py:286 +msgid "Organization (O): " +msgstr "" + +#: gajim/gtk/dialogs.py:282 gajim/gtk/dialogs.py:287 +msgid "Organizational Unit (OU): " +msgstr "" + +#: gajim/gtk/dialogs.py:283 +#, fuzzy +msgid "Serial Number: " +msgstr "GG Numara:" + +#: gajim/gtk/dialogs.py:284 +msgid "Issued by\n" +msgstr "" + +#: gajim/gtk/dialogs.py:288 +msgid "Validity\n" +msgstr "" + +#: gajim/gtk/dialogs.py:289 +msgid "Issued on: " +msgstr "" + +#: gajim/gtk/dialogs.py:290 +msgid "Expires on: " +msgstr "" + +#: gajim/gtk/dialogs.py:291 +msgid "SHA-1:" +msgstr "" + +#: gajim/gtk/dialogs.py:293 +msgid "SHA-256:" +msgstr "" + +#: gajim/gtk/util.py:591 +msgid "Unknown Artist" +msgstr "Bilinmeyen Sanatçı" + +#: gajim/gtk/util.py:592 +msgid "Unknown Title" +msgstr "Bilinmeyen Parça" + +#: gajim/gtk/util.py:593 +msgid "Unknown Source" +msgstr "Bilinmeyen Kaynak" + +#: gajim/gtk/util.py:595 +#, python-format +msgid "" +"\"%(title)s\" by %(artist)s\n" +"from %(source)s" +msgstr "" + +#: gajim/gtk/profile.py:28 gajim/gtk/vcard_grid.py:33 +#: gajim/data/gui/vcard_information_window.ui:411 +#, fuzzy +msgid "Full Name" +msgstr "Bütün isim" + +#: gajim/gtk/profile.py:29 gajim/gtk/vcard_grid.py:35 +#: gajim/data/gui/vcard_information_window.ui:770 +#, fuzzy +msgid "Birthday" +msgstr "Doğumgünü:" + +#: gajim/gtk/profile.py:30 gajim/gtk/vcard_grid.py:36 +#, fuzzy +msgid "Gender" +msgstr "Gönderen" + +#: gajim/gtk/profile.py:31 gajim/data/gui/groupchat_info_scrolled.ui:16 +#, fuzzy +msgid "Address" +msgstr "_Adres:" + +#: gajim/gtk/profile.py:34 gajim/gtk/vcard_grid.py:38 +#: gajim/data/gui/vcard_information_window.ui:720 +#: gajim/data/gui/vcard_information_window.ui:1396 +#, fuzzy +msgid "Phone No." +msgstr "Telefon" + +#: gajim/gtk/profile.py:35 +msgid "?profile:Organisation" +msgstr "" + +#: gajim/gtk/profile.py:36 gajim/gtk/vcard_grid.py:41 +msgid "?profile:Title" +msgstr "" + +#: gajim/gtk/profile.py:37 gajim/gtk/vcard_grid.py:42 +#, fuzzy +msgid "?profile:Role" +msgstr "dosya" + +#: gajim/gtk/profile.py:38 gajim/gtk/vcard_grid.py:45 +msgid "URL" +msgstr "" + +#: gajim/gtk/profile.py:39 gajim/gtk/vcard_grid.py:46 +#, fuzzy +msgid "?profile:Key" +msgstr "dosya" + +#: gajim/gtk/profile.py:299 gajim/gtk/profile.py:301 +#: gajim/data/gui/profile.ui:98 gajim/data/gui/profile.ui:110 +msgid "Everyone" +msgstr "" + +#: gajim/gtk/profile.py:299 gajim/gtk/profile.py:301 +#: gajim/data/gui/shortcuts_window.ui:108 gajim/data/gui/groupchat_invite.ui:83 +msgid "Contacts" +msgstr "Kişiler" + +#: gajim/gtk/filechoosers.py:88 +#, fuzzy +msgid "Choose File to Send…" +msgstr "%s size bir dosya göndermek istiyor:" + +#: gajim/gtk/filechoosers.py:94 +#, fuzzy +msgid "Choose Avatar…" +msgstr "Resim seç" + +#: gajim/gtk/filechoosers.py:98 +#, fuzzy +msgid "PNG files" +msgstr "Tüm dosyalar" + +#: gajim/gtk/filechoosers.py:99 +#, fuzzy +msgid "JPEG files" +msgstr "Tüm dosyalar" + +#: gajim/gtk/filechoosers.py:100 +#, fuzzy +msgid "SVG files" +msgstr "Gönder %s" + +#: gajim/gtk/filechoosers.py:102 +msgid "Images" +msgstr "Resimler" + +#: gajim/gtk/filechoosers.py:139 +#, fuzzy +msgid "Choose Archive" +msgstr "Resim seç" + +#: gajim/gtk/filechoosers.py:141 +#, fuzzy +msgid "ZIP files" +msgstr "Tüm dosyalar" + +#: gajim/gtk/filechoosers.py:146 +#, fuzzy +msgid "Save File as…" +msgstr "Dosya Farklı Kaydet..." + +#: gajim/gtk/filechoosers.py:180 +#, fuzzy +msgid "_Open" +msgstr "OpenPGP:" + +#: gajim/gtk/blocking.py:38 +#, fuzzy, python-format +msgid "Blocking List for %s" +msgstr "Sohbet için Hazır" + +#: gajim/gtk/blocking.py:64 +#, fuzzy +msgid "Error!" +msgstr "Hata" + +#: gajim/gtk/service_registration.py:143 gajim/gtk/service_registration.py:157 +#: gajim/gtk/service_registration.py:164 +#, fuzzy +msgid "Register" +msgstr "_Kayıt Ol" + +#: gajim/gtk/service_registration.py:193 gajim/gtk/service_registration.py:205 +#, fuzzy +msgid "Registration successful" +msgstr "Onay başarılı oldu." + +#: gajim/gtk/service_registration.py:216 +msgid "Registration failed" +msgstr "Kayıt başarısız" + +#: gajim/gtk/vcard_grid.py:37 +#, fuzzy +msgid "?profile:Address" +msgstr "_Adres:" + +#: gajim/gtk/vcard_grid.py:40 +#, fuzzy +msgid "IM Address" +msgstr "_Adres:" + +#: gajim/gtk/vcard_grid.py:43 +#, fuzzy +msgid "Organisation" +msgstr "Telefondayım" + +#: gajim/gtk/vcard_grid.py:44 +#, fuzzy +msgid "?profile:Note" +msgstr "dosya" + +#: gajim/gtk/vcard_grid.py:51 +msgid "Your public key or authentication certificate" +msgstr "" + +#: gajim/gtk/vcard_grid.py:59 +msgid "Post Office Box" +msgstr "" + +#: gajim/gtk/vcard_grid.py:60 gajim/data/gui/vcard_information_window.ui:489 +#: gajim/data/gui/vcard_information_window.ui:1179 +#, fuzzy +msgid "Street" +msgstr "Vurgulu" + +#: gajim/gtk/vcard_grid.py:61 +#, fuzzy +msgid "Extended Address" +msgstr "Ekstra Adres:" + +#: gajim/gtk/vcard_grid.py:62 gajim/data/gui/vcard_information_window.ui:505 +#: gajim/data/gui/vcard_information_window.ui:1195 +msgid "City" +msgstr "" + +#: gajim/gtk/vcard_grid.py:63 gajim/data/gui/vcard_information_window.ui:521 +#: gajim/data/gui/vcard_information_window.ui:1211 +#, fuzzy +msgid "State" +msgstr "Durum" + +#: gajim/gtk/vcard_grid.py:64 gajim/data/gui/vcard_information_window.ui:595 +#: gajim/data/gui/vcard_information_window.ui:1244 +#, fuzzy +msgid "Postal Code" +msgstr "Posta Kodu:" + +#: gajim/gtk/vcard_grid.py:65 gajim/data/gui/vcard_information_window.ui:611 +#: gajim/data/gui/vcard_information_window.ui:1260 +#, fuzzy +msgid "Country" +msgstr "Hesap" + +#: gajim/gtk/vcard_grid.py:111 +msgid "Male" +msgstr "" + +#: gajim/gtk/vcard_grid.py:112 +msgid "Female" +msgstr "" + +#: gajim/gtk/vcard_grid.py:113 +msgid "?Gender:Other" +msgstr "" + +#: gajim/gtk/vcard_grid.py:114 +#, fuzzy +msgid "?Gender:None" +msgstr "Gönderen" + +#: gajim/gtk/vcard_grid.py:121 gajim/gtk/vcard_grid.py:428 +#, fuzzy +msgid "Home" +msgstr "Ana Sayfa:" + +#: gajim/gtk/vcard_grid.py:122 gajim/gtk/vcard_grid.py:429 +#: gajim/data/gui/vcard_information_window.ui:1452 +msgid "Work" +msgstr "İş" + +#: gajim/gtk/vcard_grid.py:598 +#, fuzzy +msgid "YYYY-MM-DD" +msgstr "geçersiz saat, format SS:DD şeklinde olmalı" + +#: gajim/gtk/adhoc.py:91 +#, fuzzy +msgid "Finish" +msgstr "_Bitir" + +#: gajim/gtk/adhoc.py:96 gajim/gtk/adhoc.py:283 +#, fuzzy +msgid "Commands" +msgstr "komut" + +#: gajim/gtk/adhoc.py:107 +#, fuzzy +msgid "Previous" +msgstr "Kıskanç" + +#: gajim/gtk/adhoc.py:112 +#, fuzzy +msgid "Execute" +msgstr "Komuta _Yürüt" + +#: gajim/gtk/adhoc.py:196 +#, fuzzy +msgid "No commands available" +msgstr "Hiç bir hesap bulunmiyor" + +#: gajim/gtk/adhoc.py:244 +#, fuzzy +msgid "Request Command List" +msgstr "Komuta _Yürüt" + +#: gajim/gtk/adhoc.py:259 +#, fuzzy +msgid "Executing…" +msgstr "Komuta _Yürüt" + +#: gajim/gtk/adhoc.py:266 +#, fuzzy +msgid "Command List" +msgstr "Geçersiz Liste İsmi" + +#: gajim/gtk/adhoc.py:321 gajim/data/gui/manage_proxies.ui:255 +#, fuzzy +msgid "Settings" +msgstr "Bağlantı Kurulamıyor" + +#: gajim/gtk/adhoc.py:386 +#, fuzzy +msgid "Finished" +msgstr "_Bitir" + +#: gajim/gtk/adhoc.py:455 +#, fuzzy +msgid "Execution failed" +msgstr "Bağlantı Kurulamıyor" + +#: gajim/common/jingle_rtp.py:133 +#, fuzzy, python-format +msgid "%s configuration error" +msgstr "Hata açıklaması…" + +#: gajim/common/jingle_rtp.py:134 +#, python-format +msgid "" +"Couldn’t set up %(text)s. Check your configuration.\n" +"Pipeline:\n" +"%(pipeline)s\n" +"Error:\n" +"%(error)s" +msgstr "" + +#: gajim/common/jingle_rtp.py:416 +msgid "audio input" +msgstr "ses girdisi" + +#: gajim/common/jingle_rtp.py:421 +msgid "audio output" +msgstr "ses çıktısı" + +#: gajim/common/jingle_rtp.py:489 +msgid "video input" +msgstr "video girdisi" + +#: gajim/common/setting_values.py:300 gajim/common/config.py:356 +#: gajim/common/const.py:387 +#, fuzzy +msgid "Sleeping" +msgstr "Uyuyan bir kapibara." + +#: gajim/common/setting_values.py:301 +msgid "ZZZZzzzzzZZZZZ" +msgstr "" + +#: gajim/common/setting_values.py:306 gajim/common/config.py:357 +#, fuzzy +msgid "Back soon" +msgstr "Geri Düğme" + +#: gajim/common/setting_values.py:307 gajim/common/config.py:357 +#, fuzzy +msgid "Back in some minutes." +msgstr "Bekleme süresi (dakikalar)" + +#: gajim/common/setting_values.py:309 gajim/common/config.py:358 +#: gajim/common/const.py:353 +msgid "Eating" +msgstr "Yemelik" + +#: gajim/common/setting_values.py:310 +#, fuzzy +msgid "I’m eating." +msgstr " Çalışılıyorum" + +#: gajim/common/setting_values.py:314 gajim/common/config.py:359 +msgid "Movie" +msgstr "Filim" + +#: gajim/common/setting_values.py:315 +#, fuzzy +msgid "I’m watching a movie." +msgstr "Bir filim bakiyorum." + +#: gajim/common/setting_values.py:319 gajim/common/config.py:360 +#: gajim/common/const.py:420 +msgid "Working" +msgstr " Çalışılıyor" + +#: gajim/common/setting_values.py:320 +#, fuzzy +msgid "I’m working." +msgstr " Çalışılıyorum" + +#: gajim/common/setting_values.py:324 gajim/common/config.py:362 +msgid "Out" +msgstr "Dış" + +#: gajim/common/setting_values.py:325 +#, fuzzy +msgid "I’m out enjoying life." +msgstr "%(nickname)s Çıktı" + +#: gajim/common/setting_values.py:393 gajim/common/config.py:84 +msgid "" +"Allow to hide the contact list window even if the notification area icon is " +"not shown." +msgstr "" + +#: gajim/common/setting_values.py:394 gajim/common/config.py:95 +msgid "" +"'always' - print time for every message.\n" +"'sometimes' - print time every print_ichat_every_foo_minutes minute.\n" +"'never' - never print time." +msgstr "" + +#: gajim/common/setting_values.py:395 gajim/common/config.py:99 +msgid "Treat * / _ pairs as possible formatting characters." +msgstr "" + +#: gajim/common/setting_values.py:396 gajim/common/config.py:100 +msgid "" +"If enabled, do not remove */_ . So *abc* will be bold but with * * not " +"removed." +msgstr "" + +#: gajim/common/setting_values.py:397 gajim/common/config.py:103 +msgid "" +"Character to add after nickname when using nickname completion (tab) in " +"group chat." +msgstr "" + +#: gajim/common/setting_values.py:398 gajim/common/config.py:125 +msgid "" +"If enabled, Gajim will save the contact list window position when hiding it, " +"and restore it when showing the contact list window again." +msgstr "" + +#: gajim/common/setting_values.py:399 gajim/common/config.py:131 +msgid "Place the contact list on the right in single window mode" +msgstr "" + +#: gajim/common/setting_values.py:400 gajim/common/config.py:137 +msgid "" +"This option lets you customize the timestamp that is printed in " +"conversation. For example '[%H:%M] ' will show '[hour:minute] '. See python " +"doc on strftime for full documentation (https://docs.python.org/3/library/" +"time.html#time.strftime)." +msgstr "" + +#: gajim/common/setting_values.py:401 gajim/common/config.py:138 +msgid "Characters that are printed before the nickname in conversations." +msgstr "" + +#: gajim/common/setting_values.py:402 gajim/common/config.py:139 +msgid "Characters that are printed after the nickname in conversations." +msgstr "" + +#: gajim/common/setting_values.py:403 gajim/common/config.py:140 +msgid "If enabled, Gajim will add * and [n] in contact list window title." +msgstr "" + +#: gajim/common/setting_values.py:404 gajim/common/config.py:141 +msgid "" +"Number of messages from chat history to be restored when a chat tab/window " +"is reopened." +msgstr "" + +#: gajim/common/setting_values.py:405 gajim/common/config.py:142 +msgid "" +"How far back in time (minutes) chat history is restored. -1 means no limit." +msgstr "" + +#: gajim/common/setting_values.py:406 gajim/common/config.py:143 +msgid "Send message on Ctrl+Enter and make a new line with Enter." +msgstr "" + +#: gajim/common/setting_values.py:407 gajim/common/config.py:145 +msgid "How many lines to store for Ctrl+KeyUP (previously sent messages)." +msgstr "" + +#: gajim/common/setting_values.py:409 gajim/common/config.py:148 +#, python-format +msgid "" +"Either a custom URL with %%s in it (where %%s is the word/phrase) or " +"'WIKTIONARY' (which means use Wikitionary)." +msgstr "" + +#: gajim/common/setting_values.py:412 gajim/common/config.py:151 +msgid "If checked, Gajim can be controlled remotely using gajim-remote." +msgstr "" + +#: gajim/common/setting_values.py:413 +msgid "" +"When not printing time for every message ('print_time'==sometimes, print it " +"every x minutes." +msgstr "" + +#: gajim/common/setting_values.py:414 gajim/common/config.py:153 +msgid "Ask before pasting an image." +msgstr "" + +#: gajim/common/setting_values.py:415 gajim/common/config.py:154 +msgid "Ask before closing a group chat tab/window." +msgstr "" + +#: gajim/common/setting_values.py:416 gajim/common/config.py:155 +msgid "" +"Ask before closing tabbed chat window if there are chats that can lose data " +"(chat, private chat, group chat that will not be minimized)." +msgstr "" + +#: gajim/common/setting_values.py:418 gajim/common/config.py:158 +msgid "" +"List of send hosts (comma separated) in addition to local interfaces for " +"file transfers (in case of address translation/port forwarding)." +msgstr "" + +#: gajim/common/setting_values.py:419 gajim/common/config.py:159 +msgid "IEC standard says KiB = 1024 bytes, KB = 1000 bytes." +msgstr "" + +#: gajim/common/setting_values.py:421 gajim/common/config.py:161 +msgid "Notify of events in the notification area." +msgstr "" + +#: gajim/common/setting_values.py:422 gajim/common/config.py:166 +msgid "Show tab when only one conversation?" +msgstr "" + +#: gajim/common/setting_values.py:423 gajim/common/config.py:167 +msgid "Show tabbed notebook border in chat windows?" +msgstr "" + +#: gajim/common/setting_values.py:424 gajim/common/config.py:168 +#, fuzzy +msgid "Show close button in tab?" +msgstr "Başlık çubuğu içeriğini sekme çubuğu etiketlerinde göster" + +#: gajim/common/setting_values.py:425 gajim/common/config.py:169 +msgid "Preview new messages in notification popup?" +msgstr "" + +#: gajim/common/setting_values.py:426 gajim/common/config.py:172 +msgid "" +"A list of words (semicolon separated) that will be highlighted in group " +"chats." +msgstr "" + +#: gajim/common/setting_values.py:427 gajim/common/config.py:174 +msgid "" +"If enabled, Gajim hides the contact list window when pressing the X button " +"instead of minimizing into the notification area." +msgstr "" + +#: gajim/common/setting_values.py:432 gajim/common/config.py:181 +msgid "" +"Define the position of avatars in the contact list. Can be 'left' or 'right'." +msgstr "" + +#: gajim/common/setting_values.py:433 gajim/common/config.py:186 +msgid "Don't show contact list window in the system taskbar." +msgstr "" + +#: gajim/common/setting_values.py:434 gajim/common/config.py:187 +msgid "" +"If enabled, Gajim makes the window flash (the default behaviour in most " +"Window Managers) when holding pending events." +msgstr "" + +#: gajim/common/setting_values.py:436 gajim/common/config.py:193 +msgid "If enabled, pressing Esc closes a tab/window." +msgstr "" + +#: gajim/common/setting_values.py:437 gajim/common/config.py:194 +#, fuzzy +msgid "Hides the banner in a group chat window." +msgstr "%s mevcut bir grubun ismi değil" + +#: gajim/common/setting_values.py:438 gajim/common/config.py:195 +#, fuzzy +msgid "Hides the banner in a 1:1 chat window." +msgstr "Konuşma penceresinde tüm düğmeleri gizle" + +#: gajim/common/setting_values.py:439 gajim/common/config.py:196 +msgid "Hides the group chat participants list in a group chat window." +msgstr "" + +#: gajim/common/setting_values.py:440 gajim/common/config.py:197 +msgid "" +"In a chat, show the nickname at the beginning of a line only when it's not " +"the same person talking as in the previous message." +msgstr "" + +#: gajim/common/setting_values.py:441 gajim/common/config.py:198 +msgid "Indentation when using merge consecutive nickname." +msgstr "" + +#: gajim/common/setting_values.py:442 gajim/common/config.py:199 +msgid "" +"Ctrl+Tab switches to the next composing tab when there are no tabs with " +"messages pending." +msgstr "" + +#: gajim/common/setting_values.py:443 gajim/common/config.py:200 +msgid "" +"Show a confirmation dialog to create metacontacts? Empty string means never " +"show the dialog." +msgstr "" + +#: gajim/common/setting_values.py:444 gajim/common/config.py:201 +msgid "" +"Show a confirmation dialog to block a contact? Empty string means never show " +"the dialog." +msgstr "" + +#: gajim/common/setting_values.py:445 gajim/common/config.py:202 +msgid "" +"If enabled, you will be able to set a negative priority to your account in " +"the Accounts window. BE CAREFUL, when you are logged in with a negative " +"priority, you will NOT receive any message from your server." +msgstr "" + +#: gajim/common/setting_values.py:446 gajim/common/config.py:203 +msgid "" +"If enabled, Gajim will show both the number of online and total contacts in " +"account rows as well as in group rows." +msgstr "" + +#: gajim/common/setting_values.py:447 gajim/common/config.py:204 +msgid "" +"If enabled, Gajim will scroll and select the contact who sent you the last " +"message, if the chat window is not already opened." +msgstr "" + +#: gajim/common/setting_values.py:448 gajim/common/config.py:205 +msgid "Time of inactivity needed before the change status window closes down." +msgstr "" + +#: gajim/common/setting_values.py:449 gajim/common/config.py:206 +msgid "" +"Maximum number of lines that are printed in conversations. Oldest lines are " +"cleared." +msgstr "" + +#: gajim/common/setting_values.py:450 gajim/common/config.py:208 +msgid "" +"If enabled, completion in group chats will be like a shell auto-completion." +msgstr "" + +#: gajim/common/setting_values.py:451 gajim/common/config.py:217 +msgid "" +"If enabled, Gajim will try to use a STUN server when using Jingle. The one " +"in 'stun_server' option, or the one given by the XMPP server." +msgstr "" + +#: gajim/common/setting_values.py:452 gajim/common/config.py:218 +msgid "STUN server to use when using Jingle" +msgstr "" + +#: gajim/common/setting_values.py:453 gajim/common/config.py:220 +msgid "If enabled, Gajim will ignore incoming attention requests ('wizz')." +msgstr "" + +#: gajim/common/setting_values.py:454 gajim/common/config.py:221 +msgid "" +"If enabled, Gajim will reopen chat windows that were opened last time Gajim " +"was closed." +msgstr "" + +#: gajim/common/setting_values.py:455 gajim/common/config.py:224 +msgid "If enabled, Gajim will execute XEP-0146 Commands." +msgstr "" + +#: gajim/common/setting_values.py:458 gajim/common/config.py:236 +msgid "API Preferences. Possible values: 'http', 'iq'" +msgstr "" + +#: gajim/common/setting_values.py:459 gajim/common/config.py:237 +msgid "If enabled, Gajim will execute commands (/show, /sh, /execute, /exec)." +msgstr "" + +#: gajim/common/setting_values.py:460 gajim/common/config.py:238 +msgid "Width of group chat roster in pixel" +msgstr "" + +#: gajim/common/setting_values.py:461 gajim/common/config.py:239 +#, fuzzy +msgid "Force Bookmark 2 usage" +msgstr "Bu odayi yer imle" + +#: gajim/common/multimedia_helpers.py:51 +#, fuzzy +msgid "Default device" +msgstr "Ses giriş aygıtı" + +#: gajim/common/multimedia_helpers.py:72 +msgid "Audio test" +msgstr "Ses testi" + +#: gajim/common/multimedia_helpers.py:75 gajim/common/multimedia_helpers.py:91 +#: gajim/common/multimedia_helpers.py:105 +#, fuzzy +msgid "Autodetect" +msgstr "Otomatik belirle" + +#: gajim/common/multimedia_helpers.py:78 gajim/common/multimedia_helpers.py:93 +#, python-format +msgid "ALSA: %s" +msgstr "ALSA: %s" + +#: gajim/common/multimedia_helpers.py:81 gajim/common/multimedia_helpers.py:95 +#, fuzzy, python-format +msgid "Pulse: %s" +msgstr "Dosya: %s" + +#: gajim/common/multimedia_helpers.py:89 +#, fuzzy +msgid "Fake audio output" +msgstr "Ses çıkış aygıtı" + +#: gajim/common/multimedia_helpers.py:102 +msgid "Video test" +msgstr "Video testi" + +#: gajim/common/multimedia_helpers.py:107 +msgid "Pipewire" +msgstr "" + +#: gajim/common/multimedia_helpers.py:109 +#, python-format +msgid "V4L2: %s" +msgstr "V4L2: %s" + +#: gajim/common/multimedia_helpers.py:111 +msgid "X11" +msgstr "" + +#: gajim/common/multimedia_helpers.py:113 +msgid "Windows" +msgstr "" + +#: gajim/common/multimedia_helpers.py:115 +msgid "macOS" +msgstr "" + +#: gajim/common/helpers.py:176 +msgid "_Busy" +msgstr "_Meşgul" + +#: gajim/common/helpers.py:178 +msgid "Busy" +msgstr "Meşgul" + +#: gajim/common/helpers.py:181 +msgid "_Not Available" +msgstr "_Mevcut Değil" + +#: gajim/common/helpers.py:183 +msgid "Not Available" +msgstr "Mevcut Değil" + +#: gajim/common/helpers.py:186 +msgid "_Free for Chat" +msgstr "Sohbet için _Hazır" + +#: gajim/common/helpers.py:188 +msgid "Free for Chat" +msgstr "Sohbet için Hazır" + +#: gajim/common/helpers.py:191 +#, fuzzy +msgid "?user status:_Available" +msgstr "?transfer status:Duraklanıldı" + +#: gajim/common/helpers.py:193 +#, fuzzy +msgid "?user status:Available" +msgstr "?transfer status:Duraklanıldı" + +#: gajim/common/helpers.py:195 +msgid "Connecting" +msgstr "Connecting" + +#: gajim/common/helpers.py:198 +msgid "A_way" +msgstr "_Uzakta" + +#: gajim/common/helpers.py:203 +msgid "_Offline" +msgstr "Bağlı _değil" + +#: gajim/common/helpers.py:205 +msgid "Offline" +msgstr "Bağlı değil" + +#: gajim/common/helpers.py:209 +msgid "?contact has status:Unknown" +msgstr "?contact has status:Bilinmez" + +#: gajim/common/helpers.py:211 +msgid "?contact has status:Has errors" +msgstr "?contact has status:Hatalı" + +#: gajim/common/helpers.py:216 +msgid "?Subscription we already have:None" +msgstr "?Subscription we already have:Hiç biri" + +#: gajim/common/helpers.py:218 +msgid "To" +msgstr "Kime" + +#: gajim/common/helpers.py:220 gajim/data/gui/groups_post_window.ui:33 +msgid "From" +msgstr "Gönderen" + +#: gajim/common/helpers.py:222 +msgid "Both" +msgstr "İkisi de" + +#: gajim/common/helpers.py:230 +msgid "?Ask (for Subscription):None" +msgstr "?Ask (for Subscription):Hiç biri" + +#: gajim/common/helpers.py:232 +msgid "Subscribe" +msgstr "Üye yap" + +#: gajim/common/helpers.py:244 +msgid "?Group Chat Contact Role:None" +msgstr "?Group Chat Contact Role:Hiç biri" + +#: gajim/common/helpers.py:247 +msgid "Moderators" +msgstr "Moderatör" + +#: gajim/common/helpers.py:249 +msgid "Moderator" +msgstr "Moderatör" + +#: gajim/common/helpers.py:252 gajim/data/gui/groupchat_info_scrolled.ui:182 +msgid "Participants" +msgstr "Katılanlar" + +#: gajim/common/helpers.py:254 +msgid "Participant" +msgstr "Katılan" + +#: gajim/common/helpers.py:257 +msgid "Visitors" +msgstr "Ziyaretçiler" + +#: gajim/common/helpers.py:259 +msgid "Visitor" +msgstr "Ziyaretçi" + +#: gajim/common/helpers.py:268 +msgid "?Group Chat Contact Affiliation:None" +msgstr "?Group Chat Contact Affiliation:Hiç biri" + +#: gajim/common/helpers.py:271 +#, fuzzy +msgid "Owners" +msgstr "Sahibi" + +#: gajim/common/helpers.py:273 gajim/data/gui/groupchat_config.ui:32 +msgid "Owner" +msgstr "Sahibi" + +#: gajim/common/helpers.py:276 +#, fuzzy +msgid "Administrators" +msgstr "Yönetici" + +#: gajim/common/helpers.py:278 +msgid "Administrator" +msgstr "Yönetici" + +#: gajim/common/helpers.py:281 +#, fuzzy +msgid "Members" +msgstr "Üye" + +#: gajim/common/helpers.py:320 +msgid "is paying attention to the conversation" +msgstr "sobete dikkat veriyor" + +#: gajim/common/helpers.py:322 +msgid "is doing something else" +msgstr "başka bir şey yapıyor" + +#: gajim/common/helpers.py:324 +#, fuzzy +msgid "is composing a message…" +msgstr "ilet yazıyor…" + +#: gajim/common/helpers.py:327 +msgid "paused composing a message" +msgstr "ilet yazarken durdu" + +#: gajim/common/helpers.py:329 +msgid "has closed the chat window or tab" +msgstr "" + +#: gajim/common/helpers.py:719 gajim/common/helpers.py:727 +#, fuzzy, python-format +msgid "%d message pending" +msgid_plural "%d messages pending" +msgstr[0] "Ileti alınıyor" + +#: gajim/common/helpers.py:736 +#, fuzzy, python-format +msgid "from group chat %s" +msgstr "grupdaki herkez" + +#: gajim/common/helpers.py:739 gajim/common/helpers.py:760 +#, fuzzy, python-format +msgid "from user %s" +msgstr " gönderen kişi %s" + +#: gajim/common/helpers.py:741 +#, fuzzy, python-format +msgid "from %s" +msgstr " gönderen %s" + +#: gajim/common/helpers.py:747 gajim/common/helpers.py:755 +#, fuzzy, python-format +msgid "%d event pending" +msgid_plural "%d events pending" +msgstr[0] "Kişi listesindeki olayları göster" + +#: gajim/common/helpers.py:828 gajim/data/gui/add_new_contact_window.ui:20 +msgid "I would like to add you to my contact list." +msgstr "Seni kişi listeme eklemek isterdim" + +#: gajim/common/helpers.py:830 +msgid "Hello, I am $name." +msgstr "Merhaba, benim adım $name." + +#: gajim/common/config.py:71 +#, fuzzy +msgid "Play sound even when being busy." +msgstr "Kişi meşgulsa ses çal" + +#: gajim/common/config.py:73 +#, fuzzy +msgid "Show only online and free for chat contacts in the contact list." +msgstr "Kişi listede sadece mevcut ile sohbete hazır olanları göster" + +#: gajim/common/config.py:76 +msgid "Time in minutes, after which your status changes to away." +msgstr "" + +#: gajim/common/config.py:77 +msgid "$S (Away: Idle more than $T min)" +msgstr "" + +#: gajim/common/config.py:77 +msgid "" +"$S will be replaced by current status message, $T by the 'autoawaytime' " +"value." +msgstr "" + +#: gajim/common/config.py:79 +msgid "Time in minutes, after which your status changes to not available." +msgstr "" + +#: gajim/common/config.py:80 +msgid "$S (Not available: Idle more than $T min)" +msgstr "" + +#: gajim/common/config.py:80 +msgid "" +"$S will be replaced by current status message, $T by the 'autoxatime' value." +msgstr "" + +#: gajim/common/config.py:83 +msgid "" +"When to show the notification area icon. Can be 'never', 'on_event', and " +"'always'." +msgstr "" + +#: gajim/common/config.py:87 +msgid "" +"List of rows (accounts and groups) that are collapsed (space separated)." +msgstr "" + +#: gajim/common/config.py:94 gajim/common/config.py:335 +#: gajim/common/config.py:342 +#, fuzzy +msgid "Language used for spell checking." +msgstr "başka programlarca kullanılan: " + +#: gajim/common/config.py:97 +msgid "When enabled, ASCII emojis will be converted to graphical emojis." +msgstr "" + +#: gajim/common/config.py:152 +msgid "" +"When not printing time for every message ('print_time'==sometimes), print it " +"every x minutes." +msgstr "" + +#: gajim/common/config.py:173 +msgid "" +"If enabled, Gajim quits when clicking the X button of your Window Manager. " +"This setting is taken into account only if the notification area icon is " +"used." +msgstr "" + +#: gajim/common/config.py:175 +msgid "" +"If enabled, Gajim will display the status message (if not empty) underneath " +"the contact name in the contact list window." +msgstr "" + +#: gajim/common/config.py:182 +msgid "" +"If disabled, Gajim will no longer print status messages in chats when a " +"contact changes their status (and/or their status message)." +msgstr "" + +#: gajim/common/config.py:183 +#, fuzzy +msgid "" +"Default Setting: Show a status message for every join or leave in a group " +"chat." +msgstr "Grup sohbetine girilemiyor" + +#: gajim/common/config.py:184 +#, fuzzy +msgid "" +"Default Setting: Show a status message for all status changes (away, dnd, " +"etc.) of users in a group chat." +msgstr "Grup sohbetine girilemiyor" + +#: gajim/common/config.py:191 +msgid "" +"Controls the window where new messages are placed.\n" +"'always' - All messages are sent to a single window.\n" +"'always_with_roster' - Like 'always' but the messages are in a single window " +"along with the contact list.\n" +"'never' - All messages get their own window.\n" +"'peracct' - Messages for each account are sent to a specific window.\n" +"'pertype' - Each message type (e.g. chats vs. group chats) is sent to a " +"specific window." +msgstr "" + +#: gajim/common/config.py:192 +msgid "" +"Show contact list window on startup.\n" +"'always' - Always show contact list window.\n" +"'never' - Never show contact list window.\n" +"'last_state' - Restore last state of the contact list window." +msgstr "" + +#: gajim/common/config.py:207 +msgid "" +"Valid URI schemes. Only schemes in this list will be accepted as 'real' URI " +"(mailto and xmpp are handled separately)." +msgstr "" + +#: gajim/common/config.py:212 +msgid "Optionally fix Jingle output video framerate. Example: 10/1 or 25/2." +msgstr "" + +#: gajim/common/config.py:213 +msgid "Optionally resize Jingle output video. Example: 320x240." +msgstr "" + +#: gajim/common/config.py:214 +msgid "If enabled, you will see your webcam's video stream as well." +msgstr "" + +#: gajim/common/config.py:219 +msgid "" +"Proxy used for all outgoing connections if the account does not have a " +"specific proxy configured." +msgstr "" + +#: gajim/common/config.py:222 +msgid "" +"If enabled, Gajim will display an icon to show that sent messages have been " +"received by your contact." +msgstr "" + +#: gajim/common/config.py:223 +msgid "" +"If enabled, Gajim will use the System's Keyring to store account passwords." +msgstr "" + +#: gajim/common/config.py:225 +msgid "2: System, 1: Enabled, 0: Disabled" +msgstr "" + +#: gajim/common/config.py:226 +msgid "" +"Maximum history in days we request from a public group chat archive. 0: As " +"much as possible." +msgstr "" + +#: gajim/common/config.py:227 +msgid "" +"Maximum history in days we request from a private group chat archive. 0: As " +"much as possible." +msgstr "" + +#: gajim/common/config.py:228 +msgid "" +"If enabled, Gajim shows the group chat subject in the chat window when " +"joining." +msgstr "" + +#: gajim/common/config.py:229 +msgid "" +"If enabled, the contact row is colored according to the current chat state " +"of the contact." +msgstr "" + +#: gajim/common/config.py:230 +msgid "" +"If enabled, the tab is colored according to the current chat state of the " +"contact." +msgstr "" + +#: gajim/common/config.py:231 +msgid "" +"Shows a text in the banner that describes the current chat state of the " +"contact." +msgstr "" + +#: gajim/common/config.py:232 +msgid "" +"Chat state notifications that are sent to contacts. Possible values: all, " +"composing_only, disabled" +msgstr "" + +#: gajim/common/config.py:233 +msgid "" +"Chat state notifications that are sent to the group chat. Possible values: " +"'all', 'composing_only', 'disabled'" +msgstr "" + +#: gajim/common/config.py:240 +msgid "Shows an info bar with helpful hints in the Start / Join Chat dialog" +msgstr "" + +#: gajim/common/config.py:242 +msgid "Date of the last update check" +msgstr "" + +#: gajim/common/config.py:260 +#, fuzzy +msgid "" +"Priority will change automatically according to your status. Priorities are " +"defined in 'autopriority_*' options." +msgstr "Durumuna göre öncelik kendilinden değişir." + +#: gajim/common/config.py:267 +msgid "If enabled, the last status will be restored." +msgstr "" + +#: gajim/common/config.py:268 +msgid "" +"If enabled, contacts requesting authorization will be accepted automatically." +msgstr "" + +#: gajim/common/config.py:269 +msgid "" +"If disabled, this account will be disabled and will not appear in the " +"contact list window." +msgstr "" + +#: gajim/common/config.py:278 +msgid "ConnectionType: START TLS, DIRECT TLS or PLAIN" +msgstr "" + +#: gajim/common/config.py:280 +msgid "" +"List of XMPP Addresses (space separated) for which you do not want to store " +"chat history. You can also add the name of an account to disable storing " +"chat history for this account." +msgstr "" + +#: gajim/common/config.py:285 +msgid "" +"If enabled, Gajim will use your IP and proxies defined in " +"'file_transfer_proxies' option for file transfers." +msgstr "" + +#: gajim/common/config.py:286 +msgid "" +"If enabled, Gajim will test file transfer proxies on startup to be sure they " +"work. Openfire's proxies are known to fail this test even if they work." +msgstr "" + +#: gajim/common/config.py:298 +msgid "If enabled, Gajim will answer to message receipt requests." +msgstr "" + +#: gajim/common/config.py:303 +msgid "" +"Allow Gajim to send information about the operating system you are running." +msgstr "" + +#: gajim/common/config.py:304 +#, fuzzy +msgid "Allow Gajim to send your local time." +msgstr "%s size bir dosya göndermek istiyor." + +#: gajim/common/config.py:307 +#, fuzzy +msgid "Message that is sent to contacts you want to add." +msgstr "(Burada %d seçtiğiniz varsayılıyor)\n" + +#: gajim/common/config.py:308 +msgid "" +"If enabled, Gajim will send your local IP so your contact can connect to " +"your machine for file transfers." +msgstr "" + +#: gajim/common/config.py:309 +msgid "" +"List of XMPP Addresses (space separated) for which the chat window will be " +"re-opened on next startup." +msgstr "" + +#: gajim/common/config.py:311 +msgid "" +"Preferred file transfer mechanism for file drag&drop on a chat window. Can " +"be 'httpupload' (default) or 'jingle'." +msgstr "" + +#: gajim/common/config.py:312 +#, fuzzy +msgid "Allow certificate verification with POSH." +msgstr "Bir hata oluştu:" + +#: gajim/common/config.py:336 +msgid "" +"Chat state notifications that are sent to contacts. Possible values: 'all', " +"'composing_only', 'disabled'" +msgstr "" + +#: gajim/common/config.py:339 +#, fuzzy +msgid "The currently active encryption for that contact." +msgstr "Bu dizin için seçici erişim etkinleştirilmemiş" + +#: gajim/common/config.py:343 +msgid "" +"If enabled, a notification is created for every message in this group chat." +msgstr "" + +#: gajim/common/config.py:344 +#, fuzzy +msgid "" +"Show a status message for all status changes (away, dnd, etc.) of users in a " +"group chat." +msgstr "Grup sohbetine girilemiyor" + +#: gajim/common/config.py:345 +#, fuzzy +msgid "Show a status message for every join or leave in a group chat." +msgstr "Grup sohbetine girilemiyor" + +#: gajim/common/config.py:346 +msgid "" +"If enabled, the group chat is minimized into the contact list when joining " +"automatically." +msgstr "" + +#: gajim/common/config.py:347 +msgid "" +"If enabled, the group chat is minimized into the contact list when closing " +"it." +msgstr "" + +#: gajim/common/config.py:348 +msgid "" +"Chat state notifications that are sent to the group chat. Possible values: " +"'all', 'composing_only' or 'disabled'." +msgstr "" + +#: gajim/common/config.py:351 +msgid "" +"If enabled, plugins will be activated on startup (this is saved when exiting " +"Gajim). This option SHOULD NOT be used to (de)activate plugins. Use the " +"plugin window instead." +msgstr "" + +#: gajim/common/config.py:358 +#, fuzzy +msgid "I'm eating." +msgstr " Çalışılıyorum" + +#: gajim/common/config.py:359 +msgid "I'm watching a movie." +msgstr "Bir filim bakiyorum." + +#: gajim/common/config.py:360 +msgid "I'm working." +msgstr " Çalışılıyorum" + +#: gajim/common/config.py:361 +msgid "Phone" +msgstr "Telefon" + +#: gajim/common/config.py:361 +msgid "I'm on the phone." +msgstr "Telefondayım" + +#: gajim/common/config.py:362 +#, fuzzy +msgid "I'm out enjoying life." +msgstr "%(nickname)s Çıktı" + +#: gajim/common/config.py:373 +msgid "" +"Sound to play when a group chat message contains one of the words in " +"'muc_highlight_words' or your nickname is mentioned." +msgstr "" + +#: gajim/common/config.py:374 +msgid "Sound to play when any group chat message arrives." +msgstr "" + +#: gajim/common/config.py:378 +#, fuzzy +msgid "Tor" +msgstr "Kime" + +#: gajim/common/exceptions.py:45 +#, python-format +msgid "" +"The database file (%s) cannot be read. Try to repair it (see https://dev." +"gajim.org/gajim/gajim/wikis/help/DatabaseBackup) or remove it (all history " +"will be lost)." +msgstr "" + +#: gajim/common/exceptions.py:59 +msgid "Service not available: Gajim is not running, or remote_control is False" +msgstr "" + +#: gajim/common/exceptions.py:81 +#, python-format +msgid "" +"Session bus is not available.\n" +"Try reading %(url)s" +msgstr "" + +#: gajim/common/exceptions.py:93 +#, python-format +msgid "" +"System bus is not available.\n" +"Try reading %(url)s" +msgstr "" + +#: gajim/common/optparser.py:54 +#, python-format +msgid "Error: cannot open %s for reading" +msgstr "Hata: %s okumak için açılamıyor" + +#: gajim/common/configpaths.py:84 +#, python-format +msgid "%s is a file but it should be a directory" +msgstr "" + +#: gajim/common/configpaths.py:85 +#, fuzzy +msgid "Gajim will now exit" +msgstr "Gajim'den gerçekten çıkılsın mı?" + +#: gajim/common/connection_handlers_events.py:242 +#: gajim/common/connection_handlers_events.py:342 +#, fuzzy, python-format +msgid "New message from %(nickname)s" +msgid_plural "%(n_msgs)i unread messages from %(nickname)s" +msgstr[0] "%(nickname)s den Yeni İlet alındı" + +#: gajim/common/connection_handlers_events.py:412 +#, python-format +msgid "%(nick)s Changed Status" +msgstr "%(nick)s Durumu değiştirdi" + +#: gajim/common/const.py:287 +#, fuzzy +msgid "?Group chat name:Team" +msgstr "?Group Chat Contact Role:Hiç biri" + +#: gajim/common/const.py:288 +msgid "?Group chat description:Project discussion" +msgstr "" + +#: gajim/common/const.py:289 +#, fuzzy +msgid "?Group chat address:team" +msgstr "Grup sohbetler" + +#: gajim/common/const.py:290 +#, fuzzy +msgid "?Group chat name:Family" +msgstr "%s grup sohbete katıldı" + +#: gajim/common/const.py:291 +msgid "?Group chat description:Spring gathering" +msgstr "" + +#: gajim/common/const.py:292 +msgid "?Group chat address:family" +msgstr "" + +#: gajim/common/const.py:293 +#, fuzzy +msgid "?Group chat name:Vacation" +msgstr "Grup Sohbeti Daveti" + +#: gajim/common/const.py:294 +msgid "?Group chat description:Trip planning" +msgstr "" + +#: gajim/common/const.py:295 +#, fuzzy +msgid "?Group chat address:vacation" +msgstr "Grup Sohbeti Daveti" + +#: gajim/common/const.py:296 +#, fuzzy +msgid "?Group chat name:Repairs" +msgstr "Grup Sohbetler" + +#: gajim/common/const.py:297 +msgid "?Group chat description:Local help group" +msgstr "" + +#: gajim/common/const.py:298 +#, fuzzy +msgid "?Group chat address:repairs" +msgstr "Grup sohbetler" + +#: gajim/common/const.py:299 +#, fuzzy +msgid "?Group chat name:News" +msgstr "?Group Chat Contact Role:Hiç biri" + +#: gajim/common/const.py:300 +#, fuzzy +msgid "?Group chat description:Local news and reports" +msgstr "grup %s yok - root kullanılacak\n" + +#: gajim/common/const.py:301 +#, fuzzy +msgid "?Group chat address:news" +msgstr "_Yeni Bir Grup Sohbeti" + +#: gajim/common/const.py:306 +#, fuzzy +msgid "Remote server not found" +msgstr "Hizmet bulunamadı" + +#: gajim/common/const.py:307 +msgid "Remote server timeout" +msgstr "" + +#: gajim/common/const.py:308 gajim/common/const.py:309 +#: gajim/common/const.py:310 +#, fuzzy +msgid "Address does not belong to a group chat server" +msgstr "%s mevcut bir grubun ismi değil" + +#: gajim/common/const.py:311 +#, fuzzy +msgid "Group chat already exists" +msgstr "Dosyası zaten var" + +#: gajim/common/const.py:312 +#, fuzzy +msgid "Group chat does not exist" +msgstr "grup %s yok - root kullanılacak\n" + +#: gajim/common/const.py:313 +#, fuzzy +msgid "Group chat is closed" +msgstr "Grup sohbetler" + +#: gajim/common/const.py:319 +msgid "This message was encrypted with OTR and could not be decrypted." +msgstr "" + +#: gajim/common/const.py:322 +msgid "" +"This message was encrypted with Legacy OpenPGP and could not be decrypted. " +"You can install the PGP plugin to handle those messages." +msgstr "" + +#: gajim/common/const.py:326 +msgid "" +"This message was encrypted with OpenPGP for XMPP and could not be decrypted. " +"You can install the OpenPGP plugin to handle those messages." +msgstr "" + +#: gajim/common/const.py:330 +#, python-format +msgid "This message was encrypted with %s and could not be decrypted." +msgstr "" + +#: gajim/common/const.py:337 +#, fuzzy +msgid "Doing Chores" +msgstr "dosya indeksi taraması yapılırken" + +#: gajim/common/const.py:338 +msgid "Buying Groceries" +msgstr "Alişverişde" + +#: gajim/common/const.py:339 +msgid "Cleaning" +msgstr "Temizleniyor" + +#: gajim/common/const.py:340 +msgid "Cooking" +msgstr "Pişirmede" + +#: gajim/common/const.py:341 +#, fuzzy +msgid "Doing Maintenance" +msgstr "teşhis için; zıpla, zıpla" + +#: gajim/common/const.py:342 +#, fuzzy +msgid "Doing the Dishes" +msgstr "dosya indeksi taraması yapılırken" + +#: gajim/common/const.py:343 +#, fuzzy +msgid "Doing the Laundry" +msgstr "dosya indeksi taraması yapılırken" + +#: gajim/common/const.py:344 +msgid "Gardening" +msgstr "Bahçecilik" + +#: gajim/common/const.py:345 +#, fuzzy +msgid "Running an Errand" +msgstr "Başka bir Gajim zaten çalışıyor " + +#: gajim/common/const.py:346 +#, fuzzy +msgid "Walking the Dog" +msgstr "Ağaçta gezinme başarısız" + +#: gajim/common/const.py:348 +msgid "Drinking" +msgstr "İçmede" + +#: gajim/common/const.py:349 +msgid "Having a Beer" +msgstr "Bir Birada" + +#: gajim/common/const.py:350 +#, fuzzy +msgid "Having Coffee" +msgstr "Bir Birada" + +#: gajim/common/const.py:351 +msgid "Having Tea" +msgstr "Bir Çayda" + +#: gajim/common/const.py:354 +msgid "Having a Snack" +msgstr "Bir hafif Yemekte" + +#: gajim/common/const.py:355 +msgid "Having Breakfast" +msgstr "Kahvaltıda" + +#: gajim/common/const.py:356 +msgid "Having Dinner" +msgstr "Akşam yemekte" + +#: gajim/common/const.py:357 +msgid "Having Lunch" +msgstr "Yemekte" + +#: gajim/common/const.py:359 +msgid "Exercising" +msgstr "Antrenmanda" + +#: gajim/common/const.py:360 gajim/common/const.py:411 +#, fuzzy +msgid "Cycling" +msgstr "Çevrim renkleri" + +#: gajim/common/const.py:361 +msgid "Dancing" +msgstr "Dansda" + +#: gajim/common/const.py:362 +msgid "Hiking" +msgstr "Yürüşde" + +#: gajim/common/const.py:363 +msgid "Jogging" +msgstr "Koşuda" + +#: gajim/common/const.py:364 +#, fuzzy +msgid "Playing Sports" +msgstr "DVD'leri Oynatmak" + +#: gajim/common/const.py:365 +#, fuzzy +msgid "Running" +msgstr "Çalıştırılıyor" + +#: gajim/common/const.py:366 +msgid "Skiing" +msgstr "Kayakta" + +#: gajim/common/const.py:367 +msgid "Swimming" +msgstr "Yüzmekte" + +#: gajim/common/const.py:368 +#, fuzzy +msgid "Working out" +msgstr "%(nickname)s Çıktı" + +#: gajim/common/const.py:370 +msgid "Grooming" +msgstr "Tımarlamada" + +#: gajim/common/const.py:371 +msgid "At the Spa" +msgstr "Spa'da" + +#: gajim/common/const.py:372 +msgid "Brushing Teeth" +msgstr "Diş furçalamada" + +#: gajim/common/const.py:373 +msgid "Getting a Haircut" +msgstr "Berberde" + +#: gajim/common/const.py:374 +msgid "Shaving" +msgstr "Traşda" + +#: gajim/common/const.py:375 +msgid "Taking a Bath" +msgstr "Banyo yapıyor" + +#: gajim/common/const.py:376 +msgid "Taking a Shower" +msgstr "Duş alıyor" + +#: gajim/common/const.py:378 +msgid "Having an Appointment" +msgstr "Bir Buluşmada" + +#: gajim/common/const.py:380 +msgid "Inactive" +msgstr "Pasif" + +#: gajim/common/const.py:381 +#, fuzzy +msgid "Day Off" +msgstr "Günün İletisini Sil" + +#: gajim/common/const.py:382 +#, fuzzy +msgid "Hanging out" +msgstr "%(nickname)s Çıktı" + +#: gajim/common/const.py:383 +msgid "Hiding" +msgstr "Saklanmada" + +#: gajim/common/const.py:384 +#, fuzzy +msgid "On Vacation" +msgstr "Telefondayım" + +#: gajim/common/const.py:385 +msgid "Praying" +msgstr "Namaz kılmada" + +#: gajim/common/const.py:386 +msgid "Scheduled Holiday" +msgstr "Planlamış Tatilde" + +#: gajim/common/const.py:388 +msgid "Thinking" +msgstr "Düşüncede" + +#: gajim/common/const.py:390 +#, fuzzy +msgid "Relaxing" +msgstr "İlintileyici esnekliği etkin olur" + +#: gajim/common/const.py:391 +msgid "Fishing" +msgstr "Balık avlamada" + +#: gajim/common/const.py:392 +msgid "Gaming" +msgstr "Oyunda" + +#: gajim/common/const.py:393 +#, fuzzy +msgid "Going out" +msgstr "%(nickname)s Çıktı" + +#: gajim/common/const.py:394 +msgid "Partying" +msgstr "Eğlencede" + +#: gajim/common/const.py:395 +#, fuzzy +msgid "Reading" +msgstr "Dosya okunurken hata:" + +#: gajim/common/const.py:396 +msgid "Rehearsing" +msgstr "Provada" + +#: gajim/common/const.py:397 +msgid "Shopping" +msgstr "Alışverişde" + +#: gajim/common/const.py:398 +msgid "Smoking" +msgstr "Sigara içmekte" + +#: gajim/common/const.py:399 +msgid "Socializing" +msgstr "Arkadaşlarlan buluşmakta" + +#: gajim/common/const.py:400 +msgid "Sunbathing" +msgstr "Güneşlencede" + +#: gajim/common/const.py:401 +#, fuzzy +msgid "Watching TV" +msgstr "Bir filim bakiyorum." + +#: gajim/common/const.py:402 +msgid "Watching a Movie" +msgstr "Filim bakmakta" + +#: gajim/common/const.py:404 +#, fuzzy +msgid "Talking" +msgstr "%s'le konuşurken hata oldu (%s)" + +#: gajim/common/const.py:405 +#, fuzzy +msgid "In Real Life" +msgstr "Buna davet _et" + +#: gajim/common/const.py:406 +msgid "On the Phone" +msgstr "Telefondayım" + +#: gajim/common/const.py:407 +#, fuzzy +msgid "On Video Phone" +msgstr "bir ses ve video" + +#: gajim/common/const.py:409 +msgid "Traveling" +msgstr "Gezide" + +#: gajim/common/const.py:410 +msgid "Commuting" +msgstr "Değiştircede" + +#: gajim/common/const.py:412 +msgid "Driving" +msgstr "Araba sürüyor" + +#: gajim/common/const.py:413 +#, fuzzy +msgid "In a Car" +msgstr "ben burdaysam" + +#: gajim/common/const.py:414 +#, fuzzy +msgid "On a Bus" +msgstr "Telefondayım" + +#: gajim/common/const.py:415 +#, fuzzy +msgid "On a Plane" +msgstr "Telefondayım" + +#: gajim/common/const.py:416 +msgid "On a Train" +msgstr "Trende" + +#: gajim/common/const.py:417 +#, fuzzy +msgid "On a Trip" +msgstr "Telefondayım" + +#: gajim/common/const.py:418 +msgid "Walking" +msgstr "Yürüyor" + +#: gajim/common/const.py:421 +msgid "Coding" +msgstr "Kodlamada" + +#: gajim/common/const.py:422 +#, fuzzy +msgid "In a Meeting" +msgstr "ben burdaysam" + +#: gajim/common/const.py:423 +msgid "Studying" +msgstr "Okumakta" + +#: gajim/common/const.py:424 +#, fuzzy +msgid "Writing" +msgstr "%s yazılıyor..." + +#: gajim/common/const.py:427 +msgid "Afraid" +msgstr "Korkmuş" + +#: gajim/common/const.py:428 +msgid "Amazed" +msgstr "Şaşkın" + +#: gajim/common/const.py:429 +msgid "Amorous" +msgstr "Sevdalı" + +#: gajim/common/const.py:430 +msgid "Angry" +msgstr "Kızgın" + +#: gajim/common/const.py:431 +msgid "Annoyed" +msgstr "Sinirli" + +#: gajim/common/const.py:432 +msgid "Anxious" +msgstr "Sıkıntılı" + +#: gajim/common/const.py:433 +msgid "Aroused" +msgstr "Uyandırılmış" + +#: gajim/common/const.py:434 +msgid "Ashamed" +msgstr "Mahçup" + +#: gajim/common/const.py:435 +msgid "Bored" +msgstr "Sıkılmış" + +#: gajim/common/const.py:436 +msgid "Brave" +msgstr "Cesur" + +#: gajim/common/const.py:437 +msgid "Calm" +msgstr "Sakin" + +#: gajim/common/const.py:438 +msgid "Cautious" +msgstr "Dikkatli" + +#: gajim/common/const.py:439 +msgid "Cold" +msgstr "Soğuk" + +#: gajim/common/const.py:440 +msgid "Confident" +msgstr "Cüretli" + +#: gajim/common/const.py:441 +msgid "Confused" +msgstr "Şaşkın" + +#: gajim/common/const.py:442 +msgid "Contemplative" +msgstr "Dalgın" + +#: gajim/common/const.py:443 +msgid "Contented" +msgstr "Mutlu" + +#: gajim/common/const.py:444 +msgid "Cranky" +msgstr "Tuhaf" + +#: gajim/common/const.py:445 +msgid "Crazy" +msgstr "Çılgın" + +#: gajim/common/const.py:446 +msgid "Creative" +msgstr "Yaratıcı" + +#: gajim/common/const.py:447 +msgid "Curious" +msgstr "Meraklı" + +#: gajim/common/const.py:448 +msgid "Dejected" +msgstr "Üzgün" + +#: gajim/common/const.py:449 +msgid "Depressed" +msgstr "Deprese" + +#: gajim/common/const.py:450 +msgid "Disappointed" +msgstr "Kırgın" + +#: gajim/common/const.py:451 +msgid "Disgusted" +msgstr "İğrenmiş" + +#: gajim/common/const.py:452 +msgid "Dismayed" +msgstr "Korkutulmuş" + +#: gajim/common/const.py:453 +msgid "Distracted" +msgstr "Şaşırmış" + +#: gajim/common/const.py:454 +msgid "Embarrassed" +msgstr "Utangaç" + +#: gajim/common/const.py:455 +msgid "Envious" +msgstr "Kıskanç" + +#: gajim/common/const.py:456 +msgid "Excited" +msgstr "Heyecanlı" + +#: gajim/common/const.py:457 +msgid "Flirtatious" +msgstr "Çapkın" + +#: gajim/common/const.py:458 +msgid "Frustrated" +msgstr "Yılmış" + +#: gajim/common/const.py:459 +msgid "Grateful" +msgstr "Memnun" + +#: gajim/common/const.py:460 +msgid "Grieving" +msgstr "Matemli" + +#: gajim/common/const.py:461 +msgid "Grumpy" +msgstr "Somurtkan" + +#: gajim/common/const.py:462 +msgid "Guilty" +msgstr "Suçlu" + +#: gajim/common/const.py:463 +msgid "Happy" +msgstr "Mutlu" + +#: gajim/common/const.py:464 +msgid "Hopeful" +msgstr "Ümitli" + +#: gajim/common/const.py:465 +msgid "Hot" +msgstr "Sıcak" + +#: gajim/common/const.py:466 +msgid "Humbled" +msgstr "Mütevazi" + +#: gajim/common/const.py:467 +msgid "Humiliated" +msgstr "Alçalmiş" + +#: gajim/common/const.py:468 +msgid "Hungry" +msgstr "Aç" + +#: gajim/common/const.py:469 +msgid "Hurt" +msgstr "Kırgın" + +#: gajim/common/const.py:470 +msgid "Impressed" +msgstr "Üzerinde etki bırakılmış" + +#: gajim/common/const.py:471 +msgid "In Awe" +msgstr "Üzgün" + +#: gajim/common/const.py:472 +msgid "In Love" +msgstr "Aşık" + +#: gajim/common/const.py:473 +msgid "Indignant" +msgstr "Öfkeli" + +#: gajim/common/const.py:474 +msgid "Interested" +msgstr "İlgili" + +#: gajim/common/const.py:475 +msgid "Intoxicated" +msgstr "Sarhoş" + +#: gajim/common/const.py:476 +msgid "Invincible" +msgstr "Yenilmez" + +#: gajim/common/const.py:477 +msgid "Jealous" +msgstr "Kıskanç" + +#: gajim/common/const.py:478 +msgid "Lonely" +msgstr "Yanlız" + +#: gajim/common/const.py:479 +msgid "Lost" +msgstr "Kaybettin" + +#: gajim/common/const.py:480 +msgid "Lucky" +msgstr "Uğurlu" + +#: gajim/common/const.py:481 +msgid "Mean" +msgstr "Ortalama" + +#: gajim/common/const.py:482 +msgid "Moody" +msgstr "Değişken" + +#: gajim/common/const.py:483 +msgid "Nervous" +msgstr "Heyecanlı" + +#: gajim/common/const.py:484 +msgid "Neutral" +msgstr "Nötr" + +#: gajim/common/const.py:485 +msgid "Offended" +msgstr "Küskün" + +#: gajim/common/const.py:486 +msgid "Outraged" +msgstr "Nefretli" + +#: gajim/common/const.py:487 +msgid "Playful" +msgstr "Oyunbaz" + +#: gajim/common/const.py:488 +msgid "Proud" +msgstr "Şerefli" + +#: gajim/common/const.py:489 +#, fuzzy +msgid "Relaxed" +msgstr "gevşek (TagSoup kipi)" + +#: gajim/common/const.py:490 +msgid "Relieved" +msgstr "Ferahlamiş" + +#: gajim/common/const.py:491 +msgid "Remorseful" +msgstr "Pişmanlı" + +#: gajim/common/const.py:492 +msgid "Restless" +msgstr "Rahatsız" + +#: gajim/common/const.py:493 +msgid "Sad" +msgstr "Üzgün" + +#: gajim/common/const.py:494 +msgid "Sarcastic" +msgstr "Kinayeli" + +#: gajim/common/const.py:495 +msgid "Satisfied" +msgstr "Memnun" + +#: gajim/common/const.py:496 +msgid "Serious" +msgstr "Ciddi" + +#: gajim/common/const.py:497 +msgid "Shocked" +msgstr "Sarsılmış" + +#: gajim/common/const.py:498 +msgid "Shy" +msgstr "Utangaç" + +#: gajim/common/const.py:499 +msgid "Sick" +msgstr "Hasta" + +#: gajim/common/const.py:500 +msgid "Sleepy" +msgstr "Uykulu" + +#: gajim/common/const.py:501 +msgid "Spontaneous" +msgstr "Spontan" + +#: gajim/common/const.py:502 +msgid "Stressed" +msgstr "Vurgulu" + +#: gajim/common/const.py:503 +msgid "Strong" +msgstr "Güçlü" + +#: gajim/common/const.py:504 +msgid "Surprised" +msgstr "Şaşırmış" + +#: gajim/common/const.py:505 +msgid "Thankful" +msgstr "Şükreden" + +#: gajim/common/const.py:506 +msgid "Thirsty" +msgstr "Susamış" + +#: gajim/common/const.py:507 +msgid "Tired" +msgstr "Yorgun" + +#: gajim/common/const.py:508 +msgid "Undefined" +msgstr "Tanımsız" + +#: gajim/common/const.py:509 +msgid "Weak" +msgstr "Kuvvetsiz" + +#: gajim/common/const.py:510 +msgid "Worried" +msgstr "Düşünceli" + +#: gajim/common/const.py:514 +msgid "accuracy" +msgstr "" + +#: gajim/common/const.py:515 +#, fuzzy +msgid "alt" +msgstr "öntanımlı" + +#: gajim/common/const.py:516 +msgid "area" +msgstr "" + +#: gajim/common/const.py:517 +#, fuzzy +msgid "bearing" +msgstr "denizcilik" + +#: gajim/common/const.py:518 +#, fuzzy +msgid "building" +msgstr "Saklanmada" + +#: gajim/common/const.py:519 +#, fuzzy +msgid "country" +msgstr "Hesap" + +#: gajim/common/const.py:520 +#, fuzzy +msgid "countrycode" +msgstr "Hesap sırası" + +#: gajim/common/const.py:521 +msgid "datum" +msgstr "" + +#: gajim/common/const.py:522 +#, fuzzy +msgid "description" +msgstr "Açıklama" + +#: gajim/common/const.py:523 +#, fuzzy +msgid "error" +msgstr "Hata" + +#: gajim/common/const.py:524 +msgid "floor" +msgstr "" + +#: gajim/common/const.py:525 +msgid "lat" +msgstr "" + +#: gajim/common/const.py:526 +msgid "locality" +msgstr "" + +#: gajim/common/const.py:527 +#, fuzzy +msgid "lon" +msgstr "bir" + +#: gajim/common/const.py:528 +msgid "postalcode" +msgstr "" + +#: gajim/common/const.py:529 +msgid "region" +msgstr "" + +#: gajim/common/const.py:530 +msgid "room" +msgstr "oda" + +#: gajim/common/const.py:531 +msgid "speed" +msgstr "" + +#: gajim/common/const.py:532 +msgid "street" +msgstr "" + +#: gajim/common/const.py:533 +msgid "text" +msgstr "" + +#: gajim/common/const.py:534 +msgid "timestamp" +msgstr "" + +#: gajim/common/const.py:535 +msgid "URI" +msgstr "" + +#: gajim/common/const.py:540 +#, fuzzy +msgid "Unable to get issuer certificate" +msgstr "başlangıç dizini belirlenemedi" + +#: gajim/common/const.py:541 +#, fuzzy +msgid "Unable to get certificate CRL" +msgstr "başlangıç dizini belirlenemedi" + +#: gajim/common/const.py:542 +#, fuzzy +msgid "Unable to decrypt certificate's signature" +msgstr "başlangıç dizini belirlenemedi" + +#: gajim/common/const.py:543 +msgid "Unable to decrypt CRL's signature" +msgstr "" + +#: gajim/common/const.py:544 +msgid "Unable to decode issuer public key" +msgstr "" + +#: gajim/common/const.py:545 +#, fuzzy +msgid "Certificate signature failure" +msgstr "Hata: Yanlış imza" + +#: gajim/common/const.py:546 +#, fuzzy +msgid "CRL signature failure" +msgstr "Hata: Yanlış imza" + +#: gajim/common/const.py:547 +#, fuzzy +msgid "Certificate is not yet valid" +msgstr "Sertifika henüz geçerli değil" + +#: gajim/common/const.py:548 +#, fuzzy +msgid "Certificate has expired" +msgstr "Bu anahtarın kullanım süresi dolmuş" + +#: gajim/common/const.py:549 +#, fuzzy +msgid "CRL is not yet valid" +msgstr "Sertifika henüz geçerli değil" + +#: gajim/common/const.py:550 +#, fuzzy +msgid "CRL has expired" +msgstr "Bu anahtarın kullanım süresi dolmuş" + +#: gajim/common/const.py:551 +msgid "Format error in certificate's notBefore field" +msgstr "" + +#: gajim/common/const.py:552 +msgid "Format error in certificate's notAfter field" +msgstr "" + +#: gajim/common/const.py:553 +msgid "Format error in CRL's lastUpdate field" +msgstr "" + +#: gajim/common/const.py:554 +msgid "Format error in CRL's nextUpdate field" +msgstr "" + +#: gajim/common/const.py:555 +#, fuzzy +msgid "Out of memory" +msgstr "%(nickname)s Çıktı" + +#: gajim/common/const.py:556 +#, fuzzy +msgid "Self signed certificate" +msgstr "%(nickname)s Girdi" + +#: gajim/common/const.py:557 +#, fuzzy +msgid "Self signed certificate in certificate chain" +msgstr "öz-imzalı sertifika KÖTÜ bir imzaya sahip" + +#: gajim/common/const.py:558 +#, fuzzy +msgid "Unable to get local issuer certificate" +msgstr "başlangıç dizini belirlenemedi" + +#: gajim/common/const.py:559 +#, fuzzy +msgid "Unable to verify the first certificate" +msgstr "başlangıç dizini belirlenemedi" + +#: gajim/common/const.py:560 +msgid "Certificate chain too long" +msgstr "Sertifika zinciri çok uzun" + +#: gajim/common/const.py:561 +#, fuzzy +msgid "Certificate revoked" +msgstr "sertifika hükümsüz kılınmış" + +#: gajim/common/const.py:562 +#, fuzzy +msgid "Invalid CA certificate" +msgstr "Geçersiz Jabber kimliği" + +#: gajim/common/const.py:563 +#, fuzzy +msgid "Path length constraint exceeded" +msgstr "Kağıt Uçağın Gideceği Yol Uzunluğu" + +#: gajim/common/const.py:564 +#, fuzzy +msgid "Unsupported certificate purpose" +msgstr "Sertifika doğrulama hatası (%s)" + +#: gajim/common/const.py:565 +#, fuzzy +msgid "Certificate not trusted" +msgstr "GPG anahtara güvenilmiyor" + +#: gajim/common/const.py:566 +#, fuzzy +msgid "Certificate rejected" +msgstr "^Rededilmiş durumunu değiştir" + +#: gajim/common/const.py:567 +#, fuzzy +msgid "Subject issuer mismatch" +msgstr "ifade yığıtı uyumsuzluğu" + +#: gajim/common/const.py:568 +msgid "Authority and subject key identifier mismatch" +msgstr "" + +#: gajim/common/const.py:569 +msgid "Authority and issuer serial number mismatch" +msgstr "" + +#: gajim/common/const.py:570 +msgid "Key usage does not include certificate signing" +msgstr "" + +#: gajim/common/const.py:571 +#, fuzzy +msgid "Application verification failure" +msgstr "'%s' çözülürken geçici bozukluk" + +#: gajim/common/const.py:893 +msgid "The signing certificate authority is not known" +msgstr "" + +#: gajim/common/const.py:894 +#, fuzzy +msgid "The certificate has been revoked" +msgstr "sertifika hükümsüz kılınmış" + +#: gajim/common/const.py:895 +msgid "The certificate does not match the expected identity of the site" +msgstr "" + +#: gajim/common/const.py:896 +msgid "The certificate’s algorithm is insecure" +msgstr "" + +#: gajim/common/const.py:897 +msgid "The certificate’s activation time is in the future" +msgstr "" + +#: gajim/common/const.py:898 +#, fuzzy +msgid "Unknown validation error" +msgstr "Bir hata oluştu:" + +#: gajim/common/const.py:899 +#, fuzzy +msgid "The certificate has expired" +msgstr "Bu anahtarın kullanım süresi dolmuş" + +#: gajim/common/const.py:954 +#, fuzzy +msgid "Authentication aborted" +msgstr "Değer kabul edildi!" + +#: gajim/common/const.py:955 +#, fuzzy +msgid "Account disabled" +msgstr "Dosya boş" + +#: gajim/common/const.py:956 +#, fuzzy +msgid "Credentials expired" +msgstr "Bu anahtarın kullanım süresi dolmuş" + +#: gajim/common/const.py:957 +#, fuzzy +msgid "Encryption required" +msgstr "Üyelik isteği" + +#: gajim/common/const.py:961 +#, fuzzy +msgid "Authentication mechanism not supported" +msgstr "Rahatsız etmeyin" + +#: gajim/common/const.py:962 +#, fuzzy +msgid "Authentication mechanism too weak" +msgstr "Kimliksiz kimlik doğrulaması" + +#: gajim/common/const.py:964 +msgid "Authentication currently not possible" +msgstr "" + +#: gajim/common/const.py:1109 +msgid "No Sync" +msgstr "" + +#: gajim/common/const.py:1111 +msgid "2 Days" +msgstr "" + +#: gajim/common/const.py:1114 +msgid "No Threshold" +msgstr "" + +#: gajim/common/logging_helpers.py:31 +#, fuzzy, python-format +msgid "%s is not a valid loglevel" +msgstr "Klasör \"%s\" yazılabilir değil" + +#: gajim/common/zeroconf/zeroconf_avahi.py:256 +#: gajim/common/zeroconf/zeroconf_bonjour.py:248 +#: gajim/common/zeroconf/zeroconf_bonjour.py:265 +#: gajim/common/zeroconf/zeroconf_bonjour.py:323 +#, fuzzy, python-format +msgid "Error while adding service. %s" +msgstr "Eklentilerin etkinleştirilmesinde hata #%d." + +#: gajim/common/zeroconf/connection_zeroconf.py:252 +#, fuzzy, python-format +msgid "Could not connect to \"%s\"" +msgstr "Resim acılamadı" + +#: gajim/common/zeroconf/connection_zeroconf.py:253 +msgid "Please check if Avahi or Bonjour is installed." +msgstr "" + +#: gajim/common/zeroconf/connection_zeroconf.py:263 +#: gajim/common/zeroconf/connection_zeroconf.py:267 +#, fuzzy +msgid "Could not start local service" +msgstr "%s: \"%s\" servisi başlatılamadı: Hata kodu %d\n" + +#: gajim/common/zeroconf/connection_zeroconf.py:264 +#, fuzzy, python-format +msgid "Unable to bind to port %d." +msgstr "PORT komutu gönderilemiyor" + +#: gajim/common/zeroconf/connection_zeroconf.py:268 +#, fuzzy +msgid "Please check if avahi/bonjour-daemon is running." +msgstr "Paket sisteminin kilitli olup olmadığını kontrol edin." + +#: gajim/common/zeroconf/connection_zeroconf.py:362 +#: gajim/common/zeroconf/connection_zeroconf.py:375 +#, fuzzy, python-format +msgid "Could not change status of account \"%s\"" +msgstr "Durum satırı okunamadı" + +#: gajim/common/zeroconf/connection_zeroconf.py:363 +#: gajim/common/zeroconf/connection_zeroconf.py:376 +msgid "Please check if avahi-daemon is running." +msgstr "" + +#: gajim/common/zeroconf/connection_zeroconf.py:404 +#, fuzzy +msgid "Your message could not be sent." +msgstr "" +"İleti gönderilmemiş olabilir çünkü görünmez iken yollamaya izin verilmiyor:" + +#: gajim/common/zeroconf/connection_zeroconf.py:419 +#, fuzzy +msgid "Contact is offline. Your message could not be sent." +msgstr "İleti gönderilmemiş olabilir çünkü kullanıcı çevrimdışı:" + +#: gajim/common/zeroconf/connection_zeroconf.py:441 +msgid "" +"Connection to host could not be established: Timeout while sending data." +msgstr "" + +#: gajim/common/dbus/logind.py:73 +msgid "Machine is going to sleep" +msgstr "" + +#: gajim/common/dbus/logind.py:103 +msgid "Disconnect from the network" +msgstr "" + +#: gajim/common/modules/adhoc_commands.py:88 +msgid "Change status information" +msgstr "Durum informationu değiştir" + +#: gajim/common/modules/adhoc_commands.py:112 +msgid "Change status" +msgstr "Durumu Değiştir" + +#: gajim/common/modules/adhoc_commands.py:113 +msgid "Set the presence type and description" +msgstr "" + +#: gajim/common/modules/adhoc_commands.py:120 +msgid "Free for chat" +msgstr "Sohbet için Hazır" + +#: gajim/common/modules/adhoc_commands.py:121 +msgid "Online" +msgstr "Çevrimiçi" + +#: gajim/common/modules/adhoc_commands.py:123 +msgid "Extended away" +msgstr "Uzun süreli uzakta" + +#: gajim/common/modules/adhoc_commands.py:124 +msgid "Do not disturb" +msgstr "Rahatsız etmeyin" + +#: gajim/common/modules/adhoc_commands.py:125 +msgid "Offline - disconnect" +msgstr "Çevrimdışı - bağlantıyı kes" + +#: gajim/common/modules/adhoc_commands.py:131 +#, fuzzy +msgid "Presence description:" +msgstr "Hata açıklaması…" + +#: gajim/common/modules/adhoc_commands.py:170 +#, fuzzy +msgid "The status has been changed." +msgstr "Yeni bir oda yaratılmıştır" + +#: gajim/common/modules/presence.py:265 +msgid "I would like to add you to my roster." +msgstr "Seni benim kişi listeye eklemek isterdim" + +#: gajim/common/modules/roster_item_exchange.py:103 +#, fuzzy, python-format +msgid "Sent contact: \"%(jid)s\" (%(name)s)" +msgstr "Kişinin bağlantısı kesildi" + +#: gajim/common/modules/roster_item_exchange.py:107 +#, fuzzy +msgid "Sent contacts:" +msgstr "Kişileri eşzamana getir" + +#: gajim/common/modules/httpupload.py:99 +msgid "File is empty" +msgstr "Dosya boş" + +#: gajim/common/modules/httpupload.py:102 +msgid "File does not exist" +msgstr "Dosya mevcut değil" + +#: gajim/common/modules/httpupload.py:109 +#: gajim/common/modules/httpupload.py:172 +#, python-format +msgid "File is too large, maximum allowed file size is: %s" +msgstr "" + +#: gajim/common/modules/httpupload.py:279 +#, fuzzy +msgid "Encrypting file…" +msgstr " Spam engelleme etkin değil\n" + +#: gajim/common/modules/httpupload.py:280 +msgid "Requesting HTTP File Upload Slot…" +msgstr "" + +#: gajim/common/modules/httpupload.py:281 +msgid "Uploading via HTTP File Upload…" +msgstr "" + +#: gajim/common/modules/httpupload.py:285 +#, fuzzy +msgid "The server returned an insecure transport (HTTP)." +msgstr "Bir hata oluştu:" + +#: gajim/common/modules/httpupload.py:286 +msgid "There is no encryption method available for the chosen encryption." +msgstr "" + +#: gajim/plugins/pluginmanager.py:679 gajim/plugins/pluginmanager.py:685 +msgid "Archive corrupted" +msgstr "" + +#: gajim/plugins/pluginmanager.py:681 +#, fuzzy +msgid "Archive empty" +msgstr "Dosya boş" + +#: gajim/plugins/pluginmanager.py:693 gajim/plugins/pluginmanager.py:701 +#: gajim/plugins/gui.py:273 +#, fuzzy +msgid "Archive is malformed" +msgstr "Karalı servisin TXT verisi" + +#: gajim/plugins/pluginmanager.py:710 gajim/plugins/gui.py:288 +#: gajim/plugins/gui.py:301 +#, fuzzy +msgid "Plugin already exists" +msgstr "Dosyası zaten var" + +#: gajim/plugins/pluginmanager.py:720 +#, fuzzy +msgid "Installation failed" +msgstr "Kayıt başarısız" + +#: gajim/plugins/gui.py:67 gajim/data/gui/shortcuts_window.ui:38 +msgid "Plugins" +msgstr "" + +#: gajim/plugins/gui.py:75 +msgid "Click to view Gajim's wiki page on how to install plugins in Flatpak." +msgstr "" + +#: gajim/plugins/gui.py:84 +msgid "Plugin" +msgstr "" + +#: gajim/plugins/gui.py:95 gajim/data/gui/manage_sounds.ui:40 +msgid "Active" +msgstr "Aktif" + +#: gajim/plugins/gui.py:159 +#, fuzzy, python-format +msgid "Warning: %s" +msgstr "ben burdaysam" + +#: gajim/plugins/gui.py:216 +#, fuzzy +msgid "Plugin failed" +msgstr "Bağlantı Kurulamıyor" + +#: gajim/plugins/gui.py:249 +msgid "Unable to properly remove the plugin" +msgstr "" + +#: gajim/plugins/gui.py:287 +#, fuzzy +msgid "Overwrite Plugin?" +msgstr "Durum ileti değiştir" + +#: gajim/plugins/gui.py:289 +#, fuzzy +msgid "Do you want to overwrite the currently installed version?" +msgstr "%s grupu kişi listesinden silmek istiyor musun?" + +#: gajim/plugins/gui.py:317 gajim/data/gui/groupchat_config.ui:258 +#, fuzzy +msgid "Configuration" +msgstr "Oda Yerleştirme" + +#: gajim/data/gui/groupchat_nick_chooser.ui:47 +#, fuzzy +msgid "Join Group Chat as…" +msgstr "Grup Sohbete Katıl" + +#: gajim/data/gui/groupchat_nick_chooser.ui:66 +#, fuzzy +msgid "Your Nickname" +msgstr "Senin takma adın:" + +#: gajim/data/gui/groupchat_control.ui:36 +#, fuzzy +msgid "Drop Files or Contacts" +msgstr "Kişi Davet _Et" + +#: gajim/data/gui/groupchat_control.ui:58 gajim/data/gui/chat_control.ui:322 +msgid "Bold" +msgstr "Kalın" + +#: gajim/data/gui/groupchat_control.ui:67 gajim/data/gui/chat_control.ui:331 +msgid "Italic" +msgstr "Italik" + +#: gajim/data/gui/groupchat_control.ui:76 gajim/data/gui/chat_control.ui:340 +msgid "Underline" +msgstr "Altçizgili" + +#: gajim/data/gui/groupchat_control.ui:85 gajim/data/gui/chat_control.ui:349 +#, fuzzy +msgid "Strike" +msgstr "Ü&stü Çizili" + +#: gajim/data/gui/groupchat_control.ui:107 gajim/data/gui/chat_control.ui:371 +msgid "Font" +msgstr "Yazıtipi" + +#: gajim/data/gui/groupchat_control.ui:121 gajim/data/gui/chat_control.ui:385 +#, fuzzy +msgid "Clear formatting" +msgstr "Işareti temizle" + +#: gajim/data/gui/groupchat_control.ui:383 gajim/data/gui/chat_control.ui:784 +#, fuzzy +msgid "Choose encryption" +msgstr "Parolayı Değiştir" + +#: gajim/data/gui/groupchat_control.ui:429 gajim/data/gui/chat_control.ui:667 +msgid "Show a list of emojis (Alt+M)" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:454 gajim/data/gui/chat_control.ui:833 +#, fuzzy +msgid "Send Message" +msgstr "Mesajı gönder" + +#: gajim/data/gui/groupchat_control.ui:583 +msgid "Joining…" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:641 +#, fuzzy +msgid "Enter Nickname" +msgstr "Takma Ad girdir" + +#: gajim/data/gui/groupchat_control.ui:691 +#: gajim/data/gui/groupchat_control.ui:783 +#, fuzzy +msgid "Ch_ange" +msgstr "Takma Ad Ayarla" + +#: gajim/data/gui/groupchat_control.ui:748 +#: gajim/data/gui/shortcuts_window.ui:319 +#, fuzzy +msgid "Change Subject" +msgstr "Konuk Değiştiriliyor" + +#: gajim/data/gui/groupchat_control.ui:864 +#, fuzzy +msgid "Enter Password" +msgstr "Yeni parola girin: " + +#: gajim/data/gui/groupchat_control.ui:1081 +#, fuzzy +msgid "_Forget Group Chat" +msgstr "Tam-Ekrandan Çık" + +#: gajim/data/gui/groupchat_control.ui:1085 +#, fuzzy +msgid "Gajim will not try to join this group chat again" +msgstr "%s grup sohbete katıldı" + +#: gajim/data/gui/groupchat_control.ui:1102 +#, fuzzy +msgid "T_ry Again" +msgstr "Tekrar dene ? [e/H] " + +#: gajim/data/gui/groupchat_control.ui:1156 +#, fuzzy +msgid "An Error Occurred" +msgstr "Bir hata oluştu:" + +#: gajim/data/gui/groupchat_control.ui:1221 +#, fuzzy +msgid "_Try Again" +msgstr "Tekrar dene ? [e/H] " + +#: gajim/data/gui/groupchat_control.ui:1398 +#, fuzzy +msgid "Kick Participant" +msgstr "Katılan" + +#: gajim/data/gui/groupchat_control.ui:1436 +msgid "_Kick" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1469 +#: gajim/data/gui/groupchat_control.ui:1595 +#: gajim/data/gui/groupchat_control.ui:1721 +#: gajim/data/gui/groupchat_control.ui:1738 +#: gajim/data/gui/groupchat_control.ui:1827 +#: gajim/data/gui/groupchat_control.ui:1828 +msgid "Insert Emoji" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1482 +#: gajim/data/gui/groupchat_control.ui:1608 +msgid "Reason (optional)" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1524 +#, fuzzy +msgid "Ban Participant" +msgstr "Katılan" + +#: gajim/data/gui/groupchat_control.ui:1562 +msgid "_Ban" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1650 +#, fuzzy +msgid "Destroy This Chat" +msgstr "_Yeni Bir Grup Sohbeti" + +#: gajim/data/gui/groupchat_control.ui:1688 +#, fuzzy +msgid "_Destroy" +msgstr "Açıklama" + +#: gajim/data/gui/groupchat_control.ui:1722 +msgid "Alternate venue (optional)..." +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1739 +#, fuzzy +msgid "Reason (optional)..." +msgstr "Neden" + +#: gajim/data/gui/groupchat_control.ui:1752 +msgid "Reason for destruction" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1767 +msgid "Where participants should go" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1808 +#, fuzzy +msgid "Rename This Chat" +msgstr "Tam-Ekrandan Çık" + +#: gajim/data/gui/groupchat_control.ui:1935 +#, fuzzy +msgid "_Invite" +msgstr "Davet _et" + +#: gajim/data/gui/groupchat_control.ui:2020 +#, fuzzy +msgid "Settings for This Chat" +msgstr "Bu imza için bir yürürlükten kaldırma sertifikası oluşturulsun mu? " + +#: gajim/data/gui/filetransfers.ui:21 +msgid "Pa_use/Resume" +msgstr "" + +#: gajim/data/gui/filetransfers.ui:45 +#, fuzzy +msgid "_Open Folder" +msgstr "Gmail Gelen Kutusunu _Aç" + +#: gajim/data/gui/filetransfers.ui:56 gajim/data/gui/filetransfers.ui:206 +msgid "File Transfers" +msgstr "Dosya Aktarımları" + +#: gajim/data/gui/filetransfers.ui:91 +#, fuzzy +msgid "_Show notification when file transfer is complete" +msgstr "_Bir dosya aktarımı tamamlandığında beni bilgilendir" + +#: gajim/data/gui/filetransfers.ui:131 +msgid "file transfers list" +msgstr "dosya aktarımların listesi" + +#: gajim/data/gui/filetransfers.ui:132 +msgid "A list of active, completed and stopped file transfers" +msgstr "Bir çalışan, tamamlanmış ile durdurulmuş dosya aktarma listesi" + +#: gajim/data/gui/filetransfers.ui:154 +#, fuzzy +msgid "Remove completed, cancelled and failed file transfers from the list" +msgstr "Dosya aktarımları listeden sil." + +#: gajim/data/gui/filetransfers.ui:167 +#, fuzzy +msgid "Pause or resume file transfer" +msgstr "Dosya transferi iptal et" + +#: gajim/data/gui/filetransfers.ui:180 +#, fuzzy +msgid "Cancel the selected file transfer and remove incomplete files" +msgstr "Seçilmiş dosya aktarımı iptal ediyor" + +#: gajim/data/gui/filetransfers.ui:207 +msgid "Shows a list of file transfers between you and your contacts" +msgstr "" + +#: gajim/data/gui/add_new_contact_window.ui:76 +#, fuzzy +msgid "_XMPP Address" +msgstr "_Adres:" + +#: gajim/data/gui/add_new_contact_window.ui:92 +#, fuzzy +msgid "_Nickname" +msgstr "_Takma Ad:" + +#: gajim/data/gui/add_new_contact_window.ui:109 +#, fuzzy +msgid "_Group" +msgstr "_Grup:" + +#: gajim/data/gui/add_new_contact_window.ui:157 +msgid "Choose or type new group name" +msgstr "" + +#: gajim/data/gui/add_new_contact_window.ui:173 +#, fuzzy +msgid "A_ccount" +msgstr "H_esap:" + +#: gajim/data/gui/add_new_contact_window.ui:189 +#, fuzzy +msgid "_Protocol" +msgstr "_Protokol:" + +#: gajim/data/gui/add_new_contact_window.ui:287 +#: gajim/data/gui/single_message_window.ui:161 +#, fuzzy +msgid "Query Contact Info" +msgstr "Kişisel Bilgisi" + +#: gajim/data/gui/add_new_contact_window.ui:312 +#, fuzzy +msgid "A_llow contact to view my status" +msgstr "Bu kişiye durumu görmeye hak ver" + +#: gajim/data/gui/add_new_contact_window.ui:363 +msgid "_Save subscription message" +msgstr "Üyelik ileti _kaydet" + +#: gajim/data/gui/add_new_contact_window.ui:389 +msgid "" +"You have to register with this transport\n" +"to be able to add a contact from this\n" +"protocol. Click on Register button to\n" +"proceed." +msgstr "" + +#: gajim/data/gui/add_new_contact_window.ui:404 +msgid "_Register" +msgstr "_Kayıt Ol" + +#: gajim/data/gui/add_new_contact_window.ui:433 +msgid "" +"You must be connected to the transport to be able\n" +"to add a contact from this protocol." +msgstr "" + +#: gajim/data/gui/add_new_contact_window.ui:467 +#, fuzzy +msgid "_Add" +msgstr "_Adres:" + +#: gajim/data/gui/account_wizard.ui:16 gajim/data/gui/manage_proxies.ui:206 +#, fuzzy +msgid "_Port" +msgstr "_Porta:" + +#: gajim/data/gui/account_wizard.ui:46 +#, fuzzy +msgid "_Hostname" +msgstr "_Bilgisayar adı:" + +#: gajim/data/gui/account_wizard.ui:62 gajim/data/gui/account_wizard.ui:689 +#: gajim/data/gui/manage_proxies.ui:223 +msgid "example.org" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:75 +#, fuzzy +msgid "Prox_y" +msgstr "Prox_y:" + +#: gajim/data/gui/account_wizard.ui:110 +#, fuzzy +msgid "Manage Proxies..." +msgstr "Vekil Sunuc Profili İşlet" + +#: gajim/data/gui/account_wizard.ui:131 gajim/data/gui/preferences.ui:798 +#, fuzzy +msgid "Advanced Settings" +msgstr "İlerlemiş aksiyonlar" + +#: gajim/data/gui/account_wizard.ui:163 gajim/data/gui/manage_proxies.ui:290 +#, fuzzy +msgid "_Type" +msgstr "_Türü:" + +#: gajim/data/gui/account_wizard.ui:203 +msgid "Welcome" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:219 +#, fuzzy +msgid "Please enter your credentials or Sign Up" +msgstr "Yeni posta yarat" + +#: gajim/data/gui/account_wizard.ui:237 +msgid "Your XMPP address (e.g. user@example.org)" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:239 +#: gajim/data/gui/single_message_window.ui:59 +msgid "user@example.org" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:252 +#, fuzzy +msgid "Your password" +msgstr "Yeni parola girin: " + +#: gajim/data/gui/account_wizard.ui:266 gajim/data/gui/account_wizard.ui:719 +#, fuzzy +msgid "_Advanced Settings" +msgstr "İlerlemiş aksiyonlar" + +#: gajim/data/gui/account_wizard.ui:270 gajim/data/gui/account_wizard.ui:723 +#, fuzzy +msgid "Proxy, custom hostname and port" +msgstr "Kendi bir makine adı/portu kullan" + +#: gajim/data/gui/account_wizard.ui:283 +msgid "_Log In" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:288 +msgid "Log in with your credentials" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:304 +#, fuzzy +msgid "or" +msgstr "Kime" + +#: gajim/data/gui/account_wizard.ui:314 +#, fuzzy +msgid "_Sign Up" +msgstr "_Bağlan" + +#: gajim/data/gui/account_wizard.ui:318 +msgid "Sign up for a new account on a server of your choice" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:369 +msgid "Visit Website" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:410 +#, fuzzy +msgid "Certificate Verification Failed" +msgstr "Bir hata oluştu:" + +#: gajim/data/gui/account_wizard.ui:428 +msgid "" +"The following warnings came up while trying to verify the server's " +"certificate" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:457 +#, fuzzy +msgid "_Show Certificate" +msgstr "%(nickname)s Girdi" + +#: gajim/data/gui/account_wizard.ui:472 +#, fuzzy +msgid "_Add to Trusted Certificates" +msgstr "sertifika hükümsüz kılınmış" + +#: gajim/data/gui/account_wizard.ui:501 gajim/data/gui/account_wizard.ui:664 +msgid "Which server should I choose?" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:516 +msgid "" +"There are plenty of servers to choose from.\n" +"Creating an account on one server allows you to communicate with contacts " +"from other servers as well." +msgstr "" + +#: gajim/data/gui/account_wizard.ui:530 +msgid "Visit Server's Website" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:550 +msgid "Listing of Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:568 +msgid "" +"xmpp.org/getting-started" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:646 +#, fuzzy +msgid "_Please choose a server" +msgstr "Yeni posta yarat" + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "" + +#: gajim/data/gui/application_menu.ui:8 +#, fuzzy +msgid "_Start / Join Chat…" +msgstr "Sohbet _Başla" + +#: gajim/data/gui/application_menu.ui:13 +#, fuzzy +msgid "Create _Group Chat…" +msgstr "Tam-Ekrandan Çık" + +#: gajim/data/gui/application_menu.ui:18 +#, fuzzy +msgid "_History Manager" +msgstr "Paket Yöneticisi" + +#: gajim/data/gui/application_menu.ui:22 +#, fuzzy +msgid "Pl_ugins" +msgstr "Bağlantı Kurulamıyor" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +#, fuzzy +msgid "_Preferences" +msgstr "Tercihler" + +#: gajim/data/gui/application_menu.ui:36 +#, fuzzy +msgid "_Accounts" +msgstr "Hesaplar" + +#: gajim/data/gui/application_menu.ui:39 +#, fuzzy +msgid "_View" +msgstr "_Görünüm" + +#: gajim/data/gui/application_menu.ui:46 +#, fuzzy +msgid "Show _Offline Contacts" +msgstr "_Çevredışı Kişileri Göster" + +#: gajim/data/gui/application_menu.ui:50 +#, fuzzy +msgid "Show _Active Contacts" +msgstr "Sadece _Çecredeki Kişileri Göster" + +#: gajim/data/gui/application_menu.ui:54 +#, fuzzy +msgid "Show _Transports" +msgstr "_XML Konsolu Göster" + +#: gajim/data/gui/application_menu.ui:60 +#, fuzzy +msgid "_XML Console" +msgstr "_XML Konsolu Göster" + +#: gajim/data/gui/application_menu.ui:64 +#, fuzzy +msgid "_File Transfer" +msgstr "Dosya Aktarımları" + +#: gajim/data/gui/application_menu.ui:74 +#, fuzzy +msgid "_Help" +msgstr "_Yardım" + +#: gajim/data/gui/application_menu.ui:77 +#, fuzzy +msgid "_Wiki (Online)" +msgstr "Çevrimiçi" + +#: gajim/data/gui/application_menu.ui:81 +#, fuzzy +msgid "FA_Q (Online)" +msgstr "Çevrimiçi" + +#: gajim/data/gui/application_menu.ui:85 +msgid "_Keyboard Shortcuts" +msgstr "" + +#: gajim/data/gui/application_menu.ui:89 +#, fuzzy +msgid "_Features" +msgstr "Özellikler:" + +#: gajim/data/gui/application_menu.ui:93 +#, fuzzy +msgid "_About" +msgstr "Hakkında" + +#: gajim/data/gui/filetransfer_progress.ui:125 +msgid "Speed" +msgstr "" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +#, fuzzy +msgid "OK" +msgstr "_Tamam" + +#: gajim/data/gui/plugins_window.ui:55 +msgid "Install Plugin from ZIP-File" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:56 +msgid "Install from File…" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:70 +#, fuzzy +msgid "Uninstall Plugin" +msgstr " [ %i%% ] (askıda)" + +#: gajim/data/gui/plugins_window.ui:116 +#, fuzzy +msgid "" +msgstr "Bağlantı Kurulamıyor" + +#: gajim/data/gui/plugins_window.ui:133 +#, fuzzy +msgid "Plugin Settings" +msgstr "Bağlantı Kurulamıyor" + +#: gajim/data/gui/plugins_window.ui:215 +#, fuzzy +msgid "" +msgstr "Açıklama" + +#: gajim/data/gui/plugins_window.ui:239 +#, fuzzy +msgid "Version" +msgstr "GTK+ Runtime Sürümü" + +#: gajim/data/gui/plugins_window.ui:271 +#, fuzzy +msgid "Authors" +msgstr "AU ayırıcı" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +#, fuzzy +msgid "Homepage" +msgstr "Ana Sayfa:" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:349 +#, fuzzy +msgid "Installed" +msgstr " [ %i%% ] (askıda)" + +#: gajim/data/gui/plugins_window.ui:363 +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +msgid "Synchronise contacts" +msgstr "Kişileri eşzamana getir" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +#, fuzzy +msgid "_Name" +msgstr "_Ad:" + +#: gajim/data/gui/groupchat_creation.ui:122 +#, fuzzy +msgid "_Description" +msgstr "Açıklama" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +#, fuzzy +msgid "_Address" +msgstr "_Adres:" + +#: gajim/data/gui/groupchat_creation.ui:278 +#, fuzzy +msgid "_Account" +msgstr "Hesap" + +#: gajim/data/gui/profile.ui:33 +#, fuzzy +msgid "Contact Infos" +msgstr "Kişisel Bilgisi" + +#: gajim/data/gui/profile.ui:45 +#, fuzzy +msgid "Picture and Name" +msgstr "Kullanılacak resim" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "" + +#: gajim/data/gui/profile.ui:198 +msgid "Change your profile picture" +msgstr "" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:298 +#, fuzzy +msgid "Add Entry" +msgstr "Kayıt:" + +#: gajim/data/gui/profile.ui:410 +#, fuzzy +msgid "Update" +msgstr "MOTD'yi yenileştir" + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:15 +#, fuzzy +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "SOCKS5" + +#: gajim/data/gui/manage_proxies.ui:65 +#, fuzzy +msgid "Add Proxy" +msgstr "Prox_y:" + +#: gajim/data/gui/manage_proxies.ui:79 +#, fuzzy +msgid "Remove Proxy" +msgstr "Grubu Sil" + +#: gajim/data/gui/manage_proxies.ui:131 +#, fuzzy +msgid "Pass_word" +msgstr "Şif_re:" + +#: gajim/data/gui/manage_proxies.ui:156 +msgid "Use proxy auth_entication" +msgstr "Vergil do_ğrulama kullan" + +#: gajim/data/gui/manage_proxies.ui:176 +#, fuzzy +msgid "_Username" +msgstr "_Kullanıcı ismi" + +#: gajim/data/gui/manage_proxies.ui:237 +#, fuzzy +msgid "_Host" +msgstr "_Bilgisayar adı:" + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "Yerel jid:" + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "Kaynak:" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "Durum:" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +#, fuzzy +msgid "_Store conversation history" +msgstr "Sohbet kayıtı _kaydet" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +msgid "Contact" +msgstr "Bağlantı" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +msgid "First Name:" +msgstr "İlk Ad:" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +msgid "Last Name:" +msgstr "Soy Ad:" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +#, fuzzy +msgid "XMPP Address:" +msgstr "AIM Adres:" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "E-Mail:" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +msgid "Personal" +msgstr "Kişisel" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +#, fuzzy +msgid "_Status" +msgstr "Durum" + +#: gajim/data/gui/account_context_menu.ui:20 +#, fuzzy +msgid "_Personal Events" +msgstr "Kişisel Olaylar" + +#: gajim/data/gui/account_context_menu.ui:41 +#, fuzzy +msgid "_Add Contact..." +msgstr "Kişi _ekle" + +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "" + +#: gajim/data/gui/account_context_menu.ui:57 +#, fuzzy +msgid "_Execute Command..." +msgstr "Yürütecek komutayı seç" + +#: gajim/data/gui/account_context_menu.ui:65 +#, fuzzy +msgid "_View Server Info" +msgstr "_Sunuc:" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:125 +#, fuzzy +msgid "Global Group Chat Search" +msgstr "Grup Sohbete Katıl" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +#, fuzzy +msgid "_Back" +msgstr "Geri Düğme" + +#: gajim/data/gui/start_chat_dialog.ui:386 +#, fuzzy +msgid "Select Account" +msgstr "XMPP hesabı %s@%s" + +#: gajim/data/gui/start_chat_dialog.ui:477 +msgid "_Select" +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +#, fuzzy +msgid "Configure" +msgstr "_Yerleştir" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +msgid "Create new post" +msgstr "Yeni posta yarat" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "" + +#: gajim/data/gui/systray_context_menu.ui:20 +#, fuzzy +msgid "_Start Chat..." +msgstr "Sohbet _Başla" + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "Tek Bir İleti Gönder…" + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "Bütün Bekleyen _Olayları Göster" + +#: gajim/data/gui/systray_context_menu.ui:52 +msgid "Mute Sounds" +msgstr "Sesi Kapat" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +#, fuzzy +msgid "Contact List" +msgstr "Kişiler" + +#: gajim/data/gui/shortcuts_window.ui:24 +#, fuzzy +msgid "Create new group chat" +msgstr "Tam-Ekrandan Çık" + +#: gajim/data/gui/shortcuts_window.ui:45 +#, fuzzy +msgid "File transfers" +msgstr "Dosya Aktarımları" + +#: gajim/data/gui/shortcuts_window.ui:52 +#, fuzzy +msgid "Set the status message" +msgstr "durum ileti" + +#: gajim/data/gui/shortcuts_window.ui:59 +#, fuzzy +msgid "Show XML console" +msgstr "_XML Konsolu Göster" + +#: gajim/data/gui/shortcuts_window.ui:74 +#, fuzzy +msgid "Appearance" +msgstr "Sohbet Görünümü" + +#: gajim/data/gui/shortcuts_window.ui:79 +#, fuzzy +msgid "Show offline contacts" +msgstr "_Çevredışı Kişileri Göster" + +#: gajim/data/gui/shortcuts_window.ui:86 +#, fuzzy +msgid "Show only active contacts" +msgstr "Sadece _Çecredeki Kişileri Göster" + +#: gajim/data/gui/shortcuts_window.ui:93 +msgid "Enable contact list filtering" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:100 +#, fuzzy +msgid "Show / hide contact list" +msgstr "Sadece _Çecredeki Kişileri Göster" + +#: gajim/data/gui/shortcuts_window.ui:113 +#, fuzzy +msgid "Contact information" +msgstr "Kişisel Bilgisi" + +#: gajim/data/gui/shortcuts_window.ui:120 +#, fuzzy +msgid "Rename contact" +msgstr "Kişiyi yeniden adlandır" + +#: gajim/data/gui/shortcuts_window.ui:127 +#, fuzzy +msgid "Delete contact" +msgstr "Kişileri eşzamana getir" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +#, fuzzy +msgid "Chat" +msgstr "Sohbetler" + +#: gajim/data/gui/shortcuts_window.ui:142 +#, fuzzy +msgid "Message composition" +msgstr "İletin içindekiler" + +#: gajim/data/gui/shortcuts_window.ui:147 +#, fuzzy +msgid "Send the message" +msgstr "Mesajı gönder" + +#: gajim/data/gui/shortcuts_window.ui:154 +#, fuzzy +msgid "Add new line" +msgstr "Yeni posta yarat" + +#: gajim/data/gui/shortcuts_window.ui:161 +msgid "Select an emoji" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:168 +#, fuzzy +msgid "Complete a command or a nickname" +msgstr "Yeni posta yarat" + +#: gajim/data/gui/shortcuts_window.ui:175 +#, fuzzy +msgid "Previously sent message" +msgstr "Önceden hazırlanmış iletleri:" + +#: gajim/data/gui/shortcuts_window.ui:182 +#, fuzzy +msgid "Next sent messages" +msgstr "Önceden hazırlanmış iletleri:" + +#: gajim/data/gui/shortcuts_window.ui:189 +#, fuzzy +msgid "Quote previous message" +msgstr "durum ileti" + +#: gajim/data/gui/shortcuts_window.ui:196 +#, fuzzy +msgid "Quote next message" +msgstr "Mesajı gönder" + +#: gajim/data/gui/shortcuts_window.ui:203 +#, fuzzy +msgid "Clear message entry" +msgstr "Ileti alınıyor" + +#: gajim/data/gui/shortcuts_window.ui:211 +#, fuzzy +msgid "Recent history" +msgstr "Son Kullanılan:" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:230 +#, fuzzy +msgid "Clear chat window" +msgstr "Pencereyi gizler" + +#: gajim/data/gui/shortcuts_window.ui:237 +#, fuzzy +msgid "Show chat history" +msgstr "Son Kullanılan:" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:299 +msgid "Close chat" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:312 +#, fuzzy +msgid "Change Nickname" +msgstr "Takma Ad Ayarla" + +#: gajim/data/gui/chat_control.ui:48 +#, fuzzy +msgid "Drop files or contacts" +msgstr "Dosyayı bir kişiye gönderir" + +#: gajim/data/gui/chat_control.ui:80 +#, fuzzy +msgid "1" +msgstr "Yazıtipi" + +#: gajim/data/gui/chat_control.ui:101 +#, fuzzy +msgid "2 abc" +msgstr "Yazıtipi" + +#: gajim/data/gui/chat_control.ui:121 +#, fuzzy +msgid "3 def" +msgstr "Yazıtipi" + +#: gajim/data/gui/chat_control.ui:141 +#, fuzzy +msgid "4 ghi" +msgstr "Yazıtipi" + +#: gajim/data/gui/chat_control.ui:161 +#, fuzzy +msgid "5 jkl" +msgstr "Yazıtipi" + +#: gajim/data/gui/chat_control.ui:181 +#, fuzzy +msgid "6 mno" +msgstr "Yazıtipi" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "" + +#: gajim/data/gui/chat_control.ui:221 +#, fuzzy +msgid "8 tuv" +msgstr "Yazıtipi" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "" + +#: gajim/data/gui/chat_control.ui:261 +#, fuzzy +msgid "*" +msgstr "Yazıtipi" + +#: gajim/data/gui/chat_control.ui:281 +#, fuzzy +msgid "0" +msgstr "Yazıtipi" + +#: gajim/data/gui/chat_control.ui:301 +#, fuzzy +msgid "#" +msgstr "Yazıtipi" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "Sohbet _Başla" + +#: gajim/data/gui/contact_context_menu.ui:28 +msgid "Send _File..." +msgstr "_Dosya Gönder…" + +#: gajim/data/gui/contact_context_menu.ui:44 +msgid "Invite _Contacts" +msgstr "Kişi Davet _Et" + +#: gajim/data/gui/contact_context_menu.ui:58 +msgid "E_xecute Command..." +msgstr "Bir komut y_ürüt" + +#: gajim/data/gui/contact_context_menu.ui:67 +#, fuzzy +msgid "M_anage Contact" +msgstr "Kişiyi _işlet" + +#: gajim/data/gui/contact_context_menu.ui:77 +msgid "_Rename..." +msgstr "Adı _değiştir..." + +#: gajim/data/gui/contact_context_menu.ui:84 +msgid "Edit _Groups..." +msgstr "_Grupları biçimle…" + +#: gajim/data/gui/contact_context_menu.ui:92 +msgid "Add Special _Notification..." +msgstr "Özel Bildirim Ekle" + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "_Üyelik" + +#: gajim/data/gui/contact_context_menu.ui:115 +#, fuzzy +msgid "_Allow contact to see my status" +msgstr "Bu kişiye durumu görmeye hak ver" + +#: gajim/data/gui/contact_context_menu.ui:123 +#, fuzzy +msgid "A_sk to see contact status" +msgstr "Onun durumu görmeye _sor" + +#: gajim/data/gui/contact_context_menu.ui:131 +#, fuzzy +msgid "_Forbid contact to see my status" +msgstr "Ona benim durumu görmeye _yasak et" + +#: gajim/data/gui/contact_context_menu.ui:159 +msgid "_Unignore" +msgstr "_Yoksaymaktan kadır" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "_Yoksay" + +#: gajim/data/gui/contact_context_menu.ui:174 +#, fuzzy +msgid "_Add to Contact List..." +msgstr "Kişi _ekle" + +#: gajim/data/gui/single_message_window.ui:42 +#, fuzzy +msgid "_To" +msgstr "Kime" + +#: gajim/data/gui/single_message_window.ui:71 +#, fuzzy +msgid "Su_bject" +msgstr "Konu" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "" + +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "_İleti" + +#: gajim/data/gui/single_message_window.ui:144 +#, fuzzy +msgid "Characters typed: 0" +msgstr "Rahatsız etmeyin" + +#: gajim/data/gui/single_message_window.ui:189 +#, fuzzy +msgid "_From" +msgstr "Gönderen" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "Gön_der" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "Mesajı gönder" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "_Cevap" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "Bu ilete cevapla" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "_Gönder & Kapat" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "Bu ileti gönder ve pencereyi kapat" + +#: gajim/data/gui/vcard_information_window.ui:106 +#, fuzzy +msgid "Client" +msgstr "?Client:Bilinmez" + +#: gajim/data/gui/vcard_information_window.ui:140 +#, fuzzy +msgid "Contact time" +msgstr "İlk Ad:" + +#: gajim/data/gui/vcard_information_window.ui:240 +#, fuzzy +msgid "User avatar" +msgstr "Resim:" + +#: gajim/data/gui/vcard_information_window.ui:255 +#, fuzzy +msgid "Configured avatar" +msgstr "Avatarı değiştir" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +msgid "Ask" +msgstr "" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +#, fuzzy +msgid "Subscription" +msgstr "Üyelik:" + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +#, fuzzy +msgid "Extra Address" +msgstr "Ekstra Adres:" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +msgid "Address" +msgstr "Adres" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +#, fuzzy +msgid "E-Mail" +msgstr "E-Mail:" + +#: gajim/data/gui/vcard_information_window.ui:764 +#, fuzzy +msgid "Format: YYYY-MM-DD" +msgstr "geçersiz saat, format SS:DD şeklinde olmalı" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +#, fuzzy +msgid "Family" +msgstr "Ayle:" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +#, fuzzy +msgid "Middle" +msgstr "Orta Düğme" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +#, fuzzy +msgid "Prefix" +msgstr "Tercihler" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +msgid "Given" +msgstr "" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +#, fuzzy +msgid "Suffix" +msgstr "Son ek:" + +#: gajim/data/gui/vcard_information_window.ui:958 +#, fuzzy +msgid "Name Details" +msgstr "İsim:" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "" + +#: gajim/data/gui/vcard_information_window.ui:1017 +msgid "Personal Info" +msgstr "Kişimsel Bilgisi" + +#: gajim/data/gui/vcard_information_window.ui:1040 +#, fuzzy +msgid "Company" +msgstr "Firma:" + +#: gajim/data/gui/vcard_information_window.ui:1073 +#, fuzzy +msgid "Department" +msgstr "Departman:" + +#: gajim/data/gui/vcard_information_window.ui:1104 +#, fuzzy +msgid "Position" +msgstr "Tanımlanmamış Koşul" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "Rol" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +#, fuzzy +msgid "About" +msgstr "Hakkında" + +#: gajim/data/gui/vcard_information_window.ui:1514 +#, fuzzy +msgid "Comments" +msgstr "Yorumlar" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "Grupları biçimle" + +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "Şifre" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +#, fuzzy +msgid "Themes" +msgstr "Temalar" + +#: gajim/data/gui/themes_window.ui:171 +#, fuzzy +msgid "Add Setting" +msgstr "Bağlantı Kurulamıyor" + +#: gajim/data/gui/themes_window.ui:204 +#, fuzzy +msgid "Add new Theme" +msgstr "Yeni posta yarat" + +#: gajim/data/gui/themes_window.ui:219 +#, fuzzy +msgid "Remove Theme" +msgstr "Aktif" + +#: gajim/data/gui/bookmarks.ui:120 +#, fuzzy +msgid "Autojoin" +msgstr "Kendiliğinden Katıl" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "" + +#: gajim/data/gui/preferences.ui:68 +#, fuzzy +msgid "Contact List Appearance" +msgstr "Kişi listesindeki olayları göster" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +#, fuzzy +msgid "Chats" +msgstr "Sohbetler" + +#: gajim/data/gui/preferences.ui:215 +#, fuzzy +msgid "Visual Notifications" +msgstr "Görsel Bildirimler" + +#: gajim/data/gui/preferences.ui:243 +#, fuzzy +msgid "Sounds" +msgstr "Wav Sesleri" + +#: gajim/data/gui/preferences.ui:303 +#, fuzzy +msgid "Ask For Status Message on…" +msgstr "Durum ileti sor ben buysam:" + +#: gajim/data/gui/preferences.ui:331 +#, fuzzy +msgid "Automatic Status Change" +msgstr "Otomatik durum" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "" + +#: gajim/data/gui/preferences.ui:447 +#, fuzzy +msgid "Status Icon" +msgstr "Durum simgeler:" + +#: gajim/data/gui/preferences.ui:472 +msgid "Style" +msgstr "Biçem" + +#: gajim/data/gui/preferences.ui:511 +#, fuzzy +msgid "Show _Features" +msgstr "Özellikler:" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:632 +#, fuzzy +msgid "Audio" +msgstr "Ses testi" + +#: gajim/data/gui/preferences.ui:660 +#, fuzzy +msgid "Video" +msgstr "Video testi" + +#: gajim/data/gui/preferences.ui:698 +#, fuzzy +msgid "Audio/Video" +msgstr "Ses / Video" + +#: gajim/data/gui/preferences.ui:735 +#, fuzzy +msgid "Miscellaneous" +msgstr "Karışık" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:821 +#, fuzzy +msgid "Advanced Configuration Editor… " +msgstr "İlerlemiş Ayarlama Editörü" + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "" + +#: gajim/data/gui/server_info.ui:50 +msgid "Server Software" +msgstr "" + +#: gajim/data/gui/server_info.ui:80 +#, fuzzy +msgid "Server Uptime" +msgstr "MUC sunucusu" + +#: gajim/data/gui/server_info.ui:109 +#, fuzzy +msgid "Contact Addresses" +msgstr "Kişinin İleti:" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "" + +#: gajim/data/gui/server_info.ui:177 +#, fuzzy +msgid "Proxy Type" +msgstr "Prox_y:" + +#: gajim/data/gui/server_info.ui:192 +#, fuzzy +msgid "No proxy used" +msgstr "Prox_y:" + +#: gajim/data/gui/server_info.ui:202 +#, fuzzy +msgid "View _Certificate" +msgstr "%(nickname)s Girdi" + +#: gajim/data/gui/server_info.ui:222 +#, fuzzy +msgid "Proxy Host" +msgstr "Vekil _Makine:" + +#: gajim/data/gui/server_info.ui:421 +msgid "Copy info to clipboard" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:153 +#, fuzzy +msgid "Serial Number" +msgstr "GG Numara:" + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:304 +msgid "Expires on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:465 +#, fuzzy +msgid "Copy Certificate Information" +msgstr "Kişisel Bilgisi" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "Arkadaşları Davet Et!" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +#, fuzzy +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "(Burada %d seçtiğiniz varsayılıyor)\n" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +#, fuzzy +msgid "Please select a group chat server." +msgstr "Lütfen bir MUC sunucu seç." + +#: gajim/data/gui/chat_to_muc_window.ui:141 +#, fuzzy +msgid "Group chat server" +msgstr "Grup sohbetler" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +msgid "In_vite" +msgstr "Davet _et" + +#: gajim/data/gui/mam_preferences.ui:53 +#, fuzzy +msgid "_Default" +msgstr "Öntanımlı" + +#: gajim/data/gui/mam_preferences.ui:136 +#, fuzzy +msgid "Archive" +msgstr "Dosya boş" + +#: gajim/data/gui/history_manager.ui:11 +#, fuzzy +msgid "_Export" +msgstr "Dışa Aktar" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +msgid "Gajim History Logs Manager" +msgstr "Kayıt Tarihleri Yöneticisi" + +#: gajim/data/gui/history_manager.ui:104 +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" + +#: gajim/data/gui/history_manager.ui:120 +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" + +#: gajim/data/gui/history_manager.ui:211 +#, fuzzy +msgid "Search database..." +msgstr "Veritabanı _Ara" + +#: gajim/data/gui/history_manager.ui:226 +#, fuzzy +msgid "Search in database" +msgstr "Veritabanı _Ara" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" + +#: gajim/data/gui/groupchat_invite.ui:69 +#, fuzzy +msgid "Invitees" +msgstr "Davet _et" + +#: gajim/data/gui/groupchat_invite.ui:153 +#, fuzzy +msgid "Search contacts..." +msgstr "Veritabanı _Ara" + +#: gajim/data/gui/groupchat_invite.ui:223 +#, fuzzy +msgid "Click on contacts you would like to invite to this group chat." +msgstr "%s grup sohbete katıldı" + +#: gajim/data/gui/service_discovery_window.ui:148 +#, fuzzy +msgid "Go" +msgstr "G_it" + +#: gajim/data/gui/status_change_window.ui:27 +#, fuzzy +msgid "Change Status" +msgstr "Durumu Değiştir" + +#: gajim/data/gui/status_change_window.ui:56 +#, fuzzy +msgid "Status Presets…" +msgstr "durum ileti" + +#: gajim/data/gui/status_change_window.ui:72 +msgid "Save this message as a preset" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:130 +#, fuzzy +msgid "Ac_tivity" +msgstr "Etkinlik:" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:278 +#, fuzzy +msgid "_Change Status" +msgstr "Durumu Değiştir" + +#: gajim/data/gui/status_change_window.ui:313 +#, fuzzy +msgid "Activity" +msgstr "Etkinlik:" + +#: gajim/data/gui/status_change_window.ui:326 +#, fuzzy +msgid "_No Activity" +msgstr "Etkinlik:" + +#: gajim/data/gui/status_change_window.ui:729 +#, fuzzy +msgid "Mood" +msgstr "Değişken" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +#, fuzzy +msgid "Author" +msgstr "AU ayırıcı" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +#, fuzzy +msgid "Group Chat Language" +msgstr "Grup Sohbeti Daveti" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +#, fuzzy +msgid "Copy Address" +msgstr "AIM Adres:" + +#: gajim/data/gui/emoji_chooser.ui:98 +#, fuzzy +msgid "No Results Found" +msgstr "Telefon numara:" + +#: gajim/data/gui/xml_console.ui:8 +#, fuzzy +msgid "XML Console" +msgstr "_XML Konsolu Göster" + +#: gajim/data/gui/xml_console.ui:131 +#, fuzzy +msgid "Start Search..." +msgstr "Sohbet _Başla" + +#: gajim/data/gui/xml_console.ui:260 +#, fuzzy +msgid "Clear" +msgstr "Temizleniyor" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "" + +#: gajim/data/gui/xml_console.ui:316 +#, fuzzy +msgid "Presets" +msgstr "_Bulunma" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +#, fuzzy +msgid "Synchronise : select contacts" +msgstr "Lütfen sunucu seçiniz" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +#, fuzzy +msgid "Select the contacts you want to synchronise" +msgstr "(Burada %d seçtiğiniz varsayılıyor)\n" + +#: gajim/data/gui/groupchat_config.ui:51 +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:309 +#, fuzzy +msgid "Reserved Name" +msgstr "Tercih Adı" + +#: gajim/data/gui/groupchat_config.ui:346 +#, fuzzy +msgid "Affiliation" +msgstr "üyelik değişti" + +#: gajim/data/gui/groupchat_config.ui:377 +#, fuzzy +msgid "Affiliations" +msgstr "Uygulamalar" + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "Neden" + +#: gajim/data/gui/groupchat_config.ui:458 +#, fuzzy +msgid "Ban List" +msgstr "Geçersiz Liste İsmi" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "_Reddet" + +#: gajim/data/gui/subscription_request_window.ui:34 +#, fuzzy +msgid "_Block User" +msgstr "_Engelle" + +#: gajim/data/gui/subscription_request_window.ui:49 +#, fuzzy +msgid "_Report as Spam" +msgstr "_Hata Bildir" + +#: gajim/data/gui/subscription_request_window.ui:212 +#, fuzzy +msgid "_Deny…" +msgstr "_Reddet" + +#: gajim/data/gui/subscription_request_window.ui:225 +msgid "Ac_cept" +msgstr "" + +#: gajim/data/gui/subscription_request_window.ui:230 +#, fuzzy +msgid "Allows the contact to see your online status" +msgstr "Bu kişiye durumu görmeye hak ver" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:115 +#, fuzzy +msgid "_Report Bug" +msgstr "_Hata Bildir" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "Olay" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "Ses seç" + +#: gajim/data/gui/manage_sounds.ui:97 +#, fuzzy +msgid "Clear Sound" +msgstr "Ses seç" + +#: gajim/data/gui/manage_sounds.ui:118 +#, fuzzy +msgid "Play Sound" +msgstr "_Sesleri çal" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +#, fuzzy +msgid "_Send Files" +msgstr "_Dosya Gönder…" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +#, fuzzy +msgid "Send" +msgstr "_Gönder" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +#, fuzzy +msgid "Files to send" +msgstr "%s size bir dosya göndermek istiyor:" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +#, fuzzy +msgid "Add Files" +msgstr "Dosya: " + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +#, fuzzy +msgid "Remove Files" +msgstr "_Kaldır" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +#, fuzzy +msgid "Idle since:" +msgstr "Üye olduğu süre:" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +msgid "Mood:" +msgstr "Ruh Hali:" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +msgid "Activity:" +msgstr "Etkinlik:" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +#, fuzzy +msgid "Tune:" +msgstr "Albüm Ayarı" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +#, fuzzy +msgid "Location:" +msgstr "Yer:" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +#, fuzzy +msgid "Subscription:" +msgstr "Üyelik:" + +#: gajim/data/gui/advanced_configuration.ui:15 +msgid "A restart may be required for some settings to take effect" +msgstr "" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "" + +#: gajim/data/gui/advanced_configuration.ui:120 +#, fuzzy +msgid "_Reset Value" +msgstr "Öntanımlı değerlerine geri al" + +#: gajim/data/gui/advanced_configuration.ui:125 +#, fuzzy +msgid "Resets value to default" +msgstr "Öntanımlı değerlerine geri al" + +#: gajim/data/gui/history_window.ui:27 +#, fuzzy +msgid "Display status changes" +msgstr "Tüm _durum değişikliklerini sistem günlüğüne kaydet" + +#: gajim/data/gui/history_window.ui:57 +#, fuzzy +msgid "History Manager" +msgstr "Paket Yöneticisi" + +#: gajim/data/gui/history_window.ui:233 +#, fuzzy +msgid "Mode" +msgstr "Moderatör" + +#: gajim/data/gui/history_window.ui:246 +#, fuzzy +msgid "Search complete history" +msgstr "Son Kullanılan:" + +#: gajim/data/gui/history_window.ui:263 +msgid "Search selected day only" +msgstr "" + +#: gajim/data/gui/history_window.ui:317 +#, fuzzy +msgid "Store history for this chat" +msgstr "Bu imza için bir yürürlükten kaldırma sertifikası oluşturulsun mu? " + +#: gajim/data/gui/history_window.ui:332 +#, fuzzy +msgid "Store History" +msgstr "Son Kullanılan:" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +#, fuzzy +msgid "Identified Error" +msgstr "Bir hata oluştu:" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +#, fuzzy +msgid "" +msgstr "Hata" + +#: gajim/data/gui/ssl_error_dialog.ui:74 +#, fuzzy +msgid "Add this certificate to the list of _trusted certificates" +msgstr "" +"Bu doğruluk belgeyi bilinen doğruluk belgelere kat.\n" +"SHA1 doğruluk belgenin parmakizi:\n" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +#, fuzzy +msgid "_View Certificate" +msgstr "%(nickname)s Girdi" + +#: gajim/data/gui/ssl_error_dialog.ui:120 +#, fuzzy +msgid "_Connect" +msgstr "Bağlantılı" + +#: data/org.gajim.Gajim.desktop.in:5 +#, fuzzy +msgid "XMPP Chat Client" +msgstr "Jabber IM İstemcisi" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:8 +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:27 +#, fuzzy +msgid "Show next pending event" +msgstr "Bütün Bekleyen _Olayları Göster" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:17 +#, fuzzy +msgid "Features:" +msgstr "Özellikler:" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +#, fuzzy +msgid "Automatic spell-checking for your messages" +msgstr "Önceden hazırlanmış Durum İletleri" + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +msgid "Support for service discovery including nodes and search for users" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +#, fuzzy +msgid "Contact list" +msgstr "Kişiler" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +#, fuzzy +msgid "Group chat support" +msgstr "Grup sohbetler" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +#, fuzzy +msgid "Chat history" +msgstr "Son Kullanılan:" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +#, fuzzy +msgid "Plugin manager" +msgstr "Bağlantı Kurulamıyor" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +#, fuzzy +msgid "Gajim Team" +msgstr "Gajim - %s" + +#, fuzzy +#~ msgid "Chat Settings" +#~ msgstr "Bağlantı Kurulamıyor" + +#~ msgid "Composing only" +#~ msgstr "Sadece yazıştırıyor" + +#~ msgid "All chat states" +#~ msgstr "Bütün sohbet durumlar" + +#, fuzzy +#~ msgid "Privacy Lists" +#~ msgstr "Kişisel Gizlilik Listesini biçimle" + +#, fuzzy +#~ msgid "Unblock" +#~ msgstr "Engellemeyi _Kaldır" + +#, fuzzy +#~ msgid "Block" +#~ msgstr "_Engelle" + +#~ msgid "None" +#~ msgstr "Hiçbiri" + +#, fuzzy, python-format +#~ msgid "%s Status Message" +#~ msgstr "durum ileti" + +#~ msgid "an audio and video" +#~ msgstr "bir ses ve video" + +#~ msgid "an audio" +#~ msgstr "bir ses" + +#~ msgid "a video" +#~ msgstr "bir video" + +#~ msgid "Could not load image" +#~ msgstr "Resim acılamadı" + +#~ msgid "Error." +#~ msgstr "Hata." + +#, fuzzy, python-format +#~ msgid "%(type)s state : %(state)s, reason: %(reason)s" +#~ msgstr "Sohbet durum haberleri _göster:" + +#, fuzzy +#~ msgid "_Block Contact" +#~ msgstr "Engellenmiş Kişiler" + +#, fuzzy +#~ msgid "Block Group" +#~ msgstr "_Engelle" + +#, fuzzy +#~ msgid "Really block this group?" +#~ msgstr "Bu bağlantı için her zaman kabul et" + +#, fuzzy +#~ msgid "_Block Group" +#~ msgstr "_Engelle" + +#~ msgid "No account available" +#~ msgstr "Hiç bir hesap bulunmiyor" + +#, fuzzy, python-brace-format +#~ msgid "You are invited to {room} by {user}" +#~ msgstr "" +#~ "Şuraya bir yorum gönderiyorsunuz:\n" +#~ " " + +#, fuzzy +#~ msgid "Error While Removing Privacy List" +#~ msgstr "Eklentilerin etkinleştirilmesinde hata #%d." + +#, fuzzy +#~ msgid "Invisibility Not Supported" +#~ msgstr "Görünmezlik desteklenmiyor" + +#, fuzzy, python-format +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "%s hesabı görünmezliği desteklemiyor." + +#, fuzzy +#~ msgid "Could not request upload slot for HTTP File Upload" +#~ msgstr "%s: \"%s\" servisi başlatılamadı: Hata kodu %d\n" + +#, fuzzy +#~ msgid "Not Secure" +#~ msgstr "Başlatılmadı" + +#, fuzzy +#~ msgid "Could not Upload File" +#~ msgstr "Resim acılamadı" + +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "'key'in değerini 'value' değere kurar" + +#~ msgid "key=value" +#~ msgstr "anahtar=değer" + +#, fuzzy +#~ msgid "Deletes a preference item" +#~ msgstr "Günün İletisini Sil" + +#~ msgid "key" +#~ msgstr "anahtar" + +#, fuzzy +#~ msgid "name of the preference to be deleted" +#~ msgstr "Lütfen eklemek istediğiniz grubun adını girin." + +#, fuzzy, python-format +#~ msgid "Creating %s" +#~ msgstr "Yaratıcı" + +#, python-format +#~ msgid "%(nickname)s Signed In" +#~ msgstr "%(nickname)s Girdi" + +#~ msgid "Contact Signed In" +#~ msgstr "Bağlantı Giriş Yaptı" + +#, python-format +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "%(nickname)s Çıktı" + +#~ msgid "Contact Signed Out" +#~ msgstr "Bağlantı Çıkış Yaptı" + +#~ msgid "default" +#~ msgstr "öntanımlı" + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending password on an plaintext connection. " +#~ "Can be 'warn', or 'none'." +#~ msgstr "" +#~ "Bunu işaretleyince Gajim göndermeden sorar parolayı tehlikeli bir " +#~ "bağlantı üzerinden göndersin mi diye." + +#, fuzzy +#~ msgid "I'm available." +#~ msgstr "Mevcut Değil" + +#~ msgid "I'm free for chat." +#~ msgstr "Sohbet için Hazırım" + +#, fuzzy +#~ msgid "Be right back." +#~ msgstr "Hemen Dönecek" + +#, fuzzy +#~ msgid "I'm not available." +#~ msgstr "Mevcut Değil" + +#~ msgid "Do not disturb." +#~ msgstr "Rahatsız Etme." + +#~ msgid "Bye!" +#~ msgstr "Güle Güle!" + +#, fuzzy +#~ msgid "Timeout loading image" +#~ msgstr "Resimi Farklı Kaydet..." + +#~ msgid "Image is too big" +#~ msgstr "Resim çok büyük" + +#, fuzzy +#~ msgid "PyCURL is not installed" +#~ msgstr "Sertifika henüz geçerli değil" + +#, fuzzy +#~ msgid "Error loading image" +#~ msgstr "Resimi Farklı Kaydet..." + +#~ msgid "Blocked Contacts" +#~ msgstr "Engellenmiş Kişiler" + +#, fuzzy +#~ msgid "Group chat" +#~ msgstr "Grup sohbetler" + +#, fuzzy +#~ msgid "Bookmark group chat" +#~ msgstr "Bu odayi yer imle" + +#, fuzzy +#~ msgid "Bookmark" +#~ msgstr "_Yer imi" + +#, fuzzy +#~ msgid "Recently used group chats" +#~ msgstr "grupdaki herkez" + +#, fuzzy +#~ msgid "Clear Avatar" +#~ msgstr "Avatarı değiştir" + +#, fuzzy +#~ msgid "Set Avatar…" +#~ msgstr "Resim seç" + +#, fuzzy +#~ msgid "Contact" +#~ msgstr "?Time:Bilinmez" + +#, fuzzy +#~ msgid "_Leave Group Chat" +#~ msgstr "Tam-Ekrandan Çık" + +#, fuzzy +#~ msgid "Enter a new name for this group chat" +#~ msgstr "Grup %s için yeni isim giriniz: " + +#, fuzzy +#~ msgid "Use default applications" +#~ msgstr "Herzaman öntanımlı KDE uygulamaları kullan" + +#~ msgid "Custom" +#~ msgstr "Özel" + +#, fuzzy +#~ msgid "Pop it up" +#~ msgstr "Olaylamak için bir daha tuşla:" + +#~ msgid "Notify me about it" +#~ msgstr "Ona dair bana haber ver" + +#, fuzzy +#~ msgid "Show only in contact list" +#~ msgstr "Sadece _Çecredeki Kişileri Göster" + +#, fuzzy +#~ msgid "No status messages" +#~ msgstr "durum ileti" + +#, fuzzy +#~ msgid "All status messages" +#~ msgstr "durum ileti" + +#, fuzzy +#~ msgid "Only enter/leave messages" +#~ msgstr "Okunmamış iletler var" + +#, fuzzy +#~ msgid "Me_rge accounts" +#~ msgstr "Hesapları bir_leştir" + +#, fuzzy +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "Kişi listesindeki olayları göster" + +#, fuzzy +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "Grup sohbetine girilemiyor" + +#, fuzzy +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "Tüm _durum değişikliklerini sistem günlüğüne kaydet" + +#, fuzzy +#~ msgid "in _contact list" +#~ msgstr "Kişileri eşzamana getir" + +#, fuzzy +#~ msgid "in _group chats" +#~ msgstr "grupdaki herkez" + +#, fuzzy +#~ msgid "Enable spell _checking" +#~ msgstr "Tamamlanmamış yazım denetimi kaydı" + +#, fuzzy +#~ msgid "Display status messages in _single chats" +#~ msgstr "Tüm _durum değişikliklerini sistem günlüğüne kaydet" + +#, fuzzy +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "Grup sohbetine girilemiyor" + +#, fuzzy +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "Grup sohbetine girilemiyor" + +#, fuzzy +#~ msgid "Show status changes (Default)" +#~ msgstr "Tüm _durum değişikliklerini sistem günlüğüne kaydet" + +#, fuzzy +#~ msgid "Chatstate" +#~ msgstr "Son durum: %s" + +#, fuzzy +#~ msgid "_When new event is received" +#~ msgstr "Yeni olay alınca:" + +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "_Giren kişilerden haber ver" + +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "_Çıkan kişilerden haber ver" + +#~ msgid "Play _sounds" +#~ msgstr "_Sesleri çal" + +#~ msgid "Ma_nage..." +#~ msgstr "Yön_et..." + +#, fuzzy +#~ msgid "Allow playing sounds when I'm _busy" +#~ msgstr "Meşgulsem ses vermeye izin ver" + +#, fuzzy +#~ msgid "No_t Available" +#~ msgstr "Mevcut Değil" + +#, fuzzy +#~ msgid "Minutes" +#~ msgstr "dakika" + +#~ msgid "Default Message" +#~ msgstr "Öntanımlı İlet" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "durum ileti" + +#, fuzzy +#~ msgid "Preset Status Messages" +#~ msgstr "Önceden hazırlanmış Durum İletleri" + +#, fuzzy +#~ msgid "_Theme" +#~ msgstr "Temalar" + +#, fuzzy +#~ msgid "Video output" +#~ msgstr "video çıktısı" + +#, fuzzy +#~ msgid "Video si_ze" +#~ msgstr "Video testi" + +#~ msgid "_Manage..." +#~ msgstr "_Yönet..." + +#, fuzzy +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "Tüm _durum değişikliklerini sistem günlüğüne kaydet" + +#, fuzzy +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "İşaretliyse, Gajim bu hesapının parolayı hatırlar" + +#~ msgid "_Open..." +#~ msgstr "_Aç..." + +#, fuzzy +#~ msgid "_Filter" +#~ msgstr "Filtre:" + +#, fuzzy +#~ msgid "Protocol" +#~ msgstr "_Protokol:" + +#~ msgid "Privacy Lists:" +#~ msgstr "Kişisel Gizlilik Listesi:" + +#, fuzzy +#~ msgid "_Ignore this error for this certificate" +#~ msgstr "Bu imza için bir yürürlükten kaldırma sertifikası oluşturulsun mu? " + +#, fuzzy +#~ msgid "Message..." +#~ msgstr "İleti" + +#, fuzzy +#~ msgid "Preset _messages" +#~ msgstr "Önceden hazırlanmış iletleri:" + +#, fuzzy +#~ msgid "_Type your new status message" +#~ msgstr "Yeni durum ileti yaz" + +#, fuzzy +#~ msgid "Change Status Message…" +#~ msgstr "Durum ileti değiştir" + +#~ msgid "Mood:" +#~ msgstr "Ruh Hali:" + +#~ msgid "Message:" +#~ msgstr "Mesaj:" + +#~ msgid "none" +#~ msgstr "hiç biri" + +#~ msgid "both" +#~ msgstr "ikiside" + +#~ msgid "from" +#~ msgstr "gönderen" + +#~ msgid "to" +#~ msgstr "kime" + +#, fuzzy +#~ msgid "Privacy List" +#~ msgstr "Geçersiz Liste İsmi" + +#~ msgid "Privacy List" +#~ msgstr "Gizlilik Listesi" + +#, fuzzy +#~ msgid "Active for this session" +#~ msgstr "Bu olay için varolan sesi _engelle" + +#, fuzzy +#~ msgid "Active on each startup" +#~ msgstr "Gajim açılırken bağlan" + +#~ msgid "List of rules" +#~ msgstr "Kural listesi" + +#, fuzzy +#~ msgid "Add / Edit a rule" +#~ msgstr "Kişisel ilanlar sayfayı yazımla" + +#~ msgid "Allow" +#~ msgstr "İzin ver" + +#~ msgid "Deny" +#~ msgstr "Reddet" + +#~ msgid "all in the group" +#~ msgstr "grupdaki herkez" + +#, fuzzy +#~ msgid "all by subscription" +#~ msgstr "Üyelik ileti _kaydet" + +#~ msgid "All" +#~ msgstr "Hepsi" + +#~ msgid "to send me messages" +#~ msgstr "bana mesaj göndermek için" + +#, fuzzy +#~ msgid "to send me queries" +#~ msgstr "bana mesaj göndermek için" + +#, fuzzy +#~ msgid "to view my status" +#~ msgstr "Onun durumu görmeye _sor" + +#, fuzzy +#~ msgid "to send me status" +#~ msgstr "bana mesaj göndermek için" + +#, fuzzy +#~ msgid "All (including subscription)" +#~ msgstr "Üyelik ileti _kaydet" + +#~ msgid "Order:" +#~ msgstr "Sıralama:" + +#, fuzzy +#~ msgid "Contact List Shortcuts" +#~ msgstr "Kişi listesindeki olayları göster" + +#~ msgid "Fill in the form." +#~ msgstr "Formu doldur." + +#~ msgid "Set an activity" +#~ msgstr "Bir etkinlik ayarla" + +#~ msgid "Message: " +#~ msgstr "Mesaj: " + +#, fuzzy, python-format +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "Bunu %s buna %s gönder" + +#, fuzzy +#~ msgid "Group Chat Invitation " +#~ msgstr "Grup Sohbeti Daveti" + +#, fuzzy, python-format +#~ msgid "Comment: %s" +#~ msgstr "Yorum:" + +#, fuzzy +#~ msgid "Off" +#~ msgstr "Bağlı değil" + +#, fuzzy +#~ msgid "Retrieving profile…" +#~ msgstr "Profil alınıyor…" + +#, fuzzy +#~ msgid "Wrong date format" +#~ msgstr "Kişisel Bilgisi" + +#, fuzzy +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "geçersiz saat, format SS:DD şeklinde olmalı" + +#~ msgid "Information received" +#~ msgstr "Bilgi alındı" + +#, fuzzy +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "Bağlantızıs kişisel ilanlar sayfayı yazımlayanmiyor" + +#, fuzzy +#~ msgid "Sending profile…" +#~ msgstr "Profil gönderiliyor…" + +#, fuzzy +#~ msgid "Information NOT published" +#~ msgstr "Rahatsız etmeyin" + +#, fuzzy +#~ msgid "vCard publication failed" +#~ msgstr "Kişisel ilet gönderimi başarısız" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "" +#~ "Kişisel ilanlar sayfayı yayınlarken bir hata çıktı, sonra bir daha prova " +#~ "et." + +#, fuzzy +#~ msgid "?password:Hidden" +#~ msgstr "Parola:" + +#, fuzzy, python-format +#~ msgid "Privacy List %s" +#~ msgstr "Geçersiz Liste İsmi" + +#, fuzzy, python-format +#~ msgid "Privacy List for %s" +#~ msgstr "Sohbet için Hazır" + +#, fuzzy, python-format +#~ msgid "" +#~ "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" +#~ msgstr " Etiket Tip İsim/Değer\n" + +#, fuzzy, python-format +#~ msgid "Order: %(order)s, action: %(action)s" +#~ msgstr "Desteklenmeyen eylem '%s'" + +#, fuzzy +#~ msgid "Edit a rule" +#~ msgstr "Kural ekle" + +#~ msgid "Add a rule" +#~ msgstr "Kural ekle" + +#, fuzzy, python-format +#~ msgid "Privacy Lists for %s" +#~ msgstr "Kişisel Gizlilik Listesini biçimle" + +#~ msgid "Invalid List Name" +#~ msgstr "Geçersiz Liste İsmi" + +#, fuzzy +#~ msgid "Loading" +#~ msgstr "Kodlamada" + +#, fuzzy +#~ msgid "status message title" +#~ msgstr "Durum ileti değiştir" + +#, fuzzy +#~ msgid "status message text" +#~ msgstr "Durum ileti değiştir" + +#, fuzzy +#~ msgid "Start New Conversation" +#~ msgstr "Devam edilen sohbet" + +#, fuzzy +#~ msgid "Unknown SSL error: %d" +#~ msgstr "Bir hata oluştu:" + +#~ msgid "Gajim - %s" +#~ msgstr "Gajim - %s" + +#, fuzzy +#~ msgid "Choose interval between 2 checks of idleness." +#~ msgstr "Denetimler arasındaki süre %lu saniye olarak belirleniyor\n" + +#, fuzzy +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "Oynatıcı için erişim türü kullanılır değil: %s\n" + +#~ msgid "_Reconnect" +#~ msgstr "_Yeniden bağlan" + +#, fuzzy +#~ msgid "Show Contact List" +#~ msgstr "Sadece _Çecredeki Kişileri Göster" + +#, fuzzy +#~ msgid "Add to Contact List" +#~ msgstr "Kişi _ekle" + +#, fuzzy +#~ msgid "Invite Contact" +#~ msgstr "Kişi Davet _Et" + +#, fuzzy +#~ msgid "Configure Group Chat" +#~ msgstr "Tam-Ekrandan Çık" + +#, fuzzy +#~ msgid "Invalid character in hostname." +#~ msgstr "İpucunda geçersiz %s karakteri" + +#, fuzzy +#~ msgid "Server address required." +#~ msgstr "Lütfen sunucu seçiniz" + +#, fuzzy +#~ msgid "Invalid character in username." +#~ msgstr "İpucunda geçersiz %s karakteri" + +#, fuzzy +#~ msgid "Invalid character in resource." +#~ msgstr "İpucunda geçersiz %s karakteri" + +#, fuzzy +#~ msgid "Notification color for contacts signing in." +#~ msgstr "_Giren kişilerden haber ver" + +#, fuzzy +#~ msgid "Notification color for contacts signing out." +#~ msgstr "_Çıkan kişilerden haber ver" + +#, fuzzy +#~ msgid "Notification color for new message notification." +#~ msgstr "Dosya Gönderme Tamamlandı" + +#, fuzzy +#~ msgid "Notification color for file transfer request." +#~ msgstr "_Bir dosya aktarımı tamamlandığında beni bilgilendir" + +#, fuzzy +#~ msgid "Notification color for file transfer errors." +#~ msgstr "_Bir dosya aktarımı tamamlandığında beni bilgilendir" + +#, fuzzy +#~ msgid "Event Type" +#~ msgstr "Olay" + +#, fuzzy +#~ msgid "Event desc" +#~ msgstr "Olay" + +#, fuzzy +#~ msgid "No response from the Server" +#~ msgstr "Şu anda bir veritabanına bağlı değilsiniz.\n" + +#~ msgid "Resource Conflict" +#~ msgstr "Kaynak Çarpışması" + +#, fuzzy +#~ msgid "Unable to load image" +#~ msgstr "Yüklenecek Lua arayüz modülü" + +#, fuzzy +#~ msgid "Media type not supported: %s" +#~ msgstr "Rahatsız etmeyin" + +#~ msgid "new@jabber.id" +#~ msgstr "yeni@jabber.kimliği" + +#~ msgid "new%d@jabber.id" +#~ msgstr "yeni%d@jabber.kimliği" + +#~ msgid "video output" +#~ msgstr "video çıktısı" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Gajim: Hesap oluşturma yardımcı" + +#, fuzzy +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "Önce bir hesap lazım Jabber ağa\n" +#~ "bağlanmak için" + +#~ msgid "I already have an account I want to _use" +#~ msgstr "Benim _kullanmak istediyim bir hesapım var bile" + +#~ msgid "I want to _register for a new account" +#~ msgstr "Yeni bir hesap _kaydetmek istiyorum" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "Lütfen altdaki seçeneklerinden birini seçiniz:" + +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "Lütfen varolan hesapının verisini doldurun" + +#, fuzzy +#~ msgid "_XMPP Address:" +#~ msgstr "AIM Adres:" + +#~ msgid "Anon_ymous authentication" +#~ msgstr "Kimliksiz kimlik doğrulaması" + +#~ msgid "_Password:" +#~ msgstr "_Parola:" + +#~ msgid "Save pass_word" +#~ msgstr "Parola_yı hatırla" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "İşaretliyse, Gajim bu hesapının parolayı hatırlar" + +#~ msgid "Please select a server" +#~ msgstr "Lütfen sunucu seçiniz" + +#~ msgid "_Server:" +#~ msgstr "_Sunuc:" + +#~ msgid "Manage..." +#~ msgstr "Yönet..." + +#~ msgid "_Port:" +#~ msgstr "_Porta:" + +#~ msgid "_Advanced" +#~ msgstr "_İlerle" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA1 fingerprint of the certificate:\n" +#~ msgstr "" +#~ "Bu doğruluk belgeyi bilinen doğruluk belgelere kat.\n" +#~ "SHA1 doğruluk belgenin parmakizi:\n" + +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "Sucucuya bağlanılıyor\n" +#~ "\n" +#~ "Bekleyiniz lütfen..." + +#~ msgid "Connect when I press Finish" +#~ msgstr "Bitir tıklayınca bağlan" + +#~ msgid "Set my profile when I connect" +#~ msgstr "Profilimi belir bağlanırsam" + +#~ msgid "_Finish" +#~ msgstr "_Bitir" + +#~ msgid "Invalid username" +#~ msgstr "Geçersiz kullanıcı adı" + +#~ msgid "Invalid server" +#~ msgstr "Geçersiz sunucu" + +#, fuzzy +#~ msgid "Invalid entry" +#~ msgstr "Geçersiz takma ad" + +#, fuzzy +#~ msgid "Certificate Already in File" +#~ msgstr "Dosyası zaten var" + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA-256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Bu doğruluk belgeyi bilinen doğruluk belgelere kat.\n" +#~ "SHA1 doğruluk belgenin parmakizi:\n" + +#, fuzzy +#~ msgid "Account name is in use" +#~ msgstr "Bu sohbet adı zaten kullanımda" + +#, fuzzy +#~ msgid "If enabled, a whitespace is sent after inactivity (keep alive)." +#~ msgstr "|N|N saniyelik durgunluktan sonra kartı ayırır" + +#, fuzzy +#~ msgid "Reconnect manually." +#~ msgstr "_Elle gir" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "Resim acılamadı" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "Resim acılamadı" + +#, fuzzy +#~ msgid "Server replied: %s" +#~ msgstr "MUC sunucusu" + +#, fuzzy +#~ msgid "Connection to proxy failed" +#~ msgstr "\"%s\" veritabanına bağlantı başarısız oldu: %s" + +#, fuzzy +#~ msgid "Could not connect to account %s" +#~ msgstr "%s: %s veritabanına bağlanılamadı\n" + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "HTTP Bağlantı" + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "BOSH" +#~ msgstr "BOSH" + +#~ msgid "Use HTTP prox_y" +#~ msgstr "HTTP _vekili kullan" + +#, fuzzy +#~ msgid "_BOSH URL" +#~ msgstr "_BOSH URL:" + +#, fuzzy +#~ msgid "BOSH" +#~ msgstr "BOSH" + +#, fuzzy +#~ msgid "Warn on insecure connection" +#~ msgstr "Tehlikeli bağlantı kurmadan önce uyar" + +#, fuzzy +#~ msgid "Contact list, list of contacts" +#~ msgstr "Tüm _durum değişikliklerini sistem günlüğüne kaydet" + +#~ msgid "_Disconnect" +#~ msgstr "Bağlantıyı _kes" + +#~ msgid "Invisible" +#~ msgstr "Görünmez" + +#, fuzzy +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "[%s sayfasını okuyamazsınız.]" + +#~ msgid "_Invisible" +#~ msgstr "Görünmez" + +#, fuzzy +#~ msgid "_Cancel Upload" +#~ msgstr "_İptal" + +#, fuzzy +#~ msgid " [blocked]" +#~ msgstr "Engellenmiş" + +#, fuzzy +#~ msgid " [minimized]" +#~ msgstr "Küçültülmüş" + +#, fuzzy +#~ msgid "Unregister Failed" +#~ msgstr "Bağlantı Kurulamıyor" + +#, fuzzy +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "Sunucuyla iletişimde kurulurken hata oluştu. Bağlantı kapatılıyor." + +#, fuzzy +#~ msgid "New Password" +#~ msgstr "Parolayı Değiştir" + +#~ msgid "What do you want to do?" +#~ msgstr "Ne yapmak istiyorsun?" + +#, fuzzy +#~ msgid "You must enter a password" +#~ msgstr "Bir parola girmelisiniz." + +#, fuzzy +#~ msgid "You still have open chats in your account %s" +#~ msgstr "Bir hesap seçmek zorundasınız." + +#, fuzzy +#~ msgid "Password required" +#~ msgstr "Şifre gerekli" + +#, fuzzy +#~ msgid "Still connected to the server" +#~ msgstr "Şu anda bir veritabanına bağlı değilsiniz.\n" + +#, fuzzy +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "ping: Bağlanılan sunucuya PING at." + +#, fuzzy +#~ msgid "Connection to server %s failed" +#~ msgstr "" +#~ "Sucucuya bağlanılıyor\n" +#~ "\n" +#~ "Bekleyiniz lütfen..." + +#, fuzzy +#~ msgid "What would you like to do?" +#~ msgstr "Seni benim kişi listeye eklemek isterdim" + +#, fuzzy +#~ msgid "Remove only from Gajim" +#~ msgstr "Gruptan kullanıcı çıkart:" + +#, fuzzy +#~ msgid "Contents" +#~ msgstr "Mutlu" + +#~ msgid "Enter a new nickname for contact %s" +#~ msgstr "Bu kişi için %s yeni bir takma ad girin." + +#, fuzzy +#~ msgid "Join a group chat" +#~ msgstr "grupdaki herkez" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "Hesaplar" + +#~ msgid "New entry received" +#~ msgstr "Yeni kayıt alındı" + +#~ msgid "You have received new entry:" +#~ msgstr "Yeni bir kayıt alındı:" + +#, fuzzy +#~ msgid "Feed name:" +#~ msgstr "İlk Ad:" + +#~ msgid "Last modified:" +#~ msgstr "Son değişiklik:" + +#, fuzzy +#~ msgid "Send file?" +#~ msgstr "_Dosya Gönder…" + +#, fuzzy +#~ msgid "Mail _client" +#~ msgstr "?Client:Bilinmez" + +#, fuzzy +#~ msgid "_Browser" +#~ msgstr "_Tarayıcı:" + +#, fuzzy +#~ msgid "_File manager" +#~ msgstr "_Dosya yönetici" + +#, fuzzy +#~ msgid "Custom applications" +#~ msgstr "Herzaman öntanımlı KDE uygulamaları kullan" + +#, fuzzy +#~ msgid "Applications" +#~ msgstr "Uygulamalar" + +#, fuzzy +#~ msgid "RST XHTML Generator" +#~ msgstr "sequence üretecinin tanımını değiştir" + +#, fuzzy +#~ msgid "Requires: python-docutils" +#~ msgstr "Python Programlama Dili" + +#~ msgid "New Single Message" +#~ msgstr "Yeni Tek İleti" + +#~ msgid "Error %(code)s: %(msg)s" +#~ msgstr "Hata %(code)s: %(msg)s" + +#~ msgid "twelve" +#~ msgstr "oniki" + +#~ msgid "one" +#~ msgstr "bir" + +#~ msgid "two" +#~ msgstr "iki" + +#~ msgid "three" +#~ msgstr "üç" + +#~ msgid "four" +#~ msgstr "dört" + +#~ msgid "five" +#~ msgstr "beş" + +#~ msgid "six" +#~ msgstr "altı" + +#~ msgid "seven" +#~ msgstr "yedi" + +#~ msgid "eight" +#~ msgstr "sekiz" + +#~ msgid "nine" +#~ msgstr "dokuz" + +#~ msgid "ten" +#~ msgstr "on" + +#~ msgid "eleven" +#~ msgstr "onbir" + +#, fuzzy +#~ msgid "%(0)s o'clock" +#~ msgstr "Saat" + +#, fuzzy +#~ msgid "five past %(0)s" +#~ msgstr "Önceki Çevirmenler" + +#, fuzzy +#~ msgid "ten past %(0)s" +#~ msgstr "Önceki Çevirmenler" + +#, fuzzy +#~ msgid "quarter past %(0)s" +#~ msgstr "Önceki Çevirmenler" + +#, fuzzy +#~ msgid "twenty past %(0)s" +#~ msgstr "Önceki Çevirmenler" + +#, fuzzy +#~ msgid "twenty five past %(0)s" +#~ msgstr "geçen ilk satır" + +#, fuzzy +#~ msgid "half past %(0)s" +#~ msgstr "Önceki Çevirmenler" + +#, fuzzy +#~ msgid "twenty five to %(1)s" +#~ msgstr "Durumu a_yarla" + +#, fuzzy +#~ msgid "twenty to %(1)s" +#~ msgstr "Bunu %s buna %s gönder" + +#, fuzzy +#~ msgid "quarter to %(1)s" +#~ msgstr "Bunu %s buna %s gönder" + +#, fuzzy +#~ msgid "ten to %(1)s" +#~ msgstr "Bunu %s buna %s gönder" + +#, fuzzy +#~ msgid "five to %(1)s" +#~ msgstr "Bunu %s buna %s gönder" + +#, fuzzy +#~ msgid "%(1)s o'clock" +#~ msgstr "Saat" + +#~ msgid "Night" +#~ msgstr "Gece" + +#, fuzzy +#~ msgid "Early morning" +#~ msgstr "Erken satıriçine alma uygulanır" + +#~ msgid "Morning" +#~ msgstr "Sabah" + +#~ msgid "Almost noon" +#~ msgstr "Az kalsın öylen" + +#~ msgid "Noon" +#~ msgstr "Öylen" + +#~ msgid "Afternoon" +#~ msgstr "Öğleden sonra" + +#~ msgid "Evening" +#~ msgstr "Akşam" + +#, fuzzy +#~ msgid "Late evening" +#~ msgstr "Geciken kareleri düşür" + +#, fuzzy +#~ msgid "Start of week" +#~ msgstr "Sohbet _Başla" + +#, fuzzy +#~ msgid "Middle of week" +#~ msgstr "Orta Düğme" + +#, fuzzy +#~ msgid "End of week" +#~ msgstr "Ayrıştırmayı bitir" + +#~ msgid "Weekend!" +#~ msgstr "Hafta sonu!" + +#~ msgid "message" +#~ msgstr "mesaj" + +#, fuzzy +#~ msgid "error: %s" +#~ msgstr "Hata: %s" + +#, fuzzy +#~ msgid "Form: %s" +#~ msgstr "Form" + +#, fuzzy +#~ msgid "XML Input" +#~ msgstr "ses girdisi" + +#, fuzzy +#~ msgid "Ttitle" +#~ msgstr "Başlık:" + +#, fuzzy +#~ msgid "Screen" +#~ msgstr "yeşil" + +#, fuzzy +#~ msgid "Fake video output" +#~ msgstr "video çıktısı" + +#~ msgid "X Window System (X11/XShm/Xv): %s" +#~ msgstr "X Pencere Sistemi (X11/XShm/Xv): %s" + +#~ msgid "X Window System (without Xv)" +#~ msgstr "X Window System (Xv'sis)" + +#, fuzzy +#~ msgid "V_ideo output device" +#~ msgstr "Video çıkış aygıtı" + +#~ msgid "Conversation with " +#~ msgstr "Sohbet" + +#~ msgid "Continued conversation" +#~ msgstr "Devam edilen sohbet" + +#, fuzzy +#~ msgid "_Send Private Message" +#~ msgstr "Yeni kişisel Mesaj" + +#, fuzzy +#~ msgid "Participant Actions" +#~ msgstr "Katılanlar" + +#~ msgid "_Voice" +#~ msgstr "_Ses" + +#~ msgid "Mo_derator" +#~ msgstr "Mo_deratör" + +#~ msgid "_Member" +#~ msgstr "_Üyesidir" + +#~ msgid "_Admin" +#~ msgstr "_Yönetici" + +#~ msgid "_Owner" +#~ msgstr "_Sahibi" + +#, fuzzy +#~ msgid "_Add to Contact List" +#~ msgstr "Kişi _ekle" + +#, fuzzy +#~ msgid "_Execute command" +#~ msgstr "Komuta _Yürüt" + +#, fuzzy +#~ msgid "Change _Nickname..." +#~ msgstr "Takma Ad Ayarla" + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "_Yeni Bir Grup Sohbeti" + +#, fuzzy +#~ msgid "Change _Subject..." +#~ msgstr "Konuk Değiştiriliyor" + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "Grup Sohbete Katıl" + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "_Yeni Bir Grup Sohbeti" + +#~ msgid "_Minimize on close" +#~ msgstr "Kapatınca küçült" + +#, fuzzy +#~ msgid "_Request Voice" +#~ msgstr "_Ses" + +#~ msgid "_Bookmark" +#~ msgstr "_Yer imi" + +#, fuzzy +#~ msgid "The authenticity of the %s certificate could be invalid" +#~ msgstr "sertifika elde edilemedi: %s\n" + +#~ msgid "" +#~ "\n" +#~ "Unknown SSL error: %d" +#~ msgstr "" +#~ "\n" +#~ "Bilinmeyen SSL hatası: %d" + +#~ msgid "" +#~ "\n" +#~ "SSL Error: %s" +#~ msgstr "" +#~ "\n" +#~ "SSL Hatası: %s" + +#, fuzzy +#~ msgid "Error verifying SSL certificate" +#~ msgstr " --sslcert ssl istemci sertifikası\n" + +#, fuzzy +#~ msgid "View certificate…" +#~ msgstr "%(nickname)s Girdi" + +#, fuzzy +#~ msgid "Continue" +#~ msgstr "_Devam" + +#, fuzzy +#~ msgid "Authorization" +#~ msgstr "Yeni bir oda yaratılmıştır" + +#, fuzzy +#~ msgid "Error While Saving" +#~ msgstr "Eklentilerin etkinleştirilmesinde hata #%d." + +#, fuzzy +#~ msgid "Save _As" +#~ msgstr "Sahip" + +#~ msgid "Yes, I really want to connect insecurely" +#~ msgstr "Evet, gerçekten tehlikeli bağlanmak istiyorum" + +#, fuzzy +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "Geçersiz grup sohbet Jabber kimliği" + +#, fuzzy +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "%s: Kontrol karakterleri kullanılamaz.\n" + +#, fuzzy +#~ msgid "Leave Group Chats" +#~ msgstr "Tam-Ekrandan Çık" + +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "%(room_jid)s daki %(nickname)s" + +#, fuzzy +#~ msgid "You have not joined a group chat." +#~ msgstr "[%s sayfasını okuyamazsınız.]" + +#, fuzzy +#~ msgid "You left the following group chats:" +#~ msgstr "Sobetten ayrıldınız." + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending PLAIN password over a plain " +#~ "connection." +#~ msgstr "" +#~ "Bunu işaretleyince Gajim göndermeden sorar parolayı tehlikeli bir " +#~ "bağlantı üzerinden göndersin mi diye." + +#, fuzzy +#~ msgid "Jabberd2 workaround." +#~ msgstr "Bug'ları hallet" + +#, fuzzy +#~ msgid "Group Chat Bookmarks" +#~ msgstr "Grup Sohbetler" + +#, fuzzy +#~ msgid "Add Bookmark" +#~ msgstr "_Yer imi" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "_Yer imi" + +#, fuzzy +#~ msgid "_Server" +#~ msgstr "_Sunuc:" + +#, fuzzy +#~ msgid "_Password" +#~ msgstr "_Parola:" + +#, fuzzy +#~ msgid "Join chat when connected" +#~ msgstr "Kişinin bağlantısı kesildi" + +#, fuzzy +#~ msgid "New Group Chat" +#~ msgstr "_Yeni Bir Grup Sohbeti" + +#, fuzzy +#~ msgid "Character not allowed" +#~ msgstr "Rahatsız etmeyin" + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "Geçersiz grup sohbet Jabber kimliği" + +#~ msgid "Unable to join group chat" +#~ msgstr "Grup sohbetine girilemiyor" + +#, fuzzy +#~ msgid "You are banned from group chat %s." +#~ msgstr "" +#~ "Şuraya bir yorum gönderiyorsunuz:\n" +#~ " " + +#, fuzzy +#~ msgid "Remote server %s does not exist." +#~ msgstr "grup %s yok - root kullanılacak\n" + +#, fuzzy +#~ msgid "Group chat %s does not exist." +#~ msgstr "grup %s yok - root kullanılacak\n" + +#, fuzzy +#~ msgid "Group chat creation is not permitted." +#~ msgstr "grup %s yok - root kullanılacak\n" + +#, fuzzy +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "[%s sayfasını okuyamazsınız.]" + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "%s mevcut bir grubun ismi değil" + +#, fuzzy +#~ msgid "This is not a group chat" +#~ msgstr "%s mevcut bir grubun ismi değil" + +#, fuzzy +#~ msgid "Please choose a group chat" +#~ msgstr "Yeni posta yarat" + +#~ msgid "Invalid Nickname" +#~ msgstr "Geçersiz Takma ad" + +#, fuzzy +#~ msgid "Wrong server" +#~ msgstr "Adres yanlış" + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "%s mevcut bir grubun ismi değil" + +#, fuzzy +#~ msgid "Not in Roster" +#~ msgstr "Kişi listesindeki olayları göster" + +#, fuzzy +#~ msgid "I would like to add you to my roster" +#~ msgstr "Seni benim kişi listeye eklemek isterdim" + +#, fuzzy +#~ msgid "Add to Roster" +#~ msgstr "Kişi listeye _ekle…" + +#, fuzzy +#~ msgid "Audio Session" +#~ msgstr "Ses testi" + +#, fuzzy +#~ msgid "Manage Room" +#~ msgstr "Yer imlerini işlet" + +#, fuzzy +#~ msgid "Configure Room" +#~ msgstr "Çevrimiçi Servisler" + +#, fuzzy +#~ msgid "Change Nick" +#~ msgstr "Takma Ad Ayarla" + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "Bağlantıyı _kes" + +#, fuzzy +#~ msgid "Copy JID" +#~ msgstr "Oda JID" + +#, fuzzy +#~ msgid "Add to Roster…" +#~ msgstr "Kişi listeye _ekle…" + +#, fuzzy +#~ msgid "Copy JID/Email" +#~ msgstr "Oda JID" + +#, fuzzy +#~ msgid "JID: %s" +#~ msgstr "Jabber kimliği: %s" + +#~ msgid "Changing Subject" +#~ msgstr "Konuk Değiştiriliyor" + +#, fuzzy +#~ msgid "Please specify the new subject:" +#~ msgstr "Lütfen kendiniz için yeni bir takma ad belirtin." + +#, fuzzy +#~ msgid "You (%s) joined the room" +#~ msgstr "%s grup sohbete katıldı" + +#, fuzzy +#~ msgid "Room logging is enabled" +#~ msgstr "Konumlaştırma kapalıdır." + +#, fuzzy +#~ msgid "Unable to join groupchat" +#~ msgstr "Grup eklenemedi: grup zaten var" + +#~ msgid "Groupchat Invitation" +#~ msgstr "Grup Sohbeti Daveti" + +#, fuzzy +#~ msgid "JID is not a Groupchat" +#~ msgstr "%s mevcut bir grubun ismi değil" + +#, fuzzy +#~ msgid "Invalid JID" +#~ msgstr "Yerel jid:" + +#, fuzzy +#~ msgid "A connection is not available" +#~ msgstr "Bir bağlantı kullanılabilir değil" + +#, fuzzy +#~ msgid "JID already in list" +#~ msgstr "Jabber kimliği zaten listede" + +#, fuzzy +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "Bir bağlantı kullanılabilir değil" + +#~ msgid "Removes contact from roster" +#~ msgstr "Kişiyi listeden sil" + +#, fuzzy +#~ msgid "Not in roster" +#~ msgstr "Kişi listesindeki olayları göster" + +#, fuzzy +#~ msgid "File transfer request notification color." +#~ msgstr "Dosya Gönderme Soru" + +#, fuzzy +#~ msgid "File transfer error notification color." +#~ msgstr "Dosya Gönderme Tamamlandı" + +#, fuzzy +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "Dosya Gönderme Tamamlandı" + +#, fuzzy +#~ msgid "Groupchat invitation notification color" +#~ msgstr "Sadece davetliler" + +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "* ile [n] kişi listeye eklensin mi?" + +#, fuzzy +#~ msgid "Answer to receipt requests" +#~ msgstr "matematik probleminin yanıtını yaz" + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "Yemek yiyorum, bu yüzden bana bir mesaj brak." + +#, fuzzy +#~ msgid "from room %s" +#~ msgstr " gönderen oda %s" + +#, fuzzy +#~ msgid "Leave Groupchats" +#~ msgstr "Tam-Ekrandan Çık" + +#, fuzzy +#~ msgid "Auto Join" +#~ msgstr "Kendiliğinden Katıl" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "Oda:" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber kimliği:" + +#, fuzzy +#~ msgid "Occupant Actions" +#~ msgstr "Özel Eylemler" + +#, fuzzy +#~ msgid "_Add to Roster" +#~ msgstr "Kişi listeye _ekle…" + +#, fuzzy +#~ msgid "_Manage Room" +#~ msgstr "Yer imlerini işlet" + +#, fuzzy +#~ msgid "Configure _Room..." +#~ msgstr "Çevrimiçi Servisler" + +#~ msgid "Jabber ID" +#~ msgstr "Jabber kimliği" + +#, fuzzy +#~ msgid "account" +#~ msgstr "Hesap" + +#, fuzzy +#~ msgid "Roster" +#~ msgstr "Kişi Listesini Göster" + +#, fuzzy +#~ msgid "Show only in roster" +#~ msgstr "Kişi listesindeki olayları göster" + +#, fuzzy +#~ msgid "in _roster" +#~ msgstr "Kişi listesindeki olayları göster" + +#, fuzzy +#~ msgid "Roster Appearance" +#~ msgstr "Kişi Listesi Görünümü" + +#~ msgid "_Add to Roster..." +#~ msgstr "Kişi listeye _ekle…" + +#~ msgid "_Jabber ID:" +#~ msgstr "_Jabber kimliği:" + +#, fuzzy +#~ msgid "_Jabber ID" +#~ msgstr "_Jabber kimliği:" + +#~ msgid "JabberID" +#~ msgstr "Jabber kimliği" + +#, fuzzy +#~ msgid "Show Roster" +#~ msgstr "Kişi Listesini Göster" + +#~ msgid "MUC server" +#~ msgstr "MUC sunucusu" + +#~ msgid "Room Configuration" +#~ msgstr "Oda Yerleştirme" + +#, fuzzy +#~ msgid "Join _Group Chat" +#~ msgstr "Grup Sohbete Katıl" + +#, fuzzy +#~ msgid "Audio sessions are not available" +#~ msgstr "Klasör \"%s\" yazılabilir değil" + +#~ msgid "Conference" +#~ msgstr "Konferans" + +#, fuzzy +#~ msgid "_Manage Bookmarks…" +#~ msgstr "Yer imlerini işlet" + +#, fuzzy +#~ msgid "Hide _Roster" +#~ msgstr "Kişi Listesi Görünümü" + +#~ msgid "Show _Roster" +#~ msgstr "Kişi Listesini Göster" + +#, fuzzy +#~ msgid "Invalid Room" +#~ msgstr "Geçersiz oda" + +#~ msgid "Invalid room" +#~ msgstr "Geçersiz oda" + +#~ msgid "A GTK+ Jabber client" +#~ msgstr "Bir GTK+ Jabber istemcisi" + +#~ msgid "Changing Nickname" +#~ msgstr "Takma Ad Ayarla" + +#~ msgid "Bookmark already set" +#~ msgstr "Yer imi zaten kuruldu" + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "Yer imi başarılı eklendi" + +#, fuzzy +#~ msgid "The nickname contains invalid characters." +#~ msgstr "%s: Kontrol karakterleri kullanılamaz.\n" + +#, fuzzy +#~ msgid "Bookmark Room" +#~ msgstr "Bu odayi yer imle" + +#~ msgid "_Join New Group Chat" +#~ msgstr "Yeni grup sohbete _katıl" + +#, fuzzy +#~ msgid "Name:" +#~ msgstr "İsim: " + +#, fuzzy +#~ msgid "Description:" +#~ msgstr "Açıklama: " + +#, fuzzy +#~ msgid "Address:" +#~ msgstr "_Adres:" + +#, fuzzy +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "" +#~ "İleti gönderilmemiş olabilir çünkü görünmez iken yollamaya izin " +#~ "verilmiyor:" + +#, fuzzy +#~ msgid "Occupants" +#~ msgstr "Özel Eylemler" + +#, fuzzy +#~ msgid "Boolean" +#~ msgstr "Mantıksal Değer" + +#, fuzzy +#~ msgid "Integer" +#~ msgstr "Tamsayı" + +#~ msgid "Text" +#~ msgstr "Metin" + +#~ msgid "Value" +#~ msgstr "Değer" + +#~ msgid "(None)" +#~ msgstr "(Hiçbiri)" + +#~ msgid "Hidden" +#~ msgstr "Gizli" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "Vekil Sunuc Profili İşlet" + +#, fuzzy +#~ msgid "Properties" +#~ msgstr "Ayarları" + +#, fuzzy +#~ msgid "Proxy _Port" +#~ msgstr "Vekil _Portası:" + +#, fuzzy +#~ msgid "New Groupchat" +#~ msgstr "_Yeni Bir Grup Sohbeti" + +#, fuzzy +#~ msgid "New Contact" +#~ msgstr "Yeni Kişi Ekle" + +#~ msgid "%s GiB" +#~ msgstr "%s GiB" + +#~ msgid "%s GB" +#~ msgstr "%s GB" + +#~ msgid "%s MiB" +#~ msgstr "%s MiB" + +#~ msgid "%s MB" +#~ msgstr "%s MB" + +#~ msgid "%s KiB" +#~ msgstr "%s KiB" + +#~ msgid "%s KB" +#~ msgstr "%s KB" + +#~ msgid "%s B" +#~ msgstr "%s B" + +#, fuzzy +#~ msgid "%s MiB/s" +#~ msgstr "%s MiB" + +#, fuzzy +#~ msgid "File transfer" +#~ msgstr "Dosya Aktarımları" + +#, fuzzy +#~ msgid "Open _Containing Folder" +#~ msgstr "Gmail Gelen Kutusunu _Aç" + +#, fuzzy +#~ msgid "Default:" +#~ msgstr "Öntanımlı" + +#~ msgid "Really quit Gajim?" +#~ msgstr "Gajim'den gerçekten çıkılsın mı?" + +#~ msgid "Contact \"%s\" will be removed from your roster" +#~ msgstr "\"%s\" kişi listesinden silincek" + +#, fuzzy +#~ msgid "Contacts will be removed from your roster" +#~ msgstr "\"%s\" kişi listesinden silincek" + +#, fuzzy +#~ msgid "Con_tinue" +#~ msgstr "_Devam" + +#~ msgid "_Pause" +#~ msgstr "_Durakla" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "Dosya aktarımları listeden sil." + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "Seçilmiş dosya aktarımı iptal ediyor" + +#, fuzzy +#~ msgid "Hide the window" +#~ msgstr "Pencereyi gizler" + +#~ msgid "From:" +#~ msgstr "Gönderen:" + +#~ msgid "Subject:" +#~ msgstr "Konu:" + +#~ msgid "%s wants to send you a file:" +#~ msgstr "%s size bir dosya göndermek istiyor:" + +#~ msgid "Name: " +#~ msgstr "İsim: " + +#~ msgid "Pause" +#~ msgstr "Duraklat" + +#, fuzzy +#~ msgid "Execute Command" +#~ msgstr "Komuta _Yürüt" + +#, fuzzy +#~ msgid "Type: " +#~ msgstr "_Türü:" + +#, fuzzy +#~ msgid "Transferred: " +#~ msgstr "%d bayt aktarıldı" + +#~ msgid "Completed" +#~ msgstr "Tamamlanıldı" + +#, fuzzy +#~ msgid "Stalled" +#~ msgstr " [ %i%% ] (askıda)" + +#~ msgid "Transferring" +#~ msgstr "Transfer ediliyor" + +#~ msgid "Not started" +#~ msgstr "Başlatılmadı" + +#~ msgid "_Configure" +#~ msgstr "_Yerleştir" + +#~ msgid "Change the avatar" +#~ msgstr "Avatarı değiştir" + +#~ msgid "add" +#~ msgstr "ekle" + +#~ msgid "modify" +#~ msgstr "düzenle" + +#~ msgid "remove" +#~ msgstr "kaldır" + +#, fuzzy +#~ msgid "Restored Message Color" +#~ msgstr "Öntanımlı değerlerine geri al" + +#~ msgid "Send Cus_tom Status" +#~ msgstr "Ö_zel durum gönder" + +#, fuzzy +#~ msgid "" +#~ msgstr "Konu" + +#~ msgid "#" +#~ msgstr "#" + +#~ msgid "To:" +#~ msgstr "Kime:" + +#~ msgid "0" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Reconnect when connection is lost" +#~ msgstr "Bağlantıyı kaybetince kendilinden tekrar bağlan" + +#, fuzzy +#~ msgid "Server Message Archive" +#~ msgstr "Tek Bir İleti Gönder…" + +#, fuzzy +#~ msgid "Message Carbons" +#~ msgstr "İletler" + +#, fuzzy +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "_İşletim sistem bilgi göndermeye izin ver" + +#, fuzzy +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "_İşletim sistem bilgi göndermeye izin ver" + +#, fuzzy +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "_İşletim sistem bilgi göndermeye izin ver" + +#, fuzzy +#~ msgid "S_end chat state notifications" +#~ msgstr "Sohbet durum haberleri _göster:" + +#, fuzzy +#~ msgid "Login Options" +#~ msgstr "Duygu _Simgeler:" + +#~ msgid "Please wait while retrieving search form..." +#~ msgstr "Lütfen bekle arama formu alırken…" + +#~ msgid "_Add contact" +#~ msgstr "Kişi _ekle" + +#~ msgid "Ad-hoc Commands - Gajim" +#~ msgstr "Ad-Hoc Komutlar - Gajim" + +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "Lütfen bekle komuta listesini alırken…" + +#~ msgid "Choose command to execute:" +#~ msgstr "Yürütecek komutayı seç" + +#~ msgid "Check once more" +#~ msgstr "Bir daha dene" + +#, fuzzy +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "Komuta gönderirken lütfen bekleyiniz…" + +#, fuzzy +#~ msgid "F_inish" +#~ msgstr "_Bitir" + +#, fuzzy +#~ msgid "Waiting for results" +#~ msgstr "Sohbet için Hazır" + +#, fuzzy +#~ msgid "Error in received dataform" +#~ msgstr "Komuta satrında hata: %s\n" + +#, fuzzy +#~ msgid "No result" +#~ msgstr "Telefon numara:" + +#, fuzzy +#~ msgid "Failed to get secret keys" +#~ msgstr "geçerli bağlam almada başarısız" + +#, fuzzy +#~ msgid "There is no OpenPGP secret key available." +#~ msgstr "" +#~ "İzleyen anahtar kimlikleri için kullanılır hiçbir genel anahtar yok:\n" + +#, fuzzy +#~ msgid "OpenPGP Key Selection" +#~ msgstr "Hiçbir anahtar seçilmedi" + +#, fuzzy +#~ msgid "Choose your OpenPGP key" +#~ msgstr "%s tarafından %s de yürürlükten kaldırılmış\n" + +#, fuzzy +#~ msgid "KeyID" +#~ msgstr "%s için anahtar numarasını belirleyin: " + +#, fuzzy +#~ msgid "Contact name" +#~ msgstr "İlk Ad:" + +#, fuzzy +#~ msgid "OpenPGP is not usable" +#~ msgstr "GPG kullanılmiyor" + +#, fuzzy +#~ msgid "Assign OpenPGP Key" +#~ msgstr "Hiçbir anahtar seçilmedi" + +#, fuzzy +#~ msgid "Select a key to apply to the contact" +#~ msgstr "Sesi kapatmak için bir tuş seçin." + +#, fuzzy +#~ msgid "Wrong passphrase" +#~ msgstr "Yanlış Şifre" + +#, fuzzy +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "Yanlış Şifre" + +#~ msgid "Passphrase Required" +#~ msgstr "Şifre gerekli" + +#, fuzzy +#~ msgid "OpenPGP key expired" +#~ msgstr "Bu anahtarın kullanım süresi dolmuş" + +#~ msgid "Wrong Passphrase" +#~ msgstr "Yanlış Şifre" + +#, fuzzy +#~ msgid "OpenPGP:" +#~ msgstr "OpenPGP:" + +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "Open_PGP anahtarı havale et…" + +#, fuzzy +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "Üyelik ileti _kaydet" + +#, fuzzy +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "Önceden hazırlanmış Durum İletleri" + +#, fuzzy +#~ msgid "Requires: gpg and python-gnupg (%(url)s)" +#~ msgstr "Dbus Denetim Altyapısı" + +#, fuzzy +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "sistemin HTTP vekil ayarları kullanılır" + +#, fuzzy +#~ msgid "Use PGP Agent" +#~ msgstr "G_PG acenta kullan" + +#, fuzzy +#~ msgid "OpenPGP Key" +#~ msgstr "Hiçbir anahtar seçilmedi" + +#, fuzzy +#~ msgid "Cancel confirmation" +#~ msgstr "Dosya transferi iptal et" + +#, fuzzy +#~ msgid "Service sent malformed data" +#~ msgstr "Karalı servisin TXT verisi" + +#, fuzzy +#~ msgid "Service changed the session identifier." +#~ msgstr "geçerli oturumun geçerli kullanıcısını tanımla" + +#, fuzzy +#~ msgid "%s - Ad-hoc Commands - Gajim" +#~ msgstr "Ad-Hoc Komutlar - Gajim" + +#, fuzzy +#~ msgid "Service returned an error." +#~ msgstr "Bir hata oluştu:" + +#, fuzzy +#~ msgid "You are invited to a groupchat" +#~ msgstr "" +#~ "Şuraya bir yorum gönderiyorsunuz:\n" +#~ " " + +#, fuzzy +#~ msgid "_Start Chat" +#~ msgstr "Sohbet _Başla" + +#, fuzzy +#~ msgid "Au_thorize" +#~ msgstr "AU ayırıcı" + +#, fuzzy +#~ msgid "Really send file?" +#~ msgstr "%s size bir dosya göndermek istiyor:" + +#, fuzzy +#~ msgid "You are currently connected to the server" +#~ msgstr "Şuanda bu sunuca bağlanmış kişilere bir ilet gönder" + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with %(jid)s?" +#~ msgstr "Seçilen anahtarları gerçekten silmek istiyor musunuz? " + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with the selected contacts?" +#~ msgstr "Seçilen anahtarları gerçekten silmek istiyor musunuz? " + +#~ msgid "What do you want to do?" +#~ msgstr "Ne yapmak istiyorsun?" + +#~ msgid "Stopped" +#~ msgstr "Durduruldu" + +#, fuzzy +#~ msgid "Status messages displayed in chat window" +#~ msgstr "Bu ileti gönder ve pencereyi kapat" + +#, fuzzy +#~ msgid "?print_status:All" +#~ msgstr "grupdaki herkez" + +#, fuzzy +#~ msgid "Enter and leave only" +#~ msgstr "ve 'boşluk' ya da 'enter' tuşuna bas." + +#, fuzzy +#~ msgid "?print_status:None" +#~ msgstr "Durumu a_yarla" + +#, fuzzy +#~ msgid "Untrusted OpenPGP key" +#~ msgstr "%s tarafından %s de yürürlükten kaldırılmış\n" + +#, fuzzy +#~ msgid "Command line Control" +#~ msgstr "Bir komut y_ürüt" + +#~ msgid "system shutdown" +#~ msgstr "sistem kapanıyor" + +#~ msgid "%s has left" +#~ msgstr "%s ayrıldı" + +#, fuzzy +#~ msgid "%s is full" +#~ msgstr "Yazıtipi" + +#, fuzzy +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "%s mevcut bir grubun ismi değil" + +#, fuzzy +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "Kimliksiz kimlik doğrulaması" + +#, fuzzy +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "Kimliksiz kimlik doğrulaması" + +#, fuzzy +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "Kimliksiz kimlik doğrulaması" + +#, fuzzy +#~ msgid "This is an irreversible operation." +#~ msgstr "Bu sertifika geçerlidir" + +#~ msgid "Settings" +#~ msgstr "Ayarları" + +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "Gajim Kayıt Tarihleri Yöneticisine Hoşgeldiniz" + +#, fuzzy +#~ msgid "Member List" +#~ msgstr "Geçersiz Liste İsmi" + +#, fuzzy +#~ msgid "Owner List" +#~ msgstr "Geçersiz Liste İsmi" + +#, fuzzy +#~ msgid "Administrator List" +#~ msgstr "Geçersiz Liste İsmi" + +#~ msgid "Nick" +#~ msgstr "Takma Ad" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "Kimi kovmak istiyorsunuz?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Member…" +#~ msgstr "Zaten listeye üye" + +#, fuzzy +#~ msgid "Adding Owner…" +#~ msgstr "Sahip geçersiz" + +#, fuzzy +#~ msgid "Adding Administrator…" +#~ msgstr "liste yöneticisi" + +#~ msgid "Error reading file:" +#~ msgstr "Dosya okunurken hata:" + +#, fuzzy +#~ msgid "Error parsing file:" +#~ msgstr "Dosya okunurken hata:" + +#~ msgid "Description" +#~ msgstr "Açıklama" + +#, fuzzy +#~ msgid "Password encryption" +#~ msgstr "Parolayı Değiştir" + +#, fuzzy +#~ msgid "Spellchecking of composed messages." +#~ msgstr "Önceden hazırlanmış Durum İletleri" + +#~ msgid "Automatic status" +#~ msgstr "Otomatik durum" + +#, fuzzy +#~ msgid "Requires python2.5." +#~ msgstr " (yetki gerektirir)" + +#, fuzzy +#~ msgid "?features:Available" +#~ msgstr "Mevcut" + +#~ msgid "Feature" +#~ msgstr "Özellik" + +#~ msgid "Filter:" +#~ msgstr "Filtre:" + +#~ msgid "Chat Appearance" +#~ msgstr "Sohbet Görünümü" + +#~ msgid "Sounds" +#~ msgstr "Sesler" + +#~ msgid "Chat state notifications" +#~ msgstr "Sohbet durum bildirimler" + +#, fuzzy +#~ msgid "_Away after" +#~ msgstr "Bu zamandan sonra _uzakta:" + +#, fuzzy +#~ msgid "_Not available after" +#~ msgstr "Hiç bir hesap bulunmiyor" + +#~ msgid "Auto Status" +#~ msgstr "Otomatik Durumlar" + +#~ msgid "Status Messages" +#~ msgstr "Durum İletler" + +#~ msgid "Audio" +#~ msgstr "Ses" + +#~ msgid "Video" +#~ msgstr "Video" + +#, fuzzy +#~ msgid "(example: stun.iptel.org)" +#~ msgstr "(örnek: stunserver.org)" + +#~ msgid "Connection" +#~ msgstr "Bağlantı" + +#~ msgid "Custom" +#~ msgstr "Özel" + +#~ msgid "Privacy" +#~ msgstr "Gizlilik" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "İlerlemiş Ayarlama Editörü" + +#, fuzzy +#~ msgid "Audio / video conferences" +#~ msgstr "Ses / Video" + +#, fuzzy +#~ msgid "File transfer, room bookmarks" +#~ msgstr "Dosya okunurken hata:" + +#, fuzzy +#~ msgid "XML console interface" +#~ msgstr "_XML Konsolu Göster" + +#~ msgid "(ESession info)" +#~ msgstr "(EOturum bilgi)" + +#, fuzzy +#~ msgid "_Emoticons" +#~ msgstr "Duygu _Simgeler:" + +#~ msgid "_Highlight misspelled words" +#~ msgstr "Yazım hatalarını _vurgula" + +#, fuzzy +#~ msgid "T_heme" +#~ msgstr "T_ema:" + +#~ msgid "Themes" +#~ msgstr "Temalar" + +#, fuzzy +#~ msgid "Presence" +#~ msgstr "_Bulunma" + +#, fuzzy +#~ msgid "Emoticons disabled" +#~ msgstr "Devre dışı bırakılmış rule'lar:" + +#~ msgid "theme name" +#~ msgstr "Tema adı" + +#, fuzzy +#~ msgid "New Single Message from %(nickname)s" +#~ msgstr "\"%s\"den yeni bir ileti aldın" + +#~ msgid "%(nickname)s: %(message)s" +#~ msgstr "%(nickname)s: %(message)s" + +#~ msgid "Messaged by %(nickname)s" +#~ msgstr "%(nickname)s yazdı" + +#, fuzzy +#~ msgid "Status message text color." +#~ msgstr "Yeni durum ileti yaz" + +#, fuzzy +#~ msgid "Incoming nickname font." +#~ msgstr "Kullanıcak takma ad" + +#, fuzzy +#~ msgid "Outgoing nickname font." +#~ msgstr "Kullanıcak takma ad" + +#, fuzzy +#~ msgid "Status message text font." +#~ msgstr "Yeni durum ileti yaz" + +#~ msgid "green" +#~ msgstr "yeşil" + +#~ msgid "grocery" +#~ msgstr "bakkal" + +#~ msgid "human" +#~ msgstr "insan" + +#~ msgid "marine" +#~ msgstr "denizcilik" + +#~ msgid "Chat Banner" +#~ msgstr "Sohbet Sancak" + +#~ msgid "Gajim Themes Customization" +#~ msgstr "Gajim Tema Uyarlamak" + +#~ msgid "Text _color:" +#~ msgstr "Metin _rengi" + +#~ msgid "_Background:" +#~ msgstr "_Artalan:" + +#~ msgid "Text _font:" +#~ msgstr "Metin _yazıtipi:" + +#~ msgid "Font style:" +#~ msgstr "Yazıtipi tarzı:" + +#~ msgid "Paused" +#~ msgstr "Duraklatıldı" + +#~ msgid "Gone" +#~ msgstr "Gitti" + +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "" +#~ "MUC\n" +#~ "İletler" + +#~ msgid "Chatstate Tab Colors" +#~ msgstr "Sohbetdurum Tab Renkleri" + +#, fuzzy +#~ msgid "Chat message" +#~ msgstr "Sohbet İleti:" + +#~ msgid "Use system _default" +#~ msgstr "Sistem _öntanımlıyı kullan" + +#~ msgid "Font" +#~ msgstr "Yazıtipi" + +#, fuzzy +#~ msgid "Contact's nickname" +#~ msgstr "Kişinin takma adı" + +#, fuzzy +#~ msgid "_Status message" +#~ msgstr "_Durum ileti:" + +#, fuzzy +#~ msgid "Your message" +#~ msgstr "Senin mesajın:" + +#, fuzzy +#~ msgid "_URL highlight" +#~ msgstr "_URL vurgulama:" + +#~ msgid "Chat Line Colors" +#~ msgstr "Sohbet Çizgi Renkleri" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber kimliği:" + +#~ msgid "Resource:" +#~ msgstr "Kaynak:" + +#~ msgid "Status:" +#~ msgstr "Durum:" + +#, fuzzy +#~ msgid "Contact time:" +#~ msgstr "?Time:Bilinmez" + +#~ msgid "Ask:" +#~ msgstr "Sor:" + +#~ msgid "Subscription:" +#~ msgstr "Üyelik:" + +#~ msgid "Name:" +#~ msgstr "İsim:" + +#~ msgid "Nickname:" +#~ msgstr "Takma ad:" + +#~ msgid "Street:" +#~ msgstr "Cadde:" + +#~ msgid "City:" +#~ msgstr "Şehir:" + +#~ msgid "State:" +#~ msgstr "Kent:" + +#~ msgid "Extra Address:" +#~ msgstr "Ekstra Adres:" + +#~ msgid "Postal Code:" +#~ msgstr "Posta Kodu:" + +#~ msgid "Country:" +#~ msgstr "Yurt:" + +#~ msgid "Homepage:" +#~ msgstr "Ana Sayfa:" + +#~ msgid "E-Mail:" +#~ msgstr "E-Mail:" + +#~ msgid "Phone No.:" +#~ msgstr "Telefon numara:" + +#~ msgid "Birthday:" +#~ msgstr "Doğumgünü:" + +#~ msgid "Family:" +#~ msgstr "Ayle:" + +#~ msgid "Middle:" +#~ msgstr "Orta:" + +#~ msgid "Prefix:" +#~ msgstr "Ön ek:" + +#~ msgid "Given:" +#~ msgstr "Verilmiş:" + +#~ msgid "Suffix:" +#~ msgstr "Son ek:" + +#~ msgid "Full Name" +#~ msgstr "Bütün isim" + +#~ msgid "Company:" +#~ msgstr "Firma:" + +#~ msgid "Department:" +#~ msgstr "Departman:" + +#~ msgid "Position:" +#~ msgstr "Konum:" + +#~ msgid "Role:" +#~ msgstr "rol:" + +#, fuzzy +#~ msgid "- messages will be logged" +#~ msgstr "Önceden hazırlanmış Durum İletleri" + +#, fuzzy +#~ msgid "- messages will not be logged" +#~ msgstr "Iletiler yazdırılımadı" + +#, fuzzy +#~ msgid "Edit %s" +#~ msgstr "Düz_en" + +#, fuzzy +#~ msgid "Conversation History with %s" +#~ msgstr "Beni bir açılan pencereyle _haberle" + +#, fuzzy +#~ msgid "Register to" +#~ msgstr "Bunu %s buna %s gönder" + +#, fuzzy +#~ msgid "Enter name / JID of contact or groupchat" +#~ msgstr "JID veya Kişi adı girdir" + +#~ msgid "Search:" +#~ msgstr "Ara:" + +#, fuzzy +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "Bağlantızıs kişisel ilanlar sayfayı yazımlayanmiyor" + +#, fuzzy +#~ msgid "Invalid password" +#~ msgstr "Parolayı Değiştir" + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "Olaylamak için bir daha tuşla:" + +#~ msgid "unsubscribe request from %s" +#~ msgstr "%s tarafından abonelikten çıkma isteği" + +#, fuzzy +#~ msgid "Homepage:" +#~ msgstr "Ana Sayfa:" + +#~ msgid "Manage Bookmarks" +#~ msgstr "Yer imlerini işlet" + +#~ msgid "_Nickname:" +#~ msgstr "_Takma Ad:" + +#, fuzzy +#~ msgid "Pr_int status:" +#~ msgstr "Durumu göster:" + +#, fuzzy +#~ msgid "Add JID" +#~ msgstr "Jabber kimliği" + +#, fuzzy +#~ msgid "Preference:" +#~ msgstr "Tercihler" + +#, fuzzy +#~ msgid "Preference" +#~ msgstr "Tercihler" + +#, fuzzy +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "Lütfen varolan hesapının verisini doldurun" + +#, fuzzy +#~ msgid "Recently" +#~ msgstr "Son Kullanılan:" + +#~ msgid "Add New Contact" +#~ msgstr "Yeni Kişi Ekle" + +#~ msgid "_User ID:" +#~ msgstr "_Kullanıcı kimliği:" + +#, fuzzy +#~ msgid "Type User ID" +#~ msgstr "Kullanıcı kimliği:" + +#, fuzzy +#~ msgid "Type Nickname" +#~ msgstr "Takma ad" + +#~ msgid "Personal Information" +#~ msgstr "Kişisel ilanlar sayfası" + +#~ msgid "Avatar:" +#~ msgstr "Resim:" + +#, fuzzy +#~ msgid "Click to set your avatar" +#~ msgstr "Tercihlerinizi ayarlayabileceğiniz pencereyi açar" + +#, fuzzy +#~ msgid "Remove Avatar" +#~ msgstr "Grubu Sil" + +#~ msgid "Please wait..." +#~ msgstr "Lütfen bekleyin..." + +#~ msgid "Log _encrypted chat session" +#~ msgstr "Şifrelenmiş sohbet oturumu kaygıtla" + +#~ msgid "Yahoo! Address:" +#~ msgstr "Yahoo! Adres:" + +#, fuzzy +#~ msgid "Forward unread messages" +#~ msgstr "Okunmamış iletler var" + +#, fuzzy +#~ msgid "Forward unread message then disconnect" +#~ msgstr "Okunmamış iletler var" + +#~ msgid "MSN Address:" +#~ msgstr "MSN Adres:" + +#, fuzzy +#~ msgid "End to End message encryption" +#~ msgstr " Uçtan uca şifreleme varsayılıyor.\n" + +#, fuzzy +#~ msgid "Encrypting chat messages." +#~ msgstr "Önceden hazırlanmış Durum İletleri" + +#, fuzzy +#~ msgid "Requires python-crypto." +#~ msgstr "Python Programlama Dili" + +#, fuzzy +#~ msgid "Session negotiation cancelled" +#~ msgstr "Kullanıcı vazgeçti" + +#, fuzzy +#~ msgid "This session is encrypted" +#~ msgstr " --ssl ssl ile şifrelenmiş oturumu etkinleştir\n" + +#, fuzzy +#~ msgid " and WILL be logged" +#~ msgstr "bir ses ve video" + +#, fuzzy +#~ msgid " and WILL NOT be logged" +#~ msgstr "%s: OID (-o) 0 olamaz\n" + +#, fuzzy +#~ msgid "end-to-end encryption disabled" +#~ msgstr "Bu anahtarın kullanım süresi dolmuş" + +#, fuzzy +#~ msgid "Unable to decrypt message" +#~ msgstr "Mesaj ayrıştırılamıyor" + +#, fuzzy +#~ msgid "Requires python-avahi." +#~ msgstr "Avahi Zeroconf Tarayıcı" + +#, fuzzy +#~ msgid "Save Image as…" +#~ msgstr "Resimi Farklı Kaydet..." + +#, fuzzy +#~ msgid "Exporting History Logs…" +#~ msgstr "Her checkpoint işlemini kaydeder" + +#~ msgid "When %s becomes:" +#~ msgstr "%s olduğunda:" + +#~ msgid "Adding Special Notification for %s" +#~ msgstr "%s için Özel Bilgilendirme Ekleniyor" + +#, fuzzy +#~ msgid "" +#~ "The authenticity of the %s certificate could be invalid.\n" +#~ "The certificate does not cover this domain." +#~ msgstr "sertifika elde edilemedi: %s\n" + +#, fuzzy +#~ msgid "Unable to load idle module" +#~ msgstr "Yüklenecek Lua arayüz modülü" + +#, fuzzy +#~ msgid "creating logs database" +#~ msgstr "%s/base/1 içinde template1 veritabanı yaratılıyor. " + +#, fuzzy +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "Bunu %s buna %s gönder" + +#, fuzzy +#~ msgid "Rename account label" +#~ msgstr "XMPP hesabı %s@%s" + +#, fuzzy +#~ msgid "Send Single Message..." +#~ msgstr "Tek Bir İleti Gönder…" + +#, fuzzy +#~ msgid "We received an error: {}" +#~ msgstr "Bir hata oluştu:" + +#, fuzzy +#~ msgid "E2E encryption disabled" +#~ msgstr " Spam engelleme etkin değil\n" + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Bu doğruluk belgeyi bilinen doğruluk belgelere kat.\n" +#~ "SHA1 doğruluk belgenin parmakizi:\n" + +#~ msgid "uri" +#~ msgstr "uri" + +#, fuzzy +#~ msgid "" +#~ "Install /\n" +#~ "Upgrade" +#~ msgstr " [ %i%% ] (askıda)" + +#, fuzzy +#~ msgid "Install/Upgrade" +#~ msgstr " [ %i%% ] (askıda)" + +#, fuzzy +#~ msgid "cyan" +#~ msgstr "turkuaz" + +#, fuzzy +#~ msgid "Send File..." +#~ msgstr "_Dosya Gönder…" + +#, fuzzy +#~ msgid "Jingle File Transfer" +#~ msgstr "Dosya Aktarımları" + +#, fuzzy +#~ msgid "XMPP account %s" +#~ msgstr "XMPP hesabı %s@%s" + +#, fuzzy +#~ msgid "Exception" +#~ msgstr "Açıklama" + +#~ msgid "_Actions" +#~ msgstr "_Aktionlar" + +#, fuzzy +#~ msgid "Start Chat with account %s" +#~ msgstr "Kişiyle sohbet pencere _aç" + +#, fuzzy +#~ msgid "Nickname / JID" +#~ msgstr "Geçersiz Jabber kimliği" + +#, fuzzy +#~ msgid "Unable to parse \"%s\"." +#~ msgstr "Durumu a_yarla" + +#~ msgid "Adds contact to roster" +#~ msgstr "Kişiyi listeye ekle" + +#~ msgid "jid" +#~ msgstr "jid" + +#, fuzzy +#~ msgid "Handle a xmpp:/ URI" +#~ msgstr "Adres verilmedi" + +#, fuzzy +#~ msgid "URI to handle" +#~ msgstr "Durumu a_yarla" + +#~ msgid "Message content" +#~ msgstr "İletin içindekiler" + +#~ msgid "Join a MUC room" +#~ msgstr "Sohbet odasına katıl" + +#~ msgid "Nickname to use" +#~ msgstr "Kullanıcak takma ad" + +#~ msgid "Password to enter the room" +#~ msgstr "Odaya girmek için gerekli parola" + +#, fuzzy +#~ msgid "No URI given" +#~ msgstr "Adres verilmedi" + +#, fuzzy +#~ msgid "Wrong URI" +#~ msgstr "Adres yanlış" + +#~ msgid "Nickname:" +#~ msgstr "Takma Ad:" + +#~ msgid "Server:" +#~ msgstr "Sunuc:" + +#~ msgid "Bro_wse Rooms" +#~ msgstr "Odalara Göz At" + +#, fuzzy +#~ msgid "Requires libgtkspell and libenchant." +#~ msgstr " (yetki gerektirir)" + +#, fuzzy +#~ msgid "Network-Watcher" +#~ msgstr "Paket Yöneticisi" + +#, fuzzy +#~ msgid "Autodetection of network status." +#~ msgstr "Durumu a_yarla" + +#, fuzzy +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "Bu odayi yer imle" + +#, fuzzy +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "Kişiyi listeye ekle" + +#, fuzzy +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "sobete dikkat veriyor" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Kişiyi listeye ekle" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Kişiyi listeye ekle" + +#, fuzzy +#~ msgid "Disk Write Error" +#~ msgstr "Bir hata oluştu:" + +#~ msgid "Set Custom _Avatar..." +#~ msgstr "Özel Resim Biçimle…" + +#, fuzzy +#~ msgid "SSL certificate validation" +#~ msgstr "`%s' geçerlilik modeli bilinmiyor\n" + +#, fuzzy +#~ msgid "Requires python-pyopenssl > 0.12 and pyasn1." +#~ msgstr "Python Programlama Dili" + +#, fuzzy +#~ msgid "?CLI:room" +#~ msgstr "oda" + +#, fuzzy +#~ msgid "?CLI:nick" +#~ msgstr "takma ad" + +#, fuzzy +#~ msgid "?CLI:password" +#~ msgstr "parola" + +#~ msgid "Notification" +#~ msgstr "Bildirim" + +#~ msgid "Ignore" +#~ msgstr "Yoksay" + +#~ msgid "_Open Gmail Inbox" +#~ msgstr "Gmail Gelen Kutusunu _Aç" + +#~ msgid "Notify on new _GMail email" +#~ msgstr "Yeni _GMail e-postadan haber ver" + +#, fuzzy +#~ msgid "Display _extra email details" +#~ msgstr "Halen Kayıtlı Olan E-posta Adreslerini Göster" + +#~ msgid "GMail Options" +#~ msgstr "GMail Seçenekleri" + +#, fuzzy +#~ msgid "12" +#~ msgstr "1" + +#, fuzzy +#~ msgid "20" +#~ msgstr "2" + +#, fuzzy +#~ msgid "GMail Email Received" +#~ msgstr "Yeni _GMail e-postadan haber ver" + +#, fuzzy +#~ msgid "New e-mail on %(gmail_mail_address)s" +#~ msgstr "Yeni _GMail e-postadan haber ver" + +#, fuzzy +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "\"%s\"den yeni bir ileti aldın" + +#~ msgid "Resour_ce:" +#~ msgstr "Kay_nak:" + +#~ msgid "Anonymous authentication" +#~ msgstr "Kimliksiz kimlik doğrulaması" + +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "Jabberde öncelik kullanıliyorki, iki veya daha fazla istemci ayni hesapı " +#~ "kullanmak istiyorsa, hangi istemci jabber sunucdan olayları alsın diye " +#~ "bilinsin; En yüksek öncelikli istemci olayları alır" + +#, fuzzy +#~ msgid "Synchronize contacts" +#~ msgstr "Kişileri eşzamana getir" + +#~ msgid "Click to request authorization to all contacts of another account" +#~ msgstr "Başka bir hesapın bütün kişilerin yetkiyi almak için tıkla" + +#~ msgid "Chan_ge Password" +#~ msgstr "Parolayı de_ğiştir" + +#~ msgid "Administration operations" +#~ msgstr "Yönetim işlemleri" + +#, fuzzy +#~ msgid "Browse..." +#~ msgstr "_Göz at" + +#, fuzzy +#~ msgid "Certificate is e_ncrypted" +#~ msgstr "^Rededilmiş durumunu değiştir" + +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "" +#~ "İşaretliyse, Gajim başlarken kendilinden jabbere bu hesapı kullanıp " +#~ "bağlanır" + +#, fuzzy +#~ msgid "Synchronize logs with server" +#~ msgstr "Kişileri eşzamana getir" + +#~ msgid "Synch_ronize account status with global status" +#~ msgstr "Hesap durumu global durumuyla eş_zamanla" + +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "İşaretliyse, her global duruma yapılan geğişiklik (kişi listesinin " +#~ "altındaki giriş kutusundan yürütüldü) bu hesapın duruma da yapılır" + +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "İşaretliyse, Gajim senin IPden ayrı daha fazla IPleri yayınlaştırırki, " +#~ "çalişan dosya gönderimin şansı büyütmek için." + +#~ msgid "Proxy" +#~ msgstr "Proxy" + +#~ msgid "" +#~ "Check this so Gajim will ask you before sending your password over an " +#~ "insecure connection." +#~ msgstr "" +#~ "Bunu işaretleyince Gajim göndermeden sorar parolayı tehlikeli bir " +#~ "bağlantı üzerinden göndersin mi diye." + +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "" +#~ "İşaretliyse, Gajim bağlantıyı zaman aşımı yüzünden kaybetmemek için " +#~ "ayakta tutma packetleri gönderir" + +#~ msgid "Use cust_om hostname/port" +#~ msgstr "Özel makine adı/porta kullan" + +#~ msgid "_Hostname: " +#~ msgstr "_Makine Adı:" + +#~ msgid "_Port: " +#~ msgstr "_Porta:" + +#~ msgid "Choose _Key..." +#~ msgstr "Bir anahtar dosyası seçin" + +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "İşaretliyse, Gajim bir GPG acentadan seahorse gibi parolyı alır." + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#~ msgid "_Edit Personal Information..." +#~ msgstr "Kişisel ilanlar sayfayı yazımla" + +#~ msgid "Personal Information" +#~ msgstr "Kişisel ilanlar sayfası" + +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "Gajim açılırken bağlan" + +#~ msgid "Synchroni_ze account status with global status" +#~ msgstr "Hesap durumu global durumuyla eş_zamanla" + +#~ msgid "Use cust_om port:" +#~ msgstr "Kendi bir porta kullan" + +#~ msgid "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." +#~ msgstr "" +#~ "Giren iletler için öntanımlı porta senin kurmada uygun değilse burada " +#~ "değişterebilirsin.\n" +#~ "Belki halka ayarları değiştirmeye üzerinde düşünürsün." + +#, fuzzy +#~ msgid "Account Name Already Used" +#~ msgstr "Benim _kullanmak istediyim bir hesapım var bile" + +#, fuzzy +#~ msgid "Account name cannot be empty." +#~ msgstr "ayraç bir boş dizge olamaz" + +#, fuzzy +#~ msgid "No such account available" +#~ msgstr "Eski revizyon bulunmamakta!" + +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "" +#~ "Önce bir Hesap yapman lazım kişisel ilanlar sayfayı yazımlamak için." + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "Bağlantızıs kişisel ilanlar sayfayı yazımlayanmiyor" + +#~ msgid "Your server can't save your personal information." +#~ msgstr "Sunuc kişisel ilanlar sayfayı kaydet edemedi" + +#~ msgid "THANKS:" +#~ msgstr "Teşekkürler:" + +#, fuzzy +#~ msgid "Jabber Traffic" +#~ msgstr "_Jabber kimliği:" + +#~ msgid "_Enable" +#~ msgstr "_Etkinleştir" + +#, fuzzy +#~ msgid "Hide IN stanzas" +#~ msgstr "Buna davet _et" + +#, fuzzy +#~ msgid "Hide OUT stanzas" +#~ msgstr "%(nickname)s Çıktı" + +#, fuzzy +#~ msgid "Hide Presence stanzas" +#~ msgstr "Menüyi gizle" + +#, fuzzy +#~ msgid "Hide IQ stanzas" +#~ msgstr "Menüyi gizle" + +#~ msgid "Filter" +#~ msgstr "Filtre" + +#~ msgid "_IQ" +#~ msgstr "_IQ" + +#~ msgid "Info/Query" +#~ msgstr "Bilgi/Sorgu" + +#, fuzzy +#~ msgid "XML Input" +#~ msgstr "ses girdisi" + +#, fuzzy +#~ msgid "XML Console for %s" +#~ msgstr "_XML Konsolu Göster" + +#, fuzzy +#~ msgid "Idle for:" +#~ msgstr "_XML Konsolu Göster" + +#~ msgid "Last status: %s" +#~ msgstr "Son durum: %s" + +#, fuzzy +#~ msgid " since %s" +#~ msgstr "Üye olduğu süre:" + +#, fuzzy +#~ msgid "since %s" +#~ msgstr "Üye olduğu süre:" + +#, fuzzy +#~ msgid "Auto" +#~ msgstr "Kendiliğinden Katıl" + +#, fuzzy +#~ msgid "body" +#~ msgstr "herkez" + +#, fuzzy +#~ msgid "otr" +#~ msgstr "Sıcak" + +#, fuzzy +#~ msgid "Invalid expire value" +#~ msgstr "Geçersiz Liste İsmi" + +#, fuzzy +#~ msgid "There is an error" +#~ msgstr "Bir hata oluştu:" + +#, fuzzy +#~ msgid "The following message was NOT encrypted" +#~ msgstr "" +#~ "%s@%s:%d iletisinin uzunluğu beklendiği kadar değil (gerçekte %d != " +#~ "beklenen %d)\n" + +#~ msgid "Toggle Open_PGP Encryption" +#~ msgstr "Open_PGP şifrelemeyi değiştir" + +#~ msgid "Toggle End to End Encryption" +#~ msgstr "Uçtan uca şifrelemeyi değiştir" + +#, fuzzy +#~ msgid "OpenPGP encryption enabled" +#~ msgstr "Bu anahtarın kullanım süresi dolmuş" + +#, fuzzy +#~ msgid "No OpenPGP key assigned" +#~ msgstr "GPG anahtara güvenilmiyor" + +#, fuzzy +#~ msgid "Session WILL be logged" +#~ msgstr "oturum kullanıcısı kaldıramaz" + +#, fuzzy +#~ msgid "Session WILL NOT be logged" +#~ msgstr "%s: OID (-o) 0 olamaz\n" + +#~ msgid "is" +#~ msgstr "ol" + +#~ msgid "is NOT" +#~ msgstr "olma" + +#~ msgid "will" +#~ msgstr "olacak" + +#, fuzzy +#~ msgid "will NOT" +#~ msgstr "Mevcut Değil" + +#, fuzzy +#~ msgid "The following message was encrypted" +#~ msgstr "Işaretli hıc bir ileti yok." + +#, fuzzy +#~ msgid "Toggle the OpenPGP encryption" +#~ msgstr "Open_PGP şifrelemeyi değiştir" + +#, fuzzy +#~ msgid "Contact's identity verified" +#~ msgstr "Yeni Kişi Ekle" + +#, fuzzy +#~ msgid "Contact's identity NOT verified" +#~ msgstr "Passport hesabı henüz doğrulanmadı" + +#, fuzzy +#~ msgid "Verify…" +#~ msgstr "_Doğrula" + +#, fuzzy +#~ msgid "Have you verified the contact's identity?" +#~ msgstr "%s ile iletişim kurmak istiyor musunuz?" + +#, fuzzy +#~ msgid "Database cannot be read." +#~ msgstr "Dosya okunamıyor (%s)\n" + +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "Kişisel Gizlilik Listesini biçimle" + +#~ msgid "_Administrator" +#~ msgstr "_Yönetici" + +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "Şuanda bu sunuca bağlanmış kişilere bir ilet gönder" + +#~ msgid "Sets Message of the Day" +#~ msgstr "Günün İletisini yazar" + +#~ msgid "Updates Message of the Day" +#~ msgstr "Günün İletisini yenileştirir" + +#~ msgid "Deletes Message of the Day" +#~ msgstr "Günün İletisini Sil" + +#, fuzzy +#~ msgid "Add _Contact..." +#~ msgstr "Kişi _ekle" + +#, fuzzy +#~ msgid "File _Transfers" +#~ msgstr "Dosya Aktarımları" + +#, fuzzy +#~ msgid "Help online" +#~ msgstr "Çevrede / Sohbete hazır" + +#, fuzzy +#~ msgid "Frequently Asked Questions (online)" +#~ msgstr "Sık sorulan soruların bir listesini görüntüler" + +#, fuzzy +#~ msgid "Fea_tures" +#~ msgstr "Özellikler:" + +#~ msgid "to %s account" +#~ msgstr "%s hesapına" + +#~ msgid "using %s account" +#~ msgstr "%s hesapı kullanıp" + +#~ msgid "of account %s" +#~ msgstr "%s hesaptan" + +#~ msgid "for account %s" +#~ msgstr "%s hesapına" + +#~ msgid "Invalid Jabber ID" +#~ msgstr "Geçersiz Jabber kimliği" + +#, fuzzy +#~ msgid "Verify..." +#~ msgstr "Doğrulama " + +#~ msgid "pgp key" +#~ msgstr "pgp anahtarı" + +#~ msgid "Your passphrase is incorrect" +#~ msgstr "Senin şifren hatalı" + +#, fuzzy +#~ msgid "OpenPGP Passphrase Incorrect" +#~ msgstr "Senin OpenGPG şifren hatalı" + +#, fuzzy +#~ msgid "OpenPGP key not trusted" +#~ msgstr "GPG anahtara güvenilmiyor" + +#, fuzzy +#~ msgid "Set logs directory" +#~ msgstr "Klasör \"%s\" yazılabilir değil" + +#~ msgid "_Manage Bookmarks..." +#~ msgstr "Yer İmlerini _Yönet" + +#, fuzzy +#~ msgid "Change Status Message..." +#~ msgstr "Durum ileti değiştir" + +#, fuzzy +#~ msgid "_Change Status Message..." +#~ msgstr "Durum ileti değiştir" + +#~ msgid "Error description..." +#~ msgstr "Hata açıklaması…" + +#, fuzzy +#~ msgid "View contact information (Ctrl+I)" +#~ msgstr "Kişisel Bilgisi" + +#~ msgid "3" +#~ msgstr "3" + +#~ msgid "4" +#~ msgstr "4" + +#~ msgid "5" +#~ msgstr "5" + +#~ msgid "6" +#~ msgstr "6" + +#~ msgid "7" +#~ msgstr "7" + +#~ msgid "8" +#~ msgstr "8" + +#~ msgid "9" +#~ msgstr "9" + +#~ msgid "*" +#~ msgstr "*" + +#~ msgid "All Chat Histories" +#~ msgstr "Bütün Sohbet Kayıtları" + +#~ msgid "More" +#~ msgstr "Daha Fazla" + +#, fuzzy +#~ msgid "creating %s directory" +#~ msgstr "Klasör \"%s\" yazılabilir değil" + +#~ msgid "Session Management" +#~ msgstr "Oturum Yönetimi" + +#, fuzzy +#~ msgid "Requires python-gnome2." +#~ msgstr "Python Programlama Dili" + +#~ msgid "SRV" +#~ msgstr "SRV" + +#, fuzzy +#~ msgid "Requires dnsutils." +#~ msgstr " (yetki gerektirir)" + +#, fuzzy +#~ msgid "importing PyGTK failed: %s" +#~ msgstr "Kişisel ilet gönderimi başarısız" + +#, fuzzy +#~ msgid "Gajim needs pywin32 to run" +#~ msgstr " --dry-run Çalıştırılması gerekenleri gösterir\n" + +#~ msgid "Gajim is already running" +#~ msgstr "Başka bir Gajim zaten çalışıyor " + +#~ msgid "A programming error has been detected" +#~ msgstr "Bir programlama hata meydana çıktı" + +#~ msgid "Details" +#~ msgstr "Ayrıntılar" + +#~ msgid "Jabber ID: " +#~ msgstr "Jabber kimliği:" + +#, fuzzy +#~ msgid "Resource: " +#~ msgstr "Kaynak:" + +#, fuzzy +#~ msgid "Mood: " +#~ msgstr "Ruh Hali:" + +#, fuzzy +#~ msgid "Activity: " +#~ msgstr "Etkinlik:" + +#, fuzzy +#~ msgid "Execute Command..." +#~ msgstr "Yürütecek komutayı seç" + +#~ msgid "@" +#~ msgstr "@" + +#~ msgid "Actions" +#~ msgstr "Aksiyonlar" + +#~ msgid "Conditions" +#~ msgstr "Şartlar" + +#~ msgid "Advanced Notifications Control" +#~ msgstr "İlerlemiş bildirim kontrolü" + +#~ msgid "Busy " +#~ msgstr "Meşgul" + +#~ msgid "Contact Change Status " +#~ msgstr "Kişinin Değişme Durumu" + +#~ msgid "Don't have " +#~ msgstr "Yok" + +#~ msgid "File Transfer Started " +#~ msgstr "Dosya gönderme başlandı" + +#~ msgid "Group Chat Message Highlight " +#~ msgstr "Grup Sohbet İleti Vurgula" + +#~ msgid "Group Chat Message Received " +#~ msgstr "Grup Sohbet İleti Alındı" + +#~ msgid "Launch a command" +#~ msgstr "Bir komut yürüt" + +#~ msgid "One or more special statuses..." +#~ msgstr "Bir veya daha fazla değişik durumlar…" + +#~ msgid "Online / Free For Chat" +#~ msgstr "Çevrede / Sohbete hazır" + +#~ msgid "Play a sound" +#~ msgstr "Bir ses çal" + +#~ msgid "When " +#~ msgstr "Ne zaman" + +#~ msgid "_Disable auto opening chat window" +#~ msgstr "Sohbet pencereyi kendilinden acılmasını _engelle" + +#~ msgid "_Disable existing popup window" +#~ msgstr "Varolan açılan penceryi _engelle" + +#~ msgid "_Disable existing sound for this event" +#~ msgstr "Bu olay için varolan sesi _engelle" + +#~ msgid "_Disable showing event in roster" +#~ msgstr "Kişi listedeki olayları _engelle" + +#~ msgid "_Disable showing event in systray" +#~ msgstr "Sistem tepsisinde gösterilen olayları _engelle" + +#~ msgid "_Inform me with a popup window" +#~ msgstr "Beni bir açılan pencereyle _haberle" + +#~ msgid "_Show event in systray" +#~ msgstr "Sistem tepsisinde gösterilen olayları göster" + +#~ msgid "and I " +#~ msgstr "ve ben" + +#~ msgid "contact(s)" +#~ msgstr "kişi(ler)" + +#~ msgid "for " +#~ msgstr "için" + +#~ msgid "group(s)" +#~ msgstr "grup(lar)" + +#~ msgid "when I'm in" +#~ msgstr "ben burdaysam" + +#~ msgid "Mic volume:" +#~ msgstr "Mikrofon ses şiddeti:" + +#~ msgid "Sound volume:" +#~ msgstr "Ses şiddeti:" + +#~ msgid "_Allow him/her to see my status" +#~ msgstr "Ona benim durumu görmeye izin _ver" + +#~ msgid "Advanced..." +#~ msgstr "İlerlemiş…" + +#~ msgid "Always use GNOME default applications" +#~ msgstr "Daima Gnome varsayılan programlarını kullan" + +#~ msgid "Always use Xfce default applications" +#~ msgstr "Daima Xfce varsayılan programlarını kullan" + +#~ msgid "Autodetect on every Gajim startup" +#~ msgstr "Gajim açılırken kendilinden belirle" + +#, fuzzy +#~ msgid "Show systray:" +#~ msgstr "_XML Konsolu Göster" + +#, fuzzy +#~ msgid "Gajim Instant Messenger" +#~ msgstr "Gajim'den gerçekten çıkılsın mı?" + +#~ msgid "English" +#~ msgstr "İngilizce" + +#~ msgid "Belarusian" +#~ msgstr "Beyaz Rusça" + +#~ msgid "Bulgarian" +#~ msgstr "Bulgarca" + +#~ msgid "Breton" +#~ msgstr "Bretonca" + +#~ msgid "Czech" +#~ msgstr "Çekçe" + +#~ msgid "German" +#~ msgstr "Almanca" + +#~ msgid "Greek" +#~ msgstr "Yünanca" + +#~ msgid "British" +#~ msgstr "İngilizce (Britanya)" + +#, fuzzy +#~ msgid "Esperanto" +#~ msgstr "Esperanto" + +#~ msgid "Spanish" +#~ msgstr "İspanyolca" + +#~ msgid "Basque" +#~ msgstr "Baskça" + +#~ msgid "French" +#~ msgstr "Fransızca" + +#~ msgid "Croatian" +#~ msgstr "Hırvatça" + +#~ msgid "Italian" +#~ msgstr "İtalyanca" + +#~ msgid "Norwegian (b)" +#~ msgstr "Norveççe" + +#~ msgid "Dutch" +#~ msgstr "Flemenkçe" + +#~ msgid "Norwegian" +#~ msgstr "Norveççe" + +#~ msgid "Polish" +#~ msgstr "Polonyaca" + +#~ msgid "Portuguese" +#~ msgstr "Portekizce" + +#~ msgid "Brazilian Portuguese" +#~ msgstr "Brezilya Portekizce" + +#~ msgid "Russian" +#~ msgstr "Rusça" + +#~ msgid "Serbian" +#~ msgstr "Sırpça" + +#~ msgid "Slovak" +#~ msgstr "Slovakça" + +#~ msgid "Swedish" +#~ msgstr "İsveççe" + +#~ msgid "Chinese (Ch)" +#~ msgstr "Çince (Çin)" + +#, fuzzy +#~ msgid "Spelling language" +#~ msgstr "Tercih ettiğiniz dil:" + +#, fuzzy +#~ msgid "'yes', 'no', or 'both'" +#~ msgstr "Cevap \"evet\" ya da \"hayır\"" + +#, fuzzy +#~ msgid "'yes', 'no' or ''" +#~ msgstr "Hiçbir anahtar seçilmedi" + +#, fuzzy +#~ msgid "Nickname not allowed: %s" +#~ msgstr "Rahatsız etmeyin" + +#, fuzzy +#~ msgid "we are now subscribed to %s" +#~ msgstr "Şu an \"%s\" veritabanına bağlısınız" + +#~ msgid "_Available" +#~ msgstr "_Mevcut Değil" + +#, fuzzy +#~ msgid "Error executing \"%(command)s\": %(error)s" +#~ msgstr "Bir hata oluştu:" + +#, fuzzy +#~ msgid "error: cannot open %s for reading" +#~ msgstr "Hata: %s okumak için açılamıyor" + +#, fuzzy +#~ msgid "Unable to bind to port %s." +#~ msgstr "PORT komutu gönderilemiyor" + +#, fuzzy +#~ msgid "A GTK+ jabber client" +#~ msgstr "Geçersiz Jabber kimliği" + +#, fuzzy +#~ msgid "when I am " +#~ msgstr "ben burdaysam" + +#~ msgid "LaTeX" +#~ msgstr "LaTeX" + +#, fuzzy +#~ msgid "Requires python-farsight." +#~ msgstr "Python Programlama Dili" + +#, fuzzy +#~ msgid "Disk WriteError" +#~ msgstr "Disk Görüntüleri" + +#~ msgid "Subject: %s" +#~ msgstr "Konu: %s" diff --git a/po/uk.po b/po/uk.po new file mode 100644 index 0000000..31bbb8e --- /dev/null +++ b/po/uk.po @@ -0,0 +1,16525 @@ +# Ukrainian translations for Gajim - A Jabber Instant Messager package. +# Copyright (C) 2010 THE Gajim - A Jabber Instant Messager'S COPYRIGHT HOLDER +# This file is distributed under the same license as the Gajim - A Jabber Instant Messager package. +# +# Sergiy Yegorov , 2010, 2011, 2012, 2013. +msgid "" +msgstr "" +"Project-Id-Version: Gajim - A Jabber Instant Messager 0.14.0.1-2fa5ddcd1adf\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2021-01-01 17:44+0100\n" +"PO-Revision-Date: 2013-08-30 12:04+0300\n" +"Last-Translator: Sergiy Yegorov \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Lokalize 1.5\n" + +#: gajim/history_manager.py:78 +msgid "Usage:" +msgstr "Використання:" + +#: gajim/history_manager.py:80 +msgid "Options:" +msgstr "Опції:" + +#: gajim/history_manager.py:82 +msgid "Show this help message and exit" +msgstr "Показати цю довідку та вийти" + +#: gajim/history_manager.py:83 +msgid "Choose folder for logfile" +msgstr "" + +#: gajim/history_manager.py:113 +msgid "Cannot find history logs database" +msgstr "Не можу знайти базу даних журналу" + +#: gajim/history_manager.py:114 +#, python-format +msgid "%s does not exist." +msgstr "Файла %s не існує." + +#: gajim/history_manager.py:147 gajim/history_manager.py:201 +#: gajim/gtk/add_contact.py:31 gajim/gtk/discovery.py:833 +#: gajim/gtk/accounts.py:892 gajim/data/gui/vcard_information_window.ui:55 +#: gajim/data/gui/bookmarks.ui:45 gajim/data/gui/blocking_list.ui:43 +#: gajim/data/gui/mam_preferences.ui:117 +#, fuzzy +msgid "XMPP Address" +msgstr "Адреса AIM:" + +#: gajim/history_manager.py:160 gajim/history_manager.py:208 +#: gajim/gtk/history.py:108 gajim/data/gui/history_window.ui:89 +msgid "Date" +msgstr "Дата" + +#: gajim/history_manager.py:167 gajim/history_manager.py:231 +#: gajim/data/gui/profile.ui:232 gajim/data/gui/vcard_information_window.ui:442 +#: gajim/data/gui/bookmarks.ui:84 +msgid "Nickname" +msgstr "Псевдонім" + +#: gajim/history_manager.py:178 gajim/history_manager.py:217 +#: gajim/gtk/history.py:117 gajim/data/gui/single_message_window.ui:266 +msgid "Message" +msgstr "Повідомлення" + +#: gajim/history_manager.py:186 gajim/history_manager.py:224 +#: gajim/data/gui/groups_post_window.ui:49 +#: gajim/data/gui/single_message_window.ui:205 +msgid "Subject" +msgstr "Тема" + +#: gajim/history_manager.py:254 +msgid "Database Cleanup" +msgstr "Очищення бази даних" + +#: gajim/history_manager.py:255 +#, fuzzy +msgid "Clean up the database?" +msgstr "створення бази даних кешу" + +#: gajim/history_manager.py:256 +#, fuzzy +msgid "" +"This is STRONGLY NOT RECOMMENDED IF GAJIM IS RUNNING.\n" +"Normally, the allocated database size will not be freed, it will just become " +"reusable. This operation may take a while." +msgstr "" +"Зазвичай, пам’ять, виділену для бази даних не буде звільнено, її просто " +"можна буде використати повторно. Якщо ви справді бажаєте зменшити розмір " +"файла бази даних, натисніть кнопку «ТАК», у іншому випадку натисніть кнопку " +"«НІ».\n" +"\n" +"Якщо ви натиснете кнопку «ТАК», вам доведеться зачекати..." + +#: gajim/history_manager.py:262 +#, fuzzy +msgid "_Cleanup" +msgstr "Споро_жнити" + +#: gajim/history_manager.py:527 gajim/gtk/filetransfer.py:238 +#: gajim/gtk/filetransfer.py:248 +msgid "You" +msgstr "Ви" + +#: gajim/history_manager.py:539 +#, python-format +msgid "%(who)s on %(time)s said: %(message)s\n" +msgstr "%(who)s %(time)s повідомив: %(message)s\n" + +#: gajim/history_manager.py:576 gajim/history_manager.py:615 +#: gajim/gtk/themes.py:362 gajim/gtk/roster_item_exchange.py:75 +#: gajim/gtk/roster_item_exchange.py:185 +msgid "Delete" +msgstr "Вилучити" + +#: gajim/history_manager.py:577 +#, fuzzy +msgid "Delete Conversation" +msgid_plural "Delete Conversations" +msgstr[0] "Підтвердження видалення" +msgstr[1] "Підтвердження видалення" +msgstr[2] "Підтвердження видалення" + +#: gajim/history_manager.py:578 +#, fuzzy, python-format +msgid "Do you want to permanently delete this conversation with %s?" +msgid_plural "Do you want to permanently delete these conversations?" +msgstr[0] "Ви справді бажаєте незворотньо видалити перемовини з %s?" +msgstr[1] "Ви справді бажаєте незворотньо видалити ці перемовини?" +msgstr[2] "Ви справді бажаєте вилучити виділене повідомлення?" + +#: gajim/history_manager.py:616 +#, fuzzy +msgid "Delete Message" +msgid_plural "Delete Messages" +msgstr[0] "Типове повідомлення" +msgstr[1] "Типове повідомлення" +msgstr[2] "Типове повідомлення" + +#: gajim/history_manager.py:617 +#, fuzzy +msgid "Do you want to permanently delete this message?" +msgid_plural "Do you want to permanently delete these messages?" +msgstr[0] "Ви справді бажаєте вилучити виділене повідомлення?" +msgstr[1] "Ви справді бажаєте вилучити виділені повідомлення?" +msgstr[2] "Ви справді бажаєте вилучити виділені повідомлення?" + +#: gajim/roster_window.py:268 gajim/roster_window.py:991 +msgid "Merged accounts" +msgstr "Об’єднані облікові записи" + +#: gajim/roster_window.py:756 gajim/roster_window.py:1667 +#: gajim/roster_window.py:1669 gajim/roster_window.py:1986 +#: gajim/roster_window.py:3065 gajim/roster_window.py:3098 +#: gajim/roster_window.py:4026 gajim/gui_interface.py:338 +#: gajim/gui_menu_builder.py:254 gajim/gui_menu_builder.py:345 +#: gajim/chat_control.py:291 gajim/chat_control.py:421 +#: gajim/gtk/add_contact.py:320 gajim/gtk/roster_item_exchange.py:112 +#: gajim/gtk/subscription_request.py:77 gajim/gtk/subscription_request.py:126 +#: gajim/common/helpers.py:89 gajim/common/helpers.py:207 +#: gajim/common/contacts.py:243 gajim/common/contacts.py:382 +#: gajim/common/contacts.py:493 +#, fuzzy +msgid "Not in contact list" +msgstr "Показувати _від’єднані контакти" + +#: gajim/roster_window.py:823 gajim/roster_window.py:1579 +#: gajim/roster_window.py:1612 gajim/roster_window.py:1663 +#: gajim/roster_window.py:1665 gajim/roster_window.py:1820 +#: gajim/roster_window.py:2378 gajim/roster_window.py:3990 +#: gajim/roster_window.py:4638 gajim/gtk/discovery.py:127 +#: gajim/gtk/discovery.py:128 gajim/gtk/discovery.py:1419 +#: gajim/common/helpers.py:88 gajim/common/contacts.py:225 +#: gajim/common/contacts.py:485 +msgid "Transports" +msgstr "Транспорти" + +#: gajim/roster_window.py:1671 gajim/roster_window.py:1673 +#: gajim/roster_window.py:3990 gajim/roster_window.py:4603 +#: gajim/gui_interface.py:1425 gajim/common/helpers.py:91 +#: gajim/common/contacts.py:223 +#, fuzzy +msgid "Group chats" +msgstr "Групові балачки" + +#: gajim/roster_window.py:1901 gajim/chat_control.py:1688 +msgid "Remote contact stopped transfer" +msgstr "Віддалений контакт зупинив передавання файлу" + +#: gajim/roster_window.py:1903 gajim/chat_control.py:1690 +msgid "Error opening file" +msgstr "Помилка під час спроби прочитати файл" + +#: gajim/roster_window.py:1968 +#, fuzzy +msgid "Authorization sent" +msgstr "Було надіслано уповноваження" + +#: gajim/roster_window.py:1969 +#, fuzzy, python-format +msgid "\"%s\" will now see your status." +msgstr "Тепер «%s» буде відомий ваш стан." + +#: gajim/roster_window.py:1987 +msgid "Subscription request has been sent" +msgstr "Було надіслано запит на підписку" + +#: gajim/roster_window.py:1988 +#, fuzzy, python-format +msgid "If \"%s\" accepts this request you will know their status." +msgstr "Якщо «%s» прийме цей запит, ви дізнаватиметеся про його або її стан." + +#: gajim/roster_window.py:2002 +#, fuzzy +msgid "Authorization removed" +msgstr "Уповноваження було вилучено" + +#: gajim/roster_window.py:2003 +#, python-format +msgid "Now \"%s\" will always see you as offline." +msgstr "Тепер «%s» завжди бачитиме вас як «поза мережею»." + +#: gajim/roster_window.py:2198 gajim/data/gui/shortcuts_window.ui:66 +#, fuzzy +msgid "Quit Gajim" +msgstr "Gajim" + +#: gajim/roster_window.py:2199 +#, fuzzy +msgid "You are about to quit Gajim" +msgstr "Ви справді бажаєте вийти з Gajim?" + +#: gajim/roster_window.py:2200 +msgid "Are you sure you want to quit Gajim?" +msgstr "Ви справді бажаєте вийти з Gajim?" + +#: gajim/roster_window.py:2201 +#, fuzzy +msgid "_Always quit when closing Gajim" +msgstr "Завжди закривати Gajim" + +#: gajim/roster_window.py:2204 gajim/roster_window.py:2299 +#: gajim/roster_window.py:2340 gajim/data/gui/application_menu.ui:30 +#: gajim/data/gui/systray_context_menu.ui:83 +msgid "_Quit" +msgstr "" + +#: gajim/roster_window.py:2292 +#, fuzzy +msgid "Stop File Transfers" +msgstr "Перенесення файлів" + +#: gajim/roster_window.py:2293 +#, fuzzy +msgid "You still have running file transfers" +msgstr "Ви маєте активні перенесення файлів" + +#: gajim/roster_window.py:2294 +msgid "" +"If you quit now, the file(s) being transferred will be lost.\n" +"Do you still want to quit?" +msgstr "" +"Якщо ви вийдете зараз, усі передачі файлів буде зупинено.\n" +"Ви все ще бажаєте вийти?" + +#: gajim/roster_window.py:2333 +#, fuzzy +msgid "Unread Messages" +msgstr "Непрочитані події" + +#: gajim/roster_window.py:2334 +#, fuzzy +msgid "You still have unread messages" +msgstr "У вас є непрочитані повідомлення" + +#: gajim/roster_window.py:2335 +#, fuzzy +msgid "" +"Messages will only be available for reading them later if storing chat " +"history is enabled and if the contact is in your contact list." +msgstr "" +"Доступ для читання повідомлень буде можливим, лише якщо ви увімкнули журнал, " +"а контакт наявний у вашому реєстрі." + +#: gajim/roster_window.py:2590 +msgid "You have unread messages" +msgstr "У вас є непрочитані повідомлення" + +#: gajim/roster_window.py:2591 +msgid "You must read them before removing this transport." +msgstr "Вам слід прочитати їх, перш ніж вилучати цей транспорт." + +#: gajim/roster_window.py:2594 +#, fuzzy, python-format +msgid "Transport '%s' will be removed" +msgstr "Транспорт \"%s\" буде вилучено" + +#: gajim/roster_window.py:2595 +#, fuzzy +msgid "" +"You will no longer be able to send and receive messages from and to contacts " +"using this transport." +msgstr "" +"Ви більше не зможете надсилати і отримувати повідомлення від контактів за " +"допомогою цього транспорту." + +#: gajim/roster_window.py:2598 +msgid "Transports will be removed" +msgstr "Транспорти буде вилучено" + +#: gajim/roster_window.py:2603 +#, python-format +msgid "" +"You will no longer be able to send and receive messages from and to contacts " +"using these transports:\n" +"%s" +msgstr "" +"Ви більше не зможете надсилати і отримувати повідомлення від контактів за " +"допомогою цих транспортів:\n" +"%s" + +#: gajim/roster_window.py:2607 +#, fuzzy +msgid "Remove Transport" +msgstr "Показувати транс_порти" + +#: gajim/roster_window.py:2662 gajim/chat_control.py:428 +#, fuzzy +msgid "Block Contact" +msgstr "Заблоковані контакти" + +#: gajim/roster_window.py:2663 gajim/chat_control.py:429 +#, fuzzy +msgid "Really block this contact?" +msgstr "Чи увімкнено OpenPGP для цього контакту?" + +#: gajim/roster_window.py:2664 gajim/chat_control.py:430 +#, fuzzy +msgid "" +"You will appear offline for this contact and you will not receive further " +"messages." +msgstr "JID контакту, який отримає це повідомлення" + +#: gajim/roster_window.py:2666 +#, fuzzy +msgid "_Do not ask again" +msgstr "Більше _не питати мене" + +#: gajim/roster_window.py:2669 gajim/chat_control.py:434 +#, fuzzy +msgid "_Report Spam" +msgstr "_Повідомити про помилку" + +#: gajim/roster_window.py:2673 gajim/roster_window.py:4778 +#: gajim/gui_menu_builder.py:485 gajim/chat_control.py:438 +#: gajim/data/gui/contact_context_menu.ui:151 +msgid "_Block" +msgstr "_Заблокувати" + +#: gajim/roster_window.py:2706 +msgid "Rename Contact" +msgstr "Перейменувати контакт" + +#: gajim/roster_window.py:2707 +#, fuzzy, python-format +msgid "Rename contact %s?" +msgstr "Перейменувати контакт" + +#: gajim/roster_window.py:2708 +#, fuzzy +msgid "Please enter a new nickname" +msgstr "Введіть новий псевдонім" + +#: gajim/roster_window.py:2712 gajim/roster_window.py:3439 +#: gajim/roster_window.py:4679 gajim/dialogs.py:103 gajim/dialogs.py:116 +#: gajim/gtk/accounts.py:308 gajim/common/contacts.py:178 +#: gajim/common/contacts.py:227 gajim/data/gui/shortcuts_window.ui:12 +#: gajim/data/gui/preferences.ui:96 +msgid "General" +msgstr "Загальне" + +#: gajim/roster_window.py:2715 +msgid "Rename Group" +msgstr "Перейменувати групу" + +#: gajim/roster_window.py:2716 +#, fuzzy, python-format +msgid "Rename group %s?" +msgstr "Перейменувати групу" + +#: gajim/roster_window.py:2717 +#, fuzzy +msgid "Please enter a new name" +msgstr "Будь ласка, спершу створіть нову порожню тему з бажаною назвою." + +#: gajim/roster_window.py:2747 gajim/roster_window.py:2869 +#: gajim/data/gui/groupchat_control.ui:1859 +#, fuzzy +msgid "_Rename" +msgstr "Пере_йменувати" + +#: gajim/roster_window.py:2769 gajim/roster_window.py:2770 +msgid "Remove Group" +msgstr "Вилучити групу" + +#: gajim/roster_window.py:2771 +#, fuzzy, python-format +msgid "Do you want to remove %s from the contact list?" +msgstr "Бажаєте вилучити групу %s з реєстру?" + +#: gajim/roster_window.py:2772 +#, fuzzy +msgid "_Also remove all contacts of this group from contact list" +msgstr "Крім того, вилучити всі контакти з цієї групи з вашого реєстру" + +#: gajim/roster_window.py:2864 gajim/roster_window.py:2865 +#, fuzzy +msgid "Rename Group Chat" +msgstr "Полишити групові балачки" + +#: gajim/roster_window.py:2866 +#, fuzzy +msgid "Please enter a new name for this group chat" +msgstr "" +"Будь ласка, введіть нове ім'я користувача для вашого локального облікового " +"запису" + +#: gajim/roster_window.py:3082 +#, fuzzy +msgid "Remove Contact" +msgstr "Перейменувати контакт" + +#: gajim/roster_window.py:3083 +#, fuzzy +msgid "Remove contact from contact list" +msgstr "Вилучає контакт з реєстру" + +#: gajim/roster_window.py:3084 +#, fuzzy, python-format +msgid "You are about to remove %(name)s (%(jid)s) from your contact list.\n" +msgstr "Ви збираєтесь вилучити \"%(name)s\" (%(jid)s) з вашого реєстру.\n" + +#: gajim/roster_window.py:3093 gajim/roster_window.py:3113 +#, fuzzy +msgid "" +"By removing this contact you also remove authorization. This means the " +"contact will see you as offline." +msgstr "" +"Вилучаючи цей контакт ви також відкликаєте авторизацію, тобто тепер вас " +"бачитимуть як поза мережею." + +#: gajim/roster_window.py:3104 +msgid "Do you want to continue?" +msgstr "Бажаєте продовжити виконання операції?" + +#: gajim/roster_window.py:3115 +#, fuzzy +msgid "_I want this contact to know my status after removal" +msgstr "Я хочу, щоб цей контакт знав про мій стан після вилучення" + +#: gajim/roster_window.py:3122 +#, fuzzy +msgid "Remove contacts from contact list" +msgstr "Вилучає контакт з реєстру" + +#: gajim/roster_window.py:3128 +#, python-format +msgid "" +"By removing the following contacts, you will also remove authorization. This " +"means they will see you as offline:\n" +"\n" +"%s" +msgstr "" +"Вилучаючи ці контакти, ви також відкликаєте авторизацію, тобто тепер вас " +"бачитимуть як поза мережею:\n" +"\n" +"%s" + +#: gajim/roster_window.py:3132 +#, fuzzy +msgid "Remove Contacts" +msgstr "Перейменувати контакт" + +#: gajim/roster_window.py:3761 +#, fuzzy +msgid "You are about to create a metacontact" +msgstr "Ви маєте намір створити метаконтакт. Ви справді цього бажаєте?" + +#: gajim/roster_window.py:3762 +#, fuzzy +msgid "" +"Metacontacts are a way to regroup several contacts in one single contact. " +"Generally it is used when the same person has several XMPP- or Transport-" +"Accounts." +msgstr "" +"За допомогою метаконтактів можна збирати декілька контактів у одному рядку " +"списку. Загалом кажучи, метаконтакти використовуються, якщо вашим контактом " +"є особа з декількома обліковими записами або транспортами Jabber." + +#: gajim/roster_window.py:3766 +#, fuzzy +msgid "Create Metacontact" +msgstr "Перейменувати контакт" + +#: gajim/roster_window.py:3769 gajim/chat_control_base.py:771 +#: gajim/groupchat_control.py:1676 gajim/message_window.py:368 +msgid "_Do not ask me again" +msgstr "Більше _не питати мене" + +#: gajim/roster_window.py:3772 gajim/data/gui/groupchat_creation.ui:317 +#, fuzzy +msgid "_Create" +msgstr "Творчий" + +#: gajim/roster_window.py:3889 +msgid "Invalid file URI:" +msgstr "Некоректна адреса файла:" + +#: gajim/roster_window.py:3901 +#, fuzzy, python-format +msgid "Send this file to %s:\n" +msgid_plural "Send these files to %s:\n" +msgstr[0] "Ви справді бажаєте надіслати цей файл до %s:" +msgstr[1] "Ви справді бажаєте надіслати ці файли до %s:" +msgstr[2] "Ви справді бажаєте надіслати ці файли до %s:" + +#: gajim/roster_window.py:3909 gajim/roster_window.py:3910 +#: gajim/chat_control.py:1541 gajim/gtk/filetransfer_progress.py:36 +#, fuzzy +msgid "File Transfer" +msgstr "Перенесення файлів" + +#: gajim/roster_window.py:3914 gajim/data/gui/xml_console.ui:334 +msgid "_Send" +msgstr "_Надіслати" + +#: gajim/roster_window.py:4067 +#, fuzzy, python-format +msgid "Send %(from)s to %(to)s" +msgstr "Надіслати %s до %s" + +#: gajim/roster_window.py:4080 +#, python-format +msgid "Make %s first contact" +msgstr "Зробити %s першим контактом." + +#: gajim/roster_window.py:4085 +#, fuzzy, python-format +msgid "Make %(contact1)s and %(contact2)s metacontacts" +msgstr "Робить %s та %s метаконтактом." + +#: gajim/roster_window.py:4436 gajim/roster_window.py:4523 +#: gajim/gtk/status_selector.py:76 +msgid "_Change Status Message" +msgstr "_Змінити повідомлення про стан" + +#: gajim/roster_window.py:4456 +msgid "Publish Tune" +msgstr "Оприлюднити музику" + +#: gajim/roster_window.py:4467 +msgid "Publish Location" +msgstr "Оприлюднити положення" + +#: gajim/roster_window.py:4606 +msgid "_Maximize All" +msgstr "_Максимізувати всі" + +#: gajim/roster_window.py:4615 gajim/roster_window.py:4743 +msgid "Send Group M_essage" +msgstr "Надіслати групове п_овідомлення" + +#: gajim/roster_window.py:4622 +msgid "To all users" +msgstr "Усім користувачам" + +#: gajim/roster_window.py:4626 +msgid "To all online users" +msgstr "Усім користувачам на зв'язку" + +#: gajim/roster_window.py:4637 gajim/roster_window.py:4749 +#: gajim/data/gui/contact_context_menu.ui:36 +msgid "In_vite to" +msgstr "За_просити до" + +#: gajim/roster_window.py:4663 gajim/gui_menu_builder.py:471 +#, fuzzy +msgid "_Rename…" +msgstr "Пере_йменувати" + +#: gajim/roster_window.py:4669 gajim/gui_menu_builder.py:493 +#: gajim/data/gui/contact_context_menu.ui:181 +msgid "Remo_ve" +msgstr "В_илучити" + +#: gajim/roster_window.py:4759 +msgid "_Manage Contacts" +msgstr "_Керування контактами" + +#: gajim/roster_window.py:4765 +#, fuzzy +msgid "Edit _Groups…" +msgstr "Редагувати _групи" + +#: gajim/roster_window.py:4774 gajim/gui_menu_builder.py:482 +#: gajim/data/gui/contact_context_menu.ui:143 +msgid "_Unblock" +msgstr "_Розблокувати" + +#: gajim/roster_window.py:4786 gajim/gtk/dialogs.py:70 +#: gajim/data/gui/filetransfers.ui:12 +msgid "_Remove" +msgstr "В_илучити" + +#: gajim/roster_window.py:4823 +msgid "_Maximize" +msgstr "_Максимізувати" + +#: gajim/roster_window.py:4828 +#, fuzzy +msgid "Re_name" +msgstr "Пере_йменувати" + +#: gajim/roster_window.py:4836 gajim/groupchat_control.py:1680 +msgid "_Leave" +msgstr "" + +#: gajim/roster_window.py:4844 +#, fuzzy +msgid "Execute command" +msgstr "Ви_конати команду" + +#: gajim/roster_window.py:4852 gajim/data/gui/application_menu.ui:68 +#: gajim/data/gui/contact_context_menu.ui:205 +msgid "_History" +msgstr "_Журнал" + +#: gajim/roster_window.py:4945 gajim/gui_interface.py:339 +#: gajim/common/helpers.py:90 gajim/common/contacts.py:221 +msgid "Observers" +msgstr "Спостерігачі" + +#: gajim/roster_window.py:4948 +msgid "Observers can see your status, but you are not allowed to see theirs" +msgstr "" + +#: gajim/privatechat_control.py:105 gajim/groupchat_control.py:1225 +#, python-format +msgid "You are now known as %s" +msgstr "Ви тепер відомі як %s" + +#: gajim/privatechat_control.py:107 gajim/groupchat_control.py:1227 +#, fuzzy, python-brace-format +msgid "{nick} is now known as {new_nick}" +msgstr "{nick} тепер стає {new_nick}" + +#: gajim/privatechat_control.py:138 gajim/groupchat_control.py:1254 +#, python-brace-format +msgid "You are now {show}{status}" +msgstr "Ви тепер {show} {status}" + +#: gajim/privatechat_control.py:142 gajim/groupchat_control.py:1258 +#, fuzzy, python-brace-format +msgid "{nick} is now {show}{status}" +msgstr "{nick} тепер {show} {status}" + +#: gajim/privatechat_control.py:199 +msgid "Sending private message failed" +msgstr "Спроба надсилання конфіденційного повідомлення зазнала невдачі" + +#: gajim/privatechat_control.py:201 +#, python-format +msgid "You are no longer in group chat \"%(room)s\" or \"%(nick)s\" has left." +msgstr "" +"Ви полишили групову балачку «%(room)s» або це зробив (зробила) «%(nick)s»." + +#: gajim/application.py:81 +#, fuzzy +msgid "Show the application's version" +msgstr "Показувати піктограму зони сповіщень" + +#: gajim/application.py:88 +msgid "Show only critical errors" +msgstr "_Показати лише критичні помилки" + +#: gajim/application.py:95 +msgid "Separate profile files completely (even history database and plugins)" +msgstr "" + +#: gajim/application.py:103 +#, fuzzy +msgid "Print XML stanzas and other debug information" +msgstr "Показувати повідомлення xml та іншу відлагоджувальну інформацію" + +#: gajim/application.py:110 +msgid "Use defined profile in configuration directory" +msgstr "Використовувати призначений профіль у каталозі налаштувань" + +#: gajim/application.py:118 +msgid "Set configuration directory" +msgstr "Призначити конфігураційний каталог" + +#: gajim/application.py:126 +msgid "Configure logging system" +msgstr "Налаштувати ведення журналів" + +#: gajim/application.py:134 +#, fuzzy +msgid "Show all warnings" +msgstr "Показати усі _події з черги" + +#: gajim/application.py:141 +msgid "Open IPython shell" +msgstr "" + +#: gajim/application.py:148 +msgid "Pops up a window with the next pending event" +msgstr "" +"Відкриває контекстне вікно з повідомленням про наступну заплановану подію" + +#: gajim/application.py:154 gajim/data/gui/shortcuts_window.ui:17 +#: data/org.gajim.Gajim.desktop.in:21 +#, fuzzy +msgid "Start a new chat" +msgstr "Почати балачку" + +#: gajim/application.py:205 gajim/gui_interface.py:131 +msgid "Database Error" +msgstr "Помилка бази даних" + +#: gajim/gui_interface.py:168 +#, fuzzy, python-format +msgid "HTTP (%(method)s) Authorization for %(url)s (ID: %(id)s)" +msgstr "HTTP (%(method)s) уповноваження для %(url)s (ідентифікатор: %(id)s)" + +#: gajim/gui_interface.py:173 +msgid "Do you accept this request?" +msgstr "Чи приймаєте ви цей запит?" + +#: gajim/gui_interface.py:175 +#, fuzzy, python-format +msgid "Do you accept this request (account: %s)?" +msgstr "Чи приймаєте ви запит щодо облікового запису %s?" + +#: gajim/gui_interface.py:181 +#, fuzzy +msgid "Authorization Request" +msgstr "Було надіслано уповноваження" + +#: gajim/gui_interface.py:182 +#, fuzzy +msgid "HTTP Authorization Request" +msgstr "Було надіслано уповноваження" + +#: gajim/gui_interface.py:185 gajim/gui_interface.py:376 +#: gajim/gui_interface.py:2002 gajim/gtk/filetransfer.py:339 +#, fuzzy +msgid "_No" +msgstr "Ні" + +#: gajim/gui_interface.py:203 gajim/gtk/notification.py:189 +#: gajim/gtk/notification.py:216 +msgid "Connection Failed" +msgstr "Спроба з’єднання завершилася невдало" + +#: gajim/gui_interface.py:299 +#, python-format +msgid "error while sending %(message)s ( %(error)s )" +msgstr "помилка під час надсилання %(message)s ( %(error)s )" + +#: gajim/gui_interface.py:324 gajim/gtk/notification.py:189 +msgid "Subscription request" +msgstr "Запит на підписку" + +#: gajim/gui_interface.py:359 +msgid "Authorization accepted" +msgstr "Уповноваження прийнято" + +#: gajim/gui_interface.py:360 +#, fuzzy, python-format +msgid "The contact \"%(jid)s\" has authorized you to see their status." +msgstr "Контакт «%s» уповноважив вас на перегляд свого стану." + +#: gajim/gui_interface.py:370 +#, fuzzy +msgid "Subscription Removed" +msgstr "Запит на підписку" + +#: gajim/gui_interface.py:371 +#, fuzzy, python-format +msgid "%(name)s (%(jid)s) has removed subscription from you" +msgstr "Контакт «%s» вилучив вашу підписку" + +#: gajim/gui_interface.py:373 +#, fuzzy +msgid "" +"You will always see this contact as offline.\n" +"Do you want to remove them from your contact list?" +msgstr "" +"Цей контакт завжди буде показано зі станом «поза мережею».\n" +"Бажаєте вилучити контакт з вашого списку контактів?" + +#: gajim/gui_interface.py:398 gajim/gtk/notification.py:190 +msgid "Unsubscribed" +msgstr "_Непідписаний" + +#: gajim/gui_interface.py:410 +#, python-format +msgid "%(jid)s declined the invitation: %(reason)s" +msgstr "%(jid)s відхилив запрошення: %(reason)s" + +#: gajim/gui_interface.py:414 +#, python-format +msgid "%(jid)s declined the invitation" +msgstr "%(jid)s відхилив запрошення" + +#: gajim/gui_interface.py:431 gajim/chat_control.py:1606 +#: gajim/gtk/notification.py:188 gajim/gtk/notification.py:214 +#: gajim/gtk/notification.py:286 gajim/gtk/groupchat_invitation.py:33 +#, fuzzy +msgid "Group Chat Invitation" +msgstr "Запрошення до групової балачки" + +#: gajim/gui_interface.py:432 +#, fuzzy, python-format +msgid "%(contact)s invited you to %(chat)s" +msgstr "" +"%(contact)s запрошує вас до групової балачки %(room_jid)s" + +#: gajim/gui_interface.py:453 +msgid "Certificate Passphrase Required" +msgstr "Потрібна кодова фраза для сертифікату" + +#: gajim/gui_interface.py:454 +#, fuzzy, python-format +msgid "Enter the certificate passphrase for account %s" +msgstr "Введіть пароль ключа GPG для сертифікату від облікового запису %s" + +#: gajim/gui_interface.py:463 +#, python-format +msgid "Enter your password for account %s" +msgstr "Введіть ваш пароль для облікового запису %s" + +#: gajim/gui_interface.py:475 +msgid "Password Required" +msgstr "Слід ввести пароль" + +#: gajim/gui_interface.py:475 +msgid "Save password" +msgstr "Зберегти пароль" + +#: gajim/gui_interface.py:544 gajim/gui_interface.py:575 +#: gajim/gtk/notification.py:187 gajim/gtk/notification.py:279 +#: gajim/gtk/filetransfer.py:333 gajim/gtk/filetransfer.py:334 +msgid "File Transfer Error" +msgstr "Помилка під час передавання файла" + +#: gajim/gui_interface.py:609 +#, python-format +msgid "%s wants to send you a file." +msgstr "%s бажає надіслати вам файл." + +#: gajim/gui_interface.py:611 gajim/gtk/notification.py:186 +#: gajim/gtk/notification.py:276 gajim/gtk/filetransfer.py:485 +msgid "File Transfer Request" +msgstr "Запит на передавання файла" + +#: gajim/gui_interface.py:714 +#, fuzzy +msgid "Remote Contact Stopped Transfer" +msgstr "Віддалений контакт зупинив передавання файлу" + +#: gajim/gui_interface.py:719 +#, fuzzy +msgid "Error Opening File" +msgstr "Помилка під час спроби прочитати файл" + +#: gajim/gui_interface.py:729 +#, fuzzy +msgid "SSL Certificate Error" +msgstr "Помилка сертифіката SSL" + +#: gajim/gui_interface.py:738 gajim/gui_interface.py:768 +#: gajim/gui_interface.py:794 gajim/chat_control.py:1573 +#: gajim/gtk/notification.py:187 gajim/gtk/notification.py:282 +msgid "File Transfer Completed" +msgstr "Завершення передавання файла" + +#: gajim/gui_interface.py:742 gajim/gui_interface.py:773 +#: gajim/gui_interface.py:800 gajim/gtk/notification.py:188 +#: gajim/gtk/notification.py:283 +msgid "File Transfer Stopped" +msgstr "Зупинка передавання файла" + +#: gajim/gui_interface.py:746 +msgid "File Transfer Failed" +msgstr "Перенесення файлу не вдалося" + +#: gajim/gui_interface.py:769 +#, fuzzy, python-format +msgid "%(filename)s received from %(name)s." +msgstr "Передавання файлу·%(filename)s·від·%(name)s невдале" + +#: gajim/gui_interface.py:774 +#, python-format +msgid "File transfer of %(filename)s from %(name)s stopped." +msgstr "Передавання файлу·%(filename)s·від·%(name)s·зупинено." + +#: gajim/gui_interface.py:780 +#, python-format +msgid "File transfer of %(filename)s from %(name)s failed." +msgstr "Передавання файлу·%(filename)s·від·%(name)s невдале" + +#: gajim/gui_interface.py:795 +#, python-format +msgid "You successfully sent %(filename)s to %(name)s." +msgstr "Ви успішно надіслали %(filename)s до %(name)s." + +#: gajim/gui_interface.py:801 +#, python-format +msgid "File transfer of %(filename)s to %(name)s stopped." +msgstr "Надсилання файлу %(filename)s до %(name)s зупинено" + +#: gajim/gui_interface.py:807 +#, python-format +msgid "File transfer of %(filename)s to %(name)s failed." +msgstr "Надсилання файлу %(filename)s до %(name)s невдале." + +#: gajim/gui_interface.py:919 gajim/gui_interface.py:920 +msgid "Username Conflict" +msgstr "Конфлікт імен користувачів" + +#: gajim/gui_interface.py:921 +#, fuzzy +msgid "Please enter a new username for your local account" +msgstr "" +"Будь ласка, введіть нове ім'я користувача для вашого локального облікового " +"запису" + +#: gajim/gui_interface.py:925 gajim/gtk/dialogs.py:51 +#: gajim/data/gui/passphrase_dialog.ui:44 +msgid "_OK" +msgstr "_Гаразд" + +#: gajim/gui_interface.py:988 gajim/chat_control.py:763 +#: gajim/chat_control.py:1660 gajim/gtk/notification.py:190 +#, fuzzy +msgid "Incoming Call" +msgstr "Колір вхідного псевдоніму" + +#: gajim/gui_interface.py:990 +#, python-format +msgid "%s is calling" +msgstr "" + +#: gajim/gui_interface.py:1071 gajim/gui_interface.py:1072 +#, fuzzy +msgid "Insecure Connection" +msgstr "Небезпечне з’єднання" + +#: gajim/gui_interface.py:1073 +#, fuzzy, python-format +msgid "" +"You are about to connect to the account %(account)s (%(server)s) using an " +"insecure connection method. This means conversations will not be encrypted. " +"Connecting PLAIN is strongly discouraged." +msgstr "" +"Ви маєте намір надіслати з’єднатись з обліковим записом %(account)s " +"(%(server)s) через незахищене з’єднання. Весь ваш обмін повідомленнями буде " +"незашифрованим. Цей тип з’єднання справді ненадійний. \n" +"Ви справді бажаєте це зробити?" + +#: gajim/gui_interface.py:1080 gajim/data/gui/groupchat_control.ui:595 +msgid "_Abort" +msgstr "" + +#: gajim/gui_interface.py:1083 +#, fuzzy +msgid "_Connect Anyway" +msgstr "Виконується з'єднання" + +#: gajim/gui_interface.py:1921 +msgid "Gajim: IPython Console" +msgstr "" + +#: gajim/gui_interface.py:1998 +#, fuzzy +msgid "Update Check" +msgstr "Перевірка правопису" + +#: gajim/gui_interface.py:1999 +msgid "Gajim Update Check" +msgstr "" + +#: gajim/gui_interface.py:2000 +msgid "Search for Gajim updates periodically?" +msgstr "" + +#: gajim/gui_interface.py:2005 +msgid "_Search Periodically" +msgstr "" + +#: gajim/gui_interface.py:2045 +#, fuzzy +msgid "Update Available" +msgstr "Дуже далеко" + +#: gajim/gui_interface.py:2046 +#, fuzzy +msgid "Gajim Update Available" +msgstr "Дуже далеко" + +#: gajim/gui_interface.py:2047 +#, python-format +msgid "There is an update available for Gajim (latest version: %s)" +msgstr "" + +#: gajim/gui_interface.py:2049 +#, fuzzy +msgid "_Do not show again" +msgstr "Більше _не питати мене" + +#: gajim/gui_interface.py:2051 gajim/gtk/accounts.py:126 +msgid "_Later" +msgstr "" + +#: gajim/gui_interface.py:2054 +msgid "_Update Now" +msgstr "" + +#: gajim/gui_menu_builder.py:358 +#, fuzzy +msgid "I would like to add you to my contact list" +msgstr "Я хочу додати вас до мого списку контактів." + +#: gajim/gui_menu_builder.py:435 +msgid "Send Single _Message…" +msgstr "Надіслати окреме _повідомлення" + +#: gajim/gui_menu_builder.py:450 +#, fuzzy +msgid "E_xecute Command…" +msgstr "Ви_конати команду" + +#: gajim/gui_menu_builder.py:458 +msgid "_Manage Transport" +msgstr "_Керування транспортом" + +#: gajim/gui_menu_builder.py:464 +msgid "_Modify Transport" +msgstr "_Змінити транспорт" + +#: gajim/gui_menu_builder.py:503 gajim/data/gui/contact_context_menu.ui:198 +msgid "_Information" +msgstr "_Інформація" + +#: gajim/gui_menu_builder.py:516 +#, fuzzy +msgid "Send File" +msgstr "Надіслати _файл" + +#: gajim/gui_menu_builder.py:517 +#, fuzzy +msgid "Upload File…" +msgstr "Зберегти файл як..." + +#: gajim/gui_menu_builder.py:518 +#, fuzzy +msgid "Send File Directly…" +msgstr "Зберегти файл як..." + +#: gajim/gui_menu_builder.py:520 gajim/gtk/accounts.py:734 +#, fuzzy +msgid "Send Read Markers" +msgstr "Надсилати пакети підтвердження дієздатності" + +#: gajim/gui_menu_builder.py:521 gajim/gtk/accounts.py:710 +#, fuzzy +msgid "Send Chatstate" +msgstr "Попередній стан: %" + +#: gajim/gui_menu_builder.py:522 gajim/data/gui/groupchat_control.ui:307 +#, fuzzy +msgid "Invite Contacts…" +msgstr "Запросити _контакти" + +#: gajim/gui_menu_builder.py:523 gajim/gui_menu_builder.py:741 +#: gajim/gui_menu_builder.py:768 gajim/gui_menu_builder.py:807 +#, fuzzy +msgid "Add to Contact List…" +msgstr "Додати контакт..." + +#: gajim/gui_menu_builder.py:524 +#, fuzzy +msgid "Block Contact…" +msgstr "Заблоковані контакти" + +#: gajim/gui_menu_builder.py:525 gajim/data/gui/chat_control.ui:936 +#, fuzzy +msgid "Start Call…" +msgstr "Почати балачку" + +#: gajim/gui_menu_builder.py:526 gajim/gui_menu_builder.py:576 +#: gajim/gui_menu_builder.py:802 gajim/data/gui/groupchat_control.ui:1334 +#, fuzzy +msgid "Information" +msgstr "_Інформація" + +#: gajim/gui_menu_builder.py:527 gajim/gui_menu_builder.py:588 +#, fuzzy +msgid "History" +msgstr "_Журнал" + +#: gajim/gui_menu_builder.py:533 gajim/gui_menu_builder.py:710 +#: gajim/gtk/preferences.py:671 gajim/gtk/groupchat_settings.py:36 +#: gajim/gtk/accounts.py:682 +msgid "Disabled" +msgstr "Вимкнено" + +#: gajim/gui_menu_builder.py:534 gajim/gtk/groupchat_settings.py:37 +#: gajim/gtk/accounts.py:681 +#, fuzzy +msgid "Composing Only" +msgstr "Лише друк" + +#: gajim/gui_menu_builder.py:535 gajim/gtk/groupchat_settings.py:38 +#, fuzzy +msgid "All Chat States" +msgstr "Усі стани балачок" + +#: gajim/gui_menu_builder.py:577 +#, fuzzy +msgid "Settings…" +msgstr "Гарячі клавіші" + +#: gajim/gui_menu_builder.py:578 +#, fuzzy +msgid "Manage Group Chat" +msgstr "Полишити групові балачки" + +#: gajim/gui_menu_builder.py:579 +#, fuzzy +msgid "Rename…" +msgstr "Пере_йменувати" + +#: gajim/gui_menu_builder.py:580 +#, fuzzy +msgid "Change Subject…" +msgstr "Змінити _тему..." + +#: gajim/gui_menu_builder.py:581 +msgid "Upload Avatar…" +msgstr "Вивантажити аватар…" + +#: gajim/gui_menu_builder.py:582 +#, fuzzy +msgid "Configure…" +msgstr "Налаштувати" + +#: gajim/gui_menu_builder.py:583 +#, fuzzy +msgid "Destroy…" +msgstr "Знищення %s" + +#: gajim/gui_menu_builder.py:585 +#, fuzzy +msgid "Change Nickname…" +msgstr "Змінити _псевдонім..." + +#: gajim/gui_menu_builder.py:586 +#, fuzzy +msgid "Request Voice" +msgstr "_Запит голосу" + +#: gajim/gui_menu_builder.py:587 gajim/gui_menu_builder.py:825 +#, fuzzy +msgid "Execute Command…" +msgstr "Ви_конати команду" + +#: gajim/gui_menu_builder.py:589 +msgid "Leave" +msgstr "" + +#: gajim/gui_menu_builder.py:631 +msgid "Add Contact…" +msgstr "Додати контакт..." + +#: gajim/gui_menu_builder.py:632 gajim/gtk/accounts.py:861 +#: gajim/gtk/accounts.py:899 gajim/gtk/profile.py:53 +msgid "Profile" +msgstr "Профіль" + +#: gajim/gui_menu_builder.py:633 +msgid "Send Single Message…" +msgstr "Надіслати окреме повідомлення…" + +#: gajim/gui_menu_builder.py:634 +#, fuzzy +msgid "Discover Services…" +msgstr "Переглянути служби" + +#: gajim/gui_menu_builder.py:635 gajim/gtk/server_info.py:47 +#, fuzzy +msgid "Server Info" +msgstr "Сервер" + +#: gajim/gui_menu_builder.py:636 gajim/gtk/accounts.py:312 +#: gajim/data/gui/preferences.ui:853 +msgid "Advanced" +msgstr "Додатково" + +#: gajim/gui_menu_builder.py:637 gajim/gtk/mam_preferences.py:100 +msgid "Archiving Preferences" +msgstr "Налаштування архівації" + +#: gajim/gui_menu_builder.py:638 +#, fuzzy +msgid "Blocking List" +msgstr "Список заборон" + +#: gajim/gui_menu_builder.py:639 +#, fuzzy +msgid "Bookmarks" +msgstr "_Закладка" + +#: gajim/gui_menu_builder.py:640 +#, fuzzy +msgid "PEP Configuration" +msgstr "Налаштування" + +#: gajim/gui_menu_builder.py:641 +#, fuzzy +msgid "Synchronise History…" +msgstr "Синхронізувати історію" + +#: gajim/gui_menu_builder.py:643 gajim/gtk/server_info.py:141 +#: gajim/data/gui/groupchat_config.ui:36 +#, fuzzy +msgid "Admin" +msgstr "_Адміністратор" + +#: gajim/gui_menu_builder.py:644 +#, fuzzy +msgid "Send Server Message…" +msgstr "_Надіслати серверне повідомлення..." + +#: gajim/gui_menu_builder.py:645 +#, fuzzy +msgid "Set MOTD…" +msgstr "Встановити «Повідомлення дня»..." + +#: gajim/gui_menu_builder.py:646 +#, fuzzy +msgid "Update MOTD…" +msgstr "Оновити «Повідомлення дня»..." + +#: gajim/gui_menu_builder.py:647 +#, fuzzy +msgid "Delete MOTD…" +msgstr "Вилучити «Повідомлення дня»" + +#: gajim/gui_menu_builder.py:684 +#, fuzzy +msgid "_Add Account…" +msgstr "_Додати контакт..." + +#: gajim/gui_menu_builder.py:690 +#, fuzzy +msgid "_Modify Accounts…" +msgstr "_Змінити обліковий запис" + +#: gajim/gui_menu_builder.py:700 gajim/data/gui/account_context_menu.ui:79 +#: gajim/data/gui/zeroconf_context_menu.ui:26 +#, fuzzy +msgid "_Modify Account…" +msgstr "_Змінити обліковий запис" + +#: gajim/gui_menu_builder.py:704 gajim/gtk/accounts.py:51 +msgid "Accounts" +msgstr "Облікові записи" + +#: gajim/gui_menu_builder.py:734 gajim/gui_menu_builder.py:739 +#, fuzzy +msgid "Copy XMPP Address" +msgstr "_Копіювати JID/адресу електронної пошти" + +#: gajim/gui_menu_builder.py:735 gajim/gui_menu_builder.py:767 +#, fuzzy +msgid "Join Groupchat" +msgstr "Приєднатись до групової балачки" + +#: gajim/gui_menu_builder.py:740 gajim/gui_menu_builder.py:766 +#: gajim/gtk/start_chat.py:636 +#: gajim/data/gui/subscription_request_window.ui:149 +msgid "Start Chat" +msgstr "Почати балачку" + +#: gajim/gui_menu_builder.py:746 +#, fuzzy +msgid "Copy Link Location" +msgstr "_Копіювати посилання" + +#: gajim/gui_menu_builder.py:747 +#, fuzzy +msgid "Open Link in Browser" +msgstr "_Відкрити посилання у веб-переглядачі" + +#: gajim/gui_menu_builder.py:752 +#, fuzzy +msgid "Copy Email Address" +msgstr "_Копіювати JID/адресу електронної пошти" + +#: gajim/gui_menu_builder.py:753 gajim/gui_menu_builder.py:765 +#, fuzzy +msgid "Open Email Composer" +msgstr "_Відкрити редактор поштових повідомлень" + +#: gajim/gui_menu_builder.py:758 +#, fuzzy +msgid "Copy Location" +msgstr "_Копіювати посилання" + +#: gajim/gui_menu_builder.py:759 gajim/gtk/preferences.py:291 +#, fuzzy +msgid "Show Location" +msgstr "Положення:" + +#: gajim/gui_menu_builder.py:764 +#, fuzzy +msgid "Copy XMPP Address/Email" +msgstr "_Копіювати JID/адресу електронної пошти" + +#: gajim/gui_menu_builder.py:816 +#, fuzzy +msgid "Invite" +msgstr "_Запросити" + +#: gajim/gui_menu_builder.py:832 +#, fuzzy +msgid "Kick" +msgstr "_Викинути" + +#: gajim/gui_menu_builder.py:840 +#, fuzzy +msgid "Ban" +msgstr "_Заблокувати" + +#: gajim/gui_menu_builder.py:850 +#, fuzzy +msgid "Make Owner" +msgstr "Власник" + +#: gajim/gui_menu_builder.py:859 +#, fuzzy +msgid "Make Admin" +msgstr "_Адміністратор" + +#: gajim/gui_menu_builder.py:868 +#, fuzzy +msgid "Make Member" +msgstr "Учасник" + +#: gajim/gui_menu_builder.py:877 +#, fuzzy +msgid "Revoke Member" +msgstr "Учасник" + +#: gajim/gui_menu_builder.py:887 +msgid "Grant Voice" +msgstr "" + +#: gajim/gui_menu_builder.py:890 +#, fuzzy +msgid "Revoke Voice" +msgstr "_Запит голосу" + +#: gajim/gui_menu_builder.py:910 +#, fuzzy +msgid "Copy" +msgstr "JID кімнати" + +#: gajim/chat_control.py:346 gajim/groupchat_control.py:348 +msgid "Send File…" +msgstr "Надіслати файл…" + +#: gajim/chat_control.py:348 gajim/groupchat_control.py:354 +#, fuzzy +msgid "No File Transfer available" +msgstr "Перенесення файлу не вдалося" + +#: gajim/chat_control.py:479 +msgid "Show a list of formattings" +msgstr "Показати список інструментів форматування" + +#: gajim/chat_control.py:483 +msgid "This contact does not support HTML" +msgstr "Цей контакт не підтримує HTML" + +#: gajim/chat_control.py:684 +msgid "Ping?" +msgstr "Гу?" + +#: gajim/chat_control.py:687 +#, fuzzy, python-format +msgid "Pong! (%s seconds)" +msgstr "Га! (%s s.)" + +#: gajim/chat_control.py:758 +#, fuzzy +msgid "Calling…" +msgstr "Блокування..." + +#: gajim/chat_control.py:783 gajim/chat_control.py:870 +#, fuzzy +msgid "Connection Error" +msgstr "З'єднання" + +#: gajim/chat_control.py:811 gajim/data/gui/chat_control.ui:1185 +msgid "Turn Camera on" +msgstr "" + +#: gajim/chat_control.py:822 +msgid "Calling (Video)…" +msgstr "" + +#: gajim/chat_control.py:826 gajim/chat_control.py:834 +#: gajim/chat_control.py:864 +msgid "Turn Camera off" +msgstr "" + +#: gajim/chat_control.py:832 +msgid "Incoming Call (Video)" +msgstr "" + +#: gajim/chat_control.py:1020 +#, python-format +msgid "%(nickname)s from group chat %(room_name)s" +msgstr "%(nickname)s з групової балачки %(room_name)s" + +#: gajim/chat_control.py:1257 +#, fuzzy +msgid "Note: Chat history is disabled for this contact." +msgstr "Ігнорувати цю помилку для цього сертифіката." + +#: gajim/chat_control.py:1259 +msgid "Note: Chat history is disabled for this account." +msgstr "" + +#: gajim/chat_control.py:1260 +#, fuzzy, python-format +msgid "" +"You just received a new message from %s.\n" +"Do you want to close this tab?" +msgstr "Ви щойно отримали нове повідомлення від «%s»" + +#: gajim/chat_control.py:1266 gajim/gtk/remove_account.py:43 +#: gajim/gtk/change_password.py:44 +#, fuzzy +msgid "Close" +msgstr "_Надіслати і закрити" + +#: gajim/chat_control.py:1267 gajim/gtk/notification.py:184 +#: gajim/gtk/notification.py:204 gajim/gtk/notification.py:218 +#: gajim/gtk/notification.py:271 gajim/common/connection_handlers_events.py:237 +msgid "New Message" +msgstr "Нове повідомлення" + +#: gajim/chat_control.py:1272 gajim/chat_control.py:1579 +#: gajim/chat_control.py:1588 gajim/message_window.py:371 +#: gajim/data/gui/groupchat_control.ui:1117 +#: gajim/data/gui/groupchat_control.ui:1203 +#: gajim/data/gui/groupchat_control.ui:1308 +#: gajim/data/gui/groupchat_control.ui:1997 +#, fuzzy +msgid "_Close" +msgstr "_Надіслати і закрити" + +#: gajim/chat_control.py:1359 +#, python-format +msgid "" +"Subject: %(subject)s\n" +"%(message)s" +msgstr "" +"Тема: %(subject)s\n" +"%(message)s" + +#: gajim/chat_control.py:1480 +#, python-format +msgid "%(name)s is now %(show)s %(status)s" +msgstr "%(name)s тепер %(show)s %(status)s" + +#: gajim/chat_control.py:1545 +msgid "Size" +msgstr "Розмір" + +#: gajim/chat_control.py:1547 gajim/chat_control.py:1609 +#: gajim/gtk/groupchat_invitation.py:67 +#, fuzzy +msgid "_Decline" +msgstr "_Поза мережею" + +#: gajim/chat_control.py:1550 gajim/chat_control.py:1611 +#: gajim/chat_control.py:1668 gajim/gtk/dialogs.py:59 +#, fuzzy +msgid "_Accept" +msgstr "_Прийняти" + +#: gajim/chat_control.py:1577 gajim/gtk/filetransfer.py:259 +#, fuzzy +msgid "Open _Folder" +msgstr "В_ідкриту теку, яка містить цей файл" + +#: gajim/chat_control.py:1662 +#, fuzzy +msgid "" +"\n" +"Video Call" +msgstr "Тест відео" + +#: gajim/chat_control.py:1664 +#, fuzzy +msgid "" +"\n" +"Voice Call" +msgstr "Запит на голосову розмову" + +#: gajim/chat_control.py:1666 +#, fuzzy +msgid "_Reject" +msgstr "Пригнічений" + +#: gajim/chat_control.py:1692 gajim/gtk/filetransfer.py:297 +msgid "File transfer stopped" +msgstr "Зупинка передавання файла" + +#: gajim/chat_control.py:1697 gajim/gtk/filetransfer.py:275 +#: gajim/gtk/filetransfer.py:284 +msgid "File transfer cancelled" +msgstr "Передавання файла скасовано" + +#: gajim/chat_control.py:1698 +msgid "Connection with peer cannot be established." +msgstr "Не вдалося встановити з’єднання з вузлом." + +#: gajim/chat_control_base.py:141 gajim/gtk/start_chat.py:649 +#: gajim/gtk/groupchat_invite.py:318 +#, fuzzy, python-format +msgid "Account: %s" +msgstr "Облікові записи" + +#: gajim/chat_control_base.py:592 +msgid "and authenticated" +msgstr "і уповноваженим" + +#: gajim/chat_control_base.py:596 +msgid "and NOT authenticated" +msgstr "і НЕ уповноваженим" + +#: gajim/chat_control_base.py:600 +#, python-format +msgid "%(type)s encryption is active %(authenticated)s." +msgstr "%(type)s шифрування увімкнено %(authenticated)s." + +#: gajim/chat_control_base.py:715 +msgid "_Undo" +msgstr "_Скасувати" + +#: gajim/chat_control_base.py:723 gajim/conversation_textview.py:417 +msgid "_Clear" +msgstr "_Очистити" + +#: gajim/chat_control_base.py:728 +msgid "Paste as quote" +msgstr "" + +#: gajim/chat_control_base.py:767 +#, fuzzy +msgid "Paste Image" +msgstr "Вибрати зображення" + +#: gajim/chat_control_base.py:768 +#, fuzzy +msgid "You are trying to paste an image" +msgstr "Ви збираєтесь закрити кілька вкладок" + +#: gajim/chat_control_base.py:769 +msgid "" +"Are you sure you want to paste your clipboard's image into the chat window?" +msgstr "" +"Ви справді бажаєте вставити зображення з буфера обміну до вікна балачки?" + +#: gajim/chat_control_base.py:775 +msgid "_Paste" +msgstr "" + +#: gajim/chat_control_base.py:1361 gajim/gtk/accounts.py:310 +#: gajim/data/gui/profile.ui:17 gajim/data/gui/profile.ui:318 +#, fuzzy +msgid "Privacy" +msgstr "Список конфіденційності" + +#: gajim/chat_control_base.py:1362 +msgid "Warning" +msgstr "Попередження" + +#: gajim/chat_control_base.py:1363 +#, fuzzy, python-format +msgid "" +"If you send a file to %s, your real XMPP address will be revealed." +msgstr "" +"Якщо ви надішлете файл — %s дізнається про ваш справжній " +"ідентифікатор Jabber." + +#: gajim/chat_control_base.py:1368 +msgid "_Continue" +msgstr "_Продовжити" + +#: gajim/gajim_remote.py:55 gajim/common/exceptions.py:70 +msgid "D-Bus is not present on this machine or python module is missing" +msgstr "У цій системі немає D-Bus або відсутній потрібний модуль python" + +#: gajim/gajim_remote.py:77 +msgid "Shows a help on specific command" +msgstr "Показує довідку щодо вказаної команди" + +#: gajim/gajim_remote.py:80 +msgid "command" +msgstr "команда" + +#: gajim/gajim_remote.py:81 +msgid "show help on command" +msgstr "показати довідку щодо команди" + +#: gajim/gajim_remote.py:85 +#, fuzzy +msgid "Lists all contacts in the contact list, one for each line" +msgstr "" +"Показує список всіх контактів з реєстру. Кожен з записів контактів буде " +"показано у окремому рядку" + +#: gajim/gajim_remote.py:87 gajim/gajim_remote.py:102 gajim/gajim_remote.py:112 +#: gajim/gajim_remote.py:122 gajim/gajim_remote.py:133 +#: gajim/gajim_remote.py:142 gajim/gajim_remote.py:163 +#: gajim/gajim_remote.py:171 gajim/gajim_remote.py:180 +#: gajim/gajim_remote.py:187 +msgid "?CLI:account" +msgstr "?CLI:обліковий запис" + +#: gajim/gajim_remote.py:87 +msgid "show only contacts of the given account" +msgstr "показати лише контакти вказаного облікового запису" + +#: gajim/gajim_remote.py:93 +msgid "Prints a list of registered accounts" +msgstr "Показує список зареєстрованих облікових записів" + +#: gajim/gajim_remote.py:97 +#, fuzzy +msgid "Changes the status of account(s)" +msgstr "Змінює стан облікового запису або обліковий запис" + +#: gajim/gajim_remote.py:100 +msgid "?CLI:status" +msgstr "?CLI:стан" + +#: gajim/gajim_remote.py:100 +#, fuzzy +msgid "" +"one of: offline, online, chat, away, xa, dnd. If not set, use account's " +"previous status" +msgstr "" +"одне зі значень: поза мережею, доступний, балачка, пішов, далеко, не " +"турбувати, невидимий. Якщо не вказано, буде використано попередній стан " +"облікового запису." + +#: gajim/gajim_remote.py:101 gajim/gajim_remote.py:121 +#: gajim/gajim_remote.py:132 gajim/gajim_remote.py:141 +msgid "?CLI:message" +msgstr "?CLI:повідомлення" + +#: gajim/gajim_remote.py:101 +msgid "status message" +msgstr "повідомлення про стан" + +#: gajim/gajim_remote.py:102 +msgid "" +"change status of account \"account\". If not specified, try to change status " +"of all accounts that have \"sync with global status\" option set" +msgstr "" +"змінити стан облікового запису «account». Якщо назви облікового запису не " +"вказано, спробувати змінити стан всіх облікових записів, для яких було " +"позначено пункт «синхронізувати з загальним станом»" + +#: gajim/gajim_remote.py:108 +#, fuzzy +msgid "Changes the priority of account(s)" +msgstr "Змінює пріоритет одного або кількох облікових записів" + +#: gajim/gajim_remote.py:110 +msgid "?CLI:priority" +msgstr "?CLI:пріоритет" + +#: gajim/gajim_remote.py:110 +msgid "priority you want to give to the account" +msgstr "пріоритет який ви бажаєте надати обліковому запису" + +#: gajim/gajim_remote.py:112 +msgid "" +"change the priority of the given account. If not specified, change status of " +"all accounts that have \"sync with global status\" option set" +msgstr "" +"змінити пріоритет вказаного облікового запису. Якщо назви облікового запису " +"не вказано, спробувати змінити стан всіх облікових записів, для яких було " +"позначено пункт «синхронізувати з загальним станом»" + +#: gajim/gajim_remote.py:118 +#, fuzzy +msgid "" +"Sends new chat message to a contact in the contact list. Account is optional." +msgstr "Надіслати повідомлення контакту щоб привернути його (її) увагу" + +#: gajim/gajim_remote.py:120 gajim/gajim_remote.py:130 +#, fuzzy +msgid "XMPP Address of the contact that will receive the message" +msgstr "JID контакту, який отримає це повідомлення" + +#: gajim/gajim_remote.py:121 gajim/gajim_remote.py:132 +#: gajim/gajim_remote.py:141 +msgid "message contents" +msgstr "вміст повідомлення" + +#: gajim/gajim_remote.py:122 gajim/gajim_remote.py:133 +#: gajim/gajim_remote.py:142 +msgid "if specified, the message will be sent using this account" +msgstr "якщо вказано, повідомлення буде надіслано з цього облікового запису" + +#: gajim/gajim_remote.py:127 +#, fuzzy +msgid "" +"Sends a chat message to someone on your contact list. Account is optional." +msgstr "Надіслати повідомлення контакту щоб привернути його (її) увагу" + +#: gajim/gajim_remote.py:131 +msgid "subject" +msgstr "тема" + +#: gajim/gajim_remote.py:131 +msgid "message subject" +msgstr "тема повідомлення" + +#: gajim/gajim_remote.py:138 +#, fuzzy +msgid "Sends new message to a group chat you've joined." +msgstr "" +"Надсилає нове повідомлення до групової балачки, до якої ви приєдналися." + +#: gajim/gajim_remote.py:140 +#, fuzzy +msgid "XMPP Address of the group chat that will receive the message" +msgstr "JID кімнати, де буде отримано це повідомлення" + +#: gajim/gajim_remote.py:147 +msgid "Gets detailed info on a contact" +msgstr "Отримує докладні відомості щодо контакту" + +#: gajim/gajim_remote.py:149 gajim/gajim_remote.py:162 +#: gajim/gajim_remote.py:170 +#, fuzzy +msgid "XMPP Address of the contact" +msgstr "JID контакту" + +#: gajim/gajim_remote.py:153 +msgid "Gets detailed info on a account" +msgstr "Отримує докладні відомості щодо контакту" + +#: gajim/gajim_remote.py:155 +msgid "Name of the account" +msgstr "Назва облікового запису" + +#: gajim/gajim_remote.py:159 +msgid "Sends file to a contact" +msgstr "Надсилає контакту файл" + +#: gajim/gajim_remote.py:161 +msgid "file" +msgstr "файл" + +#: gajim/gajim_remote.py:161 +msgid "File path" +msgstr "Шлях до файла" + +#: gajim/gajim_remote.py:163 +msgid "if specified, file will be sent using this account" +msgstr "якщо вказано, файл буде надіслано з цього облікового запису" + +#: gajim/gajim_remote.py:168 +#, fuzzy +msgid "Removes contact from contact list" +msgstr "Вилучає контакт з реєстру" + +#: gajim/gajim_remote.py:171 +msgid "if specified, contact is taken from the contact list of this account" +msgstr "" +"якщо вказано, контакт буде взято зі списку контактів цього облікового запису" + +#: gajim/gajim_remote.py:178 +msgid "Returns current status (the global one unless account is specified)" +msgstr "" +"Повертає поточний стан (загальний стан, якщо не було вказано облікового " +"запису)" + +#: gajim/gajim_remote.py:185 +msgid "" +"Returns current status message (the global one unless account is specified)" +msgstr "" +"Повертає поточне повідомлення стану (загальне повідомлення, якщо не було " +"вказано облікового запису)" + +#: gajim/gajim_remote.py:192 +msgid "Returns number of unread messages" +msgstr "Повертає кількість непрочитаних повідомлень" + +#: gajim/gajim_remote.py:197 +msgid "Sends custom XML" +msgstr "Надсилає нетиповий XML" + +#: gajim/gajim_remote.py:199 +msgid "XML to send" +msgstr "XML для надсилання" + +#: gajim/gajim_remote.py:200 +#, fuzzy +msgid "" +"Account to which the XML will be sent; if not specified, XML will be sent to " +"all accounts" +msgstr "" +"Обліковий запис, на який буде надіслано xml; якщо не вказано, xml буде " +"надіслано до всіх облікових записів" + +#: gajim/gajim_remote.py:207 +msgid "Check if Gajim is running" +msgstr "Перевірити, чи запущено Gajim" + +#: gajim/gajim_remote.py:233 +msgid "Missing argument \"contact_jid\"" +msgstr "Пропущено аргумент «contact_jid»" + +#: gajim/gajim_remote.py:253 +#, fuzzy, python-format +msgid "" +"'%s' is not in your contact list.\n" +"Please specify account for sending the message." +msgstr "" +"«%s» немає у реєстрі.\n" +"Будь ласка, вкажіть обліковий запис для надсилання цього повідомлення." + +#: gajim/gajim_remote.py:256 +msgid "You have no active account" +msgstr "У вас немає жодного задіяного облікового запису" + +#: gajim/gajim_remote.py:304 +msgid "It seems Gajim is not running. So you can't use gajim-remote." +msgstr "" +"Здається, Gajim не запущено. Отже ви не зможете скористатися gajim-remote." + +#: gajim/gajim_remote.py:331 +#, python-format +msgid "" +"Usage: %(basename)s %(command)s %(arguments)s \n" +"\t %(help)s" +msgstr "" +"Використання: %(basename)s %(command)s %(arguments)s \n" +"\t %(help)s" + +#: gajim/gajim_remote.py:335 +msgid "Arguments:" +msgstr "Аргументи:" + +#: gajim/gajim_remote.py:339 +#, python-format +msgid "%s not found" +msgstr "%s не знайдено" + +#: gajim/gajim_remote.py:345 +#, python-format +msgid "" +"Usage:\n" +" %s command [arguments]\n" +"\n" +"Command is one of:\n" +msgstr "" +"Використання:\n" +" %s команда [аргументи]\n" +"\n" +"Можливі команди:\n" + +#: gajim/gajim_remote.py:415 +#, python-format +msgid "" +"Too many arguments. \n" +"Type \"%(basename)s help %(command)s\" for more info" +msgstr "" +"Забагато аргументів. \n" +"Виконайте команду \"%(basename)s help %(command)s\", щоб дізнатися більше" + +#: gajim/gajim_remote.py:420 +#, python-format +msgid "" +"Argument \"%(arg)s\" is not specified. \n" +"Type \"%(basename)s help %(command)s\" for more info" +msgstr "" +"Не було вказано аргумент \"%(arg)s\". \n" +"Виконайте команду \"%(basename)s help %(command)s\", щоб дізнатися більше" + +#: gajim/dialogs.py:70 +#, python-format +msgid "Contact name: %s" +msgstr "Назва контакту: %s" + +#: gajim/dialogs.py:72 +#, python-format +msgid "XMPP Address: %s" +msgstr "" + +#: gajim/dialogs.py:189 +msgid "Group" +msgstr "Група" + +#: gajim/dialogs.py:196 +msgid "In the group" +msgstr "У групі" + +#: gajim/dialogs.py:211 gajim/gtk/discovery.py:522 +msgid "You are not connected to the server" +msgstr "Ваш комп’ютер не з’єднано з сервером" + +#: gajim/dialogs.py:212 +msgid "Without a connection, you can not synchronise your contacts." +msgstr "" +"Для синхронізації ваших контактів потрібно встановити з’єднання облікового " +"запису з сервером." + +#: gajim/dialogs.py:223 gajim/dialogs.py:294 +#: gajim/gtk/roster_item_exchange.py:83 gajim/gtk/discovery.py:826 +#: gajim/gtk/discovery.py:1650 gajim/gtk/discovery.py:1896 +#: gajim/gtk/history.py:99 gajim/gtk/vcard_grid.py:34 +#: gajim/data/gui/bookmarks.ui:66 +msgid "Name" +msgstr "Назва" + +#: gajim/dialogs.py:226 gajim/data/gui/preferences.ui:604 +#: gajim/data/gui/server_info.ui:146 +msgid "Server" +msgstr "Сервер" + +#: gajim/dialogs.py:262 +msgid "This account is not connected to the server" +msgstr "Цей обліковий запис не з’єднано з сервером" + +#: gajim/dialogs.py:263 +msgid "You cannot synchronize with an account unless it is connected." +msgstr "" +"Можливістю синхронізації можна скористатися, лише якщо обліковий запис " +"з’єднано з сервером." + +#: gajim/dialogs.py:292 +msgid "Synchronise" +msgstr "Синхронізувати" + +#: gajim/vcard.py:284 +msgid "?Client:Unknown" +msgstr "?Клієнт:Невідомий" + +#: gajim/vcard.py:289 +msgid "?OS:Unknown" +msgstr "?ОС:Невідома" + +#: gajim/vcard.py:319 gajim/vcard.py:322 +msgid "?Time:Unknown" +msgstr "?Час:Невідомий" + +#: gajim/vcard.py:373 +msgid "?Role in Group Chat:Role:" +msgstr "?Роль в груповій балачці:Роль:" + +#: gajim/vcard.py:377 +msgid "Affiliation:" +msgstr "Належність:" + +#: gajim/vcard.py:384 +msgid "" +"This contact is interested in your presence information, but you are not " +"interested in their presence" +msgstr "" +"Цей контакт зацікавлений у ваших відомостях щодо присутності, але ви не " +"цікавитеся відомостями щодо його або її присутності" + +#: gajim/vcard.py:386 +#, fuzzy +msgid "" +"You are interested in the contact's presence information, but it is not " +"mutual" +msgstr "" +"Ви зацікавлені у відомостях щодо присутності контакту, але він або вона не " +"цікавляться вашими відомостями" + +#: gajim/vcard.py:388 +#, fuzzy +msgid "The contact and you want to exchange presence information" +msgstr "" +"Ви і цей контакт взаємно зацікавлені у відомостях щодо присутності одне " +"одного" + +#: gajim/vcard.py:390 +#, fuzzy +msgid "" +"You and the contact have a mutual disinterest in each-others presence " +"information" +msgstr "" +"Ви і цей контакт взаємно зацікавлені у відомостях щодо присутності одне " +"одного" + +#: gajim/vcard.py:396 +msgid "You are waiting contact's answer about your subscription request" +msgstr "Ви очікуєте на відповідь контакту на ваш запит щодо підписки" + +#: gajim/vcard.py:398 +msgid "There is no pending subscription request." +msgstr "У черзі немає запитів на підписку." + +#: gajim/vcard.py:403 gajim/vcard.py:453 gajim/vcard.py:549 +msgid " resource with priority " +msgstr " пріоритетний ресурс" + +#: gajim/conversation_textview.py:65 +#, fuzzy +msgid "Untrusted" +msgstr "Зацікавлений" + +#: gajim/conversation_textview.py:68 +msgid "Trust Not Decided" +msgstr "" + +#: gajim/conversation_textview.py:71 +msgid "Unverified" +msgstr "" + +#: gajim/conversation_textview.py:74 +#, fuzzy +msgid "Verified" +msgstr "Пере_вірити" + +#: gajim/conversation_textview.py:225 +msgid "" +"Text below this line is what has been said since the\n" +"last time you paid attention to this group chat" +msgstr "" +"Текст під цим рядком відповідає повідомленням, які було\n" +"надіслано з часу, коли ви востаннє зазирали до цього вікна групової балачки" + +#: gajim/conversation_textview.py:428 +msgid "_Quote" +msgstr "_Цитата" + +#: gajim/conversation_textview.py:436 +#, python-format +msgid "_Actions for \"%s\"" +msgstr "_Дії для «%s»" + +#: gajim/conversation_textview.py:450 +msgid "Read _Wikipedia Article" +msgstr "Прочитати статтю у В_ікіпедії" + +#: gajim/conversation_textview.py:455 +msgid "Look it up in _Dictionary" +msgstr "Пошукати це у _словнику" + +#: gajim/conversation_textview.py:472 +#, python-format +msgid "Dictionary URL is missing an \"%s\" and it is not WIKTIONARY" +msgstr "У адресі URL словника не вказано «%s», або ключового слова WIKTIONARY" + +#: gajim/conversation_textview.py:486 +#, python-format +msgid "Web Search URL is missing an \"%s\"" +msgstr "У адресі URL для пошуку у Тенетах не вказано «%s»" + +#: gajim/conversation_textview.py:489 +msgid "Web _Search for it" +msgstr "Пошук у _Тенетах" + +#: gajim/conversation_textview.py:495 +msgid "Open as _Link" +msgstr "Відкрити як _посилання" + +#: gajim/conversation_textview.py:770 +#, fuzzy +msgid "Invalid URL" +msgstr "Некоректний JID" + +#: gajim/conversation_textview.py:860 +msgid "" +"Message corrected. Original message:\n" +"{}" +msgstr "" +"Повідомлення було відредаговане. Останнє повідомлення було:\n" +"{}" + +#: gajim/conversation_textview.py:1031 +#, fuzzy +msgid "Not encrypted" +msgstr "Не розпочато" + +#: gajim/conversation_textview.py:1034 +#, python-format +msgid "Encrypted (%s)" +msgstr "" + +#: gajim/conversation_textview.py:1141 gajim/gtk/history.py:618 +#, python-format +msgid "Subject: %s\n" +msgstr "Тема: %s\n" + +#: gajim/conversation_textview.py:1250 +#, fuzzy +msgid "Received" +msgstr "Отримано %s" + +#: gajim/conversation_textview.py:1272 +#, fuzzy +msgid "?Message state:Read" +msgstr "Ховати станси повідомлення" + +#: gajim/groupchat_control.py:352 +#, python-format +msgid "Send File (max. %s MiB)…" +msgstr "Надіслати файл (макс. %s МіБ)…" + +#: gajim/groupchat_control.py:497 +#, fuzzy, python-format +msgid "%s has been invited to this group chat" +msgstr "%(jid)s було запрошено до цієї кімнати" + +#: gajim/groupchat_control.py:512 gajim/dialog_messages.py:31 +#: gajim/dialog_messages.py:36 gajim/gtk/single_message.py:238 +#, fuzzy +msgid "Invalid XMPP Address" +msgstr "Некоректний файл" + +#: gajim/groupchat_control.py:575 +#, fuzzy +msgid "Loading avatar failed" +msgstr "Спроба надсилання конфіденційного повідомлення зазнала невдачі" + +#: gajim/groupchat_control.py:595 +#, fuzzy, python-format +msgid "Avatar upload failed: %s" +msgstr "Спроба оприлюднення vCard зазнала невдачі" + +#: gajim/groupchat_control.py:598 +#, fuzzy +msgid "Avatar upload successful" +msgstr "Спроба оприлюднення vCard зазнала невдачі" + +#: gajim/groupchat_control.py:616 +#, fuzzy, python-format +msgid "Kick %s" +msgstr "Викидання %s" + +#: gajim/groupchat_control.py:625 +#, fuzzy, python-format +msgid "Ban %s" +msgstr "Список заборон" + +#: gajim/groupchat_control.py:684 +msgid "Insert Nickname" +msgstr "Вставити псевдонім" + +#: gajim/groupchat_control.py:775 gajim/groupchat_control.py:776 +#, fuzzy +msgid "Voice Request" +msgstr "Запит на голосову розмову" + +#: gajim/groupchat_control.py:777 +#, python-format +msgid "%(nick)s from %(room_name)s requests voice" +msgstr "" + +#: gajim/groupchat_control.py:781 +#, fuzzy +msgid "_Approve" +msgstr "підтвердити" + +#: gajim/groupchat_control.py:1007 +#, python-format +msgid "%(nick)s has set the subject to %(subject)s" +msgstr "%(nick)s встановив тему %(subject)s" + +#: gajim/groupchat_control.py:1023 +#, fuzzy +msgid "Group chat now shows unavailable members" +msgstr "Тепер у кімнаті буде показано недоступних постійних учасників" + +#: gajim/groupchat_control.py:1026 +#, fuzzy +msgid "Group chat now does not show unavailable members" +msgstr "тепер у кімнаті не можна буде бачити недоступних постійних учасників" + +#: gajim/groupchat_control.py:1030 +msgid "A setting not related to privacy has been changed" +msgstr "" + +#: gajim/groupchat_control.py:1037 gajim/groupchat_control.py:1197 +#, fuzzy +msgid "Conversations are stored on the server" +msgstr "Цей сеанс БУДЕ збережена на сервері" + +#: gajim/groupchat_control.py:1040 +#, fuzzy +msgid "Conversations are not stored on the server" +msgstr "Відомості про вас, які зберігаються на сервері" + +#: gajim/groupchat_control.py:1043 +#, fuzzy +msgid "Group chat is now non-anonymous" +msgstr "Тепер у кімнаті вимкнено анонімність" + +#: gajim/groupchat_control.py:1047 +#, fuzzy +msgid "Group chat is now semi-anonymous" +msgstr "Тепер у кімнаті увімкнено напіванонімність" + +#: gajim/groupchat_control.py:1051 +#, fuzzy +msgid "Group chat is now fully anonymous" +msgstr "Тепер у кімнаті увімкнено анонімність" + +#: gajim/groupchat_control.py:1101 +#, fuzzy, python-format +msgid "Ping? (%s)" +msgstr "Га! (%s s.)" + +#: gajim/groupchat_control.py:1104 +#, python-format +msgid "Pong! (%(nick)s %(delay)s s.)" +msgstr "Га! (%(nick)s %(delay)s s.)" + +#: gajim/groupchat_control.py:1188 +#, fuzzy, python-format +msgid "You (%s) joined the group chat" +msgstr "%s приєднався до групової балачки" + +#: gajim/groupchat_control.py:1193 +#, fuzzy +msgid "Any participant is allowed to see your full XMPP Address" +msgstr "Всі учасники можуть бачити ваш JID повністю" + +#: gajim/groupchat_control.py:1201 +#, fuzzy +msgid "The server has assigned or modified your nickname in this group chat" +msgstr "Сервер призначив вам псевдонім у кімнаті або змінив цей псевдонім" + +#: gajim/groupchat_control.py:1211 +#, fuzzy +msgid "A new group chat has been created" +msgstr "Було створено нову кімнату" + +#: gajim/groupchat_control.py:1215 +#, fuzzy +msgid "Failed to Configure Group Chat" +msgstr "Полишити групові балачки" + +#: gajim/groupchat_control.py:1274 gajim/groupchat_control.py:1304 +#: gajim/groupchat_control.py:1332 gajim/groupchat_control.py:1391 +#, python-brace-format +msgid " by {actor}" +msgstr "" + +#: gajim/groupchat_control.py:1277 +#, fuzzy, python-brace-format +msgid "** Your Affiliation has been set to {affiliation}{actor}{reason}" +msgstr "" +"** Вашу належність було встановлено у значення {affiliation} {actor} {reason}" + +#: gajim/groupchat_control.py:1283 +#, python-brace-format +msgid "** Affiliation of {nick} has been set to {affiliation}{actor}{reason}" +msgstr "" +"** Належність {nick} було встановлено у значення {affiliation} {actor} " +"{reason}" + +#: gajim/groupchat_control.py:1307 +#, python-brace-format +msgid "** Your Role has been set to {role}{actor}{reason}" +msgstr "** Вашу роль було встановлено у значення {role} {actor} {reason}" + +#: gajim/groupchat_control.py:1312 +#, python-brace-format +msgid "** Role of {nick} has been set to {role}{actor}{reason}" +msgstr "** Роль {nick} було встановлено у значення {role} {actor} {reason}" + +#: gajim/groupchat_control.py:1335 +#, python-brace-format +msgid "You have been removed from the group chat{actor}{reason}" +msgstr "Вас вилучено з кімнати{actor} {reason}" + +#: gajim/groupchat_control.py:1340 +#, python-brace-format +msgid "You have left due to an error{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1346 +#, python-brace-format +msgid "You have been kicked{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1353 +#, python-brace-format +msgid "You have been banned{actor}{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1360 gajim/groupchat_control.py:1423 +#, fuzzy +msgid ": Affiliation changed" +msgstr "змінено місце роботи" + +#: gajim/groupchat_control.py:1366 gajim/groupchat_control.py:1428 +#, fuzzy +msgid ": Group chat configuration changed to members-only" +msgstr "налаштування кімнати змінено на «лише для постійних учасників»" + +#: gajim/groupchat_control.py:1394 +#, fuzzy, python-brace-format +msgid "{nick} has been removed from the group chat{by}{reason}" +msgstr "{nick} було вилучено з кімнати {by} {reason}" + +#: gajim/groupchat_control.py:1402 +#, python-brace-format +msgid "{nick} has left due to an error{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1408 +#, python-brace-format +msgid "{nick} has been kicked{actor}{reason}" +msgstr "{nick} було викинуто{actor} {reason}" + +#: gajim/groupchat_control.py:1416 +#, python-brace-format +msgid "{nick} has been banned{actor}{reason}" +msgstr "{nick} було заблоковано{actor} {reason}" + +#: gajim/groupchat_control.py:1433 +#, python-brace-format +msgid "{nick} has left{reason}" +msgstr "" + +#: gajim/groupchat_control.py:1451 +#, python-format +msgid "%s has joined the group chat" +msgstr "%s приєднався до групової балачки" + +#: gajim/groupchat_control.py:1463 +#, fuzzy +msgid "Failed to Join Group Chat" +msgstr "Не вдалося приєднатися до групової балачки" + +#: gajim/groupchat_control.py:1469 +#, fuzzy +msgid "Failed to Create Group Chat" +msgstr "Полишити групові балачки" + +#: gajim/groupchat_control.py:1485 +#, fuzzy +msgid "Group chat has been destroyed" +msgstr "Кімнату було знищено" + +#: gajim/groupchat_control.py:1490 +#, fuzzy, python-format +msgid "You can join this group chat instead: xmpp:%s?join" +msgstr "Ви можете приєднатися замість цієї кімнати до %s" + +#: gajim/groupchat_control.py:1672 +#, fuzzy +msgid "Leave Group Chat" +msgstr "Полишити групові балачки" + +#: gajim/groupchat_control.py:1673 +msgid "Are you sure you want to leave this group chat?" +msgstr "Ви справді бажаєте полишити цю групову балачку?" + +#: gajim/groupchat_control.py:1674 +#, python-format +msgid "If you close this window, you will leave '%s'." +msgstr "" +"Якщо ви закриєте це вікно, вас буде від’єднано від групової балачки «%s»." + +#: gajim/message_window.py:365 +#, fuzzy +msgid "Close Tabs" +msgstr "_Надіслати і закрити" + +#: gajim/message_window.py:366 +#, fuzzy +msgid "You are about to close several tabs" +msgstr "Ви збираєтесь закрити кілька вкладок" + +#: gajim/message_window.py:367 +#, fuzzy +msgid "Do you really want to close all of them?" +msgstr "Ви справді бажаєте закритити їх усі?" + +#: gajim/message_window.py:526 +#, fuzzy +msgid "?Noun:Chats" +msgstr "Групові балачки" + +#: gajim/message_window.py:530 gajim/data/gui/preferences.ui:155 +#, fuzzy +msgid "Group Chats" +msgstr "Групові балачки" + +#: gajim/message_window.py:534 +msgid "Private Chats" +msgstr "Конфіденційні балачки" + +#: gajim/message_window.py:540 +msgid "Messages" +msgstr "Повідомлення" + +#: gajim/dialog_messages.py:37 +#, fuzzy, python-format +msgid "" +"It is not possible to send a message to %s. This XMPP Address is not valid." +msgstr "Неможливо надіслати повідомлення до %s, вказаний JID не є коректним." + +#: gajim/dialog_messages.py:42 +#, fuzzy +msgid "Unread Events" +msgstr "Непрочитані події" + +#: gajim/dialog_messages.py:43 +#, fuzzy +msgid "Read or acknowledge all pending events before removing this account." +msgstr "" +"Перш ніж вилучати цей обліковий запис, прочитайте усі повідомлення з черги " +"подій." + +#: gajim/dialog_messages.py:48 +msgid "Invalid Form" +msgstr "Некоректна форма" + +#: gajim/dialog_messages.py:49 +msgid "The form is not filled correctly." +msgstr "Форму заповнено некоректно" + +#: gajim/dialog_messages.py:53 +#, fuzzy +msgid "No Connection Available" +msgstr "З’єднання недоступне" + +#: gajim/dialog_messages.py:54 +msgid "Your message can not be sent until you are connected." +msgstr "Ваше повідомлення не може бути відправлене до встановлення з'єднання." + +#: gajim/dialog_messages.py:58 +msgid "XMPP Address Already in List" +msgstr "" + +#: gajim/dialog_messages.py:59 +#, fuzzy +msgid "" +"The XMPP Address you entered is already in the list. Please choose another " +"one." +msgstr "" +"Введений вами ідентифікатор Jabber вже є у списку. Оберіть якийсь інший." + +#: gajim/dialog_messages.py:64 +#, fuzzy +msgid "Invalid Answer" +msgstr "Некоректна відповідь" + +#: gajim/dialog_messages.py:65 +#, python-format +msgid "Transport %(name)s answered wrongly to register request: %(error)s" +msgstr "" +"Транспорт %(name)s надіслав помилкову відповідь на запит щодо реєстрації: " +"%(error)s" + +#: gajim/dialog_messages.py:70 +#, fuzzy +msgid "Wrong Custom Hostname" +msgstr "Використовувати інші вузол/порт" + +#: gajim/dialog_messages.py:71 +#, fuzzy, python-format +msgid "Custom hostname \"%s\" is wrong. It will be ignored." +msgstr "Неправильне ім'я сеерверу \"%s\". Ігноруємо його." + +#: gajim/dialog_messages.py:75 +#, fuzzy +msgid "Registration Succeeded" +msgstr "Реєстрацію завершено" + +#: gajim/dialog_messages.py:76 +#, fuzzy, python-format +msgid "Registration with agent %s succeeded." +msgstr "Реєстрацію з агентом %s вдало закінчено" + +#: gajim/dialog_messages.py:80 +#, fuzzy +msgid "Registration Failed" +msgstr "Спроба з’єднання завершилася невдало" + +#: gajim/dialog_messages.py:81 +#, python-format +msgid "" +"Registration with agent %(agent)s failed with error %(error)s: %(error_msg)s" +msgstr "" +"Реєстрація з агентом %(agent)s невдала через помилку %(error)s: %(error_msg)s" + +#: gajim/dialog_messages.py:86 +#, fuzzy +msgid "GStreamer Error" +msgstr "Помилка GStreamer" + +#: gajim/dialog_messages.py:87 +#, fuzzy, python-format +msgid "" +"Error: %(error)s\n" +"Debug: %(debug)s" +msgstr "" +"Повідомлення про помилку: %s\n" +"Відлагодження: %s" + +#: gajim/dialog_messages.py:91 +#, fuzzy +msgid "Wrong Host" +msgstr "Неправильний сервер" + +#: gajim/dialog_messages.py:92 +msgid "Invalid local address? :-O" +msgstr "" + +#: gajim/dialog_messages.py:96 +#, fuzzy +msgid "Avahi Error" +msgstr "Помилка Avahi" + +#: gajim/dialog_messages.py:97 +#, python-format +msgid "" +"%s\n" +"Link-local messaging might not work properly." +msgstr "" +"%s\n" +"Обмін локальними повідомленнями може працювати з помилками." + +#: gajim/dialog_messages.py:101 +#, fuzzy +msgid "Could not Open File" +msgstr "Не вдалося завантажити зображення" + +#: gajim/command_system/mapping.py:169 gajim/command_system/mapping.py:179 +#: gajim/command_system/mapping.py:199 +msgid "Missing arguments" +msgstr "Пропущено аргумент" + +#: gajim/command_system/mapping.py:266 +#, fuzzy +msgid "Too many arguments" +msgstr "Пропущено аргумент" + +#: gajim/command_system/implementation/middleware.py:76 +msgid "Error during command execution!" +msgstr "Помилка під час виконання команди" + +#: gajim/command_system/implementation/execute.py:60 +msgid "Execute expression inside a shell, show output" +msgstr "Виконати вираз у оболонці, показати результат" + +#: gajim/command_system/implementation/execute.py:74 +msgid "" +"Command disabled. This command can be enabled by setting " +"'command_system_execute' to True in ACE (Advanced Configuration Editor)." +msgstr "" + +#: gajim/command_system/implementation/execute.py:125 +msgid "Execute expression inside a shell, send output" +msgstr "Виконати вираз у оболонці, надіслати результат" + +#: gajim/command_system/implementation/standard.py:52 +msgid "" +"Show help on a given command or a list of available commands if -a is given" +msgstr "Показати довідку по команді або перелік команд якщо вказано -a" + +#: gajim/command_system/implementation/standard.py:81 +msgid "Send a message to the contact" +msgstr "Надіслати повідомлення контакту" + +#: gajim/command_system/implementation/standard.py:86 +msgid "Send action (in the third person) to the current chat" +msgstr "Надіслати дію (від третьої особи) до поточної балачки" + +#: gajim/command_system/implementation/standard.py:91 +msgid "Show logged messages which mention given text" +msgstr "Показувати збережені повідомлення що містять відповідний текст" + +#: gajim/command_system/implementation/standard.py:96 +#, python-format +msgid "%s: Nothing found" +msgstr "%s: не знайдено" + +#: gajim/command_system/implementation/standard.py:102 +msgid "Limit must be an integer" +msgstr "Обмеження має бути цілим числом" + +#: gajim/command_system/implementation/standard.py:127 +msgid "" +"\n" +" Set the current status\n" +"\n" +" Status can be given as one of the following values:\n" +" online, away, chat, xa, dnd.\n" +" " +msgstr "" +"\n" +" Встановити поточний стан\n" +"\n" +" Стан може бути одним з наведених: online, away,\n" +" chat, xa, dnd.\n" +" " + +#: gajim/command_system/implementation/standard.py:145 +msgid "Set the current status to away" +msgstr "Встановити поточний стан як відсутній" + +#: gajim/command_system/implementation/standard.py:148 +#: gajim/common/helpers.py:200 gajim/common/modules/adhoc_commands.py:122 +msgid "Away" +msgstr "Далеко" + +#: gajim/command_system/implementation/standard.py:159 +msgid "Set the current status to online" +msgstr "Встановити поточний стан як на зв’язку" + +#: gajim/command_system/implementation/standard.py:162 +msgid "Available" +msgstr "Доступний" + +#: gajim/command_system/implementation/standard.py:173 +#, fuzzy +msgid "Send a disco info request" +msgstr "Надіслані запити на підтвердження отримання" + +#: gajim/command_system/implementation/standard.py:192 +#: gajim/command_system/implementation/standard.py:273 +msgid "Clear the text window" +msgstr "Очистити текстове вікно" + +#: gajim/command_system/implementation/standard.py:197 +#: gajim/command_system/implementation/standard.py:425 +msgid "Send a ping to the contact" +msgstr "Надіслати запит присутності до контакту" + +#: gajim/command_system/implementation/standard.py:201 +#: gajim/command_system/implementation/standard.py:429 +msgid "Command is not supported for zeroconf accounts" +msgstr "Команда не підтримується для облікових записів zeroconf" + +#: gajim/command_system/implementation/standard.py:205 +#, fuzzy +msgid "Send DTMF sequence through an open voice chat" +msgstr "Надіслати DTMF послідовність через відкриту аудіо сесію" + +#: gajim/command_system/implementation/standard.py:208 +#, fuzzy +msgid "No open voice chats with the contact" +msgstr "Нема відкритих аудіо сесій з контактом" + +#: gajim/command_system/implementation/standard.py:211 +#, python-format +msgid "%s is not a valid tone" +msgstr "%s не є коректним тоном" + +#: gajim/command_system/implementation/standard.py:218 +msgid "Toggle Voice Chat" +msgstr "" + +#: gajim/command_system/implementation/standard.py:221 +#, fuzzy +msgid "Voice chats are not available" +msgstr "Відео сесія недоступна" + +#: gajim/command_system/implementation/standard.py:228 +#, fuzzy +msgid "Toggle Video Chat" +msgstr "Перемкнути відео сессію" + +#: gajim/command_system/implementation/standard.py:231 +#, fuzzy +msgid "Video chats are not available" +msgstr "Відео сесія недоступна" + +#: gajim/command_system/implementation/standard.py:238 +#, fuzzy +msgid "Send a message to the contact that will attract their attention" +msgstr "Надіслати повідомлення контакту щоб привернути його (її) увагу" + +#: gajim/command_system/implementation/standard.py:278 +msgid "Change your nickname in a group chat" +msgstr "Змінити ваш псевдонім у груповій балачці" + +#: gajim/command_system/implementation/standard.py:283 +msgid "Invalid nickname" +msgstr "Некоректний псевдонім" + +#: gajim/command_system/implementation/standard.py:290 +#, fuzzy +msgid "Open a private chat window with a specified participant" +msgstr "_Відкрити вікно приватної балачки з зазначеним користувачем" + +#: gajim/command_system/implementation/standard.py:296 +#: gajim/command_system/implementation/standard.py:306 +#: gajim/command_system/implementation/standard.py:360 +#: gajim/command_system/implementation/standard.py:373 +#: gajim/command_system/implementation/standard.py:385 +msgid "Nickname not found" +msgstr "Псевдонім не знайдено" + +#: gajim/command_system/implementation/standard.py:299 +#, fuzzy +msgid "" +"Open a private chat window with a specified participant and send him a " +"message" +msgstr "" +"Відкрити вікно приватної балачки з зазначеним користувачем та надіслати йому " +"повідомлення" + +#: gajim/command_system/implementation/standard.py:309 +msgid "Display or change a group chat topic" +msgstr "Показати або змінити тему групової балачки" + +#: gajim/command_system/implementation/standard.py:318 +#, fuzzy +msgid "Invite a user to a group chat for a reason" +msgstr "Запросити користувача в кімнату вказавши причину" + +#: gajim/command_system/implementation/standard.py:325 +#, fuzzy +msgid "Join a group chat given by an XMPP Address" +msgstr "у _групових балачках" + +#: gajim/command_system/implementation/standard.py:335 +#, fuzzy +msgid "" +"Leave the group chat, optionally giving a reason, and close tab or window" +msgstr "" +"Покинути групову балачку, за бажанням вказавши причину, та закрити вкладку " +"або вікно" + +#: gajim/command_system/implementation/standard.py:341 +#, fuzzy +msgid "" +"\n" +" Ban user by a nick or a JID from a groupchat\n" +"\n" +" If given nickname is not found it will be treated as a JID.\n" +" " +msgstr "" +"\n" +" Заблокувати користувача у груповій балачці по JID або псевдоніму\n" +"\n" +" Якщо вказаний псевдонім не буде знайдено, він буде оброблений як jid.\n" +" " + +#: gajim/command_system/implementation/standard.py:357 +#, fuzzy +msgid "Kick user from group chat by nickname" +msgstr "Викинути користувача з групової балачки за псевдонімом" + +#: gajim/command_system/implementation/standard.py:366 +#, fuzzy +msgid "" +"Set participant role in group chat.\n" +" Role can be given as one of the following values:\n" +" moderator, participant, visitor, none" +msgstr "" +"Встановити роль учасника балачки\n" +" Роль може бути одним з наведених:\n" +" moderator, participant, visitor, none" + +#: gajim/command_system/implementation/standard.py:371 +msgid "Invalid role given" +msgstr "Некоректна роль" + +#: gajim/command_system/implementation/standard.py:378 +#, fuzzy +msgid "" +"Set participant affiliation in group chat.\n" +" Affiliation can be given as one of the following values:\n" +" owner, admin, member, outcast, none" +msgstr "" +"Встановити права у груповій балачці\n" +" Може бути одним з наведених:\n" +" owner, admin, member, outcast, none" + +#: gajim/command_system/implementation/standard.py:383 +msgid "Invalid affiliation given" +msgstr "Вказано невірні права" + +#: gajim/command_system/implementation/standard.py:393 +#, fuzzy +msgid "Display names of all group chat participants" +msgstr "Показати імена усіх учасників балачки" + +#: gajim/command_system/implementation/standard.py:415 +#, fuzzy +msgid "Forbid a participant to send you public or private messages" +msgstr "Заборонити учаснику надсилати вам особисті або публічні повідомлення" + +#: gajim/command_system/implementation/standard.py:420 +#, fuzzy +msgid "Allow a participant to send you public or private messages" +msgstr "Дозволити учаснику надсилати вам особисті або публічні повідомлення" + +#: gajim/command_system/implementation/standard.py:432 +#, fuzzy +msgid "Unknown nickname" +msgstr "Введіть новий псевдонім" + +#: gajim/command_system/implementation/custom.py:114 +msgid "The same as using a doc-string, except it supports translation" +msgstr "" +"Так само як для використання doc-string, за виключенням наявної підтримки " +"перекладів" + +#: gajim/gtk/ssl_error_dialog.py:36 gajim/data/gui/ssl_error_dialog.ui:16 +#, fuzzy +msgid "SSL Certificate Verification Error" +msgstr "Перевірка сертифіката SSL для %s" + +#: gajim/gtk/ssl_error_dialog.py:55 +#, fuzzy, python-format +msgid "" +"There was an error while attempting to verify the SSL certificate of your " +"XMPP server (%s)." +msgstr "" +"Під час спроби перевірки сертифіката SSL вашого сервера jabber сталася " +"помилка: %(error)s\n" +"Ви все ще маєте намір з’єднатися з сервером?" + +#: gajim/gtk/ssl_error_dialog.py:58 +#, fuzzy, python-format +msgid "Unknown SSL error '%s'" +msgstr "Невідома помилка SSL: %d" + +#: gajim/gtk/avatar_selector.py:84 +msgid "Select a picture or drop it here" +msgstr "" + +#: gajim/gtk/status_change.py:62 gajim/gtk/preferences.py:627 +#: gajim/gtk/preferences.py:655 +msgid "Status Message" +msgstr "Повідомлення про стан" + +#: gajim/gtk/status_change.py:330 +#, fuzzy +msgid "No activity" +msgstr "Заняття:" + +#: gajim/gtk/status_change.py:370 gajim/gtk/status_change.py:383 +#: gajim/gtk/status_change.py:488 +#, fuzzy +msgid "No mood selected" +msgstr "Не обрано жодного ключа" + +#: gajim/gtk/status_change.py:382 +msgid "No mood" +msgstr "" + +#: gajim/gtk/status_change.py:439 +#, fuzzy +msgid "Overwrite" +msgstr "Перезаписати?" + +#: gajim/gtk/status_change.py:440 +msgid "Overwrite Status Message?" +msgstr "Перезаписати повідомлення про стан?" + +#: gajim/gtk/status_change.py:441 +#, fuzzy +msgid "This name is already in use. Do you want to overwrite this preset?" +msgstr "" +"Цю назву вже було використано. Бажаєте перезаписати повідомлення про стан?" + +#: gajim/gtk/status_change.py:445 gajim/plugins/gui.py:292 +#, fuzzy +msgid "_Overwrite" +msgstr "Перезаписати?" + +#: gajim/gtk/status_change.py:453 +#, fuzzy +msgid "Status Preset" +msgstr "Повідомлення про стан" + +#: gajim/gtk/status_change.py:454 +#, fuzzy +msgid "Save status as preset" +msgstr "Зберегти як зразок..." + +#: gajim/gtk/status_change.py:455 +#, fuzzy +msgid "Please assign a name to this status message preset" +msgstr "Будь ласка, введіть назву цього повідомлення про стан" + +#: gajim/gtk/status_change.py:458 gajim/data/gui/profile.ui:336 +#, fuzzy +msgid "_Save" +msgstr "Зберегти _як" + +#: gajim/gtk/status_change.py:460 +#, fuzzy +msgid "New Status" +msgstr "Стан" + +#: gajim/gtk/advanced_config.py:46 gajim/gtk/advanced_config.py:144 +msgid "Activated" +msgstr "Увімкнено" + +#: gajim/gtk/advanced_config.py:47 +msgid "Deactivated" +msgstr "Вимкнено" + +#: gajim/gtk/advanced_config.py:52 +msgid "?config type:Boolean" +msgstr "" + +#: gajim/gtk/advanced_config.py:53 +msgid "?config type:Integer" +msgstr "" + +#: gajim/gtk/advanced_config.py:54 +msgid "?config type:Text" +msgstr "" + +#: gajim/gtk/advanced_config.py:65 +#, fuzzy +msgid "Advanced Configuration Editor (ACE)" +msgstr "Редактор додаткових налаштувань" + +#: gajim/gtk/advanced_config.py:80 +#, fuzzy +msgid "?config:Preference Name" +msgstr "Назва параметра" + +#: gajim/gtk/advanced_config.py:91 +#, fuzzy +msgid "?config:Value" +msgstr "Налаштувати" + +#: gajim/gtk/advanced_config.py:100 +msgid "?config:Type" +msgstr "" + +#: gajim/gtk/advanced_config.py:133 +#, fuzzy +msgid "?config description:None" +msgstr "?Запит (на підписку):Немає" + +#: gajim/gtk/preferences.py:63 gajim/data/gui/shortcuts_window.ui:31 +msgid "Preferences" +msgstr "Параметри" + +#: gajim/gtk/preferences.py:185 +#, fuzzy +msgid "Detached contact list with detached chats" +msgstr "Відокремлений реєстр з окремими балачками" + +#: gajim/gtk/preferences.py:186 +#, fuzzy +msgid "Detached contact list with single chat" +msgstr "Відокремлений реєстр з єдиним вікном балачок" + +#: gajim/gtk/preferences.py:187 +msgid "Single window for everything" +msgstr "Єдине вікно для усього" + +#: gajim/gtk/preferences.py:188 +#, fuzzy +msgid "Detached contact list with chats grouped by account" +msgstr "" +"Відокремлений реєстр з балачками згуртованими відповідно облікових записів" + +#: gajim/gtk/preferences.py:189 +#, fuzzy +msgid "Detached contact list with chats grouped by type" +msgstr "Відокремлений реєстр з балачками згуртованими відповідно типу" + +#: gajim/gtk/preferences.py:193 gajim/data/gui/mam_preferences.ui:14 +msgid "Always" +msgstr "Завжди" + +#: gajim/gtk/preferences.py:194 gajim/data/gui/mam_preferences.ui:22 +msgid "Never" +msgstr "Ніколи" + +#: gajim/gtk/preferences.py:195 +#, fuzzy +msgid "Restore last state" +msgstr "Попередній стан: %" + +#: gajim/gtk/preferences.py:199 +#, fuzzy +msgid "Top" +msgstr "До" + +#: gajim/gtk/preferences.py:200 +msgid "Bottom" +msgstr "" + +#: gajim/gtk/preferences.py:201 +msgid "Left" +msgstr "" + +#: gajim/gtk/preferences.py:202 +#, fuzzy +msgid "Right" +msgstr "восьма" + +#: gajim/gtk/preferences.py:207 +#, fuzzy +msgid "Window Layout" +msgstr "Пов_едінка вікна:" + +#: gajim/gtk/preferences.py:214 +#, fuzzy +msgid "Contact List on Startup" +msgstr "_Показувати реєстр при старті:з" + +#: gajim/gtk/preferences.py:218 +#, fuzzy +msgid "Show contact list when starting Gajim" +msgstr "_Показувати реєстр при старті:з" + +#: gajim/gtk/preferences.py:221 +#, fuzzy +msgid "Quit on Close" +msgstr "_Мінімізувати після закриття" + +#: gajim/gtk/preferences.py:224 +#, fuzzy +msgid "Quit when closing contact list" +msgstr "Показувати _від’єднані контакти" + +#: gajim/gtk/preferences.py:227 +#, fuzzy +msgid "Tab Position" +msgstr "Умова" + +#: gajim/gtk/preferences.py:231 +#, fuzzy +msgid "Placement of chat window tabs" +msgstr "закрив (закрила) вікно або вкладку балачки" + +#: gajim/gtk/preferences.py:247 +#, fuzzy +msgid "Merge Accounts" +msgstr "Об’єднані облікові записи" + +#: gajim/gtk/preferences.py:253 +#, fuzzy +msgid "Enable Metacontacts" +msgstr "Перейменувати контакт" + +#: gajim/gtk/preferences.py:258 +#, fuzzy +msgid "Show Avatars" +msgstr "Можливості" + +#: gajim/gtk/preferences.py:264 gajim/gtk/preferences.py:353 +#, fuzzy +msgid "Show Status Message" +msgstr "Повідомлення про стан" + +#: gajim/gtk/preferences.py:270 gajim/gtk/preferences.py:411 +#, fuzzy +msgid "Sort Contacts by Status" +msgstr "Впорядкувати контакти за станом" + +#: gajim/gtk/preferences.py:276 +#, fuzzy +msgid "Show Mood" +msgstr "Встановити настрій" + +#: gajim/gtk/preferences.py:281 +#, fuzzy +msgid "Show Activity" +msgstr "Встановити заняття" + +#: gajim/gtk/preferences.py:286 +#, fuzzy +msgid "Show Tune" +msgstr "Можливості" + +#: gajim/gtk/preferences.py:323 +msgid "Needs gspell to be installed" +msgstr "" + +#: gajim/gtk/preferences.py:327 +#, fuzzy +msgid "Spell Checking" +msgstr "Перевірка правопису" + +#: gajim/gtk/preferences.py:335 +#, fuzzy +msgid "Message Receipts (✔)" +msgstr "вміст повідомлення" + +#: gajim/gtk/preferences.py:338 +msgid "Add a checkmark to received messages" +msgstr "" + +#: gajim/gtk/preferences.py:341 +#, fuzzy +msgid "XHTML Formatting" +msgstr "Показати список інструментів форматування" + +#: gajim/gtk/preferences.py:344 +msgid "Render XHTML styles (colors, etc.) of incoming messages" +msgstr "" + +#: gajim/gtk/preferences.py:348 +#, fuzzy +msgid "Show Send Message Button" +msgstr "Надіслати повідомлення" + +#: gajim/gtk/preferences.py:358 +#, fuzzy +msgid "Show Chat State In Tabs" +msgstr "Показувати кнопку закриття на вкладці?" + +#: gajim/gtk/preferences.py:361 +msgid "Show the contact’s chat state (e.g. typing) in the chat’s tab" +msgstr "" + +#: gajim/gtk/preferences.py:365 +#, fuzzy +msgid "Show Chat State In Banner" +msgstr "Показувати _аватари контактів у реєстрі" + +#: gajim/gtk/preferences.py:368 +msgid "Show the contact’s chat state (e.g. typing) in the chats tab’s banner" +msgstr "" + +#: gajim/gtk/preferences.py:372 +#, fuzzy +msgid "Display Chat State In Contact List" +msgstr "_Показувати сповіщення стану балачки:" + +#: gajim/gtk/preferences.py:375 +#, fuzzy +msgid "Show the contact’s chat state (e.g. typing) in the contact list" +msgstr "Показувати кнопку закриття на вкладці?" + +#: gajim/gtk/preferences.py:406 +#, fuzzy +msgid "Show Subject" +msgstr "Тема" + +#: gajim/gtk/preferences.py:417 +msgid "Default Sync Threshold" +msgstr "" + +#: gajim/gtk/preferences.py:420 +#, fuzzy +msgid "Default for new public group chats" +msgstr "Полишити групові балачки" + +#: gajim/gtk/preferences.py:424 +msgid "Show Joined / Left" +msgstr "" + +#: gajim/gtk/preferences.py:427 gajim/gtk/preferences.py:438 +#, fuzzy +msgid "Default for new group chats" +msgstr "Полишити групові балачки" + +#: gajim/gtk/preferences.py:428 gajim/gtk/preferences.py:439 +#: gajim/gtk/accounts.py:715 gajim/gtk/accounts.py:727 +#: gajim/gtk/accounts.py:740 +#, fuzzy +msgid "Reset" +msgstr "П_рисутність" + +#: gajim/gtk/preferences.py:429 gajim/gtk/preferences.py:440 +#: gajim/gtk/accounts.py:728 +msgid "Reset all group chats to the current default value" +msgstr "" + +#: gajim/gtk/preferences.py:435 gajim/gtk/groupchat_settings.py:48 +#, fuzzy +msgid "Show Status Changes" +msgstr "_Показати зміни стану" + +#: gajim/gtk/preferences.py:468 +#, fuzzy +msgid "Hide icon" +msgstr "Сховати це меню" + +#: gajim/gtk/preferences.py:469 +#, fuzzy +msgid "Only show for pending events" +msgstr "Лише події, що очікують уваги" + +#: gajim/gtk/preferences.py:470 +msgid "Always show icon" +msgstr "" + +#: gajim/gtk/preferences.py:475 +#, fuzzy +msgid "Notification Area Icon" +msgstr "Показувати піктограму зони сповіщень" + +#: gajim/gtk/preferences.py:482 +#, fuzzy +msgid "Open Events" +msgstr "Особисті події" + +#: gajim/gtk/preferences.py:485 +#, fuzzy +msgid "Open events instead of showing a notification in the contact list" +msgstr "Показувати лише користувачів в мережі або бажаючих спілкуватись" + +#: gajim/gtk/preferences.py:489 gajim/gtk/preferences.py:512 +#, fuzzy +msgid "Show Notifications" +msgstr "Сповіщення" + +#: gajim/gtk/preferences.py:517 +#, fuzzy +msgid "Notifications When Away" +msgstr "Сповіщення" + +#: gajim/gtk/preferences.py:520 +#, fuzzy +msgid "Show notifications even if you are Away, Busy, etc." +msgstr "Показувати піктограму зони сповіщень" + +#: gajim/gtk/preferences.py:525 gajim/data/gui/preferences.ui:271 +msgid "Notifications" +msgstr "Сповіщення" + +#: gajim/gtk/preferences.py:534 +#, fuzzy +msgid "Play Sounds" +msgstr "Відтворювати _звуки" + +#: gajim/gtk/preferences.py:537 +msgid "Play sounds to notify about events" +msgstr "" + +#: gajim/gtk/preferences.py:542 +msgid "Sounds When Away" +msgstr "" + +#: gajim/gtk/preferences.py:545 +#, fuzzy +msgid "Play sounds even when you are Away, Busy, etc." +msgstr "Програвати звук, коли користувач зайнятий" + +#: gajim/gtk/preferences.py:560 +#, fuzzy +msgid "Sign In" +msgstr "Уві_йти" + +#: gajim/gtk/preferences.py:565 +#, fuzzy +msgid "Sign Out" +msgstr "Вий_ти" + +#: gajim/gtk/preferences.py:570 +#, fuzzy +msgid "Status Change" +msgstr "_Показати зміни стану" + +#: gajim/gtk/preferences.py:583 gajim/gtk/preferences.py:614 +#, fuzzy +msgid "Auto Away" +msgstr "Далеко" + +#: gajim/gtk/preferences.py:585 +msgid "Change your status to 'Away' after a certain amount of time" +msgstr "" + +#: gajim/gtk/preferences.py:590 gajim/gtk/preferences.py:642 +#, fuzzy +msgid "Auto Not Available" +msgstr "Дуже далеко" + +#: gajim/gtk/preferences.py:592 +msgid "Change your status to 'Not Available' after a certain amount of time" +msgstr "" + +#: gajim/gtk/preferences.py:619 +msgid "Time Until Away" +msgstr "" + +#: gajim/gtk/preferences.py:622 gajim/gtk/preferences.py:650 +#, fuzzy +msgid "Minutes until your status gets changed" +msgstr "_Показати зміни стану" + +#: gajim/gtk/preferences.py:633 gajim/gtk/preferences.py:828 +#, fuzzy +msgid "Auto Away Settings" +msgstr "Гарячі клавіші" + +#: gajim/gtk/preferences.py:647 +#, fuzzy +msgid "Time Until Not Available" +msgstr "Дуже далеко" + +#: gajim/gtk/preferences.py:661 +#, fuzzy +msgid "Auto Extended Away Settings" +msgstr "Не буде довго" + +#: gajim/gtk/preferences.py:672 gajim/gtk/accounts.py:680 +msgid "Enabled" +msgstr "Увімкнено" + +#: gajim/gtk/preferences.py:673 gajim/data/gui/vcard_information_window.ui:123 +msgid "System" +msgstr "Система" + +#: gajim/gtk/preferences.py:678 +#, fuzzy +msgid "Dark Theme" +msgstr "_Темна тема" + +#: gajim/gtk/preferences.py:685 +#, fuzzy +msgid "Theme" +msgstr "Тема" + +#: gajim/gtk/preferences.py:731 +msgid "Convert ASCII Emojis" +msgstr "" + +#: gajim/gtk/preferences.py:734 +msgid "Typing short codes like :-) will display emojis" +msgstr "" + +#: gajim/gtk/preferences.py:741 +#, fuzzy +msgid "Emoji Theme" +msgstr "_Тема емоційок" + +#: gajim/gtk/preferences.py:744 +msgid "Choose from various emoji styles" +msgstr "" + +#: gajim/gtk/preferences.py:774 +#, fuzzy +msgid "Status Icon Set" +msgstr "Набір _піктограм стану:" + +#: gajim/gtk/preferences.py:781 +#, fuzzy +msgid "Use Transport Icons" +msgstr "Використовувати піктограми _транспортів" + +#: gajim/gtk/preferences.py:784 +msgid "Display protocol-specific status icons (ICQ, ..)" +msgstr "" + +#: gajim/gtk/preferences.py:801 gajim/gtk/preferences.py:817 +msgid "Use Stun Server" +msgstr "" + +#: gajim/gtk/preferences.py:803 +msgid "Helps to establish calls through firewalls" +msgstr "" + +#: gajim/gtk/preferences.py:822 +#, fuzzy +msgid "STUN Server" +msgstr "Сервер STUN:" + +#: gajim/gtk/preferences.py:848 +#, fuzzy +msgid "Audio Input Device" +msgstr "Пристрій введення звуку" + +#: gajim/gtk/preferences.py:851 +msgid "Select your audio input (e.g. microphone)" +msgstr "" + +#: gajim/gtk/preferences.py:855 +#, fuzzy +msgid "Audio Output Device" +msgstr "Пристрій відтворення звуку" + +#: gajim/gtk/preferences.py:858 +msgid "Select an audio output (e.g. speakers, headphones)" +msgstr "" + +#: gajim/gtk/preferences.py:890 gajim/gtk/preferences.py:898 +msgid "Default" +msgstr "Типовий" + +#: gajim/gtk/preferences.py:906 +#, fuzzy +msgid "Video Input Device" +msgstr "Пристрій введення відео" + +#: gajim/gtk/preferences.py:910 +msgid "Select your video input device (e.g. webcam, screen capture)" +msgstr "" + +#: gajim/gtk/preferences.py:915 +#, fuzzy +msgid "Video Framerate" +msgstr "Частота кадрів відео" + +#: gajim/gtk/preferences.py:921 +#, fuzzy +msgid "Video Resolution" +msgstr "Тест відео" + +#: gajim/gtk/preferences.py:927 +msgid "Show My Video Stream" +msgstr "" + +#: gajim/gtk/preferences.py:930 +msgid "Show your own video stream in calls" +msgstr "" + +#: gajim/gtk/preferences.py:933 gajim/data/gui/video_preview.ui:51 +msgid "Live Preview" +msgstr "" + +#: gajim/gtk/preferences.py:935 +msgid "Show a live preview to test your video source" +msgstr "" + +#: gajim/gtk/preferences.py:975 +#, fuzzy +msgid "Global Proxy" +msgstr "Глобальний проксі:" + +#: gajim/gtk/preferences.py:980 gajim/gtk/account_wizard.py:732 +#: gajim/gtk/accounts.py:790 +#, fuzzy +msgid "No Proxy" +msgstr "Прокс_і:" + +#: gajim/gtk/preferences.py:985 +msgid "Use System Keyring" +msgstr "" + +#: gajim/gtk/preferences.py:988 +msgid "Use your system’s keyring to store passwords" +msgstr "" + +#: gajim/gtk/preferences.py:994 +msgid "Check For Updates" +msgstr "" + +#: gajim/gtk/preferences.py:997 gajim/common/config.py:241 +msgid "Check for Gajim updates periodically" +msgstr "" + +#: gajim/gtk/preferences.py:1033 +#, fuzzy +msgid "Debug Logging" +msgstr "Бігаю підтюпцем" + +#: gajim/gtk/message_input.py:48 +#, fuzzy +msgid "Write a message…" +msgstr "Отримано повідомлення" + +#: gajim/gtk/settings.py:400 gajim/gtk/settings.py:758 +#: gajim/gtk/settings.py:784 gajim/gtk/settings.py:793 +#: gajim/gtk/settings.py:802 gajim/gtk/settings.py:811 +msgid "?switch:On" +msgstr "" + +#: gajim/gtk/settings.py:400 gajim/gtk/settings.py:758 +#: gajim/gtk/settings.py:784 gajim/gtk/settings.py:793 +#: gajim/gtk/settings.py:802 gajim/gtk/settings.py:811 +msgid "?switch:Off" +msgstr "" + +#: gajim/gtk/settings.py:538 gajim/gtk/manage_sounds.py:46 +#: gajim/gtk/filechoosers.py:89 gajim/gtk/filechoosers.py:140 +#: gajim/gtk/filechoosers.py:147 +msgid "All files" +msgstr "Всі файли" + +#: gajim/gtk/settings.py:547 +#, fuzzy +msgid "Clear File" +msgstr "Прибираю" + +#: gajim/gtk/settings.py:745 +#, fuzzy +msgid "Adjust to Status" +msgstr "_Узгодити зі станом" + +#: gajim/gtk/history_sync.py:111 gajim/gtk/history_sync.py:193 +msgid "Synchronise History" +msgstr "Синхронізувати історію" + +#: gajim/gtk/history_sync.py:205 +#, fuzzy +msgid "How far back should the chat history be synchronised?" +msgstr "Що ви хочете зробити?" + +#: gajim/gtk/history_sync.py:210 +msgid "One Month" +msgstr "" + +#: gajim/gtk/history_sync.py:211 +msgid "Three Months" +msgstr "" + +#: gajim/gtk/history_sync.py:212 +msgid "One Year" +msgstr "" + +#: gajim/gtk/history_sync.py:213 +msgid "Everything" +msgstr "" + +#: gajim/gtk/history_sync.py:241 gajim/gtk/account_wizard.py:276 +#: gajim/gtk/account_wizard.py:295 gajim/gtk/account_wizard.py:312 +#, fuzzy +msgid "Connecting..." +msgstr "Виконується з'єднання" + +#: gajim/gtk/history_sync.py:253 +#, python-format +msgid "%(received)s of %(max)s" +msgstr "%(received)s з %(max)s" + +#: gajim/gtk/history_sync.py:257 +#, fuzzy, python-format +msgid "Downloaded %s messages" +msgstr "Завантажено %s повідомлень" + +#: gajim/gtk/history_sync.py:277 +#, python-format +msgid "" +"Finished synchronising chat history:\n" +"%s messages downloaded" +msgstr "" + +#: gajim/gtk/history_sync.py:281 +msgid "Gajim is fully synchronised with the archive." +msgstr "" + +#: gajim/gtk/history_sync.py:284 +msgid "There is already a synchronisation in progress. Please try again later." +msgstr "" + +#: gajim/gtk/pep_config.py:49 +#, python-format +msgid "PEP Service Configuration (%s)" +msgstr "Налаштування служби повідомлення про стан (%s)" + +#: gajim/gtk/pep_config.py:74 +#, fuzzy +msgid "Service" +msgstr "Сервер" + +#: gajim/gtk/pep_config.py:105 +msgid "PEP node was not removed" +msgstr "Вузол повідомлення про стан було вилучено" + +#: gajim/gtk/pep_config.py:106 +#, python-format +msgid "" +"PEP node %(node)s was not removed:\n" +"%(message)s" +msgstr "" +"Вузол повідомлення про стан %(node)s було вилучено:\n" +"%(message)s" + +#: gajim/gtk/pep_config.py:153 +#, python-format +msgid "Configure %s" +msgstr "Налаштувати %s" + +#: gajim/gtk/mam_preferences.py:42 +#, python-format +msgid "Archiving Preferences for %s" +msgstr "Архівація налаштувань для %s" + +#: gajim/gtk/mam_preferences.py:101 +#, fuzzy +msgid "Archiving Preferences Saved" +msgstr "Налаштування архівації" + +#: gajim/gtk/mam_preferences.py:102 +#, fuzzy +msgid "Your archiving preferences have successfully been saved." +msgstr "Налаштування архівації збережено!" + +#: gajim/gtk/mam_preferences.py:109 +#, fuzzy +msgid "Archiving Preferences Error" +msgstr "Налаштування архівації" + +#: gajim/gtk/mam_preferences.py:110 +msgid "Error received: {}" +msgstr "Отримано помилку: {}" + +#: gajim/gtk/statusicon.py:198 +#, fuzzy +msgid "_Change Status Message…" +msgstr "_Змінити повідомлення про стан" + +#: gajim/gtk/statusicon.py:250 +#, python-format +msgid "using account %s" +msgstr "з облікового запису %s" + +#: gajim/gtk/statusicon.py:263 +#, fuzzy +msgid "Hide _Contact List" +msgstr "Запросити _контакти" + +#: gajim/gtk/statusicon.py:268 gajim/data/gui/application_menu.ui:42 +#, fuzzy +msgid "Show _Contact List" +msgstr "Показувати лише _активні контакти" + +#: gajim/gtk/statusicon.py:276 +msgid "Hide this menu" +msgstr "Сховати це меню" + +#: gajim/gtk/start_chat.py:57 +#, fuzzy +msgid "Start / Join Chat" +msgstr "Почати балачку" + +#: gajim/gtk/start_chat.py:285 gajim/gtk/start_chat.py:370 +msgid "You can not join a group chat unless you are connected." +msgstr "" +"Вам слід з’єднати ваш обліковий запис, щоб взяти участь у груповій балачці." + +#: gajim/gtk/start_chat.py:634 gajim/gtk/groupchat_join.py:40 +msgid "Join Group Chat" +msgstr "Приєднатись до групової балачки" + +#: gajim/gtk/start_chat.py:715 +msgid "" +"Search for group chats globally\n" +"(press Return to start search)" +msgstr "" + +#: gajim/gtk/start_chat.py:808 +#, fuzzy, python-format +msgid "%s group chats found" +msgstr "%s не знайдено" + +#: gajim/gtk/notification.py:184 gajim/gtk/notification.py:205 +#: gajim/gtk/notification.py:219 gajim/gtk/notification.py:272 +#: gajim/common/connection_handlers_events.py:234 +msgid "New Private Message" +msgstr "Нове конфіденційне повідомлення" + +#: gajim/gtk/notification.py:185 gajim/gtk/notification.py:206 +#: gajim/gtk/notification.py:220 gajim/common/connection_handlers_events.py:328 +#, fuzzy +msgid "New Group Chat Message" +msgstr "Створити групову балачку" + +#: gajim/gtk/notification.py:186 gajim/gtk/notification.py:212 +#: gajim/gtk/notification.py:289 gajim/common/connection_handlers_events.py:418 +msgid "Contact Changed Status" +msgstr "Зміна контактом стану" + +#: gajim/gtk/notification.py:200 +#, fuzzy +msgid "Open" +msgstr "OpenPGP: " + +#: gajim/gtk/notification.py:209 +msgid "Mark as Read" +msgstr "" + +#: gajim/gtk/notification.py:273 +msgid "New E-mail" +msgstr "Нове повідомлення електронної пошти" + +#: gajim/gtk/video_preview.py:116 +msgid "OpenGL accelerated" +msgstr "" + +#: gajim/gtk/video_preview.py:120 +msgid "Not accelerated" +msgstr "" + +#: gajim/gtk/video_preview.py:127 +msgid "Something went wrong. Video feature disabled." +msgstr "" + +#: gajim/gtk/groupchat_invite.py:304 +#, fuzzy +msgid "Invite New Contact" +msgstr "Запросити _контакти" + +#: gajim/gtk/themes.py:37 +#, fuzzy +msgid "Chatstate Composing" +msgstr "Створення" + +#: gajim/gtk/themes.py:41 +#, fuzzy +msgid "Chatstate Inactive" +msgstr "Неактивний" + +#: gajim/gtk/themes.py:45 +msgid "Chatstate Gone" +msgstr "" + +#: gajim/gtk/themes.py:49 +#, fuzzy +msgid "Chatstate Paused" +msgstr "Змінити стан" + +#: gajim/gtk/themes.py:53 +#, fuzzy +msgid "Group Chat Tab New Directed Message" +msgstr "Спрямовані повідомлення групової балачки" + +#: gajim/gtk/themes.py:57 +#, fuzzy +msgid "Group Chat Tab New Message" +msgstr "Нове повідомлення" + +#: gajim/gtk/themes.py:61 +msgid "Banner Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:65 +msgid "Banner Background Color" +msgstr "" + +#: gajim/gtk/themes.py:69 +msgid "Banner Font" +msgstr "" + +#: gajim/gtk/themes.py:73 +msgid "Account Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:77 +msgid "Account Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:81 +#, fuzzy +msgid "Account Row Font" +msgstr "Стрічка облікового запису" + +#: gajim/gtk/themes.py:85 +msgid "Group Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:89 +msgid "Group Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:93 +#, fuzzy +msgid "Group Row Font" +msgstr "Стрічка групи" + +#: gajim/gtk/themes.py:97 +msgid "Contact Row Foreground Color" +msgstr "" + +#: gajim/gtk/themes.py:101 +msgid "Contact Row Background Color" +msgstr "" + +#: gajim/gtk/themes.py:105 +#, fuzzy +msgid "Contact Row Font" +msgstr "Колір сповіщення виходу контакту" + +#: gajim/gtk/themes.py:109 +#, fuzzy +msgid "Conversation Font" +msgstr "Спілкування з" + +#: gajim/gtk/themes.py:113 +#, fuzzy +msgid "Incoming Nickname Color" +msgstr "Колір вхідного псевдоніму" + +#: gajim/gtk/themes.py:117 +#, fuzzy +msgid "Outgoing Nickname Color" +msgstr "Колір вихідного псевдоніма" + +#: gajim/gtk/themes.py:121 +#, fuzzy +msgid "Incoming Message Text Color" +msgstr "Колір вхідного тексту" + +#: gajim/gtk/themes.py:125 +#, fuzzy +msgid "Incoming Message Text Font" +msgstr "Шрифт вхідного тексту" + +#: gajim/gtk/themes.py:129 +#, fuzzy +msgid "Outgoing Message Text Color" +msgstr "Колір вихідного тексту" + +#: gajim/gtk/themes.py:133 +#, fuzzy +msgid "Outgoing Message Text Font" +msgstr "Шрифт вихідного тексту" + +#: gajim/gtk/themes.py:137 +#, fuzzy +msgid "Status Message Color" +msgstr "Повідомлення про стан" + +#: gajim/gtk/themes.py:141 +#, fuzzy +msgid "Status Message Font" +msgstr "Повідомлення про стан" + +#: gajim/gtk/themes.py:145 +#, fuzzy +msgid "URL Color" +msgstr "Колір" + +#: gajim/gtk/themes.py:149 +#, fuzzy +msgid "Highlight Message Color" +msgstr "_Виділяти слова з помилками" + +#: gajim/gtk/themes.py:153 +#, fuzzy +msgid "Message Correcting" +msgstr "Повідомлення" + +#: gajim/gtk/themes.py:157 +#, fuzzy +msgid "Contact Disconnected Background" +msgstr "Контакт від'єднано" + +#: gajim/gtk/themes.py:161 +#, fuzzy +msgid "Contact Connected Background " +msgstr "Контакт з'єднано" + +#: gajim/gtk/themes.py:164 +#, fuzzy +msgid "Status Online Color" +msgstr "Повідомлення про стан" + +#: gajim/gtk/themes.py:167 +#, fuzzy +msgid "Status Away Color" +msgstr "Повідомлення про стан" + +#: gajim/gtk/themes.py:170 +#, fuzzy +msgid "Status DND Color" +msgstr "Повідомлення про стан" + +#: gajim/gtk/themes.py:173 +#, fuzzy +msgid "Status Offline Color" +msgstr "Повідомлення про стан" + +#: gajim/gtk/themes.py:187 +msgid "Gajim Themes" +msgstr "Теми Gajim" + +#: gajim/gtk/themes.py:223 gajim/gtk/themes.py:230 +#, fuzzy +msgid "Invalid Name" +msgstr "Некоректний псевдонім" + +#: gajim/gtk/themes.py:224 +msgid "Name default is not allowed" +msgstr "" + +#: gajim/gtk/themes.py:231 +#, fuzzy +msgid "Spaces are not allowed" +msgstr "Заборонений символ" + +#: gajim/gtk/themes.py:356 +#, fuzzy +msgid "Do you want to delete this theme?" +msgstr "Ви справді бажаєте вилучити виділене повідомлення?" + +#: gajim/gtk/themes.py:358 +#, fuzzy +msgid "" +"This is the theme you are currently using.\n" +"Do you want to delete this theme?" +msgstr "" +"Цю назву вже було використано. Бажаєте перезаписати повідомлення про стан?" + +#: gajim/gtk/themes.py:363 +#, fuzzy +msgid "Delete Theme" +msgstr "Активний" + +#: gajim/gtk/themes.py:390 +#, fuzzy +msgid "Remove Setting" +msgstr "Додатки" + +#: gajim/gtk/filetransfer_progress.py:62 +#, fuzzy +msgid "Upload Failed" +msgstr "Зберегти файл як..." + +#: gajim/gtk/filetransfer_progress.py:113 +#, python-format +msgid "%(progress)s of %(total)s" +msgstr "%(progress)s з %(total)s" + +#: gajim/gtk/filetransfer_progress.py:130 +#, python-format +msgid "%(minutes)s min %(seconds)s sec" +msgstr "" + +#: gajim/gtk/add_contact.py:32 +#, fuzzy +msgid "GG Number" +msgstr "Номер GG:" + +#: gajim/gtk/add_contact.py:33 +#, fuzzy +msgid "ICQ Number" +msgstr "Номер ICQ:" + +#: gajim/gtk/add_contact.py:42 +#, fuzzy +msgid "Add Contact" +msgstr "_Додати контакт..." + +#: gajim/gtk/add_contact.py:260 +#, fuzzy, python-format +msgid "%s Missing" +msgstr "%s МіБ" + +#: gajim/gtk/add_contact.py:261 +#, python-format +msgid "You must supply the %s of the new contact." +msgstr "" + +#: gajim/gtk/add_contact.py:288 gajim/gtk/add_contact.py:294 +#: gajim/gtk/add_contact.py:299 +msgid "Invalid User ID" +msgstr "Некоректний ідентифікатор користувача" + +#: gajim/gtk/add_contact.py:295 +msgid "The user ID must not contain a resource." +msgstr "У ідентифікаторі користувача не повинно міститися назви ресурсу." + +#: gajim/gtk/add_contact.py:300 +#, fuzzy +msgid "You cannot add yourself to your contact list." +msgstr "Ви не можете додавати себе ж до реєстру." + +#: gajim/gtk/add_contact.py:305 +#, fuzzy +msgid "Account Offline" +msgstr "Поза мережею" + +#: gajim/gtk/add_contact.py:306 +msgid "Your account must be online to add new contacts." +msgstr "" + +#: gajim/gtk/add_contact.py:322 +#, fuzzy +msgid "Contact Already in Contact List" +msgstr "Цей контакт вже є у реєстрі" + +#: gajim/gtk/add_contact.py:323 +#, fuzzy +msgid "This contact is already in your contact list." +msgstr "Цей контакт уже є у вашому реєстрі." + +#: gajim/gtk/add_contact.py:381 gajim/gtk/add_contact.py:419 +msgid "User ID:" +msgstr "Ідентифікатор:" + +#: gajim/gtk/add_contact.py:486 +msgid "Error while adding transport contact" +msgstr "Помилка під час додавання служби." + +#: gajim/gtk/add_contact.py:487 +#, python-format +msgid "" +"This error occurred while adding a contact for transport %(transport)s:\n" +"\n" +"%(error)s" +msgstr "" + +#: gajim/gtk/account_wizard.py:61 gajim/data/gui/account_wizard.ui:631 +#, fuzzy +msgid "Sign Up" +msgstr "Уві_йти" + +#: gajim/gtk/account_wizard.py:63 +#, fuzzy +msgid "Connect" +msgstr "З'єднано" + +#: gajim/gtk/account_wizard.py:64 gajim/gtk/adhoc.py:102 +msgid "Next" +msgstr "" + +#: gajim/gtk/account_wizard.py:65 +msgid "Log In" +msgstr "" + +#: gajim/gtk/account_wizard.py:67 gajim/gtk/remove_account.py:44 +#: gajim/gtk/change_password.py:45 gajim/gtk/accounts.py:384 +#, fuzzy +msgid "Back" +msgstr "Скоро повернуся" + +#: gajim/gtk/account_wizard.py:80 +msgid "An error occurred during account creation" +msgstr "Під час спроби створення облікового запису сталася помилка" + +#: gajim/gtk/account_wizard.py:166 +#, fuzzy +msgid "Creating Account..." +msgstr "Вилучення облікового запису %s" + +#: gajim/gtk/account_wizard.py:167 +#, fuzzy +msgid "Trying to create account..." +msgstr "Натисніть. щоб змінити пароль цього облікового запису" + +#: gajim/gtk/account_wizard.py:277 gajim/gtk/account_wizard.py:296 +#: gajim/gtk/account_wizard.py:313 +#, fuzzy +msgid "Connecting to server..." +msgstr "Виконується з'єднання" + +#: gajim/gtk/account_wizard.py:367 gajim/gtk/account_wizard.py:368 +msgid "Anonymous login not supported" +msgstr "" + +#: gajim/gtk/account_wizard.py:369 +#, fuzzy +msgid "This server does not support anonymous login." +msgstr "Ваш сервер не підтримує Vcard" + +#: gajim/gtk/account_wizard.py:372 gajim/common/client.py:284 +#: gajim/common/const.py:958 gajim/common/const.py:959 +#: gajim/common/const.py:960 gajim/common/const.py:963 +#, fuzzy +msgid "Authentication failed" +msgstr "Спроба розпізнавання за допомогою «%s» завершилася невдало" + +#: gajim/gtk/account_wizard.py:384 gajim/gtk/account_wizard.py:385 +#, fuzzy +msgid "Signup not allowed" +msgstr "Заборонений символ" + +#: gajim/gtk/account_wizard.py:386 +#, fuzzy +msgid "This server does not allow signup." +msgstr "Ваш сервер не підтримує Vcard" + +#: gajim/gtk/account_wizard.py:395 gajim/gtk/account_wizard.py:432 +#: gajim/gtk/account_wizard.py:433 gajim/gtk/account_wizard.py:520 +#: gajim/gtk/groupchat_config.py:132 gajim/gtk/groupchat_config.py:399 +#: gajim/gtk/history.py:591 gajim/gtk/search.py:336 +msgid "Error" +msgstr "Помилка." + +#: gajim/gtk/account_wizard.py:402 gajim/gtk/account_wizard.py:403 +#, fuzzy +msgid "Connection failed" +msgstr "Спроба з’єднання завершилася невдало" + +#: gajim/gtk/account_wizard.py:404 +msgid "" +"Gajim was not able to reach the server. Make sure your XMPP address is " +"correct." +msgstr "" + +#: gajim/gtk/account_wizard.py:459 +#, fuzzy +msgid "Account is being created" +msgstr "Обліковий запис «%s» з’єднано з сервером" + +#: gajim/gtk/account_wizard.py:518 +msgid "The server rejected the registration without an error message" +msgstr "" + +#: gajim/gtk/account_wizard.py:530 gajim/gtk/accounts.py:572 +#, fuzzy +msgid "Add Account" +msgstr "_Додати контакт..." + +#: gajim/gtk/account_wizard.py:612 gajim/gtk/groupchat_creation.py:138 +#, fuzzy +msgid "Invalid Address" +msgstr "Некоректний файл" + +#: gajim/gtk/account_wizard.py:636 +#, fuzzy +msgid "Create New Account" +msgstr "Створити нове повідомлення" + +#: gajim/gtk/account_wizard.py:712 +#, fuzzy +msgid "Advanced settings" +msgstr "Додаткові дії" + +#: gajim/gtk/account_wizard.py:774 +#, fuzzy +msgid "Invalid domain name" +msgstr "Некоректна назва облікового запису" + +#: gajim/gtk/account_wizard.py:791 +#, fuzzy +msgid "Must be a port number" +msgstr "Нетиповий порти слід вказувати у вигляді номера." + +#: gajim/gtk/account_wizard.py:798 +#, fuzzy +msgid "Port must be a number between 0 and 65535" +msgstr "Ресурс має бути від 1 до 1023 символів" + +#: gajim/gtk/account_wizard.py:814 +#, fuzzy +msgid "Security Warning" +msgstr "Попередження" + +#: gajim/gtk/account_wizard.py:833 +#, fuzzy, python-format +msgid "Unknown TLS error '%s'" +msgstr "Невідома помилка SSL: %d" + +#: gajim/gtk/account_wizard.py:868 gajim/gtk/account_wizard.py:871 +#, fuzzy +msgid "Create Account" +msgstr "Вилучення облікового запису" + +#: gajim/gtk/account_wizard.py:922 +msgid "Redirect" +msgstr "" + +#: gajim/gtk/account_wizard.py:932 +#, fuzzy +msgid "Register on the Website" +msgstr "Зареєструватися на %s" + +#: gajim/gtk/account_wizard.py:943 +#, fuzzy +msgid "Account Added" +msgstr "Стрічка облікового запису" + +#: gajim/gtk/account_wizard.py:944 +msgid "Account has been added successfully" +msgstr "Обліковий запис було успішно додано" + +#: gajim/gtk/groupchat_invitation.py:57 +#, fuzzy +msgid "" +"has invited you to a group chat.\n" +"Do you want to join?" +msgstr "Запросити користувача в кімнату вказавши причину" + +#: gajim/gtk/groupchat_invitation.py:75 gajim/gtk/discovery.py:1706 +#: gajim/gtk/groupchat_join.py:68 gajim/data/gui/groupchat_control.ui:899 +#: gajim/data/gui/groupchat_control.ui:991 +#: gajim/data/gui/start_chat_dialog.ui:314 +msgid "_Join" +msgstr "При_єднатися" + +#: gajim/gtk/tooltips.py:215 +#, python-format +msgid "%(owner_or_admin_or_member)s of this group chat" +msgstr "%(owner_or_admin_or_member)s цієї групової балачки" + +#: gajim/gtk/tooltips.py:474 +msgid "Connected" +msgstr "З'єднано" + +#: gajim/gtk/tooltips.py:476 +msgid "Disconnected" +msgstr "Роз'єднано" + +#: gajim/gtk/tooltips.py:530 +msgid "File Name: " +msgstr "Назва файлу:" + +#: gajim/gtk/tooltips.py:533 +#, fuzzy +msgid "?Noun:Download" +msgstr "Звантажити" + +#: gajim/gtk/tooltips.py:534 gajim/gtk/filetransfer.py:747 +msgid "Sender: " +msgstr "Відправник:" + +#: gajim/gtk/tooltips.py:539 +#, fuzzy +msgid "?Noun:Upload" +msgstr "Вивантажити" + +#: gajim/gtk/tooltips.py:540 gajim/gtk/filetransfer.py:240 +#: gajim/gtk/filetransfer.py:749 +msgid "Recipient: " +msgstr "Отримувач:" + +#: gajim/gtk/tooltips.py:546 +#, fuzzy +msgid "?transfer type:Type: " +msgstr "Зупинка передавання файла" + +#: gajim/gtk/tooltips.py:552 +#, fuzzy +msgid "?transfer status:Transferred: " +msgstr "Призупинено" + +#: gajim/gtk/tooltips.py:555 +#, fuzzy +msgid "?transfer status:Status: " +msgstr "Призупинено" + +#: gajim/gtk/tooltips.py:557 +msgid "Description: " +msgstr "Опис: " + +#: gajim/gtk/tooltips.py:581 +#, fuzzy +msgid "?transfer status:Aborted" +msgstr "Призупинено" + +#: gajim/gtk/tooltips.py:583 +#, fuzzy +msgid "?transfer status:Completed" +msgstr "Призупинено" + +#: gajim/gtk/tooltips.py:585 +msgid "?transfer status:Paused" +msgstr "Призупинено" + +#: gajim/gtk/tooltips.py:588 +#, fuzzy +msgid "?transfer status:Stalled" +msgstr "Призупинено" + +#: gajim/gtk/tooltips.py:592 +#, fuzzy +msgid "?transfer status:Transferring" +msgstr "Призупинено" + +#: gajim/gtk/tooltips.py:593 gajim/gtk/tooltips.py:594 +#, fuzzy +msgid "?transfer status:Not started" +msgstr "Призупинено" + +#: gajim/gtk/remove_account.py:42 gajim/gtk/accounts.py:341 +#, fuzzy +msgid "Remove" +msgstr "В_илучити" + +#: gajim/gtk/remove_account.py:49 +#, fuzzy +msgid "Removing Account..." +msgstr "Вилучення облікового запису %s" + +#: gajim/gtk/remove_account.py:50 +msgid "Trying to remove account..." +msgstr "" + +#: gajim/gtk/remove_account.py:53 gajim/gtk/remove_account.py:54 +#, fuzzy +msgid "Account Removed" +msgstr "Стрічка облікового запису" + +#: gajim/gtk/remove_account.py:56 +#, fuzzy +msgid "Your account has has been removed successfully." +msgstr "Ваш новий обліковий запис було успішно створено" + +#: gajim/gtk/remove_account.py:59 gajim/gtk/remove_account.py:60 +#, fuzzy +msgid "Account Removal Failed" +msgstr "Немає жодного облікового запису" + +#: gajim/gtk/remove_account.py:171 gajim/gtk/remove_account.py:173 +msgid "Remove Account" +msgstr "Вилучення облікового запису" + +#: gajim/gtk/remove_account.py:180 +#, fuzzy +msgid "This will remove your account from Gajim." +msgstr "Вилучити обліковий запис _лише з Gajim" + +#: gajim/gtk/remove_account.py:189 +#, python-format +msgid "Do you want to unregister your account on %s as well?" +msgstr "" + +#: gajim/gtk/remove_account.py:198 +msgid "_Unregister account from service" +msgstr "" + +#: gajim/gtk/remove_account.py:217 +#, fuzzy +msgid "Account has to be connected" +msgstr "Обліковий запис «%s» з’єднано з сервером" + +#: gajim/gtk/filetransfer.py:91 +msgid "File" +msgstr "Файл" + +#: gajim/gtk/filetransfer.py:108 +msgid "Time" +msgstr "Час" + +#: gajim/gtk/filetransfer.py:121 gajim/data/gui/filetransfer_progress.ui:110 +msgid "Progress" +msgstr "Поступ" + +#: gajim/gtk/filetransfer.py:228 +#, fuzzy, python-format +msgid "File name: %s" +msgstr "Назва файла: %s" + +#: gajim/gtk/filetransfer.py:229 gajim/gtk/filetransfer.py:470 +#, python-format +msgid "Size: %s" +msgstr "Розмір: %s" + +#: gajim/gtk/filetransfer.py:239 +#, python-format +msgid "Sender: %s" +msgstr "Відправник: %s" + +#: gajim/gtk/filetransfer.py:251 +#, python-format +msgid "Saved in: %s" +msgstr "Збережено за адресою: %s" + +#: gajim/gtk/filetransfer.py:256 +msgid "File transfer completed" +msgstr "Передавання файла завершено" + +#: gajim/gtk/filetransfer.py:276 gajim/gtk/filetransfer.py:285 +#, fuzzy +msgid "Connection with peer could not be established." +msgstr "Не вдалося встановити з’єднання з вузлом." + +#: gajim/gtk/filetransfer.py:293 +#, python-format +msgid "Filename: %s" +msgstr "Назва файла: %s" + +#: gajim/gtk/filetransfer.py:294 +#, python-format +msgid "Recipient: %s" +msgstr "Отримувач: %s" + +#: gajim/gtk/filetransfer.py:296 +#, python-format +msgid "Error message: %s" +msgstr "Повідомлення про помилку: %s" + +#: gajim/gtk/filetransfer.py:335 +#, python-format +msgid "" +"The file %s has been received, but it seems to have been damaged along the " +"way.\n" +"Do you want to download it again?" +msgstr "" +"Файл %s було отримано повністю, але схоже, що його пошкоджено.\n" +"Бажаєте перезавантажити його?" + +#: gajim/gtk/filetransfer.py:341 +#, fuzzy +msgid "_Download Again" +msgstr "Більше _не питати мене" + +#: gajim/gtk/filetransfer.py:356 +#, fuzzy +msgid "Gajim can not read this file" +msgstr "Gajim не може отримати доступу до цього файла" + +#: gajim/gtk/filetransfer.py:357 +msgid "Another process is using this file." +msgstr "" + +#: gajim/gtk/filetransfer.py:399 +#, fuzzy, python-format +msgid "Cannot overwrite existing file '%s'" +msgstr "Не вдалося перезаписати існуючий файл «%s»" + +#: gajim/gtk/filetransfer.py:400 +msgid "" +"A file with this name already exists and you do not have permission to " +"overwrite it." +msgstr "" +"Файл з такою назвою вже існує, у вас немає дозволів для його перезапису." + +#: gajim/gtk/filetransfer.py:424 +#, fuzzy +msgid "File Transfer Conflict" +msgstr "Завершення передавання файла" + +#: gajim/gtk/filetransfer.py:425 +#, fuzzy +msgid "File already exists" +msgstr "Файл з такою назвою вже існує." + +#: gajim/gtk/filetransfer.py:426 +msgid "Resume download or replace file?" +msgstr "" + +#: gajim/gtk/filetransfer.py:430 +#, fuzzy +msgid "Resume _Download" +msgstr "Звантажити" + +#: gajim/gtk/filetransfer.py:433 +#, fuzzy +msgid "Replace _File" +msgstr "За_мінити" + +#: gajim/gtk/filetransfer.py:443 +#, fuzzy, python-format +msgid "Directory '%s' is not writable" +msgstr "Запис до каталогу «%s» неможливий" + +#: gajim/gtk/filetransfer.py:444 +#, fuzzy +msgid "You do not have permissions to create files in this directory." +msgstr "Ваш користувач не має права на створення файлів у цьому каталозі." + +#: gajim/gtk/filetransfer.py:467 +#, python-format +msgid "File: %s" +msgstr "Файл: %s" + +#: gajim/gtk/filetransfer.py:473 +#, python-format +msgid "Type: %s" +msgstr "Тип: %s" + +#: gajim/gtk/filetransfer.py:475 +#, python-format +msgid "Description: %s" +msgstr "Опис: %s" + +#: gajim/gtk/filetransfer.py:486 +#, fuzzy, python-format +msgid "%s wants to send you a file" +msgstr "%s бажає надіслати вам файл." + +#: gajim/gtk/filetransfer.py:514 +#, fuzzy +msgid "Checking file…" +msgstr "Перевірка файлу..." + +#: gajim/gtk/filetransfer.py:529 +msgid "File error" +msgstr "Помилка файлу" + +#: gajim/gtk/filetransfer.py:566 +#, python-format +msgid "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" +msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" + +#: gajim/gtk/filetransfer.py:663 +#, python-format +msgid "(%(filesize_unit)s/s)" +msgstr "(%(filesize_unit)s/s)" + +#: gajim/gtk/filetransfer.py:716 gajim/gtk/filetransfer.py:720 +msgid "Invalid File" +msgstr "Некоректний файл" + +#: gajim/gtk/filetransfer.py:716 +msgid "File: " +msgstr "Файл: " + +#: gajim/gtk/filetransfer.py:721 +msgid "It is not possible to send empty files" +msgstr "Надсилання порожніх файлів не передбачено" + +#: gajim/gtk/filetransfer.py:1043 +#, fuzzy +msgid "Choose a File to Send…" +msgstr "Вибрати файл для надсилання..." + +#: gajim/gtk/roster_item_exchange.py:35 +#: gajim/data/gui/roster_item_exchange_window.ui:39 +#, fuzzy +msgid "Contact List Exchange" +msgstr "Обмін елементами реєстру" + +#: gajim/gtk/roster_item_exchange.py:49 +#, python-format +msgid "%s would like to add some contacts to your contact list." +msgstr "%s хоче додати якісь контакти до Вашого списку контактів." + +#: gajim/gtk/roster_item_exchange.py:52 +#, python-format +msgid "%s would like to modify some contacts in your contact list." +msgstr "%s бажає змінити кілька контактів у вашому реєстрі." + +#: gajim/gtk/roster_item_exchange.py:55 +#, python-format +msgid "%s would like to delete some contacts from your contact list." +msgstr "%s бажає вилучити кілька контактів із вашого реєстру." + +#: gajim/gtk/roster_item_exchange.py:71 gajim/gtk/roster_item_exchange.py:130 +msgid "Add" +msgstr "Додати" + +#: gajim/gtk/roster_item_exchange.py:73 gajim/gtk/roster_item_exchange.py:161 +msgid "Modify" +msgstr "Змінити" + +#: gajim/gtk/roster_item_exchange.py:80 +msgid "JID" +msgstr "JID" + +#: gajim/gtk/roster_item_exchange.py:86 +msgid "Groups" +msgstr "Групи" + +#: gajim/gtk/roster_item_exchange.py:196 +#, fuzzy, python-format +msgid "%s suggested me to add you to my contact list." +msgstr "%s підказав мені додати вас до мого реєстру." + +#: gajim/gtk/roster_item_exchange.py:211 +#, python-format +msgid "Added %d contact" +msgid_plural "Added %d contacts" +msgstr[0] "Додано %d контакт" +msgstr[1] "Додано %d контакти" +msgstr[2] "Додано %d контактів" + +#: gajim/gtk/roster_item_exchange.py:253 +#, python-format +msgid "Removed %d contact" +msgid_plural "Removed %d contacts" +msgstr[0] "Вилучено %d контакт" +msgstr[1] "Вилучено %d контакти" +msgstr[2] "Вилучено %d контактів" + +#: gajim/gtk/groupchat_creation.py:45 gajim/data/gui/groupchat_creation.ui:81 +#, fuzzy +msgid "Create Group Chat" +msgstr "Полишити групові балачки" + +#: gajim/gtk/groupchat_creation.py:101 gajim/gtk/groupchat_creation.py:103 +msgid " (optional)..." +msgstr "" + +#: gajim/gtk/groupchat_creation.py:186 +#, fuzzy +msgid "Not Connected" +msgstr "З'єднано" + +#: gajim/gtk/groupchat_creation.py:187 +#, fuzzy +msgid "You have to be connected to create a group chat." +msgstr "Ви не приєдналися до групової балачки." + +#: gajim/gtk/status_selector.py:121 gajim/gtk/status_selector.py:127 +#, fuzzy, python-format +msgid "Status: %s" +msgstr "Стан: " + +#: gajim/gtk/status_selector.py:125 +#, fuzzy, python-format +msgid "%s (desynced)" +msgstr "розсинхронізація" + +#: gajim/gtk/subscription_request.py:35 +msgid "Subscription Request" +msgstr "Запит на підписку" + +#: gajim/gtk/subscription_request.py:47 +#, python-format +msgid "Subscription request for account %(account)s from %(jid)s" +msgstr "Запит на підписку до облікового запису %(account)s від %(jid)s" + +#: gajim/gtk/subscription_request.py:50 +#, python-format +msgid "Subscription request from %s" +msgstr "Запит на підписку від %s" + +#: gajim/gtk/single_message.py:51 +msgid "Send Single Message" +msgstr "Надіслати окреме повідомлення" + +#: gajim/gtk/single_message.py:101 +#, fuzzy +msgid "(No subject)" +msgstr "тема" + +#: gajim/gtk/single_message.py:157 +#, python-format +msgid "Single Message using account %s" +msgstr "Окреме повідомлення з використанням облікового запису %s" + +#: gajim/gtk/single_message.py:159 +#, python-format +msgid "Single Message in account %s" +msgstr "Окреме повідомлення для облікового запису %s" + +#: gajim/gtk/single_message.py:161 +msgid "Single Message" +msgstr "Окреме повідомлення" + +#: gajim/gtk/single_message.py:164 +#, python-format +msgid "Send %s" +msgstr "Надіслати %s" + +#: gajim/gtk/single_message.py:183 +#, python-format +msgid "Received %s" +msgstr "Отримано %s" + +#: gajim/gtk/single_message.py:205 +#, python-format +msgid "Characters typed: %s" +msgstr "Уведені символи: %s" + +#: gajim/gtk/single_message.py:210 gajim/gtk/xml_console.py:169 +msgid "Connection not available" +msgstr "З’єднання недоступне" + +#: gajim/gtk/single_message.py:211 +#, python-format +msgid "Please make sure you are connected with \"%s\"." +msgstr "Будь ласка, переконайтеся, що клієнт з’єднано з «%s»." + +#: gajim/gtk/single_message.py:239 +#, fuzzy, python-format +msgid "" +"It is not possible to send a message to %s, this XMPP Address is not valid." +msgstr "Неможливо надіслати повідомлення до %s, вказаний JID не є коректним." + +#: gajim/gtk/single_message.py:316 +#, python-format +msgid "RE: %s" +msgstr "Відповідь: %s" + +#: gajim/gtk/single_message.py:317 +#, python-format +msgid "%s wrote:\n" +msgstr "%s написав(-ла):\n" + +#: gajim/gtk/change_password.py:42 +#, fuzzy +msgid "Change" +msgstr "Змінити _псевдонім..." + +#: gajim/gtk/change_password.py:51 +#, fuzzy +msgid "Changing Password..." +msgstr "Змінити пароль" + +#: gajim/gtk/change_password.py:52 +#, fuzzy +msgid "Trying to change password..." +msgstr "Натисніть. щоб змінити пароль цього облікового запису" + +#: gajim/gtk/change_password.py:55 gajim/gtk/change_password.py:56 +#, fuzzy +msgid "Password Changed" +msgstr "Слід ввести пароль" + +#: gajim/gtk/change_password.py:57 +#, fuzzy +msgid "Your password has successfully been changed." +msgstr "Налаштування архівації збережено!" + +#: gajim/gtk/change_password.py:60 gajim/gtk/change_password.py:61 +#, fuzzy +msgid "Password Change Failed" +msgstr "Слід ввести пароль" + +#: gajim/gtk/change_password.py:63 +#, fuzzy +msgid "An error occurred while trying to change your password." +msgstr "Під час спроби створення облікового запису сталася помилка" + +#: gajim/gtk/change_password.py:145 gajim/gtk/change_password.py:147 +#: gajim/gtk/change_password.py:224 gajim/gtk/accounts.py:994 +msgid "Change Password" +msgstr "Змінити пароль" + +#: gajim/gtk/change_password.py:154 +#, fuzzy +msgid "Please enter your new password." +msgstr "Будь ласка, спершу створіть нову порожню тему з бажаною назвою." + +#: gajim/gtk/change_password.py:167 +#, fuzzy +msgid "Enter new password..." +msgstr "Введіть новий пароль:" + +#: gajim/gtk/change_password.py:176 +#, fuzzy +msgid "Confirm new password..." +msgstr "Змінити пароль" + +#: gajim/gtk/change_password.py:191 +msgid "Passwords do not match" +msgstr "Паролі не збігаються" + +#: gajim/gtk/bookmarks.py:48 +#, fuzzy, python-format +msgid "Bookmarks for %s" +msgstr "_Закладка" + +#: gajim/gtk/xml_console.py:95 gajim/gtk/xml_console.py:279 +#, fuzzy +msgid "All Accounts" +msgstr "Облікові записи" + +#: gajim/gtk/xml_console.py:170 +#, fuzzy, python-format +msgid "Please make sure you are connected with '%s'." +msgstr "Будь ласка, переконайтеся, що клієнт з’єднано з «%s»." + +#: gajim/gtk/xml_console.py:180 +#, fuzzy +msgid "Invalid Node" +msgstr "Некоректний файл" + +#: gajim/gtk/xml_console.py:282 +msgid "Account" +msgstr "Обліковий запис" + +#: gajim/gtk/xml_console.py:309 gajim/data/gui/xml_console.ui:241 +#, fuzzy +msgid "Filter" +msgstr "Фільтр:" + +#: gajim/gtk/dataform.py:252 gajim/gtk/dataform.py:290 +#, fuzzy +msgid "Required" +msgstr "вимагати" + +#: gajim/gtk/dataform.py:315 +msgid "Yes" +msgstr "Так" + +#: gajim/gtk/dataform.py:315 +msgid "No" +msgstr "Ні" + +#: gajim/gtk/dataform.py:701 gajim/gtk/adhoc.py:86 +#: gajim/data/gui/profile.ui:396 +#, fuzzy +msgid "Cancel" +msgstr "_Скасувати" + +#: gajim/gtk/dataform.py:703 +msgid "Submit" +msgstr "" + +#: gajim/gtk/discovery.py:69 +msgid "This service has not yet responded with detailed information" +msgstr "Ця служба ще не надала докладних відомостей" + +#: gajim/gtk/discovery.py:70 +#, fuzzy +msgid "" +"This service could not respond with detailed information.\n" +"It is most likely a legacy service or broken." +msgstr "" +"Ця служба не може надсилати у відповідь докладні відомості.\n" +"Причиною є застарілість або пошкодженість служби" + +#: gajim/gtk/discovery.py:126 +msgid "Others" +msgstr "Інші" + +#: gajim/gtk/discovery.py:129 gajim/data/gui/shortcuts_window.ui:307 +#, fuzzy +msgid "Group Chat" +msgstr "Групові балачки" + +#: gajim/gtk/discovery.py:523 +msgid "Without a connection, you can not browse available services" +msgstr "" +"Для того, щоб переглядати доступні служби, вам слід встановити з’єднання" + +#: gajim/gtk/discovery.py:610 +#, python-format +msgid "Service Discovery using account %s" +msgstr "Пошук служб за допомогою облікового запису %s" + +#: gajim/gtk/discovery.py:612 +msgid "Service Discovery" +msgstr "Пошук у службі" + +#: gajim/gtk/discovery.py:695 +msgid "The service could not be found" +msgstr "Не вдалося знайти службу" + +#: gajim/gtk/discovery.py:696 +msgid "" +"There is no service at the address you entered, or it is not responding. " +"Check the address and try again." +msgstr "" +"За вказаною вами адресою служб не виявлено, або ця адреса не відповідає. " +"Перевірте, чи правильно вказано адресу, а потім повторіть спробу." + +#: gajim/gtk/discovery.py:703 gajim/gtk/discovery.py:1046 +msgid "The service is not browsable" +msgstr "Служба не придатна для перегляду" + +#: gajim/gtk/discovery.py:704 +msgid "This type of service does not contain any items to browse." +msgstr "Служби такого типу не містять елементів, які можна було б переглядати." + +#: gajim/gtk/discovery.py:742 gajim/gtk/discovery.py:751 +msgid "Invalid Server Name" +msgstr "Некоректна назва сервера" + +#: gajim/gtk/discovery.py:810 +#, python-format +msgid "Browsing %(address)s using account %(account)s" +msgstr "Перегляд %(address)s з використанням облікового запису %(account)s" + +#: gajim/gtk/discovery.py:855 +#, fuzzy +msgid "Browse" +msgstr "_Перегляд" + +#: gajim/gtk/discovery.py:1047 +msgid "This service does not contain any items to browse." +msgstr "Ця служба не містить жодних елементів, які можна було б переглядати." + +#: gajim/gtk/discovery.py:1259 +#, fuzzy +msgid "_Command" +msgstr "команда" + +#: gajim/gtk/discovery.py:1268 gajim/gtk/discovery.py:1425 +msgid "Re_gister" +msgstr "За_реєструватися" + +#: gajim/gtk/discovery.py:1275 +#, fuzzy +msgid "Join" +msgstr "При_єднатися" + +#: gajim/gtk/discovery.py:1281 +msgid "_Search" +msgstr "_Пошук" + +#: gajim/gtk/discovery.py:1423 gajim/data/gui/profile.ui:353 +msgid "_Edit" +msgstr "_Правка" + +#: gajim/gtk/discovery.py:1461 +#, fuzzy, python-format +msgid "Scanning %(current)d / %(total)d ..." +msgstr "Пошук %(current)d / %(total)d.." + +#: gajim/gtk/discovery.py:1660 +msgid "Users" +msgstr "Користувачі" + +#: gajim/gtk/discovery.py:1668 gajim/data/gui/groupchat_info_scrolled.ui:32 +#: gajim/data/gui/filetransfers_send_file_dialog.ui:15 +#: gajim/data/gui/advanced_configuration.ui:82 +msgid "Description" +msgstr "Опис" + +#: gajim/gtk/discovery.py:1676 +msgid "Id" +msgstr "Ідентифікатор" + +#: gajim/gtk/discovery.py:1905 +msgid "Subscribed" +msgstr "Підписано" + +#: gajim/gtk/discovery.py:1914 +msgid "Node" +msgstr "Вузол" + +#: gajim/gtk/discovery.py:1983 +#, fuzzy +msgid "_New post" +msgstr "Нове повідомлення" + +#: gajim/gtk/discovery.py:1992 +msgid "_Subscribe" +msgstr "_Підписатися" + +#: gajim/gtk/discovery.py:2000 +msgid "_Unsubscribe" +msgstr "_Скасувати підписку" + +#: gajim/gtk/groupchat_settings.py:43 +msgid "Show Join/Leave" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:53 +#, fuzzy +msgid "Notify on all Messages" +msgstr "Зразки повідомлень:" + +#: gajim/gtk/groupchat_settings.py:58 +#, fuzzy +msgid "Minimize on Close" +msgstr "_Мінімізувати після закриття" + +#: gajim/gtk/groupchat_settings.py:63 +#, fuzzy +msgid "Minimize When Joining Automatically" +msgstr "Мінімізувати після автоматичного приєднання" + +#: gajim/gtk/groupchat_settings.py:68 +#, fuzzy +msgid "Send Chat State" +msgstr "Попередній стан: %" + +#: gajim/gtk/groupchat_settings.py:74 +#, fuzzy +msgid "Send Chat Markers" +msgstr "Попередній стан: %" + +#: gajim/gtk/groupchat_settings.py:77 +msgid "Let others know if you read up to this point" +msgstr "" + +#: gajim/gtk/groupchat_settings.py:80 +msgid "Sync Threshold" +msgstr "" + +#: gajim/gtk/proxies.py:33 +#, fuzzy +msgid "Manage Proxies" +msgstr "Керування профілями проксі" + +#: gajim/gtk/manage_sounds.py:40 +#, fuzzy +msgid "Manage Sounds" +msgstr "_Керування звуками" + +#: gajim/gtk/manage_sounds.py:51 +msgid "Wav Sounds" +msgstr "Звуки wav" + +#: gajim/gtk/manage_sounds.py:85 +msgid "Attention Message Received" +msgstr "Отримано повідомлення уваги" + +#: gajim/gtk/manage_sounds.py:86 +msgid "First Message Received" +msgstr "Перше отримане повідомлення" + +#: gajim/gtk/manage_sounds.py:87 +msgid "Next Message Received Focused" +msgstr "Фокус на наступне отримане повідомлення" + +#: gajim/gtk/manage_sounds.py:88 +msgid "Next Message Received Unfocused" +msgstr "Зняття фокусу з наступного отриманого повідомлення" + +#: gajim/gtk/manage_sounds.py:89 +msgid "Contact Connected" +msgstr "Контакт з'єднано" + +#: gajim/gtk/manage_sounds.py:90 +msgid "Contact Disconnected" +msgstr "Контакт від'єднано" + +#: gajim/gtk/manage_sounds.py:91 +msgid "Message Sent" +msgstr "Повідомлення надіслано" + +#: gajim/gtk/manage_sounds.py:92 +msgid "Group Chat Message Highlight" +msgstr "Виділення повідомлення групової балачки" + +#: gajim/gtk/manage_sounds.py:93 +msgid "Group Chat Message Received" +msgstr "Отримано повідомлення групової балачки" + +#: gajim/gtk/groupchat_info.py:38 +#, fuzzy +msgid "?Group chat feature:Open" +msgstr "?Роль у груповій балачці:Немає" + +#: gajim/gtk/groupchat_info.py:39 +msgid "Anyone can join this group chat" +msgstr "Хто завгодно може приєднатися до цієї групової балачки" + +#: gajim/gtk/groupchat_info.py:42 +#, fuzzy +msgid "?Group chat feature:Members Only" +msgstr "Виділення повідомлення групової балачки:" + +#: gajim/gtk/groupchat_info.py:43 +msgid "This group chat is restricted to members only" +msgstr "" + +#: gajim/gtk/groupchat_info.py:47 +#, fuzzy +msgid "?Group chat feature:Not Anonymous" +msgstr "Групові балачки" + +#: gajim/gtk/groupchat_info.py:48 +msgid "All other group chat participants can see your XMPP address" +msgstr "" + +#: gajim/gtk/groupchat_info.py:52 +#, fuzzy +msgid "?Group chat feature:Semi-Anonymous" +msgstr "Виділення повідомлення групової балачки:" + +#: gajim/gtk/groupchat_info.py:53 +msgid "Only moderators can see your XMPP address" +msgstr "" + +#: gajim/gtk/groupchat_info.py:56 +#, fuzzy +msgid "?Group chat feature:Moderated" +msgstr "?Роль у груповій балачці:Немає" + +#: gajim/gtk/groupchat_info.py:57 +msgid "" +"Participants entering this group chat need to request permission to send " +"messages" +msgstr "" + +#: gajim/gtk/groupchat_info.py:61 +#, fuzzy +msgid "?Group chat feature:Not Moderated" +msgstr "Групові балачки" + +#: gajim/gtk/groupchat_info.py:62 +msgid "Participants entering this group chat are allowed to send messages" +msgstr "" + +#: gajim/gtk/groupchat_info.py:66 +#, fuzzy +msgid "?Group chat feature:Public" +msgstr "Виділення повідомлення групової балачки:" + +#: gajim/gtk/groupchat_info.py:67 +msgid "Group chat can be found via search" +msgstr "" + +#: gajim/gtk/groupchat_info.py:70 +#, fuzzy +msgid "?Group chat feature:Hidden" +msgstr "?Роль у груповій балачці:Немає" + +#: gajim/gtk/groupchat_info.py:71 +#, fuzzy +msgid "This group chat can not be found via search" +msgstr "Не вдалося знайти службу" + +#: gajim/gtk/groupchat_info.py:74 +#, fuzzy +msgid "?Group chat feature:Password Required" +msgstr "Групові балачки" + +#: gajim/gtk/groupchat_info.py:75 +msgid "This group chat does require a password upon entry" +msgstr "" + +#: gajim/gtk/groupchat_info.py:79 +#, fuzzy +msgid "?Group chat feature:No Password Required" +msgstr "Групові балачки" + +#: gajim/gtk/groupchat_info.py:80 +msgid "This group chat does not require a password upon entry" +msgstr "" + +#: gajim/gtk/groupchat_info.py:84 +#, fuzzy +msgid "?Group chat feature:Persistent" +msgstr "Групові балачки" + +#: gajim/gtk/groupchat_info.py:85 +msgid "This group chat persists even if there are no participants" +msgstr "" + +#: gajim/gtk/groupchat_info.py:89 +#, fuzzy +msgid "?Group chat feature:Temporary" +msgstr "?Роль у груповій балачці:Немає" + +#: gajim/gtk/groupchat_info.py:90 +msgid "This group chat will be destroyed once the last participant left" +msgstr "" + +#: gajim/gtk/groupchat_info.py:94 +#, fuzzy +msgid "?Group chat feature:Archiving" +msgstr "Запрошення до групової балачки" + +#: gajim/gtk/groupchat_info.py:95 +#, fuzzy +msgid "Messages are archived on the server" +msgstr "Цей сеанс БУДЕ збережена на сервері" + +#: gajim/gtk/groupchat_info.py:205 +msgid "Website" +msgstr "" + +#: gajim/gtk/accounts.py:122 +#, fuzzy +msgid "Re-Login" +msgstr "Повторно увійти зараз?" + +#: gajim/gtk/accounts.py:123 +#, fuzzy +msgid "Re-Login now?" +msgstr "Повторно увійти зараз?" + +#: gajim/gtk/accounts.py:124 +#, fuzzy +msgid "To apply all changes instantly, you have to re-login." +msgstr "" +"Якщо ви бажаєте, щоб всі зміни негайно набули чинності, вам слід вийти з " +"облікового запису, а потім знову туди увійти." + +#: gajim/gtk/accounts.py:128 +msgid "_Re-Login" +msgstr "" + +#: gajim/gtk/accounts.py:311 gajim/data/gui/server_info.ui:386 +msgid "Connection" +msgstr "З'єднання" + +#: gajim/gtk/accounts.py:496 +#, fuzzy +msgid "Please check if Bonjour is installed." +msgstr "Будь ласка, переконайтеся, що встановлено Avahi або Bonjour." + +#: gajim/gtk/accounts.py:498 +#, fuzzy +msgid "Please check if Avahi is installed." +msgstr "Будь ласка, переконайтеся, що встановлено Avahi або Bonjour." + +#: gajim/gtk/accounts.py:537 +#, fuzzy +msgid "Disable Account" +msgstr "Некоректний обліковий запис" + +#: gajim/gtk/accounts.py:538 +#, fuzzy, python-format +msgid "Account %s is still connected" +msgstr "Обліковий запис «%s» з’єднано з сервером" + +#: gajim/gtk/accounts.py:539 +#, fuzzy +msgid "All chat and group chat windows will be closed." +msgstr "" +"Всі вікна балачок і групових балачок буде закрито.\n" +"Бажаєте продовжити процедуру виходу?" + +#: gajim/gtk/accounts.py:543 +#, fuzzy +msgid "_Disable Account" +msgstr "Некоректний обліковий запис" + +#: gajim/gtk/accounts.py:614 +#, fuzzy +msgid "Label" +msgstr "мітка" + +#: gajim/gtk/accounts.py:618 gajim/data/gui/groupchat_control.ui:99 +#: gajim/data/gui/chat_control.ui:363 +msgid "Color" +msgstr "Колір" + +#: gajim/gtk/accounts.py:620 +msgid "Recognize your account by color" +msgstr "" + +#: gajim/gtk/accounts.py:622 +msgid "Login" +msgstr "" + +#: gajim/gtk/accounts.py:627 +#, fuzzy +msgid "Import Contacts" +msgstr "Запросити _контакти" + +#: gajim/gtk/accounts.py:636 gajim/gtk/accounts.py:865 +#, fuzzy +msgid "Connect on startup" +msgstr "_З'єднуватись після запуску Gajim" + +#: gajim/gtk/accounts.py:640 gajim/gtk/accounts.py:870 +#, fuzzy +msgid "Save conversations for all contacts" +msgstr "Зберігати _журнал спілкування для усіх контактів" + +#: gajim/gtk/accounts.py:642 gajim/gtk/accounts.py:872 +msgid "Store conversations on the harddrive" +msgstr "" + +#: gajim/gtk/accounts.py:644 gajim/gtk/accounts.py:874 +#, fuzzy +msgid "Global Status" +msgstr "Усі стани" + +#: gajim/gtk/accounts.py:646 +#, fuzzy +msgid "Synchronise the status of all accounts" +msgstr "Змінює стан облікового запису або обліковий запис" + +#: gajim/gtk/accounts.py:648 +msgid "Remember Last Status" +msgstr "" + +#: gajim/gtk/accounts.py:650 +msgid "Restore status and status message of your last session" +msgstr "" + +#: gajim/gtk/accounts.py:653 +msgid "Use file transfer proxies" +msgstr "Використовувати проксі передавання файлів" + +#: gajim/gtk/accounts.py:670 +#, fuzzy +msgid "Forever" +msgstr "Ніколи" + +#: gajim/gtk/accounts.py:671 gajim/common/const.py:1110 +msgid "1 Day" +msgstr "" + +#: gajim/gtk/accounts.py:672 gajim/common/const.py:1112 +msgid "1 Week" +msgstr "" + +#: gajim/gtk/accounts.py:673 gajim/common/const.py:1113 +msgid "1 Month" +msgstr "" + +#: gajim/gtk/accounts.py:674 +msgid "3 Months" +msgstr "" + +#: gajim/gtk/accounts.py:675 +msgid "6 Months" +msgstr "" + +#: gajim/gtk/accounts.py:676 +msgid "1 Year" +msgstr "" + +#: gajim/gtk/accounts.py:686 +#, fuzzy +msgid "Idle Time" +msgstr "Відсутній з:" + +#: gajim/gtk/accounts.py:688 +msgid "Disclose the time of your last activity" +msgstr "" + +#: gajim/gtk/accounts.py:690 +msgid "Local System Time" +msgstr "" + +#: gajim/gtk/accounts.py:692 +msgid "Disclose the local system time of the device Gajim runs on" +msgstr "" + +#: gajim/gtk/accounts.py:695 +#, fuzzy +msgid "Client / Operating System" +msgstr "Клієнтський сертифікат" + +#: gajim/gtk/accounts.py:697 +#, fuzzy +msgid "" +"Disclose information about the client and operating system you currently use" +msgstr "" +"Дозволити Gajim надсилати інформацію, яку операційну систему ви " +"використовуєте" + +#: gajim/gtk/accounts.py:700 +#, fuzzy +msgid "Ignore Unknown Contacts" +msgstr "Запросити _контакти" + +#: gajim/gtk/accounts.py:702 +#, fuzzy +msgid "Ignore everything from contacts not in your Roster" +msgstr "_Ігнорувати події від контактів поза реєстром" + +#: gajim/gtk/accounts.py:705 +#, fuzzy +msgid "Send Message Receipts" +msgstr "Отримано повідомлення уваги" + +#: gajim/gtk/accounts.py:707 +msgid "Tell your contacts if you received a message" +msgstr "" + +#: gajim/gtk/accounts.py:713 +#, fuzzy +msgid "Default for chats" +msgstr "Вільний для балачки" + +#: gajim/gtk/accounts.py:716 gajim/gtk/accounts.py:741 +msgid "Reset all chats to the current default value" +msgstr "" + +#: gajim/gtk/accounts.py:722 +#, fuzzy +msgid "Send Chatstate in Group Chats" +msgstr "Не вдалося приєднатися до групової балачки" + +#: gajim/gtk/accounts.py:725 +#, fuzzy +msgid "Default for group chats" +msgstr "Створити групову балачку" + +#: gajim/gtk/accounts.py:739 +#, fuzzy +msgid "Default for chats and private group chats" +msgstr "%s приєднався до групової балачки" + +#: gajim/gtk/accounts.py:747 +#, fuzzy +msgid "Keep Chat History" +msgstr "Нещодавно:" + +#: gajim/gtk/accounts.py:751 +msgid "How long Gajim should keep your chat history" +msgstr "" + +#: gajim/gtk/accounts.py:787 gajim/data/gui/manage_proxies.ui:337 +#, fuzzy +msgid "Proxy" +msgstr "Прокс_і:" + +#: gajim/gtk/accounts.py:794 gajim/gtk/accounts.py:949 +#: gajim/data/gui/server_info.ui:20 +#, fuzzy +msgid "Hostname" +msgstr "Назва _вузла:" + +#: gajim/gtk/accounts.py:795 +msgid "Manually set the hostname for the server" +msgstr "" + +#: gajim/gtk/accounts.py:798 gajim/data/gui/vcard_information_window.ui:72 +#, fuzzy +msgid "Resource" +msgstr "Ресурс:" + +#: gajim/gtk/accounts.py:801 gajim/gtk/accounts.py:917 +#: gajim/gtk/accounts.py:925 +#, fuzzy +msgid "Priority" +msgstr "Пріорите_т:" + +#: gajim/gtk/accounts.py:804 +#, fuzzy +msgid "Use Unencrypted Connection" +msgstr "Небезпечне з’єднання" + +#: gajim/gtk/accounts.py:806 gajim/common/config.py:273 +#, fuzzy +msgid "Use an unencrypted connection to the server" +msgstr "Ваш комп’ютер не з’єднано з сервером" + +#: gajim/gtk/accounts.py:808 +#, fuzzy +msgid "Confirm Unencrypted Connection" +msgstr "Небезпечне з’єднання" + +#: gajim/gtk/accounts.py:811 +#, fuzzy +msgid "Show a confirmation dialog before connecting unencrypted" +msgstr "" +"Чи слід показувати діалогове вікно підтвердження блокування контактів? " +"Порожній рядок вказуватиме на те, що це діалогове вікно не слід показувати." + +#: gajim/gtk/accounts.py:835 gajim/data/gui/zeroconf_information_window.ui:8 +#: gajim/data/gui/vcard_information_window.ui:8 +#: gajim/data/gui/subscription_request_window.ui:164 +msgid "Contact Information" +msgstr "Контактна інформація" + +#: gajim/gtk/accounts.py:837 +msgid "Request contact information (Mood, Activity, Tune, Location)" +msgstr "" + +#: gajim/gtk/accounts.py:840 +#, fuzzy +msgid "Accept all Contact Requests" +msgstr "Запит на голосову розмову" + +#: gajim/gtk/accounts.py:842 +msgid "Automatically accept all contact requests" +msgstr "" + +#: gajim/gtk/accounts.py:844 +#, fuzzy +msgid "Filetransfer Preference" +msgstr "Помилка під час передавання файла" + +#: gajim/gtk/accounts.py:846 +#, fuzzy +msgid "Upload Files" +msgstr "Зберегти файл як..." + +#: gajim/gtk/accounts.py:847 +#, fuzzy +msgid "Send Files Directly" +msgstr "Зберегти файл як..." + +#: gajim/gtk/accounts.py:848 +msgid "Preferred file transfer mechanism for file drag&drop on a chat window" +msgstr "" + +#: gajim/gtk/accounts.py:867 +#, fuzzy +msgid "Use environment variable" +msgstr "використовувати змінну середовища HTTP_PROXY" + +#: gajim/gtk/accounts.py:876 +#, fuzzy +msgid "Synchronize the status of all accounts" +msgstr "Змінює стан облікового запису або обліковий запис" + +#: gajim/gtk/accounts.py:886 +#, fuzzy +msgid "First Name" +msgstr "Ім'я:" + +#: gajim/gtk/accounts.py:889 +#, fuzzy +msgid "Last Name" +msgstr "Прізвище:" + +#: gajim/gtk/accounts.py:895 gajim/gtk/profile.py:32 gajim/gtk/vcard_grid.py:39 +#, fuzzy +msgid "Email" +msgstr "Нове повідомлення електронної пошти" + +#: gajim/gtk/accounts.py:913 +#, fuzzy +msgid "Adjust to status" +msgstr "_Узгодити зі станом" + +#: gajim/gtk/accounts.py:945 +#, fuzzy +msgid "Enable" +msgstr "Увімкнено" + +#: gajim/gtk/accounts.py:953 +#, fuzzy +msgid "Port" +msgstr "_Порт:" + +#: gajim/gtk/accounts.py:957 gajim/data/gui/server_info.ui:250 +msgid "Type" +msgstr "Тип" + +#: gajim/gtk/accounts.py:963 +#, fuzzy +msgid "Connection Settings" +msgstr "З'єднання" + +#: gajim/gtk/accounts.py:971 +#, fuzzy +msgid "Client Certificate" +msgstr "Клієнтський сертифікат" + +#: gajim/gtk/accounts.py:973 +msgid "PKCS12 Files" +msgstr "Файли PKCS12" + +#: gajim/gtk/accounts.py:975 +#, fuzzy +msgid "Encrypted Certificate" +msgstr "Cертифікат" + +#: gajim/gtk/accounts.py:979 +#, fuzzy +msgid "Certificate Settings" +msgstr "Cертифікат" + +#: gajim/gtk/accounts.py:987 gajim/data/gui/account_wizard.ui:255 +#: gajim/data/gui/bookmarks.ui:102 +#, fuzzy +msgid "Password" +msgstr "Пароль:" + +#: gajim/gtk/accounts.py:991 +#, fuzzy +msgid "Save Password" +msgstr "Зберегти пароль" + +#: gajim/gtk/accounts.py:999 +#, fuzzy +msgid "Login Settings" +msgstr "Додатки" + +#: gajim/gtk/groupchat_config.py:39 +#, fuzzy +msgid "Group Chat Configuration" +msgstr "Запрошення до групової балачки" + +#: gajim/gtk/groupchat_config.py:104 gajim/common/helpers.py:283 +#: gajim/data/gui/groupchat_config.ui:40 +msgid "Member" +msgstr "Учасник" + +#: gajim/gtk/groupchat_config.py:133 +#, fuzzy +msgid "A Group Chat needs at least one Owner" +msgstr "?Роль у груповій балачці:Немає" + +#: gajim/gtk/groupchat_config.py:241 +msgid "You are not allowed to modify the affiliation of Admins and Owners" +msgstr "" + +#: gajim/gtk/groupchat_config.py:400 +msgid "An entry with this XMPP Address already exists" +msgstr "" + +#: gajim/gtk/server_info.py:142 gajim/data/gui/vcard_information_window.ui:89 +#: gajim/data/gui/preferences.ui:359 +msgid "Status" +msgstr "Стан" + +#: gajim/gtk/server_info.py:143 +msgid "Support" +msgstr "" + +#: gajim/gtk/server_info.py:144 +msgid "Security" +msgstr "" + +#: gajim/gtk/server_info.py:145 +msgid "Feedback" +msgstr "" + +#: gajim/gtk/server_info.py:146 +msgid "Abuse" +msgstr "" + +#: gajim/gtk/server_info.py:147 +msgid "Sales" +msgstr "" + +#: gajim/gtk/server_info.py:231 +#, python-format +msgid "%(days)s days, %(hours)s hours" +msgstr "" + +#: gajim/gtk/server_info.py:239 gajim/gtk/vcard_grid.py:115 +#: gajim/common/helpers.py:224 +#, fuzzy +msgid "Unknown" +msgstr "?ОС:Невідома" + +#: gajim/gtk/server_info.py:360 +#, fuzzy +msgid "" +"\n" +"Disabled in preferences" +msgstr "Налаштування архівації" + +#: gajim/gtk/history.py:79 +msgid "Conversation History" +msgstr "Журнал спілкування" + +#: gajim/gtk/history.py:411 gajim/gtk/history.py:465 +msgid "Disk Error" +msgstr "Помилка роботи з диском" + +#: gajim/gtk/history.py:576 +#, python-format +msgid "%(nick)s is now %(status)s: %(status_msg)s" +msgstr "%(nick)s тепер %(status)s: %(status_msg)s" + +#: gajim/gtk/history.py:581 gajim/common/connection_handlers_events.py:414 +#, python-format +msgid "%(nick)s is now %(status)s" +msgstr "%(nick)s тепер %(status)s" + +#: gajim/gtk/history.py:589 +#, python-format +msgid "Error: %s" +msgstr "Помилка: %s" + +#: gajim/gtk/history.py:593 +#, python-format +msgid "Status is now: %(status)s: %(status_msg)s" +msgstr "Поточний стан: %(status)s: %(status_msg)s" + +#: gajim/gtk/history.py:597 +#, python-format +msgid "Status is now: %(status)s" +msgstr "Поточний стан: %(status)s" + +#: gajim/gtk/about.py:51 +#, fuzzy +msgid "A GTK XMPP client" +msgstr "Jabber/XMPP клієнт, що базується на GTK+" + +#: gajim/gtk/about.py:52 +#, fuzzy, python-format +msgid "GTK Version: %s" +msgstr "Версія GTK+: %s" + +#: gajim/gtk/about.py:53 +#, fuzzy, python-format +msgid "GLib Version: %s" +msgstr "Версія GTK+: %s" + +#: gajim/gtk/about.py:54 +#, python-format +msgid "PyGObject Version: %s" +msgstr "Версія PyGTK: %s" + +#: gajim/gtk/about.py:55 +#, python-format +msgid "python-nbxmpp Version: %s" +msgstr "" + +#: gajim/gtk/about.py:59 +#, fuzzy +msgid "Current Developers" +msgstr "Поточні розробники:" + +#: gajim/gtk/about.py:60 +#, fuzzy +msgid "Past Developers" +msgstr "Колишні розробники:" + +#: gajim/gtk/about.py:61 +msgid "Artists" +msgstr "" + +#: gajim/gtk/about.py:65 +msgid "Last but not least" +msgstr "" + +#: gajim/gtk/about.py:66 +#, fuzzy +msgid "we would like to thank all the package maintainers." +msgstr "" +"Нарешті, але ані трохи не менше, ми вдячні всім супровідникам пакунків з " +"програмою." + +#: gajim/gtk/about.py:67 +#, fuzzy +msgid "Thanks" +msgstr "Вдячний" + +#: gajim/gtk/about.py:69 +msgid "translator-credits" +msgstr "Сергій Єгоров" + +#: gajim/gtk/search.py:95 gajim/gtk/search.py:191 +msgid "Search" +msgstr "Пошук" + +#: gajim/gtk/search.py:101 +#, fuzzy +msgid "New Search" +msgstr "Пошук" + +#: gajim/gtk/search.py:176 +msgid "Request Search Form" +msgstr "" + +#: gajim/gtk/search.py:236 +#, fuzzy +msgid "Search…" +msgstr "Пошук" + +#: gajim/gtk/search.py:243 +#, fuzzy +msgid "Search Result" +msgstr "Пошук" + +#: gajim/gtk/search.py:250 +#, fuzzy +msgid "No results found" +msgstr "Результату немає" + +#: gajim/gtk/features.py:40 gajim/data/gui/server_info.ui:447 +msgid "Features" +msgstr "Можливості" + +#: gajim/gtk/features.py:90 +msgid "Audio / Video" +msgstr "Аудіо/Відео" + +#: gajim/gtk/features.py:92 +#, fuzzy +msgid "Enables Gajim to provide Audio and Video chats" +msgstr "Можливість розпочати аудіо та відео розмову." + +#: gajim/gtk/features.py:93 +msgid "" +"Requires: gir1.2-farstream-0.2, gir1.2-gstreamer-1.0, gstreamer1.0-libav, " +"gstreamer1.0-plugins-ugly" +msgstr "" + +#: gajim/gtk/features.py:95 gajim/gtk/features.py:145 +#, fuzzy +msgid "Feature not available under Windows" +msgstr "Цією можливістю не можна скористатися у Windows." + +#: gajim/gtk/features.py:97 +#, fuzzy +msgid "Automatic Status" +msgstr "Узгодити зі станом" + +#: gajim/gtk/features.py:99 +#, fuzzy +msgid "" +"Enables Gajim to measure your computer's idle time in order to set your " +"Status automatically" +msgstr "" +"Можливість вимірювання часу відсутності активності для встановлення " +"автоматичного стану." + +#: gajim/gtk/features.py:101 +#, fuzzy +msgid "Requires: libxss" +msgstr "Потрібна бібліотека libxss." + +#: gajim/gtk/features.py:102 gajim/gtk/features.py:123 +msgid "No additional requirements" +msgstr "" + +#: gajim/gtk/features.py:104 +#, fuzzy +msgid "Bonjour / Zeroconf (Serverless Chat)" +msgstr "Bonjour / Zeroconf" + +#: gajim/gtk/features.py:106 +#, fuzzy +msgid "" +"Enables Gajim to automatically detected clients in a local network for " +"serverless chats" +msgstr "" +"Балачка, для якої не потрібен сервер, з автоматичним виявленням клієнтів у " +"локальній мережі." + +#: gajim/gtk/features.py:108 +#, fuzzy +msgid "Requires: gir1.2-avahi-0.6" +msgstr "Потрібен python-gupnp-igd." + +#: gajim/gtk/features.py:109 +#, fuzzy, python-format +msgid "Requires: pybonjour and bonjour SDK running (%(url)s)" +msgstr "Вимагає pybonjour та bonjour SDK (%(url)s)" + +#: gajim/gtk/features.py:112 +#, fuzzy +msgid "Location detection" +msgstr "З'єднання" + +#: gajim/gtk/features.py:114 +msgid "" +"Enables Gajim to be location-aware, if the user decides to publish the " +"device’s location" +msgstr "" + +#: gajim/gtk/features.py:116 +#, fuzzy +msgid "Requires: geoclue" +msgstr "Потрібна бібліотека libgtkspell." + +#: gajim/gtk/features.py:117 +#, fuzzy +msgid "Feature is not available under Windows" +msgstr "Цією можливістю не можна скористатися у Windows." + +#: gajim/gtk/features.py:119 +#, fuzzy +msgid "Notification Sounds" +msgstr "Сповіщення" + +#: gajim/gtk/features.py:121 +#, fuzzy +msgid "Enables Gajim to play sounds for various notifications" +msgstr "Можливість розпочати аудіо та відео розмову." + +#: gajim/gtk/features.py:122 +#, fuzzy +msgid "Requires: gsound" +msgstr "Потрібен python-dbus." + +#: gajim/gtk/features.py:125 +#, fuzzy +msgid "Secure Password Storage" +msgstr "Зберегти пароль" + +#: gajim/gtk/features.py:127 +#, fuzzy +msgid "" +"Enables Gajim to store Passwords securely instead of storing them in " +"plaintext" +msgstr "Можна зберігати паролі безпечно, не лише як звичайний текст." + +#: gajim/gtk/features.py:129 +#, fuzzy +msgid "Requires: gnome-keyring or kwallet" +msgstr "Потрібні gnome-keyring і python-gnome2-desktop, або kwalletcli." + +#: gajim/gtk/features.py:130 +msgid "Windows Credential Vault is used for secure password storage" +msgstr "" + +#: gajim/gtk/features.py:133 +msgid "Spell Checker" +msgstr "Перевірка правопису" + +#: gajim/gtk/features.py:135 +msgid "Enables Gajim to spell check your messages while composing" +msgstr "" + +#: gajim/gtk/features.py:137 gajim/gtk/features.py:138 +#, fuzzy +msgid "Requires: Gspell" +msgstr "Потрібна бібліотека libgtkspell." + +#: gajim/gtk/features.py:140 +msgid "UPnP-IGD Port Forwarding" +msgstr "" + +#: gajim/gtk/features.py:142 +#, fuzzy +msgid "" +"Enables Gajim to request your router to forward ports for file transfers" +msgstr "" +"Можливість запиту до маршрутизатора для надання порту для передавання файлів." + +#: gajim/gtk/features.py:144 +#, fuzzy +msgid "Requires: gir1.2-gupnpigd-1.0" +msgstr "Потрібен python-gupnp-igd." + +#: gajim/gtk/features.py:200 +#, fuzzy +msgid "Disabled in Preferences" +msgstr "Налаштування архівації" + +#: gajim/gtk/dialogs.py:55 gajim/gtk/filechoosers.py:179 +#: gajim/data/gui/groupchat_control.ui:674 +#: gajim/data/gui/groupchat_control.ui:766 +#: gajim/data/gui/groupchat_control.ui:882 +#: gajim/data/gui/groupchat_control.ui:974 +#: gajim/data/gui/groupchat_control.ui:1419 +#: gajim/data/gui/groupchat_control.ui:1545 +#: gajim/data/gui/groupchat_control.ui:1671 +#: gajim/data/gui/groupchat_control.ui:1842 +#: gajim/data/gui/groupchat_control.ui:1920 gajim/data/gui/filetransfers.ui:30 +#: gajim/data/gui/add_new_contact_window.ui:451 +#: gajim/data/gui/filetransfer_progress.ui:172 gajim/data/gui/profile.ui:260 +#: gajim/data/gui/passphrase_dialog.ui:29 +msgid "_Cancel" +msgstr "_Скасувати" + +#: gajim/gtk/dialogs.py:65 gajim/data/gui/history_manager.ui:20 +#, fuzzy +msgid "_Delete" +msgstr "Вилучити" + +#: gajim/gtk/dialogs.py:216 +#, fuzzy +msgid "Certificate" +msgstr "Клієнтський сертифікат" + +#: gajim/gtk/dialogs.py:230 +#, fuzzy, python-format +msgid "" +"Certificate for \n" +"%s" +msgstr "" +"Сертифікат до облікового запису\n" +"%s" + +#: gajim/gtk/dialogs.py:279 +msgid "Issued to\n" +msgstr "" + +#: gajim/gtk/dialogs.py:280 gajim/gtk/dialogs.py:285 +msgid "Common Name (CN): " +msgstr "" + +#: gajim/gtk/dialogs.py:281 gajim/gtk/dialogs.py:286 +msgid "Organization (O): " +msgstr "" + +#: gajim/gtk/dialogs.py:282 gajim/gtk/dialogs.py:287 +msgid "Organizational Unit (OU): " +msgstr "" + +#: gajim/gtk/dialogs.py:283 +#, fuzzy +msgid "Serial Number: " +msgstr "Номер GG:" + +#: gajim/gtk/dialogs.py:284 +msgid "Issued by\n" +msgstr "" + +#: gajim/gtk/dialogs.py:288 +msgid "Validity\n" +msgstr "" + +#: gajim/gtk/dialogs.py:289 +msgid "Issued on: " +msgstr "" + +#: gajim/gtk/dialogs.py:290 +#, fuzzy +msgid "Expires on: " +msgstr "застаріти" + +#: gajim/gtk/dialogs.py:291 +msgid "SHA-1:" +msgstr "" + +#: gajim/gtk/dialogs.py:293 +msgid "SHA-256:" +msgstr "" + +#: gajim/gtk/util.py:591 +msgid "Unknown Artist" +msgstr "Невідомий виконавець" + +#: gajim/gtk/util.py:592 +msgid "Unknown Title" +msgstr "Невідома назва" + +#: gajim/gtk/util.py:593 +msgid "Unknown Source" +msgstr "Невідоме джерело" + +#: gajim/gtk/util.py:595 +#, python-format +msgid "" +"\"%(title)s\" by %(artist)s\n" +"from %(source)s" +msgstr "" +"\"%(title)s\" by %(artist)s\n" +"з %(source)s" + +#: gajim/gtk/profile.py:28 gajim/gtk/vcard_grid.py:33 +#: gajim/data/gui/vcard_information_window.ui:411 +msgid "Full Name" +msgstr "Повне ім'я" + +#: gajim/gtk/profile.py:29 gajim/gtk/vcard_grid.py:35 +#: gajim/data/gui/vcard_information_window.ui:770 +msgid "Birthday" +msgstr "День народження" + +#: gajim/gtk/profile.py:30 gajim/gtk/vcard_grid.py:36 +#, fuzzy +msgid "Gender" +msgstr "Відправник:" + +#: gajim/gtk/profile.py:31 gajim/data/gui/groupchat_info_scrolled.ui:16 +#, fuzzy +msgid "Address" +msgstr "_Адреса:" + +#: gajim/gtk/profile.py:34 gajim/gtk/vcard_grid.py:38 +#: gajim/data/gui/vcard_information_window.ui:720 +#: gajim/data/gui/vcard_information_window.ui:1396 +#, fuzzy +msgid "Phone No." +msgstr "Телефон" + +#: gajim/gtk/profile.py:35 +msgid "?profile:Organisation" +msgstr "" + +#: gajim/gtk/profile.py:36 gajim/gtk/vcard_grid.py:41 +msgid "?profile:Title" +msgstr "" + +#: gajim/gtk/profile.py:37 gajim/gtk/vcard_grid.py:42 +#, fuzzy +msgid "?profile:Role" +msgstr "Профіль" + +#: gajim/gtk/profile.py:38 gajim/gtk/vcard_grid.py:45 +#, fuzzy +msgid "URL" +msgstr "URL:" + +#: gajim/gtk/profile.py:39 gajim/gtk/vcard_grid.py:46 +#, fuzzy +msgid "?profile:Key" +msgstr "Профіль" + +#: gajim/gtk/profile.py:299 gajim/gtk/profile.py:301 +#: gajim/data/gui/profile.ui:98 gajim/data/gui/profile.ui:110 +msgid "Everyone" +msgstr "" + +#: gajim/gtk/profile.py:299 gajim/gtk/profile.py:301 +#: gajim/data/gui/shortcuts_window.ui:108 gajim/data/gui/groupchat_invite.ui:83 +msgid "Contacts" +msgstr "Контакти" + +#: gajim/gtk/filechoosers.py:88 +#, fuzzy +msgid "Choose File to Send…" +msgstr "Вибрати файл для надсилання..." + +#: gajim/gtk/filechoosers.py:94 +#, fuzzy +msgid "Choose Avatar…" +msgstr "Вибрати архів" + +#: gajim/gtk/filechoosers.py:98 +#, fuzzy +msgid "PNG files" +msgstr "Всі файли" + +#: gajim/gtk/filechoosers.py:99 +#, fuzzy +msgid "JPEG files" +msgstr "Всі файли" + +#: gajim/gtk/filechoosers.py:100 +#, fuzzy +msgid "SVG files" +msgstr "Надіслати _файли" + +#: gajim/gtk/filechoosers.py:102 +msgid "Images" +msgstr "Зображення" + +#: gajim/gtk/filechoosers.py:139 +msgid "Choose Archive" +msgstr "Вибрати архів" + +#: gajim/gtk/filechoosers.py:141 +#, fuzzy +msgid "ZIP files" +msgstr "Файли ZIP" + +#: gajim/gtk/filechoosers.py:146 +#, fuzzy +msgid "Save File as…" +msgstr "Зберегти файл як..." + +#: gajim/gtk/filechoosers.py:180 +#, fuzzy +msgid "_Open" +msgstr "OpenPGP: " + +#: gajim/gtk/blocking.py:38 +#, fuzzy, python-format +msgid "Blocking List for %s" +msgstr "Списки приватності для %s" + +#: gajim/gtk/blocking.py:64 +#, fuzzy +msgid "Error!" +msgstr "Помилка." + +#: gajim/gtk/service_registration.py:143 gajim/gtk/service_registration.py:157 +#: gajim/gtk/service_registration.py:164 +#, fuzzy +msgid "Register" +msgstr "_Зареєструвати" + +#: gajim/gtk/service_registration.py:193 gajim/gtk/service_registration.py:205 +msgid "Registration successful" +msgstr "Реєстрація вдала" + +#: gajim/gtk/service_registration.py:216 +msgid "Registration failed" +msgstr "Спроба з’єднання завершилася невдало" + +#: gajim/gtk/vcard_grid.py:37 +#, fuzzy +msgid "?profile:Address" +msgstr "_Адреса:" + +#: gajim/gtk/vcard_grid.py:40 +#, fuzzy +msgid "IM Address" +msgstr "_Адреса:" + +#: gajim/gtk/vcard_grid.py:43 +#, fuzzy +msgid "Organisation" +msgstr "У відпустці" + +#: gajim/gtk/vcard_grid.py:44 +#, fuzzy +msgid "?profile:Note" +msgstr "Профіль" + +#: gajim/gtk/vcard_grid.py:51 +msgid "Your public key or authentication certificate" +msgstr "" + +#: gajim/gtk/vcard_grid.py:59 +msgid "Post Office Box" +msgstr "" + +#: gajim/gtk/vcard_grid.py:60 gajim/data/gui/vcard_information_window.ui:489 +#: gajim/data/gui/vcard_information_window.ui:1179 +#, fuzzy +msgid "Street" +msgstr "вулиця" + +#: gajim/gtk/vcard_grid.py:61 +#, fuzzy +msgid "Extended Address" +msgstr "Додаткова адреса" + +#: gajim/gtk/vcard_grid.py:62 gajim/data/gui/vcard_information_window.ui:505 +#: gajim/data/gui/vcard_information_window.ui:1195 +msgid "City" +msgstr "" + +#: gajim/gtk/vcard_grid.py:63 gajim/data/gui/vcard_information_window.ui:521 +#: gajim/data/gui/vcard_information_window.ui:1211 +#, fuzzy +msgid "State" +msgstr "Стан" + +#: gajim/gtk/vcard_grid.py:64 gajim/data/gui/vcard_information_window.ui:595 +#: gajim/data/gui/vcard_information_window.ui:1244 +#, fuzzy +msgid "Postal Code" +msgstr "поштовий індекс" + +#: gajim/gtk/vcard_grid.py:65 gajim/data/gui/vcard_information_window.ui:611 +#: gajim/data/gui/vcard_information_window.ui:1260 +#, fuzzy +msgid "Country" +msgstr "країні" + +#: gajim/gtk/vcard_grid.py:111 +msgid "Male" +msgstr "" + +#: gajim/gtk/vcard_grid.py:112 +msgid "Female" +msgstr "" + +#: gajim/gtk/vcard_grid.py:113 +msgid "?Gender:Other" +msgstr "" + +#: gajim/gtk/vcard_grid.py:114 +#, fuzzy +msgid "?Gender:None" +msgstr "Відправник:" + +#: gajim/gtk/vcard_grid.py:121 gajim/gtk/vcard_grid.py:428 +#, fuzzy +msgid "Home" +msgstr "Домашня сторінка:" + +#: gajim/gtk/vcard_grid.py:122 gajim/gtk/vcard_grid.py:429 +#: gajim/data/gui/vcard_information_window.ui:1452 +msgid "Work" +msgstr "Робота" + +#: gajim/gtk/vcard_grid.py:598 +#, fuzzy +msgid "YYYY-MM-DD" +msgstr "Формат: РРРР-ММ-ДД" + +#: gajim/gtk/adhoc.py:91 +#, fuzzy +msgid "Finish" +msgstr "_Завершити" + +#: gajim/gtk/adhoc.py:96 gajim/gtk/adhoc.py:283 +#, fuzzy +msgid "Commands" +msgstr "команда" + +#: gajim/gtk/adhoc.py:107 +#, fuzzy +msgid "Previous" +msgstr "Сповнений заздрощів" + +#: gajim/gtk/adhoc.py:112 +#, fuzzy +msgid "Execute" +msgstr "Ви_конати команду" + +#: gajim/gtk/adhoc.py:196 +#, fuzzy +msgid "No commands available" +msgstr "Немає жодного облікового запису" + +#: gajim/gtk/adhoc.py:244 +#, fuzzy +msgid "Request Command List" +msgstr "Ви_конати команду" + +#: gajim/gtk/adhoc.py:259 +#, fuzzy +msgid "Executing…" +msgstr "Ви_конати команду" + +#: gajim/gtk/adhoc.py:266 +#, fuzzy +msgid "Command List" +msgstr "Список заборон" + +#: gajim/gtk/adhoc.py:321 gajim/data/gui/manage_proxies.ui:255 +#, fuzzy +msgid "Settings" +msgstr "Гарячі клавіші" + +#: gajim/gtk/adhoc.py:386 +#, fuzzy +msgid "Finished" +msgstr "_Завершити" + +#: gajim/gtk/adhoc.py:455 +#, fuzzy +msgid "Execution failed" +msgstr "Спроба з’єднання завершилася невдало" + +#: gajim/common/jingle_rtp.py:133 +#, python-format +msgid "%s configuration error" +msgstr "%s помилка конфігурації" + +#: gajim/common/jingle_rtp.py:134 +#, fuzzy, python-format +msgid "" +"Couldn’t set up %(text)s. Check your configuration.\n" +"Pipeline:\n" +"%(pipeline)s\n" +"Error:\n" +"%(error)s" +msgstr "" +"Не можу налаштувати %s. Перевірте вашу конфігурацію.\n" +"\n" +"Команда:\n" +"%s\n" +"\n" +"Помилка:\n" +"%s" + +#: gajim/common/jingle_rtp.py:416 +msgid "audio input" +msgstr "аудіо вхід" + +#: gajim/common/jingle_rtp.py:421 +msgid "audio output" +msgstr "аудіо вихід" + +#: gajim/common/jingle_rtp.py:489 +msgid "video input" +msgstr "відео вхід" + +#: gajim/common/setting_values.py:300 gajim/common/config.py:356 +#: gajim/common/const.py:387 +msgid "Sleeping" +msgstr "Сплю" + +#: gajim/common/setting_values.py:301 +msgid "ZZZZzzzzzZZZZZ" +msgstr "" + +#: gajim/common/setting_values.py:306 gajim/common/config.py:357 +msgid "Back soon" +msgstr "Скоро повернуся" + +#: gajim/common/setting_values.py:307 gajim/common/config.py:357 +msgid "Back in some minutes." +msgstr "Повернуся за декілька хвилин." + +#: gajim/common/setting_values.py:309 gajim/common/config.py:358 +#: gajim/common/const.py:353 +msgid "Eating" +msgstr "Їм" + +#: gajim/common/setting_values.py:310 +#, fuzzy +msgid "I’m eating." +msgstr "Я працюю." + +#: gajim/common/setting_values.py:314 gajim/common/config.py:359 +msgid "Movie" +msgstr "Відео" + +#: gajim/common/setting_values.py:315 +#, fuzzy +msgid "I’m watching a movie." +msgstr "Я дивлюся відео." + +#: gajim/common/setting_values.py:319 gajim/common/config.py:360 +#: gajim/common/const.py:420 +msgid "Working" +msgstr "Працюю" + +#: gajim/common/setting_values.py:320 +#, fuzzy +msgid "I’m working." +msgstr "Я працюю." + +#: gajim/common/setting_values.py:324 gajim/common/config.py:362 +msgid "Out" +msgstr "Відійшов(шла)" + +#: gajim/common/setting_values.py:325 +#, fuzzy +msgid "I’m out enjoying life." +msgstr "Я насолоджуюся життям." + +#: gajim/common/setting_values.py:393 gajim/common/config.py:84 +#, fuzzy +msgid "" +"Allow to hide the contact list window even if the notification area icon is " +"not shown." +msgstr "" +"Дозволити ховати вікно реєстру навіть якщо піктограму сповіщення не задіяно" + +#: gajim/common/setting_values.py:394 gajim/common/config.py:95 +msgid "" +"'always' - print time for every message.\n" +"'sometimes' - print time every print_ichat_every_foo_minutes minute.\n" +"'never' - never print time." +msgstr "" +"'always' — виводити час для кожного з повідомлень.\n" +"'sometimes' — виводити час кожні print_ichat_every_foo_minutes хвилин.\n" +"'never' — ніколи не виводити час." + +#: gajim/common/setting_values.py:395 gajim/common/config.py:99 +msgid "Treat * / _ pairs as possible formatting characters." +msgstr "Вважати пари символів * / _ символами форматування." + +#: gajim/common/setting_values.py:396 gajim/common/config.py:100 +#, fuzzy +msgid "" +"If enabled, do not remove */_ . So *abc* will be bold but with * * not " +"removed." +msgstr "" +"Якщо має значення «True», не вилучати */_ . Наприклад, рядок *abc* " +"вважатиметься рядком з напівжирним шрифтом після вилучення позначок * *." + +#: gajim/common/setting_values.py:397 gajim/common/config.py:103 +#, fuzzy +msgid "" +"Character to add after nickname when using nickname completion (tab) in " +"group chat." +msgstr "" +"Символ, який буде додано після псевдоніма, якщо ви використовуєте " +"автоматичне доповнення псевдоніма (tab) у груповій балачці." + +#: gajim/common/setting_values.py:398 gajim/common/config.py:125 +#, fuzzy +msgid "" +"If enabled, Gajim will save the contact list window position when hiding it, " +"and restore it when showing the contact list window again." +msgstr "" +"Якщо увімкнено, Gajim буде зберігати положення вікна ховаючи реєстр та " +"відновлювати при його показі." + +#: gajim/common/setting_values.py:399 gajim/common/config.py:131 +msgid "Place the contact list on the right in single window mode" +msgstr "" + +#: gajim/common/setting_values.py:400 gajim/common/config.py:137 +#, fuzzy +msgid "" +"This option lets you customize the timestamp that is printed in " +"conversation. For example '[%H:%M] ' will show '[hour:minute] '. See python " +"doc on strftime for full documentation (https://docs.python.org/3/library/" +"time.html#time.strftime)." +msgstr "" +"За допомогою цього параметра ви зможете налаштувати часову позначку, яка " +"показуватиметься під час спілкування. Наприклад, \"[%H:%M] \" відповідатиме " +"\"[година:хвилина] \". Див. документацію з python щодо strftime, щоб " +"дізнатися більше: http://docs.python.org/lib/module-time.html" + +#: gajim/common/setting_values.py:401 gajim/common/config.py:138 +#, fuzzy +msgid "Characters that are printed before the nickname in conversations." +msgstr "Символи, які буде показано перед псевдонімами під час спілкування" + +#: gajim/common/setting_values.py:402 gajim/common/config.py:139 +#, fuzzy +msgid "Characters that are printed after the nickname in conversations." +msgstr "Символи, які буде показано після псевдонімів під час спілкування" + +#: gajim/common/setting_values.py:403 gajim/common/config.py:140 +#, fuzzy +msgid "If enabled, Gajim will add * and [n] in contact list window title." +msgstr "" +"Якщо буде позначено цей пункт, Gajim показуватиме настрій контактів у вікні " +"реєстру" + +#: gajim/common/setting_values.py:404 gajim/common/config.py:141 +#, fuzzy +msgid "" +"Number of messages from chat history to be restored when a chat tab/window " +"is reopened." +msgstr "" +"Кількість рядків тесту, які слід запам’ятати з попереднього спілкування для " +"показу під час повторного відкриття вкладки або вікна балачки." + +#: gajim/common/setting_values.py:405 gajim/common/config.py:142 +msgid "" +"How far back in time (minutes) chat history is restored. -1 means no limit." +msgstr "" + +#: gajim/common/setting_values.py:406 gajim/common/config.py:143 +#, fuzzy +msgid "Send message on Ctrl+Enter and make a new line with Enter." +msgstr "" +"Надсилати повідомлення за Ctrl+Enter, а за допомогою Enter розривати рядок " +"(типова поведінка клієнта Mirabilis ICQ)." + +#: gajim/common/setting_values.py:407 gajim/common/config.py:145 +#, fuzzy +msgid "How many lines to store for Ctrl+KeyUP (previously sent messages)." +msgstr "Кількість рядків, які слід зберігати для Ctrl+Стрілка_вгору." + +#: gajim/common/setting_values.py:409 gajim/common/config.py:148 +#, fuzzy, python-format +msgid "" +"Either a custom URL with %%s in it (where %%s is the word/phrase) or " +"'WIKTIONARY' (which means use Wikitionary)." +msgstr "" +"Або нетипова адреса url з підрядком %s, де %s — слово або фраза, або " +"'WIKTIONARY' (це означає, що слід використовувати службу wiktionary)." + +#: gajim/common/setting_values.py:412 gajim/common/config.py:151 +msgid "If checked, Gajim can be controlled remotely using gajim-remote." +msgstr "" +"Якщо позначено цей пункт, Gajim можна віддалено керувати за допомогою gajim-" +"remote." + +#: gajim/common/setting_values.py:413 +#, fuzzy +msgid "" +"When not printing time for every message ('print_time'==sometimes, print it " +"every x minutes." +msgstr "" +"Якщо не вказано, що програма має виводити час для кожного з повідомлень " +"(print_time==sometimes), виводити час кожні x хвилин." + +#: gajim/common/setting_values.py:414 gajim/common/config.py:153 +msgid "Ask before pasting an image." +msgstr "" + +#: gajim/common/setting_values.py:415 gajim/common/config.py:154 +msgid "Ask before closing a group chat tab/window." +msgstr "Запитувати перед закриттям вкладки або вікна групової балачки." + +#: gajim/common/setting_values.py:416 gajim/common/config.py:155 +#, fuzzy +msgid "" +"Ask before closing tabbed chat window if there are chats that can lose data " +"(chat, private chat, group chat that will not be minimized)." +msgstr "" +"Запитувати перед закриттям вікна розмови з вкладками, якщо це може призвести " +"до втрати даних (діалог, приватний діалог, групова розмова що не може бути " +"мінімізована)." + +#: gajim/common/setting_values.py:418 gajim/common/config.py:158 +#, fuzzy +msgid "" +"List of send hosts (comma separated) in addition to local interfaces for " +"file transfers (in case of address translation/port forwarding)." +msgstr "" +"Відокремлений комами список вузлів, який буде надіслано, окрім локальних " +"інтерфейсів, для передавання файлів у випадку трансляції адрес або " +"переспрямування портів." + +#: gajim/common/setting_values.py:419 gajim/common/config.py:159 +msgid "IEC standard says KiB = 1024 bytes, KB = 1000 bytes." +msgstr "Згідно до стандарту IEC: кіБ = 1024 байтам, кБ = 1000 байтам." + +#: gajim/common/setting_values.py:421 gajim/common/config.py:161 +msgid "Notify of events in the notification area." +msgstr "Сповіщення про події у зоні сповіщень." + +#: gajim/common/setting_values.py:422 gajim/common/config.py:166 +msgid "Show tab when only one conversation?" +msgstr "Показувати вкладку за умови єдиної бесіди?" + +#: gajim/common/setting_values.py:423 gajim/common/config.py:167 +msgid "Show tabbed notebook border in chat windows?" +msgstr "Показувати бічну панель з вкладками у вікнах балачки?" + +#: gajim/common/setting_values.py:424 gajim/common/config.py:168 +msgid "Show close button in tab?" +msgstr "Показувати кнопку закриття на вкладці?" + +#: gajim/common/setting_values.py:425 gajim/common/config.py:169 +msgid "Preview new messages in notification popup?" +msgstr "" +"Здійснювати попередній перегляд нових повідомлень у виринаючому сповіщенні?" + +#: gajim/common/setting_values.py:426 gajim/common/config.py:172 +#, fuzzy +msgid "" +"A list of words (semicolon separated) that will be highlighted in group " +"chats." +msgstr "" +"Список відокремлених крапкою з комою слів, які буде виділено у групових " +"балачках." + +#: gajim/common/setting_values.py:427 gajim/common/config.py:174 +msgid "" +"If enabled, Gajim hides the contact list window when pressing the X button " +"instead of minimizing into the notification area." +msgstr "" + +#: gajim/common/setting_values.py:432 gajim/common/config.py:181 +#, fuzzy +msgid "" +"Define the position of avatars in the contact list. Can be 'left' or 'right'." +msgstr "Визначає позицію аватару у реєстрі. Можливі значення: left і right" + +#: gajim/common/setting_values.py:433 gajim/common/config.py:186 +#, fuzzy +msgid "Don't show contact list window in the system taskbar." +msgstr "Не показувати реєстр на системній панелі задач." + +#: gajim/common/setting_values.py:434 gajim/common/config.py:187 +#, fuzzy +msgid "" +"If enabled, Gajim makes the window flash (the default behaviour in most " +"Window Managers) when holding pending events." +msgstr "" +"Якщо цей параметр матиме значення «True» і у системі буде встановлено версії " +"GTK+ і PyGTK не старіші за 2.8, у разі наявності подій у черзі позначка " +"вікна програми почне блимати (типова поведінка у більшості менеджерів вікон)." + +#: gajim/common/setting_values.py:436 gajim/common/config.py:193 +#, fuzzy +msgid "If enabled, pressing Esc closes a tab/window." +msgstr "" +"Якщо цей параметр матиме значення «True», натискання клавіші escape " +"закриватиме вкладку або вікно програми." + +#: gajim/common/setting_values.py:437 gajim/common/config.py:194 +#, fuzzy +msgid "Hides the banner in a group chat window." +msgstr "Приховує підпис у вікні групової балачки" + +#: gajim/common/setting_values.py:438 gajim/common/config.py:195 +#, fuzzy +msgid "Hides the banner in a 1:1 chat window." +msgstr "Приховує підпис у вікні групової балачки" + +#: gajim/common/setting_values.py:439 gajim/common/config.py:196 +#, fuzzy +msgid "Hides the group chat participants list in a group chat window." +msgstr "Ховає список учасників групової балачки у вікні групової балачки." + +#: gajim/common/setting_values.py:440 gajim/common/config.py:197 +#, fuzzy +msgid "" +"In a chat, show the nickname at the beginning of a line only when it's not " +"the same person talking as in the previous message." +msgstr "" +"У балачках, показувати псевдонім на початку рядка повідомлення, лише якщо це " +"повідомлення не тої самої особи, якою було надіслано попереднє повідомлення." + +#: gajim/common/setting_values.py:441 gajim/common/config.py:198 +msgid "Indentation when using merge consecutive nickname." +msgstr "" +"Відступ за використання об’єднання послідовних повідомлень від однієї особи." + +#: gajim/common/setting_values.py:442 gajim/common/config.py:199 +#, fuzzy +msgid "" +"Ctrl+Tab switches to the next composing tab when there are no tabs with " +"messages pending." +msgstr "" +"Ctrl-Tab переводить до наступної вкладки створення повідомлення, якщо немає " +"непрочитаних." + +#: gajim/common/setting_values.py:443 gajim/common/config.py:200 +#, fuzzy +msgid "" +"Show a confirmation dialog to create metacontacts? Empty string means never " +"show the dialog." +msgstr "" +"Чи слід показувати діалогове вікно підтвердження блокування контактів? " +"Порожній рядок вказуватиме на те, що це діалогове вікно не слід показувати." + +#: gajim/common/setting_values.py:444 gajim/common/config.py:201 +#, fuzzy +msgid "" +"Show a confirmation dialog to block a contact? Empty string means never show " +"the dialog." +msgstr "" +"Чи слід показувати діалогове вікно підтвердження блокування контактів? " +"Порожній рядок вказуватиме на те, що це діалогове вікно не слід показувати." + +#: gajim/common/setting_values.py:445 gajim/common/config.py:202 +#, fuzzy +msgid "" +"If enabled, you will be able to set a negative priority to your account in " +"the Accounts window. BE CAREFUL, when you are logged in with a negative " +"priority, you will NOT receive any message from your server." +msgstr "" +"Якщо цей параметр матиме значення «True», ви зможете встановлювати від’ємне " +"значення пріоритету для вашого облікового запису у вікні зміни параметрів " +"облікового запису. БУДЬТЕ ОБЕРЕЖНІ за умови входу з від’ємним пріоритетом: у " +"такому разі ви НЕ отримуватимете повідомлень від вашого сервера." + +#: gajim/common/setting_values.py:446 gajim/common/config.py:203 +#, fuzzy +msgid "" +"If enabled, Gajim will show both the number of online and total contacts in " +"account rows as well as in group rows." +msgstr "" +"Якщо цей параметр матиме значення «True», Gajim показуватиме кількість " +"контактів у мережі і загальну кількість контактів у рядках облікових записів " +"і груп." + +#: gajim/common/setting_values.py:447 gajim/common/config.py:204 +#, fuzzy +msgid "" +"If enabled, Gajim will scroll and select the contact who sent you the last " +"message, if the chat window is not already opened." +msgstr "" +"Якщо цей параметр матиме значення «True», Gajim гортатиме список і обиратиме " +"у ньому контакт, яким вам було надіслано останнє повідомлення, якщо вікно " +"балачки ще не було відкрито." + +#: gajim/common/setting_values.py:448 gajim/common/config.py:205 +msgid "Time of inactivity needed before the change status window closes down." +msgstr "Час відсутності активності потрібний для закриття вікна зміни стану." + +#: gajim/common/setting_values.py:449 gajim/common/config.py:206 +msgid "" +"Maximum number of lines that are printed in conversations. Oldest lines are " +"cleared." +msgstr "" +"Максимальна кількість рядків, які буде показано протягом спілкування. " +"Застарілі рядки понад вказане число вилучатимуться." + +#: gajim/common/setting_values.py:450 gajim/common/config.py:208 +#, fuzzy +msgid "" +"If enabled, completion in group chats will be like a shell auto-completion." +msgstr "" +"Якщо Істино, доповнення у групових балачках будуть схожі на автодоповнення " +"командної оболонки." + +#: gajim/common/setting_values.py:451 gajim/common/config.py:217 +#, fuzzy +msgid "" +"If enabled, Gajim will try to use a STUN server when using Jingle. The one " +"in 'stun_server' option, or the one given by the XMPP server." +msgstr "" +"Якщо ввімкнено, Gajim спробує використати STUN-сервер для Jingle. Буде " +"використано значення параметру \"stun_server\", або отримане з серверу " +"Jabber." + +#: gajim/common/setting_values.py:452 gajim/common/config.py:218 +#, fuzzy +msgid "STUN server to use when using Jingle" +msgstr "Сервер STUN для використання з Jingle" + +#: gajim/common/setting_values.py:453 gajim/common/config.py:220 +#, fuzzy +msgid "If enabled, Gajim will ignore incoming attention requests ('wizz')." +msgstr "Якщо «Так», Gajim буде ігнорувати вхідні запити уваги (\"wizz\")." + +#: gajim/common/setting_values.py:454 gajim/common/config.py:221 +msgid "" +"If enabled, Gajim will reopen chat windows that were opened last time Gajim " +"was closed." +msgstr "" +"Якщо активовано, Gajim буде повторно відкривати вікна балачок, що були " +"відкриті минулого разу." + +#: gajim/common/setting_values.py:455 gajim/common/config.py:224 +msgid "If enabled, Gajim will execute XEP-0146 Commands." +msgstr "" + +#: gajim/common/setting_values.py:458 gajim/common/config.py:236 +msgid "API Preferences. Possible values: 'http', 'iq'" +msgstr "" + +#: gajim/common/setting_values.py:459 gajim/common/config.py:237 +msgid "If enabled, Gajim will execute commands (/show, /sh, /execute, /exec)." +msgstr "" + +#: gajim/common/setting_values.py:460 gajim/common/config.py:238 +msgid "Width of group chat roster in pixel" +msgstr "" + +#: gajim/common/setting_values.py:461 gajim/common/config.py:239 +#, fuzzy +msgid "Force Bookmark 2 usage" +msgstr "Зробити закладку на цій кімнаті" + +#: gajim/common/multimedia_helpers.py:51 +#, fuzzy +msgid "Default device" +msgstr "Типовий пристрій" + +#: gajim/common/multimedia_helpers.py:72 +msgid "Audio test" +msgstr "Тест аудіо" + +#: gajim/common/multimedia_helpers.py:75 gajim/common/multimedia_helpers.py:91 +#: gajim/common/multimedia_helpers.py:105 +msgid "Autodetect" +msgstr "Автовизначення" + +#: gajim/common/multimedia_helpers.py:78 gajim/common/multimedia_helpers.py:93 +#, python-format +msgid "ALSA: %s" +msgstr "ALSA: %s" + +#: gajim/common/multimedia_helpers.py:81 gajim/common/multimedia_helpers.py:95 +#, python-format +msgid "Pulse: %s" +msgstr "Пульс: %s" + +#: gajim/common/multimedia_helpers.py:89 +msgid "Fake audio output" +msgstr "Фальшивий вихід аудіо" + +#: gajim/common/multimedia_helpers.py:102 +msgid "Video test" +msgstr "Тест відео" + +#: gajim/common/multimedia_helpers.py:107 +msgid "Pipewire" +msgstr "" + +#: gajim/common/multimedia_helpers.py:109 +#, python-format +msgid "V4L2: %s" +msgstr "V4L2: %s" + +#: gajim/common/multimedia_helpers.py:111 +msgid "X11" +msgstr "" + +#: gajim/common/multimedia_helpers.py:113 +msgid "Windows" +msgstr "" + +#: gajim/common/multimedia_helpers.py:115 +msgid "macOS" +msgstr "" + +#: gajim/common/helpers.py:176 +msgid "_Busy" +msgstr "_Зайнятий" + +#: gajim/common/helpers.py:178 +msgid "Busy" +msgstr "Зайнятий" + +#: gajim/common/helpers.py:181 +msgid "_Not Available" +msgstr "_Не доступний" + +#: gajim/common/helpers.py:183 +msgid "Not Available" +msgstr "Дуже далеко" + +#: gajim/common/helpers.py:186 +msgid "_Free for Chat" +msgstr "_Вільний для балачки" + +#: gajim/common/helpers.py:188 +msgid "Free for Chat" +msgstr "Вільний для балачки" + +#: gajim/common/helpers.py:191 +msgid "?user status:_Available" +msgstr "?стан користувача:_Доступний" + +#: gajim/common/helpers.py:193 +msgid "?user status:Available" +msgstr "?стан користувача:Доступний" + +#: gajim/common/helpers.py:195 +msgid "Connecting" +msgstr "Виконується з'єднання" + +#: gajim/common/helpers.py:198 +msgid "A_way" +msgstr "В_ідійшов" + +#: gajim/common/helpers.py:203 +msgid "_Offline" +msgstr "_Поза мережею" + +#: gajim/common/helpers.py:205 +msgid "Offline" +msgstr "Поза мережею" + +#: gajim/common/helpers.py:209 +msgid "?contact has status:Unknown" +msgstr "?стан контакту:Невідомий" + +#: gajim/common/helpers.py:211 +msgid "?contact has status:Has errors" +msgstr "?стан контакту:З помилками" + +#: gajim/common/helpers.py:216 +msgid "?Subscription we already have:None" +msgstr "?Підписка яку ми вже маємо:Жодної" + +#: gajim/common/helpers.py:218 +msgid "To" +msgstr "До" + +#: gajim/common/helpers.py:220 gajim/data/gui/groups_post_window.ui:33 +msgid "From" +msgstr "Від" + +#: gajim/common/helpers.py:222 +msgid "Both" +msgstr "Обидва" + +#: gajim/common/helpers.py:230 +msgid "?Ask (for Subscription):None" +msgstr "?Запит (на підписку):Немає" + +#: gajim/common/helpers.py:232 +msgid "Subscribe" +msgstr "Підписатися" + +#: gajim/common/helpers.py:244 +msgid "?Group Chat Contact Role:None" +msgstr "?Роль у груповій балачці:Немає" + +#: gajim/common/helpers.py:247 +msgid "Moderators" +msgstr "Модератори" + +#: gajim/common/helpers.py:249 +msgid "Moderator" +msgstr "Модератор" + +#: gajim/common/helpers.py:252 gajim/data/gui/groupchat_info_scrolled.ui:182 +msgid "Participants" +msgstr "Учасники" + +#: gajim/common/helpers.py:254 +msgid "Participant" +msgstr "Учасник" + +#: gajim/common/helpers.py:257 +msgid "Visitors" +msgstr "Відвідувачі" + +#: gajim/common/helpers.py:259 +msgid "Visitor" +msgstr "Відвідувач" + +#: gajim/common/helpers.py:268 +msgid "?Group Chat Contact Affiliation:None" +msgstr "?Членство контакту у груповій балачці:Жодного" + +#: gajim/common/helpers.py:271 +#, fuzzy +msgid "Owners" +msgstr "Власник" + +#: gajim/common/helpers.py:273 gajim/data/gui/groupchat_config.ui:32 +msgid "Owner" +msgstr "Власник" + +#: gajim/common/helpers.py:276 +#, fuzzy +msgid "Administrators" +msgstr "Адміністратор" + +#: gajim/common/helpers.py:278 +msgid "Administrator" +msgstr "Адміністратор" + +#: gajim/common/helpers.py:281 +#, fuzzy +msgid "Members" +msgstr "Учасник" + +#: gajim/common/helpers.py:320 +msgid "is paying attention to the conversation" +msgstr "спілкується" + +#: gajim/common/helpers.py:322 +msgid "is doing something else" +msgstr "робить щось інше" + +#: gajim/common/helpers.py:324 +#, fuzzy +msgid "is composing a message…" +msgstr "пише повідомлення..." + +#: gajim/common/helpers.py:327 +msgid "paused composing a message" +msgstr "призупинив (призупинила) створення повідомлення" + +#: gajim/common/helpers.py:329 +msgid "has closed the chat window or tab" +msgstr "закрив (закрила) вікно або вкладку балачки" + +#: gajim/common/helpers.py:719 gajim/common/helpers.py:727 +#, python-format +msgid "%d message pending" +msgid_plural "%d messages pending" +msgstr[0] "у черзі %d повідомлення" +msgstr[1] "у черзі %d повідомлення" +msgstr[2] "у черзі %d повідомлень" + +#: gajim/common/helpers.py:736 +#, python-format +msgid "from group chat %s" +msgstr "у групових балачках %s" + +#: gajim/common/helpers.py:739 gajim/common/helpers.py:760 +#, fuzzy, python-format +msgid "from user %s" +msgstr " від користувача %s" + +#: gajim/common/helpers.py:741 +#, fuzzy, python-format +msgid "from %s" +msgstr " від %s" + +#: gajim/common/helpers.py:747 gajim/common/helpers.py:755 +#, python-format +msgid "%d event pending" +msgid_plural "%d events pending" +msgstr[0] "у черзі %d подія" +msgstr[1] "у черзі %d події" +msgstr[2] "у черзі %d подій" + +#: gajim/common/helpers.py:828 gajim/data/gui/add_new_contact_window.ui:20 +msgid "I would like to add you to my contact list." +msgstr "Я хочу додати вас до мого списку контактів." + +#: gajim/common/helpers.py:830 +msgid "Hello, I am $name." +msgstr "Привіт, я $name." + +#: gajim/common/config.py:71 +#, fuzzy +msgid "Play sound even when being busy." +msgstr "Програвати звук, коли користувач зайнятий" + +#: gajim/common/config.py:73 +#, fuzzy +msgid "Show only online and free for chat contacts in the contact list." +msgstr "Показувати лише користувачів в мережі або бажаючих спілкуватись" + +#: gajim/common/config.py:76 +msgid "Time in minutes, after which your status changes to away." +msgstr "Час у хвилинах, за який ваш стан буде змінено на «відсутній»." + +#: gajim/common/config.py:77 +#, fuzzy +msgid "$S (Away: Idle more than $T min)" +msgstr "" +"$S (Позначено як «відсутній» через відсутність активності протягом $T хв)" + +#: gajim/common/config.py:77 +#, fuzzy +msgid "" +"$S will be replaced by current status message, $T by the 'autoawaytime' " +"value." +msgstr "" +"$S буде замінено поточним повідомленням про стан, $T — часом автоматичного " +"виявлення відсутності." + +#: gajim/common/config.py:79 +msgid "Time in minutes, after which your status changes to not available." +msgstr "Час у хвилинах, за який ваш стан буде змінено на «недоступний»." + +#: gajim/common/config.py:80 +#, fuzzy +msgid "$S (Not available: Idle more than $T min)" +msgstr "" +"$S (Позначено як «недоступний» через відсутність активності протягом $T хв)" + +#: gajim/common/config.py:80 +#, fuzzy +msgid "" +"$S will be replaced by current status message, $T by the 'autoxatime' value." +msgstr "" +"$S буде замінено поточним повідомленням про стан, $T — часом автоматичного " +"виявлення недоступності." + +#: gajim/common/config.py:83 +#, fuzzy +msgid "" +"When to show the notification area icon. Can be 'never', 'on_event', and " +"'always'." +msgstr "" +"Коли показувати піктограму у зоні сповіщень. Можливі варіанти ніколи " +"(never), при події (on_event) та завжди (always)." + +#: gajim/common/config.py:87 +#, fuzzy +msgid "" +"List of rows (accounts and groups) that are collapsed (space separated)." +msgstr "" +"Список (відокремлених комами) рядків (облікових записів і груп), які буде " +"згорнуто." + +#: gajim/common/config.py:94 gajim/common/config.py:335 +#: gajim/common/config.py:342 +#, fuzzy +msgid "Language used for spell checking." +msgstr "Мова, яку використовуватиме інструмент перевірки правопису" + +#: gajim/common/config.py:97 +msgid "When enabled, ASCII emojis will be converted to graphical emojis." +msgstr "" + +#: gajim/common/config.py:152 +#, fuzzy +msgid "" +"When not printing time for every message ('print_time'==sometimes), print it " +"every x minutes." +msgstr "" +"Якщо не вказано, що програма має виводити час для кожного з повідомлень " +"(print_time==sometimes), виводити час кожні x хвилин." + +#: gajim/common/config.py:173 +#, fuzzy +msgid "" +"If enabled, Gajim quits when clicking the X button of your Window Manager. " +"This setting is taken into account only if the notification area icon is " +"used." +msgstr "" +"Якщо має значення «True», роботу Gajim буде завершено після натискання " +"кнопки з позначкою «X» у менеджері вікон. Цей параметр братиметься до уваги, " +"лише якщо використовується піктограма лотка." + +#: gajim/common/config.py:175 +#, fuzzy +msgid "" +"If enabled, Gajim will display the status message (if not empty) underneath " +"the contact name in the contact list window." +msgstr "" +"Якщо цей параметр матиме значення «True», Gajim показуватиме повідомлення " +"про стан, якщо це повідомлення не буде порожнім, для кожного з контактів під " +"іменем контакту у вікні реєстру." + +#: gajim/common/config.py:182 +#, fuzzy +msgid "" +"If disabled, Gajim will no longer print status messages in chats when a " +"contact changes their status (and/or their status message)." +msgstr "" +"Якщо цей параметр матиме значення «False», Gajim більше не буде виводити " +"рядок стану у балачках, коли контакт змінює свій стан і/або своє " +"повідомлення про стан." + +#: gajim/common/config.py:183 +#, fuzzy +msgid "" +"Default Setting: Show a status message for every join or leave in a group " +"chat." +msgstr "Не вдалося приєднатися до групової балачки" + +#: gajim/common/config.py:184 +#, fuzzy +msgid "" +"Default Setting: Show a status message for all status changes (away, dnd, " +"etc.) of users in a group chat." +msgstr "Не вдалося приєднатися до групової балачки" + +#: gajim/common/config.py:191 +#, fuzzy +msgid "" +"Controls the window where new messages are placed.\n" +"'always' - All messages are sent to a single window.\n" +"'always_with_roster' - Like 'always' but the messages are in a single window " +"along with the contact list.\n" +"'never' - All messages get their own window.\n" +"'peracct' - Messages for each account are sent to a specific window.\n" +"'pertype' - Each message type (e.g. chats vs. group chats) is sent to a " +"specific window." +msgstr "" +"Керує вікно, куди виводяться нові повідомлення.\n" +"'always' — всі повідомлення буде надіслано до єдиного вікна.\n" +"'always_with_roster' — те саме, що і 'always', але повідомлення буде " +"показано у єдиному вікні разом з реєстром.\n" +"'never' — кожне з повідомлень буде показано у окремому вікні.\n" +"'peracct' — повідомлення для кожного з облікових записів буде показано у " +"окремому вікні.\n" +"'pertype' — повідомлення буде розподілено за типом (наприклад, прості і " +"групові балачки) між окремими вікнами." + +#: gajim/common/config.py:192 +#, fuzzy +msgid "" +"Show contact list window on startup.\n" +"'always' - Always show contact list window.\n" +"'never' - Never show contact list window.\n" +"'last_state' - Restore last state of the contact list window." +msgstr "" +"Показувати реєстр при старті.\n" +"'always' - Завжди показувати реєстр.\n" +"'never' - Ніколи не показувати реєстр.\n" +"'last_state' - Відновити останній стан реєстру.ртсик" + +#: gajim/common/config.py:207 +#, fuzzy +msgid "" +"Valid URI schemes. Only schemes in this list will be accepted as 'real' URI " +"(mailto and xmpp are handled separately)." +msgstr "" +"Чинні схеми uri. «Справжніми» uri вважатимуться лише схеми вказані у списку. " +"(mailto і xmpp обробляються окремо)" + +#: gajim/common/config.py:212 +#, fuzzy +msgid "Optionally fix Jingle output video framerate. Example: 10/1 or 25/2." +msgstr "" +"Опціонально виправляти частоту кадрів вихідного відео Jingle. Приклад: 10/1 " +"або 25/2" + +#: gajim/common/config.py:213 +#, fuzzy +msgid "Optionally resize Jingle output video. Example: 320x240." +msgstr "Опціонально змінювати розмір вихідного відео Jingle. Приклад: 320х240" + +#: gajim/common/config.py:214 +msgid "If enabled, you will see your webcam's video stream as well." +msgstr "" + +#: gajim/common/config.py:219 +#, fuzzy +msgid "" +"Proxy used for all outgoing connections if the account does not have a " +"specific proxy configured." +msgstr "Проксі що використовується для усіх вихідних з’єднань не налаштовано" + +#: gajim/common/config.py:222 +#, fuzzy +msgid "" +"If enabled, Gajim will display an icon to show that sent messages have been " +"received by your contact." +msgstr "" +"Якщо буде позначено цей пункт, Gajim буде показувати піктограму про " +"отримання повідомлення вашим співрозмовником." + +#: gajim/common/config.py:223 +#, fuzzy +msgid "" +"If enabled, Gajim will use the System's Keyring to store account passwords." +msgstr "" +"Якщо цей параметр матиме значення «True», Gajim використовуватиме Gnome " +"Keyring (за його наявності) для зберігання паролі облікових записів." + +#: gajim/common/config.py:225 +msgid "2: System, 1: Enabled, 0: Disabled" +msgstr "" + +#: gajim/common/config.py:226 +msgid "" +"Maximum history in days we request from a public group chat archive. 0: As " +"much as possible." +msgstr "" + +#: gajim/common/config.py:227 +msgid "" +"Maximum history in days we request from a private group chat archive. 0: As " +"much as possible." +msgstr "" + +#: gajim/common/config.py:228 +msgid "" +"If enabled, Gajim shows the group chat subject in the chat window when " +"joining." +msgstr "" + +#: gajim/common/config.py:229 +#, fuzzy +msgid "" +"If enabled, the contact row is colored according to the current chat state " +"of the contact." +msgstr "" +"Якщо буде позначено цей пункт, Gajim дозволить іншим визначати ваш місцевий " +"час" + +#: gajim/common/config.py:230 +#, fuzzy +msgid "" +"If enabled, the tab is colored according to the current chat state of the " +"contact." +msgstr "" +"Якщо буде позначено цей пункт, Gajim дозволить іншим визначати ваш місцевий " +"час" + +#: gajim/common/config.py:231 +#, fuzzy +msgid "" +"Shows a text in the banner that describes the current chat state of the " +"contact." +msgstr "" +"Якщо буде позначено цей пункт, Gajim дозволить іншим визначати ваш місцевий " +"час" + +#: gajim/common/config.py:232 +#, fuzzy +msgid "" +"Chat state notifications that are sent to contacts. Possible values: all, " +"composing_only, disabled" +msgstr "" +"Надсилати сповіщення про стан балачки. Може мати значення all, " +"composing_only, disabled." + +#: gajim/common/config.py:233 +#, fuzzy +msgid "" +"Chat state notifications that are sent to the group chat. Possible values: " +"'all', 'composing_only', 'disabled'" +msgstr "" +"Надсилати сповіщення про стан балачки. Може мати значення all, " +"composing_only, disabled." + +#: gajim/common/config.py:240 +msgid "Shows an info bar with helpful hints in the Start / Join Chat dialog" +msgstr "" + +#: gajim/common/config.py:242 +msgid "Date of the last update check" +msgstr "" + +#: gajim/common/config.py:260 +#, fuzzy +msgid "" +"Priority will change automatically according to your status. Priorities are " +"defined in 'autopriority_*' options." +msgstr "" +"Пріоритет автоматично змінюватиметься залежно від вашого стану. Пріоритети " +"визначаються за допомогою параметрів autopriority_*." + +#: gajim/common/config.py:267 +#, fuzzy +msgid "If enabled, the last status will be restored." +msgstr "Якщо увімкнено, відновлювати попередній використаний стан." + +#: gajim/common/config.py:268 +#, fuzzy +msgid "" +"If enabled, contacts requesting authorization will be accepted automatically." +msgstr "Якщо Істино, усі запити авторизації буде автоматично задоволено." + +#: gajim/common/config.py:269 +#, fuzzy +msgid "" +"If disabled, this account will be disabled and will not appear in the " +"contact list window." +msgstr "" +"Якщо цей параметр матиме значення «False», обліковий запис буде вимкнено та " +"не буде відображатись у вікні реєстру." + +#: gajim/common/config.py:278 +msgid "ConnectionType: START TLS, DIRECT TLS or PLAIN" +msgstr "" + +#: gajim/common/config.py:280 +#, fuzzy +msgid "" +"List of XMPP Addresses (space separated) for which you do not want to store " +"chat history. You can also add the name of an account to disable storing " +"chat history for this account." +msgstr "" +"Ідентифікатори JID розділені пробілами, для яких ви не бажаєте зберігати " +"журнали. Ви можете також додати назву облікового запису для якого не буде " +"вестись журналювання." + +#: gajim/common/config.py:285 +#, fuzzy +msgid "" +"If enabled, Gajim will use your IP and proxies defined in " +"'file_transfer_proxies' option for file transfers." +msgstr "" +"Якщо буде позначено цей пункт, Gajim використовуватиме вашу IP-адресу і " +"проксі сервери, визначення параметром file_transfer_proxies, для передавання " +"файлів." + +#: gajim/common/config.py:286 +#, fuzzy +msgid "" +"If enabled, Gajim will test file transfer proxies on startup to be sure they " +"work. Openfire's proxies are known to fail this test even if they work." +msgstr "" +"Якщо увімкнено, Gajim буде тестувати проксі для надсилання файлів при " +"старті, щоб переконатись у їх працездатності. Openfire не проходить цей тест " +"навіть якщо працездатний." + +#: gajim/common/config.py:298 +#, fuzzy +msgid "If enabled, Gajim will answer to message receipt requests." +msgstr "" +"Якщо буде позначено цей пункт, Gajim буде показувати піктограму про " +"отримання повідомлення вашим співрозмовником." + +#: gajim/common/config.py:303 +msgid "" +"Allow Gajim to send information about the operating system you are running." +msgstr "" +"Дозволити Gajim надсилати інформацію, яку операційну систему ви " +"використовуєте" + +#: gajim/common/config.py:304 +msgid "Allow Gajim to send your local time." +msgstr "Дозволятии Gajim надсилати ваш локальний часд" + +#: gajim/common/config.py:307 +#, fuzzy +msgid "Message that is sent to contacts you want to add." +msgstr "Повідомлення що буде надіслано контакту який ви бажаєте додати" + +#: gajim/common/config.py:308 +#, fuzzy +msgid "" +"If enabled, Gajim will send your local IP so your contact can connect to " +"your machine for file transfers." +msgstr "" +"Якщо увімкнено, Gajim надішле ваш локальний IP щоб контакт міг з’єднатись та " +"надіслати вам файли." + +#: gajim/common/config.py:309 +#, fuzzy +msgid "" +"List of XMPP Addresses (space separated) for which the chat window will be " +"re-opened on next startup." +msgstr "" +"Розділений пробілами перелік ідентифікаторів JID для яких ви хочете " +"відкривати вікно балачки при наступному запуску." + +#: gajim/common/config.py:311 +msgid "" +"Preferred file transfer mechanism for file drag&drop on a chat window. Can " +"be 'httpupload' (default) or 'jingle'." +msgstr "" + +#: gajim/common/config.py:312 +msgid "Allow certificate verification with POSH." +msgstr "Перевірка сертифіката SSL за допомогою POSH." + +#: gajim/common/config.py:336 +#, fuzzy +msgid "" +"Chat state notifications that are sent to contacts. Possible values: 'all', " +"'composing_only', 'disabled'" +msgstr "" +"Надсилати сповіщення про стан балачки. Може мати значення all, " +"composing_only, disabled." + +#: gajim/common/config.py:339 +#, fuzzy +msgid "The currently active encryption for that contact." +msgstr "Увімкнути шифрування ESession для цього облікового запису." + +#: gajim/common/config.py:343 +msgid "" +"If enabled, a notification is created for every message in this group chat." +msgstr "" + +#: gajim/common/config.py:344 +#, fuzzy +msgid "" +"Show a status message for all status changes (away, dnd, etc.) of users in a " +"group chat." +msgstr "Не вдалося приєднатися до групової балачки" + +#: gajim/common/config.py:345 +#, fuzzy +msgid "Show a status message for every join or leave in a group chat." +msgstr "Не вдалося приєднатися до групової балачки" + +#: gajim/common/config.py:346 +msgid "" +"If enabled, the group chat is minimized into the contact list when joining " +"automatically." +msgstr "" + +#: gajim/common/config.py:347 +msgid "" +"If enabled, the group chat is minimized into the contact list when closing " +"it." +msgstr "" + +#: gajim/common/config.py:348 +#, fuzzy +msgid "" +"Chat state notifications that are sent to the group chat. Possible values: " +"'all', 'composing_only' or 'disabled'." +msgstr "" +"Надсилати сповіщення про стан балачки. Може мати значення all, " +"composing_only, disabled." + +#: gajim/common/config.py:351 +#, fuzzy +msgid "" +"If enabled, plugins will be activated on startup (this is saved when exiting " +"Gajim). This option SHOULD NOT be used to (de)activate plugins. Use the " +"plugin window instead." +msgstr "" +"Стан коли додатки мають бути активовані при виході (це зберігається при " +"виході з Gajim). Ця опція НЕ ПОВИННА бути використана для (де)активації " +"додатків. Використовуйте для цього графічний інтерфейс користувача." + +#: gajim/common/config.py:358 +#, fuzzy +msgid "I'm eating." +msgstr "Я працюю." + +#: gajim/common/config.py:359 +msgid "I'm watching a movie." +msgstr "Я дивлюся відео." + +#: gajim/common/config.py:360 +msgid "I'm working." +msgstr "Я працюю." + +#: gajim/common/config.py:361 +msgid "Phone" +msgstr "Телефон" + +#: gajim/common/config.py:361 +msgid "I'm on the phone." +msgstr "Я розмовляю телефоном." + +#: gajim/common/config.py:362 +msgid "I'm out enjoying life." +msgstr "Я насолоджуюся життям." + +#: gajim/common/config.py:373 +#, fuzzy +msgid "" +"Sound to play when a group chat message contains one of the words in " +"'muc_highlight_words' or your nickname is mentioned." +msgstr "" +"Звук, який слід відтворити, якщо повідомлення групової балачки містить одне " +"зі слів, вказаних за допомогою параметра muc_highlight_words, або якщо " +"повідомлення групової балачки містить ваш псевдонім." + +#: gajim/common/config.py:374 +#, fuzzy +msgid "Sound to play when any group chat message arrives." +msgstr "Звук, який буде відтворено за появи повідомлення групової балачки." + +#: gajim/common/config.py:378 +msgid "Tor" +msgstr "Tor" + +#: gajim/common/exceptions.py:45 +#, fuzzy, python-format +msgid "" +"The database file (%s) cannot be read. Try to repair it (see https://dev." +"gajim.org/gajim/gajim/wikis/help/DatabaseBackup) or remove it (all history " +"will be lost)." +msgstr "" +"Файл бази даних (%s) непридатний для читання. Спробуйте виправити його (див. " +"http://trac.gajim.org/wiki/DatabaseBackup) або вилучити його (всі журнали " +"буде втрачено)." + +#: gajim/common/exceptions.py:59 +msgid "Service not available: Gajim is not running, or remote_control is False" +msgstr "" +"Служба недоступна: Gajim не запущено або встановлено значення «False» для " +"параметра remote_control" + +#: gajim/common/exceptions.py:81 +#, python-format +msgid "" +"Session bus is not available.\n" +"Try reading %(url)s" +msgstr "" +"Шина сеансів недоступна.\n" +"Спробуйте ознайомитися з %(url)s" + +#: gajim/common/exceptions.py:93 +#, python-format +msgid "" +"System bus is not available.\n" +"Try reading %(url)s" +msgstr "" +"Шина системи недоступна.\n" +"Спробуйте ознайомитися з %(url)s" + +#: gajim/common/optparser.py:54 +#, python-format +msgid "Error: cannot open %s for reading" +msgstr "Помилка: не вдалося відкрити %s для читання" + +#: gajim/common/configpaths.py:84 +#, python-format +msgid "%s is a file but it should be a directory" +msgstr "%s є файлом, а має бути каталогом" + +#: gajim/common/configpaths.py:85 +msgid "Gajim will now exit" +msgstr "Зараз Gajim завершить роботу" + +#: gajim/common/connection_handlers_events.py:242 +#: gajim/common/connection_handlers_events.py:342 +#, fuzzy, python-format +msgid "New message from %(nickname)s" +msgid_plural "%(n_msgs)i unread messages from %(nickname)s" +msgstr[0] "Нове повідомлення від %(nickname)s" +msgstr[1] "Нове повідомлення від %(nickname)s" +msgstr[2] "Нове повідомлення від %(nickname)s" + +#: gajim/common/connection_handlers_events.py:412 +#, python-format +msgid "%(nick)s Changed Status" +msgstr "%(nick)s змінив стан" + +#: gajim/common/const.py:287 +#, fuzzy +msgid "?Group chat name:Team" +msgstr "?Роль у груповій балачці:Немає" + +#: gajim/common/const.py:288 +msgid "?Group chat description:Project discussion" +msgstr "" + +#: gajim/common/const.py:289 +#, fuzzy +msgid "?Group chat address:team" +msgstr "Групові балачки" + +#: gajim/common/const.py:290 +#, fuzzy +msgid "?Group chat name:Family" +msgstr "Виділення повідомлення групової балачки:" + +#: gajim/common/const.py:291 +msgid "?Group chat description:Spring gathering" +msgstr "" + +#: gajim/common/const.py:292 +msgid "?Group chat address:family" +msgstr "" + +#: gajim/common/const.py:293 +#, fuzzy +msgid "?Group chat name:Vacation" +msgstr "Запрошення до групової балачки" + +#: gajim/common/const.py:294 +msgid "?Group chat description:Trip planning" +msgstr "" + +#: gajim/common/const.py:295 +#, fuzzy +msgid "?Group chat address:vacation" +msgstr "Запрошення до групової балачки" + +#: gajim/common/const.py:296 +#, fuzzy +msgid "?Group chat name:Repairs" +msgstr "_Групова балачка" + +#: gajim/common/const.py:297 +msgid "?Group chat description:Local help group" +msgstr "" + +#: gajim/common/const.py:298 +#, fuzzy +msgid "?Group chat address:repairs" +msgstr "Групові балачки" + +#: gajim/common/const.py:299 +#, fuzzy +msgid "?Group chat name:News" +msgstr "?Роль у груповій балачці:Немає" + +#: gajim/common/const.py:300 +#, fuzzy +msgid "?Group chat description:Local news and reports" +msgstr "Можливість створення групових балачок обмежено." + +#: gajim/common/const.py:301 +#, fuzzy +msgid "?Group chat address:news" +msgstr "Створити групову балачку" + +#: gajim/common/const.py:306 +#, fuzzy +msgid "Remote server not found" +msgstr "Не вдалося знайти службу" + +#: gajim/common/const.py:307 +msgid "Remote server timeout" +msgstr "" + +#: gajim/common/const.py:308 gajim/common/const.py:309 +#: gajim/common/const.py:310 +msgid "Address does not belong to a group chat server" +msgstr "Адреса не належить серверові групових балачок" + +#: gajim/common/const.py:311 +#, fuzzy +msgid "Group chat already exists" +msgstr "Обліковий запис Local вже існує." + +#: gajim/common/const.py:312 +msgid "Group chat does not exist" +msgstr "Групової балачки не існує." + +#: gajim/common/const.py:313 +#, fuzzy +msgid "Group chat is closed" +msgstr "Історія групових балачок" + +#: gajim/common/const.py:319 +msgid "This message was encrypted with OTR and could not be decrypted." +msgstr "" + +#: gajim/common/const.py:322 +msgid "" +"This message was encrypted with Legacy OpenPGP and could not be decrypted. " +"You can install the PGP plugin to handle those messages." +msgstr "" + +#: gajim/common/const.py:326 +msgid "" +"This message was encrypted with OpenPGP for XMPP and could not be decrypted. " +"You can install the OpenPGP plugin to handle those messages." +msgstr "" + +#: gajim/common/const.py:330 +#, python-format +msgid "This message was encrypted with %s and could not be decrypted." +msgstr "" + +#: gajim/common/const.py:337 +msgid "Doing Chores" +msgstr "Займаюся повсякденною роботою" + +#: gajim/common/const.py:338 +msgid "Buying Groceries" +msgstr "Закуповую бакалію" + +#: gajim/common/const.py:339 +msgid "Cleaning" +msgstr "Прибираю" + +#: gajim/common/const.py:340 +msgid "Cooking" +msgstr "Куховарю" + +#: gajim/common/const.py:341 +msgid "Doing Maintenance" +msgstr "Роблю ремонт" + +#: gajim/common/const.py:342 +msgid "Doing the Dishes" +msgstr "Мию посуд" + +#: gajim/common/const.py:343 +msgid "Doing the Laundry" +msgstr "Перу" + +#: gajim/common/const.py:344 +msgid "Gardening" +msgstr "Займаюся садівництвом" + +#: gajim/common/const.py:345 +msgid "Running an Errand" +msgstr "У відрядженні" + +#: gajim/common/const.py:346 +msgid "Walking the Dog" +msgstr "Вигулюю собаку" + +#: gajim/common/const.py:348 +msgid "Drinking" +msgstr "Випиваю" + +#: gajim/common/const.py:349 +msgid "Having a Beer" +msgstr "П’ю пиво" + +#: gajim/common/const.py:350 +msgid "Having Coffee" +msgstr "П’ю каву" + +#: gajim/common/const.py:351 +msgid "Having Tea" +msgstr "П’ю чай" + +#: gajim/common/const.py:354 +msgid "Having a Snack" +msgstr "Їм" + +#: gajim/common/const.py:355 +msgid "Having Breakfast" +msgstr "Снідаю" + +#: gajim/common/const.py:356 +msgid "Having Dinner" +msgstr "Вечеряю" + +#: gajim/common/const.py:357 +msgid "Having Lunch" +msgstr "Обідаю" + +#: gajim/common/const.py:359 +msgid "Exercising" +msgstr "Вправляюся" + +#: gajim/common/const.py:360 gajim/common/const.py:411 +msgid "Cycling" +msgstr "Катаюся на велосипеді" + +#: gajim/common/const.py:361 +msgid "Dancing" +msgstr "Танцюю" + +#: gajim/common/const.py:362 +msgid "Hiking" +msgstr "Займаюся туризмом" + +#: gajim/common/const.py:363 +msgid "Jogging" +msgstr "Бігаю підтюпцем" + +#: gajim/common/const.py:364 +msgid "Playing Sports" +msgstr "Граю у спортивні ігри" + +#: gajim/common/const.py:365 +msgid "Running" +msgstr "Бігаю" + +#: gajim/common/const.py:366 +msgid "Skiing" +msgstr "Катаюся на лижах" + +#: gajim/common/const.py:367 +msgid "Swimming" +msgstr "Займаюся плаванням" + +#: gajim/common/const.py:368 +msgid "Working out" +msgstr "Ладнаю справи" + +#: gajim/common/const.py:370 +msgid "Grooming" +msgstr "Доглядаю за конем" + +#: gajim/common/const.py:371 +msgid "At the Spa" +msgstr "На гідромасажі" + +#: gajim/common/const.py:372 +msgid "Brushing Teeth" +msgstr "Чищу зуби" + +#: gajim/common/const.py:373 +msgid "Getting a Haircut" +msgstr "Стрижуся" + +#: gajim/common/const.py:374 +msgid "Shaving" +msgstr "Голюся" + +#: gajim/common/const.py:375 +msgid "Taking a Bath" +msgstr "Приймаю вану" + +#: gajim/common/const.py:376 +msgid "Taking a Shower" +msgstr "Приймаю душ" + +#: gajim/common/const.py:378 +msgid "Having an Appointment" +msgstr "На побаченні" + +#: gajim/common/const.py:380 +msgid "Inactive" +msgstr "Неактивний" + +#: gajim/common/const.py:381 +msgid "Day Off" +msgstr "Вихідний" + +#: gajim/common/const.py:382 +msgid "Hanging out" +msgstr "Тиняюся" + +#: gajim/common/const.py:383 +msgid "Hiding" +msgstr "Ховаюся" + +#: gajim/common/const.py:384 +msgid "On Vacation" +msgstr "У відпустці" + +#: gajim/common/const.py:385 +msgid "Praying" +msgstr "Молюся" + +#: gajim/common/const.py:386 +msgid "Scheduled Holiday" +msgstr "Запланований вихідний" + +#: gajim/common/const.py:388 +msgid "Thinking" +msgstr "Думаю" + +#: gajim/common/const.py:390 +msgid "Relaxing" +msgstr "Розслабляюся" + +#: gajim/common/const.py:391 +msgid "Fishing" +msgstr "Рибалю" + +#: gajim/common/const.py:392 +msgid "Gaming" +msgstr "Граюсь" + +#: gajim/common/const.py:393 +msgid "Going out" +msgstr "Гуляю" + +#: gajim/common/const.py:394 +msgid "Partying" +msgstr "Бере участь у вечірці" + +#: gajim/common/const.py:395 +msgid "Reading" +msgstr "Читаю" + +#: gajim/common/const.py:396 +msgid "Rehearsing" +msgstr "Репетирую" + +#: gajim/common/const.py:397 +msgid "Shopping" +msgstr "Роблю закупи" + +#: gajim/common/const.py:398 +msgid "Smoking" +msgstr "Курю" + +#: gajim/common/const.py:399 +msgid "Socializing" +msgstr "Спілкуюся" + +#: gajim/common/const.py:400 +msgid "Sunbathing" +msgstr "Засмагаю" + +#: gajim/common/const.py:401 +msgid "Watching TV" +msgstr "Дивлюся телевізор" + +#: gajim/common/const.py:402 +msgid "Watching a Movie" +msgstr "Дивиться кіно" + +#: gajim/common/const.py:404 +msgid "Talking" +msgstr "Розмовляю" + +#: gajim/common/const.py:405 +msgid "In Real Life" +msgstr "У реальному житті" + +#: gajim/common/const.py:406 +msgid "On the Phone" +msgstr "Розмовляю телефоном" + +#: gajim/common/const.py:407 +msgid "On Video Phone" +msgstr "Розмовляю відеотелефоном" + +#: gajim/common/const.py:409 +msgid "Traveling" +msgstr "Подорожую" + +#: gajim/common/const.py:410 +msgid "Commuting" +msgstr "Їду на роботу або з роботи" + +#: gajim/common/const.py:412 +msgid "Driving" +msgstr "Веду машину" + +#: gajim/common/const.py:413 +msgid "In a Car" +msgstr "У автомобілі" + +#: gajim/common/const.py:414 +msgid "On a Bus" +msgstr "У автобусі" + +#: gajim/common/const.py:415 +msgid "On a Plane" +msgstr "На літаку" + +#: gajim/common/const.py:416 +msgid "On a Train" +msgstr "У поїзді" + +#: gajim/common/const.py:417 +msgid "On a Trip" +msgstr "У мандрах" + +#: gajim/common/const.py:418 +msgid "Walking" +msgstr "На прогулянці" + +#: gajim/common/const.py:421 +msgid "Coding" +msgstr "Програмую" + +#: gajim/common/const.py:422 +msgid "In a Meeting" +msgstr "На зустрічі" + +#: gajim/common/const.py:423 +msgid "Studying" +msgstr "Вчуся" + +#: gajim/common/const.py:424 +msgid "Writing" +msgstr "Пишу" + +#: gajim/common/const.py:427 +msgid "Afraid" +msgstr "Зляканий" + +#: gajim/common/const.py:428 +msgid "Amazed" +msgstr "Зачарований" + +#: gajim/common/const.py:429 +msgid "Amorous" +msgstr "Закоханий" + +#: gajim/common/const.py:430 +msgid "Angry" +msgstr "Злий" + +#: gajim/common/const.py:431 +msgid "Annoyed" +msgstr "Роздратований" + +#: gajim/common/const.py:432 +msgid "Anxious" +msgstr "Стривожений" + +#: gajim/common/const.py:433 +msgid "Aroused" +msgstr "Збуджений" + +#: gajim/common/const.py:434 +msgid "Ashamed" +msgstr "Засоромлений" + +#: gajim/common/const.py:435 +msgid "Bored" +msgstr "Знудьгований" + +#: gajim/common/const.py:436 +msgid "Brave" +msgstr "Безстрашний" + +#: gajim/common/const.py:437 +msgid "Calm" +msgstr "Спокійний" + +#: gajim/common/const.py:438 +msgid "Cautious" +msgstr "Обережний" + +#: gajim/common/const.py:439 +msgid "Cold" +msgstr "Незворушний" + +#: gajim/common/const.py:440 +msgid "Confident" +msgstr "Впевнений" + +#: gajim/common/const.py:441 +msgid "Confused" +msgstr "Збентежений" + +#: gajim/common/const.py:442 +msgid "Contemplative" +msgstr "Задумливий" + +#: gajim/common/const.py:443 +msgid "Contented" +msgstr "Задоволений" + +#: gajim/common/const.py:444 +msgid "Cranky" +msgstr "Недужий" + +#: gajim/common/const.py:445 +msgid "Crazy" +msgstr "Шалений" + +#: gajim/common/const.py:446 +msgid "Creative" +msgstr "Творчий" + +#: gajim/common/const.py:447 +msgid "Curious" +msgstr "Допитливий" + +#: gajim/common/const.py:448 +msgid "Dejected" +msgstr "Пригнічений" + +#: gajim/common/const.py:449 +msgid "Depressed" +msgstr "Пригнічений" + +#: gajim/common/const.py:450 +msgid "Disappointed" +msgstr "Розчарований" + +#: gajim/common/const.py:451 +msgid "Disgusted" +msgstr "Відражений" + +#: gajim/common/const.py:452 +msgid "Dismayed" +msgstr "Нажаханий" + +#: gajim/common/const.py:453 +msgid "Distracted" +msgstr "Зніяковілий" + +#: gajim/common/const.py:454 +msgid "Embarrassed" +msgstr "Стурбований" + +#: gajim/common/const.py:455 +msgid "Envious" +msgstr "Сповнений заздрощів" + +#: gajim/common/const.py:456 +msgid "Excited" +msgstr "Захоплений" + +#: gajim/common/const.py:457 +msgid "Flirtatious" +msgstr "Кокетливий" + +#: gajim/common/const.py:458 +msgid "Frustrated" +msgstr "Зневірений" + +#: gajim/common/const.py:459 +msgid "Grateful" +msgstr "Дуже вдячний" + +#: gajim/common/const.py:460 +msgid "Grieving" +msgstr "Засмучений" + +#: gajim/common/const.py:461 +msgid "Grumpy" +msgstr "Сердитий" + +#: gajim/common/const.py:462 +msgid "Guilty" +msgstr "Винний" + +#: gajim/common/const.py:463 +msgid "Happy" +msgstr "Щасливий" + +#: gajim/common/const.py:464 +msgid "Hopeful" +msgstr "Сповнений надій" + +#: gajim/common/const.py:465 +msgid "Hot" +msgstr "Гарячий" + +#: gajim/common/const.py:466 +msgid "Humbled" +msgstr "Скромний" + +#: gajim/common/const.py:467 +msgid "Humiliated" +msgstr "Принижений" + +#: gajim/common/const.py:468 +msgid "Hungry" +msgstr "Голодний" + +#: gajim/common/const.py:469 +msgid "Hurt" +msgstr "Поранений" + +#: gajim/common/const.py:470 +msgid "Impressed" +msgstr "Вражений" + +#: gajim/common/const.py:471 +msgid "In Awe" +msgstr "Пригнічений величчю" + +#: gajim/common/const.py:472 +msgid "In Love" +msgstr "Закоханий" + +#: gajim/common/const.py:473 +msgid "Indignant" +msgstr "Обурений" + +#: gajim/common/const.py:474 +msgid "Interested" +msgstr "Зацікавлений" + +#: gajim/common/const.py:475 +msgid "Intoxicated" +msgstr "Отруєний" + +#: gajim/common/const.py:476 +msgid "Invincible" +msgstr "Невидимий" + +#: gajim/common/const.py:477 +msgid "Jealous" +msgstr "Заздрісний" + +#: gajim/common/const.py:478 +msgid "Lonely" +msgstr "Одинокий" + +#: gajim/common/const.py:479 +msgid "Lost" +msgstr "Втрачений" + +#: gajim/common/const.py:480 +msgid "Lucky" +msgstr "Щасливий" + +#: gajim/common/const.py:481 +msgid "Mean" +msgstr "Жалюгідний" + +#: gajim/common/const.py:482 +msgid "Moody" +msgstr "Смутний" + +#: gajim/common/const.py:483 +msgid "Nervous" +msgstr "Знервований" + +#: gajim/common/const.py:484 +msgid "Neutral" +msgstr "Нейтральний" + +#: gajim/common/const.py:485 +msgid "Offended" +msgstr "Ображений" + +#: gajim/common/const.py:486 +msgid "Outraged" +msgstr "Обурений" + +#: gajim/common/const.py:487 +msgid "Playful" +msgstr "Грайливий" + +#: gajim/common/const.py:488 +msgid "Proud" +msgstr "Гордий" + +#: gajim/common/const.py:489 +msgid "Relaxed" +msgstr "Розслаблений" + +#: gajim/common/const.py:490 +msgid "Relieved" +msgstr "Врятований" + +#: gajim/common/const.py:491 +msgid "Remorseful" +msgstr "Співчутливий" + +#: gajim/common/const.py:492 +msgid "Restless" +msgstr "Нетерплячий" + +#: gajim/common/const.py:493 +msgid "Sad" +msgstr "Сумний" + +#: gajim/common/const.py:494 +msgid "Sarcastic" +msgstr "Саркастичний" + +#: gajim/common/const.py:495 +msgid "Satisfied" +msgstr "Вдоволений" + +#: gajim/common/const.py:496 +msgid "Serious" +msgstr "Серйозний" + +#: gajim/common/const.py:497 +msgid "Shocked" +msgstr "Шокований" + +#: gajim/common/const.py:498 +msgid "Shy" +msgstr "Сором’язливий" + +#: gajim/common/const.py:499 +msgid "Sick" +msgstr "Хворий" + +#: gajim/common/const.py:500 +msgid "Sleepy" +msgstr "Сонний" + +#: gajim/common/const.py:501 +msgid "Spontaneous" +msgstr "Непередбачуваний" + +#: gajim/common/const.py:502 +msgid "Stressed" +msgstr "Напружений" + +#: gajim/common/const.py:503 +msgid "Strong" +msgstr "Сильний" + +#: gajim/common/const.py:504 +msgid "Surprised" +msgstr "Здивований" + +#: gajim/common/const.py:505 +msgid "Thankful" +msgstr "Вдячний" + +#: gajim/common/const.py:506 +msgid "Thirsty" +msgstr "Спраглий" + +#: gajim/common/const.py:507 +msgid "Tired" +msgstr "Втомлений" + +#: gajim/common/const.py:508 +msgid "Undefined" +msgstr "Непевний" + +#: gajim/common/const.py:509 +msgid "Weak" +msgstr "Слабкий" + +#: gajim/common/const.py:510 +msgid "Worried" +msgstr "Занепокоєний" + +#: gajim/common/const.py:514 +msgid "accuracy" +msgstr "точність" + +#: gajim/common/const.py:515 +msgid "alt" +msgstr "висота" + +#: gajim/common/const.py:516 +msgid "area" +msgstr "зона" + +#: gajim/common/const.py:517 +msgid "bearing" +msgstr "пеленг" + +#: gajim/common/const.py:518 +msgid "building" +msgstr "будівля" + +#: gajim/common/const.py:519 +msgid "country" +msgstr "країні" + +#: gajim/common/const.py:520 +msgid "countrycode" +msgstr "код країни" + +#: gajim/common/const.py:521 +msgid "datum" +msgstr "характеристика" + +#: gajim/common/const.py:522 +msgid "description" +msgstr "опис" + +#: gajim/common/const.py:523 +msgid "error" +msgstr "помилка" + +#: gajim/common/const.py:524 +msgid "floor" +msgstr "поверх" + +#: gajim/common/const.py:525 +msgid "lat" +msgstr "широта" + +#: gajim/common/const.py:526 +msgid "locality" +msgstr "місцевість" + +#: gajim/common/const.py:527 +msgid "lon" +msgstr "довгота" + +#: gajim/common/const.py:528 +msgid "postalcode" +msgstr "поштовий індекс" + +#: gajim/common/const.py:529 +msgid "region" +msgstr "регіон" + +#: gajim/common/const.py:530 +msgid "room" +msgstr "кімната" + +#: gajim/common/const.py:531 +msgid "speed" +msgstr "швидкість" + +#: gajim/common/const.py:532 +msgid "street" +msgstr "вулиця" + +#: gajim/common/const.py:533 +msgid "text" +msgstr "текст" + +#: gajim/common/const.py:534 +msgid "timestamp" +msgstr "мітка часу" + +#: gajim/common/const.py:535 +msgid "URI" +msgstr "" + +#: gajim/common/const.py:540 +msgid "Unable to get issuer certificate" +msgstr "Не вдається отримати сертифікат видавця" + +#: gajim/common/const.py:541 +msgid "Unable to get certificate CRL" +msgstr "Не вдалося отримати список відкликаних сертифікатів" + +#: gajim/common/const.py:542 +msgid "Unable to decrypt certificate's signature" +msgstr "Не вдалося розшифрувати підпис сертифікату" + +#: gajim/common/const.py:543 +msgid "Unable to decrypt CRL's signature" +msgstr "Не вдалося розшифрувати підпис списку відкликаних сертифікатів" + +#: gajim/common/const.py:544 +msgid "Unable to decode issuer public key" +msgstr "Не вдалося декодувати відкритий ключ видавця" + +#: gajim/common/const.py:545 +msgid "Certificate signature failure" +msgstr "Помилка під час підписування сертифіката" + +#: gajim/common/const.py:546 +msgid "CRL signature failure" +msgstr "Помилка під час роботи з підписом списку відкликаних сертифікатів" + +#: gajim/common/const.py:547 +msgid "Certificate is not yet valid" +msgstr "Сертифікат ще не набув чинності" + +#: gajim/common/const.py:548 +msgid "Certificate has expired" +msgstr "Строк дії сертифікату завершився!" + +#: gajim/common/const.py:549 +msgid "CRL is not yet valid" +msgstr "Строк дії CRL ще не почався" + +#: gajim/common/const.py:550 +msgid "CRL has expired" +msgstr "Строк дії CRL завершився" + +#: gajim/common/const.py:551 +msgid "Format error in certificate's notBefore field" +msgstr "Помилка форматування у полі сертифіката notBefore" + +#: gajim/common/const.py:552 +msgid "Format error in certificate's notAfter field" +msgstr "Помилка форматування у полі сертифіката notAfter" + +#: gajim/common/const.py:553 +msgid "Format error in CRL's lastUpdate field" +msgstr "Помилка форматування у полі сертифіката lastUpdate" + +#: gajim/common/const.py:554 +msgid "Format error in CRL's nextUpdate field" +msgstr "Помилка форматування у полі сертифіката nextUpdate" + +#: gajim/common/const.py:555 +msgid "Out of memory" +msgstr "Не вистачає пам'яті" + +#: gajim/common/const.py:556 +msgid "Self signed certificate" +msgstr "Сертифікат є самопідписаним" + +#: gajim/common/const.py:557 +msgid "Self signed certificate in certificate chain" +msgstr "Самопідписаний сертифікат у ланцюжку сертифікатів" + +#: gajim/common/const.py:558 +msgid "Unable to get local issuer certificate" +msgstr "Не вдалося отримати сертифікат локального видавця" + +#: gajim/common/const.py:559 +msgid "Unable to verify the first certificate" +msgstr "Не вдалося перевірити перший сертифікат" + +#: gajim/common/const.py:560 +msgid "Certificate chain too long" +msgstr "Ланцюжок сертифіката занадто великий" + +#: gajim/common/const.py:561 +msgid "Certificate revoked" +msgstr "Сертифікат відкликано" + +#: gajim/common/const.py:562 +msgid "Invalid CA certificate" +msgstr "Некоректний сертифікат CA" + +#: gajim/common/const.py:563 +msgid "Path length constraint exceeded" +msgstr "Перевищення обмеження на довжину адреси" + +#: gajim/common/const.py:564 +msgid "Unsupported certificate purpose" +msgstr "Непідтримуване призначення сертифіката" + +#: gajim/common/const.py:565 +msgid "Certificate not trusted" +msgstr "Сертифікат є недостовірним" + +#: gajim/common/const.py:566 +msgid "Certificate rejected" +msgstr "Сертифікат відхилено" + +#: gajim/common/const.py:567 +msgid "Subject issuer mismatch" +msgstr "Видано для іншого призначення" + +#: gajim/common/const.py:568 +msgid "Authority and subject key identifier mismatch" +msgstr "Не збігаються поля видавця та ідентифікатора призначення ключа" + +#: gajim/common/const.py:569 +msgid "Authority and issuer serial number mismatch" +msgstr "Серійні номери служби сертифікації і видавця не збігаються" + +#: gajim/common/const.py:570 +msgid "Key usage does not include certificate signing" +msgstr "До призначення ключа не належить підписування сертифікатів" + +#: gajim/common/const.py:571 +msgid "Application verification failure" +msgstr "Помилка під час перевірки програми" + +#: gajim/common/const.py:893 +msgid "The signing certificate authority is not known" +msgstr "" + +#: gajim/common/const.py:894 +#, fuzzy +msgid "The certificate has been revoked" +msgstr "Сертифікат відкликано" + +#: gajim/common/const.py:895 +msgid "The certificate does not match the expected identity of the site" +msgstr "" + +#: gajim/common/const.py:896 +msgid "The certificate’s algorithm is insecure" +msgstr "" + +#: gajim/common/const.py:897 +msgid "The certificate’s activation time is in the future" +msgstr "" + +#: gajim/common/const.py:898 +#, fuzzy +msgid "Unknown validation error" +msgstr "Невідома помилка SSL: %d" + +#: gajim/common/const.py:899 +#, fuzzy +msgid "The certificate has expired" +msgstr "Строк дії сертифікату завершився!" + +#: gajim/common/const.py:954 +#, fuzzy +msgid "Authentication aborted" +msgstr "Уповноваження прийнято" + +#: gajim/common/const.py:955 +#, fuzzy +msgid "Account disabled" +msgstr "Обліковий запис вимкнено" + +#: gajim/common/const.py:956 +#, fuzzy +msgid "Credentials expired" +msgstr "Облікові дані Oauth2" + +#: gajim/common/const.py:957 +#, fuzzy +msgid "Encryption required" +msgstr "Запит на підписку" + +#: gajim/common/const.py:961 +#, fuzzy +msgid "Authentication mechanism not supported" +msgstr "Додаток не підтримується" + +#: gajim/common/const.py:962 +#, fuzzy +msgid "Authentication mechanism too weak" +msgstr "Спроба розпізнавання за допомогою «%s» завершилася невдало" + +#: gajim/common/const.py:964 +msgid "Authentication currently not possible" +msgstr "" + +#: gajim/common/const.py:1109 +msgid "No Sync" +msgstr "" + +#: gajim/common/const.py:1111 +msgid "2 Days" +msgstr "" + +#: gajim/common/const.py:1114 +msgid "No Threshold" +msgstr "" + +#: gajim/common/logging_helpers.py:31 +#, python-format +msgid "%s is not a valid loglevel" +msgstr "%s не є коректним рівнем журналювання" + +#: gajim/common/zeroconf/zeroconf_avahi.py:256 +#: gajim/common/zeroconf/zeroconf_bonjour.py:248 +#: gajim/common/zeroconf/zeroconf_bonjour.py:265 +#: gajim/common/zeroconf/zeroconf_bonjour.py:323 +#, python-format +msgid "Error while adding service. %s" +msgstr "Помилка під час додавання служби. %s" + +#: gajim/common/zeroconf/connection_zeroconf.py:252 +#, python-format +msgid "Could not connect to \"%s\"" +msgstr "Не вдалося з’єднатися з «%s»" + +#: gajim/common/zeroconf/connection_zeroconf.py:253 +msgid "Please check if Avahi or Bonjour is installed." +msgstr "Будь ласка, переконайтеся, що встановлено Avahi або Bonjour." + +#: gajim/common/zeroconf/connection_zeroconf.py:263 +#: gajim/common/zeroconf/connection_zeroconf.py:267 +msgid "Could not start local service" +msgstr "Не вдалося запустити локальну службу" + +#: gajim/common/zeroconf/connection_zeroconf.py:264 +#, python-format +msgid "Unable to bind to port %d." +msgstr "Не вдалося прив’язатися до порту %d." + +#: gajim/common/zeroconf/connection_zeroconf.py:268 +#, fuzzy +msgid "Please check if avahi/bonjour-daemon is running." +msgstr "Будь ласка, переконайтеся, що запущено фонову службу avahi." + +#: gajim/common/zeroconf/connection_zeroconf.py:362 +#: gajim/common/zeroconf/connection_zeroconf.py:375 +#, python-format +msgid "Could not change status of account \"%s\"" +msgstr "Не вдалося змінити стан облікового запису «%s»" + +#: gajim/common/zeroconf/connection_zeroconf.py:363 +#: gajim/common/zeroconf/connection_zeroconf.py:376 +msgid "Please check if avahi-daemon is running." +msgstr "Будь ласка, переконайтеся, що запущено фонову службу avahi." + +#: gajim/common/zeroconf/connection_zeroconf.py:404 +msgid "Your message could not be sent." +msgstr "Ваше повідомлення неможливо надіслати." + +#: gajim/common/zeroconf/connection_zeroconf.py:419 +msgid "Contact is offline. Your message could not be sent." +msgstr "" +"Контакт перебуває поза мережею. Ваше повідомлення не може бути надіслано." + +#: gajim/common/zeroconf/connection_zeroconf.py:441 +msgid "" +"Connection to host could not be established: Timeout while sending data." +msgstr "" +"Неможливо встановити з’єднання з вузлом: перевищення очікування на " +"підтвердження можливості надсилання даних." + +#: gajim/common/dbus/logind.py:73 +#, fuzzy +msgid "Machine is going to sleep" +msgstr "Комп’ютер присипляється" + +#: gajim/common/dbus/logind.py:103 +msgid "Disconnect from the network" +msgstr "" + +#: gajim/common/modules/adhoc_commands.py:88 +msgid "Change status information" +msgstr "Змінити відомості про стан" + +#: gajim/common/modules/adhoc_commands.py:112 +msgid "Change status" +msgstr "Змінити стан" + +#: gajim/common/modules/adhoc_commands.py:113 +msgid "Set the presence type and description" +msgstr "Вказати тип присутності і опис" + +#: gajim/common/modules/adhoc_commands.py:120 +msgid "Free for chat" +msgstr "Вільний для балачки" + +#: gajim/common/modules/adhoc_commands.py:121 +msgid "Online" +msgstr "В мережі" + +#: gajim/common/modules/adhoc_commands.py:123 +msgid "Extended away" +msgstr "Не буде довго" + +#: gajim/common/modules/adhoc_commands.py:124 +msgid "Do not disturb" +msgstr "Не турбувати" + +#: gajim/common/modules/adhoc_commands.py:125 +msgid "Offline - disconnect" +msgstr "Поза мережею — від’єднаний" + +#: gajim/common/modules/adhoc_commands.py:131 +msgid "Presence description:" +msgstr "Опис стану присутності:" + +#: gajim/common/modules/adhoc_commands.py:170 +msgid "The status has been changed." +msgstr "Стан було змінено." + +#: gajim/common/modules/presence.py:265 +msgid "I would like to add you to my roster." +msgstr "Я хочу додати вас до свого реєстру." + +#: gajim/common/modules/roster_item_exchange.py:103 +#, fuzzy, python-format +msgid "Sent contact: \"%(jid)s\" (%(name)s)" +msgstr "Відправлений контакт: \"%s\" (%s)" + +#: gajim/common/modules/roster_item_exchange.py:107 +msgid "Sent contacts:" +msgstr "Надіслати контакти:" + +#: gajim/common/modules/httpupload.py:99 +msgid "File is empty" +msgstr "Файл порожній" + +#: gajim/common/modules/httpupload.py:102 +msgid "File does not exist" +msgstr "Файла не існує" + +#: gajim/common/modules/httpupload.py:109 +#: gajim/common/modules/httpupload.py:172 +#, python-format +msgid "File is too large, maximum allowed file size is: %s" +msgstr "" + +#: gajim/common/modules/httpupload.py:279 +#, fuzzy +msgid "Encrypting file…" +msgstr "Шифрування E2E вимкнено" + +#: gajim/common/modules/httpupload.py:280 +msgid "Requesting HTTP File Upload Slot…" +msgstr "" + +#: gajim/common/modules/httpupload.py:281 +msgid "Uploading via HTTP File Upload…" +msgstr "" + +#: gajim/common/modules/httpupload.py:285 +#, fuzzy +msgid "The server returned an insecure transport (HTTP)." +msgstr "Служба повернула повідомлення про помилку." + +#: gajim/common/modules/httpupload.py:286 +msgid "There is no encryption method available for the chosen encryption." +msgstr "" + +#: gajim/plugins/pluginmanager.py:679 gajim/plugins/pluginmanager.py:685 +msgid "Archive corrupted" +msgstr "Архів пошкоджено" + +#: gajim/plugins/pluginmanager.py:681 +msgid "Archive empty" +msgstr "Архів порожній " + +#: gajim/plugins/pluginmanager.py:693 gajim/plugins/pluginmanager.py:701 +#: gajim/plugins/gui.py:273 +msgid "Archive is malformed" +msgstr "Архів пошкоджений" + +#: gajim/plugins/pluginmanager.py:710 gajim/plugins/gui.py:288 +#: gajim/plugins/gui.py:301 +msgid "Plugin already exists" +msgstr "Додаток вже встановлено" + +#: gajim/plugins/pluginmanager.py:720 +#, fuzzy +msgid "Installation failed" +msgstr "Спроба з’єднання завершилася невдало" + +#: gajim/plugins/gui.py:67 gajim/data/gui/shortcuts_window.ui:38 +msgid "Plugins" +msgstr "Додатки" + +#: gajim/plugins/gui.py:75 +msgid "Click to view Gajim's wiki page on how to install plugins in Flatpak." +msgstr "" + +#: gajim/plugins/gui.py:84 +msgid "Plugin" +msgstr "Додатки" + +#: gajim/plugins/gui.py:95 gajim/data/gui/manage_sounds.ui:40 +msgid "Active" +msgstr "Активний" + +#: gajim/plugins/gui.py:159 +#, python-format +msgid "Warning: %s" +msgstr "Попередження: %s" + +#: gajim/plugins/gui.py:216 +msgid "Plugin failed" +msgstr "Активація додатка невдалаДодаток" + +#: gajim/plugins/gui.py:249 +msgid "Unable to properly remove the plugin" +msgstr "Не вдається коректно вилучити додаток лм" + +#: gajim/plugins/gui.py:287 +#, fuzzy +msgid "Overwrite Plugin?" +msgstr "Перезаписати?" + +#: gajim/plugins/gui.py:289 +#, fuzzy +msgid "Do you want to overwrite the currently installed version?" +msgstr "Чи бажаєте ви прийняти це запрошення?" + +#: gajim/plugins/gui.py:317 gajim/data/gui/groupchat_config.ui:258 +msgid "Configuration" +msgstr "Налаштування" + +#: gajim/data/gui/groupchat_nick_chooser.ui:47 +#, fuzzy +msgid "Join Group Chat as…" +msgstr "Приєднатись до групової балачки" + +#: gajim/data/gui/groupchat_nick_chooser.ui:66 +#, fuzzy +msgid "Your Nickname" +msgstr "Ваш псевдонім:" + +#: gajim/data/gui/groupchat_control.ui:36 +#, fuzzy +msgid "Drop Files or Contacts" +msgstr "Запросити _контакти" + +#: gajim/data/gui/groupchat_control.ui:58 gajim/data/gui/chat_control.ui:322 +msgid "Bold" +msgstr "Жирний" + +#: gajim/data/gui/groupchat_control.ui:67 gajim/data/gui/chat_control.ui:331 +msgid "Italic" +msgstr "Курсив" + +#: gajim/data/gui/groupchat_control.ui:76 gajim/data/gui/chat_control.ui:340 +msgid "Underline" +msgstr "Підкреслити" + +#: gajim/data/gui/groupchat_control.ui:85 gajim/data/gui/chat_control.ui:349 +msgid "Strike" +msgstr "Перекреслити" + +#: gajim/data/gui/groupchat_control.ui:107 gajim/data/gui/chat_control.ui:371 +msgid "Font" +msgstr "Шрифт" + +#: gajim/data/gui/groupchat_control.ui:121 gajim/data/gui/chat_control.ui:385 +#, fuzzy +msgid "Clear formatting" +msgstr "Зняти форматування" + +#: gajim/data/gui/groupchat_control.ui:383 gajim/data/gui/chat_control.ui:784 +#, fuzzy +msgid "Choose encryption" +msgstr "Оберіть клієнтський сертифікат" + +#: gajim/data/gui/groupchat_control.ui:429 gajim/data/gui/chat_control.ui:667 +#, fuzzy +msgid "Show a list of emojis (Alt+M)" +msgstr "Показати список емоційок (Alt+M)" + +#: gajim/data/gui/groupchat_control.ui:454 gajim/data/gui/chat_control.ui:833 +#, fuzzy +msgid "Send Message" +msgstr "Надіслати повідомлення" + +#: gajim/data/gui/groupchat_control.ui:583 +#, fuzzy +msgid "Joining…" +msgstr "Блокування..." + +#: gajim/data/gui/groupchat_control.ui:641 +#, fuzzy +msgid "Enter Nickname" +msgstr "Вставити псевдонім" + +#: gajim/data/gui/groupchat_control.ui:691 +#: gajim/data/gui/groupchat_control.ui:783 +#, fuzzy +msgid "Ch_ange" +msgstr "Змінити _псевдонім..." + +#: gajim/data/gui/groupchat_control.ui:748 +#: gajim/data/gui/shortcuts_window.ui:319 +msgid "Change Subject" +msgstr "Змінити _тему..." + +#: gajim/data/gui/groupchat_control.ui:864 +#, fuzzy +msgid "Enter Password" +msgstr "Введіть новий пароль:" + +#: gajim/data/gui/groupchat_control.ui:1081 +#, fuzzy +msgid "_Forget Group Chat" +msgstr "Полишити групові балачки" + +#: gajim/data/gui/groupchat_control.ui:1085 +#, fuzzy +msgid "Gajim will not try to join this group chat again" +msgstr "" +"Якщо буде позначено цей пункт, Gajim буде приєднуватись до цієї групової " +"балачки після запуску" + +#: gajim/data/gui/groupchat_control.ui:1102 +#, fuzzy +msgid "T_ry Again" +msgstr "Повторити перевірку..." + +#: gajim/data/gui/groupchat_control.ui:1156 +#, fuzzy +msgid "An Error Occurred" +msgstr "Сталася помилка:" + +#: gajim/data/gui/groupchat_control.ui:1221 +#, fuzzy +msgid "_Try Again" +msgstr "Повторити перевірку..." + +#: gajim/data/gui/groupchat_control.ui:1398 +#, fuzzy +msgid "Kick Participant" +msgstr "Учасник" + +#: gajim/data/gui/groupchat_control.ui:1436 +msgid "_Kick" +msgstr "_Викинути" + +#: gajim/data/gui/groupchat_control.ui:1469 +#: gajim/data/gui/groupchat_control.ui:1595 +#: gajim/data/gui/groupchat_control.ui:1721 +#: gajim/data/gui/groupchat_control.ui:1738 +#: gajim/data/gui/groupchat_control.ui:1827 +#: gajim/data/gui/groupchat_control.ui:1828 +msgid "Insert Emoji" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1482 +#: gajim/data/gui/groupchat_control.ui:1608 +#, fuzzy +msgid "Reason (optional)" +msgstr "Ви також можете вказати альтернативне місце зустрічі:" + +#: gajim/data/gui/groupchat_control.ui:1524 +#, fuzzy +msgid "Ban Participant" +msgstr "Учасник" + +#: gajim/data/gui/groupchat_control.ui:1562 +msgid "_Ban" +msgstr "_Заблокувати" + +#: gajim/data/gui/groupchat_control.ui:1650 +#, fuzzy +msgid "Destroy This Chat" +msgstr "Створити групову балачку" + +#: gajim/data/gui/groupchat_control.ui:1688 +#, fuzzy +msgid "_Destroy" +msgstr "Знищення %s" + +#: gajim/data/gui/groupchat_control.ui:1722 +#, fuzzy +msgid "Alternate venue (optional)..." +msgstr "Ви також можете вказати альтернативне місце зустрічі:" + +#: gajim/data/gui/groupchat_control.ui:1739 +#, fuzzy +msgid "Reason (optional)..." +msgstr "Підстава" + +#: gajim/data/gui/groupchat_control.ui:1752 +msgid "Reason for destruction" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1767 +msgid "Where participants should go" +msgstr "" + +#: gajim/data/gui/groupchat_control.ui:1808 +#, fuzzy +msgid "Rename This Chat" +msgstr "Полишити групові балачки" + +#: gajim/data/gui/groupchat_control.ui:1935 +#, fuzzy +msgid "_Invite" +msgstr "_Запросити" + +#: gajim/data/gui/groupchat_control.ui:2020 +#, fuzzy +msgid "Settings for This Chat" +msgstr "Ігнорувати цю помилку для цього сертифіката." + +#: gajim/data/gui/filetransfers.ui:21 +#, fuzzy +msgid "Pa_use/Resume" +msgstr "_Продовжити" + +#: gajim/data/gui/filetransfers.ui:45 +#, fuzzy +msgid "_Open Folder" +msgstr "В_ідкриту теку, яка містить цей файл" + +#: gajim/data/gui/filetransfers.ui:56 gajim/data/gui/filetransfers.ui:206 +msgid "File Transfers" +msgstr "Перенесення файлів" + +#: gajim/data/gui/filetransfers.ui:91 +#, fuzzy +msgid "_Show notification when file transfer is complete" +msgstr "П_овідомити мене про завершення передавання файлу" + +#: gajim/data/gui/filetransfers.ui:131 +msgid "file transfers list" +msgstr "перелік передач файлів" + +#: gajim/data/gui/filetransfers.ui:132 +msgid "A list of active, completed and stopped file transfers" +msgstr "Перелік активних, завершених та зупинених передач файлів" + +#: gajim/data/gui/filetransfers.ui:154 +#, fuzzy +msgid "Remove completed, cancelled and failed file transfers from the list" +msgstr "Вилучає завершені, скасовані та невдалі передавання файлів зі списку" + +#: gajim/data/gui/filetransfers.ui:167 +#, fuzzy +msgid "Pause or resume file transfer" +msgstr "Скасувати передавання файла" + +#: gajim/data/gui/filetransfers.ui:180 +#, fuzzy +msgid "Cancel the selected file transfer and remove incomplete files" +msgstr "Скасовує обране передавання файлу і вилучає незавершені файли" + +#: gajim/data/gui/filetransfers.ui:207 +#, fuzzy +msgid "Shows a list of file transfers between you and your contacts" +msgstr "Показує список передавань файлів" + +#: gajim/data/gui/add_new_contact_window.ui:76 +#, fuzzy +msgid "_XMPP Address" +msgstr "_Адреса:" + +#: gajim/data/gui/add_new_contact_window.ui:92 +#, fuzzy +msgid "_Nickname" +msgstr "_Прізвисько:" + +#: gajim/data/gui/add_new_contact_window.ui:109 +#, fuzzy +msgid "_Group" +msgstr "_Група:" + +#: gajim/data/gui/add_new_contact_window.ui:157 +msgid "Choose or type new group name" +msgstr "" + +#: gajim/data/gui/add_new_contact_window.ui:173 +#, fuzzy +msgid "A_ccount" +msgstr "Обліковий _запис:" + +#: gajim/data/gui/add_new_contact_window.ui:189 +#, fuzzy +msgid "_Protocol" +msgstr "П_ротокол:" + +#: gajim/data/gui/add_new_contact_window.ui:287 +#: gajim/data/gui/single_message_window.ui:161 +#, fuzzy +msgid "Query Contact Info" +msgstr "Контактна інформація" + +#: gajim/data/gui/add_new_contact_window.ui:312 +#, fuzzy +msgid "A_llow contact to view my status" +msgstr "Д_озволити цьому контакту бачити мій стан" + +#: gajim/data/gui/add_new_contact_window.ui:363 +msgid "_Save subscription message" +msgstr "_Зберегти повідомлення підписки" + +#: gajim/data/gui/add_new_contact_window.ui:389 +#, fuzzy +msgid "" +"You have to register with this transport\n" +"to be able to add a contact from this\n" +"protocol. Click on Register button to\n" +"proceed." +msgstr "" +"Ви маєте зареєструватись на транспорті,\n" +"щоб мати можливість додавати контакти\n" +"з цього протоколу. Натисніть кнопку реєстрації\n" +"для продовження." + +#: gajim/data/gui/add_new_contact_window.ui:404 +msgid "_Register" +msgstr "_Зареєструвати" + +#: gajim/data/gui/add_new_contact_window.ui:433 +msgid "" +"You must be connected to the transport to be able\n" +"to add a contact from this protocol." +msgstr "" +"Ви маєте з’єднатися з транспортом, щоб мати змогу\n" +"додавати контакти з цього протоколу." + +#: gajim/data/gui/add_new_contact_window.ui:467 +#, fuzzy +msgid "_Add" +msgstr "_Адреса:" + +#: gajim/data/gui/account_wizard.ui:16 gajim/data/gui/manage_proxies.ui:206 +#, fuzzy +msgid "_Port" +msgstr "_Порт:" + +#: gajim/data/gui/account_wizard.ui:46 +#, fuzzy +msgid "_Hostname" +msgstr "Назва _вузла:" + +#: gajim/data/gui/account_wizard.ui:62 gajim/data/gui/account_wizard.ui:689 +#: gajim/data/gui/manage_proxies.ui:223 +msgid "example.org" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:75 +#, fuzzy +msgid "Prox_y" +msgstr "Прокс_і:" + +#: gajim/data/gui/account_wizard.ui:110 +#, fuzzy +msgid "Manage Proxies..." +msgstr "Керування профілями проксі" + +#: gajim/data/gui/account_wizard.ui:131 gajim/data/gui/preferences.ui:798 +#, fuzzy +msgid "Advanced Settings" +msgstr "Додаткові дії" + +#: gajim/data/gui/account_wizard.ui:163 gajim/data/gui/manage_proxies.ui:290 +#, fuzzy +msgid "_Type" +msgstr "Тип:" + +#: gajim/data/gui/account_wizard.ui:203 +msgid "Welcome" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:219 +#, fuzzy +msgid "Please enter your credentials or Sign Up" +msgstr "Будь ласка, спершу створіть нову порожню тему з бажаною назвою." + +#: gajim/data/gui/account_wizard.ui:237 +msgid "Your XMPP address (e.g. user@example.org)" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:239 +#: gajim/data/gui/single_message_window.ui:59 +msgid "user@example.org" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:252 +#, fuzzy +msgid "Your password" +msgstr "Введіть новий пароль:" + +#: gajim/data/gui/account_wizard.ui:266 gajim/data/gui/account_wizard.ui:719 +#, fuzzy +msgid "_Advanced Settings" +msgstr "Додаткові дії" + +#: gajim/data/gui/account_wizard.ui:270 gajim/data/gui/account_wizard.ui:723 +#, fuzzy +msgid "Proxy, custom hostname and port" +msgstr "Використовувати інші вузол/порт" + +#: gajim/data/gui/account_wizard.ui:283 +msgid "_Log In" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:288 +msgid "Log in with your credentials" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:304 +#, fuzzy +msgid "or" +msgstr "Tor" + +#: gajim/data/gui/account_wizard.ui:314 +#, fuzzy +msgid "_Sign Up" +msgstr "Уві_йти" + +#: gajim/data/gui/account_wizard.ui:318 +msgid "Sign up for a new account on a server of your choice" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:369 +msgid "Visit Website" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:410 +#, fuzzy +msgid "Certificate Verification Failed" +msgstr "Перевірка сертифіката SSL для %s" + +#: gajim/data/gui/account_wizard.ui:428 +msgid "" +"The following warnings came up while trying to verify the server's " +"certificate" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:457 +#, fuzzy +msgid "_Show Certificate" +msgstr "Перегляд сертифікату..." + +#: gajim/data/gui/account_wizard.ui:472 +#, fuzzy +msgid "_Add to Trusted Certificates" +msgstr "Cертифікат" + +#: gajim/data/gui/account_wizard.ui:501 gajim/data/gui/account_wizard.ui:664 +msgid "Which server should I choose?" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:516 +msgid "" +"There are plenty of servers to choose from.\n" +"Creating an account on one server allows you to communicate with contacts " +"from other servers as well." +msgstr "" + +#: gajim/data/gui/account_wizard.ui:530 +msgid "Visit Server's Website" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:550 +msgid "Listing of Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:568 +msgid "" +"xmpp.org/getting-started" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:646 +#, fuzzy +msgid "_Please choose a server" +msgstr "Будь ласка, спершу створіть нову порожню тему з бажаною назвою." + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "" + +#: gajim/data/gui/application_menu.ui:8 +#, fuzzy +msgid "_Start / Join Chat…" +msgstr "Почати балачку" + +#: gajim/data/gui/application_menu.ui:13 +#, fuzzy +msgid "Create _Group Chat…" +msgstr "Полишити групові балачки" + +#: gajim/data/gui/application_menu.ui:18 +#, fuzzy +msgid "_History Manager" +msgstr "Керування журналом" + +#: gajim/data/gui/application_menu.ui:22 +#, fuzzy +msgid "Pl_ugins" +msgstr "Додатки" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +#, fuzzy +msgid "_Preferences" +msgstr "Параметри" + +#: gajim/data/gui/application_menu.ui:36 +#, fuzzy +msgid "_Accounts" +msgstr "Облікові записи" + +#: gajim/data/gui/application_menu.ui:39 +#, fuzzy +msgid "_View" +msgstr "П_ерегляд" + +#: gajim/data/gui/application_menu.ui:46 +#, fuzzy +msgid "Show _Offline Contacts" +msgstr "Показувати _від’єднані контакти" + +#: gajim/data/gui/application_menu.ui:50 +#, fuzzy +msgid "Show _Active Contacts" +msgstr "Показувати лише _активні контакти" + +#: gajim/data/gui/application_menu.ui:54 +#, fuzzy +msgid "Show _Transports" +msgstr "Показувати транс_порти" + +#: gajim/data/gui/application_menu.ui:60 +#, fuzzy +msgid "_XML Console" +msgstr "Консоль XML" + +#: gajim/data/gui/application_menu.ui:64 +#, fuzzy +msgid "_File Transfer" +msgstr "Перенесення файлів" + +#: gajim/data/gui/application_menu.ui:74 +#, fuzzy +msgid "_Help" +msgstr "_Довідка" + +#: gajim/data/gui/application_menu.ui:77 +#, fuzzy +msgid "_Wiki (Online)" +msgstr "В мережі" + +#: gajim/data/gui/application_menu.ui:81 +#, fuzzy +msgid "FA_Q (Online)" +msgstr "В мережі" + +#: gajim/data/gui/application_menu.ui:85 +#, fuzzy +msgid "_Keyboard Shortcuts" +msgstr "Гарячі клавіші" + +#: gajim/data/gui/application_menu.ui:89 +#, fuzzy +msgid "_Features" +msgstr "Можливості" + +#: gajim/data/gui/application_menu.ui:93 +#, fuzzy +msgid "_About" +msgstr "Відомості" + +#: gajim/data/gui/filetransfer_progress.ui:125 +#, fuzzy +msgid "Speed" +msgstr "швидкість" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +#, fuzzy +msgid "OK" +msgstr "_Гаразд" + +#: gajim/data/gui/plugins_window.ui:55 +#, fuzzy +msgid "Install Plugin from ZIP-File" +msgstr "Встановити з архіву zip" + +#: gajim/data/gui/plugins_window.ui:56 +#, fuzzy +msgid "Install from File…" +msgstr "Встановити з архіву zip" + +#: gajim/data/gui/plugins_window.ui:70 +#, fuzzy +msgid "Uninstall Plugin" +msgstr "Видалити" + +#: gajim/data/gui/plugins_window.ui:116 +#, fuzzy +msgid "" +msgstr "Активація додатка невдалаДодаток" + +#: gajim/data/gui/plugins_window.ui:133 +#, fuzzy +msgid "Plugin Settings" +msgstr "Додатки" + +#: gajim/data/gui/plugins_window.ui:215 +#, fuzzy +msgid "" +msgstr "Опис" + +#: gajim/data/gui/plugins_window.ui:239 +#, fuzzy +msgid "Version" +msgstr "Версія:" + +#: gajim/data/gui/plugins_window.ui:271 +#, fuzzy +msgid "Authors" +msgstr "Автори:" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +#, fuzzy +msgid "Homepage" +msgstr "Домашня сторінка:" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "<порожньо>" + +#: gajim/data/gui/plugins_window.ui:349 +msgid "Installed" +msgstr "Встановлено" + +#: gajim/data/gui/plugins_window.ui:363 +#, fuzzy +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "" +"Тут має бути показано опис додатка. Цей текст буде видалено при " +"ініціалізації вікна додатків." + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +msgid "Synchronise contacts" +msgstr "Синхронізувати контакти" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "Оберіть обліковий запис, з яким слід виконати синхронізацію" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +#, fuzzy +msgid "_Name" +msgstr "_Назва:" + +#: gajim/data/gui/groupchat_creation.ui:122 +#, fuzzy +msgid "_Description" +msgstr "Опис" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +#, fuzzy +msgid "_Address" +msgstr "_Адреса:" + +#: gajim/data/gui/groupchat_creation.ui:278 +#, fuzzy +msgid "_Account" +msgstr "_Облікові записи" + +#: gajim/data/gui/profile.ui:33 +#, fuzzy +msgid "Contact Infos" +msgstr "Контактна інформація" + +#: gajim/data/gui/profile.ui:45 +#, fuzzy +msgid "Picture and Name" +msgstr "Картинка, яку слід використовувати" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "" + +#: gajim/data/gui/profile.ui:198 +#, fuzzy +msgid "Change your profile picture" +msgstr "Змінити ваш псевдонім (Ctrl+N)" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:298 +#, fuzzy +msgid "Add Entry" +msgstr "Запис:" + +#: gajim/data/gui/profile.ui:410 +#, fuzzy +msgid "Update" +msgstr "Оновити «Повідомлення дня»..." + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:15 +#, fuzzy +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "SOCKS5" + +#: gajim/data/gui/manage_proxies.ui:65 +#, fuzzy +msgid "Add Proxy" +msgstr "Прокс_і:" + +#: gajim/data/gui/manage_proxies.ui:79 +#, fuzzy +msgid "Remove Proxy" +msgstr "Вилучити групу" + +#: gajim/data/gui/manage_proxies.ui:131 +#, fuzzy +msgid "Pass_word" +msgstr "Па_роль:" + +#: gajim/data/gui/manage_proxies.ui:156 +msgid "Use proxy auth_entication" +msgstr "Використовувати розпізнавання на проксі" + +#: gajim/data/gui/manage_proxies.ui:176 +#, fuzzy +msgid "_Username" +msgstr "_Користувач:" + +#: gajim/data/gui/manage_proxies.ui:237 +#, fuzzy +msgid "_Host" +msgstr "Назва _вузла:" + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "Локальний jid:" + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "Ресурс:" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "Стан:" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +#, fuzzy +msgid "_Store conversation history" +msgstr "_Зберігати журнал спілкування" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +msgid "Contact" +msgstr "Контакт" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +msgid "First Name:" +msgstr "Ім'я:" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +msgid "Last Name:" +msgstr "Прізвище:" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +#, fuzzy +msgid "XMPP Address:" +msgstr "Адреса AIM:" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "Ел. пошта:" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +msgid "Personal" +msgstr "Особисте" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "_Стан" + +#: gajim/data/gui/account_context_menu.ui:20 +msgid "_Personal Events" +msgstr "_Особисті події" + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "_Додати контакт..." + +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "Ви_явити служби" + +#: gajim/data/gui/account_context_menu.ui:57 +msgid "_Execute Command..." +msgstr "_Виконати команду..." + +#: gajim/data/gui/account_context_menu.ui:65 +#, fuzzy +msgid "_View Server Info" +msgstr "Сервер" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:125 +#, fuzzy +msgid "Global Group Chat Search" +msgstr "Приєднатись до групової балачки" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +#, fuzzy +msgid "_Back" +msgstr "Скоро повернуся" + +#: gajim/data/gui/start_chat_dialog.ui:386 +msgid "Select Account" +msgstr "Виберіть обліковий запис" + +#: gajim/data/gui/start_chat_dialog.ui:477 +#, fuzzy +msgid "_Select" +msgstr "Прибираю" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +msgid "Configure" +msgstr "Налаштувати" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +msgid "Create new post" +msgstr "Створити нове повідомлення" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "Ста_н" + +#: gajim/data/gui/systray_context_menu.ui:20 +msgid "_Start Chat..." +msgstr "_Почати балачку..." + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "Надіслати окреме _повідомлення..." + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "Показати усі _події з черги" + +#: gajim/data/gui/systray_context_menu.ui:52 +msgid "Mute Sounds" +msgstr "Вимкнути звук" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +#, fuzzy +msgid "Contact List" +msgstr "Контакти" + +#: gajim/data/gui/shortcuts_window.ui:24 +#, fuzzy +msgid "Create new group chat" +msgstr "Полишити групові балачки" + +#: gajim/data/gui/shortcuts_window.ui:45 +#, fuzzy +msgid "File transfers" +msgstr "Перенесення файлів" + +#: gajim/data/gui/shortcuts_window.ui:52 +#, fuzzy +msgid "Set the status message" +msgstr "повідомлення про стан" + +#: gajim/data/gui/shortcuts_window.ui:59 +#, fuzzy +msgid "Show XML console" +msgstr "Показати _XML-консоль" + +#: gajim/data/gui/shortcuts_window.ui:74 +msgid "Appearance" +msgstr "Вигляд" + +#: gajim/data/gui/shortcuts_window.ui:79 +#, fuzzy +msgid "Show offline contacts" +msgstr "Показувати _від’єднані контакти" + +#: gajim/data/gui/shortcuts_window.ui:86 +#, fuzzy +msgid "Show only active contacts" +msgstr "Показувати лише _активні контакти" + +#: gajim/data/gui/shortcuts_window.ui:93 +msgid "Enable contact list filtering" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:100 +#, fuzzy +msgid "Show / hide contact list" +msgstr "Показувати лише _активні контакти" + +#: gajim/data/gui/shortcuts_window.ui:113 +#, fuzzy +msgid "Contact information" +msgstr "Контактна інформація" + +#: gajim/data/gui/shortcuts_window.ui:120 +#, fuzzy +msgid "Rename contact" +msgstr "Перейменувати контакт" + +#: gajim/data/gui/shortcuts_window.ui:127 +#, fuzzy +msgid "Delete contact" +msgstr "Надіслати контакти:" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +#, fuzzy +msgid "Chat" +msgstr "Балачки" + +#: gajim/data/gui/shortcuts_window.ui:142 +#, fuzzy +msgid "Message composition" +msgstr "Вміст повідомлення" + +#: gajim/data/gui/shortcuts_window.ui:147 +#, fuzzy +msgid "Send the message" +msgstr "Надіслати повідомлення" + +#: gajim/data/gui/shortcuts_window.ui:154 +#, fuzzy +msgid "Add new line" +msgstr "Створити нове повідомлення" + +#: gajim/data/gui/shortcuts_window.ui:161 +msgid "Select an emoji" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:168 +#, fuzzy +msgid "Complete a command or a nickname" +msgstr "Будь ласка, спершу створіть нову порожню тему з бажаною назвою." + +#: gajim/data/gui/shortcuts_window.ui:175 +#, fuzzy +msgid "Previously sent message" +msgstr "Зразки повідомлень:" + +#: gajim/data/gui/shortcuts_window.ui:182 +#, fuzzy +msgid "Next sent messages" +msgstr "Зразки повідомлень:" + +#: gajim/data/gui/shortcuts_window.ui:189 +#, fuzzy +msgid "Quote previous message" +msgstr "повідомлення про стан" + +#: gajim/data/gui/shortcuts_window.ui:196 +#, fuzzy +msgid "Quote next message" +msgstr "Надіслати повідомлення" + +#: gajim/data/gui/shortcuts_window.ui:203 +#, fuzzy +msgid "Clear message entry" +msgstr "Повідомлення надіслано" + +#: gajim/data/gui/shortcuts_window.ui:211 +#, fuzzy +msgid "Recent history" +msgstr "Нещодавно:" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:230 +#, fuzzy +msgid "Clear chat window" +msgstr "Очистити текстове вікно" + +#: gajim/data/gui/shortcuts_window.ui:237 +#, fuzzy +msgid "Show chat history" +msgstr "Нещодавно:" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:299 +msgid "Close chat" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:312 +#, fuzzy +msgid "Change Nickname" +msgstr "Змінити _псевдонім..." + +#: gajim/data/gui/chat_control.ui:48 +#, fuzzy +msgid "Drop files or contacts" +msgstr "Надсилає контакту файл" + +#: gajim/data/gui/chat_control.ui:80 +#, fuzzy +msgid "1" +msgstr "Шрифт" + +#: gajim/data/gui/chat_control.ui:101 +#, fuzzy +msgid "2 abc" +msgstr "Шрифт" + +#: gajim/data/gui/chat_control.ui:121 +#, fuzzy +msgid "3 def" +msgstr "Шрифт" + +#: gajim/data/gui/chat_control.ui:141 +#, fuzzy +msgid "4 ghi" +msgstr "Шрифт" + +#: gajim/data/gui/chat_control.ui:161 +#, fuzzy +msgid "5 jkl" +msgstr "Шрифт" + +#: gajim/data/gui/chat_control.ui:181 +#, fuzzy +msgid "6 mno" +msgstr "Шрифт" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "" + +#: gajim/data/gui/chat_control.ui:221 +#, fuzzy +msgid "8 tuv" +msgstr "Шрифт" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "" + +#: gajim/data/gui/chat_control.ui:261 +#, fuzzy +msgid "*" +msgstr "Шрифт" + +#: gajim/data/gui/chat_control.ui:281 +#, fuzzy +msgid "0" +msgstr "Шрифт" + +#: gajim/data/gui/chat_control.ui:301 +#, fuzzy +msgid "#" +msgstr "Шрифт" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "Почати _балачку" + +#: gajim/data/gui/contact_context_menu.ui:28 +msgid "Send _File..." +msgstr "Надіслати _файл..." + +#: gajim/data/gui/contact_context_menu.ui:44 +msgid "Invite _Contacts" +msgstr "Запросити _контакти" + +#: gajim/data/gui/contact_context_menu.ui:58 +msgid "E_xecute Command..." +msgstr "Виконати команду..." + +#: gajim/data/gui/contact_context_menu.ui:67 +msgid "M_anage Contact" +msgstr "К_ерування контактом" + +#: gajim/data/gui/contact_context_menu.ui:77 +msgid "_Rename..." +msgstr "Перей_менувати..." + +#: gajim/data/gui/contact_context_menu.ui:84 +msgid "Edit _Groups..." +msgstr "Редагувати _групи..." + +#: gajim/data/gui/contact_context_menu.ui:92 +msgid "Add Special _Notification..." +msgstr "Додати особливе _сповіщення" + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "_Підписка" + +#: gajim/data/gui/contact_context_menu.ui:115 +msgid "_Allow contact to see my status" +msgstr "Д_озволити цьому контакту бачити мій стан" + +#: gajim/data/gui/contact_context_menu.ui:123 +msgid "A_sk to see contact status" +msgstr "З_апитати можливість бачити його/її стан" + +#: gajim/data/gui/contact_context_menu.ui:131 +msgid "_Forbid contact to see my status" +msgstr "_Заборонити контакту бачити мій стан" + +#: gajim/data/gui/contact_context_menu.ui:159 +msgid "_Unignore" +msgstr "_Скасувати ігнорування" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "_Ігнорувати" + +#: gajim/data/gui/contact_context_menu.ui:174 +#, fuzzy +msgid "_Add to Contact List..." +msgstr "_Додати контакт..." + +#: gajim/data/gui/single_message_window.ui:42 +#, fuzzy +msgid "_To" +msgstr "До" + +#: gajim/data/gui/single_message_window.ui:71 +#, fuzzy +msgid "Su_bject" +msgstr "Тема" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "" + +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "_Повідомлення" + +#: gajim/data/gui/single_message_window.ui:144 +#, fuzzy +msgid "Characters typed: 0" +msgstr "Заборонений символ" + +#: gajim/data/gui/single_message_window.ui:189 +#, fuzzy +msgid "_From" +msgstr "Від" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "_Надіслати" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "Надіслати повідомлення" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "_Відповісти" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "Відповісти на це повідомлення" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "_Надіслати і закрити" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "Надіслати повідомлення і закрити вікно" + +#: gajim/data/gui/vcard_information_window.ui:106 +msgid "Client" +msgstr "Клієнт" + +#: gajim/data/gui/vcard_information_window.ui:140 +#, fuzzy +msgid "Contact time" +msgstr "Ім'я контакту" + +#: gajim/data/gui/vcard_information_window.ui:240 +msgid "User avatar" +msgstr "Аватар" + +#: gajim/data/gui/vcard_information_window.ui:255 +msgid "Configured avatar" +msgstr "Налаштований аватар" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +msgid "Ask" +msgstr "" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +#, fuzzy +msgid "Subscription" +msgstr "Підписка:" + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +msgid "Extra Address" +msgstr "Додаткова адреса" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +msgid "Address" +msgstr "Адреса" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +#, fuzzy +msgid "E-Mail" +msgstr "Ел. пошта:" + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "Формат: РРРР-ММ-ДД" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +msgid "Family" +msgstr "Прізвище" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +#, fuzzy +msgid "Middle" +msgstr "Середина тижня" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +#, fuzzy +msgid "Prefix" +msgstr "Надати перевагу" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +msgid "Given" +msgstr "" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +msgid "Suffix" +msgstr "Суфікс" + +#: gajim/data/gui/vcard_information_window.ui:958 +#, fuzzy +msgid "Name Details" +msgstr "Ім’я:" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "кнопка" + +#: gajim/data/gui/vcard_information_window.ui:1017 +msgid "Personal Info" +msgstr "Особисті відомості" + +#: gajim/data/gui/vcard_information_window.ui:1040 +msgid "Company" +msgstr "Компанія" + +#: gajim/data/gui/vcard_information_window.ui:1073 +msgid "Department" +msgstr "Відділ" + +#: gajim/data/gui/vcard_information_window.ui:1104 +#, fuzzy +msgid "Position" +msgstr "Умова" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "Роль" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "Відомості" + +#: gajim/data/gui/vcard_information_window.ui:1514 +msgid "Comments" +msgstr "Коментарі" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "Редагувати групи" + +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "Пароль" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +#, fuzzy +msgid "Themes" +msgstr "Тема" + +#: gajim/data/gui/themes_window.ui:171 +#, fuzzy +msgid "Add Setting" +msgstr "Гарячі клавіші" + +#: gajim/data/gui/themes_window.ui:204 +#, fuzzy +msgid "Add new Theme" +msgstr "Створити нове повідомлення" + +#: gajim/data/gui/themes_window.ui:219 +#, fuzzy +msgid "Remove Theme" +msgstr "Активний" + +#: gajim/data/gui/bookmarks.ui:120 +#, fuzzy +msgid "Autojoin" +msgstr "Автоматичне приєднання" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "" + +#: gajim/data/gui/preferences.ui:68 +#, fuzzy +msgid "Contact List Appearance" +msgstr "Обмін елементами реєстру" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +#, fuzzy +msgid "Chats" +msgstr "Балачки" + +#: gajim/data/gui/preferences.ui:215 +msgid "Visual Notifications" +msgstr "Візуальні сповіщення" + +#: gajim/data/gui/preferences.ui:243 +#, fuzzy +msgid "Sounds" +msgstr "Звуки wav" + +#: gajim/data/gui/preferences.ui:303 +#, fuzzy +msgid "Ask For Status Message on…" +msgstr "Запитувати щодо повідомлення про стан, якщо я:" + +#: gajim/data/gui/preferences.ui:331 +#, fuzzy +msgid "Automatic Status Change" +msgstr "Узгодити зі станом" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "" + +#: gajim/data/gui/preferences.ui:447 +#, fuzzy +msgid "Status Icon" +msgstr "Набір _піктограм стану:" + +#: gajim/data/gui/preferences.ui:472 +msgid "Style" +msgstr "Стиль" + +#: gajim/data/gui/preferences.ui:511 +#, fuzzy +msgid "Show _Features" +msgstr "Можливості" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:632 +#, fuzzy +msgid "Audio" +msgstr "Тест аудіо" + +#: gajim/data/gui/preferences.ui:660 +#, fuzzy +msgid "Video" +msgstr "Тест відео" + +#: gajim/data/gui/preferences.ui:698 +#, fuzzy +msgid "Audio/Video" +msgstr "Аудіо/Відео" + +#: gajim/data/gui/preferences.ui:735 +msgid "Miscellaneous" +msgstr "Різне" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:821 +#, fuzzy +msgid "Advanced Configuration Editor… " +msgstr "Редактор додаткових налаштувань" + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "" + +#: gajim/data/gui/server_info.ui:50 +msgid "Server Software" +msgstr "" + +#: gajim/data/gui/server_info.ui:80 +msgid "Server Uptime" +msgstr "Час роботи сервера" + +#: gajim/data/gui/server_info.ui:109 +#, fuzzy +msgid "Contact Addresses" +msgstr "Повідомлення контакту:" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "" + +#: gajim/data/gui/server_info.ui:177 +#, fuzzy +msgid "Proxy Type" +msgstr "Прокс_і:" + +#: gajim/data/gui/server_info.ui:192 +#, fuzzy +msgid "No proxy used" +msgstr "Прокс_і:" + +#: gajim/data/gui/server_info.ui:202 +#, fuzzy +msgid "View _Certificate" +msgstr "Перегляд сертифікату..." + +#: gajim/data/gui/server_info.ui:222 +#, fuzzy +msgid "Proxy Host" +msgstr "Проксі-_вузол:" + +#: gajim/data/gui/server_info.ui:421 +#, fuzzy +msgid "Copy info to clipboard" +msgstr "_Копіювати посилання" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:153 +#, fuzzy +msgid "Serial Number" +msgstr "Номер GG:" + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:304 +#, fuzzy +msgid "Expires on" +msgstr "застаріти" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:465 +#, fuzzy +msgid "Copy Certificate Information" +msgstr "Контактна інформація" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "Запросіть друзів!" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +#, fuzzy +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "" +"Ви маєте намір почати групову балачку.\n" +"Оберіть контакти, які ви бажаєте запросити" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +#, fuzzy +msgid "Please select a group chat server." +msgstr "Будь ласка, оберіть сервер групової балачки." + +#: gajim/data/gui/chat_to_muc_window.ui:141 +#, fuzzy +msgid "Group chat server" +msgstr "Групові балачки" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +msgid "In_vite" +msgstr "_Запросити" + +#: gajim/data/gui/mam_preferences.ui:53 +#, fuzzy +msgid "_Default" +msgstr "Типовий" + +#: gajim/data/gui/mam_preferences.ui:136 +#, fuzzy +msgid "Archive" +msgstr "Архів порожній " + +#: gajim/data/gui/history_manager.ui:11 +#, fuzzy +msgid "_Export" +msgstr "Експортувати" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +msgid "Gajim History Logs Manager" +msgstr "Інструмент керування журналами Gajim" + +#: gajim/data/gui/history_manager.ui:104 +#, fuzzy +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" +"Цей інструмент керування журналом не призначено для перегляду журналу. Якщо " +"вам потрібно переглянути журнал, скористайтеся вікном історії.\n" +"\n" +"Цією програмою можна скористатися для вилучення або експорту журналів. У " +"лівій частині вікна ви можете обрати журнали, пошук у базі даних можна " +"виконати нижче." + +#: gajim/data/gui/history_manager.ui:120 +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" +"УВАГА:\n" +"Якщо ви плануєте масові вилучення, будь ласка, переконайтеся, що Gajim не " +"запущено. Взагалі, уникайте вилучення контактів, з якими ви зараз " +"спілкуєтеся." + +#: gajim/data/gui/history_manager.ui:211 +#, fuzzy +msgid "Search database..." +msgstr "_Шукати у базі даних" + +#: gajim/data/gui/history_manager.ui:226 +#, fuzzy +msgid "Search in database" +msgstr "_Шукати у базі даних" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" + +#: gajim/data/gui/groupchat_invite.ui:69 +#, fuzzy +msgid "Invitees" +msgstr "_Запросити" + +#: gajim/data/gui/groupchat_invite.ui:153 +#, fuzzy +msgid "Search contacts..." +msgstr "_Шукати у базі даних" + +#: gajim/data/gui/groupchat_invite.ui:223 +#, fuzzy +msgid "Click on contacts you would like to invite to this group chat." +msgstr "%(jid)s було запрошено до цієї кімнати" + +#: gajim/data/gui/service_discovery_window.ui:148 +#, fuzzy +msgid "Go" +msgstr "В_перед" + +#: gajim/data/gui/status_change_window.ui:27 +#, fuzzy +msgid "Change Status" +msgstr "Змінити стан" + +#: gajim/data/gui/status_change_window.ui:56 +#, fuzzy +msgid "Status Presets…" +msgstr "Повідомлення про стан" + +#: gajim/data/gui/status_change_window.ui:72 +#, fuzzy +msgid "Save this message as a preset" +msgstr "Показати цю довідку та вийти" + +#: gajim/data/gui/status_change_window.ui:130 +#, fuzzy +msgid "Ac_tivity" +msgstr "Заняття:" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:278 +#, fuzzy +msgid "_Change Status" +msgstr "Змінити стан" + +#: gajim/data/gui/status_change_window.ui:313 +#, fuzzy +msgid "Activity" +msgstr "Заняття:" + +#: gajim/data/gui/status_change_window.ui:326 +#, fuzzy +msgid "_No Activity" +msgstr "Заняття:" + +#: gajim/data/gui/status_change_window.ui:729 +#, fuzzy +msgid "Mood" +msgstr "Смутний" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +#, fuzzy +msgid "Author" +msgstr "Автори:" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +#, fuzzy +msgid "Group Chat Language" +msgstr "Запрошення до групової балачки" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +#, fuzzy +msgid "Copy Address" +msgstr "_Копіювати JID/адресу електронної пошти" + +#: gajim/data/gui/emoji_chooser.ui:98 +#, fuzzy +msgid "No Results Found" +msgstr "Результату немає" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr "Консоль XML" + +#: gajim/data/gui/xml_console.ui:131 +#, fuzzy +msgid "Start Search..." +msgstr "_Почати балачку..." + +#: gajim/data/gui/xml_console.ui:260 +#, fuzzy +msgid "Clear" +msgstr "Прибираю" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "" + +#: gajim/data/gui/xml_console.ui:316 +#, fuzzy +msgid "Presets" +msgstr "П_рисутність" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "Синхронізація: оберіть контакти" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +msgid "Select the contacts you want to synchronise" +msgstr "Виберіть контакти, які ви бажаєте синхронізувати" + +#: gajim/data/gui/groupchat_config.ui:51 +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" +"Можна використовувати записи у такому форматі:\n" +"<користувач@домен/ресурс> (пошук лише вказаного ресурсу).\n" +"<користувач@домен> (пошук будь-якого ресурсу).\n" +"<домен/ресурс> (пошук лише вказаного ресурсу).\n" +"<домен> (пошук лише домену: записів користувач@домен, домен/ресурс або " +"адреси, що містить піддомен)\n" + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:309 +#, fuzzy +msgid "Reserved Name" +msgstr "Назва параметра" + +#: gajim/data/gui/groupchat_config.ui:346 +msgid "Affiliation" +msgstr "Належність" + +#: gajim/data/gui/groupchat_config.ui:377 +#, fuzzy +msgid "Affiliations" +msgstr "Програми" + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "Підстава" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "Список заборон" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "_Заборонити" + +#: gajim/data/gui/subscription_request_window.ui:34 +#, fuzzy +msgid "_Block User" +msgstr "_Заблокувати" + +#: gajim/data/gui/subscription_request_window.ui:49 +#, fuzzy +msgid "_Report as Spam" +msgstr "_Повідомити про помилку" + +#: gajim/data/gui/subscription_request_window.ui:212 +#, fuzzy +msgid "_Deny…" +msgstr "_Заборонити" + +#: gajim/data/gui/subscription_request_window.ui:225 +#, fuzzy +msgid "Ac_cept" +msgstr "_Прийняти" + +#: gajim/data/gui/subscription_request_window.ui:230 +#, fuzzy +msgid "Allows the contact to see your online status" +msgstr "Д_озволити цьому контакту бачити мій стан" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:115 +#, fuzzy +msgid "_Report Bug" +msgstr "_Повідомити про помилку" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "Подія" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "Обрати звук" + +#: gajim/data/gui/manage_sounds.ui:97 +#, fuzzy +msgid "Clear Sound" +msgstr "Обрати звук" + +#: gajim/data/gui/manage_sounds.ui:118 +#, fuzzy +msgid "Play Sound" +msgstr "Відтворювати _звуки" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +#, fuzzy +msgid "_Send Files" +msgstr "Надіслати _файл" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +#, fuzzy +msgid "Send" +msgstr "_Надіслати" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +#, fuzzy +msgid "Files to send" +msgstr "Вибрати файл для надсилання..." + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +#, fuzzy +msgid "Add Files" +msgstr "Файл: " + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +#, fuzzy +msgid "Remove Files" +msgstr "В_илучити" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +msgid "Idle since:" +msgstr "Відсутній з:" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +msgid "Mood:" +msgstr "Настрій:" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +msgid "Activity:" +msgstr "Заняття:" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +#, fuzzy +msgid "Tune:" +msgstr "Музика:" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +#, fuzzy +msgid "Location:" +msgstr "Положення:" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +#, fuzzy +msgid "Subscription:" +msgstr "Підписка:" + +#: gajim/data/gui/advanced_configuration.ui:15 +#, fuzzy +msgid "A restart may be required for some settings to take effect" +msgstr "Ви маєте перезавантажити Gajim, щоб деякі з параметрів набули чинності" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "" + +#: gajim/data/gui/advanced_configuration.ui:120 +#, fuzzy +msgid "_Reset Value" +msgstr "_Скинути до типових" + +#: gajim/data/gui/advanced_configuration.ui:125 +#, fuzzy +msgid "Resets value to default" +msgstr "_Скинути до типових" + +#: gajim/data/gui/history_window.ui:27 +#, fuzzy +msgid "Display status changes" +msgstr "_Показати зміни стану" + +#: gajim/data/gui/history_window.ui:57 +msgid "History Manager" +msgstr "Керування журналом" + +#: gajim/data/gui/history_window.ui:233 +#, fuzzy +msgid "Mode" +msgstr "Модератор" + +#: gajim/data/gui/history_window.ui:246 +#, fuzzy +msgid "Search complete history" +msgstr "Нещодавно:" + +#: gajim/data/gui/history_window.ui:263 +#, fuzzy +msgid "Search selected day only" +msgstr "Шукати лише у зазначений день" + +#: gajim/data/gui/history_window.ui:317 +#, fuzzy +msgid "Store history for this chat" +msgstr "Ігнорувати цю помилку для цього сертифіката." + +#: gajim/data/gui/history_window.ui:332 +#, fuzzy +msgid "Store History" +msgstr "Нещодавно:" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +#, fuzzy +msgid "Identified Error" +msgstr "Помилка сертифіката SSL" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +#, fuzzy +msgid "" +msgstr "помилка" + +#: gajim/data/gui/ssl_error_dialog.ui:74 +#, fuzzy +msgid "Add this certificate to the list of _trusted certificates" +msgstr "" +"Додати цей сертифікат до переліку довірених сертифікатів.\n" +"SHA1 відбиток сертифікату:\n" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +#, fuzzy +msgid "_View Certificate" +msgstr "Перегляд сертифікату..." + +#: gajim/data/gui/ssl_error_dialog.ui:120 +#, fuzzy +msgid "_Connect" +msgstr "З'єднано" + +#: data/org.gajim.Gajim.desktop.in:5 +#, fuzzy +msgid "XMPP Chat Client" +msgstr "Клієнт служби миттєвих повідомлень Jabber" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:8 +#, fuzzy +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "chat;messaging;im;jabber;xmpp;bonjour;voip" + +#: data/org.gajim.Gajim.desktop.in:27 +#, fuzzy +msgid "Show next pending event" +msgstr "Показати усі _події з черги" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:17 +#, fuzzy +msgid "Features:" +msgstr "Можливості" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +#, fuzzy +msgid "Automatic spell-checking for your messages" +msgstr "Перевірка правопису повідомлень, які ви створюєте." + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +msgid "Support for service discovery including nodes and search for users" +msgstr "Підтримка пошуку служб включно з вузлами та пошуком користувачів" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +#, fuzzy +msgid "Contact list" +msgstr "Контакти" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +#, fuzzy +msgid "Group chat support" +msgstr "Групові балачки" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +#, fuzzy +msgid "Chat history" +msgstr "Нещодавно:" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +#, fuzzy +msgid "Plugin manager" +msgstr "Активація додатка невдалаДодаток" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +#, fuzzy +msgid "Gajim Team" +msgstr "Теми Gajim" + +#, fuzzy +#~ msgid "Chat Settings" +#~ msgstr "Гарячі клавіші" + +#, python-format +#~ msgid "%i day" +#~ msgid_plural "%i days" +#~ msgstr[0] "%i день" +#~ msgstr[1] "%i дні" +#~ msgstr[2] "%i днів" + +#~ msgid "Composing only" +#~ msgstr "Лише друк" + +#~ msgid "All chat states" +#~ msgstr "Усі стани балачок" + +#~ msgid "Privacy Lists" +#~ msgstr "Списки конфіденційності" + +#, fuzzy +#~ msgid "Unblock" +#~ msgstr "_Розблокувати" + +#, fuzzy +#~ msgid "Block" +#~ msgstr "_Заблокувати" + +#~ msgid "None" +#~ msgstr "Немає" + +#, python-format +#~ msgid "%s Status Message" +#~ msgstr "Повідомлення про стан %s" + +#~ msgid "an audio and video" +#~ msgstr "аудіо та відео" + +#~ msgid "an audio" +#~ msgstr "аудіо" + +#~ msgid "a video" +#~ msgstr "відео" + +#, fuzzy, python-format +#~ msgid "" +#~ "%(contact)s wants to start a %(type)s chat with you. Do you want to " +#~ "answer the call?" +#~ msgstr "" +#~ "%(contact)s бажають розпочати %(type)s розмову з вами. Ви бажаєте " +#~ "відповісти на запит?" + +#~ msgid "Could not load image" +#~ msgstr "Не вдалося завантажити зображення" + +#~ msgid "Error." +#~ msgstr "Помилка." + +#, python-format +#~ msgid "%(type)s state : %(state)s, reason: %(reason)s" +#~ msgstr "%(type)s стан : %(state)s, причина: %(reason)s" + +#, fuzzy +#~ msgid "" +#~ "This contact will see you offline and you will not receive any messages " +#~ "sent to you by this contact." +#~ msgstr "" +#~ "Цей контакт буде бачити вас як \"поза мережею\" та ви не будете " +#~ "отримувати від нього повідомлень." + +#, fuzzy +#~ msgid "_Block Contact" +#~ msgstr "Заблоковані контакти" + +#, fuzzy +#~ msgid "Block Group" +#~ msgstr "_Заблокувати" + +#, fuzzy +#~ msgid "Really block this group?" +#~ msgstr "Чи увімкнено OpenPGP для цього контакту?" + +#, fuzzy +#~ msgid "" +#~ "All contacts of this group will see you as offline and you will not " +#~ "receive any messages sent to you by any one of these contacts." +#~ msgstr "" +#~ "Цей контакт буде бачити вас як \"поза мережею\" та ви не будете " +#~ "отримувати від нього повідомлень." + +#, fuzzy +#~ msgid "_Block Group" +#~ msgstr "_Заблокувати" + +#~ msgid "No account available" +#~ msgstr "Немає жодного облікового запису" + +#~ msgid "You must create an account before you can chat with other contacts." +#~ msgstr "" +#~ "Перш ніж ви зможете розпочати балачку з контактами, вам слід створити " +#~ "обліковий запис." + +#~ msgid "Metacontacts storage not supported by your server" +#~ msgstr "Збереження метаконтактів не підтримується вашим сервером" + +#~ msgid "" +#~ "Your server does not support storing metacontacts information. So this " +#~ "information will not be saved on next reconnection." +#~ msgstr "" +#~ "Ваш сервер не підтримує збереження відомостей щодо метаконтактів. Отже ці " +#~ "відомості не буде збережено до наступного з’єднання." + +#, python-brace-format +#~ msgid "You are invited to {room} by {user}" +#~ msgstr "Вас запрошено до {room} від {user}" + +#, python-format +#~ msgid "%s wants to start a voice chat." +#~ msgstr "%s бажає розпочати голосову розмову." + +#~ msgid "Could not save your settings and preferences" +#~ msgstr "Не вдалося зберегти ваші налаштування і параметри" + +#, fuzzy +#~ msgid "Error While Removing Privacy List" +#~ msgstr "Помилка під час вилучення списку конфіденційності" + +#, fuzzy, python-format +#~ msgid "" +#~ "Privacy list %s has not been removed. It is probably active in one of " +#~ "your connected resources. Please deactivate it and try again." +#~ msgstr "" +#~ "Список конфіденційності %s не було вилучено. Ймовірно, він " +#~ "використовується у одному з ресурсів, з яким з’єднано ваш клієнт. " +#~ "Вимкніть цей ресурс і повторіть спробу." + +#, fuzzy +#~ msgid "Invisibility Not Supported" +#~ msgstr "Невидимість не підтримується" + +#, fuzzy, python-format +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "Обліковий запис %s не підтримує невидимості." + +#, fuzzy +#~ msgid "Could not request upload slot for HTTP File Upload" +#~ msgstr "Не вдалося запустити локальну службу" + +#, fuzzy +#~ msgid "Not Secure" +#~ msgstr "Не розпочато" + +#, fuzzy +#~ msgid "Could not Upload File" +#~ msgstr "Не вдалося завантажити зображення" + +#~ msgid "Lists all preferences and their values" +#~ msgstr "Показує список всі параметрів та значення цих параметрів" + +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "Встановлює значення «ключ» у «значення»" + +#~ msgid "key=value" +#~ msgstr "ключ=значення" + +#, fuzzy +#~ msgid "'key' is the name of the preference, 'value' is what to set it to" +#~ msgstr "«ключ» — це назва параметра, «значення» — значення параметра" + +#~ msgid "Deletes a preference item" +#~ msgstr "Вилучає запис параметра" + +#~ msgid "key" +#~ msgstr "ключ" + +#~ msgid "name of the preference to be deleted" +#~ msgstr "назва параметра, який буде вилучено" + +#~ msgid "Writes the current state of Gajim preferences to the .config file" +#~ msgstr "Записує поточні значення параметрів Gajim до файла .config" + +#, python-format +#~ msgid "%s is a directory but should be a file" +#~ msgstr "%s є каталогом, а має бути файлом" + +#, fuzzy, python-format +#~ msgid "Creating %s" +#~ msgstr "Знищення %s" + +#, python-format +#~ msgid "%(nickname)s Signed In" +#~ msgstr "%(nickname)s в мережі" + +#~ msgid "Contact Signed In" +#~ msgstr "Контакт увійшов до мережі" + +#, python-format +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "%(nickname)s вийшов з мережі" + +#~ msgid "Contact Signed Out" +#~ msgstr "Контакт вийшов з мережі" + +#, fuzzy +#~ msgid "" +#~ "Show desktop notification even when a chat window is opened for this " +#~ "contact and does not have focus." +#~ msgstr "" +#~ "Дозволити сповіщення у разі встановленого стану в_ідійшов/зайнятий/тощо" + +#~ msgid "default" +#~ msgstr "типовий" + +#, fuzzy +#~ msgid "" +#~ "Character to propose to add after desired nickname when nickname is " +#~ "already used in group chat." +#~ msgstr "" +#~ "Символ, який буде запропоновано додати після бажаного псевдоніма, якщо " +#~ "псевдонім буде використано кимось з групової балачки." + +#, fuzzy +#~ msgid "" +#~ "How many seconds to wait before trying to automatically rejoin a group " +#~ "chat you were disconnected from. Set to 0 to disable automatic rejoining." +#~ msgstr "" +#~ "Скільки секунд очікувати перш ніж повторити спробу перепід’єднатись до " +#~ "конференції від якої вас було від’єднано. Встановіть 0 для блокування " +#~ "автоматичного перепід’єднання." + +#, fuzzy +#~ msgid "If enabled, Gajim displays the avatar in the chat window." +#~ msgstr "" +#~ "Якщо цей параметр матиме значення «False», ви не бачитимете аватарів у " +#~ "вікні балачки." + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will show affiliation of group chat participants by " +#~ "adding a colored square to the status icon." +#~ msgstr "" +#~ "Якщо увімкнено, Gajim покаже членство учасників балачки додаванням " +#~ "кольорового квадрату до піктограми стану." + +#, fuzzy +#~ msgid "" +#~ "Status to be used automatically when connecting. Can be 'online', 'chat', " +#~ "'away', 'xa' or 'dnd'. NOTE: This option is used only if " +#~ "'restore_last_status' is disabled." +#~ msgstr "" +#~ "Стан, який буде використано під час автоматичного з’єднання. Можливі " +#~ "значення: online, chat, away, xa, dnd, invisible. ЗАУВАЖЕННЯ: цей " +#~ "параметр використовуватиметься, лише якщо вимкнено параметр " +#~ "restore_last_status" + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending password on an plaintext connection. " +#~ "Can be 'warn', or 'none'." +#~ msgstr "" +#~ "Показувати діалогове вікно попередження, перш ніж надсилати пароль " +#~ "звичайним текстом. Може бути 'поперджати', 'з’єднувати', 'відключати'" + +#, fuzzy +#~ msgid "" +#~ "How many seconds to wait for the answer of a ping alive packet before " +#~ "trying to reconnect." +#~ msgstr "" +#~ "Проміжок часу у секундах, протягом якого слід очікувати на відповідь на " +#~ "пакет підтримування зв’язку, перш ніж розпочати процедуру повторного " +#~ "з’єднання." + +#~ msgid "I'm available." +#~ msgstr "Я — доступний (доступна) для балачки." + +#~ msgid "I'm free for chat." +#~ msgstr "Я — вільний (вільна) для балачки." + +#~ msgid "Be right back." +#~ msgstr "Скоро повернуся." + +#~ msgid "I'm not available." +#~ msgstr "Я — недоступний (недоступна) для балачки." + +#~ msgid "Do not disturb." +#~ msgstr "Не турбувати." + +#~ msgid "Bye!" +#~ msgstr "Пока!" + +#~ msgid "Timeout loading image" +#~ msgstr "Перевищення часу очікування під час завантаження зображення" + +#~ msgid "Image is too big" +#~ msgstr "Зображення є завеликим" + +#~ msgid "PyCURL is not installed" +#~ msgstr "PyCURL не встановлено" + +#~ msgid "Error loading image" +#~ msgstr "Помилка завантаження зображення" + +#~ msgid "Blocked Contacts" +#~ msgstr "Заблоковані контакти" + +#, fuzzy +#~ msgid "Group chat" +#~ msgstr "Групові балачки" + +#, fuzzy +#~ msgid "Bookmark group chat" +#~ msgstr "Зробити закладку на цій кімнаті" + +#, fuzzy +#~ msgid "Bookmark" +#~ msgstr "_Закладка" + +#, fuzzy +#~ msgid "Recently used group chats" +#~ msgstr "у _групових балачках" + +#, fuzzy +#~ msgid "Clear Avatar" +#~ msgstr "Аватар користувача:" + +#, fuzzy +#~ msgid "Set Avatar…" +#~ msgstr "Вибрати архів" + +#, fuzzy +#~ msgid "Contact" +#~ msgstr "Область:" + +#, fuzzy +#~ msgid "_Leave Group Chat" +#~ msgstr "Полишити групові балачки" + +#, fuzzy +#~ msgid "Enter a new name for this group chat" +#~ msgstr "Введіть нову назву для групи %s" + +#~ msgid "Use default applications" +#~ msgstr "Використовувати типові програми" + +#~ msgid "Custom" +#~ msgstr "Нетиповий" + +#~ msgid "Pop it up" +#~ msgstr "Підняти це" + +#~ msgid "Notify me about it" +#~ msgstr "Сповіщати мене про це" + +#, fuzzy +#~ msgid "Show only in contact list" +#~ msgstr "Показувати лише _активні контакти" + +#, fuzzy +#~ msgid "No status messages" +#~ msgstr "повідомлення про стан" + +#, fuzzy +#~ msgid "All status messages" +#~ msgstr "повідомлення про стан" + +#, fuzzy +#~ msgid "Only enter/leave messages" +#~ msgstr "У вас є непрочитані повідомлення" + +#, fuzzy +#~ msgid "Me_rge accounts" +#~ msgstr "Об’є_днати облікові записи" + +#, fuzzy +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "Показувати _аватари контактів у реєстрі" + +#, fuzzy +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "" +#~ "Якщо буде позначено цей пункт, Gajim буде показувати аватари контактів у " +#~ "вікні реєстру і групових балачках" + +#, fuzzy +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "Показувати _повідомлення про стан контактів з реєстру" + +#, fuzzy +#~ msgid "" +#~ "If checked, status messages of contacts will be shown under the contact's " +#~ "name, in the contact list window, and in group chats" +#~ msgstr "" +#~ "Якщо буде позначено цей пункт, Gajim буде показувати повідомлення про " +#~ "стан під ім'ям контакту у вікні реєстру і групових балачках" + +#, fuzzy +#~ msgid "" +#~ "Show e_xtra information of contacts in contact list (mood, activity, ...)" +#~ msgstr "" +#~ "Показувати _розширену інформацію про контакт у реєстрі (настрій, " +#~ "діяльність, тощо)" + +#, fuzzy +#~ msgid "in _contact list" +#~ msgstr "Надіслати контакти:" + +#~ msgid "in _group chats" +#~ msgstr "у _групових балачках" + +#, fuzzy +#~ msgid "Enable spell _checking" +#~ msgstr "Перевірка правопису" + +#, fuzzy +#~ msgid "" +#~ "If checked, spelling errors in input fields of chat windows will be " +#~ "highlighted. If no language is explicitly set via right click on the " +#~ "input field, the default language will be used for this contact or group " +#~ "chat. Needs gspell to be installed." +#~ msgstr "" +#~ "Якщо буде позначено цей пункт, Gajim позначатиме помилки правопису у " +#~ "полях для введення тексту вікон балачки. Якщо ви не вкажете явно мови за " +#~ "допомогою контекстного меню (клацання правою кнопкою миші), буде " +#~ "використано типову мову для контакту або групової балачки." + +#, fuzzy +#~ msgid "Display status messages in _single chats" +#~ msgstr "Показувати _повідомлення про стан контактів з реєстру" + +#, fuzzy +#~ msgid "" +#~ "If checked, status lines will be shown in 1 on 1 chats when a contact " +#~ "changes their status or status message" +#~ msgstr "" +#~ "Якщо цей параметр матиме значення «False», Gajim більше не буде виводити " +#~ "рядок стану у балачках, коли контакт змінює свій стан і/або своє " +#~ "повідомлення про стан." + +#, fuzzy +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "Не вдалося приєднатися до групової балачки" + +#, fuzzy +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "Не вдалося приєднатися до групової балачки" + +#, fuzzy +#~ msgid "Show status changes (Default)" +#~ msgstr "_Показати зміни стану" + +#, fuzzy +#~ msgid "" +#~ "If checked, the tab will be colored according to the current chatstate of " +#~ "the contact" +#~ msgstr "" +#~ "Якщо буде позначено цей пункт, Gajim дозволить іншим визначати ваш " +#~ "місцевий час" + +#, fuzzy +#~ msgid "" +#~ "If checked, a description of the contacts current chatstate is shown in " +#~ "the banner" +#~ msgstr "" +#~ "Якщо буде позначено цей пункт, Gajim дозволить іншим визначати ваш " +#~ "місцевий час" + +#, fuzzy +#~ msgid "Chatstate" +#~ msgstr "Попередній стан: %" + +#, fuzzy +#~ msgid "_When new event is received" +#~ msgstr "Якщо отримано нову подію:" + +#, fuzzy +#~ msgid "Show popups/notifications when a chat window is already _open" +#~ msgstr "" +#~ "Дозволити сповіщення у разі встановленого стану в_ідійшов/зайнятий/тощо" + +#, fuzzy +#~ msgid "Allow popups/notifications when I'm _away, not available or busy" +#~ msgstr "" +#~ "Дозволити сповіщення у разі встановленого стану в_ідійшов/зайнятий/тощо" + +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "Сповіщати мене про в_хід контактів до мережі" + +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "Сповіщати мене про в_ихід контактів з мережі" + +#~ msgid "Play _sounds" +#~ msgstr "Відтворювати _звуки" + +#~ msgid "Ma_nage..." +#~ msgstr "Ке_рування..." + +#, fuzzy +#~ msgid "Allow playing sounds when I'm _busy" +#~ msgstr "Дозволити звуки у стані _зайнятий." + +#, fuzzy +#~ msgid "No_t Available" +#~ msgstr "Дуже далеко" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Not Available when the computer " +#~ "has not been used for the specified time" +#~ msgstr "" +#~ "Якщо буде позначено цей пункт, Gajim змінюватиме стан на «Недоступний», " +#~ "якщо на комп’ютері не спостерігатиметься активності користувача довше, ніж" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Away when the computer has not " +#~ "been used for the specified time" +#~ msgstr "" +#~ "Якщо буде позначено цей пункт, Gajim змінюватиме стан на «Недоступний», " +#~ "якщо на комп’ютері не спостерігатиметься активності користувача довше, ніж" + +#~ msgid "" +#~ "The automatic away status message. If empty, the current status message " +#~ "will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-away timeout." +#~ msgstr "" +#~ "Автоматичне повідомлення про відсутність. Якщо не заповнено, не змінювати " +#~ "поточного повідомлення про стан.\n" +#~ "$S буде замінено на попереднє повідомлення.\n" +#~ "$T буде замінено на час автоматичного повідомлення про відсутність." + +#~ msgid "" +#~ "The automatic not available status message. If empty, the current status " +#~ "message will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-not-available timeout." +#~ msgstr "" +#~ "Автоматичне повідомлення про недоступність. Якщо не заповнено, не " +#~ "змінювати поточного повідомлення про стан.\n" +#~ "$S буде замінено на попереднє повідомлення.\n" +#~ "$T буде замінено на час автоматичного повідомлення про недоступність." + +#, fuzzy +#~ msgid "Minutes" +#~ msgstr "хвилин" + +#~ msgid "" +#~ "If enabled, Gajim will not ask for a status message. The specified " +#~ "default message will be used instead." +#~ msgstr "" +#~ "Якщо буде позначено цей пункт, Gajim не запитуватиме про повідомлення " +#~ "стану. Програма використовуватиме вказане типове повідомлення." + +#~ msgid "Default Message" +#~ msgstr "Типове повідомлення" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "Повідомлення про стан" + +#~ msgid "Preset Status Messages" +#~ msgstr "Зразки повідомлень про стан" + +#, fuzzy +#~ msgid "_Theme" +#~ msgstr "Тема" + +#~ msgid "Configure color and font of the interface" +#~ msgstr "Налаштувати шрифт та колір інтерфейсу" + +#, fuzzy +#~ msgid "" +#~ "If checked, protocol-specific status icons will be used (e.g. a contact " +#~ "from ICQ will have the equivalent ICQ icon for status online, away, busy, " +#~ "etc...)" +#~ msgstr "" +#~ "Якщо буде позначено цей пункт, Gajim буде використовувати специфічні для " +#~ "протоколу піктограми станів. (Приклад: для контактів MSN будуть " +#~ "використані відповідні піктограми msn для станів «в мережі», «відсутній» " +#~ "тощо)" + +#, fuzzy +#~ msgid "Video output" +#~ msgstr "відео вихід" + +#, fuzzy +#~ msgid "Video si_ze" +#~ msgstr "Розмір відео" + +#, fuzzy +#~ msgid "Vi_ew own video source" +#~ msgstr "Подивитись власне відео" + +#, fuzzy +#~ msgid "" +#~ "STUN server hostname. If no hostname was given, Gajim will try\n" +#~ "to discover one from the server. (Example: stun.iptel.org)" +#~ msgstr "" +#~ "Ім’я серверу STUN. Якщо нічого не вказано\n" +#~ "Gajim спробує отримати значення з серверу." + +#~ msgid "_Manage..." +#~ msgstr "Керування..." + +#, fuzzy +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "_Записувати зміни стану контактів" + +#, fuzzy +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "" +#~ "Якщо буде позначено цей пункт, Gajim запам'ятає пароль цього облікового " +#~ "запису" + +#~ msgid "_Open..." +#~ msgstr "_Відкрити..." + +#, fuzzy +#~ msgid "_Filter" +#~ msgstr "Фільтр:" + +#, fuzzy +#~ msgid "Protocol" +#~ msgstr "П_ротокол:" + +#~ msgid "Privacy Lists:" +#~ msgstr "Списки конфіденційності:" + +#, fuzzy +#~ msgid "_Ignore this error for this certificate" +#~ msgstr "Ігнорувати цю помилку для цього сертифіката." + +#, fuzzy +#~ msgid "Message..." +#~ msgstr "Повідомлення" + +#, fuzzy +#~ msgid "_Message if you decline (optional)" +#~ msgstr "Причина (якщо ви відхиляєте):" + +#, fuzzy +#~ msgid "Preset _messages" +#~ msgstr "Зразки повідомлень:" + +#~ msgid "_Type your new status message" +#~ msgstr "_Вкажіть ваше нове повідомлення стану" + +#, fuzzy +#~ msgid "Change Status Message…" +#~ msgstr "_Змінити повідомлення про стан" + +#~ msgid "Mood:" +#~ msgstr "Настрій:" + +#~ msgid "Message:" +#~ msgstr "Повідомлення:" + +#~ msgid "none" +#~ msgstr "нічого" + +#~ msgid "both" +#~ msgstr "обидві" + +#~ msgid "from" +#~ msgstr "від" + +#~ msgid "to" +#~ msgstr "до" + +#~ msgid "Privacy List" +#~ msgstr "Список конфіденційності" + +#~ msgid "Privacy List" +#~ msgstr "Список конфіденційності" + +#~ msgid "Active for this session" +#~ msgstr "Активний для поточного сеансу" + +#~ msgid "Active on each startup" +#~ msgstr "Активний завжди" + +#~ msgid "List of rules" +#~ msgstr "Перелік правил" + +#~ msgid "Add / Edit a rule" +#~ msgstr "Додати / Змінити правило" + +#~ msgid "Allow" +#~ msgstr "Дозволити" + +#~ msgid "Deny" +#~ msgstr "Відмовити" + +#~ msgid "all in the group" +#~ msgstr "всі у групі" + +#~ msgid "all by subscription" +#~ msgstr "всі за підпискою" + +#~ msgid "All" +#~ msgstr "Всі" + +#~ msgid "to send me messages" +#~ msgstr "для надсилання мені повідомлень" + +#~ msgid "to send me queries" +#~ msgstr "для надсилання мені запитів" + +#~ msgid "to view my status" +#~ msgstr "для перегляду мого стану" + +#~ msgid "to send me status" +#~ msgstr "для надсилання мені стану" + +#~ msgid "All (including subscription)" +#~ msgstr "Всі (за підпискою)" + +#~ msgid "Order:" +#~ msgstr "Порядок:" + +#, fuzzy +#~ msgid "" +#~ "Deny authorization from contact so the contact cannot know if you are " +#~ "connected" +#~ msgstr "" +#~ "Заборонити уповноваження контакту, щоб він або вона не могли бачити, коли " +#~ "ви виходите на зв'язок." + +#, fuzzy +#~ msgid "Authorize contact so the contact can know if you are connected" +#~ msgstr "" +#~ "Уповноважити контакт, щоб він або вона могли бачити, коли ви виходите на " +#~ "зв'язок." + +#, fuzzy +#~ msgid "Chat Shortcuts" +#~ msgstr "Гарячі клавіші" + +#, fuzzy +#~ msgid "Contact List Shortcuts" +#~ msgstr "Гарячі клавіші" + +#~ msgid "Fill in the form." +#~ msgstr "Заповніть форму." + +#~ msgid "Set an activity" +#~ msgstr "Встановити заняття" + +#~ msgid "Message: " +#~ msgstr "Повідомлення: " + +#, fuzzy, python-format +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "Запрошено %s до %s" + +#, fuzzy +#~ msgid "Group Chat Invitation " +#~ msgstr "Запрошення до групової балачки" + +#, python-format +#~ msgid "Comment: %s" +#~ msgstr "Коментар: %s" + +#~ msgid "On" +#~ msgstr "Увімкнено" + +#~ msgid "Off" +#~ msgstr "Вимкнено" + +#, fuzzy +#~ msgid "Retrieving profile…" +#~ msgstr "Отримання профілю..." + +#~ msgid "Wrong date format" +#~ msgstr "Невірний формат дати" + +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "Формат має бути РРРР-ММ-ДД" + +#~ msgid "Information received" +#~ msgstr "Отримано відомості" + +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "" +#~ "Для того, щоб оприлюднити відомості щодо контакту з вами, вам слід " +#~ "встановити з’єднання." + +#, fuzzy +#~ msgid "Sending profile…" +#~ msgstr "Надсилання профілю..." + +#~ msgid "Information NOT published" +#~ msgstr "Відомості НЕ оприлюднено" + +#~ msgid "vCard publication failed" +#~ msgstr "Спроба оприлюднення vCard зазнала невдачі" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "" +#~ "Під час спроби оприлюднення ваших особистих відомостей, спробуйте пізніше." + +#, fuzzy +#~ msgid "?password:Hidden" +#~ msgstr "Пароль:" + +#, python-format +#~ msgid "Privacy List %s" +#~ msgstr "Списки конфіденційності %s" + +#, python-format +#~ msgid "Privacy List for %s" +#~ msgstr "Списки приватності для %s" + +#, python-format +#~ msgid "" +#~ "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" +#~ msgstr "" +#~ "Порядок: %(order)s, дія: %(action)s, тип: %(type)s, значення: %(value)s" + +#, python-format +#~ msgid "Order: %(order)s, action: %(action)s" +#~ msgstr "Порядок: %(order)s, дія: %(action)s" + +#~ msgid "Edit a rule" +#~ msgstr "Редагувати правило" + +#~ msgid "Add a rule" +#~ msgstr "Додати правило" + +#, python-format +#~ msgid "Privacy Lists for %s" +#~ msgstr "Списки приватності для %s" + +#~ msgid "Invalid List Name" +#~ msgstr "Некоректна назва списку" + +#~ msgid "You must enter a name to create a privacy list." +#~ msgstr "Для створення списку конфіденційності вам слід ввести його назву." + +#~ msgid "Loading" +#~ msgstr "Завантаження" + +#~ msgid "status message title" +#~ msgstr "заголовок повідомлення про стан" + +#~ msgid "status message text" +#~ msgstr "текст повідомлення про стан" + +#, fuzzy +#~ msgid "Start New Conversation" +#~ msgstr "Спілкування з продовженням" + +#~ msgid "Unknown SSL error: %d" +#~ msgstr "Невідома помилка SSL: %d" + +#~ msgid "Gajim - %s" +#~ msgstr "Gajim - %s" + +#~ msgid "Choose interval between 2 checks of idleness." +#~ msgstr "" +#~ "Оберіть інтервал між двома послідовними перевірками на відсутність " +#~ "активності." + +#, fuzzy +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "Словники для мови %s не доступні" + +#, fuzzy +#~ msgid "" +#~ "You have to install the dictionary \"%s\" to use spellchecking, or choose " +#~ "another language by setting the speller_language option.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "Вам слід встановити словник %s, щоб мати змогу користуватися перевіркою " +#~ "правопису або обрати іншу мову за допомогою параметра speller_language.\n" +#~ "\n" +#~ "Можливість підсвічування неправильно написаних слів буде поки що вимкнено" + +#~ msgid "_Reconnect" +#~ msgstr "_Перез’єднати" + +#, fuzzy +#~ msgid "Show Contact List" +#~ msgstr "Показувати лише _активні контакти" + +#, fuzzy +#~ msgid "Add to Contact List" +#~ msgstr "_Додати контакт..." + +#, fuzzy +#~ msgid "Invite Contact" +#~ msgstr "Запросити _контакти" + +#, fuzzy +#~ msgid "Configure Group Chat" +#~ msgstr "Полишити групові балачки" + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." +#~ msgstr "" +#~ "Якщо має значення «True», Gajim показуватиме певну піктограму на кожній з " +#~ "вкладок, на якій містяться непрочитані повідомлення. Залежно від обраної " +#~ "вами теми, піктограму може бути анімовано." + +#, fuzzy +#~ msgid "Server must be between 1 and 1023 bytes" +#~ msgstr "Сервер має бути від 1 до 1023 символів" + +#~ msgid "Invalid character in hostname." +#~ msgstr "Некоректний символ у назві вузла." + +#~ msgid "Server address required." +#~ msgstr "Слід вказати адресу сервера." + +#, fuzzy +#~ msgid "Username must be between 1 and 1023 bytes" +#~ msgstr "Ім’я користувача повинно бути від 1 до 1023 символів" + +#~ msgid "Invalid character in username." +#~ msgstr "Некоректний символ у імені користувача." + +#, fuzzy +#~ msgid "Resource must be between 1 and 1023 bytes" +#~ msgstr "Ресурс має бути від 1 до 1023 символів" + +#~ msgid "Invalid character in resource." +#~ msgstr "Некоректний символ у назві ресурсу." + +#, fuzzy +#~ msgid "Notification color for contacts signing in." +#~ msgstr "Сповіщати мене про в_хід контактів до мережі" + +#, fuzzy +#~ msgid "Notification color for contacts signing out." +#~ msgstr "Сповіщати мене про в_ихід контактів з мережі" + +#, fuzzy +#~ msgid "Notification color for new message notification." +#~ msgstr "Колір сповіщення про новий лист або повідомлення" + +#, fuzzy +#~ msgid "Notification color for file transfer request." +#~ msgstr "П_овідомити мене про завершення передавання файлу" + +#, fuzzy +#~ msgid "Notification color for file transfer errors." +#~ msgstr "П_овідомити мене про завершення передавання файлу" + +#, fuzzy +#~ msgid "Notification background color for changed status." +#~ msgstr "Колір контактів, які тільки-но увійшли до мережі." + +#~ msgid "Event Type" +#~ msgstr "Тип події" + +#~ msgid "Event desc" +#~ msgstr "Опис події" + +#, fuzzy +#~ msgid "No response from the Server" +#~ msgstr "Ваш комп’ютер не з’єднано з сервером" + +#~ msgid "Resource Conflict" +#~ msgstr "Конфлікт ресурсів" + +#, fuzzy +#~ msgid "" +#~ "You are already connected to this account with the same resource. Please " +#~ "enter a different one." +#~ msgstr "" +#~ "Ваш клієнт вже з’єднано з цим обліковим записом і тим самим ресурсом. " +#~ "Будь ласка, вкажіть інший ресурс" + +#~ msgid "Unable to load image" +#~ msgstr "Не вдалося завантажити зображення" + +#~ msgid "Media type not supported: %s" +#~ msgstr "Тим медіа не підтримується: %s" + +#~ msgid "This field is required" +#~ msgstr "Це обов’язкове поле" + +#~ msgid "new@jabber.id" +#~ msgstr "new@jabber.id" + +#~ msgid "new%d@jabber.id" +#~ msgstr "new%d@jabber.id" + +#~ msgid "video output" +#~ msgstr "відео вихід" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Gajim: Майстер створення облікових записів" + +#, fuzzy +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "Для з’єднання з мережею Jabber вам потрібен обліковий\n" +#~ "запис." + +#~ msgid "I already have an account I want to _use" +#~ msgstr "Я вже маю обліковий запис, який бажаю _використовувати" + +#~ msgid "I want to _register for a new account" +#~ msgstr "Я бажаю _зареєструвати новий обліковий запис" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "Будь ласка, оберіть один з наступних варіантів:" + +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "Будь ласка, вкажіть відомості щодо вашого облікового запису" + +#, fuzzy +#~ msgid "_XMPP Address:" +#~ msgstr "Адреса AIM:" + +#~ msgid "Anon_ymous authentication" +#~ msgstr "Анонімна авторизація" + +#~ msgid "_Password:" +#~ msgstr "_Password:" + +#~ msgid "Save pass_word" +#~ msgstr "Зберегти _пароль" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "" +#~ "Якщо буде позначено цей пункт, Gajim запам'ятає пароль цього облікового " +#~ "запису" + +#~ msgid "Please select a server" +#~ msgstr "Будь ласка, виберіть сервер" + +#~ msgid "_Server:" +#~ msgstr "_Сервер:" + +#~ msgid "Manage..." +#~ msgstr "Керування..." + +#~ msgid "_Port:" +#~ msgstr "_Порт:" + +#~ msgid "_Advanced" +#~ msgstr "Д_одатково" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA1 fingerprint of the certificate:\n" +#~ msgstr "" +#~ "Додати цей сертифікат до переліку довірених сертифікатів.\n" +#~ "SHA1 відбиток сертифікату:\n" + +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "З’єднання з сервером\n" +#~ "\n" +#~ "Будь ласка, зачекайте..." + +#~ msgid "Connect when I press Finish" +#~ msgstr "З'єднатись після натискання кнопки «Завершити»" + +#~ msgid "Set my profile when I connect" +#~ msgstr "Налаштувати мій профіль після з’єднання" + +#~ msgid "_Finish" +#~ msgstr "_Завершити" + +#~ msgid "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." +#~ msgstr "" +#~ "Додаткові параметри облікового запису можна вказати після натискання " +#~ "кнопки «Додатково». Пізніше ви можете виконати ті самі дії з налаштування " +#~ "вибором пункту «Облікові записи» у меню «Правка» головного вікна програми." + +#~ msgid "Your new account has been created successfully" +#~ msgstr "Ваш новий обліковий запис було успішно створено" + +#~ msgid "Invalid username" +#~ msgstr "Некоректне ім’я користувача" + +#~ msgid "You must provide a username to configure this account." +#~ msgstr "" +#~ "Щоб налаштувати цей обліковий запис, вам слід вказати ім’я користувача." + +#~ msgid "Invalid server" +#~ msgstr "Некоректний сервер" + +#~ msgid "Please provide a server on which you want to register." +#~ msgstr "" +#~ "Будь ласка, вкажіть назву сервера, на якому ви бажаєте зареєструватися." + +#~ msgid "Invalid entry" +#~ msgstr "Некоректний запис" + +#~ msgid "Certificate Already in File" +#~ msgstr "Сертифікат вже наявний у файлі" + +#~ msgid "This certificate is already in file %s, so it's not added again." +#~ msgstr "" +#~ "Цей сертифікат вже існує у файлі %s, програма не буде додавати його ще " +#~ "раз." + +#~ msgid "" +#~ "Security Warning\n" +#~ "\n" +#~ "The authenticity of the %(hostname)s SSL certificate could be invalid.\n" +#~ "SSL Error: %(error)s\n" +#~ "Do you still want to connect to this server?" +#~ msgstr "" +#~ "Попередження безпеки\n" +#~ "\n" +#~ "Дійсність сертифіката SSL %(hostname)s сумнівна.\n" +#~ "Помилка SSL: %(error)s\n" +#~ "Ви все ще бажаєте з’єднатися з цим сервером?" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA-256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Додати цей сертифікат до списку надійних сертифікатів.\n" +#~ "Відбиток SHA1 сертифікату:\n" +#~ "%(sha1)s\n" +#~ "Відбиток SHA256 сертифікату:\n" +#~ "%(sha256)s" + +#~ msgid "Account name is in use" +#~ msgstr "Цю назву облікового запису вже використано" + +#~ msgid "You already have an account using this name." +#~ msgstr "У вас вже є обліковий запис з такою назвою." + +#~ msgid "Show a warning dialog before using standard SSL library." +#~ msgstr "" +#~ "Показувати діалогове вікно попередження, перш ніж користуватися " +#~ "стандартною бібліотекою SSL." + +#, fuzzy +#~ msgid "If enabled, a whitespace is sent after inactivity (keep alive)." +#~ msgstr "Надсилання порожнього повідомлення після неактивності." + +#, fuzzy +#~ msgid "If enabled, an XMPP ping is sent after inactivity (ping alive)." +#~ msgstr "Надсилання XMPP ехо після неактивності." + +#~ msgid "Connection with account \"%s\" has been lost" +#~ msgstr "З’єднання з обліковим записом «%s» було втрачено" + +#~ msgid "Reconnect manually." +#~ msgstr "Виконати повторне з’єднання вручну." + +#~ msgid "Server %(name)s answered wrongly to register request: %(error)s" +#~ msgstr "" +#~ "Від сервера %(name)s було отримано помилкову відповідь на запит щодо " +#~ "реєстрації: %(error)s" + +#~ msgid "Server %s provided a different registration form" +#~ msgstr "На сервері %s передбачено іншу форму реєстрації" + +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "Не вдалося з’єднатися з «%(host)s» через проксі «%(proxy)s»" + +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "Не вдалося з’єднатися з «%(host)s»" + +#~ msgid "Check your connection or try again later." +#~ msgstr "Перевірте ваше з’єднання, а потім повторіть спробу." + +#~ msgid "Server replied: %s" +#~ msgstr "Збережено за адресою: %s" + +#~ msgid "Connection to proxy failed" +#~ msgstr "Спроба встановити з'єднання з проксі-сервером завершилася невдало" + +#~ msgid "Could not connect to account %s" +#~ msgstr "Не вдалося з’єднатися з обліковим записом %s" + +#~ msgid "Connection with account %s has been lost. Retry connecting." +#~ msgstr "" +#~ "З’єднання з обліковим записом було втрачено %s. Повторна спроба з’єднання." + +#~ msgid "Please check your login and password for correctness." +#~ msgstr "" +#~ "Будь ласка, перевірте, чи правильно вказано ім’я користувача і пароль." + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "HTTP-з’єднання" + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "BOSH" +#~ msgstr "BOSH" + +#~ msgid "Use HTTP prox_y" +#~ msgstr "Використовувати HTTP-проксі" + +#, fuzzy +#~ msgid "_BOSH URL" +#~ msgstr "_Адреса URL BOSH:" + +#, fuzzy +#~ msgid "BOSH" +#~ msgstr "BOSH" + +#, fuzzy +#~ msgid "Warn on insecure connection" +#~ msgstr "_Попереджати перед використанням незахищеного з’єднання" + +#, fuzzy +#~ msgid "Contact list, list of contacts" +#~ msgstr "_Записувати зміни стану контактів" + +#~ msgid "You are participating in one or more group chats" +#~ msgstr "Ви берете участь у одній або декількох групових балачках" + +#~ msgid "" +#~ "Changing your status to invisible will result in you leaving those group " +#~ "chats.\n" +#~ "Are you sure you want to go invisible?" +#~ msgstr "" +#~ "Зміна стану на «невидимий» призведе до вашого виходу з наведених групових " +#~ "балачок.\n" +#~ "Ви справді бажаєте змінити стан на «невидимий»?" + +#~ msgid "_Disconnect" +#~ msgstr "_Роз'єднати" + +#~ msgid "You cannot join a group chat while you are invisible" +#~ msgstr "" +#~ "Ви не можете приєднуватися до групової балачки зі станом «невидимий»" + +#~ msgid "Invisible" +#~ msgstr "Невидимка" + +#, fuzzy +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "" +#~ "Ви не можете приєднуватися до групової балачки зі станом «невидимий»" + +#~ msgid "_Invisible" +#~ msgstr "_Невидимий" + +#~ msgid "Yesterday" +#~ msgid_plural "%(nb_days)i days ago" +#~ msgstr[0] "Вчора" +#~ msgstr[1] "%(nb_days)i днi тому" +#~ msgstr[2] "" + +#, fuzzy +#~ msgid "_Cancel Upload" +#~ msgstr "_Скасувати" + +#~ msgid " [blocked]" +#~ msgstr " [заблоковано]" + +#~ msgid " [minimized]" +#~ msgstr " [мінімізовано]" + +#, fuzzy +#~ msgid "" +#~ "If you close this tab while having chat history disabled, this message " +#~ "will be lost." +#~ msgstr "" +#~ "Якщо ви закриєте вкладку, а журнал було вимкнено, це повідомлення буде " +#~ "втрачено." + +#, fuzzy +#~ msgid "Unregister Failed" +#~ msgstr "Спроба скасування реєстрації завершилася невдало" + +#, fuzzy +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "" +#~ "Видалення реєстрації з серверу %(server)s не вдалося через помилку: " +#~ "%(error)s" + +#, fuzzy +#~ msgid "New Password" +#~ msgstr "Зберегти пароль" + +#~ msgid "What do you want to do?" +#~ msgstr "Що ви хочете зробити?" + +#~ msgid "Remove account from Gajim and from _server" +#~ msgstr "Вилучити обліковий запис з Gajim та з _сервера" + +#, fuzzy +#~ msgid "You must enter a password" +#~ msgstr "Вам слід ввести пароль." + +#, fuzzy +#~ msgid "You still have open chats in your account %s" +#~ msgstr "Ви розпочали балачку за допомогою облікового запису %s" + +#, fuzzy +#~ msgid "To unregister from a server, the account must be enabled." +#~ msgstr "Щоб зняти реєстрацію з серверу, обліковий запис має бути активним." + +#, fuzzy +#~ msgid "Password required" +#~ msgstr "Слід ввести пароль" + +#, fuzzy +#~ msgid "Still connected to the server" +#~ msgstr "Ваш комп’ютер не з’єднано з сервером" + +#, fuzzy +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "Якщо ви вилучите його, з’єднання буде розірвано." + +#~ msgid "Connection to server %s failed" +#~ msgstr "Спроба встановити з'єднання з сервером %s завершилася невдало" + +#~ msgid "What would you like to do?" +#~ msgstr "Що ви хочете зробити?" + +#~ msgid "Remove only from Gajim" +#~ msgstr "Вилучити _лише з Gajim" + +#~ msgid "Don't remove anything. I'll try again later" +#~ msgstr "Не видаляти нічого. Я спробую пізніше ще раз." + +#, fuzzy +#~ msgid "Contents" +#~ msgstr "_Вміст" + +#, fuzzy +#~ msgid "FAQ" +#~ msgstr "_ЧаП" + +#~ msgid "Save as Preset Status Message" +#~ msgstr "Зберегти як стандартне повідомлення про стан" + +#~ msgid "Enter a new nickname for contact %s" +#~ msgstr "Введіть новий псевдонім для контакту %s" + +#, fuzzy +#~ msgid "Join a group chat" +#~ msgstr "у _групових балачках" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "_Прийняти" + +#~ msgid "New entry received" +#~ msgstr "Отримано новий запис" + +#~ msgid "You have received new entry:" +#~ msgstr "Ви отримали новий запис:" + +#~ msgid "Feed name:" +#~ msgstr "Назва подачі:" + +#~ msgid "Last modified:" +#~ msgstr "Востаннє змінено:" + +#~ msgid "Next entry" +#~ msgstr "Наступне" + +#, fuzzy +#~ msgid "Send file?" +#~ msgstr "Надіслати _файл" + +#, fuzzy +#~ msgid "Mail _client" +#~ msgstr "_Поштовий клієнт:" + +#, fuzzy +#~ msgid "_Browser" +#~ msgstr "_Веб-переглядач:" + +#, fuzzy +#~ msgid "_File manager" +#~ msgstr "_Менеджер файлів:" + +#, fuzzy +#~ msgid "Custom applications" +#~ msgstr "Використовувати типові програми" + +#~ msgid "Applications" +#~ msgstr "Програми" + +#, fuzzy +#~ msgid "" +#~ "Uses ReStructured text markup to send HTML, plus ASCII formatting if " +#~ "selected. Needs docutils installed (for syntax, see http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Використовує розмітку тексту ReStructured для надсилання HTML і " +#~ "форматування ascii, якщо його увімкнено. Правила синтаксису можна " +#~ "переглянути за адресою http://docutils.sourceforge.net/docs/ref/rst/" +#~ "restructuredtext.html (якщо бажаєте користуватися ними, встановіть " +#~ "docutils)" + +#, fuzzy +#~ msgid "Store XHTML messages in chat history instead of plain text messages." +#~ msgstr "Зберігати повідомлення як XHTML замість звичайного тексту." + +#, fuzzy +#~ msgid "_Ignore formatting of incoming messages" +#~ msgstr "_Ігнорувати позначки форматування у вхідних повідомленнях" + +#, fuzzy +#~ msgid "" +#~ "Some messages may include rich content (xhtml formatting, colors etc). If " +#~ "checked, Gajim will just display the plain message text." +#~ msgstr "" +#~ "У деяких повідомленнях може міститися текст з форматуванням (розташування " +#~ "тексту, кольори тощо). Якщо буде позначено цей пункт, Gajim показуватиме " +#~ "простий текст без форматування." + +#, fuzzy +#~ msgid "RST XHTML Generator" +#~ msgstr "Інструмент створення RST" + +#, fuzzy +#~ msgid "Requires: python-docutils" +#~ msgstr "Потрібні python-docutils." + +#~ msgid "New Single Message" +#~ msgstr "Створити окреме повідомлення" + +#, fuzzy +#~ msgid "" +#~ "Can be empty, 'chat' or 'normal'. If not empty, all incoming messages are " +#~ "treated as if they were of this type." +#~ msgstr "" +#~ "Може мати порожнє значення або значення 'chat' і 'normal'. Якщо вказано " +#~ "непорожнє значення, вважати всі вхідні повідомлення повідомленнями " +#~ "вказано типу" + +#~ msgid "Error %(code)s: %(msg)s" +#~ msgstr "Помилка %(code)s: %(msg)s" + +#~ msgid "twelve" +#~ msgstr "дванадцята" + +#~ msgid "one" +#~ msgstr "перша" + +#~ msgid "two" +#~ msgstr "друга" + +#~ msgid "three" +#~ msgstr "третя" + +#~ msgid "four" +#~ msgstr "четверта" + +#~ msgid "five" +#~ msgstr "п’ята" + +#~ msgid "six" +#~ msgstr "шоста" + +#~ msgid "seven" +#~ msgstr "сьома" + +#~ msgid "eight" +#~ msgstr "восьма" + +#~ msgid "nine" +#~ msgstr "дев’ята" + +#~ msgid "ten" +#~ msgstr "десята" + +#~ msgid "eleven" +#~ msgstr "одинадцята" + +#~ msgid "%(0)s o'clock" +#~ msgstr "%(0)s година" + +#~ msgid "five past %(0)s" +#~ msgstr "п'ять хвилин по %(0)s" + +#~ msgid "ten past %(0)s" +#~ msgstr "десять хвилин по %(0)s" + +#~ msgid "quarter past %(0)s" +#~ msgstr "чверть по %(0)s" + +#~ msgid "twenty past %(0)s" +#~ msgstr "двадцять хвилин по %(0)s" + +#~ msgid "twenty five past %(0)s" +#~ msgstr "двадцять п'ять хвилин по %(0)s" + +#~ msgid "half past %(0)s" +#~ msgstr "пів на %(0)s" + +#~ msgid "twenty five to %(1)s" +#~ msgstr "за двадцять п'ять хвилин %(1)s" + +#~ msgid "twenty to %(1)s" +#~ msgstr "за двадцять хвилин %(1)s" + +#~ msgid "quarter to %(1)s" +#~ msgstr "за чверть %(1)s" + +#~ msgid "ten to %(1)s" +#~ msgstr "за десять хвилин %(1)s" + +#~ msgid "five to %(1)s" +#~ msgstr "за п’ять хвилин %(1)s" + +#~ msgid "%(1)s o'clock" +#~ msgstr "%(1)s годин" + +#~ msgid "Night" +#~ msgstr "Ніч" + +#~ msgid "Early morning" +#~ msgstr "Вдосвіта" + +#~ msgid "Morning" +#~ msgstr "Ранок" + +#~ msgid "Almost noon" +#~ msgstr "Майже полудень" + +#~ msgid "Noon" +#~ msgstr "Полудень" + +#~ msgid "Afternoon" +#~ msgstr "Після обіду" + +#~ msgid "Evening" +#~ msgstr "Вечір" + +#~ msgid "Late evening" +#~ msgstr "Пізній вечір" + +#~ msgid "Start of week" +#~ msgstr "Початок тижня" + +#~ msgid "Middle of week" +#~ msgstr "Середина тижня" + +#~ msgid "End of week" +#~ msgstr "Кінець тижня" + +#~ msgid "Weekend!" +#~ msgstr "Вихідні!" + +#, fuzzy +#~ msgid "" +#~ "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or " +#~ "0 to disable Fuzzy Clock. 1 is the most precise clock, 4 the least " +#~ "precise one. This is used only if 'print_time' is 'sometimes'." +#~ msgstr "" +#~ "Показувати час у балачках за допомогою Fuzzy Clock. Значення нечіткості " +#~ "може змінюватися у межах від 1 до 4, значення 0 вимикає нечіткий " +#~ "годинник. 1 — найточніше відображення часу, 4 — найменш точне. Цей " +#~ "параметр буде використано, лише якщо параметр print_time має значення " +#~ "'sometimes'." + +#~ msgid "message" +#~ msgstr "повідомлення" + +#, fuzzy +#~ msgid "error: %s" +#~ msgstr "Помилка: %s" + +#, fuzzy +#~ msgid "Form: %s" +#~ msgstr "Форма %s" + +#~ msgid "XML Input" +#~ msgstr "Ввід XML" + +#, fuzzy +#~ msgid "Ttitle" +#~ msgstr "_Назва:" + +#, fuzzy +#~ msgid "%(type)s encryption is active %(authenticated)s" +#~ msgstr "%(type)s шифрування увімкнено %(authenticated)s." + +#~ msgid "Screen" +#~ msgstr "Екран" + +#~ msgid "Fake video output" +#~ msgstr "Фіктивний відео вихід" + +#~ msgid "X Window System (X11/XShm/Xv): %s" +#~ msgstr "Система X Window (X11/XShm/Xv): %s" + +#~ msgid "X Window System (without Xv)" +#~ msgstr "Система X Window (без Xv)" + +#, fuzzy +#~ msgid "V_ideo output device" +#~ msgstr "Пристрій відтворення відео" + +#~ msgid "Conversation with " +#~ msgstr "Спілкування з" + +#~ msgid "Continued conversation" +#~ msgstr "Спілкування з продовженням" + +#~ msgid "%s has invited you to join a discussion" +#~ msgstr "%s запрошує вас до участі в обговоренні" + +#~ msgid "_Send Private Message" +#~ msgstr "_Надіслати конфіденційне повідомлення" + +#, fuzzy +#~ msgid "Participant Actions" +#~ msgstr "Учасники" + +#~ msgid "_Voice" +#~ msgstr "_Голос" + +#~ msgid "Mo_derator" +#~ msgstr "Мо_дератор" + +#~ msgid "_Member" +#~ msgstr "_Учасник" + +#~ msgid "_Admin" +#~ msgstr "_Адміністратор" + +#~ msgid "_Owner" +#~ msgstr "_Власник" + +#, fuzzy +#~ msgid "_Add to Contact List" +#~ msgstr "_Додати контакт..." + +#, fuzzy +#~ msgid "_Execute command" +#~ msgstr "Ви_конати команду" + +#~ msgid "Change _Nickname..." +#~ msgstr "Змінити _псевдонім..." + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "_Створити групову балачку" + +#~ msgid "Change _Subject..." +#~ msgstr "Змінити _тему..." + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "Приєднатись до _групової балачки" + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "_Створити групову балачку" + +#~ msgid "_Minimize on close" +#~ msgstr "_Мінімізувати після закриття" + +#~ msgid "_Request Voice" +#~ msgstr "_Запит голосу" + +#~ msgid "_Bookmark" +#~ msgstr "_Закладка" + +#~ msgid "The authenticity of the %s certificate could be invalid" +#~ msgstr "Достовірність сертифіката %s знаходиться під питанням." + +#~ msgid "" +#~ "\n" +#~ "Unknown SSL error: %d" +#~ msgstr "" +#~ "\n" +#~ "Невідома помилка SSL: %d" + +#~ msgid "" +#~ "\n" +#~ "SSL Error: %s" +#~ msgstr "" +#~ "\n" +#~ "Помилка SSL: %s" + +#~ msgid "Error verifying SSL certificate" +#~ msgstr "Помилка під час перевірки сертифіката SSL" + +#, fuzzy +#~ msgid "View certificate…" +#~ msgstr "Перегляд сертифікату..." + +#, fuzzy +#~ msgid "Continue" +#~ msgstr "_Продовжити" + +#~ msgid "" +#~ "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM " +#~ "IS RUNNING)" +#~ msgstr "" +#~ "Бажаєте спорожнити базу даних? (НАПОЛЕГЛИВО НЕ РЕКОМЕНДУЄМО ЦЬОГО РОБИТИ, " +#~ "ЯКЩО ЗАПУЩЕНО GAJIM)" + +#, fuzzy +#~ msgid "Authorization" +#~ msgstr "Було надіслано уповноваження" + +#, fuzzy +#~ msgid "" +#~ "All chat and group chat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Всі вікна балачок і групових балачок буде закрито. Бажаєте продовжити " +#~ "процедуру виходу?" + +#, fuzzy +#~ msgid "Account '%s' is still connected to the server" +#~ msgstr "Обліковий запис «%s» з’єднано з сервером" + +#~ msgid "Error While Saving" +#~ msgstr "Помилка при збереженні" + +#~ msgid "" +#~ "Image cannot be saved in %(type)s format.\n" +#~ "Save as %(new_filename)s?" +#~ msgstr "" +#~ "Зображення не може бути збережено у форматі %(type)s.\n" +#~ "Зберегти як %(new_filename)s?" + +#~ msgid "Save _As" +#~ msgstr "Зберегти _як" + +#~ msgid "Yes, I really want to connect insecurely" +#~ msgstr "Так, я справді бажаю знехтувати безпекою" + +#~ msgid "Gajim will NOT connect unless you check this box" +#~ msgstr "Gajim НЕ буде з’єднуватись доки ви не відмітите цю опцію" + +#, fuzzy +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "Некоректний ідентифікатор Jabber групової балачки" + +#, fuzzy +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "" +#~ "У ідентифікаторі Jabber групової балачки містяться недозволені символи." + +#~ msgid "You may specify a reason below:" +#~ msgstr "Нижче ви можете зазначити причину:" + +#~ msgid "Banning %s" +#~ msgstr "Блокування %s" + +#, fuzzy +#~ msgid "" +#~ "Always ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Завжди запитувати про дію перед закриттям вікна або вкладки групової " +#~ "балачки, яку вказано у цьому відокремленому пробілами списку jid групових " +#~ "балачок." + +#, fuzzy +#~ msgid "" +#~ "Never ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "" +#~ "Ніколи не запитувати про дію перед закриттям вікна або вкладки групової " +#~ "балачки, яку вказано у цьому відокремленому пробілами списку jid групових " +#~ "балачок." + +#, fuzzy +#~ msgid "Leave Group Chats" +#~ msgstr "Полишити групові балачки" + +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "%(nickname)s у %(room_jid)s" + +#, fuzzy +#~ msgid "You have not joined a group chat." +#~ msgstr "Ви не приєдналися до групової балачки." + +#, fuzzy +#~ msgid "Choose the group chats you want to leave" +#~ msgstr "Оберіть групові балачки, які ви бажаєте полишити" + +#, fuzzy +#~ msgid "You left the following group chats:" +#~ msgstr "Ви полишили такі групові балачки:" + +#, fuzzy +#~ msgid "" +#~ "Should automatic rejoin be activated when you were kicked from a group " +#~ "chat?" +#~ msgstr "" +#~ "Чи має бути активним автоматичне повторне підключення у випадку якщо вас " +#~ "викинули з конференції?" + +#, fuzzy +#~ msgid "" +#~ "If disabled, Gajim will display a static event icon instead of the " +#~ "blinking status icon in the notification area when notifying about an " +#~ "event." +#~ msgstr "" +#~ "Якщо «Ні», Gajim покаже статичну піктограму події, замість миготливого " +#~ "значка у зоні сповіщень." + +#~ msgid "Don't show avatar for the transport itself." +#~ msgstr "Не показувати аватар транспорту." + +#, fuzzy +#~ msgid "" +#~ "Show a confirmation dialog for a custom status? Empty string means never " +#~ "show the dialog." +#~ msgstr "" +#~ "Чи слід показувати діалогове вікно підтвердження створення особливих " +#~ "статусів? Порожній рядок вказуватиме на те, що це діалогове вікно не слід " +#~ "показувати." + +#, fuzzy +#~ msgid "" +#~ "If enabled, notification windows from notification-daemon will be " +#~ "attached to the notification area icon." +#~ msgstr "" +#~ "Якщо цей параметр матиме значення «True», вікна сповіщення від фонової " +#~ "служби сповіщення (notification-daemon) буде приєднано до піктограми у " +#~ "системному лотку." + +#~ msgid "" +#~ "Show a warning dialog before sending PLAIN password over a plain " +#~ "connection." +#~ msgstr "" +#~ "Показувати діалогове вікно попередження, перш ніж надсилати відкритий " +#~ "пароль незашифрованим з'єднанням." + +#, fuzzy +#~ msgid "" +#~ "List of XMPP Addresses (space separated) for which you accept to not " +#~ "store chat history if your contact does not want to." +#~ msgstr "" +#~ "Розділений пробілами перелік ідентифікаторів JID для яких ви згодні не " +#~ "зберігати записи якщо вони цього не хочуть." + +#, fuzzy +#~ msgid "Jabberd2 workaround." +#~ msgstr "Обхідний прийом для Jabberd2" + +#, fuzzy +#~ msgid "Configure Services…" +#~ msgstr "Налаштувати служби..." + +#, fuzzy +#~ msgid "Group Chat Bookmarks" +#~ msgstr "_Групова балачка" + +#, fuzzy +#~ msgid "Add Bookmark" +#~ msgstr "_Закладка" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "_Закладка" + +#, fuzzy +#~ msgid "_Server" +#~ msgstr "_Сервер:" + +#, fuzzy +#~ msgid "Roo_m" +#~ msgstr "Кімната:" + +#, fuzzy +#~ msgid "_Password" +#~ msgstr "_Password:" + +#, fuzzy +#~ msgid "Join chat when connected" +#~ msgstr "Контакт від'єднано" + +#~ msgid "New Group Chat" +#~ msgstr "Створити групову балачку" + +#~ msgid "This bookmark has invalid data" +#~ msgstr "У цій закладці містяться некоректні дані" + +#, fuzzy +#~ msgid "" +#~ "Please be sure to fill out server and group chat fields or remove this " +#~ "bookmark." +#~ msgstr "" +#~ "Будь ласка, заповніть поля сервера і кімнати або вилучіть цю закладку." + +#~ msgid "Character not allowed" +#~ msgstr "Заборонений символ" + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "Некоректний ідентифікатор Jabber групової балачки" + +#~ msgid "Unable to join group chat" +#~ msgstr "Не вдалося приєднатися до групової балачки" + +#~ msgid "You are banned from group chat %s." +#~ msgstr "Вас заблокували у груповій балачці %s." + +#, fuzzy +#~ msgid "Remote server %s does not exist." +#~ msgstr "Групової балачки %s не існує." + +#~ msgid "Group chat %s does not exist." +#~ msgstr "Групової балачки %s не існує." + +#, fuzzy +#~ msgid "Group chat creation is not permitted." +#~ msgstr "Можливість створення групових балачок обмежено." + +#, fuzzy +#~ msgid "You must use your registered nickname in %s." +#~ msgstr "" +#~ "Для групової балачки %s слід використовувати псевдонім, під яким " +#~ "ви зареєструвалися." + +#, fuzzy +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "Вас немає у списку постійних учасників групової балачки %s." + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "Це не групова балачка" + +#~ msgid "This is not a group chat" +#~ msgstr "Це не групова балачка" + +#, fuzzy +#~ msgid "Please choose a group chat" +#~ msgstr "Будь ласка, спершу створіть нову порожню тему з бажаною назвою." + +#~ msgid "Invalid Nickname" +#~ msgstr "Некоректний псевдонім" + +#~ msgid "Wrong server" +#~ msgstr "Неправильний сервер" + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "%s не є сервером групових балачок" + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit." +#~ msgstr "" +#~ "Як багато робити запитів до сервера при під'єднанні до групової балачки. " +#~ "-1 означає без обмежень" + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit." +#~ msgstr "" +#~ "За скільки хвилин запитувати журнал, при вході у групову балачку. -1 " +#~ "означає без обмеження" + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit, -2 means global value." +#~ msgstr "" +#~ "Як багато робити запитів до сервера при під’єднанні до групової балачки. " +#~ "-1 означає без обмежень, -2 означає глобальні налаштування" + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit, -2 means global value." +#~ msgstr "" +#~ "За скільки хвилин запитувати журнал, при вході у групову балачку. -1 " +#~ "означає без обмеження, -2 означає глобальні налаштування." + +#, fuzzy +#~ msgid "A Password is required to join the group chat %s. Please type it." +#~ msgstr "" +#~ "Для приєднання до кімнати %s потрібен пароль. Будь ласка, введіть його." + +#~ msgid "Not in Roster" +#~ msgstr "Немає у реєстрі" + +#~ msgid "I would like to add you to my roster" +#~ msgstr "Я хочу додати вас до свого реєстру" + +#~ msgid "Add to Roster" +#~ msgstr "Додати до реєстру" + +#, fuzzy +#~ msgid "Audio Session" +#~ msgstr "Тест аудіо" + +#~ msgid "Manage Room" +#~ msgstr "Керування кімнатою" + +#~ msgid "Configure Room" +#~ msgstr "Налаштувати кімнату..." + +#~ msgid "Destroy Room" +#~ msgstr "Знищити кімнату" + +#, fuzzy +#~ msgid "Change Nick" +#~ msgstr "Змінити _псевдонім..." + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "_Роз'єднати" + +#, fuzzy +#~ msgid "Copy JID" +#~ msgstr "JID кімнати" + +#, fuzzy +#~ msgid "Add to Roster…" +#~ msgstr "_Додати до реєстру" + +#, fuzzy +#~ msgid "Copy JID/Email" +#~ msgstr "_Копіювати JID/адресу електронної пошти" + +#, fuzzy +#~ msgid "JID: %s" +#~ msgstr "Jabber ID: %s" + +#~ msgid "Changing Subject" +#~ msgstr "Зміна теми" + +#~ msgid "Please specify the new subject:" +#~ msgstr "Будь ласка, вкажіть нову тему:" + +#~ msgid "Room logging is now enabled" +#~ msgstr "Тепер увімкнено запис повідомлень кімнати" + +#~ msgid "Room logging is now disabled" +#~ msgstr "Тепер запис кімнати вимкнено" + +#, fuzzy +#~ msgid "You (%s) joined the room" +#~ msgstr "%s приєднався до групової балачки" + +#~ msgid "Room logging is enabled" +#~ msgstr "Увімкнено запис кімнати" + +#, fuzzy +#~ msgid "Unable to join groupchat" +#~ msgstr "Не вдалося приєднатися до групової балачки" + +#~ msgid "Groupchat Invitation" +#~ msgstr "Запрошення до групової балачки" + +#~ msgid "%(jid)s has been invited in this room" +#~ msgstr "%(jid)s було запрошено до цієї кімнати" + +#, fuzzy +#~ msgid "JID is not a Groupchat" +#~ msgstr "Це не групова балачка" + +#~ msgid "Invalid JID" +#~ msgstr "Некоректний JID" + +#~ msgid "A connection is not available" +#~ msgstr "З'єднання недоступне" + +#, fuzzy +#~ msgid "JID already in list" +#~ msgstr "Ідентифікатор Jabber вже є у списку" + +#, fuzzy +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "З'єднання недоступне" + +#~ msgid "Removes contact from roster" +#~ msgstr "Вилучає контакт з реєстру" + +#~ msgid "Not in roster" +#~ msgstr "Немає у реєстрі" + +#~ msgid "Contact signed in notification color." +#~ msgstr "Колір сповіщення появи контакту" + +#~ msgid "Contact signout notification color" +#~ msgstr "Колір сповіщення виходу контакту" + +#~ msgid "File transfer request notification color." +#~ msgstr "Колір сповіщення передавання файлів" + +#~ msgid "File transfer error notification color." +#~ msgstr "Колір сповіщення про помилку передавання файлу" + +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "Колір сповіщення про закінчене або зупинене передавання файлів" + +#~ msgid "Groupchat invitation notification color" +#~ msgstr "Колір запрошення до групової балачки" + +#~ msgid "Other dialogs color." +#~ msgstr "Інші кольори діалогів" + +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "Додати * і [n] у заголовок реєстру?" + +#~ msgid "Hides the banner in two persons chat window" +#~ msgstr "Ховає підпис у вікні балачки між двома особами" + +#, fuzzy +#~ msgid "" +#~ "Show the confirm metacontacts creation dialog or not? Empty string means " +#~ "never show the dialog." +#~ msgstr "" +#~ "Чи слід показувати діалогове вікно підтвердження створення метаконтактів? " +#~ "Порожній рядок вказуватиме на те, що це діалогове вікно не слід " +#~ "показувати." + +#, fuzzy +#~ msgid "If true, You will also see your webcam" +#~ msgstr "Якщо «Так», ви також бачитимете власну вебкамеру." + +#~ msgid "Space separated list of ssl errors to ignore." +#~ msgstr "Відокремлений пробілами список помилок ssl, які слід ігнорувати." + +#~ msgid "Answer to receipt requests" +#~ msgstr "Відповідати на запити щодо підтвердження отримання" + +#, fuzzy +#~ msgid "Language for which misspelled words will be checked" +#~ msgstr "Мова, згідно правил якої відбуватиметься перевірка правопису слів" + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "Зараз їм, залиште повідомлення, перегляну пізніше." + +#, fuzzy +#~ msgid "from room %s" +#~ msgstr " з кімнати %s" + +#~ msgid "Leave Groupchats" +#~ msgstr "Полишити групові балачки" + +#, fuzzy +#~ msgid "Auto Join" +#~ msgstr "Автоматичне приєднання" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "Кімната:" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#~ msgid "Occupant Actions" +#~ msgstr "Дії учасника" + +#~ msgid "_Add to Roster" +#~ msgstr "_Додати до реєстру" + +#~ msgid "_Manage Room" +#~ msgstr "_Керування кімнатою" + +#~ msgid "Configure _Room..." +#~ msgstr "Налаштувати _кімнату..." + +#~ msgid "_Destroy Room" +#~ msgstr "_Знищити кімнату" + +#~ msgid "Jabber ID" +#~ msgstr "Jabber ID:" + +#, fuzzy +#~ msgid "account" +#~ msgstr "Обліковий запис" + +#, fuzzy +#~ msgid "Roster" +#~ msgstr "Показати _реєстр" + +#~ msgid "Show only in roster" +#~ msgstr "_Показати лише у реєстрі" + +#~ msgid "in _roster" +#~ msgstr "у _реєстрі" + +#~ msgid "Roster Appearance" +#~ msgstr "Вигляд реєстру" + +#~ msgid "_Add to Roster..." +#~ msgstr "_Додати до реєстру..." + +#~ msgid "_Jabber ID:" +#~ msgstr "_Jabber ID:" + +#, fuzzy +#~ msgid "_Jabber ID" +#~ msgstr "_Jabber ID:" + +#~ msgid "JabberID" +#~ msgstr "JabberID" + +#, fuzzy +#~ msgid "Show Roster" +#~ msgstr "Показати _реєстр" + +#~ msgid "MUC server" +#~ msgstr "Сервер групової балачки" + +#, fuzzy +#~ msgid "Roster Shortcuts" +#~ msgstr "Гарячі клавіші" + +#~ msgid "Room Configuration" +#~ msgstr "Налаштування кімнати" + +#~ msgid "Join _Group Chat" +#~ msgstr "Приєднатись до _групової балачки" + +#~ msgid "Toggle audio session" +#~ msgstr "Перемкнути аудіо сессію" + +#~ msgid "Audio sessions are not available" +#~ msgstr "Аудіо сесія недоступна" + +#~ msgid "Conference" +#~ msgstr "Конференція" + +#, fuzzy +#~ msgid "_Manage Bookmarks…" +#~ msgstr "Керування закладками" + +#~ msgid "Hide _Roster" +#~ msgstr "Сховати реєстр" + +#~ msgid "Show _Roster" +#~ msgstr "Показати _реєстр" + +#, fuzzy +#~ msgid "Invalid Room" +#~ msgstr "Некоректна кімната" + +#~ msgid "Invalid room" +#~ msgstr "Некоректна кімната" + +#~ msgid "A GTK+ Jabber client" +#~ msgstr "Jabber клієнт, що базується на GTK+" + +#~ msgid "Changing Nickname" +#~ msgstr "Зміна псевдоніма" + +#~ msgid "Please specify the new nickname you want to use:" +#~ msgstr "Будь ласка, вкажіть новий псевдонім, яким ви бажаєте скористатися:" + +#~ msgid "Bookmark already set" +#~ msgstr "Закладку вже встановлено" + +#, fuzzy +#~ msgid "Group Chat '%s' is already in your bookmarks." +#~ msgstr "Закладка на груповій балачці «%s» вже існує." + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "Закладку було успішно додано" + +#, fuzzy +#~ msgid "" +#~ "You can manage your bookmarks by clicking the Bookmarks menu item in your " +#~ "contact list." +#~ msgstr "" +#~ "Керувати вашими закладками можна за допомогою меню дій у вашому реєстрі." + +#~ msgid "The nickname contains invalid characters." +#~ msgstr "У псевдонімі є недозволені символи." + +#~ msgid "Bookmark Room" +#~ msgstr "Зробити закладку на цій кімнаті" + +#~ msgid "_Join New Group Chat" +#~ msgstr "_Приєднатись до нової групової балачки" + +#, fuzzy +#~ msgid "Name:" +#~ msgstr "Назва: " + +#~ msgid "Description:" +#~ msgstr "Опис: " + +#, fuzzy +#~ msgid "Address:" +#~ msgstr "_Адреса:" + +#, fuzzy +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "" +#~ "Вам слід з’єднати ваш обліковий запис, щоб взяти участь у груповій " +#~ "балачці." + +#, fuzzy +#~ msgid "Occupants" +#~ msgstr "Дії учасника" + +#~ msgid "_Modify Account..." +#~ msgstr "_Змінити обліковий запис..." + +#~ msgid "Boolean" +#~ msgstr "Булеве" + +#~ msgid "Integer" +#~ msgstr "Ціле число" + +#~ msgid "Text" +#~ msgstr "Текст" + +#~ msgid "Value" +#~ msgstr "Значення" + +#~ msgid "(None)" +#~ msgstr "(Немає)" + +#~ msgid "Hidden" +#~ msgstr "Сховано" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "Керування профілями проксі" + +#, fuzzy +#~ msgid "Properties" +#~ msgstr "Властивості" + +#, fuzzy +#~ msgid "Proxy _Port" +#~ msgstr "Проксі-п_орт:" + +#, fuzzy +#~ msgid "New Groupchat" +#~ msgstr "Створити групову балачку" + +#, fuzzy +#~ msgid "New Contact" +#~ msgstr "Додати новий контакт" + +#~ msgid "%s GiB" +#~ msgstr "%s ГіБ" + +#~ msgid "%s GB" +#~ msgstr "%s ГБ" + +#~ msgid "%s MiB" +#~ msgstr "%s МіБ" + +#~ msgid "%s MB" +#~ msgstr "%s МБ" + +#~ msgid "%s KiB" +#~ msgstr "%s кіБ" + +#~ msgid "%s KB" +#~ msgstr "%s кБ" + +#~ msgid "%s B" +#~ msgstr "%s Б" + +#, fuzzy +#~ msgid "%s MiB/s" +#~ msgstr "%s МіБ" + +#~ msgid "File transfer" +#~ msgstr "Перенесення файлів" + +#, fuzzy +#~ msgid "Open _Containing Folder" +#~ msgstr "В_ідкриту теку, яка містить цей файл" + +#, fuzzy +#~ msgid "Default:" +#~ msgstr "Типовий" + +#, fuzzy +#~ msgid "toolbutton" +#~ msgstr "кнопка" + +#~ msgid "Really quit Gajim?" +#~ msgstr "Справді вийти з Gajim?" + +#~ msgid "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" +#~ msgstr "" +#~ "Ви більше не зможете надсилати і отримувати повідомлення від контактів за " +#~ "допомогою цих транспортів: %s" + +#~ msgid "Contact \"%s\" will be removed from your roster" +#~ msgstr "Контакт «%s» буде вилучено з вашого реєстру" + +#, fuzzy +#~ msgid "" +#~ "By removing this contact you also by default remove authorization " +#~ "resulting in them always seeing you as offline." +#~ msgstr "" +#~ "Вилучення цього контакту призведе до вилучення уповноваження, отже він " +#~ "або вона не зможуть визначати, коли ви перебуватимете у мережі." + +#~ msgid "Contacts will be removed from your roster" +#~ msgstr "Контакти буде вилучено з вашого реєстру" + +#~ msgid "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorization resulting in them always seeing you as " +#~ "offline." +#~ msgstr "" +#~ "Вилучення цих контактів:%s\n" +#~ "призведе до вилучення уповноваження, отже для них ви завжди " +#~ "залишатиметеся поза мережею." + +#, fuzzy +#~ msgid "Con_tinue" +#~ msgstr "_Продовжити" + +#~ msgid "_Pause" +#~ msgstr "П_ризупинити" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "Вилучити передавання файла зі списку." + +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "" +#~ "За допомогою цього пункту можна вилучити окреме передавання файла зі " +#~ "списку. Якщо це передавання ще триває, його буде зупинено, а потім вже " +#~ "вилучено" + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "Скасовує обране передавання файла" + +#, fuzzy +#~ msgid "Hide the window" +#~ msgstr "Сховати вікно" + +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "Показувати контекстне сповіщення про завершення передавання файла" + +#~ msgid "From:" +#~ msgstr "Від:" + +#~ msgid "Subject:" +#~ msgstr "Тема:" + +#~ msgid "%s wants to send you a file:" +#~ msgstr "%s бажає надіслати вам файл:" + +#~ msgid "Name: " +#~ msgstr "Назва: " + +#~ msgid "Pause" +#~ msgstr "Призупинити" + +#, fuzzy +#~ msgid "Execute Command" +#~ msgstr "Ви_конати команду" + +#~ msgid "Type: " +#~ msgstr "Тип: " + +#~ msgid "Transferred: " +#~ msgstr "Передано:" + +#~ msgid "Completed" +#~ msgstr "Завершено" + +#~ msgid "Stalled" +#~ msgstr "Заблоковано" + +#~ msgid "Transferring" +#~ msgstr "Перенесення" + +#~ msgid "Not started" +#~ msgstr "Не розпочато" + +#, fuzzy +#~ msgid "%s day" +#~ msgid_plural "%s days" +#~ msgstr[0] "%i день" +#~ msgstr[1] "%i дні" +#~ msgstr[2] "%i днів" + +#~ msgid "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" +#~ msgstr "" +#~ "Всі вікна балачок і групових балачок буде закрито. Бажаєте продовжити " +#~ "процедуру виходу?" + +#~ msgid "" +#~ "Your desired nickname in group chat\n" +#~ "%s\n" +#~ "is in use or registered by another occupant.\n" +#~ "Please specify another nickname below:" +#~ msgstr "" +#~ "Псевдонім у груповій балачці\n" +#~ "%s\n" +#~ "який ви бажали використати, вже використовує інший учасник.\n" +#~ "Будь ласка, вкажіть нижче інший псевдонім:" + +#~ msgid "_Configure" +#~ msgstr "_Налаштувати..." + +#~ msgid "Change the avatar" +#~ msgstr "Змінити аватар" + +#~ msgid "" +#~ "Account in which the avatar will be set; if not specified, the avatar " +#~ "will be set for all accounts" +#~ msgstr "" +#~ "Обліковий запис, на для якого буде встановлено аватар; якщо не вказано, " +#~ "аватар буде встановлено до всіх облікових записів" + +#~ msgid "add" +#~ msgstr "додати" + +#~ msgid "modify" +#~ msgstr "змінити" + +#~ msgid "remove" +#~ msgstr "вилучити" + +#, fuzzy +#~ msgid "" +#~ "If true, restored messages will use a smaller font than the default one." +#~ msgstr "" +#~ "Якщо цей параметр матиме значення «True», відновлені повідомлення буде " +#~ "показано меншим ніж типовий шрифтом." + +#, fuzzy +#~ msgid "Restored Message Color" +#~ msgstr "В_ідновити типові кольори" + +#, fuzzy +#~ msgid "" +#~ "You are going to remove this room permanently.\n" +#~ "You may specify a reason below:" +#~ msgstr "" +#~ "Ви маєте намір знищити цю кімнату.\n" +#~ "Нижче ви можете вказати причину цього рішення:" + +#~ msgid "Send Cus_tom Status" +#~ msgstr "Надіслати не_типовий стан" + +#~ msgid "" +#~ "You are about to send a custom status. Are you sure you want to continue?" +#~ msgstr "" +#~ "Ви маєте намір надіслати особливий статус. Ви справді цього бажаєте?" + +#, fuzzy +#~ msgid "" +#~ "This contact will temporarily see you as %(status)s, but only until you " +#~ "change your status. Then they will see your global status." +#~ msgstr "" +#~ "Цей контакт тимчасово бачитиме вас як %(status)s, но лише до зміни вашого " +#~ "статусу. Потім він бачитиме ваш глобальний статус." + +#, fuzzy +#~ msgid "" +#~ msgstr "Тема" + +#~ msgid "#" +#~ msgstr "№" + +#~ msgid "You are about to block a contact. Are you sure you want to continue?" +#~ msgstr "Ви маєте намір створити метаконтакт. Ви справді цього бажаєте?" + +#~ msgid "To:" +#~ msgstr "Кому:" + +#~ msgid "0" +#~ msgstr "0" + +#~ msgid "" +#~ "If enabled and if server supports this feature, Gajim will receive " +#~ "messages sent and received by other resources." +#~ msgstr "" +#~ "Якщо увімкнено та сервер підтримує цю можливість, Gajim буде отримувати " +#~ "повідомлення надіслані та отримані іншими ресурсами." + +#, fuzzy +#~ msgid "Reconnect when connection is lost" +#~ msgstr "Автоматично відновлювати втрачене з'єднання" + +#, fuzzy +#~ msgid "Server Message Archive" +#~ msgstr "_Надіслати серверне повідомлення..." + +#, fuzzy +#~ msgid "Message Carbons" +#~ msgstr "Повідомлення" + +#~ msgid "" +#~ "Sent chat state notifications. Can be one of all, composing_only, " +#~ "disabled." +#~ msgstr "" +#~ "Надсилати сповіщення про стан балачки. Може мати значення all, " +#~ "composing_only, disabled." + +#, fuzzy +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "Дозволити надсилання часу бездіяльності" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the idle time of your system" +#~ msgstr "" +#~ "Якщо буде позначено цей пункт, Gajim дозволить іншим визначати ваш " +#~ "місцевий час" + +#, fuzzy +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "Дозволити надсилання інформації про місцевий час" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the local time on your system" +#~ msgstr "" +#~ "Якщо буде позначено цей пункт, Gajim дозволить іншим визначати ваш " +#~ "місцевий час" + +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "Дозволити надсилання інформації про _операційну систему" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the operating system you are " +#~ "using" +#~ msgstr "" +#~ "Якщо буде позначено цей пункт, Gajim дозволить іншим визначати, яку " +#~ "операційну систему ви використовуєте" + +#, fuzzy +#~ msgid "" +#~ "If checked, incoming events from unauthorized contacts will be ignored. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster." +#~ msgstr "" +#~ "Якщо буде позначено цей пункт, Gajim ігноруватиме вхідні повідомлення про " +#~ "події від неуповноважених контактів. Вам слід бути обережним з цією " +#~ "можливістю, оскільки її за її використання всі повідомлення від " +#~ "контактів, яких немає у реєстрі, буде заблоковано." + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." +#~ msgstr "" +#~ "Gajim може надсилати та отримувати метаінформацію пов'язану з вашим " +#~ "спілкуванням з контактом. Тут ви можете зазначити стани, які ви бажаєте " +#~ "надсилати іншому учаснику балачки." + +#, fuzzy +#~ msgid "S_end chat state notifications" +#~ msgstr "_Надсилати сповіщення про стан балачки:" + +#, fuzzy +#~ msgid "Login Options" +#~ msgstr "Опції:" + +#~ msgid "Please wait while retrieving search form..." +#~ msgstr "Будь ласка, зачекайте на отримання пошукової форми..." + +#~ msgid "_Add contact" +#~ msgstr "Дод_ати контакт" + +#~ msgid "Ad-hoc Commands - Gajim" +#~ msgstr "Ad-hoc команди — Gajim" + +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "Будь ласка, зачекайте на отримання переліку команд..." + +#~ msgid "Choose command to execute:" +#~ msgstr "Оберіть команду для виконання:" + +#~ msgid "Check once more" +#~ msgstr "Перевірити ще раз" + +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "Будь ласка, зачекайте на надсилання команди..." + +#~ msgid "This jabber entity does not expose any commands." +#~ msgstr "Цей об’єкт jabber не виконує жодних команд." + +#~ msgid "F_inish" +#~ msgstr "_Завершити" + +#~ msgid "Waiting for results" +#~ msgstr "Очікування на результати" + +#~ msgid "Error in received dataform" +#~ msgstr "Помилка у отриманих даних" + +#~ msgid "No result" +#~ msgstr "Результату немає" + +#~ msgid "Failed to get secret keys" +#~ msgstr "Спроба отримання закритих ключів завершилася невдало" + +#~ msgid "There is no OpenPGP secret key available." +#~ msgstr "Немає доступних закритих ключів OpenPGP." + +#~ msgid "OpenPGP Key Selection" +#~ msgstr "Вибір ключа OpenPGP" + +#~ msgid "Choose your OpenPGP key" +#~ msgstr "Оберіть свій ключ OpenPGP" + +#~ msgid "KeyID" +#~ msgstr "KeyID" + +#~ msgid "Contact name" +#~ msgstr "Ім'я контакту" + +#, fuzzy +#~ msgid "Formatting is not available so long as GPG is active" +#~ msgstr "Форматування не доступне коли активовано GPG" + +#~ msgid "OpenPGP is not usable" +#~ msgstr "GPG непридатне для використання" + +#~ msgid "Assign OpenPGP Key" +#~ msgstr "Призначити ключ OpenPGP" + +#~ msgid "Select a key to apply to the contact" +#~ msgstr "Оберіть ключ для використання з цим контактом" + +#~ msgid "" +#~ "You configured Gajim to use OpenPGP agent, but there is no OpenPGP agent " +#~ "running or it returned a wrong passphrase.\n" +#~ msgstr "" +#~ "Ви налаштували Gajim на використання агента GPG, але агент GPG не " +#~ "запущено або цей агент повернув помилковий пароль.\n" + +#~ msgid "You are currently connected without your OpenPGP key." +#~ msgstr "Ви виконали з’єднання без вашого ключа OpenPGP." + +#, fuzzy +#~ msgid "Wrong passphrase" +#~ msgstr "Вказано помилковий пароль" + +#, fuzzy +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "Вказано помилковий пароль" + +#~ msgid "Passphrase Required" +#~ msgstr "Слід вказати пароль" + +#~ msgid "" +#~ "Enter OpenPGP key passphrase for key %(keyid)s (account %(account)s)." +#~ msgstr "Введіть пароль ключа GPG для ключа %(keyid)s (account %(account)s)." + +#~ msgid "OpenPGP key expired" +#~ msgstr "GPG ключ застарів" + +#~ msgid "" +#~ "Your OpenPGP key has expired, you will be connected to %s without OpenPGP." +#~ msgstr "Ваш ключ GPG застарів. З’єднання з %s буде встановлено без OpenPGP." + +#~ msgid "Wrong Passphrase" +#~ msgstr "Вказано помилковий пароль" + +#~ msgid "Please retype your OpenPGP passphrase or press Cancel." +#~ msgstr "" +#~ "Будь ласка, введіть ще раз свій пароль GPG або натисніть кнопку " +#~ "«Скасувати»." + +#~ msgid "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "Надсилає нове повідомлення балачки контакту з реєстру. Параметри «Ключ " +#~ "OpenPGP» і «Обліковий запис» не є обов’язковими. Якщо вам потрібно " +#~ "встановити лише 'account', без 'OpenPGP key', просто встановіть значення " +#~ "'OpenPGP key' рівним ''." + +#~ msgid "if specified, the message will be encrypted using this public key" +#~ msgstr "якщо вказано, повідомлення буде зашифровано відкритим ключем" + +#, fuzzy +#~ msgid "" +#~ "Sends a chat message to someone on your roster. Optionally with OpenPGP " +#~ "key and account. If you want to only set the latter, set OpenPGP key to " +#~ "\"\"." +#~ msgstr "" +#~ "Надсилає нове повідомлення балачки контакту з реєстру. Параметри «Ключ " +#~ "OpenPGP» і «Обліковий запис» не є обов’язковими. Якщо вам потрібно " +#~ "встановити лише 'account', без 'OpenPGP key', просто встановіть значення " +#~ "'OpenPGP key' рівним ''." + +#~ msgid "" +#~ "If disabled, don't sign presences with GPG key, even if GPG is configured." +#~ msgstr "" +#~ "Якщо вимкнено, не підписувати повідомлення про присутність ключем GPG, " +#~ "навіть якщо GPG налаштовано для використання." + +#, fuzzy +#~ msgid "OpenPGP:" +#~ msgstr "OpenPGP: " + +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "Призначити кл_юч OpenPGP..." + +#, fuzzy +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "Шифрування повідомлення з OpenPGP" + +#, fuzzy +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "Шифрування повідомлень балачки за допомогою ключів GPG." + +#, fuzzy +#~ msgid "Requires: gpg and python-gnupg (%(url)s)" +#~ msgstr "Потрібні gpg та python-gnupg %(url)s)" + +#, fuzzy +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "Вимагає gpg.exe у PATHзмфньфМ" + +#, fuzzy +#~ msgid "Use PGP Agent" +#~ msgstr "Використовувати _агент GnuPG" + +#, fuzzy +#~ msgid "OpenPGP Key" +#~ msgstr "Призначити ключ OpenPGP" + +#~ msgid "Cancel confirmation" +#~ msgstr "Скасувати підтвердження" + +#~ msgid "" +#~ "You are in process of executing command. Do you really want to cancel it?" +#~ msgstr "" +#~ "Зараз виконується команда. Ви справді бажаєте скасувати її виконання?" + +#~ msgid "Service sent malformed data" +#~ msgstr "Служба надіслала неправильно форматовані дані" + +#~ msgid "Service changed the session identifier." +#~ msgstr "Служба змінила ідентифікатор сеансу." + +#~ msgid "%s - Ad-hoc Commands - Gajim" +#~ msgstr "%s - Ad-hoc команди — Gajim" + +#~ msgid "Service returned an error." +#~ msgstr "Служба повернула повідомлення про помилку." + +#~ msgid "You are invited to a groupchat" +#~ msgstr "Вас запрошено до групової балачки" + +#~ msgid "" +#~ "Issued to:\n" +#~ "Common Name (CN): %(scn)s\n" +#~ "Organization (O): %(sorg)s\n" +#~ "Organizationl Unit (OU): %(sou)s\n" +#~ "Serial Number: %(sn)s\n" +#~ "\n" +#~ "Issued by:\n" +#~ "Common Name (CN): %(icn)s\n" +#~ "Organization (O): %(iorg)s\n" +#~ "Organizationl Unit (OU): %(iou)s\n" +#~ "\n" +#~ "Validity:\n" +#~ "Issued on: %(io)s\n" +#~ "Expires on: %(eo)s\n" +#~ "\n" +#~ "Fingerprint\n" +#~ "SHA-1 Fingerprint: %(sha1)s\n" +#~ "\n" +#~ "SHA-256 Fingerprint: %(sha256)s\n" +#~ msgstr "" +#~ "Видано кому:\n" +#~ "Загальне назва (CN): %(scn)s\n" +#~ "Організація (O): %(sorg)s\n" +#~ "Підрозділ (OU): %(sou)s\n" +#~ "Серійний номер: %(sn)s\n" +#~ "\n" +#~ "Видано ким:\n" +#~ "Загальна назва (CN): %(icn)s\n" +#~ "Організація (O): %(iorg)s\n" +#~ "Підрозділ (OU): %(iou)s\n" +#~ "\n" +#~ "Дійсне:\n" +#~ "Видано: %(io)s\n" +#~ "Діє до: %(eo)s\n" +#~ "\n" +#~ "Відбито:\n" +#~ "SHA1 Відбиток: %(sha1)s\n" +#~ "\n" +#~ "SHA256 Відбиток: %(sha256)s\n" + +#~ msgid "_Start Chat" +#~ msgstr "_Почати балачку" + +#~ msgid "Au_thorize" +#~ msgstr "_Уповноважити" + +#~ msgid "Really send file?" +#~ msgstr "Справді надіслати файл?" + +#~ msgid "You are currently connected to the server" +#~ msgstr "Зараз ваш клієнт з’єднано з сервером" + +#~ msgid "To disable the account, you must be disconnected." +#~ msgstr "" +#~ "Для відключення облікового запису вам слід від’єднати клієнт від сервера." + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with %(jid)s?" +#~ msgstr "Ви справді бажаєте вилучити журнальні записи %(jid)s?" + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with the selected contacts?" +#~ msgstr "Ви справді бажаєте вилучити журнали для обраних контактів?" + +#~ msgid "What do you want to do?" +#~ msgstr "Що бажаєте робити?" + +#~ msgid "" +#~ "List of colors, separated by \":\", that will be used to color nicknames " +#~ "in group chats." +#~ msgstr "" +#~ "Список кольорів, відокремлених символом «:», які буде використано для " +#~ "розфарбовування псевдонімів у групових балачках." + +#~ msgid "You have received new entries (and %d not displayed):" +#~ msgid_plural "You have received new entries (and %d not displayed):" +#~ msgstr[0] "Ви отримали нові записи (та %d не було показано):" +#~ msgstr[1] "Ви отримали нові записи (та %d не було показано):" +#~ msgstr[2] "Ви отримали нові записи (та %d не було показано):" + +#~ msgid "Stopped" +#~ msgstr "Зупинено" + +#~ msgid "" +#~ "You are about to send your password on an insecure connection. You should " +#~ "install PyOpenSSL to prevent that. Are you sure you want to do that?" +#~ msgstr "" +#~ "Ви маєте намір надіслати ваш пароль незахищеним з’єднанням. Щоб покращити " +#~ "безпеку з’єднання, вам слід встановити PyOpenSSL. Виконати надсилання " +#~ "пароля зараз?" + +#, fuzzy +#~ msgid "Status messages displayed in chat window" +#~ msgstr "Надіслати повідомлення і закрити вікно" + +#~ msgid "?print_status:All" +#~ msgstr "Всі" + +#~ msgid "Enter and leave only" +#~ msgstr "Лише вхід і вихід" + +#~ msgid "?print_status:None" +#~ msgstr "Жодного" + +#, fuzzy +#~ msgid "Untrusted OpenPGP key" +#~ msgstr "Оберіть свій ключ OpenPGP" + +#~ msgid "" +#~ "The OpenPGP key used to encrypt this chat is not trusted. Do you really " +#~ "want to encrypt this message?" +#~ msgstr "" +#~ "GPG ключ призначений для цієї балачки не довірений. Ви справді бажаєте " +#~ "зашифрувати це повідомлення?" + +#~ msgid "D-Bus python bindings are missing in this computer" +#~ msgstr "У системі не знайдено прив’язок D-Bus-python" + +#~ msgid "D-Bus capabilities of Gajim cannot be used" +#~ msgstr "Можливості роботи з D-Bus у Gajim не може бути використано" + +#~ msgid "D-Bus does not run correctly on this machine" +#~ msgstr "D-Bus не працює коректно на цій машині." + +#~ msgid "D-Bus does not run correctly on this machine: system bus not present" +#~ msgstr "D-Bus не працює коректно на цій машині: системна шина відсутня." + +#~ msgid "" +#~ "D-Bus does not run correctly on this machine: session bus not present" +#~ msgstr "D-Bus не працює коректно на цій машині: шина сеансу відсутня." + +#, fuzzy +#~ msgid "Command line Control" +#~ msgstr "Командний рядок" + +#, fuzzy +#~ msgid "Enables you to control Gajim with via commandline" +#~ msgstr "Сценарій для керування Gajim за допомогою командного рядка." + +#~ msgid "" +#~ "When is self contact row displayed. Can be \"always\", " +#~ "\"when_other_resource\" or \"never\"" +#~ msgstr "" +#~ "Коли показувати запис власного контакту. Може бути \"завжди\", " +#~ "\"коли_інший_ресурс\" або \"ніколи\"" + +#~ msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +#~ msgstr "%(nick)s було викинуто %(who)s: %(reason)s" + +#~ msgid "%(nick)s has been banned by %(who)s: %(reason)s" +#~ msgstr "%(nick)s було заблоковано %(who)s: %(reason)s" + +#~ msgid "system shutdown" +#~ msgstr "вимкнення системи" + +#~ msgid "** Role of %(nick)s has been set to %(role)s" +#~ msgstr "** Роль %(nick)s було встановлено у значення %(role)s" + +#~ msgid "%s has left" +#~ msgstr "%s вийшов" + +#~ msgid "%s is full" +#~ msgstr "%s переповнено" + +#, fuzzy +#~ msgid "" +#~ "Can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no " +#~ "longer print status line in groupchats when a member changes their status " +#~ "and/or their status message. If \"all\" Gajim will print all status " +#~ "messages. If \"in_and_out\", Gajim will only print FOO enters/leaves " +#~ "group chat." +#~ msgstr "" +#~ "може мати значення \"none\", \"all\" і \"in_and_out\". За значення \"none" +#~ "\", Gajim більше не виводитиме рядок стану у групових балачках після " +#~ "зміни постійним учасником стану або повідомлення про стан. За значення " +#~ "\"all\" Gajim виводитиме всі повідомлення про стан. Значення \"in_and_out" +#~ "\" призведе до того, що Gajim виводитиме лише повідомлення про те, що " +#~ "«такий-то увійшов або полишив групову балачку»." + +#, fuzzy +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "Показувати _повідомлення про стан контактів з реєстру" + +#~ msgid "" +#~ "Please copy / paste the refresh token from the website that has just been " +#~ "opened." +#~ msgstr "" +#~ "Будь ласка, скопіюйте/вставте оновлений запис з веб-сторінки яка щойно " +#~ "відкрилася." + +#~ msgid "Oauth2 Credentials" +#~ msgstr "Облікові дані Oauth2" + +#~ msgid "" +#~ "You are about to send your password unencrypted on an insecure " +#~ "connection. Are you sure you want to do that?" +#~ msgstr "" +#~ "Ви маєте намір надіслати ваш пароль незашифрованим з’єднанням у " +#~ "відкритому вигляді. Виконати надсилання пароля?" + +#, fuzzy +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "Останній запис аутентифікації Oauth2" + +#, fuzzy +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "client_id для аутентифікації Oauth2" + +#, fuzzy +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "redirect_url для аутентифікації Oauth2." + +#~ msgid "" +#~ "Displayed chat state notifications in chat windows. Can be one of all, " +#~ "composing_only, disabled." +#~ msgstr "" +#~ "Тип сповіщень про стан балачки, які буде показано у вікнах балачки. Може " +#~ "мати значення all, composing_only, disabled." + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." +#~ msgstr "" +#~ "Gajim може надсилати і отримувати метаінформацію, пов'язану з розмовою, " +#~ "яку ви вели з контактом. Тут ви можете вказати стани, які ви бажаєте " +#~ "бачити у вікні розмови." + +#~ msgid "This is an irreversible operation." +#~ msgstr "Наслідки цієї дії є незворотними." + +#~ msgid "Settings" +#~ msgstr "Параметри" + +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "" +#~ "Ласкаво просимо до інструменту керування журналами Gajim" + +#~ msgid "Member List" +#~ msgstr "Список учасників" + +#~ msgid "Owner List" +#~ msgstr "Список власників" + +#~ msgid "Administrator List" +#~ msgstr "Список адміністраторів" + +#~ msgid "Nick" +#~ msgstr "Прізвисько" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "Кого ви бажаєте заблокувати?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Member…" +#~ msgstr "Додавання учасника..." + +#~ msgid "" +#~ "Whom do you want to make a member?\n" +#~ "\n" +#~ msgstr "" +#~ "Кому ви бажаєте надати можливість участі?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Owner…" +#~ msgstr "Додавання власника..." + +#~ msgid "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" +#~ msgstr "" +#~ "Кого ви бажаєте зробити власником?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Administrator…" +#~ msgstr "Додавання адміністратора..." + +#~ msgid "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" +#~ msgstr "" +#~ "Кого ви бажаєте зробити адміністратором?\n" +#~ "\n" + +#~ msgid "Error reading file:" +#~ msgstr "Помилка під час спроби прочитати файл:" + +#~ msgid "Error parsing file:" +#~ msgstr "Помилка під час обробки файла:" + +#~ msgid "List of possible features in Gajim:" +#~ msgstr "Перелік можливостей Gajim:" + +#~ msgid "Description" +#~ msgstr "Опис" + +#~ msgid "Password encryption" +#~ msgstr "Шифрування паролів" + +#~ msgid "Spellchecking of composed messages." +#~ msgstr "Перевірка правопису повідомлень, які ви створюєте." + +#~ msgid "Automatic status" +#~ msgstr "Узгодити зі станом" + +#~ msgid "Requires python2.5." +#~ msgstr "Потрібен python2.5." + +#~ msgid "" +#~ "Generate XHTML output from RST code (see http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "Створення XHTML з коду RST (див. http://docutils.sourceforge.net/docs/ref/" +#~ "rst/restructuredtext.html)." + +#~ msgid "UPnP-IGD" +#~ msgstr "UPnP-IGD" + +#~ msgid "?features:Available" +#~ msgstr "?features:Доступний" + +#~ msgid "Feature" +#~ msgstr "Можливість" + +#~ msgid "Filter:" +#~ msgstr "Фільтр:" + +#~ msgid "Chat Appearance" +#~ msgstr "Вигляд вікна балачки" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed out" +#~ msgstr "" +#~ "Gajim буде сповіщати вас про вихід з мережі контактів за допомогою " +#~ "контекстного вікна у нижній правій частині екрана" + +#~ msgid "Sounds" +#~ msgstr "Звуки" + +#~ msgid "Chat state notifications" +#~ msgstr "Сповіщення про стан у балачці" + +#, fuzzy +#~ msgid "_Away after" +#~ msgstr "«_Відсутній» через:" + +#~ msgid "" +#~ "If checked, Gajim will change status to Away when the computer is unused." +#~ msgstr "" +#~ "Якщо буде позначено цей пункт, Gajim буде змінювати стан на «Відсутній», " +#~ "якщо комп’ютер не використовуватиметься." + +#, fuzzy +#~ msgid "_Not available after" +#~ msgstr "«_Не доступний» через:" + +#~ msgid "Auto Status" +#~ msgstr "Автоматичне встановлення стану" + +#~ msgid "Status Messages" +#~ msgstr "Повідомлення про стан" + +#~ msgid "Audio" +#~ msgstr "Аудіо" + +#~ msgid "Video" +#~ msgstr "Відео" + +#, fuzzy +#~ msgid "(example: stun.iptel.org)" +#~ msgstr "(приклад: stunserver.org)" + +#~ msgid "Connection" +#~ msgstr "З’єднання" + +#~ msgid "Custom" +#~ msgstr "Нетипове" + +#~ msgid "Privacy" +#~ msgstr "Конфіденційність" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "Редактор додаткових налаштувань" + +#, fuzzy +#~ msgid "Audio / video conferences" +#~ msgstr "Аудіо/Відео" + +#, fuzzy +#~ msgid "File transfer, room bookmarks" +#~ msgstr "Помилка під час передавання файла" + +#, fuzzy +#~ msgid "XML console interface" +#~ msgstr "Консоль XML" + +#, fuzzy +#~ msgid "" +#~ "A programming error has been detected. It probably is not fatal, but " +#~ "should be reported to the developers nonetheless." +#~ msgstr "" +#~ "Ця помилка не є критичною, але все ж варто повідомити про неї розробникам." + +#~ msgid "" +#~ "A list of modp groups to use in a Diffie-Hellman, highest preference " +#~ "first, separated by commas. Valid groups are 1, 2, 5, 14, 15, 16, 17 and " +#~ "18. Higher numbers are more secure, but take longer to calculate when you " +#~ "start a session." +#~ msgstr "" +#~ "Список груп modp, які буде використано для шифрування за Діффі-Гелманом, " +#~ "першою слід вказати групу з найвищим пріоритетом, групи у списку слід " +#~ "відокремлювати комами. Можливі значення: 1, 2, 5, 14, 15, 16, 17 і 18. " +#~ "Більші значення підвищують безпеку, але програма витрачатиме більше часу " +#~ "на їх обчислення під час запуску сеансу." + +#~ msgid "(ESession info)" +#~ msgstr "(Відомості ESession)" + +#~ msgid "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" +#~ msgstr "" +#~ "Якщо цей пункт буде позначено, Gajim замінюватиме ascii-емоційки, " +#~ "наприклад, ':)' відповідними статичними або анімованими емоційками" + +#, fuzzy +#~ msgid "_Emoticons" +#~ msgstr "_Емоційки:" + +#~ msgid "_Highlight misspelled words" +#~ msgstr "_Виділяти слова з помилками" + +#, fuzzy +#~ msgid "Notify by icon when your messages are received" +#~ msgstr "Показувати піктограму коли ваше повідомлення було отримано " + +#, fuzzy +#~ msgid "T_heme" +#~ msgstr "Т_ема:" + +#~ msgid "Themes" +#~ msgstr "Теми" + +#~ msgid "Always use this nickname when there is a conflict" +#~ msgstr "Завжди використовувати цей псевдонім при виникненні конфліктів." + +#~ msgid "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." +#~ msgstr "" +#~ "Jabberd1.4 не сприймає відомості sha під час приєднання учасників до " +#~ "захищеної паролем групової балачки. Вкажіть для цього параметра значення " +#~ "«False», щоб вимкнути надсилання відомостей sha до сервера групової " +#~ "балачки." + +#, fuzzy +#~ msgid "Presence" +#~ msgstr "П_рисутність" + +#~ msgid "Emoticons disabled" +#~ msgstr "Емоційки вимкнено" + +#, fuzzy +#~ msgid "" +#~ "Your configured emoticons theme could not be loaded. See the log for more " +#~ "details." +#~ msgstr "" +#~ "Вказаної вами теми емоційок не було знайдено, емоційки буде вимкнено." + +#~ msgid "You cannot make changes to the default theme" +#~ msgstr "Ви не можете вносити зміни до типової теми" + +#~ msgid "theme name" +#~ msgstr "назва теми" + +#~ msgid "You cannot delete your current theme" +#~ msgstr "Ви не можете вилучати вашої поточної теми" + +#~ msgid "New Single Message from %(nickname)s" +#~ msgstr "Нове окреме повідомлення від %(nickname)s" + +#~ msgid "New Private Message from group chat %s" +#~ msgstr "Нове конфіденційне повідомлення з групової балачки %s" + +#~ msgid "%(nickname)s: %(message)s" +#~ msgstr "%(nickname)s: %(message)s" + +#~ msgid "Messaged by %(nickname)s" +#~ msgstr "Повідомлення надіслано від імені %(nickname)s" + +#~ msgid "Status message text color." +#~ msgstr "Колір тексту повідомлення сповіщення про стан." + +#~ msgid "Incoming nickname font." +#~ msgstr "Шрифт вхідного псевдоніму" + +#~ msgid "Outgoing nickname font." +#~ msgstr "Шрифт вихідного псевдоніма." + +#~ msgid "Status message text font." +#~ msgstr "Шрифт тексту сповіщення про стан." + +#~ msgid "Background color of contacts when they just signed in." +#~ msgstr "Колір контактів, які тільки-но увійшли до мережі." + +#~ msgid "Background color of contacts when they just signed out." +#~ msgstr "Колір контактів, які тільки-но вийшли з мережі." + +#~ msgid "green" +#~ msgstr "зелений" + +#~ msgid "grocery" +#~ msgstr "овочевий" + +#~ msgid "human" +#~ msgstr "тілесний" + +#~ msgid "marine" +#~ msgstr "морський" + +#~ msgid "Contact row" +#~ msgstr "Стрічка контакту" + +#~ msgid "Chat Banner" +#~ msgstr "Шапка балачки" + +#~ msgid "Gajim Themes Customization" +#~ msgstr "Налаштування тем Gajim" + +#~ msgid "Text _color:" +#~ msgstr "Колір _тексту:" + +#~ msgid "_Background:" +#~ msgstr "_Тло:" + +#~ msgid "Text _font:" +#~ msgstr "_Шрифт тексту:" + +#~ msgid "Font style:" +#~ msgstr "Тип шрифту:" + +#~ msgid "Paused" +#~ msgstr "Призупинено" + +#~ msgid "Gone" +#~ msgstr "Пішов" + +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "" +#~ "Повідомлення\n" +#~ "групової балачки" + +#~ msgid "Chatstate Tab Colors" +#~ msgstr "Кольори вкладки стану балачки" + +#, fuzzy +#~ msgid "Chat message" +#~ msgstr "Повідомлення балачки:" + +#~ msgid "Use system _default" +#~ msgstr "Використовувати _типове для системи" + +#~ msgid "Font" +#~ msgstr "Шрифт" + +#, fuzzy +#~ msgid "Contact's nickname" +#~ msgstr "Псевдонім контакту:" + +#, fuzzy +#~ msgid "_Status message" +#~ msgstr "_Повідомлення про стан:" + +#, fuzzy +#~ msgid "Your message" +#~ msgstr "Ваше повідомлення:" + +#, fuzzy +#~ msgid "_URL highlight" +#~ msgstr "Вид_ілення адрес URL:" + +#~ msgid "Chat Line Colors" +#~ msgstr "Кольори рядків балачки" + +#~ msgid "Jabber ID:" +#~ msgstr "Ідентифікатор Jabber:" + +#~ msgid "Resource:" +#~ msgstr "Ресурс:" + +#~ msgid "Status:" +#~ msgstr "Стан:" + +#~ msgid "Contact time:" +#~ msgstr "Область:" + +#~ msgid "Ask:" +#~ msgstr "Запитати:" + +#~ msgid "Subscription:" +#~ msgstr "Підписка:" + +#~ msgid "Name:" +#~ msgstr "Ім’я:" + +#~ msgid "Nickname:" +#~ msgstr "Псевдонім:" + +#~ msgid "Street:" +#~ msgstr "Вулиця:" + +#~ msgid "City:" +#~ msgstr "Місто:" + +#~ msgid "State:" +#~ msgstr "Область:" + +#~ msgid "Extra Address:" +#~ msgstr "Додаткова адреса:" + +#~ msgid "Postal Code:" +#~ msgstr "Поштовий індекс:" + +#~ msgid "Country:" +#~ msgstr "Країна:" + +#~ msgid "Homepage:" +#~ msgstr "Домашня сторінка:" + +#~ msgid "E-Mail:" +#~ msgstr "Адреса ел. пошти:" + +#~ msgid "Phone No.:" +#~ msgstr "Номер телефону:" + +#~ msgid "Birthday:" +#~ msgstr "День народження:" + +#~ msgid "Family:" +#~ msgstr "Прізвище:" + +#~ msgid "Middle:" +#~ msgstr "По батькові:" + +#~ msgid "Prefix:" +#~ msgstr "Префікс:" + +#~ msgid "Given:" +#~ msgstr "Ім'я:" + +#~ msgid "Suffix:" +#~ msgstr "Суфікс:" + +#~ msgid "Full Name" +#~ msgstr "Ім’я повністю" + +#~ msgid "Company:" +#~ msgstr "Компанія:" + +#~ msgid "Department:" +#~ msgstr "Відділ:" + +#~ msgid "Position:" +#~ msgstr "Посада:" + +#~ msgid "Role:" +#~ msgstr "Роль:" + +#~ msgid "- messages will be logged" +#~ msgstr "- вестиметься запис повідомлень" + +#~ msgid "- messages will not be logged" +#~ msgstr "- не вестиметься запис повідомлень" + +#~ msgid "Edit %s" +#~ msgstr "Редагувати %s" + +#~ msgid "Conversation History with %s" +#~ msgstr "Журнал спілкування з %s" + +#~ msgid "Contact with \"%s\" cannot be established" +#~ msgstr "Зв’язок з «%s» встановити не вдалося" + +#~ msgid "Registration information for transport %s has not arrived in time" +#~ msgstr "" +#~ "Відомості щодо реєстрації з транспорту %s не надійшли протягом " +#~ "визначеного проміжку часу" + +#~ msgid "Register to" +#~ msgstr "Зареєструватись на" + +#, fuzzy +#~ msgid "Enter name / JID of contact or groupchat" +#~ msgstr "Введіть JID або ім’я контакту" + +#~ msgid "Search:" +#~ msgstr "Пошук:" + +#~ msgid "_In date search" +#~ msgstr "_Пошук по даті" + +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "До встановлення з’єднання ви не зможете змінити ваш пароль." + +#~ msgid "Invalid password" +#~ msgstr "Некоректний пароль" + +#~ msgid "The passwords typed in both fields must be identical." +#~ msgstr "Паролі, введені у обидва поля, мають бути тотожними." + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "Введіть ще раз для підтвердження:" + +#~ msgid "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" +#~ msgstr "" +#~ "JID %s не відповідає стандартам. Його не може бути додано до реєстру. " +#~ "Скористайтеся інструментами для керування реєстром, наприклад, http://jru." +#~ "jabberstudio.org/ для його вилучення" + +#~ msgid "unsubscribe request from %s" +#~ msgstr "запит на скасування підписки від %s" + +#~ msgid "<empty>" +#~ msgstr "<порожньо>" + +#~ msgid "Homepage:" +#~ msgstr "Домашня сторінка:" + +#~ msgid "Manage Bookmarks" +#~ msgstr "Керування закладками" + +#~ msgid "_Nickname:" +#~ msgstr "_Прізвисько:" + +#~ msgid "Pr_int status:" +#~ msgstr "Друкувати стан:" + +#, fuzzy +#~ msgid "Add JID" +#~ msgstr "Jabber ID:" + +#, fuzzy +#~ msgid "Preference:" +#~ msgstr "Параметри" + +#, fuzzy +#~ msgid "Preference" +#~ msgstr "Параметри" + +#, fuzzy +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "" +#~ "Будь ласка, вкажіть дані контакту, який ви бажаєте додати до облікового " +#~ "запису %s" + +#~ msgid "Please fill in the data of the contact you want to add" +#~ msgstr "Будь ласка, вкажіть дані контакту, який ви бажаєте додати" + +#, fuzzy +#~ msgid "Recently" +#~ msgstr "Нещодавно:" + +#~ msgid "Add New Contact" +#~ msgstr "Додати новий контакт" + +#~ msgid "_User ID:" +#~ msgstr "_Ід. користувача:" + +#, fuzzy +#~ msgid "Type User ID" +#~ msgstr "Ідентифікатор:" + +#, fuzzy +#~ msgid "Type Nickname" +#~ msgstr "Псевдонім" + +#~ msgid "Personal Information" +#~ msgstr "Особисті відомості" + +#~ msgid "Avatar:" +#~ msgstr "Аватар:" + +#~ msgid "Click to set your avatar" +#~ msgstr "Натисніть, щоб встановити свій аватар" + +#, fuzzy +#~ msgid "Remove Avatar" +#~ msgstr "Вилучити групу" + +#~ msgid "Not fetched because of invisible status" +#~ msgstr "Не отримано через стан невидимості" + +#~ msgid "Please wait..." +#~ msgstr "Зачекайте, будь ласка..." + +#~ msgid "" +#~ "When negotiating an encrypted session, should Gajim assume you want your " +#~ "messages to be logged?" +#~ msgstr "" +#~ "Під час налаштування сеансу з шифруванням, чи слід Gajim припускати, що " +#~ "ви бажаєте вести запис повідомлень?" + +#~ msgid "Log _encrypted chat session" +#~ msgstr "Записувати до журналу _шифровані сеанси балачки" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will keep logs for encrypted messages. Please note that " +#~ "when using end-to-end encryption the remote party has to agree on " +#~ "logging, else the messages will not be logged." +#~ msgstr "" +#~ "Якщо буде позначено цей пункт, Gajim зберігатиме у журналі шифровані " +#~ "повідомлення. Будь ласка, пам’ятайте, що, якщо ви користуєтеся " +#~ "шифруванням E2E, ваш співрозмовник має погодитися на запис до журналу, " +#~ "інакше повідомлення не буде записано до журналу." + +#~ msgid "Yahoo! Address:" +#~ msgstr "Адреса Yahoo!:" + +#~ msgid "Forward unread messages" +#~ msgstr "Переспрямувати непрочитані повідомлення" + +#~ msgid "All unread messages have been forwarded." +#~ msgstr "Всі непрочитані повідомлення було переспрямовано." + +#~ msgid "Forward unread message then disconnect" +#~ msgstr "Переспрямувати непрочитані повідомлення на від’єднатись" + +#~ msgid "MSN Address:" +#~ msgstr "Адреса MSN:" + +#~ msgid "Confirm these session options" +#~ msgstr "Підтвердити параметри цих сеансів" + +#~ msgid "" +#~ "The remote client wants to negotiate a session with these features:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Are these options acceptable?" +#~ msgstr "" +#~ "Віддалений клієнт бажає розпочати сеанс з такими можливостями:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Чи всі вказані параметри є прийнятними?" + +#~ msgid "" +#~ "The remote client selected these options:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Continue with the session?" +#~ msgstr "" +#~ "Віддалений клієнт обрав такі параметри:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Продовжити цей сеанс?" + +#~ msgid "Always accept for this contact" +#~ msgstr "Завжди приймати цей контакт" + +#~ msgid "End to End message encryption" +#~ msgstr "Шифрування «Кінець до Кінця» (E2E)" + +#~ msgid "Encrypting chat messages." +#~ msgstr "Шифрування повідомлень балачки." + +#~ msgid "Requires python-crypto." +#~ msgstr "Потрібен пакунок python-crypto." + +#~ msgid "Session negotiation cancelled" +#~ msgstr "Встановлення сеансу було скасовано" + +#~ msgid "This session WILL NOT be archived on server" +#~ msgstr "Цей сеанс НЕ БУДЕ збережено на сервері" + +#~ msgid "This session is encrypted" +#~ msgstr "Цей сеанс зашифровано" + +#~ msgid " and WILL be logged" +#~ msgstr " і БУДЕ записано до журналу" + +#~ msgid " and WILL NOT be logged" +#~ msgstr " і НЕ БУДЕ записано до журналу" + +#~ msgid "" +#~ "Remote contact's identity not verified. Click the shield button for more " +#~ "details." +#~ msgstr "" +#~ "Особу віддаленого контакту не було перевірено. Натисніть кнопку з щитом, " +#~ "щоб ознайомитися з подробицями." + +#, fuzzy +#~ msgid "end-to-end encryption disabled" +#~ msgstr "Шифрування GPG вимкнено" + +#~ msgid "" +#~ "Unable to decrypt message from %s\n" +#~ "It may have been tampered with." +#~ msgstr "" +#~ "Не вдалося розшифрувати повідомлення від %s\n" +#~ "Можливо, хтось втрутився у ваше з’єднання." + +#~ msgid "Unable to decrypt message" +#~ msgstr "Не вдалося розшифрувати повідомлення" + +#~ msgid "Enable ESessions encryption for this account." +#~ msgstr "Увімкнути шифрування ESession для цього облікового запису." + +#~ msgid "Should Gajim automatically start an encrypted session when possible?" +#~ msgstr "" +#~ "Чи має Gajim автоматично починати сеанс з шифруванням за можливості?" + +#~ msgid "" +#~ "[This is part of an encrypted session. If you see this message, something " +#~ "went wrong.]" +#~ msgstr "" +#~ "[Це частина шифрованого сеансу. Якщо ви бачите це повідомлення, сталася " +#~ "якась помилка.]" + +#~ msgid "Requires python-avahi." +#~ msgstr "Потрібен python-avahi." + +#, fuzzy +#~ msgid "Save Image as…" +#~ msgstr "Зберегти зображення як..." + +#, fuzzy +#~ msgid "Exporting History Logs…" +#~ msgstr "Експорт журналів..." + +#~ msgid "Choose Client Cert #PCKS12" +#~ msgstr "Оберіть клієнтський сертифікат PCKS#12" + +#~ msgid "When %s becomes:" +#~ msgstr "Якщо %s стане рівним:" + +#~ msgid "Adding Special Notification for %s" +#~ msgstr "Додавання особливого сповіщення для %s" + +#, fuzzy +#~ msgid "" +#~ "It seems the SSL certificate of account %(account)s has changed and is " +#~ "not valid or your connection is being compromised.\n" +#~ "\n" +#~ "Old SHA-1 fingerprint: %(old_sha1)s\n" +#~ "Old SHA-256 fingerprint: %(old_sha256)s\n" +#~ "\n" +#~ "New SHA-1 fingerprint: %(new_sha1)s\n" +#~ "New SHA-256 fingerprint: %(new_sha256)s\n" +#~ "\n" +#~ "Do you still want to connect and update the fingerprint of the " +#~ "certificate?" +#~ msgstr "" +#~ "Здається сертифікат SSL облікового запису %(account)s було змінено або " +#~ "хтось втрутився у ваше з’єднання.\n" +#~ "Старий відбиток: %(old)s\n" +#~ "Новий відбиток: %(new)s\n" +#~ "\n" +#~ "Ви все ще маєте намір з’єднатися і оновити відбиток сертифіката?" + +#~ msgid "" +#~ "The authenticity of the %s certificate could be invalid.\n" +#~ "The certificate does not cover this domain." +#~ msgstr "" +#~ "Достовірність сертифіката %s знаходиться під питанням. Сертифікат не " +#~ "відповідає поточному домену." + +#~ msgid "Unable to load idle module" +#~ msgstr "Не вдалося завантажити модуль перевірки відсутності активності" + +#, fuzzy +#~ msgid "%s or %s is a directory but should be a file" +#~ msgstr "%s є каталогом, а має бути файлом" + +#~ msgid "creating logs database" +#~ msgstr "створення бази даних журналів" + +#, fuzzy +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "Надіслати %s до %s" + +#, fuzzy +#~ msgid "Rename account label" +#~ msgstr "Перейменувати запис" + +#~ msgid "" +#~ "Requires gpg and python-gnupg (http://code.google.com/p/python-gnupg/)." +#~ msgstr "" +#~ "Вимагає gpg та python-gnupg (http://code.google.com/p/python-gnupg/)." + +#, fuzzy +#~ msgid "Send Single Message..." +#~ msgstr "_Надіслати окреме повідомлення..." + +#, fuzzy +#~ msgid "We received an error: {}" +#~ msgstr "Це помилка" + +#~ msgid "E2E encryption disabled" +#~ msgstr "Шифрування E2E вимкнено" + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "Додати цей сертифікат до списку надійних сертифікатів.\n" +#~ "Відбиток SHA1 сертифіката:\n" +#~ "%s" + +#~ msgid "uri" +#~ msgstr "uri" + +#, fuzzy +#~ msgid "" +#~ "Install /\n" +#~ "Upgrade" +#~ msgstr "Встановлено" + +#, fuzzy +#~ msgid "Install/Upgrade" +#~ msgstr "Встановлено" + +#, fuzzy +#~ msgid "Install and Upgrade Plugins" +#~ msgstr "Встановлено" + +#, fuzzy +#~ msgid "Plugins updates" +#~ msgstr "Активація додатка невдалаДодаток" + +#~ msgid "cyan" +#~ msgstr "блакитний" + +#~ msgid "migrating logs database to indices" +#~ msgstr "перехід від бази даних журналів до покажчика" + +#, fuzzy +#~ msgid "Send File..." +#~ msgstr "Надіслати _файл..." + +#, fuzzy +#~ msgid "HTTP File Upload not supported by your server" +#~ msgstr "Збереження метаконтактів не підтримується вашим сервером" + +#, fuzzy +#~ msgid "Jingle File Transfer" +#~ msgstr "Перенесення файлів" + +#~ msgid "" +#~ "Your configured emoticons theme has not been found, so emoticons have " +#~ "been disabled." +#~ msgstr "" +#~ "Вказаної вами теми емоційок не було знайдено, емоційки буде вимкнено." + +#~ msgid "Shows or hides the roster window" +#~ msgstr "Вмикає або вимикає показ вікна реєстру" + +#~ msgid "Shows or hides the ipython window" +#~ msgstr "Показує або ховає вікно ipython" + +#, fuzzy +#~ msgid "XMPP account %s" +#~ msgstr "облікового запису %s@%s" + +#, fuzzy +#~ msgid "Exception" +#~ msgstr "опис" + +#~ msgid "" +#~ "someone@somewhere.com would like you to add some contacts " +#~ "in your roster." +#~ msgstr "" +#~ "someone@somewhere.com бажає додати до вашого реєстру де-які " +#~ "контакти." + +#~ msgid "" +#~ "Ordered list (space separated) of connection type to try. Can contain " +#~ "tls, ssl or plain" +#~ msgstr "" +#~ "Впорядкований список відокремлених комами типів з’єднання, які має " +#~ "спробувати програма. Можливі значення: tls, ssl і plain" + +#~ msgid "_Actions" +#~ msgstr "_Дії" + +#, fuzzy +#~ msgid "chat;messaging;im;jabber;xmpp;bonjour;voip;" +#~ msgstr "chat;messaging;im;jabber;xmpp;bonjour;voip" + +#~ msgid "UPower" +#~ msgstr "UPower" + +#~ msgid "Ability to disconnect properly just before suspending the machine." +#~ msgstr "Можливість правильно від’єднуватись перед присиплянням комп’ютера" + +#~ msgid "Requires upower and python-dbus." +#~ msgstr "Потребує upower та python-dbus." + +#~ msgid "You are already in group chat %s" +#~ msgstr "Ви вже берете участь у груповій балачці %s" + +#~ msgid "Join Group Chat with account %s" +#~ msgstr "Приєднатися до групової балачки з облікового запису %s" + +#~ msgid "" +#~ "You have to choose an account from which you want to join the groupchat." +#~ msgstr "" +#~ "Ви маєте обрати обліковий запис, з якого ви бажаєте приєднатись до " +#~ "групової балачки." + +#, fuzzy +#~ msgid "Please enter the group chat JID as room@server." +#~ msgstr "" +#~ "Будь ласка, вкажіть Jabber ID групової балачки у вигляді кімната@сервер." + +#, fuzzy +#~ msgid "The group chat JID contains invalid characters." +#~ msgstr "" +#~ "У ідентифікаторі Jabber групової балачки містяться недозволені символи." + +#~ msgid "Start Chat with account %s" +#~ msgstr "Почати балачку з облікового запису %s" + +#, fuzzy +#~ msgid "" +#~ "Fill in the nickname or the JID of the contact you would like\n" +#~ "to send a chat message to:" +#~ msgstr "" +#~ "Вкажіть псевдонім або ідентифікатор Jabber контакту, якому ви\n" +#~ "бажаєте надіслати повідомлення балачки:" + +#, fuzzy +#~ msgid "Nickname / JID" +#~ msgstr "Некоректний ідентифікатор Jabber" + +#~ msgid "Unable to parse \"%s\"." +#~ msgstr "Не вдалося обробити «%s»." + +#~ msgid "Shows the chat dialog so that you can send messages to a contact" +#~ msgstr "" +#~ "Відкриває діалогове вікно балачки, за допомогою якого ви зможете " +#~ "надсилати повідомлення контакту" + +#~ msgid "JID of the contact that you want to chat with" +#~ msgstr "JID контакту, з яким ви бажаєте розпочати балачку" + +#~ msgid "message content. The account must be specified or \"\"" +#~ msgstr "вміст повідомлення. Обліковий запис має бути зазначено або \"\"" + +#~ msgid "Adds contact to roster" +#~ msgstr "Додає контакт до реєстру" + +#~ msgid "jid" +#~ msgstr "jid" + +#~ msgid "Adds new contact to this account" +#~ msgstr "Додає новий контакт до цього облікового запису" + +#~ msgid "Opens 'Start Chat' dialog" +#~ msgstr "Відкриває діалогове вікно «Почати балачку»" + +#~ msgid "Starts chat, using this account" +#~ msgstr "Розпочати балачку з цього облікового запису" + +#, fuzzy +#~ msgid "Handle a xmpp:/ URI" +#~ msgstr "Обробка xmpp:/ uri" + +#~ msgid "URI to handle" +#~ msgstr "Адреса URI для обробки" + +#~ msgid "Account in which you want to handle it" +#~ msgstr "Обліковий запис, який має це обробляти" + +#~ msgid "Message content" +#~ msgstr "Вміст повідомлення" + +#~ msgid "Join a MUC room" +#~ msgstr "Приєднатися до кімнати групової балачки" + +#~ msgid "Nickname to use" +#~ msgstr "Псевдонім, який слід використовувати" + +#~ msgid "Password to enter the room" +#~ msgstr "Пароль для входу до кімнати" + +#~ msgid "Account from which you want to enter the room" +#~ msgstr "Обліковий запис, з якого ви бажаєте увійти до кімнати" + +#, fuzzy +#~ msgid "No URI given" +#~ msgstr "Не надано універсальний ідентифікатор ресурсу" + +#, fuzzy +#~ msgid "Wrong URI" +#~ msgstr "Помилкова адреса uri" + +#~ msgid "Nickname:" +#~ msgstr "Псевдонім:" + +#~ msgid "Server:" +#~ msgstr "Сервер:" + +#~ msgid "Join this room _automatically when I connect" +#~ msgstr "Автоматично заходити до цієї кімнати після з’єднання" + +#~ msgid "Bro_wse Rooms" +#~ msgstr "_Перегляд кімнат" + +#~ msgid "Join a group chat given by a jid, optionally using given nickname" +#~ msgstr "Приєднатися до групової балачки по JID, або за псевдонімом" + +#~ msgid "Requires libgtkspell and libenchant." +#~ msgstr "Потрібна бібліотека libgtkspell та libenchant." + +#, fuzzy +#~ msgid "Last MAM id we are syncronized with" +#~ msgstr "Останній раз коли було синхронізовано журнали з сервером" + +#, fuzzy +#~ msgid "Network-Watcher" +#~ msgstr "network-manager" + +#~ msgid "Autodetection of network status." +#~ msgstr "Автоматичне визначення стану мережі." + +#, fuzzy +#~ msgid "Requires gnome-network-manager" +#~ msgstr "Потрібні gnome-network-manager і python-dbus." + +#~ msgid "Feature not available, see Help->Features" +#~ msgstr "Цією можливістю не можна скористатися. дивіться Довідка->Можливості" + +#~ msgid "Feature not supported by remote client" +#~ msgstr "Можливість не підтримується віддаленим клієнтом" + +#~ msgid "This contact does not support file transfer." +#~ msgstr "Цей контакт не підтримує передавання файлів." + +#, fuzzy +#~ msgid "You need to know the real JID of the contact to send them a file." +#~ msgstr "" +#~ "Ви маєте знати справжній JID контакту, щоб надсилати йому чи їй файл." + +#~ msgid "" +#~ "You have to install %s dictionary to use spellchecking, or choose another " +#~ "language by setting the speller_language option." +#~ msgstr "" +#~ "Ви маєте встановити словники %s для використання перевірки орфографії, " +#~ "або обрати іншу мову через параметр speller_language." + +#~ msgid "Hides the buttons in chat windows." +#~ msgstr "Ховає кнопки у вікнах балачки." + +#~ msgid "Change the room's subject (Alt+T)" +#~ msgstr "Змінити тему обговорення у кімнаті (Alt+T)" + +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "Зробити закладку на цій кімнаті (Ctrl+B)" + +#~ msgid "Browse the chat history (Ctrl+H)" +#~ msgstr "Переглянути журнал балачки (Ctrl+H)" + +#~ msgid "Show advanced functions (Alt+D)" +#~ msgstr "Показати розширені функції (Alt+D)" + +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "Додати цей контакт до реєстру (Ctrl+D)" + +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "Запросити контакти до спілкування (Ctrl+G)" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Показати профіль контакту (Ctrl+I)" + +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "Показати профіль контакту (Ctrl+I)" + +#~ msgid "Ma_ke message windows compact" +#~ msgstr "У_щільнити компонування вікон повідомлень" + +#~ msgid "Hide all buttons in chat windows" +#~ msgstr "Сховати усі кнопки у вікнах балачок" + +#~ msgid "Hide the chat buttons" +#~ msgstr "Сховати кнопки балачки" + +#~ msgid "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." +#~ msgstr "" +#~ "Якщо має значення «True», Gajim запитуватиме аватар у кожного з облікових " +#~ "записів контактів, чий аватар не було отримано під час попереднього " +#~ "сеансу, або контактів, чиї аватари вважатимуться застарілими." + +#~ msgid "Disk Write Error" +#~ msgstr "Помилка під час спроби запису на диск" + +#~ msgid "Set Custom _Avatar..." +#~ msgstr "Встановити _нетиповий аватар..." + +#~ msgid "SSL certificate validation" +#~ msgstr "Перевірка сертифіката SSL" + +#~ msgid "" +#~ "A library used to validate server certificates to ensure a secure " +#~ "connection." +#~ msgstr "" +#~ "Бібліотека, призначена для перевірки сертифікатів сервера, які " +#~ "забезпечують безпеку з’єднання." + +#~ msgid "Requires python-pyopenssl > 0.12 and pyasn1." +#~ msgstr "Потрібен python-pyopenssl > 0.12 та pyasn1." + +#~ msgid "?CLI:uri" +#~ msgstr "?CLI:uri" + +#~ msgid "?CLI:room" +#~ msgstr "?CLI:кімната" + +#~ msgid "?CLI:nick" +#~ msgstr "?CLI:псевдонім" + +#~ msgid "?CLI:password" +#~ msgstr "?CLI:пароль" + +#, fuzzy +#~ msgid "Credential Options" +#~ msgstr "Облікові дані Oauth2" + +#~ msgid "Use D-Bus and Notification-Daemon to show notifications" +#~ msgstr "" +#~ "Використовувати D-Bus і фонову службу сповіщень для показу сповіщень" + +#~ msgid "Notification" +#~ msgstr "Сповіщення" + +#~ msgid "Passive popups notifying for new events." +#~ msgstr "Контекстні виринаючі вікна для нових подій." + +#~ msgid "" +#~ "Requires python-notify or instead python-dbus in conjunction with " +#~ "notification-daemon." +#~ msgstr "" +#~ "Потрібен пакунок python-notify або його замінник: python-dbus разом з " +#~ "фоновою службою сповіщення (notification-daemon)." + +#~ msgid "Ignore" +#~ msgstr "_Ігнорувати" + +#~ msgid "_Open Gmail Inbox" +#~ msgstr "Ві_дкрити «Вхідні» Gmail" + +#~ msgid "Notify on new _GMail email" +#~ msgstr "Сповіщати про нові листи _GMail" + +#~ msgid "" +#~ "If checked, Gajim will show a notification when a new e-mail is received " +#~ "via GMail" +#~ msgstr "" +#~ "Якщо буде позначено цей пункт, Gajim показуватиме сповіщення про нові " +#~ "листи, отримані поштовою скринькою GMail" + +#~ msgid "Display _extra email details" +#~ msgstr "Показати _подробиці щодо скриньки" + +#~ msgid "" +#~ "If checked, Gajim will also include information about the sender of new " +#~ "emails" +#~ msgstr "" +#~ "Якщо буде позначено цей пункт, Gajim буде також додавати інформацію про " +#~ "авторів нових листів" + +#~ msgid "GMail Options" +#~ msgstr "Параметри GMail" + +#, fuzzy +#~ msgid "12" +#~ msgstr "1" + +#, fuzzy +#~ msgid "20" +#~ msgstr "2" + +#~ msgid "" +#~ "Specify the command to run when new mail arrives, e.g.: /usr/bin/getmail -" +#~ "q" +#~ msgstr "" +#~ "Вкажить команду для виконання при отриманні нової пошти, наприклад: /usr/" +#~ "bin/getmail -q" + +#~ msgid "GMail Email Received" +#~ msgstr "Отримано електронного листа GMail " + +#, fuzzy +#~ msgid "New e-mail on %(gmail_mail_address)s" +#~ msgstr "Нові повідомлення у %(gmail_mail_address)s" + +#, fuzzy +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "Отримано %d новий лист" +#~ msgstr[1] "Отримано %d нових листи" +#~ msgstr[2] "Отримано %d нових листів" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "From: %(from_address)s\n" +#~ "Subject: %(subject)s\n" +#~ "%(snippet)s" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "Від: %(from_address)s\n" +#~ "Тема: %(subject)s\n" +#~ "%(snippet)s" + +#~ msgid "Resour_ce:" +#~ msgstr "Ресур_с:" + +#~ msgid "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" +#~ msgstr "" +#~ "Ресурс буде надіслано до сервера Jabber для розділення одного JID на дві " +#~ "або більше частини, в залежності від кількості клієнтів під'єднаних до " +#~ "сервера з одним обліковим записом. Таким чином ви можете з'єднатись " +#~ "одночасно з обліковим записом з ресурсів «Домівка» або «Робота». Ресурс з " +#~ "найвищім пріоритетом буде отримувати усі повідомлення та події. (Див. " +#~ "нижче)" + +#~ msgid "Priority will change automatically according to your status." +#~ msgstr "Пріоритет змінюватиметься залежно від вашого стану." + +#~ msgid "Anonymous authentication" +#~ msgstr "Анонімна аутентифікація" + +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "Пріоритет використовується для того, щоб визначити отримувача повідомлень " +#~ "від jabber-сервера, якщо з одним обліковим записом з’єднано декілька " +#~ "клієнтів. Повідомлення про події отримує клієнт з найвищим пріоритетом" + +#~ msgid "Synchronize contacts" +#~ msgstr "Синхронізувати контакти" + +#~ msgid "Click to request authorization to all contacts of another account" +#~ msgstr "" +#~ "Натисніть, щоб запитати уповноваження від усіх контактів іншого " +#~ "облікового запису" + +#~ msgid "Chan_ge Password" +#~ msgstr "_Змінити пароль" + +#~ msgid "Administration operations" +#~ msgstr "Адміністративні дії" + +#~ msgid "_Client Cert File:" +#~ msgstr "Файл клієнтського _сертифікату:" + +#~ msgid "Browse..." +#~ msgstr "Перегляд..." + +#~ msgid "Certificate is e_ncrypted" +#~ msgstr "Сертифікат зашифровано" + +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "" +#~ "Якщо буде позначено цей пункт, Gajim під час запуску буде автоматично " +#~ "намагатись з'єднатися з вказаним обліковим записом на сервері jabber" + +#, fuzzy +#~ msgid "Synchronize logs with server" +#~ msgstr "Синхронізувати контакти" + +#~ msgid "Synch_ronize account status with global status" +#~ msgstr "_Синхронізувати стан облікового запису з загальним" + +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "Якщо буде позначено цей пункт, будь-яка зміна загального стану (керується " +#~ "спадним списком у нижній частині вікна реєстру) призведе до відповідних " +#~ "змін стану цього облікового запису" + +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "Якщо буде позначено цей пункт, Gajim також буде транслювати додаткові IP-" +#~ "адреси. окрім вашої, тому передавання файлів працюватиме з більшою " +#~ "ймовірністю." + +#~ msgid "Proxy" +#~ msgstr "Проксі" + +#~ msgid "" +#~ "Check this so Gajim will ask you before sending your password over an " +#~ "insecure connection." +#~ msgstr "" +#~ "Позначте цей пункт, щоб Gajim запитував вас перед надсиланням пароля " +#~ "через незахищеним з’єднанням." + +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "" +#~ "Якщо буде позначено цей пункт, Gajim надсилатиме порожні пакети для " +#~ "запобігання простою з'єднання (такий простій може призводити до " +#~ "від'єднання)" + +#~ msgid "Use cust_om hostname/port" +#~ msgstr "Використовувати інші вузол/порт" + +#~ msgid "_Hostname: " +#~ msgstr "Назва _вузла:" + +#~ msgid "_Port: " +#~ msgstr "_Порт:" + +#~ msgid "Choose _Key..." +#~ msgstr "Обрати _ключ..." + +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "" +#~ "Якщо буде позначено цей пункт, Gajim буде отримувати пароль від агента " +#~ "GPG, наприклад, seahorse." + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#~ msgid "_Edit Personal Information..." +#~ msgstr "Редагувати особисті відомості..." + +#~ msgid "Personal Information" +#~ msgstr "Особиста інформація" + +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "_З'єднуватись після запуску Gajim" + +#~ msgid "Synchroni_ze account status with global status" +#~ msgstr "_Синхронізувати стан облікового запису з загальним" + +#~ msgid "Use cust_om port:" +#~ msgstr "Використовувати інший порт:" + +#~ msgid "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." +#~ msgstr "" +#~ "Якщо номер типового порту для вхідних повідомлень є неприйнятним для " +#~ "ваших налаштувань, ви можете налаштувати інший.\n" +#~ "Можливо, вам також доведеться змінити параметри брандмауера." + +#~ msgid "OpenPGP is not usable on this computer" +#~ msgstr "На цьому комп'ютері OpenPGP не придатне для використання" + +#~ msgid "To change the account name, you must be disconnected." +#~ msgstr "" +#~ "Для зміни назви облікового запису вам слід від’єднати клієнт від сервера." + +#~ msgid "To change the account name, you must read all pending events." +#~ msgstr "" +#~ "Для зміни назви облікового запису вам слід прочитати усі повідомлення з " +#~ "черги подій." + +#~ msgid "Account Name Already Used" +#~ msgstr "Така назва облікового запису вже використовується" + +#~ msgid "" +#~ "This name is already used by another of your accounts. Please choose " +#~ "another name." +#~ msgstr "" +#~ "Ви вже створили обліковий запис з такою назвою. Будь ласка, оберіть іншу " +#~ "назву." + +#~ msgid "Account name cannot be empty." +#~ msgstr "Назва облікового запису не може бути порожньою." + +#~ msgid "Account name cannot contain spaces." +#~ msgstr "Назва облікового запису не може містити пробіли." + +#~ msgid "Enter a new name for account %s" +#~ msgstr "Введіть нову назву для облікового запису %s" + +#, fuzzy +#~ msgid "A JID must be in the form \"user@servername\"." +#~ msgstr "Ідентифікатор Jabber слід вказувати як «користувач@назва.сервера»." + +#~ msgid "No such account available" +#~ msgstr "Вказаний обліковий запис недоступний" + +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "" +#~ "Вам слід створити обліковий запис, перш ніж розпочати редагування ваших " +#~ "особистих відомостей." + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "Без з’єднання ви не зможете редагувати ваші особисті відомості." + +#~ msgid "Your server can't save your personal information." +#~ msgstr "Ваш сервер не може зберігати ваші особисті відомості." + +#~ msgid "Please rename or remove it before enabling link-local messaging." +#~ msgstr "" +#~ "Будь ласка, перейменуйте або вилучіть його, перш ніж вмикати локальні " +#~ "повідомлення." + +#~ msgid "THANKS:" +#~ msgstr "ПОДЯКИ:" + +#~ msgid "Could not write to %s. Session Management support will not work" +#~ msgstr "" +#~ "Не вдалося виконати запис до %s. Підтримка керування сеансами не " +#~ "працюватиме" + +#~ msgid "Jabber Traffic" +#~ msgstr "Трафік Jabber" + +#~ msgid "_Enable" +#~ msgstr "Увімкнути" + +#~ msgid "Hide IN stanzas" +#~ msgstr "Ховати станси IN" + +#~ msgid "Hide OUT stanzas" +#~ msgstr "Ховати станси OUT" + +#~ msgid "Hide Presence stanzas" +#~ msgstr "Ховати станси присутності" + +#~ msgid "Hide IQ stanzas" +#~ msgstr "Ховати станси IQ" + +#~ msgid "Filter" +#~ msgstr "Фільтр" + +#~ msgid "_IQ" +#~ msgstr "_IQ" + +#~ msgid "Info/Query" +#~ msgstr "Інформація/Запит" + +#~ msgid "XML Input" +#~ msgstr "Ввід XML" + +#~ msgid "XML Console for %s" +#~ msgstr "Консоль XML для %s" + +#, fuzzy +#~ msgid "Idle for:" +#~ msgstr "Відсутній %s" + +#, fuzzy +#~ msgid "" +#~ "Request offline status messages from all contacts upon connecting. " +#~ "WARNING: This causes a lot of requests to be sent!" +#~ msgstr "" +#~ "Запит повідомлень відсутності до усих відключених контактів при появі з " +#~ "ними зв’язку. УВАГА: це призведе до відсилання великої кількості запитів." + +#~ msgid "Last status: %s" +#~ msgstr "Попередній стан: %s" + +#~ msgid " since %s" +#~ msgstr " з %s" + +#~ msgid "since %s" +#~ msgstr "з %s" + +#~ msgid "Concede" +#~ msgstr "Припустити" + +#~ msgid "Forbid" +#~ msgstr "Заборонити" + +#~ msgid "Auto" +#~ msgstr "Автоматично" + +#~ msgid "Method Auto" +#~ msgstr "Автоматичний метод" + +#~ msgid "Method Local" +#~ msgstr "Локальний метод" + +#~ msgid "Method Manual" +#~ msgstr "Ручний метод" + +#~ msgid "body" +#~ msgstr "тіло" + +#~ msgid "false" +#~ msgstr "хибне" + +#~ msgid "stream" +#~ msgstr "потік" + +#~ msgid "concede" +#~ msgstr "припустити" + +#~ msgid "forbid" +#~ msgstr "заборонити" + +#~ msgid "oppose" +#~ msgstr "проотиставити" + +#~ msgid "prefer" +#~ msgstr "надати перевагу" + +#~ msgid "otr" +#~ msgstr "otr" + +#~ msgid "save" +#~ msgstr "зберегти" + +#~ msgid "Last time we syncronized with logs from server." +#~ msgstr "Останній раз коли було синхронізовано журнали з сервером" + +#~ msgid "Invalid expire value" +#~ msgstr "Некоректне значення застарівання" + +#~ msgid "Expire must be a valid positive integer." +#~ msgstr "Час застарівання має бути дійсним додатним цілим числом." + +#~ msgid "There is an error with the form" +#~ msgstr "Це помилка з формою" + +#~ msgid "There is an error" +#~ msgstr "Це помилка" + +#~ msgid "How many minutes should last lines from previous conversation last." +#~ msgstr "" +#~ "Проміжок часу у хвилинах, протягом якого слід зберігати рядки попередньої " +#~ "розмови" + +#~ msgid "" +#~ "Your configured emoticons theme cannot been loaded. You maybe need to " +#~ "update the format of emoticons.py file. See http://trac.gajim.org/wiki/" +#~ "Emoticons for more details." +#~ msgstr "" +#~ "Не вдалося завантажити вказану вами тему емоційок. Можливо, вам слід " +#~ "оновити формат файла emoticons.py. Докладніше про новий формат можна " +#~ "дізнатися за адресою http://trac.gajim.org/wiki/Emoticons." + +#~ msgid "You will be connected to %s without OpenPGP." +#~ msgstr "З’єднання з %s буде встановлено без OpenPGP." + +#~ msgid "The following message was NOT encrypted" +#~ msgstr "Наступне повідомлення НЕ було зашифровано" + +#~ msgid "Toggle Open_PGP Encryption" +#~ msgstr "Увімкнути або вимкнути Open_PGP-шифрування" + +#~ msgid "Toggle End to End Encryption" +#~ msgstr "Увімкнути або вимкнути наскрізне шифрування" + +#~ msgid "OpenPGP encryption enabled" +#~ msgstr "Шифрування GPG увімкнено" + +#~ msgid "No OpenPGP key assigned" +#~ msgstr "Немає призначеного ключа GPG" + +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages with OpenPGP." +#~ msgstr "" +#~ "З цим контактом не пов’язано жодного ключа GPG. Отже ви не зможете " +#~ "шифрувати повідомлення за допомогою GPG." + +#~ msgid "Session WILL be logged" +#~ msgstr "Сеанс БУДЕ записано до журналу" + +#~ msgid "Session WILL NOT be logged" +#~ msgstr "Сеанс НЕ БУДЕ записано до журналу" + +#~ msgid "is" +#~ msgstr "є" + +#~ msgid "is NOT" +#~ msgstr "НЕ є" + +#~ msgid "will" +#~ msgstr "буде" + +#~ msgid "will NOT" +#~ msgstr "НЕ буде" + +#~ msgid "The following message was encrypted" +#~ msgstr "Наступне повідомлення було зашифровано" + +#~ msgid "Toggle the OpenPGP encryption" +#~ msgstr "Перемкнути GPG-шифрування" + +#~ msgid "" +#~ "Should Gajim automatically start an encrypted session with this contact " +#~ "when possible?" +#~ msgstr "" +#~ "Чи має Gajim за можливості автоматично запускати шифрований сеанс " +#~ "спілкування з цим контактом?" + +#~ msgid "Neither the remote presence is signed, nor a key was assigned." +#~ msgstr "" +#~ "Не підписано повідомлення про присутність, ключа також не призначено." + +#~ msgid "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "" +#~ "Ключ контакту (%s) не збігається з ключем, призначеним для нього у Gajim." + +#~ msgid "[This message is *encrypted* (See :XEP:`27`]" +#~ msgstr "[Це повідомлення *зашифровано* (див. :XEP:`27`]" + +#~ msgid "" +#~ "Your chat session with %(jid)s is encrypted.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "Ваш сеанс балачки з %(jid)s зашифровано.\n" +#~ "\n" +#~ "Коротким рядком розпізнавання (SAS) цього сеансу є %(sas)s." + +#~ msgid "You have already verified this contact's identity." +#~ msgstr "Ви вже перевіряли особу контакту." + +#~ msgid "Contact's identity verified" +#~ msgstr "Особу контакту перевірено" + +#~ msgid "" +#~ "To be certain that only the expected person can read your messages " +#~ "or send you messages, you need to verify their identity by clicking the " +#~ "button below." +#~ msgstr "" +#~ "Щоб переконатися у тому, що ваші повідомлення зможе читати лише " +#~ "бажана особа, і що ця лише ця особа матиме змогу надсилати вам " +#~ "повідомлення, вам слід підтвердити їх ідентичність натисканням кнопки, " +#~ "розташованої нижче." + +#~ msgid "Contact's identity NOT verified" +#~ msgstr "Особу контакту НЕ перевірено" + +#, fuzzy +#~ msgid "Verify…" +#~ msgstr "Пере_вірити" + +#~ msgid "Have you verified the contact's identity?" +#~ msgstr "Чи перевірили ви особу контакту?" + +#~ msgid "" +#~ "To prevent talking to an unknown person, you should speak to %(jid)s directly (in person or on the phone) and verify that they see the same " +#~ "Short Authentication String (SAS) as you.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "Щоб уникнути можливості розмови зі сторонньою особою, вам слід зв’язатися " +#~ "з %(jid)s напряму (особисто або телефоном) і перевірити чи бачить " +#~ "ця особа той самий короткий рядок розпізнавання (SAS), що і ви.\n" +#~ "\n" +#~ "Коротким рядком розпізнавання у цьому сеансі буде %(sas)s." + +#~ msgid "Did you talk to the remote contact and verify the SAS?" +#~ msgstr "Ви зв’язалися з контактом і перевірили SAS?" + +#~ msgid "" +#~ "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "" +#~ "Ключ контакту (%s) не збігається з ключем, призначеним для нього у " +#~ "Gajim." + +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages." +#~ msgstr "" +#~ "З цим контактом не пов’язано жодних ключів GPG. Отже шифрування " +#~ "повідомлень буде неможливим." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP key is assigned to this contact, but you do not trust their " +#~ "key, so message cannot be encrypted. Use your OpenPGP client " +#~ "to trust their key." +#~ msgstr "" +#~ "З цим контактом пов’язано ключ GPG, але ви вважаєте цей ключ " +#~ "ненадійним, отже повідомлення не може бути зашифрованим. Для " +#~ "того, щоб встановити надійність цього ключа, скористайтесь вашим клієнтом " +#~ "GPG." + +#, fuzzy +#~ msgid "" +#~ "OpenPGP Key is assigned to this contact, and you trust their key, so " +#~ "messages will be encrypted." +#~ msgstr "" +#~ "З цим контактом пов’язано ключ GPG, ви вважаєте цей ключ надійним, отже " +#~ "повідомлення буде зашифровано." + +#~ msgid "" +#~ "This icon indicates that this message has not yet\n" +#~ "been received by the remote end. If this icon stays\n" +#~ "for a long time, it's likely the message got lost." +#~ msgstr "" +#~ "Ця піктограма позначає, що це повідомлення ще не було\n" +#~ "отримано співрозмовником. Якщо програма показуватиме\n" +#~ "цю піктограму довго, ймовірно, повідомлення було втрачено." + +#~ msgid "" +#~ "If True, listen to D-Bus signals from NetworkManager and change the " +#~ "status of accounts (provided they do not have listen_to_network_manager " +#~ "set to False and they sync with global status) based upon the status of " +#~ "the network connection." +#~ msgstr "" +#~ "Якщо має значення «True», слідкувати за сигналами D-Bus від " +#~ "NetworkManager і змінювати стан облікових записів (якщо для них не " +#~ "встановлено значення параметра listen_to_network_manager рівне «False» і " +#~ "вони синхронізуються з загальним станом) згідно до стану мережевого " +#~ "з’єднання." + +#~ msgid "" +#~ "The database file (%s) cannot be read. Try to repair it or remove it (all " +#~ "history will be lost)." +#~ msgstr "" +#~ "Не вдалося прочитати файл бази даних (%s). Спробуйте виправити або " +#~ "вилучити його (всі записи журналу буде втрачено)." + +#~ msgid "Database cannot be read." +#~ msgstr "Не вдалося прочитати базу даних." + +#~ msgid "A message from a non-valid JID arrived, it has been ignored." +#~ msgstr "" +#~ "Надійшло повідомлення від некоректного JID, це повідомлення було " +#~ "проігноровано." + +#~ msgid "Smooth scroll message in conversation window" +#~ msgstr "Плавне гортання повідомлень у вікні балачки" + +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "Редагувати _списки конфіденційності..." + +#~ msgid "_Administrator" +#~ msgstr "_Адміністратор" + +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "Надсилає повідомлення усім користувачам, з’єднаним з сервером" + +#~ msgid "Sets Message of the Day" +#~ msgstr "Встановлює «Повідомлення дня»" + +#~ msgid "Updates Message of the Day" +#~ msgstr "Оновлює «Повідомлення дня»" + +#~ msgid "Deletes Message of the Day" +#~ msgstr "Вилучає «Повідомлення дня»" + +#~ msgid "Add _Contact..." +#~ msgstr "Додати _контакт..." + +#~ msgid "Profile, A_vatar" +#~ msgstr "Профіль, _аватар" + +#~ msgid "P_lugins" +#~ msgstr "Додатки" + +#~ msgid "File _Transfers" +#~ msgstr "Передавання _файлів" + +#~ msgid "Help online" +#~ msgstr "Довідка у Тенетах" + +#~ msgid "Frequently Asked Questions (online)" +#~ msgstr "Часті питання (в Мережі)" + +#~ msgid "Fea_tures" +#~ msgstr "Мо_жливості" + +#~ msgid "to %s account" +#~ msgstr "до облікового запису %s" + +#~ msgid "using %s account" +#~ msgstr "з облікового запису %s" + +#~ msgid "of account %s" +#~ msgstr "облікового запису %s" + +#~ msgid "for account %s" +#~ msgstr "до облікового запису %s" + +#~ msgid "" +#~ "By removing this contact you also remove authorization resulting in him " +#~ "or her always seeing you as offline." +#~ msgstr "" +#~ "Вилучення цього контакту призведе до вилучення уповноваження, отже він " +#~ "або вона не зможуть визначати, коли ви перебуватимете у мережі." + +#~ msgid "Message Body xmpp.org/getting-started" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:646 +#, fuzzy +msgid "_Please choose a server" +msgstr "请选择一个昵称" + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "" + +#: gajim/data/gui/application_menu.ui:8 +#, fuzzy +msgid "_Start / Join Chat…" +msgstr "开始聊天" + +#: gajim/data/gui/application_menu.ui:13 +#, fuzzy +msgid "Create _Group Chat…" +msgstr "离开聊天室" + +#: gajim/data/gui/application_menu.ui:18 +#, fuzzy +msgid "_History Manager" +msgstr "历史记录管理器" + +#: gajim/data/gui/application_menu.ui:22 +#, fuzzy +msgid "Pl_ugins" +msgstr "插件" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +#, fuzzy +msgid "_Preferences" +msgstr "参数" + +#: gajim/data/gui/application_menu.ui:36 +#, fuzzy +msgid "_Accounts" +msgstr "账户" + +#: gajim/data/gui/application_menu.ui:39 +#, fuzzy +msgid "_View" +msgstr "视图(_V)" + +#: gajim/data/gui/application_menu.ui:46 +#, fuzzy +msgid "Show _Offline Contacts" +msgstr "显示离线联系人" + +#: gajim/data/gui/application_menu.ui:50 +#, fuzzy +msgid "Show _Active Contacts" +msgstr "只显示活动的联系人(_A)" + +#: gajim/data/gui/application_menu.ui:54 +#, fuzzy +msgid "Show _Transports" +msgstr "显示代理(_P)" + +#: gajim/data/gui/application_menu.ui:60 +#, fuzzy +msgid "_XML Console" +msgstr "XML 控制台" + +#: gajim/data/gui/application_menu.ui:64 +#, fuzzy +msgid "_File Transfer" +msgstr "文件传输" + +#: gajim/data/gui/application_menu.ui:74 +#, fuzzy +msgid "_Help" +msgstr "帮助(_H)" + +#: gajim/data/gui/application_menu.ui:77 +#, fuzzy +msgid "_Wiki (Online)" +msgstr "在线" + +#: gajim/data/gui/application_menu.ui:81 +#, fuzzy +msgid "FA_Q (Online)" +msgstr "在线" + +#: gajim/data/gui/application_menu.ui:85 +msgid "_Keyboard Shortcuts" +msgstr "" + +#: gajim/data/gui/application_menu.ui:89 +#, fuzzy +msgid "_Features" +msgstr "特性" + +#: gajim/data/gui/application_menu.ui:93 +#, fuzzy +msgid "_About" +msgstr "关于" + +#: gajim/data/gui/filetransfer_progress.ui:125 +msgid "Speed" +msgstr "" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +#, fuzzy +msgid "OK" +msgstr "确定(_O)" + +#: gajim/data/gui/plugins_window.ui:55 +#, fuzzy +msgid "Install Plugin from ZIP-File" +msgstr "安装" + +#: gajim/data/gui/plugins_window.ui:56 +#, fuzzy +msgid "Install from File…" +msgstr "安装" + +#: gajim/data/gui/plugins_window.ui:70 +#, fuzzy +msgid "Uninstall Plugin" +msgstr "卸载" + +#: gajim/data/gui/plugins_window.ui:116 +#, fuzzy +msgid "" +msgstr "注册失败" + +#: gajim/data/gui/plugins_window.ui:133 +#, fuzzy +msgid "Plugin Settings" +msgstr "插件" + +#: gajim/data/gui/plugins_window.ui:215 +#, fuzzy +msgid "" +msgstr "描述" + +#: gajim/data/gui/plugins_window.ui:239 +#, fuzzy +msgid "Version" +msgstr "版本: " + +#: gajim/data/gui/plugins_window.ui:271 +#, fuzzy +msgid "Authors" +msgstr "作者: " + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +#, fuzzy +msgid "Homepage" +msgstr "主页: " + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:349 +msgid "Installed" +msgstr "已安装" + +#: gajim/data/gui/plugins_window.ui:363 +#, fuzzy +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "插件的描述会被显示在这里。这些文字在插件窗口初始化时将被去除" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +msgid "Synchronise contacts" +msgstr "同步联系人" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "选择您想要与之同步的账户" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +#, fuzzy +msgid "_Name" +msgstr "名称(_N): " + +#: gajim/data/gui/groupchat_creation.ui:122 +#, fuzzy +msgid "_Description" +msgstr "描述" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +#, fuzzy +msgid "_Address" +msgstr "地址(_A):" + +#: gajim/data/gui/groupchat_creation.ui:278 +#, fuzzy +msgid "_Account" +msgstr "帐户(_A)" + +#: gajim/data/gui/profile.ui:33 +#, fuzzy +msgid "Contact Infos" +msgstr "联系人信息" + +#: gajim/data/gui/profile.ui:45 +#, fuzzy +msgid "Picture and Name" +msgstr "要使用的图片" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "" + +#: gajim/data/gui/profile.ui:198 +#, fuzzy +msgid "Change your profile picture" +msgstr "更改您的昵称(Ctrl+N)" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:298 +#, fuzzy +msgid "Add Entry" +msgstr "Entry:" + +#: gajim/data/gui/profile.ui:410 +#, fuzzy +msgid "Update" +msgstr "更新 MOTD..." + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:15 +#, fuzzy +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "SOCKS5" + +#: gajim/data/gui/manage_proxies.ui:65 +#, fuzzy +msgid "Add Proxy" +msgstr "代理服务器(_Y): " + +#: gajim/data/gui/manage_proxies.ui:79 +#, fuzzy +msgid "Remove Proxy" +msgstr "移除群组" + +#: gajim/data/gui/manage_proxies.ui:131 +#, fuzzy +msgid "Pass_word" +msgstr "密码(_W)" + +#: gajim/data/gui/manage_proxies.ui:156 +msgid "Use proxy auth_entication" +msgstr "代理服务器需要认证" + +#: gajim/data/gui/manage_proxies.ui:176 +#, fuzzy +msgid "_Username" +msgstr "用户名(_U): " + +#: gajim/data/gui/manage_proxies.ui:237 +#, fuzzy +msgid "_Host" +msgstr "主机名(_H): " + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "本地 JID: " + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "资源: " + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "状态: " + +#: gajim/data/gui/zeroconf_information_window.ui:89 +#, fuzzy +msgid "_Store conversation history" +msgstr "记录聊天历史(_L)" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +msgid "Contact" +msgstr "联系人" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +msgid "First Name:" +msgstr "名: " + +#: gajim/data/gui/zeroconf_information_window.ui:246 +msgid "Last Name:" +msgstr "姓: " + +#: gajim/data/gui/zeroconf_information_window.ui:259 +#, fuzzy +msgid "XMPP Address:" +msgstr "AIM 地址: " + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "E-Mail : " + +#: gajim/data/gui/zeroconf_information_window.ui:353 +msgid "Personal" +msgstr "个人" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "状态(_S)" + +#: gajim/data/gui/account_context_menu.ui:20 +msgid "_Personal Events" +msgstr "个人事件" + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "添加联系人(_A)..." + +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "发现服务(_D)" + +#: gajim/data/gui/account_context_menu.ui:57 +msgid "_Execute Command..." +msgstr "执行命令(_E)..." + +#: gajim/data/gui/account_context_menu.ui:65 +#, fuzzy +msgid "_View Server Info" +msgstr "服务器" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:125 +#, fuzzy +msgid "Global Group Chat Search" +msgstr "加入聊天室" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +#, fuzzy +msgid "_Back" +msgstr "马上回来" + +#: gajim/data/gui/start_chat_dialog.ui:386 +#, fuzzy +msgid "Select Account" +msgstr "移除账户 %s" + +#: gajim/data/gui/start_chat_dialog.ui:477 +#, fuzzy +msgid "_Select" +msgstr "清洁" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +msgid "Configure" +msgstr "配置" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +msgid "Create new post" +msgstr "创建新消息" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "状态(_T)" + +#: gajim/data/gui/systray_context_menu.ui:20 +msgid "_Start Chat..." +msgstr "开始聊天(_S)" + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "发送单条(_M)..." + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "显示所有未处理事件(_E)" + +#: gajim/data/gui/systray_context_menu.ui:52 +msgid "Mute Sounds" +msgstr "静音" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +#, fuzzy +msgid "Contact List" +msgstr "联系人" + +#: gajim/data/gui/shortcuts_window.ui:24 +#, fuzzy +msgid "Create new group chat" +msgstr "离开聊天室" + +#: gajim/data/gui/shortcuts_window.ui:45 +#, fuzzy +msgid "File transfers" +msgstr "文件传输" + +#: gajim/data/gui/shortcuts_window.ui:52 +msgid "Set the status message" +msgstr "设置状态信息" + +#: gajim/data/gui/shortcuts_window.ui:59 +#, fuzzy +msgid "Show XML console" +msgstr "显示 XML 控制台(_X)" + +#: gajim/data/gui/shortcuts_window.ui:74 +msgid "Appearance" +msgstr "聊天窗口外观" + +#: gajim/data/gui/shortcuts_window.ui:79 +#, fuzzy +msgid "Show offline contacts" +msgstr "显示离线联系人" + +#: gajim/data/gui/shortcuts_window.ui:86 +#, fuzzy +msgid "Show only active contacts" +msgstr "只显示活动的联系人(_A)" + +#: gajim/data/gui/shortcuts_window.ui:93 +msgid "Enable contact list filtering" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:100 +#, fuzzy +msgid "Show / hide contact list" +msgstr "只显示活动的联系人(_A)" + +#: gajim/data/gui/shortcuts_window.ui:113 +#, fuzzy +msgid "Contact information" +msgstr "联系人信息" + +#: gajim/data/gui/shortcuts_window.ui:120 +#, fuzzy +msgid "Rename contact" +msgstr "重命名联系人" + +#: gajim/data/gui/shortcuts_window.ui:127 +#, fuzzy +msgid "Delete contact" +msgstr "已发送联系人: " + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +#, fuzzy +msgid "Chat" +msgstr "聊天" + +#: gajim/data/gui/shortcuts_window.ui:142 +#, fuzzy +msgid "Message composition" +msgstr "消息内容" + +#: gajim/data/gui/shortcuts_window.ui:147 +#, fuzzy +msgid "Send the message" +msgstr "发送消息" + +#: gajim/data/gui/shortcuts_window.ui:154 +#, fuzzy +msgid "Add new line" +msgstr "创建新消息" + +#: gajim/data/gui/shortcuts_window.ui:161 +msgid "Select an emoji" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:168 +#, fuzzy +msgid "Complete a command or a nickname" +msgstr "请选择一个昵称" + +#: gajim/data/gui/shortcuts_window.ui:175 +#, fuzzy +msgid "Previously sent message" +msgstr "预设的消息: " + +#: gajim/data/gui/shortcuts_window.ui:182 +#, fuzzy +msgid "Next sent messages" +msgstr "预设的消息: " + +#: gajim/data/gui/shortcuts_window.ui:189 +msgid "Quote previous message" +msgstr "引用上一个状态信息" + +#: gajim/data/gui/shortcuts_window.ui:196 +#, fuzzy +msgid "Quote next message" +msgstr "发送消息" + +#: gajim/data/gui/shortcuts_window.ui:203 +#, fuzzy +msgid "Clear message entry" +msgstr "消息已发送" + +#: gajim/data/gui/shortcuts_window.ui:211 +#, fuzzy +msgid "Recent history" +msgstr "最近: " + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:230 +#, fuzzy +msgid "Clear chat window" +msgstr "隐藏该窗口" + +#: gajim/data/gui/shortcuts_window.ui:237 +#, fuzzy +msgid "Show chat history" +msgstr "最近: " + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:299 +msgid "Close chat" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:312 +#, fuzzy +msgid "Change Nickname" +msgstr "更改昵称" + +#: gajim/data/gui/chat_control.ui:48 +#, fuzzy +msgid "Drop files or contacts" +msgstr "向联系人发送文件" + +#: gajim/data/gui/chat_control.ui:80 +msgid "1" +msgstr "1" + +#: gajim/data/gui/chat_control.ui:101 +msgid "2 abc" +msgstr "2" + +#: gajim/data/gui/chat_control.ui:121 +msgid "3 def" +msgstr "3" + +#: gajim/data/gui/chat_control.ui:141 +msgid "4 ghi" +msgstr "4" + +#: gajim/data/gui/chat_control.ui:161 +msgid "5 jkl" +msgstr "5" + +#: gajim/data/gui/chat_control.ui:181 +msgid "6 mno" +msgstr "6" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "" + +#: gajim/data/gui/chat_control.ui:221 +msgid "8 tuv" +msgstr "8" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "" + +#: gajim/data/gui/chat_control.ui:261 +#, fuzzy +msgid "*" +msgstr "字体" + +#: gajim/data/gui/chat_control.ui:281 +msgid "0" +msgstr "0" + +#: gajim/data/gui/chat_control.ui:301 +#, fuzzy +msgid "#" +msgstr "字体" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "开始聊天(_C)" + +#: gajim/data/gui/contact_context_menu.ui:28 +msgid "Send _File..." +msgstr "发送文件(_F)..." + +#: gajim/data/gui/contact_context_menu.ui:44 +msgid "Invite _Contacts" +msgstr "邀请联系人(_C)" + +#: gajim/data/gui/contact_context_menu.ui:58 +msgid "E_xecute Command..." +msgstr "执行命令..." + +#: gajim/data/gui/contact_context_menu.ui:67 +#, fuzzy +msgid "M_anage Contact" +msgstr "管理联系人" + +#: gajim/data/gui/contact_context_menu.ui:77 +msgid "_Rename..." +msgstr "重命名(_R)" + +#: gajim/data/gui/contact_context_menu.ui:84 +msgid "Edit _Groups..." +msgstr "编辑群组(_G)..." + +#: gajim/data/gui/contact_context_menu.ui:92 +msgid "Add Special _Notification..." +msgstr "添加特殊提示(_N)" + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "认证(_S)" + +#: gajim/data/gui/contact_context_menu.ui:115 +#, fuzzy +msgid "_Allow contact to see my status" +msgstr "允许此联系人看到我的状态(_L)" + +#: gajim/data/gui/contact_context_menu.ui:123 +#, fuzzy +msgid "A_sk to see contact status" +msgstr "要求查看他/她的状态(_S)" + +#: gajim/data/gui/contact_context_menu.ui:131 +#, fuzzy +msgid "_Forbid contact to see my status" +msgstr "禁止他/她查看我的状态(_F)" + +#: gajim/data/gui/contact_context_menu.ui:159 +msgid "_Unignore" +msgstr "取消忽略(_U)" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "忽略(_I)" + +#: gajim/data/gui/contact_context_menu.ui:174 +#, fuzzy +msgid "_Add to Contact List..." +msgstr "添加联系人(_A)..." + +#: gajim/data/gui/single_message_window.ui:42 +#, fuzzy +msgid "_To" +msgstr "To" + +#: gajim/data/gui/single_message_window.ui:71 +#, fuzzy +msgid "Su_bject" +msgstr "主题" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "" + +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "_Message" + +#: gajim/data/gui/single_message_window.ui:144 +#, fuzzy +msgid "Characters typed: 0" +msgstr "不允许的字符" + +#: gajim/data/gui/single_message_window.ui:189 +#, fuzzy +msgid "_From" +msgstr "From" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "发送(_D)" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "发送消息" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "回复(_R)" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "回复本条消息" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "发送并关闭(_S)" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "发送消息并关闭窗口" + +#: gajim/data/gui/vcard_information_window.ui:106 +msgid "Client" +msgstr "客户端" + +#: gajim/data/gui/vcard_information_window.ui:140 +#, fuzzy +msgid "Contact time" +msgstr "联系人名" + +#: gajim/data/gui/vcard_information_window.ui:240 +msgid "User avatar" +msgstr "头像" + +#: gajim/data/gui/vcard_information_window.ui:255 +#, fuzzy +msgid "Configured avatar" +msgstr "设置头像: " + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +msgid "Ask" +msgstr "" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +#, fuzzy +msgid "Subscription" +msgstr "认证: " + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +msgid "Extra Address" +msgstr "附加地址:" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +msgid "Address" +msgstr "地址" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +#, fuzzy +msgid "E-Mail" +msgstr "E-Mail : " + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "格式: YYYY-MM-DD" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +#, fuzzy +msgid "Family" +msgstr "姓: " + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +#, fuzzy +msgid "Middle" +msgstr "一周中" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +#, fuzzy +msgid "Prefix" +msgstr "Prefer" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +msgid "Given" +msgstr "" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +msgid "Suffix" +msgstr "后缀:" + +#: gajim/data/gui/vcard_information_window.ui:958 +#, fuzzy +msgid "Name Details" +msgstr "名字: " + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "按钮" + +#: gajim/data/gui/vcard_information_window.ui:1017 +msgid "Personal Info" +msgstr "个人信息" + +#: gajim/data/gui/vcard_information_window.ui:1040 +msgid "Company" +msgstr "公司" + +#: gajim/data/gui/vcard_information_window.ui:1073 +msgid "Department" +msgstr "部门: " + +#: gajim/data/gui/vcard_information_window.ui:1104 +#, fuzzy +msgid "Position" +msgstr "条件" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "角色" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "关于" + +#: gajim/data/gui/vcard_information_window.ui:1514 +msgid "Comments" +msgstr "注释" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "编辑群组" + +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "密文" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +#, fuzzy +msgid "Themes" +msgstr "主题" + +#: gajim/data/gui/themes_window.ui:171 +#, fuzzy +msgid "Add Setting" +msgstr "插件" + +#: gajim/data/gui/themes_window.ui:204 +#, fuzzy +msgid "Add new Theme" +msgstr "创建新消息" + +#: gajim/data/gui/themes_window.ui:219 +#, fuzzy +msgid "Remove Theme" +msgstr "活动" + +#: gajim/data/gui/bookmarks.ui:120 +#, fuzzy +msgid "Autojoin" +msgstr "自动加入" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "" + +#: gajim/data/gui/preferences.ui:68 +#, fuzzy +msgid "Contact List Appearance" +msgstr "联系人列表项交换" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +#, fuzzy +msgid "Chats" +msgstr "聊天" + +#: gajim/data/gui/preferences.ui:215 +msgid "Visual Notifications" +msgstr "可视化提示" + +#: gajim/data/gui/preferences.ui:243 +#, fuzzy +msgid "Sounds" +msgstr "Wav声音" + +#: gajim/data/gui/preferences.ui:303 +#, fuzzy +msgid "Ask For Status Message on…" +msgstr "询问状态信息, 当我: " + +#: gajim/data/gui/preferences.ui:331 +#, fuzzy +msgid "Automatic Status Change" +msgstr "自动调整状态" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "" + +#: gajim/data/gui/preferences.ui:447 +#, fuzzy +msgid "Status Icon" +msgstr "状态图标集(_I): " + +#: gajim/data/gui/preferences.ui:472 +msgid "Style" +msgstr "风格" + +#: gajim/data/gui/preferences.ui:511 +#, fuzzy +msgid "Show _Features" +msgstr "特性" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:632 +#, fuzzy +msgid "Audio" +msgstr "音频测试" + +#: gajim/data/gui/preferences.ui:660 +#, fuzzy +msgid "Video" +msgstr "视频测试" + +#: gajim/data/gui/preferences.ui:698 +#, fuzzy +msgid "Audio/Video" +msgstr "音频/视频" + +#: gajim/data/gui/preferences.ui:735 +msgid "Miscellaneous" +msgstr "杂项" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:821 +#, fuzzy +msgid "Advanced Configuration Editor… " +msgstr "高级设置编辑器" + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "" + +#: gajim/data/gui/server_info.ui:50 +msgid "Server Software" +msgstr "" + +#: gajim/data/gui/server_info.ui:80 +msgid "Server Uptime" +msgstr "服务器运行时间" + +#: gajim/data/gui/server_info.ui:109 +#, fuzzy +msgid "Contact Addresses" +msgstr "联系人消息: " + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "" + +#: gajim/data/gui/server_info.ui:177 +#, fuzzy +msgid "Proxy Type" +msgstr "代理服务器(_Y): " + +#: gajim/data/gui/server_info.ui:192 +#, fuzzy +msgid "No proxy used" +msgstr "代理服务器(_Y): " + +#: gajim/data/gui/server_info.ui:202 +#, fuzzy +msgid "View _Certificate" +msgstr "查看证书…" + +#: gajim/data/gui/server_info.ui:222 +#, fuzzy +msgid "Proxy Host" +msgstr "代理服务器地址(_H): " + +#: gajim/data/gui/server_info.ui:421 +#, fuzzy +msgid "Copy info to clipboard" +msgstr "复制链接位置(_C)" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:153 +#, fuzzy +msgid "Serial Number" +msgstr "GG 号码: " + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:304 +#, fuzzy +msgid "Expires on" +msgstr "expire" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:465 +#, fuzzy +msgid "Copy Certificate Information" +msgstr "联系人信息" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "邀请朋友!" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +#, fuzzy +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "" +"您正在进入聊天室。\n" +"选择您想要邀请的联系人" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +#, fuzzy +msgid "Please select a group chat server." +msgstr "请选择一个多人聊天服务器。" + +#: gajim/data/gui/chat_to_muc_window.ui:141 +#, fuzzy +msgid "Group chat server" +msgstr "聊天室支持" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +msgid "In_vite" +msgstr "邀请(_V)" + +#: gajim/data/gui/mam_preferences.ui:53 +#, fuzzy +msgid "_Default" +msgstr "默认" + +#: gajim/data/gui/mam_preferences.ui:136 +#, fuzzy +msgid "Archive" +msgstr "文件为空" + +#: gajim/data/gui/history_manager.ui:11 +#, fuzzy +msgid "_Export" +msgstr "导出" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +msgid "Gajim History Logs Manager" +msgstr "Gajim 历史记录管理器" + +#: gajim/data/gui/history_manager.ui:104 +#, fuzzy +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" +"这个历史记录管理器并非为了浏览历史记录而设计。如果您需要浏览历史记录, 请使用" +"历史窗口。\n" +"\n" +"使用这个程序来删除或导出历史记录。您可以在左侧进行选择且/或在下方进行搜索。" + +#: gajim/data/gui/history_manager.ui:120 +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" +"警告: \n" +"如果您要进行大量的删除, 请确认 Gajim 不再运行。通常, 如果您正在与某个联系人聊" +"天, 请不要删除与他的聊天记录。" + +#: gajim/data/gui/history_manager.ui:211 +#, fuzzy +msgid "Search database..." +msgstr "搜索数据库(_S)" + +#: gajim/data/gui/history_manager.ui:226 +#, fuzzy +msgid "Search in database" +msgstr "搜索数据库(_S)" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" + +#: gajim/data/gui/groupchat_invite.ui:69 +#, fuzzy +msgid "Invitees" +msgstr "邀请(_V)" + +#: gajim/data/gui/groupchat_invite.ui:153 +#, fuzzy +msgid "Search contacts..." +msgstr "搜索数据库(_S)" + +#: gajim/data/gui/groupchat_invite.ui:223 +#, fuzzy +msgid "Click on contacts you would like to invite to this group chat." +msgstr "%(jid)s 已经被邀请加入该聊天室" + +#: gajim/data/gui/service_discovery_window.ui:148 +#, fuzzy +msgid "Go" +msgstr "到(_O)" + +#: gajim/data/gui/status_change_window.ui:27 +#, fuzzy +msgid "Change Status" +msgstr "改变状态" + +#: gajim/data/gui/status_change_window.ui:56 +#, fuzzy +msgid "Status Presets…" +msgstr "状态信息" + +#: gajim/data/gui/status_change_window.ui:72 +msgid "Save this message as a preset" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:130 +#, fuzzy +msgid "Ac_tivity" +msgstr "活动: " + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:278 +#, fuzzy +msgid "_Change Status" +msgstr "改变状态" + +#: gajim/data/gui/status_change_window.ui:313 +#, fuzzy +msgid "Activity" +msgstr "活动: " + +#: gajim/data/gui/status_change_window.ui:326 +#, fuzzy +msgid "_No Activity" +msgstr "活动: " + +#: gajim/data/gui/status_change_window.ui:729 +#, fuzzy +msgid "Mood" +msgstr "喜怒无常" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +#, fuzzy +msgid "Author" +msgstr "作者: " + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +#, fuzzy +msgid "Group Chat Language" +msgstr "聊天室邀请" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +#, fuzzy +msgid "Copy Address" +msgstr "复制 XMPP 地址" + +#: gajim/data/gui/emoji_chooser.ui:98 +#, fuzzy +msgid "No Results Found" +msgstr "无结果" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr "XML 控制台" + +#: gajim/data/gui/xml_console.ui:131 +#, fuzzy +msgid "Start Search..." +msgstr "开始聊天(_S)" + +#: gajim/data/gui/xml_console.ui:260 +#, fuzzy +msgid "Clear" +msgstr "清洁" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "" + +#: gajim/data/gui/xml_console.ui:316 +#, fuzzy +msgid "Presets" +msgstr "_Presence" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "同步: 选择联系人" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +msgid "Select the contacts you want to synchronise" +msgstr "选择您想要同步的联系人" + +#: gajim/data/gui/groupchat_config.ui:51 +#, fuzzy +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" +"Jabber-ID \n" +"<user@domain/resource >(只有这个资源匹配)\n" +"<user@domain>(任何资源均匹配)\n" +"<domain/resource> (只有这个资源匹配)\n" +"<domain>(域名本身匹配, 任何user@domain或者domain/resource或者包含一个子" +"域名的地址也匹配)。\n" + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:309 +#, fuzzy +msgid "Reserved Name" +msgstr "Preference Name" + +#: gajim/data/gui/groupchat_config.ui:346 +msgid "Affiliation" +msgstr "阶级" + +#: gajim/data/gui/groupchat_config.ui:377 +msgid "Affiliations" +msgstr "应用程序" + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "原因" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "封禁名单" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "拒绝(_D)" + +#: gajim/data/gui/subscription_request_window.ui:34 +#, fuzzy +msgid "_Block User" +msgstr "屏蔽(_B)" + +#: gajim/data/gui/subscription_request_window.ui:49 +#, fuzzy +msgid "_Report as Spam" +msgstr "报告错误(_R)" + +#: gajim/data/gui/subscription_request_window.ui:212 +#, fuzzy +msgid "_Deny…" +msgstr "拒绝(_D)" + +#: gajim/data/gui/subscription_request_window.ui:225 +#, fuzzy +msgid "Ac_cept" +msgstr "帐户(_A)" + +#: gajim/data/gui/subscription_request_window.ui:230 +#, fuzzy +msgid "Allows the contact to see your online status" +msgstr "允许此联系人看到我的状态(_L)" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:115 +#, fuzzy +msgid "_Report Bug" +msgstr "报告错误(_R)" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "事件" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "选择声音" + +#: gajim/data/gui/manage_sounds.ui:97 +#, fuzzy +msgid "Clear Sound" +msgstr "选择声音" + +#: gajim/data/gui/manage_sounds.ui:118 +#, fuzzy +msgid "Play Sound" +msgstr "播放声音(_S)" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +#, fuzzy +msgid "_Send Files" +msgstr "发送文件(_F)" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +#, fuzzy +msgid "Send" +msgstr "发送(_S)" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +#, fuzzy +msgid "Files to send" +msgstr "选择要发送的文件..." + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +#, fuzzy +msgid "Add Files" +msgstr "文件: " + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +#, fuzzy +msgid "Remove Files" +msgstr "移除(_R)" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +msgid "Idle since:" +msgstr "空闲开始时间:" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +msgid "Mood:" +msgstr "心情: " + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +msgid "Activity:" +msgstr "活动: " + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +msgid "Tune:" +msgstr "音乐:" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +msgid "Location:" +msgstr "位置:" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +#, fuzzy +msgid "Subscription:" +msgstr "认证: " + +#: gajim/data/gui/advanced_configuration.ui:15 +#, fuzzy +msgid "A restart may be required for some settings to take effect" +msgstr "注意:您必须重新启动 gajim 以使某些设置生效" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "" + +#: gajim/data/gui/advanced_configuration.ui:120 +#, fuzzy +msgid "_Reset Value" +msgstr "恢复为默认颜色设置(_R)" + +#: gajim/data/gui/advanced_configuration.ui:125 +#, fuzzy +msgid "Resets value to default" +msgstr "恢复为默认颜色设置(_R)" + +#: gajim/data/gui/history_window.ui:27 +#, fuzzy +msgid "Display status changes" +msgstr "记录联系人状态变化(_L)" + +#: gajim/data/gui/history_window.ui:57 +msgid "History Manager" +msgstr "历史记录管理器" + +#: gajim/data/gui/history_window.ui:233 +#, fuzzy +msgid "Mode" +msgstr "主持人" + +#: gajim/data/gui/history_window.ui:246 +#, fuzzy +msgid "Search complete history" +msgstr "最近: " + +#: gajim/data/gui/history_window.ui:263 +msgid "Search selected day only" +msgstr "" + +#: gajim/data/gui/history_window.ui:317 +#, fuzzy +msgid "Store history for this chat" +msgstr "忽略这个证书的这个错误。" + +#: gajim/data/gui/history_window.ui:332 +#, fuzzy +msgid "Store History" +msgstr "最近: " + +#: gajim/data/gui/ssl_error_dialog.ui:46 +#, fuzzy +msgid "Identified Error" +msgstr "SSL证书错误" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +#, fuzzy +msgid "" +msgstr "错误" + +#: gajim/data/gui/ssl_error_dialog.ui:74 +#, fuzzy +msgid "Add this certificate to the list of _trusted certificates" +msgstr "" +"将这个证书添加到可信任证书列表。\n" +"这个证书的 SHA1 指纹信息: \n" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +#, fuzzy +msgid "_View Certificate" +msgstr "查看证书…" + +#: gajim/data/gui/ssl_error_dialog.ui:120 +#, fuzzy +msgid "_Connect" +msgstr "已连接" + +#: data/org.gajim.Gajim.desktop.in:5 +#, fuzzy +msgid "XMPP Chat Client" +msgstr "Jabber 即时消息客户端" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:8 +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:27 +#, fuzzy +msgid "Show next pending event" +msgstr "显示所有未处理事件(_E)" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:17 +#, fuzzy +msgid "Features:" +msgstr "特性" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +#, fuzzy +msgid "Automatic spell-checking for your messages" +msgstr "对正在编辑的消息进行拼写检查。" + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +msgid "Support for service discovery including nodes and search for users" +msgstr "支持包括用户搜索和节点在内的服务发现功能" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +#, fuzzy +msgid "Contact list" +msgstr "联系人" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +msgid "Group chat support" +msgstr "聊天室支持" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +#, fuzzy +msgid "Chat history" +msgstr "最近: " + +#: data/org.gajim.Gajim.appdata.xml.in:57 +#, fuzzy +msgid "Plugin manager" +msgstr "注册失败" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +#, fuzzy +msgid "Gajim Team" +msgstr "Gajim 主题" + +#~ msgid "Chat Settings" +#~ msgstr "聊天设置" + +#, python-format +#~ msgid "%i day" +#~ msgid_plural "%i days" +#~ msgstr[0] "%i 天" + +#~ msgid "Composing only" +#~ msgstr "仅正在编辑" + +#~ msgid "All chat states" +#~ msgstr "所有聊天状态" + +#~ msgid "Privacy Lists" +#~ msgstr "隐私策略列表" + +#, fuzzy +#~ msgid "Unblock" +#~ msgstr "解除屏蔽(_U)" + +#, fuzzy +#~ msgid "Block" +#~ msgstr "屏蔽(_B)" + +#~ msgid "None" +#~ msgstr "无" + +#, python-format +#~ msgid "%s Status Message" +#~ msgstr "%s 状态信息" + +#~ msgid "an audio and video" +#~ msgstr "一个音频和视频" + +#~ msgid "an audio" +#~ msgstr "一个音频" + +#~ msgid "a video" +#~ msgstr "一个视频" + +#, fuzzy, python-format +#~ msgid "" +#~ "%(contact)s wants to start a %(type)s chat with you. Do you want to " +#~ "answer the call?" +#~ msgstr "%(contact)s 想要与您发起一个 %(type)s 会话。您要响应吗?" + +#~ msgid "Could not load image" +#~ msgstr "无法读取图片" + +#~ msgid "Error." +#~ msgstr "错误。" + +#, python-format +#~ msgid "%(type)s state : %(state)s, reason: %(reason)s" +#~ msgstr "%(type)s 状态: %(state)s, 原因: %(reason)s" + +#, fuzzy +#~ msgid "" +#~ "This contact will see you offline and you will not receive any messages " +#~ "sent to you by this contact." +#~ msgstr "这个联系人将看到您离线并且您不会在收到他发送给您的消息。" + +#, fuzzy +#~ msgid "_Block Contact" +#~ msgstr "被屏蔽的联系人" + +#, fuzzy +#~ msgid "Block Group" +#~ msgstr "屏蔽(_B)" + +#~ msgid "Really block this group?" +#~ msgstr "确定屏蔽此聊天室?" + +#, fuzzy +#~ msgid "" +#~ "All contacts of this group will see you as offline and you will not " +#~ "receive any messages sent to you by any one of these contacts." +#~ msgstr "这个联系人将看到您离线并且您不会在收到他发送给您的消息。" + +#, fuzzy +#~ msgid "_Block Group" +#~ msgstr "屏蔽(_B)" + +#~ msgid "No account available" +#~ msgstr "没有有效账户" + +#~ msgid "You must create an account before you can chat with other contacts." +#~ msgstr "您必须在与他人聊天前新建账户。" + +#~ msgid "Metacontacts storage not supported by your server" +#~ msgstr "您的服务器不支持存储元联系人信息" + +#, fuzzy +#~ msgid "" +#~ "Your server does not support storing metacontacts information. So this " +#~ "information will not be saved on next reconnection." +#~ msgstr "" +#~ "您的服务器不支持存储元联系人信息。所以这些信息在下次重新连接时不会被保存。" + +#, python-brace-format +#~ msgid "You are invited to {room} by {user}" +#~ msgstr "您被 {user}邀请到聊天室 {room}" + +#, python-format +#~ msgid "%s wants to start a voice chat." +#~ msgstr "%s 想要发起语音聊天。" + +#~ msgid "Could not save your settings and preferences" +#~ msgstr "无法保存您的设置。" + +#, fuzzy +#~ msgid "Error While Removing Privacy List" +#~ msgstr "移除隐私策略列表时出错" + +#, fuzzy, python-format +#~ msgid "" +#~ "Privacy list %s has not been removed. It is probably active in one of " +#~ "your connected resources. Please deactivate it and try again." +#~ msgstr "" +#~ "隐私策略列表 %s 还没有被移除。它可能在您的某个连接的资源中是活动的。禁用它" +#~ "然后重试。" + +#, fuzzy +#~ msgid "Invisibility Not Supported" +#~ msgstr "不支持隐身" + +#, fuzzy, python-format +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "账户 %s 不支持隐身" + +#, fuzzy +#~ msgid "Could not request upload slot for HTTP File Upload" +#~ msgstr "无法启动本地服务" + +#, fuzzy +#~ msgid "Not Secure" +#~ msgstr "未开始" + +#, fuzzy +#~ msgid "Could not Upload File" +#~ msgstr "无法读取图片" + +#~ msgid "Lists all preferences and their values" +#~ msgstr "列出所有的参数及它们的值" + +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "将\"密钥\"的值设为\"值\"" + +#~ msgid "key=value" +#~ msgstr "键=值" + +#, fuzzy +#~ msgid "'key' is the name of the preference, 'value' is what to set it to" +#~ msgstr "\"密钥\"是参数名, 而\"值\"是赋予参数的数值" + +#~ msgid "Deletes a preference item" +#~ msgstr "删除一个参数项" + +#~ msgid "key" +#~ msgstr "键" + +#~ msgid "name of the preference to be deleted" +#~ msgstr "需要删除的参数名" + +#~ msgid "Writes the current state of Gajim preferences to the .config file" +#~ msgstr "将当前Gajim的国家设置写入 .config 文件" + +#, python-format +#~ msgid "%s is a directory but should be a file" +#~ msgstr "%s 是一个目录但它应该是一个文件" + +#, fuzzy, python-format +#~ msgid "Creating %s" +#~ msgstr "正在销毁 %s" + +#, python-format +#~ msgid "%(nickname)s Signed In" +#~ msgstr "%(nickname)s 上线了" + +#~ msgid "Contact Signed In" +#~ msgstr "联系人登录" + +#, python-format +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "%(nickname)s 离开了" + +#~ msgid "Contact Signed Out" +#~ msgstr "联系人退出登录" + +#, fuzzy +#~ msgid "" +#~ "Show desktop notification even when a chat window is opened for this " +#~ "contact and does not have focus." +#~ msgstr "允许弹出提示, 当我离开/不可用/忙/隐身(_A)" + +#~ msgid "default" +#~ msgstr "默认" + +#, fuzzy +#~ msgid "" +#~ "Character to propose to add after desired nickname when nickname is " +#~ "already used in group chat." +#~ msgstr "当请求的昵称被聊天室中的其他人使用时加到请求的昵称后的字符。" + +#, fuzzy +#~ msgid "" +#~ "How many seconds to wait before trying to automatically rejoin a group " +#~ "chat you were disconnected from. Set to 0 to disable automatic rejoining." +#~ msgstr "" +#~ "自动重新加入一个断开了的聊天室前等待多少秒。设为 0 以禁用自动重新加入。" + +#, fuzzy +#~ msgid "If enabled, Gajim displays the avatar in the chat window." +#~ msgstr "如果为假, 您将不会在窗口中看到头像。" + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will show affiliation of group chat participants by " +#~ "adding a colored square to the status icon." +#~ msgstr "" +#~ "如果为是, Gajim 会在聊天室的成员的状态图标上加上一个彩色方框以显示阶级" + +#, fuzzy +#~ msgid "" +#~ "Status to be used automatically when connecting. Can be 'online', 'chat', " +#~ "'away', 'xa' or 'dnd'. NOTE: This option is used only if " +#~ "'restore_last_status' is disabled." +#~ msgstr "" +#~ "自动连接时使用的状态。可以是\"在线\", \"聊天\", \"离开\", \"离开很久了\", " +#~ "\"请勿打扰\", \"隐身\"。注意: 仅当 restore_last_status 被禁用时这个选项其" +#~ "作用" + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending password on an plaintext connection. " +#~ "Can be 'warn', or 'none'." +#~ msgstr "在使用明文连接发送密码前显示一个警告对话框。" + +#, fuzzy +#~ msgid "" +#~ "How many seconds to wait for the answer of a ping alive packet before " +#~ "trying to reconnect." +#~ msgstr "在重新连接前等待 ping alive packet 的回应多少秒" + +#~ msgid "I'm available." +#~ msgstr "我现在在线。" + +#~ msgid "I'm free for chat." +#~ msgstr "和我聊天吧" + +#~ msgid "Be right back." +#~ msgstr "很快回来。" + +#~ msgid "I'm not available." +#~ msgstr "我现在处于禁止状态。" + +#~ msgid "Do not disturb." +#~ msgstr "请勿打扰。" + +#~ msgid "Bye!" +#~ msgstr "再见!" + +#~ msgid "Timeout loading image" +#~ msgstr "读取文件超时" + +#~ msgid "Image is too big" +#~ msgstr "图片太大" + +#, fuzzy +#~ msgid "PyCURL is not installed" +#~ msgstr "证书吊销列表还未生效" + +#, fuzzy +#~ msgid "Error loading image" +#~ msgstr "读取文件超时" + +#~ msgid "Blocked Contacts" +#~ msgstr "被屏蔽的联系人" + +#, fuzzy +#~ msgid "Group chat" +#~ msgstr "聊天室" + +#, fuzzy +#~ msgid "Bookmark group chat" +#~ msgstr "将本聊天室加入书签(_B)" + +#, fuzzy +#~ msgid "Bookmark" +#~ msgstr "将本聊天室加入书签(_B)" + +#, fuzzy +#~ msgid "Recently used group chats" +#~ msgstr "在聊天室中(_G)" + +#, fuzzy +#~ msgid "Clear Avatar" +#~ msgstr "用户头像: " + +#, fuzzy +#~ msgid "Set Avatar…" +#~ msgstr "选择归档文件" + +#, fuzzy +#~ msgid "Contact" +#~ msgstr "联系人时间: " + +#, fuzzy +#~ msgid "_Leave Group Chat" +#~ msgstr "离开聊天室" + +#, fuzzy +#~ msgid "Enter a new name for this group chat" +#~ msgstr "为群组 %s 输入新的名称" + +#~ msgid "Use default applications" +#~ msgstr "使用默认的应用程序" + +#~ msgid "Custom" +#~ msgstr "自定义" + +#~ msgid "Pop it up" +#~ msgstr "弹出提示" + +#~ msgid "Notify me about it" +#~ msgstr "提醒我" + +#, fuzzy +#~ msgid "Show only in contact list" +#~ msgstr "只显示活动的联系人(_A)" + +#, fuzzy +#~ msgid "No status messages" +#~ msgstr "状态信息" + +#, fuzzy +#~ msgid "All status messages" +#~ msgstr "状态信息" + +#, fuzzy +#~ msgid "Only enter/leave messages" +#~ msgstr "您有未读消息" + +#, fuzzy +#~ msgid "Me_rge accounts" +#~ msgstr "合并帐户(_G)" + +#, fuzzy +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "在联系人列表显示中联系人的头像(_V)" + +#, fuzzy +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "如果选定, Gajim 会在联系人列表和聊天室窗口中显示所有联系人的头像" + +#, fuzzy +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "在联系人列表中显示联系人的状态信息(_M)" + +#, fuzzy +#~ msgid "" +#~ "If checked, status messages of contacts will be shown under the contact's " +#~ "name, in the contact list window, and in group chats" +#~ msgstr "" +#~ "如果选定, Gajim 会在联系人列表和聊天室窗口中联系人名称下方显示联系人状态信" +#~ "息" + +#, fuzzy +#~ msgid "" +#~ "Show e_xtra information of contacts in contact list (mood, activity, ...)" +#~ msgstr "在联系人列表中显示联系人的位置信息(_L)" + +#, fuzzy +#~ msgid "in _contact list" +#~ msgstr "已发送联系人: " + +#~ msgid "in _group chats" +#~ msgstr "在聊天室中(_G)" + +#, fuzzy +#~ msgid "Enable spell _checking" +#~ msgstr "拼写检查工具" + +#~ msgid "" +#~ "If checked, spelling errors in input fields of chat windows will be " +#~ "highlighted. If no language is explicitly set via right click on the " +#~ "input field, the default language will be used for this contact or group " +#~ "chat. Needs gspell to be installed." +#~ msgstr "" +#~ "如果选定, Gajim 会在聊天窗口中将编辑框中的拼写错误高亮显示。如果没有通过在" +#~ "编辑框点击右键的方式显式设定语言, 联系人或聊天室的默认语言将被使用。" + +#, fuzzy +#~ msgid "Display status messages in _single chats" +#~ msgstr "在联系人列表中显示联系人的状态信息(_M)" + +#~ msgid "" +#~ "If checked, status lines will be shown in 1 on 1 chats when a contact " +#~ "changes their status or status message" +#~ msgstr "" +#~ "如果选中, 在1对1聊天时,当有一方更改状态时,在聊天窗口的状态栏显示状态信息" + +#, fuzzy +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "无法加入聊天室" + +#, fuzzy +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "无法加入聊天室" + +#, fuzzy +#~ msgid "Show status changes (Default)" +#~ msgstr "记录联系人状态变化(_L)" + +#, fuzzy +#~ msgid "" +#~ "If checked, the tab will be colored according to the current chatstate of " +#~ "the contact" +#~ msgstr "如果选定, Gajim 会允许他人侦测到您所使用的操作系统" + +#, fuzzy +#~ msgid "" +#~ "If checked, a description of the contacts current chatstate is shown in " +#~ "the banner" +#~ msgstr "如果选定, Gajim 会允许他人侦测到您所使用的操作系统" + +#, fuzzy +#~ msgid "Chatstate" +#~ msgstr "最后状态" + +#, fuzzy +#~ msgid "_When new event is received" +#~ msgstr "当收到新的事件: " + +#, fuzzy +#~ msgid "Show popups/notifications when a chat window is already _open" +#~ msgstr "允许弹出提示, 当我离开/不可用/忙/隐身(_A)" + +#, fuzzy +#~ msgid "Allow popups/notifications when I'm _away, not available or busy" +#~ msgstr "允许弹出提示, 当我离开/不可用/忙/隐身(_A)" + +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "提醒我联系人登录(_I)" + +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "提醒我联系人登出(_O)" + +#~ msgid "Play _sounds" +#~ msgstr "播放声音(_S)" + +#~ msgid "Ma_nage..." +#~ msgstr "管理...(_N)" + +#, fuzzy +#~ msgid "Allow playing sounds when I'm _busy" +#~ msgstr "在我忙碌时允许播放声音(_B)" + +#, fuzzy +#~ msgid "No_t Available" +#~ msgstr "禁止" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Not Available when the computer " +#~ "has not been used for the specified time" +#~ msgstr "如果选定, Gajim 会在计算机空闲更长时间后将您的状态设置为禁止。" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Away when the computer has not " +#~ "been used for the specified time" +#~ msgstr "如果选定, Gajim 会在计算机空闲更长时间后将您的状态设置为禁止。" + +#, fuzzy +#~ msgid "" +#~ "The automatic away status message. If empty, the current status message " +#~ "will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-away timeout." +#~ msgstr "" +#~ "自动离开的状态信息。如果为空, Gajim 不会改变当前的状态信息\n" +#~ "$S会被上个状态信息替换\n" +#~ "$T会被自动离开的超时时间替换" + +#, fuzzy +#~ msgid "" +#~ "The automatic not available status message. If empty, the current status " +#~ "message will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-not-available timeout." +#~ msgstr "" +#~ "自动禁止的状态信息。如果为空, Gajim 不会改变当前的状态信息\n" +#~ "$S会被上个状态信息替换\n" +#~ "$T会被自动禁止的超时时间替换" + +#, fuzzy +#~ msgid "Minutes" +#~ msgstr "分钟" + +#~ msgid "" +#~ "If enabled, Gajim will not ask for a status message. The specified " +#~ "default message will be used instead." +#~ msgstr "如果选中, Gajim 不会询问状态信息, 而使用特定的默认信息。" + +#~ msgid "Default Message" +#~ msgstr "默认消息" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "状态信息" + +#~ msgid "Preset Status Messages" +#~ msgstr "预设状态信息" + +#, fuzzy +#~ msgid "_Theme" +#~ msgstr "主题" + +#~ msgid "Configure color and font of the interface" +#~ msgstr "配置界面颜色与字体" + +#~ msgid "" +#~ "If checked, protocol-specific status icons will be used (e.g. a contact " +#~ "from ICQ will have the equivalent ICQ icon for status online, away, busy, " +#~ "etc...)" +#~ msgstr "" +#~ "如果选中, Gajim 会以协议特定的方式显示状态图标。(例如, MSN 联系人会以同" +#~ "MSN 相同的图标显示在线, 离开, 忙, 等等状态...)" + +#, fuzzy +#~ msgid "Video output" +#~ msgstr "视频输出" + +#, fuzzy +#~ msgid "Video si_ze" +#~ msgstr "视频尺寸" + +#~ msgid "" +#~ "STUN server hostname. If no hostname was given, Gajim will try\n" +#~ "to discover one from the server. (Example: stun.iptel.org)" +#~ msgstr "" +#~ "STUN 服务器的主机名。如果没有给出, Gajim 会\n" +#~ "尝试从服务器上发现一个。" + +#~ msgid "_Manage..." +#~ msgstr "管理..." + +#, fuzzy +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "记录联系人状态变化(_L)" + +#, fuzzy +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "如果选定, Gajim 会记录本账户的密码" + +#~ msgid "_Open..." +#~ msgstr "打开...(_O)" + +#, fuzzy +#~ msgid "_Filter" +#~ msgstr "过滤器: " + +#, fuzzy +#~ msgid "Protocol" +#~ msgstr "协议(_P): " + +#~ msgid "Privacy Lists:" +#~ msgstr "隐私策略列表: " + +#, fuzzy +#~ msgid "_Ignore this error for this certificate" +#~ msgstr "忽略这个证书的这个错误。" + +#, fuzzy +#~ msgid "Message..." +#~ msgstr "消息" + +#, fuzzy +#~ msgid "Preset _messages" +#~ msgstr "预设的消息: " + +#~ msgid "_Type your new status message" +#~ msgstr "输入新的状态信息" + +#~ msgid "Change Status Message…" +#~ msgstr "更改状态信息…" + +#~ msgid "Mood:" +#~ msgstr "心情: " + +#~ msgid "Message:" +#~ msgstr "消息: " + +#~ msgid "none" +#~ msgstr "none" + +#~ msgid "both" +#~ msgstr "both" + +#~ msgid "from" +#~ msgstr "from" + +#~ msgid "to" +#~ msgstr "to" + +#~ msgid "Privacy List" +#~ msgstr "隐私策略列表" + +#~ msgid "Privacy List" +#~ msgstr "隐私策略列表" + +#~ msgid "Active for this session" +#~ msgstr "为此会话激活" + +#~ msgid "Active on each startup" +#~ msgstr "每次启动时激活" + +#~ msgid "List of rules" +#~ msgstr "规则列表" + +#~ msgid "Add / Edit a rule" +#~ msgstr "添加/编辑规则" + +#~ msgid "Allow" +#~ msgstr "允许" + +#~ msgid "Deny" +#~ msgstr "拒绝" + +#~ msgid "all in the group" +#~ msgstr "所有在群组中的" + +#~ msgid "all by subscription" +#~ msgstr "所有(除了认证)" + +#~ msgid "All" +#~ msgstr "全部" + +#~ msgid "to send me messages" +#~ msgstr "向我发送消息" + +#~ msgid "to send me queries" +#~ msgstr "向我发送查询" + +#~ msgid "to view my status" +#~ msgstr "查看我的状态" + +#~ msgid "to send me status" +#~ msgstr "向我发送状态" + +#~ msgid "All (including subscription)" +#~ msgstr "全部(包含认证)" + +#~ msgid "Order:" +#~ msgstr "Order:" + +#, fuzzy +#~ msgid "" +#~ "Deny authorization from contact so the contact cannot know if you are " +#~ "connected" +#~ msgstr "拒绝向联系人授权则他/她将无法知道您是否在线" + +#, fuzzy +#~ msgid "Authorize contact so the contact can know if you are connected" +#~ msgstr "向联系人授权则他/她将知道您是否在线" + +#, fuzzy +#~ msgid "Contact List Shortcuts" +#~ msgstr "联系人列表项交换" + +#~ msgid "Fill in the form." +#~ msgstr "请填写表格。" + +#~ msgid "Set an activity" +#~ msgstr "设置活动" + +#~ msgid "Message: " +#~ msgstr "消息: " + +#, fuzzy, python-format +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "发送 %s 给 %s" + +#, fuzzy +#~ msgid "Group Chat Invitation " +#~ msgstr "聊天室邀请" + +#, python-format +#~ msgid "Comment: %s" +#~ msgstr "注释: %s" + +#~ msgid "Off" +#~ msgstr "关闭" + +#~ msgid "Retrieving profile…" +#~ msgstr "正在获取名片…" + +#~ msgid "Wrong date format" +#~ msgstr "错误的数据格式" + +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "日期的格式必须是 YYYY-MM-DD" + +#~ msgid "Information received" +#~ msgstr "信息已收到" + +#, fuzzy +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "没有连接的情况下您无法发布您的联系人信息。" + +#~ msgid "Sending profile…" +#~ msgstr "正在发送名片…" + +#~ msgid "Information NOT published" +#~ msgstr "信息没有发布" + +#~ msgid "vCard publication failed" +#~ msgstr "vCard 发布失败" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "发布您的个人信息时发生错误, 请稍后重试。" + +#, fuzzy +#~ msgid "?password:Hidden" +#~ msgstr "密码: " + +#, python-format +#~ msgid "Privacy List %s" +#~ msgstr "隐私策略列表 %s" + +#, python-format +#~ msgid "Privacy List for %s" +#~ msgstr "%s 的隐私策略列表" + +#, python-format +#~ msgid "" +#~ "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" +#~ msgstr "请求: %(order)s, 操作: %(action)s, 类型: %(type)s, 值: %(value)s" + +#, python-format +#~ msgid "Order: %(order)s, action: %(action)s" +#~ msgstr "请求: %(order)s, 操作: %(action)s" + +#~ msgid "Edit a rule" +#~ msgstr "编辑规则" + +#~ msgid "Add a rule" +#~ msgstr "添加规则" + +#, python-format +#~ msgid "Privacy Lists for %s" +#~ msgstr "%s 的隐私策略列表" + +#~ msgid "Invalid List Name" +#~ msgstr "不合法的列表名" + +#~ msgid "You must enter a name to create a privacy list." +#~ msgstr "您必须输入一个名称以创建一个隐私策略列表。" + +#, fuzzy +#~ msgid "Loading" +#~ msgstr "编写代码" + +#~ msgid "status message title" +#~ msgstr "状态信息标题" + +#~ msgid "status message text" +#~ msgstr "状态信息文本" + +#, fuzzy +#~ msgid "Start New Conversation" +#~ msgstr "开始新对话" + +#~ msgid "Unknown SSL error: %d" +#~ msgstr "未知的 SSL 错误: %d" + +#~ msgid "Gajim - %s" +#~ msgstr "Gajim - %s" + +#~ msgid "Choose interval between 2 checks of idleness." +#~ msgstr "2次检查闲置之间的时间间隔。" + +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "语言“%s”的词典不可用" + +#~ msgid "" +#~ "You have to install the dictionary \"%s\" to use spellchecking, or choose " +#~ "another language by setting the speller_language option.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "您必须安装“%s”词典才能使用拼写检查,或者您可以在 speller_language 选项中选" +#~ "择另一种语言。\n" +#~ "\n" +#~ "高亮拼写错误功能将不会被启用" + +#~ msgid "_Reconnect" +#~ msgstr "重新连接(_R)" + +#, fuzzy +#~ msgid "Show Contact List" +#~ msgstr "只显示活动的联系人(_A)" + +#, fuzzy +#~ msgid "Add to Contact List" +#~ msgstr "添加联系人(_A)..." + +#, fuzzy +#~ msgid "Invite Contact" +#~ msgstr "邀请联系人(_C)" + +#, fuzzy +#~ msgid "Configure Group Chat" +#~ msgstr "离开聊天室" + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." +#~ msgstr "" +#~ "如果为真, Gajim 会在每个含有未读消息的标签上显示一个图标。根据主题, 该图标" +#~ "可能是动态的。" + +#, fuzzy +#~ msgid "Server must be between 1 and 1023 bytes" +#~ msgstr "服务器名必须在 1 到 1023 个字符之间" + +#~ msgid "Invalid character in hostname." +#~ msgstr "主机名中有无效的字符。" + +#~ msgid "Server address required." +#~ msgstr "服务器的地址是必须的。" + +#, fuzzy +#~ msgid "Username must be between 1 and 1023 bytes" +#~ msgstr "用户名必须在 1 到 1023 个字符之间" + +#~ msgid "Invalid character in username." +#~ msgstr "在用户名中有无效的字符。" + +#, fuzzy +#~ msgid "Resource must be between 1 and 1023 bytes" +#~ msgstr "资源必须在 1 到 1023 个字符之间" + +#~ msgid "Invalid character in resource." +#~ msgstr "资源中含有无效字符。" + +#, fuzzy +#~ msgid "Notification color for contacts signing in." +#~ msgstr "提醒我联系人登录(_I)" + +#, fuzzy +#~ msgid "Notification color for contacts signing out." +#~ msgstr "提醒我联系人登出(_O)" + +#, fuzzy +#~ msgid "Notification color for new message notification." +#~ msgstr "在弹出提示中预览消息?" + +#, fuzzy +#~ msgid "Notification color for file transfer request." +#~ msgstr "文件传输完成时提醒我(_N)" + +#, fuzzy +#~ msgid "Notification color for file transfer errors." +#~ msgstr "文件传输完成时提醒我(_N)" + +#, fuzzy +#~ msgid "Notification background color for changed status." +#~ msgstr "状态变更通知的背景色" + +#~ msgid "Event Type" +#~ msgstr "事件类型" + +#~ msgid "Event desc" +#~ msgstr "事件" + +#, fuzzy +#~ msgid "No response from the Server" +#~ msgstr "尚未连接到服务器" + +#~ msgid "Resource Conflict" +#~ msgstr "资源冲突" + +#, fuzzy +#~ msgid "" +#~ "You are already connected to this account with the same resource. Please " +#~ "enter a different one." +#~ msgstr "您已经用同一个资源连接到这个账户了。请输入一个新的资源" + +#~ msgid "Unable to load image" +#~ msgstr "无法载入图像" + +#~ msgid "Media type not supported: %s" +#~ msgstr "不支持的媒体类型: %s" + +#~ msgid "This field is required" +#~ msgstr "这一项是必须的" + +#~ msgid "new@jabber.id" +#~ msgstr "new@jabber.id" + +#~ msgid "new%d@jabber.id" +#~ msgstr "new%d@jabber.id" + +#~ msgid "video output" +#~ msgstr "视频输出" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Gajim: 账户创建向导" + +#, fuzzy +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "您必须拥有一个账户以连接\n" +#~ "Jabber 网络" + +#~ msgid "I already have an account I want to _use" +#~ msgstr "我已经有想要使用的账户了(_U)" + +#~ msgid "I want to _register for a new account" +#~ msgstr "我想注册一个新账户(_R)" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "请选择一个选项: " + +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "请填写您现有账号的信息" + +#, fuzzy +#~ msgid "_XMPP Address:" +#~ msgstr "AIM 地址: " + +#~ msgid "Anon_ymous authentication" +#~ msgstr "匿名认证(_Y)" + +#~ msgid "_Password:" +#~ msgstr "密码(_P): " + +#~ msgid "Save pass_word" +#~ msgstr "保存密码(_W)" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "如果选定, Gajim 会记录本账户的密码" + +#~ msgid "Please select a server" +#~ msgstr "请选择一个服务器" + +#~ msgid "_Server:" +#~ msgstr "服务器(_S): " + +#~ msgid "Manage..." +#~ msgstr "管理..." + +#~ msgid "_Port:" +#~ msgstr "端口(_P)" + +#~ msgid "_Advanced" +#~ msgstr "高级(_A)" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA1 fingerprint of the certificate:\n" +#~ msgstr "" +#~ "将这个证书添加到可信任证书列表。\n" +#~ "这个证书的 SHA1 指纹信息: \n" + +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "正在连接服务器\n" +#~ "\n" +#~ "请等待..." + +#~ msgid "Connect when I press Finish" +#~ msgstr "当我点击\"结束\"时连接" + +#~ msgid "Set my profile when I connect" +#~ msgstr "连接后设置我的名片" + +#~ msgid "_Finish" +#~ msgstr "完成(_F)" + +#~ msgid "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." +#~ msgstr "" +#~ "您可以点击\"高级\"按钮以设置高级账户选项, 或稍后选择主窗口\"编辑\"菜单下" +#~ "\"账户\"菜单项。" + +#~ msgid "Your new account has been created successfully" +#~ msgstr "注册新账户成功" + +#~ msgid "Invalid username" +#~ msgstr "无效用户名" + +#~ msgid "You must provide a username to configure this account." +#~ msgstr "必须提供用户名来配置此账户。" + +#~ msgid "Invalid server" +#~ msgstr "无效的服务器" + +#~ msgid "Please provide a server on which you want to register." +#~ msgstr "请指定一个服务器。您将注册到这个服务器。" + +#~ msgid "Invalid entry" +#~ msgstr "无效输入" + +#~ msgid "Certificate Already in File" +#~ msgstr "证书已经在文件中" + +#~ msgid "This certificate is already in file %s, so it's not added again." +#~ msgstr "证书已经在文件 %s 中, 所以它没有被再次添加。" + +#~ msgid "" +#~ "Security Warning\n" +#~ "\n" +#~ "The authenticity of the %(hostname)s SSL certificate could be invalid.\n" +#~ "SSL Error: %(error)s\n" +#~ "Do you still want to connect to this server?" +#~ msgstr "" +#~ "安全警告\n" +#~ "\n" +#~ "%(hostname)s 的 SSL 证书的权限不能被验证。\n" +#~ "SSL 错误: %(error)s\n" +#~ "您仍然想要连接到这个服务器吗?" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA-256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "将这个证书添加到可信任证书列表。\n" +#~ "此证书的 SHA1 指纹信息:\n" +#~ "%(sha1)s\n" +#~ "此证书的 SHA-256指纹信息:\n" +#~ "%(sha256)s" + +#~ msgid "Account name is in use" +#~ msgstr "帐户名已经被使用" + +#~ msgid "You already have an account using this name." +#~ msgstr "您已经有账户使用了这个名字了。" + +#~ msgid "Show a warning dialog before using standard SSL library." +#~ msgstr "在使用标准 SSL 库前显示一个警告对话框。" + +#, fuzzy +#~ msgid "If enabled, a whitespace is sent after inactivity (keep alive)." +#~ msgstr "在不活动后发送的空白" + +#, fuzzy +#~ msgid "If enabled, an XMPP ping is sent after inactivity (ping alive)." +#~ msgstr "在不活动后发送的 XMPP ping" + +#~ msgid "Connection with account \"%s\" has been lost" +#~ msgstr "帐户\"%s\"的连接丢失" + +#~ msgid "Reconnect manually." +#~ msgstr "手动重连。" + +#~ msgid "Server %(name)s answered wrongly to register request: %(error)s" +#~ msgstr "服务器 %(name)s 对注册请求的响应有误: %(error)s" + +#~ msgid "Server %s provided a different registration form" +#~ msgstr "服务器 %s 提供了一个不同的注册表单" + +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "无法通过代理 \"%(proxy)s\" 连接到 \"%(host)s\"" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "没有能够连接到\"%s\"" + +#~ msgid "Check your connection or try again later." +#~ msgstr "检查连接或稍后再试。" + +#~ msgid "Server replied: %s" +#~ msgstr "服务器回应: %s" + +#~ msgid "Connection to proxy failed" +#~ msgstr "连接代理服务器失败" + +#~ msgid "Could not connect to account %s" +#~ msgstr "没有能够连接到账户 %s" + +#~ msgid "Connection with account %s has been lost. Retry connecting." +#~ msgstr "帐户 %s 的连接丢失。重新尝试连接。" + +#~ msgid "Please check your login and password for correctness." +#~ msgstr "请检查登录信息和密码的正确性" + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "HTTP 连接" + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "BOSH" +#~ msgstr "BOSH" + +#~ msgid "Use HTTP prox_y" +#~ msgstr "使用 HTTP 代理(_Y)" + +#, fuzzy +#~ msgid "_BOSH URL" +#~ msgstr "_BOSH URL:" + +#, fuzzy +#~ msgid "BOSH" +#~ msgstr "BOSH" + +#, fuzzy +#~ msgid "Warn on insecure connection" +#~ msgstr "在使用不安全的连接之前警告(_W)" + +#, fuzzy +#~ msgid "Contact list, list of contacts" +#~ msgstr "记录联系人状态变化(_L)" + +#~ msgid "You are participating in one or more group chats" +#~ msgstr "您正在参与一个或多个聊天室" + +#, fuzzy +#~ msgid "" +#~ "Changing your status to invisible will result in you leaving those group " +#~ "chats.\n" +#~ "Are you sure you want to go invisible?" +#~ msgstr "隐身将使您从这些聊天室中断开。确定要隐身?" + +#~ msgid "_Disconnect" +#~ msgstr "断开连接(_D)" + +#~ msgid "You cannot join a group chat while you are invisible" +#~ msgstr "隐身时无法加入聊天室" + +#~ msgid "Invisible" +#~ msgstr "隐身" + +#, fuzzy +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "隐身时无法加入聊天室" + +#~ msgid "_Invisible" +#~ msgstr "隐身(_I)" + +#~ msgid "Yesterday" +#~ msgid_plural "%(nb_days)i days ago" +#~ msgstr[0] "昨天" + +#, fuzzy +#~ msgid "_Cancel Upload" +#~ msgstr "取消(_C)" + +#~ msgid " [blocked]" +#~ msgstr " [已屏蔽]" + +#~ msgid " [minimized]" +#~ msgstr " [最小化的]" + +#, fuzzy +#~ msgid "" +#~ "If you close this tab while having chat history disabled, this message " +#~ "will be lost." +#~ msgstr "如果您关闭此标签并且禁用了历史, 此消息会丢失。" + +#, fuzzy +#~ msgid "Unregister Failed" +#~ msgstr "移除注册失败" + +#, fuzzy +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "在服务器上 %(server)s 移除注册失败: %(error)s" + +#, fuzzy +#~ msgid "New Password" +#~ msgstr "保存密码" + +#~ msgid "What do you want to do?" +#~ msgstr "想做什么?" + +#~ msgid "Remove account from Gajim and from _server" +#~ msgstr "同时从 Gajim 和服务器移除帐户(_S)" + +#, fuzzy +#~ msgid "You must enter a password" +#~ msgstr "您必须输入密码" + +#, fuzzy +#~ msgid "You still have open chats in your account %s" +#~ msgstr "您已在账户 %s 打开聊天" + +#, fuzzy +#~ msgid "To unregister from a server, the account must be enabled." +#~ msgstr "要从服务器移除注册, 账户必须被启用。" + +#, fuzzy +#~ msgid "Password required" +#~ msgstr "需要密码" + +#, fuzzy +#~ msgid "Still connected to the server" +#~ msgstr "尚未连接到服务器" + +#, fuzzy +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "如果移除, 将会丢失连接" + +#~ msgid "Connection to server %s failed" +#~ msgstr "连接服务器 %s 失败" + +#~ msgid "What would you like to do?" +#~ msgstr "您想做什么?" + +#~ msgid "Remove only from Gajim" +#~ msgstr "仅从 Gajim 移除帐户" + +#~ msgid "Don't remove anything. I'll try again later" +#~ msgstr "不要移除任何东西。我过一会儿会再试一下" + +#, fuzzy +#~ msgid "Contents" +#~ msgstr "内容(_C)" + +#, fuzzy +#~ msgid "FAQ" +#~ msgstr "常见问题(_A)" + +#~ msgid "Save as Preset Status Message" +#~ msgstr "保存为预设状态信息" + +#~ msgid "Enter a new nickname for contact %s" +#~ msgstr "为联系人 %s 输入新的昵称" + +#~ msgid "Join a group chat" +#~ msgstr "加入聊天室" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "帐户(_A)" + +#~ msgid "New entry received" +#~ msgstr "New entry received" + +#~ msgid "You have received new entry:" +#~ msgstr "You have received new entry:" + +#~ msgid "Feed name:" +#~ msgstr "Feed name:" + +#~ msgid "Last modified:" +#~ msgstr "Last modified:" + +#, fuzzy +#~ msgid "Send file?" +#~ msgstr "发送文件(_F)" + +#, fuzzy +#~ msgid "Mail _client" +#~ msgstr "邮件客户端(_M): " + +#, fuzzy +#~ msgid "_Browser" +#~ msgstr "浏览器(_B): " + +#, fuzzy +#~ msgid "_File manager" +#~ msgstr "文件管理器: (_F)" + +#, fuzzy +#~ msgid "Custom applications" +#~ msgstr "使用默认的应用程序" + +#~ msgid "Applications" +#~ msgstr "应用程序" + +#, fuzzy +#~ msgid "" +#~ "Uses ReStructured text markup to send HTML, plus ASCII formatting if " +#~ "selected. Needs docutils installed (for syntax, see http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "使用重构的文本标记发送 HTML, 并加入 ASCII 格式控制(如果选中)。语法请参考" +#~ "http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html (如果您" +#~ "想使用此功能, 请安装 docutils)" + +#, fuzzy +#~ msgid "_Ignore formatting of incoming messages" +#~ msgstr "忽略收到的消息中的富文本内容(_I)" + +#, fuzzy +#~ msgid "" +#~ "Some messages may include rich content (xhtml formatting, colors etc). If " +#~ "checked, Gajim will just display the plain message text." +#~ msgstr "" +#~ "一些消息会包含丰富的内容(例如格式, 颜色等)。如果选定, Gajim 将显示原本的消" +#~ "息内容。" + +#, fuzzy +#~ msgid "RST XHTML Generator" +#~ msgstr "RST 生成器" + +#, fuzzy +#~ msgid "Requires: python-docutils" +#~ msgstr "需要 python-docutils。" + +#~ msgid "New Single Message" +#~ msgstr "新单条消息" + +#, fuzzy +#~ msgid "" +#~ "Can be empty, 'chat' or 'normal'. If not empty, all incoming messages are " +#~ "treated as if they were of this type." +#~ msgstr "" +#~ "可以是空字符串, 'chat'或'normal'。如果不为空, 将把所有收到的消息当作这个类" +#~ "型。" + +#~ msgid "Error %(code)s: %(msg)s" +#~ msgstr "错误 %(code)s: %(msg)s" + +#~ msgid "twelve" +#~ msgstr "十二" + +#~ msgid "one" +#~ msgstr "一" + +#~ msgid "two" +#~ msgstr "二" + +#~ msgid "three" +#~ msgstr "三" + +#~ msgid "four" +#~ msgstr "四" + +#~ msgid "five" +#~ msgstr "五" + +#~ msgid "six" +#~ msgstr "六" + +#~ msgid "seven" +#~ msgstr "七" + +#~ msgid "eight" +#~ msgstr "八" + +#~ msgid "nine" +#~ msgstr "九" + +#~ msgid "ten" +#~ msgstr "十" + +#~ msgid "eleven" +#~ msgstr "十一" + +#~ msgid "%(0)s o'clock" +#~ msgstr "%(0)s点" + +#~ msgid "five past %(0)s" +#~ msgstr "%(0)s点5分" + +#~ msgid "ten past %(0)s" +#~ msgstr "%(0)s点10分" + +#~ msgid "quarter past %(0)s" +#~ msgstr "%(0)s点一刻" + +#~ msgid "twenty past %(0)s" +#~ msgstr "%(0)s点20分" + +#~ msgid "twenty five past %(0)s" +#~ msgstr "%(0)s点25分" + +#~ msgid "half past %(0)s" +#~ msgstr "%(0)s点半" + +#~ msgid "twenty five to %(1)s" +#~ msgstr "差25分%(1)s点" + +#~ msgid "twenty to %(1)s" +#~ msgstr "差20分%(1)s点" + +#~ msgid "quarter to %(1)s" +#~ msgstr "差一刻%(1)s点" + +#~ msgid "ten to %(1)s" +#~ msgstr "差10分%(1)s点" + +#~ msgid "five to %(1)s" +#~ msgstr "差5分%(1)s点" + +#~ msgid "%(1)s o'clock" +#~ msgstr "%(1)s点" + +#~ msgid "Night" +#~ msgstr "夜晚" + +#~ msgid "Early morning" +#~ msgstr "清晨" + +#~ msgid "Morning" +#~ msgstr "上午" + +#~ msgid "Almost noon" +#~ msgstr "将近中午" + +#~ msgid "Noon" +#~ msgstr "中午" + +#~ msgid "Afternoon" +#~ msgstr "下午" + +#~ msgid "Evening" +#~ msgstr "傍晚" + +#~ msgid "Late evening" +#~ msgstr "晚上" + +#~ msgid "Start of week" +#~ msgstr "一周开始" + +#~ msgid "Middle of week" +#~ msgstr "一周中" + +#~ msgid "End of week" +#~ msgstr "一周末" + +#~ msgid "Weekend!" +#~ msgstr "周末" + +#, fuzzy +#~ msgid "" +#~ "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or " +#~ "0 to disable Fuzzy Clock. 1 is the most precise clock, 4 the least " +#~ "precise one. This is used only if 'print_time' is 'sometimes'." +#~ msgstr "" +#~ "使用模糊时钟打印时间。模糊度的值从 1 到 4, 或者 0 禁用模糊时钟。1 是最精确" +#~ "的时钟, 4 是最不精确的。只在'有时'显示时间时使用。" + +#~ msgid "message" +#~ msgstr "message" + +#, fuzzy +#~ msgid "error: %s" +#~ msgstr "错误: %s" + +#, fuzzy +#~ msgid "Form: %s" +#~ msgstr "来自 %s" + +#~ msgid "XML Input" +#~ msgstr "XML 输入" + +#, fuzzy +#~ msgid "Ttitle" +#~ msgstr "标题: " + +#, fuzzy +#~ msgid "%(type)s encryption is active %(authenticated)s" +#~ msgstr "%(type)s 加密已启用%(authenticated)s。" + +#, fuzzy +#~ msgid "Screen" +#~ msgstr "绿色" + +#, fuzzy +#~ msgid "Fake video output" +#~ msgstr "视频输出" + +#~ msgid "X Window System (X11/XShm/Xv): %s" +#~ msgstr "X 窗口系统 (X11/XShm/Xv): %s" + +#~ msgid "X Window System (without Xv)" +#~ msgstr "X 窗口系统 (没有Xv)" + +#, fuzzy +#~ msgid "V_ideo output device" +#~ msgstr "视频输出设备" + +#~ msgid "Conversation with " +#~ msgstr "对话,与 " + +#~ msgid "Continued conversation" +#~ msgstr "继续对话" + +#, fuzzy +#~ msgid "%s has invited you to join a discussion" +#~ msgstr "$Contact 邀请您加入一个聊天室" + +#~ msgid "_Send Private Message" +#~ msgstr "发送私聊消息(_S)" + +#, fuzzy +#~ msgid "Participant Actions" +#~ msgstr "参与者" + +#~ msgid "_Voice" +#~ msgstr "语音(_V)" + +#~ msgid "Mo_derator" +#~ msgstr "仲裁人(_D)" + +#~ msgid "_Member" +#~ msgstr "成员(_M)" + +#~ msgid "_Admin" +#~ msgstr "管理(_A)" + +#~ msgid "_Owner" +#~ msgstr "所有人(_O)" + +#, fuzzy +#~ msgid "_Add to Contact List" +#~ msgstr "添加联系人(_A)..." + +#, fuzzy +#~ msgid "_Execute command" +#~ msgstr "执行命令(_E)..." + +#~ msgid "Change _Nickname..." +#~ msgstr "更改昵称(_N)" + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "新聊天室(_N)" + +#~ msgid "Change _Subject..." +#~ msgstr "更改主题(_S)" + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "加入聊天室(_G)" + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "新聊天室(_N)" + +#~ msgid "_Minimize on close" +#~ msgstr "关闭时最小化窗口" + +#, fuzzy +#~ msgid "_Request Voice" +#~ msgstr "语音(_V)" + +#~ msgid "_Bookmark" +#~ msgstr "将本聊天室加入书签(_B)" + +#, fuzzy +#~ msgid "The authenticity of the %s certificate could be invalid" +#~ msgstr "%s 证书的认证可能是无效的" + +#~ msgid "" +#~ "\n" +#~ "Unknown SSL error: %d" +#~ msgstr "" +#~ "\n" +#~ "未知 SSL 错误: %d" + +#~ msgid "" +#~ "\n" +#~ "SSL Error: %s" +#~ msgstr "" +#~ "\n" +#~ "SSL 错误: %s" + +#~ msgid "Error verifying SSL certificate" +#~ msgstr "验证 SSL 证书出错" + +#, fuzzy +#~ msgid "View certificate…" +#~ msgstr "查看证书…" + +#, fuzzy +#~ msgid "Continue" +#~ msgstr "继续(_C)" + +#~ msgid "" +#~ "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM " +#~ "IS RUNNING)" +#~ msgstr "您确定要清除数据库?(强烈建议 GAJIM 运行时不要进行此操作)" + +#, fuzzy +#~ msgid "Authorization" +#~ msgstr "授权发送成功" + +#, fuzzy +#~ msgid "" +#~ "All chat and group chat windows will be closed. Do you want to continue?" +#~ msgstr "所有的聊天和聊天室窗口将会关闭。您想继续吗?" + +#, fuzzy +#~ msgid "Account '%s' is still connected to the server" +#~ msgstr "账户 \"%s\" 已连接到服务器" + +#, fuzzy +#~ msgid "Error While Saving" +#~ msgstr "添加服务错误。 %s" + +#, fuzzy +#~ msgid "" +#~ "Image cannot be saved in %(type)s format.\n" +#~ "Save as %(new_filename)s?" +#~ msgstr "图片不能被保存为 %(type)s 格式。保存为 %(new_filename)s?" + +#~ msgid "Save _As" +#~ msgstr "另存为(_A)" + +#~ msgid "Yes, I really want to connect insecurely" +#~ msgstr "是的, 我确实想要不安全地连接" + +#~ msgid "Gajim will NOT connect unless you check this box" +#~ msgstr "Gajim 将不会发起连接,除非您选择此选项" + +#, fuzzy +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "无效的聊天室 Jabber ID" + +#, fuzzy +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "聊天室 Jabber ID 包含不合法字符。" + +#~ msgid "You may specify a reason below:" +#~ msgstr "您可以指定一个原因: " + +#~ msgid "Banning %s" +#~ msgstr "将封禁 %s" + +#, fuzzy +#~ msgid "" +#~ "Always ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "关闭这个空格分隔的列表中的聊天室的标签/窗口前总是询问。" + +#, fuzzy +#~ msgid "" +#~ "Never ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "关闭这个空格分隔的列表中的聊天室的标签/窗口前从不询问。" + +#, fuzzy +#~ msgid "Leave Group Chats" +#~ msgstr "离开聊天室" + +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "聊天室 %(room_jid)s 的 %(nickname)s" + +#, fuzzy +#~ msgid "You have not joined a group chat." +#~ msgstr "您还没有加入聊天室。" + +#, fuzzy +#~ msgid "You left the following group chats:" +#~ msgstr "您退出了下列聊天室: " + +#~ msgid "Don't show avatar for the transport itself." +#~ msgstr "不显示代理本身的头像。" + +#, fuzzy +#~ msgid "" +#~ "Show a confirmation dialog for a custom status? Empty string means never " +#~ "show the dialog." +#~ msgstr "是否显示确认发送自定义状态对话框?空字符串意味着从不显示对话框。" + +#, fuzzy +#~ msgid "" +#~ "If enabled, notification windows from notification-daemon will be " +#~ "attached to the notification area icon." +#~ msgstr "" +#~ "如果为真, 由 notification-daemon 创建的提示窗口会依附于通知区域图标。" + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending PLAIN password over a plain " +#~ "connection." +#~ msgstr "在通过明文连接明文发送密码前显示一个警告对话框。" + +#, fuzzy +#~ msgid "Jabberd2 workaround." +#~ msgstr "为 Jabberd2 变通" + +#, fuzzy +#~ msgid "Configure Services…" +#~ msgstr "配置服务..." + +#, fuzzy +#~ msgid "Group Chat Bookmarks" +#~ msgstr "多人聊天(_G)" + +#, fuzzy +#~ msgid "Add Bookmark" +#~ msgstr "将本聊天室加入书签(_B)" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "将本聊天室加入书签(_B)" + +#, fuzzy +#~ msgid "_Server" +#~ msgstr "服务器(_S): " + +#, fuzzy +#~ msgid "_Password" +#~ msgstr "密码(_P): " + +#, fuzzy +#~ msgid "Join chat when connected" +#~ msgstr "联系人已断开连接" + +#~ msgid "New Group Chat" +#~ msgstr "新聊天室" + +#~ msgid "This bookmark has invalid data" +#~ msgstr "此书签含无效数据" + +#, fuzzy +#~ msgid "" +#~ "Please be sure to fill out server and group chat fields or remove this " +#~ "bookmark." +#~ msgstr "请确认填写服务器与聊天室字段或移除此书签。" + +#~ msgid "Character not allowed" +#~ msgstr "不允许的字符" + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "无效的聊天室 Jabber ID" + +#~ msgid "Unable to join group chat" +#~ msgstr "无法加入聊天室" + +#~ msgid "You are banned from group chat %s." +#~ msgstr "您已从聊天室 %s 封禁。" + +#~ msgid "Remote server %s does not exist." +#~ msgstr "远程服务器 %s 不存在。" + +#~ msgid "Group chat %s does not exist." +#~ msgstr "聊天室 %s 不存在。" + +#, fuzzy +#~ msgid "Group chat creation is not permitted." +#~ msgstr "聊天室创建是受限的。" + +#~ msgid "You must use your registered nickname in %s." +#~ msgstr "您必须在 %s 使用您的已注册昵称。" + +#, fuzzy +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "您不再聊天室 %s 的成员列表中。" + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "这不是一个聊天室" + +#~ msgid "This is not a group chat" +#~ msgstr "这不是一个聊天室" + +#, fuzzy +#~ msgid "Please choose a group chat" +#~ msgstr "请选择一个聊天室" + +#~ msgid "Invalid Nickname" +#~ msgstr "不合法的昵称" + +#~ msgid "Wrong server" +#~ msgstr "错误的服务器" + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "%s 不是一个聊天室服务器" + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit." +#~ msgstr "当加入聊天室时向服务器请求聊天记录的行数。(-1表示不限制)" + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit." +#~ msgstr "当加入聊天室时请求多少分钟以内的聊天记录。(-1表示不限制)" + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit, -2 means global value." +#~ msgstr "" +#~ "当加入聊天室时向服务器请求聊天记录的行数。(-1表示不限制,-2表示使用全局设" +#~ "置)" + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit, -2 means global value." +#~ msgstr "" +#~ "当加入聊天室时请求多少分钟以内的聊天记录。(-1表示不限制,-2表示使用全局设" +#~ "置)" + +#, fuzzy +#~ msgid "A Password is required to join the group chat %s. Please type it." +#~ msgstr "需要密码才能加入聊天室 %s。请输入一个密码。" + +#~ msgid "Not in Roster" +#~ msgstr "不在联系人列表中" + +#~ msgid "I would like to add you to my roster" +#~ msgstr "我希望将您添加到我的联系人列表" + +#, fuzzy +#~ msgid "Add to Roster" +#~ msgstr "添加至联系人列表(_A)" + +#, fuzzy +#~ msgid "Audio Session" +#~ msgstr "音频测试" + +#, fuzzy +#~ msgid "Manage Room" +#~ msgstr "管理聊天室(_M)" + +#, fuzzy +#~ msgid "Configure Room" +#~ msgstr "设置聊天室(_R)" + +#, fuzzy +#~ msgid "Destroy Room" +#~ msgstr "删除聊天室(_D)" + +#, fuzzy +#~ msgid "Change Nick" +#~ msgstr "更改昵称(_N)" + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "断开连接(_D)" + +#, fuzzy +#~ msgid "Copy JID" +#~ msgstr "聊天室 JID" + +#, fuzzy +#~ msgid "Add to Roster…" +#~ msgstr "添加至联系人列表(_A)" + +#, fuzzy +#~ msgid "Copy JID/Email" +#~ msgstr "复制 JID/电子邮件地址(_C)" + +#~ msgid "JID: %s" +#~ msgstr "JID: %s" + +#~ msgid "Changing Subject" +#~ msgstr "正在更换话题" + +#~ msgid "Please specify the new subject:" +#~ msgstr "请指定新话题: " + +#~ msgid "Room logging is now enabled" +#~ msgstr "聊天室消息记录已启用" + +#~ msgid "Room logging is now disabled" +#~ msgstr "聊天室消息记录已禁用" + +#, fuzzy +#~ msgid "You (%s) joined the room" +#~ msgstr "%s 加入聊天室" + +#~ msgid "Room logging is enabled" +#~ msgstr "聊天室记录被启用" + +#, fuzzy +#~ msgid "Unable to join groupchat" +#~ msgstr "无法加入聊天室" + +#~ msgid "Groupchat Invitation" +#~ msgstr "聊天室邀请" + +#~ msgid "%(jid)s has been invited in this room" +#~ msgstr "%(jid)s 已经被邀请加入该聊天室" + +#, fuzzy +#~ msgid "JID is not a Groupchat" +#~ msgstr "这不是一个聊天室" + +#~ msgid "Invalid JID" +#~ msgstr "无效的 JID" + +#~ msgid "A connection is not available" +#~ msgstr "连接不可用" + +#, fuzzy +#~ msgid "JID already in list" +#~ msgstr "Jabber ID 已经在列表中了" + +#, fuzzy +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "一个连接不可用" + +#~ msgid "Removes contact from roster" +#~ msgstr "从联系人列表删除联系人" + +#~ msgid "Not in roster" +#~ msgstr "不在联系人列表中" + +#~ msgid "Contact signed in notification color." +#~ msgstr "联系人登录通知的颜色。" + +#~ msgid "Contact signout notification color" +#~ msgstr "联系人登出通知的颜色" + +#~ msgid "File transfer request notification color." +#~ msgstr "文件传输请求通知的颜色。" + +#~ msgid "File transfer error notification color." +#~ msgstr "文件传输发生错误的通知的颜色。" + +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "文件传输完成或停止通知的颜色。" + +#~ msgid "Groupchat invitation notification color" +#~ msgstr "聊天室邀请通知的颜色" + +#~ msgid "Other dialogs color." +#~ msgstr "其他对话框的颜色。" + +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "在联系人列表标题中加入 * 和 [n]?" + +#~ msgid "Hides the banner in two persons chat window" +#~ msgstr "在双人聊天窗口中隐藏标语" + +#, fuzzy +#~ msgid "" +#~ "Show the confirm metacontacts creation dialog or not? Empty string means " +#~ "never show the dialog." +#~ msgstr "是否显示确认元联系人创建对话框?空字符串意味着从不显示对话框。" + +#~ msgid "Space separated list of ssl errors to ignore." +#~ msgstr "应忽略的 SSL 错误列表, 以空格分隔" + +#~ msgid "Answer to receipt requests" +#~ msgstr "对回执请求的回应" + +#, fuzzy +#~ msgid "Language for which misspelled words will be checked" +#~ msgstr "想要进行拼写检查的语言" + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "我在吃东西, 请留言" + +#~ msgid "from room %s" +#~ msgstr "来自聊天室 %s" + +#~ msgid "Leave Groupchats" +#~ msgstr "离开聊天室" + +#, fuzzy +#~ msgid "Auto Join" +#~ msgstr "自动加入" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "聊天室: " + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID" + +#~ msgid "Occupant Actions" +#~ msgstr "成员操作" + +#~ msgid "_Add to Roster" +#~ msgstr "添加至联系人列表(_A)" + +#~ msgid "_Manage Room" +#~ msgstr "管理聊天室(_M)" + +#~ msgid "Configure _Room..." +#~ msgstr "设置聊天室(_R)" + +#~ msgid "_Destroy Room" +#~ msgstr "删除聊天室(_D)" + +#~ msgid "Jabber ID" +#~ msgstr "Jabber ID" + +#, fuzzy +#~ msgid "account" +#~ msgstr "账号" + +#, fuzzy +#~ msgid "Roster" +#~ msgstr "显示联系人列表(_R)" + +#~ msgid "Show only in roster" +#~ msgstr "只显示在联系人列表中" + +#~ msgid "in _roster" +#~ msgstr "在联系人列表中(_R)" + +#~ msgid "Roster Appearance" +#~ msgstr "联系人列表外观" + +#~ msgid "_Add to Roster..." +#~ msgstr "添加至联系人列表(_A)" + +#~ msgid "_Jabber ID:" +#~ msgstr "_Jabber ID:" + +#, fuzzy +#~ msgid "_Jabber ID" +#~ msgstr "_Jabber ID:" + +#~ msgid "JabberID" +#~ msgstr "JabberID" + +#, fuzzy +#~ msgid "Show Roster" +#~ msgstr "显示联系人列表(_R)" + +#~ msgid "MUC server" +#~ msgstr "多人聊天服务器" + +#~ msgid "Room Configuration" +#~ msgstr "聊天室设置" + +#~ msgid "Join _Group Chat" +#~ msgstr "加入聊天室(_G)" + +#~ msgid "Toggle audio session" +#~ msgstr "切换语音会话" + +#~ msgid "Audio sessions are not available" +#~ msgstr "音频会话不可用" + +#~ msgid "Conference" +#~ msgstr "会议" + +#, fuzzy +#~ msgid "_Manage Bookmarks…" +#~ msgstr "书签管理" + +#~ msgid "Hide _Roster" +#~ msgstr "隐藏联系人列表(_R)" + +#~ msgid "Show _Roster" +#~ msgstr "显示联系人列表(_R)" + +#~ msgid "Invalid Room" +#~ msgstr "无效的聊天室" + +#~ msgid "Invalid room" +#~ msgstr "无效聊天室" + +#~ msgid "A GTK+ Jabber client" +#~ msgstr "一个 GTK+ 的 Jabber 客户端" + +#~ msgid "Changing Nickname" +#~ msgstr "正在更换昵称" + +#~ msgid "Please specify the new nickname you want to use:" +#~ msgstr "请指定您想使用的新昵称: " + +#~ msgid "Bookmark already set" +#~ msgstr "书签已设定" + +#, fuzzy +#~ msgid "Group Chat '%s' is already in your bookmarks." +#~ msgstr "聊天室\"%s\"已在您的书签中。" + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "书签添加成功" + +#, fuzzy +#~ msgid "" +#~ "You can manage your bookmarks by clicking the Bookmarks menu item in your " +#~ "contact list." +#~ msgstr "您可以通过\"操作\"菜单管理您的书签。" + +#, fuzzy +#~ msgid "The nickname contains invalid characters." +#~ msgstr "昵称包含不合法字符。" + +#, fuzzy +#~ msgid "Bookmark Room" +#~ msgstr "将本聊天室加入书签(_B)" + +#~ msgid "_Join New Group Chat" +#~ msgstr "加入新的聊天室(_J)" + +#, fuzzy +#~ msgid "Name:" +#~ msgstr "名称: " + +#, fuzzy +#~ msgid "Description:" +#~ msgstr "描述: " + +#, fuzzy +#~ msgid "Address:" +#~ msgstr "地址(_A):" + +#, fuzzy +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "您必须连接才能加入聊天室。" + +#, fuzzy +#~ msgid "Occupants" +#~ msgstr "成员操作" + +#~ msgid "_Modify Account..." +#~ msgstr "修改帐户(_M)..." + +#~ msgid "Boolean" +#~ msgstr "Boolean" + +#~ msgid "Integer" +#~ msgstr "Integer" + +#~ msgid "Text" +#~ msgstr "Text" + +#~ msgid "Value" +#~ msgstr "值" + +#~ msgid "(None)" +#~ msgstr "(无)" + +#~ msgid "Hidden" +#~ msgstr "隐藏" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "管理代理服务器设置" + +#~ msgid "Properties" +#~ msgstr "属性" + +#, fuzzy +#~ msgid "Proxy _Port" +#~ msgstr "代理服务器端口(_P): " + +#~ msgid "New Groupchat" +#~ msgstr "新的聊天室" + +#~ msgid "New Contact" +#~ msgstr "新联系人" + +#~ msgid "%s GiB" +#~ msgstr "%s GiB" + +#~ msgid "%s GB" +#~ msgstr "%s GB" + +#~ msgid "%s MiB" +#~ msgstr "%s MiB" + +#~ msgid "%s MB" +#~ msgstr "%s MB" + +#~ msgid "%s KiB" +#~ msgstr "%s KiB" + +#~ msgid "%s KB" +#~ msgstr "%s KB" + +#~ msgid "%s B" +#~ msgstr "%s B" + +#, fuzzy +#~ msgid "%s MiB/s" +#~ msgstr "%s MiB" + +#, fuzzy +#~ msgid "File transfer" +#~ msgstr "文件传输" + +#, fuzzy +#~ msgid "Open _Containing Folder" +#~ msgstr "打开文件夹(_O)" + +#, fuzzy +#~ msgid "Default:" +#~ msgstr "默认" + +#, fuzzy +#~ msgid "toolbutton" +#~ msgstr "按钮" + +#~ msgid "Really quit Gajim?" +#~ msgstr "真得要退出 Gajim?" + +#~ msgid "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" +#~ msgstr "您无法再和来自这些代理的联系人收发消息: %s" + +#~ msgid "Contact \"%s\" will be removed from your roster" +#~ msgstr "联系人\"%s\"将从您的联系人列表中被删除" + +#~ msgid "" +#~ "By removing this contact you also by default remove authorization " +#~ "resulting in them always seeing you as offline." +#~ msgstr "删除此联系人的同时将默认删除认证, 导致对方将一直看到您为离线。" + +#~ msgid "Contacts will be removed from your roster" +#~ msgstr "联系人将从您的联系人列表中被删除" + +#~ msgid "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorization resulting in them always seeing you as " +#~ "offline." +#~ msgstr "" +#~ "删除这些联系人: %s\n" +#~ "的同时将删除认证导致他们将一直看到您为离线。" + +#, fuzzy +#~ msgid "Con_tinue" +#~ msgstr "继续(_C)" + +#~ msgid "_Pause" +#~ msgstr "暂停(_P)" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "从列表中移除文件传输。" + +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "" +#~ "该操作会从列表中移除单个文件传输。如果传输正在进行, 它将先被终止, 而后被移" +#~ "除" + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "取消选定文件的传输" + +#, fuzzy +#~ msgid "Hide the window" +#~ msgstr "隐藏该窗口" + +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "当文件传输完成时弹出提示" + +#~ msgid "From:" +#~ msgstr "从: " + +#~ msgid "Subject:" +#~ msgstr "主题: " + +#~ msgid "%s wants to send you a file:" +#~ msgstr "%s 想发送给您一个文件: " + +#~ msgid "Name: " +#~ msgstr "名称: " + +#~ msgid "Pause" +#~ msgstr "暂停" + +#, fuzzy +#~ msgid "Execute Command" +#~ msgstr "执行命令(_E)..." + +#~ msgid "Type: " +#~ msgstr "类型: " + +#~ msgid "Transferred: " +#~ msgstr "已传输: " + +#~ msgid "Completed" +#~ msgstr "已完成" + +#~ msgid "Stalled" +#~ msgstr "已冻结" + +#~ msgid "Transferring" +#~ msgstr "传输中" + +#~ msgid "Not started" +#~ msgstr "未开始" + +#~ msgid "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" +#~ msgstr "所有的聊天和聊天室窗口将会关闭。您想继续吗?" + +#~ msgid "" +#~ "Your desired nickname in group chat\n" +#~ "%s\n" +#~ "is in use or registered by another occupant.\n" +#~ "Please specify another nickname below:" +#~ msgstr "" +#~ "您在聊天室中希望使用的昵称\n" +#~ "%s\n" +#~ "已经被使用或被其他人注册了。\n" +#~ "在下面指定另一个昵称:" + +#~ msgid "_Configure" +#~ msgstr "配置(_C)" + +#~ msgid "Change the avatar" +#~ msgstr "改变头像" + +#~ msgid "" +#~ "Account in which the avatar will be set; if not specified, the avatar " +#~ "will be set for all accounts" +#~ msgstr "要设置为这个头像的账户; 如果不指定, 所有账户都将被设置为这个头像。" + +#~ msgid "add" +#~ msgstr "添加" + +#~ msgid "modify" +#~ msgstr "修改" + +#~ msgid "remove" +#~ msgstr "移除" + +#, fuzzy +#~ msgid "" +#~ "If true, restored messages will use a smaller font than the default one." +#~ msgstr "如果为真, 恢复显示的消息将用较小的字体显示。" + +#, fuzzy +#~ msgid "Restored Message Color" +#~ msgstr "恢复为默认颜色设置(_R)" + +#, fuzzy +#~ msgid "" +#~ "You are going to remove this room permanently.\n" +#~ "You may specify a reason below:" +#~ msgstr "" +#~ "您正要彻底销毁这个聊天室。\n" +#~ "您可以在下面指定一个原因: " + +#~ msgid "Send Cus_tom Status" +#~ msgstr "发送个性化状态(_T)" + +#, fuzzy +#~ msgid "" +#~ "You are about to send a custom status. Are you sure you want to continue?" +#~ msgstr "您将发送一个自定义的状态。您确定要继续吗?" + +#~ msgid "" +#~ "This contact will temporarily see you as %(status)s, but only until you " +#~ "change your status. Then they will see your global status." +#~ msgstr "" +#~ "这个联系人会暂时看到您的状态为 %(status)s,直到您下次改变您的状态。之后他/" +#~ "她会看到您的全局状态。" + +#, fuzzy +#~ msgid "" +#~ msgstr "主题" + +#~ msgid "#" +#~ msgstr "#" + +#~ msgid "You are about to block a contact. Are you sure you want to continue?" +#~ msgstr "您将要屏蔽一个联系人。您确定要继续吗?" + +#~ msgid "To:" +#~ msgstr "到: " + +#~ msgid "0" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Reconnect when connection is lost" +#~ msgstr "连接断开后自动重连" + +#, fuzzy +#~ msgid "Server Message Archive" +#~ msgstr "发送服务器消息(_S)" + +#, fuzzy +#~ msgid "Message Carbons" +#~ msgstr "消息" + +#~ msgid "" +#~ "Sent chat state notifications. Can be one of all, composing_only, " +#~ "disabled." +#~ msgstr "发送聊天状态通知。可以是全部, 仅正在编辑, 禁用中的一个。" + +#, fuzzy +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "允许发送关于闲置时间的信息(_I)" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the idle time of your system" +#~ msgstr "如果选定, Gajim 会允许他人侦测到您所使用的操作系统" + +#, fuzzy +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "允许发送关于操作系统的信息(_O)" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the local time on your system" +#~ msgstr "如果选定, Gajim 会允许他人侦测到您所使用的操作系统" + +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "允许发送关于客户端/操作系统的信息(_O)" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the operating system you are " +#~ "using" +#~ msgstr "如果选定, Gajim 会允许他人侦测到您所使用的操作系统" + +#, fuzzy +#~ msgid "" +#~ "If checked, incoming events from unauthorized contacts will be ignored. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster." +#~ msgstr "" +#~ "如果选中, Gajim 会忽略未认证的联系人引发的事件。请谨慎使用, 因为这将屏蔽所" +#~ "有不在联系人列表中的联系人发来的消息。" + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." +#~ msgstr "" +#~ "Gajim 可以收发您与联系人正在进行对话的相关信息。此处您可以指定要发给第三方" +#~ "的聊天状态信息。" + +#, fuzzy +#~ msgid "S_end chat state notifications" +#~ msgstr "发送聊天状态信息(_S): " + +#, fuzzy +#~ msgid "Login Options" +#~ msgstr "表情(_E): " + +#~ msgid "Please wait while retrieving search form..." +#~ msgstr "请等待, 正在搜索..." + +#~ msgid "_Add contact" +#~ msgstr "添加联系人(_C)" + +#~ msgid "Ad-hoc Commands - Gajim" +#~ msgstr "Ad-hoc 命令 - Gajim" + +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "请稍等, 正在获取命令列表..." + +#~ msgid "Choose command to execute:" +#~ msgstr "选择要执行的命令" + +#~ msgid "Check once more" +#~ msgstr "请再检查一遍" + +#, fuzzy +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "请稍等, 正在发送命令..." + +#~ msgid "This jabber entity does not expose any commands." +#~ msgstr "这个 Jabber 节点没有提供任何命令" + +#~ msgid "F_inish" +#~ msgstr "完成(_F)" + +#~ msgid "Waiting for results" +#~ msgstr "等待结果" + +#~ msgid "Error in received dataform" +#~ msgstr "在收到的数据表中有错误" + +#~ msgid "No result" +#~ msgstr "无结果" + +#~ msgid "Failed to get secret keys" +#~ msgstr "获取密钥失败" + +#~ msgid "There is no OpenPGP secret key available." +#~ msgstr "没有可用的 OpenPGP 私钥" + +#~ msgid "OpenPGP Key Selection" +#~ msgstr "OpenPGP 密钥选择" + +#~ msgid "Choose your OpenPGP key" +#~ msgstr "选择您的 OpenPGP 密钥" + +#~ msgid "KeyID" +#~ msgstr "KeyID" + +#~ msgid "Contact name" +#~ msgstr "联系人名" + +#~ msgid "Formatting is not available so long as GPG is active" +#~ msgstr "只要GPG处于活动状态,格式化不可用" + +#, fuzzy +#~ msgid "OpenPGP is not usable" +#~ msgstr "GPG 不可用" + +#~ msgid "Assign OpenPGP Key" +#~ msgstr "指定 OpenPGP 密钥" + +#~ msgid "Select a key to apply to the contact" +#~ msgstr "选择一个对应于该联系人的密钥。" + +#, fuzzy +#~ msgid "" +#~ "You configured Gajim to use OpenPGP agent, but there is no OpenPGP agent " +#~ "running or it returned a wrong passphrase.\n" +#~ msgstr "" +#~ "您配置了 Gajim 使用 GPG agent, 但并没有正在运行的 GPG agent 或者它返回了一" +#~ "个错误的密码。\n" + +#~ msgid "You are currently connected without your OpenPGP key." +#~ msgstr "您已经连接, 但没有使用您的 OpenPGP 密钥。" + +#, fuzzy +#~ msgid "Wrong passphrase" +#~ msgstr "错误字段" + +#, fuzzy +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "错误字段" + +#~ msgid "Passphrase Required" +#~ msgstr "要求密文" + +#, fuzzy +#~ msgid "" +#~ "Enter OpenPGP key passphrase for key %(keyid)s (account %(account)s)." +#~ msgstr "输入 GPG密钥 %(keyid)s (账户 %(account)s) 的密码。" + +#, fuzzy +#~ msgid "OpenPGP key expired" +#~ msgstr "GPG密钥过期" + +#, fuzzy +#~ msgid "" +#~ "Your OpenPGP key has expired, you will be connected to %s without OpenPGP." +#~ msgstr "您的 GPG密钥已过期, 您将在没有 OpenPGP 情况下连接到 %s。" + +#~ msgid "Wrong Passphrase" +#~ msgstr "错误字段" + +#, fuzzy +#~ msgid "Please retype your OpenPGP passphrase or press Cancel." +#~ msgstr "请重新输入您的 GPG 字段或点\"取消\"" + +#~ msgid "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "发送新聊天消息至联系人列表中的联系人。 OpenPGP 密钥与帐户均可选。如果只选" +#~ "择\"帐户\"而不需要\" OpenPGP 密钥\", 只需将\" OpenPGP 密钥\"置为空。" + +#~ msgid "if specified, the message will be encrypted using this public key" +#~ msgstr "如指定, 该消息将使用本公共密钥加密" + +#, fuzzy +#~ msgid "" +#~ "Sends a chat message to someone on your roster. Optionally with OpenPGP " +#~ "key and account. If you want to only set the latter, set OpenPGP key to " +#~ "\"\"." +#~ msgstr "" +#~ "发送新聊天消息至联系人列表中的联系人。 OpenPGP 密钥与帐户均可选。如果只选" +#~ "择\"帐户\"而不需要\" OpenPGP 密钥\", 只需将\" OpenPGP 密钥\"置为空。" + +#~ msgid "" +#~ "If disabled, don't sign presences with GPG key, even if GPG is configured." +#~ msgstr "如果禁用, 即使 GPG 被配置, 也不使用 GPG 密钥签名 presences。" + +#, fuzzy +#~ msgid "OpenPGP:" +#~ msgstr "OpenPGP: " + +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "指定 Open_PGP 密钥" + +#, fuzzy +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "OpenPGP 消息加密" + +#, fuzzy +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "能够使用OpenPGP加密聊天信息。" + +#, fuzzy +#~ msgid "Requires: gpg and python-gnupg (%(url)s)" +#~ msgstr "需要 gpg 和 python-gnupg (%(url)s)。" + +#, fuzzy +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "使用 HTTP__PROXY 环境变量(_U)" + +#, fuzzy +#~ msgid "Use PGP Agent" +#~ msgstr "使用 G_PG Agent" + +#, fuzzy +#~ msgid "OpenPGP Key" +#~ msgstr "指定 OpenPGP 密钥" + +#~ msgid "Cancel confirmation" +#~ msgstr "取消确认" + +#~ msgid "" +#~ "You are in process of executing command. Do you really want to cancel it?" +#~ msgstr "您正在执行一个命令。确定要取消吗?" + +#~ msgid "Service sent malformed data" +#~ msgstr "服务发送了畸形的数据" + +#~ msgid "Service changed the session identifier." +#~ msgstr "服务改变了会话标识符" + +#~ msgid "%s - Ad-hoc Commands - Gajim" +#~ msgstr "%s - Ad-hoc 命令 - Gajim" + +#~ msgid "Service returned an error." +#~ msgstr "服务返回了一个错误。" + +#~ msgid "You are invited to a groupchat" +#~ msgstr "您被邀请到一个聊天室" + +#~ msgid "_Start Chat" +#~ msgstr "开始聊天(_S)" + +#~ msgid "Au_thorize" +#~ msgstr "授权(_T)" + +#~ msgid "Really send file?" +#~ msgstr "确定要发送文件?" + +#~ msgid "You are currently connected to the server" +#~ msgstr "正在连接到服务器" + +#~ msgid "To disable the account, you must be disconnected." +#~ msgstr "要禁用账户, 您必需断开连接。" + +#~ msgid "Do you wish to delete all correspondence with %(jid)s?" +#~ msgstr "您确定要删除与%(jid)s的所有历史消息?" + +#~ msgid "Do you wish to delete all correspondence with the selected contacts?" +#~ msgstr "您确定要删除所选定联系人的历史记录?" + +#~ msgid "What do you want to do?" +#~ msgstr "您想要做什么?" + +#~ msgid "" +#~ "List of colors, separated by \":\", that will be used to color nicknames " +#~ "in group chats." +#~ msgstr "以\":\"分隔的颜色列表,在聊天室中用于昵称。" + +#~ msgid "You have received new entries (and %d not displayed):" +#~ msgid_plural "You have received new entries (and %d not displayed):" +#~ msgstr[0] "您收到了新的事件 (还有 %d 个没有显示)" + +#~ msgid "Stopped" +#~ msgstr "已停止" + +#~ msgid "" +#~ "You are about to send your password on an insecure connection. You should " +#~ "install PyOpenSSL to prevent that. Are you sure you want to do that?" +#~ msgstr "" +#~ "您将通过不安全的连接发送密码。您应该安装 PyOpenSSL 以阻止这样的事情。您确" +#~ "定要这样做吗?" + +#, fuzzy +#~ msgid "Status messages displayed in chat window" +#~ msgstr "发送消息并关闭窗口" + +#~ msgid "?print_status:All" +#~ msgstr "全部" + +#~ msgid "Enter and leave only" +#~ msgstr "只是进入和离开" + +#~ msgid "?print_status:None" +#~ msgstr "无" + +#, fuzzy +#~ msgid "Untrusted OpenPGP key" +#~ msgstr "选择您的 OpenPGP 密钥" + +#, fuzzy +#~ msgid "" +#~ "The OpenPGP key used to encrypt this chat is not trusted. Do you really " +#~ "want to encrypt this message?" +#~ msgstr "用于加密这次对话的 GPG 密钥未被信任。您确实想要加密这条消息吗?" + +#~ msgid "D-Bus python bindings are missing in this computer" +#~ msgstr "这台计算机缺少 D-Bus 的 python 绑定" + +#~ msgid "D-Bus capabilities of Gajim cannot be used" +#~ msgstr "Gajim 的 D-Bus 兼容性无法使用" + +#~ msgid "D-Bus does not run correctly on this machine" +#~ msgstr "D-Bus 在这台计算机上没有正常运行" + +#~ msgid "D-Bus does not run correctly on this machine: system bus not present" +#~ msgstr "D-Bus 在这台计算机上没有正常运行: 未发现系统总线" + +#~ msgid "" +#~ "D-Bus does not run correctly on this machine: session bus not present" +#~ msgstr "D-Bus 在这台计算机上没有正常运行: 未发现会话总线" + +#, fuzzy +#~ msgid "Command line Control" +#~ msgstr "命令行" + +#, fuzzy +#~ msgid "Enables you to control Gajim with via commandline" +#~ msgstr "一个在命令行下控制 Gajim 的脚本。" + +#~ msgid "" +#~ "When is self contact row displayed. Can be \"always\", " +#~ "\"when_other_resource\" or \"never\"" +#~ msgstr "何时显示自己。可以是\"总是\", \"当用其他资源连接时\"或\"从不\"" + +#~ msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +#~ msgstr "%(nick)s 被 %(who)s 踢出: %(reason)s" + +#~ msgid "%(nick)s has been banned by %(who)s: %(reason)s" +#~ msgstr "%(nick)s 被 %(who)s 封禁: %(reason)s" + +#~ msgid "system shutdown" +#~ msgstr "系统关闭" + +#~ msgid "** Role of %(nick)s has been set to %(role)s" +#~ msgstr "** %(nick)s 的角色被设置为 %(role)s" + +#~ msgid "%s has left" +#~ msgstr "%s 离开了" + +#~ msgid "%s is full" +#~ msgstr "%s 已满" + +#, fuzzy +#~ msgid "" +#~ "Can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no " +#~ "longer print status line in groupchats when a member changes their status " +#~ "and/or their status message. If \"all\" Gajim will print all status " +#~ "messages. If \"in_and_out\", Gajim will only print FOO enters/leaves " +#~ "group chat." +#~ msgstr "" +#~ "可以是\"none\", \"all\"或\"in_and_out\"。如果是\"none\", 当成员改变对方的" +#~ "状态或对方的状态信息时, Gajim 将不会在聊天室显示对方的状态提示。如果是" +#~ "\"all\", Gajim 将提示所有的状态信息。如果是\"in_and_out\", Gajim 将只提示" +#~ "聊天室中登入与登出消息。" + +#, fuzzy +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "在联系人列表中显示联系人的状态信息(_M)" + +#~ msgid "" +#~ "You are about to send your password unencrypted on an insecure " +#~ "connection. Are you sure you want to do that?" +#~ msgstr "您将通过不安全的连接发送未经加密的密码。您确定要这样做吗?" + +#, fuzzy +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "匿名认证" + +#, fuzzy +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "匿名认证(_Y)" + +#, fuzzy +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "匿名认证(_Y)" + +#~ msgid "" +#~ "Displayed chat state notifications in chat windows. Can be one of all, " +#~ "composing_only, disabled." +#~ msgstr "" +#~ "在聊天窗口中显示聊天状态通知。可以是全部, 近正在编辑, 禁用中的一个。" + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." +#~ msgstr "" +#~ "Gajim 可以收发您与联系人正在进行对话的相关信息。此处您可以指定您想在聊天\n" +#~ "窗口中显示的聊天状态信息。" + +#~ msgid "This is an irreversible operation." +#~ msgstr "该操作是不可撤销的。" + +#~ msgid "Settings" +#~ msgstr "设置" + +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "欢迎使用 Gajim 历史记录管理器" + +#~ msgid "Member List" +#~ msgstr "成员列表" + +#~ msgid "Owner List" +#~ msgstr "房主列表" + +#~ msgid "Administrator List" +#~ msgstr "管理员列表" + +#~ msgid "Nick" +#~ msgstr "昵称" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "想做封禁谁?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Member…" +#~ msgstr "正在添加成员..." + +#~ msgid "" +#~ "Whom do you want to make a member?\n" +#~ "\n" +#~ msgstr "" +#~ "想要将谁加为成员?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Owner…" +#~ msgstr "添加房主..." + +#~ msgid "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" +#~ msgstr "" +#~ "您想要让谁成为房主?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Administrator…" +#~ msgstr "添加管理员..." + +#~ msgid "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" +#~ msgstr "" +#~ "您想要让谁成为管理员?\n" +#~ "\n" + +#~ msgid "Error reading file:" +#~ msgstr "读文件错误: " + +#~ msgid "Error parsing file:" +#~ msgstr "分析文件错误: " + +#~ msgid "List of possible features in Gajim:" +#~ msgstr "Gajim 支持的特性列表" + +#~ msgid "Description" +#~ msgstr "描述" + +#~ msgid "Password encryption" +#~ msgstr "密码加密" + +#~ msgid "Spellchecking of composed messages." +#~ msgstr "对正在编辑的消息进行拼写检查。" + +#~ msgid "Automatic status" +#~ msgstr "自动调整状态" + +#~ msgid "Requires python2.5." +#~ msgstr "需要 python2.5。" + +#~ msgid "" +#~ "Generate XHTML output from RST code (see http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "从 RST 代码生成 XHTML 输出 (参考 http://docutils.sourceforge.net/docs/ref/" +#~ "rst/restructuredtext.html)。" + +#~ msgid "?features:Available" +#~ msgstr "可用" + +#~ msgid "Feature" +#~ msgstr "特性" + +#~ msgid "Filter:" +#~ msgstr "过滤器: " + +#~ msgid "Chat Appearance" +#~ msgstr "聊天窗口外观" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed out" +#~ msgstr "Gajim 会通过屏幕右下方的弹出气泡提示刚刚离开的联系人" + +#~ msgid "Sounds" +#~ msgstr "声音" + +#~ msgid "Chat state notifications" +#~ msgstr "聊天状态提示" + +#, fuzzy +#~ msgid "_Away after" +#~ msgstr "在此时间后设置状态为离开(_A): " + +#~ msgid "" +#~ "If checked, Gajim will change status to Away when the computer is unused." +#~ msgstr "如果选定, Gajim 在计算机空闲时会将您的状态设置为离开。" + +#, fuzzy +#~ msgid "_Not available after" +#~ msgstr "在此时间后设置状态为禁止(_N): " + +#~ msgid "Auto Status" +#~ msgstr "自动调整状态" + +#~ msgid "Status Messages" +#~ msgstr "状态信息" + +#~ msgid "Audio" +#~ msgstr "音频" + +#~ msgid "Video" +#~ msgstr "视频" + +#, fuzzy +#~ msgid "(example: stun.iptel.org)" +#~ msgstr "(例如: stunserver.org)" + +#~ msgid "Connection" +#~ msgstr "连接" + +#~ msgid "Custom" +#~ msgstr "自定义" + +#~ msgid "Privacy" +#~ msgstr "隐私策略" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "高级配置编辑器" + +#, fuzzy +#~ msgid "Audio / video conferences" +#~ msgstr "音频/视频" + +#, fuzzy +#~ msgid "File transfer, room bookmarks" +#~ msgstr "文件传输错误" + +#, fuzzy +#~ msgid "XML console interface" +#~ msgstr " XML 控制台" + +#, fuzzy +#~ msgid "" +#~ "A programming error has been detected. It probably is not fatal, but " +#~ "should be reported to the developers nonetheless." +#~ msgstr "它可能不是致命的, 但仍应该被报告给开发者们。" + +#~ msgid "" +#~ "A list of modp groups to use in a Diffie-Hellman, highest preference " +#~ "first, separated by commas. Valid groups are 1, 2, 5, 14, 15, 16, 17 and " +#~ "18. Higher numbers are more secure, but take longer to calculate when you " +#~ "start a session." +#~ msgstr "" +#~ "在Diffie-Hellman中使用的modp组, 排在前面的优先使用, 以逗号分隔。有效的组" +#~ "有 1, 2, 5, 14, 15, 16, 17 和 18。更高的数字更安全, 但在您开始会话时需要更" +#~ "长的时间计算" + +#~ msgid "(ESession info)" +#~ msgstr "ESession信息" + +#~ msgid "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" +#~ msgstr "如果不禁用, Gajim 会用相应的动态或静态的图形代替字符表情, 例如':)'" + +#, fuzzy +#~ msgid "_Emoticons" +#~ msgstr "表情(_E): " + +#~ msgid "_Highlight misspelled words" +#~ msgstr "拼写检查(_H)" + +#~ msgid "Notify by icon when your messages are received" +#~ msgstr "收到消息时通过图标通知" + +#, fuzzy +#~ msgid "T_heme" +#~ msgstr "主题: (_H)" + +#~ msgid "Themes" +#~ msgstr "主题" + +#~ msgid "Always use this nickname when there is a conflict" +#~ msgstr "在发生冲突时总是使用这个昵称" + +#~ msgid "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." +#~ msgstr "" +#~ "有人加入被密码保护的聊天室时, Jabberd 1.4 不喜欢 SHA 信息。将此选项置为" +#~ "\"否\"以停止在聊天室中发送 SHA 信息。" + +#, fuzzy +#~ msgid "Presence" +#~ msgstr "_Presence" + +#~ msgid "Emoticons disabled" +#~ msgstr "表情图标被禁用" + +#, fuzzy +#~ msgid "" +#~ "Your configured emoticons theme could not be loaded. See the log for more " +#~ "details." +#~ msgstr "您配置的表情图标主题未找到, 所以表情图标被禁用。" + +#~ msgid "You cannot make changes to the default theme" +#~ msgstr "您不能对默认主题进行更改" + +#~ msgid "theme name" +#~ msgstr "主题名称" + +#~ msgid "You cannot delete your current theme" +#~ msgstr "无法删除当前主题" + +#~ msgid "New Single Message from %(nickname)s" +#~ msgstr " %(nickname)s 发来的新消息" + +#~ msgid "New Private Message from group chat %s" +#~ msgstr "来自聊天室 %s 的私人消息" + +#~ msgid "%(nickname)s: %(message)s" +#~ msgstr "%(nickname)s: %(message)s" + +#~ msgid "Messaged by %(nickname)s" +#~ msgstr "来自 %(nickname)s 的消息" + +#~ msgid "Status message text color." +#~ msgstr "状态信息文本颜色。" + +#~ msgid "Incoming nickname font." +#~ msgstr "收到消息的昵称字体。" + +#~ msgid "Outgoing nickname font." +#~ msgstr "发出消息的昵称字体。" + +#~ msgid "Status message text font." +#~ msgstr "状态信息文本字体。" + +#~ msgid "Background color of contacts when they just signed in." +#~ msgstr "当联系人刚刚登入时的背景色。" + +#~ msgid "Background color of contacts when they just signed out." +#~ msgstr "当联系人刚刚登出时的背景色。" + +#~ msgid "green" +#~ msgstr "绿色" + +#~ msgid "grocery" +#~ msgstr "杂货店" + +#~ msgid "human" +#~ msgstr "人类" + +#~ msgid "marine" +#~ msgstr "海洋" + +#~ msgid "Contact row" +#~ msgstr "联系人" + +#~ msgid "Chat Banner" +#~ msgstr "聊天窗口上方横幅" + +#~ msgid "Gajim Themes Customization" +#~ msgstr "Gajim 主题自定义" + +#~ msgid "Text _color:" +#~ msgstr "文本颜色(_C): " + +#~ msgid "_Background:" +#~ msgstr "背景(_B)" + +#~ msgid "Text _font:" +#~ msgstr "文本字体(_F): " + +#~ msgid "Font style:" +#~ msgstr "字体风格: " + +#~ msgid "Paused" +#~ msgstr "暂停编辑" + +#~ msgid "Gone" +#~ msgstr "已离开" + +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "" +#~ "MUC\n" +#~ "消息" + +#~ msgid "Chatstate Tab Colors" +#~ msgstr "各聊天状态下标签颜色" + +#, fuzzy +#~ msgid "Chat message" +#~ msgstr "聊天消息: " + +#~ msgid "Use system _default" +#~ msgstr "使用系统默认(_D)" + +#~ msgid "Font" +#~ msgstr "字体" + +#, fuzzy +#~ msgid "Contact's nickname" +#~ msgstr "联系人昵称" + +#, fuzzy +#~ msgid "_Status message" +#~ msgstr "状态信息: (_S)" + +#, fuzzy +#~ msgid "Your message" +#~ msgstr "您的消息: " + +#, fuzzy +#~ msgid "_URL highlight" +#~ msgstr "URL 高亮显示: " + +#~ msgid "Chat Line Colors" +#~ msgstr "聊天窗口中文字颜色" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID: " + +#~ msgid "Resource:" +#~ msgstr "资源: " + +#~ msgid "Status:" +#~ msgstr "状态: " + +#~ msgid "Contact time:" +#~ msgstr "联系人时间: " + +#~ msgid "Ask:" +#~ msgstr "请求: " + +#~ msgid "Subscription:" +#~ msgstr "认证: " + +#~ msgid "Name:" +#~ msgstr "名字: " + +#~ msgid "Nickname:" +#~ msgstr "昵称: " + +#~ msgid "Street:" +#~ msgstr "街道: " + +#~ msgid "City:" +#~ msgstr "城市: " + +#~ msgid "State:" +#~ msgstr "州: " + +#~ msgid "Extra Address:" +#~ msgstr "附加地址: " + +#~ msgid "Postal Code:" +#~ msgstr "邮政编码: " + +#~ msgid "Country:" +#~ msgstr "国家: " + +#~ msgid "Homepage:" +#~ msgstr "主页: " + +#~ msgid "E-Mail:" +#~ msgstr "E-Mail: " + +#~ msgid "Phone No.:" +#~ msgstr "电话号码: " + +#~ msgid "Birthday:" +#~ msgstr "生日: " + +#~ msgid "Family:" +#~ msgstr "姓: " + +#~ msgid "Middle:" +#~ msgstr "中间名: " + +#~ msgid "Prefix:" +#~ msgstr "前缀: " + +#~ msgid "Given:" +#~ msgstr "名: " + +#~ msgid "Suffix:" +#~ msgstr "后缀: " + +#~ msgid "Full Name" +#~ msgstr "全名" + +#~ msgid "Company:" +#~ msgstr "公司: " + +#~ msgid "Department:" +#~ msgstr "部门: " + +#~ msgid "Position:" +#~ msgstr "职位: " + +#~ msgid "Role:" +#~ msgstr "角色: " + +#~ msgid "- messages will be logged" +#~ msgstr "- 消息将会被记录" + +#~ msgid "- messages will not be logged" +#~ msgstr "- 消息将不会被记录" + +#~ msgid "Edit %s" +#~ msgstr "编辑 %s" + +#~ msgid "Conversation History with %s" +#~ msgstr "与 %s 的聊天历史" + +#~ msgid "Contact with \"%s\" cannot be established" +#~ msgstr "无法与\"%s\"建立连接" + +#~ msgid "Registration information for transport %s has not arrived in time" +#~ msgstr "代理 %s 的注册信息未按时抵达" + +#~ msgid "Register to" +#~ msgstr "注册到" + +#, fuzzy +#~ msgid "Enter name / JID of contact or groupchat" +#~ msgstr "输入 JID 或者联系人名" + +#~ msgid "Search:" +#~ msgstr "查找: " + +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "连接后才可更改密码。" + +#~ msgid "Invalid password" +#~ msgstr "无效密码" + +#~ msgid "The passwords typed in both fields must be identical." +#~ msgstr "在两个输入框中输入的密码必须一致。" + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "再次输入以确认: " + +#~ msgid "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" +#~ msgstr "" +#~ "JID %s 不符合 RFC 标准。它没有被加入联系人列表。请使用诸如 http://jru." +#~ "jabberstudio.org/ 的联系人列表管理工具移除它" + +#~ msgid "unsubscribe request from %s" +#~ msgstr "来自 %s 的解除认证请求" + +#~ msgid "<empty>" +#~ msgstr "<empty>" + +#~ msgid "Homepage:" +#~ msgstr "主页: " + +#~ msgid "Manage Bookmarks" +#~ msgstr "书签管理" + +#~ msgid "_Nickname:" +#~ msgstr "昵称(_N): " + +#, fuzzy +#~ msgid "Pr_int status:" +#~ msgstr "显示状态: " + +#, fuzzy +#~ msgid "Add JID" +#~ msgstr "Jabber ID" + +#, fuzzy +#~ msgid "Preference:" +#~ msgstr "参数" + +#, fuzzy +#~ msgid "Preference" +#~ msgstr "参数" + +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "请填入您想添加到账户%s的联系人的信息" + +#~ msgid "Please fill in the data of the contact you want to add" +#~ msgstr "请填入您想添加的联系人的信息" + +#, fuzzy +#~ msgid "Recently" +#~ msgstr "最近: " + +#~ msgid "Add New Contact" +#~ msgstr "添加联系人" + +#~ msgid "_User ID:" +#~ msgstr "用户 ID(_U):" + +#, fuzzy +#~ msgid "Type User ID" +#~ msgstr "用户 ID: " + +#, fuzzy +#~ msgid "Type Nickname" +#~ msgstr "昵称" + +#~ msgid "Personal Information" +#~ msgstr "个人信息" + +#~ msgid "Avatar:" +#~ msgstr "头像: " + +#~ msgid "Click to set your avatar" +#~ msgstr "单击以设置您的头像" + +#~ msgid "Remove Avatar" +#~ msgstr "删除头像" + +#~ msgid "Not fetched because of invisible status" +#~ msgstr "由于隐身状态, 未获取" + +#~ msgid "Please wait..." +#~ msgstr "请稍等..." + +#~ msgid "" +#~ "When negotiating an encrypted session, should Gajim assume you want your " +#~ "messages to be logged?" +#~ msgstr "在协商加密的会话时, Gajim 是否应该假设您想要您的消息被记录?" + +#~ msgid "Log _encrypted chat session" +#~ msgstr "记录加密的会话(_E)" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will keep logs for encrypted messages. Please note that " +#~ "when using end-to-end encryption the remote party has to agree on " +#~ "logging, else the messages will not be logged." +#~ msgstr "" +#~ "如果选中, Gajim 会记录加密的消息。请注意, 使用 E2E 加密时, 必须对方同意\n" +#~ "记录, 否则 Gajim 不会记录。" + +#~ msgid "Yahoo! Address:" +#~ msgstr "Yahoo! 地址: " + +#~ msgid "Forward unread messages" +#~ msgstr "转发未读消息" + +#~ msgid "All unread messages have been forwarded." +#~ msgstr "所有未读消息都已被转发。" + +#~ msgid "Forward unread message then disconnect" +#~ msgstr " 转发未读消息然后断开连接" + +#~ msgid "MSN Address:" +#~ msgstr "MSN 地址: " + +#~ msgid "Confirm these session options" +#~ msgstr "确定这些会话属性" + +#~ msgid "" +#~ "The remote client wants to negotiate a session with these features:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Are these options acceptable?" +#~ msgstr "" +#~ "远程客户端想要协商建立一个具有一下特性的会话:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "是否接受?" + +#~ msgid "" +#~ "The remote client selected these options:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Continue with the session?" +#~ msgstr "" +#~ "远程客户端选择了这些特性: \n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "继续进行会话?" + +#, fuzzy +#~ msgid "Always accept for this contact" +#~ msgstr "是否为此联系人使用 OpenPGP?" + +#~ msgid "End to End message encryption" +#~ msgstr "End to End 消息加密" + +#~ msgid "Encrypting chat messages." +#~ msgstr "加密聊天消息。" + +#~ msgid "Requires python-crypto." +#~ msgstr "需要 python-crypto。" + +#~ msgid "Session negotiation cancelled" +#~ msgstr "会话协商已取消" + +#~ msgid "This session WILL NOT be archived on server" +#~ msgstr "本次会话将不会在服务器上被存档" + +#~ msgid "This session is encrypted" +#~ msgstr "本次会话已被加密" + +#~ msgid " and WILL be logged" +#~ msgstr "且会被记录" + +#~ msgid " and WILL NOT be logged" +#~ msgstr "且不会被记录" + +#~ msgid "" +#~ "Remote contact's identity not verified. Click the shield button for more " +#~ "details." +#~ msgstr "远程联系人的身份未确认。点击盾型按钮查看详情。" + +#, fuzzy +#~ msgid "end-to-end encryption disabled" +#~ msgstr "GPG 加密已禁用" + +#~ msgid "" +#~ "Unable to decrypt message from %s\n" +#~ "It may have been tampered with." +#~ msgstr "" +#~ "无法解密来自 %s 的消息\n" +#~ "它可能被篡改了。" + +#~ msgid "Unable to decrypt message" +#~ msgstr "无法解密消息" + +#~ msgid "Enable ESessions encryption for this account." +#~ msgstr "为这个账户启用 ESession 加密。" + +#~ msgid "Should Gajim automatically start an encrypted session when possible?" +#~ msgstr "Gajim 是否应该在可能时自动发起加密的会话?" + +#~ msgid "" +#~ "[This is part of an encrypted session. If you see this message, something " +#~ "went wrong.]" +#~ msgstr "" +#~ "[这是加密会话的一部分。如果您看到了这条消息, 一定是有什么地方出错了。]" + +#~ msgid "Requires python-avahi." +#~ msgstr "需要 python-avahi。" + +#, fuzzy +#~ msgid "Save Image as…" +#~ msgstr "图片另存为..." + +#, fuzzy +#~ msgid "Exporting History Logs…" +#~ msgstr "输出历史记录..." + +#~ msgid "Choose Client Cert #PCKS12" +#~ msgstr "选择客户端证书 #PCKS12" + +#~ msgid "When %s becomes:" +#~ msgstr "当 %s 变为: " + +#~ msgid "Adding Special Notification for %s" +#~ msgstr "正在为 %s 添加特殊提示" + +#, fuzzy +#~ msgid "" +#~ "It seems the SSL certificate of account %(account)s has changed and is " +#~ "not valid or your connection is being compromised.\n" +#~ "\n" +#~ "Old SHA-1 fingerprint: %(old_sha1)s\n" +#~ "Old SHA-256 fingerprint: %(old_sha256)s\n" +#~ "\n" +#~ "New SHA-1 fingerprint: %(new_sha1)s\n" +#~ "New SHA-256 fingerprint: %(new_sha256)s\n" +#~ "\n" +#~ "Do you still want to connect and update the fingerprint of the " +#~ "certificate?" +#~ msgstr "" +#~ "账户 %(account)s 的 SSL 证书似乎发生了变化, 或者您的连接被入侵了。\n" +#~ "旧指纹: %(old)s\n" +#~ "新指纹: %(new)s\n" +#~ "\n" +#~ "您仍想连接并更新证书的指纹信息吗?" + +#, fuzzy +#~ msgid "" +#~ "The authenticity of the %s certificate could be invalid.\n" +#~ "The certificate does not cover this domain." +#~ msgstr "%s 证书的认证可能是无效的" + +#~ msgid "Unable to load idle module" +#~ msgstr "无法加载闲置模块" + +#, fuzzy +#~ msgid "%s or %s is a directory but should be a file" +#~ msgstr "%s 是一个目录但它应该是一个文件" + +#~ msgid "creating logs database" +#~ msgstr "建立日志数据库" + +#, fuzzy +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "发送 %s 给 %s" + +#, fuzzy +#~ msgid "Rename account label" +#~ msgstr "重命名账户" + +#, fuzzy +#~ msgid "Send Single Message..." +#~ msgstr "发送单条消息...(_S)" + +#, fuzzy +#~ msgid "We received an error: {}" +#~ msgstr "有一处错误" + +#~ msgid "E2E encryption disabled" +#~ msgstr "E2E 加密被禁用" + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "将这个证书添加到可信任证书列表。\n" +#~ "这个证书的 SHA1 指纹信息: \n" +#~ "%s" + +#~ msgid "uri" +#~ msgstr "uri" + +#, fuzzy +#~ msgid "" +#~ "Install /\n" +#~ "Upgrade" +#~ msgstr "已安装" + +#, fuzzy +#~ msgid "Install/Upgrade" +#~ msgstr "已安装" + +#, fuzzy +#~ msgid "Install and Upgrade Plugins" +#~ msgstr "已安装" + +#, fuzzy +#~ msgid "Plugins updates" +#~ msgstr "注册失败" + +#~ msgid "cyan" +#~ msgstr "青色" + +#~ msgid "migrating logs database to indices" +#~ msgstr "迁移记录数据库到索引" + +#, fuzzy +#~ msgid "Send File..." +#~ msgstr "发送文件(_F)..." + +#, fuzzy +#~ msgid "HTTP File Upload not supported by your server" +#~ msgstr "您的服务器不支持存储元联系人信息" + +#, fuzzy +#~ msgid "Jingle File Transfer" +#~ msgstr "文件传输" + +#~ msgid "" +#~ "Your configured emoticons theme has not been found, so emoticons have " +#~ "been disabled." +#~ msgstr "您配置的表情图标主题未找到, 所以表情图标被禁用。" + +#~ msgid "Shows or hides the roster window" +#~ msgstr "显示/隐藏联系人列表窗口" + +#~ msgid "Shows or hides the ipython window" +#~ msgstr "显示/隐藏 ipython 窗口" + +#, fuzzy +#~ msgid "XMPP account %s" +#~ msgstr "XMPP 帐户 %s@%s" + +#, fuzzy +#~ msgid "Exception" +#~ msgstr "描述" + +#~ msgid "" +#~ "someone@somewhere.com would like you to add some contacts " +#~ "in your roster." +#~ msgstr "" +#~ "someone@somewhere.com 希望您向您的联系人列表 添加 一些联系" +#~ "人。" + +#~ msgid "" +#~ "Ordered list (space separated) of connection type to try. Can contain " +#~ "tls, ssl or plain" +#~ msgstr "应尝试的连接类型的有序列表(用空格分隔)。可以包含 tls, ssl, 或 plain" + +#~ msgid "_Actions" +#~ msgstr "动作(_A)" + +#, fuzzy +#~ msgid "Requires upower and python-dbus." +#~ msgstr "需要 python-dbus。" + +#~ msgid "You are already in group chat %s" +#~ msgstr "您已经在聊天室 %s" + +#~ msgid "Join Group Chat with account %s" +#~ msgstr "使用账户 %s 加入聊天室" + +#~ msgid "" +#~ "You have to choose an account from which you want to join the groupchat." +#~ msgstr "您需要选择一个账户, 用它来加入聊天室。" + +#, fuzzy +#~ msgid "Please enter the group chat JID as room@server." +#~ msgstr "请输入聊天室的 Jabber ID, 以 room@server 的形式。" + +#, fuzzy +#~ msgid "The group chat JID contains invalid characters." +#~ msgstr "聊天室 Jabber ID 包含不合法字符。" + +#~ msgid "Start Chat with account %s" +#~ msgstr "使用账户 %s 开始聊天" + +#, fuzzy +#~ msgid "" +#~ "Fill in the nickname or the JID of the contact you would like\n" +#~ "to send a chat message to:" +#~ msgstr "填写一个昵称或者 Jabber ID, 您将要给其发送聊天消息: " + +#, fuzzy +#~ msgid "Nickname / JID" +#~ msgstr "无效的 Jabber ID" + +#~ msgid "Unable to parse \"%s\"." +#~ msgstr "无法解析 \"%s\"。" + +#~ msgid "Shows the chat dialog so that you can send messages to a contact" +#~ msgstr "显示对话框用于给联系人发送消息" + +#~ msgid "JID of the contact that you want to chat with" +#~ msgstr "您想聊天的 JID" + +#~ msgid "message content. The account must be specified or \"\"" +#~ msgstr "消息内容。账户必须被指定或为\"\"" + +#~ msgid "Adds contact to roster" +#~ msgstr "向联系人列表添加联系人" + +#~ msgid "jid" +#~ msgstr "jid" + +#~ msgid "Adds new contact to this account" +#~ msgstr "为此账户加入新联系人" + +#~ msgid "Opens 'Start Chat' dialog" +#~ msgstr "打开 '开始聊天' 对话框" + +#~ msgid "Starts chat, using this account" +#~ msgstr "开始聊天, 使用这个账户" + +#, fuzzy +#~ msgid "Handle a xmpp:/ URI" +#~ msgstr "处理一个 xmpp:/ uri" + +#~ msgid "URI to handle" +#~ msgstr "要处理的 URI" + +#~ msgid "Account in which you want to handle it" +#~ msgstr "您想要用其处理它的账户" + +#~ msgid "Message content" +#~ msgstr "消息内容" + +#~ msgid "Join a MUC room" +#~ msgstr "加入聊天室" + +#~ msgid "Nickname to use" +#~ msgstr "要使用的昵称" + +#~ msgid "Password to enter the room" +#~ msgstr "进入聊天室的密码" + +#~ msgid "Account from which you want to enter the room" +#~ msgstr "您想要用其加入聊天室的账户" + +#, fuzzy +#~ msgid "No URI given" +#~ msgstr "没有给出 URI" + +#, fuzzy +#~ msgid "Wrong URI" +#~ msgstr "错误的 uri" + +#~ msgid "Nickname:" +#~ msgstr "昵称: " + +#~ msgid "Server:" +#~ msgstr "服务器: " + +#~ msgid "Join this room _automatically when I connect" +#~ msgstr "当我连接后自动加入此聊天室(_A)" + +#~ msgid "Bro_wse Rooms" +#~ msgstr "Bro_wse Rooms" + +#, fuzzy +#~ msgid "Requires libgtkspell and libenchant." +#~ msgstr "需要 libgtkspell。" + +#, fuzzy +#~ msgid "Last MAM id we are syncronized with" +#~ msgstr "上次从服务器同步历史记录" + +#, fuzzy +#~ msgid "Network-Watcher" +#~ msgstr "Network-manager" + +#~ msgid "Autodetection of network status." +#~ msgstr "自动侦测网络状态。" + +#, fuzzy +#~ msgid "Requires gnome-network-manager" +#~ msgstr "需要 gnome-network-manager 和 python-dbus。" + +#, fuzzy +#~ msgid "Feature not available, see Help->Features" +#~ msgstr "特性在 Windows 下不可用。" + +#~ msgid "This contact does not support file transfer." +#~ msgstr "这个联系人不支持文件传输" + +#, fuzzy +#~ msgid "You need to know the real JID of the contact to send them a file." +#~ msgstr "您需要知道这个联系人的真实 JID 才能向他/她发送文件。" + +#~ msgid "" +#~ "You have to install %s dictionary to use spellchecking, or choose another " +#~ "language by setting the speller_language option." +#~ msgstr "" +#~ "您需安装 %s 词典以使用拼写检查, 或者设置拼写检查选项以选择另外一种语言。" +#~ "(_L)" + +#~ msgid "Hides the buttons in chat windows." +#~ msgstr "在聊天窗口中隐藏按钮。" + +#~ msgid "Change the room's subject (Alt+T)" +#~ msgstr "更改本聊天室主题(Alt+T)" + +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "将本聊天室加入书签(Ctrl+B)" + +#~ msgid "Browse the chat history (Ctrl+H)" +#~ msgstr "浏览聊天记录(Ctrl+H)" + +#, fuzzy +#~ msgid "Show advanced functions (Alt+D)" +#~ msgstr "显示高级功能菜单(Alt+D)" + +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "向联系人列表中添加联系人(Ctrl+D)" + +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "邀请联系人参与对话(Ctrl+G)" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "显示联系人的名片" + +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "显示联系人的名片" + +#~ msgid "Ma_ke message windows compact" +#~ msgstr "使消息窗口紧凑(_K)" + +#~ msgid "Hide all buttons in chat windows" +#~ msgstr "在聊天窗口中隐藏所有按钮" + +#~ msgid "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." +#~ msgstr "" +#~ "如过为真, Gajim 会向每一个缓存的头像太久或上次未能获得其头像的联系人请求头" +#~ "像。" + +#~ msgid "Disk Write Error" +#~ msgstr "磁盘写入错误" + +#~ msgid "Set Custom _Avatar..." +#~ msgstr "设置自定义头像(_A)" + +#, fuzzy +#~ msgid "SSL certificate validation" +#~ msgstr "SSL 证书验证" + +#~ msgid "" +#~ "A library used to validate server certificates to ensure a secure " +#~ "connection." +#~ msgstr "一个用于验证服务器的证书以保证连接安全的库。" + +#, fuzzy +#~ msgid "Requires python-pyopenssl > 0.12 and pyasn1." +#~ msgstr "需要 python-pyopenssl。" + +#, fuzzy +#~ msgid "?CLI:room" +#~ msgstr "聊天室" + +#, fuzzy +#~ msgid "?CLI:nick" +#~ msgstr "昵称" + +#, fuzzy +#~ msgid "?CLI:password" +#~ msgstr "密码" + +#~ msgid "Use D-Bus and Notification-Daemon to show notifications" +#~ msgstr "使用 D-Bus 和通知进程显示通知" + +#~ msgid "Notification" +#~ msgstr "通知" + +#~ msgid "Passive popups notifying for new events." +#~ msgstr "有新的时间时, 主动弹出提示。" + +#~ msgid "" +#~ "Requires python-notify or instead python-dbus in conjunction with " +#~ "notification-daemon." +#~ msgstr "需要 python-notify 或 python-dbus 和 notification-daemon的组合。" + +#~ msgid "Ignore" +#~ msgstr "忽略" + +#~ msgid "_Open Gmail Inbox" +#~ msgstr "打开 Gmail 收件箱(_O)" + +#~ msgid "Notify on new _GMail email" +#~ msgstr "新 Gmail 邮件通知" + +#~ msgid "" +#~ "If checked, Gajim will show a notification when a new e-mail is received " +#~ "via GMail" +#~ msgstr "如果选中, Gajim 在 GMail 收到新的电子邮件是会显示一个通知" + +#~ msgid "Display _extra email details" +#~ msgstr "显示额外的邮件信息(_E)" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will also include information about the sender of new " +#~ "emails" +#~ msgstr "如果选中, Gajim 将同时包含新电子邮件发送者的信息" + +#~ msgid "GMail Options" +#~ msgstr "GMail 选项" + +#, fuzzy +#~ msgid "12" +#~ msgstr "1" + +#, fuzzy +#~ msgid "20" +#~ msgstr "2" + +#~ msgid "" +#~ "Specify the command to run when new mail arrives, e.g.: /usr/bin/getmail -" +#~ "q" +#~ msgstr "指定新电子邮件到达时执行的命令, 比如: /usr/bin/getmail -q" + +#~ msgid "GMail Email Received" +#~ msgstr "收到 GMail 邮件" + +#, fuzzy +#~ msgid "New e-mail on %(gmail_mail_address)s" +#~ msgstr "%(gmail_mail_address)s 上的新邮件" + +#, fuzzy +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "您有 %d 条新邮件会话" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "From: %(from_address)s\n" +#~ "Subject: %(subject)s\n" +#~ "%(snippet)s" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "来自: %(from_address)s\n" +#~ "主题: %(subject)s\n" +#~ "%(snippet)s" + +#~ msgid "Resour_ce:" +#~ msgstr "资源(_C): " + +#~ msgid "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" +#~ msgstr "" +#~ "资源被发送给服务器以将用不同客户端登录的同一账户区分为两个或更多部分(取\n" +#~ "决于登录的客户端的数目)。比如, 您可以利用\"家庭\"和\"工作\"两个资源同时\n" +#~ "连接到服务器。拥有最高优先级的资源得到服务器的事件响应。(请看下面)" + +#~ msgid "Priority will change automatically according to your status." +#~ msgstr "优先级将根据您的状态自动转换。" + +#~ msgid "Anonymous authentication" +#~ msgstr "匿名认证" + +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "优先级是当多个客户端使用同一帐户连接到服务器时, 服务器决定事件响应对\n" +#~ "象的依据。优先级最高的客户端将得到事件响应" + +#, fuzzy +#~ msgid "Synchronize contacts" +#~ msgstr "同步联系人" + +#~ msgid "Click to request authorization to all contacts of another account" +#~ msgstr "点击以请求另一个账户所有联系人的认证" + +#~ msgid "Chan_ge Password" +#~ msgstr "更改密码(_G)" + +#~ msgid "Administration operations" +#~ msgstr "管理操作" + +#~ msgid "_Client Cert File:" +#~ msgstr "客户端证书文件(_C)" + +#~ msgid "Browse..." +#~ msgstr "浏览..." + +#, fuzzy +#~ msgid "Certificate is e_ncrypted" +#~ msgstr "证书被拒绝" + +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "如果选定, Gajim 会在启动时自动使用本账户连接 jabber 服务器" + +#, fuzzy +#~ msgid "Synchronize logs with server" +#~ msgstr "同步联系人" + +#~ msgid "Synch_ronize account status with global status" +#~ msgstr "将帐户状态与全局状态同步(_R)" + +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "如果选定, 改变全局状态(在联系人列表窗口下方复选框中调节)就会相应地改变当前" +#~ "帐户的状态" + +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "如果选定, Gajim 会广播更多的 IP地址, 这使得文件传输成功的可能性得到提高。" + +#~ msgid "Proxy" +#~ msgstr "代理服务器" + +#~ msgid "" +#~ "Check this so Gajim will ask you before sending your password over an " +#~ "insecure connection." +#~ msgstr "如果选定, Gajim 在通过不安全的网络连接发送密码前会询问您" + +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "如果选定, Gajim 会发送数据包防止超时造成的连接断开" + +#~ msgid "Use cust_om hostname/port" +#~ msgstr "使用自定义主机名/端口号" + +#~ msgid "_Hostname: " +#~ msgstr "主机名(_H): " + +#~ msgid "_Port: " +#~ msgstr "端口号(_P): " + +#~ msgid "Choose _Key..." +#~ msgstr "选择密钥(_K)..." + +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "如果选定, Gajim 会从一个 GPG agent (比如 Seahorse)得到密码" + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#~ msgid "_Edit Personal Information..." +#~ msgstr "编辑个人信息..." + +#~ msgid "Personal Information" +#~ msgstr "个人信息" + +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "Gajim 启动时连接(_O)" + +#~ msgid "Synchroni_ze account status with global status" +#~ msgstr "将帐户状态与全局状态同步(_Z)" + +#~ msgid "Use cust_om port:" +#~ msgstr "使用自定义端口号: " + +#~ msgid "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." +#~ msgstr "" +#~ "如果用于接收消息的默认端口不合适, 您可以在这里选择另外一个。\n" +#~ "您可能需要改变防火墙设置。" + +#~ msgid "OpenPGP is not usable on this computer" +#~ msgstr "OpenPGP 在这台计算机上不可用" + +#~ msgid "To change the account name, you must be disconnected." +#~ msgstr "如要改变账户名称, 需断开连接。" + +#~ msgid "To change the account name, you must read all pending events." +#~ msgstr "如要更改账户名称, 需先处理所有未处理事件" + +#~ msgid "Account Name Already Used" +#~ msgstr "帐户名已经被占用" + +#~ msgid "" +#~ "This name is already used by another of your accounts. Please choose " +#~ "another name." +#~ msgstr "该名称已被您的另一个账户使用。请选择其他名称" + +#~ msgid "Account name cannot be empty." +#~ msgstr "账户名不能为空。" + +#~ msgid "Account name cannot contain spaces." +#~ msgstr "账户名不能包含空格。" + +#~ msgid "Enter a new name for account %s" +#~ msgstr "为账户 %s 输入新的名称" + +#, fuzzy +#~ msgid "A JID must be in the form \"user@servername\"." +#~ msgstr "Jabber ID 的格式为 \"用户@服务器名\"。" + +#~ msgid "No such account available" +#~ msgstr "没有这样的账户可用" + +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "您必须在编辑个人信息前创建账户。" + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "无法脱机编辑个人信息。" + +#~ msgid "Your server can't save your personal information." +#~ msgstr "您的服务器无法保存您的个人信息。" + +#~ msgid "Please rename or remove it before enabling link-local messaging." +#~ msgstr "请在使用本地消息前重命名或移除它。" + +#~ msgid "THANKS:" +#~ msgstr "感谢: " + +#~ msgid "Could not write to %s. Session Management support will not work" +#~ msgstr "不能写入到 %s 。会话管理支持功能未启用" + +#~ msgid "Jabber Traffic" +#~ msgstr "Jabber 通信" + +#~ msgid "_Enable" +#~ msgstr "启用(_E)" + +#~ msgid "Hide IN stanzas" +#~ msgstr "隐藏 IN stanzas" + +#~ msgid "Hide OUT stanzas" +#~ msgstr "隐藏 OUT stanzas" + +#~ msgid "Hide Presence stanzas" +#~ msgstr "隐藏 Presence stanzas" + +#~ msgid "Hide IQ stanzas" +#~ msgstr "隐藏 IQ stanzas" + +#~ msgid "Filter" +#~ msgstr "过滤器" + +#~ msgid "_IQ" +#~ msgstr "_IQ" + +#~ msgid "Info/Query" +#~ msgstr "信息/查询" + +#~ msgid "XML Input" +#~ msgstr "XML 输入" + +#~ msgid "XML Console for %s" +#~ msgstr "账户 %s 的 XML 控制台" + +#, fuzzy +#~ msgid "Idle for:" +#~ msgstr "空闲了 %s" + +#, fuzzy +#~ msgid "" +#~ "Request offline status messages from all contacts upon connecting. " +#~ "WARNING: This causes a lot of requests to be sent!" +#~ msgstr "" +#~ "请求所有离线联系人的离线状态消息, 当一个账户建立连接时。警告: 这会发送大量" +#~ "的请求!" + +#~ msgid "Last status: %s" +#~ msgstr "最后状态: %s" + +#~ msgid " since %s" +#~ msgstr "自从 %s" + +#~ msgid "since %s" +#~ msgstr "自 %s" + +#~ msgid "Concede" +#~ msgstr "Concede" + +#~ msgid "Forbid" +#~ msgstr "Forbid" + +#~ msgid "Auto" +#~ msgstr "Auto" + +#~ msgid "Method Auto" +#~ msgstr "Method Auto" + +#~ msgid "Method Local" +#~ msgstr "Method Local" + +#~ msgid "Method Manual" +#~ msgstr "Method Manual" + +#~ msgid "body" +#~ msgstr "body" + +#~ msgid "false" +#~ msgstr "false" + +#~ msgid "stream" +#~ msgstr "stream" + +#~ msgid "concede" +#~ msgstr "concede" + +#~ msgid "forbid" +#~ msgstr "forbid" + +#~ msgid "oppose" +#~ msgstr "oppose" + +#~ msgid "prefer" +#~ msgstr "prefer" + +#~ msgid "otr" +#~ msgstr "otr" + +#~ msgid "save" +#~ msgstr "save" + +#~ msgid "Last time we syncronized with logs from server." +#~ msgstr "上次从服务器同步历史记录" + +#~ msgid "Invalid expire value" +#~ msgstr "无效的过期值" + +#~ msgid "Expire must be a valid positive integer." +#~ msgstr "过期值必须是一个有效的正整数。" + +#~ msgid "There is an error with the form" +#~ msgstr "在表格中有一处错误" + +#~ msgid "There is an error" +#~ msgstr "有一处错误" + +#~ msgid "How many minutes should last lines from previous conversation last." +#~ msgstr "上次谈话的最后几行保留多少分钟。" + +#~ msgid "" +#~ "Your configured emoticons theme cannot been loaded. You maybe need to " +#~ "update the format of emoticons.py file. See http://trac.gajim.org/wiki/" +#~ "Emoticons for more details." +#~ msgstr "" +#~ "您配置的表情图标主题无法载入。您可能需要升级 emoticons.py 文件的格式。请参" +#~ "考 http://trac.gajim.org/wiki/Emoticons" + +#~ msgid "You will be connected to %s without OpenPGP." +#~ msgstr "您将在无 OpenPGP 情况下连接到 %s。" + +#~ msgid "The following message was NOT encrypted" +#~ msgstr "下面的消息没有被加密" + +#~ msgid "Toggle Open_PGP Encryption" +#~ msgstr "切换Open_PGP加密" + +#~ msgid "Toggle End to End Encryption" +#~ msgstr "切换E2E加密" + +#, fuzzy +#~ msgid "OpenPGP encryption enabled" +#~ msgstr "GPG 加密已启用" + +#, fuzzy +#~ msgid "No OpenPGP key assigned" +#~ msgstr "没有指定 GPG 密钥" + +#, fuzzy +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages with OpenPGP." +#~ msgstr "尚未为这个联系人指定 GPG 密钥。因此您不能用 GPG 加密信息。" + +#~ msgid "Session WILL be logged" +#~ msgstr "会话将被记录" + +#~ msgid "Session WILL NOT be logged" +#~ msgstr "会话将不会被记录" + +#~ msgid "is" +#~ msgstr "是" + +#~ msgid "is NOT" +#~ msgstr "不是" + +#~ msgid "will" +#~ msgstr "会" + +#~ msgid "will NOT" +#~ msgstr "不会" + +#~ msgid "The following message was encrypted" +#~ msgstr "下面的消息是加密的" + +#, fuzzy +#~ msgid "Toggle the OpenPGP encryption" +#~ msgstr "切换Open_PGP加密" + +#~ msgid "" +#~ "Should Gajim automatically start an encrypted session with this contact " +#~ "when possible?" +#~ msgstr "对于此联系人, Gajim 是否应该自动发起加密会话, 当可能时?" + +#~ msgid "Neither the remote presence is signed, nor a key was assigned." +#~ msgstr "远程 presence 未签名, 也未指定密钥。" + +#~ msgid "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "联系人的密钥(%s)与 Gajim 中指定的密钥不匹配" + +#~ msgid "[This message is *encrypted* (See :XEP:`27`]" +#~ msgstr "[本条消息已 *加密* (见: XEP:`27`]" + +#~ msgid "" +#~ "Your chat session with %(jid)s is encrypted.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "您与 %(jid)s 的聊天会话已被加密。\n" +#~ "\n" +#~ "会话的短认证字符串是 %(sas)s。" + +#~ msgid "You have already verified this contact's identity." +#~ msgstr "您已经确认了这个联系人的身份。" + +#~ msgid "Contact's identity verified" +#~ msgstr "联系人身份已确认" + +#~ msgid "" +#~ "To be certain that only the expected person can read your messages " +#~ "or send you messages, you need to verify their identity by clicking the " +#~ "button below." +#~ msgstr "" +#~ "为了确保只有您期望的人可以看到您发送的消息或给您发送消息, 您需要验" +#~ "证他们的身份信息。请点击下面的按钮。" + +#~ msgid "Contact's identity NOT verified" +#~ msgstr "联系人身份未确认" + +#, fuzzy +#~ msgid "Verify…" +#~ msgstr "辨别(_V)" + +#~ msgid "Have you verified the contact's identity?" +#~ msgstr "您确认了联系人的身份吗?" + +#~ msgid "" +#~ "To prevent talking to an unknown person, you should speak to %(jid)s directly (in person or on the phone) and verify that they see the same " +#~ "Short Authentication String (SAS) as you.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "为了防止您是在与未知方交谈, 您应该与 %(jid)s 直接交谈(当面或通电" +#~ "话)并确认他们看到的短认证字符串(SAS)与您相同。\n" +#~ "\n" +#~ "这次会话的短认证字符串是 %(sas)s" + +#~ msgid "Did you talk to the remote contact and verify the SAS?" +#~ msgstr "您与远程联系人通话并验证了 SAS 吗?" + +#~ msgid "" +#~ "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "联系人的密钥(%s)与在 Gajim 中指定的密钥不匹配。" + +#, fuzzy +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages." +#~ msgstr "没有为这个联系人指定密钥。因此您无法加密消息。" + +#, fuzzy +#~ msgid "" +#~ "OpenPGP key is assigned to this contact, but you do not trust their " +#~ "key, so message cannot be encrypted. Use your OpenPGP client " +#~ "to trust their key." +#~ msgstr "" +#~ "尽管为这个联系人指定了密钥, 但您不信任他的密钥, 因此消息无法" +#~ "被加密。使用您的 GPG 客户端以信任他的密钥。" + +#, fuzzy +#~ msgid "" +#~ "OpenPGP Key is assigned to this contact, and you trust their key, so " +#~ "messages will be encrypted." +#~ msgstr "联系人被指定了 GPG 密钥, 且您信任他的密钥, 所以消息会被加密。" + +#~ msgid "" +#~ "This icon indicates that this message has not yet\n" +#~ "been received by the remote end. If this icon stays\n" +#~ "for a long time, it's likely the message got lost." +#~ msgstr "" +#~ "这个图标是说这条消息还没有被远端收到。如果这个图标已经存在很久了, 很可能这" +#~ "条消息丢失了。" + +#~ msgid "" +#~ "If True, listen to D-Bus signals from NetworkManager and change the " +#~ "status of accounts (provided they do not have listen_to_network_manager " +#~ "set to False and they sync with global status) based upon the status of " +#~ "the network connection." +#~ msgstr "" +#~ "如果为真, 监听 NetworkManager 的 D-Bus 信号并依据网络连接状态改变账户状\n" +#~ "态(如果它们没有将 listen_to_network_manager 设置为假而且它们被设置为与\n" +#~ "全局状态同步)。" + +#~ msgid "" +#~ "The database file (%s) cannot be read. Try to repair it or remove it (all " +#~ "history will be lost)." +#~ msgstr "" +#~ "数据库文件 (%s) 不能被读取。请尝试修复它或者移除它(所有历史记录会丢失)。" + +#~ msgid "Database cannot be read." +#~ msgstr "不能读取数据库。" + +#~ msgid "A message from a non-valid JID arrived, it has been ignored." +#~ msgstr "收到了一个从一个无效的 JID 发送的消息, 它已经被忽略了。" + +#~ msgid "Smooth scroll message in conversation window" +#~ msgstr "平滑滚动聊天窗口中的消息" + +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "编辑隐私策略列表(_P)" + +#~ msgid "_Administrator" +#~ msgstr "管理员(_A)" + +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "向所有当前连接到这个服务器的用户发送一条消息" + +#~ msgid "Sets Message of the Day" +#~ msgstr "设定每日消息" + +#~ msgid "Updates Message of the Day" +#~ msgstr "更新每日消息" + +#~ msgid "Deletes Message of the Day" +#~ msgstr "删除每日消息" + +#~ msgid "Add _Contact..." +#~ msgstr "添加联系人(_C)..." + +#~ msgid "Profile, A_vatar" +#~ msgstr "名片, 头像(V)" + +#~ msgid "P_lugins" +#~ msgstr "插件(_L)" + +#~ msgid "File _Transfers" +#~ msgstr "文件传输(_T)" + +#~ msgid "Help online" +#~ msgstr "在线帮助" + +#~ msgid "Frequently Asked Questions (online)" +#~ msgstr "被频繁提问的问题 (在线)" + +#~ msgid "Fea_tures" +#~ msgstr "特性(_T)" + +#~ msgid "to %s account" +#~ msgstr "至帐户 %s" + +#~ msgid "using %s account" +#~ msgstr "使用 %s 账户" + +#~ msgid "of account %s" +#~ msgstr "帐户 %s 的" + +#~ msgid "for account %s" +#~ msgstr "帐户 %s" + +#~ msgid "" +#~ "By removing this contact you also remove authorization resulting in him " +#~ "or her always seeing you as offline." +#~ msgstr "移除此联系人的同时将移除认证, 导致他/她将一直看到您为离线。" + +#~ msgid "Message Body xmpp.org/getting-started" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:586 +msgid "A Feature Comparison of Various Servers" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:604 +msgid "" +"conversations.im/compliance" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:646 +#, fuzzy +msgid "_Please choose a server" +msgstr "請用您想要的名稱新增一個主題。" + +#: gajim/data/gui/account_wizard.ui:702 +msgid "Sign up Anonymously" +msgstr "" + +#: gajim/data/gui/account_wizard.ui:706 +msgid "Note: Anonymous accounts are not possible on all servers" +msgstr "" + +#: gajim/data/gui/application_menu.ui:8 +#, fuzzy +msgid "_Start / Join Chat…" +msgstr "開始聊天" + +#: gajim/data/gui/application_menu.ui:13 +#, fuzzy +msgid "Create _Group Chat…" +msgstr "離開聊天室" + +#: gajim/data/gui/application_menu.ui:18 +#, fuzzy +msgid "_History Manager" +msgstr "命令歷程記錄管理器" + +#: gajim/data/gui/application_menu.ui:22 +#, fuzzy +msgid "Pl_ugins" +msgstr "外掛程式" + +#: gajim/data/gui/application_menu.ui:26 +#: gajim/data/gui/systray_context_menu.ui:68 +#, fuzzy +msgid "_Preferences" +msgstr "參數" + +#: gajim/data/gui/application_menu.ui:36 +#, fuzzy +msgid "_Accounts" +msgstr "帳號" + +#: gajim/data/gui/application_menu.ui:39 +#, fuzzy +msgid "_View" +msgstr "檢視(_V)" + +#: gajim/data/gui/application_menu.ui:46 +#, fuzzy +msgid "Show _Offline Contacts" +msgstr "顯示離線聯絡人" + +#: gajim/data/gui/application_menu.ui:50 +#, fuzzy +msgid "Show _Active Contacts" +msgstr "只顯示活動的聯絡人(_A)" + +#: gajim/data/gui/application_menu.ui:54 +#, fuzzy +msgid "Show _Transports" +msgstr "顯示代理(_P)" + +#: gajim/data/gui/application_menu.ui:60 +#, fuzzy +msgid "_XML Console" +msgstr " XML 主控臺" + +#: gajim/data/gui/application_menu.ui:64 +#, fuzzy +msgid "_File Transfer" +msgstr "檔案傳輸" + +#: gajim/data/gui/application_menu.ui:74 +#, fuzzy +msgid "_Help" +msgstr "求助(_H)" + +#: gajim/data/gui/application_menu.ui:77 +#, fuzzy +msgid "_Wiki (Online)" +msgstr "線上" + +#: gajim/data/gui/application_menu.ui:81 +#, fuzzy +msgid "FA_Q (Online)" +msgstr "線上" + +#: gajim/data/gui/application_menu.ui:85 +msgid "_Keyboard Shortcuts" +msgstr "" + +#: gajim/data/gui/application_menu.ui:89 +#, fuzzy +msgid "_Features" +msgstr "特性" + +#: gajim/data/gui/application_menu.ui:93 +#, fuzzy +msgid "_About" +msgstr "關於" + +#: gajim/data/gui/filetransfer_progress.ui:125 +msgid "Speed" +msgstr "" + +#: gajim/data/gui/filetransfer_progress.ui:140 +msgid "Time remaining" +msgstr "" + +#: gajim/data/gui/roster_item_exchange_window.ui:144 +#, fuzzy +msgid "OK" +msgstr "確定(_O)" + +#: gajim/data/gui/plugins_window.ui:55 +#, fuzzy +msgid "Install Plugin from ZIP-File" +msgstr "從 zip 檔安裝" + +#: gajim/data/gui/plugins_window.ui:56 +#, fuzzy +msgid "Install from File…" +msgstr "從 zip 檔安裝" + +#: gajim/data/gui/plugins_window.ui:70 +#, fuzzy +msgid "Uninstall Plugin" +msgstr "卸載" + +#: gajim/data/gui/plugins_window.ui:116 +#, fuzzy +msgid "" +msgstr "外掛程式失敗" + +#: gajim/data/gui/plugins_window.ui:133 +#, fuzzy +msgid "Plugin Settings" +msgstr "外掛程式" + +#: gajim/data/gui/plugins_window.ui:215 +#, fuzzy +msgid "" +msgstr "描述" + +#: gajim/data/gui/plugins_window.ui:239 +#, fuzzy +msgid "Version" +msgstr "版本:" + +#: gajim/data/gui/plugins_window.ui:271 +#, fuzzy +msgid "Authors" +msgstr "作者:" + +#: gajim/data/gui/plugins_window.ui:304 +#: gajim/data/gui/vcard_information_window.ui:688 +#, fuzzy +msgid "Homepage" +msgstr "首頁:" + +#: gajim/data/gui/plugins_window.ui:319 +msgid "" +msgstr "" + +#: gajim/data/gui/plugins_window.ui:349 +msgid "Installed" +msgstr "已安裝" + +#: gajim/data/gui/plugins_window.ui:363 +#, fuzzy +msgid "" +"Plug-in description should be displayed here. This text will be erased " +"during PluginsWindow initialization." +msgstr "外掛程式的描述會被顯示在這裡。這些文字在外掛程式視窗初始化時將被去除" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:8 +msgid "Synchronise contacts" +msgstr "同步聯絡人" + +#: gajim/data/gui/synchronise_select_account_dialog.ui:68 +msgid "Select the account with which you want to synchronise" +msgstr "選擇您想要與之同步的帳號" + +#: gajim/data/gui/groupchat_creation.ui:27 +msgid "Public or Private?" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:42 +msgid "" +"Private: If you plan to chat encrypted, you would typically want to " +"create a private group chat. You have to invite people so they can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:58 +msgid "Public: Anyone who knows the address can join." +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:105 +#: gajim/data/gui/manage_proxies.ui:307 +#, fuzzy +msgid "_Name" +msgstr "名稱(_N):" + +#: gajim/data/gui/groupchat_creation.ui:122 +#, fuzzy +msgid "_Description" +msgstr "描述" + +#: gajim/data/gui/groupchat_creation.ui:164 +msgid "_Public" +msgstr "" + +#: gajim/data/gui/groupchat_creation.ui:227 +#: gajim/data/gui/service_discovery_window.ui:107 +#, fuzzy +msgid "_Address" +msgstr "位址(_A):" + +#: gajim/data/gui/groupchat_creation.ui:278 +#, fuzzy +msgid "_Account" +msgstr "帳號(_A)" + +#: gajim/data/gui/profile.ui:33 +#, fuzzy +msgid "Contact Infos" +msgstr "聯絡人資訊" + +#: gajim/data/gui/profile.ui:45 +#, fuzzy +msgid "Picture and Name" +msgstr "要使用的圖片" + +#: gajim/data/gui/profile.ui:57 +msgid "Make your profile visible for everyone or just for your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:179 +msgid "Remove your profile picture" +msgstr "" + +#: gajim/data/gui/profile.ui:198 +#, fuzzy +msgid "Change your profile picture" +msgstr "變更您的暱稱(Ctrl+N)" + +#: gajim/data/gui/profile.ui:229 +msgid "" +"Enter your nickname. This is how your name is displayed to your contacts." +msgstr "" + +#: gajim/data/gui/profile.ui:298 +#, fuzzy +msgid "Add Entry" +msgstr "Entry:" + +#: gajim/data/gui/profile.ui:410 +#, fuzzy +msgid "Update" +msgstr "更新 MOTD…" + +#: gajim/data/gui/manage_proxies.ui:12 +msgctxt "proxy configuration" +msgid "HTTP" +msgstr "" + +#: gajim/data/gui/manage_proxies.ui:15 +#, fuzzy +msgctxt "proxy configuration" +msgid "SOCKS5" +msgstr "SOCKS5" + +#: gajim/data/gui/manage_proxies.ui:65 +#, fuzzy +msgid "Add Proxy" +msgstr "代理伺服器(_Y):" + +#: gajim/data/gui/manage_proxies.ui:79 +#, fuzzy +msgid "Remove Proxy" +msgstr "移除群組" + +#: gajim/data/gui/manage_proxies.ui:131 +#, fuzzy +msgid "Pass_word" +msgstr "密碼(_W)" + +#: gajim/data/gui/manage_proxies.ui:156 +msgid "Use proxy auth_entication" +msgstr "代理伺服器需要認證" + +#: gajim/data/gui/manage_proxies.ui:176 +#, fuzzy +msgid "_Username" +msgstr "使用者名稱(_U):" + +#: gajim/data/gui/manage_proxies.ui:237 +#, fuzzy +msgid "_Host" +msgstr "主機名稱(_H):" + +#: gajim/data/gui/zeroconf_information_window.ui:54 +msgid "Local jid:" +msgstr "本地 JID:" + +#: gajim/data/gui/zeroconf_information_window.ui:67 +#: gajim/data/gui/tooltip_roster_contact.ui:18 +msgid "Resource:" +msgstr "資源:" + +#: gajim/data/gui/zeroconf_information_window.ui:80 +msgid "Status:" +msgstr "狀態:" + +#: gajim/data/gui/zeroconf_information_window.ui:89 +#, fuzzy +msgid "_Store conversation history" +msgstr "記錄聊天命令歷程(_L)" + +#: gajim/data/gui/zeroconf_information_window.ui:214 +#: gajim/data/gui/vcard_information_window.ui:389 +#: gajim/data/gui/groupchat_info_scrolled.ui:121 +msgid "Contact" +msgstr "聯絡人" + +#: gajim/data/gui/zeroconf_information_window.ui:233 +msgid "First Name:" +msgstr "名稱:" + +#: gajim/data/gui/zeroconf_information_window.ui:246 +msgid "Last Name:" +msgstr "姓:" + +#: gajim/data/gui/zeroconf_information_window.ui:259 +#, fuzzy +msgid "XMPP Address:" +msgstr "AIM 位址:" + +#: gajim/data/gui/zeroconf_information_window.ui:272 +msgid "E-Mail:" +msgstr "E-Mail:" + +#: gajim/data/gui/zeroconf_information_window.ui:353 +msgid "Personal" +msgstr "個人" + +#: gajim/data/gui/account_context_menu.ui:11 +#: gajim/data/gui/zeroconf_context_menu.ui:11 +msgid "_Status" +msgstr "狀態(_S)" + +#: gajim/data/gui/account_context_menu.ui:20 +msgid "_Personal Events" +msgstr "個人事件" + +#: gajim/data/gui/account_context_menu.ui:41 +msgid "_Add Contact..." +msgstr "加入聯絡人(_A)…" + +#: gajim/data/gui/account_context_menu.ui:49 +msgid "_Discover Services" +msgstr "探索服務(_D)" + +#: gajim/data/gui/account_context_menu.ui:57 +msgid "_Execute Command..." +msgstr "執行命令(_E)…" + +#: gajim/data/gui/account_context_menu.ui:65 +#, fuzzy +msgid "_View Server Info" +msgstr "伺服器" + +#: gajim/data/gui/start_chat_dialog.ui:66 +msgid "" +"Start a new chat, join a group chat or search for new group chats globally. " +"You can also enter an XMPP address." +msgstr "" + +#: gajim/data/gui/start_chat_dialog.ui:125 +#, fuzzy +msgid "Global Group Chat Search" +msgstr "加入多人聊天" + +#: gajim/data/gui/start_chat_dialog.ui:268 +#: gajim/data/gui/start_chat_dialog.ui:345 +#: gajim/data/gui/start_chat_dialog.ui:461 +#: gajim/data/gui/status_change_window.ui:693 +#: gajim/data/gui/status_change_window.ui:789 +#, fuzzy +msgid "_Back" +msgstr "馬上回來" + +#: gajim/data/gui/start_chat_dialog.ui:386 +#, fuzzy +msgid "Select Account" +msgstr "移除帳號 %s" + +#: gajim/data/gui/start_chat_dialog.ui:477 +#, fuzzy +msgid "_Select" +msgstr "清潔" + +#: gajim/data/gui/start_chat_dialog.ui:539 +msgid "" +"No contacts found\n" +"You can also type an XMPP address" +msgstr "" + +#: gajim/data/gui/manage_pep_services_window.ui:46 +msgid "Configure" +msgstr "配置" + +#: gajim/data/gui/roster_window.ui:11 data/org.gajim.Gajim.desktop.in:4 +#: data/org.gajim.Gajim.appdata.xml.in:7 +msgid "Gajim" +msgstr "Gajim" + +#: gajim/data/gui/groups_post_window.ui:9 +msgid "Create new post" +msgstr "建立新訊息" + +#: gajim/data/gui/systray_context_menu.ui:12 +msgid "Sta_tus" +msgstr "狀態(_T)" + +#: gajim/data/gui/systray_context_menu.ui:20 +msgid "_Start Chat..." +msgstr "開始聊天(_S)…" + +#: gajim/data/gui/systray_context_menu.ui:29 +#: gajim/data/gui/contact_context_menu.ui:20 +msgid "Send Single _Message..." +msgstr "傳送單條訊息(_M)…" + +#: gajim/data/gui/systray_context_menu.ui:43 +msgid "Show All Pending _Events" +msgstr "顯示所有未處理事件(_E)" + +#: gajim/data/gui/systray_context_menu.ui:52 +msgid "Mute Sounds" +msgstr "靜音" + +#: gajim/data/gui/shortcuts_window.ui:8 gajim/data/gui/mam_preferences.ui:18 +#, fuzzy +msgid "Contact List" +msgstr "聯絡人" + +#: gajim/data/gui/shortcuts_window.ui:24 +#, fuzzy +msgid "Create new group chat" +msgstr "離開聊天室" + +#: gajim/data/gui/shortcuts_window.ui:45 +#, fuzzy +msgid "File transfers" +msgstr "檔案傳輸" + +#: gajim/data/gui/shortcuts_window.ui:52 +#, fuzzy +msgid "Set the status message" +msgstr "狀態訊息" + +#: gajim/data/gui/shortcuts_window.ui:59 +#, fuzzy +msgid "Show XML console" +msgstr "顯示 XML 主控臺(_X)" + +#: gajim/data/gui/shortcuts_window.ui:74 +#, fuzzy +msgid "Appearance" +msgstr "聊天視窗外觀" + +#: gajim/data/gui/shortcuts_window.ui:79 +#, fuzzy +msgid "Show offline contacts" +msgstr "顯示離線聯絡人" + +#: gajim/data/gui/shortcuts_window.ui:86 +#, fuzzy +msgid "Show only active contacts" +msgstr "只顯示活動的聯絡人(_A)" + +#: gajim/data/gui/shortcuts_window.ui:93 +msgid "Enable contact list filtering" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:100 +#, fuzzy +msgid "Show / hide contact list" +msgstr "只顯示活動的聯絡人(_A)" + +#: gajim/data/gui/shortcuts_window.ui:113 +#, fuzzy +msgid "Contact information" +msgstr "聯絡人資訊" + +#: gajim/data/gui/shortcuts_window.ui:120 +#, fuzzy +msgid "Rename contact" +msgstr "重新命名聯絡人" + +#: gajim/data/gui/shortcuts_window.ui:127 +#, fuzzy +msgid "Delete contact" +msgstr "已傳送聯絡人:" + +#: gajim/data/gui/shortcuts_window.ui:138 gajim/data/gui/history_window.ui:303 +#, fuzzy +msgid "Chat" +msgstr "聊天" + +#: gajim/data/gui/shortcuts_window.ui:142 +#, fuzzy +msgid "Message composition" +msgstr "訊息內容" + +#: gajim/data/gui/shortcuts_window.ui:147 +#, fuzzy +msgid "Send the message" +msgstr "傳送訊息" + +#: gajim/data/gui/shortcuts_window.ui:154 +#, fuzzy +msgid "Add new line" +msgstr "建立新訊息" + +#: gajim/data/gui/shortcuts_window.ui:161 +msgid "Select an emoji" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:168 +#, fuzzy +msgid "Complete a command or a nickname" +msgstr "請用您想要的名稱新增一個主題。" + +#: gajim/data/gui/shortcuts_window.ui:175 +#, fuzzy +msgid "Previously sent message" +msgstr "預設的訊息:" + +#: gajim/data/gui/shortcuts_window.ui:182 +#, fuzzy +msgid "Next sent messages" +msgstr "預設的訊息:" + +#: gajim/data/gui/shortcuts_window.ui:189 +#, fuzzy +msgid "Quote previous message" +msgstr "狀態訊息" + +#: gajim/data/gui/shortcuts_window.ui:196 +#, fuzzy +msgid "Quote next message" +msgstr "傳送訊息" + +#: gajim/data/gui/shortcuts_window.ui:203 +#, fuzzy +msgid "Clear message entry" +msgstr "訊息已傳送" + +#: gajim/data/gui/shortcuts_window.ui:211 +#, fuzzy +msgid "Recent history" +msgstr "最近:" + +#: gajim/data/gui/shortcuts_window.ui:216 +msgid "Scroll up" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:223 +msgid "Scroll down" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:230 +#, fuzzy +msgid "Clear chat window" +msgstr "隱藏該視窗" + +#: gajim/data/gui/shortcuts_window.ui:237 +#, fuzzy +msgid "Show chat history" +msgstr "最近:" + +#: gajim/data/gui/shortcuts_window.ui:245 +msgid "Tabs" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:250 +msgid "Switch to the previous tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:257 +msgid "Switch to the next tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:264 +msgid "Switch to the first - ninth tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:271 +msgid "Switch to the previous unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:278 +msgid "Switch to the next unread tab" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:285 +msgid "Move tab to the left" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:292 +msgid "Move tab to the right" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:299 +msgid "Close chat" +msgstr "" + +#: gajim/data/gui/shortcuts_window.ui:312 +#, fuzzy +msgid "Change Nickname" +msgstr "變更暱稱(_N)…" + +#: gajim/data/gui/chat_control.ui:48 +#, fuzzy +msgid "Drop files or contacts" +msgstr "向聯絡人傳送檔案" + +#: gajim/data/gui/chat_control.ui:80 +#, fuzzy +msgid "1" +msgstr "字型" + +#: gajim/data/gui/chat_control.ui:101 +#, fuzzy +msgid "2 abc" +msgstr "字型" + +#: gajim/data/gui/chat_control.ui:121 +#, fuzzy +msgid "3 def" +msgstr "字型" + +#: gajim/data/gui/chat_control.ui:141 +#, fuzzy +msgid "4 ghi" +msgstr "字型" + +#: gajim/data/gui/chat_control.ui:161 +#, fuzzy +msgid "5 jkl" +msgstr "字型" + +#: gajim/data/gui/chat_control.ui:181 +#, fuzzy +msgid "6 mno" +msgstr "字型" + +#: gajim/data/gui/chat_control.ui:201 +msgid "7 pqrs" +msgstr "" + +#: gajim/data/gui/chat_control.ui:221 +#, fuzzy +msgid "8 tuv" +msgstr "字型" + +#: gajim/data/gui/chat_control.ui:241 +msgid "9 wxyz" +msgstr "" + +#: gajim/data/gui/chat_control.ui:261 +#, fuzzy +msgid "*" +msgstr "字型" + +#: gajim/data/gui/chat_control.ui:281 +#, fuzzy +msgid "0" +msgstr "字型" + +#: gajim/data/gui/chat_control.ui:301 +#, fuzzy +msgid "#" +msgstr "字型" + +#: gajim/data/gui/chat_control.ui:491 +msgid "The last message was written on a mobile client" +msgstr "" + +#: gajim/data/gui/chat_control.ui:950 +msgid "With Microphone" +msgstr "" + +#: gajim/data/gui/chat_control.ui:964 +msgid "Microphone & Camera" +msgstr "" + +#: gajim/data/gui/chat_control.ui:1047 +msgid "End call" +msgstr "" + +#: gajim/data/gui/contact_context_menu.ui:12 +msgid "Start _Chat" +msgstr "開始聊天(_C)" + +#: gajim/data/gui/contact_context_menu.ui:28 +msgid "Send _File..." +msgstr "傳送檔案(_F)…" + +#: gajim/data/gui/contact_context_menu.ui:44 +msgid "Invite _Contacts" +msgstr "邀請聯絡人(_C)" + +#: gajim/data/gui/contact_context_menu.ui:58 +msgid "E_xecute Command..." +msgstr "執行命令…" + +#: gajim/data/gui/contact_context_menu.ui:67 +#, fuzzy +msgid "M_anage Contact" +msgstr "管理聯絡人" + +#: gajim/data/gui/contact_context_menu.ui:77 +msgid "_Rename..." +msgstr "重新命名(_R)…" + +#: gajim/data/gui/contact_context_menu.ui:84 +msgid "Edit _Groups..." +msgstr "編輯群組(_G)…" + +#: gajim/data/gui/contact_context_menu.ui:92 +msgid "Add Special _Notification..." +msgstr "加入特殊提示(_N)…" + +#: gajim/data/gui/contact_context_menu.ui:106 +msgid "_Subscription" +msgstr "認證(_S)" + +#: gajim/data/gui/contact_context_menu.ui:115 +#, fuzzy +msgid "_Allow contact to see my status" +msgstr "允許此聯絡人看到我的狀態(_L)" + +#: gajim/data/gui/contact_context_menu.ui:123 +#, fuzzy +msgid "A_sk to see contact status" +msgstr "要求檢視他/她的狀態(_S)" + +#: gajim/data/gui/contact_context_menu.ui:131 +#, fuzzy +msgid "_Forbid contact to see my status" +msgstr "禁止他/她檢視我的狀態(_F)" + +#: gajim/data/gui/contact_context_menu.ui:159 +msgid "_Unignore" +msgstr "取消忽略(_U)" + +#: gajim/data/gui/contact_context_menu.ui:167 +msgid "_Ignore" +msgstr "忽略(_I)" + +#: gajim/data/gui/contact_context_menu.ui:174 +#, fuzzy +msgid "_Add to Contact List..." +msgstr "加入聯絡人(_A)…" + +#: gajim/data/gui/single_message_window.ui:42 +#, fuzzy +msgid "_To" +msgstr "To" + +#: gajim/data/gui/single_message_window.ui:71 +#, fuzzy +msgid "Su_bject" +msgstr "主題" + +#: gajim/data/gui/single_message_window.ui:88 +msgid "Type the subject here..." +msgstr "" + +#: gajim/data/gui/single_message_window.ui:102 +msgid "_Message" +msgstr "_Message" + +#: gajim/data/gui/single_message_window.ui:144 +#, fuzzy +msgid "Characters typed: 0" +msgstr "不允許的字元" + +#: gajim/data/gui/single_message_window.ui:189 +#, fuzzy +msgid "_From" +msgstr "From" + +#: gajim/data/gui/single_message_window.ui:309 +msgid "Sen_d" +msgstr "傳送(_D)" + +#: gajim/data/gui/single_message_window.ui:315 +msgid "Send message" +msgstr "傳送訊息" + +#: gajim/data/gui/single_message_window.ui:328 +msgid "_Reply" +msgstr "回復(_R)" + +#: gajim/data/gui/single_message_window.ui:334 +msgid "Reply to this message" +msgstr "回復本條訊息" + +#: gajim/data/gui/single_message_window.ui:350 +msgid "_Send & Close" +msgstr "傳送並關閉(_S)" + +#: gajim/data/gui/single_message_window.ui:356 +msgid "Send message and close window" +msgstr "傳送訊息並關閉視窗" + +#: gajim/data/gui/vcard_information_window.ui:106 +#, fuzzy +msgid "Client" +msgstr "客戶端:" + +#: gajim/data/gui/vcard_information_window.ui:140 +#, fuzzy +msgid "Contact time" +msgstr "聯絡人名稱" + +#: gajim/data/gui/vcard_information_window.ui:240 +#, fuzzy +msgid "User avatar" +msgstr "使用者頭像:" + +#: gajim/data/gui/vcard_information_window.ui:255 +#, fuzzy +msgid "Configured avatar" +msgstr "已設定頭像:" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:287 +msgid "Ask" +msgstr "" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:304 +#, fuzzy +msgid "Subscription" +msgstr "認證: " + +#: gajim/data/gui/vcard_information_window.ui:579 +#: gajim/data/gui/vcard_information_window.ui:1227 +#, fuzzy +msgid "Extra Address" +msgstr "附加位址:" + +#: gajim/data/gui/vcard_information_window.ui:671 +#: gajim/data/gui/vcard_information_window.ui:1363 +msgid "Address" +msgstr "位址" + +#: gajim/data/gui/vcard_information_window.ui:704 +#: gajim/data/gui/vcard_information_window.ui:1380 +#, fuzzy +msgid "E-Mail" +msgstr "E-Mail:" + +#: gajim/data/gui/vcard_information_window.ui:764 +msgid "Format: YYYY-MM-DD" +msgstr "格式: YYYY-MM-DD" + +#. Family Name +#: gajim/data/gui/vcard_information_window.ui:805 +#, fuzzy +msgid "Family" +msgstr "姓:" + +#. Middle Name +#: gajim/data/gui/vcard_information_window.ui:821 +#, fuzzy +msgid "Middle" +msgstr "一周中" + +#. Prefix in Name +#: gajim/data/gui/vcard_information_window.ui:837 +#, fuzzy +msgid "Prefix" +msgstr "Prefer" + +#. Given Name +#: gajim/data/gui/vcard_information_window.ui:896 +msgid "Given" +msgstr "" + +#. Suffix in Name +#: gajim/data/gui/vcard_information_window.ui:912 +#, fuzzy +msgid "Suffix" +msgstr "字尾:" + +#: gajim/data/gui/vcard_information_window.ui:958 +#, fuzzy +msgid "Name Details" +msgstr "名稱:" + +#: gajim/data/gui/vcard_information_window.ui:973 +#: gajim/data/gui/vcard_information_window.ui:992 +#: gajim/data/gui/vcard_information_window.ui:1426 +#: gajim/data/gui/groupchat_info_scrolled.ui:161 +msgid "button" +msgstr "" + +#: gajim/data/gui/vcard_information_window.ui:1017 +msgid "Personal Info" +msgstr "個人資訊" + +#: gajim/data/gui/vcard_information_window.ui:1040 +#, fuzzy +msgid "Company" +msgstr "公司:" + +#: gajim/data/gui/vcard_information_window.ui:1073 +#, fuzzy +msgid "Department" +msgstr "部門:" + +#: gajim/data/gui/vcard_information_window.ui:1104 +#, fuzzy +msgid "Position" +msgstr "職位:" + +#: gajim/data/gui/vcard_information_window.ui:1134 +#: gajim/data/gui/groupchat_config.ui:330 +msgid "Role" +msgstr "角色" + +#. "About" is the text of a tab of vcard window +#: gajim/data/gui/vcard_information_window.ui:1484 +msgid "About" +msgstr "關於" + +#: gajim/data/gui/vcard_information_window.ui:1514 +msgid "Comments" +msgstr "註釋" + +#: gajim/data/gui/edit_groups_dialog.ui:8 +msgid "Edit Groups" +msgstr "編輯群組" + +#: gajim/data/gui/passphrase_dialog.ui:8 +msgid "Passphrase" +msgstr "密文" + +#: gajim/data/gui/themes_window.ui:43 +msgid "Add a setting you would like to change" +msgstr "" + +#: gajim/data/gui/themes_window.ui:85 gajim/data/gui/preferences.ui:391 +#, fuzzy +msgid "Themes" +msgstr "主題" + +#: gajim/data/gui/themes_window.ui:171 +#, fuzzy +msgid "Add Setting" +msgstr "外掛程式" + +#: gajim/data/gui/themes_window.ui:204 +#, fuzzy +msgid "Add new Theme" +msgstr "建立新訊息" + +#: gajim/data/gui/themes_window.ui:219 +#, fuzzy +msgid "Remove Theme" +msgstr "活動" + +#: gajim/data/gui/bookmarks.ui:120 +#, fuzzy +msgid "Autojoin" +msgstr "自動聯結(_U)" + +#: gajim/data/gui/bookmarks.ui:193 +msgid "_Apply" +msgstr "" + +#: gajim/data/gui/preferences.ui:40 +msgid "Behaviour of Windows & Tabs" +msgstr "" + +#: gajim/data/gui/preferences.ui:68 +#, fuzzy +msgid "Contact List Appearance" +msgstr "聯絡人清單項交換" + +#: gajim/data/gui/preferences.ui:127 gajim/data/gui/preferences.ui:183 +#, fuzzy +msgid "Chats" +msgstr "聊天" + +#: gajim/data/gui/preferences.ui:215 +#, fuzzy +msgid "Visual Notifications" +msgstr "可視化提示" + +#: gajim/data/gui/preferences.ui:243 +#, fuzzy +msgid "Sounds" +msgstr "Wav聲音" + +#: gajim/data/gui/preferences.ui:303 +#, fuzzy +msgid "Ask For Status Message on…" +msgstr "詢問狀態訊息,當我:" + +#: gajim/data/gui/preferences.ui:331 +#, fuzzy +msgid "Automatic Status Change" +msgstr "自動調整狀態" + +#: gajim/data/gui/preferences.ui:419 +msgid "Emoji" +msgstr "" + +#: gajim/data/gui/preferences.ui:447 +#, fuzzy +msgid "Status Icon" +msgstr "狀態圖示集(_I):" + +#: gajim/data/gui/preferences.ui:472 +msgid "Style" +msgstr "風格" + +#: gajim/data/gui/preferences.ui:511 +#, fuzzy +msgid "Show _Features" +msgstr "特性" + +#: gajim/data/gui/preferences.ui:547 +msgid "Missing dependencies for Audio/Video" +msgstr "" + +#: gajim/data/gui/preferences.ui:632 +#, fuzzy +msgid "Audio" +msgstr "音訊測試" + +#: gajim/data/gui/preferences.ui:660 +#, fuzzy +msgid "Video" +msgstr "視訊測試" + +#: gajim/data/gui/preferences.ui:698 +#, fuzzy +msgid "Audio/Video" +msgstr "音訊/視訊" + +#: gajim/data/gui/preferences.ui:735 +#, fuzzy +msgid "Miscellaneous" +msgstr "雜項" + +#: gajim/data/gui/preferences.ui:758 +msgid "Reset Hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:762 +msgid "This will reset all introduction hints" +msgstr "" + +#: gajim/data/gui/preferences.ui:821 +#, fuzzy +msgid "Advanced Configuration Editor… " +msgstr "進階設定編輯器" + +#: gajim/data/gui/preferences.ui:825 +msgid "Please use these settings with caution!" +msgstr "" + +#: gajim/data/gui/server_info.ui:50 +msgid "Server Software" +msgstr "" + +#: gajim/data/gui/server_info.ui:80 +#, fuzzy +msgid "Server Uptime" +msgstr "伺服器回應: %s" + +#: gajim/data/gui/server_info.ui:109 +#, fuzzy +msgid "Contact Addresses" +msgstr "聯絡人訊息:" + +#: gajim/data/gui/server_info.ui:124 +msgid "No contact addresses published for this server." +msgstr "" + +#: gajim/data/gui/server_info.ui:177 +#, fuzzy +msgid "Proxy Type" +msgstr "代理伺服器(_Y):" + +#: gajim/data/gui/server_info.ui:192 +#, fuzzy +msgid "No proxy used" +msgstr "代理伺服器(_Y):" + +#: gajim/data/gui/server_info.ui:202 +#, fuzzy +msgid "View _Certificate" +msgstr "檢視憑證…" + +#: gajim/data/gui/server_info.ui:222 +#, fuzzy +msgid "Proxy Host" +msgstr "代理伺服器位址(_H):" + +#: gajim/data/gui/server_info.ui:421 +#, fuzzy +msgid "Copy info to clipboard" +msgstr "複製連結位置(_C)" + +#: gajim/data/gui/certificate_dialog.ui:66 +#: gajim/data/gui/certificate_dialog.ui:188 +msgid "Common Name (CN)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:95 +#: gajim/data/gui/certificate_dialog.ui:217 +msgid "Organization (O)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:124 +#: gajim/data/gui/certificate_dialog.ui:246 +msgid "Organizational Unit (OU)" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:153 +#, fuzzy +msgid "Serial Number" +msgstr "GG 號碼:" + +#: gajim/data/gui/certificate_dialog.ui:275 +msgid "Issued on" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:304 +#, fuzzy +msgid "Expires on" +msgstr "expire" + +#: gajim/data/gui/certificate_dialog.ui:333 +msgid "SHA-1" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:348 +msgid "Issued to" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:364 +msgid "Issued by" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:380 +msgid "Validity" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:396 +msgid "Fingerprints" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:431 +msgid "SHA-256" +msgstr "" + +#: gajim/data/gui/certificate_dialog.ui:465 +#, fuzzy +msgid "Copy Certificate Information" +msgstr "聯絡人資訊" + +#: gajim/data/gui/chat_to_muc_window.ui:24 +msgid "Invite Friends!" +msgstr "邀請朋友!" + +#: gajim/data/gui/chat_to_muc_window.ui:39 +#, fuzzy +msgid "" +"You are now entering a group chat.\n" +"Select the contacts you want to invite" +msgstr "" +"您將開始進行多人聊天。\n" +"選擇您想要邀請的聯絡人" + +#: gajim/data/gui/chat_to_muc_window.ui:67 +#: gajim/data/gui/chat_to_muc_window.ui:78 +msgid "column" +msgstr "" + +#: gajim/data/gui/chat_to_muc_window.ui:112 +#, fuzzy +msgid "Please select a group chat server." +msgstr "請選擇一個多人聊天伺服器" + +#: gajim/data/gui/chat_to_muc_window.ui:141 +#, fuzzy +msgid "Group chat server" +msgstr "多人聊天" + +#: gajim/data/gui/chat_to_muc_window.ui:176 +msgid "In_vite" +msgstr "邀請(_V)" + +#: gajim/data/gui/mam_preferences.ui:53 +#, fuzzy +msgid "_Default" +msgstr "預設" + +#: gajim/data/gui/mam_preferences.ui:136 +#, fuzzy +msgid "Archive" +msgstr "存檔為空" + +#: gajim/data/gui/history_manager.ui:11 +#, fuzzy +msgid "_Export" +msgstr "匯出" + +#: gajim/data/gui/history_manager.ui:29 gajim/data/gui/history_manager.ui:87 +msgid "Gajim History Logs Manager" +msgstr "Gajim 命令歷程記錄管理器" + +#: gajim/data/gui/history_manager.ui:104 +#, fuzzy +msgid "" +"This history manager is not intended for viewing chat history. If you are " +"looking for such functionality, please use the history window instead.\n" +"\n" +"You can use this program to delete or export history. Either select logs " +"from the left or search the database." +msgstr "" +"這個命令歷程記錄管理器並非為了瀏覽命令歷程記錄而設計。如果您需要瀏覽命令歷程" +"記錄,請使用命令歷程視窗。\n" +"\n" +"使用這個程式來刪除或匯出命令歷程記錄。您可以在左側進行選擇且/或在下方進行搜" +"尋。" + +#: gajim/data/gui/history_manager.ui:120 +msgid "" +"WARNING:\n" +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." +msgstr "" +"警告:\n" +"如果您要進行大量的刪除,請確認 Gajim 不再執行。\n" +"一般而言,如果您正在與某個聯絡人聊天,請不要刪除與他的聊天記錄。" + +#: gajim/data/gui/history_manager.ui:211 +#, fuzzy +msgid "Search database..." +msgstr "搜尋資料庫(_S)" + +#: gajim/data/gui/history_manager.ui:226 +#, fuzzy +msgid "Search in database" +msgstr "搜尋資料庫(_S)" + +#: gajim/data/gui/groupchat_invite.ui:42 +msgid "" +"No contacts left.\n" +"You can also type an XMPP address." +msgstr "" + +#: gajim/data/gui/groupchat_invite.ui:69 +#, fuzzy +msgid "Invitees" +msgstr "邀請(_V)" + +#: gajim/data/gui/groupchat_invite.ui:153 +#, fuzzy +msgid "Search contacts..." +msgstr "搜尋資料庫(_S)" + +#: gajim/data/gui/groupchat_invite.ui:223 +#, fuzzy +msgid "Click on contacts you would like to invite to this group chat." +msgstr "%(nick)s 已經被從這個聊天室移除(%(reason)s)" + +#: gajim/data/gui/service_discovery_window.ui:148 +#, fuzzy +msgid "Go" +msgstr "前往(_O)" + +#: gajim/data/gui/status_change_window.ui:27 +#, fuzzy +msgid "Change Status" +msgstr "變更狀態" + +#: gajim/data/gui/status_change_window.ui:56 +#, fuzzy +msgid "Status Presets…" +msgstr "狀態訊息" + +#: gajim/data/gui/status_change_window.ui:72 +msgid "Save this message as a preset" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:130 +#, fuzzy +msgid "Ac_tivity" +msgstr "活動:" + +#: gajim/data/gui/status_change_window.ui:146 +msgid "M_ood" +msgstr "" + +#: gajim/data/gui/status_change_window.ui:278 +#, fuzzy +msgid "_Change Status" +msgstr "變更狀態" + +#: gajim/data/gui/status_change_window.ui:313 +#, fuzzy +msgid "Activity" +msgstr "活動:" + +#: gajim/data/gui/status_change_window.ui:326 +#, fuzzy +msgid "_No Activity" +msgstr "活動:" + +#: gajim/data/gui/status_change_window.ui:729 +#, fuzzy +msgid "Mood" +msgstr "喜怒無常" + +#: gajim/data/gui/groupchat_info_scrolled.ui:48 +msgid "Topic" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:64 +#, fuzzy +msgid "Author" +msgstr "作者:" + +#: gajim/data/gui/groupchat_info_scrolled.ui:137 +msgid "Discussion Logs" +msgstr "" + +#: gajim/data/gui/groupchat_info_scrolled.ui:199 +#, fuzzy +msgid "Group Chat Language" +msgstr "多人聊天邀請" + +#: gajim/data/gui/groupchat_info_scrolled.ui:303 +#, fuzzy +msgid "Copy Address" +msgstr "複製 JID/電子郵件位址(_C)" + +#: gajim/data/gui/emoji_chooser.ui:98 +#, fuzzy +msgid "No Results Found" +msgstr "無結果" + +#: gajim/data/gui/xml_console.ui:8 +msgid "XML Console" +msgstr " XML 主控臺" + +#: gajim/data/gui/xml_console.ui:131 +#, fuzzy +msgid "Start Search..." +msgstr "開始聊天(_S)…" + +#: gajim/data/gui/xml_console.ui:260 +#, fuzzy +msgid "Clear" +msgstr "清潔" + +#: gajim/data/gui/xml_console.ui:302 +msgid "Paste Last Input" +msgstr "" + +#: gajim/data/gui/xml_console.ui:316 +#, fuzzy +msgid "Presets" +msgstr "_Presence" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:8 +msgid "Synchronise : select contacts" +msgstr "同步: 選擇聯絡人" + +#: gajim/data/gui/synchronise_select_contacts_dialog.ui:67 +msgid "Select the contacts you want to synchronise" +msgstr "選擇您想要同步的聯絡人" + +#: gajim/data/gui/groupchat_config.ui:51 +#, fuzzy +msgid "" +"XMPP Address\n" +"<user@domain/resource> (only that resource matches)\n" +"<user@domain> (any resource matches)\n" +"<domain/resource> (only that resource matches)\n" +"<domain> (the domain itself matches, as does any user@domain or domain/" +"resource)\n" +msgstr "" +"可以是下列之一: \n" +"1。user@domain/resource (只有這個資源匹配)。\n" +"2。user@domain (任何資源均匹配)。\n" +"3。domain/resource (只有這個資源匹配)。\n" +"4。domain (欄位名稱本身匹配,任何 user@domain,\n" +"domain/resource,或是包含一個子欄位名稱的位址也匹配)。" + +#: gajim/data/gui/groupchat_config.ui:126 +#: gajim/data/gui/groupchat_config.ui:149 +msgid "Only Admins and Owners can modify the affiliation" +msgstr "" + +#: gajim/data/gui/groupchat_config.ui:309 +#, fuzzy +msgid "Reserved Name" +msgstr "Preference Name" + +#: gajim/data/gui/groupchat_config.ui:346 +#, fuzzy +msgid "Affiliation" +msgstr "歸屬:" + +#: gajim/data/gui/groupchat_config.ui:377 +#, fuzzy +msgid "Affiliations" +msgstr "應用程式" + +#: gajim/data/gui/groupchat_config.ui:429 +msgid "Reason" +msgstr "原因" + +#: gajim/data/gui/groupchat_config.ui:458 +msgid "Ban List" +msgstr "封禁名單" + +#: gajim/data/gui/subscription_request_window.ui:19 +msgid "_Deny" +msgstr "拒絕(_D)" + +#: gajim/data/gui/subscription_request_window.ui:34 +#, fuzzy +msgid "_Block User" +msgstr "阻斷(_B)" + +#: gajim/data/gui/subscription_request_window.ui:49 +#, fuzzy +msgid "_Report as Spam" +msgstr "報告錯誤(_R)" + +#: gajim/data/gui/subscription_request_window.ui:212 +#, fuzzy +msgid "_Deny…" +msgstr "拒絕(_D)" + +#: gajim/data/gui/subscription_request_window.ui:225 +#, fuzzy +msgid "Ac_cept" +msgstr "帳號(_A)" + +#: gajim/data/gui/subscription_request_window.ui:230 +#, fuzzy +msgid "Allows the contact to see your online status" +msgstr "允許此聯絡人看到我的狀態(_L)" + +#: gajim/data/gui/exception_dialog.ui:46 +msgid "Sorry, that should not have happened" +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:65 +msgid "" +"Gajim encountered an error. A report is shown below.\n" +"By reporting this bug you might help people to fix this." +msgstr "" + +#: gajim/data/gui/exception_dialog.ui:115 +#, fuzzy +msgid "_Report Bug" +msgstr "報告錯誤(_R)" + +#: gajim/data/gui/manage_sounds.ui:54 +msgid "Event" +msgstr "事件" + +#: gajim/data/gui/manage_sounds.ui:83 +msgid "Choose Sound" +msgstr "選擇聲音" + +#: gajim/data/gui/manage_sounds.ui:97 +#, fuzzy +msgid "Clear Sound" +msgstr "選擇聲音" + +#: gajim/data/gui/manage_sounds.ui:118 +#, fuzzy +msgid "Play Sound" +msgstr "播放聲音(_S)" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:54 +#, fuzzy +msgid "_Send Files" +msgstr "傳送檔案(_F)" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:58 +#, fuzzy +msgid "Send" +msgstr "傳送(_S)" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:76 +#, fuzzy +msgid "Files to send" +msgstr "選擇要傳送的檔案…" + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:133 +#, fuzzy +msgid "Add Files" +msgstr "檔案: " + +#: gajim/data/gui/filetransfers_send_file_dialog.ui:147 +#, fuzzy +msgid "Remove Files" +msgstr "移除(_R)" + +#: gajim/data/gui/tooltip_roster_contact.ui:62 +#, fuzzy +msgid "Idle since:" +msgstr "閒置,自從 %s" + +#: gajim/data/gui/tooltip_roster_contact.ui:88 +msgid "Mood:" +msgstr "心情:" + +#: gajim/data/gui/tooltip_roster_contact.ui:101 +msgid "Activity:" +msgstr "活動:" + +#: gajim/data/gui/tooltip_roster_contact.ui:115 +#, fuzzy +msgid "Tune:" +msgstr "音樂: %s" + +#: gajim/data/gui/tooltip_roster_contact.ui:128 +#, fuzzy +msgid "Location:" +msgstr "位置: %s" + +#: gajim/data/gui/tooltip_roster_contact.ui:193 +#, fuzzy +msgid "Subscription:" +msgstr "認證: " + +#: gajim/data/gui/advanced_configuration.ui:15 +#, fuzzy +msgid "A restart may be required for some settings to take effect" +msgstr "注意:您必須重新啟動 gajim 以使某些設定生效" + +#: gajim/data/gui/advanced_configuration.ui:35 +msgid "Type to search for values..." +msgstr "" + +#: gajim/data/gui/advanced_configuration.ui:120 +#, fuzzy +msgid "_Reset Value" +msgstr "恢復為預設顏色設定(_R)" + +#: gajim/data/gui/advanced_configuration.ui:125 +#, fuzzy +msgid "Resets value to default" +msgstr "恢復為預設顏色設定(_R)" + +#: gajim/data/gui/history_window.ui:27 +#, fuzzy +msgid "Display status changes" +msgstr "記錄聯絡人狀態變化(_L)" + +#: gajim/data/gui/history_window.ui:57 +msgid "History Manager" +msgstr "命令歷程記錄管理器" + +#: gajim/data/gui/history_window.ui:233 +#, fuzzy +msgid "Mode" +msgstr "主持人" + +#: gajim/data/gui/history_window.ui:246 +#, fuzzy +msgid "Search complete history" +msgstr "最近:" + +#: gajim/data/gui/history_window.ui:263 +msgid "Search selected day only" +msgstr "" + +#: gajim/data/gui/history_window.ui:317 +#, fuzzy +msgid "Store history for this chat" +msgstr "忽略這個證書的這個錯誤。" + +#: gajim/data/gui/history_window.ui:332 +#, fuzzy +msgid "Store History" +msgstr "最近:" + +#: gajim/data/gui/ssl_error_dialog.ui:46 +#, fuzzy +msgid "Identified Error" +msgstr "SSL證書錯誤" + +#: gajim/data/gui/ssl_error_dialog.ui:62 +#, fuzzy +msgid "" +msgstr "錯誤" + +#: gajim/data/gui/ssl_error_dialog.ui:74 +#, fuzzy +msgid "Add this certificate to the list of _trusted certificates" +msgstr "" +"將這個證書加入到可信任證書清單。\n" +"這個證書的 SHA1 指紋資訊: \n" + +#: gajim/data/gui/ssl_error_dialog.ui:104 +#, fuzzy +msgid "_View Certificate" +msgstr "檢視憑證…" + +#: gajim/data/gui/ssl_error_dialog.ui:120 +#, fuzzy +msgid "_Connect" +msgstr "已連線" + +#: data/org.gajim.Gajim.desktop.in:5 +#, fuzzy +msgid "XMPP Chat Client" +msgstr "Jabber 即時訊息客戶端" + +#: data/org.gajim.Gajim.desktop.in:6 data/org.gajim.Gajim.appdata.xml.in:8 +msgid "A fully-featured XMPP chat client" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:8 +msgid "chat;messaging;im;xmpp;bonjour;voip;" +msgstr "" + +#: data/org.gajim.Gajim.desktop.in:27 +#, fuzzy +msgid "Show next pending event" +msgstr "顯示所有未處理事件(_E)" + +#: data/org.gajim.Gajim.appdata.xml.in:10 +msgid "" +"Gajim aims to be an easy to use and fully-featured XMPP client. Just chat " +"with your friends or family, easily share pictures and thoughts or discuss " +"the news with your groups." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:14 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:15 +msgid "" +"Gajim integrates well with your other devices: simply continue conversations " +"on your mobile device." +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:17 +#, fuzzy +msgid "Features:" +msgstr "特性" + +#: data/org.gajim.Gajim.appdata.xml.in:19 +msgid "Never miss a message, keep all your chat clients synchronized" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:20 +msgid "Invite friends to group chats or join one" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:21 +msgid "Easily send pictures, videos or other files to friends and groups" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:22 +msgid "Chat securely with End-to-End encryption via OMEMO or OpenPGP" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:23 +msgid "Use your favorite emoticons, set your own profile picture" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:24 +msgid "Keep and manage all your chat history" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:25 +msgid "Organize your chats with tabs" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:26 +#, fuzzy +msgid "Automatic spell-checking for your messages" +msgstr "對正在編輯的訊息進行拼寫檢查。" + +#: data/org.gajim.Gajim.appdata.xml.in:27 +msgid "Connect to other Messengers via Transports (Facebook, IRC, ...)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:28 +msgid "" +"Lookup things on Wikipedia, dictionaries or other search engines directly " +"from the chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:29 +msgid "" +"Set your activity, tune, and mood to show your friends how you are feeling" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:30 +msgid "Support for multiple accounts" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:31 +msgid "Group multiple contacts from one friend to a single Meta-Contact" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:32 +msgid "XML console to see what's happening on the protocol layer" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:33 +msgid "Serverless messaging (Bonjour/Zeroconf)" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:34 +#, fuzzy +msgid "Support for service discovery including nodes and search for users" +msgstr "正在使用帳號 %s 來發掘服務" + +#: data/org.gajim.Gajim.appdata.xml.in:35 +msgid "Even more features via plugins" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:41 +#, fuzzy +msgid "Contact list" +msgstr "聯絡人" + +#: data/org.gajim.Gajim.appdata.xml.in:45 +msgid "Tabbed chat window" +msgstr "" + +#: data/org.gajim.Gajim.appdata.xml.in:49 +#, fuzzy +msgid "Group chat support" +msgstr "多人聊天" + +#: data/org.gajim.Gajim.appdata.xml.in:53 +#, fuzzy +msgid "Chat history" +msgstr "最近:" + +#: data/org.gajim.Gajim.appdata.xml.in:57 +#, fuzzy +msgid "Plugin manager" +msgstr "外掛程式失敗" + +#: data/org.gajim.Gajim.appdata.xml.in:61 +#, fuzzy +msgid "Gajim Team" +msgstr "Gajim - %s" + +#, fuzzy +#~ msgid "Chat Settings" +#~ msgstr "外掛程式" + +#~ msgid "Composing only" +#~ msgstr "僅正在編輯" + +#~ msgid "All chat states" +#~ msgstr "所有聊天狀態" + +#~ msgid "Privacy Lists" +#~ msgstr "隱私策略清單" + +#, fuzzy +#~ msgid "Unblock" +#~ msgstr "解除阻斷(_U)" + +#, fuzzy +#~ msgid "Block" +#~ msgstr "阻斷(_B)" + +#~ msgid "None" +#~ msgstr "無" + +#, python-format +#~ msgid "%s Status Message" +#~ msgstr " %s 狀態訊息" + +#~ msgid "an audio and video" +#~ msgstr "一個音訊和視訊" + +#~ msgid "an audio" +#~ msgstr "一個音訊" + +#~ msgid "a video" +#~ msgstr "一個視訊" + +#, fuzzy, python-format +#~ msgid "" +#~ "%(contact)s wants to start a %(type)s chat with you. Do you want to " +#~ "answer the call?" +#~ msgstr "%(contact)s 想要與您發起一個 %(type)s 作業階段。您要回應嗎?" + +#~ msgid "Could not load image" +#~ msgstr "無法讀取圖片" + +#~ msgid "Error." +#~ msgstr "錯誤。" + +#, python-format +#~ msgid "%(type)s state : %(state)s, reason: %(reason)s" +#~ msgstr "%(type)s 狀態: %(state)s,原因: %(reason)s" + +#, fuzzy +#~ msgid "" +#~ "This contact will see you offline and you will not receive any messages " +#~ "sent to you by this contact." +#~ msgstr "這個聯絡人將看到您離線並且您不會在收到他傳送給您的訊息。" + +#, fuzzy +#~ msgid "_Block Contact" +#~ msgstr "被阻斷的聯絡人" + +#, fuzzy +#~ msgid "Block Group" +#~ msgstr "阻斷(_B)" + +#, fuzzy +#~ msgid "Really block this group?" +#~ msgstr "是否為此聯絡人使用 OpenPGP?" + +#, fuzzy +#~ msgid "" +#~ "All contacts of this group will see you as offline and you will not " +#~ "receive any messages sent to you by any one of these contacts." +#~ msgstr "這個聯絡人將看到您離線並且您不會在收到他傳送給您的訊息。" + +#, fuzzy +#~ msgid "_Block Group" +#~ msgstr "阻斷(_B)" + +#~ msgid "No account available" +#~ msgstr "沒有有效帳號" + +#~ msgid "You must create an account before you can chat with other contacts." +#~ msgstr "您必須在與他人聊天前新增帳號。" + +#~ msgid "Metacontacts storage not supported by your server" +#~ msgstr "您的伺服器不支援儲存元聯絡人資訊" + +#, fuzzy +#~ msgid "" +#~ "Your server does not support storing metacontacts information. So this " +#~ "information will not be saved on next reconnection." +#~ msgstr "" +#~ "您的伺服器不支援儲存元聯絡人資訊。所以這些資訊在下次重新連線時不會被儲存。" + +#, fuzzy, python-brace-format +#~ msgid "You are invited to {room} by {user}" +#~ msgstr "您被邀請到一個聊天室" + +#, python-format +#~ msgid "%s wants to start a voice chat." +#~ msgstr "%s 想要發起語音聊天。" + +#~ msgid "Could not save your settings and preferences" +#~ msgstr "無法儲存您的設定。" + +#, fuzzy +#~ msgid "Error While Removing Privacy List" +#~ msgstr "移除隱私策略清單時發生錯誤" + +#, fuzzy, python-format +#~ msgid "" +#~ "Privacy list %s has not been removed. It is probably active in one of " +#~ "your connected resources. Please deactivate it and try again." +#~ msgstr "" +#~ "隱私策略清單 %s 還沒有被移除。它可能在您的某個連線的資源中是活動的。停用它" +#~ "然後重試。" + +#, fuzzy +#~ msgid "Invisibility Not Supported" +#~ msgstr "不支援隱身" + +#, fuzzy, python-format +#~ msgid "This account %s doesn't support invisibility." +#~ msgstr "帳號 %s 不支援隱身" + +#, fuzzy +#~ msgid "Could not request upload slot for HTTP File Upload" +#~ msgstr "無法啟動本地服務" + +#, fuzzy +#~ msgid "Not Secure" +#~ msgstr "未開始" + +#, fuzzy +#~ msgid "Could not Upload File" +#~ msgstr "無法讀取圖片" + +#~ msgid "Lists all preferences and their values" +#~ msgstr "列出所有的參數及它們的值" + +#~ msgid "Sets value of 'key' to 'value'." +#~ msgstr "將\"密鑰\"的值設為\"值\"" + +#~ msgid "key=value" +#~ msgstr "鍵=值" + +#, fuzzy +#~ msgid "'key' is the name of the preference, 'value' is what to set it to" +#~ msgstr "\"密鑰\"是參數名稱,而\"值\"是賦予參數的數值" + +#~ msgid "Deletes a preference item" +#~ msgstr "刪除一個參數項" + +#~ msgid "key" +#~ msgstr "鍵" + +#~ msgid "name of the preference to be deleted" +#~ msgstr "需要刪除的參數名稱" + +#~ msgid "Writes the current state of Gajim preferences to the .config file" +#~ msgstr "將目前Gajim的國家設定寫入 .config 檔案" + +#, python-format +#~ msgid "%s is a directory but should be a file" +#~ msgstr "%s 是一個目錄但它應該是一個檔案" + +#, fuzzy, python-format +#~ msgid "Creating %s" +#~ msgstr "正在銷毀 %s" + +#, python-format +#~ msgid "%(nickname)s Signed In" +#~ msgstr "%(nickname)s 上線了" + +#~ msgid "Contact Signed In" +#~ msgstr "聯絡人登入" + +#, python-format +#~ msgid "%(nickname)s Signed Out" +#~ msgstr "%(nickname)s 離開了" + +#~ msgid "Contact Signed Out" +#~ msgstr "聯絡人離開登入" + +#, fuzzy +#~ msgid "" +#~ "Show desktop notification even when a chat window is opened for this " +#~ "contact and does not have focus." +#~ msgstr "允許彈出提示,當我離開/無法使用/忙/隱身(_A)" + +#~ msgid "default" +#~ msgstr "預設" + +#, fuzzy +#~ msgid "" +#~ "Character to propose to add after desired nickname when nickname is " +#~ "already used in group chat." +#~ msgstr "當請求的暱稱被聊天室中的其他人使用時加到請求的暱稱後的字元。" + +#, fuzzy +#~ msgid "" +#~ "How many seconds to wait before trying to automatically rejoin a group " +#~ "chat you were disconnected from. Set to 0 to disable automatic rejoining." +#~ msgstr "" +#~ "自動重新加入一個中斷的聊天室前等待多少秒。設為 0 以停用自動重新加入。" + +#, fuzzy +#~ msgid "If enabled, Gajim displays the avatar in the chat window." +#~ msgstr "如果為假,您將不會在視窗中看到頭像。" + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will show affiliation of group chat participants by " +#~ "adding a colored square to the status icon." +#~ msgstr "如果為真,Gajim 會在聊天室室友的狀態圖示上加上一個彩色方框以示歸屬" + +#, fuzzy +#~ msgid "" +#~ "Status to be used automatically when connecting. Can be 'online', 'chat', " +#~ "'away', 'xa' or 'dnd'. NOTE: This option is used only if " +#~ "'restore_last_status' is disabled." +#~ msgstr "" +#~ "自動連線時使用的狀態。可以是\"線上\",\"聊天\",\"離開\",\"離開很久了" +#~ "\",\"請勿\n" +#~ "打擾\",\"隱身\"。注意: 僅當 restore_last_status 被停用時這個選項其作用" + +#, fuzzy +#~ msgid "" +#~ "Show a warning dialog before sending password on an plaintext connection. " +#~ "Can be 'warn', or 'none'." +#~ msgstr "在使用明文連線傳送密碼前顯示一個警告對話方塊。" + +#, fuzzy +#~ msgid "" +#~ "How many seconds to wait for the answer of a ping alive packet before " +#~ "trying to reconnect." +#~ msgstr "在重新連線前等待 ping alive packet 的回應多少秒" + +#~ msgid "I'm available." +#~ msgstr "我現在線上。" + +#~ msgid "I'm free for chat." +#~ msgstr "和我聊天吧" + +#~ msgid "Be right back." +#~ msgstr "很快回來。" + +#~ msgid "I'm not available." +#~ msgstr "我已經很久不在了。" + +#~ msgid "Do not disturb." +#~ msgstr "請勿打擾。" + +#~ msgid "Bye!" +#~ msgstr "再見!" + +#~ msgid "Timeout loading image" +#~ msgstr "讀取檔案逾時" + +#~ msgid "Image is too big" +#~ msgstr "圖片太大" + +#, fuzzy +#~ msgid "PyCURL is not installed" +#~ msgstr "證書吊銷清單還未生效" + +#, fuzzy +#~ msgid "Error loading image" +#~ msgstr "讀取檔案逾時" + +#~ msgid "Blocked Contacts" +#~ msgstr "被阻斷的聯絡人" + +#, fuzzy +#~ msgid "Group chat" +#~ msgstr "多人聊天" + +#, fuzzy +#~ msgid "Bookmark group chat" +#~ msgstr "將本聊天室加入書籤(_B)" + +#, fuzzy +#~ msgid "Bookmark" +#~ msgstr "將本聊天室加入書籤(_B)" + +#, fuzzy +#~ msgid "Recently used group chats" +#~ msgstr "在多人聊天視窗中(_G)" + +#, fuzzy +#~ msgid "Clear Avatar" +#~ msgstr "側寫,頭像(V)" + +#, fuzzy +#~ msgid "Set Avatar…" +#~ msgstr "選擇歸檔檔案" + +#, fuzzy +#~ msgid "Contact" +#~ msgstr "聯絡人時間:" + +#, fuzzy +#~ msgid "_Leave Group Chat" +#~ msgstr "離開聊天室" + +#, fuzzy +#~ msgid "Enter a new name for this group chat" +#~ msgstr "為群組 %s 輸入新的名稱" + +#~ msgid "Use default applications" +#~ msgstr "使用預設的應用程式" + +#~ msgid "Custom" +#~ msgstr "自訂" + +#~ msgid "Pop it up" +#~ msgstr "彈出提示" + +#~ msgid "Notify me about it" +#~ msgstr "提醒我" + +#, fuzzy +#~ msgid "Show only in contact list" +#~ msgstr "只顯示活動的聯絡人(_A)" + +#, fuzzy +#~ msgid "No status messages" +#~ msgstr "狀態訊息" + +#, fuzzy +#~ msgid "All status messages" +#~ msgstr "狀態訊息" + +#, fuzzy +#~ msgid "Only enter/leave messages" +#~ msgstr "您有未讀訊息" + +#, fuzzy +#~ msgid "Me_rge accounts" +#~ msgstr "合併帳號(_G)" + +#, fuzzy +#~ msgid "Show a_vatars of contacts in contact list" +#~ msgstr "在聯絡人清單顯示中聯絡人的頭像(_V)" + +#, fuzzy +#~ msgid "" +#~ "If checked, avatars of contacts will be shown in the contact list window " +#~ "and in group chats" +#~ msgstr "" +#~ "如果選取,Gajim 會在聯絡人清單和多人聊天視窗中顯示聯絡人清單中的聯絡人細節" + +#, fuzzy +#~ msgid "Show status _messages of contacts in contact list" +#~ msgstr "在聯絡人清單中顯示聯絡人的狀態資訊(_M)" + +#, fuzzy +#~ msgid "" +#~ "If checked, status messages of contacts will be shown under the contact's " +#~ "name, in the contact list window, and in group chats" +#~ msgstr "" +#~ "如果選取,Gajim 會在聯絡人清單和多人聊天視窗中聯絡人名稱下方顯示聯絡人狀態" +#~ "訊息" + +#, fuzzy +#~ msgid "" +#~ "Show e_xtra information of contacts in contact list (mood, activity, ...)" +#~ msgstr "在聯絡人清單中顯示聯絡人的位置資訊(_L)" + +#, fuzzy +#~ msgid "in _contact list" +#~ msgstr "已傳送聯絡人:" + +#~ msgid "in _group chats" +#~ msgstr "在多人聊天視窗中(_G)" + +#, fuzzy +#~ msgid "Enable spell _checking" +#~ msgstr "拼寫檢查工具" + +#, fuzzy +#~ msgid "" +#~ "If checked, spelling errors in input fields of chat windows will be " +#~ "highlighted. If no language is explicitly set via right click on the " +#~ "input field, the default language will be used for this contact or group " +#~ "chat. Needs gspell to be installed." +#~ msgstr "" +#~ "如果選取,Gajim 會在聊天視窗中將編輯框中的拼寫錯誤高亮度顯示。如果沒有通\n" +#~ "過在編輯框點擊右鍵的方式明確設定語言,聯絡人或聊天室的預設語言將被\n" +#~ "使用。" + +#, fuzzy +#~ msgid "Display status messages in _single chats" +#~ msgstr "在聯絡人清單中顯示聯絡人的狀態資訊(_M)" + +#, fuzzy +#~ msgid "" +#~ "If checked, status lines will be shown in 1 on 1 chats when a contact " +#~ "changes their status or status message" +#~ msgstr "" +#~ "如果為假,Gajim 將不會在聯絡人的狀態或狀態訊息變化時在聊天視窗中顯示一列提" +#~ "示。" + +#, fuzzy +#~ msgid "Show subject after _joining a group chat" +#~ msgstr "無法加入聊天室" + +#, fuzzy +#~ msgid "If checked, the subject will be shown when joining a group chat" +#~ msgstr "無法加入聊天室" + +#, fuzzy +#~ msgid "Show status changes (Default)" +#~ msgstr "記錄聯絡人狀態變化(_L)" + +#, fuzzy +#~ msgid "" +#~ "If checked, the tab will be colored according to the current chatstate of " +#~ "the contact" +#~ msgstr "如果選取,Gajim 會允許他人偵測到您所使用的作業系統" + +#, fuzzy +#~ msgid "" +#~ "If checked, a description of the contacts current chatstate is shown in " +#~ "the banner" +#~ msgstr "如果選取,Gajim 會允許他人偵測到您所使用的作業系統" + +#, fuzzy +#~ msgid "Chatstate" +#~ msgstr "最後狀態" + +#, fuzzy +#~ msgid "_When new event is received" +#~ msgstr "當收到新的事件:" + +#, fuzzy +#~ msgid "Show popups/notifications when a chat window is already _open" +#~ msgstr "允許彈出提示,當我離開/無法使用/忙/隱身(_A)" + +#, fuzzy +#~ msgid "Allow popups/notifications when I'm _away, not available or busy" +#~ msgstr "允許彈出提示,當我離開/無法使用/忙/隱身(_A)" + +#~ msgid "Notify me about contacts that sign _in" +#~ msgstr "提醒我聯絡人登入(_I)" + +#~ msgid "Notify me about contacts that sign _out" +#~ msgstr "提醒我聯絡人登出(_O)" + +#~ msgid "Play _sounds" +#~ msgstr "播放聲音(_S)" + +#~ msgid "Ma_nage..." +#~ msgstr "管理(_N)…" + +#, fuzzy +#~ msgid "Allow playing sounds when I'm _busy" +#~ msgstr "在我忙碌時允許播放聲音(_B)" + +#, fuzzy +#~ msgid "No_t Available" +#~ msgstr "離開很久了" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Not Available when the computer " +#~ "has not been used for the specified time" +#~ msgstr "如果選取,Gajim 會在電腦閒置更長時間後將您的狀態設定為離開很久了。" + +#, fuzzy +#~ msgid "" +#~ "If checked, the status will be changed to Away when the computer has not " +#~ "been used for the specified time" +#~ msgstr "如果選取,Gajim 會在電腦閒置更長時間後將您的狀態設定為離開很久了。" + +#, fuzzy +#~ msgid "" +#~ "The automatic away status message. If empty, the current status message " +#~ "will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-away timeout." +#~ msgstr "" +#~ "離開狀態的自動訊息。如果為空,Gajim 不會變更目前的狀態訊息\n" +#~ "$S會被上個狀態訊息替換\n" +#~ "$T會被自動離開的逾時時間替換" + +#, fuzzy +#~ msgid "" +#~ "The automatic not available status message. If empty, the current status " +#~ "message will not be changed.\n" +#~ "$S will be replaced by previous status message.\n" +#~ "$T will be replaced by auto-not-available timeout." +#~ msgstr "" +#~ "離開很久的自動訊息。如果為空,Gajim 不會變更目前的狀態訊息\n" +#~ "$S會被上個狀態訊息替換\n" +#~ "$T會被自動無法使用的逾時時間替換" + +#, fuzzy +#~ msgid "Minutes" +#~ msgstr "分鐘" + +#~ msgid "" +#~ "If enabled, Gajim will not ask for a status message. The specified " +#~ "default message will be used instead." +#~ msgstr "如果選取,Gajim 不會詢問狀態訊息,而使用特定的預設訊息。" + +#~ msgid "Default Message" +#~ msgstr "預設訊息" + +#, fuzzy +#~ msgid "Status Messages" +#~ msgstr "狀態訊息" + +#, fuzzy +#~ msgid "Preset Status Messages" +#~ msgstr "預設狀態訊息" + +#, fuzzy +#~ msgid "_Theme" +#~ msgstr "主題" + +#~ msgid "Configure color and font of the interface" +#~ msgstr "配置介面顏色與字型" + +#, fuzzy +#~ msgid "" +#~ "If checked, protocol-specific status icons will be used (e.g. a contact " +#~ "from ICQ will have the equivalent ICQ icon for status online, away, busy, " +#~ "etc...)" +#~ msgstr "" +#~ "如果選取,Gajim 會以協定特定的方式顯示狀態圖示。(例如,MSN 聯絡人會以同\n" +#~ "MSN 相同的圖示顯示線上,離開,忙,等等狀態…)" + +#, fuzzy +#~ msgid "Video output" +#~ msgstr "視訊輸出" + +#, fuzzy +#~ msgid "Video si_ze" +#~ msgstr "視訊尺寸" + +#, fuzzy +#~ msgid "" +#~ "STUN server hostname. If no hostname was given, Gajim will try\n" +#~ "to discover one from the server. (Example: stun.iptel.org)" +#~ msgstr "" +#~ "STUN 伺服器的主機名稱。如果沒有給出,Gajim 會嘗試從伺服器上發現一個。" + +#~ msgid "_Manage..." +#~ msgstr "管理…" + +#, fuzzy +#~ msgid "_Store status changes of contacts in history" +#~ msgstr "記錄聯絡人狀態變化(_L)" + +#, fuzzy +#~ msgid "If checked, Gajim will store a log file for debugging" +#~ msgstr "如果選取,Gajim 會記錄本帳號的密碼" + +#~ msgid "_Open..." +#~ msgstr "開啟(_O)…" + +#, fuzzy +#~ msgid "_Filter" +#~ msgstr "過濾器:" + +#, fuzzy +#~ msgid "Protocol" +#~ msgstr "協定(_P):" + +#~ msgid "Privacy Lists:" +#~ msgstr "隱私策略清單:" + +#, fuzzy +#~ msgid "_Ignore this error for this certificate" +#~ msgstr "忽略這個證書的這個錯誤。" + +#, fuzzy +#~ msgid "Message..." +#~ msgstr "訊息" + +#, fuzzy +#~ msgid "Preset _messages" +#~ msgstr "預設的訊息:" + +#, fuzzy +#~ msgid "_Type your new status message" +#~ msgstr "輸入新的狀態訊息" + +#, fuzzy +#~ msgid "Change Status Message…" +#~ msgstr "變更狀態訊息(_C)" + +#~ msgid "Mood:" +#~ msgstr "心情:" + +#~ msgid "Message:" +#~ msgstr "訊息:" + +#~ msgid "none" +#~ msgstr "none" + +#~ msgid "both" +#~ msgstr "both" + +#~ msgid "from" +#~ msgstr "from" + +#~ msgid "to" +#~ msgstr "to" + +#~ msgid "Privacy List" +#~ msgstr "隱私策略清單" + +#~ msgid "Privacy List" +#~ msgstr "隱私策略清單" + +#~ msgid "Active for this session" +#~ msgstr "為此作業階段啟用" + +#~ msgid "Active on each startup" +#~ msgstr "每次啟動時啟用" + +#~ msgid "List of rules" +#~ msgstr "規則清單" + +#~ msgid "Add / Edit a rule" +#~ msgstr "加入/編輯規則" + +#~ msgid "Allow" +#~ msgstr "允許" + +#~ msgid "Deny" +#~ msgstr "拒絕" + +#~ msgid "all in the group" +#~ msgstr "所有在群組中的" + +#~ msgid "all by subscription" +#~ msgstr "所有(除了認證)" + +#~ msgid "All" +#~ msgstr "全部" + +#~ msgid "to send me messages" +#~ msgstr "向我傳送訊息" + +#~ msgid "to send me queries" +#~ msgstr "向我傳送查詢" + +#~ msgid "to view my status" +#~ msgstr "檢視我的狀態" + +#~ msgid "to send me status" +#~ msgstr "向我傳送狀態" + +#~ msgid "All (including subscription)" +#~ msgstr "全部(包含認證)" + +#~ msgid "Order:" +#~ msgstr "Order:" + +#, fuzzy +#~ msgid "" +#~ "Deny authorization from contact so the contact cannot know if you are " +#~ "connected" +#~ msgstr "拒絕向聯絡人授權則他/她將無法知道您是否線上" + +#, fuzzy +#~ msgid "Authorize contact so the contact can know if you are connected" +#~ msgstr "向聯絡人授權則他/她將知道您是否線上" + +#, fuzzy +#~ msgid "Contact List Shortcuts" +#~ msgstr "聯絡人清單項交換" + +#~ msgid "Fill in the form." +#~ msgstr "請填寫表格。" + +#~ msgid "Set an activity" +#~ msgstr "設定活動" + +#~ msgid "Message: " +#~ msgstr "訊息:" + +#, fuzzy, python-format +#~ msgid "Invited %(jid)s to %(room_jid)s" +#~ msgstr "傳送 %s 給 %s" + +#, fuzzy +#~ msgid "Group Chat Invitation " +#~ msgstr "多人聊天邀請" + +#, python-format +#~ msgid "Comment: %s" +#~ msgstr "註釋: %s" + +#, fuzzy +#~ msgid "Off" +#~ msgstr "離線" + +#, fuzzy +#~ msgid "Retrieving profile…" +#~ msgstr "正在獲取側寫…" + +#~ msgid "Wrong date format" +#~ msgstr "錯誤的資料格式" + +#~ msgid "Format of the date must be YYYY-MM-DD" +#~ msgstr "日期的格式必須是 YYYY-MM-DD" + +#~ msgid "Information received" +#~ msgstr "資訊已收到" + +#, fuzzy +#~ msgid "Without a connection, you can not publish your contact information." +#~ msgstr "沒有連線的情況下您無法發布您的聯絡人資訊。" + +#, fuzzy +#~ msgid "Sending profile…" +#~ msgstr "傳送側寫…" + +#~ msgid "Information NOT published" +#~ msgstr "資訊沒有發布" + +#~ msgid "vCard publication failed" +#~ msgstr "vCard 發布失敗" + +#~ msgid "" +#~ "There was an error while publishing your personal information, try again " +#~ "later." +#~ msgstr "發布您的個人資訊時發生錯誤,請稍後重試。" + +#, fuzzy +#~ msgid "?password:Hidden" +#~ msgstr "密碼:" + +#, python-format +#~ msgid "Privacy List %s" +#~ msgstr "隱私策略清單 %s" + +#, python-format +#~ msgid "Privacy List for %s" +#~ msgstr "%s 的隱私策略清單" + +#, python-format +#~ msgid "" +#~ "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" +#~ msgstr "順序: %(order)s,動作: %(action)s,類型: %(type)s,值: %(value)s" + +#, python-format +#~ msgid "Order: %(order)s, action: %(action)s" +#~ msgstr "順序: %(order)s,動作: %(action)s" + +#~ msgid "Edit a rule" +#~ msgstr "編輯規則" + +#~ msgid "Add a rule" +#~ msgstr "加入規則" + +#, python-format +#~ msgid "Privacy Lists for %s" +#~ msgstr "%s 的隱私策略清單" + +#~ msgid "Invalid List Name" +#~ msgstr "不合法的清單名稱" + +#~ msgid "You must enter a name to create a privacy list." +#~ msgstr "您必須輸入一個名稱以建立一個隱私策略清單。" + +#~ msgid "Loading" +#~ msgstr "載入" + +#~ msgid "status message title" +#~ msgstr "狀態訊息標題" + +#~ msgid "status message text" +#~ msgstr "狀態訊息文字" + +#, fuzzy +#~ msgid "Start New Conversation" +#~ msgstr "繼續對話" + +#~ msgid "Unknown SSL error: %d" +#~ msgstr "不明的 SSL 錯誤: %d" + +#~ msgid "Gajim - %s" +#~ msgstr "Gajim - %s" + +#~ msgid "Choose interval between 2 checks of idleness." +#~ msgstr "兩次檢查閒置之間的時間間隔。" + +#, fuzzy +#~ msgid "Dictionary for language \"%s\" not available" +#~ msgstr "語言 %s 的詞典無法使用" + +#, fuzzy +#~ msgid "" +#~ "You have to install the dictionary \"%s\" to use spellchecking, or choose " +#~ "another language by setting the speller_language option.\n" +#~ "\n" +#~ "Highlighting misspelled words feature will not be used" +#~ msgstr "" +#~ "您必須安裝 %s 詞典才能使用拼寫檢查,或是在拼寫檢查語言選項中設定另一種語" +#~ "言。\n" +#~ "高亮度拼寫錯誤的特性不會被啟用。" + +#~ msgid "_Reconnect" +#~ msgstr "重新連線(_R)" + +#, fuzzy +#~ msgid "Show Contact List" +#~ msgstr "只顯示活動的聯絡人(_A)" + +#, fuzzy +#~ msgid "Add to Contact List" +#~ msgstr "加入聯絡人(_A)…" + +#, fuzzy +#~ msgid "Invite Contact" +#~ msgstr "邀請聯絡人(_C)" + +#, fuzzy +#~ msgid "Configure Group Chat" +#~ msgstr "離開聊天室" + +#, fuzzy +#~ msgid "" +#~ "If enabled, Gajim will display an icon on each tab containing unread " +#~ "messages. Depending on the theme, this icon may be animated." +#~ msgstr "" +#~ "如果為真, Gajim 會在每個含有未讀訊息的標籤上顯示一個圖示。根據主題,該圖" +#~ "示可能是動態的。" + +#, fuzzy +#~ msgid "Server must be between 1 and 1023 bytes" +#~ msgstr "伺服器名稱必須在 1 到 1023 個字元之間" + +#~ msgid "Invalid character in hostname." +#~ msgstr "主機名稱中有無效的字元。" + +#~ msgid "Server address required." +#~ msgstr "伺服器的位址是必須的。" + +#, fuzzy +#~ msgid "Username must be between 1 and 1023 bytes" +#~ msgstr "使用者名稱必須在 1 到 1023 個字元之間" + +#~ msgid "Invalid character in username." +#~ msgstr "在使用者名稱中有無效的字元。" + +#, fuzzy +#~ msgid "Resource must be between 1 and 1023 bytes" +#~ msgstr "資源必須在 1 到 1023 個字元之間" + +#~ msgid "Invalid character in resource." +#~ msgstr "資源中含有無效字元。" + +#, fuzzy +#~ msgid "Notification color for contacts signing in." +#~ msgstr "提醒我聯絡人登入(_I)" + +#, fuzzy +#~ msgid "Notification color for contacts signing out." +#~ msgstr "提醒我聯絡人登出(_O)" + +#, fuzzy +#~ msgid "Notification color for new message notification." +#~ msgstr "在彈出提示中預覽訊息?" + +#, fuzzy +#~ msgid "Notification color for file transfer request." +#~ msgstr "檔案傳輸完成時提醒我(_N)" + +#, fuzzy +#~ msgid "Notification color for file transfer errors." +#~ msgstr "檔案傳輸完成時提醒我(_N)" + +#, fuzzy +#~ msgid "Notification background color for changed status." +#~ msgstr "當聯絡人剛剛登入時的背景色。" + +#~ msgid "Event Type" +#~ msgstr "事件類型" + +#~ msgid "Event desc" +#~ msgstr "事件" + +#, fuzzy +#~ msgid "No response from the Server" +#~ msgstr "尚未連線到伺服器" + +#~ msgid "Resource Conflict" +#~ msgstr "資源衝突" + +#, fuzzy +#~ msgid "" +#~ "You are already connected to this account with the same resource. Please " +#~ "enter a different one." +#~ msgstr "您已經用同一個資源連線到這個帳號了。請輸入一個新的資源" + +#~ msgid "Unable to load image" +#~ msgstr "無法載入圖像" + +#~ msgid "Media type not supported: %s" +#~ msgstr "不支援的媒體類型: %s" + +#~ msgid "This field is required" +#~ msgstr "此一項是必須的" + +#~ msgid "new@jabber.id" +#~ msgstr "new@jabber.id" + +#~ msgid "new%d@jabber.id" +#~ msgstr "new%d@jabber.id" + +#~ msgid "video output" +#~ msgstr "視訊輸出" + +#~ msgid "Gajim: Account Creation Wizard" +#~ msgstr "Gajim: 帳號建立精靈" + +#, fuzzy +#~ msgid "" +#~ "You need to have an account in order to connect\n" +#~ "to the XMPP network." +#~ msgstr "" +#~ "您必須擁有一個帳號以連線\n" +#~ "Jabber 網路" + +#~ msgid "I already have an account I want to _use" +#~ msgstr "我已經有想要使用的帳號了(_U)" + +#~ msgid "I want to _register for a new account" +#~ msgstr "我想註冊一個新帳號(_R)" + +#~ msgid "Please choose one of the options below:" +#~ msgstr "請選擇一個選項:" + +#~ msgid "Please fill in the data for your existing account" +#~ msgstr "請填寫您現有帳號的資訊" + +#, fuzzy +#~ msgid "_XMPP Address:" +#~ msgstr "AIM 位址:" + +#~ msgid "Anon_ymous authentication" +#~ msgstr "匿名認證(_Y)" + +#~ msgid "_Password:" +#~ msgstr "密碼(_P):" + +#~ msgid "Save pass_word" +#~ msgstr "儲存密碼(_W)" + +#~ msgid "If checked, Gajim will remember the password for this account" +#~ msgstr "如果選取,Gajim 會記錄本帳號的密碼" + +#~ msgid "Please select a server" +#~ msgstr "請選擇一個伺服器" + +#~ msgid "_Server:" +#~ msgstr "伺服器(_S):" + +#~ msgid "Manage..." +#~ msgstr "管理…" + +#~ msgid "_Port:" +#~ msgstr "連接埠(_P):" + +#~ msgid "_Advanced" +#~ msgstr "進階(_A)" + +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA1 fingerprint of the certificate:\n" +#~ msgstr "" +#~ "將這個證書加入到可信任證書清單。\n" +#~ "這個證書的 SHA1 指紋資訊: \n" + +#~ msgid "" +#~ "Connecting to server\n" +#~ "\n" +#~ "Please wait..." +#~ msgstr "" +#~ "正在連線伺服器\n" +#~ "\n" +#~ "請等待…" + +#~ msgid "Connect when I press Finish" +#~ msgstr "當我點擊\"結束\"時連線" + +#~ msgid "Set my profile when I connect" +#~ msgstr "連線後設定我的側寫" + +#~ msgid "_Finish" +#~ msgstr "完成(_F)" + +#~ msgid "" +#~ "You can set advanced account options by pressing the Advanced button, or " +#~ "later by choosing the Accounts menu item under the Edit menu from the " +#~ "main window." +#~ msgstr "" +#~ "您可以點擊\"進階\"按鈕以設定進階帳號選項,或稍後選擇主視窗\"編輯\"選單下" +#~ "\"帳號\"選單項。" + +#~ msgid "Your new account has been created successfully" +#~ msgstr "註冊新帳號成功" + +#~ msgid "Invalid username" +#~ msgstr "無效使用者名稱" + +#~ msgid "You must provide a username to configure this account." +#~ msgstr "必須提供使用者名稱來配置此帳號。" + +#~ msgid "Invalid server" +#~ msgstr "無效的伺服器" + +#~ msgid "Please provide a server on which you want to register." +#~ msgstr "請指定一個伺服器。您將註冊到這個伺服器。" + +#~ msgid "Invalid entry" +#~ msgstr "無效輸入" + +#~ msgid "Certificate Already in File" +#~ msgstr "證書已經在檔案中" + +#~ msgid "This certificate is already in file %s, so it's not added again." +#~ msgstr "證書已經在檔案 %s 中,所以它沒有被再次加入。" + +#~ msgid "" +#~ "Security Warning\n" +#~ "\n" +#~ "The authenticity of the %(hostname)s SSL certificate could be invalid.\n" +#~ "SSL Error: %(error)s\n" +#~ "Do you still want to connect to this server?" +#~ msgstr "" +#~ "安全性警告\n" +#~ "\n" +#~ "%(hostname)s 的 SSL 證書的權限不能被驗證。\n" +#~ "SSL 錯誤: %(error)s\n" +#~ "您仍然想要連線到這個伺服器嗎?" + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA-256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "將這個證書加入到可信任證書清單。\n" +#~ "這個證書的 SHA1 指紋資訊: \n" +#~ "%s" + +#~ msgid "Account name is in use" +#~ msgstr "帳號名稱已經被使用" + +#~ msgid "You already have an account using this name." +#~ msgstr "您已經有帳號使用這個名稱了。" + +#~ msgid "Show a warning dialog before using standard SSL library." +#~ msgstr "在使用標準 SSL 函式庫前顯示一個警告對話方塊。" + +#, fuzzy +#~ msgid "If enabled, a whitespace is sent after inactivity (keep alive)." +#~ msgstr "在不活動後傳送的空白" + +#, fuzzy +#~ msgid "If enabled, an XMPP ping is sent after inactivity (ping alive)." +#~ msgstr "在不活動後傳送的 XMPP ping" + +#~ msgid "Connection with account \"%s\" has been lost" +#~ msgstr "帳號\"%s\"的連線丟失" + +#~ msgid "Reconnect manually." +#~ msgstr "手動重連。" + +#~ msgid "Server %(name)s answered wrongly to register request: %(error)s" +#~ msgstr "伺服器 %(name)s 對註冊請求的回應有誤: %(error)s" + +#~ msgid "Server %s provided a different registration form" +#~ msgstr "伺服器 %s 提供了一個不同的註冊表單" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\" via proxy \"%(proxy)s\"" +#~ msgstr "沒有能夠連線到\"%s\"" + +#, fuzzy +#~ msgid "Could not connect to \"%(host)s\"" +#~ msgstr "沒有能夠連線到\"%s\"" + +#~ msgid "Check your connection or try again later." +#~ msgstr "檢查連線或稍後重試。" + +#~ msgid "Server replied: %s" +#~ msgstr "伺服器回應: %s" + +#~ msgid "Connection to proxy failed" +#~ msgstr "連線代理伺服器失敗" + +#~ msgid "Could not connect to account %s" +#~ msgstr "沒有能夠連線到帳號 %s" + +#~ msgid "Connection with account %s has been lost. Retry connecting." +#~ msgstr "帳號 %s 的連線丟失。重新嘗試連線。" + +#~ msgid "Please check your login and password for correctness." +#~ msgstr "請檢查登入資訊和密碼的正確性" + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "HTTP Connect" +#~ msgstr "HTTP 連線" + +#, fuzzy +#~ msgctxt "proxy configuration" +#~ msgid "BOSH" +#~ msgstr "BOSH" + +#~ msgid "Use HTTP prox_y" +#~ msgstr "使用 HTTP 代理(_Y)" + +#, fuzzy +#~ msgid "_BOSH URL" +#~ msgstr "_BOSH URL:" + +#, fuzzy +#~ msgid "BOSH" +#~ msgstr "BOSH" + +#, fuzzy +#~ msgid "Warn on insecure connection" +#~ msgstr "在使用不安全的連線之前警告(_W)" + +#, fuzzy +#~ msgid "Contact list, list of contacts" +#~ msgstr "記錄聯絡人狀態變化(_L)" + +#~ msgid "You are participating in one or more group chats" +#~ msgstr "您正在參與一個或多個多人聊天" + +#, fuzzy +#~ msgid "" +#~ "Changing your status to invisible will result in you leaving those group " +#~ "chats.\n" +#~ "Are you sure you want to go invisible?" +#~ msgstr "隱身將使您從這些聊天室插斷開。確定要隱身?" + +#~ msgid "_Disconnect" +#~ msgstr "中斷連線(_D)" + +#~ msgid "You cannot join a group chat while you are invisible" +#~ msgstr "隱身時無法加入聊天室" + +#~ msgid "Invisible" +#~ msgstr "隱身" + +#, fuzzy +#~ msgid "You cannot join a group chat while being invisible." +#~ msgstr "隱身時無法加入聊天室" + +#~ msgid "_Invisible" +#~ msgstr "隱身(_I)" + +#~ msgid "Yesterday" +#~ msgid_plural "%(nb_days)i days ago" +#~ msgstr[0] "%(nb_days)i天前" + +#, fuzzy +#~ msgid "_Cancel Upload" +#~ msgstr "取消(_C)" + +#~ msgid " [blocked]" +#~ msgstr "[已阻斷]" + +#~ msgid " [minimized]" +#~ msgstr "[最小化的]" + +#, fuzzy +#~ msgid "" +#~ "If you close this tab while having chat history disabled, this message " +#~ "will be lost." +#~ msgstr "如果您關閉此標籤並且停用了命令歷程,此訊息會丟失。" + +#, fuzzy +#~ msgid "Unregister Failed" +#~ msgstr "移除註冊失敗" + +#, fuzzy +#~ msgid "Unregistration on server %(server)s failed: %(error)s" +#~ msgstr "在伺服器上 %(server)s 移除註冊失敗: %(error)s" + +#, fuzzy +#~ msgid "New Password" +#~ msgstr "儲存密碼" + +#~ msgid "What do you want to do?" +#~ msgstr "想做什麼?" + +#~ msgid "Remove account from Gajim and from _server" +#~ msgstr "同時從 Gajim 和伺服器移除帳號(_S)" + +#, fuzzy +#~ msgid "You must enter a password" +#~ msgstr "您必須輸入密碼" + +#, fuzzy +#~ msgid "You still have open chats in your account %s" +#~ msgstr "您已在帳號 %s 開啟聊天" + +#, fuzzy +#~ msgid "To unregister from a server, the account must be enabled." +#~ msgstr "要從伺服器移除註冊,帳號必須被啟用。" + +#, fuzzy +#~ msgid "Password required" +#~ msgstr "需要密碼" + +#, fuzzy +#~ msgid "Still connected to the server" +#~ msgstr "尚未連線到伺服器" + +#, fuzzy +#~ msgid "" +#~ "Account '%s' is still connected to the server. If you remove it, the " +#~ "connection will be lost." +#~ msgstr "如果移除,將會丟失連線" + +#~ msgid "Connection to server %s failed" +#~ msgstr "連線伺服器 %s 失敗" + +#~ msgid "What would you like to do?" +#~ msgstr "您想做什麼?" + +#~ msgid "Remove only from Gajim" +#~ msgstr "僅從 Gajim 移除帳號" + +#~ msgid "Don't remove anything. I'll try again later" +#~ msgstr "不要移除任何東西。我過一會兒會重試一下" + +#, fuzzy +#~ msgid "Contents" +#~ msgstr "內容(_C)" + +#, fuzzy +#~ msgid "FAQ" +#~ msgstr "常見問題(_A)" + +#~ msgid "Save as Preset Status Message" +#~ msgstr "另存為預設狀態訊息" + +#~ msgid "Enter a new nickname for contact %s" +#~ msgstr "為聯絡人 %s 輸入新的暱稱" + +#, fuzzy +#~ msgid "Join a group chat" +#~ msgstr "在多人聊天視窗中(_G)" + +#, fuzzy +#~ msgid "Accept" +#~ msgstr "帳號(_A)" + +#~ msgid "New entry received" +#~ msgstr "New entry received" + +#~ msgid "You have received new entry:" +#~ msgstr "You have received new entry:" + +#~ msgid "Feed name:" +#~ msgstr "Feed name:" + +#~ msgid "Last modified:" +#~ msgstr "Last modified:" + +#, fuzzy +#~ msgid "Send file?" +#~ msgstr "傳送檔案(_F)" + +#, fuzzy +#~ msgid "Mail _client" +#~ msgstr "郵件客戶端(_M):" + +#, fuzzy +#~ msgid "_Browser" +#~ msgstr "瀏覽器(_B):" + +#, fuzzy +#~ msgid "_File manager" +#~ msgstr "檔案管理器:(_F)" + +#, fuzzy +#~ msgid "Custom applications" +#~ msgstr "使用預設的應用程式" + +#, fuzzy +#~ msgid "Applications" +#~ msgstr "應用程式" + +#, fuzzy +#~ msgid "" +#~ "Uses ReStructured text markup to send HTML, plus ASCII formatting if " +#~ "selected. Needs docutils installed (for syntax, see http://docutils." +#~ "sourceforge.net/docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "使用重構的文字標記傳送 HTML,並加入 ASCII 格式控制(如果選取)。語法請參\n" +#~ "考http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html (如" +#~ "果\n" +#~ "您想使用此功能,請安裝 docutils)" + +#, fuzzy +#~ msgid "Store XHTML messages in chat history instead of plain text messages." +#~ msgstr "記錄 XHTML 訊息以代替純文字訊息。" + +#, fuzzy +#~ msgid "_Ignore formatting of incoming messages" +#~ msgstr "忽略收到的訊息中的富文字內容(_I)" + +#, fuzzy +#~ msgid "" +#~ "Some messages may include rich content (xhtml formatting, colors etc). If " +#~ "checked, Gajim will just display the plain message text." +#~ msgstr "" +#~ "一些訊息會包含豐富的內容(例如格式,顏色等)。如果選取,Gajim 將顯示原本的訊" +#~ "息內容。" + +#, fuzzy +#~ msgid "RST XHTML Generator" +#~ msgstr "RST 產生器" + +#, fuzzy +#~ msgid "Requires: python-docutils" +#~ msgstr "需要 python-docutils。" + +#~ msgid "New Single Message" +#~ msgstr "新單條訊息" + +#, fuzzy +#~ msgid "" +#~ "Can be empty, 'chat' or 'normal'. If not empty, all incoming messages are " +#~ "treated as if they were of this type." +#~ msgstr "" +#~ "可以是空字串,'chat'或'normal'。如果不為空,將把所有收到的訊息當作這個類" +#~ "型。" + +#~ msgid "Error %(code)s: %(msg)s" +#~ msgstr "錯誤 %(code)s: %(msg)s" + +#~ msgid "twelve" +#~ msgstr "十二" + +#~ msgid "one" +#~ msgstr "一" + +#~ msgid "two" +#~ msgstr "二" + +#~ msgid "three" +#~ msgstr "三" + +#~ msgid "four" +#~ msgstr "四" + +#~ msgid "five" +#~ msgstr "五" + +#~ msgid "six" +#~ msgstr "六" + +#~ msgid "seven" +#~ msgstr "七" + +#~ msgid "eight" +#~ msgstr "八" + +#~ msgid "nine" +#~ msgstr "九" + +#~ msgid "ten" +#~ msgstr "十" + +#~ msgid "eleven" +#~ msgstr "十一" + +#~ msgid "%(0)s o'clock" +#~ msgstr "%(0)s點" + +#~ msgid "five past %(0)s" +#~ msgstr "%(0)s點5分" + +#~ msgid "ten past %(0)s" +#~ msgstr "%(0)s點10分" + +#~ msgid "quarter past %(0)s" +#~ msgstr "%(0)s點15分" + +#~ msgid "twenty past %(0)s" +#~ msgstr "%(0)s點20分" + +#~ msgid "twenty five past %(0)s" +#~ msgstr "%(0)s點25分" + +#~ msgid "half past %(0)s" +#~ msgstr "%(0)s點半" + +#~ msgid "twenty five to %(1)s" +#~ msgstr "差25分%(1)s點" + +#~ msgid "twenty to %(1)s" +#~ msgstr "差20分%(1)s點" + +#~ msgid "quarter to %(1)s" +#~ msgstr "差15分%(1)s點" + +#~ msgid "ten to %(1)s" +#~ msgstr "差10分%(1)s點" + +#~ msgid "five to %(1)s" +#~ msgstr "差5分%(1)s點" + +#~ msgid "%(1)s o'clock" +#~ msgstr "%(1)s點" + +#~ msgid "Night" +#~ msgstr "夜晚" + +#~ msgid "Early morning" +#~ msgstr "清晨" + +#~ msgid "Morning" +#~ msgstr "上午" + +#~ msgid "Almost noon" +#~ msgstr "將近中午" + +#~ msgid "Noon" +#~ msgstr "中午" + +#~ msgid "Afternoon" +#~ msgstr "下午" + +#~ msgid "Evening" +#~ msgstr "傍晚" + +#~ msgid "Late evening" +#~ msgstr "晚上" + +#~ msgid "Start of week" +#~ msgstr "一周開始" + +#~ msgid "Middle of week" +#~ msgstr "一周中" + +#~ msgid "End of week" +#~ msgstr "一週末" + +#~ msgid "Weekend!" +#~ msgstr "週末" + +#, fuzzy +#~ msgid "" +#~ "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or " +#~ "0 to disable Fuzzy Clock. 1 is the most precise clock, 4 the least " +#~ "precise one. This is used only if 'print_time' is 'sometimes'." +#~ msgstr "" +#~ "使用模糊時鐘列印時間。模糊度的值從 1 到 4,或是 0 停用模糊時鐘。1 是最精確" +#~ "的時鐘,4 是最不精確的。只在'有時'顯示時間時使用。" + +#~ msgid "message" +#~ msgstr "message" + +#, fuzzy +#~ msgid "error: %s" +#~ msgstr "錯誤: %s" + +#, fuzzy +#~ msgid "Form: %s" +#~ msgstr "來自 %s" + +#, fuzzy +#~ msgid "XML Input" +#~ msgstr "XML 輸入" + +#, fuzzy +#~ msgid "Ttitle" +#~ msgstr "標題(_T):" + +#, fuzzy +#~ msgid "%(type)s encryption is active %(authenticated)s" +#~ msgstr "" +#~ "%(type)s 加密 %(status)s 活動 %(authenticated)s。\n" +#~ "您的聊天作業階段 %(logged)s 將被記錄。" + +#, fuzzy +#~ msgid "Screen" +#~ msgstr "綠色" + +#, fuzzy +#~ msgid "Fake video output" +#~ msgstr "視訊輸出" + +#~ msgid "X Window System (X11/XShm/Xv): %s" +#~ msgstr "X 視窗系統 (X11/XShm/Xv): %s" + +#~ msgid "X Window System (without Xv)" +#~ msgstr "X 視窗系統 (沒有Xv)" + +#, fuzzy +#~ msgid "V_ideo output device" +#~ msgstr "視訊輸出裝置" + +#~ msgid "Conversation with " +#~ msgstr "對話,與" + +#~ msgid "Continued conversation" +#~ msgstr "繼續對話" + +#, fuzzy +#~ msgid "%s has invited you to join a discussion" +#~ msgstr "$Contact 邀請您加入一個聊天室" + +#~ msgid "_Send Private Message" +#~ msgstr "傳送私人聊天訊息(_S)" + +#, fuzzy +#~ msgid "Participant Actions" +#~ msgstr "參與者" + +#~ msgid "_Voice" +#~ msgstr "語音(_V)" + +#~ msgid "Mo_derator" +#~ msgstr "仲裁人(_D)" + +#~ msgid "_Member" +#~ msgstr "成員(_M)" + +#~ msgid "_Admin" +#~ msgstr "管理(_A)" + +#~ msgid "_Owner" +#~ msgstr "所有人(_O)" + +#, fuzzy +#~ msgid "_Add to Contact List" +#~ msgstr "加入聯絡人(_A)…" + +#, fuzzy +#~ msgid "_Execute command" +#~ msgstr "執行命令(_E)…" + +#~ msgid "Change _Nickname..." +#~ msgstr "變更暱稱(_N)…" + +#, fuzzy +#~ msgid "_Manage Group Chat" +#~ msgstr "新聊天室(_N)" + +#~ msgid "Change _Subject..." +#~ msgstr "變更主題(_S)…" + +#, fuzzy +#~ msgid "Configure _Group Chat..." +#~ msgstr "加入聊天室(_G)…" + +#, fuzzy +#~ msgid "_Destroy Group Chat" +#~ msgstr "新聊天室(_N)" + +#~ msgid "_Minimize on close" +#~ msgstr "關閉時最小化視窗" + +#~ msgid "_Request Voice" +#~ msgstr "要求語音(_R)" + +#~ msgid "_Bookmark" +#~ msgstr "將本聊天室加入書籤(_B)" + +#, fuzzy +#~ msgid "The authenticity of the %s certificate could be invalid" +#~ msgstr "%s 證書的認證可能是無效的" + +#~ msgid "" +#~ "\n" +#~ "Unknown SSL error: %d" +#~ msgstr "" +#~ "\n" +#~ "不明 SSL 錯誤: %d" + +#~ msgid "" +#~ "\n" +#~ "SSL Error: %s" +#~ msgstr "" +#~ "\n" +#~ "SSL 錯誤: %s" + +#~ msgid "Error verifying SSL certificate" +#~ msgstr "驗證 SSL 證書發生錯誤" + +#, fuzzy +#~ msgid "View certificate…" +#~ msgstr "檢視憑證…" + +#, fuzzy +#~ msgid "Continue" +#~ msgstr "繼續(_C)" + +#~ msgid "" +#~ "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM " +#~ "IS RUNNING)" +#~ msgstr "您確定要清除資料庫?(強烈建議 GAJIM 執行時不要進行此作業)" + +#, fuzzy +#~ msgid "Authorization" +#~ msgstr "授權傳送成功" + +#, fuzzy +#~ msgid "" +#~ "All chat and group chat windows will be closed. Do you want to continue?" +#~ msgstr "所有的聊天和多人聊天視窗將會關閉。您想繼續嗎?" + +#, fuzzy +#~ msgid "Account '%s' is still connected to the server" +#~ msgstr "帳號 \"%s\" 已連線到伺服器" + +#, fuzzy +#~ msgid "Error While Saving" +#~ msgstr "加入服務錯誤。 %s" + +#, fuzzy +#~ msgid "" +#~ "Image cannot be saved in %(type)s format.\n" +#~ "Save as %(new_filename)s?" +#~ msgstr "圖片不能被另存為 %(type)s 格式。另存為 %(new_filename)s?" + +#, fuzzy +#~ msgid "Save _As" +#~ msgstr "儲存在: %s" + +#~ msgid "Yes, I really want to connect insecurely" +#~ msgstr "是的,我確實想要不安全地連線" + +#, fuzzy +#~ msgid "Invalid group chat XMPP Address" +#~ msgstr "無效的聊天室 Jabber ID" + +#, fuzzy +#~ msgid "The group chat XMPP Address has not allowed characters." +#~ msgstr "聊天室 Jabber ID 包含不合法字元。" + +#~ msgid "You may specify a reason below:" +#~ msgstr "您可以指定一個原因:" + +#~ msgid "Banning %s" +#~ msgstr "將封禁 %s" + +#, fuzzy +#~ msgid "" +#~ "Always ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "關閉這個空格分隔的清單中的聊天室的標籤/視窗前總是詢問。" + +#, fuzzy +#~ msgid "" +#~ "Never ask for confirmation before closing group chats with any of the " +#~ "XMPP Addresses on this list (space separated)." +#~ msgstr "關閉這個空格分隔的清單中的聊天室的標籤/視窗前永遠不詢問。" + +#, fuzzy +#~ msgid "Leave Group Chats" +#~ msgstr "離開聊天室" + +#~ msgid "%(nickname)s on %(room_jid)s" +#~ msgstr "聊天室 %(room_jid)s 的 %(nickname)s" + +#, fuzzy +#~ msgid "You have not joined a group chat." +#~ msgstr "您還沒有加入聊天室。" + +#, fuzzy +#~ msgid "You left the following group chats:" +#~ msgstr "您離開了下列聊天室:" + +#, fuzzy +#~ msgid "" +#~ "Should automatic rejoin be activated when you were kicked from a group " +#~ "chat?" +#~ msgstr "當我們從會議中被踢出時,是否應該啟用自動重新加入?" + +#~ msgid "Don't show avatar for the transport itself." +#~ msgstr "不顯示代理本身的頭像。" + +#, fuzzy +#~ msgid "" +#~ "Show a confirmation dialog for a custom status? Empty string means never " +#~ "show the dialog." +#~ msgstr "是否顯示確認傳送自訂狀態對話方塊?空字串意味著永遠不顯示對話方塊。" + +#, fuzzy +#~ msgid "" +#~ "If enabled, notification windows from notification-daemon will be " +#~ "attached to the notification area icon." +#~ msgstr "" +#~ "如果為真,由 notification-daemon 建立的提示視窗會依附於通知區域圖示。" + +#~ msgid "" +#~ "Show a warning dialog before sending PLAIN password over a plain " +#~ "connection." +#~ msgstr "在透過明文連線傳送明文密碼前顯示警告對話框。" + +#, fuzzy +#~ msgid "Jabberd2 workaround." +#~ msgstr "為 Jabberd2 變通" + +#, fuzzy +#~ msgid "Configure Services…" +#~ msgstr "配置服務…" + +#, fuzzy +#~ msgid "Group Chat Bookmarks" +#~ msgstr "多人聊天(_G)" + +#, fuzzy +#~ msgid "Add Bookmark" +#~ msgstr "將本聊天室加入書籤(_B)" + +#, fuzzy +#~ msgid "Remove Bookmark" +#~ msgstr "將本聊天室加入書籤(_B)" + +#, fuzzy +#~ msgid "_Server" +#~ msgstr "伺服器(_S):" + +#, fuzzy +#~ msgid "Roo_m" +#~ msgstr "聊天室(_M):" + +#, fuzzy +#~ msgid "_Password" +#~ msgstr "密碼(_P):" + +#, fuzzy +#~ msgid "Join chat when connected" +#~ msgstr "聯絡人已中斷連線" + +#~ msgid "New Group Chat" +#~ msgstr "新聊天室" + +#~ msgid "This bookmark has invalid data" +#~ msgstr "此書籤含無效資料" + +#, fuzzy +#~ msgid "" +#~ "Please be sure to fill out server and group chat fields or remove this " +#~ "bookmark." +#~ msgstr "請確認填寫伺服器與聊天室欄位或移除此書籤。" + +#~ msgid "Character not allowed" +#~ msgstr "不允許的字元" + +#, fuzzy +#~ msgid "Invalid Group Chat" +#~ msgstr "無效的聊天室 Jabber ID" + +#~ msgid "Unable to join group chat" +#~ msgstr "無法加入聊天室" + +#~ msgid "You are banned from group chat %s." +#~ msgstr "您被多人聊天 %s 封禁。" + +#, fuzzy +#~ msgid "Remote server %s does not exist." +#~ msgstr "多人聊天 %s 不存在。" + +#~ msgid "Group chat %s does not exist." +#~ msgstr "多人聊天 %s 不存在。" + +#, fuzzy +#~ msgid "Group chat creation is not permitted." +#~ msgstr "聊天室建立是受限的。" + +#, fuzzy +#~ msgid "You must use your registered nickname in %s." +#~ msgstr "您已註冊的暱稱必須在多人聊天 %s 中使用。" + +#, fuzzy +#~ msgid "You are not in the members list in group chat %s." +#~ msgstr "您不在聊天室 %s 的成員清單中。" + +#, fuzzy +#~ msgid "XMPP Address is not a group chat" +#~ msgstr "這不是一個聊天室" + +#~ msgid "This is not a group chat" +#~ msgstr "這不是一個聊天室" + +#, fuzzy +#~ msgid "Please choose a group chat" +#~ msgstr "請用您想要的名稱新增一個主題。" + +#~ msgid "Invalid Nickname" +#~ msgstr "不合法的暱稱" + +#, fuzzy +#~ msgid "Wrong server" +#~ msgstr "錯誤的 uri" + +#, fuzzy +#~ msgid "%s is not a group chat server" +#~ msgstr "這不是一個聊天室" + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit." +#~ msgstr "當加入多人聊天時,向伺服器請求聊天記錄的列數。-1 表示無限制" + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit." +#~ msgstr "當加入多人聊天時,向伺服器請求多少分鐘以內的聊天記錄。-1 表示無限制" + +#, fuzzy +#~ msgid "" +#~ "How many lines to request from server when entering a group chat. -1 " +#~ "means no limit, -2 means global value." +#~ msgstr "當加入多人聊天時,向伺服器請求聊天記錄的列數。-1 表示無限制" + +#, fuzzy +#~ msgid "" +#~ "Minutes of backlog to request when entering a group chat. -1 means no " +#~ "limit, -2 means global value." +#~ msgstr "當加入多人聊天時,向伺服器請求多少分鐘以內的聊天記錄。-1 表示無限制" + +#, fuzzy +#~ msgid "A Password is required to join the group chat %s. Please type it." +#~ msgstr "需要密碼才能加入聊天室 %s。請輸入一個密碼。" + +#~ msgid "Not in Roster" +#~ msgstr "不在聯絡人清單中" + +#~ msgid "I would like to add you to my roster" +#~ msgstr "我希望將您加入到我的聯絡人清單" + +#, fuzzy +#~ msgid "Add to Roster" +#~ msgstr "加入至聯絡人清單(_A)" + +#, fuzzy +#~ msgid "Audio Session" +#~ msgstr "音訊測試" + +#, fuzzy +#~ msgid "Manage Room" +#~ msgstr "管理聊天室(_M)" + +#, fuzzy +#~ msgid "Configure Room" +#~ msgstr "設定聊天室(_R)…" + +#, fuzzy +#~ msgid "Destroy Room" +#~ msgstr "刪除聊天室(_D)" + +#, fuzzy +#~ msgid "Change Nick" +#~ msgstr "變更暱稱(_N)…" + +#, fuzzy +#~ msgid "Disconnect" +#~ msgstr "中斷連線(_D)" + +#, fuzzy +#~ msgid "Copy JID" +#~ msgstr "聊天室 JID" + +#, fuzzy +#~ msgid "Add to Roster…" +#~ msgstr "加入至聯絡人清單(_A)" + +#, fuzzy +#~ msgid "Copy JID/Email" +#~ msgstr "複製 JID/電子郵件位址(_C)" + +#, fuzzy +#~ msgid "JID: %s" +#~ msgstr "Jabber ID: %s" + +#~ msgid "Changing Subject" +#~ msgstr "正在更換話題" + +#~ msgid "Please specify the new subject:" +#~ msgstr "請指定新話題:" + +#~ msgid "Room logging is now enabled" +#~ msgstr "聊天室訊息記錄已啟用" + +#~ msgid "Room logging is now disabled" +#~ msgstr "聊天室訊息記錄已停用" + +#, fuzzy +#~ msgid "You (%s) joined the room" +#~ msgstr "%s 加入聊天室" + +#~ msgid "Room logging is enabled" +#~ msgstr "聊天室記錄被啟用" + +#, fuzzy +#~ msgid "Unable to join groupchat" +#~ msgstr "無法加入聊天室" + +#~ msgid "Groupchat Invitation" +#~ msgstr "多人聊天邀請" + +#, fuzzy +#~ msgid "%(jid)s has been invited in this room" +#~ msgstr "%(nick)s 已經被從這個聊天室移除(%(reason)s)" + +#, fuzzy +#~ msgid "JID is not a Groupchat" +#~ msgstr "這不是一個聊天室" + +#~ msgid "Invalid JID" +#~ msgstr "無效的 JID" + +#~ msgid "A connection is not available" +#~ msgstr "一個連線無法使用" + +#, fuzzy +#~ msgid "JID already in list" +#~ msgstr "Jabber ID 已經在清單中了" + +#, fuzzy +#~ msgid "For the chosen encryption there is no encryption method available" +#~ msgstr "一個連線無法使用" + +#~ msgid "Removes contact from roster" +#~ msgstr "從聯絡人清單移除聯絡人" + +#~ msgid "Not in roster" +#~ msgstr "不在聯絡人清單中" + +#, fuzzy +#~ msgid "File transfer request notification color." +#~ msgstr "檔案傳輸請求" + +#, fuzzy +#~ msgid "File transfer error notification color." +#~ msgstr "檔案傳輸已取消" + +#, fuzzy +#~ msgid "File transfer complete or stopped notification color." +#~ msgstr "當檔案傳輸完成時彈出提示" + +#, fuzzy +#~ msgid "Groupchat invitation notification color" +#~ msgstr "多人聊天邀請" + +#~ msgid "Add * and [n] in roster title?" +#~ msgstr "在聯絡人清單標題中加入 * 和 [n]?" + +#~ msgid "Hides the banner in two persons chat window" +#~ msgstr "在雙人聊天視窗中隱藏標語" + +#, fuzzy +#~ msgid "" +#~ "Show the confirm metacontacts creation dialog or not? Empty string means " +#~ "never show the dialog." +#~ msgstr "是否顯示確認元聯絡人建立對話方塊?空字串意味著永遠不顯示對話方塊。" + +#~ msgid "Space separated list of ssl errors to ignore." +#~ msgstr "應忽略的 SSL 錯誤清單,以空格分隔" + +#~ msgid "Answer to receipt requests" +#~ msgstr "對回執請求的回應" + +#, fuzzy +#~ msgid "Language for which misspelled words will be checked" +#~ msgstr "想要進行拼寫檢查的語言" + +#~ msgid "I'm eating, so leave me a message." +#~ msgstr "我在吃東西,請留言" + +#, fuzzy +#~ msgid "from room %s" +#~ msgstr " 來自聊天室 %s" + +#~ msgid "Leave Groupchats" +#~ msgstr "離開聊天室" + +#, fuzzy +#~ msgid "Auto Join" +#~ msgstr "自動聯結(_U)" + +#, fuzzy +#~ msgid "Room" +#~ msgstr "聊天室:" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID" + +#~ msgid "Occupant Actions" +#~ msgstr "室友動作" + +#~ msgid "_Add to Roster" +#~ msgstr "加入至聯絡人清單(_A)" + +#~ msgid "_Manage Room" +#~ msgstr "管理聊天室(_M)" + +#~ msgid "Configure _Room..." +#~ msgstr "設定聊天室(_R)…" + +#~ msgid "_Destroy Room" +#~ msgstr "刪除聊天室(_D)" + +#~ msgid "Jabber ID" +#~ msgstr "Jabber ID" + +#, fuzzy +#~ msgid "account" +#~ msgstr "帳號" + +#, fuzzy +#~ msgid "Roster" +#~ msgstr "顯示聯絡人清單(_R)" + +#~ msgid "Show only in roster" +#~ msgstr "只顯示在聯絡人清單中" + +#~ msgid "in _roster" +#~ msgstr "在聯絡人清單中(_R)" + +#, fuzzy +#~ msgid "Roster Appearance" +#~ msgstr "聯絡人清單外觀" + +#~ msgid "_Add to Roster..." +#~ msgstr "加入至聯絡人清單(_A)…" + +#~ msgid "_Jabber ID:" +#~ msgstr "_Jabber ID:" + +#, fuzzy +#~ msgid "_Jabber ID" +#~ msgstr "_Jabber ID:" + +#~ msgid "JabberID" +#~ msgstr "JabberID" + +#, fuzzy +#~ msgid "Show Roster" +#~ msgstr "顯示聯絡人清單(_R)" + +#~ msgid "MUC server" +#~ msgstr "多人聊天伺服器" + +#~ msgid "Room Configuration" +#~ msgstr "聊天室設定" + +#~ msgid "Join _Group Chat" +#~ msgstr "加入聊天室(_G)" + +#~ msgid "Toggle audio session" +#~ msgstr "切換語音作業階段" + +#, fuzzy +#~ msgid "Audio sessions are not available" +#~ msgstr "一個連線無法使用" + +#~ msgid "Conference" +#~ msgstr "會議" + +#, fuzzy +#~ msgid "_Manage Bookmarks…" +#~ msgstr "書籤管理" + +#~ msgid "Hide _Roster" +#~ msgstr "隱藏聯絡人清單(_R)" + +#~ msgid "Show _Roster" +#~ msgstr "顯示聯絡人清單(_R)" + +#, fuzzy +#~ msgid "Invalid Room" +#~ msgstr "無效聊天室" + +#~ msgid "Invalid room" +#~ msgstr "無效聊天室" + +#~ msgid "A GTK+ Jabber client" +#~ msgstr "一個 GTK+ 的 Jabber 客戶端" + +#~ msgid "Changing Nickname" +#~ msgstr "正在更換暱稱" + +#~ msgid "Please specify the new nickname you want to use:" +#~ msgstr "請指定您想使用的新暱稱:" + +#~ msgid "Bookmark already set" +#~ msgstr "書籤已設定" + +#, fuzzy +#~ msgid "Group Chat '%s' is already in your bookmarks." +#~ msgstr "聊天室\"%s\"已在您的書籤中。" + +#~ msgid "Bookmark has been added successfully" +#~ msgstr "書籤加入成功" + +#, fuzzy +#~ msgid "" +#~ "You can manage your bookmarks by clicking the Bookmarks menu item in your " +#~ "contact list." +#~ msgstr "您可以透過\"動作\"選單管理您的書籤。" + +#, fuzzy +#~ msgid "The nickname contains invalid characters." +#~ msgstr "暱稱包含不合法字元。" + +#, fuzzy +#~ msgid "Bookmark Room" +#~ msgstr "將本聊天室加入書籤(_B)" + +#~ msgid "_Join New Group Chat" +#~ msgstr "加入新的聊天室(_J)" + +#, fuzzy +#~ msgid "Name:" +#~ msgstr "名稱: " + +#~ msgid "Description:" +#~ msgstr "描述:" + +#, fuzzy +#~ msgid "Address:" +#~ msgstr "位址(_A):" + +#, fuzzy +#~ msgid "You can not start a new conversation unless you are connected." +#~ msgstr "您必須連線才能加入聊天室。" + +#, fuzzy +#~ msgid "Occupants" +#~ msgstr "室友動作" + +#~ msgid "_Modify Account..." +#~ msgstr "修改帳號(_M)…" + +#~ msgid "Boolean" +#~ msgstr "Boolean" + +#~ msgid "Integer" +#~ msgstr "Integer" + +#~ msgid "Text" +#~ msgstr "Text" + +#~ msgid "Value" +#~ msgstr "值" + +#~ msgid "(None)" +#~ msgstr "(無)" + +#~ msgid "Hidden" +#~ msgstr "隱藏" + +#~ msgid "Manage Proxy Profiles" +#~ msgstr "管理代理伺服器設定" + +#, fuzzy +#~ msgid "Properties" +#~ msgstr "屬性" + +#, fuzzy +#~ msgid "Proxy _Port" +#~ msgstr "代理伺服器連接埠(_P):" + +#, fuzzy +#~ msgid "New Groupchat" +#~ msgstr "新聊天室" + +#, fuzzy +#~ msgid "New Contact" +#~ msgstr "加入聯絡人" + +#~ msgid "%s GiB" +#~ msgstr "%s GiB" + +#~ msgid "%s GB" +#~ msgstr "%s GB" + +#~ msgid "%s MiB" +#~ msgstr "%s MiB" + +#~ msgid "%s MB" +#~ msgstr "%s MB" + +#~ msgid "%s KiB" +#~ msgstr "%s KiB" + +#~ msgid "%s KB" +#~ msgstr "%s KB" + +#~ msgid "%s B" +#~ msgstr "%s B" + +#, fuzzy +#~ msgid "%s MiB/s" +#~ msgstr "%s MiB" + +#, fuzzy +#~ msgid "File transfer" +#~ msgstr "檔案傳輸" + +#, fuzzy +#~ msgid "Open _Containing Folder" +#~ msgstr "開啟資料夾(_O)" + +#, fuzzy +#~ msgid "Default:" +#~ msgstr "預設" + +#~ msgid "Really quit Gajim?" +#~ msgstr "真得要離開 Gajim?" + +#~ msgid "" +#~ "You will no longer be able to send and receive messages to contacts from " +#~ "these transports: %s" +#~ msgstr "您無法再和來自這些代理的聯絡人收發訊息: %s" + +#~ msgid "Contact \"%s\" will be removed from your roster" +#~ msgstr "聯絡人\"%s\"將從您的聯絡人清單中被移除" + +#, fuzzy +#~ msgid "" +#~ "By removing this contact you also by default remove authorization " +#~ "resulting in them always seeing you as offline." +#~ msgstr "移除此聯絡人的同時將預設移除認證,導致他/她將一直看到您為離線。" + +#~ msgid "Contacts will be removed from your roster" +#~ msgstr "聯絡人將從您的聯絡人清單中被移除" + +#~ msgid "" +#~ "By removing these contacts:%s\n" +#~ "you also remove authorization resulting in them always seeing you as " +#~ "offline." +#~ msgstr "" +#~ "移除這些聯絡人: %s 的同時\n" +#~ "將移除認證導致他們將一直看到您為離線。" + +#, fuzzy +#~ msgid "Con_tinue" +#~ msgstr "繼續(_C)" + +#~ msgid "_Pause" +#~ msgstr "暫停(_P)" + +#~ msgid "Remove file transfer from the list." +#~ msgstr "從清單中移除檔案傳輸。" + +#~ msgid "" +#~ "This action removes single file transfer from the list. If the transfer " +#~ "is active, it is first stopped and then removed" +#~ msgstr "" +#~ "該作業會從清單中移除單一檔案傳輸。如果傳輸正在進行,它將先被終止,而後\n" +#~ "被移除" + +#~ msgid "Cancels the selected file transfer" +#~ msgstr "取消選取檔案的傳輸" + +#, fuzzy +#~ msgid "Hide the window" +#~ msgstr "隱藏該視窗" + +#~ msgid "When a file transfer is complete show a popup notification" +#~ msgstr "當檔案傳輸完成時彈出提示" + +#~ msgid "From:" +#~ msgstr "從:" + +#~ msgid "Subject:" +#~ msgstr "主題:" + +#~ msgid "%s wants to send you a file:" +#~ msgstr "%s 想傳送給您一個檔案:" + +#~ msgid "Name: " +#~ msgstr "名稱: " + +#~ msgid "Pause" +#~ msgstr "暫停" + +#, fuzzy +#~ msgid "Execute Command" +#~ msgstr "執行命令(_E)…" + +#~ msgid "Type: " +#~ msgstr "類型: " + +#~ msgid "Transferred: " +#~ msgstr "已傳輸: " + +#~ msgid "Completed" +#~ msgstr "已完成" + +#~ msgid "Stalled" +#~ msgstr "已凍結" + +#~ msgid "Transferring" +#~ msgstr "傳輸中" + +#~ msgid "Not started" +#~ msgstr "未開始" + +#~ msgid "" +#~ "All chat and groupchat windows will be closed. Do you want to continue?" +#~ msgstr "所有的聊天和多人聊天視窗將會關閉。您想繼續嗎?" + +#, fuzzy +#~ msgid "" +#~ "Your desired nickname in group chat\n" +#~ "%s\n" +#~ "is in use or registered by another occupant.\n" +#~ "Please specify another nickname below:" +#~ msgstr "" +#~ "您在聊天室 %s 中希望使用的暱稱已經被使用或被其他人註冊了。\n" +#~ "在下面指定另一個暱稱:" + +#~ msgid "_Configure" +#~ msgstr "配置(_C)" + +#~ msgid "Change the avatar" +#~ msgstr "變更頭像" + +#~ msgid "" +#~ "Account in which the avatar will be set; if not specified, the avatar " +#~ "will be set for all accounts" +#~ msgstr "要設定為這個頭像的帳號; 如果不指定,所有帳號都將被設定為這個頭像。" + +#~ msgid "add" +#~ msgstr "加入" + +#~ msgid "modify" +#~ msgstr "修改" + +#~ msgid "remove" +#~ msgstr "移除" + +#, fuzzy +#~ msgid "" +#~ "If true, restored messages will use a smaller font than the default one." +#~ msgstr "如果為真,恢復顯示的訊息將用較小的字型顯示。" + +#, fuzzy +#~ msgid "Restored Message Color" +#~ msgstr "恢復為預設顏色設定(_R)" + +#, fuzzy +#~ msgid "" +#~ "You are going to remove this room permanently.\n" +#~ "You may specify a reason below:" +#~ msgstr "" +#~ "您正要徹底銷毀這個聊天室。\n" +#~ "您可以在下面指定一個原因:" + +#~ msgid "Send Cus_tom Status" +#~ msgstr "傳送個性化狀態(_T)" + +#, fuzzy +#~ msgid "" +#~ "You are about to send a custom status. Are you sure you want to continue?" +#~ msgstr "您將傳送一個自訂的狀態。您確定要繼續嗎?" + +#, fuzzy +#~ msgid "" +#~ "This contact will temporarily see you as %(status)s, but only until you " +#~ "change your status. Then they will see your global status." +#~ msgstr "" +#~ "這個聯絡人會暫時看到您的狀態為 %(status)s,直到您下次變更您的狀態。之後\n" +#~ "他/她會看到您的全域狀態。" + +#, fuzzy +#~ msgid "" +#~ msgstr "主題" + +#~ msgid "#" +#~ msgstr "#" + +#~ msgid "You are about to block a contact. Are you sure you want to continue?" +#~ msgstr "您將要阻斷一個聯絡人。您確定要繼續嗎?" + +#~ msgid "To:" +#~ msgstr "到:" + +#~ msgid "0" +#~ msgstr "0" + +#, fuzzy +#~ msgid "Reconnect when connection is lost" +#~ msgstr "連線中斷後自動重連" + +#, fuzzy +#~ msgid "Server Message Archive" +#~ msgstr "傳送伺服器訊息(_S)…" + +#, fuzzy +#~ msgid "Message Carbons" +#~ msgstr "訊息" + +#~ msgid "" +#~ "Sent chat state notifications. Can be one of all, composing_only, " +#~ "disabled." +#~ msgstr "傳送聊天狀態通知。可以是全部,僅正在編輯,停用中的一個。" + +#, fuzzy +#~ msgid "Allow my idle _time to be sent" +#~ msgstr "允許傳送關於閒置時間的資訊(_I)" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the idle time of your system" +#~ msgstr "如果選取,Gajim 會允許他人偵測到您所使用的作業系統" + +#, fuzzy +#~ msgid "_Allow local system time information to be sent" +#~ msgstr "允許傳送關於作業系統的資訊(_O)" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the local time on your system" +#~ msgstr "如果選取,Gajim 會允許他人偵測到您所使用的作業系統" + +#, fuzzy +#~ msgid "Allow client / _OS information to be sent" +#~ msgstr "允許傳送關於作業系統的資訊(_O)" + +#, fuzzy +#~ msgid "" +#~ "If checked, others will be allowed to detect the operating system you are " +#~ "using" +#~ msgstr "如果選取,Gajim 會允許他人偵測到您所使用的作業系統" + +#, fuzzy +#~ msgid "" +#~ "If checked, incoming events from unauthorized contacts will be ignored. " +#~ "Use with caution, because it blocks all messages from any contact that is " +#~ "not in the roster." +#~ msgstr "" +#~ "如果選取,Gajim 會忽略未認證的聯絡人引發的事件。請謹慎使用,因為這將阻斷所" +#~ "有不在聯絡人清單中的聯絡人發來的訊息。" + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to send to the other party." +#~ msgstr "" +#~ "Gajim 可以收發您與聯絡人正在進行對話的相關資訊。此處您可以指定要發給第三方" +#~ "的聊天狀態資訊。" + +#, fuzzy +#~ msgid "S_end chat state notifications" +#~ msgstr "傳送聊天狀態資訊(_S):" + +#, fuzzy +#~ msgid "Login Options" +#~ msgstr "表情(_E):" + +#~ msgid "Please wait while retrieving search form..." +#~ msgstr "請等待,正在搜尋…" + +#~ msgid "_Add contact" +#~ msgstr "加入聯絡人(_C)" + +#~ msgid "Ad-hoc Commands - Gajim" +#~ msgstr "Ad-hoc 命令 - Gajim" + +#~ msgid "Please wait while retrieving command list..." +#~ msgstr "請稍等,正在獲取命令清單…" + +#~ msgid "Choose command to execute:" +#~ msgstr "選擇要執行的命令" + +#~ msgid "Check once more" +#~ msgstr "請再檢查一遍" + +#, fuzzy +#~ msgid "Please wait while the command is being sent..." +#~ msgstr "請稍等,正在傳送命令…" + +#~ msgid "This jabber entity does not expose any commands." +#~ msgstr "這個 Jabber 節點沒有提供任何命令" + +#~ msgid "F_inish" +#~ msgstr "完成(_F)" + +#~ msgid "Waiting for results" +#~ msgstr "等待結果" + +#~ msgid "Error in received dataform" +#~ msgstr "在收到的資料表中有錯誤" + +#~ msgid "No result" +#~ msgstr "無結果" + +#~ msgid "Failed to get secret keys" +#~ msgstr "獲取密鑰失敗" + +#~ msgid "There is no OpenPGP secret key available." +#~ msgstr "沒有可用的 OpenPGP 私鑰" + +#~ msgid "OpenPGP Key Selection" +#~ msgstr "OpenPGP 密鑰選擇" + +#~ msgid "Choose your OpenPGP key" +#~ msgstr "選擇您的 OpenPGP 密鑰" + +#~ msgid "KeyID" +#~ msgstr "KeyID" + +#~ msgid "Contact name" +#~ msgstr "聯絡人名稱" + +#, fuzzy +#~ msgid "OpenPGP is not usable" +#~ msgstr "GPG 無法使用" + +#~ msgid "Assign OpenPGP Key" +#~ msgstr "指定 OpenPGP 密鑰" + +#~ msgid "Select a key to apply to the contact" +#~ msgstr "選擇一個對應於該聯絡人的密鑰。" + +#, fuzzy +#~ msgid "" +#~ "You configured Gajim to use OpenPGP agent, but there is no OpenPGP agent " +#~ "running or it returned a wrong passphrase.\n" +#~ msgstr "" +#~ "您配置了 Gajim 使用 GPG agent,但並沒有正在執行的 GPG agent 或是它回傳了一" +#~ "個錯誤的密碼。\n" + +#~ msgid "You are currently connected without your OpenPGP key." +#~ msgstr "您已經連線,但沒有使用您的 OpenPGP 密鑰。" + +#, fuzzy +#~ msgid "Wrong passphrase" +#~ msgstr "錯誤欄位" + +#, fuzzy +#~ msgid "Wrong OpenPGP passphrase" +#~ msgstr "錯誤欄位" + +#~ msgid "Passphrase Required" +#~ msgstr "要求密文" + +#, fuzzy +#~ msgid "" +#~ "Enter OpenPGP key passphrase for key %(keyid)s (account %(account)s)." +#~ msgstr "輸入 GPG 密鑰 %(keyid)s (帳號 %(account)s) 的密碼。" + +#, fuzzy +#~ msgid "OpenPGP key expired" +#~ msgstr "GPG 密鑰過期" + +#, fuzzy +#~ msgid "" +#~ "Your OpenPGP key has expired, you will be connected to %s without OpenPGP." +#~ msgstr "您的 GPG 密鑰已過期,您將在沒有 OpenPGP 情況下連線到 %s。" + +#~ msgid "Wrong Passphrase" +#~ msgstr "錯誤欄位" + +#, fuzzy +#~ msgid "Please retype your OpenPGP passphrase or press Cancel." +#~ msgstr "請重新輸入您的 GPG 欄位或點\"取消\"" + +#~ msgid "" +#~ "Sends new chat message to a contact in the roster. Both OpenPGP key and " +#~ "account are optional. If you want to set only 'account', without 'OpenPGP " +#~ "key', just set 'OpenPGP key' to ''." +#~ msgstr "" +#~ "傳送新聊天訊息至聯絡人清單中的聯絡人。 OpenPGP 密鑰與帳號均可選。如果只選" +#~ "擇\"帳號\"而不需要\" OpenPGP 密鑰\",只需將\" OpenPGP 密鑰\"置為空。" + +#~ msgid "if specified, the message will be encrypted using this public key" +#~ msgstr "如指定,該訊息將使用本公共密鑰加密" + +#, fuzzy +#~ msgid "" +#~ "Sends a chat message to someone on your roster. Optionally with OpenPGP " +#~ "key and account. If you want to only set the latter, set OpenPGP key to " +#~ "\"\"." +#~ msgstr "" +#~ "傳送新聊天訊息至聯絡人清單中的聯絡人。 OpenPGP 密鑰與帳號均可選。如果只選" +#~ "擇\"帳號\"而不需要\" OpenPGP 密鑰\",只需將\" OpenPGP 密鑰\"置為空。" + +#~ msgid "" +#~ "If disabled, don't sign presences with GPG key, even if GPG is configured." +#~ msgstr "如果停用,即使 GPG 被配置,也不使用 GPG 密鑰簽名 presences。" + +#, fuzzy +#~ msgid "OpenPGP:" +#~ msgstr "OpenPGP: " + +#~ msgid "Assign Open_PGP Key..." +#~ msgstr "指定 Open_PGP 密鑰…" + +#, fuzzy +#~ msgid "OpenPGP Message Encryption" +#~ msgstr "OpenPGP 訊息加密" + +#, fuzzy +#~ msgid "Enables Gajim to encrypt chat messages with OpenPGP" +#~ msgstr "用 gpg 密鑰加密聊天訊息。" + +#, fuzzy +#~ msgid "Requires: gpg and python-gnupg (%(url)s)" +#~ msgstr "需要 python-dbus。" + +#, fuzzy +#~ msgid "Requires: gpg.exe in your PATH environment variable" +#~ msgstr "PATH 中要有 gpg.exe。" + +#, fuzzy +#~ msgid "Use PGP Agent" +#~ msgstr "使用 G_PG Agent" + +#, fuzzy +#~ msgid "OpenPGP Key" +#~ msgstr "指定 OpenPGP 密鑰" + +#~ msgid "Cancel confirmation" +#~ msgstr "取消確認" + +#~ msgid "" +#~ "You are in process of executing command. Do you really want to cancel it?" +#~ msgstr "您正在執行一個命令。確定要取消嗎?" + +#~ msgid "Service sent malformed data" +#~ msgstr "服務傳送了異常的資料" + +#~ msgid "Service changed the session identifier." +#~ msgstr "服務變更了作業階段識別碼" + +#, fuzzy +#~ msgid "%s - Ad-hoc Commands - Gajim" +#~ msgstr "Ad-hoc 命令 - Gajim" + +#~ msgid "Service returned an error." +#~ msgstr "服務回傳了一個錯誤。" + +#~ msgid "You are invited to a groupchat" +#~ msgstr "您被邀請到一個聊天室" + +#, fuzzy +#~ msgid "" +#~ "Issued to:\n" +#~ "Common Name (CN): %(scn)s\n" +#~ "Organization (O): %(sorg)s\n" +#~ "Organizationl Unit (OU): %(sou)s\n" +#~ "Serial Number: %(sn)s\n" +#~ "\n" +#~ "Issued by:\n" +#~ "Common Name (CN): %(icn)s\n" +#~ "Organization (O): %(iorg)s\n" +#~ "Organizationl Unit (OU): %(iou)s\n" +#~ "\n" +#~ "Validity:\n" +#~ "Issued on: %(io)s\n" +#~ "Expires on: %(eo)s\n" +#~ "\n" +#~ "Fingerprint\n" +#~ "SHA-1 Fingerprint: %(sha1)s\n" +#~ "\n" +#~ "SHA-256 Fingerprint: %(sha256)s\n" +#~ msgstr "" +#~ "發行對象:\n" +#~ "一般名稱 (CN):%(scn)s\n" +#~ "組織 (O):%(sorg)s\n" +#~ "組織單位 (OU):%(sou)s\n" +#~ "序號:%(sn)s\n" +#~ "\n" +#~ "發行來源:\n" +#~ "一般名稱 (CN):%(icn)s\n" +#~ "組織 (O):%(iorg)s\n" +#~ "組織單位 (OU):%(iou)s\n" +#~ "\n" +#~ "效力:\n" +#~ "發行日:%(io)s\n" +#~ "逾期日:%(eo)s\n" +#~ "\n" +#~ "指紋\n" +#~ "SHA1 指紋:%(sha1)s" + +#~ msgid "_Start Chat" +#~ msgstr "開始聊天(_S)" + +#~ msgid "Au_thorize" +#~ msgstr "授權(_T)" + +#~ msgid "Really send file?" +#~ msgstr "確定要傳送檔案?" + +#~ msgid "You are currently connected to the server" +#~ msgstr "正在連線到伺服器" + +#~ msgid "To disable the account, you must be disconnected." +#~ msgstr "要停用帳號,您必須中斷連線。" + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with %(jid)s?" +#~ msgstr "您真的要刪除 %(jid)s 的記錄檔嗎?" + +#, fuzzy +#~ msgid "Do you wish to delete all correspondence with the selected contacts?" +#~ msgstr "您真的要刪除已選聯絡人的記錄檔嗎?" + +#~ msgid "What do you want to do?" +#~ msgstr "您想要做什麼?" + +#~ msgid "" +#~ "List of colors, separated by \":\", that will be used to color nicknames " +#~ "in group chats." +#~ msgstr "在多人聊天中用於暱稱的顏色清單,以\":\"分隔。" + +#~ msgid "You have received new entries (and %d not displayed):" +#~ msgid_plural "You have received new entries (and %d not displayed):" +#~ msgstr[0] "您收到了新的事件 (還有 %d 個沒有顯示)" + +#~ msgid "Stopped" +#~ msgstr "已停止" + +#~ msgid "" +#~ "You are about to send your password on an insecure connection. You should " +#~ "install PyOpenSSL to prevent that. Are you sure you want to do that?" +#~ msgstr "" +#~ "您將透過不安全的連線傳送密碼。您應該安裝 PyOpenSSL 以阻止這樣的事情。您確" +#~ "定要這樣做嗎?" + +#, fuzzy +#~ msgid "Status messages displayed in chat window" +#~ msgstr "傳送訊息並關閉視窗" + +#~ msgid "?print_status:All" +#~ msgstr "全部" + +#~ msgid "Enter and leave only" +#~ msgstr "只是進入和離開" + +#~ msgid "?print_status:None" +#~ msgstr "無" + +#, fuzzy +#~ msgid "Untrusted OpenPGP key" +#~ msgstr "選擇您的 OpenPGP 密鑰" + +#, fuzzy +#~ msgid "" +#~ "The OpenPGP key used to encrypt this chat is not trusted. Do you really " +#~ "want to encrypt this message?" +#~ msgstr "用於加密這次對話的 GPG 密鑰未被信任。您確實想要加密這條訊息嗎?" + +#~ msgid "D-Bus python bindings are missing in this computer" +#~ msgstr "這臺電腦缺少 D-Bus 的 python 繫結" + +#~ msgid "D-Bus capabilities of Gajim cannot be used" +#~ msgstr "Gajim 的 D-Bus 相容性無法使用" + +#~ msgid "D-Bus does not run correctly on this machine" +#~ msgstr "D-Bus 在這臺電腦上沒有正常執行" + +#~ msgid "D-Bus does not run correctly on this machine: system bus not present" +#~ msgstr "D-Bus 在這臺電腦上沒有正常執行: 未發現系統匯流排" + +#~ msgid "" +#~ "D-Bus does not run correctly on this machine: session bus not present" +#~ msgstr "D-Bus 在這臺電腦上沒有正常執行: 未發現作業階段匯流排" + +#, fuzzy +#~ msgid "Command line Control" +#~ msgstr "命令列" + +#, fuzzy +#~ msgid "Enables you to control Gajim with via commandline" +#~ msgstr "一個在命令列下控制 Gajim 的命令稿。" + +#~ msgid "" +#~ "When is self contact row displayed. Can be \"always\", " +#~ "\"when_other_resource\" or \"never\"" +#~ msgstr "何時顯示自己。可以是\"總是\",\"當用其他資源連線時\"或\"永遠不\"" + +#~ msgid "%(nick)s has been kicked by %(who)s: %(reason)s" +#~ msgstr "%(nick)s 被 %(who)s 踢出: %(reason)s" + +#~ msgid "%(nick)s has been banned by %(who)s: %(reason)s" +#~ msgstr "%(nick)s 被 %(who)s 封禁: %(reason)s" + +#~ msgid "system shutdown" +#~ msgstr "系統關閉" + +#~ msgid "** Role of %(nick)s has been set to %(role)s" +#~ msgstr "** %(nick)s 的角色被設定為 %(role)s" + +#~ msgid "%s has left" +#~ msgstr "%s 離開了" + +#, fuzzy +#~ msgid "%s is full" +#~ msgstr "字型" + +#, fuzzy +#~ msgid "" +#~ "Can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no " +#~ "longer print status line in groupchats when a member changes their status " +#~ "and/or their status message. If \"all\" Gajim will print all status " +#~ "messages. If \"in_and_out\", Gajim will only print FOO enters/leaves " +#~ "group chat." +#~ msgstr "" +#~ "可以是\"無\",\"全部\"或\"登入與登出\"。如果是\"無\",當成員變更他/她的狀" +#~ "態或他\n" +#~ "/她的狀態訊息時,Gajim 將不會顯示一列提示。如果是\"全部\",Gajim 將提示" +#~ "所\n" +#~ "有的狀態訊息。如果是\"登入與登出\",Gajim 將只提示聊天室中中登入與登出\n" +#~ "訊息。" + +#, fuzzy +#~ msgid "Displa_y status messages in group chats" +#~ msgstr "在聯絡人清單中顯示聯絡人的狀態資訊(_M)" + +#~ msgid "" +#~ "You are about to send your password unencrypted on an insecure " +#~ "connection. Are you sure you want to do that?" +#~ msgstr "您將透過不安全的連線傳送未經加密的密碼。您確定要這樣做嗎?" + +#, fuzzy +#~ msgid "Latest token for OAuth 2.0 authentication." +#~ msgstr "匿名認證" + +#, fuzzy +#~ msgid "client_id for OAuth 2.0 authentication." +#~ msgstr "匿名認證(_Y)" + +#, fuzzy +#~ msgid "redirect_url for OAuth 2.0 authentication." +#~ msgstr "匿名認證(_Y)" + +#~ msgid "" +#~ "Displayed chat state notifications in chat windows. Can be one of all, " +#~ "composing_only, disabled." +#~ msgstr "" +#~ "在聊天視窗中顯示聊天狀態通知。可以是全部,近正在編輯,停用中的一個。" + +#~ msgid "" +#~ "Gajim can send and receive meta-information related to a conversation you " +#~ "may have with a contact. Here you can specify which chatstates you want " +#~ "to display in chat windows." +#~ msgstr "" +#~ "Gajim 可以收發您與聯絡人正在進行對話的相關資訊。此處您可以指定您想在聊天\n" +#~ "視窗中顯示的聊天狀態資訊。" + +#~ msgid "This is an irreversible operation." +#~ msgstr "該作業是不可撤消的。" + +#~ msgid "Settings" +#~ msgstr "設定" + +#~ msgid "Welcome to Gajim History Logs Manager" +#~ msgstr "歡迎使用 Gajim 命令歷程記錄管理器" + +#~ msgid "Member List" +#~ msgstr "成員清單" + +#~ msgid "Owner List" +#~ msgstr "室長清單" + +#~ msgid "Administrator List" +#~ msgstr "管理員清單" + +#~ msgid "Nick" +#~ msgstr "暱稱" + +#~ msgid "" +#~ "Whom do you want to ban?\n" +#~ "\n" +#~ msgstr "" +#~ "想做封禁誰?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Member…" +#~ msgstr "正在加入成員…" + +#~ msgid "" +#~ "Whom do you want to make a member?\n" +#~ "\n" +#~ msgstr "" +#~ "想要將誰加為成員?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Owner…" +#~ msgstr "加入室長…" + +#~ msgid "" +#~ "Whom do you want to make an owner?\n" +#~ "\n" +#~ msgstr "" +#~ "您想要讓誰成為室長?\n" +#~ "\n" + +#, fuzzy +#~ msgid "Adding Administrator…" +#~ msgstr "加入管理員…" + +#~ msgid "" +#~ "Whom do you want to make an administrator?\n" +#~ "\n" +#~ msgstr "" +#~ "您想要讓誰成為管理員?\n" +#~ "\n" + +#~ msgid "Error reading file:" +#~ msgstr "讀檔案錯誤:" + +#~ msgid "Error parsing file:" +#~ msgstr "分析檔案錯誤:" + +#~ msgid "List of possible features in Gajim:" +#~ msgstr "Gajim 支援的特性清單" + +#~ msgid "Description" +#~ msgstr "描述" + +#~ msgid "Password encryption" +#~ msgstr "密碼加密" + +#~ msgid "Spellchecking of composed messages." +#~ msgstr "對正在編輯的訊息進行拼寫檢查。" + +#~ msgid "Automatic status" +#~ msgstr "自動調整狀態" + +#~ msgid "Requires python2.5." +#~ msgstr "需要 python2.5。" + +#~ msgid "" +#~ "Generate XHTML output from RST code (see http://docutils.sourceforge.net/" +#~ "docs/ref/rst/restructuredtext.html)." +#~ msgstr "" +#~ "從 RST 程式碼產生 XHTML 輸出 (參考 http://docutils.sourceforge.net/docs/" +#~ "ref/rst/restructuredtext.html)。" + +#~ msgid "UPnP-IGD" +#~ msgstr "UPnP-IGD" + +#~ msgid "?features:Available" +#~ msgstr "可用" + +#~ msgid "Feature" +#~ msgstr "特性" + +#~ msgid "Filter:" +#~ msgstr "過濾器:" + +#~ msgid "Chat Appearance" +#~ msgstr "聊天視窗外觀" + +#~ msgid "" +#~ "Gajim will notify you via a popup window in the bottom right of the " +#~ "screen about contacts that just signed out" +#~ msgstr "Gajim 會透過螢幕右下方的彈出氣泡提示剛剛離開的聯絡人" + +#~ msgid "Sounds" +#~ msgstr "聲音" + +#~ msgid "Chat state notifications" +#~ msgstr "聊天狀態提示" + +#, fuzzy +#~ msgid "_Away after" +#~ msgstr "在此時間後設定狀態為離開(_A):" + +#~ msgid "" +#~ "If checked, Gajim will change status to Away when the computer is unused." +#~ msgstr "如果選取,Gajim 在電腦閒置時會將您的狀態設定為離開。" + +#, fuzzy +#~ msgid "_Not available after" +#~ msgstr "在此時間後設定狀態為離開很久了(_N):" + +#~ msgid "Auto Status" +#~ msgstr "自動調整狀態" + +#~ msgid "Status Messages" +#~ msgstr "狀態訊息" + +#~ msgid "Audio" +#~ msgstr "音訊" + +#~ msgid "Video" +#~ msgstr "視訊" + +#, fuzzy +#~ msgid "(example: stun.iptel.org)" +#~ msgstr "(例如: stunserver.org)" + +#~ msgid "Connection" +#~ msgstr "連線" + +#~ msgid "Custom" +#~ msgstr "自訂" + +#~ msgid "Privacy" +#~ msgstr "隱私策略" + +#~ msgid "Advanced Configuration Editor" +#~ msgstr "進階配置編輯器" + +#, fuzzy +#~ msgid "Audio / video conferences" +#~ msgstr "音訊/視訊" + +#, fuzzy +#~ msgid "File transfer, room bookmarks" +#~ msgstr "檔案傳輸錯誤" + +#, fuzzy +#~ msgid "XML console interface" +#~ msgstr " XML 主控臺" + +#, fuzzy +#~ msgid "" +#~ "A programming error has been detected. It probably is not fatal, but " +#~ "should be reported to the developers nonetheless." +#~ msgstr "它可能不是嚴重的,但仍應該被報告給開發者們。" + +#~ msgid "" +#~ "A list of modp groups to use in a Diffie-Hellman, highest preference " +#~ "first, separated by commas. Valid groups are 1, 2, 5, 14, 15, 16, 17 and " +#~ "18. Higher numbers are more secure, but take longer to calculate when you " +#~ "start a session." +#~ msgstr "" +#~ "在 Diffie-Hellman 中使用的 modp 組,排在前面的優先使用,以逗號分隔。合\n" +#~ "法的組有 1,2,5,14,15,16,17 和 18。更高的數字更安全,但在您開始會\n" +#~ "話時需要更長的時間計算" + +#~ msgid "(ESession info)" +#~ msgstr "ESession資訊" + +#~ msgid "" +#~ "If not disabled, Gajim will replace ascii smilies like ':)' with " +#~ "equivalent animated or static graphical emoticons" +#~ msgstr "如果不停用,Gajim 會用相對的動態或靜態的圖形代替字元表情,例如':)'" + +#, fuzzy +#~ msgid "_Emoticons" +#~ msgstr "表情(_E):" + +#~ msgid "_Highlight misspelled words" +#~ msgstr "拼寫檢查(_H)" + +#, fuzzy +#~ msgid "Notify by icon when your messages are received" +#~ msgstr "收到任意多人聊天訊息播放的聲音。" + +#, fuzzy +#~ msgid "T_heme" +#~ msgstr "主題:(_H)" + +#~ msgid "Themes" +#~ msgstr "主題" + +#~ msgid "Always use this nickname when there is a conflict" +#~ msgstr "在發生衝突時總是使用這個暱稱" + +#~ msgid "" +#~ "Jabberd1.4 does not like sha info when one join a password protected " +#~ "group chat. Turn this option to False to stop sending sha info in group " +#~ "chat presences." +#~ msgstr "" +#~ "有人加入被密碼保護的多人聊天時,Jabberd1.4 不喜歡 SHA 資訊。將此選項置為" +#~ "\"假\"以停止在多人聊天中傳送 SHA 資訊。" + +#, fuzzy +#~ msgid "Presence" +#~ msgstr "_Presence" + +#~ msgid "Emoticons disabled" +#~ msgstr "表情圖示被停用" + +#, fuzzy +#~ msgid "" +#~ "Your configured emoticons theme could not be loaded. See the log for more " +#~ "details." +#~ msgstr "您配置的表情圖示主題找不到,所以表情圖示被停用。" + +#~ msgid "You cannot make changes to the default theme" +#~ msgstr "您不能對預設主題進行變更" + +#~ msgid "theme name" +#~ msgstr "主題名稱" + +#~ msgid "You cannot delete your current theme" +#~ msgstr "無法刪除目前主題" + +#~ msgid "New Single Message from %(nickname)s" +#~ msgstr " %(nickname)s 發來的新訊息" + +#~ msgid "New Private Message from group chat %s" +#~ msgstr "來自聊天室 %s 的私人訊息" + +#~ msgid "%(nickname)s: %(message)s" +#~ msgstr "%(nickname)s: %(message)s" + +#~ msgid "Messaged by %(nickname)s" +#~ msgstr "來自 %(nickname)s 的訊息" + +#~ msgid "Status message text color." +#~ msgstr "狀態訊息文字顏色" + +#~ msgid "Incoming nickname font." +#~ msgstr "收到訊息的暱稱的字型。" + +#~ msgid "Outgoing nickname font." +#~ msgstr "發出訊息的暱稱字型。" + +#~ msgid "Status message text font." +#~ msgstr "狀態訊息文字字型。" + +#~ msgid "Background color of contacts when they just signed in." +#~ msgstr "當聯絡人剛剛登入時的背景色。" + +#~ msgid "Background color of contacts when they just signed out." +#~ msgstr "當聯絡人剛剛登出時的背景色。" + +#~ msgid "green" +#~ msgstr "綠色" + +#~ msgid "grocery" +#~ msgstr "雜貨店" + +#~ msgid "human" +#~ msgstr "人類別" + +#~ msgid "marine" +#~ msgstr "海洋" + +#~ msgid "Chat Banner" +#~ msgstr "聊天視窗上方橫幅" + +#~ msgid "Gajim Themes Customization" +#~ msgstr "Gajim 主題自訂" + +#~ msgid "Text _color:" +#~ msgstr "文字顏色(_C):" + +#~ msgid "_Background:" +#~ msgstr "背景(_B)" + +#~ msgid "Text _font:" +#~ msgstr "文字字型(_F):" + +#~ msgid "Font style:" +#~ msgstr "字型風格:" + +#~ msgid "Paused" +#~ msgstr "暫停編輯" + +#~ msgid "Gone" +#~ msgstr "已離開" + +#~ msgid "" +#~ "MUC\n" +#~ "Messages" +#~ msgstr "" +#~ "多人聊天\n" +#~ "訊息" + +#~ msgid "Chatstate Tab Colors" +#~ msgstr "各聊天狀態下標籤顏色" + +#, fuzzy +#~ msgid "Chat message" +#~ msgstr "聊天訊息:" + +#~ msgid "Use system _default" +#~ msgstr "使用系統預設(_D)" + +#~ msgid "Font" +#~ msgstr "字型" + +#, fuzzy +#~ msgid "Contact's nickname" +#~ msgstr "聯絡人暱稱" + +#, fuzzy +#~ msgid "_Status message" +#~ msgstr "狀態訊息:(_S)" + +#, fuzzy +#~ msgid "Your message" +#~ msgstr "您的訊息:" + +#, fuzzy +#~ msgid "_URL highlight" +#~ msgstr "URL 高亮度顯示:" + +#~ msgid "Chat Line Colors" +#~ msgstr "聊天視窗中文字顏色" + +#~ msgid "Jabber ID:" +#~ msgstr "Jabber ID:" + +#~ msgid "Resource:" +#~ msgstr "資源:" + +#~ msgid "Status:" +#~ msgstr "狀態:" + +#~ msgid "Contact time:" +#~ msgstr "聯絡人時間:" + +#~ msgid "Ask:" +#~ msgstr "請求:" + +#~ msgid "Subscription:" +#~ msgstr "認證:" + +#~ msgid "Name:" +#~ msgstr "名稱:" + +#~ msgid "Nickname:" +#~ msgstr "暱稱:" + +#~ msgid "Street:" +#~ msgstr "街道:" + +#~ msgid "City:" +#~ msgstr "城市:" + +#~ msgid "State:" +#~ msgstr "州:" + +#~ msgid "Extra Address:" +#~ msgstr "附加位址:" + +#~ msgid "Postal Code:" +#~ msgstr "郵遞區號:" + +#~ msgid "Country:" +#~ msgstr "國家:" + +#~ msgid "Homepage:" +#~ msgstr "首頁:" + +#~ msgid "E-Mail:" +#~ msgstr "E-Mail:" + +#~ msgid "Phone No.:" +#~ msgstr "電話號碼:" + +#~ msgid "Birthday:" +#~ msgstr "生日:" + +#~ msgid "Family:" +#~ msgstr "姓:" + +#~ msgid "Middle:" +#~ msgstr "中間名稱:" + +#~ msgid "Prefix:" +#~ msgstr "字首:" + +#~ msgid "Given:" +#~ msgstr "名稱:" + +#~ msgid "Suffix:" +#~ msgstr "字尾:" + +#~ msgid "Full Name" +#~ msgstr "全名稱" + +#~ msgid "Company:" +#~ msgstr "公司:" + +#~ msgid "Department:" +#~ msgstr "部門:" + +#~ msgid "Position:" +#~ msgstr "職位:" + +#~ msgid "Role:" +#~ msgstr "角色:" + +#~ msgid "- messages will be logged" +#~ msgstr "- 訊息將會被記錄" + +#~ msgid "- messages will not be logged" +#~ msgstr "- 訊息將不會被記錄" + +#~ msgid "Edit %s" +#~ msgstr "編輯 %s" + +#~ msgid "Conversation History with %s" +#~ msgstr "與 %s 的聊天命令歷程" + +#~ msgid "Contact with \"%s\" cannot be established" +#~ msgstr "無法與\"%s\"建立連線" + +#~ msgid "Registration information for transport %s has not arrived in time" +#~ msgstr "代理 %s 的註冊資訊未按時抵達" + +#~ msgid "Register to" +#~ msgstr "註冊到" + +#, fuzzy +#~ msgid "Enter name / JID of contact or groupchat" +#~ msgstr "輸入 JID 或是聯絡人名稱" + +#~ msgid "Search:" +#~ msgstr "搜尋:" + +#~ msgid "Without a connection, you can not change your password." +#~ msgstr "連線後才可變更密碼。" + +#~ msgid "Invalid password" +#~ msgstr "無效密碼" + +#~ msgid "The passwords typed in both fields must be identical." +#~ msgstr "在兩個輸入框中輸入的密碼必須一致。" + +#~ msgid "Enter it again for confirmation:" +#~ msgstr "再次輸入以確認:" + +#~ msgid "" +#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " +#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" +#~ msgstr "" +#~ "JID %s 不符合 RFC 標準。它沒有被加入聯絡人清單。請使用諸如 http://jru." +#~ "jabberstudio.org/ 的聯絡人清單管理工具移除它" + +#~ msgid "unsubscribe request from %s" +#~ msgstr "來自 %s 的解除認證請求" + +#~ msgid "<empty>" +#~ msgstr "<empty>" + +#~ msgid "Homepage:" +#~ msgstr "首頁:" + +#~ msgid "Manage Bookmarks" +#~ msgstr "書籤管理" + +#~ msgid "_Nickname:" +#~ msgstr "暱稱(_N):" + +#~ msgid "Pr_int status:" +#~ msgstr "印出狀態(_I):" + +#, fuzzy +#~ msgid "Add JID" +#~ msgstr "Jabber ID" + +#, fuzzy +#~ msgid "Preference:" +#~ msgstr "參數" + +#, fuzzy +#~ msgid "Preference" +#~ msgstr "參數" + +#, fuzzy +#~ msgid "" +#~ "Please fill in the data of the contact you want to add to your account " +#~ "%s" +#~ msgstr "請填入您想加入到帳號 %s 的聯絡人的資訊" + +#~ msgid "Please fill in the data of the contact you want to add" +#~ msgstr "請填入您想加入的聯絡人的資訊" + +#, fuzzy +#~ msgid "Recently" +#~ msgstr "最近:" + +#~ msgid "Add New Contact" +#~ msgstr "加入聯絡人" + +#~ msgid "_User ID:" +#~ msgstr "使用者 ID(_U):" + +#, fuzzy +#~ msgid "Type User ID" +#~ msgstr "使用者 ID:" + +#, fuzzy +#~ msgid "Type Nickname" +#~ msgstr "暱稱" + +#~ msgid "Personal Information" +#~ msgstr "個人資訊" + +#~ msgid "Avatar:" +#~ msgstr "頭像:" + +#~ msgid "Click to set your avatar" +#~ msgstr "按一下以設定您的頭像" + +#, fuzzy +#~ msgid "Remove Avatar" +#~ msgstr "移除群組" + +#~ msgid "Not fetched because of invisible status" +#~ msgstr "由於隱身狀態,未獲取" + +#~ msgid "Please wait..." +#~ msgstr "請稍等…" + +#~ msgid "" +#~ "When negotiating an encrypted session, should Gajim assume you want your " +#~ "messages to be logged?" +#~ msgstr "在協商加密的作業階段時,Gajim 是否應該假設您想要您的訊息被記錄?" + +#~ msgid "Log _encrypted chat session" +#~ msgstr "記錄加密的作業階段(_E)" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will keep logs for encrypted messages. Please note that " +#~ "when using end-to-end encryption the remote party has to agree on " +#~ "logging, else the messages will not be logged." +#~ msgstr "" +#~ "如果選取,Gajim 會記錄加密的訊息。請注意,使用 E2E 加密時,必須對方同意\n" +#~ "記錄,否則 Gajim 不會記錄。" + +#~ msgid "Yahoo! Address:" +#~ msgstr "Yahoo! 位址:" + +#~ msgid "Forward unread messages" +#~ msgstr "轉發未讀訊息" + +#~ msgid "All unread messages have been forwarded." +#~ msgstr "所有未讀訊息都已被轉發。" + +#~ msgid "Forward unread message then disconnect" +#~ msgstr " 轉發未讀訊息然後中斷連線" + +#~ msgid "MSN Address:" +#~ msgstr "MSN 位址:" + +#~ msgid "Confirm these session options" +#~ msgstr "確定這些作業階段屬性" + +#, fuzzy +#~ msgid "" +#~ "The remote client wants to negotiate a session with these features:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Are these options acceptable?" +#~ msgstr "" +#~ "遠端客戶端想要\n" +#~ " 協商建立一個具有一下特性的作業階段: \n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "是否接受?" + +#~ msgid "" +#~ "The remote client selected these options:\n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "Continue with the session?" +#~ msgstr "" +#~ "遠端客戶端選擇了這些特性: \n" +#~ "\n" +#~ "%s\n" +#~ "\n" +#~ "繼續進行作業階段?" + +#, fuzzy +#~ msgid "Always accept for this contact" +#~ msgstr "是否為此聯絡人使用 OpenPGP?" + +#~ msgid "End to End message encryption" +#~ msgstr "End to End 訊息加密" + +#~ msgid "Encrypting chat messages." +#~ msgstr "加密聊天訊息。" + +#~ msgid "Requires python-crypto." +#~ msgstr "需要 python-crypto。" + +#~ msgid "Session negotiation cancelled" +#~ msgstr "作業階段協商已取消" + +#~ msgid "This session WILL NOT be archived on server" +#~ msgstr "本次作業階段將不會在伺服器上被存檔" + +#~ msgid "This session is encrypted" +#~ msgstr "本次作業階段已被加密" + +#~ msgid " and WILL be logged" +#~ msgstr "且會被記錄" + +#~ msgid " and WILL NOT be logged" +#~ msgstr "且不會被記錄" + +#~ msgid "" +#~ "Remote contact's identity not verified. Click the shield button for more " +#~ "details." +#~ msgstr "遠端聯絡人的身分未確認。點擊盾型按鈕檢視詳情。" + +#, fuzzy +#~ msgid "end-to-end encryption disabled" +#~ msgstr "GPG 加密已停用" + +#~ msgid "" +#~ "Unable to decrypt message from %s\n" +#~ "It may have been tampered with." +#~ msgstr "" +#~ "無法解密來自 %s 的訊息\n" +#~ "它可能被篡改了。" + +#~ msgid "Unable to decrypt message" +#~ msgstr "無法解密訊息" + +#~ msgid "Enable ESessions encryption for this account." +#~ msgstr "為這個帳號啟用 ESession 加密。" + +#~ msgid "Should Gajim automatically start an encrypted session when possible?" +#~ msgstr "Gajim 是否應該在可能時自動發起加密的作業階段?" + +#~ msgid "" +#~ "[This is part of an encrypted session. If you see this message, something " +#~ "went wrong.]" +#~ msgstr "" +#~ "[這是加密作業階段的一部分。如果您看到了這條訊息,一定是有什麼地方發生錯誤" +#~ "了。]" + +#~ msgid "Requires python-avahi." +#~ msgstr "需要 python-avahi。" + +#, fuzzy +#~ msgid "Save Image as…" +#~ msgstr "圖片另存為…" + +#, fuzzy +#~ msgid "Exporting History Logs…" +#~ msgstr "輸出命令歷程記錄…" + +#~ msgid "Choose Client Cert #PCKS12" +#~ msgstr "選擇客戶端證書 #PCKS12" + +#~ msgid "When %s becomes:" +#~ msgstr "當 %s 變為:" + +#~ msgid "Adding Special Notification for %s" +#~ msgstr "正在為 %s 加入特殊提示" + +#, fuzzy +#~ msgid "" +#~ "It seems the SSL certificate of account %(account)s has changed and is " +#~ "not valid or your connection is being compromised.\n" +#~ "\n" +#~ "Old SHA-1 fingerprint: %(old_sha1)s\n" +#~ "Old SHA-256 fingerprint: %(old_sha256)s\n" +#~ "\n" +#~ "New SHA-1 fingerprint: %(new_sha1)s\n" +#~ "New SHA-256 fingerprint: %(new_sha256)s\n" +#~ "\n" +#~ "Do you still want to connect and update the fingerprint of the " +#~ "certificate?" +#~ msgstr "" +#~ "帳號 %(account)s 的 SSL 證書似乎發生了變化,或是您的連線被入侵了。\n" +#~ "舊指紋: %(old)s\n" +#~ "新指紋: %(new)s\n" +#~ "\n" +#~ "您仍想連線並更新證書的指紋資訊嗎?" + +#, fuzzy +#~ msgid "" +#~ "The authenticity of the %s certificate could be invalid.\n" +#~ "The certificate does not cover this domain." +#~ msgstr "%s 證書的認證可能是無效的" + +#~ msgid "Unable to load idle module" +#~ msgstr "無法載入閒置模組" + +#, fuzzy +#~ msgid "%s or %s is a directory but should be a file" +#~ msgstr "%s 是一個目錄但它應該是一個檔案" + +#~ msgid "creating logs database" +#~ msgstr "建立日誌資料庫" + +#, fuzzy +#~ msgid "moving %(src)s to %(dst)s" +#~ msgstr "傳送 %s 給 %s" + +#, fuzzy +#~ msgid "Rename account label" +#~ msgstr "重新命名帳號" + +#~ msgid "" +#~ "Requires gpg and python-gnupg (http://code.google.com/p/python-gnupg/)." +#~ msgstr "需要 gpg 和 python-gnupg (http://code.google.com/p/python-gnupg/)。" + +#, fuzzy +#~ msgid "Send Single Message..." +#~ msgstr "傳送單條訊息(_M)…" + +#, fuzzy +#~ msgid "We received an error: {}" +#~ msgstr "有一處錯誤" + +#~ msgid "E2E encryption disabled" +#~ msgstr "E2E 加密被停用" + +#, fuzzy +#~ msgid "" +#~ "Add this certificate to the list of trusted certificates.\n" +#~ "SHA-1 fingerprint of the certificate:\n" +#~ "%(sha1)s\n" +#~ "SHA256 fingerprint of the certificate:\n" +#~ "%(sha256)s" +#~ msgstr "" +#~ "將這個證書加入到可信任證書清單。\n" +#~ "這個證書的 SHA1 指紋資訊: \n" +#~ "%s" + +#~ msgid "uri" +#~ msgstr "uri" + +#, fuzzy +#~ msgid "" +#~ "Install /\n" +#~ "Upgrade" +#~ msgstr "已安裝" + +#, fuzzy +#~ msgid "Install/Upgrade" +#~ msgstr "已安裝" + +#, fuzzy +#~ msgid "Install and Upgrade Plugins" +#~ msgstr "已安裝" + +#, fuzzy +#~ msgid "Plugins updates" +#~ msgstr "外掛程式失敗" + +#~ msgid "cyan" +#~ msgstr "青色" + +#~ msgid "migrating logs database to indices" +#~ msgstr "遷移記錄資料庫到索引" + +#, fuzzy +#~ msgid "Send File..." +#~ msgstr "傳送檔案(_F)…" + +#, fuzzy +#~ msgid "HTTP File Upload not supported by your server" +#~ msgstr "您的伺服器不支援儲存元聯絡人資訊" + +#, fuzzy +#~ msgid "Jingle File Transfer" +#~ msgstr "檔案傳輸" + +#~ msgid "" +#~ "Your configured emoticons theme has not been found, so emoticons have " +#~ "been disabled." +#~ msgstr "您配置的表情圖示主題找不到,所以表情圖示被停用。" + +#~ msgid "Shows or hides the roster window" +#~ msgstr "顯示/隱藏聯絡人清單視窗" + +#~ msgid "Shows or hides the ipython window" +#~ msgstr "顯示/隱藏 ipython 視窗" + +#, fuzzy +#~ msgid "XMPP account %s" +#~ msgstr "XMPP 帳號 %s@%s" + +#, fuzzy +#~ msgid "Exception" +#~ msgstr "描述" + +#~ msgid "" +#~ "someone@somewhere.com would like you to add some contacts " +#~ "in your roster." +#~ msgstr "" +#~ "someone@somewhere.com 希望您向您的聯絡人清單 加入 一些聯絡" +#~ "人。" + +#~ msgid "" +#~ "Ordered list (space separated) of connection type to try. Can contain " +#~ "tls, ssl or plain" +#~ msgstr "應嘗試的連線類型的有序清單(用空格分隔)。可以包含 tls,ssl,或 plain" + +#~ msgid "_Actions" +#~ msgstr "動作(_A)" + +#~ msgid "You are already in group chat %s" +#~ msgstr "您已經在聊天室 %s" + +#~ msgid "Join Group Chat with account %s" +#~ msgstr "使用帳號 %s 加入聊天室" + +#~ msgid "" +#~ "You have to choose an account from which you want to join the groupchat." +#~ msgstr "您需要選擇一個帳號,用它來加入聊天室。" + +#, fuzzy +#~ msgid "Please enter the group chat JID as room@server." +#~ msgstr "請輸入聊天室的 Jabber ID,以 room@server 的形式。" + +#, fuzzy +#~ msgid "The group chat JID contains invalid characters." +#~ msgstr "聊天室 Jabber ID 包含不合法字元。" + +#~ msgid "Start Chat with account %s" +#~ msgstr "使用帳號 %s 開始聊天" + +#, fuzzy +#~ msgid "" +#~ "Fill in the nickname or the JID of the contact you would like\n" +#~ "to send a chat message to:" +#~ msgstr "填寫一個暱稱或是 Jabber ID,您將要給其傳送聊天訊息:" + +#, fuzzy +#~ msgid "Nickname / JID" +#~ msgstr "無效的 Jabber ID" + +#~ msgid "Unable to parse \"%s\"." +#~ msgstr "無法解析 \"%s\"。" + +#~ msgid "Shows the chat dialog so that you can send messages to a contact" +#~ msgstr "顯示對話方塊用於給聯絡人傳送訊息" + +#~ msgid "JID of the contact that you want to chat with" +#~ msgstr "您想聊天的 JID" + +#~ msgid "message content. The account must be specified or \"\"" +#~ msgstr "訊息內容。帳號必須被指定或為\"\"" + +#~ msgid "Adds contact to roster" +#~ msgstr "向聯絡人清單加入聯絡人" + +#~ msgid "jid" +#~ msgstr "jid" + +#~ msgid "Adds new contact to this account" +#~ msgstr "為此帳號加入新聯絡人" + +#~ msgid "Opens 'Start Chat' dialog" +#~ msgstr "開啟 '開始聊天' 對話方塊" + +#~ msgid "Starts chat, using this account" +#~ msgstr "開始聊天,使用這個帳號" + +#, fuzzy +#~ msgid "Handle a xmpp:/ URI" +#~ msgstr "處理一個 xmpp:/ uri" + +#~ msgid "URI to handle" +#~ msgstr "要處理的 URI" + +#~ msgid "Account in which you want to handle it" +#~ msgstr "您想要用其處理它的帳號" + +#~ msgid "Message content" +#~ msgstr "訊息內容" + +#~ msgid "Join a MUC room" +#~ msgstr "加入聊天室" + +#~ msgid "Nickname to use" +#~ msgstr "要使用的暱稱" + +#~ msgid "Password to enter the room" +#~ msgstr "進入聊天室的密碼" + +#~ msgid "Account from which you want to enter the room" +#~ msgstr "您想要用其加入聊天室的帳號" + +#, fuzzy +#~ msgid "No URI given" +#~ msgstr "沒有給出 URI" + +#, fuzzy +#~ msgid "Wrong URI" +#~ msgstr "錯誤的 uri" + +#~ msgid "Nickname:" +#~ msgstr "暱稱:" + +#~ msgid "Server:" +#~ msgstr "伺服器:" + +#~ msgid "Join this room _automatically when I connect" +#~ msgstr "當我連線後自動加入此聊天室(_A)" + +#~ msgid "Bro_wse Rooms" +#~ msgstr "Bro_wse Rooms" + +#, fuzzy +#~ msgid "Requires libgtkspell and libenchant." +#~ msgstr "需要 libgtkspell。" + +#, fuzzy +#~ msgid "Last MAM id we are syncronized with" +#~ msgstr "上次從伺服器同步命令歷程記錄" + +#, fuzzy +#~ msgid "Network-Watcher" +#~ msgstr "Network-manager" + +#~ msgid "Autodetection of network status." +#~ msgstr "自動偵測網路狀態。" + +#, fuzzy +#~ msgid "Requires gnome-network-manager" +#~ msgstr "需要 gnome-network-manager 和 python-dbus。" + +#, fuzzy +#~ msgid "Feature not available, see Help->Features" +#~ msgstr "特性在 Windows 下無法使用。" + +#~ msgid "This contact does not support file transfer." +#~ msgstr "這個聯絡人不支援檔案傳輸" + +#, fuzzy +#~ msgid "You need to know the real JID of the contact to send them a file." +#~ msgstr "您需要知道這個聯絡人的真實 JID 才能向他/她傳送檔案。" + +#~ msgid "" +#~ "You have to install %s dictionary to use spellchecking, or choose another " +#~ "language by setting the speller_language option." +#~ msgstr "" +#~ "您需安裝 %s 詞典以使用拼寫檢查,或是設定拼寫檢查選項以選擇另外一種語言。" +#~ "(_L)" + +#~ msgid "Hides the buttons in chat windows." +#~ msgstr "在聊天視窗中隱藏按鈕。" + +#~ msgid "Change the room's subject (Alt+T)" +#~ msgstr "變更本聊天室主題(Alt+T)" + +#~ msgid "Bookmark this room (Ctrl+B)" +#~ msgstr "將本聊天室加入書籤(Ctrl+B)" + +#~ msgid "Browse the chat history (Ctrl+H)" +#~ msgstr "瀏覽聊天記錄(Ctrl+H)" + +#, fuzzy +#~ msgid "Show advanced functions (Alt+D)" +#~ msgstr "顯示進階功能選單(Alt+D)" + +#~ msgid "Add this contact to roster (Ctrl+D)" +#~ msgstr "向聯絡人清單中加入聯絡人(Ctrl+D)" + +#~ msgid "Invite contacts to the conversation (Ctrl+G)" +#~ msgstr "邀請聯絡人參與對話(Ctrl+G)" + +#, fuzzy +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "顯示聯絡人的側寫" + +#~ msgid "Show the contact's profile (Ctrl+I)" +#~ msgstr "顯示聯絡人的側寫" + +#~ msgid "Ma_ke message windows compact" +#~ msgstr "使訊息視窗精簡(_K)" + +#~ msgid "Hide all buttons in chat windows" +#~ msgstr "在聊天視窗中隱藏所有按鈕" + +#~ msgid "" +#~ "If True, Gajim will ask for avatar each contact that did not have an " +#~ "avatar last time or has one cached that is too old." +#~ msgstr "" +#~ "如過為真,Gajim 會向每一個快取的頭像太久或上次未能獲得其頭像的聯絡人請求頭" +#~ "像。" + +#~ msgid "Disk Write Error" +#~ msgstr "磁碟寫入錯誤" + +#~ msgid "Set Custom _Avatar..." +#~ msgstr "設定自訂頭像(_A)…" + +#~ msgid "SSL certificate validation" +#~ msgstr "SSL 憑證驗證" + +#~ msgid "" +#~ "A library used to validate server certificates to ensure a secure " +#~ "connection." +#~ msgstr "一個用於驗證伺服器的證書以保證連線安全的函式庫。" + +#, fuzzy +#~ msgid "Requires python-pyopenssl > 0.12 and pyasn1." +#~ msgstr "需要 python-pyopenssl。" + +#, fuzzy +#~ msgid "?CLI:room" +#~ msgstr "聊天室" + +#, fuzzy +#~ msgid "?CLI:nick" +#~ msgstr "暱稱" + +#, fuzzy +#~ msgid "?CLI:password" +#~ msgstr "密碼" + +#~ msgid "Use D-Bus and Notification-Daemon to show notifications" +#~ msgstr "使用 D-Bus 和通知處理序顯示通知" + +#~ msgid "Notification" +#~ msgstr "通知" + +#~ msgid "Passive popups notifying for new events." +#~ msgstr "有新的時間時,主動彈出提示。" + +#~ msgid "" +#~ "Requires python-notify or instead python-dbus in conjunction with " +#~ "notification-daemon." +#~ msgstr "需要 python-notify 或 python-dbus 和 notification-daemon的組合。" + +#~ msgid "Ignore" +#~ msgstr "忽略" + +#~ msgid "_Open Gmail Inbox" +#~ msgstr "開啟 Gmail 收件匣(_O)" + +#~ msgid "Notify on new _GMail email" +#~ msgstr "新 Gmail 郵件通知" + +#~ msgid "" +#~ "If checked, Gajim will show a notification when a new e-mail is received " +#~ "via GMail" +#~ msgstr "如果選取,Gajim 在 GMail 收到新的電子郵件是會顯示一個通知" + +#~ msgid "Display _extra email details" +#~ msgstr "顯示額外的郵件資訊(_E)" + +#, fuzzy +#~ msgid "" +#~ "If checked, Gajim will also include information about the sender of new " +#~ "emails" +#~ msgstr "如果選取,Gajim 將同時包含新電子郵件傳送者的資訊" + +#~ msgid "GMail Options" +#~ msgstr "GMail 選項" + +#, fuzzy +#~ msgid "12" +#~ msgstr "1" + +#, fuzzy +#~ msgid "20" +#~ msgstr "2" + +#~ msgid "" +#~ "Specify the command to run when new mail arrives, e.g.: /usr/bin/getmail -" +#~ "q" +#~ msgstr "指定新電子郵件到達時執行的命令,比如: /usr/bin/getmail -q" + +#~ msgid "GMail Email Received" +#~ msgstr "收到 GMail 郵件" + +#, fuzzy +#~ msgid "New e-mail on %(gmail_mail_address)s" +#~ msgstr "%(gmail_mail_address)s 上的新郵件" + +#, fuzzy +#~ msgid "You have %d new e-mail conversation" +#~ msgid_plural "You have %d new e-mail conversations" +#~ msgstr[0] "您有 %d 條新郵件作業階段" + +#~ msgid "" +#~ "\n" +#~ "\n" +#~ "From: %(from_address)s\n" +#~ "Subject: %(subject)s\n" +#~ "%(snippet)s" +#~ msgstr "" +#~ "\n" +#~ "\n" +#~ "來自: %(from_address)s\n" +#~ "主題: %(subject)s\n" +#~ "%(snippet)s" + +#~ msgid "Resour_ce:" +#~ msgstr "資源(_C):" + +#~ msgid "" +#~ "Resource is sent to the Jabber server in order to separate the same JID " +#~ "in two or more parts depending on the number of the clients connected in " +#~ "the same server with the same account. So you might be connected in the " +#~ "same account with resource 'Home' and 'Work' at the same time. The " +#~ "resource which has the highest priority will get the events. (see below)" +#~ msgstr "" +#~ "資源被傳送給伺服器以將用不同客戶端登入的同一帳號區分為兩個或更多部分(取\n" +#~ "決於登入的客戶端的數目)。比如,您可以利用\"家庭\"和\"工作\"兩個資源同時\n" +#~ "連線到伺服器。擁有最高優先等級的資源得到伺服器的事件回應。(請看下面)" + +#~ msgid "Priority will change automatically according to your status." +#~ msgstr "優先等級將根據您的狀態自動轉換。" + +#~ msgid "Anonymous authentication" +#~ msgstr "匿名認證" + +#~ msgid "" +#~ "Priority is used in Jabber to determine who gets the events from the " +#~ "jabber server when two or more clients are connected using the same " +#~ "account; The client with the highest priority gets the events" +#~ msgstr "" +#~ "優先等級是當多個客戶端使用同一帳號連線到伺服器時,伺服器決定事件回應對\n" +#~ "像的依據。優先等級最高的客戶端將得到事件回應" + +#, fuzzy +#~ msgid "Synchronize contacts" +#~ msgstr "同步聯絡人" + +#~ msgid "Click to request authorization to all contacts of another account" +#~ msgstr "點擊以請求另一個帳號所有聯絡人的認證" + +#~ msgid "Chan_ge Password" +#~ msgstr "變更密碼(_G)" + +#~ msgid "Administration operations" +#~ msgstr "管理作業" + +#~ msgid "_Client Cert File:" +#~ msgstr "客戶端證書檔案(_C)" + +#~ msgid "Browse..." +#~ msgstr "瀏覽…" + +#~ msgid "Certificate is e_ncrypted" +#~ msgstr "憑證已加密(_N)" + +#~ msgid "" +#~ "If checked, Gajim, when launched, will automatically connect to jabber " +#~ "using this account" +#~ msgstr "如果選取,Gajim 會在啟動時自動使用本帳號連線 jabber 伺服器" + +#, fuzzy +#~ msgid "Synchronize logs with server" +#~ msgstr "同步聯絡人" + +#~ msgid "Synch_ronize account status with global status" +#~ msgstr "將帳號狀態與全域狀態同步(_R)" + +#~ msgid "" +#~ "If checked, any change to the global status (handled by the combobox at " +#~ "the bottom of the roster window) will change the status of this account " +#~ "accordingly" +#~ msgstr "" +#~ "如果選取,變更全域狀態(在聯絡人清單視窗下方核取方塊中調節)就會相應地變更目" +#~ "前帳號的狀態" + +#~ msgid "" +#~ "If checked, Gajim will also broadcast some more IPs except from just your " +#~ "IP, so file transfer has higher chances of working." +#~ msgstr "" +#~ "如果選取, Gajim 會廣播更多的 IP位址,這使得檔案傳輸成功的可能性得到提高。" + +#~ msgid "Proxy" +#~ msgstr "代理伺服器" + +#~ msgid "" +#~ "Check this so Gajim will ask you before sending your password over an " +#~ "insecure connection." +#~ msgstr "如果選取,Gajim 在透過不安全的網路連線傳送密碼前會詢問您" + +#~ msgid "" +#~ "If checked, Gajim will send keep-alive packets to prevent connection " +#~ "timeout which results in disconnection" +#~ msgstr "如果選取,Gajim 會傳送資料封包防止逾時造成的連線中斷" + +#~ msgid "Use cust_om hostname/port" +#~ msgstr "使用自訂主機名稱/連接埠號碼" + +#~ msgid "_Hostname: " +#~ msgstr "主機名稱(_H): " + +#~ msgid "_Port: " +#~ msgstr "連接埠號碼(_P): " + +#~ msgid "Choose _Key..." +#~ msgstr "選擇密鑰(_K)…" + +#~ msgid "" +#~ "If checked, Gajim will get the password from a GPG agent like seahorse" +#~ msgstr "如果選取,Gajim 會從一個 GPG agent (比如 Seahorse)得到密碼" + +#~ msgid "OpenPGP" +#~ msgstr "OpenPGP" + +#~ msgid "_Edit Personal Information..." +#~ msgstr "編輯個人資訊…" + +#~ msgid "Personal Information" +#~ msgstr "個人資訊" + +#~ msgid "Co_nnect on Gajim startup" +#~ msgstr "Gajim 啟動時連線(_O)" + +#~ msgid "Synchroni_ze account status with global status" +#~ msgstr "將帳號狀態與全域狀態同步(_Z)" + +#~ msgid "Use cust_om port:" +#~ msgstr "使用自訂連接埠號碼:" + +#~ msgid "" +#~ "If the default port that is used for incoming messages is unfitting for " +#~ "your setup you can select another one here.\n" +#~ "You might consider to change possible firewall settings." +#~ msgstr "" +#~ "如果用於接收訊息的預設連接埠不合適,您可以在這裡選擇另外一個。\n" +#~ "您可能需要變更防火牆設定。" + +#~ msgid "OpenPGP is not usable on this computer" +#~ msgstr "OpenPGP 在這臺電腦上無法使用" + +#~ msgid "To change the account name, you must be disconnected." +#~ msgstr "如要變更帳號名稱,需中斷連線。" + +#~ msgid "To change the account name, you must read all pending events." +#~ msgstr "如要變更帳號名稱,需先處理所有未處理事件" + +#~ msgid "Account Name Already Used" +#~ msgstr "帳號名稱已經被佔用" + +#~ msgid "" +#~ "This name is already used by another of your accounts. Please choose " +#~ "another name." +#~ msgstr "該名稱已被您的另一個帳號使用。請選擇其他名稱" + +#~ msgid "Account name cannot be empty." +#~ msgstr "帳號名稱不能為空。" + +#~ msgid "Account name cannot contain spaces." +#~ msgstr "帳號名稱不能包含空格。" + +#~ msgid "Enter a new name for account %s" +#~ msgstr "為帳號 %s 輸入新的名稱" + +#, fuzzy +#~ msgid "A JID must be in the form \"user@servername\"." +#~ msgstr "Jabber ID 的格式為 \"使用者@伺服器名稱\"。" + +#~ msgid "No such account available" +#~ msgstr "不明的帳號可用" + +#~ msgid "" +#~ "You must create your account before editing your personal information." +#~ msgstr "您必須在編輯個人資訊前建立帳號。" + +#~ msgid "Without a connection, you can not edit your personal information." +#~ msgstr "無法離線編輯個人資訊。" + +#~ msgid "Your server can't save your personal information." +#~ msgstr "您的伺服器無法儲存您的個人資訊。" + +#~ msgid "Please rename or remove it before enabling link-local messaging." +#~ msgstr "請在使用本地訊息前重新命名或移除它。" + +#~ msgid "THANKS:" +#~ msgstr "感謝:" + +#~ msgid "Could not write to %s. Session Management support will not work" +#~ msgstr "不能寫入到 %s 。作業階段管理支援功能未啟用" + +#~ msgid "Jabber Traffic" +#~ msgstr "Jabber 通信" + +#~ msgid "_Enable" +#~ msgstr "啟用(_E)" + +#~ msgid "Hide IN stanzas" +#~ msgstr "隱藏 IN stanzas" + +#~ msgid "Hide OUT stanzas" +#~ msgstr "隱藏 OUT stanzas" + +#~ msgid "Hide Presence stanzas" +#~ msgstr "隱藏 Presence stanzas" + +#~ msgid "Hide IQ stanzas" +#~ msgstr "隱藏 IQ stanzas" + +#~ msgid "Filter" +#~ msgstr "過濾器" + +#~ msgid "_IQ" +#~ msgstr "_IQ" + +#~ msgid "Info/Query" +#~ msgstr "資訊/查詢" + +#~ msgid "XML Input" +#~ msgstr "XML 輸入" + +#~ msgid "XML Console for %s" +#~ msgstr "帳號 %s 的 XML 主控臺" + +#, fuzzy +#~ msgid "Idle for:" +#~ msgstr "閒置了 %s" + +#, fuzzy +#~ msgid "" +#~ "Request offline status messages from all contacts upon connecting. " +#~ "WARNING: This causes a lot of requests to be sent!" +#~ msgstr "" +#~ "請求所有離線聯絡人的離線狀態訊息,當一個帳號建立連線時。警告: 這會傳送大量" +#~ "的請求!" + +#~ msgid "Last status: %s" +#~ msgstr "最後狀態: %s" + +#~ msgid " since %s" +#~ msgstr "自從 %s" + +#~ msgid "since %s" +#~ msgstr "自 %s" + +#~ msgid "Concede" +#~ msgstr "Concede" + +#~ msgid "Forbid" +#~ msgstr "Forbid" + +#~ msgid "Auto" +#~ msgstr "Auto" + +#~ msgid "Method Auto" +#~ msgstr "Method Auto" + +#~ msgid "Method Local" +#~ msgstr "Method Local" + +#~ msgid "Method Manual" +#~ msgstr "Method Manual" + +#~ msgid "body" +#~ msgstr "body" + +#~ msgid "false" +#~ msgstr "false" + +#~ msgid "stream" +#~ msgstr "stream" + +#~ msgid "concede" +#~ msgstr "concede" + +#~ msgid "forbid" +#~ msgstr "forbid" + +#~ msgid "oppose" +#~ msgstr "oppose" + +#~ msgid "prefer" +#~ msgstr "prefer" + +#~ msgid "otr" +#~ msgstr "otr" + +#~ msgid "save" +#~ msgstr "save" + +#~ msgid "Last time we syncronized with logs from server." +#~ msgstr "上次從伺服器同步命令歷程記錄" + +#~ msgid "Invalid expire value" +#~ msgstr "無效的過期值" + +#~ msgid "Expire must be a valid positive integer." +#~ msgstr "過期值必須是一個有效的正整數。" + +#~ msgid "There is an error with the form" +#~ msgstr "在表格中有一處錯誤" + +#~ msgid "There is an error" +#~ msgstr "有一處錯誤" + +#~ msgid "How many minutes should last lines from previous conversation last." +#~ msgstr "上次談話的最後幾列保留多少分鐘。" + +#~ msgid "" +#~ "Your configured emoticons theme cannot been loaded. You maybe need to " +#~ "update the format of emoticons.py file. See http://trac.gajim.org/wiki/" +#~ "Emoticons for more details." +#~ msgstr "" +#~ "您配置的表情圖示主題無法載入。您可能需要升級 emoticons.py 檔案的格式。請參" +#~ "考 http://trac.gajim.org/wiki/Emoticons" + +#~ msgid "You will be connected to %s without OpenPGP." +#~ msgstr "您將在無 OpenPGP 情況下連線到 %s。" + +#~ msgid "The following message was NOT encrypted" +#~ msgstr "下面的訊息沒有被加密" + +#~ msgid "Toggle Open_PGP Encryption" +#~ msgstr "切換Open_PGP加密" + +#~ msgid "Toggle End to End Encryption" +#~ msgstr "切換E2E加密" + +#, fuzzy +#~ msgid "OpenPGP encryption enabled" +#~ msgstr "GPG 加密已啟用" + +#, fuzzy +#~ msgid "No OpenPGP key assigned" +#~ msgstr "沒有指定 GPG 密鑰" + +#, fuzzy +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages with OpenPGP." +#~ msgstr "尚未為這個聯絡人指定 GPG 密鑰。因此您不能用 GPG 加密資訊。" + +#~ msgid "Session WILL be logged" +#~ msgstr "作業階段將被記錄" + +#~ msgid "Session WILL NOT be logged" +#~ msgstr "作業階段將不會被記錄" + +#~ msgid "is" +#~ msgstr "是" + +#~ msgid "is NOT" +#~ msgstr "不是" + +#~ msgid "will" +#~ msgstr "會" + +#~ msgid "will NOT" +#~ msgstr "不會" + +#~ msgid "The following message was encrypted" +#~ msgstr "下面的訊息是加密的" + +#, fuzzy +#~ msgid "Toggle the OpenPGP encryption" +#~ msgstr "切換Open_PGP加密" + +#~ msgid "" +#~ "Should Gajim automatically start an encrypted session with this contact " +#~ "when possible?" +#~ msgstr "對於此聯絡人,Gajim 是否應該自動發起加密作業階段,當可能時?" + +#~ msgid "Neither the remote presence is signed, nor a key was assigned." +#~ msgstr "遠端 presence 未簽名,也未指定密鑰。" + +#~ msgid "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "聯絡人的密鑰(%s)與 Gajim 中指定的密鑰不匹配" + +#~ msgid "[This message is *encrypted* (See :XEP:`27`]" +#~ msgstr "[本條訊息已 *加密* (見: XEP:`27`]" + +#~ msgid "" +#~ "Your chat session with %(jid)s is encrypted.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "您與 %(jid)s 的聊天作業階段已被加密。\n" +#~ "\n" +#~ "作業階段的短認證字串是 %(sas)s。" + +#~ msgid "You have already verified this contact's identity." +#~ msgstr "您已經確認了這個聯絡人的身分。" + +#~ msgid "Contact's identity verified" +#~ msgstr "聯絡人身分已確認" + +#~ msgid "" +#~ "To be certain that only the expected person can read your messages " +#~ "or send you messages, you need to verify their identity by clicking the " +#~ "button below." +#~ msgstr "" +#~ "為了確保只有您期望的人可以看到您傳送的訊息或給您傳送訊息,您需要驗" +#~ "證他們的身分資訊。請點擊下面的按鈕。" + +#~ msgid "Contact's identity NOT verified" +#~ msgstr "聯絡人身分未確認" + +#, fuzzy +#~ msgid "Verify…" +#~ msgstr "辨別(_V)" + +#~ msgid "Have you verified the contact's identity?" +#~ msgstr "您確認了聯絡人的身分嗎?" + +#~ msgid "" +#~ "To prevent talking to an unknown person, you should speak to %(jid)s directly (in person or on the phone) and verify that they see the same " +#~ "Short Authentication String (SAS) as you.\n" +#~ "\n" +#~ "This session's Short Authentication String is %(sas)s." +#~ msgstr "" +#~ "為了防止您是在與不明方交談,您應該與 %(jid)s 直接交談(當面或通電話)" +#~ "並確認他們看到的短認證字串(SAS)與您相同。\n" +#~ "\n" +#~ "這次作業階段的短認證字串是 %(sas)s" + +#~ msgid "Did you talk to the remote contact and verify the SAS?" +#~ msgstr "您與遠端聯絡人通話並驗證了 SAS 嗎?" + +#~ msgid "" +#~ "The contact's key (%s) does not match the key assigned in Gajim." +#~ msgstr "聯絡人的密鑰(%s)與在 Gajim 中指定的密鑰不匹配。" + +#, fuzzy +#~ msgid "" +#~ "No OpenPGP key is assigned to this contact. So you cannot encrypt " +#~ "messages." +#~ msgstr "沒有為這個聯絡人指定密鑰。因此您無法加密訊息。" + +#, fuzzy +#~ msgid "" +#~ "OpenPGP key is assigned to this contact, but you do not trust their " +#~ "key, so message cannot be encrypted. Use your OpenPGP client " +#~ "to trust their key." +#~ msgstr "" +#~ "盡管為這個聯絡人指定了密鑰,但您不信任他的密鑰,因此訊息無法" +#~ "被加密。使用您的 GPG 客戶端以信任他的密鑰。" + +#, fuzzy +#~ msgid "" +#~ "OpenPGP Key is assigned to this contact, and you trust their key, so " +#~ "messages will be encrypted." +#~ msgstr "聯絡人被指定了 GPG 密鑰,且您信任他的密鑰,所以訊息會被加密。" + +#~ msgid "" +#~ "This icon indicates that this message has not yet\n" +#~ "been received by the remote end. If this icon stays\n" +#~ "for a long time, it's likely the message got lost." +#~ msgstr "" +#~ "這個圖示是說這條訊息還沒有被遠端收到。如果這個圖示已經存在很久了,很可能這" +#~ "條訊息丟失了。" + +#~ msgid "" +#~ "If True, listen to D-Bus signals from NetworkManager and change the " +#~ "status of accounts (provided they do not have listen_to_network_manager " +#~ "set to False and they sync with global status) based upon the status of " +#~ "the network connection." +#~ msgstr "" +#~ "如果為真,監聽 NetworkManager 的 D-Bus 信號並依據網路連線狀態變更帳號狀\n" +#~ "態(如果它們沒有將 listen_to_network_manager 設定為假而且它們被設定為與\n" +#~ "全域狀態同步)。" + +#~ msgid "" +#~ "The database file (%s) cannot be read. Try to repair it or remove it (all " +#~ "history will be lost)." +#~ msgstr "" +#~ "資料庫檔案 (%s) 不能被讀取。請嘗試修復它或是移除它(所有命令歷程記錄會丟" +#~ "失)。" + +#~ msgid "Database cannot be read." +#~ msgstr "不能讀取資料庫。" + +#~ msgid "A message from a non-valid JID arrived, it has been ignored." +#~ msgstr "收到了一個從一個無效的 JID 傳送的訊息,它已經被忽略了。" + +#~ msgid "Smooth scroll message in conversation window" +#~ msgstr "平滑捲動聊天視窗中的訊息" + +#~ msgid "Edit _Privacy Lists..." +#~ msgstr "編輯隱私策略清單(_P)…" + +#~ msgid "_Administrator" +#~ msgstr "管理員(_A)" + +#~ msgid "Sends a message to users currently connected to this server" +#~ msgstr "向所有目前連線到這個伺服器的使用者傳送一條訊息" + +#~ msgid "Sets Message of the Day" +#~ msgstr "設定每日訊息" + +#~ msgid "Updates Message of the Day" +#~ msgstr "更新每日訊息" + +#~ msgid "Deletes Message of the Day" +#~ msgstr "刪除每日訊息" + +#~ msgid "Add _Contact..." +#~ msgstr "加入聯絡人(_C)…" + +#~ msgid "P_lugins" +#~ msgstr "外掛程式(_L)" + +#~ msgid "File _Transfers" +#~ msgstr "檔案傳輸(_T)" + +#~ msgid "Help online" +#~ msgstr "線上求助" + +#~ msgid "Frequently Asked Questions (online)" +#~ msgstr "被頻繁提問的問題 (線上)" + +#~ msgid "Fea_tures" +#~ msgstr "特性(_T)" + +#~ msgid "to %s account" +#~ msgstr "至帳號 %s" + +#~ msgid "using %s account" +#~ msgstr "使用 %s 帳號" + +#~ msgid "of account %s" +#~ msgstr "帳號 %s 的" + +#~ msgid "for account %s" +#~ msgstr "帳號 %s" + +#~ msgid "" +#~ "By removing this contact you also remove authorization resulting in him " +#~ "or her always seeing you as offline." +#~ msgstr "移除此聯絡人的同時將移除認證,導致他/她將一直看到您為離線。" + +#~ msgid "Message Body +
    + + ''', + + ''' +
    + ''', + + ''' + +

    + O + MG + , I'm green with + envy! +

    + + ''', + + ''' +
    + ''', + + ''' + +

    + As Emerson said in his essay + + Self-Reliance: +

    +

    + "A foolish consistency is the hobgoblin of little minds." +

    + + ''', + + ''' +
    + ''', + + ''' + +

    + Hey, are you licensed to Jabber? +

    +

    + A License to Jabber +

    + + ''', + + ''' +
    + ''', + + ''' + +
      +
    • One
    • +
    • Two
    • +
    • Three
    • +
    +
    +
    def fac(n):
    +        def faciter(n,acc):
    +        if n==0: return acc
    +        return faciter(n-1, acc*n)
    +        if n<0: raise ValueError('Must be non-negative')
    +        return faciter(n,1)
    + + ''', + + ''' +
    + ''', + + ''' + +
      +
    1. One
    2. +
    3. + Two is nested: +
        +
      • One
      • +
      • Two
      • +
      • Three
      • +
      • Four
      • +
      +
    4. +
    5. Three
    6. +
    + + ''', + + ''' +
    + ''', + + ''' + +

    + + xmpp link + : +

    +
    + +

    + examples@example.org wrote: +

    +

    this cite - bla bla bla, smile- :-) …

    +
    +
    +

    some text

    +
    +
    +

    +

    #232/1

    + + ''', + + ''' +
    + ''', + + ''' + + Larry + + ''', + +] + + +class TextviewWindow(Gtk.Window): + def __init__(self): + Gtk.Window.__init__(self, title="Textview Test") + self.set_default_size(600, 600) + + self._textview = ConversationTextview(None) + + scrolled = Gtk.ScrolledWindow() + scrolled.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC) + scrolled.add(self._textview.tv) + self.add(scrolled) + self.show() + self._print_xhtml() + + def _print_xhtml(self): + for xhtml in XHTML: + additional_data = AdditionalDataDict() + additional_data.set_value('gajim', 'xhtml', xhtml) + self._textview.print_real_text(None, additional_data=additional_data) + self._textview.print_real_text('\n') + +win = TextviewWindow() +win.connect("destroy", Gtk.main_quit) +win.show_all() +Gtk.main() diff --git a/test/gtk/ssl_error_dialog.py b/test/gtk/ssl_error_dialog.py new file mode 100644 index 0000000..eba50f8 --- /dev/null +++ b/test/gtk/ssl_error_dialog.py @@ -0,0 +1,55 @@ +import gi +gi.require_version('Gtk', '3.0') +from gi.repository import Gtk + +import OpenSSL + +from gajim import gui +gui.init('gtk') + +from test.gtk import util +from gajim.common.const import CSSPriority +from gajim.gui.ssl_error_dialog import SSLErrorDialog + +util.load_style('gajim.css', CSSPriority.APPLICATION) + +cert = ''' +-----BEGIN CERTIFICATE----- +MIIFhDCCBGygAwIBAgISA4oUEifTr7Y+mcdiwu6KWpcVMA0GCSqGSIb3DQEBCwUA +MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD +ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0xOTA0MDMxODE3NDVaFw0x +OTA3MDIxODE3NDVaMBsxGTAXBgNVBAMMECoubGlnaHR3aXRjaC5vcmcwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC/3mcevikse7QwDYwPcGAD9zHw3UWE +7J8SJR349/rFTF2tBFDvEa62OUKTCg5vPKVKaXHlzruk/A7blgqsEdugycORwPD1 +7YNJ27EldrRtotjclurzKL6D/MgcaQ4cTkPOD3cWbf/L+HClGrpFt7su6Z6cTutC +wiAYAdlfmVgSSv15F1xOTyFyfGJKQnW628Xs8xUvZh5H/SsEEum4MwVVGW06Z/A/ +mwX2jmJUb2M25S1Ma025nZpGYyAAqecTmPb3fStnXm4sdytfZhm4+nj9mH9GQIU1 +t/jO/7X7IFpc9DvVRSumSVqvNaVgiWmTLP4VxlCVJO6mibOXXUUDA5RfAgMBAAGj +ggKRMIICjTAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsG +AQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFC4/ZRurw2wVFsgJBTb9Fh/3 +0aV9MB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMG8GCCsGAQUFBwEB +BGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3AuaW50LXgzLmxldHNlbmNyeXB0 +Lm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNlbmNyeXB0 +Lm9yZy8wSQYDVR0RBEIwQIIQKi5saWdodHdpdGNoLm9yZ4IOKi5tZXRyb25vbWUu +aW2CDmxpZ2h0d2l0Y2gub3JnggxtZXRyb25vbWUuaW0wTAYDVR0gBEUwQzAIBgZn +gQwBAgEwNwYLKwYBBAGC3xMBAQEwKDAmBggrBgEFBQcCARYaaHR0cDovL2Nwcy5s +ZXRzZW5jcnlwdC5vcmcwggECBgorBgEEAdZ5AgQCBIHzBIHwAO4AdQB0ftqDMa0z +EJEhnM4lT0Jwwr/9XkIgCMY3NXnmEHvMVgAAAWnkosBAAAAEAwBGMEQCICEfmTBk +OxS95eiYsfTH5HdL7kfp68BSin5LqeGyyxk9AiA3qeDZNKklJTdWqYjto7kUqJNd +YiL99SrqwzR6w+AqSwB1ACk8UZZUyDlluqpQ/FgH1Ldvv1h6KXLcpMMM9OVFR/R4 +AAABaeSiwEUAAAQDAEYwRAIgFxouOkJeqkQUe6zNI5w/6YBIQFrsrIZdPcX+r6JI +is8CIEEETzlEyj9lWR/BSSruSp0FT5CuoNNeEG7HxrJ+gVhZMA0GCSqGSIb3DQEB +CwUAA4IBAQAQtfs1NPNMmBQRcKsZyGLZsvpp2hIhdYi72RYnHnIl4MXbhyNj9xtI +cJr9PQ+3FsSnxy7LDjZMpbmBuXhawOyPBPw2M0f0Tv6Eo6miwvP/X1kLE3VjTzCo +6JPh6bEB5wa+kH/pUcGlV6uyT7IuXOiArx0VmIpTA3uwlVdfynOnR3CF20Ds4FLc +JxbGMqRuw/sGiTLKlXc1xVil8WZjL3hokzrgI7K6np2skUjWuMZvhJgwi5QiE7/C +ejsJoYkpvcaiaLAyVymTY/n/oM2oQpv5Mqjit+18RB9c2P+ifH5iDKC/jTKn4NNz +8xSTlUlCBTCozjzscZVeVDIojmejWclT +-----END CERTIFICATE-----''' + +cert = OpenSSL.crypto.load_certificate(OpenSSL.crypto.FILETYPE_PEM, cert) +ssl_error_num = 10 +win = SSLErrorDialog('testacc', None, cert, ssl_error_num) +win.connect('destroy', Gtk.main_quit) +win.show_all() +Gtk.main() diff --git a/test/gtk/util.py b/test/gtk/util.py new file mode 100644 index 0000000..d09a573 --- /dev/null +++ b/test/gtk/util.py @@ -0,0 +1,23 @@ +from pathlib import Path + +from gi.repository import Gdk +from gi.repository import Gtk + + +def get_gajim_dir(): + gajim_path = Path(__file__) / '..' / '..' / '..' / 'gajim' + return gajim_path.resolve() + +def load_style(filename, priority): + path = get_gajim_dir() / 'data' / 'style' / filename + try: + with open(str(path), "r") as file: + css = file.read() + except Exception as exc: + print(exc) + return + provider = Gtk.CssProvider() + provider.load_from_data(bytes(css.encode('utf-8'))) + Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(), + provider, + priority) diff --git a/test/lib/__init__.py b/test/lib/__init__.py new file mode 100644 index 0000000..d3816c1 --- /dev/null +++ b/test/lib/__init__.py @@ -0,0 +1,46 @@ +import os + +from tempfile import gettempdir + +# a temporary version of ~/.gajim for testing +configdir = os.path.join(gettempdir(), 'gajim') +os.makedirs(configdir, exist_ok=True) + +# plugins config dir +pluginsconfigdir = configdir + '/pluginsconfig' +# theme config directory +themedir = configdir + '/theme' + +# define _ for i18n +import builtins +builtins._ = lambda x: x + +from gajim.common.contacts import LegacyContactsAPI + +def setup_env(use_x=True): + # wipe config directory + if os.path.isdir(configdir): + import shutil + shutil.rmtree(configdir) + + os.mkdir(configdir) + os.mkdir(pluginsconfigdir) + os.mkdir(themedir) + + from gajim.common import configpaths + configpaths.set_config_root(configdir) + configpaths.init() + + # for some reason gajim.common.app needs to be imported before xmpppy? + from gajim.common import app + + import logging + logging.basicConfig() + + app.use_x = use_x + app.contacts = LegacyContactsAPI() + app.connections = {} + + if use_x: + from gajim.application import GajimApplication + app.app = GajimApplication() diff --git a/test/lib/data.py b/test/lib/data.py new file mode 100755 index 0000000..584af05 --- /dev/null +++ b/test/lib/data.py @@ -0,0 +1,77 @@ +# -*- coding: utf-8 -*- +account1 = 'acc1' +account2 = 'Cool"chârßéµö' +account3 = 'dingdong.org' + +contacts = {} +contacts[account1] = { + 'myjid@'+account1: { + 'ask': None, 'groups': [], 'name': None, 'resources': {}, + 'subscription': 'both'}, + 'default1@gajim.org': { + 'ask': None, 'groups': [], 'name': None, 'resources': {}, + 'subscription': 'both'}, + 'default2@gajim.org': { + 'ask': None, 'groups': ['GroupA',], 'name': None, 'resources': {}, + 'subscription': 'both'}, + 'Cool"chârßéµö@gajim.org': { + 'ask': None, 'groups': ['' % self.thread_id + + def __nonzero__(self): + return True + + def __eq__(self, other): + return self is other diff --git a/test/lib/mock.py b/test/lib/mock.py new file mode 100644 index 0000000..5f54a12 --- /dev/null +++ b/test/lib/mock.py @@ -0,0 +1,466 @@ +# +# (c) Dave Kirby 2001 - 2005 +# mock@thedeveloperscoach.com +# +# Original call interceptor and call assertion code by Phil Dawes (pdawes@users.sourceforge.net) +# Call interceptor code enhanced by Bruce Cropley (cropleyb@yahoo.com.au) +# +# This Python module and associated files are released under the FreeBSD +# license. Essentially, you can do what you like with it except pretend you wrote +# it yourself. +# +# +# Copyright (c) 2005, Dave Kirby +# Copyright (c) 2009, Yann Leboulanger +# +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# * Neither the name of this library nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# mock@thedeveloperscoach.com + + +""" +Mock object library for Python. Mock objects can be used when unit testing +to remove a dependency on another production class. They are typically used +when the dependency would either pull in lots of other classes, or +significantly slow down the execution of the test. +They are also used to create exceptional conditions that cannot otherwise +be easily triggered in the class under test. +""" + +__version__ = "0.1.0" + +# Added in Python 2.1 +import inspect +import re + +class MockInterfaceError(Exception): + pass + +class Mock(object): + """ + The Mock class emulates any other class for testing purposes. + All method calls are stored for later examination. + """ + + def __init__(self, returnValues=None, realClass=None): + """ + The Mock class constructor takes a dictionary of method names and + the values they return. Methods that are not in the returnValues + dictionary will return None. + You may also supply a class whose interface is being mocked. + All calls will be checked to see if they appear in the original + interface. Any calls to methods not appearing in the real class + will raise a MockInterfaceError. Any calls that would fail due to + non-matching parameter lists will also raise a MockInterfaceError. + Both of these help to prevent the Mock class getting out of sync + with the class it is Mocking. + """ + self.mockCalledMethods = {} + self.mockAllCalledMethods = [] + self.mockReturnValues = returnValues or {} + self.mockExpectations = {} + self.realClass = realClass + self.realClassMethods = None + if realClass: + self.realClassMethods = dict(inspect.getmembers(realClass, inspect.isroutine)) + for retMethod in self.mockReturnValues.keys(): + if retMethod not in self.realClassMethods: + raise MockInterfaceError("Return value supplied for method '%s' that was not in the original class" % retMethod) + self._setupSubclassMethodInterceptors() + + def _setupSubclassMethodInterceptors(self): + methods = inspect.getmembers(self.realClass, inspect.isroutine) + baseMethods = dict(inspect.getmembers(Mock, inspect.ismethod)) + for m in methods: + name = m[0] + # Don't record calls to methods of Mock base class. + if not name in baseMethods: + self.__dict__[name] = MockCallable(name, self, handcrafted=True) + + def get_module(self, name): + return Mock() + + def __getattr__(self, name): + return MockCallable(name, self) + + def mockAddReturnValues(self, **methodReturnValues ): + self.mockReturnValues.update(methodReturnValues) + + def mockSetExpectation(self, name, testFn, after=0, until=0): + self.mockExpectations.setdefault(name, []).append((testFn, after, until)) + + def _checkInterfaceCall(self, name, callParams, callKwParams): + """ + Check that a call to a method of the given name to the original + class with the given parameters would not fail. If it would fail, + raise a MockInterfaceError. + Based on the Python 2.3.3 Reference Manual section 5.3.4: Calls. + """ + if self.realClassMethods is None: + return + if name not in self.realClassMethods: + return + + func = self.realClassMethods[name] + try: + args, varargs, varkw, defaults = inspect.getargspec(func) + except TypeError: + # func is not a Python function. It is probably a builtin, + # such as __repr__ or __coerce__. TODO: Checking? + # For now assume params are OK. + return + + # callParams doesn't include self; args does include self. + numPosCallParams = 1 + len(callParams) + + if numPosCallParams > len(args) and not varargs: + raise MockInterfaceError("Original %s() takes at most %s arguments (%s given)" % + (name, len(args), numPosCallParams)) + + # Get the number of positional arguments that appear in the call, + # also check for duplicate parameters and unknown parameters + numPosSeen = _getNumPosSeenAndCheck(numPosCallParams, callKwParams, args, varkw) + + lenArgsNoDefaults = len(args) - len(defaults or []) + if numPosSeen < lenArgsNoDefaults: + raise MockInterfaceError("Original %s() takes at least %s arguments (%s given)" % (name, lenArgsNoDefaults, numPosSeen)) + + def mockGetAllCalls(self): + """ + Return a list of MockCall objects, + representing all the methods in the order they were called. + """ + return self.mockAllCalledMethods + getAllCalls = mockGetAllCalls # deprecated - kept for backward compatibility + + def mockGetNamedCalls(self, methodName): + """ + Return a list of MockCall objects, + representing all the calls to the named method in the order they were called. + """ + return self.mockCalledMethods.get(methodName, []) + getNamedCalls = mockGetNamedCalls # deprecated - kept for backward compatibility + + def mockCheckCall(self, index, name, *args, **kwargs): + '''test that the index-th call had the specified name and parameters''' + call = self.mockAllCalledMethods[index] + assert name == call.getName(), "%r != %r" % (name, call.getName()) + call.checkArgs(*args, **kwargs) + + +def _getNumPosSeenAndCheck(numPosCallParams, callKwParams, args, varkw): + """ + Positional arguments can appear as call parameters either named as + a named (keyword) parameter, or just as a value to be matched by + position. Count the positional arguments that are given by either + keyword or position, and check for duplicate specifications. + Also check for arguments specified by keyword that do not appear + in the method's parameter list. + """ + posSeen = {} + for arg in args[:numPosCallParams]: + posSeen[arg] = True + for kwp in callKwParams: + if kwp in posSeen: + raise MockInterfaceError("%s appears as both a positional and named parameter." % kwp) + if kwp in args: + posSeen[kwp] = True + elif not varkw: + raise MockInterfaceError("Original method does not have a parameter '%s'" % kwp) + return len(posSeen) + +class MockCall: + """ + MockCall records the name and parameters of a call to an instance + of a Mock class. Instances of MockCall are created by the Mock class, + but can be inspected later as part of the test. + """ + def __init__(self, name, params, kwparams ): + self.name = name + self.params = params + self.kwparams = kwparams + + def checkArgs(self, *args, **kwargs): + assert args == self.params, "%r != %r" % (args, self.params) + assert kwargs == self.kwparams, "%r != %r" % (kwargs, self.kwparams) + + def getParam( self, n ): + if isinstance(n, int): + return self.params[n] + elif isinstance(n, str): + return self.kwparams[n] + else: + raise IndexError('illegal index type for getParam') + + def getNumParams(self): + return len(self.params) + + def getNumKwParams(self): + return len(self.kwparams) + + def getName(self): + return self.name + + #pretty-print the method call + def __str__(self): + s = self.name + "(" + sep = '' + for p in self.params: + s = s + sep + repr(p) + sep = ', ' + items = sorted(self.kwparams.items()) + for k, v in items: + s = s + sep + k + '=' + repr(v) + sep = ', ' + s = s + ')' + return s + def __repr__(self): + return self.__str__() + +class MockCallable: + """ + Intercepts the call and records it, then delegates to either the mock's + dictionary of mock return values that was passed in to the constructor, + or a handcrafted method of a Mock subclass. + """ + def __init__(self, name, mock, handcrafted=False): + self.name = name + self.mock = mock + self.handcrafted = handcrafted + + def __call__(self, *params, **kwparams): + self.mock._checkInterfaceCall(self.name, params, kwparams) + thisCall = self.recordCall(params, kwparams) + self.checkExpectations(thisCall, params, kwparams) + return self.makeCall(params, kwparams) + + def recordCall(self, params, kwparams): + """ + Record the MockCall in an ordered list of all calls, and an ordered + list of calls for that method name. + """ + thisCall = MockCall(self.name, params, kwparams) + calls = self.mock.mockCalledMethods.setdefault(self.name, []) + calls.append(thisCall) + self.mock.mockAllCalledMethods.append(thisCall) + return thisCall + + def makeCall(self, params, kwparams): + if self.handcrafted: + allPosParams = (self.mock,) + params + func = _findFunc(self.mock.realClass, self.name) + if not func: + raise NotImplementedError + return func(*allPosParams, **kwparams) + else: + returnVal = self.mock.mockReturnValues.get(self.name) + if isinstance(returnVal, ReturnValuesBase): + returnVal = returnVal.next() + return returnVal + + def checkExpectations(self, thisCall, params, kwparams): + if self.name in self.mock.mockExpectations: + callsMade = len(self.mock.mockCalledMethods[self.name]) + for (expectation, after, until) in self.mock.mockExpectations[self.name]: + if callsMade > after and (until==0 or callsMade < until): + assert expectation(self.mock, thisCall, len(self.mock.mockAllCalledMethods)-1), 'Expectation failed: '+str(thisCall) + + +def _findFunc(cl, name): + """ Depth first search for a method with a given name. """ + if name in cl.__dict__: + return cl.__dict__[name] + for base in cl.__bases__: + func = _findFunc(base, name) + if func: + return func + return None + + + +class ReturnValuesBase: + def next(self): + try: + return self.iter.next() + except StopIteration: + raise AssertionError("No more return values") + def __iter__(self): + return self + +class ReturnValues(ReturnValuesBase): + def __init__(self, *values): + self.iter = iter(values) + + +class ReturnIterator(ReturnValuesBase): + def __init__(self, iterator): + self.iter = iter(iterator) + + +def expectParams(*params, **keywords): + '''check that the callObj is called with specified params and keywords + ''' + def fn(mockObj, callObj, idx): + return callObj.params == params and callObj.kwparams == keywords + return fn + + +def expectAfter(*methods): + '''check that the function is only called after all the functions in 'methods' + ''' + def fn(mockObj, callObj, idx): + calledMethods = [method.getName() for method in mockObj.mockGetAllCalls()] + #skip last entry, since that is the current call + calledMethods = calledMethods[:-1] + for method in methods: + if method not in calledMethods: + return False + return True + return fn + +def expectException(exception, *args, **kwargs): + ''' raise an exception when the method is called + ''' + def fn(mockObj, callObj, idx): + raise exception(*args, **kwargs) + return fn + + +def expectParam(paramIdx, cond): + '''check that the callObj is called with parameter specified by paramIdx (a position index or keyword) + fulfills the condition specified by cond. + cond is a function that takes a single argument, the value to test. + ''' + def fn(mockObj, callObj, idx): + param = callObj.getParam(paramIdx) + return cond(param) + return fn + +def EQ(value): + def testFn(param): + return param == value + return testFn + +def NE(value): + def testFn(param): + return param != value + return testFn + +def GT(value): + def testFn(param): + return param > value + return testFn + +def LT(value): + def testFn(param): + return param < value + return testFn + +def GE(value): + def testFn(param): + return param >= value + return testFn + +def LE(value): + def testFn(param): + return param <= value + return testFn + +def AND(*condlist): + def testFn(param): + for cond in condlist: + if not cond(param): + return False + return True + return testFn + +def OR(*condlist): + def testFn(param): + for cond in condlist: + if cond(param): + return True + return False + return testFn + +def NOT(cond): + def testFn(param): + return not cond(param) + return testFn + +def MATCHES(regex, *args, **kwargs): + compiled_regex = re.compile(regex, *args, **kwargs) + def testFn(param): + return compiled_regex.match(param) is not None + return testFn + +def SEQ(*sequence): + iterator = iter(sequence) + def testFn(param): + try: + cond = iterator.next() + except StopIteration: + raise AssertionError('SEQ exhausted') + return cond(param) + return testFn + +def IS(instance): + def testFn(param): + return param is instance + return testFn + +def ISINSTANCE(class_): + def testFn(param): + return isinstance(param, class_) + return testFn + +def ISSUBCLASS(class_): + def testFn(param): + return issubclass(param, class_) + return testFn + +def CONTAINS(val): + def testFn(param): + return val in param + return testFn + +def IN(container): + def testFn(param): + return param in container + return testFn + +def HASATTR(attr): + def testFn(param): + return hasattr(param, attr) + return testFn + +def HASMETHOD(method): + def testFn(param): + return hasattr(param, method) and callable(getattr(param, method)) + return testFn + +CALLABLE = callable diff --git a/test/lib/notify.py b/test/lib/notify.py new file mode 100644 index 0000000..a166a47 --- /dev/null +++ b/test/lib/notify.py @@ -0,0 +1,28 @@ +# mock notify module + +from gajim.common import app +from gajim.common import ged + +notifications = [] + +class Notification: + def _nec_notification(self, obj): + global notifications + notifications.append(obj) + + def clean(self): + global notifications + notifications = [] + app.ged.remove_event_handler('notification', ged.GUI2, + self._nec_notification) + + def __init__(self): + app.ged.register_event_handler('notification', ged.GUI2, + self._nec_notification) + + +def notify(event, jid, account, parameters, advanced_notif_num = None): + notifications.append((event, jid, account, parameters, advanced_notif_num)) + +def get_advanced_notification(event, account, contact): + return None diff --git a/test/no_gui/__init__.py b/test/no_gui/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/test/no_gui/test_regex.py b/test/no_gui/test_regex.py new file mode 100644 index 0000000..cab3183 --- /dev/null +++ b/test/no_gui/test_regex.py @@ -0,0 +1,36 @@ +import unittest + +from gajim import gui +gui.init('gtk') +import gajim.common.regex as regex + +class Test(unittest.TestCase): + def test_links_regexp_entire(self): + def assert_matches_all(str_): + m = regex.BASIC_REGEX.match(str_) + + # the match should equal the string + str_span = (0, len(str_)) + self.assertEqual(m.span(), str_span) + + # these entire strings should be parsed as links + assert_matches_all('http://google.com/') + assert_matches_all('http://google.com') + assert_matches_all('http://www.google.ca/search?q=xmpp') + + assert_matches_all('http://tools.ietf.org/html/draft-saintandre-rfc3920bis-05#section-12.3') + + assert_matches_all('http://en.wikipedia.org/wiki/Protocol_(computing)') + assert_matches_all( + 'http://en.wikipedia.org/wiki/Protocol_%28computing%29') + + assert_matches_all('mailto:test@example.org') + + assert_matches_all('xmpp:example-node@example.com') + assert_matches_all('xmpp:example-node@example.com/some-resource') + assert_matches_all('xmpp:example-node@example.com?message') + assert_matches_all('xmpp://guest@example.com/support@example.com?message') + + +if __name__ == "__main__": + unittest.main() diff --git a/test/no_gui/unit/__init__.py b/test/no_gui/unit/__init__.py new file mode 100644 index 0000000..0252a7b --- /dev/null +++ b/test/no_gui/unit/__init__.py @@ -0,0 +1,5 @@ +''' + +This package just contains plain unit tests + +''' diff --git a/test/no_gui/unit/test_nick_completion.py b/test/no_gui/unit/test_nick_completion.py new file mode 100644 index 0000000..43d8d60 --- /dev/null +++ b/test/no_gui/unit/test_nick_completion.py @@ -0,0 +1,50 @@ +import unittest + +from gajim import gui +gui.init('gtk') +from gajim.gui.util import NickCompletionGenerator + +class Test(unittest.TestCase): + + def test_generate_suggestions(self): + gen = NickCompletionGenerator('meeeee') + + l = ['aaaa', 'meeeee', 'fooo', 'xxxxz', 'xaaaz'] + for n in l: + gen.record_message(n, False) + l2 = ['xxx'] + l + r = gen.generate_suggestions(nicks=l2, beginning='x') + self.assertEqual(r, ['xaaaz', 'xxxxz', 'xxx']) + + r = gen.generate_suggestions( + nicks=l2, + beginning='m' + ) + self.assertEqual(r, []) + + for n in ['xaaaz', 'xxxxz']: + gen.record_message(n, True) + + r = gen.generate_suggestions( + nicks=l2, + beginning='x' + ) + self.assertEqual(r, ['xxxxz', 'xaaaz', 'xxx']) + r = gen.generate_suggestions( + nicks=l2, + beginning='' + ) + self.assertEqual(r, ['xxxxz', 'xaaaz', 'aaaa', 'fooo', 'xxx']) + + l2[1] = 'bbbb' + gen.contact_renamed('aaaa', 'bbbb') + r = gen.generate_suggestions( + nicks=l2, + beginning='' + ) + self.assertEqual(r, ['xxxxz', 'xaaaz', 'bbbb', 'fooo', 'xxx']) + + + +if __name__ == "__main__": + unittest.main() diff --git a/test/unit/__init__.py b/test/unit/__init__.py new file mode 100644 index 0000000..0252a7b --- /dev/null +++ b/test/unit/__init__.py @@ -0,0 +1,5 @@ +''' + +This package just contains plain unit tests + +''' diff --git a/test/unit/test_gui_interface.py b/test/unit/test_gui_interface.py new file mode 100644 index 0000000..6ad2d73 --- /dev/null +++ b/test/unit/test_gui_interface.py @@ -0,0 +1,32 @@ +''' +Some diverse tests covering functionality in the GUI Interface class. +''' +import unittest + +import gajim.gui +gajim.gui.init('gtk') + +from test import lib +lib.setup_env() + +from gajim.common import logging_helpers +logging_helpers.set_quiet() + +from gajim.common import app + +from gajim.gui_interface import Interface + +from gi.repository import GLib + +class TestInterface(unittest.TestCase): + + def test_instantiation(self): + ''' Test that we can proper initialize and do not fail on globals ''' + def close_app(): + app.app.quit() + GLib.idle_add(close_app) + app.app.run() + + +if __name__ == "__main__": + unittest.main()

    Look here + Google +

    FUYqOjVq^T=_=T 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

    WKd6gG!#l`~^eCHbppd!;Cmp>?zJP-fzUv z;t*0xse%lD7=|{cK?x{aa^cr23x2kZeXKES&|!7JTrgq2FTlc2VsByyT@67hlD^RF z9xjMGRVTC;8d_&t(L2|R#M=ZC^M4Ybi=*vT8zL_waMig$v!}V>UZ5ucW7f#R1JTz} zbXuM0vbwVHebkC(&vLo4zA`Qtq#g+x?Ih6}0x!|&= z-2-E0YXaY49~a!=f_D0Z-^CYKTSRSDHDvzRJ9f-OR?){v&=gJZRV;;x`LF3?q0f z2>Q7`Q}#rzh53?t;)%Rd&baou;63DpFXn^0-VNC;uTkPTzipx6^~+A|C;EwN#C75f d5hfh@;U7L{k}Jg&khuT=002ovPDHLkV1kGcB;No4 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/gota-opened.png b/gajim/data/icons/hicolor/16x16/status/gota-opened.png new file mode 100644 index 0000000000000000000000000000000000000000..3e18f41419645276fc2a109da614e53283547d69 GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfEROIgI;uvCaI{C-{|MtwPGZL>bXh|`! z%yF2*a%3gT23WFU8GbZ8({Xk{QrNlj4iWF>9@00I9=L_t(I%VS``1YAID z1H_F$ybOp}0dX%7`vI{a0|8(O#0Lcg1imOJC|vON_C6LE7kA-L z4#cmbV6f|A7Y#Adl29%VPh)PIE+y*ksK>Q{yF0PqCS2zLLp-?OX#W21T%yJlC zR8%w%Nbdy+t^f&gaBv(0(*L12R8UYb6d39-{xPs$xwsy|_(DQLVLQ6wfAxu1) zkB{$LN=ix*FzGVk(hQ7dkmf+3|K9?+eL&0%lLIBoHW3k#U#6y}6>V*8Vtsvm@bo@; z@?_>olP1X~BqU@4o&F9evmbF0RSy(hzv000JJOGiWi{{a60|De66lK=n!32;bRa{vGf6951U69E94oEQKA03CEi zSad^gZEa<4bO1wgWnpw>WFU8GbZ8({Xk{QrNlj4iWF>9@00Fv5L_t(I%azkTNY!B! z$MMf|z1}ORB^8%0-6$G@?1d&l(IBE|2#2PqaB2`-8d}pSXlTiy)+mBTb%^W*njBTM z7jy_Ma45Jqr1t+`xlhB@G_k}l9G>$GzjMy><2n3I4(IVC!X+{1AM|DcGc z2UzV1AwF+zj_-@b_@+>ZgAEPw0x?e+w~=2Lg-zlY9dtb|mBQ)nZlSf6rY5RY%4Nye zn32&@eM?J~A3VSSDs`yG!*;rdT3W)f-d>?tWObG0WmZ-|wp4PmP|!9xSvN%6FJ|!} zi}wB8d_*V|3M?$tVx1T_@(`TM<@Bd%{to?BUS-j9nYuGDKhM+@x!m?HmCHh!x`shc z%+ZkzbY4UTl7xu~8XL)G31MT3Bw=X@9K>17(V4BMRNCC7Qekn?{|GozOAlotNow~b zwIj_`nEA9zaRqCdnG9YIV|f<^K4O{_Z{cW;@6T#h?HCF11`#7`Umx`DBY91%?jXKP z41B|>txGhphvoakuUiVG#Bt*F4e_Pzo|eVc!1Q6NSBQPYTf|OcOU?MIP)c`(C#xqGxyDTsG$jTabIpd!9Of3S|`avQl)>fkG#lFAaV%yeu{ojC`!{{IXRB~RGA zgVoC<_rK7Z|KfNgO?Tn`Jdc+dLj16G?Wn$qC!?qqq!tbPt4GOrL3ma@zmwR;rJpZW z61)29CG;>&?Vef-&Z2RQs+AyS79>^uPBHZ=8+D|~-y#S*>fn__h|TAocsH-CEy<29fn9x7qxJ|nFe zbp1>G{=>x66Q=O_hfbpk&e<~P1@c_;T_QZ+IPk>2VCR5A6%e#|i`u1=;0%&JfUeFV zsZNrEFB`2EK>S3s_|r?}x#<=kOm~>wZ`|*b;9@k~PW4t1UYm>;o*h&tbuYex#xpH5=D1kP%G?{It2=zQ{v*tn)9l@WXM3U%rGgQ`AQEM7Xf zKv16+Q6tJ(zx^2V5cNXD+B^PIc+UfMZhjJT?~`C-Rp$g}(Y0CXx(_F!#UF#3E%k*p z+P07J>m5@D*>ty;G1;f7U7so`>QGH$EgB>+4iFkUKVTJD{nrg)zQg!dO9%Evw<{vIXblyD6H244j N002ovPDHLkV1haIr~?21 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/icq-chat.png b/gajim/data/icons/hicolor/16x16/status/icq-chat.png new file mode 100644 index 0000000000000000000000000000000000000000..e07261b277cabbe8b9549f624ce5658f5415b1d5 GIT binary patch literal 941 zcmV;e15*5nP)^2Pf0{UR5*=&lU;0+Wf+F<_oqK=OaE5J zHo(cCY!eGQ5p@PLw@$aA<0sRYn5YEefkux=I5Eb=L-9n97L^FHKs2ziEzHSA89Kz` zBFG$bL14woXt&SN->?0?_kBGh#YFG3J9+LaPx3rBL5X%9EbFF>eoQGKq<9}-aX=lW zlu%`2CMU$}r}pY|r5Rpo7^k1^3cprqXUj13L+^p5w3h2=* zfLU0TFob#W@_9WNT4QHa!RuVkq!5rwLI?pV1zEk~!4J1?>~tqmb1HIS_$zMV_$K_+ zi;b1OHN-Sc{5&&m+?={28$%D!hMGo_P3d6VhQAZp0+@0=v*`ubOy)b(d0L60q=6Gc zf~$P%$#ixELK%3ZzR8l%;_8nx$K~#1o?6XINV+6G@kHnoo10vk5d))E=tUiXT;v3* zZ#3Hf@|K2XFS99RL=v^$AZfZYN!;!GkWmV=m$F!&)Ghjm3k8RQ+aFY8*<(q=5U+AW zB*bG*0qWQKBR17R)VIhG)U^z~o87|r2dHi)dj=X)|AYGr^)>$odh%o9DLaN7u z%@yt{Y6F0u#;4SynYT!LcpK{LHUI!}xg4&}{-(yxol=*bJ-vKjZ{Zq%dI0D?R2HwT z3EHlt2Jx_~6L}g@f#>3+f9w$U`1fJ_`?Hvxj}}mL9=O7f^dH-Ed-A?lRzOC}&LiaR z!t{-3PAVxWmoAp|qxa|$_?lywO!q9Ecw2uD0PxPgx=_@`_R;f$UsFQLrBoA&!5dFs zZCm-0LebRm=ael0{;|t%igP?zr(*6QUP}M2R0UB;r>lNJa<)A_7A! zGp5df!f5Kc(sgUQe*XXG9B(%gpS$@m^Lw2 zmh#X~hpY2zKVt3Rf_=1q^sRuMZ@}4~zj}YAm@B`wV_&ev-ic)HFaPw+`5yuF|E~a` zf}Obo_p8@1^8C2(yUVAHjkYj;FHWM@JqioA`o=$#?{ebD09`aBc8a~9HiWDKlib3C z(vaq@*)RdI7!e5z>tM1QGSLdY+_2 zX$n#s*c=(MWO6C}_oZ*u+m9;DYTm&km%@kcX|`ox$dxl5f-@_s^(p|h#Gf9wbZ3_{ zU46cn?Ot0LC6z_k(Me-Bf1}1%kHQiigv;3t|J_UE7&u5$o3Paa>f)^*7Aw{A8^Vy~ zV-GX;+{x@eyE!KZfhbbav~ANcBawz)Nq`52(OdVi6VoSD-KawPaM~Syl!Gb~L7ZywqU8S{xv6I$_)yBVOL|&!zHO+O?_E2o+(1AFb+q&TnwSoZTlSw0+ zNR$nwo>?b&oYzmA8^r literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/icq-notinroster.png b/gajim/data/icons/hicolor/16x16/status/icq-notinroster.png new file mode 100644 index 0000000000000000000000000000000000000000..5517fafce3bb98626fe1338a63c4960a4090026e GIT binary patch literal 964 zcmV;#13UbQP)^2W=TXrR5*=&lU+=kRUF3u|8q`Xc%jg( zNT~#21U6x#EsPI=!nQa^G;{NdOcxWkxOiitS0;-wG10^;V@$j;hD;;NE*7GUueeRk z)QeH5(!e%UXjuqrkiIm70{wc=Ie%|4MxVPUd4A8;^C0X}TX%0iWB3V20HxLYq%aN~ z2N?s@8vc-Jbv_cgy}X+dyA9{~*_&^?USXOheRcWD$JTl>eg5p3GLN?cV@vmg!y^-; z01)`k0sz=D3kyAq(FOhDbEn(`UkH4)TV4IZv(NOIEAe>QwXy4i z!cokIUhaRsxw@(fY+KTgKmDR3bMySzk)RF)e7L!}g^USWO<0-%6`eZyv@sKj`^+)hQyxJZ-e3Qgp%?atXjQ6#ck)bQVLA7 zSPYL$JWTIw_lw+i>f)c#rP5gJ{z=BM5RvhKYZIS5;{z0b0d33!_Z|aZg+sji`2fr3 za+H@cgG4uF#CqLbJDYa2l zr!Ng&;T}(g(b3jnNU4DcNTf6Bm2XEU#suRWNb%`^&1k)sBpadB^EG712V008Y>JuAM3#~~CB$@bQEhg6b?NGh#pd1YC4 zKG9V$dv9K(QyT#=jPl6T)bIb8G9hgz5|+EOqsuY%>u)*IqyYdlX)+5^2Pf0{UR5*=&lTA#VRTzce``-I~^H0H< zp;&cVthQAv6O&p~n6ZipF|;O)BB{otJD0kUYGz`LMmMz9Ha2mgJ54kO6L1P;pkfUj zU4e<4(r8T~&=!Xd%rG%cpngSag7Z^uTN=eZ!Iw6&(`dfoj?aHDmi z`$+ep)I%v`j1d56sILNEK7}B9fkhdRLqNe6=s$K`X{{9l;EPL(ug?EI*Mony2o56wtyC%% zii9I5gn?JD{(^y!$vR&8#2+(GQg!!${^$6JZM8m5;}ZqYT8oxgiy$H*O(d+kb8>R( z@+FQUB9#y6u5_Yv&%?@>l4?3Ey!)R~?q*FLeDVp6$W(D^ay1+b#|+Z|04j)FE_V|E z9s>ZlaPhO1{reAKtyY!MXiP|@01+gCCd;;Tx+`rg-nu2$E44J3kj%Z4Ti7;bAZToE z))KMU4zX}!!68i^5eTIU+-dKCR_%#IW_= zS~(k!Cxqj=tW>&Y0l}AB83zBOGiN^DE6h+)2p*J5Rg~v{boz8|bZh2c@rSLT$bwB} P00000NkvXXu0mjfa5TL@ literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/icq-online.png b/gajim/data/icons/hicolor/16x16/status/icq-online.png new file mode 100644 index 0000000000000000000000000000000000000000..427c5afe2c40e3c3eff28af47bd6c6cd9e9c24f6 GIT binary patch literal 945 zcmV;i15W&jP)^2Q%OWYR5*=&lV40*bsWXd_xHQ)ZD~i@ z%0@ve3@Cp#I}GBS(@i3vbGjjDVoVl^hL}D1;=>+HjES$BEc&3vxHye3qT6I+gk>3< z5uC6LF$+V7Zh(!nFert#_x9f3@9Qfw(a+mS&N)x#5H`?#!vB(x;sYT7rPVutOaT0) z5G2^ebWW+B^S##W#*DF1NJD(o-TrFCCpY2Tk6*u^UR%yR`&4K7HeWU7mwzi89veIh zVAp>Z0F?2GP~^5Xg0_ddN>5!r;cPLZ_;sxx^`Ulnq_?!|3-zWXc?{q+N1?+w{CQD@ z*FeAY$a3W{b{#BEWoCK!>fl#~$3S2E zV~3g}o41qey0|ud#kq4Mshi^uh{noh%4RG`!^BD|YeRByf7A29>Gcb!548~sYBY!_ zcK_x&n#vAAv4e*i_Igsw3I5~Kclx!(yzsieU@@riVQ5%9+Ojve?94$5FRX$EK;M-+ zyF9f^E2)~s(kFajGm5NULeyVPhkm|J#m~G2Pkax8fm)Q^xCb~wlAl1-kY(C;U#lQv0i2$KjI^S@P%4fOAJ+w^0HswPnuko= zxn&r#XrLwj_@0_bTmTF~62@8@V(2Ph8~_CgY%y#fp?iO?u=E-PJb{_SM=jx$8(f2{cu7%8BW*-Ga6L zYi{)h8UyW!neCXFSa3t;R?c@kO>dVhV5E|8^0_G1w^Z?&A5Pj~)M4kQ1JJAiW^FjG ze);lG7tWCs0i`rQ5^LS&kJ!eFJC7t4_-;ixB{SDhR$c26)Q}wB)=$8wsr1~|y9;S)g!5@6<{!Pl_}6c%yxUtcI#s`KLL*>40Y@@uV^T$|th{*A)vjh=r16gq<) T`ln(c00000NkvXXu0mjfvnRl3 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/icq-xa.png b/gajim/data/icons/hicolor/16x16/status/icq-xa.png new file mode 100644 index 0000000000000000000000000000000000000000..d2d589b2d6bc43dbc1301a6f04673e9770d249a9 GIT binary patch literal 896 zcmV-`1AqL9P)^2B1uF+R5*=oQ%z``Wf+|2ec#XhC0UbA zOtS2f?naw}u{LeADJIqKS}-Vr8oUUiCqePrn+Tpgc`PF6O(`XzQj%p^2`f^;+N8mR z{B+siZr!9!nvnhd-tT!lc-a;Q<}ffbrx`*A@>;*AmHL_hSmrN4RMx=v1SkR4U28u~ z1EtOkb&4fp?w_8W9Z;bV*5>9OH23%GV>2@eCmzSq_BOV1xx3TWzR;Obc&v_&C>(}& z=MGYrFGq=J&+m@a4r{fh5(y_VnQ*&MK;Xg!BH)w(@N77lB)3oim=PZzcaAC*DgSwc z6Pdb#cK~l7iidN*>EyX{ey>u27z4M_fDk>@A8S2wytkJMPfYloSPXJ-0Dm%0kyF2u z|D8|ay!sJTu!&%8m7L^TB-WxGjdF2uu_}$myT-cim7`Lrdu?ZDMky5#BI=5RQlBLi zMTa2!i!i6(M4)h8-TmfUw(U09^BMpa7}zx0aef}2n0UE+bW{U?C84mqa>i_@(i%CR5R5*=olgo=#M-;|?=TzO>edp0L z>Ig<9Arm#P)wB>n%pxceB&czdg%ixyzr%mQ|G-{}37RlbNJ5ZohaN=(nlTSwlUWSi z#?18e?R%?E7I!-KfCUA0s`$S1`05izR(l>BjRh9wT71@?XB`+HeQUN50KW~O(tH2( z7h~#`?q82sU0Qqs5pmLg_vD#zmn0NIig3b_w?HyJtOXs<;WA>fP`#w54fe46V{WT<;*-By%4YPo)JwT=pVlfbl zk_R`hZ}82z;7NPpu<{BpER;`Y1;= za-=pj`4S7@Q^KGC0Vgc$2d0vRThQNefX|0x;1qdZp7WK|kI#N}T5GsN} ze=~}(HpKa*FXb0AI|d-N8iYXT_b`yD{S+AZG=(q#KSBO-eZq`|_B=%8W4Zg4-k&{r z_QU#A14Lot88qIkW^7jN7_jc|$mCmCj1VIa7ry?t+$;`z%-(QGjY?RsG9V#r^<`Us zAwrR3W?&JEfg&%mTEX8kYM?`>J}0#fy`J*N?Vtbm$m}O4$fOI6xB2z@wQYvdW(#Sy z5a(r8Tms|!DDyrpao<+=y6mzBGJT*DNMvJ(+2+Pj+Mb8sU47+DS4kDhcyRgqZ$?eK b&DQ?`I%6SE+~hsM00000NkvXXu0mjfTH{oq literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/irc-chat.png b/gajim/data/icons/hicolor/16x16/status/irc-chat.png new file mode 100644 index 0000000000000000000000000000000000000000..24f1cac314b0c15e4929b6bd52b91a481b24dcac GIT binary patch literal 866 zcmV-o1D*VdP)8kh71Q2+n~1W80eR5*=QlTBn+Elv2SR2HJ39>S78fVAGR1z0%T@hs=8jWPM14#?TXiPL= zfu$u8Et3GDDxCpmI&bE^ch7Y}I*w;`zW)F7PtG}tHrqKd=h|cKsrlpk)H}cZt!@qv zc*fT;p*5`i6*Ia`4bINauABb@bp5^KQyF6n%hyXRU%66EWfE8OCk~q(!#nUi4{I%J zH`iRTSXiB#o7-!K$3J*UYrP1doI`7ma;-@{XtMt){rb_Fx5(vkEG}JW4LW#WTuo0O z?fLkVGdGO()X>wTPt?Z8_H=GFB#h>{XGW-ATPBywVXfuR*efjpYb^u)19Yb>#-WC~ zyEEynqH_+TH2}%%0F_FaT&{R0H9(>G zQ}|$G-JgEmXKHeik=-Kz)Pp)JD=S>Mc$u?5OWFMK-TTLYV~%dOFD|Ucy|v(6;oTE&>x-8b`2ALywY$}&?H!H7tKXcgng66qZ#wPkI2MwgrXDnu zj=l0mRUXZzmHzC^X)0aMa&=ude_ef0D9xX&0q7QirZ1C9nJ5;(5j0|>MOVVm>$-ev zsJ78FhL|pbAc~aea%=T1N9aqXecxKaS|N_2)b?<*ycxz>Kb1^`kwpRZMnlBOy)B&C z_3Eh~td)HZNcst^6@o^H169f-BY>oD2&0%(!sq_|e>#;`^E)Tz(4t;YyQe<7HgjbE zXm_>~=Nx}l0{Xg=IOh-%#5tTeZr`gh*ptDE;2eB$?)z#K$sQxP!F19`#NpgS`67Z7 zhd75gK?K6cKCC&16Cn!Ybb7OKSG7OT%#i~Gu_CC}IKTKy>u@Fx?j^8_M|v}y{d%dD zFBS7jmx_5+D(02vdF#IM=+7o;HbWALM4?p7E6;d0I@3On^>=_+l+v497=YFtSZlYP s{(Q0RGrcl^jqQ_Pe)}VB*3lmP3m?vMgMiEcTmS$707*qoM6N<$f@Ij8tpET3 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/irc-dnd.png b/gajim/data/icons/hicolor/16x16/status/irc-dnd.png new file mode 100644 index 0000000000000000000000000000000000000000..850c47f47a94782c252e907531d9b8c48d06eb85 GIT binary patch literal 857 zcmV-f1E&0mP)=@4MgJ`D-%M znKa3SL}Np{X#K-diz3)oC^fZYRTmbFtCmoNc2hEI(JHtRq_{GI3l$e)wG)t7G!hU& zEHtTBT61ffc1F#lKhv2z_vbqm=g9j9_wU-Y zj(X1z=}IL!$suA{UTM*nPhzbQ1|erZn!axYHJHm~(*F+%Mr%525y6UJt^F?{2qGM< z?ii!g_Sw04XLfF$;^wS<<>dn!;L|T=gX>E*7a-{xj*TAz5iVW6&bPA{0Z>Z0`r6l% z<6fn#6#76W8aa2!Ru9r&WHx zvM7OO%U3#b>SApnl}ZwZF$!oj{kB5t8!l`BXo{Is%7l@Hq|ovsqpe=Gj_e+Y?>kSu zcbc9nKXbU%a&ITHua@BRCt-O5KwFBbwCl#PC5|mo7^WT$+V#Y}+Sb=Ee4HKFHbVZH zrx8$hZ`^qNpM{l$AFX}Vj2wRFhd8#+36OLX#Iaq|3ChbP!_&XdQQEeZ&3(Ptr6o{` ze1E@VQMtvd-e+q2*t_#bk37FK*S!f5p|;wh*p*zf&RX^!+t2Q+SJ1`c19xFpR=C*P z*Dw|-rIRk!3LRDNT0_D2+N+e6S1BvUajLFy=;=<(N>C^$LiS9>E>^Z^l%jekf+jm6T j&>c3vbgVtO3zq){d0=gEacI-*00000NkvXXu0mjfoGq8& literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/irc-event.png b/gajim/data/icons/hicolor/16x16/status/irc-event.png new file mode 100644 index 0000000000000000000000000000000000000000..3bd582cc8d10221a90e7bea9f5f1f45228eea821 GIT binary patch literal 528 zcmV+r0`L8aP)6LAoLzh8Eai8I58U5nTik(KsIJ&hB;sVCPxB?E7`j&Q4Ka z$#pN>JRXm69G7}MV0v){z!<||aLnn+38IS5iJ~Ye%94Kn3&xmpX=R!;n`^}JH;#@D zu`C-^MMO|lj4>P!`V5C(X*3!$SDgz)gm(KnS(@_x;2n8=mAIP$lwdPes z{9^ZeAc=PrZ054y^Ak9*2t4di;5YhR9q9_QX9#+NT*3H{^p2z;pJ8?cK_ZIE{xBLR4$m70i S`}Yq300008kh71Q2+n}ut`KgR5*=gQ%z`8R}}uvy?5Tc_a?uS z6#vVB)QyWS1Pjtq`a_7L;z}20k*+LRc9&U~8VfE(+@(9yLTRbZ1WH;l>c)+NK^LM< zT7MyqKbg#X^X|RpxX4U=p%?DraPD``ckXvSLhe+mGm?*$rum1Lr;k>uXIp@j^0`L6 zMgU;80#y6EZ;!{u7~Hwnz+eB|`WFC<(dpDThf8rBqMf9;IJ@w)hcO?H|L~PkY7qcP z1WIW%TOG8M4xD#WmFmota}L^QJZ-iCm%=)?v&WVyN6t)synpZc@h=bb^{TF=7X4u% zPYxoCCodCh8!CcXU^9ygKP{{q0qq_fjHCAt1x6|4V-W$1fSJ1&$TA15=#4Q%`<8Aj z>!lmZ7#S|{sgq+00Oo#M%2xh+5dc6jFgQJV1Q5ZUyDRv6={5j>hywNC&*{lVy+#Bz zHd-EPc@bz$=ybAFlpG?ZJ{cM;z3n&;K#-&vgz$Z%UZY3z(;ukZjO8c_lyeLcpq-?o zoNfwpISh-i)`I}F+G&R%%}wPt3n+}lVQ8%5ZYO6Ht5-xc8b_hZtOr4mB-RqE{})h< zkuVAZ?-|}RoVDSeY`rPM$iQRXueXNfnxfM_8mXBJaOXl{euI25D~n1m0+a5xFH=gSOmg?$Ez*u z7>?nYAp-pT`_(mT`G8@_j;I)bSs=1OpP3=t)n2-~TfdPLfiS~nE{fLEXOuV4#ECDE zI6|`4!ouRs&1I^7eGrK!Y%9l@`}N8eL#al+MvZ!nwARl9qcJ*AM5mLXP$>M-sMkmv zeZMaXuxqpgum_P^?_svM(R;sr_R?a`nYsx8-uaJyxqLlui!HW(2ik9N{}a0tnE(I) M07*qoM6N<$f?-Q$cK`qY literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/irc-muc-inactive.png b/gajim/data/icons/hicolor/16x16/status/irc-muc-inactive.png new file mode 100644 index 0000000000000000000000000000000000000000..52a441fa3d7219c1e93cf3edb3d4f0c3b5a1c6d4 GIT binary patch literal 731 zcmV<10wn#3P)8kh71Q2+n}eMv+?R5*=gQ%z4(K@>f6JFo4`dkNT5 zzv5Om#;|ZzB6HHtK#I@5>*4v@vpceE6PV-T(kFkdi5cQHUsvkR-|M z$XIbUP7+AVLft<`;D?Bl_;OpV7#%H6-xwTR9vXV!v{~agMmn9w*{J(qmGyqtZ zh53a!2qJ9n>|kwmt=%Y1Zsp^&=T-&C+%FW)*V!;g5TZDaVCXgs-O3N-kJuOpArM6& zgb;5$w<_FVxcg56`M>~^Klh^b4 zJOCgJ11P0?zR(YR*!pCeOQq8BQRv^4&6c^OwcP_a8_cKH1VIogYSK^9y+AWFFQ8Nw z`}+r|R8~60lT(k;*VhNFG!_@%cJiKE738^9;ki|jNn5`%nGBTDh@uE8oBrgvRguYL zzS!D@UzTaZ%vZ4A)0jg2_DxV&8Iu&1P~0YIbCxLPikyVala`xiZB7Z;8BB?ABe N002ovPDHLkV1n+xOLYJM literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/irc-notinroster.png b/gajim/data/icons/hicolor/16x16/status/irc-notinroster.png new file mode 100644 index 0000000000000000000000000000000000000000..5748a71c20fecb7f860a7b596d26f147f86f92fd GIT binary patch literal 780 zcmV+n1M~ceP)*#u4Uv^&fdBvku1Q2eR5*=glV59GMHt3^@67Dk-EKCT zZ8V#Y>}p0Bh`XdK~S__SSU!Z`#Jmy{T^y*D7J|RLc!xoo2_?kk;b+WBC*XT zdv?w_^NttEE*l*fn1|sR-g*8AQ>(Mojnmi|S-GG7^6BZN?rwy}^j*J~3V{0$Vfgix z%SWuUJbd(+yLZzK0AtPQ%P&4_IAY-+p&9fAZ(E1fZHET>k13)>$4s{)6<_-wr-ZV($0StNmUo zihMlx>MOftQ35a;<)dhLSI~2_v$H#8Sz?SO_nsKzH~n5J>%H_fGgi}zwyH^DeD2X0 z$+ApDbvuf*sLO9zlefFezkhV`!l{{=CdLR`TU#tFEKJfF zHKI{@`t%v?b{h?Wpvn(-)&@bt8K>x?vlaGL7V@HC?8Lq{5!HzIo=^t#AXr5i>S0*l zl<5Lp{NMsRg8?8DuK||d=`t7$IJUUR?bRO-70UE`sq}lPAo7>7j`{g{a__NXZuEPp z7-Jqb8b>&B{P;oo*qd+;wK2x_?K^7|IQCjqPp+>0G+o+5wf+~Zs#ZxVvNiJn0000< KMNUMnLSTZaEqBiV literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/irc-offline.png b/gajim/data/icons/hicolor/16x16/status/irc-offline.png new file mode 100644 index 0000000000000000000000000000000000000000..52a441fa3d7219c1e93cf3edb3d4f0c3b5a1c6d4 GIT binary patch literal 731 zcmV<10wn#3P)8kh71Q2+n}eMv+?R5*=gQ%z4(K@>f6JFo4`dkNT5 zzv5Om#;|ZzB6HHtK#I@5>*4v@vpceE6PV-T(kFkdi5cQHUsvkR-|M z$XIbUP7+AVLft<`;D?Bl_;OpV7#%H6-xwTR9vXV!v{~agMmn9w*{J(qmGyqtZ zh53a!2qJ9n>|kwmt=%Y1Zsp^&=T-&C+%FW)*V!;g5TZDaVCXgs-O3N-kJuOpArM6& zgb;5$w<_FVxcg56`M>~^Klh^b4 zJOCgJ11P0?zR(YR*!pCeOQq8BQRv^4&6c^OwcP_a8_cKH1VIogYSK^9y+AWFFQ8Nw z`}+r|R8~60lT(k;*VhNFG!_@%cJiKE738^9;ki|jNn5`%nGBTDh@uE8oBrgvRguYL zzS!D@UzTaZ%vZ4A)0jg2_DxV&8Iu&1P~0YIbCxLPikyVala`xiZB7Z;8BB?ABe N002ovPDHLkV1n+xOLYJM literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/irc-online.png b/gajim/data/icons/hicolor/16x16/status/irc-online.png new file mode 100644 index 0000000000000000000000000000000000000000..00647bba6a46733a7f1e4f31da299e6d156d4b5c GIT binary patch literal 782 zcmV+p1M&QcP)8kh71Q2+n}ut`KgR5*=gQ%z`8R}}uvy?5Tc_a?uS z6#vVB)QyWS1Pjtq`a_7L;z}20k*+LRc9&U~8VfE(+@(9yLTRbZ1WH;l>c)+NK^LM< zT7MyqKbg#X^X|RpxX4U=p%?DraPD``ckXvSLhe+mGm?*$rum1Lr;k>uXIp@j^0`L6 zMgU;80#y6EZ;!{u7~Hwnz+eB|`WFC<(dpDThf8rBqMf9;IJ@w)hcO?H|L~PkY7qcP z1WIW%TOG8M4xD#WmFmota}L^QJZ-iCm%=)?v&WVyN6t)synpZc@h=bb^{TF=7X4u% zPYxoCCodCh8!CcXU^9ygKP{{q0qq_fjHCAt1x6|4V-W$1fSJ1&$TA15=#4Q%`<8Aj z>!lmZ7#S|{sgq+00Oo#M%2xh+5dc6jFgQJV1Q5ZUyDRv6={5j>hywNC&*{lVy+#Bz zHd-EPc@bz$=ybAFlpG?ZJ{cM;z3n&;K#-&vgz$Z%UZY3z(;ukZjO8c_lyeLcpq-?o zoNfwpISh-i)`I}F+G&R%%}wPt3n+}lVQ8%5ZYO6Ht5-xc8b_hZtOr4mB-RqE{})h< zkuVAZ?-|}RoVDSeY`rPM$iQRXueXNfnxfM_8mXBJaOXl{euI25D~n1m0+a5xFH=gSOmg?$Ez*u z7>?nYAp-pT`_(mT`G8@_j;I)bSs=1OpP3=t)n2-~TfdPLfiS~nE{fLEXOuV4#ECDE zI6|`4!ouRs&1I^7eGrK!Y%9l@`}N8eL#al+MvZ!nwARl9qcJ*AM5mLXP$>M-sMkmv zeZMaXuxqpgum_P^?_svM(R;sr_R?a`nYsx8-uaJyxqLlui!HW(2ik9N{}a0tnE(I) M07*qoM6N<$f?-Q$cK`qY literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/irc-xa.png b/gajim/data/icons/hicolor/16x16/status/irc-xa.png new file mode 100644 index 0000000000000000000000000000000000000000..61d0271c0a438171c21055af61e3d8e969280015 GIT binary patch literal 716 zcmV;-0yF)IP)8kh71Q2+n}Zb?KzR5*=olS^w9Q4oc{x_!HQG97|U zG^oT7F+w1q3q^xZL>UAHcP@0$wZFq(B1Ca5BWQ3Zgpe4JASj9;O5!U-)G8VKt*v2$$8){zXXT;DtK*k1&t&yFh!8$}Aex*6GcdydQzd`<7C$uw zW~eGlPoMrStLm6H*yqy}?VT(k1e_{1K!6!q6x(1kqpGT*7(UCOflf4=BwxSMNfKTz zFK_?u(b-wjZ{P4!Q!LES?=X~WfwVv(kuNSua1#?0Wl1FRs0HFh-o?9i5l>H}y-WSm y$Lw%pFx$J>Zf~>8KdCCS!!MpZ88qz%-Ozneq=000JJOGiWi{{a60|De66lK=n!32;bRa{vGf5&!@T5&_cPe*6Fc03CEi zSad^gZEa<4bO1wgWnpw>WFU8GbZ8({Xk{QrNlj4iWF>9@00S^dL_t(I%binQNK;`L z{6Ts(nX7s#2YgWL6QD5r(I+c-Go^dL6&7UO`<}{Qd6O*Y?4`7 zYUn)G&e^Y~jWrvaHUE}{S!#Rxs*8}ai(dG6FJ5@Q_xX7d`b)i1DEOwRs1&_O)T|E< z*6Ku}=Q=;XR)a)xXh1HPI*N)o=wD?B3ro`y#1zBlKh+6^=U6YV<1C+l0rv;2j}L2# ziOF`URNN&2OwrLBbrf|}9~9(gii{)-At7A64T(F&3Itggq}wc$ZCDb(x^=5yI4Oz$ zw;2W?et=*~cMM{&Kl-0CN~PYcuWv2hG88ULMkm#rZ5nT|tlc@#WKx<0d`!baF*3#7D4LzT84S}j59U81c%upMEQ~7w z+)5bjQp{;oA$RGjpv!bsi1!ZwOGXA43w%N!7zWPhaFmn45fbkH!E_%W_=9{b6;V~ zrUPe7B7Atk1((JbhOPBTgeK3n_jEPyz3WXi|fPf>$urLxa<)M~G_Zp$H zvJ#w5Cp0!RfL-?xKHL+-w=W1B2ITHMD^)NRavt_R1*_kRf8TA4j1>G7L|+}z;d<2p zy}i9qQc?nHwHhYgJHe&i1Te_~ml-Y4>Eg8E(gMo6$U5mqKzQii=(;wTs4c$14fZQqVU2dg7SUHzrs#;h7} zSXr?3U4W_kGI&!%d}b6ukIZqgr*OQBnPtoJ@CJ(ysY{8ZwiD=qrAARc)|tzU_hd|s z-i>!#s=YnWGJRSH6B5!)Qt8e?xjYN2zt$WZyEs)ndohgy#A6O1&OkBgWjPl}u|=Fj u$7wYFat&37<9Z8ozl}jsC+q9~IOFf6V0@K6?v)_`0000WFU8GbZ8({Xk{QrNlj4iWF>9@00RO^L_t(I%Z1WkXj^p@ z2k`It{qCRKBsa^FktSVNCv&ZW49kSI`XZD$r~?Or?9W4`k7K@6@Xd!kh;*P+7>L6+ zH&KT^lrf4gE@+)o+qILf>!vN8u}RZqYm(;PB=`P)$0xyQVBg1c4j&GjL+Fsj!9hDL zmtRtwo1>7jkCjqTswf<1+Q?=vZ98;mwP#|20f0II^F2MU1jXWKWEgY8G-o&r>tIfU zs1H(hnYrA1nUg2K?iwH0Mkhenwvw^f`(##IGAKqOArXWZc=FYi*gTccwkHa4=k7 ze+SH;i)8ZbzCs~1z#*VkVJ%(5xuNfnN>{-l;p4$E*tY@Rqk$Ui_?6TiuQYo?`~HVU zDwW^2vcdphsE7A&Xz#8s)p|7kTN`?fpnV{|QH1D~&@~Qgc`MRdUVed_%>|P3hv&*= z{^z6yl)4hh6KdWyC zCI1?e_QW<~v7K1yQ2BSm->dob+4hS5MY`@CGncy+*}Iqj4G;iSFMvc0J0WpcCNKad zv{oXk>z_njf3f`(gcL?H`Dyp*(^Kiu(MN#40SmlhjouiJ7ytkO07*qoM6N<$f@x2x AuK)l5 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/jabberbulb-closed.png b/gajim/data/icons/hicolor/16x16/status/jabberbulb-closed.png new file mode 100644 index 0000000000000000000000000000000000000000..2cff0d6fcfe87811db753981b6457e8a957c4f79 GIT binary patch literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)J!2%>%=H$-?QcOwS?k)`f+xyS#2l6-zJR*x3 z7`TN%nDNrxx<5cc_7YEDSN3a6jJ(Vo&mU@<0)?tQT^vI=uIrxNn9JlS((>^A+81o$ z2|Ia(xNb~UcIuvT!P4rjS;2L7(+LwTOZoc~^ykEXK7Yi$?&7&-mxs|`whB3U`iuXH z3fB5iG_`hhnooV+m$hOXFYm8^qv|7YDS6uR51O|W&mI@fmE0YjdHTlmdY5Q7r9RIs czd4qeABxdnPubbs40HyAr>mdKI;Vst07`#Tx&QzG literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/jabberbulb-connecting.png b/gajim/data/icons/hicolor/16x16/status/jabberbulb-connecting.png new file mode 100644 index 0000000000000000000000000000000000000000..9801f62e93212c722b291fd1cd2e1b602ded3905 GIT binary patch literal 916 zcmV;F18e+=P)V;Q$C0r1rcP3tVqX{>fh%te9MTkVQkhl$z&A0{D!B*OhwUw>w*V>+b?DU+|^YcnW zl;`?=^W40z#D7o@U7Q#n?LPO$s{^Nc4|eoQl0>#p-ddRd?e6@{^(%IDW1i>JuN^-7 zn>mp$ zHbkya7r8=RRI8R)PdCKm)Wz$71|S23hNdok@%g3mU17Mt66de&B3oG~Ht3CDz&19m)-Gdo)G{yJ$8IN|hRh zVWKD=8Vw7NTV}ho@965%?Hls`!O8dAB1hiaNUr1c1t?Zqv}r2uPL2}n@Z!}pG}VKu zsu+fiX||~72K7CU7F}E2QT&mYP7n2Tu$|F~r^O?{Zuv^e_WK7G!v}|%k zowaxtA>4HLjvki}k565AYjWb?u~&vsWs~LAP0~9J{#Z`)`(lEiUt_5M0D7&7Z9{A$ z$Mo!dGQ~aeyScI=5KXJq!a?H1Yh$d%pYY547TZ}LGxK`{+PzGS4kkjUe)rD@xV0c&&5foiD6$L35y&nVyOjo}Wzo|a#C8<)d@PY!zI;jo zP<=gT#!i3ovngbs>J}(28P%;ID=rXVG%cEzjqNxXChTN$jvo8|9M;Z{GC<3!CQJEb zD%>;n=0M*Ip59JBonar5kdJVOmr%e*FyOWFU8GbZ8({Xk{QrNlj4iWF>9@00PHJL_t(I%binQNK;`L z{`O;Yb31c$o8~s%+|=2HErgh)G=#9|!V48NqKgzE@S>X-X;?w%MYfjxED!~~7(!`d zAbPdD(Z0f+vvZ~k%Se_t5#>J&;e21O?jl4j=)HM(zw>_2d7t-rKZK5mj~)&%)ZI~}8xV7kZ+g5!(3Hn>`7R%*%ne10gp@?#7^+Ps0yN6XMo&Zj< zIXP^?>1_V)_e+l@NH`o9Ifm(u8w}cn-7e$v^QF*@9FSp^%0?iWS#Y_|A4~A1rA4{q z^(v0~1_ZJ_5|A{(n@qXre?qX?RIElb2wgV+vlx$EIdt~5tqsLZrgoNLULJojau?yj z>XSHFaRv|7oSMAk*ZfKCgfbYfg@?M~~2%TQ4t>x0;Fd-OIGCNE6a0l|a`m<}} z7noN3%vOW_j34(aRjJNSBor5)0w*|d=p0(GTKRNO4kdP>k=#$Ir`>sh@`2BlA$3=wznx+UZ&#aCQWyD)2+fn z3VKC6>@AA*yR*RidYFC~{(eoc+m-wJQ!156ppZBmltiPH5JGn&5xS<)&^3hU2ZThp z=w7O;b8)%3qw{jP7aaJr$}3PHs#KKp^-;3EPDv=VkGs9SG_6$97(#?Mo9~17*I|`? zu-@_mcFjp7{EkjXNH9oAR~IE(Z3ZFV(CO%eT>fLBqT&Ip_wCq;6K&AJ!G|;oF1&+@ z?v#}g;&NrA0B)3)(n*abHEuR{CTzB=Nw>QZre6(YhnMELL{d3zG{zGym&liwiyYu< tlPNi=(*DP-q@h(WqbVy%JG;{BSrh=lnDO z%={uM#zf*ii>y2oc`0|p@K)qgtH|q%h)?AH7m<&2bnw^VIH?fv-bS7l@#FOpbUIIK zM7s3oSCLiRZU_WmYm0#09;v#X#4xLo8yaALA9i*)%F5!2_RlRc8p_Fml@-|Bgym%d zHrwSShBq47<%0Ef*w}#CS+-54aJERD{zH|mgfcT>Y6_N?^gEQE9#LOgr$pXSPyh=H zu($}_-F%CS3qBC3y`oXAsDzV~p}if3hoP;Fh}jHwI}8k*pNa~$V`8q8qfiH<1TB_R zDl4I}5o&6nt`15|K~?x&BycM^3RSjp_~_B8R*kAEC@chZU_VW!P^#YT-MBZGmi9j4 za-HebtE-``42p{Qlb3f;XEb{5G|7V1>Zhp*y1KyUJMUY&we^*kb68jy@gyYN=o7;S zo6WBihlXHs66WXGYiT(M_w}7IIttCrdP_&e#gXR3#4AZ+{2IBl6Gld0ZVpyg`O(u8 zw5iK^YO(l^CMIBf{Cu!#OGi#;#2ZzzX0g?y1DBSSeJ8v~CAN=o>hpZ_m6Hnv`W zY)wfSMy>EmQNlNoFDubh?A6vDJdBc~aGTA_wct%YF`HjJj*q`s=YK~jU+6lZOqBot N002ovPDHLkV1h&&JIeq7 literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/jabberbulb-event.png b/gajim/data/icons/hicolor/16x16/status/jabberbulb-event.png new file mode 100644 index 0000000000000000000000000000000000000000..3bd582cc8d10221a90e7bea9f5f1f45228eea821 GIT binary patch literal 528 zcmV+r0`L8aP)6LAoLzh8Eai8I58U5nTik(KsIJ&hB;sVCPxB?E7`j&Q4Ka z$#pN>JRXm69G7}MV0v){z!<||aLnn+38IS5iJ~Ye%94Kn3&xmpX=R!;n`^}JH;#@D zu`C-^MMO|lj4>P!`V5C(X*3!$SDgz)gm(KnS(@_x;2n8=mAIP$lwdPes z{9^ZeAc=PrZ054y^Ak9*2t4di;5YhR9q9_QX9#+NT*3H{^p2z;pJ8?cK_ZIE{xBLR4$m70i S`}Yq30000HdJ)^&oApvCh~UAS zH~$66u4!@#g<22<@8+Z@DaM1BNTCLW5Cy3Le}ETDKt&|Qkj-{y=Xuy|Nzw)jeZw%k zVZPt@eczc;BEm_+9^WXJ%dXaX?Y}_V_9~UieMDqrdY&h~?~5^J;_P<2;(4Bk$YBKl znM?-X_YaZpx0}o5Mq9YI;<^~?Kz6ZMJW}@JwX4j}U18X_Sb?$D?zlHNKXnO^cu2hN z=k4FG*m$_b?B%(mO+0sIhSe{#45Gg%6iO)+3Q#zwa<~`XutAIQTO08}n*c3?I2k%; zB*G*>$8jbTObSa`2qp&DHqB;pFO^EQ0IcH>q?B_&kWQ!RbUM1;j~h!853Bh^6u?+;pS2)v%T|LO6w(MOk7c^ z*w847FiNj98jZ*KeEv~3o4qa~Pi=s`fqwa8=g-~d=X&(w$>#2-_SdCat@b@B9|0N& zflx#u;FjyU3jiv4zB86(wY3VKeQ13w)a&)##2=FYbpqDo{@4JH<8*=`SX^Iyuyq_$ eheMt8JO2afK?XvU;zQB^0000igP)%%@dty!XGA2|zVAyEMUrLN&ED_#;`_dc$h86hV+>IgU6DW9tyZgf3q{%8 zZueQ)&1REEqrqiv4uG}xuHWxdE|+h54#SWj2&mWV`7ADF9}Wiqlv26YTH|>h0L884 zGPt$UEX$tGl}hC{!Q;iE0;SX+fa9=OEPlDJ`}4mQToRN@CAQnG4a2aVBZ%V|V+^kA zVvM;WJ06b!j7FpAbUIa%BzdKjS~zD}gZX^kZnauwx7*2ZI8;SDX_}&x`ZSx(zSL^9 zd(ZRUi^x|8APmFro6Y9qdc97^Iy=_0sSB8{F0G@t4pPmH+?% M07*qoM6N<$f<}Sn%m4rY literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/jabberbulb-notinroster.png b/gajim/data/icons/hicolor/16x16/status/jabberbulb-notinroster.png new file mode 100644 index 0000000000000000000000000000000000000000..d705d2a40532c6a010149501181d755268899fbc GIT binary patch literal 877 zcmV-z1CsoSP)WFU8GbZ8({Xk{QrNlj4iWF>9@00PlTL_t(I%VS``0(7Tvk^0IM2sdeL+No|FWVY^F?uSCZKCr zfHdDZPR?MUAqTE#XxQU4;BG_&=S>F(c5HG$1DHXE0KK&CqL`Qf13BQ5f&$k$Uf$V2 zSB4T)d}2iuhS>e&WQGf3VkzhN_-5eNxT&7u#B58+6Vo*fPt3L9J~7*v_ryGix6iV& zGF+0CjRc0vCWb8x3`!UE^|wqC7k5TBV2zS|+yO_G`@3qm)}ELkw&KJDk?AKUh;xDD zZu|Q)0Ry<l$4$|aC5tZ!(*O<+}R!jR$$z_14DlU(Dt}Xii(^lfwn?XvFfj< z=fD46UjM)9>;GOSCAAyq$EiSt#z2h*H=Ud`&I<@EI>W-^0E_|Dq`cG8GWv5;(#wBk zW&gkDgqEtN=da|l$LG;#(fenDVGD2Hw%j9y(T8npVQJ_{O#@i zcdw@AdcTE5%G=V?ryxV#T3CEOAS=7(il$}@FnL#=Wn)VQx&YPoQ;v@7|J2t0x!2r$ zwaUW61{@3S?wPNXlfV6RbNjnZLu2D*1%;Sv1_r^v(6 zi9O89Vq9r!8@tWS?D&3O-i<)NuLT<7`F7z#jBE@54eS`=to|)b00000NkvXXu0mjf DPOYVx literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/jabberbulb-offline.png b/gajim/data/icons/hicolor/16x16/status/jabberbulb-offline.png new file mode 100644 index 0000000000000000000000000000000000000000..7dfb587a7b30d571fb274485e2d16457766a8b7d GIT binary patch literal 660 zcmV;F0&D$=P)WFU8GbZ8({Xk{QrNlj4iWF>9@00H<(L_t(I%VS``0%QfP z*+qG@+y%LmmI-nxp8?V*1-O(p2yv^HO7WX2_*vI6GT;Nk-0I%^oO18@Ipy~Wa4L2S za4OUR@kAir4#elgcy&Va<7YDAGytf;1E{eYXfr?1CCoxxDoj8&3y|gm8W0S`2gG^x z>~R{PFO$HjDD1?JO%AA;8Egob(mJ4l0u1B;psTomE}RX-p#&AD%`3wYGgr=F0NS1c zG++i!jg_lA82oz^Bt1H!41*>lbNltg^M*`H1Iqyem_dX`BN7-cn{XNsHYuIet|4%q zb-mv*$L5d~_KiW)fixFLPE#TX6sQeAJPoG-K%3cY>jPFfwS<~Dw}#mO*?m@ZzFY<+ z&OqBWwSWP69vBwZI1PxNp2O(c8mD?La>Y02NFI+AWFU8GbZ8({Xk{QrNlj4iWF>9@00JpVL_t(I%VS``0(7Tvk^0IM2sdeL+No|FWVY^F?uSCZKCr zfHdDZPR?MUAqTE#XxQU4;BG_&=S>F(c5HG$1DHXE0KK&CqL`Qf13BQ5f&$k$Uf$V2 zSB4T)d}2iuhS>e&WQGf3VkzhN_-5eNxT&7u#B58+6Vo*fPt3L9J~7*v_ryGix6iV& zGF+0CjRc0vCfo+hb7VcyFFfx=FVC_Q6U0`Wm>@F!!~}6Jklby5eDp{3`uJC!m@H>y85qZYPJBA zcjZ|&wq&3S7zrA1%iUcEn4z`+HKkoMH1xi#pb&G-z#teH`j$Y$2q)EtSy_xX9UbK_ rN=jA$lj~}r-`4^S@qD{*A%^V$a8|xA&jf59DzcctjR6 zFmMZlFeAgPIT9fCC7!;n?AMqWd6~ttUaA}b3e|YJIEHXs*X`XX*yJGMa=*)U#_gtQ z2WMC%pHrV|r!wWC)CDU8!wVfs84bI?2;X^|mS0|W)ry0i#X>1t->PUz;JTOWFU8GbZ8({Xk{QrNlj4iWF>9@00Q1gL_t(I%VS``0z~xf z*!dK+-MJ+dm+?reoZ*&KI>{*}w*km571A_Quu808WWWb_dbeiv|XdF51}qJ!xq8XuY6duZws5O2f#4Wu~zuD@pX|Bt(O|NnaM;QyF#ZrP;O%s zRoG_`p3kKhn#%x;87)o`>GOQ@TGk9lSy;N>hll_9v3&Xezb{|@|F?1D|KIoS{r`9Q z^8aVCv47{VbM%?Vm(>_Y7g^|pWHSMy*ccdqJAhGK#Vf1E!f=6)@9}Sc|Np;hYybb7 zIPw2CKfnK94j=yiYvs!SA0;LKuV-R?VMo$U*_QW z`&U}}|34u9EhqQ?^O`mPe*q2nsH*z^Jp;r4Ees5Q1yv0Uq|DqjfN{TwT|mqM=zl~~ zKE=TB_%|ct|Gz-|Sw!UjpX=BE{{m|M0o42zh!-+4ed3W(Z3M=B5-@3(17m;%CAu~< zFm%0UXaDn$i|hY4F|q$2CQbVPS4!$Xi2snC{a-RC&lv$#!xjN${Ys$bWOhMu)QmI- z7z;Z%IQG7jmj3h2((?arp!0v)+5LYgE&Z>bo9DWLtXjOFqIQh1mPIho6_x^O#+Zp_ z0x%uSXJ_x;DlGhHm#pmHwLrRwn`fq?m~1;R#8(4T+*$zzEziu(xft0P0QM{RZOCVl Q>;M1&07*qoM6N<$g5!dq?f?J) literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/jabberbulb-xa.png b/gajim/data/icons/hicolor/16x16/status/jabberbulb-xa.png new file mode 100644 index 0000000000000000000000000000000000000000..61b8ade70e867d9c97969ea29e5bc208cf4f2c53 GIT binary patch literal 895 zcmV-_1AzRAP)WFU8GbZ8({Xk{QrNlj4iWF>9@00QGlL_t(I%VS``0(7Tvk^0IM2sdeL+No|FWVY^F?uSCZKCr zfHdDZPR?MUAqTE#XxQU4;BG_&=S>F(c5HG$1DHXE0KK&CqL`Qf13BQ5f&$k$Uf$V2 zSB5f>3oeL>rJUpAn}Ju+iP@HtC#Gu}o|tRHePXsTFN!N|U*@+2aD^5%hnSNq|I2TC$ZGV3zU;sB<5Eh=s zz$$1U5>T;a%iR4hf1Q2!_5bCk-~S)I^Ywqrs{22Za!cjVPSB|Uvv53t#AKtz5DzB!Hs+WFYP?| zfAy{h|Ia`B^?%;ckN;(Srmj0N&q3~Nj{z$%?%jc*zX51_+$BXtPO$%dYxaD+_2T>g zTMs||U%uwb|Jt6z|DV18`TzCTzhJLeM9;he)M#+i$w}k9fWV?NEG!Pd7(gUt`>X}W zuK+dw{PpMm_aDFi|9JWA|KHb7|Ns2`_y7K@AO8D#*Ic_OE!_x=`y^meE(a!W7L=&c z@~cjtwB^qCcb|X#|NHmf|9^k~{QqpK_TXvfk7}Z z^ewTc7-mjx^MJgVsPb8x(wmo^4yl;C*4H&Q^PsqREik#R2Ks$1&=AkJ3m0N!V*pER VTLoZQ_No8?002ovPDHLkV1nXgz%Bp) literal 0 HcmV?d00001 diff --git a/gajim/data/icons/hicolor/16x16/status/mood-afraid.png b/gajim/data/icons/hicolor/16x16/status/mood-afraid.png new file mode 100644 index 0000000000000000000000000000000000000000..9b2e2aa25182a1fbcf4fbfc67f0dbf162a0fa2fa GIT binary patch literal 984 zcmV;}11J26P)WdPUmATc)}|Lx)+GB7YWATl#LF*Q0cI3O!9GcYj7O3k4F000McNliru z*a{d7J2DX46z>24010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00S^d zL_t(|+Fg@fOq*30$A719X`!^h#>?CY<7->?MJD6I$Q;JF#6+_TW{i@>8@yN~oAW|V z=5#aL{FoP8f>C4iV(Kyt2}JE?*2HWK5ZpvZWg`ZGt^zeU+EPke-t~jy>B~T}fAT*k z=bY#JJdef-E11NqPZ3a~EMNZC-exX}@J;)R#Q{;n^!c_g;Ty z*>l~_9q*40-<0WlVVOxr6=&t=pS~--?Lx}iLcZ40Ak#+Byw9Yf^1}Hq=CjdebuHPY zpukmIQC_CPu^@z|;jww_K$1bq6vzx+ z*S_P?T`K$hwX7|fC#p+ZX5HfUA$gjUVBOgQ} zk&v$(d|r-UQ*!-^SA~3hI~`W19VhCmOlIKlNeCr>LTGD9CX>WsF@nJ$fk1$so&n|p zaPG*WtTPv<_1_48$78Bic`zFWPq!o#@!;`z%nIv5P^xJRrqia6bV4mDK~^Ua!e_ZN zjr*5Bl|7aJ#jDDDWU)7zbe(U@%Q@t7k^S(N!b0F1NZ+i@O0dYBXM zwGxR$OfJFi_fvbLm!gSd^mz$-?{G4!yEF^z*+P5E9?=+eY}Ll?Ph-#5(RF>WdPUmATc)}|Lx)+GB7YWATl#LFflqYF(4~2GcYh&9rsoM000McNliru z*a{d80V`132w?yK010qNS#tmY3lRVS3lRZ-WM7d0000DMK}|sb0I`n?{9y$E00SOL zL_t(|+I5p{NYq&r#(#Haa?~_!)EcuU%Z;otl!`)1%2m@uMAP1=ZG{aM+Fe?RtuH}E zMG3uH(C(LBh$t!YOCk13M4(&dSY}S@FurZ$%-HB?rp)B+j;1WVTzLM6d(Qtk_ug}! zBlvnnB`2^iSkHp^8HD-#(COse;1G=sHukFcFyC8gN&K;+5PM67kn)8>qe9b|wOki+ z>sqX7$rOE)yk;>K56Z-_tP|2*qeyKE|0y^=+rZu`

}W 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